emoslib-000392+dfsg.1/0000755000175000017500000000000012127406322015452 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/grib_api_merging/0000755000175000017500000000000012127406245020742 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/grib_api_merging/intvect2.c0000755000175000017500000002625512127406245022661 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "grib_api.h" #include "emos.h" fortint intvect2_(char* u_grib_in, char* v_grib_in, fortint* length_in, char* u_grib_out, char* v_grib_out, fortint* length_out) { static double *u_values_in = NULL; static double *v_values_in = NULL; static double *u_values_out = NULL; static double *v_values_out = NULL; static size_t values_in_len = 0; static size_t values_out_len = 0; fortint out_length = 0; static float *u_values_in1 = NULL; static float *v_values_in1 = NULL; static float *u_values_out1 = NULL; static float *v_values_out1 = NULL; static size_t values_in_len1 = 0; static size_t values_out_len1 = 0; grib_handle* hu = NULL; grib_handle* hv = NULL; long long_inlen = *length_in; long ii = 0; size_t inlen; size_t outlen = *length_out; size_t outlen1 = *length_out; fortint fortint_inlen = *length_in; fortint fortint_outlen = outlen; grib_handle *handle1 = NULL, *handle2 = NULL; grib_handle *outh_u = NULL, *outh_v = NULL; int err = 0; int grib_err = 0; long accuracy = 0; fortint intv[4]; fortfloat realv[4]; char *text = ""; const void* temp1; const void* temp2; char *intf2_debug; char *intf2_write ; fortint outputRepresentation; int gribex_compatibility; grib_util_grid_spec spec={0,}; grib_util_packing_spec packing_spec={0,}; gribex_compatibility=grib_get_gribex_mode(0); intf2_debug = getenv("INTF2_DEBUG"); intf2_write = getenv("INTF2_WRITE_TO_FILE"); outputRepresentation = int2_outrep(); if(outputRepresentation) if(intf2_debug) { printf("INTVECT2: Output Representation is Not set by user\n"); } handle1 = grib_handle_new_from_message_copy(0,u_grib_in,long_inlen); if(!handle1) { err = -1; goto cleanup; } handle2 = grib_handle_new_from_message_copy(0,v_grib_in,long_inlen); if(!handle2) { err = -1; goto cleanup; } /* -------------------------------------------- */ if( err = grib_get_size(handle1,"values",&inlen)) { fprintf(stderr,"INTVECT2: Cannot get size for U %s\n",grib_get_error_message(err)); return err; } if(intf2_debug) { printf("INTVECT2: inlen for U: %d \n",inlen); } if( err = grib_get_size(handle2,"values",&inlen)) { fprintf(stderr,"INTVECT2: Cannot get size for V %s\n",grib_get_error_message(err)); return err; } if(intf2_debug) { printf("INTVECT2: inlen for V: %d \n",inlen); } if(inlen > values_in_len) { if(u_values_in) free(u_values_in); u_values_in = (double*)malloc(sizeof(double)*inlen); values_in_len = inlen; if(!u_values_in) { err = -1; fprintf(stderr,"INTVECT2: Cannot allocate input array for U %d\n",inlen); goto cleanup; } if(v_values_in) free(v_values_in); v_values_in = (double*)malloc(sizeof(double)*inlen); if(!v_values_in) { err = -1; fprintf(stderr,"INTVECT2: Cannot allocate input array for V %d\n",inlen); goto cleanup; } } /* -------------------------------------------- */ /* Default Accuracy */ /* if((err = grib_get_long(handle1,"bitsPerValue",&accuracy))!= GRIB_SUCCESS) { fprintf(stderr,"INTVECT2: Cannot get accuracy %s\n",grib_get_error_message(err)); return err; } intv[0] = accuracy; if(err = int2_intin("accuracy",intv,realv,text)) { fprintf(stderr,"INTVECT2: Accuracy setup INTIN failed %d\n",err); } if(intf2_debug) { printf("INTVECT2: Input Accuracy %d \n",accuracy); } */ /* -------------------------------------------- */ /* Get decoded U values */ if(err = grib_get_double_array(handle1,"values",u_values_in,&inlen)) { fprintf(stderr,"INTVECT2: Cannot get decoded values %s\n",grib_get_error_message(err)); goto cleanup; } if(err = describe_input_field(handle1,outputRepresentation)) { fprintf(stderr,"INTVECT2: describe_input_field failed : %d\n",err); goto cleanup; } /* Get decoded V values */ if(err = grib_get_double_array(handle2,"values",v_values_in,&inlen)) { fprintf(stderr,"INTVECT2: Cannot get decoded values %s\n",grib_get_error_message(err)); goto cleanup; } if(err = describe_input_field(handle2,outputRepresentation)) { fprintf(stderr,"INTVECT2 describe_input_field failed : %d\n",err); goto cleanup; } /*============= INTVECY ====================================*/ if(outputRepresentation){ out_length = inlen; } else{ out_length = int2_estima(); if(!out_length){ fprintf(stdout,"INTVECT2: Estimate for length of output array is 0 \n"); err = -1; goto cleanup; } } if(out_length > values_out_len) { if(intf2_debug) { printf("INTVECT2:----------------- length for malloc %d\n",out_length); } if(u_values_out) free(u_values_out); u_values_out = (double*)malloc(sizeof(double)*out_length); values_out_len = out_length; if(!u_values_out) { fprintf(stderr,"INTVECT2: Cannot allocate u_values_out %d\n",out_length); err = -1; goto cleanup; } if(v_values_out) free(v_values_out); v_values_out = (double*)malloc(sizeof(double)*out_length); if(!v_values_out) { fprintf(stderr,"INTVECT2: Cannot allocate v_values_out %d\n",out_length); err = -1; goto cleanup; } } fortint_inlen = inlen; fortint_outlen = outlen; #ifdef REAL_8 if(err = int2_intvecy(u_values_in,v_values_in,fortint_inlen,u_values_out,v_values_out,&fortint_outlen)) { fprintf(stderr,"INTVECT2 failed %d\n",err); goto cleanup; } #else if(inlen > values_in_len1) { if(u_values_in1) free(u_values_in1); u_values_in1 = (float*)malloc(sizeof(float)*inlen); values_in_len1 = inlen; if(!u_values_in1) { err = -1; fprintf(stdout,"INTVECT2: Cannot allocate u_values_in1 %ld\n",inlen); goto cleanup; } if(v_values_in1) free(v_values_in1); v_values_in1 = (float*)malloc(sizeof(float)*inlen); if(!v_values_in1) { err = -1; fprintf(stderr,"INTVECT2: Cannot allocate input array for v_values_in1 %d\n",inlen); goto cleanup; } } if(out_length > values_out_len1) { if(u_values_out1) free(u_values_out1); u_values_out1 = (float*)malloc(sizeof(float)*out_length); values_out_len1 = out_length; if(!u_values_out1) { fprintf(stdout,"INTVECT2: Cannot allocate u_values_out1 %ld\n",out_length); err = -1; goto cleanup; } if(v_values_out1) free(v_values_out1); v_values_out1 = (float*)malloc(sizeof(float)*out_length); if(!v_values_out1) { fprintf(stdout,"INTVECT2: Cannot allocate v_values_out1 %ld\n",out_length); err = -1; goto cleanup; } } for( ii = 0 ; ii < fortint_inlen; ii++){ u_values_in1[ii] = u_values_in[ii]; } for( ii = 0 ; ii < fortint_inlen; ii++){ v_values_in1[ii] = v_values_in[ii]; } if(err = int2_intvecy(u_values_in1,v_values_in1,fortint_inlen,u_values_out1,v_values_out1,&fortint_outlen)) { fprintf(stderr,"INTVECT2 failed %d\n",err); goto cleanup; } for( ii = 0 ; ii < fortint_outlen; ii++){ u_values_out[ii] = u_values_out1[ii]; } for( ii = 0 ; ii < fortint_outlen; ii++){ v_values_out[ii] = v_values_out1[ii]; } #endif *length_out = fortint_outlen; outlen = fortint_outlen; if(intf2_debug) { printf("INTVECT2: outlen: %d \n",outlen); } if(outlen) { if(intf2_debug) { int i; for(i = 0; i < 10 ; i++){ printf("INTVECT2: output data values - %d - %f \n",i,u_values_out[i]); printf("INTVECT2: output data values - %d - %f \n",i,v_values_out[i]); } } err=copy_spec_from_ksec(&spec,&packing_spec); if (err) { fprintf(stdout,"INTVECT2: ERROR - copy_grid_spec_from_ksec unable to copy spec: %d\n", err); goto cleanup; } packing_spec.accuracy=GRIB_UTIL_ACCURACY_USE_PROVIDED_BITS_PER_VALUES; packing_spec.packing=GRIB_UTIL_PACKING_USE_PROVIDED; /* if(err = set_grid_data_description(handle1,&jpeg,edition)) { fprintf(stderr,"INTVECT2 set_grid_data_description failed : %d\n",err); goto cleanup; } if(err = grib_set_long(handle1,"uvRelativeToGrid",1)) { fprintf(stderr,"INTVECT2: Cannot Set uvRelativeToGrid %s\n",grib_get_error_message(err)); goto cleanup; } if(err = set_grid_data_description(handle2,&jpeg,edition)) { fprintf(stderr,"INTVECT2 set_grid_data_description failed : %d\n",err); goto cleanup; } if(err = grib_set_long(handle2,"uvRelativeToGrid",1)) { fprintf(stderr,"INTVECT2: Cannot Set uvRelativeToGrid %s\n",grib_get_error_message(err)); goto cleanup; } */ hu = grib_util_set_spec(handle1,&spec, &packing_spec, 0, u_values_out, outlen, &err); if(!hu) { fprintf(stdout,"INTVECT2: ERROR - grib_util_set_spec: %d\n", err); if(!err) err = 1; goto cleanup; } if(err = grib_set_long(hu,"uvRelativeToGrid",1)) { fprintf(stderr,"INTVECT2: Cannot Set uvRelativeToGrid %s\n",grib_get_error_message(err)); goto cleanup; } hv = grib_util_set_spec(handle2,&spec, &packing_spec, 0, v_values_out, outlen, &err); if(!hv) { fprintf(stdout,"INTVECT2: ERROR - grib_util_set_spec: %d\n", err); if(!err) err = 1; goto cleanup; } if(err = grib_set_long(hv,"uvRelativeToGrid",1)) { fprintf(stderr,"INTVECT2: Cannot Set uvRelativeToGrid %s\n",grib_get_error_message(err)); goto cleanup; } grib_get_message(hu,&temp1,&outlen); if(temp1) { if(intf2_debug) { printf("INTVECT2: outlen u-comp -> %d \n", outlen); } memcpy(u_grib_out,temp1,outlen); } else fprintf(stderr,"INTUVP2: Error u-comp \n"); outlen = *length_out; grib_get_message(hv,&temp2,&outlen); if(temp2) { if(intf2_debug) { printf("INTUVP2: outlen v-comp -> %d \n", outlen); } memcpy(v_grib_out,temp2,outlen); } else fprintf(stderr,"INTUVP2: Error v-comp \n"); *length_out = outlen; goto cleanup; } else { fprintf(stderr,"INTVECT2: ERROR - INTVECT2 OUTLEN is: %d\n", outlen); err = 1; } cleanup: if(hu && (hu != handle1)) grib_handle_delete(hu); if(hv && (hv != handle2)) grib_handle_delete(hv); if(handle1) grib_handle_delete(handle1); if(handle2) grib_handle_delete(handle2); return err; } fortint intvect2(char* u_grib_in, char* v_grib_in, fortint* length_in, char* u_grib_out, char* v_grib_out, fortint* length_out ) { return intvect2_(u_grib_in,v_grib_in,length_in,u_grib_out,v_grib_out,length_out); } emoslib-000392+dfsg.1/grib_api_merging/intuvs2.c0000755000175000017500000003453212127406245022532 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "grib_api.h" #include "emos.h" fortint intuvs2_(char* vort_grib_in, char* div_grib_in, fortint* length_in, char* vort_grib_out, char* div_grib_out, fortint* length_out) { static double *vort_values_in = NULL; static double *div_values_in = NULL; static double *vort_values_out = NULL; static double *div_values_out = NULL; static size_t values_in_len = 0; static size_t values_out_len = 0; static float *vort_values_in1 = NULL; static float *div_values_in1 = NULL; static float *vort_values_out1 = NULL; static float *div_values_out1 = NULL; static size_t values_in_len1 = 0; static size_t values_out_len1 = 0; long ii = 0; long long_inlen = *length_in; size_t inlen; size_t outlen = *length_out; fortint out_length = 0; fortint fortint_inlen = *length_in; fortint fortint_outlen = outlen; int jpeg = 0, resetOutput = 0;; char *text = ""; char *complex_switch = getenv("COMPLIANT_UV_SPECTRAL_COMPLEX"); fortint intv[4]; fortfloat realv[4]; long truncation, inputTrunc; grib_handle *handle1, *handle2; int err = 0; long edition = 1; const void* temp1; const void* temp2; char *intf2_debug = getenv("INTF2_DEBUG"); char packing_type[]="spectral_complex"; size_t size_pack=sizeof(packing_type); fortint outputRepresentation = int2_outrep(); if(outputRepresentation) if(intf2_debug) { printf("INTUVS2: Output Representation is Not set by user\n"); } handle1 = grib_handle_new_from_message_copy(0,vort_grib_in,long_inlen); if(!handle1) { err = -1; goto cleanup; } handle2 = grib_handle_new_from_message_copy(0,div_grib_in,long_inlen); if(!handle2) { err = -1; goto cleanup; } if(err =grib_get_long(handle1,"pentagonalResolutionParameterJ",&inputTrunc)) { fprintf(stderr,"INTUVS2: Cannot get Truncation %s\n",grib_get_error_message(err)); goto cleanup; } /*----------------------------------*/ if( err = grib_get_size(handle1,"values",&inlen)) { fprintf(stderr,"INTUVS2: Cannot get size for vorticity %s\n",grib_get_error_message(err)); goto cleanup; } if(intf2_debug) { printf("INTUVS2: inlen for vorticity: %d \n",inlen); } if(inlen > values_in_len) { if(vort_values_in) free(vort_values_in); vort_values_in = (double*)malloc(sizeof(double)*inlen); values_in_len = inlen; if(!vort_values_in) { err = -1; fprintf(stdout,"INTUVS2: Cannot allocate vort_values_in %ld\n",inlen); goto cleanup; } if(div_values_in) free(div_values_in); div_values_in = (double*)malloc(sizeof(double)*inlen); if(!div_values_in) { err = -1; fprintf(stderr,"INTUVS2: Cannot allocate input array for divergency %d\n",inlen); goto cleanup; } } /* if( err = grib_get_size(handle2,"values",&inlen)) { fprintf(stderr,"INTUVS2: Cannot get size for divergency %s\n",grib_get_error_message(err)); goto cleanup; } */ /* get edition */ if(err = grib_get_long(handle1,"edition", &edition)) { fprintf(stderr,"INTUVS2: Cannot get Edition %s\n",grib_get_error_message(err)); goto cleanup; } if(intf2_debug) { printf("INTUVS2: inlen for divergency: %d \n",inlen); } /*----------------------------------*/ /* Get decoded values vorticity */ if(err = grib_get_double_array(handle1,"values",vort_values_in,&inlen)) { fprintf(stderr,"INTUVS2: Cannot get decoded values %s\n",grib_get_error_message(err)); goto cleanup; } /* Get decoded values divergency */ if(err = grib_get_double_array(handle2,"values",div_values_in,&inlen)) { fprintf(stderr,"INTUVS2: Cannot get decoded values %s\n",grib_get_error_message(err)); goto cleanup; } /*----------------------------------*/ /* get Truncation */ if(err = grib_get_long(handle1,"pentagonalResolutionParameterJ", &truncation)) { fprintf(stderr,"INTUVS2: Cannot get Truncation %s\n",grib_get_error_message(err)); goto cleanup; } intv[0] = truncation; if(err = int2_intin("truncation",intv,realv,text)) { fprintf(stderr,"INTUVS2: Truncation setup INTIN failed %d\n",err); goto cleanup; } if(outputRepresentation) { if(err = int2_intout("truncation",intv,realv,text)) { fprintf(stderr,"INTUVS2: Truncation setup INTOUT failed %d\n",err); goto cleanup; } } /*============= INTUVY ====================================*/ out_length = inlen; if(out_length > values_out_len) { if(vort_values_out) free(vort_values_out); vort_values_out = (double*)malloc(sizeof(double)*out_length); values_out_len = out_length; if(!vort_values_out) { fprintf(stdout,"INTUVS2: Cannot allocate vort_values_out %ld\n",out_length); err = -1; goto cleanup; } if(div_values_out) free(div_values_out); div_values_out = (double*)malloc(sizeof(double)*out_length); if(!div_values_out) { fprintf(stdout,"INTUVS2: Cannot allocate div_values_out %ld\n",out_length); err = -1; goto cleanup; } } fortint_inlen = inlen; fortint_outlen = outlen; #ifdef REAL_8 if(err = int2_intuvy(vort_values_in, div_values_in, fortint_inlen, vort_values_out, div_values_out, &fortint_outlen)) { fprintf(stderr,"INTUVS failed %d\n",err); goto cleanup; } #else if(inlen > values_in_len1) { if(vort_values_in1) free(vort_values_in1); vort_values_in1 = (float*)malloc(sizeof(float)*inlen); values_in_len1 = inlen; if(!vort_values_in1) { err = -1; fprintf(stdout,"INTUVS2: Cannot allocate vort_values_in %ld\n",inlen); goto cleanup; } if(div_values_in1) free(div_values_in1); div_values_in1 = (float*)malloc(sizeof(float)*inlen); if(!div_values_in1) { err = -1; fprintf(stderr,"INTUVS2: Cannot allocate input array for divergency %d\n",inlen); goto cleanup; } } if(out_length > values_out_len1) { if(vort_values_out1) free(vort_values_out1); vort_values_out1 = (float*)malloc(sizeof(float)*out_length); values_out_len1 = out_length; if(!vort_values_out1) { fprintf(stdout,"INTUVS2: Cannot allocate vort_values_out %ld\n",out_length); err = -1; goto cleanup; } if(div_values_out1) free(div_values_out1); div_values_out1 = (float*)malloc(sizeof(float)*out_length); if(!div_values_out1) { fprintf(stdout,"INTUVS2: Cannot allocate div_values_out %ld\n",out_length); err = -1; goto cleanup; } } for( ii = 0 ; ii < fortint_inlen; ii++){ vort_values_in1[ii] = vort_values_in[ii]; } for( ii = 0 ; ii < fortint_inlen; ii++){ div_values_in1[ii] = div_values_in[ii]; } if(err = int2_intuvu(vort_values_in1, div_values_in1, fortint_inlen, vort_values_out1, div_values_out1, &fortint_outlen)) { fprintf(stderr,"INTUVS2 failed %d\n",err); goto cleanup; } for( ii = 0 ; ii < fortint_outlen; ii++){ vort_values_in[ii] = vort_values_in1[ii]; } for( ii = 0 ; ii < fortint_outlen; ii++){ div_values_in[ii] = div_values_in1[ii]; } #endif *length_out = fortint_outlen; outlen = fortint_outlen; if(intf2_debug) { int i; printf("INTUVS2: outlen: %d \n",outlen); for(i=0; i<10 ; i++) { printf("INTUVS2: output data values U - %d - %f \n",i,vort_values_out[i]); printf("INTUVS2: output data values V - %d - %f \n",i,div_values_out[i]); } } if(outlen) { int trunc = 0; /* U velocity*/ if(err =grib_set_string(handle1,"packingType",packing_type,&size_pack)) { fprintf(stderr,"INTUVS2: Cannot Set packing %s\n",grib_get_error_message(err)); goto cleanup; } if(!outputRepresentation) { trunc = int2_gettru(); if(trunc > inputTrunc){ printf("INTUVS2: Automatic resolution too high: %d \n Resolution reset to input resolution: %d\n",trunc,inputTrunc); trunc = inputTrunc; } else if(intf2_debug) printf("INTUVS2: trunc - %d \n",trunc); /* Set Truncation */ if(err =grib_set_long(handle1,"pentagonalResolutionParameterJ",trunc)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterJ %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle1,"pentagonalResolutionParameterK",trunc)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterK %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle1,"pentagonalResolutionParameterM",trunc)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterM %s\n",grib_get_error_message(err)); goto cleanup; } } if(complex_switch){ if(err =grib_set_long(handle1,"JS",20)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterJ %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle1,"KS",20)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterK %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle1,"MS",20)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterM %s\n",grib_get_error_message(err)); goto cleanup; } } if(err = grib_set_long(handle1,"paramId",131)) { fprintf(stderr,"INTUVS2: Cannot Set U parameter %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle1,"computeLaplacianOperator",1)) { fprintf(stderr,"INTUVS2: Cannot Set computeLaplacianOperator %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle1,"truncateLaplacian",1)) { fprintf(stderr,"INTUVS2: Cannot Set computeLaplacianOperator %s\n",grib_get_error_message(err)); goto cleanup; } if(edition == 1){ if(err =grib_set_long(handle1,"representationMode",2)) { fprintf(stderr,"INTUVS2: Cannot Set representationMode %s\n",grib_get_error_message(err)); goto cleanup; } } if(err = grib_set_double_array(handle1,"values",vort_values_out,outlen)) { fprintf(stderr,"INTUVS2: Error seting the double array vorticity : %s\n",grib_get_error_message(err)); goto cleanup; } grib_get_message(handle1,&temp1,&outlen); if(temp1) { if(intf2_debug) { printf("INTUVS2: outlen vorticity -> %d \n", outlen); } memcpy(vort_grib_out,temp1,outlen); } else fprintf(stderr,"INTUVS2: Error memcpy divergency \n"); *length_out = outlen; /* V velocity*/ if(err =grib_set_string(handle2,"packingType",packing_type,&size_pack)) { fprintf(stderr,"INTUVS2: Cannot Set packing %s\n",grib_get_error_message(err)); goto cleanup; } if(!outputRepresentation) { if(err =grib_set_long(handle2,"pentagonalResolutionParameterJ",trunc)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterJ %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle2,"pentagonalResolutionParameterK",trunc)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterK %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle2,"pentagonalResolutionParameterM",trunc)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterM %s\n",grib_get_error_message(err)); goto cleanup; } } if(complex_switch){ if(err =grib_set_long(handle2,"JS",20)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterJ %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle2,"KS",20)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterK %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle2,"MS",20)) { fprintf(stderr,"INTUVS2: Cannot Set pentagonalResolutionParameterM %s\n",grib_get_error_message(err)); goto cleanup; } } if(err = grib_set_long(handle2,"paramId",132)) { fprintf(stderr,"INTUVS2: Cannot Set V %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle2,"computeLaplacianOperator",1)) { fprintf(stderr,"INTUVS2: Cannot Set computeLaplacianOperator %s\n",grib_get_error_message(err)); goto cleanup; } if(err =grib_set_long(handle2,"truncateLaplacian",1)) { fprintf(stderr,"INTUVS2: Cannot Set computeLaplacianOperator %s\n",grib_get_error_message(err)); goto cleanup; } if(edition == 1){ if(err =grib_set_long(handle2,"representationMode",2)) { fprintf(stderr,"INTUVS2: Cannot Set representationMode %s\n",grib_get_error_message(err)); goto cleanup; } } outlen = fortint_outlen; if(err = grib_set_double_array(handle2,"values",div_values_out,outlen)) { fprintf(stderr,"INTUVS2: Error seting the double array divergency : %s\n",grib_get_error_message(err)); goto cleanup; } grib_get_message(handle2,&temp2,&outlen); if(temp2) { if(intf2_debug) { printf("INTUVS2: outlen divergency -> %d \n", outlen); } memcpy(div_grib_out,temp2,*length_out); } else fprintf(stderr,"INTUVS2: Error memcpy divergency \n"); *length_out = outlen; goto cleanup; } else { fprintf(stderr,"INTUVS2: ERROR - INTUVS2 OUTLEN is: %d\n", outlen); err = 1; } cleanup: if(resetOutput = int2_setrep(outputRepresentation)) printf("INTUVS2: Output Representation reset failed: %d \n",resetOutput); if(handle1) grib_handle_delete(handle1); if(handle2) grib_handle_delete(handle2); return err; } fortint intuvs2(char* vort_grib_in, char* div_grib_in, fortint* length_in, char* vort_grib_out, char* div_grib_out, fortint* length_out) { return intuvs2_(vort_grib_in,div_grib_in,length_in,vort_grib_out,div_grib_out,length_out); } emoslib-000392+dfsg.1/grib_api_merging/sources0000755000175000017500000000025412127406245022354 0ustar amckinstryamckinstry# # Sources for libemos/pbio for linux # SOURCES.c = \ copy_spec_from_ksec.c \ emos.c \ intuvp2.c \ intvect2.c \ describe_input_field.c \ intf2.c \ intuvs2.c emoslib-000392+dfsg.1/grib_api_merging/copy_spec_from_ksec.c0000755000175000017500000002001612127406245025124 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "grib_api.h" #include "emos.h" #include #define ISECTION_2 5000 #define ISECTION_4 512 extern int mars_interpolation; #define SET_EXTRA_LONG(x,y) do { assert(packing_spec->extra_settings_count<80); packing_spec->extra_settings[packing_spec->extra_settings_count].name = #x; packing_spec->extra_settings[packing_spec->extra_settings_count].type = GRIB_TYPE_LONG; packing_spec->extra_settings[packing_spec->extra_settings_count].long_value = y; packing_spec->extra_settings_count++; } while(0) #define SET_EXTRA_DOUBLE(x,y) do { assert(packing_spec->extra_settings_count<80); packing_spec->extra_settings[packing_spec->extra_settings_count].name = #x; packing_spec->extra_settings[packing_spec->extra_settings_count].type = GRIB_TYPE_DOUBLE; packing_spec->extra_settings[packing_spec->extra_settings_count].double_value = y; packing_spec->extra_settings_count++; } while(0) int copy_spec_from_ksec(grib_util_grid_spec* spec,grib_util_packing_spec* packing_spec) { int err=0; fortint isec1[ISECTION_1] = {0,}; fortint isec2[ISECTION_2] = {0,}; fortint isec3[ISECTION_3] = {0,}; fortint isec4[ISECTION_4] = {0,}; fortfloat zsec3[ISECTION_3] = {0,}; long rg_def[ISECTION_2] = {0,}; char *intf2_debug = getenv("INTF2_DEBUG"); if((err = int2_gasetup( isec1, isec2, isec3, isec4,zsec3 )) != 0) { return err; } memset(spec, 0, sizeof(grib_util_grid_spec)); memset(packing_spec, 0, sizeof(grib_util_packing_spec)); switch (isec4[3]) { case 1: packing_spec->packing_type = GRIB_UTIL_PACKING_TYPE_SPECTRAL_COMPLEX; break; case 2: packing_spec->packing_type = GRIB_UTIL_PACKING_TYPE_SPECTRAL_SIMPLE; packing_spec->packing = GRIB_UTIL_PACKING_USE_PROVIDED; break; case 3: packing_spec->packing_type = GRIB_UTIL_PACKING_TYPE_JPEG; break; case 4: packing_spec->packing_type = GRIB_UTIL_PACKING_TYPE_GRID_SIMPLE; break; case 7: packing_spec->packing_type = GRIB_UTIL_PACKING_TYPE_GRID_SECOND_ORDER; break; default : printf("invalid isec4[3] = %d\n",isec4[3]); abort(); } packing_spec->bitsPerValue = isec4[1]; /* TODO: get that from emoslib */ if(intf2_debug){ printf("YYYYYYYYYY packing: %d ----- bitsPerValue: %d \n", isec4[3],isec4[1]); printf("missing value XXXXXXXXXX %f\n", zsec3[1]); } spec->missingValue = zsec3[1]; if(intf2_debug){ printf("missing value XXXXXXXXXX %f \n", spec->missingValue); printf("SIZES double=%d fortfloat=%d\n", sizeof(double), sizeof(fortfloat)); printf("is BITMAP present %d\n", isec1[4]); } switch(isec2[0]) { case 0: spec->grid_type = GRIB_UTIL_GRID_SPEC_REGULAR_LL; spec->Nj = isec2[2]; spec->Ni = isec2[1]; spec->iDirectionIncrementInDegrees = isec2[8]/1000.0; spec->jDirectionIncrementInDegrees = isec2[9]/1000.0; spec->latitudeOfFirstGridPointInDegrees = isec2[3]/1000.0; spec->longitudeOfFirstGridPointInDegrees = isec2[4]/1000.0; spec->latitudeOfLastGridPointInDegrees = isec2[6]/1000.0; spec->longitudeOfLastGridPointInDegrees = isec2[7]/1000.0; if (isec1[4]==192 || isec1[4]==64) spec->bitmapPresent=1; else spec->bitmapPresent=0; break; case 10: spec->grid_type = GRIB_UTIL_GRID_SPEC_ROTATED_LL; spec->Nj = isec2[2]; spec->Ni = isec2[1]; spec->iDirectionIncrementInDegrees = isec2[8]/1000.0; spec->jDirectionIncrementInDegrees = isec2[9]/1000.0; spec->latitudeOfFirstGridPointInDegrees = isec2[3]/1000.0; spec->longitudeOfFirstGridPointInDegrees = isec2[4]/1000.0; spec->latitudeOfLastGridPointInDegrees = isec2[6]/1000.0; spec->longitudeOfLastGridPointInDegrees = isec2[7]/1000.0; spec->uvRelativeToGrid= isec2[18]==8 ? 1 : 0; spec->latitudeOfSouthernPoleInDegrees = isec2[12]/1000.0; spec->longitudeOfSouthernPoleInDegrees = isec2[13]/1000.0; if (isec1[4]==192 || isec1[4]==64) spec->bitmapPresent=1; else spec->bitmapPresent=0; break; case 4: spec->grid_type = GRIB_UTIL_GRID_SPEC_REGULAR_GG; spec->Nj = isec2[2]; spec->Ni = isec2[1]; spec->N = isec2[9]; spec->iDirectionIncrementInDegrees = isec2[8]/1000.0; if(isec2[16]) { spec->grid_type = GRIB_UTIL_GRID_SPEC_REDUCED_GG; } spec->latitudeOfFirstGridPointInDegrees = isec2[3]/1000.0; spec->longitudeOfFirstGridPointInDegrees = isec2[4]/1000.0; spec->latitudeOfLastGridPointInDegrees = isec2[6]/1000.0; spec->longitudeOfLastGridPointInDegrees = isec2[7]/1000.0; if (isec1[4]==192 || isec1[4]==64) spec->bitmapPresent=1; else spec->bitmapPresent=0; /* grib_api to set global area in full precision for gaussian grid */ packing_spec->extra_settings_count=1; packing_spec->extra_settings[0].type = GRIB_TYPE_LONG; packing_spec->extra_settings[0].name = "global"; packing_spec->extra_settings[0].long_value = int2_global(); break; case 14: spec->grid_type = GRIB_UTIL_GRID_SPEC_ROTATED_GG; spec->Nj = isec2[2]; spec->Ni = isec2[1]; spec->N = isec2[9]; spec->iDirectionIncrementInDegrees = isec2[8]/1000.0; if(isec2[16]) { /* There is no rotated-reduced, is there ? */ abort(); } spec->latitudeOfFirstGridPointInDegrees = isec2[3]/1000.0; spec->longitudeOfFirstGridPointInDegrees = isec2[4]/1000.0; spec->latitudeOfLastGridPointInDegrees = isec2[6]/1000.0; spec->longitudeOfLastGridPointInDegrees = isec2[7]/1000.0; spec->latitudeOfSouthernPoleInDegrees = isec2[12]/1000.0; spec->longitudeOfSouthernPoleInDegrees = isec2[13]/1000.0; if (isec1[4]==192 || isec1[4]==64) spec->bitmapPresent=1; else spec->bitmapPresent=0; break; case 50: spec->grid_type = GRIB_UTIL_GRID_SPEC_SH; spec->truncation = isec2[1]; /* truncationJ */ packing_spec->truncateLaplacian=1; break; case 26: spec->grid_type = GRIB_UTIL_GRID_SPEC_REDUCED_LL; break; default: fprintf(stdout,"INTF2: ERROR - unknown repres: %d\n", isec2[0]); return -2; break; } /* ocean special case */ if (isec1[36]==4) { /* Bitmap always present for ocean */ if (isec1[59] == 3 && isec1[60] == 4) SET_EXTRA_LONG(dataRepresentationType , 0); else SET_EXTRA_LONG(dataRepresentationType , 192); SET_EXTRA_LONG(coordinate4OfFirstGridPoint,isec1[61]); SET_EXTRA_LONG(coordinate3OfFirstGridPoint,isec1[62]); SET_EXTRA_LONG(coordinate4OfLastGridPoint,isec1[63]); SET_EXTRA_LONG(coordinate3OfLastGridPoint,isec1[64]); SET_EXTRA_LONG(iIncrement,isec1[65]); SET_EXTRA_LONG(jIncrement,isec1[66]); SET_EXTRA_LONG(flagForNormalOrStaggeredGrid,isec1[68]); SET_EXTRA_LONG(flagForIrregularGridCoordinateList,0); SET_EXTRA_LONG(numberInTheGridCoordinateList,0); SET_EXTRA_LONG(flagShowingPostAuxiliaryArrayInUse,0); SET_EXTRA_LONG(flagShowingPostAuxiliaryArrayInUse,1); SET_EXTRA_LONG(sizeOfPostAuxiliaryArrayPlusOne,0); } #define D(a) if(intf2_debug) printf("YYYYYYYYYYYY %s -> %g\n", #a, (double)spec->a); D(grid_type); D(Ni); D(Nj); D(iDirectionIncrementInDegrees); D(jDirectionIncrementInDegrees); D(longitudeOfFirstGridPointInDegrees); D(longitudeOfLastGridPointInDegrees); D(latitudeOfFirstGridPointInDegrees); D(latitudeOfLastGridPointInDegrees); D(latitudeOfSouthernPoleInDegrees); D(longitudeOfSouthernPoleInDegrees); D(N); D(bitmapPresent); D(missingValue); D(pl_size); D(truncation); return 0; } emoslib-000392+dfsg.1/grib_api_merging/intf2.c0000755000175000017500000001652012127406245022137 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "grib_api.h" #include "emos.h" fortint intf2_(char* grib_in, fortint* length_in, char* grib_out, fortint* length_out) { fortint isec1[ISECTION_1] = {0,}; fortint isec2[ISECTION_2] = {0,}; fortint isec3[ISECTION_3] = {0,}; fortint isec4[ISECTION_4] = {0,}; static double *values_in = NULL; static double *values_out = NULL; static size_t values_in_len = 0; static size_t values_out_len = 0; double *values =NULL; static float *values_in1 = NULL; static float *values_out1 = NULL; static size_t values_in_len1 = 0; static size_t values_out_len1 = 0; size_t ii = 0; size_t inlen; size_t len=0; size_t outlen = *length_out; size_t outlen_grib_message = 0; fortint out_length = 0; long long_length_in = *length_in; fortint fortint_inlen = *length_in; fortint fortint_outlen = outlen; grib_handle *handle = 0; grib_handle *outh = 0; grib_handle *finalh = 0; fortint err1 = 0, mars_interpolation = 0; int err = 0 , what = 0; int resetOutput = 0; long nins, niwe; long acc = 0; long bitmapPresent = 0; size_t size; const void* temp; char *intf2_debug = getenv("INTF2_DEBUG"); char *intf2_write = getenv("INTF2_WRITE_TO_FILE"); int jpeg = 0; int set_spec_flags=0; grib_util_grid_spec spec={0,}; grib_util_packing_spec packing_spec={0,}; mars_interpolation = int2_chkout(); if(!mars_interpolation) { *length_out = 0; if(intf2_debug){ printf("INTF2: There is NOT users settings \n"); printf("INTF2: No Interpolation carried out \n"); } return err; } fortint outputRepresentation = int2_outrep(); if(intf2_debug) { if(outputRepresentation ) printf("INTF2: Output Representation is NOT set by user\n"); } handle = grib_handle_new_from_message(0,grib_in,long_length_in); if(handle == 0) { err = -1; fprintf(stdout,"INTF2: Cannot create Handle %ld\n",err); /* intlog2("INTF2: Cannot create Handle"); */ goto cleanup; } if( err = grib_get_size(handle,"values",&inlen)) { fprintf(stdout,"INTF2: Cannot get size %s\n",grib_get_error_message(err)); return err; } if(inlen > values_in_len) { if(values_in) free(values_in); values_in = (double*)malloc(sizeof(double)*inlen); values_in_len = inlen; if(!values_in) { err = -1; fprintf(stdout,"INTF2: Cannot allocate %ld\n",inlen); goto cleanup; } } /* If bitmap Present */ if((err = grib_get_long(handle,"bitmapPresent",&bitmapPresent))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get bitmapPresent %s\n",grib_get_error_message(err)); return err; } /* if bitmap present Set missing value which correspond WAVE in Emos */ if(bitmapPresent) { /* if(err = grib_set_double(handle,"missingValue",12345.0)) */ if(err = grib_set_double(handle,"missingValue",-9999999.0)) { fprintf(stdout,"INTF2: Cannot set Missing Value %s\n",grib_get_error_message(err)); goto cleanup; } } /* Get decoded values */ if(err = grib_get_double_array(handle,"values",values_in,&inlen)) { fprintf(stdout,"INTF2: Cannot get decoded values %s\n",grib_get_error_message(err)); goto cleanup; } /* Descibe input field and initial settings for output field */ if(err = describe_input_field(handle,outputRepresentation)) { fprintf(stdout,"INTF2 describe_input_field failed : %d\n",err); goto cleanup; } /*============= INTF ====================================*/ if(outputRepresentation){ out_length = inlen; } else{ out_length = int2_estima(); if(!out_length){ fprintf(stdout,"INTF2: Estimate for length of output array is 0 \n"); err = -1; goto cleanup; } } if(out_length > values_out_len) { if(values_out) free(values_out); values_out = (double*)malloc(sizeof(double)*out_length); values_out_len = out_length; if(!values_out) { fprintf(stdout,"INTF2: Cannot allocate values_out %ld\n",out_length); err = -1; goto cleanup; } } fortint_inlen = inlen; fortint_outlen = outlen; #ifdef REAL_8 if(err = int2_intf(values_in,fortint_inlen,values_out,&fortint_outlen)) { fprintf(stdout,"INTF failed %d\n",err); goto cleanup; } #else if(inlen > values_in_len1) { if(values_in1) free(values_in1); values_in1 = (float*)malloc(sizeof(float)*inlen); values_in_len1 = inlen; if(!values_in1) { err = -1; fprintf(stdout,"INTF2: Cannot allocate values_in1 %ld\n",inlen); goto cleanup; } } if(out_length > values_out_len1) { if(values_out1) free(values_out1); values_out1 = (float*)malloc(sizeof(float)*out_length); values_out_len1 = out_length; if(!values_out1) { fprintf(stdout,"INTF2: Cannot allocate values_out1 %ld\n",out_length); err = -1; goto cleanup; } } for( ii = 0 ; ii < fortint_inlen; ii++){ values_in1[ii] = values_in[ii]; } if(err = int2_intf(values_in1,fortint_inlen,values_out1,&fortint_outlen)) { fprintf(stdout,"INTF failed %d\n",err); goto cleanup; } for( ii = 0 ; ii < fortint_outlen; ii++){ values_out[ii] = values_out1[ii]; } #endif outlen = fortint_outlen; if(intf2_debug) { printf("INTF2: Outlen: %d \n",outlen); } err=copy_spec_from_ksec(&spec,&packing_spec); if (err) { fprintf(stdout,"INTF2: ERROR - copy_grid_spec_from_ksec unable to copy spec: %d\n", err); goto cleanup; } packing_spec.accuracy=GRIB_UTIL_ACCURACY_USE_PROVIDED_BITS_PER_VALUES; packing_spec.packing=GRIB_UTIL_PACKING_USE_PROVIDED; if(outlen == 0) { set_spec_flags |= GRIB_UTIL_SET_SPEC_FLAGS_ONLY_PACKING; /* Sinisa and Enrico 7/3/11 comments this line */ /* packing_spec.packing=0; */ len=inlen; values=values_in; if(intf2_debug ) printf("INTF2: Outlen = 0 No Interpolation carried out \n"); } else { len=outlen; values=values_out; } finalh = grib_util_set_spec(handle,&spec, &packing_spec, set_spec_flags,values, len, &err); if(!finalh) { fprintf(stdout,"INTF2: ERROR - grib_util_set_spec: %d\n", err); if(!err) err = 1; goto cleanup; } if (outlen == 0){ if(err == -1) { /* -1 coming from grib_util when there is not packing */ err = 0; *length_out = 0; if(intf2_debug) printf("INTF2: No Interpolation carried out, nothing repacked \n"); goto cleanup; } } err = grib_get_message(finalh,&temp,&outlen_grib_message); if(outlen_grib_message > *length_out) { fprintf(stdout,"INTF2: ERROR - INTF2 OUTLEN is too large: %d %d\n", outlen, *length_out); err = 1; goto cleanup; } memcpy(grib_out,temp,outlen_grib_message); *length_out = outlen_grib_message; /* goto cleanup; */ if(intf2_debug && (set_spec_flags & GRIB_UTIL_SET_SPEC_FLAGS_ONLY_PACKING)){ printf("INTF2: No Interpolation carried out but data repacked \n"); } cleanup: if(resetOutput = int2_setrep(outputRepresentation)) printf("INTF2: Output Representation reset failed: %d \n",resetOutput); if(handle) {grib_handle_delete(handle);handle=NULL;} if(outh) {grib_handle_delete(outh);outh=NULL;} if(outlen!=0 && finalh) grib_handle_delete(finalh); return err; } fortint intf2(char* grib_in, fortint* length_in, char* grib_out, fortint* length_out) { return intf2_(grib_in,length_in,grib_out,length_out); } emoslib-000392+dfsg.1/grib_api_merging/describe_input_field.c0000755000175000017500000005776212127406245025274 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "grib_api.h" #include "emos.h" static long levTypeInt(char* typeOfLevel) { if (!typeOfLevel || strlen(typeOfLevel) == 0) return 255; if (!strcmp(typeOfLevel,"missing")) return 255; if (!strcmp(typeOfLevel,"surface")) return 1; if (!strcmp(typeOfLevel,"cloudBase")) return 2; if (!strcmp(typeOfLevel,"cloudTop")) return 3; if (!strcmp(typeOfLevel,"isothermZero")) return 4; if (!strcmp(typeOfLevel,"adiabaticCondensation")) return 5; if (!strcmp(typeOfLevel,"maxWind")) return 6; if (!strcmp(typeOfLevel,"tropopause")) return 7; if (!strcmp(typeOfLevel,"nominalTop")) return 8; if (!strcmp(typeOfLevel,"seaBottom")) return 9; if (!strcmp(typeOfLevel,"isobaricInhPa")) return 100; if (!strcmp(typeOfLevel,"isobaricLayer")) return 101; if (!strcmp(typeOfLevel,"meanSea")) return 102; if (!strcmp(typeOfLevel,"heightAboveSea")) return 103; if (!strcmp(typeOfLevel,"heightAboveSeaLayer")) return 104; if (!strcmp(typeOfLevel,"heightAboveGround")) return 105; if (!strcmp(typeOfLevel,"heightAboveGroundLayer")) return 106; if (!strcmp(typeOfLevel,"sigma")) return 107; if (!strcmp(typeOfLevel,"sigmaLayer")) return 108; if (!strcmp(typeOfLevel,"hybrid")) return 109; if (!strcmp(typeOfLevel,"hybridLayer")) return 110; if (!strcmp(typeOfLevel,"depthBelowLand")) return 111; if (!strcmp(typeOfLevel,"depthBelowLandLayer")) return 112; if (!strcmp(typeOfLevel,"theta")) return 113; if (!strcmp(typeOfLevel,"thetaLayer")) return 114; if (!strcmp(typeOfLevel,"pressureFromGround")) return 115; if (!strcmp(typeOfLevel,"pressureFromGroundLayer")) return 116; if (!strcmp(typeOfLevel,"potentialVorticity")) return 117; if (!strcmp(typeOfLevel,"isobaricLayerHighPrecision")) return 121; if (!strcmp(typeOfLevel,"heightAboveGroundHighPrecision")) return 125; if (!strcmp(typeOfLevel,"sigmaLayerHighPrecision")) return 128; if (!strcmp(typeOfLevel,"isobaricLayerMixedPrecision")) return 141; if (!strcmp(typeOfLevel,"depthBelowSea")) return 160; if (!strcmp(typeOfLevel,"entireAtmosphere")) return 200; if (!strcmp(typeOfLevel,"entireOcean")) return 201; if (!strcmp(typeOfLevel,"isobaricInPa")) return 210; if (!strcmp(typeOfLevel,"oceanWave")) return 211; if (!strcmp(typeOfLevel,"oceanMixedLayer")) return 212; fprintf(stderr,"levTypeInt: Level type NOT recognized %s\n",typeOfLevel); return 255; } long describe_input_field(grib_handle* handle, long outputRepresentation){ char *text = ""; char *charv = ""; size_t size; long rll_def[3000]; long rg_def[3000]; fortint intv[3000]; fortfloat realv[4]; char grid_type[80]; int err = 0; int i = 0; const void* temp; double missingValue; long level = 0, levelType, parameter, accuracy, scanningMode, table,date; long bitmapPresent = 0; char *intf2_debug = getenv("INTF2_DEBUG"); char *intf2_write = getenv("INTF2_WRITE_TO_FILE"); long localNumber = 0; char typeOfLevel[50]={0,}; size_t typeOfLevelLen=50; long niwe = 0, nins = 0; long matrixOfValues = 0; long centre = 0; size = sizeof(grid_type); if(err = grib_get_string(handle,"typeOfGrid",grid_type,&size)) { fprintf(stderr,"Cannot get gridType %s\n",grib_get_error_message(err)); } if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD:**************************** \n"); printf("DESCRIBE_INPUT_FIELD: Input Grid Type - %s \n",grid_type); } /************************************************************/ /* Describe input unpacked field for INTF */ /* General features */ if(err = int2_intin("form",intv,realv,"unpacked")) { fprintf(stderr,"Form setup INTIN failed %d\n",err); } /* Get Local Definition */ err = grib_get_long(handle,"localDefinitionNumber",&localNumber); if (err == GRIB_SUCCESS) { intv[0] = localNumber; if(err = int2_intin("local",intv,realv,text)) { fprintf(stderr,"localDefinitionNumber setup INTIN failed %d\n",err); } } if (localNumber == 4) { /* OCEAN */ long gridCoordinate[1000]; size_t o_length = 0; long oo_length = 0, vertCooDef = 0; long coordinate3Flag,coordinate4Flag,coordinate4OfFirstGridPoint,coordinate3OfFirstGridPoint; long coordinate4OfLastGridPoint,coordinate3OfLastGridPoint,iIncrement,jIncrement,flagForIrregularGridCoordinateList,flagForNormalOrStaggeredGrid; if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD:******* OCEAN FIELD ********* \n"); } /* starts with KSEC1(60) */ if(err = grib_get_long(handle,"coordinate3Flag",&coordinate3Flag)) fprintf(stderr,"Cannot get coordinate3Flag %s\n",grib_get_error_message(err)); intv[0] = coordinate3Flag; if(err = grib_get_long(handle,"coordinate4Flag",&coordinate4Flag)) fprintf(stderr,"Cannot get coordinate4Flag %s\n",grib_get_error_message(err)); intv[1] = coordinate4Flag; if(err = grib_get_long(handle,"coordinate4OfFirstGridPoint",&coordinate4OfFirstGridPoint)) fprintf(stderr,"Cannot get coordinate4OfFirstGridPoint %s\n",grib_get_error_message(err)); intv[2] = coordinate4OfFirstGridPoint; if(err = grib_get_long(handle,"coordinate3OfFirstGridPoint",&coordinate3OfFirstGridPoint)) fprintf(stderr,"Cannot get coordinate3OfFirstGridPoint %s\n",grib_get_error_message(err)); intv[3] = coordinate3OfFirstGridPoint; if(err = grib_get_long(handle,"coordinate4OfLastGridPoint",&coordinate4OfLastGridPoint)) fprintf(stderr,"Cannot get coordinate4OfLastGridPoint %s\n",grib_get_error_message(err)); intv[4] = coordinate4OfLastGridPoint; if(err = grib_get_long(handle,"coordinate3OfLastGridPoint",&coordinate3OfLastGridPoint)) fprintf(stderr,"Cannot get coordinate3OfLastGridPoint %s\n",grib_get_error_message(err)); intv[5] = coordinate3OfLastGridPoint; if(err = grib_get_long(handle,"iIncrement",&iIncrement)) fprintf(stderr,"Cannot get iIncrement %s\n",grib_get_error_message(err)); if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD:******* north = %d, east = %d , south = %d, west = %d ********* \n", coordinate4OfFirstGridPoint,coordinate3OfFirstGridPoint,coordinate4OfLastGridPoint,coordinate3OfLastGridPoint); } intv[6] = iIncrement; if(err = grib_get_long(handle,"jIncrement",&jIncrement)) fprintf(stderr,"Cannot get jIncrement %s\n",grib_get_error_message(err)); intv[7] = jIncrement; if(err = grib_get_long(handle,"flagForIrregularGridCoordinateList",&flagForIrregularGridCoordinateList)) fprintf(stderr,"Cannot get flagForIrregularGridCoordinateList %s\n",grib_get_error_message(err)); intv[8] = flagForIrregularGridCoordinateList; if(err = grib_get_long(handle,"flagForNormalOrStaggeredGrid",&flagForNormalOrStaggeredGrid)) fprintf(stderr,"Cannot get flagForNormalOrStaggeredGrid %s\n",grib_get_error_message(err)); intv[9] = flagForNormalOrStaggeredGrid; if(err = grib_get_long(handle,"numberInTheGridCoordinateList",&oo_length)) fprintf(stderr,"Cannot get numberInTheGridCoordinateList %s\n",grib_get_error_message(err)); intv[10] = oo_length; if(err = grib_get_long(handle,"verticalCoordinateDefinition",&vertCooDef)) fprintf(stderr,"Cannot get verticalCoordinateDefinition %s\n",grib_get_error_message(err)); intv[11] = vertCooDef; /* INTIN for ocean */ if(err = int2_intin("ocean",intv,realv,text)) { fprintf(stderr,"Ocean setup INTIN failed %d\n",err); } /* if (coordinate3Flag != 3 || coordinate4Flag != 4) { */ /* if (coordinate3Flag == 3 && coordinate4Flag == 4) { */ /* Tim and Sinisa */ if(err = grib_get_size(handle,"gridCoordinate",&o_length)) { fprintf(stderr,"Cannot get size of pl %s\n",grib_get_error_message(err)); } /* Just for Horizontal (lat/long) field interpolation */ if(err = grib_get_long_array(handle,"gridCoordinate",gridCoordinate,&o_length)) fprintf(stderr,"Cannot get gridCoordinate %s\n",grib_get_error_message(err)); if(intf2_debug) printf("DESCRIBE_INPUT_FIELD: o_length %d \n", o_length); for( i = 0; i< o_length ; i++) { intv[i] = gridCoordinate[i]; /* printf("DESCRIBE_INPUT_FIELD: ocean horizontal %d : %d \n", i,intv[i]); */ } /* INTIN for ocean gridCoordinate */ if(err = int2_intin("coord_ocean",intv,realv,text)) { fprintf(stderr,"Ocean setup INTIN failed %d\n",err); } /* } */ err = grib_get_double(handle,"missingValue",&missingValue); if (err != GRIB_SUCCESS && err != GRIB_NOT_FOUND) { fprintf(stderr,"Missing value for OCEAN %s\n",grib_get_error_message(err)); } if(intf2_debug) printf("DESCRIBE_INPUT_FIELD: OCEAN Field Missing Value %f \n",missingValue); if(err == GRIB_SUCCESS) { realv[0] = missingValue; text = "yes"; if(err = int2_intin("missingvalue",intv,realv,text)) { fprintf(stderr,"Missing Value setup INTIN failed %f\n",err); } } } /* get Date */ if(err = grib_get_long(handle,"dataDate",&date)) { fprintf(stderr,"Cannot get date %s\n",grib_get_error_message(err)); } intv[0] = date; if(err = int2_intin("date",intv,realv,text)) { fprintf(stderr,"Date setup INTIN failed %d\n",err); } /* get Level Type */ if((err = grib_get_string(handle,"typeOfLevel",typeOfLevel,&typeOfLevelLen))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get Level Type %s\n",grib_get_error_message(err)); return err; } levelType=levTypeInt(typeOfLevel); intv[0] = levelType; if(err = int2_intin("levtype",intv,realv,text)) { fprintf(stderr,"Level Type setup INTIN failed %d\n",err); } /* printf("Level Type setup INTIN %d\n",levelType); */ /* get Level */ if(levelType != 255){ if((err = grib_get_long(handle,"level",&level))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get Level %s\n",grib_get_error_message(err)); return err; } intv[0] = level; if(err = int2_intin("level",intv,realv,text)) { fprintf(stderr,"Level setup INTIN failed %d\n",err); } } /* } */ /* LSM */ if( levelType == 100 || levelType == 108 || levelType == 109 || levelType == 255){ text = "no"; } else text = "yes"; if(err = int2_intin("lsmset",intv,realv,text)) { fprintf(stderr,"LSM setup INTIN failed %d\n",err); } /* get Parameter Number */ /* if(err = grib_get_long(handle,"param",¶meter)) */ if(err = grib_get_long(handle,"paramId",¶meter)) { if(getenv("INTF2_IGNORE_PARAM") != 0) { parameter = 1; table = 1; } else fprintf(stderr,"Cannot Parameter %s\n",grib_get_error_message(err)); } if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD: Parameter - %d \n",parameter); } if(parameter > 1000) { table = parameter / 1000; parameter = parameter % 1000; } else table = 128; intv[0] = table; if(err = int2_intin("table",intv,realv,text)) { fprintf(stderr,"Table Number setup INTIN failed %d\n",err); } intv[0] = parameter; if(err = int2_intin("parameter",intv,realv,text)) { fprintf(stderr,"Parameter Number setup INTIN failed %d\n",err); } /* If bitmap Present */ if((err = grib_get_long(handle,"bitmapPresent",&bitmapPresent))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get bitmapPresent %s\n",grib_get_error_message(err)); return err; } /* There are exeptions for a few centres */ if(err = grib_get_long(handle,"centre",¢re)) { fprintf(stderr,"Cannot get centre %s\n",grib_get_error_message(err)); } if(levelType == 100 && parameter == 129) bitmapPresent = 0; /* if(table == 128 && (parameter == 31 || parameter == 130)){ */ /* Live emoslib to use its own values Can Not set allways external missing value in case bitmap is Present because of some inconsistensy in LIBEMOS */ if(bitmapPresent) { /* Try to play in a same style as Libemos missingValue = -2147483647.0; err = grib_set_double(handle,"missingValue",missingValue); */ err = grib_get_double(handle,"missingValue",&missingValue); if (err != GRIB_SUCCESS && err != GRIB_NOT_FOUND) { fprintf(stderr,"Missing value %s\n",grib_get_error_message(err)); } if(intf2_debug) printf("DESCRIBE_INPUT_FIELD: BITMAP PRESENT Missing Value %f \n",missingValue); if(err == GRIB_SUCCESS) { realv[0] = missingValue; text = "yes"; if(err = int2_intin("missingval",intv,realv,text)) { fprintf(stderr,"Missing Value setup INTIN failed %f\n",err); } } } /* Default Accuracy */ if((err = grib_get_long(handle,"bitsPerValue",&accuracy))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get accuracy %s\n",grib_get_error_message(err)); return err; } intv[0] = accuracy; if(err = int2_intin("accuracy",intv,realv,text)) { fprintf(stderr,"Accuracy setup INTIN failed %d\n",err); } if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD: Input Accuracy %d \n",accuracy); } /* Particular Input fields */ /* Spherical harmonics */ if(strcmp(grid_type,"sh") == 0) { long truncation; /* get Truncation */ if((err = grib_get_long(handle,"pentagonalResolutionParameterJ",&truncation))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get Truncation %s\n",grib_get_error_message(err)); return err; } intv[0] = truncation; if(err = int2_intin("truncation",intv,realv,text)) { fprintf(stderr,"Truncation setup INTIN failed %d\n",err); } if(outputRepresentation) { if(err = int2_intout("truncation",intv,realv,text)) { fprintf(stderr,"Truncation setup INTOUT failed %d\n",err); } } } /* Gaussian grid */ if(strcmp(grid_type,"regular_gg") == 0 || strcmp(grid_type,"reduced_gg") == 0) { long gaussianType, gaussianNumber ; /* Gaussian Grid Number */ if((err = grib_get_long(handle,"numberOfParallelsBetweenAPoleAndTheEquator",&gaussianNumber))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get gaussian Number %s\n",grib_get_error_message(err)); return err; } intv[0] = gaussianNumber; /* Regular or Reduced */ if(strcmp(grid_type,"reduced_gg") == 0) { size_t rg_length = 0; if(err = int2_intin("reduced",intv,realv,text)) { fprintf(stderr,"Reduced Gaussian setup failed %d\n",err); } if(outputRepresentation) { if(err = int2_intout("reduced",intv,realv,text)) { fprintf(stderr,"Reduced Gaussian setup failed %d\n",err); } } if(err = grib_get_size(handle,"pl",&rg_length)) { fprintf(stderr,"reduced_gg Cannot get size of pl %s\n",grib_get_error_message(err)); } if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD: Reduced Gaussian north-south number of points %d\n",rg_length); } if(err = grib_get_long_array(handle,"pl",rg_def,&rg_length)) { fprintf(stderr,"Cannot get pl %s\n",grib_get_error_message(err)); } for( i = 0; i< rg_length ; i++) { intv[i] = rg_def[i]; } if(err = int2_intin("ga_pnts",intv,realv,text)) { fprintf(stderr,"Reduced Gaussian setup failed %d\n",err); } } else { if(err = int2_intin("regular",intv,realv,text)) { fprintf(stderr,"Regular Gaussian setup failed %d\n",err); } if(outputRepresentation) { if(err = int2_intout("regular",intv,realv,text)) { fprintf(stderr,"Regular Gaussian setup failed %d\n",err); } } } } /* Shall missing value to be used */ /* missingval because can not be applied in Emos lib everywhere... */ /* Pick up area if the field is lat-lon or gaussian, scanning mode and number of points ns we */ if(strcmp(grid_type,"regular_ll") == 0 || strcmp(grid_type,"regular_gg") == 0 || strcmp(grid_type,"reduced_gg") == 0 || strcmp(grid_type,"reduced_ll") == 0) { double latitudeOfFirstGridPoint, longitudeOfFirstGridPoint, latitudeOfLastGridPoint, longitudeOfLastGridPoint; if((err = grib_get_double(handle,"latitudeOfFirstGridPointInDegrees",&latitudeOfFirstGridPoint))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get latitudeOfFirstGridPointInDegrees %s\n",grib_get_error_message(err)); return err; } if((err = grib_get_double(handle,"longitudeOfFirstGridPointInDegrees",&longitudeOfFirstGridPoint))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get longitudeOfFirstGridPointInDegrees %s\n",grib_get_error_message(err)); return err; } if((err = grib_get_double(handle,"latitudeOfLastGridPointInDegrees",&latitudeOfLastGridPoint))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get latitudeOfLastGridPointInDegrees %s\n",grib_get_error_message(err)); return err; } if((err = grib_get_double(handle,"longitudeOfLastGridPointInDegrees",&longitudeOfLastGridPoint))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get longitudeOfLastGridPointInDegrees %s\n",grib_get_error_message(err)); return err; } realv[0] = latitudeOfFirstGridPoint; realv[1] = longitudeOfFirstGridPoint; realv[2] = latitudeOfLastGridPoint; realv[3] = longitudeOfLastGridPoint; if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD: Input AREA %f %f %f %f \n",latitudeOfFirstGridPoint,longitudeOfFirstGridPoint,latitudeOfLastGridPoint,longitudeOfLastGridPoint); } if(err = int2_intin("area",intv,realv,text)) { fprintf(stderr,"Area setup INTIN failed %d\n",err); } /* Scanning mode */ if((err = grib_get_long(handle,"jScansPositively",&scanningMode))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get scanning mode %s\n",grib_get_error_message(err)); return err; } if(scanningMode) scanningMode = 64; if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD: Input Scanning Mode - %d \n",scanningMode); } intv[0] = scanningMode; if(err = int2_intin("scan",intv,realv,text)) { fprintf(stderr,"Scanning mode setup INTIN failed %d\n",err); } /* number Of Points Along A Parallel */ if((err = grib_get_long(handle,"numberOfPointsAlongAParallel",&niwe))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get numberOfPointsAlongAParallel %s\n",grib_get_error_message(err)); return err; } intv[0] = niwe; /* number Of Points Along A Meridian */ if((err = grib_get_long(handle,"numberOfPointsAlongAMeridian",&nins))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get numberOfPointsAlongAMeridian %s\n",grib_get_error_message(err)); return err; } intv[1] = nins; if(err = int2_intin("npts",intv,realv,text)) { fprintf(stderr,"Number of points INTIN failed %d\n",err); } } /* Lat-Lon grid */ if(strcmp(grid_type,"regular_ll") == 0 || strcmp(grid_type,"reduced_ll") == 0) { double iDirectionIncrement = 0, jDirectionIncrement = 0; size_t rll_length = 0; if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD: Input Field - %s \n",grid_type); } /* I Direction Increment */ if((err = grib_get_double(handle,"iDirectionIncrementInDegrees",&iDirectionIncrement))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get iDirectionIncrementInDegrees %s\n",grib_get_error_message(err)); return err; } /* J Direction Increment */ if((err = grib_get_double(handle,"jDirectionIncrementInDegrees",&jDirectionIncrement))!= GRIB_SUCCESS) { fprintf(stderr,"Cannot get jDirectionIncrementInDegrees %s\n",grib_get_error_message(err)); return err; } realv[0] = iDirectionIncrement; realv[1] = jDirectionIncrement; if(strcmp(grid_type,"regular_ll") == 0) { if(err = int2_intin("grid",intv,realv,text)) { fprintf(stderr,"Grid setup INTIN failed %d\n",err); } /* Set output representation if it is not set */ if(outputRepresentation) { if(err = int2_intout("grid",intv,realv,text)) { fprintf(stderr,"Grid setup INTOUT failed %d\n",err); } } } if(strcmp(grid_type,"reduced_ll") == 0) { if(outputRepresentation) { if(err = int2_intout("red_latlon",intv,realv,text)) { fprintf(stderr,"intout Reduced latlon - wave setup failed %d\n",err); } } } /* number Of Points Along A Parallel */ /* number Of Points Along A Meridian */ /* if(err = grib_get_long(handle,"numberOfPointsAlongAParallel",&niwe)) { fprintf(stderr,"Cannot get numberOfPointsAlongAParallel %s\n",grib_get_error_message(err)); } intv[0] = niwe; if(err = grib_get_long(handle,"numberOfPointsAlongAMeridian",&nins)) { fprintf(stderr,"Cannot get numberOfPointsAlongAMeridian %s\n",grib_get_error_message(err)); } intv[1] = nins; if(err = int2_intin("npts",intv,realv,text)) { fprintf(stderr,"Number of points INTIN failed %d\n",err); } */ /* If Reduced */ /* Force wave processing for certain paramaters */ if(strcmp(grid_type,"reduced_ll") == 0 || table == 140 || (table == 131 && (parameter == 232 || parameter == 229))) { if(strcmp(grid_type,"reduced_ll") == 0) { if(err = grib_get_size(handle,"pl",&rll_length)) { fprintf(stderr,"Cannot get size of pl %s\n",grib_get_error_message(err)); } if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD: Number of points NS from reduced_ll definition %d\n",rll_length); } if(err = grib_get_long_array(handle,"pl",rll_def,&rll_length)) { fprintf(stderr,"Cannot get pl %s\n",grib_get_error_message(err)); } intv[0] = rll_length; if(err = int2_intin("redu_ll",intv,realv,text)) { fprintf(stderr,"Reduced LatLon setup failed %d\n",err); } for( i = 0; i< rll_length ; i++) { intv[i] = rll_def[i]; } if(err = int2_intin("l_npts",intv,realv,text)) { fprintf(stderr,"Reduced LatLon setup failed %d\n",err); } } err = grib_get_long(handle,"matrixOfValues",&matrixOfValues); if (err == GRIB_SUCCESS) { intv[0] = matrixOfValues; if(err = int2_intin("matrix",intv,realv,text)) { fprintf(stderr,"Matrix Value setup INTIN failed %f\n",err); } } err = grib_get_double(handle,"missingValue",&missingValue); if (err != GRIB_SUCCESS && err != GRIB_NOT_FOUND) { fprintf(stderr,"Missing value %s\n",grib_get_error_message(err)); } if(intf2_debug) printf("DESCRIBE_INPUT_FIELD: Wave field Missing Value %f \n",missingValue); if(err == GRIB_SUCCESS) { realv[0] = missingValue; text = "yes"; if(err = int2_intin("missingvalue",intv,realv,text)) { fprintf(stderr,"Missing Value setup INTIN failed %f\n",err); } } } } /************************************************************/ /* Describe output unpacked field for INTF */ /* Set INTOUT to get unpack field from INTF */ if(err = int2_intout("form",intv,realv,"unpacked")) { fprintf(stderr,"Form setup INTOUT failed %d\n",err); } /* Level Type */ intv[0] = levelType; if(err = int2_intout("levtype",intv,realv,text)) { fprintf(stderr,"Level Type setup INTOUT failed %d\n",err); } /* */ /* if(levelType != 1){ */ /* Level */ intv[0] = level; if(err = int2_intout("level",intv,realv,text)) { fprintf(stderr,"Level setup INTOUT failed %d\n",err); } /* } */ /* Table */ /* Parameter */ intv[0] = table; if(err = int2_intout("table",intv,realv,text)) { fprintf(stderr,"Table Number setup INTOUT failed %d\n",err); } intv[0] = parameter; if(err = int2_intout("parameter",intv,realv,text)) { fprintf(stderr,"Parameter Number setup INTOUT failed %d\n",err); } /* */ /* Default Accuracy */ /* intv[0] = accuracy; if(intf2_debug) { printf("DESCRIBE_INPUT_FIELD: Input Accuracy - %d \n",accuracy); } if(err = int2_intout("accuracy",intv,realv,text)) { fprintf(stderr,"Accuracy setup INTOUT failed %d\n",err); } */ return err; } emoslib-000392+dfsg.1/grib_api_merging/example.c0000755000175000017500000000706512127406245022554 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include "grib_api.h" #include "emos.h" char outgrib[1000000]; char buffer[1024*1024*10]; fortint intf2(char* grib_in, fortint* length_in, char* grib_out, fortint* length_out); #define intout intout_ long edition = 2; int main(int argc, char** argv) { int err = 0; size_t length = sizeof(buffer); long outlen = sizeof(outgrib); /* size_t outlen = sizeof(outgrib); */ size_t mesg_len; const void* mesg; FILE* in = NULL; FILE* out = NULL; grib_handle *h = NULL; fortint intv[4] = {0,}; double realv[4] = {0,}; char* text = "dissemination"; long version; double resol; int count = 1; if( argc < 3 ) { printf("\n Usage: ./example inputgrib outputgrib resol \n"); exit(1); } in = fopen(argv[1],"r"); if(!in) { perror( argv[1] ); exit(10); } out = fopen(argv[2],"w"); if(!out) { perror(argv[2]); exit(10); } resol = atof(argv[3]); version = grib_get_api_version(); /* printf("--- grib_api version %d \n",version); */ while((err = readany(in,buffer,&length)) == 0) { printf(" =================== %d ============================== \n", count++); /* INTOUT settings */ /* Area */ /* north */ /* realv[0] = 69.5; */ /* west */ /* realv[1] = 345.5; */ /* south */ /* realv[2] = 34.5; */ /* east */ /* realv[3] = 34.5; */ /* if(err = int2_intout("area", intv, realv, text)) { fprintf(stderr,"Area setup INTOUT failed %d\n",err); return err; } */ /* Lat-Lon resolution */ realv[0] = resol; realv[1] = resol; if( err = int2_intout("grid",intv,realv,text)) { fprintf(stderr,"Grid setup INTOUT failed %d\n",err); exit(err); } /* Accuracy */ /* intv[0] = 16; if(err = int2_intout("accuracy",intv,realv,text)) { fprintf(stderr,"Reduced Gaussian setup failed %d\n",err); return err; } */ /* Reduced gaussian */ /* intv[0] = 200; if(err = int2_intout("reduced",intv,realv,text)) { fprintf(stderr,"Reduced Gaussian setup failed %d\n",err); return err; } */ /* Regular gaussian */ /* intv[0] = 200; if(err = int2_intout("regular",intv,realv,text)) { fprintf(stderr,"Regular Gaussian setup failed %d\n",err); return err; } */ /* Spectral */ /* intv[0] = 63; if(err = int2_intout("truncation",intv,realv,text)) { fprintf(stderr,"Spherical setup failed %d\n",err); return err; } */ /* Rotation */ /* realv[0] = 0.0; realv[1] = 80.0; if( err = int2_intout("rotation",intv,realv,text)) { fprintf(stderr,"Rotation setup INTOUT failed %d\n",err); exit(err); } */ if(err = intf2(buffer,&length,outgrib,&outlen)) { fprintf(stderr,"INTF2 failed %d\n",err); exit(err); } if(fwrite(outgrib,1,outlen,out) != outlen) { perror(argv[4]); exit(1); } } if(fclose(in)) { perror(argv[3]); exit(1); } if(fclose(out)) { perror(argv[4]); exit(1); } return 0; } emoslib-000392+dfsg.1/grib_api_merging/Makefile.in0000755000175000017500000000125712127406245023017 0ustar amckinstryamckinstry# # Makefile for libemos/pbio GRIB_API_DIR = glue # A64 = plat R64 = reals ARCH = arch CNAME = comp LIB = depl LIBRARY = ../lib$(LIB)$(R64).a #GRIB_API_PATH = /usr/local/lib/metaps/lib/grib_api/exp GRIB_API_PATH = $(GRIB_API_DIR) GRIB_API_INC = -I$(GRIB_API_PATH)/include # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # # TARGETS = all clean # include sources # OBJECTS.o = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.o) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(OBJECTS.o): $(SOURCES.c) $(CC) $(CFLAGS) $(GRIB_API_INC) -c $(SOURCES.c) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ clean: \rm -f $(OBJECTS) emoslib-000392+dfsg.1/grib_api_merging/emos.c0000755000175000017500000000744112127406245022062 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include "emos.h" #ifdef FORTRAN_UPPERCASE #define outrep_ OUTREP #define gettru_ GETTRU #define setrep_ SETREP #define chkout_ CHKOUT #define global_ GLOBAL #define intf_ INTF #define intout_ INTOUT #define intin_ INTIN #define gasetup_ GASETUP #define intuvs_ INTUVS #define intvecy_ INTVECY #define estima_ ESTIMA #endif #ifdef FORTRAN_NO_UNDERSCORE #define outrep_ outrep #define gettru_ gettru #define setrep_ setrep #define chkout_ chkout #define global_ global #define intf_ intf #define intout_ intout #define intin_ intin #define gasetup_ gasetup #define intuvs_ intuvs #define intvecy_ intvecy #define estima_ estima #endif fortint outrep_(); fortint estima_(); fortint gettru_(); fortint setrep_(fortint*); fortint chkout_(); fortint global_(); fortint intf_(const char*, fortint*, fortfloat[], const char*, fortint*, fortfloat[]); fortint intout_(const char*, fortint[], fortfloat[], const char*, fortint, fortint); fortint intin_(const char*, fortint[], fortfloat[], const char*, fortint, fortint); fortint gasetup_( fortint isec1[], fortint isec2[], fortint isec3[], fortint isec4[], fortfloat zsec3[]); fortint intuvs_(fortfloat[], fortfloat[], fortint*, fortfloat[], fortfloat[], fortint*); fortint intuvu_(fortfloat[], fortfloat[], fortint*, fortfloat[], fortfloat[], fortint*); fortint intvecy_(fortfloat[], fortfloat[], fortint*, fortfloat[], fortfloat[], fortint*); /* fortint intvecy_(fortfloat[], fortfloat[], fortint*, fortfloat[], fortfloat[], fortint*); */ fortint int2_estima() { return estima_(); } fortint int2_global() { return global_(); } fortint int2_chkout() { return chkout_(); } fortint int2_setrep(fortint output_flag) { return setrep_(&output_flag); } fortint int2_gettru() { return gettru_(); } fortint int2_outrep() { return outrep_(); } fortint int2_intf( fortfloat in_array[], fortint in_array_length, fortfloat *out_array, fortint *out_array_length) { char in_grib[1]; char out_grib[500000]; return intf_(in_grib, &in_array_length, in_array, out_grib, out_array_length, out_array); } fortint int2_intout(const char* param,fortint iv[],fortfloat dv[],const char* cv) { char *intf2_debug = getenv("INTF2_DEBUG"); if(!cv) cv = ""; if(intf2_debug) { printf("int2_intout: %s\n",param); } return intout_(param,iv,dv,cv,strlen(param),strlen(cv)); } fortint int2_intin(const char* param,fortint iv[],fortfloat dv[],const char* cv) { if(!cv) cv = ""; return intin_(param,iv,dv,cv,strlen(param),strlen(cv)); } fortint int2_gasetup( fortint isec1[], fortint isec2[], fortint isec3[], fortint isec4[], fortfloat zsec3[]) { return gasetup_( isec1, isec2, isec3, isec4, zsec3 ); } fortint int2_intuvy(fortfloat vort_in[],fortfloat div_in[] , fortint in_array_length, fortfloat *vort_out, fortfloat *div_out, fortint *out_array_length) { return intuvy_( vort_in, div_in , &in_array_length, vort_out, div_out, out_array_length); } fortint int2_intuvu(fortfloat vort_in[],fortfloat div_in[] , fortint in_array_length, fortfloat *vort_out, fortfloat *div_out, fortint *out_array_length) { return intuvu_( vort_in, div_in , &in_array_length, vort_out, div_out, out_array_length); } fortint int2_intvecy(fortfloat u_in[],fortfloat v_in[] , fortint in_array_length, fortfloat *u_out, fortfloat *v_out, fortint *out_array_length) { return intvecy_( u_in, v_in , &in_array_length, u_out, v_out, out_array_length); } emoslib-000392+dfsg.1/grib_api_merging/fortint.h0000755000175000017500000000132712127406245022606 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef FORTINT_H #define FORTINT_H #ifdef INTEGER_IS_INT #define fortint int #else #if defined hpR64 || defined hpiaR64 #define fortint long long #else #define fortint long #endif #endif #ifdef REAL_8 typedef double fortfloat; #else typedef float fortfloat; /* fortran single precision float */ #endif #endif /* end of FORTINT_H */ emoslib-000392+dfsg.1/grib_api_merging/emos.h0000755000175000017500000000123312127406245022060 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "fortint.h" #define ISECTION_0 2 #define ISECTION_1 1024 /* beware of for ocean data */ #define ISECTION_2 5000 #define ISECTION_3 3 #define ISECTION_4 512 #define RSECTION_2 512 #define RSECTION_3 2 #define RSECTION_4 1 emoslib-000392+dfsg.1/grib_api_merging/Makefile0000755000175000017500000000105312127406245022404 0ustar amckinstryamckinstry# # LIBRARY = ../lib$(LIB)$(R64).a GRIB_API_RELEASE = 1.9.8 GRIB_API_PATH = /usr/local/lib/metaps/lib/grib_api/$(GRIB_API_RELEASE) GRIB_API_INC = -I$(GRIB_API_PATH)/include # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # # TARGETS = all clean # include sources # OBJECTS.o = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.o) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(OBJECTS.o): $(SOURCES.c) $(CC) $(CFLAGS) $(GRIB_API_INC) -c $(SOURCES.c) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ clean: \rm -f $(OBJECTS) emoslib-000392+dfsg.1/grib_api_merging/intuvp2.c0000755000175000017500000002771212127406245022531 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "grib_api.h" #include "emos.h" fortint intuvp2_(char* vort_grib_in, char* div_grib_in, fortint* length_in, char* vort_grib_out, char* div_grib_out, fortint* length_out) { static double *vort_values_in = NULL; static double *div_values_in = NULL; static double *vort_values_out = NULL; static double *div_values_out = NULL; static size_t values_in_len = 0; static size_t values_out_len = 0; static float *vort_values_in1 = NULL; static float *div_values_in1 = NULL; static float *vort_values_out1 = NULL; static float *div_values_out1 = NULL; static size_t values_in_len1 = 0; static size_t values_out_len1 = 0; grib_handle* hu = NULL; grib_handle* hv = NULL; size_t inlen; size_t outlen = *length_out; size_t outlen1 = *length_out; long long_inlen = *length_in; fortint fortint_inlen = *length_in; fortint fortint_outlen = outlen; int jpeg = 0, resetOutput = 0, what = 0; long ii = 0; char *text = ""; fortint intv[4]; fortfloat realv[4]; long truncation; grib_handle *handle1 = NULL, *handle2 = NULL; grib_handle *outh_u = NULL, *outh_v = NULL; int err = 0; int grib_err = 0; long accuracy = 0; fortint out_length = 0; const void* temp1; const void* temp2; char *intf2_debug ; char *intf2_write ; fortint outputRepresentation; int gribex_compatibility; grib_util_grid_spec spec={0,}; grib_util_packing_spec packing_spec={0,}; gribex_compatibility=grib_get_gribex_mode(0); intf2_debug = getenv("INTF2_DEBUG"); intf2_write = getenv("INTF2_WRITE_TO_FILE"); outputRepresentation = int2_outrep(); if(outputRepresentation) if(intf2_debug) { printf("INTUVP2: Output Representation is Not set by user\n"); } handle1 = grib_handle_new_from_message_copy(0,vort_grib_in,long_inlen); if(!handle1) { err = -1; goto cleanup; } handle2 = grib_handle_new_from_message_copy(0,div_grib_in,long_inlen); if(!handle2) { err = -1; goto cleanup; } /*----------------------------------*/ if( err = grib_get_size(handle1,"values",&inlen)) { fprintf(stderr,"INTUVP2: Cannot get size for vorticity %s\n",grib_get_error_message(err)); goto cleanup; } if(intf2_debug) { printf("INTUVP2: inlen for vorticity: %d \n",inlen); } if(inlen > values_in_len) { if(vort_values_in) free(vort_values_in); vort_values_in = (double*)malloc(sizeof(double)*inlen); values_in_len = inlen; if(!vort_values_in) { err = -1; fprintf(stdout,"INTUVP2: Cannot allocate vort_values_in %ld\n",inlen); goto cleanup; } if(div_values_in) free(div_values_in); div_values_in = (double*)malloc(sizeof(double)*inlen); if(!div_values_in) { err = -1; fprintf(stderr,"INTUVP2: Cannot allocate input array for divergency %d\n",inlen); goto cleanup; } } /* if( err = grib_get_size(handle2,"values",&inlen)) { fprintf(stderr,"INTUVP2: Cannot get size for divergency %s\n",grib_get_error_message(err)); goto cleanup; } */ if(intf2_debug) { printf("INTUVP2: inlen for divergency: %d \n",inlen); } /* Default Accuracy */ if((err = grib_get_long(handle1,"bitsPerValue",&accuracy))!= GRIB_SUCCESS) { fprintf(stderr,"INTUVP2: Cannot get accuracy %s\n",grib_get_error_message(err)); return err; } intv[0] = accuracy; if(err = int2_intin("accuracy",intv,realv,text)) { fprintf(stderr,"INTUVP2: Accuracy setup INTIN failed %d\n",err); } if(intf2_debug) { printf("INTUVP2: Input Accuracy %d \n",accuracy); } /*----------------------------------*/ /* Get decoded values vorticity */ if(err = grib_get_double_array(handle1,"values",vort_values_in,&inlen)) { fprintf(stderr,"INTUVP2: Cannot get decoded values %s\n",grib_get_error_message(err)); goto cleanup; } /* Get decoded values divergency */ if(err = grib_get_double_array(handle2,"values",div_values_in,&inlen)) { fprintf(stderr,"INTUVP2: Cannot get decoded values %s\n",grib_get_error_message(err)); goto cleanup; } /*----------------------------------*/ /* get Truncation */ if(err = grib_get_long(handle1,"J", &truncation)) { fprintf(stderr,"INTUVP2: Cannot get Truncation %s\n",grib_get_error_message(err)); goto cleanup; } intv[0] = truncation; if(err = int2_intin("truncation",intv,realv,text)) { fprintf(stderr,"INTUVP2: Truncation setup INTIN failed %d\n",err); goto cleanup; } if(outputRepresentation) { if(err = int2_intout("truncation",intv,realv,text)) { fprintf(stderr,"INTUVP2: Truncation setup INTOUT failed %d\n",err); goto cleanup; } } /*============= INTUVY ====================================*/ if(outputRepresentation){ out_length = inlen; } else{ out_length = int2_estima(); if(!out_length){ fprintf(stdout,"INTUVP2: Estimate for length of output array is 0 \n"); err = -1; goto cleanup; } } if(out_length > values_out_len) { if(vort_values_out) free(vort_values_out); vort_values_out = (double*)malloc(sizeof(double)*out_length); values_out_len = out_length; if(!vort_values_out) { fprintf(stdout,"INTUVP2: Cannot allocate vort_values_out %ld\n",out_length); err = -1; goto cleanup; } if(div_values_out) free(div_values_out); div_values_out = (double*)malloc(sizeof(double)*out_length); if(!div_values_out) { fprintf(stdout,"INTUVP2: Cannot allocate div_values_out %ld\n",out_length); err = -1; goto cleanup; } } fortint_inlen = inlen; fortint_outlen = outlen; #ifdef REAL_8 if(err = int2_intuvu(vort_values_in, div_values_in, fortint_inlen, vort_values_out, div_values_out, &fortint_outlen)) { fprintf(stderr,"INTUVP2 failed %d\n",err); goto cleanup; } #else if(inlen > values_in_len1) { if(vort_values_in1) free(vort_values_in1); vort_values_in1 = (float*)malloc(sizeof(float)*inlen); values_in_len1 = inlen; if(!vort_values_in1) { err = -1; fprintf(stdout,"INTUVP2: Cannot allocate vort_values_in %ld\n",inlen); goto cleanup; } if(div_values_in1) free(div_values_in1); div_values_in1 = (float*)malloc(sizeof(float)*inlen); if(!div_values_in1) { err = -1; fprintf(stderr,"INTUVP2: Cannot allocate input array for divergency %d\n",inlen); goto cleanup; } } if(out_length > values_out_len1) { if(vort_values_out1) free(vort_values_out1); vort_values_out1 = (float*)malloc(sizeof(float)*out_length); values_out_len1 = out_length; if(!vort_values_out1) { fprintf(stdout,"INTUVP2: Cannot allocate vort_values_out %ld\n",out_length); err = -1; goto cleanup; } if(div_values_out1) free(div_values_out1); div_values_out1 = (float*)malloc(sizeof(float)*out_length); if(!div_values_out1) { fprintf(stdout,"INTUVP2: Cannot allocate div_values_out %ld\n",out_length); err = -1; goto cleanup; } } for( ii = 0 ; ii < fortint_inlen; ii++){ vort_values_in1[ii] = vort_values_in[ii]; } for( ii = 0 ; ii < fortint_inlen; ii++){ div_values_in1[ii] = div_values_in[ii]; } if(err = int2_intuvu(vort_values_in1, div_values_in1, fortint_inlen, vort_values_out1, div_values_out1, &fortint_outlen)) { fprintf(stderr,"INTUVP2 failed %d\n",err); goto cleanup; } for( ii = 0 ; ii < fortint_outlen; ii++){ vort_values_in[ii] = vort_values_in1[ii]; } for( ii = 0 ; ii < fortint_outlen; ii++){ div_values_in[ii] = div_values_in1[ii]; } #endif *length_out = fortint_outlen; outlen = fortint_outlen; if(intf2_debug) { int i; printf("INTUVP2: outlen: %d \n",outlen); for(i=0; i<10 ; i++) { printf("INTUVP2: output data values U - %d - %f \n",i,vort_values_out[i]); printf("INTUVP2: output data values V - %d - %f \n",i,div_values_out[i]); } } if(outlen) { err=copy_spec_from_ksec(&spec,&packing_spec); packing_spec.accuracy=GRIB_UTIL_ACCURACY_USE_PROVIDED_BITS_PER_VALUES; packing_spec.packing=GRIB_UTIL_PACKING_USE_PROVIDED; if (err) { fprintf(stdout,"INTUVP2: ERROR - copy_grid_spec_from_ksec unable to copy spec: %d\n", err); goto cleanup; } if (spec.grid_type==GRIB_UTIL_GRID_SPEC_SH) { if (0 && gribex_compatibility) { double laplacianOperator=0; long P=0; grib_get_long(handle2,"P",&P); if(err = grib_get_double(handle2,"laplacianOperator",&laplacianOperator)) { fprintf(stderr,"INTUVP2: Cannot Get P %s\n",grib_get_error_message(err)); goto cleanup; } /* if(err = grib_set_long(handle2,"computeLaplacianOperator",0)) { fprintf(stderr,"INTUVP2: Cannot Set computeLaplacianOperator %s\n",grib_get_error_message(err)); goto cleanup; } if(err = grib_set_long(handle1,"computeLaplacianOperator",0)) { fprintf(stderr,"INTUVP2: Cannot Set computeLaplacianOperator %s\n",grib_get_error_message(err)); goto cleanup; } if(err = grib_set_long(handle1,"P",P)) { fprintf(stderr,"INTUVP2: Cannot Set P %s\n",grib_get_error_message(err)); goto cleanup; } if(err = grib_set_long(handle2,"P",P)) { fprintf(stderr,"INTUVP2: Cannot Set P %s\n",grib_get_error_message(err)); goto cleanup; } */ packing_spec.computeLaplacianOperator=0; packing_spec.truncateLaplacian=1; packing_spec.laplacianOperator=laplacianOperator; } else { packing_spec.computeLaplacianOperator=1; } } hu = grib_util_set_spec(handle1,&spec, &packing_spec, 0,vort_values_out, outlen, &err); if(!hu) { fprintf(stdout,"INTUVP2: ERROR - grib_util_set_spec: %d\n", err); if(!err) err = 1; goto cleanup; } hv = grib_util_set_spec(handle2,&spec, &packing_spec, 0,div_values_out, outlen, &err); if(!hv) { fprintf(stdout,"INTUVP2: ERROR - grib_util_set_spec: %d\n", err); if(!err) err = 1; goto cleanup; } /* U velocity*/ if(err = grib_set_long(hu,"paramId",131)) { fprintf(stderr,"INTUVP2: Cannot Set V %s\n",grib_get_error_message(err)); goto cleanup; } grib_get_message(hu,&temp1,&outlen); if(temp1) { if(intf2_debug) { printf("INTUVP2: outlen u-comp -> %d \n", outlen); } memcpy(vort_grib_out,temp1,outlen); } else fprintf(stderr,"INTUVP2: Error u-comp \n"); outlen = *length_out; /* V velocity*/ if(err = grib_set_long(hv,"paramId",132)) { fprintf(stderr,"INTUVP2: Cannot Set V %s\n",grib_get_error_message(err)); goto cleanup; } grib_get_message(hv,&temp2,&outlen); if(temp2) { if(intf2_debug) { printf("INTUVP2: outlen v-comp -> %d \n", outlen); } memcpy(div_grib_out,temp2,outlen); } else fprintf(stderr,"INTUVP2: Error v-comp \n"); *length_out = outlen; goto cleanup; } else { fprintf(stderr,"INTUVP2: ERROR - INTUVP2 OUTLEN is: %d\n", outlen); err = 1; } cleanup: if(resetOutput = int2_setrep(outputRepresentation)) printf("INTUVP2: Output Representation reset failed: %d \n",resetOutput); if(hu && (hu != handle1)) grib_handle_delete(hu); if(hv && (hv != handle2)) grib_handle_delete(hv); if(handle1) {grib_handle_delete(handle1);handle1=0;}; if(handle2) {grib_handle_delete(handle2);handle2=0;}; return err; } fortint intuvp2(char* vort_grib_in, char* div_grib_in, fortint* length_in, char* vort_grib_out, char* div_grib_out, fortint* length_out) { return intuvp2_(vort_grib_in,div_grib_in,length_in,vort_grib_out,div_grib_out,length_out); } emoslib-000392+dfsg.1/README0000755000175000017500000002400512127406245016342 0ustar amckinstryamckinstry Emos library -------------- Any comments on the document or the software would be appreciated. Please address comments to: Software Services ECMWF Shinfield Park Reading Berkshire RG2 9AX U.K. Fax: +44 1734 869450 e-mail: software.services@ecmwf.int The software is provided as a tar gzip file. This should be expanded using tar -xfz emos_version.tar.gz Content: Makefile Makefile for 'everything' build_library Script bilding library install Install script gribex Subdirectory containing GRIB encoding/decoding software gribtables Subdirectory containing GRIB tables gribtemplates Subdirectory containing Gribex templates bufrdc Subdirectory containing BUFR encoding/decoding software bufrtables Subdirectory containing BUFR tables crexdc Subdirectory containing CREX encoding/decoding software crextables Subdirectory containing CREX tables land_sea_mask Subdirectory containing land-sea mask pbio Subdirectory containing binary read/write routines fft Subdirectory containing Multiple FFT routines examples Subdirectory containing example programs config Subdirectory containing configuration files for make options Subdirectory containing options files for make ************************************************************** This is instruction how to build library and install: Run the script bilding library and answer on a few questions: ./build_library After library is built, tables, land-sea mask and library should be installed at appropriate place. It is recomended to do it by install script. ./install If you want to put library in /usr/local/lib directory, you should run install script with root permission. ************************************************************** It is strongly suggested to build the library using shell script ./build_library and install using ./install !!! ************************************************************** Compilation options ------------------- Files are given for a variety of platforms defining the compilation options: makefile configuration, compiler options and source file lists. Using SGI as an example, these files are: 1) In the working directory config.sgimips config.sgimipsR64 options_sgimips 2) In subdirectories gribex and pbio sources.sgimips Compiling the library --------------------- The correct configuration, options and source files can be selected using for make variables: ARCH, CNAME, A64 and R64. ARCH indicates the machine architecture on which the Emos library will be installed. It may not necessarily have a pre-defined value. A list of possible values could include: linux, windows, CRAY, FUJITSU, VPP5000, decalpha, hppa, i686, ibm_power4, rs6000, sgimips and sun4. CNAME is used to name the compilers; it may or may not be pre-defined, depending on the operational system you use. If you want to choose your own compilers, you can define them in the appropriate 'config' file. For Linux CNAME=_gfortran can be specified in order to compile with Gnu compilers gcc and gfortran. decalpha - Compaq Fortran 90 compiler - the C++ compiler hppa - HP Fortran compiler - C compiler linux - The Portland Group Compiler Technology Fortran 90 compiler, pgf90 and pgcc - GNU project C, C++ Compiler, F77 compiler rs6000 - XL Fortran for AIX - C for AIX Compiler, Version 5 sgimips - MIPSpro F77 compiler - MIPS C compiler sun4 - Forte[tm] Developer 7 Fortran 95 compiler - SunOS/BSD Compatibility Package C compiler A64 determines 32 or 64 bits machine. R64 determines the number of bits in the representation of real numbers. The default is 32-bit. You can choose 64-bit setting R64=R64 in order to get 64-bit real numbers. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! If you decide to build the library using directly make, please NOTE that you have to specify path for gribtables, bufrtables, crextables, land_sea_mask, gribtemplates in appropriate config/config.$ARCH$CNAME$R64 You should add -DTABLE_PATH=\'/your path\'/ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! There are two ways of carrying out the compilation: ---------------------------------------------------- 1) Compile setting the ARCH variable just for the command: make ARCH=sgimips In this case R64 is pre-defined. 2) Compile setting the ARCH variable and choosing 64-bit reals; make ARCH=sgimips R64=R64 3) On Linux compile setting CNAME=_gfortran to force the use of the Gnu compilers gfortran and gcc. make ARCH=linux CNAME=_gfortran 4) Same as 3) and added A64 if machine is 64 bits Linux make ARCH=linux CNAME=_gfortran A64=A64 The library will be created in a working directory and be named libemos(R64).a. It is recommended that users should not change any routines in the source sub-directories because any changes would not be present in future ECMWF releases of this software. You can use other options for compilation. For example: selecting the working directory; modifying the configuration files; changing the level of optimisation; etc. The 'make' utility can be used repeatedly. It will only cause the re-compilation of routines which have been modified since the previous 'make'. Environment variables --------------------- IF YOU USE ./build_library SCRIPT YOU DON'T NEED TO SET ENVIRONMENTAL VARIABLES BELOW. The location of tables and land-sea mask could be specified by the environment variables. Put the specification of them in your startup files (.profile, ...) to ensure you have access to the tables and land-sea on future logins. Bourne or Korn shell: ECMWF_LOCAL_TABLE_PATH="choosen directory"/gribtables/ export ECMWF_LOCAL_TABLE_PATH LOCAL_DEFINITION_TEMPLATES="choosen directory"/gribtemplates/ export LOCAL_DEFINITION_TEMPLATES BUFR_TABLES="choosen directory"/bufrtables/ export BUFR_TABLES CREX_TABLES="choosen directory"/crextables/ export CREX_TABLES MARS_LSM_PATH="choosen directory"/land_sea_mask/ export MARS_LSM_PATH HIRLAM_LSM_PATH="choosen directory"/land_sea_mask/ export HIRLAM_LSM_PATH C-shell: setenv ECMWF_LOCAL_TABLE_PATH "choosen directory"/gribtables/ setenv LOCAL_DEFINITION_TEMPLATES "choosen directory"/gribtemplates/ setenv BUFR_TABLES "choosen directory"/bufrtables/ setenv CREX_TABLES "choosen directory"/crextables/ setenv MARS_LSM_PATH "choosen directory"/land_sea_mask/ setenv HIRLAM_LSM_PATH "choosen directory"/land_sea_mask/ The environment variable GRIBEX_DEBUG can be set to ON or OFF to switch on or off the debug output from GRIBEX. The environment variable GRIBEX_CHECK can be set to ON or OFF to switch on or off the checking of headers in GRIBEX. The environment variable JDCNDBG can be set to 1 in order to get comperhensive output from INTERPOLATION routines The following variable can be set to "true" in order to create CREX massege with check digit. USE_E=TRUE HIRLAM_LSM_PATH is place for LSM_GG_xxxx, reduced gaussian land-sea mask files, which is used just for rotation of surface fields. LSM_GG_xxxx files supplied with package are just for LITTLE ENDIAN machines. When compiling a program, you need to specify where to find libemos.a by putting its full pathname in the makefile. The initial location of the library is "working directory". An alternative is to put libemos.a in /usr/local/lib (this may need system priviliges) which is conventionally used on UNIX-type systems for holding libraries and should be defined in your environment PATH variable. The library name follows the normal UNIX convention (it starts with lib and ends in .a), so the library can be specified in the compile/link command using the standard ld convention, for example: cc -o program program.c -lemos You can see an examples of decoding a GRIB, BUFR, CREX product and interpolation in examples/ directory. cd examples than choose bufr, crex, gribex, interpolation, fft directory. Invoke 'make' and start an executable version of program e.g. agrdemo.F through: ./test.sh In case of gribex example that will temporary set env variables ECMWF_LOCAL_TABLE_PATH and LOCAL_DEFINITION_TEMPLATES and run ./agrdemo -i ../../data/latlon.grib for testing purpose before installation where latlon.grib is a file containing GRIB fields on latitude/longitude grids. It can be re-run for gaussian grids and spherical harmonic fields. Terminology ----------- >From here on, any reference to SOFTWARE in file names should be interpreted as the software you have received, i.e. GRIB, PBIO etc. The use of the word PLATFORM refers to the make of the computer for which the software is intended and substitutes for CRAY, sun etc. SUBPACKAGE could be any of pbio, gribex etc. and refers to a part of the whole SOFTWARE set. Provided for UNIX systems named above. -------------------------------------- This README file. The tar file emos_000version.tar (version is a 3-digit number). Other UNIX systems. ------------------- If you use a UNIX system other than those for which the software was prepared, you should experiment with the configurations provided to see if any are suitable for your system. If any problems are encountered, the following points are worth considering: Is your cc compiler ANSI? The C code in this software is ANSI conformant. Does your FORTRAN compiler need other switches? Look at other programs compiled on your system. Does your system need a ranlib command performed on the libraries? Do "man ar" or "man ranlib". How many bytes are there in a computer word. Is the platform big-endian or little-endian? Some of routines are dependent on the word size and on which bit in a computer word is the most significant. These dependencies may be resolved by choosing one or other of the files gbyte.c or gbyte_alpha.c(for a little-endian system). License -------- This software is licensed under the Apache License. emoslib-000392+dfsg.1/AUTHORS0000755000175000017500000000012712127406245016531 0ustar amckinstryamckinstryJohn Hennessy John Chambers Sinisa Curic Milan Dragosavac Keith Fielding Jean Clochard emoslib-000392+dfsg.1/gribtemplates/0000755000175000017500000000000012127406245020320 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_001_098_0010000777000175000017500000000000012127406245034460 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_235_0160000777000175000017500000000000012127406245034505 2localDefinitionTemplate_098_000_016ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_1900000755000175000017500000000111312127406245026411 0ustar amckinstryamckinstry! ! localDefinitionTemplate_190 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - zeroesForCompatibilityWithMars 50 PAD 42 2 numberOfLocalDefinitions 52 I1 44 - localDefinitions 53 LIST 45 numberOfLocalDefinitions localDefinitionNumber - I1 - - numberOfBytesInLocalDefinition - I2 - - ENDLIST - ENDLIST - localDefinitions streamOfLocalDefinitionBytes - BYTES - numberOfBytesInLocalDefinition emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_074_098_0160000777000175000017500000000000012127406245034506 2localDefinitionTemplate_098_000_016ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_233_0150000777000175000017500000000000012127406245034501 2localDefinitionTemplate_098_000_015ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_231_0160000777000175000017500000000000012127406245034501 2localDefinitionTemplate_098_000_016ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_074_098_0180000777000175000017500000000000012127406245034512 2localDefinitionTemplate_098_000_018ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_233_0010000777000175000017500000000000012127406245034467 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_007_098_0180000777000175000017500000000000012127406245034506 2localDefinitionTemplate_098_000_018ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0230000755000175000017500000000131512127406245026410 0ustar amckinstryamckinstry! ! localDefinitionTemplate_023 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - ensembleNumber 50 I2 42 - totalNumber 81 I2 43 - systemNumber 52 I2 44 - methodNumber 54 I2 45 - verifyingMonth 56 I4 46 - averagingPeriod 60 I1 47 - forecastMonth 61 I2 48 - referenceDate 63 I4 49 - climateDateFrom 67 I4 50 - climateDateTo 71 I4 51 - unitsDecimalScaleFactor 75 S1 52 - thresholdIndicator 76 I1 53 - lowerThresholdValue 77 I2 54 - upperThresholdValue 79 I2 55 - spareSetToZero 83 PAD 56 2 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_231_0040000777000175000017500000000000012127406245034473 2localDefinitionTemplate_098_000_004ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_234_0160000777000175000017500000000000012127406245034504 2localDefinitionTemplate_098_000_016ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0140000755000175000017500000000102512127406245026406 0ustar amckinstryamckinstry! ! localDefinitionTemplate_014 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - channelNumber 52 I1 44 - scalingFactorForFrequencies 53 I4 45 - numberOfFrequencies 57 I1 46 - spareSetToZero 58 PAD n/a 3 listOfScaledFrequencies 61 LP_I4 47 numberOfFrequencies moreSpareSetToZero - PADTO - 1080 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_007_000_0010000755000175000017500000000216412127406245026375 0ustar amckinstryamckinstry! ! KWBC localDefinitionTemplate_001 ! -------------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! sectionLength 1 L3 n/a ignore applicationIdentifier 41 I1 37 - type 42 I1 38 - identificationNumber 43 I1 39 - productIdentifier 44 I1 40 - spatialSmoothingOfProduct 45 I1 41 - ! if_ge_46 - IF_GT 45 sectionLength probProductDefinition 46 I1 42 - probabilityType 47 I1 43 - lowerLimit 48 I4 44 - upperLimit 52 I4 45 - padding 56 PAD n/a 5 endif_ge_46 - ENDIF if_ge_46 ! if_ge_61 - IF_GT 60 sectionLength ensembleSize 61 I1 46 - clusterSize 62 I1 47 - numberOfClusters 63 I1 48 - clusteringMethod 64 I1 49 - northLatitudeOfCluster 65 S3 50 - southLatitudeOfCluster 68 S3 51 - westLongitudeOfCluster 71 S3 52 - eastLongitudeOfCluster 74 S3 53 - clusterMember1 77 I1 54 - clusterMember2 78 I1 55 - clusterMember3 79 I1 56 - clusterMember4 80 I1 57 - clusterMember5 81 I1 58 - clusterMember6 82 I1 59 - clusterMember7 83 I1 60 - clusterMember8 84 I1 61 - clusterMember9 85 I1 62 - clusterMember10 86 I1 63 - endif_ge_61 - ENDIF if_ge_61 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_007_002_0000000755000175000017500000000216412127406245026376 0ustar amckinstryamckinstry! ! KWBC localDefinitionTemplate_001 ! -------------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! sectionLength 1 L3 n/a ignore applicationIdentifier 41 I1 37 - type 42 I1 38 - identificationNumber 43 I1 39 - productIdentifier 44 I1 40 - spatialSmoothingOfProduct 45 I1 41 - ! if_ge_46 - IF_GT 45 sectionLength probProductDefinition 46 I1 42 - probabilityType 47 I1 43 - lowerLimit 48 I4 44 - upperLimit 52 I4 45 - padding 56 PAD n/a 5 endif_ge_46 - ENDIF if_ge_46 ! if_ge_61 - IF_GT 60 sectionLength ensembleSize 61 I1 46 - clusterSize 62 I1 47 - numberOfClusters 63 I1 48 - clusteringMethod 64 I1 49 - northLatitudeOfCluster 65 S3 50 - southLatitudeOfCluster 68 S3 51 - westLongitudeOfCluster 71 S3 52 - eastLongitudeOfCluster 74 S3 53 - clusterMember1 77 I1 54 - clusterMember2 78 I1 55 - clusterMember3 79 I1 56 - clusterMember4 80 I1 57 - clusterMember5 81 I1 58 - clusterMember6 82 I1 59 - clusterMember7 83 I1 60 - clusterMember8 84 I1 61 - clusterMember9 85 I1 62 - clusterMember10 86 I1 63 - endif_ge_61 - ENDIF if_ge_61 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_078_098_0010000777000175000017500000000000012127406245034476 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_232_0040000777000175000017500000000000012127406245034474 2localDefinitionTemplate_098_000_004ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_080_098_0290000777000175000017500000000000012127406245034513 2localDefinitionTemplate_098_000_029ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_029.old0000755000175000017500000000221712127406245027175 0ustar amckinstryamckinstry! ! localDefinitionTemplate_029 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - totalNumberOfClusters 51 I1 43 - spareSetToZero 52 PAD n/a 1 clusteringMethod 53 I1 44 - northernLatitudeOfDomain 54 S3 45 - westernLongitudeOfDomain 57 S3 46 - southernLatitudeOfDomain 60 S3 47 - easternLongitudeOfDomain 63 S3 48 - numberOfForecastsInCluster 66 I1 49 listOfEnsembleForecastNumbers - LIST - numberOfForecastsInCluster baseDateEPS - I4 - - baseTimeEPS - I2 - - number - I1 - - endListOfEnsembleForecastNumbers - ENDLIST - listOfEnsembleForecastNumbers spareToEnsureFixedLength - PADTO n/a 960 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_235_0040000777000175000017500000000000012127406245034477 2localDefinitionTemplate_098_000_004ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_074_098_0150000777000175000017500000000000012127406245034504 2localDefinitionTemplate_098_000_015ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_232_0150000777000175000017500000000000012127406245034500 2localDefinitionTemplate_098_000_015ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_085_098_0040000777000175000017500000000000012127406245034502 2localDefinitionTemplate_098_000_004ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_013.old0000755000175000017500000000255312127406245027171 0ustar amckinstryamckinstry! ! localDefinitionTemplate_013 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - directionNumber 52 I1 44 - frequencyNumber 53 I1 45 - numberOfDirections 54 I1 46 - numberOfFrequencies 55 I1 47 - directionScalingFactor 56 I4 48 - frequencyScalingFactor 60 I4 49 - flag 64 F1 - 2 ! ! Old versions of wave 2D spectra direction and frequency do not ! have the systemNumber and methodNumber, and the flag is set to 0. ! if0 - IF_EQ 0 flag spareSetToZero 65 PAD n/a 36 endif0 - ENDIF if0 ! ! Old versions of wave 2D spectra direction and frequency do not ! have the systemNumber and methodNumber, and the flag is set to 0. ! ifgt0 - IF_GT 0 flag systemNumber 065 I2 - - methodNumber 067 I2 - - endifgt0 - ENDIF ifgt0 ! if1 - IF_EQ 1 flag spareSetToZero1 069 PAD n/a 32 endif1 - ENDIF if1 ! if2 - IF_EQ 2 flag referenceDate 069 I4 - - climateDateFrom 073 I4 - - climateDateTo 077 I4 - - spareSetToZero2 081 PAD n/a 20 endif2 - ENDIF if2 ! scaledDirections 101 LP_I4 50 numberOfDirections scaledFrequencies - LP_I4 - numberOfFrequencies emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_233_0040000777000175000017500000000000012127406245034475 2localDefinitionTemplate_098_000_004ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0500000755000175000017500000000133712127406245026414 0ustar amckinstryamckinstry! ! localDefinitionTemplate_050 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - modelIdentifier 52 I1 44 - latitudeOfNorthWestCornerOfArea 53 S4 45 - longitudeOfNorthWestCornerOfArea 57 S4 46 - latitudeOfSouthEastCornerOfArea 61 S4 47 - longitudeOfSouthEastCornerOfArea 65 S4 48 - !reservedForECMWFAdditions originalParameterNumber 69 I1 49 - originalParameterNumber 70 I1 50 - spareSetToZeroOctets 71 PAD n/a 46 spareSetToZeroKsec1 n/a PAD 51 10 optionalData 117 BYTES 61 184 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0070000755000175000017500000000061112127406245026410 0ustar amckinstryamckinstry! ! localDefinitionTemplate_007 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - domain 52 I1 44 - diagnosticNumber 53 I1 45 - spareSetToZero 54 PAD n/a 1 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_1920000755000175000017500000000102212127406245026412 0ustar amckinstryamckinstry! ! localDefinitionTemplate_192 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - zeroForCompatibilityWithMars 50 PAD 42 2 numberOfLocalDefinitions 52 I1 44 - listOfLocalDefinitions - LIST - numberOfLocalDefinitions localDefinitionLength - I2 - - localDefinition - LOCAL - - endListOfLocalDefinitions - ENDLIST - listOfLocalDefinitions emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_084_098_0010000777000175000017500000000000012127406245034473 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0240000755000175000017500000000060612127406245026413 0ustar amckinstryamckinstry! ! localDefinitionTemplate_024 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - satelliteIdentifier 50 I2 42 - instrumentIdentifier 52 I2 43 - channelNumber 54 I2 44 - functionCode 56 I1 45 - emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0280000755000175000017500000000216612127406245026422 0ustar amckinstryamckinstry! localDefinitionTemplate_028 ! --------------------------- ! ! ! # COSMO group, Local area EPS ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - baseDateEPS 52 I4 44 - baseTimeEPS 56 I2 45 - numberOfRepresentativeMember 58 I1 46 - numberOfMembersInCluster 59 I1 47 - totalInitialConditions 60 I1 48 - spareSetToZero 61 PAD n/a 19 ! + information about probabilities (they have already probabilities) ! + information about clustering (they save it as ASCII, at the moment...) emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_058_098_0110000777000175000017500000000000012127406245034476 2localDefinitionTemplate_098_000_011ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_233_0160000777000175000017500000000000012127406245034503 2localDefinitionTemplate_098_000_016ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0050000755000175000017500000000071512127406245026413 0ustar amckinstryamckinstry! ! localDefinitionTemplate_005 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - decimalScaleFactor 52 S1 44 - thresholdIndicator 53 I1 45 - lowerThreshold 54 S2 46 - upperThreshold 56 S2 47 - spareSetToZero 58 PAD n/a 1 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0130000755000175000017500000000360412127406245026412 0ustar amckinstryamckinstry! ! localDefinitionTemplate_013 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - directionNumber 52 I1 44 - frequencyNumber 53 I1 45 - numberOfDirections 54 I1 46 - numberOfFrequencies 55 I1 47 - directionScalingFactor 56 I4 48 - frequencyScalingFactor 60 I4 49 - flag 64 F1 - 3 ! ! Old versions of wave 2D spectra direction and frequency do not ! have the systemNumber and methodNumber, and the flag is set to 0. ! if0 - IF_EQ 0 flag spareSetToZero 65 PAD n/a 36 endif0 - ENDIF if0 ! ! Old versions of wave 2D spectra direction and frequency do not ! have the systemNumber and methodNumber, and the flag is set to 0. ! ! scaledDirections 101 LP_I4 50 numberOfDirections scaledFrequencies - LP_I4 - numberOfFrequencies ! if1 - IF_EQ 1 flag systemNumber 065 I2 - - methodNumber 067 I2 - - spareSetToZero1 069 PAD n/a 32 endif1 - ENDIF if1 ! if2 - IF_EQ 2 flag systemNumber 065 I2 - - methodNumber 067 I2 - - referenceDate 069 I4 - - climateDateFrom 073 I4 - - climateDateTo 077 I4 - - spareSetToZero2 081 PAD n/a 20 endif2 - ENDIF if2 ! if3 - IF_EQ 3 flag systemNumber 065 I2 - - methodNumber 067 I2 - - referenceDate 069 I4 - - climateDateFrom 073 I4 - - climateDateTo 077 I4 - - legBaseDate 081 I4 - - legBaseTime 085 I2 - - legNumber 087 I1 - - oceanAtmosphereCoupling 088 I1 - - spareSetToZero3 089 PAD n/a 12 endif3 - ENDIF if3 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0170000755000175000017500000000114112127406245026410 0ustar amckinstryamckinstry! ! localDefinitionTemplate_017 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - dateOfSSTFieldUsed 52 D3 44 - typeOfSSTFieldUsed 55 I1 45 - countOfICEFieldsUsed 56 I1 46 - iceFieldDate+Satellite 57 LIST 47 countOfICEFieldsUsed dateOfIceFieldUsed - D3 - - satelliteNumber - I1 - - ENDLIST - ENDLIST - iceFieldDate+Satellite paddingToMultipleOf40Bytes 57 PADMULT - 40 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_026.old0000755000175000017500000000132212127406245027166 0ustar amckinstryamckinstry! localDefinitionTemplate_026 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - referenceDate 52 I4 44 - spareSetToZero 56 PAD n/a 1 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0290000755000175000017500000000424612127406245026424 0ustar amckinstryamckinstry! ! localDefinitionTemplate_029 ! --------------------------- ! ! # COSMO Clustering Information ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - totalNumberOfClusters 51 I1 43 - spareSetToZero 52 PAD n/a 1 clusteringMethod 53 I1 44 - northernLatitudeOfDomain 54 S3 45 - westernLongitudeOfDomain 57 S3 46 - southernLatitudeOfDomain 60 S3 47 - easternLongitudeOfDomain 63 S3 48 - numberOfForecastsInCluster 66 I1 49 - numberOfParametersUsedForClustering 67 I1 50 - numberOfPressureLevelsUsedForClustering 68 I1 51 - numberOfStepsUsedForClustering 69 I1 52 - spareSetToZero 70 PAD n/a 10 ! ! EPS members listOfEnsembleForecastNumbers - LIST - numberOfForecastsInCluster baseDateEPS - I4 - - baseTimeEPS - I2 - - number - I1 - - endListOfEnsembleForecastNumbers - ENDLIST - listOfEnsembleForecastNumbers ! ! Variables listOfParametersUsedForClustering - LIST - numberOfParametersUsedForClustering parameterCode - I1 - - tableCode - I1 - - endListOfParametersUsedForClustering - ENDLIST - listOfParametersUsedForClustering ! ! Pressure levels listOfPressureLevelsUsedForClustering - LIST - numberOfPressureLevelsUsedForClustering pressureLevel - I2 - - endListOfPressureLevelsUsedForClustering - ENDLIST - listOfPressureLevelsUsedForClustering ! ! Steps listOfStepsUsedForClustering - LIST - numberOfStepsUsedForClustering step - I2 - - endListOfStepsUsedForClustering - ENDLIST - listOfStepsUsedForClustering ! spareToEnsureFixedLength - PADTO n/a 960 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_243_0010000777000175000017500000000000012127406245034470 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0210000755000175000017500000000207612127406245026413 0ustar amckinstryamckinstry! ! localDefinitionTemplate_021 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - forecastOrSingularVectorNumber 50 I2 42 - numberOfIterations 52 I2 43 - numberOfSingularVectorsComputed 54 I2 44 - normAtInitialTime 56 I1 45 - normAtFinalTime 57 I1 46 - multiplicationFactorForLatLong 58 I4 47 - northWestLatitudeOfVerficationArea 62 S4 48 - northWestLongitudeOfVerficationArea 66 S4 49 - southEastLatitudeOfVerficationArea 70 S4 50 - southEastLongitudeOfVerficationArea 74 S4 51 - accuracyMultipliedByFactor 78 I4 52 - numberOfSingularVectorsEvolved 82 I2 53 - !Ritz numbers: NINT(LOG10(RITZ)-5) 84 S4 54 - NINT(RITZ/(EXP(LOG(10.0*KSEC1(54)) 88 S4 55 - optimisationTime 92 I1 56 - forecastLeadTime 93 I1 57 - domain 94 A1 58 - methodNumber 95 I2 59 - totalNumberOfForecastsInEnsemble 97 I2 60 - shapeOfVerificationArea 99 I1 61 - spareSetToZero 100 PAD n/a 1 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_080_098_1910000777000175000017500000000000012127406245034513 2localDefinitionTemplate_098_000_191ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_074_098_0010000777000175000017500000000000012127406245034472 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_085_098_0210000777000175000017500000000000012127406245034500 2localDefinitionTemplate_098_000_021ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0250000755000175000017500000000054712127406245026420 0ustar amckinstryamckinstry! ! localDefinitionTemplate_025 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - componentIndex 50 I1 42 - numberOfComponents 51 I1 43 - modelErrorType 52 I1 44 - emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0020000755000175000017500000000144612127406245026412 0ustar amckinstryamckinstry! ! localDefinitionTemplate_002 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - totalNumberOfClusters 51 I1 43 - spareSetToZero 52 PAD n/a 1 clusteringMethod 53 I1 44 - startTimeStep 54 I2 45 - endTimeStep 56 I2 46 - northernLatititudeOfDomain 58 S3 47 - westernLongititudeOfDomain 61 S3 48 - southernLatititudeOfDomain 64 S3 49 - easternLongititudeOfDomain 67 S3 50 - operationalForecastCluster 70 I1 51 - controlForecastCluster 71 I1 52 - numberOfForecastsInCluster 72 I1 53 - ensembleForecastNumbers 73 LP_I1 54 numberOfForecastsInCluster spareToEnsureFixedLength - PADTO n/a 328 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_007_098_0010000777000175000017500000000000012127406245034466 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_1910000755000175000017500000000112512127406245026415 0ustar amckinstryamckinstry! ! localDefinitionTemplate_191 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - zeroForCompatibilityWithMars 50 PAD 42 2 formatVersionMajorNumber 52 I1 44 - formatVersionMinorNumber 53 I1 45 - originalSubCentreIdentifier 54 I1 46 - setToZero 55 PAD 47 4 numberOfBytesOfFreeFormatData 59 I2 51 - dataDescriptorBytes 61 BYTES 52 numberOfBytesOfFreeFormatData padToAMultipleOf80Bytes 60 PADFROM n/a 80 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0270000755000175000017500000000263412127406245026421 0ustar amckinstryamckinstry! localDefinitionTemplate_027 ! --------------------------- ! ! # Forecasting Systems with Variable Resolution (replaced by definition 30) ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - oceanAtmosphereCoupling 52 I1 44 - spare 53 I1 45 - padding 54 PAD n/a 2 ! VAriable Resolution (VAREPS) legBaseDate 56 I4 46 - ! yyyymmdd legBaseTime 60 I2 47 - ! hhmm legNumber 62 I1 48 - ! For hindcasts referenceDate 63 I4 49 - ! climateDateFrom 67 I4 50 - ! yyyymmdd (ensemble means of hindcasts) climateDateTo 71 I4 51 - ! yyyymmdd (ensemble means of hindcasts) spareSetToZero 75 PAD n/a 33 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_200_098_1910000777000175000017500000000000012127406245034505 2localDefinitionTemplate_098_000_191ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_085_098_0180000777000175000017500000000000012127406245034514 2localDefinitionTemplate_098_000_018ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_078_098_0180000777000175000017500000000000012127406245034516 2localDefinitionTemplate_098_000_018ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_085_098_0160000777000175000017500000000000012127406245034510 2localDefinitionTemplate_098_000_016ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0310000755000175000017500000000214112127406245026405 0ustar amckinstryamckinstry! localDefinitionTemplate_031 ! --------------------------- ! ! # EUROSIP Products ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - forecastMonth 52 I2 44 - dateOfForecastRun 54 I4 45 - ! yyyymmdd numberOfModels 58 I1 46 - spareSetToZero 59 PAD n/a 42 listOfModelIdentifiers 101 LIST 47 numberOfModels modelIdentifier - I2 - - ENDLIST - ENDLIST - listOfModelIdentifiers unusedEntriesSetToBlanks - SP_TO - 240 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0260000755000175000017500000000150612127406245026415 0ustar amckinstryamckinstry! localDefinitionTemplate_026 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - referenceDate 52 I4 44 - climateDateFrom 56 I4 45 - climateDateTo 60 I4 46 - spareSetToZero 64 PAD n/a 6 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_023.old0000755000175000017500000000127412127406245027171 0ustar amckinstryamckinstry! ! localDefinitionTemplate_023 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - ensembleNumber 50 I2 42 - zero n/a PAD 43 1 systemNumber 52 I2 44 - methodNumber 54 I2 45 - verifyingMonth 56 I4 46 - averagingPeriod 60 I1 47 - forecastMonth 61 I2 48 - referenceDate 63 I4 49 - climateDateFrom 67 I4 50 - climateDateTo 71 I4 51 - unitsDecimalScaleFactor 75 S1 52 - thresholdIndicator 76 I1 53 - lowerThresholdValue 77 I2 54 - upperThresholdValue 79 I2 55 - spareSetToZero 81 PAD 56 4 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0300000755000175000017500000000260012127406245026404 0ustar amckinstryamckinstry! localDefinitionTemplate_030 ! --------------------------- ! ! # Forecasting Systems with Variable Resolution ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - oceanAtmosphereCoupling 52 I1 44 - spare 53 I1 45 - padding 54 PAD n/a 2 ! VAriable Resolution (VAREPS) legBaseDate 56 I4 46 - ! yyyymmdd legBaseTime 60 I2 47 - ! hhmm legNumber 62 I1 48 - ! For hindcasts dateOfForecastRun 63 I4 49 - ! climateDateFrom 67 I4 50 - ! yyyymmdd (ensemble means of hindcasts) climateDateTo 71 I4 51 - ! yyyymmdd (ensemble means of hindcasts) spareSetToZero 75 PAD n/a 32 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_232_0160000777000175000017500000000000012127406245034502 2localDefinitionTemplate_098_000_016ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0150000755000175000017500000000061312127406245026411 0ustar amckinstryamckinstry! ! localDefinitionTemplate_015 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I2 42 - total 56 I2 43 - systemNumber 52 I2 44 - methodNumber 54 I2 45 - spareSetToZero 58 PAD n/a 3 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_214_098_2440000755000175000017500000001077012127406245026431 0ustar amckinstryamckinstry! ! localDefinitionTemplate_244 ! --------------------------- ! ! # SREPS Short-Range EPS information ! ! Last update: 20070223 ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! ! ! Compatibility with MARS ! localDefinitionNumber 41 I1 37 - Class 42 I1 38 - Type 43 I1 39 - Stream 44 I2 40 - experimentVersionNumber 46 A4 41 - Number. 50 I1 42 - Total. 51 I1 43 - ! ! **_EXPERIMENT_** ! ************_EXPERIMENT_************ 52 A4 44 - Experiment_Identifier 56 A8 45 - Sub-Experiment_Identifier 64 A8 47 - ! ! **_PRODUCT_** ! ************_PRODUCT_*************** 72 A4 49 - Original_CodeTable_2_Version_Number 76 I1 50 - Original_Parameter_Iden_(CodeTable2) 77 I1 51 - Original_Parameter_Identifier 78 A8 52 - Product_Identifier 86 A8 54 - ! ! Thresholds and Distributions ! Threshold_[Distribution]_(0=n,1=yes) 94 I2 56 - Threshold_[Distribution]_Units 96 A4 57 - At_least__[Distribut._Proportion_Of] 100 I4 58 - Less_Than_[To_Overall_Distribution] 104 I4 59 - ! zeroForFutureProducts 108 PAD 60 40 ! ! **_ENSEMBLE_** ! ************_ENSEMBLE_************** 148 A4 100 - Number_Combination_Ensembles_(1=no) 152 I2 101 - Show_Combination_E._[2]_(0=no,1=yes) 154 I1 102 - Show_Combination_E._[3]_(0=no,1=yes) 155 I1 103 - Show_Combination_E._[4]_(0=no,1=yes) 156 I1 104 - zeroForFutureCombinations 157 PAD 105 7 Total_Number_Members_Used 164 I2 112 - Total_Number_Members_Possible 166 I2 113 - Total_Number_Members_Missing 168 I2 114 - Ensemble_Combination_Number 170 I2 115 - Ensemble_Identifier 172 A8 116 - Local_Number_Members_Used 180 I2 118 - Local_Number_Members_Possible 182 I2 119 - Local_Number_Members_Missing 184 I2 120 - ! listMembersUsed - LIST - Local_Number_Members_Used Used_Model_LBC - A4 - - endlistMembersUsed - ENDLIST - listMembersUsed ! listMembersMissing - LIST - Local_Number_Members_Missing Missing_Model_LBC - A4 - - endlistMembersMissing - ENDLIST - listMembersMissing ! ! More than one Combination ! listEnsembleCombination2 - LIST - Show_Combination_E._[2]_(0=no,1=yes) Ensemble_Combinat._Number_(0=no)_[2] - I2 - - Ensemble_Identifier_[2] - A8 - - Local_Number_Members_Used_[2] - I2 - - Local_Number_Members_Possible_[2] - I2 - - Local_Number_Members_Missing_[2] - I2 - - Date_[2] - D3 - - Hour_[2] - I1 - - Minute_[2] - I1 - - Time_Range_One_[2] - I2 - - Time_Range_Two_[2] - I2 - - endlistEnsembleCombination2 - ENDLIST - listEnsembleCombination2 ! listMembersUsed_[2] - LIST - Local_Number_Members_Used_[2] Used_Model_LBC_[2] - A4 - - endlistMembersUsed_[2] - ENDLIST - listMembersUsed_[2] ! listMembersMissing_[2] - LIST - Local_Number_Members_Missing_[2] Missing_Model_LBC_[2] - A4 - - endlistMembersMissing_[2] - ENDLIST - listMembersMissing_[2] ! listEnsembleCombination3 - LIST - Show_Combination_E._[3]_(0=no,1=yes) Ensemble_Combinat._Number_(0=no)_[3] - I2 - - Ensemble_Identifier_[3] - A8 - - Local_Number_Members_Used_[3] - I2 - - Local_Number_Members_Possible_[3] - I2 - - Local_Number_Members_Missing_[3] - I2 - - Date_[3] - D3 - - Hour_[3] - I1 - - Minute_[3] - I1 - - Time_Range_One_[3] - I2 - - Time_Range_Two_[3] - I2 - - endlistEnsembleCombination3 - ENDLIST - listEnsembleCombination3 ! listMembersUsed_[3] - LIST - Local_Number_Members_Used_[3] Used_Model_LBC_[3] - A4 - - endlistMembersUsed_[3] - ENDLIST - listMembersUsed_[3] ! listMembersMissing_[3] - LIST - Local_Number_Members_Missing_[3] Missing_Model_LBC_[3] - A4 - - endlistMembersMissing_[3] - ENDLIST - listMembersMissing_[3] ! listEnsembleCombination4 - LIST - Show_Combination_E._[4]_(0=no,1=yes) Ensemble_Combinat._Number_(0=no)_[4] - I2 - - Ensemble_Identifier_[4] - A8 - - Local_Number_Members_Used_[4] - I2 - - Local_Number_Members_Possible_[4] - I2 - - Local_Number_Members_Missing_[4] - I2 - - Date_[4] - D3 - - Hour_[4] - I1 - - Minute_[4] - I1 - - Time_Range_One_[4] - I2 - - Time_Range_Two_[4] - I2 - - endlistEnsembleCombination4 - ENDLIST - listEnsembleCombination4 ! listMembersUsed_[4] - LIST - Local_Number_Members_Used_[4] Used_Model_LBC_[4] - A4 - - endlistMembersUsed_[4] - ENDLIST - listMembersUsed_[4] ! listMembersMissing_[4] - LIST - Local_Number_Members_Missing_[4] Missing_Model_LBC_[4] - A4 - - endlistMembersMissing_[4] - ENDLIST - listMembersMissing_[4] ! ! EXTRA INFORMATION like 191 ! *********_EXTRA_DATA_*************** - A4 - - Extra_Data_FreeFormat_(0=none) - I2 - - Data_Descriptor_Bytes - BYTES - Extra_Data_FreeFormat_(0=none) padToAMultipleOf80Bytes 0 PADFROM n/a 80 ! emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_054_098_0010000777000175000017500000000000012127406245034470 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0180000755000175000017500000000110612127406245026412 0ustar amckinstryamckinstry! ! localDefinitionTemplate_018 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - dataOrigin 52 I1 44 - modelIdentifier 53 A4 45 - consensusCount 57 I1 46 - spareSetToZero 58 PAD n/a 3 wmoCentreIdentifiers 61 LIST 47 consensusCount ccccIdentifiers - A4 - - ENDLIST - ENDLIST - wmoCentreIdentifiers unusedEntriesSetToBlanks - SP_TO - 120 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0080000755000175000017500000000051712127406245026416 0ustar amckinstryamckinstry! ! localDefinitionTemplate_008 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - intervalBetweenTimes 50 I1 42 - unsignedIntegers 51 I1 43 12 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_235_0150000777000175000017500000000000012127406245034503 2localDefinitionTemplate_098_000_015ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_234_0040000777000175000017500000000000012127406245034476 2localDefinitionTemplate_098_000_004ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_007_098_0110000777000175000017500000000000012127406245034470 2localDefinitionTemplate_098_000_011ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_241_0010000777000175000017500000000000012127406245034466 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_234_0150000777000175000017500000000000012127406245034502 2localDefinitionTemplate_098_000_015ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0200000755000175000017500000000055112127406245026406 0ustar amckinstryamckinstry! ! localDefinitionTemplate_020 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - iteration 50 I1 42 - totalNumberOfIterations 51 I1 43 - spareSetToZero 52 PAD n/a 1 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0110000755000175000017500000000126612127406245026412 0ustar amckinstryamckinstry! ! localDefinitionTemplate_011 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - classOfAnalysis 50 I1 42 - typeOfAnalysis 51 I1 43 - streamOfAnalysis 52 I2 44 - experimentVersionNumberOfAnalysis 54 A4 45 - yearOfAnalysis 58 I1 46 - monthOfAnalysis 59 I1 47 - dayOfAnalysis 60 I1 48 - hourOfAnalysis 61 I1 49 - minuteOfAnalysis 62 I1 50 - centuryOfAnalysis 63 I1 51 - originatingCentreOfAnalysis 64 I1 52 - subcentreOfAnalysis 65 I1 53 - spareSetToZero 66 PAD n/a 7 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_232_0010000777000175000017500000000000012127406245034466 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_244_098_0010000777000175000017500000000000012127406245034471 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_027.old0000755000175000017500000000251312127406245027172 0ustar amckinstryamckinstry! localDefinitionTemplate_027 ! --------------------------- ! ! # Forecasting Systems with Variable Resolution ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - systemNumber 52 I2 44 - methodNumber 54 I2 45 - ! VAriable Resolution (VAREPS) legBaseDate 56 I4 46 - ! yyyymmdd legBaseTime 60 I2 47 - ! hhmm legNumber 62 I1 48 - ! For hindcasts referenceDate 63 I4 46 - ! climateDateFrom 67 I4 47 - ! yyyymmdd (ensemble means of hindcasts) climateDateTo 71 I4 48 - ! yyyymmdd (ensemble means of hindcasts) spareSetToZero 75 PAD n/a 33 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0320000755000175000017500000000162012127406245026407 0ustar amckinstryamckinstry! ! localDefinitionTemplate_032 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - totalNumberOfClusters 51 I1 43 - spareSetToZero 52 PAD n/a 1 clusteringMethod 53 I1 44 - startTimeStep 54 I2 45 - endTimeStep 56 I2 46 - northernLatititudeOfDomain 58 S3 47 - westernLongititudeOfDomain 61 S3 48 - southernLatititudeOfDomain 64 S3 49 - easternLongititudeOfDomain 67 S3 50 - domain 70 A1 51 - operationalForecastCluster 71 I1 52 - controlForecastCluster 72 I1 53 - representativeMember 73 I1 54 - climatologicalRegime 74 I1 55 - numberOfForecastsInCluster 75 I1 56 - ensembleForecastNumbers 76 LP_I1 57 numberOfForecastsInCluster spareToEnsureFixedLength - PADTO n/a 328 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0010000755000175000017500000000052712127406245026410 0ustar amckinstryamckinstry! ! localDefinitionTemplate_001 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - spareSetToZero 52 PAD n/a 1 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0060000755000175000017500000000104312127406245026407 0ustar amckinstryamckinstry! ! localDefinitionTemplate_006 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - zeroes 50 PAD 42 2 dateOfSSTFieldUsed 52 D3 44 - typeOfSSTFieldUsed 55 I1 45 - countOfICEFieldsUsed 56 I1 46 - iceFieldDate+Satellite 57 LIST 47 countOfICEFieldsUsed dateOfIceFieldUsed - D3 - - satelliteNumber - I1 - - ENDLIST - ENDLIST - iceFieldDate+Satellite emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_058_098_0010000777000175000017500000000000012127406245034474 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0190000755000175000017500000000113712127406245026417 0ustar amckinstryamckinstry! ! localDefinitionTemplate_019 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - ensembleSize 51 I1 43 - versionNumberOfESuite 52 I1 44 - implementationDate 53 I4 45 - numberOfReforecastYears 57 I3 46 - lengthOfClimate 60 I3 47 - reforecastSize 63 I3 48 - versionOfModelClimate 66 I3 49 - efiOrder 69 I1 50 - efiVersion 70 I1 51 - spareSetToZero 71 PAD n/a 10 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0040000755000175000017500000000454712127406245026421 0ustar amckinstryamckinstry! ! localDefinitionTemplate_004 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - ! if stream == 1090 if1 - IF_EQ 1090 stream ensembleMemberNumber 50 I2 42 - setToZeroForStream1090Unpacking n/a PAD 43 1 endif1 - ENDIF if1 ! if stream != 1090 if2 - IF_NEQ 1090 stream ensembleMemberNumber 50 I1 42 - setToZero 51 PAD 43 1 endif2 - ENDIF if2 flagShowingPostAuxiliaryArrayInUse 52 F1 - 1 systemNumber 53 I1 44 - methodNumber 54 I1 45 - ! ! Coordinate structure definition ! spaceUnitFlag 55 I1 46 - verticalCoordinateDefinition 56 I1 47 - horizontalCoordinateDefinition 57 I1 48 - timeUnitFlag 58 I1 49 - timeCoordinateDefinition 59 I1 50 - ! ! Position definition: mixed coordinates ! mixedCoordinateFieldFlag 60 I1 51 - coordinate1Flag 61 I1 52 - averagingFlag 62 I1 53 - positionOfLevel1 63 S4 54 - positionOfLevel2 67 S4 55 - coordinate2Flag 71 I1 56 - averagingFlag 72 I1 57 - positionOfLevel1 73 S4 58 - positionOfLevel2 77 S4 59 - ! ! Data grid definitions ! coordinate3Flag 81 I1 60 - coordinate4Flag 82 I1 61 - coordinate4OfFirstGridPoint 83 S4 62 - coordinate3OfFirstGridPoint 87 S4 63 - coordinate4OfLastGridPoint 91 S4 64 - coordinate3OfLastGridPoint 95 S4 65 - iIncrement 99 S4 66 - jIncrement 103 S4 67 - flagForIrregularGridCoordinateList 107 I1 68 - flagForNormalOrStaggeredGrid 108 I1 69 - ! ! Auxiliary information ! flagForAnyFurtherInformation 109 I1 70 - numberInHorizontalCoordinates 110 I1 71 - numberInMixedCoordinateDefinition 111 I2 72 - numberInTheGridCoordinateList 113 I2 73 - numberInTheAuxiliaryArray 115 I2 74 - ! ! Horizontal coordinate definition ! horizontalCoordinateSupplement - LP_S4 - numberInHorizontalCoordinates ! ! Mixed coordinate definition ! mixedCoordinateDefinition - LP_S4 - numberInMixedCoordinateDefinition ! ! Grid coordinate list ! gridCoordinateList - LP_S4 - numberInTheGridCoordinateList ! ! Auxiliary array ! auxiliaryArray - LP_I4 - numberInTheAuxiliaryArray ! ! Post-auxiliary array ! if3 - IF_EQ 1 flagShowingPostAuxiliaryArrayInUse sizeOfPostAuxiliaryArray - I4 - - arrayValues - LP_I4M1 - sizeOfPostAuxiliaryArray endif3 - ENDIF if3 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_214_098_2450000755000175000017500000000144312127406245026427 0ustar amckinstryamckinstry! ! localDefinitionTemplate_245 ! --------------------------- ! ! # Members information of ! # SREPS Short-Range EPS ! ! Last update: 20070323 ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - Model_Identifier 52 A8 44 - LBC_Initial_Conditions 60 A8 46 - Model_LBC_Member_Identifier 68 A4 48 - Model_Additional_Information 72 A8 49 - zeroForFutureDevelopments 80 PAD 51 20 Extra_Data_FreeFormat_(0=none) 100 I2 71 - Data_Descriptor_Bytes 102 BYTES 72 Extra_Data_FreeFormat_(0=none) padToAMultipleOf80Bytes 0 PADFROM n/a 80 ! emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_078_098_1910000777000175000017500000000000012127406245034522 2localDefinitionTemplate_098_000_191ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_240_0010000777000175000017500000000000012127406245034465 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_0255_098_0180000777000175000017500000000000012127406245034573 2localDefinitionTemplate_098_000_018ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_231_0010000777000175000017500000000000012127406245034465 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_0255_098_0010000777000175000017500000000000012127406245034553 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_085_098_0010000777000175000017500000000000012127406245034474 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_034_098_0010000777000175000017500000000000012127406245034466 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0090000755000175000017500000000217012127406245026414 0ustar amckinstryamckinstry! ! localDefinitionTemplate_009 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - forecastOrSingularVectorNumber 50 I2 42 - ! ! These elements are set to zero for perturbed forecast ! if1 - IF_EQ 60 type octetsSetToZero 52 PAD n/a 41 ksec1SetToZero n/a PAD 43 13 endif1 - ENDIF if1 ! ! These elements are coded for singular vectors ! if2 - IF_NEQ 60 type numberOfIterations 52 I2 43 - numberOfSingularVectorsComputed 54 I2 44 - normAtInitialTime 56 I1 45 - normAtFinalTime 57 I1 46 - multiplicationFactorForLatLong 58 I4 47 - northWestLatitudeOfLPOArea 62 S4 48 - northWestLongitudeOfLPOArea 66 S4 49 - southEastLatitudeOfLPOArea 70 S4 50 - southEastLongitudeOfLPOArea 74 S4 51 - accuracyMultipliedByFactor 78 I4 52 - numberOfSingularVectorsEvolved 82 I2 53 - !Ritz numbers: NINT(LOG10(RITZ)-5) 84 S4 54 - NINT(RITZ/(EXP(LOG(10.0*KSEC1(54)) 88 S4 55 - endif2 - ENDIF if2 spareSetToZero 92 PAD n/a 1 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_080_098_0280000777000175000017500000000000012127406245034511 2localDefinitionTemplate_098_000_028ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0100000755000175000017500000000171112127406245026404 0ustar amckinstryamckinstry! ! localDefinitionTemplate_010 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I1 42 - total 51 I1 43 - centralClusterDefinition 52 I1 44 - parameterIndicator 53 I1 45 - levelIndicator 54 I1 46 - northLatitudeOfDomainOfTubing 55 S3 47 - westLongitudeOfDomainOfTubing 58 S3 48 - southLatitudeOfDomainOfTubing 61 S3 49 - eastLongitudeOfDomainOfTubing 64 S3 50 - numberOfOperationalForecastTube 67 I1 51 - numberOfControlForecastTube 68 I1 52 - heightOrPressureOfLevel 69 I2 53 - referenceStep 71 I2 54 - radiusOfCentralCluster 73 I2 55 - ensembleStandardDeviation 75 I2 56 - distanceFromTubeToEnsembleMean 77 I2 57 - numberOfForecastsInTube 79 I1 58 - ensembleForecastNumbers 80 LP_I1 59 numberOfForecastsInTube spareToEnsureFixedLength - PADTO n/a 334 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0160000755000175000017500000000074112127406245026414 0ustar amckinstryamckinstry! ! localDefinitionTemplate_016 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - number 50 I2 42 - zero n/a PAD 43 1 systemNumber 52 I2 44 - methodNumber 54 I2 45 - verifyingMonth 56 I4 46 - averagingPeriod 60 I1 47 - forecastMonth 61 I2 48 - spareSetToZero 63 PAD n/a 18 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_085_098_0150000777000175000017500000000000012127406245034506 2localDefinitionTemplate_098_000_015ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0350000755000175000017500000000160112127406245026411 0ustar amckinstryamckinstry! ! localDefinitionTemplate_035 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - yearOfReference 50 I1 42 - monthOfReference 51 I1 43 - dayOfReference 52 I1 44 - hourOfReference 53 I1 45 - minuteOfReference 54 I1 46 - centuryOfReference 55 I1 47 - ! numberOfForecasts 56 I1 48 - numberOfAnalysis 57 I1 49 - ! listOfForecastSteps - LIST - numberOfForecasts forecastSteps - I3 - - endListOfForecastSteps - ENDLIST - listOfForecastSteps ! listOfAnalysis - LIST - numberOfAnalysis analysisOffset - I3 - - endListOfAnalysisteps - ENDLIST - listOfAnalysis spareToEnsureFixedLength - PADTO n/a 120 ! emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_007_002_0010000755000175000017500000000216412127406245026377 0ustar amckinstryamckinstry! ! KWBC localDefinitionTemplate_001 ! -------------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! sectionLength 1 L3 n/a ignore applicationIdentifier 41 I1 37 - type 42 I1 38 - identificationNumber 43 I1 39 - productIdentifier 44 I1 40 - spatialSmoothingOfProduct 45 I1 41 - ! if_ge_46 - IF_GT 45 sectionLength probProductDefinition 46 I1 42 - probabilityType 47 I1 43 - lowerLimit 48 I4 44 - upperLimit 52 I4 45 - padding 56 PAD n/a 5 endif_ge_46 - ENDIF if_ge_46 ! if_ge_61 - IF_GT 60 sectionLength ensembleSize 61 I1 46 - clusterSize 62 I1 47 - numberOfClusters 63 I1 48 - clusteringMethod 64 I1 49 - northLatitudeOfCluster 65 S3 50 - southLatitudeOfCluster 68 S3 51 - westLongitudeOfCluster 71 S3 52 - eastLongitudeOfCluster 74 S3 53 - clusterMember1 77 I1 54 - clusterMember2 78 I1 55 - clusterMember3 79 I1 56 - clusterMember4 80 I1 57 - clusterMember5 81 I1 58 - clusterMember6 82 I1 59 - clusterMember7 83 I1 60 - clusterMember8 84 I1 61 - clusterMember9 85 I1 62 - clusterMember10 86 I1 63 - endif_ge_61 - ENDIF if_ge_61 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_074_098_0110000777000175000017500000000000012127406245034474 2localDefinitionTemplate_098_000_011ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_231_0150000777000175000017500000000000012127406245034477 2localDefinitionTemplate_098_000_015ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_242_0010000777000175000017500000000000012127406245034467 2localDefinitionTemplate_098_000_001ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_074_098_0040000777000175000017500000000000012127406245034500 2localDefinitionTemplate_098_000_004ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_098_000_0030000755000175000017500000000053312127406245026407 0ustar amckinstryamckinstry! ! localDefinitionTemplate_003 ! --------------------------- ! !Description Octet Code Ksec1 Count !----------- ----- ---- ----- ----- ! localDefinitionNumber 41 I1 37 - class 42 I1 38 - type 43 I1 39 - stream 44 I2 40 - experimentVersionNumber 46 A4 41 - band 50 I1 42 - functionCode 51 I1 43 - spareSetToZero 52 PAD n/a 1 emoslib-000392+dfsg.1/gribtemplates/localDefinitionTemplate_074_098_0210000777000175000017500000000000012127406245034476 2localDefinitionTemplate_098_000_021ustar amckinstryamckinstryemoslib-000392+dfsg.1/options/0000755000175000017500000000000012127406245017151 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/options/options_ibm_power60000755000175000017500000000017012127406245022721 0ustar amckinstryamckinstryRANLIB = /bin/ranlib .SUFFIXES: .o .F .c .c.o: $(CC) $(CFLAGS) -c $< .F.o: $(FC) -WF,$(CPPFLAGS) $(FFLAGS) -c $*.F emoslib-000392+dfsg.1/options/options_decmips0000755000175000017500000000012012127406245022267 0ustar amckinstryamckinstry.SUFFIXES: .o .c .F .F.o: $(FC) $(FFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_linux_g770000755000175000017500000000012012127406245022466 0ustar amckinstryamckinstry.SUFFIXES: .o .c .F .F.o: $(FC) $(FFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_VPP50000000755000175000017500000000017112127406245021623 0ustar amckinstryamckinstryRANLIB = /bin/true .SUFFIXES: .o .c .F .F.o: rm -f $@ $(FC) $(FFLAGS) -c $< .c.o: rm -f $@ $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_ibm_power70000755000175000017500000000017012127406245022722 0ustar amckinstryamckinstryRANLIB = /bin/ranlib .SUFFIXES: .o .F .c .c.o: $(CC) $(CFLAGS) -c $< .F.o: $(FC) -WF,$(CPPFLAGS) $(FFLAGS) -c $*.F emoslib-000392+dfsg.1/options/options_i86pc0000755000175000017500000000012012127406245021574 0ustar amckinstryamckinstry.SUFFIXES: .o .c .F .F.o: $(FC) $(FFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_CRAY0000755000175000017500000000006212127406245021406 0ustar amckinstryamckinstryRANLIB = /bin/true .F.o: $(FC) $(FFLAGS) -c $< emoslib-000392+dfsg.1/options/options_hpia640000755000175000017500000000036512127406245021751 0ustar amckinstryamckinstryRANLIB = ranlib # # Following generally suitable for use with fort77 # #.F.o: # $(FC) $(FFLAGS) -c $< # # Following used at ECMWF, currently using f77 # .F.o: /usr/ccs/lbin/cpp -P $(CPPFLAGS) $< > $*.f $(FC) $(FFLAGS) -c $*.f \rm -f $*.f emoslib-000392+dfsg.1/options/options_itanium0000755000175000017500000000012012127406245022311 0ustar amckinstryamckinstry.SUFFIXES: .o .c .F .F.o: $(FC) $(FFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_decalpha0000755000175000017500000000012012127406245022404 0ustar amckinstryamckinstry.SUFFIXES: .o .c .F .F.o: $(FC) $(FFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_ibm_power40000755000175000017500000000017012127406245022717 0ustar amckinstryamckinstryRANLIB = /bin/ranlib .SUFFIXES: .o .F .c .c.o: $(CC) $(CFLAGS) -c $< .F.o: $(FC) -WF,$(CPPFLAGS) $(FFLAGS) -c $*.F emoslib-000392+dfsg.1/options/options_sun40000755000175000017500000000014112127406245021537 0ustar amckinstryamckinstryRANLIB = ranlib .SUFFIXES: .o .c .F .F.o: $(FC) $(FFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_FUJITSU0000755000175000017500000000017112127406245022002 0ustar amckinstryamckinstryRANLIB = /bin/true .SUFFIXES: .o .c .F .F.o: rm -f $@ $(FC) $(FFLAGS) -c $< .c.o: rm -f $@ $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_linux0000755000175000017500000000016512127406245022013 0ustar amckinstryamckinstry.SUFFIXES: .o .c .F .F90 .F.o: $(FC) $(FFLAGS) -c $< .F90.o: $(FC) $(FFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_i6860000755000175000017500000000017112127406245021345 0ustar amckinstryamckinstryRANLIB = /bin/true .SUFFIXES: .o .c .F .F.o: rm -f $@ $(FC) $(FFLAGS) -c $< .c.o: rm -f $@ $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_sgimips0000755000175000017500000000014412127406245022324 0ustar amckinstryamckinstryRANLIB = /bin/true .SUFFIXES: .o .c .F .F.o: $(FC) $(FFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< emoslib-000392+dfsg.1/options/options_rs60000000755000175000017500000000023112127406245021600 0ustar amckinstryamckinstryRANLIB = /bin/ranlib .SUFFIXES: .o .F .c .c.o: cc $(CFLAGS) -c $< .F.o: - cc $(CFLAGS) -P -C -c $< mv $*.i $*.f $(FC) $(FFLAGS) -qintlog -c $*.f emoslib-000392+dfsg.1/options/options_hppa0000755000175000017500000000036512127406245021606 0ustar amckinstryamckinstryRANLIB = ranlib # # Following generally suitable for use with fort77 # #.F.o: # $(FC) $(FFLAGS) -c $< # # Following used at ECMWF, currently using f77 # .F.o: /usr/ccs/lbin/cpp -P $(CPPFLAGS) $< > $*.f $(FC) $(FFLAGS) -c $*.f \rm -f $*.f emoslib-000392+dfsg.1/crexdc/0000755000175000017500000000000012127406245016726 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/crexdc/crexs1.F0000755000175000017500000003141112127406245020245 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXS1( KBUFL,YBUFF,KSUP,KSEC0,KSEC1,KERR) C C**** *CREXS1* C C C PURPOSE. C -------- C Expands section 1 of CREX message. Saves expanded information C in the array KSEC1. C C** INTERFACE. C ---------- C C *CALL* *BUEXS1( KBUFL,YBUFF,KSUP,KSEC0,KSEC1,KERR)* C C INPUT : C *KBUFL* - length of CREX message (words) C *YBUFF* - array containing CREX message C OUTPUT: C *KSUP* - Integer array of 9 words containing C suplementary information C - KSUP( 1) -- IDIM1, dimension of KSEC1 C - KSUP( 2) -- Reserved C - KSUP( 3) -- IDIM3, dimension of KSEC3 C - KSUP( 4) -- Reserved C - KSUP( 5) -- M (number of elements in values C array, first index) C - KSUP( 6) -- N (number of subsets,second index C of values array) C - KSUP( 7) -- JVC (number of elements in CVAL array) C - KSUP( 8) -- total CREX message length in bytes C - KSUP( 9) -- IDIM0, dimension of KSEC0 C C *KSEC0* - array containing section 0 information C KSEC0( 1)-- length of section 0 (bytes) C KSEC0( 2)-- total length of CREX message (bytes) C KSEC0( 3)-- CREX Edition number C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Reserved C KSEC1( 4)-- Reserved C KSEC1( 5)-- Reserved C KSEC1( 6)-- CREX message type C KSEC1( 7)-- Reserved C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Reserved C KSEC1(10)-- Reserved C KSEC1(11)-- Reserved C KSEC1(12)-- Reserved C KSEC1(13)-- Reserved C KSEC1(14)-- CREX Master table C KSEC1(15)-- version number of Master table used C KSEC1(16) - KSEC1(40) -- Reserved C C C Crex Edition 2 C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Originating Centre ( oooo) C KSEC1( 4)-- Update sequence number (uu) C KSEC1( 5)-- Number of subsets (sss) C KSEC1( 6)-- CREX data category (nnn) C KSEC1( 7)-- International data sub-category (mmm) C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Year (yyyy) C KSEC1(10)-- Month (mm) C KSEC1(11)-- Day (dd) C KSEC1(12)-- Hour (hh) C KSEC1(13)-- Minute (mm) C KSEC1(14)-- CREX Master table (tt) C KSEC1(15)-- version number of Master table used (vv) C KSEC1(16)-- Originating sub-centre (ppp) C KSEC1(17)-- Bufr master table version number C KSEC1(18)-- Bufr version number of local table used C KSEC1(19) - KSEC1(40) -- Reserved C C *KERR* - Return error code C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C DIMENSION KSUP(JSUP),KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION ISEC1(JSEC1) C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON/CREXTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C COMMON/CREXTABC/ CREXNAME(JTAB),CREXUNIT(JTAB),CREXLST(JELEM) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array c C COMMON /CREXEL/ NCREXTDLEN,NCREXTDLST(JELEM),NCREXTDEXL, 1 NCREXTDEXP(JELEM) c CHARACTER*6 CREXLST CHARACTER*64 CREXNAME CHARACTER*24 CREXUNIT REAL*8 RVIND,EPS c CHARACTER*(*) YBUFF C C ------------------------------------------------------------------ C* 1. EXPAND SECTION 1. C ------------------ 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF(YBUFF(NBPT:NBPT).NE.'T') THEN KERR=42 CALL CREXERR(KERR) RETURN END IF C NBPT=NBPT+1 ITEMP=NBPT CALL NEXTSEC(KBUFL,YBUFF, ITEMP,NGS,KERR ) IF(KERR.NE.0) THEN KERR=40 CALL CREXERR(KERR) RETURN END IF C IF(ITEMP.GT.NGS) THEN KERR=43 CALL CREXERR(KERR) RETURN END IF C C C Get Master table used tt C CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(14),KERR ) IF(KERR.NE.0) THEN KERR=44 CALL CREXERR(KERR) RETURN END IF C C Get CREX Edition number ee C CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(2),KERR) IF(KERR.NE.0) THEN KERR=45 CALL CREXERR(KERR) RETURN END IF KSEC0(3)=KSEC1(2) C C Get Version number of master table used vv C CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(15),KERR) IF(KERR.NE.0) THEN KERR=46 CALL CREXERR(KERR) RETURN END IF C IF(KSEC1(2).EQ.2 ) THEN C C Bufr master table version number bb C CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(17),KERR) IF(KERR.NE.0) THEN KERR=46 CALL CREXERR(KERR) RETURN END IF C C Bufr version number of local table ww C CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(18),KERR) IF(KERR.NE.0) THEN KERR=46 CALL CREXERR(KERR) RETURN END IF END IF CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) CALL NEXTPRT(KBUFL,YBUFF,NBPT,ITEMP,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF C IF(YBUFF(NBPT:NBPT).NE.'A') THEN print*,'CREX table A not found.' RETURN END IF C NBPT=NBPT+1 C C Get CREX table A nnn C CALL EXTGRP(KBUFL,YBUFF, NBPT,3,KSEC1(6),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF IF(KSEC1(2).eq.2) THEN C C Get international sub-category mmm C CALL EXTGRP(KBUFL,YBUFF, NBPT,3,KSEC1(7),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) CALL NEXTPRT(KBUFL,YBUFF,NBPT,ITEMP,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF C IF(YBUFF(NBPT:NBPT).NE.'P') THEN print*,'CREX oiginating centre not found.' RETURN END IF C NBPT=NBPT+1 C C Get originating centre ooooo C CALL EXTGRP(KBUFL,YBUFF, NBPT,5,KSEC1(3),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF C C Get originating sub-centre ppp C CALL EXTGRP(KBUFL,YBUFF, NBPT,3,KSEC1(16),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) CALL NEXTPRT(KBUFL,YBUFF,NBPT,ITEMP,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF C IF(YBUFF(NBPT:NBPT).NE.'U') THEN print*,'CREX update sequence number not found.' RETURN END IF C NBPT=NBPT+1 C C Get update sequence number uu C CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(4),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF C CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) CALL NEXTPRT(KBUFL,YBUFF,NBPT,ITEMP,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF C IF(YBUFF(NBPT:NBPT).NE.'S') THEN print*,'CREX number of subsets not found.' RETURN END IF C NBPT=NBPT+1 C Get number of subsets C CALL EXTGRP(KBUFL,YBUFF, NBPT,3,KSEC1(5),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF C CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) CALL NEXTPRT(KBUFL,YBUFF,NBPT,ITEMP,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF IF(YBUFF(NBPT:NBPT).NE.'Y') THEN print*,'CREX date not found.' RETURN END IF C NBPT=NBPT+1 C C Get CREX date C CALL EXTGRP(KBUFL,YBUFF, NBPT,4,KSEC1(9),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(10),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF C CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(11),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) CALL NEXTPRT(KBUFL,YBUFF,NBPT,ITEMP,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF C IF(YBUFF(NBPT:NBPT).NE.'H') THEN print*,'CREX time not found.' RETURN END IF C NBPT=NBPT+1 C C Get CREX time C CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(12),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF CALL EXTGRP(KBUFL,YBUFF, NBPT,2,KSEC1(13),KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF C END IF C KTDLEN=0 C 200 CONTINUE C CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) CALL NEXTPRT(KBUFL,YBUFF,NBPT,ITEMP,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF C IF(NBPT.GE.ITEMP) GO TO 300 C IF(YBUFF(NBPT:NBPT).EQ.'E') THEN NE=1 GO TO 200 END IF KTDLEN=KTDLEN+1 CALL EXTGRPC(KBUFL,YBUFF, NBPT,6,CREXLST(KTDLEN),KERR) IF(KERR.NE.0) THEN print*,'extgrpc : error ',kerr RETURN END IF C GO TO 200 C 300 CONTINUE C NCREXTDLEN=KTDLEN C ------------------------------------------------------------------ C RETURN END emoslib-000392+dfsg.1/crexdc/Makefile.shared0000755000175000017500000000104312127406245021634 0ustar amckinstryamckinstry# # Makefile for crexdc # LIBRARY = ../lib$(LIB)$(R64).so # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # PROFILE=$(SHLIB) # TARGETS = all clean # include sources # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(EXTRAOBJ) $(LD) $(DYNLINKFLAGS) $? -o $@ clean: \rm -f $(OBJECTS) *.f emoslib-000392+dfsg.1/crexdc/crexprco.F0000755000175000017500000001304312127406245020666 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXPRCO(KBUFL,YBUFF,KJ,KDD,KSTACK,KELEM,KERR) C C**** *CREXPRCO* C C C PURPOSE. C -------- C C Process CREX operator. C C** INTERFACE. C ---------- C C *CALL* *CREXPRCO(KBUFL,YBUFF,KJ,KDD,KSTACK,KELEM,KERR)* C C INPUT : C *KBUFL* - length of CREX message (words) C *YBUFF* - array containing CREX message C *KJ* - pointer to array kstack C *KDD* - data descriptor C *KELEM* - dimension of CNAMES, CUNITS array C OUTPUT: C *KSTACK* - list of descriptors C *KERR* - return error code C C *METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CREXWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM),NCREXWTRV(JELEM), 4 NCREXWTDW(JELEM),NWTIW(JELEM),NWTIWS(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTRV - working reference value C NCREXWTDW - working data width C NWTIW - working data width of increments C NWTIWS - working total data width of element set C C COMMON /CREXWTC/ CREXWTEN(JELEM),CREXWTU (JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C C COMMON /CREXBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C C COMMON /CREXUT/ YUNIT,CUNITNAME,CIA5,CIA2,NCODE,NRECORDS C C NCODE - array containing unit code number C CUNITNAME - array containing unit name C CIA5 - array containing unit CCITTIA5 name C CIA2 - array containing unit CCITTIA2 name C NRECORDS - number of entries in the list C DIMENSION NCODE(JCTEXT) CHARACTER*30 CUNITNAME(JCTEXT) CHARACTER*24 CIA5(JCTEXT) CHARACTER*24 CIA2(JCTEXT) CHARACTER*24 YUNIT C CHARACTER CREXWTEN*64,CREXWTU*24 DIMENSION KSTACK(*) CHARACTER*(*) YBUFF REAL*8 RVIND,EPS C C ------------------------------------------------------------------ C C* 1. DETERMINE *F *X AND *Y. C ----------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 C IF( IF.NE.2 ) THEN KERR=21 PRINT*,' CREXPRCO :' CALL CREXERR(KERR) GO TO 400 END IF C C* 1.1 CHANGE DATA WIDTH ? C ------------------- 110 CONTINUE C IF(IX.EQ.1) THEN NCREXDWINC= IY GO TO 400 END IF C C* 1.2 CHANGE SCALE ? C -------------- 120 CONTINUE C IF(IX.EQ.2) THEN C C* 1.2.1 UPDATE SCALE MULTIPLIER. C ------------------------ C IF(IY.GT.900) IY=-(IY-900) NCREXSCAM=IY GO TO 400 END IF C C C* 1.5 SIGNIFY CHARACTER ? C ------------------- 150 CONTINUE C IF(IX.EQ.5) THEN C C* 1.5.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NCREXWT = NCREXWT + 1 CREXWTEN(NCREXWT)='CHARACTERS' CREXWTU (NCREXWT)=' ' NCREXWTR (NCREXWT)= kdd NCREXWTDW(NCREXWT)= IY NCREXWTEN(NCREXWT)=658367 NCREXWTS (NCREXWT)=0 NCREXWTRV(NCREXWT)=0 GO TO 400 END IF C C 1.6 CHANGE UNIT C ----------- 160 CONTINUE C IERR=0 IF(IX.EQ.7) THEN CALL GET_UNITS(IY,IERR) IF(IERR.EQ.0) THEN NC07YYY=IY END IF C GO TO 400 C END IF C C ------------------------------------------------------------------ C 300 CONTINUE C KERR=22 PRINT*,'CREXPRCO:' CALL CREXERR(KERR) C C ------------------------------------------------------------------ C 400 CONTINUE C RETURN END emoslib-000392+dfsg.1/crexdc/nextsubset.F0000755000175000017500000000366412127406245021255 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE NEXTSUBSET(KBUFL,YBUFF, I,J,KERR ) C C**** *NEXTSUBSET* C C C PURPOSE. C -------- C C SCANS BULLETIN IN 'KCHAR' FOR NEXT '+CrCrLf' CHARACTER. C C C** INTERFACE. C ---------- C C *CALL* *NEXTSUBSET((KBUFL,YBUFF, I,J,KERR)* C INPUT : KBUFL - size of ybuff in bytes C YBUFF - character string C I - scan starts at character I. C J - scan stops at character J . C C OUTPUT : I - position of required character C character not found. C KERR - return error code C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 05/11/2003 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C character*(*) ybuff character*1 plus character*4 plcrlf C C ------------------------------------------------------------------ C* 1. SCANE BULLETIN FOR NEXT '+CrCrLf' C --------------------------------- 100 CONTINUE C plus='+' plcrlf='+'//char(13)//char(13)//char(10) C i = iabs(i) k = i do 101 i=k,j if(ybuff(i-1:i-1).ne.plus.and.ybuff(i:i).eq.plus.and. 1 ybuff(i+1:i+1).ne.plus) then return end if 101 continue C I=J RETURN END emoslib-000392+dfsg.1/crexdc/crexedd.F0000755000175000017500000002144712127406245020466 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXEDD(KPT,KTDLEN,CREXLST,KDLEN,KDATA,KSEC3, 1 KELEM,CNAMES,CUNITS,KERR) C C**** *CREXEDD* C C C PURPOSE. C -------- C C Expand Crex data descriptors C C C** INTERFACE. C ---------- C C *CALL* *CREXETD( KPT,KTDLEN,CREXLST,KDLEN,KDATA,KSEC3, C KVALS,VALUES,KELEM,KERR)* C C INPUT : C *KPT* - POINTER TO KDATA ARRAY C *KTDLEN* - number of data descriptors in section 1 C *KTDLST* - array containing data descriptors in section 1 C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DESCRIPTOR C EXPANSION ( delayed replications) C *KSEC3* - Integer array of 4 words containing C C KSEC3( 1)-- Reserved C KSEC3( 2)-- Reserved C KSEC3( 3)-- number of subsets C KSEC3( 4)-- Reserved C data values C *KELEM* - dimension of CNAMES, CUNITS array C OUTPUT: C *KERR* - returned error code C C METHOD. C ------- C C Expands list of data descriptors in section 1 C of Crex message. Working tables for further data decoding are set, C list of Crex data descriptors and a list of expanded Crex data descriptors C according to table D reference are returned respectively. C C C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C------------------------------------------------------------------------------------ C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C C COMMON /CRWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON/CRTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C COMMON /CRTABC/ CREXNAME(JTAB),CREXUNIT(JTAB) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array c C COMMON /CRBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C C COMMON /CRWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM), 4 NCREXWTDW(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTDW - working data width C C C COMMON /CRWTC/ CREXWTEN(JELEM),CREXWTU(JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C C COMMON /CREL/ NCREXTDLEN,NCREXTDLST(JELEM),NCREXTDEXL, 1 NCREXTDEXP(JELEM) C C NCREXTDLEN - number of Data descriptors in section 3 C NCREXTDLST - list of Data descriptors C NCREXTDEXL - number of expanded Data Descriptors C NCREXTDEXP - list of expanded Data descriptors C CHARACTER*64 CREXWTEN CHARACTER*24 CREXWTU C CHARACTER*64 CREXNAME CHARACTER*24 CREXUNIT C CHARACTER*(*) CREXLST(*) CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) C DIMENSION ISTACK(JELEM),IISTACK(JELEM) C DIMENSION KSUP(JSUP),KSEC3(JSEC3) C REAL*8 RVIND,EPS c C ------------------------------------------------------------------ C C* 1. EXPAND PRELIMINARY ITEMS OF SECTION 3. C -------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C CC ----------------------------------------------------------------- C C* 2. EXPAND DATA DESCRIPTORS. C ------------------------ 200 CONTINUE C C C* 2.1 CALCULATE EXPECTED NUMBER OF DATA DESCRIPTORS. C ---------------------------------------------- C AND INITIALIZE NUMBER OF DATA VALUES PER SUB-SET. C ------------------------------------------------- 210 CONTINUE C J = 0 M = 0 KPT=0 NCREXWT=0 NCREXTDLEN=ktdlen C C C* 2.2 PUT DATA DESCRIPTORS IN STACK. C ----------------------------------------- 220 CONTINUE C DO 221 JJ=1,KTDLEN C if(CREXLST(JJ)(1:1).eq.'D') CREXLST(JJ)(1:1)='3' if(CREXLST(JJ)(1:1).eq.'B') CREXLST(JJ)(1:1)='0' if(CREXLST(JJ)(1:1).eq.'C') CREXLST(JJ)(1:1)='2' if(CREXLST(JJ)(1:1).eq.'R') CREXLST(JJ)(1:1)='1' c IOS=0 READ( CREXLST(JJ),'(i6.6)',IOSTAT=IOS) ISTACK(JJ) IF(IOS.NE.0) THEN print*,'Internal read error in CREXLST.' print*,'NCREXTDLEN=ktdlen=',NCREXTDLEN print*,jj,' CREXLST(JJ)=',CREXLST(JJ) kerr=35 RETURN END IF C IISTACK(JJ)=ISTACK(JJ) C 221 CONTINUE C JMAX=NCREXTDLEN C ------------------------------------------------------------------ C* 2.3 GET NEXT DESCRIPTOR FROM THE STACK. C ----------------------------------- 230 CONTINUE C C J = J + 1 IF(J.GT.JMAX) GO TO 300 C IDD = ISTACK(J) IF(IDD.EQ.0) GO TO 230 C IF = IDD/100000 C C ------------------------------------------------------------------ C* 2.4 CHECK IF IT IS REPLICATION DESCRIPTOR. C -------------------------------------- 240 CONTINUE C IF( IF.EQ.0) THEN C C* 2.6 ELEMENT DESCRIPTOR, SO UPDATE WORKING TABLE. C -------------------------------------------- 260 CONTINUE C CALL CREXEPWT(IDD,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.1) THEN C C* 2.4.1 SOLVE REPLICATION PROBLEM. C -------------------------- C C CALL CREXREP(KPT,KDLEN,KDATA,J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.2) THEN C C* 2.5.3 PROCESS OPERATOR. C ----------------- CALL CREXOPER(KPT,KDLEN,KDATA,J,IDD,ISTACK,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.3) THEN C C* 2.5.2 REPLACE BY LIST OF DESCRIPTORS FROM TABLE *D. C --------------------------------------------- CALL CREXETDR(J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NCREXSTACK(IQ)=0. 252 CONTINUE RETURN END IF ELSE KERR=37 CALL CREXERR(KERR) RETURN END IF C GO TO 230 C C ------------------------------------------------------------------ C C* 3. COLLECT SUPPLEMENTARY ITEMS. C ----------------------------- 300 CONTINUE C NCREXTDEXL =M DO 301 I=1,NCREXTDEXL NCREXTDEXP(I)=NCREXWTR(I) CNAMES(I)=CREXWTEN(I) CUNITS(I)=CREXWTU(I) 301 CONTINUE C DO 302 I=1,NCREXTDLEN NCREXTDLST (I)=IISTACK(I) 302 CONTINUE C KSUP(3)= 4 KSUP(5)= M KSEC3(3)=NSUBSET KSUP(6)= KSEC3(3) C RETURN C END emoslib-000392+dfsg.1/crexdc/crextables.F0000755000175000017500000001226012127406245021175 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXTABLES(KSEC1,CREXBTR,CREXBS,CREXBDW,CREXNAMES, 1 CREXUNITS,CREXBP,KERR) C C**** *BTABLE* C C C PURPOSE. C -------- C CREATE CREX TABLE B IN BINARY FORM. C THIS ROUTINE IS USED IN BUFR2CREX PROGRAM C C** INTERFACE. C ---------- C NONE. C C C *METHOD. C ------- C NONE. C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* JANUARY 2003. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C c PARAMETER(JP=3000) C CHARACTER*64 CREXNAMES(JP) CHARACTER*24 CREXUNITS(JP) CHARACTER*160 YENTRY CHARACTER*256 YFNAME C DIMENSION KSEC1(*) INTEGER CREXBTR(JP),CREXBS(JP),CREXBDW(JP) INTEGER CREXBP(64,255) C CHARACTER*7 YTABB CHARACTER*256 CROOT INTEGER IEMOSNM C INTEGER EMOSNUM EXTERNAL EMOSNUM C SAVE NXXP,NYYP,NZZP, OFIRST C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C J=0 ICLASS0=0 IVIND=2147483647 C CROOT=' ' CALL GETENV('CREX_TABLES',CROOT) ILNG=INDEX(CROOT,' ') ILNG=ILNG-1 IF(ILNG.EQ.1) THEN C C SGI/HP/SUN CREX TABLES PATH C CROOT='/home/ma/emos/tables/crex/' C C ADD VERSION NUMBER C ILNG=INDEX(CROOT,' ') IEMOSNM = EMOSNUM(1) WRITE(CROOT(ILNG:ILNG+5),'(I6.6)') IEMOSNM CROOT(ILNG+6:) = '/' ILNG=ILNG+6 END IF C C CREX EDITION 1 NAMING CONVENTION C C BXXYYZZ , DXXYYZZ C C B - CREX TABLE 'B' C D - CREX TABLE 'D' C XX - Crex Master table used '00' C YY - Crex Edition number used '01' C ZZ - Crex Table version number '01' C IXX=KSEC1(14) ! BUFR Master Table 0 IYY=KSEC1( 2) ! BUFR Edition IZZ=KSEC1(15) ! Version of Master table C IF(OFIRST) THEN IF(IXX.EQ.NXXP.AND.IYY.EQ.NYYP.AND. 1 IZZ.EQ.NZZP) RETURN END IF C WRITE(*,'(1H ,A)') 'Your path for crex tables is :' WRITE(*,'(1H ,A)') CROOT(1:ILNG) OFIRST=.TRUE. NXXP=IXX NYYP=IYY NZZP=IZZ C C DO 101 I=1,64 DO 101 II=1,255 CREXBP(I,II)=0 101 CONTINUE C DO 102 I=1,JP CREXBTR(I)=IVIND CREXBS(I)=IVIND CREXBDW(I)=IVIND CREXNAMES(I)=' ' CREXUNITS(I)=' ' 102 CONTINUE C WRITE(YTABB,'(A1,I2.2,I2.2,I2.2)',iostat=ios) 'B',IXX,IYY,IZZ IF(IOS.NE.0) then KERR=33 CALL CREXERR(KERR) RETURN END IF C print*,'Crex table to be loaded :',YTABB C YFNAME=CROOT(1:ILNG)//YTABB C DO 301 JJ=1,99 INQUIRE(UNIT=JJ,IOSTAT=IOS,OPENED=OPN) IF(.NOT.OPN) THEN IUNIT=JJ OPEN(UNIT=IUNIT,IOSTAT=IOS,ERR=401,FILE=YFNAME, 4 FORM='FORMATTED', 5 RECL=160, 5 STATUS='OLD') GO TO 200 END IF 301 CONTINUE C C ------------------------------------------------------------------ C* 2. READ IN TABLE B ELEMENT. C ------------------------ C 200 CONTINUE C YENTRY=' ' READ(IUNIT,'(A)',ERR=402,END=300) YENTRY C J=J+1 IF(J.GT.JP) THEN PRINT*,' DIMENSION TOO SMALL J=',J KERR=13 RETURN END IF C C ------------------------------------------------------------------ C* 2.1 SET ARRAYS FOR TABLE REFERENCE, ELEMENT NAME, UNITS, C* REFERENCE VALUE AND DATA WIDTH. C 210 CONTINUE C C IMINUS=0 IMINUS=INDEX(YENTRY(12:16),'-') IF(IMINUS.NE.0) YENTRY(IMINUS:IMINUS)='9' c 1 FMT='(1x,A,1x,A64,47x,A24,I3,8x,I3)') READ(YENTRY,'(2X,I5,1x,64x,71x,I3,7x,I3)',IOSTAT=IOS) 1 CREXBTR(J),CREXBS(J), 1 CREXBDW(J) IF(IOS.NE.0) THEN KERR=35 CALL CREXERR(KERR) print*,'Line number ',j RETURN END IF C CREXNAMES(J)=YENTRY( 9:72) CREXUNITS(J)=YENTRY(120:123) C ICLASS=CREXBTR(J)/1000 IYYY =CREXBTR(J)-ICLASS*1000+1 C ICLASS=ICLASS+1 CREXBP(ICLASS,IYYY)=J C GO TO 200 C 300 CONTINUE C CLOSE(UNIT=IUNIT) RETURN C C C 402 CONTINUE KERR=35 CALL CREXERR(KERR) WRITE(*,4402) IOS,yfname 4402 FORMAT(1H ,'Read error',i4,' on ',a) RETURN C C 401 CONTINUE C KERR=9 CALL CREXERR(KERR) WRITE(*,4401) IOS,yfname 4401 FORMAT(1H ,'Open error',i4,' on ',a) C RETURN END emoslib-000392+dfsg.1/crexdc/crexprt.F0000755000175000017500000003220112127406245020525 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXPRT(K,KSUB1,KSUB2,KELEM,CNAMES,CUNITS, 1 CVALS,KVALS,VALUES,KSUP,KSEC1,KERR) C C**** *CREXPRT* C C C PURPOSE. C -------- C PRINT EXPANDED CREX MESSAG. C C C** INTERFACE. C ---------- C C *CALL* *CREXPRT(K,KSUB1,KSUB2,KELEM,CNAMES,CUNITS, C CVALS,KVALS,VALUES,KSUP,KSEC1,KERR)* C C INPUT : C *K* - SWITCH TO PRINT WITH/WITOUT CONTENT OF CODE TABLES C 0 - NO CODE TABLE CONTENT C 1 - YES CODE TABLE CONTENT C *KSUB1* - STARTING SUBSET C *KSUB2* - ENDING SUBSET C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - CHARACTER ARRAY CONTAINIG UNITS C *CVALS* - CHARACTER ARRAY CONTAINING CREX CODE TABLE C ENTRIES C *KVALS* - DIMENSION OF VALUES ARRAY C *VALUES* - REAL*8 ARRAY (EXPANDED DATA VALUES) C C *KSUP* - Integer array of 9 words containing C suplementary information C - KSUP( 1) -- IDIM1, dimension of KSEC1 C - KSUP( 2) -- Reserved C - KSUP( 3) -- IDIM3, dimension of KSEC3 C - KSUP( 4) -- Reserved C - KSUP( 5) -- M (number of elements in values C array, first index) C - KSUP( 6) -- N (number of subsets,second index C of values array) C - KSUP( 7) -- JVC (number of elements in CVAL array) C - KSUP( 8) -- total CREX message length in bytes C - KSUP( 9) -- IDIM0, dimension of KSEC0 C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Reserved C KSEC1( 4)-- Reserved C KSEC1( 5)-- Reserved C KSEC1( 6)-- CREX message type C KSEC1( 7)-- Reserved C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Reserved C KSEC1(10)-- Reserved C KSEC1(11)-- Reserved C KSEC1(12)-- Reserved C KSEC1(13)-- Reserved C KSEC1(14)-- CREX Master table C KSEC1(15)-- version number of Master table used C KSEC1(16) - KSEC1(40) -- Reserved C C C Crex Edition 2 C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Originating Centre ( oooo) C KSEC1( 4)-- Update sequence number (uu) C KSEC1( 5)-- Number of subsets (sss) C KSEC1( 6)-- CREX data category (nnn) C KSEC1( 7)-- International data sub-category (mmm) C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Year (yyyy) C KSEC1(10)-- Month (mm) C KSEC1(11)-- Day (dd) C KSEC1(12)-- Hour (hh) C KSEC1(13)-- Minute (mm) C KSEC1(14)-- CREX Master table (tt) C KSEC1(15)-- version number of Master table used (vv) C KSEC1(16)-- Originating sub-centre (ppp) C KSEC1(17)-- Bufr master table version number C KSEC1(18)-- Bufr version number of local table used C KSEC1(19) - KSEC1(40) -- Reserved C C OUTPUT: C *KERR* - RETURNED ERROR CODE C C C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 04/02/2003. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER YCHAR*30,YLONG*320 C C DIMENSION KTDLST(JELEM) DIMENSION KTDEXP(JELEM) DIMENSION KSUP(*),KSEC1(*) REAL*8 VALUES(KVALS) REAL*8 RVIND, EPS C C C ------------------------------------------------------------------ C C* 1. PRINT CREX MESSAGE. C ------------------- 100 CONTINUE C KERR=0 C ISUB1=KSUB1 ISUB2=KSUB2 IF(ISUB1.LE.0.OR.ISUB2.LE.0) THEN WRITE(*,'(A)') ' WARNING - NEGATIVE KSUB1 OR KSUB2.' WRITE(*,'(A,I5)') ' WARNING - NUMBER OF SUBSETS IS ',KSUP(6) RETURN END IF IF(ISUB1.GT.KSUP(6)) THEN WRITE(*,'(A,I5)') ' WARNING - NUMBER OF SUBSETS IS ',KSUP(6) RETURN END IF IF(ISUB2.GT.KSUP(6)) THEN ISUB2=KSUP(6) WRITE(*,'(A,I5)') ' WARNING - KSUB2 REPLACED BY ',KSUP(6) END IF C JQCP1= 0 C IF(K.EQ.0) THEN JQPR=0 JQUA=0 JQC=0 C DO 171 J171=1,KSUP(5) C IF(CNAMES(J171)(1:8).EQ.'DATA PRE') THEN C JQPR=J171 C GO TO 172 C END IF C 171 CONTINUE C 172 DO 173 J173=1,KSUP(5) C IF(CNAMES(J173)(1:9).EQ.'QUALITY I') JQUA=J173 C 173 CONTINUE C DO 174 J174=1,KSUP(5) C IF(CNAMES(J174)(1:3).EQ.'% C') THEN C JQC =J174 C GO TO 175 C END IF C 174 CONTINUE C C 175 CONTINUE C C WRITE(*,'(1H1)') C C WRITE(*,'(1H ,A)') 'EXPANDED CREX MESSAGE ' C WRITE(*,'(1H ,//)') C WRITE(*,'(1H ,A,I6)') 'CREX MESSAGE DATA TYPE ',KSEC1(6) C WRITE(*,'(1H ,A,I6)') 'RDB DATA SUBTYPE ',KSEC1(7) C WRITE(*,'(1H ,A,I6)') 'TOTAL BUFR LENGTH (BYTES) ',KSUP(8) C NTYPE=KSEC1(7) IF(JQUA.EQ.0) THEN !IF(JQUA.NE.0) THEN JQUA=KSUP(5) C DO 103 JB=ISUB1,ISUB2 CALL CREXSEL2(JB,KELEM,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,KERR) JQUA=KTDEXL C ILN=0 WRITE(*,'(1H )') C DO 104 JA=1,JQUA C ILN=ILN+1 JAJB=JA+(JB-1)*KELEM C IF(ABS(VALUES(JAJB)-RVIND).LT.EPS) THEN WRITE(*,9918) ILN,CNAMES(JA),CUNITS(JA) ELSE IF(CUNITS(JA)(1:4).EQ.'CCIT') THEN I=NINT(VALUES(JAJB)/1000) NCHAR=VALUES(JAJB)-I*1000 NW=NCHAR/80 NWOFF=NCHAR-NW*80 IF(NWOFF.NE.0) NW=NW+1 C YLONG=' ' YLONG(1:80)=CVALS(I) C II=I DO 125 JC=1,NW-1 II=II+1 KF=JC*80+1 KL=(JC+1)*80 YLONG(KF:KL)=CVALS(II) 125 CONTINUE C NLINE=NCHAR/30 IDIF =NCHAR-NLINE*30 IF(IDIF.NE.0) NLINE=NLINE+1 YCHAR=' ' YCHAR=YLONG(1:30) C WRITE(*,9919)ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA),YCHAR C IF(NLINE.GT.1) THEN DO 130 JJ=1,NLINE-1 C K2=JJ*30+1 K1=(JJ+1)*30 YCHAR=' ' YCHAR=YLONG(K2:K1) C WRITE(*,9920) YCHAR 130 CONTINUE C END IF ELSE WRITE(*,9917) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA) END IF END IF C 104 CONTINUE 103 CONTINUE C ELSE JQPRM1=JQPR-1 JQC=JQC-1 C DO 101 JB=ISUB1,ISUB2 C ILN=0 JQCP1=0 C WRITE(*,'(1H )') C DO 102 JA=1,JQUA-1 C ILN=ILN+1 JAJB=JA+(JB-1)*KELEM JQPJB=JQPRM1+JA+(JB-1)*KELEM C IF(VALUES(JQPJB).EQ.0.0) THEN JQCP1=JQCP1+1 JQCPP1=JQC+JQCP1+(JB-1)*KELEM IF(ABS(VALUES(JAJB)-RVIND).LT.EPS) THEN WRITE(*,9918) ILN,CNAMES(JA),CUNITS(JA) ELSE WRITE(*,9916) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA), 1 CNAMES(JQC+JQCP1),VALUES(JQCPP1), 1 CUNITS(JQC+JQCP1) END IF ELSE IF(ABS(VALUES(JAJB)-RVIND).LT.EPS) THEN WRITE(*,9918) ILN,CNAMES(JA),CUNITS(JA) IF(NTYPE.EQ.5.OR.NTYPE.EQ.3) JQCP1=JQCP1+1 ELSE WRITE(*,9917) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA) IF(NTYPE.EQ.5.OR.NTYPE.EQ.3) JQCP1=JQCP1+1 END IF END IF C C 102 CONTINUE 101 CONTINUE C END IF END IF C IF(K.EQ.1) THEN C C--------------------------------------------------------------------- WRITE(*,'(1H1)') C WRITE(*,'(1H ,A)') 'WARNING : PRINTING CONTENT OF CODE'// 1 ' TABLES NOT YET IMPLEMENTED.' RETURN C--------------------------------------------------------------------- C C WRITE(*,'(1H ,A)') 'EXPANDED CREX MESSAGE ' C WRITE(*,'(1H ,//)') C WRITE(*,'(1H ,A,I6)') 'RDB DATA TYPE ',KSEC1(6) C WRITE(*,'(1H ,A,I6)') 'RDB DATA SUBTYPE ',KSEC1(7) C WRITE(*,'(1H ,A,I6)') 'TOTAL BUFR LENGTH (BYTES) ',KSUP(8) C C DO 150 JB=1,KSUP(6) C C WRITE(*,'(1H )') C C DO 160 JA=1,KSUP(5) C C JAJB=JA+(JB-1)*KELEM C C IF(ABS(VALUES(JAJB)-RVIND).LT.EPS) THEN C WRITE(*,9903) CNAMES(JA)(1:32),CUNITS(JA) C WRITE(*,9903) CNAMES(JA)(33:64) C ELSE C IF(CUNITS(JA)(1:10).EQ.'CODE TABLE'.OR. C 1 CUNITS(JA)(1:9) .EQ.'CCITTIA5' ) THEN C I=NINT(VALUES(JAJB)/1000) C NCHAR=VALUES(JAJB)-I*1000 C NW=NCHAR/80 C NWOFF=NCHAR-NW*80 C IF(NWOFF.NE.0) NW=NW+1 CC C YLONG(1:80)=CVALS(I) C C II=I C DO 165 JC=1,NW-1 C II=II+1 C KF=JC*80+1 C KL=(JC+1)*80 C YLONG(KF:KL)=CVALS(II) C 165 CONTINUE C C NLINE=NCHAR/30 C IDIF =NCHAR-NLINE*30 C IF(IDIF.NE.0) NLINE=NLINE+1 C YCHAR=YLONG(1:30) C C WRITE(*,9904)CNAMES(JA)(1:32),VALUES(JAJB), C 1 CUNITS(JA),YCHAR C WRITE(*,9904)CNAMES(JA)(33:64) C C IF(NLINE.GT.1) THEN C DO 170 JJ=1,NLINE-1 C C K2=JJ*30+1 C K1=(JJ+1)*30 C YCHAR=YLONG(K2:K1) C C WRITE(*,9905) YCHAR C 170 CONTINUE C C END IF C ELSE C WRITE(*,9906) CNAMES(JA)(1:32),VALUES(JAJB), C 1 CUNITS(JA) C WRITE(*,9906) CNAMES(JA)(33:64) C END IF C END IF C C 160 CONTINUE C 150 CONTINUE C END IF C C C RETURN C C ------------------------------------------------------------------ C 200 CONTINUE C C ------------------------------------------------------------------ 9903 FORMAT(1H ,A,' MISSING',2X,A) 9904 FORMAT(1H ,A,F20.4,2X,A,2X,A) 9905 FORMAT(1H ,100X,A) 9906 FORMAT(1H ,I5,1X,A,E14.4,2X,A) 9916 FORMAT(1H ,I5,1X,A15,1X,F20.4,1X,A20,1X,A15,1X,F3.0,1X,A15) 9917 FORMAT(1H ,I5,1X,A15,1X,F20.4,1X,A24) 9918 FORMAT(1H ,I5,1X,A15,1X,' MISSING',1X,A24) 9919 FORMAT(1H ,I5,1X,A15,1X,F20.4,1X,A24,1X,A) 9920 FORMAT(1H ,62X,A) END emoslib-000392+dfsg.1/crexdc/crexprs1.F0000755000175000017500000001633212127406245020614 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXPRS1(KSEC1,KSEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP, 1 KELEM,CNAMES) C C**** *CREXPRS1* C C C PURPOSE. C -------- C PRINT SECTION 1 OF CREX MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *CREXPRS1(KSEC1,KSEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP, C KELEM,CNAMES)* C C INPUT : C C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- Not used C KSEC1( 2)-- CREX EDITION NUMBER C KSEC1( 3)-- Not used C KSEC1( 4)-- Not Used C KSEC1( 5)-- Not used C KSEC1( 6)-- CREX MESSAGE TYPE C KSEC1( 7)-- Not used C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- Not used C KSEC1(10)-- Not used C KSEC1(11)-- Not used C KSEC1(12)-- Not used C KSEC1(13)-- Not used C KSEC1(14)-- CREX MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- Not used C C Crex Edition 2 C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Originating Centre ( oooo) C KSEC1( 4)-- Update sequence number (uu) C KSEC1( 5)-- Number of subsets (sss) C KSEC1( 6)-- CREX data category (nnn) C KSEC1( 7)-- International data sub-category (mmm) C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Year (yyyy) C KSEC1(10)-- Month (mm) C KSEC1(11)-- Day (dd) C KSEC1(12)-- Hour (hh) C KSEC1(13)-- Minute (mm) C KSEC1(14)-- CREX Master table (tt) C KSEC1(15)-- version number of Master table used (vv) C KSEC1(16)-- Originating sub-centre (ppp) C KSEC1(17)-- Bufr master table version number C KSEC1(18)-- Bufr version number of local table used C KSEC1(19) - KSEC1(40) -- Reserved C C C *KSEC3* - Integer array of 4 words containing C KSEC3( 1)-- Reserved C KSEC3( 2)-- Reserved C KSEC3( 3)-- number of subsets C KSEC3( 4)-- Reserved C *KTDLEN* - number of data descriptors in section 1 C *KTDLST* - array containing data descriptors in section 1 C *KTDEXL* - number of entries in list of expanded data descriptors C *KTDEXP* - array containig expanded data descriptors C *KELEM* - Integer (expected number of expanded elements) C *CNAMES* - Character*64 array of KELEM containing C CREX Table B element names C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C DIMENSION KSEC1(*) DIMENSION KSEC3(*) DIMENSION KTDLST(KTDLEN),KTDEXP(KTDEXL) C CHARACTER*64 CNAMES(KELEM) CHARACTER*6 YYYYYY C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 1. C ---------------- 100 CONTINUE C WRITE(*,'(1H1)') C WRITE(*,'(1H ,A)') ' CREX SECTION 1 ' WRITE(*,'(1H )') IF(KSEC1(2).LT.2) THEN WRITE(*,'(1H ,A,I5)')'CREX EDITION NUMBER ',KSEC1( 2) WRITE(*,'(1H ,A,I5)')'CREX MESSAGE TYPE ',KSEC1( 6) WRITE(*,'(1H ,A,I5)')'VERSION NUMBER OF LOCAL TABLE ',KSEC1( 8) WRITE(*,'(1H ,A,I5)')'VERSION NUMBER OF MASTER TABLE ',KSEC1(15) WRITE(*,'(1H ,A,I5)')'CREX MASTER TABLE ',KSEC1(14) C WRITE(*,'(1H1)') WRITE(*,'(1H ,A,I5)')'NUMBER OF SUBSETS ',KSEC3( 3) ELSE WRITE(*,'(1H ,A,I5)')'CREX EDITION NUMBER ',KSEC1( 2) WRITE(*,'(1H ,A,I5)')'ORIGINATING CENTRE ',KSEC1( 3) WRITE(*,'(1H ,A,I5)')'ORIGINATING SUB-CENTRE ',KSEC1(16) WRITE(*,'(1H ,A,I5)')'UPDATE SEQUENCE NUMBER ',KSEC1( 4) WRITE(*,'(1H ,A,I5)')'CREX DATA CATEGORY ',KSEC1( 6) WRITE(*,'(1H ,A,I5)')'INTERNATIONAL DATA SUB-CATEGORY',KSEC1( 7) WRITE(*,'(1H ,A,I5)')'YEAR ',KSEC1( 9) WRITE(*,'(1H ,A,I5)')'MONTH ',KSEC1(10) WRITE(*,'(1H ,A,I5)')'DAY ',KSEC1(11) WRITE(*,'(1H ,A,I5)')'HOUR ',KSEC1(12) WRITE(*,'(1H ,A,I5)')'MINUTE ',KSEC1(13) WRITE(*,'(1H ,A,I5)')'VERSION NUMBER OF MASTER TABLE ',KSEC1(15) WRITE(*,'(1H ,A,I5)')'VERSION NUMBER OF LOCAL TABLE ',KSEC1( 8) WRITE(*,'(1H ,A,I5)')'CREX MASTER TABLE ',KSEC1(14) WRITE(*,'(1H ,A,I5)')'BUFR MASTER TABLE NUMBER ',KSEC1(17) WRITE(*,'(1H ,A,I5)')'BUFR VERSION OF LOCAL TABLE ',KSEC1(18) C WRITE(*,'(1H1)') WRITE(*,'(1H ,A,I5)')'NUMBER OF SUBSETS ',KSEC3( 3) C END IF C C WRITE(*,'(1H ,//)') WRITE(*,'(1H ,A)') ' DATA DESCRIPTORS (UNEXPANDED)' WRITE(*,'(1H )') C WRITE(*,'(1H )') DO 110 I=1,KTDLEN write(yyyyyy,'(i6.6)') KTDLST(I) if(yyyyyy(1:1).eq.'0') yyyyyy(1:1)='B' if(yyyyyy(1:1).eq.'1') yyyyyy(1:1)='R' if(yyyyyy(1:1).eq.'2') yyyyyy(1:1)='C' if(yyyyyy(1:1).eq.'3') yyyyyy(1:1)='D' WRITE(*,'(1H ,I4,2X,A)') I,yyyyyy 110 CONTINUE C WRITE(*,'(1H ,/)') WRITE(*,'(1H ,A)') ' DATA DESCRIPTORS (EXPANDED)' WRITE(*,'(1H )') DO 120 I=1,KTDEXL write(yyyyyy,'(i6.6)') KTDEXP(I) if(yyyyyy(1:1).eq.'0') yyyyyy(1:1)='B' if(yyyyyy(1:1).eq.'1') yyyyyy(1:1)='R' if(yyyyyy(1:1).eq.'2') yyyyyy(1:1)='C' if(yyyyyy(1:1).eq.'3') yyyyyy(1:1)='D' WRITE(*,'(1H ,I5,2X,A,2X,A)') I,yyyyyy,CNAMES(I) 120 CONTINUE RETURN END emoslib-000392+dfsg.1/crexdc/nextprt.F0000755000175000017500000000423312127406245020546 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE NEXTPRT (KBUFL,YBUFF,I,J,KERR ) C C**** *NEXTPRT* C C C PURPOSE. C -------- C SCANS BULLETIN IN 'KCHAR' FOR NEXT CHARACTER WHICH C IS NOT 'SOH' , 'CR' , 'LF' , 'SPACE' OR 'GS' . C C C** INTERFACE. C ---------- C C *CALL* *NEXTPRT(KBUFL,YBUFF,I,J,KERR* C C INPUT : KBUFL - length of YBUFF in bytes C YBUFF - charcter string C I - SCAN STARTS AT WORD I. C J - SCAN STOPS AT WORD J . C C OUTPUT : I - POSITION OF REQUIRED CHARACTER C KERR - ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C C C MODIFICATIONS. C -------------- C C M. D. DRAGOSAVAC *ECMWF* 07/01/2004. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C CHARACTER*(*) YBUFF CHARACTER*1 soh,lf,cr,space,gs,plus,minus C C ------------------------------------------------------------------ C C* 1. SCAN BULLETIN. C -------------- 100 CONTINUE C C 'SOH' = 1 , 'LF' = 10 , 'CR' = 13 , SPACE = 32 , 'GS' = 29. C '+' = 43, 'MINUS'='-' c kerr=0 soh=char(1) lf=char(10) cr=char(13) space=char(32) gs=char(29) plus=char(43) minus='-' C i = iabs(i) K = I do 101 i=k,j if(ybuff(i:i).ne.soh.and. 1 ybuff(i:i).ne.lf.and. 2 ybuff(i:i).ne.cr.and. 3 ybuff(i:i).ne.space.and. 4 ybuff(i:i).ne.gs.and. 4 ybuff(i:i).ne.minus.and. 5 ybuff(i:i).ne.plus) then return end if 101 continue C RETURN END emoslib-000392+dfsg.1/crexdc/crexupwt.F0000755000175000017500000002142612127406245020726 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXUPWT(KDD,KELEM,KERR) C C**** *CREXUPWT* C C C PURPOSE. C -------- C Updates working tables setting element name,unit,scale, C reference value and data width. C C C** INTERFACE. C ---------- C C *CALL* *CREXUPWT(KDD,KELEM,KERR)* C C INPUT : C *KDD* - data descriptor C *KELEM* - dimension of CNAMES, CUNITS array C OUTPUT: C *KERR* - return error code C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON /CREXWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM),NCREXWTRV(JELEM), 4 NCREXWTDW(JELEM),NWTIW(JELEM),NWTIWS(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTRV - working reference value C NCREXWTDW - working data width C NWTIW - working data width of increments C NWTIWS - working total data width of element set C C COMMON /CREXWTC/ CREXWTEN(JELEM),CREXWTU (JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C C COMMON/CREXTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C C C COMMON/CREXTABC/ CREXNAME(JTAB),CREXUNIT(JTAB),CREXLST(JELEM) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array C C COMMON /CREXATB/ NJA,NCREXATBTR(JTAB),NCREXATBS (JTAB), 1 NCREXATBRV(JTAB),NCREXATBDW(JTAB) C C C NCREXATBTR - augmented table B table reference C NCREXATBS - augmented table B scale C NCREXATBRV - augmented table B reference value C NCREXATBDW - augmented table B data width C C COMMON /CREXATBC/ CREXATBEN(JTAB),CREXATBU (JTAB) C C CREXATBEN - augmented table B element name C CREXATBU - augmented table B units C C COMMON /CREXBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C COMMON /CREXUT/ YUNIT,CUNITNAME,CIA5,CIA2,NCODE,NRECORDS c c NCODE - array containing unit code number c CUNITNAME - array containing unit name c CIA5 - array containing unit CCITTIA5 name c CIA2 - array containing unit CCITTIA2 name c NRECORDS - number of entries in the list c C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C DIMENSION NCODE(JCTEXT) CHARACTER*30 CUNITNAME(JCTEXT) CHARACTER*24 CIA5(JCTEXT) CHARACTER*24 CIA2(JCTEXT) CHARACTER*24 YUNIT C CHARACTER*64 CREXNAME, CREXATBEN CHARACTER*24 CREXATBU,CREXUNIT CHARACTER*6 CREXLST C CHARACTER*64 CREXWTEN CHARACTER*24 CREXWTU CHARACTER YCH6*6 REAL*8 RVIND REAL*8 EPS C C C ------------------------------------------------------------------ C* 1. UPDATE WORKING TABLE. C --------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C ICLASS=KDD/1000 IYYY =KDD-ICLASS*1000+1 ICLASS=ICLASS+1 C C* 1.1 ASSOCIATED FIELD ? C ------------------ 110 CONTINUE C IF(NCREXAFDW.EQ.0) GO TO 140 C C* 1.2 UNITS ELEMENT DESCRIPTOR ? C -------------------------- 120 CONTINUE C I=NCREXP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 PRINT*,'CREXUPWT : ',KDD CALL CREXERR(KERR) DO 1 IQ=1,JELEM NCREXSTACK(IQ)=0. 1 CONTINUE RETURN end if C IF(CREXUNIT(I)(1:4).EQ.'CODE') GO TO 140 IF(CREXUNIT(I)(1:4).EQ.'FLAG') GO TO 140 IF(CREXUNIT(I)(1:3).EQ.'NUM' ) GO TO 140 C C* 1.3 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- 130 CONTINUE C NCREXWT=NCREXWT+1 CREXWTEN(NCREXWT)='ASSOCIATED FIELD' CREXWTU (NCREXWT)=' ' NCREXWTDW(NCREXWT)=NCREXAFDW NCREXWTR (NCREXWT)= 999999 NCREXWTEN(NCREXWT)= 0 NCREXWTS (NCREXWT)= 0 NCREXWTRV(NCREXWT)= 0 NCREXAFDW=0 C C* UPDATE CNAMES AND CUNITS C M=M+1 IF(M.GT.KELEM) THEN KERR=25 PRINT*,'CREXUPWT:' CALL CREXERR(KERR) RETURN END IF C C ------------------------------------------------------------------ C* 1.4 SEARCH AUGMENTED TABLE *B ENTRIES . C ----------------------------------- 140 CONTINUE C C* 1.5 GET TABLE *B ENTRY . C --------------------- 150 CONTINUE C I=NCREXP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 PRINT*,'CREXUPWT : ',KDD CALL CREXERR(KERR) DO 2 IQ=1,JELEM NCREXSTACK(IQ)=0. 2 CONTINUE RETURN END IF C 155 CONTINUE C C ----------------------------------------------------------------- C* 1.6 MODIFY ENTRY FOR OPERATOR IN FORCE. C ----------------------------------- 160 CONTINUE C C* ADD ENTRY TO WORKING TABLE. C --------------------------- NCREXWT=NCREXWT+1 NCREXWTR (NCREXWT) = KDD if(NCREXSCAM.ne.0) then NCREXWTS (NCREXWT) = NCREXSCAM else NCREXWTS (NCREXWT) = NCREXBS (I) end if NCREXSCAM=0 c NCREXWTRV(NCREXWT) = NCREXBR(I) if(NCREXDWINC.ne.0) then NCREXWTDW(NCREXWT) = NCREXDWINC else NCREXWTDW(NCREXWT) = NCREXBDW(I) end if NCREXDWINC=0 if(NCREXWTR (NCREXWT).eq.031002) then NCREXWTDW(NCREXWT)=4 NCREXWTRV(NCREXWT) = 0 end if C C CHECK IF DATA ARE PRESENT IN DATA SECTION. C if(NCREXWTR(NCREXWT).eq.31011.or. 1 NCREXWTR(NCREXWT).eq.31012) then if(NCREXWTR(NCREXWT-1).eq.31011.or. 2 NCREXWTR(NCREXWT-1).eq.31012) then NCREXWTDW(NCREXWT)=0 end if end if C 175 CONTINUE C C ------------------------------------------------------------------ C* 1.8 UPDATE M, CNAMES, CUNITS. C ------------------------- 180 CONTINUE C CREXWTEN(NCREXWT) = CREXNAME(I) IF(NC07YYY.NE.0) THEN CREXWTU (NCREXWT) = YUNIT YUNIT=' ' NC07YYY=0 else CREXWTU (NCREXWT) = CREXUNIT(I) END IF NCREXWTEN(NCREXWT) = 0 IF(CREXUNIT(I)(1:3).EQ.'CHA') NCREXWTEN(NCREXWT)=658367 C M = M + 1 IF(M.GT.KELEM) THEN KERR=25 PRINT*,'CREXUPWT:' CALL CREXERR(KERR) RETURN END IF C C ----------------------------------------------------------------- C 200 CONTINUE C RETURN END emoslib-000392+dfsg.1/crexdc/crexoper.F0000755000175000017500000001215312127406245020671 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXOPER(KPT,KDLEN,KDATA,KJ,KDD,KSTACK,KERR) C C C**** *CREXOPER* C C C PURPOSE. C -------- C C PROCESS BUFR OPERATOR. C C** INTERFACE. C ---------- C C *CALL* *CREXOPER(KPT,KDLEN,KDATA,KJ,KDD,KSTACK,KERR)* C C INPUT : C *KPT* - POINTER TO KDATA ARRAY C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DESCRIPTOR C EXPANSION C *KJ* - POINTER T ARRAY KSTACK C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KSTACK* - LIST OF DESCRIPTORS C *KERR* - RETURN ERROR CODE C C *METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4=2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON /CRWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CRWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM), 4 NCREXWTDW(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTDW - working data width C CHARACTER CREXWTEN*64,CREXWTU*24 C COMMON /CRWTC/ CREXWTEN(JELEM),CREXWTU(JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C C C COMMON /CRBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C C REAL*8 RVIND REAL*8 EPS C DIMENSION KSTACK(*) DIMENSION KDATA(KDLEN) C C ------------------------------------------------------------------ C C* 1. DETERMINE *F *X AND *Y. C ----------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 C IF( IF.NE.2 ) THEN KERR=21 WRITE(*,*) ' CREXOPER :' CALL CREXERR(KERR) GO TO 400 END IF C C* 1.1 CHANGE DATA WIDTH ? C ------------------- 110 CONTINUE C IF(IX.EQ.1) THEN NCREXDWINC= IY GO TO 400 END IF C C* 1.2 CHANGE SCALE ? C -------------- 120 CONTINUE C IF(IX.EQ.2) THEN C C C* 1.2.1 UPDATE SCALE MULTIPLIER. C ------------------------ C IF(IY.GT.900) IY=-(IY-900) NCREXSCAM=IY GO TO 400 END IF C C C* 1.4 ADD ASSOCIATED FIELD ? C ---------------------- 140 CONTINUE C IF(IX.EQ.4) THEN C C* 1.4.1 UPDATE ASSOCIATED FIELD WIDTH. C ------------------------------ NCREXAFDW= IY GO TO 400 END IF C C* 1.5 SIGNIFY CHARACTER ? C ------------------- 150 CONTINUE C IF(IX.EQ.5) THEN C C* 1.5.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NCREXWT = NCREXWT + 1 CREXWTEN(NCREXWT)='CHARACTERS' CREXWTU(NCREXWT)=' ' NCREXWTR (NCREXWT)= kdd NCREXWTDW(NCREXWT)= IY NCREXWTEN(NCREXWT)=658367 NCREXWTS (NCREXWT)=0 GO TO 400 END IF C C C* 1.6 CHANGE UNIT C ------------ 160 CONTINUE C IF(IX.EQ.7) THEN C IERR=0 CALL GET_UNITS(IY,IERR) IF(IERR.EQ.0) THEN NC07YYY=IY END IF C GO TO 400 C END IF C C ------------------------------------------------------------------ C 300 CONTINUE C KERR=22 WRITE(*,*) 'CREXOPER:' CALL CREXERR(KERR) C C ------------------------------------------------------------------ C 400 CONTINUE C RETURN END emoslib-000392+dfsg.1/crexdc/crex_get_name_unit.F0000755000175000017500000000530612127406245022703 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREX_GET_NAME_UNIT(KREFERENCE,YNAME,YUNIT) C C**** *CREX_GET_NAME_UNIT* C C C PURPOSE. C -------- C FIND NAME AND THE UNIT FOR THE PARTICULAR REFERENCE NUMBER. C C C** INTERFACE. C ---------- C C *CALL* *CREX_GET_NAME_UNIT(KREFERENCE,YNAME,YUNIT)* C C C INPUT : *KREFERENCE* - TABLE B REFERENCE NUMBER C OUTPUT: C *CNAMES* - ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - ARRAY CONTAINING ELEMENT UNITS C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/2006. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C CHARACTER*64 YNAME CHARACTER*24 YUNIT C C COMMON/CREXTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C COMMON/CREXTABC/ CREXNAME(JTAB),CREXUNIT(JTAB),CREXLST(JELEM) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array C CHARACTER CREXNAME*64,CREXUNIT*24 CHARACTER*6 CREXLST C ICLASS=KREFERENCE/1000 IYYY =KREFERENCE-ICLASS*1000+1 ICLASS=ICLASS+1 C I=NCREXP(ICLASS,IYYY) YNAME=CREXNAME(I) YUNIT=CREXUNIT(I) C RETURN END emoslib-000392+dfsg.1/crexdc/sources0000755000175000017500000000151712127406245020343 0ustar amckinstryamckinstry# # Sources for crexdc # SOURCES.F = \ crexdes.F \ crexedd.F \ crexen.F \ crexepwt.F \ crexerr.F \ crexetab.F \ crexetd.F \ crexetdr.F \ crexex.F \ crexinit.F \ crexivar.F \ crexoper.F \ crexprco.F \ crexprs0.F \ crexprs1.F \ crexprt.F \ crexrep.F \ crexs0.F \ crexs1.F \ crexs2.F \ crexs2data.F \ crexs5.F \ crexsel.F \ crexsrp.F \ crexstdr.F \ crextables.F \ crextb.F \ crexupwt.F \ dec2octal.F \ extgrp.F \ extgrpc.F \ get_units.F \ nextgrp.F \ nextprt.F \ nextsec.F \ nextsep.F \ nextsubset.F \ crex_get_name_unit.F \ crexsel2.F \ octal2dec.F emoslib-000392+dfsg.1/crexdc/crexsel.F0000755000175000017500000000514712127406245020514 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXSEL(KTDLEN,KTDLST,KTDEXL,KTDEXP,KERR) C C**** *CREXSEL* C C C C PURPOSE. C -------- C Returns list of Data Descriptors as in Section 1 of Crex C message and total/requested list of elements. C C C** INTERFACE. C ---------- C C *CALL* *CREXSEL(KTDLEN,KTDLST,KTDEXL,KTDEXP,KERR)* C C C OUTPUT: C *KTDLEN* - number of data descriptors in section 1 C *KTDLST* - array containing data descriptors in section 1 C *KTDEXL* - number of entries in list of expanded data C descriptors C *KTDEXP* - array containig expanded data descriptors C *KERR* - returned error code C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON /CREXEL/ NCREXTDLEN,NCREXTDLST(JELEM),NCREXTDEXL, 1 NCREXTDEXP(JELEM) C C NCREXTDLEN - number of Data descriptors in section 1 C NCREXTDLST - list of Data descriptors C NCREXTDEXL - number of expanded Data Descriptors C NCREXTDEXP - list of expanded Data descriptors C C DIMENSION KTDLST(*),KTDEXP(*) C C C ----------------------------------------------------------------- C* 1. PUT LIST OF ELEMENTS FROM COMMON BLOCK C -------------------------------------- C TO REQUESTED ARRAYS. C -------------------- 100 CONTINUE C KERR=0 C KTDLEN=NCREXTDLEN KTDEXL=NCREXTDEXL C DO 101 I=1,NCREXTDLEN KTDLST(I)=NCREXTDLST(I) 101 CONTINUE C DO 102 I=1,NCREXTDEXL KTDEXP(I)=NCREXTDEXP(I) 102 CONTINUE C RETURN END emoslib-000392+dfsg.1/crexdc/crexerr.F0000755000175000017500000000635512127406245020523 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXERR(KERR) C**** *CREXERR* C C C PURPOSE. C -------- C PRINT ERROR CODE. C C C** INTERFACE. C ---------- C C *CALL* *CREXERR(KERR)* C C INPUT: *NONE* C C OUTPUT: *KERR* - Return error code C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C CHARACTER*80 CERROR(100) C DATA CERROR/100*' '/ C C ------------------------------------------------------------------ C C* 1. INITIALIZE MESSAGES. C -------------------- 100 CONTINUE C CERROR( 1)=' Start of CREX message not found.' CERROR( 2)=' End of CREX message not found.' CERROR( 3)=' Array to receive CREX message too small.' CERROR( 6)=' Error during read CREX table B.' CERROR( 7)=' Error during read CREX table C.' CERROR( 8)=' Error during read CREX table D.' CERROR( 9)=' Open error.' CERROR(10)=' Error during close CREX table B.' CERROR(11)=' Error during close CREX table C.' CERROR(12)=' Error during close CREX table D.' CERROR(13)=' Too many elements in the table' CERROR(14)=' Argument KVALS too small.' CERROR(19)=' Delayed replication factor too big.' CERROR(20)=' Table D reference not found.' CERROR(21)=' Data descriptor operator not found.' CERROR(22)=' CREX Opeartor name not found.' CERROR(23)=' Table B reference not found.' CERROR(25)=' KELEM argument too small.' CERROR(26)=' Word pointer out of range.' CERROR(30)=' Number of elements greater than JELEM.' CERROR(31)=' Too few elements in KDATA array.' CERROR(32)=' Number of subsets equal to zero.' CERROR(33)=' Internal write error' CERROR(34)=' Decimal to octal conversion error' CERROR(35)=' Internal read error' CERROR(36)=' Bad order of data descriptors.' CERROR(37)=' Wrong data descriptor.' CERROR(38)=' Open error on units.cinfig.dat file' CERROR(39)=' Read error on units.cinfig.dat file' CERROR(40)=' Could not find next section' CERROR(41)=' ' CERROR(42)=' Wrong start of section 1 of CREX message ' CERROR(43)=' Could not find the end of section 1' CERROR(44)=' Error during extraction of Master table' CERROR(45)=' Error during extraction of Edition number' CERROR(46)=' Error during extraction of version number' CERROR(47)=' Unit not found' C IF(KERR.GE.0.AND.KERR.LE.100) THEN WRITE(*,'(1h ,A)') CERROR(KERR) ELSE WRITE(*,'(1h ,A)') ' Error number out of range !' END IF C RETURN END emoslib-000392+dfsg.1/crexdc/extgrp.F0000755000175000017500000000435512127406245020360 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE EXTGRP(KBUFL,YBUFF, I,K,IVAL,KERR ) C C**** *EXTGRP* C C C PURPOSE. C -------- C C Extract value of group of character C C** INTERFACE. C ---------- C C *CALL* *EXTGRP(kbufl,ybuff, i,k,ival,kerr ) C C kbufl - size of ybuff in bytes C ybuff - character string C C I - CONVERSION OF GROUP STARTS IN WORD I C OF ARRAY 'KCHAR' . C C K - number of characters to convert C C C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C C C MODIFICATIONS. C -------------- C C M. D. DRAGOSAVAC *ECMWF* 15/09/2003. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C CHARACTER*(*) YBUFF CHARACTER*8 FMT REAL*8 RVIND, EPS C DIMENSION NN(5) C C ------------------------------------------------------------------ C* 1. EXTRACT GROUP OF CHARACTERS. C ---------------------------- 100 CONTINUE C IVAL=NVIND C FMT='(I10.10)' WRITE(FMT(3:4),'(I2.2)') K FMT(6:7)=FMT(3:4) C C c Check for '-' sign c IF(NE.EQ.1) THEN IF(YBUFF(I:I).EQ.'-') THEN I=I+1 END IF END IF c c Check for slash or non figure character c DO IZ=I,I+K-1 IF(YBUFF(IZ:IZ).EQ.'/') RETURN IICH=ICHAR(YBUFF(IZ:IZ)) IF(IICH.LT.48.OR.IICH.GT.57) RETURN END DO c READ(YBUFF(I:I+K-1),FMT,IOSTAT=IOS) IVAL IF(IOS.NE.0) THEN KERR=35 CALL CREXERR(KERR) RETURN END IF C IF(YBUFF(I-1:I-1).EQ.'-') IVAL=-IVAL C I=I+K C RETURN END emoslib-000392+dfsg.1/crexdc/crexivar.F0000755000175000017500000000522012127406245020662 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXIVAR(KERR) C C**** *CREXIVAR* C C C PURPOSE. C -------- C PRINT ERROR CODE. C C C** INTERFACE. C ---------- C C *CALL* *CREXIVAR(KERR)* C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 15/02/2003. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C COMMON /CRWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CRBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C COMMON /CRWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM), 4 NCREXWTDW(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTDW - working data width c c DIMENSION NCODE(JCTEXT) CHARACTER*30 CUNITNAME(JCTEXT) CHARACTER*24 CIA5(JCTEXT) CHARACTER*24 CIA2(JCTEXT) CHARACTER*24 YUNIT c LOGICAL OFIRST LOGICAL ODREPF REAL*8 RVIND REAL*8 EPS NGS=KBUFL NE=0 NVIND=2147483647 RVIND=1.7D38 EPS=1.0D-8 M=0 N=0 NCREXWT=0 ODREPF=.false. NCREXSCAM=0 NCREXAFDW=0 NCREXDWINC=0 NC07YYY=0 YUNIT=' ' C RETURN END emoslib-000392+dfsg.1/crexdc/crexen.F0000755000175000017500000003741512127406245020336 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXEN(KSEC0,KSEC1,KSEC3, 1 KTDLEN,CREXKTDLST,KDLEN,KDATA,KELEM,KVALS, 2 VALUES,CVALS,KBUFL,KBUFF,KERR) C C**** *CREXEN* C C C PURPOSE. C -------- C Creates CREX message C C C** INTERFACE. C ---------- C C *CALL* *CREXEN(KSEC0,KSEC1,KSEC3, C KTDLEN,CREXKTDLST,KDLEN,KDATA,KELEM,KVALS, C VALUES,CVALS,KBUFL,KBUFF,KERR)* C C C C INPUT : C *KBUFL* - Length of CREX message (words) C *KELEM* - Integer (expected number of expanded elements) C *KVALS* - Integer (expected number of data values) C OUTPUT: C C *KSUP* - Integer array of 9 words containing C suplementary information C - KSUP( 1) -- IDIM1, dimension of KSEC1 C - KSUP( 2) -- Reserved C - KSUP( 3) -- IDIM3, dimension of KSEC3 C - KSUP( 4) -- Reserved C - KSUP( 5) -- M (number of elements in values C array, first index) C - KSUP( 6) -- N (number of subsets,second index C of values array) C - KSUP( 7) -- JVC (number of elements in CVAL array) C - KSUP( 8) -- total CREX message length in bytes C - KSUP( 9) -- IDIM0, dimension of KSEC0 C C *KSEC0* - Integer array of 3 words containing C CREX section 0 information C KSEC0( 1)-- length of section 0 (bytes) C KSEC0( 2)-- total length of CREX message (bytes) C KSEC0( 3)-- CREX Edition number C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Reserved C KSEC1( 4)-- Reserved C KSEC1( 5)-- Reserved C KSEC1( 6)-- CREX message type C KSEC1( 7)-- Reserved C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Reserved C KSEC1(10)-- Reserved C KSEC1(11)-- Reserved C KSEC1(12)-- Reserved C KSEC1(13)-- Reserved C KSEC1(14)-- CREX Master table C KSEC1(15)-- version number of Master table used C KSEC1(16) - KSEC1(40) -- Reserved C C C Crex Edition 2 C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Originating Centre ( oooo) C KSEC1( 4)-- Update sequence number (uu) C KSEC1( 5)-- Number of subsets (sss) C KSEC1( 6)-- CREX data category (nnn) C KSEC1( 7)-- International data sub-category (mmm) C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Year (yyyy) C KSEC1(10)-- Month (mm) C KSEC1(11)-- Day (dd) C KSEC1(12)-- Hour (hh) C KSEC1(13)-- Minute (mm) C KSEC1(14)-- CREX Master table (tt) C KSEC1(15)-- version number of Master table used (vv) C KSEC1(16)-- Originating sub-centre (ppp) C KSEC1(17)-- Bufr master table version number C KSEC1(18)-- Bufr version number of local table used C KSEC1(19) - KSEC1(40) -- Reserved C C C *KSEC3* - Integer array of 4 words containing C CREX section 3 information C KSEC3( 1)-- length of section 3 (bytes) C KSEC3( 2)-- reserved C KSEC3( 3)-- number of subsets C KSEC3( 4)-- flag (data type,data compression) C C *CNAMES* - Character*64 array of KELEM containing C CREX Table B element names C *CUNITS* - Character*24 array of KELEM containig C CREX Table B units C *VALUES* - Real*8 array of KVALS containing expanded C data values C *CVALS* - Character*80 array of KVALS containing C CREX code table or CCITTIA5 CREX elements C entries C *KERR* - returned error code C C C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/2003. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON /CRWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CRWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM), 4 NCREXWTDW(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTDW - working data width C C C COMMON /CRWTC/ CREXWTEN(JELEM),CREXWTU(JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C CHARACTER CREXWTEN*64,CREXWTU*24 C COMMON /CREL/ NCREXTDLEN,NCREXTDLST(JELEM),NCREXTDEXL, 1 NCREXTDEXP(JELEM) C C NCREXTDLEN - number of Data descriptors in section 3 C NCREXTDLST - list of Data descriptors C NCREXTDEXL - number of expanded Data Descriptors C NCREXTDEXP - list of expanded Data descriptors C COMMON /CRCMOFF/ NSUBSET C CHARACTER*120 YENTRY CHARACTER*15 FMT CHARACTER*6 CREXKTDLST(KELEM),CREXKTDLST0 C INTEGER IVALUE(KELEM) C CHARACTER*4 YUSE_E C INTEGER IVAL,IIVAL c REAL*8 EPS REAL*8 RVIND REAL*8 VAL C DIMENSION KSUP(JSUP),KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC3(JSEC3) DIMENSION KBUFF(KBUFL) DIMENSION KBUFR(JBUFL) C REAL*8 VALUES(KVALS) C CHARACTER*80 CVALS(KVALS),CV C CHARACTER*(JBUFL*4) YOUT C CHARACTER*3 crcrlf C CHARACTER*4 CECMWF C EQUIVALENCE(KBUFR(1),YOUT) C ------------------------------------------------------------------ C CALL GETENV('USE_E',YUSE_E) C YOUT=' ' IPT=1 IPT0=1 crcrlf=char(13)//char(13)//char(10) c c* 1. Set Constants c ---------------- 100 continue c KERR=0 IF(CECMWF.NE.'ECMF') THEN CALL CREXIVAR(KERR) IPT = 1 IPT0 = 1 CECMWF='ECMF' END IF c C* 1. Create Section 0 - Indicator Section C ------------------------------------ 110 CONTINUE c YOUT(1:9)='CREX++'//crcrlf c c* 2. Create Section 1 - Data Description Section c ------------------------------------------- 200 CONTINUE c IF(KSEC1(2).LT.2) THEN YOUT(10:10)='T' WRITE(YOUT(10:16),'(A1,3(i2.2))') 'T',KSEC1(14),KSEC1(2),KSEC1(15) YOUT(17:18)=' A' WRITE(YOUT(19:21),'(I3.3)',IOSTAT=IOS) KSEC1(6) IF(IOS.NE.0) THEN print*,'Internal write error.' KERR=33 RETURN END IF IPT=22 ELSE YOUT(10:10)='T' WRITE(YOUT(10:20),'(A1,5(i2.2))') 'T',KSEC1(14),KSEC1(2), 1 KSEC1(15),KSEC1(17),KSEC1(18) YOUT(22:22)='A' WRITE(YOUT(23:28),'(2(i3.3))') KSEC1(6), KSEC1(7) YOUT(30:30)='P' WRITE(YOUT(31:38),'(i5.5,i3.3)') KSEC1(3), KSEC1(16) YOUT(40:40)='U' WRITE(YOUT(41:42),'(i2.2)') ksec1(4) YOUT(44:44)='S' WRITE(YOUT(45:47),'(i3.3)') KSEC1(5) YOUT(49:49)='Y' WRITE(YOUT(50:57),'(I4.4,2(i2.2))') KSEC1(9),KSEC1(10), 1 KSEC1(11) YOUT(59:59)='H' WRITE(YOUT(60:63),'(2(i2.2))') KSEC1(12),KSEC1(13) IPT=64 END IF C DO 201 I=1,KTDLEN YOUT(IPT:IPT+6)=' '//CREXKTDLST(I) IPT=IPT+7 c IF((IPT-IPT0).GT.60) THEN YOUT(IPT:IPT+2)=crcrlf IPT=IPT+3 IPT0=IPT END IF c 201 CONTINUE c IF(YUSE_E.EQ.'true') THEN iE=1 YOUT(IPT:IPT+6)=' E++'//crcrlf IPT=IPT+7 ELSE YOUT(IPT:IPT+4)='++'//crcrlf IPT=IPT+5 END IF c c* 3. Load Crex Tables c ---------------- 300 CONTINUE c CALL CREXETAB(KSEC1,KERR) IF(KERR.GT.0) RETURN c c* 3.1 Expand Data Descriptors c ----------------------- c 310 CONTINUE c KPT=0 IPT0=IPT NSUBSET=0 DO 401 IX=1,KSEC3(3) C NSUBSET=NSUBSET+1 C CALL CREXETD(KPT,KTDLEN,CREXKTDLST,KDLEN,KDATA,KSEC3, 1 KVALS,VALUES,KELEM,KERR) IF(KERR.GT.0) RETURN c c* 4. Create Section 2 - Data Section c ------------------------------- 400 CONTINUE c C C DO 402 iy=1,NCREXTDEXL IZ=IY+(NSUBSET-1)*KELEM c IF(ABS(VALUES(IZ)-RVIND)/RVIND.gt.EPS) THEN if(CREXWTU(IY)(1:4).EQ.'CHAR') THEN ICP=NINT(VALUES(IZ)/1000) ICH=NINT(VALUES(IZ))-ICP*1000 IF(YUSE_E.EQ.'true') THEN YOUT(IPT:IPT)=CHAR(iE+48) iE=iE+1 IF(iE.GT.9) iE=0 IPT=IPT+1 END IF YOUT(IPT:IPT)=' ' IPT=IPT+1 IF(ICHAR(CVALS(ICP)(1:1)).EQ.255) then cv=' ' do ii=1,NCREXWTDW(IY) cv(ii:ii)='/' end do YOUT(IPT:IPT+NCREXWTDW(IY)-1)=cv else YOUT(IPT:IPT+NCREXWTDW(IY)-1)=CVALS(ICP) end if IPT=IPT+NCREXWTDW(IY) YOUT(IPT:IPT)=' ' IPT=IPT+1 ELSE IF(CREXWTU(IY)(1:4).EQ.'FLAG') THEN IVAL=INT(VALUES(IZ)) CALL DEC2OCTAL(IIVAL,IVAL,IERR) IF(IERR.NE.0) THEN print*,'Error during flag conversion' print*,'iz=',iz,' ','values(iz)=',values(iz) print*,'iz=',iz,' ','ival =',ival print*,'iz=',iz,' ','iival =',iival KERR=34 RETURN END IF VALUES(IZ)=FLOAT(IIVAL) c ELSEIF(CREXWTU(IY)(1:4).eq.'C ') THEN c convert Kelvin into Celsius c VALUES(IZ)=VALUES(IZ)-273.16 END IF IF(NCREXWTS(IY).GE.0) THEN IVALUE(IY)=NINT(VALUES(IZ)*10.**NCREXWTS(IY)) ELSE IVALUE(IY)=NINT(VALUES(IZ)/10.**IABS(NCREXWTS(IY))) END IF C c----------------------------------------------------------------- JZ=0 IRES=IABS(IVALUE(IY)) DO WHILE(IRES.GT.0) JZ=JZ+1 IRES=IRES/10 END DO c IF(JZ.GT.NCREXWTDW(IY)) THEN print*,'Element=',iy,' NCREXWTR=',NCREXWTR(iy),'value=',ivalue(iy) print*,'number of figures calculated ',jz print*,'number of figures in tables ',NCREXWTDW(iy) c c Replace this value with missing value '/' c YOUT(IPT:IPT)=' ' IPT=IPT+1 if(YUSE_E.EQ.'true') THEN YOUT(IPT:IPT)=CHAR(iE+48) iE=iE+1 if(iE.gt.9) iE=0 IPT=IPT+1 END IF DO III=1,NCREXWTDW(IY) YOUT(IPT:IPT)='/' IPT=IPT+1 END DO ELSE c----------------------------------------------------------------- IF(IVALUE(IY).LT.0) THEN YOUT(IPT:IPT)=' ' IF(YUSE_E.eq.'true') THEN IPT=IPT+1 YOUT(IPT:IPT)=CHAR(iE+48) iE=iE+1 IF(iE.gt.9) iE=0 END IF IPT=IPT+1 YOUT(IPT:IPT)='-' ELSE YOUT(IPT:IPT)=' ' IF(YUSE_E.EQ.'true') THEN IPT=IPT+1 YOUT(IPT:IPT)=CHAR(iE+48) iE=iE+1 IF(iE.gt.9) iE=0 END IF END IF c IPT=IPT+1 c FMT='(i02.02)' IF(NCREXWTR(iy).eq.031001.or.NCREXWTR(iy).eq.031002) then NCREXWTDW(iy)=4 END IF WRITE(FMT(3:4),'(I2.2)',IOSTAT=IOS) NCREXWTDW(iy) IF(IOS.NE.0) THEN print*,'Internal write error.' KERR=33 RETURN END IF FMT(6:7)=FMT(3:4) WRITE(YOUT(IPT:IPT+NCREXWTDW(iy)-1),FMT,IOSTAT=IOS) 1 IABS(IVALUE(IY)) IF(IOS.NE.0) THEN print*,'Internal write error ',ios KERR=33 RETURN END IF IPT=IPT+NCREXWTDW(iy) END IF END IF ELSE YOUT(IPT:IPT)=' ' IF(YUSE_E.eq.'true') THEN IPT=IPT+1 YOUT(IPT:IPT)=CHAR(iE+48) iE=iE+1 IF(iE.gt.9) iE=0 END IF c IPT=IPT+1 c DO III=1,NCREXWTDW(iy) YOUT(IPT:IPT)='/' IPT=IPT+1 END DO END IF c IF((IPT-IPT0).GT.60) THEN YOUT(IPT:IPT+2)=crcrlf IPT=IPT+3 IPT0=IPT END IF C 402 CONTINUE c YOUT(IPT:IPT+3)='+'//crcrlf IPT=IPT+4 IPT0=IPT c 401 CONTINUE C IPT=IPT-4 YOUT(IPT:IPT+4)='++'//crcrlf IPT=IPT+5 c c* 5. Create Section 4 - End Section c ------------------------------- 500 continue c YOUT(IPT:IPT+6)='7777'//crcrlf IPT=IPT+6 IPT0=IPT C C 6. Return the size of crex in bytes C -------------------------------- 600 CONTINUE NBYTPW=JBPW/8 K=IPT/NBYTPW+1 DO 601 I=1,K KBUFF(i)=KBUFR(i) 601 END DO C KBUFL=IPT C RETURN END emoslib-000392+dfsg.1/crexdc/nextsep.F0000755000175000017500000000440212127406245020526 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE NEXTSEP(KBUFL,YBUFF,I,J,KERR) C C**** *NEXTSEP* C C C PURPOSE. C -------- C LOCATE THE NEXT SEPARATOR C CHARACTER WHICH IS 'CR' OR 'LF' OR 'SPACE' OR '+' C C C** INTERFACE. C ---------- C C *CALL* *NEXTSEP(KBUFL,YBUFF,I,J,KERR)* C INPUT : KBUFL - size if ybuff C YBUFF - character string C I - SCAN STARTS AT byte 'I' OF YBUFF C J - SCAN ENDS AT byte 'J' OF YBUFF C C OUTPUT : I - POSITION OF NEXT 'CR' OR 'LF' OR 'SPACE' C OR '+' C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C C C MODIFICATIONS. C -------------- C C MILAN DRAGOSAVAC *ECMWF* 15/02/2003. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C CHARACTER*(*) YBUFF CHARACTER*1 cr,lf,space,plus,minus C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY REAL*8 RVIND,EPS C C ------------------------------------------------------------------ C C* 1. SCAN BULLETIN. C -------------- 100 CONTINUE C C 'CR' = 13 , 'LF' = 10 , 'SPACE' = 32 'PLUS' = 43, C cr=char(13) lf=char(10) space=char(32) plus=char(43) minus='-' C i=iabs(i) k = i do 101 i=k,j if(NE.eq.0) then if(ybuff(I:I).eq.cr.or. 1 ybuff(I:I).eq.lf.or. 2 ybuff(I:I).eq.space.or. 3 ybuff(I:I).eq.minus.or. 3 ybuff(I:I).eq.plus) return else if(ybuff(I:I).eq.cr.or. 1 ybuff(I:I).eq.lf.or. 2 ybuff(I:I).eq.space.or. 3 ybuff(I:I).eq.plus) return end if 101 continue C return end emoslib-000392+dfsg.1/crexdc/crexsrp.F0000755000175000017500000002331312127406245020530 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXSRP(KBUFL,YBUFF,KSEC3,KJ,KJ1,KDD,KSTACK,KELEM,KERR) C C**** *CREXSRP* C C C PURPOSE. C -------- C Resolve data descriptor replication problem. C C C** INTERFACE. C ---------- C C *CALL* *CREXSRP(KBUFL,YBUFF,KSEC3,KJ,KJ1,KDD,KSTACK,KELEM,KERR)* C C INPUT : C *KBUFL* - length of CREX message (words) C *YBUFF* - array containing CREX message C *KSEC3* - array containig section 3 information C *KELEM* - dimension of CNAMES, CUNITS array C *KDD* - data descriptor C OUTPUT: C *KJ* - pointer to kstack array C *KJ1* - pointer to last element in kstack C *KSTACK* - list of data descriptors C *KERR* - return code C C METHOD. C ------- C NONE. C C EXTERNALS. C ---------- C C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 01/02/2003. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C CHARACTER CREXWTEN*64,CREXWTU*24 C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CREXWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM),NCREXWTRV(JELEM), 4 NCREXWTDW(JELEM),NWTIW(JELEM),NWTIWS(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTRV - working reference value C NCREXWTDW - working data width C NWTIW - working data width of increments C NWTIWS - working total data width of element set C C COMMON /CREXWTC/ CREXWTEN(JELEM),CREXWTU (JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C C COMMON /CREXBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C C COMMON /CREXOFF/ NSIZEG(JELEM),NCREXWTRG(JWORK), 1 NBP,NSUBSET,OMULTI C DIMENSION ILIST(JELEM) DIMENSION KSTACK(*),KSEC3(JSEC3) C CHARACTER*(*) YBUFF REAL*8 RVIND,EPS C C C ------------------------------------------------------------------ C C* 1. STORE K, NUMBER OF DESCRIPTORS TO BE REPLICATED. C ------------------------------------------------ 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 K = IX C C C* 1.1 DELAYED REPLICATION ? C --------------------- 110 CONTINUE C IF( IY .NE. 0 ) THEN C C* 1.2 STORE NUMBER OF DESCRIPTORS, K, AND REPLICATION C ----------------------------------------------- C FACTOR JR. C ---------- 120 CONTINUE C K = IX JR = IY GO TO 500 ELSE C C 1.3 INSERT DELAYED REPLICATION C ODREPF=.TRUE. KDD=31002 GO TO 300 END IF C C ------------------------------------------------------------------ C C* 2. GET NEXT DESCRIPTOR. C -------------------- 200 CONTINUE C KJ =KJ + 1 KDD= KSTACK(KJ) C C ------------------------------------------------------------------ C C* 2.1 REPLICATION FACTOR ? C -------------------- 210 CONTINUE C IF(KDD.NE.31001.AND.KDD.NE.31002.AND. 1 KDD.NE.31000.AND. 1 KDD.NE.31011.AND.KDD.NE.31012 )THEN C C* 2.1.1 SEQUENCE DESCRIPTOR ? C --------------------- C IF=KDD/100000 C IF( IF.EQ.3) THEN C C* 2.1.1.1 SOLVE TABLE D REFERENCE. C ------------------------ CALL CREXSTDR(KJ,KJ1,KDD,KSTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NCREXSTACK(IQ)=0. 252 CONTINUE RETURN END IF GO TO 200 END IF C IF( IF.EQ.2) THEN CALL CREXPRCO(KBUFL,YBUFF,KJ,KDD,KSTACK,KELEM,KERR) IF(KERR.GT.0) THEN CALL CREXERR(KERR) RETURN END IF GO TO 200 END IF C KERR=36 CALL CREXERR(KERR) RETURN END IF C C ------------------------------------------------------------------ C C* 3. UPDATE WORKING TABLE. C --------------------- 300 CONTINUE C CALL CREXUPWT(KDD,KELEM,KERR) IF(KERR.GT.0) RETURN C C CHECK IF NEXT DESCRIPTOR CANCEL OPERATOR FOR DELAYED C REPLICATION C IIIF=KSTACK(KJ+1)/100000 IIII=KSTACK(KJ+1)-IIIF*100000 IIIX=IIII/1000 IIIY=IIII-IIIX*1000 C IF(IIIF.EQ.2.AND.IIIY.EQ.0) THEN KJ=KJ+1 KDD=KSTACK(KJ) CALL CREXPRCO(KBUFL,YBUFF,KJ,KDD,KSTACK,KELEM,KERR) IF(KERR.GT.0) THEN CALL CREXERR(KERR) RETURN END IF END IF C C ------------------------------------------------------------------ C C* 4. LOCATE AND STORE JR, THE REPLICATION FACTOR FROM DATA. C ------------------------------------------------------ 400 CONTINUE C C C UNCOMPRESSED DATA C IF(NSUBSET.EQ.1) THEN IBPT=NBPTSEC2 ELSE IBPT=NBP END IF CALL NEXTPRT(KBUFL,YBUFF,IBPT,NGS,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF C c Now IBPT points to the first group c ITEMP=IBPT CALL NEXTSEC(KBUFL,YBUFF, ITEMP,NGS,KERR ) IF(KERR.NE.0) THEN print*,'nextsec: error ',ierr RETURN END IF C c Now itemp points to the end of previous section c CALL NEXTPRT(KBUFL,YBUFF,IBPT,ITEMP,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF c DO 401 J=1,NCREXWT-1 C IBPT=IBPT+NCREXWTDW(j)+NE c CALL NEXTPRT(KBUFL,YBUFF,IBPT,ITEMP,KERR ) c IF(KERR.NE.0) THEN c print*,'nextprt: error ',ierr c RETURN c END IF c CALL NEXTSEP(KBUFL,YBUFF,IBPT,ITEMP,KERR ) CALL NEXTGRP(KBUFL,YBUFF,IBPT,ITEMP,KERR) IF(KERR.NE.0) THEN print*,'nextsec: error ',ierr RETURN END IF C 401 CONTINUE C IF(NE.EQ.1) IBPT=IBPT+1 CALL EXTGRP(KBUFL,YBUFF, IBPT,NCREXWTDW(NCREXWT),JR,KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN end if C IF(JR.EQ.0) THEN KJ=KJ+K GO TO 640 END IF C JRTK=JR*K+KJ1-K IF(JRTK.GT.JELEM) THEN KERR=19 PRINT*,'BUSRP :' CALL CREXERR(KERR) PRINT*,'Replication factor =',JR RETURN END IF C C ------------------------------------------------------------------ C* 5. GET NEXT K DESCRIPTORS. C ----------------------- 500 CONTINUE C DO 501 J=1,K C ILIST(J)=KSTACK(KJ+J) C 501 CONTINUE C C ------------------------------------------------------------------ C* 6. ADD JR TIMES K DESCRIPTORS IN PLACE OF K C ---------------------------------------- C DESCRIPTORS OBTAINED. C --------------------- 600 CONTINUE C C ------------------------------------------------------------------ C* 6.1 PUSH DOWN DESCRIPTORS IN KSTACK FOR (JR-1)*K PLACES C --------------------------------------------------- C STARTING AT KJ1 AND ENDING AT KJ+K. C ----------------------------------- 610 CONTINUE C JRKM1=(JR-1)*K C DO 611 J=KJ1,KJ+K,-1 C KSTACK(J+JRKM1)=KSTACK(J) C 611 CONTINUE C C* 6.2 INSERT LIST IN THE STACK. C ------------------------- 620 CONTINUE C DO 622 J=1,JR C KJJM1K=KJ+(J-1)*K C DO 623 J1=1,K C KSTACK(KJJM1K+J1)=ILIST(J1) C 623 CONTINUE 622 CONTINUE C C ------------------------------------------------------------------ C* 6.3 ADJUST DESCRIPTOR COUNT FOR LIST LENGTH. C ---------------------------------------- 630 CONTINUE C KJ1 = KJ1 + (JR-1)*K C C ------------------------------------------------------------------ C* 6.4 ADJUST NUMBER OF DATA DESCRIPTORS NOT PRESENT. C ---------------------------------------------- 640 CONTINUE C C C ------------------------------------------------------------------ 700 CONTINUE C RETURN END emoslib-000392+dfsg.1/crexdc/crexsel2.F0000755000175000017500000000626412127406245020577 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXSEL2(KSUBSET,KELEM,KTDLEN,KTDLST,KTDEXL,KTDEXP, 1 CNAMES,CUNITS,KERR) C C**** *CREXSEL2* C C C C PURPOSE. C -------- C Returns list of Data Descriptors as in Section 1 of Crex C message and total/requested list of elements. C C C** INTERFACE. C ---------- C C *CALL* *CREXSEL(KSUBSET,KELEM,KTDLEN,KTDLST,KTDEXL,KTDEXP, C CNAMES,CUNITS,KERR)* C C C INPUT: *KSUBSET* - Subset number C *KELEM* - C OUTPUT: C *KTDLEN* - number of data descriptors in section 1 C *KTDLST* - array containing data descriptors in section 1 C *KTDEXL* - number of entries in list of expanded data C descriptors C *KTDEXP* - array containig expanded data descriptors C *CNAMES* - ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - ARRAY CONTAINING ELEMENT UNITS C *KERR* - returned error code C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON /CREXEL/ NCREXTDLEN,NCREXTDLST(JELEM),NCREXTDEXL, 1 NCREXTDEXP(JELEM) C C NCREXTDLEN - number of Data descriptors in section 1 C NCREXTDLST - list of Data descriptors C NCREXTDEXL - number of expanded Data Descriptors C NCREXTDEXP - list of expanded Data descriptors C C COMMON /CREXOFF/ NSIZEG(JELEM),NCREXWTRG(JWORK), 1 NBP,NSUBSET,OMULTI C DIMENSION KTDLST(*),KTDEXP(*) C CHARACTER*64 CNAMES(*) CHARACTER*24 CUNITS(*) C C ----------------------------------------------------------------- C* 1. PUT LIST OF ELEMENTS FROM COMMON BLOCK C -------------------------------------- C TO REQUESTED ARRAYS. C -------------------- 100 CONTINUE C KERR=0 C KTDLEN=NCREXTDLEN C DO 101 I=1,NCREXTDLEN KTDLST(I)=NCREXTDLST(I) 101 CONTINUE C NTDEXL=NSIZEG(KSUBSET) KTDEXL=NTDEXL IJ=(KSUBSET-1)*KELEM DO 102 I=1,KTDEXL IIJ=I+IJ KTDEXP(I)=NCREXWTRG(IIJ) CALL CREX_GET_NAME_UNIT(KTDEXP(I),CNAMES(I),CUNITS(I)) 102 CONTINUE C RETURN END emoslib-000392+dfsg.1/crexdc/octal2dec.F0000755000175000017500000000263312127406245020704 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE OCTAL2DEC(KOCTAL,KDECIMAL,KERR) C**** *DEC2OCTAL* C C C PURPOSE. C -------- C Convert decomal integer into octal value C C C** INTERFACE. C ---------- C C *CALL* *DEC2OCTAL(KOCTAL,KDECIMAL,KERR) C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) INTEGER KOCTAL INTEGER KDECIMAL CHARACTER*10 C c KERR=0 WRITE(C,'(I10)',IOSTAT=IOS) KOCTAL IF(IOS.NE.0) then Print*,'OCTAL2DEC: internal write error ',ios KERR=33 RETURN ENDIF READ(C, '(O10)',IOSTAT=IOS) KDECIMAL IF(IOS.NE.0) then Print*,'OCTAL2DEC: internal write error ',ios KERR=33 RETURN ENDIF c RETURN END emoslib-000392+dfsg.1/crexdc/crexs2data.F0000755000175000017500000003127512127406245021110 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXS2DATA(KBUFL ,YBUFF ,KSUP ,KSEC3, KELEM, 1 CNAMES,CUNITS,KVALS,VALUES,CVALS,KERR) C C**** *CREXS2DATA* C C C PURPOSE. C -------- C Expand section 2 of Crex (data section) C C C** INTERFACE. C ---------- C C *CALL* *CREXS2DATA(KBUFL,YBUFF,KSUP,KSEC3,KELEM,CNAMES, C CUNITS,KVALS,VALUES,CVALS,KERR)* C C INPUT : C *KBUFL* - length of CREX message (words) C *YBUFF* - Character string containing data C *KELEM* - dimension of CNAMES, CUNITS array C *KVALS* - dimension of VALUES array C OUTPUT: C *KSUP* - Integer array of 9 words containing C suplementary information C - KSUP( 1) -- IDIM1, dimension of KSEC1 C - KSUP( 2) -- Reserved C - KSUP( 3) -- IDIM3, dimension of KSEC3 C - KSUP( 4) -- Reserved C - KSUP( 5) -- M (number of elements in values C array, first index) C - KSUP( 6) -- N (number of subsets,second index C of values array) C - KSUP( 7) -- JVC (number of elements in CVAL array) C - KSUP( 8) -- total CREX message length in bytes C - KSUP( 9) -- IDIM0, dimension of KSEC0 C C *KSEC3* - array containing section 3 information C KSEC3( 1)-- length of section 3 (bytes) C KSEC3( 2)-- reserved C KSEC3( 3)-- number of subsets C KSEC3( 4)-- flag (data type,data compression) C *CNAMES* - character array containing element names C *CUNITS* - character array containig units C *VALUES* - real*8 array (expanded data values) C *CVALS* - character array containing text C *KERR* - returned error code C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 17/01/2003. C C C MODIFICATIONS. C -------------- C C NONE. C C-------------------------------------------------------------------------------------------- IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C C COMMON /CREXWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM),NCREXWTRV(JELEM), 4 NCREXWTDW(JELEM),NWTIW(JELEM),NWTIWS(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTRV - working reference value C NCREXWTDW - working data width C NWTIW - working data width of increments C NWTIWS - working total data width of element set C CHARACTER CREXWTEN*64,CREXWTU*24 C C COMMON /CREXWTC/ CREXWTEN(JELEM),CREXWTU (JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C C C COMMON /CREXBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C C C COMMON /CREXOFF/ NSIZEG(JELEM),NCREXWTRG(JWORK), 1 NBP,NSUBSET,OMULTI C C CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS),CH C CHARACTER*(*) YBUFF C DIMENSION ILIST(JELEM),IVALUES(JELEM) C C REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS C DIMENSION KSUP(JSUP),KSEC3(JSEC3) C C ------------------------------------------------------------------ C* 1. EXPAND PRELIMINARY ITEMS FROM SECTION4. C --------------------------------------- 100 CONTINUE C C JCV - POINTER TO CVALS ARRAY C JWT - POINTER TO WORKING TABLE ARRAY C JNS - POINTER TO VALUES ARRAY FOR SUB-SETS. C IF(KERR.GT.0) RETURN C IF(NSUBSET.EQ.1) THEN JCV = 0 END IF OREPF =.FALSE. IEOLD=0 C C ------------------------------------------------------------------ C C* 3. Expand the data C --------------- 300 CONTINUE C IF(KELEM.LT.M) THEN KERR=25 CALL CREXERR(KERR) RETURN END IF c JNS=NSUBSET C KSEC3(4)=0 KSUP(5)=NSIZEG(NSUBSET) C CALL NEXTPRT(KBUFL,YBUFF,NBPT,NGS,KERR ) IF(KERR.NE.0) THEN print*,'nextprt: error ',ierr RETURN END IF c ITEMP=NBPT CALL NEXTSEC(KBUFL,YBUFF, ITEMP,NGS,KERR ) IF(KERR.NE.0) THEN print*,'nextsec: error ',ierr RETURN END IF c 301 CONTINUE C KSEC3(3)=JNS KSUP(6)=JNS C JNSK=(JNS-1)*KELEM IF(JNSK.GT.KVALS) THEN KERR=14 CALL CREXERR(KERR) print*,'Size of values array too small.' print*,'Number of subsets=',jns print*,'Number of elements=',M print*,'Kelem=',KELEM RETURN END IF C DO IZ=JNSK+1,JNSK+M VALUES(IZ)=RVIND END DO C DO 302 JWT=1,M C JWTJNS=JWT+JNSK C IF(NCREXWTDW(JWT).EQ.0) THEN VALUES(JWTJNS)=0.0 GO TO 302 END IF C NBPTKEEP=NBPT c CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) CALL NEXTPRT(KBUFL,YBUFF,NBPT,ITEMP,KERR ) IF(NBPT.GE.ITEMP) GO TO 600 c c c Check for next E C IF(NE.EQ.1) THEN IE=ICHAR(YBUFF(NBPT:NBPT))-48 IF(IE.LT.0.OR.IE.GT.9) THEN print*,'E leading character is not a figure', 1 'for ',JWT,' element.' IEOLD=IEOLD+1 IF(IEOLD.EQ.10) IEOLD=0 CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) VALUES(JWTJNS)=RVIND GO TO 302 END IF c IF((IE-IEOLD).EQ.1.OR.(IE-IEOLD).EQ.-9) THEN IEOLD=IE ELSE c check next group IBPT=NBPT CALL NEXTSEP(KBUFL,YBUFF,IBPT,ITEMP,KERR) CALL NEXTPRT(KBUFL,YBUFF,IBPT,ITEMP,KERR ) IENEXT=ICHAR(YBUFF(NBPT:NBPT))-48 IF((IENEXT-IEOLD).GE.2.OR.(IENEXT-IEOLD).LT.0) THEN print*,JWT,' Group is missing for ',NCREXWTR(JWT), 1 ' element.' IEOLD=IEOLD+1 IF(IEOLD.EQ.10) IEOLD=0 NBPT=NBPTKEEP VALUES(JWTJNS)=RVIND GO TO 302 END IF END IF NBPT=NBPT+1 ELSE c check next group c nbpt points to first character of next group IBPT=NBPT CALL NEXTSEP(KBUFL,YBUFF,IBPT,ITEMP,KERR) if((IBPT-NBPT).ne.NCREXWTDW(JWT)) THEN if(NCREXWTEN(JWT).eq.658367) THEN izz=NBPT+NCREXWTDW(JWT) if(YBUFF(izz:izz).eq.' ') then IBPT=NBPT+NCREXWTDW(JWT) go to 305 end if end if do iz=JWT-1,1,-1 if(NCREXWTDW(JWT).eq.NCREXWTDW(iz)) then print*,iz,'Group is possibly missing ', 1 NCREXWTR(iz), 2 'values replaced with missing value' VALUES(iz)=rvind else go to 111 end if end do c 111 CONTINUE IF(NCREXWTEN(JWT).EQ.658367) THEN JCV=JCV+1 VALUES(JWTJNS)=JCV*1000+NCREXWTDW(JWT) CVALS(JCV)=' ' ELSE VALUES(JWTJNS)=RVIND END IF NBPT=IBPT GO TO 302 end if END IF C 305 CONTINUE C IF(NCREXWTR(JWT).EQ.31011.OR. 1 NCREXWTR(JWT).EQ.31012) OREPF=.TRUE. C C C ------------------------------------------------------------------ C* 3.1 CHARACTER DATA ? C ---------------- 310 CONTINUE C IF(NCREXWTEN(JWT).EQ.658367) THEN C C* 3.2 OBTAIN CHARACTER DATA FROM DATA SECTION. C ---------------------------------------- 320 CONTINUE C IY=NCREXWTDW(JWT) C CALL EXTGRPC(KBUFL,YBUFF, NBPT,IY,CH,KERR) IF(KERR.NE.0) THEN print*,'extgrpc : problem for ',JWT,' th' print*,' element', NCREXWTR(JWT) print*,'Element is missing' END IF C C* 3.3 MOVE CHARACTER DATA TO "CVALS". C ------------------------------- 330 CONTINUE C IYLINE=IY/80 IYOFF =IY-IYLINE*80 JCVINC=IYLINE C JCV = JCV + 1 JCVW= JCV C IF(IYLINE.EQ.0) THEN CVALS(JCVW)(1:iy)=ch(1:iY) ELSE DO 332 J=1,IYLINE DO 333 JJ=1,80 CVALS(JCVW)(JJ:JJ)= CH(JJ:JJ) 333 CONTINUE C JCVW=JCVW+1 C 332 CONTINUE C DO 334 J=1,IYOFF CVALS(JCVW)(J:J)= CH(J:J) 334 CONTINUE C END IF C C* 3.4 COMPUTE POINTER VALUES TO BE STORED IN "VALUES". C ------------------------------------------------ 340 CONTINUE C VALUES(JWTJNS) = JCV*1000 + IY JCV = JCV + JCVINC C GO TO 302 C END IF C C* 3.5 OBTAIN VALUE FROM DATA SECTION. C ------------------------------- 350 CONTINUE C CALL EXTGRP(KBUFL,YBUFF, NBPT,NCREXWTDW(JWT),IVAL,KERR) IF(KERR.NE.0) THEN print*,'extgrp : error ',kerr RETURN END IF C C ----------------------------------------------------------------- C* 3.6 UPDATE THE ARRAY "VALUES". C -------------------------- 360 CONTINUE C C C CHECK IF DATA IS MISSING C IF(IVAL.EQ.NVIND) THEN VALUES(JWTJNS)=RVIND ELSE IF(CREXWTU(JWT)(1:4).EQ.'FLAG') then CALL OCTAL2DEC(IVAL,IIVAL,KERR) IVAL=IIVAL END IF IF(NCREXWTS(JWT).GT.0) THEN VALUES(JWTJNS)= IVAL/10.**NCREXWTS(JWT) ELSE IIWTS=IABS(NCREXWTS(JWT)) VALUES(JWTJNS)= IVAL*10.**IIWTS END IF END IF C CALL NEXTSEP(KBUFL,YBUFF,NBPT,ITEMP,KERR) c IF(NBPT.GE.ITEMP) THEN OMULTI=.FALSE. GO TO 600 END IF C 302 CONTINUE C ITEMP1=NBPT CALL NEXTSUBSET(KBUFL,YBUFF, ITEMP1,NGS,KERR ) IF(ITEMP1.LT.NGS) THEN c JNS=JNS+1 N=JNS IEOLD=0 c GO TO 301 ELSE OMULTI=.FALSE. END IF C KSUP(7)=JCV C C ----------------------------------------------------------------- C* 6. SET SUPPLEMENTARY INFORMATION. C ------------------------------ C 600 CONTINUE C NBP=NBPT KSUP(4)= 2 C C ------------------------------------------------------------------ RETURN END emoslib-000392+dfsg.1/crexdc/crexstdr.F0000755000175000017500000001073412127406245020703 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXSTDR(KJ,KJ1,KDD,KSTACK,KERR) C C**** *CREXSTDR* C C C PURPOSE. C -------- C Solve CREX table D reference. C C C** INTERFACE. C ---------- C C *CALL* *CREXSTDR(KJ,KJ1,KDD,KSTACK,KERR)* C C INPUT : C *KDD* - data descriptor C OUTPUT: C *KJ* - pointer to kstack array C *KJ1* - pointer to last element in kstack C *KSTACK* - list of data descriptors C *KERR* - return error code C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON/CREXTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C COMMON/CREXTABC/ CREXNAME(JTAB),CREXUNIT(JTAB),CREXLST(JELEM) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array C C character*64 CREXNAME character*24 CREXUNIT character*6 CREXLST C DIMENSION ILIST(JELEM),KSTACK(*) C C ------------------------------------------------------------------ C C* 1. OBTAIN LIST OF DESCRIPTORS FROM CREX TABLE D. C --------------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C DO 110 J=1,JTAB C IF(KDD.EQ.NCREXDR(J)) THEN I=J GO TO 120 END IF C 110 CONTINUE C KERR=20 PRINT*,' CREXSTDR :',KDD CALL CREXERR(KERR) RETURN C 120 CONTINUE C J1=NCREXDST(I) J2=NCREXDL (I) J3=0 C DO 121 J=J1,J1+J2-1 C J3 = J3 +1 ILIST(J3) = NCREXDSQ(J) C 121 CONTINUE C C ------------------------------------------------------------------ C* 2. PUSH DOWN DATA DESCRIPTION DESCRIPTORS C -------------------------------------- C TO MAKE ROOM FOR LIST. C ---------------------- 200 CONTINUE C J2M1=J2-1 C DO 210 J=KJ1,KJ+1,-1 C KSTACK(J+J2M1) = KSTACK(J) C 210 CONTINUE C C ------------------------------------------------------------------ C* 3. INSERT LIST IN PLACE OF SEQUENCE DESCRIPTORS. C --------------------------------------------- 300 CONTINUE C KJM1=KJ-1 C DO 310 J=1,J3 C KSTACK(KJM1+J)= ILIST(J) C 310 CONTINUE C C ------------------------------------------------------------------ C* 4. ADJUST DESCRIPTOR COUNT FOR LIST LENGTH. C ---------------------------------------- 400 CONTINUE C KJ = KJ - 1 KJ1 = KJ1 +J3 -1 C ------------------------------------------------------------------ C* 4.1 ADJUST NUMBER OF DATA DESCRIPTORS NOT PRESENT. C ---------------------------------------------- 610 CONTINUE C C ----------------------------------------------------------------- 500 CONTINUE C RETURN C 9901 FORMAT(1H ,' CREXSTDR : table D reference not found, error=',I2) C END emoslib-000392+dfsg.1/crexdc/crexepwt.F0000755000175000017500000001661612127406245020713 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXEPWT(KDD,KERR) C C**** *CREXEPWT* C C C PURPOSE. C -------- C UPDATES WORKING TABLES SETTING ELEMENT NAME,UNIT,SCALE, C REFERENCE VALUE AND DATA WIDTH. C C C** INTERFACE. C ---------- C C *CALL* *CREXEPWT(KDD,KELEM,KERR)* C C INPUT : C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4=2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C C COMMON /CRWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CRWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM), 4 NCREXWTDW(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTDW - working data width C C C COMMON /CRWTC/ CREXWTEN(JELEM),CREXWTU(JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C CHARACTER CREXWTEN*64,CREXWTU*24 C C C COMMON/CRTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C C C C COMMON /CRTABC/ CREXNAME(JTAB),CREXUNIT(JTAB),CREXLST(JELEM) COMMON /CRTABC/ CREXNAME(JTAB),CREXUNIT(JTAB) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array C COMMON /CRATB/ NJA,NCREXATBTR(JTAB),NCREXATBS (JTAB), 1 NCREXATBDW(JTAB) C C C NCREXATBTR - augmented table B table reference C NCREXATBS - augmented table B scale C NCREXATBDW - augmented table B data width C C COMMON /CRATBC/ CREXATBEN(JTAB),CREXATBU (JTAB) C C CREXATBEN - augmented table B element name C CREXATBU - augmented table B units C C COMMON /CRBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C C C C REAL*8 RVIND,EPS C character*64 CREXNAME, CREXATBEN character*24 CREXATBU,CREXUNIT C C C C ------------------------------------------------------------------ C* 1. UPDATE WORKING TABLE. C --------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C ICLASS=KDD/1000 IYYY =KDD-ICLASS*1000+1 ICLASS=ICLASS+1 C C* 1.1 ASSOCIATED FIELD ? C ------------------ 110 CONTINUE C IF(NCREXAFDW.EQ.0) GO TO 140 C C* 1.2 UNITS ELEMENT DESCRIPTOR ? C -------------------------- 120 CONTINUE C I=NCREXP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 WRITE(*,*) ' CREXEPWT : ', KDD CALL CREXERR(KERR) DO IQ=1,JELEM NCREXSTACK(IQ)=0. END DO RETURN END IF C IF(CREXUNIT(I)(1:4).EQ.'CODE') GO TO 140 IF(CREXUNIT(I)(1:4).EQ.'FLAG') GO TO 140 IF(CREXUNIT(I)(1:3).EQ.'NUM' ) GO TO 140 C C* 1.3 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- 130 CONTINUE C NCREXWT=NCREXWT+1 CREXWTEN(NCREXWT)='ASSOCIATED FIELD' CREXWTU (NCREXWT)=' ' NCREXWTDW(NCREXWT)=NCREXAFDW NCREXWTR (NCREXWT)= 999999 NCREXWTEN(NCREXWT)= 0 NCREXWTS (NCREXWT)= 0 NCREXAFDW=0 C M=NCREXWT C C ------------------------------------------------------------------ C* 1.4 SEARCH AUGMENTED TABLE *B ENTRIES . C ----------------------------------- 140 CONTINUE C C C C* 1.5 GET TABLE *B ENTRY . C --------------------- 150 CONTINUE C I=NCREXP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 WRITE(*,*) 'CREXEPWT : ',KDD CALL CREXERR(KERR) DO 2 IQ=1,JELEM NCREXSTACK(IQ)=0. 2 CONTINUE RETURN END IF C 155 CONTINUE C C ----------------------------------------------------------------- C* 1.6 MODIFY ENTRY FOR OPERATOR IN FORCE. C ----------------------------------- 160 CONTINUE C C* ADD ENTRY TO WORKING TABLE. C --------------------------- NCREXWT=NCREXWT+1 NCREXWTR (NCREXWT) = KDD IF(NCREXSCAM.ne.0) THEN NCREXWTS (NCREXWT) = NCREXSCAM ELSE NCREXWTS (NCREXWT) = NCREXBS (I) END IF C NCREXSCAM=0 C IF(NCREXDWINC.ne.0) THEN NCREXWTDW(NCREXWT) = NCREXDWINC ELSE NCREXWTDW(NCREXWT) = NCREXBDW(I) END IF C NCREXDWINC=0 C IF(NCREXWTR (NCREXWT).eq.031002) THEN NCREXWTDW(NCREXWT)=4 END IF C C CHECK IF DATA ARE PRESENT IN DATA SECTION. C IF(NCREXWTR(NCREXWT).eq.31011.or. 1 NCREXWTR(NCREXWT).eq.31012) then IF(NCREXWTR(NCREXWT-1).eq.31011.or. 2 NCREXWTR(NCREXWT-1).eq.31012) THEN NCREXWTDW(NCREXWT)=0 END IF END IF 175 CONTINUE C C* 1.8 UPDATE M. C --------- 180 CONTINUE C C CREXWTEN(NCREXWT) = CREXNAME(I) IF(NC07YYY.NE.0) THEN CREXWTU (NCREXWT) = YUNIT YUNIT=' ' NC07YYY=0 else CREXWTU (NCREXWT) = CREXUNIT(I) END IF NCREXWTEN(NCREXWT) = 0 IF(CREXUNIT(I)(1:3).EQ.'CHA') NCREXWTEN(NCREXWT)=658367 C M = M + 1 C C ------------------------------------------------------------------ C 200 CONTINUE C RETURN C END emoslib-000392+dfsg.1/crexdc/crextb.F0000755000175000017500000003157312127406245020340 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXTB(KSEC1,KERR) C C**** *CREXTB* C C C PURPOSE. C -------- C Load Crex table B and D according to Edition and version C of Crex code. C C C** INTERFACE. C ---------- C C *CALL* *CREXTB(KSEC1,KERR)* C C OUTPUT: C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Reserved C KSEC1( 4)-- Reserved C KSEC1( 5)-- Reserved C KSEC1( 6)-- CREX message type C KSEC1( 7)-- Reserved C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Reserved C KSEC1(10)-- Reserved C KSEC1(11)-- Reserved C KSEC1(12)-- Reserved C KSEC1(13)-- Reserved C KSEC1(14)-- CREX Master table C KSEC1(15)-- version number of Master table used C KSEC1(16) - KSEC1(40) -- Reserved C C Crex Edition 2 C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Originating Centre ( oooo) C KSEC1( 4)-- Update sequence number (uu) C KSEC1( 5)-- Number of subsets (sss) C KSEC1( 6)-- CREX data category (nnn) C KSEC1( 7)-- International data sub-category (mmm) C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Year (yyyy) C KSEC1(10)-- Month (mm) C KSEC1(11)-- Day (dd) C KSEC1(12)-- Hour (hh) C KSEC1(13)-- Minute (mm) C KSEC1(14)-- CREX Master table (tt) C KSEC1(15)-- version number of Master table used (vv) C KSEC1(16)-- Originating sub-centre (ppp) C KSEC1(17)-- Bufr master table version number C KSEC1(18)-- Bufr version number of local table used C KSEC1(19) - KSEC1(40) -- Reserved C C *KERR* - returned error code C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C PARAMETER(JP=3000,JL=20) C COMMON/CREXTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C COMMON/CREXTABC/ CREXNAME(JTAB),CREXUNIT(JTAB),CREXLST(JELEM) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array C C COMMON /CREXROOT/ CROOT C C croot - path for Crex tables C CHARACTER*64 CREXNAME CHARACTER*24 CREXUNIT character*6 CREXLST C CHARACTER*256 YNAME CHARACTER*256 YFNAME CHARACTER*160 YENTRY C CHARACTER*256 YTAB ,YTAC ,YTAD CHARACTER*7 YTABB,YTABC,YTABD CHARACTER*256 CROOT CHARACTER*6 CNCREXBR C DIMENSION KSEC1(*) C INTEGER IEMOSNUM C EXTERNAL FUNCTIONS C INTEGER EMOSNUM EXTERNAL EMOSNUM SAVE OFIRST C C ------------------------------------------------------------------ C C* 1. GET CREX TABLES/LOCAL CREX TABLES. C ---------------------------------- 100 CONTINUE C IF( KERR.NE.0) RETURN C C C* 2. SET UP CREX TABLE FILE NAME. C ---------------------------- 200 CONTINUE C C C CREX EDITION 1 NAMING CONVENTION C C BXXYYZZ , DXXYYZZ C C B - CREX TABLE 'B' C D - CREX TABLE 'D' C XX - Crex Master table used '00' C YY - Crex Edition number used '01' C ZZ - Crex Table version number '01' C IXX=0 IYY=KSEC1( 2) IZZ=KSEC1(15) C IF(OFIRST) THEN IF(IXX.EQ.NXXP.AND.IYY.EQ.NYYP.AND. 1 IZZ.EQ.NZZP) RETURN END IF C J=0 ICLASS0=0 IVIND=2147483647 C DO 101 I=1,64 DO 101 II=1,255 NCREXP(I,II)=0 101 CONTINUE C DO 102 i=1,JP NCREXBR(I)=IVIND NCREXBS (I)=IVIND NCREXBDW(I)=IVIND CREXNAME(I)=' ' CREXUNIT(I)=' ' 102 CONTINUE C J =0 IST=1 C DO 103 I=1,JP NCREXDR(I)=999999 NCREXDL (I)=0 NCREXDST(I)=0 103 CONTINUE C DO 104 I=1,JP*20 NCREXDSQ(I)=0 104 CONTINUE OFIRST=.TRUE. C NXXP=IXX NYYP=IYY NZZP=IZZ C WRITE(YTABB,'(A1,I2.2,I2.2,I2.2)') 'B',IXX,IYY,IZZ C WRITE(YTABC,'(A1,I2.2,I2.2,I2.2)') 'C',IXX,IYY,IZZ WRITE(YTABD,'(A1,I2.2,I2.2,I2.2)') 'D',IXX,IYY,IZZ C PRINT*,'CREX Tables to be loaded ',YTABB,',',YTABD C C ---------------------------------------------------------------- C* 3. OPEN AND READ FILES CONTAINING CREX TABLES. C ------------------------------------------- 300 CONTINUE C CROOT=' ' CALL GETENV('CREX_TABLES',CROOT) ILNG=INDEX(CROOT,' ') IF(ILNG.EQ.1) THEN C C SGI/HP/SUN CREX TABLES PATH C CROOT='/home/ma/emos/tables/crex/' C C ADD VERSION NUMBER C ILNG=INDEX(CROOT,' ') IEMOSNM = EMOSNUM(1) WRITE(CROOT(ILNG:ILNG+5),'(I6.6)') IEMOSNM CROOT(ILNG+6:) = '/' ENDIF I=INDEX(CROOT,' ') IF(I.NE.0) I=I-1 C C* 3.1 READ CREX TABLE B. C ------------------ 310 CONTINUE C YTAB=CROOT(1:I)//YTABB II=I+7 C OPEN(UNIT=38,IOSTAT=IOS,ERR=311,FILE=YTAB(1:II), 1 FORM='FORMATTED', 2 recl=160, 5 STATUS='OLD') C J=0 GO TO 312 C 311 CONTINUE C CLOSE(38) C KERR=9 CALL CREXERR(KERR) print*,'Open error on ',YTAB(1:II) C RETURN C 312 CONTINUE C J=J+1 READ(38,ERR=400,IOSTAT=IOS,END=329, 1 FMT='(1x,A,1x,A64,47x,A24,I3,7x,I3)') 2 CNCREXBR,CREXNAME(J),CREXUNIT(J),NCREXBS(J),NCREXBDW(J) IF(IOS.NE.0) THEN print*,'Internal read error.' print*,CNCREXBR KERR=35 CALL CREXERR(KERR) RETURN END IF C CNCREXBR(1:1)='0' C READ(CNCREXBR,'(i6.6)',IOSTAT=IOS) NCREXBR(J) IF(IOS.NE.0) THEN print*,'Internal read error.' print*,CNCREXBR KERR=35 CALL CREXERR(KERR) RETURN END IF C C ICLASS=NCREXBR(J)/1000 IYYY =NCREXBR(J)-ICLASS*1000+1 C ICLASS=ICLASS+1 NCREXP(ICLASS,IYYY)=J GO TO 312 C 329 CONTINUE C CLOSE(UNIT=38,IOSTAT=IOS,ERR=420) C C* 3.3 READ CREX TABLE D. C ------------------ 330 CONTINUE C YTAD=CROOT(1:I)//YTABD C OPEN(UNIT=40,IOSTAT=IOS,ERR=331,FILE=YTAD(1:II), 1 FORM='FORMATTED', 2 recl=160, 5 STATUS='OLD') C GO TO 332 C 331 CONTINUE C CLOSE(40) C print*,'Open error on ',YTAD C KERR=9 CALL CREXERR(KERR) RETURN C 332 CONTINUE C J=0 340 CONTINUE c YENTRY=' ' READ(40,'(A)',IOSTAT=IOS,END=390) YENTRY IF(IOS.NE.0) THEN print*,'Read error on CREX table D.' KERR=35 CALL CREXERR(KERR) RETURN END IF IF(YENTRY(2:2).EQ.'D') YENTRY(2:2)='3' c j=j+1 READ(YENTRY,'(1X,I6,1X,I2)',IOSTAT=IOS) NCREXDR(J),NCREXDL(J) IF(IOS.NE.0) THEN print*,YENTRY KERR=35 CALL CREXERR(KERR) RETURN END IF IF(J.GT.JP) THEN PRINT*,' DIMENSION TOO SMALL J=',J KERR=13 RETURN END IF C IF(J.EQ.1) THEN IST=1 NCREXDST(J)=IST ELSE IST=IST + NCREXDL(J-1) NCREXDST(J)=IST END IF C IF(NCREXDL(J).GT.1) THEN if(YENTRY(12:12).eq.'D') YENTRY(12:12)='3' if(YENTRY(12:12).eq.'C') then YENTRY(12:12)='2' c check if negative scale is present IMINUS=0 IMINUS=INDEX(YENTRY(12:16),'-') IF(IMINUS.NE.0) YENTRY(IMINUS:IMINUS)='9' end if IF(YENTRY(12:12).eq.'R') YENTRY(12:12)='1' IF(YENTRY(12:12).eq.'B') YENTRY(12:12)='0' READ(YENTRY,'(11X,I6)',IOSTAT=IOS) NCREXDSQ(IST) IF(IOS.NE.0) THEN print*,YENTRY KERR=35 CALL CREXERR(KERR) RETURN END IF c IIST=IST C DO 220 JA=1,NCREXDL(J)-1 IIST=IIST+1 READ(40,'(A)',END=300,IOSTAT=IOS) YENTRY IF(IOS.NE.0) THEN print*,YENTRY KERR=35 CALL CREXERR(KERR) RETURN END IF c IF(YENTRY(12:12).eq.'D') YENTRY(12:12)='3' IF(YENTRY(12:12).eq.'C') YENTRY(12:12)='2' IF(YENTRY(12:12).eq.'R') YENTRY(12:12)='1' IF(YENTRY(12:12).eq.'B') YENTRY(12:12)='0' READ(YENTRY,'(11X,I6)',IOSTAT=IOS) NCREXDSQ(IIST) IF(IOS.NE.0) THEN print*,'Internal read error.' print*,YENTRY KERR=35 CALL CREXERR(KERR) RETURN END IF 220 CONTINUE C ELSE IF(YENTRY(12:12).eq.'D') YENTRY(12:12)='3' IF(YENTRY(12:12).eq.'C') YENTRY(12:12)='2' IF(YENTRY(12:12).eq.'R') YENTRY(12:12)='1' IF(YENTRY(12:12).eq.'B') YENTRY(12:12)='0' READ(YENTRY,'(11X,I6)',IOSTAT=IOS) NCREXDSQ(IST) IF(IOS.NE.0) THEN print*,YENTRY KERR=35 CALL CREXERR(KERR) RETURN END IF END IF C GO TO 340 c 390 CONTINUE C CLOSE(UNIT=40,IOSTAT=IOS,ERR=620) C C RETURN C ---------------------------------------------------------------- 400 CONTINUE C KERR=6 PRINT*,'BUGBTS: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 410 CONTINUE C KERR=9 PRINT*,'BUGBTS: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 420 CONTINUE C KERR=10 PRINT*,'BUGBTS: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C ---------------------------------------------------------------- 500 CONTINUE C KERR=7 PRINT*,'BUGBTS: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 510 CONTINUE C KERR=9 PRINT*,'BUGBTS: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 520 CONTINUE C KERR=11 PRINT*,'BUGBTS: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C ----------------------------------------------------------------- 600 CONTINUE C KERR=8 PRINT*,'BUGBTS: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 610 CONTINUE C KERR=9 PRINT*,'BUGBTS: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 620 CONTINUE C KERR=12 PRINT*,'BUGBTS: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C ----------------------------------------------------------------- C END emoslib-000392+dfsg.1/crexdc/crexdes.F0000755000175000017500000002135112127406245020477 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXDES(K,KSEC1,KTDLEN,CREXKTDLST,KDLEN,KDATA,KELEM, 1 KTDEXL,CREXKTDEXP,CNAMES,CUNITS,KERR) C C**** *CREXDES* C C C PURPOSE. C -------- C EXPAND DATA DESCRIPTORS TO SHOW USER TEMPLATE C DESCRIBED BY ARRAY KTDLST AND KDATA C C C** INTERFACE. C ---------- C C *CALL* *CREXDES(K,KSEC1,KTDLEN,CREXKTDLST,KDLEN,KDATA,KELEM, C KTDEXL,CREXKTDEXP,CNAMES,CUNITS,KERR)* C C C C INPUT : C *K* - AN INTEGER, PRINTING SWITCH 0 - NO PRINT C 1 - PRINT C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Reserved C KSEC1( 4)-- Reserved C KSEC1( 5)-- Reserved C KSEC1( 6)-- CREX message type C KSEC1( 7)-- Reserved C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Reserved C KSEC1(10)-- Reserved C KSEC1(11)-- Reserved C KSEC1(12)-- Reserved C KSEC1(13)-- Reserved C KSEC1(14)-- CREX Master table C KSEC1(15)-- version number of Master table used C KSEC1(16) - KSEC1(40) -- Reserved C C Crex Edition 2 C C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Originating Centre ( oooo) C KSEC1( 4)-- Update sequence number (uu) C KSEC1( 5)-- Number of subsets (sss) C KSEC1( 6)-- CREX data category (nnn) C KSEC1( 7)-- International data sub-category (mmm) C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Year (yyyy) C KSEC1(10)-- Month (mm) C KSEC1(11)-- Day (dd) C KSEC1(12)-- Hour (hh) C KSEC1(13)-- Minute (mm) C KSEC1(14)-- CREX Master table (tt) C KSEC1(15)-- version number of Master table used (vv) C KSEC1(16)-- Originating sub-centre (ppp) C KSEC1(17)-- Bufr master table version number C KSEC1(18)-- Bufr version number of local table used C KSEC1(19) - KSEC1(40) -- Reserved C C C *KTDLEN* - Integer number of data descriptors in the list C *CREXKTDLST* Integer array of at least ktdlen words C *KDLEN* - Integer (dimension of kdata array) C *KDATA* - Integer array containing data needed for data C descriptor expansion (delayed replication factors) C which appear in the values array C *KELEM* - C OUTPUT: C C *KTDEXL - An integer containing number of expanded elements C C *KTDEXP* - An integer array containing expanded list of descriptors C C *CNAMES* - Character*64 array of KELEM containing C CREX Table B element names C *CUNITS* - Character*24 array of KELEM containig C CREX Table B units C *VALUES* - Real*8 array of KVALS containing expanded C data values C *KERR* - returned error code C C C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/2003. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON /CRWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CRWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM), 4 NCREXWTDW(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTDW - working data width C C C COMMON /CRWTC/ CREXWTEN(JELEM),CREXWTU(JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C CHARACTER CREXWTEN*64,CREXWTU*24 C COMMON /CREL/ NCREXTDLEN,NCREXTDLST(JELEM),NCREXTDEXL, 1 NCREXTDEXP(JELEM) C C NCREXTDLEN - number of Data descriptors in section 3 C NCREXTDLST - list of Data descriptors C NCREXTDEXL - number of expanded Data Descriptors C NCREXTDEXP - list of expanded Data descriptors C COMMON /CRBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values CHARACTER*15 FMT CHARACTER*6 CREXKTDLST(KELEM) CHARACTER*6 CREXKTDEXP(KELEM) C INTEGER IVALUE(KELEM) C INTEGER IVAL,IIVAL c REAL*8 EPS REAL*8 RVIND REAL*8 VAL C CHARACTER*64 CNAMES(kelem) CHARACTER*24 CUNITS(kelem) DIMENSION KSEC0(JSEC0),KSEC1(JSEC1) C CHARACTER*4 CECMWF C C ------------------------------------------------------------------ C c* 1. Set Constants c ---------------- 100 CONTINUE c KERR=0 IF(CECMWF.NE.'ECMF') THEN CALL CREXIVAR(KERR) CECMWF='ECMF' END IF c c* 2. Load Crex Tables c ---------------- 200 CONTINUE c CALL CREXETAB(KSEC1,KERR) IF(KERR.GT.0) RETURN c c* 3.1 Expand Data Descriptors c ----------------------- c 310 CONTINUE c KPT=0 CALL CREXEDD(KPT,KTDLEN,CREXKTDLST,KDLEN,KDATA,KSEC3, 1 KELEM,CNAMES,CUNITS,KERR) IF(KERR.GT.0) RETURN C KTDEXL =M DO 301 I=1,KTDEXL WRITE(CREXKTDEXP(I),'(i6.6)') NCREXWTR(I) IF(CREXKTDEXP(I)(1:1).EQ.'0') CREXKTDEXP(I)(1:1)="B" 301 CONTINUE C IF(K.EQ.1) THEN C WRITE(*,'(1H ,//)') WRITE(*,'(1H ,A)') ' DATA DESCRIPTORS (UNEXPANDED)' C WRITE(*,'(1H )') DO 110 I=1,KTDLEN IF(CREXKTDLST(I)(1:1).EQ.'3') CREXKTDLST(I)(1:1)="D" IF(CREXKTDLST(I)(1:1).EQ.'2') CREXKTDLST(I)(1:1)="C" IF(CREXKTDLST(I)(1:1).EQ.'1') CREXKTDLST(I)(1:1)="R" IF(CREXKTDLST(I)(1:1).EQ.'0') CREXKTDLST(I)(1:1)="B" WRITE(*,'(1H ,I4,2X,A)') I,CREXKTDLST(I) 110 CONTINUE C WRITE(*,'(1H ,/)') WRITE(*,'(1H ,A)') ' DATA DESCRIPTORS (EXPANDED)' WRITE(*,'(1H )') WRITE(*,'(1H ,A,A)')' ELEMENT NAME', 1 ' UNIT' WRITE(*,'(1H )') C DO 120 I=1,KTDEXL WRITE(*,'(1H ,I5,2X,A,2X,A,2X,A)') I,CREXKTDEXP(I), 1 CNAMES(I)(1:40),CUNITS(I)(1:18) 120 CONTINUE END IF C C C ----------------------------------------------------------------- RETURN C END emoslib-000392+dfsg.1/crexdc/nextgrp.F0000755000175000017500000000454312127406245020535 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE NEXTGRP(KBUFL,YBUFF,I,J,KERR) C C**** *NEXTGRP* C C C PURPOSE. C -------- C LOCATE THE NEXT SEPARATOR C CHARACTER WHICH IS NOT 'CR' OR 'LF' OR 'SPACE' OR '+' C C INPUT : KBUFL - size if ybuff C YBUFF - character string C I - SCAN STARTS AT byte 'I' OF YBUFF C J - SCAN ENDS AT byte 'J' OF YBUFF C C OUTPUT : I - POSITION OF NEXT 'CR' OR 'LF' OR 'SPACE' C OR '+' C C** INTERFACE. C ---------- C C *CALL* *NEXTGRP(KBUFL,YBUFF,I,J,KERR)* C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C C C MODIFICATIONS. C -------------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C CHARACTER*(*) YBUFF CHARACTER*1 CR,LF,SPACE,PLUS,MINUS C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY REAL*8 RVIND, EPS C C ------------------------------------------------------------------ C C* 1. SCAN BULLETIN. C -------------- 100 CONTINUE C C 'CR' = 13 , 'LF' = 10 , 'SPACE' = 32 'PLUS' = 43 C KERR=0 cr=char(13) lf=char(10) space=char(32) plus=char(43) minus='-' C i=iabs(i) k = i do 101 i=k,j if(NE.eq.0) then if(ybuff(I:I).ne.cr.and. 1 ybuff(I:I).ne.lf.and. 2 ybuff(I:I).ne.space.and. 2 ybuff(I:I).ne.minus.and. 2 ybuff(I:I+2).ne.'E++'.and. 3 ybuff(I:I).ne.plus) return else if(ybuff(I:I).ne.cr.and. 1 ybuff(I:I).ne.lf.and. 2 ybuff(I:I).ne.space.and. 2 ybuff(I:I+2).ne.'E++'.and. 3 ybuff(I:I).ne.plus) return end if 101 continue C RETURN END emoslib-000392+dfsg.1/crexdc/crexetab.F0000755000175000017500000003131512127406245020640 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXETAB(KSEC1,KERR) C C**** *CREXETAB* C C C PURPOSE. C -------- C Load Crex table B and D according to Edition and version C of Crex code. C C C** INTERFACE. C ---------- C C *CALL* *CREXETAB(KSEC1,KERR)* C C OUTPUT: C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Reserved C KSEC1( 4)-- Reserved C KSEC1( 5)-- Reserved C KSEC1( 6)-- CREX message type C KSEC1( 7)-- Reserved C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Reserved C KSEC1(10)-- Reserved C KSEC1(11)-- Reserved C KSEC1(12)-- Reserved C KSEC1(13)-- Reserved C KSEC1(14)-- CREX Master table C KSEC1(15)-- version number of Master table used C KSEC1(16) - KSEC1(40) -- Reserved C C C Crex Edition 2 C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Originating Centre ( oooo) C KSEC1( 4)-- Update sequence number (uu) C KSEC1( 5)-- Number of subsets (sss) C KSEC1( 6)-- CREX data category (nnn) C KSEC1( 7)-- International data sub-category (mmm) C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Year (yyyy) C KSEC1(10)-- Month (mm) C KSEC1(11)-- Day (dd) C KSEC1(12)-- Hour (hh) C KSEC1(13)-- Minute (mm) C KSEC1(14)-- CREX Master table (tt) C KSEC1(15)-- version number of Master table used (vv) C KSEC1(16)-- Originating sub-centre (ppp) C KSEC1(17)-- Bufr master table version number C KSEC1(18)-- Bufr version number of local table used C KSEC1(19) - KSEC1(40) -- Reserved C C *KERR* - returned error code C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 06/11/2003. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C PARAMETER(JP=3000,JL=20) C COMMON/CRTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C COMMON /CRTABC/ CREXNAME(JTAB),CREXUNIT(JTAB) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array C C COMMON /CRROOT/ CROOT C C croot - path for Crex tables C CHARACTER*64 CREXNAME CHARACTER*24 CREXUNIT CHARACTER*6 CREXLST C CHARACTER*256 YNAME CHARACTER*256 YFNAME CHARACTER*160 YENTRY C CHARACTER*256 YTAB ,YTAC ,YTAD CHARACTER*7 YTABB,YTABC,YTABD CHARACTER*256 CROOT CHARACTER*6 CNCREXBR C DIMENSION KSEC1(*) C C EXTERNAL FUNCTIONS C INTEGER EMOSNUM EXTERNAL EMOSNUM SAVE OFIRST, NXXP, NYYP, NZZP C C ------------------------------------------------------------------ C C* 1. GET CREX TABLES/LOCAL CREX TABLES. C ---------------------------------- 100 CONTINUE C IF( KERR.NE.0) RETURN C C C* 2. SET UP CREX TABLE FILE NAME. C ---------------------------- 200 CONTINUE C C C CREX EDITION 1 NAMING CONVENTION C C BXXYYZZ , DXXYYZZ C C B - CREX TABLE 'B' C D - CREX TABLE 'D' C XX - Crex Master table used '00' C YY - Crex Edition number used '01' C ZZ - Crex Table version number '01' C IXX=0 IYY=KSEC1( 2) IZZ=KSEC1(15) C IF(OFIRST) THEN IF(IXX.EQ.NXXP.AND.IYY.EQ.NYYP.AND. 1 IZZ.EQ.NZZP) RETURN END IF C J=0 ICLASS0=0 IVIND=2147483647 C DO 101 I=1,64 do 101 ii=1,255 NCREXP(I,ii)=0 101 CONTINUE C DO 102 i=1,JP NCREXBR(I)=IVIND NCREXBS (I)=IVIND NCREXBDW(I)=IVIND CREXNAME(I)=' ' CREXUNIT(I)=' ' 102 CONTINUE C J =0 IST=1 C DO 103 I=1,JP NCREXDR(I)=999999 NCREXDL (I)=0 NCREXDST(I)=0 103 CONTINUE C DO 104 I=1,JP*20 NCREXDSQ(I)=0 104 CONTINUE OFIRST=.TRUE. C NXXP=IXX NYYP=IYY NZZP=IZZ C WRITE(YTABB,'(A1,I2.2,I2.2,I2.2)') 'B',IXX,IYY,IZZ C WRITE(YTABC,'(A1,I2.2,I2.2,I2.2)') 'C',IXX,IYY,IZZ WRITE(YTABD,'(A1,I2.2,I2.2,I2.2)') 'D',IXX,IYY,IZZ C PRINT*,'CREX Tables to be loaded ',YTABB,',',YTABD C C ---------------------------------------------------------------- C* 3. OPEN AND READ FILES CONTAINING CREX TABLES. C ------------------------------------------- 300 CONTINUE C CROOT=' ' CALL GETENV('CREX_TABLES',CROOT) ILNG=INDEX(CROOT,' ') IF(ILNG.EQ.1) THEN C C SGI/HP/SUN CREX TABLES PATH C CROOT='/home/ma/emos/tables/crex/' C C ADD VERSION NUMBER C ILNG=INDEX(CROOT,' ') IEMOSNM = EMOSNUM(1) WRITE(CROOT(ILNG:ILNG+5),'(I6.6)') IEMOSNM CROOT(ILNG+6:) = '/' ENDIF I=INDEX(CROOT,' ') IF(I.NE.0) I=I-1 PRINT*,'Path for CREX tables:',CROOT(1:I) C C* 3.1 READ CREX TABLE B. C ------------------ 310 CONTINUE C YTAB=CROOT(1:I)//YTABB II=I+7 C OPEN(UNIT=38,IOSTAT=IOS,ERR=311,FILE=YTAB(1:II), 1 FORM='FORMATTED', 2 recl=160, 5 STATUS='OLD') C J=0 GO TO 312 C 311 CONTINUE C CLOSE(38) C print*,'Open error on ',YTAB(1:II) C KERR=9 CALL CREXERR(KERR) RETURN C 312 CONTINUE C J=J+1 READ(38,ERR=400,IOSTAT=IOS,END=329, 1 FMT='(1x,A,1x,A64,47x,A24,I3,7x,I3)') 2 CNCREXBR,CREXNAME(J),CREXUNIT(J),NCREXBS(J),NCREXBDW(J) C CNCREXBR(1:1)='0' C READ(CNCREXBR,'(I6.6)',IOSTAT=IOS) NCREXBR(J) IF(IOS.NE.0) THEN print*,'Internal read error.' print*,CNCREXBR KERR=35 RETURN end if C C ICLASS=NCREXBR(J)/1000 IYYY =NCREXBR(J)-ICLASS*1000+1 C ICLASS=ICLASS+1 NCREXP(ICLASS,IYYY)=J GO TO 312 C 329 CONTINUE C CLOSE(UNIT=38,IOSTAT=IOS,ERR=420) C C* 3.3 READ CREX TABLE D. CC ------------------ 330 CONTINUE C YTAD=CROOT(1:I)//YTABD C OPEN(UNIT=40,IOSTAT=IOS,ERR=331,FILE=YTAD(1:II), 1 FORM='FORMATTED', 2 recl=160, 5 STATUS='OLD') C GO TO 332 C 331 CONTINUE C CLOSE(40) C print*,'Open error on ',YTAD C kerr=9 CALL CREXERR(KERR) return C 332 CONTINUE C j=0 340 continue c YENTRY=' ' READ(40,'(a)',iostat=ios,end=390) yentry if(ios.ne.0) then print*,'Read error on CREX table D.' KERR=35 RETURN end if if(yentry(2:2).eq.'D') yentry(2:2)='3' c j=j+1 READ(YENTRY,'(1X,I6,1X,I2)',iostat=ios) NCREXDR(J),NCREXDL(J) if(ios.ne.0) then print*,'Internal read error.' print*,YENTRY KERR=35 RETURN end if IF(J.GT.JP) THEN PRINT*,' DIMENSION TOO SMALL J=',J kerr=13 CALL CREXERR(KERR) RETURN END IF C IF(J.EQ.1) THEN IST=1 NCREXDST(J)=IST ELSE IST=IST + NCREXDL(J-1) NCREXDST(J)=IST END IF C IF(NCREXDL(J).GT.1) THEN if(YENTRY(12:12).eq.'D') YENTRY(12:12)='3' if(YENTRY(12:12).eq.'C') then YENTRY(12:12)='2' c checkif negative scale is present iminus=0 iminus=index(YENTRY(12:16),'-') if(iminus.ne.0) YENTRY(iminus:iminus)='9' end if if(YENTRY(12:12).eq.'R') YENTRY(12:12)='1' if(YENTRY(12:12).eq.'B') YENTRY(12:12)='0' READ(YENTRY,'(11X,I6)',iostat=ios) NCREXDSQ(IST) if(ios.ne.0) then print*,YENTRY KERR=35 CALL CREXERR(KERR) RETURN end if c IIST=IST C DO 220 JA=1,NCREXDL(J)-1 IIST=IIST+1 READ(40,'(A)',END=300,iostat=ios) YENTRY if(ios.ne.0) then print*,YENTRY KERR=35 CALL CREXERR(KERR) RETURN end if c if(YENTRY(12:12).eq.'D') YENTRY(12:12)='3' if(YENTRY(12:12).eq.'C') YENTRY(12:12)='2' if(YENTRY(12:12).eq.'R') YENTRY(12:12)='1' if(YENTRY(12:12).eq.'B') YENTRY(12:12)='0' READ(YENTRY,'(11X,I6)',iostat=ios) NCREXDSQ(IIST) if(ios.ne.0) then print*,YENTRY KERR=35 CALL CREXERR(KERR) RETURN end if 220 CONTINUE C ELSE if(YENTRY(12:12).eq.'D') YENTRY(12:12)='3' if(YENTRY(12:12).eq.'C') YENTRY(12:12)='2' if(YENTRY(12:12).eq.'R') YENTRY(12:12)='1' if(YENTRY(12:12).eq.'B') YENTRY(12:12)='0' READ(YENTRY,'(11X,I6)',iostat=ios) NCREXDSQ(IST) if(ios.ne.0) then print*,'Internal read error.' print*,YENTRY KERR=35 RETURN end if END IF C go to 340 c 390 continue C CLOSE(UNIT=40,IOSTAT=IOS,ERR=620) C C RETURN C ---------------------------------------------------------------- 400 CONTINUE C KERR=6 PRINT*,'CREXETAB: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 410 CONTINUE C KERR=9 PRINT*,'CREXETAB: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 420 CONTINUE C KERR=10 PRINT*,'CREXETAB: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C ---------------------------------------------------------------- 500 CONTINUE C KERR=7 PRINT*,'CREXETAB: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 510 CONTINUE C KERR=9 PRINT*,'CREXETAB: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 520 CONTINUE C KERR=11 PRINT*,'CREXETAB: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C ----------------------------------------------------------------- 600 CONTINUE C KERR=8 PRINT*,'CREXETAB: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 610 CONTINUE C KERR=9 PRINT*,'CREXETAB: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C 620 CONTINUE C KERR=12 PRINT*,'CREXETAB: IOS ',IOS CALL CREXERR(KERR) OFIRST=.FALSE. RETURN C ----------------------------------------------------------------- C END emoslib-000392+dfsg.1/crexdc/crexs0.F0000755000175000017500000000756212127406245020256 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXS0( KBUFL,YBUFF,KSUP,KSEC0,KERR) C C**** *BUEXS0* C C C PURPOSE. C -------- C Expands section 0 of Crex message. C C C** INTERFACE. C ---------- C C *CALL* *CREXS0( KBUFL,YBUFF,KSUP,KSEC0,KERR)* C C INPUT : C *KBUFL* - length of CREX message (words) C *YBUFF* - Character string containing Crex message C OUTPUT: C *KSUP* - Integer array of 9 words containing C suplementary information C - KSUP( 1) -- IDIM1, dimension of KSEC1 C - KSUP( 2) -- Reserved C - KSUP( 3) -- IDIM3, dimension of KSEC3 C - KSUP( 4) -- Reserved C - KSUP( 5) -- M (number of elements in values C array, first index) C - KSUP( 6) -- N (number of subsets,second index C of values array) C - KSUP( 7) -- JVC (number of elements in CVAL array) C - KSUP( 8) -- total CREX message length in bytes C - KSUP( 9) -- IDIM0, dimension of KSEC0 C C *KSEC0* - array containing section 0 information C KSEC0( 1)-- length of section 0 (bytes) C KSEC0( 2)-- total length of CREX message (bytes) C KSEC0( 3)-- Not used C C *KERR* - returned error code C C METHOD. C -------- C C NONE. C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C DIMENSION KSEC0(*) DIMENSION KSUP(*) CHARACTER*(*) YBUFF C CHARACTER*4 YCREX REAL*8 RVIND,EPS C C ------------------------------------------------------------------ C* 1. EXPAND SECTION 0. C ----------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C KSEC0(1)=4 KSEC0(2)=KBUFL KSUP(8) =KBUFL C C* 1.1 INITIALIZE WORKING POINTERS NWPT AND NBPT. C ------------------------------------------ NBPT = 1 C C* 1.2 UNPACK FIRST FOUR OCTETS CONTAINING *CREX*. C ------------------------------------------- C IF(YBUFF(NBPT:NBPT+3).ne.'CREX') then KERR=1 print*,'This bulletin is not CREX message.' RETURN END IF C C 1.2 Position pointer to begining of section1. C --------------------------------------------- 120 CONTINUE C NBPT=NBPT+4 IF(NBPT.GT.KBUFL) THEN KERR=26 print*,'CREXS0:' CALL CREXERR(KERR) RETURN END IF C IRET=0 CALL NEXTSEC(KBUFL,YBUFF,NBPT,NGS,KERR) IF(KERR.NE.0) THEN KERR=40 print*,'NEXTSEC :' CALL CREXERR(KERR) RETURN END IF C CALL NEXTGRP(KBUFL,YBUFF,NBPT,NGS,KERR) IF(KERR.NE.0) THEN KERR=41 print*,'NEXTGRP : ' CALL CREXERR(KERR) RETURN END IF C RETURN C ----------------------------------------------------------------- C END emoslib-000392+dfsg.1/crexdc/Makefile.in0000755000175000017500000000110612127406245020774 0ustar amckinstryamckinstry# # Makefile for crexdc # A64 = plat R64 = reals ARCH = arch CNAME = comp LIB = depl # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ clean: \rm -f $(OBJECTS) *.f emoslib-000392+dfsg.1/crexdc/crexs2.F0000755000175000017500000002372512127406245020257 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXS2(KBUFL,YBUFF,KSUP,KSEC3,KELEM,CNAMES,CUNITS,KERR) C C**** *CREXS2* C C C PURPOSE. C -------- C C Expand Crex data descriptors C C C** INTERFACE. C ---------- C C *CALL* *CREXS2( KBUFL,YBUFF,KSUP,KSEC3,KELEM,CNAMES,CUNITS,KERR)* C C INPUT : C *KBUFL* - length of crex message (words) C *YBUFF* - array containing CREX message C *KELEM* - dimension of CNAMES, CUNITS array C OUTPUT: C *KSUP* - Integer array of 9 words containing C suplementary information C - KSUP( 1) -- IDIM1, dimension of KSEC1 C - KSUP( 2) -- Reserved C - KSUP( 3) -- IDIM3, dimension of KSEC3 C - KSUP( 4) -- Reserved C - KSUP( 5) -- M (number of elements in values C array, first index) C - KSUP( 6) -- N (number of subsets,second index C of values array) C - KSUP( 7) -- JVC (number of elements in CVAL array) C - KSUP( 8) -- total CREX message length in bytes C - KSUP( 9) -- IDIM0, dimension of KSEC0 C C *KSEC3* - array containing section 3 information C KSEC3( 1)-- length of section 3 (bytes) C KSEC3( 2)-- reserved C KSEC3( 3)-- number of subsets C KSEC3( 4)-- flag (data type,data compression) C *CNAMES* - character array containing element names C *CUNITS* - character array containig units C *KERR* - returned error code C C METHOD. C ------- C C Expands list of data descriptors in section 1 C of Crex message. Working tables for further data decoding are set, C list of Crex data descriptors and a list of expanded Crex data descriptors C according to table D reference are returned respectively. C C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C------------------------------------------------------------------------------------ C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON/CREXTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C COMMON/CREXTABC/ CREXNAME(JTAB),CREXUNIT(JTAB),CREXLST(JELEM) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array c C COMMON /CREXBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C C COMMON /CREXWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM),NCREXWTRV(JELEM), 4 NCREXWTDW(JELEM),NWTIW(JELEM),NWTIWS(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTRV - working reference value C NCREXWTDW - working data width C NWTIW - working data width of increments C NWTIWS - working total data width of element set C CHARACTER CREXWTEN*64,CREXWTU*24 C C COMMON /CREXWTC/ CREXWTEN(JELEM),CREXWTU (JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C COMMON /CREXEL/ NCREXTDLEN,NCREXTDLST(JELEM),NCREXTDEXL, 1 NCREXTDEXP(JELEM) C C NCREXTDLEN - number of Data descriptors in section 3 C NCREXTDLST - list of Data descriptors C NCREXTDEXL - number of expanded Data Descriptors C NCREXTDEXP - list of expanded Data descriptors C C COMMON /CREXOFF/ NSIZEG(JELEM),NCREXWTRG(JWORK), 1 NBP,NSUBSET,OMULTI C CHARACTER*64 CNAMES(KELEM),CREXNAME CHARACTER*24 CUNITS(KELEM),CREXUNIT CHARACTER*(*) YBUFF CHARACTER*6 CREXLST C DIMENSION ISTACK(JELEM),IISTACK(JELEM) C DIMENSION KSUP(JSUP),KSEC3(JSEC3) C REAL*8 RVIND,EPS c C ------------------------------------------------------------------ C C* 1. EXPAND PRELIMINARY ITEMS OF SECTION 3. C -------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C ----------------------------------------------------------------- C C* 2. EXPAND DATA DESCRIPTORS. C ------------------------ 200 CONTINUE C C C* 2.1 CALCULATE EXPECTED NUMBER OF DATA DESCRIPTORS. C ---------------------------------------------- C AND INITIALIZE NUMBER OF DATA VALUES PER SUB-SET. C ------------------------------------------------- 210 CONTINUE C J = 0 M = 0 NCREXWT=0 IF( NSUBSET.EQ.1) THEN NBPTSEC2=NBPT END IF C C C* 2.2 UNPACK AND PUT DATA DESCRIPTORS IN STACK. C ----------------------------------------- 220 CONTINUE C DO 221 JJ=1,NCREXTDLEN C if(CREXLST(JJ)(1:1).eq.'D') CREXLST(JJ)(1:1)='3' if(CREXLST(JJ)(1:1).eq.'B') CREXLST(JJ)(1:1)='0' if(CREXLST(JJ)(1:1).eq.'C') CREXLST(JJ)(1:1)='2' if(CREXLST(JJ)(1:1).eq.'R') CREXLST(JJ)(1:1)='1' c IOS=0 READ( CREXLST(JJ),'(i6.6)',IOSTAT=IOS) ISTACK(JJ) IF(IOS.NE.0) THEN KERR=35 CALL CREXERR(KERR) print*,'Internal read error in CREXLST.' print*,'NCREXTDLEN=ktdlen=',NCREXTDLEN print*,jj,' CREXLST(JJ)=',CREXLST(JJ) RETURN END IF C IISTACK(JJ)=ISTACK(JJ) C 221 CONTINUE C JMAX=NCREXTDLEN C ------------------------------------------------------------------ C* 2.3 GET NEXT DESCRIPTOR FROM THE STACK. C ----------------------------------- 230 CONTINUE C J = J + 1 IF(J.GT.JMAX) GO TO 300 C IDD = ISTACK(J) IF(IDD.EQ.0) GO TO 230 C IF = IDD/100000 C C ------------------------------------------------------------------ C* 2.4 CHECK IF IT IS REPLICATION DESCRIPTOR. C -------------------------------------- 240 CONTINUE C IF( IF.EQ.0) THEN C C* 2.6 ELEMENT DESCRIPTOR, SO UPDATE WORKING TABLE. C -------------------------------------------- 260 CONTINUE C CALL CREXUPWT(IDD,KELEM,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.1) THEN C C* 2.4.1 SOLVE REPLICATION PROBLEM. C -------------------------- C C CALL CREXSRP(KBUFL,YBUFF,KSEC3,J,JMAX, 1 IDD,ISTACK,KELEM,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.2) THEN C C* 2.5.3 PROCESS OPERATOR. C ----------------- CALL CREXPRCO(KBUFL,YBUFF,J,IDD,ISTACK,KELEM,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.3) THEN C C* 2.5.2 REPLACE BY LIST OF DESCRIPTORS FROM TABLE *D. C --------------------------------------------- CALL CREXSTDR(J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NCREXSTACK(IQ)=0. 252 CONTINUE RETURN END IF ELSE KERR=37 CALL CREXERR(KERR) RETURN END IF c GO TO 230 C C ------------------------------------------------------------------ C C* 3. COLLECT SUPPLEMENTARY ITEMS. C ----------------------------- 300 CONTINUE C NCREXTDEXL =M DO 301 I=1,NCREXTDEXL NCREXTDEXP(I)=NCREXWTR(I) CNAMES(I)=CREXWTEN(I) CUNITS(I)=CREXWTU(I) 301 CONTINUE C DO 302 I=1,NCREXTDLEN NCREXTDLST (I)=IISTACK(I) 302 CONTINUE C DO 303 I=1,NCREXTDEXL IJ=I+(NSUBSET-1)*KELEM NCREXWTRG(IJ)=NCREXWTR(I) 303 CONTINUE C NSIZEG(NSUBSET) =M KSUP(3)= 4 KSUP(5)= M KSUP(6)= KSEC3(3) C RETURN END emoslib-000392+dfsg.1/crexdc/crexs5.F0000755000175000017500000000237112127406245020254 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXS5(KBUFL,YBUFF,KERR) C C**** *CREXS5* C C C PURPOSE. C -------- C Expand CREX section 5 C C C** INTERFACE. C ---------- C C *CALL* *CREXS5(KBUFL,YBUFF,KERR)* C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 15/02/92. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C CHARACTER*(*) YBUFF C RETURN END emoslib-000392+dfsg.1/crexdc/crexex.F0000755000175000017500000002130712127406245020341 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXEX(KBUFL,YBUFF,KSUP,KSEC0,KSEC1,KSEC3, 2 KELEM,CNAMES,CUNITS,KVALS,VALUES,CVALS,KERR) C C**** *CREXEX* C C C PURPOSE. C -------- C Decode Crex message into fully expanded form; returning C information relevant for all CREX sections, expanded values, C their names and units. C C C** INTERFACE. C ---------- C C *CALL* *CREXEX(KBUFL,YBUFF,KSUP,KSEC0,KSEC1,KSEC3, C 1 KELEM,CNAMES,CUNITS,KVALS,VALUES,CVALS,KERR)* C C INPUT : C *KBUFL* - Length of CREX message (words) C *YBUFF* - Character string containing Crex message C *KELEM* - Integer (expected number of expanded elements) C *KVALS* - Integer (expected number of data values) C OUTPUT: C *KSUP* - Integer array of 9 words containing C suplementary information C - KSUP( 1) -- IDIM1, dimension of KSEC1 C - KSUP( 2) -- Reserved C - KSUP( 3) -- IDIM3, dimension of KSEC3 C - KSUP( 4) -- Reserved C - KSUP( 5) -- M (number of elements in values C array, first index) C - KSUP( 6) -- N (number of subsets,second index C of values array) C - KSUP( 7) -- JVC (number of elements in CVAL array) C - KSUP( 8) -- total CREX message length in bytes C - KSUP( 9) -- IDIM0, dimension of KSEC0 C C *KSEC0* - Integer array of 3 words containing C CREX section 0 information C KSEC0( 1)-- length of section 0 (bytes) C KSEC0( 2)-- total length of CREX message (bytes) C KSEC0( 3)-- CREX Edition number C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Reserved C KSEC1( 4)-- Reserved C KSEC1( 5)-- Reserved C KSEC1( 6)-- CREX message type C KSEC1( 7)-- Reserved C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Reserved C KSEC1(10)-- Reserved C KSEC1(11)-- Reserved C KSEC1(12)-- Reserved C KSEC1(13)-- Reserved C KSEC1(14)-- CREX Master table C KSEC1(15)-- version number of Master table used C KSEC1(16) - KSEC1(40) -- Reserved C C Crex Edition 2 C C *KSEC1* - Integer array of at least 40 words C containing CREX section 1 information C KSEC1( 1)-- Reserved C KSEC1( 2)-- CREX Edition number C KSEC1( 3)-- Originating Centre ( oooo) C KSEC1( 4)-- Update sequence number (uu) C KSEC1( 5)-- Number of subsets (sss) C KSEC1( 6)-- CREX data category (nnn) C KSEC1( 7)-- International data sub-category (mmm) C KSEC1( 8)-- version number of local table used C KSEC1( 9)-- Year (yyyy) C KSEC1(10)-- Month (mm) C KSEC1(11)-- Day (dd) C KSEC1(12)-- Hour (hh) C KSEC1(13)-- Minute (mm) C KSEC1(14)-- CREX Master table (tt) C KSEC1(15)-- version number of Master table used (vv) C KSEC1(16)-- Originating sub-centre (ppp) C KSEC1(17)-- Bufr master table version number C KSEC1(18)-- Bufr version number of local table used C KSEC1(19) - KSEC1(40) -- Reserved C C C *KSEC3* - Integer array of 4 words containing C C KSEC3( 1)-- Reserved C KSEC3( 2)-- Reserved C KSEC3( 3)-- number of subsets C KSEC3( 4)-- Reserved C C C *CNAMES* - Character*64 array of KELEM containing C CREX Table B element names C *CUNITS* - Character*24 array of KELEM containig C CREX Table B units C *VALUES* - Real*8 array of KVALS containing expanded C data values C *CVALS* - Character*80 array of KVALS containing C CREX code table or CCITTIA5 CREX elements C entries C *KERR* - returned error code C C C METHOD. C ------- C C Crex message passed as argument to this routine is decoded C section by section. Suplementary information and expanded data C are returned as well as error code. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C DIMENSION KSUP(JSUP),KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC3(JSEC3) C COMMON /CREXOFF/ NSIZEG(JELEM),NCREXWTRG(JWORK), 1 NBP,NSUBSET,OMULTI C REAL*8 VALUES(KVALS) C CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) C CHARACTER*(*) YBUFF C CHARACTER*4 CECMWF C C ------------------------------------------------------------------ C C* 1. SET CONSTANTS. C -------------- 100 CONTINUE C KERR=0 C M0=1 C DO 101 I=1,JSEC0 KSEC0(I)=0 101 CONTINUE C DO 102 I=1,JSEC1 KSEC1(I)=0 102 CONTINUE C DO 103 I=1,JSEC3 KSEC3(I)=0 103 CONTINUE C DO 104 I=1,JSUP KSUP(I)=0 104 CONTINUE C C CALL CREXINIT(KBUFL,KERR) C C ----------------------------------------------------------------- C* 2. EXPAND SECTION 0. C ----------------- 200 CONTINUE C CALL CREXS0( KBUFL,YBUFF,KSUP,KSEC0,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C* 3. EXPAND SECTION 1. C ------------------ 300 CONTINUE C CALL CREXS1( KBUFL,YBUFF,KSUP,KSEC0,KSEC1,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C* 4. LOAD CREX TABLES. C ----------------- 400 CONTINUE C CALL CREXTB(KSEC1,KERR) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C* 5. EXPAND SECTION 2. C ----------------- 500 CONTINUE C OMULTI=.TRUE. NSUBSET=0 C DO WHILE(OMULTI) C NSUBSET=NSUBSET+1 C CALL CREXS2(KBUFL,YBUFF,KSUP,KSEC3,KELEM,CNAMES,CUNITS,KERR) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C CALL CREXS2DATA(KBUFL ,YBUFF ,KSUP ,KSEC3, 1 KELEM ,CNAMES,CUNITS,KVALS,VALUES,CVALS,KERR) IF(KERR.GT.0) RETURN C END DO C C ------------------------------------------------------------------ C* 6. EXPAND SECTION 3. C ----------------- 600 CONTINUE C CALL CREXS5(KBUFL,YBUFF,KERR) IF(KERR.GT.0) RETURN C C ----------------------------------------------------------------- RETURN C END emoslib-000392+dfsg.1/crexdc/crexinit.F0000755000175000017500000001176712127406245020701 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXINIT(KBUFL,KERR) C C**** *CREXINIT* C C C PURPOSE. C -------- C Initialize variables and constants. C Read in Units conversion table C C C** INTERFACE. C ---------- C C *CALL* *CREXINIT(KBUFL,KERR)* C C INPUT: C *KBUFL* - Size of CREX message in bytes C C OUTPUT: C *KERR* - Return error code C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C COMMON /CREXWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CREXBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C COMMON /CREXWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM),NCREXWTRV(JELEM), 4 NCREXWTDW(JELEM),NWTIW(JELEM),NWTIWS(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTRV - working reference value C NCREXWTDW - working data width C NWTIW - working data width of increments C NWTIWS - working total data width of element set C COMMON /CREXUT/ YUNIT,CUNITNAME,CIA5,CIA2,NCODE,NRECORDS C C NCODE - array containing unit code number C CUNITNAME - array containing unit name C CIA5 - array containing unit CCITTIA5 name C CIA2 - array containing unit CCITTIA2 name C NRECORDS - number of entries in the list C SAVE IFIRST C DIMENSION NCODE(JCTEXT) CHARACTER*30 CUNITNAME(JCTEXT) CHARACTER*24 CIA5(JCTEXT) CHARACTER*24 CIA2(JCTEXT) CHARACTER*24 YUNIT C LOGICAL OFIRST LOGICAL ODREPF REAL*8 RVIND REAL*8 EPS CHARACTER*256 CROOT CHARACTER*256 FILENAME C INTEGER EMOSNUM EXTERNAL EMOSNUM C FILENAME=' ' CROOT=' ' CALL GETENV('CREX_TABLES',CROOT) ILNG=INDEX(CROOT,' ') ILNG=ILNG-1 IF(ILNG.EQ.1) THEN C C SGI/HP/SUN CREX TABLES PATH C CROOT='/home/ma/emos/tables/crex/' C C ADD VERSION NUMBER C ILNG=INDEX(CROOT,' ') IEMOSNM = EMOSNUM(1) WRITE(CROOT(ILNG:ILNG+5),'(I6.6)') IEMOSNM CROOT(ILNG+6:) = '/' ILNG=ILNG+6 END IF NGS=KBUFL NE=0 NVIND=2147483647 RVIND=1.7D38 EPS=1.0D-8 M=0 N=0 NCREXWT=0 ODREPF=.false. NCREXSCAM=0 NCREXAFDW=0 NCREXDWINC=0 NC07YYY=0 YUNIT=' ' IFIRST=1 c IF(IFIRST.NE.2) THEN C C Open/read table containing units associated with code numbers C to be used with C07YYY operator C FILENAME=CROOT(1:ILNG)//'units.config.dat' I=INDEX(FILENAME,' ') I=I-1 C print*,'Units configuration file:' print*,FILENAME OPEN(UNIT=21,FILE=FILENAME(1:I),IOSTAT=IOS,STATUS="OLD") IF(IOS.NE.0) THEN print*,'Open error on units.config.dat' KERR=38 RETURN END IF I=0 DO I=1,JCTEXT READ(21,'(I3,1X,A30,A24,A24)',IOSTAT=IOS,END=100) NCODE(I), 1 CUNITNAME(I),CIA5(I),CIA2(I) IF(IOS.NE.0) THEN WRITE(*,'(A)') 'Read error on units.config.dat' KERR=39 RETURN END IF C C WRITE(*,'(I3,1X,I3,1X,A30,A24,A24)') I, NCODE(I), C 1 CUNITNAME(I),CIA5(I),CIA2(I) END DO C 100 CONTINUE NRECORDS=I-1 IFIRST=2 CLOSE(21) END IF C RETURN END emoslib-000392+dfsg.1/crexdc/crexetd.F0000755000175000017500000002150212127406245020476 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXETD(KPT,KTDLEN,CREXLST,KDLEN,KDATA,KSEC3, 1 KVALS,VALUES,KELEM,KERR) C C**** *CREXETD* C C C PURPOSE. C -------- C C Expand Crex data descriptors C C C** INTERFACE. C ---------- C C *CALL* *CREXETD( KPT,KTDLEN,CREXLST,KDLEN,KDATA,KSEC3, C KVALS,VALUES,KELEM,KERR)* C C INPUT : C *KPT* - POINTER TO KDATA ARRAY C *KTDLEN* - number of data descriptors in section 1 C *KTDLST* - array containing data descriptors in section 1 C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DESCRIPTOR C EXPANSION ( delayed replications) C *KSEC3* - Integer array of 4 words containing C C KSEC3( 1)-- Reserved C KSEC3( 2)-- Reserved C KSEC3( 3)-- number of subsets C KSEC3( 4)-- Reserved C *KVALS - Integer (expected number of data values) C *VALUES* - Real*8 array of KVALS containing expanded C data values C *KELEM* - dimension of CNAMES, CUNITS array C OUTPUT: C *KERR* - returned error code C C METHOD. C ------- C C Expands list of data descriptors in section 1 C of Crex message. Working tables for further data decoding are set, C list of Crex data descriptors and a list of expanded Crex data descriptors C according to table D reference are returned respectively. C C C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C------------------------------------------------------------------------------------ C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C C COMMON /CRWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CRTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C COMMON /CRTABC/ CREXNAME(JTAB),CREXUNIT(JTAB) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array c C COMMON /CRBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C C COMMON /CRWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM), 4 NCREXWTDW(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTDW - working data width C C C COMMON /CRWTC/ CREXWTEN(JELEM),CREXWTU(JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C CHARACTER CREXWTEN*64,CREXWTU*24 C COMMON /CREL/ NCREXTDLEN,NCREXTDLST(JELEM),NCREXTDEXL, 1 NCREXTDEXP(JELEM) C C NCREXTDLEN - number of Data descriptors in section 3 C NCREXTDLST - list of Data descriptors C NCREXTDEXL - number of expanded Data Descriptors C NCREXTDEXP - list of expanded Data descriptors C COMMON /CRCOFF/ NSUBSET C CHARACTER*64 CREXNAME CHARACTER*24 CREXUNIT CHARACTER*(*) CREXLST(*) C DIMENSION ISTACK(JELEM),IISTACK(JELEM) C DIMENSION KSUP(JSUP),KSEC3(JSEC3) C REAL*8 RVIND,EPS REAL*8 VALUES(KVALS) c C ------------------------------------------------------------------ C C* 1. EXPAND PRELIMINARY ITEMS OF SECTION 3. C -------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C ----------------------------------------------------------------- C C* 2. EXPAND DATA DESCRIPTORS. C ------------------------ 200 CONTINUE C C C* 2.1 CALCULATE EXPECTED NUMBER OF DATA DESCRIPTORS. C ---------------------------------------------- C AND INITIALIZE NUMBER OF DATA VALUES PER SUB-SET. C ------------------------------------------------- 210 CONTINUE C J = 0 M = 0 IF(NSUBSET.EQ.1) KPT=0 NCREXWT=0 NCREXTDLEN=KTDLEN C C C* 2.2 PUT DATA DESCRIPTORS IN STACK. C ----------------------------------------- 220 CONTINUE C DO 221 JJ=1,KTDLEN C if(CREXLST(JJ)(1:1).eq.'D') CREXLST(JJ)(1:1)='3' if(CREXLST(JJ)(1:1).eq.'B') CREXLST(JJ)(1:1)='0' if(CREXLST(JJ)(1:1).eq.'C') CREXLST(JJ)(1:1)='2' if(CREXLST(JJ)(1:1).eq.'R') CREXLST(JJ)(1:1)='1' c IOS=0 READ( CREXLST(JJ),'(i6.6)',IOSTAT=IOS) ISTACK(JJ) IF(IOS.NE.0) THEN PRINT*,'NCREXTDLEN=KTDLEN=',NCREXTDLEN PRINT*,JJ,' CREXLST(JJ)=',CREXLST(JJ) kerr=35 CALL CREXERR(KERR) RETURN END IF C IISTACK(JJ)=ISTACK(JJ) C 221 CONTINUE C JMAX=NCREXTDLEN C ------------------------------------------------------------------ C* 2.3 GET NEXT DESCRIPTOR FROM THE STACK. C ----------------------------------- 230 CONTINUE C C J = J + 1 IF(J.GT.JMAX) GO TO 300 C IDD = ISTACK(J) IF(IDD.EQ.0) GO TO 230 C IF = IDD/100000 C C ------------------------------------------------------------------ C* 2.4 CHECK IF IT IS REPLICATION DESCRIPTOR. C -------------------------------------- 240 CONTINUE C IF( IF.EQ.0) THEN C C* 2.6 ELEMENT DESCRIPTOR, SO UPDATE WORKING TABLE. C -------------------------------------------- 260 CONTINUE C CALL CREXEPWT(IDD,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.1) THEN C C* 2.4.1 SOLVE REPLICATION PROBLEM. C -------------------------- C C CALL CREXREP(KPT,KDLEN,KDATA,J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.2) THEN C C* 2.5.3 PROCESS OPERATOR. C ----------------- CALL CREXOPER(KPT,KDLEN,KDATA,J,IDD,ISTACK,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.3) THEN C C* 2.5.2 REPLACE BY LIST OF DESCRIPTORS FROM TABLE *D. C --------------------------------------------- CALL CREXETDR(J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NCREXSTACK(IQ)=0. 252 CONTINUE RETURN END IF ELSE KERR=37 CALL CREXERR(KERR) RETURN END IF c GO TO 230 C C ------------------------------------------------------------------ C C* 3. COLLECT SUPPLEMENTARY ITEMS. C ----------------------------- 300 CONTINUE C NCREXTDEXL =M DO 301 I=1,NCREXTDEXL NCREXTDEXP(I)=NCREXWTR(I) 301 CONTINUE C DO 302 I=1,NCREXTDLEN NCREXTDLST (I)=IISTACK(I) 302 CONTINUE C KSUP(3)= 4 KSUP(5)= M KSUP(6)= KSEC3(3) C RETURN C END emoslib-000392+dfsg.1/crexdc/dec2octal.F0000755000175000017500000000263612127406245020707 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DEC2OCTAL(KOCTAL,KDECIMAL,KERR) C**** *DEC2OCTAL* C C C PURPOSE. C -------- C Convert decomal integer into octal value C C C** INTERFACE. C ---------- C C *CALL* *DEC2OCTAL(KOCTAL,KDECIMAL,KERR) C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C INTEGER KOCTAL INTEGER KDECIMAL CHARACTER*10 C c KERR=0 WRITE(C,'(O10)',IOSTAT=IOS) KDECIMAL IF(IOS.NE.0) then Print*,'DEC2OCTAL: internal write error ',ios KERR=33 RETURN ENDIF C READ(C, '(I10)',IOSTAT=IOS) KOCTAL IF(IOS.NE.0) then Print*,'DEC2OCTAL: internal read error ',ios KERR=35 RETURN ENDIF c RETURN END emoslib-000392+dfsg.1/crexdc/extgrpc.F0000755000175000017500000000300112127406245020506 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE EXTGRPC(KBUFL,YBUFF, I,K,CVAL,KERR ) C C**** *EXTGRP* C C C PURPOSE. C -------- C CONVERT GROUP IN THE REPORT C TO INTEGERS IN ARRAY 'KINT' . C C C** INTERFACE. C ---------- C C *CALL* *EXTGRP(KBUFL,YBUFF, I,K,IVAL,KERR ) C C kbufl - size of ybuff in bytes C ybuff - character string C C I - CONVERSION OF GROUP STARTS IN WORD I C OF ARRAY 'ybuff' . C C k - number of characters to convert C C C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C C C MODIFICATIONS. C -------------- C C M. D. DRAGOSAVAC *ECMWF* 15/09/2003. C C IMPLICIT LOGICAL(O,G) C CHARACTER*(*) YBUFF , CVAL C C C ------------------------------------------------------------------ C* 1. EXTRACT GROUP OF CHARACTERS. C ---------------------------- 100 CONTINUE C C CVAL=YBUFF(I:I+K-1) C I=I+K C C RETURN END emoslib-000392+dfsg.1/crexdc/get_units.F0000755000175000017500000000361512127406245021046 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GET_UNITS(KY,KERR) C**** *GET_UNITS* C C C PURPOSE. C -------- C C Get units for the code number KY C C C** INTERFACE. C ---------- C C *CALL* *GET_UNITS(KY,KERR)* C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C c PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) COMMON /CREXUT/ YUNIT,CUNITNAME,CIA5,CIA2,NCODE,NRECORDS c c NCODE - array containing unit code number c CUNITNAME - array containing unit name c CIA5 - array containing unit CCITTIA5 name c CIA2 - array containing unit CCITTIA2 name c NRECORDS - number of entries in the list c DIMENSION NCODE(JCTEXT) CHARACTER*30 CUNITNAME(JCTEXT) CHARACTER*24 CIA5(JCTEXT) CHARACTER*24 CIA2(JCTEXT) CHARACTER*24 YUNIT c KERR=0 DO I=1,NRECORDS IF(NCODE(I).EQ.KY) THEN YUNIT=CIA5(I) RETURN END IF END DO c KERR=47 CALL CREXERR(KERR) c RETURN END emoslib-000392+dfsg.1/crexdc/crexprs0.F0000755000175000017500000000337312127406245020614 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXPRS0(KSEC0) C C**** *CREXPRS0* C C C PURPOSE. C -------- C PRINT SECTION 0 OF CREX MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *CREXPRS0(KSEC0)* C C INPUT : C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF CREX MESSAGE (BYTES) C KSEC0( 3)-- Crex Edition number C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C DIMENSION KSEC0(*) C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 0. C ---------------- 100 CONTINUE C WRITE(*,'(1H1)') C WRITE(*,'(1H ,A)') ' CREX SECTION 0 ' WRITE(*,'(1H )') WRITE(*,'(1H ,A,I5)') 'LENGTH OF SECTION 0 (BYTES) ', 1 KSEC0(1) WRITE(*,'(1H ,A,I5)') 'TOTAL LENGTH OF CREX MESSAGE (BYTES)', 1 KSEC0(2) C RETURN END emoslib-000392+dfsg.1/crexdc/crexetdr.F0000755000175000017500000001212612127406245020662 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXETDR(KJ,KJ1,KDD,KSTACK,KERR) C C**** *CREXETDR* C C C PURPOSE. C -------- C SOLVE BUFR TABLE D REFERENCE. C C C** INTERFACE. C ---------- C C *CALL* *CREXETDR(KJ,KJ1,KDD,KSTACK,KERR)* C C INPUT : C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KJ* - POINTER TO KSTACK ARRAY C *KJ1* - POINTER TO LAST ELEMENT IN KSTACK C *KSTACK* - LIST OF DATA DESCRIPTORS C *KERR* - RETURN ERROR CODE C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4=2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON /CRWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM), 4 NCREXWTDW(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTDW - working data width C CHARACTER CREXWTEN*64,CREXWTU*24 C C COMMON/CRTAB/ NCREXBR(JTAB),NCREXBS(JTAB) , NCREXBDW(JTAB), 1 NCREXDR(JTAB),NCREXDST(JTAB) , 2 NCREXDL(JTAB),NCREXDSQ(JTAB*20),NCREXP(64,255) C C NCREXBR - table B, table reference array C NCREXBS - table B, scale array C NCREXBDW - table B, data width array C NCREXDR - table D, table reference array C NCREXDST - table D, starting pointers array C NCREXDL - table D, lengths array C NCREXDSQ - table D, list of sequence descriptors array C COMMON /CRTABC/ CREXNAME(JTAB),CREXUNIT(JTAB) C C CREXNAME - table B, ELEMENT NAME array C CREXUNIT - table B, unit array C C C CHARACTER*64 CREXNAME CHARACTER*24 CREXUNIT C DIMENSION ILIST(JELEM),KSTACK(*) C C ------------------------------------------------------------------ C C* 1. OBTAIN LIST OF DESCRIPTORS FROM BUFR TABLE D. C --------------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C DO 110 J=1,JTAB C IF(KDD.EQ.NCREXDR(J)) THEN I=J GO TO 120 END IF C 110 CONTINUE C KERR=20 WRITE(*,*) 'CREXETDR : ',KDD CALL CREXERR(KERR) RETURN C 120 CONTINUE C J1=NCREXDST(I) J2=NCREXDL (I) J3=0 C DO 121 J=J1,J1+J2-1 C J3 = J3 +1 ILIST(J3) = NCREXDSQ(J) C 121 CONTINUE C C ------------------------------------------------------------------ C* 2. PUSH DOWN DATA DESCRIPTION DESCRIPTORS C -------------------------------------- C TO MAKE ROOM FOR LIST. C ---------------------- 200 CONTINUE C J2M1=J2-1 C DO 210 J=KJ1,KJ+1,-1 C KSTACK(J+J2M1) = KSTACK(J) C 210 CONTINUE C C ------------------------------------------------------------------ C* 3. INSERT LIST IN PLACE OF SEQUENCE DESCRIPTORS. C --------------------------------------------- 300 CONTINUE C KJM1=KJ-1 C DO 310 J=1,J3 C KSTACK(KJM1+J)= ILIST(J) C 310 CONTINUE C C ------------------------------------------------------------------ C* 4. ADJUST DESCRIPTOR COUNT FOR LIST LENGTH. C ---------------------------------------- 400 CONTINUE C KJ = KJ - 1 KJ1 = KJ1 +J3 -1 C ------------------------------------------------------------------ C* 4.1 ADJUST NUMBER OF DATA DESCRIPTORS NOT PRESENT. C ---------------------------------------------- 610 CONTINUE C IF(N221.NE.0) N221= KJ1 - KJ + 1 C ----------------------------------------------------------------- 500 CONTINUE C RETURN C END emoslib-000392+dfsg.1/crexdc/crexrep.F0000755000175000017500000002117612127406245020517 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CREXREP(KPT,KDLEN,KDATA,KJ,KJ1,KDD,KSTACK,KERR) C C**** *CREXREP* C C C PURPOSE. C -------- C RESOLVE DATA DESCRIPTOR REPLICATION PROBLEM. C C C** INTERFACE. C ---------- C C *CALL* *CREXREP(KPT,KDLEN,KDATA,KJ,KJ1,KDD,KSTACK,KERR)* C C INPUT : C *KPT* - POINTER TOO KDATA ARRAY C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DATA DESCRIPTOR C EXPANSION C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KJ* - POINTER TO KSTACK ARRAY C *KJ1* - POINTER TO LAST ELEMENT IN KSTACK C *KSTACK* - LIST OF DATA DESCRIPTORS C *KERR* - RETURN CODE C C METHOD. C ------- C NONE. C C EXTERNALS. C ---------- C C BUETDR - RESOLVE TABLE D REFERENCE C BUEPWT - UPDATE WORKING TABLES C GBYTE - UNPACK BIT PATHERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2= 64 ,JSEC3= 4, 1 JSEC4=2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=40000, 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, 3 JWORK=360000,JKEY=46) C C COMMON /CRWORK/ NBPT,NGS,NVIND,NBPTSEC2,RVIND,EPS,NE,IEOLD, 1 NC07YYY C COMMON /CRWT/ NCREXDWINC,NCREXSCAM,NCREXAFDW,NCREXWT ,ODREPF, 2 NCREXSTACK(JELEM),NCREXWTEN(JELEM), 3 NCREXWTR (JELEM),NCREXWTS (JELEM), 4 NCREXWTDW(JELEM) C C NCREXDWINC - data width increment C NCREXSCAM - scale multiplier C NCREXAFDW - augmented field data width C NCREXWT - pointer to working table C NCREXSTACK - list of data descriptors C ODREPF - replication (logical) C NCREXWTR - working table reference C NCREXWTS - working scale C NCREXWTDW - working data width C C COMMON /CRWTC/ CREXWTEN(JELEM),CREXWTU(JELEM) C C CREXWTEN - working table element naame C CREXWTU - working table units C C COMMON /CRBEF / M,MM,N,JCV C C M - Number of elements C MM - Number of elements C N - Number of data sub_sets C JCV - Number of character values C C C C CHARACTER CREXWTEN*64,CREXWTU*24 C DIMENSION ILIST(JELEM) DIMENSION KSTACK(*) DIMENSION KDATA(KDLEN) REAL*8 RVIND REAL*8 EPS C C ------------------------------------------------------------------ C C* 1. STORE K, NUMBER OF DESCRIPTORS TO BE REPLICATED. C ------------------------------------------------ 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 K = IX IF(IY.EQ.0) ODREPF=.TRUE. C C* 1.1 DELAYED REPLICATION ? C --------------------- 110 CONTINUE C IF( IY .NE. 0 ) THEN C C* 1.2 STORE NUMBER OF DESCRIPTORS, K, AND REPLICATION C ----------------------------------------------- C FACTOR JR. C ---------- 120 CONTINUE C JR = IY GO TO 500 ELSE KDD=31002 go to 300 END IF C C ------------------------------------------------------------------ C C* 2. GET NEXT DESCRIPTOR. C -------------------- 200 CONTINUE C KJ =KJ + 1 KDD= KSTACK(KJ) C C ------------------------------------------------------------------ C C* 2.1 REPLICATION FACTOR ? C -------------------- 210 CONTINUE C IF(KDD.NE.31001.AND.KDD.NE.31002.AND. 1 KDD.NE.31000.AND. 1 KDD.NE.31011.AND.KDD.NE.31012 )THEN C C* 2.1.1 SEQUENCE DESCRIPTOR ? C --------------------- C IF=KDD/100000 C IF( IF.EQ.3) THEN C C* 2.1.1.1 SOLVE TABLE D REFERENCE. C ------------------------ CALL CREXETDR(KJ,KJ1,KDD,KSTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NCREXSTACK(IQ)=0. 252 CONTINUE RETURN END IF GO TO 200 END IF C IF( IF.EQ.2) THEN CALL CREXOPER(KPT,KDLEN,KDATA,KJ,KDD,KSTACK,KERR) IF(KERR.GT.0) THEN CALL CREXERR(KERR) RETURN END IF GO TO 200 END IF C KERR=36 CALL CREXERR(KERR) RETURN END IF C C ------------------------------------------------------------------ C C* 3. UPDATE WORKING TABLE. C --------------------- 300 CONTINUE C CALL CREXEPWT (KDD,KERR) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C C* 4. STORE JR, THE REPLICATION FACTOR FROM DATA. C ------------------------------------------------------ 400 CONTINUE C KPT=KPT+1 IF(KPT.GT.KDLEN) THEN KERR=31 CALL CREXERR(KERR) RETURN END IF C JR=KDATA(KPT) C IF(JR.EQ.0) THEN IIIF=KSTACK(KJ+1)/100000 IIII=KSTACK(KJ+1)-IIIF*100000 IIIX=IIII/1000 IIIY=IIII-IIIX*1000 C IF(IIIF.EQ.2.AND.IIIY.EQ.0) THEN KJ=KJ+1 CALL CREXOPER(KPT,KDLEN,KDATA,KJ,KSTACK(KJ),KSTACK,KERR) IF(KERR.GT.0) THEN CALL CREXERR(KERR) RETURN END IF END IF KJ=KJ+K GO TO 640 END IF JRTK=JR*K+KJ1-K IF(JRTK.GT.JELEM) THEN KERR=30 CALL CREXERR(KERR) RETURN END IF C C CHECK IF NEXT DESCRIPTOR CANCEL OPERATOR FOR DELAYED C REPLICATION C IIIF=KSTACK(KJ+1)/100000 IIII=KSTACK(KJ+1)-IIIF*100000 IIIX=IIII/1000 IIIY=IIII-IIIX*1000 C IF(IIIF.EQ.2.AND.IIIY.EQ.0) THEN KJ=KJ+1 CALL CREXOPER(KPT,KDLEN,KDATA,KJ,KSTACK(KJ),KSTACK,KERR) IF(KERR.GT.0) THEN CALL CREXERR(KERR) RETURN END IF END IF C ------------------------------------------------------------------ C* 5. GET NEXT K DESCRIPTORS. C ----------------------- 500 CONTINUE C DO 501 J=1,K C ILIST(J)=KSTACK(KJ+J) C 501 CONTINUE C C ------------------------------------------------------------------ C* 6. ADD JR TIMES K DESCRIPTORS IN PLACE OF K C ---------------------------------------- C DESCRIPTORS OBTAINED. C --------------------- 600 CONTINUE C C ------------------------------------------------------------------ C* 6.1 PUSH DOWN DESCRIPTORS IN KSTACK FOR (JR-1)*K PLACES C --------------------------------------------------- C STARTING AT KJ1 AND ENDING AT KJ+K. C ----------------------------------- 610 CONTINUE C JRKM1=(JR-1)*K C DO 611 J=KJ1,KJ+K,-1 C KSTACK(J+JRKM1)=KSTACK(J) C 611 CONTINUE C C* 6.2 INSERT LIST IN THE STACK. C ------------------------- 620 CONTINUE C DO 622 J=1,JR C KJJM1K=KJ+(J-1)*K C DO 623 J1=1,K C KSTACK(KJJM1K+J1)=ILIST(J1) C 623 CONTINUE 622 CONTINUE C C ------------------------------------------------------------------ C* 6.3 ADJUST DESCRIPTOR COUNT FOR LIST LENGTH. C ---------------------------------------- 630 CONTINUE C KJ1 = KJ1 + (JR-1)*K C C ------------------------------------------------------------------ C* 6.4 ADJUST NUMBER OF DATA DESCRIPTORS NOT PRESENT. C ---------------------------------------------- 640 CONTINUE C IF(N221.NE.0) N221= KJ1 - KJ + 1 C C ------------------------------------------------------------------ 700 CONTINUE C RETURN END emoslib-000392+dfsg.1/crexdc/Makefile0000755000175000017500000000105612127406245020373 0ustar amckinstryamckinstry# # Makefile for crexdc # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) #$(LIBRARY) : $(LIBRARY)($(OBJECTS)) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ clean: \rm -f $(OBJECTS) *.f emoslib-000392+dfsg.1/crexdc/nextsec.F0000755000175000017500000000324512127406245020515 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE NEXTSEC(KBUFL,YBUFF, I,J,KERR ) C C**** *NEXTSEC* C C C PURPOSE. C -------- C C Scan ybuff for '++' characters C C C** INTERFACE. C ---------- C C *CALL* *NEXTSEC(I,J)* C INPUT : KBUFL - size of ybuff in bytes C YBUFF - character string C I - scan starts at word I. C J - scan stops at word J . C C OUTPUT : I - position of required character. C KERR - error code C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C CHARACTER*(*) YBUFF CHARACTER*2 plusplus C C ------------------------------------------------------------------ C* 1. SCANE BULLETIN FOR NEXT '=' SIGN. C --------------------------------- 100 CONTINUE C plusplus='++' C i = iabs(i) k = i do 101 i=k,j if(ybuff(i:i+1).eq.plusplus) return 101 continue C i=j RETURN END emoslib-000392+dfsg.1/install0000755000175000017500000000307212127406245017054 0ustar amckinstryamckinstry#! /bin/sh umask 0 PATH=/usr/bin:/bin:$PATH quit() { echo "Exiting..." exit 1 } R64=`cat -s .r64` INSTALL_DIR=`cat -s .emos` echo echo "*******************************************************************" echo "If you choose default directories for Tables or libemos$R64.a " echo "you must have root permission to do that." echo "*******************************************************************" echo echo "Installing Tables, land-sea mask and EMOS library into $INSTALL_DIR ... " trap "" 2 3 for i in `cat .list/gribtables` ; do tar cf - $i | (cd $INSTALL_DIR; tar xf - ) done for i in `cat .list/bufrtables` ; do tar cf - $i | (cd $INSTALL_DIR; tar xf - ) done for i in `cat .list/crextables` ; do tar cf - $i | (cd $INSTALL_DIR; tar xf - ) done for i in `cat .list/land_sea_mask` ; do tar cf - $i | (cd $INSTALL_DIR; tar xf - ) done for i in `cat .list/gribtemplates` ; do tar cf - $i | (cd $INSTALL_DIR; tar xf - ) done cp libemos$R64.a $INSTALL_DIR/. echo echo "*******************************************************************" echo echo "Installation complete!" echo echo "*******************************************************************" echo echo " You can see examples for: decoding GRIB, BUFR, CREX products and" echo "interpolation in example directory. There is appropriate Makefile for" echo "each of them. You should invoke 'make' and start executable version" echo "of programs e.g. agrdemo.F :" echo echo "./agrdemo -i data/latlon.grib" echo echo "*******************************************************************" exit 0 emoslib-000392+dfsg.1/examples/0000755000175000017500000000000012127406245017274 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/examples/interpolation_grib_api/0000755000175000017500000000000012127406245024017 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/examples/interpolation_grib_api/test.sh0000755000175000017500000000060212127406245025333 0ustar amckinstryamckinstry#!/bin/sh cd ../../ path=`pwd` export HIRLAM_LSM_PATH=$path/land_sea_mask ECMWF_LOCAL_TABLE_PATH=$path/gribtables export ECMWF_LOCAL_TABLE_PATH LOCAL_DEFINITION_TEMPLATES=$path/gribtemplates export LOCAL_DEFINITION_TEMPLATES MARS_LSM_PATH=$path/land_sea_mask export MARS_LSM_PATH cd examples/interpolation_grib_api ./interpolation_example -i ../../data/tigge.grib2 -o output.grib emoslib-000392+dfsg.1/examples/interpolation_grib_api/Makefile.in0000755000175000017500000000127412127406245026073 0ustar amckinstryamckinstry# # Makefile for example programs GRIB_API_DIR=glue JASPER_DIR=jasp A64 = plat R64 = reals ARCH = arch CNAME = comp # GRIB_API=$(GRIB_API_DIR)/lib/libgrib_api.a #JASPER=/usr/lib/libjasper.a JASPER=$(JASPER_DIR) LIB = libemos$(R64).a PLACE = ../../ LIBEMOS = $(PLACE)$(LIB) # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # # TARGETS = all clean EXECS = interpolation_example # # all: $(EXECS) interpolation_example: interpolation_example.o $(LIBEMOS) $(FC) $(FFLAGS) -o $@ interpolation_example.o $(LIBEMOS) $(GRIB_API) $(JASPER) clean: @for name in $(EXECS) ; do\ (rm -f $$name $$name.o $$name.f); \ done emoslib-000392+dfsg.1/examples/interpolation_grib_api/Makefile0000755000175000017500000000107312127406245025463 0ustar amckinstryamckinstry# # Makefile for example programs # GRIB_API=libgrib_api.a JASPER=/usr/lib/libjasper.a PLACE = ../../ LIBEMOS = $(PLACE)$(LIB)$(R64) LIB = emos # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # # TARGETS = all clean EXECS = interpolation_example # # all: $(EXECS) interpolation_example: interpolation_example.o $(LIBEMOS) $(FC) $(FFLAGS) -o $@ interpolation_example.o $(LIBEMOS) $(GRIB_API) $(JASPER) clean: @for name in $(EXECS) ; do\ (rm -f $$name $$name.o $$name.f); \ done emoslib-000392+dfsg.1/examples/interpolation_grib_api/interpolation_example.F0000755000175000017500000000721312127406245030536 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM SAMPLE1 C IMPLICIT NONE INTEGER IPROD INTEGER INTV REAL REALV CHARACTER*20 CHARV DIMENSION INTV(4), REALV(4), CHARV(4) C INTEGER JPGRIB, JPBYTES C PARAMETER (JPGRIB = 2000000) C C JPBYTES is the size in bytes on an 'INTEGER' C Set JPBYTES = 8 on a 64-bit machine. C PARAMETER (JPBYTES = 4) C INTEGER INGRIB, NEWFLD DIMENSION INGRIB(JPGRIB), NEWFLD(JPGRIB) C REAL ZNFELDI, ZNFELDO DIMENSION ZNFELDI(1), ZNFELDO(1) C INTEGER IUNIT1, IUNIT2, IREC, INLEN, NEWLEN, IRET, NARGS INTEGER*4 J C C Externals INTEGER INTOUT, INTF2, IARGC CHARACTER*128 INFILE, OUTFILE, CARG(4) C C ********************************************************************** C C Pick up file names from command line. C NARGS = IARGC() IF( NARGS.LT.4 ) THEN print*,'Usage: interpolation_example -i inputfile -o outputfile' STOP END IF DO 101 J=1,NARGS CALL GETARG(J,CARG(J)) 101 CONTINUE DO 102 J=1,NARGS,2 IF(CARG(J).EQ.'-i') THEN INFILE=CARG(J+1) ELSEIF(CARG(J).EQ.'-o') THEN OUTFILE=CARG(J+1) ELSE print*,'Usage: interpolation_example -i inputfile -o outputfile' STOP END IF 102 CONTINUE C Define the packing accuracy for the new field(s). C INTV(1) = 24 IRET = INTOUT('accuracy', INTV, REALV, CHARV) IF ( IRET.NE.0 ) THEN WRITE(*,*) ' First INTOUT failed.' STOP ENDIF C C Define the geographical area for the new field(s). C REALV(1) = 60.0 REALV(2) = -10.0 REALV(3) = 40.0 REALV(4) = 15.0 IRET = INTOUT('area', INTV, REALV, CHARV) IF ( IRET.NE.0 ) THEN WRITE(*,*) ' Second INTOUT failed.' STOP ENDIF C C Define the grid interval for the new field(s). C REALV(1) = 1.5 REALV(2) = 1.5 IRET = INTOUT('grid', INTV, REALV, CHARV) IF ( IRET.NE.0 ) THEN WRITE(*,*) ' Third INTOUT failed.' STOP ENDIF C C Open input and output files. C CALL PBOPEN(IUNIT1, INFILE, 'r', IRET) IF ( IRET.NE.0 ) STOP ' PBOPEN failed' CALL PBOPEN(IUNIT2, OUTFILE, 'w', IRET) IF ( IRET.NE.0 ) STOP ' PBOPEN failed' IPROD = 0 C C Start of loop through input GRIB-coded fields C 200 CONTINUE IPROD = IPROD + 1 C C Read next product. C CALL PBGRIB(IUNIT1, INGRIB, JPGRIB*JPBYTES, IREC, IRET) IF ( IRET.EQ.-1 ) GOTO 900 IF ( IRET.NE.0 ) STOP ' PBGRIB failed' C C Interpolate. C WRITE(*,*) ' Interpolate product number ', IPROD NEWLEN = JPGRIB INLEN = IREC IRET = INTF2(INGRIB,INLEN,NEWFLD,NEWLEN) IF ( IRET.NE.0 ) THEN WRITE(*,*) ' INTF failed.' STOP ENDIF C C Write the new product to file. C CALL PBWRITE( IUNIT2, NEWFLD, NEWLEN*JPBYTES, IRET) IF ( IRET.LT.(NEWLEN*JPBYTES) ) STOP ' PBWRITE failed' C C Loop back for next product. C GOTO 200 C C Closedown. C 900 CONTINUE C IPROD = IPROD - 1 WRITE(*,*) ' All done after ', IPROD, ' products.' C C Close input and output files. C CALL PBCLOSE(IUNIT1, IRET) CALL PBCLOSE(IUNIT2, IRET) C STOP END emoslib-000392+dfsg.1/examples/bufr/0000755000175000017500000000000012127406245020232 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/examples/bufr/create_bufr.F0000755000175000017500000003640012127406245022630 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM BUFR C C**** *BUFR* C C C PURPOSE. C -------- C An example of using Bufr packing/unpacking software. C It will create synop data in bufr edition 4 C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 05/04/2005. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4=2,JELEM=320000,JSUBS=400,JCVAL=150 ,JBUFL=512000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, #else 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT= 200, #endif 3 JWORK=4096000,JKEY=46) C PARAMETER (KDLEN=200,KELEM=4000) parameter (KVALS=4000,KVALS1=4000) C DIMENSION KBUFR(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) DIMENSION KEY (JKEY) DIMENSION ISUP(JSUP) ,ISEC0(JSEC0),ISEC1(JSEC1) DIMENSION ISEC2(JSEC2),ISEC3(JSEC3),ISEC4(JSEC4) C #ifndef R_4 REAL*8 VALUES(KVALS),VALUE(KVALS1) REAL*8 RQV(KELEM) REAL*8 RVIND #else REAL VALUES(KVALS),VALUE(KVALS1) REAL RQV(KELEM) REAL RVIND #endif DIMENSION KTDLST(KELEM),KTDEXP(KELEM),KRQ(KELEM) DIMENSION ITDLST(KELEM),ITDEXP(KELEM) DIMENSION KDATA(KDLEN),IDATA(KDLEN) C CHARACTER*8 CF CHARACTER*64 CNAMES(KELEM),CNAME(KELEM) CHARACTER*24 CUNITS(KELEM),CUNIT(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER*80 CVAL (KVALS1) CHARACTER*80 YENC C C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C RVIND=1.7D38 C CALL PBOPEN(IUNIT1,'synop.bufr','W',IRET) IF(IRET.EQ.-1) STOP 'OPEN FAILED ON synop.dat' IF(IRET.EQ.-2) STOP 'INVALID FILE NAME' IF(IRET.EQ.-3) STOP 'INVALID OPEN MODE SPECIFIED' C C C INITIALIZE DELAYED REPLICATION FACTORS OR REFERENCE VALUES ETD. C DO 101 I=1,KDLEN KDATA(I)=1 VALUES(I)=RVIND 101 CONTINUE C c KDLENG=3 C C C SET DATA DECSRIPTORS C ktdlst( 1)= 307080 ktdlen=1 values( 1)=11. !001001 WMO BLOCK NUMBER values( 2)=423. !001002 WMO STATION NUMBER values( 3)=1020. !001015 STATION OR SITE NAME values( 4)=1. !002001 TYPE OF STATION values( 5)=2007. !004001 YEAR values( 6)=11. !004002 MONTH values( 7)=21. !004003 DAY values( 8)=12. !004004 HOUR values( 9)=0. !004005 MINUTE values( 10)=49.66944 !005001 LATITUDE (HIGH ACCURACY) values( 11)=12.67778 !006001 LONGITUDE (HIGH ACCURACY) values( 12)=742.2 !007030 HEIGHT OF STATION GROUND ABOVE MEAN SEA LEVEL (SEE NOTE 3) values( 13)=747. !007031 HEIGHT OF BAROMETER ABOVE MEAN SEA LEVEL (SEE NOTE 4) values( 14)=92520. !010004 PRESSURE values( 15)=rvind !010051 PRESSURE REDUCED TO MEAN SEA LEVEL values( 16)=-60. !010061 3-HOUR PRESSURE CHANGE values( 17)=5. !010063 CHARACTERISTIC OF PRESSURE TENDENCY values( 18)=rvind !010062 24-HOUR PRESSURE CHANGE values( 19)=92500. !007004 PRESSURE values( 20)=749. !010009 GEOPOTENTIAL HEIGHT values( 21)=1.95 !007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) values( 22)=270.85 !012101 TEMPERATURE/DRY-BULB TEMPERATURE values( 23)=270.45 !012103 DEW-POINT TEMPERATURE values( 24)=97. !013003 RELATIVE HUMIDITY values( 25)=4.8 !007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) values( 26)=200. !020001 HORIZONTAL VISIBILITY values( 27)=1.12 !007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) values( 28)=rvind !013023 TOTAL PRECIPITATION PAST 24 HOURS values( 29)=rvind !007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) values( 30)=100. !020010 CLOUD COVER (TOTAL) values( 31)=5. !008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) values( 32)=9. !020011 CLOUD AMOUNT values( 33)=0. !020013 HEIGHT OF BASE OF CLOUD values( 34)=62. !020012 CLOUD TYPE values( 35)=61. !020012 CLOUD TYPE values( 36)=60. !020012 CLOUD TYPE values( 37)=1. !031001 DELAYED DESCRIPTOR REPLICATION FACTOR values( 38)=5. !008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) values( 39)=9. !020011 CLOUD AMOUNT values( 40)=59. !020012 CLOUD TYPE values( 41)=0. !020013 HEIGHT OF BASE OF CLOUD values( 42)=1. !031001 DELAYED DESCRIPTOR REPLICATION FACTOR values( 43)=11. !008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) values( 44)=rvind !020011 CLOUD AMOUNT values( 45)=rvind !020012 CLOUD TYPE values( 46)=rvind !020014 HEIGHT OF TOP OF CLOUD values( 47)=rvind !020017 CLOUD TOP DESCRIPTION values( 48)=7. !008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) values( 49)=rvind !020054 TRUE DIRECTION FROM WHICH CLOUDS ARE MOVING values( 50)=8. !008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) values( 51)=rvind !020054 TRUE DIRECTION FROM WHICH CLOUDS ARE MOVING values( 52)=9. !008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) values( 53)=rvind !020054 TRUE DIRECTION FROM WHICH CLOUDS ARE MOVING values( 54)=rvind !008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) values( 55)=rvind !005021 BEARING OR AZIMUTH values( 56)=rvind !007021 ELEVATION (SEE NOTE 2) values( 57)=rvind !020012 CLOUD TYPE values( 58)=rvind !005021 BEARING OR AZIMUTH values( 59)=rvind !007021 ELEVATION (SEE NOTE 2) values( 60)=rvind !020062 STATE OF THE GROUND (WITH OR WITHOUT SNOW) values( 61)=rvind !013013 TOTAL SNOW DEPTH values( 62)=rvind !012113 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS values( 63)=49. !020003 PRESENT WEATHER (SEE NOTE 1) values( 64)=-6. !004024 TIME PERIOD OR DISPLACEMENT values( 65)=4. !020004 PAST WEATHER (1) (SEE NOTE 2) values( 66)=4. !020005 PAST WEATHER (2) (SEE NOTE 2) values( 67)=-1. !004024 TIME PERIOD OR DISPLACEMENT values( 68)=rvind !014031 TOTAL SUNSHINE values( 69)=-24. !004024 TIME PERIOD OR DISPLACEMENT values( 70)=rvind !014031 TOTAL SUNSHINE values( 71)=1.12 !007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) values( 72)=-6. !004024 TIME PERIOD OR DISPLACEMENT values( 73)=0. !013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT values( 74)=-1. !004024 TIME PERIOD OR DISPLACEMENT values( 75)=0. !013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT values( 76)=1.95 !007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) values( 77)=-12. !004024 TIME PERIOD OR DISPLACEMENT values( 78)=0. !004024 TIME PERIOD OR DISPLACEMENT values( 79)=rvind !012111 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED values( 80)=-12. !004024 TIME PERIOD OR DISPLACEMENT values( 81)=0. !004024 TIME PERIOD OR DISPLACEMENT values( 82)=rvind !012112 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED values( 83)=10.25 !007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) values( 84)=8. !002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT values( 85)=2. !008021 TIME SIGNIFICANCE values( 86)=-10. !004025 TIME PERIOD OR DISPLACEMENT values( 87)=110. !011001 WIND DIRECTION values( 88)=5. !011002 WIND SPEED values( 89)=rvind !008021 TIME SIGNIFICANCE values( 90)=-10. !004025 TIME PERIOD OR DISPLACEMENT values( 91)=rvind !011043 MAXIMUM WIND GUST DIRECTION values( 92)=rvind !011041 MAXIMUM WIND GUST SPEED values( 93)=-360. !004025 TIME PERIOD OR DISPLACEMENT values( 94)=rvind !011043 MAXIMUM WIND GUST DIRECTION values( 95)=12. !011041 MAXIMUM WIND GUST SPEED values( 96)=rvind !007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) values( 97)=-24. !004024 TIME PERIOD OR DISPLACEMENT values( 98)=rvind !002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUREMENT OR TYPE OF C values( 99)=rvind !013033 EVAPORATION/EVAPOTRANSPIRATION values(100)=-1. !004024 TIME PERIOD OR DISPLACEMENT values(101)=rvind !014002 LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED values(102)=rvind !014004 SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED values(103)=rvind !014016 NET RADIATION, INTEGRATED OVER PERIOD SPECIFIED values(104)=rvind !014028 GLOBAL SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S values(105)=rvind !014029 DIFFUSE SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD values(106)=rvind !014030 DIRECT SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S values(107)=-24. !004024 TIME PERIOD OR DISPLACEMENT values(108)=rvind !014002 LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED values(109)=rvind !014004 SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED values(110)=rvind !014016 NET RADIATION, INTEGRATED OVER PERIOD SPECIFIED values(111)=rvind !014028 GLOBAL SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S values(112)=rvind !014029 DIFFUSE SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD values(113)=rvind !014030 DIRECT SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S values(114)=rvind !004024 TIME PERIOD OR DISPLACEMENT values(115)=rvind !004024 TIME PERIOD OR DISPLACEMENT values(116)=rvind !012049 TEMPERATURE CHANGE OVER SPECIFIED PERIOD C SET CCITTIA5 STATION OR SITE NAME cvals(1)='PRIMDA' C C C SECTION 0 CONTENT C KSEC0(1)=0 ! TOTAL LENGTH OF SECTION 0 KSEC0(2)=0 ! TOTAL LENGTH OF BUFR MESSAGE KSEC0(3)=4 ! BUFR EDITION NUMBER C C SECTION 1 CONTENT C KSEC1(1)=22 ! TOTTAL LENGTH OF SECTION 1 ( set to 18 for edition <= 3) KSEC1(2)=4 ! BUFR EDITION NUMBER KSEC1(3)=89 ! ORIGINATING CENTRE KSEC1(4)=1 ! UPDATE SEQUENCE NUMBER KSEC1(5)=0 ! FLAG (PRESENCE OF SECTION 2) KSEC1(6)=0 ! DATA CATEGORY KSEC1(7)=0 ! LOCAL DATA SUB-CATEGORY KSEC1(8)=0 ! VERSION NUMBER OF LOCAL TABLE USED KSEC1(9)=nint(values(5)) if(KSEC1(2).le.3) then if(ksec1(9).gt.2000) then ksec1(9)=ksec1(9)-2000 else ksec1(9)=ksec1(9)-1900 end if end if KSEC1(10)=nint(values(6)) KSEC1(11)=nint(values(7)) ! DAY KSEC1(12)=nint(values(8)) ! HOUR KSEC1(13)=nint(values(9)) ! MINUTE KSEC1(14)=0 ! BUFR MASTER TABLE( ZERO) FOR METEOROLOGICAL DATA) KSEC1(15)=13 ! VERSION NUMBER OF MASTER TABLE USED KSEC1(16)=255 ! ORIGINATING SUB-CENTRE KSEC1(17)=2 ! INTERNATIONAL SUB-CATEGORY KSEC1(18)=0 ! SECOND C C SECTION 2 CONTENT C KSEC2(1)=52 C DO 110 I=2,JSEC2 KSEC2(I)=0 110 CONTINUE C C SECTION 3 CONTENT C KSEC3(1)=0 ! TOTAL LENGTH OF SECTION 3 KSEC3(2)=0 ! RESERVED KSEC3(3)=1 KSEC3(4)=0 ! 64 FOR COMPRESSION/ 0 MANY SUBSETS if(KSEC3(3).GT.1) KSEC3(4)=64 C IREP=0 C C C* 6. PACK BUFR MESSAGE C ----------------- 600 CONTINUE C C--------------------------------------------------------------- C This call is not needed for packing. It just C prints expanded list corresponding to ktdlst sequence C and delayed replications in kdata array. This four C lines can be deleted or commented out. K=1 CALL BUXDES(K,KSEC1,KTDLEN,KTDLST,KDLENG,KDATA,KELEM, 1 KTDEXL,KTDEXP,CNAMES,CUNITS,KERR) C IF(KERR.NE.0) CALL EXIT(2) C--------------------------------------------------------------- C C C* 6.2 ENCODE DATA INTO BUFR MESSAGE. C ------------------------------ 620 CONTINUE C KBUFL=3000 KPMISS=1 KPRUS=1 NOKEY=0 CALL BUPRQ(KPMISS,KPRUS,NOKEY) C KERR=0 CALL BUFREN( KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, 1 KTDLEN,KTDLST,KDLENG,KDATA,KELEM, 2 KVALS,VALUES,CVALS,KBUFL,KBUFR,KERR) C IF(KERR.GT.0) THEN CALL EXIT(2) ELSEIF(KERR.lt.0) then print*,'Encoding return_code=',kerr END IF c C ILEN=KBUFL*JBPW/8 ILEN=KSEC0(2) C IERR=0 CALL PBWRITE(IUNIT1,KBUFR,ILEN,IERR) IF(IERR.LT.0) THEN PRINT*,'ERROR WRITING INTO TARGET FILE.' CALL EXIT(2) END IF C C ----------------------------------------------------------------- C* 7. UNPACK MESSAGE. C ------------- 700 CONTINUE C DO 702 I=1,KVALS1 VALUE(I)=RVIND 702 CONTINUE c 701 CONTINUE C CALL BUFREX(KBUFL,KBUFR,ISUP,ISEC0 ,ISEC1,ISEC2 ,ISEC3 ,ISEC4, 1 KELEM,CNAME,CUNIT,KVALS1,VALUE,CVAL,IERR) c IF(IERR.NE.0) CALL EXIT(2) C CALL BUPRS0(ISEC0) CALL BUPRS1(ISEC1) CALL BUUKEY(ISEC1,ISEC2,KEY,ISUP,KERR) CALL BUPRS2(ISUP ,KEY) ISUBSET=1 CALL BUSEL2(ISUBSET,KELEM,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) CALL BUPRS3(ISEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP,KELEM,CNAME) C WRITE(*,'(a,$)') ' STARTING SUBSET TO BE PRINTED : ' READ(*,'(I5)') IST WRITE(*,'(a,$)') ' ENDING SUBSET TO BE PRINTED : ' READ(*,'(I6)') IEND C ICODE=0 CALL BUPRT(ICODE,IST,IEND,KELEM,CNAME,CUNIT,CVAL, 1 KVALS1,VALUE,ISUP,ISEC1,IERR) C C IREP=IREP+1 C IF(IREP.GT.3) GO TO 900 GO TO 900 C 810 CONTINUE C WRITE(*,'(1H ,A)') 'OPEN ERROR ON INPUT FILE' GO TO 900 C 800 CONTINUE C IF(IERR.EQ.-1) THEN print*,'Number of records processed ',IREP ELSE print*,' BUFR : error= ',ierr END IF C 900 CONTINUE C STOP END emoslib-000392+dfsg.1/examples/bufr/test.sh0000755000175000017500000000022312127406245021545 0ustar amckinstryamckinstry#!/bin/sh cd ../../ path=`pwd` BUFR_TABLES=$path/bufrtables/ export BUFR_TABLES cd examples/bufr ./decode_bufr -i ../../data/ISMD01_OKPR.bufr emoslib-000392+dfsg.1/examples/bufr/README0000755000175000017500000000273112127406245021120 0ustar amckinstryamckinstry This directory contains example for the BUFR decoding and programs for conversion between BUFR and CREX Note: Conversion programs can be compiled only if you have installed both crex and bufer libraries!!! Compilation of C program for decoding bufr_decode.c is optional and if you want to compile it please type: make bufr_decode This is available only on Linux platform for Gnu compilers g77 and gcc, for pgf77 and pgfcc. Relevant data in BUFR format are in data directory. decode_bufr.f : make will compile examples If you want to run example programs before instal library and Bufr tables just run small script: ./test.sh that will set temporary environment variable: BUFR_TABLES and run: ./decode_bufr -i data/input_bufr Answer the prompts as in the Bufr User's Manual example y n n 1 press return press return press return press return y 1 1 where: input_bufr - file name containing BUFR data The result will be description of data and its values. bufr_example can be run for different sort of observation data: synop.buf, amdar.bufr, atovs.bufr, satob.bufr, synop_ship.bufr, temp.bufr bufr2crex.f : It very useful if there is need for automatic conversion between BUFR and CREX data formats, when some centres can not handle meteorogical binary data ./bufr2crex -i input_bufr -o out_crex where: out_crex - file name containing CREX data crex2bufr.f : CREX to BUFR conversion program. ./crex2bufr -i input_crex -o out_bufr emoslib-000392+dfsg.1/examples/bufr/bufr_decode.c0000755000175000017500000000754412127406245022654 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include int main(int argc, char *argv[]) /******************************************************************* * * Program : Bufr_decode * * * Author: Milan Dragosavac ECMWF July 1996 * * Purpose: Decode bufr message * * * * Usage: * * * * References: * * * * * File formats: * * * * Restrictions: * * * Error handling: * * * * Notes: * * * *******************************************************************/ { #define KVALS 4096000 #define KELEM 160000 FILE *fp; char bufr_message[512000]; char filename[256]; long int length=512000; long int status = 0; int Nbpw; unsigned long int *kbuff; long int ksup[9]; long int ksec0[3]; long int ksec1[40]; long int ksec2[4096]; long int ksec3[4]; long int ksec4[2]; long int key[46]; long int kerr; int i; long kelem = KELEM,kvals = KVALS; static char cnames[KELEM][64],cunits[KELEM][24]; char cvals[KVALS][80]; double values[KVALS],vals[KVALS]; long icode = 0; long ktdlst[KELEM],ktdexp[KELEM],ktdlen,ktdexl; if(sizeof(long) == 4) Nbpw=32; else if(sizeof(long) == 8) Nbpw=64; else{ printf("Abort.....\n"); } printf("%d\n",Nbpw); /* Get input and output file name. */ /* ------------------------------- */ if(argc != 3) { printf("Usage: bufr_decode -i infile \n"); printf("Please try again. \n"); exit(1); } printf("%c",argc); if(!strcmp(argv[1],"-i")) strcpy(filename,argv[2]); else { printf("Usage: bufr_decode -i infile \n"); exit(1); } /* Open input file */ /* --------------- */ if((fp = fopen(filename,"r")) == NULL) { printf("cannot open file\n"); exit(1); } /* Read in bufr messages */ /* --------------------- */ while(status >= 0){ long current_ss; status = readbufr( fp,&bufr_message,&length); if( status == -1 ) printf("End of file.\n"); else if(status == -2 ) printf("Error in file handling\n"); else if(status == -3 ) printf("Too small input array.\n"); else if(status == -4 ) printf("Too small input array.\n"); else { printf("It is OK.\n"); printf("message read "); printf("%d\n",length); printf("%s\n",&bufr_message[0]); } status=-1; /* Expand bufr message calling fortran program */ kbuff = (unsigned long *) bufr_message; length /= 4; bus012_(&length, kbuff , ksup, ksec0, ksec1, ksec2, &kerr) ; buprs0_(ksec0); buprs1_(ksec1); if (ksup[5] > 1) kelem = kvals/ksup[5]; else kelem = KELEM; if ( kelem > KELEM ) kelem = KELEM; kerr = 0; bufrex_(&length,(long *)kbuff,ksup,ksec0,ksec1,ksec2,ksec3,ksec4, &kelem,(char **)cnames,(char **)cunits,&kvals, values,(char **)cvals,&kerr); if ( kerr ) { kerr = 0; } buukey_(ksec1,ksec2,key,ksup,&kerr); busel_(&ktdlen,ktdlst,&ktdexl,ktdexp,&kerr); buprs3_(ksec3,&ktdlen,ktdlst,&ktdexl,ktdexp,&kelem,(char **)cnames); icode = 0; current_ss = 1; buprt_(&icode,¤t_ss,¤t_ss,&kelem,(char **)cnames, (char **)cunits,(char **)cvals, &kvals,values,ksup,ksec1,&kerr); } return kerr; } emoslib-000392+dfsg.1/examples/bufr/decode_bufr.F0000755000175000017500000003567412127406245022624 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM BUFR C C**** *BUFR* C C C PURPOSE. C -------- C EXAMPLE OF USING BUFR UNPACKING/PACKING SOFTWARE. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C CALL BUSEL2 C CALL BUFREX C CALL BUFREN C CALL BUPRS0 C CALL BUPRS1 C CALL BUPRS2 C CALL BUPRS3 C CALL BUPRT C CALL BUUKEY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/09/87. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4=2,JELEM=320000,JSUBS=400,JCVAL=150 ,JBUFL=512000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=3000,JCTST=9000,JCTEXT=9000, #else 2 JBPW = 32,JTAB =3000,JCTAB=3000,JCTST=9000,JCTEXT=9000, #endif 3 JWORK=4096000,JKEY=46, JTMAX=10,JTCLAS=64,JTEL=255) C PARAMETER (KELEM=40000) PARAMETER (KVALS=4096000) C DIMENSION KBUFF(JBUFL) DIMENSION KBUFR(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) DIMENSION KEY (JKEY),KREQ(2) DIMENSION NREQUEST(2) C REAL*8 VALUES(KVALS),VALUE(KVALS) DIMENSION KTDLST(JELEM),KTDEXP(JELEM),KRQ(KELEM) REAL*8 RQV(KELEM) DIMENSION KDATA(200),KBOXR(JELEM*4) REAL*8 VALS(KVALS) C CHARACTER*256 CF,COUT,CARG(4) CHARACTER*64 CNAMES(KELEM),CBOXN(JELEM*4) CHARACTER*24 CUNITS(KELEM),CBOXU(JELEM*4) CHARACTER*80 CVALS(kelem) CHARACTER*80 CVAL(kelem) CHARACTER*80 YENC REAL*8 RVIND REAL*8 EPS C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C MISSING VALUE INDICATOR C NBYTPW=JBPW/8 RVIND=1.7D38 NVIND=2147483647 IOBS=0 EPS=10.D-8 NPACK=0 IYEAR=NVIND N=0 NCOM=0 OO=.FALSE. C C C C GET INPUT AND OUTPUT FILE NAME. C NARG=IARGC() C C DO 104 J=1,NARG CALL GETARG(J,CARG(J)) 104 CONTINUE II=0 IO=0 DO 105 J=1,NARG IF(CARG(J).EQ.'-i') THEN IN=J ELSEIF(CARG(J).EQ.'-o') THEN IO=J END IF 105 CONTINUE IF(IN.EQ.0) THEN PRINT*,'USAGE -- decode_bufr -i infile' STOP END IF IF(IO.EQ.0.and.IN.EQ.0) THEN PRINT*,'USAGE -- decode_bufr -i infile -o outfile' STOP END IF C IF(IO.NE.0) COUT=CARG(IO+1) C IF(IO.LT.IN) THEN IST=IN+1 IEND=NARG ELSE IST=IN+1 IEND=IO-1 END IF C C IF(IO.NE.0) THEN JJ=INDEX(COUT,' ') JJ=JJ-1 CALL PBOPEN(IUNIT1,COUT(1:JJ),'W',IRET) IF(IRET.EQ.-1) STOP 'OPEN FAILED ON BUFR.DAT' IF(IRET.EQ.-2) STOP 'INVALID FILE NAME' IF(IRET.EQ.-3) STOP 'INVALID OPEN MODE SPECIFIED' END IF C DO 101 II=IST,IEND CF=CARG(II) ILN=INDEX(CF,' ') ILN=ILN-1 KRQL=0 NR=0 KREQ(1)=0 KREQ(2)=0 DO 103 I=1,KELEM RQV(I)=RVIND KRQ(I)=NVIND 103 CONTINUE C C* 1.2 OPEN FILE CONTAINING BUFR DATA. C ------------------------------- 120 CONTINUE C IRET=0 CALL PBOPEN(IUNIT,CF(1:ILN),'R',IRET) IF(IRET.EQ.-1) STOP 'OPEN FAILED' IF(IRET.EQ.-2) STOP 'INVALID FILE NAME' IF(IRET.EQ.-3) STOP 'INVALID OPEN MODE SPECIFIED' C IF(IO.NE.0) THEN CALL PBOPEN(IUNIT1,COUT(1:JJ),'W',IRET) IF(IRET.EQ.-1) STOP 'OPEN FAILED ON BUFR.DAT' IF(IRET.EQ.-2) STOP 'INVALID FILE NAME' IF(IRET.EQ.-3) STOP 'INVALID OPEN MODE SPECIFIED' END IF C C C C ----------------------------------------------------------------- C* 2. SET REQUEST FOR EXPANSION. C -------------------------- 200 CONTINUE C OPRT=.FALSE. OENC=.FALSE. WRITE(*,'(A,$)') ' DO YOU WANT TO PRINT( Y/N ) : ' READ (*,'(A)') YENC IF(YENC(1:1).EQ.'Y'.OR.YENC(1:1).EQ.'y') THEN OPRT=.TRUE. END IF ICODE=0 WRITE(*,'(A,$)') ' CODE TABLES TO BE PRINTED ( Y/N ) : ' READ (*,'(A)') YCODC IF(YCODC(1:1).EQ.'Y'.OR.YCODC(1:1).EQ.'y') THEN ICODE=1 END IF WRITE(*,'(A,$)') ' DO YOU WANT ENCODING( Y/N ) : ' READ (*,'(A)') YENC IF(YENC(1:1).EQ.'Y'.OR.YENC(1:1).EQ.'y') THEN OENC=.TRUE. WRITE(*,'(A,$)') ' NUMBER OF SUBSETS TO PACK : ' READ(*,'(BN,I4)') NCOM OCOMP=.FALSE. WRITE(*,'(A,$)') ' DO YOU WANT COMPRESSION( Y/N ) : ' READ (*,'(A)') YCOMP IF(YCOMP(1:1).EQ.'Y'.OR.YCOMP(1:1).EQ.'y') OCOMP=.TRUE. END IF WRITE(*,'(A,$)') ' RECORD NUMBER TO START FROM : ' READ(*,'(BN,I6)') NR C 201 CONTINUE C WRITE(*,'(A,$)') ' REQUESTED ELEMENT : ' READ(*,'(BN,I6)') IEL WRITE(*,'(A,$)') ' REQUESTED VALUE : ' READ(*,'(BN,F12.2)') VAL IF(IEL.EQ.0) THEN KRQL=J ELSE J=J+1 KRQ(J)=IEL RQV(J)=VAL IF(VAL.EQ.0.) RQV(J)=RVIND GO TO 201 END IF C WRITE(*,'(A,$)') ' REQUESTED FLAG 1 : ' READ(*,'(BN,I6)') KREQ(1) C WRITE(*,'(A,$)') ' REQUESTED FLAG 2 : ' READ(*,'(BN,I6)') KREQ(2) C WRITE(*,'(A,$)') ' DO YOU WANT TO PRINT SECTION 0-3( Y/N ) : ' READ (*,'(A,$)') YENC OSEC3=.FALSE. IF(YENC(1:1).EQ.'Y'.OR.YENC(1:1).EQ.'y') OSEC3=.TRUE. C C* 2.1 SET REQUEST FOR PARTIAL EXPANSION. C ---------------------------------- 210 CONTINUE C IERR=0 CALL BUSRQ(KREQ,KRQL,KRQ,RQV,IERR) C C SET VARIABLE TO PACK BIG VALUES AS MISSING VALUE INDICATOR C KPMISS=1 KPRUS=0 KOKEY=0 CALL BUPRQ(KPMISS,KPRUS,KOKEY) C C ----------------------------------------------------------------- IF(NCOM.NE.0) THEN KEL1=KVALS/NCOM IF(KEL1.GT.KELEM) KEL1=KELEM END IF C C* 3. READ BUFR MESSAGE. C ------------------ 300 CONTINUE C IERR=0 KBUFL=0 C CALL PBBUFR(IUNIT,KBUFF,JBUFL,KBUFL,IERR) IF(IERR.EQ.-1) THEN IF(NPACK.NE.0) GO TO 600 PRINT*,'NUMBER OF SUBSETS ',IOBS PRINT*,'NUMBER OF MESSAGES ',N STOP 'EOF' END IF IF(IERR.EQ.-2) STOP 'FILE HANDLING PROBLEM' IF(IERR.EQ.-3) STOP 'ARRAY TOO SMALL FOR PRODUCT' C N=N+1 c PRINT*,'----------------------------------',N,' ',KBUFL KBUFL=KBUFL/NBYTPW+1 IF(N.LT.NR) GO TO 300 C C ----------------------------------------------------------------- C* 4. EXPAND BUFR MESSAGE. C -------------------- 400 CONTINUE C CALL BUS0123( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KSEC3,IERR) IF(IERR.NE.0) THEN PRINT*,'ERROR IN BUS012: ',IERR PRINT*,' BUFR MESSAGE NUMBER ',N,' CORRUPTED.' IERR=0 GO TO 300 END IF C KEL=KVALS/KSEC3(3) IF(KEL.GT.KELEM) KEL=KELEM C CALL BUFREX(KBUFL,KBUFF,KSUP,KSEC0 ,KSEC1,KSEC2 ,KSEC3 ,KSEC4, 1 KEL,CNAMES,CUNITS,KVALS,VALUES,CVALS,IERR) C IF(IERR.NE.0) THEN CALL EXIT(2) END IF C C IOBS=IOBS+KSEC3(3) C C ISUBSET=1 CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) C IF(IERR.NE.0) CALL EXIT(2) C C c DO 401 IK=1,KSEC3(3) c c CALL BUSEL2(IK,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, c 1 CUNITS,IERR) c KSUP(5)=KTDEXL c CALL BUBOX(IK,KSUP,KEL,KTDEXP,CNAMES,CUNITS,KVALS,VALUES, c 1 KBOX,KAPP,KLEN,KBOXR,VALS,CBOXN,CBOXU,IERR) C c 401 CONTINUE C C C* 4.1 PRINT CONTENT OF EXPANDED DATA. C ------------------------------- 410 CONTINUE C IF(.NOT.OPRT) GO TO 500 IF(.NOT.OSEC3) GO TO 450 C C* 4.2 PRINT SECTION ZERO OF BUFR MESSAGE. C ----------------------------------- 420 CONTINUE C CALL BUPRS0(KSEC0) C C* 4.3 PRINT SECTION ONE OF BUFR MESSAGE. C ----------------------------------- 430 CONTINUE C CALL BUPRS1(KSEC1) C C C* 4.4 PRINT SECTION TWO OF BUFR MESSAGE. C ----------------------------------- 440 CONTINUE C C AT ECMWF SECTION 2 CONTAINS RDB KEY. C SO UNPACK KEY C CALL BUUKEY(KSEC1,KSEC2,KEY,KSUP,IERR) C C PRINT KEY C CALL BUPRS2(KSUP ,KEY) C C* 4.5 PRINT SECTION 3 OF BUFR MESSAGE. C ----------------------------------- 450 CONTINUE C C FIRST GET DATA DESCRIPTORS C C Multi subset uncompressed data descriptors for the 1st subset C Each subset can contain completly different list of expanded C discriptors C ISUBSET=1 CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(IERR.NE.0) CALL EXIT(2) C C PRINT CONTENT C IF(OSEC3) THEN CALL BUPRS3(KSEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP,KEL,CNAMES) END IF C C* 4.6 PRINT SECTION 4 (DATA). C ----------------------- 460 CONTINUE C C IN THE CASE OF MANY SUBSETS DEFINE RANGE OF SUBSETS C IF(.NOT.OO) THEN WRITE(*,'(A,$)') ' STARTING SUBSET TO BE PRINTED : ' READ(*,'(BN,I4)') IST WRITE(*,'(A,$)') ' ENDING SUBSET TO BE PRINTED : ' READ(*,'(BN,I4)') IEND OO=.FALSE. END IF C C PRINT DATA C C IF(KSEC1(6).EQ.11) THEN C C IST=1 C IEND=KSEC3(3) C CALL BUPRT(ICODE,IST,IEND,KEL,CNAMES,CUNITS,CVALS, 1 KVALS,VALUES,KSUP,KSEC1,IERR) C ELSE C C RESOLVE BIT MAPS FOR EACH SUBSET C C ist=1 C iend=ksec3(3) C C IF(IEND.GT.KSEC3(3)) IEND=KSEC3(3) C C DO 461 IK=IST,IEND C C CALL BUSEL2(IK,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, C 1 CUNITS,IERR) C C KSUP(5)=KTDEXL C CALL BUBOX(IK,KSUP,KEL,KTDEXP,CNAMES,CUNITS,KVALS,VALUES, C 1 KBOX,KAPP,KLEN,KBOXR,VALS,CBOXN,CBOXU,IERR) C IF(IERR.NE.0) CALL EXIT(2) C C CALL BUPRTBOX(KBOX,KAPP,KLEN,KBOXR,VALS,CBOXN,CBOXU) C C461 CONTINUE C END IF C C ----------------------------------------------------------------- C* 5. COLLECT DATA FOR REPACKING. C --------------------------- 500 CONTINUE C C IF(.NOT.OENC) GO TO 300 C ISUBS=KSEC3(3) DO J=1,ISUBS C NPACK=NPACK+1 C C FIRST GET DATA DESCRIPTORS C CALL BUSEL2(J,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(IERR.NE.0) CALL EXIT(2) C DO I=1,KTDEXL IO=I+(NPACK-1)*KEL1 IN=I+(J-1)*KEL C IF(CUNITS(I).EQ.'CCITTIA5') THEN IPOS =VALUES(IN)/1000. ICH=NINT(VALUES(IN)-IPOS*1000) KKK=KKK+1 VALUE(IO)=KKK*1000+ICH CVAL(KKK)=CVALS(IPOS) ELSE VALUE(IO)=VALUES(IN) END IF IF(KTDEXP(I).EQ.31001.OR.KTDEXP(I).EQ.31002) THEN KK=KK+1 KDATA(KK)=NINT(VALUE(IO)) END IF IF(KTDEXP(I).EQ.004001) THEN IYEAR=NINT(VALUE(IO)) END IF END DO C KDLEN=KK IF(NPACK.EQ.NCOM) THEN KSEC3(3)=NPACK KSEC1(5)=0 KSEC1(8)=1 KSEC1(15)=12 IF(KSEC0(3).LT.4) THEN KSEC1(17)=255 KSEC1(18)=0 END IF KSEC0(3)=3 ! EDITION 4 OF BUFR MESSAGE IF(KSEC0(3).GE.4) KSEC1(1)=22 KSEC3(4)=0 ! NO COMPRESSION IF(KSEC0(3).LE.3) THEN IF(IYEAR.GT.2000) THEN KSEC1(9)=IYEAR-2000 ELSE KSEC1(9)=IYEAR-1900 END IF ELSE KSEC1(9)=IYEAR END IF IF(OCOMP) KSEC3(4)=64 ! COMPRESSION KBUFL=JBUFL CALL BUFREN( KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, 1 KTDLEN,KTDLST,KDLEN,KDATA,KEL1, 2 KVALS,VALUE,CVAL,KBUFL,KBUFR,IERR) IF(IERR.NE.0) THEN PRINT*,'ERROR IS ',IERR PRINT*,'ERROR DURING ENCODING.' CALL EXIT(2) END IF C ILEN=KBUFL*NBYTPW C IERR=0 C CALL PBWRITE(IUNIT1,KBUFR,ILEN,IERR) IF(IERR.LT.0) THEN PRINT*,'ERROR WRITING INTO TARGET FILE.' CALL EXIT(2) END IF PRINT*,'RECORD WRITTEN INTO FILE ' C NPACK=0 KKK=0 KK=0 END IF C END DO C GO TO 300 C ----------------------------------------------------------------- C* 6. PACK BUFR MESSAGE BACK INTO BUFR. C --------------------------------- 600 CONTINUE C KSEC3(3)=NPACK KSEC1(8)=1 KSEC1(15)=12 KSEC0(3)=4 ! EDITION 4 OF BUFR MESSAGE IF(KSEC0(3).GE.4) KSEC1(1)=22 IF(KSEC0(3).LT.4) THEN KSEC1(17)=255 KSEC1(18)=0 END IF KSEC3(4)=0 ! NO COMPRESSION IF(KSEC1(9).LT.101) THEN KSEC1(9)=IYEAR END IF C IF(OCOMP) KSEC3(4)=64 ! COMPRESSION KBUFL=JBUFL C C C* 6.2 ENCODE DATA INTO BUFR MESSAGE. C ------------------------------ 620 CONTINUE C CALL BUFREN( KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, 1 KTDLEN,KTDLST,KDLEN,KDATA,KEL1, 2 KVALS,VALUE,CVAL,KBUFL,KBUFR,IERR) IF(IERR.NE.0) THEN PRINT*,'ERROR IS ',IERR PRINT*,'ERROR DURING ENCODING.' CALL EXIT(2) END IF C C 6.3 WRITE PACKED BUFR MESSAGE INTO FILE. C ------------------------------------ 630 CONTINUE C ILEN=KBUFL*NBYTPW C CALL PBWRITE(IUNIT1,KBUFR,ILEN,IERR) IF(IERR.LT.0) THEN PRINT*,'ERROR WRITING INTO TARGET FILE.' CALL EXIT(2) END IF PRINT*,'RECORD WRITTEN INTO FILE ' C NPACK=0 KKK=0 C GO TO 300 C ----------------------------------------------------------------- C 810 CONTINUE C WRITE(*,'(1H ,A)') 'OPEN ERROR ON INPUT FILE' GO TO 900 C 800 CONTINUE C IF(IRET.EQ.-1) THEN PRINT*,'NUMBER OF RECORDS PROCESSED ',N PRINT*,'NUMBER OF OBSERVATIONS ',IOBS ELSE PRINT*,' BUFR : ERROR= ',IERR END IF C 900 CONTINUE C CALL PBCLOSE(IUNIT,IRET) 101 CONTINUE CALL PBCLOSE(IUNIT1,IRET) C END emoslib-000392+dfsg.1/examples/bufr/Makefile.in0000755000175000017500000000217712127406245022311 0ustar amckinstryamckinstry# # Makefile for example programs A64 = plat R64 = reals ARCH = arch CNAME = comp # PLACE = ../../ LIB = emos # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # include ../../config/fortran2c$(CNAME) # TARGDIR = ./ # # TARGETS = all clean EXECS = decode_bufr decode_bufr_image bufr_decode create_bufr tdexp bufr2crex crex2bufr # # all :$(EXECS) decode_bufr: decode_bufr.o $(FC) $(FFLAGS) -o $@ decode_bufr.o -L$(PLACE) -l$(LIB)$(R64) decode_bufr_image: decode_bufr_image.o $(FC) $(FFLAGS) -o $@ decode_bufr_image.o -L$(PLACE) -l$(LIB)$(R64) bufr_decode: bufr_decode.o $(CC) $(CFLAGS) -o $@ bufr_decode.o -L$(PLACE) -l$(LIB)$(R64) $(FORTRAN2C) bufr2crex : bufr2crex.o $(FC) $(FFLAGS) -o $@ bufr2crex.o -L$(PLACE) -l$(LIB)$(R64) crex2bufr : crex2bufr.o $(FC) $(FFLAGS) -o $@ crex2bufr.o -L$(PLACE) -l$(LIB)$(R64) create_bufr: create_bufr.o $(FC) $(FFLAGS) -o $@ create_bufr.o -L$(PLACE) -l$(LIB)$(R64) tdexp: tdexp.o $(FC) $(FFLAGS) -o $@ tdexp.o -L$(PLACE) -l$(LIB)$(R64) clean : @for name in $(EXECS); do\ (rm -f $$name *.o ); \ done emoslib-000392+dfsg.1/examples/bufr/decode_bufr_image.F0000755000175000017500000001465512127406245023762 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM DECODE_BUFR_IMAGE C C**** *DECODE_BUFR_IMAGE* C C C PURPOSE. C -------- C Expnds Opera run-length encoded composite images C and creates image header and image file. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/07/2008. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4=2,JELEM=320000,JSUBS=400,JCVAL=150 ,JBUFL=512000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=3000,JCTST=9000,JCTEXT=9000, #else 2 JBPW = 32,JTAB =3000,JCTAB=3000,JCTST=9000,JCTEXT=9000, #endif 3 JWORK=4096000,JKEY=46, JTMAX=10,JTCLAS=64,JTEL=255) C PARAMETER (JIMG=2500000) PARAMETER (KELEM=320000) PARAMETER (KVALS=4096000) C DIMENSION KBUFF(JBUFL) DIMENSION KBUFR(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) C REAL*8 VALUES(KVALS),VALUES_IMG(500) INTEGER IMAGE(JIMG) DIMENSION KTDLST(KELEM),KTDEXP(KELEM) DIMENSION KTDEXP_IMG(KELEM) C CHARACTER*256 CF,COUT,CARG(4),COUT1,COUT2,COUT3 CHARACTER*64 CNAMES(KELEM),CNAMES_IMG(KELEM) CHARACTER*24 CUNITS(KELEM),CUNITS_IMG(KELEM) CHARACTER*80 CVALS(KELEM),CVALS_IMG(KELEM) REAL*8 RVIND C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C MISSING VALUE INDICATOR C NBYTPW=JBPW/8 RVIND=1.7D38 NVIND=2147483647 IOBS=0 N=0 C C C C GET INPUT AND OUTPUT FILE NAME. C NARG=IARGC() C C DO 104 J=1,NARG CALL GETARG(J,CARG(J)) 104 CONTINUE IF(NARG.EQ.0) THEN PRINT*,'USAGE -- decode_bufr_image infile' STOP END IF C DO 101 II=1,NARG CF=CARG(II) ILN=INDEX(CF,' ')-1 C C* 1.2 OPEN FILE CONTAINING BUFR DATA. C ------------------------------- 120 CONTINUE C IRET=0 CALL PBOPEN(IUNIT,CF(1:ILN),'R',IRET) IF(IRET.EQ.-1) STOP 'OPEN FAILED' IF(IRET.EQ.-2) STOP 'INVALID FILE NAME' IF(IRET.EQ.-3) STOP 'INVALID OPEN MODE SPECIFIED' C COUT1=CF(1:ILN-5)//'.img' ILN1=INDEX(COUT1,' ')-1 CALL PBOPEN(IUNIT1,COUT1(1:ILN1),'W',IRET) IF(IRET.EQ.-1) STOP 'OPEN FAILED ON *.img file' IF(IRET.EQ.-2) STOP 'INVALID FILE NAME' IF(IRET.EQ.-3) STOP 'INVALID OPEN MODE SPECIFIED' C COUT2=CF(1:ILN-5)//'.img_header' ILN2=INDEX(COUT2,' ')-1 IUNIT2=40 OPEN(UNIT=IUNIT2,FILE=COUT2(1:ILN2),STATUS='UNKNOWN',IOSTAT=ios) IF(IOS.NE.0) THEN PRINT*,'Open error on ',COUT2(1:ILN2) STOP END IF C COUT3=CF(1:ILN-5)//'.section_1' ILN3=INDEX(COUT3,' ')-1 IUNIT3=41 OPEN(UNIT=IUNIT3,FILE=COUT3(1:ILN3),STATUS='UNKNOWN',IOSTAT=ios) IF(IOS.NE.0) THEN PRINT*,'Open error on ',COUT3(1:ILN3) STOP END IF C C ----------------------------------------------------------------- C C* 3. READ BUFR MESSAGE. C ------------------ 300 CONTINUE C IERR=0 KBUFL=0 C CALL PBBUFR(IUNIT,KBUFF,JBUFL,KBUFL,IERR) IF(IERR.EQ.-1) THEN PRINT*,'NUMBER OF SUBSETS ',IOBS PRINT*,'NUMBER OF MESSAGES ',N STOP 'EOF' END IF IF(IERR.EQ.-2) STOP 'FILE HANDLING PROBLEM' IF(IERR.EQ.-3) STOP 'ARRAY TOO SMALL FOR PRODUCT' C N=N+1 PRINT*,'----------------------------------',N,' ',KBUFL KBUFL=KBUFL/NBYTPW+1 C C ----------------------------------------------------------------- C* 4. EXPAND BUFR MESSAGE. C -------------------- 400 CONTINUE C CALL BUS0123( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KSEC3,IERR) IF(IERR.NE.0) THEN PRINT*,'ERROR IN BUS012: ',IERR PRINT*,' BUFR MESSAGE NUMBER ',N,' CORRUPTED.' IERR=0 GO TO 300 END IF C KEL=KVALS/KSEC3(3) IF(KEL.GT.KELEM) KEL=KELEM C CALL BUFREX(KBUFL,KBUFF,KSUP,KSEC0 ,KSEC1,KSEC2 ,KSEC3 ,KSEC4, 1 KEL,CNAMES,CUNITS,KVALS,VALUES,CVALS,IERR) C IF(IERR.NE.0) THEN CALL EXIT(2) END IF C IOBS=IOBS+KSEC3(3) C C ISUBSET=1 CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) C IF(IERR.NE.0) CALL EXIT(2) C C Get full image as array of pixel values CALL BUGET_OPERA_IMAGE(KSEC1,KTDEXL,KTDEXP,CNAMES,CUNITS, 1 KELEM,KVALS,VALUES,CVALS,KTDEXL_IMG,KTDEXP_IMG, 2 CNAMES_IMG,CUNITS_IMG,KVALS_IMG,VALUES_IMG, 3 CVALS_IMG,KSIZE_IMG_BYTES,IMAGE,KPIXEL_SIZE,KERR) c c C C Write image meta data into file C ------------------------------- DO I=1,KTDEXL_IMG WRITE(IUNIT2,'(I6,1X,A64,1x,F20.8,1x,a24)') I,CNAMES_IMG(I), c VALUES_IMG(I),CUNITS_IMG(I) END DO C C Write bufr section 1 into file C ------------------------------ CALL BBUPRS1(IUNIT3,KSEC1) IMX=KSIZE_IMG_BYTES C C Write image ( pixel values ) into file C ----------------------------------------------------------------- CALL PBWRITE(IUNIT1,IMAGE,IMX,IERR) C C GO TO 900 C ----------------------------------------------------------------- C 810 CONTINUE C WRITE(*,'(1H ,A)') 'OPEN ERROR ON INPUT FILE' GO TO 900 C 800 CONTINUE C IF(IRET.EQ.-1) THEN PRINT*,'NUMBER OF RECORDS PROCESSED ',N PRINT*,'NUMBER OF OBSERVATIONS ',IOBS ELSE PRINT*,' BUFR : ERROR= ',IERR END IF C 900 CONTINUE C CALL PBCLOSE(IUNIT,IRET) CALL PBCLOSE(IUNIT1,IRET) CLOSE(IUNIT2) CLOSE(IUNIT3) 101 CONTINUE C END emoslib-000392+dfsg.1/examples/bufr/tdexp.F0000755000175000017500000000762512127406245021502 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM TDEXP C C**** *TDEXP* C C C PURPOSE. C -------- C Expands list of Bufr data descriptors. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C CALL BUSEL C CALL BUFREX C CALL BUFREN C CALL BUPRS0 C CALL BUPRS1 C CALL BUPRS2 C CALL BUPRS3 C CALL BUPRT C CALL BUUKEY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* June 2005. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSEC1=40,JSEC3=4) PARAMETER (KDLEN=200,KELEM=40000,KVALS=360000) C DIMENSION KSEC1(JSEC1) ! ,KSEC3(JSEC3) C DIMENSION KTDLST(KELEM),KTDEXP(KELEM) DIMENSION KDATA(KDLEN) C CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) C C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C RVIND=1.7E38 C C INITIALIZE DELAYED REPLICATION FACTORS OR REFERENCE VALUES ETD. C C KDATA(1)=127 KDATA(2)=5 KDATA(3)=5 KDATA(4)=5 KDATA(5)=5 C C SET DATA DECSRIPTORS C KTDLST( 1)=301090 KTDLST( 2)=301091 KTDLST( 3)=302001 KTDLST( 4)=007004 KTDLST( 5)=010009 KTDLST( 6)=302072 KTDLST( 7)=101005 KTDLST( 8)=307063 KTDLST( 9)=302069 KTDLST( 10)=007032 KTDLST( 11)=007033 KTDLST( 12)=020031 KTDLST( 13)=020032 KTDLST( 14)=002038 KTDLST( 15)=022043 KTDLST( 16)=302021 KTDLST( 17)=302078 KTDLST( 18)=302073 KTDLST( 19)=302074 KTDLST( 20)=302075 KTDLST( 21)=004025 KTDLST( 22)=302076 KTDLST( 23)=302071 KTDLST( 24)=004025 KTDLST( 25)=013059 KTDLST( 26)=302083 KTDLST( 27)=033005 KTDLST( 28)=033006 KTDLST( 29)=223000 KTDLST( 30)=236000 KTDLST( 31)=101000 KTDLST( 32)=031001 KTDLST( 33)=031031 KTDLST( 34)=001031 KTDLST( 35)=001032 KTDLST( 36)=008083 KTDLST( 37)=101000 KTDLST( 38)=031001 KTDLST( 39)=223255 KTDLST( 40)=223000 KTDLST( 41)=237000 KTDLST( 42)=001031 KTDLST( 43)=001032 KTDLST( 44)=008083 KTDLST( 45)=101000 KTDLST( 46)=031001 KTDLST( 47)=223255 KTDLST( 48)=223000 KTDLST( 49)=237000 KTDLST( 50)=001031 KTDLST( 51)=001032 KTDLST( 52)=008083 KTDLST( 53)=101000 KTDLST( 54)=031001 KTDLST( 55)=223255 KTDLST( 56)=223000 KTDLST( 57)=237000 KTDLST( 58)=001031 KTDLST( 59)=001032 KTDLST( 60)=008083 KTDLST( 61)=101000 KTDLST( 62)=031001 KTDLST( 63)=223255 ktdlen=63 C C SET DATA DECSRIPTORS C C SECTION 1 CONTENT C KSEC1(2)=4 ! BUFR EDITION NUMBER KSEC1(14)=0 ! BUFR MASTER TABLE USED ksec1(16)=0 ! ORIGINATING SUB-CENTRE KSEC1(3)=98 ! ORIGINATING CENTRE KSEC1(8)=1 ! VERSION NUMBER OF LOCAL TABLE USED KSEC1(15)=12 ! VERSION NUMBER OF MASTER TABLE USED C C SECTION 3 CONTENT C C c K=1 CALL BUXDES(K,KSEC1,KTDLEN,KTDLST,KDLEN,KDATA,KELEM, 1 KTDEXL,KTDEXP,CNAMES,CUNITS,KERR) C END emoslib-000392+dfsg.1/examples/bufr/crex2bufr.F0000755000175000017500000003044412127406245022253 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM CREX2BUFR C C**** *CREX2BUFR* C C C PURPOSE. C -------- C Decode CREX coded data into BUFR format C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4= 2,JELEM=320000,JSUBS=400,JCVAL=150 ,JBUFL=40000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #else 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #endif 3 JWORK=4096000,JKEY=46,JBYTE=80000) C PARAMETER (KELEM=40000) PARAMETER (KVALS=360000) C DIMENSION KBUFF(JBUFL),KBUFR(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) DIMENSION KEY (JKEY),KREQ(2) C REAL*8 VALUES(KVALS), VALUE(KVALS) REAL*8 RVIND REAL*8 EPS C DIMENSION KTDLST(KELEM),KTDEXP(KELEM),KTDLST1(KELEM) DIMENSION KDATA(2000) C CHARACTER*256 CF,COUT,CARG(4) CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER*80 CVAL(KVALS),CV CHARACTER*80 YENC CHARACTER*160000 YBUFF c EQUIVALENCE(YBUFF,KBUFF(1)) C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C NBYTPW=JBPW/8 RVIND=1.7D38 NVIND=2147483647 IOBS=0 EPS=10.D-8 N=0 OCOMP=.FALSE. OO=.FALSE. CF=' ' COUT=' ' KKK=0 C C GET INPUT AND OUTPUT FILE NAME. C NARG=IARGC() c IF(NARG.NE.4) THEN print*,'Usage -- crex2bufr -i infile -o outfile' STOP END IF c DO 101 J=1,NARG CALL GETARG(J,CARG(J)) 101 CONTINUE c IF(CARG(1).NE.'-i'.AND.CARG(1).NE.'-I'.OR. 1 CARG(2).EQ.' ') THEN print*,'Usage -- crex2bufr -i inpfile -o outfile' STOP END IF IF(CARG(3).NE.'-o'.AND.CARG(3).NE.'-O'.OR. 1 CARG(4).EQ.' ') THEN print*,'Usage -- crex2bufr -i inpfile -o outfile' STOP END IF c CF=CARG(2) II=INDEX(CF,' ') II=II-1 COUT=CARG(4) I=INDEX(COUT,' ') I=I-1 C C* 1.2 OPEN FILE CONTAINING CREX DATA. C ------------------------------- 120 CONTINUE C IRET=0 CALL PBOPEN(IUNIT,CF(1:II),'r',IRET) IF(IRET.EQ.-1) STOP 'open failed on input file' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' c C C* 1.2.1 OPEN OUTPUT FILE. C ------------------ 121 CONTINUE C CALL PBOPEN(IUNIT1,COUT(1:I),'w',IRET) IF(IRET.EQ.-1) STOP 'open failed on output file' IF(IRET.EQ.-2) STOP 'Invalid output file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' C C ----------------------------------------------------------------- C* 2. SET REQUEST FOR EXPANSION. C -------------------------- 200 CONTINUE C NR=1 OPRT=.TRUE. OENC=.FALSE. C OENC=.TRUE. 210 CONTINUE C C C ----------------------------------------------------------------- C* 3. READ CREX MESSAGE. C ------------------ 300 CONTINUE C IERR=0 IRET=0 c CALL PBCREX(IUNIT,KBUFF,JBUFL,KBUFL,IRET) IF(IRET.LT.0) THEN if(iret.eq.-1) stop 'End of file ' if(iret.eq.-2) stop 'Error in handling the file' if(iret.eq.-3) stop 'Error during read CREX file.' END IF c N=N+1 print*,'----------------------------------',n IF(N.LT.NR) GO TO 300 KEL=KELEM C C ----------------------------------------------------------------- C* 4. EXPAND CREX MESSAGE. C -------------------- 400 CONTINUE C IERR=0 CALL CREXEX(KBUFL,YBUFF,KSUP,KSEC0 ,KSEC1,KSEC3 , 1 KEL,CNAMES,CUNITS,KVALS,VALUES,CVALS,IERR) C IF(IERR.NE.0) then print*,'CREX error ', ierr IF(IERR.EQ.20.or.IERR.EQ.14) THEN KEL=KVALS/KSUP(6) GO TO 400 ELSE CALL EXIT(2) END IF END IF C IOBS=IOBS+KSEC3(3) C ISUBSET=1 CALL CREXSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP, 1 CNAMES,CUNITS,KERR) IF(KERR.NE.0) then print*,'CREXSEL: error.' CALL EXIT(2) END IF C C* 4.1 PRINT CONTENT OF EXPANDED DATA. C ------------------------------- 410 CONTINUE C IF(.NOT.OPRT) GO TO 500 C C* 4.2 PRINT SECTION ZERO OF CREX MESSAGE. C ----------------------------------- 420 CONTINUE C CALL CREXPRS0(KSEC0) C C* 4.3 PRINT SECTION ONE OF CREX MESSAGE. C ----------------------------------- 430 CONTINUE C CALL CREXPRS1(KSEC1,KSEC3,KTDLEN,KTDLST,KTDEXL, 1 KTDEXP,KEL,CNAMES) C C C C* 4.6 PRINT SECTION 4 (DATA). C ----------------------- 460 CONTINUE C C IN THE CASE OF MANY SUBSETS DEFINE RANGE OF SUBSETS C IF(.NOT.OO) THEN WRITE(*,'(a,$)') ' STARTING SUBSET TO BE PRINTED : ' READ(*,'(BN,I6)') IST WRITE(*,'(a,$)') ' ENDING SUBSET TO BE PRINTED : ' READ(*,'(BN,I6)') IEND OO=.false. END IF C C PRINT DATA C ICODE=0 CALL CREXPRT(ICODE,IST,KSEC3(3),KEL,CNAMES,CUNITS,CVALS, 1 KVALS,VALUES,KSUP,KSEC1,IERR) C C C ----------------------------------------------------------------- C* 5. COLLECT DATA FOR REPACKING. C --------------------------- 500 CONTINUE C IF(.NOT.OENC) GO TO 300 C C FIRST GET DATA DESCRIPTORS C KK=0 IST=1 IEND=KSEC3(3) C DO ISUBSET=IST, IEND CALL CREXSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(KERR.NE.0) THEN print*,'CREXSEL: error ',kerr CALL EXIT(2) END IF C JM1KELEM=(ISUBSET-1)*KEL C DO 501 I=1,KTDEXL INV=I+JM1KELEM IN =I+JM1KELEM C IF(CUNITS(I).EQ.'CHARACTER') THEN IPOS =VALUES(INV)/1000. ICH=NINT(VALUES(INV)-IPOS*1000) KKK=KKK+1 VALUE(IN)=KKK*1000+ICH IF(CVALS(IPOS)(1:1).EQ.'/') THEN CV=' ' DO II=1,ICH CV(II:II)=CHAR(255) END DO CVAL(KKK)=CV ELSE CVAL(KKK)=CVALS(IPOS) END IF ELSEIF(CUNITS(I)(1:2).EQ.'C '.AND. 1 KTDEXP(I)/1000.eq.12 ) THEN VALUE(IN)=VALUES(INV)+273.15 ELSEIF(CUNITS(I)(1:2).EQ.'NB'.AND. 1 KTDEXP(I).EQ.015003) THEN VALUE(IN)=VALUES(INV)*0.0001 ELSE VALUE(IN)=VALUES(INV) END IF C IF(KTDEXP(I).EQ.31001.OR.KTDEXP(I).EQ.31002.OR. 1 KTDEXP(I).EQ.31000) THEN KK=KK+1 KDATA(KK)=NINT(VALUES(INV)) END IF 501 CONTINUE C END DO C KDLEN=2 IF(KK.NE.0) KDLEN=KK C ----------------------------------------------------------------- C* 6. PACK BUFR MESSAGE. C ----------------- 600 CONTINUE C KKK=0 C IF(KSEC0(3).LE.1) THEN KSEC0(3)=3 ! Edition 3 of bufr message C KSEC1(1)=18 KSEC1(2)=3 ! Bufr edition number KSEC1(3)=KSEC1(3) KSEC1(4)=1 KSEC1(5)=0 ! presence od section 2 KSEC1(7)=0 KSEC1(8)=0 ! Bufr local tables version number KSEC1(9)=0 KSEC1(10)=0 KSEC1(11)=0 KSEC1(12)=0 KSEC1(13)=0 KSEC1(14)=0 KSEC1(15)=0 ! Bufr master table version number c I_004001=0 I_004002=0 I_004003=0 I_004004=0 I_004005=0 c DO I=1,KTDEXL IF(KTDEXP(I).EQ.004001) THEN IF(I_004001.EQ.0) I_004001=I ELSEIF(KTDEXP(I).EQ.004002) THEN IF(I_004002.EQ.0) I_004002=I ELSEIF(KTDEXP(I).EQ.004003) THEN IF(I_004003.EQ.0) I_004003=I ELSEIF(KTDEXP(I).EQ.004004) THEN IF(I_004004.EQ.0) I_004004=I ELSEIF(KTDEXP(I).EQ.004005) THEN IF(I_004005.EQ.0) I_004005=I END IF END DO c KSEC1(9)=NINT(VALUE(I_004001))-1900 IF(NINT(VALUE(I_004001)).GE.2000) THEN KSEC1(9)=NINT(VALUE(I_004001))-2000 END IF KSEC1(10)=NINT(VALUE(I_004002)) KSEC1(11)=NINT(VALUE(I_004003)) KSEC1(12)=NINT(VALUE(I_004004)) KSEC1(13)=NINT(VALUE(I_004005)) c KSEC1(14)=0 KSEC1(15)=13 KSEC1(16)=0 ELSEIF(KSEC0(3).EQ.2) THEN KSEC0(3)=4 ! Edition 4 of bufr message c KSEC1(1)=22 ! The size of section 1 KSEC1(2)=4 KSEC1(3)=KSEC1(3) KSEC1(5)=0 ! presence od section 2 KSEC1(9)=0 KSEC1(10)=0 KSEC1(11)=0 KSEC1(12)=0 KSEC1(13)=0 c I_004001=0 I_004002=0 I_004003=0 I_004004=0 I_004005=0 c DO I=1,KTDEXL IF(KTDEXP(I).EQ.004001) THEN IF(I_004001.EQ.0) I_004001=I ELSEIF(KTDEXP(I).EQ.004002) THEN IF(I_004002.EQ.0) I_004002=I ELSEIF(KTDEXP(I).EQ.004003) THEN IF(I_004003.EQ.0) I_004003=I ELSEIF(KTDEXP(I).EQ.004004) THEN IF(I_004004.EQ.0) I_004004=I ELSEIF(KTDEXP(I).EQ.004005) THEN IF(I_004005.EQ.0) I_004005=I END IF END DO c KSEC1( 9)=NINT(VALUE(I_004001)) KSEC1(10)=NINT(VALUE(I_004002)) KSEC1(11)=NINT(VALUE(I_004003)) KSEC1(12)=NINT(VALUE(I_004004)) KSEC1(13)=NINT(VALUE(I_004005)) c KSEC1(14)=0 ! Bufr master table KSEC1(15)=KSEC1(17) ! Bufr master table version number KSEC1(16)=KSEC1(16) ! Originating sub-centre KSEC1(17)=KSEC1( 7) ! International sub-category KSEC1( 7)=0 KSEC1(18)=0 ! Second c END IF c KSEC3(4)=192 ! No compression c KBUFL=JBUFL C C C* 6.2 ENCODE DATA INTO BUFR MESSAGE. C ------------------------------ 620 CONTINUE C c Modify descriptor list for delayed c replication factor c J=0 DO I=1,KTDLEN IIF=KTDLST(I)/100000 IF(IIF.EQ.1) THEN II=KTDLST(I)/1000 IY=KTDLST(I)-II*1000 IF(IY.EQ.0) THEN J=J+1 KTDLST1(J)=KTDLST(I) J=J+1 KTDLST1(J)=031002 ELSE j=j+1 KTDlst1(j)=KTDlst(i) END IF ELSE J=J+1 KTDLST1(J)=KTDLST(I) END IF END DO c KTDLEN=J c KERR=0 c CALL BUFREN( KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, 1 KTDLEN,KTDLST1,KDLEN,KDATA,KEL, 2 KVALS,VALUE,CVAL,KBUFL,KBUFR,KERR) C IF(KERR.gt.0) THEN print*,'error is ',kerr PRINT*,'ERROR DURING ENCODING.' CALL EXIT(2) END IF C C 6.3 WRITE PACKED BUFR MESSAGE INTO FILE. C ------------------------------------ 630 CONTINUE C ILEN=KBUFL*NBYTPW C IERR=0 CALL PBWRITE(IUNIT1,KBUFR,ILEN,IERR) if(ierr.lt.0) then print*,'Error writing into target file.' CALL EXIT(2) END IF C GO TO 300 C ----------------------------------------------------------------- C END emoslib-000392+dfsg.1/examples/bufr/bufr2crex.F0000755000175000017500000004033312127406245022251 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM BUFR2CREX C C**** *BUFRCREX* C C C PURPOSE. C -------- C Bufr to CREX conversion. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4= 2,JELEM=320000,JSUBS=400,JCVAL=150 ,JBUFL=512000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #else 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #endif 3 JWORK=4096000,JKEY=46,JBYTE=80000) C PARAMETER (KELEM=20000) PARAMETER (KVALS=360000) C DIMENSION KBUFF(JBUFL) DIMENSION KBUFR(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) DIMENSION KEY (JKEY),KREQ(2) C REAL*8 VALUES(KVALS) REAL*8 RQV(KELEM) C DIMENSION KTDLST(KELEM),KTDEXP(KELEM),KRQ(KELEM) DIMENSION KDATA(2000) C CHARACTER*256 COUT,CARG(4),CFIN CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER*80 YENC CHARACTER*160000 YOUT CHARACTER*3 CRCRLF C C Common block containing bufr tables C COMMON /BCOMTAB/ NTABBTR(JTAB),NTABBS (JTAB),NTABBRV(JTAB), 1 NTABBDW(JTAB),NTABDTR(JTAB),NTABDST(JTAB), 2 NTABDL (JTAB),NTABDSQ(JTAB*20),NTABP(64,255) C C NTABBTR - table B, table reference array C NTABBS - table B, scale array C NTABBRF - table B, reference value array C NTABBDW - table B, data width array C NTABDTR - table D, table reference array C NTABDST - table D, starting pointers array C NTABDL - table D, lengths array C NTABDSQ - table D, list of sequence descriptors array C COMMON /BCOMWT/ NDWINC,NSCAM,NAFDW,NWT ,ODREPF, 1 N221,MREL,NFCM,NFUCM,MBMP,OMARKER,M0, 2 MBMPL,NSTACK(JELEM),NWTEN(JELEM), 3 NWTR (JELEM),NWTS (JELEM),NWTRV (JELEM), 4 NWTDW(JELEM) C C NDWINC - data width increment C NSCAM - scale multiplier C NAFDW - augmented field data width C NWT - pointer to working table C NSTACK - list of data descriptors C ODREPF - replication (logical) C N221 - data not present for n221 elements C MREL - pointer to the last data element C NFCM - first compressed message C MBMP - pointer to the begining of bit map C NWTR - working table reference C NWTS - working scale C NWTRV - working reference value C NWTDW - working data width C COMMON /BCOMWTC/ CWTEN(JELEM),CWTU (JELEM) C C CWTEN - working table element naame C CWTU - working table units C c PARAMETER(JP=3000) C CHARACTER*120 YENTRY CHARACTER*15 YFNAME CHARACTER*15 FMT CHARACTER*6 CREXKTDLST(KELEM),CREXKTDLST0 C INTEGER IVALUE(KELEM) C C Logical switch to use check digit indicator C CHARACTER*4 YUSE_E C INTEGER IVAL,IIVAL c REAL*8 EPS REAL*8 RVIND REAL*8 VAL C EQUIVALENCE (YOUT,KBUFR(1)) C C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C NBYTPW=JBPW/8 RVIND=1.7E38 NVIND=2147483647 IOBS=0 EPS=1.0E-8 NPACK=0 N=0 OO=.FALSE. C CRCRLF=CHAR(13)//CHAR(13)//CHAR(10) C C Get input and output file name. C NARG=IARGC() c IF(NARG.LT.4) THEN print*,'Usage -- bufr2crex -i infile -o outfile' STOP END IF c COUT=' ' CFIN=' ' c DO 101 J=1,NARG CALL GETARG(J,CARG(J)) 101 CONTINUE c DO 102 J=1,NARG,2 IF(CARG(J).EQ.'-i') THEN CFIN=CARG(J+1) ELSEIF(CARG(J).EQ.'-o') THEN COUT=CARG(J+1) ELSE print*,'Usage -- bufr2crex -i infile -o outfile' STOP END IF 102 CONTINUE C II=INDEX(CFIN,' ') II=II-1 JJ=INDEX(COUT,' ') JJ=JJ-1 C KRQL=0 NR=0 KREQ(1)=0 KREQ(2)=0 C C C* 1.2 OPEN FILE CONTAINING BUFR DATA. C ------------------------------- 120 CONTINUE C IRET=0 CALL PBOPEN(IUNIT,CFIN(1:ii),'r',IRET) IF(IRET.EQ.-1) STOP 'open failed' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' C CALL PBOPEN(IUNIT1,cout(1:jj),'w',IRET) IF(IRET.EQ.-1) STOP 'open failed on bufr.dat' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' C C ----------------------------------------------------------------- C* 2. SET REQUEST FOR EXPANSION. C -------------------------- 200 CONTINUE C KREQ(1)=1 KREQ(2)=0 C OSEC3=.FALSE. OPRT=.FALSE. OENC=.TRUE. ICODE=0 OCOMP=.FALSE. C C* 2.1 SET REQUEST FOR PARTIAL EXPANSION. C ---------------------------------- 210 CONTINUE C KERR=0 CALL BUSRQ(KREQ,KRQL,KRQ,RQV,KERR) C C ----------------------------------------------------------------- C* 3. READ BUFR MESSAGE. C ------------------ 300 CONTINUE C IERR=0 KBUFL=0 C IRET=0 CALL PBBUFR(IUNIT,KBUFF,JBYTE,KBUFL,IRET) IF(IRET.EQ.-1) THEN c IF(N.NE.0) GO TO 600 print*,'Number of subsets ',iobs print*,'Number of messages ',n STOP 'EOF' END IF IF(IRET.EQ.-2) STOP 'File handling problem' IF(IRET.EQ.-3) STOP 'Array too small for product' C N=N+1 KBUFL=KBUFL/nbytpw+1 IF(N.LT.NR) GO TO 300 print*,'----------------------',n C C ----------------------------------------------------------------- C* 4. EXPAND BUFR MESSAGE. C -------------------- 400 CONTINUE C CALL BUS012(KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KERR) IF(KERR.NE.0) THEN PRINT*,'Error in BUS012: ',KERR PRINT*,' BUFR MESSAGE NUMBER ',N,' CORRUPTED.' KERR=0 GO TO 300 END IF C KEL=KELEM IF(KSUP(6).GT.1) THEN KEL=KVALS/KSUP(6) IF(KEL.GT.KELEM) KEL=KELEM END IF C CALL BUFREX(KBUFL,KBUFF,KSUP,KSEC0 ,KSEC1,KSEC2 ,KSEC3 ,KSEC4, 1 KEL,CNAMES,CUNITS,KVALS,VALUES,CVALS,IERR) C IF(IERR.NE.0) THEN IF(IERR.EQ.45) GO TO 300 IF(IERR.EQ.2) THEN IERR=0 GO TO 300 END IF CALL EXIT(2) END IF c IOBS=IOBS+KSEC3(3) c NPACK=NPACK+1 C ISUBSET=1 CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(KERR.NE.0) CALL EXIT(2) C C* 4.1 PRINT CONTENT OF EXPANDED DATA. C ------------------------------- 410 CONTINUE C IF(.NOT.OPRT) GO TO 500 IF(.NOT.OSEC3) GO TO 450 C C* 4.2 PRINT SECTION ZERO OF BUFR MESSAGE. C ----------------------------------- 420 CONTINUE C CALL BUPRS0(KSEC0) C C* 4.3 PRINT SECTION ONE OF BUFR MESSAGE. C ----------------------------------- 430 CONTINUE C CALL BUPRS1(KSEC1) C C C* 4.4 PRINT SECTION TWO OF BUFR MESSAGE. C ----------------------------------- 440 CONTINUE c C AT ECMWF SECTION 2 CONTAINS RDB KEY. C SO UNPACK KEY C CALL BUUKEY(KSEC1,KSEC2,KEY,KSUP,KERR) C C PRINT KEY C CALL BUPRS2(KSUP ,KEY) C C* 4.5 PRINT SECTION 3 OF BUFR MESSAGE. C ----------------------------------- 450 CONTINUE C C FIRST GET DATA DESCRIPTORS C ISUBSET=1 CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(KERR.NE.0) CALL EXIT(2) C C PRINT CONTENT C IF(OSEC3) THEN CALL BUPRS3(KSEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP,KEL,CNAMES) END IF c C C* 4.6 PRINT SECTION 4 (DATA). C ----------------------- 460 CONTINUE C C IN THE CASE OF MANY SUBSETS DEFINE RANGE OF SUBSETS C IF(.NOT.OO) THEN WRITE(*,'(a,$)') ' STARTING SUBSET TO BE PRINTED : ' READ(*,'(BN,I6)') IST WRITE(*,'(a,$)') ' ENDING SUBSET TO BE PRINTED : ' READ(*,'(BN,I6)') IEND OO=.FALSE. END IF C C PRINT DATA C ICODE=0 CALL BUPRT(ICODE,IST,IEND,KEL,CNAMES,CUNITS,CVALS, 1 KVALS,VALUES,KSUP,KSEC1,IERR) C C C ----------------------------------------------------------------- C* 5. COLLECT DATA FOR REPACKING. C --------------------------- 500 CONTINUE C C FIRST GET DATA DESCRIPTORS C ISUBSET=1 CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(KERR.NE.0) CALL EXIT(2) C C ----------------------------------------------------------------- C* 6. PACK CREX MESSAGE. C ------------------ 600 CONTINUE C C Modify BUFR operators C J=0 DO 602 I=1,KTDLEN IF(KTDLST(I).EQ.222000) GO TO 603 IF(KTDLST(I).EQ.201000) GO TO 602 IF(KTDLST(I).EQ.202000) GO TO 602 IF(KTDLST(I).EQ.204000) GO TO 602 IF(KTDLST(I).EQ.031000) GO TO 602 IF(KTDLST(I).EQ.031001) GO TO 602 IF(KTDLST(I).EQ.031002) GO TO 602 C CREXKTDLST0=' ' WRITE(CREXKTDLST0,'(I6.6)',IOSTAT=IOS) KTDLST(I) IF(IOS.NE.0) THEN print*,'Internal write error.' CALL EXIT(2) END IF J=J+1 CREXKTDLST(J)(1:6)=CREXKTDLST0 C IF(CREXKTDLST(J)(1:1).EQ.'3') THEN CREXKTDLST(J)(1:1)='D' ELSEIF(CREXKTDLST(J)(1:1).EQ.'0') THEN CREXKTDLST(J)(1:1)='B' ELSEIF(CREXKTDLST(J)(1:1).EQ.'1') THEN CREXKTDLST(J)(1:1)='R' c scan for any 201000,202000 or 201y,202y followed by 206y READ(CREXKTDLST(J)(2:3),'(I2.2)',IOSTAT=IOS) IELEMENTS IF(IOS.NE.0) THEN print*,'Internal read error.' CALL EXIT(2) END IF IEL=IELEMENTS DO IN=I,I+IELEMENTS-1 IF(KTDLST(IN).EQ.201000) IEL=IEL-1 IF(KTDLST(IN).EQ.202000) IEL=IEL-1 IF(KTDLST(IN).GE.201001.AND.KTDLST(IN).LE.201999.AND. 1 KTDLST(IN+1)/1000.EQ.206) IEL=IEL-1 IF(KTDLST(IN).GE.202001.AND.KTDLST(IN).LE.202999.AND. 1 KTDLST(IN+1)/1000.EQ.206) IEL=IEL-1 END DO WRITE(CREXKTDLST(J)(2:3),'(I2.2)',IOSTAT=IOS) IEl IF(IOS.NE.0) THEN print*,'Internal write error.' CALL EXIT(2) END IF ELSEIF(CREXKTDLST(J)(1:3).EQ.'201') THEN IF(KTDLST(I+1)/1000.EQ.206) THEN J=J-1 GO TO 602 END IF READ(CREXKTDLST(J)(4:6),'(I3.3)',IOSTAT=IOS) IY IF(IOS.NE.0) THEN print*,'Internal read error.' CALL EXIT(2) END IF IBITS=IY-128 ICLASS=KTDLST(I+1)/1000 IYYY =KTDLST(I+1)-ICLASS*1000+1 ICLASS=ICLASS+1 III=NTABP(ICLASS,IYYY) IDW=NTABBDW(III)+IBITS IRES=2.**IDW-1 JZ=0 DO WHILE(IRES.GT.0) JZ=JZ+1 IRES=IRES/10 END DO CREXKTDLST(J)(1:3)='C01' WRITE(CREXKTDLST(J)(4:6),'(I3.3)',IOSTAT=IOS) JZ IF(IOS.NE.0) THEN print*,'Internal write error.' CALL EXIT(2) END IF ELSEIF(CREXKTDLST(J)(1:3).EQ.'202') THEN GO TO 602 ELSEIF(CREXKTDLST(J)(1:3).EQ.'205') THEN CREXKTDLST(J)(1:3)='C05' ELSE print*,'Wrong data descriptor ',crexktdlst(j) print*,'Data containing above descriptor can', 1 ' not be converted' go to 300 END IF 602 CONTINUE c 603 CONTINUE C ICREXLEN=J c C Find delayed replications c KDLEN=0 C IST=1 IEND=1 OMULTI=.FALSE. IF(IAND(KSEC3(4),64).NE.0.AND.KSEC3(3).GT.1) THEN IEND=KSEC3(3) OMULTI=.TRUE. END IF C DO ISUBSET=IST, IEND JJ=(ISUBSET-1)*KEL C CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) C DO I=1,KTDEXL C II=I+JJ C IF(KTDEXP(I).EQ.031001.OR. 1 KTDEXP(I).EQ.031000.OR. 2 KTDEXP(I).EQ.031002) THEN KDLEN=KDLEN+1 KDATA(KDLEN)=NINT(VALUES(II)) END IF END DO C C* Make unit conversion from K to Celsius C DO I=1,KTDEXL IF(CUNITS(I)(1:2).EQ.'K '.AND. 1 KTDEXP(I)/1000.EQ.12) THEN IF(KTDEXP(I).NE.012064.AND. 1 KTDEXP(I).NE.012065.AND. 2 KTDEXP(I).NE.012070.AND. 2 KTDEXP(I).NE.012071.AND. 4 KTDEXP(I).NE.012164.AND. 5 KTDEXP(I).NE.012151.AND. 6 KTDEXP(I).NE.012051.AND. 7 KTDEXP(I).NE.022050.AND. 8 KTDEXP(I).NE.012171) THEN IF(OMULTI) THEN IJ=I+JJ IF(abs(VALUES(IJ)-rvind)/rvind.GT.eps) 1 VALUES(IJ)=VALUES(IJ)-273.15 ELSE DO J=1,KSEC3(3) IJ=I+(J-1)*KEL IF(abs(VALUES(IJ)-rvind)/rvind.GT.eps) 1 VALUES(IJ)=VALUES(IJ)-273.15 END DO END IF END IF END IF IF(CUNITS(I)(1:2).EQ.'PA'.AND. 1 KTDEXP(I).EQ.015003) THEN IF(OMULTI) THEN IJ=I+JJ IF(abs(VALUES(IJ)-rvind)/rvind.GT.eps) 1 VALUES(IJ)=VALUES(IJ)*10000. ELSE DO J=1,KSEC3(3) IJ=I+(J-1)*KEL IF(abs(VALUES(IJ)-rvind)/rvind.GT.eps) 1 VALUES(IJ)=VALUES(IJ)*10000. END DO END IF END IF END DO C END DO C C* 6.2 ENCODE DATA INTO CREX MESSAGE. C ------------------------------ 620 CONTINUE C IF(KSEC1(2).EQ.4) THEN ! Bufr edition number KSEC1(2)=2 ! Crex edition number KSEC1(5)=KSEC3(3) ! Number of subsets KSEC1( 7)=KSEC1(17) ! International sub category KSEC1(17)=KSEC1(15) ! Bufr master table version number KSEC1(15)=3 ! Crex version number used KSEC1(18)=KSEC1(8) ! Bufr version number of local tables ELSE KSEC1(17)=KSEC1(15) ! Bufr master table version number KSEC1(2)=1 ! Crex edition number KSEC1(15)=3 ! Crex version number used KSEC1(18)=KSEC1(8) ! Bufr version number of local tables END IF c CALL CREXEN(KSEC0,KSEC1,KSEC3, 1 ICREXLEN,CREXKTDLST,KDLEN,KDATA,KEL,KVALS, 2 VALUES,CVALS,KBUFL,KBUFR,KERR) IF(KERR.GT.0) THEN print*,'CREXEN error:',KERR go to 300 END IF C C 6.3 WRITE CREX MESSAGE INTO FILE. C ----------------------------- 630 CONTINUE C ILEN=KBUFL C IERR=0 CALL PBWRITE(IUNIT1,KBUFR,ILEN,IERR) IF(IERR.LT.0) THEN print*,'Error writing into target file.' CALL EXIT(2) END IF C GO TO 300 C END emoslib-000392+dfsg.1/examples/bufr/Makefile0000755000175000017500000000211712127406245021676 0ustar amckinstryamckinstry# # Makefile for example programs # PLACE = ../../ LIB = emos # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # include ../../config/fortran2c$(CNAME) # TARGDIR = ./ # # TARGETS = all clean EXECS = decode_bufr decode_bufr_image bufr_decode tdexp create_bufr bufr2crex crex2bufr # # all :$(EXECS) decode_bufr: decode_bufr.o $(FC) $(FFLAGS) -o $@ decode_bufr.o -L$(PLACE) -l$(LIB)$(R64) decode_bufr_image: decode_bufr_image.o $(FC) $(FFLAGS) -o $@ decode_bufr_image.o -L$(PLACE) -l$(LIB)$(R64) bufr_decode: bufr_decode.o $(CC) $(CFLAGS) -o $@ bufr_decode.o -L$(PLACE) -l$(LIB)$(R64) $(FORTRAN2C) bufr2crex : bufr2crex.o $(FC) $(FFLAGS) -o $@ bufr2crex.o -L$(PLACE) -l$(LIB)$(R64) crex2bufr : crex2bufr.o $(FC) $(FFLAGS) -o $@ crex2bufr.o -L$(PLACE) -l$(LIB)$(R64) create_bufr: create_bufr.o $(FC) $(FFLAGS) -o $@ create_bufr.o -L$(PLACE) -l$(LIB)$(R64) tdexp: tdexp.o $(FC) $(FFLAGS) -o $@ tdexp.o -L$(PLACE) -l$(LIB)$(R64) clean : @for name in $(EXECS); do\ (rm -f $$name *.o ); \ done emoslib-000392+dfsg.1/examples/crex/0000755000175000017500000000000012127406245020235 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/examples/crex/test.sh0000755000175000017500000000021412127406245021550 0ustar amckinstryamckinstry#!/bin/sh cd ../../ path=`pwd` CREX_TABLES=$path/crextables/ export CREX_TABLES cd examples/crex ./decode_crex -i ../../data/temp.crex emoslib-000392+dfsg.1/examples/crex/crextdexp.F0000755000175000017500000000721312127406245022360 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM CREXEXP C C**** *CREXEXP* C C C PURPOSE. C -------- C Expands list of CREX data descriptors. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSEC1=40,JSEC3=4) PARAMETER (KDLEN=200,KELEM=4000) C DIMENSION KSEC1(JSEC1) C DIMENSION KDATA(KDLEN) C CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*6 CREXKTDLST(KELEM) CHARACTER*6 CREXKTDEXP(KELEM) C REAL*8 RVIND C C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C RVIND=1.7E38 C C INITIALIZE DELAYED REPLICATION FACTORS C DO I=1,KDLEN KDATA(I)=1 END DO C C SET DATA DECSRIPTORS C N=1 CREXKTDLST( N)="D01090" N=N+1 CREXKTDLST( N)="D02031" N=N+1 CREXKTDLST( N)="D02032" N=N+1 CREXKTDLST( N)="D02033" N=N+1 CREXKTDLST( N)="D02004" N=N+1 CREXKTDLST( N)="R01000" N=N+1 CREXKTDLST( N)="D02005" N=N+1 CREXKTDLST( N)="D02038" N=N+1 CREXKTDLST( N)="D02044" N=N+1 CREXKTDLST( N)="R01002" N=N+1 CREXKTDLST( N)="D02039" N=N+1 CREXKTDLST( N)="R02002" N=N+1 CREXKTDLST( N)="B04024" N=N+1 CREXKTDLST( N)="B13011" N=N+1 CREXKTDLST( N)="B07032" N=N+1 CREXKTDLST( N)="B04024" N=N+1 CREXKTDLST( N)="B12111" N=N+1 CREXKTDLST( N)="B04024" N=N+1 CREXKTDLST( N)="B12112" N=N+1 CREXKTDLST( N)="B07032" N=N+1 CREXKTDLST( N)="B02002" N=N+1 CREXKTDLST( N)="B08021" N=N+1 CREXKTDLST( N)="B04025" N=N+1 CREXKTDLST( N)="B11001" N=N+1 CREXKTDLST( N)="B11002" N=N+1 CREXKTDLST( N)="B08021" KTDLEN=N C C SECTION 1 CONTENT C KSEC1(2)=2 ! CREX EDITION NUMBER KSEC1(3)=98 ! Originating Centre ( oooo) KSEC1(4)=0 ! Update sequence number (uu) KSEC1(5)=1 ! Number of subsets ( sss) KSEC1(6)=0 ! CREX data category (nnn) KSEC1(7)=1 ! International data sub-category (mmm) KSEC1(8)=1 ! Version number of local table used KSEC1(9)=2004 ! Year KSEC1(10)=11 ! Month KSEC1(11)=29 ! Daay KSEC1(12)=12 ! Hour KSEC1(13)=00 ! Minute KSEC1(14)=0 ! CREX Master table (tt) KSEC1(15)=3 ! Version number of Master table used (vv) KSEC1(16)=0 ! Originating sub-centre (ppp) KSEC1(17)=12 ! Bufr master table version number KSEC1(18)=0 ! Bufr version number of local table used C C SECTION 3 CONTENT C K=1 CALL CREXDES(K,KSEC1,KTDLEN,CREXKTDLST,KDLEN,KDATA,KELEM, 1 KTDEXL,CREXKTDEXP,CNAMES,CUNITS,KERR) C END emoslib-000392+dfsg.1/examples/crex/create_crex.F0000755000175000017500000001567512127406245022651 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM CREX C C**** *CREX* C C C PURPOSE. C -------- C Example of creating CREX message C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC3= 4, 1 JBUFL= 8192) C PARAMETER (KDLEN=200,KELEM=2000) PARAMETER (KVALS=80000) C DIMENSION KBUFR(JBUFL) DIMENSION KSEC0(JSEC0),KSEC1(JSEC1), KSEC3(JSEC3) C REAL*8 VALUES(KVALS) REAL*8 RVIND C DIMENSION KDATA(KDLEN) C CHARACTER*6 CREXKTDLST(KELEM),CREXKTDEXP(KELEM) CHARACTER*64 CNAMES(kelem) CHARACTER*24 CUNITS(kelem) CHARACTER*80 CVALS(KVALS) CHARACTER*80 YENC CHARACTER*256 COUT, CARG(4) C CHARACTER*15000 YOUT EQUIVALENCE(KBUFR(1),YOUT) C C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C RVIND=1.7D38 NVIND=2147483647 C C GET INPUT AND OUTPUT FILE NAME. C NARG=IARGC() C IF(NARG.LT.2) THEN print*,'Usage -- create_crex -o outfile' STOP END IF C COUT=' ' CFIN=' ' C DO 101 J=1,NARG CALL GETARG(J,CARG(J)) 101 CONTINUE C DO 102 J=1,NARG,2 IF(CARG(J).EQ.'-o') THEN COUT=CARG(J+1) ELSE print*,'Usage -- create_crex -o outfile' STOP END IF 102 CONTINUE C JJ=INDEX(COUT,' ') JJ=JJ-1 C CALL PBOPEN(IUNIT1,COUT(1:JJ),'w',IRET) IF(IRET.EQ.-1) STOP 'open failed on bufr.dat' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' C C INITIALIZE DELAYED REPLICATION FACTORS OR REFERENCE VALUES ETD. C KDATA( 1)=0 KDATA( 2)=0 KDATA( 3)=0 KDATA( 4)=0 C DO I=5,KDLEN KDATA(I)=0 END DO C KDLENG=200 C C SET DATA DECSRIPTORS C CREXKTDLST( 1)= "D07005" c KTDLEN=1 KSEC0(1)=0 KSEC0(2)=0 KSEC0(3)=2 ! Crex edition number C C SECTION 1 CONTENT C KSEC1(1)=0 KSEC1(2)=2 ! CREX Edition number (currently) KSEC1(3)=98 ! Originating centre KSEC1(4)=0 ! Update sequence number KSEC1(5)=1 ! Number of subsets KSEC1(6)=0 ! CREX data category KSEC1(7)=2 ! International data sub-category KSEC1(8)=0 ! version number of local table used KSEC1(9)=2003 ! Year KSEC1(10)=12 ! Month KSEC1(11)=2 ! Day KSEC1(12)=12 ! Hour KSEC1(13)=0 ! Minute KSEC1(14)=0 ! CREX Master table ( 0 for standard WMO crex tables) KSEC1(15)=3 ! CREX table version number KSEC1(16)=0 ! Originating sub-centre KSEC1(17)=14 ! BUFR master table version number KSEC1(18)=0 ! BUFR local table version number C K=1 CALL CREXDES(K,KSEC1,KTDLEN,CREXKTDLST,KDLEN,KDATA,KELEM, 1 KTDEXL,CREXKTDEXP,CNAMES,CUNITS,KERR) IF(KERR.NE.0) THEN print*,'CREXDES: error' STOP END IF C C SET VALUES TO BE PACKED C K=1 KSUBSETS=1 c DO J=1,KSUBSETS IK=(J-1)*KELEM N=1 VALUES(N+IK)=13. ! Block number N=N+1 ! VALUES(N+IK)=274. ! station number N=N+1 ! VALUES(N+IK)=0. ! type of station N=N+1 ! VALUES(N+IK)=2003. ! year N=N+1 ! VALUES(N+IK)=12. ! month N=N+1 ! VALUES(N+IK)=2. ! day N=N+1 ! VALUES(N+IK)=12. ! hour N=N+1 ! VALUES(N+IK)=0. ! minute N=N+1 VALUES(N+IK)=45.2 ! lat N=N+1 ! VALUES(N+IK)=20.5 ! lon N=N+1 ! VALUES(N+IK)=170. ! station height N=N+1 ! VALUES(N+IK)=102000. ! station level pressure N=N+1 VALUES(N+IK)=102500. ! msl pressure N=N+1 ! VALUES(N+IK)=100. ! pressure change N=N+1 ! VALUES(N+IK)=rvind ! characteristic of pressure change N=N+1 ! VALUES(N+IK)=300. ! wind dir N=N+1 ! VALUES(N+IK)=8.5 ! wind speed N=N+1 ! VALUES(N+IK)=-5.0 ! T N=N+1 ! VALUES(N+IK)=-7.0 ! Td N=N+1 ! VALUES(N+IK)=70. ! RH N=N+1 ! VALUES(N+IK)=1000. ! visibility N=N+1 ! VALUES(N+IK)=rvind N=N+1 ! VALUES(N+IK)=rvind N=N+1 ! VALUES(N+IK)=rvind N=N+1 ! VALUES(N+IK)=rvind N=N+1 ! VALUES(N+IK)=rvind c DO I=N,47 N=N+1 ! VALUES(N+IK)=rvind END DO C ! END DO ! C C SET CCITTIA5 CALL SIGN C DO I=1,200 CVALS( I )=' ' END DO C C C SECTION 3 CONTENT C KSEC3(1)=0 ! TOTAL LENGTH OF SECTION 3 KSEC3(2)=0 ! RESERVED KSEC3(3)= ksubsets ! NUMBER OF SUBSETS KSEC3(4)=0 C IREP=0 C C C* 6. PACK CREX MESSAGE C ----------------- 600 CONTINUE C C KERR=0 CALL CREXEN( KSEC0,KSEC1,KSEC3, 1 KTDLEN,crexKTDLST,KDLENG,KDATA,KELEM, 2 KVALS,VALUES,CVALS,KBUFL,KBUFR,KERR) C IF(KERR.GT.0) THEN CALL EXIT(2) ELSEIF(KERR.lt.0) then print*,'Encoding return_code=',kerr END IF C C ILEN=KBUFL C ILEN=KSEC0(2) C IERR=0 CALL PBWRITE(IUNIT1,KBUFR,ILEN,IERR) IF(IERR.LT.0) THEN print*,'Error writing into target file.' CALL EXIT(2) END IF C C Print CREX message on screen print*,yout(1:ilen) C C ----------------------------------------------------------------- C 900 CONTINUE C STOP END emoslib-000392+dfsg.1/examples/crex/Makefile.in0000755000175000017500000000155312127406245022311 0ustar amckinstryamckinstry# # Makefile for example programs # A64 = plat R64 = reals ARCH = arch CNAME = comp # # PLACE = ../../ # # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # TARGDIR = ./ # # TARGETS = all clean EXECS = decode_crex create_crex crextdexp bufr2crex crex2bufr # # all :$(EXECS) decode_crex : decode_crex.o $(FC) $(FFLAGS) -o $@ decode_crex.o -L$(PLACE) -lemos$(R64) create_crex : create_crex.o $(FC) $(FFLAGS) -o $@ create_crex.o -L$(PLACE) -lemos$(R64) crextdexp : crextdexp.o $(FC) $(FFLAGS) -o $@ crextdexp.o -L$(PLACE) -lemos$(R64) bufr2crex : bufr2crex.o $(FC) $(FFLAGS) -o $@ bufr2crex.o -L$(PLACE) -lemos$(R64) crex2bufr : crex2bufr.o $(FC) $(FFLAGS) -o $@ crex2bufr.o -L$(PLACE) -lemos$(R64) clean : @for name in $(EXECS); do\ (rm -f $$name *.o ); \ done emoslib-000392+dfsg.1/examples/crex/crex2bufr.F0000755000175000017500000003044412127406245022256 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM CREX2BUFR C C**** *CREX2BUFR* C C C PURPOSE. C -------- C Decode CREX coded data into BUFR format C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4= 2,JELEM=320000,JSUBS=400,JCVAL=150 ,JBUFL=40000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #else 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #endif 3 JWORK=4096000,JKEY=46,JBYTE=80000) C PARAMETER (KELEM=40000) PARAMETER (KVALS=360000) C DIMENSION KBUFF(JBUFL),KBUFR(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) DIMENSION KEY (JKEY),KREQ(2) C REAL*8 VALUES(KVALS), VALUE(KVALS) REAL*8 RVIND REAL*8 EPS C DIMENSION KTDLST(KELEM),KTDEXP(KELEM),KTDLST1(KELEM) DIMENSION KDATA(2000) C CHARACTER*256 CF,COUT,CARG(4) CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER*80 CVAL(KVALS),CV CHARACTER*80 YENC CHARACTER*160000 YBUFF c EQUIVALENCE(YBUFF,KBUFF(1)) C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C NBYTPW=JBPW/8 RVIND=1.7D38 NVIND=2147483647 IOBS=0 EPS=10.D-8 N=0 OCOMP=.FALSE. OO=.FALSE. CF=' ' COUT=' ' KKK=0 C C GET INPUT AND OUTPUT FILE NAME. C NARG=IARGC() c IF(NARG.NE.4) THEN print*,'Usage -- crex2bufr -i infile -o outfile' STOP END IF c DO 101 J=1,NARG CALL GETARG(J,CARG(J)) 101 CONTINUE c IF(CARG(1).NE.'-i'.AND.CARG(1).NE.'-I'.OR. 1 CARG(2).EQ.' ') THEN print*,'Usage -- crex2bufr -i inpfile -o outfile' STOP END IF IF(CARG(3).NE.'-o'.AND.CARG(3).NE.'-O'.OR. 1 CARG(4).EQ.' ') THEN print*,'Usage -- crex2bufr -i inpfile -o outfile' STOP END IF c CF=CARG(2) II=INDEX(CF,' ') II=II-1 COUT=CARG(4) I=INDEX(COUT,' ') I=I-1 C C* 1.2 OPEN FILE CONTAINING CREX DATA. C ------------------------------- 120 CONTINUE C IRET=0 CALL PBOPEN(IUNIT,CF(1:II),'r',IRET) IF(IRET.EQ.-1) STOP 'open failed on input file' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' c C C* 1.2.1 OPEN OUTPUT FILE. C ------------------ 121 CONTINUE C CALL PBOPEN(IUNIT1,COUT(1:I),'w',IRET) IF(IRET.EQ.-1) STOP 'open failed on output file' IF(IRET.EQ.-2) STOP 'Invalid output file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' C C ----------------------------------------------------------------- C* 2. SET REQUEST FOR EXPANSION. C -------------------------- 200 CONTINUE C NR=1 OPRT=.TRUE. OENC=.FALSE. C OENC=.TRUE. 210 CONTINUE C C C ----------------------------------------------------------------- C* 3. READ CREX MESSAGE. C ------------------ 300 CONTINUE C IERR=0 IRET=0 c CALL PBCREX(IUNIT,KBUFF,JBUFL,KBUFL,IRET) IF(IRET.LT.0) THEN if(iret.eq.-1) stop 'End of file ' if(iret.eq.-2) stop 'Error in handling the file' if(iret.eq.-3) stop 'Error during read CREX file.' END IF c N=N+1 print*,'----------------------------------',n IF(N.LT.NR) GO TO 300 KEL=KELEM C C ----------------------------------------------------------------- C* 4. EXPAND CREX MESSAGE. C -------------------- 400 CONTINUE C IERR=0 CALL CREXEX(KBUFL,YBUFF,KSUP,KSEC0 ,KSEC1,KSEC3 , 1 KEL,CNAMES,CUNITS,KVALS,VALUES,CVALS,IERR) C IF(IERR.NE.0) then print*,'CREX error ', ierr IF(IERR.EQ.20.or.IERR.EQ.14) THEN KEL=KVALS/KSUP(6) GO TO 400 ELSE CALL EXIT(2) END IF END IF C IOBS=IOBS+KSEC3(3) C ISUBSET=1 CALL CREXSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP, 1 CNAMES,CUNITS,KERR) IF(KERR.NE.0) then print*,'CREXSEL: error.' CALL EXIT(2) END IF C C* 4.1 PRINT CONTENT OF EXPANDED DATA. C ------------------------------- 410 CONTINUE C IF(.NOT.OPRT) GO TO 500 C C* 4.2 PRINT SECTION ZERO OF CREX MESSAGE. C ----------------------------------- 420 CONTINUE C CALL CREXPRS0(KSEC0) C C* 4.3 PRINT SECTION ONE OF CREX MESSAGE. C ----------------------------------- 430 CONTINUE C CALL CREXPRS1(KSEC1,KSEC3,KTDLEN,KTDLST,KTDEXL, 1 KTDEXP,KEL,CNAMES) C C C C* 4.6 PRINT SECTION 4 (DATA). C ----------------------- 460 CONTINUE C C IN THE CASE OF MANY SUBSETS DEFINE RANGE OF SUBSETS C IF(.NOT.OO) THEN WRITE(*,'(a,$)') ' STARTING SUBSET TO BE PRINTED : ' READ(*,'(BN,I6)') IST WRITE(*,'(a,$)') ' ENDING SUBSET TO BE PRINTED : ' READ(*,'(BN,I6)') IEND OO=.false. END IF C C PRINT DATA C ICODE=0 CALL CREXPRT(ICODE,IST,KSEC3(3),KEL,CNAMES,CUNITS,CVALS, 1 KVALS,VALUES,KSUP,KSEC1,IERR) C C C ----------------------------------------------------------------- C* 5. COLLECT DATA FOR REPACKING. C --------------------------- 500 CONTINUE C IF(.NOT.OENC) GO TO 300 C C FIRST GET DATA DESCRIPTORS C KK=0 IST=1 IEND=KSEC3(3) C DO ISUBSET=IST, IEND CALL CREXSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(KERR.NE.0) THEN print*,'CREXSEL: error ',kerr CALL EXIT(2) END IF C JM1KELEM=(ISUBSET-1)*KEL C DO 501 I=1,KTDEXL INV=I+JM1KELEM IN =I+JM1KELEM C IF(CUNITS(I).EQ.'CHARACTER') THEN IPOS =VALUES(INV)/1000. ICH=NINT(VALUES(INV)-IPOS*1000) KKK=KKK+1 VALUE(IN)=KKK*1000+ICH IF(CVALS(IPOS)(1:1).EQ.'/') THEN CV=' ' DO II=1,ICH CV(II:II)=CHAR(255) END DO CVAL(KKK)=CV ELSE CVAL(KKK)=CVALS(IPOS) END IF ELSEIF(CUNITS(I)(1:2).EQ.'C '.AND. 1 KTDEXP(I)/1000.eq.12 ) THEN VALUE(IN)=VALUES(INV)+273.15 ELSEIF(CUNITS(I)(1:2).EQ.'NB'.AND. 1 KTDEXP(I).EQ.015003) THEN VALUE(IN)=VALUES(INV)*0.0001 ELSE VALUE(IN)=VALUES(INV) END IF C IF(KTDEXP(I).EQ.31001.OR.KTDEXP(I).EQ.31002.OR. 1 KTDEXP(I).EQ.31000) THEN KK=KK+1 KDATA(KK)=NINT(VALUES(INV)) END IF 501 CONTINUE C END DO C KDLEN=2 IF(KK.NE.0) KDLEN=KK C ----------------------------------------------------------------- C* 6. PACK BUFR MESSAGE. C ----------------- 600 CONTINUE C KKK=0 C IF(KSEC0(3).LE.1) THEN KSEC0(3)=3 ! Edition 3 of bufr message C KSEC1(1)=18 KSEC1(2)=3 ! Bufr edition number KSEC1(3)=KSEC1(3) KSEC1(4)=1 KSEC1(5)=0 ! presence od section 2 KSEC1(7)=0 KSEC1(8)=0 ! Bufr local tables version number KSEC1(9)=0 KSEC1(10)=0 KSEC1(11)=0 KSEC1(12)=0 KSEC1(13)=0 KSEC1(14)=0 KSEC1(15)=0 ! Bufr master table version number c I_004001=0 I_004002=0 I_004003=0 I_004004=0 I_004005=0 c DO I=1,KTDEXL IF(KTDEXP(I).EQ.004001) THEN IF(I_004001.EQ.0) I_004001=I ELSEIF(KTDEXP(I).EQ.004002) THEN IF(I_004002.EQ.0) I_004002=I ELSEIF(KTDEXP(I).EQ.004003) THEN IF(I_004003.EQ.0) I_004003=I ELSEIF(KTDEXP(I).EQ.004004) THEN IF(I_004004.EQ.0) I_004004=I ELSEIF(KTDEXP(I).EQ.004005) THEN IF(I_004005.EQ.0) I_004005=I END IF END DO c KSEC1(9)=NINT(VALUE(I_004001))-1900 IF(NINT(VALUE(I_004001)).GE.2000) THEN KSEC1(9)=NINT(VALUE(I_004001))-2000 END IF KSEC1(10)=NINT(VALUE(I_004002)) KSEC1(11)=NINT(VALUE(I_004003)) KSEC1(12)=NINT(VALUE(I_004004)) KSEC1(13)=NINT(VALUE(I_004005)) c KSEC1(14)=0 KSEC1(15)=13 KSEC1(16)=0 ELSEIF(KSEC0(3).EQ.2) THEN KSEC0(3)=4 ! Edition 4 of bufr message c KSEC1(1)=22 ! The size of section 1 KSEC1(2)=4 KSEC1(3)=KSEC1(3) KSEC1(5)=0 ! presence od section 2 KSEC1(9)=0 KSEC1(10)=0 KSEC1(11)=0 KSEC1(12)=0 KSEC1(13)=0 c I_004001=0 I_004002=0 I_004003=0 I_004004=0 I_004005=0 c DO I=1,KTDEXL IF(KTDEXP(I).EQ.004001) THEN IF(I_004001.EQ.0) I_004001=I ELSEIF(KTDEXP(I).EQ.004002) THEN IF(I_004002.EQ.0) I_004002=I ELSEIF(KTDEXP(I).EQ.004003) THEN IF(I_004003.EQ.0) I_004003=I ELSEIF(KTDEXP(I).EQ.004004) THEN IF(I_004004.EQ.0) I_004004=I ELSEIF(KTDEXP(I).EQ.004005) THEN IF(I_004005.EQ.0) I_004005=I END IF END DO c KSEC1( 9)=NINT(VALUE(I_004001)) KSEC1(10)=NINT(VALUE(I_004002)) KSEC1(11)=NINT(VALUE(I_004003)) KSEC1(12)=NINT(VALUE(I_004004)) KSEC1(13)=NINT(VALUE(I_004005)) c KSEC1(14)=0 ! Bufr master table KSEC1(15)=KSEC1(17) ! Bufr master table version number KSEC1(16)=KSEC1(16) ! Originating sub-centre KSEC1(17)=KSEC1( 7) ! International sub-category KSEC1( 7)=0 KSEC1(18)=0 ! Second c END IF c KSEC3(4)=192 ! No compression c KBUFL=JBUFL C C C* 6.2 ENCODE DATA INTO BUFR MESSAGE. C ------------------------------ 620 CONTINUE C c Modify descriptor list for delayed c replication factor c J=0 DO I=1,KTDLEN IIF=KTDLST(I)/100000 IF(IIF.EQ.1) THEN II=KTDLST(I)/1000 IY=KTDLST(I)-II*1000 IF(IY.EQ.0) THEN J=J+1 KTDLST1(J)=KTDLST(I) J=J+1 KTDLST1(J)=031002 ELSE j=j+1 KTDlst1(j)=KTDlst(i) END IF ELSE J=J+1 KTDLST1(J)=KTDLST(I) END IF END DO c KTDLEN=J c KERR=0 c CALL BUFREN( KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, 1 KTDLEN,KTDLST1,KDLEN,KDATA,KEL, 2 KVALS,VALUE,CVAL,KBUFL,KBUFR,KERR) C IF(KERR.gt.0) THEN print*,'error is ',kerr PRINT*,'ERROR DURING ENCODING.' CALL EXIT(2) END IF C C 6.3 WRITE PACKED BUFR MESSAGE INTO FILE. C ------------------------------------ 630 CONTINUE C ILEN=KBUFL*NBYTPW C IERR=0 CALL PBWRITE(IUNIT1,KBUFR,ILEN,IERR) if(ierr.lt.0) then print*,'Error writing into target file.' CALL EXIT(2) END IF C GO TO 300 C ----------------------------------------------------------------- C END emoslib-000392+dfsg.1/examples/crex/bufr2crex.F0000755000175000017500000004033312127406245022254 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM BUFR2CREX C C**** *BUFRCREX* C C C PURPOSE. C -------- C Bufr to CREX conversion. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C MILAN DRAGOSAVAC *ECMWF* 07/01/2004 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4= 2,JELEM=320000,JSUBS=400,JCVAL=150 ,JBUFL=512000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #else 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #endif 3 JWORK=4096000,JKEY=46,JBYTE=80000) C PARAMETER (KELEM=20000) PARAMETER (KVALS=360000) C DIMENSION KBUFF(JBUFL) DIMENSION KBUFR(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) DIMENSION KEY (JKEY),KREQ(2) C REAL*8 VALUES(KVALS) REAL*8 RQV(KELEM) C DIMENSION KTDLST(KELEM),KTDEXP(KELEM),KRQ(KELEM) DIMENSION KDATA(2000) C CHARACTER*256 COUT,CARG(4),CFIN CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER*80 YENC CHARACTER*160000 YOUT CHARACTER*3 CRCRLF C C Common block containing bufr tables C COMMON /BCOMTAB/ NTABBTR(JTAB),NTABBS (JTAB),NTABBRV(JTAB), 1 NTABBDW(JTAB),NTABDTR(JTAB),NTABDST(JTAB), 2 NTABDL (JTAB),NTABDSQ(JTAB*20),NTABP(64,255) C C NTABBTR - table B, table reference array C NTABBS - table B, scale array C NTABBRF - table B, reference value array C NTABBDW - table B, data width array C NTABDTR - table D, table reference array C NTABDST - table D, starting pointers array C NTABDL - table D, lengths array C NTABDSQ - table D, list of sequence descriptors array C COMMON /BCOMWT/ NDWINC,NSCAM,NAFDW,NWT ,ODREPF, 1 N221,MREL,NFCM,NFUCM,MBMP,OMARKER,M0, 2 MBMPL,NSTACK(JELEM),NWTEN(JELEM), 3 NWTR (JELEM),NWTS (JELEM),NWTRV (JELEM), 4 NWTDW(JELEM) C C NDWINC - data width increment C NSCAM - scale multiplier C NAFDW - augmented field data width C NWT - pointer to working table C NSTACK - list of data descriptors C ODREPF - replication (logical) C N221 - data not present for n221 elements C MREL - pointer to the last data element C NFCM - first compressed message C MBMP - pointer to the begining of bit map C NWTR - working table reference C NWTS - working scale C NWTRV - working reference value C NWTDW - working data width C COMMON /BCOMWTC/ CWTEN(JELEM),CWTU (JELEM) C C CWTEN - working table element naame C CWTU - working table units C c PARAMETER(JP=3000) C CHARACTER*120 YENTRY CHARACTER*15 YFNAME CHARACTER*15 FMT CHARACTER*6 CREXKTDLST(KELEM),CREXKTDLST0 C INTEGER IVALUE(KELEM) C C Logical switch to use check digit indicator C CHARACTER*4 YUSE_E C INTEGER IVAL,IIVAL c REAL*8 EPS REAL*8 RVIND REAL*8 VAL C EQUIVALENCE (YOUT,KBUFR(1)) C C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C NBYTPW=JBPW/8 RVIND=1.7E38 NVIND=2147483647 IOBS=0 EPS=1.0E-8 NPACK=0 N=0 OO=.FALSE. C CRCRLF=CHAR(13)//CHAR(13)//CHAR(10) C C Get input and output file name. C NARG=IARGC() c IF(NARG.LT.4) THEN print*,'Usage -- bufr2crex -i infile -o outfile' STOP END IF c COUT=' ' CFIN=' ' c DO 101 J=1,NARG CALL GETARG(J,CARG(J)) 101 CONTINUE c DO 102 J=1,NARG,2 IF(CARG(J).EQ.'-i') THEN CFIN=CARG(J+1) ELSEIF(CARG(J).EQ.'-o') THEN COUT=CARG(J+1) ELSE print*,'Usage -- bufr2crex -i infile -o outfile' STOP END IF 102 CONTINUE C II=INDEX(CFIN,' ') II=II-1 JJ=INDEX(COUT,' ') JJ=JJ-1 C KRQL=0 NR=0 KREQ(1)=0 KREQ(2)=0 C C C* 1.2 OPEN FILE CONTAINING BUFR DATA. C ------------------------------- 120 CONTINUE C IRET=0 CALL PBOPEN(IUNIT,CFIN(1:ii),'r',IRET) IF(IRET.EQ.-1) STOP 'open failed' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' C CALL PBOPEN(IUNIT1,cout(1:jj),'w',IRET) IF(IRET.EQ.-1) STOP 'open failed on bufr.dat' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' C C ----------------------------------------------------------------- C* 2. SET REQUEST FOR EXPANSION. C -------------------------- 200 CONTINUE C KREQ(1)=1 KREQ(2)=0 C OSEC3=.FALSE. OPRT=.FALSE. OENC=.TRUE. ICODE=0 OCOMP=.FALSE. C C* 2.1 SET REQUEST FOR PARTIAL EXPANSION. C ---------------------------------- 210 CONTINUE C KERR=0 CALL BUSRQ(KREQ,KRQL,KRQ,RQV,KERR) C C ----------------------------------------------------------------- C* 3. READ BUFR MESSAGE. C ------------------ 300 CONTINUE C IERR=0 KBUFL=0 C IRET=0 CALL PBBUFR(IUNIT,KBUFF,JBYTE,KBUFL,IRET) IF(IRET.EQ.-1) THEN c IF(N.NE.0) GO TO 600 print*,'Number of subsets ',iobs print*,'Number of messages ',n STOP 'EOF' END IF IF(IRET.EQ.-2) STOP 'File handling problem' IF(IRET.EQ.-3) STOP 'Array too small for product' C N=N+1 KBUFL=KBUFL/nbytpw+1 IF(N.LT.NR) GO TO 300 print*,'----------------------',n C C ----------------------------------------------------------------- C* 4. EXPAND BUFR MESSAGE. C -------------------- 400 CONTINUE C CALL BUS012(KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KERR) IF(KERR.NE.0) THEN PRINT*,'Error in BUS012: ',KERR PRINT*,' BUFR MESSAGE NUMBER ',N,' CORRUPTED.' KERR=0 GO TO 300 END IF C KEL=KELEM IF(KSUP(6).GT.1) THEN KEL=KVALS/KSUP(6) IF(KEL.GT.KELEM) KEL=KELEM END IF C CALL BUFREX(KBUFL,KBUFF,KSUP,KSEC0 ,KSEC1,KSEC2 ,KSEC3 ,KSEC4, 1 KEL,CNAMES,CUNITS,KVALS,VALUES,CVALS,IERR) C IF(IERR.NE.0) THEN IF(IERR.EQ.45) GO TO 300 IF(IERR.EQ.2) THEN IERR=0 GO TO 300 END IF CALL EXIT(2) END IF c IOBS=IOBS+KSEC3(3) c NPACK=NPACK+1 C ISUBSET=1 CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(KERR.NE.0) CALL EXIT(2) C C* 4.1 PRINT CONTENT OF EXPANDED DATA. C ------------------------------- 410 CONTINUE C IF(.NOT.OPRT) GO TO 500 IF(.NOT.OSEC3) GO TO 450 C C* 4.2 PRINT SECTION ZERO OF BUFR MESSAGE. C ----------------------------------- 420 CONTINUE C CALL BUPRS0(KSEC0) C C* 4.3 PRINT SECTION ONE OF BUFR MESSAGE. C ----------------------------------- 430 CONTINUE C CALL BUPRS1(KSEC1) C C C* 4.4 PRINT SECTION TWO OF BUFR MESSAGE. C ----------------------------------- 440 CONTINUE c C AT ECMWF SECTION 2 CONTAINS RDB KEY. C SO UNPACK KEY C CALL BUUKEY(KSEC1,KSEC2,KEY,KSUP,KERR) C C PRINT KEY C CALL BUPRS2(KSUP ,KEY) C C* 4.5 PRINT SECTION 3 OF BUFR MESSAGE. C ----------------------------------- 450 CONTINUE C C FIRST GET DATA DESCRIPTORS C ISUBSET=1 CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(KERR.NE.0) CALL EXIT(2) C C PRINT CONTENT C IF(OSEC3) THEN CALL BUPRS3(KSEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP,KEL,CNAMES) END IF c C C* 4.6 PRINT SECTION 4 (DATA). C ----------------------- 460 CONTINUE C C IN THE CASE OF MANY SUBSETS DEFINE RANGE OF SUBSETS C IF(.NOT.OO) THEN WRITE(*,'(a,$)') ' STARTING SUBSET TO BE PRINTED : ' READ(*,'(BN,I6)') IST WRITE(*,'(a,$)') ' ENDING SUBSET TO BE PRINTED : ' READ(*,'(BN,I6)') IEND OO=.FALSE. END IF C C PRINT DATA C ICODE=0 CALL BUPRT(ICODE,IST,IEND,KEL,CNAMES,CUNITS,CVALS, 1 KVALS,VALUES,KSUP,KSEC1,IERR) C C C ----------------------------------------------------------------- C* 5. COLLECT DATA FOR REPACKING. C --------------------------- 500 CONTINUE C C FIRST GET DATA DESCRIPTORS C ISUBSET=1 CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) IF(KERR.NE.0) CALL EXIT(2) C C ----------------------------------------------------------------- C* 6. PACK CREX MESSAGE. C ------------------ 600 CONTINUE C C Modify BUFR operators C J=0 DO 602 I=1,KTDLEN IF(KTDLST(I).EQ.222000) GO TO 603 IF(KTDLST(I).EQ.201000) GO TO 602 IF(KTDLST(I).EQ.202000) GO TO 602 IF(KTDLST(I).EQ.204000) GO TO 602 IF(KTDLST(I).EQ.031000) GO TO 602 IF(KTDLST(I).EQ.031001) GO TO 602 IF(KTDLST(I).EQ.031002) GO TO 602 C CREXKTDLST0=' ' WRITE(CREXKTDLST0,'(I6.6)',IOSTAT=IOS) KTDLST(I) IF(IOS.NE.0) THEN print*,'Internal write error.' CALL EXIT(2) END IF J=J+1 CREXKTDLST(J)(1:6)=CREXKTDLST0 C IF(CREXKTDLST(J)(1:1).EQ.'3') THEN CREXKTDLST(J)(1:1)='D' ELSEIF(CREXKTDLST(J)(1:1).EQ.'0') THEN CREXKTDLST(J)(1:1)='B' ELSEIF(CREXKTDLST(J)(1:1).EQ.'1') THEN CREXKTDLST(J)(1:1)='R' c scan for any 201000,202000 or 201y,202y followed by 206y READ(CREXKTDLST(J)(2:3),'(I2.2)',IOSTAT=IOS) IELEMENTS IF(IOS.NE.0) THEN print*,'Internal read error.' CALL EXIT(2) END IF IEL=IELEMENTS DO IN=I,I+IELEMENTS-1 IF(KTDLST(IN).EQ.201000) IEL=IEL-1 IF(KTDLST(IN).EQ.202000) IEL=IEL-1 IF(KTDLST(IN).GE.201001.AND.KTDLST(IN).LE.201999.AND. 1 KTDLST(IN+1)/1000.EQ.206) IEL=IEL-1 IF(KTDLST(IN).GE.202001.AND.KTDLST(IN).LE.202999.AND. 1 KTDLST(IN+1)/1000.EQ.206) IEL=IEL-1 END DO WRITE(CREXKTDLST(J)(2:3),'(I2.2)',IOSTAT=IOS) IEl IF(IOS.NE.0) THEN print*,'Internal write error.' CALL EXIT(2) END IF ELSEIF(CREXKTDLST(J)(1:3).EQ.'201') THEN IF(KTDLST(I+1)/1000.EQ.206) THEN J=J-1 GO TO 602 END IF READ(CREXKTDLST(J)(4:6),'(I3.3)',IOSTAT=IOS) IY IF(IOS.NE.0) THEN print*,'Internal read error.' CALL EXIT(2) END IF IBITS=IY-128 ICLASS=KTDLST(I+1)/1000 IYYY =KTDLST(I+1)-ICLASS*1000+1 ICLASS=ICLASS+1 III=NTABP(ICLASS,IYYY) IDW=NTABBDW(III)+IBITS IRES=2.**IDW-1 JZ=0 DO WHILE(IRES.GT.0) JZ=JZ+1 IRES=IRES/10 END DO CREXKTDLST(J)(1:3)='C01' WRITE(CREXKTDLST(J)(4:6),'(I3.3)',IOSTAT=IOS) JZ IF(IOS.NE.0) THEN print*,'Internal write error.' CALL EXIT(2) END IF ELSEIF(CREXKTDLST(J)(1:3).EQ.'202') THEN GO TO 602 ELSEIF(CREXKTDLST(J)(1:3).EQ.'205') THEN CREXKTDLST(J)(1:3)='C05' ELSE print*,'Wrong data descriptor ',crexktdlst(j) print*,'Data containing above descriptor can', 1 ' not be converted' go to 300 END IF 602 CONTINUE c 603 CONTINUE C ICREXLEN=J c C Find delayed replications c KDLEN=0 C IST=1 IEND=1 OMULTI=.FALSE. IF(IAND(KSEC3(4),64).NE.0.AND.KSEC3(3).GT.1) THEN IEND=KSEC3(3) OMULTI=.TRUE. END IF C DO ISUBSET=IST, IEND JJ=(ISUBSET-1)*KEL C CALL BUSEL2(ISUBSET,KEL,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,IERR) C DO I=1,KTDEXL C II=I+JJ C IF(KTDEXP(I).EQ.031001.OR. 1 KTDEXP(I).EQ.031000.OR. 2 KTDEXP(I).EQ.031002) THEN KDLEN=KDLEN+1 KDATA(KDLEN)=NINT(VALUES(II)) END IF END DO C C* Make unit conversion from K to Celsius C DO I=1,KTDEXL IF(CUNITS(I)(1:2).EQ.'K '.AND. 1 KTDEXP(I)/1000.EQ.12) THEN IF(KTDEXP(I).NE.012064.AND. 1 KTDEXP(I).NE.012065.AND. 2 KTDEXP(I).NE.012070.AND. 2 KTDEXP(I).NE.012071.AND. 4 KTDEXP(I).NE.012164.AND. 5 KTDEXP(I).NE.012151.AND. 6 KTDEXP(I).NE.012051.AND. 7 KTDEXP(I).NE.022050.AND. 8 KTDEXP(I).NE.012171) THEN IF(OMULTI) THEN IJ=I+JJ IF(abs(VALUES(IJ)-rvind)/rvind.GT.eps) 1 VALUES(IJ)=VALUES(IJ)-273.15 ELSE DO J=1,KSEC3(3) IJ=I+(J-1)*KEL IF(abs(VALUES(IJ)-rvind)/rvind.GT.eps) 1 VALUES(IJ)=VALUES(IJ)-273.15 END DO END IF END IF END IF IF(CUNITS(I)(1:2).EQ.'PA'.AND. 1 KTDEXP(I).EQ.015003) THEN IF(OMULTI) THEN IJ=I+JJ IF(abs(VALUES(IJ)-rvind)/rvind.GT.eps) 1 VALUES(IJ)=VALUES(IJ)*10000. ELSE DO J=1,KSEC3(3) IJ=I+(J-1)*KEL IF(abs(VALUES(IJ)-rvind)/rvind.GT.eps) 1 VALUES(IJ)=VALUES(IJ)*10000. END DO END IF END IF END DO C END DO C C* 6.2 ENCODE DATA INTO CREX MESSAGE. C ------------------------------ 620 CONTINUE C IF(KSEC1(2).EQ.4) THEN ! Bufr edition number KSEC1(2)=2 ! Crex edition number KSEC1(5)=KSEC3(3) ! Number of subsets KSEC1( 7)=KSEC1(17) ! International sub category KSEC1(17)=KSEC1(15) ! Bufr master table version number KSEC1(15)=3 ! Crex version number used KSEC1(18)=KSEC1(8) ! Bufr version number of local tables ELSE KSEC1(17)=KSEC1(15) ! Bufr master table version number KSEC1(2)=1 ! Crex edition number KSEC1(15)=3 ! Crex version number used KSEC1(18)=KSEC1(8) ! Bufr version number of local tables END IF c CALL CREXEN(KSEC0,KSEC1,KSEC3, 1 ICREXLEN,CREXKTDLST,KDLEN,KDATA,KEL,KVALS, 2 VALUES,CVALS,KBUFL,KBUFR,KERR) IF(KERR.GT.0) THEN print*,'CREXEN error:',KERR go to 300 END IF C C 6.3 WRITE CREX MESSAGE INTO FILE. C ----------------------------- 630 CONTINUE C ILEN=KBUFL C IERR=0 CALL PBWRITE(IUNIT1,KBUFR,ILEN,IERR) IF(IERR.LT.0) THEN print*,'Error writing into target file.' CALL EXIT(2) END IF C GO TO 300 C END emoslib-000392+dfsg.1/examples/crex/decode_crex.F0000755000175000017500000001476312127406245022626 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM DECODE_CREX C C**** *DECODE_CREX* C C C PURPOSE. C -------- C DECODE CREX CODED DATA C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C CREXEX C CREXSEL C CREXPRS0 C CREXPRT C PBOPEN C PBCLOSE C PBCREX C GETARG C C C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/09/2003. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4= 2,JELEM=40000,JSUBS=400,JCVAL=150 ,JBUFL=80000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #else 2 JBPW = 32,JTAB =3000,JCTAB=120,JCTST=1800,JCTEXT=1200, #endif 3 JWORK=360000,JKEY=46,JBYTE=80000) C PARAMETER (KELEM=8000) PARAMETER (KVALS=360000) C DIMENSION KBUFF(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC3(JSEC3) C REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS C DIMENSION KTDLST(JELEM),KTDEXP(JELEM) DIMENSION KDATA(200) C CHARACTER*256 CF,CARG(4) CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER*80 YENC CHARACTER*320000 YBUFF C EQUIVALENCE(YBUFF,KBUFF(1)) C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C NBYTPW=JBPW/8 RVIND=1.7D38 NVIND=2147483647 IOBS=0 EPS=1.D-8 N=0 OO=.FALSE. CF=' ' C C INPUT FILE NAME C C GET INPUT AND OUTPUT FILE NAME. C NARG=IARGC() C IF(NARG.NE.2) THEN PRINT*,'USAGE -- decode_crex -i infile ' STOP END IF C DO 101 J=1,NARG CALL GETARG(J,CARG(J)) 101 CONTINUE C IF(CARG(1).NE.'-I'.AND.CARG(1).NE.'-i'.OR. 1 CARG(2).EQ.' ') THEN PRINT*,'USAGE -- decode_crex -i inpfile ' STOP END IF C CF=CARG(2) II=INDEX(CF,' ') II=II-1 C C* 1.2 OPEN FILE CONTAINING CREX DATA. C ------------------------------- 120 CONTINUE C IRET=0 CALL PBOPEN(IUNIT,CF(1:II),'R',IRET) IF(IRET.EQ.-1) STOP 'OPEN FAILED ON INPUT FILE' IF(IRET.EQ.-2) STOP 'INVALID FILE NAME' IF(IRET.EQ.-3) STOP 'INVALID OPEN MODE SPECIFIED' C C ----------------------------------------------------------------- C* 2. SET REQUEST FOR EXPANSION. C -------------------------- 200 CONTINUE C OPRT=.FALSE. OENC=.FALSE. WRITE(*,'(A,$)') ' DO YOU WANT TO PRINT( Y/N ) : ' READ (*,'(A)') YENC IF(YENC(1:1).EQ.'Y'.OR.YENC(1:1).EQ.'y') THEN OPRT=.TRUE. END IF C 201 CONTINUE C WRITE(*,'(A,$)') ' DO YOU WANT TO PRINT SECTION 0-3( Y/N ) : ' READ (*,'(A,$)') YENC OSEC3=.FALSE. IF(YENC(1:1).EQ.'Y'.OR.YENC(1:1).EQ.'y') OSEC3=.TRUE. C 210 CONTINUE C C C ----------------------------------------------------------------- C* 3. READ CREX MESSAGE. C ------------------ 300 CONTINUE C IERR=0 IRET=0 C YBUFF(1:15000)=' ' CALL PBCREX(IUNIT,KBUFF,JBUFL,KBUFL,IRET) IF(IRET.LT.0) THEN IF(IRET.EQ.-1) THEN PRINT*,'NUMBER OF CREX MESSAGES PROCESSED ',N PRINT*,'NUMBER OF CREX OBSERVATIONS ',IOBS STOP 'END OF FILE ' END IF IF(IRET.EQ.-2) STOP 'ERROR IN HANDLING THE FILE' IF(IRET.EQ.-3) STOP 'ERROR DURING READ CREX FILE.' END IF C N=N+1 PRINT*,'----------------------------------',N print*,YBUFF(1:KBUFL) C C ----------------------------------------------------------------- C* 4. EXPAND CREX MESSAGE. C -------------------- 400 CONTINUE C IERR=0 CALL CREXEX(KBUFL,YBUFF,KSUP,KSEC0 ,KSEC1,KSEC3 , 1 KELEM,CNAMES,CUNITS,KVALS,VALUES,CVALS,IERR) C IF(IERR.NE.0) THEN PRINT*,'CREX ERROR ', IERR GO TO 300 END IF C C IOBS=IOBS+KSEC3(3) C ISUBSET=1 CALL CREXSEL2(ISUBSET,KELEM,KTDLEN,KTDLST,KTDEXL,KTDEXP, 1 CNAMES,CUNITS,KERR) IF(KERR.NE.0) THEN PRINT*,'CREXSEL: ERROR.' CALL EXIT(2) END IF C C* 4.1 PRINT CONTENT OF EXPANDED DATA. C ------------------------------- 410 CONTINUE C IF(.NOT.OPRT) GO TO 300 IF(.NOT.OSEC3) GO TO 450 C C* 4.2 PRINT SECTION ZERO OF CREX MESSAGE. C ----------------------------------- 420 CONTINUE C CALL CREXPRS0(KSEC0) C C* 4.3 PRINT SECTION ONE OF CREX MESSAGE. C ----------------------------------- 430 CONTINUE C ISUBSET=1 CALL CREXSEL2(ISUBSET,KELEM,KTDLEN,KTDLST,KTDEXL,KTDEXP, 1 CNAMES,CUNITS,KERR) IF(KERR.NE.0) CALL EXIT(2) C CALL CREXPRS1(KSEC1,KSEC3,KTDLEN,KTDLST,KTDEXL, 1 KTDEXP,KELEM,CNAMES) C C C C* 4.5 PRINT SECTION 2 OF CREX MESSAGE. C ----------------------------------- 450 CONTINUE C C C* 4.6 PRINT SECTION 2 (DATA). C ----------------------- 460 CONTINUE C C IN THE CASE OF MANY SUBSETS DEFINE RANGE OF SUBSETS C IF(.NOT.OO) THEN WRITE(*,'(A,$)') ' STARTING SUBSET TO BE PRINTED : ' READ(*,'(BN,I4)') IST WRITE(*,'(A,$)') ' ENDING SUBSET TO BE PRINTED : ' READ(*,'(BN,I4)') IEND OO=.FALSE. END IF C C PRINT DATA C ICODE=0 CALL CREXPRT(ICODE,IST,IEND,KELEM,CNAMES,CUNITS,CVALS, 1 KVALS,VALUES,KSUP,KSEC1,IERR) C C GO TO 300 C C ----------------------------------------------------------------- 900 CONTINUE C END emoslib-000392+dfsg.1/examples/crex/Makefile0000755000175000017500000000147512127406245021707 0ustar amckinstryamckinstry# # Makefile for example programs # # PLACE = ../../ LIB = emos # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # # TARGETS = all clean EXECS = decode_crex create_crex crextdexp bufr2crex crex2bufr # # all :$(EXECS) decode_crex : decode_crex.o $(FC) $(FFLAGS) -o $@ decode_crex.o -L$(PLACE) -l$(LIB)$(R64) create_crex : create_crex.o $(FC) $(FFLAGS) -o $@ create_crex.o -L$(PLACE) -l$(LIB)$(R64) crextdexp : crextdexp.o $(FC) $(FFLAGS) -o $@ crextdexp.o -L$(PLACE) -l$(LIB)$(R64) bufr2crex : bufr2crex.o $(FC) $(FFLAGS) -o $@ bufr2crex.o -L$(PLACE) -l$(LIB)$(R64) crex2bufr : crex2bufr.o $(FC) $(FFLAGS) -o $@ crex2bufr.o -L$(PLACE) -l$(LIB)$(R64) clean : @for name in $(EXECS); do\ (rm -f $$name *.o ); \ done emoslib-000392+dfsg.1/examples/fft/0000755000175000017500000000000012127406245020053 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/examples/fft/fft.f0000755000175000017500000000161212127406245021004 0ustar amckinstryamckinstry program fft c Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c parameter (n=2*2*3*5,m=20) dimension a((n+2)*m),trigs(n),work(m*(n+1)) integer ifax(10) call set99(trigs,ifax,n) do 11 i=1,(n+2)*m a(i)=0 11 continue do 1 j=1,m do 1 i=1,n a((j-1)*(n+2)+i)=j 1 continue c write (2,*)(a(i),i=1,n) c t1=secnds(real(0.)) c write(*,*)t1 call fft99(a,work,trigs,ifax,1,n+2,n,m,-1) c t2=secnds(real(t1)) c write(*,*)t2 write (*,2)(a(i),i=1,n) 2 format(4(f20.12,2x)) end emoslib-000392+dfsg.1/examples/fft/Makefile.in0000755000175000017500000000070612127406245022126 0ustar amckinstryamckinstry# # Makefile for example programs A64 = plat R64 = reals ARCH = arch CNAME = comp # PLACE = ../../ LIB = emos # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # TARGDIR = ./ # TARGETS = all clean EXECS = fft # # all :$(EXECS) fft: fft.o $(FC) $(FFLAGS) -o $@ fft.o -L$(PLACE) -l$(LIB)$(R64) clean : @for name in $(EXECS); do\ (rm -f $$name *.o ); \ done emoslib-000392+dfsg.1/examples/fft/Makefile0000755000175000017500000000063012127406245021515 0ustar amckinstryamckinstry# # Makefile for example programs # PLACE = ../../ LIB = emos # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # TARGDIR = ./ # # TARGETS = all clean EXECS = fft # # all :$(EXECS) fft: fft.o $(FC) $(FFLAGS) -o $@ fft.o -L$(PLACE) -l$(LIB)$(R64) clean : @for name in $(EXECS); do\ (rm -f $$name *.o ); \ done emoslib-000392+dfsg.1/examples/interpolation/0000755000175000017500000000000012127406245022163 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/examples/interpolation/test.sh0000755000175000017500000000057112127406245023504 0ustar amckinstryamckinstry#!/bin/sh cd ../../ path=`pwd` export HIRLAM_LSM_PATH=$path/land_sea_mask ECMWF_LOCAL_TABLE_PATH=$path/gribtables export ECMWF_LOCAL_TABLE_PATH LOCAL_DEFINITION_TEMPLATES=$path/gribtemplates export LOCAL_DEFINITION_TEMPLATES MARS_LSM_PATH=$path/land_sea_mask export MARS_LSM_PATH cd examples/interpolation ./interpolation_example -i ../../data/latlon.grib -o output.grib emoslib-000392+dfsg.1/examples/interpolation/Makefile.in0000755000175000017500000000100712127406245024231 0ustar amckinstryamckinstry# # Makefile for example programs A64 = plat R64 = reals ARCH = arch CNAME = comp # LIB = emos PLACE = ../../ # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # # TARGETS = all clean EXECS = interpolation_example # # all: $(EXECS) interpolation_example: interpolation_example.o $(FC) $(FFLAGS) -o $@ interpolation_example.o -L$(PLACE) -l$(LIB)$(R64) clean: @for name in $(EXECS) ; do\ (rm -f $$name $$name.o $$name.f); \ done emoslib-000392+dfsg.1/examples/interpolation/Makefile0000755000175000017500000000072712127406245023634 0ustar amckinstryamckinstry# # Makefile for example programs # PLACE = ../../ LIB = emos # include $(PLACE)config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include $(PLACE)options/options_$(ARCH) # # TARGETS = all clean EXECS = interpolation_example # # all: $(EXECS) interpolation_example: interpolation_example.o $(FC) $(FFLAGS) -o $@ interpolation_example.o -L$(PLACE) -l$(LIB)$(R64) clean: @for name in $(EXECS) ; do\ (rm -f $$name $$name.o $$name.f); \ done emoslib-000392+dfsg.1/examples/interpolation/interpolation_example.F0000755000175000017500000000670512127406245026707 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM SAMPLE1 C IMPLICIT NONE INTEGER IPROD INTEGER INTV REAL REALV CHARACTER*20 CHARV DIMENSION INTV(4), REALV(4), CHARV(4) C INTEGER JPGRIB, JPBYTES C PARAMETER (JPGRIB = 2000000) C C JPBYTES is the size in bytes on an 'INTEGER' C Set JPBYTES = 8 on a 64-bit machine. C PARAMETER (JPBYTES = 4) C INTEGER INGRIB, NEWFLD DIMENSION INGRIB(JPGRIB), NEWFLD(JPGRIB) C REAL ZNFELDI, ZNFELDO DIMENSION ZNFELDI(1), ZNFELDO(1) C INTEGER IUNIT1, IUNIT2, IREC, INLEN, NEWLEN, IRET, NARGS INTEGER*4 J C C Externals INTEGER INTOUT, INTF, IARGC CHARACTER*128 INFILE, OUTFILE, CARG(4) C C ********************************************************************** C C Pick up file names from command line. C NARGS = IARGC() IF( NARGS.LT.4 ) THEN print*,'Usage: interpolation_example -i inputfile -o outputfile' STOP END IF DO 101 J=1,NARGS CALL GETARG(J,CARG(J)) 101 CONTINUE DO 102 J=1,NARGS,2 IF(CARG(J).EQ.'-i') THEN INFILE=CARG(J+1) ELSEIF(CARG(J).EQ.'-o') THEN OUTFILE=CARG(J+1) ELSE print*,'Usage: interpolation_example -i inputfile -o outputfile' STOP END IF 102 CONTINUE C Define the packing accuracy for the new field(s). C INTV(1) = 24 IRET = INTOUT('accuracy', INTV, REALV, CHARV) IF ( IRET.NE.0 ) THEN WRITE(*,*) ' First INTOUT failed.' STOP ENDIF C C Define the grid interval for the new field(s). C cs REALV(1) = 1.5 cs REALV(2) = 1.5 cs IRET = INTOUT('grid', INTV, REALV, CHARV) INTV(1) = 640 IRET = INTOUT('reduced', INTV, REALV, CHARV) IF ( IRET.NE.0 ) THEN WRITE(*,*) ' Third INTOUT failed.' STOP ENDIF C C Open input and output files. C CALL PBOPEN(IUNIT1, INFILE, 'r', IRET) IF ( IRET.NE.0 ) STOP ' PBOPEN failed' CALL PBOPEN(IUNIT2, OUTFILE, 'w', IRET) IF ( IRET.NE.0 ) STOP ' PBOPEN failed' IPROD = 0 C C Start of loop through input GRIB-coded fields C 200 CONTINUE IPROD = IPROD + 1 C C Read next product. C CALL PBGRIB(IUNIT1, INGRIB, JPGRIB*JPBYTES, IREC, IRET) IF ( IRET.EQ.-1 ) GOTO 900 IF ( IRET.NE.0 ) STOP ' PBGRIB failed' C C Interpolate. C WRITE(*,*) ' Interpolate product number ', IPROD NEWLEN = JPGRIB INLEN = IREC/JPBYTES IRET = INTF(INGRIB,INLEN,ZNFELDI,NEWFLD,NEWLEN,ZNFELDO) IF ( IRET.NE.0 ) THEN WRITE(*,*) ' INTF failed.' STOP ENDIF C C Write the new product to file. C CALL PBWRITE( IUNIT2, NEWFLD, NEWLEN*JPBYTES, IRET) IF ( IRET.LT.(NEWLEN*JPBYTES) ) STOP ' PBWRITE failed' C C Loop back for next product. C GOTO 200 C C Closedown. C 900 CONTINUE C IPROD = IPROD - 1 WRITE(*,*) ' All done after ', IPROD, ' products.' C C Close input and output files. C CALL PBCLOSE(IUNIT1, IRET) CALL PBCLOSE(IUNIT2, IRET) C STOP END emoslib-000392+dfsg.1/examples/gribex/0000755000175000017500000000000012127406245020554 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/examples/gribex/test.sh0000755000175000017500000000036212127406245022073 0ustar amckinstryamckinstry#!/bin/sh cd ../../ path=`pwd` ECMWF_LOCAL_TABLE_PATH=$path/gribtables export ECMWF_LOCAL_TABLE_PATH LOCAL_DEFINITION_TEMPLATES=$path/gribtemplates export LOCAL_DEFINITION_TEMPLATES cd examples/gribex ./agrdemo -i ../../data/latlon.grib emoslib-000392+dfsg.1/examples/gribex/find_t.F0000755000175000017500000000536412127406245022141 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM FIND_T IMPLICIT NONE C INTEGER JPACK, JPBYTES PARAMETER (JPACK = 300000) PARAMETER (JPBYTES = 4) C INTEGER INBUFF DIMENSION INBUFF(JPACK) INTEGER IRET, NARGS, N, J, ILENB, LENOUT, NTEMPS INTEGER IVALUE, NUMBER, ISIZE, IPARAM, ITEMP, IARGC C INTEGER PBGTOTL, PBGPUT, PBGGET, PBGLENG, PBGPARM EXTERNAL PBGTOTL, PBGPUT, PBGGET, PBGLENG, PBGPARM EXTERNAL GETENV C CHARACTER*128 INFILE, OUTFILE, CARG(4) C C ********************************************************************** C C Pick up file names from command line. C NARGS = IARGC() IF( NARGS.LT.4 ) THEN print*,'Usage: find_t -i inputfile -o outputfile' STOP END IF DO 101 J=1,NARGS CALL GETARG(J,CARG(J)) 101 CONTINUE DO 102 J=1,NARGS,2 IF(CARG(J).EQ.'-i') THEN INFILE=CARG(J+1) ELSEIF(CARG(J).EQ.'-o') THEN OUTFILE=CARG(J+1) ELSE print*,'Usage: find_t -i inputfile -o outputfile' STOP END IF 102 CONTINUE C C Count number of GRIBs in the file C NUMBER = PBGTOTL(INFILE) WRITE(*,*) 'Number of GRIBs in the file = ', NUMBER IF( NUMBER.EQ.0 ) STOP 'No Gribs found' C C Search for temperature fields. C (Temperature is code 130 in table 128.) C NTEMPS = 0 ITEMP = (128*1000) + 130 ILENB = JPACK * JPBYTES C DO N = 1, NUMBER C IPARAM = PBGPARM(INFILE,N) C C Handle the GRIB product if it is a temperature field C IF( IPARAM.EQ.ITEMP ) THEN C C Check buffer is big enough for GRIB field. C ISIZE = PBGLENG(INFILE,N) IF( ISIZE.GT.ILENB ) THEN WRITE(*,*) 'Field size (bytes) = ', ISIZE WRITE(*,*) 'Buffer size (bytes) = ', ILENB STOP 'Buffer too small for field' ENDIF C C Read temperature field and write it to the output file. C NTEMPS = NTEMPS + 1 LENOUT = PBGGET(INFILE, INBUFF, ILENB, N) IF( LENOUT.LT.0 ) STOP 'Problem reading temperature field' C IRET = PBGPUT(OUTFILE, INBUFF, LENOUT) IF( IRET.LT.LENOUT ) STOP 'Problem writing temperature field' C ENDIF C ENDDO C WRITE(*,*) 'Number of temperature fields copied = ', NTEMPS IF( NTEMPS.EQ.0 ) WRITE(*,*) 'No output file created' C STOP END emoslib-000392+dfsg.1/examples/gribex/README0000755000175000017500000000163012127406245021437 0ustar amckinstryamckinstry This directory contains example for the GRIB decoding and how to handle a Unix file containing GRIB edition 1 products in an indexed fashion. GRIB data are in ../data directory. make will compile both examples Before you run you have to set two environment variables: ECMWF_LOCAL_TABLE_PATH and LOCAL_DEFINITION_TEMPLATES or just run: ./test.sh agrdemo.F : Executable version of agrdemo.F can be run: ./agrdemo -i ../data/latlon.grib It will print a listing of the Grib header records together with a few of the data values. Also, you can run ./agrdemo for different sort of grib data: gaussian.grib , spectral.grib , latlon.grib find_t.F : This program uses PBGPARM to locate temperature fields in a file of GRIB products and writes them to a target file. ./find_t -i ../data/850ght.grib -o outputfile Program can be easy modified to select the geopotencial field instead emoslib-000392+dfsg.1/examples/gribex/agrdemo.F0000755000175000017500000001517312127406245022313 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM GRDEMO C IMPLICIT NONE C C**** GRDEMO - Program to demonstrate use of GRIBEX routine. C C Purpose. C -------- C C Demonstrates use of GRIBEX routine to unpack C GRIB coded data. C C** Interface. C ---------- C C Method. C ------- C C Prints sections 0, 1, 2, 3 and 4 of GRIB message. C C Externals. C ---------- C C GRIBEX C GRPRS0 C GRPRS1 C GRPRS2 C GRPRS3 C GRPRS4 C PBOPEN C PBGRIB C PBCLOSE C C Reference. C ---------- C C WMO Manual on Codes for GRIB definition. C WMO Publication No. 9, Volume B, for grid catalogue numbers. C C Modifications C ------------- C C K. Fielding ECMWF Dec 2000 C Set missing value for bit controlled fields. C C Comments. C --------- C C GRIBEX provides a number of packing/unpacking options. C See documentation for details. C C C ----------------------------------------------------------------- C C Arrays are dimensioned to accommodate T213/N160 data volumes. C JPBYTE is number of bytes per REAL C INTEGER JPACK, JPBYTE C PARAMETER (JPACK = 280000) PARAMETER (JPBYTE = 4) C C Array for integer parameters from section 0 of GRIB message. C INTEGER ISEC0 (2) C C Array for integer parameters from section 1 of GRIB message. C INTEGER ISEC1 (1024) C C Array for integer parameters from section 2 of GRIB message. C INTEGER ISEC2 (1024) C C Array for integer parameters from section 3 of GRIB message. C INTEGER ISEC3 (2) C C Array for integer parameters from section 4 of GRIB message. C INTEGER ISEC4 (512) C C Array for real parameters from section 2 of GRIB message. C REAL ZSEC2 (512) C C Array for real parameters from section 3 of GRIB message. C REAL ZSEC3 (2) C C Array for real parameters from section 4 of GRIB message. C This is the binary data section and the array to hold C the unpacked data may need to be 4 times as long as that C for the packed data. C REAL ZSEC4 (JPACK * 4) C C Array to read in packed data. C INTEGER INBUFF (JPACK) C C GRIBEX routine has a number of encoding/decoding options. C CHARACTER*256 YDATAFILE CHARACTER*2 INPUT CHARACTER*1 YOPER INTEGER IFILE, NUMERR, IPBLEN, IWORD, IFILEN, IRET, IARGC, NARGS INTEGER JCOUNT, LENOUT INTEGER JLAT, JLONG, JSTART, JEND REAL ZFIRST, ZLAST, ZSTEP, ZLAT REAL ZMAX C C Pick up file names from command line. C NARGS = IARGC() IF( NARGS.LT.2 ) THEN print*,'Usage: agrdemo -i inputfile' STOP END IF CALL GETARG(1,INPUT) IF(INPUT.EQ.'-i') THEN CALL GETARG(2,YDATAFILE) ELSE print*,'Usage: agrdemo -i inputfile' STOP END IF C Clear error counter. C NUMERR = 0 C C Lengths of INBUFF and PSEC4 C IPBLEN = JPACK * JPBYTE C IFILEN = INDEX(YDATAFILE,' ') - 1 C CALL PBOPEN (IFILE, YDATAFILE (1: IFILEN), 'R', IRET) C IF ( IRET .NE. 0 ) THEN WRITE (*, *) ' Return code from PBOPEN = ', IRET CALL PBCLOSE(IFILE, IRET) STOP 'Fault in PBOPEN' ENDIF C C Loop through GRIB products in file. JCOUNT = 0 C 50 CONTINUE JCOUNT = JCOUNT + 1 C C Read packed field into INBUFF. CALL PBGRIB (IFILE, INBUFF, IPBLEN, LENOUT, IRET ) C IF ( IRET .LT. 0 ) THEN WRITE (*, *) ' Return code from pbgrib = ', IRET IF ( IRET .EQ. -1) THEN WRITE (*, *) ' End of file. Number of products =', (JCOUNT-1) CALL PBCLOSE (IFILE, IRET) WRITE (*,*) ' GRDEMO : Number of decoding errors = ', NUMERR STOP 'EOF' ELSE WRITE (*, *) ' kret = ',IRET,' after ', JCOUNT,' products.' CALL PBCLOSE (IFILE, IRET) STOP 'Fault in PBGRIB' ENDIF ENDIF C C 'D' function to unpack entire GRIB message. C YOPER = 'D' WRITE (*,*) ' GRDEMO : Function code = ', YOPER C IRET = 1 LENOUT = LENOUT / JPBYTE C C Set missing data values C ISEC3 (2) = -99999 ZSEC3 (2) = -99999.0 C CALL GRIBEX (ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X ZSEC4, IPBLEN, INBUFF, LENOUT, IWORD, YOPER, IRET) C C Check return code. C WRITE (*,*) ' GRDEMO : GRIBEX return code = ', IRET IF (IRET .EQ. - 6) WRITE (*,*) ' GRDEMO : Pseudo-grib data found.' IF (IRET .GT. 0) THEN NUMERR = NUMERR + 1 GO TO 50 ENDIF C C Print section 0 , 1 , 2 and 3 (if present) and 4. C Section 1 is the product definition section. C Section 2 is the grid definition section. C Section 3 is the bit-map section. C Section 4 is the data section. C CALL GRPRS0 (ISEC0) CALL GRPRS1 (ISEC0, ISEC1) C IF (ISEC1 (5) .EQ. 0 .OR. ISEC1 (5) .EQ. 64) THEN WRITE (*,*) ' GRDEMO : No section 2 in GRIB message.' ELSE CALL GRPRS2 (ISEC0, ISEC2, ZSEC2) ENDIF C IF (ISEC1 (5) .EQ. 0 .OR. ISEC1 (5) .EQ. 128) THEN WRITE (*,*) ' GRDEMO : No section 3 in GRIB message.' ELSE CALL GRPRS3 (ISEC0, ISEC3, ZSEC3) ENDIF C CALL GRPRS4 (ISEC0, ISEC4, ZSEC4) C C Sample code to print maximum and minimum value in data. C C ZMAX = ZSEC4 (1) C ZMIN = ZSEC4 (1) C C DO JLAT = 2, ISEC4 (1) C ZMAX = MAX (ZMAX, ZSEC4 (JLAT) ) C ZMIN = MIN (ZMIN, ZSEC4 (JLAT) ) C ENDDO C WRITE (*, *) C WRITE (*, *) 'Maximum value in field is ', ZMAX C WRITE (*, *) 'Minimum value in field is ', ZMIN C WRITE (*, *) C C Sample code to print all values along lines of C latitude for a lat/long grid only. C C ZFIRST = REAL (ISEC2 (5) ) / 1000.0 C ZLAST = REAL (ISEC2 (8) ) / 1000.0 C ZSTEP = REAL (ISEC2 (9) ) / 1000.0 C WRITE (*, *) 'Longitudes from ', ZFIRST, ' to ', ZLAST, C 1 ' with stride ', ZSTEP C C DO JLAT = 1, ISEC2 (3) C ZLAT = REAL (ISEC2 (4) - (JLAT - 1) * ISEC2 (10) ) / 1000.0 C JSTART = (JLAT - 1) * ISEC2 (2) + 1 C JEND = JLAT * ISEC2 (2) C WRITE (*, *) C WRITE (*, *) 'Values at latitude ', ZLAT C WRITE (*, *) C WRITE(*, '(1H , 5E16.5)' ) C 1 (ZSEC4 (JLONG), JLONG = JSTART, JEND) C ENDDO C GO TO 50 C END emoslib-000392+dfsg.1/examples/gribex/Makefile.in0000755000175000017500000000102512127406245022622 0ustar amckinstryamckinstry# # Makefile for example programs A64 = plat R64 = reals ARCH = arch CNAME = comp # LIBPATH = ../../ # include ../../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../../options/options_$(ARCH) # TARGETS = all clean EXECS = agrdemo find_t # # all: $(EXECS) agrdemo: agrdemo.o $(FC) $(FFLAGS) -o $@ agrdemo.o -L$(LIBPATH) -lemos$(R64) find_t: find_t.o $(FC) $(FFLAGS) -o $@ find_t.o -L$(LIBPATH) -lemos$(R64) clean: @for name in $(EXECS) ; do\ (rm -f $$name $$name.o $$name.f); \ done emoslib-000392+dfsg.1/examples/gribex/Makefile0000755000175000017500000000074512127406245022225 0ustar amckinstryamckinstry# # Makefile for example programs # LIBPATH = ../../ # include ../../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../../options/options_$(ARCH) # TARGETS = all clean EXECS = agrdemo find_t # # all: $(EXECS) agrdemo: agrdemo.o $(FC) $(FFLAGS) -o $@ agrdemo.o -L$(LIBPATH) -lemos$(R64) find_t: find_t.o $(FC) $(FFLAGS) -o $@ find_t.o -L$(LIBPATH) -lemos$(R64) clean: @for name in $(EXECS) ; do\ (rm -f $$name $$name.o $$name.f); \ done emoslib-000392+dfsg.1/Makefile.in0000755000175000017500000000076712127406245017540 0ustar amckinstryamckinstry# Makefile for libemos # GRIB_API_MERGING=glue R64 = reals TARGETS = all clean LIBRARY = libemos$(R64).a SHELL=/bin/sh SUBDIRS = gribex interpolation bufrdc crexdc pbio fft bufrtables $(GRIB_API_MERGING) all : @for name in $(SUBDIRS); do\ ( echo "*************************"; \ echo "*** Make in $$name "; \ echo "*************************"; \ cd $$name ; make ; ) done clean : @for name in $(SUBDIRS); do\ ( echo "*** Clean in $$name ***" ;cd $$name ; make clean ); \ done rm -f $(LIBRARY) emoslib-000392+dfsg.1/build_library0000755000175000017500000001443612127406245020237 0ustar amckinstryamckinstry#! /bin/sh set -e umask 0 # make sure all directories exists. for subdirs in gribex gribtables pbio bufrdc bufrtables crexdc crextables interpolation land_sea_mask examples config options do if test ! -d $subdirs ; then echo echo "Tarfile is incomplete ; $subdirs does not exist." echo " Incorrect tarfile downloaded?" quit fi done # is the uname available ? type uname > /dev/null 2>&1 if test $? -ne 0 ; then echo "install: uname not found" echo "You should try compilation without install script" quit fi target=`uname -s | tr '[A-Z]' '[a-z]'` gnu= echo case $target in linux ) target=linux gnu=yes platform=`uname -m` case $platform in x86_64 ) A64=A64 CNAME=_x86_64 ;; ia64 ) gnu= A64= target=itanium ;; * ) A64= ;; esac echo "Default compilers are Portland: pgf77 and pgcc." ;; darwin* ) target=darwin platform=`machine` case $platform in ppc970 ) target=ppc A64=_G5 ;; ppc* ) target=ppc A64= ;; i486 ) target=darwin A64=_i486 ;; *64 ) target=darwin A64=A64 ;; * ) target=darwin A64= ;; esac echo "Default compilers are : gfortran and gcc." ;; sunos ) target=sun4 # platform=`uname -m` # if test "$platform" = "i86pc" ; then # target=i86pc # fi ;; irix* ) target=sgimips ;; aix ) target=rs6000 ;; osf1 ) target=decalpha ;; hp-ux ) target=hppa platform=`uname -m` if test "$platform" = "ia64" ; then target=hpia64 fi ;; fujitsu* ) target=FUJITSU ;; * ) echo echo "install: products can only be installed on Linux, Solaris, Sgi" echo "Alpha, HP, IBM operating systems." echo "You should try compilation without install script" quit ;; esac CNAME= if test "$gnu" = "yes" ; then echo "Do you want to work with GNU gfortran/gcc (answer y), ifort (answer i) ? [n]" read ans echo if test -n "$ans" ; then if test "$ans" = "y" -o "$ans" = "yes" ; then CNAME=_gfortran fi if test "$ans" = "i" -o "$ans" = "intel" ; then CNAME=_intel fi fi fi if test "$target" = "rs6000" ; then echo "Do you want to force 64 bit addressing mode? (answer y) [n]" read ans echo if test -n "$ans" ; then if test "$ans" = "y" -o "$ans" = "yes" ; then A64=A64 fi fi fi R64= echo "Default is 32 bit reals." echo "Do you want 64 bit reals ? [y,n]" read ans echo if test -n "$ans" ; then if test "$ans" = "y" -o "$ans" = "yes" ; then R64=R64 fi fi GRIB_API= echo "Do you want to build with grib_api ? [y,n]" read ans echo if test -n "$ans" ; then if test "$ans" = "y" -o "$ans" = "yes" ; then GRIB_API=grib_api_merging echo " Can you specify the directory path for GRIB_API ?" read ans GRIB_API_DIR=$ans JASPER_DIR= echo "Do you need jpeg support for grib_api ? [y,n]" read ans echo if test -n "$ans" ; then if test "$ans" = "y" -o "$ans" = "yes" ; then echo " Can you specify the directory path for JASPER ?" read ans JASPER_DIR="$ans/libjasper.a" fi fi fi fi echo $R64 > .r64 cat Makefile.in | sed s:reals:$R64: | sed s:glue:$GRIB_API: > Makefile for subdirs in gribex pbio bufrdc bufrtables crexdc interpolation fft do cat $subdirs/Makefile.in | sed s:reals:$R64: | sed s:arch:$target: | sed s:plat:$A64: | sed s:depl:emos: | sed s:comp:$CNAME: > $subdirs/Makefile done for subdirs in examples/gribex examples/bufr examples/crex examples/interpolation examples/fft do cat $subdirs/Makefile.in | sed s:reals:$R64: | sed s:arch:$target: | sed s:plat:$A64: | sed s:comp:$CNAME: > $subdirs/Makefile done #grib_api cat grib_api_merging/Makefile.in | sed s:reals:$R64: | sed s:arch:$target: | sed s:plat:$A64: | sed s:comp:$CNAME: | sed s:depl:emos: | sed s:glue:$GRIB_API_DIR: > grib_api_merging/Makefile cat examples/interpolation_grib_api/Makefile.in | sed s:reals:$R64: | sed s:arch:$target: | sed s:plat:$A64: | sed s:comp:$CNAME: | sed s:glue:$GRIB_API_DIR: | sed s:jasp:$JASPER_DIR: > examples/interpolation_grib_api/Makefile INSTALL_DIR=/usr/local/lib echo echo " The default directory for gribtables, bufrtables, crextables," echo "land_sea_mask, gribtemplates and libemos$R64.a will be $INSTALL_DIR," echo " but you may put them anywhere you wish assuming" echo "you have permission to do so." echo echo " You can specify the directory path for GRIB, BUFR, CREX tables" echo "local definition templates, land-sea mask, and libemos$R64.a library" echo "or just press RETURN if you want default directory." echo echo "Tables, templates, land-sea mask and libemos$R64.a directory [$INSTALL_DIR]: " read ans if test -n "$ans" ; then INSTALL_DIR=$ans fi echo $INSTALL_DIR > .emos cat config/config.$target$CNAME$R64$A64.in | sed s:emos:$INSTALL_DIR: > config/config.$target$CNAME$R64$A64 make chmod a-xw libemos$R64.a ls bufrtables/*000* > .list/bufrtables echo "*******************************************************************" echo echo "Compilation is completed !" echo echo "*******************************************************************" echo echo " You can put other options for compilation in" echo "config/config.$target$R64 like level of optimisation etc." echo "and make compilation again. " echo echo "When you finish your changes run" echo echo "make clean" echo echo "make" echo echo "in order to produce library " echo echo "*******************************************************************" echo echo " Now, if you want to install libemos$R64.a and gribtables, bufrtables, crextables," echo "land_sea_mask it is recomended to do that runing ./install script." echo "You must have root permission runinig ./install , if you want" echo "to put them on /usr/local/lib " echo "Also you can choose your directories." echo echo "*******************************************************************" echo echo "Any comments on the document or the software would be appreciated" echo echo "e-mail software.services@ecmwf.int" echo echo "*******************************************************************" exit 0 emoslib-000392+dfsg.1/bufrdc/0000755000175000017500000000000012127406245016723 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/bufrdc/buens1.F0000755000175000017500000003204312127406245020234 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUENS1( KSEC0,KSEC1,KBUFL,KBUFF,KERR) C C**** *BUENS1* C C C PURPOSE. C -------- C PACK SECTION 1 OF BUFR MESSAGE. C C** INTERFACE. C ---------- C C *CALL* *BUENS1( KSEC0,KSEC1,KBUFL,KBUFF,KERR)* C C C INPUT : C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C OUTPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KERR* - RETURNED ERROR CODE C C* METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C BUPCK - PACK BIT PATHERN C BUOCTN - SET LENGTH OF SECTION C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 16/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" C DIMENSION KBUFF(KBUFL),KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION ISEC1(JSEC1) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C ------------------------------------------------------------------ C* 1. PACK SECTION 1. C --------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C DO 101 I=1,JSEC1 ISEC1(I)=0 101 CONTINUE C C* 1.1 KEEP POINTERS TO THE BEGINING OF THE SECTION. C --------------------------------------------- 110 CONTINUE C IWPTB = NWPT IBPTB = NBPT C C C* 1.2 PACK LENGTH OF SECTION 1. C ------------------------- 120 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LENGTH OF SECTION 1.' RETURN END IF C C C* 1.3 PACK BUFR EDITION NUMBER/MASTER TABLE USED. C ------------------------------------------- 130 CONTINUE C IF(KSEC0(3).LE.1) THEN CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(2),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING BUFR EDITION NUMBER' WRITE(KNTN,*) 'IN SECTION 1.' RETURN END IF ELSE CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(14),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING BUFR MASTER TABLE NUMBER' WRITE(KNTN,*) 'IN SECTION 1.' RETURN END IF END IF C C* 1.4 PACK ORIGINATING CENTRE. C ------------------------ 140 CONTINUE C IF(KSEC0(3).LT.3) THEN CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(3),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING ORIGINATING CENTRE IN SECTION 1.' RETURN END IF ELSEIF(KSEC0(3).EQ.3) THEN CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(16),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING ORIGINATING ', 1 'SUB-CENTRE IN SECTION 1.' RETURN END IF CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(3),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING ORIGINATING CENTRE IN SECTION 1.' RETURN END IF ELSEIF(KSEC0(3).EQ.4) THEN CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(3),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING ORIGINATING CENTRE IN SECTION 1.' RETURN END IF CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(16),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING ORIGINATING ', 1 'SUB-CENTRE IN SECTION 1.' RETURN END IF END IF C C* 1.5 PACK UPDATE SEQUENCE NUMBER. C ---------------------------- 150 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(4),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING UPDATE SEQUENCE NUMBER ', 1 'IN SECTION 1.' RETURN END IF C C* 1.6 PACK INTEGER VALUE OF THE OCTET CONTAINING C ------------------------------------------ C FLAG BITS(ZERO IF SECTION TWO IS NOT PRESENT). C ---------------------------------------------- 160 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(5),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING FLAG IN SECTION 1.' RETURN END IF C C* 1.7 PACK *BUFR* MESSAGE TYPE. C ------------------------- 170 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(6),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING BUFR MESSAGE TYPE IN SECTION 1.' RETURN END IF C C 1.7.1 PACK BUFR INTERNATIONAL SUB-CATEGORY C ------------------------------------- IF(KSEC0(3).EQ.4) THEN CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(17),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC1(17) IN SECTION 1.' RETURN END IF END IF C C* 1.8 PACK *BUFR* MESSAGE SUB-TYPE. C ----------------------------- 180 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(7),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING BUFR MESSAGE SUBTYPE.' RETURN END IF C C* 1.9 PACK LOCAL TABLE VERSION NUMBER OR C ---------------------------------- C VERSION NUMBER OF MASTER TABLE USED. C ------------------------------------ 190 CONTINUE C IF(KSEC0(3).LE.1) THEN CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(8),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING VERSION NUMBER OF ', 1 'LOCAL TABLE USED.' RETURN END IF ELSE CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(15),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING VERSION NUMBER OF ', 1 'MASTER TABLE USED.' RETURN END IF CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1( 8),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING VERSION NUMBER OF ', 1 'LOCAL TABLE USED.' RETURN END IF END IF C C* 2.0 PACK YEAR. C ---------- 200 CONTINUE C IF(KSEC0(3).LE.3) THEN CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(9),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC1(9) IN SECTION 1.' RETURN END IF ELSE CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(9),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC1(9) IN SECTION 1.' RETURN END IF END IF C C* 2.1 PACK MONTH. C ----------- 210 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(10),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC1(10) IN SECTION 1.' RETURN END IF C C* 2.2 PACK DAY. C ----------- 220 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(11),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC1(11) IN SECTION 1.' RETURN END IF C C* 2.3 PACK HOUR. C ------------ 230 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(12),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC1(12) IN SECTION 1.' RETURN END IF C C* 2.4 PACK MINUTE. C -------------- 240 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(13),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC1(13) IN SECTION 1.' RETURN END IF C C 2.4.1 PACK SECOND C ----------- IF(KSEC0(3).EQ.4) THEN CALL BUPCK(NBPW,KBUFF(NWPT),KSEC1(18),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC1(18) IN SECTION 1.' RETURN END IF END IF C C 2.5 PACK LOCAL ADP CENTRE INFORMATION. C ---------------------------------- 250 CONTINUE C IF(KSEC0(3).LT.3) THEN IOFF=KSEC1(1)-17 IW=16 IB=0 ELSEIF(KSEC0(3).EQ.3) THEN IOFF=KSEC1(1)-17 IF(IOFF.LT.1) THEN WRITE(KNTN,*) 'ERROR IN KSEC1(1)' WRITE(KNTN,*) 'THE SIZE SHALL BE AT LEAST 18 BYTES' KERR=55 RETURN END IF IW=18 IB=0 ELSEIF(KSEC0(3).EQ.4) THEN C IOFF=KSEC1(1)-52 IOFF=KSEC1(1)-22 IF(IOFF.LT.0) THEN WRITE(KNTN,*) 'ERROR IN KSEC1(1)' WRITE(KNTN,*) 'THE SIZE SHALL BE AT LEAST 22 BYTES' KERR=55 RETURN END IF C IW=35 ! index for local info IW=19 ! index for local info IB=0 END IF IF(IOFF.GT.0) THEN CALL BUNPKS(NBPW,KSEC1,ISEC1,IW,IB,8,0,IOFF,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LOCAL ADP CENTRE INFORMATION' WRITE(KNTN,*) 'IN SECTION 1.' RETURN END IF C CALL BUPKS(NBPW,KBUFF(NWPT),ISEC1,NWPT,NBPT,8,0,IOFF,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LOCAL ADP CENTRE INFORMATION' WRITE(KNTN,*) 'IN SECTION 1.' RETURN END IF END IF C ------------------------------------------------------------------ C* 2.6 SET UP LENGTH OF THE SECTION 1. C -------------------------------- 260 CONTINUE C CALL BUOCTN(IWPTB,IBPTB,KBUFL,KBUFF,KERR) IF(KERR.GT.0) RETURN C C RETURN END emoslib-000392+dfsg.1/bufrdc/Makefile.shared0000755000175000017500000000103712127406245021634 0ustar amckinstryamckinstry# # Makefile for bufrdc # LIBRARY = ../lib$(LIB)$(R64).so # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # PROFILE=$(SHLIB) # TARGETS = all clean # include sources # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(EXTRAOBJ) $(LD) $(DYNLINKFLAGS) $? -o $@ clean: \rm -f $(OBJECTS) emoslib-000392+dfsg.1/bufrdc/big_endian.F0000755000175000017500000000160712127406245021120 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C logical function big_endian() implicit none integer*4 icharacter character*4 testcharacter integer*4 newint testcharacter="ABCD" newint=0 read(testcharacter,'(a4)') icharacter c icharacter=transfer(testcharacter,0) call mvbits(icharacter, 0, 8, newint, 0) if(char(newint) .eq. 'A') then c little endian big_endian=.false. else c big endian big_endian=.true. end if end emoslib-000392+dfsg.1/bufrdc/buunp.F0000755000175000017500000000402412127406245020166 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUUNP(KBPW,KSOURC,KDEST,KWPT,KBPT,KSIZE,KERR) C C**** *BUUNP* C C C PURPOSE. C -------- C PURPOSE OF THIS ROUTINE IS TO UNPACK BIT STRING OF C KSIZE BITS, STARTED AT WORD KWPT OF ARRAY KSOURC AFTER C SKIPPING KBPT BITS. RESULT IS PUT INTO KDEST. C C** INTERFACE. C ---------- C C *CALL* *BUUNP(KBPW,KSOURC,KDEST,KWPT,KBPT,KSIZE,KERR)* C C INPUT : C *KBPW* - NUMBER OF BITS IN COMPUTER WORD C *KSOURC* - SOURCE (CONTINUOUS BIT STRING OF C ARBITRARY LENGTH) C *KWPT* - WORD POINTER C *KBPT* - BIT POINTER C *KSIZE* - NUMBER OF BITS TO BE EXTRACTED C OUTPUT: C *KDEST* - DESTINATION C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C GBYTE - UNPACK BIT PATTERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C DIMENSION KSOURC(*) C C ------------------------------------------------------------------ C* 1. EXTRACT BIT PATTERN. C -------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C IF(KSIZE.GT.KBPW) THEN KERR=13 WRITE(KNTN,*)' BUUNP :' CALL BUERR(KERR) RETURN END IF C CALL GBYTE(KSOURC(KWPT),KDEST,KBPT,KSIZE) C RETURN END emoslib-000392+dfsg.1/bufrdc/bcomwork.F0000755000175000017500000000251012127406245020656 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C COMMON /BCOMWORK/ RVIND,EPS,NBPW,NWPT,NBPT,NWPTB,NBPTB,NMASK(JBPW) 1, NVIND,NBENP,NLTVNP,NWWP,NXXP,NYYP 2, NZZP,NSSP C C NBPW - NUMBER OF BITS PER COMPUTER WORD C NWPT - WORD POINTER C NBPT - BIT POINTER C NWPTB - POINTER TO WORD AT THE BEGINING OF NEXT SECTION C NBPTB - POINTER TO BIT AT THE BEGINING OF NEXT SECTION C NMASK - BIT MASK ARRAY C NVIND - MISSING VALUE INDICATOR (INTEGER) C RVIND - MISSING VALUE INDICATOR (REAL) C NBENP - PREVIOUS BUFR EDITION NUMBER C NLTVNP - PREVIOUS LOCAL TABLE VERSION NUMBER C NXXP - BUFR MASTER TABLE USED C NYYP - VERSION NUMBER OF MASTER TABLE USED C NZZP - VERSION NUMBER OF LOCAL TABLE USED C C emoslib-000392+dfsg.1/bufrdc/buexs3.F0000755000175000017500000003225312127406245020253 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEXS3(KBUFL,KBUFF,KSUP,KSEC3,KELEM,CNAMES,CUNITS,KERR) C C**** *BUEXS3* C C C PURPOSE. C -------- C C EXPAND SECTION 3 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUEXS3( KBUFL,KBUFF,KSUP,KSEC3,KELEM,CNAMES,CUNITS,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C OUTPUT: C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - CHARACTER ARRAY CONTAINIG UNITS C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C EXPANDS LIST OF DATA DESCRIPTORS PACKED IN SECTION 3 C OF BUFR MESSAGE. WORKING TABLES FOR FURTHER DATA DECODING ARE SET, C LIST OF PACKED BUFR DATA DESCRIPTORS AND LIST OF BUFR DATA DESCRIPTORS C EXPANDED ACCORDING TO TABLE D REFERENCE ARE RETURNED RESPECTIVELY. C C C C EXTERNALS. C ---------- C C BUNEXS - SET WORD AND BIT POINTERS AT THE BEGINING OF C NEXT SECTION C BUNPCK - UNPACKS BIT PATTERN C BUSRP - SOLVES REPLICATION PROBLEM C BUSTDR - SOLVES TABLE D REFERENCE C BUPRCO - PROCESS OPERATOR C BUUPWT - UPDATES WORKING TABLE C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcombef.F" # include "bcomwt.F" # include "bcomp.F" # include "bcomwtc.F" # include "bcomrq.F" # include "bcomreq.F" # include "bcomel.F" # include "bcprq.F" # include "bcomoff.F" # include "bcomcom.F" C CHARACTER*64 CWTEN CHARACTER*24 CWTU CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) C DIMENSION ISTACK(JELEM),IISTACK(JELEM) DIMENSION KBUFF(KBUFL) DIMENSION IMASK(8) C #ifndef R_4 REAL*8 RQVAL REAL*8 RVIND REAL*8 EPS #else REAL RQVAL REAL RVIND REAL EPS #endif C DIMENSION KSUP(JSUP),KSEC3(JSEC3) C DATA IMASK/1,2,4,8,16,32,64,128/ C SAVE NOLD,KELEMOLD C ------------------------------------------------------------------ C C* 1. EXPAND PRELIMINARY ITEMS OF SECTION 3. C -------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C C* 1.1 SET THE POINTERS NWPT AND NBPT TO THE C ------------------------------------- C BEGINING OF THE SECTION 3. C -------------------------- 110 CONTINUE C NWPT = NWPTB NBPT = NBPTB C C* 1.2 UNPACK LENGTH OF SECTION 3. C --------------------------- 120 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(1),NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC3(1).' RETURN END IF C C* 1.2.1 SET THE POINTERS NWPTB AND NBPTB TO C ----------------------------------- C THE BEGINNING OF THE NEXT SECTION. C ---------------------------------- CALL BUNEXS(KSEC3(1)) C C* 1.3 UNPACK ZERO BYTE AND PUT IT IN KSEC3(2). C ---------------------------------------- 130 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(2),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC3(2).' RETURN END IF C C* 1.4 UNPACK NUMBER OF DATA SUB-SETS. C ------------------------------- 140 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(3),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC3(3).' RETURN END IF IF(KSEC3(3).LE.0) THEN KERR=32 WRITE(KNTN,*) ' BUEXS3 :' CALL BUERR(KERR) RETURN END IF C N = KSEC3(3) C C C* 1.5 UNPACK INTEGER VALUE OF THE OCTET C --------------------------------- C CONTAINING FLAG BITS. C -------------------- 150 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(4),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC3(4).' RETURN END IF C ICOMP=KSEC3(4) C ----------------------------------------------------------------- C C* 2. EXPAND DATA DESCRIPTORS. C ------------------------ 200 CONTINUE C C C* 2.1 CALCULATE EXPECTED NUMBER OF DATA DESCRIPTORS. C ---------------------------------------------- C AND INITIALIZE NUMBER OF DATA VALUES PER SUB-SET. C ------------------------------------------------- 210 CONTINUE C J = 0 NWT = 0 JMAX = ( KSEC3(1) - 7)/2 JMAXNEW=JMAX C IF(JMAX.GT.JELEM) THEN WRITE(KNTN,*) 'NUMBER OF ELEMENTS IN SECTION3 TOO BIG.' WRITE(KNTN,*) 'PROGRAM CAN NOT HANDLE',JMAX WRITE(KNTN,*) 'DATA DESCRIPTORS IN SECTION3.' WRITE(KNTN,*) 'MAXIMUM NUMBER OF ELEMENTS IS ',JELEM KERR=200 RETURN END IF C C* 2.2 UNPACK AND PUT DATA DESCRIPTORS IN STACK. C ----------------------------------------- 220 CONTINUE C DO 221 JJ=1,JMAX C CALL BUNPCK(NBPW,KBUFF,IF,NWPT,NBPT,2,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING F PART OF DESCRIPTOR.' RETURN END IF CALL BUNPCK(NBPW,KBUFF,IX,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING X PART OF DESCRIPTOR.' RETURN END IF CALL BUNPCK(NBPW,KBUFF,IY,NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING Y PART OF DESCRIPTOR.' RETURN END IF C ISTACK(JJ)=IF*100000+IX*1000+IY IISTACK(JJ)=ISTACK(JJ) C 221 CONTINUE C C* 2.2.1 CHECK IF IT IS SAME DATA DESCRIPTOR DESCRIPTION. C ------------------------------------------------ C TO MAKE MORE EFFICIENT DATA DESCRIPTOR DESCRIPTION C EXPANSION, IN CASE THAT DELAYED REPLICATION FACTOR C IS NOT PRESENT AND DATA DESCRIPTORS ARE THE SAME, C PREVIOUS WORKING TABLE SHOULD BE USED. IT IS POSIBLE C AT THIS PLACE IN THE FUTURE TO MAKE MORE SOPHISTICATED C CONTROL. C C DO 222 JC=1,JMAX C IF(ISTACK(JC).NE.NSTACK(JC)) THEN C ODREPF=.FALSE. C C SWAP CONTENT OF THE STACKS. C DO 223 JJC=1,JMAX NSTACK(JJC)=ISTACK(JJC) 223 CONTINUE C NTDLEN = JMAX M=0 M0=1 NOLD=N KELEMOLD=KELEM NFCM=0 NFUCM=0 MREL=0 OMARKER=.FALSE. MBMP=0 MBMPL=0 C GO TO 230 C END IF C 222 CONTINUE C C* IF MARKER OPERATOR PRESENT EXPAND DESCRIPTORS AGAIN C IF(OMARKER) THEN M=0 M0=1 NOLD=N KELEMOLD=KELEM NFCM=0 NFUCM=0 MREL=0 OMARKER=.FALSE. NTDLEN=JMAX MBMP=0 MBMPL=0 GO TO 230 END IF C C* CHECK IF THE SAME NUMBER OF DESCRIPTORS C AS IN A PREVIOUS MESSAGE C IF(JMAX.NE.NTDLEN) THEN M=0 M0=1 NOLD=N KELEMOLD=KELEM NFCM=0 NFUCM=0 MREL=0 OMARKER=.FALSE. NTDLEN=JMAX MBMP=0 MBMPL=0 GO TO 230 END IF C C* RETURN IF DELAYED REPLICATION FACTOR IS NOT PRESENT. C IF(NPRUS.EQ.1) GO TO 229 C OB=.FALSE. IF(IAND(KSEC3(4),IMASK(7)).NE.0) OB=.TRUE. C C CHECK FOR DELAYED REPLICATION FACTOR C IF(ODREPF) GO TO 229 C C CHECK FOR COMPRESSION C IF(OB) THEN C C DATA COMPRESSED =/ PREVIOUS --> RECALCULATE POINTERS C GO TO 229 END IF C 229 CONTINUE C M=0 M0=1 NOLD=N KELEMOLD=KELEM NFCM=0 NFUCM=0 MREL=0 OMARKER=.FALSE. NTDLEN=JMAX MBMP=0 MBMPL=0 C C ------------------------------------------------------------------ C* 2.3 GET NEXT DESCRIPTOR FROM THE STACK. C ----------------------------------- 230 CONTINUE C J = J + 1 IF(J.GT.JMAX) GO TO 270 C IDD = ISTACK(J) IF(IDD.EQ.0) GO TO 230 C IF = IDD/100000 C IF(NWT.GT.NSTOP) GO TO 270 C ------------------------------------------------------------------ C* 2.4 CHECK IF IT IS REPLICATION DESCRIPTOR. C -------------------------------------- 240 CONTINUE C IF( IF.EQ.0) THEN C C* 2.6 ELEMENT DESCRIPTOR, SO UPDATE WORKING TABLE. C -------------------------------------------- 260 CONTINUE C CALL BUUPWT(IDD,KELEM,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.1) THEN C C* 2.4.1 SOLVE REPLICATION PROBLEM. C -------------------------- C C CALL BUSRP(KBUFL,KBUFF,KSEC3,J,JMAX,IDD,ISTACK,KELEM,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.2) THEN C C* 2.5.3 PROCESS OPERATOR. C ----------------- CALL BUPRCO(KBUFL,KBUFF,J,IDD,ISTACK,KELEM,KERR) IF(KERR.GT.0) RETURN C ELSEIF( IF.EQ.3) THEN C C* 2.5.2 REPLACE BY LIST OF DESCRIPTORS FROM TABLE *D. C --------------------------------------------- CALL BUSTDR(J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NSTACK(IQ)=0. 252 CONTINUE RETURN END IF ELSE KERR=37 CALL BUERR(KERR) RETURN END IF C GO TO 230 C C ------------------------------------------------------------------ C* 2.7 RESOLVE MARKER OPERATOR. C ------------------------ 270 CONTINUE C IF(OMARKER) THEN CALL BUPMRK(KBUFL,KBUFF,KSEC3,KELEM,KERR) IF(KERR.GT.0) RETURN END IF C C* 2.8 CHECK IF IT IS CORRESPONDING DATA. C ---------------------------------- 280 CONTINUE C C CHECK FOR WORKING SPACE. C IF(JWORK/N.LT.KELEM) THEN KERR=17 WRITE(KNTN,*) 'BUEXS3:' CALL BUERR(KERR) MN=KELEM*N WRITE(KNTN,*) ' SUGGESTED VALUE FOR JWORK ',MN WRITE(KNTN,*) ' CHECK IF TOO BIG KELEM USED.' RETURN END IF C IF(IAND(KSEC3(4),IMASK(7)).NE.0) THEN C C COMPRESSED DATA C CALL BURQC(KBUFL,KBUFF,KELEM,CNAMES,CUNITS,KSUP ,KSEC3,KERR) IF(KERR.GT.0) RETURN ELSE C C UNCOMPRESSED DATA C CALL BURQUC(KBUFL,KBUFF,KELEM,CNAMES,CUNITS,KSUP ,KSEC3,KERR) IF(KERR.GT.0) RETURN C END IF C C ------------------------------------------------------------------ C C* 3. COLLECT SUPPLEMENTARY ITEMS. C ----------------------------- 300 CONTINUE C NTDEXL =M DO 301 I=1,NTDEXL NTDEXP(I)=INWTR(I) 301 CONTINUE C NTDLEN=JMAXNEW DO 302 I=1,NTDLEN NTDLST (I)=IISTACK(I) 302 CONTINUE C DO 303 I=1,NTDEXL IJ=I+(NSUBSET-1)*KELEM NWTRG(IJ)=INWTR(I) NWTDWG(IJ)=INWTDW(I) 303 CONTINUE C NSIZE(NSUBSET) =M C KSUP(3)= 4 KSUP(5)= NSIZE(1) KSUP(6)= KSEC3(3) C N07=0 N08=0 N40=0 NDWINC=0 NSCAM=0 NSCAM07=0 NDWINC07=0 NFD=0 do i=1,100 NAFDWA(i)=0 end do RETURN END emoslib-000392+dfsg.1/bufrdc/buepmrkc.F0000755000175000017500000003657612127406245020666 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEPMRKC(KSEC3,KVALS,VALUES,KELEM,CNAMES,CUNITS,KERR) C C**** *BUEPMRKC* C C C PURPOSE. C -------- C C PROCESS MARKER OPERATOR, RELACING IT WITH CORRESPONDING C TABLE B ELEMENT DESCRIPTOR. C C C** INTERFACE. C ---------- C C *CALL* *BUEPMRKC(KSEC3,KVALS,VALUES,KELEM,CNAMES, C CUNITS,KERR)* C C INPUT : C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA C COMPRESSION) C *KVALS* - DIMENSION OF VALUES ARRAY C *VALUES* - ARAY CONTAINING DATA C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - CHARACTER ARRAY CONTAINIG UNITS C OUTPUT: C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C NONE. C C EXTERNALS. C ---------- C C BUNPCK - UNPACKS BIT PATTERN C BUNPKS - UNPACKS BIT PATTERN IN REPEATED WAY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C M. DRAGOSAVAC 1/10/92 : C C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmbef.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmrq.F" C CHARACTER*64 CWTEN CHARACTER*24 CWTU CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) DIMENSION KSEC3(JSEC3) #ifndef R_4 REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS #else REAL VALUES(KVALS) REAL RVIND REAL EPS #endif C DIMENSION IMASK(8) DATA IMASK/1,2,4,8,16,32,64,128/ C C ------------------------------------------------------------------ C* 1. FINED OPERATOR 223000 TO 237255. C -------------------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C C C 1.1 CHECK IF DATA ARE COMRESSED. C ---------------------------- 110 CONTINUE C IB=0 IF(IAND(KSEC3(4),IMASK(7)).NE.0) IB=1 C C* 1.2 FIND POSITION OF OPREATORS. C --------------------------- 120 CONTINUE C DO 121 J=1,M C NR223=0 NR224=0 NR225=0 NR232=0 C C IF(NWTR(J).EQ.222000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 122 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 121 END IF 122 CONTINUE END IF END IF IF(NWTR(J).EQ.223000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C NP223000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 123 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 200 END IF 123 CONTINUE END IF GO TO 200 END IF IF(NWTR(J).EQ.224000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C NP224000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 124 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 300 END IF 124 CONTINUE END IF GO TO 300 END IF IF(NWTR(J).EQ.225000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C NP225000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 125 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 400 END IF 125 CONTINUE END IF GO TO 400 END IF IF(NWTR(J).EQ.232000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C NP232000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 126 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 500 END IF 126 CONTINUE END IF GO TO 500 END IF C IF(NWTR(J).EQ.235000) THEN C C RESET POINTER POINTER TO THE LAST DATA ELEMENT C MREL=0 MBMP=0 MBMPL=0 END IF C IF(NWTR(J).EQ.237255) THEN C C RESET POINTERS TO THE BIT MAP C MBMP=0 MBMPL=0 END IF C GO TO 121 C C ----------------------------------------------------------------- C* 2. PROCESS SUBSTITUTED VALUES OPERATOR. C ------------------------------------ C 200 CONTINUE C C* 2.1 FIND FIRST ACCURANCE OD 223255. C ------------------------------- 210 CONTINUE C NP223255=0 DO 211 I=NP223000,M IF(NWTR(I).EQ.223255) THEN NP223255=I GO TO 220 END IF 211 CONTINUE C GO TO 121 C C* 2.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 220 CONTINUE C IF(MBMP.EQ.0) THEN I223=0 OF223=.TRUE. DO 221 I=NP223000,NP223255 IF(NWTR(I).EQ.031031) THEN IF(OF223) THEN I223=I OF223=.FALSE. END IF NR223=NR223+1 END IF 221 CONTINUE ELSE I223=MBMP NR223=MBMPL-MBMP+1 END IF C C C* 2.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 250 CONTINUE C ISUBST=MREL-NR223+1 C C* 2.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 260 CONTINUE C DO 261 I=I223,NR223+I223 IF(VALUES(I).EQ.0) THEN C 262 CONTINUE C IF(NWTR(NP223255).EQ.223255) THEN NWTDW (NP223255)=NWTDW(ISUBST) NWTR (NP223255)=NWTR (ISUBST) NWTRV (NP223255)=NWTRV(ISUBST) NWTS (NP223255)=NWTS (ISUBST) CWTEN (NP223255)=CWTEN(ISUBST) CWTU (NP223255)=CWTU (ISUBST) NWTEN (NP223255)=NWTEN(ISUBST) ISUBST=ISUBST+1 NP223255=NP223255+1 ELSE NP223255=NP223255+1 GO TO 262 END IF ELSE ISUBST=ISUBST+1 END IF 261 CONTINUE C GO TO 121 C C ----------------------------------------------------------------- C* 3. PROCESS FIRST ORDER STATISTICS OPERATOR. C ---------------------------------------- 300 CONTINUE C C* 3.1 FIND FIRST ACCURANCE OD 224255. C ------------------------------- 310 CONTINUE C NP224255=0 DO 311 I=NP224000,M IF(NWTR(I).EQ.224255) THEN NP224255=I GO TO 320 END IF 311 CONTINUE C GO TO 121 C C* 3.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 320 CONTINUE C IF(MBMP.EQ.0) THEN I224=0 OF224=.TRUE. DO 321 I=NP224000,NP224255 IF(NWTR(I).EQ.031031) THEN IF(OF224) THEN I224=I OF224=.FALSE. END IF NR224=NR224+1 END IF 321 CONTINUE ELSE I224=MBMP NR224=MBMPL-MBMP+1 END IF C C C* 3.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 350 CONTINUE C ISUBST=MREL-NR224+1 C C* 3.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 360 CONTINUE C DO 361 I=I224,NR224+I224 IF(VALUES(I).EQ.0) THEN C 362 CONTINUE C IF(NWTR(NP224255).EQ.224255) THEN NWTDW (NP224255)=NWTDW(ISUBST) NWTR (NP224255)=NWTR (ISUBST) NWTRV (NP224255)=NWTRV(ISUBST) NWTS (NP224255)=NWTS (ISUBST) CWTEN (NP224255)=CWTEN(ISUBST) CWTU (NP224255)=CWTU (ISUBST) NWTEN (NP224255)=NWTEN(ISUBST) ISUBST=ISUBST+1 NP224255=NP224255+1 ELSE NP224255=NP224255+1 GO TO 362 END IF ELSE ISUBST=ISUBST+1 END IF 361 CONTINUE C GO TO 121 C C C ----------------------------------------------------------------- C* 4. PROCESS DIFFERENCE STATISTICS OPERATOR. C --------------------------------------- 400 CONTINUE C C C* 4.1 FIND FIRST ACCURANCE OD 225255. C ------------------------------- 410 CONTINUE C NP225255=0 DO 411 I=NP225000,M IF(NWTR(I).EQ.225255) THEN NP225255=I GO TO 420 END IF 411 CONTINUE C GO TO 121 C C* 4.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 420 CONTINUE C IF(MBMP.EQ.0) THEN I225=0 OF225=.TRUE. DO 421 I=NP225000,NP225255 IF(NWTR(I).EQ.031031) THEN IF(OF225) THEN I225=I OF225=.FALSE. END IF NR225=NR225+1 END IF 421 CONTINUE ELSE I225=MBMP NR225=MBMPL-MBMP+1 END IF C C C* 4.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 450 CONTINUE C ISUBST=MREL-NR225+1 C C* 4.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 460 CONTINUE C DO 461 I=I225,NR225+I225 IF(VALUES(I).EQ.0) THEN C 462 CONTINUE C IF(NWTR(NP225255).EQ.225255) THEN NWTR (NP225255)=NWTR (ISUBST) C C CHANGE REFERENCE VALUE TO BE CENTRED AROUND ZERO C AND INCREASE DATA WIDTH BY 1 C IF(NWTEN(ISUBST).NE.-999) THEN NWTRV (NP225255)=-2**NWTDW(ISUBST) NWTDW (NP225255)=NWTDW(ISUBST)+1 ELSE NWTRV (NP225255)=NWTDW(ISUBST) NWTDW (NP225255)=NWTDW(ISUBST) NWTEN (NP225255)=NWTEN(ISUBST) END IF C NWTS (NP225255)=NWTS (ISUBST) CWTEN (NP225255)=CWTEN(ISUBST) CWTU (NP225255)=CWTU (ISUBST) ISUBST=ISUBST+1 NP225255=NP225255+1 ELSE NP225255=NP225255+1 GO TO 462 END IF ELSE ISUBST=ISUBST+1 END IF 461 CONTINUE C GO TO 121 C C ----------------------------------------------------------------- C* 5. PROCESS REPLACE/RETAINED OPERATOR. C ---------------------------------- 500 CONTINUE C C C* 5.1 FIND FIRST ACCURANCE OF 232255. C ------------------------------- 510 CONTINUE C NP232255=0 DO 511 I=NP232000,M IF(NWTR(I).EQ.232255) THEN NP232255=I GO TO 520 END IF 511 CONTINUE C GO TO 121 C C* 5.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 520 CONTINUE C IF(MBMP.EQ.0) THEN I232=0 OF232=.TRUE. DO 521 I=NP232000,NP232255 IF(NWTR(I).EQ.031031) THEN IF(OF232) THEN I232=I OF232=.FALSE. END IF NR232=NR232+1 END IF 521 CONTINUE ELSE I232=MBMP NR232=MBMPL-MBMP+1 END IF C C C* 5.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 550 CONTINUE C ISUBST=MREL-NR232+1 C C* 5.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 560 CONTINUE C DO 561 I=I232,NR232+I232 IF(VALUES(I).EQ.0) THEN C 562 CONTINUE C IF(NWTR(NP232255).EQ.232255) THEN NWTDW (NP232255)=NWTDW(ISUBST) NWTR (NP232255)=NWTR (ISUBST) NWTRV (NP232255)=NWTRV(ISUBST) NWTS (NP232255)=NWTS (ISUBST) CWTEN (NP232255)=CWTEN(ISUBST) CWTU (NP232255)=CWTU (ISUBST) ISUBST=ISUBST+1 NP232255=NP232255+1 ELSE NP232255=NP232255+1 GO TO 562 END IF ELSE ISUBST=ISUBST+1 END IF 561 CONTINUE C C ----------------------------------------------------------------- 121 CONTINUE C RETURN C C END emoslib-000392+dfsg.1/bufrdc/parameter.F0000755000175000017500000000140412127406245021014 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4=2,JELEM=320000,JSUBS=400,JCVAL=150 ,JBUFL=512000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=3000,JCTST=9000,JCTEXT=9000, #else 2 JBPW = 32,JTAB =3000,JCTAB=3000,JCTST=9000,JCTEXT=9000, #endif 3 JWORK=4096000,JKEY=46, JTMAX=10,JTCLAS=64,JTEL=255) emoslib-000392+dfsg.1/bufrdc/bubox.F0000755000175000017500000003143012127406245020155 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUBOX(KSUB,KSUP,KELEM,KWTR,CNAMES,CUNITS,KVALS,VALUES, 1 KBOX,KAPP,KLEN,KBOXR,VALS,CBOXN,CBOXU,KERR) C C**** *BUBOX* C C C PURPOSE. C -------- C C C C** INTERFACE. C ---------- C C *CALL BUBOX(KSUB,KSUP,KELEM,KWTR,CNAMES,CUNITS,KVALS,VALUES, C KBOX,KAPP,KLEN,KBOXR,VALS,CBOXN,CBOXU,KERR)* C C INPUT : C *KSUB* - SUBSET NUMBER C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KELEM* - EXPECTED NUMBER OF EXPANDED TABLE B ELEMENTS C *KWTR* - ARRAY CONTAINING BUFR TABLE B REFERENCE NUMBERS C *CNAMES* - ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - ARRAY CONTAINING ELEMENT UNITS C *KVALS* - DIMENSION OF VALUES ARRAY C *VALUES* - ARRAY CONTAINING UNPACKED VALUES C C OUTPUT : C C *KBOX* - NUMBER OF ROWS C *KAPP* - NUMBER OF COLUMNS C *KLEN* - OFFSET FOR START OF NEXT COLUMN C *KBOXR* - ARRAY CONTAINING BUFR TABLE B REFERENCE NUMBERS C *VALS* - ARRAY CONTAINING UNPACKED VALUES C *CBOXN* - ARRAY CONTAINING ELEMENT NAMES C *CBOXU* - ARRAY CONTAINING ELEMENT UNITS C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/94. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" C # include "bcomunit.F" C CHARACTER*64 CNAMES(*) CHARACTER*24 CUNITS(*) C C DIMENSION KSUP(9),KWTR(*) C DIMENSION IOPER(100),RPRINT(60) C DIMENSION KBOXR(JWORK) DIMENSION IBVAL(JELEM),IBPRINT(60) CHARACTER*64 CBOXN(JELEM) CHARACTER*24 CBOXU(JELEM) C #ifndef R_4 REAL*8 VALUES(*) REAL*8 VALS(JWORK) REAL*8 RVIND REAL*8 EPS #else REAL VALUES(*) REAL VALS(JWORK) REAL RVIND REAL EPS #endif C ------------------------------------------------------------------ C C* 1. GET ALL ELEMENTS UNTIL FIRST OPERATOR APPEAR. C --------------------------------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C RVIND=1.7D38 EPS=10.D-7 NVIND=2147483647 C IF(KELEM.GT.JELEM) THEN KERR=47 CALL BUERR(KERR) RETURN END IF C C JUST TO KEEP PROGRAM FOR FUTURE MULTY SUBSET BOXING C KSUB1=KSUB KSUB2=KSUB C IF(KSUB1.LT.1.OR.KSUB1.GT.KSUP(6)) THEN KERR=44 CALL BUERR(KERR) RETURN END IF C IF(KSUB1.NE.KSUB2) THEN WRITE(KNTN,*) 'ONLY ONE SUBSET AT A TIME', 1' WILL BE BOXED.' KSUB2=KSUB1 END IF C KBOXR(1)=2147483647 CBOXN(1)='OPERATOR' CBOXU(1)=' ' KBOXR(2)=2147483647 CBOXN(2)='GENERATING CENTRE( CODE TABLE 001031)' CBOXU(2)='CODE TABLE' KBOXR(3)=2147483647 CBOXN(3)='GENERATING APPLICATION (CODE TABLE 001032)' CBOXU(3)='CODE TABLE' KBOXR(4)=2147483647 CBOXN(4)='STATISTICS (008024/008023) ' CBOXU(4)='CODE TABLE' KBOXR(5)=2147483647 CBOXN(5)='INCREMENTAL UPDATE NUMBER' CBOXU(5)='NUMERIC' KBOXR(6)=2147483647 CBOXN(6)='MINIMISATION SIMULATION NUMBER' CBOXU(6)='NUMERIC' C MREL=0 J=0 DO 103 I=1,KSUP(5) IF(KWTR(I).EQ.222000.OR. 1 KWTR(I).EQ.223000.OR. 1 KWTR(I).EQ.224000.OR. 1 KWTR(I).EQ.225000.OR. 1 KWTR(I).EQ.235000.OR. 1 KWTR(I).EQ.237255.OR. 1 KWTR(I).EQ.232000) THEN J=J+1 IOPER(J)=I END IF 103 CONTINUE C NOPER=J C IOPER(J+1)=KSUP(5) C NOPP1=NOPER+1 INI=IOPER(1)*8+20 IF(INI*NOPP1.GT.JWORK) THEN KERR=47 WRITE(KNTN,*) 'TOO MANY DATA FOR BOXING.' RETURN END IF C DO 105 I=1,INI*NOPP1 VALS(I)=RVIND KBOXR(I)=NVIND 105 CONTINUE C IF(NOPER.EQ.0) THEN KAPP =1 ! NUMBER OF APPLICATIONS KAPPL=1 KLEN=KELEM J=6 DO 101 I=1,KSUP(5) J=J+1 KBOXR(J)=KWTR(I) CBOXN(J)=CNAMES(I) CBOXU(J)=CUNITS(I) DO 191 KK=KSUB1,KSUB2 JJ=I+(KK-1)*KELEM ! POINTER TO VALUES ARRAY IP=J !+(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN ! POINTER TO VALS ARRAY VALS (IP)=VALUES(JJ) 191 CONTINUE 101 CONTINUE C KBOX=J ! TOTAL NUMBER OF ELEMENTS MREL=J GO TO 2000 END IF C O236=.FALSE. C LFIRST=1 J=6 C C LAST=IOPER(1)-1 IF(MREL.EQ.0) MREL=LAST+6 KLEN=LAST*8+20 C 102 CONTINUE C C* 1.1 MOVE ELEMENTS FROM LFIRST TO LAST INTO BOX. C ------------------------------------------- 110 CONTINUE C KAPP =1 ! NUMBER OF APPLICATIONS KAPPL=60 DO 111 I=LFIRST,LAST J=J+1 KBOXR(J)=KWTR(I) CBOXN(J)=CNAMES(I) CBOXU(J)=CUNITS(I) DO 192 KK=KSUB1,KSUB2 JJ=I+(KK-1)*KELEM IP=J ! +(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN VALS (IP)=VALUES(JJ) 192 CONTINUE 111 CONTINUE C KBOX=J ! TOTAL NUMBER OF ELEMENTS C DO 1000 LL=1,NOPER C K=IOPER(LL) C IF(KWTR(K).EQ.235000) THEN MREL=0 K=K+1 C KL=IOPER(LL+1)-1 DO 112 I=K,KL J=J+1 KBOXR(J)=KWTR(I) CBOXN(J)=CNAMES(I) CBOXU(J)=CUNITS(I) DO 190 KK=KSUB1,KSUB2 JJ=I+(KK-1)*KELEM IP=J !+(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN VALS (IP)=VALUES(JJ) 190 CONTINUE 112 CONTINUE GO TO 1000 END IF IF(KWTR(K).EQ.222000) THEN K=K+1 IMARK=222000 IF(MREL.EQ.0) MREL=J GO TO 119 END IF IF(KWTR(K).EQ.223000) THEN K=K+1 IMARK=223000 IF(MREL.EQ.0) MREL=J GO TO 119 END IF IF(KWTR(K).EQ.224000) THEN K=K+1 IMARK=224000 IF(MREL.EQ.0) MREL=J GO TO 119 END IF IF(KWTR(K).EQ.225000) THEN K=K+1 IMARK=225000 IF(MREL.EQ.0) MREL=J GO TO 119 END IF IF(KWTR(K).EQ.232000) THEN K=K+1 IMARK=232000 IF(MREL.EQ.0) MREL=J END IF C 119 CONTINUE C C CHECK IF NEXT ELEMENT IS OPERATOR C IF(KWTR(K).EQ.236000) THEN O236=.TRUE. K=K+1 END IF C IF(KWTR(K).EQ.237000) THEN K=K+1 GO TO 120 END IF C IF(KWTR(K).EQ.237255) THEN O236=.FALSE. K=K+1 GO TO 1000 END IF C C SKIP IF DELAYED REPLICATION FACTOR FOLLOW C IF(KWTR(K).EQ.31002.OR.KWTR(K).EQ.31001.OR. 1 KWTR(K).EQ.31000) K=K+1 C C NEXT ELEMENT MUST BE DATA PRESENT INDICATOR C IF(KWTR(K).NE.31031.AND.KWTR(K).NE.31192) THEN KERR=42 CALL BUERR(KERR) WRITE(KNTN,*) 'ELEMENT ',K,' MUST BE', 1' DATA PRESENT INDICATOR.' RETURN END IF C C COUNT NUMBER OF DATA PRESENT INDICATORS C C IBITS - POINTER TO THE FIRST DATA PRESENT INDICATOR C IDPI - NUMBER OF DATA PRESENT INDICATORS C IBITS=K IDPI=0 DO 113 I=K,IOPER(LL+1) IF(KWTR(I).EQ.31031) THEN IDPI=IDPI+1 ELSE GO TO 114 END IF 113 CONTINUE C KERR=43 CALL BUERR(KERR) RETURN C 114 CONTINUE C C RESET CURRENT POINTER C K=I C C GET BIT MAP FROM VALUES C IBP=IBITS-1 DO 115 I=1,IDPI IBP=IBP+1 IF(ABS(VALUES(IBP)-RVIND)/RVIND.LT.EPS) THEN IBVAL(I)=NVIND ELSE IBVAL(I)=VALUES(IBP) END IF 115 CONTINUE C C 120 CONTINUE C C NEXT 3 ELEMENTS MUST BE GENERATING CENTRE AND APPLICATION C AND CLASS 8 ELEMENT. C KAPP=KAPP+1 IF(KAPP.GT.60) THEN WRITE(KNTN,*) 'THERE IS MORE THAN 60 APPLICATIONS', 1' IN THE DATA.' RETURN END IF IF(KWTR(K).EQ.1031.OR.KWTR(K).EQ.1033) THEN KP=(KAPP-1)*KLEN KP1=KP+1 KBOXR(KP1)=IMARK C CBOXN(KP1)=' ' C CBOXU(KP1)=' ' DO 194 KK=KSUB1,KSUB2 IP=1+(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN VALS(IP)=IMARK 194 CONTINUE KP2=KP+2 KBOXR(KP2)=KWTR(K) C CBOXN(KP2)=CNAMES(K) C CBOXU(KP2)=CUNITS(K) DO 195 KK=KSUB1,KSUB2 JJ=K+(KK-1)*KELEM IP=2+(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN VALS(IP)=VALUES(JJ) 195 CONTINUE K=K+1 END IF IF(KWTR(K).EQ.1032.OR.KWTR(K).EQ.1201.OR.KWTR(K).EQ.63191) THEN KP=(KAPP-1)*KLEN KP3=KP+3 KBOXR(KP3)=KWTR(K) C CBOXN(KP3)=CNAMES(K) C CBOXU(KP3)=CUNITS(K) DO 196 KK=KSUB1,KSUB2 JJ=K+(KK-1)*KELEM IP=3+(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN VALS(IP)=VALUES(JJ) 196 CONTINUE K=K+1 END IF IF(KWTR(K)/1000.EQ.8) THEN KP=(KAPP-1)*KLEN KP4=KP+4 KBOXR(KP4)=KWTR(K) C CBOXN(KP4)=CNAMES(K) C CBOXU(KP4)=CUNITS(K) DO 197 KK=KSUB1,KSUB2 JJ=K+(KK-1)*KELEM IP=4+(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN VALS(IP)=VALUES(JJ) 197 CONTINUE K=K+1 END IF IF(KWTR(K).EQ.33210) THEN KP=(KAPP-1)*KLEN KP5=KP+5 KBOXR(KP5)=KWTR(K) C CBOXN(KP5)=CNAMES(K) C CBOXU(KP5)=CUNITS(K) DO 201 KK=KSUB1,KSUB2 JJ=K+(KK-1)*KELEM IP=5+(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN VALS(IP)=VALUES(JJ) 201 CONTINUE K=K+1 END IF IF(KWTR(K).EQ.33211) THEN KP=(KAPP-1)*KLEN KP6=KP+6 KBOXR(KP6)=KWTR(K) C CBOXN(KP6)=CNAMES(K) C CBOXU(KP6)=CUNITS(K) DO 202 KK=KSUB1,KSUB2 JJ=K+(KK-1)*KELEM IP=6+(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN VALS(IP)=VALUES(JJ) 202 CONTINUE K=K+1 END IF C C NEXT ELEMENT CAN BE DELAYED/EXTENDED DELAYED REPLICATION C SKIP IT C IF(KWTR(K).EQ.31002.OR.KWTR(K).EQ.31001.OR. 1 KWTR(K).EQ.31000) K=K+1 C C C MOVE CORESPONDING QUALITY CONTROL INTO BOX C KQ=MREL-IDPI+1 KAPPK=(KAPP-1)*KLEN DO 121 I=1,IDPI IF(IBVAL(I).NE.0) THEN KKQ=KQ+KAPPK VALS(KKQ)=RVIND KQ=KQ+1 ELSE KKQ=KQ+KAPPK KBOXR(KKQ)=KWTR(K) C CBOXN(KKQ)=CNAMES(K) C CBOXU(KKQ)=CUNITS(K) DO 198 KK=KSUB1,KSUB2 JJ=K+(KK-1)*KELEM ! +(KK-1)*KAPPL*KLEN VALS(KKQ)=VALUES(JJ) 198 CONTINUE K=K+1 KQ=KQ+1 END IF 121 CONTINUE C C CHECK IF SOME NEW DATA FOLLOW. C IF(K.LT.IOPER(LL+1)-1) THEN C C MOVE THESE ELEMENTS INTO BOX C IF(KWTR(IOPER(LL+1)).GT.200000.AND. 1 KWTR(IOPER(LL+1)).NE.999999) THEN ILL=IOPER(LL+1)-1 ELSE ILL=IOPER(LL+1) END IF DO 122 I=K,ILL J=J+1 KBOXR(J)=KWTR(I) CBOXN(J)=CNAMES(I) CBOXU(J)=CUNITS(I) DO 199 KK=KSUB1,KSUB2 JJ=I+(KK-1)*KELEM IP=J !+(KAPP-1)*KLEN ! +(KK-1)*KAPPL*KLEN VALS(IP)=VALUES(JJ) 199 CONTINUE 122 CONTINUE KBOX=J END IF C 1000 CONTINUE C 2000 CONTINUE C KBOX=J IF(KBOX.LE.6) KBOX=0 C RETURN END emoslib-000392+dfsg.1/bufrdc/get_tables.F0000755000175000017500000000447412127406245021157 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GET_TABLES(K) C C**** *GET_TABLES* C C C PURPOSE. C -------- C GET TABLES FROM THE ARRAY OF TABLES C C** INTERFACE. C ---------- C NONE. C C C *METHOD. C ------- C NONE. C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, FM 94 BUFR. C C J.K.GIBSON AND M.DRAGOSAVAC,1987: DECODING DATA C REPRESENTATION FM 94 BUFR,TECHNICAL MEMORANDUM NO. C C J.K.GIBSON,1986:EMOS 2 - STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE ,TECHICAL MEMORANDUM NO. ECMWF. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 2007 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcomtab.F" # include "bcomtabc.F" # include "bcomtabload.F" # include "bcomtabloadc.F" C CHARACTER*64 CTABBEN,CCTABBEN CHARACTER*24 CTABBU,CCTABBU,CTABLE_LIST C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C IF(K.LT.1.OR.K.GT.JTMAX) THEN print*,'Table number > JTMAX' call exit(2) END IF DO 101 I=1,64 DO 101 ii=1,255 NTABP(I,II)=MTABP(I,II,K) 101 CONTINUE C DO 102 I=1,JTAB NTABBTR(I)=MTABBTR(I,K) NTABBS (I)=MTABBS (I,K) NTABBRV(I)=MTABBRV(I,K) NTABBDW(I)=MTABBDW(I,K) CTABBEN(I)=CCTABBEN(I,K) CTABBU (I)=CCTABBU(I,K) NTABDTR(I)=MTABDTR(I,K) NTABDL (I)=MTABDL(I,K) NTABDST(I)=MTABDST(I,K) 102 CONTINUE DO I=1,JTAB*20 NTABDSQ(I)=MTABDSQ(I,K) END DO C C ------------------------------------------------------------------ RETURN END emoslib-000392+dfsg.1/bufrdc/bcmel.F0000755000175000017500000000125312127406245020120 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMEL/ NTDLEN,NTDLST(JELEM),NTDEXL,NTDEXP(JELEM) C C NTDLEN - NUMBER OF DATA DESCRIPTORS IN SECTION 3 C NTDLST - LIST OF DATA DESCRIPTORS C NTDEXL - NUMBER OF EXPANDED DATA DESCRIPTORS C NTDEXP - LIST OF EXPANDED DATA DESCRIPTORS C emoslib-000392+dfsg.1/bufrdc/bustdr.F0000755000175000017500000000665612127406245020355 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUSTDR(KJ,KJ1,KDD,KSTACK,KERR) C C**** *BUSTDR* C C C PURPOSE. C -------- C SOLVE BUFR TABLE D REFERENCE. C C C** INTERFACE. C ---------- C C *CALL* *BUSTDR(KJ,KJ1,KDD,KSTACK,KERR)* C C INPUT : C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KJ* - POINTER TO KSTACK ARRAY C *KJ1* - POINTER TO LAST ELEMENT IN KSTACK C *KSTACK* - LIST OF DATA DESCRIPTORS C *KERR* - RETURN ERROR CODE C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwt.F" # include "bcomtab.F" # include "bcomtabc.F" C CHARACTER CTABBEN*64,CTABBU*24 C DIMENSION ILIST(JELEM),KSTACK(*) C C ------------------------------------------------------------------ C C* 1. OBTAIN LIST OF DESCRIPTORS FROM BUFR TABLE D. C --------------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C DO 110 J=1,JTAB C IF(KDD.EQ.NTABDTR(J)) THEN I=J GO TO 120 END IF C 110 CONTINUE C KERR=20 WRITE(KNTN,*)' BUSTDR :',KDD CALL BUERR(KERR) RETURN C 120 CONTINUE C J1=NTABDST(I) J2=NTABDL (I) J3=0 C DO 121 J=J1,J1+J2-1 C J3 = J3 +1 ILIST(J3) = NTABDSQ(J) C 121 CONTINUE C C ------------------------------------------------------------------ C* 2. PUSH DOWN DATA DESCRIPTION DESCRIPTORS C -------------------------------------- C TO MAKE ROOM FOR LIST. C ---------------------- 200 CONTINUE C J2M1=J2-1 C DO 210 J=KJ1,KJ+1,-1 C KSTACK(J+J2M1) = KSTACK(J) C 210 CONTINUE C C ------------------------------------------------------------------ C* 3. INSERT LIST IN PLACE OF SEQUENCE DESCRIPTORS. C --------------------------------------------- 300 CONTINUE C KJM1=KJ-1 C DO 310 J=1,J3 C KSTACK(KJM1+J)= ILIST(J) C 310 CONTINUE C C ------------------------------------------------------------------ C* 4. ADJUST DESCRIPTOR COUNT FOR LIST LENGTH. C ---------------------------------------- 400 CONTINUE C KJ = KJ - 1 KJ1 = KJ1 +J3 -1 C ------------------------------------------------------------------ C* 4.1 ADJUST NUMBER OF DATA DESCRIPTORS NOT PRESENT. C ---------------------------------------------- 610 CONTINUE C IF(N221.NE.0) N221= KJ1 - KJ + 1 C ----------------------------------------------------------------- 500 CONTINUE C RETURN C 9901 FORMAT(1H ,' BUSTDR : TABLE D REFERENCE NOT FOUND, ERROR=',I2) C END emoslib-000392+dfsg.1/bufrdc/bugetbm.F0000755000175000017500000001205712127406245020467 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUGETBM(KBUFL,KBUFF,KSEC3,KBMP,KBMPL,KBV,KERR) C C**** *BUGETBM* C C C PURPOSE. C -------- C C CREATE BIT MAP TO RESOLVE MARKER OPERATORS. C C C C** INTERFACE. C ---------- C C *CALL* *BUGETBM(KBUFL,KBUFF,KSEC3,KBMP,KBMPL,KBV,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *KBMP - BIT MAP POINTER TO THE FIRST DATA PRESENT C INDICATOR C *KBMPL - NUMBER OF DATA PRESENT INDICATORS C C OUTPUT: C *KBV* - BIT MAP ARRAY C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C BUNPCK - UNPACKS BIT PATTERN C BUNPKS - UNPACKS BIT PATTERN IN REPEATED WAY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcombef.F" # include "bcomwt.F" # include "bcomwtc.F" # include "bcomrq.F" C CHARACTER CWTEN*64,CWTU*24 DIMENSION KBUFF(KBUFL),KBV(*) DIMENSION KSEC3(JSEC3) C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif DIMENSION IMASK(8),ILIST(JELEM) C DATA IMASK /1,2,4,8,16,32,64,128/ C C C ------------------------------------------------------------------ C* 1. CALCULATE WORD AND BIT POINTER TO FIRST C --------------------------------------- C DATA PRESENT INDICATOR. C ----------------------- 100 CONTINUE C C IF(KERR.GT.0) RETURN C IB=0 IF(IAND(KSEC3(4),IMASK(7)).NE.0) IB=1 C IF(IB.EQ.0) THEN C C FOR UNCOMPRESSED DATA C IBIT=NWPTB*NBPW+32+NBPTB DO 101 I=1,KBMP-1 IBIT=IBIT+NWTDW(I) 101 CONTINUE C IWPT=IBIT/NBPW IBPT=IBIT-IWPT*NBPW ELSE C C FOR COMPRESSED DATA C IBIT=32+NBPTB IWORD=IBIT/NBPW C NWORDP(1)=NWPTB+IWORD NBITP (1)=IBIT-IWORD*NBPW C DO 102 I=2,KBMP C IF(NWTDW(I-1).EQ.0) THEN NBITP(I)=NBITP(I-1) NWORDP(I)=NWORDP(I-1) GO TO 102 END IF C IWRD=NWORDP(I-1) IBTP=NBITP (I-1) C IBTP=IBTP+NWTDW(I-1) IF(IBTP.GE.NBPW) THEN IW=IBTP/NBPW IBTP=IBTP-IW*NBPW IWRD=IWRD+IW END IF CALL BUNPCK(NBPW,KBUFF,IDWINC,IWRD,IBTP,6,KERR) IF(KERR.GT.0) RETURN IF(IDWINC.GT.JBPW) THEN KERR=15 WRITE(KNTN,*) 'BUPMRK :' CALL BUERR(KERR) RETURN END IF C IF(CWTU(I-1).EQ.'CCITTIA5') THEN NWTIWS(I-1)=NWTDW(I-1)+6+N*IDWINC*8 ELSEIF(NWTEN(I-1).EQ.-999) THEN NWTIWS(I-1)=NWTDW(I-1)+6+N*IDWINC*8 ELSE NWTIWS(I-1)=NWTDW(I-1)+6+N*IDWINC END IF C IBIT = NBITP(I-1) + NWTIWS(I-1) IWORD= IBIT/NBPW C NBITP (I)= IBIT - IWORD*NBPW NWORDP(I)= NWORDP(I-1) + IWORD 102 CONTINUE C IBPT=NBITP (KBMP) IWPT=NWORDP(KBMP) END IF C C* 2. GET BIT MAP FROM DATA SECTION. C ------------------------------ 200 CONTINUE C IF(IB.EQ.0) THEN CALL GBYTES(KBUFF(IWPT),KBV,IBPT,1,0,KBMPL) ELSE DO 201 I=1,KBMPL CALL BUNPCK(NBPW,KBUFF,IR0,IWPT,IBPT,1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KBUFF,IDWINC,IWPT,IBPT,6,KERR) IF(KERR.GT.0) RETURN IF(IDWINC.GT.JBPW) THEN KERR=15 WRITE(KNTN,*) 'BUPMRK:' CALL BUERR(KERR) RETURN END IF C DO 202 K=1,KSEC3(3) ILIST(K)=0 202 CONTINUE C IF(IDWINC.NE.0) THEN C C UNPACK INCREMENTS C CALL BUNPKS(NBPW,KBUFF,ILIST,IWPT,IBPT, 1 IDWINC,0,KSEC3(3),KERR) IF(KERR.GT.0) RETURN END IF C KBV(I)=IR0 IF(IDWINC.NE.0) KBV(I)=IR0+ILIST(1) 201 CONTINUE C END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/bbuprs0.F0000755000175000017500000000370012127406245020412 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BBUPRS0(KNT,KSEC0) C C**** *BUPRS0* C C C PURPOSE. C -------- C PRINT SECTION 0 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUPRS0(KNT,KSEC0)* C C INPUT : C *KNT* - UNIT NUMBER FOR IO C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" C DIMENSION KSEC0(JSEC0) C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 0. C ---------------- 100 CONTINUE C WRITE(KNT,'(1H1)') C WRITE(KNT,'(1H ,A)') ' BUFR SECTION 0 ' WRITE(KNT,'(1H )') WRITE(KNT,'(1H ,A,I5)') 'LENGTH OF SECTION 0 (BYTES) ', 1 KSEC0(1) WRITE(KNT,'(1H ,A,I5)') 'TOTAL LENGTH OF BUFR MESSAGE (BYTES)', 1 KSEC0(2) WRITE(KNT,'(1H ,A,I5)') 'BUFR EDITION NUMBER ', 1 KSEC0(3) C RETURN END emoslib-000392+dfsg.1/bufrdc/bcmwt.F0000755000175000017500000000307012127406245020151 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMWT/ NDWINC,NSCAM,NAFDW,NWT ,ODREPF,N40,N07,N08, 1 NDWINC07,NSCAM07,NAFDWA(100),NFD,NREP,OREP, 1 N221,MREL,NFCM,NFUCM,MBMP,OMARKER, 2 MBMPL,NSTACK(JELEM),NWTEN(JELEM), 3 NWTR (JELEM),NWTS (JELEM),NWTRV (JELEM), 4 NWTDW(JELEM),NWTIW(JELEM),NWTIWS(JELEM) C C NDWINC - DATA WIDTH INCREMENT C NSCAM - SCALE MULTIPLIER C NAFDW - AUGMENTED FIELD DATA WIDTH C NWT - POINTER TO WORKING TABLE C NSTACK - LIST OF DATA DESCRIPTORS C ODREPF - REPLICATION (LOGICAL) C N221 - DATA NOT PRESENT FOR N221 ELEMENTS C MREL - POINTER TO THE LAST DATA ELEMENT C NFCM - FIRST COMPRESSED MESSAGE C MBMP - POINTER TO THE BEGINING OF BIT MAP C NWTR - WORKING TABLE REFERENCE C NWTS - WORKING SCALE C NWTRV - WORKING REFERENCE VALUE C NWTDW - WORKING DATA WIDTH C NWTIW - WORKING DATA WIDTH OF INCREMENTS C NWTIWS - WORKING TOTAL DATA WIDTH OF ELEMENT SET C emoslib-000392+dfsg.1/bufrdc/bbuprs2.F0000755000175000017500000002461612127406245020425 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BBUPRS2(KNT,KSUP,KEY) C C**** *BUPRS2* C C C PURPOSE. C -------- C PRINT SECTION 2 OF BUFR MESSAGE (EXPANDED RDB KEY). C C C** INTERFACE. C ---------- C C *CALL* *BUPRS2(KNT,KSUP,KEY)* C C INPUT : C *KNT* - UNIT NUMBER FOR IO C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KEY* - ARRAY CONTAINING SECTION 2 INFORMATION C KEY( 1)-- LENGTH OF SECTION 2 (BYTES) C KEY( 2)-- RDB TYPE C KEY( 3)-- RDB SUBTYPE C KEY( 4)-- YEAR C KEY( 5)-- MONTH C KEY( 6)-- DAY C KEY( 7)-- HOUR C KEY( 8)-- MINUTE C KEY( 9)-- SECOND C KEY(10)-- LONGITUDE1 C KEY(11)-- LATITUDE1 C KEY(12)-- LONGITUDE2 C KEY(13)-- LATITUDE2 C KEY(14)-- NUMBER OF SUBSETS C KEY(15)-- IDENT (NUMERIC) C KEY(16)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(17)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(18)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(19)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(20)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(21)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(22)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(23)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(24)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(25)-- TOTAL BUFR MESSAGE LENGTH C KEY(26)-- DAY (RDB INSERTION) C KEY(27)-- HOUR (RDB INSERTION) C KEY(28)-- MINUTE (RDB INSERTION) C KEY(29)-- SECOND (RDB INSERTION) C KEY(30)-- DAY (MDB INSERTION) C KEY(31)-- HOUR (MDB INSERTION) C KEY(32)-- MINUTE (MDB INSERTION) C KEY(33)-- SECOND (MDB INSERTION) C KEY(34)-- CORRECTION NUMBER C KEY(35)-- PART C KEY(36)-- 0 C KEY(37)-- CORRECTION NUMBER C KEY(38)-- PART C KEY(39)-- 0 C KEY(40)-- CORRECTION NUMBER C KEY(41)-- PART C KEY(42)-- 0 C KEY(43)-- CORRECTION NUMBER C KEY(44)-- PART C KEY(45)-- 0 C KEY(46)-- THE LOWEST Q/C % CONFIDENCE C C C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" C DIMENSION KSUP(JSUP),KEY(JKEY) C #ifndef R_4 REAL*8 RLAT1 REAL*8 RLON1 REAL*8 RLAT2 REAL*8 RLON2 #else REAL RLAT1 REAL RLON1 REAL RLAT2 REAL RLON2 #endif C CHARACTER*9 CIDENT CHARACTER*13 YFM C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 2. C ---------------- 100 CONTINUE C YFM='(1H ,A,TR0,A)' C IF(KSUP(2).LE.1) THEN WRITE(KNT) 'PRTKEY : RDB KEY NOT DEFINED IN SECTION 2.' RETURN END IF C WRITE(KNT,'(1H1)') C WRITE(KNT,'(1H ,A)') ' BUFR SECTION 2 ' WRITE(KNT,'(1H )') WRITE(KNT,'(1H ,A,I9)') 'LENGTH OF SECTION 2 ', KEY(1) WRITE(KNT,'(1H )') WRITE(KNT,'(1H ,A)') ' REPORT DATA BASE KEY ' WRITE(KNT,'(1H )') C IKTYPE=0 IF(KEY(2).EQ.2) IKTYPE=2 IF(KEY(2).EQ.3) IKTYPE=2 IF(KEY(2).EQ.12)IKTYPE=2 IF(KEY(2).EQ.08)IKTYPE=2 IF(IKTYPE.EQ.0.AND.KSUP(6).GT.1) IKTYPE=2 C IF(IKTYPE.EQ.2) THEN C IF(KEY(2).EQ.2.OR.KEY(2).EQ.3.OR.KEY(2).EQ.12) THEN C WRITE(KNT,'(1H ,A,I9)') 'RDB DATA TYPE ', KEY(2) WRITE(KNT,'(1H ,A,I9)') 'RDB DATA SUBTYPE ', KEY(3) WRITE(KNT,'(1H ,A,I9)') 'YEAR ', KEY(4) WRITE(KNT,'(1H ,A,I9)') 'MONTH ', KEY(5) WRITE(KNT,'(1H ,A,I9)') 'DAY ', KEY(6) WRITE(KNT,'(1H ,A,I9)') 'HOUR ', KEY(7) WRITE(KNT,'(1H ,A,I9)') 'MINUTE ', KEY(8) WRITE(KNT,'(1H ,A,I9)') 'SECOND ', KEY(9) RLAT1=(KEY(11)-9000000)/100000. RLON1=(KEY(10)-18000000)/100000. WRITE(KNT,'(1H ,A,F9.2)')'LATITUDE 1 ', RLAT1 WRITE(KNT,'(1H ,A,F9.2)')'LONGITUDE 1 ', RLON1 RLAT2=(KEY(13)-9000000)/100000. RLON2=(KEY(12)-18000000)/100000. WRITE(KNT,'(1H ,A,F9.2)')'LATITUDE 2 ', RLAT2 WRITE(KNT,'(1H ,A,F9.2)')'LONGITUDE 2 ', RLON2 WRITE(KNT,'(1H ,A,I9)') 'NUMBER OF OBSERVATIONS ', KEY(14) WRITE(KNT,'(1H ,A,I9)') 'IDENTIFIER ', KEY(15) WRITE(KNT,'(1H ,A,I9)') 'TOTAL BUFR MESSAGE LENGTH ', KEY(25) WRITE(KNT,'(1H ,A,I9)') 'DAY (RDB INSERTION) ', KEY(26) WRITE(KNT,'(1H ,A,I9)') 'HOUR (RDB INSERTION) ', KEY(27) WRITE(KNT,'(1H ,A,I9)') 'MINUTE( (RDB INSERTION) ', KEY(28) WRITE(KNT,'(1H ,A,I9)') 'SECOND (RDB INSERTION) ', KEY(29) WRITE(KNT,'(1H ,A,I9)') 'DAY (MDB ARRIVAL) ', KEY(30) WRITE(KNT,'(1H ,A,I9)') 'HOUR (MDB ARRIVAL) ', KEY(31) WRITE(KNT,'(1H ,A,I9)') 'MINUTE (MDB ARRIVAL) ', KEY(32) WRITE(KNT,'(1H ,A,I9)') 'SECOND (MDB ARRIVAL ', KEY(33) WRITE(KNT,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(34) WRITE(KNT,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(35) WRITE(KNT,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(37) WRITE(KNT,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(38) WRITE(KNT,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(40) WRITE(KNT,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(41) WRITE(KNT,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(43) WRITE(KNT,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(44) WRITE(KNT,'(1H ,A,I9)') 'QUALITY CONTROL % CONF ', KEY(46) ELSE WRITE(KNT,'(1H ,A,I9)') 'RDB DATA TYPE ', KEY(2) WRITE(KNT,'(1H ,A,I9)') 'RDB DATA SUBTYPE ', KEY(3) WRITE(KNT,'(1H ,A,I9)') 'YEAR ', KEY(4) WRITE(KNT,'(1H ,A,I9)') 'MONTH ', KEY(5) WRITE(KNT,'(1H ,A,I9)') 'DAY ', KEY(6) WRITE(KNT,'(1H ,A,I9)') 'HOUR ', KEY(7) WRITE(KNT,'(1H ,A,I9)') 'MINUTE ', KEY(8) WRITE(KNT,'(1H ,A,I9)') 'SECOND ', KEY(9) RLAT1=(KEY(11)-9000000)/100000. RLON1=(KEY(10)-18000000)/100000. WRITE(KNT,'(1H ,A,F9.2)')'LATITUDE 1 ', RLAT1 WRITE(KNT,'(1H ,A,F9.2)')'LONGITUDE 1 ', RLON1 IDD=0 CIDENT=' ' DO 201 ID=16,24 IDD=IDD+1 CIDENT(IDD:IDD)=CHAR(KEY(ID)) 201 CONTINUE IDD=INDEX(CIDENT,' ') IF(IDD.EQ.0) IDD=10 IDD=10-IDD WRITE(YFM(10:10),'(I1)',ERR=202) IDD GO TO 203 202 YFM(10:10)='9' 203 WRITE(KNT,FMT=YFM) 'IDENTIFER ', CIDENT WRITE(KNT,'(1H ,A,I9)') 'TOTAL BUFR MESSAGE LENGTH ', KEY(25) WRITE(KNT,'(1H ,A,I9)') 'DAY (RDB INSERTION) ', KEY(26) WRITE(KNT,'(1H ,A,I9)') 'HOUR (RDB INSERTION) ', KEY(27) WRITE(KNT,'(1H ,A,I9)') 'MINUTE (RDB INSERTION) ', KEY(28) WRITE(KNT,'(1H ,A,I9)') 'SECOND (RDB INSERTION) ', KEY(29) WRITE(KNT,'(1H ,A,I9)') 'DAY (MDB ARRIVAL) ', KEY(30) WRITE(KNT,'(1H ,A,I9)') 'HOUR (MDB ARRIVAL) ', KEY(31) WRITE(KNT,'(1H ,A,I9)') 'MINUTE (MDB ARRIVAL) ', KEY(32) WRITE(KNT,'(1H ,A,I9)') 'SECOND (MDB ARRIVAL ', KEY(33) WRITE(KNT,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(34) WRITE(KNT,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(35) WRITE(KNT,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(37) WRITE(KNT,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(38) WRITE(KNT,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(40) WRITE(KNT,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(41) WRITE(KNT,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(43) WRITE(KNT,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(44) WRITE(KNT,'(1H ,A,I9)') 'QUALITY CONTROL % CONF ', KEY(46) END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/get_name_unit.F0000755000175000017500000000534012127406245021655 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GET_NAME_UNIT(KREFERENCE,YNAME,YUNIT) C C**** *GET_NAME_UNIT* C C C PURPOSE. C -------- C FIND NAME AND THE UNIT FOR THE PARTICULAR REFERENCE NUMBER. C C C** INTERFACE. C ---------- C C *CALL* *GET_NAME_UNIT(KREFERENCE,YNAME,YUNIT)* C C C INPUT : *KREFERENCE* - TABLE B REFERENCE NUMBER C OUTPUT: C *CNAMES* - ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - ARRAY CONTAINING ELEMENT UNITS C *KERR* - RETURN CODE C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/2006. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" CHARACTER*64 YNAME CHARACTER*24 YUNIT C # include "bcomtab.F" # include "bcomtabc.F" C CHARACTER*64 CTABBEN CHARACTER*24 CTABBU DIMENSION KREF(11) CHARACTER*64 CN(11) C DATA KREF/222000,235000,236000,237000,224000,225000,223000, 1 232000,235000,999999,0/ DATA CN/'QUALITY INFORMATION FOLLOW', 1 'CANCEL BACKWARD DATA REFERENCE', 2 'BACKWARD REFERENCE BIT MAP', 3 'USE PREVIOUSLY DEFINED BIT MAP', 4 'FIRST ORDER STATISTICS FOLLOW', 5 'DIFFERENCE STATISTICAL VALUES FOLLOW', 6 'SUBSTITUTED VALUES FOLLOW', 7 'REPLACE/RETAINED VALUES FOLLOW', 8 'CANCEL BACKWARD DATA REFERENCE', 9 'ASSOCIATED FIELD', 1 'REFERENCE VALUE'/ C KERR=0 DO I=1,11 IF(KREFERENCE.EQ.KREF(I)) THEN YNAME=CN(I) YUNIT=' ' RETURN END IF END DO IF(KREFERENCE/1000.EQ.205) THEN YNAME='CHARACTERS' YUNIT='CCITT IA5 ' RETURN END IF C ICLASS=KREFERENCE/1000 IYYY =KREFERENCE-ICLASS*1000+1 ICLASS=ICLASS+1 C if(ICLASS.GT.64.or.IYYY.gt.256) then print*,'KREFERENCE=',KREFERENCE print*,'ICLASS=',ICLASS print*,'IYYY=',IYYY KERR=57 RETURN end if I=NTABP(ICLASS,IYYY) YNAME=CTABBEN(I) YUNIT=CTABBU(I) C RETURN END emoslib-000392+dfsg.1/bufrdc/bcomcom.F0000755000175000017500000000064212127406245020456 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMCOM/ ICOMP emoslib-000392+dfsg.1/bufrdc/buexs0.F0000755000175000017500000001176212127406245020252 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEXS0( KBUFL,KBUFF,KSUP,KSEC0,KERR) C C**** *BUEXS0* C C C PURPOSE. C -------- C EXPANDS SECTION 0 OF BUFR MESSAGE. SAVES BUFR EDITION NUMBER C AND TOTAL LENGTH OF BUFR MESSAGE (BYTES). C C C** INTERFACE. C ---------- C C *CALL* *BUEXS0( KBUFL,KBUFF,KSUP,KSEC0,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C OUTPUT: C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C *KERR* - RETURNED ERROR CODE C C METHOD. C -------- C C NONE. C C EXTERNALS. C ---------- C C BUNPKS - UNPACK BIT PATTERN IN REPEATED WAY C BUNPCK - UNPACK BIT PATTERN C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/09/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" C DIMENSION KBUFF(KBUFL),KSUP(*),KSEC0(*) DIMENSION IBUFR(4) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C CHARACTER*4 YBUFR C C ------------------------------------------------------------------ C* 1. EXPAND SECTION 0. C ----------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C C* 1.1 INITIALIZE WORKING POINTERS NWPT AND NBPT. C ------------------------------------------ IWPT = 0 IBPT = 0 NWPT = 1 NBPT = 0 C C* 1.2 UNPACK FIRST FOUR OCTETS CONTAINING *BUFR*. C ------------------------------------------- C CALL BUNPKS(NBPW,KBUFF,IBUFR,NWPT,NBPT,8,0,4,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING FIRST FOUR OCTETS OF BUFR 1 MESSAGE.' RETURN END IF C C* 1.3 CHECK IF FIRST FOUR OCTETS ARE 'BUFR'. C -------------------------------------- YBUFR=CHAR(IBUFR(1))//CHAR(IBUFR(2))// 1 CHAR(IBUFR(3))//CHAR(IBUFR(4)) IF(YBUFR.NE.'BUFR') THEN KERR = 1 CALL BUERR(KERR) RETURN END IF C C* 1.4 UNPACK BUFR EDITION NUMBER (IT IS 8TH BYTE ). C --------------------------------------------- 140 CONTINUE C IWPT=56/NBPW+1 IBPT=56-(IWPT-1)*NBPW C CALL BUNPCK(NBPW,KBUFF,KSEC0(3),IWPT,IBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC0(3).' RETURN END IF C IF(KSEC0(3).LE.1) GO TO 170 C C* 1.5 UNPACK TOTAL LENGTH OF BUFR MESSAGE. C ------------------------------------ 150 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC0(2),NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC0(2).' RETURN END IF C C* 1.6 UNPACK BUFR EDITION NUMBER. C --------------------------- 160 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC0(3),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC0(3).' RETURN END IF C C C* 1.7 SET LENGTH OF SECTION 0. C ------------------------ 170 CONTINUE C KSEC0(1)= 4 IF(KSEC0(3).GT.1) KSEC0(1)= 8 C C* 1.8 SET SUPPLEMENTARY INFORMATION. C ------------------------------ 180 CONTINUE C KSUP (9)= 3 C RETURN C ----------------------------------------------------------------- C END emoslib-000392+dfsg.1/bufrdc/busel2.F0000755000175000017500000000516312127406245020236 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUSEL2(KSUBSET,KELEM,KTDLEN,KTDLST,KTDEXL,KTDEXP, 1 CNAMES,CUNITS,KERR) C C**** *BUSEL2* C C C PURPOSE. C -------- C RETURNS LIST OF DATA DESCRIPTORS AS IN SECTION 3 OF BUFR C MESSAGE AND TOTAL/REQUESTED LIST OF ELEMENTS, NAMES, UNITS. C C C** INTERFACE. C ---------- C C *CALL* *BUSEL2(KSUBSET,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, C CUNITS,CVALS,KERR)* C C C OUTPUT: C *KTDLEN* - NUMBER OF DATA DESCRIPTORS IN SECTION 3 C *KTDLST* - ARRAY CONTAINING DATA DESCRIPTORS IN SECTION 3 C *KTDEXL* - NUMBER OF ENTRIES IN LIST OF EXPANDED DATA C DESCRIPTORS C *KTDEXP* - ARRAY CONTAINIG EXPANDED DATA DESCRIPTORS C *CNAMES* - ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - ARRAY CONTAINING ELEMENT UNITS C *KERR* - RETURNED ERROR CODE C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/2006. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomel.F" # include "bcomoff.F" C DIMENSION KTDLST(*),KTDEXP(*) C CHARACTER*64 CNAMES(*) CHARACTER*24 CUNITS(*) C C ----------------------------------------------------------------- C* 1. PUT LIST OF ELEMENTS FROM COMMON BLOCK C -------------------------------------- C TO REQUESTED ARRAYS. C -------------------- 100 CONTINUE C KERR=0 C KTDLEN=NTDLEN C DO 101 I=1,NTDLEN KTDLST(I)=NTDLST(I) 101 CONTINUE C IF(OMULTI) THEN NTDEXL=NSIZE(KSUBSET) KTDEXL=NTDEXL IJ=(KSUBSET-1)*KELEM ELSE NTDEXL=NSIZE(1) KTDEXL=NTDEXL IJ=0 END IF C DO 102 I=1,NTDEXL IIJ=I+IJ KTDEXP(I)=NWTRG(IIJ) CALL GET_NAME_UNIT(KTDEXP(I),CNAMES(I),CUNITS(I)) 102 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/bucrekey.F0000755000175000017500000001161612127406245020653 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUCREKEY(KTDEXP,KSUP,KSEC1,KEY,VALUES,CVALS,KERR) C**** *BUCREKEY* C C C PURPOSE. C -------- C C EXTRACT ELEMENTS NEEDED FOR RDB KEY DEFINITION C FROM VALUES AND CVALS ARRAYS. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C C M. DRAGOSAVAC *ECMWF* 06/02/95. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C C ------------------------------------------------------------- DIMENSION KEY(*),KSUP(*),KSEC1(*),KTDEXP(*) #ifndef R_4 REAL*8 VALUES(*) #else REAL VALUES(*) #endif CHARACTER*(*)CVALS(*) CHARACTER*5 CBLOCK C 100 CONTINUE C C IPAID - AIRCRAFT FLIGHT NUMBER INDEX C IPSID - SATELLITE IDENTIFIER INDEX C IPBUOY - BUOY/PLATFORM IDENTIFIER INDEX C IPARN - AIRCRAFT REGISTRATION NUMBER INDEX C IPMET - METAR ICAO ID C IPSHIP - SHIPS' CALL SIGN INDEX C IPBLOK - WMO BLOCK NUMBER INDEX C IPSTAT - WMO STATION NUMBER INDEX C IPYEAR - YEAR INDEX C IPMONTH - MONTH INDEX C IPDAY - DAY INDEX C IPHOUR - HOUR INDEX C IPMINUTE - MINUTE INDEX C IPSECOND - SECOND INDEX C IPLAT - LATITUDE INDEX C IPLON - LONGITUDE INDEX C IPLAT - LATITUDE INDEX C IPLON - LONGITUDE INDEX C KERR=0 C IPAID=0 IPSID=0 IPBUOY=0 IPARN=0 IPMET=0 IPSHIP=0 IPBLOK=0 IPSTAT=0 IPYEAR=0 IPMONTH=0 IPDAY=0 IPHOUR=0 IPMINUTE=0 IPSECOND=0 IPLAT=0 IPLON=0 DO 107 I=16,24 KEY(I)=32 107 CONTINUE C IEND = 26 IF( KSEC1(7).EQ.57 ) IEND = 36 DO 101 I=1,IEND IF(KTDEXP(I).EQ.001006) IPAID=I IF(KTDEXP(I).EQ.001007) IPSID=I IF(KTDEXP(I).EQ.001005) IPBUOY=I C IF(KTDEXP(I).EQ.001008) IPARN=I IF(KTDEXP(I).EQ.001063) IPMET=I IF(KTDEXP(I).EQ.001011) IPSHIP=I IF(KTDEXP(I).EQ.001001) IPBLOK=I IF(KTDEXP(I).EQ.001002) IPSTAT=I IF(KTDEXP(I).EQ.004001) IPYEAR=I IF(KTDEXP(I).EQ.004002) IPMONTH=I IF(KTDEXP(I).EQ.004003) IPDAY=I IF(KTDEXP(I).EQ.004004) IPHOUR=I IF(KTDEXP(I).EQ.004005) IPMINUTE=I IF(KTDEXP(I).EQ.004006) IPSECOND=I IF(KTDEXP(I).EQ.005001) IPLAT=I IF(KTDEXP(I).EQ.006001) IPLON=I IF(KTDEXP(I).EQ.005002) IPLAT=I IF(KTDEXP(I).EQ.006002) IPLON=I 101 CONTINUE C KEY(4)=VALUES(IPYEAR) KEY(5)=VALUES(IPMONTH) KEY(6)=VALUES(IPDAY) KEY(7)=VALUES(IPHOUR) KEY(8)=VALUES(IPMINUTE) IF(IPSECOND.NE.0) KEY(9)=VALUES(IPSECOND) C KEY(10)=NINT(VALUES(IPLON)*100000.+18000000) KEY(11)=NINT(VALUES(IPLAT)*100000.+9000000) KEY(12)=NINT(VALUES(IPLON)*100000.+18000000) KEY(13)=NINT(VALUES(IPLAT)*100000.+9000000) KEY(14)=1 C C SATELITTE ID C IF(IPSID.NE.0) THEN KEY(15)=VALUES(IPSID) END IF C C WMO BLOCK AND STATION NUMBER C IF(IPBLOK.NE.0) THEN KEY(16)=NINT(VALUES(IPBLOK))*1000+NINT(VALUES(IPSTAT)) WRITE(CBLOCK,'(I5.5)') KEY(16) J=15 DO 105 I=1,5 KEY(J+I)=ICHAR(CBLOCK(I:I)) 105 CONTINUE END IF C C BUOY/PALTFORM ID C IF(IPBUOY.NE.0) THEN KEY(16)=NINT(VALUES(IPBUOY)) WRITE(CBLOCK,'(I5.5)') KEY(16) J=15 DO 106 I=1,5 KEY(J+I)=ICHAR(CBLOCK(I:I)) 106 CONTINUE END IF C C AIRCRAFT IDENTIFIER C IF(IPAID.NE.0) THEN IP=(VALUES(IPAID)/1000) INCH=NINT(VALUES(IPAID)-IP*1000) J=15 DO 102 I=1,INCH KEY(J+I)=ICHAR(CVALS(IP)(I:I)) 102 CONTINUE END IF C C AIRCRAFT REGISTRATION NUMBER C IF(IPARN.NE.0) THEN IP=(VALUES(IPARN)/1000) INCH=NINT(VALUES(IPARN)-IP*1000) J=15 DO 103 I=1,INCH KEY(J+I)=ICHAR(CVALS(IP)(I:I)) 103 CONTINUE END IF C C SHIP'S CALL SIGN C IF(IPSHIP.NE.0) THEN IP=(VALUES(IPSHIP)/1000) INCH=NINT(VALUES(IPSHIP)-IP*1000) J=15 DO 104 I=1,INCH KEY(J+I)=ICHAR(CVALS(IP)(I:I)) 104 CONTINUE END IF C C METAR ID C IF(IPMET.NE.0) THEN IP=(VALUES(IPMET)/1000) INCH=NINT(VALUES(IPMET)-IP*1000) J=15 DO 194 I=1,INCH KEY(J+I)=ICHAR(CVALS(IP)(I:I)) 194 CONTINUE END IF RETURN END emoslib-000392+dfsg.1/bufrdc/buedd.F0000755000175000017500000002132112127406245020117 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEDD(KPT,KTDLEN,KTDLST,KDLEN,KDATA,KSEC3, 1 KVALS,VALUES,KELEM,CNAMES,CUNITS,KERR) C C**** *BUEDD* C C C PURPOSE. C -------- C C EXPAND SECTION 3 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUEDD(KPT,KTDLEN,KTDLST,KDLEN,KDATA,KSEC3, C KVALS,VALUES,KELEM,CNAMES,CUNITS,KERR) C C INPUT : C *KPT* - POINTER TO KDATA ARRAY C *KTDLEN* - NUMBER OF DATA DESCRIPTORS IN SECTION 3 C *KTDLST* - ARRAY CONTAINING DATA DESCRIPTORS IN SECTION 3 C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DATA DESCRIPTOR C EXPANSION C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C OUTPUT : C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C DATA DESCRIPTOR TAKEN FROM KTDLST ARRAY ARE FULLY C EXPANDED USING DATA FROM KDATA ARRAY IF NEEDED. C ( DELAYED REPLICATION FACTORS ETC.) C C C EXTERNALS. C ---------- C C BUNEXS - SET WORD AND BIT POINTERS AT THE BEGINING OF C NEXT SECTION C BUNPCK - UNPACKS BIT PATHERN C BUREP - SOLVES REPLICATION PROBLEM C BUETDR - SOLVES TABLE D REFERENCE C BUOPER - PROCESS OPERATOR C BUEPWT - UPDATES WORKING TABLE C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmbef.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmel.F" C CHARACTER CWTEN*64,CWTU*24 CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) C #ifndef R_4 REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS #else REAL VALUES(KVALS) REAL RVIND REAL EPS #endif C DIMENSION ISTACK(JELEM),IISTACK(JELEM) DIMENSION IMASK(8) C DIMENSION KSEC3(JSEC3) DIMENSION KDATA(KDLEN),KTDLST(KTDLEN) C DATA IMASK/1,2,4,8,16,32,64,128/ C ------------------------------------------------------------------ C C* 1. C -------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C N = KSEC3(3) C C C* 2. EXPAND DATA DESCRIPTORS. C ------------------------ 200 CONTINUE C C C* 2.1 SET EXPECTED NUMBER OF DATA DESCRIPTORS. C ---------------------------------------- C AND INITIALIZE NUMBER OF DATA VALUES PER SUB-SET. C ------------------------------------------------- 210 CONTINUE C J = 0 KPT = 0 NWT = 0 JMAX = KTDLEN JMAXNEW=JMAX C IF(KTDLEN.GT.JELEM) THEN WRITE(KNTN,*) ' BUETD :' KERR=29 CALL BUERR(KERR) RETURN END IF C C* 2.2 PUT DATA DESCRIPTORS IN STACK. C ------------------------------ 220 CONTINUE C DO 221 JJ=1,JMAX C ISTACK(JJ)=KTDLST(JJ) IISTACK(JJ)=ISTACK(JJ) C 221 CONTINUE C C* 2.2.1 CHECK IF IT IS SAME DATA DESCRIPTOR DESCRIOPTION. C ------------------------------------------------- C TO MAKE MORE EFFICIENT DATA DESCRIPTOR DESCRIPTION C EXPANSION, IN CASE THAT DELAYED REPLICATION FACTOR C IS NOT PRESENT AND DATA DESCRIPTORS ARE THE SAME, C PREVIOUS WORKING TABLE SHOULD BE USED. IT IS POSIBLE C AT THIS PLACE IN THE FUTURE TO MAKE MORE SOPHISTICATED C CONTROL. C C DO 222 JC=1,JMAX C IF(ISTACK(JC).NE.NSTACK(JC)) THEN C C ODREPF=.FALSE. C C SWAP CONTENT OF THE STACKS. C DO 223 JJC=1,JMAX NSTACK(JJC)=ISTACK(JJC) 223 CONTINUE C NTDLEN = JMAX M=0 NOLD=N NFCM=0 MREL=0 OMARKER=.FALSE. MBMP=0 MBMPL=0 C GO TO 230 C END IF C 222 CONTINUE C C C* IF MARKER OPERATOR PRESENT EXPAND DESCRIPTORS AGAIN C IF(OMARKER) THEN M=0 NOLD=N NFCM=0 MREL=0 OMARKER=.FALSE. NTDLEN=JMAX MBMP=0 MBMPL=0 GO TO 230 END IF C C* RETURN IF DELAYED REPLICATION FACTOR IS NOT PRESENT. C IF(JMAX.NE.NTDLEN) THEN M=0 NOLD=N NFCM=0 MREL=0 OMARKER=.FALSE. NTDLEN=JMAX MBMP=0 MBMPL=0 GO TO 230 END IF C OB=.FALSE. IF(IAND(KSEC3(4),IMASK(7)).NE.0) OB=.TRUE. C IF(ODREPF) GO TO 229 C IF(.NOT.ODREPF) THEN IF(N.GT.NOLD) NOLD=N IF(OB.AND.NFCM.EQ.1) GO TO 300 IF(.NOT.OB.AND.NFCM.EQ.0) GO TO 300 END IF C 229 CONTINUE C M=0 NOLD=N NFCM=0 MREL=0 OMARKER=.FALSE. NTDLEN=JMAX MBMP=0 MBMPL=0 C C ------------------------------------------------------------------ C* 2.3 GET NEXT DESCRIPTOR FROM THE STACK. C ----------------------------------- 230 CONTINUE C J = J + 1 IF(J.GT.JMAX) GO TO 270 C IDD = ISTACK(J) IF(IDD.EQ.0) GO TO 230 C IF = IDD/100000 C C ------------------------------------------------------------------ C* 2.4 CHECK IF IT IS REPLICATION DESCRIPTOR. C -------------------------------------- 240 CONTINUE C IF(IF.EQ.0) THEN C C* 2.6 ELEMENT DESCRIPTOR, SO UPDATE WORKING TABLE. C -------------------------------------------- 260 CONTINUE C c IF(IDD.EQ.31031.OR.IDD.EQ.31192) THEN c NWT=NWT+1 c NWTR(NWT)=IDD c NWTS(NWT)=0 c NWTRV(NWT)=0 c NWTDW(NWT)=1 c NWTEN(NWT)=0 c CWTEN(NWT)='DATA PRESENT INDICATOR' c CWTU (NWT)='FLAG TABLE 031031' c M=M+1 c ELSEIF(IDD.EQ.33007.OR.IDD.EQ.63192) THEN c NWT=NWT+1 c NWTR(NWT)=IDD c NWTS(NWT)=0 c NWTRV(NWT)=0 c NWTDW(NWT)=7 c NWTEN(NWT)=0 c CWTEN(NWT)='% CONFIDENCE' c CWTU (NWT)='%' c M=M+1 c ELSE CALL BUEPWTC(IDD,KERR) IF(KERR.GT.0) RETURN c END IF ELSEIF(IF.EQ.1) THEN C C* 2.4.1 SOLVE REPLICATION PROBLEM. C -------------------------- C CALL BUREPC(KPT,KDLEN,KDATA,J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) RETURN C ELSEIF(IF.EQ.2) THEN C C C* 2.5.3 PROCESS OPERATOR. C ----------------- CALL BUOPERC(KPT,KDLEN,KDATA,J,IDD,ISTACK,KERR) IF(KERR.GT.0) RETURN C ELSEIF(IF.EQ.3) THEN C C C* 2.5.2 REPLACE BY LIST OF DESCRIPTORS FROM TABLE *D. C --------------------------------------------- CALL BUETDR(J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NSTACK(IQ)=0. 252 CONTINUE RETURN END IF ELSE KERR=37 CALL BUERR(KERR) RETURN END IF C GO TO 230 C C ------------------------------------------------------------------ C* 2.7 RESOLVE MARKER OPERATOR. C ------------------------ 270 CONTINUE C C IF(OMARKER) THEN C CALL BUEPMRKC(KSEC3,KVALS,VALUES,KELEM,CNAMES,CUNITS,KERR) C IF(KERR.GT.0) RETURN C END IF C C ------------------------------------------------------------------ C C* 3. COLLECT SUPPLEMENTARY ITEMS. C ----------------------------- 300 CONTINUE C NTDEXL =M DO 301 I=1,NTDEXL NTDEXP(I)=NWTR(I) 301 CONTINUE C NTDLEN=JMAXNEW DO 302 I=1,NTDLEN NTDLST(I)=IISTACK(I) 302 CONTINUE C DO 303 I=1,M CNAMES(I)=CWTEN(I) CUNITS(I)=CWTU (I) 303 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/bcmatbc.F0000755000175000017500000000105112127406245020425 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMATBC/ CATBEN(JTAB),CATBU (JTAB) C C CATBEN - AUGMENTED TABLE B ELEMENT NAME C CATBU - AUGMENTED TABLE B UNITS C emoslib-000392+dfsg.1/bufrdc/README0000755000175000017500000002005212127406245017605 0ustar amckinstryamckinstryThis directory contains software from the BUFR decoding and encoding update library. bbuprs0.F Print BUFR section 0 (?) bbuprs1.F Print BUFR section 1 (?) bbuprs2.F Print BUFR section 2 (?) bbuprs3.F Print BUFR section 3 (?) bbuprt.F Print BUFR (?) bbuprtbox.F Print BUFR box (?) buaug.F Update augmented Bufr table B. bubox.F ?? bucomp.F Pack number of subsets in a compressed form. bucrkey.F Extract elements needed for RDB key definition(update). bucrekey.F Extract elements needed for RDB key definition. buedd.F Expand section 3 of Bufr message buens0.F Pack section 0 of Bufrsage. buens1.F Pack section 1 of Bufr message. buens2.F Pack section 2 of Bufr message. buens3.F Pack section 3 of Bufr message. buens4.F Pack preliminary items/data of sect.4 of Bufr message. buens5.F Pack sect.5 of Bufr message. buepmrk.F Process marker operator, replace with table B descriptor buepmrkc.F Process marker operator, replace with table B descriptor buepwt.F Updates working tables (name,unit,scale,ref,data width) buepwtc.F Updates working tables (name,unit,scale,ref,data width) buerr.F Print error code. buetab.F Load Bufr table B, D and C according to Bufr code. buetd.F Expand sect.3 of Bufr message. buetdr.F Solve Bufr table D reference. buevar.F Initialize constants and variables. buexs0.F Expands sect.0 of Bufr message. buexs1.F Expands sect.1 of Bufr message. buexs2.F Expands sect.2 of Bufr message. buexs3.F Expand sect.3 of Bufr message. buexs3p.F Expand sect.3 of Bufr message. (preliminary items) buexs4.F Expand sect.4 of Bufr message. buexs5.F Expands sect.5 of Bufr message. bufren.F Encode Bufr message. bufrex.F Decode Bufr message into fully expanded form bugbts.F Load Bufr table B, D and C according to Bufr code. bugetbm.F Create bit map to resolve marker operators. buivar.F Initialize constants and variables. bunexs.F Sets word/bit pointers at the start of next Bufr sect. bunpck.F Unpack bit string bunpks.F Unpack bit string of KSIZE bits. buoctn.F Calculate number of octets from bit position. buoper.F Process Bufr operator. buoperc.F Process Bufr operator. bupck.F Pack value *KS* in *KSI* bits bupkey.F Pack local ECMWF information (rdb key) bupks.F Pack bit string of KSIZE bits bupmrk.F Process marker operator, relace with table B descriptor. buprco.F Process Bufr operator. buprq.F Sets variable KPMISS,KPRUS into common block. buprs0.F Print sect.0 of Bufr message. buprs1.F Print sect.1 of bufr message. buprs2.F Print sect.2 of bufr message (expanded RDB key). buprs3.F Print sect.3 of Bufr message. buprt.F Print expanded Bufr message. buprtbox.F Print boxed expanded bufr message. burep.F Resolve data descriptor replication problem. burepc.F Resolve data descriptor replication problem. burqc.F Create parameters needed for partial expansion of Bufr burquc.F Create parameters needed for partial expansion of Bufr bus012.F Expands sect.0,1 AND 2 of Bufr message. busel.F Returns Data Descriptors as in Section 3 of Bufr buset.F Set flags in common block (?) busrp.F Resolve data descriptor replication problem. busrq.F Set Bufr table B references for partial expansion. bustdr.F Solve Bufr table D reference. buuatb.F Update augmented Bufr table B. buukey.F Expands local ECMWF information from sect.2. buunp.F Unpack bit string of KSIZE bits buunps.F Unpack bit string of KSIZE bits buupwt.F Updates working tables (name,unit,scale,ref,data width) buxdes.F Expand data descriptors to show user's template fmmh.F Find max/min latitude/longitude. mbbuprs0.F Mars version of routine (without leading m) mbbuprs1.F Mars version of routine (without leading m) mbbuprs2.F Mars version of routine (without leading m) mbbuprs3.F Mars version of routine (without leading m) mbbuprt.F Mars version of routine (without leading m) mbbuprtbox.F Mars version of routine (without leading m) mbuaug.F Mars version of routine (without leading m) mbubox.F Mars version of routine (without leading m) mbucomp.F Mars version of routine (without leading m) mbucrekey.F Mars version of routine (without leading m) mbucrkey.F Mars version of routine (without leading m) mbuedd.F Mars version of routine (without leading m) mbuens0.F Mars version of routine (without leading m) mbuens1.F Mars version of routine (without leading m) mbuens2.F Mars version of routine (without leading m) mbuens3.F Mars version of routine (without leading m) mbuens4.F Mars version of routine (without leading m) mbuens5.F Mars version of routine (without leading m) mbuepmrk.F Mars version of routine (without leading m) mbuepmrkc.F Mars version of routine (without leading m) mbuepwt.F Mars version of routine (without leading m) mbuepwtc.F Mars version of routine (without leading m) mbuerr.F Mars version of routine (without leading m) mbuetab.F Mars version of routine (without leading m) mbuetd.F Mars version of routine (without leading m) mbuetdr.F Mars version of routine (without leading m) mbuevar.F Mars version of routine (without leading m) mbuexs0.F Mars version of routine (without leading m) mbuexs1.F Mars version of routine (without leading m) mbuexs2.F Mars version of routine (without leading m) mbuexs3.F Mars version of routine (without leading m) mbuexs3p.F Mars version of routine (without leading m) mbuexs4.F Mars version of routine (without leading m) mbuexs5.F Mars version of routine (without leading m) mbufr_mars_filter.F Mars version of routine (without leading m) mbufren.F Mars version of routine (without leading m) mbufrex.F Mars version of routine (without leading m) mbugbts.F Mars version of routine (without leading m) mbugetbm.F Mars version of routine (without leading m) mbuivar.F Mars version of routine (without leading m) mbunexs.F Mars version of routine (without leading m) mbunpck.F Mars version of routine (without leading m) mbunpks.F Mars version of routine (without leading m) mbuoctn.F Mars version of routine (without leading m) mbuoper.F Mars version of routine (without leading m) mbuoperc.F Mars version of routine (without leading m) mbupck.F Mars version of routine (without leading m) mbupkey.F Mars version of routine (without leading m) mbupks.F Mars version of routine (without leading m) mbupmrk.F Mars version of routine (without leading m) mbuprco.F Mars version of routine (without leading m) mbuprq.F Mars version of routine (without leading m) mbuprs0.F Mars version of routine (without leading m) mbuprs1.F Mars version of routine (without leading m) mbuprs2.F Mars version of routine (without leading m) mbuprs3.F Mars version of routine (without leading m) mbuprt.F Mars version of routine (without leading m) mbuprtbox.F Mars version of routine (without leading m) mburep.F Mars version of routine (without leading m) mburepc.F Mars version of routine (without leading m) mburqc.F Mars version of routine (without leading m) mburquc.F Mars version of routine (without leading m) mbus012.F Mars version of routine (without leading m) mbusel.F Mars version of routine (without leading m) mbuset.F Mars version of routine (without leading m) mbusrp.F Mars version of routine (without leading m) mbusrq.F Mars version of routine (without leading m) mbustdr.F Mars version of routine (without leading m) mbuuatb.F Mars version of routine (without leading m) mbuukey.F Mars version of routine (without leading m) mbuunp.F Mars version of routine (without leading m) mbuunps.F Mars version of routine (without leading m) mbuupwt.F Mars version of routine (without leading m) mbuxdes.F Mars version of routine (without leading m) mfmmh.F Mars version of routine (without leading m) msetlalo.F Mars version of routine (without leading m) setlalo.F Return indices for latitude and longitude. sources Sources emoslib-000392+dfsg.1/bufrdc/buukey.F0000755000175000017500000003617212127406245020352 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUUKEY( KSEC1,KSEC2,KEY,KSUP,KERR ) C C**** *BUUKEY* C C C PURPOSE. C -------- C EXPANDS LOCAL ECMWF INFORMATION FROM SECTION 2. C C C** INTERFACE. C ---------- C C *CALL* *BUUKEY(KSEC1,KSEC2,KEY,KSUP,KERR)* C C INPUT : C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C *KSEC2* - ARRAY CONTAINING SECTION 2 INFORMATION C KSEC2( 1)-- LENGTH OF SECTION 2 (BYTES) C KSEC2( 2) TO KSEC2(JSEC2) LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C OUTPUT: C *KEY* - ARRAY CONTAINING RDB INFORMATION C KEY( 1)-- LENGTH OF SECTION 2 (BYTES) C KEY( 2)-- RDB TYPE C KEY( 3)-- RDB SUBTYPE C KEY( 4)-- YEAR C KEY( 5)-- MONTH C KEY( 6)-- DAY C KEY( 7)-- HOUR C KEY( 8)-- MINUTE C KEY( 9)-- SECOND C KEY(10)-- LONGITUDE1 C KEY(11)-- LATITUDE1 C KEY(12)-- LONGITUDE2 C KEY(13)-- LATITUDE2 C KEY(14)-- NUMBER OF SUBSETS C KEY(15)-- IDENT (NUMERIC) C KEY(16)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(17)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(18)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(19)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(20)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(21)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(22)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(23)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(24)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(25)-- TOTAL BUFR MESSAGE LENGTH C KEY(26)-- DAY (RDB INSERTION) C KEY(27)-- HOUR (RDB INSERTION) C KEY(28)-- MINUTE (RDB INSERTION) C KEY(29)-- SECOND (RDB INSERTION) C KEY(30)-- DAY (MDB INSERTION) C KEY(31)-- HOUR (MDB INSERTION) C KEY(32)-- MINUTE (MDB INSERTION) C KEY(33)-- SECOND (MDB INSERTION) C KEY(34)-- CORRECTION NUMBER C KEY(35)-- PART C KEY(36)-- 0 C KEY(37)-- CORRECTION NUMBER C KEY(38)-- PART C KEY(39)-- 0 C KEY(40)-- CORRECTION NUMBER C KEY(41)-- PART C KEY(42)-- 0 C KEY(43)-- CORRECTION NUMBER C KEY(44)-- PART C KEY(45)-- 0 C KEY(46)-- THE LOWEST Q/C % CONFIDENCE C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C BUNPCK - UNPACK BIT PATTERN C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 17/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomdefc.F" C CHARACTER*4 CECMWF,CUSER C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif DIMENSION KSEC1(JSEC1),KSEC2(JSEC2),KEY(JKEY) DIMENSION IDUM(8) ,KSUP (JSUP ),KSEC3(JSEC3) C C C* 1. UNPACK LOCAL ADP CENTRE INFORMATION. C ------------------------------------ 100 CONTINUE C KERR=0 C IF(CECMWF.NE.'ECMF') THEN CALL BUEVAR(KERR) CECMWF='ECMF' END IF C DO 101 I=1,JKEY KEY(I)=0 101 CONTINUE C KEY(1)=KSEC2(1) IW=2 IB=0 IF(KSEC2(1).EQ.52) THEN CALL BUNPCK(NBPW,KSEC2,KEY(2),IW,IB, 8,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(3),IW,IB, 8,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(4),IW,IB,12,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(5),IW,IB, 4,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(6),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(7),IW,IB, 5,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(8),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(9),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(10),IW,IB,26,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(11),IW,IB,25,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 7,KERR) IF(KERR.GT.0) RETURN C IF(KSUP(6).GT.1.OR.KEY(2).EQ.2.OR.KEY(2).EQ.3.OR. 1 KEY(2).EQ.12.OR.KEY(2).EQ.8) THEN C CALL BUNPCK(NBPW,KSEC2,KEY(12),IW,IB,26,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(13),IW,IB,25,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 7,KERR) IF(KERR.GT.0) RETURN IF(KSUP(6).GT.255.OR.KEY(3).GE.121.AND. 1 KEY(3).LE.130.OR.KEY(3).EQ.31) THEN CALL BUNPCK(NBPW,KSEC2,KEY(14),IW,IB,16,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(15),IW,IB,16,KERR) IF(KERR.GT.0) RETURN CALL BUNPKS(NBPW,KSEC2,IDUM(1),IW,IB,8,0,4,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 8,KERR) IF(KERR.GT.0) RETURN ELSE CALL BUNPCK(NBPW,KSEC2,KEY(14),IW,IB, 8,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(15),IW,IB,16,KERR) IF(KERR.GT.0) RETURN CALL BUNPKS(NBPW,KSEC2,IDUM(1),IW,IB,8,0,4,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB,16,KERR) IF(KERR.GT.0) RETURN END IF GO TO 140 ELSE CALL BUNPKS(NBPW,KSEC2,KEY(16),IW,IB,8,0,9,KERR) IF(KERR.GT.0) RETURN CALL BUNPKS(NBPW,KSEC2,IDUM(1) ,IW,IB,8,0,8,KERR) IF(KERR.GT.0) RETURN END IF C C C* 1.4 SUB KEY INFORMATION. C -------------------- 140 CONTINUE C CALL BUNPCK(NBPW,KSEC2,KEY(25),IW,IB,16,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(26),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(27),IW,IB, 5,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(28),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(29),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 1,KERR) IF(KERR.GT.0) RETURN C CALL BUNPCK(NBPW,KSEC2,KEY(30),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(31),IW,IB, 5,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(32),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(33),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 1,KERR) IF(KERR.GT.0) RETURN C CALL BUNPCK(NBPW,KSEC2,KEY(34),IW,IB,6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(35),IW,IB,1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(36),IW,IB,1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(37),IW,IB,6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(38),IW,IB,1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(39),IW,IB,1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(40),IW,IB,6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(41),IW,IB,1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(42),IW,IB,1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(43),IW,IB,6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(44),IW,IB,1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(45),IW,IB,1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(46),IW,IB,8,KERR) IF(KERR.GT.0) RETURN KSUP( 2)=46 ELSE IF(KSEC2(1).EQ.28) THEN CALL BUNPCK(NBPW,KSEC2,KEY(2),IW,IB, 8,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(3),IW,IB, 8,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(4),IW,IB,12,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(5),IW,IB, 4,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(6),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(7),IW,IB, 5,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(8),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(9),IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(10),IW,IB,26,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(11),IW,IB,25,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 5,KERR) IF(KERR.GT.0) RETURN IF(KSUP(6).GT.1.OR.KEY(2).EQ.2.OR.KEY(2).EQ.3) THEN CALL BUNPCK(NBPW,KSEC2(IW),KEY(12),IW,IB,26,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(13),IW,IB,25,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,IDUMMY ,IW,IB, 5,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(14),IW,IB, 8,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KSEC2,KEY(15),IW,IB,16,KERR) IF(KERR.GT.0) RETURN ELSE CALL BUNPKS(NBPW,KSEC2,KEY(16),IW,IB,8,0,9,KERR) IF(KERR.GT.0) RETURN CALL BUNPKS(NBPW,KSEC2,IDUM(1) ,IW,IB,8,0,8,KERR) IF(KERR.GT.0) RETURN END IF ELSE WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A)') 'BUUKEY : KEY DEFINITION NOT KNOWN' WRITE(KNTN,'(1H )') END IF END IF C C CHECK IF IDENT IS RIGHT JUSTIFIED. C IF(KEY(16).EQ.32) THEN J=15 DO 102 I=16,24 IF(KEY(I).EQ.32) GO TO 102 J=J+1 KEY(J)=KEY(I) KEY(I)=32 102 CONTINUE END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/buprs1.F0000755000175000017500000001711512127406245020256 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPRS1(KSEC1) C C**** *BUPRS1* C C C PURPOSE. C -------- C PRINT SECTION 1 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUPRS1(KSEC1)* C C INPUT : C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C FOR BUFR EDITION >= 3 C C KSEC1(16) - ORIGINATING SUB-CENTRE C KSEC1(18) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" C DIMENSION KSEC1(JSEC1) C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 1. C ---------------- 100 CONTINUE C WRITE(KNTN,'(1H1)') C IF(KSEC1( 2).LE.3) THEN WRITE(KNTN,'(1H ,A)') ' BUFR SECTION 1 ' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A,I5)')'LENGTH OF SECTION 1 (BYTES) ',KSEC1( 1) WRITE(KNTN,'(1H ,A,I5)')'BUFR EDITION NUMBER ',KSEC1( 2) IF(KSEC1(2).GE.3) THEN WRITE(KNTN,'(1H ,A,I5)')'ORIGINATING SUB-CENTRE ',KSEC1(16) END IF WRITE(KNTN,'(1H ,A,I5)')'ORIGINATING CENTRE ',KSEC1( 3) WRITE(KNTN,'(1H ,A,I5)')'UPDATE SEQUENCE NUMBER ',KSEC1( 4) WRITE(KNTN,'(1H ,A,I5)')'FLAG (PRESENCE OF SECTION 2) ',KSEC1( 5) WRITE(KNTN,'(1H ,A,I5)')'BUFR MESSAGE TYPE ',KSEC1( 6) WRITE(KNTN,'(1H ,A,I5)')'BUFR MESSAGE SUBTYPE ',KSEC1( 7) WRITE(KNTN,'(1H ,A,I5)')'VERSION NUMBER OF LOCAL TABLE ',KSEC1( 8) WRITE(KNTN,'(1H ,A,I5)')'YEAR ',KSEC1( 9) WRITE(KNTN,'(1H ,A,I5)')'MONTH ',KSEC1(10) WRITE(KNTN,'(1H ,A,I5)')'DAY ',KSEC1(11) WRITE(KNTN,'(1H ,A,I5)')'HOUR ',KSEC1(12) WRITE(KNTN,'(1H ,A,I5)')'MINUTE ',KSEC1(13) WRITE(KNTN,'(1H ,A,I5)')'VERSION NUMBER OF MASTER TABLE',KSEC1(15) WRITE(KNTN,'(1H ,A,I5)')'BUFR MASTER TABLE ',KSEC1(14) ELSEIF(KSEC1( 2).EQ.4) THEN WRITE(KNTN,'(1H ,A)') ' BUFR SECTION 1 ' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A,I9)')'LENGTH OF SECTION 1 (BYTES) ',KSEC1( 1) WRITE(KNTN,'(1H ,A,I9)')'BUFR MASTER TABLE ',KSEC1(14) WRITE(KNTN,'(1H ,A,I9)')'ORIGINATING CENTRE ',KSEC1( 3) WRITE(KNTN,'(1H ,A,I9)')'ORIGINATING SUB-CENTRE ',KSEC1(16) WRITE(KNTN,'(1H ,A,I9)')'UPDATE SEQUENCE NUMBER ',KSEC1( 4) WRITE(KNTN,'(1H ,A,I9)')'FLAG (PRESENCE OF SECTION 2) ',KSEC1( 5) WRITE(KNTN,'(1H ,A,I9)')'DATA CATEGORY ',KSEC1( 6) WRITE(KNTN,'(1H ,A,I9)')'DATA SUB-CATEGORY ',KSEC1(17) WRITE(KNTN,'(1H ,A,I9)')'LOCAL DATA SUB-CATEGORY ',KSEC1( 7) WRITE(KNTN,'(1H ,A,I9)')'VERSION NUMBER OF MASTER TABLE',KSEC1(15) WRITE(KNTN,'(1H ,A,I9)')'VERSION NUMBER OF LOCAL TABLE ',KSEC1( 8) WRITE(KNTN,'(1H ,A,I9)')'YEAR ',KSEC1( 9) WRITE(KNTN,'(1H ,A,I9)')'MONTH ',KSEC1(10) WRITE(KNTN,'(1H ,A,I9)')'DAY ',KSEC1(11) WRITE(KNTN,'(1H ,A,I9)')'HOUR ',KSEC1(12) WRITE(KNTN,'(1H ,A,I9)')'MINUTE ',KSEC1(13) WRITE(KNTN,'(1H ,A,I9)')'SECOND ',KSEC1(18) c WRITE(KNTN,'(1H ,A,I9)')'YEAR (EARLIEST TIME) ',KSEC1(19) c WRITE(KNTN,'(1H ,A,I9)')'MONTH (EARLIEST TIME) ',KSEC1(20) c WRITE(KNTN,'(1H ,A,I9)')'DAY (EARLIEST TIME) ',KSEC1(21) c WRITE(KNTN,'(1H ,A,I9)')'HOUR (EARLIEST TIME) ',KSEC1(22) c WRITE(KNTN,'(1H ,A,I9)')'MINUTE (EARLIEST TIME) ',KSEC1(23) c WRITE(KNTN,'(1H ,A,I9)')'SECOND (EARLIEST TIME) ',KSEC1(28) c WRITE(KNTN,'(1H ,A,I9)')'YEAR (LATEST TIME) ',KSEC1(25) c WRITE(KNTN,'(1H ,A,I9)')'MONTH (LATEST TIME) ',KSEC1(26) c WRITE(KNTN,'(1H ,A,I9)')'DAY (LATEST TIME) ',KSEC1(27) c WRITE(KNTN,'(1H ,A,I9)')'HOUR (LATEST TIME) ',KSEC1(28) c WRITE(KNTN,'(1H ,A,I9)')'MINUTE (LATEST TIME) ',KSEC1(29) c WRITE(KNTN,'(1H ,A,I9)')'SECOND (LATEST TIME) ',KSEC1(30) c WRITE(KNTN,'(1H ,A,I9)')'MOST SOUTHERN LATITUDE ',KSEC1(31) c WRITE(KNTN,'(1H ,A,I9)')'MOST WESTERN LONGITUDE ',KSEC1(32) c WRITE(KNTN,'(1H ,A,I9)')'MOST NORTHERN LATITUDE ',KSEC1(33) c WRITE(KNTN,'(1H ,A,I9)')'MOST EASTERN LONGITUDE ',KSEC1(34) END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/sources0000755000175000017500000000340512127406245020336 0ustar amckinstryamckinstry# # Sources for bufrdc # SOURCES.F = \ bbuprs0.F \ bbuprs1.F \ bbuprs2.F \ bbuprs3.F \ bbuprt.F \ bbuprtbox.F \ buaug.F \ bubox.F \ bucrkey.F \ bucrekey.F \ buedd.F \ buens0.F \ buens1.F \ buens2.F \ buens3.F \ buens4.F \ buens5.F \ buepmrk.F \ buepmrkc.F \ buepwt.F \ buepwtc.F \ buerr.F \ buetab.F \ buetd.F \ buetdr.F \ buevar.F \ buexs0.F \ buexs1.F \ buexs2.F \ buexs3.F \ buexs3p.F \ buexs4.F \ buexs5.F \ bufren.F \ bufrex.F \ bugbts.F \ bugetbm.F \ buivar.F \ bunexs.F \ bunpck.F \ bunpks.F \ buoctn.F \ buoper.F \ buoperc.F \ bupck.F \ bupkey.F \ bupks.F \ bupmrk.F \ buprco.F \ buprq.F \ buprs0.F \ buprs1.F \ buprs2.F \ buprs3.F \ buprt.F \ buprtbox.F \ burep.F \ burepc.F \ burqc.F \ burquc.F \ bustop.F \ bus012.F \ busel.F \ buset.F \ busrp.F \ busrq.F \ bustdr.F \ buuatb.F \ buukey.F \ buunp.F \ buunps.F \ buupwt.F \ buxdes.F \ bugtll.F \ buexs33.F \ busel2.F \ bus0123.F \ get_name_unit.F \ mbufr_mars_filter.F \ fmmh.F \ btable.F \ ctable.F \ dtable.F \ btable1.F \ ctable1.F \ dtable1.F \ big_endian.F \ swap_bytes4.F \ swap_bytes8.F \ get_tables.F \ get_tables1.F \ get_free_unit.F \ busbytesR8.F \ busbytesR4.F \ bugbytesR8.F \ bugbytesR4.F \ buget_opera_image.F \ getcode.F \ getflag.F \ bu_check_s4s.F \ setlalo.F emoslib-000392+dfsg.1/bufrdc/bcomatbc.F0000755000175000017500000000105012127406245020603 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMATBC/ CATBEN(JTAB),CATBU (JTAB) C C CATBEN - AUGMENTED TABLE B ELEMENT NAME C CATBU - AUGMENTED TABLE B UNITS emoslib-000392+dfsg.1/bufrdc/buprs0.F0000755000175000017500000000365612127406245020262 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPRS0(KSEC0) C C**** *BUPRS0* C C C PURPOSE. C -------- C PRINT SECTION 0 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUPRS0(KSEC0)* C C INPUT : C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" C DIMENSION KSEC0(JSEC0) C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 0. C ---------------- 100 CONTINUE C WRITE(KNTN,'(1H1)') C WRITE(KNTN,'(1H ,A)') ' BUFR SECTION 0 ' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A,I10)') 'LENGTH OF SECTION 0 (BYTES) ', 1 KSEC0(1) WRITE(KNTN,'(1H ,A,I10)') 'TOTAL LENGTH OF BUFR MESSAGE (BYTES)', 1 KSEC0(2) WRITE(KNTN,'(1H ,A,I10)') 'BUFR EDITION NUMBER ', 1 KSEC0(3) C RETURN END emoslib-000392+dfsg.1/bufrdc/buens5.F0000755000175000017500000001450412127406245020242 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUENS5( KSEC0,KSEC1,KBUFL,KBUFF,KERR) C C C C C PURPOSE. C -------- C PACK SECTION 5 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUENS5( KSEC0,KSEC1,KBUFL,KBUFF,KERR)* C C INPUT : C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C *KSEC1* - INTEGER ARRAY OF AT LEAST 40 WORDS C CONTAINING BUFR SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(40) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C C OUTPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KERR* - RETURNED ERROR CODE C C METHOD. C -------- C C NONE. C C EXTERNALS. C ---------- C C BUPKS - PACK BIT PATHERN IN REPEATED WAY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/09/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcprq.F" C DIMENSION KBUFF(KBUFL) DIMENSION IBUFR(4) DIMENSION KSEC0(JSEC0),KSEC1(JSEC1) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C DATA IBUFR/55,55,55,55/ C C ------------------------------------------------------------------ C* 1. EXPAND SECTION 5. C ----------------- 100 CONTINUE C IF( KERR.GT.0 ) RETURN C C* 1.2 PACK LAST FOUR OCTETS CONTAINING '7777'. C ---------------------------------------- C CALL BUPKS(NBPW,KBUFF(NWPT),IBUFR,NWPT,NBPT,8,0,4,KERR) IF(KERR.GT.0) RETURN C C* 1.3 SET TOTAL LENGTH OF BUFR MESSAGE. C --------------------------------- 130 CONTINUE C IBYTES=(NWPT-1)*NBPW/8+NBPT/8 IWORDS=IBYTES*8/NBPW IF(IWORDS*NBPW.LT.IBYTES*8) IWORDS=IWORDS+1 KBUFL =IWORDS C C* 1.4 SET TOTAL LENGTH OF BUFR MESSAGE IN SECTION 0. C ---------------------------------------------- 140 CONTINUE C KSEC0(2)=IBYTES C IF(KSEC0(3).GT.1) THEN C C FOR BUFR EDITION 2 LENGTH OF MESSAGE STARTS AT 5 TH BYTE. C IWPT= 32/NBPW + 1 IBPT= 32 - (IWPT-1)* NBPW C CALL BUPCK(NBPW,KBUFF(IWPT),IBYTES,IWPT,IBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING TOTAL LENGTH OF BUFR MESSAGE 1 IN SECTION 0.' END IF END IF C C* 1.5 SET TOTAL BUFR LENGTH IN SECTION 2 C 150 CONTINUE C C RDB KEY PACKED ONLY FOR ECMWF DATA AND SECTION 2 PRESENT. C IF(NOKEY.EQ.0.AND.KSEC1(5).NE.0) THEN IBTS=4 IF(KSEC0(3).GT.1) IBTS=8 C C SIZE OF SECTION 0 AND 1 PLUS 36 BYTES FROM BEGINING C OF SECTION 2. C IBTS=IBTS+KSEC1(1)+36 IBIT=IBTS*8 C IWPT= IBIT/NBPW + 1 IBPT= IBIT - (IWPT-1)* NBPW C IF(IBYTES .GT. 65535 ) IBYTES=65535 C CALL BUPCK(NBPW,KBUFF(IWPT),IBYTES,IWPT,IBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING TOTAL LENGTH OF BUFR MESSAGE 1 IN SECTION 2.' END IF END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/bcomrq.F0000755000175000017500000000120712127406245020320 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMRQ/ NWORDP(JWORK),NBITP(JWORK) C C NWORDP - ARRAY CONTAINING WORD POINTERS TO C REQUESTED ELEMENTS C NBITP - ARRAY CONTAINING BIT POINTERS TO C REQUESTED ELEMENTS C emoslib-000392+dfsg.1/bufrdc/btable1.F0000755000175000017500000001207212127406245020351 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BTABLE1(YNAME,YTABB,KERR) C C**** *BTABLE1* C C C PURPOSE. C -------- C CREATE BUFR TABLE B IN BINARY FORM. C C** INTERFACE. C ---------- C NONE. C C C *METHOD. C ------- C NONE. C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, FM 94 BUFR. C C J.K.GIBSON AND M.DRAGOSAVAC,1987: DECODING DATA C REPRESENTATION FM 94 BUFR,TECHNICAL MEMORANDUM NO. C C J.K.GIBSON,1986:EMOS 2 - STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE ,TECHICAL MEMORANDUM NO. ECMWF. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcmwork.F" # include "bcmtab.F" # include "bcmtabc.F" # include "bcmct.F" # include "bcmctc.F" # include "bcmroot.F" # include "bcmtabload.F" # include "bcmtabloadc.F" C CHARACTER*64 CTABBEN,CCTABBEN CHARACTER*24 CTABBU,CCTABBU,CTABLE_LIST,YTABB CHARACTER*120 YENTRY CHARACTER*(*) YNAME CHARACTER*256 YFNAME REAL*8 RVIND,EPS C C DATA CTABBEN/JTAB*' '/,CTABBU/JTAB*' '/ C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C J=0 ICLASS0=0 IVIND=2147483647 YFNAME=' ' C DO 101 I=1,64 do 101 ii=1,255 NTABP(I,ii)=0 101 CONTINUE C DO 102 i=1,JTAB NTABBTR(I)=IVIND NTABBS (I)=IVIND NTABBRV(I)=IVIND NTABBDW(I)=IVIND CTABBEN(I)=' ' CTABBU (I)=' ' 102 CONTINUE C II=INDEX(YNAME,' ') II=II-1 YFNAME=YNAME(1:II) II=INDEX(YFNAME,' ') II=II-1 CALL GET_FREE_UNIT(IUNIT) OPEN(UNIT=IUNIT,FILE=YFNAME(1:II), 2 IOSTAT=IOS, 1 STATUS='OLD') IF(IOS.NE.0) THEn print*,'open error on ',YFNAME(1:II) kerr=61 return END IF C ------------------------------------------------------------------ C* 2. READ IN TABLE B ELEMENT. C ------------------------ C 200 CONTINUE C YENTRY=' ' READ(IUNIT,'(A)',ERR=402,END=300) YENTRY C J=J+1 IF(J.GT.JTAB) THEN PRINT*,' DIMENSION TOO SMALL J=',J kerr=65 return END IF C C ------------------------------------------------------------------ C* 2.1 SET ARRAYS FOR TABLE REFERENCE, ELEMENT NAME, UNITS, C* REFERENCE VALUE AND DATA WIDTH. C 210 CONTINUE C C READ(YENTRY,'(1X,I6,1x,64x,1x,24x,1x,I3,1x,I12,1x,I3)') 1 NTABBTR(J),NTABBS (J), 1 NTABBRV(J),NTABBDW(J) C CTABBEN(J)=YENTRY( 9:72) CTABBU (J)=YENTRY(74:97) C ICLASS=NTABBTR(J)/1000 IYYY =NTABBTR(J)-ICLASS*1000+1 C ICLASS=ICLASS+1 NTABP(ICLASS,IYYY)=J C c WRITE(*,1000) NTABBTR(J),CTABBEN(J),CTABBU(J),NTABBS(J), c 1 NTABBRV(J),NTABBDW(J) c 1000 FORMAT(1H ,1X,I6,1x,64x,1x,24x,1x,,I3,1x,I12,1x,I3) C GO TO 200 C C ------------------------------------------------------------------ 300 CONTINUE C NTT=NTT+1 IF(NTT.GT.JTMAX) THEN NTT=NTT-1 NTC=NTC+1 IF(NTC.GT.10) NTC=1 DO J=1,JTAB MTABBTR(J,NTC)=NTABBTR(J) MTABBS (J,NTC)=NTABBS (J) MTABBRV(J,NTC)=NTABBRV(J) MTABBDW(J,NTC)=NTABBDW(J) CCTABBEN(J,NTC)=CTABBEN(J) CCTABBU (J,NTC)=CTABBU (J) END DO DO I=1,64 DO K=1,255 MTABP(I,K,NTC)=NTABP(I,K) END DO END DO CTABLE_LIST(NTC)=YTABB ELSE DO J=1,JTAB MTABBTR(J,NTT)=NTABBTR(J) MTABBS (J,NTT)=NTABBS (J) MTABBRV(J,NTT)=NTABBRV(J) MTABBDW(J,NTT)=NTABBDW(J) CCTABBEN(J,NTT)=CTABBEN(J) CCTABBU (J,NTT)=CTABBU (J) END DO DO I=1,64 DO K=1,255 MTABP(I,K,NTT)=NTABP(I,K) END DO END DO CTABLE_LIST(NTT)=YTABB END IF CLOSE(IUNIT) c WRITE(*,'(1h )') c WRITE(*,'(1h ,a,i4)') 'Total number of entries in Table B is',j C RETURN C 402 CONTINUE KERR=1 WRITE(*,4402) IOS,YFNAME 4402 FORMAT(1H ,'Read error',i4,' on ',a) RETURN C 401 CONTINUE C KERR=1 WRITE(*,4401) IOS,YFNAME 4401 FORMAT(1H ,'Open error',i4,' on ',a) C RETURN END emoslib-000392+dfsg.1/bufrdc/buprs3.F0000755000175000017500000000622312127406245020256 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPRS3(KSEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP,KELEM,CNAMES) C C**** *BUPRS3* C C C PURPOSE. C -------- C PRINT SECTION 3 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUPRS3(KSEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP, C KELEM,CNAMES)* C C INPUT : C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *KTDLEN* - NUMBER OF DATA DESCRIPTORS IN SECTION 3 C *KTDLST* - ARRAY CONTAINING DATA DESCRIPTORS IN SECTION 3 C *KTDEXL* - NUMBER OF ENTRIES IN LIST OF EXPANDED DATA C DESCRIPTORS C *KTDEXP* - ARRAY CONTAINIG EXPANDED DATA DESCRIPTORS C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" C C DIMENSION KSEC3(JSEC3) DIMENSION KTDLST(KTDLEN),KTDEXP(KTDEXL) C CHARACTER*64 CNAMES(KELEM) C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 3. C ---------------- 100 CONTINUE C WRITE(KNTN,'(1H1)') C WRITE(KNTN,'(1H ,A)') ' BUFR SECTION 3 ' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A,I5)') 'LENGTH OF SECTION 3 (BYTES) ', 1 KSEC3(1) WRITE(KNTN,'(1H ,A,I5)') 'RESERVED ', 1 KSEC3(2) WRITE(KNTN,'(1H ,A,I5)') 'NUMBER OF DATA SUBSETS ', 1 KSEC3(3) WRITE(KNTN,'(1H ,A,I5)') 'FLAG (DATA TYPE/DATA COMPRESSION) ', 1 KSEC3(4) C WRITE(KNTN,'(1H ,//)') WRITE(KNTN,'(1H ,A)') ' DATA DESCRIPTORS (UNEXPANDED)' C WRITE(KNTN,'(1H )') DO 110 I=1,KTDLEN WRITE(KNTN,'(1H ,I4,2X,I6.6)') I,KTDLST(I) 110 CONTINUE C WRITE(KNTN,'(1H ,/)') WRITE(KNTN,'(1H ,A)') ' DATA DESCRIPTORS (EXPANDED)' WRITE(KNTN,'(1H )') DO 120 I=1,KTDEXL WRITE(KNTN,'(1H ,I5,2X,I6.6,2X,A)') I,KTDEXP(I),CNAMES(I) 120 CONTINUE RETURN END emoslib-000392+dfsg.1/bufrdc/bcomtabc.F0000755000175000017500000000110612127406245020605 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMTABC / CTABBEN(JTAB),CTABBU (JTAB) C C CTABBEN - TABLE B, ELEMENT NAME ARRAY C CTABBU - TABLE B, UNIT ARRAY C emoslib-000392+dfsg.1/bufrdc/buget_opera_image.F0000755000175000017500000002222612127406245022477 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUGET_OPERA_IMAGE(KSEC1,KTDEXL,KTDEXP, 1 CNAMES,CUNITS, KELEM,KVALS,VALUES,CVALS,KTDEXL_IMG, 2 KTDEXP_IMG,CNAMES_IMG,CUNITS_IMG,KVALS_IMG,VALUES_IMG, 3 CVALS_IMG,KSIZE_IMG_BYTES,IMAGE,KPIXEL_SIZE,KERR) C C**** *BUGET_OPERA_IMAGE* C C C PURPOSE. C -------- C APPLY DELAYED REPETITIONS TO GET FULL IMAGE C C C** INTERFACE. C ---------- C C *CALL* *BUGET_OPERA_IMAGE(KSEC1,KTDEXL,KTDEXP,CNAMES,CUNITS, C KELEM,,KVALS,VALUES,CVALS, C KTDEXL_IMG,KTDEXP_IMG,CNAMES_IMG,CUNITS_IMG, C KVALS_IMG,VALUES_IMG,CVALS_IMG,IMAGE,KPIXEL_SIZE,KERR) C C INPUT : C *KSEC1* - An integer array of at least 40 words containing Bufr Section 1 C *KTDEXL* - An integer variable containing number of expanded data descriptors C *KTDEXP* - An integer array containing the list of KTDEXL data descriptors C *CNAMES* - A CHARACTER*64 array of kelem containing element names C *CUNITS* - A CHARACTER*24 array of kelem containig bufr table B units C *KELEM* - An integer containing expected number of expanded elements C *KVALS* - An integer containing expected number of data elelemnts C *VALUES* - A REAL*8 array containing expanded values C *CVALS* - A CHARACTER*80 array containing character values C OUTPUT: C *KTDEXL_IMG* - An integer variable containing number of expanded data descriptors C *KTDEXP_IMG* - An integer array containing the list of KTDEXL_IMG data descriptors C *CNAMES_IMG* - A CHARACTER*64 array of kelem containing element names C *CUNITS_IMG* - A CHARACTER*24 array of kelem containig bufr table B units C *KVALS_IMG* - An integer containing number pixels in IMAGE C *VALUES_IMG* - A REAL*8 array containing expanded values C *CVALS_IMG* - A CHARACTER*80 array containing character values C *IMAGE* - Integer array containing image ( pixel values) C *KPIXEL_SIZE*- Integer containing pixel size in bytes C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 02/04/2008 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" C PARAMETER (JPIXEL=10000000) C DIMENSION KSEC1(JSEC1) INTEGER*4 IMAGE(*) INTEGER*4 IPIXELS(JPIXEL) C DIMENSION KTDEXP(*) DIMENSION KTDEXP_IMG(*) REAL*8 VALUES_IMG(*) C CHARACTER*64 CNAMES(*),CNAMES_IMG(*) CHARACTER*24 CUNITS(*),CUNITS_IMG(*) CHARACTER*80 CVALS(*) ,CVALS_IMG(*) C CHARACTER*256 COUT1,COUT2,COUT3 C #ifndef R_4 REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS #else REAL VALUES(KVALS) REAL RVIND REAL EPS #endif C C ------------------------------------------------------------------ C RVIND=1.7D38 EPS=10.D-8 C Create image c IROW=0 DO I=1,KTDEXL IF(KTDEXP(i).eq.005031) THEN IROW=IROW+1 END IF END DO C I_N_BYTE=0 DO I=1,KTDEXL IF(KTDEXP(i).eq.030001) THEN I_N_BYTE=1 ELSEIF(KTDEXP(i).eq.030002) THEN I_N_BYTE=1 ELSEIF(KTDEXP(i).eq.030004) THEN I_N_BYTE=2 END IF END DO C print*,'Size of pixel in bytes=',I_N_BYTE C print*,'total number of rows=',irow DO I=1,KTDEXL IF(KTDEXP(I).EQ.005031.AND.KTDEXP(i-1).EQ.031002) THEN IMAGE_START=I-1 GO TO 100 END IF END DO c 100 CONTINUE c DO I=1,IMAGE_START-1 KTDEXP_IMG(I)=KTDEXP(I) END DO KTDEXL_IMG=IMAGE_START-1 c C print*,'KTDEXL_IMG=',KTDEXL_IMG C print*,'image_start=',image_start C DO I=1,IMAGE_START-1 VALUES_IMG(I)=VALUES(I) CNAMES_IMG(I)=CNAMES(I) CUNITS_IMG(I)=CUNITS(I) END DO C C DO I=1,IMAGE_START-1 C WRITE(IUNIT2,'(I6,1X,A64,E23.14E3,1x,a24)') I,CNAMES(I), C c VALUES(I),CUNITS(I) C END DO C NBPW=JBPW NWPT=1 NBPT=0 IMX=0 MAX=0 i0=0 DO I=IMAGE_START,KTDEXL IF(KTDEXP(I).EQ.005031) THEN END IF IF(KTDEXP(I).EQ.030001.AND.KTDEXP(I-1).EQ.031012) THEN I_REPEAT=NINT(VALUES(I-1)) DO J=1,I_REPEAT IMX=IMX+1 if(abs(VALUES(I)-rvind)/rvind.lt.eps) then ipixels(IMX)=255 else IF(NINT(VALUES(I)).GT.MAX) MAX=NINT(VALUES(I)) IVAL=NINT(VALUES(I)) ipixels(IMX)=ival end if END DO ELSEIF(KTDEXP(I).EQ.030002.AND.KTDEXP(I-1).EQ.031012) THEN I_REPEAT=NINT(VALUES(I-1)) DO J=1,I_REPEAT IMX=IMX+1 if(abs(VALUES(I)-rvind)/rvind.lt.eps) then ipixels(IMX)=255 CALL BUPCK(NBPW,IMAGE(NWPT),255,NWPT,NBPT,8,IERR) else IF(NINT(VALUES(I)).GT.MAX) MAX=NINT(VALUES(I)) IVAL=NINT(VALUES(I)) ipixels(IMX)=ival end if END DO ELSEIF(KTDEXP(i).EQ.030004.AND.KTDEXP(I-1).EQ.031012) THEN I_REPEAT=NINT(VALUES(I-1)) DO J=1,I_REPEAT IMX=IMX+1 if(abs(VALUES(I)-rvind)/rvind.lt.eps) then ipixels(IMX)=65535 else IF(NINT(VALUES(I)).GT.MAX) MAX=NINT(VALUES(I)) IVAL=NINT(VALUES(I)) ipixels(IMX)=ival end if END DO ELSEIF(KTDEXP(I).EQ.030001.AND.KTDEXP(I-1).EQ.031011) THEN I_REPEAT=NINT(VALUES(I-1)) DO J=1,I_REPEAT IMX=IMX+1 if(abs(VALUES(I)-rvind)/rvind.lt.eps) then ipixels(IMX)=255 else IF(NINT(VALUES(I)).GT.MAX) MAX=NINT(VALUES(I)) IVAL=NINT(VALUES(I)) ipixels(IMX)=ival end if END DO ELSEIF(KTDEXP(I).EQ.030002.AND.KTDEXP(I-1).EQ.031011) THEN I_REPEAT=NINT(VALUES(I-1)) DO J=1,I_REPEAT IMX=IMX+1 if(abs(VALUES(I)-rvind)/rvind.lt.eps) then ipixels(IMX)=255 else IF(NINT(VALUES(I)).GT.MAX) MAX=NINT(VALUES(I)) IVAL=NINT(VALUES(I)) ipixels(IMX)=ival end if END DO ELSEIF(KTDEXP(I).EQ.030004.and.KTDEXP(I-1).EQ.031011) THEN I_REPEAT=NINT(VALUES(I-1)) DO J=1,I_REPEAT IMX=IMX+1 if(abs(VALUES(I)-rvind)/rvind.lt.eps) then ipixels(IMX)=65535 else IF(NINT(VALUES(I)).GT.MAX) MAX=NINT(VALUES(I)) IVAL=NINT(VALUES(I)) ipixels(IMX)=ival end if END DO ELSEIF(KTDEXP(I).EQ.030001) THEN IMX=IMX+1 if(abs(VALUES(I)-rvind)/rvind.lt.eps) then ipixels(IMX)=255 else IF(NINT(VALUES(I)).GT.MAX) MAX=NINT(VALUES(I)) IVAL=NINT(VALUES(I)) ipixels(IMX)=ival end if ELSEIF(KTDEXP(I).EQ.030002) THEN IMX=IMX+1 if(abs(VALUES(I)-rvind)/rvind.lt.eps) then ipixels(IMX)=255 else IF(NINT(VALUES(I)).GT.MAX) MAX=NINT(VALUES(I)) IVAL=NINT(VALUES(I)) ipixels(IMX)=ival end if ELSEIF(KTDEXP(I).EQ.030004) THEN IMX=IMX+1 if(abs(VALUES(I)-rvind)/rvind.lt.eps) then ipixels(IMX)=65355 else IF(NINT(VALUES(I)).GT.MAX) MAX=NINT(VALUES(I)) IVAL=NINT(VALUES(I)) ipixels(IMX)=ival end if END IF END DO C KSIZE_IMG_BYTES=IMX*I_N_BYTE KPIXEL_SIZE=I_N_BYTE KVALS_IMG=IMX C CALL SBYTES(IMAGE,IPIXELS,0,8,0,IMX) C print*,'max pixel value=',max C print*,'number of pixels=',KVALS_IMG C print*,'image size bytes=',KSIZE_IMG_BYTES C GO TO 900 C ----------------------------------------------------------------- C 810 CONTINUE C WRITE(*,'(1H ,A)') 'OPEN ERROR ON INPUT FILE' GO TO 900 C 800 CONTINUE C IF(IRET.EQ.-1) THEN PRINT*,'NUMBER OF RECORDS PROCESSED ',N PRINT*,'NUMBER OF OBSERVATIONS ',IOBS ELSE PRINT*,' BUFR : ERROR= ',IERR END IF C 900 CONTINUE C C C ------------------------------------------------------------------ RETURN END emoslib-000392+dfsg.1/bufrdc/bupmrk.F0000755000175000017500000004230612127406245020342 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPMRK(KBUFL,KBUFF,KSEC3,KELEM,KERR) C C**** *BUPMRK* C C C PURPOSE. C -------- C C PROCESS MARKER OPERATOR, RELACING IT WITH CORRESPONDING C TABLE B ELEMENT DESCRIPTOR. C C C** INTERFACE. C ---------- C C *CALL* *BUPMRK(KBUFL,KBUFF,KSEC3,KELEM,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C OUTPUT: C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C NONE. C C EXTERNALS. C ---------- C C BUNPCK - UNPACKS BIT PATTERN C BUNPKS - UNPACKS BIT PATTERN IN REPEATED WAY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcombef.F" # include "bcomwt.F" # include "bcomwtc.F" # include "bcomrq.F" C CHARACTER CWTEN*64,CWTU*24 C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif DIMENSION KSEC3(JSEC3) DIMENSION KBUFF(KBUFL),IBV(JELEM),ILIST(JELEM) DIMENSION IMASK(8) DATA IMASK/1,2,4,8,16,32,64,128/ C SAVE IBV C C ------------------------------------------------------------------ C* 1. FINED OPERATOR 223000 TO 237255. C -------------------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C C 1.1 CHECK IF DATA ARE COMRESSED. C ---------------------------- 110 CONTINUE C IB=0 IF(IAND(KSEC3(4),IMASK(7)).NE.0) IB=1 C C* 1.2 FIND POSITION OF OPREATORS. C --------------------------- 120 CONTINUE C M0OLD=M0 DO 121 J=M0OLD,M C NR223=0 NR224=0 NR225=0 NR232=0 C IF(NWTR(J).EQ.222000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C M0=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 122 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 I222=MBMP NR222=MBMPL-MBMP+1 C CALL BUGETBM(KBUFL,KBUFF,KSEC3,I222,NR222,IBV,KERR) IF(KERR.GT.0) RETURN C GO TO 121 END IF 122 CONTINUE END IF GO TO 121 END IF C IF(NWTR(J).EQ.223000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C M0=J NP223000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 123 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 C I223=MBMP NR223=MBMPL-MBMP+1 C CALL BUGETBM(KBUFL,KBUFF,KSEC3,I223,NR223,IBV,KERR) IF(KERR.GT.0) RETURN C GO TO 200 END IF 123 CONTINUE END IF GO TO 200 END IF IF(NWTR(J).EQ.224000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C M0=J NP224000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 124 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 C I224=MBMP NR224=MBMPL-MBMP+1 C CALL BUGETBM(KBUFL,KBUFF,KSEC3,I224,NR224,IBV,KERR) IF(KERR.GT.0) RETURN C GO TO 300 END IF 124 CONTINUE END IF GO TO 300 END IF IF(NWTR(J).EQ.225000) THEN C C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C M0=J NP225000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 125 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 C I225=MBMP NR225=MBMPL-MBMP+1 C CALL BUGETBM(KBUFL,KBUFF,KSEC3,I225,NR225,IBV,KERR) IF(KERR.GT.0) RETURN C GO TO 400 END IF 125 CONTINUE END IF GO TO 400 END IF C IF(NWTR(J).EQ.232000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C M0=J NP232000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 126 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 C I232=MBMP NR232=MBMPL-MBMP+1 C CALL BUGETBM(KBUFL,KBUFF,KSEC3,I232,NR232,IBV,KERR) IF(KERR.GT.0) RETURN C GO TO 500 END IF 126 CONTINUE END IF GO TO 500 END IF C C IF(NWTR(J).EQ.235000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C MREL=0 MBMP=0 MBMPL=0 M0=J C END IF C IF(NWTR(J).EQ.237255) THEN C C CANCEL BACKWARD BIT MAP REFERENCE. C MBMP=0 MBMPL=0 C END IF GO TO 121 C C ----------------------------------------------------------------- C* 2. PROCESS SUBSTITUTED VALUES OPERATOR. C ------------------------------------ C 200 CONTINUE C C* 2.1 FIND FIRST ACCURANCE OF 223255. C ------------------------------- 210 CONTINUE C NP223255=0 DO 211 I=NP223000,M IF(NWTR(I).EQ.223255) THEN NP223255=I GO TO 220 END IF 211 CONTINUE C GO TO 121 C C* 2.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 220 CONTINUE C IF(MBMP.EQ.0) THEN I223=0 OF223=.TRUE. DO 221 I=NP223000,NP223255 IF(NWTR(I).EQ.031031) THEN IF(OF223) THEN I223=I OF223=.FALSE. END IF NR223=NR223+1 END IF 221 CONTINUE ELSE I223=MBMP NR223=MBMPL-MBMP+1 GO TO 250 END IF C C* 2.3 CALCULATE WORD AND BIT POINTER TO FIRST C --------------------------------------- C DATA PRESENT INDICATOR. C ----------------------- 230 CONTINUE C CALL BUGETBM(KBUFL,KBUFF,KSEC3,I223,NR223,IBV,KERR) IF(KERR.GT.0) RETURN C C* 2.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 250 CONTINUE C ISUBST=MREL-NR223+1 C C* 2.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 260 CONTINUE C DO 261 I=1,NR223 IF(IBV(I).EQ.0) THEN C 262 CONTINUE C IF(NWTR(NP223255).EQ.223255) THEN NWTDW (NP223255)=NWTDW(ISUBST) NWTR (NP223255)=NWTR (ISUBST) NWTRV (NP223255)=NWTRV(ISUBST) NWTS (NP223255)=NWTS (ISUBST) CWTEN (NP223255)=CWTEN(ISUBST) CWTU (NP223255)=CWTU (ISUBST) NWTEN (NP223255)=NWTEN(ISUBST) ISUBST=ISUBST+1 NP223255=NP223255+1 ELSE NP223255=NP223255+1 GO TO 262 END IF ELSE ISUBST=ISUBST+1 END IF 261 CONTINUE C GO TO 121 C C ----------------------------------------------------------------- C* 3. PROCESS FIRST ORDER STATISTICS OPERATOR. C ---------------------------------------- 300 CONTINUE C C* 3.1 FIND FIRST ACCURANCE OD 224255. C ------------------------------- 310 CONTINUE C NP224255=0 DO 311 I=NP224000,M IF(NWTR(I).EQ.224255) THEN NP224255=I GO TO 320 END IF 311 CONTINUE C GO TO 121 C C* 3.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 320 CONTINUE C IF(MBMP.EQ.0) THEN I224=0 OF224=.TRUE. DO 321 I=NP224000,NP224255 IF(NWTR(I).EQ.031031) THEN IF(OF224) THEN I224=I OF224=.FALSE. END IF NR224=NR224+1 END IF 321 CONTINUE ELSE I224=MBMP NR224=MBMPL-MBMP+1 GO TO 350 END IF C C* 3.3 CALCULATE WORD AND BIT POINTER TO FIRST C --------------------------------------- C DATA PRESENT INDICATOR. C ----------------------- 330 CONTINUE C CALL BUGETBM(KBUFL,KBUFF,KSEC3,I224,NR224,IBV,KERR) IF(KERR.GT.0) RETURN C C* 3.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 350 CONTINUE C ISUBST=MREL-NR224+1 C C* 3.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 360 CONTINUE C DO 361 I=1,NR224 IF(IBV(I).EQ.0) THEN C 362 CONTINUE C IF(NWTR(NP224255).EQ.224255) THEN NWTDW (NP224255)=NWTDW(ISUBST) NWTR (NP224255)=NWTR (ISUBST) NWTRV (NP224255)=NWTRV(ISUBST) NWTS (NP224255)=NWTS (ISUBST) CWTEN (NP224255)=CWTEN(ISUBST) CWTU (NP224255)=CWTU (ISUBST) NWTEN (NP224255)=NWTEN(ISUBST) ISUBST=ISUBST+1 NP224255=NP224255+1 ELSE NP224255=NP224255+1 GO TO 362 END IF ELSE ISUBST=ISUBST+1 END IF 361 CONTINUE C GO TO 121 C C C ----------------------------------------------------------------- C* 4. PROCESS DIFFERENCE STATISTICS OPERATOR. C --------------------------------------- 400 CONTINUE C C C* 4.1 FIND FIRST ACCURANCE OD 223255. C ------------------------------- 410 CONTINUE C NP225255=0 DO 411 I=NP225000,M IF(NWTR(I).EQ.225255) THEN NP225255=I GO TO 420 END IF 411 CONTINUE C GO TO 121 C C* 4.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 420 CONTINUE C IF(MBMP.EQ.0) THEN I225=0 OF225=.TRUE. DO 421 I=NP225000,NP225255 IF(NWTR(I).EQ.031031) THEN IF(OF225) THEN I225=I OF225=.FALSE. END IF NR225=NR225+1 END IF 421 CONTINUE ELSE I225=MBMP NR225=MBMPL-MBMP+1 GO TO 450 END IF C C* 4.3 CALCULATE WORD AND BIT POINTER TO FIRST C --------------------------------------- C DATA PRESENT INDICATOR. C ----------------------- 430 CONTINUE C CALL BUGETBM(KBUFL,KBUFF,KSEC3,I225,NR225,IBV,KERR) IF(KERR.GT.0) RETURN C C* 4.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 450 CONTINUE C ISUBST=MREL-NR225+1 C C* 4.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 460 CONTINUE C DO 461 I=1,NR225 IF(IBV(I).EQ.0) THEN C 462 CONTINUE C IF(NWTR(NP225255).EQ.225255) THEN NWTR (NP225255)=NWTR (ISUBST) C C CHANGE REFERENCE VALUE TO BE CENTRED AROUND ZERO C AND INCREASE DATA WIDTH BY 1 C IF(NWTEN(ISUBST).NE.-999) THEN NWTRV (NP225255)=-2**NWTDW(ISUBST) NWTDW (NP225255)=NWTDW(ISUBST)+1 ELSE NWTRV (NP225255)=NWTDW(ISUBST) NWTDW (NP225255)=NWTDW(ISUBST) NWTEN (NP225255)=NWTEN(ISUBST) END IF C NWTS (NP225255)=NWTS (ISUBST) CWTEN (NP225255)=CWTEN(ISUBST) CWTU (NP225255)=CWTU (ISUBST) ISUBST=ISUBST+1 NP225255=NP225255+1 ELSE NP225255=NP225255+1 GO TO 462 END IF ELSE ISUBST=ISUBST+1 END IF 461 CONTINUE C GO TO 121 C C ----------------------------------------------------------------- C* 5. PROCESS REPLACE/RETAINED OPERATOR. C ---------------------------------- 500 CONTINUE C C C* 5.1 FIND FIRST ACCURANCE OD 232255. C ------------------------------- 510 CONTINUE C NP232255=0 DO 511 I=NP232000,M IF(NWTR(I).EQ.232255) THEN NP232255=I GO TO 520 END IF 511 CONTINUE C GO TO 121 C C* 5.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 520 CONTINUE C IF(MBMP.EQ.0) THEN I232=0 OF232=.TRUE. DO 521 I=NP232000,NP232255 IF(NWTR(I).EQ.031031) THEN IF(OF232) THEN I232=I OF232=.FALSE. END IF NR232=NR232+1 END IF 521 CONTINUE ELSE I232=MBMP NR232=MBMPL-MBMP+1 GO TO 550 END IF C C* 5.3 CALCULATE WORD AND BIT POINTER TO FIRST C --------------------------------------- C DATA PRESENT INDICATOR. C ----------------------- 530 CONTINUE C CALL BUGETBM(KBUFL,KBUFF,KSEC3,I232,NR232,IBV,KERR) IF(KERR.GT.0) RETURN C C* 5.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 550 CONTINUE C ISUBST=MREL-NR232+1 C C* 5.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 560 CONTINUE C DO 561 I=1,NR232 IF(IBV(I).EQ.0) THEN C 562 CONTINUE C IF(NWTR(NP232255).EQ.232255) THEN NWTDW (NP232255)=NWTDW(ISUBST) NWTR (NP232255)=NWTR (ISUBST) NWTRV (NP232255)=NWTRV(ISUBST) NWTS (NP232255)=NWTS (ISUBST) CWTEN (NP232255)=CWTEN(ISUBST) CWTU (NP232255)=CWTU (ISUBST) ISUBST=ISUBST+1 NP232255=NP232255+1 ELSE NP232255=NP232255+1 GO TO 562 END IF ELSE ISUBST=ISUBST+1 END IF 561 CONTINUE C C ----------------------------------------------------------------- 121 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/bbuprs1.F0000755000175000017500000001706212127406245020421 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BBUPRS1(KNT,KSEC1) C C**** *BUPRS1* C C C PURPOSE. C -------- C PRINT SECTION 1 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUPRS1(KNT,KSEC1)* C C INPUT : C *KNT* - UNIT NUMBER FOR IO C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C FOR BUFR EDITION >= 3 C C KSEC1(16) - ORIGINATING SUB-CENTRE C KSEC1(18) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" C DIMENSION KSEC1(JSEC1) C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 1. C ---------------- 100 CONTINUE C WRITE(KNT,'(1H1)') C IF(KSEC1( 2).LE.3) THEN WRITE(KNT,'(1H ,A)') ' BUFR SECTION 1 ' WRITE(KNT,'(1H )') WRITE(KNT,'(1H ,A,I5)')'LENGTH OF SECTION 1 (BYTES) ',KSEC1( 1) WRITE(KNT,'(1H ,A,I5)')'BUFR EDITION NUMBER ',KSEC1( 2) IF(KSEC1(2).GE.3) THEN WRITE(KNT,'(1H ,A,I5)')'ORIGINATING SUB-CENTRE ',KSEC1(16) END IF WRITE(KNT,'(1H ,A,I5)')'ORIGINATING CENTRE ',KSEC1( 3) WRITE(KNT,'(1H ,A,I5)')'UPDATE SEQUENCE NUMBER ',KSEC1( 4) WRITE(KNT,'(1H ,A,I5)')'FLAG (PRESENCE OF SECTION 2) ',KSEC1( 5) WRITE(KNT,'(1H ,A,I5)')'BUFR MESSAGE TYPE ',KSEC1( 6) WRITE(KNT,'(1H ,A,I5)')'BUFR MESSAGE SUBTYPE ',KSEC1( 7) WRITE(KNT,'(1H ,A,I5)')'VERSION NUMBER OF LOCAL TABLE ',KSEC1( 8) WRITE(KNT,'(1H ,A,I5)')'YEAR ',KSEC1( 9) WRITE(KNT,'(1H ,A,I5)')'MONTH ',KSEC1(10) WRITE(KNT,'(1H ,A,I5)')'DAY ',KSEC1(11) WRITE(KNT,'(1H ,A,I5)')'HOUR ',KSEC1(12) WRITE(KNT,'(1H ,A,I5)')'MINUTE ',KSEC1(13) WRITE(KNT,'(1H ,A,I5)')'VERSION NUMBER OF MASTER TABLE',KSEC1(15) WRITE(KNT,'(1H ,A,I5)')'BUFR MASTER TABLE ',KSEC1(14) ELSEIF(KSEC1( 2).EQ.4) THEN WRITE(KNT,'(1H ,A)') ' BUFR SECTION 1 ' WRITE(KNT,'(1H )') WRITE(KNT,'(1H ,A,I9)')'LENGTH OF SECTION 1 (BYTES) ',KSEC1( 1) WRITE(KNT,'(1H ,A,I9)')'BUFR MASTER TABLE ',KSEC1(14) WRITE(KNT,'(1H ,A,I9)')'ORIGINATING CENTRE ',KSEC1( 3) WRITE(KNT,'(1H ,A,I9)')'ORIGINATING SUB-CENTRE ',KSEC1(16) WRITE(KNT,'(1H ,A,I9)')'UPDATE SEQUENCE NUMBER ',KSEC1( 4) WRITE(KNT,'(1H ,A,I9)')'FLAG (PRESENCE OF SECTION 2) ',KSEC1( 5) WRITE(KNT,'(1H ,A,I9)')'DATA CATEGORY ',KSEC1( 6) WRITE(KNT,'(1H ,A,I9)')'DATA SUB-CATEGORY ',KSEC1(17) WRITE(KNT,'(1H ,A,I9)')'LOCAL DATA SUB-CATEGORU ',KSEC1( 7) WRITE(KNT,'(1H ,A,I9)')'VERSION NUMBER OF MASTER TABLE',KSEC1(15) WRITE(KNT,'(1H ,A,I9)')'VERSION NUMBER OF LOCAL TABLE ',KSEC1( 8) WRITE(KNT,'(1H ,A,I9)')'YEAR ',KSEC1( 9) WRITE(KNT,'(1H ,A,I9)')'MONTH ',KSEC1(10) WRITE(KNT,'(1H ,A,I9)')'DAY ',KSEC1(11) WRITE(KNT,'(1H ,A,I9)')'HOUR ',KSEC1(12) WRITE(KNT,'(1H ,A,I9)')'MINUTE ',KSEC1(13) WRITE(KNT,'(1H ,A,I9)')'SECOND ',KSEC1(18) c WRITE(KNT,'(1H ,A,I9)')'YEAR (EARLIEST TIME) ',KSEC1(19) c WRITE(KNT,'(1H ,A,I9)')'MONTH (EARLIEST TIME) ',KSEC1(20) c WRITE(KNT,'(1H ,A,I9)')'DAY (EARLIEST TIME) ',KSEC1(21) c WRITE(KNT,'(1H ,A,I9)')'HOUR (EARLIEST TIME) ',KSEC1(22) c WRITE(KNT,'(1H ,A,I9)')'MINUTE (EARLIEST TIME) ',KSEC1(23) c WRITE(KNT,'(1H ,A,I9)')'SECOND (EARLIEST TIME) ',KSEC1(28) c WRITE(KNT,'(1H ,A,I9)')'YEAR (LATEST TIME) ',KSEC1(25) c WRITE(KNT,'(1H ,A,I9)')'MONTH (LATEST TIME) ',KSEC1(26) c WRITE(KNT,'(1H ,A,I9)')'DAY (LATEST TIME) ',KSEC1(27) c WRITE(KNT,'(1H ,A,I9)')'HOUR (LATEST TIME) ',KSEC1(28) c WRITE(KNT,'(1H ,A,I9)')'MINUTE (LATEST TIME) ',KSEC1(29) c WRITE(KNT,'(1H ,A,I9)')'SECOND (LATEST TIME) ',KSEC1(30) c WRITE(KNT,'(1H ,A,I9)')'MOST SOUTHERN LATITUDE ',KSEC1(31) c WRITE(KNT,'(1H ,A,I9)')'MOST WESTERN LONGITUDE ',KSEC1(32) c WRITE(KNT,'(1H ,A,I9)')'MOST NORTHERN LATITUDE ',KSEC1(33) c WRITE(KNT,'(1H ,A,I9)')'MOST EASTERN LONGITUDE ',KSEC1(34) C END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/buexs4.F0000755000175000017500000006000112127406245020244 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEXS4(KBUFL,KBUFF,KSUP,KSEC3,KSEC4,KELEM,CNAMES, 1 CUNITS,KVALS,VALUES,CVALS,KERR) C C**** *BUEXS4* C C C PURPOSE. C -------- C EXPAND PRELIMINARY ITEMS AND DATA OF SECTION 4 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUEXS4(KBUFL,KBUFF,KSUP,KSEC3,KSEC4,KELEM,CNAMES, C CUNITS,KVALS,VALUES,CVALS,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *KVALS* - DIMENSION OF VALUES ARRAY C OUTPUT: C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *KSEC4* - ARRAY CONTAINING SECTION 4 INFORMATION C KSEC4( 1)-- LENGTH OF SECTION 4 (BYTES) C KSEC4( 2)-- RESERVED C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - CHARACTER ARRAY CONTAINIG UNITS C *VALUES* - REAL ARRAY (EXPANDED DATA VALUES) C *CVALS* - CHARACTER ARRAY CONTAINING TEXT C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C BUNPCK - UNPACK BIT PATTERN C BUNPKS - UNPACK BIT PATTERN IN REPEATED WAY, C POINTER ADJUSTMENT C BUUNPS - UNPACK BIT PATTERN IN REPEATED WAY, C NO POINTER ADJUSTMENT C BUUNP - UNPACK BIT PATTERN, NO POINTER ADJUSTMENT C BUNEXS - SET WORD AND BIT POINTERS AT THE BEGINING OF C NEXT SECTION C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 17/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomreq.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomwt.F" # include "bcomp.F" # include "bcombef.F" # include "bcomrq.F" # include "bcomoff.F" C CHARACTER CTEXT*64 CHARACTER CNAMR*64,CUNIR*24 C DIMENSION KBUFF(KBUFL) DIMENSION ICH(255),ILIST(JWORK),IVALUES(JWORK) DIMENSION IILIST(8),IR0LIST(8) C CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) REAL*4 VVV4,VVV4S REAL*8 VVV8S,VVV8,VAL8S REAL*4 R4, RHUGE4 REAL*8 R8, RHUGE8 LOGICAL OBIG, BIG_ENDIAN C #ifndef R_4 REAL*8 VALUES(KVALS),RQVAL REAL*8 RVIND REAL*8 EPS REAL*8 VVV #else REAL VALUES(KVALS),RQVAL REAL RVIND REAL EPS REAL VVV #endif LOGICAL CHECK_S4,OS4 DIMENSION KSUP(JSUP),KSEC3(JSEC3),KSEC4(JSEC4) DIMENSION IMASK(8),IRO(80) DATA IMASK/1,2,4,8,16,32,64,128/ C C ------------------------------------------------------------------ C* 1. EXPAND PRELIMINARY ITEMS FROM SECTION4. C --------------------------------------- 100 CONTINUE C C JCV - POINTER TO CVALS ARRAY C JWT - POINTER TO WORKING TABLE ARRAY C JNS - POINTER TO VALUES ARRAY FOR SUB-SETS. C IF(KERR.GT.0) RETURN C R4=3.4028235e+38 R8=1.7976931348623157D+308 C IF(OMULTI) THEN IF(NSUBSET.EQ.1) JCV = 0 ELSE JCV = 0 END IF OREPF =.FALSE. C IF(KELEM*N.GT.KVALS) THEN KERR=14 CALL BUERR(KERR) WRITE(KNTN,*) ' BUEXS4: NUMBER OF ELEMENTS ',M WRITE(KNTN,*) ' BUEXS4: NUMBER OF SUBSETS ',N MN=M*N WRITE(KNTN,*) ' BUEXS4: SUGGESTED VALUE FOR KVALS ',MN WRITE(KNTN,*) ' BUEXS4: SUGGESTED VALUE FOR KELEM ',M RETURN END IF C C* 1.1 SET THE POINTERS NWPT AND NBPT C ------------------------------ C TO THE BEGINING OF THE SECTION. C ------------------------------- 110 CONTINUE C NWPT = NWPTB NBPT = NBPTB NWPTB4 = NWPTB NBPTB4 = NBPTB C C* 1.2 UNPACK LENGTH OF SECTION 4. C --------------------------- 120 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC4(1),NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC4(1).' RETURN END IF C IF(OS4.AND.NREQ(1).EQ.0) THEN CALL CHECK_S4S(KELEM,KSEC3,KSEC4,KERR) IF(KERR.NE.0) THEN return END IF END IF C C C* 1.3 SET THE POINTERS NWPTB AND NBPTB. C --------------------------------- C TO BEGINING OF THE NEXT SECTION. C -------------------------------- 130 CONTINUE C CALL BUNEXS(KSEC4(1)) C C C* 1.4 EXPAND RESERVED BYTE. C --------------------- 140 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC4(2),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC4(2).' RETURN END IF C C ----------------------------------------------------------------- C* 2. EXPAND DATA. C ------------ 200 CONTINUE C C C* 2.1 CHECK IF DATA ARE COMRESSED. C ---------------------------- 210 CONTINUE C IB=0 IF(IAND(KSEC3(4),IMASK(7)).NE.0) IB=1 C IF(IB.EQ.0) THEN C C ------------------------------------------------------------------ C C* 3. UNCOMPRESSED DATA. C ------------------ 300 CONTINUE C IF(OMULTI) N=1 C DO 301 JNS=1,N C ITEMPREP=0 IF(OMULTI) THEN JNSK=(NSUBSET-1)*KELEM JNSK1=(JNS-1)*KELEM ELSE JNSK=(JNS-1)*KELEM END IF C DO 302 JWT=1,M C IF(OMULTI) THEN JWTJNS1=JWT+JNSK1 JWTJNS=JWT+JNSK ELSE JWTJNS=JWT+JNSK END IF C c IF(ITEMPREP.GT.0) THEN c IF(NWTR(JWT-1).NE.031011.AND.NWTR(JWT-1) c 1 .NE.031012) THEN c VALUES(JWTJNS)=VALUES(JWTJNS-1) c ITEMPREP=ITEMPREP-1 c GO TO 302 c ELSE c ITEMPREP=ITEMPREP-1 c END IF c END IF IF(INWTDW(JWT).EQ.0) THEN VALUES(JWTJNS)=0.0 GO TO 302 END IF C IF(OMULTI) THEN NWPT=INWORDP(JWTJNS1) NBPT=INBITP (JWTJNS1) ELSE NWPT=INWORDP(JWTJNS) NBPT=INBITP (JWTJNS) END IF C c IF(INWTR(JWT).EQ.31011.OR.INWTR(JWT).EQ.31012) OREPF=.TRUE. C C C ------------------------------------------------------------------ C* 3.1 CHARACTER DATA / IEEE ? C ----------------------- 310 CONTINUE C IF(INWTEN(JWT).EQ.-999) THEN IBYTES=INWTDW(JWT)/8 CALL BUNPKS(NBPW,KBUFF,ILIST,NWPT,NBPT, 1 8,0,IBYTES,KERR) IF(IBYTES.EQ.4) THEN OBIG=BIG_ENDIAN() CALL BUSBYTESR4(VVV4,ILIST,0,8,0,IBYTES) IF(.NOT.OBIG) THEN CALL SWAP_BYTES4(VVV4,VVV4S) VVV4=VVV4S END IF IF(ABS(VVV4-R4)/R4.LT.EPS) THEN VALUES(JWTJNS)=RVIND ELSE VALUES(JWTJNS)=VVV4 END IF ELSE OBIG=BIG_ENDIAN() CALL BUSBYTESR8(VVV8,ILIST,0,8,0,IBYTES) IF(.NOT.OBIG) THEN CALL SWAP_BYTES8(VVV8,VVV8S) VVV8=VVV8S END IF IF(ABS(VVV8-R8)/R8.LT.EPS) THEN VALUES(JWTJNS)=RVIND ELSE VALUES(JWTJNS)=VVV8 END IF END IF GO TO 302 END IF C IF(INWTEN(JWT).EQ.658367) THEN C C* 3.2 OBTAIN CHARACTER DATA FROM DATA SECTION. C ---------------------------------------- 320 CONTINUE C IY=INWTDW(JWT)/8 C CALL BUUNPS(NBPW,KBUFF,ICH,NWPT,NBPT,8,0,IY,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING CHARACTER DATA.' RETURN END IF C C* 3.3 MOVE CHARACTER DATA TO "CVALS". C ------------------------------- 330 CONTINUE C IYLINE=IY/80 IYOFF =IY-IYLINE*80 JCVINC=IYLINE C JCV = JCV + 1 JCVW= JCV C IF(IYLINE.EQ.0) THEN CVALS(JCVW)=' ' DO 331 J=1,IY CVALS(JCVW)(J:J)=CHAR(ICH(J)) 331 CONTINUE ELSE CVALS(JCVW)=' ' DO 332 J=1,IYLINE DO 333 JJ=1,80 CVALS(JCVW)(JJ:JJ)= CHAR(ICH(JJ)) 333 CONTINUE C JCVW=JCVW+1 C 332 CONTINUE C CVALS(JCVW)=' ' DO 334 J=1,IYOFF CVALS(JCVW)(J:J)= CHAR(ICH(J)) 334 CONTINUE C END IF C C* 3.4 COMPUTE POINTER VALUES TO BE STORED IN "VALUES". C ------------------------------------------------ 340 CONTINUE C VALUES(JWTJNS) = JCV*1000 + IY JCV = JCV + JCVINC C GO TO 302 C END IF C C* 3.5 OBTAIN VALUE FROM DATA SECTION. C ------------------------------- 350 CONTINUE C IF(NWTEN(JWT).EQ.836970) THEN ISGN=0 IWPT=NWPT IBPT=NBPT C CALL GBYTE(KBUFF(IWPT),ISGN,IBPT,1) C IBPT=IBPT+1 IWORD= IBPT/NBPW IBPT= IBPT - IWORD*NBPW IWPT= IWPT + IWORD C CALL GBYTE(KBUFF(IWPT),IVAL,IBPT,INWTDW(JWT)-1) VALUES(JWTJNS)= DFLOAT(IVAL) IF(ISGN.EQ.1) VALUES(JWTJNS)=-VALUES(JWTJNS) GO TO 302 ELSE CALL GBYTE(KBUFF(NWPT),IVAL,NBPT,INWTDW(JWT)) END IF C C C ----------------------------------------------------------------- C* 3.6 UPDATE THE ARRAY "VALUES". C -------------------------- 360 CONTINUE C C C CHECK IF DATA IS MISSING C IF(IVAL.EQ.NMASK(INWTDW(JWT))) THEN IF(INWTDW(JWT).NE.1) THEN IF(INWTR(JWT).NE.999999.AND. 1 INWTR(JWT).NE.030001.AND.INWTR(JWT).NE.030002.AND. 2 INWTR(JWT).NE.030004) THEN VALUES(JWTJNS)=RVIND ELSE VALUES(JWTJNS)=ival END IF ELSE VALUES(JWTJNS)=1.0 END IF ELSE IVAL=IVAL+INWTRV(JWT) IF(INWTS(JWT).GT.0) THEN VALUES(JWTJNS)= DFLOAT(IVAL)/10.**INWTS(JWT) ELSE IIWTS=IABS(INWTS(JWT)) VALUES(JWTJNS)= DFLOAT(IVAL)*10.**IIWTS END IF END IF C c IF(INWTR(JWT).EQ.31011.OR.INWTR(JWT).EQ.31012) THEN c ITEMPREP=VALUES(JWTJNS) c END IF 302 CONTINUE C KSUP(7)=JCV C 301 CONTINUE C IF(OMULTI) THEN IBIT=NBITP(NSIZEG(NSUBSET)) + NWTDW(NSIZEG(NSUBSET)) IWORD=IBIT/NBPW NBP=IBIT-IWORD*NBPW NWP=NWORDP(NSIZEG(NSUBSET))+IWORD END IF ELSE C ------------------------------------------------------------------ C C* 4. COMPRESSED DATA. C ---------------- 400 CONTINUE C C* 4.1 OBTAIN N VALUES BY EXPANSION. C ----------------------------- 410 CONTINUE C DO 411 JWT=1,M C NWPT=INWORDP(JWT) NBPT=INBITP (JWT) C IF(INWTDW(JWT).EQ.0) THEN DO 412 J=1,N JWTJ=JWT+(J-1)*KELEM VALUES(JWTJ)=0.0 412 CONTINUE C GO TO 411 END IF C C CHECK IF CHARACTER DATA C IF(INWTEN(JWT).EQ.658367) THEN IICH=INWTDW(JWT)/8 CALL BUNPKS(NBPW,KBUFF,IRO,NWPT,NBPT,8,0,IICH,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING REFERENCE VALUES FOR' WRITE(KNTN,*) JWT,' ELEMENT, OF ',J,' SUBSET.' RETURN END IF CALL BUNPCK(NBPW,KBUFF,IDWINC,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING NUMBER OF BITS FOR ', 1 'INCREMENTS' WRITE(KNTN,*) 'FOR ',JWT,' ELEMENT, OF ',J,' SUBSET' RETURN END IF C ITOTAL=IDWINC*KSEC3(3) IF(ITOTAL.GT.JWORK) THEN KERR=17 CALL BUERR(KERR) RETURN END IF C DO 413 J=1,ITOTAL ILIST(J)=0 413 CONTINUE C CALL BUNPKS(NBPW,KBUFF,ILIST,NWPT,NBPT, 1 8,0,ITOTAL,KERR) IF(KERR.GT.0) RETURN C C MOVE CHARACTER DATA TO "CVALS" ARRAY. C IY=IDWINC IF(IY.EQ.0) THEN IY=IICH IZ=0 IF(IICH*KSEC3(3).GT.JWORK) THEN KERR=17 CALL BUERR(KERR) RETURN END IF DO IXX=1,KSEC3(3) DO IZZ=1,IICH IZ=IZ+1 ILIST(IZ)=IRO(IZZ) END DO END DO END IF C IYLINE=IY/80 IYOFF=IY-IYLINE*80 C JCVINC=IYLINE JJC=0 C DO 414 I=1,KSEC3(3) C JCV=JCV+1 JCVW=JCV C IF(IYLINE.EQ.0) THEN CVALS(JCVW)=' ' DO 415 J=1,IY JJC=JJC+1 CVALS(JCVW)(J:J)=CHAR(ILIST(JJC)) 415 CONTINUE C ELSE C CVALS(JCVW)=' ' DO 416 J=1,IYLINE DO 417 JJJ=1,80 JJC=JJC+1 CVALS(JCVW)(JJJ:JJJ)=CHAR(ILIST(JJC)) 417 CONTINUE C JCVW=JCVW+1 416 CONTINUE C CVALS(JCVW)=' ' DO 418 J=1,IYOFF JJC=JJC+1 CVALS(JCVW)(J:J)=CHAR(ILIST(JJC)) 418 CONTINUE C END IF C C COMPUTE POINTERS TO VALUES ARRAY C JWTI=JWT+(I-1)*KELEM C VALUES(JWTI)=JCV*1000+IY VALUES(JWTI)=JCV*1000+INWTDW(JWT)/8 JCV =JCV+JCVINC C 414 CONTINUE C GO TO 411 C ELSEIF(INWTEN(JWT).EQ.-999) THEN IICH=INWTDW(JWT)/8 CALL BUNPKS(NBPW,KBUFF,IR0LIST,NWPT,NBPT,8,0,IICH,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING REFERENCE VALUES FOR', 1 JWT,' ELEMENT, OF ',J,' SUBSET.' RETURN END IF CALL BUNPCK(NBPW,KBUFF,IDWINC,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING NUMBER OF BITS FOR ', 1 'INCREMENTS' WRITE(KNTN,*) 'FOR ',JWT,' ELEMENT, OF ',J,' SUBSET' RETURN END IF C IF(IDWINC.NE.0) THEN ITOTAL=IDWINC*KSEC3(3) DO J=1,ITOTAL ILIST(J)=0 END DO C CALL BUNPKS(NBPW,KBUFF,ILIST,NWPT,NBPT, 1 8,0,ITOTAL,KERR) IF(KERR.GT.0) RETURN C C C COMPUTE POINTERS TO VALUES ARRAY C JJC=0 DO I=1,KSEC3(3) JWTI=JWT+(I-1)*KELEM C DO J=1,IICH JJC=JJC+1 IILIST(J)=ILIST(JJC) END DO IF(IICH.EQ.4) THEN CALL BUSBYTESR4(RHUGE4,IILIST,0,8,0,IICH) OBIG=BIG_ENDIAN() IF(.NOT.OBIG) THEN CALL SWAP_BYTES4(RHUGE4,VAL4S) RHUGE4=VAL4S END IF VALUES(JWTI)=RHUGE4 IF(ABS(VALUES(JWTI)-R4)/R4.LT.EPS) THEN VALUES(JWTI)=RVIND END IF ELSE CALL BUSBYTESR8(RHUGE8,IILIST,0,8,0,IICH) OBIG=BIG_ENDIAN() IF(.NOT.OBIG) THEN CALL SWAP_BYTES8(RHUGE8,VAL8S) RHUGE8=VAL8S END IF VALUES(JWTI)=RHUGE8 IF(ABS(VALUES(JWTI)-R8)/R8.LT.EPS) THEN VALUES(JWTI)=RVIND END IF END IF C END DO ELSE IF(IICH.EQ.4) THEN CALL BUSBYTESR4(RHUGE4,IR0LIST,0,8,0,IICH) OBIG=BIG_ENDIAN() IF(.NOT.OBIG) THEN CALL SWAP_BYTES4(RHUGE4,VAL4S) RHUGE4=VAL4S END IF DO I=1,KSEC3(3) JWTI=JWT+(I-1)*KELEM IF(ABS(RHUGE4-R4)/R4.LT.EPS) THEN VALUES(JWTI)=RVIND ELSE VALUES(JWTI)=RHUGE4 END IF END DO ELSE CALL BUSBYTESR8(RHUGE8,IR0LIST,0,8,0,IICH) OBIG=BIG_ENDIAN() IF(.NOT.OBIG) THEN CALL SWAP_BYTES8(RHUGE8,VAL8S) RHUGE8=VAL8S END IF DO I=1,KSEC3(3) JWTI=JWT+(I-1)*KELEM IF(ABS(RHUGE8-R8)/R8.LT.EPS) THEN VALUES(JWTI)=RVIND ELSE VALUES(JWTI)=RHUGE8 END IF END DO END IF END IF C GO TO 411 ELSE IF(INWTEN(JWT).EQ.836970) THEN CALL BUNPCK(NBPW,KBUFF,ISG_REF,NWPT,NBPT,1,KERR) CALL BUNPCK(NBPW,KBUFF,IR0,NWPT,NBPT,INWTDW(JWT)-1,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING REFERENCE VALUES FOR' WRITE(KNTN,*) JWT,' ELEMENT.' RETURN END IF ELSE CALL BUNPCK(NBPW,KBUFF,IR0,NWPT,NBPT,INWTDW(JWT),KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING REFERENCE VALUES FOR' WRITE(KNTN,*) JWT,' ELEMENT.' RETURN END IF END IF CALL BUNPCK(NBPW,KBUFF,IDWINC,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING NUMBER OF BITS FOR' WRITE(KNTN,*) 'INCREMENTS, FOR ',JWT,' ELEMENT.' RETURN END IF IF(IDWINC.GT.JBPW) THEN KERR=15 WRITE(KNTN,*) ' BUEXS4 :' CALL BUERR(KERR) PRINT*,'JWT=',JWT,'REF=',INWTR(JWT) RETURN END IF END IF C DO 423 J=1,N ILIST(J)=0 423 CONTINUE C IF(IDWINC.NE.0) THEN CALL BUNPKS(NBPW,KBUFF,ILIST,NWPT,NBPT, 1 IDWINC,0,N,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING INCREMENTS ', 1 'FOR ',JWT,' ELEMENT.' RETURN END IF END IF C IF(INWTEN(JWT).NE.658367) THEN IF(IR0.EQ.NMASK(INWTDW(JWT))) THEN DO 425 J=1,N IVALUES(J)=NMASK(INWTDW(JWT)) 425 CONTINUE ELSE IWTPR0=INWTRV(JWT)+IR0 C IF(IDWINC.EQ.0) THEN DO 426 J=1,N IVALUES(J)=IWTPR0 426 CONTINUE C ELSE DO 424 J=1,N IF(ILIST(J).EQ.NMASK(IDWINC)) THEN IVALUES(J)=NMASK(INWTDW(JWT)) ELSE IVALUES(J)= IWTPR0 + ILIST(J) END IF 424 CONTINUE C END IF END IF END IF C DO 427 J=1,N C JWTJ=JWT+(J-1)*KELEM C IF(INWTDW(JWT).NE.1) THEN VALUES(JWTJ)=RVIND ELSE VALUES(JWTJ)=1.0 END IF IF(IVALUES(J).NE.NMASK(INWTDW(JWT))) THEN IF(INWTS(JWT).GT.0) THEN VALUES(JWTJ)= DFLOAT(IVALUES(J))/10.**INWTS(JWT) ELSE IIWTS=IABS(INWTS(JWT)) VALUES(JWTJ)= DFLOAT(IVALUES(J))*10.**IIWTS END IF END IF C IF(INWTEN(JWT).EQ.836970.AND.ISG_REF.EQ.1) THEN VALUES(JWTJ)= - VALUES(JWTJ) END IF 427 CONTINUE C 411 CONTINUE C KSUP(7)=JCV C END IF C C ------------------------------------------------------------------ C* 5. REPEAT ENTRIES IN CNAMES,CUNITS AND VALUES IF NEEDED. C ----------------------------------------------------- 500 CONTINUE C IF(.NOT.OREPF) GO TO 600 IST=1 C C* 5.1 SEARCH CNAMES FOR DELAYED REPETITION FACTOR. C -------------------------------------------- 510 CONTINUE C C DO 511 J=IST,M C IF(INWTR(J).EQ.31001.OR.INWTR(J).EQ.31002 C 1 .OR.INWTR(J).EQ.31000) GO TO 520 C 511 CONTINUE C C GO TO 600 C C* 5.2 GET REPETITION FACTOR FROM ARRAY "VALUES". C ------------------------------------------- 520 CONTINUE C C IREPF=VALUES(J) C CNAMR=CNAMES(J+1) C CUNIR=CUNITS(J+1) C VALUR=VALUES(J+1) C C* 5.3 PUSH DOWN ENTRIES IN CNAMES,CUNITS,VALUES. C ------------------------------------------ 530 CONTINUE C C IREPM2=IREPF-2 C C DO 531 JA=M,J+2,-1 C C CNAMES(JA+IREPM2)=CNAMES(JA) C CUNITS(JA+IREPM2)=CUNITS(JA) C C DO 932 JB=1,N C C JAJB=JA+(JB-1)*KELEM C C VALUES(JAJB+IREPM2)=VALUES(JAJB) C 932 CONTINUE C C 531 CONTINUE C C* 5.4 REPETITION. C ----------- 540 CONTINUE C C DO 541 JA=1,IREPF C CNAMES(J+JA)=CNAMR C CUNITS(J+JA)=CUNIR C C DO 542 JB=1,N C C JAJB=JA+(JB-1)*KELEM C C VALUES(J+JAJB)=VALUR C 542 CONTINUE C C 541 CONTINUE C C* 5.5 UPDATE M AND POINTER TO CONTINUE SEARCH. C ---------------------------------------- C 550 CONTINUE C C M=M+IREPF-2 C IST=J+IREPF C C GO TO 510 C C ----------------------------------------------------------------- C* 6. SET SUPPLEMENTARY INFORMATION. C ------------------------------ C 600 CONTINUE C KSUP(4)= 2 C C ------------------------------------------------------------------ RETURN END emoslib-000392+dfsg.1/bufrdc/bcomel.F0000755000175000017500000000125212127406245020276 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMEL/ NTDLEN,NTDLST(JELEM),NTDEXL,NTDEXP(JELEM) C C NTDLEN - NUMBER OF DATA DESCRIPTORS IN SECTION 3 C NTDLST - LIST OF DATA DESCRIPTORS C NTDEXL - NUMBER OF EXPANDED DATA DESCRIPTORS C NTDEXP - LIST OF EXPANDED DATA DESCRIPTORS emoslib-000392+dfsg.1/bufrdc/bcmctc.F0000755000175000017500000000074212127406245020273 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C COMMON /BCMCTC/ CTEXT(JCTEXT) C C CTEXT - TEXT IN CODE/FLAG TABLES C emoslib-000392+dfsg.1/bufrdc/bcmtabc.F0000755000175000017500000000110512127406245020425 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMTABC / CTABBEN(JTAB),CTABBU (JTAB) C C CTABBEN - TABLE B, ELEMENT NAME ARRAY C CTABBU - TABLE B, UNIT ARRAY C emoslib-000392+dfsg.1/bufrdc/buepmrk.F0000755000175000017500000003630012127406245020504 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEPMRK(KSEC3,KVALS,VALUES,KELEM,KERR) C C**** *BUEPMRK* C C C PURPOSE. C -------- C C PROCESS MARKER OPERATOR, RELACING IT WITH CORRESPONDING C TABLE B ELEMENT DESCRIPTOR. C C C** INTERFACE. C ---------- C C *CALL* *BUEPMRK(KSEC3,KVALS,VALUES,KELEM,KERR)* C C INPUT : C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA C COMPRESSION) C *KVALS* - DIMENSION OF VALUES ARRAY C *VALUES* - ARAY CONTAINING DATA C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C OUTPUT: C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C NONE. C C EXTERNALS. C ---------- C C BUNPCK - UNPACKS BIT PATTERN C BUNPKS - UNPACKS BIT PATTERN IN REPEATED WAY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C M. DRAGOSAVAC 1/10/92 : C C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmbef.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmrq.F" C CHARACTER CWTEN*64,CWTU*24 DIMENSION KSEC3(JSEC3) #ifndef R_4 REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS #else REAL VALUES(KVALS) REAL RVIND REAL EPS #endif C DIMENSION IMASK(8) DATA IMASK/1,2,4,8,16,32,64,128/ C C ------------------------------------------------------------------ C* 1. FINED OPERATOR 223000 TO 237255. C -------------------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C C C 1.1 CHECK IF DATA ARE COMRESSED. C ---------------------------- 110 CONTINUE C IB=0 IF(IAND(KSEC3(4),IMASK(7)).NE.0) IB=1 C C* 1.2 FIND POSITION OF OPREATORS. C --------------------------- 120 CONTINUE C DO 121 J=1,M C NR223=0 NR224=0 NR225=0 NR232=0 C C IF(NWTR(J).EQ.222000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 122 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 121 END IF 122 CONTINUE END IF END IF IF(NWTR(J).EQ.223000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C NP223000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 123 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 200 END IF 123 CONTINUE END IF GO TO 200 END IF IF(NWTR(J).EQ.224000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C NP224000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 124 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 300 END IF 124 CONTINUE END IF GO TO 300 END IF IF(NWTR(J).EQ.225000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C NP225000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 125 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 400 END IF 125 CONTINUE END IF GO TO 400 END IF IF(NWTR(J).EQ.232000) THEN C C SET POINTER TO THE LAST DATA ELEMENT C IF(MREL.EQ.0) MREL=J-1 C NP232000=J C C CHECK IF BACKWARD REFERENCE BIT MAP DEFINED C IF(NWTR(J+1).EQ.236000) THEN NP236000=J+1 OBF=.TRUE. J2=J+2 C C DELAYED REPLICATION FACTOR CAN FOLLOW 236000 C IF(NWTR(J2).EQ.031001.OR.NWTR(J2).EQ.031000.OR. 1 NWTR(J2).EQ.031002) J2=J+3 C DO 126 I=J2,M IF(NWTR(I).EQ.031031) THEN C C FIND FIRST POINTER TO DATA PRESENT INDICATOR C IF(OBF) MBMP=I OBF=.FALSE. ELSE C C LAST POINTER TO DATA PRESENT INDICATOR C MBMPL=I-1 GO TO 500 END IF 126 CONTINUE END IF GO TO 500 END IF C IF(NWTR(J).EQ.235000) THEN C C RESET POINTER POINTER TO THE LAST DATA ELEMENT C MREL=0 MBMP=0 MBMPL=0 END IF C IF(NWTR(J).EQ.237255) THEN C C RESET POINTERS TO THE BIT MAP C MBMP=0 MBMPL=0 END IF C GO TO 121 C C ----------------------------------------------------------------- C* 2. PROCESS SUBSTITUTED VALUES OPERATOR. C ------------------------------------ C 200 CONTINUE C C* 2.1 FIND FIRST ACCURANCE OD 223255. C ------------------------------- 210 CONTINUE C NP223255=0 DO 211 I=NP223000,M IF(NWTR(I).EQ.223255) THEN NP223255=I GO TO 220 END IF 211 CONTINUE C GO TO 121 C C* 2.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 220 CONTINUE C IF(MBMP.EQ.0) THEN I223=0 OF223=.TRUE. DO 221 I=NP223000,NP223255 IF(NWTR(I).EQ.031031) THEN IF(OF223) THEN I223=I OF223=.FALSE. END IF NR223=NR223+1 END IF 221 CONTINUE ELSE I223=MBMP NR223=MBMPL-MBMP+1 END IF C C C* 2.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 250 CONTINUE C ISUBST=MREL-NR223+1 C C* 2.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 260 CONTINUE C DO 261 I=I223,NR223+I223 IF(VALUES(I).EQ.0) THEN C 262 CONTINUE C IF(NWTR(NP223255).EQ.223255) THEN NWTDW (NP223255)=NWTDW(ISUBST) NWTR (NP223255)=NWTR (ISUBST) NWTRV (NP223255)=NWTRV(ISUBST) NWTS (NP223255)=NWTS (ISUBST) CWTEN (NP223255)=CWTEN(ISUBST) CWTU (NP223255)=CWTU (ISUBST) NWTEN (NP223255)=NWTEN(ISUBST) ISUBST=ISUBST+1 NP223255=NP223255+1 ELSE NP223255=NP223255+1 GO TO 262 END IF ELSE ISUBST=ISUBST+1 END IF 261 CONTINUE C GO TO 121 C C ----------------------------------------------------------------- C* 3. PROCESS FIRST ORDER STATISTICS OPERATOR. C ---------------------------------------- 300 CONTINUE C C* 3.1 FIND FIRST ACCURANCE OD 224255. C ------------------------------- 310 CONTINUE C NP224255=0 DO 311 I=NP224000,M IF(NWTR(I).EQ.224255) THEN NP224255=I GO TO 320 END IF 311 CONTINUE C GO TO 121 C C* 3.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 320 CONTINUE C IF(MBMP.EQ.0) THEN I224=0 OF224=.TRUE. DO 321 I=NP224000,NP224255 IF(NWTR(I).EQ.031031) THEN IF(OF224) THEN I224=I OF224=.FALSE. END IF NR224=NR224+1 END IF 321 CONTINUE ELSE I224=MBMP NR224=MBMPL-MBMP+1 END IF C C C* 3.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 350 CONTINUE C ISUBST=MREL-NR224+1 C C* 3.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 360 CONTINUE C DO 361 I=I224,NR224+I224 IF(VALUES(I).EQ.0) THEN C 362 CONTINUE C IF(NWTR(NP224255).EQ.224255) THEN NWTDW (NP224255)=NWTDW(ISUBST) NWTR (NP224255)=NWTR (ISUBST) NWTRV (NP224255)=NWTRV(ISUBST) NWTS (NP224255)=NWTS (ISUBST) CWTEN (NP224255)=CWTEN(ISUBST) CWTU (NP224255)=CWTU (ISUBST) NWTEN (NP224255)=NWTEN(ISUBST) ISUBST=ISUBST+1 NP224255=NP224255+1 ELSE NP224255=NP224255+1 GO TO 362 END IF ELSE ISUBST=ISUBST+1 END IF 361 CONTINUE C GO TO 121 C C C ----------------------------------------------------------------- C* 4. PROCESS DIFFERENCE STATISTICS OPERATOR. C --------------------------------------- 400 CONTINUE C C C* 4.1 FIND FIRST ACCURANCE OD 225255. C ------------------------------- 410 CONTINUE C NP225255=0 DO 411 I=NP225000,M IF(NWTR(I).EQ.225255) THEN NP225255=I GO TO 420 END IF 411 CONTINUE C GO TO 121 C C* 4.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 420 CONTINUE C IF(MBMP.EQ.0) THEN I225=0 OF225=.TRUE. DO 421 I=NP225000,NP225255 IF(NWTR(I).EQ.031031) THEN IF(OF225) THEN I225=I OF225=.FALSE. END IF NR225=NR225+1 END IF 421 CONTINUE ELSE I225=MBMP NR225=MBMPL-MBMP+1 END IF C C C* 4.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 450 CONTINUE C ISUBST=MREL-NR225+1 C C* 4.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 460 CONTINUE C DO 461 I=I225,NR225+I225 IF(VALUES(I).EQ.0) THEN C 462 CONTINUE C IF(NWTR(NP225255).EQ.225255) THEN NWTR (NP225255)=NWTR (ISUBST) C C CHANGE REFERENCE VALUE TO BE CENTRED AROUND ZERO C AND INCREASE DATA WIDTH BY 1 C IF(NWTEN(ISUBST).NE.-999) THEN NWTRV (NP225255)=-2**NWTDW(ISUBST) NWTDW (NP225255)=NWTDW(ISUBST)+1 ELSE NWTRV (NP225255)=NWTDW(ISUBST) NWTDW (NP225255)=NWTDW(ISUBST) NWTEN (NP225255)=NWTEN(ISUBST) END IF C NWTS (NP225255)=NWTS (ISUBST) CWTEN (NP225255)=CWTEN(ISUBST) CWTU (NP225255)=CWTU (ISUBST) NWTEN(NP225255)=NWTEN(ISUBST) ISUBST=ISUBST+1 NP225255=NP225255+1 ELSE NP225255=NP225255+1 GO TO 462 END IF ELSE ISUBST=ISUBST+1 END IF 461 CONTINUE C GO TO 121 C C ----------------------------------------------------------------- C* 5. PROCESS REPLACE/RETAINED OPERATOR. C ---------------------------------- 500 CONTINUE C C C* 5.1 FIND FIRST ACCURANCE OF 232255. C ------------------------------- 510 CONTINUE C NP232255=0 DO 511 I=NP232000,M IF(NWTR(I).EQ.232255) THEN NP232255=I GO TO 520 END IF 511 CONTINUE C GO TO 121 C C* 5.2 COUNT NUMBER OF DATA PRESENT INDICATORS. C ---------------------------------------- 520 CONTINUE C IF(MBMP.EQ.0) THEN I232=0 OF232=.TRUE. DO 521 I=NP232000,NP232255 IF(NWTR(I).EQ.031031) THEN IF(OF232) THEN I232=I OF232=.FALSE. END IF NR232=NR232+1 END IF 521 CONTINUE ELSE I232=MBMP NR232=MBMPL-MBMP+1 END IF C C C* 5.5 DEFINE POINTER REFERING BACK TO DATA. C ------------------------------------- 550 CONTINUE C ISUBST=MREL-NR232+1 C C* 5.6 REPLACE MARKERS WITH CORRESPONDING DATA WIDTHS. C ----------------------------------------------- C 560 CONTINUE C DO 561 I=I232,NR232+I232 IF(VALUES(I).EQ.0) THEN C 562 CONTINUE C IF(NWTR(NP232255).EQ.232255) THEN NWTDW (NP232255)=NWTDW(ISUBST) NWTR (NP232255)=NWTR (ISUBST) NWTRV (NP232255)=NWTRV(ISUBST) NWTS (NP232255)=NWTS (ISUBST) CWTEN (NP232255)=CWTEN(ISUBST) CWTU (NP232255)=CWTU (ISUBST) NWTEN(NP232255)=NWTEN(ISUBST) ISUBST=ISUBST+1 NP232255=NP232255+1 ELSE NP232255=NP232255+1 GO TO 562 END IF ELSE ISUBST=ISUBST+1 END IF 561 CONTINUE C C ----------------------------------------------------------------- 121 CONTINUE C RETURN C C END emoslib-000392+dfsg.1/bufrdc/bcomroot.F0000755000175000017500000000114012127406245020655 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMROOT/ CROOT,OPRINT,OCTABLE C C CROOT - PATH FOR BUFR TABLES C OPRINT - LOGICAL SWITCH TO PRINT TABLE NAMES C OCTABLE - LOGICAL SWITCH TO USE CODE/FLAG TABLES C emoslib-000392+dfsg.1/bufrdc/bcomctc.F0000755000175000017500000000074312127406245020453 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C COMMON /BCOMCTC/ CTEXT(JCTEXT) C C CTEXT - TEXT IN CODE/FLAG TABLES C emoslib-000392+dfsg.1/bufrdc/buprt.F0000755000175000017500000002730512127406245020200 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPRT(K,KSUB1,KSUB2,KELEM,CNAMES,CUNITS, 1 CVALS,KVALS,VALUES,KSUP,KSEC1,KERR) C C**** *BUPRT* C C C PURPOSE. C -------- C PRINT EXPANDED BUFR MESSAG. C C C** INTERFACE. C ---------- C C *CALL* *BUPRT(K,KSUB1,KSUB2,KELEM,CNAMES,CUNITS, C CVALS,KVALS,VALUES,KSUP,KSEC1,KERR)* C C INPUT : C *K* - SWITCH TO PRINT WITH/WITOUT CONTENT OF CODE TABLES C 0 - NO CODE TABLE CONTENT C 1 - YES CODE TABLE CONTENT C *KSUB1* - STARTING SUBSET C *KSUB2* - ENDING SUBSET C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - CHARACTER ARRAY CONTAINIG UNITS C *CVALS* - CHARACTER ARRAY CONTAINING BUFR CODE TABLE C ENTRIES C *KVALS* - DIMENSION OF VALUES ARRAY C *VALUES* - REAL ARRAY (EXPANDED DATA VALUES) C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C OUTPUT: C *KERR* - RETURNED ERROR CODE C C C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomroot.F" C DIMENSION KTDLST(JELEM) DIMENSION KTDEXP(JELEM) C CHARACTER*256 YCODE CHARACTER*64 YFLAG(32) CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER YCHAR*30,YLONG*320 #ifndef R_4 REAL*8 RVIND REAL*8 EPS REAL*8 VALUES(KVALS) #else REAL RVIND REAL EPS REAL VALUES(KVALS) #endif C DIMENSION KSUP(JSUP),KSEC1(JSEC1) C C C ------------------------------------------------------------------ C C* 1. PRINT BUFR MESSAGE. C ------------------- 100 CONTINUE C KERR=0 YCODE=' ' C ISUB1=KSUB1 ISUB2=KSUB2 IF(ISUB1.LE.0.OR.ISUB2.LE.0) THEN WRITE(KNTN,'(A)') ' WARNING - NEGATIVE KSUB1 OR KSUB2.' WRITE(KNTN,'(A,I5)') ' WARNING - NUMBER OF SUBSETS IS ',KSUP(6) RETURN END IF IF(ISUB1.GT.KSUP(6)) THEN WRITE(KNTN,'(A,I5)') ' WARNING - NUMBER OF SUBSETS IS ',KSUP(6) RETURN END IF IF(ISUB2.GT.KSUP(6)) THEN ISUB2=KSUP(6) WRITE(KNTN,'(A,I5)') ' WARNING - KSUB2 REPLACED BY ',KSUP(6) END IF C IF(.NOT. OCTABLE) K=0 C IF(K.EQ.0) THEN C DO 103 JB=ISUB1,ISUB2 CALL BUSEL2(JB,KELEM,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,KERR) C ILN=0 WRITE(KNTN,'(1H )') C DO 104 JA=1,KTDEXL C ILN=ILN+1 JAJB=JA+(JB-1)*KELEM C IF(ABS(VALUES(JAJB)-RVIND)/RVIND.LT.EPS) THEN WRITE(KNTN,9918) ILN,CNAMES(JA),CUNITS(JA) ELSE IF(CUNITS(JA)(1:4).EQ.'CCIT') THEN I=NINT(VALUES(JAJB)/1000) NCHAR=VALUES(JAJB)-I*1000 NW=NCHAR/80 NWOFF=NCHAR-NW*80 IF(NWOFF.NE.0) NW=NW+1 C YLONG=' ' YLONG(1:80)=CVALS(I) C II=I DO 125 JC=1,NW-1 II=II+1 KF=JC*80+1 KL=(JC+1)*80 YLONG(KF:KL)=CVALS(II) 125 CONTINUE C NLINE=NCHAR/30 IDIF =NCHAR-NLINE*30 IF(IDIF.NE.0) NLINE=NLINE+1 YCHAR=' ' YCHAR=YLONG(1:30) C WRITE(KNTN,9919)ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA),YCHAR C IF(NLINE.GT.1) THEN DO 130 JJ=1,NLINE-1 C K2=JJ*30+1 K1=(JJ+1)*30 YCHAR=' ' YCHAR=YLONG(K2:K1) C WRITE(KNTN,9920) YCHAR 130 CONTINUE C END IF ELSE WRITE(KNTN,9917) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA) END IF END IF C 104 CONTINUE 103 CONTINUE C END IF C IF(K.EQ.1) THEN C C--------------------------------------------------------------------- WRITE(KNTN,'(1H1)') C C--------------------------------------------------------------------- C DO 150 JB=ISUB1,ISUB2 CALL BUSEL2(JB,KELEM,KTDLEN,KTDLST,KTDEXL,KTDEXP,CNAMES, 1 CUNITS,KERR) C ILN=0 WRITE(KNTN,'(1H )') C DO 160 JA=1,KTDEXL C ILN=ILN+1 C JAJB=JA+(JB-1)*KELEM C IF(ABS(VALUES(JAJB)-RVIND)/RVIND.LT.EPS) THEN WRITE(KNTN,9918) ILN,CNAMES(JA),CUNITS(JA) ELSE IF(CUNITS(JA)(1:4).EQ.'CCIT') THEN I=NINT(VALUES(JAJB)/1000) NCHAR=VALUES(JAJB)-I*1000 NW=NCHAR/80 NWOFF=NCHAR-NW*80 IF(NWOFF.NE.0) NW=NW+1 C YLONG=' ' YLONG(1:80)=CVALS(I) C II=I DO 1125 JC=1,NW-1 II=II+1 KF=JC*80+1 KL=(JC+1)*80 YLONG(KF:KL)=CVALS(II) 1125 CONTINUE C NLINE=NCHAR/30 IDIF =NCHAR-NLINE*30 IF(IDIF.NE.0) NLINE=NLINE+1 YCHAR=' ' YCHAR=YLONG(1:30) C WRITE(KNTN,9919)ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA),YCHAR C IF(NLINE.GT.1) THEN DO 1130 JJ=1,NLINE-1 C K2=JJ*30+1 K1=(JJ+1)*30 YCHAR=' ' YCHAR=YLONG(K2:K1) C WRITE(KNTN,9920) YCHAR 1130 CONTINUE C END IF ELSEIF(CUNITS(JA)(1:4).EQ.'CODE') THEN KCODE=NINT(VALUES(JAJB)) CALL GETCODE(KTDEXP(JA),KCODE,YCODE,IERR) DO IZ=256,1,-1 IF(YCODE(IZ:IZ).NE.' ') THEN IZZ=IZ GO TO 161 END IF END DO 161 CONTINUE IKK=IZZ/64+1 WRITE(KNTN,9919) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA), YCODE(1:64) IF(IKK.GT.1) THEN IIII=65 DO IK=2,IKK WRITE(KNTN,9920) YCODE(iiii:iiii+64-1) IIII=IIII+64 END DO END IF ELSEIF(CUNITS(JA)(1:4).EQ.'FLAG') THEN KCODE=NINT(VALUES(JAJB)) CALL GETFLAG(KTDEXP(JA),KCODE,KFLAG,YFLAG,IERR) WRITE(KNTN,9919) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA), YFLAG(1) IF(KFLAG.GT.1) THEN DO IZ=2,KFLAG WRITE(KNTN,9920) YFLAG(IZ) END DO END IF ELSE WRITE(KNTN,9917) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA) END IF END IF 160 CONTINUE 150 CONTINUE C END IF C C C RETURN C C ------------------------------------------------------------------ C 200 CONTINUE C C ------------------------------------------------------------------ 9917 FORMAT(1H ,I6,1X,A32,1X,E23.14E3,1X,A24) 9918 FORMAT(1H ,I6,1X,A32,1X,' MISSING',1X,A24) 9919 FORMAT(1H ,I6,1X,A32,1X,E23.14E3,1X,A24,1X,A) 9920 FORMAT(1H ,89X,A) END emoslib-000392+dfsg.1/bufrdc/buoctn.F0000755000175000017500000000631112127406245020330 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUOCTN(KWPTB,KBPTB,KBUFL,KBUFF,KERR) C C**** *BUOCTN* C C C PURPOSE. C -------- C CALCULATE NUMBER OF OCTETS FROM BIT POSITION DEFINED BY C KWPT,KBPT AND KWPTB,KBPTB; NUMBER OF OCTETS MUST BE EVEN. IF IT IS C NEEDED PADING WITH 0 BIT PERFORMS. NUMBER OF OCTETS IS WRITTEN AT C BEGINIG OF THE SECTION. C C** INTERFACE. C ---------- C C *CALL* *BUOCTN(KWPTB,KBPTB,KBUFL,KBUFF,KERR)* C C INPUT : C *KWPTB* - WORD POINTER TO THE BEGINING OF SECTION C *KBPTB* - BIT POINTER TO THE BEGINING OF SECTION C OUTPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KERR* - RETURNED ERROR CODE C C C *METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C BUPCK - PACK BIT PATHERN AND RESETS POINTERS C SBYTE - PACK BIT PATHERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 07/10/87. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" C DIMENSION KBUFF(KBUFL) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C ------------------------------------------------------------------ C* 1. CALCULATE NUMBER OF OCTETS. C --------------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C IB =(NWPT-1) * NBPW + NBPT IBB =(KWPTB-1)* NBPW + KBPTB C IDIFB= IB - IBB C NOCT = IDIFB/8 IBDW = IDIFB - NOCT*8 C IF(IBDW .NE.0)THEN NOCT=NOCT+1 IBDW=8-IBDW CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,IBDW,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF END IF C C ------------------------------------------------------------------ C* 2. CHECK IF THERE ARE EVEN NUMBER OF OCTETS IN BLOCK. C -------------------------------------------------- 200 CONTINUE C IF(NEDN.LE.3) THEN IF(MOD(NOCT,2).NE.0) THEN IBDW = 8 CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,IBDW,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF NOCT = NOCT+1 END IF END IF C ------------------------------------------------------------------ C* 3. WRITE NUMBER OF OCTETS AT BEGINING OF BLOCK. C -------------------------------------------- 300 CONTINUE C IBDW = 24 CALL SBYTE(KBUFF(KWPTB),NOCT,KBPTB,IBDW) C RETURN END emoslib-000392+dfsg.1/bufrdc/buunps.F0000755000175000017500000000424112127406245020352 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUUNPS(KBPW,KSOURC,KDEST,KWPT,KBPT,KSIZE,KSKIPB,K,KERR) C C**** *BUUNPS* C C C PURPOSE. C -------- C PURPOSE OF THIS ROUTINE IS TO UNPACK BIT STRING OF C KSIZE BITS, STARTED AT WORD KWPT OF ARRAY KSOURC AFTER C SKIPPING KBPT BITS. RESULT IS PUT INTO KDEST. C C** INTERFACE. C ---------- C C *CALL* *BUUNPS(KBPW,KSOURC,KDEST,KWPT,KBPT,KSIZE,KSKIPB,K,KERR)* C C INPUT : C *KBPW* - NUMBER OF BITS PER COMPUTER WORD C *KSOURC* - SOURCE (CONTINUOUS BIT STRING OF C ARBITRARY LENGTH) C *KWPT* - WORD POINTER C *KBPT* - BIT POINTER C *KSIZE* - NUMBER OF BITS TO BE EXTRACTED C *KSKIPB* - NUMBER OF BITS TO SKIP BETWEEN ELEMENTS C *K* - ITERATION C OUTPUT: C *KDEST* - DESTINATION C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C GBYTES - UNPACK BIT PATTERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C DIMENSION KSOURC(*),KDEST(*) C C ------------------------------------------------------------------ C* 1. EXTRACT BIT PATTERN. C -------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C IF(KSIZE.GT.KBPW) THEN KERR=13 WRITE(KNTN,*)' BUUNPS :' CALL BUERR(KERR) END IF C CALL GBYTES(KSOURC(KWPT),KDEST,KBPT,KSIZE,KSKIPB,K) C RETURN END emoslib-000392+dfsg.1/bufrdc/busbytesR4.F0000755000175000017500000000212112127406245021077 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUSBYTESR4(DESTINATION,KSOURCE,KSKIP,KWIDTH, 1 KSKIPBETWEEN,KNUMBER) C C**** *BUSBYTESR4* C C C PURPOSE. C -------- C C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JULY 2008 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) REAL*4 DESTINATION CALL SBYTES(DESTINATION,KSOURCE,KSKIP,KWIDTH,KSKIPBETWEEN,KNUMBER) RETURN END emoslib-000392+dfsg.1/bufrdc/mbufr_mars_filter.F0000755000175000017500000001376512127406245022553 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE MBUFR_MARS_FILTER(KSIZE,KREQUEST,KBUFL, 1 KBUFF,FOUND,KERR) C C**** *MBUFR_MARS_FILTER* C C C PURPOSE. C -------- C FILTER BUFR MESSAGES FROM kbuff array C ACCORDING TO REQUEST and returning requested bufr message C in kbuff array if repacking is not needed or kbufr otherwise. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C C EXTERNALS. C ---------- C C CALL MBUSEL C CALL MBUFREX C CALL MBUFREN C CALL MBUPRS0 C CALL MBUPRS1 C CALL MBUPRS2 C CALL MBUPRS3 C CALL MBUPRT C CALL MBUUKEY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 12/09/2002 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096,JSEC3= 4, 1 JSEC4=2,JELEM=160000,JSUBS=400,JCVAL=150 ,JBUFL=512000, #ifdef JBPW_64 2 JBPW = 64,JTAB =3000,JCTAB=3000,JCTST=3000,JCTEXT=6000, #else 2 JBPW = 32,JTAB =3000,JCTAB=3000,JCTST=3000,JCTEXT=6000, #endif 3 JWORK=4096000,JKEY=46, JTMAX=10,JTCLAS=64,JTEL=255) C PARAMETER (KELEM=200) PARAMETER (KVALS=200000) C DIMENSION KBUFF(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) DIMENSION KEY(JKEY),KEY1(JKEY),KEY2(JKEY) REAL*8 VALUES(KVALS) REAL*8 RQV(KELEM) REAL*8 RVIND REAL*8 EPS DIMENSION KTDLST(KELEM),KTDEXP(KELEM) DIMENSION KDATA(200) DIMENSION KREQ(2),KRQ(KELEM) C CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER*9 CIDENTS LOGICAL FOUND DIMENSION KREQUEST(KSIZE) C C C ------------------------------------------------------------------ C* 1. GET FILE NAMES. C --------------- 100 CONTINUE C RVIND=1.7D38 NBYTES=JBPW/8 EPS=10.D-7 C KBUFL1=KBUFL/NBYTES+1 C C C ----------------------------------------------------------------- C* 2.1 EXPAND BUFR MESSAGE SECTION 0,1,2 C --------------------------------- 210 CONTINUE C IERR=0 CALL BUS0123( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KSEC3,IERR) IF(KERR.NE.0) RETURN C IF(KSEC3(3).EQ.1.OR.KSEC3(3).GT.1.AND. 1 KSEC3(4).EQ.192.OR.KSEC3(4).EQ.64) THEN C Expand first 9 elements CALL BUSTOP(9) END IF C 2.1.1 UNPACK KEY C C CALL BUUKEY(KSEC1,KSEC2,KEY,KSUP,KERR) C C PRINT KEY C C CALL BUPRS2(KSUP ,KEY) C C---------------------------------------------------------------- C C 2.3 MULTI-SUBSET MESSAGE C 230 CONTINUE C IF(KSUP(6).GT.1) THEN KEL=KVALS/KSUP(6) IF(KEL.GT.KELEM) KEL=KELEM ELSE KEL=KELEM END IF C KREQ(1)=1 KREQ(2)=2 KRQ (1)=002048 KRQ (2)=002019 RQV (1)=RVIND RQV (2)=RVIND KRQL=2 KERR=0 CALL BUSRQ(KREQ,KRQL,KRQ,RQV,KERR) IF(KERR.NE.0) RETURN C CALL BUFREX(KBUFL1,KBUFF,KSUP,KSEC0 ,KSEC1,KSEC2 ,KSEC3 ,KSEC4, 1 KEL,CNAMES,CUNITS,KVALS,VALUES,CVALS,KERR) C IF(KERR.NE.0) RETURN C C* 2.4 PRINT EXPANDED BUFR MESSAGE. C ---------------------------- 240 CONTINUE C C CALL BUPRS0(KSEC0) C CALL BUPRS1(KSEC1) C CALL BUUKEY(KSEC1,KSEC2,KEY,KSUP,KERR) C CALL BUPRS2(KSUP ,KEY) C CALL BUSEL(KTDLEN,KTDLST,KTDEXL,KTDEXP,KERR) IF(KERR.NE.0) RETURN C C CALL BUPRS3(KSEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP,KEL,CNAMES) C IST=1 C IEND=KSUP(6) C CALL BUPRT(ICODE,IST,IEND,KEL,CNAMES,CUNITS,CVALS, C 1 KVALS,VALUES,KSUP,KSEC1,IERR) C C C i_002048=0 i_002019=0 DO I=1,KTDEXL IF(KTDEXP(i).EQ.002048) i_002048=i IF(KTDEXP(i).EQ.002019) i_002019=i END DO C if(i_002048.ne.0) then do i=1,ksize if(krequest(i).eq.605) then krequest(i)=0 elseif(krequest(i).eq.623) then krequest(i)=1 elseif(krequest(i).eq.627) then krequest(i)=2 elseif(krequest(i).eq.570) then krequest(i)=3 elseif(krequest(i).eq.574) then krequest(i)=4 elseif(krequest(i).eq.590) then krequest(i)=5 elseif(krequest(i).eq.905) then krequest(i)=6 elseif(krequest(i).eq.312) then krequest(i)=7 elseif(krequest(i).eq.313) then krequest(i)=8 elseif(krequest(i).eq.203) then krequest(i)=11 end if end do end if C FOUND=.FALSE. C if(i_002048.ne.0) then do i=1,ksize do j=1,ksec3(3) ij=i_002048+(j-1)*kel if(abs(values(ij)-rvind)/rvind.gt.eps) then if(nint(values(ij)).eq.krequest(i)) FOUND =.TRUE. end if end do end do elseif(i_002019.ne.0) then do i=1,ksize do j=1,ksec3(3) ij=i_002019+(j-1)*kel if(abs(values(ij)-rvind)/rvind.gt.eps) then if(nint(values(ij)).eq.krequest(i)) FOUND =.TRUE. end if end do end do else FOUND =.FALSE. end if C ----------------------------------------------------------------- KERR=0 C RETURN C C END emoslib-000392+dfsg.1/bufrdc/burquc.F0000755000175000017500000007200112127406245020336 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BURQUC(KBUFL,KBUFF,KELEM,CNAMES,CUNITS,KSUP,KSEC3,KERR) C C**** *BURQUC* C C C PURPOSE. C -------- C C CREATE PARAMETERS NEEDED FOR PARTIAL EXPANSION OF C BUFR MESSAGE ACCORDING TO REQUESTED INPUT LISTS. C C C** INTERFACE. C ---------- C C *CALL* *BURQUC(KBUFL,KBUFF,KELEM,CNAMES,CUNITS,KSUP,KSEC3,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - CHARACTER ARRAY CONTAINIG UNITS C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C WORD AND BIT POINTERS ARE CALCULATED FOR EVERY ELEMENT C IN THE EXPANDED LIST OF ELEMENTS. IF PARTIAL EXPANSION REQUESTED, C INDECES TO REQUIRED ELEMENTS ARE DETERMINED, AS WELL AS CORRESPONDING C QUALITY CONTROL, STATISTICS ETC. INFORMATION. C C C C EXTERNALS. C ---------- C C BUNPCK - UNPACKS BIT PATTERN C BUNPKS - UNPACKS BIT PATTERN IN REPEATED WAY C BUPMRK - PROCES MARKER OPERATOR C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcombef.F" # include "bcomwt.F" # include "bcomp.F" # include "bcomwtc.F" # include "bcomrq.F" # include "bcomreq.F" # include "bcomoff.F" C CHARACTER CWTEN*64,CWTU*24 CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) C DIMENSION KBUFF(KBUFL) DIMENSION KSUP(JSUP),KSEC3(JSEC3) C DIMENSION IRQEI(JELEM),IQCI(JELEM),IQCDPI(JELEM) DIMENSION IBVAL(JELEM),IBV(JELEM) DIMENSION IC7(JELEM),IC8(JELEM),IC7R(JELEM),IC8R(JELEM) DIMENSION NQP(JELEM),ITYPE(100) C DIMENSION IMASK(8) #ifndef R_4 REAL*8 RVIND REAL*8 EPS REAL*8 RQVAL REAL*8 VAL #else REAL RVIND REAL EPS REAL RQVAL REAL VAL #endif C SAVE IBV,IBVAL C DATA IMASK /1,2,4,8,16,32,64,128/ C C C ------------------------------------------------------------------ C C* 1. DEFINE WORD/BIT POINTERS TO EVERY ELEMENT. C ------------------------------------------ 100 CONTINUE C NFUCM=1 NFCM=0 C IF(KERR.GT.0) RETURN C C CHECK REQUEST VALIDITY C IF(NREQ(1).EQ.0.AND.NREQ(2).NE.0) THEN KERR=38 CALL BUERR(KERR) RETURN END IF C MREL=0 C IBP32= 32 + NBPTB C IB1=0 IF(IAND(NREQ(2),IMASK(1)).NE.0) IB1=1 IB2=0 IF(IAND(NREQ(2),IMASK(2)).NE.0) IB2=1 IB3=0 IF(IAND(NREQ(2),IMASK(3)).NE.0) IB3=1 IB4=0 IF(IAND(NREQ(2),IMASK(4)).NE.0) IB4=1 IB5=0 IF(IAND(NREQ(2),IMASK(5)).NE.0) IB5=1 IB6=0 IF(IAND(NREQ(2),IMASK(6)).NE.0) IB6=1 C C C* 1.2 NON-COMPRESSED DATA. C -------------------- 120 CONTINUE C IF(OMULTI) THEN C N=1 DO 1221 I=1,N IBIT=0 IF(NSUBSET.EQ.1) THEN IBIT = IBIT + IBP32 ! beginning of first element IWORD= IBIT/NBPW ELSE IBIT=NBP END IF C I1MK=(I-1)*KELEM I1= 1+I1MK C IF(NSUBSET.EQ.1) THEN NBITP (I1)= IBIT - IWORD*NBPW NWORDP(I1)= NWPTB + IWORD ELSE NWORDP(I1)= NWP NBITP (I1)= NBP IBIT= IBIT + NWP*NBPW END IF C DO 1231 J=2,M IBIT = IBIT + NWTDW(J-1) IWORD= IBIT/NBPW C JI= J+I1MK C NBITP (JI)= IBIT - IWORD*NBPW IF(NSUBSET.EQ.1) THEN NWORDP(JI)= NWPTB + IWORD ELSE NWORDP(JI)=IWORD END IF 1231 CONTINUE 1221 CONTINUE NSIZEG(NSUBSET)=M ELSE IBIT0= 0 C IF(N.GT.1) THEN DO 121 J=1,M IBIT0 = IBIT0 + NWTDW(J) 121 CONTINUE END IF C DO 122 I=1,N IBIT=0 IBIT=IBIT0*(I-1) IBIT = IBIT + IBP32 IWORD= IBIT/NBPW C I1MK=(I-1)*KELEM I1= 1+I1MK C NBITP (I1)= IBIT - IWORD*NBPW NWORDP(I1)= NWPTB + IWORD C DO 123 J=2,M IBIT = IBIT + NWTDW(J-1) IWORD= IBIT/NBPW C JI= J+I1MK C NBITP (JI)= IBIT - IWORD*NBPW NWORDP(JI)= NWPTB + IWORD 123 CONTINUE 122 CONTINUE C END IF C ----------------------------------------------------------------- C* 2. CREATE POINTERS FOR REQUESTED ELEMENTS. C --------------------------------------- 200 CONTINUE C C C* 2.1 CHECK IF SUBSET OF ELEMENTS REQUESTED. C 210 CONTINUE C IF(NREQ(1).EQ.0) THEN DO 212 I=1,M INWTEN(I)=NWTEN(I) INWTR (I)=NWTR (I) INWTS (I)=NWTS (I) INWTDW(I)=NWTDW(I) INWTRV(I)=NWTRV(I) CNAMES(I)=CWTEN(I) CUNITS(I)=CWTU(I) DO 2128 J=1,N JM1K=(J-1)*KELEM JI=I+JM1K INWORDP(JI)=NWORDP(JI) INBITP(JI)=NBITP(JI) 2128 CONTINUE 212 CONTINUE RETURN END IF C IF(NREQ(1).EQ.1) THEN DO 213 I=1,M IF(NWTR(I).GT.200000.AND. 1 NWTR(I).NE.999999) THEN MREL=I-1 GO TO 2133 END IF 213 CONTINUE MREL=M C 2133 CONTINUE J=0 IF(NREQ(2).EQ.0) THEN DO 2131 I=1,MREL J=J+1 DO 2132 K=1,N C K1K=(K-1)*KELEM JK=J+K1K IK=I+K1K C INBITP(JK)=NBITP(IK) INWORDP(JK)=NWORDP(IK) 2132 CONTINUE INWTEN(J)=NWTEN(I) INWTR(J)=NWTR(I) INWTS(J)=NWTS(I) INWTDW(J)=NWTDW(I) INWTRV(J)=NWTRV(I) CNAMES(J)=CWTEN(I) CUNITS(J)=CWTU(I) 2131 CONTINUE M=J RETURN ELSE M=MREL GO TO 220 END IF C END IF C IF(NREQ(1).EQ.2) THEN DO 214 I=1,M IF(NWTR(I).EQ.235000) THEN M=I-1 GO TO 2141 END IF 214 CONTINUE C 2141 CONTINUE C J=0 IF(NREQ(2).EQ.0) THEN DO 2142 I=1,M J=J+1 DO 2143 K=1,N C K1K=(K-1)*KELEM JK=J+K1K IK=I+K1K C INBITP(JK)=NBITP(IK) INWORDP(JK)=NWORDP(IK) 2143 CONTINUE INWTEN(J)=NWTEN(I) INWTR(J)=NWTR(I) INWTS(J)=NWTS(I) INWTDW(J)=NWTDW(I) INWTRV(J)=NWTRV(I) CNAMES(J)=CWTEN(I) CUNITS(J)=CWTU(I) 2142 CONTINUE C RETURN ELSE GO TO 220 END IF END IF C IF(NREQ(1).EQ.3) THEN DO 215 I=1,M IF(NWTR(I).EQ.235000) THEN C C COPY CLASS 1 - 8 C DO 2151 III=1,M IF(NWTR(III).GT.8000) THEN J=0 IF(NREQ(2).EQ.0) THEN DO 2161 II=1,III-1 J=J+1 DO 2171 K=1,N K1K=(K-1)*KELEM JK=J+K1K IIK=II+K1K INBITP(JK)=NBITP(IIK) INWORDP(JK)=NWORDP(IIK) 2171 CONTINUE INWTR(J) =NWTR(II) INWTS(J) =NWTS(II) INWTRV(J) =NWTRV(II) INWTDW(J) =NWTDW(II) INWTEN(J) =NWTEN(II) CNAMES(J)=CWTEN(II) CUNITS(J)=CWTU(II) 2161 CONTINUE GO TO 2160 ELSE DO 21611 II=1,III-1 J=J+1 DO 21711 K=1,N K1K=(K-1)*KELEM JK=J+K1K IIK=II+K1K NBITP(JK)=NBITP(IIK) NWORDP(JK)=NWORDP(IIK) 21711 CONTINUE NWTR(J) =NWTR(II) NWTS(J) =NWTS(II) NWTRV(J) =NWTRV(II) NWTDW(J) =NWTDW(II) NWTEN(J) =NWTEN(II) CWTEN(J)=CWTEN(II) CWTU(J)=CWTU(II) 21611 CONTINUE GO TO 2160 END IF END IF 2151 CONTINUE C---------------------------------------------------------------------- 2160 CONTINUE IF(NREQ(2).EQ.0) THEN DO 216 II=I+1,M J=J+1 DO 217 K=1,N K1K=(K-1)*KELEM JK=J+K1K IIK=II+K1K INBITP(JK)=NBITP(IIK) INWORDP(JK)=NWORDP(IIK) 217 CONTINUE INWTR(J) =NWTR(II) INWTS(J) =NWTS(II) INWTRV(J) =NWTRV(II) INWTDW(J) =NWTDW(II) INWTEN(J) =NWTEN(II) CNAMES(J)=CWTEN(II) CUNITS(J)=CWTU(II) 216 CONTINUE M=J RETURN ELSE DO 2169 II=I+1,M J=J+1 DO 2179 K=1,N K1K=(K-1)*KELEM JK=J+K1K IIK=II+K1K NBITP(JK)=NBITP(IIK) NWORDP(JK)=NWORDP(IIK) 2179 CONTINUE NWTR(J) =NWTR(II) NWTS(J) =NWTS(II) NWTRV(J) =NWTRV(II) NWTDW(J) =NWTDW(II) NWTEN(J) =NWTEN(II) CWTEN(J)=CWTEN(II) CWTU(J)=CWTU(II) 2169 CONTINUE M=J GO TO 220 END IF END IF 215 CONTINUE KERR=39 CALL BUERR(KERR) M=0 RETURN ELSE KERR=40 CALL BUERR(KERR) RETURN END IF C C C* 2.2 CREATE INDICES TO CLASS 7/8 C --------------------------- 220 CONTINUE C DO 225 I=1,M IF(NWTR(I).GT.200000.AND. 1 NWTR(I).NE.999999) THEN MREL=I-1 GO TO 226 END IF 225 CONTINUE C MREL=M C 226 CONTINUE C J=0 JJ=0 DO 221 I=1,MREL ICLASS=NWTR(I)/1000 IF(ICLASS.EQ.7) THEN J=J+1 IC7(J)=I END IF C IF(ICLASS.EQ.8) THEN JJ=JJ+1 IC8(JJ)=I END IF 221 CONTINUE C IC7L=J IC8L=JJ J=0 JJ=0 DO 223 I=1,NRQL ICLASS=NRQ(I)/1000 IF(ICLASS.EQ.7.AND.(ABS(RQVAL(I)-RVIND)/RVIND.GT.EPS)) THEN J=J+1 IC7R(J)=I END IF C IF(ICLASS.EQ.8.AND.(ABS(RQVAL(I)-RVIND)/RVIND.GT.EPS)) THEN JJ=JJ+1 IC8R(JJ)=I END IF 223 CONTINUE C IC7RL=J IC8RL=JJ C C* 2.3 CREATE INDECES TO THE REQUESTED ELEMENTS. C ----------------------------------------- 230 CONTINUE C IF(IC7RL.EQ.0.AND.IC8RL.EQ.0) THEN IL=MREL IRL=NRQL END IF IF(IC7RL.NE.0.AND.IC8RL.EQ.0) THEN IL=IC7(1) IRL=IC7R(1)-1 END IF IF(IC8RL.NE.0.AND.IC7RL.EQ.0) THEN IL=IC8(1) IRL=IC8R(1)-1 END IF IF(IC7RL.NE.0.AND.IC8RL.NE.0) THEN IL=IC7(1) IF(IC7(1).GT.IC8(1)) IL=IC8(1) IRL=IC7R(1) IF(IC7R(1).GT.IC8R(1)) IRL=IC8R(1) IRL=IRL-1 END IF C DO 299 I=1,MREL IRQEI(I)=0 299 CONTINUE C ORQEI=.FALSE. DO 231 I=1,IL IF(IB2.EQ.0.OR.NRQL.EQ.0) THEN ORQEI=.TRUE. IRQEI(I)=I ELSE DO 232 K=1,IRL IF(NWTR(I).EQ.NRQ(K)) THEN ORQEI=.TRUE. IRQEI(I)=I END IF 232 CONTINUE END IF 231 CONTINUE C C IF(IC7RL.NE.0) THEN C C CLASS 7 SIGNIFYING C IST=1 DO 233 IJ=1,IC7RL III=IC7R(IJ) DO 234 I=IST,IC7L II=IC7(I) IF(IC7R(IJ).EQ.IC7R(IJ+1)) THEN IF(NWTR(II).NE.NWTR(II+1)) GO TO 234 END IF IBITP=NBITP(II) IWORD=NWORDP(II) CALL GBYTE(KBUFF(IWORD),IVAL,IBITP,NWTDW(II)) ISCALE=NWTS(II) IREF =NWTRV(II) IVAL =IVAL+IREF VAL =RVIND IF(IVAL.NE.NMASK(NWTDW(II))) THEN IF(ISCALE.GT.0) THEN VAL=IVAL/10.**ISCALE ELSE IISCALE=IABS(ISCALE) VAL=IVAL*10.**IISCALE END IF END IF C INEXT=IC7(I+1)-1 IF(I.EQ.IC7L) INEXT=MREL C IF(IC7(I+1).EQ.0) INEXT=MREL IF(ABS(RQVAL(III)-VAL).LT.EPS.OR. 1 ABS(RQVAL(III)-RVIND)/RVIND.LT.EPS) THEN DO 236 KI=II,INEXT IF(IB2.EQ.0) THEN ORQEI=.TRUE. IRQEI(KI)=KI ELSE IE=IC7R(IJ+1)-1 IF(IJ.EQ.IC7RL) IE=NRQL IF(IC8RL.NE.0) THEN DO 238 JA=1,IC8RL IF(IC8R(JA).GT.III.AND.IC8R(JA).LT.IE) THEN IE=IC8R(JA)-2 GO TO 298 END IF 238 CONTINUE END IF 298 CONTINUE DO 237 IK=III,IE IF(NWTR(KI).EQ.NRQ(IK)) THEN ORQEI=.TRUE. IRQEI(KI)=KI END IF 237 CONTINUE END IF 236 CONTINUE C GO TO 233 END IF 234 CONTINUE 233 CONTINUE C END IF C IF(IC8RL.NE.0) THEN C C CLASS 8 SIGNIFYING C IST=1 DO 241 IJ=1,IC8RL III=IC8R(IJ) DO 242 I=IST,IC8L II=IC8(I) IBITP=NBITP(II) IWORD=NWORDP(II) CALL GBYTE(KBUFF(IWORD),IVAL,IBITP,NWTDW(II)) ISCALE=NWTS(II) IREF =NWTRV(II) IVAL =IVAL+IREF VAL =RVIND IF(IVAL.NE.NMASK(NWTDW(II))) THEN IF(ISCALE.GT.0) THEN VAL=IVAL/10.**ISCALE ELSE IISCALE=IABS(ISCALE) VAL=IVAL*10.**IISCALE END IF END IF C INEXT=IC8(I+1)-2 IF(IC8(I+1).EQ.0) INEXT=MREL C OT=.FALSE. IF(ABS(VAL-RVIND)/RVIND.LT.EPS) THEN IVAL=NINT(VAL) IRQV=NINT(RQVAL(III)) C IF(NWTR(II).EQ.008001) THEN OT=.TRUE. IF(IAND(IVAL,IRQV).NE.IRQV) OT=.FALSE. ELSE OT=.TRUE. IF(ABS(VAL-RQVAL(III)).GT.EPS) OT=.FALSE. END IF END IF C IF(OT) THEN ICL=NWTR(II-1)/1000 IF(ICL.EQ.7) IRQEI(II-1)=II-1 DO 244 KI=II,INEXT IF(IB2.EQ.0) THEN ORQEI=.TRUE. IRQEI(KI)=KI ELSE IE=IC8R(IJ+1)-1 IF(IJ.EQ.IC8RL) IE=NRQL IF(IC7RL.NE.0) THEN DO 248 JA=1,IC7RL IF(IC7R(JA).GT.III.AND.IC7R(JA).LT.IE) THEN IE=IC7R(JA)-1 GO TO 297 END IF 248 CONTINUE END IF 297 CONTINUE DO 245 IK=III,IE IF(NWTR(KI).EQ.NRQ(IK)) THEN ORQEI=.TRUE. IRQEI(KI)=KI END IF 245 CONTINUE END IF 244 CONTINUE C END IF 242 CONTINUE 241 CONTINUE C END IF C IF(.NOT.ORQEI) THEN KERR=45 CALL BUERR(KERR) M=0 RETURN END IF C C C* 3. FIND POINTERS TO QUALITY CONTROL,START OF DATA C ---------------------------------------------- C PRESENT INDICATORS AND %CONFIDENCE. C ----------------------------------- C 300 CONTINUE C I=0 IF(IB3.NE.0) THEN I=I+1 ITYPE(I)=222000 END IF C IF(IB4.NE.0) THEN I=I+1 ITYPE(I)=224000 END IF C IF(IB5.NE.0) THEN I=I+1 ITYPE(I)=225000 END IF C IF(IB6.NE.0) THEN I=I+1 ITYPE(I)=223000 END IF C KEND=I IF(KEND.EQ.0) THEN J=0 DO 4011 I=1,MREL IF(IRQEI(I).NE.0) THEN II=IRQEI(I) J=J+1 DO 4021 K=1,N K1K=(K-1)*KELEM JK=J+K1K IIK=II+K1K INWORDP(JK)=NWORDP(IIK) INBITP (JK)=NBITP (IIK) 4021 CONTINUE INWTR(J) =NWTR(II) INWTS(J) =NWTS(II) INWTRV(J) =NWTRV(II) INWTDW(J) =NWTDW(II) INWTEN(J) =NWTEN(II) CNAMES(J)=CWTEN(II) CUNITS(J)=CWTU(II) END IF 4011 CONTINUE GO TO 900 END IF C OLIST=.FALSE. O236=.FALSE. O237=.FALSE. C DO 500 KT=1,KEND C JQPR=0 JQUA=0 JQCA=0 JQC =0 JQCC=0 JQCS=0 KM=MREL C C FIND POINTERS TO OPERATORS C KZ=0 DO 3031 I=KM,M IF(NWTR(I).EQ.ITYPE(KT)) THEN KZ=KZ+1 NQP(KZ)=I END IF 3031 CONTINUE C IF(KZ.EQ.0) THEN WRITE(KNTN,*) ITYPE(KT),' NOT PRESENT IN THIS MESSAGE.' GO TO 500 ELSE KZ=KZ+1 NQP(KZ)=M END IF C DO 3033 KQ=1,KZ-1 C JQUA=NQP(KQ) C IF(NWTR(JQUA+1).EQ.236000) THEN JQ236=JQUA+1 O236=.TRUE. END IF C IF(NWTR(JQUA+1).EQ.237000) THEN JQ237=JQUA+1 O237=.TRUE. ELSE O237=.FALSE. END IF C C C DATA PRESENT INDICATOR C IF(.NOT.O236.AND.O237) THEN C C FIND LAST DEFINED BIT MAP C DO 420 I=JQUA,MREL,-1 IF(NWTR(I).EQ.236000) GO TO 421 420 CONTINUE C KERR=41 CALL BUERR(KERR) RETURN C 421 CONTINUE C O236=.TRUE. O237=.FALSE. JQ236=I JQ237=0 IK=I IDPRF=0 DO 3015 I=IK,M IF(NWTR(I).EQ.31031.OR.NWTR(I).EQ.31192) THEN IDPRF=IDPRF+1 IF(IDPRF.EQ.1) JQPR=I ELSE IF(IDPRF.NE.0) GO TO 30111 END IF 3015 CONTINUE C 3016 CONTINUE END IF C C DATA PRESENT INDICATOR C IF(.NOT.O237) THEN IDPRF=0 DO 301 I=JQUA,NQP(KQ+1) IF(NWTR(I).EQ.31031.OR.NWTR(I).EQ.31192) THEN IDPRF=IDPRF+1 IF(IDPRF.EQ.1) JQPR=I ELSE IF(IDPRF.NE.0) GO TO 30111 END IF 301 CONTINUE END IF C 30111 CONTINUE C C GENERATING CENTRE C DO 309 I=JQUA,NQP(KQ+1) IF(NWTR(I).EQ.1031) THEN JQCC=I GO TO 302 END IF 309 CONTINUE C 302 CONTINUE C C GENERATING APPLICATION C DO 307 I=JQUA,NQP(KQ+1) IF(NWTR(I).EQ.1032.OR.NWTR(I).EQ.1201.OR. 1 NWTR(I).EQ.63191) THEN JQCA=I GO TO 3071 END IF 307 CONTINUE C 3071 CONTINUE C C PERCENTAGE CONFIDENCE C IF(ITYPE(KT).EQ.222000) THEN DO 305 I=JQUA,NQP(KQ+1) IF(NWTR(I)/1000.EQ.33.OR.NWTR(I).EQ.63192) THEN JQC=I GO TO 306 END IF 305 CONTINUE ELSE C SIGNIFICANCE C DO 308 I=JQUA,NQP(KQ+1) IF(NWTR(I)/1000.EQ.8) THEN JQCS=I GO TO 3088 END IF 308 CONTINUE C 3088 CONTINUE DO 3051 I=JQUA,NQP(KQ+1) IF(NWTR(I).EQ.223255.OR.NWTR(I).EQ.224255.OR. 1 NWTR(I).EQ.225255) THEN JQC=I GO TO 306 END IF 3051 CONTINUE END IF C C 306 CONTINUE C C C* 3.1 SET INDICES TO GET Q/C. C GET BIT MAP FROM DATA SECTION. C 310 CONTINUE C IF(JQUA.EQ.0) THEN WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A)') 'Q/C NOT PRESENT IN THIS BUFR MESSAGE.' WRITE(KNTN,'(1H )') ELSE C IF(.NOT.O237) THEN DO 311 K=1,N C K1K=(K-1)*KELEM JQPRK=JQPR+K1K C IWPT=NWORDP(JQPRK) IBPT=NBITP (JQPRK) CALL GBYTES(KBUFF(IWPT),IBV,IBPT,1,0,IDPRF) DO 312 KA=1,IDPRF KAK=KA+K1K IBVAL(KAK)=IBV(KA) 312 CONTINUE 311 CONTINUE END IF C IDIF=MREL-IDPRF C JS=0 IF(IDIF.NE.0) THEN DO 313 I=1,IDIF JS=JS+1 IQCDPI(JS)=0 313 CONTINUE END IF C JQPRM1=JQPR-1 DO 314 I=1,IDPRF JS=JS+1 IQCDPI(JS)=I+JQPRM1 314 CONTINUE C JS=0 IF(IDIF.NE.0) THEN DO 315 I=1,IDIF JS=JS+1 DO 316 JJ=1,N JJJ=JS+(JJ-1)*KELEM IQCI(JJJ)=0 316 CONTINUE 315 CONTINUE END IF C K=JQC-1 DO 317 I=1,IDPRF OK=.TRUE. JS=JS+1 DO 318 JJ=1,N JJ1K=(JJ-1)*KELEM JJJ=JS+JJ1K IJJ=I+JJ1K IQCI(JJJ)=0 IF(IBVAL(IJJ).EQ.0) THEN IF(OK) K=K+1 IQCI(JJJ)=K OK=.FALSE. END IF 318 CONTINUE 317 CONTINUE C END IF C C C 4. CREATE REQUESTED ELEMENT LIST C ----------------------------- 400 CONTINUE C IF(.NOT.OLIST) THEN IF(NREQ(2).EQ.0) NRQL=0 J=0 DO 401 I=1,MREL IF(IRQEI(I).NE.0) THEN II=IRQEI(I) J=J+1 DO 402 K=1,N K1K=(K-1)*KELEM JK=J+K1K IIK=II+K1K INWORDP(JK)=NWORDP(IIK) INBITP (JK)=NBITP (IIK) 402 CONTINUE INWTR(J) =NWTR(II) INWTS(J) =NWTS(II) INWTRV(J) =NWTRV(II) INWTDW(J) =NWTDW(II) INWTEN(J) =NWTEN(II) CNAMES(J)=CWTEN(II) CUNITS(J)=CWTU(II) OLIST=.TRUE. END IF 401 CONTINUE END IF C IF(JQUA.NE.0) THEN C C* 4.1 ADD DATA PRESENT INDICATOR AND Q/C. C ----------------------------------- 410 CONTINUE C C ADD OPERATOR 222000 C J=J+1 DO 411 K=1,N C K1K=(K-1)*KELEM JK=J+K1K JQUAK=JQUA+K1K C INWORDP(JK)=NWORDP(JQUAK) INBITP (JK)=NBITP (JQUAK) 411 CONTINUE INWTR(J) =NWTR(JQUA) INWTS(J) =NWTS(JQUA) INWTRV(J) =NWTRV(JQUA) INWTDW(J) =NWTDW(JQUA) INWTEN(J) =NWTEN(JQUA) CNAMES(J)=CWTEN(JQUA) CUNITS(J)=CWTU(JQUA) C IF(O236.AND..NOT.O237) THEN J=J+1 DO 4111 K=1,N K1K=(K-1)*KELEM JK=J+K1K JQUAK=JQ236+K1K C INWORDP(JK)=NWORDP(JQUAK) INBITP (JK)=NBITP (JQUAK) 4111 CONTINUE INWTR(J) =NWTR(JQ236) INWTS(J) =NWTS(JQ236) INWTRV(J) =NWTRV(JQ236) INWTDW(J) =NWTDW(JQ236) INWTEN(J) =NWTEN(JQ236) CNAMES(J)=CWTEN(JQ236) CUNITS(J)=CWTU (JQ236) END IF C IF(O237) THEN J=J+1 DO 4112 K=1,N K1K=(K-1)*KELEM JK=J+K1K JQUAK=JQ237+K1K C INWORDP(JK)=NWORDP(JQUAK) INBITP (JK)=NBITP (JQUAK) 4112 CONTINUE INWTR (J) =NWTR (JQ237) INWTS (J) =NWTS (JQ237) INWTRV(J) =NWTRV(JQ237) INWTDW(J) =NWTDW(JQ237) INWTEN(J) =NWTEN(JQ237) CNAMES(J)=CWTEN(JQ237) CUNITS(J)=CWTU (JQ237) END IF C IF(.NOT.O237) THEN DO 412 I=1,MREL IF(IRQEI(I).NE.0) THEN IF(IQCDPI(I).NE.0) THEN J=J+1 DO 413 K=1,N C K1K=(K-1)*KELEM JK=J+K1K IQCDK=IQCDPI(I)+K1K C INWORDP(JK)=NWORDP(IQCDK) INBITP (JK)=NBITP (IQCDK) 413 CONTINUE INWTR(J) =NWTR(IQCDPI(I)) INWTS(J) =NWTS(IQCDPI(I)) INWTRV(J) =NWTRV(IQCDPI(I)) INWTDW(J) =NWTDW(IQCDPI(I)) INWTEN(J) =NWTEN(IQCDPI(I)) CNAMES(J)=CWTEN(IQCDPI(I)) CUNITS(J)=CWTU(IQCDPI(I)) END IF END IF 412 CONTINUE END IF C C GENERATING CENTRE C IF(JQCC.NE.0) THEN J=J+1 DO 417 K=1,N K1K=(K-1)*KELEM JK=J+K1K JQCCK=JQCC+K1K C INWORDP(JK)=NWORDP(JQCCK) INBITP (JK)=NBITP (JQCCK) 417 CONTINUE INWTR(J) =NWTR(JQCC) INWTS(J) =NWTS(JQCC) INWTRV(J) =NWTRV(JQCC) INWTDW(J) =NWTDW(JQCC) INWTEN(J) =NWTEN(JQCC) CNAMES(J)=CWTEN(JQCC) CUNITS(J)=CWTU(JQCC) END IF C C GENERATING APPLICATION C IF(JQCA.NE.0) THEN J=J+1 DO 414 K=1,N K1K=(K-1)*KELEM JK=J+K1K JQCAK=JQCA+K1K C INWORDP(JK)=NWORDP(JQCAK) INBITP (JK)=NBITP (JQCAK) 414 CONTINUE INWTR(J) =NWTR(JQCA) INWTS(J) =NWTS(JQCA) INWTRV(J) =NWTRV(JQCA) INWTDW(J) =NWTDW(JQCA) INWTEN(J) =NWTEN(JQCA) CNAMES(J)=CWTEN(JQCA) CUNITS(J)=CWTU(JQCA) END IF C C SIGNIFICANCE C IF(JQCS.NE.0) THEN J=J+1 DO 4147 K=1,N K1K=(K-1)*KELEM JK=J+K1K JQCAK=JQCS+K1K C INWORDP(JK)=NWORDP(JQCAK) INBITP (JK)=NBITP (JQCAK) 4147 CONTINUE INWTR(J) =NWTR(JQCS) INWTS(J) =NWTS(JQCS) INWTRV(J) =NWTRV(JQCS) INWTDW(J) =NWTDW(JQCS) INWTEN(J) =NWTEN(JQCS) CNAMES(J)=CWTEN(JQCS) CUNITS(J)=CWTU(JQCS) END IF C C CALSS 33 ELEMENTS C DO 415 I=1,MREL IF(IRQEI(I).NE.0) THEN OK=.TRUE. DO 416 JJ=1,N JJ1K=(JJ-1)*KELEM IJJ=I+JJ1K IF(IQCI(IJJ).NE.0) THEN IF(OK) J=J+1 OK=.FALSE. INWTR(J) =NWTR (IQCI(IJJ)) INWTS(J) =NWTS (IQCI(IJJ)) INWTRV(J) =NWTRV (IQCI(IJJ)) INWTDW(J) =NWTDW (IQCI(IJJ)) INWTEN(J) =NWTEN (IQCI(IJJ)) CNAMES(J)=CWTEN (IQCI(IJJ)) CUNITS(J)=CWTU (IQCI(IJJ)) C JJJ=J+JJ1K JQCIJJ=IQCI(IJJ)+JJ1K C INWORDP(JJJ)=NWORDP(JQCIJJ) INBITP (JJJ)=NBITP (JQCIJJ) END IF 416 CONTINUE C END IF 415 CONTINUE END IF C 3033 CONTINUE C 500 CONTINUE C C* 5. MAKE ONE TO ONE CORRESPONDENCE BETWEEN ELEMENTS AND C Q/C,STATISTICS,DIFFERENCE STATISTICS OR SUBSTITUTED VALUES C LEAVING BEHIND DATA PRESENT INDICATORS. C IF(IB3.NE.0) THEN END IF C IF(IB4.NE.0) THEN END IF C IF(IB5.NE.0) THEN END IF C IF(IB6.NE.0) THEN END IF C C* 9. UPDATE TOTAL NUMBER OF ELEMENTS. C -------------------------------- 900 CONTINUE C M=J NFCM=0 NFUCM=1 C RETURN C END emoslib-000392+dfsg.1/bufrdc/bcmatb.F0000755000175000017500000000133012127406245020262 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMATB/ NJA,NATBTR(JTAB),NATBS (JTAB), 1 NATBRV(JTAB),NATBDW(JTAB) C C C NATBTR - AUGMENTED TABLE B TABLE REFERENCE C NATBS - AUGMENTED TABLE B SCALE C NATBRV - AUGMENTED TABLE B REFERENCE VALUE C NATBDW - AUGMENTED TABLE B DATA WIDTH C emoslib-000392+dfsg.1/bufrdc/getflag.F0000755000175000017500000000502012127406245020443 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETFLAG(KREF,KCODE,KFLAG,YFLAG,KERR) C C**** *GETFLAG* C C C PURPOSE. C -------- C C The main purpose of the subroutine is to get text C associated with code number C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 2008. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcomwork.F" # include "bcomtab.F" # include "bcomtabc.F" # include "bcomct.F" # include "bcomctc.F" # include "bcomroot.F" C# include "bcomtabload.F" C# include "bcomtabloadc.F" C CHARACTER*64 CTEXT CHARACTER*64 CTABBEN CHARACTER*24 CTABBU CHARACTER*64 YFLAG(32) C C C ------------------------------------------------------------------ C* 1. SET INITIAL CONSTANTS AND POINTERS C ---------------------------------- 100 CONTINUE C J=0 do i=1,32 YFLAG(i)=' ' end do C do i=1,JCTAB if(nref(i).eq.kref) go to 200 end do print*,'Could not find ',kref ierr=2 return c 200 continue C ictab=i C C Find data width for kref C do i=1,JTAB if(NTABBTR(I).eq.kref) go to 201 end do print*,'Could not find ',kref ierr=2 return 201 continue c ibtab=i c iwidth=NTABBDW(ibtab) c if(KCODE.eq.NMASK(iwidth)) then KFLAG=1 YFLAG(1)='MISSING VALUE' return else ipt=nstart(ictab) iptc=nstartc(ipt) KFLAG=0 do i=ipt,ipt+nlen(ictab)-1 ibitnumber=ncodnum(i) c test bit ipos=iwidth-ibitnumber if(btest(KCODE,ipos)) then ic=iptc+ibitnumber-1 KFLAG=KFLAG+1 YFLAG(KFLAG)=ctext(ic) end if end do end if return END emoslib-000392+dfsg.1/bufrdc/bcmtabloadc.F0000755000175000017500000000130712127406245021271 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMTABLOADC / CCTABBEN(JTAB,JTMAX),CCTABBU (JTAB,JTMAX), 1 CTABLE_LIST(JTMAX) C C CTABBEN - TABLE B, ELEMENT NAME ARRAY C CTABBU - TABLE B, UNIT ARRAY C CTABLE_LIST - LIST OF TABLES ARRAY C emoslib-000392+dfsg.1/bufrdc/buexs3p.F0000755000175000017500000001070212127406245020426 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEXS3P(KBUFL,KBUFF,KSUP,KSEC3,KERR) C C**** *BUEXS3P* C C C PURPOSE. C -------- C C EXPAND SECTION 3 OF BUFR MESSAGE. C (PRELIMINARY ITEMS) C C C** INTERFACE. C ---------- C C *CALL* *BUEXS3P( KBUFL,KBUFF,KSUP,KSEC3,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C OUTPUT: C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC3* - ARRAY KSEC3 C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C C NONE. C C EXTERNALS. C ---------- C C BUNEXS - SET WORD AND BIT POINTERS AT THE BEGINING OF C NEXT SECTION C BUNPCK - UNPACKS BIT PATTERN C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" C DIMENSION KBUFF(KBUFL),KSEC3(JSEC3) DIMENSION KSUP(JSUP) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C ------------------------------------------------------------------ C C* 1. EXPAND PRELIMINARY ITEMS OF SECTION 3. C -------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C* 1.1 SET THE POINTERS NWPT AND NBPT TO THE C ------------------------------------- C BEGINING OF THE SECTION 3. C -------------------------- 110 CONTINUE C NWPT = NWPTB NBPT = NBPTB C C* 1.2 UNPACK LENGTH OF SECTION 3. C --------------------------- 120 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(1),NWPT,NBPT,24,KERR) IF(KERR.GT.0) RETURN C C* 1.2.1 SET THE POINTERS NWPTB AND NBPTB TO C ----------------------------------- C THE BEGINNING OF THE NEXT SECTION. C ---------------------------------- CALL BUNEXS(KSEC3(1)) C C* 1.3 UNPACK ZERO BYTE AND PUT IT IN KSEC3(2). C ---------------------------------------- 130 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(2),NWPT,NBPT,8,KERR) IF(KERR.GT.0) RETURN C C* 1.4 UNPACK NUMBER OF DATA SUB-SETS. C ------------------------------- 140 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(3),NWPT,NBPT,16,KERR) IF(KERR.GT.0) RETURN IF(KSEC3(3).LE.0) THEN KERR=32 WRITE(KNTN,*) ' BUEXS3 :' CALL BUERR(KERR) RETURN END IF C C C* 1.5 UNPACK INTEGER VALUE OF THE OCTET C --------------------------------- C CONTAINING FLAG BITS. C -------------------- 150 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(4),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC3(4).' RETURN END IF C C ----------------------------------------------------------------- C KSUP(3)= 4 KSUP(5)= 0 KSUP(6)= KSEC3(3) C RETURN END emoslib-000392+dfsg.1/bufrdc/bupks.F0000755000175000017500000000477112127406245020172 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPKS(KBPW,KDEST,KSOURC,KWPT,KBPT,KSIZE,KSKIPB,K,KERR) C C**** *BUPKS* C C C PURPOSE. C -------- C PURPOSE OF THIS ROUTINE IS TO PACK BIT STRING OF C KSIZE BITS, STARTED AT WORD KWPT OF ARRAY KSOURC AFTER C SKIPPINH KBPT BITS. RESULT IS PUT INTO KDEST. AT THE END C POINTERS KWPT AND KBPT ARE ADJUSTED. C C** INTERFACE. C ---------- C C *CALL* *BUPKS(KBPW,KDEST,KSOURC,KWPT,KBPT,KSIZE,KSKIPB,K,KERR)* C C C INPUT : C KBPW - NUMBER OF BITS PER COMPUTER WORD C KSOURC - SOURCE (CONTINUOUS BIT STRING OF C ARBITRARY LENGTH) C KWPT - WORD POINTER C KBPT - BIT POINTER C KSIZE - NUMBER OF BITS USED FOR PACKING C KSKIPB - NUMBER OF BITS TO SKIP BETWEEN ELEMENTS C K - ITERATION C C OUTPUT : C KDEST - DESTINATION C KERR - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C SBYTES - PACK BIT PATHERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C DIMENSION KDEST(*),KSOURC(*) C C ------------------------------------------------------------------ C* 1. EXTRACT BIT PATTERN. C -------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C IF(KSIZE.GT.KBPW) THEN KERR= 34 WRITE(KNTN,*) 'BUPKS :' CALL BUERR(KERR) RETURN END IF C CALL SBYTES(KDEST,KSOURC,KBPT,KSIZE,KSKIPB,K) C C ------------------------------------------------------------------ C* 1.1 UPDATE WORD AND BIT POINTERS. C ----------------------------- 110 CONTINUE C KBPT = KBPT + K*(KSIZE+KSKIPB) C IF(KBPT.GE.KBPW) THEN IW = KBPT/ KBPW KBPT= KBPT - IW * KBPW KWPT= KWPT +IW END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/bcomatb.F0000755000175000017500000000133212127406245020443 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMATB/ NJA,NATBTR(JTAB),NATBS (JTAB), 1 NATBRV(JTAB),NATBDW(JTAB) C C C NATBTR - AUGMENTED TABLE B TABLE REFERENCE C NATBS - AUGMENTED TABLE B SCALE C NATBRV - AUGMENTED TABLE B REFERENCE VALUE C NATBDW - AUGMENTED TABLE B DATA WIDTH C emoslib-000392+dfsg.1/bufrdc/buprq.F0000755000175000017500000000437312127406245020175 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPRQ(KPMISS,KPRUS,KOKEY) C C**** *BUPRQ* C C C PURPOSE. C -------- C SETS VARIABLE KPMISS,KPRUS INTO COMMON BLOCK. C C** INTERFACE. C ---------- C C *CALL* *BUPRQ(KPMISS,KPRUS,KOKEY)* C C INPUT : C *KPMISS* - INTEGER VARIABLE C 0 - DEFAULT, PAKS MAX VALUE FOR DATA WIDTH -1 BITS. C C 1 - PAKS VALUE AS MISSING VALUE C *KPRUS* - AN INTEGER C 0 - IF DATA DESCRIPTORS THE SAME REUSE POINTERS C 1 - ALWAYS RECALCULATE POINTERS C *KOKEY* - 0 - DEFAULT, PACKS ECMWF RDB KEY C 1 - PACKS SECTION 2 IF NEEDED BUT NOT LENGTH C OF BUFR MESSAGE IN KEY C C C METHOD. C ------- C C DURING PACKING THE VALUE TO BE PACKED CAN HAPPEN TO BE TOO BIG C TO FIT INTO CORRESPONDING DATA WIDTH. THIS SUBROUTINE ALLOWS USER C TO CHOSE BETWEEN: C C 1) PACK BIG VALUE AS MAX VALUE REPRESENTED WITH DATA WIDTH -1 C BITS (DEFAULT) C 2) PACK BIG VALUE AS MISSING VALUE C C EXTERNALS. C ---------- C C NONE C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/95. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "bcprq.F" C C ------------------------------------------------------------------ C C* 1. SET CONSTANTS. C -------------- 100 CONTINUE C IF(KPMISS.LT.0.OR.KPMISS.GT.1) KPMISS=0 IF(KPRUS .LT.0.OR.KPRUS.GT.1 ) KPRUS=0 IF(KOKEY .LT.0.OR.KOKEY.GT.1 ) NOKEY=0 NPMISS=KPMISS NPRUS=KPRUS NOKEY=KOKEY C RETURN END emoslib-000392+dfsg.1/bufrdc/bbuprtbox.F0000755000175000017500000000635012127406245021050 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BBUPRTBOX(KNT,KBOX,KAPP,KLEN,KBOXR,VALS,CBOXN,CBOXU) C C**** *BUPRTBOX* C C C PURPOSE. C -------- C C C C** INTERFACE. C ---------- C C *CALL* *BUPRTBOX(KNT,KBOX,KAPP,KLEN,KBOXR,VALS,CBOXN,CBOXU)* C C INPUT : C *KNT* - UNIT NUMBER FOR IO C *KBOX* - NUMBER OF ROWS C *KAPP* - NUMBER OF COLUMNS C *KLEN* - OFFSET FOR START OF NEXT COLUMN C *KBOXR* - ARRAY CONTAINING BUFR TABLE B REFERENCE NUMBERS C *VALS* - ARRAY CONTAINING UNPACKED VALUES C *CBOXN* - ARRAY CONTAINING ELEMENT NAMES C *CBOXU* - ARRAY CONTAINING ELEMENT UNITS C C METHOD. C ------- C C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/94. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C PARAMETER(JELEM=160000) DIMENSION IOPER(100) DIMENSION KBOXR(360000),IBVAL(JELEM),IBPRINT(60) #ifndef R_4 REAL*8 RPRINT(60) REAL*8 VALS(360000) #else REAL RPRINT(60) REAL VALS(360000) #endif CHARACTER*64 CBOXN(40000) CHARACTER*24 CBOXU(40000) C C C ------------------------------------------------------------------ C* 1. PRINT BOXED EXPANDED BUFR MESSAGE C --------------------------------- 100 CONTINUE C IF(KBOX.LE.6) THEN WRITE(KNT,'(A)') 'THERE IS NO USEFULL DATA TO BE PRINTED.' KBOX=0 RETURN END IF C IF(KAPP.GT.60) THEN WRITE(KNT,'(A)') 'THERE IS MORE THAN 60 APPLICATIONS IN ', 1 'THE DATA' WRITE(KNT,'(A)') 'ONLY FIRST 60 WILL BE PROCESSED' KAPP=60 END IF C IF(KAPP.GT.1) THEN IREP=(KAPP-1)/10 IOFF=(KAPP-1)-IREP*10 IF(IOFF.NE.0) IREP=IREP+1 ELSE IREP=1 IOFF=0 END IF C IST=2 IEND=11 C IF(IREP.EQ.1.AND.KAPP.EQ.1) IEND=IOFF+1 IF(IREP.EQ.1 .AND. IOFF .EQ.0) IEND=11 C DO 2005 J=1,IREP C WRITE(KNT,'(A)')' ' DO 2002 I=1,KBOX IIII=1 RPRINT(IIII)=VALS(I) C DO 2003 II=IST,IEND IIII=IIII+1 III=I+(II-1)*KLEN RPRINT(IIII)=VALS(III) IBPRINT(IIII)=KBOXR(III) 2003 CONTINUE C WRITE(KNT,'(1H ,I4,1X,A32,1X,15(1X,I6,1X,F8.1))') C 1 I,CBOXN(I),(IBPRINT(NN),RPRINT(NN),NN=1,KAPP) WRITE(KNT,'(1H ,I4,1X,A32,1X,F14.1,30(1X,F8.1))') 1 I,CBOXN(I),(RPRINT(NN),NN=1,IIII) 2002 CONTINUE C IF(IOFF.NE.0.AND.J.EQ.(IREP-1)) THEN IST=IEND+1 IEND=IEND+IOFF ELSE IST=IEND+1 IEND=IEND+10 END IF C 2005 CONTINUE C C RETURN END emoslib-000392+dfsg.1/bufrdc/bcmwtc.F0000755000175000017500000000104112127406245020310 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMWTC/ CWTEN(JELEM),CWTU (JELEM) C C CWTEN - WORKING TABLE ELEMENT NAAME C CWTU - WORKING TABLE UNITS C emoslib-000392+dfsg.1/bufrdc/bcmtabload.F0000755000175000017500000000256612127406245021136 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMTABLOAD/ MTABBTR(JTAB,JTMAX),MTABBS (JTAB,JTMAX), 1 MTABBRV(JTAB,JTMAX), 1 MTABBDW(JTAB,JTMAX),MTABDTR(JTAB,JTMAX), 2 MTABDST(JTAB,JTMAX), 2 MTABDL (JTAB,JTMAX),MTABDSQ(JTAB*20,JTMAX), 2 MTABP(JTCLAS,JTEL,JTMAX), NTC,NTT C C MTABBTR - TABLE B, TABLE REFERENCE ARRAY C MTABBS - TABLE B, SCALE ARRAY C MTABBRF - TABLE B, REFERENCE VALUE ARRAY C MTABBDW - TABLE B, DATA WIDTH ARRAY C MTABDTR - TABLE D, TABLE REFERENCE ARRAY C MTABDST - TABLE D, STARTING POINTERS ARRAY C MTABDL - TABLE D, LENGTHS ARRAY C MTABDSQ - TABLE D, LIST OF SEQUENCE DESCRIPTORS ARRAY C NTT - NUMBER OF TABLES C NTC - CURRENT TABLE C C emoslib-000392+dfsg.1/bufrdc/setlalo.F0000755000175000017500000001147612127406245020511 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SETLALO(K,KLA,KLO,KERR) C C RETURN INDICES FOR LATITUDE AND LONGITUDE C KERR=0 C IF(K.EQ.1) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.2) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.3) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.4) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.7) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.9) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.11) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.13) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.19) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.21) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.22) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.23) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.51) THEN KLA=8 KLO=9 RETURN ELSEIF(K.EQ.53) THEN KLA=8 KLO=9 RETURN ELSEIF(K.EQ.54) THEN KLA=22 KLO=23 RETURN ELSEIF(K.EQ.55) THEN KLA=22 KLO=23 RETURN ELSEIF(K.EQ.61) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.62) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.63) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.71) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.72) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.73) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.82) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.83) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.84) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.85) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.86) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.87) THEN KLA=12 KLO=13 RETURN ELSEIF(K.EQ.88) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.89) THEN KLA=12 KLO=13 RETURN ELSEIF(K.EQ.91) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.92) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.95) THEN KLA=3 KLO=4 RETURN ELSEIF(K.EQ.96) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.97) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.101) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.102) THEN KLA=11 KLO=12 RETURN ELSEIF(K.EQ.103) THEN KLA=11 KLO=12 RETURN ELSEIF(K.EQ.104) THEN KLA=15 KLO=16 RETURN ELSEIF(K.EQ.106) THEN KLA=11 KLO=12 RETURN ELSEIF(K.EQ.121) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.122) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.123) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.126) THEN KLA=9 KLO=10 RETURN ELSEIF(K.EQ.127) THEN KLA=11 KLO=12 RETURN ELSEIF(K.EQ.129) THEN KLA=11 KLO=12 RETURN ELSEIF(K.EQ.130) THEN KLA=11 KLO=12 RETURN ELSEIF(K.EQ.131) THEN KLA=10 KLO=11 RETURN ELSEIF(K.EQ.132) THEN KLA=7 KLO=8 RETURN ELSEIF(K.EQ.133) THEN KLA=7 KLO=8 RETURN ELSEIF(K.EQ.136) THEN KLA=14 KLO=15 RETURN ELSEIF(K.EQ.137) THEN KLA=16 KLO=17 RETURN ELSEIF(K.EQ.142) THEN KLA=8 KLO=9 RETURN ELSEIF(K.EQ.144) THEN KLA=8 KLO=9 RETURN ELSEIF(K.EQ.145) THEN KLA=15 KLO=16 RETURN ELSEIF(K.EQ.164) THEN KLA=6 KLO=7 RETURN ELSEIF(K.EQ.255) THEN KLA=8 KLO=9 RETURN ELSE PRINT*,'POINTERS FOR ',K,' SYBTYPE NOT DEFINED.' KERR=1 KLA=0 KLO=0 RETURN END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/buprco.F0000755000175000017500000005143112127406245020333 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPRCO(KBUFL,KBUFF,KJ,KDD,KSTACK,KELEM,KERR) C C**** *BUPRCO* C C C PURPOSE. C -------- C C PROCESS BUFR OPERATOR. C C** INTERFACE. C ---------- C C *CALL* *BUPRCO(KBUFL,KBUFF,KJ,KDD,KSTACK,KELEM,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KJ* - POINTER TO ARRAY KSTACK C *KDD* - DATA DESCRIPTOR C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C OUTPUT: C *KSTACK* - LIST OF DESCRIPTORS C *KERR* - RETURN ERROR CODE C C *METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C BUUATB - UPDATE AUGMENTED TABLE B C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomwt.F" # include "bcomwtc.F" # include "bcombef.F" C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif CHARACTER CWTEN*64,CWTU*24 DIMENSION KBUFF(KBUFL) DIMENSION KSTACK(*) C C ------------------------------------------------------------------ C C* 1. DETERMINE *F *X AND *Y. C ----------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 C IF( IF.NE.2 ) THEN KERR=21 CALL BUERR(KERR) WRITE(KNTN,*) KDD,' IS TO BE OPERATOR' GO TO 400 END IF C C* 1.1 CHANGE DATA WIDTH ? C ------------------- 110 CONTINUE C IF(IX.EQ.1) THEN IF(IY.EQ.0) THEN NDWINC=0 ELSE NDWINC= NDWINC + (IY-128) END IF GO TO 400 END IF C C* 1.2 CHANGE SCALE ? C -------------- 120 CONTINUE C IF(IX.EQ.2) THEN C C* 1.2.1 UPDATE SCALE MULTIPLIER. C ------------------------ C IF(IY.EQ.0) THEN NSCAM=0 ELSE NSCAM=NSCAM + (IY-128) END IF GO TO 400 END IF C C* 1.3 CHANGE REFERENCE VALUE ? C ------------------------ 130 CONTINUE C IF(IX.EQ.3) THEN C C* 1.3.1 UPDATE AUGMENTED TABLE B. C ------------------------- CALL BUUATB(KBUFL,KBUFF,KJ,IY,KSTACK,KELEM,KERR) GO TO 400 END IF C C* 1.4 ADD ASSOCIATED FIELD ? C ---------------------- 140 CONTINUE C IF(IX.EQ.4) THEN C C* 1.4.1 UPDATE ASSOCIATED FIELD WIDTH. C ------------------------------ IF(IY.EQ.0) THEN NFD=NFD-1 IF(NFD.LT.0) THEN KERR=51 CALL BUERR(KERR) RETURN ELSEIF(NFD.EQ.0) THEN NAFDW=0 END IF ELSE NFD=NFD+1 NAFDWA(NFD)=IY END IF GO TO 400 END IF C C* 1.5 SIGNIFY CHARACTER ? C ------------------- 150 CONTINUE C IF(IX.EQ.5) THEN C C* 1.5.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CHARACTERS' CWTU (NWT)=' ' NWTR (NWT)= KDD ! 0 NWTDW(NWT)= IY * 8 NWTEN(NWT)=658367 NWTS (NWT)=0 NWTRV(NWT)=0 M=M+1 GO TO 400 END IF C C* 1.5.2 SIGNIFY DATA WIDTH FOR IMMEDISTELY C FOLLOWED LOCAL DESCRIPTOR C 152 CONTINUE C IF(IX.EQ.6) THEN NWT = NWT + 1 KJ=KJ+1 CWTEN(NWT)='UNKNOWN' CWTU (NWT)='UNKNOWN' NWTR (NWT)= KSTACK(KJ) NWTDW(NWT)= IY NWTS (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= NVIND M=NWT C C CHECK IF LOCAL TABLE ENTRY KNOWN C -------------------------------- C C DO 153 I=1,JTAB C IF(NWTR(NWT).EQ.NTABBTR(I)) THEN C CWTEN(NWT)=CTABBEN(I) C CWTU (NWT)=CTABBU (I) C IF(CWTU(NWT)(1:3).EQ.'CCI') NWTEN(NWT)=65367 C NWTS (NWT)=NTABBS (I) C NWTRV(NWT)=NTABBRV(I) C NWTDW(NWT)=NTABBDW(I) C NWTEN(NWT)=NTABBTR(I) C GO TO 400 C END IF C 153 CONTINUE C GO TO 400 END IF C IF(IX.EQ.7) THEN C C* 1.5.4 UPDATE SCALE MULTIPLIER. C ------------------------ C IF(IY.EQ.0) THEN N07 =0 NSCAM07 =0 NDWINC07=0 ELSE N07 =IY ! exponent NSCAM07 =IY NDWINC07=((10*IY)+2)/3 ! data width END IF GO TO 400 END IF IF(IX.EQ.8) THEN C C* 1.5.5 SET DATA WIDTH FOR CCITTIA5 C --------------------------- C IF(IY.EQ.0) THEN N08=0 ELSE N08=IY ! number of chatacters END IF GO TO 400 END IF C C C* 1.6 QUALITY INFORMATION FOLLOWS. C ---------------------------- 160 CONTINUE C IF(IX.EQ.62) THEN C IF(IY.EQ.0) GO TO 400 C C* 1.7.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='QUALITY INFORMATION FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 222000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C C* 2. PROCESSING NEW OPERATORS. C ------------------------- 200 CONTINUE C C C* 2.1 DATA NOT PRESENT. C ----------------- 210 CONTINUE C IF(IX.EQ.21) THEN N221=IY GO TO 400 END IF C C C* 2.2 QUALITY INFORMATION FOLLOWS. C ---------------------------- 220 CONTINUE C IF(IX.EQ.22) THEN C C* 1.7.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='QUALITY INFORMATION FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 222000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C C* 2.3 SUBSTITUTED VALUES FOLLOWS. C --------------------------- 230 CONTINUE C IF(IX.EQ.23) THEN IF(IY.EQ.0) THEN NWT=NWT+1 CWTEN(NWT)='SUBSTITUTED VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=223000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 CWTEN(NWT)='SUBSTITUTED VALUE MARKER' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C C* 2.4 FIRST ORDER STATISTICS FOLLOWS. C ------------------------------- 240 CONTINUE C IF(IX.EQ.24) THEN IF(IY.EQ.0) THEN NWT=NWT+1 CWTEN(NWT)='FIRST ORDER STATISTICS FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=224000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 CWTEN(NWT)='FIRST ORDER STATISTICS VALUE MARKER' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 2.5 DIFFERENCE STATISTICAL VALUES FOLLOW. C ------------------------------------- 250 CONTINUE C IF(IX.EQ.25) THEN IF(IY.EQ.0) THEN NWT=NWT+1 CWTEN(NWT)='DIFFERENCE STATISTICAL VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=225000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 CWTEN(NWT)='DIFFERENCE STATISTICS VALUE MARKER' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C C* 2.6 REPLACED/RETAINED VALUES FOLLOWS. C --------------------------------- 260 CONTINUE C IF(IX.EQ.32) THEN IF(IY.EQ.0) THEN NWT=NWT+1 CWTEN(NWT)='REPLACE/RETAINED VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=232000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 CWTEN(NWT)='REPLACE/RETAINED VALUE MARKER' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 2.7 CANCEL BACKWARD REFERENCE. C -------------------------- 270 CONTINUE C IF(IX.EQ.35) THEN C C* 1.7.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL BACKWARD DATA REFERENCE' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 235000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C C MREL=0 M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C* 2.8 DEFINE BACKWARD REFERENCE BIT MAP. C ---------------------------------- 280 CONTINUE C IF(IX.EQ.36) THEN C C* 2.8.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='BACKWARD REFERENCE BIT MAP' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 236000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C* 2.9 DEFINE BACKWARD REFERENCE BIT MAP. C ---------------------------------- 290 CONTINUE C IF(IX.EQ.37) THEN IF(IY.EQ.0) THEN C C* 2.9.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='USE PREVIOUSLY DEFINED BIT MAP' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 237000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 2.9.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL REFERENCE TO PREDEFINED BIT MAP' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C IF(IX.EQ.9) THEN IF(IY.EQ.0) THEN N40=0 ELSE N40=IY END IF C GO TO 400 END IF C C C* 5. DEFINE EVENT C ------------ 500 CONTINUE C IF(IX.EQ.41) THEN IF(IY.EQ.0) THEN C C 5.1.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='DEFINE EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 241000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 5.1.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL DEFINE EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 5.1 DEFINE CONDITIONING EVENT C ------------------------- 510 CONTINUE C IF(IX.EQ.42) THEN IF(IY.EQ.0) THEN C C 5.1.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='DEFINE CONDITIONING EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 242000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 5.1.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL DEFINE CONDITIONING EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 5.2 DEFINE CONDITIONING EVENT C ------------------------- 520 CONTINUE C IF(IX.EQ.43) THEN IF(IY.EQ.0) THEN C C 5.2.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CATEGORICAL FORECAST VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 243000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 5.2.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL CATEGORICAL FORECAST VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C ------------------------------------------------------------------ C 300 CONTINUE C KERR=22 WRITE(KNTN,*) 'BUPRCO:' CALL BUERR(KERR) C C ------------------------------------------------------------------ C 400 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/bustop.F0000755000175000017500000000265512127406245020361 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUSTOP(KSTOP) C C**** *BUSTOP* C C C PURPOSE. C -------- C SETS VARIABLE KPMISS,KPRUS,KOKEY,KOFL INTO COMMON BLOCK. C C** INTERFACE. C ---------- C C *CALL* *BUSTOP(KSTOP)* C C INPUT : C *KSTOP* - INTEGER CONSTANT C C C METHOD. C ------- C C C EXTERNALS. C ---------- C C NONE C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/09/2007 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcomwt.F" # include "bcomdefc.F" C CHARACTER*4 CECMWF C C ------------------------------------------------------------------ C C* 1. SET CONSTANTS. C -------------- 100 CONTINUE C IF(CECMWF.NE.'ECMF') THEN IERR=0 CALL BUEVAR(IERR) CECMWF='ECMF' END IF C NSTOP=KSTOP C RETURN END emoslib-000392+dfsg.1/bufrdc/bcomunit.F0000755000175000017500000000063712127406245020663 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C COMMON /BCOMUNIT/ KNTN emoslib-000392+dfsg.1/bufrdc/buprs2.F0000755000175000017500000002477712127406245020273 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPRS2(KSUP,KEY) C C**** *BUPRS2* C C C PURPOSE. C -------- C PRINT SECTION 2 OF BUFR MESSAGE (EXPANDED RDB KEY). C C C** INTERFACE. C ---------- C C *CALL* *BUPRS2(KSUP,KEY)* C C INPUT : C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KEY* - ARRAY CONTAINING SECTION 2 INFORMATION C KEY( 1)-- LENGTH OF SECTION 2 (BYTES) C KEY( 2)-- RDB TYPE C KEY( 3)-- RDB SUBTYPE C KEY( 4)-- YEAR C KEY( 5)-- MONTH C KEY( 6)-- DAY C KEY( 7)-- HOUR C KEY( 8)-- MINUTE C KEY( 9)-- SECOND C KEY(10)-- LONGITUDE1 C KEY(11)-- LATITUDE1 C KEY(12)-- LONGITUDE2 C KEY(13)-- LATITUDE2 C KEY(14)-- NUMBER OF SUBSETS C KEY(15)-- IDENT (NUMERIC) C KEY(16)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(17)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(18)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(19)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(20)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(21)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(22)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(23)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(24)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(25)-- TOTAL BUFR MESSAGE LENGTH C KEY(26)-- DAY (RDB INSERTION) C KEY(27)-- HOUR (RDB INSERTION) C KEY(28)-- MINUTE (RDB INSERTION) C KEY(29)-- SECOND (RDB INSERTION) C KEY(30)-- DAY (MDB INSERTION) C KEY(31)-- HOUR (MDB INSERTION) C KEY(32)-- MINUTE (MDB INSERTION) C KEY(33)-- SECOND (MDB INSERTION) C KEY(34)-- CORRECTION NUMBER C KEY(35)-- PART C KEY(36)-- 0 C KEY(37)-- CORRECTION NUMBER C KEY(38)-- PART C KEY(39)-- 0 C KEY(40)-- CORRECTION NUMBER C KEY(41)-- PART C KEY(42)-- 0 C KEY(43)-- CORRECTION NUMBER C KEY(44)-- PART C KEY(45)-- 0 C KEY(46)-- THE LOWEST Q/C % CONFIDENCE C C C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" C DIMENSION KSUP(JSUP),KEY(JKEY) C #ifndef R_4 REAL*8 RLAT1 REAL*8 RLON1 REAL*8 RLAT2 REAL*8 RLON2 #else REAL RLAT1 REAL RLON1 REAL RLAT2 REAL RLON2 #endif C CHARACTER*9 CIDENT CHARACTER*13 YFM C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 2. C ---------------- 100 CONTINUE C YFM='(1H ,A,TR0,A)' C IF(KSUP(2).LE.1) THEN WRITE(KNTN,*) 'PRTKEY : RDB KEY NOT DEFINED IN SECTION 2.' RETURN END IF C WRITE(KNTN,'(1H1)') C WRITE(KNTN,'(1H ,A)') ' BUFR SECTION 2 ' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A,I9)') 'LENGTH OF SECTION 2 ', KEY(1) WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A)') ' REPORT DATA BASE KEY ' WRITE(KNTN,'(1H )') C IKTYPE=0 IF(KEY(2).EQ.2) IKTYPE=2 IF(KEY(2).EQ.3) IKTYPE=2 IF(KEY(2).EQ.12)IKTYPE=2 IF(KEY(2).EQ.08)IKTYPE=2 IF(IKTYPE.EQ.0.AND.KSUP(6).GT.1) IKTYPE=2 C IF(IKTYPE.EQ.2) THEN C IF(KEY(2).EQ.2.OR.KEY(2).EQ.3.OR.KEY(2).EQ.12) THEN C WRITE(KNTN,'(1H ,A,I9)') 'RDB DATA TYPE ', KEY(2) WRITE(KNTN,'(1H ,A,I9)') 'RDB DATA SUBTYPE ', KEY(3) WRITE(KNTN,'(1H ,A,I9)') 'YEAR ', KEY(4) WRITE(KNTN,'(1H ,A,I9)') 'MONTH ', KEY(5) WRITE(KNTN,'(1H ,A,I9)') 'DAY ', KEY(6) WRITE(KNTN,'(1H ,A,I9)') 'HOUR ', KEY(7) WRITE(KNTN,'(1H ,A,I9)') 'MINUTE ', KEY(8) WRITE(KNTN,'(1H ,A,I9)') 'SECOND ', KEY(9) RLAT1=(KEY(11)-9000000)/100000. RLON1=(KEY(10)-18000000)/100000. WRITE(KNTN,'(1H ,A,F9.2)')'LATITUDE 1 ', RLAT1 WRITE(KNTN,'(1H ,A,F9.2)')'LONGITUDE 1 ', RLON1 RLAT2=(KEY(13)-9000000)/100000. RLON2=(KEY(12)-18000000)/100000. WRITE(KNTN,'(1H ,A,F9.2)')'LATITUDE 2 ', RLAT2 WRITE(KNTN,'(1H ,A,F9.2)')'LONGITUDE 2 ', RLON2 WRITE(KNTN,'(1H ,A,I9)') 'NUMBER OF OBSERVATIONS ', KEY(14) WRITE(KNTN,'(1H ,A,I9)') 'IDENTIFIER ', KEY(15) WRITE(KNTN,'(1H ,A,I9)') 'TOTAL BUFR MESSAGE LENGTH ', KEY(25) WRITE(KNTN,'(1H ,A,I9)') 'DAY (RDB INSERTION) ', KEY(26) WRITE(KNTN,'(1H ,A,I9)') 'HOUR (RDB INSERTION) ', KEY(27) WRITE(KNTN,'(1H ,A,I9)') 'MINUTE( (RDB INSERTION) ', KEY(28) WRITE(KNTN,'(1H ,A,I9)') 'SECOND (RDB INSERTION) ', KEY(29) WRITE(KNTN,'(1H ,A,I9)') 'DAY (MDB ARRIVAL) ', KEY(30) WRITE(KNTN,'(1H ,A,I9)') 'HOUR (MDB ARRIVAL) ', KEY(31) WRITE(KNTN,'(1H ,A,I9)') 'MINUTE (MDB ARRIVAL) ', KEY(32) WRITE(KNTN,'(1H ,A,I9)') 'SECOND (MDB ARRIVAL ', KEY(33) WRITE(KNTN,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(34) WRITE(KNTN,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(35) WRITE(KNTN,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(37) WRITE(KNTN,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(38) WRITE(KNTN,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(40) WRITE(KNTN,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(41) WRITE(KNTN,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(43) WRITE(KNTN,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(44) WRITE(KNTN,'(1H ,A,I9)') 'QUALITY CONTROL % CONF ', KEY(46) ELSE WRITE(KNTN,'(1H ,A,I9)') 'RDB DATA TYPE ', KEY(2) WRITE(KNTN,'(1H ,A,I9)') 'RDB DATA SUBTYPE ', KEY(3) WRITE(KNTN,'(1H ,A,I9)') 'YEAR ', KEY(4) WRITE(KNTN,'(1H ,A,I9)') 'MONTH ', KEY(5) WRITE(KNTN,'(1H ,A,I9)') 'DAY ', KEY(6) WRITE(KNTN,'(1H ,A,I9)') 'HOUR ', KEY(7) WRITE(KNTN,'(1H ,A,I9)') 'MINUTE ', KEY(8) WRITE(KNTN,'(1H ,A,I9)') 'SECOND ', KEY(9) RLAT1=(KEY(11)-9000000)/100000. RLON1=(KEY(10)-18000000)/100000. WRITE(KNTN,'(1H ,A,F9.2)')'LATITUDE 1 ', RLAT1 WRITE(KNTN,'(1H ,A,F9.2)')'LONGITUDE 1 ', RLON1 IDD=0 CIDENT=' ' DO 201 ID=16,24 IDD=IDD+1 CIDENT(IDD:IDD)=CHAR(KEY(ID)) 201 CONTINUE IDD=INDEX(CIDENT,' ') IF(IDD.EQ.0) THEN YFM='(1H ,A,TR1,A)' GO TO 203 END IF IDD=10-IDD WRITE(YFM(10:10),'(I1)',ERR=202) IDD GO TO 203 202 YFM(10:10)='9' 203 WRITE(KNTN,FMT=YFM) 'IDENTIFER ', CIDENT WRITE(KNTN,'(1H ,A,I9)') 'TOTAL BUFR MESSAGE LENGTH ', KEY(25) WRITE(KNTN,'(1H ,A,I9)') 'DAY (RDB INSERTION) ', KEY(26) WRITE(KNTN,'(1H ,A,I9)') 'HOUR (RDB INSERTION) ', KEY(27) WRITE(KNTN,'(1H ,A,I9)') 'MINUTE (RDB INSERTION) ', KEY(28) WRITE(KNTN,'(1H ,A,I9)') 'SECOND (RDB INSERTION) ', KEY(29) WRITE(KNTN,'(1H ,A,I9)') 'DAY (MDB ARRIVAL) ', KEY(30) WRITE(KNTN,'(1H ,A,I9)') 'HOUR (MDB ARRIVAL) ', KEY(31) WRITE(KNTN,'(1H ,A,I9)') 'MINUTE (MDB ARRIVAL) ', KEY(32) WRITE(KNTN,'(1H ,A,I9)') 'SECOND (MDB ARRIVAL ', KEY(33) WRITE(KNTN,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(34) WRITE(KNTN,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(35) WRITE(KNTN,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(37) WRITE(KNTN,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(38) WRITE(KNTN,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(40) WRITE(KNTN,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(41) WRITE(KNTN,'(1H ,A,I9)') 'CORRECTION NUMBER ', KEY(43) WRITE(KNTN,'(1H ,A,I9)') 'PART OF MESSAGE ', KEY(44) WRITE(KNTN,'(1H ,A,I9)') 'QUALITY CONTROL % CONF ', KEY(46) END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/bupkey.F0000755000175000017500000003720412127406245020342 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPKEY( KEY,KSEC1,KSEC2,KERR ) C C**** *BUPKEY* C C C PURPOSE. C -------- C PACK LOCAL ECMWF INFORMATION (RDB KEY) INTO KSEC2 ARRAY. C C C** INTERFACE. C ---------- C *CALL* *BUPKEY(KEY,KSEC1,KSEC2,KERR)* C C INPUT : C *KEY* - ARRAY CONTAINING RDB INFORMATION C KEY( 1)-- LENGTH OF SECTION 2 (BYTES) C KEY( 2)-- RDB TYPE C KEY( 3)-- RDB SUBTYPE C KEY( 4)-- YEAR C KEY( 5)-- MONTH C KEY( 6)-- DAY C KEY( 7)-- HOUR C KEY( 8)-- MINUTE C KEY( 9)-- SECOND C KEY(10)-- LONGITUDE1 C KEY(11)-- LATITUDE1 C KEY(12)-- LONGITUDE2 C KEY(13)-- LATITUDE2 C KEY(14)-- NUMBER OF SUBSETS C KEY(15)-- IDENT (NUMERIC) C KEY(16)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(17)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(18)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(19)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(20)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(21)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(22)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(23)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(24)-- IDENT ( CCITTIA5) ONE CHARACTER C KEY(25)-- TOTAL BUFR MESSAGE LENGTH C KEY(26)-- DAY (RDB INSERTION) C KEY(27)-- HOUR (RDB INSERTION) C KEY(28)-- MINUTE (RDB INSERTION) C KEY(29)-- SECOND (RDB INSERTION) C KEY(30)-- DAY (MDB INSERTION) C KEY(31)-- HOUR (MDB INSERTION) C KEY(32)-- MINUTE (MDB INSERTION) C KEY(33)-- SECOND (MDB INSERTION) C KEY(34)-- CORRECTION NUMBER C KEY(35)-- PART C KEY(36)-- 0 C KEY(37)-- CORRECTION NUMBER C KEY(38)-- PART C KEY(39)-- 0 C KEY(40)-- CORRECTION NUMBER C KEY(41)-- PART C KEY(42)-- 0 C KEY(43)-- CORRECTION NUMBER C KEY(44)-- PART C KEY(45)-- 0 C KEY(46)-- THE LOWEST Q/C % CONFIDENCE C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C OUTPUT: C *KSEC2* - ARRAY CONTAINING SECTION 2 INFORMATION C KSEC2( 1)-- LENGTH OF SECTION 2 (BYTES) C KSEC2( 2) TO KSEC2(JSEC2) LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 17/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmdefc.F" C CHARACTER*4 CECMWF,CUSER C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif DIMENSION KSEC1(JSEC1),KSEC2(JSEC2),KEY(JKEY) DIMENSION IDUM(8),KSEC3(JSEC3) C DATA IDUM/8*0/ C C* 1. PACK LOCAL ADP CENTRE INFORMATION INTO KSEC2 ARRAY. C -------------------------------------------------- C KERR=0 C IF(CECMWF.NE.'ECMF') THEN CALL BUIVAR(KERR) CECMWF='ECMF' END IF C C IF(KSEC1(3).EQ.98) THEN IW=2 IB=0 CALL BUPCK(NBPW,KSEC2(IW),KEY(2) ,IW,IB, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(2).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(3) ,IW,IB, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(3).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(4) ,IW,IB,12,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(4).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(5) ,IW,IB, 4,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(5).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(6) ,IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(6).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(7) ,IW,IB, 5,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(7).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(8) ,IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(8).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(9) ,IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(9).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),0 ,IW,IB, 1,KERR) IF(KERR.GT.0) RETURN CALL BUPCK(NBPW,KSEC2(IW),KEY(10) ,IW,IB,26,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(10).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),0 ,IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUPCK(NBPW,KSEC2(IW),KEY(11) ,IW,IB,25,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(11).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),0 ,IW,IB, 7,KERR) IF(KERR.GT.0) RETURN C IF(KEY(14).GT.1.OR.KEY(2).EQ.2.OR.KEY(2).EQ.3.OR. 1 KEY(2).EQ.12.OR.KEY(2).EQ.8) THEN CALL BUPCK(NBPW,KSEC2(IW),KEY(12) ,IW,IB,26,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(12).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),0 ,IW,IB, 6,KERR) IF(KERR.GT.0) RETURN CALL BUPCK(NBPW,KSEC2(IW),KEY(13) ,IW,IB,25,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(13).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),0 ,IW,IB, 7,KERR) IF(KERR.GT.0) RETURN IF(KEY(14).GT.255.OR.KEY(3).GE.121.AND. 1 KEY(3).LE.130.OR.KEY(3).EQ.31) THEN CALL BUPCK(NBPW,KSEC2(IW),KEY(14),IW,IB,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(14).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(15),IW,IB,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(15).' RETURN END IF CALL BUPKS(NBPW,KSEC2(IW),IDUM ,IW,IB,8,0,4,KERR) IF(KERR.GT.0) RETURN CALL BUPCK(NBPW,KSEC2(IW),0 ,IW,IB, 8,KERR) IF(KERR.GT.0) RETURN ELSE CALL BUPCK(NBPW,KSEC2(IW),KEY(14),IW,IB, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(14).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(15),IW,IB,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(15).' RETURN END IF CALL BUPKS(NBPW,KSEC2(IW),IDUM ,IW,IB,8,0,4,KERR) IF(KERR.GT.0) RETURN CALL BUPCK(NBPW,KSEC2(IW),0 ,IW,IB,16,KERR) IF(KERR.GT.0) RETURN END IF GO TO 140 ELSE CALL BUPKS(NBPW,KSEC2(IW),KEY(16),IW,IB,8,0,9,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(16).' RETURN END IF CALL BUPKS(NBPW,KSEC2(IW),IDUM(1),IW,IB,8,0,8,KERR) IF(KERR.GT.0) RETURN END IF C C C* 1.4 SUB KEY INFORMATION. C -------------------- 140 CONTINUE C CALL BUPCK(NBPW,KSEC2(IW),KEY(25),IW,IB,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(25).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(26),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(26).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(27),IW,IB, 5,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(27).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(28),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(28).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(29),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(29).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),0 ,IW,IB, 1,KERR) IF(KERR.GT.0) RETURN C CALL BUPCK(NBPW,KSEC2(IW),KEY(30),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(30).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(31),IW,IB, 5,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(31).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(32),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(32).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(33),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(33).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),0 ,IW,IB, 1,KERR) IF(KERR.GT.0) RETURN CALL BUPCK(NBPW,KSEC2(IW),KEY(34),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(34).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(35),IW,IB, 1,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(35).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(36),IW,IB, 1,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(36).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(37),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(37).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(38),IW,IB, 1,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(38).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(39),IW,IB, 1,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(39).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(40),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(40).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(41),IW,IB, 1,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(41).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(42),IW,IB, 1,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(42).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(43),IW,IB, 6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(43).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(44),IW,IB, 1,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(44).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(45),IW,IB, 1,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(45).' RETURN END IF CALL BUPCK(NBPW,KSEC2(IW),KEY(46),IW,IB, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KEY(46).' RETURN END IF C C ELSE C WRITE(KNTN,'(1H )') C WRITE(KNTN,'(1H ,A)') 'BUPKEY : KEY DEFINITION NOT PACKED.' C WRITE(KNTN,'(1H )') C END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/busrp.F0000755000175000017500000002602412127406245020174 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUSRP(KBUFL,KBUFF,KSEC3,KJ,KJ1,KDD,KSTACK,KELEM,KERR) C C**** *BUSRP* C C C PURPOSE. C -------- C RESOLVE DATA DESCRIPTOR REPLICATION PROBLEM. C C C** INTERFACE. C ---------- C C *CALL* *BUSRP(KBUFL,KBUFF,KSEC3,KJ,KJ1,KDD,KSTACK,KELEM,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KSEC3* - ARRAY CONTAINIG SECTION 3 INFORMATION C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KJ* - POINTER TO KSTACK ARRAY C *KJ1* - POINTER TO LAST ELEMENT IN KSTACK C *KSTACK* - LIST OF DATA DESCRIPTORS C *KERR* - RETURN CODE C C METHOD. C ------- C NONE. C C EXTERNALS. C ---------- C C BUSTDR - RESOLVE TABLE D REFERENCE C BUUPWT - UPDATE WORKING TABLES C GBYTE - UNPACK BIT PATTERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C CHARACTER CWTEN*64,CWTU*24 C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomwt.F" # include "bcomwtc.F" # include "bcombef.F" # include "bcomoff.F" C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif DIMENSION KBUFF(KBUFL),ILIST(JELEM) DIMENSION KSTACK(*),KSEC3(JSEC3),IMASK(8) C DATA IMASK/1,2,4,8,16,32,64,128/ C C ------------------------------------------------------------------ C C* 1. STORE K, NUMBER OF DESCRIPTORS TO BE REPLICATED. C ------------------------------------------------ 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 K = IX C IF(IY.EQ.0) ODREPF=.TRUE. C C* 1.1 DELAYED REPLICATION ? C --------------------- 110 CONTINUE C IF( IY .NE. 0 ) THEN C C* 1.2 STORE NUMBER OF DESCRIPTORS, K, AND REPLICATION C ----------------------------------------------- C FACTOR JR. C ---------- 120 CONTINUE C C K = IX JR = IY GO TO 500 END IF C C ------------------------------------------------------------------ C C* 2. GET NEXT DESCRIPTOR. C -------------------- 200 CONTINUE C KJ =KJ + 1 KDD= KSTACK(KJ) C C ------------------------------------------------------------------ C C* 2.1 REPLICATION FACTOR ? C -------------------- 210 CONTINUE C IF(KDD.NE.31001.AND.KDD.NE.31002.AND. 1 KDD.NE.31000.AND. 1 KDD.NE.31011.AND.KDD.NE.31012 )THEN C C* 2.1.1 SEQUENCE DESCRIPTOR ? C --------------------- C IF=KDD/100000 C IF( IF.EQ.3) THEN C C* 2.1.1.1 SOLVE TABLE D REFERENCE. C ------------------------ CALL BUSTDR(KJ,KJ1,KDD,KSTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NSTACK(IQ)=0. 252 CONTINUE RETURN END IF GO TO 200 END IF C IF( IF.EQ.2) THEN CALL BUPRCO(KBUFL,KBUFF,KJ,KDD,KSTACK,KELEM,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF GO TO 200 END IF C KERR=36 CALL BUERR(KERR) RETURN END IF C C ------------------------------------------------------------------ C C* 3. UPDATE WORKING TABLE. C --------------------- 300 CONTINUE C c IF(KDD.EQ.31031.OR.KDD.EQ.31192) THEN c NWT=NWT+1 c NWTR(NWT)=KDD c NWTS(NWT)=0 c NWTRV(NWT)=0 c NWTDW(NWT)=1 c CWTEN(NWT)='DATA PRESENT INDICATOR' c CWTU (NWT)='NUMERIC' c M=M+1 c ELSEIF(KDD.EQ.33007.OR.KDD.EQ.63192) THEN c NWT=NWT+1 c NWTR(NWT)=KDD c NWTS(NWT)=0 c NWTRV(NWT)=0 c NWTDW(NWT)=7 c CWTEN(NWT)='% CONFIDENCE' c CWTU (NWT)='NUMERIC' c M=M+1 c ELSE CALL BUUPWT(KDD,KELEM,KERR) IF(KERR.GT.0) RETURN IF(KDD.EQ.031011.or.kdd.eq.031012) return c END IF C C CHECK IF NEXT DESCRIPTOR CANCEL OPERATOR FOR DELAYED C REPLICATION C IIIF=KSTACK(KJ+1)/100000 IIII=KSTACK(KJ+1)-IIIF*100000 IIIX=IIII/1000 IIIY=IIII-IIIX*1000 C IF(IIIF.EQ.2.AND.IIIY.EQ.0) THEN KJ=KJ+1 KDD=KSTACK(KJ) CALL BUPRCO(KBUFL,KBUFF,KJ,KDD,KSTACK,KELEM,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF END IF C C ------------------------------------------------------------------ C C* 4. LOCATE AND STORE JR, THE REPLICATION FACTOR FROM DATA. C ------------------------------------------------------ 400 CONTINUE C IB=0 IF(IAND(KSEC3(4),IMASK(7)).NE.0) IB=1 C C RESOLVE MARKERS C IF(OMARKER) THEN CALL BUPMRK(KBUFL,KBUFF,KSEC3,KELEM,KERR) IF(KERR.GT.0) RETURN END IF C IF(IB.EQ.0) THEN C C UNCOMPRESSED DATA C IBIT=0 C DO 401 J=1,NWT-1 C IBIT=IBIT+NWTDW(J) C 401 CONTINUE C IF(NSUBSET.EQ.1) THEN IBIT = IBIT + 32 + NBPTB ELSE IBIT=IBIT+NBP END IF C IWORD= IBIT/NBPW ISKIP= IBIT - IWORD*NBPW IF(NSUBSET.EQ.1) THEN IWORD= IWORD + NWPTB ELSE IWORD= IWORD + NWP END IF C CALL GBYTE(KBUFF(IWORD),JR,ISKIP,NWTDW(NWT)) IF(JR.EQ.0) THEN KJ=KJ+K GO TO 640 END IF c IF(NWTR(NWT).eq.31011.or.NWTR(NWT).eq.31012) then c NREP=JR c END IF ELSE C C COMPRESSED DATA C IBIT=32+NBPTB IWORD=IBIT/NBPW C IWORDP=NWPTB+IWORD IBITP =IBIT-IWORD*NBPW C DO 402 I=2,NWT IWRD=IWORDP IBTP=IBITP C IF(NWTDW(I-1).EQ.0) THEN IBITP =IBITP IWORDP=IWORDP GO TO 402 END IF C IBTP=IBTP+NWTDW(I-1) IF(IBTP.GE.NBPW) THEN IW=IBTP/NBPW IBTP=IBTP-IW*NBPW IWRD=IWRD+IW END IF C CALL BUNPCK(NBPW,KBUFF,IDWINC,IWRD,IBTP,6,KERR) IF(KERR.GT.0) RETURN IF(IDWINC.GT.JBPW) THEN KERR=15 WRITE(KNTN,*) 'BUSRP:' CALL BUERR(KERR) RETURN END IF IF(IWRD.GT.KBUFL) THEN KERR=26 WRITE(KNTN,*) 'BUSRP:' CALL BUERR(KERR) RETURN END IF C IF(CWTU(I-1)(1:3).EQ.'CCI') THEN IWTIWS=NWTDW(I-1)+6+N*IDWINC*8 ELSE IWTIWS=NWTDW(I-1)+6+N*IDWINC END IF C IBIT = IBITP + IWTIWS IWORD= IBIT/NBPW C IBITP = IBIT - IWORD*NBPW IWORDP= IWORDP + IWORD C IF(IWORDP.GT.KBUFL) THEN KERR=26 WRITE(KNTN,*) 'BUSRP :' CALL BUERR(KERR) RETURN END IF 402 CONTINUE C C UNPACK JR DELAYED REPLICATION FACTOR C IW=IWORDP IBT=IBITP CALL BUNPCK(NBPW,KBUFF,IR0,IW,IBT,NWTDW(NWT),KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KBUFF,IDWINC,IW,IBT,6,KERR) IF(KERR.GT.0) RETURN IF(IDWINC.GT.JBPW) THEN KERR=15 WRITE(KNTN,*) ' BUSRP :' CALL BUERR(KERR) RETURN END IF C IF(IDWINC.NE.0) THEN CALL BUNPCK(NBPW,KBUFF,INCR,IW,IBT,IDWINC,KERR) IF(KERR.GT.0) RETURN END IF C IF(IR0.EQ.NMASK(NWTDW(NWT))) THEN JR=NMASK(NWTDW(NWT)) KERR=19 WRITE(KNTN,*) 'BUSRP :' CALL BUERR(KERR) RETURN ELSE IWTPR0=NWTRV(NWT)+IR0 C IF(IDWINC.EQ.0) THEN JR=IWTPR0 ELSE IF(INCR.EQ.NMASK(IDWINC)) THEN JR=NMASK(NWTDW(NWT)) KERR=19 WRITE(KNTN,*) 'BUSRP :' CALL BUERR(KERR) RETURN ELSE JR= IWTPR0 + INCR END IF END IF END IF END IF C IF(JR.EQ.0) THEN KJ=KJ+K GO TO 640 END IF C JRTK=JR*K+KJ1-K IF(JRTK.GT.JELEM) THEN KERR=19 WRITE(KNTN,*) 'BUSRP :' CALL BUERR(KERR) WRITE(KNTN,*)'REPLICATION FACTOR =',JR RETURN END IF C C ------------------------------------------------------------------ C* 5. GET NEXT K DESCRIPTORS. C ----------------------- 500 CONTINUE C DO 501 J=1,K C ILIST(J)=KSTACK(KJ+J) C 501 CONTINUE C C ------------------------------------------------------------------ C* 6. ADD JR TIMES K DESCRIPTORS IN PLACE OF K C ---------------------------------------- C DESCRIPTORS OBTAINED. C --------------------- 600 CONTINUE C C ------------------------------------------------------------------ C* 6.1 PUSH DOWN DESCRIPTORS IN KSTACK FOR (JR-1)*K PLACES C --------------------------------------------------- C STARTING AT KJ1 AND ENDING AT KJ+K. C ----------------------------------- 610 CONTINUE C JRKM1=(JR-1)*K C DO 611 J=KJ1,KJ+K,-1 C KSTACK(J+JRKM1)=KSTACK(J) C 611 CONTINUE C C* 6.2 INSERT LIST IN THE STACK. C ------------------------- 620 CONTINUE C DO 622 J=1,JR C KJJM1K=KJ+(J-1)*K C DO 623 J1=1,K C KSTACK(KJJM1K+J1)=ILIST(J1) C 623 CONTINUE 622 CONTINUE C C ------------------------------------------------------------------ C* 6.3 ADJUST DESCRIPTOR COUNT FOR LIST LENGTH. C ---------------------------------------- 630 CONTINUE C KJ1 = KJ1 + (JR-1)*K C C ------------------------------------------------------------------ C* 6.4 ADJUST NUMBER OF DATA DESCRIPTORS NOT PRESENT. C ---------------------------------------------- 640 CONTINUE C IF(N221.NE.0) N221= KJ1 - KJ + 1 C C ------------------------------------------------------------------ 700 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/buuatb.F0000755000175000017500000002235012127406245020321 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUUATB(KBUFL,KBUFF,KJ,KY,KSTACK,KELEM,KERR) C C**** *BUUATB* C C C PURPOSE. C -------- C UPDATE AUGMENTED BUFR TABLE B. C C C** INTERFACE. C ---------- C C *CALL* *BUUATB(KBUFL,KBUFF,KJ,KY,KSTACK,KELEM,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KJ* - POINTER TO KSTACK ARRAY C *KY* - OPERAND OF THE DATA DESCRIPTOR OPERATOR C *KELEM* - C OUTPUT: C *KSTACK* - LIST OF ELEMENTS C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C GBYTE - PACK BIT PATTERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomatb.F" # include "bcomatbc.F" # include "bcomtab.F" # include "bcomtabc.F" # include "bcomwt.F" # include "bcomwtc.F" # include "bcombef.F" # include "bcomcom.F" # include "bcomoff.F" C CHARACTER CATBEN*64,CWTEN*64,CTABBEN*64 CHARACTER CATBU*24,CWTU*24,CTABBU*24 C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif DIMENSION KBUFF(KBUFL) DIMENSION KSTACK(*) DIMENSION IMASK(8) DATA IMASK/1,2,4,8,16,32,64,128/ C ------------------------------------------------------------------ C C* 1. UPDATE AUGMENTED TABLE B . C -------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C* 1.1 Y = 0 ? C ------- 110 CONTINUE C IF( KY.EQ.0) THEN C C* 1.1.1 CLEAR AUGMENTED TABLE B. C ------------------------ NJA= 0 C DO 111 J=1,JTAB C NATBTR(J)= 0 NATBS (J)= 0 NATBRV(J)= 0 NATBDW(J)= 0 CATBEN(J)=' ' CATBU (J)=' ' C 111 CONTINUE C GO TO 300 END IF C C* 1.2 GET NEXT DESCRIPTOR FROM STACK. C ------------------------------- 120 CONTINUE C KJ=KJ + 1 KDD = KSTACK(KJ) C C* 1.3 ELEMENT DESCRIPTOR ? C --------------------- 130 CONTINUE C IF = KDD /100000 IDIF= KDD -IF*100000 IX = IDIF/1000 IY = IDIF-IX*1000 C IF(IF.EQ.0) THEN C C* 1.3.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 NWTEN(NWT)=836970 CWTEN(NWT)='REFERENCE VALUE' CWTU (NWT)=' ' NWTDW(NWT)= KY NWTS (NWT)=0 NWTRV(NWT)=0 M=M+1 C C* 1.3.2 ADD ENTRY TO AUGMENTED TABLE B . C -------------------------------- DO 131 J=1,JTAB C IF(NTABBTR(J).EQ.KDD) THEN I=J GO TO 133 END IF C 131 CONTINUE C KERR=23 WRITE(KNTN,*)'BUUATB :' CALL BUERR(KERR) C GO TO 300 C 133 CONTINUE C NJA=NJA + 1 C NATBTR(NJA)=NTABBTR(I) NATBS (NJA)=NTABBS (I) NATBRV(NJA)=NTABBRV(I) NATBDW(NJA)=NTABBDW(I) CATBEN(NJA)=CTABBEN(I) CATBU (NJA)=CTABBU (I) C C* 1.3.3 COMPLITE ENTRY WITH NEW REFERENCE VALUE C ---------------------------------------- C FROM DATA SECTION. C ------------------ C IB=0 IF(IAND(ICOMP,IMASK(7)).NE.0) IB=1 IF(IB.EQ.0) THEN C IBIT=0 C DO 134 J=1,NWT-1 C IBIT =IBIT + NWTDW(J) C 134 CONTINUE C IF(NSUBSET.EQ.1) THEN IBIT = IBIT +32 + NBPTB ELSE IBIT = IBIT + NBP END IF IWORD= IBIT/NBPW ISKIP= IBIT - IWORD*NBPW IF(NSUBSET.EQ.1) THEN IWORD= IWORD + NWPTB ELSE IWORD= IWORD + NWP END IF C C C 1.3.4 CHECK IF REFERENCE VALUE NEGATIVE C CALL GBYTE(KBUFF(IWORD),ISGN,ISKIP,1) IF(ISGN.EQ.1) THEN IBIT=IBIT+1 IWORD= IBIT/NBPW ISKIP= IBIT - IWORD*NBPW IWORD= IWORD + NWPTB C CALL GBYTE(KBUFF(IWORD),NATBRV(NJA),ISKIP,KY-1) NATBRV(NJA)=-NATBRV(NJA) ELSE CALL GBYTE(KBUFF(IWORD),NATBRV(NJA),ISKIP,KY) END IF C ELSE C COMPRESSED DATA C IBIT=32+NBPTB IWORD=IBIT/NBPW C IWORDP=NWPTB+IWORD IBITP =IBIT-IWORD*NBPW C DO 402 I=2,NWT IWRD=IWORDP IBTP=IBITP C IF(NWTDW(I-1).EQ.0) THEN IBITP =IBITP IWORDP=IWORDP GO TO 402 END IF C IBTP=IBTP+NWTDW(I-1) IF(IBTP.GE.NBPW) THEN IW=IBTP/NBPW IBTP=IBTP-IW*NBPW IWRD=IWRD+IW END IF C CALL BUNPCK(NBPW,KBUFF,IDWINC,IWRD,IBTP,6,KERR) IF(KERR.GT.0) RETURN IF(IDWINC.GT.JBPW) THEN KERR=15 WRITE(KNTN,*) 'BUUATB:' CALL BUERR(KERR) RETURN END IF IF(IWRD.GT.KBUFL) THEN KERR=26 WRITE(KNTN,*) 'BUUATB:' CALL BUERR(KERR) RETURN END IF C IF(CWTU(I-1)(1:3).EQ.'CCI') THEN IWTIWS=NWTDW(I-1)+6+N*IDWINC*8 ELSE IWTIWS=NWTDW(I-1)+6+N*IDWINC END IF C IBIT = IBITP + IWTIWS IWORD= IBIT/NBPW C IBITP = IBIT - IWORD*NBPW IWORDP= IWORDP + IWORD C IF(IWORDP.GT.KBUFL) THEN KERR=26 WRITE(KNTN,*) 'BUUATB :' CALL BUERR(KERR) RETURN END IF 402 CONTINUE C C IW=IWORDP IBT=IBITP CALL BUNPCK(NBPW,KBUFF,ISG_REF,IW,IBT,1,KERR) CALL BUNPCK(NBPW,KBUFF,IR0,IW,IBT,NWTDW(NWT)-1,KERR) IF(KERR.GT.0) RETURN CALL BUNPCK(NBPW,KBUFF,IDWINC,IW,IBT,6,KERR) IF(KERR.GT.0) RETURN IF(IDWINC.GT.JBPW) THEN KERR=15 WRITE(KNTN,*) ' BUUATB :' CALL BUERR(KERR) RETURN END IF C IF(IDWINC.NE.0) THEN CALL BUNPCK(NBPW,KBUFF,INCR,IW,IBT,IDWINC,KERR) IF(KERR.GT.0) RETURN END IF C IF(IR0.EQ.NMASK(NWTDW(NWT))) THEN JR=NMASK(NWTDW(NWT)) KERR=19 WRITE(KNTN,*) 'BUUATB :' CALL BUERR(KERR) RETURN ELSE IWTPR0=NWTRV(NWT)+IR0 C IF(IDWINC.EQ.0) THEN JREF=IWTPR0 ELSE IF(INCR.EQ.NMASK(IDWINC)) THEN JREF=NMASK(NWTDW(NWT)) KERR=19 WRITE(KNTN,*) 'BUUATB :' CALL BUERR(KERR) RETURN ELSE JREF= IWTPR0 + INCR END IF END IF END IF C NATBRV(NJA)=JREF IF(ISG_REF.EQ.1) NATBRV(NJA)=- NATBRV(NJA) END IF C C 1.3.5 UPDATA WORKING TABLE ENTRIES. C ----------------------------- 135 CONTINUE C c IF(KDD.EQ.31031.OR.KDD.EQ.31192) THEN c NWT=NWT+1 c NWTR(NWT)=KDD c NWTS(NWT)=0 c NWTRV(NWT)=0 c NWTDW(NWT)=1 c CWTEN(NWT)='DATA PRESENT INDICATOR' c CWTU (NWT)='NUMERIC' c M=M+1 c ELSEIF(KDD.EQ.33007.OR.KDD.EQ.63192) THEN c NWT=NWT+1 c NWTR(NWT)=KDD c NWTS(NWT)=0 c NWTRV(NWT)=0 c NWTDW(NWT)=7 c CWTEN(NWT)='% CONFIDENCE' c CWTU (NWT)='NUMERIC' c M=M+1 c ELSE c CALL BUUPWT(KDD,KELEM,KERR) c IF(KERR.GT.0) RETURN c END IF C GO TO 120 C END IF C C ------------------------------------------------------------------ C C* 1.4 CHANGE REFERENCE VALUE ? C ------------------------ 140 CONTINUE C IF( IF.EQ.2.AND.IX.EQ.3) THEN IF(IY.EQ.255) GO TO 300 KY=IY GO TO 120 END IF C ------------------------------------------------------------------ 200 CONTINUE C KERR=23 WRITE(KNTN,*)'BUUATB :' CALL BUERR(KERR) C C ------------------------------------------------------------------ 300 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/swap_bytes4.F0000755000175000017500000000156412127406245021307 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C subroutine swap_bytes4(r1,r2) c --------------------------------- implicit none real*4 r1, r2 real*4 r14 real*4 r24 integer*4 kint14,kint24 equivalence(r14,kint14) equivalence(r24,kint24) c Reverse order of bytes r14=r1 call mvbits(kint14, 24, 8, kint24, 0) call mvbits(kint14, 16, 8, kint24, 8) call mvbits(kint14, 8, 8, kint24,16) call mvbits(kint14, 0, 8, kint24,24) r2=r24 return end emoslib-000392+dfsg.1/bufrdc/buens0.F0000755000175000017500000000671712127406245020244 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUENS0( KSEC0,KBUFL,KBUFF,KERR) C C**** *BUENS0* C C C PURPOSE. C -------- C PACK SECTION 0 OF BUFR MESSAGE. C PACKING BUFR EDITION 2. C C** INTERFACE. C ---------- C C *CALL* *BUENS0( KSEC0,KBUFL,KBUFF,KERR)* C C C INPUT: C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C OUTPUT: C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KERR* - RETURNED ERROR CODE C C METHOD. C -------- C C NONE. C C EXTERNALS. C ---------- C C BUPKS - PACK BIT PATHERN IN REPEATED WAY C BUPCK - PACK BIT PATHERN C BUOCTN - SET LENGTH OF SECTION C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/09/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" C DIMENSION KBUFF(KBUFL) DIMENSION KSEC0(JSEC0) DIMENSION IBUFR(4) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C DATA IBUFR/66,85,70,82/ C C B IS CCITT.5 DECIMAL 66 C U IS CCITT.5 DECIMAL 85 C F IS CCITT.5 DECIMAL 70 C R IS CCITT.5 DECIMAL 82 C C C ------------------------------------------------------------------ C* 1. PACK SECTION 0. C --------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C C* 1.1 INITIALIZE WORKING POINTERS NWPT AND NBPT. C ------------------------------------------ NWPT = 1 NBPT = 0 C C* 1.2 PACK FIRST FOUR OCTETS CONTAINING *BUFR*. C ------------------------------------------- C CALL BUPKS(NBPW,KBUFF(NWPT),IBUFR,NWPT,NBPT,8,0,4,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'ERROR PACKING FIRST FOUR OCTETS', 1' OF BUFR MESSAGE.' RETURN END IF C IF(KSEC0(3).LE.1) GO TO 200 C C* 1.2 PACK TOTAL LENGTH OF BUFR MESSAGE. C ------------------------------------ 120 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING TOTAL LENGTH OF BUFR MESSAGE' WRITE(KNTN,*) 'IN SECTION 0.' RETURN END IF C C* 1.3 PACK BUFR EDITION NUMBER (IT IS 8TH BYTE ). C --------------------------------------------- 130 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC0(3),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING BUFR EDITION NUMBER IN SECTION 0.' RETURN END IF C C ------------------------------------------------------------------ C 200 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/buoper.F0000755000175000017500000005106612127406245020341 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUOPER(KPT,KDLEN,KDATA,KJ,KDD,KSTACK,KERR) C C C**** *BUOPER* C C C PURPOSE. C -------- C C PROCESS BUFR OPERATOR. C C** INTERFACE. C ---------- C C *CALL* *BUOPER(KPT,KDLEN,KDATA,KJ,KDD,KSTACK,KERR)* C C INPUT : C *KPT* - POINTER TO KDATA ARRAY C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DESCRIPTOR C EXPANSION C *KJ* - POINTER T ARRAY KSTACK C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KSTACK* - LIST OF DESCRIPTORS C *KERR* - RETURN ERROR CODE C C *METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C BUUATB - UPDATE AUGMENTED TABLE B C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmbef.F" C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif CHARACTER CWTEN*64,CWTU*24 C DIMENSION KSTACK(*) DIMENSION KDATA(KDLEN) C C ------------------------------------------------------------------ C C* 1. DETERMINE *F *X AND *Y. C ----------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 C IF( IF.NE.2 ) THEN KERR=21 CALL BUERR(KERR) WRITE(KNTN,*) KDD,' IS TO BE OPEATOR' GO TO 400 END IF C C* 1.1 CHANGE DATA WIDTH ? C ------------------- 110 CONTINUE C IF(IX.EQ.1) THEN NDWINC= NDWINC + (IY-128) IF(IY.EQ.0) NDWINC=0 GO TO 400 END IF C C* 1.2 CHANGE SCALE ? C -------------- 120 CONTINUE C IF(IX.EQ.2) THEN C C* 1.2.1 UPDATE SCALE MULTIPLIER. C ------------------------ C NSCAM=NSCAM + (IY-128) IF(IY.EQ.0) NSCAM=0 GO TO 400 END IF C C* 1.3 CHANGE REFERENCE VALUE ? C ------------------------ 130 CONTINUE C IF(IX.EQ.3) THEN C C* 1.3.1 UPDATE AUGMENTED TABLE B. C ------------------------- CALL BUAUG(KPT,KDLEN,KDATA,KJ,IY,KSTACK,KERR) GO TO 400 END IF C C* 1.4 ADD ASSOCIATED FIELD ? C ---------------------- 140 CONTINUE C IF(IX.EQ.4) THEN C C* 1.4.1 UPDATE ASSOCIATED FIELD WIDTH. C ------------------------------ IF(IY.EQ.0) THEN NFD=NFD-1 IF(NFD.LT.0) THEN KERR=51 CALL BUERR(KERR) RETURN ELSEIF(NFD.EQ.0) THEN NAFDW=0 END IF ELSE NFD=NFD+1 NAFDWA(NFD)=IY END IF GO TO 400 END IF C C* 1.5 SIGNIFY CHARACTER ? C ------------------- 150 CONTINUE C IF(IX.EQ.5) THEN C C* 1.5.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 C CWTEN(NWT)='CHARACTERS' C CWTU (NWT)=' ' NWTR (NWT)= 0 NWTDW(NWT)= IY * 8 NWTEN(NWT)=658367 M=M+1 GO TO 400 END IF C C* 1.5.2 SIGNIFY DATA WIDTH FOR IMMEDISTELY C FOLLOWED LOCAL DESCRIPTOR C 152 CONTINUE C IF(IX.EQ.6) THEN NWT = NWT + 1 KJ=KJ+1 C CWTEN(NWT)='UNKNOWN' C CWTU (NWT)='UNKNOWN' NWTR (NWT)= KSTACK(KJ) NWTDW(NWT)= IY NWTS (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= NVIND M=NWT C C CHECK IF LOCAL TABLE ENTRY KNOWN C -------------------------------- C C DO 153 I=1,JTAB C IF(NWTR(NWT).EQ.NTABBTR(I)) THEN C CWTEN(NWT)=CTABBEN(I) C CWTU (NWT)=CTABBU (I) C IF(CWTU(NWT)(1:3).EQ.'CCI') NWTEN(NWT)=65367 C NWTS (NWT)=NTABBS (I) C NWTRV(NWT)=NTABBRV(I) C NWTDW(NWT)=NTABBDW(I) C NWTEN(NWT)=NTABBTR(I) C GO TO 400 C END IF C 153 CONTINUE C GO TO 400 END IF C IF(IX.EQ.7) THEN C C* 1.5.4 UPDATE SCALE MULTIPLIER. C ------------------------ C IF(IY.EQ.0) THEN N07 =0 NSCAM07 =0 NDWINC07=0 ELSE N07=IY NSCAM07 =IY NDWINC07=((10*IY)+2)/3 END IF GO TO 400 END IF IF(IX.EQ.8) THEN C C* 1.5.5 UPDATE DATA WIDTH FOR CCITTIA5 C ------------------------------ C IF(IY.EQ.0) THEN N08 =0 ELSE N08=IY END IF GO TO 400 END IF C C* 1.6 QUALITY INFORMATION FOLLOWS. C ---------------------------- 160 CONTINUE C IF(IX.EQ.62) THEN C IF(IY.EQ.0) GO TO 400 C C* 1.7.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 C CWTEN(NWT)='QUALITY INFORMATION FOLLOW' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C C* 2. PROCESSING NEW OPERATORS. C ------------------------- 200 CONTINUE C C C* 2.1 DATA NOT PRESENT. C ----------------- 210 CONTINUE C IF(IX.EQ.21) THEN N221=IY GO TO 400 END IF C C C* 2.2 QUALITY INFORMATION FOLLOWS. C ---------------------------- 220 CONTINUE C IF(IX.EQ.22) THEN C C* 1.7.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 C CWTEN(NWT)='QUALITY INFORMATION FOLLOW' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 222000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C C* 2.3 SUBSTITUTED VALUES FOLLOWS. C --------------------------- 230 CONTINUE C IF(IX.EQ.23) THEN IF(IY.EQ.0) THEN NWT=NWT+1 C CWTEN(NWT)='SUBSTITUTED VALUES FOLLOW' C CWTU (NWT)=' ' NWTDW(NWT)=0 NWTR (NWT)=223000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 C CWTEN(NWT)='ASSOCIATED FIELD' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 C CWTEN(NWT)='SUBSTITUTED VALUE MARKER' C CWTU (NWT)=' ' C NWTDW(NWT)= 0 NWTR (NWT)=KDD C NWTRV(NWT)= 0 C NWTEN(NWT)= 0 C NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C C* 2.4 FIRST ORDER STATISTICS FOLLOWS. C ------------------------------- 240 CONTINUE C IF(IX.EQ.24) THEN IF(IY.EQ.0) THEN NWT=NWT+1 C CWTEN(NWT)='FIRST ORDER STATISTICS FOLLOW' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=224000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 C CWTEN(NWT)='ASSOCIATED FIELD' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 C CWTEN(NWT)='FIRST ORDER STATISTICS VALUE MARKER' C CWTU (NWT)=' ' C NWTDW(NWT)= 0 NWTR (NWT)=KDD C NWTRV(NWT)= 0 C NWTEN(NWT)= 0 C NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 2.5 DIFFERENCE STATISTICAL VALUES FOLLOW. C ------------------------------------- 250 CONTINUE C IF(IX.EQ.25) THEN IF(IY.EQ.0) THEN NWT=NWT+1 C CWTEN(NWT)='DIFFERENCE STATISTICAL VALUES FOLLOW' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=225000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 C CWTEN(NWT)='ASSOCIATED FIELD' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 C CWTEN(NWT)='DIFFERENCE STATISTICS VALUE MARKER' C CWTU (NWT)=' ' C NWTDW(NWT)= 0 NWTR (NWT)=KDD C NWTRV(NWT)= 0 C NWTEN(NWT)= 0 C NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C C* 2.6 REPLACED/RETAINED VALUES FOLLOWS. C --------------------------------- 260 CONTINUE C IF(IX.EQ.32) THEN IF(IY.EQ.0) THEN NWT=NWT+1 C CWTEN(NWT)='REPLACE/RETAINED VALUES FOLLOW' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=232000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 C CWTEN(NWT)='ASSOCIATED FIELD' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 C CWTEN(NWT)='REPLACE/RETAINED VALUE MARKER' C CWTU (NWT)=' ' C NWTDW(NWT)= 0 NWTR (NWT)=KDD C NWTRV(NWT)= 0 C NWTEN(NWT)= 0 C NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 2.7 CANCEL BACKWARD DATA REFERENCE. C ------------------------------- 270 CONTINUE C IF(IX.EQ.35) THEN C C* 2.7.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 C CWTEN(NWT)='CANCEL BACKWARD DATA REFERENCE' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 235000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C* 2.8 DEFINE BACKWARD REFERENCE BIT MAP. C ---------------------------------- 280 CONTINUE C IF(IX.EQ.36) THEN C C* 2.8.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 C CWTEN(NWT)='BACKWARD REFERENCE BIT MAP' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 236000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C* 2.9 DEFINE BACKWARD REFERENCE BIT MAP. C ---------------------------------- 290 CONTINUE C IF(IX.EQ.37) THEN IF(IY.EQ.0) THEN C C* 2.8.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 C CWTEN(NWT)='USE PREVIOUSLY DEFINED BIT MAP' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 237000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 2.8.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 C CWTEN(NWT)='CANCEL PREDEFINED BIT MAP' C CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C IF(IX.EQ.9) THEN IF(IY.EQ.0) THEN N40=0 ELSE N40=IY END IF C GO TO 400 END IF C C C* 5. DEFINE EVENT C ------------ 500 CONTINUE C IF(IX.EQ.41) THEN IF(IY.EQ.0) THEN C C 5.1.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='DEFINE EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 241000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 5.1.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL DEFINE EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 5.1 DEFINE CONDITIONING EVENT C ------------------------- 510 CONTINUE C IF(IX.EQ.42) THEN IF(IY.EQ.0) THEN C C 5.1.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='DEFINE CONDITIONING EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 242000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 5.1.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL DEFINE CONDITIONING EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 5.2 DEFINE CONDITIONING EVENT C ------------------------- 520 CONTINUE C IF(IX.EQ.43) THEN IF(IY.EQ.0) THEN C C 5.2.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CATEGORICAL FORECAST VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 243000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 5.2.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL CATEGORICAL FORECAST VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C ------------------------------------------------------------------ C 300 CONTINUE C KERR=22 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) C C ------------------------------------------------------------------ C 400 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/bcomtabloadc.F0000755000175000017500000000144612127406245021454 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C COMMON /BCOMTABLOADC / CCTABBEN(JTAB,JTMAX),CCTABBU (JTAB,JTMAX), 1 CTABLE_LIST(JTMAX),CCTEXT(JCTEXT,JTMAX) C C CTABBEN - TABLE B, ELEMENT NAME ARRAY C CTABBU - TABLE B, UNIT ARRAY C CTABLE_LIST - LIST OF TABLES ARRAY C CCTEXT - CODE/FLAG TABLES TEXT ARRAY C emoslib-000392+dfsg.1/bufrdc/buerr.F0000755000175000017500000001040512127406245020154 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUERR(KERR) C**** *BUERR* C C C PURPOSE. C -------- C PRINT ERROR CODE. C C C** INTERFACE. C ---------- C C *CALL* *BUERR(KERR)* C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/02/92. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "bcomunit.F" C CHARACTER*80 CERROR(100) C DATA CERROR/100*' '/ C C ------------------------------------------------------------------ C C* 1. INITIALIZE MESSAGES. C -------------------- 100 CONTINUE C CERROR( 1)=' START OF BUFR MESSAGE NOT FOUND.' CERROR( 2)=' END OF BUFR MESSAGE NOT FOUND.' CERROR( 3)=' ARRAY TO RECEIVE BUFR MESSAGE TOO SMALL.' CERROR( 4)=' JSEC1 PARAMETER TOO SMAL. LOCAL ADP CENTER'// 1 ' INFORMATION SKIPPED.' CERROR( 5)=' JSEC2 PARAMETER TOO SMALL. LOCAL ADP CENTRE'// 2 ' INFORMATION SKIPPED.' CERROR( 6)=' ERROR DURING READ BUFR TABLE B.' CERROR( 7)=' ERROR DURING READ BUFR TABLE C.' CERROR( 8)=' ERROR DURING READ BUFR TABLE D.' CERROR( 9)=' OPEN ERROR.' CERROR(10)=' ERROR DURING CLOSE BUFR TABLE B.' CERROR(11)=' ERROR DURING CLOSE BUFR TABLE C.' CERROR(12)=' ERROR DURING CLOSE BUFR TABLE D.' CERROR(13)=' NUMBER OF BITS TO BE EXTRACTED GREATER THAN'// 1 ' NUMBER OF BITS PER COMPUTER WORD.' CERROR(14)=' ARGUMENT KVALS TOO SMALL.' CERROR(15)=' INCREMENT VALUE FOR COMPRESSED DATA TOO BIG.' CERROR(16)=' JSUBS PARAMETER TOO SMALL.' CERROR(17)=' JWORK PARAMETER TOO SMALL.' CERROR(18)=' REPLICATION FACTOR EQUAL TO ZERO.' CERROR(19)=' DELAYED REPLICATION FACTOR TOO BIG.' CERROR(20)=' TABLE D REFERENCE NOT FOUND.' CERROR(21)=' DATA DESCRIPTOR OPERATOR NOT FOUND.' CERROR(22)=' BUFR OPEARTOR NAME NOT FOUND.' CERROR(23)=' TABLE B REFERENCE NOT FOUND.' CERROR(24)=' AUGMENTED TABLE B REFERENCE NOT FOUND.' CERROR(25)=' KELEM ARGUMENT TOO SMALL.' CERROR(26)=' WORD POINTER OUT OF RANGE.' CERROR(27)=' TOO MANY SUBSETS TO BE PACKED.' CERROR(28)=' NUMBER TO BE PACKED TOO BIG.' CERROR(29)=' NUMBER OF DESCRIPTORS KTDLEN TOO BIG.' CERROR(30)=' NUMBER OF ELEMENTS GREATER THAN JELEM.' CERROR(31)=' TOO FEW ELEMENTS IN KDATA ARRAY.' CERROR(32)=' NUMBER OF SUBSETS EQUAL TO ZERO.' CERROR(33)=' NEGATIVE VALUE TO BE PACKED.' CERROR(34)=' NUMBER OF BITS TO BE PACKED GREATER THAN'// 1 ' NUMBER OF BITS PER COMPUTER WORD.' CERROR(35)=' ' CERROR(36)=' BAD ORDER OF DATA DESCRIPTORS.' CERROR(37)=' WRONG DATA DESCRIPTOR.' CERROR(38)=' PARTIAL EXPANSION ON TOTAL MESSAGE NOT SUPPORTED.' CERROR(39)=' CAN NOT RECOGNIZE FEEDBACK DATA IN THIS MESSAGE.' CERROR(40)=' REQUEST FLAG ILLEGAL.' CERROR(41)=' BIT MAP NOT SET.' CERROR(42)=' THIS ELEMENT MUST BE DATA PRESENT INDICATOR.' CERROR(43)=' TABLE B ELEMENT MUST FOLLOW BIT MAP.' CERROR(44)=' REQUESTED SUBSET DOES NOT EXIST.' CERROR(45)=' THERE IS NO ONE REQUESTED ELEMENT IN THE DATA.' CERROR(46)=' INPUT ARRAY IS TOO SMALL TO RECEIVE INFORMATION.' CERROR(47)=' KELEM ARGUMENT IS TOO BIG. MAXIMUM ALLOWED IS 160000' CERROR(48)=' ' CERROR(49)=' TOO MANY DATA FOR BOXING ' CERROR(50)=' ERROR IN KSEC1(5) FLAG. '// 1 ' ALLOWED VALUES: ZERO OR 128' CERROR(51)=' WRONG USAGE OF 204Y OPERATOR' CERROR(56)=' WRONG SECTION 4 SIZE' C IF(KERR.GE.0.AND.KERR.LE.100) THEN WRITE(KNTN,'(1H ,A)') CERROR(KERR) ELSE WRITE(KNTN,'(1H ,A)') ' ERROR NUMBER OUT OF RANGE !' END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/busbytesR8.F0000755000175000017500000000212112127406245021103 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUSBYTESR8(DESTINATION,KSOURCE,KSKIP,KWIDTH, 1 KSKIPBETWEEN,KNUMBER) C C**** *BUSBYTESR8* C C C PURPOSE. C -------- C C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JULY 2008 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) REAL*8 DESTINATION CALL SBYTES(DESTINATION,KSOURCE,KSKIP,KWIDTH,KSKIPBETWEEN,KNUMBER) RETURN END emoslib-000392+dfsg.1/bufrdc/bcomoff.F0000755000175000017500000000100512127406245020444 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMOFF/ NSIZEG(JELEM),NSIZE(JELEM),NWTRG(JWORK), 1 NWTDWG(JWORK),NWP,NBP,NSUBSET,OMULTI,OS4 emoslib-000392+dfsg.1/bufrdc/bbuprt.F0000755000175000017500000003210212127406245020331 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BBUPRT(KNT,K,KSUB1,KSUB2,KELEM,CNAMES,CUNITS, 1 CVALS,KVALS,VALUES,KSUP,KSEC1,KERR) C C**** *BUPRT* C C C PURPOSE. C -------- C PRINT EXPANDED BUFR MESSAG. C C C** INTERFACE. C ---------- C C *CALL* *BUPRT(KNT,K,KSUB1,KSUB2,KELEM,CNAMES,CUNITS, C CVALS,KVALS,VALUES,KSUP,KSEC1,KERR)* C C INPUT : C *KNT* - UNIT NUMBER FOR IO C *K* - SWITCH TO PRINT WITH/WITOUT CONTENT OF CODE TABLES C 0 - NO CODE TABLE CONTENT C 1 - YES CODE TABLE CONTENT C *KSUB1* - STARTING SUBSET C *KSUB2* - ENDING SUBSET C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - CHARACTER ARRAY CONTAINIG UNITS C *CVALS* - CHARACTER ARRAY CONTAINING BUFR CODE TABLE C ENTRIES C *KVALS* - DIMENSION OF VALUES ARRAY C *VALUES* - REAL ARRAY (EXPANDED DATA VALUES) C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C OUTPUT: C *KERR* - RETURNED ERROR CODE C C C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" C # include "bcomwork.F" C CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER YCHAR*30,YLONG*320 C DIMENSION KSUP(JSUP),KSEC1(JSEC1) #ifndef R_4 REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS #else REAL VALUES(KVALS) REAL RVIND REAL EPS #endif C C C ------------------------------------------------------------------ C C* 1. PRINT BUFR MESSAGE. C ------------------- 100 CONTINUE C KERR=0 C ISUB1=KSUB1 ISUB2=KSUB2 IF(ISUB1.LE.0.OR.ISUB2.LE.0) THEN WRITE(KNT,'(A)') ' WARNING - NEGATIVE KSUB1 OR KSUB2.' WRITE(KNT,'(A,I5)') ' WARNING - NUMBER OF SUBSETS IS ',KSUP(6) RETURN END IF IF(ISUB1.GT.KSUP(6)) THEN WRITE(KNT,'(A,I5)') ' WARNING - NUMBER OF SUBSETS IS ',KSUP(6) RETURN END IF IF(ISUB2.GT.KSUP(6)) THEN ISUB2=KSUP(6) WRITE(KNT,'(A,I5)') ' WARNING - KSUB2 REPLACED BY ',KSUP(6) END IF C JQCP1= 0 C IF(K.EQ.0) THEN JQPR=0 JQUA=0 JQC=0 C DO 171 J171=1,KSUP(5) C IF(CNAMES(J171)(1:8).EQ.'DATA PRE') THEN C JQPR=J171 C GO TO 172 C END IF C 171 CONTINUE C 172 DO 173 J173=1,KSUP(5) C IF(CNAMES(J173)(1:9).EQ.'QUALITY I') JQUA=J173 C 173 CONTINUE C DO 174 J174=1,KSUP(5) C IF(CNAMES(J174)(1:3).EQ.'% C') THEN C JQC =J174 C GO TO 175 C END IF C 174 CONTINUE C C 175 CONTINUE C C WRITE(KNT,'(1H1)') C C WRITE(KNT,'(1H ,A)') 'EXPANDED BUFR MESSAGE ' C WRITE(KNT,'(1H ,//)') C WRITE(KNT,'(1H ,A,I6)') 'BUFR MESSAGE DATA TYPE ',KSEC1(6) C WRITE(KNT,'(1H ,A,I6)') 'RDB DATA SUBTYPE ',KSEC1(7) C WRITE(KNT,'(1H ,A,I6)') 'TOTAL BUFR LENGTH (BYTES) ',KSUP(8) C NTYPE=KSEC1(7) IF(JQUA.EQ.0) THEN !IF(JQUA.NE.0) THEN JQUA=KSUP(5) C DO 103 JB=ISUB1,ISUB2 C ILN=0 WRITE(KNT,'(1H )') C DO 104 JA=1,JQUA C ILN=ILN+1 JAJB=JA+(JB-1)*KELEM C IF(ABS(VALUES(JAJB)-RVIND)/RVIND.LT.EPS) THEN WRITE(KNT,9918) ILN,CNAMES(JA),CUNITS(JA) ELSE IF(CUNITS(JA)(1:4).EQ.'CCIT') THEN I=NINT(VALUES(JAJB)/1000) NCHAR=VALUES(JAJB)-I*1000 NW=NCHAR/80 NWOFF=NCHAR-NW*80 IF(NWOFF.NE.0) NW=NW+1 C YLONG=' ' YLONG(1:80)=CVALS(I) C II=I DO 125 JC=1,NW-1 II=II+1 KF=JC*80+1 KL=(JC+1)*80 YLONG(KF:KL)=CVALS(II) 125 CONTINUE C NLINE=NCHAR/30 IDIF =NCHAR-NLINE*30 IF(IDIF.NE.0) NLINE=NLINE+1 YCHAR=' ' YCHAR=YLONG(1:30) C WRITE(KNT,9919)ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA),YCHAR C IF(NLINE.GT.1) THEN DO 130 JJ=1,NLINE-1 C K2=JJ*30+1 K1=(JJ+1)*30 YCHAR=' ' YCHAR=YLONG(K2:K1) C WRITE(KNT,9920) YCHAR 130 CONTINUE C END IF ELSE WRITE(KNT,9917) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA) END IF END IF C 104 CONTINUE 103 CONTINUE C ELSE JQPRM1=JQPR-1 JQC=JQC-1 C DO 101 JB=ISUB1,ISUB2 C ILN=0 JQCP1=0 C WRITE(KNT,'(1H )') C DO 102 JA=1,JQUA-1 C ILN=ILN+1 JAJB=JA+(JB-1)*KELEM JQPJB=JQPRM1+JA+(JB-1)*KELEM C IF(VALUES(JQPJB).EQ.0.0) THEN JQCP1=JQCP1+1 JQCPP1=JQC+JQCP1+(JB-1)*KELEM IF(ABS(VALUES(JAJB)-RVIND)/RVIND.LT.EPS) THEN WRITE(KNT,9918) ILN,CNAMES(JA),CUNITS(JA) ELSE WRITE(KNT,9916) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA), 1 CNAMES(JQC+JQCP1),VALUES(JQCPP1), 1 CUNITS(JQC+JQCP1) END IF ELSE IF(ABS(VALUES(JAJB)-RVIND)/RVIND.LT.EPS) THEN WRITE(KNT,9918) ILN,CNAMES(JA),CUNITS(JA) IF(NTYPE.EQ.5.OR.NTYPE.EQ.3) JQCP1=JQCP1+1 ELSE WRITE(KNT,9917) ILN,CNAMES(JA),VALUES(JAJB), 1 CUNITS(JA) IF(NTYPE.EQ.5.OR.NTYPE.EQ.3) JQCP1=JQCP1+1 END IF END IF C C 102 CONTINUE 101 CONTINUE C END IF END IF C IF(K.EQ.1) THEN C C--------------------------------------------------------------------- WRITE(KNT,'(1H1)') C WRITE(KNT,'(1H ,A)') 'WARNING : PRINTING CONTENT OF CODE'// 1 ' TABLES NOT YET IMPLEMENTED.' RETURN C--------------------------------------------------------------------- C C WRITE(KNT,'(1H ,A)') 'EXPANDED BUFR MESSAGE ' C WRITE(KNT,'(1H ,//)') C WRITE(KNT,'(1H ,A,I6)') 'RDB DATA TYPE ',KSEC1(6) C WRITE(KNT,'(1H ,A,I6)') 'RDB DATA SUBTYPE ',KSEC1(7) C WRITE(KNT,'(1H ,A,I6)') 'TOTAL BUFR LENGTH (BYTES) ',KSUP(8) C C DO 150 JB=1,KSUP(6) C C WRITE(KNT,'(1H )') C C DO 160 JA=1,KSUP(5) C C JAJB=JA+(JB-1)*KELEM C C IF(ABS(VALUES(JAJB)-RVIND)/RVIND.LT.EPS) THEN C WRITE(KNT,9903) CNAMES(JA)(1:32),CUNITS(JA) C WRITE(KNT,9903) CNAMES(JA)(33:64) C ELSE C IF(CUNITS(JA)(1:10).EQ.'CODE TABLE'.OR. C 1 CUNITS(JA)(1:9) .EQ.'CCITTIA5' ) THEN C I=NINT(VALUES(JAJB)/1000) C NCHAR=VALUES(JAJB)-I*1000 C NW=NCHAR/80 C NWOFF=NCHAR-NW*80 C IF(NWOFF.NE.0) NW=NW+1 CC C YLONG(1:80)=CVALS(I) C C II=I C DO 165 JC=1,NW-1 C II=II+1 C KF=JC*80+1 C KL=(JC+1)*80 C YLONG(KF:KL)=CVALS(II) C 165 CONTINUE C C NLINE=NCHAR/30 C IDIF =NCHAR-NLINE*30 C IF(IDIF.NE.0) NLINE=NLINE+1 C YCHAR=YLONG(1:30) C C WRITE(KNT,9904)CNAMES(JA)(1:32),VALUES(JAJB), C 1 CUNITS(JA),YCHAR C WRITE(KNT,9904)CNAMES(JA)(33:64) C C IF(NLINE.GT.1) THEN C DO 170 JJ=1,NLINE-1 C C K2=JJ*30+1 C K1=(JJ+1)*30 C YCHAR=YLONG(K2:K1) C C WRITE(KNT,9905) YCHAR C 170 CONTINUE C C END IF C ELSE C WRITE(KNT,9906) CNAMES(JA)(1:32),VALUES(JAJB), C 1 CUNITS(JA) C WRITE(KNT,9906) CNAMES(JA)(33:64) C END IF C END IF C C 160 CONTINUE C 150 CONTINUE C END IF C C C RETURN C C ------------------------------------------------------------------ C 200 CONTINUE C C ------------------------------------------------------------------ 9903 FORMAT(1H ,A,' MISSING',2X,A) 9904 FORMAT(1H ,A,E20.10,2X,A,2X,A) 9905 FORMAT(1H ,100X,A) 9906 FORMAT(1H ,I5,1X,A,E14.10,2X,A) 9916 FORMAT(1H ,I5,1X,A15,1X,E20.10,1X,A20,1X,A15,1X,F3.0,1X,A15) 9917 FORMAT(1H ,I5,1X,A15,1X,E20.10,1X,A24) 9918 FORMAT(1H ,I5,1X,A15,1X,' MISSING',1X,A24) 9919 FORMAT(1H ,I5,1X,A15,1X,E20.10,1X,A24,1X,A) 9920 FORMAT(1H ,62X,A) END emoslib-000392+dfsg.1/bufrdc/bcomp.F0000755000175000017500000000142012127406245020132 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMP/ INWTEN(JELEM),INWTR (JELEM),INWTS (JELEM), 1 INWTRV (JELEM),INWTDW(JELEM), 2 INWORDP(JWORK),INBITP(JWORK) C INWTEN - WOKING TABLE C INWTR - WORKING TABLE REFERENCE C INWTS - WORKING SCALE C INWTRV - WORKING REFERENCE VALUE C INWTDW - WORKING DATA WIDTH emoslib-000392+dfsg.1/bufrdc/Makefile.in0000755000175000017500000000110212127406245020765 0ustar amckinstryamckinstry# # Makefile for bufrdc # A64 = plat R64 = reals ARCH = arch CNAME = comp LIB = depl # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ clean: \rm -f $(OBJECTS) emoslib-000392+dfsg.1/bufrdc/btable.F0000755000175000017500000001210412127406245020264 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BTABLE(YNAME,YTABB,KERR) C C**** *BTABLE* C C C PURPOSE. C -------- C CREATE BUFR TABLE B IN BINARY FORM. C C** INTERFACE. C ---------- C NONE. C C C *METHOD. C ------- C NONE. C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, FM 94 BUFR. C C J.K.GIBSON AND M.DRAGOSAVAC,1987: DECODING DATA C REPRESENTATION FM 94 BUFR,TECHNICAL MEMORANDUM NO. C C J.K.GIBSON,1986:EMOS 2 - STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE ,TECHICAL MEMORANDUM NO. ECMWF. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcomwork.F" # include "bcomtab.F" # include "bcomtabc.F" # include "bcomct.F" # include "bcomctc.F" # include "bcomroot.F" # include "bcomtabload.F" # include "bcomtabloadc.F" C CHARACTER*64 CTABBEN,CCTABBEN CHARACTER*24 CTABBU,CCTABBU,CTABLE_LIST,YTABB CHARACTER*120 YENTRY CHARACTER*(*) YNAME CHARACTER*256 YFNAME REAL*8 RVIND,EPS C C DATA CTABBEN/JTAB*' '/,CTABBU/JTAB*' '/ C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C J=0 ICLASS0=0 IVIND=2147483647 YFNAME=' ' C DO 101 I=1,64 do 101 ii=1,255 NTABP(I,ii)=0 101 CONTINUE C DO 102 i=1,JTAB NTABBTR(I)=IVIND NTABBS (I)=IVIND NTABBRV(I)=IVIND NTABBDW(I)=IVIND CTABBEN(I)=' ' CTABBU (I)=' ' 102 CONTINUE C II=INDEX(YNAME,' ') II=II-1 YFNAME=YNAME(1:II) II=INDEX(YFNAME,' ') II=II-1 CALL GET_FREE_UNIT(IUNIT) OPEN(UNIT=IUNIT,FILE=YFNAME(1:II), 2 IOSTAT=IOS, 1 STATUS='OLD') IF(IOS.NE.0) THEN print*,'open error on ',YFNAME(1:II) kerr=61 return END IF C ------------------------------------------------------------------ C* 2. READ IN TABLE B ELEMENT. C ------------------------ C 200 CONTINUE C YENTRY=' ' READ(IUNIT,'(A)',ERR=402,END=300) YENTRY C J=J+1 IF(J.GT.JTAB) THEN PRINT*,' DIMENSION TOO SMALL J=',J kerr=6 return END IF C C ------------------------------------------------------------------ C* 2.1 SET ARRAYS FOR TABLE REFERENCE, ELEMENT NAME, UNITS, C* REFERENCE VALUE AND DATA WIDTH. C 210 CONTINUE C C READ(YENTRY,'(1X,I6,1x,64x,1x,24x,1x,I3,1x,I12,1x,I3)') 1 NTABBTR(J),NTABBS (J), 1 NTABBRV(J),NTABBDW(J) C CTABBEN(J)=YENTRY( 9:72) CTABBU (J)=YENTRY(74:97) C ICLASS=NTABBTR(J)/1000 IYYY =NTABBTR(J)-ICLASS*1000+1 C ICLASS=ICLASS+1 NTABP(ICLASS,IYYY)=J C c WRITE(*,1000) NTABBTR(J),CTABBEN(J),CTABBU(J),NTABBS(J), c 1 NTABBRV(J),NTABBDW(J) c 1000 FORMAT(1H ,1X,I6,1x,64x,1x,24x,1x,,I3,1x,I12,1x,I3) C GO TO 200 C C ------------------------------------------------------------------ 300 CONTINUE C NTT=NTT+1 IF(NTT.GT.JTMAX) THEN NTT=NTT-1 NTC=NTC+1 IF(NTC.GT.10) NTC=1 DO J=1,JTAB MTABBTR(J,NTC)=NTABBTR(J) MTABBS (J,NTC)=NTABBS (J) MTABBRV(J,NTC)=NTABBRV(J) MTABBDW(J,NTC)=NTABBDW(J) CCTABBEN(J,NTC)=CTABBEN(J) CCTABBU (J,NTC)=CTABBU (J) END DO DO I=1,64 DO K=1,255 MTABP(I,K,NTC)=NTABP(I,K) END DO END DO CTABLE_LIST(NTC)=YTABB ELSE DO J=1,JTAB MTABBTR(J,NTT)=NTABBTR(J) MTABBS (J,NTT)=NTABBS (J) MTABBRV(J,NTT)=NTABBRV(J) MTABBDW(J,NTT)=NTABBDW(J) CCTABBEN(J,NTT)=CTABBEN(J) CCTABBU (J,NTT)=CTABBU (J) END DO DO I=1,64 DO K=1,255 MTABP(I,K,NTT)=NTABP(I,K) END DO END DO CTABLE_LIST(NTT)=YTABB END IF C CLOSE(IUNIT) C C WRITE(*,'(1h )') C WRITE(*,'(1h ,a,i4)') 'Total number of entries in Table B is ',j C RETURN C 402 CONTINUE KERR=6 WRITE(*,4402) IOS,YFNAME 4402 FORMAT(1H ,'Read error',i4,' on ',a) RETURN C 401 CONTINUE C KERR=61 WRITE(*,4401) IOS,YFNAME 4401 FORMAT(1H ,'Open error',i4,' on ',a) C RETURN END emoslib-000392+dfsg.1/bufrdc/buepwtc.F0000755000175000017500000001527512127406245020520 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEPWTC(KDD,KERR) C C**** *BUEPWTC* C C C PURPOSE. C -------- C UPDATES WORKING TABLES SETTING ELEMENT NAME,UNIT,SCALE, C REFERENCE VALUE AND DATA WIDTH. C C C** INTERFACE. C ---------- C C *CALL* *BUEPWTC(KDD,KERR)* C C INPUT : C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmtab.F" # include "bcmtabc.F" # include "bcmatb.F" # include "bcmatbc.F" # include "bcmbef.F" C CHARACTER*64 CATBEN,CWTEN,CTABBEN,YWTEN CHARACTER*24 CATBU,CWTU,CTABBU,YWTU C C ------------------------------------------------------------------ C* 1. UPDATE WORKING TABLE. C --------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C ICLASS=KDD/1000 IYYY =KDD-ICLASS*1000+1 ICLASS=ICLASS+1 C C* 1.1 ASSOCIATED FIELD ? C ------------------ 110 CONTINUE C IF(NFD.EQ.0) GO TO 140 C C* 1.2 UNITS ELEMENT DESCRIPTOR ? C -------------------------- 120 CONTINUE C I=NTABP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 WRITE(KNTN,*) 'BUEPWT : ',KDD CALL BUERR(KERR) DO 1 IQ=1,JELEM NSTACK(IQ)=0. 1 CONTINUE RETURN END IF C IF(NTABBTR(I)/1000.EQ.31) GO TO 140 c IF(CTABBU(I)(1:4).EQ.'CODE') GO TO 140 c IF(CTABBU(I)(1:4).EQ.'FLAG') GO TO 140 c IF(CTABBU(I)(1:3).EQ.'NUM' ) GO TO 140 C C* 1.3 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- 130 CONTINUE C IF(N40.NE.0) THEN NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)=N40 NWTR (NWT)= 999999 NWTEN(NWT)= 0 NWTS (NWT)= 0 NWTRV(NWT)= 0 ELSE DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)=NAFDWA(I) NWTR (NWT)= 999999 NWTEN(NWT)= 0 NWTS (NWT)= 0 NWTRV(NWT)= 0 END DO END IF C M=NWT C C ------------------------------------------------------------------ C* 1.4 SEARCH AUGMENTED TABLE *B ENTRIES . C ----------------------------------- 140 CONTINUE C DO 141 J=1,NJA C IF(NATBTR(J).EQ.KDD) THEN II=J C C* MODIFY ENTRY FOR OPERATOR IN FORCE. C ----------------------------------- C C* ADD ENTRY TO WORKING TABLE. C --------------------------- C IX=KDD/1000 IF(N40.NE.0.AND.IX.NE.31) THEN NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = 0 NWTRV(NWT) = 0 NWTDW(NWT) = N40 ELSE NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = NATBS (II) + NSCAM + NSCAM07 NWTRV(NWT) = NINT(NATBRV(II)*10.**N07) NWTDW(NWT) = NATBDW(II) + NDWINC + NDWINC07 END IF C C CHECK IF DATA ARE PRESENT IN DATA SECTION. C IF(N221.NE.0) THEN IX=KDD/1000 IF(IX.GT.9.AND.IX.NE.31) NWTDW(NWT)=0 N221=N221-1 END IF C c IF(NWTR(NWT).EQ.31011.OR.NWTR(NWT).EQ.31012) THEN c IF(NWTR(NWT-1).EQ.31011.OR.NWTR(NWT-1).EQ.31012) THEN c NWTDW(NWT)=0 c END IF c END IF C C* UPDATE M, CNAMES, CUNITS. C ------------------------- C CWTEN(NWT) = CATBEN(II) CWTU (NWT) = CATBU (II) NWTEN(NWT) = 0 IF(CATBU(II)(1:3).EQ.'CCI') THEN NWTEN(NWT)=658367 ELSEIF(N40.NE.0.AND.IX.NE.31.AND. 1 CATBU(II)(1:3).NE.'COD'.AND. 2 CATBU(II)(1:3).NE.'FLA') THEN NWTEN(NWT) = -999 END IF C M = NWT RETURN END IF C 141 CONTINUE C C C* 1.5 GET TABLE *B ENTRY . C --------------------- 150 CONTINUE C I=NTABP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 WRITE(KNTN,*) 'BUEPWT : ',KDD CALL BUERR(KERR) DO 2 IQ=1,JELEM NSTACK(IQ)=0. 2 CONTINUE RETURN END IF C 155 CONTINUE C C ----------------------------------------------------------------- C* 1.6 MODIFY ENTRY FOR OPERATOR IN FORCE. C ----------------------------------- 160 CONTINUE C C* ADD ENTRY TO WORKING TABLE. C --------------------------- IX=KDD/1000 IF(CTABBU(I)(1:4).EQ.'CODE'.OR. 1 CTABBU(I)(1:4).EQ.'FLAG') THEN NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = NTABBS (I) NWTRV(NWT) = NTABBRV(I) NWTDW(NWT) = NTABBDW(I) ELSEIF(N40.NE.0.AND.IX.NE.31) THEN NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = 0 NWTRV(NWT) = 0 NWTDW(NWT) = N40 ELSE NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = NTABBS (I) + NSCAM + NSCAM07 NWTRV(NWT) = nint(NTABBRV(I)*10.**N07) NWTDW(NWT) = NTABBDW(I) + NDWINC + NDWINC07 END IF C C CHECK IF DATA ARE PRESENT IN DATA SECTION. C IF(N221.NE.0) THEN IX=KDD/1000 IF(IX.GT.9.AND.IX.NE.31) NWTDW(NWT)=0 N221=N221-1 END IF C c IF(NWTR(NWT).EQ.31011.OR.NWTR(NWT).EQ.31012) THEN c IF(NWTR(NWT-1).EQ.31011.OR.NWTR(NWT-1).EQ.31012) THEN c NWTDW(NWT)=0 c END IF c END IF C 175 CONTINUE C C* 1.8 UPDATE M. C --------- 180 CONTINUE C CWTEN(NWT)= CTABBEN(I) CWTU (NWT)= CTABBU(I) NWTEN(NWT)= 0 IF(CTABBU(I)(1:3).EQ.'CCI') THEN NWTEN(NWT)=658367 ELSE IF(N40.NE.0.AND.IX.NE.31) NWTEN(NWT) = -999 END IF C M=NWT C ------------------------------------------------------------------ C 200 CONTINUE C RETURN C END emoslib-000392+dfsg.1/bufrdc/buivar.F0000755000175000017500000001012312127406245020322 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUIVAR(KERR) C C**** *BUIVAR* C C C PURPOSE. C -------- C INITIALIZE CONSTANTS AND VARIABLES. C C** INTERFACE. C ---------- C C *CALL* *BUIVAR(KERR)* C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C GETENV - GETS VALUE OF AN ENVIRONMENT VARIABLE. C EMOSNUM - GIVES CURRENT EMOSLIB VERSION NUMBER. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/03/92. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmatb.F" # include "bcmbef.F" # include "bcmwork.F" # include "bcmwt.F" # include "bcmroot.F" # include "bcmtabload.F" # include "bcmtabloadc.F" C CHARACTER*256 CROOT, HDEFAULT,CPRINT CHARACTER*9 STD_OUT,YKNTN CHARACTER*24 CTABLE_LIST,CCTABBU CHARACTER*64 CCTABBEN LOGICAL OPRINT C C INTEGER IEMOSNM #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif #ifdef TABLE_PATH DATA HDEFAULT / TABLE_PATH / #else DATA HDEFAULT / '' / #endif C C EXTERNAL FUNCTIONS C INTEGER EMOSNUM EXTERNAL EMOSNUM C C ------------------------------------------------------------------ C* 1. INITIALIZE VARIABLES AND CONSTANTS. C ----------------------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C NJA= 0 M =0 MM =0 N =0 JCV=0 NBPW=JBPW NWPT=0 NBPT=0 NWPTB=0 NBPTB=0 NVIND=2147483647 RVIND=1.7D38 EPS=10.D-7 NBENP=0 NLTVNP=0 NWWP=0 NXXP=0 NYYP=0 NZZP=0 NTC=0 NTT=0 NDWINC=0 NSCAM=0 NSCAM07=0 NDWINC07=0 N07=0 NAFDW=0 NFD=0 NWT=0 ODREPF=.FALSE. N221=0 N40=0 MREL=0 NFCM=0 MBMP=0 MBMPL=0 OMARKER=.FALSE. CROOT=' ' NREP=0 OREP=.false. N08=0 NSSP=0 C C STANDARD OUTPUT UNIT NUMBER C STD_OUT=' ' YKNTN=' ' CALL GETENV('STD_OUT',YKNTN) INKNTN=INDEX(YKNTN,' ') IF(INKNTN.EQ.1) THEN KNTN=6 ELSE READ(YKNTN,'(I3.3)') KNTN END IF C CROOT=' ' CALL GETENV('BUFR_TABLES',CROOT) ILNG=INDEX(CROOT,' ') IF(ILNG.LE.1) THEN ILNG=INDEX(HDEFAULT,' ') - 1 IF(ILNG.GT.0) THEN CROOT = HDEFAULT(1:ILNG)//'/bufrtables/' ELSE CROOT='/home/ma/emos/tables/bufr/text/' C C ADD VERSION NUMBER C ILNG=INDEX(CROOT,' ') IEMOSNM = EMOSNUM(1) WRITE(CROOT(ILNG:ILNG+5),'(I6.6)') IEMOSNM CROOT(ILNG+6:) = '/' ENDIF ENDIF C CPRINT=' ' OPRINT=.TRUE. CALL GETENV('PRINT_TABLE_NAMES',CPRINT) ILN=INDEX(CPRINT,' ') IF(ILN.LE.1) THEN OPRINT=.TRUE. ELSE IF(CPRINT(1:ILN-1).EQ.'FALSE'.OR. 1 CPRINT(1:ILN-1).EQ.'false') OPRINT=.FALSE. END IF IF(OPRINT) THEN C WRITE(KNTN,'(1H ,A)') ' ECMWF ' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A,A)') ' BUFR ENCODING SOFTWARE', 1' VERSION - 7.2 ' WRITE(KNTN,'(1H ,A)') ' 1 April 2007. ' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A)') 'Your path for bufr tables is :' WRITE(KNTN,'(1H ,A)') CROOT(1:ILNG+6) END IF C DO 101 I=1,JBPW-2 NMASK(I)=2**I-1 101 CONTINUE IF(JBPW.EQ.32) THEN NMASK(31)=2147483647 END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/ctable.F0000755000175000017500000001403412127406245020271 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CTABLE(YNAME,KERR) C C**** *CTABLE* C C C PURPOSE. C -------- C THE MAIN PURPOSE OF THIS PROGRAMME IS TO CREATE WORKING C CODE TABLES FOR *BUFR* DECODING. C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, *FM 94 BUFR*. C C J.K.GIBSON AND *M.DRAGOSAVAC,1987:* DECODING *DATA *REPRESENTATION C *FM 94 BUFR*,*TECHNICAL *MEMORANDUM *NO. 134 C C J.K.GIBSON,1986:*EMOS 2 - *STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE *,*TECHICAL MEMORANDUM *NO. C *ECMWF*. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcomwork.F" # include "bcomtab.F" # include "bcomtabc.F" # include "bcomct.F" # include "bcomctc.F" # include "bcomroot.F" # include "bcomtabload.F" # include "bcomtabloadc.F" C CHARACTER*64 CTEXT CHARACTER*64 CTABBEN CHARACTER*24 CTABBU CHARACTER*256 YFNAME CHARACTER*(*) YNAME CHARACTER*120 YENTRY C REAL*8 RVIND,EPS C C ------------------------------------------------------------------ C* 1. SET INITIAL CONSTANTS AND POINTERS C ---------------------------------- 100 CONTINUE C J=0 YFNAME=' ' C DO 101 I=1,JCTEXT CTEXT(I)=' ' 101 CONTINUE C DO 102 I=1,JCTAB NREF(I)=0 NSTART(I)=0 NLEN(I)=0 102 CONTINUE C DO 103 I=1,JCTST NCODNUM(I)=0 NSTARTC(I)=0 NLENC (I)=0 103 CONTINUE C II=INDEX(YNAME,' ') II=II-1 YFNAME=YNAME(1:II) II=INDEX(YFNAME,' ') II=II-1 CALL GET_FREE_UNIT(IUNIT) OPEN(UNIT=IUNIT,FILE=YFNAME(1:II),ERR=401,STATUS='OLD') C C ------------------------------------------------------------------ C* 2. READ IN CODE TABLE ENTRY C ------------------------ 200 CONTINUE C C READ(IUNIT,'(A)',ERR=402,END=300) YENTRY C J = J+1 C IF(J.GT.JCTAB) THEN PRINT*,' DIMENSION TOO SMALL J=',J kerr=66 return END IF C C ------------------------------------------------------------------ C* 2.1 SET ARRAYS FOR CODE TABLE TABLE REFERENCE, STARTING POINTERS C FOR LIST OF CODE NUMBERS, LENGTH , LIST OF CODE NUMBERS, C STARTING POINTERS AND LENGTH OF TEXT INFORMATION. 210 CONTINUE C READ(YENTRY,'(I6,1X,I4,1X,I4,1X,I2)',IOSTAT=ios) NREF(J),NLEN(J), 1 NCODE,NLINE if(ios.ne.0) then print*,YENTRY print*,'Internal read error 1' return end if C IF(J.EQ.1) THEN NSTART (J) = 1 NSTARTC(J) = 1 IPT = 1 IIPT= 1 ELSE NSTART(J) = NSTART(J-1) + NLEN(J-1) IPT = NSTART(J) IIPT = IIPT + 1 NSTARTC(IPT)= IIPT END IF C C NCODNUM(IPT)=NCODE NLENC ( IPT)=NLINE C CTEXT (IIPT)=YENTRY(21:80) C ------------------------------------------------------------------- IF(NLENC(IPT).GT.1) THEN DO 220 JA=1,NLENC(IPT)-1 READ(IUNIT,'(A)',END=300) YENTRY IIPT=IIPT+1 CTEXT(IIPT)=YENTRY(21:80) 220 CONTINUE END IF C IF(NLEN(J).GT.1) THEN DO 230 JA=1,NLEN(J)-1 READ(IUNIT,'(A)',END=300) YENTRY READ(YENTRY,'(12X,I4,1X,I2)',IOSTAT=IOS) NCODE,NLINE if(IOS.ne.0) then print*,YENTRY print*,'Internal read error 2' return end if IPT = IPT + 1 IIPT =IIPT + 1 NCODNUM(IPT)= NCODE NSTARTC(IPT)= IIPT NLENC (IPT)=NLINE CTEXT(IIPT) = YENTRY(21:80) IF(NLENC(IPT).GT.1) THEN DO 240 JB=1,NLENC(IPT)-1 READ(IUNIT,'(A)',END=300) YENTRY IIPT=IIPT+1 CTEXT(IIPT)=YENTRY(21:80) 240 CONTINUE END IF 230 CONTINUE END IF C GO TO 200 C C ------------------------------------------------------------------ 300 CONTINUE C IF(NTT.EQ.JTMAX.AND.NTC.NE.0) THEN DO J=1,JCTAB MNREF(J,NTC)=NREF(J) MNSTART(J,NTC)=NSTART(J) MNLEN(J,NTC)=NLEN(J) END DO DO J=1,JCTST MNCODNUM(J,NTC)=NCODNUM(J) MNSTARTC(J,NTC)=NSTARTC(J) MNLENC(J,NTC)=NLENC(J) END DO DO J=1,JCTEXT CCTEXT(J,NTC)=CTEXT(J) END DO ELSE DO J=1,JCTAB MNREF(J,NTT)=NREF(J) MNSTART(J,NTT)=NSTART(J) MNLEN(J,NTT)=NLEN(J) END DO DO J=1,JCTST MNCODNUM(J,NTT)=NCODNUM(J) MNSTARTC(J,NTT)=NSTARTC(J) MNLENC(J,NTT)=NLENC(J) END DO DO J=1,JCTEXT CCTEXT(J,NTT)=CTEXT(J) END DO END IF CLOSE(IUNIT) C C write(*,'(1h )') C write(*,'(1H ,a,i4)') 'Total number of entries in Table C is ',j C RETURN C ----------------------------------------------------------------- 400 CONTINUE C 401 CONTINUE C KERR=62 WRITE(*,4401) IOS,YFNAME 4401 FORMAT(1H ,'Open error ',i4,' on ',a) RETURN C 402 CONTINUE KERR=7 WRITE(*,4402) IOS,YFNAME 4402 FORMAT(1H ,'Read error ',i4,' on ',a) RETURN C END emoslib-000392+dfsg.1/bufrdc/bcomwtc.F0000755000175000017500000000104012127406245020466 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMWTC/ CWTEN(JELEM),CWTU (JELEM) C C CWTEN - WORKING TABLE ELEMENT NAAME C CWTU - WORKING TABLE UNITS C emoslib-000392+dfsg.1/bufrdc/buevar.F0000755000175000017500000001152712127406245020327 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEVAR(KERR) C C**** *BUEVAR* C C C PURPOSE. C -------- C INITIALIZE CONSTANTS AND VARIABLES. C C** INTERFACE. C ---------- C C *CALL* *BUEVAR(KERR)* C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C GETENV - GETS VALUE OF AN ENVIRONMENT VARIABLE. C EMOSNUM - GIVES CURRENT EMOSLIB VERSION NUMBER. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/03/92. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomatb.F" # include "bcombef.F" # include "bcomwork.F" # include "bcomwt.F" # include "bcomroot.F" # include "bcprq.F" # include "bcomtabload.F" # include "bcomtabloadc.F" # include "bcomoff.F" C CHARACTER*256 CROOT, HDEFAULT,CPRINT CHARACTER*9 STD_OUT,YKNTN, CTU CHARACTER*24 CTABLE_LIST,CCTABBU CHARACTER*64 CCTABBEN LOGICAL OPRINT,OS4 C INTEGER IEMOSNM #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C EXTERNAL FUNCTIONS C INTEGER EMOSNUM EXTERNAL EMOSNUM #ifdef TABLE_PATH DATA HDEFAULT / TABLE_PATH / #else DATA HDEFAULT / '' / #endif C C ------------------------------------------------------------------ C* 1. INITIALIZE VARIABLES AND CONSTANTS. C ----------------------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C NJA= 0 M =0 MM =0 N =0 JCV=0 NBPW=JBPW NWPT=0 NBPT=0 NWPTB=0 NBPTB=0 NSTOP=2147483647 NVIND=2147483647 RVIND=1.7D38 EPS=10.D-7 NBENP=0 NLTVNP=0 NWWP=0 NXXP=0 NYYP=0 NZZP=0 NTC=0 NTT=0 NDWINC=0 NSCAM=0 NSCAM07=0 NDWINC07=0 N07=0 NAFDW=0 NFD=0 NWT=0 ODREPF=.FALSE. OS4=.FALSE. N221=0 N40=0 MREL=0 NFCM=0 MBMP=0 MBMPL=0 OMARKER=.FALSE. CROOT=' ' NREP=0 OREP=.false. N08=0 NSSP=0 C C STANDARD OUTPUT UNIT NUMBER C STD_OUT=' ' YKNTN=' ' CALL GETENV('STD_OUT',YKNTN) INKNTN=INDEX(YKNTN,' ') IF(INKNTN.EQ.1) THEN KNTN=6 ELSE READ(YKNTN,'(I3.3)') KNTN END IF C C CHECK SECTION 4 SIZE CS4=' ' CALL GETENV('CHECK_S4',CS4) ILNG=INDEX(CS4,' ') IF(ILNG.LE.1) THEN OS4=.false. ELSEIF(CS4(1:4).EQ.'TRUE'.or.CS4(1:4).EQ.'true') then OS4=.true. END IF C CALL GETENV('USE_TABLE_C',CTU) ILNG=INDEX(CTU,' ') IF(ILNG.LE.1) THEN OCTABLE=.false. ELSEIF(CTU(1:4).eq.'true'.or.CTU.eq.'TRUE') then OCTABLE=.true. END IF CALL GETENV('BUFR_TABLES',CROOT) ILNG=INDEX(CROOT,' ') IF(ILNG.LE.1) THEN ILNG=INDEX(HDEFAULT,' ') - 1 IF(ILNG.GT.0) THEN CROOT = HDEFAULT(1:ILNG)//'/bufrtables/' ELSE CROOT='/home/ma/emos/tables/bufr/text/' C C SGI/HP/SUN BUFR TABLES PATH C C C ADD VERSION NUMBER C ILNG=INDEX(CROOT,' ') IEMOSNM = EMOSNUM(1) WRITE(CROOT(ILNG:ILNG+5),'(I6.6)') IEMOSNM CROOT(ILNG+6:) = '/' ENDIF ENDIF C CPRINT=' ' OPRINT=.TRUE. CALL GETENV('PRINT_TABLE_NAMES',CPRINT) ILN=INDEX(CPRINT,' ') IF(ILN.LE.1) THEN OPRINT=.TRUE. ELSE IF(CPRINT(1:ILN-1).EQ.'FALSE'.OR. 1 CPRINT(1:ILN-1).EQ.'false') OPRINT=.FALSE. END IF IF(OPRINT) THEN C WRITE(KNTN,'(1H ,A)') ' ECMWF ' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A,A)') ' BUFR DECODING SOFTWARE', 1' VERSION - 7.2 ' WRITE(KNTN,'(1H ,A)') ' 1 APRIL 2007. ' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A)') 'Your path for bufr tables is :' WRITE(KNTN,'(1H ,A)') CROOT(1:ILNG+6) END IF C DO 101 I=1,JBPW-2 NMASK(I)=2**I-1 101 CONTINUE IF(JBPW.EQ.32) THEN NMASK(31)=2147483647 END IF C IF(NPMISS.LT.0.OR.NPMISS.GT.1) NPMISS=0 IF(NPRUS.LT.0.OR.NPRUS.GT.1) NPRUS=0 IF(NOKEY.LT.0.OR.NOKEY.GT.1) NOKEY=0 IF(NOFL.LT.0.OR.NOFL.GT.1) NOFL=0 C RETURN END emoslib-000392+dfsg.1/bufrdc/bcmroot.F0000755000175000017500000000102612127406245020501 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C COMMON /BCMROOT/ CROOT,OPRINT C C CROOT - PATH FOR BUFR TABLES C OPRINT - LOGICAL SWITCH TO PRINT TABLE NAMES C emoslib-000392+dfsg.1/bufrdc/bcomtab.F0000755000175000017500000000222612127406245020446 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMTAB/ NTABBTR(JTAB),NTABBS (JTAB),NTABBRV(JTAB), 1 NTABBDW(JTAB),NTABDTR(JTAB),NTABDST(JTAB), 2 NTABDL (JTAB),NTABDSQ(JTAB*20),NTABP(64,256) C C NTABBTR - TABLE B, TABLE REFERENCE ARRAY C NTABBS - TABLE B, SCALE ARRAY C NTABBRF - TABLE B, REFERENCE VALUE ARRAY C NTABBDW - TABLE B, DATA WIDTH ARRAY C NTABDTR - TABLE D, TABLE REFERENCE ARRAY C NTABDST - TABLE D, STARTING POINTERS ARRAY C NTABDL - TABLE D, LENGTHS ARRAY C NTABDSQ - TABLE D, LIST OF SEQUENCE DESCRIPTORS ARRAY C C emoslib-000392+dfsg.1/bufrdc/bcprq.F0000755000175000017500000000066412127406245020152 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCPRQ/ NPMISS,NPRUS,NOKEY,NOFL C emoslib-000392+dfsg.1/bufrdc/bcombef.F0000755000175000017500000000115112127406245020430 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMBEF / M,MM,N,JCV C C M - NUMBER OF ELEMENTS C MM - NUMBER OF ELEMENTS C N - NUMBER OF DATA SUB_SETS C JCV - NUMBER OF CHARACTER VALUES C emoslib-000392+dfsg.1/bufrdc/bcomct.F0000755000175000017500000000147112127406245020307 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMCT/ NREF(JCTAB) ,NSTART(JCTAB) ,NLEN(JCTAB), 1 NCODNUM(JCTST),NSTARTC(JCTST), 2 NLENC(JCTST) C C NREF - TABLE C REFERENCE C NSTART - STARTING POINTERS TO ARRAY NCODNUM C NLEN - LENGTHS C NCODNUM - CODE/FLAG TABLE NUMBER C NSTARTC - STARTING POINTERS TO ARRAY CTEXT C NLENC - LENGTHS C emoslib-000392+dfsg.1/bufrdc/bcmwork.F0000755000175000017500000000256312127406245020507 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C COMMON /BCMWORK/ RVIND,EPS,NBPW,NWPT,NBPT,NWPTB,NBPTB,NMASK(JBPW) 1, NVIND,NBENP,NLTVNP,NWWP,NXXP,NYYP 2, NZZP,NSSP,NEDN C C NBPW - NUMBER OF BITS PER COMPUTER WORD C NWPT - WORD POINTER C NBPT - BIT POINTER C NWPTB - POINTER TO WORD AT THE BEGINING OF NEXT SECTION C NBPTB - POINTER TO BIT AT THE BEGINING OF NEXT SECTION C NMASK - BIT MASK ARRAY C NVIND - MISSING VALUE INDICATOR (INTEGER) C RVIND - MISSING VALUE INDICATOR (REAL) C NBENP - PREVIOUS BUFR EDITION NUMBER C NLTVNP - PREVIOUS LOCAL TABLE VERSION NUMBER C NXXP - BUFR MASTER TABLE USED C NYYP - VERSION NUMBER OF MASTER TABLE USED C NZZP - VERSION NUMBER OF LOCAL TABLE USED C NEDN - BUFR EDITION emoslib-000392+dfsg.1/bufrdc/bucrkey.F0000755000175000017500000001534212127406245020506 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUCRKEY(KELEM,KTDEXP,KSUP,KSEC1,KSEC3,KEY, 1 VALUES,CVALS,KERR) C**** *BUCRKEY* C C C PURPOSE. C -------- C C EXTRACT ELEMENTS NEEDED FOR RDB KEY DEFINITION C FROM VALUES AND CVALS ARRAYS. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C C M. DRAGOSAVAC *ECMWF* 06/06/99. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C C ------------------------------------------------------------- DIMENSION KEY(*),KSUP(*),KSEC1(*),KTDEXP(*) #ifndef R_4 REAL*8 EPS, RVIND REAL*8 VALUES(*) REAL*8 RMINLAT, RMINLON, RMAXLAT, RMAXLON #else REAL EPS, RVIND REAL VALUES(*) REAL RMINLAT, RMINLON, RMAXLAT, RMAXLON #endif DIMENSION KSEC3(*) CHARACTER*(*)CVALS(*) CHARACTER*5 CBLOCK C 100 CONTINUE C C IPAID - AIRCRAFT FLIGHT NUMBER INDEX C IPSID - SATELLITE IDENTIFIER INDEX C IPBUOY - BUOY/PLATFORM IDENTIFIER INDEX C IPARN - AIRCRAFT REGISTRATION NUMBER INDEX C IPMET - METAR ICAO ID C IPSHIP - SHIPS' CALL SIGN INDEX C IPBLOK - WMO BLOCK NUMBER INDEX C IPSTAT - WMO STATION NUMBER INDEX C IPYEAR - YEAR INDEX C IPMONTH - MONTH INDEX C IPDAY - DAY INDEX C IPHOUR - HOUR INDEX C IPMINUTE - MINUTE INDEX C IPSECOND - SECOND INDEX C IPLAT - LATITUDE INDEX C IPLON - LONGITUDE INDEX C IPLAT - LATITUDE INDEX C IPLON - LONGITUDE INDEX C KERR=0 EPS=10.D-7 RVIND=1.7D38 IPAID=0 IPSID=0 IPBUOY=0 IPARN=0 IPMET=0 IPSHIP=0 IPBLOK=0 IPSTAT=0 IPYEAR=0 IPMONTH=0 IPDAY=0 IPHOUR=0 IPMINUTE=0 IPSECOND=0 IPLAT=0 IPLON=0 DO 107 I=16,24 KEY(I)=32 107 CONTINUE C IEND = 26 IF( KSEC1(7).EQ.57 ) IEND = 36 DO 101 I=1,IEND IF(KTDEXP(I).EQ.001006) IPAID=I IF(KTDEXP(I).EQ.001007) IPSID=I IF(KTDEXP(I).EQ.001005) IPBUOY=I C IF(KTDEXP(I).EQ.001008) IPARN=I IF(KTDEXP(I).EQ.001194) IPAID=I IF(KTDEXP(I).EQ.001063) IPMET=I IF(KTDEXP(I).EQ.001011) IPSHIP=I IF(KTDEXP(I).EQ.001001) IPBLOK=I IF(KTDEXP(I).EQ.001002) IPSTAT=I IF(KTDEXP(I).EQ.004001) IPYEAR=I IF(KTDEXP(I).EQ.004002) IPMONTH=I IF(KTDEXP(I).EQ.004003) IPDAY=I IF(KTDEXP(I).EQ.004004) IPHOUR=I IF(KTDEXP(I).EQ.004005) IPMINUTE=I IF(KTDEXP(I).EQ.004006) IPSECOND=I IF(KTDEXP(I).EQ.005001) IPLAT=I IF(KTDEXP(I).EQ.006001) IPLON=I IF(KTDEXP(I).EQ.005002) IPLAT=I IF(KTDEXP(I).EQ.006002) IPLON=I 101 CONTINUE C KEY(4)=VALUES(IPYEAR) KEY(5)=VALUES(IPMONTH) KEY(6)=VALUES(IPDAY) KEY(7)=VALUES(IPHOUR) KEY(8)=VALUES(IPMINUTE) IF(IPSECOND.NE.0) KEY(9)=VALUES(IPSECOND) C IF((ABS(VALUES(IPLON)-RVIND))/RVIND.LT.EPS.OR. 1 (ABS(VALUES(IPLAT)-RVIND))/RVIND.LT.EPS) THEN KERR=1 PRINT*,'FOUND VALUES(IPLON)=',VALUES(IPLON) PRINT*,'FOUND VALUES(IPLAT)=',VALUES(IPLAT) RETURN ELSE CALL FMMH( IPLAT,IPLON,KELEM,VALUES,KSEC3,RMINLAT,RMINLON, 1 RMAXLAT,RMAXLON) KEY(10)=NINT(RMINLON*100000.+18000000) KEY(11)=NINT(RMINLAT*100000.+9000000) KEY(12)=NINT(RMAXLON*100000.+18000000) KEY(13)=NINT(RMAXLAT*100000.+9000000) END IF C KEY(14)=KSEC3(3) C C SATELITTE ID C KEY(15)=0 DO IS=16,24 KEY(IS)=32 END DO IF(IPSID.NE.0) THEN KEY(15)=VALUES(IPSID) END IF C C WMO BLOCK AND STATION NUMBER C IF(IPBLOK.NE.0) THEN IF(ABS(VALUES(IPBLOK)-RVIND)/RVIND.LT.EPS) THEN KERR=1 PRINT*,'FOUND VALUES(IPBLOK)=',VALUES(IPBLOK) RETURN END IF IF(ABS(VALUES(IPSTAT)-RVIND)/RVIND.LT.EPS) THEN KERR=1 PRINT*,'FOUND VALUES(IPSTAT)=',VALUES(IPSTAT) RETURN END IF KEY(16)=NINT(VALUES(IPBLOK))*1000+NINT(VALUES(IPSTAT)) WRITE(CBLOCK,'(I5.5)') KEY(16) J=15 DO 105 I=1,5 KEY(J+I)=ICHAR(CBLOCK(I:I)) 105 CONTINUE END IF C C BUOY/PALTFORM ID C IF(IPBUOY.NE.0) THEN IF(ABS(VALUES(IPBUOY)-RVIND)/RVIND.LT.EPS) THEN KERR=1 PRINT*,'FOUND VALUES(IPBUOY)=',VALUES(IPBUOY) RETURN END IF KEY(16)=NINT(VALUES(IPBUOY)) WRITE(CBLOCK,'(I5.5)') KEY(16) J=15 DO 106 I=1,5 KEY(J+I)=ICHAR(CBLOCK(I:I)) 106 CONTINUE END IF C C AIRCRAFT IDENTIFIER C IF(IPAID.NE.0) THEN IF(ABS(VALUES(IPAID)-RVIND)/RVIND.LT.EPS) THEN KERR=1 PRINT*,'FOUND VALUES(IPAID)=',VALUES(IPAID) RETURN END IF IP=(VALUES(IPAID)/1000) INCH=NINT(VALUES(IPAID)-IP*1000) J=15 DO 102 I=1,INCH KEY(J+I)=ICHAR(CVALS(IP)(I:I)) 102 CONTINUE END IF C C AIRCRAFT REGISTRATION NUMBER C IF(IPARN.NE.0) THEN IF(ABS(VALUES(IPARN)-RVIND)/RVIND.LT.EPS) THEN KERR=1 PRINT*,'FOUND VALUES(IPARN)=',VALUES(IPARN) RETURN END IF IP=(VALUES(IPARN)/1000) INCH=NINT(VALUES(IPARN)-IP*1000) J=15 DO 103 I=1,INCH KEY(J+I)=ICHAR(CVALS(IP)(I:I)) 103 CONTINUE END IF C C SHIP'S CALL SIGN C IF(IPSHIP.NE.0) THEN IF(ABS(VALUES(IPSHIP)-RVIND)/RVIND.LT.EPS) THEN KERR=1 PRINT*,'FOUND VALUES(IPSHIP)=',VALUES(IPSHIP) RETURN END IF IP=(VALUES(IPSHIP)/1000) INCH=NINT(VALUES(IPSHIP)-IP*1000) J=15 DO 104 I=1,INCH KEY(J+I)=ICHAR(CVALS(IP)(I:I)) 104 CONTINUE END IF C C METAR ID C IF(IPMET.NE.0) THEN IF(ABS(VALUES(IPMET)-RVIND)/RVIND.LT.EPS) THEN KERR=1 PRINT*,'FOUND VALUES(IPMET)=',VALUES(IPMET) RETURN END IF IP=(VALUES(IPMET)/1000) INCH=NINT(VALUES(IPMET)-IP*1000) J=15 DO 194 I=1,INCH KEY(J+I)=ICHAR(CVALS(IP)(I:I)) 194 CONTINUE END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/bcomdefc.F0000755000175000017500000000107712127406245020604 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMDEFC/ CECMWF,CUSER C C CECMWF - CHARACTER STRING TO CONTROL DEFAULT SET UP C CUSER - CHARACTER STRING TO CONTROL USER SET UP C emoslib-000392+dfsg.1/bufrdc/burepc.F0000755000175000017500000001677112127406245020331 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUREPC(KPT,KDLEN,KDATA,KJ,KJ1,KDD,KSTACK,KERR) C C**** *BUREPC* C C C PURPOSE. C -------- C RESOLVE DATA DESCRIPTOR REPLICATION PROBLEM. C C C** INTERFACE. C ---------- C C *CALL* *BUREPC(KPT,KDLEN,KDATA,KJ,KJ1,KDD,KSTACK,KERR)* C C INPUT : C *KPT* - POINTER TOO KDATA ARRAY C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DATA DESCRIPTOR C EXPANSION C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KJ* - POINTER TO KSTACK ARRAY C *KJ1* - POINTER TO LAST ELEMENT IN KSTACK C *KSTACK* - LIST OF DATA DESCRIPTORS C *KERR* - RETURN CODE C C METHOD. C ------- C NONE. C C EXTERNALS. C ---------- C C BUETDR - RESOLVE TABLE D REFERENCE C BUEPWT - UPDATE WORKING TABLES C GBYTE - UNPACK BIT PATHERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmbef.F" C CHARACTER CWTEN*64,CWTU*24 DIMENSION ILIST(JELEM) DIMENSION KSTACK(*) DIMENSION KDATA(KDLEN) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C ------------------------------------------------------------------ C C* 1. STORE K, NUMBER OF DESCRIPTORS TO BE REPLICATED. C ------------------------------------------------ 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 K = IX IF(IY.EQ.0) ODREPF=.TRUE. C C* 1.1 DELAYED REPLICATION ? C --------------------- 110 CONTINUE C IF( IY .NE. 0 ) THEN C C* 1.2 STORE NUMBER OF DESCRIPTORS, K, AND REPLICATION C ----------------------------------------------- C FACTOR JR. C ---------- 120 CONTINUE C JR = IY GO TO 500 END IF C C ------------------------------------------------------------------ C C* 2. GET NEXT DESCRIPTOR. C -------------------- 200 CONTINUE C KJ =KJ + 1 KDD= KSTACK(KJ) C C ------------------------------------------------------------------ C C* 2.1 REPLICATION FACTOR ? C -------------------- 210 CONTINUE C IF(KDD.NE.31001.AND.KDD.NE.31002.AND. 1 KDD.NE.31000.AND. 1 KDD.NE.31011.AND.KDD.NE.31012 )THEN C C* 2.1.1 SEQUENCE DESCRIPTOR ? C --------------------- C IF=KDD/100000 C IF( IF.EQ.3) THEN C C* 2.1.1.1 SOLVE TABLE D REFERENCE. C ------------------------ CALL BUETDR(KJ,KJ1,KDD,KSTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NSTACK(IQ)=0. 252 CONTINUE RETURN END IF GO TO 200 END IF C IF( IF.EQ.2) THEN CALL BUOPERC(KPT,KDLEN,KDATA,KJ,KDD,KSTACK,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF GO TO 200 END IF C KERR=36 CALL BUERR(KERR) RETURN END IF C C ------------------------------------------------------------------ C C* 3. UPDATE WORKING TABLE. C --------------------- 300 CONTINUE C IF(KDD.EQ.31031.OR.KDD.EQ.31192) THEN NWT=NWT+1 NWTR(NWT)=KDD NWTS(NWT)=0 NWTRV(NWT)=0 NWTDW(NWT)=1 M=M+1 ELSEIF(KDD.EQ.33007.OR.KDD.EQ.63192) THEN NWT=NWT+1 NWTR(NWT)=KDD NWTS(NWT)=0 NWTRV(NWT)=0 NWTDW(NWT)=7 M=M+1 ELSE CALL BUEPWTC (KDD,KERR) IF(KERR.GT.0) RETURN IF(KDD.EQ.031011.OR.KDD.EQ.031012) RETURN END IF C C ------------------------------------------------------------------ C C* 4. STORE JR, THE REPLICATION FACTOR FROM DATA. C ------------------------------------------------------ 400 CONTINUE C KPT=KPT+1 IF(KPT.GT.KDLEN) THEN KERR=31 CALL BUERR(KERR) RETURN END IF JR=KDATA(KPT) C IF(JR.EQ.0) THEN C KERR=18 C CALL BUERR(KERR) C RETURN C END IF C IF(JR.EQ.0) THEN KJ=KJ+K GO TO 640 END IF C JRTK=JR*K+KJ1-K IF(JRTK.GT.JELEM) THEN KERR=30 CALL BUERR(KERR) RETURN END IF C C CHECK IF NEXT DESCRIPTOR CANCEL OPERATOR FOR DELAYED C REPLICATION C IIIF=KSTACK(KJ+1)/100000 IIII=KSTACK(KJ+1)-IIIF*100000 IIIX=IIII/1000 IIIY=IIII-IIIX*1000 C IF(IIIF.EQ.2.AND.IIIY.EQ.0) THEN KJ=KJ+1 CALL BUOPERC(KPT,KDLEN,KDATA,KJ,KSTACK(KJ),KSTACK,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF END IF C ------------------------------------------------------------------ C* 5. GET NEXT K DESCRIPTORS. C ----------------------- 500 CONTINUE C DO 501 J=1,K C ILIST(J)=KSTACK(KJ+J) C 501 CONTINUE C C ------------------------------------------------------------------ C* 6. ADD JR TIMES K DESCRIPTORS IN PLACE OF K C ---------------------------------------- C DESCRIPTORS OBTAINED. C --------------------- 600 CONTINUE C C ------------------------------------------------------------------ C* 6.1 PUSH DOWN DESCRIPTORS IN KSTACK FOR (JR-1)*K PLACES C --------------------------------------------------- C STARTING AT KJ1 AND ENDING AT KJ+K. C ----------------------------------- 610 CONTINUE C JRKM1=(JR-1)*K C DO 611 J=KJ1,KJ+K,-1 C KSTACK(J+JRKM1)=KSTACK(J) C 611 CONTINUE C C* 6.2 INSERT LIST IN THE STACK. C ------------------------- 620 CONTINUE C DO 622 J=1,JR C KJJM1K=KJ+(J-1)*K C DO 623 J1=1,K C KSTACK(KJJM1K+J1)=ILIST(J1) C 623 CONTINUE 622 CONTINUE C C ------------------------------------------------------------------ C* 6.3 ADJUST DESCRIPTOR COUNT FOR LIST LENGTH. C ---------------------------------------- 630 CONTINUE C KJ1 = KJ1 + (JR-1)*K C C ------------------------------------------------------------------ C* 6.4 ADJUST NUMBER OF DATA DESCRIPTORS NOT PRESENT. C ---------------------------------------------- 640 CONTINUE C IF(N221.NE.0) N221= KJ1 - KJ + 1 C C ------------------------------------------------------------------ 700 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/getcode.F0000755000175000017500000000432112127406245020447 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETCODE(KREF,KCODE,YCODE,KERR) C C**** *GETCODE* C C C PURPOSE. C -------- C C The main purpose of the subroutine is to get text C associated with code number C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 2008. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcomwork.F" # include "bcomtab.F" # include "bcomtabc.F" # include "bcomct.F" # include "bcomctc.F" # include "bcomroot.F" C# include "bcomtabload.F" C# include "bcomtabloadc.F" C CHARACTER*64 CTEXT CHARACTER*64 CTABBEN CHARACTER*24 CTABBU CHARACTER*256 YCODE C C C ------------------------------------------------------------------ C* 1. SET INITIAL CONSTANTS AND POINTERS C ---------------------------------- 100 CONTINUE C kerr=0 C ycode=' ' do i=1,JCTAB if(nref(i).eq.kref) go to 200 end do ycode(1:)='CODE ENTRY NOT KNOWN' return c 200 continue ipt=nstart(i) do i=ipt,ipt+nlen(i)-1 if(ncodnum(i).eq.KCODE) then iptc=nstartc(i) ii=1 iptc1=nlenc(i)+iptc-1 do j=iptc,iptc1 do k=64,1,-1 if(ctext(j)(k:k).ne.' ') then iz=k go to 201 end if end do 201 ycode(ii:ii+iz-1)=ctext(j)(1:iz) ii=ii+iz end do go to 300 end if end do ycode(1:)='CODE ENTRY NOT KNOWN' C 300 continue return END emoslib-000392+dfsg.1/bufrdc/bcmdefc.F0000755000175000017500000000101212127406245020412 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMDEFC/ CECMWF,CUSER C C CECMWF - CHARACTER STRING TO CONTROL DEFAULT SET UP C CUSER emoslib-000392+dfsg.1/bufrdc/busel.F0000755000175000017500000000406112127406245020150 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUSEL(KTDLEN,KTDLST,KTDEXL,KTDEXP,KERR) C C**** *BUSEL* C C C PURPOSE. C -------- C RETURNS LIST OF DATA DESCRIPTORS AS IN SECTION 3 OF BUFR C MESSAGE AND TOTAL/REQUESTED LIST OF ELEMENTS. C C C** INTERFACE. C ---------- C C *CALL* *BUSEL(KTDLEN,KTDLST,KTDEXL,KTDEXP,KERR)* C C C OUTPUT: C *KTDLEN* - NUMBER OF DATA DESCRIPTORS IN SECTION 3 C *KTDLST* - ARRAY CONTAINING DATA DESCRIPTORS IN SECTION 3 C *KTDEXL* - NUMBER OF ENTRIES IN LIST OF EXPANDED DATA C DESCRIPTORS C *KTDEXP* - ARRAY CONTAINIG EXPANDED DATA DESCRIPTORS C *KERR* - RETURNED ERROR CODE C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomel.F" C DIMENSION KTDLST(*),KTDEXP(*) C C C ----------------------------------------------------------------- C* 1. PUT LIST OF ELEMENTS FROM COMMON BLOCK C -------------------------------------- C TO REQUESTED ARRAYS. C -------------------- 100 CONTINUE C KERR=0 C KTDLEN=NTDLEN KTDEXL=NTDEXL C DO 101 I=1,NTDLEN KTDLST(I)=NTDLST(I) 101 CONTINUE C DO 102 I=1,NTDEXL KTDEXP(I)=NTDEXP(I) 102 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/bus012.F0000755000175000017500000001537612127406245020065 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUS012( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KERR) C C**** *BUS012* C C C PURPOSE. C -------- C EXPANDS SECTION 0,1 AND 2 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUS012( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C OUTPUT: C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C *KSEC2* - ARRAY CONTAINING SECTION 2 INFORMATION C KSEC2( 1)-- LENGTH OF SECTION 2 (BYTES) C KSEC2( 2) TO KSEC2(47) RDB KEY C *KERR* - RETURNED ERROR CODE C C METHOD. C -------- C C NONE. C C EXTERNALS. C ---------- C C BUEXS0 - UNPACK SECTION 0 C BUEXS1 - UNPACK SECTION 1 C BUEXS2 - UNPACK SECTION 2 C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/07/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomwt.F" # include "bcomdefc.F" # include "bcomreq.F" C DIMENSION KBUFF(KBUFL) DIMENSION KSUP(*),KSEC0(*),KSEC1(*) DIMENSION KSEC2(*) DIMENSION KSEC3(JSEC3) #ifndef R_4 REAL*8 RVIND REAL*8 EPS REAL*8 RQVAL #else REAL RVIND REAL EPS REAL RQVAL #endif C CHARACTER*4 CECMWF,CUSER C C ------------------------------------------------------------------ C* 1. SET CONSTANTS. C -------------- 100 CONTINUE C KERR=0 C IF(CECMWF.NE.'ECMF') THEN CALL BUEVAR(KERR) CECMWF='ECMF' END IF C IF(CUSER.NE.'USER') THEN NREQ(1)=0 NREQ(2)=0 NRQL=0 END IF C ----------------------------------------------------------------- C C* 2. EXPAND SECTION 0. C ----------------- 200 CONTINUE C CALL BUEXS0( KBUFL,KBUFF,KSUP,KSEC0,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C C* 3. EXPAND SECTION 1. C ------------------ 300 CONTINUE C CALL BUEXS1( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C C* 4. EXPAND SECTION 2. C ----------------- 400 CONTINUE C CALL BUEXS2( KBUFL,KBUFF,KSUP,KSEC1,KSEC2,KERR ) IF(KERR.GT.0) RETURN C C* 5. EXPAND SECTION 3 (PRELIMINARY ITEMS). C ------------------------------------- 500 CONTINUE C CALL BUEXS3P(KBUFL,KBUFF,KSUP,KSEC3,KERR) C RETURN END emoslib-000392+dfsg.1/bufrdc/bcmoff.F0000755000175000017500000000066212127406245020275 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMOFF/ NWP,NBP,NSUBSET,OMULTI emoslib-000392+dfsg.1/bufrdc/dtable.F0000755000175000017500000001131512127406245020271 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DTABLE(YNAME,KERR) C C**** *DTABLE* C C C PURPOSE. C -------- C THE MAIN PURPOSE OF THIS PROGRAMME IS TO CREATE WORKING C TABLE OF SEQUENCE DESCRIPTORS FOR *BUFR* DECODING. C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, *FM 94 BUFR*. C C J.K.GIBSON AND *M.DRAGOSAVAC,1987:* DECODING *DATA *REPRESENTATION C *FM 94 BUFR*,*TECHNICAL *MEMORANDUM *NO. C C J.K.GIBSON,1986:*EMOS 2 - *STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE *,*TECHICAL MEMORANDUM *NO. C *ECMWF*. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcomwork.F" # include "bcomtab.F" # include "bcomtabc.F" # include "bcomct.F" # include "bcomctc.F" # include "bcomroot.F" # include "bcomtabload.F" # include "bcomtabloadc.F" C CHARACTER*64 CTABBEN,CCTABBEN CHARACTER*24 CTABBU,CCTABBU,CTABLE_LIST CHARACTER*120 YENTRY CHARACTER*256 YFNAME CHARACTER*(*) YNAME REAL*8 RVIND,EPS C C ------------------------------------------------------------------ C* 1. SET INITIAL CONSTANTS. C ---------------------- 100 CONTINUE C KERR=0 J =0 IST=1 YFNAME=' ' C DO 101 I=1,JTAB NTABDTR(I)=999999 NTABDL (I)=0 NTABDST(I)=0 101 CONTINUE C DO 102 I=1,JTAB*20 NTABDSQ(I)=0 102 CONTINUE C II=INDEX(YNAME,' ') II=II-1 YFNAME=YNAME(1:II) II=INDEX(YFNAME,' ') II=II-1 CALL GET_FREE_UNIT(IUNIT) OPEN(UNIT=IUNIT,iostat=ios,FILE=YFNAME(1:II),STATUS='OLD') IF(IOS.NE.0) THEN print*,'Open error on ',YFNAME(1:II) kerr=63 return END IF C C ------------------------------------------------------------------ C* 2. READ IN TABLE D C --------------- C 200 CONTINUE C READ(IUNIT,'(A)',IOSTAT=IOS,END=300) YENTRY IF(IOS.NE.0) THEN print*,'Read error ',ios kerr=8 return END IF C J=J+1 C IF(J.GT.JTAB) THEN PRINT*,' DIMENSION TOO SMALL J=',J KERR=64 RETURN END IF C C ------------------------------------------------------------------ C* 2.1 SET ARRAYS FOR TABLE REFERENCE, DATA LENGTH, C* STARTING POINTER AND SEQUENCE DESCRIPTORS. C 210 CONTINUE C C READ(YENTRY,'(1X,I6,I3)') NTABDTR(J),NTABDL (J) C IF(J.EQ.1) THEN IST=1 NTABDST(J)=IST ELSE IST=IST + NTABDL(J-1) NTABDST(J)=IST END IF C IF(NTABDL(J).GT.1) THEN READ(YENTRY,'(11X,I6)') NTABDSQ(IST) IIST=IST C DO 220 JA=1,NTABDL(J)-1 IIST=IIST+1 READ(IUNIT,'(A)',END=300) YENTRY READ(YENTRY,'(11X,I6)') NTABDSQ(IIST) 220 CONTINUE C ELSE READ(YENTRY,'(11X,I6)') NTABDSQ(IST) END IF C C C WRITE(*,1000) NTABDTR(J),NTABDL(J),NTABDST(J), C 1 (NTABDSQ(I),I=NTABDST(J),NTABDL(J)+NTABDST(J)-1) C C1000 FORMAT(1H ,I6,I3,1X,I6,1X,I6/ (18X,I6)) C GO TO 200 C C ------------------------------------------------------------------ 300 CONTINUE C IF(NTT.EQ.JTMAX.AND.NTC.NE.0) THEN DO J=1,JTAB MTABDTR(J,NTC)=NTABDTR(J) MTABDL (J,NTC)=NTABDL(J) MTABDST(J,NTC)=NTABDST(J) END DO DO J=1,JTAB*20 MTABDSQ(J,NTC)=NTABDSQ(J) END DO ELSE DO J=1,JTAB MTABDTR(J,NTT)=NTABDTR(J) MTABDL (J,NTT)=NTABDL(J) MTABDST(J,NTT)=NTABDST(J) END DO DO J=1,JTAB*20 MTABDSQ(J,NTT)=NTABDSQ(J) END DO END IF C CLOSE(IUNIT) C c WRITE(*,'(1h )') c WRITE(*,'(1h ,a,i4)')'Total number of entries in Table D is ',j C RETURN C ----------------------------------------------------------------- 400 CONTINUE C RETURN C END emoslib-000392+dfsg.1/bufrdc/bugbts.F0000755000175000017500000002074312127406245020331 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUGBTS( KSEC1,KERR ) C C**** *BUGBTS* C C C PURPOSE. C -------- C LOAD BUFR TABLE B, D AND C ACCORDING TO EDITION AND VERSION C OF BUFR CODE. C C C** INTERFACE. C ---------- C C *CALL* *BUGBTS(KSEC1,KERR)* C C OUTPUT: C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 17/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomtab.F" # include "bcomtabc.F" # include "bcomct.F" # include "bcomctc.F" # include "bcomroot.F" # include "bcomtabload.F" # include "bcomtabloadc.F" C CHARACTER*256 YTAB ,YTAC ,YTAD CHARACTER*24 YTABB,YTABC,YTABD, CTABLE_LIST CHARACTER*64 CTABBEN CHARACTER*24 CTABBU CHARACTER*64 CCTABBEN CHARACTER*24 CCTABBU CHARACTER*256 CROOT CHARACTER*64 CTEXT C LOGICAL*4 OPN #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C DIMENSION KSEC1(JSEC1) C SAVE OFIRST C C ------------------------------------------------------------------ C C* 1. GET BUFR TABLES/LOCAL BUFR TABLES. C ---------------------------------- 100 CONTINUE C IF( KERR.NE.0) RETURN C C* 2. SET UP BUFR TABLE FILE NAME. C ---------------------------- 200 CONTINUE C C C BUFR EDITION 2 NAMING CONVENTION C C BXXXXXYYZZ , CXXXXXYYZZ , DXXXXXYYZZ C C B - BUFR TABLE 'B' C C - BUFR TABLE 'C' C D - BUFR TABLE 'D' C XXXXX - ORIGINATING CENTRE C YY - VERSION NUMBER OF MASTER TABLE C USED( CURRENTLY 2 ) C ZZ - VERSION NUMBER OF LOCAL TABLE USED C C BUFR EDITION 3 NAMING CONVENTION C C BWWWXXXYYZZ , CWWWXXXYYZZ , DWWWXXXYYZZ C C B - BUFR TABLE 'B' C C - BUFR TABLE 'C' C D - BUFR TABLE 'D' C WWW - ORIGINATING SUB-CENTRE C XXX - ORIGINATING CENTRE C YY - VERSION NUMBER OF MASTER TABLE C USED( CURRENTLY 2 ) C ZZ - VERSION NUMBER OF LOCAL TABLE USED C C C BUFR EDITION 4 NAMING CONVENTION C C BSSSWWWWWXXXXXYYYZZZ , CSSSWWWWWXXXXXYYYZZZ , DSSSWWWWWXXXXXYYYZZZ C C B - BUFR TABLE 'B' C C - BUFR TABLE 'C' C D - BUFR TABLE 'D' C SSS - MASTER TABLE NUMBER ( zero for WMO tables) C WWWWWW - ORIGINATING SUB-CENTRE C XXXXXX - ORIGINATING CENTRE C YYY - VERSION NUMBER OF MASTER C TABLE USED( CURRENTLY 12 ) C ZZZ - VERSION NUMBER OF LOCAL TABLE USED C IXX=KSEC1(3) IYY=KSEC1(15) IZZ=KSEC1(08) C IF(KSEC1(2).EQ.3) THEN IWW=KSEC1(16) ISS=KSEC1(14) ELSEIF(KSEC1(2).EQ.4) THEN IWW=KSEC1(16) ISS=KSEC1(14) ELSE IWW=0 ISS=0 END IF C C IF STANDARD TABLES USED, USE WMO ORIGINATING CENTRE ID C IF(KSEC1(8).EQ.0.OR.KSEC1(8).EQ.255) THEN IXX=0 IWW=0 IZZ=0 ENDIF C IF(OFIRST) THEN IF(IWW.EQ.NWWP.AND.IXX.EQ.NXXP.AND.IYY.EQ.NYYP.AND. 1 IZZ.EQ.NZZP.AND.ISS.EQ.NSSP) RETURN END IF C OFIRST=.TRUE. C NSSP=ISS NXXP=IXX NYYP=IYY NZZP=IZZ NWWP=IWW C WRITE(YTABB,'(A1,I3.3,2(I5.5),2(I3.3),A4)') 1 'B',ISS,IWW,IXX,IYY,IZZ,'.TXT' WRITE(YTABC,'(A1,I3.3,2(I5.5),2(I3.3),A4)') 1 'C',ISS,IWW,IXX,IYY,IZZ,'.TXT' WRITE(YTABD,'(A1,I3.3,2(I5.5),2(I3.3),A4)') 1 'D',ISS,IWW,IXX,IYY,IZZ,'.TXT' C C C Find if table is already used C DO I=1,JTMAX IF(CTABLE_LIST(I).EQ.YTABB) THEN CALL GET_TABLES(I) RETURN END IF END DO IF(OPRINT) THEN IF(OCTABLE) THEN WRITE(KNTN,'(A,1X,A,A,A,A))') 'BUFR TABLES TO BE LOADED ', 1 YTABB,',',YTABC,',',YTABD ELSE WRITE(KNTN,'(A,1X,A,A,A))') 'BUFR TABLES TO BE LOADED ', 1 YTABB,',',YTABD END IF END IF C ---------------------------------------------------------------- C* 3. OPEN AND READ FILES CONTAINING BUFR TABLES. C ------------------------------------------- 300 CONTINUE C I=INDEX(CROOT,' ') IF(I.NE.0) I=I-1 C C* 3.1 READ BUFR TABLE B. C ------------------ 310 CONTINUE C YTAB=CROOT(1:I)//YTABB C CALL BTABLE(YTAB,YTABB,KERR) IF(KERR.NE.0) RETURN C C C* 3.2 READ BUFR TABLE C. C ------------------ 320 CONTINUE C IF(OCTABLE) THEN YTAC=CROOT(1:I)//YTABC C CALL CTABLE(YTAC,KERR) IF(KERR.NE.0) RETURN END IF C C C* 3.3 READ BUFR TABLE D. C ------------------ 330 CONTINUE C YTAD=CROOT(1:I)//YTABD C CALL DTABLE(YTAD,KERR) IF(KERR.NE.0) RETURN C RETURN C END emoslib-000392+dfsg.1/bufrdc/buepwt.F0000755000175000017500000001540412127406245020347 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEPWT(KDD,KERR) C C**** *BUEPWT* C C C PURPOSE. C -------- C UPDATES WORKING TABLES SETTING ELEMENT NAME,UNIT,SCALE, C REFERENCE VALUE AND DATA WIDTH. C C C** INTERFACE. C ---------- C C *CALL* *BUEPWT(KDD,KERR)* C C INPUT : C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmtab.F" # include "bcmtabc.F" # include "bcmatb.F" # include "bcmatbc.F" # include "bcmbef.F" C CHARACTER*64 CATBEN,CWTEN,CTABBEN,YWTEN CHARACTER*24 CATBU,CWTU,CTABBU,YWTU C C ------------------------------------------------------------------ C* 1. UPDATE WORKING TABLE. C --------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C ICLASS=KDD/1000 IYYY =KDD-ICLASS*1000+1 ICLASS=ICLASS+1 C C* 1.1 ASSOCIATED FIELD ? C ------------------ 110 CONTINUE C IF(NFD.EQ.0) GO TO 140 C C* 1.2 UNITS ELEMENT DESCRIPTOR ? C -------------------------- 120 CONTINUE C I=NTABP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 WRITE(KNTN,*) 'BUEPWT : ',KDD CALL BUERR(KERR) DO 1 IQ=1,JELEM NSTACK(IQ)=0. 1 CONTINUE RETURN END IF C IF(NTABBTR(I)/1000.EQ.31) GO TO 140 c IF(CTABBU(I)(1:4).EQ.'CODE') GO TO 140 c IF(CTABBU(I)(1:4).EQ.'FLAG') GO TO 140 c IF(CTABBU(I)(1:3).EQ.'NUM' ) GO TO 140 C C* 1.3 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- 130 CONTINUE C IF(N40.NE.0) THEN NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)=N40 NWTR (NWT)= 999999 NWTEN(NWT)= 0 NWTS (NWT)= 0 NWTRV(NWT)= 0 ELSE DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)=NAFDWA(I) NWTR (NWT)= 999999 NWTEN(NWT)= 0 NWTS (NWT)= 0 NWTRV(NWT)= 0 END DO END IF C M=NWT C C ------------------------------------------------------------------ C* 1.4 SEARCH AUGMENTED TABLE *B ENTRIES . C ----------------------------------- 140 CONTINUE C DO 141 J=1,NJA C IF(NATBTR(J).EQ.KDD) THEN II=J C C* MODIFY ENTRY FOR OPERATOR IN FORCE. C ----------------------------------- C C* ADD ENTRY TO WORKING TABLE. C --------------------------- C IX=KDD/1000 IF(N40.NE.0.AND.IX.NE.31) THEN NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = 0 NWTRV(NWT) = 0 NWTDW(NWT) = N40 ELSE NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = NATBS (II) + NSCAM + NSCAM07 NWTRV(NWT) = nint(NATBRV(II)*10.**N07) NWTDW(NWT) = NATBDW(II) + NDWINC + NDWINC07 END IF C C CHECK IF DATA ARE PRESENT IN DATA SECTION. C IF(N221.NE.0) THEN IX=KDD/1000 IF(IX.GT.9.AND.IX.NE.31) NWTDW(NWT)=0 N221=N221-1 END IF C c IF(NWTR(NWT).EQ.31011.OR.NWTR(NWT).EQ.31012) THEN c IF(NWTR(NWT-1).EQ.31011.OR.NWTR(NWT-1).EQ.31012) THEN c NWTDW(NWT)=0 c END IF c END IF C C* UPDATE M, CNAMES, CUNITS. C ------------------------- C CWTEN(NWT) = CATBEN(II) CWTU (NWT) = CATBU (II) NWTEN(NWT) = 0 IF(CATBU(II)(1:3).EQ.'CCI') THEN NWTEN(NWT)=658367 ELSEIF(N40.NE.0.AND.IX.NE.31.AND. 1 CATBU(II)(1:3).NE.'COD'.AND. 2 CATBU(II)(1:3).NE.'FLA') THEN NWTEN(NWT) = -999 END IF C M = NWT RETURN END IF C 141 CONTINUE C C C* 1.5 GET TABLE *B ENTRY . C --------------------- 150 CONTINUE C I=NTABP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 WRITE(KNTN,*) 'BUEPWT : ',KDD CALL BUERR(KERR) DO 2 IQ=1,JELEM NSTACK(IQ)=0. 2 CONTINUE RETURN END IF C 155 CONTINUE C C ----------------------------------------------------------------- C* 1.6 MODIFY ENTRY FOR OPERATOR IN FORCE. C ----------------------------------- 160 CONTINUE C C* ADD ENTRY TO WORKING TABLE. C --------------------------- IX=KDD/1000 IF(CTABBU(I)(1:4).EQ.'CODE'.OR. 1 CTABBU(I)(1:4).EQ.'FLAG') THEN NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = NTABBS (I) NWTRV(NWT) = NTABBRV(I) NWTDW(NWT) = NTABBDW(I) ELSEIF(N40.NE.0.AND.IX.NE.31) THEN NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = 0 NWTRV(NWT) = 0 NWTDW(NWT) = N40 ELSE NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = NTABBS (I) + NSCAM + NSCAM07 NWTRV(NWT) = nint(NTABBRV(I)*10.**N07) NWTDW(NWT) = NTABBDW(I) + NDWINC + NDWINC07 END IF C C CHECK IF DATA ARE PRESENT IN DATA SECTION. C IF(N221.NE.0) THEN IX=KDD/1000 IF(IX.GT.9.AND.IX.NE.31) NWTDW(NWT)=0 N221=N221-1 END IF C C IF(NWTR(NWT).EQ.31011.OR.NWTR(NWT).EQ.31012) THEN C IF(NWTR(NWT-1).EQ.31011.OR.NWTR(NWT-1).EQ.31012) THEN C NWTDW(NWT)=0 C END IF C END IF C 175 CONTINUE C C* 1.8 UPDATE M. C --------- 180 CONTINUE C CWTEN(NWT)= CTABBEN(I) CWTU (NWT)= CTABBU(I) NWTEN(NWT)= 0 IF(CTABBU(I)(1:3).EQ.'CCI') THEN NWTEN(NWT)=658367 IF(N08.NE.0) THEN NWTDW(NWT)=N08*8 END IF ELSE IF(N40.NE.0.AND.IX.NE.31) NWTEN(NWT) = -999 END IF C M=NWT C ------------------------------------------------------------------ C 200 CONTINUE C RETURN C END emoslib-000392+dfsg.1/bufrdc/bcmbef.F0000755000175000017500000000115012127406245020250 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMBEF / M,MM,N,JCV C C M - NUMBER OF ELEMENTS C MM - NUMBER OF ELEMENTS C N - NUMBER OF DATA SUB_SETS C JCV - NUMBER OF CHARACTER VALUES C emoslib-000392+dfsg.1/bufrdc/buens2.F0000755000175000017500000001425412127406245020241 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUENS2( KSEC1,KSEC2,KBUFL,KBUFF,KERR ) C C**** *BUENS2* C C C PURPOSE. C -------- C PACK SECTION 2 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUENS2(KSEC1,KSEC2,KBUFL,KBUFF,KERR)* C C C INPUT : C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C *KSEC2* - ARRAY CONTAINING SECTION 2 INFORMATION C KSEC2( 1)-- LENGTH OF SECTION 2 (BYTES) C KSEC2( 2) TO KSEC2(JSEC2) LOCAL ADP CENTRE C INFORMATION (PACKED FORM) C OUTPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C C C EXTERNALS. C ---------- C C BUPCK - PACK BIT PATHERN C BUOCTN - SET LENGTH OF SECTION C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 17/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" C DIMENSION KBUFF(KBUFL) DIMENSION KSEC1(JSEC1),KSEC2(JSEC2) DIMENSION IDUM(8), ISEC2(JSEC2) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C DATA IDUM/8*0/ C C ------------------------------------------------------------------ C* 1. EXPAND SECTION 2. C ----------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C DO 101 I=1,JSEC2 ISEC2(I)=0 101 CONTINUE C IF(KSEC1(5) .NE. 0 .AND. KSEC1(5) .NE.128) THEN KERR=50 CALL BUERR(KERR) RETURN END IF C IF( KSEC1(5).EQ.0) RETURN C C* 1.1 KEEP POINTERS TO THE BEGINING OF THE SECTION. C --------------------------------------------- 110 CONTINUE C IWPTB = NWPT IBPTB = NBPT C C* 1.2 PACK LENGTH OF SECTION 2. C ------------------------- CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LENGTH OF SECTION 2.' RETURN END IF CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT, 8,KERR) IF(KERR.GT.0) RETURN C C C* 1.3 LOCAL ADP CENTRE INFORMATION. C ----------------------------- C IOFF=KSEC2(1)-4 IF(IOFF.GT.0) THEN IW=2 IB=0 CALL BUNPKS(NBPW,KSEC2,ISEC2,IW,IB,8,0,IOFF,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LOCAL ADP CENTRE INFORMATION' WRITE(KNTN,*) 'IN SECTION 2.' RETURN END IF C CALL BUPKS(NBPW,KBUFF(NWPT),ISEC2,NWPT,NBPT,8,0,IOFF,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LOCAL ADP CENTRE INFORMATION' WRITE(KNTN,*) 'IN SECTION 2.' RETURN END IF END IF C C C* 1.5 SET UP LENGTH OF THE SECTION 2. C -------------------------------- 150 CONTINUE C CALL BUOCTN(IWPTB,IBPTB,KBUFL,KBUFF,KERR) IF(KERR.GT.0) RETURN C RETURN END emoslib-000392+dfsg.1/bufrdc/get_free_unit.F0000755000175000017500000000214012127406245021651 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GET_FREE_UNIT(KUNIT) C C**** *CTABLE* C C C PURPOSE. C -------- C Get free unit number C C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C C AUTHOR. C M. DRAGOSAVAC *ECMWF* JANUARY 2008. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C DO I=10,300 INQUIRE(UNIT=i,IOSTAT=IOS,OPENED=OPENED) IF(.NOT.OPENED) THEN KUNIT=I GO TO 100 END IF END DO 100 CONTINUE END emoslib-000392+dfsg.1/bufrdc/buset.F0000755000175000017500000000457212127406245020167 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUSET(KPMISS,KPRUS,KOKEY,KOFL,K1,K2,K3,K4) C C**** *BUSET* C C C PURPOSE. C -------- C SETS VARIABLE KPMISS,KPRUS,KOKEY,KOFL INTO COMMON BLOCK. C C** INTERFACE. C ---------- C C *CALL* *BUSET(KPMISS,KPRUS,KOKEY,KOFL,K1,K2,K3,K4)* C C INPUT : C *KPMISS* - INTEGER VARIABLE C 0 - DEFAULT, PAKS MAX VALUE FOR DATA WIDTH -1 BITS. C C 1 - PAKS VALUE AS MISSING VALUE C *KPRUS* - AN INTEGER C 1 - ALWAYS RECALCULATE POINTERS C *KOKEY* - 0 - DEFAULT, PACKS ECMWF RDB KEY C 1 - PACKS SECTION 2 IF NEEDED BUT NOT LENGTH C OF BUFR MESSAGE IN KEY C *KOFL* - 0 - NO CHECK ON VALUES C 1 - CHECK ON VALUES C C C METHOD. C ------- C C DURING PACKING THE VALUE TO BE PACKED CAN HAPPEN TO BE TOO BIG C TO FIT INTO CORRESPONDING DATA WIDTH. THIS SUBROUTINE ALLOWS USER C TO CHOSE BETWEEN: C C 1) PACK BIG VALUE AS MAX VALUE REPRESENTED WITH DATA WIDTH -1 C BITS (DEFAULT) C 2) PACK BIG VALUE AS MISSING VALUE C C EXTERNALS. C ---------- C C NONE C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/95. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "bcprq.F" C C ------------------------------------------------------------------ C C* 1. SET CONSTANTS. C -------------- 100 CONTINUE C IF(KPMISS.LT.0.AND.KPMISS.GT.1) KPMISS=0 IF(KPRUS.LT.0.AND.KPRUS.GT.1) KPRUS=0 IF(KOKEY.LT.0.AND.KOKEY.GT.1) NOKEY=0 IF(KOFL.LT.0.AND.KOFL.GT.1) NOFL=0 NPMISS=KPMISS NPRUS=KPRUS NOKEY=KOKEY NOFL=KOFL C RETURN END emoslib-000392+dfsg.1/bufrdc/bugtll.F0000755000175000017500000001404012127406245020325 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUGTLL(KELEM,KTDEXL,KTDEXP,KSEC1,KSEC3 , 1 KVALS, VALUES, KERR) C C**** *BUGTLL* C C C PURPOSE. C -------- C Set section 1 info for Bufr Edition 4 C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 06/11/2004. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C C DIMENSION KSEC1(*),KSEC3(*) DIMENSION KTDEXP(*) #ifndef R_4 REAL*8 VALUES(*) REAL*8 RYEAR(10000) REAL*8 RMONTH(10000) REAL*8 RDAY(10000) REAL*8 RHOUR(10000) REAL*8 RMINUTE(10000) REAL*8 RSECOND(10000) REAL*8 RMINLAT, RMINLON, RMAXLAT, RMAXLON #else REAL VALUES(*) REAL RYEAR(10000) REAL RMONTH(10000) REAL RDAY(10000) REAL RHOUR(10000) REAL RMINUTE(10000) REAL RSECOND(10000) REAL RMINLAT, RMINLON, RMAXLAT, RMAXLON #endif DIMENSION IDATE(10000) DIMENSION ITIME(10000) C C ----------------------------------------------------------------- C C 1. FIND TIME,LAT,LONG C IPYEAR=0 IPMONTH=0 IPDAY=0 IPHOUR=0 IPMINUTE=0 IPSECOND=0 IPLAT=0 IPLON=0 C DO I=1,KTDEXL IF(KTDEXP(I).EQ.004001) THEN IF(IPYEAR.EQ.0) IPYEAR=I END IF IF(KTDEXP(I).EQ.004002) THEN IF(IPMONTH.EQ.0) IPMONTH=I END IF IF(KTDEXP(I).EQ.004003) THEN IF(IPDAY.EQ.0) IPDAY=I END IF IF(KTDEXP(I).EQ.004004) THEN IF(IPHOUR.EQ.0) IPHOUR=I END IF IF(KTDEXP(I).EQ.004005) THEN IF(IPMINUTE.EQ.0) IPMINUTE=I END IF IF(KTDEXP(I).EQ.004006) THEN IF(IPSECOND.EQ.0) IPSECOND=I END IF IF(KTDEXP(I).EQ.005001) THEN IF(IPLAT.EQ.0) IPLAT=I END IF IF(KTDEXP(I).EQ.006001) THEN IF(IPLON.EQ.0) IPLON=I END IF IF(KTDEXP(I).EQ.005002) THEN IF(IPLAT.EQ.0) IPLAT=I END IF IF(KTDEXP(I).EQ.006002) THEN IF(IPLON.EQ.0) IPLON=I END IF END DO C CALL FMMH(IPLAT,IPLON,KELEM,VALUES,KSEC3,RMINLAT,RMINLON, 1 RMAXLAT,RMAXLON) C C IF(RMINLON.LT.0) RMINLON=360.0-ABS(RMINLON) C IF(RMAXLON.lt.0) RMAXLON=360.0-ABS(RMAXLON) C KSEC1(31)=NINT(RMINLAT*100000) KSEC1(32)=NINT(RMINLON*100000) KSEC1(33)=NINT(RMAXLAT*100000) KSEC1(34)=NINT(RMAXLON*100000) C J=0 IF(IPYEAR.NE.0) THEN DO I=1,KSEC3(3) IYE=IPYEAR+(I-1)*KELEM J=J+1 RYEAR(J)=VALUES(IYE) END DO ELSE DO I=1,KSEC3(3) RYEAR(I)=0. END DO END IF J=0 IF(IPMONTH.NE.0) THEN DO I=1,KSEC3(3) IMO=IPMONTH+(I-1)*KELEM J=J+1 RMONTH(J)=VALUES(IMO) END DO ELSE DO I=1,KSEC3(3) RMONTH(I)=0. END DO END IF J=0 IF(IPDAY.NE.0) THEN DO I=1,KSEC3(3) IDA=IPDAY+(I-1)*KELEM J=J+1 RDAY(J)=VALUES(IDA) END DO ELSE DO I=1,KSEC3(3) RDAY(I)=0. END DO END IF J=0 IF(IPHOUR.NE.0) THEN DO I=1,KSEC3(3) IHO=IPHOUR+(I-1)*KELEM J=J+1 RHOUR(J)=VALUES(IHO) END DO ELSE DO I=1,KSEC3(3) RHOUR(I)=0. END DO END IF J=0 IF(IPMINUTE.NE.0) THEN DO I=1,KSEC3(3) IMI=IPMINUTE+(I-1)*KELEM J=J+1 RMINUTE(J)=VALUES(IMI) END DO ELSE DO I=1,KSEC3(3) RMINUTE(I)=0. END DO END IF J=0 IF(IPSECOND.NE.0) THEN DO I=1,KSEC3(3) ISE=IPSECOND+(I-1)*KELEM J=J+1 RSECOND(J)=VALUES(ISE) END DO ELSE DO I=1,KSEC3(3) RSECOND(I)=0. END DO END IF C DO I=1,KSEC3(3) IDATE(I)=NINT(RYEAR(I))*10000+NINT(RMONTH(I))*100+NINT(RDAY(I)) ITIME(I)=NINT(RDAY(I))*1000000+NINT(RHOUR(I))*10000 1 +NINT(RMINUTE(I))*100 +NINT(RSECOND(I)) END DO C IDMAX=IDATE(1) ITMAX=ITIME(1) IDMIN=IDATE(1) ITMIN=ITIME(1) IMAX=1 IMIN=1 C DO I=1,KSEC3(3) IF(IDATE(I).GT.IDMAX) THEN IDMAX=IDATE(I) ITMAX=ITIME(I) IMAX=I ELSEIF(IDATE(I).EQ.IDMAX) THEN IF(ITIME(I).GT.ITMAX) THEN ITMAX=ITIME(I) IMAX=I END IF END IF END DO C DO I=1,KSEC3(3) IF(IDATE(I).LT.IDMIN) THEN IDMIN=IDATE(I) ITMIN=ITIME(I) IMIN=I ELSEIF(IDATE(I).EQ.IDMIN) THEN IF(ITIME(I).LT.ITMIN) THEN ITMIN=ITIME(I) IMIN=I END IF END IF END DO C KSEC1(19)=NINT(RYEAR(IMIN)) KSEC1(20)=NINT(RMONTH(IMIN)) KSEC1(21)=NINT(RDAY(IMIN)) KSEC1(22)=NINT(RHOUR(IMIN)) KSEC1(23)=NINT(RMINUTE(IMIN)) KSEC1(24)=NINT(RSECOND(IMIN)) C KSEC1(25)=NINT(RYEAR(IMAX)) KSEC1(26)=NINT(RMONTH(IMAX)) KSEC1(27)=NINT(RDAY(IMAX)) KSEC1(28)=NINT(RHOUR(IMAX)) KSEC1(29)=NINT(RMINUTE(IMAX)) KSEC1(30)=NINT(RSECOND(IMAX)) C RETURN END emoslib-000392+dfsg.1/bufrdc/dtable1.F0000755000175000017500000001130512127406245020351 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DTABLE1(YNAME,KERR) C C**** *DTABLE1* C C C PURPOSE. C -------- C THE MAIN PURPOSE OF THIS PROGRAMME IS TO CREATE WORKING C TABLE OF SEQUENCE DESCRIPTORS FOR *BUFR* DECODING. C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, *FM 94 BUFR*. C C J.K.GIBSON AND *M.DRAGOSAVAC,1987:* DECODING *DATA *REPRESENTATION C *FM 94 BUFR*,*TECHNICAL *MEMORANDUM *NO. C C J.K.GIBSON,1986:*EMOS 2 - *STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE *,*TECHICAL MEMORANDUM *NO. C *ECMWF*. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcmwork.F" # include "bcmtab.F" # include "bcmtabc.F" # include "bcmct.F" # include "bcmctc.F" # include "bcmroot.F" # include "bcmtabload.F" # include "bcmtabloadc.F" C CHARACTER*64 CTABBEN,CCTABBEN CHARACTER*24 CTABBU,CCTABBU,CTABLE_LIST CHARACTER*120 YENTRY CHARACTER*256 YFNAME CHARACTER*(*) YNAME REAL*8 RVIND,EPS C C ------------------------------------------------------------------ C* 1. SET INITIAL CONSTANTS. C ---------------------- 100 CONTINUE C KERR=0 J =0 IST=1 YFNAME=' ' C DO 101 I=1,JTAB NTABDTR(I)=999999 NTABDL (I)=0 NTABDST(I)=0 101 CONTINUE C DO 102 I=1,JTAB*20 NTABDSQ(I)=0 102 CONTINUE C II=INDEX(YNAME,' ') II=II-1 YFNAME=YNAME(1:II) II=INDEX(YFNAME,' ') II=II-1 CALL GET_FREE_UNIT(IUNIT) OPEN(UNIT=IUNIT,iostat=ios,FILE=YFNAME(1:II),STATUS='OLD') IF(IOS.NE.0) THEN print*,'Open error on ',YFNAME(1:II) kerr=63 return END IF C C ------------------------------------------------------------------ C* 2. READ IN TABLE D C --------------- C 200 CONTINUE C READ(IUNIT,'(A)',IOSTAT=IOS,END=300) YENTRY IF(IOS.NE.0) THEN print*,'Read error ',ios kerr=8 return END IF C J=J+1 C IF(J.GT.JTAB) THEN PRINT*,' DIMENSION TOO SMALL J=',J KERR=64 RETURN END IF C C ------------------------------------------------------------------ C* 2.1 SET ARRAYS FOR TABLE REFERENCE, DATA LENGTH, C* STARTING POINTER AND SEQUENCE DESCRIPTORS. C 210 CONTINUE C C READ(YENTRY,'(1X,I6,I3)') NTABDTR(J),NTABDL (J) C IF(J.EQ.1) THEN IST=1 NTABDST(J)=IST ELSE IST=IST + NTABDL(J-1) NTABDST(J)=IST END IF C IF(NTABDL(J).GT.1) THEN READ(YENTRY,'(11X,I6)') NTABDSQ(IST) IIST=IST C DO 220 JA=1,NTABDL(J)-1 IIST=IIST+1 READ(IUNIT,'(A)',END=300) YENTRY READ(YENTRY,'(11X,I6)') NTABDSQ(IIST) 220 CONTINUE C ELSE READ(YENTRY,'(11X,I6)') NTABDSQ(IST) END IF C C c WRITE(*,1000) NTABDTR(J),NTABDL(J),NTABDST(J), c 1 (NTABDSQ(I),I=NTABDST(J),NTABDL(J)+NTABDST(J)-1) C c1000 FORMAT(1H ,I6,I3,1X,I6,1X,I6/ (18X,I6)) C GO TO 200 C C ------------------------------------------------------------------ 300 CONTINUE C IF(NTT.EQ.JTMAX.AND.NTC.NE.0) THEN DO J=1,JTAB MTABDTR(J,NTC)=NTABDTR(J) MTABDL (J,NTC)=NTABDL(J) MTABDST(J,NTC)=NTABDST(J) END DO DO J=1,JTAB*20 MTABDSQ(J,NTC)=NTABDSQ(J) END DO ELSE DO J=1,JTAB MTABDTR(J,NTT)=NTABDTR(J) MTABDL (J,NTT)=NTABDL(J) MTABDST(J,NTT)=NTABDST(J) END DO DO J=1,JTAB*20 MTABDSQ(J,NTT)=NTABDSQ(J) END DO END IF CLOSE(IUNIT) C WRITE(*,'(1h )') C WRITE(*,'(1h ,a,i4)') 'Total number of entries in Table D is ',j C RETURN C ----------------------------------------------------------------- 400 CONTINUE C RETURN C END emoslib-000392+dfsg.1/bufrdc/burqc.F0000755000175000017500000006464012127406245020163 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BURQC(KBUFL,KBUFF,KELEM,CNAMES,CUNITS,KSUP,KSEC3,KERR) C C**** *BURQC* C C C PURPOSE. C -------- C C CREATE PARAMETERS NEEDED FOR PARTIAL EXPANSION OF C BUFR MESSAGE WITH COMPRESSED DATA ACCORDING TO REQUESTED C INPUT LISTS. C C C** INTERFACE. C ---------- C C *CALL* *BURQC(KBUFL,KBUFF,KELEM,CNAMES,CUNITS,KSUP,KSEC3,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C *CUNITS* - CHARACTER ARRAY CONTAINIG UNITS C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C WORD AND BIT POINTERS ARE CALCULATED FOR EVERY ELEMENT C IN THE EXPANDED LIST OF ELEMENTS. IF PARTIAL EXPANSION REQUESTED, C INDECES TO REQUIRED ELEMENTS ARE DETERMINED, AS WELL AS CORRESPONDING C QUALITY CONTROL, STATISTICS ETC. INFORMATION. C C C EXTERNALS. C ---------- C C BUNPCK - UNPACKS BIT PATTERN C BUNPKS - UNPACKS BIT PATTERN IN REPEATED WAY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcombef.F" # include "bcomwt.F" # include "bcomp.F" # include "bcomwtc.F" # include "bcomrq.F" # include "bcomreq.F" C CHARACTER*64 CWTEN CHARACTER*24 CWTU CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) C DIMENSION KSUP(JSUP),KSEC3(JSEC3) DIMENSION KBUFF(KBUFL) C DIMENSION IRQEI(JELEM),IQCI(JELEM),IQCDPI(JELEM) DIMENSION IBVAL(JELEM),IBV(JELEM) DIMENSION IC7(JELEM),IC8(JELEM),IC7R(JELEM),IC8R(JELEM) DIMENSION NQP(JELEM),ITYPE(100) C #ifndef R_4 REAL*8 RVIND REAL*8 EPS REAL*8 RQVAL REAL*8 VAL #else REAL RVIND REAL EPS REAL RQVAL REAL VAL #endif DIMENSION IMASK(8) C SAVE IBV,IBVAL C DATA IMASK /1,2,4,8,16,32,64,128/ C C C ------------------------------------------------------------------ C C* 1. DEFINE WORD/BIT POINTERS TO EVERY ELEMENT. C ------------------------------------------ 100 CONTINUE C IF(KERR.GT.0) RETURN C NFCM=1 NFUCM=0 C C CHECK REQUEST VALIDITY C IF(NREQ(1).EQ.0.AND.NREQ(2).NE.0) THEN KERR=38 CALL BUERR(KERR) RETURN END IF C MREL=0 C IBP32= 32 + NBPTB C IB1=0 IF(IAND(NREQ(2),IMASK(1)).NE.0) IB1=1 IB2=0 IF(IAND(NREQ(2),IMASK(2)).NE.0) IB2=1 IB3=0 IF(IAND(NREQ(2),IMASK(3)).NE.0) IB3=1 IB4=0 IF(IAND(NREQ(2),IMASK(4)).NE.0) IB4=1 IB5=0 IF(IAND(NREQ(2),IMASK(5)).NE.0) IB5=1 IB6=0 IF(IAND(NREQ(2),IMASK(6)).NE.0) IB6=1 C C* 1.1 COMPRESSED DATA. C ---------------- 110 CONTINUE C IBIT=IBP32 IWORD=IBIT/NBPW C NWORDP(1)=NWPTB+IWORD NBITP (1)=IBIT-IWORD*NBPW C DO 111 I=2,M+1 IWRD=NWORDP(I-1) IBTP=NBITP (I-1) C IF(NWTDW(I-1).EQ.0) THEN NBITP(I) =NBITP(I-1) NWORDP(I)=NWORDP(I-1) GO TO 111 END IF C IBTP=IBTP+NWTDW(I-1) IF(IBTP.GE.NBPW) THEN IW=IBTP/NBPW IBTP=IBTP-IW*NBPW IWRD=IWRD+IW END IF C CALL BUNPCK(NBPW,KBUFF,IDWINC,IWRD,IBTP,6,KERR) IF(KERR.GT.0) RETURN IF(IDWINC.GT.JBPW) THEN KERR=15 WRITE(KNTN,*) 'BURQC :' CALL BUERR(KERR) RETURN END IF IF(IWRD.GT.KBUFL) THEN KERR=26 WRITE(KNTN,*) 'BURQC :' CALL BUERR(KERR) RETURN END IF C IF(CWTU(I-1).EQ.'CCITTIA5') THEN NWTIWS(I-1)=NWTDW(I-1)+6+N*IDWINC*8 ELSEIF(NWTEN(I-1).EQ.-999) THEN NWTIWS(I-1)=NWTDW(I-1)+6+N*IDWINC*8 ELSE NWTIWS(I-1)=NWTDW(I-1)+6+N*IDWINC END IF C IBIT = NBITP(I-1) + NWTIWS(I-1) IWORD= IBIT/NBPW C NBITP (I)= IBIT - IWORD*NBPW NWORDP(I)= NWORDP(I-1) + IWORD C IF(NWORDP(I).GT.KBUFL) THEN KERR=26 WRITE(KNTN,*) 'BURQC :' CALL BUERR(KERR) RETURN END IF 111 CONTINUE C C ----------------------------------------------------------------- C* 2. CREATE POINTERS FOR REQUESTED ELEMENTS. C --------------------------------------- 200 CONTINUE C C C* 2.1 CHECK IF SUBSET OF ELEMENTS REQUESTED. C 210 CONTINUE C IF(NREQ(1).EQ.0) THEN DO 212 I=1,M INWTEN(I)=NWTEN(I) INWTR (I)=NWTR (I) INWTS (I)=NWTS (I) INWTDW(I)=NWTDW(I) INWTRV(I)=NWTRV(I) CNAMES(I)=CWTEN(I) CUNITS(I)=CWTU(I) INWORDP(I)=NWORDP(I) INBITP(I)=NBITP(I) 212 CONTINUE RETURN END IF C IF(NREQ(1).EQ.1) THEN DO 213 I=1,M IF(NWTR(I).GT.200000.AND. 1 NWTR(I).NE.999999) THEN MREL=I-1 GO TO 2133 END IF 213 CONTINUE MREL=M C 2133 CONTINUE J=0 IF(NRQL.EQ.0) THEN DO 2131 I=1,MREL J=J+1 INBITP(J)=NBITP(I) INWORDP(J)=NWORDP(I) INWTEN(J)=NWTEN(I) INWTR(J) =NWTR(I) INWTS(J) =NWTS(I) INWTDW(J)=NWTDW(I) INWTRV(J)=NWTRV(I) CNAMES(J)=CWTEN(I) CUNITS(J)=CWTU(I) 2131 CONTINUE C M=J RETURN ELSE M=MREL GO TO 220 END IF END IF C IF(NREQ(1).EQ.2) THEN DO 214 I=1,M IF(NWTR(I).EQ.235000) THEN M=I-1 GO TO 2141 END IF 214 CONTINUE C 2141 CONTINUE C J=0 IF(NREQ(2).EQ.0) THEN DO 2142 I=1,M J=J+1 INBITP(J)=NBITP(I) INWORDP(J)=NWORDP(I) INWTEN(J)=NWTEN(I) INWTR(J)=NWTR(I) INWTS(J)=NWTS(I) INWTDW(J)=NWTDW(I) INWTRV(J)=NWTRV(I) CNAMES(J)=CWTEN(I) CUNITS(J)=CWTU(I) 2142 CONTINUE RETURN ELSE GO TO 220 END IF END IF C IF(NREQ(1).EQ.3) THEN DO 215 I=1,M IF(NWTR(I).EQ.235000) THEN C C COPY CLASS 1 - 8 ELEMENTS C DO 2151 III=1,M IF(NWTR(III).GT.8000) THEN J=0 IF(NREQ(2).EQ.0) THEN DO 2161 II=1,III-1 J=J+1 INBITP(J)=NBITP(II) INWORDP(J)=NWORDP(II) INWTR(J)=NWTR(II) INWTS(J)=NWTS(II) INWTRV(J)=NWTRV(II) INWTDW(J)=NWTDW(II) INWTEN(J)=NWTEN(II) CNAMES(J)=CWTEN(II) CUNITS(J)=CWTU(II) 2161 CONTINUE GO TO 2160 ELSE DO 21611 II=1,III-1 J=J+1 NBITP(J)=NBITP(II) NWORDP(J)=NWORDP(II) NWTR(J)=NWTR(II) NWTS(J)=NWTS(II) NWTRV(J)=NWTRV(II) NWTDW(J)=NWTDW(II) NWTEN(J)=NWTEN(II) CWTEN(J)=CWTEN(II) CWTU(J)=CWTU(II) 21611 CONTINUE GO TO 2160 END IF END IF 2151 CONTINUE C 2160 CONTINUE C IF(NREQ(2).EQ.0) THEN DO 216 II=I+1,M J=J+1 INBITP(J)=NBITP(II) INWORDP(J)=NWORDP(II) INWTR(J)=NWTR(II) INWTS(J)=NWTS(II) INWTRV(J)=NWTRV(II) INWTDW(J)=NWTDW(II) INWTEN(J)=NWTEN(II) CNAMES(J)=CWTEN(II) CUNITS(J)=CWTU(II) 216 CONTINUE M=J RETURN ELSE DO 2169 II=I+1,M J=J+1 NBITP(J)=NBITP(II) NWORDP(J)=NWORDP(II) NWTR(J)=NWTR(II) NWTS(J)=NWTS(II) NWTRV(J)=NWTRV(II) NWTDW(J)=NWTDW(II) NWTEN(J)=NWTEN(II) CWTEN(J)=CWTEN(II) CWTU(J)=CWTU(II) 2169 CONTINUE M=J GO TO 220 END IF END IF C 215 CONTINUE C KERR=39 CALL BUERR(KERR) RETURN ELSE KERR=40 CALL BUERR(KERR) RETURN END IF C C C* 2.2 CREATE INDECES TO CLASS 7/8 C --------------------------- 220 CONTINUE C DO 225 I=1,M IF(NWTR(I).GT.200000.AND. 1 NWTR(I).NE.999999) THEN MREL=I-1 GO TO 226 END IF 225 CONTINUE C MREL=M C 226 CONTINUE C J=0 JJ=0 DO 221 I=1,MREL ICLASS=NWTR(I)/1000 IF(ICLASS.EQ.7) THEN J=J+1 IC7(J)=I END IF C IF(ICLASS.EQ.8) THEN JJ=JJ+1 IC8(JJ)=I END IF 221 CONTINUE C IC7L=J IC8L=JJ J=0 JJ=0 DO 223 I=1,NRQL ICLASS=NRQ(I)/1000 IF(ICLASS.EQ.7.AND.(ABS(RQVAL(I)-RVIND)/RVIND.GT.EPS)) THEN J=J+1 IC7R(J)=I END IF C IF(ICLASS.EQ.8.AND.(ABS(RQVAL(I)-RVIND)/RVIND.GT.EPS)) THEN JJ=JJ+1 IC8R(JJ)=I END IF 223 CONTINUE C IC7RL=J IC8RL=JJ C C* 2.3 CREATE INDECES TO THE REQUESTED ELEMENTS. C ----------------------------------------- 230 CONTINUE C IF(IC7RL.EQ.0.AND.IC8RL.EQ.0) THEN IL=MREL IRL=NRQL END IF IF(IC7RL.NE.0.AND.IC8RL.EQ.0) THEN IL=IC7(1) IRL=IC7R(1)-1 END IF IF(IC8RL.NE.0.AND.IC7RL.EQ.0) THEN IL=IC8(1) IRL=IC8R(1)-1 END IF IF(IC7RL.NE.0.AND.IC8RL.NE.0) THEN IL=IC7(1) IF(IC7(1).GT.IC8(1)) IL=IC8(1) IRL=IC7R(1) IF(IC7R(1).GT.IC8R(1)) IRL=IC8R(1) IRL=IRL-1 END IF C DO 299 I=1,MREL IRQEI(I)=0 299 CONTINUE C ORQEI=.FALSE. DO 231 I=1,IL IF(IB2.EQ.0.OR.NRQL.EQ.0) THEN ORQEI=.TRUE. IRQEI(I)=I ELSE DO 232 K=1,IRL IF(NWTR(I).EQ.NRQ(K)) THEN ORQEI=.TRUE. IRQEI(I)=I END IF 232 CONTINUE END IF 231 CONTINUE C IF(IC7RL.NE.0) THEN C C CLASS 7 SIGNIFYING C IST=1 DO 233 IJ=1,IC7RL III=IC7R(IJ) DO 234 I=IST,IC7L II=IC7(I) IBITP=NBITP(II) IWORD=NWORDP(II) CALL BUNPCK(NBPW,KBUFF,IVAL,IWORD,IBITP,NWTDW(II),KERR) IF(KERR.NE.0) THEN CALL BUERR(KERR) RETURN END IF CALL BUNPCK(NBPW,KBUFF,IDWINC,IWORD,IBITP,6,KERR) IF(KERR.NE.0) THEN CALL BUERR(KERR) RETURN END IF CALL BUNPCK(NBPW,KBUFF,INC,IWORD,IBITP,IDWINC,KERR) IF(INC.EQ.NMASK(IDWINC)) IVAL=NMASK(NWTDW(II)) C IF(IVAL.NE.NMASK(NWTDW(II))) THEN ISCALE=NWTS(II) IREF =NWTRV(II) IVAL =IVAL+IREF+INC VAL =RVIND IF(IVAL.NE.NMASK(NWTDW(II))) THEN IF(ISCALE.GT.0) THEN VAL=IVAL/10.**ISCALE ELSE IISCALE=IABS(ISCALE) VAL=IVAL*10.**IISCALE END IF END IF ELSE VAL=RVIND END IF C INEXT=IC7(I+1)-1 IF(IC7(I+1).LE.0) INEXT=MREL IF(ABS(RQVAL(III)-VAL).LT.EPS.OR. 1 ABS(RQVAL(III)-RVIND)/RVIND.LT.EPS) THEN DO 236 KI=II,INEXT IF(IB2.EQ.0) THEN ORQEI=.TRUE. IRQEI(KI)=KI ELSE IE=IC7R(IJ+1)-1 IF(IJ.EQ.IC7RL) IE=NRQL IF(IC8RL.NE.0) THEN DO 238 JA=1,IC8RL IF(IC8R(JA).GT.III.AND.IC8R(JA).LT.IE) THEN IE=IC8R(JA)-2 GO TO 298 END IF 238 CONTINUE END IF 298 CONTINUE DO 237 IK=III,IE IF(NWTR(KI).EQ.NRQ(IK)) THEN ORQEI=.TRUE. IRQEI(KI)=KI END IF 237 CONTINUE END IF 236 CONTINUE C GO TO 233 END IF 234 CONTINUE 233 CONTINUE C END IF C IF(IC8RL.NE.0) THEN C C CLASS 8 SIGNIFYING C IST=1 DO 241 IJ=1,IC8RL III=IC8R(IJ) DO 242 I=IST,IC8L II=IC8(I) IBITP=NBITP(II) IWORD=NWORDP(II) CALL GBYTE(KBUFF(IWORD),IVAL,IBITP,NWTDW(II)) ISCALE=NWTS(II) IREF =NWTRV(II) IVAL =IVAL+IREF VAL =RVIND IF(IVAL.NE.NMASK(NWTDW(II))) THEN IF(ISCALE.GT.0) THEN VAL=IVAL/10.**ISCALE ELSE IISCALE=IABS(ISCALE) VAL=IVAL*10.**IISCALE END IF END IF C INEXT=IC8(I+1)-2 IF(IC8(I+1).EQ.0) INEXT=MREL C OT=.FALSE. IF(ABS(VAL-RVIND)/RVIND.LT.EPS) THEN IVAL=NINT(VAL) IRQV=NINT(RQVAL(III)) C IF(NWTR(II).EQ.008001) THEN OT=.TRUE. IF(IAND(IVAL,IRQV).NE.IRQV) OT=.FALSE. ELSE OT=.TRUE. IF(ABS(VAL-RQVAL(III)).GT.EPS) OT=.FALSE. END IF END IF C IF(OT) THEN ICL=NWTR(II-1)/1000 IF(ICL.EQ.7) IRQEI(II-1)=II-1 DO 244 KI=II,INEXT IF(IB2.EQ.0) THEN ORQEI=.TRUE. IRQEI(KI)=KI ELSE IE=IC8R(IJ+1)-1 IF(IJ.EQ.IC8RL) IE=NRQL IF(IC7RL.NE.0) THEN DO 248 JA=1,IC7RL IF(IC7R(JA).GT.III.AND.IC7R(JA).LT.IE) THEN IE=IC7R(JA)-1 GO TO 297 END IF 248 CONTINUE END IF 297 CONTINUE DO 245 IK=III,IE IF(NWTR(KI).EQ.NRQ(IK)) THEN ORQEI=.TRUE. IRQEI(KI)=KI END IF 245 CONTINUE END IF 244 CONTINUE C END IF 242 CONTINUE 241 CONTINUE C END IF C IF(.NOT.ORQEI) THEN KERR=45 CALL BUERR(KERR) M=0 RETURN END IF C C C C* 3. FIND POINTERS TO QUALITY CONTROL,START OF DATA C ---------------------------------------------- C PRESENT INDICATORS AND %CONFIDENCE. C ----------------------------------- C 300 CONTINUE C I=0 IF(IB3.NE.0) THEN I=I+1 ITYPE(I)=222000 END IF C IF(IB4.NE.0) THEN I=I+1 ITYPE(I)=224000 END IF C IF(IB5.NE.0) THEN I=I+1 ITYPE(I)=225000 END IF C IF(IB6.NE.0) THEN I=I+1 ITYPE(I)=223000 END IF C KEND=I IF(KEND.EQ.0) THEN J=0 DO 4011 I=1,MREL IF(IRQEI(I).NE.0) THEN II=IRQEI(I) J=J+1 INWORDP(J)=NWORDP(II) INBITP(J)=NBITP(II) INWTR(J)=NWTR(II) INWTS(J)=NWTS(II) INWTRV(J)=NWTRV(II) INWTDW(J)=NWTDW(II) INWTEN(J)=NWTEN(II) CNAMES(J)=CWTEN(II) CUNITS(J)=CWTU(II) END IF 4011 CONTINUE GO TO 900 END IF C OLIST=.FALSE. O236=.FALSE. O237=.FALSE. C DO 500 KT=1,KEND JQPR=0 JQUA=0 JQCA=0 JQC =0 JQCC=0 JQCS=0 KM=MREL C C C FIND POINTERS TO OPERATORS C KZ=0 DO 3031 I=KM,M IF(NWTR(I).EQ.ITYPE(KT)) THEN KZ=KZ+1 NQP(KZ)=I END IF 3031 CONTINUE C IF(KZ.EQ.0) THEN WRITE(KNTN,*) ITYPE(KT),' NOT PRESENT IN THIS MESSAGE.' GO TO 500 ELSE KZ=KZ+1 NQP(KZ)=M END IF C DO 3033 KQ=1,KZ-1 C JQUA=NQP(KQ) C IF(NWTR(JQUA+1).EQ.236000) THEN JQ236=JQUA+1 O236=.TRUE. END IF C IF(NWTR(JQUA+1).EQ.237000) THEN JQ237=JQUA+1 O237=.TRUE. ELSE O237=.FALSE. END IF C C C DATA PRESENT INDICATOR C IF(.NOT.O236.AND.O237) THEN C C FIND LAST DEFINED BIT MAP C DO 420 I=JQUA,MREL,-1 IF(NWTR(I).EQ.236000) GO TO 421 420 CONTINUE C KERR=41 CALL BUERR(KERR) RETURN C 421 CONTINUE C O236=.TRUE. O237=.FALSE. JQ236=I JQ237=0 IK=I IDPRF=0 DO 3015 I=IK,M IF(NWTR(I).EQ.31031.OR.NWTR(I).EQ.31192) THEN IDPRF=IDPRF+1 IF(IDPRF.EQ.1) JQPR=I ELSE IF(IDPRF.NE.0) GO TO 30111 END IF 3015 CONTINUE C 3016 CONTINUE END IF C C DATA PRESENT INDICATOR C IF(.NOT.O237) THEN IDPRF=0 DO 301 I=JQUA,NQP(KQ+1) IF(NWTR(I).EQ.31031.OR.NWTR(I).EQ.31192) THEN IDPRF=IDPRF+1 IF(IDPRF.EQ.1) JQPR=I ELSE IF(IDPRF.NE.0) GO TO 30111 END IF 301 CONTINUE END IF C 30111 CONTINUE C C GENERATING CENTRE C DO 309 I=JQUA,NQP(KQ+1) IF(NWTR(I).EQ.1031) THEN JQCC=I GO TO 302 END IF 309 CONTINUE C 302 CONTINUE C C GENERATING APPLICATION C DO 307 I=JQUA,NQP(KQ+1) IF(NWTR(I).EQ.1032.OR.NWTR(I).EQ.1201.OR. 1 NWTR(I).EQ.63191) THEN JQCA=I GO TO 3071 END IF 307 CONTINUE C 3071 CONTINUE C C PERCENTAGE CONFIDENCE C IF(ITYPE(KT).EQ.222000) THEN DO 305 I=JQUA,NQP(KQ+1) IF(NWTR(I)/1000.EQ.33.OR.NWTR(I).EQ.63192) THEN JQC=I GO TO 306 END IF 305 CONTINUE ELSE C SIGNIFICANCE C DO 308 I=JQUA,NQP(KQ+1) IF(NWTR(I)/1000.EQ.8) THEN JQCS=I GO TO 3088 END IF 308 CONTINUE C 3088 CONTINUE C DO 3051 I=JQUA,NQP(KQ+1) IF(NWTR(I).EQ.223255.OR.NWTR(I).EQ.224255.OR. 1 NWTR(I).EQ.225255) THEN JQC=I GO TO 306 END IF 3051 CONTINUE END IF C C 306 CONTINUE C C* 3.1 SET INDICES TO GET Q/C. C GET BIT MAP FROM DATA SECTION. C 310 CONTINUE C IF(JQUA.EQ.0) THEN WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A)') 'Q/C NOT PRESENT IN THIS BUFR MESSAGE.' WRITE(KNTN,'(1H )') ELSE C IF(.NOT.O237) THEN C KAK=0 IQPR=JQPR-1 DO 311 K=1,IDPRF IQPR=IQPR+1 KAK=KAK+1 IWPT=NWORDP(IQPR) IBPT=NBITP (IQPR) CALL GBYTE(KBUFF(IWPT),IBVAL(KAK),IBPT,1) 311 CONTINUE END IF C IDIF=MREL-IDPRF C JS=0 IF(IDIF.NE.0) THEN DO 313 I=1,IDIF JS=JS+1 IQCDPI(JS)=0 313 CONTINUE END IF C JQPRM1=JQPR-1 DO 314 I=1,IDPRF JS=JS+1 IQCDPI(JS)=I+JQPRM1 314 CONTINUE C JS=0 IF(IDIF.NE.0) THEN DO 315 I=1,IDIF JS=JS+1 IQCI(JS)=0 315 CONTINUE END IF C K=JQC-1 DO 317 I=1,IDPRF OK=.TRUE. JS=JS+1 IQCI(JS)=0 IF(IBVAL(I).EQ.0) THEN IF(OK) K=K+1 IQCI(JS)=K OK=.FALSE. END IF 317 CONTINUE C END IF C C C* 4. CREATE REQUESTED ELEMENT LIST. C ------------------------------ 400 CONTINUE C IF(.NOT.OLIST) THEN IF(NREQ(2).EQ.0) NRQL=0 J=0 DO 401 I=1,MREL IF(IRQEI(I).NE.0) THEN II=IRQEI(I) J=J+1 INBITP(J)=NBITP(II) INWORDP(J)=NWORDP(II) INWTR(J) =NWTR(II) INWTS(J) =NWTS(II) INWTRV(J) =NWTRV(II) INWTDW(J) =NWTDW(II) INWTEN(J) =NWTEN(II) CNAMES(J)=CWTEN(II) CUNITS(J)=CWTU(II) OLIST=.TRUE. END IF 401 CONTINUE END IF C IF(JQUA.NE.0) THEN C C* 4.1 ADD DATA PRESENT INDICATOR AND Q/C. C ----------------------------------- 410 CONTINUE C C ADD OPERATOR 222000 J=J+1 INWORDP(J)=NWORDP(JQUA) INBITP (J)=NBITP (JQUA) INWTR(J) =NWTR(JQUA) INWTS(J) =NWTS(JQUA) INWTRV(J) =NWTRV(JQUA) INWTDW(J) =NWTDW(JQUA) INWTEN(J) =NWTEN(JQUA) CNAMES(J)=CWTEN(JQUA) CUNITS(J)=CWTU(JQUA) C IF(O236.AND..NOT.O237) THEN J=J+1 INWORDP(J)=NWORDP(JQ236) INBITP (J)=NBITP (JQ236) INWTR(J) =NWTR(JQ236) INWTS(J) =NWTS(JQ236) INWTRV(J) =NWTRV(JQ236) INWTDW(J) =NWTDW(JQ236) INWTEN(J) =NWTEN(JQ236) CNAMES(J)=CWTEN(JQ236) END IF C IF(O237) THEN J=J+1 INWORDP(J)=NWORDP(JQ237) INBITP (J)=NBITP (JQ237) INWTR (J) =NWTR (JQ237) INWTS (J) =NWTS (JQ237) INWTRV(J) =NWTRV(JQ237) INWTDW(J) =NWTDW(JQ237) INWTEN(J) =NWTEN(JQ237) CNAMES(J)=CWTEN(JQ237) CUNITS(J)=CWTU (JQ237) END IF C IF(.NOT.O237) THEN DO 412 I=1,MREL IF(IRQEI(I).NE.0) THEN IF(IQCDPI(I).NE.0) THEN J=J+1 INWORDP(J)=NWORDP(IQCDPI(I)) INBITP (J)=NBITP (IQCDPI(I)) INWTR(J) =NWTR(IQCDPI(I)) INWTS(J) =NWTS(IQCDPI(I)) INWTRV(J) =NWTRV(IQCDPI(I)) INWTDW(J) =NWTDW(IQCDPI(I)) INWTEN(J) =NWTEN(IQCDPI(I)) CNAMES(J)=CWTEN(IQCDPI(I)) CUNITS(J)=CWTU(IQCDPI(I)) END IF END IF 412 CONTINUE END IF C C C GENERATING CENTRE C IF(JQCC.NE.0) THEN J=J+1 INWORDP(J)=NWORDP(JQCC) INBITP (J)=NBITP (JQCC) INWTR(J) =NWTR(JQCC) INWTS(J) =NWTS(JQCC) INWTRV(J) =NWTRV(JQCC) INWTDW(J) =NWTDW(JQCC) INWTEN(J) =NWTEN(JQCC) CNAMES(J)=CWTEN(JQCC) CUNITS(J)=CWTU(JQCC) END IF C C Q/C APPLICATION C IF(JQCA.NE.0) THEN J=J+1 INWORDP(J)=NWORDP(JQCA) INBITP (J)=NBITP (JQCA) INWTR(J) =NWTR(JQCA) INWTS(J) =NWTS(JQCA) INWTRV(J) =NWTRV(JQCA) INWTDW(J) =NWTDW(JQCA) INWTEN(J) =NWTEN(JQCA) CNAMES(J)=CWTEN(JQCA) CUNITS(J)=CWTU(JQCA) END IF C C SIGNIFICANCE C IF(JQCS.NE.0) THEN J=J+1 INWORDP(J)=NWORDP(JQCS) INBITP (J)=NBITP (JQCS) INWTR(J) =NWTR(JQCS) INWTS(J) =NWTS(JQCS) INWTRV(J) =NWTRV(JQCS) INWTDW(J) =NWTDW(JQCS) INWTEN(J) =NWTEN(JQCS) CNAMES(J)=CWTEN(JQCS) CUNITS(J)=CWTU(JQCS) END IF C C C CLASS 33 ELEMENTS C DO 415 I=1,MREL IF(IRQEI(I).NE.0) THEN OK=.TRUE. IF(IQCI(I).NE.0) THEN IF(OK) J=J+1 OK=.FALSE. INWORDP(J)=NWORDP(IQCI(I)) INBITP (J)=NBITP (IQCI(I)) INWTR(J) =NWTR (IQCI(I)) INWTS(J) =NWTS (IQCI(I)) INWTRV(J) =NWTRV (IQCI(I)) INWTDW(J) =NWTDW (IQCI(I)) INWTEN(J) =NWTEN (IQCI(I)) CNAMES(J)=CWTEN (IQCI(I)) CUNITS(J)=CWTU (IQCI(I)) END IF END IF 415 CONTINUE END IF 3033 CONTINUE C C C* 5. MAKE ONE TO ONE CORRESPONDENCE BETWEEN ELEMENTS AND C Q/C,STATISTICS,DIFFERENCE STATISTICS OR SUBSTITUTED VALUES C LEAVING BEHIND DATA PRESENT INDICATORS. 500 CONTINUE C C C* 9. UPDATE TOTAL NUMBER OF ELEMENTS. C -------------------------------- 900 CONTINUE C M=J NFCM=1 NFUCM=0 C RETURN C END emoslib-000392+dfsg.1/bufrdc/bcomwt.F0000755000175000017500000000320012127406245020323 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMWT/ NDWINC,NSCAM,NAFDW,NWT ,ODREPF,N40,N07,N08, 1 NDWINC07,NSCAM07,NAFDWA(100),NFD,NREP,OREP, 1 N221,MREL,NFCM,NFUCM,MBMP,OMARKER,M0,NSTOP, 2 MBMPL,NSTACK(JELEM),NWTEN(JELEM), 3 NWTR (JELEM),NWTS (JELEM),NWTRV (JELEM), 4 NWTDW(JELEM),NWTIW(JELEM),NWTIWS(JELEM) C C NDWINC - DATA WIDTH INCREMENT C NSCAM - SCALE MULTIPLIER C NAFDW - AUGMENTED FIELD DATA WIDTH C NWT - POINTER TO WORKING TABLE C NSTACK - LIST OF DATA DESCRIPTORS C ODREPF - REPLICATION (LOGICAL) C N221 - DATA NOT PRESENT FOR N221 ELEMENTS C MREL - POINTER TO THE LAST DATA ELEMENT C NFCM - FIRST COMPRESSED MESSAGE C MBMP - POINTER TO THE BEGINING OF BIT MAP C NWTR - WORKING TABLE REFERENCE C NWTS - WORKING SCALE C NWTRV - WORKING REFERENCE VALUE C NWTDW - WORKING DATA WIDTH C NWTIW - WORKING DATA WIDTH OF INCREMENTS C NWTIWS - WORKING TOTAL DATA WIDTH OF ELEMENT SET C NSTOP - STOP EXPANSION AFTER NSTOP ELEMENTS C emoslib-000392+dfsg.1/bufrdc/buprtbox.F0000755000175000017500000000642312127406245020707 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPRTBOX(KBOX,KAPP,KLEN,KBOXR,VALS,CBOXN,CBOXU) C C**** *BUPRTBOX* C C C PURPOSE. C -------- C C C C** INTERFACE. C ---------- C C *CALL* *BUPRTBOX(KBOX,KAPP,KLEN,KBOXR,VALS,CBOXN,CBOXU)* C C INPUT : C *KBOX* - NUMBER OF ROWS C *KAPP* - NUMBER OF COLUMNS C *KLEN* - OFFSET FOR START OF NEXT COLUMN C *KBOXR* - ARRAY CONTAINING BUFR TABLE B REFERENCE NUMBERS C *VALS* - ARRAY CONTAINING UNPACKED VALUES C *CBOXN* - ARRAY CONTAINING ELEMENT NAMES C *CBOXU* - ARRAY CONTAINING ELEMENT UNITS C C METHOD. C ------- C C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/94. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcomunit.F" C DIMENSION IOPER(100) #ifndef R_4 REAL*8 RPRINT(60) REAL*8 VALS(JWORK) #else REAL RPRINT(60) REAL VALS(JWORK) #endif DIMENSION KBOXR(JWORK),IBVAL(JELEM),IBPRINT(60) CHARACTER*64 CBOXN(JELEM) CHARACTER*24 CBOXU(JELEM) C C C ------------------------------------------------------------------ C* 1. PRINT BOXED EXPANDED BUFR MESSAGE C --------------------------------- 100 CONTINUE C IF(KBOX.LE.6) THEN WRITE(KNTN,*) 'THERE IS NO USEFULL DATA TO BE PRINTED.' KBOX=0 RETURN END IF C IF(KAPP.GT.60) THEN WRITE(KNTN,*) 'THERE IS MORE THAN 60 APPLICATIONS IN THE DATA' WRITE(KNTN,*) 'ONLY FIRST 60 WILL BE PROCESSED' KAPP=60 END IF C IF(KAPP.GT.1) THEN IREP=(KAPP-1)/10 IOFF=(KAPP-1)-IREP*10 IF(IOFF.NE.0) IREP=IREP+1 ELSE IREP=1 IOFF=0 END IF C IST=2 IEND=11 C IF(IREP.EQ.1.AND.KAPP.EQ.1) IEND=IOFF+1 C IF(IREP.EQ.1) IEND=IOFF+1 IF(IREP.EQ.1 .AND. IOFF .EQ.0) THEN IEND=1 ELSEIF(IREP.EQ.1) THEN IEND=IOFF+1 END IF C DO 2005 J=1,IREP C WRITE(KNTN,*) ' ' DO 2002 I=1,KBOX IIII=1 RPRINT(IIII)=VALS(I) C DO 2003 II=IST,IEND IIII=IIII+1 III=I+(II-1)*KLEN RPRINT(IIII)=VALS(III) IBPRINT(IIII)=KBOXR(III) 2003 CONTINUE C WRITE(KNTN,'(1H ,I4,1X,A32,1X,15(1X,I6,1X,F8.1))') C 1 I,CBOXN(I),(IBPRINT(NN),RPRINT(NN),NN=1,KAPP) WRITE(KNTN,'(1H ,I4,1X,A32,1X,F14.1,30(1X,F8.1))') 1 I,CBOXN(I),(RPRINT(NN),NN=1,IIII) 2002 CONTINUE C IF(IOFF.NE.0.AND.J.EQ.(IREP-1)) THEN IST=IEND+1 IEND=IEND+IOFF ELSE IST=IEND+1 IEND=IEND+10 END IF C 2005 CONTINUE C C RETURN END emoslib-000392+dfsg.1/bufrdc/bbuprs3.F0000755000175000017500000000630512127406245020421 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BBUPRS3(KNT,KSEC3,KTDLEN,KTDLST,KTDEXL, 1 KTDEXP,KELEM,CNAMES) C C**** *BUPRS3* C C C PURPOSE. C -------- C PRINT SECTION 3 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUPRS3(KNT,KSEC3,KTDLEN,KTDLST,KTDEXL,KTDEXP, C KELEM,CNAMES)* C C INPUT : C *KNT* - UNIT NUMBER IO C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *KTDLEN* - NUMBER OF DATA DESCRIPTORS IN SECTION 3 C *KTDLST* - ARRAY CONTAINING DATA DESCRIPTORS IN SECTION 3 C *KTDEXL* - NUMBER OF ENTRIES IN LIST OF EXPANDED DATA C DESCRIPTORS C *KTDEXP* - ARRAY CONTAINIG EXPANDED DATA DESCRIPTORS C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C *CNAMES* - CHARACTER ARRAY CONTAINING ELEMENT NAMES C C C METHOD. C ------- C C NONE C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" C DIMENSION KSEC3(JSEC3) DIMENSION KTDLST(KTDLEN) DIMENSION KTDEXP(KTDEXL) C CHARACTER*64 CNAMES(KELEM) C C ------------------------------------------------------------------ C C* 1. PRINT SECTION 3. C ---------------- 100 CONTINUE C WRITE(KNT,'(1H1)') C WRITE(KNT,'(1H ,A)') ' BUFR SECTION 3 ' WRITE(KNT,'(1H )') WRITE(KNT,'(1H ,A,I5)') 'LENGTH OF SECTION 3 (BYTES) ', 1 KSEC3(1) WRITE(KNT,'(1H ,A,I5)') 'RESERVED ', 1 KSEC3(2) WRITE(KNT,'(1H ,A,I5)') 'NUMBER OF DATA SUBSETS ', 1 KSEC3(3) WRITE(KNT,'(1H ,A,I5)') 'FLAG (DATA TYPE/DATA COMPRESSION) ', 1 KSEC3(4) C WRITE(KNT,'(1H ,//)') WRITE(KNT,'(1H ,A)') ' DATA DESCRIPTORS (UNEXPANDED)' C WRITE(KNT,'(1H )') DO 110 I=1,KTDLEN WRITE(KNT,'(1H ,I4,2X,I6.6)') I,KTDLST(I) 110 CONTINUE C WRITE(KNT,'(1H ,/)') WRITE(KNT,'(1H ,A)') ' DATA DESCRIPTORS (EXPANDED)' WRITE(KNT,'(1H )') DO 120 I=1,KTDEXL WRITE(KNT,'(1H ,I5,2X,I6.6,2X,A)') I,KTDEXP(I),CNAMES(I) 120 CONTINUE RETURN END emoslib-000392+dfsg.1/bufrdc/buexs33.F0000755000175000017500000000606012127406245020333 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEXS33(KBUFL,KBUFF,KSEC3,KERR) C C**** *BUEXS33* C C C PURPOSE. C -------- C C EXPAND SECTION 3 OF BUFR MESSAGE. C (PRELIMINARY ITEMS) C C C** INTERFACE. C ---------- C C *CALL* *BUEXS33( KBUFL,KBUFF,KSEC3,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C OUTPUT: C *KSEC3* C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C C NONE. C C EXTERNALS. C ---------- C C BUNEXS - SET WORD AND BIT POINTERS AT THE BEGINING OF C NEXT SECTION C BUNPCK - UNPACKS BIT PATTERN C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" C DIMENSION KBUFF(KBUFL) DIMENSION KSEC3(*) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C ------------------------------------------------------------------ C C* 1. EXPAND PRELIMINARY ITEMS OF SECTION 3. C -------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C* 1.1 SET THE POINTERS NWPT AND NBPT TO THE C ------------------------------------- C BEGINING OF THE SECTION 3. C -------------------------- 110 CONTINUE C NWPT = NWPTB NBPT = NBPTB C C* 1.2 UNPACK LENGTH OF SECTION 3. C --------------------------- 120 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(1),NWPT,NBPT,24,KERR) IF(KERR.GT.0) RETURN C C C* 1.3 UNPACK ZERO BYTE AND PUT IT IN KSEC3(2). C ---------------------------------------- 130 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(2),NWPT,NBPT,8,KERR) IF(KERR.GT.0) RETURN C C* 1.4 UNPACK NUMBER OF DATA SUB-SETS. C ------------------------------- 140 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC3(3),NWPT,NBPT,16,KERR) IF(KERR.GT.0) RETURN IF(KSEC3(3).LE.0) THEN KERR=32 WRITE(KNTN,*) ' BUEXS3 :' CALL BUERR(KERR) RETURN END IF C CALL BUNPCK(NBPW,KBUFF,KSEC3(4),NWPT,NBPT,8,KERR) IF(KERR.GT.0) RETURN C ----------------------------------------------------------------- C NWPT = NWPTB NBPT = NBPTB C RETURN END emoslib-000392+dfsg.1/bufrdc/bufrex.F0000755000175000017500000002677712127406245020353 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUFREX(KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, 2 KELEM,CNAMES,CUNITS,KVALS,VALUES,CVALS,KERR) C C**** *BUFREX* C C C PURPOSE. C -------- C DECODE BUFR MESSAGE INTO FULLY EXPANDED FORM; RETURNING C INFORMATION RELEVANT FOR ALL BUFR SECTIONS, EXPANDED VALUES, C THEIR NAMES AND UNITS. C C C** INTERFACE. C ---------- C C *CALL* *BUFREX(KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, C 1 KELEM,CNAMES,CUNITS,KVALS,VALUES,CVALS,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - INTEGER ARRAY CONTAINING BUFR MESSAGE C *KELEM* - INTEGER (EXPECTED NUMBER OF EXPANDED ELEMENTS) C *KVALS* - INTEGER (EXPECTED NUMBER OF DATA VALUES) C OUTPUT: C *KSUP* - INTEGER ARRAY OF 9 WORDS CONTAINING C SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES C ARRAY, FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX C OF VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C C *KSEC0* - INTEGER ARRAY OF 3 WORDS CONTAINING C BUFR SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C C *KSEC1* - INTEGER ARRAY OF AT LEAST 40 WORDS C CONTAINING BUFR SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(40) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C *KSEC2* - INTEGER ARRAY OF AT LEAST 64 WORDS C CONTAINING BUFR SECTION 2 INFORMATION C KSEC2( 1)-- LENGTH OF SECTION 2 (BYTES) C KSEC2( 2) TO KSEC2(47) RDB KEY C C *KSEC3* - INTEGER ARRAY OF 4 WORDS CONTAINING C BUFR SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C C *KSEC4* - INTEGER ARRAY OF 2 WORDS CONTAINING C BUFR SECTION 4 INFORMATION C KSEC4( 1)-- LENGTH OF SECTION 4 (BYTES) C KSEC4( 2)-- RESERVED C C *CNAMES* - CHARACTER*64 ARRAY OF KELEM CONTAINING C BUFR TABLE B ELEMENT NAMES C *CUNITS* - CHARACTER*24 ARRAY OF KELEM CONTAINIG C BUFR TABLE B UNITS C *VALUES* - REAL ARRAY OF KVALS CONTAINING EXPANDED C DATA VALUES C *CVALS* - CHARACTER*80 ARRAY OF KVALS CONTAINING C BUFR CODE TABLE OR CCITTIA5 BUFR ELEMENTS C ENTRIES C *KERR* - RETURNED ERROR CODE C C C METHOD. C ------- C C BUFR MESSAGE PASSED AS ARGUMENT TO THIS ROUTINE IS DECODED C SECTION BY SECTION. SUPLEMENTARY INFORMATION AND EXPANDED DATA C ARE RETURNED AS WELL AS ERROR CODE. DURING BIT PATTERN UNPACKING C GBYTE AND GBYTES ROUTINES (VMS VERSION) ARE USED. C C C EXTERNALS. C ---------- C C BUEXS0 - EXPANDS SECTION 0 OF BUFR MESSAGE C BUEXS1 - EXPANDS SECTION 1 OF BUFR MESSAGE C BUEXS2 - EXPANDS SECTION 2 OF BUFR MESSAGE C BUEXS3 - EXPANDS SECTION 3 OF BUFR MESSAGE C BUGBTS - LOAD REQUIRED BUFR TABLES C BUEXS4 - EXPANDS SECTION 4 OF BUFR MESSAGE C BUEXS5 - EXPANDS SECTION 5 OF BUFR MESSAGE C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomwt.F" # include "bcomdefc.F" # include "bcomreq.F" # include "bcomoff.F" C DIMENSION KBUFF(KBUFL) DIMENSION KSUP(JSUP),KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) C #ifndef R_4 REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS REAL*8 RQVAL REAL*8 VAL #else REAL VALUES(KVALS) REAL RVIND REAL EPS REAL RQVAL REAL VAL #endif C CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) CHARACTER*80 CVALS(KVALS) CHARACTER*4 CECMWF,CUSER C SAVE NWPTB1,NBPTB1 C ------------------------------------------------------------------ C C* 1. SET CONSTANTS. C -------------- 100 CONTINUE C KERR=0 C M0=1 C DO 101 I=1,JSEC0 KSEC0(I)=0 101 CONTINUE C DO 102 I=1,JSEC1 KSEC1(I)=0 102 CONTINUE C DO 103 I=1,JSEC3 KSEC3(I)=0 103 CONTINUE C DO 104 I=1,JSUP KSUP(I)=0 104 CONTINUE C DO 105 I=1,JSEC4 KSEC4(I)=0 105 CONTINUE C DO 106 I=1,JSEC2 KSEC2(I)=0 106 CONTINUE C IF(CECMWF.NE.'ECMF') THEN CALL BUEVAR(KERR) CECMWF='ECMF' END IF C IF(CUSER.NE.'USER') THEN NREQ(1)=0 NREQ(2)=0 NRQL=0 END IF C ----------------------------------------------------------------- C* 2. EXPAND SECTION 0. C ----------------- 200 CONTINUE C CALL BUEXS0( KBUFL,KBUFF,KSUP,KSEC0,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C* 3. EXPAND SECTION 1. C ------------------ 300 CONTINUE C CALL BUEXS1( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C* 4. EXPAND SECTION 2. C ----------------- 400 CONTINUE C CALL BUEXS2( KBUFL,KBUFF,KSUP,KSEC1,KSEC2,KERR ) IF(KERR.GT.0) RETURN C CALL BUEXS33(KBUFL,KBUFF,KSEC3,KERR) IF(KERR.GT.0) RETURN NWPTB1=NWPTB NBPTB1=NBPTB C ------------------------------------------------------------------ C* 5. LOAD BUFR TABLES. C ----------------- 500 CONTINUE C CALL BUGBTS(KSEC1,KERR) IF(KERR.GT.0) RETURN C OMULTI=.FALSE. NSUBSET=1 IF(IAND(KSEC3(4),64).EQ.0.AND.KSEC3(3).GT.1) THEN C OMULTI=.TRUE. DO I=1,KSEC3(3) NWT=0 M=0 NWPTB=NWPTB1 NBPTB=NBPTB1 NSUBSET=I CALL BUEXS3(KBUFL,KBUFF,KSUP,KSEC3,KELEM,CNAMES,CUNITS, 1 KERR) IF(KERR.GT.0) RETURN C CALL BUEXS4(KBUFL ,KBUFF ,KSUP ,KSEC3,KSEC4, 1 KELEM ,CNAMES,CUNITS,KVALS,VALUES,CVALS,KERR) IF(KERR.GT.0) RETURN END DO GO TO 800 END IF C ------------------------------------------------------------------ C* 6. EXPAND SECTION 3. C ----------------- 600 CONTINUE C CALL BUEXS3(KBUFL,KBUFF,KSUP,KSEC3,KELEM,CNAMES,CUNITS,KERR) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C* 7. EXPAND SECTION 4. C ----------------- 700 CONTINUE C CALL BUEXS4(KBUFL ,KBUFF ,KSUP ,KSEC3,KSEC4, 1 KELEM ,CNAMES,CUNITS,KVALS,VALUES,CVALS,KERR) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C* 8. EXPAND SECTION 5. C ----------------- 800 CONTINUE C CALL BUEXS5(KBUFL,KBUFF,KERR) IF(KERR.GT.0) RETURN C C ----------------------------------------------------------------- C* 9. SET TOTAL BUFR MESSAGE LENGTH. C ------------------------------ 900 CONTINUE C KSUP(8)=KSEC0(1)+KSEC1(1)+KSEC2(1)+KSEC3(1)+KSEC4(1)+4 C C ----------------------------------------------------------------- RETURN C END emoslib-000392+dfsg.1/bufrdc/bus0123.F0000755000175000017500000001605612127406245020144 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUS0123( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2, 1 KSEC3,KERR) C C**** *BUS0123* C C C PURPOSE. C -------- C EXPANDS SECTION 0,1,2 AND 3 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUS0123( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KSEC3,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C OUTPUT: C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C *KSEC2* - ARRAY CONTAINING SECTION 2 INFORMATION C KSEC2( 1)-- LENGTH OF SECTION 2 (BYTES) C KSEC2( 2) TO KSEC2(47) RDB KEY C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- C KSEC3( 2)-- C KSEC3( 3)-- C KSEC3( 4)-- C C *KERR* - RETURNED ERROR CODE C C METHOD. C -------- C C NONE. C C EXTERNALS. C ---------- C C BUEXS0 - UNPACK SECTION 0 C BUEXS1 - UNPACK SECTION 1 C BUEXS2 - UNPACK SECTION 2 C BUEXS3 - UNPACK SECTION 3 C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/07/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcomwt.F" # include "bcomdefc.F" # include "bcomreq.F" C DIMENSION KBUFF(KBUFL) DIMENSION KSUP(*),KSEC0(*),KSEC1(*) DIMENSION KSEC2(*),KSEC3(*) #ifndef R_4 REAL*8 RVIND REAL*8 EPS REAL*8 RQVAL #else REAL RVIND REAL EPS REAL RQVAL #endif C CHARACTER*4 CECMWF,CUSER C C ------------------------------------------------------------------ C* 1. SET CONSTANTS. C -------------- 100 CONTINUE C KERR=0 C IF(CECMWF.NE.'ECMF') THEN CALL BUEVAR(KERR) CECMWF='ECMF' END IF C IF(CUSER.NE.'USER') THEN NREQ(1)=0 NREQ(2)=0 NRQL=0 END IF C ----------------------------------------------------------------- C C* 2. EXPAND SECTION 0. C ----------------- 200 CONTINUE C CALL BUEXS0( KBUFL,KBUFF,KSUP,KSEC0,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C C* 3. EXPAND SECTION 1. C ------------------ 300 CONTINUE C CALL BUEXS1( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C C* 4. EXPAND SECTION 2. C ----------------- 400 CONTINUE C CALL BUEXS2( KBUFL,KBUFF,KSUP,KSEC1,KSEC2,KERR ) IF(KERR.GT.0) RETURN C C* 5. EXPAND SECTION 3 (PRELIMINARY ITEMS). C ------------------------------------- 500 CONTINUE C CALL BUEXS3P(KBUFL,KBUFF,KSUP,KSEC3,KERR) C RETURN END emoslib-000392+dfsg.1/bufrdc/burep.F0000755000175000017500000001744312127406245020163 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUREP(KPT,KDLEN,KDATA,KJ,KJ1,KDD,KSTACK,KERR) C C**** *BUREP* C C C PURPOSE. C -------- C RESOLVE DATA DESCRIPTOR REPLICATION PROBLEM. C C C** INTERFACE. C ---------- C C *CALL* *BUREP(KPT,KDLEN,KDATA,KJ,KJ1,KDD,KSTACK,KERR)* C C INPUT : C *KPT* - POINTER TOO KDATA ARRAY C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DATA DESCRIPTOR C EXPANSION C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KJ* - POINTER TO KSTACK ARRAY C *KJ1* - POINTER TO LAST ELEMENT IN KSTACK C *KSTACK* - LIST OF DATA DESCRIPTORS C *KERR* - RETURN CODE C C METHOD. C ------- C NONE. C C EXTERNALS. C ---------- C C BUETDR - RESOLVE TABLE D REFERENCE C BUEPWT - UPDATE WORKING TABLES C GBYTE - UNPACK BIT PATHERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmbef.F" # include "bcmoff.F" C CHARACTER CWTEN*64,CWTU*24 DIMENSION ILIST(JELEM) DIMENSION KSTACK(*) DIMENSION KDATA(KDLEN) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C ------------------------------------------------------------------ C C* 1. STORE K, NUMBER OF DESCRIPTORS TO BE REPLICATED. C ------------------------------------------------ 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 K = IX IF(IY.EQ.0) ODREPF=.TRUE. C C* 1.1 DELAYED REPLICATION ? C --------------------- 110 CONTINUE C IF( IY .NE. 0 ) THEN C C* 1.2 STORE NUMBER OF DESCRIPTORS, K, AND REPLICATION C ----------------------------------------------- C FACTOR JR. C ---------- 120 CONTINUE C JR = IY GO TO 500 END IF C C ------------------------------------------------------------------ C C* 2. GET NEXT DESCRIPTOR. C -------------------- 200 CONTINUE C KJ =KJ + 1 KDD= KSTACK(KJ) C C ------------------------------------------------------------------ C C* 2.1 REPLICATION FACTOR ? C -------------------- 210 CONTINUE C IF(KDD.NE.31001.AND.KDD.NE.31002.AND. 1 KDD.NE.31000.AND. 1 KDD.NE.31011.AND.KDD.NE.31012 )THEN C C* 2.1.1 SEQUENCE DESCRIPTOR ? C --------------------- C IF=KDD/100000 C IF( IF.EQ.3) THEN C C* 2.1.1.1 SOLVE TABLE D REFERENCE. C ------------------------ CALL BUETDR(KJ,KJ1,KDD,KSTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NSTACK(IQ)=0. 252 CONTINUE RETURN END IF GO TO 200 END IF C IF( IF.EQ.2) THEN CALL BUOPER(KPT,KDLEN,KDATA,KJ,KDD,KSTACK,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF GO TO 200 END IF C KERR=36 CALL BUERR(KERR) RETURN END IF C C ------------------------------------------------------------------ C C* 3. UPDATE WORKING TABLE. C --------------------- 300 CONTINUE C IF(KDD.EQ.31031.OR.KDD.EQ.31192) THEN NWT=NWT+1 NWTR(NWT)=KDD NWTS(NWT)=0 NWTRV(NWT)=0 NWTDW(NWT)=1 M=M+1 ELSEIF(KDD.EQ.33007.OR.KDD.EQ.63192) THEN NWT=NWT+1 NWTR(NWT)=KDD NWTS(NWT)=0 NWTRV(NWT)=0 NWTDW(NWT)=7 M=M+1 ELSE CALL BUEPWT (KDD,KERR) IF(KERR.GT.0) RETURN IF(KDD.EQ.031011.or.KDD.EQ.031012) RETURN END IF C C ------------------------------------------------------------------ C C* 4. STORE JR, THE REPLICATION FACTOR FROM DATA. C ------------------------------------------------------ 400 CONTINUE C KPT=KPT+1 IF(KPT.GT.KDLEN) THEN KERR=31 CALL BUERR(KERR) RETURN END IF C JR=KDATA(KPT) C IF(JR.EQ.0) THEN IIIF=KSTACK(KJ+1)/100000 IIII=KSTACK(KJ+1)-IIIF*100000 IIIX=IIII/1000 IIIY=IIII-IIIX*1000 C IF(IIIF.EQ.2.AND.IIIY.EQ.0) THEN KJ=KJ+1 CALL BUOPER(KPT,KDLEN,KDATA,KJ,KSTACK(KJ),KSTACK,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF END IF KJ=KJ+K GO TO 640 END IF JRTK=JR*K+KJ1-K IF(JRTK.GT.JELEM) THEN KERR=30 CALL BUERR(KERR) RETURN END IF C C CHECK IF NEXT DESCRIPTOR CANCEL OPERATOR FOR DELAYED C REPLICATION C IIIF=KSTACK(KJ+1)/100000 IIII=KSTACK(KJ+1)-IIIF*100000 IIIX=IIII/1000 IIIY=IIII-IIIX*1000 C IF(IIIF.EQ.2.AND.IIIY.EQ.0) THEN KJ=KJ+1 CALL BUOPER(KPT,KDLEN,KDATA,KJ,KSTACK(KJ),KSTACK,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF END IF C ------------------------------------------------------------------ C* 5. GET NEXT K DESCRIPTORS. C ----------------------- 500 CONTINUE C DO 501 J=1,K C ILIST(J)=KSTACK(KJ+J) C 501 CONTINUE C C ------------------------------------------------------------------ C* 6. ADD JR TIMES K DESCRIPTORS IN PLACE OF K C ---------------------------------------- C DESCRIPTORS OBTAINED. C --------------------- 600 CONTINUE C C ------------------------------------------------------------------ C* 6.1 PUSH DOWN DESCRIPTORS IN KSTACK FOR (JR-1)*K PLACES C --------------------------------------------------- C STARTING AT KJ1 AND ENDING AT KJ+K. C ----------------------------------- 610 CONTINUE C JRKM1=(JR-1)*K C DO 611 J=KJ1,KJ+K,-1 C KSTACK(J+JRKM1)=KSTACK(J) C 611 CONTINUE C C* 6.2 INSERT LIST IN THE STACK. C ------------------------- 620 CONTINUE C DO 622 J=1,JR C KJJM1K=KJ+(J-1)*K C DO 623 J1=1,K C KSTACK(KJJM1K+J1)=ILIST(J1) C 623 CONTINUE 622 CONTINUE C C ------------------------------------------------------------------ C* 6.3 ADJUST DESCRIPTOR COUNT FOR LIST LENGTH. C ---------------------------------------- 630 CONTINUE C KJ1 = KJ1 + (JR-1)*K C C ------------------------------------------------------------------ C* 6.4 ADJUST NUMBER OF DATA DESCRIPTORS NOT PRESENT. C ---------------------------------------------- 640 CONTINUE C IF(N221.NE.0) N221= KJ1 - KJ + 1 C C ------------------------------------------------------------------ 700 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/bufren.F0000755000175000017500000002444212127406245020324 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUFREN(KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, 1 KTDLEN,KTDLST,KDLEN,KDATA,KELEM,KVALS, 2 VALUES,CVALS,KBUFL,KBUFF,KERR) C C**** *BUFREN* C C C PURPOSE. C -------- C ENCODE BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL BUFREN(KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, C KTDLEN,KTDLST,KDLEN,KDATA,KELEM,KVALS, C VALUES,CVALS,KBUFL,KBUFF,KERR) C C INPUT : C *KSEC0* - INTEGER ARRAY OF 3 WORDS CONTAINING C BUFR SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C C *KSEC1* - INTEGER ARRAY OF AT LEAST 40 WORDS C CONTAINING BUFR SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) TO KSEC1(40) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C *KSEC2* - INTEGER ARRAY OF AT LEAST 64 WORDS C CONTAINING BUFR SECTION 2 INFORMATION C KSEC2( 1)-- LENGTH OF SECTION 2 (BYTES) C KSEC2( 2) TO KSEC2(64) LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C *KSEC3* - INTEGER ARRAY OF 4 WORDS CONTAINING C BUFR SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C C *KSEC4* - INTEGER ARRAY OF 2 WORDS CONTAINING C BUFR SECTION 4 INFORMATION C KSEC4( 1)-- LENGTH OF SECTION 4 (BYTES) C KSEC4( 2)-- RESERVED C C *KTDLEN* - INTEGER NUMBER OF DATA DESCRIPTORS IN SECTION 3 C *KTDLST* - INTEGER ARRAY OF AT LEAST KTDLEN WORDS C CONTAINING DATA DESCRIPTORS FOR BUFR SECTION 3 C *KDLEN* - INTEGER (DIMENSION OF KDATA ARRAY) C *KDATA* - INTEGER ARRAY CONTAINING DATA NEEDED FOR DATA C DESCRIPTOR EXPANSION (DELAYED REPLICATION FACTORS) C WHICH APPEAR IN THE VALUES ARRAY C C *KELEM* - INTEGER NUMBER OF ELEMENTS IN BUFR TEMPLATE. C *KVALS* - INTEGER (DIMENSION OF VALUES ARRAY) C *VALUES* - REAL ARRAY OF KVALS WORDS (EXPANDED DATA ) C *CVALS* - CHARACTER*80 ARRAY OF KVALS C C OUTPUT: C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - INTEGER ARRAY CONTAINING BUFR MESSAGE C *KERR* - RETURN ERROR CODE C C C METHOD. C ------- C C BUFR MESSAGE SECTIONS CONTENET, AND DATA ARE PASSED FOR C FOR PACKING INTO FM-94 BUFR DATA.DURING UNPACKING A BIT PATHERN C GBYTE AND GBYTES ROUTINES (VMS VERSION) ARE USED. C C C EXTERNALS. C ---------- C C BUENS0 - PACK SECTION 0 OF BUFR MESSAGE C BUENS1 - PACK SECTION 1 OF BUFR MESSAGE C BUENS2 - PACK SECTION 2 OF BUFR MESSAGE C BUENS3 - PACK SECTION 3 OF BUFR MESSAGE C BUETAB - LOAD REQUIRED BUFR TABLES C BUENS4 - PACK SECTION 4 OF BUFR MESSAGE C BUENS5 - PACK SECTION 5 OF BUFR MESSAGE C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmdefc.F" # include "bcmoff.F" C DIMENSION KBUFF(KBUFL) DIMENSION KSEC0(JSEC0),KSEC1(JSEC1),KSEC2(JSEC2) 1, KSEC3(JSEC3),KSEC4(JSEC4) C #ifndef R_4 REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS #else REAL VALUES(KVALS) REAL RVIND REAL EPS #endif DIMENSION KTDLST(KTDLEN) DIMENSION KDATA(KDLEN) C CHARACTER*4 CECMWF,CUSER CHARACTER*80 CVALS(KVALS) C SAVE NWPTB1,NBPTB1 C C ------------------------------------------------------------------ C C* 1. SET CONSTANTS. C -------------- 100 CONTINUE C KERR=0 IF(CECMWF.NE.'ECMF') THEN CALL BUIVAR(KERR) KPT = 0 CECMWF='ECMF' END IF C NEDN=KSEC0(3) C C ----------------------------------------------------------------- C* 2. PACK SECTION 0. C --------------- 200 CONTINUE C CALL BUENS0( KSEC0,KBUFL,KBUFF,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C C* 3. PACK SECTION 1. C --------------- 300 CONTINUE C CALL BUENS1( KSEC0,KSEC1,KBUFL,KBUFF,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C C* 4. PACK SECTION 2. C --------------- 400 CONTINUE C CALL BUENS2( KSEC1,KSEC2,KBUFL,KBUFF,KERR ) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C C* 5. LOAD BUFR TABLES. C ----------------- 500 CONTINUE C CALL BUETAB(KSEC1,KERR) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C 6. PACK SECTION 3. C --------------- 600 CONTINUE C CALL BUENS3( KSEC3,KTDLEN,KTDLST,KBUFL,KBUFF,KERR) IF(KERR.GT.0) RETURN C C ----------------------------------------------------------------- C OMULTI=.FALSE. NSUBSET=1 IF(IAND(KSEC3(4),64).EQ.0.AND.KSEC3(3).GT.1) THEN C C Multi-subset uncompressed data C NSUBSET=0 OMULTI=.TRUE. DO I=1,KSEC3(3) NWT=0 M=0 NSUBSET=I KERR=0 CALL BUETD(KPT,KTDLEN,KTDLST,KDLEN,KDATA,KSEC3, 1 KVALS,VALUES,KELEM,KERR) IF(KERR.GT.0) RETURN C CALL BUENS4(KSEC3,KSEC4,KELEM,KVALS,VALUES,CVALS, 1 KBUFL,KBUFF,KERR) IF(KERR.GT.0) RETURN END DO GO TO 800 END IF C ------------------------------------------------------------------ C 6.1 EXPAND DATA DESCRIPTORS. C ------------------------ 610 CONTINUE CALL BUETD(KPT,KTDLEN,KTDLST,KDLEN,KDATA,KSEC3, 1 KVALS,VALUES,KELEM,KERR) IF(KERR.GT.0) RETURN C C C ------------------------------------------------------------------ C C* 7. PACK SECTION 4. C --------------- 700 CONTINUE C CALL BUENS4(KSEC3,KSEC4,KELEM,KVALS,VALUES,CVALS, 1 KBUFL,KBUFF,KERR) IF(KERR.GT.0) RETURN C C C ------------------------------------------------------------------ C C* 8. PACK SECTION 5. C --------------- 800 CONTINUE C CALL BUENS5(KSEC0,KSEC1,KBUFL,KBUFF,KERR) IF(KERR.GT.0) RETURN C C ----------------------------------------------------------------- C C* 9. SET TOTAL BUFR MESSAGE LENGTH. C ------------------------------ 900 CONTINUE C C C ----------------------------------------------------------------- RETURN C END emoslib-000392+dfsg.1/bufrdc/buexs1.F0000755000175000017500000004344012127406245020251 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEXS1( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KERR) C C**** *BUEXS1* C C C PURPOSE. C -------- C EXPANDS SECTION 1 OF BUFR MESSAGE. SAVES EXPANDED INFORMATION C IN THE ARRAY KSEC1. C C** INTERFACE. C ---------- C C *CALL* *BUEXS1( KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C OUTPUT: C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC0* - ARRAY CONTAINING SECTION 0 INFORMATION C KSEC0( 1)-- LENGTH OF SECTION 0 (BYTES) C KSEC0( 2)-- TOTAL LENGTH OF BUFR MESSAGE (BYTES) C KSEC0( 3)-- BUFR EDITION NUMBER C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C C *METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C BUNPCK - UNPACK BIT PATTERN C BUNEXS - SET WORD AND BIT POINTERS AT THE BEGINING OF C NEXT SECTION C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 16/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" C DIMENSION KBUFF(KBUFL),KSUP(JSUP),KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION ISEC1(JSEC1) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C C ------------------------------------------------------------------ C* 1. EXPAND SECTION 1. C ------------------ 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C SAVE WORD AND BIT POINTERS OF THR BRGINING OF SECTION 1. C IWPTB=NWPT IBPTB=NBPT C C* 1.1 UNPACK LENGTH OF SECTION 1. C ---------------------------- 110 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC1(1),NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(1).' RETURN END IF C IF(KSEC1(1).GT.18) THEN C WRITE(KNTN,*) 'LOCAL ADP CENTRE INFORMATION PRESENT C 1 IN THE SECTION 1.' C END IF C C* 1.1.1 SET THE POINTERS NWPTB AND NBPTB. C --------------------------------- C TO BEGINING OF THE NEXT SECTION. C -------------------------------- 1110 CONTINUE C CALL BUNEXS(KSEC1(1)) C C C* 1.2 UNPACK BUFR EDITION NUMBER/MASTER TABLE USED. C --------------------------------------------- 120 CONTINUE C IF(KSEC0(3).LE.1) THEN CALL BUNPCK(NBPW,KBUFF,KSEC1(2),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(2).' RETURN END IF ELSE CALL BUNPCK(NBPW,KBUFF,KSEC1(14),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(14).' RETURN END IF C KSEC1(2)=KSEC0(3) END IF C C* 1.3 UNPACK ORIGINATING CENTRE. C -------------------------- 130 CONTINUE C IF(KSEC0(3).LT.3) THEN CALL BUNPCK(NBPW,KBUFF,KSEC1(3),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(3).' RETURN END IF ELSEIF(KSEC0(3).EQ.3) THEN C BUFR Edition 3 CALL BUNPCK(NBPW,KBUFF,KSEC1(16),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(3).' RETURN END IF CALL BUNPCK(NBPW,KBUFF,KSEC1(3),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(3).' RETURN END IF ELSEIF(KSEC0(3).EQ.4) THEN C BUFR Edition 4 CALL BUNPCK(NBPW,KBUFF,KSEC1(3),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(3).' RETURN END IF CALL BUNPCK(NBPW,KBUFF,KSEC1(16),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(16).' RETURN END IF END IF C C* 1.4 UNPACK UPDATE SEQUENCE NUMBER. C ------------------------------ 140 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC1(4),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(4).' RETURN END IF C C* 1.5 UNPACK INTEGER VALUE OF THE OCTET CONTAINING C -------------------------------------------- C FLAG BITS(ZERO IF SECTION TWO IS NOT PRESENT). C ---------------------------------------------- 150 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC1(5),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(5).' RETURN END IF C C* 1.6 UNPACK *BUFR* MESSAGE TYPE. C --------------------------- 160 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC1(6),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(6).' RETURN END IF C C* 1.7 UNPACK *BUFR* MESSAGE SUB-TYPE. C ------------------------------- 170 CONTINUE C IF(KSEC0(3).EQ.4) THEN CALL BUNPCK(NBPW,KBUFF,KSEC1(17),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(17).' RETURN END IF CALL BUNPCK(NBPW,KBUFF,KSEC1(7),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(7).' RETURN END IF ELSE CALL BUNPCK(NBPW,KBUFF,KSEC1(7),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(7).' RETURN END IF END IF C C* 1.8 UNPACK LOCAL TABLE VERSION NUMBER OR C ------------------------------------ C VERSION NUMBER OF MASTER TABLE USED. C ----------------------------------- 180 CONTINUE C IF(KSEC0(3).LE.1) THEN CALL BUNPCK(NBPW,KBUFF,KSEC1(8),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(8).' RETURN END IF ELSE CALL BUNPCK(NBPW,KBUFF,KSEC1(15),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(15).' RETURN END IF CALL BUNPCK(NBPW,KBUFF,KSEC1( 8),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(8).' RETURN END IF END IF C C* 1.9 UNPACK YEAR. C ------------ 190 CONTINUE C IF(KSEC0(3).EQ.4) THEN CALL BUNPCK(NBPW,KBUFF,KSEC1(9),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(9).' RETURN END IF ELSE CALL BUNPCK(NBPW,KBUFF,KSEC1(9),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(9).' RETURN END IF END IF C C* 2. UNPACK MONTH. C ------------- 200 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC1(10),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(10).' RETURN END IF C C* 2.1 UNPACK DAY. C ----------- 210 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC1(11),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(11).' RETURN END IF C C* 2.2 UNPACK HOUR. C ------------ 220 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC1(12),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(12).' RETURN END IF C C* 2.3 UNPACK MINUTE. C -------------- 230 CONTINUE C CALL BUNPCK(NBPW,KBUFF,KSEC1(13),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(13).' RETURN END IF C C 2.3.1 UNPACK SECOND C ------------- IF(KSEC0(3).EQ.4) THEN CALL BUNPCK(NBPW,KBUFF,KSEC1(18),NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(13).' RETURN END IF C C METADATA C C YEAR C c CALL BUNPCK(NBPW,KBUFF,KSEC1(19),NWPT,NBPT,16,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(19).' c RETURN c END IF C C* UNPACK MONTH. C ------------- C c CALL BUNPCK(NBPW,KBUFF,KSEC1(20),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(20).' c RETURN c END IF C C* UNPACK DAY. C ----------- C c CALL BUNPCK(NBPW,KBUFF,KSEC1(21),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(21).' c RETURN c END IF C C* UNPACK HOUR. C ------------ C c CALL BUNPCK(NBPW,KBUFF,KSEC1(22),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(22).' c RETURN c END IF C C* UNPACK MINUTE. C -------------- C c CALL BUNPCK(NBPW,KBUFF,KSEC1(23),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(23).' c RETURN c END IF C C UNPACK SECOND C ------------- c CALL BUNPCK(NBPW,KBUFF,KSEC1(24),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(24).' c RETURN c END IF C C YEAR C c CALL BUNPCK(NBPW,KBUFF,KSEC1(25),NWPT,NBPT,16,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(25).' c RETURN c END IF C C* UNPACK MONTH. C ------------- C c CALL BUNPCK(NBPW,KBUFF,KSEC1(26),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(26).' c RETURN c END IF C C* UNPACK DAY. C ----------- C c CALL BUNPCK(NBPW,KBUFF,KSEC1(27),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(27).' c RETURN c END IF C C* UNPACK HOUR. C ------------ C c CALL BUNPCK(NBPW,KBUFF,KSEC1(28),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(28).' c RETURN c END IF C C* UNPACK MINUTE. C -------------- C c CALL BUNPCK(NBPW,KBUFF,KSEC1(29),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(29).' c RETURN c END IF C C UNPACK SECOND C ------------- c CALL BUNPCK(NBPW,KBUFF,KSEC1(30),NWPT,NBPT, 8,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(30).' c RETURN c END IF C C C UNPACK MOST SOUTHERN LATITUDE C ------------------------------ C CALL BUNPCK(NBPW,KBUFF,ISG,NWPT,NBPT,1,KERR) C IF(KERR.GT.0) THEN C WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(31).' C RETURN C END IF C c CALL BUNPCK(NBPW,KBUFF,KSEC1(31),NWPT,NBPT,32,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(31).' c RETURN c END IF C IF(ISG.EQ.1) KSEC1(31)=-KSEC1(31) C C UNPACK MOST WESTERN LONGITUDE C ------------------------------ c CALL BUNPCK(NBPW,KBUFF,KSEC1(32),NWPT,NBPT,32,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(32).' c RETURN c END IF C C UNPACK MOST NORTHERN LATITUDE C ------------------------------ C CALL BUNPCK(NBPW,KBUFF,ISG,NWPT,NBPT,1,KERR) C IF(KERR.GT.0) THEN C WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(33).' C RETURN C END IF c CALL BUNPCK(NBPW,KBUFF,KSEC1(33),NWPT,NBPT,32,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(33).' c RETURN c END IF C IF(ISG.EQ.1) KSEC1(33)=-KSEC1(33) C C UNPACK MOST EASTERN LONGITUDE C ------------------------------ c CALL BUNPCK(NBPW,KBUFF,KSEC1(34),NWPT,NBPT,32,KERR) c IF(KERR.GT.0) THEN c WRITE(KNTN,*) 'ERROR UNPACKING KSEC1(34).' c RETURN c END IF C END IF C C* 2.4 UNPACK LOCAL ADP CENTRE INFORMATION IF ANY. C ------------------------------------------- 240 CONTINUE C IF(KSEC0(3).LT.3) THEN IOFF=KSEC1(1)-17 IW=16 IBT=0 ELSEIF(KSEC0(3).EQ.3) THEN IOFF=KSEC1(1)-17 IW=18 IBT=0 ELSEIF(KSEC0(3).EQ.4) THEN C IOFF=KSEC1(1)-52 IOFF=KSEC1(1)-22 c IW=35 ! index for local info IW=19 ! index for local info IBT=0 END IF IF(IOFF.LE.JSEC1) THEN CALL BUNPKS(NBPW,KBUFF,ISEC1(1),NWPT,NBPT, 1 8,0,IOFF,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING LOCAL ADP CENTRE INFORMATION' WRITE(KNTN,*) 'IN SECTION 1.' RETURN END IF C C PACK LOCAL ADP CENTRE INFORMATION INTO KSE1(16) ONWARD. C CALL BUPKS(NBPW,KSEC1(IW),ISEC1,IW,IBT,8,0,IOFF,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LOCAL ADP CENTRE INFORMATION' RETURN END IF ELSE IOFF=0 KERR=4 CALL BUERR(KERR) GO TO 300 END IF C C C* 3. SET SUPPLEMENTARY INFORMATION. C ------------------------------ 300 CONTINUE C KSUP(1)=15+IOFF/4+1 C C ------------------------------------------------------------------ C RETURN END emoslib-000392+dfsg.1/bufrdc/buetdr.F0000755000175000017500000000661112127406245020326 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUETDR(KJ,KJ1,KDD,KSTACK,KERR) C C**** *BUETDR* C C C PURPOSE. C -------- C SOLVE BUFR TABLE D REFERENCE. C C C** INTERFACE. C ---------- C C *CALL* *BUETDR(KJ,KJ1,KDD,KSTACK,KERR)* C C INPUT : C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KJ* - POINTER TO KSTACK ARRAY C *KJ1* - POINTER TO LAST ELEMENT IN KSTACK C *KSTACK* - LIST OF DATA DESCRIPTORS C *KERR* - RETURN ERROR CODE C C C METHOD. C ------- C C NONE. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmtab.F" # include "bcmtabc.F" C CHARACTER CTABBEN*64,CTABBU*24 C DIMENSION ILIST(JELEM),KSTACK(*) C C ------------------------------------------------------------------ C C* 1. OBTAIN LIST OF DESCRIPTORS FROM BUFR TABLE D. C --------------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C DO 110 J=1,JTAB C IF(KDD.EQ.NTABDTR(J)) THEN I=J GO TO 120 END IF C 110 CONTINUE C KERR=20 CALL BUERR(KERR) WRITE(KNTN,*) 'REFERENCE INVOLVED ',KDD RETURN C 120 CONTINUE C J1=NTABDST(I) J2=NTABDL (I) J3=0 C DO 121 J=J1,J1+J2-1 C J3 = J3 +1 ILIST(J3) = NTABDSQ(J) C 121 CONTINUE C C ------------------------------------------------------------------ C* 2. PUSH DOWN DATA DESCRIPTION DESCRIPTORS C -------------------------------------- C TO MAKE ROOM FOR LIST. C ---------------------- 200 CONTINUE C J2M1=J2-1 C DO 210 J=KJ1,KJ+1,-1 C KSTACK(J+J2M1) = KSTACK(J) C 210 CONTINUE C C ------------------------------------------------------------------ C* 3. INSERT LIST IN PLACE OF SEQUENCE DESCRIPTORS. C --------------------------------------------- 300 CONTINUE C KJM1=KJ-1 C DO 310 J=1,J3 C KSTACK(KJM1+J)= ILIST(J) C 310 CONTINUE C C ------------------------------------------------------------------ C* 4. ADJUST DESCRIPTOR COUNT FOR LIST LENGTH. C ---------------------------------------- 400 CONTINUE C KJ = KJ - 1 KJ1 = KJ1 +J3 -1 C ------------------------------------------------------------------ C* 4.1 ADJUST NUMBER OF DATA DESCRIPTORS NOT PRESENT. C ---------------------------------------------- 610 CONTINUE C IF(N221.NE.0) N221= KJ1 - KJ + 1 C ----------------------------------------------------------------- 500 CONTINUE C RETURN C END emoslib-000392+dfsg.1/bufrdc/bunpck.F0000755000175000017500000000450612127406245020324 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUNPCK(KBPW,KSOURC,KDEST,KWPT,KBPT,KSIZE,KERR) C C**** *BUNPCK* C C C PURPOSE. C -------- C PURPOSE OF THIS ROUTINE IS TO UNPACK BIT STRING OF C KSIZE BITS, STARTED AT WORD KWPT OF ARRAY KSOURC AFTER C SKIPPING KBPT BITS. RESULT IS PUT INTO KDEST. AT THE END C POINTERS KWPT AND KBPT ARE ADJUSTED. C C** INTERFACE. C ---------- C C *CALL* *BUNPCK(KBPW,KSOURC,KDEST,KWPT,KBPT,KSIZE,KERR)* C C INPUT : C *KBPW* - NUMBER OF BITS IN COMPUTER WORD C *KSOURC* - SOURCE (CONTINUOUS BIT STRING OF C ARBITRARY LENGTH) C *KWPT* - WORD POINTER C *KBPT* - BIT POINTER C *KSIZE* - NUMBER OF BITS TO BE EXTRACTED C OUTPUT: C *KDEST* - DESTINATION C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C GBYTE - UNPACK BIT PATTERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C DIMENSION KSOURC(*) C C ------------------------------------------------------------------ C* 1. EXTRACT BIT PATTERN. C -------------------- 100 CONTINUE C IF(KERR.NE.0) RETURN C IF(KSIZE.GT.KBPW) THEN KERR=13 CALL BUERR(KERR) RETURN END IF C CALL GBYTE(KSOURC(KWPT),KDEST,KBPT,KSIZE) C C ------------------------------------------------------------------ C* 1.1 UPDATE WORD AND BIT POINTERS. C ----------------------------- 110 CONTINUE C KBPT = KBPT + KSIZE C IF(KBPT.GE.KBPW) THEN KBPT= KBPT - KBPW KWPT= KWPT +1 END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/bunexs.F0000755000175000017500000000334512127406245020346 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUNEXS( KLEN) C C**** *BUNEXS* C C C PURPOSE. C -------- C SETS WORD (NWPT) AND BIT(NBPT) POINTERS AT THE BEGINING C OF NEXT SECTION OF BUFR MESSAGE. C C** INTERFACE. C ---------- C C *CALL* *BUNEXS( KLEN)* C C INPUT : C *KLEN* - LENGTH OF SECTION IN BYTES C C METHOD. C ------- C C LENGTH OF EACH SECTION IS ADDED UP. WORD AND BIT POINTERS C POINTING TO THE BEGINING OF NEXT SECTION ARE CALCULATED. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 16/01/91. C C MODIFICATIONS. C -------------- C C NONE. C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C ------------------------------------------------------------------ C C* 1. SET UP POINTERS AT THE BEGINING OF THE NEXT SECTION. C ----------------------------------------------------- 100 CONTINUE C IBIT = (NWPT - 1)*NBPW +NBPT +KLEN * 8 - 24 C NWPTB = IBIT/NBPW + 1 NBPTB = IBIT - (NWPTB - 1)*NBPW C RETURN END emoslib-000392+dfsg.1/bufrdc/buexs5.F0000755000175000017500000000446212127406245020256 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEXS5( KBUFL,KBUFF,KERR) C C**** *BUEXS5* C C C PURPOSE. C -------- C EXPANDS SECTION 5 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUEXS5( KBUFL,KBUFF,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C OUTPUT: C *KERR* - RETURNED ERROR CODE C C METHOD. C -------- C C NONE. C C EXTERNALS. C ---------- C C BUNPKS - UNPACK BIT PATTERN IN REPEATED WAY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/09/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" C DIMENSION KBUFF(KBUFL) DIMENSION IBUFR(4) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C CHARACTER*4 YBUFR C C ------------------------------------------------------------------ C* 1. EXPAND SECTION 5. C ----------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C NWPT = NWPTB NBPT = NBPTB C C C* 1.2 UNPACK LAST FOUR OCTETS CONTAINING '7777'. C ------------------------------------------ C CALL BUNPKS(NBPW,KBUFF,IBUFR,NWPT,NBPT,8,0,4,KERR) C C* 1.3 CHECK IF THE LAST FOUR OCTETS ARE '7777'. C -------------------------------------- YBUFR=CHAR(IBUFR(1))//CHAR(IBUFR(2))// 1 CHAR(IBUFR(3))//CHAR(IBUFR(4)) IF(YBUFR.NE.'7777') THEN KERR = 2 WRITE(KNTN,'(1H ,A)') 'BUEXS5 :' CALL BUERR(KERR) RETURN END IF C C ----------------------------------------------------------------- RETURN END emoslib-000392+dfsg.1/bufrdc/Makefile0000755000175000017500000000100512127406245020362 0ustar amckinstryamckinstry# # Makefile for bufrdc # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ clean: \rm -f $(OBJECTS) emoslib-000392+dfsg.1/bufrdc/bcomreq.F0000755000175000017500000000304412127406245020466 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMREQ/ RQVAL(JELEM),NREQ(2),NRQ(JELEM),NRQL C C *NREQ* - FLAG C BIT NUMBER MEANING C C 1 - 0 NO BIT MAP DELIVERED TO USER C 1 BIT MAP DELIVERED TO USER C 2 - 0 NO PARTIAL EXPANSION C 1 PARTIAL EXPANSION C 3 - 0 NO Q/C REQUIRED C - 1 Q/C REQUIRED C 4 - 0 NO STATISTICS REQUIRED C - 1 STATISTICS C 5 - 0 NO DIFFRENCE STATISTICS C - 1 DIFFERENCE STATISTICS C 6 - 0 NO SUBSTITUTED VALUES C - 1 SUBSTITUTED VALUES C *NRQL* - NUMBER OF REQUESTED ELEMENTS C *NRQ* - LIST OF REQUESTED TABLE B REFERENCE C *RQVAL* - LIST OF VALUES SIGNIFYING REQUESTED ELEMENT C (SAY PRESSURE AT 50000 PA) C emoslib-000392+dfsg.1/bufrdc/bcmtab.F0000755000175000017500000000221612127406245020266 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMTAB/ NTABBTR(JTAB),NTABBS (JTAB),NTABBRV(JTAB), 1 NTABBDW(JTAB),NTABDTR(JTAB),NTABDST(JTAB), 2 NTABDL (JTAB),NTABDSQ(JTAB*20),NTABP(64,256) C C NTABBTR - TABLE B, TABLE REFERENCE ARRAY C NTABBS - TABLE B, SCALE ARRAY C NTABBRF - TABLE B, REFERENCE VALUE ARRAY C NTABBDW - TABLE B, DATA WIDTH ARRAY C NTABDTR - TABLE D, TABLE REFERENCE ARRAY C NTABDST - TABLE D, STARTING POINTERS ARRAY C NTABDL - TABLE D, LENGTHS ARRAY C NTABDSQ - TABLE D, LIST OF SEQUENCE DESCRIPTORS ARRAY C emoslib-000392+dfsg.1/bufrdc/buaug.F0000755000175000017500000001150712127406245020144 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUAUG(KPT,KDLEN,KDATA,KJ,KY,KSTACK,KERR) C C**** *BUAUG* C C C PURPOSE. C -------- C UPDATE AUGMENTED BUFR TABLE B. C C C** INTERFACE. C ---------- C C *CALL* *BUAUG(KPT,KDLEN,KDATA,KJ,KY,KSTACK,KER) C C INPUT : C *KPT* - POINTER TOO KDATA ARRAY C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DATA DESCRIPTOR C EXPANSION C *KJ* - POINTER TO KSTACK ARRAY C *KY* - OPERAND OF THE DATA DESCRIPTOR OPERATOR C C OUTPUT: C *KSTACK* - LIST OF ELEMENTS C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C GBYTE - PACK BIT PATHERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 04/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmatb.F" # include "bcmatbc.F" # include "bcmtab.F" # include "bcmtabc.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmbef.F" C CHARACTER CATBEN*64,CWTEN*64,CTABBEN*64 CHARACTER CATBU*24,CWTU*24,CTABBU*24 C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif DIMENSION KSTACK(*) DIMENSION KDATA(KDLEN) C ------------------------------------------------------------------ C C* 1. UPDATE AUGMENTED TABLE B . C -------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C C* 1.1 Y = 0 ? C ------- 110 CONTINUE C IF( KY.EQ.0) THEN C C* 1.1.1 CLEAR AUGMENTED TABLE B. C ------------------------ NJA= 0 C DO 111 J=1,JTAB C NATBTR(J)= 0 NATBS (J)= 0 NATBRV(J)= 0 NATBDW(J)= 0 CATBEN(J)=' ' CATBU (J)=' ' C 111 CONTINUE C GO TO 300 END IF C C* 1.2 GET NEXT DESCRIPTOR FROM STACK. C ------------------------------- 120 CONTINUE C KJ=KJ + 1 KDD = KSTACK(KJ) C C* 1.3 ELEMENT DESCRIPTOR ? C --------------------- 130 CONTINUE C IF = KDD /100000 IDIF= KDD -IF*100000 IX = IDIF/1000 IY = IDIF-IX*1000 C IF(IF.EQ.0) THEN C C* 1.3.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 M = M + 1 NWTEN(NWT)=836970 CWTEN(NWT)='REFERENCE VALUE' CWTU (NWT)=' ' NWTDW(NWT)= KY NWTS (NWT)=0 NWTRV(NWT)=0 NWTR (NWT)=0 C C* 1.3.2 ADD ENTRY TO AUGMENTED TABLE B . C -------------------------------- DO 131 J=1,JTAB C IF(NTABBTR(J).EQ.KDD) THEN I=J GO TO 133 END IF C 131 CONTINUE C KERR= 23 WRITE(KNTN,*) ' BUAUG :' CALL BUERR(KERR) GO TO 300 C 133 CONTINUE C NJA=NJA + 1 C NATBTR(NJA)=NTABBTR(I) NATBS (NJA)=NTABBS (I) NATBRV(NJA)=NTABBRV(I) NATBDW(NJA)=NTABBDW(I) CATBEN(NJA)=CTABBEN(I) CATBU (NJA)=CTABBU (I) C C* 1.3.3 COMPLITE ENTRY WITH NEW REFERENCE VALUE C ---------------------------------------- C FROM DATA SECTION. C ------------------ C KPT=KPT+1 NATBRV(NJA)=KDATA(KPT) C C 1.3.4 UPDATE WORKING TABLES C --------------------- 135 CONTINUE C C CALL BUEPWT(KDD,KERR) C IF(KERR.GT.0) RETURN C GO TO 120 C END IF C C ------------------------------------------------------------------ C C* 1.4 CHANGE REFERENCE VALUE ? C ------------------------ 140 CONTINUE C IF( IF.EQ.2.AND.IX.EQ.3) THEN IF(IY.EQ.255) GO TO 300 KY=IY GO TO 120 END IF C ------------------------------------------------------------------ 200 CONTINUE C KERR=23 WRITE(KNTN,*) ' BUAUG :' CALL BUERR(KERR) C C ------------------------------------------------------------------ 300 CONTINUE C RETURN C END emoslib-000392+dfsg.1/bufrdc/buens4.F0000755000175000017500000007277612127406245020260 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUENS4(KSEC3,KSEC4,KELEM,KVALS,VALUES,CVALS, 1 KBUFL,KBUFF,KERR) C C**** *BUENS4* C C C PURPOSE. C -------- C PACK PRELIMINARY ITEMS AND DATA OF SECTION 4 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUENS4(KSEC3,KSEC4,KELEM,KVALS,VALUES,CVALS, C KBUFL,KBUFF,KERR)* C C INPUT : C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *KSEC4* - ARRAY CONTAINING SECTION 4 INFORMATION C KSEC4( 1)-- LENGTH OF SECTION 4 (BYTES) C KSEC4( 2)-- RESERVED C *KELEM* - NUMBER OF ELEMENTS IN BUFR TEMPLATE C *KVALS* - DIMENSION OF VALUES ARRAY C *VALUES* - REAL ARRAY (EXPANDED DATA VALUES) C C OUTPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C BUPCK - PACK BIT PATHERN C BUPKS - PACK BIT PATHERN IN REPEATED WAY, C POINTER ADJUSTMENT C BUOCTN - SET LENGTH OF SECTION C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 17/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmbef.F" # include "bcprq.F" # include "bcmoff.F" C CHARACTER*64 CWTEN CHARACTER*24 CWTU C DIMENSION KBUFF(KBUFL) C DIMENSION KSEC3(JSEC3),KSEC4(JSEC4) #ifndef R_4 REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS REAL*8 VAL,VAL8S REAL*8 VCHECK REAL*8 RVALS(JWORK) #else REAL VALUES(KVALS) REAL RVIND REAL EPS REAL VAL REAL VCHECK REAL RVALS(JWORK) #endif C REAL*4 RVALS4(JWORK) REAL*4 VAL4,VAL4S INTEGER*4 I4 REAL*8 R8 REAL*4 R4 LOGICAL OBIG, OEQUAL LOGICAL BIG_ENDIAN C DIMENSION IVALS(JWORK),INC(JELEM),ILOCVAL(JELEM) DIMENSION IIVALS(JELEM) C CHARACTER*80 CVALS(KVALS) CHARACTER*80 YVAL C DIMENSION IMASK(8),IMAXV(32) DATA IMASK/1,2,4,8,16,32,64,128/ C DATA ILOCVAL/JELEM*0/ C DATA IMAXV/1,3,7,15,31,63,127,255,511,1023,2047,4095,8191, 1 16383,32767,65535,131071,262143,524287,1048575,2097151, 2 4194305,8388607,16777215,33554431,671108863,134217727, 3 268435455,536870911,1073741823,2147483647,2147483647/ C SAVE IWPTB,IBPTB C ------------------------------------------------------------------ C* 1. PACK PRELIMINARY ITEMS OF SECTION 4. C ------------------------------------ 100 CONTINUE C IF(KERR.GT.0) RETURN C R4=3.4028235e+38 R8=1.7976931348623157D+308 C C* 1.1 KEEP POINTERS TO THE BEGINING OF THE SECTION. C --------------------------------------------- 110 CONTINUE C IF(OMULTI) THEN IF(NSUBSET.EQ.1) THEN IWPTB = NWPT IBPTB = NBPT END IF ELSE IWPTB = NWPT IBPTB = NBPT END IF c IF(OMULTI.AND.NSUBSET.EQ.1) THEN IF(NSUBSET.EQ.1) THEN C C* 1.2 PACK LENGTH OF SECTION 4. C ------------------------- 120 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LENGTH OF SECTION 4.' RETURN END IF C C* 1.4 PACK RESERVED BYTE. C ------------------- 140 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'ERROR PACKING RESERVED BYTE IN SECTION 4.' RETURN END IF C END IF C ----------------------------------------------------------------- C* 2. PACK DATA. C ---------- 200 CONTINUE C C IKK=KELEM*KSEC3(3) C IF(IKK.GT.JWORK) THEN C KERR=17 C CALL BUERR(KERR) C WRITE(KNTN,*)'CHECK VALUES OF KELEM AND NUMBER OF SUBSETS KSEC3(3).' C RETURN C END IF C IF(IKK.GT.KVALS) THEN C KERR=14 C CALL BUERR(KERR) C WRITE(KNTN,*)'KVALS MUST BE GREATER THAN KELEM*KSEC3(3).' C RETURN C END IF C C* 2.1 CHECK IF DATA HAS TO BE COMRESSED. C ---------------------------------- 210 CONTINUE C IB=0 IF(IAND(KSEC3(4),IMASK(7)).NE.0) IB=1 C C C ------------------------------------------------------------------ C C* 3. UNCOMPRESSED DATA. C ------------------ 300 CONTINUE C IF(IB.EQ.0) THEN C N=KSEC3(3) IF(OMULTI) N=1 DO 301 I=1,N C IF(OMULTI) THEN IM1K=(NSUBSET-1)*KELEM ELSE IM1K=(I-1)*KELEM END IF C DO 302 J=1,M C C IF(NWTR(J).EQ.31011.OR.NWTR(J).EQ.31012) THEN C IRP=VALUES(J+IM1K) C DO III=J+2,J+IRP C NWTDW(iii)=0 C END DO C END IF C IF(NWTDW(J).EQ.0) GO TO 302 C IREF =NWTRV(J) ISCALE=NWTS (J) IBDW =NWTDW(J) C JI=J+IM1K C VAL=VALUES(JI) IF(NWTEN(J).EQ.-999) THEN IBYTES=NWTDW(J)/8 IF(ABS(VAL-RVIND)/RVIND.LE.EPS) THEN IF(IBYTES.EQ.4) VAL=R4 IF(IBYTES.EQ.8) VAL=R8 END IF IF(IBYTES.EQ.4) THEN VAL4=VAL OBIG=BIG_ENDIAN() IF(.NOT.OBIG) THEN CALL SWAP_BYTES4(VAL4,VAL4S) VAL4=VAL4S END IF CALL BUGBYTESR4(VAL4,ILOCVAL,0,8,0,IBYTES) ELSE OBIG=BIG_ENDIAN() IF(.NOT.OBIG) THEN CALL SWAP_BYTES8(VAL,VAL8S) VAL=VAL8S END IF CALL BUGBYTESR8(VAL,ILOCVAL,0,8,0,IBYTES) END IF ISKIP=0 CALL BUPKS(NBPW,KBUFF(NWPT),ILOCVAL,NWPT,NBPT,8, 1 ISKIP,IBYTES,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING REAL IEEE' CALL BUERR(KERR) RETURN END IF GO TO 302 END IF C IF(NWTEN(J).EQ.836970) THEN IF(VAL.LT.0) THEN IPACK=ABS(NINT(VAL)) IBDW1=1 CALL BUPCK(NBPW,KBUFF(NWPT),1,NWPT,NBPT,IBDW1,KERR) IBDWM1=IBDW-1 CALL BUPCK(NBPW,KBUFF(NWPT),IPACK,NWPT,NBPT,IBDWM1,KERR) ELSE IPACK=NINT(VAL) CALL BUPCK(NBPW,KBUFF(NWPT),IPACK,NWPT,NBPT,IBDW,KERR) END IF GO TO 302 END IF C IF(NWTEN(J).EQ.658367) THEN IF(ABS(VAL-RVIND)/RVIND.LE.EPS) THEN YVAL=' ' NCHAR=NWTDW(J) DO 3031 II=1,NCHAR/8 C IPACK=ICHAR(YVAL(II:II)) IPACK=255 IF(IPACK.GT.IMAXV(8)) IPACK=IMAXV(8) CALL BUPCK(NBPW,KBUFF(NWPT),IPACK,NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'ERROR PACKING ',JI,' VALUE FOR ',J, 1 ' ELEMENT.' RETURN END IF 3031 CONTINUE GO TO 302 ELSE IST=NINT(VAL)/1000 YVAL=CVALS(IST) NCHAR=NWTDW(J)/8 DO 303 II=1,NCHAR IPACK=ICHAR(YVAL(II:II)) IF(IPACK.GT.IMAXV(8)) IPACK=IMAXV(8) CALL BUPCK(NBPW,KBUFF(NWPT),IPACK,NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'ERROR PACKING ',JI,' VALUE FOR ',J, 1 ' ELEMENT.' RETURN END IF 303 CONTINUE GO TO 302 END IF END IF C IF(ABS(VAL-RVIND)/RVIND.LE.EPS) THEN CALL BUPCK(NBPW,KBUFF(NWPT),NMASK(IBDW),NWPT,NBPT,IBDW,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'ERROR PACKING ',JI,' VALUE FOR ',J, 1 ' ELEMENT.' RETURN END IF ELSE C C CHECK VAL VALUE FOR POSSIBLE OVERFLOW C IF(NOFL.EQ.1) THEN IF(ABS(VAL).LT.EPS) VAL = 0.0 IF(VAL.GE.0) THEN ICHECK=IMAXV(IBDW) ICHECK=ICHECK+IREF VCHECK=ICHECK*10.**(-ISCALE) C IF(VAL .GT. VCHECK) THEN WRITE(KNTN,*) 'VALUE=',VAL,'TOO BIG FOR ', 1 J,' ELEMENT ',I,' SUBSET.' VAL=VCHECK+1. END IF ELSE VCHECK=IREF/10.**ISCALE IF(VAL.LT.VCHECK) THEN WRITE(KNTN,*)'VALUE=',VAL,'TOO BIG NEGATIVE FOR ', 1 J,' ELEMENT ',I,' SUBSET.' VAL=IREF/10.**ISCALE-1. END IF END IF END IF IF(ISCALE.LT.0) THEN ISCALE=IABS(ISCALE) IPACK=NINT(VAL/10.**ISCALE) - IREF ELSE IPACK=NINT(VAL*10.**ISCALE) - IREF END IF C C CHECK IF VALUE TO BE PACKED NEGATIVE C IF(IPACK.LT.0) THEN KERR=-33 WRITE(KNTN,*)'BUENS4:' WRITE(KNTN,*)'VALUE ',IPACK,' IS NEGATIVE' WRITE(KNTN,*)'PROBABLY REFERENCE VALUE TOO BIG.' WRITE(KNTN,*)J,' ELEMENT = ',NWTR(J), 1 ' REFERENCE VALUE = ',IREF IPACK=0 WRITE(KNTN,*)'ELEMENT VALUE PACKED AS',IREF END IF C C* CHECK IF VALUE TO BE PACKED TOO BIG. C IF(IPACK.GT.IMAXV(IBDW)) THEN C IF(NPMISS.EQ.0) THEN KERR=-28 WRITE(KNTN,*)'VALUE ',IPACK,' TOO BIG.' WRITE(KNTN,*)'VALUE FOR ',J,' ELEMENT AND ',I, 1 ' SUBSET' WRITE(KNTN,*)'PACKED AS MISSING VALUE FOR', 1 ' DATA WIDTH -1.' IPACK=IMAXV(IBDW)-1 ELSE C C ALL ELEMENTS IN CLASS 1 TO 9 MUST BE CORRECT C IF(NWTR(J).GE.31000.AND.NWTR(J).LE.31012) THEN WRITE(KNTN,*)'VALUE ',IPACK,' TOO BIG.' WRITE(KNTN,*)'VALUE FOR ',J,' ELEMENT AND ',I, 1 ' SUBSET' KERR=28 CALL BUERR(KERR) RETURN END IF C KERR=-28 WRITE(KNTN,*)'VALUE ',IPACK,' TOO BIG.' WRITE(KNTN,*)'VALUE FOR ',J,' ELEMENT AND ',I, 1 ' SUBSET' WRITE(KNTN,*)'PACKED AS MISSING VALUE FOR', 1 ' DATA WIDTH.' IPACK=IMAXV(IBDW) END IF END IF CALL BUPCK(NBPW,KBUFF(NWPT),IPACK,NWPT,NBPT,IBDW,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'ERROR PACKING ',JI,' VALUE FOR ',J, 1 ' ELEMENT.' WRITE(KNTN,*)'VALUE ',IPACK,' DATA WIDTH ',IBDW, 1 ' BITS' RETURN END IF END IF C 302 CONTINUE 301 CONTINUE C NWP=NWPT NBP=NBPT END IF C C* 4. COMPRESS DATA. C -------------- 400 CONTINUE C IF(IB.EQ.1) THEN DO 402 J=1,M C IF(NWTDW(J).EQ.0) GO TO 402 C IREF =NWTRV(J) ISCALE=NWTS (J) IBDW =NWTDW(J) C DO 401 I=1,KSEC3(3) C JI=J+(I-1)*KELEM C IF(NWTEN(J).EQ.658367) THEN IVALS(JI)=VALUES(JI) GO TO 401 END IF C IF(NWTEN(J).EQ.-999) THEN IF(NWTDW(J).EQ.32) THEN IF(ABS(VALUES(JI)-RVIND)/RVIND.LT.EPS) THEN RVALS4(JI)=R4 ELSE RVALS4(JI)=VALUES(JI) END IF ELSE IF(ABS(VALUES(JI)-RVIND)/RVIND.LT.EPS) THEN RVALS(JI)=R8 ELSE RVALS(JI)=VALUES(JI) END IF END IF GO TO 401 END IF C IF(NWTEN(J).EQ.836970) THEN ISG_REF=0 IF(VALUES(JI).LT.0) ISG_REF=1 IVALS(JI)=IABS(NINT(VALUES(JI))) GO TO 401 END IF C IF(ABS(VALUES(JI)-RVIND)/RVIND.LE.EPS) THEN IVALS(JI)=NMASK(IBDW) ELSE IF(NOFL.EQ.1) THEN IF(VALUES(JI).GE.0) THEN ICHECK=IMAXV(IBDW) ICHECK=ICHECK+IREF VCHECK=ICHECK*10.**(-ISCALE) C IF(VALUES(JI) .GT. VCHECK) THEN WRITE(KNTN,*) 'VALUE=',VALUES(JI),'TOO BIG FOR ', 1 J,' ELEMENT AND ',I,' SUBSET.' VALUES(JI)=VCHECK+1. END IF ELSE VCHECK=IREF/10.**ISCALE IF(VALUES(JI).LT.VCHECK) THEN WRITE(KNTN,*) 'VALUE=',VALUES(JI), 1 'TOO BIG NEGATIVE FOR ', 1 J,' ELEMENT AND ',I,' SUBSET.' VALUES(JI)=IREF/10.**ISCALE-1. END IF END IF END IF C IF(ISCALE.LT.0) THEN ISCAL=IABS(ISCALE) IPACK=NINT(VALUES(JI)/10.**ISCAL ) - IREF ELSE IPACK=NINT(VALUES(JI)*10.**ISCALE) - IREF END IF C IF(IPACK.LT.0) THEN WRITE(KNTN,*)'BUENS4 :' KERR=-33 WRITE(KNTN,*)'VALUE ',IPACK,' IS NEGATIVE' WRITE(KNTN,*)'PROBABLY REFERENCE VALUE TOO BIG.' WRITE(KNTN,*)J,'ELEMENT = ',NWTR(J), 1 ' REFERENCE VALUE = ',IREF IPACK=0 WRITE(KNTN,*)'ELEMENT PACKED AS',IREF END IF C C REPLACE IPACK VALUE WITH MISSING VALUE FOR IBDW -1 C IF GREATER THEN MAXIMUM ALLOWED. C IF(IPACK.GT.IMAXV(IBDW)) THEN C IF(NPMISS.EQ.0) THEN KERR=-28 WRITE(KNTN,*)'VALUE ',IPACK,' TOO BIG.' WRITE(KNTN,*)'VALUE FOR ',J,' ELEMENT AND ',I, 1 ' SUBSET' WRITE(KNTN,*)'PACKED AS MISSING VALUE FOR DATA ', 1 'WIDTH -1.' IPACK=IMAXV(IBDW)-1 ELSE C C ALL ELEMENTS IN CLASS 1 TO 9 MUST BE CORRECT C IF(NWTR(J).GE.31000.AND.NWTR(J).LE.31012) THEN KERR=28 CALL BUERR(KERR) WRITE(KNTN,*)'VALUE ',IPACK,' TOO BIG.' WRITE(KNTN,*)'VALUE FOR ',J,' ELEMENT AND ',I, 1 ' SUBSET' RETURN END IF C KERR=-28 WRITE(KNTN,*)'VALUE ',IPACK,' TOO BIG.' WRITE(KNTN,*)'VALUE FOR ',J,' ELEMENT AND ',I, 1 ' SUBSET' WRITE(KNTN,*)'PACKED AS MISSING VALUE.' IPACK=IMAXV(IBDW) END IF END IF IVALS(JI)=IPACK C END IF C 401 CONTINUE 402 CONTINUE C C* 4.1 CHECK IF ALL VALUES ARE MISSING. C 410 CONTINUE C DO 411 I=1,M C IF(NWTDW(I).EQ.0) GO TO 411 IBDW =NWTDW(I) C OMIS=.TRUE. IF(NWTEN(I).EQ.658367) THEN OMIS=.FALSE. ELSEIF(NWTEN(I).EQ.-999) THEN OMIS=.FALSE. ELSE DO 412 J=1,KSEC3(3) IJ=I+(J-1)*KELEM IF(IVALS(IJ).NE.NMASK(IBDW)) THEN OMIS=.FALSE. END IF 412 CONTINUE END IF C IF(.NOT.OMIS) THEN C IF(NWTEN(I).NE.658367.AND.NWTEN(I).NE.-999) THEN C C FIND MINIMUM VALUE FOR ELEMENT C MIN=IVALS(I) DO 413 J=1,KSEC3(3) IJ=I+(J-1)*KELEM IF(IVALS(IJ).LT.MIN) MIN=IVALS(IJ) 413 CONTINUE C C FIND INCREMENTS C DO 414 J=1,KSEC3(3) IJ=I+(J-1)*KELEM INC(J)=IVALS(IJ)-MIN IF(IVALS(IJ).EQ.NMASK(IBDW)) INC(J)=NVIND 414 CONTINUE C C FIND NUMBER OF BITS NEEDED FOR MAX VALUE OF INCREMENT C MAX=0 DO 415 J=1,KSEC3(3) IF(INC(J).NE.NVIND.AND.INC(J).GT.MAX) MAX=INC(J) 415 CONTINUE C C CHECK IF ALL INCREMENTS ARE ZERO C INC0=0 DO 419 J=1,KSEC3(3) IF(INC(J).NE.0) INC0=1 419 CONTINUE C C FIND NUMBER OF BITS NEEDED C IF(INC0.NE.0) THEN MAX=MAX+1 DO 416 J=1,32 IR=MAX/2 IF(IR.EQ.0) GO TO 417 MAX=IR 416 CONTINUE C END IF C 417 CONTINUE C INCBIT=0 IF(INC0.NE.0) INCBIT=J C C REPLACE MISSING VALUES FOR INCREMENT BY ALL BITS SET TO 1. C DO 418 J=1,KSEC3(3) IF(INC(J).EQ.NVIND) INC(J)=NMASK(INCBIT) 418 CONTINUE END IF END IF C C* 4.2 PACK DATA IN COMPRESSED FORM. C ----------------------------- 420 CONTINUE C IF(NWTEN(I).EQ.658367) THEN C OSTRING=.TRUE. JI1=I IST1=IVALS(JI1)/1000 ICS=NWTDW(I)/8 C ICS=NINT(VALUES(JI1))-IST1*1000 NCSMAX=ICS DO IX=ICS,1,-1 IF(CVALS(IST1)(IX:IX).NE.' ') THEN NCS=IX GO TO 522 END IF END DO 522 NCSMAX=NCS DO J=2,KSEC3(3) JI=I+(J-1)*KELEM IST=VALUES(JI)/1000 IF(CVALS(IST1).NE.CVALS(IST)) OSTRING=.FALSE. C FIND MAX SIZE OF STRINGS ICS=NWTDW(I)/8 C ICS=NINT(VALUES(JI))-IST*1000 DO IX=ICS,1,-1 IF(CVALS(IST)(IX:IX).NE.' ') THEN NCS=IX GO TO 521 END IF END DO 521 CONTINUE IF(NCS.GT.NCSMAX) NCSMAX=NCS END DO C IF(OSTRING) THEN C INCHAR=NWTDW(I)/8 ISKIP=0 DO II=1,INCHAR IPACK=ICHAR(CVALS(IST1)(II:II)) CALL BUPCK(NBPW,KBUFF(NWPT),IPACK,NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' CALL BUERR(KERR) RETURN END IF END DO IPACK=0 CALL BUPCK(NBPW,KBUFF(NWPT),IPACK,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' CALL BUERR(KERR) RETURN END IF ELSE C C PACK LOCAL REFERENCE VALUE FOR ELEMENT C INCHAR=NWTDW(I)/8 ISKIP=0 CALL BUPKS(NBPW,KBUFF(NWPT),ILOCVAL,NWPT,NBPT,8, 1 ISKIP,INCHAR,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING LOCAL REFERENCE VALUE' CALL BUERR(KERR) RETURN END IF C C PACK NUMBER OF BITS FOR INCREMENTS/NUMBER OF CHARACTERS C C CALL BUPCK(NBPW,KBUFF(NWPT),INCHAR,NWPT,NBPT,6,KERR) CALL BUPCK(NBPW,KBUFF(NWPT),NCSMAX,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING NUMBER OF BITS FOR INCREMENTS' CALL BUERR(KERR) RETURN END IF C C PACK INCREMENTS C DO 421 J=1,KSEC3(3) C JI=I+(J-1)*KELEM C IST=IVALS(JI)/1000 YVAL=CVALS(IST) C DO 423 II=1,NCSMAX IPACK=ICHAR(YVAL(II:II)) CALL BUPCK(NBPW,KBUFF(NWPT),IPACK,NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' CALL BUERR(KERR) RETURN END IF 423 CONTINUE C 421 CONTINUE C END IF ELSEIF(NWTEN(I).EQ.-999) THEN C OEQUAL=.TRUE. DO J=1,KSEC3(3)-1 JI=I+(J-1)*KELEM JII=I+J*KELEM IF(NWTDW(I).EQ.32) THEN IF(ABS(RVALS4(JI)-RVALS4(JII))/RVALS4(JII).GT.EPS) THEN OEQUAL=.FALSE. GO TO 4444 END IF ELSE IF(ABS(RVALS(JI)-RVALS(JII))/RVALS(JII).GT.EPS) THEN OEQUAL=.FALSE. GO TO 4444 END IF END IF END DO C C PACK LOCAL REFERENCE VALUE FOR ELEMENT C 4444 INCHAR=NWTDW(I)/8 ISKIP=0 IF(.NOT.OEQUAL) THEN C CALL BUPKS(NBPW,KBUFF(NWPT),ILOCVAL,NWPT,NBPT,8, 1 ISKIP,INCHAR,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING LOCAL REFERENCE VALUE' CALL BUERR(KERR) RETURN END IF C C PACK NUMBER OF BITS FOR INCREMENTS/NUMBER OF CHARACTERS C CALL BUPCK(NBPW,KBUFF(NWPT),INCHAR,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING NUMBER OF BITS 1 FOR INCREMENTS' CALL BUERR(KERR) RETURN END IF C C PACK INCREMENTS C DO J=1,KSEC3(3) C JI=I+(J-1)*KELEM C IF(NWTDW(I).EQ.32) THEN VAL4=RVALS4(JI) CALL BUGBYTESR4(VAL4,IIVALS,0,8,0,INCHAR) ELSE VAL=RVALS(JI) CALL BUGBYTESR8(VAL,IIVALS,0,8,0,INCHAR) END IF C DO IZ=1,INCHAR IPACK=IIVALS(IZ) CALL BUPCK(NBPW,KBUFF(NWPT),IPACK,NWPT,NBPT,8,KERR) END DO C END DO ELSE IBYTES=NWTDW(I)/8 IF(IBYTES.EQ.4) THEN VAL4=RVALS4(I) OBIG=BIG_ENDIAN() IF(.NOT.OBIG) THEN CALL SWAP_BYTES4(VAL4,VAL4S) VAL4=VAL4S END IF CALL BUGBYTESR4(VAL4,ILOCVAL,0,8,0,IBYTES) ELSE VAL=RVALS(I) OBIG=BIG_ENDIAN() IF(.NOT.OBIG) THEN CALL SWAP_BYTES8(VAL,VAL8S) VAL=VAL8S END IF CALL BUGBYTESR8(VAL,ILOCVAL,0,8,0,IBYTES) END IF ISKIP=0 CALL BUPKS(NBPW,KBUFF(NWPT),ILOCVAL,NWPT,NBPT,8, 1 ISKIP,IBYTES,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING REAL IEEE' CALL BUERR(KERR) RETURN END IF C CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING NUMBER OF BITS FOR' WRITE(KNTN,*)'INCREMENTS FOR ',I,' ELEMENT.' RETURN END IF END IF C 4211 CONTINUE C ELSE IF(OMIS) THEN C C PACK LOCAL REFERENCE VALUE FOR ELEMENT SET TO MISSING VALUE. C CALL BUPCK(NBPW,KBUFF(NWPT),NMASK(IBDW),NWPT,NBPT, 1 IBDW,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING LOCAL REFERENCE VALUE ' WRITE(KNTN,*)I,' ELEMENT.' RETURN END IF C C PACK NUMBER OF BITS FOR INCREMENTS (SET TO ZERO) C CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING NUMBER OF BITS FOR' WRITE(KNTN,*)'INCREMENTS FOR ',I,' ELEMENT.' RETURN END IF C ELSE C IF(INCBIT.EQ.0) THEN C C C PACK LOCAL REFERENCE VALUE FOR ELEMENT C IF(NWTEN(I).EQ.836970) THEN IF(ISG_REF.EQ.1) THEN CALL BUPCK(NBPW,KBUFF(NWPT),1,NWPT,NBPT,1,KERR) CALL BUPCK(NBPW,KBUFF(NWPT),MIN,NWPT,NBPT,IBDW-1, 1 KERR) ELSE CALL BUPCK(NBPW,KBUFF(NWPT),MIN,NWPT,NBPT,IBDW, 1 KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING LOCAL REFERENCE VALUE' WRITE(KNTN,*)'FOR ',I,' ELEMENT IN ',IBDW,' BITS.' RETURN END IF END IF ELSE CALL BUPCK(NBPW,KBUFF(NWPT),MIN,NWPT,NBPT,IBDW,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING LOCAL REFERENCE VALUE' WRITE(KNTN,*)'FOR ',I,' ELEMENT IN ',IBDW,' BITS.' RETURN END IF ENDIF C C PACK NUMBER OF BITS FOR INCREMENTS C CALL BUPCK(NBPW,KBUFF(NWPT),INCBIT,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING NUMBER OF BITS FOR' WRITE(KNTN,*)'INCREMENTS FOR ',I,' ELEMENT.' RETURN END IF C ELSE C C PACK LOCAL REFERENCE VALUE FOR ELEMENT C IF(NWTEN(I).EQ.836970) THEN IF(ISG_REF.EQ.1) THEN CALL BUPCK(NBPW,KBUFF(NWPT),1,NWPT,NBPT,1,KERR) CALL BUPCK(NBPW,KBUFF(NWPT),MIN,NWPT,NBPT, 1 IBDW-1,KERR) ELSE CALL BUPCK(NBPW,KBUFF(NWPT),MIN,NWPT,NBPT,IBDW, 1 KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING LOCAL REFERENCE VALUE' WRITE(KNTN,*)'FOR ',I,' ELEMENT IN ',IBDW,' BITS.' RETURN END IF END IF ELSE CALL BUPCK(NBPW,KBUFF(NWPT),MIN,NWPT,NBPT,IBDW, 1 KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING LOCAL REFERENCE VALUE' WRITE(KNTN,*)'FOR ',I,' ELEMENT IN ',IBDW,' BITS.' RETURN END IF ENDIF C C PACK NUMBER OF BITS FOR INCREMENTS C CALL BUPCK(NBPW,KBUFF(NWPT),INCBIT,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*)'BUENS4 :' WRITE(KNTN,*)'ERROR PACKING NUMBER OF BITS FOR' WRITE(KNTN,*) 'INCREMENTS FOR ',I,' ELEMENT.' RETURN END IF C C PACK INCREMENTS C CALL BUPKS(NBPW,KBUFF(NWPT),INC,NWPT,NBPT, 1 INCBIT,0,KSEC3(3),KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'BUENS4 :' WRITE(KNTN,*) 'ERROR PACKING INCREMENTS FOR',I, 1 ' ELEMENT' RETURN END IF C END IF END IF END IF C 411 CONTINUE C END IF C C* 5. SET UP LENGTH OF THE SECTION 4. C -------------------------------- 500 CONTINUE C IF(OMULTI) THEN IF(NSUBSET.EQ.KSEC3(3)) THEN CALL BUOCTN(IWPTB,IBPTB,KBUFL,KBUFF,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF END IF ELSE CALL BUOCTN(IWPTB,IBPTB,KBUFL,KBUFF,KERR) IF(KERR.GT.0) THEN CALL BUERR(KERR) RETURN END IF END IF C C ------------------------------------------------------------------ RETURN END emoslib-000392+dfsg.1/bufrdc/buxdes.F0000755000175000017500000001114512127406245020331 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUXDES(K,KSEC1,KTDLEN,KTDLST,KDLEN,KDATA,KELEM, 2 KTDEXL,KTDEXP,CNAMES,CUNITS,KERR) C C**** *BUXDES* C C C PURPOSE. C -------- C EXPAND DATA DESCRIPTORS TO SHOW USER TEMPLATE HE C DESCRIBED BY ARAY KTDLST AND KDATA. C C C** INTERFACE. C ---------- C C *CALL BUXDES(K,KSEC1,KTDLEN,KTDLST,KDLEN,KDATA,KELEM, C KTDEXL,KTDEXP,CNAMES,CUNITS,KERR) C C INPUT : C C *K* - AN INTEGER, PRINTING SWITCH 0 - NO PRINT C 1 - PRINT C *KSEC1* - INTEGER ARRAY OF AT LEAST 40 WORDS CONTAINING C SECTION 1 INFORMATION C *KTDLEN* - INTEGER NUMBER OF DATA DESCRIPTORS IN SECTION 3 C *KTDLST* - INTEGER ARRAY OF AT LEAST KTDLEN WORDS C CONTAINING DATA DESCRIPTORS FOR BUFR SECTION 3 C *KDLEN* - INTEGER (DIMENSION OF KDATA ARRAY) C *KDATA* - INTEGER ARRAY CONTAINING DATA NEEDED FOR DATA C DESCRIPTOR EXPANSION (DELAYED REPLICATION FACTORS) C WHICH APPEAR IN THE VALUES ARRAY C C *KELEM* - INTEGER NUMBER OF ELEMENTS IN BUFR TEMPLATE. C C OUTPUT: C *KTDEXL* - AN INTEGER CONTAINING NUMBER OF EXPANDED ELEMENTS C *KTDEXP* - AN INTEGER ARRAY CONTAINING EXPANDED LIST OF DESCRIPTORS C *CNAMES* - CHARACTER*64 ARRAY OF KELEM CONTAINING ELEMENT NAMES C *CUNITS* - CHARACTER*24 ARRAY OF KELEM CONTAINING ELEMENT UNITS C *KERR* - RETURN ERROR CODE C C C METHOD. C ------- C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/06/93. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmdefc.F" # include "bcmbef.F" # include "bcmwt.F" C DIMENSION KSEC1(JSEC1),KSEC3(JSEC3) #ifndef R_4 REAL*8 VALUES(JCVAL) REAL*8 RVIND REAL*8 EPS #else REAL VALUES(JCVAL) REAL RVIND REAL EPS #endif DIMENSION KTDLST(KTDLEN) DIMENSION KDATA(KDLEN) DIMENSION KTDEXP(KELEM) C CHARACTER*4 CECMWF,CUSER CHARACTER*64 CNAMES(KELEM) CHARACTER*24 CUNITS(KELEM) C C ------------------------------------------------------------------ C C* 1. SET CONSTANTS. C -------------- 100 CONTINUE C KERR=0 IF(CECMWF.NE.'ECMF') THEN CALL BUIVAR(KERR) KPT = 0 CECMWF='ECMF' END IF C C ----------------------------------------------------------------- C* 2. LOAD BUFR TABLES. C ----------------- 200 CONTINUE C CALL BUETAB(KSEC1,KERR) IF(KERR.GT.0) RETURN C C ------------------------------------------------------------------ C 6. EXPAND DATA DESCRIPTORS. C ------------------------ 600 CONTINUE C CALL BUEDD(KPT,KTDLEN,KTDLST,KDLEN,KDATA,KSEC3, 1 KVALS,VALUES,KELEM,CNAMES,CUNITS,KERR) C IF(KERR.GT.0) RETURN C KTDEXL =M DO 301 I=1,KTDEXL KTDEXP(I)=NWTR(I) 301 CONTINUE C IF(K.EQ.1) THEN C WRITE(KNTN,'(1H ,//)') WRITE(KNTN,'(1H ,A)') ' DATA DESCRIPTORS (UNEXPANDED)' C WRITE(KNTN,'(1H )') DO 110 I=1,KTDLEN WRITE(KNTN,'(1H ,I4,2X,I6.6)') I,KTDLST(I) 110 CONTINUE C WRITE(KNTN,'(1H ,/)') WRITE(KNTN,'(1H ,A)') ' DATA DESCRIPTORS (EXPANDED)' WRITE(KNTN,'(1H )') WRITE(KNTN,'(1H ,A,A)')' ELEMENT NAME', 1 ' UNIT' WRITE(KNTN,'(1H )') C DO 120 I=1,KTDEXL WRITE(KNTN,'(1H ,I5,2X,I6.6,2X,A,2X,A)') I,KTDEXP(I), 1 CNAMES(I)(1:64),CUNITS(I)(1:24) 120 CONTINUE END IF C C C ----------------------------------------------------------------- RETURN C END emoslib-000392+dfsg.1/bufrdc/bugbytesR4.F0000755000175000017500000000212112127406245021063 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUGBYTESR4(KSOURCE,DESTINATION,KSKIP,KWIDTH, 1 KSKIPBETWEEN,KNUMBER) C C**** *BUGBYTESR4* C C C PURPOSE. C -------- C C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JULY 2008 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) REAL*4 DESTINATION CALL GBYTES(KSOURCE,DESTINATION,KSKIP,KWIDTH,KSKIPBETWEEN,KNUMBER) RETURN END emoslib-000392+dfsg.1/bufrdc/get_tables1.F0000755000175000017500000000452312127406245021233 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GET_TABLES1(K) C C**** *GET_TABLES1* C C C PURPOSE. C -------- C GET TABLES FROM THE ARRAY OF TABLES FOR C ENCODING C C** INTERFACE. C ---------- C NONE. C C C *METHOD. C ------- C NONE. C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, FM 94 BUFR. C C J.K.GIBSON AND M.DRAGOSAVAC,1987: DECODING DATA C REPRESENTATION FM 94 BUFR,TECHNICAL MEMORANDUM NO. C C J.K.GIBSON,1986:EMOS 2 - STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE ,TECHICAL MEMORANDUM NO. ECMWF. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 2007 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcmtab.F" # include "bcmtabc.F" # include "bcmtabload.F" # include "bcmtabloadc.F" C CHARACTER*64 CTABBEN,CCTABBEN CHARACTER*24 CTABBU,CCTABBU,CTABLE_LIST C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C IF(K.LT.1.OR.K.GT.JTMAX) THEN print*,'Table number > JTMAX' call exit(2) END IF DO 101 I=1,64 DO 101 ii=1,255 NTABP(I,II)=MTABP(I,II,K) 101 CONTINUE C DO 102 I=1,JTAB NTABBTR(I)=MTABBTR(I,K) NTABBS (I)=MTABBS (I,K) NTABBRV(I)=MTABBRV(I,K) NTABBDW(I)=MTABBDW(I,K) CTABBEN(I)=CCTABBEN(I,K) CTABBU (I)=CCTABBU(I,K) NTABDTR(I)=MTABDTR(I,K) NTABDL (I)=MTABDL(I,K) NTABDST(I)=MTABDST(I,K) 102 CONTINUE DO I=1,JTAB*20 NTABDSQ(I)=MTABDSQ(I,K) END DO C C ------------------------------------------------------------------ RETURN END emoslib-000392+dfsg.1/bufrdc/bu_check_s4s.F0000755000175000017500000000771712127406245021405 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CHECK_S4S(KELEM,KSEC3,KSEC4,KERR) C C**** *CHECK_S4S* C C C PURPOSE. C -------- C CHECK SECTION 4 SIZE C C C** INTERFACE. C ---------- C C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JUNE 2009 C C C MODIFICATIONS. C -------------- IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) # include "parameter.F" # include "bcomoff.F" # include "bcomwt.F" DIMENSION KSEC3(*),KSEC4(*) DIMENSION IMASK(8) DATA IMASK/1,2,4,8,16,32,64,128/ c Check if data are compressed IB=0 IF(IAND(KSEC3(4),IMASK(7)).NE.0) IB=1 IF(IB.EQ.0) THEN C Uncompressed IF(OMULTI) then isum=0 IF(NSUBSET.EQ.KSEC3(3)) THEN DO J=1,KSEC3(3) DO I=1,NSIZEG(J) IJ=I+(J-1)*KELEM isum=isum+NWTDWG(IJ) END DO END DO ibytes=isum/8 ibit=isum-ibytes*8 if(ibit.ne.0) then C padding to byte ibytes=ibytes+1 if(mod(ibytes,2).ne.0) then ibytes=ibytes+1 end if ibytes=ibytes+4 else if(mod(ibytes,2).ne.0) then ibytes=ibytes+1 end if ibytes=ibytes+4 end if if((ksec4(1)-ibytes).gt.1) then print*,'Error in section 4 size' print*,'ksec4(1)=',ksec4(1) print*,'Actual size=',ibytes KERR=56 return end if END IF ELSE isum=0 do I=1,NSIZE(1) isum=isum+NWTDW(I) END DO isum=isum*ksec3(3) ibytes=isum/8 ibit=isum-ibytes*8 if(ibit.ne.0) then C padding to byte ibytes=ibytes+1 if(mod(ibytes,2).ne.0) then ibytes=ibytes+1 end if ibytes=ibytes+4 else if(mod(ibytes,2).ne.0) then ibytes=ibytes+1 end if ibytes=ibytes+4 end if if((ksec4(1)-ibytes).gt.1) then KERR=56 WRITE(KNTN,*) 'ERROR IN BU_CHECK_S4S: ' CALL BUERR(KERR) WRITE(KNTN,*) 'KSEC4(1)=',ksec4(1),' ACTUAL SIZE=',ibytes return end if END IF ELSE C Compressed isum=0 do I=1,NSIZE(1) isum=isum+NWTIWS(I) END DO ibytes=isum/8 ibit=isum-ibytes*8 if(ibit.ne.0) then C padding to byte ibytes=ibytes+1 if(mod(ibytes,2).ne.0) then ibytes=ibytes+1 end if ibytes=ibytes+4 else if(mod(ibytes,2).ne.0) then ibytes=ibytes+1 end if ibytes=ibytes+4 end if if((ksec4(1)-ibytes).gt.1) then KERR=56 WRITE(KNTN,*) 'ERROR IN BU_CHECK_S4S: ' CALL BUERR(KERR) WRITE(KNTN,*) 'KSEC4(1)=',KSEC4(1),' ACTUAL SIZE=',ibytes return end if END IF END emoslib-000392+dfsg.1/bufrdc/bcmrq.F0000755000175000017500000000120612127406245020140 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMRQ/ NWORDP(JWORK),NBITP(JWORK) C C NWORDP - ARRAY CONTAINING WORD POINTERS TO C REQUESTED ELEMENTS C NBITP - ARRAY CONTAINING BIT POINTERS TO C REQUESTED ELEMENTS C emoslib-000392+dfsg.1/bufrdc/bcomtabload.F0000755000175000017500000000363612127406245021314 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCOMTABLOAD/ MTABBTR(JTAB,JTMAX),MTABBS (JTAB,JTMAX), 1 MTABBRV(JTAB,JTMAX), 1 MTABBDW(JTAB,JTMAX),MTABDTR(JTAB,JTMAX), 2 MTABDST(JTAB,JTMAX), 2 MTABDL (JTAB,JTMAX),MTABDSQ(JTAB*20,JTMAX), 2 MTABP(JTCLAS,JTEL,JTMAX), NTC,NTT, 3 MNREF(JCTAB,JTMAX),MNSTART(JCTAB,JTMAX), 3 MNLEN(JCTAB,JTMAX),MNCODNUM(JCTST,JTMAX), 3 MNSTARTC(JCTST,JTMAX),MNLENC(JCTST,JTMAX) C C MTABBTR - TABLE B, TABLE REFERENCE ARRAY C MTABBS - TABLE B, SCALE ARRAY C MTABBRF - TABLE B, REFERENCE VALUE ARRAY C MTABBDW - TABLE B, DATA WIDTH ARRAY C MTABDTR - TABLE D, TABLE REFERENCE ARRAY C MTABDST - TABLE D, STARTING POINTERS ARRAY C MTABDL - TABLE D, LENGTHS ARRAY C MTABDSQ - TABLE D, LIST OF SEQUENCE DESCRIPTORS ARRAY C NTT - NUMBER OF TABLES C NTC - CURRENT TABLE C MNREF - TABLE C REFERENCE NUMBER ARRAY C MNSTART - START OF CODES ARRAY C MNLEN - NUMBER OF CODES ARRAY C MNSTARTC - START OF TEXT ARRAY C MNLENC - NUMBER OF CODE STRINGS ARRAY C C emoslib-000392+dfsg.1/bufrdc/buetab.F0000755000175000017500000002047612127406245020310 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUETAB( KSEC1,KERR ) C C**** *BUETAB* C C C PURPOSE. C -------- C LOAD BUFR TABLE B, D AND C ACCORDING TO EDITION AND VERSION C OF BUFR CODE. C C C** INTERFACE. C ---------- C C *CALL* *BUETAB(KSEC1,KERR)* C C OUTPUT: C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(BYTE BY BYTE) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 17/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmtab.F" # include "bcmtabc.F" # include "bcmct.F" # include "bcmctc.F" # include "bcmroot.F" # include "bcmtabload.F" # include "bcmtabloadc.F" C CHARACTER*256 YTAB ,YTAC ,YTAD CHARACTER*24 YTABB,YTABC,YTABD,CTABLE_LIST CHARACTER*64 CTABBEN,CTEXT CHARACTER*64 CCTABBEN CHARACTER*24 CTABBU , CCTABBU CHARACTER*256 CROOT C LOGICAL*4 OPN #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C DIMENSION KSEC1(JSEC1) C SAVE OFIRST C C ------------------------------------------------------------------ C C* 1. GET BUFR TABLES/LOCAL BUFR TABLES. C ---------------------------------- 100 CONTINUE C IF( KERR.NE.0) RETURN C C* 2. SET UP BUFR TABLE FILE NAME. C ---------------------------- 200 CONTINUE C C C BUFR EDITION 2 NAMING CONVENTION C C BXXXXXYYZZ , CXXXXXYYZZ , DXXXXXYYZZ C C B - BUFR TABLE 'B' C C - BUFR TABLE 'C' C D - BUFR TABLE 'D' C XXXXX - ORIGINATING CENTRE C YY - VERSION NUMBER OF MASTER TABLE C USED( CURRENTLY 2 ) C ZZ - VERSION NUMBER OF LOCAL TABLE USED C C BUFR EDITION 3 NAMING CONVENTION C C BWWWXXXYYZZ , CWWWXXXYYZZ , DWWWXXXYYZZ C C B - BUFR TABLE 'B' C C - BUFR TABLE 'C' C D - BUFR TABLE 'D' C WWW - ORIGINATING SUB-CENTRE C XXX - ORIGINATING CENTRE C YY - VERSION NUMBER OF MASTER TABLE C USED( CURRENTLY 2 ) C ZZ - VERSION NUMBER OF LOCAL TABLE USED C C C BUFR EDITION 4 NAMING CONVENTION C C BSSSWWWWWXXXXXYYYZZZ , CSSSWWWWWXXXXXYYYZZZ , DSSSWWWWWXXXXXYYYZZZ C C B - BUFR TABLE 'B' C C - BUFR TABLE 'C' C D - BUFR TABLE 'D' C SSS - MASTER TABLE NUMBER ( zero for WMO tables) C WWWWWW - ORIGINATING SUB-CENTRE C XXXXXX - ORIGINATING CENTRE C YYY - VERSION NUMBER OF MASTER C TABLE USED( CURRENTLY 12 ) C ZZZ - VERSION NUMBER OF LOCAL TABLE USED C IXX=KSEC1(3) IYY=KSEC1(15) IZZ=KSEC1(08) C IF(KSEC1(2).EQ.3) THEN IWW=KSEC1(16) ISS=KSEC1(14) ELSEIF(KSEC1(2).EQ.4) THEN IWW=KSEC1(16) ISS=KSEC1(14) ELSE IWW=0 ISS=0 END IF C C IF STANDARD TABLES USED, USE WMO ORIGINATING CENTRE ID C IF(KSEC1(8).EQ.0.OR.KSEC1(8).EQ.255) THEN IXX=0 IWW=0 IZZ=0 ENDIF C IF(OFIRST) THEN IF(IWW.EQ.NWWP.AND.IXX.EQ.NXXP.AND.IYY.EQ.NYYP.AND. 1 IZZ.EQ.NZZP.AND.ISS.EQ.NSSP) RETURN END IF C OFIRST=.TRUE. C NSSP=ISS NXXP=IXX NYYP=IYY NZZP=IZZ NWWP=IWW C WRITE(YTABB,'(A1,I3.3,2(I5.5),2(I3.3),A4)') 1 'B',ISS,IWW,IXX,IYY,IZZ,'.TXT' c WRITE(YTABC,'(A1,I3.3,2(I5.5),2(I3.3),A4)') c 1 'C',ISS,IWW,IXX,IYY,IZZ,'.TXT' WRITE(YTABD,'(A1,I3.3,2(I5.5),2(I3.3),A4)') 1 'D',ISS,IWW,IXX,IYY,IZZ,'.TXT' C C Find if table is already used C DO I=1,JTMAX IF(CTABLE_LIST(I).EQ.YTABB) THEN CALL GET_TABLES1(I) RETURN END IF END DO IF(OPRINT) THEN WRITE(KNTN,'(A,1X,A,A,A,A))') 'BUFR TABLES TO BE LOADED ', 1 YTABB,',',YTABD END IF c WRITE(KNTN,'(A,1X,A,A,A,A))') 'BUFR TABLES TO BE LOADED ', c 1 YTABB,',',YTABC,',',YTABD C ---------------------------------------------------------------- C* 3. OPEN AND READ FILES CONTAINING BUFR TABLES. C ------------------------------------------- 300 CONTINUE C I=INDEX(CROOT,' ') IF(I.NE.0) I=I-1 C C* 3.1 READ BUFR TABLE B. C ------------------ 310 CONTINUE C YTAB=CROOT(1:I)//YTABB C CALL BTABLE1(YTAB,YTABB,KERR) IF(KERR.NE.0) RETURN C C C* 3.2 READ BUFR TABLE C. C ------------------ 320 CONTINUE C c YTAC=CROOT(1:I)//YTABC C c CALL CTABLE1(YTAC,KERR) c IF(KERR.NE.0) RETURN C C C* 3.3 READ BUFR TABLE D. C ------------------ 330 CONTINUE C YTAD=CROOT(1:I)//YTABD C CALL DTABLE1(YTAD,KERR) IF(KERR.NE.0) RETURN C RETURN C END emoslib-000392+dfsg.1/bufrdc/buoperc.F0000755000175000017500000005100412127406245020474 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUOPERC(KPT,KDLEN,KDATA,KJ,KDD,KSTACK,KERR) C C C**** *BUOPERC* C C C PURPOSE. C -------- C C PROCESS BUFR OPERATOR. C C** INTERFACE. C ---------- C C *CALL* *BUOPERC(KPT,KDLEN,KDATA,KJ,KDD,KSTACK,KERR)* C C INPUT : C *KPT* - POINTER TO KDATA ARRAY C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DESCRIPTOR C EXPANSION C *KJ* - POINTER T ARRAY KSTACK C *KDD* - DATA DESCRIPTOR C OUTPUT: C *KSTACK* - LIST OF DESCRIPTORS C *KERR* - RETURN ERROR CODE C C *METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C BUUATB - UPDATE AUGMENTED TABLE B C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmbef.F" C CHARACTER CWTEN*64,CWTU*24 C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif DIMENSION KSTACK(*) DIMENSION KDATA(KDLEN) C C ------------------------------------------------------------------ C C* 1. DETERMINE *F *X AND *Y. C ----------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C IF = KDD / 100000 IDIF= KDD - IF * 100000 IX = IDIF / 1000 IY = IDIF - IX * 1000 C IF( IF.NE.2 ) THEN KERR=21 CALL BUERR(KERR) WRITE(KNTN,*) KDD,' IS TO BE OPEATOR' GO TO 400 END IF C C* 1.1 CHANGE DATA WIDTH ? C ------------------- 110 CONTINUE C IF(IX.EQ.1) THEN NDWINC= NDWINC + (IY-128) IF(IY.EQ.0) NDWINC=0 GO TO 400 END IF C C* 1.2 CHANGE SCALE ? C -------------- 120 CONTINUE C IF(IX.EQ.2) THEN C C* 1.2.1 UPDATE SCALE MULTIPLIER. C ------------------------ C NSCAM=NSCAM + (IY-128) IF(IY.EQ.0) NSCAM=0 GO TO 400 END IF C C* 1.3 CHANGE REFERENCE VALUE ? C ------------------------ 130 CONTINUE C IF(IX.EQ.3) THEN C C* 1.3.1 UPDATE AUGMENTED TABLE B. C ------------------------- CALL BUAUG(KPT,KDLEN,KDATA,KJ,IY,KSTACK,KERR) GO TO 400 END IF C C* 1.4 ADD ASSOCIATED FIELD ? C ---------------------- 140 CONTINUE C IF(IX.EQ.4) THEN C C* 1.4.1 UPDATE ASSOCIATED FIELD WIDTH. C ------------------------------ IF(IY.EQ.0) THEN NFD=NFD-1 IF(NFD.LT.0) THEN KERR=51 CALL BUERR(KERR) RETURN ELSEIF(NFD.EQ.0) THEN NAFDW=0 END IF ELSE NFD=NFD+1 NAFDWA(NFD)=IY END IF GO TO 400 END IF C C* 1.5 SIGNIFY CHARACTER ? C ------------------- 150 CONTINUE C IF(IX.EQ.5) THEN C C* 1.5.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CHARACTERS' CWTU (NWT)=' ' NWTR (NWT)= 0 NWTDW(NWT)= IY * 8 NWTEN(NWT)=658367 M=M+1 GO TO 400 END IF C C* 1.5.2 SIGNIFY DATA WIDTH FOR IMMEDISTELY C FOLLOWED LOCAL DESCRIPTOR C 152 CONTINUE C IF(IX.EQ.6) THEN NWT = NWT + 1 KJ=KJ+1 CWTEN(NWT)='UNKNOWN' CWTU (NWT)='UNKNOWN' NWTR (NWT)= KSTACK(KJ) NWTDW(NWT)= IY NWTS (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= NVIND M=NWT C C CHECK IF LOCAL TABLE ENTRY KNOWN C -------------------------------- C C DO 153 I=1,JTAB C IF(NWTR(NWT).EQ.NTABBTR(I)) THEN C CWTEN(NWT)=CTABBEN(I) C CWTU (NWT)=CTABBU (I) C IF(CWTU(NWT)(1:3).EQ.'CCI') NWTEN(NWT)=65367 C NWTS (NWT)=NTABBS (I) C NWTRV(NWT)=NTABBRV(I) C NWTDW(NWT)=NTABBDW(I) C NWTEN(NWT)=NTABBTR(I) C GO TO 400 C END IF C 153 CONTINUE C GO TO 400 END IF C IF(IX.EQ.7) THEN C C* 1.5.4 UPDATE SCALE MULTIPLIER. C ------------------------ C IF(IY.EQ.0) THEN N07 =0 NSCAM07 =0 NDWINC07=0 ELSE N07=IY NSCAM07 =IY NDWINC07=((10*IY)+2)/3 END IF GO TO 400 END IF IF(IX.EQ.8) THEN C C* 1.5.5 UPDATE DATA WIDTH FOR CCITTIA5 C ------------------------------ C IF(IY.EQ.0) THEN N08 =0 ELSE N07=IY END IF GO TO 400 END IF C C* 1.6 QUALITY INFORMATION FOLLOWS. C ---------------------------- 160 CONTINUE C IF(IX.EQ.62) THEN C IF(IY.EQ.0) GO TO 400 C C* 1.7.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='QUALITY INFORMATION FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C C* 2. PROCESSING NEW OPERATORS. C ------------------------- 200 CONTINUE C C C* 2.1 DATA NOT PRESENT. C ----------------- 210 CONTINUE C IF(IX.EQ.21) THEN N221=IY GO TO 400 END IF C C C* 2.2 QUALITY INFORMATION FOLLOWS. C ---------------------------- 220 CONTINUE C IF(IX.EQ.22) THEN C C* 1.7.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='QUALITY INFORMATION FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 222000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C C* 2.3 SUBSTITUTED VALUES FOLLOWS. C --------------------------- 230 CONTINUE C IF(IX.EQ.23) THEN IF(IY.EQ.0) THEN NWT=NWT+1 CWTEN(NWT)='SUBSTITUTED VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)=0 NWTR (NWT)=223000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 CWTEN(NWT)='SUBSTITUTED VALUE MARKER' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C C* 2.4 FIRST ORDER STATISTICS FOLLOWS. C ------------------------------- 240 CONTINUE C IF(IX.EQ.24) THEN IF(IY.EQ.0) THEN NWT=NWT+1 CWTEN(NWT)='FIRST ORDER STATISTICS FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=224000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 CWTEN(NWT)='FIRST ORDER STATISTICS VALUE MARKER' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 2.5 DIFFERENCE STATISTICAL VALUES FOLLOW. C ------------------------------------- 250 CONTINUE C IF(IX.EQ.25) THEN IF(IY.EQ.0) THEN NWT=NWT+1 CWTEN(NWT)='DIFFERENCE STATISTICAL VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=225000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 CWTEN(NWT)='DIFFERENCE STATISTICS VALUE MARKER' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C C* 2.6 REPLACED/RETAINED VALUES FOLLOWS. C --------------------------------- 260 CONTINUE C IF(IX.EQ.32) THEN IF(IY.EQ.0) THEN NWT=NWT+1 CWTEN(NWT)='REPLACE/RETAINED VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=232000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE IF(NFD.NE.0) THEN DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 0 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 END DO IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF END IF OMARKER=.TRUE. NWT=NWT+1 CWTEN(NWT)='REPLACE/RETAINED VALUE MARKER' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)=KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 2.7 CANCEL BACKWARD DATA REFERENCE. C ------------------------------- 270 CONTINUE C IF(IX.EQ.35) THEN C C* 2.7.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL BACKWARD DATA REFERENCE' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 235000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C* 2.8 DEFINE BACKWARD REFERENCE BIT MAP. C ---------------------------------- 280 CONTINUE C IF(IX.EQ.36) THEN C C* 2.8.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='BACKWARD REFERENCE BIT MAP' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 236000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF C C* 2.9 DEFINE BACKWARD REFERENCE BIT MAP. C ---------------------------------- 290 CONTINUE C IF(IX.EQ.37) THEN IF(IY.EQ.0) THEN C C* 2.8.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='USE PREVIOUSLY DEFINED BIT MAP' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 237000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 2.8.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL PREDEFINED BIT MAP' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C IF(IX.EQ.9) THEN IF(IY.EQ.0) THEN N40=0 ELSE N40=IY END IF C GO TO 400 END IF C C C* 5. DEFINE EVENT C ------------ 500 CONTINUE C IF(IX.EQ.41) THEN IF(IY.EQ.0) THEN C C 5.1.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='DEFINE EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 241000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 5.1.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL DEFINE EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C C* 5.1 DEFINE CONDITIONING EVENT C ------------------------- 510 CONTINUE C IF(IX.EQ.42) THEN IF(IY.EQ.0) THEN C C 5.1.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='DEFINE CONDITIONING EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 242000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 5.1.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL DEFINE CONDITIONING EVENT' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C* 5.2 DEFINE CONDITIONING EVENT C ------------------------- 520 CONTINUE C IF(IX.EQ.43) THEN IF(IY.EQ.0) THEN C C 5.2.1 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CATEGORICAL FORECAST VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= 243000 NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 ELSE C C* 5.2.2 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- NWT = NWT + 1 CWTEN(NWT)='CANCEL CATEGORICAL FORECAST VALUES FOLLOW' CWTU (NWT)=' ' NWTDW(NWT)= 0 NWTR (NWT)= KDD NWTRV(NWT)= 0 NWTEN(NWT)= 0 NWTS (NWT)= 0 C M=M+1 IF(M.GT.JELEM) THEN KERR=30 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) RETURN END IF GO TO 400 END IF END IF C ------------------------------------------------------------------ C 300 CONTINUE C KERR=22 WRITE(KNTN,*) 'BUOPER:' CALL BUERR(KERR) C C ------------------------------------------------------------------ C 400 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/bcmct.F0000755000175000017500000000147012127406245020127 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C COMMON /BCMCT/ NREF(JCTAB) ,NSTART(JCTAB) ,NLEN(JCTAB), 1 NCODNUM(JCTST),NSTARTC(JCTST), 2 NLENC(JCTST) C C NREF - TABLE C REFERENCE C NSTART - STARTING POINTERS TO ARRAY NCODNUM C NLEN - LENGTHS C NCODNUM - CODE/FLAG TABLE NUMBER C NSTARTC - STARTING POINTERS TO ARRAY CTEXT C NLENC - LENGTHS C emoslib-000392+dfsg.1/bufrdc/buetd.F0000755000175000017500000002002212127406245020134 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUETD(KPT,KTDLEN,KTDLST,KDLEN,KDATA,KSEC3, 1 KVALS,VALUES,KELEM,KERR) C C**** *BUETD* C C C PURPOSE. C -------- C C EXPAND SECTION 3 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUETD(KPT,KTDLEN,KTDLST,KDLEN,KDATA,KSEC3, C KVALS,VALUES,KELEM,KERR) C C INPUT : C *KPT* - POINTER TO KDATA ARRAY C *KTDLEN* - NUMBER OF DATA DESCRIPTORS IN SECTION 3 C *KTDLST* - ARRAY CONTAINING DATA DESCRIPTORS IN SECTION 3 C *KDLEN* - DIMENSION OF KDATA ARRAY C *KDATA* - ARRAY CONTAINING DATA NEEDED FOR DATA DESCRIPTOR C EXPANSION C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C OUTPUT : C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C DATA DESCRIPTOR TAKEN FROM KTDLST ARRAY ARE FULLY C EXPANDED USING DATA FROM KDATA ARRAY IF NEEDED. C ( DELAYED REPLICATION FACTORS ETC.) C C C EXTERNALS. C ---------- C C BUNEXS - SET WORD AND BIT POINTERS AT THE BEGINING OF C NEXT SECTION C BUNPCK - UNPACKS BIT PATHERN C BUREP - SOLVES REPLICATION PROBLEM C BUETDR - SOLVES TABLE D REFERENCE C BUOPER - PROCESS OPERATOR C BUEPWT - UPDATES WORKING TABLE C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" # include "bcmbef.F" # include "bcmwt.F" # include "bcmwtc.F" # include "bcmel.F" # include "bcmoff.F" C CHARACTER CWTEN*64,CWTU*24 C #ifndef R_4 REAL*8 VALUES(KVALS) REAL*8 RVIND REAL*8 EPS #else REAL VALUES(KVALS) REAL RVIND REAL EPS #endif C DIMENSION ISTACK(JELEM),IISTACK(JELEM) DIMENSION IMASK(8) C DIMENSION KSEC3(JSEC3) DIMENSION KDATA(KDLEN),KTDLST(KTDLEN) C DATA IMASK/1,2,4,8,16,32,64,128/ C ------------------------------------------------------------------ C C* 1. C -------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C N = KSEC3(3) C C C* 2. EXPAND DATA DESCRIPTORS. C ------------------------ 200 CONTINUE C C C* 2.1 SET EXPECTED NUMBER OF DATA DESCRIPTORS. C ---------------------------------------- C AND INITIALIZE NUMBER OF DATA VALUES PER SUB-SET. C ------------------------------------------------- 210 CONTINUE C J = 0 IF(OMULTI) THEN IF(NSUBSET.EQ.1) KPT = 0 ELSE KPT = 0 END IF NWT = 0 JMAX = KTDLEN JMAXNEW=JMAX C IF(KTDLEN.GT.JELEM) THEN WRITE(KNTN,*) ' BUETD :' KERR=29 CALL BUERR(KERR) RETURN END IF C C* 2.2 PUT DATA DESCRIPTORS IN STACK. C ------------------------------ 220 CONTINUE C DO 221 JJ=1,JMAX C ISTACK(JJ)=KTDLST(JJ) IISTACK(JJ)=ISTACK(JJ) C 221 CONTINUE C C* 2.2.1 CHECK IF IT IS SAME DATA DESCRIPTOR DESCRIOPTION. C ------------------------------------------------- C TO MAKE MORE EFFICIENT DATA DESCRIPTOR DESCRIPTION C EXPANSION, IN CASE THAT DELAYED REPLICATION FACTOR C IS NOT PRESENT AND DATA DESCRIPTORS ARE THE SAME, C PREVIOUS WORKING TABLE SHOULD BE USED. IT IS POSIBLE C AT THIS PLACE IN THE FUTURE TO MAKE MORE SOPHISTICATED C CONTROL. C C DO 222 JC=1,JMAX C IF(ISTACK(JC).NE.NSTACK(JC)) THEN C C ODREPF=.FALSE. C C SWAP CONTENT OF THE STACKS. C DO 223 JJC=1,JMAX NSTACK(JJC)=ISTACK(JJC) 223 CONTINUE C NTDLEN = JMAX M=0 NOLD=N NFCM=0 MREL=0 OMARKER=.FALSE. MBMP=0 MBMPL=0 C GO TO 230 C END IF C 222 CONTINUE C C C* IF MARKER OPERATOR PRESENT EXPAND DESCRIPTORS AGAIN C IF(OMARKER) THEN NTDLEN = JMAX M=0 NOLD=N NFCM=0 MREL=0 OMARKER=.FALSE. MBMP=0 MBMPL=0 GO TO 230 END IF C C* RETURN IF DELAYED REPLICATION FACTOR IS NOT PRESENT. C IF(JMAX.NE.NTDLEN) THEN M=0 NOLD=N NFCM=0 MREL=0 OMARKER=.FALSE. NTDLEN=JMAX MBMP=0 MBMPL=0 GO TO 230 END IF C OB=.FALSE. IF(IAND(KSEC3(4),IMASK(7)).NE.0) OB=.TRUE. IF(.NOT.ODREPF) THEN IF(N.GT.NOLD) NOLD=N IF(OB.AND.NFCM.EQ.1) GO TO 300 IF(.NOT.OB.AND.NFCM.EQ.0) GO TO 300 END IF C M=0 NOLD=N NFCM=0 MREL=0 OMARKER=.FALSE. NTDLEN=JMAX MBMP=0 MBMPL=0 C C ------------------------------------------------------------------ C* 2.3 GET NEXT DESCRIPTOR FROM THE STACK. C ----------------------------------- 230 CONTINUE C J = J + 1 IF(J.GT.JMAX) GO TO 270 C IDD = ISTACK(J) IF(IDD.EQ.0) GO TO 230 C IF = IDD/100000 C C ------------------------------------------------------------------ C* 2.4 CHECK IF IT IS REPLICATION DESCRIPTOR. C -------------------------------------- 240 CONTINUE C IF(IF.EQ.0) THEN C C* 2.6 ELEMENT DESCRIPTOR, SO UPDATE WORKING TABLE. C -------------------------------------------- 260 CONTINUE C CALL BUEPWT(IDD,KERR) IF(KERR.GT.0) RETURN C ELSEIF(IF.EQ.1) THEN C C* 2.4.1 SOLVE REPLICATION PROBLEM. C -------------------------- C CALL BUREP(KPT,KDLEN,KDATA,J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) RETURN GO TO 230 C ELSEIF(IF.EQ.2) THEN C C C* 2.5.3 PROCESS OPERATOR. C ----------------- CALL BUOPER(KPT,KDLEN,KDATA,J,IDD,ISTACK,KERR) IF(KERR.GT.0) RETURN C ELSEIF(IF.EQ.3) THEN C C C* 2.5.2 REPLACE BY LIST OF DESCRIPTORS FROM TABLE *D. C --------------------------------------------- CALL BUETDR(J,JMAX,IDD,ISTACK,KERR) IF(KERR.GT.0) THEN DO 252 IQ=1,JELEM NSTACK(IQ)=0. 252 CONTINUE RETURN END IF ELSE KERR=37 CALL BUERR(KERR) RETURN END IF C GO TO 230 C C ------------------------------------------------------------------ C* 2.7 RESOLVE MARKER OPERATOR. C ------------------------ 270 CONTINUE C IF(OMARKER) THEN CALL BUEPMRK(KSEC3,KVALS,VALUES,KELEM,KERR) IF(KERR.GT.0) RETURN END IF C C ------------------------------------------------------------------ C C* 3. COLLECT SUPPLEMENTARY ITEMS. C ----------------------------- 300 CONTINUE C N08=0 N07=0 N40=0 NDWINC=0 NSCAM=0 NSCAM07=0 NDWINC07=0 NFD=0 DO I=1,100 NAFDWA(I)=0 END DO C NFCM=0 IF(OB) NFCM=1 C RETURN END emoslib-000392+dfsg.1/bufrdc/swap_bytes8.F0000755000175000017500000000204612127406245021307 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C subroutine swap_bytes8(r1,r2) c --------------------------------- implicit none real*8 r1, r2 real*8 r18 real*8 r28 integer*8 kint18,kint28 equivalence(r18,kint18) equivalence(r28,kint28) c Reverse order of bytes r18=r1 call mvbits(kint18, 56, 8, kint28, 0) call mvbits(kint18, 48, 8, kint28, 8) call mvbits(kint18, 40, 8, kint28,16) call mvbits(kint18, 32, 8, kint28,24) call mvbits(kint18, 24, 8, kint28,32) call mvbits(kint18, 16, 8, kint28,40) call mvbits(kint18, 8, 8, kint28,48) call mvbits(kint18, 0, 8, kint28,56) r2=r28 return end emoslib-000392+dfsg.1/bufrdc/buexs2.F0000755000175000017500000002053412127406245020251 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUEXS2( KBUFL,KBUFF,KSUP,KSEC1,KSEC2,KERR ) C C**** *BUEXS2* C C C PURPOSE. C -------- C EXPANDS SECTION 2 OF BUFR MESSAGE. EXPANDED DATA ARE C STORED IN THE ARRAY KSEC2. C C C** INTERFACE. C ---------- C C *CALL* *BUEXS2(KBUFL,KBUFF,KSUP,KSEC1,KSEC2,KERR)* C C INPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C OUTPUT: C *KSUP* - ARRAY CONTAINING SUPLEMENTARY INFORMATION C - KSUP( 1) -- IDIM1, DIMENSION OF KSEC1 C - KSUP( 2) -- IDIM2, DIMENSION OF KSEC2 C - KSUP( 3) -- IDIM3, DIMENSION OF KSEC3 C - KSUP( 4) -- IDIM4, DIMENSION OF KSEC4 C - KSUP( 5) -- M (NUMBER OF ELEMENTS IN VALUES ARRAY, C FIRST INDEX) C - KSUP( 6) -- N (NUMBER OF SUBSETS,SECOND INDEX OF C VALUES ARRAY) C - KSUP( 7) -- JVC (NUMBER OF ELEMENTS IN CVAL ARRAY) C - KSUP( 8) -- TOTAL BUFR MESSAGE LENGTH IN BYTES C - KSUP( 9) -- IDIM0, DIMENSION OF KSEC0 C *KSEC1* - ARRAY CONTAINING SECTION 1 INFORMATION C KSEC1( 1)-- LENGTH OF SECTION 1 (BYTES) C KSEC1( 2)-- BUFR EDITION NUMBER C KSEC1( 3)-- ORIGINATING CENTRE C KSEC1( 4)-- UPDATE SEQUENCE NUMBER C KSEC1( 5)-- FLAG (PRESENCE OF SECTION 2) C KSEC1( 6)-- BUFR MESSAGE TYPE C KSEC1( 7)-- BUFR MESSAGE SUBTYPE C KSEC1( 8)-- VERSION NUMBER OF LOCAL TABLE USED C KSEC1( 9)-- YEAR C KSEC1(10)-- MONTH C KSEC1(11)-- DAY C KSEC1(12)-- HOUR C KSEC1(13)-- MINUTE C KSEC1(14)-- BUFR MASTER TABLE C KSEC1(15)-- VERSION NUMBER OF MASTER TABLE USED C KSEC1(16) - KSEC1(JSEC1) -- LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 3 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- NOT USED C KSEC1(18) TO KSEC1(JSEC1) - LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C C FOR BUFR EDITION 4 ONWARD C C KSEC1(16)-- ORIGINATING SUB-CENTRE C KSEC1(17)-- INTERNATIONAL SUB-CATEGORY (SEE COMMON TABLE C-13 C KSEC1(18)-- SECOND C KSEC1(19)-- YEAR C KSEC1(20)-- MONTH C KSEC1(21)-- DAY C KSEC1(22)-- HOUR C KSEC1(23)-- MINUTE C KSEC1(24)-- SECOND C KSEC1(25)-- YEAR C KSEC1(26)-- MONTH C KSEC1(27)-- DAY C KSEC1(28)-- HOUR C KSEC1(29)-- MINUTE C KSEC1(30)-- SECOND C KSEC1(31)-- MOST SOUTHERN LATITUDE (-90 to 90) C KSEC1(32)-- MOST WESTERN LONGITUDE ( 0-360) C KSEC1(33)-- MOST NORTHEN LATITUDE (-90 to 90) C KSEC1(34)-- MOST EASTERN LONGITUDE ( 0-360) C KSEC1(35) TO KSEC1(JSEC1) - LOCAL ADP CENTRE INFORMATION(PACKED FORM) C C *KSEC2* - ARRAY CONTAINING SECTION 2 INFORMATION C KSEC2( 1)-- LENGTH OF SECTION 2 (BYTES) C KSEC2( 2) TO KSEC2(JSEC2) LOCAL ADP CENTRE C INFORMATION(PACKED FORM) C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C THE LENGTH OF SECTION 2 AND POINTERS TO THE BEGINING C OF SECTION 3 ARE SET. RDB KEY IS THEN UNPACKED AND ALL INFORMATION C STORED INTO ARRAY KSEC2. C C C EXTERNALS. C ---------- C C BUNPCK - UNPACK BIT PATTERN C BUNEXS - SET WORD AND BIT POINTERS AT THE BEGINING C OF NEXT BUFR SECTION. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 17/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwork.F" # include "bcprq.F" C DIMENSION KBUFF(KBUFL) DIMENSION KSUP(JSUP),KSEC1(JSEC1),KSEC2(JSEC2) DIMENSION ISEC2(JSEC2),IISEC2(JSEC2) #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C C ------------------------------------------------------------------ C* 1. EXPAND SECTION 2. C ----------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C DO 101 I=1,JSEC2 KSEC2(I)=0 101 CONTINUE C IF( KSEC1(5) .NE. 0 .AND. KSEC1(5) .NE. 128) THEN KERR=50 CALL BUERR(KERR) RETURN END IF C IF( KSEC1(5).EQ.0) THEN KSUP(2) = 1 KSEC2(1)= 0 RETURN END IF C C* 1.1 SET THE POINTERS NWPT AND NBPT AT THE BEGINING OF SECTION. C ----------------------------------------------------------- 110 CONTINUE C NWPT = NWPTB NBPT = NBPTB C C* 1.2 UNPACK LENGTH OF SECTION 2. C --------------------------- CALL BUNPCK(NBPW,KBUFF,KSEC2(1),NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING KSEC2(1).' RETURN END IF C C* 1.2.1 SET POINTERS NWPTB AND NBPTB TO THE C ----------------------------------- C BEGINING OF THE NEXT SECTION. C ----------------------------- CALL BUNEXS(KSEC2(1)) C CALL BUNPCK(NBPW,KBUFF,IDUMMY,NWPT,NBPT, 8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING DUMMY OCTET IN SECTION 2.' RETURN END IF C C* 1.3 UNPACK LOCAL ADP CENTRE INFORMATION. C ------------------------------------ C IOFF=KSEC2(1)-4 C IF(IOFF.GT.JSEC2) THEN KERR=5 CALL BUERR(KERR) RETURN END IF C CALL BUNPKS(NBPW,KBUFF,ISEC2(1),NWPT,NBPT, 1 8,0,IOFF,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR UNPACKING LOCAL ADP CENTRE INFORMATION' WRITE(KNTN,*) 'IN SECTION2.' RETURN END IF C IF(KSEC1(3).EQ.98) THEN IF(NOKEY.EQ.0) THEN IF(ISEC2(2).NE.KSEC1(7)) THEN C C BYTES IN THE KEY IN REVERSED ORDER. C J=0 DO 131 I=1,JSEC2,4 IISEC2(I)=ISEC2(I+3) IISEC2(I+1)=ISEC2(I+2) IISEC2(I+2)=ISEC2(I+1) IISEC2(I+3)=ISEC2(I) 131 CONTINUE DO 132 I=1,JSEC2 ISEC2(I)=IISEC2(I) 132 CONTINUE END IF END IF END IF C C PACK LOCAL ADP CENTRE INFORMATION INTO KSE2(2) ONWARD. C IW=2 IBT=0 CALL BUPKS(NBPW,KSEC2(IW),ISEC2,IW,IBT,8,0,IOFF,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LOCAL ADP CENTRE', 1 ' INFORMATION INTO' WRITE(KNTN,*) 'KSEC2(2) ONWARD.' RETURN END IF C C SET LENGHT OF KSEC2 C KSUP(2)=IW C ------------------------------------------------------------------ 200 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/buupwt.F0000755000175000017500000001770512127406245020375 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUUPWT(KDD,KELEM,KERR) C C**** *BUUPWT* C C C PURPOSE. C -------- C UPDATES WORKING TABLES SETTING ELEMENT NAME,UNIT,SCALE, C REFERENCE VALUE AND DATA WIDTH. C C C** INTERFACE. C ---------- C C *CALL* *BUUPWT(KDD,KELEM,KERR)* C C INPUT : C *KDD* - DATA DESCRIPTOR C *KELEM* - DIMENSION OF CNAMES, CUNITS ARRAY C OUTPUT: C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomwt.F" # include "bcomwtc.F" # include "bcomtab.F" # include "bcomtabc.F" # include "bcomatb.F" # include "bcomatbc.F" # include "bcombef.F" C CHARACTER CATBEN*64,CWTEN*64,CTABBEN*64 CHARACTER CATBU*24,CWTU*24,CTABBU*24 CHARACTER YCH6*6 C C C ------------------------------------------------------------------ C* 1. UPDATE WORKING TABLE. C --------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C ICLASS=KDD/1000 IYYY =KDD-ICLASS*1000+1 ICLASS=ICLASS+1 C C* 1.1 ASSOCIATED FIELD ? C ------------------ 110 CONTINUE C IF(NFD.EQ.0) GO TO 140 C C* 1.2 UNITS ELEMENT DESCRIPTOR ? C -------------------------- 120 CONTINUE C I=NTABP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 WRITE(KNTN,*)'BUUPWT : ',KDD CALL BUERR(KERR) DO 1 IQ=1,JELEM NSTACK(IQ)=0. 1 CONTINUE RETURN END IF C IF(NTABBTR(I)/1000.EQ.31) GO TO 140 c IF(CTABBU(I)(1:4).EQ.'CODE') GO TO 140 c IF(CTABBU(I)(1:4).EQ.'FLAG') GO TO 140 c IF(CTABBU(I)(1:3).EQ.'NUM' ) GO TO 140 C C* 1.3 ADD SPECIAL ENTRY TO WORKING TABLE. C ----------------------------------- 130 CONTINUE C IF(N40.NE.0) THEN NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)=N40 NWTR (NWT)= 999999 NWTEN(NWT)= 0 NWTS (NWT)= 0 NWTRV(NWT)= 0 ELSE DO I=1,NFD NWT=NWT+1 CWTEN(NWT)='ASSOCIATED FIELD' CWTU (NWT)=' ' NWTDW(NWT)=NAFDWA(I) NWTR (NWT)= 999999 NWTEN(NWT)= 0 NWTS (NWT)= 0 NWTRV(NWT)= 0 END DO END IF C C* UPDATE CNAMES AND CUNITS C M=M+1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*)'BUUPWT:' CALL BUERR(KERR) RETURN END IF C C ------------------------------------------------------------------ C* 1.4 SEARCH AUGMENTED TABLE *B ENTRIES . C ----------------------------------- 140 CONTINUE C DO 141 J=1,NJA C IF(NATBTR(J).EQ.KDD) THEN II=J C C* MODIFY ENTRY FOR OPERATOR IN FORCE. C ----------------------------------- C C* ADD ENTRY TO WORKING TABLE. C --------------------------- C IX=KDD/1000 IF(N40.NE.0.AND.IX.NE.31) THEN NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = 0 NWTRV(NWT) = 0 NWTDW(NWT) = N40 ELSE NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = NATBS (II) + NSCAM + NSCAM07 NWTRV(NWT) = NINT(NATBRV(II)*10.**N07) NWTDW(NWT) = NATBDW(II) + NDWINC + NDWINC07 NWTEN(NWT) = 0 END IF C C CHECK IF DATA ARE PRESENT IN DATA SECTION. C IF(N221.NE.0) THEN IX=KDD/1000 IF(IX.GT.9.AND.IX.NE.31) NWTDW(NWT)=0 N221=N221-1 END IF C c IF(NWTR(NWT).EQ.31011.OR.NWTR(NWT).EQ.31012) THEN c OREP=.true. c END IF c if(OREP) then c if(NREP.GT.1.and.NWTR(NWT-1).ne.31011.and. c 1 NWTR(NWT-1).ne.31012) then c NWTDW(NWT)=0 c NREP=NREP-1 c IF(NREP.le.1) then c NREP=0 c OREP=.false. c END IF c END IF c END IF C C* UPDATE M, CNAMES, CUNITS. C ------------------------- C CWTEN(NWT) = CATBEN(II) CWTU (NWT) = CATBU (II) NWTEN(NWT) = 0 IF(CATBU(II)(1:3).EQ.'CCI') THEN NWTEN(NWT)=658367 ELSEIF(N40.NE.0.AND.IX.NE.31.AND. 1 CATBU(II)(1:3).NE.'COD'.AND. 2 CATBU(II)(1:3).NE.'FLA') THEN NWTEN(NWT) = -999 ENDIF C M = M + 1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*)'BUUPWT:' CALL BUERR(KERR) RETURN END IF C RETURN END IF C 141 CONTINUE C C* 1.5 GET TABLE *B ENTRY . C --------------------- 150 CONTINUE C I=NTABP(ICLASS,IYYY) IF(I.EQ.0) THEN KERR=23 WRITE(KNTN,*)'BUUPWT : ',KDD CALL BUERR(KERR) DO 2 IQ=1,JELEM NSTACK(IQ)=0. 2 CONTINUE RETURN END IF C 155 CONTINUE C C ----------------------------------------------------------------- C* 1.6 MODIFY ENTRY FOR OPERATOR IN FORCE. C ----------------------------------- 160 CONTINUE C C* ADD ENTRY TO WORKING TABLE. C --------------------------- C IF(CTABBU(I)(1:4).EQ.'CODE'.OR. 1 CTABBU(I)(1:4).EQ.'FLAG') THEN NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = NTABBS (I) NWTRV(NWT) = NTABBRV(I) NWTDW(NWT) = NTABBDW(I) ELSEIF(N40.NE.0.AND.IX.NE.31) THEN NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = 0 NWTRV(NWT) = 0 NWTDW(NWT) = N40 ELSE NWT=NWT+1 NWTR (NWT) = KDD NWTS (NWT) = NTABBS (I) + NSCAM + NSCAM07 NWTRV(NWT) = NINT(NTABBRV(I)*10.**N07) NWTDW(NWT) = NTABBDW(I) + NDWINC + NDWINC07 END IF C C CHECK IF DATA ARE PRESENT IN DATA SECTION. C IF(N221.NE.0) THEN IX=KDD/1000 IF(IX.GT.9.AND.IX.NE.31) NWTDW(NWT)=0 N221=N221-1 END IF C c IF(NWTR(NWT).EQ.31011.OR.NWTR(NWT).EQ.31012) THEN c OREP=.true. c END IF c IF(OREP) THEN c if(NREP.GT.1.and.NWTR(NWT-1).ne.31011.and. c 1 NWTR(NWT-1).ne.31012) THEN c NWTDW(NWT)=0 c NREP=NREP-1 c IF(NREP.le.1) THEN c NREP=0 c OREP=.false. c END IF c END IF c END IF C 175 CONTINUE C C ------------------------------------------------------------------ C* 1.8 UPDATE M, CNAMES, CUNITS. C ------------------------- 180 CONTINUE C CWTEN(NWT) = CTABBEN(I) CWTU (NWT) = CTABBU(I) NWTEN(NWT) = 0 IF(CTABBU(I)(1:3).EQ.'CCI') THEN NWTEN(NWT)=658367 IF(N08.NE.0) THEN NWTDW(NWT) = N08*8 END IF ELSEIF(N40.NE.0.AND.IX.NE.31.AND. 1 CTABBU(I)(1:3).NE.'COD'.AND. 2 CTABBU(I)(1:3).NE.'FLA') THEN NWTEN(NWT) = -999 ENDIF C M = M + 1 IF(M.GT.KELEM) THEN KERR=25 WRITE(KNTN,*) 'BUUPWT:' CALL BUERR(KERR) RETURN END IF C C ----------------------------------------------------------------- C 200 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/ctable1.F0000755000175000017500000001156712127406245020362 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CTABLE1(YNAME,KERR) C C**** *CTABLE1* C C C PURPOSE. C -------- C THE MAIN PURPOSE OF THIS PROGRAMME IS TO CREATE WORKING C CODE TABLES FOR *BUFR* DECODING. C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, *FM 94 BUFR*. C C J.K.GIBSON AND *M.DRAGOSAVAC,1987:* DECODING *DATA *REPRESENTATION C *FM 94 BUFR*,*TECHNICAL *MEMORANDUM *NO. 134 C C J.K.GIBSON,1986:*EMOS 2 - *STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE *,*TECHICAL MEMORANDUM *NO. C *ECMWF*. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C # include "parameter.F" # include "bcmwork.F" # include "bcmtab.F" # include "bcmtabc.F" # include "bcmct.F" # include "bcmctc.F" # include "bcmroot.F" C CHARACTER*64 CTEXT CHARACTER*64 CTABBEN CHARACTER*24 CTABBU CHARACTER*256 YFNAME CHARACTER*(*) YNAME CHARACTER*120 YENTRY C REAL*8 RVIND,EPS C C ------------------------------------------------------------------ C* 1. SET INITIAL CONSTANTS AND POINTERS C ---------------------------------- 100 CONTINUE C J=0 YFNAME=' ' C DO 101 I=1,JCTEXT CTEXT(I)=' ' 101 CONTINUE C DO 102 I=1,JCTAB NREF(I)=0 NSTART(I)=0 NLEN(I)=0 102 CONTINUE C DO 103 I=1,JCTST NCODNUM(I)=0 NSTARTC(I)=0 NLENC (I)=0 103 CONTINUE C II=INDEX(YNAME,' ') II=II-1 YFNAME=YNAME(1:II) II=INDEX(YFNAME,' ') II=II-1 CALL GET_FREE_UNIT(IUNIT) OPEN(UNIT=IUNIT,FILE=YFNAME(1:II),ERR=401,STATUS='OLD') C C ------------------------------------------------------------------ C* 2. READ IN CODE TABLE ENTRY C ------------------------ 200 CONTINUE C C READ(IUNIT,'(A)',ERR=402,END=300) YENTRY C J = J+1 C IF(J.GT.JCTAB) THEN PRINT*,' DIMENSION TOO SMALL J=',J kerr=66 return END IF C C ------------------------------------------------------------------ C* 2.1 SET ARRAYS FOR CODE TABLE TABLE REFERENCE, STARTING POINTERS C FOR LIST OF CODE NUMBERS, LENGTH , LIST OF CODE NUMBERS, C STARTING POINTERS AND LENGTH OF TEXT INFORMATION. 210 CONTINUE C READ(YENTRY,'(I6,1X,I4,1X,I4,1X,I2)') NREF(J),NLEN(J),NCODE,NLINE C IF(J.EQ.1) THEN NSTART (J) = 1 NSTARTC(J) = 1 IPT = 1 IIPT= 1 ELSE NSTART(J) = NSTART(J-1) + NLEN(J-1) IPT = NSTART(J) IIPT = IIPT + 1 NSTARTC(IPT)= IIPT END IF C C NCODNUM(IPT)=NCODE NLENC ( IPT)=NLINE C CTEXT (IIPT)=YENTRY(21:80) C ------------------------------------------------------------------- IF(NLENC(IPT).GT.1) THEN DO 220 JA=1,NLENC(IPT)-1 READ(IUNIT,'(A)',END=300) YENTRY IIPT=IIPT+1 CTEXT(IIPT)=YENTRY(21:80) 220 CONTINUE END IF C IF(NLEN(J).GT.1) THEN DO 230 JA=1,NLEN(J)-1 READ(IUNIT,'(A)',END=300) YENTRY READ(YENTRY,'(12X,I4,1X,I2)') NCODE,NLINE IPT = IPT + 1 IIPT =IIPT + 1 NCODNUM(IPT)= NCODE NSTARTC(IPT)= IIPT NLENC (IPT)=NLINE CTEXT(IIPT) = YENTRY(21:80) IF(NLENC(IPT).GT.1) THEN DO 240 JB=1,NLENC(IPT)-1 READ(IUNIT,'(A)',END=300) YENTRY IIPT=IIPT+1 CTEXT(IIPT)=YENTRY(21:80) 240 CONTINUE END IF 230 CONTINUE END IF C GO TO 200 C C ------------------------------------------------------------------ 300 CONTINUE C CLOSE(IUNIT) C C write(*,'(1h )') C write(*,'(1H ,a,i4)') 'Total number of entries in Table C is ',j C RETURN C ----------------------------------------------------------------- 400 CONTINUE C 401 CONTINUE C KERR=62 WRITE(*,4401) IOS,YFNAME 4401 FORMAT(1H ,'Open error ',i4,' on ',a) RETURN C 402 CONTINUE KERR=7 WRITE(*,4402) IOS,YFNAME 4402 FORMAT(1H ,'Read error ',i4,' on ',a) RETURN C END emoslib-000392+dfsg.1/bufrdc/buens3.F0000755000175000017500000001155012127406245020236 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUENS3(KSEC3,KTDLEN,KTDLST,KBUFL,KBUFF,KERR) C C**** *BUENS3* C C C PURPOSE. C -------- C C PACK SECTION 3 OF BUFR MESSAGE. C C C** INTERFACE. C ---------- C C *CALL* *BUENS3( KSEC3,KTDLEN,KTDLST,KBUFL,KBUFF,KERR)* C C INPUT : C *KSEC3* - ARRAY CONTAINING SECTION 3 INFORMATION C KSEC3( 1)-- LENGTH OF SECTION 3 (BYTES) C KSEC3( 2)-- RESERVED C KSEC3( 3)-- NUMBER OF SUBSETS C KSEC3( 4)-- FLAG (DATA TYPE,DATA COMPRESSION) C *KTDLEN* - NUMBER OF DATA DESCRIPTORS IN SECTION 3 C *KTDLST* - ARRAY CONTAINING DATA DESCRIPTORS IN SECTION 3 C C OUTPUT : C *KBUFL* - LENGTH OF BUFR MESSAGE (WORDS) C *KBUFF* - ARRAY CONTAINING BUFR MESSAGE C *KERR* - RETURNED ERROR CODE C C METHOD. C ------- C C C C C EXTERNALS. C ---------- C C BUPCK - PACKS BIT PATHERN C BUOCTN - SET LENGTH OF SECTION C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 01/02/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" C DIMENSION KBUFF(KBUFL) DIMENSION KTDLST(KTDLEN) C DIMENSION KSEC3(JSEC3) C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif C ------------------------------------------------------------------ C* 1. PACK PRELIMINARY ITEMS OF SECTION 3. C -------------------------------------- 100 CONTINUE C IF( KERR.NE.0 ) RETURN C C* 1.1 KEEP POINTERS TO THE BEGINING OF THE SECTION. C --------------------------------------------- 110 CONTINUE C IWPTB = NWPT IBPTB = NBPT C C C* 1.2 PACK LENGTH OF SECTION 3. C ------------------------- 120 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,24,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING LENGTH OF SECTION 3.' RETURN END IF C C C* 1.3 PACK ZERO BYTE AND PUT IT IN KSEC3(2). C -------------------------------------- 130 CONTINUE C CALL BUPCK(NBPW,KBUFF(NWPT),0,NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING RESERVED BYTE IN SECTION 3.' RETURN END IF C C* 1.4 PACK NUMBER OF DATA SUB-SETS. C ----------------------------- 140 CONTINUE C IF(KSEC3(3).GT.65535) THEN KERR=27 CALL BUERR(KERR) RETURN END IF C CALL BUPCK(NBPW,KBUFF(NWPT),KSEC3(3),NWPT,NBPT,16,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC3(3) IN SECTION 3.' RETURN END IF C C C* 1.5 PACK INTEGER VALUE OF THE OCTET C --------------------------------- C CONTAINIG FLAG BITS. C -------------------- 150 CONTINUE C IF(KSEC3(3).LE.1) THEN KSEC3(4)=IBCLR(KSEC3(4),6) END IF CALL BUPCK(NBPW,KBUFF(NWPT),KSEC3(4),NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING KSEC3(4) IN SECTION 3.' RETURN END IF C C ----------------------------------------------------------------- C* 1.6 PACK DATA DESCRIPTORS. C ---------------------- 160 CONTINUE C C DO 161 I=1,KTDLEN IFIXIY=KTDLST(I) C II=IFIXIY/1000 IY=IFIXIY-II*1000 IF=II/100 IX=II-IF*100 C CALL BUPCK(NBPW,KBUFF(NWPT),IF,NWPT,NBPT,2,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING ',I,' DESCRIPTOR IN SECTION 3.' RETURN END IF CALL BUPCK(NBPW,KBUFF(NWPT),IX,NWPT,NBPT,6,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING ',I,' DESCRIPTOR IN SECTION 3.' RETURN END IF CALL BUPCK(NBPW,KBUFF(NWPT),IY,NWPT,NBPT,8,KERR) IF(KERR.GT.0) THEN WRITE(KNTN,*) 'ERROR PACKING ',I,' DESCRIPTOR IN SECTION 3.' RETURN END IF C C 161 CONTINUE C C* 1.7 SET UP LENGTH OF THE SECTION 1. C -------------------------------- 170 CONTINUE C CALL BUOCTN(IWPTB,IBPTB,KBUFL,KBUFF,KERR) IF(KERR.GT.0) RETURN C C RETURN END emoslib-000392+dfsg.1/bufrdc/bugbytesR8.F0000755000175000017500000000212112127406245021067 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUGBYTESR8(KSOURCE,DESTINATION,KSKIP,KWIDTH, 1 KSKIPBETWEEN,KNUMBER) C C**** *BUGBYTESR8* C C C PURPOSE. C -------- C C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JULY 2008 C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) REAL*8 DESTINATION CALL GBYTES(KSOURCE,DESTINATION,KSKIP,KWIDTH,KSKIPBETWEEN,KNUMBER) RETURN END emoslib-000392+dfsg.1/bufrdc/busrq.F0000755000175000017500000000564612127406245020204 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUSRQ(KREQ,KRQL,KRQ,RQV,KERR) C C**** *BUSRQ* C C C PURPOSE. C -------- C SET LIST OF BUFR TABLE B ELEMENT REFERENCES C FOR PARTIAL EXPANSION. C C C** INTERFACE. C ---------- C C *CALL* *BUSRQ(KREQ,KRQL,KRQ,RQV,KERR)* C C INPUT : C *KREQ* - FLAG C BIT NUMBER MEANING C 1 - 0 NO BIT MAP DELIVERED TO USER C 1 BIT MAP DELIVERED TO USER C 2 - 0 NO PARTIAL EXPANSION C 1 PARTIAL EXPANSION C 3 - 0 NO Q/C REQUIRED C - 1 Q/C REQUIRED C 4 - 0 NO STATISTICS REQUIRED C - 1 STATISTICS C 5 - 0 NO DIFFRENCE STATISTICS C - 1 DIFFERENCE STATISTICS C 6 - 0 NO SUBSTITUTED VALUES C - 1 SUBSTITUTED VALUES C *KRQL* - NUMBER OF REQUESTED ELEMENTS C *KRQ* - LIST OF REQUESTED TABLE B REFERENCE C *RQV* - LIST OF VALUES SIGNIFYING REQUESTED ELEMENT C (SAY PRESSURE AT 50000 PA) C OUTPUT: C *KERR* - RETURNED ERROR CODE C C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcomreq.F" # include "bcomdefc.F" C CHARACTER*4 CUSER,CECMWF DIMENSION KRQ(*),KREQ(*) #ifndef R_4 REAL*8 RQV(*) REAL*8 RQVAL #else REAL RQV(*) REAL RQVAL #endif C C ------------------------------------------------------------------ C* 1. MOVE REQUESTED ELEMENTS INTO COMMON BLOCK /COMREQ/. C --------------------------------------------------- 100 CONTINUE C IF(KERR.GT.0) RETURN C CUSER='USER' C NRQL=KRQL NREQ(1)=KREQ(1) NREQ(2)=KREQ(2) C DO 101 I=1,KRQL NRQ(I)=KRQ(I) RQVAL(I)=RQV(I) 101 CONTINUE C RETURN END emoslib-000392+dfsg.1/bufrdc/bunpks.F0000755000175000017500000000475712127406245020354 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUNPKS(KBPW,KSOURC,KDEST,KWPT,KBPT,KSIZE,KSKIPB,K,KERR) C C**** *BUNPKS* C C C PURPOSE. C -------- C PURPOSE OF THIS ROUTINE IS TO UNPACK BIT STRING OF C KSIZE BITS, STARTED AT WORD KWPT OF ARRAY KSOURC AFTER C SKIPPING KBPT BITS. RESULT IS PUT INTO KDEST. AT THE END C POINTERS KWPT AND KBPT ARE ADJUSTED. C C** INTERFACE. C ---------- C C *CALL* *BUNPKS(KBPW,KSOURC,KDEST,KWPT,KBPT,KSIZE,KSKIPB,K,KERR)* C C INPUT : C *KBPW* - NUMBER OF BITS PER COMPUTER WORD C *KSOURC* - SOURCE (CONTINUOUS BIT STRING OF C ARBITRARY LENGTH) C *KWPT* - WORD POINTER C *KBPT* - BIT POINTER C *KSIZE* - NUMBER OF BITS TO BE EXTRACTED C *KSKIPB* - NUMBER OF BITS TO SKIP BETWEEN ELEMENTS C *K* - ITERATION C OUTPUT: C *KDEST* - DESTINATION C *KERR* - RETURN ERROR CODE C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C GBYTES - UNPACK BIT PATTERN C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/01/91. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C DIMENSION KSOURC(*),KDEST(*) C C ------------------------------------------------------------------ C* 1. EXTRACT BIT PATTERN. C -------------------- 100 CONTINUE C IF(KERR.NE.0) RETURN C IF(KSIZE.GT.KBPW) THEN KERR=13 CALL BUERR(KERR) RETURN END IF C CALL GBYTES(KSOURC(KWPT),KDEST,KBPT,KSIZE,KSKIPB,K) C C ------------------------------------------------------------------ C* 1.1 UPDATE WORD AND BIT POINTERS. C ----------------------------- 110 CONTINUE C KBPT = KBPT + K*(KSIZE+KSKIPB) C IF(KBPT.GE.KBPW) THEN IW = KBPT/ KBPW KBPT= KBPT - IW * KBPW KWPT= KWPT +IW END IF C RETURN END emoslib-000392+dfsg.1/bufrdc/fmmh.F0000755000175000017500000001230612127406245017766 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE FMMH(KLA,KLO,KELEM,VALUES,KSEC3,RMINLAT,RMINLON, 1 RMAXLAT,RMAXLON) C C**** *FMM* C C C PURPOSE. C -------- C FIND MINIMUM AND MAXIMUM LATITUDE AND LOGITUDE. C C** INTERFACE. C ---------- C C *CALL* *FMMH(KLA,KLO,VALUES,KSEC3,RMINLAT,RMINLON, C RMAXLAT,RMAXLON)* C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/04/1991. C C C MODIFICATIONS. C -------------- C C NONE. C C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C C C DIMENSION KSEC3(*) #ifndef R_4 REAL*8 VALUES(*) REAL*8 RNLON REAL*8 RNLAT REAL*8 RMINLAT REAL*8 RMINLON REAL*8 RMAXLAT REAL*8 RMAXLON REAL*8 RVIND REAL*8 EPS #else REAL VALUES(*) REAL RNLON REAL RNLAT REAL RMINLAT REAL RMINLON REAL RMAXLAT REAL RMAXLON REAL RVIND REAL EPS #endif C ----------------------------------------------------------------- C* 1. FIND MIN/MAX LATITUDES/LONGITUDES. C ---------------------------------- 100 CONTINUE C RVIND=1.7D38 EPS=10.D-7 C ISUB=KSEC3(3) C C DO 101 I=1,ISUB KLAI=KELEM*(I-1)+KLA IF(ABS(VALUES( KLAI)-RVIND)/RVIND.GT.EPS) 1 THEN RMINLAT=VALUES( KLAI) GO TO 105 END IF 101 CONTINUE C 105 CONTINUE C DO 110 I=1,ISUB C KLAI=KELEM*(I-1)+KLA IF(ABS(VALUES( KLAI)-RVIND)/RVIND.LT.EPS) GO TO 110 RNLAT=VALUES( KLAI) IF(RNLAT.LT.RMINLAT) RMINLAT=RNLAT C 110 CONTINUE C DO 111 I=1,ISUB KLOI=KELEM*(I-1)+KLO IF(ABS(VALUES( KLOI)-RVIND)/RVIND.GT.EPS) THEN RMINLON=VALUES( KLOI)+180. GO TO 115 END IF 111 CONTINUE C 115 CONTINUE C DO 120 I=1,ISUB C KLOI=KELEM*(I-1)+KLO IF(ABS(VALUES( KLOI)-RVIND)/RVIND.LT.EPS) GO TO 120 RNLON=VALUES( KLOI)+180. IF(RNLON.LT.RMINLON) RMINLON=RNLON C 120 CONTINUE C DO 121 I=1,ISUB KLAI=KELEM*(I-1)+KLA IF(ABS(VALUES(KLAI)-RVIND)/RVIND.GT.EPS) THEN RMAXLAT=VALUES( KLAI) GO TO 125 END IF 121 CONTINUE C 125 CONTINUE C DO 130 I=1,ISUB C KLAI=KELEM*(I-1)+KLA IF(ABS(VALUES( KLAI)-RVIND)/RVIND.LT.EPS) GO TO 130 RNLAT=VALUES( KLAI) IF(RNLAT.GT.RMAXLAT) RMAXLAT=RNLAT C 130 CONTINUE C C DO 131 I=1,ISUB KLOI=KELEM*(I-1)+KLO IF(ABS(VALUES( KLOI)-RVIND)/RVIND.GT.EPS) THEN RMAXLON=VALUES( KLOI)+180. GO TO 135 END IF 131 CONTINUE C 135 CONTINUE C DO 140 I=1,ISUB C KLOI=KELEM*(I-1)+KLO IF(ABS(VALUES( KLOI)-RVIND)/RVIND.LT.EPS) GO TO 140 RNLON=VALUES( KLOI)+180. IF(RNLON.GT.RMAXLON) RMAXLON=RNLON C 140 CONTINUE C RMINLON=RMINLON-180. RMAXLON=RMAXLON-180. C C C* 2. CHECK IF ALL OBSERVATION FITS IN THE BOX. C ----------------------------------------- 200 CONTINUE C DO 201 I=1,ISUB C KLAI=KELEM*(I-1)+KLA KLOI=KELEM*(I-1)+KLO IF((VALUES( KLAI).LT.RMINLAT.AND.VALUES( KLAI).GT.RMAXLAT).OR. 1 (VALUES( KLOI).LT.RMINLON.AND.VALUES( KLOI).GT.RMAXLON) ) 2 GO TO 210 201 CONTINUE C C ALL DATA IN THE BOX C RETURN C C* 2.1 FIND MAX NEGATIVE LONGITUDE AND MIN POSITIVE LONGITUDE. C ------------------------------------------------------- 210 CONTINUE C DO 211 I=1,ISUB KLOI=KELEM*(I-1)+KLO IF(ABS(VALUES( KLOI)-RVIND)/RVIND.GT.EPS) THEN IF(VALUES( KLOI).LT.0) THEN RMAXLON=VALUES( KLOI) GO TO 215 END IF END IF 211 CONTINUE C C NEGATIVE LONGITUDES NOT FOUND C PRINT*,'FMM:NEGATIVE LONGITUDES NOT FOUND' RETURN C 215 CONTINUE C DO 220 I=1,ISUB C KLOI=KELEM*(I-1)+KLO IF(ABS(VALUES( KLOI)-RVIND)/RVIND.LT.EPS) GO TO 220 IF(VALUES( KLOI).LT.0) THEN RNLON=VALUES( KLOI) IF(RNLON.GT.RMAXLON) RMAXLON=RNLON END IF C 220 CONTINUE C C* 2.3 FIND MIN POSITIVE LONGITUDE. C 230 CONTINUE DO 231 I=1,ISUB KLOI=KELEM*(I-1)+KLO IF(ABS(VALUES( KLOI)-RVIND)/RVIND.GT.EPS) THEN IF(VALUES( KLOI).GE.0) THEN RMINLON=VALUES( KLOI) GO TO 235 END IF END IF 231 CONTINUE C C POSITIVE LONGITUDES NOT FOUND C PRINT*,'FMM:POSITIVE LONGITUDES NOT FOUND' RETURN C 235 CONTINUE C DO 232 I=1,ISUB C KLOI=KELEM*(I-1)+KLO IF(ABS(VALUES( KLOI)-RVIND)/RVIND.LT.EPS) GO TO 232 IF(VALUES( KLOI).GE.0) THEN RNLON=VALUES( KLOI) IF(RNLON.LT.RMINLON) RMINLON=RNLON END IF C 232 CONTINUE RETURN END emoslib-000392+dfsg.1/bufrdc/bupck.F0000755000175000017500000000540412127406245020144 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE BUPCK(KBPW,KD,KS,KWPT,KBPT,KSI,KERR) C C**** *BUPCK* C C C PURPOSE. C -------- C PURPOSE OF THIS ROUTINE IS TO PACK VALUE *KS* IN C *KSI* BITS, STARTED AT WORD KWPT OF ARRAY *KD* AFTER C SKIPPING NBPT BITS. AT THE END C POINTERS *KWPT* AND *KBPT* ARE ADJUSTED. C C** INTERFACE. C ---------- C C *CALL* *BUPCK(KBPW,KD,KS,KWPT,KBPT,KSI,KERR)* C C INPUT : C *KS* - SOURCE C *KWPT* - WORD POINTER C *KWPT* - BIT POINTER C *KSI* - NUMBER OF BITS ACCUPIED BY KS. C C OUTPUT : C *KD* - DESTINATION ARRAY. C *KERR* - RETURN ERROR CODE C C *METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C C *CALL SBYTE(KD,KS,KBPT,KSI)* C C *KD* - DESTINATION ARRAY. C *KS* - SOURCE C *KBPT* - POINTER TO BIT IN THE KD(KWPT) C *KSI* - NUMBER OF BITS ACCUPIED BY KS. C C C C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 09/06/86. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C C # include "parameter.F" # include "bcomunit.F" # include "bcmwork.F" C #ifndef R_4 REAL*8 RVIND REAL*8 EPS #else REAL RVIND REAL EPS #endif DIMENSION KD(*) DIMENSION IMAXV(32) C DATA IMAXV/1,3,7,15,31,63,127,255,511,1023,2047,4095,8191, 1 16383,32767,65535,131071,262143,524287,1048575,2097151, 2 4194305,8388607,16777215,33554431,671108863,134217727, 3 268435455,536870911,1073741823,2147483647,2147483647/ C C ------------------------------------------------------------------ C* 1. SET UP BIT PATTERN. C ------------------- C 100 CONTINUE C IF(KERR.GT.0) RETURN C IF(KS.EQ.NVIND) KS=IMAXV(KSI) C IF(KS.GT.IMAXV(KSI)) THEN KERR=28 RETURN END IF C CALL SBYTE(KD,KS,KBPT,KSI) C C ------------------------------------------------------------------ C* 1.1 UPDATE WORD AND BIT POINTERS. C ----------------------------- 110 CONTINUE C KBPT = KBPT + KSI C IF(KBPT.GE.KBPW) THEN KBPT= KBPT - KBPW KWPT= KWPT + 1 END IF C RETURN END emoslib-000392+dfsg.1/land_sea_mask/0000755000175000017500000000000012127406245020237 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/land_sea_mask/lsm_xx_lsm0p5deg0000755000175000017500000007747012127406245023376 0ustar amckinstryamckinstryÿÿÿàÿÿðÿÿÿÿüÿÿÿÿÿÀÿÿÿÿÿøÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÏþ?ÀÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿüàÿøÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÀÿðÿðÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿðÿ€ÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÀÿà?ÿààÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿþÿøÿàáþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ~ÿøÿÿÿÿÿÿÿÿÿÿÿÿþüàÿà?ÿÿÿÿÿÿÿÿÿÿÿÿ€ð?þÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿ€þÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿðð|áÿøàÿÿÿÿÿÿÿÿÿÿÀðÿÿÿÿÿðÿàÿþøþÿ€ÿÿÿÿÿÿÿÿÿÀàÿÿÿÿÿÿàþüÿà?ÿÿÿÀÿÿÿÿÿÿÿÿþþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÀàÿÿÿÿÿàÿüÀÿÿÿÿÿÿÿÿþàÿÿÿÿÿÿÿÿüÿÿÿ€>ÿáÿÿðÿÿÿÿÿÿÿà€ÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿ|ÿÿƒÿÿæ?ÿÿÿÿÿÿÿð?€ÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿàøÿ çÿÏÀ?ÿÿÿÿÿÿÿø>?ÀÿÿÿÿÿÿÿÿÿÿÿÀÿÿÀÿÿÿþ~ÿÿÿà?ÿÿÿÿÿÿÿà?ÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿà|ÿÿÿxÿÿÿøÿÿÿÿÿÿÿàÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÀðø€ÿÿÿ~ÿÿÿÿàÿÿÿÿÿÿøàÿüÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿðÿÿà~ÿÿÿÿüÿÿÿÿÿÿøàÿðÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÀÀÿÿÿøÿÿÇÿÿ?ÿÿÿÿÿÿÿÀÿÿÿð8?àÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿþÿÿÿÿÿàÿÿÿÀÿÿÿààøÿàÿÿÿÿÿþÿÿÿÿ€?øÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿ‡áøÿ€?ÿÿÿÿÿøÿÿÿÿÿð ÿÿÿÿÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿàÿ‡øÿÀÿÿÿÿÿþÿÿÿÿÿüpÿÿÿÿÿÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿð?€ÿøÿðÿÿÿÿÿøÿÿÿÿÿÿ€pÿÿÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ?ÿŸð€ÿÿ€ÿÿÿÿüÿÿÿÿÿÿàsÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿðÿÿÿÿüÿÿÿÿçÿ€ÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿðçÿüÿÿÿÿàÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿàÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿøÿøÿÿÿÿ€8?ðÿÿðÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€ÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿüçÿàÀÿÿÿÀÿðÿÿð?ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÀÿŸàÿÿÿÿðÿÿðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸðÿøÿþÿÀÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð„ÿþÿþÿ?ÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàþ?ÿþüÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?˜ÿøÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ0àÿàÿÿàÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿüþÿàÿÿàÿóþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ|ÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿÿøÿÀÿðÿÿàÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿpÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿøÿðÀÿÿøü<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüþÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿàÿðÀÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€ÿþ|ÿÿÿÿÿÿÿÿÿÿÿÀÿøÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüø?ÿüÿÿÿÿÿÿñÿÿÿàÿü€ÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøø~ÿüÿÿÿÿÿÿñÿÿÿðÿüÀáßàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàüøÿÿÿÿÿÿÿÿÿÿüÿÿðÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€üðÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÀÿ€ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?þ#ÿÿÿÿÿÿÿ÷ÿÿÿÿÿøà|Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüü'ÿÿÿÿÿÿÿÿÿÿüÿÿÿüð|Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿþ0ÿÿÿÿÿÿÿÿÿÿþÿÿÿüð8üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿð€ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿþà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿ€ÿðÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿø8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿð||ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿ€ÿàÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿøø<>øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿþð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿ€ŸÿÿÿÿÿÿþGÿÿÿð?ÿÿÿÿþð?ÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÏ|ƒÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿøÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÏ|ÿÿÿÿÿÿÿ!ÿÿÿüÿÿÿÿÿøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿpÿÿÿÿÿÿÿùÿÿÿþÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏ`?ÿÿÿÿÿÿÿÿÿÿþÿÿÿÿøÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿâÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿÿþÿÿÿÿÿÀ`Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ„Ÿÿÿÿÿÿÿßÿÿÿÿÿþøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ„Ÿÿÿÿÿÿÿÿþÿÿÿø~øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿüøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿàÿÿÿÿülÿÿÿÿÿÿÿÿÿãÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿã€ÿÿÿÿüÿÿÿÿÿÿÿü|ÿÿàÿÿÿûÿïÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿø<ÿÿÀþÿÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿãÿÿÿÿÇÿÿÿÿÿÿÿðÿÿ€?øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÃÿÿÿÿþÿÿÿ‡ÿÿÿàŸÿþÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀÿÿãðÿÿÿƒÿÿÿÀÿüÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿσÿÿÿÇ€ÿÿÿÿÿÀÿüÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€ÿÿÿÿÿÿÿÿÿ߃þÿüÿþðÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿÿÿÿÿã€ÿðxþðÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿp?€ÿÿÿÿÿÿÿÿÿÿÿÿàÿÿþ üÿþÿ€?ÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿüÇÿÿÿÿÿÿÿÿÿð?ÿàÿÿþ ÿÿ<ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÀÿÿÿÿÿÿÿÿÿŸãÿÿàÿÿø€ÿÿÀÿÀÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÁÿÿãÿàÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ€pñÿ?ÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿà`ÿÿÿÿÿÿÿÿÿÿÿÿøÿÿ€pÈüÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€pÿÿÿÿÿÿÿÿÿÿÿÿøÿÿp@üÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?x?ÿÿÿÿÿÿÿÿÿÿÿàÿÿ@@>ÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð`?ÿÿÿÿÿÿÿÿÿÿÿÀÿÿÀ‡ÿÿÿýÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?€ð?ÿÿÿÿÿÿÿÿÿÿÿàÿÿ~ÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÀàÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ|àÀÿÿÿÿÿÿÿÿÿÿÿÿøÏüÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðàÀÿÿÿÿÿÿÿÿÿÿÿð?ÿüqÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀð?Àÿÿÿÿÿÿÿÿÿÿÿÿü ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ð€ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿ€ÿÿÿÿÿÿÿÿÿÿÿ€ÿÿüppÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀüÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÀÿÿÿÿÿÿÿÿÿÿøÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€;€ÿÿÿÿÿÿÿÿÿð?ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€pÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþ~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿþÿÿÿÿÿþÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿüÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàãÿÿÿÿÿÿÿøÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàaÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðaÿÿÿÿÿðøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð0ÿÿÿÿàx>ÿÿÿÿÿÿÿÿÿÿßÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿ?ÿÿÿÿÿÿÿÿÿÿñÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿüÿÿÿÿÿÿÿÿÿÿÿðÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿüÿÿÿÿÿÿÿÿÿÿÿøÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿüÿÿÿÿÿÿÿÿÿÿÿøÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿüÿÿÿÿÿÿÿÿÿÿÿø?ÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿÿüÿÿÿÿÿÿÿÿÿÿÿü?ÿÿúƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿAÿÿüÿÿÿÿÿÿÿÿÿÿÿþÿÿþ€ÿÿÿÿÿÿÿÿÿÿÿÿþ8`ÿÿüÿÿÿÿÿÿÿÿÿÿÿþÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿð0 ÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿàp?ÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÀp ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿþ`ÿø?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿüÿðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿÿüÿÿÿÿÀÿøƒðÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿ¿ÿÿþÿÿÿ¿ÿü <ÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿþ?ÿÿüÿÿþ ÿüà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿü?ÿÿü?ÿÿüÿþÀàÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿð?ÿÿøÿÿøÀÿþÀ@ÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿð?ÿÿàÿÿø<àÿÿÀøÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿ€?ÿÿÀÿÿð<ÿ?Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿ?ÿÿ€ÿÿð8?ÿÃÿ€àÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿø8ÿçÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿþÿþÿÿü8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿüÿøÿÿþ8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿàÿøÿÿx?ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ€ÿàÿÿ€pÇþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿ€ÿÿÀpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿøÿ€ÿÿÀpÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÀÿ€ÿÿà0ÿÿ€ÿÿÿÿÿÿÿçÿÿÿÿÿÿñÿÿ€ÿÿàÿ€ÿÿÿÿÿÿÿãÿÿÿÿÿÿùþÿ€ÿÿàÿ€ÿÿÿÿÿÿÿñÿÿÿÿÿÿýàÿ€ÿà ?€ÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿþÿ€ÿà ?€ÿÿÿÿÿÿÿÿÿÿÿÿÿßþÿ€ÿà €Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ ÿÿÀ 0 €Œ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿ€ €?¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü~ €ÿðäÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü~<@À?ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü~@8à`ÿ¿ÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü|@pðÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø0à€x?ÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðà€øÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðð€xÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàðÀxÿÿÿÿðÿÿþÿÿÿÿÿÿÿÿÿÿàpø0pÿÿÿÿøÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÀ|pÿÿÿÿþpÿÿÿÿÿÿÿÿÿÿÿÿÀ~üÿÿÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿ€ð~üÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿø~øÿÿÿÿÿÿ€àÿÿÿÿÿÿÿÿx>ðÿÿÿÿÿÿÀÿÿÿÿÿÿÿþðÿÿÿÿÿÿàÿÿÿÿÿÿÿÿü?àÿÿÿÿÿÿàÿÿÿÿÿÿÿÿøÿðÿÿÿÿÿÿàÿü?ÿÿÿÿÿàÀÿðÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÀø€?ÿø!ÿÿÿÿÿÿðÿ÷ÿÿÿÿÿÿü?ÿð?Á€?ÿÿÿÿÿÿðÿ÷ÿÿÿÿÿþÿ?ÿàÿÿÿÿÿÿàÿÿÿÿÿÿÿüÿÿàÿÿÿÿÿÿÿþÿÿÿÿÿÿø~ÿàÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿð~ÿà†ø ÿÿÿÿÿÿÿþàÿÿÿÿÿÿð€ÿÀøøÿÿÿÿÿÿÿÿüÿÿÿÿÿÿà?˜ÿ€ðø<ÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿ€?äÿƒðÀÿÿÿÿÿÿÿÿþ@ÿÿÿÿÿÿÿ€øÿƒ˜x<ÿðÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿøØ?ÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿøŒÿÿÀ ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÏÿþø„?ÿàÿÿÿÿÿÿÿÿÿÿøÿÿÿÏÿþø„ÿð€ÿÿÿÿÿÿÿÿÿÿüÿÿÿïÿþpÿø€ÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿ÷ÿþÿþ<ÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿ÷ÿþ€ÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿóÿÿÿ€ÿþÿÿÿÿÿÿÿÿÿÿàÿÿÿûÿþÿÀÿ¿ÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿþøÿ€?ÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿþpp>€?ÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿ`àÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÀðÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿûÿÀ€ðÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿûÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÀÿÿÿÿÿÿÿÿÿþÿÿÿÿùÿ€`ÿÿÿÿÿÿÿÿÿüÿÿÿÿûÿ€|ÿÿÿÿÿÿÿÿÿøÿÿÿÿûÿÀ0ÿÀÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÀ0ÿÀÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÀxÿ€ÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÀxÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÀøÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÀøïþàÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÀø?ÿÿ€à?óÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿ€ð?ÿÿÀàýÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿðÿÿÿøàÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿüðÿÿÿþ?ðÿÿÿÿÿÿÿÀÿÿÿÿÿÿðàÿÿÿÿð?ÿÿÿÿÿÿÿÀÿÿÿÿÿÿààÿÿÿÿÿðÿÿÿÿÿÿÿÀÿÿÿÿÿÀàÿÿÿÿÿøÿÿÿÿÿÿÿ€ÿÿÿÿÿ€àÿÿÿÿÿüÿÿÿÿÿÿÿ€?ÿÿÿÿÿàÿÿÿÿÿþÿÿÿÿÿÿÿ€ÿÿÿÿü?Àÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿü€ÿÿÿÿÿÿÿÀ@ÿÿÿÿÿÿþÿÿÿÿþ€ÿÿÿÿÿÿÿà ÿÿÿÿÿÿüÿÿÿÿþÿ€ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿþþÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÀÿÿÿÿð~ÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿ€ÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿþÿÿÿ€ÿÿÿÿÿÿÿÿÿà?ÿÿÿÿü?ÿÿÿ€ÿÿÿÿÿÿÿÿÿàÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿàÿÿÿÿðÿÿøÿÿÿÿÿÿÿÿÿÀÿÿÿÿðÿÿøÿÿÿÿÿÿÿÿÿÀÿÿÿÿ€ÿÿðÿÿÿáÿÿÿÿÿÀÿÿÿÿ€ÿÿàÿÿÿÀÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿòÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿ€ÿÿÿÿÿÿÿüÿüÿÿÏÿÿÿÿÿÿüÿðÿÿÿüÿÿÿø€þ‡ÿÿüÿÿÿóðÿÿøÿÿÿøÿÿøÿÿÿüÿÿøÿÿÿüÿÿðÿÿÿüÿÿðÿÿÿüÿð€ÿÿÿüÿØÿÿÿüžøÿÿÿððÿÿøÀÿÿðÀÿÿðÀÿÿð€ÿþ€ÿÿü€øÿþ€ðÿÿÀ€Àÿþ Àÿþ~ÿþþÿüüÿðüÿÀüÿ€ðÿÀ€ÿàÿð?ÿð?ÿÀ ?ÿÀ?ÿÀÿþþþ0þðþ€à?ð?ð€>„>øÿ€øøÿÀÿÿÿÿ>ÿø€?ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿàüÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðüÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ<ÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÀÀÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøÿðÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿøÿüÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿþ8àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøþ>ÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà ÿ?ð~üøÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ>>ÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿããÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿðþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿemoslib-000392+dfsg.1/land_sea_mask/defaults_for_table_1290000755000175000017500000000104012127406245024377 0ustar amckinstryamckinstryParam lsm wind prec lsm interp ----- --- ---- ---- ---------- 131 y y n n # U 132 y y n n # V 142 y n y n # LSP 143 y n y n # CP 144 y n y n # SF 151 n n n n # MSL 165 y y n n # 10U 166 y y n n # 10V 172 n n n y # LSM 228 y n y n # TTP 239 y n y n # CSF 240 y n y n # LSF emoslib-000392+dfsg.1/land_sea_mask/0-INDEX-00000755000175000017500000000337212127406245021333 0ustar amckinstryamckinstry0-INDEX-0 defaults_for_table_001 WMO table parameter interpolation options defaults_for_table_128 ECMWF table parameter interpolation options lsm_32_lsm0p5deg 32 bit land-sea mask 0.5 degree resolution lsm_32_lsm10m01 32 bit land-sea mask 10 minute resolution lsm_32_lsmn080 32 bit land-sea mask gaussian N80 lsm_32_lsmr160* 32 bit land-sea mask gaussian N160 lsm_64_lsm0p5deg 64 bit land-sea mask 0.5 degree resolution lsm_64_lsm10m01 64 bit land-sea mask 10 minute resolution lsm_64_lsmn080 64 bit land-sea mask gaussian N80 lsm_64_lsmr160 64 bit land-sea mask gaussian N160 parameter_processing_defaults Not currently used (see rddefs.c) r160_32_19790930 32 bit land-sea mask for N160 from 19790930 r160_32_19910917 32 bit land-sea mask for N160 from 19910917 r160_32_19930804 32 bit land-sea mask for N160 from 19930804 r160_32_19940302 32 bit land-sea mask for N160 from 19940302 r160_32_19940823 32 bit land-sea mask for N160 from 19940823 r160_32_19950404 32 bit land-sea mask for N160 from 19950404 r160_64_19790930 64 bit land-sea mask for N160 from 19790930 r160_64_19910917 64 bit land-sea mask for N160 from 19910917 r160_64_19930804 64 bit land-sea mask for N160 from 19930804 r160_64_19940302 64 bit land-sea mask for N160 from 19940302 r160_64_19940823 64 bit land-sea mask for N160 from 19940823 r160_64_19950404 64 bit land-sea mask for N160 from 19950404 LSM_GG_0048 land-sea mask reduced gaussian N48 LSM_GG_0080 land-sea mask reduced gaussian N80 LSM_GG_0128 land-sea mask reduced gaussian N128 LSM_GG_0160 land-sea mask reduced gaussian N160 LSM_GG_0256 land-sea mask reduced gaussian N256 LSM_GG_0400 land-sea mask reduced gaussian N400 emoslib-000392+dfsg.1/land_sea_mask/defaults_for_table_1280000755000175000017500000000104012127406245024376 0ustar amckinstryamckinstryParam lsm wind prec lsm interp ----- --- ---- ---- ---------- 131 y y n n # U 132 y y n n # V 142 y n y n # LSP 143 y n y n # CP 144 y n y n # SF 151 n n n n # MSL 165 y y n n # 10U 166 y y n n # 10V 172 n n n y # LSM 228 y n y n # TTP 239 y n y n # CSF 240 y n y n # LSF emoslib-000392+dfsg.1/land_sea_mask/LSM_GG_06400000755000175000017500010125036012127406245021656 0ustar amckinstryamckinstryÀe?àt?ȶ?…Þ?€»à?@ç?À é?Ûâ?@Gã?Ȫ?@h?X‘?ÄÀ?€Û?¢ç?@xï?ð?Àïî?ð?ð?ð?¶è?Ãè?€ËÒ? ¶?€¤Ú?aÈ?€‰×?€ŽØ?ûî?€Ùï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?€Ý?p?$?P–?€—?ʽ?ú¿?€À? ¢?€±Û?@Þã?@Üí?€Áã?Àœà?@'à?€á?€‡ì?ð?ð?@ªî?ÀÄì?€bì?Àwâ?€Sä?@(â?QÞ?€×Ú?LÅ?ëÀ?²?rÂ?€˜ä?€÷æ?€OÝ?À3ä?ê?Àê?¢é?ÃÙ?›Â?̧? °?€è?Àòä?@Cï?ð?ï?€›ç?€6Þ?À™ë?ÀAï?Àáï?@î?ÀÅè?ÀÑá?ÀÃâ?@Bï?ð?@tî?±ì?ð?€sØ?@k?0‡?ö¾?À’å?@ïê?ÀÙä?†Þ?€¨ï?ð?@£ç?€ì?@üï?@Úì?ð?Ìï?Ìï?À¦é?ÖÊ?6Ù?œÆ?Àm?Àp?€Ü?ƒÌ?€Œá?À*á?@Iä?§ã?Àóå?§ï?Àôï?@Âæ?ð?ð?À¡ï?@=è?€“ê?ð?€Þï?ð?ð?ð?ð?ð?@üï?€=ã?±Þ?P»?ʰ?/è?À˜ã?ÿë?Àíï?@-è?À‘æ?ð?€ïï?¨è?ð?ð?ð?@¹ï?€†ä?€ßÜ?-ï?^î?€wë? “?L ?}Á?V´?%Ä?ê?€*ë?@í?€Vá?ª×?Oê?À3ï?ð?ð?€%ï?Àdï?ÀWï?ð?ð?ð?ð?ð?ð?ð?ÀJï?ÀŽï?€óî?@“í?jÚ?W?€å?@â?@jï?€ßï?ð?Òï?¯ä?Àçï?ð?ð?ð?ð?ð?@@ï?@<í?@Éï?ð?ð?ð?“Ö? ˜?t¨?˜²?:´?ô³?Vì?Oé?€6Û?ð?ð?ÀØé?@Mé?Öã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mî?ž´?^¿?€Kâ?Àˆ?@¹?€7í?@Õï?€Hï?ð?ð?ð?€•í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Hë?Àtê?.¾?€]?4?À+á?øí?Ü?bÈ?_â?ð?@„ç?ÀHä?ð?@Òî?ð?€oé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–Ø?¨•?b»?€nï?€ªë?ÄÑ?Àdè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hÕ?p…?Ö·?{ã?€4Ó?€úØ? À?×?ð?@Wí?’Ñ?º?Öé?âê?@?ä?ÀNé?@ ï?ð?@aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"è?Àá?È¡? ?MÍ?…ì?ð?ð?@3ç?€ã?@ç?ð?ð?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À%é?²? ’?€¬Õ?øæ?€ ì?Àí?@è?Àuè?¿Ú?ïÂ?@ï?ð?@Çí?!Ù? ´?†ä?Àùï?;î?@uï?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€7è?@¯à?€ªÓ?Ò?ÏÜ?€cÝ?(“?`§?¢?E?¿?Àê?&ã?Dä?@Ìã?—í?€Rï?¤ê?À(í?Àä?Àüê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ã?@l?ÅÌ?Àïí?ð?ð?ð?ð?@þã?€ûÚ?ÀJæ?¢?¢â?ð?ð?Àëï?.Ý?Ï?@ï?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?@Èî?€9Þ?ø£?ªÑ?@Šá?“â?€à?ƒÕ?€iÑ?@Œæ?€ºÙ?Ÿà?UÀ?@k? ‡?WÌ?‚µ?Ì®?€Ýß?@á?€nï?€qî?€¥î?À)í?À`í?ð?€ãï?ð?ð?Àüç?ð?ð?ð?ð?ð?ð?ð?À\ï?Àé?ÀÑé?€áï?Àëï?ð?ð?ð?‰ï?€¥â?8š?̬? ä?@zâ?@/æ?ð?ð?ð?ð?€Bæ?àä?€ é?€à?€â?ð?ð?ð?Àóì?Ê»?@ë?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?@òé?/Ì?€VÙ?‡ç?@¤ï?ð?ð?ð?ÀÀë?€ÿç?ð?Ñã? ß?€°?Е?D¸?@ª?à‡?tØ?€š×?@ƒ?5Í?4¼?OÄ?Àôë?€ûî?Àï?ð?Àpï?@»ï?ð?ð?Ààï?€Ýï?ð?ð?€¥ï?ýï?ð?ð?ð?ð?ð?€§î?cÕ?ŒÜ?@gí?ãî?ð?ð?@ôï?Àgç?€¬â?b²??ÀÀî?ð?€+ê?À¤æ?ð?ð?ð?€éï?€EÝ?€þï?ð?9é?€ôì?ð?ð?ð?ð?@Áé?@Cï?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?€#ä?@Ìà?@ðï?ð?ð?ð?ð?ð?À2ë?¯Â?€³ß?ð?ð?d´?H?¤?kÍ? ?@&è?€pí?@üì?âØ?À?,¸?¤»?€›?r¶?Ø?€áÒ?Ø?Àrá?@cà?>î?ÀTì?@»ï?ð?ð?ð?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Ëí?Àòï?ð?€aï?ñè?‹æ?Þ?«Á?¬°??@zæ?ð?À½ï?Àxå?€ ì?ð?ð?€úï?Cæ?ð?ð?Àgï?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?€9î?Eï?ð?ð?ð?ð?Àúï?+å?âÐ?@Æè?ÀÚï?ð?À•î?€?€vÛ?8›?A×?€yØ?×ï?ð?ð?€ßï?€å?E?;Ç?ÀLæ?Ö?Lª?@€?@©?Ì?@Äè?@Þá?@óì?€Çî?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?¡ì?Àþí?ð?ð?ð?ð?ð?ð?€Äï?ð?€êí?À·è?rÓ?Uæ?Àè?ÅÆ?ð?ð?ð?ÀÔë?@+í?ð?ð?9ï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëí?Ðâ?€‘ï?ð?ð?ð?€žé?¤©?Àsê?xÚ?HÙ?Ú?ð?ð?ð?ð?ð?Êæ?0‰?M?€¥Ó?¡å?€GÑ?íÉ?OÈ?-Ã?x£?@u?-Í?ÀÓå?GÖ?C? ‹?ÿÉ?@î?ð?ð?@ÿï?@ ë?€"ì?ð?ð?ð?þï?ð?ð?À÷ç?@lç?Ààï?ð?ð?ð?ð?ð?ÀÛï?@óï?€î?ñã?À{æ?Àøî?@Bî?ÔÍ?€b?Àšà?ð?ð?ð?Àùï?ÀÜí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?€©Ö?Þ?@ï?@Üî?™ï?ší?ð?ð?ð?ð?Àwî?€ŒÑ?ƒÊ?X§?€l?p„?-Ì?€¦Ô?Ý?œ«?ôº?tª?„®?KÛ?€s?UÆ?À¨ã?TÆ? „?€Vä?€Ð?¹?€$×?€ï?€lÓ?íä?€Lì?ð?@¥ï?“æ?@;á?€ï?ÀÝì?Té?¥ï?=ï?îï?¸ì?À!â?ð?ð?ð?ð?ð?ð?ð?ð?×í?@ûå?Uï?ð?ºë?4»?h¯?€Bß?€Ò?Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Lé?úÉ?€—í?ð?ð?ð?ð?ð?ð?ð?ð?€VØ?€S?н?P ?€~ã?ÉÔ?õÕ?€¿×?á?0?X½?@Õè?€ýÑ?Àà?€}ë?n? ¯?€)Ø?Ä?¸¢?Àà?@üí?ð?7Ö?¤Ø?@|à?ÀÀê?ð?mÙ?€=Þ?À5ã?€Mâ?€¤Û?€·Ú?€rá?Oä?ÀJç?5í?ð?Iï?ð?ð?€õÞ?Ïë?ð?ð?€Ôî?€×î?»ï?ð?ð?ð?ð?€>ï?ð?ð?ð?€,Ü?Ø?dÙ?@wê?ð?€Åë?€–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?€—Ó?€›è?ð?ð?ð?ð?ð?ð?ð?ð?@Iè?€îß?L°?…? ‡?€úÚ?ÿÒ?@?6¼?€©Õ?Àßæ?Àæ?ìç?ŠÛ?¶?±?‹Ø?õÉ?ʱ?Îè?ÿî?@4ê?’Õ?Àèä?@x?€_?@Kä?@Ýï?ð?ð?€£é?¾±?è™?À^í?À¤ï?ð?ð?äè?@e?Cä?°ï?@ ï?@Ÿé?€ïá?@ùï?ð?€œï?@ìï?˜ï?ð?ÀÁï?€4×?À»â?Àá?ÀÁç?Àì?Êï?÷ï?ð?ð?@ýï?ð?ð?ð?@ýï?žÜ??áÇ?@èï?]ë?„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[æ?2å?€óï?ð?ð?ð?ð?ð?ð?ð?ð?€óÖ?4°?€a?€a?€?Ò?@…â?@»â?€6Ò?oí?€_â?»Ñ?§Â?‰á?€Ý?@£æ?@ä?€ÐÞ?Ã?è?Úè?{ï?&Ö?Àî?€é?›Í?Z¼?«é?€jï?ð?ð?ð?À6ê?0Š?˜¹?ŸÞ?€dì?ð?ð?ð?¶Ï?¢»?À<é?Ñï?€3Ù?€þî?ð?@ ï?€å?Àïã?së?€Æí?€ÌØ?žÍ?€Ðæ?(ï?ð?ð?ð?ð?ð?ð?@sî?ð?ð?ð?ÀWä? €? ~?$¦?æ?ð?€½ï?@oí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?Íâ?€Qï?ð?ð?ð?ð?ð?€Öí?ð?ð?3ç?iË?¸«?€`?ÒÅ?€æ?€{ë?ÍÄ?¥É?ØÌ?aï?€ë?Lº?ºÀ?^Á?€BÓ?€ºÕ?€2Õ?v´?oÉ?ð?ð?€ë?•?»?Ђ?Ÿì?ð?ð?ð?ð?_Ù?Ђ?™Ö?€ñÛ?À~æ?ð?ð?ð?€Ôå?`~?ìª?)×?Ü?Àîì?ð?Àï?kÍ?oë?@ã?ŒÃ?Á?@Òá?Àžè?ð?ð?ð?ð?ð?ð?ð?€Úï?À“ï?ð?@Èê?§?[Ã?Wå?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀZí?À\ê?ð?ð?À¶î?€ê?ÀÄç?€áë?7Ô?€‰Ñ?€ß?ˆ‘?`?,²?€‘Ô?0?\§?ÄÊ? £?¥?ºÑ?ø‘?€ÄÝ?@é?@>ç?0»?@{?Àp?Æ?Àåà?ÉÇ?àš?à¨?€÷Ý?€ËÕ?ôÄ?Äé?€>í?\Ø?D¨?ä?ð?ð?ð?ð?Àõî?È–?öØ?ÀÐï?€ï?Àï?ð?ð?ð?`î?À&è?4¹?½?4ª?!Á?ÏÊ?д?h™?H?ü²?€(Ô?€$ë?€åî?@žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰é?œí?¨–?Ü¥?À¦é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?@~î?õê?Çï?Àê?@Æâ?pé?€wÒ?ÈÒ?Ì?€Ìç?©Á?˜–?BØ?€Þ?žË?1Ã?d?”­?€}Õ?˜‘?P‹?€ ß?Àèå?ÓÝ?úÅ?€™?÷Ù?ÄÕ?üÂ?É?€}Ò?ÀÜ?À9í?@uç?¶Ñ?À}?ì¶?Њ?ð€?e×?kå?Àƒî?ð?ð?ð?ð?[Å?P·?@:ç?@î?ð?ð?€sï?ð?ð?ð?ï?/×?€ î?€_?mÏ?\Í?Ì·?œ©?>Ì?@—è?€žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöç?€åÐ?£â?ð?ð?ð?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?ð?ð?øï?€Ý?T¤?€¸Ú?tÞ?ûí?€‘é?@Èà?zÝ?€ÔØ?@³é?Àí?æà?S×?°˜?€xÔ?¼¨?2é?í?™Å?(˜?M?TÕ?zâ?€¶Ü?€õÐ?€ëÐ?(?<©?€»ã?òÝ?À?ü´?ÒØ?•ì?ÀÀè?€;Ð? ?è«?€m?˜¶?Dã?@Çç? î?æ?FÔ?€ÎÓ?9Ä??à¬?<¨?T¢?šÖ?€8ì?¨è?@ï?@€ï?Àï?ð?ð?¼ï? Ó?aé?P‚?Ànè?€Dï?@?î?»ë?Ä?€àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?@úê?ÿè?€Uß?p?@ºä?Àÿï?ð?€ÿï?•ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ì?€öä?€%â?@†å?ÀËâ?ˆ£?Àe?°¯?ËÐ?Ú¼?€:ç?€ î?ð?ð?@Ÿî?Àéå?‚ï?ð?ð?ð?ð?À6â?âÅ?þ²?cÉ?V¹?1Å?ˆ?ÚÃ?èÇ?ýÝ?€îÓ?aÍ?ü£? ’?Àaá?xÊ? u?¦Ü?€JÜ?€Ü?À#å?€†Ó?@Yã?@,ê?@ëí?ð?1É?¢Ü?€¥?H?Ëí?ÀÚä?€jÚ?@…ä?£×?Pê?@´ï?ð?€Õï?ð?ð?ð?ð?À@í?€šä?èÃ?²ê?@Xï?ð?ð?>è?Ô?@qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëæ?Àç?€‘Ø?€¶Þ?€,æ?€Áá?À æ?vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@å?Ü?@Áà?@Nã?;Ó?°Œ?`€?^º?€P?€§Ñ?À½è?@mâ?®Å?@¹ì?ð?ð?ð?€´ï?Îí?À°ï?ð?ð?ð?ð?€Û?¿?€‹Õ?€u?ú¼?CÉ?|µ?€½ã?ð?ð?€¶Ü?Þ?ð?ð?ð?€>ì?€jÖ?@ùï?@jã?¨?€è?8ë?_Ë?À›í?ð?·ï?ð?ð?ð?ð?ð?ð?ð?ð?Tï?€ Ø?€,ã?€Tê?ÀÊï?ð?ð?@½ä?€ýÖ?@õï?€ßï?ð?ð?ð?ð?ð?ð?Xï?@ é?Pï?ð?ð?À å?Ж?ËÆ?€”î?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Hà?@Cé?ð?ð?5Õ?d¨?ÉÕ?@Æà?Ëâ?ÀÐê?²Î?:Ë?#â?€ùï?øï?‡Ø?Çá?@»æ?€AÚ?ºÎ?@˜å?@ï?ð?ð?ð?ð?@ç?ƒ?IÌ?€«ß?@±ê?ÿÀ?Àáå?ð?@ýî?À ç?¢à?€ë?ð?€µë?€Œ?a?€ïç?(›?@ê?ð?@üë?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?²Û?€â?€Fï?ïï?ð?ð?@ôï?€ÕÕ?@iï?@‡ï?âï?†ï?ÀÔï?þï?ð?þï?€î?@hä?€²Ü?@ ì?ÀEï?€ ß?Å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùè?€úí?nì?Àóë?•?¸ª?Àøå?@Sí?°ß?‚±?Àêä?@Òä?\Þ?ð?@Ìï?€bÖ?p²?dÀ?€®×?ÀÓæ?ÀRï?ð?ð?ð?ð?@ßë?¥?F?€óÖ?¸ª?’²?ü±?P˜?ÈÞ?ð?ð?Àïï?€Þì?@âí?ð?ð?@è?Øœ?x¤?H”?4Ì?öà?Oå?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?;Ú?€_Ù?€£Ð?äí?ð?ð?ð?@¬å?Ý?ûä?À ï?@íï?ð?Àgï?ð?òï?ð?À÷ï?@×ì?°½?ÂÂ?8§?@Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïè?`w?²±?޲?€lî?ð?@üí?€ƒ×?6í?’ì?€MÖ?ð?@Íï?@´ã?ÿÞ?ä¢?ÀÕä?À í?ð?ð?ð?ð?ð?€îé?dÉ?vÙ?àr?ä£?ö²?¡Ñ?Fè?ð?ð?6ï?Àˆî?ð?ð?@Çå?Àw?z»?€Ñí?@Õï?€öï?€–ì?€?ì?ð?ð?ð?ð?ð?@‚í?±ì?€oé?â?@\ã?ð?€êï?ð?Ðï?@•ï?@åï?ð?ð?ð?@êé?À_æ?ÀÐí?Uê?@ê?€ÜÙ?¶?À.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€#ã?ÀÃç?Àlë?ð?@ëï?%æ?ð?€ô×? ï?ð?À/í?Àcë?Q?mÄ?ÃÆ?€KÓ?ŠÃ?Àžè?€úï?€á?€ðÓ?l?:?€£?X?`‡?€ï?ð?ð?Cî?€õå?@Ýî?Àêí?€ëÑ? µ?€ôÙ?5Ö?§Ï?Ý?€jÜ?´¦?`p?|Ì?€è?€oâ?Ø?\Ñ?€øæ?Àë?ð?ð?ð?ð?ãï?ð?Tï?€Œå?€à?€wï?ð?ð?ð?€äï?ð?€ï?@Ÿï?Ré?jÚ?ïÝ?§Ä?±Ä?@‰?]?@ ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?XÑ?”¡?â?€\ë?ð?À^ï?€Óï?ð?×?€üï?ð?ð?@)å?¾Å?Ø–?̰?Ð?Ø‘?F½?ÀÄí?ð?ð?üí?€õï?ð?€på?|?€^Ý?ÀÈè?€Ùà?0ª?´º?¨ï?ð?ð?€õá?`¢?:²?4±?Å?€­â?À~å?€Äè?@¯ï?ð?ð?ð?ð?ð?@êë?‹É?€ðÛ?@ûï?ð?ð?€÷ï?@ï?ð?Àßï?€Eï?ÀNé?€¹ã?”Þ?ÀÙá?@á?À†?às?´±?p¡?@ºè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªë?vÆ? •?^±?7À?€Qí?ð?ð?ð?ð?@æ?7ì?ð?ð?ÀÆï?wî?€ÛÚ?·?°ƒ??€ÚÙ?@Lã?€¦ì?Ëí?¼ï?ð?€nï?ÄÎ?c?ÀÙé?·ï?€¿×?@è?¨?ÓÁ?€Žé?Àï?ð?Hí?€5Ð?!Ô?ø¦?ÀŠâ?Åî?ˆî?þï?ð?ð?ð?ð?À¹ì?€®î?ÀÐã?Àà?ŽÉ?æè?ÀYè?ð?@âî?xí?ð?ð?À¨ï?@5ì?@oé?@œà?€Õ?KÛ?€êè?¼§?n?óÕ?@øã?@³í?€_ì?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tî?SÖ?p•?€ÈÒ?†Ó?ƺ?ØÂ?€Oß?À'ë?ð?ð?ð?—ï?¢é?öï?ð?ð?ð?€èï?€ æ?¼¾?ÞÃ?€ÂÐ?©? „?,?J?þÕ?€oî?Àßï?ð?Àã?K?@Åç?®í?Àßæ?€©ï?€Wí?þ´?:?­Ü?€ÇÞ?ð?Àòæ?€ÿï?@½æ?¤Ù?Àÿï?ð?À0ï?ð?ð?ð?ð?€÷ï?qä?Åè?€QÕ?ÌÞ?{Ó?MÇ?/Ù?À à?Ìã?@8æ?ð?ð?Àÿï?ð?@µê?aì?@Xï?À«â?ÿÁ?J?Ëä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?€<Ø?ìÇ?0‰?»?€ÛÝ?°¾?@øé?ð?ð?ð?@î?@bä?@Žï?½ï?ð?ð?ð?ð?@êï?€€ì?p?OÍ?¤¥?d? €?RÄ?€ÖÔ?€Í?H©?ÅÃ?€Óê?ð?Àë?@´ï?Çî?@Ææ?ļ?ø?ÙÄ?ÿÈ?€ZÖ?ÀŽé?Àæï?ð?ÀÑé?@üá?’µ?YÎ?¥ä?qÃ?0ž?€¡á?@Éî?Àâï?@ÿï?ð?ð?ð?çï?$å?€ Ö?@Ëà?ÀÛê?ÀÖï?@”ì?€ºä?€Xà?@tè?@ëî?ð?ð?ð?ð?Àaì?ð?ï?èï?€ôî?øÔ?€[?&»?€nã?ÀKî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?&ë?€£Õ?€“Ö?…Õ?ÛË?@Ž?oÒ?ÄÊ?À2á?€¢ï?€Ýï?ð?˜Ú?,ß?ÀZï?€ß?ð?ð?ð?î?@Uà?ƺ?HÕ?l°?JÈ?H•?Òç?€Ðï?ð?ð?ð?ð?€óï?€uß?àv?€¢Û?À0ï?€Úå??˜˜?*Å? è?ð?ð?ð?ð?ç?4 ?pŽ?@Ÿí?@äï?Ùæ?°??å?ÀJê?@0ï?@úï?@—ï? ï?ð?”í?€má?LÃ?Àì?ð?ð?€“ï?ð?@ï?€£â?@‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ËÝ?ð©?à™?€iØ?@Ñå?€¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€bí?…É?ùÀ?úÀ?µ?–?À²â?¸˜?:â?À{í?ð?DÊ?ÓÚ?Í×?@è?€‰î?ð?À(ï?€dÝ?£?ãã?€ãî?€£á?Ä ?€ï?@‘ï?ð?ð?ð?ð?ð?èÞ?@„?€8Ö?€óè?Àšï?ð?ð?@Oà?@r?ë?€Aä?ÀLê?ð?ð?ð?ð?ÀQî?¢²?8­?€úë?ð?ð?€-ß?€KÒ?°‚?€Ù?€Éæ?½ï?ÀÊï?Jå?Óï?Àmá?ß?€1Ù?€:î?Üï?ð?@'ì?ð?ð?@ï?@Eï?@Zî?ð?ð?ð?ð?ð?ð?À)ì?„å?€YÜ?Ы?€:Ð?Àê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ï?®½?Ž?È?E?½?€YÔ?(×?ð?Óê?¤Â?È‘?×?€Û?€ í?ð?šî?@‹?4à?ð?Tæ?ñÎ?ð?ð?ð?ð?ð?€_î?@ è?8¶?V¾?`†?Ó?€è?€²ä?@°æ?@Ýê?pì?8Ü?³ä?€lï?@Bå?lè?@ðï?ð?ð?€îê?…?€r?âä?ð?ð?Ûï?@ î?Ì»?€Ãá?îî?ð?@ì?´è?Sæ?@gã?ãË?@Kç?ð?5í?Àåï?À é?ð?ð?ð?ð?Àœî?ð?ð?ð?ð?ð?ð?ð?`ï?Àøä?1á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHé?°ƒ?Ù?8¹?ZÅ?°¦?à?ßÅ?¯Û?@%ï?€ýï?ð?ð?¼í?ÀŒ?›Ã?Ðß?Þ?%á?x¹?d¦?À(æ?€ ï?Ñé?@âã?Àã?€Ú?mÁ? x?®°?|Ê?|¼?Àp? ?ð«?À?h ?j°?À¡?Àž?à}?H®?!Ï?/Ë?¤Ø?€àÑ?€Iæ?€Çï?@Òï?€÷Ø?¹È?ƒç?@Çï?ð?kå?€©Ð?`ˆ? „?€/ß?ÀRí?@8ì?€oÑ?€Ù?·Ü?„±?@8ã?@Kì?À‚æ?Àsè?@ºå?Àþí?ð?ð?Ëï?nï?ð?ð?ð?ð?ð?ð?ÀŒã?€Ùß?zÎ?ÀGã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aä?êÂ?ðœ?Üß?B¸?h‘?i×?¢ä?@~ï?ð?ð?ð?ð?Àfä?€b?޽?©î?ð?ð?Ì?p‚?r´?@Íï?À;å?€©?¢Ä?¤Ü? £?>¾?°‹?€V?”º?€ôÚ?€Jâ?€3æ?ê²?*·?€k?€b? {?^è?ð?€Áì?È’?`?€UÚ?À©í?ð?Aï?ö±?xš?^Å?€R?xš?—?ƒÎ?ÊÃ?@°à?€Ò?À¾ê?Àï?ð?Àê?€»ï?ð?ð?ð?ð?ð?ð?ð?Qï?€™é?”¢?SØ?Àdï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ý?7Ë?ð?ÙÐ?¯À?ÀÜã?€Îí?@óï?ÀŸî?ð?€šê?ð?±ë?@c?~Ñ?€ùï?@>ï?À[ë?à­?\«?€Õ?¨™??×?€Lí?×Ç?@È?€Ãç?€þî?ð?€ßí?Àwä?„£?  ?8Ã?`?Àƒã?ð?À˜ï?¥?…Ê?@‰ì?vî?€:ã?ÃÅ? ¬?§?BÕ?sê?€Jí?ð?@ï?€Få?ð?ð?ð?ð?ð?ð?€à?À%á?€Kç?5Ë?8µ?V°?€Âæ?€Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ í?óØ?€*á?£Ù?À?´?àt?`~?€‚×?€|æ?€Ú?}È?€ÃÚ?@ç?ð?À6í?€¬Õ?ð?€ÿï?ð?@âí?êÈ?€R?X?@g?`±?À¿ê?ÿâ?@_ç?ð?ð?@öï?–Ø?“Á?à™?ð´?½Ú?@äï?€jå?š´?LÞ?€³Ò?2?ŽÖ?´¬?ËÐ?€Ò?ÓÍ?¤Æ?Ì ??Ö?@ùí?ÀŸî?€Ú?”°?ê?Àï?ð?ã?·ì?}ï?ð?ð?ð?ð?ð?À{æ?ßÅ?€‚?@j?Ð?€ÑÞ?ß?€gí?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kæ?Ñã?Àíî?€¢è?@á?´Ó?€UÑ?àz?Àd?€îØ?¦ì?ð?ð?ð?é?À×ã?ð?€òì?ð?{î?Å?D´?0€?Z? »?€ñÙ?€¿æ?zÆ?M?@x?º¶? £?À"â?@Ùï?ð?ð?ð?€ùØ?„­?€‡é?.´?¬¢?€‘Ô?²»?o?€Ý?€Ôï?þï?ð?¡ï?€cÔ?Ôµ?€-Ó?< ?Àöà?ð?ð?ÀFî?˜¢?€Þæ?vì?ÀÞï?5á?ð?€ì?ð?ð?ð?ð?ð?@tê? ›?ñÇ?À:à?]í?ÀFê?Àåï?@èï?Oß?€©ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘å?Àê?€ÿç?ÀÑä?€žë?D¤?€©Þ?¶µ?¸±?€”æ?Àã?Cã?Àžê?ð?0ì?+Ù?Ƶ?À#è?€ Ú?t¹?¼î?€—Ù? ƒ?°¦?à‘?¢¹?@Úé?Ûï?ð?ÀÌí?Àƒä?`?–?€OÓ?€¡Ü? u?€ÛÔ?€rî?ð?@äï?Àçí?ÑÊ?@væ?4Þ?eÒ?À{ë?Àµê?€¨ì?³í? €?iÛ?ð?@¢ã?¦?@Æë?ð?ð?ÛÓ? á?€¤á?~à?@ÿê?ð?Àˆé?€í?ð?ð?ð?ð?@eé?‰?àŠ?€„?0¢? £?wÓ?‘è?€à?€ùÞ?€}Ö?ª?çÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€ ï?ÀÍæ?€éÓ?€šÑ?è—?€k?ø ?jí?ð?ð?@ï?ð?À^á?ZÉ?@Há?Àl?‰?l?ø¦?€–ä?ð?ð?ð?ð?@Ôç?÷Á?è»?Ú²?Xš?ÏÎ?€²×?Ã?‘à?@ãï?à?€Ö?€ãæ?€…Ò?¶¶?€©Û?™ê?¸·?À‡?r´?€[Ó?€×ï?Àî?Ž?@Æå?@âë?ð?¡ê?Ù?€˜Û?@Áã?ð?Àîï?ˆë?Ý?nì?@jï?ÀÕî?€¸è?ÉÉ?€üÒ?@æ?ˆÓ?ר?°?ð¿?Ü?@žá?€<Ö?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|ê?ÙÙ?À ?8ª?€æß?@ ï?ð?ð?ð?æà?‚½?ß? w?“?x›?àŒ?À¶è?ð?ð?ð?@Ýï?€î?Ô?H¨?¢Ç? |?€¶Õ?­ï?ð?@tï?ÀÆí? î?À à? }?‘Á?À’î?€~à?°œ?Í?€„Ô?À…â?@#ã?`?à„?Óã?Àºï?ð?ð?Aî?ð?ð?À¡ï?€¬ë?€ Ô?€Šå?€8ß?ß?Ô?—?¬«? p?Æ?€šÝ?³Ù?¶Ú?€Qç?¯ï?ð?@í?ÀWï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbï?@0á?€è?ð€?€o?$×?@àí?€Íë?€Nï?éÒ?¾?€‹? ?h¥?Þ?€êÒ?kÚ?ï?@ñï?ð?ð?€Šç?PÓ?HÒ?È­? ¡?B?B?L¾?í?ð?ð?ð?ð?@ç? r?>¹?¸?ŒÃ?€âØ?£À?°—?€m?Ä?‚¼?ìµ?üª?€o?ô¡?€Oâ?å?Ší?@ôï?ð?ð?ð?ð?ð?ð?@ûï?@:ï?†î?Àóë?€´ï?€:ç?O?ð€?8Ç?@îì?ð?ð?€©ï?Øî?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?€çï?@ûï?¾³?`‡?€Ñ?@#ã?¦ï?CÃ?‹?€z×?}è?€ÇÚ?`r?ð‰?îµ?€ÀÕ?pˆ?°Ÿ?€÷ç?@éï?@Îï?ð?ð?ð?Àæï?@Ìè?€"í?À¸ê?€èÓ?@t?H¯?À?Àæ?ð?ð?ð?ð?ð?€‚ë?èÔ?€h?¢?®?OÇ?ÀUá?@Üï?€bí?€Šã?ÛÇ?ú·?Œ±?@Bæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.Ý?ÁÓ?€ à?}Æ?õè?€î?€ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðî?Êï?@§î?né?@í?ð?ð?ž¹?Ê?üî?€9é?^?œ?€Úå?áï?ð?€Úï?xÊ?¦?€?0œ?´?3À?@ï?ð?ð?ð?ð?À ï?ÀÔî?@Èï?ð?Gï?ŽÌ?P¡?(’?`¤?\¥?E?Àc? y?„È?Æï?ð?ð?€vì?@{ë?ð?Àxí?¬Á?@õä?@ùì?€èÑ?°Ó?Ï?@„?Œ?`z?¤³?@câ?€ùï?ð?ð?ÀËî?ÀÔæ?U? Ã?†Ý?€.â?@šî?€‡ï?ð?ð?ð?ð?ð?ð?ð?¾ï?€‡í?ð?ð?ð?ð?ð?Àƒï?@¡ë?@$ê?Ô?€gß?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ç?8í?ñâ?Á?€EÑ?ã?€ië?àŽ?N?Ñß?€üé?R? …?4Ö?€€ï?ð?ð?ð?À›î?p°?à|?Ĭ?ºÁ?ƒÁ?-Î?0 ?Àd?/Ý?@Ñï?ð?ð?ð?ð?ñï?ð?ð?€åï?€tÜ?€ÒÙ?À±è?‚í?Àøì?€sê?Àþë?@ æ?\²?Ö²?²³?€"Û?f?@|?À>æ?ðï?ð?ð?Öî?tÇ?@µî?ð?uï?€‹Ó?@Ž?Æ?zÁ?MÄ?@Úï?Àöâ?B·?‚Ò?`‚?°‘?€êÕ?€4å?Ï?þÑ?è»?Ì? v?ÃÑ?@ªì?²ï?ð?ð?ð?@é?¦°?ȸ?€ß?€¢Õ?×?€…ì?—á?€&í?€ ê?Àˆï?@÷ï?€ñî?ð?ð?ð?@Ií?€©ï?€Bé?€‚ê?@Oë?€lï?€ñï?@ÿï?ð?ð?ð?ÀÚî?YÁ?€e??B¾?5Ü?@|â?@4ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÂÜ? Ø?€Vä?(±?j½?€6Ù?HÆ?(¦?¸? |?8–?4 ?íÎ?€’à?ð?ð?ð?ð?Ààè?àŠ?‰?àu?è ?Xž? €?Àj?ž°?8µ?ÀAâ?À«î?ð?ð?ð?ð?xï?ð?ð?Àëë?èÍ?ÁÐ?€3å?ð?ð?€‰ï?@õï?ð?€àï?è?€Þ?F?ÏÐ?ÀÍï?ð?ð?ð?ÀÏã?CÍ?ð?Àå?9È?\?x–?OÊ?È´? ˆ?Àtã?ð?€ß?€+Ú?€1î?wÝ? †?«?€Ò?@ëâ?Àlï?@­è?aÜ?€dë?•×?ȧ?€bÑ?Àsë?ð?ð?ð?@óæ?€—ì?¾ì?@+î?ÀÉé?€HÛ?Àýã?@¢â?@ßè?ðç?Àì?@Éí?€ë?€í?ð?ÀYç?€áè?@!ì?€vç?Àáï?Éä?@µì?Àƒë?À<ï?ð?ð?cæ?œÞ?€\?€÷Ô?nµ?zç?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ì?å?€mÝ?€¿×?ž´?Àgà?Ä?R?8?Àu?0?pƒ?˜£?À°á?æî?ð?ð?ð?ð?ÀÅï?“Ð?Ј?€b?€V?`w?F?€ÁÖ?À™è?@!é?^ë?@lè?Øá?À â?€ ì?€|ë?@½î?€¿ï?ð?ð?€çï?€vî?@Õï?ýï?ð?ð?ð?ð?ð?ð?§ì?Àâ?j¶?ð’?çÃ?Óå?@ë?ð?ð?€ˆï?€ï?€¤ã?Æ?@‰ï?@â?Ê?€fì?€ï?@–ä?€Üá?À°ï?ð?ÀSé?h¨?À®?ÀNì?Àî?®Ê?G?À!æ?€Û?À9à?Ãé?þï?€žê?ð?Àé?àt?Ä­?Àôá?€ë?@îï?ÀÌï?@ ç?@^ï?ð?À«ï?€Üë?ã?eÊ?¸?€%Ð?€ÿØ?À?æ??Ö?€CÛ?€½ç?€^î?@æ?UÍ?vÊ?€=Ò?€Ýß?xË?<¨?ûÌ?ð?ÿï?@Öé?°´? “?ж?ÎË?@hí?ð?ð?ð?ð?ð?ð?ð?Àûï?€­î?Àáì?ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þì?îë? È?@â?ëÓ?£Ø? Ì?s? ˜?@Ûá?ÀÒâ?€˜Ñ?€Ñ?@ôç?€œì?ð?ð?ð?ð?ð?€hî?ôÝ?< ?¬³?€ÉÙ?€4à?€<Ó?˜™?P¯?†Å?€•à?€bî?¦î?€Êï?@²ï?@Mì?€2í?yï?Àüï?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?À_ï?Hî?À@ê?.Å?P”?@j?Œ®? }?P‡?€W?@fä?ð?ð?ï?ð?@ãê?¸è?€zÑ?Ï?t»?ø›?€þÖ?Àùç?€Üî?€ÿè?xÎ?@ à?ô´?RÍ?Äé?ð?€Æï?ÊÊ?`?Õ×?2ä?‚ë?ìÂ?Àgè?€8ê?¬½?€7ã?€¼ï?ð?ð? ë?D¥?H?uÜ?øÒ?PÙ?ì¨?îç?ð?bî?@+ì?@úî?Àï?.æ?€U? ½?€Ò?‚·?°Š?*ß?@Ÿê?@à?æÀ? Ð?@oî?ð?—ï?@}ä?€Òê?Úá?@óï?Àpé?À¼ã?~Ý?|É?@$à?€;ê?€Aï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇî?@&â?À¯è?@_à?€²?«?VÚ?@‚?ÐÖ?áË?€Wì?ð?@×î?Àï?ð?ð?ð?ð?ð?ð?@£é?dÈ?І?èµ?€dÐ?#Û?€má?€‚æ?€÷×?P­?̹?cÁ?@Éé?í?“Ù?@î?@¿ï?ÀÙï?À™ï?ð?ð?ð?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?À7í?@Rà?ãÍ?÷Ö?ÀXé?6°?Ì®?€0Ò?H?¥?ˆ¼?\ª?@rá?úï?ð?€@ß?€™ï?ë?€×Ó?4 ??€5Ô?€«å?À/î?@5í?À»í?ÀÌï?€“ï?ð?(â?H­?€ ì?@ñê?–»?°…?º³?¸?Àvë? î?€Sè?æÎ?@Þà?€÷ï?€ä?€<Ú?@ ì?ð?ð?€ûï?MÀ?°Ê?À”?Ñ?ð?€´ï?@Yé?VÜ?ƒÅ?Pµ?©?­Ä? ª?W?l»?jÇ?ÐÑ?'ë?À)ï?€„Ó?€èÑ?MÞ?uå?ìÇ?Ï?t±?o?àŸ?YÄ?È?ÀÅç?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ð?@ôî?ÄÒ?Ù?ª?pµ?¯á?ÀÂè?€êï?ð?ð?ð?ð?ð?ð?Õï?@×ê?€óÖ?°‘?8ž?Œ«?–À?`¾?eÉ?€Ùá?9ê?Àãï?ð?@ î?“Ø?€˜Ó?€oà?€Jè?Àæï?Àwï?xë?®é?6ï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žï?7ç?€’ë?‡Ý?S?@”?@ã?@Xî?@ÿï?@ñè?8À?@:é?†ì?MØ?èš?™á?€QÔ?€©Ý? Ó?Àíæ?@Ìê?Dª?д?À¿å?ÊÜ?R?€ßè?€zï?ï?€Bï?ð?ð?ð?ÀÛî?,Þ?€R?b?€¤Õ?À™î?@³ï?Àî?¾»?€FÕ?€î?€ß?G?ò´?@nâ?€øã?Ÿã?…Ò?@Õì?æï?ÀÃá?€Çë?ð?ð?…î?x?M?À­?D¦?€0Ð?¨®?€Úì?ð?@è?Iá?Ø?À`?@ƒ?€#ã?Ú²?ì?[Ü?À‹?P‰? ?_Ç?€%Þ?€ì?ð?ð?Àë?@ï?êë?ð?ð?ð?À™ï?lä?Àî?ð?ð?ð?Èï?ð?ð?ð?ð?ð?@óï?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?§ã?Üì?†ì?Š?@¬?J?ì£?€í?ð?ð?ð?€"ß?–³?€¾ë?@‹ï?jì?Ü?€Þ?€‘Ó?¬º?—? Š?„Ò?Ó?Ì?@t?Àç?Àiî?è¨?¶?€Þ?Àëã?è?ÀWì?ð?ð?ð?€úï?Àä?ºÅ? €?€!Ý?Eî?ð?@$ç?À·í?@Ïá?@ìï?Àsî?´°?XŸ?‘Ñ?À2é?À â?@¡è?@è?Àï?@ï?@Ðï?ð?ð?Àí?0„?^¶? ?h¢?€;è?îÓ?ð?‰í?€Íï?À½í?Ù?€i?V¹?‰?MÏ?‰Ú?€FÐ?8œ? ª?YØ?ì¯? ?ûÔ?°ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{à?“?ÄØ?€ãî?ð?ð?ð?ð?ð?ð?ð?€^í?ÀVà?Å?Àn?@e?¸?ˆ±?€]Ö?Àåç?€Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yï?À1ï?Cê?À ï?€¾ï?@&î?Àóî?÷ï?ð?ð?ð?ð?ð?ð?›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?Àà?ÖÞ?€HÓ?ŒÑ?!Ï?TÚ?@kï?ð?ð?ð?ð?@äå?€Væ?@¼í?Àrã?eÈ?Cì?ßï?€°ä?”²?P»?â¾?Àfí?€ºí?t³?ëÏ?@éï?ð?gê?@+í?ð?ð?ð?ð?ð?rï?t§?•?À¸â?ð?÷ï?ªï?€…í?ð?€­é?p­?UÇ?@Öè?À³ï?@sî?@†ì?€oæ?€í?^ì?€ ï?€è?î»?p¶?€¨?p‰?0?|¶?Ð?ð?ð?ð?ôï?Àtí?´¹?p•?·?Ü?+í?ë?€©î?ð?ð?ÑÕ?ìº?Àb?Àj?4£?ºÏ?@3é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žì?@°ï?ð?ð?ð?cÔ?0»?€Ÿä?ð?ð?ð?ð?ð?ð?ð?@î?€¯Ý?ޱ?6?_? ª??(•?Pœ?:Þ?@”ë?@î?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?€%ï?<ì?@œï?@­î?ÀÞí?ëï?ð?ð?ð?ð?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Gï?€æ?€Ð?À?À|å?F°?Àëï?ð?ð?ð?ð?ð?Àâï?üï?@^ì?4°?¼à?€ï?À$ï?€ôï?ÀWè?pŽ?8?€iÓ?À»?ºß?ÇÞ??l¼?bÜ?éÚ?€¶ß? î?ð?@æï?ð?ð?ð?ð?™ê?€Ù?šß?€Ù?ÍÇ?ÀÍå?ð?ð?ð?Àýï?ð?@ã?Ê»?Àíã?€ÔÚ?€‰Ð?LÆ?¥Ì?@§ç?èï?ð?iî?@`ä?ªÃ?†à?€ãà?Àëà?@ñí?€Jè?(•?€¥Ò?ð?ð?ð?ð?€Šè?€ÁÕ?Àlê?€dÖ?@}â?ûÍ?P†?€=×?@Øå?ÀLï?Vï?ð?ð?ð?ð?ð?@Æï?€`ï?lÓ?Àp?ø±?Àè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?wè?Àlë?ð?ð?†ï?²¹?¾?Ó?çï?ð?ð?ð?ð?ð?ð?€6ã?º¾?bÃ?¾Ø?Àg??Ý?@‚ç?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝì?ð?ð?Àî?,î?@^ì?€•ê?€tí?ð?ð?ð?ð?ð?ð?Pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?˜î??ì?uá?lÍ?€æÖ?N½?€Ðê?ð?ð?ð?ð?”î?ð?ð?ð?nÈ?€(ï?(ï?ÀŒï?åî?oÆ? ¾?ÀÖâ?ÆÄ?OÞ?×?@?Éâ?€~í?€tí?À¹ï?ð?ð?ÀOé?@úç?@éï?ð?ð?ð?ð?ð?ð?ð?€<ï?ð?ð?ð?ð?ð?ÕÙ?ÞÑ?€OÙ?|¥?@ªå?À¯ï?‡ï?ð?ÀBé?rÅ?ÚÏ?óÔ?YÕ?@Aï?À¤ï?€Òï?œß?€²ç?ð?ð?ð?ð?ð?@ê?€æî?Àdï?@kî?@¡î?Öß?Àˆè?®ï?€Òï?ð?ð?ð?ð?ð?ð?ð?€=ï?Àì?þË?‰Ã?ÀTë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?´î?@«ã?@ˆî?¿ï?ð?LÉ?ì¾?"Ì? u?Àg?0”?Cê?ÀÇé?€¹ï?ð?ð?ð?þï?@ñï?À ä?(­? À?AÑ?Àf?€b?€jÛ?À3ï?Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?ð?@‚ï?Ôî? ï?€îï?@Œï?ÀCí?ð?ð?ð?ð?@3ï?ð?Àåï?ð?@øï?À›î?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?@Õè?@ßï?€Là?€0ß?@êî?ð?ð?ð?ð?€»ï?ð?ð?ð?´Þ?@æ?ð?ð?€¯ï?ij?È?ÀIï?æì?€`ï?¥ï?â¶?€Õ?hº?`r?˜¤?cî?÷ï?Àxï?ð?÷ï?Tí?€(Ý?@,í?ð?€/ì?@ýï?@Tî?@6é?ð?ð?ð?ð?ð?ð?ð?ð?€=ï?ò¹?@?€,ê?€Eî?¨Ÿ?¤?@æã?€•ï?ð?ð?€›ê?l²?Ä®? ¤?Àÿä?ð?ð?ð?éí?¼?€¾ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€íÖ?\¡?Xë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§î?bß?©Ï?×ï?ø¼?€zë?@Éå?Ì¢?Éá?ôØ?€|ï?ð?ð?ð?ð?³ï?xî?„â?P?ð«?È?qÞ?¨×?Àî?ð?@§ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿ï?€ìï?@¶î?ð?ð?€žå?€_ï?ð?ð?ð?ð?ð?À2ë?€Öå?@ïî?ð?ð?@‰ï?ð?À†ï?ð?ð?ð?ð?ð?ð?ð?Àíï?Îï?€áé?¦?˜º?€`î?ð?ð?ð?ð?ð?ð?ð?ð?@Fí?€ŽÒ?çé?@êí?@üå?€–?æÝ?€5ï?ð?ð?€ï?ð?€þï?ðß?CÎ?~Å?ÙÛ?€[Þ?Øì?€‘ç?ÀPï?îÈ?Àì?@{ç?™Ð?¡Ú?yÓ?€æë?ð?ð?ð?Ànî?ð?€ºî?ð?ð?@±é?à?ʰ?@Úí?@ðí?fÀ?€P?Àeç?€Òï?À§î?@ªï?€lé?ÈÌ?€”Ü?ð?ð?ð?ð?@íï?rÆ?BÚ?€oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?€ å?ب?{Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?À,î?ÀÅì?@ãã?‘?Ö?€]?Ÿí?€ê?€ó×?@n?€«Ò?×â?ð?ð?ð?ð?ð?ð?@ë?€†Õ?ø“?B´?ÌÐ?5Ü?øï?ð?ð?„î?ð?ð?ð?ð?ð?ð?À~ï?…ï?ð?ð?ð?ð?ð?ð?ð?ð?—ï?óï?ð?ð?7ï?€Ðæ?ð?ð?@¿ï?€~ï?ð?ð?€Mß?t·?À…î?€Pï?€†ï?@áë?ð?Æï?ð?ð?ð?ð?ð?ÀÐï?ð?ð?ð?€;î?€çÑ?È¿?À9ë?ð?ð?ÀÒì?{ì?ð?@Ãï?€£ê?@5à?À*ì?@ïí?€fá?­À?8¤?à»?÷à?ïî?ð?ð?ð?ð?€>î?´¡?6Ó?€ŠÑ?à?ؾ?¨ ?L¢?¿Ì?÷à?€¡â?@éè?ð?ð?ð?€qî?€Ù?@iá?@å?@Aå?€7ì?€²Ø?·?iÁ?,À?æ´?€Öà?ºÝ?€¸Ó?€«Õ?ÌÀ?8•?€Û?€fí?ð?ð?ð?ð?@Ûá?Ñè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?ÍÞ?€éÔ?€Q?²¿?@¶ä?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ë?@5è?@Oî?€6å?€Ô?òÄ?íâ?ãÕ?€`Ü?€Ó?À7ê?ð?ð?ð?ð?ð?@zï?î?€ãÔ?r?x£?3Ä?€ýÙ?ƒÚ?=ï?@>ï?ð?ð?ð?ð?ð?ð?Øï?ñï?@Çï?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?âï?€ ï?s×?€Áî?@†ï?Àžï?ð?ð?iï? ä?'Ê?CÉ?€¼ã?À î?*î?À[í?@ùï?€×ï?€çï?ð?Àíï?@·ï?€öï?ð?ð?è?Ôª?€P?×?@®ï?ð?Àå?šÌ?€$ß?~½?°”?~±?þâ?JÊ?r¹?Ú?@îî?Óï?ÀPï?ÀÈé?OÚ? º?Ü?Ìî?ð?ð?ð?ð?€íê?€Dß?.Ð?ˆ”? ‘?Pƒ?ž?Àj? p?£?€fÒ?ÀÌé?€§ï?ð?ð?¾å?:â?ð?té?€Ïï?ð?öï?À›î?@ªè?ð?ð?ð?ð?ð?ð?ð?ð?½î?À ç?ì?ð?ð?ð?ð?ÀØì?À|å?Õ?0ˆ?ðŸ?€KÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ÀÒé?@Qê?P?à}?ø?Í?€ à?€+ë?ð?ð?ð?€ƒë?€é?€Ú?x›?C? ~?\?`‡?åÄ?€Ôá?€*à?€Gä?ð?ð?ð?ð?ð?ð?ßï?Ñï?À;ï?Eï?Aí?ð?@Öï?ÀÒï?ð?ð?ð?ð?ð?ð?ð?‰ï?ð?ð?€Œï?·î?‡Ü?ÀQá?ÀÂï?@Îî?€oì?@­í?[â? Ê?@á?@¼é?í?@½î?ð?Àóæ?€¤î?ÀŒï?€Ãî?ð?…ï?À£ï?ð?@Úï?Àlå?QÎ? y?Є?îÌ?Àxæ?€yÙ?>»?„Ï?«Ä?@c?;Å?Àî?ð?ð?ð?ð?ð?À.î?ŠÇ?è”?(›?€g?@—?¢²?Àaà?@Oî?@åì?€üß?­Ä?+è?×?@òî?@ûï?©ï?îÞ?°Ø?ð?ð?ð?ð?ð?Éî?@Ðî?òï?ð?@Ãç?”æ?ð?ð?ð?ð?@óï?(À?@x?J¸?€KÜ?@õí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€àâ?€Ú×?µÁ? »?zÌ?„¬?¬Ë?À½ê?@yï?ÀÓï?ð?Àwï?€Šé?À.é?XÉ?t«?ä?±î?€zì?€¨Ö?¸¦?À­?Ô©?p?íÎ?Àuî?ð?ð?ð?¹î?É?KÀ?@Öì?ð?ð?ð?ð?ð?ð?Ðï?Àõï?À¡ï?ð?ð?ð?ð?ð?ð?ð?@Øì?ò¶?€=Ð?ËÄ?±?À3ì?Ìï?ëï?€”ï?€zä?4?Ø?ŠÞ?@ ì?ÀQï?@Æï?ð?Àï?€ëî?À¹æ?QÆ?@Eæ?ÀWï?€aï?ð?ð?ð?ð?ð?ð?@Ýï?€qÜ?€šÑ?@¦î?ð?ð?ð?ð?@.é?®·?T­?þâ?î?ð?ð?@Þî?IÃ?@¯ë?ð?€òî?èé?@Óí?€Üî?þá?,¼?€v?šÔ?BË?Gä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààé?€üÖ?€WÛ?@Œï?’ì?âí?°ï?@æï?ð?@Të?àv?èØ?@è?€Öê?À¿î?$î?ð?.à?É?€Þä?@pã?ˆ•?p²?jÑ?xŸ?ÔÝ?Àèï?ð?€ï?ð?ð?ð?ð?Öî?î?ÀÕï?À½å?@ï?ð?ð?ð?Àøï?ð?€·ï?À!í?ð?ð?Qí?ð?ð?ð?5ï?Àºí?@íï?ãï?ð?¢î?€Ûì?€Ðî?gï?@yï?@ ï?—ï?À™ï?Ñï?ð?ð?@Èï?@œï?{í?€ï?ð?$ï?@³î?@¾ì?Àüí?Àoí?À~î?ð?ÀÎï?Ò?i?€JÓ? ä?@ïï?»î?ð?®ï?ð?ð?#Ü?@ç?^ï?ð?ÀŽï?ð?ð?€ìî?À±ï?À î?@šë?€,ß?Z¸?õÌ?€(é?@Èì?À5ï?ÀÒë?€Îß?€yß?#Ã?€ä?€ Û?¸¬?¨?€þ×?HÝ?=ê?ð?ð?ð?ð?€ á?€ÌÜ?Ñï?ð?ð?ð?ð?ð?ð?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iì?B½?à?t? ¾?@“å?€+ï?Àäï?@äí?Àæ?Àœ?À›é?€oê?À±ì?»ï?€Ôï?ð?ð?€ƒï?Úæ?ž?€Jç?€Èï?ð?ð?ð?ð?ð?ð?ð?®ì?Œ?.¾?€Þë?ð?ð?ð?ð?@fë?dµ?À~?€ƒÓ?ƒä?À>ë?ð?ð?ð?ð?Í×?€ì?ð?ð?ð?ð?ð?ð?@Lê?g?xž?¾Æ?€gØ?,é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£ç?€’í?ð?ð?€ è?Àïã?€¥Ô?ˆ³?ÚÜ?7ï?ð?ð?À\ä?hÝ?úÚ?Ào?@…?‡É?7Û?€fî?€í?=é?5ã? æ?̺?@@ã?Àßî?@yï?¿Ø?B?Àq?Àäç?ð?ð?ð?ð?ð?ð?ð?€Œï?@pî?€«ï?€îæ?€õë?@†î?ÀÐï?ð?ð?Ðï?À¹î?@´ë?@wï?†è?íë?ð?ð?@´ï?àï?€9ì?@Íì?Àgï?€Ëï?Àêï?ië?Éì?ë?`ë?@ñî?œí?€ï?Àúï?Àõí?À î?@Uì?€Šî?@í?|ï?€¼ï?Àúï?ð?Àõï?€éï?Ñï?íî?@0ê?€Ý?0¢?Ž?jÔ?gè?@Lï?Ðï?@ýï?€îï?Àìï?À†ï?@Rî?À0î?€ýå?óÛ? é?Àòï?ð?Àêï?ð?ð?cî?Xï?Àyï?ÍÏ?‡?Ç?£ì?€jä?Àç?ÀËä?Fç?À…ä?À¹å?Ìå?@ëå? â?B¾?Àr?α?„¡?€ªÛ?€­æ?€{ì?€êî?€–ß?Àt?À_ì?ð?ð?ð?ð?ð?ð?ð?@Íï?ð?ð?ð?ð?ð?ÿï?ùï?Àsî?xâ?:»?ˆÊ?À·è?ã?P?€ùÙ?€äÚ?åË?€º?Œè?@ï?”ì?@¬ã?Ì¿?ÀIä?Nß?@Ëì?€ùï?€Íï?ð?€5ë?1Ï?º?§ä?Àêï?Ðï?ð?ð?ð?ð?ð?€œï?fÜ?M?@2â?ð?ð?ð?ð?@Ýï?\Ñ?À)æ?€¿æ?Àãï?@%í?ð?ð?ð?ð?0Ù?å?€‰î?ð?ð?ð?ð?ð?ûï?ØÞ?ê?€Xì?À¬å?€–ä?€nì?èé?Ní?€—î?ÀÞï?@¿ë?@Ëï?ð?@ï?À×ï?@µî?@õï?ð?„ï?€ï?@åï?€ï?€úî?@ìï?@½ï?Kï?@÷ï?€Ãï?@íï?@xï?@~ï?ÀÐë?—â?@4î?¹ï?Àï?ÀÜî?€Zï?€ýï?ÀÖï?ð?ÀÖï?€lÙ?@Uè?@áë?þï?ð?€aî?€‘ï?@¡ë?[Û?€öì?§ï?@üî?À÷ï?€öî?€ï?‹ï?@ ê?€ ì?@Áî?Ÿî?Eï?¼ï?ð?ð?ð?ð?ð?ð?%î?€¨ä?€äÝ?ªÒ?h—?ä¦?œ£?ŠÐ?‚±?À?Àoä?€9å?Àkì?À ë?€î?@iç?€¬ã?øÝ?@Åä?À1í?€®ì?Èä?fÚ?£Ü?€ôï?ð?ð?ð?ÿï?@˜ï?ð?ð?ð?ð?ð?À&ì?@‚é?À<é?€ ç?zÂ?€ÃÔ?€(ì?À×í?ð?úï?@ëï?€\Ó?°?€Ò?´¨?¤Ì?&Î?à‰?"Î?Ìï?ð?@Úí?À#î?·Û?@[â?€AÜ?ø¾?Óé?IÌ?6?’Ð?@Õé?¦í?@Âï?å?€[ß?dÖ?@–ã?ÜÜ?8?€yå?€,ï?@›ï?ð?ð?ð?ð?ð?Àwï?»?€Š?€Rí?ð?ð?ð?ð?@óï?›Ï? ~?€çÙ?€Ëé?€’ç?À6é?À'ï?ð?ð?ð?ð?ð?€.â?*Ü?ð?ð?ð?ð?ð?ð?ð?À+ç?@d?:?™?ÜÏ?€îã?€„ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äí?À+ï?ð?@Óï?@­í?Ö?À,é?€íç?Àõê?@æ?”Ø?p–?¨™?@„?–¾?€¦á?€$è?€pï?€Õï?ð?Žï?€ê?€ìÔ?ÀÞá?€ñÖ?€ëÚ?åÚ?ÁÝ?Ò?@?h¢?€ÛÕ?‘Å?Q?@ýâ?ùï?À­?€v?Èî?ð?ð?ð?ð?@!í?@Õå?<ê?@tï?ÀÌî?€ßí?¡í?¸é?@Ðé?€Äï?€´ï?@ ï?À=ä?ÀWî?¬î?Ëï?(ì?€[ì?ð?ð?ð?€·ï?ð?ð?@„ï?@ï?ð?€©ï?ð?€ùî?ð?@½î?À¦ï?ð?ÀÙí?€iï?ð?€©î?€è?€ðí?@Íî? ï?€°í?ÀÝí?«ï?€ï?Wï?ÀÍé?€¢Þ?@“â?@ÿä?€˜é?À¼î?€·ï?ð?À1ï?Ùç?ÀFî?€ï?€xï?@¿î?ÀFï?@~ï?@ˆï?À4ê?ð?€uï?@æï?@ôí?Àqî?ð?@éï?€Ãï?ð?ð?ð?ð?ð?@sê?€\è?€Ûå?Àí?Àôì?@íå?$×?€rÙ?Bé?´í?™í?Ñê?@3í?€*è?´â?À£å?€sç?€`è?Oá?€‘ä?VÒ?¤°?BÖ? ¦?¿?@Úá?€Çï?ð?ð?ÿï?Àðï?ð?ð?@Hï?@ï?‡ï?Àî?Bí?À‰í?€Øá?̳?@ûç?ð?ð?ð?ð?@éï?€‘ï?€Ð?:Ù?ð?Pì?€Þ?$¦?€Ù?€î?À.á?˜œ?@a?|·?À§ï?@bï?Àíí?À˜î?ï?€Ïâ?l¨?ßÚ?€ñî?€Íé?ø™?€?€·×?í?@Áî?ÀCï?À!í?ð?€&î?µÊ?Ê?@ å?€àè?@Øê?ð?íï?¨î?ð?ð?@úä?ä°?Ÿï?ñï?ð?ð?ð?ÀÄå?T?ˆÅ? ï?@Hä?@ê?@ýï?ð?ð?ð?ð?ð?ð?À å?šÁ?î?ð?ÀFë?€Ý?€PÙ?€wâ?Óé?@Wì?¾¾?B´?XÁ?Ñ?ÎÏ?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?À ë?@jï?€0æ?€à?ÂÕ?Àæ?€Pê?€©é?€œê?ð?@xà?k?@më?,ï?ð?ð?ð?ð?Àî?ß?¡?,¨?@hë?ð?ð?Áï?@¯ï?ð?@í?€ â?è™?/À?ÀYê?œ?ÄÎ?°ã?’½?Ô²?@Äí?ð?ð?ð?ð?ð?€£î?€~å?@í?ð?@Sî?ð?ð?Uë?ð?-é?€Yé?oì?¬î?@Sï?Îî?@zë?Îî?xå?ºî?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?¯ï?žî?ð?Àcë?Àï?ð?€²ï?@¾ï?Àœï?ï?ÀÍì?@•î?½î?À,ï?€Fî?€Iï?kï?Àµï?€êÞ?kÞ?ÀIé? ï?ð?Tí?³í?@Íé?€;î?€ûî?@Uì?À¤ì?@Pî?Àî?%ï?@¹ï?@Yï?ð?ÀÛï?À„ê?ð?Tï?@»ï?üï?@ ï?ÀHï?€úï?î?×î?@Ÿî?ð?ð?ð?ð?ð?ð?)ì?€½ê?À(í?ð?¿ë?Àïç?¡æ?@#ê?@ï?ëî?€&í?À?ì?’ä?Kâ?@Cä?À¦ã?€ÖÝ?À3â?¿ß?X½? Ì?Àî?@á?€Ñ?·Ê?Â? »?pÈ?ð?ð?ð?ð?ð?ð?€Cï?@gï?ð?ªî?€mí?Êî?íî?Àöä?$½?¦Ç?@²ë?ÀŽî?ð?ð?ð?‹ï?Nî?€fà?(?À­ã?ð?ð?ð?@ë?3Ä?ûÎ?À ê?À¡è?jÀ?ÀFá?À+ï?ÀTí?€(ë?‰ï?@‹ï?—Ø?Àõä?@¿ï?@Üî?jÝ?dÕ?€›ç?Òí?Ãî?šî?@ï?€Ûï?€nï?Àè?€á?X‘?P¢?€\ë?Q×?@Ëâ?Àìâ?1É?ìÄ?€KÞ?À3ä?X¥?õÖ?@¯î?¶ï?ð?@Ôï?ð?Üç?Xì?ð?ÀÜï?€úë?gï?ð?ð?ð?ð?ð?ð?€ñí?@¶?}Î?Û?´ª?Ê?ã?€öß?´?€^?WÅ?€Ú?@óç?Àêâ?@¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?—ï?@øî?@lç?À»á?€Æë?@Hé?Ë?€í?ð?ð?€å?ÀKè?Cà?ä¿?Àsä?@Þê?ð?¯ï?ð?Yì?’Â?©Ó?@ùï?ð?€°ï?ûï?ð?ð?ð?À6ï?’À?R?€-ë?ñÍ?ˆÂ?€qØ?Ú°?è«?À ê?ð?ð?ð?ð?€kï?À÷ï?À§ï?À\ë?±ï?Àùì?ýï?ð?Mï?Àî?À/ï?@Šî?Òè?@ë?@Qí?@Ùí?@•î?@&î?À}å?@ôë?ð?ð?Áï?ð?¡ï?@¯ï?€«ï?@öî?@yï?@yï?ð?@Èí?Ÿï?Áï?ïï?ð?@ï?€•ï?€–ï?Àqí?@Îí?Àpî?@ï?€ ï?@¢í?˜ï?À=í?@—á?€Çä?Àìî?€Åî?€ï?ð?@ï?@üí?€Ìï?Àí?Àì?€é?@0í?@¯ï?Àjî?Ðï?@ïï?ð?ð?ð?ÀŽì?@gê?+î?ð?ð?ð?€|ï?À¾î?ð?€Lí?€hï?…é?À0í?Àøï?ð?ð?ð?ð?ð?@áê?@ï?ð?ð?ïï?€ôî?Àç?Àä?€4í?À÷ç?€<×?äÙ?€Ù×?€/Ö?€:Õ?¬Ý?€ŠÑ?"´?ì¤??å?€¡ä?)ã?@Nï?€ºî?ýî?€Ýì?@aæ?&Û?‚Ê?È›?ÙÑ?ð?ð?ð?ð?ð?ð?@¦ï?ð?ð?€æï?À]ï?Ùí?Àæç?PŒ?Ï?@³ì?@¼ï?ð?ð?ð?ð?ÀÉï?óí?VÚ?@Rè?³ì?€êï?€ßï?@êì?µï?gÔ?ê¹?ôÆ?¼è?ð?€Zá?µÃ?€øÐ?ÀÎï?ÀŠî?ÀDì?Àï?@êï?Àxà?JÆ?€rì?€sí?À·í?¾ë?­î?Rî?€£í?€²î?@ë?Gí?ð?€Oê? ï?Ì?ìÕ?@Oí?öî?À¿ï?€ûÙ?U?@àç?ð?ð?ð?Àõï?ð?@;î? Ã?ÀØç?ï?@çï?Óï?ð?ð?ð?ð?ð?ð?óï?€Qß?@g?E?€íà?@6ï?ð?ð?sæ?€×?”Ê?àx?”?ñÓ?€à?@Óá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊí?€Êï?ð?ð?@Èâ?@(â?ëï?ð?µï?Àüâ? ­?šÁ?@•î?À¹ï?&ï?ð?÷ï?ÀÂä?Àšà?ð?ð?À‰ï?@~ï?ð?Áï?ð?€¾î?7Â?ãæ?ÕÒ?ˆ ?À“è?3í?\Õ?ðƒ?¡ç?À"î?@Bï?À‰ï?ÀÕï?€ãî?€Wï?@×î?@Îï?ºî?@Ýí?¸î?@~ï?ð?Àæï?ð?€Wï?@hí?ð?ð?€ î?€öì?@dê?ÀKì?ÀYì?ï?Êï?ñï?ð?êï?ð?ÿî?Üï?€ ï?@Òî?^ï?€ï?@Öì?šî?0ï?úï?€cê?Eî?žî?yï?À±ï?@gì?¼í?@ î?À+í?Bå?€á?@»å?Hí? í?€×î?@Êî?€ ï?Àí?€ì?ð?€–ï?bï?Àï?€ÿë?À8ï?ð?€©î?Àâï?ð?ð?Êï?Àáï?›ì?@í?ð?ð?ð?eï?¾ï?@Hï?ëï?@Nï?@™î?@úí?ð?À¾ï?öï?ð?ð?ð?Àøï?@ðí?À×ï?ð?ð?ð?ð?@1ê?Àãã?@Ïë?€GÖ?JÆ?VÕ?€Ý?ë?øà?€_Ø?8²?€3Ö?ä?@à?bé?€£ì?Ÿà?Né?@)ï?€)í?ªí?‚ï?€üï?Àè?€+ã?@-è?©Ü?X°?Г?À³ê?Óï?ð?ð?ð?ð?ð?åï?ð?ð?Àæï?€%ï?€ï?€4Þ?€ ë?‡î?€øí?ÀDî?ð?ÀÈï?ð?ð?€ñï?ÿî?‹ï?ÀÃï?ÀÝï?gï?€¤ë?ÀÂâ?Á?€Wé?Oè?è?ð?€pî?‡Å?¥Ã?@>ï?Àì?Àãí?8î?€ïî?€çå?$´?@4ì?À¢í?€¾ì?€uî?ÀÐí?€Lí?€–í?À¡î?@lï?ð?@\ï?€Fï?€ŸÜ?|¤?Äî?ð?ð?@Wç? ¹?€Çî?ð?ð?ð?ð?ð?Ší?€çæ?€$Ú?@ ë?”ê?ð?ð?ð?ð?ð?ð?ÀÜï?@Xé?€6Ú?ýÁ?ÁÒ?±?ª¶?Àî?@)í?ð?ð?ð?÷ï?ÀŠï?ŽØ?œ·?ëç?@Cè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*ï?@šê?Ïæ?€ÝÞ?`‚?€Æâ?€6î?€£ï?;ä?@ùà?€s×?€:ï?ð?ð?ð?ð?@fã?›ä?ð?ð?@›ï?@yï?ð?ð?ð?€‹ï?­Ì?@ ä?€˜à?jÐ?Àgá?€÷Þ?@Œä?àè?€#è?»Ó?C?Œ¤?Ñ?€ºß?@í?€Tï?Æï?À¸î?ð?ÀCï?ð?€Fî?€í?Ëì?@ïï?Âî?@çë?À›î?Zí?€Åí?ð?ÀKí?@ì?í?@¯ï?ð?Àêí?¬ï?@Çï?À×ï?Ìï?Àï?À«í?Àõî?@mí?€í?í?€î?Dê? î?Àmì?*ç?°±?€`Ó?@Ÿá?ð?ð?ð?ð?@zî?Àå?@ší?€Bî?€7ì?@Áï?tî?€Äî?@ ï?À‡ï?@äï?ð?ð?ð?ð?yï?Àñï?í?Àyï?»ï?ð?ð?ð?ð?@í?@Úì?ð?€"í?ñï?ð?@Üï?ð?Àcï?@ïï?ð?€-ï?@ï?yï?€ºï?²ï?ð?ð?ð?ð?À°ï?€×ê?@´í?ð?ð?ð?ð?@§ì? ä?8Ü?Û?€óí?€vØ?@xâ?@ã?@àè?QÆ?\²?Fí?“ï?ÀŽî?€µï?€ßï?@àï?Àôï?€vì?€Ðë?€bî?Tî? é?°?x¾?Ø?€^Þ?@0à?KÑ?À"à?'Þ?€ßØ?ì§?€Ó?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?Àî?€Åê?ÿÁ?gÊ?@í?€ï?Àòî?ð?Àï?‚ï?ð?ð?­í?˜î?€Ðï?ð?ð?Òé?€à?€ùç?€2ï? ï?Àœï?ð?€Žï?bÃ?„¦?cí?@õì?ÀÛì?@™í?€8î?À‹í? Ž?€_Þ?©ä?Àëí?À|ï?@‚ì?@ê?@Äì?@Èî?Àaî?Àî?@¹ï?@Cê?À­?À? ï?ð?€ï?@Ê?kÓ?Àåï?ð?ð?ð?ð?ð?À×ï?€“â?Àˆ?ø?¤Ä?@Wê?@Åï?ð?ð?ð?ð?ð?Àœî?é?ÆÈ?€Jà?À3å?€ää?€"Ý?“à?@‰è?ð?ð?ð?ð?ð?è?^?<¦?:ß?@ æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@eï?€äî?cé?@Ôï?€ƒá?P±?þÀ?€žê?Àä?©Á?±?Èš?Àêé?ð?ð?ð?ð?ð?€Ôè?,?é?ð?ð?Lï?í?€†ï?€xï?ð?@¡î?È¥?ÀŠ?€ê?&Ò?¨˜?æÉ?@sè?lï?@Åî?Àï?Àßî?nÚ?ð©??ÝÚ?Àî?ÀÖï?@î?ð?Àþï?À:ï?°í?€éï?À¬î?À³ï?ð?€ãï?À.ï?@èî?@àí?€Xï?@®î?Àë?ÀLï?ð?€yï?ð?Àï?€êï?@-î?@î?Àï?àï?"ï?˜í?Žè?€ë?@òì?ÀZí?þì?ÀLí?€ã?ÈÜ?eæ?9í?ð?€úï?ð?ÀUï?@3ë?Ôè?€«ï?€úï?âï?@¿ï?ÀØî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æì?@þï?Àìï?ð?ð?ð?€øí?@²í?€³ï?Àí?=ï?À=î?€Öï?ð?€ïï?ð?yï?€±ï?@˜î?¡ï?€Øï?@Èï?(ï?ð?ð?ð?ð?Àûï?@Lê?^î?ð?ð?ð?Àûï?@óë?€ÌØ?uÔ?À:ï?@î?Ð?€à×?Òã?ÝÂ?Ô°?ÉÚ?ñÏ?€ë?Àáï?ð?À™ï?Àáî?Sï?¸ï?@ùï?€àï?€ºÞ?Aç?@(î?€8Ú?ÀÕâ??â?ÀÓî?@'ï?ð?¿ë?€æ?AÙ?8”?@Rç?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?@‚ï?“à?°?¼ ?@†ã?€ýî?€«ï?5ï?ð?€àï?Àöï?@Yí?ð?@:ï?@$ï?ï?ÀÍï?ð?ïê?@Áé?€^ì?@í?€3ï?€Žï?@7î?@ãï?DÚ?|?€Ûì?Àlï?Àpí?&í?€Ží?ÿï?1Ë?€X?0”?Ú?À.í?Àgê?€Åé?@fê?€×í?@áç?@‚ï?@ùï?pï?8³?~?Àë?Àøï?@aå?6Á?@ûê?^ï?ð?ð?ð?ð?Ûï?€‰Ú?€e?Ê×?cë?€…ã?€×í?@¿î?ð?ð?ð?ð?ÀÓë?À ë? Ã?@³ç?ÀŒê?@Cî?Àäá?Àë?€ÿê?Àç?€!î?ð?Àžï?À«í?@ºå?GÌ?€P?Àe?úÉ?ØÜ?€ÿè?ÀÁï?ð?@xï?ÀAï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?€bì?@wï?ð?ýï?€¤ç?ž½?sÂ?€ è?îÎ?gÚ?@†é?xé?ð?ð?ð?ð?ð?ð?ˆ·?þ³??ï?ð?ð?@wï?ÀÍî?€>ï?ÀÀï?ð?Šè?I?Àx?€^Ý?@Ôï?Å?€³Ð?€òÚ?Þ¸?6¶?À6å?ð?À¼î?€åë?@3ï?½í?:½?¤?ãê?@Fï?ð?ð?ð?ð?äí?ÀÊï?ð?Aï?ð?ð?@ýî?ÀKî?@í?@\î?@1ï?À“ê?íï?€”ï?@Éï?ð?ð?€Éï?Àûï?À¾ï?@¡ï?ð?õí?ÀKë?€Fè?€Áí?@÷î?@î?Àçï?Kî?Xï?À—î?€Wí?€^ï?€ï?ð?Ïï?@¿ï?@}ë?À‹é?€Áî?€rï?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&ï?ð?ÀÓï?ð?ð?ð?ð?xë?ï?ð?ð?ð?@óï?ð?Úï?ð?€Éï?ð?€àï?ð?ð?ð?ð?ð?®ï?ð?ð?ð?ð?@ ì?@eï?ð?ð?ð?ð?€{ï?€¸ß?€Ùâ?ð?ð?@fâ?€?Ò?¾? ƒ?m?0‡?Ðê?À$ë?ïî?ÀÔï?@=ï? ï?ð?ð?ð?ð?ð?@Sï?@þë?Ø?€Ú?@>å?ð?†ï?ð?ð?€±ä?›É?@â?Àh?RÕ?cì?ÀXï?ð?þï?ãï?ð?ð?ð?ð?ð?¥ï?€‚ë?$¢?À˜?€ôæ?Òï?€Áî?ð?ð?ð?ð?@Éï?ÀPì?ÀYï?€Òï?À¡î?ë?€‡î?À´í?€Sê?€Éé?Áï?@"í?@ûì?3ï?ð?À’ï? å?¼µ?@*à?€î?€Kí?@gï?ì?{ï?€·Þ?€zÔ?€«æ?üæ?€…ê?€ î?Xï?@¡î?€çï?€ î?¨Ò?@<á?À‘é?€á?€b?ÀØê?ð?ð?ð?ð?ð?ð?€ï?²»?€ÛÙ?Àî?èè?@eæ?Àÿì?€ºï?ð?ð?@!ï?À—î?@%ê?ÀÙà?€±á?À+ï?À×î?@2á?€–ë?€Éç?@óï?ð?€àï?Àûï?ÀÝë?À#ë?@>è?€ë?ËÝ?*²?¸?€!Ý?€—Ö?Òé?ð?€®á?uì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*ï?Œç?À¼ì?ð?ð?ð?ð?ð?Àèî?ð?ð?ð?®ï?À´à? ›?pŒ?À‘ã?€üî?ð?¿ï?€aë?@Éï?ð?ð?Àží?ÙÍ? Ñ?ð?ð?ð?À}ï?ð?Àüï?ð?Ýï?€ß?$?Ç?€ç?@ªï?Kê?˜™?4É?@íî?¸ï?‚à?ˆ?€Æã?Àµî?Àéï?©î?Àqï?ð?€îé?T­?€žÓ?€æ?@ëï?ð?Àï?ùï?ð?ð?ð?@úï?ð?€Òï?Àíï?@Çî?€rå?ð?@ï?@ží?ð?Àâï?ð?À5î?@î?ð?ð?ð?@wï?ð?@÷ì?@¶ï?@]ì?eï?@Zî?Në?ÀÜî?À2ï?@Sï?ð?ð?ð?ð?ð?€tï?ªê?€Âæ?Oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€,ï?ð?ð?ð?ð?ð?@zí?ð?@ýï?ð?€Éï?ð?@üï?ð?À­ï?ð?ð?ð?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?€7ì?€ýï?ð?ð?ð?ð?ð?±ï?€QÚ?@åí?ð?@aê?V¶?´À?æ¿?€'Ò?°š?h“?±?¨©?À²ê?Àäí?-í?Èî?Àï?Tï?Àï?Àï?@wï?Àôí?€µí?€wê?UÛ?]Ê?ÑÕ?€fî?«ï?€±ï?@ûï?@sï?@Ùè?À-â?€¢ç?Å?è¥?ò²?@ ä?€ï?ºï?€×ï?ð?ð?ð?ð?€Ïï?ÀËï?€â?€7Ö?€Ñï?@÷ï?þî?@;ï?€¦ï?@ûï?ð?€Æï?ÀGí?¿î?ð?@âî?Àeï?€xí?À1ë?€:ï?­î?€ ï?Yî?ÀUî?@ï?ð?¼ï?€êé?Pˆ?jÄ?@#ë?ÀCí?ºì?@Lï?@¤ï?€ä?(?@ƒ?Êà?@0í?@ýí?@î?€-ê?@úï?À¤ï?Eí?—Ô?È–?-å?€9ë?¬?R±?wí?ð?ð?ð?ð?ð?ð?€îï?€ÑÚ?‚Â?À>í?À¿ï?@Sï?ï?ð?ð?ð?Àèï?ï?@²ì?Àë?@ïï?Àjï?ð?ÀDí?€4è?@Éå?ÀTì?ð?ð?ôí?@ðî?Àvë?ð?@óï?€^â?@n?€uÛ?WÝ?Àné?ÀÙî?ð?€dã?Aæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åê?€‹Þ?À”è?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?/â?–?@ï?@?ï?:ï?À‘ï?@Ûï?@²ï?¼ï?ð?ð?@°é?ÚÐ?ð?ð?ð?€µï?ð?ð?@Aï?€¡ï?,î?<²?pœ?€°î?ð?ð?ÀÓï?´¸?“å?€´ï?ð?€¶í?ÀYí?Öí?€èí?€aï?ð?@‹ï?@uí?ð?Qæ?&²?ذ?xÎ?Ô×?€¯Ò?€Öï?ð?@vï?€*ï?ð?ð?ð?ð?ð?ð?ÀÁï?@ï?€Zè?ð?ÿî?À}ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À`ï?wï?€tí? ï?À™î?Àï?€…í?¹ë?Àï?À`î?ð?@:î?€ï?¯í?@ì?À¨ì?€[ê?€Eí?À^í?{è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?`í?êî?@Qï?ð?ð?ð?ð?À°ë?Àcï?ð?Éï?ð?€ï?@ï?ð?@Üî?ð?ð?ð?ð?€$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À/ì?4ï?ð?ð?ð?ð?ð?ð?Àùç?Àõì?ð?ð?À6ä?€.Ó?N±?À÷ä?œÖ?x«?À_ì?ð?€©ï?@ƒî?¢ï?€qî?€úî?ì?@yâ?pí?À0í?Àç?€¤à?T¡? Î?€Jì?ÀÞï?€§î?Êï?Àî?Àóí?€Åî?€}Õ?¿Ç?œ¹?6Æ?@ÿæ?@ï?€Åï?€ìï?ÀÅï?ð?€©î?@¹í?@%ï?€¤Þ?KÕ?ð?Àžï?ÀMï?€Gï?Àøî?@§î?Æî?€í?À¼é?ÀÞë?¼ï?Bï?@_ï?Éï?ð?ð?ð?@¢è?Žï?@¤ï?ð?ð?ð?À ï?Gí?€uæ?‘À?Öá?€~é?€®ï?€%î?€(í?€dï?Àï?ÀEà?`r?€ ç?€Wï?€tï?À·ã?€Öï?Àžï?Àkè?ä·?A?íà?€Gï?À¨é?@Oà?€úÔ?ÔÁ?¦ï?ð?ð?€ïï?@{ï?Àï?ð?çï?gí?lÁ?.Þ?À¨ï?mî?Ùï?€ìï?ð?ð?ð?ð?Ùï?@žî?Àí?À,ï?À¿ï?ð?ÀÅï?ð?@­ï?€oé?€šï?ð?ð?ð?ÀÛë?@7ï?€ì?€\Þ?€˜Ñ?šÜ?È•?òË?¹ç?ð?ð?î?øä?ÿÆ?Xê?€,ï?À÷ï?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Hï?@yâ?€6î?ð?ð?ð?ð?ð?ð?ð?ð?ð?7å?€bÓ?óÍ?@‘ç?ÀUî?ÀÙç?€=ï?ï?@±î?ð?ð?ð?Àwï?"¸?0?@bç?Àèï?ð?ð?ð?ð?ð?ð?½î?@ä?€V?òÉ?@ïï?ð?ð?‘ï?€aÝ?€²Õ?Ùï?ð?€Þï?ÀŸí?@ï?Àï?Àôï?ð?@²ï?@=ï?ð?€Þï?;í?€dí?@äï?@ï?wÎ?@Êç?€Gï?ð?ð?ºï?€¥í?Ùï?ð?ð?ð?Àbï?ÀÂï?ºï?€Ðî?@}é?@ëî?@Ùï?Àèï?ð?ð?ð?ð?ð?ð?€®ì?À=ï?€…ï? ê?Ùï?@‹ï?ð?ð?Àuí?€ç?@Ëï?–ë?ð?Àéï?Àóê?@Yé?À¨í?ð?ð?ð?€dî?ÀKê?1î?ð?ð?ð?ð?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?ð?Qï?ð?ð?ð?@°ï?À+î?ð?ð?ð?ð?ð?@#ï?ð?ð?ð?çí?ºï?ð?Îï?ð?ð?€ðï?ð?ð?ð?ð?@øï?@Åì?À+ï?ð?ð?ð?ð?ð?ð?ð?@mì?@ì?ð?ð?Àøì?“Ê?€¼?§ï?Àuí?X·?ŒÌ?€Êà?&Ò?(ž?°?ÛË?Þ¿?~Ä?mÛ?º?@µç?€¨ï?ð?°ï?@ î?@¿î?À¥í?À%ï?@šè?ÀÎë?@æ?Àºç?@Dä?À#è?€ ï?@'ï?Àýî?cï?Àî?€Üî?€Gê?@ßå?àä?úÞ?€uà?ì¨? ›?@{é?€ìï?ð?ð?ð?€Þï?ð?@#ï?øÜ?üº?‰Ñ?€mÞ?€ÙÕ?€\ï?@‹ï?ð?@ î?õë?Àœè?Àï?@²ï?Öî?µï?ð?ð?ð?ð?8ï?ð?ð?@nï?@Xî?ð?@®í?@jë?ôí?–æ?€î?€Mê?€üè?Wî?@Ÿê?€iî?€âî?À¼í?`•?5Ð?@ví?±ì?€!ç?õÊ? Ù?¯?à”?YØ?Àï?ð?@ÿé?€ è?@ëã?h•?-Ù?Tï?ð?ð?Àéï?ÀÏî?@Óì?€Ïï?@ ï?€Þï?@é?Œ°?Ë?€‡â?ð?Ýï?ÀÅï?ð?ð?€Ïï?ð?€í?@Íî?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dï?@wî?€på?@ ã?ÀNì?€¤Ü?AÏ?sÞ?à?Ð?@o?°½?€ï?ð?ð?Ðé?ÚÉ?€)ä?€"Ö?€6Ø?À ã?€é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Cí?@áê? æ?@•à?€–ì?—è?@÷î?ð?ð?ð?ð?ð?ãï?ÀÄê?ÀTâ?¶Ó?ˆ?~À?€ØØ?:¸?À¾ã?Àã?@í?ð?ð?ð?ð?€Dà?°¨?@ ä?€®ï?ÀÉï?ð?ð?ð?ð?ð?nï?$î?˜˜?žµ?ðë?ð?ð?ð?@¬ï?€!Õ?ð‚?€ýÚ?Àdí?ð?À$ï?ÀÉë?Àýí?€ï?@”ì?€1î?yî?¼ï?ð?ð?ð?@ ï?¨ä?çÂ?úí?@²ï?ð?@5ï?€îï?@öï?ãï?ð?ð?ð?üï?ð?Àµì?ÀLê?€îï?ð?ð?ÀÉï?ð?ð?ð?ð?ð?ð?Àæï?öï?ð?@ƒæ?€<í?ð?€Œí?öï?ð?ð?\î?À{ì?@õì?@¦ï?Àæê?|ï?ð?ð?ð?Àï?@øï?ð?@í?Àéë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žî?Àâï?ð?ð?ð?€Ðî?€®ï?ð?ð?ð?@Ùï?@^î?Àæï?ð?ð?ÀÕï?þë?€îï?ð?ð?öï?€¨ï?@Zí?ð?ð?ð?ð?ªí?@ ï?ð?ð?ð?êï?À#ï?ûï?ð?ð?@Šï?Àé?ð?ð?€°î?€«ì?PŽ?€ÿÔ?€›î?À»î?‡é?’Á?@d?€r?€qà?€Çî?@þí?€ßë?€¢æ?€Û?Àaà?.â?@Öä?@uå?€~ß?€>×?€Uä?Àåï?À=ï?vï?€Zå?Àñë?¦ì?€ï?€žç?ÀÀì?@Qê?Wé?@äí?@õè?7ï?@÷î?Nî?Àüë?Àlí?Àåí?Ûì?€uî?À"í?€rß?Pç?æ? Å?à€?xÃ?ÜÔ?àp?€^?:?D?Ð?€èï?ð?ð?€Ïï?Úä?¦î?€Œä?¼°?€c?€–Ð?@Åì?@ç?‡ê?@Eâ?0Ò?@”à?Àvå?€è?€ë?€wê?ôê?ð?ð?ð?ð?ð?ð?ð?€Ìï?ÀTî?À‚ï?Àëï?€rê?@3ê?@¡å?@×è?@7ë?€'æ?ÀPî?@¦é? ï?€xî?€¶ï?˜®?Àãç?@ ì?@`ê?À«?Д?´Æ?@gç?ãï?Àí?€ê?€Ãí?Àûå?T?€ýØ?@²ï?ð?ð?Ààï?€³ï?Wï?€0î?€î?€Þí?@óí?À§ä?EÄ?BÜ?ð?üï?@öï?ð?ð?ð?ð?î?@’î?úî?@þï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßî?À½é?€9é?ë?iå?€öß?@Óã?ï?@í?€wç?D ?0?€ãå?€ ë?@ïï?ÀÀì?\¿? ®?€:Ø?Àwí?€(é?€½ã?@7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?@“ï?À¨ï?@ê?À å?×ã?€Ÿà?Àµç?ð?ð?ð?ð?ð?ð?™Û?Tß?"É?( ?Àtã?çØ?€¯ß?Àé?@4ï?ð?ð?ð?,í?ˆ?`Ä?À§ç?@ßí?àï?ð?ð?ð?ð?ð?ð?ð?¼ï?»Ò?°?Àîä?ð?àï?ð?@}ï?ÍÎ?E?ŽÀ?@:ç?€ ç?ï?@$ë?€|ã?@ï?@î?€êê?ð?ð?ð?Àªï?@â?Œ¾?OÜ?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕê?@²ï?ð?ð?àï?ð?ð?ð?ð?ð?ð?€ìï?Hï?ð?ð?À‡î?À3ï?€wî?Ðï?ð?nï?Æí?ð?ì?€iî?À‡ê?ÀÊï?@°ï?ð?ð?ÀÅï?ð?ð?À€ì?‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àzî?ð?ð?ð?ð?ð?ð?€êî?@nï?ð?À-ï?€•ï?nï?@Ùï?@Ùï?Ðï?ð?ðï?ð?ð?ð?Õî?€Xî?ð?ð?ð?ð?À—ï?ÀWï?Àiï?ð?ð?€Fí?öë?ð?ð?ð?ð?Ç?Àäá?€ï?€üì?‚î?Ãí?Àuå?’æ?€hì?À#ï?Àïî?@˜í?Qï?å?ŽÙ?"¿?Àë?Àúæ?À‡ê?@í?@‹ï?@{ì?ßë?€äë?€ì?@Ëì?€úí?€Xï?Üî?é?Àë?@#î?€î?@–í?ÀŸï?€£í?€Êç?}î?Àüì?@•í?¤î?æë?Àºç?@ßç?€#é?@”é?€iÞ?@Dâ?Ç? É?œî?à?”?8›?€mÑ?̤?@m?€ì?ð?€Õï?Çá?†?м?ˆ¥?ÇÁ?ȶ?`?ÈÐ?fã?€®æ?Àçî?@î?^í?4ï?ð?ð?ð?ð?ð?ð?ð?@Ùï?ÀJï?@ì?€ï?€Mï?€Dì?@®ì?î?@¶í?2í?@­î?Àðí?@Àì?@ï?€»î?€êé?ì«?÷Ç?dã?Ê?`°?À@à?@Bå?@/ç?Àâï?ð?jì?€ìï?À‡ï?Ô?ȹ?Nä?€ãé?€[î?øè?Pî?ÀÒî?€7í?Àjì?@í?€Jé?À$ë?®å?Bê?€ìï?ð?ð?ð?ð?ð?ð?ð?oî?ð?øï?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?œï?ð?³ì?ÀGë?@óè?€wì?@Øã?@¼è?ð?°ï?ð?€Lß?ˆ¢?6»?€%Ñ?Œ¬?b·?Ò´?@/é?€Tã?…é?ÀÆä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?”Ü?À|è?Hë?ð?ð?ð?ð?Àæ?€Õï?€:Õ?< ?º?`z?/Ï?@`ì?wÉ?rä?@þè?ð?ð?ð?ð?çÖ?œ?À9í?ð?Àžï?Àåï?ð?ð?ð?@¸ï?ð?@xï?ð?ð?Àë?bÃ?¸£?@Wì?Àåï?ð?€íï?@{ì?*ã?€œÓ?ìÈ?ؼ?Þ±?¼ª?@¿å?ð?ÀPè?À(á?ð?€jë?ð?ð?€Yî?€ì?€Q?Àçç?ð?ð?ð?Àdï?@²ï?ð?€¨ï?ð?ð?ð?ð?ð?€‚ï?fë?@ìê?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€wî?ƒè?@Êï?ð?ð?€nï?ð?@ï?ì?€•ë?Àê?@Òê?€5î?@¾ï?ÀÅï?€¨ï?ð?ð?À–ì?@cí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆî?ð?ð?ð?ð?ð?€²ï?Ûï?xï?ð?À¨ï?hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôì?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?€nï?*ï?€@ê?ð?ð?ð?ð?À]ê?àq?< ?À®é?€¦ï?ÀUî?Òî?@áï?@&ï?Ôï?@Üï?ð?Šî?ÀQí?@_ï?€™ì?Àêé?€±Ô?@é?€Ãê?€Zì?@™ç?Qî?ñæ?€%í?À~ë?@/ê?Vë?À"ë?Ëì?bè? ë?ãí?ÀÆì?À±í?@üí?Àßî?Àí?€Eå?"ê?æ?¸é?ÀRë?’è?€Gë?Oì?À‚ã?ë?ÀCæ?€)ã?À;ç?ÞÄ?À°í?ð?à?ˆÐ?@þî?Àìê?€aÙ?h¤?ðá?€‚ï?€Õ?°‚?º»?Ú?iæ?@åé?@‹î?Çï?ð?ð?ð?ð?ð?€*ï?ð?îï?À^ï?€¦ï?ð?ð?ð?À¨ï?’ï?€£ï?\í?€Œä?@•ï?À©î?ÀÚë?À è?çã?@§î?ÀKí?ÀËî?€{å?æ¿?€úì?@Üï?ð?€¦ï?ãï?Àåï?ð?ð?€~â?v·?MÇ?YÔ?ÀWí?@Hí?@ì?À«í?@fá?€ Ö?€Ó?@`ì?@µí?Àdï?ð?ð?ð?ð?ð?ð?ð?ÀGï?€1í?À î?bå?@jì?ð?ð?ð?ð?ð?ð?@Òï?@Êï?@ë?Àí? î?ÀËê?@Øë?À´í?ð?ð?ð?€ïÞ? ?Àé?âÉ?Àræ?[Þ?@†ã?Àì?@óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuî?ð?ð?ð?ð?Jí?€µÒ?€|?zÙ?ð?ð?ð?ð?@ï?À¢ï?€ÜØ?h–?R³?XŸ?ì¶?AÂ?0Ÿ?Èß?@Dâ?Ʋ?Q?Œª?ß?€ß?ãÇ?3Ø?x¤?[Ü?€Üè?ð?ÀÅï?ð?ð?@ðî?Ê?SÌ?Pí?À{ï?oî?€…î?@²ï?ð?tí?Àùï?uí?ð?À¯ï?ð?@¬ï?ç?À¢á?ð?ð?ð?€Òî?€÷ï?öí?†ë?/ì?@ôî?ÎÕ?€«Û?@Xï?À†ì?Àøë?¾í?ÀGï?@Ùï?ð?@ûï?Eí?XŸ?0†?@¦á?ð?ð?ßî?@nï?ð?€¨ï?Ànï?ð?ð?¼ï?ð?ð?@õï?€þï?€ˆì?mï?€,ï?€!í?ÀÕí?ð?ð?ð?ð?ð?ð?€nï?€Kî?ÀWî?€Šï?Ñï?Àîï?ð?ð?Øï?@Dî?@{î?@¥î?@4é?@~ì?€‚î?Àì?€Åï?ð?ð?ð?fì?@”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âí?ð?ð?ð?ð?ð?ð?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?À6í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•è?ð?ð?ð?ð?Àýï?ÀDç?0˜?åÇ?Êï?Àvï?ÀVì?xë?€Ÿï?@õï?€ ï?€éï?@Gí?À;ì?@í?ÀEï?€ ï?€ è?@%á?ì?€ðì?À]ï?@Zç?€Aï?Àí?€¶î?€Ìï?@î?@ ì?@pæ?Àaé?ÀŒç?”æ?bî?@ªí?€üé?@-ê?€ë?€üè?õÙ?WÔ?€ë?€Žë?€é?[î?Àeê?@í?@ì?@ïë?@ªè?Bé?@æ?€xÑ?ˆ‘?ÖÅ?vÔ?€Áâ?Àòä?€ä?@‰ä?€iÞ? Î?ä¡?@æ?ð?ð?Tß?¥?Àê?À›å?€dç?Ãè?Á?Ú?²»?”§?Î??€~Ò?î?€ôï?¨ï?Ÿï?€¯î?€<í?ð?ð?ð?ð?ð?ð?ð?Ëí?Àíå?€í?€²ï?ð?@Áï?ð?@²ï?ÀÄî?€ì?€Aì?@Šé?À§é?€eì?ç?€ºë?ðî?@Xê?€Óï?€Lä?@’?ˆ—?ÀÛì?Àãï?ð?@øï?ð?€Gï?€Gï?@ï?sä?ì´?€~×?h×?À?€U?6Ñ?Éç?ÀXç?pâ?ÀKè?€¾é?ïâ?@6î?¬ï?ÀÈî?@hî?ð?ð?ð?ð?ð?€Ìï?ÀØí?zë?@pì?€öå?€ ì?šï?@¼ï?ð?ð?ð?@ýï?oî?@ûï?zï?Äï?€éï?€®ì?!í?€Qï?ð?8ç?@‹ä?€ºÔ?@~æ?N°?`x?Jß?óÂ?€U?°ƒ? Æ?/Ú?@†ä?¯í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€–ç?À&í?ð?Õï?@ç? ã?€þÓ?h?Àâè?ð?ð?ð?Àâï?€uí?ÌÕ?€?Àxâ?ŽÉ?€“?(œ?TÅ?€/Û?ÏÛ?„Û?Î?¶?€Ð×?†Ä?À÷ç?@<ï?€èæ?̹?¹?ˆ£?`§?Gã?@öï?ð?ð?ð?~ï?@Mï?À9ì?z¹?€wÖ?À_î?@òï?ð?ð?€Òï?À¸î?Ðï?ð?ð?ð?@¥î?€Òï?@²ï?€‹ì?<·?úÀ?ð?€Žï?@²ï?À´ï?@±ï?ð?Àjî?ÀÅï?Ùï?À7ê?@öà?€§å?€3í?À=î?gí?óï?€tï?ð?@nï?Yí?€…Ó?£Ú?€XÐ?ð?ð?×ï?ð?xï?ð?ÀÅï?æï?€Åï?Ìï?ð?ð?€„ï?¼ï?À~ï?ÀQé?€¾ë?Èî?ð?ð?ð?ð?ð?@î?ð?Àí?@¾é?@Âè?€øë?€äë?€Ëì?À#ì?Gë?À™í?À[ê?€Ïï?Aï?€ì?€ýî?@î?€fï?€¸î?ð?ð?ð?§ï?äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?À?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜î?[ï?ð?ð?ð?ð?ð?×í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êè?ð?ð?ð?ð?ð?ð?«Ü?Pµ?€»Ú?@-í?@Éï?@€î?ÀÑî?€ï?¼ï?ð?Àwï?@©î?Àî?ïì?@•í?€{ï?@‰ç?€Wì?@8â?@ ï?@™ë?dí?¥ì?€Dé?@‹ì?{ê?€î?À#æ?ïæ?öí?Ùê?@„ë?@»ï?@.í?€îç?€žï?€+ì?@rä?ïå?è?€Ãå?Pã?À”ê?À î?­è?€Ìè?ÀŠì?Àê?ë?À ì?€®â?çÞ?à‘?à®?CÄ?€éÞ?ÀÝæ?Àßí?yí?À'î?ð?@_ï?ÀÝí?@Aî?ÀPí?ÀGé?ûÔ?H¢?è•?À¦?pƒ?Àà?Àªé?cæ?„µ?€s?Ô«?”¸?Eæ?Àê?@ ì?@Mç?$Æ?€ÀÚ?@\é?æÏ?}Ê?M×?£Ê?r¶?€¤Ú?Ùï?À×í?®í?ð?ð?ð?ð?ð?ð?@öï?Ùï?ð?{î?À³é?€€Ý?Àˆë?¿í?À¨í?@Fê?àí?ð?Ààî?fî?€“é?Óë?óë?ï?îé?@áæ?ÀËî?@\í?í?@…î?ðá?€c?$Ã?¿ï?@òï?ð?ð?ð?ð?€ìï?À}ï?Àaá?8’?[ê?ÀÒí?ÀCë?€Æã?€Šå?€Vì?€9ì?@Ùî?€ í?@0í?Áê?€ýí?óï?ð?€ìï?ð?ð?ð?€ìï?€]î?€àë?Àšë?€×î?é?@¨ê?€Íì?€†ï?ð?ð?ð?ð?@ùï?À´ï?ð?ð?@×î?€¸î?€Ïï?Àäï?ð?Àôì?*æ?€Ùè?€§å?@uí?ËÅ?À¶?À†?ð‹?!à?€…Þ?À3ã?»ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?!í?Ø?Àÿâ?€.ã?ñä?À7ë?€@ï?€¾Ù?ûä?ð?ð?ð?€]ï?À‹ï?€$Ü?`©?3Ç?<£?(?X˜?lÉ?€pØ?†¼?½Â?@Éå?@ï?@Xê?˜À?Àáä?4Ü? Â?Àãê?@°å?§Â?×è?ÀÈæ?Ä®?@t?h¨?€,Ó?À¹å?@êå?@<ì?€eí?‹ï?Âë?ì?Àqì?€Ó?§Æ?ˆÆ?@íë?{î?€*ï?€éï?€éï?ð?ð?ð?ð?ð?€›ï?fî?À ë?BÇ?Ð?@è?Àfï?À²î?ð?À(è?Àòï?èï?€Íï?Àë??ì?éî?€Ïï?@eï?ïî?Àï?Àïï?@…ï?ð?Àøï?@óï?€×Ú?'ë?€¿Ð?Gì?@µï?ð?²ï?@nï?€Õï?@Ëï?ÀÓï?ãï?@æï?õï?ï?@Uï?òï?€Éë?5ï?ð?Àßï?ð?ð?ð?ð?ð?€î?ð?@æ?€þê?€nï?oï?€ î?Kì?Àî?€Ùí?Àˆé?ÀOí?ÀÅï?€ýï?ÀŒì?@*ï?ï?ð?@Öï?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?Àþç?ð?ð?ð?ð?ð?ð?ÀÂï?@šè?"Ï?À¦í?@Þî?€nï?@Dï?ð?ð?ð?ð?À ï?í?áí? ê?À í?rî?Áå?çç?€Úâ?ê?@ï?@zí?íí?Àöë?€âî?€ë? æ?À­ä?ë?@ýç?@|î?À1ï?Úë?¥è?˜è?€¨ì?€ï?Àªï?²î?@©î?€îí?À"î?€²í?Qé?;ì?€£î?õì?€xé?@†í?@Ié?À°à?¸í?é?Åæ?òç?@–î?À™î?cî?@Ùì?À’í?@Eï?@xï?óï?@“î?€ï?Eï?@ñì?€Ýé?ÀMç?2±?¡?l¸?nº?˜·?¸‘? x?˜—?€æ?À¥à?á?Àßá?€.ê?]í?åé?Yæ?@“ç?ä?Jå?@õê? æ?€þá?€°ç?@—è?pë?€ìæ?¤?`‹?À8à?Àeé?€Óî?ð?@=ï?Gï?þï?Àâï?€ûï?À˜ï?Àï?úï?@Ùï?@Ùï?€Âï?=î?«í?@oî?@€ê?Ÿï?Àï?À²ï?Àdï?à?€Zí?Àï?Kï?€Ìï?ÀUì?À@í?Àüé?@Çî?Àäê?€®ì?ïÊ?«?`?}?¼°?Ä?@¥í?À ï?ï?þï?ÀÅï?ð?À‹ï?€Eï?@xì?–·?@+å?@ ï?€Mï?Òé?€:í?=í?©í?€ƒì?€äë?ÀÛî?€-î?€™ï?€ùï?ð?ð?ð?ð?ð?Àaí?@2î?€õì?À¼ë?Àêî?@{ê?À5ç?@ìï?ð?€×ï?ï?ð?Àâï?ð?ð?ð?ð?ð?€éï?ð?ôî?@¡í?Fì?Àóä?€3í?uí?À1æ?€Ý×?€Pæ?€ªÒ?€PÒ?S?éÂ?Ààè?@lã?€ÛÚ?öØ?~°?¬ª?þÁ?€gÞ?À¾â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ÇÚ?@×ç?îî?ð?ð?ð?Àcä?€3Ý?ð?ð?ð?Àuæ?€²ï?ÙÛ?P‘?Ài?ÜÀ?$æ?@må?®Í?áÜ?)å?€Eå?À«ì?@,è?Ì ?€â?°é?¸š?@ç?€lí?@Qä?JÖ?ÀWï?ÀÊì?€sì?À¢ç?³?< ?DÓ?@Ñâ? Æ? Þ?€9Ô?xÞ?êâ?^²?CË?Àöî?@Oï?€Íì?ð?ð?ð?ð?ð?ð?«î?¹ï?€Ëî?€¶î?€Ö?_?@ké?Àcé?€[ï?@¨ï?À„î?À¤ï?ÀBì?ð?@hï?€çï?€Èî?ð?ð?4í?ð?ð?ð?ð?@ôï?@Êì?€â?9é?@Câ?Ø?@»í?À›ï?†ï?ð?–ï?À»î?ÀÛì?Àæï?€¸ï?€˜î?À7ï?hï?Àî?À"ì?@}ì?Öï?@ï?mï?ð?ð?ð?ð?ð?ð?ð?ð?@ë?ÀFî?ð?ð?ð?ð?@ï?ð?ð?Àï?€}î?ìí?@`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?€ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?@Tì?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ûî?ð?è?@¼ï?ð?ð?ð?ð?ð?ð?ð?ð?À‹ï?@sî?€ßî?€êï?ð?ð?ð?ð?ð?Åï?@Æì?@+ê?@ßê?é?À ê?@›í?<é?Àäæ?€áé?€3î?î?î?ð?€xï?ÀKî?€2î?€»ë?€¢ë?Àë?@æì?Àÿî?@ í?@Žì?€ñç?€è?@Mí?€ï?€oë?@^ì?éæ?@Eí?ßë?Cê?À$ê?€í?ð?ð?¦ë?—ç?€Òå?€)ë?žè?À©å?€{ï?À“î?À5ë?uì?€¡í?€)ï?Àjí?À}î?€xï?Àï?@£ï?Ûï?Àêî?À¨î?@Bì?ãë?€qç?žç?€æ?x“?€S?P™?u?€üØ?€òì?@î?Àšì?€"ä?À¹ë?À+í?€Xè?@Êë?Àé?ÀÛê?ðç?€é?@í?ÀWë?€8Ö?x›?Ê×?À«ç?€ªÕ?È ?$¬?€®?€ Ó?€!ã?ÀIä?€ÏÝ?Àaå?Àáæ?@]æ?Àtá?;Ñ?²?Ê?€éÜ?ÀŒì?€÷ï?ð?À¤ï?€õë?ð?@5ï?€í?€„è?@Dï?@•ï?øï?ÀÅï?°ï?@Ùï?€Xï?@Ýí?Àì?€Kë?€[ï?›ì?@çì?Àpï?ÀÅä?ØÚ?’Ì?À·?@ná?p—?"Â?€žä?ÀÜï?Õî?ð?@ï?åï?€?ï?€Ïï?@ï?À»ã?ª?0˜?Öì?Àî?€¯î?À§î?˜î?î?nî?€”ï?€¥ì?À4ï?@úï?ÀËï?ð?ð?ð?ð?ð?Àï?€Âï?À’ë?€sâ?€ á?é?@þì?€oé?@Sæ?@œî?€6ì?ÀÑë?@Ûí?ð?ð?ð?ð?ð?ð?ð?Öï?²æ?Àƒè?€ÿî?€Kê?ð?ê?@mä?#æ?@åé?ä?šî?@Ùï?À¢å?%Ç? }?Àç?ð?ð?ð?ð?Òæ?½Î?»Ð?2Ç?ÀXæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ë?PÛ?ªì?ð?ð?¥î?î?@Pä?ʺ?€Ý?€³ï?ð?¨í?€‚å?ð?€XÚ?`~?Ĩ?€§Ó?ìË?€?å?’ß?@Oæ?€…í?ð?€ Ô?€Ð?5ï?@Öê?·Ï?€î?Àëï?€òÝ?@¡à?ÀÊï?€î?ð?Kì?@é?ÐÇ?0“?´¨? º?·?€¢?¨?9Ð?@ï?@ûé?í?€0ï?ð?ð?ð?ð?ð?Àüì?€ï?@}î?@˜í?€)Ö?Àé?€¬ì?@îï?Àï?€|ï?À,ï?ÀÐï?ð?ð?@Ôï?ð?ð?ð?ð?àï?À¤ï?ð?ð?@hï?Rë?ˆê?Vê?Û?-Ô?ð?¥ï?ï?ð?lê?ì?@0î?@|í?€†í?@Òí?À«î?Àôï?Åï?¥î?€êî?Äì?@Ïî?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rï?ð?ð?@¹ï?ð?€¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øî?ÀÝî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€(î?@èí?@œë?@7í?@ì?~ë?€ í?²î?ð?ð?ð?ð?ð?ð?ð?@ªï?@oé?ç?€nç?\ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?ð?Ànï?Èï?ð?ð?ð?Àüî?„ï?ÀÊï?€Lï?@½ë?8ë?@dí?€Êï?Àqî?@üí?ÀÐï?oï?Øï?ð?€‹ï?©ï?ð?@Ãï?€¨ï?Àœî?€8ï?À î?üì?€‡í?Àì?@ì?€7æ?¬ë?Àbë?€£ê?€ßé?@‰î?€4é?À¸í?uï?ð?ð?ð?ð?@Ãï?Ïî?³ì?6ê?€Që?@sî?Þì?Ãê?Àÿê?À^ì?€ìí?@Kê?Àiï?@yï?@\î?ÿî?ï?@þì?€èï?Àî?€5î?äá? ß?€ûè?€ Õ?€ Ý?€*â?@Iè?€Ãí?Ànì?@sæ?€é?Àžé?€Bí?é?Àéê?Àeì?Àtê?€Žë?À;ë?Þè?À/ä?€'Ð?€óá?À9ë?@‚è?€ää?´?h?ø¡?p?MÉ?iÛ?æË?t?@t?Ј?@¥à?_Ã?³?¬ª?¡?´¬?@?X¡?{Î?À‡è?ð?ð?ð?#ï?Kî?À›ï?@’î?¢í?nè?À¿í?€)î?ð?ð?8ï?ð?ÀÀí?8ï?€®ï?wï?@þî?˜î?€(ë?­ä?îÁ?0ƒ?€“Ò?Ĩ?É?Àí?ºï?ð?Nî?€öï?@Úï?ð?ð?Àqî?@~í?˜Æ?aÕ?@Mé?éí?€Ãí?”ì?áì?@ê?€5ï?ð?ð?Ðï?ðï?èï?ð?ð?ð?ð?À§î?¶í?À`ï?Wë?Cï?„ï?À0é?½Ü?€‡ç?oí?À$í?î?@‡ì?Àëï?ð?ð?ð?ð?ð?@”î?€Kä?À8á?Aë?@pë?À¹î?€>ï?ç?Då?€Ïï?À'ë?ÀÈì?ð?ð?€•î?Àˆã?`›?üÇ?0±?€Ñì?ð?ð?ð?ð?Mé?ºÕ?€"Ô?@ºæ?ÀÇí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶ê?@·æ?€\à?@¦å?€ÿé?Àëæ?kä?€¶à?lÍ?@x?WÚ?€îì?€yì?€ Þ?þç?±á?W? {?Š?€z?†?iÄ?à¸?€LÒ?@9à?€å?æ?dï?6ï?Àåî?VÌ?ÀÕè? ï?6ì?Àìê?Fí? í?@âë?€!î?ð?ð?ð?ð?Ààï?@éí?\¢?Ø?€å?@âç?Pœ?€)×?@í?@¬ê?¢î?ÀTï?@Àï?€¨ï?Àï?ð?ð?ð?€ í?@§î?@Ïé?þµ?œÅ?@‡ï?ð?¹ï?€ùï?@;ï?øî?€iî?@‹ï?ð?ð?€âï?@¬ï?@hï?@ìï?@ãï?ð?ð?ÀRï?@ñï?@þè?€Éæ?cã?BÏ?Àä?À¤ï?ð?ð?@¬î?@uí?€¥î?ï?Àìï?@Fï?Àï?ÀØî?€«ï?À ë?Àï?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?Æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áî?ð?ð?ð?ð?ð?ð?ð?8î?€6í?À$ë?ð?€Çï?Àçï?ð?ð?ð?ð?ûï?€Íï?ð?ð?€ùï?ð?ð?À?î?ä?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?Àüï?€ùï?ñï?ð?ð?ð?ÀÛï?Îî?ð?ð?ð?ð?€8ï?À•ï?@Yï?€Ãï?ð?ð?×ï?ð?Àìï?ð?ð?€ï?ð?@°ï?ð?›ï?@hï?ð?@Ïë?€Tï?@ÿî?@Gì?@Qí?€‹ã?ï?€ï?€Üé?€3ë?Ùï?ð?ð?ð?ð?ð?ð?ð?@ûï?@Àì?ÀÉî?@ï?@'í?€rï?«í?€í?Àí?¶î?€Öï?;ï?Àï?€¨ï?€×ï?@vï?@‚î?@Té?ÀÓì?€¼ä?Mç?ÀUä?à’?@r?t©?€jà?ÀÃí?}å?€7ë?Cê?@6è?ì?ÀÝî?À}ë?À¹ë?[æ?Æå?ì?@Âè?ÀÝé?€Tì?Àªí?@jî?ÀÕì?€âì?€×ê?#ë?À‹í?€’ì?@Òã?€‘Ý?€gç?(î?ÀVì?@|ë?¨ä?óÂ? Ž?[?—á?À˜ë?€»?àr?°˜?–°?\Ï?V¶?¨—?С?Ø“?€°Ó?@¥á?þï?ð?€ï?Àžï?@³ï?€ê?€Bì?@*ê?Êì?³ï?Àî?@/ï?Àå?@ï?@óê?‹í?@dï?@tì?Àeì?À®î?ÀÌï?@úì?À…é?”Ê?ˆ´?¾·?a?@ ?næ?Àlî?€•ï?ï?€·ï?ð?ð?À·ï?ð?@í?@çï?àâ?QÄ?Àž?ÀÃà?€êâ?@Qà?g×?Ôê?ð?€ôï?Àòï?@í?@1ë?í?€¹ï?@ï?ãî?ð?@òë?€¸î?€¦ï?À¶í?^ï?@¦í?ÀÉè?ÿØ?zÂ?Àpä?¯í?À´ï?mí?Âï?éï?ð?ð?ð?îï?ð?@ï?€Nì?EÙ?Ïå?€Wî?€Þî?üê?ÀDè?@«ï?€‹ë?¥ï?@ýï?€Þî?‡æ?Ƹ?@¸?J? v?ßÎ?³Ã?ºÈ?¹Ù?€…ä?Tï?ð?ð?@Aï?@öç?€ÈÝ?Àôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8í?€Ùï?À>ì?™é?€¤î?€î?ì?Î×?˜³?À½á?ß?4Ê?Àl?4?è¢?`¢?`s?(¬?x“?Ô ?èÌ?ùÒ?¤¾?¹Î?€õÑ?FÏ?æ?®ì?€^á?À á?Ç?€òî?À¢ï?Àiî?lè?Å?]î?ð?ð?Ãï?ð?ëî?Àßí?Àï?õé?À¹î?ð?@÷ï?@‘à?¢¹? ½?êè?€ï?@[á?A?€ãÚ?‹ï?Íî?€‰ï?@sí?@¼ï?@ï?Àûï?Àç?À¿å?ð?ÀZï?@]í?À³ä?Њ?@qé?ð?ð?@Ãï?@—ï?€¨î?@úï?@_ï?î?³ï?À?î?.î?ÀBï?ð?À]ï?ð?ð?@hï?tí?†í?Äì?ÀXå?ËÒ?À¸ê?ð?ð?ð?ð?Ïï?@Þï?Àî?À$î?Àíï?ð?À@ä?€×ï?ôî?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?@Ñë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?ð?ð?ð?ð?ð?ð?ð?@Çî?@_í?ð?ð?ð?ð?ð?ð?ð?ð?´ï?ð?ð?ð?Êï?ð?@ï?Àåî?@Õá?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?éï?ð?ð?ð?ð?ð?€áï?&ë?ð?ð?ð?ð?ð?@Þï?ð?ð?@õï?ð?ð?ð?ð?@Ãï?€Ûï?@+ï?ð?ð?ð?ð?ð?ð?Àïï?€úï?Àïï?Àí?né?ÀÀê?@Äï?€ðí?€{ê?€yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?Àî?À«î?@¿î?Àßí?Éî?hï?ð?ÀŒï?À˜ï?@Åï?@Qï?€|ï?Àmì?@‡î?@ä?€ùè?€aé?€aá?i?€éÙ?üÞ?@Hé?ï?Àbï?Àgî?€Œë?Õç?€Dê?‘î?Ôí?ÀÍê?„ì?Õè?Àä?À÷è?ÀFé?€Êì?oî?oê?—é?€'ê?À1ç?À:ë?Ìë?€éî?ÀÐî?Eé?@¤ç?@î?@Dï?Òî?€Êí?@Üë?@õé?À²æ?€×?‹À?Â?êÄ?T¡?@m?€U?@k?ð½? {?Ë?€éæ?€Fã? ›?p ?ø›?Œ¬?€uÐ?À²á?€âç?@ ì?Àxï?ð?{î?ßë?À¿ê?@•â?Àáã?€:ì?8í?Àõï?@Ïï?@Øî?ð?@•ë?@î?ÀÜî?À)ï?€Çï?Àñï?€‰ï?ð?€wé?À5ï?@©í?€1ë?ÀÝî?ÀÒí?€lç?@‘ì?€Wí?@Ùî?€]ë?‰ì?€ Û?.Ð?ž?À é?À€î?@¤ï?@¸í?ð?ð?ð?€óí?ð?@(ï?À¿ç?˜ë?HÞ?l¬?@l?`?¬?dª?@…?öâ?ð?€°ï?€î?@òê?“î?€‰ì?Àäî?ï?@lè?Àµë?ÀÙî?@rë?@Ðî?@]í?Äë?€JÝ?ÀÆë?Àêî?Þ?ÒÏ?€nÒ?¢ç?€ºï?€™ï?=î?ð?Úï?ð?€Xï?ð?ð?ð?€¸ì?€Äí?€(î?¨ï?Àzï?`ê?€7ï?€Âï?ÀËï?@öã?€ôØ?ÎØ?©Ò?@qî?€‹Ñ?§Û?Àxï?@(î?]æ?¬É?ïÎ?€Òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&ï?ÀAï?À•ë?€ÜÙ?@Áç? à?Àåì?ð?€‰ï?À}ï?€îã?=É?@?˜•?¸ ?T?€Ó?€E×?€.Ó??Ò?€!Ò?„Ù? ³?¨Ø?üå?Àcè?@âç?€ÅÑ?@zí?@Áï?Àæï?€©ë?€@è?ÀÎï?€âï?ð?@¥ï?ð?€×î?À›í?Vï?yã?ŒÔ?€zÕ?ïÖ?°š?T?€Dë?1ï?Òï?‘ß?F?‡?¢°?ï?@˜î?€Wí?ï?ð?ð?î?н?îÔ?@ï?€…ï?Àï?@oé?`°?Àçï?ð?ð?ð?´ê?ð?ð?ð?ð?ð?À0ï?€Ãï?@ªï?@”î?€+ï?ð?ð?ð?Àšï?Àæï?À‚ï?€£í?Yå?gà?­ì?¥ï?ð?ð?€\ï?ð?Àâî?€ï?ð?À+ï?@Dä?úæ?ãï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—í?§î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iî?@ñï?ð?ð?ð?Àœï?€ßï?ð?ð?ð?ð?ð?ð?ð?}ï?€î?@kê?=å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€|ï?ð?ð?ð?ð?ð?ð?À-ì?À‡ï?ð?ð?ð?ð?ð?ð?ð?@Îï?ð?ð?ð?ð?ð?ð?òï?ð?ð?ð?ð?ð?ð?2ï?@ûï?@ ï?@mï?€Œè?€Ží?À_ì?ÀPí?@rí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªï?ð?ð?€8ï?€âí?Àï?@æí?@ ï?ð?€ƒï?@yï?@ï?ÀÔî?ÀAï?€dì?Àí?€ê?“Ë?€è?@5í?áÍ?ˆš?ÈŸ?Àâ?£Ü?æÇ?€NÒ?€pë?@î?Ûï?£ï?‰ï?ï?Àïï?ÀRï?@lï?€Wï?€Eï?4ï?À@î?ì?Ýê?Êë?Rç?€«ë?þë?5î?€é?¦ë?òê?\ê?€ì?€Çé?ˆí?pì?€`î?üï?À»ï?À»ï?€Ÿî?@?î?ÀGí?©ï?€ƒî?Àî?À|ï?€³ï?€å?€2Ò?p‚?æ»?€•Ó?@Lá?€Yâ?nÎ?vÕ?€òØ?ŸÒ?)Ù?X?nÒ?@Dé?-ï?Àì?H¯?Ʋ?€³Ð?’Ð?àÜ?@í?À¾î?@‘î?€Çî?@¶ï?ð?ð?ð?À+ï?€Íï?ÀÈï?ð?À˜ï?À[ï?€|ï?@äï?*ï?€)ï?€Ræ?Àeì?€yé?€Õæ?Àê?Àâã?Àšá?@ ì? ï?ð?À£ï?€Úï?ð?@Jí?€7ì?fï?ð?@î?ë?€òì?À³æ?€»ì?ïÀ?¢à?€èï?\ï?Àæí?Àï?5î?Àï?ï?Ïî?€Më?å?€hÚ?p¢?€g?@n?@Ûá?€vç?!Ë?€Ñà?´ã?Ø?ÀÈã?@5í?@Gí?Øì?_ì?€~ë?@;ë?ÀQæ?@Ïã?€SÚ?™Þ?@æ?€™ê?ÀCî?€Yî?€æ?À”?@©ä?€èï?Àöï?Àöï?ð?Àžï?í?@8ï?ð?ð?ð?ð?ÀZî?@÷î?€|ï?@`í?€Ñî?ð?î?@Yç?>ë?ð?À¼á?ÛÞ?Àôï?@³ì?È™?€æÞ?ð?ð?ð?€í?­?€Ù×?Àˆé?@í?^å?ÀÏì?Ñç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€Tå?4ß?€+Ô?ªä?ð?ð?ð?ð?ð?ð?ð?@âî?@îé?€æ?ôã?xè?:»?pˆ?$Ý?€Mì?@×â?Á?€Ó?èÖ?JÛ?6Þ?€æ?@¿ï?Àæï?@ç?0î?€xî?ÀÛï?@¯î?@Œî?Çï?ýï?ð?@òï?€©ï?Àøï?¥î?€ ï?@–ê?Àë?€˜Ü?æ½?ð‰?€hÕ?$¶?8È?€öå?ÀÀí?~ï?€*Ü?˜‘?@{?€ìÐ?@Åå?€Žî?Àyì? ï?@æï?À|ï?Àóï?@í?Àwê?€Ãè?@=ê?€¡ï?Àí?€§ë?pš?ÖÆ?ð?ð?@†ï?€?ï?Àîï?ð?ð?ð?ð?€Ãï?¥ï?€+ï?@Üï?ÀÖï?€ûï?ð?kî?@¥ï?@rï?ð?À<ï?@•ï?€ í?@öå?Àà?ð?ð?Àîï?À™ï?@ï?€qï?@ðï?ð?ÀÓî?“Ñ?@æë?¹ï?ð?ð?ð?ð?ð?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?Àjî?ð?ð?ð?ð?ð?ð?ÀSï?ð?fï?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×í?@êï?ð?ð?ð?ð?ÀÑï?ð?ð?ð?ð?@ï?ð?€Ãï?€òî?À“ç?@„ç?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?¥ï?ð?ð?ð?ð?ð?ð?@—î?eì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäî?ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zï?¶ï?€”ç?@„î?À`î?ÀJî?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?öï?ð?À×ï?Àíï?€¾ï?@³ï?€íí?@Œí?€“î?@Ûî?@™í?€¼ç?€î?€7î?×ê?€ì?€„ç?lä?Ûì?Àÿë?³?2?€{Ü?;í?@Éà?Ç?o?¸?€”î?ð?€¯ï?@Äê?yã?€¬Ù?þ²?vÍ?  ?|¦?†?PŽ?H?°„?¯?@âç?@Žî?@:î?€Éî?ð?€õï?®ï?ð?Gî?ð?@“ï?€Óî?€hï?Àëï?í?@hï?@Kí?À»ê?€í?€ ì?‡ì?5ë?”ì?ÀÁí?í?@–í?\ì?Àµì?éç?èí?ð?@”ï?€¡ï?Àî?€rì?@ªï?ð?@—ï?ð?ð?î?)î?¶ï?7ì?€¨ç?@±î?ìï?@ï?@]î?€Ãï?€OØ?€[?š¸?€WÔ?À å?@à?@)à?©À?À³?€+Õ?¯ï?€Íï?ÀŒî?áÖ?±?@|ã?÷Ô?ÀXê?ð?ð?ï?€Tï?À4î?ð?ð?ð?ð?ð?€Xã?5á?@©î?Àåí?€ í?•î?@Mï?Àfê?€³ì?@Zï?@=ë?Ôê?@wî?€Šî?@„ï?€Òï?€¬î?€ùê?€•î?À‚ï?@ï?ÀÏë?À~ê?âî?’ì?@Lì?€Uí?œë?€`é?€Žì?¿Ò?ÂÁ?ð²?›Â?Ô¦?„è?Àï?Àšï?“î?€Ìì?Àöì?Àœê?4ì?Àç?@zí?zÁ?\°?Àe?p…?з?Л?Àg?¨¡?(›?–?¨³?æÀ?LÍ?¨ž?/×?§ê?@¢è?ß×?@ªæ?`¡?8’?çÃ?@îè?ÀIè?€¶à?@y?<ª?ÀAä?ÀKë?î?ÀSï?€|ï?@¹î?€°í?Íï?ð?ð?ð?ð?ð?€tï?€ï?Èï?@¯ï?hï?€×ë?èç?@Hî?Àæ?€yä?@Ñï?ð?Àÿï?³Ø?€ûÝ?À=ê?ð?ð?ð?Àoå?°?‚?F»?€GÝ?°Ñ?ÀÌä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?€Ií?€¹î?ð?ð?ð?ð?ð?ð?ð?ð?€üï?—ì?\á?ÙÂ?q?;Î?À.ã?6â?€á?TÒ?Àìã?€#â?@Eè?€sï?@šì?€èè?Àsï?ð?ð?€‹ï?€¯í?€yî?Zï?Âî?€ðï?Yï?cï?ð?À¾î?@ï?ð?@¿î?Ûî?Àæî?¼î?@mä?€Ü?€ã?€¸Ø?FÊ?ˆ?@¢á?ÀÝí?zÞ?€È?@c?0†?€)Þ?À?ï?@úè?´Û?À¶è?€“Ö?oÈ?nµ?þ°?Àa?€•Ò?ð?ÀÑï?@Âï?ð?€Yé?€¿î?€´ï?@Ëï?Mç?€=æ?ÀBè?€ðè?Àyî?@ï?@¿ï?*Ð? Ê?€Ëï?ð?ð?ð?@¼ï?ð?À©ï?€Üï?ð?ð?ð?@Èï?<ï?±ï?ð?€Nï?ð?ð?ð?@ùî?ð?ð?À{î?ð?Àïï?í?Ùâ?zå?€¼ï?üæ?Àdä?@æ?Àñï?ð?ð?@†î?@°î?ŒÙ?~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ùï?ð?€ï?@¼ï?ð?ð?ð?ð?Àsï?ð?ð?ð?@ï?À(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@nï?€ î?€™í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þî?@Îí?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?À_ï?À‡î?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?€´ï?€©ï?ð?ð?ð?ð?ð?ð?Àií?€bî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?€êï?sï?€6ï?@Œï?@ í?@]ì?»í?è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Œï?Àñï?€üï?Àæì?À%ï?ùï?@Vï?@áï?³î?@ï?ÀHì?€¨î?€ ì?€Šë?€Sí?€öé?€°ë?@Ñí?Õê?€Ìî?²ã?€‹ß?È ?P§?4¨?ܺ?€hä?Ýî? ï?€0ï?ŒÉ?ºµ?€°ß?ð?ð?ð?ð?ð?Cï?@ªã?€½è?Àýê?@åì?ÀEê?€+ê?€ë?<ß?EÖ?p”?‹?À\ä?Àtî?€[ì?_í?@íî?Çî?€~ï?ð?ð?ð?ð?@øï?@øï?ð?€ðï?ð?ð?€Ùï?@¼í?€cí?À…ì?Àgï?ÀÖì?Àáî?‘î?À`ë?À¹í?¬î?†ë?úì?ÀBí?ÀÓè?À,ï?Àçî?ð?€øî?€†î?€í?Àwî?@õï?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?ð?@øï?À—æ?”Ï?ˆ?ð–??6Ò?@fä?bï?¯ï?/î?@÷ä?@Dã?@Šì?Àôç?Àõâ?¬«?6³?hÚ?€U?Ð?@úà?óè?¬ë?ÿÚ?Ò?ޱ?‚Â?€DÛ?óÅ?Ð?¤ ?Àæâ?Ê?ãÜ?€ Ð?€wß? y?à?‚³?€(Ò?ð¾?@ á?@øï?>ï?Vë?€‰î?€ðï?Íï?ð?ð?ð?ð?ð?Êï?æí?Œï?€Ãï?Eï?î?À?ï?@Pè?Àßç?@Úï?€Ëï?]î?€öã?†ë?ƒÖ?p”?Àéå?€õî?ð?ð?ð?ð?À‰î?~å?@g?8Î?Ûè?€âÚ?@Sç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?€cî?€Ÿå?ýÉ?Ø•?'Á?@‚ç?@Ìà?€Üé?ÀÈí?À¶ã?@žâ?@âé?ð?ð?ð?€ßî?úï?@ùï?ïí?@|î?"é?€è?@þï?@,í?âî?òî?€Êï?ð?Àèî?@oï?@²í?@¨ï?À‚ï?€>é?ýï?€}ì?@×ê?Vê?@ì?€ê?€Bã?€œê?Gß?€Oì?[â?0¯?ÝÃ?Àeà?@•å?€ùî?@ì?À‹ï?ßí?€í?Àyè?³Ü?·?E?~Ì?€ØØ?ê?€Þî?Vî?€Tî?Àmë?ð?€Íï?è?~ì?í?À˜ë?€¸ì?@Ñî?²í?à?Ê?ÀŒï?ð?Cï?@Œï?@3ï?ÀÔï?Êï?ûì?ð?ð?ð?À°ï?@üï?€øï?ð?ð?ð?ð?ð?€øï?€¸ï?ð?Ÿï?ð?ð?ð?@î?€å?€§Ù?À¶æ?€Þì?ÀÆæ?é?ð?À÷î?Àÿï?@Ýî?€™Û?€~æ?ð?ð?ð?ð?@í?ˆî?€îï?ð?ð?ð?ÀWï?Àÿï?@Jï?€Þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?À©ï?€žì?žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?Pî?ð?€Öë?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?@6ì?@Îê?€oì?€ïï?ð?ð?ð?ð?ð?@ýï?ð?ð?ð?ð?ð?@±î?Àéï?@üï?Èç?€Cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?À¯ï?@õï?ð?ð?ð?ð?ð?ð?@ßë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{î?€Hï?@õï?À—ï?Àˆë?€¾ê?€‡ê?€’ï?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kï?Ñë?Àží?@Eê?€õî?ñï?€Yî?€Hï?Ÿï?@4î?Xé?€.í?À”ë?@Îê?€2æ?€nï?ÀÆí?€îè?@qâ?Pæ?Àÿè?@9ç?€Wë?€Þ?Ò??<¸?§?èÕ?°Û?À¾å?ÀXå?Àüè?ä?°“?r?àz?€l??±?Àeé?ÇÝ?€Þ?€ê?@‰í?`w?€éÙ?€™ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~ï?ÀÞï?ð?€àï?Àé?€\Ò?T§?F?4Å?@åé?À!ê?À³ê?€ï?€Óï?@€ï?Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?@Áï?€„ï?fë?Àeí?À(ì?ÀÝé?Àpí?7î?åì?Vî?€Yí?3î?@Kí?€"í?@¿ï?@òï?@õï?õï?@æï?Àüí?€rî?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€]ï?€…à?òÕ?@«? ‹?Œ©?6?FÄ?À‡?€V?ˆ¤? ž?=Ì?`†? Ž?ßÓ?@á?Àˆâ?@œè?Àœé?ÀRä?…Ë?€6å?€Zê?Àóì?tå?î?€Œï?€ˆï?ð?ð?@¦í?r¿?èâ?@~ê?åë?€KØ?0€?@Áç?€íï?ð?ð?€íï?@õç?Å?{Ï?@Ÿï?xî?@œî?ð?€î?sê?€˜ë?@"ç?@¹ë?Òâ?€¯ì?Àçæ?‹ì?€?ì?@­í? ï?*î?À\æ?Gï?„î?‚ä?@-ê?@gì?@!å?@Àê?Àêã?€Œí?ÀÜë?€žï?@¿ï?2î?@„ï?ÀØî?aë?@„å?á?ÀÑá?@î?öÈ?tµ?è§?Ì?j½? “?€ â?Âæ?€vå?Ù×?4­?àr?©?*Ê?€Ü?@nê?æ?@áì?€Kç?Àaè?€æë?€6é?ßÛ?P?˜Ö?:Ò? …?P†?àØ?ð?ûï?À í?@í?@˜é?€Þç?Àæ?tÒ?ð¥?`‰?£Ñ?¢ç?Àæ?1Ý?>?œ¬?xá?ÆÞ?ô¸?üä?@Då?@‡ì?ôí?€½ë?@þï?À ï?>ï?@õï?@¤ï?€Zå?™ï?Àëï?@Žî?wí?Àtï?@þï?Àêî?€rí?ÀHí?øï?€lí?À‘ä?Àæá?ÀWà?(°?P ?øœ?€ré?@öí?@vî?@¤ï?€¶ï?ð?ð?@_í?4¨?¾×?€çá?€¸æ?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?À–ï?@tã?YÒ?iÉ?Sã?íÖ?Ý?ã?Àðç?@ê?@í?À‹á?€ë?@-ï?@÷ï?ð?Àûï?€qî?Àší?Àí?Éí?2î?€µî?À…ï?@ï?ð?ð?wï?ð?Ãï?@=í?€'ë?Àôì?@Žé?@”è?Êî?Àî?äé?@ßí?Àhï?€î?ÀVî?À·î?€Ëç?/Å?£?Z?ÿÇ?€óÛ?À?ð‚?j?@§é?€”ï?ð?€—ï?€õï?€õï?ð?ð?ð?À ï?iã?`¸?ø¦?YÞ?j¹?€ÀÜ?ÀBê?€¬ï?ÀÙã?€2ë?ð?@;î?ïí?Àüí?À;î?Êî?@€í?€ì?»Ç?€æâ?ð?ð?·ï?ð?Ùï?ð?ð?À©ï?ð?{î?ð?ð?ð?ð?Àåï?€…ï?ð?ð?ð?Îî?ð?ð?ð?@¿ï?ð?ð?Àï?€oê?ÀÀï?€ì?©ï?€¹æ?@èî?€cï?@Dï?àê?…â?@áæ?ð?ð?¯ï?€­ì?@¶ã?Àûâ?Àœá?@´è?@£ì?ð?À×ì?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?ð?ÀÙî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%î?ð?Àœï?—ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?ð?ð?ð?ð?ð?ð?ð?ð?„ì?€—î?ð?ð?ð?ð?ð?ð?ð?€¬ï?ð?ð?ð?ð?ð?ð?@âï?@ï?zæ?@–ï?ÀÄï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€cï?ð?ð?ð?ð?ð?ð?@ví?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ÀÕï?Ùì?€Ië?·ï?ð?ð?ð?ð?ð?@¤ï?Àˆï?ð?‰ï?@oî?äî?@Bé?Àë?€*î?Øì?Kì?–ï?Àùì?ÀŸî?åä?€”æ?@œç?@âé?€Èî?-î?Cï?Àí?¨î?À¼í?À(è?€ÇÜ?@uâ?À–é?€¶è?œÐ?€ÄÚ?$ä?ð?ð?ð?ð?ð?ð?@í?€?ë?€Mí?Zê?€pà?€ßÒ?‘Ñ?Oé?@çè?ÀQì?ÆÆ?Ј? ±?â¾?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?õï?ð?ð?ð?ð?ð?ˆï?eà?ü¹?à¨?Ñ?0í?Ùë?€°î?”ï?À ï?€—ï?ð?Àyï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ï?ð?ð?ð?ð?ð?ð?@¼ï?@wç?€ ë?€-ï?@ï?ð?ð?ð?ð?€¼ï?€ùï?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?€êï?Sï?ð?ð?ð?ð?@ðï?€’ï?À>ï?ÕÝ?€…×?Ј?І?²±?æ¶?°Æ?Âç?åÕ?€e?$¬?€hê?Gé?@Sà?ÓÌ?€˜Ô?ºË?Wâ?€Çê?€Wè?Àí?€hï?@Dï?ÀÊï?ð?ð?ð?ð?€àè?d­?¶?€ØÞ?Lï?@ é?ب?6Å?@¬ì?ð?ð?ð?ð?ð?Fë?X»?­Ö?€lï?@që?@`ì?Àƒï?@Sí?€õï?€î?€Æï?€Nï?@âï?@ î?@}í?@ææ?!è?ãí?€(ì?€­é?ÀÃì?ÀCï?€Çî?€êê?@2í?@ï?€ í?ÀÉí?>ï?@—ç?€ôë?ÀDé?Àžì?Ûî?€¢é?Àåë?@üí?Àé?æÜ?`É?Ò?žÇ?€s?gÞ?¤º?>Ð?€Òå?À6æ?@é?æì?KÙ?@ç?já?€å?¢É?H’?UË?À]í?@°á?Pé?áÜ?Òì?&î?€â?€ë?ëå?Àëà?‚Ó?`”?ÎØ?@÷ï?€cï?€¬ï?€`î?Àï?í?€Üê?¤Ü?HÉ?<¬?pœ?ÎÄ?Ä?uÕ?-Õ?@r?¼¥?À™?ÀÝá?€í?À£é?ÀTé?À€í?@tí?€Åî?ð?ð?ð?€õï?À&î?@í?€Æï?ð?ð?ð?Jî?ÀJê?@›é?gê?Àî?€6ä?¹Ü?À,à?Z¶?0†?3Å?€Ø?€•å?dï?ð?€ìî?@Ãà?ì³?€sÑ?€Fæ?@}ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?€Kî?€ÓÚ?RÄ?t£?rÁ?€8æ?`î?Uã?rã?áæ?Àæ?[ê?Àéë? é?ð?À$î?@ï?Àûï?€ùï?àï?œî?€Ýî?À´î?Àßî?€ï?ð?ð?ð?ð?@¦ï?ð?Žï?@jë?@Jê?cë?Àóä?@è? ë?Cë?ë?Àgï?ð?€~ï?@ í?@Ùí?Àí?@áë?èà?=Þ?Ø?#Ò?ðŽ?–Î?@vî?ð?@ôì?€CÐ?tµ?Y?¼Ó?€åï?ð?ð?ð?ð?ð?€©ï?ð?ð?Åï?@¨é?,Â?èË?J?Ð?€/ì?À¼ï?@Öï?€Qé?Êï?@ƒï?@”î?Àï?@ï?@žé?@¸î?ßé?ü¹?mÛ?ð?ð?ð?ð?€ ï?Àæï?@ïï?@ïï?ð?ð?ð?ð?Àæï?@<ï?€Ùï?€™î?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?@¹ï?ÀÔí?@Þï?‰ï?@þî?~æ?€Ÿë?ð?@Mï?«ï?ð?wï?€oï?Öè?€'Ô?€ìâ?@¬ê?ð?@$ì?«ì?@:í?ð?ð?ð?ð?@Æî?Áî?ð?ð?ð?ð?ð?ð?ð?Óï?ð?€–ï?ð?ð?ÀWï?Àcï?ð?ð?ð?ð?ð?ð?6ï?ð?ð?ð?ð?@¹í?qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHï?ÀDì?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?€âï?ð?ð?@¿ï?ð?Vï?Ìë?Àäè?À©í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À8ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rî?À¼ï?€³é?ÀÑì?ð?ð?ð?ð?ð?ð?@yï?àï?Àï?€iï?'ê?Àjé?@®ê?ùí?€¥í?€¯î?›é?€ðê?@°ë?@ î?±è?@^é?Žì?@&î?ÀHî?÷í?sê?@çì?@ë?@âé?]ë?—æ?÷À?@å?€1è?@má?@Ëæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yï?ð?Óï?€$î?@|í?м?@z?€Óé?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?ðï?ð?ð?ð?ð?ð?ð?ð?@bî?Àoì?qÆ? w?¨Ý?Àní?@¿ï?€´ï?@¿ï?@õï?ð?ð?€Ùï?ÀVï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?\ï?€¼ê?;ë?ë?ëë?Àæï?ð?ð?ð?ð?ð?ƒï?…ï?ð?ð?ð?ð?€ï?€úï?ð?@¥î?Ÿï?ð?ð?ð?ð?@¿ï?Åï?@«ï?€óï?ð?ð?ð?ð?ð?Óï?@1í?DÊ?ˆ ?Ø?®æ?€$è?€ë?¤Ö?€Ý?€¹á?€Öé?€ãê?Ì?ÀXå?Àšå?~Ý?+ì?€Äî?À#ë?¹ï?@óï?@ªï?@Ðï?ð?ð?ð?ð?ð?À|è?€Æ×?Àƒã?Àîì?ä?€Ò?lÙ?À£é?Úï?ð?ð?ð?ð?ð?ð?›ë?€¬Ù?{Ä?  ?@¤?€Ý?Õê?€Ûì?@aï?€Íï?€î?@ïï?^ï?ð?ï?ð?âî?Àýë?@Åî?ûè? ç?@æ?€ìì?ÀQç?@Åì?%ç?€Ûè?Çí?Àî?€uï?ÆÞ?œ¡?@òæ?@ à?@žä?€bá?†Ý?€©í?Àì?€@í?À¯ã?€kâ?@Gí?€eÝ?Ài?<¾?@s?À`?À`?Ã?Àê?€øí?Àî?Àóî?áí?Àëä?€=Ð?€¥Û?è¬?:? Ö?€Ø?å?`Ò?@Òí?À”é?@€í?"î?@ ì?@‰æ?À ä? ¯?€Ó?Éï?Àï?@–î?€9ï?@Àï?Àï?ßî?Àfè?pË?ïÒ?x»?„°?®Á?€ZÛ?Àá?@êå?R¶?®Ð?€Lê?@}ê?Àì?ï? î?@8ï?ð?ð?Öï?yî?ð?ð?ð?ð?ð?ð?ð?Àæï?ÀKë?À`ì?€•í?Àìï?ð?@)ì?ÄË?œ¾?@è?…í?Mì?€ðá?Å? q?€bÒ?€_í?ÀYï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€=ê?€dÔ?Ü ?É?6Ù?zÄ?À×é?@$ê?¢â?@#í?€¢í?‹ê?Oë?€ëî?€Zî?Àõî?@¿ï?@'î?€ùï?ð?î?@^í?À×í?À,ï?“î?À£ï?@õï?@ðï?ð?ð?ð?ÀÎï?Öî?@ï?@-ï?†Ü?:Ý?@Œî?€Oç?Àªî?@Žë?€%î?¿î?Nî?@›î?ÀÎî?@ëë?€ì?Êë?€HÚ?€‹é?Cì?À‹ã?€üÔ?€”Ó??Ì?À?Žæ?ð?ð?ð?ÀØë?úÄ? ?ƒÃ?`v?Îé?ð?ð?ð?ð?ð?ð?@¿ï?ð?™ï?Àúí?qÞ?€ Ô?à‹?@{?ÀKê?@çï?Àaï?Ïî?À¥ï?€é?pé?@‰í?€ùî?€Äë?€Dí?@å?”©?<å?À0ï?€!ï?À1ï?&Þ? Ê?ºÛ?Ãí?Àbï?óï?ð?ð?ð?Àøï?áï?ð?@Åï?@öï?@bï?Àçï?€ùï?ð?ð?ð?ð?ð?@þï?@ˆî?@Éí?áï?@˜ï?@˜î?OÞ?À(ï?ÀÏï?À£ï?Àžï?ð?ð?ôï?@¼í?À)í?¥î?Àôå?À€è?@î?ð?ð?€ôï?ð?ð?ð?@ûï?À:ê?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?€í?ÀÍî?@ï?ð?ð?ð?ð?ð?ð?@{ï?ð?îï?ð?ð?À»ï?@÷ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ªì?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?€çï?ð?€´ï?ð?ð?ÀDï?À<ç?€²î?À`ï?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åì?@,ë?ð?ð?ð?ð?ð?ð?ÀXï?€úï?ð?€çï?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µï?Àì?€½ï?×î?0Ø?€žì?€“ì?@ƒï?ð?€ôï?ð?ð?¿ï?ûï?@ïì?À‰æ?¾ë?Àpå?À¢â?€0í?€Dê?Üê?@Õí?@¤è?ÀIë?Yì?Äí?@xì?@°ê?Àì?€¯ì?Àƒï?ÀÅí?Ïê?Xì?À~ë?@¹è?Aß?@+è?ê?€ñÞ?²á?Àé?Àmâ?‘é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµï?<Ü?ÛÈ?€h?ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ÀGè?@ä?Œ°?tÆ?@áí?ð?ð?Àhï?ð?ð?€ùï?Àùí?@Pî?Àìï?@þï?ð?€êï?€ùï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?`ï?»é?€ïê?Vï?Àüï?Ïí?€òí?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?ð?ð?ð?ð?ð?ð?@ïï?,ï?€»ï?ð?ð?ð?ð?ð?ð?€ýï?@Ÿë?€“Ò?:? µ?ã?À€è?Àê?@Zë?ÀÂê?€¤ê?€í?@}è?@"à?€TÖ?@Vá?€âë?ùî?À»è?@Öë?€•î?ð?ôï?ð?ð?ÀAï?ð?ð?ð?ð?ð?ð?@‹î?@;ï?€Fï?æï?Jî?çî?ð?¾ï?ð?ð?ð?ð?ð?ð?€ýï?@úï?€2ï?Àáì?Ðã?0¿?ܤ?ØÂ?,Å?À?Ü­?¸Î?ÀSæ?¡î?€°ï?À$î?À$å?@Õì?ÀÍë?@æ?Àõá?@eê?€î?ì?@¿í?Öí?ðé?€-ë?€¨ï?@‚î?<È?à ?€¤ê?!ß?@ªì?é?€Ìî?À"ï?ÀFï?Òï?€ä?‰î?@éî?€°â?€‹Ð?@u?€]?ä¤?„²?€Ùâ?+í?À(î?À×í?­ì?yï?@î?‰È?˜–?€åé?À â?@~ã?€cÞ?@[í?€Ý?€aì?@éï?éç?€Õ?LÓ?L²?€U?À‰ã?€uÐ?ÃÄ?Àí?À2î?€´ï?@éï?À»î?tï?Àòì?òì?Àúæ?ÀGæ?­Í??@má?Dß?€â?€ÜÛ?C?¿Á?@\í?Áì?€ßç?€ë?î?€^ï?3ï?@]ï?ð?ð?€ôï?À©ï?ð?ð?ð?ÀÊî?@<ï?î?@9å?€YÛ?€ÛÞ?@Ýê?À¹é?Àå?”¦?€$Ó?±?ÀÛà?ýÚ?€eç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?À–â?gÓ?‘?H±?øå?\©?‘?ÅÏ?|×?€ÅÚ?ÀNë?€ï?ð?@öì?€Sî?ð?@¸ï?Àí?ï?Àï?ð?€1ï?À6ï?À ì?@çî?@¿ï?@Çî?À¿ï?ð?€äï?ð?ð?À÷ï?%î?@è?€6ë?íÎ?üÈ?@¯æ?@ì?@Tî?@[ï?@ˆê?À·í?¯î?@ãî?åí?€Hî?Àäê?@pí?À‹é?Ñã?€î?!ì?@†ê?ÀXî?Ìí?1ë?À´æ? Ì?G?,ì?@éï?ð?ð?@Yé?HÎ?à©?P‰?iÆ?@$ï?ð?ð?ð?ð?ð?ð?@ï?@¿ï?í?@Šë?@òï?2æ?°È??ŽÎ?ï?Àié?Àqï?Àtî?€{ë?ð?ð?·ï?€ í?€³ì?€¨è?ËÎ?(¿?ÖÁ?Ì?@ž?Àlä?€þî?ÀÔï?À=ï?@Sï?ð?€æï?€÷ï?ð?Àlï?@ðí?@“ï?»ï?ð?ð?ð?ð?ð?Õî?@ìí?ð?ïï?Rï?€êé?€wë?@ é?ÀUì?€Êï?ð?ð?ð?ð?ð?Àï?@¿ï?ð?ð?@ðî?@6ê?)é?€Òì?ð?ð?ð?ð?ï?3ç?<ï?ð?ð?ð?ð?ð?ð?ð?ð?@dí?@#í?@éï?@ï?€´ï?ð?ð?ð?ÀGï?€¾ï?ð?öî?€Öí?ÀÄï?€úï?@Mï?Àaí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@qî?€ì?/í?ð?ð?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚è?À¸ì?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?2ï?$ì?ð?ð?ð?ð?ð?ð?ð?ð?”ï?€Cî?€Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?ð?€±î?@rì?À/ê?Uï?ð?@6ï?Êï?€=í?Üî?@\ï?Àï?ð?ð?€©ï?óî?@öì?cæ?€·è?€å?ÀÞë?Àòî?À5è?€¶ç?`ê?@*ê?,í?@Oí?@}æ?@­ì?Äí?aî?@ƒï?€ßï?ßí?À¦í?@@ì?€@ê?Àºá?€ÇÛ?Àsâ?Àäå?Àùå?Àƒç?À®ã?8ã?À7è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?@:â?àº?€Ó?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™á?p‰?¨»?€"ê?ð?ð?ð?ð?ÀÓï?€êï?î?À”ï?ð?€äï?Àöï?ð?Àôï?ÀÄï?€ªï?ð?ð?ð?ð?ð?@Zï?À·í?À¨ì?€Öì?+î?€Që?€íë?€ûï?ð?ð?Lï?@@ï?@9í?@vï?ð?ð?ð?ð?ð?ð?@‰ï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?^ï?@”ï?ð?ð?@Gî?€ßÞ?˜®?š¹?€kå?À•î?€Œî?.í?@Ïî?À×è?@Xí?ÀYè?šÓ?ìç?Àå?€gî?€Bï?À…í?ÀXï?Èï?ð?ð?ÀÌï?ð?ð?ð?€Áï?ð?ð?ð?ð?Àsï?€ßï?@ë?@wê?Àï?ÀVî?ð?@Äï?ð?ð?ð?ð?ð?ð?ùì?À=î?@Xï?@Éï?€Ûï?ÀÐê?,Ð?€l?`|?ÅÖ?òî?€²í?€œî?€ôæ?ÀÝì?æí?@Ÿì?€–ã?€OÖ?À·é?€Õê?Nì?€äï?·î?@ï?Ààï?^ß?°‘?€k?€Ó?€gá?@[î?fî?Àžï?Àï?@¨ë?€Ñï?@Vï?€®í?pÉ?nÃ?€Ú?xœ?Àæ?À?í?@ï?Àýì?ï?’ê?Àóë?À4í?€Nî?á?`|?€$Ü?Àžê?€ï?€µè?€uß?€£ä?ï?7ï?Àûî?ÀÕã?†²?{Ç?€…Ò?í?Eé?b²?ô®?áÔ?€Wç?@™ì?ð?ð?€°ï?À<ï?€ ï?Àhï?ð?à?:Û?€Xê?Èœ?j·?°š?Ä?½?€\Ò?@$ì?]ë?pê?@7î?€‹é?À'í?ð?ð?ð?ð?€9ï?À[ï?ð?ð?ð?€Ûï?ð?@äé?@‡ë?€;í?€%Ö?ž?€?l£?ýÞ?nÝ?yç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òè?€ëÓ?€ÍÙ?€ÒÔ?€(á?©?=Ø?P„?€Ñ?Áâ?@Úî?@²ï?ð?ð?€£î?€¨ï?Zï?ÀBï?vê?€æï?ð?@Öî?áï?@¿ï?€î?¡ï?~ï?@Xî?ð?ð?ð?ð?€¹ï?€.ì?|ç?Î?Œ»?€–Õ?€ÿí?ð?€ï?@Åé?ÀÔè?@Hé?xî?ùí?ÀDî?€$ì?Àbî?€ î?€½ê?@çî?€Œî?@zì?ªí?@‰í?€{î?@,í?Iî?À½ë?^Þ?ÀŠ?@`?ïì?€ëï?ð?ÀÀï? Î?‰?p“?LÉ?WÍ?À?„¡?ð†?´¥?C?dÇ?â?J±?g?h?À·ë?ð?ð?@¿ï?@Áï?ð?ð?€æï?€qï?í?ð?ð?@dï?’î?€qÞ? ‘?@|?Çá?nä?Êê?À9ì?À¡î?ð?ÀÅï?^ï?Àï?@ðê?À…ê?§?,­?€¯Ö?€Âç?À/ã?à™?ˆÔ?À6ê?ð?ð?ð?Àåî?Øï?ð?Àõï?Àõï?ð?yï?ð?ð?ð?ð?Àâï?î?-î?€ìï?Àðï?Òï?€ãí?ÀYå?€¶ì?€÷ë?ð?ð?ð?ÀÅí?ð?ð?ð?ð?ð?€Ïï?­ê?Àëç?@$ï?ð?@¿î?Ùï?ð?ð?ð?À ë?ÀOï?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?ð?€*î?ï?Àßï?Àßï?xï?ð?Àõï?Àõï?ð?@…ï?€¨ï?ð?ð?€Ìì?!ï?€ï?@‚ï?ð?ð?€!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üî?ÀMî?€÷ì?@Tí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçî?Vé?@îí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mî?@í?ð?ð?ð?ð?ð?ð?ð?ð?€†î?€ï?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ï?ð?€©ï?Ÿï?ð?À¢í?’ï?»í?€Îî?€Vï?ð?€Gè?ÀÓî?Uï?Àsï?€´ï?ð?€î?@ôä?Àwç?@é?€eé?Àoí?Îì?€ãí?ÀQî?¼î?»ë?Àÿë?+è?@{î?Àoé?Àbì?@iï?€ðè?€oë?Zî?bí?Àbì?€ë?€gí?€üë?À«ë?¸å?€PÖ?ZÖ?éÝ?À‰å?@Zè?€{â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? Ø?º¸?€@ç?€í?€§ï?€ìï?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùí?»â?¡É?à•?à¥?ýÈ?€,Ø?ÀÞë?ð?ð?ð?ð?ð?@°ï?Àêí?À¤î?@Ëï?ð?ð?ð?ð?Àõï?€§ï?€Ïï?+î?À@î?À‰î?@Sí?À`ë?€î?€ªï?@áï?ð?@áî?½í?€êî?ð?ð?ð?€Wï?Ùï?ÀCî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ï?@áï?@;ì?€ðÚ?³?@m?¹?ß?ÀTè?ÿë?ôì?ð?ÀÄé?À—æ?'Á?Àìã?«è?€‡î?Àâï?ð?ð?Yï?@Nï?@¿ï?ð?Òï?ð?ð?ð?ÀÇï?€†ï?ÀÍî?@ï?@Úï?Àïï?@{î?.ï?ÀLë?Bí?@3í?§ï?€jî?@Ôï?ð?ð?ð?@*ï?€ì?@`ï?@Íë?€ìï?€¨ï?Àï?ÀRî?€Kí?Àåç?¶Ý?yÊ? š?Ð?Ìà?à?«?¡?iÕ?ÀJî?ÀÞî?€eî?Rí?€Ôæ?€Aë?_æ?€×â?À,é?@dî?@¤ï?ÀSï?ÀSï?€ùÛ?€<Ù?æÌ?`?ð‹?ÑÊ?@‚?0€?Àœæ?lî?€Äç?À/ï?Òï?ÀÁî?À#î?€:ä?àÈ?@x?*æ?€©Ü?Àðã?€*ä?eï?€¼ï?€¼ï?@#í?Àáî?Ôå?@Uê?@§ë?œ?Ú·?—Ú?ë?€)×?'ë?@Pî?Àï?€î?€rí?Àî?@yí?òì?@´?¸?ÀOç?@õì?@.î?€°ê?ƒÀ?(–?BÍ?ÀAê?@>ì?€ï?ð?£ï?€ûî?€Rë?€lî?€8æ?P›?€u?2µ?@Yê?€*Ö?€Iç?€Yé?áë?€ËØ?€Ü?Âå?@¡ê?€Èî?ì?åî?Ÿï?ð?óî?Cï?áî?ð?ð?ð?ð?€Ïï?@^î?@wî?ÀËæ? Ô?À™?{?’?@±é?ÀXë?Qé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿî?ÛÏ?€?@a?€¯Ó?€)â?ÅÜ?€áç?mÛ?€cß?¬Ï?­Ü?æ?@kî?@÷ï?ð?@¿ï?ÀÔï?@öï?À2í?þë?À©î?ÀWî?@Óï?ÀUï?€¿ï?€Þï?@ì?@†í?€Tï?ÀŠï?@(ï?ð?ð?ð?²ì??ë?@-ï?€Tä?+ß?™ê?@Ëì?€¿ì?ñê?Àê?€ïî?Àí?@6ï?€.î?@[î?@.î?Àví?ÀNë?þì?Õí?@Ïë?@¹ë?Iï?•ï?ÀÂí?@Úç?À›í?@fí?@Øí?ÀCæ?À³?ŸÝ?@ î?€’ç?€âÐ?V?TÀ?€`ä?@nå?“Ç?øš?€i??‡?ÍÇ?@Fá?Àoê?”ä?óå?Ȧ?M?ÀOá?@þé?€´ï?ð?ð?ÀÇï?ð?ð?ð?@÷ï?Àäï?ð?ð?€zî?@öî?Àñï?Ÿì?€BÓ?œ¥?2?ÏÒ?À|î?@ì?€Ÿì?½î?@‡î?€}ï?ýï?ùï?À²ë?@ ã?Xš?PÉ?’ã?@Cì?€…ï?€¿ï?€Qé?€j?YÖ?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?€úï?ð?ÀÎï?ð?–ï?ÀÈï?óï?@4î?Àjï?ð?Àžï?À^ì?éå?¢é?ë?@ï?ð?ð?@Òï?ð?ð?@Jï?]æ?€Sà?@í?€ë?@„ç?À«é?@_é?€Kë?Àûï?ð?ð?@½ï?ôï?ð?ð?ð?ð?ð?€Æï?î?‡ï?ð?Nï?Hí?ï?€ùï?ð?¯ï?Àzí?À\ï?@Òï?@£ï?ð?ð?uï?ð?@Ûï?€:î?@Êì?@Äï?Àxí?ð?@^ï?|ï?ð?ð?ð?ð?ð?ð?ð?ð?ï?ÀÚï?ð?ð?ð?ð?ð?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?€Šî?€Wì?€:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?@Sï?€sæ?@¢í?ð?ð?@iï?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@tì?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™í?@Øî?ð?úï?ð?@ôï?ˆí?@ìí?€°î?ÀÌî?@ýî?@Rí?€Úé?@:î?Àòî?À”î?Àpï?@Ëî?@oï?\ì?À2î?€ôí?€“ë?€Dæ?@ìé?@3ï?@Ìî?Àûï?@~ç?@å?@î?@øí?À0ã?@Žä?í?€÷î?€ví?@Pî?ùë?€›ê?@ëî?Àí?Ìå?@ç?6ç?€Ÿç?‹å?€â?Aì?À.ã?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀJâ?PÉ?€’Ù?@Gè?Àìî?žì?À¬ï?@½ï?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?Àºï?Eç?fÄ?@â?@æè?jê?@ ï?¾ï?ð?ð?ð?@¿ï?ÀŠî?Àrï?ð?€úï?xï?ºï?Àaï?Àï?ð?ð?ð?ð?@wï?ð?ïï?À¢ï?uï?À&ï?ÀÝï?ð?€úï?ð?ð?ð?ð?€ôî?ð?ð?ð?Àðï?Àûï?Àeî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ï?À•ê?@ê?@¾ç?mÏ?À å?@Së?€Vé?^î?@°ï?À å?€ÿÚ?mÜ?€Fè?@Aï?Àüï?ð?Êï?ð?ð?À‡ï?€Åï?@0ï?€ßï?ð?@¹ï?ÀÓï?€òï?@0í?úì?@³ï?À¤ï?ï?ÀÑî?€æï?€Îï?íï?ÀÌï?@Èì?ûï?úï?€âï?ð?èí?@þê?³ï?@œì?€‘ê?€×î?@­ï?cï?²ì?@7ï?€¼ï?@µï?Àeî?À\é?]í?ÿï?Œí?9Ò?`z?€äØ?ýï?€¶î?@Öì?@¼î?è?@¿ç?À ë?À/í?@cè?€=ï?€£î?@sí?pØ?F?0‘?Ö?ÀÕè?@Mï?€Êç?ð¯? ?¼¯? œ?Â?AÛ?tÖ?€JÒ?h?ÌÙ?¿?(?€=á?˜Ë? ?¸¥?@‰â?Àã?@õï?À´í?”î?ë?×è?ï?Àûç?»Ø?ÀŠâ?Àßä?0Ä?€Âï?Àï?@Êï?Àùë?À~ë?€ßï?€ í?€,î?XÊ?Ô?À å?@ì?€.í?À­î?@ ç?m?¡Á?€ìØ?@Ié?€”î?ð?ð?ÀÖï?@Cï?@ë?À}â?€>î?Àaå?€’?ª³?V?@Íä?šè?•Ç? w?€µ?iå?@Xë?@]ë?€Âí?@÷ï?À¾í?€@ï?gï?€çë?€%î?ÀÖï?@¸î?ð?ð?À-ë?@^ä?@Ïá?€Uß?Õ?L·?ª? †? t? u?8¼?€%ç?@Ží?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oé?€¢Ô? |?Ж?€>Þ?@ìá?@)à?ÀÔè?·é?€3å?Àoä?@¬æ?Àpì?Öï?ð?ÀÄï?@tì?€Cï?ÀŒï?€®î?Kî?ÀKï?@’ï?ÀØî?@>ï?À¨ï?@Ûï?Àüí?£î?À¾î?@Åï?€Žï?ð?ð?ð?€_ï?üï?ÀŽí?@³ì?€vî?€í?@#í?@Íî?í?€õï?ÀUï?€Fç?€[à?€ß?Àã?Àžë?Àrí?À/î?Àwí?Àtï?Cï?€9ï?@6î?€ªí?Àå?@°è?À%ë?ê?@ãî?Àï?ê?fÁ?|¥?Ø?°¡?`?R´?O?U?«Ò?@aá?€7ç?@ê?L¡?êº?î´?(·?Ð?ì£?2°?@šâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öî?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?€Úî?€qè?€·ß?•Æ?ÏÊ?4É?€ ç?@Pë?À+ç?€³å?@rå?À½å?€äæ?@Íî?€Öì?mì?Èî?@ôæ?¬ì?@ëê?À©ï?@hï?Êï?À©ï?Àgí? ï?@õï?Àƒî?˜ï?À}ï?ð?ð?ð?ð?ð?ð?ð?ð?€rï?Àcï?¾ï?åî?Àýî?@Sï?€%ï?Œì?~í?@ì?ùÒ?@zé?@uî?@Zï?€óí?Pî?€îï?ð?À²î?@êí?ÀÇî?€é?€qï?€?í?€µî?.ë?€_í?øí?À`ê?¤¬?0?€¦Ö?€Mè?Àá?€§â?Àeà?€&Ø?±?Þ³?²À?€:Ð?ÉÔ?ÎÎ?€Úí?í?€}é?Ç?L»?@ä?À+í?Àêí?Àî?@$á?À¿å?Àûï?Àžï?€øï?Àöî?¾?Àj?€ké?@êï?@êï?Cï?ÀÇï?€íï?ð?ð?ð?ð?€üï?ð?@Íï?êï?@éï?@Vï?Àëí?@¿ï?ð?ð?@µì?Ȳ?ܦ?óì?Àaì?€´î?@Pî?þï?ýï?€àï?Àkï?Êî?Êï?Vï?€Êî?€Þ?€?Bî?ð?ð?ð?ð?¹ï?€Žî?€¶Õ?’²?¾ê?ð?€Wï?ð?ð?ð?ï?€€î?À©ï?À€î?@mí?@Ýï?ð?#ï?À`î?@ûî?Àî?€´ï?Àžï?ï?Àì?€uì?ç?€{î?@fï?ð?ð?ð?ð?ôï?@¼ï?ÀÝï?ð?ð?ð?@0ï?€æí?@´î?@kì?âï?öï?qî?€òï?ÀÔï?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?Àÿï?ð?ð?ð?ð?ºï?€ìí?¤ï?À˜à?€Iî?ÀÞí?@›î?@¨ï?@ï?€2ï?€Gí?€±î?@üï?ð?ð?ð?ð?@(ï?€Hï?ýï?€ÿï?µï?ð?ð?ð?ð?ð?ð?€}ï?€(î?@Dî?ÀÕï?€üï?@Gï?fë?Qî?À\î?@èï?€”ì?÷î?ð?ð?Àí?€þë?Àûì?€öí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†î?ð?ð?€ïé?rì?@ýï?ð?ð?³ï?@Âï?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?@æë?@åï?€¦ï?Àtí?€ßï?ÀÈé?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?@-ï?€|ï?€Çî?@Ýì?oë?Úé?À}å?€ôê?@Kì?ÀÝé?@׿?¹ë?ð?ð?À ï?À›î?‰ï?Àí?@Øí?Àï?€î?Àªæ?À8æ?s×?€Ö?:ã?€Ðé?€òì?Àç?@~ì?°ì?¦Ú?€¾Ó?€Ó?€®é?Gê?Àså?ÀÕè?@ûî?ÀŽï?€ ì?€í?@œç?À ï?œè?ÀQå?ÀÕé?Àvè?@"ä?@é?Àï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?@Ìï?@Òï?€Žî?€þî?@uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXë?³Ç??`t?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ÀÑî?ð?ð?ð?ð?ð?@éì?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?¥î?@Qé?¶è?kì?€uï?{ì?€´ï?½Í?Iì?ð?€]ï?ð?Àæî?>ï?Àsï?@÷ë?À{í?€ãï?@ýï?À“ï?€Þì?€æî?Àÿï?!î?@Ïî?àì?€î?ÀHï?€ÿï?ð?Àžï?ð?€øï?€Óï?À©ï?ð?ð?ð?ð?ð?À™ï?ªé?zÈ?€õê?€ëï?@;î?@¥ï?@%î?ÀGë?€oí?À£ï?@Œï?rï?ð?@ýï?Ží?À#è?³Ã?G? Æ?@Wå?€pã?ÊÛ?€ÉÓ?<Ë?3Í?š¿?°Š?@â?Êï?@6ï?€¹ï?€®î?€Øà?œ­?Ê´?HÓ?€§Ù?€kç?P›?0? ¢?@v?›??À}?°?à…?€g?´×?€<Þ?Õ?Àã?€þè?’¹?è•?†?€ÀÖ?¤î?þï?€ ï?@*î?@‚î?)î?¢ï?@­ï?úÂ?CÃ?€Ýî?¾ë?·æ?@Šì?€áî?Ã?¼¦?@„ï?€¬î?À_í?@;é?€wí?ð?Àõì?ð?@›è?€æ?€¼æ?Â?Š?ªÙ?,«?€RÝ?€±ë?Î?=Ü?ÿÞ?@¦í?Vë?Àÿí?À&î?´ì?@|ë?Àí? ï?@ï?Àßì?Íí?Mî?@Áí?€¯ê?Àé?À\â?Ù?†Á?J°?@p?’³?úÏ?ÀŠá?À+ë?¿à?€7ç?øê?€sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zê?Àê?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uï?è?€pä?€gÕ?£?‚?”ª? ¼?À^ã?Àwã? Ý?€±Ù?Ë?³â?ÇÚ?ãà?€´ë?@äí?Àï?À3ã?@å?@Úè?Ànê?@cï?@õï?À¿ï?€ßï?€©ï?À3ï?€æï?3ï?@bî?€Eî?Àýî?€Ñî?ÀWï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?@\ï?Àôì?À›ï?€!î?Àxè?vé?@í?Âî?À0ï?À¼î?€ãî?ªì?Àï?ï?€í?ð?À†ë?ð?@ï?@Kì?€ï?Ôë?€Åî?Àéì?Ëæ?ö¹? z?^Ê?€Âí?ð?ð?@¿ï?€òì?r²?Öµ?´Ô?€Vã?Bï?@ìè?²Ð?€œî?Zì?€Pâ?±Ð?0„?(•?€ôê?€ï?ð?ð?ð?€=ï?€ì?€åï?@Àï?ð?@àï?%Ý?ŽÉ?€±ê?€Ÿï?€õï?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?À–ï?€Tï?€Äï?Àï?@àï?ð?ð?ð?@ì?zÍ?€BÝ?€”î?€^î?@>î?€î?€$ï?rí?ÀÉí?”ï?iï?Óï?ñï?oï?vÍ?“È?ÀÈï?ð?ð?ð?ð?Àêï?À¿ï?'Ù?­á?@Úï?€•ï?ÀØï?ð?ð?ð?€¾ï?Àï?À?ï?Åí?Œï?À©ï?ð?@ñî?ð?€æï?€´ï?ð?@¿ï?Øí?@Iî?Àpæ?À-ï?ï?ð?€÷ï?€šî?€Þë?Àné?ÀRì?Eç?è?€Õì?€Dæ?ÅÜ?ÀFã?ÀJä?+é?Kî?@ë?%î?Ãê?Rí?ð?ð?ð?ð?ð?ð?ð?ð?µì?@¿ï?ð?ð?Wï?Àuï?ð?ð?ð?ð?ð?ð?€õï?€óÚ?Àüì?í?€¢ê?Bï?ð?€’î?€íì?€Lí?ð?ð?ð?ð?ÀÙï?ð?ð?@lï?€iï?ð?ð?ð?ð?ð?ð?ð?ÀÕï?1ï?€åï?@"ï?Wí?@¥í?€åï?@í?Šé?àê?Të?À•ï?ð?ð?Ží?€9î?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?@™æ?Àï?Àtï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@zî?À®ë?À°ï?ð?ð?ð?ð?“î?@Hë?ð?À²ï?ð?ð?ð?ð?ð?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöí?€yí?Àví?Àê?@)ä?€Wâ?îæ?€ä?‹ë?@µç?Jî?Àòî?€ï?ð?ð?ð?ð?À·ï?€*î?%ê?@0æ?Àì?rè?±Þ?Àäå?]Ê?À!á?€°è?Ûë?_ì?@ì?ÀÐë?è?€Ô?€4Ü?@ªè?@yå?@ÿç?@·í?@¿ï?@Ñï?€ê?Àuï?€£ç?Àzé?À%é?@í?@í?)ï?€ è?@Aî?À{î?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€Êï?ð?@Ëï?€Tï?Wï?ð?ð?ð?ð?ð?ð?ð?Þï?ð?ð?ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®î?îÓ?2?@À?Àî?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?@#ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?žï?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ì?ÀÏä?€®æ?€{ç?€%æ?Àêï?ð?€|è?Àêï?€÷ï?€”ï?ÀÊï?@Ëï?ð?@óï? ï?À©ï?ð?@tî?ÀÙï?@Qï?@zï?@Œï?éî?@î?€jî?ì?€³ï?@ªï?ð?ð?ð?ð?Àžï?@kï?ð?ð?ð?ð?ð?ð?@)í?½?€(ì?€Ûì?@­î?€œí?Àmê?@mè?À…í?À¦ê?€üì?€½í?Êï?·é?À³í?Àcå?€2Ü?Ào?½À?€Wí?€¿ê?Và?@óê?€qß?£Ð?€9Ò?µé?@ä?^¸?DÒ??Ì¢?€j?P±?X´?&Ñ?éÎ?@ëâ?À°í?Àˆà?A?a?e?ãß?ÀÔï?ð?À›ï?@5ï?€ôí?€dï?€bï?@ï?€¬ï?€áÙ?€ôÞ?gë?À”î?Àrì?€Žî? ì?£×?2?2? s?¿?@ ï?€3î?€ë?€í?À²ï?ð?ð?ð?À8â?ýÅ?(¡?¼É?p£?`?Hª?6º?Г?Þ?¸–?¹ß?™Û?ùë?À¯í?À©í?€=ë?@¯ê?@¯é?À,ï?€<í?À0ï?@³î?-í?€jî?€lì?]í?@”ï?€©ì?@å?@ëâ?€åÔ?€Œ?–?©Ö? ã?€tî?ð?Àüí? â?€jë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?€Iß?@õï?ð?ð?ð?ð?€æ?€ï?ì?€Äæ?€kÒ?X¯?`’?€"å?UÛ?@Eá?«Ä?ðŸ?èž?/É?€õÓ?À_æ?@wë?€ë?€áí?ÀÅï?Aí?À1ï?Íí?€„ä?@—ç?óî?À¨ï?ð?@›ï?ð?€ï?@ùî?²î?€1ï?ð?À<î?€iï?ÀÏï?Öï?ð?ð?\î?ð?ð?ð?ð?xï?ð?ð?ð?ð?£í?€1ë?À(é?ð?3ï?ð?@bì?Jì?ñë?@­æ?ð?€Ÿí?@æ?í?Àë?ð?ð?€Oç?€'ë?@óê?À¶í?ðê?ÀÔî?@Ëë?À?ã?œ?*¼?ð?ð?ð?ð?€Ôî?›Î?Ñ?î?ð?ð?ð?@ªí?€ºî?Àoï?€ï×?Õ?Ð?dâ?ŠË?ð?ð?ð?ð?ð?€Õï?€uï?Àùï?€Mï?Àhï?ð?€ï?€…ï?ÀÏï?Éï?ð?@üï?@âï?ð?ð?ð?ð?ð?ð?À²ï?€Íï?Çï?ð?@\ï?@Ôï?ð?ð?ð?ð?ð?€§æ?@¾á?À×ï?Àjí?€¦ï?€î?ð?À.í?ÀÏè?@!ï?@Žî?€êî?€µï?ÀJí?·?–Ã?€÷î?ð?€Þï?ð?€³ï?€’ï?dì?´?«Ò?€Wæ?ð?€¾ï?Àsï?€¾ï?€Èï?Àâï?€*ï?€åï?ð?ð?@Åï?€¾ï?@oï?@Zî?€ûï?ÀÜï?ð?ð?ð?€Oï?Ëï?@Æî?Ýé?Œï?€Cë?@Ãå?s×?Oà?£à?€éê?é?+Ô?Ø?ÀÜå?ÀTì?ð?ð?Vî?Àî?@í?ð?€ï?ð?Bï?ð?€éï?€Âï?ð?ð?€Þï?ð?ð?ð?Àî?ð?ð? ë?À‡í?ð?ð?ð?ð?Àfí?ð?À¼ï?À°ï?ÀOï?Ôí?«î?ùí?@‚î?î?ð?ð?ð?ð?ð?ÀŒï?@sï?ð?ð?€Oï?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ÀÑí?ð?ð?ð?ð?ð?ð?ð?ð?@aï?€3ë?ð?ð?€ï?@Þê?@°î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?@Ùí?Ãâ?@¾î?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)ì?Wï?ð?ð?ð?ð?ð?ð?€²ì?ð?ð?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lì?gê?@qê?€ñç?‚ë?€=ç?@%é?hè?@ ê?Yç?€Aë?À î?ªï?ð?ð?ð?ð?@ýì?€ë?€cç?€íë?@ëë?À“è?€†Ð?Ç×?ÀFá?À}á?Àýã?ÀØé?@Ýê?‰ê?@ðê?@+ì?€Çâ?ÒÞ?@Kè?€¯è?€Ÿç?@Öî?€ ï?ð?€”é?ð?€•é?À€ï?éí?Åî?˜ê?À(ê?ºê?€®ê?@+ì?À…í?@üï?ð?ð?@×î?À§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kï? á?¸œ?¾¾?Àí?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?òï?ð?€åï?}ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?Àhí?Àáê?@kê?@Pì?@þì?@ýï?ÀØï?ð?ð?ð?ð?ð?ð?ð?€èï?€í?@në?À°è?Àçá?dë?ÀTì?ð?ð?@pï?@ôï?Ùï?@ë?ð?ð?€Ëï?@ßï?ð?@±ï?€+ï?€õí?@Ýî?¤ï?@¨î?ÀFí?€³ï?=ï?@ï?Àhê?@êï?€Oï?ð?ð?ð?@Tï?€cì?€1î?€„ï?ð?@ï?ï?@Ôï?î?€¡Ý?€âí?@Úî?@¦î?€î?@uë?@æ?Ûé?ÿÖ?ÀMì?@Oí?@ßï?sí?Àä?€Ú?€ŸÓ?p?!Ä?À†ê?J×?°™?lª?ü½?Ú?€8î?ð?€Eí?Lã?Ú²?€]?d¥?È•?]Ü?€î?ð?€uï?€âè?tß?šÏ?>Ç?õÄ?À²ì?ð?ð?-ï?@¹î?À%ê?ð?ï?€âï?@÷ï?\ë?¸ì?€ëî?@xî?€}ï?€Sî?€ÖÔ?fÏ?@r?М?À‚ã?2´?ŒÆ?ð?Àòî?€ï?ð?Ëï?ð?ð?ð?@¥î?€FÕ?œª?ŒÏ?€¡Ú?@¸?pÜ?À¶ë?éé?Àå?$×?€j?à?ŽË?ÖÀ?€êÐ?€¢ç?Àìê?ë?€óí?@Wë?âì?hï?€Ãï?À ï?€åï?ð?À í?@‚í?€Õï?@Ÿë?@Ìê?@ è?€§Ó?oÓ? t?Ѐ?@—?!Ï?mÒ?Àøâ?ë?À`è?ß?@ëæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMï?@úâ?@wæ?€kî?@óî?Àë?Äë?€ á?@à?€xÒ?€€?à·?Ö?€Ð?€u?n?j´?_Ø?ã?VÓ?@²ë?À;è?@ýé?€î?ð?€¥î?ÀŸï?@‰í?@÷î?@Fë?Àfí?€í?@0ï?ÀËï?ýï?€1ï?@»ï?@Èï?€®î?€éí?€¡í?€åï?Àï?@óï?ð?€0ï?Àfä?@ á?@Vë?€ç?€¡ì?€}í?ð?ð?ð?ð?Àëï?À=ä?À@ë?@ðî?ð?À_ï?€Þï?@ˆé?Kì?gë?Àfï?€Vï?"î?€àï?•ë?5ï?Áï?@tí?˜ì?€ï?Lï?uä?@æä?‰è?€¦î?Àªæ?»À?2½?»?ÀÒï?ð?ð?ð?ð?@Dí?è«?@b?bÐ?À¨î?ð?ð?ð?€öï?ïï?@Ïï?€ì?@Vë?Jì?€8ç?€¦ï?€üê?ð?ð?ð?Àóï?ð?Àõï?€ûï?¹ï?àï?@pï?€ãî?@îï?…ï?ð?ð?ð?Àìï?@é?€ì?€¾ï?€¾ï?ð?@ÿï?@ní?àï?Ûï?ð?ð?ð?À|ï?ð?ð?ð?ð?@êï?ÀÔí?Àžï?@í?@î?@Íï?zï?€—î?À‘í?€íå?@¤é?lî?@@î?€¾ï?€Þè??À<æ?@Ôï?Àõï?€àî?@Ôï?ð?@Åì?%Î?î?nì?@²ï?@öï?ð?@Ãï?@¨ï?@„ï?ð?ð?ð?ð?€ãï?ð?Àžï?€­í?À|ï?ð?ð?ð?@¢ï?Ýî?@Êí?Àé?Àlé?€Wï?@%ï?@òà?À¤é?Tï?€Zî?Àýï?ð?€Àï?ð?ð?ð?@Îï?@£î?@Áë?@aè?@„ï?ð?ð?ð?î?ð?Àåï?@¥ì?ð?ð?@Tî?ð?ð?ð?@ ì?Àpç?Àï?ð?ð?ð?@øï?ð?ð?@óï?gï?€qí?°ï?ÀÄì?ÀŸï?ÀÂï?@Èï?À§í?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?À¶ï?ÀBé?ð?ð?ð?@oí?Àëí?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"ì?€üï?ð?Ìï?¶ê?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡ï?@%ï?Àöï?-ï?ÿÝ?@9è?€ï?ð?ð?ð?Àçï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’î?À±í?ð?ð?ð?ð?ð?ð?ð?€í?€<î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?@êï?ð?ð?ð?ð?ð?ð?À¡ï?@èé?Të?@Ôé?œê?ƒê?@Áé?@nì?@²ë?@Qí?@Sì?@-ã?_ï?ð?ð?ð?ð?ð?Àëï?@2ï?À™ë?€2ì?'å?À?è?€ªç?€Nã?€Pé?=ç?€‹ç?À€ï?€üï?€µï?Åì?@Òê?Àeâ?€Þ?@{æ?€½ã?úì?€pî?€Óí?@ê?@ì?ð?Àë?ð?Ôï?Àöï?€«ï?Jî?@€ê?À9é?ÀDé?€Õí?¤ï?€éï?€—ì?@µì?@óï?ð?ð?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ûï?@xè?7Â?€]Ò?€ å?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?ð?ð?€üï?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoî?€‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?À¶î?€ºç?€Äæ?À%ì?€Áì?€¥ï?@ôï?ð?ð?ð?ð?ð?ð?ð?@Èï?³ë?€Îé?§ë?À>ê?ì?Àï?·ï?€ê?@Úî?Àùî?@Äí?€ì?€ ì?Àºï?ð?ð?ð?Àwï?@Çï?À¦ï?@¾ï?€ í?"î?@×å?€–ï?€žî?ð?€Uí?@vî?'ï?@~ï?€þï?ð?@Øï?€,ï?@Åï?ãî?À¨ï?@Ôï?À—ï?ð?À$ï?©ê?@óï?€ãï?Àÿî?@Ôï?€×ï?éî?Òí?1ê?Àè?€’ë?€¾î? Ý?D¬?`€?xŸ?`£?4£?$¤?¹Á?Wç?€Ëí?õî?ð?ð?@µï?€ÚÔ?¬¨?Ⱦ?~Õ?4?ν?1Ø?€Íì?@Þï?{ï?@ï?ðÝ?À,ê?„È?à†?ŒÏ?ëÂ?Jí?Þí?Àí?ð?€"î?€Eì?ýî?Àî?¯í?Çî?€¹ï?òï?€Àï?Àxí?Nî?ð?Øï?Œ¼?@ˆ?X?šÀ?@Ší?OÊ?€Ò?À=ï?ÀÑí?ÀÙï?@ì?ï?ð?ð?ð?ð?@å?H¥? }?ð€?%Æ?À/ï?ÀÞï?€‚ï?@î?À}í?H·?€Çß?0Ì?‹?I?EÙ?@ë?ÀPî?@©ì?€|î?@úî?@÷í?@Xî?ÀÕï?ð?@àï?@àì?Àî?ð?ð?‹í?€ªí?€×â?ºÜ?ò¿?eÒ?H”?(‘?€˜?€Ó×?‹å?Ææ?@ ä?€*Ü?€Ý?ÀGà?€éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?€‚ì?%Ê?€æâ?pç?ç?Àþà?ÔÑ?8‘?A?€ºÒ?Ÿ?Àq?„Ö?€Ô?À­ã?€öå?wê?@áì?ê?@Zê?ÀÙì?ð?ð?@¯ï?€Åï?€æí?jí?@‹ê?@eï?@Ýï?ð?9ï?€×ï?ð?Àüï?@î?@Íì?ê?À¬ï?€_ï?ð?ð?ð?ð?8ë?»ï?ôÙ?/Î?pç?ÀÌï?ð?ð?ð?ð?’ï?@Ýï?ð?ð?@¼ï?Sï?Hï?À„ê?@/ä?ÀÔë?Àaë?ÀHî?À%í?…í?èâ?€0î?À¤ì?€¤î?À:ê?@»î?íí?Àrî?Ðí?Mç?Àî?@ƒï?@î?€Þç?ä´?Àäã?ð?ð?ð?ð?ð?€í?—?`?Bµ?À'ã?£í?ð?ð?ð?ð?ï?À9ï?@Ôî?@Çã?@ˆé?@¶ã?@¤è?À¿ï?ð?€×ï?ð?ð?€¹ï?¶ï?ð?«ï?À‘ï?Àìï?ð?ð?€\î?ð?@"ï?ð?ð?€¼ï?@Éí?@uë?@Sî?ð?ð?ð?Ûï?ƒï?ð?ð?úï?Àîï?ð?ð?pî?@ëï?ð?€×ï?»ï?€ï?¦ï?ð?€Åï?@«ï?@¥ï?@Yï?ÀÜî?€áê?ù×?€YÔ?À]ï?ð?ð?€–æ?@ç?€mï?‡ï?À!ï?€ƒï?€¼ï?%í?mÌ?€qí?@†î?€×ï?ð?€¼ï?ð?ð?@°ï?€bï?@Òï?ð?@„ï?€¼ï?¦ï?ð?Ààî?À}î?ð?ÀÑï?ð?ð?€¬ï?À÷î?€5ï?Àíæ?@åï?ð?€°ê?€Iß?ôè?ð?ð?ð?ð?ð?ð?ï?´í?Aé?@§ë?€ßç?áì?ð?ð?ð?ð?€ðî?Àâì?ð?€ì?ì?ð?Àýî?€ï?ð?ð?À”î?ð?@ì?Ví?ð?ð?ïï?@Êï?Rï?ð?ð?Àèï?€\ê?Zí?€Jï?@Òï?@™ï?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâî?@ ï?Iî?€$ï?ð?@Œï?À—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñî?Àˆí?@ðï?ìë?@©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@õí?@ä?@”ë?€¸ì?Àï?€Îï?ð?ð?€5ï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëë?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?‹í?Àê?€Éî?€.î?Qí?€ºë?€éä?ÀNê?@Oç?@âé?œé?@ç?@÷í?ð?ð?ð?ð?ð?ð?ð?ð?Àeï?«ï?ð?@³í?@?é?À‡ë?@ìè?@Œê?€cé?€7ï?€*ï?€é?@æ?@Õã?€eä?À¦à?'æ?€­ë?@ùé?€Ûç?€Šê?Àjî?ð?ð?@Òï?Àþé?ð?ð?ð?ÀÏï?9ï?Âî?@Yì?ÀMî?@Áì?Àší?@Üí?ÀÏï?ð?ð?ð?ð?Šî?Àµï?ð?ð?À]ï?€€ï?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@tï?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ÀÁî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?Ùß?è?€ÅÔ?Ñî?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?€òï?À(ë?@ªã?@ä?Ñê?€{é?”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Fï?øì? ê?À=ì?î?ð?@Íï?@üç?@¼í?€áî?€µê?0î?@‚ï?ð?€¼ï?ð?ð?ð?ð?À3ï?ð?À5ï?Rï?Œï?@¬î?@Jî?@Íé?@€î?Úî?@Òï?@Þï?@zì?Ëì?ð?ð?ð?ÀÆï?ð?Óï?ð?@Öï?ð?ð?À†ï?€Åï?À0ï?À ï?@·í?€î?À»ï?Àýî?@£ì?€Åì?Àê?¨í?€”è?èÊ?Ж?°ƒ?AÁ?€‹Ù?¨“?áÃ?Øš?†¶?÷Ï?ж?€Fá?Àï?Àäê?@\ï?ð?ï?Àõî?€Xî?Àgí?ÀÚî?Àêè?`Á?€a?P„?d¨?@ìà?@Wê?À"ã?€ÁÙ?€tí?€ýé?Àžï?@à?@`ä?øï?Àbï?ð?€Ùï?ð?ð?ð?ð?ÀÏï?ð?ð?ð?Øî?ÀÜí?Àuï?@ïï?À¹ï?Æï?Õï?–¹?€µå?@»ã?pâ?@<ï?@î?ãï?@î?ÀHï?ð?ð?€¸ï?rï?ïï?€æÙ?Þâ?@î?@ì?ñï?€2î?€¯é?qÂ?@¹ï?€Žï?%ë?MÝ?¦?vì?ì?¹í?À±í?€ùî?ð?ð?¦ï?@þï?Àêï?€tï?yï?ð?@Àï?ð?À®ï?À‰î?€Mí?€£ä?Ó?À¬á?Mä?¤Ù?€e?Œ¹?€zØ?@Ìê?sê?À`é?@Žë?Àé?@pâ?ZÛ?@Bé?€íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºï?NÓ?d©?ˆÁ?ÀYå?Øá?4ì?úé?@çì?À<ï?Àïæ?@¥ì?À ï?~ï?€¼ï? í? í?@Eê?™ï?ßë?@øë?ÀÈï?€±ï?€¦ï?@„ï?ð?@®ï?€×ï?î?€¯ê?ìï?Yï?À]ï?ºï?ð?ð?ð?ð?Cë?€¢ç?ð?ð?ð?ð?ð?ð?€Fë?@dí?€Kî?.ï?~ï?ð?öï?€8é?€„ß?@êï?Àêï?€—ä?€åï?ÀÖè?€©ä?@ˆï?|ï?@Xî?À›ï?žï?ð?ð?Àâî?`ï?@÷ï?ð?ð?@bï?Þá?|·?b?À®ê?@ˆï?ð?Æï?À×í?@áã?Àfà?ž³?Œ¡?×â?€fì?ð?ð?ð?À¼ï?ð?ð?ð?@†í?€cã?ÀÀâ?ká?€×è?€üï?ð?ð?Úï?ð?ð?ð?ð?€ï?¦ï?Ìí?@±ï?ð?ð?aë?€ î?ð?ð?ð?ð?ð?ð?€Áï?ð?ð?ð?Ÿï?ÀÇï?ð?ð?@úï?@Zï?íï?ð?Àÿí?ð?ð?ÀGî?ÀŸî?€Šï?€“ï?gï?@œï?Ðî?Çî?À7î?€4ï?Ànï?À¤í?€\ê?€Cï?ð?ð?€ÿã?@Fè?€˜ï?€¼ï?@êï?Àƒï?ð?€Ïè?€×?3ï?@Ïî?À“ï?ð?ð?ð?ð?@ßï?@±ï?@êï?ð?ð?ð?@Åï?€Iï?âï?€†ï?ð?@Kî?ð?€€ï?ð?€wí?€î?@ç?@ïï?ªî?'Ì?€_×?µê?ð?€òï?À†ï?ð?ð?ð?@Lï?@ ë?ëé?¦é?jí?@Gî?ÀÈì?Àî?ð?ð?ð?€Ìê?Àøï?ð?€të?ð?À¨ï?ð?ð?ð?žï?À³ï?ð?€ùí?ð?ð?ð?ð?@Fï?ð?€¦ï?@]ë?Ànë?@tí?ð?@Âï?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Tï?€—í?Kí?ˆï?€î?€õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*í?Àë?@Ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ï?@Âå?—ê?€©î?@æá?@Šï?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?À¼í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dï?Eï?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Wï?ð?ð?ð?ð?€#î?:ì?×ê?@Yæ?Àúã?ê?€yì?€©í?À¬ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝî?@Dì?Àeî?€Qé?@¤á?€­ê?€ î?€Õî?ÀUì?À_æ?€(è?€‡æ?†è?€0é?€¾ê?À"â?ñê?@Éí?ð?ð?ð?ð?ð?Gç?ð?ð?ð?ð?ð?ð?À¸ì?eê?šé?pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?À±í?ÀAï?À\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€¥é?ÁÅ?Ì?€¬ë?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@'ï?€·ì?@÷í?@zì?ÀGê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?€¶ï?À^é?ð?ð?ð?€Vî?€Ôë?@‹é?ëé?@„ç?€Ðè?€Ië?ð?ð?ð?@{ï?@¿ï?+í?@™ï?¿ï?€^í?À:ë?½î?Ïî?Jé?@vë?À€í?@Áì?€Åî?@lï?%ì?ð?ð?ð?@ßï?@Êï?ð?€ñï?@Oï?|î?€éï?œï?@*ì?ÀËï?€†ï?@Pï?@Rî?@fï?€ î?€‰ï?€wí?@õí?€ïì?€8é?€îß?€Õ?ν?ƒ?€?TÃ?¤Ò?€ží?€ôé?¼ß?°”? ?Ì?Ý?¥Ì?€Âæ?Äî?À<î?°ï?ð?€óë?€€ç?@²î?@êï?À˜î?ð?ÀQì?$Ö?È¥?€ª?@`?¸®?üÖ?€ã?@â?€ŸÜ?È? x?‡Ë?@Éç?ÄÂ?|Ù?hÜ?§í?ð?€=Ú?¢?@¬ë?ð?€lï?€¼ï?ð?ð?@ï?À¢ì?@÷æ?€+î?@=ï?¦ï?Àï?Kï?žï?ð?@ðï?¾ï?'ï?@Ùï?€$Ø?üå?€>ç?€î?ï?Bï?Àlï?ÀFî?ûï?ð?ð?ð?À™í?¨ï?€pê?Öº?ž?2î?À¾î?;î?ð?@1ï?@Æí?X”?@Pâ?Mê?Àyê?ä?V?WÚ?Àqí?€Çî?€^ï?@bï?€¼ï?ð?€Ýî?€­ï?†î?Ëî?ð?ð?€Àï?@î?@ãî?ð?ë?Àkë?ÀYæ?€Ûé? é?€>Ó?È?7Ò?€†ç?€öë?ÀÛä?À å?eî?€…æ?€qå?€„â?€Aç?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ì?fÑ?°²?H™?uÃ?\Ó?€qç?@Âë?€ì?@Þì?î?3é?»æ?À¢í?€eî?@Xê?€¢î?€øï?Úï?@÷ï?€Üï?€åï?€öî?3î?€ùî?À8ï?ð?¦ï?ð?ð?ùï?Àdï?€¹ï?™ï?€ëï?ð?ð?ð?yï?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?À²ï?@Èä?À—è?ÀŸã?€Fã?À¶ê?@ é?€ Þ?°ï?êï?’æ?Àuâ?@ªë?À|î?€¼ï?€.ï?€ˆï?@üï?€Wï?ð?þî?@þï?À ï?€²î?€èï?ð?öï?€ ï?\ì?€±Ð?™?€0ì?¦ì?€‹î?ÑÙ?@™?D?p¤?ÈÇ?úÖ?€†é?ð?úï?€¼ï?€²î?ð?ð?ð?@úï?Àë?€ƒä?@>å?€ ì?ˆï?@æï?ð?ð?À¹ï?@òí?ð?ð?”ï?À“ï?À1í?ð?@Úï?ÀËï?ð?Àôï?Óï?ð?€–ï?@)í?ð?¦ï?ð?€íï?€€ì?ð?À ï?À î?€üï?ð?ð?ð?@ôï?@ôï?¬ï?@þï?ð?@¿ï?ÀÓí?/í?€.ï?wï?cï?õï?À.í?€ïï?@Tî?Àî?@`î?cí?œï?€ï?ð?9í?„É?£?œì?€ÿï?@Úï?@”ï?öï?ð?€9í?fÚ?Ê?Oä?$å?@šë?€þï?úï?ð?¦ï?ð?ð?ð?öï?@ûï?€Ýï?À©ï?€…ï?€^î?ð?ð?À°ï?€øï?@ôï?€´í?ÀÞî?€é?Àî?Oï?éÏ?€¹è?€øï?ð?ð?ð?ð?ð?À²î?€%ï?ð?@Ãï?+ë?ð?ð?Àùï?ÀÃï?ð?ð?ð?€¬î?€áë?ð?Àí?ÀÓî?ð?ð?ð?ð?ð?€ýï?ð?Êî?€„ï?ð?@{ï?ð?ð?€åï?€¨ï?ÀWì?À í?ï?€¼ï?Ãï?ð?ð?ð?€åï?@bï?`î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ñï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úë?zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?€²ã?€êé?À£ì?€aé?À5ï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€]ï?@¿ì?ÀWï?ð?€‚ï?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?@ï?Àˆì?Àñí?ÀGé?€zè?@cë?@Øè?Òì?òë?@®î?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Àÿï?ýï?€î?À/í?@¯ì?ï?Àøï?Àéï?€ê?@Íï?på?æ?Àjé?€ ê?@ï?ÀHê?À€ì?ð?ð?ð?ð?ð?Æé?ð?ð?ð?ð?ð?ð?ð?€wí?Àî?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€bï?ìï?@ï?Àbï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸í?7Ó?¸?Àâç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nî?¯ï?€þì?ÀÞï?@ôï?ð?ð?ð?ð?Àšï?Àï?ð?ð?Àšï?ÀÜí?@1ï?€è?Ëï?€Mí?‘ï?€î?Àqè?@Eç?€tÚ?@Ëî?@´ï?Àï?@ìî?ð?áï?@øï?ð?ð?€ýï?À¦ï?À×î?$î?í?€fê?Àî? ì?ôí?Àÿí?€lï?@Wï?úï?€`î?¡ï?ð?ð?€ï?úï?À×ï?@çï?ûï?€”ï?~è?Ààè?€î?€Uï?Àí?€fî?À•ï?@•ï?€`ï?šï?ÀÅï?À,ï?Èî?À¤ï?@éí?ùí?Àñç?€óà?€Úá?€ôÞ?€©Ú?À–ã?@æ?À×é?dí?ÀÜê?Àï?í?@…ì?@ç?€Éß?Š?€f?%Ì?€bä?€Éâ?î?|í?€Dí?¹í?¦ï?Ñï?€,ì?ð?ð?@oï?úï?ð?@ûï?@ì?@fë?@gä?Lí?€Áï?ãï?@Aï?ð?À$î?€ê?~ï?Àïï?é?€ÕÞ?ÀÐá?ÀÃï?€ï?GÔ?Þ´?Èé?ÀTè?€…é?@ôï?ð?ð?@˜í?@Øî?€½î?¥ï?€ðï?@î?À}ï?@0í?€bï?ð?ð?ð?ð?ð?€Zé??À¢?€ç?@yï?€µî?uî?€Âï?€Äï?Àÿï?]î?Êï?ð?Ìï?@þî?xï?@é?Ü¥?øÀ?ÀÍï?*î?€éï?€ãï?@Ïï?À÷î?¼£?Ào?À‡?p‡?p‹? Æ?@Ãé?€ßè?ÀŠê?@=ï?ÀÖî?À@ì?ÀÁí?)ï?8î?€¼ï?ð?€èï?´ì?€î?ûï?€ßï?ð?@íï?€Æê?À³ë?€Ðé?@í?€Lê?¸À?€t?oà?né?±å?Àºì?[è?¨Þ?€Ø?Ý?³ë?Õë?À”í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‡æ?åÈ?Àg? ?€€Ñ?€¿Û?Àîã?ì?€%ë?Àæ?@½è?À:ï?€øî?€§ë?@£é?@&ê?Àcï?@ýî?ð?ôî?€cï?@9ï?Æî?ÀPï?˜î?Àï?ð?ð?ð?€¼ï?€òï?Êï?ð?ð?í?ð?ð?ð?@¥î?Lï?¯î?ð?ð?ð?ð?ð?ð?ð?ð?@0ï?@2ê?ææ?€Û?€pâ?€rÜ?€å×?€.í?@õï?@þå?€Kå?Àqï?Õï?ð?@­ï?@­ï?€bï?ð?ð?ð?ð?ð?uï?À½ï?ð?ð?ð?Óï?&Ö?€Ö?€¼ï?€^ì?Aå?0ª?€äß?ÀÜî?ð?Àƒï?ð?ìí?€Áì?À'î?Àýï?ð?ð?@ƒì?€“è?€»ê?óì?€6ï?ð?ð?ð?€×ï?åï?ð?ð?Àî?@Cï?Àýï?ð?˜î?ð?@áì?€“ï?@ãï?lî?ÀÍï?€Áî?€î?ð?ð?ð?ð?À9í?Mí?€˜ë?ßï?ð?ð?ð?ð?ßï?€Èï?€ï?@ûï?ð?ð?@wî?Àžê?ÀÄì?À ï?Ýï?ð?‹ï?ï?@»î?€yï?@ï?@Ãî?¢ï?ð?@½î?«Â?„«?Àhæ?ð?ÀŠï?Èî?€‚í?Àøï?ð?ÀÇï?ð?€ZÖ?€ôÛ?€}Ù?Ùß?@Åê?Àsï?Óï?€¼ï?ð?ð?$ï?@Öï?Àéï?ð?@Äï?À¾í?=î?ð?€¼ï?€nï?ð?€Èï?@¬î?íë?@zè?À@ï?€×ë?»â?Ší?€¼ï?ð?ð?ð?ð?ð?ð?ð?À=î? ë? ï?ð?À)í?ð?ð?ð?ð?ð?ð?À8ï?ð?@äï?eî?ð?ð?ð?ð?ð?ð?ð?@ ï?lî?ð?€rí?ð?ð? î?@àë?€Öï?ÀIï?ð?ð?ð?ð?›ï?ð?€ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oï?ŸÜ?€ì?€²ì?íè?ÀÇï?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×î?Àµï?ð?ð?@úî?­ì?Õï?@¹ï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@»ì??í?@%î?À™ì?À¢í?@Åç?À¡í?Gì?åî?€î?€;ì?€Oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•è?€¶ï?@Aî?€è?tï?@àï?€âê?€é?€2ç?@Gè?ìí?Ànì?€Ùê?Àì?ð?ð?ð?ð?ð?ð?À¦ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏà?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿î?ÀÛé?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?@?y?@À?ÀPî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.ï?€:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªï?ð?@wæ?@.ä?ÀÆï?€bï?ßï?ð?ð?ð?ð?ð?ï?ð?ð?ð?í?@©ï?Sî?À0í?Ÿè?@Rë?Àï?ÀÈë?@œï?€¬ë?Àáî?ÀPí?€éï?Àî?@3î?ð?ð?€¸ï?ð?@ùï?À¹ï?Àî?»á?ÀGæ?@ßé?À9í?·é?À<ê?€‚Ù?@Óé?Àï?€ïï?@Iî?eï?€oí?@—ã?óî?Àûë?€Tî?€•î?€éï?@’ì?€5é?€Óè?@Oí?Îç?À}à?Àë?@'î?@ºê?@Öî?@Þï?gï?@¥î?÷í?€Ôî?@þï?À8ï?@4í?Aî?àî?€iî?Àsî?Àœì?ï?€Ïé?€ùî?@5ì?€tè?@¹î?€éï?Àâî?ê?3Ò?ÔÈ?®¾?0Ý? ì?@Bï?ÀDï?@Jî?€Aí?€¹ï?À½ï?@]í?ð?ð?@ãï?À=ï?À¡ï?Õï?ð?ð?À¡ï?€Ñï?€¸ï?@¥î?ð?ð?ð?ð?ð?wï?ýî?€8î?€Žï?ÀRï?ÀKç?Èœ? Ì?Îë?@¤é?@Lî?@†ï?Wï?@$ï?@)î?€oì?€î?ð?ð?6ï?À—ï?ð?ð?ð?ð?ð?ð?ð?÷â?X?Àªå? ï?À5ï?ð?€Gï?€8î?Ànï?Aê?@óê?@yï?ð?€ ï?üï?@mï?À×â?2?h•?¡î?>î?ð?@Rï?»î?À³ì? ‰?€bæ?ÀTé?àç?Àî?@Íæ?€lê?€Qí?@î?ÀÌî?ð?€Íï?Àøî?À®î?@Iî?ð?¥ï?ÀÖï?€ãî?Àbï?À—ï?@Óï?ð?€òï?@èã?$Î?ÀÖâ?€½ç?ð?ð?ð?@Îï?ð?€¶í?€Ÿæ?‘ì?€‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?Ï?I?"¸?€qå?Ñê?€ïè?@Îë?€ì?´Ú?Àmî?À—ï?ÀÙï?À9ï?Àí?@oç?@Bî?î?@Òï?ÀÞï?€ï?ï?€7ï?À©í?@#ï?€nî?À¥ï?ð?ð?ð?@„ï?ð?ð?ÿï?€çï?€Vï?À>î?@#ï?@,î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pï?Àxí?€¤ä?@Äå?‡í?¡í?ð?yï?Àë?€­î?Ïï?¤ï?ð?@ùî?€:ï?Àbï?€Íï?Kí?ð?ð?ð?ð?ð?ð?ð?€bï?@¼ï?@=â?@´å?ÀÒï?€ôî?lÍ?¡à?ð?À¼ï?@Wï?ð?ï?>î?@Sî?€øï?@Ðï?€Åï?€wë?€Èç?€ï?@ÿï?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?Àï?Aï?ð?ð?î?€Šï?@_î?ð?ð?ð?ð?ð?ð?ð?ð?€çï?ð?ð?ð?ð?ð?€¼ï?ð?@ÿï?ð?ð?ð?€šï?@*ï?bï?€Ëí?@¥í?@Dï?€=ï?@²î?@ºí?ßî?À†ë? ï?€ï?ÀBî?€þï?€‘æ???ˆä?ÀPï?@iï?À¼ï?@ïï?ÀÒï?ð?@›ï?€çï?€ÿï?@å?ð?ð?@Çë?@)ë?@Äì?€ÿï?Àbï?ð?ð?Àïï?ð?ð?ð?€÷ï?@Ëî?€÷î?ð?@»ï?ð?ð?Àšï?@ ï?@í?@6ë?€ºç?@­ï?@÷î?ð?ð?ð?ð?ð?ð?ð?Éî?@¸ë?À©í?€Øî?ð?@©ï?@äé?“î?@öî?ð?÷ï?@Ùï?ð?ð?ð?ð?ð?ð?ð?Óï?ð?@þï?ð?¦ï?ð?À¹ï?€1ï?€ÿï?ð?ð?€Ëí?@ùï?Àþï?ð?ð?ð?ð?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0ï?€Ñà?€Ÿë?Àáì?ìê?@ì?@õï?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Íî?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?iï?ÀNï?ð?ð?ð?ð?À¦í?@oï?wï?€“í?€’í?€ë?@lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@,ë?€Õï?€{í?Àå?@Øî?À0í?@ßê?Dï?ð?@ëï?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåê?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3ï?àì?Àÿï?@¤ï?ÀÑì?ð?ð?ð?ð?ð?ð?€>ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?€ÿï?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%æ?˜?Çâ?ð?@Rï?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âí?ð?@íî?ï?ð?ð?ð?ð?ð?ð?ð?Ïï?@Òï?À0ï?À¸å?@§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?@dí?í?@Íé?€Jê?Rí?À‡ï?€wï?në?@-é?À~í?À ì?Àßì?@Ûï?ð?ð?ð?@4î?€³ï?€oî?Ôï?€í?Àâì?€¢ê?,×?ÀMå?@vë?@Îì? á?„ë?“ì?À†ï?Àwî?€Wï?À í?€¾è?€Þï?ð?Cï?€Sï?Óï?ÀÍí?ýì?Âê?@îî?À˜ë?@§ë?Þí?€Jï?À‰í?nç?€7î?Àÿï?Àtî?€\ï?@7î?€Ïì?@ví?çî?î?Àžë?€/ä?€ôì?€©ê?@·ì?Àîå?€iî?À?î?€~í?€±í?€/î?@!î?Rí?@Èâ?8Õ?ìÈ?Ú?À†ï?.î?@æî?í?Àkí?€Fï?xï?Îì?¦ï?@—î?ìî?€¹ï?Àùî?@[ç?€šî?Àÿï?€ï?%ï?:ï?€çï?Àýï?€þï?ð?@¶ï?À!ì?€1ç?@èî?À]ï?ð?€Þï?€Sí?SÙ?´µ?ÇÇ?«ç?@uî?@¯ï?@áï?ÀPï?€Ìî?³ì?ÀTï?Óï?€bï?ð?ð?Àšï?'î?ð?ð?ð?ð?ð?ð?°ï?€™Ñ?¤? Ü?@Íé?Üî?ÀÓï?ð?Rï?€äî?@¸ï?€Zì?ßï?Àï?ð?ð?ð?À,ï?À“è?Q? x?£è?€¨ï?€éï?ð?ñî?€mÕ?@¨á?À9ï?Ñí?@Îê?@;é?@ªë?Îï?@`ï?bï?ÀÐï?Àøï?ÀÉí?)ï?@§ì?ð?ð?ð?ð?ð?ð?ð?À î?€³î?€6è?\½?ˆ—?K?Ô¡?Äë?À•ï?@ðï?@ºê?®è?ñê?@­ê?€Ýí?ï?¾î?€hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mê? §?@y?|Ñ?Éà?LÖ?À­æ?€Qì?Hí?€Ýì?€:ï?@Yï?ð?ð?ÀÓì?Âï?ë?@@ê?\î?À`ï?@Âï?Àýí?€>ï?ð?ð?¥ï?ð?@éï?€¦ï?ð?€åï?0ï?ð?ð?€%ï?ôí?@Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æî?×ï?ð?ð?ð?ð?qí?@qì?€"î?À+î?@Íï?@>ï?Àyí?€Hí?€é?Ùí?@Sï?ð?ð?ð?ð?ð?@äé?Àí?ð?ð?ð?ð?ð?ð?ð?Ïï?¾ï?€Ü?Àx? Ž?Àbí?ÀNï?À¼î?@wæ?XÂ?R?ä?ð?ð?ð?ð?ð?@÷ì?Àeå?ð?ð?ð?@°ï?@&è?ãí?€ƒï?@¡î?ÀÖï?ð?ð?@åî?ð?ð?ð?ð?ð?ð?ï?ð?ð?À«ï?Wï?€Çï?À÷ï?€>ï?Œï?ð?ð?ð?ð?ð?@Èï?Êï?ð?ð?ð?ð?Vî?ð?ð?ð?ð?¥ï?äï?@ôï?ð?ð?@ ï?ð?Àýî?€üî?À…î?@»ï?À†ï?€Æî?±ï?€¥î?€'ï?À¸ï?@Aï?@gë?¬´?vÀ?Àïî?ð?À^ï?ð?€éï?ÀÉî?ð?lï?À»î?Àóî?Çï?ð?ð?Òï?@˜í?@¤é?@Ôî?@¤ï?Àÿï?ð?ð?ð?ð?ð?ð?Àûï?€Mê?@Uç?@ºî?†î?àï?àï?ð?@jï?@»ï?€ïç?@òì?ð?€ßï?Àgï?ð?ð?ð?ð?ð?€ˆî?Àóì?üï?ð?@Wî?€›í?@té?À7ì?@¸æ?Àšê?ð?À»ï?ÀÐì?ð?ð?ð?ð?ð?ð?ð?ÀÁï?€ÿï?ÀQî?@vï?ð?ð?ð?ð?@«î?1ï?€ÿï?€î?(í?ˆî?ÀWî?vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éç?€Eß?ì?@ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?³ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?À’ì?ð?ð?ð?ð?ð?ð?À»ï?ð?@Úî?Àôí?€í?À‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?@ÿï?ð?€ëí?¤î?î?ÀFï?€3ï?€é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãé?Àwè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºï?ð?ð?ð?ð?ð?ð?Ààï?€Rï?À»ï?€¥ï?Àçí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Žï?ºï?Ànî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?‹Í?€cÒ?@tï?@ˆì?Àðî?ð?ð?ð?ð?ð?ð?ð?ð?@øï?éï?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aë?À­í?ð?ð?ð?ð?ð?ð?ð?@°ï?ð?ÀŒï?ð?ð?ð?ð?ð?Ëï?ð?ð?ð?ð?ð?ð?Ààï?Àî?ÀØí?€Ûí?ÀØî?À6é?~ì?@è?@äë?–î?@pï?@þë?Íî?kç?@ï?ð?ð?@mï?Àqé?@Üî?€Mî?À¹ï?Dí?î?@ñå?Àyà?šÞ?€$î?@¹ï?@!ê?ÀÎí?î?@î?€yï?áï?úï?€‡î?€‘ï?Àìï?ï?€¾ï?€Êî?Àî?€¾ï?@Âî?À+ï?À=í?@Iî?@½î?lï?6ì?@úê?@Ãë?€î?ÀÀï?€˜ï?€Òï?Àøï?@uí?Üë?ÀÄî?@ýë?Kß?€­ê?Yë?€Ãå?€è?À£è?ƒï?€î?ÀGê?Íî?€²ê?€œï?ð?@ôí?€2í?pÕ?€ÍÜ?€/î?Àèî? ï?À©ë?€jê?çí?ÀWï?€©ï?ð?Àï?€ ï?€9ï?@áî?À¤í?€öï?ðí?€Öî?î?@Fë?¯î?tê?À0î?@®î?Àí?ÀÇì?…â?€ ï?À^í?@;í?ÀÔî?ÀÔì?ÀÔì?À£á?¬ß?§Û?üî?ð?ð?@%ï?€ï?Üï?À^ï?ð?ð?ð?@ï?ð?À¼ï?ð?ð?ð?ð?ð?ð?ð?À¤ï?€<ì?ÏÇ?€ì?ÀÌï?Àúì?€¶î?í?Áï?@3î?@<ì?Eï?'ï? ï?ïî?€]ï?@×î?@0î?€ºï? Ã?¯Ô?ç?ÀFã?Sá?iÄ?R²?À›î?ÀÌî?€Èï?À¾ï?‘ì?ð?@çï?€ î?ï?ð?%ï?Öï?¹ì?Ùî?Àìï?ïï?@Êï?ð?ð?ð?ð?ÀÍé?À±à?Ø?À«á?@aã?ñÓ?¨¡?j?Àšâ?Àrä?€4å?@é?€pî?@éï?À|ï?ÀÝê?Žï?@*í?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃî?„ß?w?(–?€pÒ?@ªæ?‘í?@Áî?À½ê?Sï?Àì?€ï?Àÿë?ð?ð?ÀÖï?ê?Àí?ð?@Õè?€Ÿæ?@ìî?Àí?ÀNï?ð?ð?ð?ð?€Ïî?@ºï?ÀÃï?€îï?€yï?@„î?€vï?ð?@}ï?À7ì?@Òï?€üï?À0ï?ÀŠï?ûï?ð?ð?ð?ð?ð?@}î?ÀÂï?ð?€Éï?vï?ÀZï?ð?€ê?€±à?€Áä?@î?Àûá?Úì?ë?@ï?@Œî?@—ï?ð?ð?»ï?»ï?Àuï?€çì?@í?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?6î?„¨?@g?kÃ?}è?@"î?Àìë?@ë?Ä?Àöå?ð?ð?ð?ð?ð?@“ï?€vï?ð?ð?ð?ð?hï?€½é?»ï?Àüî?ð?ð?ð?Àãï?ð?ð?ð?ð?À‘ï?ð?}ï?ð?@…ï?@Lï?Rï?xî?ð?€@ï?7î?ð?ð?ð?ð?ð?Àµï?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?Óï?@íï?ð?ð?…ï?ð?€¶ï?Hî?@óï?@Îï?@âî?@Tï?€bî?€í?€ßî?@äï?@\ï?RÞ?€g?È?€Õï?À@ï?ð?ð?ð?ð?€óï?€eï?À¥ï?@Nï?Ýï?ð?ð?ÀÎï?ð?Àï?¹ë?@?ë?@Øì?€Eì?@`ï?ð?ð?ð?ð?€´î?€Çç?°Û?áì?ð?@àï?Àwï?ð?@fï?€·ï?À2ì?€Òè?ð?@Xï?€¢î?€µï?@6ï?ð?€Üï?@yí?î?Àêï?ð?À î?ÀNî?ð?ð?ð?¼å?óï?@þì?ÀÎí?ð?Ýï?ð?»ï?ð?ð?ð?ð?€Àï?Àÿï?ï?À´ï?ð?ð?ð?ð?ð?À¹î?­ï?<í?ð?ð?@þï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pï?Íï?@„î?VÛ?Àöì?@øë?ð?ð?ð?@õï?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùê?€ï?€@í?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?€æì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À”ï?Àäë?Àë?ÀZï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâî?€Në?À|ï?@Cí?À ì?À}ï?‡ì?€ææ?À©í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mè?@jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?æ¿?Ö¿?0Ì?€Ñ?ÔÄ?x•?@j?ø–?€}ß?@mì?À&ï? ï?@×ï?@”ï?ð?ð?Àøï?Óï?Ýï?;ï?Ûï?ð?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?€œé?ÀVí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€$ï?€~ï?ð?ð?ð?ð?ûí?Ýï?ð?ð?ð?ð?À¨ï?Àâï?ÀÃí?À]ì?€-ë?@Îé?.ï?@âì?@åï?ð?àî?€~ï?ûì?@àî?À›í?í?ð?éï?€í?€€í?@Qï?€Xï?@ î?€íî?Áì?Lî?€XÛ?*Ø?À/ï?€Žï?@Žï?öï?ÀÅî?¼í?@iï?€ î?ð?@yï?€šî?€•í?€ î?€qï?€Tí?Àï?€Ìï?@`ì?@9æ?À¡ë?@4é?Àtí?3î?@Dí?€î?ÀWï?€íî?@î?@zì?@ºï?€’ï?€Üê?Õë?€4æ?Ôç?€žë?€+æ?@å?€¿æ?€Eë?€î?€Ûî?Àñí?@¸ë?À•ï?€Vï?@qï?€ìï?Àê?€$í?€ÿÞ?bÍ?@3ç?Ëï?@ï?{ï?|î?À†ì?>î?éï?ð?ÀKî?€î?€kî?ÀVì?Aì?@ï?€Üï?Àeî?€ƒë?@ ï?@ï?€ˆï?€ìï?@î?€'ì?@¥î?@àï?@¨ì?€˜è?€˜ë?yï?@jï?€Šì?€ï?@@í?€£ç?bï?ð?Þí?ÀËï?ð?}ï?ð?ð?ð?ð?ð?ð?€-î?@úï?ð?ð?ð?ð?ð?ð?Nî?€Gé?@Îè?@‹ï?Àhï?@Áî?@²ï?Àï?Šî?@ï?@<î?@áí?_ë?À)í?À=í?‡í?@Wî?À`ï?Òí?d£?8®?€YÖ?€¶ï?€í?¿ï?-î?€¥ï?vï?Hï?À…ï?ð?€™ï?À`ï?€Õï?Àíî?À{î?@Ûî?˜ë?@ì?ð?ð?ð?ð?@£é?@é?@Æì?€»ë?Àsæ?!Ë?€ Ý?Æ?p„?a?Àüä?@7ì?ð?ð?ð?ð?ð?Àoí?€Dí?À¿ì?@eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%î?€mÑ?x‘?Ø?Íå?î?Tï?@<ï?€Šï?ÀOè?€ë?À—æ?-í?€ï?9ï?@?î?@Ìî?€Wë?ï?€«ï?@%í?@èï?ýî?@¢ï?ð?À£ï?ð?ð?À¨ï?€ï?€Ûï?€Ìï?~ï?€ìï?€àî?@ïï?ÀØí?À£ï?cï?Àtï?ð?Àï?@ï?ð?ð?ð?ð?ð?@Üî?Àÿï?@•ï?€Šï?Àæë?ÀOê?ì?À\ì?Rë?r¾?Àøí?Àë?Ôî?€Ýç?€mï?@5é?Àhë?ð?ÀGï?Òï?ð?ÀÑï?ÀÆï?ð?@¾ï?Uï?ð?@wï?ð?ð?ð?ð?@Šï?Àôë?`˜?Ê?ÀÃî?•ë?yï?€ñà?Àl?6°?€±ê?ð?÷î?ð?ð?ÀÑï?ð?ð?ð?€õï?ð?ð?ð? ë?ð?@ï?@¯ï?ð?ð?ð?ð?ð?ð?ð?Ûï?ð?€œï?ð?Òï?€ìï?ð?@ï?ð?ð?ð?ð?ð?üï?Ýï?ð?ð?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?ÿî?@·î?Àûî?À†ï?Zï?€#ï?€¶ï?€!ï?@–ê?Æç?ê²?€ƒ?@á?ð?€‚ï?@Äï?@˜ï?ºï?ÀÀï?ð?À©ï?ï?ï?àî?Àöî?Ÿï?€ï?ð?ð?€õï?€×ï?€nî?€~î?@î?@úë?Àøî?ð?ð?€tï?€*ì?@ì?€úï?@jï?€ñì?@—ï?Éî?ÀVï?ÀÍí?@—î?€Úç?Àâí?@ñî?ð?Àýï?@½ï?€]ì?À•ì?€¦ï?ð?À ï?ð?ð?Fï?€Íï?@ê?Àåê?@î?€Ùï?€vå?@‡ê?ð?ÀÝï?À£í?ð?ð?@\ï?Àï?ð?ð?ð?ð?ÀÒï?ð?ð?ð?ð?ð?€úï?@Éî?Ëï?ð?ãï?À±ï?@™ï?ð?ð?ð?ð?ð?ð?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?€ï?€7ì?Àéï?ÀÑï?€Oß?Õì?ð?ð?ð?ð?€ï?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?‚í?@jî?Àÿï?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À8ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@œí?¢ç?Ví?@Dî?À±ï?ð?ð?ð?ð?ð?úï?ð?ûï?@iî?@jê?ñï?=ï?Àoï?Àé?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?}ë?€Kí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sï?ð?ð?ð?ð?ð?ÀÐî?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èì?€ëï?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?€&Ð?¼¸?@]ç?Õï?ÀOï?ÀUí?@Fæ? Ú?»Õ?Я?Àk?~°?ü¸?€‹Ú?oÆ?€·Ó?@ûí?€áï?@àî?À¦î?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?€«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?×ï?ð?ð?ð?ð?@ïï?Àôï?ð?ð?ð?ð?äï?ûï?€ ï?±ï?À%î?Àtî?@Òï?@î?@Üî?Mï?Àâí?ÀFï?@gî?Àéï?€?ï?@ì?À0ï?ÀLì?<í?Àî?Ôê?Øï?Àôî?Àì?@9î?é?Ü?Úî?@Jë?@é?Ûï?€0í?À|ï?€Ûî?€èí?ð?Àâï?òî?ÀQî?@¶í?+î?À»î?ì?@`á?UÇ?€Ú?@Øå?€‡î?@¬î?À¼ï?@ï?@õî?@ï?@í?ð?Wï?@­î?@­ì?@í?À³ç?@.æ?Ùç?@—ê?§è?€±ç?Àé?Éã?@Ûì?À`í?Ààí?ÀÖì?Àë?¹ï?ÀÝï?vï?ð?@Ãî?sä?Á?6Ì? à?@%ï?Ñï?œï?€Åî?@žï?=ï?ð?æï?@rî?@©í?Hï?@ ï?@™î?À|î?ð?Ãï?àé?€~î?€¬î?ð?ñî?@âî?:î?€4ï?@÷ï?€ï?@#î?À¾ê?€æï??í?Àâç?€æå?%æ?À å?ð?dï?ÀNï? ï?ð?€ãï?€úî?ð?úï?ð?ôï?ð?ÀSí?€\ï?€ ï?@ðî?@ðï?À”ï?@ê?€çï?ð?€Äì?@Aí?Àoí?@£í?vî?ÀÇî?@ï?€-ç?€zâ?Àé?@Fï?€šî?@ï?ï?@úî?kï?€Üä?€nÖ?@??Àèã?ð?¦ï?€ ï?€ ï?€•Ö?tí?@áî?€ï?€Zï?ð?À‘í?Àwï?€8ï?@ î?Âï?±ë?@?ì?€¡î?ð?ð?ð?ð?ÀÐí?ð?`ï?€Žë?Àá?€êÞ?QÑ?À‹æ?€õÓ?2?~Û?€ê?@î?‘î?îì?ð?ð?ÀVï?€ç?€$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìí?äÕ?h‘?µ?€„â?@=í?€Áï?ð?À5í?Àï?ð?Hê?À»ê?À>ì?Àaî?áï?Àè?€*ì?€¢ë?@[è?í?ð?Yî?€hï?@nï?ð?ð?òï?@Ôï?ð?ð?ï?ð?€²ì?@­ï?@òï?-î?‡í?øï?€ï?@Èî?@™í?€ï?@oí?Àyï?@Ýï?ð?€ùï?Àýí?@Iî?Àâï?À¼î?Àéï?Œå?@fê?€rß?ËÔ?æ?0Ó?—Í?€Œì?@]ê?@í?¨ì?€-ë?ã?ð?ð?»ï?€¬ë?ì?€ôï?ð?€éï?Àgï?ð?öî?ð?ð?@Ýï?ð?@ìï?,ä?©?ê±?€î?Àhí?À÷î?€kî?-Ý?€Þ?€‹Ú?@xå?À¢ì?@Pî?ð?ð?ð?ð?ð?ð?ð?ð?ºï?ð?ð?ð?@õæ?@Àï?Ÿî?ð?ð?ð?ð?ð?Òï?ð?ð?€¯î?@×ï?ð?Òï?ð?À#ï?€½î?ð?ð?ð?ð?ð?ð?«ï?@»î?ð?ð?ð?ð?Xï?ð?ð?ð?ð?ð?ð?ð?ð?€Sï?ð?Àï?Àõï?÷î?@ší?€:é?áê?éã?€¼Þ?@ÿæ?Àêå?@°î?ÀZì?Àlé?Eæ?8Ÿ?@‰?%Ø?€üï?ð?Áï?@2ï?Žï?Àíï?Àï?ð?ð?@þï?€\î?°ï?ôï?¸ï?Åï?€ƒï?Òï?ÀŠï?Àëï?@ï?€£ï?€Ãî?€wî?€[í?ð?@Àï?@˜ï?²î?Àdï?Êï?À5î?À;í?Àâè?€Ü?Àî?~ï?@ïï?@Yê?jï?Bï?ð?À®ï?À:ï?Îï?ð?ð?ð?ìï?Àüï?@›ï?ÀØï?€ÿï?ð?ð?ð?@ûï?Àï?°ç?ð?ð?Àüè?@üï?ð?@ßï?nî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?Øï?(î?@Æï?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üî?íï?éî?Áï?ð?½ß? ì?ÀÓï?ÀÉî?ð?»ï?ÀGï?ð?ð?ð?ð?ð?ð?ð?€Yî?À‡ï?ð?€Pï?@>ï?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ï?@¿í?@Iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@ï?@¹í?@Dî?€˜í?Ùï?Àïî?Àï?€ëï?ÀDï?ií?ð?€Æï?ìï?ˆï?€Xî?ð?€žë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?€ªë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€êî?Àóë?uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?·ï?ð?ð?ð?ð?Âî?€eï?ÀËï?ð?Àûï?@‘ï?ð?ð?ð?€ôï?ð?ð?ð?@šî?À§î?€õï?ÿï?ð?ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ß?€Ô?ð?ð?ð?ð?ð?ð?€5Ú?À?Pˆ?@³ë?>Í?À¼ä?ÀBï?€¶í?öî?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ð?ð?ð?ð?ð?ð?ð?ð?!î?ð?ð?ð?ð?Úí?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ð?ð?ð?ð?¼ï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ð?€ôï?ð?À¢í?@ìî?€µî?@âî?Vì?€Sï?Òï?âï?€&í?ÀÞí?€Yî?À9é?µï?Àjì?@î?€ní?@±ë?ð?£ï?€Ãí?@Ìì?=ê?çÛ?@ í?€ä?Ï?ýî?€íî?Ààï?ûí?ÀAí?Òï?À£ï?Øî?€üï?€·ï?@å?Ö?`¥?Љ?äß?ÀKî?]î?ÀÉí?ï?lì?€Gî?pî?Uï?ÀÆí?À…ê?À…ì?Àãê?@Ñé?@Uè?@%é?ê?Àá?@èé?Àpé?@)ê?€ìè?À×î?À í?Àÿï?ð?À´ï?ð?ð?ð?ð?@çî?ÝÊ?€¤à?€ë?öï?ð?ð?°ï?€’í?ð?ð?@Ãï?ð?@ï?À î?@ î?@‡î?Àêï?ÀŒï?Àiï?€ªî?€þî?@Cî?€ôï?€í?À í?€\é?@|ï?Àhî?€oì?Àë?€4ì?í?žï?@Iï?€è?Æï?·î?óï?€]î?€<î?€0ï?Òï?ð?~ï?ð?ÀJî?Àèï?°ï?ð?€Rì?€Sï?Wï?{ï?@xì?Àìç?@®ï?¬î?í?ÀÍí?@iè?À`í?ùî?@Gï?|ï?Àpî?€µã?cê?ÀRã?Xë?€dï?@ðï?€ôï?€ï?€î?T¾?ˆ¨?€Åî?ð?ð?ð?€”í?ü¨?€£Ô?Àoï?€Xï?À¥î?@<ï?@¡ï?€ƒï?@ï?ÀHï?Àï?‚ë?À.î?@·ï?ð?Hï?ð?ð?ð?ð?€·ï?€~ç?ç?Àüè?@ê?Àbí?@(ë?bÐ?}? Ð?€æÙ?€þà?@¦å?ð?À`í?Àâ?@{æ?@xë?æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À<ì?l·?Xœ?âØ?€ûè?€@í?øì?ð?@"ï?À·ï?ÀÃï?@·ï?ð?Uí?´î?@1ì?@¼í?@äî?€7î?€ªç?}ë?€lä?Àçé?@.í?€Lí?Àkï?ð?ð?ð?ôï?€Ñî?Àûî?Žï?èï?À-î?ë?@mé?Àiè?öî?Àæì?ÀÇí?@uï?Àí?@ûí?@Îî?€3ë?ÀÕé?@ãî?ð?Àêï?À°í?ð?€âë?@Îê?ð?ôï?@"ã?€,é?€çâ?’Ç?ÀBá?¡ç?€ÛÓ?Ú½?ú³?€PÚ?Àœä?@ªî?Àòí?€ùí?ð?ºï?½ï?@¤è?@ýî?ÀÛï?ð?€Æï?ð?@·ï?ð?ð?@<î?fì?ð? ï?€ Õ?R²?›Á?aÈ?;ì?À¾î?ð?ð?ð?¯î?Öï?Üï?ð?ð?ð?ð?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIé?@·ï?ð?ð?ð?ð?·ï?ð?ð?ð?ð?·ï?ð?Öï?ð?@Vî?ð?Àcï?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?À‚í?€ûî?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?©é?@jï?ÀPê?@¯ê?€Êì?€aß?çÝ?@¤ë?üÏ?Àå?Àóà?Àžà?ÀŠá?6í?€,í?Î?€ä×?@î?ð?ð?Àêï?èï?@2ï?ð?@(ï?Àï?@nï?ð?Àaï?Òî?@Õï?@’ï?Yï?ð?Ÿï?ð?ð?@Öî?èï?ï?@mí?@7î?@Jì?€mê?@4í?âï?ð?ï?Üï?î?·ï?Åî?ð?"ì?Àï?€Œï?À£æ?Àç?€í?Àáí?Àï?€¦í?uí?¹ë?ð?ð?Wï?ð?ð?ð?@ í?€¸î?ð?ð?ð?ð?ð?ð?î?þå?ð?ð?€~è?€ªï?ð?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?4ï?@ î?€Ûï?ð?ÀÛï?ÀÞï?ð?ð?€gï?ð?ð?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•ï?ïè?ð?@Ãï?ð?ð?äì?ÆÞ?ð?@ë?«ï?ð?€nï?ð?ð?ð?ð?ð?ð?ð?ð?€3ï?ð?ð?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?î?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëí?@Dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?À·ï?€ì?rî?€Œæ?À%î?ôì?Pî?@3ê?@‰ì?@Õî?·ï?€óî?-ï?ÀÙæ?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?@ñì?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“ï?ð?ð?ð?ð?ð?ð?@ï?\î?ð?@·ï?ð?ð?ð?ð?®î?ð?ð?ð?ð?âï?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áë?X´?€TÓ?ð?ð?ð?ð?ð?ð?ð?€ñÜ?h?€aÕ?€ôÓ?À;ë?@&ï?@ûê?Àî?€jï?À¡í?@”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ï?ð?ð?ð?ð?ôï?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?Àzï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?Vï?îï?Àzï?@·ì?ð?Êï?À˜ï?bï?ð?ð?ð?À·ï?ð?@í?ÀSì?@‘î?ð?`ï?Äï?ð?€ï?€Èí?€ì?À’ï?À»ê?À_î?ˆî?@=é?¥â?À†î?@üî?ˆè?€ï?ð?ð?Àêï?ð?€Jî?€ËÜ?°§?Ƶ?€#Ú?ì?ÀKì?@wï?@Vï?ÀÄî?@»ê?î?@©í?€èì?cí?À¸ì?€öî?@4î?€¾í?ÀKî?Àè?«é?€Gã?À«ì?÷è?Àÿí?@ì?€Õì?Àì?úí?@½ï?€¼î?@‰ï?Àéí?ð?zï?@Òï?€Ûï?À‡ì?À+è?ÀØá?|ë?Ûî?@Ãï?€„î?ð?½ï?Äï?Àêï?@Õï?Öï?ð?@Òï?Àí?@xâ?Àç?@Vï?ÀÅí?À&ì?@pî?€.ï?@|î?Àãí?À)î?€«ì?€Ší?€‚ì?€ëî?@cï?Àëì?Àsë?ÀÜî?@Ýî?î?@í?Àï?Ÿí?ÀŸï?ð?àï?ôï?èï?ð?@ï?ð?€Jï?ð?Àªí?7ï?ð?Tî?€_ç?@vî?ð?À½ï?@ç?œì?À¾æ?@Jê?€pì?î?€ï?@äé?@1ì?€ãì?àï?€•î?Ðï?€í?Øî?€'ê?@â?Üï?Àï?€¬î?@µï?€JÝ?,¥?lÄ?@Jå?Âè?€mè?À¤ë?Àî?íß?8½?Uâ?ôà?À¿ë?ð?@çë?€™ç?€cï?€ï?½î?àï?Àí?@Qï?ð?ð?ð?@õï?@ ï?À=ï?ð?àï?ð?@‘í?@%í?#î?@œî?@ ì?=ï?‡Ú?`Ù?€Éá?@è?ð?@wê?@Oã?€Þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ë?É?¦?(Å?€ä?ÀNê?ð?úï?€Ïï?–ï?·ï?«ï?À¹í?€ôë?šî?À é?Àmî?@Ûç?@Xï?§ï?‰ï?<ï?€°í?@õì?ªí?À†ï?@Àï?ð?ð?ð?@ï?@Ãî?@Úï?€*ï?@tï?@î?‰ì?€Ãæ?Þì?€î?À-í?€²ë?Àlí?€Îï?€fì?ÀWï?ÀÓà?ÀFç?€Fí?ÀÌî?ÀÞï?À©ï?ð?Àüì?Èë?ð?ÀÈì?ÀRà?€dê?@ýç?À˜â?€¹ß?Rí?€JÚ?VÑ?€X?œÁ?´Ö?@Gà?@¡í?nï?ýï?úï?ð?ð?@Hì?ð?€Xï?@•ï?ð?ð?ð?@Ôï?Àµï?ð?€¥à?8?0‰?´?ÉÒ?@’ï?€ï?ð?@·ï?ð?Àíï?ð?ð?ð?ð?ð?ð?@©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ç?€î?@bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºï?ð?€Ïï?ð?ð?Àkî?€cë?ßî?ð?Fï?€@î?ÀÜí?@%ï?nï?@í?€ ï?@7ï?ôï?Àóï?ð?@·ï?ð?€†ï?ð?€1ï?@bï?ÀÛï?ÀÏê?ðç?@Fç?&ì?’ê?@Bæ?@sæ?€»î?Àsï?€YÓ?N×?§â?¾Î?€®é?€×?X£?}?Ã?€cê?@lï?~ï?ð?ð?@´ï?€Õï?ð?ð?¨ï?€·ï?ð?À±î?@ï?ð?€Éï?ÀÃï?ëï?@ î?ð?€zï?ð?ôï?€áï?Àwî?Àëî?áí?€áï?ÀVî?¦í?@Vï?À@ï?Àáï?ï?Àæï?€Ûï?ð??î?Àöè?@Ðî?À|í?«ç?À¬ç?€Çå?&ë?ê?€˜ï?€ôç?€"ï?ÀÅì?ð?Àòï?ð?ð?ð?@ºì?€êï?ð?ð?ð?€áï?ð?ð?ÀÞï?€Wè?@Õï?ð?@ ï?@“ï?ð?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?Ùï?ð?bï?@«ï?·ï?œï?ð?ð?@\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?ð?ð?ð?úï?ð?ð?ð?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?À³ï?À2î?€í?@Ãï?À=ï?À¶ï?À§ï?ÀÇï?'Ü?Àñî?€òë?€‰ë?ð?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ð?·ï?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?¬î?ð?ð?Žæ?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëì?ë?Žì?pì?@Oå?@!ç?À ì?€ë?Wë?@ï?ï?€+ë?@øê?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mí?Àíí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@–ï?€Ðï?ð?ð?ð?ð?ð?ð?Àaî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?/ï?Àwä?2Á?@ðå?€§ï?ð?ð?ð?ð?ð?ð?@Íî?aØ?Àp?€R?¢?êÕ?@åä?€9å?É? ¾?t¼?€øÛ?T£?¾Æ?âÊ?gå?@bë?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?ð?ð?hï?Àžï?Àçï?ð?ð?ð?2ï?ð?ð?€Ðî?@Æï?@wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?ÀÜî?ð?ð?ð?ð?ð?Àçï?ð?õî?€Üë?uí?@¥ì?€=ï?ð?À·ï?Àºï?€Ÿï?ð?ð?Àóï?úï?rï?aï?Ðï?€øï?€(ï?@Úï?@ºî?@íè?€Íá?·Ð?ð¹?B?ÅÅ?€ké?€Bé?À…é?€¯ì?ÀYë?ßê?;Ì?tâ?À§î?€‹é?ÀZí?À‘î?€uë?Àvì?@Ÿî?Àšî?ÀÀì?@í?@Ïê?Ùà?&ê?+ç?€ºè?Àë?À€í?€§î?ÀÕï?€èî?@Žï?@¨ï?ÀØï?À2î?4ï?ýï?«ï?@´î?üí?@”ç?€±ç?hî?@Ïï?ûî?€Ûï?ôï?Àžï?ýï?úï?Àï?€î?€®î?Zë?À¡ê?Qç?€»î?Àçï?@ï?‘í?€ì?Àê?@Êí?@Dï?@í?#î?ïí?@äì?@ªé?@@ê?€í?À†ä?Âì?@ùî?@´ï?€Æï?À\í?€Üî?Àóï?€šï?ï?@iê?€åî?€\î?@Sî?€½î?À7ï?À™ì?€î?@î?@‰ï?@Àí?À î?í?ÀÄí?)ì?Eè?€ì?èí?À—è?@Òï?zï?À½ï?À_è?èä?¦ë?ÀŒã?À‹æ?€Þï?€áï?@î?¨Ö?Óç?@«ï?5è?€€Ø?€Z?à¢?€Žé?ð?€ûï?@‚î?@ªí?@Qä?cÔ?~??@»?×?€Mç?€Äì?@Ýí?€áî?€ìì?Yè?@*å?@Uä?@™ë?ºï?ð?ð?€‘ï?âï?ð?€wï?€žî?ð?ð?ÀÝï?ð?ð?@ùí?@æ?€=Ö?ʱ?@Zá?@Wç?Àùè?ÀCí?À[æ?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€žï?àÐ?H?`r?@b?€X?`~?p‹?¢¹?ØÀ?€^?`~?€öÑ?@­ë?ð?€ë?@{î?ð?ºï?ð?€Òï?Àðï?Àøî?€ì?@žê?€&ê?@”è?€£è?€Ýè?À–ì?Dï?À¿î?À¿í?Àðï?€Òï?ð?€»ï?ð?€Øï?À€ï?ð?Sï?@§ì?gí?ÀBì?@`î?@&ì?€»ï?yï?€ëî?€Éï?ï?@nï?€Sí?ÀÜî?ÀÄî?À‹î?šë? î?Wî?@âî?@1ï?@±ì?ÀUê?\ï?€bç?Îê?ââ?€(ç?€³å?è?íí?€£æ?@µç?v¾?€ºÔ?€*é?€oí?ð?€Âî?@ˆí?@jë?Àáí?Þç?@æ?€¯ï?ð?ð?@<ï?@éï?€9æ? ¦?€Ò?À.é?Ú?€9Ö?ÅÇ?Àf?Àdè?Àíï?À‰ï?€•ï?ð?€=ï?€Øì?ð?€Òï?ð?ð?·ï?ð?€Sï?ð?çî?ð?ð?ð?ð?ð?ð?ð?ð?@ê?Àjí?Àzï?ð?ð?ð?ð?ð?ð?ð?@éï?@0î?@´ì?ð?ð?@Gï?Àðï?ð?ð?€÷ì?@Íé?ÀÒï?@ñì?À~í?@!ë?€0î?€Jï?ð?ð?€·ï?ð?·ï?ð?ÀÛï?ð?ð?ð?´ï?Úï?@—ï?À¬í?€òí?@$â?@ƒë?ð?@·ï?ð?Àäï?®ï?ð?ð?@®ï?@Âé?€ôÖ?€œ?Àv?`¥?€œ?„Ó?ð?ð?ð?ð?ð?ð?Àíï?€Òï?@Ðî?ð?À¤ï?À¤ï?ï?€Ûï?Àäï?@·ï?€áï?Àoï?€Øï?ð?ð?ð?ï?Àíï?ÀÖî?€Ïï?@%ï?Àòí?@Àí?@ë?Àðï?À’ï?@\ï?@Hî?ð?À”í?€fï?Ñï?€7ï?‰í?Àî?@nï?[ì?€›ì?Àÿç?@í?ð?Èî?€hï?€zï?ð?ð?€•ï?€Åî?À|ì?Àçí?@¤í?ð?ð?ð?Àíï?ð?ð?ð?@¹î?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@8ï?ð?ð?€»ï?€{ì?Àˆî?ð?ð?ð?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂí?@¢ï?À ï?xï?Àðï?´ï?€êí?€äî?€ï?³Ü?€Hí?@ƒî?Àsí?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?ð?ð?Àóï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?ð?ð?ð?ð?ð?ð?ð?ð?@Qì?€Zê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éï?Àçí?À¶í?@Åë?@,í?@Ÿä?¼ã?ë?€ì?À2ì?€Uî?€÷ì?€¬ï?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQì?Àþé?ÀRï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?€zï?@}í?ð?ð?ð?ð?ð?·ï?ÀIï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oï?À ï?€Ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?HÓ?€&à?À¶å?ð?ð?ð?ð?ð?ð?ð?€Éï?€ÝÜ?²»?Àná?€ãä?@@î?µî?@Ží?´¶?ôµ?€Hß?€Äæ?@æ?²Á?€Ò?@—ä?Àˆå?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šï?Àðï?ð?Àíï?€’ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙî?Ûé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?Àðï?ð?ð?ð?€·ï?ð?ð?ð?ð?ð?ð?ð?ÀOï?À7ï?€Éï?@Âë?€•í?ð?ð?hï?ÀÛï?ð?ð?ð?€Aî?Àvî?À>î?€Øï?…ï?€Iï?€îî?À\å?ÏÊ?*°?@b?€n?€X?@Úà?€qé?ÀNë?7î?ôí?€Eí?€©×?¢?Ù?@Ëì?Èì?>ç?@±é?@¸ê?@ýì?ÀŸë?èí?À(í?Kî?€è?Úì?@æá?0±?À,ê?,ï?€Ýí?€(ï?@®ï?@!î?À“í?@Ãï?Àýî?*î?ªí?ð?€Ïï?À€ï?À›ï?ÀUî?€æ?€xî?Àçï?€ï?‹ï?@hï?Àçï?Àçï?ð?Âï?€’î?@ëì? à?€î?Àç?€"è?Àðï?@–ì?€àî?‚ê?Bì?Àªç?èì?Îì?Àúî?€ðí?[í?@ïë?Àýé?€Bç?€ßà?€Çê?À7é?4í?€Œï?ÀÙî?ð?ð?ð?ßë?À—é?èí?ÀNî?€ê?Vï?€Kï?Dï?€Hí?@¢ì?ÀOï?€Ïï?ÀÛï?Àµí?ÀJì?@.ï?ÀÁî?ë?ÀÑë?@í?€î?Éî?ð?€OØ?€$×?€rí?Ànî?9ì?Ëë?Å?€é?EÀ?ä¦?Àè?ð?ð?ð?ð?ÀÛï?Ànï?õé?°ˆ?ƒ?äÆ?ÞÝ?€Nß?@†ì?€¼í?€”í?À ë?€ÛÚ?€iè?€Ó? ä?1î?Àï?@Iî??ï?€Õï?Ÿï?€fï?Àäï?€áï?ð?Àðï?@3í?À.æ?@Ñí?@õæ?€š?€áÚ?Àäï?Àíï?€9ì?@£è?€Uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?@Óé?@:ï?Úï?ð?ð?ð?@ ï?€!ì?ï?Àî?€/å? z?€ZÜ?ºâ?€ºÒ?@­?Cî?®é?ö¾?·?£?R?ãÀ?ŸË?Àvà?@Ïã?ÀÎä?€{î?€Üî?€Ïì?Ÿï?Àäï?ÀAî?î?€¼í?gí?Ààä?€àê?Àê?ÀOî?þê?Ÿï?€©ï?ð?@Mï?@Àï?Jï?€<ì?ð?ï?ð?ð?Àòí?€më?€˜í?Ààì?@·ï?ïî?×ï?@àï?À/î?ð?À†ï?À“î?Àèî?ÀÜî?À4ï?À³î?`â?Qî?@òë?Àä?ÀXí?€Ïï?ÀMë?@ï?€Úë?À™â?ÀTî?Àà?)Ø?@ï?€Äî?Êè?Øç?/ß?º?Àf? ±?€ôÐ?;Õ?Àbâ?€Åí?Àýí??î?@Þí?€ûï?ð?ð?Üí?€Ôß?à‡?d¶?›ê?@3ï?€zï?@ ï?À­ì?Ï?àÈ?@àï?€Üî?@Äì?Àí?@ï?ð?ð?ð?Àäï?ð?ð?€Üî?ð?ð?Àçï?pï?@Åí?ð?ð?ð?ð?ð?€Ïï?ð?€í?À%é?Àçï?@·ï?ð?ð?ð?ð?ð?­í?Àè?€ ë?@ˆè? ï?ð?ð?€Æï?ð?€ßë?@Lì?ð?ð?@Éí?@bí?¢ì?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?@\ì?@ßí?Ëï?ð?Ðæ?€Ñé?ãê?ð?À?í?À–ë?ð?Àçï?ð?ð?ð?ð?@àï?-ì?À§ë?@?í?@¦ì?À£â?Á?€ä?ð?ð?ð?ð?€Ãï?ð?ð?Àäï?ð?€‡î?@]î?€¦î?Àžï?ð?À}ï?õî?Àíï?@àï?À•ï?€Ïï?Àçï?ð?€4î?€Ïï?€Íî?@iî?@Xí?î?€ùê?€í?À+ì?@bì?€Äî?÷ï?ð?@¸î?À²ï?€ÿî?¥ï?Àî?@&î?Àžï?€åí?Àï?@Žä?šé?ð?ð?ð?ð?ð?ð?@Àï?@%î?€—ë?@®ï?€Öî?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nï?Àçï?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?©í?@Žï?@…ï?€%ï? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?€Éï?ð?Àdí?í?À‹í?€}ï?ð?¶ì?@'í?@Iá?@Eâ?€Ìë?ÀIí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?@ î?€Ïï?ð?ð?ð?ð?ð?ð?ð?ÀÛï?À‹è?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?€Æï?±ï?Dë?€Aë?€ì?fé?@Gè?@Àï?Îï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@eë?÷ï?sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êì?ð?ð?ð?ð?ð?€Ðî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™è?Àîç?@Èâ?€—ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇî?Në?À‰î?ð?ð?ð?ð?ð?ð?ð?ð?ÀWï?‡æ?8¢?0‚?t¼?Àúë?ð?Àôî?@àï?÷ï?Ãê?€X? £?l©?©É?€£å?@ï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?Àçï?Àçï?À1ï?ð?ð?ð?÷ï?ð?ð?ÀÛï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?À»ï?÷ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?@«ï?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?Ÿï?Vï?Àóï?À}ë?@ î?ð?@ûî?Àøê?Àçï?ð?ð?@êë?€íé?ð?À¸ä?@Åâ?•Ð?Æ?Øœ?‹Ã?€gÒ?€kØ?šÍ?@x?œ²?SÇ?~Â?Ì?‚¼?@k?n³?žÙ?Hê?Áê?Àë?@ê?@¥ë?@î?€ é?õê?@²í?@›ê?*î?€Ìé?¥Ç?€qÑ?@Äé?@ î?Vï?@_ï?@·ï?ð?Àí?€}ì? î?Àï?€4î?Vï?ð?À=ï?À•ï?€Wï?ðì?ð?ÀÅí?@<ï?€¦ï?À’ï?ð?@Ãï?Àžï?@Fî?€ðî?Fí?€³í?À†ï?€Áí?@±ï?@Æï?@cë?€†ï?@hï?ÀÔê?Jî?€‡î?À™í?€mê?€Üî?Àté?@Ñæ?aë?€„Þ?ÀÂé?À¤î?€î?Àçï?€¾î?@Pï?ð?ð?ð?€üî?À í? é?À>î?€í?Àíï?@6ï?À2î?ï?Àçï?@¿í?ð?ÀŸî?€Ví?£í?€í?6î?éé?@½ì?À%ï?€î?€›î? ï?À/ë?€ß?v±?ŒÂ?ñá?À ë?€ÃÖ?¾ç?íÍ?‰Ç?€÷Ô?@x?³À?@³è?ð?ð?ð?ð?ð?ð?ð?Úï?ˆ½?ûÌ?Ö±?µÐ?ÈÏ?@æ?Àê?'ë?@Uê?@aã?€œÖ?œÓ?à§?pÎ?@Oè?@òî?ê?À`ï?ð?À!ç?À­ì?ð?@½ï?ð?5ï?@Zë?9Þ?Û?iÎ?Àv?€Ù?€ìê?dí?À1ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?<ç?Ö?€­ä?ð?ð?ð?ð?@?è?@ÿá?íØ?$²?Ào?€Ñ?€Ý?@¤è?FÌ?B?<ë?@ ï?WÔ?&Ç?€ÛÚ?¸–?ü¶?ïÔ?Àoã?€2î?@qæ?Ÿî?ÀÇë?€¢ç?À°î?@”î?÷ï?€ÿï?€ÿï?@Vï?€ì?À'ê?Çà?@Åç?€Ìí?ÀÒî?€äí?@Åï?ð?ð?@Vï?ð?@+í?€Çë?€¨ì?Àdî?ÀÒì?À&ì?€Äî?@bì?À4ï?ñî?@Ïï?€Ìï?@·ï?Àÿï?ð?ð?€aï?ï?€Éç?€tí?@ûï?€.ê?"è?DÚ?@Xì?yî?Xí?@¼é?@ï?À<â?ŽÇ?@ñî?½é?Àzê?³ï?@”ì?@æí?€ŠÞ?€0ê?€ªì?-Û? ‚?̳?@~â?@kë?€þí?€/í?€æ?ZÓ?°›? ´?uè?¬î?@^í?@Eî?€Äî?Àé?‘æ?€bÚ?ð?@oî?ð?Àÿï?@nï?ð?€–î?ð?·ï?ð?€Vî?€4é?€nï?ð?À'í?ð?ð?ð?ð?ð?ð?ð?ð?ð?Gî?ûë?ð?ð?ð?ð?÷ï?·ï?ï?Hè?€=ï?ð?Àÿï?€ðé?À£ï?÷ï?ð?@í?@Aë?ð?ð?€Ïï?ð?ð?À©ï?ð?ð?ð?ð?ð?@·ï?ð?ð?·ï?ð?À—ç?@cí?·ï?@ï?À…ï?€`æ?@:è?ñé?À¾ï?€nï?€vî?@äì?@eï?@Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?€•ë?@nï?ð?ð?ð?ð?ð?ð?ÀÏï?Àêï?€Ïï?@Xî?@@í?÷ï?ð?Ÿï?€¸î?Àî?@×ï?ð?@zï?€çï?€†ï?«ï?Àÿï?ð?@…ï?nï?€óç?ÀÌí?@Lî?@qì?@\î?@Dé?íê?@®ï?·ï?À„ï?€Òï?@wï?ð?ð?€Üî?€Ñí?€èî?À ï?@å?À¡é?À¯í?ð?ð?ð?ð?ð?@Ïï?€ ï?ð?ð?@Ïï?ð?@%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ží?ð?€Ïï?À†ï?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?€Ûê?ð?ð?ð?ð?ð?ð?ð?@6ï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éî?€wï?ÀOï?Àmï?Àdë?ÀZê?Àí?@sê?À0é?UÑ?€0è?ÀÝí?÷ï?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?@®ï?@Îï?ð?ð?ð?ð?ð?ð?ð?ð?Àzï?€Ãï?ð?ð?ð?ð?ð?ð?ð?ÀÃî?@3î?@6î?À,í?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘í?À!è?!ç?À¯è?@«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?@Ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?@ë?@nï?ð?ð?ð?ð?À#é?€çï?ð?ð?ð?ð?ð?@¸î?ð?Àäï?ð?ð?îï?ð?@Øä?Èá?È?aÇ?€Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€è?—Ó?B?Ã?€aä?€×?à?ð?€ÿï?Àçï?@·ï?€ûé?¸·?îµ?¶?t¯?Š?ž?+ß?@þï?@¸í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?Jï?ð?ð?ð?€{î?ð?ð?ð?ð?ð?ð?Àªî?@rí?€dí?™ï?ð?ð?Àçï?ð?Àçï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?@–ï?€Zì?ð?Àçï?ð?ð?ð?ð?€Ìï?€0ï?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{ì?@èî?À†ï?ð?€Iï?@¬ç?Àžï?€ï?³ï?ð?Ÿï?ð?ÓÀ?7Æ?€Ûä?€0Ð?€sØ?cà?×à?€ÿï?€ÿï?ÿï?â?žÁ?YÃ?€Zã?ßå?Àé?€ûé?€§ì?@Àì?Æé?€ë?€?í?@Dï?¢ì?œï?¼ê?¿å?€–Ô?@xí?Àrï?€2î?€­ë?ï?€jé?@Áí?@Jí?@.ì? ì?@Áí?@ï?ð?Àßî?í?£î?€†ï?ð?€êï?Àî?òî?€\ï?@Ïï?Àöï?@Æï?€*ë?ìí?À…î?@Pî?@¸î?À„ë?×í?€6ï?€ÿî?€èî?­í?@žï?@˜ç?Ðî?@4î?Éê?@é?òì?@Lì?À½í?@ç?Uê?+í?€âî?@­í?ð?€Ìï?±ï?«ï?î?À¢î?ÿï?€Úï?€%ì?@‡í?Àê?À1ï?Àï?@êí?Ÿï?€’ï?Àžï?@àï?@õî?ð?€äï?ÀŸé?Àí?@•ï?€kî?@í?@Áî?ÀEí?ÀWî?@oî?°æ?Г?̳?€'Ý?2²?ÎÉ?`y?€é?ð?Wî?ð?ð?ð?ð?€®ï?ð?lí?´Á?€øê?ê?€òí?ÀKì?€aî?€2î?@Ÿê?mä?€ºé?@œì?€ÌÒ??³?€=ã?€ïè?ôï?€tì?À:è?îï?ð?ð?ð?ÀSí?€Jí?@Üå?ˆ·?€ÁÑ?@}é?àë?Àÿï?ð?ÀÛï?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}å?ÐÒ?Ãï?@Îï?€Fï?€ðî?õí?õà?x¡??êÈ?€Öæ?ÖÅ?ÀLä?ÀÏî?€‰î?ïÈ?–Ä?¼³?б?ûá?­Õ?¤Õ?ÀAà?˜¢?šÓ?þä?À¢à?À>î?Àÿï?ï?À6ê?iÍ?€…?¾»?€GÚ?@5æ?@í?@]ï?€î?€æì?Àï?“ê?@:í?€.ï?·ï?Àî?€·ï?´ï?À­í?@à?lä?Eí?.í?@›ì?@'ï?Àíï?ð?@Ãï?ð?À¢î?€Oí?@½ï?€Uî?•î?€¿î?@ ï?€•ï?@Àï?€ãì?ð?@Sï?ð?ð?ð?ð?€Ïï?@£í?ÀCì?À›é?@Nï?@Ôé?À·ã?@Të?ï?™ë?€ á?@î?eï?@†è?Ç?À`è?€'í?€úë?@rí?À å?"è?€ýë?@åê?´æ?@[í?€ÄÖ?®¹?è®? Æ?Àæâ?‚ì?ÀÛï?À’ï?€tï?@½ï?ð?=ë?ð?@âç?ð?·ï?ð?ð?ÀÛï?@8ï?€…í?ð?ð?ð?Ÿï?@è?€·ï?ð?ð?À‡î?ð?ð?ð?ð?ð?ð?ð?€Ãï? ë?ê?ð?ð?·ï?ð?À‰ï?ð?Þì?Ïî?ð?Pï?ð?@ì?Ñè? í?ÀŠë?Àeë?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?Šî?@ˆî?ð?€Nä?@oè?@¼ê?@«è?wï?€»ï?€tï?ÀÂî?Àgï?@´ï?—î?ð?ð?ð?«ï?€Ïï?ð?ÀÛï?ÀÒï?ð?Šï?ð?À†ï?ð?ð?ð?€Éï?ð?ð?@Ãï?Àðï?ð?€ªî?€+ï?@kï?2ï?ð?ÀÒï?Èî?À+î?ð?ð?ð?ÀÛï?ð?ð?ð?ˆï?ð?€©ï?Àï?€ î?€¹í?€ï?À¸í?@¢í?@ï?€Éï?Ëï?€Ûï?€zï?ð?ð?@·ï?@%ï?€Éï?ð?ÀIï?€í?€ç?Àíï?€4ì?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øî?ð?ð?ð?ð?ð?ð?€·ï?À9í?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïî?ð?ð?ð?ð?ð?ð?€²î?8ï?êí?ð?ð?ð?ð?ð?ð?ð?ð?€Ží?ð?ð?ð?ð?ð?ð?ð? ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›ì?ÀDì?~í?€*å?@,í?Àýî?@tí?€áï?€öÑ?Sæ?@·ï?@Àï?ð?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìï?€Xî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âî?ð?ð?ð?ð?ð?@ýî?€áï?Eî?ÀÛï?€Ëî?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?)î?Àœä?€_ê?@†í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™ë?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@èì?ð?ð?ð?ð?ð?ë?ÀÛï?ð?ð?€Ãï?@®ï?€‘î?ð?ð?@Òï?€†ï?@·ï?€áï?ð?Ë?8’?@må?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ƒê?ÜÍ?IÆ?@k?÷Å?À(ì?ð?ð?ð?ð?ð?ð?ð?ð?€®í?À©î?î?€8ë?‚é?ÀŒè?€•í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üí?ÀÖë?€æê?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀOï?ð?Àíï?ží?ÀJî?ð?ð?ð?ð?ð?ð?ºï?ÀÄï?ð?ð?ð?ð?Ÿï?€Ãï?ð?ð?À7ï?ð?ð?ð?ð?ð?ð?cì?ð?@nï?ð?Àíï?@Õí?@¦í?ð?€î?ð?ð?ð?Àgà?€£â?bï?€zï?ð?@Òï?€¿è?€cì?@ƒà?Àé?Àeï?Ðâ?@k?‚Þ?@"æ?À4ç?oê?@°é?½ê?Àë?€[í?´æ?€Çî?êí?Šï?ÀÖî?@Áî?Çì?@Áè?@rí?Àhä?À=ï?’ì?@âè?òî?@¤î?@%ï?‹î?Åî?€%î?€Æï?€^í?Àðï?Àíï?ï?€ï?@ î?Àðï?€’ï?@éî?@²î?Àzï?ÀÊî?‹î?Àíï?’î?ÀNí?€­î?×î?Àî?Øî?€¨í?@Fç?@ë?À›í?À^î?€Ù?Àè?jê?íÞ?ÀÉë?@¿ä?Äí?¾ë?•í?Àkì?À·ì?€áï?ð?À’ï?@(ï?Pï?€¹í?@Ãï?Ààí?ï?ÀÖî?@î?®ë?ÀÏî?™ï?€iî?ÀÛï?€ê?Œî?€Éï?€ì?î?€Gë?fî?€ïí?€:ì?À.ï?€¾ê?@î?@)ì?Âî?€î?À!î?Ñ? v?@b?@pâ?•?UØ?Àé?øÅ?@r?¬Ó?€·ï?€Ûï?Àçï?ð?€2î?€Àï?€åî?ð?À2ç?€‡ç?@/ï?€^î?€(ï?@nï?Àkí?€Aì?€;è?ÀÛç?7ã?²ë?ÀÒè?°¯?€©Ð?~æ?@Uà?€ƒÝ?Àží?€üí?ð?Àäï?€·ï?íî?@9ê?µå?¯Ð?š»?@;æ?@rì?€é?Ÿí?€è?@¶í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œë?žß?@ì?×î?€Íë?@sê?Ãã?>å?ú±?@õä?@ßí?À»á? Ù?Àôè?òî?@2é?²Â?€-æ?@Žà?@k?Àsé?@vî?€ì?€‚×?Àäï?À.ã?Ëè?ð?ð?@·ï?€Ïï?Àíï?Àäï?Àéé?øÛ?ö°?€Öá?À|ë?ÀÙí?Àµï?Àwä?§ç?€&î?€éî?À ï?@¶í?uî?Œï?@†ï?€Êì?@Ãï?€æ?€ïè?€“î?@cî?—ï?€æì?hï?@Ãï?nï?€áï?ÀCï?€”î?À€î?€þî?@Iå?@”ã?€Åì?À«å?@Dç?Àiç?@¸ì?@(î?ð?€Ïï?™ï?·ï?@úï?À]í?ÀÎï?Cï?Àªï?µí?Àáè?)î?ÀÕí?@åå?Ìç?€Dë?ð?cî?€í?€xé?€ëß?À,à?€­í?Àè?œÙ?@‰ë?@qç?@¦í?@ î?Àfæ?p?H›?-ê?ôï?@ï?Àóï?€ûí?€Ûï?Àóï?@«ï?@°ï?ð?Sî?dî?ð?ð?À%ï?@Ãï?€Èï?ð?@÷ï?Àžï?€+ï?@$ï?€èë?@kî?€—ï?ð?@çï?bï?ð?ð?ð?ð?€èî?@cî?@òï?(ç?À¦ï?ð?ð?ð?ð?€íï?Àøï?€Éç?@çï?ð?€íï?ð?@Wë?ÀYë?€7í?€Âï?ð?ð?Àªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?€Þï?@×ï?@÷ï?@Pé?ÀÝç?î?€¡ê?@·ï?ð?«ï?oï?ð?î?€Ìì?Àžï?ð?ð?€ôï?ð?€Ïï?Vï?À`ï?€þï?@ï?€†ï?Àóï?€†ï?¨ï?Àžï?@Õï?ð?ð?Àžï?@·ï?@1ï?@Iï?@ï?@·ï?@ªï?@bï?€·ì?@zì?tî?ð?€’ï?Àçï?«ï?ð?ð?Ÿï?ð?ð?·ï?@eï?@·ï?@¾ì?ÀØï?@ï?Àï?‡ï?€íï?@\ï?Íï?€#î?ð?@·ï?ð?ð?€íï?ð?ð?@Úé?€§ç?@þê?€Ãî?ÀÍì?Àvì?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?ýï?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&î?ð?ð?ð?ð?ð?ýï?@nï?Àíï?@mï?Üï?€Þï?ð?@úï?@ ï?ð?ð?ð?ð?ð?ð?ð?ëç?€1ï?ð?ð?ð?ð?ð?@?ì?ÀÔï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?À§í?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?Àôî?@ î?Àýî?òî?@ææ?@ë?À9ï?@Sï?€]ï?Àóï?€pç?Àoà?Eì?¾ï?€Ïï?€Þì?ÀJî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nï?€(î?ð?ð?ð?ð?ð?ð?ð?@·ï?Àóï?€ðì?Àç?€Äî?ð?ð?ð?ð?ð?ð?ð?ð?€Jî?@¢ì?î?€þï?€ï?©æ?Àbë?@ëæ?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?Àvê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?@ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?'ë?@›î?ð?ð?ð?ð?ð?@Ïì?1ï?ð?ð?@Fï?@¦ì?À˜ë?™ï?ð?€§ï?@Yï?Àóï?ð?ð?÷Ñ?@x?€`ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‡í?ð?€ï?x³?¬³?(?0¤?£á?ÀÛç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?€jî?¿í?ð?ð?ð?ð?ð?ð?ð?ð?ð?@1ï?xì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šî?ð?ð?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?ð?ð?ð?@çï?Àóï?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?@ší?€ôï?À†ï?Àpí?Àùï?€ ï?Jé?€Úï?cî?€Ûï?ð?ð?@Hï?€ï?ð?@çï?·ï?€ì?@¾î?À|î?@qá?(¤?Tº?ð•?(?°–?›?G?FÎ?€<ä?øê?@ç?@é?À-é?Þê?êë?À®ê?€™ê?@ºí?ÀÓì?€ƒî?î?—í?@8î?ÀŠí?Üë?€Ò?@që?€î?€ Þ?Iä?€ì?@Mí?€øê?€nî?@4ï?ÀÞï?tï?ð?Ñî?€dï?€ï?ÀÖï?€=ï?Àçï?€¤ï?Àuî?´ï?@}ï?ÀZí?ÀPï?@Æí?€#ï?À±î?@¡î?@wï?€ î?@Dë?¹í?€çè?¯æ?€Ü? à?Àõá?-Ù?À‚í?ÀGí?€Ïí?@Ïí?@=ï?À‚í?À…ï?@1î?@/î?À7ï?€=ï?{ï?´ï?ð?ð?Öî?@üí?ƒí?€íï?€î?@ˆí?€íï?àî?«ï?€úé?@~ç?ì?À è?€"Ü?žÇ?@Äã?€Õï?‚î?Vï?@Yí?€ï?€ìî?@>î?Àï?€+Ñ?0’?Àiä?šÍ?Äè?€Ò?€X?$é?€ß?·Ë?€R?@à?’ï?ð?ð?ð?€êï?@÷ï?í?(ê?€Ÿï?€Bï?@äï?ð?@ ï?@î?@ì?€µç?@Ïí?ÙÓ?ÿÈ?f¹?8?Àn?TÄ?€å?Àùï?ð?À¶ï?ð?€ï?À´ê?@„ï?@zë?£ß?”­?PÀ?@¢ä?së?€Øé?ð?@Äï?8î?ÀÊî?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãç?pÒ?@Cì?ÀÛë?@å?cß?€*Ú?h©?޳?€[è?@>ë?€íî?€Õë?«ê?À1ï?@•ï?€­Ü?€ÒÞ?@î?€zÐ?@}ç?ð?ð?@{ç?Àøè?€í?À®î?ð?€–ï?À·ï?nï?ñî?@Æï?@nï?YÊ?ðƒ?(ž?yÎ?|Å?ÀÌê?€]ï?ð?€ï?€‡à?À\î?@¹í?@ˆî?þç?@áí?@3ï?eí?@oï?ë?@Ãë?Àì?’ç?€þÝ?€Éí?^ê?@Eï?€´î?¾ï?ð?€…ë?€Ûï?mí?6ì?ÿë?`Ó?l¥?kÉ? ¡?„§?€U?°‚?€£ã?@+î?ð?@Õï?€î?@Õï?ð?ð?ð?ð?bï?@>î?@©î?€öë?hë?ÀCï?€,ï?ð?€óì?€³î?yî?—Ì?·?§ä?Àvç?À°ê?Àoá?@›â?€ñí?@\ï?€ã?ƾ?t¾?Àåç?ð?ð?Ðï?@&ï?€hï?@ì?ð?ð?ð?ð?ð?À}ì?ð?ð?ð?ð?ð?ð?@wï?ð?@Õï?@•î?Àï?@5ï?@²ï?ð?ð?ð?ð?ð?ð?@8ï?€Éï?ð?@:ï?€é?ð?ð?ð?ð?ð?Žï?è?Çí?ð?ð?ð?ð?Àì?€“ï?Àï?ð?ð?ð?ð?@·ï?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æî?€Vè?€Hê?€Þì?Àäê?À9é?@uï?“ï?ð?€€ï?€úî?ð?ð?@“ï?ð?ð?Üï?€Vî?ð?ð?ð?·î?€¸ï?ð?ð?·ï?ð?–ï?ÀÏï?ð?ð?ð?@nï?ð?ð?ð?ð?ð?À«î?ˆî?€Ãï?zï?ÀDï?ð?Àï?À±ï?ð?@·ï?Üï?ð?ð?ð?ÀIï?„î?€”î?ê?}ï?ð?ð?Àªï?ð?ð?zï?@Õï?ð?ð?ð?ð?ð?ð?·ï?ÀJï?—ç?ð?ð?@ï?€jî?@¨í?@{ï?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?À˜î?€Qï?ð?ð?ð?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?Ðï?@tï?ð?Àªï?@ÿí?ð?ÀCï?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?€í?wæ?€'í?Àóï?@·ï?@·ï?Àóï?€Ûî?ôÖ?À æ?xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üî?ð?ð?ð?ð?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?ë?Àñí?À¿è?@pá?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?@•ì?|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?€…í?Àaì? ï?ð?ð?ð?ð?ð?¬ï?ð?ð?ï?€‘ê?ð?ð?ð?ð?ð?ôï?@ì?@î?ð?ð?Àøî?Àë?Üï?@Õï?Kï?@íí?Àï?ð?¾ï?ð?Àùè?@µ?åÀ?Àüé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?À–ë?Àúë?ð?ð?@cå?‘é?€Þî?ô·?HÀ?€/á?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?àï?Àçï?ÀÍì?ÀUï?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅí?Ànï?ð?ð?ð?¸ï?ð?ð?@Öí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?€›í?Öï?èï?¾ï?^ï?ÀŸî? ï?@‡ï?ð?èï?ð?ð?@·ï?ð?€Jï?Àçï?€¯ì?Êï?ð?@”è? z?€?@á?€Ôë?£í?€Ð?@_å? Û?@kë?ê?ÀÍë?@ í?@Ãì?@Óì?Þë?@#ï?€ì?@Kî?•í?@ì?–ç?À7î?À í?ë?@¬ê?€}í?äê?Àì?€3Ù?@ å?Àcí?@sì?ëí?€íí?€»î?Êï?ð?À³ì?ôï?€‹ï?Àrï?ôï?ôï?Àñî?À¤ï?®ï?@ï?€Éì?ï?ð?ôï?€†ï?ÀAï?@qï??î?€Ûí?À½ï?@âî?Àªï?Àî?Àsï?Àâê?ðê?ìí?@î?À—ä?À}ï?Lê?@Lë?Àëí?€Vï?rî?@9ï?«ï?ÀIï?À‹î?èï?ð?¸ï?€Ðî?ð?jï?À0î?ð?À’ï?•í?ð?À±ï?èï?Àï?@{ï?@µî?€²×?@e?€ Ý?Àê?@•î?@÷í?€/ï?ãí?@wï?Êé?€X?€¤Ú?€îé?Àûî?€Tã?ÀÕä?šË?¨à?€{Ø?€[â?¸ï?ð?ð?ð?Àøæ?ð?€Èì?€ï?€Gï?ð?@%ï?ð?õî?¶í?À¹í?@Äî?À§è??Ç?Æ?@h? ¦?ÀQæ?ië?@ï?ð?Ðï?€,í?€‘ä?­ì?Àlá?€Ý?†?^µ?@Âè?Yé?¸ï?À$î?@Fë?€¸ê?À0ë?_è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜î?@ì? ï?À«í?í?€ªá?À“ï?‚ß?Ànå?d¶?¾?u?ÀËã?ÚÛ?€ää?À1ï?@wï?@·ï?ð?ÀÜå?¿?H?”³?€ÚÖ?ð?€œè?€Ñì?ð?ð?Àõî?€èé?À¤í?À…î?Œî?€jï?@[ë?ð?€ï?ð?À{î?€Ðæ?LÙ?b?ð“?°¸?€èÚ?€ì?ð?ð?@°ï?ï?€£î?Yì?@ãí?Àûæ?@bë?ÀÌë?€²î?€Úí?€Âí?€ì?€Êî?Àðí?ÀÚë?ÀÂî?À î?À¥î?ÀÏì?@ôë?€î?@ní?@ ï?€Âï?Àxï?@ã?€`Ð?ô§?À~?ýÈ?×ì?ð?ÀÚí?ð?ð?ð?ð?ð?ð?€Ïï?€¢ì?Àçæ?À ï?@ºî?ð?@Jî?À’ç?Àæì?@ãî?À£ì?€ÜÙ?€ÆÜ?€î?€»ä?Àíê?À½ë?ÀÜî?®ï?€½ä?yÂ?ýí?ð?ð?€nï?@=ï?=ï?Àåì?À£ï?ð?ð?ð?À«ï?ð?Àçî?üì?îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?Œï?Àùï?ð?€·ê?Àî?ð?ð?ð?ð?ð?Àƒë?Àìî?ð?ð?ð?ð?ð?˜ï?,é?ð?ð?ð?ð?€Òï?ð?ð?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?@nï?·ï?ð?ð?ð?yï?“ë?@/î?Óí?À›é?ð?@Ûï?ð?€çï?ð?ð?À«ï?ÀFï?ð?€ï?€Iï?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?€¡í?nï?ð?ð?ð?Pî?ð?€Ïï?ð?ð?ð?@·ï?@Þî?€,ï?@èì?ð?ð?,î?Àiï?@bï?€Ïï?€Hï?ð?ð?ð?@Yï?€†ï?À¸ê?Ðé?¤î?€"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«î?vê?ð?ð?ð?ð?ð?@sí?ð?ð?ÀØî?™ê?ð?ð?ð?ð?À†ï?@Îî?€í?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?ð?ð?ð?€Œí?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€cî?€†ï?ð?ð?ð?ð?ð?ÀÕï?@~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Zï?@¾í?äë?ÀÕï?ð?€Òï?€Ïï?€ýì?€hÑ?Àí?í?ð?ð?·ï?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[ï?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸî?±í?Àí?€ç?À³ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?À2ë?€+ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Xí?€ëî?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?À€í?Îæ?ð?ð?ð?ð?ð?@Ãï?@áì?@oí?ð?ÀÄî?Uî?€pæ?Ãï?@|ï?@¹î?ð?ð?ð?Àì?ð?ð?¼â?À‡?À†ì?ð?ð?Àéí?ÚØ?@,ä?@Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLì? Û?@¡é?À®î?œì?]Þ?QÍ?¾Ú?ÀÃî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?@ ë?À|í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?ð?ð?Àî?ð?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?@¼î?ð?ð?À’ï?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?€íï?€*ï?€,î?@Sì?€›ì?Öí?À†ï?@ì?€ î?ð?Àí?€¤ä?ð?ð?ð?ð?ð?ï?@îî?€ã?:½?€®Ñ?Ÿã?%Â?€ Û?ÀÇï?ð?ï?Àæ?À7í?€Èë?€¸ã?@Øä?€¼í?@®ï?(ï?@†ì?@ï?€¾í?@¹ë?Àúî?€Úæ?@‰ì?Iê?Àñì?pé?€^ã?Àrî?Àïî?€@î?@hí?€í?Àˆâ?@Oè?ýí?fì?€0ï?@Ïï?€bì?@¥ï?ÀÎï?î?@1ï?À{î?@Ýî?ÀOí?@Æï?ï?€Ïï?€í?€žï?@Ûï?ð?€9î?@ ï?€\ï?À"ï?€{î?@Ýï?@î?@Oï?¬î?@)ï?ð?@^ì?6î?ÀÙæ?Qï?@ï?Àîî?ƒè?@0â?õì?Üî?€Ûï?@žî?À¯î?@¸î?€½ë?Àï?ð?žï?@+ï?@àï?@>í?€aï?€úî?ÀÒï?±î?ÀÕï?€²í?ÀŒï?€î?€mï?ð?@Íî?ÃÇ?þÃ?÷ê?À»î?Àì?€Ÿì?€¿ã?R»?ÀÏã?@ëã?€jì?ÞÉ?€Û?š?~´?P‹? u?õÁ?Ñ?Àyï?@Vï?ð?ð?¥å?€ì?€›í?ð?Vï?ð?Àóï?ð?ð?@-ï?À¹î?€Oì?@^è?@Gé?€à?p?ÞÇ?@3å?@ÿî?@Ãï?@}ï?@[ê?FÖ?JÕ?€~Ò?Î?ðƒ?¢±?>á?À3ä?Àêî?€„ç?€Lí?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ë?YÖ?Áá?Àïã?ƒÚ?qÄ?úË?€5Ý?ÀÉ?€ƒÞ?H’?p‚?ÀÆá?Àâä?À¬í?@[ê?€Ü?~Ú?@ç?€Íí?€‰î?tÓ?Ñ?ÀÎá?€›ä?@,î?«ï?À’ï?ð?€Ïï?ð?@…ï?@ºï?@Kî?Àé?ð?€Jï? ï?ð?@bï?€¨ï?@~ï?@Eë?Þæ?uÀ?cÐ?@ôä?€í?´ï?€~ï?À¾ï?€Õï?@Íï?@eï?½ê?Àì?€ì?@ßì?@ì?€¥í?€ì?@¹í?À«ì?Àî?ÀÏí?À(î?@Tï?@ï?@Øï?ÀŽì?Àýï?dï?öï?Þï?áé?€ä?À¿?T£?@y?€|×?€°ï?ÀÞï?hï?‹ï?ÀÝí?@¥ï?€pî?@vï?Àšï?î?@’æ?@mî?€ºí?@Ëï?À5ï?!í?é?Àëï?À]î?ÀTï?Fï?@(è?€rã?€Tì?'ë?]ï?@èï?À¦í?€ ×?$?€«×?ÀÂî?yî?ð?ð?@oï?<ï?€hï?mï?ð?ð?ð?À¦ï?ð?ð?ð?®î?€œë?ð?ð?ð?ð?ð?Àóï?€Ýî?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žî?€ïë?Àí?@î?|é?Àgç?À×ì?€šî?€4ì?€‹é?€7ê?í?ð?€Úï?ð?ð?ð?ð?ð??ê?€üî?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bî?úî?ð?ð?ð?ð?ð?@5í?Àúî?€Âï?ÀÂè?ð?Àðï?@ï?Àöî?@Æí?ð?ð?€òï?Àªï?@“ï?@´ï?€ï?€ªï?€ôï?ð?ð?ð?Àóï?@´ï?Oï?ï?€þï?ÀËï?ð?ð?ð?ð?@Šï?Àï?eï?ð?@´ï?ð?ð?€ðï?€Eï?@öí?@íî?€ï?ÀÂï?À“ï?À"ï?Eï?€©î?âï?ð?€Ûï?ð?À8í?ð?ÀÝì?Àáì?@Äî?@Jî?@êí?ð?ð?ð?ð?ð?ð?¨ï?ð?úï?ð?€¡ï?€Óï?ð?ð?ê?ð?ð?ð?ð?ð?@&í?ð?ð?Úï?À7ê?€öï?ð?ð?ð?€Õï?€’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?¯ï?ð?ð?ð?ð?¨î?@mí?Àüï?Àõï?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?@”ï?À›í?€§ï?ð?ð?ð?ÀKì?@nî?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?@Çë?€æï?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?€aï?@[ï?ð?ð?ð?ð?€ï?Àªï?ð?ýï?@}ï?@Œí?€@ï?€Íï?Àüï?Úï?AÝ?€¶ã?€Íì?À‚ï?ð?ð?²ï?€«ï?@uí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?úï?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pï?@Õï?ð?ð?ð?ð?Àíï?Àšï?Ànï?ð?hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶î?Jî?@]í?À$è?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?@ï?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bì?@%ï?ð?ð?ð?ð?ð?ð?ð?€hï?@Oï?€î?ð?µí?€ëë?€Ãä?À ï?ð?ð?ð?Àçï?À î?Àãí?@‡î?Àoï?ð?“î?àê?Uï?@Ãï?Àsî?ð?ð?ð?ð?€äï?ð?@5ê?„£?.¶?òÖ?€æØ?€‹Ù?Á?Y?ˆÃ?€â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ãÐ?4µ?H ?¸?(ž?àÅ?ÀHæ?@‚ë?…î?@ðï?ð?ð?ð?ð?ð?úï?ð?ð?€´ï?@zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ÀÅï?ð?€Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?Fî?™ï?ð?ð?ð?ð?ð?ð?ð?@Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?´ï?ð?ð?ð?ýï?Àüï?@úï?€ûë?€ùí?@¡î?ð?€"é?Àê?@eï?ÀÅè?@}é?ð?ð?ð?@ï?ð?ð?ç?„«?€â?ÀÐï?€¯ï?lÔ?àŠ?€b×?À¥ï?6ï?@í?€âì?Àäí?€¿æ?ÀÃê?@ë?€Éï?èï?î?ÀÍï?À6ï?ð?@úï?Óî?À#ê?3è?€Iè?gë?ÀÝê?€¯ç?À+ì?õí?7í?À1î?/ì?€Zé?NÖ?@Çç?À?ï?Àƒî?À¾ï?€˜ì?À1ì?€¥ï?€Áï?€™ï?€ï?À&ì?î?@“î?€2ï?€Oï?€àî?ð?@±ï?Àöï?ð?À­ï?Yï?@ï?€í?7ï?ï?@“ï?À í?@\ï?ð?@ïï?€Sç?òî?@¢í?€‹ì?¡ï?ùï?€âï?À©î?1í?î?@Ñì?€Bî?@[î?ÀÜì?€fï?Zî?€òï?ð?ð?@ï?€žî?€˜í?´ï?€÷ï?Àwï?@î?@£ï?€ï?@­ï?€[ï?@ñï?Àœî?@Îï?ð?€äæ?`‡?ôÐ?@Ìê?€qí?À¹í?Ž¿?,á?Àdï?Mï?€­æ?È›?€µà?hŸ?€WÐ?€ÔÝ?¨Ó?Ü®?@e?H? ¢?~À?f´?@¡æ?@Uï?€%ç?@ï?ð?ð?€Mï?Àúè?@_ë?ì?€'í?@îï?@Éï?@Ëï?ð?ð?ð?@µí?À'ï?@Cî?€"î?kë?@á?ª?K?¸¤?€Ëæ?Ãæ?Àê?@Ôî?€âì?€šÑ?°?t?À`?ؼ?*¹?€™à?€ç?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéî?€<à?´Ã?â¾?P”?À}?ð‚?€i?” ?€#Ö?!Õ?(¡?€^?MÂ?ëÉ?À1ë?@<ë?Î?€!í?€Aî?ÀËï?ûï?ð?ð?Àçï?ð?ð?ð?ïï?€Ÿï?ð?ð?@ï?@1ï?ð?ð?ï?€äï?€ì?ð?ÀŒç?@g?¸Õ?À[æ?À*é?À£ï?3ê?@Ÿï?Àšï?€Æï?@¶î?•ê?Àìí?€Uï?€œî?¤ë?À;å?@‡í? ï?Àáí?Ní?@lî?@lï?5ì?€Ñî?yï?@'ï?ð?ð?ð?ÀMï?@Ïã?v¼?€ Ú?@“ï?À­ï?@¬ï?î?õë?)ë?@î?€Ÿé?ð?—ï?Åê?€Dí?@øí?šï?ð?@iî?ÀRï?€pî?@'î?Òí?@Ýï?ë?rî?Àšæ?Ìì?ÀCí?Àªî?æî?•É?¾Ä?€^î?ð?@Íï?ð?€Nï?ð?@cî?@Žî?Àžï?ð?ð?€Íï?ð?ð?ð?ð?€ôë?Àgï?ð?ð?@´ï?ð?@~ï?ð?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?´ï?ï?@@ï?×é?4é?@·é?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?ð?Àóê?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?³ï?À›ï?ð?ð?ð?ð?€í?ÀÄî?@ ì?€/ë?ð?@ªï?.ï?Bï?€¬ï?€ìï?ð?ð?@³ï?ð?ð?´ï?<ï?@ãï?ð?ð?ð?@Àï?@Ïï?Ýì?@ðî?¾ï?ÀÁï?ð?À/ï?ð?ð?€Õï?@ýî?ð?ð?ð?Àîï?hï?ÀXï?À‡í?€vî?À}î?€Ôï?€ƒï?@‹ï?bï?Àäî?$ï?€zï?rï?ï?Eí?ºï?ð?Àºì?@Œï?ð?ð?Àsï?ð?ð?ð?ð?ð?ð?ÀŸï?Ïï?€lï?Ààï?´ï?ð?ð?@üï?@¢ç?€ðï?€…ï?ð?ð?ð?€­í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?ð?ð?ð?À°í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáí?@‡í?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?€«ï?]î?ð?ð?ð?ð?ð?@î?ÀÕë?hï?ð?ï?gî?€Fî?ð?ð?À…æ?€mØ?@ÿí?€0í?€®ï?ð?€åï?hí?Àfì?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ì?@¿ï?ð?À€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyï?Àyï?@šê?@‹ï?ð?ð?€Æï?ð?ÀÙï?À}ï?@êï?ð?ð?€ï?Àï?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cí?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?€í?€Ãï?À­ì?€Zê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ë?€Ôï?ð?ð?ð?ð?ð?€ðï?@±î?<î? ï?ð?€eí?À\é?ð?@«ê?½æ?ð?ð?×ï?€8í?¯ë?ð?€Zï?À¼î?Àùï?kê?€lç?@Íï?€ï?ð?ð?ð?ð?ð?À–í?ð?Èà?Z¾?À²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€@Ù?€k?bº?€Ü?Bê?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?´ï?€îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ï?€/ï?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?Àöï?ÀÜï?ð?ð?€Íë?À³è?ë?Àõï?ÀFì?@Òí?À±ë?€¿ï?ð?ð?›ï?Àæï?ð?À¨ï?Àjå?žÙ?ð?ð?€ê??+Ó?€åæ?@»í?èë?€oê?éè?€ê?@·í?@ï?øì?Àï?jï?@í?@­ï?@Gï?Ààï?ð?ð?ýï?€Þç?À_ã?€â?ÀQè?@é?Àaé?À7ê?€|ì?€Þé?@Œì?€|ì?@ƒé?@lë?€¯ê?Îî?@‹ï?ôí?@Iì?mì?Áí?´ï?ð?€Ïî?Àûë?~ï?Àæï?€Sï?À ï?@òï?Àöï?Àâï?@]ï?²î?€ï?žî?À§í?@àî?€”ï?@–î?ÀÀï?€áï?æï?Àõï?@[ï?Àì?/è?ÀŠï?ð?äî?Àâê?À]è?hì?¯ë?ÀŠê?€í?@[ë?À8ë?ÀHï?€uî?ÀÀì?€ï?Àkï?@ãï?kï?Àãî?À×ï?'ï?Àõï?,í?Üî?šï?€Dî?@šï?€òï?ð?€ï?ð?ùï?ÀIç?@{â?€âÙ?>Þ?€'ã?ÊÝ?(®?Àä?€sï?ïï?Àï?€ÏÕ?ð?€ˆÜ?€à?8î?À5ï?@ìì?ôÝ?Bà? Ú?€éÖ?Ààï?@Jé?ð?ð?ð?ð?ð?ð?€Yï?€Õï?€Ÿã?@ä?ê?@ï?€ï?‰î?@ î?¿ï?ð?ï?üï?@‚ï?€Sí?€ôì?À’á?}Å?Á?¯ê?@`æ?@Qï?@³ï?€4ß?ð£?Ày?íÜ?€^æ?@óï?ð?€þï?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôê?€'Û?•?;Ó?¹ë?€ªï?×ï?Óä?€aï?ð?ð?@Úì?½ï?ð?@³ï?€ðï?€¢ï?ð?Ùï?ÀÌî?ð?ð?»ï?À{ì?Üï?ÀÆï?ð?@Ëî?@}ë?À=î?þß?@t?ú²?:É?ÅÝ?€)Þ?@äì?À÷í?€í?Àôî?ð?ð?@nï?@ î?@Ÿî?@¦í?@pì?@7ì?¤é?@3å?€Ûí?ì?@&ï?€êï?€¬ì?@î?ÀYï?ï?À»ï?ð?Îï?ð?Àäï?@5è?à‘?Y?à…?¸Û?ð?ð?@Õï?€Äï?@Öî?€oï?@Íî?€/ï?€Åê?€aï?@öï?€Uç?€bë?Èï?Àhï?Àë?@ûè?¬Ü?€—Û?@ê?@Ñë?€Žï?€5ï?À<î?Àqï?€Ÿï?Ùï?ð?€éæ?†È?€PÐ?¬«?°Ê?sÙ?hª?ÎÞ?ð?çï?ð?ð?Àúî?î?@’î?ÀÌî?€Ïï?€þï?ð?ð?ð?ð?ð?ÀÛï?Mì?€¥î?ð?ð?ð?ÀÃï?€Íï?ð?ð?ð?ð?ð?€Ÿî?ð?ð?ð?ð?€·î?€Íï?ð?ð?ð?ð?ð?Àï?Ùï?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ë?ì?ð?ð?ð?ð?Àóï?ï?ð?ð?ð?ð?ð?ð?ð?ð?€kî?ÀÃï?ð?ð?ð?ð?ð?ð?ÀÜï?À¼í?bê?ð?@ï?@´ï?ð?ð?€î?Àóï?ð?ð?ð?ð?@´ï?ûï?@mï?îï?Üï?òï?ð?ð?Àâï?Àâï?@«ï?ÀTï?ªî?ð?@­ï?ð?ð?€‚ï?@ï?ð?µï?ð?ð?€zï?€<ï?|í?€Èî?@oï?@ºï?úï?7ï?ð?Àqï?—ï?éï?î?ÀQï?€ì?Îê?ë?@‚í?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?@ôï?À7ï?€ìï?µï?ð?@Oï?Àýï?+ê?@Eï?æî?ð?ð?ð?À‚í?€Áï?ùï?îï?ð?ð?ð?ð?ð?ð?ð?«ï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?@ï?Àï?ð?2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?Àì?€úê?@lï?çï?ð?ð?ð?ð?ð?ð?ð?À°î?Àní?Áï?ð?ÀÃï?€Xì?ÀEî?À*ê?ºì?À_ï?Øï?Àiï?€eî?Àiï?€Òî?€»î?_Ä?€ræ?@Íé?@äï?ð?ð?ð?€Êï?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@)ï?ð?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐî?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßì?€cï?ð?ð?ð?ÿï?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oï?ð?ð?ð?Ààî?@oî?€î?·è?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ï?ð?ð?ð?ð?ð?ð?ð?Àiï?€[ï?ð?ð?ð?ð?ð?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À'ì?ð?ð?ð?ð?ð?/î?Àõí?ð?nî?`ë?€#ç?@æï?ð?lé?ÀØà?í?ð?@’ï?ð?î?ð?@ï?€Vî?À½ì?Àöê?À‰î?@ ï?@í?Àzï?ð?ð?ð?ð?Àï?À÷ë?éÂ?€h?€gè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?VÞ? €?ÖÈ?Àpê?@Öî?€QÛ?ÀÆè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?@ï?ð?€ìï?ð?ð?ð?ð?ð?ð?Îï?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?€üî?®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?À‚ï?Àâï?ð?Îï?€}ï?€äî?Îï?ð?ð?ð?ð?ð?ùï?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºê?;ê?Àï?ð?€ë?@pï?ð?ð?Àæï?ð?@'é?Ã? œ?Êà?ð?ÀFé?ßÂ?ŸÒ?@(ì?ßï?îî?€ î?€ƒÙ?QÉ?@>ë?€Ïê?Zï?¶ï?@3ì?€‚î?@ï?µï?ð?À ï?ð?ð?ð?€èï?€€ï?Àúï?€‚ë?Õå?«á?½î?@¹í?€è??ë?€î?)ê?@_î?€âí?€`ë?@2î?î?ï?€Lï?@Åì?Àæï?@—ï?ðî?kï?@™ï?ð?@´ï?@ýï?Àaï?ð?ãï?@9ï?€ˆï?@+ê?À4ë?€6ì?€jæ?ðì?@6ï?@þî?Àï?€Àï?€ùï?Àüï?Àúî?Àyí?cí?ð?@(ï?Gï?Kï?@iï?@ë?À¡ï?@“ë?@dä?À%î?@ï?€*æ?@šé??ë?€Éì?@˜ì?€çí?@Ví?À¦ï?@Ãï?€üï?@Äï?€Íï?ÀPï?€ì?çï?ð?ð?À´ï?@xî?ð?@ï?€î?ÀÓï?ÀÇî?€:ï?Ñí?€’á?€Áã?íï?ÀÂï?ð?€pî?ð?tí?€óã?€8Þ?Š?”¼?€œà?ð?ÀPï?Àýì?Àuì?€î?né?À™ì?€¢í?@î?í?€½ï?€Þï?ð?ð?ð?€Úï?Ùî?@gç?™?€ûÝ?À5ï?€Áï?ð?@¦î?@„ï?€Ôï?ð?ð?Úï?@]ï?À_ï?Àì?€×?ðš?`u?"Ö?Ú×?€Ôé?€zî??Ù?öº?@ýá?ð?ð?üï?@¿ä?Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ÀØî?€=î?ð?éá?vº?@h?!Ú? æ?€.â?@öï?€Qí?þï?ð?ð?@«ï?Àòî?ð?ð?À\ï?@|ï?ð?ð?ð?ð?ð?@jï?€€ï?@ºî?@Üï?@´ï?€ˆæ?@ï?À©ï?€gä?ä¦?„®?¶?‚Ä?Àæ?üê?@Bï?@Yï?ÀLï?À|í?Àâê?@úî?€—î?Àî?€°ê?À¡è?‚ï?@jï?þê?@sí?€¢í?@†í?Qì?@Ðî?À[ï?ýï?@Ží?@çê?Wî?ð?€êï?€;ï?ð?€Ìí?Ò?€¬Þ?;Ä? Ì?Àíí?ð?ð?€–ï?@mî?ëí?…í?pï?€¢ï?€1î?@Üé?@ƒå?€Cï?uî?|î?@Çè?tÙ?@_í?î?@Òá?ÀÎí?€þï?@™î?€Hî?€Çï?€_ï?Àìï?€äï?€…î?(»?€R?D¾?€ÐÑ?€x?€ZÞ?°í?Àöì?(Í?`›?Àuå?@×ï?üî?À»ï?ÀÓï?@î?ð?@Íï?Æï?€ýï?ð?@´ï?ð?ð?ð?ð?Àjî?À:ë?ÀÎì?Âí?@‚ï?Àçî?€Íï?ð?@´ï?ð?ð?ð?@þï?@´ï?ð?@)ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?€©ì?@2í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®ï?€Óï?ð?ð?ð?ðí?€eï?×ë?€šè?@Bé?ýï?Àÿï?À¸ï?€ùï?ð?ð?ð?ð?ð?@eï?@·ï?€íï?@þï?ð?øî?€êï?ð?ð?ð?ð?€Ìï?Äî?Àÿï?Àöï?î?Mï?€äï?ÿï?Àýï?ð?ÿï?ð?ð?ÿï?€¿î?Pï?€îì?@Vì?Àöï?ÀÞï?À¢ï?Éï?ð?€Ãï?€!ï?€Áï?€>ï?€Ãï?\ë?@ï?ð?Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?Àuï?ÿï?ð?_ï?@ïí?À¤ë?íï?€Ëî?ð?ð?ð?€üï?@»î?Àøï?€íï?ð?ð?ð?ð?ð?ð?ð?Àôï?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?Àøï?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?ð?ð?€î?@Ãï?ð?ð?ð?€Íï?À ï?@ í?ð?ð?ð?ð?ð?@²ï?’í?€ï?ýï?@Åï?Çì?€ƒï?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?@êí?Àï?€¾î?€Tí?@aï?€sï?€ªé?Bì?ÀÒî?€åï?Àüï?€¸î?€Çë?Àî?rå?¢Æ?@¹å?À ë?@òï?ð?ð?ð?ð?ð?ð?€mï?ð?ð?ð?ð?ð?€hï?ð?@Žï?Žï?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?€Íï?ýï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ÀÖï?@0ï?@¯ï?€ÿï?uï?ð?ð?@ïï?yï?ð?ð?ð?ð?ð?ï?€„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?@î?€5ï?zï?À™è?Fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?À·î?ð?ð?À5ï?ð?ð?ð?ð?ð?ð?ð?@Tï?3í?ï?À±ï?´ï?ð?€—ì?ÀTï?ð?ð?ð?ð?Àï?Yï?ë?€ï?@ê?ÀÞì?€ÿï?ð?ð?À‡ì?€ÿÓ?@žâ?þï?ÀPí?À¢ï?€¬ï?ÀŒî?@›í?@ê?@ãâ?Àãá?@¿æ?@ïî?ï?Oï?ð?ð?ð?ð?@@ç? ¹?ð‡?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?€¬Ù?`y??Ø?jï?ð?À÷ì?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[ï?À)î?ð?ð?ð?ð?ð?ð?ð?Àï?qï?@uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Ýî?Àæï?Àï?@Rï?gë?€ÿï?Àšï?ð?ð?ð?ð?ð?Ûï?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À´ï?€îï?ÀPí?€ï?@Vï?€|ï?Àï?€Ëï?Àæï?Àæï?Àûï?Àdì?@µä?€ Þ?ÍÏ?€ðÓ?€™ê?ÀCä?€Ò?EÖ?@oî?ð?Àæï?@Aï?„ï?äæ?€6Ø?@Ví?€Óé?ÀÒí?€0î?@õí?€^î?ÀLï?€åê?@Çï?ð?€Øí?‡í?@«î?À2ì?ÀÎî?€Wî?7í?@Íï?@Yë?Àáê?€ë?8Ü?À´ë?¾é?@ï?Àäî?€é?ÀLî?À‰è?ÀÁé?€í?@÷ï?Àáí?Àì?€üí?Àåï?@Nï?@èï?À¿ï?@´ï?ð?€šï?Àæï?´ï?€ªï?›ï?€·î?À˜ã?³ë?€·ì?@ï?@Fï?¾î?Ànî?À3ï?@±ï?ð?ð?€÷ï?ÀÜï?ôï?Jï?ÀÑï?€*í?€Dî?ôí?ÀŽî?€×í?@8ì?ÀNç?sã?Àhä?@tï?@„í?ì?ë?@í?@—î?@ï?À6ï?ºî?@Ãî?@Ùí?ÀOî?À ï?€Òî?€ï?ð?€ÿï?Àÿï?€Íï?ð?€#í?Àï?´ï?Mí?çî?ÏÔ?@Àé?€Zï?uï?@´ï?ð?ð?ð?ð?@ÿï?²Ò?”Ó?Dî?ð?ð?@Žï?Àÿï?€`ï?@åì?€Hì?Àê?ÀMì?€(ë?ÀJë?Ní?@ÿî?Àüï?Àçï?ð?€äï?@(î?>é?–?@?*Ú?€Üï?Àõî?À-î?•î?Àöï?ð?ð?@)ï?@õî?„ï?@Eí?À˜æ?*Ë?P…? ? €?ùÅ?›æ?€ŠÐ?£?€“Ü?Jì?Àè?@õí?€ñå?ÀNï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€ï?€gÓ?€*Ð?€cÜ?BÎ?¬¤?À`?g?‚¶?€Ñ?úá?@hç?Kã?@·ê?öï?ð?€ï?{ï?¯ï?€Ÿï?@´ï?€~ï?@·ï?@³ï?ð?ð?ð?€Íï?€×ï?eí?€†ï?@Ðî?ð?À•ï?À$ï?Ãï?€Ûï?@Ÿæ?@©â?¬¢?çÊ?€ÆÜ?Îà?Àé?ì?ÀÔî?€åï?ð?aè?Zí?Àê?€Uì?Àî?î?{ï?«î?ÀÇê?À{ï?@í?€Ìï?€†ï?@ñî?À¨ë?@.î?@©ì?@Sî?Øì?€ì?€aì?@õî?Àï?À ï?âà?Àa?œÊ?@æ?Àã?Öï?ð?Èï?€î?@+ï?Àªï?5î?€Šî?¨ï?€¯î?@Eë?Àûè?4ï?Ýí?@]ï?€Æí?À%í?€Oè?@·î?´ê?ªç?@ï?@!ï?€<î?Àyî?òê?À ï?ÀÏï?À§ï?€™Ü?`?5Ø?@Äí?À9î?€“î?À¼ë?€6Ó?Ò°?TÓ?€™ï?@ï?€øï?@î?tî?€Íï?kï?€ðï?@¸ï?Þï?Àæï?ð?ð?ð?ð?€éï?€ï?ð?Dî?À[ì?ÀÁí?@Þê?bï?ð?ð?ð?ð?@´ï?@\ï?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?€¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?%í?À5ï?cî?€Ôì?€üè?ð?À÷î?€ðî?ï?ð?ð?ð?ð?ÀÚï?ï?ð?@­ï?ð?ð?oï?ð?ð?Ànï?ð?€Ñï?Àšï?ð?€Áï?¤ï?@ î?€Ñï?ÀÏï?€Òï?€Lï?Oï?@œî?€Nï?ð?ð?€½ï?Žî?ð?@÷î?€Öï?ð?@´ï?Àlï?Jï?À—ï?€Íí?@ˆî?ÀÏï?®ï?@î?€î?@cî?@Ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?@Ôï?ð?Îï?À ï?@äê?@°ï?­ï?À¼ï?ð?ð?ð?ð?@gî?€#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?`ï?@xî?wï?@ºï?@œï?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?@ï?Àï?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?€-ï?€ì?–î?À¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ãï?@Qï?6í?€¤ï?@@ì?€þï?¾î?Àî?ÀÔì?wï?@rï?ð?ð?ð?Àßï?€ï?¤ß?XÓ?@«å?€†ë?À‚ï?ð?ð?ð?ð?ð?¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷î?@ƒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?€$í?@ýë?€‹í?À^í?ÀÂí?€™ï?@eç?€/ë?@0î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ð?ð?@íï?Èï?ð?ð?ð?ð?ð?ð?€ ï?pí?Àãï?€ðï?@vï?ð?ð?@±ë?@´ï?ð?Âí?î?@´ï?ì?@Óë?€áî?À í?Àíì?ð?ð?ð?ð?Tì?À+ì?@*å?€³ì?Àíë?@ ï?ÀÖê?@xï?@>å?À:á?¦å?€Hé?Àûà?ä?Àìï?ð?ð?ð?ð?À™é?Z³? ¿?@Òé?@Éï?ÿï?ð?ð?ð?ð?Àí?À‚æ?€TÙ?ž³?[?À&â?ð?ð?ð?Àçï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?€ï?{ï?€(ã?À£ç?ð?ð?ð?ð?ð?ð?ð?ð?€ï?“î?€žî?ï?ýï?ð?ð?ð?ð?€}ï?Øí?*ï?Ààî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ï?´ï?€±ï?€òï?›ï?ð?@$ï?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?€gï?€Éï?ÀIï?€žì?@™í?€9í?Àãï?Ùî?ÀÄï?ð?Èï?ð?ð?ð?@:ï?€êî?Àzë?À?Ké?@ûï?ð?.ï?@½ï?@ï?ð?@óì?Iß?@pì?Àê?À;í?@ï?€?ï?@Xç?€µï?ÀÂï?@õï?@§î?€þë?€!ì?Àmè?4î?€+ì?Sî?Cæ?@Dì?@¾ë?Fè?ÀÏé?À²ç?Xæ?€ðç?À5ì?@Aí?@±ë?À±í?’ì?@5í?@)í?Àñî?À£ï?Àúî?@¸î?À"í?ÀRï?€‰ï?À¾ï?€Íï?¨ï?ð?€õï?À†ï?Fï?€ïï?çï?@oï?Äì?€î?À¨í?À1í?°ë?€vë?€î?ð?ð?ð?€ôï?@Ûï?Úï?ÀÚï?@4ï?€ï?€öë?qí?€{í?@=î?À‚ï?@˜ë?Àá?tç?@öî?€wí?$ë?öê?Àêå?€6é?Rã?€êì?Aï?€¦î?èé?gë?Öí?Àwí?ÀÏï?ð?ôî?@‘ï?ð?@ïï?@–ï?€aî?ð?fï?ÀÁè?`—?™è?vï?À‹î?€Ðî?ð?ð?ð?ð?ð?@ î?€´Û?‚â?ð?ð?ð?Àlï?€ûï?ð?@Šï?€4ç?@'î?€Áì?@fä?€Oé?Òí?Àåî?@úï?†ç?ð?ð?@ÿæ?@.à?ȶ?€`?à¹?€gî?€iï?À\ë?wî?€Ôï?ð?ð?ð?Àßï?€™ê?€Tï?Ààí?Úç?À<â?€iÒ?*´?¨À?@¥?`?õ×?€íá?±æ?ð?ÀÁî?@ê?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•ï?¶Ý?à?@h?Àm?4?€ZÛ?€Yå?Àoç?Àœê?Àí?@Ùí?€Âì?ÀŠï?ð?ð?@hî?÷î?€Ìï?€¯ï?ð?ð?ð?ð?Àáï?@ï?ð?ð?ÀNï?€Ùî?À±ï?ð?ð?ð?ðï?€{ï?€µï?¦ì?ÝÌ?6?H·?€3Ö?À­è?€Ðí?Àï?ð?@™ì?œß?À¤é?ÀÁæ?ï?öî?]ï?@í?À<ï?€2ï?@ýç?í?nï?ÀIï?Àñî?ÀTï?€{î?Àî?óî?Àeî?€þë?€4ë?ð?€ýï?€hï?@éå?Àx?Р?Àíé?Àï?ìï?ð?ð?@êï?@…ï?À…î?@Úë?yî?€’ï?ð?èë?@°î?{í?ÀÕì?@ î?€ ï?@Çï?€î?À#î?€ï?€\î?@~ë?yï?À¿ï?À„í?/ï?@óé?@Áî?ð?ð?€×Ø?0†?jÇ?À?ì?€•ï?Óé?@éï?€éÞ?sã?xä?Ð? ~?@f?r¼?€QÙ?@Cí?Žï?ð?@ï?@‹ê?ÀÁï?¼î?ð?Àäï?@9í?ÀÀî?ð?ð?Àãï?@·ï?ïî?@|ï?ð?ð?ð?ð?€¬ï?€yï?ð?@ýï?@ýï?ð?ð?€[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?À¤î?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?Ìë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?€Íï?ð?@8ë?Àç?À¨ï?@åï?€©ï?€9î?Àäï?ð?ð?ð?€òï?ð?ð?@´ï?ð?ð?ð?ð?ð?äî?@Fí?À…ï?ð?ð?€òï?´ï?@Ýï?dï?À•ï?Àrï?êî?@´ï?Àî?@ï?@hï?€Íï?{ï?€gí?´ï?€gï?ð?ð?úï??í?ð?@ùï?³ï?4í?ð?Àï?@„î?ÀÊí?€Jï?@/ï?ð?ð?ð?ð?ð?@Íï?€·ï?ð?ð?ð?ÀÀï?´ï?À~ï?À‰î?¹î?@Éï?@Éç?Àôï?Àýï?›ï?´ï?ð?ð?ð?@ãï?€Ôë?À‹î?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?Àúï?ð?ð?ïï?@öï?ð?ð?ð?À£ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?@Kï?ð?ð?ð?ð?ð?ð?ð?ð?èï?€äï?Àäì?@³ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?óï?@‰î?@yî?€Êï?€Õì?@€ï?À1ï?ÀIî?€Ÿì?€±î?×ï?õï?ð?€úï?ð?Cï?@Öí?€KÖ?üÓ?À&ì?@Âï?„í?€+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?Àýï?ð?ð?ð?ð?»ï?€ßï?ð?ð?ð?ð?hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?€÷ï?ð?ð?ð?ð?ð?@’î?Ùï?ð?ð?ð?ð?ð?Àgí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?€uï?ˆï?€Øï?ð?À÷ï?€òï?ð?ÀÕï?Ñî?À,ê?€?é?Àõê?•é?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦ï?ð?ð?ð?ð?€Óï?@ßï?ð?ð?ð?ð?ð?ð?ÀJï?ð?ð?ð?ð?ð?ð?@ñï?@Ùï?@ží?€Žì?hç?yæ?oæ?`ë?€Ëí?ÀŒí?ð?ð?ð?ð?ð?ð?ð?@0í?£æ?€Äì?€Vç?Àç?€Äæ?î?À"å?h›?@»?€BÝ?é×?À³é?zí?Iî?@ûê?èÎ?L ?ø¯?žÁ?€bØ?‘í?€õï?ð?ð?€¸ì?€JÛ?ìâ?äÑ?@°ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?ð?ð?Àüí?=à?ÝÍ?¬?€¯?ï?ð?ð?ð?ð?ð?ð?Àêï?@ªì?Àïï?À¸ï?Àïî?lî?€ï?€Aï?î?@³ï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?€Òï?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?Àæï?@Ýï?áï?ð?À í?Ýï?ð?ð?€Íï?À¿î?€Ãí?ÀQî?€þï?ð?À÷ï?€¿î?@¨î?ð?Àæï?@Iï?Qí?ð?Ñî?€/ï?€Dî?€&í?À7ê?ïæ?@›ë?@vî?À€î?€pí?˜ï?Åï?Àï?Iï?Ïî?Àiî?Àië?Åé?€aê?@ë?ÀÀë?@}î?îì?€Uç?€î?@Tï?€ë?Áê?«ì?|ê?€Ií?@Cë?@¥ì?¦í?€Ùï?@Vî?@Öï?€rï?Àíí?€üí?€/ï?î?@[î?À8î?€ï?¸ï?€4ï?€›î?Ãï?@’ï?Ìï?À]í?èî?@ï?€+í?@fî?@—î?€{í?@íï?À,ï?À2ë?€`î?@Åï?ð?@´ï?ÀÒî?@öé?@¹ä?Ó?VÞ?@vë?uï?éì?@Ví?`ê?ÀÉè?Aì?ÀÃé?pê?À6ë?ÿæ?³é?†ê?Àúî?Àæï?À,ï?@sï?cî?€Wï?À(î?@§ï?@×ï?@³ï?€æï?€Íï?€dï?@¯ï?ÀÊï?ð?@uï?íË?~³?À¦ì?@mï?€¿í?ï?ð?ð?ð?ð?ð?ð?|ï?@æ? Ú?@‡? Ž?À„è?ð?ð?ð?Ëï?€Êï?ð?@‚ï?Àäê?€¸ì?Àåã?€ˆä?€Žé?@ºé?€¨î?ÀÚï?€—í?€öí?€…ï?€Ëè?±?‘?ÀWà?â?Lá?@¤î?î?Àï?ð?€úï?ð?ð?Àýï?Àví?Äì?@Dï?Zì?Žæ?€$ç?€¯ß?Å?øË?@[ì?Ààï?@Ëá?À»å?aÙ?^Û?€oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\í?è?¦?ºÁ?ãË? •?ü¥?à®? ×?dï?ÀAï?@.ï?ð?€Þï?Õî?Àîï?@Æï?ð?ð?ð?À÷ï?ð?ð?€hï?ð?ð?ð?ð?ð?ð?À7ï?¯ï?@ùï?@Áæ?€¡Ù?@n?@a?ÙÈ?€iÛ?À®å?@Yï?Àí?@óï?€¨ï?€Íï?À2î?ÀÅé?ªè?@ï?ÀQï?@ë?@[ï?€¼ï?ð?€4ï?€¬ê?ï?ÀÁî?€ î?ð?ð?ÀŒï?eî?€Uî?@ší?€iî?€î?Yï?Ïí?Àéé?+Ì?€ìÔ?ð?ð?ð?@hï?ð?ÀÀï?ÀSï? ê?Ýë?@Hì?@!ï?€Äí?€«ï?@uî?@Ví?À ï?À÷î?@fì?€>í?€Eï?•ï?À—ï?€yë?Àøí?€üï?€êï?€Ië?@êç?À©í?±í?Ùï?À ï? Þ?€îÕ?€£î?Àî?µï?Àì?¦ï?ð?€†ï?½ä?ÇÔ?óå?ªá?À±é?ð?Àšï?@¬ï?ð?@Ûï?ð?ð?€àî?À&ï?@Þî?€©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€êï?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?@>î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?Àhì?ð?ð?ð?ð?ð?ð?ð?ð?ýï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåë?À[è?€òë?ÿï?ÀXï?€Íï?ð?ð?ð?ð?ð?ð?@mï?€§ï?ð?ð?ð?Àóï?ð?@|î?@­ï?@Íï?À(ï?@ôï?@¢ï?íï?ÀÍî?€yï?@Æï?À´ï?hï?@´ï?ð?ð?ð?€ ï?ï?"î?ð?ð?Àþî?€Üï?@×ï?€éï?Àíï?€çï?ð?ð?@Ûï?ð?Ààî?@í?@Úï?Àšï?ð?ð?ð?ð?ð?@|ê?@Eì?ð?ð?ð?ð?€Ùï?qï?À­í?€?î?ÀÛí?€yé?ð?ð?ð?ð?ð?ð?ð?ð?ð? í?@ í?@÷ï?ð?ð?ð?ð?ð?@£î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?€‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@$ï?í?”ï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?Êí?ï?€éï?Èë?@àë?ÀGï?À­ì?ÀÅå?Àùè?À„í?À@ï?€Óï?@¶ï?ð?Àï?ð?Àãé?€jÚ?ïÜ?Àê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dï?éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?À·ï?ð?ð?ð?ð?ð?ð?@¹ï?™î?ð?ð?Àúï?Àªí?€éé?¡î?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€øî?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?€ï?@~î?€„î?(ì?uí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™ï?À ï?ÀAí?€¼ï?ð?ð?ð?ð?ð?ð?ÀÂï?@Øì?€MÙ?€Û?ð?ð?ð?Àaî?€¡æ?€<ä?À‹æ?ï?°±?Àd?Xœ?f°? –?ܳ?@nç?ð?Àøí?@Wî?@*æ?HÖ?ƒÄ?±ä?À±ë?€Mï?@ôï?€ï?@‚ë?Àÿå?Àôä?âè?€Û?€Ýì?€†ì?pÍ?€e?< ?Í?ÀVï?ð?ð?ð?ð?ð?ð?€ùí?€«ï?ð?ð?ð?€bï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šï?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ïï?ð?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?Àï?ð?À´î?Àæï?ð?ÀÁî?@øï?@ýï?{í?€ìï?Àæï?@rï?Àã?‘ï?´ï?@Íï?€žï?@Bï?>î?Àï?€)î?âì?€Öï?ë?Ýå?€cì?í?À0ï?À­é?€¬î?ÀÚë?€õî?À!ï?ï?ìî?Àí?@‡ë?é?Àsí?#í?@qí?ì?2ì?°è?êí?Àãå?@Üê?€râ?Àªâ?Àtí?@ í?ÀÆê?Àþí?î?€/ì?€óí?€éï?€ï?@gí?€ ï?Þï?†ï?@hï?ð?ÀÈî?@ìï?€òî?@®î?ÀÕï?@mï?€ï?À9î?€Yï?ÀÌï?À‡í?€]í?´ï?€•ë?€ÊÙ?Êß?À?ä?Ä×?¨Ü?¢è?€Ö?Ûê?€îí?ë?@+í?@ƒì?¡í?@4ï?€‚Ü?Àlî?@Cê?@åè?Ùæ?€ì?Àí?€Xç?2ì?€ãï?@î?@Äï?@Ûï?@Éï?@î?@>ï?Àíï?×í?€ëì?ÀGï?Ààî?€–î?ð?ÀÏï?Àï?@Åî?€Uè?À?ëØ? í?@Ýï?€¸î?µï?À9î?Àýï?ð?ð?ð?ð?ð?ð?×ï?€ Þ?G?À3æ?ð?@´ï?ð?@ï?@Óï?€çï?^é?€Zç?€’î?Ÿë?ã?€ZÕ?3æ?À#ã?€–æ?€Wì?âì?À¡â?Àßä?@¯è?€Ùæ?€í?€oë?@#è?ïï?ð?ð?ð?€ ï?ð?ð?ð?ð?À$í?—ï?/ï?@žî?À>ï?€öæ?°ß?XŸ?úÐ?ð?ÀHé?€÷Ð?xÔ?ÀAè?À[á?Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂë?æÎ?FÎ?À{ê?€ëè?€#î?Ïï?€Ïï?@ï?@Ûï?À3ê?ð?ð?Ïï?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?@™î?ƒÄ?kÉ?€òæ?€eä?€¯ç?€Üï?€Ôï?@éï?@—ï?€Ôï?€“ê?@Ré?À-ì?ÀÖé?€Ÿê?Àí?Lî?@î??í?ð?€Óí?›î?@ï?ÀÓï?@ï?ð?ð?†ï?@Pî?À î?@.í?Àéì?é?fî?ÀLî?€Ká?Àf?›Å?À¬ì?ð?ð?ð?ð?€ï?Àåï?€×ï?-Ã?@á?@öè?À'ê?ì?Àˆí?€Jï?‰í?@Ëí?3é?Áä?@¤ê?@eí?¸ë?€æ?¦à?€Iã?…ï?À“ï?@(ì?@ì?€8ë?€é?yï?@ðì?ªæ?B±?@p?ƒ? }?€æ?€Rî?Àoå?’ì?ð?ð?Àï?@éï?@Mî?×î?î?@Kë?À’ê?ð?À˜ï?ð?ÀØï?ð?@hï?@Šì?@hï?ð?À…í?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êî?@©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëí?@cî?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?€Ïï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?šì?À¦î?ìê?€>â?@ì?ð?ð?ð?ð?ð?ð?ð?€fî?ð?ð?ð?@êï?€(ï?@Ãï?¨î?>ï?ð?@î?žï?€þî?€ïï?€Yï?ð?À¬ï?€Òï?ÀØï?ð?ð?ð?ð?Àï?@hï?@´ï?ð?ð?À)ï?xî?ùé?hî?€Óí?€[ï?ð?ð?ÀØï?@´ï?Àøï?À_ì?À¦ï?ð?ð?ð?€Íï?Éî?ð?ð?ð?ð?ð?ð?ð?ð?Rî?<î?ð?Àùì?À{ë?ð?¿ï?ð?ð?ð?ð?ð?ð?ð?ð?€ºí?@¡ë?@ë?Mî?@þë?†ë?Àäì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¿ï?€Ìï?ð?ð?@©ï?ð?ð?ð?ð?ð?@Ðî?ð?ð?ð?ð?ð?ð?ð?úï?Qï?ð?@Íï?À¶é?€ðì?Àí?Àåï?@˜è?€]æ?€á?€Ãê?À6î?Àmì?Àäë?@©ï?ð?ð?€Ôï?@íî?äè?ðÙ?€:ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?Àßï?ð?ð?@î?ð?ð?@Àì?zî?ð?À'ï?Àtï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dî?@Cê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“ï?ð?À ï?@Þï?ð?ð?ð?ð?ð?ð?ï?€tç?½Á?€Aã?ð?ð?ð?€Tê?À+í?€ðì?¡ï?î?»?ÁË?€óî?Àì?€ê?ñã?Õé?4ª?€Y?ð’?cÄ?€Ý?FÍ?œ¤?”?­Û?´×?µÖ?ä³?À€æ?6î?ð?ð?ð?ð?ð?ð??ï?€Eï?Àèï?€Iì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?€5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?Åï?ð?ð?ð?ð?ð?ð?ð?ð?À·ï?ð?ð?ð?ð?ð?@øï?Àíï?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿì?Eï?¦î?ð?Úï?­ï?À÷ï?ð?qï?€ï?úï?€>î?ð?ð?ð?ð?ð?õï?Àvî?Àñê?@°í?@}î?€†ï?@Žï?@(å?Àè?@\é?ÀQî?@+ì?Àè?Xì?À<í?@¡ï?€,î?€™ï?€Rï?sî?@öí?@·î?€¡ë?ÀEí?€óì?€Ôï?ï?€¬í?Sì?Bà?€›Ó?Ùç?À±í?˜ë?Àåì?@”í?€î?€}ì?oí?€†í?@î?{ì?À<ì?€×ï?Àåï?ð?Àæï?ÀÑï?Àáï?€rï?@ ï?üï?€¹ï?€Îï?€ªï?Üî?Àï?Uè?@ë?@‰ï?|ï?Àµï?@Zì?Àmï?Àî?€¿é?wÔ?€ ×?Àüå?¦î?ûí?î?@%î?ÀÚì?Àî?Àäê?@Rí?@¹ì?€¼é?@«ì?À¥ì?@œê?@¸ì?î?@¬è?€ï?À½í?@eï?Àí?@]ï?@¡ì?À½í?@ î?Àsî?@Ðî?Àsí?€–ë?@×ï?óï?@±ï?€®î?¤«?òØ?€ï?ð?Àï?Ûî?@ ï?ùï?ð?ð?ð?ð?ð?ð?€òî?ÿî?ª?×Ê?ÀÀí?@Éï?Úï?ð?ÀØï?€nï?€ÿã?̤?€Ç×?€Èæ?PÛ?Ó?Ù?ûÞ?/ë?@1ì?@Qï?À-í?@Aì?îî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?€@ï?ð?óï?€çî?ð?À€ï?ÀŒë?@™è?[Â?€ŠÒ?ð?Àà?@Àâ?ná?@£á?€˜ä?‘ã?@óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?Àé?€Û?@g?€ Ñ?€Ôê?@ë?À€í?ð?rï?í?@óï?šï?€—ï?ÀFï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À}ï?ð?Éç?(±?MÁ?Sì?Àçï?Àî?ÀWï?€¶î?ÀPê?Àï?±î?@—ï?”í?@úí?àï?ÀDï?@¿ì?€Ìè?@í?Ðì?î?@×ë?@î?ÀDî?ÀÄì?@‹ï?€¡î?€iï?À›ï?@²ï?@&î?Àˆí?@]í?À‘î?Àªï?€²ï?€ ï?€±â?È—?(µ?ÀÜì?ð?ð?ð?ÀYî?°ï?¼ï?@öï?@þï?ã?MÅ?€÷Õ?Àâã?€Uï?ïï?€ï?@žê?@Àë?€»å?€xë?Ýë?òï?Àsï?gï?Àvï?Àë?@Æï?@¾í?Ôî?‘å?@Ùî?­î?ÀÙï?€éì?€øï?@Aï?€Nâ?€5å?€›Ñ?àz?p¯?H¢?ò¶?@í?ð?À3í?€’ï?ð?€Âî?€©í?ð?@î?À4ì?@Åê?ÀÞæ?€ ì?ð?îï?€Îí?kî?ð?ð?Éï?ëì?ð?ð?ð?ð?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sï?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?@¿í?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ÀWï?@‹ï?€þï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*í?€Sé?@Uæ?:í?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?@Óï?À°ï?Àdï?×î?ð?ð?@…î?€¨ï?€øï?Àôï?@Ìï?ð?À?ï?ÀTì?îï?€€ï?@³î?ð?ð?ð?>ï?€î?Àúï?@@ï?ð?@´ï?¾ê?@cè?À2î?À7ï?€Uç?@>í?€,ï?ð?ð?@dï?Þî?@Eê?Àßî?4ï?ð?€çí?@µí?€þï?ð?ð?ð?ð?ð?ð?ï?@ïï?@Öï?ð?ð?€¯é?ð?À÷ï?úï?aï?ð?ð?ð?îï?ð?ð?ð?ð?ð?@öï?Lì?@Öí?@‡ï?@iî?À¬ë?Vï?ð?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAï?€1ë?@Ùï?ð?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?ÀPî?À®ï?ÀYï?ð?€dï?uê?@>í?ð?ð?ð?€òï?À°î?ÀÓï?ð?ð?ð?ð?€²ï?ð?ð?ð?ÀGï?€˜ï?ÿï?€;ê?€‘ì?@–ï?Àüï?€Oì?€Lç?Àêè?À÷ê?ÀÑë?€ í?1ï?€‘í?€lï?@èï?€Åî?Àìî?Àæ?€¡î?À]î?Ýã?¹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾î?€ãê?”ê?À"ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±î?–æ?@êî?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?€íï?ð?€Qî?Gî?ð?ð?ð?ð?ð?ð?@÷ï?íï?Àhï?ßï?ð?ð?ð?À…ï?@$ê?@î?wí?À›î?€ì?BÊ?ö³?ìÇ?€U?ÉÃ?€åÑ?bë?¤Ô?¨™?Às?@f?¶?@f?À`?€Á?@¹ì?ð?ð?ð?ð?ð?ð?€=ï?ðï?ð?ð?ð?õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸ï?ð?ð?€Qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?@üï?@Ìï?ð?ð?Ôï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?€rè?@Ìï?ð?€þï?ÀÁï?@~ï?À,ï?€•î?À9ì?€ ë?@ï?€{ì?€¤ï?Àï?À¾í?ƒæ?–í?@…î?@bæ?€aí?@šï?Zí?Àé?»ï?€¢ï?@ï?Àî?¥î?@@î?@gí?@î?€ï?€¼í?€ïè?åë?ÀÀí?@£ì?€½ï?À$î?€áí?€Íç?@ë?€›î?Àå?Eï?ÀÞî?€Œí?@ é?€±è?À×ê?Àeï?@Öï?ð?@Úï?@ùî?@æï?Àzï?@²ï?€ûï?€þï?ÀÄï?€ï?À`ï?À½í?@vï?€nï?@;ï?€½î?ï?ÀRí?€Îî?€êê?€ì?€÷í?À{ï?@nî?Äí?ˆí?7ç?€ï?Àê?@¼é?ßë?€á?@â?À3â?eê?ÀLé?òê?€ê?€)ë?À›ê?@Ñì?í?@óë?€‰ä?ÀÅê?€~ì?‡ï?ÀÇë?€=î?çê?3ì?@éë? ë?@‘ì?À~ï?@Ìï?@oì?xº?@è?ð?ð?@$ì?€Fï?ÀŽï?ð?ð?ð?ð?ÀJï?ð?ð?€nï?í?p¤?€V?(?dÃ?ëÕ?ÀÜç?@9í?@då?€OÖ?$¨?¾?Àa?P˜?—?ŒË?€àÓ?€PÚ?@Tè?À%ï?öî?\î?À‰ï?€˜ï?À0ï?Dï?€ìï?ð?ð?@†ï?ð?ð?ð?ð?€gï?€<ì?€ñï?fï?À·ë?ð?€Õï?ÀÐí?Ãì?@~á?ñØ? ´?X?€Å?À^ì?€NÑ?€¹×? æ?oï?^ï?€Éï?Àµë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€eç?@:ä?@Ðç?Ï?J½?˜™?Ü?ë?€™î?€¿ï?éï?ð?@âï?ð?€’ï?€í?@’è?€õï?@ï?ð?ð?ð?ð?ð?ð?ð?øí?€KÞ?À)à? €?¼¥?bç?@²ï?@ï?Mï?'ì?Àiæ?é?ð?À(ì?@àî?@/î?€Ëí?À?í?ð?ÀGî?€}ê?¯é?¾è?€Áè?Àƒì?€ì?@í?À7î?@ñî?€¨î?€ï?À¬í?@Ùï?€0ì?@Wî?ð?ð?@Äï?ð?À+å?—?€c?@2å?ð?ð?ð?ð?Àyí?ÀÑï?@Dï?@`ï?ð?@fî?Ûã?'î?äé?@ìä?€jç?@~ì?€cã?€gç?ªç?ÀÔî?¯ï?Àqï?@+î?ð? î?ÀVí?äê?@ê?À¡ë?6î?öï?€î?öï?Rè?@Òï?ð?ð?€ªî?@Æé?»Å?h–?¹?€î?À±ï?€tï?ï?€xï?€í?€¤ï?€ ï?ð?€Dí?€í?€ í?Ræ?´í?À ï?€œï?ð?ð?ð?€ï?€…î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ï?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óë?@áí?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{î?€ôï?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@>æ?@ ë?@‘é??æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•ï?bí?ÀÁé?Öï?@ìí?Ààï?ð?ð?ÀØî?À1î?ð?@¾î?ð?À™ï?aî?À¿í?@xî?€¨í?¥ï?@øï?ð?ð?¢ï?À9ï?@ï?ð?Àbï?@Éî?@Ðî?6å?Àqí?ï?À1æ?-ã?@Sè?€ðæ?À{î?@ôï?€õì?ð?ð?ð?@Äï?Àñï?ï?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?ð?ð?À¼é?ð?ð?ð?ï?ð?ð?Äï?€ƒï?ð?ð?ð?ð?ð?€Šì?€èï?ð?ð?ð?@âï?€«ì?€!ë?€ì?ÀMê?@Jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@)í?@‘ë?Àzì?@í?¿ì?@Äë?@âë?€Iï?@·ê?ÀEî?ÀÞì?ï?ð?ð?ð?ð?ð?ð?€˜ï?ð?ð?Àñï?Õï?ð?ð?ÀÆï?ð?ð?ð?ð?ð?ð?ð?€­ï?ð?€(ï?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?@¼î?€¦î?€@ï?€Èî?€„î?ð?ð?ÀVï?ð?ð?ð?ð?¶ï?Àqï?ð?ð?@˜ï?Ààï?ð?æï?;ï?ð?ð?Àwî?¼ï?@ï?6ï?ð?À¨ï?@¢ï?@ì?ÀÖì?À>í?@³î?€…î?@î?@é?À4î?@$ï?€$î?ð?@²ï?^î?@îê?€Ïî?@Ñì?€vâ?@.ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àí?€Pî?@Éï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?@Õí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBë?@Äí?ÀÕê?Àœí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@7ï?Àî?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”ï?>î?€ï?@í?î?@áî?mì?Àç?@Šã?àx?€á?ð?ð?ð?ð?ð?ð?€”î?@Òï?ð?ð?ð?À8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žî?À¿ï?€Ãï?Àåî?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’í?@Üï?ð?ð?ð?@ðï?ð?À¼ï?@~ë?ÀÐí?€±í?€õí?€Àí?²ì?@íî?À¸ï?À4î?Òï?€ç?.æ?@tí?¬í?(è?€hë?@^ï?À@é?€™ì?€í?€î?À¤ë?@î?À ï?À¬ì?ÀMí?€òî?àí?eé?¸ç? å?€Íå?À“î?´ë?@Þä?ïî?€(î?€kí?(ë?€âã?ì?Àvî?€»ë?yé?ží?€ì?Àéî?€6ì?ð?@¾ï?€‚ï?ð?ð?ð?ñï?@tï?ð?À^î?†ï?@Îï?@âï?ï?€gï?ÀŒì?ìì?À.í?ÀÍè?À÷ç?Àã?€¯ë?€í?@êé?€Âí?@Êí?(î?ÀWì?ÀÉê?@®ë?€tè?¡Ê? ¥?@b?×Ç?Ö?ÀŽæ?€î?€»è?À¸ì?€“í?€”æ?Àùì?ÀÃî?¹í?[å?ï?@3ì?ðì?€àé?@*å?#è?hî?€²ï?€:î?€‚ë?Â×?õ×?ð?ð?@±í?@Lî?ÀQï?€ï?ð?ð?€Ûë?ä?@0ï?Aî?@Éî?€æï?€Ù? €?£?€f?N?ü³?¡Ç?àv?°?Ü·?©Î?€ê?ÀCí? ï?@ªí?À ï?€tï?€äï?@Áï?ð?ð?@ªï?€ôé?¢ï?ð?ð?€Ïï?€Üí?ð?@Åí?@Àë?€vï?€Ñî?@¾í?@oî?Àç?IÕ?N¹?(¤?R¶?€9Ð?¦å?€Ôã?@Iã?À¾è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@eî?øá?Àä?€MÑ?a?Ø?ÀŽï?ÀÝå?@„ì?@¿ê?¯ï?Dï?À¬ï?\ï?!ì?zê?À¹é?@Hë?ð?@£ì?ÀÅï?ð?ð?ÀÜï?½ã?ê¼?Z?€Ø?î?ÀÓï?€Õì?üÞ?€aë?@¡ï?€î?Àï?:ê?@"í?0ì?À#î?Àîè?€5í?€½ï?ï?@è?@˜î?€è?î?{ï?@æï?{ë?@Õî?úî?³ï?#í?hï?À,ï?ÀÙî?ð?€çî?€Kï?@Íï?€×?”Ü?€î?ð?ð?ð?ð?Àtï?ð?ð?Bë?ð?Àmî?€ëï?™ï?@ºï?@ýë?@>ê?¦í?€6ë?@Òî?€hì?#î?@¯î?@lï?ºâ?§í?„î?*î?@ î?@åî?€§ì?î?@%î?€8î?€…ï?@oé?™í?ì?€©ì?@=ï?À«ï?@¼à?°?ÿæ?À²ï?Àdï?€*î?À«î?×ï?@öï?Fï?@Ìï?Àï?@Pï?î?À£ë?€Ôï?ð?ð?ð?ð?ð?ð?@üî?íï?ð?ð?ð?ð?ð?ð?ð?€³ï?ð?Àöí?@[ï?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*ï?ðï?ð?€ï?À¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€0ì?@Sï?ð?ð?ð?ÀÎî?ð?ð?ð?ð?ð?Àƒï?€ºí?í?ð?ð?ð?ð?ð?ð?ð?ð?ð? î?@í?’ê?À ê? ç?@iì?ð?ð?ð?ð?ð?ð?€²ï?ð?ð?ð?€dï?€ï?òê?Àpë?À«î?€Öî?@‡ï?¢ï?ð?eï?€ëï?À"ï?@Íï?ð?ð?€ëï?À‰ï?2ï?@§ï?€eï?Èî?@ì?€¸î?€ôî?Àõï?@Íï?ð?ð?@Qï?@î?kî?€¿î?€8ï?kï? ë?À×í?Àãï?ð?@øï?î?Àéî?ð?ð?ð?Àúï?qï?@ï?€ãï?ï?ð?ð?ð?ð?ð?ð?ð?ð?Àðê?ð?ð?ð?ð?ð?ð?Àéí?ð?ð?ð?ð?ð?ð?€äí?€ðï?ð?ð?ð?ð?ð?ð?ð?€Ôï?Àoí?Àì?€7ë?ð?ð?ð?ð?ð?ð?ð?@âë?@êï?@Óï?ð?€'ï?@§î?Àhï?ð?ð?€îï?À£î?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?Àúï?€ðï?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?ð?€oï?ð?@áï?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?Àfï?ð?zï?Àüî?@|ï?@­ï?ð?ð?@Qï?€‹ï? ï?ð?ð?ð?ð?ð?ð?ð?€Ñï?ð?ð?Àõï?ð?ð?ÀÄï?€šï?€»ï?ÀOî?Úï?ð?@²ï?Àîê?€ë?Àtí?Àî?Àï?À1ë?À5ë?À\ë?ÀJé?Àâè?€Ðï?€Ûê?@î?ÀÛî?ÀÂï?£î?ÀHí?á?€tí?ð?ð?ð?ð?ð?ð?ð?@Íï?ÀÙï?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×í?ð?ð?Àïï?€¨ï?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?€£î?ð?ÀJï?ð?ð?ð?ð?ð?ð?ÀÎî?ð?ð?ð?ð?ð?ð?ð?ð?ð? í?€_è?@áï?ð?Àâì?ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?ð?ð?@Ìï?ãî?ð?ð?€ìï?àî?3ï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€’î?­ï?€´í?€$ï?ÀÍë?Àíí?À°î?€¸î?5Â?€÷Ú?ð?ð?ð?ð?ð?@óï?Àûí?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?¼ï?ð?€µï?Àüï?ð?ð?ð?ð?ð?´ï?ð?ð?ð?@sí?@¿î?‘ï?ƒî?€ìï?À¸ï?ð?€Ùï?Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?ð?ð?@øè?@àï?À.ï?ð?ð?0á?€öï?€ýï?Àï?€Éê?Àïà?ÀŽë?€3æ?TÞ?ÀÌí?@®ï?@®ï?€¡ï?€›æ?€kã?À í?€2í?‚î?Àè?€ëï?@\í?@àì?@íï?ÀÌï?sî?ë?Àxï?Àï?Àõì?'ï?@Ví?€?í?)í?Wæ?@|í?tí?Àâ?À–ï?%î?]ê?@¾ê?ÀVá?@ìä?€šé?€Ší?Wê?À²é?"ï?@§î?€,ï?€ï?ð?ð?ð?ð?€³ï?ð?À“ï?@ í?ð?€Zï?€ëï?@²ï?ð?@Üî?@ï?@Èì?€8î?Äî?ÀÄá?€Ø?@üç?ÀÓç?€óë?–»?<ê?€ÒÔ?Àmá?Àí?@‹è?€ÏÙ?@˜ë?@ë?Àã?€ ç?ÀGì?|á?€Ø?€Çè?@ç?@×â?jí?¢î?€¢í?€+ë?žï?€¦î?@<ï?@wî?Ñí?€Öë?â?æÅ?€™Ô?€_Ù?èÛ?ˆ·?€l?pÒ?@ê?ð?€aï?Àyí?@ï?@¸ï?®ï?À¹ï?gì?@´?€ Ö?À@î?€öï?Àüï?€lÜ?„Ý?€Bä?ÀPâ?VÒ?X£?êÝ? Å? ’? ?¬?Àéà?€ûê?€rë?&ï?€ùï?uï?€Tï?½ï?ð?¤ï?@Ýï?€ëï?@¿ï?€„ï?ð?ð?ð?@ï?ì?€Îï?€vï?€îï?¬î?ð?@ï?ùà?BÊ?€?Ài?Ÿ??Ø?Àrè?zì?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\ï?´à?»Å?€ Ô?Cß?€Æí?ð?ð?€åë?Àzç?€Åì?€¶í?€Áï?@áï?@Hì?@£ï?@Æï?@üï?ð?€Ðï?2ï?ð?€Ðï?€×Ü? ?@r?R?š¹?@Eâ?€Ûì?Àøë?úâ?kÚ?€Më?@>ï?Pï?€Ûï?€Üé?À)ê?Åê?Àî?ÀÄî?@Sç?€ðì?ÀYï?@ïé?ÀMé?€í?€/ë?@ñî?À»ï?Àšë?Ànî?Zï?À‡ï?ÀNî?þî?@Åî?ÀÅï?€ï?Áï?Àˆï?Àpé?œ?K?3Ç?€ Û?€©ì?ð?ð?ð?ð?ÀJï?ð?Àdï?ð?@Ìï?*ï?Àqí?@íï?€Çî?€(é?@ï?ð?@Éï?Aî?@=ï?€¾ï?ÀRê?@×î?bë?ÀÃâ?€Lí?@.ì?@fî?À¾ï?ð?Àäì?å?ÀËä?ÀÝï?Àúë?€så?Ùí?€~î?šë?cï?€âí?@Gï?@vë?€ãà?@Ò?ð¤?€`á?@&ê?@­î?ð?ð?@Àï?€Éï?€Éï?Àµï?4ï?€ î?ÀÔî?À;ì?iï?@Ùï?ð?@Ìï?€aî?Àêî?ð?ð?™ï?€ï?×ï?@éï?ð?ð?ð?ð?ð?Àsï?À(ï?À—ï?@Õï?«î?ð?ð?ð?ð?ð?ð?ð?@²ï?Žï?€ùï?úî?ð?@Ùï?À–ï?ð?ð?¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒï?ÀSë?Àtë?½í?€˜ï?ð?ð?ð?úï?ð?ð?ð?ð?ð?@Ýï?@Lî?:í?ð?ð?ð?ð?ð?ð?ð?Éï?@–í?€Óî?xê?Ànê?À¤æ?€oä?@¶í?ð?ð?ð?€Úï?ÀÓï?ð?ð?€Òï?—ï?œï?€8ï?€¼í?@ ã?€§è?€<î?@´î?À~ë?€Sï?@Zï?€Wï?€ïí?Àsî?€oï?€,î?@²ï?ð?ð?@²ï?€‰ï?À^í?@4ì?€ìç?@îî?À¾î?€ßî?Àÿí?@½ï?€Bï?€©ê?@çê?À)î?@Zî?ÀWî?@êï?@§î?Àï?ð?ð?ð?@áï?€%ì?€Wï?@Wï?@=ê?@—í?Àpí?Àæï?/î?í?ð?ð?À@ï?€Ðî?ð?¬ï?–ì?€Hï?Àøæ?@ ï?ð?ð?ð?ð?ð?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìî?€ì?˜ì?wï?:ï?ÀÚï?@ùï?;î?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?øï?Àšï?ð?ð?ð?ð?ð?ð?ð?@Ùï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ï?@Âï?Ìï?Àýï?ð?€üï?À«ï?€ûï?ð?ð?ð?€üï?èï?€ìï?ÀÅï?ð?ð?@÷ï?²ï?ð?ð?ð?ÀIí?€«î?Òï?ÀÁï?€Òï?€ ì?@@ë?€Ïë?€Âë?@Hê?€]ë?ì?@Qî?@í?€Yí?@?î?@ ï?@oï?À\ï?ÀŒï?€Øí?@mî?Àeë?î?@-ã?@…é?ð?ð?ð?ð?ð?ð?ÀÒï?€Ëï?€ÿï?@Ìï?@²ï?€‹ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6î?€Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?€ï?Àäï?@·ï?ð?ð?ð?ð?ð?ð?ð?Eï?ð?ð?ð?ð?ð?ð?ð?€.í?€oæ?À¥é?Aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?Àdï?ð?¯ï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?€µï?@ï?Öí?€Mï?€¬î?Àï?@áï?óï?€Ì×?þ´?€Wï?ð?ð?ð?@­ï?€#í?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qï?Àvè?ð?€Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{ï?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?ð?ð?ð?ð?€üï?@ñï?ð?ð?ð?À°ï?À¾ï?@òï?ð?Àûï?ð?÷ï?À|ï?€²ï?ð?€Tï?À`ï?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ì?Àïï?ð?ð?ð?ð?ð?Àþï?ð?Àßï?@ùà?À2î?À2ï?ð?Àˆê?ÿÈ?€Ãé?èï?åï?ÀUí?€’î?@\î?@Gï?€Ùé?€ ì?@¨ï?@oî?@ðî?€eå?€7Ñ?@ í?@Íí?@Ûî?Žæ?€ï?Àáî?Ïì?Gï?@ùï?Àžî?@{é?Àî?@Fí?@Þë?@•î?€®î?í?€á?@°à?ÀÇâ?À.ì?€Ié?@í?Cï?Sê?Àmí?@ì?@˜í?Ôî?À ï?@xï?€Èï?@5ï?@ñî?ð?Àjï?÷ï?ð?ð?™ï?@:ï?Rï?@2ï?@°ï?@æï?@¿ï?ð?@¯ï?@½ï?ÀWî?Àóî?Àzë?€Rè?€/ï?€ræ?’ê?€Òë?@6ä?Ëæ?€Kà?À¶ä?@õã?€Ú?«î?òî?€xà?@«í?Ànï?€tî?@çê?€ìì?·é?Àãí?ÀÝë?½ç?ìÚ?@Ïâ?@®ã?@í?€ûí?gî?À‘î?@´î?Çî?@yì?ÀÄì?ËÃ?K?€?À!å?€Pï?ð?÷ï?@oí?të?Àî?@´ï?€ï?ÿï?@Jí?À~?X ? w?wÊ?@ÿî?€æï?Àÿï?ð?€òï?@“æ?pª?D?fÀ?À„?ô¥?€×æ?~æ?ßì?€aï?ßï?€Aï?@Ìï?€Jï?À¶ï?@gï?€¨ï?€ùï?œï?@˜ï?ð?ð?êï?À¾ï?ð?ð?À¸î?ð?ð?Àiï?À"í?€ÖÝ?ˆ»?β?`?l¼?_é?äì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?4î?@ùï?À›ï?WÜ??Ç?€ãê?@õé?@&å?@<é?ôØ?ÀUí?€ë?€ôï?ð?ð?ð?ð?ð?÷ï?Àäï?@éï?øï?ÀÆä?@)ã?€¨Ø?:?x²?€>Ó?0Œ?°‹?©Ü?@ä?€}ï?€„é?€üÚ?€4Þ?ôí?Àyï?Àï?¨é?kê?€eæ?€Gî?Eï?€Zí?;í?À¨ë?€áì?ð?yè?@6ì?€í?$ï?€Hé?@­î?@²ï?ÀSï?À9î?}ï?í?À+î?ð?À¼ï?@`ï?7ä?±?‚¹?Hš?#Ü?Òî?€Úï?ð?ð?ð?€Çï?ð?ð?À ï?@}í?ÀÂï?=í?}î?@¯î?€ìî?€Eì?Pë?@èï?Àsî?@wï?ï?@rï?ï?@oî?@ë?…Û?@ ë?@ï?Àfï?@™ï?€¸í?€xí?€üè?€ká?Àºî?€Zì?€‚Õ?€[Ó?þí?À7ç?‚í?€ùï?ð?ï?ð?@„î?Àzê?€ï?Àfî?€dí?ÀŒï?ð?Rï?@=ï?@›ï?ï?¬ï?€ƒî?ñî?€Bì?Àrï?@²ï?€Jï?€~ï?ð?€Þï?ð?ð?ð?ÀÍï?€´ï?@#ï?ð?ð?ð?ð?ð?ð?@4ï?€àï?ð?-ï?@ï?ð?ð?ð?ð?ð?ð?ð?ÀÐí?€ï?€Pï?ð?@mî?@ºï?ÀÅï?ð?@ïï?ð?ð?Àtî?ð?ð?ð?ð?ð?Àí?@™î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*ï?Àœì?À$ï?ð?ð?ð?ð?ð?ð?ð?ð?>ì??ì?€¢è?@åè?€÷è?˜î?À!ï? ï?Àæî?@•ï?€Në?€‹í?Àƒï?€Lí?ÀŒí?@áí?Àõî?ÀÛî?À€ë?€î?@î?€Cç?€âë?€î?@hî?ì?@cí?•ì?@=é?@Žë?@[ï?ÀÕï?ð?€|ï?Ïï?Àèê?Àxí?+î?@Ií?@sì?€žä?Àì?€Åì?cï?@eî?€œê?@(ï?¬ï?ð?ð?@¢î?@Úï?€Úï?ð?ð?€ ï?7î?€,ì?@«é?€ ï?Èí?À ï?@Ìï?À8ï?íï?ð?ð?@ðí?Iì?ð?Éî?ð?@ë?‰ì?ð?ð?ð?ð?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?@Øì?“î?Þï?fí?Xí?@Éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?€Pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ÀÑï?€Ãï?ð?@ýî?ÀŒî?@ðï?ð?ð?ð?Àï?Ôï?ð?ð?ð?€Aï?Àûï?€óï?ð?ð?ð?ï?±ì?@Áì?ë?@ðé?Ïë?€‘î?ÀÁî?ÀEî?‘ë?`ì?€ î?@cì?€Yï?@!ç?ßî?€hî?@–î?šî?€<ì?õî?€8î?é?ÀÝî?€î?ÀÐâ?À‹ä?€Pì?ð?ð?ð?ð?Pï?óï?@ï?¯ï?€dï?Àrï?@ïï?@¹ï?ð?ð?ð?ð?zï?ð?ð?ð?ð?ð?ð?À-ï?Àñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿî?À€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?Vî?À?í?@ï?ð?ð?ð?ð?ð?ð?ð?Àrï?ð?ð?ð?ð?ð?ð?À¥î?@jè?íï?Àûï?@’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žî?)ï?ð?@Ìï?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯î?Àñë?€˜ï?ð?@Øï?@Úî?Éï?@Žï?@ðï?ð?€Úï?€°á?œ¯?TÉ?¡?&µ?4¶?€ï?ð?ð?ð?oì?€ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹î?@éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?@}ï?ð?ð?ð?ï?Àˆï?€®ï?À“î?@Bì?•ç?€ºî?òï?@ûï?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?€bï?ð?ð?ð?ð?Aï?Ôï?ð?€Þï?¼î?À»ï?ð?æï?ð?€˜ï?€pï? ï?ÀZï?úè?ÀPî?ÀHï?À&î?çè?@(ï?!ï?ð?@ï?àï?@ÿì?€öì?–ì?Àpë?€_í?ï?Rí?Àté?€©Ú?Ôç?ê?€ì?@ä?€`å?€ ì?`ë?æé?€^ì?õí?@Æí?À5ï?€¯î?Àcí?^ï?€Pí?@@ï?@;ï?@ ï?ð?ð?À{ï?À‡î?À}ï?@ ï?ð?ð?ð?ð?ÀÜï?@¿î?@-ï?Hë?Àâæ?çë?Àûì?ÀOí?@Uï?@Gè?ÝÎ?²ß?ÀÑî?¸ê?€ôé?@Þæ?@í?@•è?€7í?€Õê?@@ë?€‘î?Àßã?ÀÏî?@ëë?€ºî?ÀQè?ï?@qî?€øì?@”ë?Àyã?€jã?@ã?Ãä?Xí?Õï?À‡ë?µå?¸§?€yÕ?íï?ð?ùï?bé?@éé?€½î?À8ï?Ôï?Àùï?°ï?qß?À~?“ß?€`î?ð?ð?€~ï?ð?@ï?@ƒá?`s?à‰?|¬?\?€`?ÒÂ?.Ê?€ á?/á?ÀFé?Àæï?€Kï?ð?À«ï?Çï?ð?€Üï?€ïë?Ìà?@øç?€‘ï?Àyì?€Þï?ð?ð?ð?€$î?ð?ð?-ì?€6ë?@_é?€à?€ªÐ?ÙÎ?€Öê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öç?@sæ?ÀSí?@®ä?@?ðƒ?¶?@&ä?€"î?ð?ð?ð?ð?ð?€*î?6ï?€´è?½Ô?L²?0‰?H¼?€µä?À7á?l¦?üÛ?@6ã?Àbè?€¥Ö?€€Ø?Àãë?@ ï?Ôì?À î?Àë?@æ?Àká?@Çë?@¢í?@±ë?€$ê?Àyï?@ì?qï?í?€&î?€Íë?@ë?€/ï?€Ûî?@[ê?@¢î?À]í?€(ï?†ï?@¾î?€î?ÀÒî?@jì?À æ?´»?‰?€]?p‹?ŽÝ?æí?ð?Àóî?Õï?ÀHí?€úï?@eí?€Gë?@%ï?@ïï?Àžæ?ÀÓæ?øî?À@í?Àé?ë?cí?›í?ÿî?Àˆî?sî?í?€í?—ï?@™ï?€!í?€Aà?@î?@”ë?À-ï?Àgî?Àˆí?@Pî?@ í?@‹ë?@Fé?@»ï?ð?@çè?®Ú?2¹?Rë?ÀWï?@ñì?À˜ï?ð?ð?ð?@¡î?@xî?€·ï?«ï?ð?2ï?vï?Àéï?ð?Ûï?€øï?ð?€®ï?@lï?€¼î?@ê?Àåí?(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ï?ï?øï?ð?ð?ð?ð?ð?@âï?ð?ð?@jî?€¬ï?ð?ð?ð?ð?ð?ð?ð?@ÿí?yï?Àçï?íî?€™ï?@yï?ð?ð?ð?ð?€Pï?Àµï?ð?ð?ð?ð?ð?@Eî?@"ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?À£í?@*î?@mì?À©ï?ð?ð?ð?ð?ð?ð?ð?tè?€'ê?€kç?Àé?@ñï?ï?À;ï?ï?@®ï?ÀŠï?€çí?Àõì?¼ï?€«í?Jî?@!î?€¶ì?Àì?@ î?î?@hç?ã?@ìã?@Øë?@Úë?@=ï?€Ñî?À]ï?À#í?@”ê?ÀUé?@Àï?¯ï?@:î?€¸ì?@¯ï?¡ï?@ÿï?ÀÇî?€•í?€|ì?Àtæ?Ùæ?€2î?—í?€„î?À=ï?€ñî?Àúï?€Çï?Àßï?ð?^ï?@ïï?çï?ð?ð?ð?ð?Àµï?ð?ð?ð?Îí?€×ï?ð?ð?ð?ð?ð?@qî?Êî?ð?ð?ð?€®ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€aî?@=î?À î?Wï?øï?ð?ð?€ÿï?Àðï?À†ï?À2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?Àöï?ð?ð?ð?ð?ð?€Ïï?@Cï?tï?¯ï?€Óï?ð?~ï?ð?ð?ð?@ñï?ð?ð?Àßï?@…ï?ÀÍì?€Pï?€ï?ÀÔï?ð?€Óï?Àúï?€ì?ßé?ÀÕê?À©ï?ê?€Kí?€‰ê?ì?@ëí?€ëì?&î?ð?@ñï?Àÿí?Àfï?€hí?üî?@ï?€îï?@­î?€ í?€þâ?Àå?Àî?À$ï?À´ê?€ì?€Žî?@ï?Àsï?@2ï?€ä?€aç?Pï?@…é?€ëì?êï?Àúï?Àúï?ð?ÀHï?Àsï?Bï?Àòï?ð?€lï?€´ï?ð?ð?ð?{ï?ð?ð?ð?ð?ð?ð?@ÿï?©î?ð?€Pï?ÀÉî?¡î?ð?ð?ð?ð?ð?ð?ð?ð?€(î?€òï?ð?ð?ð?ð?ð?Àâï?í?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?À²ê?€Ðë?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?—ï?€Rï?Àêï?(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?±ï?ð?ð?ð?ð?ð?€øï?Óï?ð?À¸í?çÝ?óÇ?wÅ?€Ùí?@yã?€ŽÕ?@è?ÀÚî?€+Ù?™Ø?Ã?€[?AÉ?@5î?ð?ð?ð?€Xî?@|ì?ð?ð?ð?úï?@íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?Àéï?7î?€nï?@/ï?@ï?ð?€øï?ð?ð?åï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~î?Êï?€ÿï?@ûï?ð?ÿï?€þï?ð?ð?À;ï?@Îí?åï?ð?ð?Àfî?Úì?€~î?ÀŒï?€ï?@¯í?@ï?@Uî?jï?€æî?€âï?@óï?Êï?òî?€Óï?Àí?@ì?@œì?À¦ï?À:î?@’í?šé?Œí? è?Àã?À—ê?€Iê?€$í?@kë?ÀXë?iî?ÀÎî?ÀQë?À?î?@¥î?@õî?Àfí?@Øè?¢í?ÀÎí? ï?@†ï?@í?0ï?€¿ï?À–ï?¶ï?Êï?À÷î?@yî?ð?@”ï?ð?¯ï?ð?@éï?€£ì?ÀÚç?Ãç?€Áç?@ì?Àkê?Àì?@ï?@dë?ÀÕç?€’è?@Ší?@rí?Ûì?@ ì?{å?@æ?€òå?@Ùâ?À‘ç?À[î?ñæ?€=ï?€Eë? í?€ã?@ é?ÀÂî?î?ãí?Àkì?Àßâ?ôä?@éî?€¸Ñ?€UÒ?€Ýä?½Ñ?^¸?*¾?€*ì?€kÛ?BÅ? ¹?€?žê?”ï?ð?ð?€Wä?€Ñ?(?˜©?ðµ?öÒ?xè?€$ï?@áï?÷ã?X”?6?€3Ø?@óë?å×?€R?°’?ð¸?„Ã?D³?çË?@Ãâ?øî?À.ï?@Ÿï?À4ï?‘ï?@¯ï?@ãï?Pï?VÒ?ô¹?ÀÄã?€Çã?Ãê?ð?ð?ð?ð?ð?ð?@ýï?ùê?@mí?€fç?€ÎÛ?$Å?¶·?ÀÍé?Nê?Àoê?€Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ï?€úí?€Yã?°­?Àw?€ºÙ?@—í?øí?ðï?ð?ð?uï?@Ûë?@Wè?`Š?r¿?>Ô?¥Ü?€àÞ?€ÒÕ?À¤á?ÀCí?€â?€ ×?KÔ?@Ôâ?ð?€³ï?€žî?@úë?Àêí?€çë?À5î?@®é?€.ï? î?@´ì?À(î?ð?ð?Àùí?ÀÄí?”ï?Eï?Àøï?€ìï?@öî?€ï?À/î?wï?€Sî?À÷í?@»í?@ªé?©Ì?ŽÁ?€Y?`?€ªÐ?Àˆë?ð?À¾ï?@…ì?€ï?@‘î?ï?«í?Ïê?@ î?Àäé?€Ãë?@xë?œì?@Æí?@·í?‘ê?Àìî?@¼ë?@Øê?Àuï?@Ìï?€‡à?ÀÔâ?@½ì?í?€î?¨è?@tí?€÷ä?@‹í?À!ï?ï?ð?€­ê?€_á?À“é?ÀÛä?Øê?ÀÇî?€eã?‘Õ?€Ú?€ à?€ýë?@í?Ðî?gî?ð?€úï?@Qï?À³î?ð?ð?€ùî?@|ï?€úï?ð?ð?”ï?ð?@fï?ð?€Ïï?€sî?À’ì?ð?ð?ð?ð?ð?ð?ð?ð?šï?ð?ð?ð?·ï?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?iï?€ëï?ð?ð?ð?ð?ð?ð?€´ï?@ƒï?Êï?î?€ôï?¯ï?Íï?ÀŸï?@~ï?ð?€†ï?ð?ð?ð?ð?ð?ð?ÀÒì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(î?ð?^ï?@ñì?À|ï?@ï?ð?ð?ð?ð?@âì?À3ì?€¬è?Ëã?@µì?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?@nï?ð?@nï?À²í?Àfæ?Àí?ÀÏí?€Ïï?Àï?@ï?@¯î?ÀWî?€2ï?àï?€—ï?Àžï?ð?@8ï?ð?ð?€‘ï?ï?@Øï?Àï?@óï?€ƒî?@ê?@Bë?Àñí?€=ë?€çî?€Ôî?ð?ð?ð?ð?ð?ð?@šî?ð?ð?À÷î?ð?ð?ð?ð?ð?ð?yï?ð?ð?ð?ð?ð?ð?ð?ð?€²ç?ð?ð?ð?ð?ð?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ÀTï?·ï?€æï?@Àï?Àíï?£í?@î?áî?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ã?­å?ð?¿ï?@Îï?ð?ð?ð?ð?ð?ð?ð?ð?^ï?ð?ð?ð?ð?ð?ð?€Ïï?ð? ï?ð?ð?ð?ð?ð?@Hï?ð?€´ï?ð?ð?@fï?ðé?À­é?Àï?€6ï?ð?iï?yï?ð?Àõï?@ï?Çî?gï?€Šï?€Tî?€iï?€‹ï?ð?Àï?Àï?ð?ð?ð?ð?ð?ð?@Âï?8î?Àå?"ç?Àã?€@Ú?¹à?À‘é?€í?€=ï?€êï?Àìï?šè?Ÿï?ð?¯ï?ð?€úî?Hî?øï?Àkï?ð?ð?ð?ð?ð?ð?ð?ð?À ï?€î?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kî?€hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇì?ÀÅï?ð?ð?ð?ð?ð?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?@^é?ð?ð?ð?Ûï?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Fî?ÀÏí?@¢í?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?Àâï?ð?€†ï?î?«Í?bÏ?ð?€õî?@rê?¼î?ð?ë?Õ?`¦?€T?Xâ?€°Û?€6Ù?@>à?Àäë?ð?ð?ð?ð?Àí?ÀÄî?ð?ð?ð?@ûï?À£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;î?(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À"ï?€êï?ð?ð?ð?åï?ð? ï?Àìî?ð?ð?€Áï?Àþï?”ï?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?€øï?¯ï?@Ìí?*í?ÀÛï?ð?ð?@óï?¯ï?@¢ï?åï?€êï?¶ä?ˆ?€<ä?|ï?@¾í?¾ì?Mî?Tï?°ï?€8ï?@˜ï?Àžï?@¡ï?”ï?€Êï?€}î?€ï?ð?ï?À«î?@é?@Wê?ÀÑë?Àæé?ÀOê?€%ï?À ï?@ë?€Hï?@Kï?€ ï?€Ïî?œí?Àì?@xê?€Dï?À…ì?€Aï?€î?^ê?@Iï?€Ëï?@}ï?!ï?©î?ð?Àxî?yï?Íï?€Ïï?åï?ð?@Cï?ð?À£ï?À€ï?€Pë?â?€7ã?^Î?^í?€ˆì?€¬ê?ÀJå?€Õí?@âí?€Ýî?@uî?@Œî?€í?€3ê?¶á?Àtí?Àxí?cè?@‰ë?€zï?€Nì?ê?€—å?.å?@éì?ð?À×ë?ê?ÀŸè?@ì?@é?€$ë?À%ï?€|ë?@îâ?]È?ȧ? …?€²ì?ð?ð?Àjï?®²?]?€`Ò?€¢ß?à…?EÂ?À[à?{Ü?>½?€êÞ?@jê?2°? ?:Ã?\Ç?@ æ?@'î?€ï?Àï? ï?ð?ð?€5ï?¯ï?€°ê?PÃ?ä¯?;Û?Ñ?ÀBî?@mï?À¦ï?ð?ð?ð?Àçï?@©ç?€Ìé?@Ïâ?‘Û?°–?&Ò?@•å?@)í?@-î?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ÀPê?€Ìæ?@Iä?¾Ï?à?´ ?€|×?€è?@¼ê?Àòè?GÕ?æ´?ê³?€‘Ñ?·Ç?€´ê?€Lê?@{é?ÿì?Àé?@é?@!í?•ë?Àôí?Àªï?ð?€£ï?‚í?Çå?€Èí?öí?Ií?€`ì?Àæâ?ÀÅè?€Òî?€[ì?@î?Àªï?ð?@³ï?ð?€ðî?ÀÐï?Àñï?€­î?ì?ÀÉí?À—ë?€,ê?šÔ?h›?îÇ?ð¦?´?ÅÎ?@Uî?ð?€¾ï?€–ì?€8ï?€÷ï?€êï?€<í?íí?@°ë?@~é?€å?xî?ÀŠç?@)ç?€öí?@Íá?À’ï?€ºê?Àmè?î?éí?À>í?É?Û?€gæ?@ë?@_í?€ªî?œî?Àòí?Àï?€Gï?%î?ÀOë?€¸ì?ùé?‡?ÄÓ?¹í?À³ê?À®æ?À7ì?@Îí?À+î?@(ï?Ùî?@)í?wï?ð?€¤ï?@™ï?•ï?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?@òï?@ñï?çê?€Øì?ð?ð?ð?ð?@éï?ð?ð?ßí?@Òï?Àï?ð?ð?ð?ð?ð?@Òï?ð?¯ï?ð?ð?ð?@úï?@éï?@³ï?ð?ð?ð?ð?€»ï?ð?@Õï?€òî?€)î?@#ï?ð?@‘ï?«í?ð?ð?@bï?ð?ð?Êï?@Òï?ð?@2ï?@(ì?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5ï?Jì?ð?ð?ÀÌï?ÀËî?ÀÁì?@˜ï?ð?ð?ð?€Eê?ÀSï?@}æ?Ïç?À_ï?@Õï?@qï?€(ï?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?@^ï?fï?@ýï?@½ï?ð?ð?Õî?€lî?@Áí?ð?ÀÝï?€÷ï?Pï?ð?ð?ð?ð?ð?Êï?ð?Àñï?&ï?ÀUî?€Ûï?À3î?Àöî?ÀAî?€×í?`ï?€Äï?@Éï?ð?ð?ð?ð?ð?€ï?ð?€¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰ï?ð?€nï?ð?ð?ð?Àyé?€§é?ð?ð?ð?ð?À­ï?€Kï?ð?ð?ð?ð?ð?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?€Úì?€¤ï?@vï?¡ï?À„î?À–î?À}î?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?"â?€´ï??ì?€ùí?²ê?@™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?À±ï?@Cï?@¯ï?ð?ð?ð?ð?€×î?ð?Óï?@Ýï?€¡ï?€´ï?ðï?3î?€ôï?žï?¯ï?@½í?€Èï?ûî?ð?ð?Cï?À´ï?@Äï?ð?ð?ð?ð?ð?ð?Çï?ð?@³ï?@°ï?À—ë?À¦í?@Gà?@Öí?øä?@Þæ?Àä?ÀQç?ëê?€Êæ?€…ê?À"ë?#ê?ÀÏé?Æê?€ëï?€éí?ð?ð?ð?ð?ð?ð?ð?ð?€Lí?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<ï?€«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?Àšï?žï?À¾ï?ÀÈè?À©î?ð?ð?ð?À…ï?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?ð?ð?ð?ð?ð?ð?ð?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?À¤í?€×î?Àgí?À÷ï?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?ð?ð?ð?ð?ð?€Èï?@jç?ž¶? ‡?ÂÙ?wÒ?€i?°Á?@æ?ð?ð?ÀFê?€Bä?€wà?ܨ?¢?[Î?€”ï?ð?ð?ð?ð?ð?ð?ð?ð?@òë?Àuï?ð?@©ï?…ï?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼î?ð?€cï?ð?ð?@Ní?þë?ð?ð?ð?@gï?€Žî?ð?ð?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?ÀÜï?@"ï?íì?€Šï?ð?ð?ð?Àñï?ð?Šï?@Cï?Àïï?ªÛ?„Ê?ñÅ?iÑ?@;í?€˜ï?ð?Ànï?€¥í?@Ãï?€Èï?@”ï?@Ãí?€î?À‚ï?%ì?€»ï?À™î?ÀÄî?€»î?€¯í?@ê?€õì?À’í?-î?oì?Àåê?À&í?„î?@éï?@yï?€¢ï?@þî?@uî?€»í?À£î?€óì?Àhí?Øì?€ìê?Àçí?pí?“í?Àî?@„ï?Êï?ð?Êï?€Ôî?ð?Êï?ð?@œï?À™ï?ÀÞí?@®î?„Ú?Ú´?€Ö?‚Þ?€Cí?@tì?€*é?€¦í?@ì?€Õî?€aï?€åí?€(î?Àºí?€é?@=ã?€5ï?À,å?€9é?Àùî?€Mï?@·ì?@Ëä?@æ?ÀŒê?ÀUé?@(ï?À±ï?@œï?Êî?Àmë?@øç?€žì?€Çï?Àí?@éï?]ê?’?€?@·î?ð?ð?’â?ü ?Àmç?ð?@ ë?˜ž?Àq?Ô¹?A?±?Àkå?ð?€¤ï?ð?ð?@”ï?Êï?ð?ð?@¯ï?€»ï?Àúè?CÀ?ü´?,¦?šÚ?Àé?Àôê?ð?€»ï?Àöï?€Ûï?æì?€ãÖ?€Ü?€|Ô??И?@å?€ ë?Àmí?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?€:ê?‰ê?€ÁÖ?Ї?pŒ?`u? t?T«?€Û?@Ìâ?Àgé?ÀÊí?€ î?€Tï?@Õî?Ùê?£ï?@¹ì?í?ð?¯ï?€Bï?ûï?ÀÃí?;î?€¬ì?@î?À|î?_ä?|Ò?€Ÿê?€õî?Àì?!î?›ë?Àûï?¯ï?€öí?Àjï?ð?À`î?€óë?€¾í?ÀŸá?Á?`?€•?€ÙÓ?rà?@¢é?Àgí?ûï?ð?€Óï?Àï?Þ?ð?ð?Ðï?@tî?€Êã?€8è?€Çè?ií?¦å?Fä?@Øí?@žå? î?€¸î?5å?À è?ôî?ÀÖî?À³é?!×?ÀÆà?Êï?@ùí?Xï?@Lï?À–ì?Àžê?À8è?€ë?À:í?Àç?€®è?€XÝ?Ý?€jì?€qï?£æ?“é?Àpï?“ï?€ßï?ï?@òï?Ìï?ð?@ïï?€ìí?@Gæ?ìî?ð?@ìï?Àòï?ð?ð?ÀÐï?ð?Êï?ð?èï?€×ï?€pë?€Õî?ð?ð?@Äï?÷ï?€–ï?@ôï?ð?ð?ÀÖî?ÀÇî?ð?(ï?€ßï?@Ïï?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?@¿ï?ÀQî?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?Àûï?ð?ð?ð?À÷ï?À\î?@í?Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?|î?Àïï?ð?ð?ð?ð?rï?À+ê?Àéì?@ãì?Àì?¡æ?@ë?€ÿå?€ï?ð?ð?êï?À£ï?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?€ôï?€™ï?pì?¤î?@Óí?À=í?@(ï?ð?@ ï?µî?¾ï?À¦ï?Àäï?ð?ð?@îï?ð?€Ãï?@ûï?€‡ë?@þí?@Ùï?ð?ð?ð?ÀÞï?ÀNî?@‰ï?dì?Àçî?Àï?@ðî?€cï?À6ï?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ï?ð?€¹ï?ð?ð?ð?ð?€Rí?Wè?@Þï?ð?ð?@„ï?äî?ð?ð?ð?ð?ð? ï?ð?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?šï?‘î?@¯ï?¯ï?ð?@ïï?6ï?ì?¥ì?À ï?ð?ð?ð?ð?ð?À ê?@ìã?@Èç?€Ûê?À²ë?€Ýè?°ë?@›ï?ð?úï?ð?Jï?Aí?@Jí?À¯í?€¿î?ð?ð?ð?ð?ð?ð?@^ï?ð?ð?ð?@ï?Àží?€0ï?ð?ð?ð?ð?ð?ð?Êï?@ðî?€Îï?ð?@†ï?ýï?’ï?ÀLï?@Òï?¯ï?²î?€1í?€í?@Vï?À‚ì?€Ûí?ð?Æï?ð?ð?ð?Êï?ð?ð?ð?ð?¾ï?ð?ð?ÀÞï?@#â?Ðî?€Kï?À+î?À¨ë?€¯í?À÷ï?¯ï?@Gï?@Yï?@þï?Àûï?€²è?Àÿë?&ê?@ í?ð?ð?ð?ð?ð?Àƒï?€gê?€úì?€Éí?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ð?ð?ð?@yï?©ï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?@õï?ð?ð?ð?ð?@ùï?»î?@ìî?Ùë?ð?ð?ð?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€bî?î?@-ë?€Rï?@“ï?ð?ð?Œï?€×ï?ð?ð?ð?ð?ð?^ï?@¯ï?ð?€ôï?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼î?ð?ð?ð?ð?ð?ð?Àöï?€Ní?qÐ?¶?@ä?@yï?€bî?vã?Øä?Ж?ð“?€ä?@eî?À¨ä?ð¨?ÑÏ?¡ì?ð?ð?ð?ð?ð?ð?ð?ð?ÀUï?ïì?ð?€Öî?@Ýî?€Óï?Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òî?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?À8î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ð?@õï?ÀÔï?ð?"ì?ï?Bí?ð?ð?ð?ð?À2ï?>î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mï?Êï?Àbé?Wè?¯ï?@¸ï?€Ãï?Àªï?ð?ð?ð?ð?ð?áï?ÀÜî?@–é?À#í?€^ê?mÒ?~·?€Üß?!ï?ð?À±ï?Àë?@í?@†ï?ï?Àï?pï?€Jï?@ï?€ðë?ÀÜë?@Hè?À³í?À’í?ÀÆï?Ãì?‰í?Ànì?€Yî?Àfì?›ì?!î?@ î?@uí?@²î?Àí?€Ùî?åï?@„ë?€Kï?#ì?€ê?ì?ï?Aë?€ì?«ì?wé?ÀÔï?€Gé?@yï?@Žï?‘î?Àìï?Òï?€!î?€3ì?€°ë?€Û?ˆ–?Àà?Àí?À7ï?€¥í?Ãê?@„ê?€#ê?áë?Àwî?ÀÝè?€eî?@ î?@?è?€,î?ÀŠî?íë?À¥í?ÀQï?€úì?Àé?À¢á?žÑ?£È?€ ì?yï?¥í?@Úï?€é?À¾ä?Àë?À¯ï?@Óï?ÀÒï?€vî?Bï?/À?€a?vé?ÀÇì?€kÛ?y?{?†µ?ÀÝê?@&è?•?B×?€oî?€gï?€‘í?@Rï?@¾ï?€…ï?ð?ð?ð?À½ï?Àùï?/å?]Å?m?@€? Õ?:é?Àî?€£î?Gï?€æî?€Aì?€™Ò?À¥?€c?F?F?€ëÚ?€6å?€yè?À†í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìî?€¾ê?ÀÄê?€Mè?IÆ?`?©Å?•Û?€´Ô?@Zâ?Àªæ?Àeí?€Qï?ð?Ðï?Uï?ÀÎï?@ãî?Xí?ÀÛï?ð?ð?ÀÍæ?ð?€êï?€”ï?@¹ï?oí?ð?ð?€Æé?Àeë?@1ì?€±ì?@ï?éî?€iì?«ï?@Fï?Œì?†ï?@Ôê?À¿ì?ÀSè? Å?°ƒ?8£?@Uå?ëï?ð?ð?ð?ð?Àaï?@êè?gî?ð?€Äì?€»í?Àkã?@×ä?€xâ?]ê?À©é?€fä?@¤ê?@1å?€ç?€Û?šå?½ê?€ûî?€õî?xì?üì?€úâ?tï?@Åé?Ñæ?ÀÐî?€Gï?ÀÔê?@wç?€ç?€·ï?€ î?€9í?@ñî?€­ì?@Õí?À=ï?€¿è?Àhî?@#ï?ð?ð?ð?Šï?Nï?ð?ð?ð?€ƒè?Àçï?Sï?€óï?€÷ï?ð?)ï?Àší?ð?ð?@Pî?Åï?Àûï?€’í?À<ë?€rì?¯ï?2ì?ÀRï?@Aï?Öï?øî?Àîî?Yï?>ï?ð?ð?ð?ÀŸï?ÀYï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªï?‡ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vï?@ï?ð?ð?ð?ð?ð?ð?ð?€aí?Rë?¥ì?@sê??æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•ï?ð?ð?ð?Ðï?aï?mï?€ï?€î?µï?Áï?À´ï?’î?ð?€àï? ï?€âï?@îî?ð?@‰í?@!î?Àžï?€óî?@žï?Àüí?À¸ë?ÀTç?àï?ð?ð?ð?@óï?@·í?\ì?€×ï?€Wî?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉî?ð?ð?ð?ð?ð?ð?ï?Àî?€ë?ð?ð?À8î?€lï?vî?ð?ð?ð?ð?ð?ð?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?±í?À”í?àï?ð?ð?ð?ð?ð?@…ì?@°å?@Žè?@—æ?žç?@ÿç?æ?€`î?Àµí?@ ï?@në?ïî?€óï?€|ï?ßî?’î?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?®ï?€ï?ð?ð?€¼ï?^ï?Ðï?ð?¯ï?À¡î?Àî?Êï?aî?ð?ð?Öî?€Ûì?@´ï?ð?ð?@þî?…ï?@Žï?›ï?€qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?ð?ð?ð?@Rá?@%ï?Àëî?@Êî?äê?ð?àï?ð?ð?ð?ð?ð?€þê?Àöè?@î?Ûæ?ð?ð?ð?ð?ÀWï?]è?À(ì?„ï?@ ï?ð?ð?€®í?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?ð?ð?ð?ð?ð?Áï?€‡ë?€Äì?ð?ð?ð?Àkî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?gí?@ï?@yï?ð?ð?ºï?@þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À é?€!Õ?0?Àˆá?Ø?@t?Ñ?cê?€êî?€²í?@Ñç?€<Þ?Óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Šé?€Ëï?€>ï?€~í?€Hï?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýî?ð?ð?ð?ð?ð?ð?ð?ð?uè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?€4ï?ð?ð?ð?ëï?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôî?àï?Öï?@xî?ÀŸï?Áï?ð?€ï?ÀOï?ð?ð?ð?åï?ð?€úï?€êï?Àê?¬å?€þë?@ê?@ní?@çî?ð?@sè?À~í?@(è?€aî?À–ï?À&ï?|ï?Cï?@éî?ÀÅì?@'ï?€#æ?€#ï?ðï?@øî?@éë?§í?%ì?Àï?|ï?Àmï?½í?€Eî?ê?í?mí?Àíì?€½î?’ã?ÀÈï?³ï?€~ï?@î?Aî?ÀÔí?Àžì?@Vè?@Ží?Àïï?Ànë?@Õí?µï?ï?À…î?3ï?è?€ë?€‘í?þÌ?€e?@x?€Ñ?@†ë?ð?€ìî?À÷í?€æ?zß?À­í?@gî?@¹é?À°ã?ÀKì?€~ì?þí?µë?€{í?@ï?@Fï? ä?@:î?@êè?]È?€ùß?À\å?€`í?|î?Àìï?ÀÉî?€Àä?€Íæ?@hë?€áí?@Iï?Öï?@Šï?Ã?èœ?@ž?`y?p…?·?°?°‡?€ŽÔ?@óà?€Wë?Öï?mï?À§î?ð?ñï?Hï?ð?ð?Àï?±å?$Ë?VÀ?€©Ñ?€®å?rç?€Vë?ð?À{î?Àóâ? ´?€MÔ?Àdë?@éì?€Âê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Àæå?€¹è?€.Ü??pÎ?Àì?@ßè?ÀOè?@Ÿç?†à?€Õì?sï?€‹î?ªï?ð?€Ëï?€ùï?ð?ð?@õï?sî?@3í?À©ì?ÀCï?€äï?@µî?ÀSï?ð?ð?€â?@Vè?Àîé?ÀÐé? ì?ÀÌï?ÀMî?Àƒï?€¦î?@çî?Àõï?@:í?­è?ÀWä?Ì¡?€Œ?lÒ?Aï?ð?ð?ð?ð?À±ï?Éî?À ï?@Uï?Ànî?À ì?€âí?@Çé?Àmî?8é?€•Þ?@~ê?€á?€Zâ?@éë?ÀÚ?@ã?€å?zê?~ç?@åï?Ôí?€Iã?ÀÉì?@ê?ßæ?@+è?ÀKî?€\ï?€í?À3ê?’è?@Xì?õç?€Ùì?À°ë?fë?@Àï?€ç?ÀZì?@Gï?€»ë?€õï?¼ï?ð?@Ôï?î?@ ì?@ï?€Uî?€‹î?@¼î?À†é?ð?ð?ð?@Éï?ð?ð?ð?ð?êï?Êï?ð?”ï?@Þë?*î?Àï?@Ëï?€ï?ð?ßï?€Úî?ðî?À¦î?ÀÔï?ð?ð?ÀWî?À­î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?æï?@rî?ÀØï?ð?ð?ð?ð?ð?ð?€iï?€Zï?ð?ð?ð?ð?ð?ð?ð?ð?À‡ì?Dï?ð?yï?ð?ð?ð?ð?@Ôï?ºí?Àðî?€žï?@xê?€Yí?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?ð?€„î?@Iï?ßï?ªï?¢î?@­ì?À‹í?ï?ÀÓî?@Œî?µí?€Šî?€ï?Àdì?ÀÊë?Àë?€ï?þè?À%ï?ï?Êï?ð?ð?€oï?@,ì?êï?ð?ð?ð?@÷ï?@ïî?À…î?ï?ð?Êï?ð?ð?ð?ð?ð?ð?ð?À±ï?ð?ð?ð?ð?Ëï?ð?ð?ð?Õï?@õï?ÀÙî?ð?Àäî?@pï?ð?ð?(ï?ð?,î?À ï?ð?€é?À]í?Ààï?@ƒí?ÀÂí?€Rì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?€£í?Øí?ð?ð?ð?ð?ð?ð?£î?@Þç?€‹ë?@Sç?@áè?¦ä?”ï?€Wï?€yï?Àüî?ð?@^ï?ð?õï?@¾ï?ð?ð?ð?ð?ð?ð?ð?ð?€ìî?ð?ð?ð?ð?ð?@õï?´ï?Dï?Àœï?@Éï?@ðï?@pï?@Ôï?ð?€|ï?øï?çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ç?Aê?€.ï?€Ðï?Êî?À¡í?@>ï?ð?ð?ð?ð?ð?ð?ð?@ßï?@‘ä?ÀØï?ð?@¼ì?@íë?@ðë?@ï?ð?ð?ð?À¾ï?€zí?Àíí?@€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?ëï?ð?ð?@Éï?@šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?¯ï?ð?ð?ð?ð?ð?@Šç?€·î?ð?ð?ð?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ï?@ýï?@¯ï?@¯ï?ãí?@Aë?ÀØê?ð?ð?ð?ð?õï?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õî?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ßï?ð?ð?ð?ð?ð?Àúî?ð?ð?ð?ð?ð?ð?€î?ÃÖ?e?â±?X¥?€_?€ë?@fï?ºë?€‚í?Íí?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Ûí?;ï?€îí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªï?€îï?ð?ð?iï?nî?@Hï?@¤î?ð?ð?ð?ð?€}ï?@Bî?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?êï?ð?öî?€`ë?ð?ð?)ï?Ûî?€¹î?ð?ð?æï?æï?@”ï?€êï?@÷ê?¨í?À¦í?@Fí?ð?ð?À­ï?À˜ì?€âä?€më?ÀKî?ÀFï?@)î?ßï?@Ôï?@3é?@6ì?€í?|î?€Ìî?€Ðï?”ï?Öë?À¬ì?kï?€€è?û×?eÌ? Ï?!Ø?À,ç?“ì?@6î?€æî?@të?ï?Ðï?ð?¨ï?ÀTì?€¢ë?ì?@2î?@Éï?À²î?ð?Àµï?€ãë?Êï?€õï?À&ï?€·î?@±é?€é?îë?Çâ?¬°?,Ñ?‡Ë?}ê?@Dí?¶ì?@æë? Í?€YÒ?ÀÛê?åî?.ï?@“æ?€â?€õé?€Üí?@è?@;ì?@tê?€ðå?:ß?À›î?‡î?Ií?€\ï?ÀUï?ð?óî?ï?€‡í?€öé?Vì?@‘ë?†ì?€±ï?€/ä?ÜÊ?àt?€ÖÜ?zÍ?Xã?@Kç?Àî?€×?€ÎÓ?ÙÜ?ÀŒè?êï?€›í?ÀEï?ÀEï?€³ì?ð?ð?ð?tî?@;ë?eÈ?p?´?à¯?¨Â?€à?ë?€÷Ý?€òâ?8¤? ‘?ÇÝ?À è?ÀWî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+î?@²ë?@;ï?­å?”¹?d¤?Ô¯?€wÓ?Àˆá?€ æ?ÀÚæ?Jé?Àgè?@-ï?À[ï?õí?Æï?ð?@Éï?ð?À¿ï?@†î?@hï?‡í?ÀTì?@®ï?ìî?Àþî?À•ë?@-ï?î?Àøï?À&î?Êç?À,ì?€ê?€Éí?€ïî?Àyí?@)î?€Äì?€í?ï?@Šï?Ÿß?d¬?´¦?@Úë?ð?ð?ð?ð?ð?ÀŽî?»í?€Âï?@8ë?´ï?Pï?€¸é?@rë?€æ?ÀRæ?îå?‡Ü?Õã?€-æ?€uí?@–ç?Ý?@ á?À>â?óæ?Àåê?,ã?gÓ?€Ñì?9ë?@Öí?€ë?@àê?Àðì?À›ì?@”î?@Êì?•ë?€Ôí? ï?@yï?@*ï?€'î?Àxç?D¶?À­ã?Àxì?À®ï?ÀÇï?ð?ð?Àì?@½í?€Æï?€‘ï?ð?À@ï?€Üî?€,ï?@Úï?€ ï?Àÿî?ð?€Äî?€´ï?ð?@kî?ð?À¹ï?@ï?@òï?€yê?À·ç?À§ï?@ýï?ð?@8ï?€äí?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@3ï?­ï?ð?ð?ð?À é?À÷í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xï?ÀÁî?ÀÑî?ð?ð?ÀÈï?À‘ï?@Ûï?ð?€üï?Àví?ð?ð?ð?ð?ð?ð?ð?ð?€$ï?ÀTï?ð?ð?ð?ð?ð?ð?ð?=ï?íî?Nï?Àßï?@:é?Àhï?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?€bî?€’ï?ÀRí?@¬ï?Ànî?@ší?€€î?¯î?@˜ê?Fé?À6ì?í?ÀZé?€ê?€òí?@ë?ÀŸé?À«ë?/ï?À…ï?€'ï?À¾ï?`ï?€úï?ÀFï?€"ï?ð?ð?ð?À’î?ð?pî?qï?ð?ð?ð?ð?@ñï?¼ï?€Pï?ð?ð?ð?@ýï?@Ûï?ð?ð?ð?ÿï?ð?ð?Àßï?€êï?ð?@ýï?ð?ð?@ªî?ð?ð?…î?Àèî?À§î?ð?ð?@ÿï?@äé?ÀÓï?@]ï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMï?ÀÈî?@¯î?ð?ð?ð?ð?ð?À×ï?@Žï?Úï?€GÕ?@uï?÷ï?ðë?ð?ð?ÿï?À%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBî?€äî?ð?ð?ð?ð?ð?ð?À¨ï?Àï?ð?€ÿï?@&ï?ð?€0ï?€Zï?ð?@ýï?ð?ð?ð?ð?ð?ð?ð?€+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@6î?€ æ?Àî?ÀÈï?ÀÃï?@>í?À?ï?@Êï?ð?ð?ð?ð?ð?ð?ð?€¯í?@íà?€]ç?Àí?Àèï?ð?ð?@Zï?@ì?€ ì?_î? ï?@î?€ýï?ð?ð?ð?ð?ð?ð?@'ï?Êï?ð?ð?ð?ð?ð?ð?ð?@üï?€Äï?êï?@ñï?ð?€Sí?¼ï?ð?@­ï?þï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘ï?ð?ð?ð?ð?€ì?À¸ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?ð?ð?ð?ð?ð?ð?ð?ð? î?@tï?ð?ð?ð?ð?ð?ÀÍï?Àî?@Ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?@ýï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@å?€¾â?Àí?ð?ð?ð?ð?ð?ÀIï?žÃ?,©?€Žì?Àë?ÀOê?Üî?€…î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àfë?@°ï?¡í?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?åï?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?Àçì?tï?ð?@ðï?@ýï?ð?ð?€‘ï?ð?ð?€êï?@íì?@¸î?€òï?@ýï?ð?ð?ð?@Àï?ð?ð?ð?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zï?Êï?ð?%í?@þï?@¿ï?ÀMï?@Éï?Zé?{ê?ð?ð?ÀÙî?€Cî?Àöï?@Ûï?€ï?€³ï?À ï?oî?»î?ð?jï?@¿ï?Àå?@Üê?@ï?@üï?ð?ÀÝï?€ôí?@¤ì?@©î?ÀOî?Àoí?€Wí?€Åî?€‰ï?žï?ÀAí?Àã?ˆÓ?@ã?Àœä?@Eá?€^ã?€ÈÒ?ܽ?@°ê?Êï?ð?ÿï?ÿï?@yï?Àî?€ãç?Àí?@aì??ï?Êî?@îî?»î?@çî?@Ÿè?Àfï?@Äï?@mï?À‚í?í?€{ë?Àì?@)ê? æ?ÊÞ?‰Ø?@Îê?€•ì?ë?Àê?Àæ?Àhë?@±ì?À î?Àdá? ?Æ?@´ë?Ànî?2î?€î?Àî?Àãë?Gá?€xé?Àí?@àê?€ï?@üï?ð?€^î?1î?0ë?À™ê?€‹Ø?v¶?ü¢? Ç?Àž?€Y?VÀ?À±ï?@rï?Àÿï?ð?ð?GÒ?À~?âµ?Б?ê±?€ã?€ à?€Ý??Õ?€&ß?ÀHí?€ãî?åï?ð?ð?Èî?@ ï?@Bë?B¼?2?O?P?’Ï?Œç?€Ž?öÊ? æ?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂí?@áí?ÀDæ?À;ê?@(ä?ü£?D ?€.Ó?ÆÜ?À¹ã?kÚ?•Ý?Ùí?€šì?9ï?@Îï?@~ï?@î?Aï?ð?ð?^ï?€ƒï?@Æï?€¼í?@Æè?Àéí?€Hï?€Ùï?€2î?Àï?ð?Àñï?€í?@Øí?À5ï?’ì?@?ï?@8ï?@¯î?@8ï?À¬è?Àâë?ÀPï?fï?@»î?€UØ?î³?@Œì?ð?ð?ð?ð?ð?À3î?rì?ï?@Zë?°ê?¢î?€ï?€¥ì?€_è?€7ç?^ê?€Qå?Jã?,ì?À¾ë?ïã?¶é?€£Ù?€œé?€¤Ý?@ì?À9ä?€)å?À¸î?êì?€Pï?€1î?@ç?Àéê?€}ï?€dï?@™î?@Ñë?€pï?@Æï?Àëì?Àhá?Àææ?úê?€¦Û?ÑÈ?€qÒ?€åë?ð?€Dí?€ûí?™ï?@zî?ð?À—ï?ð?´ï?âè?@Õë?ð?ð?ð?ð?@6í?ð?ð?€ˆï?Êï?@õï?€>ï?€nï?€Gî?@üî?À‘ê?@Œï?@Œï?Àìï?€}ï?Àúï?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?¯ï?ð?ð?€òî?ð?ð?ð?Êï?€Üï?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?ˆí?€Lí?€oê?Àúë?=ì?‚ì?@Ïî?ð?î?€Yî?ð?ð?ð?ð?ð?ð?ð?Àï?€§ï?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?@aí?ð?€î?Àè?@úï?ð?ð?ð?ð?ð?ð?€Dï?ð?\î?@Ëí?@Îë?€Õë?@—î?@­í?@Rê?@Áì?ÀÏè?@ré?@œí?Ýè?@™è?Àç?Bë?Àùì?À¡ê?€Ôë?úî?@¬ï?@èî?@±ï?@„ï?ð?€í?€Îî?ð?ð?ð?°ï?¯ï?ð?ð?Àï?À/ï?ð?ð?Îï?wï?@Æï?ð?ð?ð?ð?€«ï?ð?øï?Òï?ð?ð?ð?ð?ð?@Æï?€Ùï?ð?Êï?ð?ð?@9ï?€¹î?@îï?ð?ð?ð?ð?@,ë?Àî?€^î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?Àsî?ð?@Šï?ÀFï?@Ýï?ð?Çï?€ï?À’í?ºÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uï?¯ï?ð?ð?ð?ð?ð?€êï?€ßï?ð?ð?ð?ð?ð?€Üï?ð?ð?¯ï?¯ï?€Ùï?ð?ð?ð?Êï?ð?@žï?ð?ð?ð?¯ï?ð?ð?ð?ð?€¼ï?€òï?ð?ð?ð?ð?@§ï?@â?€<ï?ð?ð?@Êì?ð?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Rê?€üâ?0ç?!ç?ÀÝë?€·ê?@êì?ÀÅí?^ì?À{í?€ãë?@Ñï?ð?ð?ð?ð?ð?ð?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?Wï?@õï?¦î?ÀÆî?”ï?€Áï?ð?ð?À•í?ð?¡î?ãï?ð?ð?^ï?@Æï?@¡î?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?Àñè?ÀÖé?€Eî?€"ï?Àíî?ÀSê?=ï?€$ì?,í?öí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?@!ï?ð?ví? ï?ð?ð?@í?ûå?€‹Ô?¸¼?Ý?ÀFï?ð?ð?ð?ð?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?×ï?Êï?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?€ãê?sá?€-Ð?À'ç?€ï?ð?ð?ð?Àìï?@Þä?¦¼?^±?€è?€õî?@è?€1í?@Šé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?ð?Hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òî?ÀÞî?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?€êï?ð?€‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?ï?ð?ÀÆï?À©ï?ð?Àlí?ð?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Mï?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýî?€§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?€üï?@îï?¹ï?ÀÝï?@°í?@1ê?@ï?@îï?ð?ð?@îï?âì?JÙ?€Aâ?öí?ð?Üï?ÀIì?@í?í?À±í?Àî?î?@¢î?À(ï?ð?€±í?ÚÜ?€üÖ?çÌ?yÆ?“Ä?Àøá?õæ?Jæ?€î?Êï?ð?ð?Àìï?yï?@¯ï?@Vè?Àaë?€Üï?@Æï?ð?¯ï?€)ï?ÀÇï?åï?€‹ï?ÀÑï?Àrã?@Œã?€¯í?À¸ä?î?Ûé?€,é?Àøç?À‹ì?æê?À¼ê?@Qè?Àé?@ßé?î?ÀÑî?Aï?@[æ?€mà? Ü?€ûç?€ì?ÀÌî?@Bï?@sï?Ìì?ÀNç?€ê?€Ìí?Êî?@hï?yï?ð?€äï?ð?Àmí?@ãè?€né?À”á?º²? u?°?‡?€•Û?ð?Àsí?€jê?¯ï?Àã?›?«Å?N»?¹?m?À?ôË?ÑÙ?@p?½Ø?€”î?€±Õ? –?À?€.é?@Ëî?ÀLï?ð?@ï?ð?ð?€¾ï?€ê?ÊÏ?°¬?Àµê?ÛÆ? y?`€?8¬?Àãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€‘ê?€¡á?•Ó?´?C?ø¥?‘Î?€èÝ?€æ?ÀLï?@î?ÀZî?€˜î?€÷î?åí?ð?\ï?@ûï?»ï?÷ï?€Òï?ð?@Éï?€èï?€­í?›ê?@ªï?ÀËî?€é?ÀDï?ð?€èï?@ýï?‹ï?@Xï?@ßí?€¿í?À¾è?€ãî?@©ï?ï?€ðí?À®ï?Àäï?¬â?€×?O?‚°?€î?ð?ð?ð?@õï?€Éï?€èï?@¯î?À”ï?Çê?@ªì?@Pî?–ï?Àîî?Çî?@zì?Óæ?ê?À¨è?ìì?@ê?Àmã?ä?À?ç?ÀÝë?À„â?#ê?@šà?åÌ?€Ré?À/ï?€í?@rí?@èç?€<í?ÀŠì?½í?Fï?À8ï?€êï?À–ï?´ì?æ?@vá?À|è?@]á?@å?€‚ç?»?À.å?ð?€xî?`è?@Êé?ð?Ààï?ð?ð?€Hï?^î?Ààï?€@ï?ð?ð?€Åï?@cï?À‘ï?®ï?€ðï?ð?ÀÅî?€oî?@7ï?ÀZî?3ï?€@ï?À™é?nî?ð?@øï?ð?ð?ð?ð?ð?ð?ð?Àóï?³ï?ð?À@ï?€üï?ð?ð?ïî?Àùï?À‘î?ð?ð?Àoï?€Ûï?ð?ð?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?Àûï?ð?ð?ôï?ð?€Áî?@¯ì?@¯ï?ð?@øï?@5ï?@Ðí?Ùì?€‘í?ð?ð?ð?ð?ð?@‚ï?ÀIï?Eï?@î?ð?ð?ð?ð?ð?®ï?ð?ð?@·ï?@³î?@®ì?À¿ï?@ÿì?Àê?À%ç?Hì?ð?ð?ð?ð?€ ï?ð?Çï?ð?€Ùí?±è?€mì?'í?@Õí?Àë?Jì?À>è?lí?@Qî?Þé?€Åã?€iä?ÀÞã?±ë?€˜ë?€é?À’ì?€%ï?Àóî?@jì?€Áï?€Éï?@>ï?Àéë?€êî?Àï?@Žï?€Òï?ð?ð?€mî?€øï?Ààï?ð?Àäï?€Éï?ð?€Õï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?ð?ð?ð?ð?^í?€èï?ð?ð?ð?ð?ð?ð?@uî?€Ïç?¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€iï?ð?ð?ð?@­ï?€!ï?ð?ð?ð?áå? á?Àï?ð?ð?ð?ð?ð?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?@ûï?ð?€èï?ð?ð?ð?ð?ð?ð?ð?pï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?®ï?€üï?ð?€Äï?ð?€»ï?@ûï?@ýï? ï?ð?ð?ð?ð?ð?@.î?Àoã?ð?ð?ð?ð?ùï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØî?€Üí?Õï?~è?@dë?@|í?@¨î?ÀMë?wí?@#í?@Ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?ð?Àøï?@Ÿï?€ê?€Ðí?®ï?ð?ð?ð?ð?ð?üï?@øï?ð?ð?©ï?¦î?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬í?ð?qï?Àë?€Eì?eí?ð?ð?Àrï?¾é?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âï?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ÀÊï?ð?ð?ë?À ï?ð?@Bá?¢?@ ?ñË?€UÒ?Àç?ší?@Éï?€Åî?@®ï?ð?ð?ð?@Éï?ð?ð?@\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À˜ï?ÀXî?ð?ð?ð?ð?}ï?ð?ð?@¥å?SÇ?”¡? ¥?x®?É?šå?À$ï?€Eæ?€™Û?0§?’¸?é?€?ç?ï?Ààï?€øè?Ààï?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?ð?Eî?@}ì?€,î?³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?ð?ð?ð?ð?ùï?@ÿï?ð?ð?ð?ð?ð?ð?§í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?Àáë?ð?@ãï?%ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?€ûï?@ãï?ð?€í?€Óî?ð?ð?ð?€öï?ð?ð?ð?ð?ð?ð?€«ï?ð?ð?€«ï?ð?ð?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òí?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@ýï?ð?ð?ð?€Éï?€ÿï?@eî?Îî?À¼î?ð?ð?@Óï?@½ï?Àhî?ÀÊí?€QÜ?#×?@Üæ?€ßï?€*í?À‰î?@Tî?€‰î?@ñï?@ïî?.ï?­ë?Àäï?€®ç?:Ä?’º?Ô½?€§Ð?€úÞ?Àé?í?€&í?®ï?Àäï?€wï?@”ï?èí?lë?ð?€ï?À¼í?€é?@Zï?ÀÇë?€©ï?ð?ð?€|ï?ð?€¯ï?€1ï?å?@"è? í?À¢ã?ÀÉì?@öá?@éì?Àqì?@kê?Àé?À¡à?@Sì?Àªë?fî?Íë?@Ãî?À£î?Wë?Eè?À8â?Jà?@žì?„í?ÀÄï?À í?@®ì?@ûï?&è?@/è?@±í? í?@¥í?@Ñï?ìï?@òï?ì?qâ?º±?ž?€s?€¸ä?ð?Àœî?€–ï?Àœî?¦Í?W?Ї?e? ~?¼?¡æ?@´í?€#è?,ß?X¹?t?a?€>Õ?–?p…?Ô¸?À«? ƒ?ÖÌ?€Áí?Àí?ð?`ï?À’ï?ð?@éï?ð?€Ûî?·Â?ä§?€Ïà?€çê?ßÏ?Є?^È?Àžï?@î?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿé?Àè?À|ã?»À?b?à?÷Ë?ÀÁà?Àlá?@ç?€¼ê?ÀAè?Üí?€Äî?Ëï?ð?Më?Àï?ð?@Îï?Àjï?€Éï?À·î?À’ï?ð?À@ï?€äî?@­æ?€3í?€Àæ?À.î?@Ñî?ð?À9î?À ï?ð?ð?€þí?€‹ê?Àœî?@tî?@qí?@ƒï?€3î?Úî?€oí?€ïÔ?°‚? s?€Rà?ð?ð?ð?øí?ð?÷ï?@ÿì?Òê?Šî?À ë?À,ï?€Òí?Àñî?ÀIî?@qí?À’â?@Òç?€2ë?€îì?šë?í?Àæ?Àê?@ãì?À¼å?€Øì?«Ù?*Ú?€^å?«î?ÀÁï?€Ëí?Àî?@†í?À0ë?Íí?€ î?€šî?ÀCí?À”í?À é?âæ?€ëæ?€Rë?€kÞ?Àëè?î?¨Ü?À‰à?ð?@Îï?@íâ?Àïà?@°ï?ð?À•ï?@®î?Àôï?Àîí?ð?ð?ð?ð?€óï?Óî?Àîï?ð?ð?^ï?ï?ð?ï?€ƒí?Êï?§ï?@åí?8é?æë?€í?ð?ð?Àæï?€óï?ð?ð?Àíï?€Ûï?@µï?òï?€Ûï?ÀÝí?ð?ð?€ ï?€þï?@Sï?ð?@×ï?€Ní?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?ð?@Šï?€úï?ÀÓï?ð?ð?€ƒï?ð?À ï?€Xî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µï?ð?Bî?gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ÀÖä?€¦ã?«í?@Ìï?ð?ð?ð?ð?çï?¯ï?€Óî?$é?Yì?ê?€Ýí?€ï?À…í?@ ë?€ê?Àëë?@îî?@–å?TÛ?€Œä?í?@aí?@í?À‚ë?"î?ÀHî?Àqì?Àtï?€:ï?À î?À8ï?€Ýè?>î?ÀMï?€,ï?€î?À›ï?Rï?‡ï?@~ï?@–ï?ð?ð?€Éï?Àþí?âì?ÀÏï?ð?ð?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?ð?ð?ð?ð?ð?ð?ð?ð?þë?À¤ï?ð?ð?ð?ð?ð?€óï?ð?ð?êí?@5í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?ð?ð?ð?ð?ð?nì?Àbå?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àmï?@¹ï?ð?Àùï?€óï?ð?@òï?×ï?ð?€¶ï?°ï?ð?ð?ð?ð?ð?ð?®ï?ð?ð?ð?ð?@Úï?ð?ð?ð?®ï?ð?ð?ð?ð?ÀÚï?ð?@Îï?ð?ð?@Îï?@äï?€Gï?ð?ð?ð?ð?ð?€äï?À€å?€ºï?@Âï?@»ï?@Éï?ð?ð?ð?ð?ð?ð?Øï?ð?ð?Àæï?Àæï?ßí?ð?ð?®é?Àîí?ð?ð?ð?ÀŽî?@gê?€åí?+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dï?ÀÖí?Øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æî?ð?ð?€ƒï?ÀDï?ÀYì?ð?ð?€–ì?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?@Óî?€=ï?Àï?ð?ð?ð?ð?ð?À"à?8?â²?Cå?ð?@ï?€Üí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€"ï?@Sç?d­?„¶?€³Ý?\À?t?€1ã?@6í?áî?ð?€àï?Ààé?Kî?ð?ð?ð?€¯î?€/î?ð?ð?ð?ð?ð?ð?€ƒê?Àkï?€Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þæ?Àëí?@Pê?ÀQï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sæ?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?€rï?€Íï?ð?ð?À´í?@Öî?@ï?ð?ð?ð?ð?ð?@Úï?€Ùï?×ï?ð?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?@äï?€êî?@Èê?€óï?ð?ð?ð?ÀÚï?Óî?ð?€wï?çï?ð?€²í?€Öí?@<ê?€)Ü?€`?éÙ?çÓ?@úí?øî?ëì?@·ë?Àì?€8ì?ð?éè?€nÑ?ÈÃ?ÀÁä?Àéç?@ è?€>í?Àìï?õï?€»ï?Àï?€ï?€ï?€òî?À)ì?ê?@.ï?ï?ï?Àúì?€Jì?€Bï?@ãï?ð?ð?ÀÄí?À·ï?ð?€öí?±î?@tî?Ìí?@0ì?'ß?ìá?X¿?€ÃÔ?­Õ?Cê?€Ðã?@äè?€æ?@ê?€%ï?€/î?ï?ÀÇì?@í?Åí?À‰ì?À¤í?@Hï?@ î?Àqì?€Zì?À†ï?\ë?À²è?À4á?À`å?@¡é?@bí?Cì?@Nï?ÀËì?Àõâ? ª?€•?øÙ?Àòï?À®ï?Nï?¦Ó?¿Ö?€<ë?€üÙ?6?H¤?@Qé?ÀŒï?À¤ï?ð?@ìï?€§ï?å?€öÔ?Ö·?iÆ? ‘?€o?Ú³?@3â?êï?¶è?$É?ûÂ?ðß?À§ï?sï?€%ï?Àóï?€'î?€óï?ð?€ÿã?<·? ¥?þÒ?i?€P?€3Û?@ë?@ýî?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mè?Àâ?0´?…Ï?Â?OÒ?X¤?†¹?¿Î?áâ?ÀÝ?@î?@é?@Ýî?€4è?Àï?@÷î?€Éï?|ï?‹ï?@\ï?ð?ð?ð?ð?€€î?€¯ï?ð?ð?ï?€vâ?ï?@8î?ð?À{ï?@éï?ð?îí?ð?ð?€hï?@ í?*ï?€Vî?pí?Àï?Ïï?î?Qê?€ à?’?€6Ó?@Ãï?ð?ð?í?À3ï?ê?’ï?mæ?@®æ?À-í?Ûä?”í?À‡ë?@Ûë?€Üã?€é?@ní?€^í?€•í?rë?qæ?¼å?cÒ?˜Ó?¨Ù?À/ç?ÿÒ?á?@ç?Àî?î?€Ÿï?€ïî?)í?@ì?À,í?´Þ?ÀTî?€•î?€Sê?@Ìì?@àì?À ì?€ç?€iÚ?@ïâ?€ßá?€GÒ?@®ä?€î?ÀÉë?€Òå?€vä?µï?€áï?À­ï?À ë?@œï?î?ð?ð?ð?ð?@èï?€ûï?ÀÓî?ð?ð?€âï?ð?@ ï?ð?€hë?€çî?@Žï?ð?@éï?@éï?€Äî?À6ë?ð?€âï?@ñï?ð?ð?ð?€ï?À]ï?Àïï?@ºï?€Ìï?ð?ð?€’î?€ýï?î?@¨ë?À:è?•ï?ð?À’ï?ð?ð?@Ýï?ð?ð?ð?ð?ð?ð?ð?€¶ï?ð?ð?ð?ð?ð?ð?€_í?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?@·ï?@Úî?tï?€€ê?@íé?fí?ð?ð?ð?ð?î?ð?@ìê?À5î?€kï?€î?Àjî?À¤ç?À,ç?Àíå?€Dî?€{í?€‚è?€åÜ?€õà?À'ì?£ï?@Nî?@ªë?À—é?@êé?€±í?€ï?À÷ê?Àê?€ î?Àvê?€~í?ÀÂî?À9ï?À›í?@®ï?éí?dî?Àoê?@mî?ð?ð?ð?À*ï?Àãì?Àï?ð?ð?Ôï?ð?€Õï?€ï?€î?À€ï?”ì?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?©î?ÀÀë?ð?ð?ð?ð?ð?@„ï?ð?ÀGî?Àùì?€Bí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@ï?ð?@éï?ð?ð?€Üï?Àê?@ví?€»ï?€©ç?€¹è?ð?ð?ð?ð?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?€jï?€çï?ð?ÀÌï?€Iï?ð?ð?ð?ð?]ï?Zï?@Éï?ð?ð?ð?®ï?ð?ð?ð?ð?ð?ð?€¸ï?ð?ð?ð?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?ð?ð?ð?ð?ð?Àºë?À‚è?À™ï?ÀVî?€—ï?ð?®ï?ð?ð?ð?ð?ð?@ñï?ð?ð?€î?ìî?.ï?ð?ð?À¬ë?À@ï?ð?ð?ð?ð?Àï?€úî?@×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?ð?ð?ð?ð?ð?–í?dï?ÀWí?Àiî?À=ï?ð?@éï?ð?ð?ð?ð?À¤ï?€ï?ð?ð?ð?ð?ð?ð?ð?7ï?ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?‚ï?ð?ð?ð?ð?ð?ð?€Íî?„±?TÝ?ð?ð?ð?Öï?ð?ð?ð?ð?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀEï?Àoí?€¯â?˜Å?ð€?€]?€]?ÔÔ?€…í?Àßé?@Öî?€»ï?€`ï?€›é?ð?ð?ð?ð?ÀÖë?À(í?ûî?øï?ð?ð?ð?ð?€¢ì?@3ê?@§í?ð?ð?ð?ð?ð?ð?@óï?tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjï?@öï?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?ï?À‘ï?ð?À¦ï?€üë?@Ýì?ð?ð?ð?ð?Àiï?@wï?€xï?@€ï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@#ï?ð?ð?ð?À˜ï?Vï?@éï?Àóï?@éï?@›î?€jî?Àãâ?ÀŸî?ð?ð?ð?ÀDí?@{ï?ð?ð?ð?+ï?ÀÑí?ð?ÀÔè? »?˜Ä?.ì?ð?ÀYì?Àî?åë?Àéè?›Á?€\×?4×?@Qé?À–î?­ï?@lî?@¾î?€Üê?ÀUí?@-è?@öî?ÀÅì?@Qî?lí?@Cé?€=î?¢ï?@ ï?ð?€¶ì?À·î?¾ï?ð?ð?ð?@Iï?mî?@òî?@ùì?Àå?@”ç?Àwë?=ç?Àã?¬å?€?í?€cî?Àðí?€žë?@Óå?€ëß?€Yí?€Þë?@öë?€Ûì?€ë?ƒë?Àòì?Àêç?€ í?€ï?€¯ì?@ ì?bí?Àƒë?À>ê?éØ?@Êã?áë?À~ì?üë?@í?@"î?@oà? É?Ô¯?˜³?€|ß?€+Ó?€·Ò?€P?F°?@Éì?ð?À›ë?€X?ßÊ?Àïï?|ï?ð?ð?-ï?¹ï?ð?Àì?@îê?€*ï?@åè?@=â?€%ì?ð?ð?ð?@ë?Ã?@’? w?Æ?€sÖ?€Aâ?~é?€½ì?€Úï?ð?À{ï?@Ðç?Ôª?€áÑ?ÀÝà?À%ì?@fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àé?Èž?D´?@6ê?Xã?Ì?€ˆ?4Á?€)Ý?À}ê?Vê?@ôè?¯î?@…ï?@…ë?À-î?€í?@Ýï?îï?èï?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?@_ï?dà?€ï?€õï?€Æï?@Æï?@ï?@Úï?Àýï?@¸ï?@Êî?Àwï?@€î?@ûï?@ï?@yì?þë?Lï?#ï?ÀYí?@®î?À9à?€;å?ð?ð?ð?@ýï?î?@›í?€Èé?€oî?lë?á?@¾è?zè?ýê?€àí?À¤æ?@\ä?À`î?@ë?Iì?8ä?@Xç?=ì?@î?Àaå?€³Ý?€eÙ?€Vê?@êé?­ä?@µä?þé?€\î?À~ì?€ñà?€»ï?€ î?oë?§ï?@Wì?@¸ï?€Ñê?Ýê?€Ïî?ï?€ñä?À*æ?€×?¼¤?èÞ?|µ?˜à?@™ë?ÀKî?À‡í?@Yî?Tî?ð?î?€¿î?“Þ?À½ì?Áï?ð?î?¶ï?ï?úï?ð?ð?ð?ð?ð?ð?ð?ð?À&í?€Wï?€ƒï?ð?ð?@Ðï?Àoï?ßï?ùê?@Ùî?ð?ð?ð?ð?ð?€íï?ð?ð?ÀZï?Àøï?€ùï?€Íì?ÿê?Ží?€Àê?À¨ë?@ï?@¿ê?À]ï?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€ï?ð?ð?ð?€Ÿï?€î?ð?ð?ð?ð?Šî?ð?iî?À©ï?ð?ð?@Sï?€6ï?ð?ð?ð?Àæï?îï?ð?îï?ð?ð?€êï?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼î?€¼ï?À‚ï?zí?@—ë?€…ì?ð?ð?ð?íï?½ï?ð?ð?ð?ð?ð?€ßí?%í?€=â?€[å?’ë?¥í?@bë?@®ì?€°Ü?€ûß?À›í?Ðï?@Aî?€1ë?À3è?žë?€ûï?³ï?Àþî?”æ?À¥è?zî?€¾ì?€‡î?À}î?»ï?€øï?@Îï?ð?@Iì?@¹ï?ð?€ªï?€×ï?€çï?@»î?ð?ð?ð?ð?Óï?€8ï?ð?þï?ÀUí?€ ê?€Èë?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ë?À£ì?@£í?ð?ð?ð?ð?ð?ð?ð?@–ê?ð?îï?@Ëï?ð?ð?ð?ð?€ví?@Jï?€ÿï?ÀEï?Àçî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?Àèï?ð?ð?€~ï?Óì?@æ?@æ?@€æ?Aå?úï?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ùï?ð?€Æï?@¢ï?€ðï?Àýï?€Sï?ð?ð?ð?ð?€öï?ð?ð?ð?ð?ð?ð?ð?Àï?çî?€êï?ð?ð?ð?ð?ð?ð?·ï?€Öï?ð?ð?€©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óî?ÀMä?€öï?ð?ð?€öï?ð?ôï?ð?îï?€Æï?ð?ð?€Æï?ð?€…ï?€ î?@ï?ð?ð?ð?@í?@tì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@:ï?ð?ð?ð?ð?ð?ð?(ï?ð?ð?ð?ð?ð?@ˆï?@ï?ð?@¥ï?Hí?€ùí?Áï?€øî?@ï?€í?@eî?À=í?Àí?Ààî?ð?ð?ð?ð?ð?ð?ð?ð?Àoï?Àî?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@â?à€?ÀŽí?ð?ð?ð?ð?ð?ð?ð?€Æï?€Ëï?@(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ï?€uï?À5æ?ô©?@yæ?Çé?@©ë?@§é?§ê?€Oï?@®ì?ì?"ì?€Ïì?€ÿï?@<ï?€Õï?ð?ÀÞï?ð?ð?îï?ð?ð?­ì?ÀËí?Àî?Ôï?ð?ð?ð?ð?ð?ð?ÀÔî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?Àšï?€¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?óï?Àæï?ð?€¼ï?Àìï?@õï?ð?ð?ð?ð?ð?ð?€@ï?@—ï?ÀÊï?úï?ð?ð?ð?žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?À+ï?ð?Àãï?Ðî?ÀUî?€šî?€ûï?ð?ð?ëï?@€ï?@|î?@Šî?@¦î?@›î?5ï?ï?ð?ð?úï?€†î?€8ï?À©ï?’ê?€ƒé?ð?ÀËí?ð?Àïï?@ç?ж?Pœ?€ûá?Àní?øè?Àä?€ â?€6Ð?€âÖ?€âÚ?ÀJè?@§î?Aì?€?î?@Aï?€ëí?ÀŠë?@ûâ?€úë?€î?Àí?@ûé?€ï?€aï?@ï?@ûï?âî?ÀOï?@´ï?€¤í?@¿ï?€êï?úï?ð?@ãï?ð?€öï?À¢ï?@\ï?€Íí?1å?Þê?Àÿà?€Oä?ÀFë?Àòí?yì?€kï?ê?@î?À.ï?Œë?Àî?'î?Àlí?€í?@Wë?@Bì?™é?pä?À«î?@ï?À1ë?€¥è?Õë?€¡ë?°è?Àtå?§ì?€¸ë?@Èè?@+ë?€]ë?@Æì?€ê?Ù?Às?€a?€%é?ð?@ýï?„Ö?Ô?¸ï?@Cï?Àƒï?@ãï?À©ï?Àæï?@Ýï?Àéï?À¶ï?ð?ð?ÀÁï?)î?@àí?ð?ð?ð?€3ï?@‚í?Õ?ª?A?àu?¸©?Ô?€.æ?@"í?Àèï?Yå?àÁ?Ö¶?€pà?“æ?À©æ?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~ê?ÛÎ?PŒ?€rØ?€[Ø?€„Õ?”¤?€uÛ?€Úã?À_æ?@Ëå?@Çæ?Äæ?ì?À­ì?ð?€Ÿï?@Œï?Èí?@í?@÷î?À`î?¬ï?ð?€©ï?€úî?ð?ð?Àæï?ÀÍï?ÀÔì?Cè?€,ï?@üî?À©ï?ð?ð?ð?ð?iï?€ï?#ì?@ôí?ð?@Ÿï?@kï?‰ì?@ƒï?(æ?í?€¸ê?ÞÂ?€¬Ô?€<ï?€yî?À¶ï?ð?€/ï?ÀXí?€Þî?@Aî?Àwæ?€ë?€œï?@·ê?Çí?ÀÔì?Þ?Sì?"ì?@™æ?€´á?€”ã?@‰í?€î?ÀPí?…ê?@ôì?ùá?€ è?üã?(È?€uã?€Îã?@Pï?í?€á?ÀÒí?€¦î?Qï?ð?@ïï?ð?Àê?ºÎ?€¬ë?€çî?À}é?„ë?€ZÝ?€GÔ?¸¤?°³?€²í?@“ï?@ì?À¯ï?ð?ð?@oî? ï?@¥î?ð?ð?ð?@Žï?€xî?@­ï?€Ìï?ð?@ïï?ð?@Sï?ð?ð?ð?@ðï?@‰ì?ð?ð?ð?ð?ð?ð?ð?À5ï?€Pê?ð?îï?@‚ï?ð?ð?Þï?€¢ï?€Þï?À²ï?÷ï?À/í?€Õî?ð?ð?ð?ð?@Äï?@Êí?qí?À_í?ð?@¶î?@„ï?À©í?@tî?@êì?À[í?Àyï?€÷ï?ð?ð?ð?ð?ÀÍï?@óï?³í?ÀJí?Ùî?ð?ð?>ï?€ôï?ð?ð?€ï?ð?ð?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€´ï?ÀŒï?Àuì?Éë?ð?ð?@Kî?ð?ð?ð?@›ï?½ï?ð?ð?€jî?­ï?À°æ?Wã?„ê?@ùì?@Çï?€;é?@ à?vØ?‹Ü?€>ì?À9î?€uë?Àóî?Àì?Àúï?½é?ÀÃë?€Òæ?€'ê?@(í? ê?@Ší?@»ï?aï?€ãï?ð?ð?ð?ð?ð?Àsì?6ï?ð?ð?uì?€Æï?ð?€aï?À’ë?ð?ÀBï?@œï?ð?€Ñî?eî?‚ï?3ï?ð?ð?ð?ð?ð?’ï?@ ï?Êì?€,ï?@bï?ð?ð?ð?ð?ð?ð?ð?@4ì?ÀÍì?€eï?¥ï?ð?ð?ð?ð?€í?ð?ð?ð?@î?€µî?€õï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jì?@…ï?€Ìï?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ï?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’ì?sî?ð?ð?ð?ð?ð?ð?ð?ð?€‡ï?€úï?@’ï?ð?ð?Àûï?€ï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsì?€Në?ð?ð?ð?ð?ð?€Òï?ð?€ï?ð?ð?ð?ð?@Ÿî?@Eï?@éï?ð?ð?ð?ð?.ê?Àûï?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åî?Áï?ð?ð?À}ï?€èï?ð?ð?ð?€øî?ð?ð?ð?€úï?€½ï?ð?ð?Àòî?€¬î?@Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?eî?Àí?Àöî?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óî?ÀÎç?€lß?@Rë?@×ï?€Âí?@0â?Àûï?€©ï?ð?ð?½ï?ð?ð?ð?ð?‰Ò?ø¤?@ï?ð?ð?ð?ð?ð?ð?@"î?@sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xï?ð?Àæï?À@î?@›ï?Àgè?ÊÅ?PŠ?Àrä?@°ï?ð?pï?€®ï?€‰ï?ð?@Øï?€ãï?@ýê?ªì?@—ì?@µê?Bî?ð?@¯ï?€éë?€Pì?ê?Àí?dì?€î?@Ìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤æ?€ßí?@½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?ð?ð?Àæï?€üï?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?@éï?Àûï?@2ë?@þï?€úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<î?@¸ë?€cï?€óï?ð?ð?¼î?€’í?Àâî?€Šï?ð?ð?À`ï?ð?ð?@éï?ð?ð?ð?ð?@ï?ÀKí?ð?ð?ð?~ï?yï?Àï?Àtî?@¡ï?ÀTï?@íä?€c?x’? ¿?º?Ï?KÜ?³Ô?€×?À¡æ?ð?Àï?€ ï?@¦ë?@Íî?€ï?€Çè?€8æ?%è?€ ï?ï?À;ê?Àˆë?ší?€ßí?@òï?€Üï?À%î?Àî?ãï?ð?ð?ÀKï?Àüï?ÀÁï?àî?€Æï?ð?ð?Àyê?è?€kí?4Þ?ÀCê?Zî?@—ë?ÀXë?À±ï?€Oé?À±î?@î?€í?À~î?@6í?€Kï?€„ï?@ì?€ðê?€äé?€¨ì?À ì?À_ï?@—í?Àç?@Mè?yâ?ì?@Ðè?Kí?À¯ï?€.í?àï?Yê?[æ?€ê×?€ÆÐ?…?¹ë?ð?”î?´£?ØÂ?€øê?ÀAï?@|ï?@wï?ÀÇî?çî?ÀÇï?€Šï?€Õî?ð?@ùï?@yï?ð?Ôí?ð?ð?ð?@óï?Àõî?@eá?NÈ?¼¢?yÅ?ÀFæ?€äç?Ø¡?,Æ?ŠÉ?À™?€õÒ?@Xä?€5ã?@âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?uÝ?ì§?€#Ñ?^±?$Ù?áê?eî?@Hé?€¡é?ÀÙè?Àäí?@ï?ð?ÀÐï?sï?ð?Cï?@Nï?À‰ë?Äï?€´ï?À+ï?ôï?ð?ð?îï?"ï?ð?ð?Àªï?€#ï?ð?À„î?@»ï?ÀÏï?€Ýï?äî?€Ôï?Àdí?Öï?€î?ÀÏï?€9ï?€hï?¬í?@Œé?ƒë?:ì?Ï?Ф?Àwé?À ë?@(ï?ï?À;í?@cå?@ ë?cè?@€æ?ï?€–î?€Åì?€ºì?¨å?€ñÔ?€Vë?Eã?À™ã?RÊ?@Xè?|ï?@é?’ì? ê?â?TÎ?˜Ö?€YØ?@åã?€ëç?À‹á?ð?ÀYë?€>é?vï?€'ï?€+ï?ÀŒï?€ºï?€#ï?Œå?@Üè?èï?€äï?ð?ê?À¿?‚?À…?À6á?Àåï?«ï?ð?Éï?À©ï?@Óî?@Àè?Àî?ð?ð?ð?ð?ð?ð?À©ï?ð?@çí?€iï?ð?ð?ð?ð?@óí?À°î?ð?ð?ð?ð?ð?ð?ð?ð?ë?@”î?ð?ð?ð?ð?ð?ÀOï?€;ï?@(ï?Yï?ùê?ð?€÷î?€èï?ð?ð?ð?ð?Àï?Àqê?ë?@”í?€ í?€bï?ð?ð?èï?@›î?@Óî?À¦î?ð?ð?ð?¯ï?@ï?ð?@5ï?@Åï?ð?ð?@1î?Àíî?:î?@³î?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?€Ýï?ð?ð?Àïï?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?Êï?ð?‡í?‹ê?ð?ð?èï?àï?€tï?@Sï?ÀÚì?Àéî?ð?ð?¬ï?îï?À6î?@4é?‰é?€Ãí?@ôî?ÿë?€>é?À<æ?€Ô?@%ë?ð?_í?Àï?€î?Tî?æ?@cï?ÀPì?ð?ð?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?Éï?@Èï?ÀÄï?ð?@%ï?À í?@ßï?ð?À»ï?À§ì?€Ûï?À/î?€òë?€Æï?ð?@ƒï?@cí?À…ï?À=ï?ð?ð?ð?ð?€Úï?À*ï?Àñï?Oì? è?ð?ð?ð?ð?ð?ð?ð?€ûï?@¦é?ÀËé?ð?ð?@âî?À;ï?ð?€Œí?ð?ð?ð?ð?²ï?À7í?@Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zï?@çï?ð?ð?ð?ð?ð?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þî?ð?ýï?€¤ï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€fé?ð?@ï?ð?ð?ð?ð?ð?À‹ï?Àæï?ð?ð?ð?ð?€¬î?‘ï?ð?ð?ð?ð?ë?@ ë?!í?ÀLï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?@Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?¯ï?ð?_î?÷ï?ð?ð?ð?@(ï?ð?ð?ð?ð?ð?ð?ð?@’î?ð?ð?Éï?ð?ð?ð?ð?ð?ð?ð?@âî?”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?€­à?€kß?À©å? Ê?ÇÄ?ô®?g×?@¹ì?€-Ó?Æ?€îï?ð?ð?ð?Ðï?ð?ð?ð?€’ï?ÆÖ?Ž?t³?Àï?ð?ð?ð?ð?À£ï?˜î?Àì?Àxî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mï?Àºè?€ùí?¯×?.Ç?p¶? }?À²æ?¡ì?À#í?@eí?€]î?`î?iï?ð?ð?ð?ð?pï?ð?Àdï?@Wê?@?ï?@×ì?€£í?Îï?@ýì?Àî?yï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?€§ï?€oì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôç?€úï?ÀËì?À;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?À±î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?èï?ð?@þï?âî?ªí?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?7ï?ð?ð?€Úì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€ï?À¬í?@ôì?ð?ð?€äï?ð?€úî?À¬î?@(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?ð?ð?€Æï?€Qï?®í?ôï?À™ë?@[ã?%é?nÙ?Àh?ÀŒ?ÇÄ?×ç?áâ?ÊÂ?ç?ð?@ï?€Mí?Õì?À°í?@ié?Àê?ÎÜ?€;ß?@‚ç?@ùè?Àgê?@ ê?€Sê?­í?@cç?@&é?ð?yï?†ì?ÀÞï?€äï?ð?Àì?Åï?€®ï?ð?ð?@ãï?@vï?Àbí?[ç?€ì?€;â?€åà?€Òè?€)å?•í?@pï?@²è?@-î?ïë?*è?@Óì?@Ðê?-í?À‹ï?ÀYë?ÀÈê?@ææ?À÷â?ÀHî?ÀÂî?€*ï?€ì?Àmè?@Ýë?@ç?Sé?ÀCí?@Ûí?€êí?ðï?€6é?€Éå?€iÕ?d¢?€ÆÔ?À*ï?å? Œ?^ê?€Mï?ÀÆï?À ï?Àõì?€çî?€Žî?ÀHì?më?ð?Àýï?@Æï?ð?@sî?ð?ð?ÀÖï?ð?@õí?Þî?që?'À? |?p?€™Ø?Ž?OÂ?±å?¼¡?È?´ß?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?Àë?Àçê?Ý?`x?yÆ?Ä£?€o×?@;ç?€¼ë?@ î?@·î?@"í?@÷ï?ð?ð?Úï?@ï?ð?ð?@¿ï?@Ùï?@ƒï?ð?ð?À–ï?ð?ð?Aï?À€ë?¯ï?À°ï?@¾í?ð?ð? ï?€"ì?xï?€þï?ð?ð?Àëï?Îî?À“ï?*ì?@Žî?ÀVï?À>é?À.í?ƒì?€ÂÛ?ÿÌ?–?@þå?Àïí?Àì?À^ë?€.ï?•î?Ãì?@á?÷é?€ì?€â?áè? í?@üç?EÖ?ðé?@á?ÀDâ?²ã?€öè?€‘é?@ë?€ÓÛ?€Õé?€jß?ûã?üÜ?@Ìä?€¾æ?Àýê?€Þî?Šî?HÞ?²Á?À’â?Àì?€Vî?€Æï?Àí?žê?Cí?Àœí?À¦î?€ìí?5ï?Lì?Àã?P?vÅ?@œî?Àþï?ð?Íï?Àuï?@›ï?À&ï?Àî?ð?ð?À’ï?ð?@ãï?Àôë?ð?pï?åï?€¤î?Üï?ÀÍï?ð?ð?@î?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?„ë?À4ë?@ëé?ð?ð?ð?@üï?€eï?@‹ï?Qê?Úï?ð?ð?íï?ð?Çï?ð?@®ï?Àoî?Àåê?òï?ð?@þï?ÀÈï?ð?ð?€©ï?ð?ð?€1í?±î?À/î?ÀRî?»ì?ð?Úï?Àï?€Šï?ð?€ãï?ð?åï?€“î?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@„ì?ð?ïï?@qì?Àè?€í?ð?€ÿï?@ÿï?@2ï?Àoï?€î?ð?ð?ð?ð?Àþï?©ì?]ì?€Uë?@ùî?À™ê?Àí?0é?€Lâ?€/ï?Àèì?Ùï?@Üí?Àpï?ð?€ýï?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?@Sï?@_ï?@Àì?!î?—ï?ÀÃï?€^î?€þï?ð?@\ï?@.í?À–è?wî?€“í?Àî?@pï?ð?ð?ð?ð?@›ï?ð?ð?ð?À©ï?ð?bï?@˜ï?óî?ð?ð?ð?€ãï?ð?ð?@pï?€Æï?ð?ë?€ê?yê?@í?@kì?€¤ì?€«ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïí?€lï?ð?ð?À1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?Œï?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?ð?ð?ð?ð?ð?€ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?Àñï?ð?ð?ð?ð?ð?ð?ð?@áï?À«æ?À,ê?€öï?€ýï?ð?ð?À©ï?ð?ð?€ýï?ð?ð?ð?€ï?€6ï?€€î?€ÿï?ð?ð?ð?ð?Àÿç?ê?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?€{ï?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°î?€vî?ð?ð?ð?ð?€Ëî?ð?ð?ð?ð?À¸î?À¢í?ºï?öî?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?@ï?€ÿï?ð?ð?ð?ð?ð?ð?Êï?Àßï?ð?ð?ð?ð?ð?ÀWë?ýÈ? u?€U?”¯?0³?]?€ÃÞ?@¿ï?ð?ð?ð?ð?ð?üé?€¤Ô?ÈÌ?@Uç?`¸?¦â?Àÿï?ð?ð?ßï?€úï?‘ï?ÀÁî?@~î?€ñï?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€XØ?N¿?€{?5Â?À¡ã?'í?Àâí?Hî?À”ë?€qï?ð?ë?À}ê?€Ÿî?€ ï?ð?ð?ð?€pê?À1í?ûê?€­ï?ÀCë?1ç?ÀËç?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Lî?€eï?€öï?ð?ð?Ïï?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ÀÍî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pë?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@>î?ð?ð?ð?À+í?€æî?ð?ð?ð?ð?ð?€)ï?@Cï?ð?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Pï?ð?ð?Çï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€ìï?ð?ð?Àìí?Àiï?ð?(ï?@´ï?ð?ð?ð?ð?€6ï?ð?@ãï?€Æï?À/ï?ð?ð?ð?€1ì?€ï?rë?ÀŸí?€®ï?€ Ø?D?`s?R??€u?°£?@Èã?Íä?@hâ?Àê?‘ê?@êí?€Aî?@¶á?@µì?@&è?€ ç?€ÿÛ?€~ß?jè?¿ì?@nê?òå?fç?ì?¨Ý?@¼ì?Àï?@æï?ð?ð?@dî?€Ýì?«í?@Üî?Îî?ð?ÀËï?€úï?À ì?@¤ë?€rí?€ùè?Àpè?@9è?@^î?€ëå?æê?™í?€Hë?@‡í?€¯ë?€Dë?Àè?À&ì?@9ê?—ë?@ãï?€Zï?À®ä?@(à?à?@ì?@ï?€ÿì?€±ì?€Ûî?Àï?Ãë?€šè?€8ê?í?@5ì?ÀZî?€‘à?±?ì?@.ï?ð?ð?ÀÏï?@ è?z×?À?€mÐ?@µï?ð?@î?¢î?ð?ð?ð?ûï?@£ê?ÀŸí?Àðï?ð?@Ãï?ð?ð?ßï?@§ï?ð?À©ï?ð?ð?@Gí?¿ï?ð?ð?ð?ð?€…ï?€Íï?ð?ð?ð?ð?¼î?@Qç?@°î?ð?ð?ð?Êî?þê?Bî?€‚ï?€ ï?ï?»ï?€ï?@aï?Áï?@ßî?@^í?@ ï?ð?ð?€üï?€Vï?€©ï?ð?ð?ð?ð?€ºï?€Ëë?ÀUî?€Öî?ð?ð?À/ï?€óï?(ï?ð?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?@`ï?À˜ê?ÀÑí?ð?ð?€î?€Kî?ÀÈï?ð?ð?Àõï?¯ï?Àšï?ð?€¦î?@Sï?ï?€ðì?€$ï?@oé?@ñë?÷í?@Lï?ÀGì?@Ãî?@Æï?€Sï?€Sï?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?ÀÑí?€3ç?€¸ì?ƒï?€ ï?ð?ð?€¥ï?ˆî?Šï?¢ï?ð?ð?Iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ë?Àëì?€êî?ï?€5í?ð?ð?ð?Àï?€´ï?ð?ð?ð?ð?3í?Bê?@Cì?ð?ð?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?Àqï?ð?ð?ð?€Üï?ûï?ð?@Oí?@pï?€Rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ÀŽï?@ªî?€lï?ð?ð?ð?ð?ð?ð?@sè?@Xé?€ï?€–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?î?ð?ð?ð?ð?ð?ð?ð?Àë?ÀŒì?ð?ð?ð?€~ï?ÀDï?ð?ð?ð?ð?ð?€Æï?ð?€Æï?ð?ð?ð?€fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@)î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??æ?NÄ?ܺ?À"ë?ð?ð?ð?ð?ð?èí?Ç?@ƒ?h?èº?$·?Àõì?ð?ð?€Wï?@2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,ï?@në?@ƒè?¶°?¨¾?2Ï?˜í?€¨ï? ì?€æ?‹ç?@fî?€8í?3é?€üï?ð?ð?ð?ð?qí?–ï?ð?@(ï?Àìï?Àgí?Eì?@\ï?À”ï?€sï?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?ð?Àìï?@dï?ð?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?À2î?À…ã?@²è?Àí?€Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jï?€3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@iî?€(ê?@çï?ð?ð?€Ÿì?@}æ?rï?ð?«ï?Àâï?@Âï?Àòî?€Ùï?ð?pï?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKí?Qì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?€Üä?€¯ß?ÀÎî?ð?ð?@ýî?€Ýî?ï?Àñè?þí?²²?ãÃ?ŸÆ?¯Â?€aå?€]í?Óæ?€!é?ï?@¦ï?ºæ?@kè?/ã?âç?ÀÅè?À¦â?éí?@í?@»î?Àðì?@_ë?@ë?@Þç?,ï?üî?ÀÎî?Àëï?€Æï?«î?@Ÿè?Sï?Üî?Ààí?€Üï?€×ï?@ãï?€Žë?€hí?À÷î?ÔÔ?€@æ?ë?À¹ê?€Nç?ï?ÀXî?€ðê?=è?€9æ?’ä?@Þê?€íë?@Hê?‡ë?¥ï?€Aì?Øì?À÷ã?Àà?€rê?@í?€.ï?€‚ë?pî?ÀÅî?ï?€è?®ì?Àžî?€×ï?€#â?0–?@ƒ?è’?€ Ü?€£î?Àpê?@½î?~ï?€ï?@'î?@dï?ð?[ï?€ë?@î?ð?€Oï?@ï?À´î?@ˆï?€~ï?ð?Àìï?@Ñï?ï×?0?0Š?ÌÛ?ÀÜî?@wá?vÄ?@Úå?€æå?Ìç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùì?=ë?KÙ?¡?§?€¨Ô?š?pÙ?€sè?ÀOî?À î?Àîë?À3ï?ñê?€í?€ñä?Øî?vï?À2ê?À„é?À~ê?Àê?€í?Àðî?€úï?~î?€Jï?À ï?€Æï?À»ï?ð?€ï?ð?ð?ð?ð?€„ë?Àˆï?€Ñî?ð?ð?ð?À©ï?@qï?@Æï?@àî?À—ì?@#ì?@Ší?/ï?€qÝ?@ƒ?Àtë?ð?€î?@`í?@Ïí?Àeè?€äé?óå?À<í?€Û?€Šé?På?Òë?Àùá?@Eâ?€Öë?@ë?ÀÜæ?€“é?€Ãë?€¦è?@öâ?íÇ?ŠÀ?õ×?@é?€ñë?€¼ì?ð?Àï?€Ðë?¶´?l²?ÇÀ?Äá?@*î?ÀJï?@Æî?@¨ï?î?@›í?€ðï?ð?€ûï?ð?ð?€Õï?@à?(??ÀÑê?ð?€êï?Ëï?ð?ð?ð?^ì?íÔ?€jï?€ùï?ð?€æï?ð?ð?@òï?ÀÚï?ð?ð?ð?€Æï?€æï?ð?ð?ð?ð?ð?ð?€Ãî?ð?ð?ð?€Æï?ð?@ï?€è?šî?@«ë?€èè?@îê?€øï?ð?€ýï?Àûï?Àìî?€ï?@Ãï?ð?ð?ð?žì?ÀRï?ÀŒï?ÀGï?9ï?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?€©ï?ð?€åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?÷ï?ð?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kï?Ãï?ð?ð?þï?À„ì?ð?ð?Àªï?ôí?@uî?€üï?@«î?¢î?€î?Àí?€æî?À¶ì?€‚í?€Në?À4ï?ÀÔï?€ôî?@¹ï?kï?Àî?@3î?€ï?€?ï?¯ï?ð?ð?ð?@òï?À÷ï?@Äï?ð?ð?ð?ð?ð?ð?ð?@.í?€ ì?Àðç?ÀPë?ð?@Íî?âï?@ýî?ÀÚï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pì?Àˆè?@Ýí?[í?€åì?ð?ð?ð?ð?ð?@÷ï?êï?ð?Àõë?@|ä?@Cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Xï?€úï?ð?ð?ð?ð?ð?ð?ñï?Àýï?ð?@öï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ªí?ÀVí?@aæ?Oì?ð?ïï?ð?ð?ð?ð?€Sï?ð?ð?ð?ð?ð?À{í?Ìï?ð?ð?ð?ð?ð?ð?ð?Àí?À×ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?€ïï?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ûÝ?@k?@`à?€ûï?ð?ð?ð?ýï?@Ïê?fÊ?0‡?_Ô?Àåï?À´î?€<ê?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;ê?€„Ð?Ü´?•Ñ?"í?—î?Êí?…í?ÀUí?@ï?ð?Àòï?ÀÞï?ð?ð?@ùï?Àðï?€Çï?î?€Ûê?€4ï?ÀÏï?@eë?ÀZî?@!ä?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ïï?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øê?@Sï?ð?À¬î?Ààë?Àãï?å?–æ?Áï?@Bî?Àûï?@çí?ð?ð?Àèï?ð?ð?ð?ð?ð?ð?€øï?€öï?ð?õí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üä?@=è?@Òï?ð?ð?@Íî?öî?€×ì?À©ï?oï?@çï?@òï?ð?{é?€Æï?Àñï?€ñï?ð?ð?ð?@¢ï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡í?€¹ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ï?ð?ð?ð?ð?ð?€$ï?Ìë?€Úï?ð?Úï?À î?À¥æ?@Òí?€³í?ßî?ð?ð?ë?þí?@@ï?€DÝ?@t?€ú×?À¦í?€²ì?À¼í?ð?€óï?@íè?@¶í?ÀMí?À,ï?Õë? ä?ÀÖá?À‹æ?ÀŠè?óé?@ ë?ÀÜç?@î?€¼î?€å?@•æ?$í?ì?ð?ÀÁï?€Õî?€êï?@%í?Àî?4î?€ï?Àâë?Àöé?ïï?ð?€Ðî?¬ï?@8ï?€”è?€Ìç?@„è?Àüë?@oî?ÀÄî?€‚î?€¯ê?ÀQê?tç?€ÏÙ?ÀÁé?ÀLç?tê?Àîé?À¼ê?–ë?€'î?>í?€JÚ?€"í?@’ì?Àî?Àî?@Åï?@ï?Àvï?jí?~æ?€…î?À+å?@™á?î?@Fí?@„î?@Žë?Àsí?@îí?ÀÑî?Àôï?ð?ð?€ì?#Í?0¡?¾µ?NÄ?å?'ç?²ï?ð?ð?ð?ð?ð?À:î?3å?ë?À¯í?ð?ð?ð?ð?ð?€ßï?Àæï?Àì?À9â?ü¤?q?:Ë?€Ø?€!à?€5â?@iç?€ç?Hã?òì?ÀYã?@ë?@áï?ð?sî?@Èî?åë?öë?Ìí?@öî?þï?ð?€Õë?€pì?Àï?ï?À¾ï?ÀÎï?À¼ï?ï?Àí?@&ï?÷ï?ÀOï?ÀÀï?@Œï?@úî?ÀHç?À•ï?@õî?€‡ï?ÀŽë?@àî?*ï?@´í?€2ê?À7à?Ø?@ ï?@­î?¾ã?€ï?ð?ð?€(í?6î?@ï?@Çæ?€®ì?€Hî?€œë?€Wê?À=æ?=ë?€ì?€èç?@þç?@Ãí?€5í?@gë?€âç?€+ã?Àwé?À‰ï?€_ë?@sî?€Ñî?€mí?€jÝ??Às?€Mæ?¸ï?ð?ð?ÀIí?@ãï?€4ì?µì?@wä?€¨ê?@0ì?/Â?’Ã?tâ?eï?ð?ð?@î?€î?€Æï?ð?ÿï?ªï?ð?ð?ð?ð?ð?@îï?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀEî?Àïï?ð?ð?ð?ð?ð?ð?€Óï?ð?Àçî?À¡í?ð?ð?ð?ð?ð?ð?ð?ð?€ëî?ð?ð?ð?@¨ì?@ðï?ð?€Æï?€qï?€Ðï?ð?ð?ð?@Úï?À•ï?€Pî?@Sï?ð?ð?ð?ð?ð?ð?ð?€Óï?ð?@èï?ð?ð?ð?ð?ð?÷ï?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bï?aî?Žì?§ï?ð?ð?Àïï?Ñî?€Lê?€mè?€Ëï?ð?Àî?€ºë?@Ðê?€„í?ÀÂî?ð?Àï?@èï?@Pï?€ýí?ð?ð?ð?€Lï?€>í?À½ì?Àôë?€dë?€Óè?[ì?@(ì?¬ï?@éî?î?€7ì?À0ê?˜ë?ÀTë?@|í?€Iê?@ñæ?Àºë?@¡ì?Gí?Àðë?@'ì?€7î?@èï?Àï?ï?3í?@?ì?ï?ð?î?Àoê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?Àüì?@åí?ð?ð?ð?ð?€©ï?ð?€rï?€Æï?À ì?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pï?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^í?€äå?€!ç?@»ç?@æ?€ ê?dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@<ï?Õí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€hï?oì?ð?ð?ð?ùï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?ð?@±ï?€ˆï?­ï?À©ï?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùë?ÄÄ?R?@‚ä?=è?Àæï?ð?€Ðë?ûÇ?‡?Àÿå?ð?€¦î?Tï?ð?ð?ð?ð?ð?ð?ð?@¦ï?À§í?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?÷ï?Àëî?ð?ð?€oè? Û?À?Ò?KØ?vê?@|ï?ÀÚî?:ç?@èë?Àïê?€šê?€[æ?À¢â?€}ë?@¿î?ðë?@<ï?€î?€¡í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À_ï?ð?ð?€Dï?@öï?ð?ð?ð?@†ï?®ê?èÂ?T°?t¡?€Ñ×?Àï?ð?ð?ð?éî?€1æ?Àä?@!ê?À¢î?€­î?@1ê?À,ã?@Xë?ð?ð?ð?@ï?À‰ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëì?@ä?ð?ð?ð?ð?oî?@äï?@2ï?@Sï?ï?ð?Àbì?Îè?ð?ð?ð?ð?ð?ð?@Áê?ð?ð?íî?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥ï?€Æï?Oï?ð?ð?ð?ð?ð?ÀÝï?@šî?€ï?€eç?€à?€€è?PÈ?Àw?u?†æ?€Zï?@÷ë?ð?8ï?€þï?_ì?Àõí?™î?xì?‘í?ÀÉç?ç?À_ã?@ôè?@Éë?€¬ê?€´ì?5î?€`ê?À«é?ÀNî?À*ì?ïê?€5î?€Nï?@Èî?@3î?Àµï?€Øï?€Ñí?@Fï?À¿ï?ÀÁï?ð?ð?ð?@âï?pî?@zì?@Ìè?€Îë?À)ï?€»ã?Sé?îâ?@¼î?À;í?gí?À‹î?'ã?ˆè?òê?@@ç?Fï?À§ì?@¥æ?Àžì?!î?€Òç?€;î?ÀSí?@×è?€˜í?@‘í?À-ï?€ï?@î?€Èé?Àã?€¤?ØÎ?ÀØî?€Uï?@±ï?@kï?€aî?€¤ë?ç?€Ùè?@4ì?Bï?fî?€nì?@Ôì?@nî?@·î?@Õí?¾ì?€Ñï?«ï?Ëí?Àßï?@õï?Àî?€Ïê?¡á?Ñ?€ÌÜ?à¾?`¬?mÇ?|®?§Ï?‹ß?€é?€ûï?ð?ð?vï?€Êè?€oç?€àÚ?€/â?€+ê?ð?ð?ð?ð?ð?€ ï?À¦ì?@gê? Þ?>?«?@Wà?€ ì?@Õî?€Õî?@ýí?€Íï?@Õî?é?3ï?!ï?€¾ï?@âî?Àï?@í?ˆî?€Lí?@§ï?À©ï?€Æï?€µï?€òé?@"ï?@úï?ð?ð?ð?@Ÿî?Àãî?@ì?ûï?€1ì?©ï?ÀEë?ÀÌï?€7Þ?‹ç?€wí?À0ë?À=í?0í?‹ï?À›ï?@ëê?Cß?0‰?@ã?@Kí?@Úï?€µå?@7ì?ð?ð?öï?€¥ï?@òì?nî?À®í?À½î?À)ï?ìï?@Bï?@ ì?€{ë?@ùæ?€të?À@ì?€·î?@²ç?@ë?@ï?€éî?€ î?@sî?‰ì?€Ôë?€1ê?€mè?ÔÝ?€?€uÒ?@§ï?ð?À©ï?€ªî?€üï?]í?×í?@yí?@6ï?Oé?6Å?@ãä?¼ï?ÀÙí?ð?@zï?À*ê?¼ï?Üï?ð?ð?öï?ð?ôï?@õï?¶ï?@ÿï?@üï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽì?@ùï?ð?ð?ð?ð?ð?€ôï?ð?€Æï?€Âï?ð?ð?ð?þí?ð?€Æï?ð?Àáï?Àßï?€üï?ð?@µï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?@Aî?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ï? ì?ð?ð?ªê?@Ðí?î?Àöé?æê?¬î?@Ùî?À©ï?ð?ð?ÀXì?€@î?@hï?öï?Àñï?@Jï?@ï?@—í?Àúë?€Æï?@óï?€©ì?Žï?ð?€1ï?€Sï?€6ï?ìï?@ ï?ð?ÀDï?ð?@)í?í?ð?ð?ð?ð?ð?€Öï?€»ì?€Sî?@õç?@8ê?Àï?ÀLï?@äì?@¾ï?ð?ð?Àeì?@…ì?Àjë?Àyî?Õí?î?ð?ð?ð?€øï?ð?ð?ð?À6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€^ï?ð?ð?ð?ð?€Æï?ð?ð?ï?Eï?€þé?ð?ð?ð?ð?ð?€úï?Ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ï?€•é?ÀÜé?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡ï?µí?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ë?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ï?ð?ð?ð?@¸ï?ð?ïï?ð?ð?£ï?ÀÍï?€øï?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Ã?ä­?×È?€úÑ?Àïï?Àóì?rÉ? p?•Û?€ñï?ÀHï?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?€–ï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@Åï?‚ï?@Xì?¤á?è?¯Þ?€ïå?-é?üè?€Û?À/á?À-í?@bë?€Üí?€Xè?ãâ?À,î?€Žï?@+í?@Cì?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?@Ðî?ð?{ï?€ïè?ð?ð?ð?ð?ð?ð?ï?€jÓ?h‘?n?€{Ø?@œí?€òÜ?Oá?Àúâ?@¯ã?×é?ð?€Mî?€«Ö?ÀCé?À_á?Àqà?€7Ñ?€LÐ?€ƒì?Àëî?Àúï?ð?ð?Ðï?@ôí?@gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?Ÿî?Àüï?³î?ð?ð?ð?Àaï?@ýí?Ùï?ÀÅï?ð?@ðï?ÀQí?ð?€ï?@¸ï?€•ï?ð?ð?@þí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€iî?§í?ð?ð?ð?ð?ð?öï?ð?ð?ð?€—ï?Êï?@gï?€‚Þ?^Õ?_ï?ð?@Êï?ÀŸæ?‹Ã?Pœ?°„?(’?ÍÈ?€ãØ?À„ã?âë?Àê?€àï?ní?…í?ð?@ãí?@^ï?­ë?À°ï?ð?„î?€úë?€æ?@$å?@¿è?@qè?€ýì?À>î?Hï?ï?€Oé?€xí?À=í?@çí?î?À*í?À÷î?€õî?À%î?×ï?ÀUï?@¸ï?À=ì?€%î?Ëè?ìï?@Jï?€®î?€Kï?Àï?€Rî?ûï?Âî?Àâë?Àå?€ºÖ?Àsæ?Àôí?@gë?Àxì?À|ë?€_è?@æî?@öí?ç?Ëì?@“ê?À¤å?žâ?Lí?ûì?ÀAê?ä?iì?@Hï?ì?€ˆî?òî?Àðí?@Áì?€£Ò?ÅÀ?À í?€Iï?€ïî?@"ï?ÀÌï?€ ê?ìë?€î?€æ?@Zì?€Èì?À ï?€Zî?@9ä?À·å?@ æ?€èí?@¾î?€ï?€ûï?€†î?ð?¬í?ÀÌì?@Äï?€Eî?kï?@.î?€Ñ?€Ð?@ä?@±?€ìÐ?€>ã?€Æè?äã?¨æ?Ààã?ÍØ?ñ×?@fæ?€‹ã?@è?ð?ð?ð?ð?ð?@$ï?Žë?Àhí?YÞ?6?„§?ÃÕ?ïã?òì?@aï?€Oï?†ï?ÀÖï?»ï?Àqï?@àî?@Þê?€ãë?Bï?ÀOî?€åî?Àêî?Òï?€òî?@¡í?Àpï?ÀEé?À€á?ÀÀï?@ ï?ï?ð?€¦ï?”î?žï?@¹î?Ùï?.ë?@·î?¼î?Sé?ÀÕâ?dî?bí?²ì?ÀSí?Éî?Àkï?Àòé?@«ì?X“?Às?€Ú?€~ï?ð?Òï?@Äï?ð?ð?ð?»ì?ì?Àî?@Ãì?Òï?@üï?Aï?@ëî?×î?€Wí?ð?€¥ï?€Áï?ÀÝî?@ï?€ ï?@Ÿï?ð?@Ìë?@Àë?Pè?@½ì?€¬ê?À—ç?€¬å?¨?€ƒê?€ï?À]ï?€Úì?À%ï?€¬ï?€î?€kì?À$ï?ð?µï?€{ï?ßï?À£ï?ï?€]î?ë?Àëï?ð?ð?ð?‚ê?Àî?Ïï?@Äï?À½ï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?@ï?@Zé?ð?ð?@ î?À‘ï?ÀÑï?ð?Òï?ð?ð?ð?ð?ð?ð?@¯ï?ð?ð?ð?ð?@àï?€ñï?ð?Àºï?ð?ð?ð?qî?ð?ð?ð?ð?ð?@Ñï?dï?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?@Iî?ð?ð?À^ï?€ïï?€ì?€ôÜ?@ræ?@Hî?€ê?@Wï?ð?À±ï?ð?Àï??ã?€ê?€í?ÿè?Ñî?@í?À…ì?@‡î?ð?2ï?®ï?ð?@ÿí?ð?ð?@¯ï?ð?ð?ð?ð?ð?@Äì?ð?ð?ð?ð?ð?Àìï?€°ï?ð?@ãï?@ì?Àüè?@æì?Àï?ßï?€ïï?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?€¢ï?ð?ð?ð?Àhí?€òì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?@Ùí?@Íì?@ƒë?Uï?ð?ð?ð?ð?ð?ð?ð?@Œí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wí?@Gè?cé?@dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Iî?€\í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹î?ð?ÀGï?ð?ð?€¦î?ð?ð?€ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ï?ð?@Íí?÷ï?ð?Ùï?€Ïî?ð?ð?ð?ð?ð?vï?ð?ð?ð?ð?ð?¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ê?M?€å?À;ì?¤Ù?`¯?€GÔ?€Âá?€{ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ÀÇè?fÂ?¸”?EÆ?ì?¡ç?Ð?ÔÕ?È?~ã?@zï?ÀBì?@¼á?lê?€1ï?@ßê?€Øë?†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àzï?€àí?ð?ð?ð?ð?Àæï?@Ñï?@±é?Ð?NÅ?â?@¼ï?ð?ð?ð?ð?ð?¦í?€ðí?@á?nÍ?6Õ?H­?@‹?¸›?ò½?{Ü?À¤å?ÀÂí?ð?ð?ð?€ïï?@ë?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?óï?ÀÇî?ð?ð?ð?ð?ð?ð?ð?¾ï?€©ï?ð?ð?Àˆï?ð?@¯ï?ð?ð?ð?ð?ð?ð?ð?Sï?ð?€6ï?ð?ð?ð?ð?ð?ÀSï?:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?€úï?@Që?ð?ð?ð?ð?ð?ð?ð?Ýï?€Ìï?üï?ð?ð?ì?Àîï?ð?ð?ð?€ï?@ûë?@µé?À²ê?Ïï?ð?ð?ð?ð?ð?€aë?€+ã?€hï?@Zï?ì?€Zî?Tí?@~í?À£ï?À›î?Àçç?@æé?@í?@{í?€ ì?@æî?€Óï?@–í?€—æ?€]é?€Äá?€!í?@"ï?€Èè?ÀÄï?tï?¹ï?çî?À^ï?€Æï?ð?À^ï?€jç?ê?Õì?€ ï?Šï?Àê?Àñè?@ìï?Àyî?€Îè?€÷Ü?çã?ÀLí?Àæí?ï?ÀŠî?Àmé?œê?á?Àiå?À^ä?À^ì?€ë?@.è?Àsæ?€øí?€Ií?óî?@é?Àºï?¸ï?@ ï?ÀTï?À¿í?ÀGì?@/å?—?P„?[Ê?ûÌ?ÑÝ?€ä?@Ží?@¹í?@âë?Àí?@Aî?Àï?€ê?€ ì?@Wé?ÀGí?€aì?¥í?@î?À½í?@ï?ð?ð?ð?ð?ð?ÀÄì?Àî?€í?@¸í??ï?ð?Vé?Åì?€¾Ý?àŒ?À^æ?À(á?Ô?Ë?€ëÒ?¥Ú?€ïÜ?€êÚ?ß?€Xæ?@ï?ð?@|ï?ð?ð?Àùï?€bï?À€ì?é?€#Ð?8™?†Í?h§?¾Ý?få?‰ã?ôí?Àï?áí?ð?@«ï?@÷î?ÀFî?œí?À®î?@‹ï?ð?ð?Àûí?•ï?€íï?€rï?Àµê?7î?€Ñä?hë?ÀNï?fî?@¹î?@ºï?€Dî?ð?Àï?@Œï?½î?@zï?Žì?@[í?Àqî?@‡í?À~ì?@Úë?ÀÍê?€øî?À®í?Àgé?Ànì?€æÚ?¤?, ?À’?Î×?@ì?€±í?ð?Àóï?ð?ð?ð?À‡í?Àì?ÀZí?kí?ï?À-ï?2ï?ÀÇï?“î?@î?À¹í?Àî?–ï?Àï?€Jï?;í?€Œî?Æá?@Øá?ï?ùí?Àÿê?\ç?ÀÓé?€ë?h«?“Û?€Ží?†ï?ïï?€ï?Èí?Àtî?@Þï?ð?{ï?ÀÁï?ð?ì?ÀTï?ð?Àóï?ð?@Wï?ð?ð?îï?À ä?€Ô?ð?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®ï?€îî?@ï?À+í?ì?ÀÂí?ÀDî?Åî?@Èí?€zï?€~ï?ð?ð?ð?ð?ð?ð?ð?@jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?À©ï?ð?ð?ð?@«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?@«î?@sì?À€ï?@»î?ÀPï?@„à?€ä?€Xë?€^ì?Àç?@Ué?€ðì?€ï?«ï?@Ïì?pß?€.ê?@µî?þî?¯é?«é?@Œç?€êë?Óï?ð?ð?ð?ð?ð?uï?Àïï?ð?ð?ð?ð?ð?ÀÛî?€úï?ÀÔï?ð?ð?ð?€_ï?7ï?ð?ð?Àöï?ÀËï?@uì?€"ê?@"ê?@ºï?@ºï?€Æï?ð?ð?ð?ð?ð?À0í?ð?ð?fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€Éï?ð?ð?ð?€ ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùî?9ë?@Iî?€¦î?Íî?€±ê?øî?ð?ð?ð?ð?ð?ð?€xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rï?Àdè?ÀQç?çî?ð?ð?ð?Àî?À>ë?€”ê?ÀÝê?@î?À¬è?@üè?@ì?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?€Iî?æï?ð?ð?ð?ð?ð?ð?óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯î?ð?@§í?ð?€žï?ÀYî?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ÀÎï?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zê?tÉ? ˆ?kÝ?\ª?ð€?œ¯?ä?Õï?Àîî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïî?À¢ì?ð?€Íî?=ë?Àõï?€Þî?€³ì?€Æï?ð?ð?ð?ð?€Éï?€ë?Œ´?@„?Ö¹??@Šâ?ð?ð?ÀFå?@ë?²Å?Àaé?åï?€§ï?¸î?@—ê?€ðè?€wì?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡ï?À î?ð?ð?ð?ð?ð?À-ë?^¼?À~?Àæ?ð?ð?ð?ð?ð?ð?ð?ð?@¸í?€nê?Àøâ?Òº?]?²¾?Àk?3Í?Ï?€ ß?À/é?ð?ð?€Eì?ÀIë?Àµî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€î?ð?ð?@®ï?“ï?ð?ÀÎï?@Ýî?€Øï?€´ï?@ ï?@ôî?yï?ð?ð?ð?ð?ð?ð?ð?€Ÿè?ð?ð?ð?ð?ð?ð?ð?Àï?@Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†Ó?ÀÄî?ð?ð?ð?ð?ð?ð?Éï?À¼ï?“ï?@Úï?ð?±å?@Jí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€%ï?Àåë?ð?Dî?@âã?@9ï?€‘î?À©ï?Kï?€3í?žë?Àfë?@?ì?@çî?€‹ë?€-î?Jî?Àí?Àåá?Àë?ëî?Sî?€Áí?À~ï?ÀÆî?Àåï?Pî?’î?¦ï?÷ï?@òï?À½æ?Ìì?Àdì?ÀÛî?À?í?\Ø?€xî?€mê?À»ï?@sî?@ï?€›ì?€êï?@ƒï?€¦î?>î?@ë?€ë?4á?€7ì?€éí?€gî?€î?@jî?€Áç?€Sï? ê?@+ï?€Ÿç?Ànï?åï?À›ï?À*ê?€î?í?€¬Ò?`v?p˜?°®?€%ê?€-ì?@áî?€¥ç?€Öì?ÀÀé?@æ?@'î?@îì?@3ë?@Ñã?Àì?Àî?€í?Àç?€Aï?ð?ð?ð?ð?ð?À­ï??ï?@ûî?@æí?ð?ð?ð?À—è?€z?,?Ð?4É?Q?®½?¬¹?2?€r?¦?Æ?¥Ð?ÙØ?Åê?â?Àçî?@žê?ð?€1ï?€µï?€zì?Nï?@ì?€1Ñ?Ì­?ªØ?Æ?X™?€ÂØ?@¥à?@[è?@ðî?@aì?Bì?@žè?€¤ç?@Óï?ÀÈî?€Të?@øî?€£í?€Kí?€Ñï?÷ï?ÀÃï?@gï?€é?€?è?Òî?@mï?šç?¯ï?€Iï?À ì?&ï?€lí?€íï?€ï?€ï?Ôî?Àî?€žï?€šî?@¾î?€ðï? í?íå?Àjì?_ì?À“ç?äë?€•î?ÀÏé?Àæ?@¨â?ä¨?‘?€R?P?€Š?gÎ?ñÈ?@0â?€î?Àªï?ð?ð?ð?@ï?Ààî?@¦ï?aï?Çï?fï?^ï?€8ï?@Ðí?@«í?€hé?@¯é?€yÜ?€ÆÙ?€§â?€ƒÓ?ÙÔ?B·?Àæã?@ ï?€Dë?€Šë?€Íí?ÀÖï?Àlï?@Çè?€?€‹Ñ?@‚â?iï?@úï?|ì?@cï?øï?@Äï?ÀÔï?ÀHï?oì?À…î?€÷ï?€sì?€þï?„ï?Àßï?€›ï?:ï?À`î?@Çî?÷ï?@,í?€­ß?ð?éï?ð?ð?ð?ð?€Sï?ð?ð?ð?ð?ð?ð?ð?ð?@!ï?€êï?Àöï?@µï?Àüî?À©ï?@ûï?õï?ð?üï?€ƒì?€Ví?À’ï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»ï?Üï?@àì?À¶í?€üï?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?€¡æ?@í?@Àï?@ÿî?nç?€Æê?@%í?À„í?@ïè?@þê?ÀŽë?@î?ûï?Àøî?@xë?@ýé?ÀÊï?@‰ê?€í?€­í?@jì?@Xì?ð?ð?ð?ð?€óï?À_ï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6ï?ð?ð?ð?ð?ð?ÀÑï?Àúì?lì?dí?šï?À¦î?@Ûï?€äï?ð?ð?ð?ð?@Úï?€úï?ð?ð?ð?ð?ð?ð?ð?Ûî?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?@ï?ð?ð?ð?@Wë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?@áì?ùï?ð?ð?Àîï?Àƒï?Kë?À<ê?@í?€÷ï?ð?ð?€©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@Öê?@¿ï?ÀÉï?€½í?@6ì?€ë?€^ë?€_í?€Ôí?ÀÀî?%î?@¡ì?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?àì?@ué?Àaï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?kï?ií?ÿï?€íï?ð?ð?ð?ð?ð?ð?ð?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?@‰í?ð?€þï?€‚î?Àîï?@qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’æ?UÀ?O?P?œ£?À£à?€Vî?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀZë?@|ï?ð?ð?@uî?“ë?€aÙ?¼¨?@?h¸?l´?Ò¹?7ë?€åï?ð?Àßï?À•ë?ü×? ¨?€AÜ?l§?æÒ?À®à?ð?@í?ÀBå?ÀAê?À7í?ÀÄï?€¼ï?€!î?€=î?€iæ?€”å?då?Àûï?ð?ð?ð?ð?ð?ð?ð?Jï?@‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?ð?ð?@î?”¾?´·?øØ?ð?ð?Bî?Òï?€àï?Àï?ð?ð?@ýí?Àtæ?À~ã?×É?»Á?~?X?žÆ?èÔ?€£Ü?€àæ?@µï?dì?€Ìæ?ð?ð?Àúï?€›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?Àôë?œê?ð?ÀÁï?@Íê?ð?ð?@ï?ãï?Àðî?@aé?ñî?ð?€ñï?€ˆï?€ÿï?ð?ð?ð?ð?@oí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@è?ïÌ?%î?£ï?€‡ï?Àîï?ð?ð?ð?ð?ð?ð?(ï?€‚ã?Å?€qÞ?ð?ð?ð?€Æï?ð?ð?ð?¤ï?ð?ð?ð?ð?ð?ð?ð?€_î?³ì?@ï?€Œî?@¢ï?ÀÜï?À¥í?rï?vî?@&î?ÀRè?€¬è?ÀRì?ºï?@ î?@ ï?@}é?ÀÍí?€í?€²ë?@ûé?€@í?ÀDî?€ ì?ˆî?×ï?gî?Ïï?€øï?@õï?À}í?@âë?Àï?@Lï?Àë?À ì?À¾ï?nØ?øê?@Ñï?€íï?ùï?Ìï?€¿ï?Àäê?ãç?Àèê?€‚Ó?¼á?²î?@–ï?@½ï?€Äï?Öì?@çë?@3ì?ÀMí?€-î?@oë?À{î?€{î?À_ì?€¡ë?@˜í?€2ë?|¬?G?€ïØ?@ë?€²ï?@{í?À=é?Àé?ê?@Áí?€áè?Àóí?À,ë?€¨ì?€ì?€wç?–Þ?@tè?ùï?ð?ð?ð?ð?Àýï?@£ï?ð?@Ûï?ˆï?ÀÛï?ÀÔï?€°ß?Ò?@¹ì?6¼?Àh?ä®?[?à•?lÇ?€Õ?@¹à?€õè?Àæí?î?µî?€ôè?Àé?@ é?DÜ?h™?L¨?€2à?€ÐÓ?p„?€XÑ?À¶ä?€¯ê?@•í?@-é?€IÞ?€¡ä?Àòï?ï?€‹ï?@#ë?@Wî?Šï?@.î?À;ë?4ï?À_ï?€uí?Àî?€Jç?€dî?€Hî?Àqè?ãï?¹è?ÀŸí?í?=í?@Øï?ÀOï?ð?€rï?Tì?@õî?Àýì?’ï?¶ï?ÀFî?@î?@€î?’ì?@*î?€wï?€ñè?Àã?}ï?@|í?ì?€Ø?´³?´º?YÙ?@®?”?@r?ì¡?Ø“?€€Ô?€<Û?€Èâ?—î?Àÿë?€Õí?Àvî?Àåì?@^é?@}î?€§ï?Àï?@Øï?@Cê?ÀUé?-Ö?&Æ?¼¥?0œ? ?€öß?Gè?Rí?@ÿì?@âï?ð?Àsí?ÀÅï?€#ã?Ì£?€9ì?ð?ð?Ïï?@Øï?ð?öï?ï?ð?ï?ð?ð?€Îï?lï?@ï?Çî?@ùï?€*é?€é?€þí?@ï?€Wï?Ÿî?À—ê?ð?€Žï?ð?ð?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?Àoî?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?ð?ð?ð?ð?ð?ð?ð?@tï?@Íë?À ï?ð?À0î?ì?Àì?@rï?@bì?Oï?€Üî?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?ð?ð?À¬ï?@€ì?…ì?ð?ÀÝí?€qì?=ì?ÀÐí?@ýì?€Ëê?€Èî?À7ì?Àëï?ð?Ïï?€}î?À[ä?Àií?€tì?Àî?À(ë?@5ç?¡ê?@/ï?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ÀÅï?ð?ð?@·í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?Àùî?À°ã?€ªç?§î?@ï?Àî?ð?Àëï?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?÷î?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?ð?ð?ð?8é?À|í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jî?€ëî?ð?ð?ð?ð?ï?ð?ð?@+í?Àlë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?À©ê?ÀÏê?À ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?À±é?€>é?€„æ?ÀÖî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºï?ð?ð?Àzï?@¸ï?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À9ï?ßï?ð?ð?ð?À¡ï?€¹î?ð?€Çí?@·ï?ð?ð?Àî?@Óë?ð?@ùï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Hà?ü¢?<Ú?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëë?“È?€vç?ð?‹ì?Àdà?Æ·?Àc?€mÙ?ð?ð?ÀÏè?j¶?9Õ?€BÚ?¾·?Â?€aÜ?’Ö?Â?€¦á?†î? è?€Uå?Àâ?Àlà?@¦î?ð?€í?@9ä?ÿì?À¼ë?À.ï?ð?ð?ð?ð?ð?ð?ð?Àáî?À¤ï?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@bî?ð?ð?@ïï?@¯ë?Ôê?€ï?ð?@áí?€Kï?Îî?áÂ?в?€<Ô?@Ãï?ð?@Îí?ê?ãï?ÀDì?€çë?ð?ð?À¦ï?@ií?€+Þ?ÀÞ?È‘?ÃÂ?ܪ?€”Ý?Àç?2Æ?…?uÃ?€ å?Í?€…í?@(í?@%í?Àþê?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žî?Àëï? î?ð?€ë?Éí?À†ï?ð?@Qï?Àºï?ð?@%ï?¸é?@Þï?ð?ìí?ÀÝë?ð?ð?ð?ð?¯î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾î?Àï?ð?ð?ð?ð?ð?ð?ð?À|ï?Óï?ð?ð?ð?ð?ð?ð?À…ï?Àë?@Øï?Àëî?ð?Àì?ð?ð?ð?@î?€òï?ð?ð?öï?öï?€¨î?hï?@¯ï?Àëï?ð?ÀÅï?ð?ð?@”ï?Àòì?€¦í?@Šî?ð?ð?ð?ð?ð?À‰î?€4ê?ð?@ìï?Tï?Àëï?€ì?€Pí?À÷í?@î?ÀÅé?€ë?í?@¶í?ì?àí?™î? î?€på?€2î?ÀËæ?€é?€Üê?ÀÜî?Àâï?ð?@Oí?@Ôï?€¾ê?ð?Àëï?ë?ÀÅï?ð?ð?Àçì?@ìï?€÷ë?óÅ?@Çæ?@“ï?€ìï?ð?€×ï?€Äï?€ë?€éä?”Þ?@Þâ?€ïí?@ ï?À;í?À¹ï?@´î?€ñï?ÀQí?ÀÁã?€«ê?Àï?ï?@Ûî?ì?@Iì?@™ï?@…î?8×?Â?gã?Àé?À]ï?Àî?í?@Ñì?lí?@Zè?€çä?ÀÛí?À:ç?Àùç?ç?@Îé?@<ì?Àì?ð?ð?dï?@Ôï?ð?À‘ï?ìï?€òï?@½í?€0ê?€<ë?€ìï?÷Ý?€Õä?€Âí?*¹?às?@:à?~Ç? ˆ?€§?€ÕÙ?@sá?=ê?À°ï?@íí?€Ÿï?@ï?€îå?H½?Xœ?€Þ?€žÐ?€c?âÑ?:Ö?;á?À=ë?®Ý?Eî?€1è?\í?À¨ï?@¿ê?À)ë?€µì?•î?€¨ï?€—ï?@Áï?ð?€¬ë?@áï?ƒí?¶í?€¹ï?€ôî?ï?©î?Xî?Àµí?@¡î?Àªí?À¡î?þí?Yí?À¦ì?@ï?@âì?€Rï?€Ïè?À¢í?@ï?Àî?@ãì?€Uí?øæ?À§è?€˜ì?€ñî? í?ïí?€<ê?ÖÇ?ð—?»?Vß?@Fã?€5Õ?@?ì¯?8?dµ?æÂ?)Æ?3Ò?€îÞ?€Få?€Úí?@ðë?të?€RÞ?Øí?€Àì?@=ì?@óç?€Ô?òÌ?wÉ? ”?B?ö°?HÈ?Àdê?@sê?Èè?Àï?Ñï?€eî?Ãë?È•? Ñ?€£Ü?·?¦»?À¨ï?ð?ð?ð?@·ï?ð?€ûï?€Pï?Àžï?@ÿï?wî?ð?ð?€ í?À£ï?@Õï?Ðæ?“?ð‹?ÀHé?ÀÐí?€ï?î?À£ï?ð?€Úî?ð?þï?ð?ð?ð?Qï?ð?@iï?@‰ï?ð?ð?ð?ð?ð?@Tï?€ñï?ð?ð?ð?ð?ð?ð?ð?€ýï?fï?€Bï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?ð?ð?@”ï?÷ï?€ïï?Àùî?€iê?@öê?@dî?ð?@ví?ÀÜì?ÀQî?@ñï?ð?ð?ìì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@úï?ð?ð?œî?@öï?ð?þï?€éî?@’ï?ð?@ï?€í?€Bï?í?Qî?[ï?@åî?€…ï?€þî?€Êî?ð?ð?@tî?€å?€¤ë?€dí?1ë?2è?cë?À-î?xï?ð?ð?ð?åï?ð?€¨ï?ð?@úï?@Èî?ð?Aï?@@ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?¥í?@zë?À½å?À î?@ÿî?ÀCî?À×ï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€}î?€ôï?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×î?né?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?Àï?ð?ð?ð?@jï?ð?ãï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?„î?À+ì?ð?ð?ð?ð?ßï?@úï?@¡î?@¦í?@Çï?@{ë?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ê?0ï?À¥ï?Àí?À)î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?_ë?€–í?&î?€Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?@ì?À‡î?þï?Õî?€Œí?ÀBï?€…î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.î?Àøï?ð?ð?ð?Àéï?€£ï?Fî?&ì?€ê?€/í?ð?ð?€/ì?€«ï?€­í?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ã?b?8? á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?(ï?ôâ?¼¸?C?@"ê?€ ï?€ðÐ?¨¬?Àê?€ñï?ëÑ?e?@‚?†?è™? ­?’Ü?,×?€àí?ð?@ï?€xí?Г?@‚?Æ?Àíê?@ýè?€˜ã?pÞ?«î?ÀÍî?ï?Àà?@Úê?ï?ð?ð?ð?ð?ð?ÀÅï?ð?ð?@ï?¶ì?zæ?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€ñï?ð?€è?@/æ?@6ï?ð?ð?@Ãî?@Bã?€BÒ?C?@Hã?ÀÖä?@â?€ûï?ð?ð?ð?ð?ð?ð?ð?Àvå?ZÉ?€Ù?¦µ?ÀGá?ÇÇ?šÇ?¢?Àj?à¤?8±?Õ?Çé?@ê?Àƒï?@öï?ð?ð?ð?ð?ð?ð?€üï?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ÀZï?Âí?÷ï?ð?ð?í?Àé?€lï?ð?ð?÷ï?À‰ï?_í?À—ì?@Æì?ð?ð?Në?-ì?@ðê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?@üï?ð?€ìï?sï?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?€ í?@ðï?ð?Àÿï?@àï?-ï?ð?ð?@Üï?÷ï?@ëî?ð?ð?ÿï?ÀÆå?ÀTî?@ßæ?€í?ð?ð?ð?ð?ð?ð?€ï?Àøì?ð?ð?÷ï?|ë?@¸ì?€^î?ð?€ûí?òì?@ é?€ î?@†ï?@©ì?€Éí?Àˆï?ûí?@õí?À4ì?€bë?®ì?€Ïï?À•ï?ÀSì?€ñï?ÀÅï?À`ê?Àï?mì?€Qï?ð?€ñï?À°î?À$î?@nï?@(ç?0Ó?€‚×?€òï?ð?ð?Àï?ð?€©ï?@ç?@àé?ÀPà?ë?Àbê?Nî?ï?@ï?€Ðï?€®í?@¿ì?@âí?dî?ÀEï?€ªê?€Yî?@þè?@êî?À)í?âÃ?@m?€DÕ?iç?Àï?ï?€êì?€Öç?€Óë?Àóî?Aê?nî?•ë?ÀÖì?€ÿí?À)ë?ÀÓì?î?@Ôï?ð?@‡ï?€ìï?@·ï?€rï?Uï?€÷í?Àæë?ð?À“î?¬î?@læ?Àá?QÂ?ŽÅ?À°è?Ó?h”?@ªà?€ç?ê?@ªï?€mæ?@†ï?€£ï?@áí?Ê?€S?C?=Ó?€·å?ÃÆ?£?«È?€Ñ?Àëá?@sã?€%í?€­ë?Àôî?ÀÚí?bï?€Rí?&ï?€ßç?@¨ï?ï?€Ôï?Æï?€zî?€aï?@²á?€üë?î?ð?Øï?€†î?Kï?€iï?ÀRì?ÀNî?ìï?ÀÈì?@Úí?€î?ì?€Êí?@îì?€…ï?€uì?€Óê?ÀRì?@?í?ÀHï?€}í?€mî?äî?@šï?dì?@ï?À<ï?ÀŠï?€.ë?À»ã?ر? ƒ?ÔÇ?Õ?åÉ?z´?@l?G?VÁ?\­?€i?€wÔ?@Bé?×?Àµé?§ë?€·î?@6ì?@ å?€(å?<¥?@¬?`‡?K?h?`??0Ä?À¢î?@^ï?Àãï?xî?„¢?IÇ?@_ï?ð?€3é?]î?ð?ð?ð?ð?ð?ð?ð?@áï?€¦ï?ÀŒï?ð?ð?ð?ð?€Çï?@°ï?@xî?@â?×Å?KÈ?Jê?€Õï?ð?€î?ð?ð?€ºî?ð?@í?€Õï?ð?ð?¥ï?ð?ð?ï?ð?ð?ð?ð?ð?ð?@Vï?ð?ð?ð?ð?ð?ð?ð?ð?½í?€mï?€¶ï?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûí?Àãì?óî?ð?ð?ð?@Iî?ð?ð?ð?ð?ð?ð?€Îï?@õï?ð?ð?ð?ð?Øï?ÀAï?Ààî?@]ç?ð?ð?€(ë?€ì?@ï?ÀÖï?ð?ð?Àòï?ð?³ï?€Yî?Àní?í?@çì?€äê?ÀYî?·ï?ÀŠï?Àí?€Úî?Àî?Ðè?€:î?À€ï?<ì?€cë?Ãë?>ë?ð?ð?ð?ð?ð?Úì?ð?€Ãî?ð?@ï?Pï?ð?ïï?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?»ì?å?€æï?ðí?ÀÍì?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcî?@Vï?ð?ð?ð?ð?ð?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Vï?Àgæ?À:í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~î?@í?ð?ð?@wï?€Çï?øï?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?@ýï?@¹ï?ð?À$ï?@iì?ð?ð?uï?$î?òî?ÀÀí?€Eï?Îí?ð?ð?@ï?ÀÉë?@ ì?ð?ð?ð?ð?ð?@åï?Àòï?ð?€Êï?€¶ï?ð?Àîî?À’î?À#í?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËì?À~î?ð?@}ì?€ î?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?ð?ð?ð?ð?Àªí?ð?Àãï?ÀÒë?€;í?$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À`ï?‰ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@#î?"ì?ð?€Çï?À€ï?@âí?@Kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?ð?Vé?÷Å?X?®Ñ?@‡ì?ð?ð?ð?ð?ð?ð?@½ì?ÀÌì?'ë?@Üà?mï?€Ùè?ÒÇ?7Ë?À€ï?€aã?†¸?À!ç?À=å?¤¢?€„ë?üï?ð?ð?ð?Àãï?Ç?з?@é?€Üç?@3í?Àï?@øê?À#î?À0î? Ò?€ké?@½ï?ð?ð?ð?ð?ð?ð?ð?€Ðî?ð?€Îï?€ûë?Ëë?€žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)î?€Çï?@dï? ç?ÀDî?Àï?@¹ï?ð?ð?ð?ÀŽï?§Ï? ¾?Ãì?ð?@ î?€¶æ?ð?ð?ð?ð?À:ç?@í?ð?ÀÀî?€(Þ?hÙ?ì¨?€†Û?*Æ?Àn?¾?@<é?@ë?@pæ?¸æ?ÀBá?@_à?Àlå?½ë?@Rï?¸í?€þã?ð?ð?ð?ð?ð?ð?³î?ð?ð?ð?ð?ð?€áï?Àáï?ð?ð?ð?ð?Àï?À©í?Àãï?ð?@ï?ç?€Ëë?@eé?@ôë?„ï?¥ï?ð?ð?€—ì?¸ê?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?£î?@"ï?À`í?Àýî?Øï?Àñï?@Jï?À‹ï?ð?ð?@Àï?ð?ð?ð?ð?€Lí?@«í?@½ï?Àòï?@ï?ð?ð?ð?ð?ð?ð?ð?cì?Àƒë?ÀMï?²î?@…ï?Àãï?€Çï?=í?@lï?@Tï?À¯ì?îî?Àzï?Àãï?bï?ÀÓí?€§ì?Àî?€ï?@Væ?@½ë?@ðë?@Vì?€ê?Àé?À½ï?@Ðï?Àªï?@ï?À\å?À%è?Àòï?ð?ð?ð?ð?ð?ð?nÜ?“ã?ð?ð?ð?ð?mï?ð?À»í?~æ?@Iï?ìë?xï?@:ï?ð?Àªí?@êï?€Mï?@=í?@ï?€Êï?Àï?Àtî?@ßî?Àë?À·î?œî?€†ê?œº?É?Àºã?@Ûâ?@*ì?@ï?@Pí?Ànê?@†ë?€Ñâ?Æä?Áí?ì?Áí?@êí?@–è?@ýä?€îí?€¿ï?‹ï?@î?€Ûï?Àúï?€ìî?eï?@Eí?Ààë?Àµí?@ãî?Áí?Àè?Í?ÐÍ?€0î?€íå?‚³?$?€­?€ Ù?é?€ë?À}æ?Áè?Äë?€ê?ªæ?@…?ˆš?Àf?ÓÐ?à§?\¡?€²Û?¤Ú?Ý?À¦î?@Åï?ƒï?€Vî?@µì?€Æí?@$ï?Àì?:í?€‹ï?*ë?@Õî?[ï?Àíî?ð?të?À¼ì?@«è?€Õï?Àpê?¸ï?€Nî?›í?€/ï?@î?€Òê?@lé?¥í?Åí?Àî?€.í?í?@‹î?À{î?ÀZì?@Üî?¨í?Àóê?Àjî?@˜î?€öï?@_ï?øï?ïï?Àµï?ÀŒí?€ë?À“ë?¹Ù?Àh? x?ð¨?œ¡?€”?(—?r°?Ø«?ÛÒ?@Bà?À¥à?XÖ?ب?€^?øž?q?°?Q?€n?@d?€Õ?€&å?LÝ?œÇ?€JÒ?À£î?ð?Tí?€Ù?€¨Ø?ð?ð?ð?ð?ð?€¯ï?Äï?ð?ð?²î?ð?ÀÄî?ãì?À¥ï?ð?ð?ð?ð?@çï?‰ï?€¿é?€9í?€ï?@Tî?ç?@…î?Gï?ð?ð?ð?ð?ð?ð?@`ï?ð?ð?üí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?ð?À¢ï?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐî?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?ÀSî?ðï?ð?ð?ð?ð?Íï?ð?€*ï?ÀØí?@ï?À•ï?€†ï?€î?¥ï?ð?ð?ð?Àuï?ðî?ð?ÀÌï?Àðï?@'ï?Öç?ÀØç?œî?ïï?€¾î?@í?@‘ë?@Mí?Àë?@¦ë?À&ï?@¼æ?@ç?Àîî?&ì?ð?ð?€ýï?€'ï?Àkï?ð?ð?ÀGï?À:ï?€Òï?ð?ð?Àµï?ð?Éï?ð?ð?ð?ð?ð?ð?ð?ð?@„ï?ð?ð?ð?ð?@Ãï?ð?ð?ÀÐï?ð?@ê?@ï?€%î?8ì?ð?€ï?€aï?@çï?@çï?ð?ð?@Ãï?À¹ï?À@ï?ì?ð?À•ï?ð?ð?ð?ð?€7í?@½ì?ð?ð?ð?ð?ð?ð?ð?ÀIï?ð?ð?ð?öï?Àî?ð?ð?ð?@¾ï?Oí?ð?@Âï?€Öê?@+è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?ð?ð?ð?ð?Àõï?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?ð?ð?€öï?€oï?€Ýï?@!ì?€ºï?ð?ð?1ï?€vï?ð?ð?ð?ð?ð?ð?ð?€eï?@{í?€÷ê?öï?ð?ð?@Åì?@Ýê?€¸ï?€Õí?@í?@Ãí?ð?€¼ì?ñí?€*ï?€¹ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„î?@£ì?ð?ð?î?€tí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ï?ð?ð?ð?ð?@çï?@,ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?)í?@âí?ð?ð?Àäï?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…î?ð?@Ãï?@°ï?ð?€Õï?€©ï?Èâ?K?ÑÐ?@“ï?ð?ð?ð?ð?ð?ð?€¾î?€®Õ?@¶?ÀÀ?@u?Àvâ?ë?À†?Û?À æ?˜Ÿ?~Ã?ÉÔ?Z²?Ú?öí?ð?ð?‡í?€uØ?çÆ?€Ïí?Àî?+å?@²è?¦è?!Ô?Ü ?XÞ?«ï?ð?ð?ð?ð?ð?öï?€šï?ð?@hï?@†í?€ç?À›ä?@^å?@ií?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@çî?€Rï?ïï?ð?ð?ð?À-ï?@sê?X¤?Àôà?ð?ð?ð?ð?ð?ð?€>ï?Àžè?€bÔ?€=Ñ?@Ÿà?UÙ?–¸?€'Ò?€mÜ?Sâ?æ³?<À?(·?δ?8•?”Ì?ˆ×?€Èß?ð?ð?ð?ð?ð?lé?@ÿã?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…ï?@Üî?@ï?ð?ð?€&í?Àžë?¯ë?@Ðè?Àþé?@hï?úï?ì?€¾î?4í?@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?€íí?Ûï?Àï?ð?ð?ð?ð?ð?Àáï?ð?ð?€#ï?Àï?ð?ð?ð?Wî?€‡î?Þí?Àêï?À”î?µí?@Jï?À'í?ð?ð?€Õï?€#ï?ð?ð?ð?ð?ÀUï?Àî?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€Oí?0ç?€Øï?@tï?ï?nî?@4ï?:ì?@„ï?Àþê?€ë?€0í?ÀÂí?ÀMê?€ë?@õì?À€í?Àî?À}ì?Ëê?³ê?À¡è?€Åà?€ê?@Mè?€¹ï?ÀKï?@·í?é?€Tç?Àmï?ð?€Òï?Dï?Uî?€²ì?€ëè?Úí?Àðï?ð?ð?ð?€Îì?ÀÙæ?@Ãï?@õå?\ê?ˆï?€÷ï?À„î?×ë?Àáï?Oé?¸ë?@ûî?@ë?í?Àµë?‹ì?,ë?í?€ î?€Bí?€©î?Žè?|?‚Û?Þî?@úî?À²î?@ ë?@ªí?ï?€úê?¯ì?@Éí?À¾í?€˜í?@Ûê?€¨ë?@‚ê?ï?€kï?€gï?ð?ð?@ùï?Lï?ð?ð?@@ï?€óê?@Lé?ÀHç?œä?:¶?Î?@oë?À;è?5Ò?A?p†? ¢?@»?ÒÔ?Àœç?kæ?ÀŸæ?Àþà?€ Ñ?É?ðÃ?@Hã?ÞÇ?±á?@Ìè?@pî?@]ì?@lï?@èí?@/ë?@Nî?@ùé?Àåê?@)ï?Àûí?@ìë?€Þï?øï?Ààï?ï?€jê?€ïØ?ÀOï?À·ç?@‰ï?ÀQë?@1í?Àë?êë?€­î?Ëé?€î?@íí?jî?ÀÁë?€ëê?@~ë?ÀÄì?ÀWî?Áì?dì?Àƒí?ÀÂî?Êï?ð?€ûï?À…î?@ÿë?€åî?î?(ë?@Çè?Rà?(™?‚?0²?¼Â?àz?@n?$³?P®?€Oß?€¶Ò?fé?ÀHï?ð?ÀPï?ì?ð?€Mî?€Îí?ð?@³ï?@Šï?ð?@Ðî?ð?ð?@ãï?@=ï?€Òï?ð?ð?ð?úï?@ðí?@ùï?ð?ð?ð?ð?¸ï?ð?ð?@&ï?Tî?.ê?€ë?€‰è?À"ë?€qï?€zä?Àyî?mï?ð?ð?ÀQï?ð?ð?ð?ð?ð?ð?€Þï?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?@½î?Àóï?ð?ð?ð?ð?ð?ð?@¯ï?€fì?ÀIï?ð?ð?ð?ð?ð?ð?ð?Rì?é?ÀVï?@wî?€êï?À=ì?@í?€—é?€£î?@;î?@~î?€õë?@Zë?Íä?ë?@î?æ?@è?À¯é?@Ië?€Ðï?ð?@ùï?€Ìí?‰ê?€ï?@£ï?@Éï?@Éï?@bï?ð?ð?ïï?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?€šé?€í?@Øí?À°î?€íí?Àýï?€3î?Àî?@mï?ÀÉí? í?Ëî?ð?ð?ð?ð?ð?ð?@Ãï?ð?ÀÉî?Jï?ð?ð?@úï?ð?Àï?²î?ð?ð?oï?@]ï?®ï?Àýï?Àèï?ð?ð?ð?¤ï?€]î?ð?Àñï?ð?@Êë?´î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‚ï?ð?âï?@î?ð?ð?ð?ð?ð?ð?øï?@ï?ÀÑë?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×î?@›ë?œî?*í?Àï?ð?ð?€ ì?ð?À¤ï?-ë?@àî?ð?ð?{ï?€Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀPï?Àí?Àþï?ð?ð?ÀJï?@Ôì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~î?@î?@Yí?@í?€xî?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?@ï?ð?€éï?ð?ð?ð?ð?$î?€Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ÀÙí?@™í?&é?À[ë?@ýì?@Ñï?€‚î?€ë?À‹í?ð?ð?ð?ð?ð?ð?Àçï?@½ï?ð?ð?ð?ð?À>ï?@éî?ãï?€ðé?@Œ?B¹?€në?ð?ð?ð?ð?ð?ð?ð?`×? Š? r? s?èÉ?ÐÅ?€"Ð?V¹?žº?€ÄÑ?€xÝ?8£?€|?(?;Û?Þ?òÖ?€CÐ?˜“?”³?€äì?ð?ð?ð?ð?ð?Àìï?@öî?ð?ï?€Øï?Àpë? ì?ï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Tï?@%ë?@°å?À`ì?€1î?Àóï?ÀÖë?€³Þ?8›? y?€ë?ð?@tì?Àtì?ð?@þï?ðí?€•ç?`Ä?p‹?ܶ?@à?Ö¼?„µ?,?2?Ë?@ å?öî?@úï?€™ì?@µâ?·Æ?@$ì?@Þå?À#î?ð?ð?ð?ð?ð?ð?ð?ð?À•ï?ð?@hï?€ôï?ð?ð?€Iï?€=î?€úë?@[ë?€æå?ÀŒï?€ßï?€ ï?€Éé?í?À÷å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ï?À=ï?@ï?€pí?ÀPï?@Xì?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€î?ð?ð?ð?ð?À!ì?€dá?@Èä?÷ï?À"í?Óï?Ùï?ð?@Ãï?ð?€éï?ð?ð?ð?ð?@ýï?€÷ï?Àíï?Àî?ï?ð?ð?ð?ð?Àáï?ð?ð?ð?@Oï?€î?Éï?Àäï?@6î?À£î?î?À"î?€bê?€EÕ?iÓ?øÜ?€í?À0í?€°ï?@ží?Àkî? ì?€‚í?Äí?€è?@qè?@¤ï?@Úé?À»ï?@ï?@,ï?€ªï?ï?Üï?}ï?@žï?À[ï?ÀÉë?êë?€–æ?€Iï?ð?ð?ð?¿í?€ÿî?Àí?@Xë?Oç?€Në?@®ï?€áï?„î?@ ï?€ôï?€£ï?€²ï?@^î?Àqï?Àûî?À÷î?@hæ?@ì?@ãî?ìí?€öì?À í?@Qê? ’?€i?öÂ?àt?Zá?@@î?€@ï?À]ê?€ï?–ì?´ï?À“ì?@è?@oä?Àöë?€ûì?ìì?mì?€ÿà?@°í?"î?Šï?ð?Ùï?À†ï?@‹ï?€†ï?Bï?€êî?À ï?@‹ï?nï?óï?Iá? w?qØ?ÀEâ?ÀÄì?ÀIï?€$â?æ¹?€V?D¼?ß? Ð?ð¬? ?\¼?HÎ?yÝ?€àä?@´ë?@{í?Àøì?@æî?€Nê?@Åí?@êí?€‘ê?€Ûï?À8î?€¿ï?ÀPï?Ààí?ð?€¸ë?ÀÅî?€Nç?ÀPè?÷ï?·é?@µì?À%ì?@zî?€îì?Væ?€uë?€Äë?»å?€ïê?€ƒë?€·ì?€ è?*æ?@Çì?À¢í?Qî?Àèì?@îí?À ï?Àyî?Þï?€fï?@í?ÿä?@î?Àáï?eî?€æ?ËÆ?Àc? y?Q?ƒ?,?t¼?ª³?è®?ÙÒ?€<ä?xê?@Æî?À»ï?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?Àíï?@·ï?ð?Àßî?ð?ð?ð?ð?ð?ð?À€ï?€€î?ð?ð?ð?ð?ð?nï?•ï?ð?ð?ð?Ûï?À©ï?€\å?`æ?ð?Äé?ÚÕ?@Àë?Yï?ð?ð?ð?ð?ð?ð?ð?ð?@šî?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+ï?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ië?€›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?³î?ð?€Úï?@òï?ð?ð?ð?ð?ð?ð?@±ï?@Gï?@Ñç?Àî?€$ê?Àuè?Yí?Lî?ÀÞì?@}ê?µí?À…í?€ûî?@?í?Àjê?­ï?@þë?@rî?Mï?€œï?îé?À>î?ð?À„ï?ÀÎï?@ìï?@±ï?ð?ð?ð?ð?Àóï?€Ïï?À¤ï?ð?ð?@Äï?ð?ð?ð?ð?ð?€Õï?€Õï?Þï?ð?ð?ð?ð?ð?ð?ð?ð?€ é?@ýî?ð?€ï?ð?ð?ÀÖï?€Ûï?@]ï?6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿî?ð?Jï?ð?@Œï?ð?À©ï?ð?ð?@Ûî?À;ë?@Yî?ð?ð?ð?ð?ð?ð?ð?@"ï?ð?ð?ð?À»ï?Àaë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lï?ð?@çï?˜í?ð?ð?ð?ð?ð?Àªï?Àí?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±ê?@¶ë?ð?ð?ð?@Ðì?ð?ð?ð?ð?ð?ð?|ï?@\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;î?@ªì?ð?ð?ð?ð?ð?€|ì?€Íï?ð?ð?ð?ð?ð?ð?ð?€dï?@Èí?€ï?ÀŽï?@bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€ì?ð?ð?ð?ð?ð?ð?@[î?€”í?€—í?@'í?ùë?6ï?ð?ð?@Lï?é?¡Ç?¶±?€ÛÝ?@Dé?€üï?€ëï?€”ï?@ï?Þï?ð?ð?ð?ð?ð?ð?Àéï?ÀAí?€†ê?`~?ø·?€Që?ð?ð?ð?ð?ð?ð?ð?oï?ñÎ? y?ÀKá?ð?ð?ð?ð?@·ï?Vî?ð?€ï?“î?@ï?@ë?€ç?€aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àzí?@pé?Få?€×?½?€‚Ø?€ç?À_ï?@Ié?@¡à?ñÑ?N?ÖÙ?€iã?Ù?@gï?Æï?À`ì?€¿è?€>Ò?ì§?Þ¼?Ï?7Í?N?X˜?@Òè?À<é?ð?ð?ð?ð?ð?@´ï?Àðï?€Äï?@vï?ð?ð?úï?€¶ï?ð?ð?ð?€ï?Àí?@ýè?@³æ?À†ï?€ï? ï?ð?ð?€mì?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï? ì?€.ê?À¿ì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?úï?Àçï?ð?ð?¥ï?ð?ð?ð?ð?¥è?Þ?@}ì?Àáï?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?ð?ïï?À™ï?ð?ð?ð?ð?ð?ð?Àpï?€êî?€Ûï?@ní?Éî?€Úî?Àðì?€í?€mä?Àè?€ç?À|ë?@8ï?€sî?€4í?_î?À­ê?@ê?À£å?@Ÿç?Àâï?ÀIï?ÀXï?ÀÃï?Àfï?@½ï?@¾î?ÀÅî?ûï?€¢ï?À_ï?ð?€Áï?Àiî?@rë?€yï?ð?ð?€‹î?À…î?sï?Àïì?Àë?€Îê?ð?@Óî?ð?ð?@Ãï?@¤ï?Àíï?@Zë?@‰è?ÀÁï?¾î?õï?@<ì?ðî?€Wï?€ í?€1é?€éí?€3ë?w?P¢? š?-Ï?@“ë?@<î?À;í?€~î?À¥ï?@Qî?À:í?¥ì?@qé?À³ç?€#é?Àƒî?À}ë?åí?ÀLé?ì?Àë?Àçî?€Ïï?@’ï? ë?@ë?À'ï?ëî?Àë?­ï?ð?ð?Àáï?Àä?u?@®ã?@hï?Jí?@1î?¥ã?sÉ? ‚?|ä?À•æ?@âç?€Fç?À¡è?@ë?]î?À»ë?Àï?@Íî?Àâï?Àƒï?Àåî?€eï?ð?Àtì?À[ï?À±ï?±í?€}Ý?€“á?ð?@í?€ï?@í?€Áî?@ñë?Ëä?âå?@ñé?€sì?€?ê?Àøî?jê?ÀÁì?ÀHê?Më?ÀSï?@aï?cí?@uî?À`é?d×?Ú?4Ü?À¾ã?À$ã?€,é?Jí?@1æ?áÎ? €?À‘?µ?€Ñ?WÑ?€Ò?@Þæ?@ì?@Sí?Þã?™Þ?X£?tÈ?€åï?Àyí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?€zï?ð?ð?À‰î?ð?ð?ð?ð?Àôï?ïï?Àªï?Õî?Àíï?ð?ð?ð?@´ï?ð?Äï?ð?ð?ð?ð?ð?À.ê?@¯ï?ð?Žï?€èè?@öá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@0ë?Àôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õì?@õï?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žî?‡ì?ð?øï?ÀOï?Iï?@î?Àí?ÀPî?@Åì?@Ùì?€%ì?À8î?ð?ð?ìï?@¿í?ð?ð?ð?ð?ð?@Ãï?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?€…ï?@Ãï?ð?ð?ð?ð?@ï?ï?jî?€Vï?@ýï?ð?ð?ð?ð?Àñï?ð?€¥ì?Ñæ?@¹î?ð?@Çï?@`î?Lï?¥ï?ð?ð?À•ï?ð?ð?ð?ð?ð?ð?ð?Àôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨ï??ï?ð?ð?ð?Pï?€xï?tï?À+ï?ÀPï?ð?ð?ð?ð?ð?@ãï?@jé?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0ì?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©î?@í?ð?ð?ð?ð?ð?ð?Àí?\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À]í?ð?ð?ð?ð?ð?ð?Àî?¤í?ÀIï?@ýì?@7ï?ð?ð?ð?€Òï?€ýì?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥î?ð?ð?@«î?ð?Àï?@Åë?@Uï?ð?ð?ð?ð?€î?@î?ð?Àáï?€Ìì?¥ï?ð?ð?ð?€,ç?/ä?(˜?Ä¢?€žÛ?À×á?Å?€KÔ?Aè?€}ï?ð?ð?ð?ð?ð?ð?ð?ZÞ?ÛÅ?€ŒÓ?Šº?€EÞ?@Êí?ð?ð?ð?ð?ð?ð?ð?ð?@‰ã?H—?t?Æ¿?€ï?ð?ð?ð?nï?ð?ð?¶î?èï?€aï?€(ç?@\æ?@×î?úï?ð?ð?ð?ð?ð?ð?ð?À®í?ºÅ?€Ù?€þî?í?Àõí?Ê?(«?€EÓ?€bì?ð?€\è?ÀÅà?ìÈ?d?€\?@b?€ÁÞ?@¨ï?Àªí?ð?ð?ð?ð?ð?ð?ð?€Ýï?€/ï?ð?ð?ð?ð?@€ï?ð?ð?ðï?Àì?®ë? ç?Jé?ð?ð?ð?ð?À»ï?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?~ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?€¥î?€ãï?ð?ð?ð?ð?ð?@Ní?€Yî?ï?ð?Àêï?@ºï?ð?ð?@×î?ÀMï?À‰ï?€5î?ï?@‡ê?€€î?Õ?è°?€!ß?‰ã?Àšã?@që?€í?@¢ì?ÀÉì?À„ê?ÀÚí?@„è?À<ï?Àòï?ð?ð?ð?ð?€wï?€Õï?€Mï?ÀFî?@Mî?ð?ð?@çï?€¨ï?Æí?ð?ð?€Éï?€ï?@lí?ÀÇî? ì?€àë?€¨è?À²ï?€ãï?ð?ð?@iï?Àaï?Êï?úî?À•ì?ï?@õï?ð?ð?@½ì?À¶í?€0ï?À+ì?Lë?€´ä?\ª?àˆ?>³?€×ã?€Dê?Õë?€cì?šë?Àšî?€îï?Àýí?@ì?€„î?Îî?Àæ?€ºß?€Ðæ?Àªì?Óí?àì?€çî?@Çï?+ï?À¨ï?@0é?@Ñï?€åï?Àêï?€]ï?Àâï?ð?ð?iï?àÇ?qÜ?@öî?ð?À“î?áê?ãã?€IÒ?@n?€R?v?À}ã?ÀÖå?€|Ù?€Vâ?€^î?Àwí?@ví?À“î?€«ï?@¨í?€äí?€ ê?À«ì?€‘ì?@5ï?/ì?€âì?@·ï?Àòï?ÀCæ?€âØ?À„ç?À§é?À ï?€'ç?À6è?Àê?@Yë?½ê?À€ç?€öæ?ìà?ÀÎç?ÀTì?À é?Àäí?€ï?@Œï?€!ë?@êí?Íî?@‚ê?€Þì?·ê?@Ýç?€¬Ó?€˜Ø?@Åæ?€øá?€ÊÓ?Ç?X ?€R?€X?šÄ?@´à?À¼ì?€rì?€åï?îï?ðï?ð?ð?ð?@þï?€bì?€ÿê? ê?Àä?Ëç?Àªì?šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?@nï?ð?ð?@ëï?ð?ð?@½ï?Àçï?@[ï?€ìï?ð?äï?ð?Àíï?¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À<ì?úï?ð?ð?ð?@Hï?@íï?ð?òï?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðî?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·î?€‘ã?€¦ê?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?@hï?Àýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?ê?ì?€ï?€×ê?À®î?@î?€Øî?¸í?*î?ð?ð?ð?ð?@ßï?òï?ð?¥ï?@¼ï?€÷ï?ð?À†ï?€Òï?Àðï?ð?ð?ð?ð?ð?ð?Àíï?@zï?ð?ð?–ï?Àeï?@Ùï?@´ï?ð?@›ï?Àÿï?ð?ð?ð?Àöï?ºî?\î?€§ï?Gï?€1ë?À%é?>é?Àéì?€+ï?`ï?Àºï?ð?¥ï?ð?ð?€øï?Ãî?À‰ï?ð?ð?@ùí?À„ï?€ï?ð?ð?ð?ð?ð?ð?ð?üï?ð?ð?ð?ð?ð?Àþï?€Àï?€Ãï?ùï?ð?ð?ð?ð?ð?ð?@oï?€•ê?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?Àóï?€Ïï?ð?¥ï?©ì?~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àê?Zï?ð?ð?ð?ð?ð?@Lî?€Âí?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?À¬î?õê?‡ì?ð?ð?ð?ð?ð?ð?À\ï?@¿í?€jë?€ùï?€\ï?éî?@Çî?€,î?@£î?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âî?€žã?@Ñê?Àà?kÉ?0ß?ÀWà?€6Ý?€%ß?€GÕ?€´Ð?zß?ð?ŠÐ?ÐË?@ã?@Ôê?À‹ï?€Yì?€éÝ?€Ö?@gî?úÝ?<­?M?(?¸“?è’??Œß?˜ï?Àäï?ð?ð?ð?ð?ð?À²ï?(í?@àê?À•ï?@´í?¯Ë?Àb?ßÃ?€ší?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iî?,¡?À¦ã?€öï?Àõï?@üï?ð?ÀÛï?@õî?@Äï?À€ï?ð?Àôï?ÀËê?À.ê?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?˜ë?,©?¡Ç?À+å? ç?@!é?À ï?À÷ë?ÝÓ?À?ŒÈ?!À?À'ë?Àöî?@_ï?@Lí?—Ü?<·?$?ˆœ?p?€ÿÔ?¶è?âï?ð?ð?ð?ð?€Ûï?€úï?ð?¥ï?ð?ð?À ï?€(ï?€öé?@nï?ð?ð?€Øì?€4î?õå?ÀKâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?€øï?@þï?ð?ð?ð?@3ï?ÀÙï?€öï?À©ï?@Ãï?Àöï?ð?@nï?@xî?@í?@öî?€ï?ð?ð?ð?ð?€‘ï?üï?ÀÓï?@Êï?€qî?@Tï?ÀOà?ÀŒ?€ZØ?~Á?@¥?/Ç?€iØ?Hâ?@©í?€Îë?€mí?€0ï?Àî?ÀIï?ð?@fï?~ï?ÀÍï?ýï?ÀŒï?€×ï?nï?@2ë?ÀHë?@_ï?Àÿï?€ ï?ð?€€ï?À»í?ð?ð?@äï?Îï?žê?@¿ì?€þï?þï?ð?ð?Àªï?ÀBï?Þï?ð?ð?€Ýí?ÀIï?Àáï?ð?jì?À:ë?Àdî?€—ì?vé?€mç?ò¹?8—?¥Á?@ê?Lï?€{ï?ÀFì?€ìë?À„ï?ï?€Õë?@`ì?Äé?Àæî?yì?€%ê?Àýé?Uç?åé?ÀÚî?€î?üï?ñï?ÀÝï?€í?@ï?€òï?@Ñï?@Ãï?¨ï?Öí?@îï?@\ï?€OÓ?æº?ÀŸ?@5ä?€Âê?úï?@_ï?€žë?€ã?€…Ñ?ž?>?°?ð?e?à®?˜ß?½?4¾?Yà?€.ê?¤ï?éí?î?Êï?Wî?×í?@Ûî?À©è?@Õì?.ï?€fê?ÀCï?@Rî?€éî?€°â?À?ÀÙê?@˜é?çî?@fè?0ç?€Yã?€Xê?@ ë?€æ? ¤?ð³?ð„?Àgç?ÀÆê?Àºì?@Xï?@$î?Ûã?hÄ?«Ý?@7æ?ûî?Âî?À\î?@éå?@ å?€çæ?@“ë?£Ý?ÆÈ?Q?H»?€þß?À¬æ?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?€Íï?@é?Àbç?€øî?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?€Ûï?Àï?ð?ð?ð?ð?ð?@çï?€»ï?À÷ï?Xï?ð?Áï?ð?ð?ð?ð?Àùï?€ï?Àûï?Àùï?ð?Žï?ð?^î?€Bê?@Ôï?ð?ð?ð?ð?Öï?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ç?ê?@—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?@áì?@‚í?ÀÖì?€°í?À…ï?€jí?@bï?@ì?ð?ð?ð?ð?ð?@<î?@Æï?ð?ð?€Šï?jî?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?€.ï?@í?€Ûï?ð?ð?áï?Íï?ð?ð?@®ï?¥ï?À‘î?€´ï?@Ãï?À‘î?Hï?Ýê?À•ç?Àëì?@˜î?@Àî?áï?@Ãï?ð?ð?@ ï?hî?@zï?@ëï?ÀÁï?ð?€àï?@Ãï?Žï?ð?ð?@tî?ð?ð?œï?€Ìï?ð?ð?@Ãï?ð?ð?ð?;ï?¹ï?¥ï?ð?ð?ð?ð?ð?À¢ï?ð?@áì?Ÿí?ð?ð?ð?ð?ð?ð?ð?@yï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?Àêî?î?€dë?ÀGî?€Âí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?€·ì?ð?ð?ð?ð?ð?€ì?€?í?ÀÃì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLî?|ì?$í?ð?ð?ð?ð?ð?ð?ð?ð?À-í?Àí?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hì?€Âß?lÂ?xØ?€|ì?nÈ?€µÑ?ºÈ?Q?€«Ö?×?,µ?Ô¬?ÚË?Ùâ?ð?ð?ð?³ê?ÀÎæ?Ìí?ð?@³é?€`í?À»ë?€×?u?ÎÈ?Àî?ð?@Ãï?ð?ð?ð?ð?ð?ð?ÀGî?¿ï?ÌÓ?Ž?I?<Ã?ø›?Àì?ð?éï?€÷ï?ð?ð?@rî?@Åï?½ï?ð?Àæï?€<é?@ïë?@çï?ð?ð?ð?@Ãï?ð?ð?ð?ð?@yï?€ãì? ê?€í?ð?ð?ð?€nß?@m?0?zÌ?Àèë?ÀMä?vá?Ñ?˜§?¬¦?€&Ý?jî?À0ï?ð?ð?À}ï?@1ï?ð?ð?ð?ð?@‚ï?€Éï?Àá?ÀÊê?Àäï?ð?ð?€ní?Ú×?@ î?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wï?@íí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?ð?ð?@ïï?Àûï?ð?ð?dí?@Ãï?·ï?€²ï??ï?ð?2ï?Àóï?ð?Àºï?€%ï?ð?€Öï?À¢ï?ð?Àáï?ð?@„ï?»ï?@Ûî?1î?ÀÙì?€¡á?@z?°„?€`?Å?Eç?€®ç?†æ?{å?€õä?À%ë?@Gé?@½ï?çí?€rß?€z×?€Aî?ð?€šî?€î?ÀJç?@î?×â?vî?ð?@Ãï?@Ìï?ÀÁï?€hï?Àï?ð?[î?ð?ð?ð?Yï?@ëï?Àçï?€Ûï?ºë?€Uî?@Ìï?Àõï?ð?€àï?€Áî?Ìî?@ ï?@áî?@¡ì?@¼é?Àmî?@æè?Àªé?œ?H¡?¶?€¼ã?ï?ð?@ï?€‘ï?À?ï?À€ï?€gí?ÀZï?@”ï?]å?Ùì?€Bï?¨ï?@×ï?À¨î?€½é?@©ì?À†ï?ð?ð?ð?€Eë?€Kî?@÷î?@—ï?À•ï?@ëï?ï?Àì?@Tï?>ì?€Qà?À„?)Ð?€è?@_î?@Ãï?@+ï?€Dî?@5ë?€ƒè?NÑ?È•?UÀ?®?Àu?p‡?²?´À?ÀÈ?@Éé?ÀÛé?@#ï?€Âï?Àsì?ð?€kî?@uë?@àë?@³è?À»î?@í?@7ë?è?ÀNé?@×é?íÃ?k?¹Ë?À¹á?@$é?€œê?™ê?€âç?Àÿë?€9å?€ì?è¢?ޱ?æ?Àì?Àë?@Fï?Àäï?ÀÅí?@<è?€ é?Áî?@«í?Àê?Sé?Àôç?6è?€í??å?BÑ?]?€U?˜½?0?Ћ?€ÚÕ?zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?Êï?€Ôí?€×ï?ð?ãï?Àöï?ð?ð?ð?ð?@¹ì?@§í?€Ëí?ð?ð?ð?ÀÚï?@íï?ð?ð?@þï?ð?ð?€ôï?@’î?@üï?€Šï?ÀCï?ð?ð?ð?ð?@Þï?ýï?À…î?Cí?€bî?€uï?Àcé?Œå?(è?@wì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?Àûï?ÀÃî?Àûã?ð?ð?ð?ð?ð?@ÿï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ð?€Ûï?@Éï?ð?ð?ð?ð?ð?@Žï?€©î?ÀÞæ?€Mç?€›í?@åì?‡ï?ð?ÀÓë?€Éï?ð?¥ï?ð?ð?Žï?€Ôï?À7ï?@Ãï?ð?Ëï?ð?ð?Àðï?@Yï?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?ð?À•ï?ð?ð?@ÿï?ð?ð?€ñï?@öï?ð?Úï?ð?ð?«ï?éî?ð?ð?ð?Àðï?Àî?ÀËæ?@ÿç?Àè?~ï?ð?ð?ð?ð?@áï?åï?€ ï?€Žï?@ÿï?ð?ð?Ëï?ð?ð?ãï?ð?€uî?ð?Àsí?ð?ð?ð?þï?Àþï?@ÿï?À±î?@ûï?ð?ð?ð?ð?ð?ð?€Ôï?ð?€Ùï?ýê?€§í?@Ÿï?Àžï?ð?ð?ð?@˜ï?Þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Yï?@+í?À€ï?@«î?@?í?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€¾ï?€ì?fí?€!ï?ð?ð?ð?ð?ð?ð?ð?€Üï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?@8ï?@ë?@mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?Àdí?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡è?tº?h?â´?@s?©?à‚?ŸÒ?\Î?ÀNè?€kç?Lç?€5î?@ ï?Àÿï?êç?€ÑÒ? x?•Ô?7æ?÷Â?¿?t ?P?ˆ¶?@Šê?ð?ð?ð?ð?À7ï?@\ï?ð?ð?ð?ð?€„â?ZÅ?Hž?xÛ?@î?&³?@c?Ú?ÀSæ?ð?ð?ð?˜ï?@î?À†ï?ð?‹ê?@Êë?@©í?†ï?¼ë?ÀÓï?ð?ð?ð?ð?µï?@Ãï?ð?@Áï?@ôï?€Jè?À}ê?€Òï?ð?Àäï?€jÔ?2Æ?H§??Àx?ØÂ?¬«?Òº?À+ã?§ï?ð?ð?ð?Êî?Àýï?Àçï?ôì?Àóï?ð?Àç?@Ûâ?ð?ð?ð?ð?€ëë?@ˆï?@ÿï?@Éï?€2î?ð?ð?ð?ð?ð?ð?ð?€,í?€"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãí?ÀÐè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@ìí?ð?@êï?”í?§ï?êï?€¨í?ð?ð?@þï?€ñï?ð?€@î?€Åï?@Ãï?@wï?ð?@ï?ðï?Éï?ÀÈê?€¢Õ?à?Àƒ?Џ?>Þ?Ù?€÷Ü?€.ã?€Ÿè?À%ï?€¯ï?€•ï?€è?€„ë?@4é?žÛ?À/ê?À_î?@å??è?@Gè?Àuî?&î?À›ï?@cï?À)è?@Iè?Àè?€ôí?ð?Àþí?hç?ãï?Àðï?ð?ÀÙî?@«í?ÀÙï?À;í?ÀÉì?Àäï?zï?ð?ð?Eî?@Rî?ÀÅï?€¾ï?ð?ð?ð?@Èë?@ƒë?ÀXî?@5ï?Wë?Àýë?ÀÇí?@®ç?pŽ?$ ? ~?ÀÜà?€dï?Àhï?õï?À~ï?€Âî?@Wï?€¥î?íì?@%ï?Àÿé?è?€í?À²ï?€ë?ÀÑê?€çå?À\î?€î?€ï?zì?ÀŠï?Àuï?€Çç?@“ï?Àšï?ð?ð?@öï?ð?€Tî?Õî??ì?€ Þ?%Â??€gÝ?À,ì?ï?ð?›ï?þè?ÀØè?À*á?€6Ô?´²?ØŸ?@[ä?Ã?Ü®?êÒ?éÐ?Àæ?€†ê?Uï?@´ï?Åî?€wï?šì?€}ì?À²î?mí?€7ï?ï?@Rè?@›á?îÊ? ª?H’?€Sä?@î?€aì?@Ëê?@Dé?@òè?8 ?Õ?N¿?À0ä?”å?‘í?€Çî?@Áì?@­ë?À½ë?À”å?`í?€°é?@÷å?6è?ƒë?@Ëá?€ªå?°¹?8ª?´Á?1Ù?iì?€ÅØ?Î?€8Ú?@Üí?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?ð?ð?ÀØë?€ŸÓ?yÅ?Àjâ?ð?ð?ð?wé?Jï?ð? ï?ð?À>ì?Àpï?ÀÆï?²í?ð?ð?À£î?ð?ð?€:ï?À¦ï?ð?ð?€ìï?€ï?@wï?ð?ð?ð?ð?@Òï?ð?ÀÆï?ð?ð?ÀÆï?&í?À±ï?@å?LÐ?@ç?ð?ð?ð?ð?ð?Àúï?ÀNï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðî?ð?ð?€ï?@‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{ï?å?€UÖ?€ßç?Àðï?ð?ð?ð?0ë?ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òî?xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?³î?€Eæ?@´ë?Wì?@½ì?Àñï?€Ôï?€ùï?ïé?ð?ð?ð?ð?@Ãï?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?ð?ð?ð?ð?ÀIï?@ï?ð?ð?ð?ð?ð?ð?ð?À&î?Àìì?ð?ð?À°é?é?À¾ï?À¾ï?ð?€Šï?@§ï?@•ï?@wï?‘ï?€ôï?ð?ð?ð?@zï?€Þï?ð?ð?ð?ð?@¸ï?¥ï?ð?@Ãï?@dï?éï?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@»å?ÀQí?þî?ð?ð?€âí?aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ÀÂè?‘å?À ç?³ä?@»æ?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚î?oî?ð?ð?@Ðí?`ï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óî?@mí?Ààì?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vï?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ÀSî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBï?·ì?@Ùê?@Eë?Pì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rï?Îí?¥ë?íë?ð?ð?Àýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈë?”­? Ÿ?ˆ·?^Ð?ÀËï?Èï?€äí?gÍ?LÖ?ðç?H®?€sÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€ùâ?ƒ?ä«?À&ë?ð?óï?Å?ËÈ?@»ï?ð?ð?€9í?€PÑ?$Ý?€¢ï?@¤ë?¤ï?€ìï?ð?@<é?€÷å?€ùè?@„ï?ð?ð?@ë?€ûí?ð?ð?ð?ÀÝï?úå?€ë?€Ûï?ð?ð?ðî?ð?€9é?È?Ö´?ì ?:Õ?@Gï?ð?ð?€)ê?À÷ä?Ðè?À$ê?3ê?@ï?€Öê?€RÚ?À$î?Àðï?ð?ð?ð?ð?ïï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?íï?ð?@öç?À£ê?Àãî?@î?«ë?ð?ð?@ãï?@Ãï?€†ï?@¨ï?ð?ð?ð?€8î?€‘î?ð?€Ìî?YÖ?@?5Ê?Æé?ð?Àœï?@šî?sï?@ùè?Àgë?ï?€îî?ÀŠé?@ê?@Uî?Àï?@†ï?@Ãí?À­å?€èí?Ýï?€àì?ÀTì?€ºï?À¸ì?À'í?@ï?ÀÅé?€ùï?@«ï?Àî?@ßé?ÀSî?Tî?@í?@Ãï?@ßí?€ê?Vê?@í?2î?@Ãï?¥ï?@£ï?@_ï?¥ï?À–ï?€vï?Nï?ð?ð?ð?À[í?Îì?Úí?@Fï?Àfï?Šì?Gî?€{î?ÐÖ?À{?ÁÌ?Àpï?@¸ï?@@ï?ãî?€\î?@÷î?Àóï?€Ïï?€ºí?Àðï?€‘í?‹í?€äí?€'î?À=ì?@í?Àtç?xî?À?ï?€‹í?Àðì?@ê?Æí?@|ç?êç?ð?ð?æï?Ûî?@jï?Àáï?@Âå?¾ê?€ Ñ?9Ä?ì°?èš?@n?ãÑ?@øã?À¦é?`î?€¾ï?Àóí?iî?À¶è?Àöã?@ã?ÛË?q?äº?@mà?€[Ô?X§?4?3ã?í?@Të?ÀUî?ð?Àï?@Iî?@ví?@Rì?lî?€yî?Àºï?xí?€Wî?@œà?p‘?Ї?¢Ý?À¢ì?@Çí?€õï?@šì?·×?Àd?`z?˜«?€ëÖ?‚ï?€èä?À™ê?@æ?€ïí?Àì?@~ì?Àåë?Uë?€é?@ûç?’í?aê?.À?¬¶?ìª?PÖ?€lì?€<Ø?@h?€ÔÒ?€Që?ð?ð?ð?ð?ð?ð?ð?ð?@?ï?ð?ð?€(ä?€s?‹Ô?ð?ð?ð?9ï?@lì?@bï?@Ãï?ð?€Iï?À‡î?ð?Àîï?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?€©ï?Àí?ßí?@¹í?@!ï?@ñï?€Åï?€Ãï?ð?¥ï?ð?ð?ð?Àë?‡í?À„î?€)ì?úÈ?€që?ð?ð?ð?ð?ùï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±î?À’ï?ð?@Ëí?€©ï?ð?À:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýê?øÒ?×ë?ð?ð?ð?ð?@ÿí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ï?À¶ï?ð?ð?ð?ð?@hï?ð?ð?ð?@xï?Àòë?Àñí?€ï?ð?€èî?@fï?ãí?€uê?ð?ð?ð?ð?ð?ð?Çî?Àñî?€ãí?Çî?ð?ð?ð?ð?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€Ïç?@ì?€Nï?ð?€Ìî?ÀMï?@ëï?€ ï?@Õî?€Êï?€rí?ð?£î?ð?¥ï?êï?@åï?ð?ð?Àùî?@Ûî?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï?Àäï?ÀÄí?ð?ð?À|ë?Àšè?ð?ð?ð?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõì?@Wí?ð?ð?À ï?@¬ì?Àå?@àê?ð?ð?ð?ð?ð?ð?ð?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀOï?ð?ð?ð?@ï?sî?ð?ð?ð?€–ï?À¨î?@{î?Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?ÀMí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜî?€âî?À1î?Àëî?Áî?™î?@Oì?€Òï?ð?ð?ð?ð?ð?ð?ð?À¼é?ùí?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·î?À{í?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€]Ú?`Ê?SÍ?h·? ?Àfæ?ð?ð?ð?@`ë?ð?ð?ð?ð?ð?ð?@¦ã?Hž?°Ó?€9î?€¥ß?‰Ç? …?0´?Àûì?€©í?€Lß?ØÈ?P¡?€™Ù?ˆÒ?Àå?@Bî?€ì? Â?¢ë?€ ï?€Åï?€+î?øà?äÚ?ð?ð?ð?ÀÂî?@dî?Ùï?þî?ð?ð?ð?ð?ð?ð?ÃÛ? …?€Q?€ç?ð?ð?@˜ì?€¢é?€Š×?@‹è?Àrã?Oî?ð?€*Õ?€`é?@zï?ð?ð?Àðï?ð?@ßï?@¾ï?€žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?ð?ð?ð?Àí?Vå?Jî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?@Éï?ˆï?Úî?@Yï?ð?ð?€Ûï?ð?Àðï?ð?@¼ï?ïï?ûï?@¨æ?æ?À~ë?@Ïï?@´ï?€ å?”?€Ò?Àcì?@àì?À[ï?@°î?jî?@î?Àë?À-ã?þî?€<í?@Þî?@hí?eî?Àåí?ÀÜí?À ï?@ðê?€ÿç?Æï?€=î?À£ï?€eï?€ï?À°í?Oî?@ƒë?±ï?€ýæ?Àxê?€å?€^ï?À¨ë?Ýç?ð?€4í?€Õë?ýé?@7í?@uë?Àfî?À§ï?¸í?€Ìï?€Úí?²ï?€@í?Àké?Àî?ð?ð?ð?²ï?ÀÛî?@sî?€>î?€Ôî?ð?€Ýï?@Þê?°³?œ²? »?æÃ?ì©?@m?™?@xè?@ìê?€+î?Çï?@³î?€µî?ÀÜî?Àîî?€šî?@ßí?€âî?Àðï?ï?ÀEï?€qï?Kî?ÀLï?€dî?€î?Xí?@5î?À|ì?ÀBê?€4é?ûï?€Éé?@Ñî?€Cî?£î?@Nï?)ï?@Fé?×?€ÞÝ?”ç?À†ì?@Šì?@Mæ? ¦?ïÍ?¥Å?€ëã?€öæ?Àgí?€[ï?@Ñï?ð?ð?À‡í?@ï?¤ê?€zÙ?0Ò?Ö¹?€ŒÒ?Ä?Ò?@ï?ÀËï?@ë?@Óï?ºî?¯ï?ÀSï?@¨ï?ÀÙê?çí?€Ãï?€xí?@»î?£é?ÒÀ?À–á?@Ðì?@yï?»î?@|í?@Šä?@p?V³?üÁ?Ñ?@jâ?À“ì?@áé?žæ?0Ð?€(å?À´î?€wî?€Aî?@Xè?ÀDç?fç?@Ÿì?5ä?@´?`‹?gÍ?¨´?d ?ÔÒ?€ÇÔ?€8î?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?@ýî?Øï?@ï?Lº?Ø?ð?ð?ð?ð?íï?@­ï?ð?@Òï?€«í?íï?ð?ð?€Ïï?@×ï?À±ï?ð?ð?ð?ð?ð?4ï?ð?ð?ð?î?€vï?€äï?@Eï?À=ï?Äï?ð?ð?ð?ð?ð?ð?ð?@wà?Àüí?€–î?@óè?Àe?€™ß?@úï?ð?ð?ð?ð?ð?ð?ð?€Üî?ð?ð?ð?ð?ð?ð?}ï?Àƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨ï?€Ïï?€Xí?ãî?€*ï?nî?ð?ð?ð?ð?ð?ð?€'ï?¼î?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?€ï?Eë?€dÖ?€£á?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[î?@Xï?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àxî?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?×î?@£î?@ì?@ï?ð?€tì?€—î?ð?ð?ð?@ýï?ð?ð?ð?Àùï?@óï?À\î?Àíï?ð?'ï?@úï?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀJî?ð?À²ï?ð?ð?À—î?ï?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ì?=ç?è?€Þì?Àîï?€hï?ÀÛï?ð?@ýï?€÷ï?Àüï?@jï?@¿ï?ð?ð?@¿ï?Àˆï?€²ï?€xï?ÀÞï?À?ï?@|î?@Rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?Àùï?@¾ï?ð?ð?€ãé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆë?Àé?€ ê?Àvï?ð?ð?ð?€é?ÀŽç?€³ï?ð?ð?ð?ð?ð?@ï?ÀSä?ð?ð?ð?ð?ð?ð?ð?€éï?^ï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ÀBï?dî?€„ì?ýë?îí?@.ï?ð?ð?ð?ð?ð?ð?€Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ï?À‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?€eï?ð?@‚ï?Àï?@.ï?+î?@mï?ð?ð?ð?ð?€Âî?@Wí?À¬î?€ñê?@¾ï?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?î?@ï?ÀÙí?Mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?Àüî?À‹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥î?þÌ?ð…?Àhä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îî?€ŸÖ?c?g?€æâ?ÚÆ?8?–Ð?Àé?@ë?|¨?¯â?€_Ò?<¥?H¨? r?:?àw?€Iæ?@§î?l¿?‹?äç?[é?€FÓ?¸–?üÀ??ë?ð?@6í?€¤×?@Žá? æ?€ã?Àé?€{ï?ð?ð?ð?ÀÝï?€Àî?€¹Û?°˜?t?Àt?€¢Ú?ïë?ð?ð?Àùï?€¿ç?òÁ?qÒ?Øï?ð?€ æ?2Í?@óï?Àùï?ð?ð?ð?Àxï?ÀÒï?ð?À•ï?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kî?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?€ñì?À"é?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?Àéï?€~ï?ð?ð?ð?@èï?ð?ð?À«î?À=ï?Àùï?ÀMï?À¼ä?p?5Ã?uß?€²ç?À+ë?Ð?J²?`Ê? ï?åê?@ží?À÷î?Ðé?@î?À¥ï?€Ãï?hï?õî?€³ï?€ïî?À«í?€Öî?ÀÙí?ÀÏî?Àîï?€ßï?¿ï?@ýï?@ ï?€+ï?yî?€‘î?€˜î?@Sí?@Óã?€ì?Hí?óå?€ ï?Àï?êï?@Œé?€å?€Rë?£í?À-ï?né?@}ë?ð?ð?ð?€ ï?ÀXí?ð?ð?@Mé?€mæ?@àï?wï?ð?ð?ð?ð?ð?ãï?ð?€Öï?€î?@úï?€nï?Àùï?@åë?zä?€ûì?€¥í?è?€mæ?“?€4Ù?À›î?Àèî?À´ì?€ïí?€Žê?€ ï?À•î?4î?@¸ë?Àå?Àãì?®ë?@í?@ï?Àï?€²ï?¯ï?*ï?@àï?€–ï?€Zî?@î?€Ôî?ÀÞì?€ï?ð?€`ë?€Ãï?Àùï?ðï?ðï?€ï?Àžî?@Eë?€×?šï?À”î?ð?@lî?€éï?´?=á?€=ë?€á?@îè?ç?€í?@xï?nï?@Òï?ð?€ôï?€eî?@éì?Sç?Àxæ?4¡?P˜?€o? Œ?h¯?°Ê?ð«? z?Àã?Àfî?xí?€ï?À£ì?€Êï?€jî?Rï?÷ï?€¼î?À{î?"ï?ÀHî?-Ë?€Û×?À¦ï?€\í?@í?èî?$á?l§?€mæ?€ŒÚ?ð?ˆí?À@î?€së?€MÛ?@v?Bä?À)ê?@Kë?€™æ?À)é?€.î?€^ì?éç?˜?Àj?N¹?€aÕ?@™ê?€1ë?€ë?@½à?ÕÂ?€tì?€xí?€*î?ð?ð?ð?ð?ð?ÀÍï?ð?ð?Àßï?Àîì?ð?€¡×?âÁ?ð?ð?@¿ï?ð?€ùî?ð?ð?€Hî?Àþë?ð?ð?ð?ð?ì?À1ì?À¦ï?ð?ð?ð?ÀŽï?Àãí?ð?ð?ð?ÀÏí?€ï?€ï?ªï?€{ë?€–ì?ªï?ð?ð?ð?ð?ð?ð?ð?@óå?\×?@Áâ?Ø›?0¢?@œà?@|ì?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yï?@1î?ð?ð?Óí?lí?@°ï?ð?ð?ð?ð?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&ì?Ëé?.ã?@ïç?ÀYï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ÀAï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBï?€=ï?ð?Àñì?ð?ð?ð?ð?ð?ð?@*ï?€‚ï?6ï?6ï?€õî?@ï?Oè?ÀPï?ð?ð?ð?@Òï?ð?€Êï?ð?ð?ð?Åï?æî?ð?€•ï?€åï?ð?ð?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMï?ð?ð?@'î?ð?ð?€Àî?ð? î?@åï?ð?€Êï?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?€Áï?ð?€²ì?ÀBê?Ií? î?Ùì?ð?Àòï?wï?ð?ð?ð?šï?Ìï?ð?Àcï?ð?€åï?@°ï?€½ï?ð?ð?ð?ð?ð?ð?@îï?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ší?ð?ð?@vë?€åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€íé?À¶ê?€ë?Âé?@Éì?ð?ð?ð?ð?ð?ð?@‰î?À’ë?ð?Àòï?€µé?@/ë?•ï?ð?ê?ð?ð?ð?ð?ð?ð?ð?ð?Àç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@¡í?@³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ï?€¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@¹í?@—ì?À:î?Àòí?€Aí?ð?Àï?À=ï?Àì?Jì?ð?ð?ð?ð?ð?ð?ð?7î?À/ï?ð?ð?ÀŽï?ì?€äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?[î?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?@Øé?ÄÊ?À¾á?ð?ð?ð?ð?ÀÍï?ð?ð?ð?ð?ð?ð?dá?t?(Ì? ¨?Ã?Hœ?lÔ?ðƒ?ðƒ?AÊ?Œï?ר? •?t? º?¨ê?@Òï?ð?@°ï?Àvì?Àõå?ÀÕâ?@íå?€Xî?€ï?ð?ð?ð?Àèç?N²?€Z?Hž?€Rä?`?€j?€œØ?@›î?ð?ð?@î?qè?Z°?Àžì?@Óî?@kê?ܧ?€@ë?ð?ð?€Ií?@Tí?Åï?@îï?ð?Àïï?À¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3ï?€(ï?À¸ï?ð?ð?ð?€Ïï?ð?œé?€³Ó?PŒ?Àâ?@¨à?À®é?À‡ë?À¹ì?~î?€Óï?À’î?dí?tî?€Õé?€lí?@nï?ð?Àžï?Àyï?@ñí?€í?@óì?Àwï?@åï?ð?@Äí?ï?À¢ï?aï?Àrì?†î?@cî?ÀÇë?@æí?€xí?€wè?€§ì?Ôè?Çã?Àßï?ð?€âï?Àç?@é?1å?@Åê?ð?€åï?bï?ð?ð?@nï?Nï?ð?ð?ð?@Aì?ÀÏâ?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?@-ï?@Ùî?ð?€Óï?À‰é?Œî?À›î?Pî?À9ê?à…?`°?Ëâ?@¡ï?Uì?@Þî?À¯ì?À†ë?€µî?€ï?ÀÁí?€aî?@nï?€àê?À"î?Øï?À¤ï?€~ï?@¿ï?À¢ï?<ï?&ï?€åï?Ýî?@`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?€î?€˜î?ð?í?€Žï?€•ï?À¬ë?€Þ?|Ò?Àj?ø§?н?@Rì?€Äç?à?@Öæ?€^ç?@bí?@'í?À8í?À ï?Àßï?€Yï?@‘ï?@eë?€ é?Ù?ÕË?ž?>²?Àžæ?€KÝ?úÝ?ñÝ?À˜ä?@Ãè?ì?€²í?г?Ð…?®Ù?øê?@æê?À·í?ÀBï?@\í?ï?€˜î?€«í?Jï?aê?tÕ? r?€»Ñ?ˆã?çê?ÀÞî?Êè?RÙ?Óè?ÀÛï?@êï?@@ï?@²ï?ð?@Âì?\¶?Ö?ÀÂí?ð?€&î?•î?î?Ïî?Àˆì?€ˆÛ?à‰?4µ?Àe?À‰á?@¸î?ð?µï?€¯â?ê²?Àÿá?€Fí?@Èê?@¶ç?ð?ð?ð?ð?€ñï?Uã?@¥î?ð?ð?Àïï?0ä?b±?@iã?€nï?@¿ï?ð?ð?€Gì?ð?Áî?€nï?ãï?ð?ð?ð?@'î?>Õ?€9Û?@ î?ð?ð?ð?ð?@ï?@Œí?ð?ð?ð?cï?@üí?€Ôï?@áë?@‚ì?€Ôï?ð?ð?ð?ð?ð?ð?ð?@Jï?zØ?¥?@±ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤å?;î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏî?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*ï?€.ê?€ðê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï?ð?ð?úí?ýî?ÀRï?€~ï?Mí?ð?ð?ð?ð?ð?ð?ãï?À®ï?ð?@î?ÀÌí?Àôê?@·ï?ð?@.ï?€¼î?ð?ð?ð?@sï?@¿ï?ð?@ï?ð?€üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?@î?Óï?€nï?€*ï?ð?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?@^ï?ð?@î? ç? ë?@¨í?@¿ï?@¯ï?@¿ï?ð?ð?Ÿï?ÀBï?Fï?€-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?@é?€_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ì?@{é?€¾ï?Àøï?óî?@êï?€Öí?@ é?€Îé?€#ë?Àé?@Îé?ÀRë?ÀGì?À¨ï?ð?ð?ð?`ï?@Èé?À/î?€~ê?ð?ð?ð?ð?ð?ð?ð?ð?@Êë?@Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[ï?÷í?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@}ï?ð?€4ï?ð?ð?ð?ð?ð?¿î?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?Àøï?Àþì?ð?ð?ð?ð?ð?ð?ð?@¡ï?ð?ÀÃî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lï?üÖ? —?^?€ØÚ?@ï?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?Ãï?3Ä?p‰?Ù?KÏ?Àeâ?ð?ð?ð?ð?ð?@úí?ÀÛï?€¾ï?ð?ð?ð?ð?€Ôî?èÐ?'à?ðÝ?€›Ñ?À‚?˜Å?Àâ?Àzî?À=é?Àë?ôÍ?Öâ?ÀÖá?ãï?UÏ?0Ú?@1í?ð?€öç?ãï?ð?€ñï?ð?ð?§ï?@jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?ð?ð?ð?ð?Óï?ð?ð?ð?ð?@¿ï?@yï?@\ë?@¨ë?€Wî?eï?Àdï?çì?ð?^ï?ð?ð?@ýî?¼ç?¬?^ë?€ßï?À‹ë?Àþå?ÀÛï?5î?@ ï?›ê?Àï?€“ï?uï?ÀCï?@jï?@^ï?€ûî?€î?À`ë?€vï?$ê?À î?€óî?@ï?€~ì?@î?ð?@5ë?€ÎÚ?@šï?@êï?ë?ÀÅí?ÀŽï?Àøï?€ÚÝ?eÒ?€EÐ?@â?€Žî?Äï?€¶å?€2ì?€¼ì?€¿ë?€ßï?ð?ð?ð?ð?@.ï?ð?ð?ð?@¦ï?Àï?@·ï?ð?ð?ð?ð?ð?ð?Àïï?@^ï?ð?ð?ð?šî?€{í?€Ôî?€ñï?í?€“ï?±î?À`í?À í?vÏ?0€?Œ¬?€æ?@î?€¾ï?@Îî?@—î?Ãî?€ ï?@Dê?¾î?Äï?í?ÀIî?Æî?@Lï?Àßï?ð?ð?€ñï?ð?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^î?Àiï?ð?ð?€íî?€˜î?ð?Àsé?€nê?ÀÊé?3Ö?fÂ?˜´?€»ä?@Äì?@¸î?óè?4è?€é?é?Àìë?´í?ð?ð?ð?ð?ÀÒï?€Kè?„æ?€ç?ÀÓì?B³?x–?¼Ý?/ã?¾²?Hë?Àªí?úì?0ï?ð?ð?€-ï?Àmí?€¢?I?†µ?À?á?“å?@ªï?@†ï?€ýï?Àòï?ÀÇî?@kë? Ì?Q?I?€LÕ?À:á?À<í?¦ì?ÀŸï?ð?ð?ð?@+ï?ð?ð?€­á?xœ?@±í?€½ï?ð?@^ï?@²ì?@,í?€{é?€ ì?€8à?p…?@q?Hš?@å?€œê?gã? Û?p?@~?7Ï?„Ì?™Ù?ð?ð?ð?€µï?ð?dÓ?@!î?À‹ï?@¿ï?ð?ûï?ëÝ?À£í?@Þï?ð?ð?ð?Ànï?ð?€°ï?ð?ð?ð?ð?€ëí?vÐ?[?·Ã?@ë?ð?ð?ð?@öï?ïï?À’ì?€ñï?@©ï?–ï?Ñï?À¼ï?hï?@$ï?À<ï?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?²ï?)ä?„Ñ?øŸ?˜Î?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíì?€Jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhç?@gì?Pä?À3î?€¶î?Àžï?@¯ï?ð?ð?ð?ð?ð?ð?ð?àî?Nï?Kî?ð?Àïï?ÀÌî?@¿ï?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?@¿ï?ð?ð?ð?€Êï?@1î?€7î?ð?À¼í?À÷ì?€Çî?ð?€4ï?ÀÂì?À»ï?€˜ï?À ç?fï?Àií?ð?ð?Àï?ð?ð?ð?¤ï?ð?@ï?ð?€øï?ð?4ï?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hï?ð?ð?@¿ï?ð?À-ï?ð?ð?ÀÔí?@“ï?€µï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?ð?ð?@kï?Úï?Àßí?Mè?óç?Àìï?ð?ð?ð?@¿ï?ð?ð?ûï?ð?ð?€Ïï?ð?ð?ð?ð?ð?€ï?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?€në?Àìï?ð?\ï?€Ÿï?ð?ð?ð?€Ÿï?À}ï?À®ë?À$ë?Àùï?ð?ð?ð?ð?ð?€íï?ð?ôï?¯ï?ð?ð?ð?€Ïï?€Ïï?ð?ð?ð?@Lï?^ë?Àxï?ð?ð?ð?ð?ð?ð?ð?ð?€†ì?mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹î?@[ï?iì?€þí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüî?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaí?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?zî?À‹ï?ð?ð?ð?ð?Àìï?€Èï?Àºî?@µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?FÜ?>?d©?@Må?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ƒë?N?âß?€Óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?ä?@v?ì¡?FÞ?xë?mî?ÀQç?ÑØ?œº?N?€ìÕ?]Ë?°Å?ƒË?€j×?ج?²ä?RÑ?€1ß?À.ç?ê?€™ã?âî?@öï?ð?ð?ð?@¯ï?Àhï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?@öï?Àzï?ð?Àßï?ð?ð?ð?õï?Õï?ûï?@íï?€Zï?ð?@¿ï?ð?Àßï?ð?ð?ð?ûï?ßê?Àgì?ð?ûï?€Òï?€”î?@‘ë?òë?Àsî?ÀHî?€Oï?Àžï?­ì?¨í?@¿ï?î?€nï?ÀYî?@ÿí?€Iï?€é?@Dë?€$í?€ ï?ð?ð?€Ýê?À"ê?ð?@êí?Àì?‹é?À-ï?À:î?KÃ?À±?]Ø?¥ë?€ýï?@ºï?€Åí?@Óí?@î?mí?€ï?ÀÚï?ð?@ûï?@ûï?€mï?ð?ð?ð?gï?Àþï?Àìï?ð?ð?€Ôï?ð?@Iî?ð?ð?ð?ð?@Ìï?ð?€÷ï?€¬î?Àùî?@öï?ð?Àaí?@yè?î?åí?@˜ä?è¡?Õ?€lê?€Ïï?À¨î?@ýî?€ãï?À¶î?€zî?€ï?@Jî?@bç?ðî?Ñï?ð?À˜ï?@¿ï?Ÿï?@¿ï?€¼ï?ð?¯ï?Àïï?ð?ð?ð?ð?ð?@·ï?ð?Öï?ð?ð?ð?Àïï?®ï?€í?Àí?»ì?ÀÈè?€8ì?€Èã?€¾à?€ví?Øí?@õî?€Úí?€Yé?@å?€ïé?ðë?ÀNì?À=ï?ð?ï?ð?ð?@ªï?Àôì?Àùï?ÀTï?@aè?€¦?Ѓ?~¾?À…å?@=ï?“Ð?@”?€ÈÖ?@©ë?ÀÎí?€Bî?ÀEí?íî?ð?©è?_Á?À­?Îß?@,ä?@úë?€rï?@íé?€Û?hÄ? Ù?›â?´í?Àí?@Šì?ð?ð?ð?ð?ð?ð?ìÕ?7Ò?Àbï?À¿ê?Àsî?í?ç?@×í?Àòì?€Rë?Àà?€V?®±?¼Î?‘?4¡?€ÿâ?ð?ð?ð?@éï?€-ï?@.ê?ð?À[ï?ð?ð?ð?€ä?Ê?Àwà?ð?ð?Nï?ð?ð?@éï?ð?ð?ð?ð?€lï?À§ì?ÀËä?€%í?€‰í?ð?ð?ð?@ˆï?@Åî?ÀÊî?ÀÍï?@êí?@Nì?@­ï?@ßï?@¥ï?@Ïî?ªî?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôâ?€Iß?@©ä?À¾ï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?ð?ð?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ví?yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ýì?ð?€–é?@Ëç?Àoæ?Šë?@ î?ð?@=ï?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?@êï?Àgï?ð?ð?ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?À‘ï?€•î?ìë?@“ï?Àôï?À˜ï?À#î?gí?òî?€"ï?¢î?iî?në?€³ë?¡í?Àgï?€ï?€Éï?ð?À™ï?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?@¥ï?ð?@nï?ð?ð?ð?ð?ð??ï?@Çï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?€Jï?ð?ð?€Òï?€Òï?€Žï?ð?€ãè?òê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?@¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›î?Àë?À'ê?@Áè?@šè?Sæ?ˆæ?ÀHè?À÷ç?@uæ?Øë?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?€°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?À‘í?@ï?aï?ÀØî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¦î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?¯ï?ð?ð?ð?ð?ð?ð?±í?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ï?cî?ð?ð?ð?€Ïï?€Áí?@áî?€°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðî? ©?$©?@dè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&â?Àå?€‘î?Àìë?@âê?À'í?ð?ð?ð?ð?ð?ð?Àï?€ää?€ØÐ?`”?(á?ðê?ÀBí?¾Ú?¸Ã?г?8Ÿ?YË?@æ?ÀSî?Àï?éÞ?€¯Ñ?X©?€â?Ié?€zÝ?€4æ?€eë?@ºî?€ßï?@ßï?€Rï?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀPï?ð?ð?Àßï?ð?ð?ð?ð?ð?¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?€Ôï?Àgï? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºî?é?À…ì?Àbí?À0î?¤ï?xï?@¿ï?€:ï?Àï?¸í?€­ï?¤ï?€Vì?€:î?€xï?€Šì?€wî?ð?ð?ð?ð?€~ï?ð?À³ï?ð?€>ç?’ç?€ ï?€ãê?€ Ó?tÉ?€æ?@çî?Àïï?žï?€è?—é?@•é?€ñê?Þï?€“ï?@¿ï?Àôï?Àôï?Ÿï?ð?ð?ð?ð?@¤ï?Àˆî?@ñî?€”ë?ÀÁî?ð?@^ì?ð?ð?ð?ð?Àïî?Sï?×î?ð?€8ï?@éï?@ßï?€ ë?Àè?À¤î?€Òï?@ñî?Z¶?ßÇ?÷ì?@ï?ð?@Žï?î?@;î?ð?ð?€“é?@Ëë?ð?ð?ÀÒî?@nï?À:î?Nï?aï?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?À<ï?@éï?ð?ð?À¥î?@Yî?À³ï?ð?@=î?€åë?Àaê?€pè?õè?@mï?½î?@‘í?€“ë?€¼í?@éë?@Èé?‘ç?ñí?@‰ï?€Ôï?@Ðî?€Òï?ð?ð?Àî?À³ë?€í?€å?×å?€}Ý?P?q?€àç?À`ê?€è?H•?¢±?ä?€î?Àäí?nì?@êï?ð?ç?î¸?à?v²?&µ?…È?ž?`?ŠÇ?€æÞ?Àñî?”î?€Ëè?@£ï?@ï?€‹î?À™ï?À»í?Àwï?ˆÀ?€«å?€–ì?À^ë?Àrà?@Òì?~æ?Èë?@œí?®é?ÂÖ?—?<±?öÅ?CÔ?äÀ?A?4ê?ð?Ÿï?ð?@¿ï?ð?@Àï?øï?tï?ð?ð?ð?Àjí?@¬à?Ÿ?@'í?íî?ð?€ßï?Œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?@¯é? ï?@àï?#ï?Àñë?ðï?Àûï?Àë?À ï?ð?ð?ð?ð?@ýí?ð?ð?ð?ð?ð?ð?€Ãí?@³ë?€€ï?ï?@×î?À’î?ð?ð?ð?€ï?è?Àìî?ð?ð?€Êï?ð?ð?€¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?@Àî?€ì?€ë?€ñê?¹ì?ð?€âä?@ ï?ð?ð?àï?ð?ð?ð?ð?ð?ð?ð?@:î?€öï?ð?ÀPî?@4ï?ð?ð?€ßï?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?€~ï?Àûï?À„ï?@Tí?À&ï?ð?@/ï?€lï?À”ï?Àáì?ÀŒî?Ààî?dí?À§î?@ÿï?€ë?Øê?@\ë?Àmí?€-ï?€©í?@Ìî?@Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?>ï?ð?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?€Œï?Nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sê?ð?€Žï?ð?€šï?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«î?ð?ð?@Ïï?Àïï?ð?ð?ð?ð?ð?ð?ð?€\ì?À8í?ð?ð?€9ï?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?@Wé?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?À¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?@¿ï?ýï?À´ï?€Žï?ð?ð?óï?Àûï?ð?ð?ð?ð?ð?ð?Àêï?ð?€þï?ð?Àžï?ð?øï?ð?@ ï?€Yï?ð?ð?ð?ð?ð?ð?ð?@¼î?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@Ýí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àqî?Àûï?ð?ð?@ùî?À8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cå?”?ÀÀà?yÞ?Yè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?€Ïï?€ƒÚ?@Ÿ?˜±?8?`r?ï?€Ûî?€•ï?ô¹?^·?mØ?€-í?ð?ð?ð?€Ú?wÊ?À®?M?~Ç?€aÕ?Iß?€^Õ?¶·?às? ä?@„è?@¸ï?^ä?€Èê?Àî?€{æ?@/á?ð?@Sá?€îÖ?{ã?ýì?€Ñï?àï?€ªï?ð?ð?€ßï?ð?@¯ï?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?€©ï?@îï?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?€Ùî?Œë?9ë?@Ãî?@@ï?€î?€ï?Àµï?Wî?€Üì?@Ûè?@Òê?À–è?uï?@ï?€œï?€é?­é?ïì?@šï?@úï?ð?€þï?ð?@‡í?@ƒî?€ôï?À;î?@@ï?@Äì?Àçå?€Ü?€"ä?»ï?Àñï?Ðî?jì?@á? è?ÿì?@Ýî?€ßï?ð?Àßï?@ í?ð?ð?™ï?@¿ï?ð?€sï?ì?ìì?Eï?À$ï?€ªï?^ï?€®ì?ð?@ï?ð?ð?À×ï?@‡ì? í?Àýï?ð?ð?ÀAï?€ ï?@ýî?Ðï?Àøï?Àßï?€¯Ò?TÈ?@?î?ð?@œî?Ëì?@wî?ð?€nï?Ìí?À™î?Àïï?ð?¯ï?ÀMï?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?@Àï?ð?ð?ð?€Õï?@ ï?´ï?Öì?@Uì?ë?ð?€Ìî?@)í?@3ï?€Mï?€Iï?€€ë?€tî?¡ì?ÀÑè?À0í?@œí?@Sï?î?Àšï?ð?ÀMï?ð?À$ï?ÀÃí?@ê?¯î?€«î?Àç?€¨Ô?Ì£?àx?0’?Aà?À¹é?`à?P?ä¥?µâ?àï?ð?@®î?@¦ï?¡ã? ˜?Pƒ?€Aà?@´í?À8ì?À‹ç?òî?€Tì?€,í?À¼î?€uí?ÀTï?€–Ý?@ìë?@9î?Lë?€|ì?@Èì?Ñé?í?@wî?@4â?–Â?ñÑ?@Äé?lâ?l¡?[?Xœ?\·?ð?ð?ð?@Ðî?ð?ð?ð?À5ï?ð?Àßï?@-î?ð?ð?@Âï?€’ã?@‘ë?ð?ð?ð?ð?ð?ð?ð?ð?ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{î?@Åî?Nï?ÀÞí?@´í?Eí?äî?Àmî?Àî?€3ï?ð?ð?ð?ð?oë?¡ï?ð?ð?ð?ð?ð?ð?€Qí?ð?ð?ð?@tî?@7î?ð?@×ï?@7í?÷ç?dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äî?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»í?ð?€Qç?ÀEì?ð?ð?ð?ð?‰å?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nî?ð?ð?ð?@%ï?€_î?ð?À5ï?ÀÑï?ð?@ýí?Àñê?Àì?€¤ë?Eì?@Šë?€qì?øé?§ç?À‘é?Àžï?€î?€ðï?@‘ï?@Íî?À~î?î?ÀÚî?€€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âï?ð?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?áï?¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñë?€î?€qï?Àì?€[é?@ré?@Ãë?Àµì?Àtì?€“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?@Øí?ð?ð?ð?^ï?Àyï?@Mï?@šï?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âë?(Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?@î?€%ï?ð?ð?ð?ð?ð?Ÿï?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€ï?ð?ð?@Üî?î?€Uí?@°î?À‚í?@öî?@µï?ð?ð?¡ï?ð?ð?7ï?ð?€Ïï?@Åî?€ ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rî?€Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âï?@Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£ï?@ñî?ð?ð?@î?@Bî?wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üí?‹Ñ?“?xÓ?<²?fØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îî?úí?Hæ?ˆÌ?ÀÜ?@¬î?3Þ?áÀ?˜·?ð?€ðï?ð?@<ê?˜à?É?€gÚ?ð?@[î?üá?®?\³?€ùå?€U×?dã?ÀXì?À]á?€ªç?¼¥?¡Â?@Jë?@ÿî?€Ôî?@Žå?@é?€ÞÔ?mÔ?Àžï?@Gã?„Ý?Ù?1æ?€aë?ð?ð?@×ï?ð?ð?ð?ð?ð?€òï?€Uï?Àlï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?Àßï?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?áï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?ð?Àäï?À…ï?@ùï?ð?ð?À‘ï?À5ï?À'ï?ð?€bï?À—î?2ï?è?ûê?Sì?ï?€üî?ÀTí?@Dï?½î?@í?À•ë?À(í?÷ì?€/ì?À8ï?ð?À_ï?@ ï?€Õï?€!é?@£ì?µí?€ùí?€Tì?¨ä?‰ä?æ?ð?€ní?€ é?òÞ?KË?€üÒ?€+æ?@Žï?ð?Àï?ð?ÀÆî?ð?Àì?ÀŽí?ð?·ï?@Çí?€Jî?€Ïï?Àœí?€gï?ží?˜ï?€~ï?€ ë?€žî?ð?€¶ì?Jé?À®í?À!ì?@Šï?ð?¯ï?Àdî? î?€„ï?ÀMï?“î?ð?€à?Àiá?@¿ï?ð?€Ýî?€sï?ð?ð?Àï?€pí?@¿ï?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?@£ï?À€ï?ð?ð?Àßï?ð?Àäï?€‡ì?@Pî?€áî?ð?ð?@¼ï?ð?ð?€Kî?€*î?ð?áï?À[ì?Ãî?€í?Qí?ð?¯ï?-ï?ð?@×ï?ð?ð?Kî?Àmï?@¿ï?ð?@–î?@’î?€Žä?€õÓ?@p?K?,ß?²Ë?zÖ?@æ?Åé?€{î?ð?@kï?íé?€ƒÝ?@„?x–?xÉ?nÌ?@Ôí?@·í?@aí?ÀÙî?€/ï?@é?@í?@¿ï?ð?@ùî?À¤î?€Rí?Àfí?Àiî?€¬ï?@Uí?Èë?€„ë?€ëë?¼Á?l¶?€Ší?@ç?|²?€Y?¿Ð?€iá?Pµ?ð?ð?ð?À>ë?ð?ð?€~ï?À=ï?Nï?ð?ÀÌï?@¿ï?€Œï?€Œï?ð?@Mî?ð?ð?ð?€Ïï?ð?ð?ð?ð?€|ï?À¿ï?ð?ð?ð?ð?ð?ð?ÀÌï?ð?°ç?€>ì?€ví?Àrï?ð?Àþí?€ë?˜í?¯ï?€«ï?@¿ï?ð?Àßï?Àßï?¯ï?@î?ð?ð?ð?ð?ð?€Ùï? ï?ð?ð?ð?ð?@Nî?À¿ï?@6ì?€{î?€Àî?hì?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?€ï?À>ï?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸì?À8ï?%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïí?@Åë?ð?ð?ð?ð?ÀRï?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?Äê?Àïï?ð?€nï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýí?ð?ð?ð?€Çï?ÀÌï?ð?ð?ð?@àí?À·ë?žî?€Šî?ì?€˜î?ð?ð?@±ì?©å?@=ï?@æï?ð?ð?ÀÌï?€Àí?@ðé?À†ï?€Oï?@lï?‰í?@4ï?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜî?€ïì?>ï?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?>é?@½æ?Ní?ÀŒï?^ï?ð?ð?Çì?€;ë?³ï?ð?ÀÝî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðí?Ÿï?ð?ð?ð?sï?€ýî?€ñî?—ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?€Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsè?€ºí?¯ï?€>î?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fï?@ï?@Óî?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýî?ð?ð?À´ï?€æï?Bî?ð?À-ï?€|ï?ÀŽï?ð?€Çï?ð?€~ï?ÀDë?€Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rí?À¿ï?ð?À î?€Çï?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýà?¼µ?è©?@ÿë?@Bì?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?@?ï?ð?ð?@Dï?€cî?À’ì?@`ï?À î?ð?ð?¯á?Ò?@óï?ð?ð?Àà?Oë?@ï?€»å?Àií?ŽÄ?˜¶?N¿?éÅ?À~ç?À¿æ?€ì?Àéî?Àêî?@Iâ?p€?€<Ñ?€Êí?è?À±ê?Àüæ?‡å?eÒ?@òî?€/ï?GÕ?ì£?€Ÿß?Ãé?Àïï?ð?@§ï?Àßï?ð?ð?ð?ð?@íï?ð?•î?³ï?¦ï?ð?ð?ð?ð?€Íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œî?œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?À’î?À7î?€öï?ð?ð?ð?@?ï?@¿ï?@Ñî?Æï?ð?Àßï?Ÿì?Àã?€áì?€í?@Œî?Eî?@ºî?À›í?€§î?¦ï?ð?À)ç?lé?@iâ?€üí?ð?ð?ÀHï?€|ï?@þì?„ï?ÀÞî?@|í?€uí?Lï?Àè?ð?ÀUì?]Ô?>½?x½?ÀÊ?%ì?@ ë?€¾í?@ˆé?ð?ð?ð?ì?¹ï?@›ì?€ï?€£ë?Ànï?€Qì?À˜ï?@Uï?€®í?€œí?À=ï?ÀÜë?Ÿï?ð?@ ï?%î?@òí?lî?Àoê?ð?ð?ÀÏî?€ßî?ð?@^ï?Ÿï?€’ï?€;ë?°‰?ø³?@Ñî?ð?@¬ï?ð?ð?ð?À–ï?À´ï?€Ïï?ð?@ ï?Àdï?€ï?ÀÌï?ð?ð?ð?€ßï?ÀÌï?ÀÌï?À4ì?À-ï?ð?ð?€|ï?ð?ð?@™ï?ð?ºï?sï?À÷î?ÀHï?ð?Àúî?@aï?ð?ð?€þî?€,ì?@ºí?@ï?À[î?ÀŽï?ð?ð?ð?@nï?Íî?ð?€-ï?ð?ð?€àî?€²í?€ßï?ð?ÀÜî?ð?½å?€wÓ?ܲ?kÅ?ʱ?¨¡?ÑÉ?Àýá?@Êè?€6î?ÀÖí?@ï?Aî?€Óæ?Ñ?Ú°?€zÖ?€Òà?ÿÔ?€Û?€òÐ?¤Ö?rÕ?0’?xâ?€Lê?€HÑ?@u?€Øè?ÀAì?€}í?@Zï?eî?€Ìî?€î?@äí?>ï?Öî?@¼î?€Në?èì?€xç?@çî?À^í?Ãí?@“í?ê?l²?@„?é?ð?@-ä?_ß?Àê?À—ï?@:ï?€Ó?F? {?€‘ï?@8ï?€‹î?ð?ð?ð?ð?ð?ð?ð?>ï?>ï?‘ï?Àáï?¼î?Àéí?ð?ð?ð?ð?€Áî?ÀŽï?ð?ð?ð?€äï?ð?ð?ð?ð?€Žï?ð?€òï?@¿ï?€‘ì?@‘ï?ÀWï?Ûï?ð?@¯ï?æ?€âï?ð?ð?ð?ð?ð?ð?ð?À~ï?ð?€úï?ð?ð?ð?@õí?€âï?ð?ð?ð?ð?ð?Àdì?Àî?ð?ð?€ì?Pí?‡ï?@Òï?aî?ÀÄî?€êï?€´ï?ð?kí?äé?€Þï?Àaî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?À€î?Àë?À/î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Iï?–è?ð?ð?ð?ð?À¾ï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?Àüï?€úï?€¿ï?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?€ßï?ð?@Òï?ð?ð?@¿ï?ÀKí?Àüï?@Îï?îí?€lí?3î?‰í?€¦ì?ð?€èï?Àïï?€Óï?Õï?ÀÌî?4ì?€ƒî?À•è?ÎØ?@ìì?@¿ï?Ÿï?€öî?€„ï?@{ì?»é?€é?À{î?ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?€=î?€#ï?ð?¯ï?ð?@¿ï?@í?€%ë?âî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€êï?ð?ð?ð?ð?ð?ð?ð?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?À'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ì?è?@_ê?—ï?€æç?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âí?€æï?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?ð?ð?ð?ð?À®î?€Ãí?©í?ÀŽï?ð?€‹î?ð?ð?ð?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?íî?Àïï?@Êï?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Kî?@ïï?@¹í?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?÷ê?“?Àá?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?@­ï?ð?ð?@ùï?€¦ï?ð?ð?ð?ð?€¤ï?iÆ?€y?€PÒ?\ê?ð?€Íä?€lá?Àüï?€ï?@¡æ?€—Ó?[?àz?€Ü?ÀÝî?@ á?Àšç?€yî?ð?Àpî?@î?@×í?œß? ?—Ý?Àdî? Ü?©æ?@Ní?ع?Jç?aï?±á?˜©?À‚ä?@‘ç?À%ë?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?€’î?À§ï?ð?ð?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬î?@úê?Ûï?ð?ð?€òï?¤î?€Íï?@^ï?lï?@ùï?ð?ÀBî?@dî?Àûä?@¨ì?±í?@ï?£í?Yî?@Èí?Àgï?À¯ï?À©é?À7ä?KÐ?_Ä?Àì?ð?€-ï?@ï?ð?€ï?î?ÀÁí?ð?@¿ï?@Qï?ÀMí?ð?sè?à¸?€s?ÇÀ?@íè?€Æì?Àºì?€eí?Àuë?øï?@œî?Àïï?ÀAì?€ï?À£î?@<ì?ÀÛî?€qá?à?öï?€wï?@Cï?ÀŽî?€¶î?ÀÍî?€Žï?À=ï?€Ïï?€Gí?€Øî?À£ï?€Âî?@î?€úï?ð?@Jï?@ýï?ð?{í?ÀÛï?Àüï?ÀÓ?ðˆ?@x?H–?Åç?ð?€òï?Àßï?¯ï?ýî?²ï?iï?€2í?€Ìî?´î?À#î?€ï?@íï?@ýï?€úï?ð?@õï?@qï?@ï?@õï?€êï?@¿ï?Àßï?ð?ð?ð?ÀÄï?ð?ð?ð?€Ïï?ÀËí?ð?Àï?ÀÞë?ÀÞí?ð?€Íï?À„é?€Oç?@yì?@îë?Àƒï?ð?ð?ð?ð?€ßï?€úï?€[í?@ï?ð?€ ï?@ï?€ßï?@;ï?—î?€#ê?pá?€ÞÕ? ¢?@`?ÂÉ?ØÜ?€g?è¦?fÓ?Àæè?[?@‚â?Àíë?§ï?@‘ï?Àøí?€æì?À6ä?Àã?@Àì?€Ãï?ð?ð?ð?ð?ð?€uï?'Ä?œÜ?ð?ð?€ã?€{Ú?ÀKê?€Üë?@ðì?@Rî?@^ï?@±í?€ÿí?@3ï?@<ï?@÷ï?€.î?@oí?@Oî?€‘î?@í?ië?ÀUì?›ì?8³?˜’?€¶ë?ð?€2ç?H¨?È?@¼î?—ï?ð?€Ïï?€kï?²×?8í?-í?€…ï?ð?ð?ð?ð?ð?ð?ð?€í?ð?ð?ð?@^ï?@ ï?ð?ð?ð?@¦ï?Àöí?ð?ð?ð?ð?€çî?ð?ð?ð?ð?ð?ð?ð?Àžï?€Òè?ÀEî?çë?ð?ð?ð?À5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?„ï?ð?ð?¸ê?@Ÿé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òî?€]ì?@Pí?€rë?À,ë?À¸ê?@xë?Lè?ç?²Ø?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?€áì?€•ì?7í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ë?€:î?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþí?rí?$î?ð?ð?Àïï?€îï?ð?ð?@eï?ð?ð?ð?ð?ð?Àïï?¯ï?ð?ð?ð?ð?@Ùê?Éî?€|í?8ì?€Úê?À­ï?Ÿî?í?í?Àgí?@÷ï?€Ëï?çï?€îï?Àï?À>ï?@(ï?@ ï?ð?ð?Àôë?€dí?Êï?@ï?@ï?€Ëï?€±ì?@Mí?€Îé?Àï?@ê?€ç?€ƒë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡ï?€Ùê?Àðî?ð?ð?ð?ð?ð?À»î?@«ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?”ï?ð?ð?@¿ï?ð?ð?ð?ð?<î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?Vï?ð?ð?ð?ð?ð?ð?ð?@Ôï?ð?ð?À†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£å?@œæ?@é?@˜ä?3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cï?ð?ð?ð?@×î?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?€Pî?Àžï?À÷î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œî?Àì?€ î?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€?ï?€Òí?Àsï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|è?Ü ?À³à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?Ûî?ð?ð?ð?ð?€Ëï?ð?ÀYï?€Õî?@î?Àøì?€Ñ?à…?€ÜÝ?€‘ï?ÀÉí?î?5ì?®ê?@øí?¿Ö?š¿?€ŽÑ?ð?ð?ÀÉë?aê?ð?Ýï?€Ší?@‰å? Ô?¹?¶?À7ç?@¢é?@Gé?¹â?t²?@8á?5í?À¢â?@`?Ó?»î?@Vî?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?€çî?Àìî?ð?ð?ð?€wí?ð?ð?€Ïï?ð?@¿ï?ð?ð?ð?ð?ð?€:î?ÀÍê?À¦î?ð?ð?ð?€¼ï?òí?ð?ð?€¼ï?@¿ï?ÀMï?€ýì?€Ìî?€Oë?ÀÔæ?@ î?€Ùî?€í?zí? í?@~ì?€„î?ÀQà?ŠÎ?WÅ?ÓÙ?ÀTë?Àgï?ÀÞì?ì?ð?ºï?@àî?Àwì?ÀXï?À¶î?€¡ï?Úî?@Qí?€óÚ?€óÔ?NÃ?¼ë?€Ëï?@vî?>î?åî?‘í?€×ï?À­ï?ð?iï?åï?Àÿî?Âï?;ï?MÜ?€|á?€Ëï?€Âì?À+ï?êí?™ï?@`í?@2ï?ð?ÀŽï?Nï?¤î?ð?ð?ÀEî?›í?ð?ð?€òï?ð?€ôì?€ï?ð?À0å?[?€q?Ë×?ð?ð?ð?ð?ð?€Ëï?ÀÄï?@ ì?@iê?ÀPï?ÀÂï?ð?åï?€¡î?@Cï?€Žï?Êï?€Ëï?ð?Êï?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€)ç?ð?ð?ÀIî?€áë?ð?ð?ÀÂï?€ì?!é?@/ì?}î?ð?À˜î?@¢ï?ð?ð?åï?@-í?@¢î?À5í?ÀÂï?ð?@{î?ÀÂê?€ré?€.æ?€.ã?€ÚÝ?L³?,«?ŸÒ?€ØÕ?€Oè?@zé?ž¾?@ä?€•ê?€~ï?@Åí?@÷ï? í?ë?@¿ï?@¿ï?ð?ð?ð?ð?ð?ð?€ƒì?n·?‚¶?€5í?ð?ð?À:ä?€”Ù?4£?à‹?Gì?€nì?€’ï?ÀAí?6ì?ÀBî?À™î??ï?ÀXê?Àì?…ì?$ï?Àõë?Ìî?@rî?Àoï?@6ì?€ÇÞ?€lÖ?@`?0?À$ì?@ï?kÍ?€Oæ?ð?@zî?€9í?ð?@^ï?€ýé?æµ?:ì?ð?À—ï?Ÿï?ð?ð?ð?ð?ð?@nï?@nï?€Óï?@ñï?ð?ð?Nï?íî?ð?ð?@­ï?\ï?ð?ð?€Aí?@î?@Rî?€{î?ð?ð?ð?ð?ð?€‰ï?@ë?¾ã?€Üí?@«î?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ é?@Bê?€øï?ð?ð?ð?ð?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?3î?Ùã?ÀZá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒâ?À}é?©ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼î?ð?€?ï?ð?ð?@€î?€î?ë?ð?ð?€âï?ñï?@ï?ð?À—ï?@Nï?ð?ð?ð?ð?ð?ð?€ßï?¯ï?ð?ð?ÀTï?€üí?À:ï?@Gî?uê?@íî?Àúì?€8ë?€2ï?%ï?€ ì?€gï?€“í?Þî?@lï?€rï?ð?ð?ð?ð?Ìï?€°ï?ð?Îî?@\ï?@Óï?@Fï?Àcï?À_ï?@Óï?Rï?@è?À&í?3ê?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀGé?@ê?@Nï?ð?ð?ð?ð?€øï?bë?ð?ð?ð?ð?ð?ð?€rï?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?€gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ã?€Óê?€rï?@mä? á?@(é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€dî?ð?ð?ð?ð?ð?ð?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ï?@˜ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wí?[î?€Gï?ð?Ÿï?ð?›î?@rî?€fï?ð?ð?ð?ð?ð?ð?9î?ÀTï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€?ï?>à?ø¾?¬¡?Dì?ð?ð?ð?ð?ð?ð?ð?€âï?ð?ð?ð?€øï?ñï?ð?ð?ð?ð?@rï?ð?@Rï?ÀTï?€¸î?€Éâ?€’? }?xŸ?Kå?@kï?ð?€˜ï?Qí?ð?ð?Àíç?®²?nÑ?9í?Àµî?À ï?—ì?ð?@ì?€èÝ?¼Ø? r?@f?@¿ä?@zé?€/ï?@Gè?ü·?ÀÉå?€Šë?6Å? p?OÒ?ºæ?ÀÎî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥ï?ð?@ñï?€«î?€âï?€°ï?ð?ð?ð?ð?ð?ð?À:î?ð?ð?ð?ÀÄï?§ï?ð?ð?ð?ð?ð?@^ï?ð?ð?ð?€-ï?€Ïï?Àzî?À’î?fí?Ñè?fî?½ï?€>ï?áï?@Zí?@è?€ßë?€Þ?Àé?€ùé?õì?Àuê?À€í?@ÿì?€yî?Àžï?î?@Þî?6î?Àüê?‰í?Àzï?ì?@pê?@iá?ô¼?@–?€&Þ?Àí?bî?@(ì?@óæ?Àßï?Àïï?€Àï?ð?ð?ð?Àžï?í?@Íì?€‘×?©Ð?€¥ï?ÀÐï?€îë?À²ë?ÀÚï?@çí?Žï?…ì?À=ï?Àïï?@)í?ð?ð?ð?€ï?ð?ð?@7ï?À­î?ð?Àï?ð?€gæ?š½?ÀÓ?ÅÈ?¨?±?0¡?D»?@ï?Àßï?ð?ð?ð?ÀMì?€Hê?€Væ?€:î?€cï?@‹ï?ð?Ÿï? ï?@¯ï?ð?ð?@˜ï?ð?"ï?ð?ð?ð?ð?ð?ï?€âï?€Ìî?ÀÄï?ð?€¤ï?À ì?5î?ÀÜî?·í?_î?ð?ð?@–í?·í?€pí?€õê?€øí?ð?õê?@Mï?ˆî?ð?@[î?î?€»î?ÀÈì?ÿî?ð?€Ìî?ð?íî?¶ì?”è?ƒÐ?h±?óÀ?€»Ù? ‚?ŸÎ?@Wî?@Ïà?€³Ù?5é?Ÿï?áî?À˜ï?À|ç?Àï?ð?ð?ð?ð?ð?ð?ð?ð?€ºÔ?˜®?çÎ?€ùÛ?BÞ?@3ê?€1ì?À%ï?€íï?¾Ä?Ø“?6?€èá?ÀWî?À=ï?@ ì?@×ì?ï?7î?ˆé?€ˆè?€rì?@ë?{è?À!î?À²î?@˜í?¹î?ÀÚî?5Ý?Ї?ûÙ?Òä?€Ð?Àc?aê?@¿ï?€gï? ë?ð?ð?@Ôï?ÎÚ?C?p‘?€€Ý?Çï?ð?ð?ð?ð?§î?ð?ð?ð?ð?ÀÚï?Àûï?€þï?@¿ï?ð?ð?ð?Àöï?€Fï?»î?ÀŽï?À=ï?ð?@±í?€¥í?€·ï?ð?ð?ð?ð?ÀÚï?€Üî?@ÿí?€Èê?ä?€%ì?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?ð?¶î?@ûï?ð?ð? è?€ê?À“ï?ð?ð?ð?ð?€Ìî?Æè?ð?ð?ð?ð?€î?@ûï?ð?ð?ð?ð?ð?ð?ð?@åâ?Àûç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€gï?@oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€0î?@ûï?Îë?·é?€þá?ð?Àæï?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?­ï?ð?ð?€Ûï?@Ië?í?ð?ð?@ýï?ÀÃì?€ûê?ð?·ì?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ÀÐî?@Œï?îí?@é?¹í?À­ï?åï?@óï?Àíï?@‹ï?€Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?@Kï?ð?ð?Àûï?ð?ð?ð?ð?wï?ð?Àûï?À½ì?@dë?@óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?@ì?€Üé?€Ïï?ð?ð?ð?ð?À=í?@ï?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?Àµî?ð?ð?ÀÃæ?¯ï?ð?€þï?@´ã?À—ç?À(í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€¯ì?ÀYç?ÀTï?€Ïï?ð?ð?ð?ð?ð?ð?€§î?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Tï?í?ð?€‘í?@½î?ùï?€÷ï?€-ï?ð?ð?ð?ð?€Ïï?€ßï?ð?ð?ð?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°Ù?Ò±?à?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜï?ð?ð?ð?À~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sæ?0¢?€àØ?F?C?@Èâ?ð?ð?ð?@öï?€î?ð?ð?€Äé?0¡?€²Û?@Šå?ê?@që?€€ä?À0å?€$Ö?À1ä?¾Ó? í?Àïï?õÇ?À í?Ð?8¦?°? Ï?@Ná?€‰î?€ðî?ð?ð?ð?¼ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?ð?òï?€íï?ð?ð?ð?ð?ð?@bï?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ï?ð?Ží?À×ì?ôï?À§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?Àhï?ð?ð?ð?ð?@ëï?ð?ð?ð?ð?ð?Ûï?2ï?@Wï?ÀØì?€˜ï?À)ï?€¬ï?@hï?ßî?@Òí?@wé?ÀÕí?ÀÃï?À~ï?ð?ð?€éï?ìí?`ê?Àïî?À“í?Àï?Kî?€–ï?À„î?€Œï?çë?Àãë?:ï?Àè?¼µ?éÇ?€1é?À°ï?ï?ì?@‚î?@Öí?ð?À€é?ð?€íï?@ûï?œî?@6î?¿é?€ÂÓ?¯ß?Œï?_å?@ï?Pï?€ˆî?@Qì?Àûï?ÀŽï?Àöï?í?À´ï?€]ï?@Bì?Rî?Bî?ð?ð?yï?ï?Àïï?ÀŽï?ð?€àØ?Àš?8ž?^Ñ?€ôå?gï?Àïï?aï?ÀÀë?€­Ó? y?Hœ? ¿?5é?ð?¯ï?@ëï? î?€jê?@#ë?`í?ÀQî?À¼ï?€nï?‘ï?¯ï?nï?ð?ð?ð?@8ï?ð?šï?ð?ð?ð?ð?Àöï?@ûî?€¼ï?ð?€úï?Àïï?Fì?¬î?@Xê?€|í?@bï?À6ï?€ìî?ð?ÀRî?À¦î?Àˆì?Dí?€úï?ÀÌï?€™ï?€”î?€î?ð?ð?À¨ï?Àpï?½ë? ï?Àžï?€£ë?[î?^ï?ÀÕì?gë?À}å?1â?@p?¼µ?€Ð?€p?H¿?€¦Ú?€Û?€Jë?@î?…ì?Ní?5ï?ð?@¿ï?À€ï?ð?ð?ÀÊï?ð?ð?@Èï?`¹?p…?€Þä?·ç?€PÖ?€­ä?À&ã?=è?Àáí?@å?Ä?@jï?€¬î?@ï?Àšî?[ê?@ á?ÀÚã?@[ë?À£î?€å?€Ïê?ÀBî?Pî?@ î?@é?€~ï?€¾×?¯Ò?*»?¼Ú?@`?з?€yí?ð?@¿ï?ð?ð?ð?Òï?Àšî?€úá?qÉ?@­â?€èé?ð?ð?ð?ð?ð? ï?Àsï?ð?ð?ð?À£ï?ð?Ÿï?ð?ð?ð?@Íî?€Èï?@Uï?Àºï?ð?ð?@Mí?Àºî?@¼î?ð?ð?ð?ð?ð?@»í?À›î?@¿ï?À‘é?@\ê?€rë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìî?zç?€ôï?€Êï?Àtï?úë?àï?@ªï?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?€Ýï?€ôï?ð?ð?ð?ð?ð?ð?ð?'ì?@ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åí?@‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Šï?ð?ð?ð?€Êí?À`á?€õä?À9æ?Ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?À–é?ð?Šï?€Éî?Òï?Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?ð?ð?ð?±î?Àì?€ï?@¿ï?iï?€ï?ð?Òï?ð?À=ï?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûî?]é?þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?€ì?ð?ð?ð?ð?ð?ð?€"ì?€î?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Wï?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼î?ð?ð?ð?ð?ð?ð?†ì?À©à?Yæ?€éî?€Që?ð?ð?ð?€¿í?Îå?@Øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?@õï?Àsí?ÀÑî?ð?@ëî?éï?ð?ð?ð?ð?ð?ð?À¿ï?À"ï?ð?Àžï?ÀŽï?ð?ð?ð?ð?@Õï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºï?ÀIï?Bî?ð?ð?ð?€8ï?@]î?@ªï?ð?ð?ð?ð?@dï?ð?ð?Òï?ð?ð?ð?ð?€ï?ð?ð?ð?ð?Jï?SÞ?ø«?†Ü?Àyî?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?öÄ?@˜ï?ð?ð?ð?ð?ð?âí?€Jâ?IÅ?€tÔ?Dé?€9Þ?@ê?õÁ?Ê?€KØ?¸’?@&å?Àïï?LÝ?ëÂ?€?Õ?Ší?Àæ?€@Ü?€ŸÓ?@ªé?ð?ð?ð?@ïë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±î?î?€\ï?3î?ð?ð?ð?ð?ð?@jï?Þí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôî?À’ï?ð?€í??í?ð?ð?ð?ð?ð?ð?ð?ð?Íî?€êï?ð?ð?ð?ð?ð?@¿ï?@ƒï?ð?ð?ð?ð?ð?Ôï?€Ýï?€„ï?@ï?‘î?€ôï?+ï?À;æ?€¾é?˜è?@wé?èí?Åï?ð?ð?ð?”ì?@|í?Àòç?€ìí?Àeî?xï?À^ï?ð?ð?@öæ?€Áí?@¤å?@3á?@Æî?Ù?êÙ?ÀÏæ?€Ãê?ç?‘è?À­é?€¬í?íî?]á?@nï?Òï?@ì?2é?À°ç?Wà?€Èì?Àhì?€ê?Àá?@‰î?Tî?Àí?€Uë?@Nï?@Åí?@ˆï?€xí?@Ìî?Øê?À7å?@Ÿí?Àøí?ð?ð?Àºï?€Ýï?€êï?ÀŸï?Àlé?€å?Ôæ?Àeë?€Ýï?ð?ð?¯ï?ð?ð?@˜ï?@å?Ð?ª?€U?`u? p?Ö±?À è?ð?Àžï?@äï?ð?ð?€ôï?ð?€~ï?€±ï?ð?€Ýï?ð?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?éï?ð?ð?@ªï?àï?ð?@#í?À-ï?@æí?€ë?€ôï?í?Àï?ð?@Æï?ÀÜî?Sï?À¥î?ð?úì?€ôï?€ôï?ð?ð?ð?€î?ÀBî?@é?¾ï?ð?ð?@õï?ÀŸí?€Cë?@1í?À~ï?À’è?ˆ•? Ã?’¹?$Ð?J±?@‘à?Àîì?€˜ë?@9ë?@¨ï?À¢î?À¿ï?ð?€Ýï?ð?@Õï?€ôï?ð?ð?@öæ?€IÒ?€¼é?@Üâ?Þ·?@ëæ?À¸ï?ð?=ï?@µá?v?€'Ú?ßï?ð?€èí?€–ç?Àýà?@¾ï?@kì?@#ê?>ë?Àðí?@gï?ƒï?@Éï?À“î?ûï?ÐÏ?@bå?f?¨?\·?bê?€{î?ÀŽï?ð?ð?ð?ð?ð?ð?êï?@áì?@³ï?@øë?ï?úï?Àßï?€~ï?ð?@¡î?ÀXï?ð?ð?€+î?-í?ð?ð?ð?ð?ð?Àï?€ßï?ð?@Ïï?@•ì?ÿï?êï?ð?€ïï?ð?ð?ð?@*î?€Ýï?@æë?Àiï?Àºî?@qï?@î?À•í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Lï?@’ï?@Šë?@Oç?Àýì?±î?€ïï?Ôï?ð?ð?@pí?À-ï?ð?ð?ð?ð?ð?ÀMï?ð?ð?ð?ð?ð?ð?ð?ð?ð?žï?€0Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñî?@[î?ð?@Oí?@Óè?@^æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ð?ð?ð?ð?ð?€ˆì?€¶î?Hí?Àï?Ôï?Ãê?ð?€~ï?@Ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?Àî?ð?@Cï?@êï?@^ï?ð?@¿ï?ð?Àßï?ð?ð?ð?€~ï?ð?ð?ð?ð?ÿï?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€tï?€ºë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-ï?ð?ð?zï?üï?ð?ð?ð?ð?3ï?ð?@¿ï?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?¯ï?ÀÃï?€kè?À4ï?ð?ð?ð?ð?ð?ð?@Tì?€hí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sî?ð?ð?ð?ð?Ÿï?ð?ð?€‹î?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hí?@óê?Àµê?@¼ç?€àê?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ï?ð?ð?ð?ð?ð?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?ßï?ð?ð?ð?ð?À|ï?ð?ð?êï?€sï?@Yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rï?ð?ð?ð?ð?õï?Àkï?Áî?@}ï?ð?ð?ð?€ƒï?ð?ð?Àìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€á? ?CÞ?À$ï?ð?ÀÉï?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åæ?M?6Á?AÅ?Àýï?ð?ð?ð?@¥ê?Àµé?€;Ñ?У?jº?Jâ? Ú?è¡?`ž?€è?qï?À!æ?|©?€¬â?€„Ö?ÀÒã?ð?ÀÞë?Àå?€€ã?€iî?@îï?@þï?€‡í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?ÀFí?€öì?€Ùï?ð?ð?ð?ð?ð?ð?€í?€¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€Ïï?ð?ð?ð?ð?Àûì?@ï?€ï?î?Àüï?ð?Iì?ð?ÀMï?@¾ï?€Žï?ð?ð?@®ï?@ í?ð?ð?ð?ð?ÿï?ð?ð?ð?À½ï?ð?ð?ð?Àüï?Àßï?€eî?@¿ï?@nï?@Öë?@ƒï?€§ì?@ ë?3Ú?@Jé?cï?À_ï?@¿ï?ÀMï?ùí?@ë?Àcî?Àuí?‹ã?+í?€Mï?€ñî?ÀLï?@nï?@4å?€ôç?€Ùë?@Së?Ïî?JÛ?@»á?@í?@î?Fî?€Àì?Àí?À î?@¿ï?Àéç?õï?ð?Nê?±Ñ?@yâ?€ç?gí?@Ïï?Àwî?-í?ÀËì?€?ï?•ë?ÿï?€-ï?À’ï?À ï?cî? î?ÀYë?`í?€ê?êï?Ÿï?ð?ð?öï?@´ï?@xí?Ÿë?Àïï?ð?ð?ð?ð?@¿ï?ð?ð?ð?Àîï?ð?Ôï?ÀŽí?…å?\Û?D°?l¿?z¸?T?àx?tå?ð?ð?@¯ï?ð?ð?@¿ï?ð?ÿï?¯ï?@ýî?€~ï?ð?@¿ï?ð?ÿï?úï?ð?ð?ð?ð?ð?Àìî?€-ï?ð?ð?ð?ÀÐï?@Ïï?¯ï?ÀÆí?Àüï?ð?€jí?@}ï?€î?Àï?ð?âï?@°í?@þï?Ÿï?€Ÿê?@¦î?@sì?ð?ð?kî?€æì?@Yí?€î?€4é?=é?Ìï?ð?Øï?À£æ?€ëé?@òí?aê?™ã?x²?`š?Àu?^°?Ø–?€„ä?Âì?€çê?€ï?@î?€Oí?@Jî?ð?ð?ð?êï?ð?ð?©ï?€„Õ?ÌÉ?üà?Òã?^ë?@ á?ð?ÀÑï?ÀËë?@¸â?8¢?_?€üè?@Øï?ð?@_ï?@Áì?îë?@Ié?@hì?@Šè?Àë?€é?ßï?€”ï?ð?€¿ì?€OÝ?­Û?Î?@ìï?ð?ð?ð?ð?ð?ð?€£ï?ð?ð?ð?ð?ð?ð?À7ê?@cï?ÀÑî?‰ï?€jï?ð?ð?ð?þé?@€ì?@Âï?À/ï?ð?Àïî?€Ïï?ð?@ìï?Àdî?Åî?Àî?@Çê?¸ï?ð?ð?ð?ð?ð?@¿ï?@Pï?Àºî?@Bï?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?@®î?À}ì?Àé?Öè?€Áï?ð?ð?€~ï?ð?ð?Xê?ð?ð?ð?ð?ð?ð?Ÿï?Àïï?ð?ð?ð?ð?€Fï?ð?ð?ð?@‡ï?Â×?À^î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðí?Àôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£í?úí?ˆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?ð?ð?ð?ð?€@ï?€Žï?ÀËï?À“í?Ÿí?ð?ÀDï?Àžï?ð?ð?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?€åï?ð?ð?ð?À.ï?ÀÊí?ð?ð?ð?ð?ð?ð?ð?Àòï?²ï?ð?ð?ð?ð?€åï?@ÿî?@ãí?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?@áî?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“ì?@dí?À¤ë?€Žï?ð?ð?ð?ð?ð?ð?ð?Àžï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@cî?€oî?ð?ð?ð?ð?€-ï?ð?ð?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?@¾í?Àõí?€•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?Ðí?ð?ð?ð?ð?ð?ð?ßï?@µî?ð?ð?ð?Àžï?ð?§ï?ð?€¸ï?ð?@Ñï?ð?ð?ð?ð?Ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?ð?ð?ð?@cï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?€£ï?€¸î?@=é?ˆ§?€ËØ?ð?ð?ð?ð?@¢ï?ð?ð?ð?ð?ð?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À»ê?„Ý?¨Ô?€ž?­Ý?²ï?ÀJî?Àï?ð?À{ï?Àôì?:Ü?x¥?_? ‹?×Ð?€{Ò?€Ïé?ÀQë?—?€ì?Àéè?Àwç?ð?@å?€5ë?Àìâ?!á? ì?@àì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ƒï?@ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?@î?@;î?Àâé?’ï?ð?÷ê?ð?À±ë?@Áî?ˆï?ð?ð?ð?@rï?ð?ð?ð?ð?Ààï?ð?ð?ð?@Ñï?ð?€åï?@Øï?ùî?€Rï?ð?À¦î?€î?\Ø?Àè?ÀEì?@2ë?Àdé?Ôë?Àöî?€ÿî?²ï?ð?€ðï?@ñî?ð?@é?@ ê?@’í?ð?À¦î?Àí?€´ë?@Fí?ýê?ÀÈí?ÀOæ?@Oæ?-Ù?ÀÀé?@Šï?@Œî?À(ì?Àðî?€7ï?€£ì?ð?²ë?‡î?Àžî?ûæ?Àç?€è?Àî?ÀNì?Dí?@ìï?ÀÎî?Êê?ÀGî?€í?€`î?@í?xî?ð?Àcï?€ðï?aï?@Eë?€sï?@Þî?ð?ð?@kí?Æî?ð?ð?@ï?ð?ð?ð?ð?ð?ßï?ï?€«ï?ð?€oï?€ï?€Äï?ð?ð?ð?@hç?¸²?€¤?޽?x’?àv?x?À=ä?ð?ð?ð?ð?€ßï?@¿ï?ð?@8ï?¼í?€~ï?ÀÈï?@oï?€+ï?ð?€Ðï?À3ï?ð?ð?€Ïï?€Ïï?ð?ð?ð?Àòï?À¤ï?€Ïï?@¢ï?ð?ð?@ìï?@¢ï?ð?€Xì?uë?ð?ÀKï?ð?ÀIí?bè?@Ñï?ð?Àžï?<î?€íî?xï?ð?ð?Àßï?@Ùí?Àzí?€åï?@ î?@îí?À®î?Ûì?ê?€´è?@Yæ?€ Ö?@bæ?·?p©?°?#Æ?€­â?@‚ç?€í?€ââ?ÀŽï?@’ë?)í?@…ì?@nï?ð?€åï?€Ïï?ð?ð?@á?@ã?sÜ?ÀÏà?À÷é?ÀSå?Àæï?À î?À£î?À@è?âµ?â¾?ˆ›?€‚é?Žï?@¿ï?@£ï?Àží?@†è?€Rê?€Ü?€Ãê?€Çí?@cí?8ï?ð?ïÖ?€$é? Á?€ë×?€.î?Àßï?ð?ð?ð?ð?ð?Àðî?ð?ð?ð?ð?ð?ð?Àìï?À©ï?Ïë?À@î?@ãï?Àžï?ð?ð?ð?ð?Àìï?À»í?ÀBí?êî?€²ï?Àïï?À¯î?ÀÛí?@ªî?À•î?À$î?€Æï?ð?ð?ð?ð?ð?ð?@ì?€_ï?ð?ð?ð?ð?ð?€Uî?ÀÆî?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?@é?€óè?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?€Æï?ð?ð?ð?€Æï?@í?ûì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?&î?hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žï?ð?ð?ð?ð?ð?Àìï?ð?ÀQï?€ï?´ï?ð?Žï?‡ï?´ï?ð?½ï?ð?ð?ð?@Íï?@¿ï?€Îî?€Üî?ð?^ï?Ÿï?@¿ï?ð?ð?@Íï?ð?ð?À–í?¯ï?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?À©ï?ÀÙï?ð?ð?ð?€/î?@9î?ð?ð?ð?ð?ð?@Fï?@î?@ï?Àìï?ð?Àæï?ð?Úï?ÀÖî?ð?@<ï?@§ì?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?@Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[ï?Àìé?ð?€_í?@‡í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ì?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNï?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@3ë?€Ví?ð?ð?ð?ð?ð?lî?ÿê?ð?@Æï?À=ï?ð?ð?´î?@Íï?‘ï?ð?ð?ð?ð?ð?ð?ÀÙï?€.í?@^ï?ð?ð?ð?ð?ð?ð?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?@Èî?•À?À?ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uí?@¨í?ð?ð?ð?ð?ð?ì?€ï?€šë?@"á?/À?¢É?@i?ŽØ?Àáé?@ãï?ð?ð?ð?@ï?ÀÒâ?Ä?ýÀ?ÙÌ?nµ?ˆ®?=Í?Œà?‹Ò?@`?Àl?ÀÁâ?˜ì? q?€9×?@©ê?ÍÝ?@óï?€Åì?@xâ?@1ë?ÑÒ?@Üê?À–ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âì?@è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?=ï?@“î?ð?ï?€&î?ð?@âê?ÀÄç?dï?ð?ð?@Íï?ð? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ié?ºï?€ï?@mì?Úé?Àáî?À±î?å?ÀÀà?@ê?‰æ?Öê?ð?€Éï?ùí?îî?€ßï?ð?@Ðï?€ë?æ?À ì?€Óï?ð?­ï?Æã?Àëé?¬æ?@ì?€Qå?ÀÛá?\Ò?€qã?@Ÿí?@Ãæ?@äç?À¸ë?À(ï?€Àí?€Æë?Bï?€ƒê?€…ï?@ ï?€Òë? é?‡î?iî?Àÿí?Àî?Àùã?ÀVí??î?bí?À–ì?¦í?@üê?Àóâ?@(ë?€íì?ð?€Üí?¬î?´ï?€øí?ð?Öí?€²ì?€«é?Àïï?ð?€_ï?€Dî?ð?ð?Àßï?ð?­î?ôì?@ãï?Àî?¼ë?€Uï?À©ï?Àßï?Àßï?ð?ð?ÀÕê?)Ä?Ћ?#Ã?@c?@p? ¡?@Ãä?ð?ð?ð?ð?ð?@óï?Úï?€öï?Àìï?ð?€kí?€æ?¯î?ð?€Ïï?ð?ð?ð?ð?ð?Àæï?ð?€fï?€{ï?@¹ï?@óï?@¿ï?ð?Àeî?@ãï?@sï?@óï?Àî?€Lï?ð?@Kì? ï?[ê?€î?@òí?@¦ì?€ßï?Ñî?@ ï?Àdï?ð?ð?ð?€¢í?@öë?€Ìì?@™î?@^í?×í?*í?À¿í?Àñê?€Aâ?€ÉÛ?ÛÓ?7Ã?ð—? °?ê°?س?€øß?Yä?€˜è?2Õ?”ë?ð?ÀDî?ï?@¿ì?€í?ÀÀï?™ï?ð?ð?€âì?ÕÆ?ÀRê?ï?;ë?€½î?@[ï?¦î?˜ï?Ÿï?Àsî?¨î?€ñî?à¾?@`?@ià?ÀCì?@Œî?@Ìî?¥ï?)î?öï?£ï?€úë?Oí?@Úí?@µí?ÀÜî?Àí?€š?@çæ?õÕ?ð?ð?ð?ð?ð?ð?ð?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?öï?ð?ð?ð?ð?€Ïï?€Mï?€ìî?î?@õî?@Éï?Óï?öï?@œî?@—í?@åì?€í?ð?1ï?Àêï?ð?ð?ð?@¨î?À:í?€Ýî?ð?ð?ð?ð?ð?Àƒï?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ûï?@·ï?Àˆí?À`ï?ð?ð?ð?ð?ð?€nï?ð?ð?ÀÜï?Àï?ÀÈï?ð?€Ïï?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€(ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðí?sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNï?ð?€Ïï?ÀMï?ð?ð?Àî?ð?ð?Ýï?€fî?ð?@bí?@çï?@6ï?€­î?€Ùî?@Êï?ð?ð?@ïï?ð?@\î?€Ëï?@óî?¥ï?öï?@¿ï?ð?ð?€Ñï?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?€Õï?ûï?ð?ð?Àêï?@Kí?ð?ð?ð?À¥ï?€˜í?€¬ï?üî?€§î? ï?ð?À‡ï?ð?€õï?ð?ð?€’î?@¦í?ð?ð?ð?ð?ð?ð?ð?ð?ûï?¬î?ñï?ð?ð?ð?ð?ð?ÀÜï?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ê?@²ï?ð?€ýï?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?€-í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Fë?€Õï?ð?€7ï?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?ð?ð?ð?@îï?ð?ð?ð?ð?ð?ð?ð?€Õï?ð?ð?ð?€Ëï?ð?€¶î?@âç?ûï?ð?ð?ð?ð?ð?@dî?ð?ùï?ð?ð?ð?ð?òï?@¶î?ð?ð?ð?ð?ð?ð?ð?@Åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?7ï?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@è?¶²?•?ÀŽí?@~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žë?€–ì?Mî?Àxì?@3ï?öï?ð?ð?Àáï?@Oå?“Ë?Àñá?@‹ä?U?Œ¨?Àâ?Àãï?ð?ð?€ê?ð?mé?€¿Ð?Pº? ?P„?U?PÒ?Ȫ?¼©?¼¦?{Ñ?@4ì?\¼?@­â?Pº?€7×?€-Ñ?€óÓ?ÀØá?»Ì?€uã?ÀØî?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€þë?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðã?Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?€Ìî?¤ë?€Oì?@¿ï?@Uï?€7ï?@Åï?Yï?€ ï?oï?Àìî?€øï?òï?ð?ð?ð?ð?ð?ð?ð?ð?@êí?@ ï?ð?Àòç?vè?ýî?î?¨Ú?€Üë?@šï?ÀSç?À±â?€,å?Úé?€nì?ÀDí?€yè?Àžï?@Hî?ûï?€Õï?€îï?@ì?€èë?uí?@î?À­í?í?À¿é?@vë?À§ë?€ºì?Uå?‘Õ?Àî?@)î?ÀÆè?À®ê?8ì?@¬î?À!ï?€lï?€Zé?@Yí?@Óå?@Àí?ÀÚï?À“ë?çë?Ààï?€Áï?Àïï?@Të?€Fç?Àï?ÀŽê?ÀÄî?€úì?Zî?À‰é?À[í?@dî?®ï?Àï?€âä?€ãá?À³é?ÀJì?€¢ë?Íí?€yí?À^í?ð?ð?@îï?€#ï?ð?Ÿï?ð?ð?ð?@®ï?ûï?@¤ï?Æì?€ýî?ð?ð?€Ïï?ð?ð?ð?€¼î?€`â?Y?pŠ?n»?@=ã?€4Ñ?FÇ?Š?<¢?(™?“Þ?€uê?@Fï?ð?ð?ð?€üï?Ãî?,ï?Xí?@?é?î?Oë?Àžî?Àïï?ð?öï?€~ï?@¶í?Àï?ð?ôï?@ºï?Çï?Àßï?€3ï?ÀŒê?Àæï?ð?@\í?€8ï?@Îî?ÀÖî?ð?€Úï?@Œï?Ëï?@bî?€oî?çê?@]ì?ë?@^ï?¦ï?eî?ýî?@Xï?ð?€:î?€ ì?@ì?@Dè?€Sí?€æì?@&ï?áî?Àï?@Âë?€+Û?ºÑ?ÕÖ?ø½?Øœ?J³?‚?D?(Ã?€‘ç?ÀÌá?.×?áî?À î?Àêï?ùï?@úë?@Èï?@îï?ð?À¿ê?Ÿå?Â?€ë×?@î?ð?ð?ð?@yï?€ï?Àîï?ð?ç?Ží?€ŽØ?€i?‘È?À”ç?€Xî?±ï?@Oï?À¬î?Oí?Äé?À>î?ð?åï?Tï?ÀÈï?{ï?€JÝ?Œ¤?€YÕ?ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?ð?ð?€Uî?ÀÈï?ð?ð?ð?ð?Àkì?@ï?€*è?Àdï?Yï?@Ýî?@[ë?ñî?€Èï?Àí?Lî?€ì?€{î?@©ï?À]ï?Ìï?ð?Àßí?é?@ï?@Úí?€Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?ð?ð?ð?[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lï?ð?ð?ð?Àqï?ÀIï?£ï?Àcê?€Wì?€zï?Àáï?ð?ð?ð?ð?ð?€ùë?@­é?Kê?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvï?@˜ì?€‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ªì?€Zï?À½ë?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?€ÿï?€¾ï?™ï?ÀŸî?À÷ï?€ì?@-ì?@äï?ð?ð?@ßï?òï?ð?€Rï?@(ï?€fï?‡ï?ð?ð?ð?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcï?“ï?“ï?ð?ð?Àöï?«ï?€ï?ð?ð?€“ï?üï?€0ï?ð?@ï?€Wî?ÀÙë?Øì?›ï?pï?ð?ð?ÀÎï?€ñï?Àï?ð?ð?‚î?@Hî?ð?ð?ð?ð?ð?€ï?À±ï?ÀÝí?àè?@î?[ï?ð?ð?ð?ð?ð?€Çî?@þî?ð?€ï?ð?ð?ð?ð?À³ï?ð?€ï?}ï?ð?ð?ð?ð?ð?ð?ð?ð?@ë?@žî?ð?ð?Ùè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àgî?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çå?tì?@òê?@Já?Þè?€óì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?ð?@ãï?®ï?ð?6ë?Àõí?ÀÝï?ð?ð?€1ï?€Âî?ð?€Öï?€Õï?ð?ð?ð?ð?«ï?ð?@…ï?Àùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’ï?ð?@ ï?ÀÝï?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒé?†?€UÜ?@Øï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìí?€Kï?­ï?@1ï?Àœë?@Uë?À¤ë?@Oï?@ï?ÀÉê?@‚ä?žÜ?Eï?@òï?0¬?0”?Àæ?ð?ð?ð?ð?ñî?)í?@Vå?Ô?@{?¯?€Q?ŸÞ?üÀ?çÄ?'ç?»È?€ôà?@|ä?€ß×?€yé?€ß?ræ?äë?@¾ì?€4ï?€Ùï?ð?ð?ð?ð?ð?ð?ð?@äï?ð?æï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?À½å?À¿ê?@8î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âì?€ôï?ð?ð?ð?Àðï?Þï?î?<ï?Øï?×ï?@Ÿî?À÷ì?ð?@Ýï?ð?ð?Àµï?€Ýï?ÀÃï?ð?ð?ÀKï?ð?ð?ð?€¼ï?ð?ÀÎï?@ßï?ÀYï?€Áé?@‰í?ï?À6í?@öï?Àüì?À¬ì?À”ã?ñÞ?Qå?€xì?Àé?ë?@òê?Ùí?¨î?ÀÊî?Àµï?À±ï?@äï?vï?À½í?À]í?@æ?€Œí?€oí?€‘ì?cî?À°è?À´í?€ïë?Êê?Àî?€¼â?À~í?@qè?]î?@‰ì?æä?!Ü?@ñé?@êï?¦ï?Àaê?€Vï?@fï?@#î?ÀLï?æî?ùí?@ßï?ð?€vì?Àêï?ð?ÀÇì?@ î?@è?@]ì?ÀYî?À.ì?@è?@Gë?<î?@ï?ð?ð?@sï?Àï?ð?ð?ð?ð?ð?ð?ð?@óï?€=ï?À÷î?0ï?ÿï?¼ï?®ï?ð?@yî?€ªï?ð?ð?ð?ÀÈï?Àê?0œ??PÇ?€”Ò?±Ã?@žà?8Í?Àöá?€Z?L©?<¥?dª??Ý?±ß? ï?ð?ð?ð?Àîï?€¾é?€×Õ?€Hç?šï?Àøï?@ ï?@_ï?ÀÍï?ð?@ƒï?ð?À÷ï?€¬î?àï?€ãï?€æï?À¯ï?€¾ï?Àäì?ð?@–î?€éï?Àîï?í?À¶ï?ÀŽæ?Àí?ÀEï?@Üî?@è?Àï?€‘ì?€í?@ké?@Öë?Àí?Àì?ûí?éê?'ë?€î?ð?Úï?Àkê?Lï?ƒí?@Úì?À2í?@Ýï?€¬î?˜î?ÀŒì?€~ß?€UÒ? È?œ£?™?â»?üÐ?ÒÈ?èÀ?Àsë?@þé?¶í?€dì?€ƒí?´ï?ð?@Ýï?@ï?@Sî?@ýî?€à?M?€×?€àï?ð?ð?ð?ð?€mî?€”ï?ÀØí?íÀ?Ò?…? ?Œ¾?@çá?@˜î?ð?@§ï?@ßî?@"ï?Óî?€gæ?Àëë?šß?ŒÙ?#Þ?žÔ?À…ã?\²?@t?‘?Ï?ð?ð?ð?ð?@§î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«ï?ð?ð?ð?ð?ð?ð?ï?@Åï?@.ë?@ãê?Ôî?Wì?€‘ï?€'ï?Àé?€÷ì?lì?À ë?@Óí?@Zî?€eï?ðê?@Bï?@Gî?€Ýï?ÀÙè?ÀÏë?ÀYï?ÀŸî?Êï?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?@í?ð?ð?ð?ð?ð?@áï?ð?ð? í?€˜î?ð?Àˆî?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üí?@?í?€0î?ÀVí?Hï?€Çë?@3ì?€ïï?Àùî?ë?5ë?@­ê?ÀÐê?@oì?ð?§ï?€Aë?@…ë?€mê?€¹è?€vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ë?›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?€ë?€åé?@Tï?ÀÎï?À°ë?@ î?ð?ð?ð?Àýï?Çï?ð?ð?”ï?ð?ð?ð?ð?ð?ï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?€?ï?@Yí?€oï?ð?ð?ð?ð?@øï?ð?ð?ð?€Ùï?ð?@Vï?ð?Tî?Àkä?€ÄÖ?ÀXé?ƒí?€lî?@§ï?€õî?ÀÄï?À¨ï?@Õî?ð?ð?Ãí?€äì?ð?ð?ð?ð?Àâï?@¥î?À=ï?@ðî?@²ê?@­î?ÀÄï?€#í?Àõí?€¾ï?iï? í?Æï?€ôï?ð?ÀÆî?ð?ð?ð?ð?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïé?€öï?ð?ð?€ì?ð?ð?ð?À÷ï?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áî?À‡ì?©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ð?ð?»ï?Õ?kÜ?ƒÍ?€ Ó?€ùÙ?¥ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?€ùï?ð?ð?ð?hï?€~ï?ð?ð?ð?ð?ð?ð?ð?@?ï?ÀÇî?ð?ð?Àï?ÀÄï?€‰ï?ð?ð?ð?ð?@üï?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?À«î?ð?ð?ð?ÀHï?€=ï?ð?Àïï?€ñï?ð?ð?ð?ð?ÀÑï?ð?@áï?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôì?Ýï?ÀÄï?ð?ð?ð?ð?ð?ð?ð?À˜ï?ð?ð?€iï?@Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àë?~Î?@#å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?Àí?ð?ð?ð?ð?ð?ð?ÀÄé?€ïì?µß?Ô¯?€Ø?ð?Nä?à“?ºÐ?ð?@Ãí?Àþï?ð?ð?ð?€Üí?Øå?€Ð?à?Ц?D£?¤£?À¾?€á?ì­?€ŸÓ?€Xì?À^ã?Ф?€Ìè?cê?Àcâ?”è?€žê?@¹ï?ð?ð?ð?ð?ð?ð?ð?lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtî?€»Ü?@¥î?ð?ð?ð?@î?À¾ê?€ê?€oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? î?ð?ð?ð?ð?ð?ð?ð?°í?€\ï?À­ï?Àï?À’ï?@ïì?@áï?€ðî?í?À|ï?€áï?Àóî?ð?ð?ð?ð?ð?ð?@áï?@ßï?ð?ð?@jî?Üî?ÀÄî?ð?ð?Àªç?ÀAë?ÀFë?¬å?@ìä?À¦î?À“ê?€êí?ÀOë?6ê?Àßî?ë?@_ï?@¸ï?€‰ï?Àí?Àúí?@øë?på?@%ê?ÀÌï?ÀÌî?€ì?€Ìï?âî?@nî?@šì?@³ë?@@é?rí?kë?Àøè?Gî?@ ë?À_î?Àcé?‰é?@~î?ÀËç?À—ç?ÀÊí?€Üî?@˜ï?Êê?ƒë?Àdî?€…î?À5ï?@áê?@-ï?@¸î?½ã?€Þ?Àã?ÀDî?@‹ï?€ãí?À‘î?€Kí?@?ï?À¸ï?lï?ð?ð?ð?À2ï?ð?ð?ð?ð?ð?ð?€™ï?€&î?¦ï?ð?ð?ÀÄï?¤ï?ð?@!í?À°î?ð?ð?ð?ð?ð?a×??´?€¹Ð?€+Õ?€Õ?œ©?€jÙ?`p?®°?@Ðâ?€~Ü?ßß?@àï?ð?ð?€ðï?@°ç?nÈ?€'ß?€œä?€·ï?@ÿï?áí?€–í?Àyï?Uï?Óï?ÀRï?âí?Âî?€uï?ð?@Àî?@Çî?@áï?ð?ð?ð?€ðï?À‰ï?À_ï?ð?@ží?@5é?€ýï?@^ê?Àî?@ï?@þì?@+î?Àòí?Àòí?€í?@{î?[ë?ÀÔì?Óï?ð?À-ë?€;å?€ƒë?Ší?À¼î?ð?ð?í?Àhì?@>è?Íç?Àtç?Iá?çÂ?½Á?@?8–?•?àÂ?€ì?@Ãå?Àné?€Éè?@Ãî?€Dï?À†ï?€ï?ÀCî?@ë?wÇ?(ª?Ü¡?(ê?ð?ð?ð?ð?Àôí?@ùë?€žî?ô£?èŸ?@™?ä©?À?€Åá?Àì?¢Ú?À˜í?ð?Àíï?Yï?€ôï?€¶ì?ÀÖå?€?×?Öº??@l?„?gÃ?ð?ð?@ºî?uî?€ ï?ð?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€Iî?^ï?ï?@ì?ÀLë?!ï?ð?@zç?ÀÒê?Àëî?À=ï?€Âì?€Pî?±í?@ê?À¤í?À[î?€´ì?@ï?@¼î?À¼í?ð?€¿ï?+ï?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ÀÓë?€*ï?€ñï?ð?ð?ð?ð?ð?ð?Cí?ð?€¾ï?€ìë?€Uê?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?€+ï?@î?6í?€Áî?ð?ð?ð?ð?€=ï?€lë?@Jì?‚ï?€-î?Àüï?ð?€æï?·ï?ð?ð?ð?Àýï?åï?€Šê?¶î?+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sí?ð?ð?ð?ð?À5î?ÀÉí?ôï?ð?€ í?Àéë?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·ï?€¾ï?ÀGï?@[ì?€üì?Ùî?@ëï?€!ï?@>ì?ð?ð?€äï?Àùï?ð?ð?ð?ð?ð?ð?šï?ð?€·ï?ð?øï?ð?ð?ð?ð?ð?€›ï?ï?cí?ÀUï?ï?ÀÙï?»ï?€”ï?€žï?@¢ê?ð?ð?ð?ð?ð?€ûï?ð?ï?íå?À¸í?Ëí?€*î?ÀPî?@îî?ÀUí?@ ï?ñï?@…ï?Àäï?€Ñî?dí?ÀVí?ð?ð?ð?Éî?¡ë?€(ì?Àíî?@¼í?€¡ï?ð?Àâî?gí?@ñï?ð?€¨î?¢ï?ð?ð?€ ï?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkí?ìë?ÀÑï?€»ï?ð?@?í?ð?ð?ð?ÿï?üï?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?€øï?,î?€î?€Žë?À$í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?Ùï?ð?€1í?@7ê?œØ?™Í?|ë?€5ë?@bî?@Ñã?jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wï?ïï?ð?ð?ð?ÀÅï?€Úï?ð?ð?ð?ð?ð?ð?@àï?ÀÆï?€ÿï?ð?ð?ð?À†ï?@Âï?ð?ð?ð?ð?ð?ð?¨ï?À÷ï?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?@\ï?ð?ð?ð?€ùï?âï?ð?ð?ð?ð?ð?ð?ð?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?'ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@@æ?€vï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@+ï?ð?ð?+ï?ð?ð?ð?ð?ð?ð?ð?@Bí?F¸? ¡?À7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?@øï?ð?ð?ð?ð?ð?ð?@àï?Àvê?v?0?Õ?ø˜?_?†±?¹?Á?Е?À˜ã?ð?ð?ð?ð?ð?€Kï?Fã?ŽÐ?àr?Ôª?Њ?(º?ÍÂ?@Næ?Àùá?ÀMê?€DÚ?½?Àpê?€ Ô?ÀÔí?Wí?€ê?Àqé?ð?ð?ð?÷ï?Šï?@_ï? í?Vî?@iï? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@ßï?ð?ïï?€Ïï?ð?@`î?@*è?êÖ?¢è?@{í?@‡ì?€¨ì?€Æí?€zï?€5ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºï?ÀÂï?Àxî?€Cï?cï?À«î?@9í?À÷ï?@×ï?©í?À=é?ð?Àïï?ð?ð?ð?ð?@ôï?@þï?øï?Àï?ð?ð?@àï?Àíï?@ßï?€Fï?@·ï?ð?Àêà?¦´?€£æ?ÇÐ?@õà?‡ê?¶ê?@ré?@ì?@0ç?Ààë?€Òî?Àˆï?€þï?²í?@î?@+í?À¡í?Àæè?€™ë?…í?ðê?À¢å?€–ì?€óâ?@lî?@»î?€nï?@ôï?lî?Àaî?æî?À+é?€´í?Àçï?@"ç?@mï?€èï?Òî?€ ï?¢í?€5ê?ÀÃí? î?ð?@Íï?Àiï?@ï?Œí?€àî?Àºì?@ræ?€î?@î?@³í?€@î?@êî?Òí?Àãè?Àóî?ï?@»ï?ð?Ùï?€î?øï?ð?ð?ð?ð?ð?ð?ð?Àüï?@¶ï?Éî?€£í?@çî?@éï?ð?€æï?€þï?€Mï?ÀÙï?ð?ð?ð?@¤ë?€|Ó?@Š?èž?€{Ù?"º??°?Ѐ?Ô?@Yï?@íî?@Íï?ÿï?ð?ÀÁï?Àôï?Àäï?Ýí?@‘æ?€}Ð?Ïï?nî?3é?À¬ë?€3î?@¡í?À ï?¾í?6î?€þï?ð?ð?@˜ï?@5ï?®ï?€ï?€lï?€ïï?€æï?@èï?ð?ð?€…ï?Æí?@tí?2è?ië?@Sì?Àùí?î?xî?Êì?ùí?@íê?€ië?Lï?ð?@›ï?€Ëé?@ æ?@Œê?€Ðî?Àï?Üî?@ýï?€vï?ÀÕï?€ñí?À‹ì?€€ç?€.Ý?ïÒ?àÏ?ì ?¤«?€"Þ?/Ô?@Ÿã?€ì?@ýã?€/ä?@õî?@öî?@æï?ÀÎè?€%æ?€ðÒ?§Í?@Pè?,Ñ? Ž?Ê?éè?ð?ð?ð?ð?ð?Àõé?©Û?b?Ë?` ?¸?À¨ä?2Å?€oè?€}î?°Ó?ªÜ?ð?€½î?Àaê?ð?ÀÀï?Ç?ÚÊ?ð?ð?ð?ð?@Úï?@•ï?@èï?ð?@î?€ïï?ð?ð?ð?ð?ð?ð?ð?Àï?À>ï?€pî?Uï?@™í?À×î?ð?@Õï?ð?ð?ð?ð?ð?ÀËï?€ï?èë?@í?@xï?€hê?€[í?Àií?@áï?ð?@î?ÀÎï?\ï?­ï?ð?ð?Àï?ð?ð?ð?ð?ð?ð?€ì?@Eè?Àë?€žë?ð?ð?Àªî?€íí?@½î?@Žî?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ð?ð?ð?ð?ð?ð?ð?@Õï?À¹ê?yî?fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?À-ê?À?ì?€kë?€+í?@Jï?ð?ð?ð?ð?ð?ð?ð?ð?À3î?@®ï?ð?ð?Àäë?À@ì?Àþì?€Áë?€ì?@Öë?ÀÒë?@nî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹î?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?Àòï?·ã?kê?@éì?À?î?cí? î?ð?ð?¹ï?ð?ð?Àï?Àªï?ð?ð?ð?€Vï?áï?)ï?ð?ð?ð?ð?ð?ð?€¾ï?ì?À‘í?€§ê?€î?€÷í?€ï?@fî?ï?ï?€Kî?ð?ð?ð?ÀÛï?@¸ï?Àµî?Àµï?î?€Pï?@ï?/î?@…ï?@3î?€rï?ð?€\ï?@Þï?@àî?€Ôî?#ï?€Âê?ð?ð?ð?ð?àï?€Ùî??í?Àåî?ð?ð?ð?ð?ÀŸî?ÀCï?ð?ð?@Õï?ð?úï?Æï?ð?ð?ÀÊï?ð?Àvî?ð?À|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIì?@ í?ð?ð?ð?dì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íî?ð?ð?ð?ð?ð?ð?Àsë?®ë?Ìî?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?Vï?Gå? Â?€™ã?ð?ð?ð?@iå?@Œë?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dï?ð?ð?ð?ð?@öî?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µï?Àï?@yì?@[î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âî?@wî?@ôï?ð?ð?ð?ð?@•ï?ð?ð?À»í?ð?ð?ð?ð?ð?ÀEï?€#ï?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îê?¨¾?ô´?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[Û? ¶?å?À(î?õï?€7â?2Ñ?»×?@»é?@ï?¿ç?¦è?€dÞ?ªÎ?¿?,¡?½Í?†È?Ø¥?¯Ë?Á?€ Ô?€âë?€†ï?+Þ?ûÃ?óØ?@Òå?êß?€ í?·æ?€î?ð?ð?@þë?@(î?ð?@ßï?ð?À}ï?@•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?@ä?€Ýé?ð?ð?ð?ð?ð?ð?ÀÊï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?òï?ð?ð?ð?ð?Àî?@®â?€­Ø?@^î?€_î?àï?€•ï?ð?@bë?€ùí?`ì?€úï?ð?ð?ð?ÀMï?@Zï?ëï?Àåï?ð?ð?Òì?çí?ð?‡î?€Þí?ð?@òî?áé?JØ?ÚË?@Úì?Àñì?nß?Qé?€«à?ÀÈâ?@Îî?Àì?Àï?@üî?@$î?€×è?€âê?Wé?ê?€†è?@­æ?€0ê?€£ê?À(ë?@¾ì?Àˆè?@Éí?@@ï?Öî?À–å?Àë?À©ï?–ï?@Íí?ð?3â?+é?@pï?À|ï?@(î?€Ëé?@)ï?À_ï?ð?ð?kï?®ì?@Âë?€êí?Qì?@®ë?€Qä?þî?(ï?­í?Àrî?€Üî?@ÿî?€`ï?ÀÎï?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?À±ï?uï?À4ï?@•ï?ð?ð?€Ëï?@ï?€ûï?ð?@÷ï?ÀÖî?ð?À¯ï?À1ê?@­ä?øÉ?2?Ì­?@¸?>Ä?ð‚?@x?dº?@bì?@Zï?@Õï?ð?Àêï?ð? ï?€õï?ð?ð?€?ï?ÀFî?€óí?î?¿ê?@î?ÀÙî?€kî?¹ï?À‰ï?éï?ð?ð?‰ï?@©ï?€ïï?ð?ð?ð?ð?ð?éï?@öï?ð?ð?€ ï?€Ìí?Àýé?Eí?¼ì?@ê?¿ç?ÀDï?€lî?Àîä?¢å?@Üé?€åí?ð?®ï?7î?;æ?Àƒì?€“ï?@fê?@¶â?ùï?ð?@ï?ð?ð?†ï?Àèæ?­è?€Û?KÕ?l?œ?ÒÌ?¼â?€ªÚ?õÖ?Àæã?€–à?UÝ?@*í?À`ï?ð?®ï?éï?@ìï?ßï?@Âï?ð?ÀJï?Ÿè?ø®?ÞÝ?Àñï?€ýï?ð?ð?ð?ë?@²è?&Â?…?l­?F?€^Ñ?À7â?@ ï?€Pà?À.ã?£ï?hì?(–?€—Ø?@òï?Ûî?@Oî?ð?@rå?Àc?Àiã?ð?ð?ð?ð?€Oì?@•ï?ð?€Íï?€ýï?ð?ð?ð?ð?ð?ð?@Wï?€ôï?@Æï?*î?À¼í?@oì?@Ìî?ÀÀì?@Æí?Ìä?Ùï?€ï?@ÿï?ð?ð?þï?@rï?€èï?8ï?€Îì?€Ûï?@Úï?@ßï?@fî?ùì?Àªï?ð?ð?ð?ð?@ìë?€éï?€ßï?ð?ð?ð?ð?ð?ð?@µï?@éï?€¼ï?ð?ð?ð?ëï?¾í?@Äë?@Øï?€üï?ð?ð?ð?€$ï?ð?€Íï?ð?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?cï?€Ÿê?À¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvî?]ï?ð?ð?ð?ð?ð?ð?ð?ð?@íï?Ûí?@Àç?ÀÝá?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?€:ì?Àï?€»ë?@ì?öé?ð?ð?ð?ð?ð?ð?@]ì?ôí?@í?ï?Àÿï?Àúï?ð?ð?ð?ð?ð?€üï?Lç?òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™í?€æ?@$é?€åê?À»é?ë?€Jê?€„ï?@¯ì?·î?À%ï?À_î?€<ì?fï?Öí?ð?À,î?€î?ð?€Íï?ð?ÀÅì?ð?Ñï?éï?ð?€vï?Àåï?€—í?ýì?@Ží?€êí?€“î?Nï?sí?À˜î?Àpî?Üï?ð?@ÿï?€þî?ÀÐï?Rï?À¦ï?€í?@îï?€²ï?À\ï?€Rï?@‰ï?€ñï?ð?ð?€ì?@¹ï?Àöï??í?@.í?€Pí?ð?ð?ð?ð?€Äï?8ï?yì?wí?@çî?…ï?Àÿï?€¼ï?ÀFï?€£î?qî?xî?€5ï?Ààî?@Çï?Àwï?ÀÜï?ð?ð?€âï?ð?€ÿï?@`ï?ð?@xï?ð?€5ï?ð?ð?ð?ð?ð?ð?@Dî?5ê?ð?€ßï?Àíï?ð?î?Àìî?€.í?ƒï?ð?@ÿï?ð?ð?ð?ð?ð?ð?ÀŸï?ð?À÷ï?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@2é?€ ï?€Ìì?@hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bï?@žï?ð?ð?ð?ð?ð?ð?ð?€Ûï?Àtá?\â?€õí?ð?ð?@hí?6æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@Ìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èä?ÄÀ?@¨ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?@âï?@‘ï?[í?@ ï?ð?€ýï?ð?€þï?ð?ð?ð?Åï?ð?€Üï?Ëí?ð?ð?ð?ºï?@¼í?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€4ï?@üï?Éî?€aë?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡ï?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?@´ç?l²?„£?À®í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï?ð?ð?ð?ð?ð?ð?ð?ð??ì?”¢?Ê?€xë?€þï?Àùï?€ÿï?ÀÉï?@„å?@dî?@Wë?Àcâ?8¨?À$à?¶?€g?€}?H?Ô®?ô³?òÎ?€Ø?ÀŽé?Àúï?ð?€!Þ?ÅÓ?À¹î?Ú?À*ë?Àþï?€¿ä?Íë?Àþï?@ùï?@ÿé?ð?ð?ÀÚï?€Wï?ð?À©í?ð?ð?ð?ð?ð?ð?ð?Àëï?€òï?€Íî?@×ï?ÀØï?ð?ð?€Ñï?Eî?ð?ð?ð?@šê?Éæ?ÿï?ð?ð?ð?ð?ð?Àï?:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?€›í?Àåï?@½ï?ð?€öï?@ï?²ë?€ƒï?Oí?€¢ï?€Íï?ð?ð?ð?ÀÜï?@Èí?ð?ð?ð?@Õï?@ï?2ï?ð?ð?ð?@•ï?Àï?¢ï?@Íï?ÀÐï?€8î?@ßê?€sí?oî?À¤è?€Mã?Àhì?€¤î?­ä?À–ì?@¯ï?Àë?€ æ?€æ?–è?»â?@Éì?më?€Kì?€Aä?€ïæ?@ì?@Êë?@Yè?è?ýé?À%ç?Àdê?ÀWí?pí?@/î?Àí?€jà?xÓ?€àë?@óä?€öã?=ã?YÜ?À#ë?@Pç?Àóï?€¼ï?À,ï?€ ì?hè?€;ï?@Ûï?@½ï?@Jì?@’ì?€Ùé?6å?ñè?@(î?€Zì? è?ãì?€î?À¦ï?À1î?Þî?@áï?@Þï?þï?@×ï?@þï?Jï?Àƒî?€:ì?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sï?ÀÂï?@Þï?ð?@þî?ð?ð?Àöï?@>î?@Óï?ð?ð?ð?ð?€Óî?À@ä?J½?Àk?|?W??@˜?‹ä?€ýï?Ûï?€[ï?@Fí?€Òï?€®î?€ÿï?@þï?þî?@8ï?€ßî?ÀÃí?€aì?èî?ÀWì?€iì?ÀÒê?ÀBï?ð?ð?ð?ð?ð?ÀÐï?Ààï?@¤í?Šï?Àëï?€òï?ð?ð?Þï?Àþï?@Þï?ð?ð?þï?âî?•ì?Àì?€Þî?€×ï?@í?€aì?ð?@<ï?€óï?€mì?!ï?ð?Àøï?€ ï?@Ðí?Yì?À\î?Ùï?€î? ï?ð?Àäï?€£ï?yï?ð?À^ï?@pï??í?@ ê?€lã?@`à?ܪ?{Ï?²ç?Ì?@¢?€%å?éÒ?ö¿?øé?€¼ï?ð?ð?ð?€èï?ð?€¼ï?ð?ð?ð?Òï?ÌÔ?M?@já?€µì?@ï?ð?ð?À“ï?€tí?åÉ?€Ò?€=á?"Â?¨›? Á?Àðì?Àòï?@Äï?€]ï?€zç?Ø?>Å?_Þ?@?ï?´ï?žî?ð?€*ï?%À?€«Ñ?ðï?ð?ð?ð?@ï?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?€yï?Çï?ÀŒí?€cï?vê?À{ë?€ç?€¡í?@Åê?€ñê?Mï?î?ð?ð?€Yï?@Þï? ï?€‡î?Àßî?Ààî?¶ï?@ùï?@aî?@ýï?@òï?ð?ð?€/ï?¹ï?½ï?@Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ê?Kî?ð?xï?tï?ð?ð?ð?€òï?Êï?ð?ð?ð?ð?ð?ð?€9î?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?@@í?÷î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xæ?Àúï?ð?ð?ð?ð?ð?ð?½ï?@Eï?À¤í?ÀÜå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èé?@ÿí?À`í?@åï?ð?ð?ð?@uï?@©ç?€Åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?@Nï?€¥è?@ºê?À¿î?€Jí?Àƒì?À=î?ÀFï?€Fí?Àæí?À-î?@¾ï?€Ré?"ë?À<î?ð?@åï?@«ï?Ýë?ð?ð?ð?ð?ð?¸î?@—ï?À*ï?€ï?Àóï?Hî?À(æ?@”í?@¹ë?Ýí?À”í?€dï?Àî?€ÿë?@Ýï?¯ï?À+í?ßï?ð?ð?ð?ð?ð?ÀÀï?Zï?ð?ð?ð?ð?ð?Àî?åí?À"ì?@Gî?ð?ð?ð?ð?ð?€ï?€Þï?ð?@/î?ï?€Ãï?ßî?Àôî?@¿ï?@Žï?À¡ï?@ðî?Àî?€ï?@Fï?À³î?Àï?Ñï?ð?À±í?€oæ?@î?@èï?@¾î?ð?@Îï?ð?ð?ð?ð?ð?ð?ð?@wï?€Lê?@Aï?ð?ð?ð?ð?ð?À{ï?@ðï?€‰ï?Àï?ÀÃî?ð?ð?ð?ð?ð?ð?ð?ð?@zì?ð?Àï?@õí?ð?ùç?@Èî?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?À è?(ï?@ì?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?%ï?@öî?ð?ð?ð?ð?À×ï?ð?@åï?€Òï?Àç?Å?³Ò?@Tí?ð?Âï?€“æ?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?„í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?€Äæ?œ§?@jå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@¶ï?Vï?€´í?ð?ð?€¼ï?ð?ð?Ùí?ð?ð?ÀŠï?€Áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼î?@Tî?€Öî?À©ï?ð?ð?Àœï?íï?ð?À×ï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äí?¸Ú?‰?½?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬à?>Â?À9í?ð?€|î?ÓÔ?@¶è?À£ï?€Hí?€õé?ïÆ? }?@x?É?2¸?ÓÎ?€Fâ?@Œë?À…ï?€ûä?äÔ?€[æ?>Í?À6ï?@ í?Àóè?yæ?Lï?ð?@/ê?åí?ð?lï?ð?ð?ð?xï?Àóï?ð?Àãï?@¦ï?ð?ð?ð?@ûï?ÀÝê?ˆë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀEì?ßî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?ð?ð?ð?ð?ð?ð?€Ôî?ÀWí?€¼ï?hï?€ï?‰ï?@pì?@fç?Bî?ð?ð?ð?ð?ð?Àßï?Éï?ð?ð?ð?ð?€Öë?€~ï?ð?ð?Àšï?@Üí?1ì?!ï?Àóï?ð?@¯ï?@Úï?€Ÿí?Eí?À%è?À'ê?ç?pë?@öã?@4ï?@Dî?À[î?Èî?Éæ?}ê?@î?€ê? æ?@‡æ?À‰ë?Àµî?ÀÐå?»ì?€&î?[é?@Lè?Àì?ûé?À¨é?ªå?‰é?@"ì?@Îè?5î?À¼í?ì?Wï?€ûæ?@ì?@+ï?pï?@ýï?@që?ð?ð?Àí?@dè?À ì?@4ê?@zè?€Bì?@ä?€ê?€ëë?@Šî?@³í?ê?€í?pê?@ì?’î?€ï?@sï?Àûï?À\î?À*ì?À‹ï?@¶î?eè?€‚æ?rë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?€õí?‡ï?@gï?êï?ð?ð?ð?ð?ð?ð?À4ê?µÐ?@Š?ÜÚ?@Ÿï?@ï?úï?€í?&ì?À«í?Æï?€Æî?À]ï?€tî?Àbï?@ëê?;ï?˜ë?ÀŠí?€­ì?€Åì?@Äì?óî?ð?ð?ð?@Þï?ð?ð?€òï?@Êï?@Âï?@Ëï?ð?ð?Šï?íï?ÀÃï?@Þï?ð?ð?ð?ð?ÀDì?ñí?@çï?Ñï?ð?@*ï?éï?@—ï?ð?Àëï?ð?ð?ýì?Àžì?@ê?€Ñé?€Ãé?@*ï?€®ì?ÀÀè?€2î?ÀÝï?À5î?Àóï?À†ï?@ƒî?@'ï?Àýï?€/î?@ë?€æâ? ¢?@d?Ê?Àu?âÌ?ºâ?Àê?š´?÷Ã?€{î?ð?ð?ð?€òï?@åï?Àëï?ð?ð?ð?ð?@uî?Ø?¸¦?€±Õ?À£è?ð?ð?Àìï?Àá?ÀÚä?À»ï?@!ï?›ã?NÂ? †?À_ë?@ºî?€×ï?ð?«Ü?€?h?à?Àï?€hî?Àæ?@Tå?Àè?`¥?6¸?€:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?€zî?À¢ï?ð?Àí?ûí?@©ê?Àîî?Óí?@Þï?ÀÐï?@¹ï?€Õï?@jï?èï?íï?ð?ð?ð?ð?@ðï?€í?@î?€ï?ð?ð?ð?ð?ÀÌï?@ï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®ï?ð?·ï?À¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñî?€éî?Äï?ð?ð?ð?ð?ð?ð?6ê?À¯î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¿ï?@Äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûæ?@8ë?@è?@ßè?‚ë?€æÜ?Áß?Àôâ?@Kë?€Œé?@ ë?uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?@±í?fí?€ßë?€öï?ð?ð?À2ï?Aí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?ì?À“ä?@óí?î?€<è?@Èì?€ì?À²î?ð?À÷î?@£î?Àšï?@¦ï?Àãï?ð?@Wï?Fî?€—ï?À5ï?ð?€æî?Çî?ð?ð?@’ï?Oï?À%í?@Qí?À’í?À¿ì?@âí?€eì?€=ë?Àë?Àê?ÀÐé?àì?©î?ÀSï?Àëï?€¼ï?ð?ð?ð?€nï?ð?Šï?˜í?Àï?€ôï?ð?ð?ð?ð?,í?@ï?ð?ð?ð?ð?ð?ð?ð?€áï?yï?ð?ð?À6î?þí?ÀÖî?€îî?@lï?Àwï?@3ï?@Tî?Õî?ï?”ï?Àaï?@|ï?¹ï?¿î?Ç?H×?€î?\î?@ìï?ð?ð?Àûî?À$ï?ð?ð?ð?@’ì?—ê?Àeë?@üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\í?€‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?€Íï?ð?€<ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cë?Ûâ?ð?€áï?À,í?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?@dî?À`í?€Eî?@÷è?¡á?@ç?ÀÉâ?€ýí?ð?ð?@[ç?@Ýï?ð?ð?ð?ð?ð?ð?ð?åï?€-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?Û?@n?Rç?\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?À[ï?@Ïí?Ýï?èï?ð?ð?ð?ð?ð?€¢í?™ï?@…ï?€Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?pï?Àî?€‚î?ð?ð?ð?ð?ð?ð?ð?ð?Ãï?€ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Û?`Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?€Óï?ð?ð?ð?ð?€ÀÙ?ì¢? p?Àvã?ð?ð?À€è?fÒ?€Òî?¡ã?øÕ?1Æ?Å?@¯?€“Ô?€Ý?CÆ?€8ë?@.ì?ã?€ Ð?¥?@jâ?@/ê?é?@ˆå?Àíé?­ï?ð?€*ê?€;ê?€Èê?À–ï?ð?ð?€Èï?€\ï?Ùï?ð?ð?ð?@Þï?æï?Ìï?@ï?€‘ï?@Ëç?@þê?Àœê?ÀÇì?Âï?ð?ð?ð?ð?ð?;ï?ßê?€µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘ï?Àçï?ð?Iì?€”Ð?€¼Ñ?€¦Ý?x»?FÊ?ÀÐî?ð?ð?ð?ð?Àlî?ÀÀî?ð?€ ï?€ ï?ð?Àãî?€ ï?ÀWî?À¬í?æï?€Ûî?€æ?Àmé?ð?ð?@¨ï?ð?ð?€šî?À‚î?Àî?À”ì?ˆè?€|â?yï?À#ï?À£î?ÀÖê?€(Þ?@Të?À¸æ?¸ç?À;î?@ ë?À?ï?€%ë?À4ê?Àßæ?@¤ê?@áë?Þë?€ùé?på?Šë?ÀÂë?Îè?né?€è?Àï?€(î?­ï?ð?ÀÉî?À‡ê?@í?ÀÆî?ð?@Iï?ð?ð?ð?€ë?¹ì?ƒì?€(Ý? å?–í?€ï?€Pî?Àê?€ å?€âé?™ê?Àã?€/ï?@¹ï?íî?@Ýî?À¶ï?À÷î?@Þï?@hï?@vî?@ê?³ë?ðî?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Cî?ð?@Þï?ð?@ï?ï?pî?@oî?€)ï?ð?ð?@êí?ð?ð?ð?gî?€¿Ñ?€P?€‚×?ÀÝî?ð?ð?Ôî?Ší?À8ï?€¿ï?€ßï?@eï?@þí?€¬î?@¶ï?€;î?À ï?À×é?Àeí?€=ï?€§î?€Çë?@tî?Ìï?€¼ï?ð?€¼ï?€¼ï?ð?€—ï?Àjï?@ î?‚ï?€¼ï?ð?@žî?óï?€“ï?ð?ð?ð?ð?ð?ð?€¿î?ÀÚï?@—ï?ð?ð?@ãï?€Áï?ð?@ï?ð?ð?€nî?@Üë?~Ú?ÀLæ?€Uë?@»í?ð?Ãï?Àêí?ð?ð?@Eï?Àsï?@í?€fï?ÀÓí?@Óí?À1í?€‘ç?!Æ? ‹?@€?#Ù?€ Õ?€¤Ö?L¸?è½?Òì?ð?ð?ð?@¹ï?€aï?À¿ï?ð?ð?ð?ð?ð?€qè?Xž?œÚ?ð?ð?€½ï?Àˆä?€÷Ô?òï?ð?ð?ûÜ?ˆ¢?€÷ç?ÀŠî?êï?€¼ï?@öí?¦Ì?8?ð–?¶½?º? r?j?˜œ?h–?J³? ™?Ì­?ÀŽç?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?€Íï?€Ñï?@Ýî?@ î?€ªì?€”î?Îé?@ï?hï?@«ï?ð?Àóï?ð?€Ìï?€ïï?À\ï?ÀÐí?@æë?€qï?ð?€ï?Àaï?€³î?@Íï?€²ï?Àµï?ð?ð?ð?ð?@±ï?Àÿï?€Ïï?€Ëï?ð?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pé?@ªï?ð?ð?ð?ð?ð?@ˆï?€Ñé?€êí?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?À…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aï?@â?ªÇ? ”?€äÚ?À ç?À˜í?{î?@ôï?À^ï?@ïï?ð?ð?ªí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dë?@Êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—í?€Cì?€Œï?@çï?êî?@³ï?@#î?€ ï?wí?Ààí?Àþï?À§ï?ð?Ýï?_í?À$ï?€‡ï?ð?ð?ð?@2î?@ºï?Àóï?ÀAï?@ùí?€í?€zì?@!ë?€¥í?Àí?@ÿì?Pí?1í?@î?@dî?Àòí?Úê?Ãï?Àñî?€¼ï?íï?Àã?ð?ð?Àèï?ð?@yï?@¬ï?@Oî?@•ï?ð?ð?ð?€í?€Xì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?@ÿï?ÀŽî?À]ï?€áî?Àäï?ï?@—ï?À«ï?À'ï?€¡ï?ð?ð?ð?Àùï?@\î?™ë?ÀÊì?î?Ôî?ð?À§î?À@ï?ð?ð?ð?ð?€+ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?À î?€µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€hï?aì?ï?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ùí?€éÝ?Àá?<ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLî?ð?ð?ð?ð?ð?Àáè?@£ë?@ñê?Àï?¯ï?ð?€æ?œí?ð?ð?@Ií?í?ð?ð?ð?ð?ð?ð?ð?@yï?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?€fÛ?h­?-ï?@üï?@hï?€Íï?ð?ð?ð?ï?í?ð?€Þî?ð?Àöï?À”í?€aï?@í?À î?Àõï?ð?ð?ð?ð?ð?ð?ð?À5ï?@[î?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?@ôí?÷ï?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?À|æ?›?€‘Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:Ý?€p?€ËÝ?€dá?ˆ´?€q?\§?ØÛ?Àxê?ð?@eï?€ùÔ?~³?ü»?ð?@ã?Õà?€’Ñ?L¯?v°?@m?È?€5Õ?À÷á?@wæ?@)í?@ì?€è?T¥?Šç?€õà?@Ëä?€dá?Àoæ?ì?ð?dé?@Tå?ÀÌî?ð?@Þï?ð?@üï?ð?Àmï?€Íï?ð?ð?ð?@øï?áî?²ë?@šî?€í?Üæ?€£î?€îê?€Õî?Àìî?ð?ð?ð?ð?ð?òî?Ké?ð?ð?ð?ð?ð?ð?!ï?Žï?ð?ð?ð?@Þï?ð?ð?ð?ð?@Öí?€Õï?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?€4î?€±î?Àñé?€ˆî?€²í?@œå?@[ê?Àæï?ð?Àí?@aí?çí?Àé?ð?ôï?ÀØï?€ýï?µï?Àòï?¯ì?€žì?@7ï?ð?À¡ï?@×î?ð?ð?€1ì?€ ï?@Þï?ð?€î?€Åï?€Jë?€ãî?€Žê?€ï?€Öï?ð?~í?ÀÕé?@¿í?mé?€³é?@Aç?@]å?`æ?€gå?Qæ?@Äç?€î?5í?€è?ÀÆé?€äé?ÀSì?@œí?€4ê?@Ÿë?'â?€Dé?ÀLí?€)ê?€ƒï?€ðí?Àgê?€è?€îî?ð?ð?@Zî?ð?ð?@nî?Àï?€uí?€6í?5æ?fç?Àåæ?À\í?Àˆé?±ê?ÀŽë?€¢å?`á?@_ì?šî?À½î?Ààï?€Ïï?€ºì?€Dì?À¦î?@¾ì?€Cï?Xí?€Šï?öï?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âï?ð?ð?úï?€çï?@êï?À;î?Àùï?×ï?@Êï?À¸î?€áå?@>ï?ð?ð?ð?ÀFï?êâ?Á?Ș?,°?êÄ?øÉ?µÀ?Й?@n?Àš?>?Àq?€'Ø?À ï?€þï?@²ï?@£ï?@®î?–ì?ð?ð?€íï?@åï?@‘ï?4ï?€žï?ÀÏï?Öî?@mî?@ï?4ï?À¼ì?@-ì?@%ï?€`ï?@lî?äî?@3í?€î?´í?Àkï?@´ï?@Þï?@*ï?€ðï?ð?~î?€Ëï?ð?ð?ð?ð?ð?ð?ð?À;ï?Àçï?€ðï?ð?Šï?ð?ð?ð?ð?ð?ð?@«ï?Àrè?Àßé?@úì?À#ì?€Åì?€Oî?@'ì?@«ï?ð?ð?ð?ð?ð?ð?@§ï?ð?Àeï?Àuä?Ç?÷À?jË?4?¸‘?€T?`y?`?6°?€ÏÕ?0ã?ĵ?0š?P•?€žÔ?ZÀ?@|ã?@lï? ï?ð?ð?€Wï?ð?ð?ð?€ìï?ð?ð?ð?€¸ë?À?8¼?Ü?ð?ð?€÷î?€•Õ?@ ?á?À•î?ð?€\Ü?”?+Â?úÑ?3ä?@Iê?n¹?E?Í?€"ì?»Ì?ü¥?–À?Íí?€½ï?€Ïï?€îï?ð?ð?ð?@¸ï?€çï?ð?ð?ð?ð?ð?€¼ï?ð?€îï?ÀIì?@dì?ð?@Sï?€Æï?ÀŸï?ð?@¾ï?@pï?ð?@Pï?À¶î?@¥î?À^ï?@`ì?@°ë?ð?€ï?Àrï?Àï?ð?ð?ð?ð?ð?ð?€<ï?À?ï?ð?ð?ð?ð?ð?@mï?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸï?€bï?ð?€öï?€ï?Àlè?Ÿï?ð?ð?ð?ð?ð?@ë?€üî?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?ð?ð?mï?€SÜ?z»?€¤â?À*ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sï?ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€{ï?Àsë?Zë?’î?Àáï?ð?Àßí?ºê?@[ê?wì? î?ÀYî?@öî?€\î?€9ï?@ï?@dï?@0ï?€ñï?€îï?ð?ÀŸï?¸ï?ð?ð?@‰ï?€Kï?Àì?ÀËî?Nî?€î?@”ï?@1ì?ð?@íé?€Rî?€îï?@ï?Àï?À)î?ÀVï?ð?ð?ð?@žï?ÀŽî?ð?ð?ð?€Õï?Àrï?@óï?ð?ð?ð?ï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ÀRï?@Ÿï?À¤ï?ð?€Íï?€¼ï?€³ê?þï?@Ãï?ð?€9ï?üï?ð?ð?ð?ð?|ï?€ ï?€aï?ÀŸï?Àðí?òî?ð?ð?ð?ð?@Jë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·ï?µê?@Eì?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@’ì?À«ï?€ï?ð?ð?ð?ð?ð?ð?Àˆé?Äà?má?€¡æ?À"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ží?ð?ð?ð?ð?ð?àî?1ï?€ëï?ð?ð?ð?ê?@Éï?ð?ð?@ï?@ì?ð?ð?ð?ð?ð?ð?Àï?@Tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?~ï?ð?ð?€öÐ?‰Î?ð?ð?ð?ð?ð?ð?ð?€Æï?€Æï?ð?ÀŒï?€ëí?ì?€Já?€>î?Àƒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?@éî?€°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€]í?íÞ?P?À¦?|?˜Î?€Õ?ȯ?€f?`s?‚Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•ï?À˜ï?ð?ð?ð?ð?ð?ð?ð?ð?€Èå?’?Àeè?WÃ?\?ÄÐ?€Zá?@&è?€éß?Àóë?@©á?bÒ?BÀ?¸¸?€nÑ?€Û?@g?kÏ?€ˆÓ?É?€Q?]?”º?€7Ú?€Ð?Àä?Ãë?ç?€*Ø? Ð?@ ä?€Ñ?€>â?Òê?@ë?€çï?Àê?ÀÏê?ð?@í?ÀAï?ð?ð?ð?ð?ð?@òï?@üï?ð?ð?@ˆï?@Ýì?€Éí?€Rê?°å?@!ï?€œê?ÀŸç?@žë?À[ê?ÀÚî?ð?Ýï?ð?ùï?Àzë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øî?@Üï?ð?ð?ð?ð?~í?Îï?ð?hí?@ï?ð?ð?ð?€Ëï?ð?ÀÔï?€Çî?À¬ï?@ãï?ð?ð?ð?€©ï?@¨æ?ð?ÀØï?lï?@Þï?@Gï?Àåï?ÀÔï?€ï?Àkï?€îï?ð?@‰ï?@¯ï?€¾ï?€ñï?€ñï?ð?@Þï?@¤ï?ÀKë?éÔ?€Äî?@¿î?zë?À(á?€?î?ð?ð?ð?ÀDï?±î?Àëë?€>ê?ÆË?J·?¦Ö?bæ?À$ï?dì?Àï?„ï?€éé?€Oä?Àè?€ªê?€˜ë?€Ùé?€&î?öã?@zà?Àkí?ÀLî?€ê?ð?ð?(í?áï?Ýï?ð?ð?í?@ýë?€ï?€…ï?@Wé?Àwà?€ë?]ì?ÀÆì? ê?@è?@­â?€Öê?>ï?øí?öí?€4î?@^ç?ãê?ÀFí?¾ì?À˜ï?@Žï?€í?Àí?€žï?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ï?@nî?ÀÉî?Àµï?€Âí?@8ï?€¹ï?öî?€Qè?@;é?€å?ð?ð?ð?ð?éï?@Ðí?€Ãï?@wì?€$î?€òï?@3ï?€î?€©ë?€¡ç?@Kè?@Ó?ÒÉ?ˆ§?~³?@Èã?"ï?@ºî?€ªï?À¶î?¤î?€Tî?€ƒì?ð?ð?@òï?@¢ï?mï?@ï?À˜ï?Àûê?€nî?@Áí?³í?(î?€=ì?Eæ?@0á?€ð×?€¥é?ßî?À€î?@î?@Jî?Àøî?Àýï?@üï?€ƒï?`ï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?@Æï?ð?€îï?ð?ð?ð?€·ï?Üí?€eë?@Ví?À»î?@ê?€ê?ÀJî?{í?€»ì?@½ï?ð?ð?ð?ð?€îï?Ýï?€ní?@˜í?€œã?‘ã?€jâ?}×?ûÑ?¶Ó?âÃ?@q?¤?€Ö?@yâ?Eå?@÷è?Àç?‘Û?@â?@ºì?À¥ê?oÅ?ÎÁ?€!î?€©ï?pï?ð?ð?ð?€Õï?ð?ð?€£î?@"ï?ð?ð?@Îï?X¿?¼­?|Ý?ð?ð?Àûì?Gà?±Þ?€¸?$Ì?€{á?lÐ? r?R?8™?÷É?ÀÍè?;Ð?–Ð?«?€ÌÞ?ŒÔ?^?Àe?x•?à‹?Œ²?Hï?ð?ð?Àï?ð?dï?ð?€½ï?Àï?ÀÇî?ð?ð?ð?ð?€Íï?ð?@¬ï?€—ï?@Eî?ð?ð?Àïï?@cî?€‡ï?@²ï?@ëï?€5ï?ð?€ï?Àãï?@<ï?€`ï?À˜ï?ð?ð?€pî?€Èï?ð?ð?ð?€Ñï?€¸ï?Àòï?€Xï?ð?ð?ð?ð?ð?ð?À¾ï?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?@Nî?@âì?ªî?€¼ï?€Ìï?À{î?ð?›ï?ð?€˜ï?‚ï?ð?(í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5î?€Ûï?”ï?€sØ?@Õ?Àsæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ýï?Ñï?uî?@äé?À?í?ð?ð?ÀNí?€¡ê?@´ì?@î?-í?€í?€6ï?€ í?Àî?ÀIî?ï?€èí?ð?Îï?€¼ï?€zï?@‡ï?ð?ð?@‹î?Àòï?@iì?Àòí?€ï?@!î?€‡ï?×í?@”ï?@âî?›ï?@Gï?À­ï?À¥ï?Àóî?€sï?¡ï?ãï?ÀTï?À„ï?ð?À¥ï?€Õî?Ûí?3î?î?Àòï?ð?ð?Àî?Ðï?@Ní?À[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢ï?ð?€Óï?@áï?î?Àfë?€ºÖ?€^Ú?€Qä?À¹ï?€¥à?ÀÊã?ð?ð?ð?ÀÃï?ð?ð?ð?ð?À5ï?€fî?Pï?@±ï?ð?ð?ð?ð?Àí?Àºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨î?Àfï?ÀFí?Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-ï?ð?ð?ð?ð?€¥è?@å?ÀSç?€,ê?€`î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?Ãî?€Óî?ð?ð?ð?ð?ð?Àþï?ï?€ùï?€¼ï?ð?@Èì?@ªí?ð?ð?ð?€‡é?@ï?ð?ð?ð?ð?ð?À>ï?—î?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§ç?Ì¡?€!Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðî?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?À_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xè?"·?ŒÐ?€×ä?è’?À¯æ?àï?€;ã?z·?$¦?–É?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?€Fí?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?8Ð?Ö?€å?K? q?€Ö?@]à?ŒÂ?íÞ?ÀÉá?õè?€ÆÑ?AÕ?(¼?Œ¿?¨?€a?åÙ?"´?!Ä?¹È?€]Ö?T×?Æ×?@wã?À{é?hÍ?@p?–Þ?#É?æÏ?À9ë?ãî?@Ùê?€}ß?À^è?@Çì?@wî?ð?€Íï?ð?@Þï?ÀGï?ð?@óï?€üï?ð?ð?ð?@øí?@tå?Àöê?@ï?ÀÒí?€wî?@ë?Àòî?î?Àçï?ð?€ßï?ð?ð?³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À`í?ÀÈï?ð?qï?À“ï?ð?ð?åï?ÀÝî?ð?ð?€~ì?€Ðï?ð?ð?ð?Àkî?€‡ï?ð?ð?ð?ð?ÀÅï?€Þï?Àçï?@…ì?@öì?€Ôî?@½ï?ð?;ï?@ºî?Àìí?@áâ?Ý?¹ê?ð?€Åï?€Ôè?Àvî?ð?ÀÃï?@ï?>ã?€×ï?ð?Àªî?@Dì?ð?€Êï?À=æ?€ê?xž?€Ò?À“í?À„ï?Sï?]î?Þí?ï?€—í?·è?@Bè?Àøì? ê?‹ë?Ëï?€|ë?€˜ë?€äî?øî?ûì?ð?âï?ð?ð?­ï?ð?gî?ä?ë?@Cî?@¹å?€hØ?€Kß?@Íì?À°è?ë?€ï?À‹ê?À:ë?@Zë?€üé?Àzì?ÀÕî?@ç?€@ä?€°è?À˜è?×î?Lî?Àï?€ï?@öë?Àëï?Àíí?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?€cï?@ÿï?ÀÇï?€¸ï?Æî?ÀÓí?@Òê?@‘î?€|ã?@Öá?@ñí?ð?ð?ð?ð?€êï?Àï?ð?ð?À«ï?@øï?€eï?Ñï?@œï?@†ï?5ï?€ï?eî?ÀGã?b?€+Ñ?ké?€Lï?}ï?@ñí?€™ï?€øï?Xë?ï?ð?âï?ð?@ˆï?@œï?…ï?Àî?Xï?€ªì?@hî?@jì?€–î?ãé?€ƒÝ?€µÓ?ÊÖ?ÀOè?[í?@Lï?¿ë?‚î?Àzî?ˆï?À—ï?€îï?@Ñï?Èî?@Öï?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?Àvï?@ªè?ãï?Àïï?ð?@Àï?ð?@|ï?@ìî?@ñï?âí?ªî?¸ë?öê?€Öì?›ï?1ï?úé?Àïï?ð?ð?ð?Ÿî?Àºé?€·î?iì?À¢í?€Oê?À†î?6ë?€câ?À=æ?†ä?,¬?x?ð„?X?X–?ÔØ? ï?@9ï?€äç?€ïé?€Àæ?À¹ì?ð?ð?ð?þÛ? ’?€Qâ?€°ï?€êï?öî?Lï?ð?€5í?ë?€rì?ð?ð?ð?ð?ð?ð?(à?Ä?à?ð?ð?@ î?À‰â?€!Ø?ÃÆ?[Ì?L·?çØ?×?@é?,Ç?ã?Àˆã?€:Ñ?ø’?ø?¾²?¦³?À?ÄÖ?€—í?@ í?€zê?@hä?€‚ã?Àµï?ð?ð?ð?ð?@óï?ð?ð?ð?@¶ï?@¹î?Àçê?åë?ð?ð?ð?ð?ð?÷ï?ð?ð?@0ï?6ê?€Ýä?@Þï?ð?ð?ð?€uï?@)ï?@œî?€î?ð?+î?@žï?›î?ð?€æî?@ïï?€ðï?ð?ð?€ïï?@“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²î? í?À2î?€Ìî?ð?ð?ð?ð?Àòï?@¬ì?€Wë?eï?€–ï?ð?ð?ð?€oî?@í?€Iî?,î?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTï?Àrå?@Üï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?@Çï?Sí?ð?€ªî?@‚î?@©ë?€gï?ð?ð?@Wï?€Tï?€ï?ÀÁë?í?@‘ì?€­ï?€Îí?@¯ï?ÀÓí?>í?@ï?@ï?ð?ð?€šï?Àüï?ð?ð?¤ï?€5î?Àê?€ï?Àóï?€›ì?€þî?À«ï?€`ï?À`ï?@—ï?åï?€Íï?À;ï?@šï?oï?€Âï?Àhï?À›ë?@í?Àáí?Àfí?€ûï?À÷ï?™ï?€î?€þï?ð?ð?€úï?ð?²î?@•ë?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?@Lï?@úí?€<å?€3Ô?€œÝ?x™?Ø?@·â?€Ÿî?¢å?Àæë?ð?ð?ð?@Pï?ð?ð?ð?ð?@yï?ð?€?ï?ð?ð?ð?ð?ð?„î?@ºé?ð?ð?ð?ð?ð?ð?@ï?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?@$í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?€qï?ýä?öï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?Àoï?À„ï?ð?ð?ð?@ ì?€–î?ð?ð?ÀŒí?À ì?€ÿï?ð?ð?ð?ð?ð?”ï?À‡ï?@óî?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?âË?áÜ?ð?ð?€òï?ð?ð?ð?ð?ð?@Wï?€Ãî?è?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìî?@¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uì?V°?À–?Ï?ZÆ?ÛÔ?5ë?€ýï?@,á??Nµ?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐì?€tî?ð?ð?Àî?{ä?ð?ð?ð?ð?ð?ð?Õé?¨•?@’?€Êã?Ý?|ª?ðµ?€Ìã?Àªé?@Îï?ð?€ æ?À,â?^¶?¤²?;À?£Ù?:?2?¨¯?\«?0?ÀŒ?«Á?D¤?€f?ô ?Àjâ?€0Ö?ƒÄ?€kê?[Ü?¢»?€ÜØ?ô³?ÀÕê?€4é?@¹æ?ÀŒâ?@ãì?ÀÄï?ð?ð?@ùï?wï?ð?Àíï?åï?”ï?€þï?€øï?ð?Àøï?€ðï?Àä?€å?@Uë?@Þï?Óî?Àcè?€®ï?€ì?èï?@Þï?ð?ð?Üï?èï?ÀÍì?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?À˜í?Lî?Àï?€sì?@nî?€ÿï?ð?ð?@‰ï?@Äï?ÀÏï?ð?ð?€Íï?€ï?Ìè?@à?‚ë?€¢ï?@Pí?ïï?@óï?üï?€ºí?êï?žÜ?È?€‰ã?ÀÂì?€Aí?ÀÄî?ð?@ûæ?@øé?€Çî?‚ê?@‹â?À|ï?ð?€ì?·ï?@¿ï?Îî?ð?@±ï?®ã?sì?€ÊÙ?Àûè?À.ì?À×î?€ï?€«ä?ß?€Ùâ?À÷ì?€Gî?æë?À[ì?Àßê?Àwê?À7í?€íï?Àií?€‹í?Vè?À†ê?€åê?Lï?Àýï?À«ï?€æä?@±æ?êë?üç?Øê?Àæí?Úî?@ºé?aê?Àí?À±ì?Èí?Óì?Úé?†Ü?@ƒè?@½é?@¬ç?Ôé?^ì?€iê?€ôí?ÀAï?À£ï?@9ë?€mí?@±ï?€ïï?À·ï?ð?€¼ï?ð?Cî?€·î?€àï?ð?ð?ð?ð?ð?@Þï?@Dï?ð?Àüï?üï?ï?À`ë?€…ê?@ªî?À;ë?€tæ?ÀÌì?ð?ð?ð?@¬ï?@Øï?ð?€òï?ð?@Vï?ð?ð?@üï?€þï?ÀÆï?€kï?Àþï?@îï?€ßé?€U?z±?ÄÎ?üÅ?ÿÏ?@xç?%í?€zë?£ï?ï?€ï?€*î?¹ï?Šï?ð?ð?@üï?ð?€ñï?ÀJî?@\ì?@ í?ÀÒî?@¢ï?@Vî?ùî?@oî?€eë?€&î?´ê?Íî?™î?€Ùï?€ßï?€óï?@¹ï?’ï?ð?€‚ï?€êï?@žï?@xî?Àí?Jì?€Ëï?ð?îï?ð?ð?ð?ð?€òï?ð?ð?@Þï?aî?@ëé?€ºï?@Íï?ð?ÀÑï?÷ï?@dï?@;ë?Äé?À…ë?Ôë?€‹î?§í?€hí?€Äï?@Bî?@äï?ð?ð?ð?ð?Àûî?€Ùí?€¾ï?@Áï?ð?@üï?ÀÆî?€‘æ?À ï?íï?À,é?z¼?@?Ø”?€ÙÖ?$£?@v?;ß?€ýï?@üï?Äï?€bî?ð?ð?ð?ÀÎï?ð?@Eî?Ä?`¥?€Àè?‚é?Àï?@kæ?9ï?@Åç?€\Ñ?Ù?€Ýë?ð?ð?ð?@ýï?Iï?ð?€çé?€R?”Æ?€Ò?@–ï?ð?@&ï?!ï?·æ? ?Àh?¬©?TÁ?€\Ñ?Kë?@„í?@Hê?Íá?€]?Àw?h–?€?ÉÌ?â×?@&é?À<í?‰ï?‚Ï?ä¢?AÌ?@}ë?€½í?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›ï?Àjí?ÀÐï?À†í?Àsï?ð?ð?ð?ð?ð?4î?€Ií?ï?ð?ð?ð?ð?ð?ÀØî?Çî?ð?€kí?@uî?ð?@çï?ð?ÀÊï?Àï?@ñï?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?ð?€Øï?öï?ð?ð?ð?ð?ð?ð?@tï?Ãï?Àï?ð?ð?€‡ï?À<ì?ð?µî?€(î?ð?@{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ê?€-Ò?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ï?@êï?ð?ð?ð?ð?À¬ï?›ì?À}í?@¹í?Pî?€åî?ýï?€#ì?@!ì?Ñï?€Hï?@ï?Àõï?ð?Òí?ï?€Ñï?ð?üï?@¦ï?@í?ßî?@í?ð?Àƒì?@ í?Àöí?€Áî?€|ï?Àüï?@´ê?À$ï?Àšï?ð?ºï?€±î?ÀRï?ð?ð?ð?ð?ð?ð?@ôï?€™í?ð?ð?ð?ð?ð?ð?€ôî?€ í?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dî?ÀHí?€,Ó?€@Ñ?ŸÃ?L­?Dâ?ÀÄï?@æî?€¶î?@çï?ð?ð?ð?€—ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çì?}Â?€Íá?À°ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ì?À6ï?ð?ð?ð?ð?ð?ð?ð?/ï?Àï?ð?À@î? ë?Ûï?€ï?€Œâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?ð?ð?ð?ð?ð?ð?€lï?ð?ð?ð?Àžï?€xì?À€ë?ð?ð?€ôê?zì?ð?ð?ð?ð?ð?ð?€©ï?ÀÀï?À¡ï?ð?ð?ð?ð?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?@ì?À€?@‚æ?ð?ð?Ûï?ð?ð?ð?ð?ð?ð?@ÿî?@«ê?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eï?€7î?@¯ï?@¨í?@ë?ýî?ð?ð?ð?ð?€ï?À¹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ì?6Å?u?@”?í?Àåí?€ÛÜ?©ï?@ßï?ð?„è?ÀÙì?€Öï?@›ï?@Çí?kå?Ÿæ?Àé?žâ?%ì?€.í?@Éî?Àþê?Àå?˜ä?€Òì?Ôë?€Ÿì?@éé?åÄ?T®?zÞ?À í?@¡ã?@ªå?î?€òî?€©ï?€©ï?Àáï?Àï?@ïï?@Óï?Àôî?À{î?€ßï?ð?ð?ð?ï?ð?€jï?ð?ð?Àžï?ð?ÀÔï?Àâì?À¦í?Àžî?€óî?³ï?ð?Àï?€¼í?€ï?Àïï?Àñï?=ï?€¹î?ÀWï?ð?ð?ð?€×ï?Àï?@Þï?ð?Áï?Àbë?Àm?ãÄ?€#Ü?€è?@)î?€Šî?½á?ÀÖà?Àí?bî?ì?ÀIï?ð?ð?@ïï?ð?ð?Tï?Kï?@Zê?À¦æ?iì?Àvî?Ùí?¾ë?@ûî?ÀØí?€àë?@Iì?dë?À‚ë?€øî?@‰ï?€Îï?€cî?@ïï?À©ï?@¤ï?À“æ?Àsï?@oï?€Ïâ?€­Ú?YÚ?€Hà?@#ä?À>ï?øï?ð?ð?€¦ï?˜ï?€Íï?ð?ð?ð?€8é?€Ýï?@ñï?€¡ï?†ï?€Èî?ÀCï?@¤ë?9í?ÀRí?€¥ê?ì?€bî?úï?@íï?@Âï?ð?ð?ð?ð?Àãï?Þí?œê?@«î?Àéï?ð?Àï?öí?@6é?@ï?ð?@Üî?€áì?6å?€µã?@ æ?ºÒ?H?€™?€ÿâ?Àùí?À_ï?Àõï?ð?ð?ð?ð?ð?À¬å?@ë?@Jï?Ú?p€?aÏ?L¤?€á?žÉ?áÇ?h£?®?”ì?À÷ï?ð?ð?À©ï?ð?ð?ð?@aï?ºÉ?¸”?B²?ˆž?À£ä?ð?€Çï?€‹ï?†ë?2È?R?P¤?—Í?@¼?ÅÆ?ðž?Ñ?€È?>?<¹?I×?ÀHé?@ï?ð?À—ï?€Üï?ð?€ZÜ?ð¯??¾µ?€×?“ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ð?€úï?€óï?ð?€óï?ð?þï?@³î?À—ï?ð?ð?ð?ð?ð?ð?ð?@ùï?Nï?Àóï?ð?ð?ð?@ûï?ð?ð?@8ê?ÀÖî?ð?ð?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@3î?Àðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?Ñî?@ÿï?ð?€Ùï?@°ì?ð?ð?ð?@‡ï?ð?ð?ð?ð?ð?ð?ð?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@;ï?€ÂÑ?§À?@Òä?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€‘ï?ð?ð?ð?ð?@ÿï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?™í?@?ç?ÀÚï?ÀLè?sì?ÀÂî?€³î? ï?ÀSï?€Ùî?ÀÎî?ÀEï?Àîï?€Nì?€žî?ð?ð?ð?@sï?@«ï?Àåï?@ï?@Vï?@ ï?À·î?@™ï?Ùï?ð?@3î?¸ï?ï?ð?ð?ð?€dï?ð?ëï?@Ïï?ð?ð?ð?Éî?ð?ð?@€æ?ð?ð?ð?ð?ð?ð?ð?ÀÊï?@ñí?4ì?@ƒî?ð?ð?ð?ð?ð?€ÿï?€¸ï?¯ï?€úï?£ï?€ê?Rî?@è?ÀZâ?@pã?€—Ù?@Ãí?ÀÁç?@í?ïî?ÿï?‡ï?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vì?}Ç?€Kã?€jî?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?€üï?ð?ð?Àï?ÀÆí?ð?ð?ð?ð?ð?ð?ð?8ï?@í?¸î?Äì?Àzë?@ÿï?@çï?À_ç?ãë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?ð?ð?ð?ð?sï?€¼î?ð?ð?ð?À9í?@Áî?€uí?ð?ð?€øï?ÀÙë?Úí?ð?ð?ð?ð?ð?ð?ð?ÀÈî?ð?ð?ð?ð?€­ï?ð?ð?€Ùï?ð?ð?ð?ð?ð?ðï?Ü×?dÉ?Àçî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?Àæë?må?€ŠÕ?€ôÓ?úØ?€òå?@eí?Àjï?úí?Àî?@èï?@Cí?€óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?€Fí?ŽÜ?lÂ?¬Ö?2Õ?”Þ?õÉ?@q?\¦?¦¸?ày?ƒÍ?Àºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?Àjí?€gã?@Ìë?Àòï?€Kí?zÆ?°‚?À{?ÎÅ?Ä¥?&º?€åæ?ð?üê?JÛ?ÿÕ?×?©?Œ£?@q?°…?•? x?€o?¿?ÞÑ?Œ¡?@€ç?€!í?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?@3ì?@†ï?Iê?4è?@—ç?@‡á?Ñä?@Žì?€ÿï?@ýï?€úï?ùï?€\ï?ÀÛï?€óï?ð?ð?ð?ð?ð?€Ýï?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?•ï?Àõï?ð?ÀRí?@–î?€Ïï?ð?ð?ð?ð?ð?ð?@ìï?Àßï?ð?ð?ð?Àüî?@ùî?@ ï?€ÿï?À î?@3ë?€âë?ÀEï?À¥î?€Tï?Àë?€BÝ?@…â?€øï?€¨ï?ï?€ÿî?À¿ï?Àáì?€ÿï?ð?ð?€&ï?@ê?€¯ê?€¹Õ?€“ë?€Ïï?€Úï?€Ãï?€Íï?£ï?ÿï?ð?ð?ð?ð?ð?@¯ï?€ýÐ?€üì?€ˆç?@î?@¶ï?Öë?©Ø?€9í?À"ã?Àeè?@bç? ë?€©ì?Àá?@åä?@®ì?ÀHê?@kï?À¹ï?Àÿï?›î?€3î?À·ï?€.ì?Gå?@Kæ?Àrí?*ï?À¼ç?€ì?@^í?Úî?À€í?ÀŒë?ì?kä?:ê?ÀRí?€cî?ÞÖ?Ù?€kæ?@óî?Àßí?2í?À…ì?€Áí?¸Ø?÷ç?@ôî?€Îí?ÀAï?À>ï?Àvï?»ï?7ï?×î?@}ï?€‹í?@Ýî?@µì?ð?@¨ï?ÀÉï?öï?€‹ï?ð?@¿ï?€ì?nî?À³ï? ì?Ïï?€-ï?äï?.ï?€Ëï?ð?ÀÑï?À î?kì?Rí?€èí?Àýï?ð?€Íï?@Ôî?Çí?ð?ð?ð?ÆÖ?ÀÊ?Úì?€3í?Àë?€²î?î?@ëí?@[ì?€Që?€í?€¢ì?Àáï?ð?ð?Àýï?Àwï?@œî?€lï?§î?‰ê?¢í?€~ï?¢ï?›ì?@Që?À‚ï?€ï?Óî?€Þî?Àäí?€î?@°í?€¤ï?/ï?€Fî?Êî?À‘í?€gí?ÀÈå?Àøî? ï? Ý?@¨à?À‰í?ÀPà?¤Þ?€Yï?ÀÛï?ð?ð?Àîï?€óï?ð?ð?ð?Àýï?0ç?@üæ?@ï?€eí?ï?€õï?ÀÊï?ð?ð?À›î?Âí?>ï?€1ï?ð?ð?ð?ð?ð?Àî?5ï?ð?î?€ë?@gî?ð?ð?@úï?€mî?€Úì?{é?€%ë?ð?ð?ð?@‹í?åì?€óï?€—ï?ÀÄæ?¾Û?ø©?€]?€Ñ?€ÖÒ?hà?€ðí?€Eï?ð?ð?ð?ð?ÒÞ?€*Ö?€ÿï?@¡è?€6å?€?Tª?0„??øç?ëí?@µî?ÀÃî?ð?½ï?@Ìï?ð?ð?ð?ÀJç?¿Ó?€ž?H¢?iÀ?€ÝÛ?À½ï?@äï?@žë?Xè?€IÞ?jÃ?H˜?€0Ò?Ø?.¼?¦Æ?>¿?ÃË?Té?€ûÓ?€ïØ?€wî?ð?ð?ð?ÀÃï?@Sï?€Ýï?€ëî?¦æ? š? v?^·?Àµæ?ð?ð?ð?ñï?€“ï?ð?ð?ð?ð?ð?ð?€Øì?ÀÒï?@åï?¤ï?@,í?oï?ð?Àï?ÀIï?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?@—ê?€½ä?€èï?ð?ð?ð?€šî?ð?ð?€ ï?‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?€ôî?ð?ð?ð?ð?ð?ð?ð?@†î?€Hí?@‹î?À{ì?ð?ð?ð?ð?Àºï?ð?ð?ð?ð?ð?ð?Íï?Àî?@í?@î?€ ï?@fì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Yì?p©?ÇÛ?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?@Áí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\ï?€Æï?ð?ð?ð?ð?ð?ð?À6í?@ãï?Àûì?@î?€ýî?€_î?‡ì?À7î?€î?€ùï?ð?ïï?ð?Àoì?@ï?Ôï?ð?ð?ÀÍî?kï? ï?@ãï?@pï?ï?Mí?@kï?€ùï?@Âï?»ï?€Vì?@=ï?@áï?ð?À©ï?@½ï?@zï?@Ìï?À´ï?«ï?ð?ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?3í?€õî?ð?ð?ð?@mï?~ë?í?ÀMî?`í?@ ï?ÀÆí?@&ï?bï?À®ï?Àí?€ê?ÀÙï?ÀÂë?Àˆï?ð?@}ï?ÀLï?ð?Àªí?ÿï?ð?ð?ð?ð?ð?ð?ð?@í?€Ùâ?Àçí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?@Üí?ð?ð?ð?€Òî?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØì?€Šê?Àlï?ð?ð?@ä?Àßí?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?À¹ï?ð?ð?ð?ð?@Ìî?ð?ð?ð?ð?€ùï?À„ï?€óï?ð?ð?Aí?À=è? í?ð?ð?ð?ð?ð?ð?ð?@vï?ð?ð?ð?ð?þî?ð?ð?€Þî?ð?ð?ð?ð?ð?€|å?Àt?€ñÕ?ð?ð?ð?ð?ð?ð?€Ãï?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•ï??Ø?G?ÚÕ?@ç?€¨ì?ÀDï?Àòï?ð?ð?@Óï?€Âí?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?ºÍ?-É?9Á?P?è”?x²?âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?Àãâ?T¯?NÅ?¡Å?6·?D¥? ?T´?ÀYì?€_ì?Ê?¶?€nÓ?hœ?„¼?ŒÈ?`¼?@©ê?€ë?Àüï?ð?ð?ð?ð?éï?€áï?ð?Àñî?@šï?“ï?ð?À0ï?ð?ð?Àxï?Ìï?@^ï?Õé?@Šê?Zî?Ùî?@–í?€<Ø?Öì?€Ôï?@öê?€Çï?‡ï?@Dï?Àˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùî?®ï?ð?ð?@‡ï?ð?ð?ð?ð?ð?ð?ð?ð?Þï?ð?ð?ð?ð?ð?À|ï?€Øï?Øî?ÀÍï?Zí?@¢ï?@Ùï?À®ï?€î?€ ï?€Wâ?@Þè?@Kë?@ è?ÀYî?€£î?ë?@Té?@+í?Àíî?ð?rí?Àå?ÀÆé?Rê?€ï?@«î?€ëî?À¯ç?ÀÁä?@%í?@Ùì?À9ï?ð?ð?¡ï?›ç?À¯ï?ð?ÀÏï?À6í?@óë?@­í?@·ê?Wâ?Òç?€áá?Àìâ?@^é?€×î?ð?Àùí?@ªì?Àçî?€î?€Zå?€ï?ñï?@£ï?@ï?ºî?À”ê?Àåæ?À¹ê?’í?Àîë?õî?ç?À¨é?@àî?€{ï?@zï?@ï?Àyê?Àlì?ÀFç?Ý?@ãç?@¾ç?€Ïä?@Ãì?€²é?@uì?@:î?À´í?À=â?@Ãé?€¿ì?@ùí?Sï?Àï?@ûî?rï?Àwî?€‰ï?€½ï?À'ï?À&î?ÀDî?@Ìï?€óî?@´î?@Ôï?À ï?Ÿï?€Óî?#ï?€ïî?ÀÏî?€Øì?ìí?€‹í?ð?Àï?Íï?ð?@Fí?å?ÀÖï?€xï?Èî?/ï?óï?€Ïé?Àï?@ôï?ð?ð?Úï?ªÃ?€rå?À’î?À¡î?î?À½í?@xé?Ýä?€å?@[é?@_ê?ð?ð?ð?ÀSï?@~ì?Àí?ûí?@pî?@˜ï?òï?;ï?œî?€áë?ÀØì?€úî?ðî?Xë?@âì?ìí?€xî?@Ñì?€^í?¿í?À¾î?€ùï?|î?Õï?ð?Àeï?Àè?Àâ?¾Ë?€–ç?"í?AÝ?€˜è?À§î?ð?Àòï?»ï?ð?ð?ð?€Ýï?Àë?áê?À£é?€çì?ð?@[ï?À$î?Àbï?ð?ð?Àç?˜è?À4í?@@ì?@Úë?@ï?ð?ð?ð?À·ê?€7ï?Àäë?@áî?ÀÝë?ÀJï?À²ï?€óï?dì?Àlè?@æë?Wê?€_í?­ï?@ë?ð?€!ï?@î?”ï?Þî?€ ë?€ŒÔ?®º?@„?pŒ?€îÖ?è?€øè?ÀÚä?ð?ð?ð?ð?@kë?@Ìë?ð?Àüï?NÝ?n¿?Ì¢? {?À»ç?@Xï?€[ï?Rï?ð?ð?ð?ð?ð?ð?ð?Íï?€«ê?äº?¥Þ?À,è?@Gî?€Äï?ï?€Qí?€ì?Àwì?@Òæ?€ÖÜ?@â?@q? ?€RÓ?@ê?À‚ê?@Hâ?@Øç?\Ô?0’??€LÐ?€”í?ð?À-ï?ð?ð?À/î?€Cî?À‰í?€˜ï?öï?¦é?ä?€AÞ?Ò?é?@Gï?ð?ð?ð?ð?@àï?ð?Àòï?ð?ð?ð?»ï?@[î?‹ï?ÀÕï?@‚ï?²ê?@Èî?@±ï?¬í?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤î?Éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†í?:ï?Yì?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄë?Àƒâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºï?+î?€ìï?À«ï?ð?ð?ð?ð?ð?€¹ï?À#í?@Ùï?@!ï?ÀCï?€jï?tí?€ï?ð?ð?ð?ð?Àêï?€ßï?ÀÛï?ð?ð?@1ï?ð?€2ï?¨ï?@qî?Àžî?Àï?Àíí?ð?ð?€Ýï?ð?€(ï?€ùï?ð?î?€ ï?@oî?ð?€Àï?Àòï?ð?€áï?À0ï?ð?ð?Àdï?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?À¤í?’ï?€*ï?€í?@_î?ð?€Kî?€|ï?Àlî?@<î?÷ë?ÀÀî?@ï?€²ï?Àdï?ð?ð?Hï?€ï?ð?@þï?@çï?@¾ï?ð?ð?ð?ð?ð?ð?ð?€Œï?@àå?Bè?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€eï?@Õï?€Aï?ð?ð?ð?ë?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?€]é?€kÜ?9è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?eï?@dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ÀÉï?ð?ð?ð?€‹î?ð?ð?ð?ð?Îî?À±ï?ð?ð?™ï?@$ã?ÀÕæ?@6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§Õ?€³Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@wï?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ä?àƒ?#Þ?zì?@àï?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉï?ÀFî?€—î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]ï?^²?ˆ½?ÊÑ?´? ¿?@a?0¼?P—?Æ´?€ÂÞ?Q?@#ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙâ?€y?`¨?à®?$¬?¨?p‰?ì·?Œ§?@q?D?D°?¦»?€vç?ÀÄì?€íï?ð?»î?@öï?ð?€lï?À´ï?ð?@î?€ê?€Øê?€òî?ð?À@ì?€é?@ºî?Àóî?@£ï?¦î?@î?Äî?ð?ð?ð?€Àï?@êï?À“î?À˜ï?ð?ð?Íï?À(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ð?$î?€”ì?À²ï?ð?€Žï?€î?@õï?ð?ð?€Ðï?ð?€Qï?Àúï?@Þï?@„ï?€vï?ð?ð?@¾ï?Íï?À‰ï?@»ì?À@ë?€ôé?Gî?î?@Áï? Ö?À”ì?@Xï?À^í?ð?ð?ð?ÀÄí?ï?Àcì?@½ï?€1ï?@®ç?€ìå?@&ï?&ï?î?@Øí?ÀNë?ï?@+ê?€Ýç?ð?ð?€¨ï?Àyï?À3ï?ÀÛî?iï?Àóî?€öé?€æ?€àÞ?€ Ô?@í?À¨ï?@Ÿî?@!ï?ˆë?À8í?@î?@Oï?¼ì?@áì?€rî?€0î?€Õã?Àxé?rì?@Œë?€¼í?‰ë?Àoë?Àjí?@pê?€˜î?€qæ?€;ì?À ï?€ ï?€Òë?€3í?@Në?€Uî?Àí?@Qï?€¢í?€«ê?Àžë?€Äî?€éë?³í?ð?ÀÕï?@Ìï?´î?@iï?€øë?ê?@Õï?tï?À=î?@ûï?ð?@Jï?ð?ð?€*ì?.ë?€ï?À%î?Ÿî?€Qî?ÀÓï?ÀVï?ÀÕï?ð?ð?ð?@~ê?z?xÜ?€÷ï?úï?Àï?`î?Àçî?íî?ð?8í?nï?€ ï?2ë?ï?¨ï?Àë?@í?@‰ì?Àê?€-ï?Àï?ÀÙî?£î?@èï?–ï?@Ûì?@îí?€í?@åí?@Èî?€Jï?fê?€Žè?€ï?Àyï?Àüï?ÀÜï?@nï?À$ï?€Áí?À“ê?€Ù?@hà?@;í?@jî?@)í?Àåí?£ï?Àîï?ÀÝï?€Ýï?ð?òï?Àüï?ð?€©ï?Ñë?€›í?€î?€Õí?@ùì?ð?@Úï?€Ïï?@¥é?€!ç?€þÐ?€?í?À+ì?`ä?@œæ?ÀÀï?@+ï?¯ï?@!ï?À‰î?ÀÁí?€Íê?–ê?@?î?€`î?@Jë?Àï?À‰ï?@½ï?€àî?€Øï?ð?ÀKï?ð?ð?@iï?>Ô?ÍÁ?ÏÂ?¨”? v? ½?âÑ?áÛ?€vØ?*°?¦Æ?TÊ?€dë?Íï?€ í?–í?À¸î?ð?ð?ð?ð?ð?Àåï?Oî?À7ä??:±?Óå?Z?‚Ã?€Zï?€pí?@yï?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙã?l?Àd?@Zå?ýï?ð?ð?€£ï?À#ï?Tê?À=ë?@zï?à?E?ÿÄ?ÑÒ?@”å?À[ï?ð?æï?Üî?€‚Û?ÂÀ?N»?Àg?ú»?€Õ?@.ä?À2í?Àðî?@àï?ð?€ï?ð?ð?ÀUï?óì?€”í?Àiï?ð?@ûï?ð?À8ï?Ëî?@üï?@’ï?€qï?zï?ð?€˜ï?ð?Àüï?ÀÆê?€¢ç?€ï?À‚ï?ÀÁî?À7ï?€Þî?Àôï?À¦í?9î?ï?@çï?@…ï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?@‡ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?À3î?ð?ð?ð?ð?ð?ð?\ï?€~ï?Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~ë?6Ò?€hê?€ÿï?Àšï?@Yè?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Wï?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?›ï?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?ð?@Êï?ð?ìï?@Åï?ð?ð?Àºï?ð?ð?ð?ð?ï?ð?‡ï?@Kï?@”î?Zí?À_î?€*ï?ÀÞï?€åï?`ï?ð?ð?ð?ð?Àüï?ï?ð?€ï?ÀÚï?@fï?ð?ÀZí?@¸î?À±í?Àmî?€íï?ð?À”ï?@ÿï?Ëï?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?€ î?€Oï?Àîî?@Fï?Àçì?€¨ï?ˆî?)í?@ï?À«ï?€ïï??ï?ÀCï?@ëî?@Îí?€Fî?@ì?”î?ì?sï?Øï?@ï?ð?ð?ð?ð?ð?ð?øï?”é?€yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€òï?ð?ð?ð?ð?€ î?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ý?À1í?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?@Íî?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ïï?ð?ð?ð?@çï?ð?ð?ð?ð?€÷î?@3ï?ð?ð?@é?2ì?@Hè?@ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®è?hœ?ôÈ?€êï?ð?€ýï?þï?ð?ð?ð?Àüï?úï?ð?„ï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?Û?<à?@Ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?ð?ïï?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?QÀ?Ê?ãè?€¢Ý?O?€$ã?„ã?’Ö?À¨â?Àµì?hË?G?’?€‹è?ï?Ï?.å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?€þï?€}à??|°?/á?,Î?€«Õ?È•?˜¥? £?¸Á?€SÐ?t½?†?e?€“?ˆÌ?›?®Õ?ÀLç?Àdç?#ë?@£î?@Ôï?ð?@ ï?@Úï?ð?ð?À¤î?@¯ì?=í?ð?Àqï?€ë?@Âæ?€*ì?Áï?€Èí?@íï?€ºï?Àõï?€»ï?ð?ð?ð?¬ï?€ìï?ð?€íï?ðï?Òï?ð?ð?€í?€Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?@ï?€ðî?@8î?€uï?@{ï?‡ì?Ìè?Àî?@œï?ï?@ñï?ð?Kî?À—î?ð?Øï?@èí?ð?2í?tï?€¢ë?zé?lï?@Aî?€/ï?yì?àî?æß?€ÿï?í?äï?ð?ð?ð?ð?ð?@ï?Àïï?ð?ð?vï?ÀÀë?€Aì?€MÞ?ÀÅì?Àfä?@Ôï?æ?ËÊ?€Èë?@8â?XÝ?+ë?@ï?ð?@ëï?ßï?€1è?€ Ø?€á?À_æ?À]î?äï?€`ï?Öä?0É?€Óã?@Kï?€Èï?€Të?@në?ë?€ûê?°è?¡ë?@è?@¬ì?ùé?€ÏÜ?€’ç?€˜î?ÀÝç?@*ë?€°ï?½ë?€Ÿç?Àí?Uí?À=ë?@Gì?@ì?€rí?@Xî?ùì?@®é?@tí? ï?€êë?€¬î?Àî?À¸ï?ë?À„î?@þî?ð?€Óï?@ï?€ ï?€Nï?ð?Àîï?@×ï?€øî?À/í?À\ê?þê?€Îî?@ ï?‚í?À ï?@¯ï?€©ï?ð?ð?ð?ð?›ë?€—? «?€Jâ?€®î?€aî?uï?ð? ï?€ê?ð?€Çï?€üï?Àeï?Àïï?‚ï?Àë?À˜ì?@%î?ê?Ñî?À^î?@¥î?€’í?4í?@åî?Àì?@Ûï?Àî?’í?Vî?Xï?À%ï?€mï?À ï?ÀÌî?ð?€Šï?@Ýï?À§î?'ï?@¹ï?¼æ?cÔ?€é?@ûï?@Äï?jï?À³î?Ñî?Àûï?€Âï?€øï?ð?ð?ð?ð?Xî?dï?€@ï?ÀUë?€?î?À®í?Hê?Àrî?0ã?@öà?÷Û?HÊ?€Êí?èè?ÀÛê?Àmî?’ï?ð?êí?®î?€ï?€Îï?Àšï?€Üï?Àcë?@Çå?ð?ð?Àüï?ûï?€iï?@àï?@0ï?ÀÏë?€>ê?À â?Àå?@ä?€ùà?ýÒ?i?…Ã?äç?ð?ÀÐï?@ç? ï?@í?€î?&î?À¥í?À˜ï?À{ê?æï?Àöï?^ï?@÷ï? ï?@Èï?Ö?ü¡?@Óâ?€'Þ? ?@s?€¤Û?€Ùâ?€€æ?ð?ð?ð?Àýï?ð?ð?ð?ð?ð?oï?jØ?@?ÁÓ?À‘ï?ð?ð?ð?ð?€aí?@‘ï?¤à?Ô¿?ä±?Ì?À¨î?ð?€—ï?ð?ð?ð?ð?õî?€fï?À[à?V¼?T¥?>Ì?æ?À/ï?ð?ð?ð?ð?€¿ï?Àï?À4î?€îï?€Üï?À®í?Jì?@ì?À}ï?@Ìï?Àƒï?À¹ï?@ìï?ð?ð?Ýï?€fï?€ôï?€-î?@Ïî?¤ï?Àªï?ÀÏé?À«ç?Àí?Àûí?€7ï?ð?À%ë?@í?ÀÆï?Àî?€¿ï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?{í?ð?ð?ð?»ï?ð?ð?ð?ð?@÷ï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ï?@Õï?ð?€Sï?Ôï?ð?@¿ï?Öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àxë?@»î?€·í?Àýï?ð?ð?ñï?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dî?}Õ?€í?€»Ô?å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àrî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtï?ð?€‰ï?€žï?ð?ð?ð?ð?ð?ð?ð?ð?Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?À¥ï?ð?ï?@]î?@3î?@fî?êî?Úï?ð?ð?&ï?ð?ð?ð?€˜ï?€•ë?ð?ð?Bï?Àëî?ð?Àê?À¹ï?ð?ÀÖï?À…ï?ð?Þæ?/ì?À¸ï?€jç?@òï?ð?ð?ð?ð?ð?€úï?Ÿï?€iî?»ï?ð?@Ðî?€±ì?ð?€øï?Àªî?’ï?¸ï?ð?€¦ï?ð?ð?mï?¬ï?@—î?ÀÆî?€Šï?€áï?@üì?@ëí?€-ï?ð?ð?ð?ð?ð?ð?@—î?Àlí?qê?*í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"ï?€Çì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àpì?Àœç? ï?ð?ð?ð?ð?Àìî?ÀLï?ð?ð?þí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ÀUï?ð?ð?ð?ð?ð?ð?ð?@?ï?Àsï?ð?ð?€cì?@jå?@Úï?@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àÖ?>?€¦Þ?ð?ð?ÀÛï?Àãï?ð?ð?ð?€ëï?ÀØï?ð?ÀLï?ð?ð?À©ï?Ýï?ð?ð?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rí?ë?ÀZï?ð?ð?ð?ð?€Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›ï?Àqï?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]ì?œ«?ÚÆ?tÞ?.³?@o?Àš?@+à?ð?ð?ð?ð?€|î?ÌÞ?Ào?ƒÐ?@9ï?QÜ?´Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?iï?ÀÈî?@§?:?Œµ?0¹?¨™?l¹?Û?®Ã?ö·?çÄ?êË?[Ñ?ð?€Ëè?€ýç?€$Ü?€VÜ?@à?à™?€à?€ùÝ?@Gå?Pì?@—ï?@âï?@Äï?ð?Vì?ð?ð?ð?´í?@™é?€Íì?œì?wê?€tí?€í?@òé?Àòë?€Sç?À¢ê?ºí?@•í?€dë?ð?Žï?ð?ð?Àáï?@çî?!ï?ð?ð?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjï?ôï?“ï?@²í?ð?@•ï?½î?@ûî?Èï?@Äï?6ì?€§ï?€5ë?ð?ð?‘ï?Àgì?ð?€nï?À"ï?€'ï?%é?äí?€çî?€Sç?À®â?@•ï?Àæé?ð?€„ì?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcî?À¸å?À-â?Àõì?Ýì?€ëç?À æ?0Í?À'é?0ê?Úä?Õæ?€ƒß?@åí?€Ÿï?€4ï?@Óï?€êî?@íæ?@…ä?”é?€Vè?Àêï?À³î?ÀÍï?€¾î?À$ï?øí?@Zî?À¢ï?€Ýï?€î?€Ÿí?€^í?€æ?Ÿé?€Rê?€Uí?€£ê?€Áè?õì?€+ì?^î?@6ì?ÀIï?ÀAî?À1ï?À<î?€8ë?ÀRî?@­î?Ùé?ÀHì?€^í?Àhí?€Üí?³î?ÀŽî?À®î?@î?€ôî?@Ëï?ð?Ýï?ð?€ëï?€Cï?ð?Ìï?€½ï?4í?Øï?Àüï?@î?ï?ð?±ï?€úï?Àçï?ð?€î?¯ï?ð?ð?ð?ð?ð?ñÞ?4­?@-é?ð?€—ï?ð?@âï?À)ì?ôï?ð?ð?Àªî?@íê?•Û?@¯ë?ð?Àeî?€Óì?Àmï?À_ê?@èì?@í?«ï?@Tï?Pï?€Tì?@àä?é?@†í? ï?€îï?ð?mî?mï?¼ï?€³î?€×ï?À™ï?€ ï?À.î?À0í?@Mâ?@Âà?€±î?Àãî?ÀÏï?ð?@Äï?€Ýï?ð?ð?ð?ð?Àîï?€‹ï?Àí?ð?€ìï?×ì?<ï?ûÝ?=Æ?€ªÖ?Û?@ ã?çà?@p?^Ý?€å?€*ã?À¿ì?Àßï?€î?€žì?ð?ð?­î?ÀÅï?ð?ÀÌï?@bï?ð?ð?ð?ð?üê?€¡ä?ÀOá?«Û?€æá?€9â?ÀÎç?€Öé?ªï?À'ì?ô©?€{?;Í?€›ä?Ôï?+ë?€ë?@Óï?ð?áí?¤ì?kí?£î?«í?ð?€\ï?@ï?Çï?Àé?€¥Ü?¨¤?öÂ?€t?ü§?…?@¬ç?ð?ð?ð?wï?Àïï?ð?ð?ð?ð?ð?Äá??@|?Ê?€ Ð?€Šç?À°í?ð?ð?ð?À…ï?@½ï?@Žë?wì?À@ê?@ é?@Iï?€áï?vï?ð?ð?Àíî?ð?ð?ð?Šå?@…á?€æ×?@$ä?@áê?ð?€áï?ð?ð?ð?ð?ð?@Xî?@®ï?ïï?@¨ï?Àì?€ í?Èî?À/ï?@ˆï?ÀGî?€Ýî?€Ùï?ï?@·í?@‹ì?€›î?hï?@ï?€óì?€tî?î?aê?=ì?@¼í?@ë?@Aî?šï?À¿í?@"î?@Sï?ð?ð?€æï?@•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?î?ð?@Åì?ð?ð?ð?ð?ð?ð?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…ï?€‚ï?Øï?€Ìï?ÀÑì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?€•î?ð?ð?@ï?À¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çí?ûÈ?Àâ?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[ï?@ï?ð?ÀÅï?À•ï?ð?ð?~ï?ð?ÀÀï?uí?À2ï?€äí?ð?ð?ð?ð?€Úî?ð?ð?ð?ð?ð?Àûï?5ï?À…í?ÀYî?ð?ð?ð?€oî?¥ï?Àßï?ð?ð?ð?€oï?€fî?ð?ð?ð?€Ëï?€}ï?ð?ð?ð?ð?ð?€™ï?ð? ç?@†í?ð?fï?Îï?@“î?€‡è?øï?ð?ð?À©ï?ð?ð?€÷ï?€¢î?À¤ì?@Sï?ð?€öï?@ ì?»ï?ð?}î?@˜ï?ð?ð?ð?ð?ð?ð?@Ìï?®î?@Xî?ð?ÀÝï?€$ï?€Oî?€5ï?ð?ð?ð?ð?ð?@Ìï?ƒï?€Ìï?€Yí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…ë?@Šï?ð?ð?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žå?@è?À&í?þî?Àî?@Ñì?„î?ð?ð?ð?ð?@6é?ÀYï?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?_ï?ð?ð?ð?ð?ð?ð?ð?ð?Íï?ð?ð?ð?€Nå?€Lè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßê?8¡?Ày? r?¾?1Î?6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?Þï?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rí?¬ë?ð?ð?ð?ð?ð?»ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?€óï?ð?ð?ð?ð?ð?ð?Àeæ?àŠ?ް?À.î?€«ê?…Ì?®¶?ßâ?À+ã?ð?ð?ð?ð?ð?€—í?à¦?™å?®¼?°Ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?mï?Àñï?À­å?€ó×?@¹í?€–ä?€[â?^Ç?S?3à?@ùï?@”í?ð?€æë?@ôï?€…Ò?޵?@aâ?@wæ?Ÿâ?@Ñî?@­î?ð?ñï?@ë?€Ãã?7ï?ð?€Ýï?,ë?dí?[ï?@‰ï?ÀÅï?ÀÝì?dê?@|î?@±î?À@ï?Àªî?€Öí? ï?ð?ð?ÀNë?­ï?@®ï?Îî?€÷ï?ð?ð?@˜ï?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?Àüï?€Ìî?ð?ð?‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éì?ð?ð?€Îï?À´ç?ÀBî?ð?À½ì?@ôï?ð?ð?ð?ð?Uï?ð?ð?ð?ð?Àûî?Ñê?€äï?@œï?@áè?€úï?€Lì?Ÿí?˜ë?À¤í?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6î?@Çé?Àæ?@1ì?Àeí?À¨î?Gï?Àî?@Úî?<è?€Bà?@gä?@—á?@~è?¢ç?ð?9ê?Àµë?@Mí?‚Ñ?€`Ø?Àë?ÀÒë?€@î?€Õï?€|î?@eï?€³í?3à?ÀTè?€Ië?ní?ÀEì?€ß?=Ø?€7ë?€ýè?@Bë?À†ê?À'ï?ÀIë?hé?@Œí?@xì?À†ì?ïê?»ï?Bë?@‰å?€Žì?ÀKë?Àßç?mé?À6è?À1ç?¡ì?À<é?À¨ê?€Ëï?ãï?@î?@fî?ð?€‚ï?ð?ð?ð?Àðï?@üî?À|ê?õì?ïï?ð?€°î?@ýï?€¡í?Lï?Àsï?þç?ê?óî?€Äî?ð?ð?ð?ð?ð?@Yë?Š?€S?€¸å?ð?ð?‡ï?×ï?ÀIî?€„ï?€Ýï?ð?@ˆê?€Dà?–é?€¾ï?@¢ï?€0ä?€Ý×?µÙ?À²é?€tè?@fæ?@zï?À.í?eí?€ê?ÍÙ?@Zâ?€"î?@Œí?€Ìï?ð?*ï?ˆï?@Ùï?@ï?@qï?Àî?À¯ï?rï?@Áî?@ê?€»í?Åï?˜í?Àï?À³ï?ð?ð?ð?ð?ð?ð?ð?Ãï?À ì?€Zï?ð?€Ží?Àrï?µâ?€HÐ?¬Ó?@`á?À=î?@•è?JÃ?‡Ú?€ì?Àéì?€^î?€pï?ÀÍë?Îî?ð?ð?ð?ð?ð?€¹ï?ëï?ð?ð?ð?€dî?@Çî?€æá?üÈ?Àaâ?^î?ð?ð?ð?ð?ð?€Ü?ø–?@a? p?qÌ?€èÚ?ÀÕå?|î?@žî?ð?ð?@í?Ôî?@Eë?€Òï?€|í?À¾ï?À¢ï?ð?ð?CÙ?Àz?~Ô?vî?ð?ð?ð?ð?¿ï?ð?ð?ð?ð?ð?À9è?€ÂÛ?,?t¥?àž?¨´?Ì·?@q?л?€ ï?ÀÅî?†ï?è?@ï?ð?ð?ð?ð?€í?€Tï?€üï?@né?ÀŠî?Àï?€î?Àlï?@Mî?€#ë?ð?ð?€ºï?@í?€ŠØ?>Æ?€òÑ?€’ï?ð?üï?ð?ð?@÷ï?ð?€ìï?@Bì?Àsï?ÀJî?ÀÁï?€¢ë?€pï?Àï?ð?€Bî?Æí?@Ÿï?ÀÍë?€yí?~è?@…ì?Pî?€ôí?@ïí?ÀÌí?ùí?€Þì?À7æ?€°ß?œí?À!î?í?dì?xî?@æï?ð?ð?ð?"í?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ùï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ì?;Ã?€Ðè?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?€sï?hî?ð?À÷ï?ð?êï?€óï?@êï?Àaí?Àæî?Àqî?ÀŠë?ð?ð?"ï?€<î?€Ñî?Àfï?€åï?ð?ð?ð?1ï?ð?Àóï?€åï?ð?ð?ð?ÿï?Àâî?€Òï?Þï?ð?ð?@ê?‘ì?€uí?€Ýï?ð?ùï?€îï?ð?ð?ð?ð?ð?ð?»ï?Àí?À|í?Ëé?ð?ð?Àýï?Àeï?ð?ð?ð?ð?ð?ð?ð?ð?Àùí?ð?ð?ð?@Ñì?Àâï?Àï?€ï?@eî?ð?ð?ð?ð?ð?ð?ð?úê?¿ê?/ì?@wï?¹ï?@îï?îï?ð?ð?ð?ð?ð?ð?Àúï?ùï?€Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uì?@í?€®î?ûï?@Þï?ð?ð?ð?ð?¯ï?€úï?ð?ð?ð?ð?ÀPî?@Ìï?ð?@Éé?@€î?ð?€¨î?@ˆï?Uï?€Jï?ð?ð?ð?ð?¹ï?@ýï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uï?Àç?Àjã?À à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@‡å?¬¨?L?€aÚ?€%å?€#ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?Çë?@ºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@ðï?ð?ð?ð?ð?ð?ð?€Dí?€jè?€Äì?€Òï?@ à?€Q×?€¼Þ?íé?ð?ð?ð?ð?ð?@ßï?€µÜ?@l?С?Þ?¬Ó?xµ?@žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?Nß?ŸÊ?‘å?@½ë?€IÝ?×?$?ÛÉ?À0î?@îí?@›æ?€Ûã?Kë?€m?€q?hÂ?7Ü?À1ì?ÀÇé?@Ïï?€üï?@1ê?xØ?¹ë?¶î?»ï?ð?@Cí?”í?ÀPï?€Sî?ÀÕí?Àvé?@*ç?ÀKä?@Éè?@Èï?î?@±ï?ð?ð?ð?ð?Àúï?@óï?@{ï?Àfï?ð?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£ï?€Ïï?ð?€Ýï?@öï?ÀÃì?†ï?¼ï?ð?ð?ð?ûï?@üï?ð?ð?ð?ð?À©ï?€Ýï?@Bï?ð?@_ï?€¡ì?€Âï?À÷ï?ÀBï?Àdï?ð?ð?ð?ÀŸï?ð?ð?€²ë?Bï?ð?€¦ï?@ÿî?ð?ð?@èï?ÀÃí?ð?£í?À4æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ë?@’í?@Ïè?@»ë?Ùï?Àóï?Àï?€í?À{ê?¾é?iÎ?¶Ê?€¹á?í?Àè?@Iï?XÃ?8•? ™?ð»?gÄ?ßî?@%î?@Oç?ë?@Ûï?@ÿï?€Yî?Àþë?Àèí?“è?Ûí?À§ï?€Iå?šÕ?¬Æ?Ê?€ìä?€ë?@õí?€“ë?€í?@•ì?@½ï?€Fì?˜Û?@Dè?€Èê?ÀŠè?Àèì?@£î?¹í?ÀÔì?Ü?¤¶?€+Ö?Àéç?@Sí?Àï?€}í?@zî?@Rï?·î?€×í?ð?ð?ð?þï?Îï?@¹ï?À*ï?ð?ð?4ï?Ùï?Àï?€ýï?@ýî?À÷ï?²ï?@ôí?Àìï?ð?âí?@°ï?ð?ð?€œî?äª?Ài?*ç?Àîï?@ï?À‘ï?Àüï?Àaï?ÀÃå?€ëÜ?@ïà?€XÔ?@Yé?@àî?@*ï?€àê?€Ý?uÍ?€íÜ?dÛ?ÀZè?'î?Àwï?@8ï?ð?ð?€¬í?eî?Àïï?Àºï?€~ï?Àï?ð?€Çï?€åï?@Úî?ï?@Þî?€ëî?í?€Ÿî?ÿï?@‡ï?ÀÔï?€õï?mï?@,î?@îï?ð?ð?ð?ð?ð?ð?À÷ï?@!î?@Ñî?ð?ð?ì?´ê?üê?ÀFä?è?Àí?ÀVï?€›ì?ÀSì?ÀÎê?€ßé?@„ê?@ðê?è?ÀDí?À©ï?ð?ð?ð?ð?ì?€Àè?²î?áï?@à?è·?0°?Ø“?€"Ö?€ºï?Àþî?@Úï?ð?Ëï?€.î?÷ï?€(æ?ýÒ?Ê?€Ò?|?G?N?À’?€œÚ?è?@›î?€Yï?@Aï?Àeï?ð?ð?€»î?þï?@bî?Áë?@³î?ð?ð?€ç?×?À¬î?ð?ð?ð?ð?üï?ð?ð?ð?€Aì?@8ê?€Óê?9Ö??F?³?À†?€Vâ?më?€í?Àöï?Ú?€ÃÐ?À•å?@½î?@åï?ð?€ì?€Šë?@Eî?@èï?ð?Àêï?pí?€çì?À®ï?@!é?@yï?xï?ÀŽì?€Òì?€ºí?ÀÈî?ð?ÀŽï?ð?^î?ð?Nï?€Êë?ê?ð?ð?Àï?€êï?Áï?@†ì?@Ôë?@6í?€¸î?ð?ð?”ï?ð?€Ôî?ï?À!î?@mï?ÀÍì?@™ï?Àqî?Àžï?€yê?€Çî?•ï?¿î?Àë?@Õë?@ì?Àñí?ªë?úë?@ãé?€lï?€‚ï?ð?@+ï?€“ï?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒï?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*ã?€â?À)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?@×í?ð?%ç?tï?ð?™ï?€‚î?ð?ÀÎï?Žï?À9î?€kï?ìï?@æî?€>ì?À•ï?@€î?€Þï?üï?óî?À¯ï?ð?ð?ð?@Úï?À_ï?ï?÷ï?À¯ï?ð?ð?ð?ð?€ ë?€Üí?€îï?ð?|ï?@Ñé?ð?¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?€ ï?ð?ð?ð?€ÿî?@ï? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVí?ð?€Mï?@Áï?Üï?ð?ð?ð?ð?ð?@Ÿï?@rï?@(ï?À€ï?©ï?€ì?ð?ð?ð?ð?€ªï?€Ûï?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?éî?ð?ð?ð?€¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?ð?ð?ð?€¨ï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òí?ð?@Ìí?–ï?‚ï?ð?ð?”ï?ð?ð?ð?ð?ð?ÀÎï?€Þï?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ÀŠã?Àúá?në?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êè?èª?Àf?ýà?@Öæ?€†Ù?ð?åï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?€ï?€‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?@ñí?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒä?T¿?¸?‚È?¬ç?€ï×?À³à?ð?ð?ð?ð?hî?Cí?À°ï?Àï?›×?°‚?@|?ˆÅ?â?€#î?(°?®È?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@'í?,Ã?D¡?K?Æ?À5ë?€Íë?€ Þ?àµ?ýÕ?@Tï?€ãå?Àuä?Iï?²È?PÓ?Æç?Àä?À³ê?€[í?À°î?1ä?À_å?Mí?Àþï?ð?ð?Èï?{ì?fì?€§ë?@ï?€`ë?Àï?€^î?@£ï?À_í?ÀÞì?€Ùï?ÀÞî?À(î?ÀXï?€Çï?€¥ï?€îï?Àöï?@ùî?ð?ð?À×ï?ð?ð?ð?€êï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀRê?@òî?ð?€Ÿì?@î?ÀGî?ð?ð?ð?ð?ð?²ï?@ýï?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?Üï?@Ÿï?ð?ð?Þï?ð?@Ãê?é?Oï?€;ï?ð?Hï?ð?ð?@Åï?ð?ð?ð?Nï?À¹í?ÀJï?ð?@¢ï?ÀŽï?ð?ð?ð?ð?ð?À—ì?Aà?Àxï?"ï?À­í?Àšî?@“ï?@ôî?€çë?€´í?ð?ð?¸æ?@:ï?@Té?ÝÞ?€Žá?€ñë?€zï?€”ï?€®ï?€¸×?pš?óË?À¢ï?Àíî?ÀŸï?@î?ð?ð?@¾í?@)î?ÀYë?€øè?Cê?ÀÂï?ï?@äí?€Šê?€Bê?ð?Àëí?ÀÂë?@Eë?@Œì?­í?@ í?Üï?ð?Àúï?ÀÏï?À×ï?@bî?@sí?@êì?ôï?@>ï?•î?@Kè?@Hé?@õî?€Àï?@•ï?€…î?uí?Àñè?Àâ?Àñæ?€é?À.î?€fï?îï?ð?À>ï?Àñî?ÀÜî?ð?ð?ð?Uï?À6ï?ð?ð?ð?€úï?€Ïï?€Öì?¦ï?,ï?ð?ð?ð?ÀÚï?=Â?‰?À-ã?ð?@Úï?oï?ÀÊï?@ñï?€`ê?€aÞ?jÔ?€ÑÞ?@ æ?@<ã?1ì?ÀRî?;ã?ýç?@Íé?€&î?@~é?Àé?@Vî?À–î?ÀÊî?ð?@wï?±ï?€Iï?ð?ð?ð?ð?²ï?€œî?@Åï?@‡ï?@©î?ï?€Þï?€»ï?­î?À9ï?Àôï?@ýï?Žï?Õï?€ðì?À3î?€Êï?îï?ð?€Ìï?ÀÞî?ð?ð?ð?fï?@Áï?@×ï?ð?Àùí?Àqí?‡ã?Àï?@‹ì?@î?ÀÄé?€!å?€·è?î?À-í?€í?€Qí?@=í?ð?€åï?Àiî?ð?ð?ð?ð?ð?€sï?ë?Àê?´Õ?Àw?€€ß?&ë?€*ï?@Zî?€ï?ð?ð?ð?Àmï?Jà?€Ô?À ï?@Ží?6à?ÌÈ?$·? r?€e?ι?+â?À’î?€šå?€ˆé?ð?ð?ð?ð?€Dé?@ºí?@þï?Zì?Ýî?ð?ð?ð?€•ë?Ž·?Ò¼?ìí?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?¸î?âí?Fè?ûé?oÂ? ?@§?š°?Ì ?P‘?Ì¢?¦¼?HÓ?òÇ?€¢í?¯ï?ð?ð?À;à?€Gã?Àdé?ð?ð?ð?ð?ÀÇî?Àî?2î?À“ï?€óï?ÀÕï?ºï?ð?ìï?À;ï?ð?ï?À¬å?â?>ì?@gî?@ìë?óï?@Éï?ð?@”ï?Àòï?ÀÞä?ð?îï?ÀÔî?€ùí?€=ï?@éì?@Óí?@Aî?€àï?€ßî?Àÿï?@‚ï?Áï?Ñï?Àæï?@©ï?@Äî?@ví?€ï?€Mî?@+ï?Àyî?Êï?@»î?À î?À£ë?Àî?ÀMï?@ùï?ð?€xï?@ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?@yï?÷ï?ð?ð?ð?ð?ð?ð?ð?À®í?€6ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?ð?ð?ð?ð?Àæï?@­ï?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—î?OØ?¼Û?èç?ñè?@Jê?€–î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€dí?Kï?À5ï?€Íï?ð?€Áï?€ ï?ð?ð?ð?@ùï?Àäï?½î?À—î?@Øí?åï?ùï?ð?ð?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?€Àî?òï?ð?ð?âï?@ïï?ð?@õï?€àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?€ î?€›ï?ð?ð?ð?Àòï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?€üí?€wí?¤î?Òî?ÀXî?Àäï?ð?ð?ð?ð?ð?ð?ð?üï?Àþí?Àÿï?Èï?À»î?@Úè?¿ê?@Lî?ð?ð?À˜ï?€gï?ð?ð?ð?ð?€óï?iì?í?ð?Êï?ð?ÀHï?€ôì?Çí?ÀÙí?5í?€Óí?cí?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?ð?ð?ð?ð?€ï?€¬í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üé?À"í?À›é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?€"×??H?<³?ŽÆ?À+í?Àõî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?€êï?@Ûï?Àñî?Êï?@Üî?ïí?!ï?€±î?ÀŒï?Àÿï?}ï?Ìí?÷ë?€ví?À¦í?€¡í?€Œì?€2ï?@Pî?@Jï?À&ï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?4î?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓì?€Fë?Àí?òî?€Ñî?Àå?@ï?ð?ð?ð?Áï?|Ñ?ÀŠã?ä?ð?@¯ï? ä?x?0€?€gÑ?´Û?ª²?€Öé?Àsî?¿Ñ?б?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üê?MÈ?€Y?Þ?€ñì?€ôÛ? ?´?bÞ?Àvæ?I×?ÐŽ?ʾ?À0â?ÀËî?ð?ð? À?‚?»É?@xì?Àá?€-è?@€ì?@Úì?”á?@?å?tæ?@Îé?½è?€üí?ð?ð?@“ï?À¯ì? ç?À”î?@˜î?@½î?ÀXî?Oï?€Cë?À+ç?€)é?€ é?ð?Àï?Àí?ð?¸ï?ÀÑï?Àßï?ÀÉï?ð?ð?ð?ð?@óï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€„ê?ð?ð?ð?ð?ð?€xï?@"î?Àdï?Yå?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?€èï?€ î?pï?@Ãî?ï?@Yî?§í?@bî?À0é?@6ï?€©ï?@Ìí?ð?Àòï?À·ï?ð?ð?ð?ÀÐï?€œï?ð?ð?€÷î?ð?ð?ð?ð?À«í?€Ñé?@ç?ðï?âï?@ï?@ëï?@ûï?ð?ÀÉî?À`ï?ð?ð?€sï?€OÛ?GÈ?`x?°?Àƒé?€êì?€¨ï?@Nï?GÀ?u?Àïå?ð?ð?ð?Àÿï?Oì?€œç?@ãæ?À¤ê?€•í?­í?€)ë?€iï?Éï?@ï?¤ï?ð?Çî?@uí?Çí?ï?@«î?À»ì?ÀÍï?ð?ð?@í?@0ë?@ï?€„é?€ýê?@ßï?mï?À©ï?jî?€;ï?@‹î?€Îì?À0í?Àï?€\î?@í?Né?€Íä?@}ì?@Yê?@šë?@ÿï?€ÿï?ð?À|ï?@‚î?ï?@ÿï?ùî?€@ï?Àïï?ð?@Ïï?€Fï?Àÿï?ð?ÀÉï?ð?€¢ï?ð?ð?ð?€ôï?ÚÌ???b?À˜?@"å?€½ï?Àøï?æï?_è?®é?€Ÿî?@wë?€Ïí?À¦ï?À|í?€Ñë?ð?€‡ë?€ŠÝ?€4ê?Àýî?ð?€Õï?€Þï?ð?€œï?_í?ð?ð?@èï?€’ï?Àì?ÀÛï?îï?Lï?›í?í?@Áï?¸ï?´í?@×í?•ï?Ïï?@Ûï?€\ï?@Ãï?^ï?ð?À-î?€¨î?¨î?îï?Àÿï?ð?Àçï?À˜ï?ð?ð?Àïï?Àï?€öï?Àçï?ð?Àzï?Gç?Ãä?@ë?€'î?€Ìì?ð?@Ïî?À¯î?Pï?@³ì?€œï?À¶ï?Àÿï?@öï?€‡î?ÀÐï?ð?ð?ð?ð?ð?ð?ð?@Èí?eÒ?Àðà?@ké?²ï?ð?ð?ð?€ÿï?ð?ð?ð?@ùï?€wé?)ç?ð?@©ï?ùî?@×ë?€~Ü?€àÐ?€—Õ?8í?Àíî?€Äæ?@—á?ÀÌî?ð?ð?ð?zì?Àªè?ð?@:ì?ð?@úì?ð?ð?(ï?©Ç?,¢?}?„¼?Àûî?ð?ð?ð?ð?Àï?Êï?ð?ð?ð?ð?ð?þï?ð?Ðã?ày?°´?Ü®?Í?€På?À ë?Zë?€üï?Ïï?ìà?Àä?^ï?ð?ð?Þï?@ï?€ôì?ð?ð?ð?ð?ð?ð?@Üï?ÀÄï?À™ï?€ï?ð?ð?À’ï?Àïï?–ï?€óï?€iï?€$ë?@ê?À›ê?@ î?!ì?€Ôï?ÀÅî?ð?ð?@?ï?€šë?ð?ð?€”ï?@¤ï?Àïï?€7î?€‹î?Àkî?€sî?€¸î?€cï?@×ï?@¨ï?@Úï?·ï?dï?«ï?ëï?€óï?@ë?Ïî?¨ï?@»î?@Üï?€úï?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ï?ð?ð?ð?ð?ð?Àïï?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ÀÊì?ê?€çæ?ð?ð?åï?mé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?@6ì?€?î?ð?ð?ð?ð?ð?ð?ð?ð?@:î?î?À‡ï?@<î?À¿ï?€(ï?ð?ð?ð?ð?÷ï?$î?ð?ð?ð?ð?ð?@9î?ð?@×î?@=ì?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ï?ÀAî?@ï?ð?ð?ð?€èí?ð?ð?ð?€½ï?îî?·ï?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?€’ï?À<ï?@Ïî?€øî?€5ï?€fî?€Ëì?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?ºé?fâ?@¯ï?€…í?ï?Óï?ð?ð?ð?ð?ð?ð?ÀÚï?Ôï?Êï?€™î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@¼ì?€ï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?@^í?“ï?Öï?@Üï?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?ð?”ï?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªí?À›ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bí?×?ú½? Ï?`t?˜´?;Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?uî?€”ï?ð?ð?ð?À2ï?@Òî?ÀÊí?@ýë?Lí?@„ï?@Üï?ð?ð?ð?ð?ð?ð?ð?€î?úë?@Ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³î?Àmî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?À2á?Àêé?À^ï?ð?ð?Àøï?€æ?]Å?€Q?€ÌÕ?€¢ì?@Në?Àßç?ð?ð?¨Þ?€h?€ôì?ð?ð?ð?ð?ð?ð?¨ï?ð?ð?ð?ð?ð?ð?ð?ð?€Dî?Ê?•?€¯ë?À-ê?€Ö?žå?Àqã?†¾?Á?À`ã?Àï?€lï?x¸?¨Ë?žê?€,à?€âé?€\Þ?€jÚ?@ræ?@ùï?€-î?ð?Àê?Àóï?ð?À©ï?¡ë?€<ê?À8ê?ÀÉï?áî?€pí?µê?Ÿê?À@ì?@ëì?ð?€µï?ð?ð?”ï?€óï?€úï?ð?@Êï?ð?ð?ð?@×ï?ð?€úï?Àåï?†ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@:ï?ð?ð?ð?ð?@ ï?ÀÃî?†ï?Äì?ð?ð?ð?bî?ð?ð?ð?ð?ð?ð?ð?Üï?Àßï?€üï?¸ï?ð?ð?ð?€¦ï?ð?ð?Rê?ð?€êï?À—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsï?@bï?€’è?ÉÎ?–½?YÂ?®ä?¡ì?€„ê?@€æ? ?ïÒ?ð?úï?@ÿï?€àî?€î?'í?€Hï?@¯ï?Õï?ð?ð?@^ï?€¦ï?ð?ð?ð?À³ì?€ ë?ÀÕí?nï?€Sî?@óë?¢î?ëî?Ûî? ì?@ï?@0ï?€ãî?€9è?@¢î?Àžï?@þî?@¼î?€¢ï?€ï?ÀGî?9ï?@âï?@ùï?@3ï?¸ï?€ï?Àï?@‚î?€ýí?€|î?ùí?Êï?:ï?ð?¸ï?@’î?À–ã?€€é?@î?Àzï?€1î?iî?€Nï?ð?À˜î?ð?€öï?€îï?ð?ð?ð?.Û?€eÔ?Ã?r?\Ø?ð?^ï?ð?Àqï?@õï?Àéì?Nì?À§ï?€åî?€üè?Àêë?ï?@dï?ð?úï?Àñï?ð?¸ï?@Êï?€òï?€óï?@è?¸ï?ð?€Çî?Àzî?@¨ï?@Êï?@¸ï?ð?ð?@Åî?@‹ï?ð?@Öï?À$ï?Àï?ð?ð?@Üï?Ÿï?@ãï?ÀIï?€_ï?Kï?Àï?@Øî?ÀÆï?ÀÚï?ð?@±ï?ÀÇï?Óï?÷ï?Àcí?pì?–ï?@àï?@”ï?ð?”ï?õî?Óã?Àî?€ ï?ð?ð?ð?ð?@¤ï?À‰î?›í?€÷í?ÀÆì?ÀJï?@”î?†î?@,î?ð?ð?Îï?€=î?@õà?NÞ?ÀÖï?ð?ð?@Åï?rï?ð?‡î?ð?ªî?ð?@’ï?€+í?@¯ï?ð?ð?ð?Àcî?®ì?^É?ø•?8Ñ?7Þ?€ôî?@×ë?\é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Tí?8º?¬±?;é?ä?Rµ?ËÌ?÷Å?ÌÜ?Àžá?À æ?@í?åï?ð?ð?€¦ï?@Üï?ð?ð?ð?ð?ð?ð?ð?ÀRî?@x?€›?–µ?€ºÑ?@#ï?€†ï?ÀTî?Àïï?À`ï?Ãî?cï?@£ë?¸ï?ð?Àæï?@Aï?ð?Àîî?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?ÀDï?€Íï?ð?ð?ð?ð?ð?@þî?ÀHê?€Áì?ÀÔí?ÀRî?ÀÑî?€„í?ð?ð?ÀYï?™ì?òî?Àsï?€Æï?@‚ï?ÀÂï?€Pí?#ï?ð?(ï?½î?ð?À†ï?€¼ï?€öï?Àòí?ð?Íî?€Éï?ð?€ºï?À{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€úï?Àtï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊí?é?Àíæ?€,è?Vä?À»è?À¦è?€·æ?€ë?åï?ð?ð?ð?Àìî?:ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?À‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Üï?@õï?@fî?Hï?ð?€Ïï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡î?ð?ð?ð?€ í?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?óí?À¾è?ð?ð?ð?€éï?åï?ð?ð?èî?Àïî?€ï?ð? ï?€†ï?¯ï?ð?ð?ð?ð?¸ï?@˜î?ð?ð?ð?yï?Gï?ï?ð?ð?ð?Üï?ð?Žî?Êï?ð?ð?ð?ð?ð?ð?ð?@ðï?Àîë?Àþì?×í?î?ð?ð?ð?Àqî?À;î?ð?ð?€¼ï?À‘ï?À±ï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?€ì?ðî?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?Àæï?ð?ð?ð?ð?ð?ð?@Ãï?À?í?À(î?@zï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æî?ÀFï?ï?ð?ð?ð?åï?åï?ð?ð?ð?ð?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pï?ð?ð?ð?ð?aë?ÀÓî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?Ë?€¢Û?€Xâ?€¹?P?Û?€Yî?À{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™î?Àfî?Àáï?ð?ð?ð?åï?Xî?ï?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«ì?‚ê?ÀÐì?@Áë?¦í?ð?ð?ð?ð?ð?ð?öï?€Bî?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðî?Àóï?€0î?€¢î?À«ç?@›ê?]é?À,î?’î?ð?Lë?Pˆ?êÈ?€ßï?ð?ð?ð?ð?@ á?P·?€é?ð?ð?ð?ð?ð?ð?@8ï?ð?ð?ð?ð?ð?ÀÐï?€µç?ÉÕ?€Û?€ãá?*Ô?@ùé?2Ú?„¡?ÐŽ?¼¸? ˆ?T ?Àâã?Àé?@®à?Ôâ?h“?*Ð?@æà?ùÒ?-Ô?ÀZâ?€Eë?@vé?@ï?ð?Àï?í?€òï?ð?ð?Àî?€(ë?ÀÃé?€Üí?Àdî?Àüï?‚î?ð?åï?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?ð?ð?žï?@Pî?€ëî?€Tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ÀEï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\ï?Àæï?Áï?€5ï?”ï?ð?ð?ð?ð?îï?€¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òî?€¦í?ð?À?ë?€/Ô?¶Ó?Æ?ƒÒ?€VÙ?0‹?¢?ÀFè?€äî?kî?@Úï?@%î?€í?Šï?€Æï?@ê?ð?€Pï?ð?€¼ï?íï?€pî?@ûî?Ýî?€6å?¸ê?@Þï?@ãî?ÀÂî?€ î?À~î?@@î?ï?Àdï?@#ï?€ ï?€›ï?Àï?@»î?@«î?Óï?€±ï?@ï?ð?€ñï?ï?î?ÀŒì?Àƒç?Àè?Àï?ÀTï?€Qï?pï?Üï?@àî?ð?ð?ð?¿ï?@Dê?À1ï?¸ï?€‚ï?À×ë?Àï?Èï?ð?ð?ð?@ðï?À¬ï?ð?ð?€aî?PÅ?À·?€âÓ?Àà?€üÚ?ä®?0½?Þ¿?€ïÑ?ð?¸ï?:ï?Àëí?@î?@_ì?@ùî?@²î?@Æì?Àýé?€Çï?€ï?@þî?ð?@ëï?@Ïï?ð?€!ï?ôê?@äï?ð?ð?ð?¸ï?Üï?ð?ð?ð?ð?ð?ð?€Öï?€åî?@¼î?ÀDî?€Cë?€ï?ð?ð?Üï?€óï?€úï?€Wï?…î?@ëï?€kï?@Ší?€¹é?9î?àï?/ï?@Þï?ð?@Üî?€Bé?@Áí?Àï?€Dï?{ï?@þï?ð?ð?@Ìî?€¬î?´î?À_ï?ð?ð?ð?Lï?@äí?”ï?ð?ð?€ ï?€üí?€ûë?€Ìî?ð?@‘í?6í?À¼ì?ÀÚí?€yï?ð?ð?ð?À}ï?ÀÇî?¯ï?@ï?ð?ð?ð?ð?ð?ð?ð?³î?ð?ð?ð?°á?`z?Ô¹?«Ì?Ê?ðÚ?Àïï?:ï?ð?Êï?ð?@Úï?Àïï?ð?ð?ð?Òí?ð?pÖ?…?aÜ?ÀOë?aé?@ï?ð?ð?@Ïí?ð?ð?@Óï?ð?ð?ð?Àóï?ÀÈï?ð?ð?ð?ð?ð?€¡ï?€ Ý?@g?°’?0‚?€X?€ÇÕ?:¸?Êß?À’î?À8í?€éï?ð?€ûï?Àtï?ð?ð?ð?ð?ð?ð?ð?üï?À·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?@^ï?@:ï?@ïï?ÿï?ð?ð?ð?@êî?À)ï?ð?@¸î?€yî?À=î?Üï?Üï?ÀGï?@ î?À™ï?€Ôï?@wï?€pí?oî?÷ï?ï?ð?Üï?¸ï?ð?ð?€éï?kï?ÀÎí?Uï?À‘ï?ð?ð?@Uï?õï?ð?@^î?€©ï?ð?ð?ð?ð?Àîï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@:é?Æé?¼ï?@”ï?€Nï?‘í?Øï?Üï?”ï?@gï?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?@þï?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À¤ï?ð?ð?€úï?€Ïï?ð?ð?ð?ð?ð?ð?€Îï?ð?ð?ð?ð?ð?€¾ï?@þï?ð?ð?ð?ð?ð?€äï?ßï?ð?ð?@Üï?ð?ð?ð?@(î?ð?ð?ð?€Èï?ð?ð?ð?€úï?@×í?Âê?€aí?@Öì?ð?@”ï?ð?Óï?@ï?@¤ï?@ñç?€€ï?@Ùî?@Wï?€Gî?€×ï?@gï?À%ê?ð?ð?ð?ð?ð?«í?ð?ð?Óï?€žï?„ï?Sî?@×ì?”ï?ÀÎí?@Œî?€qï? ï?0í?€±ï?ð?@þï?çï?¸ï?^ï?€¨ï?ð?ð?Àqî?}î?@«í?@›ï?@ë?€eÙ?Ç?@¡î?ð?@pî?Áï?@ë?7í?€ðï?ð?ð?ð?€ðï?ð?@¸ï?ð?ð?ð?Àâï?“é?€{ï?Üï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?î?€¯ï?@ýï?Êï?ýï?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?@¦ï?€üï?€aï?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ì?@>ï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|ï?ÁÙ?Rà?€˜Ø?À–? Á?À“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?Àÿï?@:ï?ð?ð?Àýï?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?€Rî?üï?ð?ð?ð?^ï?@Åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?€ßí?ð?Àöî?€ì?Kï?ð?ð?ð?ð?ð?Àüï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€(í?@¦ç?ÀTê?@ é?Àëï?ð?sì?Aê?@×á?@Íè?Ô?M?€€?@Vê?ð?ð?ð?ð?€Þß?˜´?£å?ð?ð?ð?ð?ð?ð?@~ï?€=ï?ð?@Ûì?@fç?ºì?€‘Ð?€‰?$?:?È·?0?ؤ?À“?a?ˆ?š³? t?Sæ?€±ä?è•?€5Õ?Àoé?€™í?ç?Ñ?D¨?jÖ?„ß?Àâ?ªí?@úí?@Õé?ð?ð?Lî?€×ï?ð?ð?ð?€éï?Àsï? ï?Àòí?À=ï?À†ï?€Ÿî?€ëï?€´í?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?@‰ï?@¶ï?€úï?À<ì?@Êí?€©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?ð?÷ï?ëæ?òï?ð?ð?}î?¡î?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?€óï?¥í?iæ?Éí?ð?ð?ð?€~ï?äï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öì?ð?ð?@Pí?€Eî?€uÕ?…Ú?lÎ?­Ï?È?€Ö?Œà?Ô?À‡â?Šº?ž¼?*º? ?€‹Û?ºï?ÀÞï?ð?ð?¸ï?@tî?@Úï?À4ì?Æï?Dí?@óë?@Üí?@Ží?@¹ï?”ï?@Üï?€üé?€ä?€ ã?©á?Þ?@‰ë?Àóï?@«í?‰ë?@{ï?¸î?@õì?í?@œé?Àöê?@ëï?@ýî?€)è?@äã?@¦í?ëç?Àî?@Hæ?@`æ?ÛÊ?°Í?Àä?À0è?À*æ?3ï?€×ï?ð?Àýï?ð?ð?ð?ð?Ëî?À=ï?^ï?@ùï?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?@!é?4£?@Œê?øï?ð?Àþï?ÀQç?X¡?ÓÉ?F?Ø?1ï?@¿ï?@í?Àaï?ÀMï?À>ï?@Çî?€&ï?@ðë?Cï?×ï?@Êï?ð?ð?ð?ð?€üï?€Ëï?Àœï?_ï?Àæï?ð?€¨ï?€çï?ð?€´ï?–ï?¼ï?ÀÏî?³ï?@Èï?À»ï?€mï?Kí?dé?•ê?ÀÍî?îï?îï?¯ï?ð?ýï?À€ï?sí?ÀÕï?€Uï?€î?@ùë?À„ï?@Dí?¯ï?Üï?¯ï?€ é?À&è?€_î?@Ýï?Óï?àî?€ï?ð?ð?@Lï?_í?€™ï?Àóî?¯ï?‹ï?Àï?À:î?ð?Üï?À¡ï?ð?ð?ð?ð?×ï?€Ôì?À÷î?ð?@þï?@³ï?ð?ð?ð?@:ï?Áï?@çè?Wî?Nï?@Èï?ð?Àéï?ð?ð?ð?ð?Óï?ð?À²ï?ÀÛê?€Ü?€a?H¢?Æ¿?@¥ì?Àgï?€gï?ðï?@Qè?rï?ð?ð?ð?ð?ð?ð?Àöí?‹ï?Àmá?ðœ?„ê?€ßï?úï?À»î?ð?ð?ð?ð?ð?ð?ð?ð?üï?€íï?ð?ð?ð?ð?ð?@«è?ܬ?€PÖ?ÀÕë?À´é?Þæ?€Ú?`ˆ?UÔ? Ø?Ô§?3Ø?@=å?@Ãë?ð?ð?ð?ð?ð?ð?ð?ð?”ï?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àî?Šï?Xï?@þï?ð?ð?€î?ï?ð?ð?À³ì?@Jí?ð?¹î?Xï?€í?@çî?@Íî?@Úï?ÀÈí?ð?€òï?€òï?ð?ð?ÀÇî?€Iï?ð?¼î?€¾ï?Àúï?ð?€î?€î?€uï?Àãî?@±ï?ð?ð?ð?ð?ð?ð?ð?ßï?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?€¦ï?zí?@‡ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?Êï?ð?ð?ð?€†î?ð?ð?ð?Îî?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘ç?€wç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸ï?ÀÐï?ÀÙï?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ï?Àßï?ð?€¡ï?"î?@<é?ð?ð?Àçï?@ôï?€rï?€ï?Lï?À×ï?@œë?ð?ð?ð?ð?ð?ð?ð?€2í?ð?ð?ð?ð?ð?@•ï?À^î?ð?ð?€Òí?ð?€oï?@Qî?ï?@øí?À”î?€mì?ÀÐï?ð?ð?øï?ï?ð?ð?Óï?åï?ð?Àì?ð?@åï?”ï?€;è?{Ý?€ï?@Ní?@Që?Àhï?@}í?@ï?ð?ð?.í?@Óí?ÀÍï?€åî?ð?@ýï?ÀÎî?ð?€:ï?€ï?@Zê?€Nî?ð?ð?ÐÜ?²É?€ï?:ï?ð?Áï?ð?Éí?Àï?ð?ð?ð?À‘ï?ð?‚ï?ð?ð?ð?´ï?@èë?ð?ð?Àäî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°í?ð?ð?ð?@åï?@mê?Áë?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?±ï?@õï?ð?Ÿï?À&ï?À í?¾î?¯í?ð?ð?@”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@Hë?—ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Wî? Á?ô¬?@Æâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?Àuï?Àêï?ð?@ìï?€mê?£ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªí?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?€Aê?Àùï?ð?ð?ð?ð?ð?ð?€Pî?€Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?€í?ì?@…ë?@ùí?À$ë?€Æç?©ä?(ï?ð?ð?Àáî?zÑ?@o?’?€0í?ð?ð?ð?ð?@cë?‚À?Àlâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?lå?%Ô? Æ?Àc?,Û?€&ì?ÀÀë?[Ø?àŠ?;Á?€¼?ÓÂ?eÇ?ZÖ?€?€KÝ?íë?Aè?KØ? ¸?T³?€ëÛ?@í?À¥ë?¢é?@ªî?€Ïí?ð?ð?ð?@uï?€òï?ð?†ï?²î?ð?ð?ð?ð?€ªï?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yí?Àþé?@Cï?ð?ìî?ÀSí?ð?ð?ð?ð?ð?ð?À ï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kî?ð?ð?ßí?êï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pï?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?€óï?@Èï?Àïï?€”ï?Àïï?Àî?ð?ð?@Êï?ð?ð?@Rï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ï?ð?ð?@åá?rà?@Ää?Ь?å?9Á?”?Ú?@%ë?€0ì?€Öê?€¿ì?üÞ?ÜÌ?O?€™Ñ?‹ï?ð?/î?€¤ï?ð?Üï?À•ë?€í?Ôê?À»ë?Bî?€¦ï?‡î?@ï?@†ë?îè?@9ê?,é?€cê?€Åë? í?ÀÐï?Eï?@&å?@žã?Xè?#â?@ºê?ÀÚã?²ã?À»î?qï?€î?@“ë?@Åê?µÞ??Ò?uë?@Aí?@ î?Àèâ?qÕ?€aè?€™æ?€÷ß?´ë?4í?1ï?@ðï?ð?ð?ð?ð?ð?ð?ð?ÀÐï?ð?ð?ð?ð?€Hï?À=ï?@Þî?Àïï?ð?@ùì? Æ?€Ò?Àå?Àpí?Þï?ð?äà?ì¥?‹ê?ð?ð?ð?€Ìï?@ãí?@Gì?€úì?Ií?ÀZï?@Üï?€}ï?ð?ð?ð?ð?ð?ð?€àï?€àï?ð?ð?ºî?±î?Êï?ð?›ï?ÀŠï?Üï?€èï?oî?@Vï?€´ï?@ôî?€Wí?À&í?@÷ä?@î?@xí?Áï?ð?€í?€jï?€Nî?€òï?À½ï?@±ï?ÀÃí?@ï?Àï?pï?Üï?@”ï?@î?€õî?ÀÆì?@™ë?ÀÕî?Óï?@Ûï?@|ì?ð?€Îï?qî?Òï?@Óï?€í?¯ï?‚ï?À:ï?ð?ð?Óî?ð?ð?ð?ð?@hî?ÀZï?ð?ð?ð?ÀRï?ð?ð?À¼ï?€éï?ð?€àï?@±ï?ð?ð?ð?€bï?ð?ð?ð?ð?ð?ð?Úï?„ê?€AÔ?€kÓ?Øï?€kï?@²ï?ÀÈë?À™å?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œá?ØÀ?À·ã?€þà?Àcë?À:ï?@Rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€(ê?€Lì?ð?ð?ð?@êï?ëâ?€w?ÀYç?ð?UÙ?ä¥?ôà?Àûï?@çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dï?¥ï?ð?ÀTï?ð?ð?¸ï?ð?ð?ð?À·ï?ÀÛï?ð?¸ï?ÀÉï?ð?€ï?ð?€òï?€òï?ð?ð?¡ï?hï?€ðì? î?@|ï?€¤ï?ð?ð?³ì?”ï?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‡ï?@ûï?ð?ð?ð?ð?ð?€ì?Bë?äî?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?Àˆï?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ Ý?@ í?ð?ð?ð?ð?ð?Ñï?ð?ð?ð?ð?Àèî?ð?ð?ð?@þï?@Eï?ð?ð?ð?ð?ð?ð?¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ï?ð?ÀWï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?Àùï?ƒí?&í?ð?ð?»ê?@ëì?Àûî?@Jï?Àzï?À#í?€Nî?€vî?@pï?À™â?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?ð?ð?Àæî?@”ï?Àí?€¨ï?Ûï?Àíî?€oî?Àäí?ð?€òí?±ï?ð?€²ï?€+ë?³î?ð?ð?ð?ð?ð?Œï?@3ï?@Jï?ð?âì?kê?À×í?ÀOï?pï?€Áì?@Zï?€¾í?òï?€Ñï?ÀÓï?ÀBí?@=ï?ð?ð?€Iê?²î?ð?Àï?@×î?Àî?ï?€üï?À©ï?@í?@vä?€dé?ð?ð?ð?ð?èî?ð?ð?@—ê?€åï?@fï?À»ì?@‰ï?ð?ð?ð?øï?=ë?ð?ð?ÀÛï?Âì?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?€Åí?€"è?À®â?ëì?ìê?@°í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?˜î?@§ï?ð?@ï?Êï?«ë?Àê?€¨ï?xî?À³î?ÀXí?@7í?ð?ð?À·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvï?Zï?€Ãë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?KÐ?Ž?l²?@ðä?€hê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ñï?ð?áî?À~ë?Àžï?@õï?ð?ð?ð?ð?@›î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óî?@äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþî?@úè?@¡ï?ð?ð?ð?ð?ð?ð?€oí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?€£í?€Éî?€Tí?€úï?ð?ð?Íí?@hî?@€î?@0ê?Gí?ð?ð?ð?ÀOî?µ?ˆº?Šï?ð?ð?ð?ð?@ñï?_Û?IÙ?Oï?ð?ð?ð?ð?ð?ð?ð?ð?ÀBî?<Ç?R?FÔ?€JÛ?Ä? ‹?,¢?À¥?NÊ?ØÒ?Â?‚?0“?|¸?Õã?€Kå?Ç?¸—?º?«à?ï?Lê?€†ã?€šæ?@¦ê?€hï?ð?ð?ÀSï?@Œë?ð?@©ï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àmî?€}î?Êï?Üï?äì?ÀKî?ð?ð?ð?ð?ð?êï?Àˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?@˜ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ï?Àî?€oï?ð?ð?@`ï?Üï?ð?ÀPï?€ßï?@pï?”ï?ð?ð?ð?ð?ð?€$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃì?€Õ?Àïì?¯Û?€¿Þ?°„?€‰ã?Àã?€ªî?@Éí?Rµ?.Ã?ÀCï?Àí?˜×?€ãæ?ð?òï?ÀTí?€‚ï?€ûî?ê?ÀŠï?@Zï?@í?@èì?ÀÛè?€¾ì?@žì?¯ì?ãî?@¿ï?@ðï?ð?Àtï?@êï?€âî?Àï?@€é?€î?€NÛ?€ÿÒ?€Ñë?@“ï?@cï?€…ï?Nï?“î?ï?@ç?€.Ø?ÀGê?€xï?€Ýì?€Àì?¸í?;ë?Ëí?ÀÒî?@óï?ð?Àµî?pî?ð?ÀÕï?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›í?EÀ?B?r±?cÓ?@è?Àë?‚?€U?€ á?@©ï?ð?ð?ÀÛï?€÷æ?@:ì?€oï?€Šï?@ïí?‚ï?@èî?@ï?ð?ð?ð?ð?ð?òï?Àáï?€Çï?ð?mï?€Ýî?Êï?@)ï?Xï?éï?Áï?Üï?À·ï?ÀÞï?À©î?@Øî?€‰î?•ë?üè?@7ï?ð?ð?ð?@øï?@@î?€±í?€sî?@Ìï?zï?@€ï?@×ì?@{ï?ð?ð?ÀÉï?îï?@Òì?€bì?@Åå?€†í?À-î?@Hì?€·Ú?€½ì?À#ï?‘ì?ÿï?€Xí?´ï?ð?€rï?€æî?”ï?ð?€vï?@’ï?ð?.ï?€˜ï?€Šï?ð?€èï?€ï?ÀÍï?ð?ð?ð?€ùì?ÀTê?À+í?ÀPî?€¿ì?@Fì?€êï?ð?ð?ð?ð?ð?ð?ð?ð?À¤î?À5â?yÃ?à®?À=æ?ð?€˜è?€Gï?ÀJî?@†ï?ð?ð?ð?ð?ð?ð?ð?ð?™ï?Ä¿?¡À?<¿?Àc?æ?ð?€/ï?Àæï?ð?ð?ð?ð?ð?±ï?@¿ï?Àßï?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@/ï?v½?o?@í?’ì?€·×?€‚?@9á?À½é?Wê?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?ð?ð?ð?À÷ï?€Ðï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?€òï?€xï?ð?ð?ð?€ï?ð?€üï?À²ï?~ï?ð?ð?ð?ð?¸ï?ð?€åï?rï?Àbî?ð?ð?ð?@Îï?À¼ï?Àüí?@ìî?@í?Àcï?€±í?ð?@ªï?€lì?më?@³î?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?À€ê?@qï?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ùï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Ðë?ð?ð?ð?€êï?Àßï?ð?éï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?aæ?€8Ý?€¢ï?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ï?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?€zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?€Kï?À|ï?Àëî?Êï?ð?À€ï?@}î?ÀŽî?@ìï?€rï?À|î?Ìï?€íï?Oè?€çÛ?'ï?ð?€þë?@dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?Àâé?ð?ûï?þï?€Øï?À‘ï?ð?@rï?@©ï?ð?ð?ùï?Êï?ÀÒî?€½î?€Àî?¥ï?ð?ð?@µï?ð?À î?ÀŠî?À­î?ð?êí?ð?:î?ÀÅí?Àœï?@Äí?@Tì?Àåï?€iì?@jï?þï?Àëï?Àï?@Ôí?@ï?ð?@Gï?ðï?÷ï?³î?gí?€î?€ðï?ßï?@Öï?@šî?ÀÌé?@¶ç?ð?ð?ð?ð?ð?ð?€©í?€œî?€€ï?Yë?Àœï?ð?ð?ð?ð?@÷ï?€ãê?Óï?€¹ï?ð?kï?Àûï?ð?€eï?€&ï?€áî?@Pî?@2ï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À{î?ð?ð?Àèï?¾è?€]æ?£â?Öà?€Lë?@ÿê?3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1î?€kî?@ãï?À÷ï?@ï?^ì?Áè?Në?@Yí?–í?€íï?ð?ñï?½ï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvî?ë?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€Që?€ Õ?H?À•?€šÔ?€í?»î?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ãï?@é?€œÜ?@øî?ð?ð?ð?Àòï?ð?ð?ëï?ð?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Nì?€—ï?ð?ð?ð?ð?ð?ð?€þí?@„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?Àîï? ï?ùí?jî?@™ï?€ôï?ð?ð?ð?ð?ð?ð?ð?Þî?@Çå?ï?ð?ð?ð?€.Ó?•Ä?úï?ð?ð?ð?ð?€ìï?¹Ö?,·?€½í?êï?ð?ð?ð?@Aï?Àï?ð?ð?ÀPé?>Ã?0?4?Àm?Ày?àz?€X?€¨×?CË?‰?À?Àè?€à?ÓÈ?Àv?ƒå?€$Ý?€å?@á?@xæ?Àsí?@îï?ÀZï?ôï?À ë?@¸ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?ð?ð?ð?€0í?ð?ÿï?@ïï?ð?ð?@ûï?Àï?@Ôê?„ì?í?Ðì?Àuí?ð?ð?ð?À¢ï?À.î?€\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sî?ýï?ð?ð?Ààï?€Øï?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?åí?À²ì?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?é?òï?ð?ð?Àýï?€¶ï?Àæï?Àòï?@•é?€½ï?ßï?ð?Üï?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?ð?Ðï?@jî?@Äï?ð?@iê?€üï?€~è?€qå?J?«à?€ùé?*ì?@bï?€[ß?ðˆ?U?€óà?Àvï?ÀÜì?@}ì?Mê?Iê?Àºî?Xï?·í?€\é?€Žì?î?€¶ç?Àì?@îç?@hì?Àcî?œí?€î?ÀÇí?€¥ï?À{ï?€ðì?@\ï?ÀÎï?€©é?.ì?3î?€Eî?€î?@,ê?€í?Àuï?€aï?4ï?@Lî?Àï?@±é?À¹è?€¦ê?¸ê?€¬ê?Kî?ÀÙì?Àì?€Aî?³ï?€êï?ð?ðï?òï?€êï?€ßë?Àï?ð?ÀŽï?€óï?ð?ð?ð?ð?ð?¸ï?ð?ð?ð?ð?ð?ÀMæ? £?À€?´?Às?€Q?ÂÚ?ûï?ð?ð?€6î?À–ë?€sï?ßï?€ùï?—ì?À%å?@šä?À;î?À…ï?€üï?ð?Üï?€eï?€ï?@üï?@ûï?@pï?@Èî?€±ï?@Lï?íî?@^ï?›ï?ð?ð?îï?ð?À¾ï?À®î?ÀÒï?Üï?€÷ï?À®ï?€Áï?€öí?ð?Àþï?¿ï?@ï?Ùî?ÀÙï?€×ï?@Ïï?@`ï?@]ï?€óï?ð?€Kí?€tî?sî?€[î?@ ç?€ è?€ï?Àuî?@í?€´ê?€´î?€¥ß?€)ì?øï?€þï?ð?óï?ûï?ð?ð?ùï?@}î?Àøï?@kï?€Wë?ð?€Ÿï?@Fï?€­í?ÀÜî?ð?ð?ð?€êï? ì?€¦ï?ñï?€Ðï?Àï?Àï?€í?@‹ï?ð?ð?ð?@÷ï?žï?Àsï?€Pí?€nå?—Ù?–°?ÉÚ?Àxä?Àúå?À‰à?Àøê?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eé?^?,?€æ?ð?ð?ð?ð?ð?ð?ð?@^ï?ð?ð?ð?ð?ð?ÿï?Àpí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï? Ä?´?€’í?€dí?@®?€Šß?Iï?€Þì?ð?ð?ð?ð?ð?ð?ð?ð?@Èï?Àïï?˜í?ð?ð?ð?€úì?ÀÒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sï? í?€î?€!î?ùí?€ðï?€ëî?ÀÔï?@¼ï?ð?ð?ð?”ï?Ðî?ï?Àbî?@êï?€®ï?€Sï?ï?€Žï?ð?@×ï?ð?ÀJí?@Öë?[í?@&í?€xí?€¨ï?À½ï?@‰ï?À}í?Àlë?@Uï?ð?@=î?@=î?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?qé?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?@fì?€…ï?€Þï?Áï?ð?ð?ð?ð?ð?ð?ð?ð?€˜î?@øï?ð?ð?ð?ð?ð?ð?¸ï?ð?@êï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?Àeë?€#î?ð?ð?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡Ý?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?Àäï?À í?fî?€ï?€óì?À£ï?ÀÜï?÷ï?Dî?Iî?€öï?@äï?@Yç?€“ï?ð?ð?Uï?ëî?ð?ð?ð?ð?ð?ð?ð?À{ì?ð?ð?ð?ð?ð?ð?ð?@µï?€ìï?€þî?€®ï?ð?ð?ð?€Óï?€0î?Hî?ð?ð?ð?¸ï?€çí?ð?€_ï?ð?ð?ð?Àjï?¶ç? ï?Àéï?ð?ð?€›ï?€ï?€^é?€ í?Àéï?‡ï?ð?hî?@Øî?€,ï?ð?ð?ð?ð?Àwî?À:ï?ÀVî?@éì?Iï?Àï?@®ï?€èï?ð?ð?ð?ð?ð?ÀÈè?@!é?Àéí?€¿ë?€öï?ð?ð?ð?ð?ð?üï?€áë?ð?Àªî?Äî?À›í?@dí?žì?rç?€í?€ï?@˜î?@‹í?ÀŒî?À.ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.î?ð?@¸î?Àî?@cì?€é?Äí?@dï?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€Hï?€ïí?<ï?ð?ð?ð?@ï?€³í?€Uí?uî?@­î?@×ï?ð?ð?ð?ð?À`ï?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?ï?@Äë?]ì?ï?ð?ð?ð?ð?ð?ð?€ðï?Àà?Ì©?_Ã?Àªè?@Ïï?ð?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ï?ÀTí?€¨ì?ð?ð?ð?ð?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@eï?@¡í?ð?ð?ð?ð?ð?ð?€›ï? ï?Àæï?ð?ð?ð?ð?ð?ð?Îï?À·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?eî?@î?À¿í?åî?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œï?€iê?ð?ð?Êé?\¶?€ûÔ?ð?ð?ð?ð?ð?€€í? Å?@?Ý?À¡î?ð?ð?ð?ð?ð?ð?ð?@‡ì?ˆœ?Á?ƒÑ?¥Ê?s?°?‹Â?¼â?§Å?0”?~À?tÐ?Àhâ?ÀÖâ?€ìä?€wç?™ì?À›ì?À-ë?€bë?ð?ð?ð?ð?ð?ÿï?ï?ð?ð?îï?ð?ð?@×ï?@ ï?@Úï?ð?ð?ð?Üï?ð?@ýï?€Ìï?ð?ð?Dí?%ç?Àßå?À è?ÀÙé?ÀCê?@ï?ð?ð?ð?ð?ð?î?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?@Ÿî?ð?ð?ð?ÀSé?@tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?vë?€Üî?€hì?ÀRë?€Ïï?€èï?ÀÜî?ð?€êï?Bî?ð?ð?ð?ð?ð?ð?ð?¨î?@Åí?€ãï?ð?ÞÛ?ÀRê?3ã?gê?Ç?€UØ?@5æ?Bê?ùì?ÀÃï?ñÚ?ä¤?h¨?µÅ?€‡ï?îï?€bï?€óî?ë?À$î?€µî?@@í?@Îî?´è?@rï?€Wë?@«ì?À[ç?Àî?ÀÃí?À¥í?€ì?Àãä?ÀÏí?Vï?ºì?@Rï?À¨î?yâ?À³ì?€ñí?À­ì?€ï?€ï?Gï?€'í?jì?jì?@÷í?@{ï?ßï?@‚ï?€²ë?˜í?À1í?€´æ?.î?ÀOî?¬ï?€ï?@ßì?@Xï?ªï?ð?ð?@Œë?Àvî?@Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?öï?€â?‚?€š?@k?d¼?ÿå?Àéï?àî?€ªï?@Àï?À›ï?@šï?Àëï?€ðî?@è?@¼ä?Wí?@ ï?Àïï?ð?”ï?€Œï?@šï?ð?Üï?Nï?ð?ð?îï?@¸ï?@]ï?ð?ð?ð?€…ï?€Þï?Àéï?ð?Àäï?ð?Àåï?@Ûï?À0ï?ð?ð?ð?ð?ð?¡ï?ð?ð?îï?@˜ï?€Ÿï?@dï?ð?Àï?€®ï?€ðí?@‹í?3æ?@bè?@(î?ÀÆï?ð?ñï?Àï?@Pí?€£ì?Ààï?€,ï?€]ï?€që?Nï?ð?€zï?ð?ð?À2ï?@‘ï?@×ï?ð?@Ûï?ÀÇë?€Bí?€”ë?ð?ð?²ï?ð?Çï?€çï?ð?ð?ð?À½ë?À î?ð?ð?ð?ð?Àäï?@xï?öî?í?Xç?øÞ?™?v³?$ã?@nî?Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€â?Aà?^ï?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ë? ¢?€êÙ?.ï?€îé?ƒâ?ˆî?@ç?ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€_ì?šî?€ í?À ì?@nï?€Äï?€ºí?ð?”ï?ð?ð?ð?ð?@¼î?€”ï?€Lï?ÀÄï?ð?ð?gï?Àèï?ð?ð?ð?€Ìï?€î?@í?@ƒî?Àî?@œï?ï?ð?ÀÖï?@¹ï?À1ì?ÀÇë?Àì?ÀUí?åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äî?=î?À³ï?ð?ð?À¬î?ð?ð?ð?ð?ð?@¦ï?Fë?À·î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”ï?ð?ð?ð?ð?ð?ð?ð?ð?€Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVî?€«ß?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?À­î?€óï?ð?@Üï?ð?€jé?@ñè?Éï?…ï?ð?ð?ð?ð?ÀÕï?À]ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øí?€Êï?Àï?ð?ð?ð?ð?ð?ð?ð?Àùï?€øï?ð?ð?ð?€¸ï?@;ï?€ñì?€†ç?ð?ð?ð?ð?ð?@Üï?ð?`í?ð?ð?ð?ð?žï?@ûï?@òï?)ï?ð?ð?@Éî?Àî?€(ë?€ªï?Àî?ð?¬ï?@Dï?@òí?Àúï?ÀRî?À´ê?ð?À¿ï?@õî?@øí?€´ï?ð?@²î?€Çî?ÀÝî?ð?ð?ð?ð?ÀŠî?À'ê?Àöé?ÀAï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖë?€âê?€Në?€“ê?Çê?ÀVí?@Œî?@ï?@³î?@që?ð?ð?ð?Àìï?@|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒí?Àðç? ï?ð?ð?ð?ð?ð?ð?ð?@oï?€Âî?ð?ð?ð?ð?ð?ð?>ï?À™ç?ð?Àñï?Àfî?€³î?ð?ð?ð?Êï?@Íî?ð?€ëï?Àšî?ð?ð?ð?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?À,ï?À¨ï?ð? ì?@Óï?ð?ð?ð?ð?ð?pç?€‡?Àz?€ÉÛ? Ù?€Bå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?À`ï?@òï?ð?ð?ð?ð?ð?€¸ï?Àšî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñî?ÀÙî?ð?ð?ð?ð?ð?ð?#ï?@dï?ð?ð?ð?ð?ð?€Mï?@Þê?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€˜î?ÀQï?€©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›é?ð?ð?À6ë?þ²?ðŽ?€é?€êï?ð?ð?ð?ð?íæ?`¢?3Ü?€Àí?ð?ð?ð?ð?ð?ð?ð?€Òì?з?Y?XÐ?ÅÎ?³?ÖË?€¹è?ö¸?¼Ò?óØ?à~?8Ç?æ?¸?€[Ý?ØÌ?€ä?@-æ?À™ë?Uê?Cè?@Wä?óè?@dî?@^ï?ð?ð?@ÿï?¨ï?@„ï?À³î?@£ï?Àßï?ð?ð?œï?ï?ð?pï?€¦ï?€pï?ð?ð?ð?Ÿï?@Sï?ð?@:î?€Wí?€½î?ð?@öî?ÀOê?À]í?ð?ð?ð?ð?@ï?yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?€"í?€øï?ð?ð?ð?9ï?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?÷ï?ð?ð?ð?ð?ð?@õï?@åì?ðï?@åï?Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄì?@Dí?€†î?œí?×ì?@‡ï?@²í?€Uï?@Gï?ð?@yí?Àšî?ð?ð?ð?ð?ð?ð?ð?À{ï?@õï?ð?ð?@|ë?€Kê?@é?€wÜ?ÙÛ?tä?@bå?ì?@2í?ÀHî?€€ì?ä¦?„º?îÉ?P†??ëè?ð?¸ï?ð?ÀÏï?@’î?€Wï?À]ï?€í?@ë?€Gï?@î?@ï?Àï?€Wï?@Þí?€Èï?@Øï?@]î?(î?@üí?ÀQë?@lì?ïî?åî?Àªï?ÀKç?@@é?4í?›ï?€rî?€€í?é?€%è?îí?@¿ë?šì?=î?@ï?Àï?@Mí?€Žï?€ï?€cî?€Cï?€ï?€Fî?€þë?ßí?@¦ï?ƒï?vï?À#á?€$ë?À”ï?ð?ð?ð?ð?ð?ÀÍï?€ùî?@õï?ð?ð?ð?@^ï?€Ùï?À§î?L³?€–?ÓÜ?@òï?ð?@õï?@‘î?@Âï?€;ï?@¼ï?€¾å?€Èé?Àî?ð?@ï?ð?Àæï?€Ñï?Üï?ð?ð?ð?@’ï?ð?€ßï?À´ï?ð?ð?ð?ð?ð?€´ï? ï?Šï?ð?ÀÍï?@Rî?€ï?Àßï?ð?@õï?Àæï?ð?À?î?Àï?ð?ð?@Üï?Êï?@îï?ÀÝï? ï?ð?€Îï?ð?ð?ï?üï?€°ï?ÀÝï?ð?ð?ð?@ºï?\î?@€ï?ï?@Ìì?À†ì?€„ï?@Œî?5ì?Šï?ð?ð?À%ï?€ï?@ˆï?ð?ð?ð?-ê?@¼ï?ð?ð?Ðï?À¦ï?ð?ð?ð?ð?ð?ší?ð?ð?ð?óì?Àúï?ð?ð?€Êï?Ãï?@Ýê?ÀÕá?ƹ?@n?€ªÒ?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?@îï?ƒï?ð?Àoë?ö³?Àz?@ýé?ð?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àpï?ð?_ï?ð?€ï?Àtï?ð?ð?ð?ð?ð?ð?Àþï?À8â?4¨?@&ê?Šì?Ñê?€¹í?@éî?uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@óî?€Éï?@æî?€¬ì?Àþê?@Oï?€ï?Àæï?ð?Àòï?ºî?‰ï?@âï?€³í?À›ï?ð?@ ï?Õï?@ï?ð?ð?ð?”ï?€ýï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?€ïï?€ïï?üï?Àöï?ð?ð?ð?ð?ð?À­ï?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·ï?@ˆá?¤ä?€òé?@õï?ð?ð?ð?ð?@¾ï?Lï?Àaï?@¬ï?@˜î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?Àòï?ð?Áï?ÀEì?ÀMï?€µï?€~ï?À¸é?€ î?À³î?¨ë?ð?ð?Àï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pï?@þï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?€ƒï?€ƒî?ð?@µï?ð?Àáï?@ýï?ð?ð?@çï?Àòî?@ÿï?€Wï?:ï?”ï?Üï?@àî?ð?ð?@ùí?îï?ð?@pï?sï?@7ä?ð?À8ï?ð?@þï?Aë?îí?ð?@Àï?@Îî?ð?À/ì?Öî?ªï?ð?ð?ïë?€ï?€³ï?ð?ð?@èï?@‘ï?@úï?€ë?€î?ð?@¸ï?ð?ð?Àòï?Òï?ð?ð?ð?ð?Àýï?Àûï?ð?ð?ð?ð?ð?ð?íî?@Dî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ní?þì?ð?ð?ð?ð?ð?ð?ð?€àï?€8î?Àþï?ð?ð?Êï?ð?ð?¸ï?ð?@ìï?ð?€åï?ï?@¿ï?ï?ð?ð?ð?@þï?ð?ð?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xì?Àªì?ç?@òï?ð?ð?ð?À=î?ê¼?½Ì?ÀPé?€Âë?€ùï?Àšî?À×î?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?øï?ð?@¸ï?ð?€íï?ÀÁé?€æ?@vï?ÀPï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅî?€ì?ð?ð?ð?ð?ð?ð?õï?@hï?ð?ð?ð?ð?@ÿî?Æì?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?uí?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þî?@ã?À{é?@é?ð?ð?ð?Né?JÉ?€ê?ð?ð?ð?ð?ð?Må?§È?ÀÃî?ð?ð?ð?ð?ð?ð?ð?´â?À‰?Àc?@?r?޲?€ÚÙ?Àâä?,£?Ÿ? Š?ÓÄ?$¢? ?€ÈÚ?€ä?<±? Œ?¼Â?¶Ø?€²ã?€å?€ç?À©å?³î?@ê?@ôï?ð?ð?ð?ð?ð?@Ìè?Àîï?À}ï?Àqï?@ôï?ð?€½ë?@ÿï?ð?ð?ˆî?’ï?Àòï?ð?ð?ð?ð?Àòï?ð?€Nï?@?î?€lï?@}ï?@*ê?@mé?@kì?@Ùï?ð?ð?ð?À/î?@ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Êï?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?@9ï?bï?Àï?À3ï?@Íï?ð?ð?ð?ð?ð?ð?ð?€ùï?€ùï?ð?Àýï?ð?@ï?@ÿí?ð?ÀGï?€Ôï?À î?¸ï?ÿï?ýï?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?@ìï?ð?ð?ð?€¼ï?ßÍ?€œÐ?sç?Àé?@Ûë?À®í?@ïí?@#ï?À¸ë?f¿?0‹?4¨?T§? é?ð?ð?¦ï?€åï?pî?@ºï?€^ê?Zï?À¢ì?À-ì?€xì?@pë?ï?‹é?Àî?@kî?€ùï?@Þí?‘à?Àöë?Gï?@—î?Üî?À3î?€íï?ê?ì?Àþí?Àÿï?€lî?@qì?@*ê?€6ç?€±í?ï?¬ê?ÀŸí?îé?À0ë?€âæ?€è?€ië?ÀÎë?€ÿï?”ï?@‹î?@3ï?ïï?@°î?_î?@ñî?aç?@®è?€Íî?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?@ìï?ð?ð?ð?€Éï?ðÖ?T®?Àvá?ÀËï?ãî?Àæï?ð?@¦ï?@Àî?@yî?–î?Wï?@pï?ð?ð?€çî?@Éì?@Sï?@yï?åï?ð?Àï?Àïï?ð?@Èï?€ÿï?ð?¦ï?Üï?ð?ð?ð?@©ï?ð? í?ÀÊî?îï?ð?@¸ï?ð?Êï?ð?ð?@þï?@ÿï?Àåï?Àöï?@Xï?Nï?Àÿï?ð?ð?€ùï?ÀÉï?ð?ð?þï?;ï?À·ï?^ï?îï?ð?ð?ð?ð?ð?ð?Ûì?€²î?@nï?€îè?@Óë?Dî?ÀÊï?ð?¥ï?Àwî?€Þí?ð?ð?ð?ÿï?À¹ï?úï?ð?ð?€9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?À“ï?ð?@ï?@­è?j³?Àa?€wÞ?€?ç?Êâ?2ï?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ºî?@#í?å?VÝ?€Öä?š¼?`…?n¾?Üä?@ÿï?€Òï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ð?ÿï?ð?ÿï?Éï?ð?ð?ð?ð?ð?@÷î?€Àë? Ê?ð„?Àlä?@¡ï?@î?Ôï?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àrï?@Šï?@Œï?õì?@zï?ð?ð?Œï?@éï?ð?øï?€Dî?’ï?ð?ÀÊï?ð?ÀÎï?ð?ð?ð?ð?ð?ð?ð?dï?@íï?ð?pï?@ªî?ð?ð?ð?ð?ð?À»í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ÀÕî?€ãï?@óî?ôï?ð?ð?ð?ð?À¾ï?€Oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€3î?À£é?@Aä?Àå?ð?ð?ð?ð?ð?ð?ð?Žï?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Lë?€õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?@‚ï?‘î?Àþì?À\î?€cï?@Aï?ð?éí?€<ï?@¶î?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?@³ï?€uï?Àªï?½í?ÀRï?€ï?Àóî?€éï?ð?ð?À‘ï?)í?Àþï?€ôï?ð?ð?ð?ð?ð?ð?€îî?ð?ð?Øï?@!í?ð?ð?ð?ð?÷ï?Ùê?Øï?íî?€óï?ð?ð?€âì?@Ûï?À¥ï?ð?@^ï?î?@Âï?ð?ð?ð?ÀCï?€¡ï?¹ï?@1í?ð?ð?ð?ð?ð?@éï?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?@îï?€Ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿì?Àaè?€ì?Iì?ð?ð?ð?@Èï?Àïï?ð?€0ï?+ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?@^ï?wï?ôï?ð?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûî?«î?ð?@Jè?jë?ð?ð?@—î?€ƒ×?€ƒÙ?¯ï?€’é? ê?€Hì?ÿí?€¡î?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?@òï?ð?ð?ð?@šì?€-í?@áï?ð?Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?Àyï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ì?Áï?ð?ð?ð?ð?ð?ð?@ï?€ ï?ð?ð?ð?€í?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?#Ü?Àkê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œï?€àÙ?À\ä?8è?À1ë?ð?ð?ð?€‡æ?L ?À'ì?ð?ð?ð?ð?ð?ÀÚá?j´?À#î?ð?ð?ð?ð?ð?ð?œï?Ú·?€üÒ?X¬?Àe?„¶?x¤?P…?t?ùÖ?²À?8µ?±Î?€ëÛ?€ïà?·Ü? É?€Õ??à?Àà?¦Ñ?ä¸? u?rÏ?kÅ?¨£?€­Û?@õä?@Qè?@Šã?¿í?ð?%î?ÀÍë?ð?ð?ð?ð?€åï?ÀÇî?Àãï?@Ëï?À6ï?€‹ï?À¶ï?€šï?À©ï?ð?ð?ð?@àí?À/î?ð?@(ï?@ï?ð?tï?€˜î?ï?Žï?€Óï?À¢ï?ºî?½ë?Àùä?‰ì?ð?ð?ð?ýî?@`è?€Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?ð?ð?ð?ð?ð?ð?ð?€Ûî?€¯ï?@¸ï?À°í?ð?ð?ð?ð?€åï?ð?ð?À[ï?ÀÇï?ð?ð?ð?@úï?€ãï?ð?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?Êï?ÀÌï?EÔ?ùÉ?ÀPæ?@ïæ?šï?À ï?@iï?€Uï?@Øî?âÛ?ˆ›?€íÙ?¸£?ðƒ?Àåâ?€«ï?ð?ð?€2ï?€^ï?Dë?@Žã?€ì?€î?@oç?€é?@í?ÿë?@ ï?€î?€sí?vî? ï?€oî?€%î?@´ï?@Þì?.ï?ð?üï?@Tï?@¸î?@˜ï?À¢ï?€„ì?Àî?À}î?€ûì?À¶í?ñë?@©ï?@­î?€ßì?-ï?qï?€ë?€Eí?Àï?˜î?ð?@›ï?˜î?€¨ï?€Åí?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?€$ï?€¼ï?ð?ð?ð?ð?~ì?€bØ?´?PŒ?zÖ?̤?X¤?ر?@^ë?¯ï?ÀÀî?À˜î?Àìî?€Çï?@0î?@£í?@›ë?€åï?ð?ð?ð?ð?À¤ï?ð?ð?ð?ð?Øï?ð?À¤ï?ÀÉï?ð?€óï?€úï?ð?ð?ð?ð?Çï?ð?ð?ð?ð?ð?ÀÊï?ð?ð?ð?Àòï?ð?ð?€Tï?}ï?@Õï?ð?ð?€êï?Àï?@óï?ôï?ð?ð?ð?@Yí?ð?ð?Ñî?€±î?Àší?Øï?Àòï?ð?ð?@Lï?€ í?@àë?À¯é?Þæ?€Hî?@ï?ð?ð?ð?ð?@”ï?ð?ð?ð?@‘í?€ßì?À>ï?Àçî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@tî?@@ï?€’æ?ÀŠ?t?€w?óÅ?=Ð?@Šã?Àôí?@î?ð?ð?ð?ð?ð?ð?Àµï?€Uè?¿À?ì­?€œ?PŒ?ž½?€µã?€âí?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?Óï?ð?ð?ð?ð?ð?€oï?À–è?þÄ? ?¡Ó?›ê?Oí?´ï?€ï?€‚ï?Rï?€aï?[î?À}î?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ƒï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?@€ï?€åï?ð?€üï?ÀRï?ð?ð?ð?áí?@ ï?ï?@ï?ð?€Åï?ð?ð?ð?ð?ð?ð?ð?@ïï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?€Ví?Àýí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qï?@Ëï?@¶ï?À[î?Üï?’ï?€«ï?ºï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?ÀÄî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?ð?æê?@Eé?€Dï?@ î?ÀÅï?@Sï?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?Ýé?‰î?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ï?@­ï?,î?ªí?@Tï?€âï?ð?À+ï?@+ï?À‰ï?Oï?ð?ð?Àìî?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@8ï?Àqï?ð?ð?äï?€èï?@“î?€Šî?ð?ð?ð?ð?¸ï?ð?ð?€øï?@ùï?€®ï?—ï?€yï?ÀÍï?€$ï?ð?ð?Àõï?À¿ï?@æì?€&ì?ð?ð?ð?ð?@®ï?€3ì?€Òí?@×ï?Àòï?{í?€âï?øï?ð?Àõï?@íí?À2ï?ëï?ð?À‰ï?qï?@ßï?€¸ï?€î?ð?ÿï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Fï?ð?ð?ð?ð?úï?úï?¦ï?ð?ð?¸ï?ð?ð?ð?Àïï?ƒé?ïï?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?¼í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?À,ï?€¡ì?€Åï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?@:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?ð?ð?€Úï?@xì?ÀÖí?À§è?KÑ?À`?Àv?@²æ?Îï?Úï?@ºï?ð?ð?Àaï?ð?ð?ð?ð?òï?ð?ð?ð?ð?ð?€Çï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?tì?ð?ð?ð?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?uî?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòî?ßï?ð?ð?ð?ð?ð?ð?ð?ÀÜî?mí?ð?Àï?@†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?`Ø?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?@‘å?€é?€Úè?íè?@0í?ð?Àòï?€ÿä?Pƒ?ÀØé?ð?ð?ð?ð?ð?kã?d?è˜?€Kë?ð?ð?øï?øï?ð?ð?gç?Àq?€Ó?R×?À“?U?¼«?tÆ?R²?@Žâ?7Í?P?yÅ?Ï? v?€X?›?€‹Ð? Á?@&á?h‘?ú¼?€UÐ?¯Â?{?š? ¢?°‘?0‡?Ày?ø¢?À§?¸¨?ˆÏ?€ä?ÀRå?À©í?Àñï?ð?ð?€0ï?ð?ð?ð?þï?Àöï?ð?€øï?€ï?À"ï?€Ué?@°ï?€™ï?@òî?eí?Àqï?ð?–ï?€ùï?ð?ð?‚ï?@þï?'ï?Àþî?Àéî?†ï?À×î?®é?À™î?ð?À²ï?@ßï?ð?ð?ð?ð?€ïï?@Éî?À½ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?Aï?ð?ð?ð?@¤ï?Àïï?ð?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€óï?À*ì?€é?À†ç?òï?À³ï?ýï?ð?€lï?Àßï?ÀÍï?@Ôï?ð?@¿ï?Ïï?Àùï?Üï?ð?ð?îï?_Þ?ÃÍ?À8ç?Àâì?Ðï?`ï?€“ï?@ìï?äï?ÀZè?nÃ?ç?€ëç?x˜?Ú³?€Ží?€úï?€™ï?Àßï?Àíî?€í?Àå?¸è?€Þî?À¯ï?ð?À;î?€9í?À>ï?¼ï?áï?Àvï?€öî?ÀÇí?€Øï?Öï?€ë?@Çî?€}ï?@Ñí?Áë?@{á?€¬á?€üì?Àpï?€Üí?ÀÑï?@xì?€øî?~ï?@Ôï?€™ë?Àë?À#í?@}ï?tç?@pï?”ï?ð?ð?À°ï?ï?@8ï?Êï?²ï?ð?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€aí?î?€úï?ð?ð?ð?ð?ð?€Cè?,¢? Ð?¨Ý? ¤?P•?@׿?ð?ð?ð?€oï?Àæï?íî?ÀÒï?@ëî?äï?Àöï?ð?ð?ð?Àóï?ï?Àúï?ð?ð?@‚ï?À7ï?ð?@Ôï?ßï?@pï?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?@Úï?ÿî?€ï?€§ï?Àôï?@¡ï?@àï?€ßï?ð?Øï?€ï?€+ï?Lï?Êï?€¶æ?€’î?@¹ï?´ï?îï?ð?ð?À ï?þï?@Ãî?@%ï?@ñí?À·é?òï?@õï?Àôï?Àèï?ð?@€î?€1î?Ïî?À–ë?Àî?@íï?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ÀQï?@ï?­ì?þî?uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@Né?Ô¥?TÌ?Ò?€€í?@Nï?ï?Àxï?ð?oî?ÀÈï?÷ï?Àåê?@-ï?Øà?«Â?à?ëà?@Ïî?@ûï?ð?ð?ð?ð?ð?€´ï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·î?ÀÙâ?kß?ðŽ?À»?(Ü?Hè?@4í?€Cé?Àòê?@]î?@î?€úï?€Nï?À|î?Ñî?·ï?ð?ð?€ºï?¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@:ï?ð?Àƒï?ð?ð?ð?ð?€Éï?ð?Àíï?€Ûï?ð?ð?ð?ð?ð?À|ï?±ï?Àøí?@Éï?Àíï?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaì?€Iï?ð?ÀÉï?@·ï?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?@Õï?Àœî?€¼ï?ð?ð?*ï?€ªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?@Úë?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?€ê?¤á?€Êé?Àç?€íî?ð?ð?€¿ï?ð?ð?ð?€€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àå?@üã?€]ê?@èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦í?0í?€Õï?@Eî?ÀÊï?ð?€%ï?ð?ð?ð?ð?ð?ýï?úï?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?À©ï?ð?ð?ð?ð?¹ï?ð?ð?ð?€Nï?ð?€Ïï?úï?€¤ï?@iï?ð?åï?ð?ð?ð?ð?°î?À(î?@Jì?€‚ì?À†ï?€3ï?€úï?ð?ÀŒî?Àƒï?€­î?äí?`ï?À·ï?ð?ð?ð?ð?ð?Àóï?À§í?Àõí?\ï?€í?ð?ð?úï?ýï?@»í?ð?Àîî?@¾í?ð?Àªí?Àãí?€›ï?ÀAé?ð?Pï?ÀÛí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€jí?‡é?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?Áí?€}é?ÀÊï?ð?ð?ð?ð?ð?ð?ð?@÷ï?À˜í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àií?¥é?üá?çÜ?„Ñ?@¬?`‹?@Bà?ð?ð?ð?ð?ð?ÀÐï?@åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­î?€Nï?ð?ð?ð?ð?ð?ð?ð?ð?xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?@gí?ð?ð?ð?ð?ð?ð?ð?€^ï?ÀSï?€ûí?€Æí?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?ë?@¿ç?À(å?€äè?rî?ð?ÀQæ? €?€Ú?ð?ð?ð?ð?ð?@Åë?uÆ?}Ì?ÀÄï?ð?ð?€¿ï?€î?ð?€3ç?˜œ?¨±?6²?8’?…É?ô¶?B¹?@-å? Ü?_À?€ŠÒ?€BÜ?ƒÌ?ˆë?»ä?$Ø?`À?–²?^Ï?@ºí?€ï?€Üì?ð?ð?€áî?ð?ð?ð?Àïï?ð?ð?\ï?@Éï?€Ûï?€Ûï?oï?ï?@îï?€žï?ð?ð?ð?ð?ð?ð?ð?ð?@6í?ð?ð?À*ì?Àë?@ñî?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€eî?ÀIï?ð?ð?ð?ð?€åï?ð?ð?@Éï?€ ì?ð?ð?@“ï?@§ï?ð?€Ûï?ð?À’ï?€¨â?Žå?@…è?åï?Àœè?ÀZí?Àºí?ð?@îï?@¦ï?ÀÓï?5ï?¥î?@°ï?À î?¦ï?Àï?ð?ð?@œî?€˜Ö?€¢á?@Dí?ì?€™î?ð?À¡ï?Øë?€ ê?€øî?@)í?ÀËí?Àè?H?XÁ?€»ë?ð?ð?À ï?À ï?@Œê?€dí?.ï?@õí?@¥ì?@í?Àéî?@‰ê?Mí?@fï?ÀAï?î?€ˆí?í?€-î?€lï?Ïì?@Æë?@Jî?@ê?@ðë?€3æ?€Àä?À¾î?zí?€Ïï?@¾í?À³î?@î?Jï?€Eí?€uí?ÀŽê?À‹ì?€aî?€5í?€cï?€Íï?€Ûï?€€ï?À7ï?ð?Àïï?ð?€Ïï?ð?@.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@iï?€7Ø?ø’?´ ?€>ä?ð?ð?ð?ð?ð?€Ûï?€^ï?ð?Âï?@ôï?uï?ð?€åï?ð?À‰ï??ï?@æï?@îï?ð?ð?À½ï?@ªï?€¢ï?€¿ï?ð?@Óï?ð?À’ï?ð?ð?ð?ð?€Ûï?ð?ð?ð?€Ïï?@î?@oç?€>é?€§ì?@|î?ùî?ÀÓï?Îï?Äï?Yí?Âï?ð?€¼ê?@Ôè?ð?ð?ð?ð?ð?ð?€åï?§ï?ð?@îï?€Aï?ð?€Ïï?ð?€€î?ð?ð?ð?Ànï?çî?€ì?ð?ð?ð?ð?ð?ð?Àžï?@îî?ð?€Ûï?Àqî?ÀCï?€êï?­î?óî?€Cî?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?ð?ð?ð?(î?@Bà?0–?@œ?€øÔ?@á?@Åä?Åì?ð?ð?€Ïï?ÀÍï?÷í?™Ó?ú¼?€j?€„â?€î?ÀÛì?€ðè?ð?ð?ð?ð?ð?@÷ï?€åï?€âï?@5ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?@aì?€ÔÝ?x™?ŽÖ?cá?@ºã?ÀXç?€}ë?@ î?ð?Àöï?ð?ð?ð?ð?@uï?€qï?ð?€ðï?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXï?ð?ð?ð?ð?ð?ð?€Üî?ð?€Ûï?ð?ð?ð?ð?ð?ð?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€ë?@Áï?€®ï?Ààï?@·ï?À¸ï?Àªï?ð?ð?ð?óî?€Aî?ÀÝí?€¿ï?€¿ï?Àöï?ð?ð?ð?äï?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üì?@6í?ð?ð?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?€Ø?¶ê?@ªí?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãé?@ºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?ð?ð?ð?€Jï?@7ï?ð?@Öï?€>ï?€‚ï?ð?ð?Sï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?@Éî?€¸ï?ð?ð?ð?ð?@µï?Ààï?€¬ï?ð?}î?ð?@Ãï?Àáï?ð?ð?ð?Àöï?ð?ð?ð?ð?@Ñï?Èï?€ýí?@uî?Ààï?Àrï?ð?ð?}ï?@}ï?¨î?Vï?€[ï?€¤ï?@Éï?ð?ð?ð?ð?ð?Àî?oï?ð?ð?€%ï?ÀGî?À™î?€ƒï?äï?ð?ð?›í?±ï?¥ï?¥ï?@_ì?@¾î?Ñï?Àùï?À¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?€~é?/î?ð?ð?ð?ð?ð?ð?Ñï?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»ï?€¶ë?@(â?€-æ?@åê?Ní?€)î?À‡î?}í?ÀXï?€óì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€î?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.ß?ˆ¦?P±?kÚ?uè?@aï?ð?ð?ð?ð?ð?€í?ÀUï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐì?ð?ð?ð?ð?ð?ð?ð?ð?µì?Ûë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çî?@;ï?€ì?@1á?0×?À*â?@èè?@5ç?àÀ?kÎ?ˆí?ð?ð?ð?ð?€2ï?GÃ?€‹Ð?ð?ð?ð?ð?ð?@™í?fÃ?ÂÆ?þÃ? q?Ü­?@r?@‚?5Ù?„¼?UÅ?^Ã?B±?%Ü?€Æ×?p©?`€?$ª?€ Ý?À9å?Àƒå? è?@ßì?€ë?{ë?ð?ð?ð?ð?ð?ð?ð?À7ï?ð?@¼í?|í?Àùï?@íï?@™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåî?êî?€Ãî?Ñï?€‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ëï?Ôî?ð?Àóï?€°ï?Àþî?€€ï?ð?ð?ð?@µï?€¾ï?@Éï?ð?ÀÈí?@?ï?ï?ð?Àï?Àµï?Àùï?€ï?@ï?@ë?@7ï?@þë?€ìí?Ààï?Ñï?ýï?€Oä?²¾?€öÝ?IÕ?Àdã?€Yá?ÀÜê?€lÔ?À~í?ð?@’ï?fì?€¶ß?üË?€à?€è?ð?ð?ð?€î?@´í?Ànî?À,í?€’ì?@ïâ?†ß?@Wî?¤ï?&ï?Àxï?@Ñï?€äï?Ïë?ÀFí?Ïï?À¿î?€Çç?@ç?À‚í?@[í?—í?éí?Àí?€Lî?üì?xï?ÀÐí?€ï?Àæî?Àåï?ÀXí?@·í?#ì?@€î?@pé?€¸ì?À í?Àõî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õî?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zì?h?àt?€™Ñ?Є?8â?ï?ð?ð?ð?ð?@Éï?öî?€Éï?@{î?ÀÏí?€õì?€Fí?ÀYï?Àíï?ð?ÀÚï?Àöï?Éï?ð?@·ï?@Öî?ÀVï?€­ï?ð?ð?€¿ï?ð?ð?ð?ð?ð?@Áï?ð?ð?À’ï?úï?€Ïï?ð?@Æå?€Qé?ð?€õï?’ï?}ê?À™å?À[ç?€½ä?€)í?ð?ð?¬ï?ð?ð?ð?€Ûï?ð?ð?äï?Àï?¢ï?À¼ï?€¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™ï?ð?@¼ï?Àœï?ð?ÀPî?Vï?ð?ð?ð?@î?ð?ð?ð?ð?Ñï?ð?€4ï?Àrï?Àï?jç?jÇ?h­?¨‘?8–?‘?€Ž?€¿Ú?€Û?‘à?Àóï?ð?À í?€·ã?ÙÂ?l?–Í?íá?ؾ?¬£?Ãâ?@ë?€í?ð?ð?€äï?ÀOï?@©å?@Aí?ð?@ï?úï?ð?ð?ð?ð?ð?@Áï?ð?€{î?Àeì?Ìè?€pÝ?Ʋ?`~?@¦å?€vê?€Ÿà?ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?@ðí?ð?Àûï?ð?ð?ð? ï?€†ï?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?À¼ï?@·ï?€Ûï?·ï?À’ï?ð?ð?ð?€Éï?ð?ð?·ï?ð?@iî?À˜ï?Kï?ð?ð?ð?ð?ïï?À}î?€÷ï?ð?ð?ð?@nï?¥ï?@Kî?À‚î?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?Ïì?sï?ûï?Àsï?@þï?Ÿï?7ï?À‡ï?ð?@úå?€2î?@Êî?úï?Pï?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?Àíï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?€÷ï?ð?ð?ð?ð?ð?€-î?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éï?ð?ð?€þï?€øä?@Äæ?€æï?ð?ð?ÀIï?ð?ð?ð?ð?€7ï?ð?ð?ð?ð?ð?ð?Àõï?@nï?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ïï?ÀÙï?Àªï?ð?ð?ãï?@Ðï?ºï?Òì?@"ï?ÀÚî?ð?€÷ï?@Þì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?ð?ð?ð?€÷ï?ð?€Ðî?ð?ùï?€íï?ð?ð?ð?ûï?@øï?ð?ð?ð?ð?ð?·ï?ð?€æï?ð?ð?ð?ð?ð?€Ûï?ð?ð?Zï?²ï?€Wï?@ï?€îî?€Uî?ð?Àëï?€ìï?@lî?ð?ð?ð?ð?ð?ð?ð?€ðï?À í?À-î?€Ûï?@Éï?Àðï?ð?À’ï?Àwï?€xï?ÀÎï?ûï?ð?@Éï?ï?€ìï?ð?€Œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹î?@Cé?ð?ð?ð?ð?ð?ð?Àïï?Àï?@½ï?€zï?ð?ð?ð?ð?À(ì?€Ûï?ð?ð?ð?ð?€Cì?=æ?@dé?î?€5î?åì?ãí?Àží?@Éï?ð?€æï?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡ï?€Èï?ð?ð?ð?ð?ð?ð?€¼ï?€ï?À¤í?ð?ð?ð?WÛ?Nã?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?€¤ê?€ãÚ?YÈ?‘Â?€Ø?ÀÌè?@î?Àöï?ð?ð?ð?Àêï?ð?ð?Âî?€Sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@3ï?í?ð?ð?ð?ð?ð?ïï?Óì?@î?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™á?ÿì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?€¤í?Çã?@Xê?@`ì?€|ì?®ì?ÀNï?lÔ?A?ÜÚ?€òï?ð?ð?ð?¼î?@á?@…?€¢Ñ?ð?€®ï?€öè?ð?@¼ä?ˆ¾?(“?ºÉ?Ì?a?0‚?H›?—?H?Àl?A? ~?ï?@øï?ð?@yï?€÷ê?@–å??è?&Î?òÔ?@Œç?@‡â?ÀÕì?@;ì?€î?ÀÁï?@/ä?@èã?gê?sÍ?@ï?ð?ð?€ñí?®ë?@ï?À»ï?¤î?À±æ?@\ç?À°ë?Fë?€ré?€å?@uê?Àï?Àïí?€uì?Àcê?@×ë?zç?@ë?€uê?Ùì?ì?Øí?€ªí?ªì?“í?€^ï?Àûï?@ÿï?@!î?Àï?Àèí?@Në?Àeé?ë?@÷ç?Àå?rî?€ÿê?eî?€÷ï?Àíï?ð?ð?ð?Àíï?€‡ì?êî?Åí?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7ï?ð?ð?ð?ð?À#ï?1Ò?€%Ó?À5ë?€ªÝ?]À?¿ê?@ î?À•ì?€ï?ð?€€ï?€uî?À²í?Òé?€kï?øì?€ºî?×í?çï?ð?€÷ï?À[ï?Àõï?Àáï?À’ï?@½ï?bï?‡ï?ð?@óï?ð?ð?ð?ð?ÀRï?xï?À¨ï?€€ï?yï?€Éï?ð?¥ï?€Ûï?€Hî?­ï?€Ûï? ï?€üï?ÀFá?@\ë?À)î?@²ä?€hê?ð?ð?€þï?ùï?ð?·ï?€_ï?¥ï?ð?ð?Àvï?€î?ì?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wï?ð?ð?ð?ð?€Œï?@Êï?dï?Àçï?@úï?ð?ð?ð?í?@Mï?@óï?@]î?€î?€Sï?€fì?Àoî?ÀJè?@,ï?²è?è²? Š?€»Ô?£ê?€&Ü?€µæ?˜?Àa?Àq?¯Å?{×?€@á?¶Ì?¦µ?€ƒ?g?£Á?0©?Ô?Éî?ð?€ˆâ?€+Ñ?€šç?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?€Óï?ÀŠî?@–æ?@íä?€^Ø?zà?ª¿?Þ½?kÚ?€ä?@1à?@â?äá?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?ð?@Êï?ð?ð?ð?€÷î?ð?@èï?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@zï?ð?ð?ð?À‰ï?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?À!ï?”î?€ î?ðî?@öï?¹ï?ð?€Äï?€Óï?ð?ð?ð?ð?ð?ð?ð?€Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"í?€¨ï?ð?€Óï?ð?¼ï?€—î?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ï?@•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ï?@˜î?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?¿ï?€Üï?€¡ï?€¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(â?Àáä?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?ÀÖï?žï?ÀÅï?@Ùï?ð?€ìï?@²ï?ð?ð?ð?ð?ð?ð?ð?Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?ÀÚï?@Qè?3ï?@Tí?ï?@Zï?Àêî?€ï?ð?@Zï?ð?•ï?€Øï?œí?€dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?ð?ð?ð?ð?À¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*ï?À¦ï?ð?ð?ð?¼ï?€Ïï?@gï?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?ð?cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]ï?€Uî?@ýî?€²î?À3ï?@­ï?ð?˜ï?À ï?€øï?ð?ð?ð?ð?Pï?€§ï?úï?ð?ð?ð?ð?€‹ï?€‹ï?úï?€›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6ê?À=ï?ð?ð?ð?Àï?@ï?ð?@ºî?Àþî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?ð?ð?ð?ÀRï?€Œì?€Ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?À‚ï?@šè?@?î?ð?ð?Àî?]Ú?çç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?@Ïî?€ìï?@_ï?@2î?ð?ð?ð?ð?ð?@èï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢î?€£ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?šé?€¯ï?ð?ð?ð?ð?€:î?ÀÏì?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pè?@šî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?€)è?)æ?è?Þî?ð?ð?ð?ð?@ùí?€ÏÔ?€£Õ?@èï?ð?ð?ð?ð?Àbì?°¬?$Æ?@ôï?@âï?Eë?@Õì?Í?€]? Ð?Ç?€}?Á?ôª?ƒÕ?@…æ?À´ë?Àní?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€Øï?€¦ç?€´î??ï?@žî?ð?ð?ð?ÀÎï?@ôï?ð?ð?@öï?€Ïï?ð?2ë?€ï?¼ï?@cî?Àµî?ð?ð?ð?úï?€vî?ð?ð?ð?ð?ð?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Kï?ð?ð?ð?ð?ð?ð?À=ï?@ë?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?ð?ð?ð?·ï?ð?ð?¼ï?Àªí?@èï?´ï?@“ì?@†ï?ð?ð?ð?ÀÐæ?@¡ã?ð?Àï?Àœæ?‚È?@|à?âî?€Ÿí?€Jé?€Æé?@'ì?@Àï?ÀÃé?íî?&Ý?€¡?Àoã?€²í?@ôï?@Ùï?À~ï?€€î?@€ï?Uê?@é?@Èí?@lé?€{ç?€ié?@¥ì?€’ê?ÀRí?€¬í?@<î?ÀÍì?@á?…Ù?@íè?ÉÝ?€´ì?€¬ë?€ûê?@ê?€œì?@î?@[í?€Çì?À¨î?Ôï?ð?@ï?ð?€Àí?@®í?€›î?+í?€µí?Àªë?€ùí?ð?€ê?@Öì?À«î?€ìï?ð?ð?ð?ð?@oî?…ï?ð?ð?ð?ð?ð?€Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öî?ÄÚ?М?.µ?@ôè?Àî?¨î?ÝÜ?=ì?@Çì?€Ÿí?@î?ð?ð?ð?€úì?@;î?-ï?@ñï?ð?Îî?€íî?@ï?Yï?@Ùï?Àƒî?@Åì?§î?€©ï?€äï?@lï?ÀÑï?À‚î?ð?ªï?À§è?€Hé?À^ï?ð?€ýî?Åï?€Çï?À•ï?@‡ï?ÀÑï?€Üï?@­ï?ð?ð?€Üï?ð?ð?€Œï?€Ûï?À/å?€lï?@æî?@é?|Ø?`î?@ôï?Àžï?@Šî?@Éï?ð?@ôï?€æî?úï?ð?ð?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?À5ì?@­ï?ð?€þî?ÀÖï?¼ï?@Gï?Mï?@wî? î?@ñï?ð?€Ìî?€Üï?ÀÚï?Àéï?€Jï?Mï?@°ì?@Äë?€Yá?‚Ä?Z³?x¥?”Ì?˜Ÿ?úÏ?À‰ç?@pï?èç?è?Àtè?\·?zÌ?Ö?Hª?Àpä?€î?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±ï?Àº?¨–?€¬Ü?ðí?ð?ð?ð?ð?Àºï?€/î?ð?ð?ð?ð?ð?ð?À»î?@Aï?ð?ð?[ï?@öï?ð?ÀÙï?ð?ð?€øï?ð?Àðï?ð?ð?À»î?ÀÙï?ð?ð?ð?€ãï?€öï?ð?ð?ð?ð?ð?ð?ð?ï?ð?Àðï?ð?ð?ð?ð?ð?ð?@Ùï?ð?€áï?@î?Àkï?@Éî?ð?@Òï?ð?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoï?wì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?@Xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?øî?]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éî?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?@üï?Àaï?ÀÕï?Ãï?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®Õ?Àhï?@éï?ð?@*ï?@²ï?ð?Àžï?ð?ð?ÀÆï?ÀÅï?ÀÆï?@åï?¬ï?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒï?@6í?6í?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›î?@Òç?ÀÍí?@Ùï?€Sï?kï?€1í?ÀDí?€¨ï?€‹ï?ð?@¬ï?À1î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?ð?ð?€Ïï?ÀÊî?À„ì?@.ï?ÀÆï?€uï?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ÀÊï?€¼ï?@‚ï?€$ï?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶î?À®ì?€ýî?@Õî?»î?À³ï?ð?ð?ð?ð?ð?€yï?ÀÅï?ð?€Rï?@üï?ð?ð?ð?ð?ð?ð?@üï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€ãï?ð?ð?ð?€Wï?ãï?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ð?ð?ð?€ôï?dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ì?À«ì?ãï?ð?@/è?e??€Œë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßí?žá?€ï?Kí?ÀÝï?ð?ð?ð?ð?ð?Àðï?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆí?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pé?¿ï?ð?ð?ð?ï?@}é?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?3î?@5æ?î?ÀÊï?ð?ð?ð?ð?ð?ð?€þä?¬§?Hí?ð?ð?ð?ð?@oï?€Ñ?h”?‡á?ð?@>î?äÑ? Â?’?€¯á?@üç?ÀÅê?€Ðì?„ï?@Aï?€ ï?íï?ð?ð?ð?ð?ð?Œï?ð?ð?ð?_ì?ÀJç?€*ì?À²ë?€ìï?ð?ð?ð?€øï?€öï?€ãï?ð?@Ùï?ð?ð?ð?ð?€Iì?×ì?ð?ð?ÀÅï?@ìë?@í?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?"é?@ªï?ð?ð?ð?ð?ð?Àî?@àå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åí?€`í?ð?@éï?ð?@Ÿï?ð?ð?,î?p¾?ÀŸç?À‰ï?@Nì?wÉ?t­?@Îä?@•ï?þî?@Cì?@3ï?€øï?€}î?€î?Ô?'Æ?SÄ?€Fæ?ÀÙî?ð?€gï?€çì?€Êî?@Sï? ê?çæ?›ê?€yé?9ë?Êç?fê?€Ñ?À°â?í?À¯ä?@ è?€•â?ÀMç?Gç?€&ã?›é?qé?Fí?ì?@#ë?€Sì?À é?€Øî?€ãï?@>í?@Ôï?À³ï?Lê?€î?ÀÈé?@î?€ í?@áî?@éï?î?€7ë?€áï?€-î?ð?ð?ð?ð?ÀÙï?Àâï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õî?ð?ð?ð?ð?ð?ð?xï?ð?ð?@½ï?€Ré?Qî?Àqì?]Þ?“Æ?Àâî?@Àï?”ï?ç?@ºî?Àî?€Mï?ð?ÀÙï?€³ï?À¹î?@9î?€Îê?€Ýî?ð?ð?€‚ï?@çí?ëî?À’ï?ð?Àðï?€áï?Àdï?@æî?Àï?gï?ÀHï?ð?Ÿî?Ú?‚Ô?Àvà?@Ûé?ÀÁî?@Óì?î?@êê?€sî?ð?ð?¯ï?€î?€Ïï?ð?Ýí?ð?ð?xï?ð?Àì?À‚å?€ãï?¼ë?€Ñ×?ÀÉî?Àkî?ãï?À5ï?@§ï?@Ùï?€øï?@•í?Àvï?ð?ð?ð?€ ï?@ãí?ð?ð?ÀÐí?ð?ð?ð?ð?ð?ð?ð?ð?€Éî?@Qï?ð?€ôï?ÀÝï?Mì?ð?@6í?@gï?ÀÆï?@Aï?sï?@Ží?@ ï?ð?ÀGï?@~ï?€;ï?ð?€ï?·î?@$â?€¾Ö?8Á?à…?à¯?€ýê?€:î?€åî?@Cá?‡Í?È ?åË?€vÙ?€íÞ?€Ù?/Â?äÑ?À9î?€ôï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?Àï?ð?Àõï?@qç?€©Õ?°‰?H—?æÂ?€¿×?ë?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7ï?@üï?ð?ð?ð?ð?@Ùï?@Zï?À¨ï?@•ï?Kî?ð?ð?ð?ð?Àùï?@ÿï?ð?ð?ð?€ÿï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­î?ð?ð?ð?ð?€ìï?@Ùï?ð?ð?ÿï?Àÿï?ð?€½ï?ð?ð?ð?Àâï?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?Qï?À¸í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?ÀUî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdê?@…î?ð?áï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ÀÅï?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?Gï?ð?ð?ð?€ìï?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦å?€ë?ð?ð?ð?€Öï?@Éî?@Ùï?ð?ð?ÿï?ð?€Šï?ð?ÿï?ð?ð?ð?ãï?ãï?ð?ð?ð?ð?ð?ð?@Œî?­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?À’í?ð?ð?ð?ð?ð?À¢ï?€·ï?ð?@@î?ð?ð?Bï?€uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏï?Åï?ð?ð?ð?Àðí?Àóí?ï?@òï?€ï?@ûí?€Öî?€ßí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qï?ð?€‹ï?Gï?À”ï?ÀØî?Øï?ð?ÀZï?;í?ð?ð?ð?ð?ð?ð?@þï?ÀVë?Àÿï?€êï?ð?€þï?ð?ð?ð?ð?ð?Šï?ð?ð?ð?@²ï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€ÿï?ð?Åï?ìï?ð?ð?€þï?ð?ð?ð?ð?>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?À¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vî?Éî?xï?@²ï?€×ì?8’?š»?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ë?@ñì?@Ší?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?Àâï?Àâï?ð?ð?ð?ð?ð?ð?ð?ÀÏï?ð?ð?@òï?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@°ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§î?Àçï?ð?ð?ð?À²é?€‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?2î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»ë?€Ûê?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?Óä?Zæ?ð?ð?ð?ð?ð?€{ã?ÎÄ?À$ì?;Ê??%Ð?@ãã?Àšå?€Uä?=ç?Àé?ÀÏî?€îî?À]ï?ð?@ì?@âï?ð?@Çî?ð?ð?ð?ï?€tì?@Îï?€\ï?ð?ð?ð?ð?Àžï?Àÿï?€ÿï?ð?ð?ð?ÀÅï?Àhï?ð?ÿï?@þï?ð?ð?@²í?Àeë?ð?ð?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hî?ð?ð?ð?ð?ð?ð?ð?kî?ð?ð?ð?ð?ð?€¸ë?€ä?@\í?ð?ð?ð?ð?À“î?ÀËå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?Ÿï?€ìï?€ìï?€Œê?ð?@ ï?ìï?Àÿï?ð?ð?ð?{á?ÀÅæ?@ï?Wí?À>à?õÃ?€Vã??ï?€æî? ì?€×ï?ð?›ï?€ï?€àÙ?€©Õ?•Ï?ãì?€Èê?@wî?€•ï?@Çí?@¸è?4ë?€vç?€‹ì?ÀGé?@é?À¡ã?>è?@í?€â?€ æ?@së?€#â?ÀŸè?€Ué?ÀÐå?ÀPí?€Œë?tä?@Ñê?@Áí?@Úâ?õÒ?€:á?@è?ií?@”î?Àáî?€,ï?À•ï?Àâî?€Qï?wï?ÀÎî?@ï?/î?€æî?@_ï?Àãî?@Žï?Þï?ð?ð?ð?ð?€­ï?@®ï?€²ï?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?€‹ï?Àjì?@¹í?ð?ð?ð?ð?ð?@Qï?ÀÅï?Ýí?éê?Uï?ð?ð?úï?@—î?@¨ï?ð?ð?€ ï?€£ì?€ï?ð?ð?Àëï?€Íí?ï?tï? ï?0ê?@ëï?ð?ð?`î?Àëï?€Šï?@í?€‹ï?@öï?[ï?@ùî?€ôï?Àÿï?€´ï?Àˆí?€”Ò?ÕÖ?€‹å?€«ê?ÀÀï?€Šï?íí?@<ï?@í?èí?ãï?ð?€ìï?ð?ð?ð?ð?ð?ð?Àžï?€œí?Ïï?ÀÛë?@Àã?ÀÔâ?€Hî?@²ï?%ï?€¨ï?@üï?À&ï?ð?¼ï?@Žï?¢ï?€ï?@òï?ð?@þï?Àüï?ð?ð?õî?€»ï?ð?ð?ð?ð?ð?ð?@ëï?ð?ð?€²ï?ðî?ð?Àï?ð?ð?ð?Àï?€Õï? í?€þï?ð?À1ï?Àÿï?À¼ì?oí?¬í?@‚ì?€ùä?<Ç?2?àˆ?Ü?Àøê?@#î?ð?êî?Sê?Àƒ?@‘?¨š?Óç?ð?ð?€Øï?Àšï?Àúï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?ð?ð?ð?À>í?@ìã?X¯?AÆ?wä?ë?¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?ð?ð?@²ï?ð?À[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?ð?ð?ð?ð?€Õï?ð?ð?ð?ð?ð?ð?Îï?ð?ð?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?€Õí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éá?À>é?ð?À ï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?ð?ð?ð?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€_Þ?ð?ð?ð?Àzï?ð?€·ï?€·ï?Àžï?ð?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?@\ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€eì?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãë?Zë?À®ï?Ëï?ð?Ëï?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?@Wî?ð?ð?ð?@Ðï?ð?ð?@¤ï?Àñï?@öï?ÀNì?ð?Ëï?@sï?ð?ð?ð?«ï?@#ï?@î?€Fì?çï?@dï?€Ñí?^ì?ð?ð?ð?ð?ð?ð?ð?À=ï?ð?ð?ð?ð?ð?ð?ð?Àãï?€‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«î? î?ð?ð?ð?ð?ð?ð?ð?@Qï?ð?ð?ð?ð?xï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•ï?ÀÉî?Ðï?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?ï?€±ï?À¿í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?¤ï?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?Àhç?€Õ?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óì?€dï?ð?ð?ð?ð?ð?À%ï?@rï?Àiï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Àï?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?@¨ï?ð?ð?çï?çï?ð?@rï?@]ï?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€!î?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?í?ð?ð?€ˆï?ÀPê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€]í?€õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Ààê?=ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?~×?β?€£ì?ð?ð?ð?ð?ð?@ê? ®?ŽÁ?¢¹?°Ã?”¼?|³?ÓÏ?Ãæ?À°é?@Ûå?Hê?6ä?@@ê?ÀÌï?ùï?@…æ?€Yî?ð?À:ï?@sì?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?€Þí?€Îï?@¹ï?ð?ð?ð?ð?ð?€Áï?ð?ð?ð?ð?ð?@kï?À›ï?@ªì?À¥ë?€„è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãî?@Çï?ð?ð?@Ùï?rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðî?€î?ð?ð?ð?ð?ð?ð?À›ï?ð?ð?ð?ð?«ï?@¦è?ÀŽî?€ê?€¨ï?@öï?ð?ð?ð?ÀOè?“ï?ð?ð?ð?ð?ð?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?@î?@Ùï?€Àì?€2ï?Òï?ð?ð?@Fï?ð?ð?Oï?Àí?Àã?Uà?ÀOâ?"í?@wí?%ì?ÀÜî?ð?ð?ÿî?)È? ¼?‡Ä?ùï?@öï?þî?@ê?@Sì?@‘í?~é?>ê?À…î?À¬ì?@|æ?€Ëç?ÀÓç?ÀËç?%ï?@Îî?€}î?€Uí?€Më?Òì?€Ÿî?À®ï?@rï?Àæî?@“é?á?€¼æ?Pê?€-é?@cå?í?@ï?»î?@ï?@Jî?À2ï?€êí?(î?€Aï?@¤ï?‡ç?À½î?€šï?µï?€žï?€Ïï?ãï?ð?ð?ð?çï?çï?ð?ð?ð?Àñï?€‚ï?ð?ð?ùï?À=í?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+ï?@Ùì?Œï?ð?@Çï?ð?Àãï?@íï?€Fî?@ïï?ð?@íï?@Ôï?@×í?Žï?€Üï?ÀZí?Àsî?À“í?@né?@Kâ?À¥ä?@î?€Üî?@sì?@Øí?Rï?@ï?€yï?@Tï?Éî?ð?Àeî?@Àï?À¼ï?€Kî?€ÃÐ?…Ë?€›æ?Àmí?…î?Àí?À6í?€Úî?€dï?@µî?ð?@Ùï?ð?€‰ï?ùï?€ ï?€€ï?ÀGï?€Þï?€ìï?ð?À»î?Àï?Àpï?À«ë?€wï?€åï?€„ï?!ï?€eì?Àùï?¬ï?æí?À)ï?ð?çï?@]ï?çï?ï?Àâï?Òï?€cï?ð?³ï?€jï?ð?ð?ð?ð?ð?@nï?€í?ð?€ìï?Àãï?@1ï?ð?À›ï?ð?ð?@¹ï?ð?ÀŽï?ð?Üí?ð?€jî?€Ïï?ð?€Áï?À˜é?À á?™?"¼?€¦ì?ð?ð?Oï?@Eî?~Ù?EÃ?€³Ó?€‡ê?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦î?Àñï?ð?ð?ð?ð?ð?@iã?ÀXë?€KÕ?²?0?€¤é?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àâï?ð?€ìï?Àúî?À=ï?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àâï?ð?ð?ð?ð?ð?Àâï?Àâï?ð?ð?ð?úï?@Óï?@ðï?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…í?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼Ø?ÀEé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ôï?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTì?Ü?€«Ü?ð?ð?ð?ð?ð?@àï?@àï?€¨ï?@òï?ð?ð?ð?ÀÅï?ð?ð?üï?þï?ÀÃï?ð?ð?ð?ð?ð?À±î?æí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?€³í?Àúï?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?œï?€Tî?ð?ð?€”ï?€*ï?€Gï?@Êï?Àúï?xï?@¥î?ð?Àøï?À¡î?@nï?ð?ð?fî?Àï?€Ÿï?ëï?Àï?@¼ï?ÀÃî?ð?ð?ð?ð?ð?ðî?@Îï?ð?ð?ð?@Ðï?ð?ð?ð?ð?ð?€òí?€¨ï?ð?@Õï?@‹ï?ð?ð?ð?ð?ð?ð?ð?ð?€ôî?î?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐî?@5î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Tï?ð?ð?ð?ð?ð?ð?ð?üï?üï?úï?€‹ï?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?ð?ð?øï?ÀÊî?Àâï?ð?ð?ð?ð?ð?€3ä?j·?À1î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°î?€Åï?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?!ï?€7ï?ð?Àê?@Êí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hî?@lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?€ï?ë?@«ä?ÀÂí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘ë?`Ž?€õÙ?ð?ð?ð?ð?ð?ð?€iî?”ª?Ê´?çÓ?@?ú´?ÚÍ?€Dá?p‚?Xž?¤?þÒ?jæ?@ ê?@Jä?Ƚ?À”?€NÐ?¡Ø?œÛ?Äà?ÀØä?€éë?€÷ï?@òã?Åï?ð?€øè?ÀRê?À˜î?@²ï?ð?ð?ð?ð?ð?¼ï?@~í?ÀÀî?€Øê?Àî?÷ï?Ùï?€‹ï?ð?ð?ð?À£î?6ï?ð?ð?ð?€ìï?@+î?Oî?À›ë?@¨ì?@æî?ð?ð?ð?ýï?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?@Ùï?nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?@ôî?€më?Cì?ð?ð?ð?ð?ð?üï?ð?Àðî?@dê?Àœï?À=ï?ð?@Gï?À¸ê?@|ì?öï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ï?@Cï?€í?ûê?€Êî?€Ûî?úï?ð?üî?žî?€ýí?¦É?rº?@8è?€¦î?Àtî?êí?@­ï?€ãï?€~í?,¡?D?P®?†î?ð?ð?@…ç?€jì?À£ì?@¸ê?@Äí?€ï?-ï?@Îè?¬î?@hï?@^ê?Žê?€sî?@¥ë?Àîë?»ï?€éî?›í?ì?Àšï?€¢ï?@Îê?Èé?Àýã?€ê?@Åê?@Æê?@½í?®í?@`í?@Öé?Àùå?@&í?€$î?€”ê?€°ç?@Iì?¢î?€ï?€…ï?Àðë?À|è?úï?@bï?üï?ð?@Ùï?@Ùï?ð?ð?ð?ð?Àúï?€õï?ð?xï?Àãî?¾í?Àåï?ð?ð?€=ï?€¨ï?[ï?ð?ð?ð?ð?ÀZï?#î?ÀÜï?ð?ð?ëï?ð?€õï?ð?ÀÝï?-ï?xï?îï?ð?ð?@ýï?Àjï?€€ê?ÀGè?Àbí?€@é?€Û?€Øç?€íï?À÷í?À1î?@¡ï?ð?…ï?ëï?@Wï?ð?ÀYï?€Tì?jï?ÀÄï?Àiê?@Ë?@¢é?Té?ùï?@(ï?@…í?€¿ì?lï?vï?åí?Àáï?Õï?€“î?@¹ê?ÀÅè?÷ê?€Oí?)î?@†ï?ð?ð?@ðï?Àúï?€­ï?@oí?À*é?€Òï?€úï?À/ï?€*ì?µî?4ï?ÀDî?Àdï?@ï?òï?@Ùï?ð?ï?€‹ï?€’ï?Àúî?ð?ð?Àï?ýï?ð?ð?ð? ï?rî?@Ûï?ð?'ï?þî?Àåï?ð?ð?ð?ð?ÀÆï?­í?Ààè?Àï?Àï?@Øï?ð?wï?ð?ôï?€)ë?€Ô??8?Z´?#Ü?ÀÕï?ð?€‹ï?ì?@|â?PŒ?÷Â?ȯ? ?€XÝ?€íï?ð?ð?ð?ð?ð?ôï?cï?îï?ð?ð?€´ï?À‘ï?À"ï?|æ?4Þ?€¨×?@^æ?@ªá?§Ü?Ì×? Œ?@çì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?@ùí?ð?ð?€ï?ÀŸï?ð?ð?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?€‹ï?@nï?Àâï?ð?ð?ð?ð?ÀËï?ÀËï?ð?ð?ð?ð?ð?À¹ï?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?4ï?ð?vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâ?@–í?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºï?€—ï?ð?ð?@*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?ð?ð?ð?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ã?Àå?Iï?ð?ð?ð?ð?ÀÑï?Àˆï?Àˆï?@Ùï?@™î?ð?ð?ð?ð?@Ùï?ð?ï?€"ï?€zï?@ãï?ð?ð?ð?ð?xï?|ï?€íï?@æè?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëí?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ÀÅï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?€îï?À€î?@Çí?@Få?ð?@)ï?@}í?€í?ð?ð?ð?‘î?@…î?ÀŽî?ð?ð?ð?ð?Àþí?ð?ÀHï?òï?Àüí?•ï?•ï?€Èï?€'ï?Àžï?À=ï?ð?ð?@Ýï?ð?ð?ð?ÀÑï?ð?ð?ð?ð?ð?ð?ÀËï?™î?·î?@Àë?@$î?Àöï?ð?ð?ð?ð?ð?€îï?€îï?ð?ð?ð?œï?ÀTï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€tï?ð?ð?ð?ð?ð?ð?ð?@rï?Àï?€‘ï?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøî?§à?€Jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0î?À3ì?ð?ð?Àèï?€pï?šï?À9ï?ð?ð?ð?ð?ð?ð?€‘â?€öÔ?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²ï?%ï?ð?©í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?Àï?ð?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aî?ð?€Ãè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?ä?.ä?ÀYá?@áì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fæ?€äá?ð?ð?ð?ð?ð?ð?ð?ÑÆ?`Í?¾ì?€ˆà?ÏÒ?¹Þ?ÀÏï?î?€&í?€ë?hÖ?íÅ?gÀ?µÃ?Àæ?€Žâ?À ã?Àè?ÀKë?Àì?ð?@>ì?€ é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?Øì?$ë?€^ï?ð?ð?ð?ð?@ºï?€õì?ÀÅï?@‹ï?ð?ð?€íï?€‰î?À7ï?ð?Àöï?ð?ð?ð?@2î?€fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?@Æì?€¹ê?@¿è?@rê?ðì?ð?ð?ð?ð?ð?ð?€œî?@î?ð?ð?€îï?ð?ð?ð?©ï?@’ì?î?ð?ð?€íï?@ î?ð?ð?ð?ð?ð?ð?€¨ï?€Ùí?Dï?À9ï?fî?'î?À’ç?ï?Ûï?@²ï?@Ùï?@Ùï?€Ëå?€b?ú¶?@Ëë?Àñï?À‹ï?@sï?ÀYï?âì?@t?”¯?ÍÆ?€ãì?ð?€íï?Cï?€’ê?@9ì?€ãê?@í?€xê?€ýå?@ é?Ðé?€—ï?À ç?åí?€)é?@ëí?Àxî?Àuï?@Pï?Àí?ÀÎí?€Vë?ÀÆî?@Ìì?€öê?Öì?@ôê?À½ë?@î?ÀÎî?@|é?ÀÙë?€Ëê?@bê?@Œî?€—ï?®ï?ç?@Eé?Àúî?jî?€$î?À°ï?Zì?Àï?À”í?À¢ï?ð?ð?@Öï?ƒï?ð?ð?ð?ð?ð?ð?@Ðí?€íï?€îï?ð?ð?ð?ð?ð?ð?ð?ð?@äï?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?Ûï?@¢î?€¦î?ÀÙè?@î?Ãï?ð?@äï?@šï?¼í?À|î?€±ï?Iï?@Èê?À¿î?€Óì?@Qê?À|í?ð?ð?Àöï?@öï?À‹ï?ð?­î?€”ï?Àâï?@Ùï?€¾Þ?€Îã?@2ï?€ï?€—ï?€îï?ð?ð?ÀKï?ÀÇï?Àjï?€ƒï?@ôî?@@í?€‡î?ÁÚ?€Uâ?ƒï?‚ë?€íï?ð?ð?ÀÞï?À·ï?€—ï?Àí?@½î?ÀXï?€«ï?®í?Àúî?Àöí?ð?ð?ð?@åï?†ï?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?Àåï?ð?ð?@äï?ð?ÀÑï?@Æî?€ ï?Të?@ãì?@²ï?ð?@ï?¤ï?À­ï??ç?ÀØæ?pê?ÀÕî?@½í?€Bî?@˜ï?ÀSé?@ãï?–ä?X˜? z?`?Aá?üí?ð?ð?ð?€Žë?$¬?2Ä?@j?@g?ïÏ?À|î?ð?ð?ð?ð?À>í?À ä? Ò? ¹?€s×?°è?¬è?€mç?PÆ?À¤?ÜÚ?€ˆé?Ä¥?p?€`?€Ìë?ð?ð?ð?ð?ð?ð?ð?@öï?¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{ï?ð?ð?ð?@lï?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?@ ï?€î?ð?ÀÅï?ÀÅï?@*ï?@Ùï?ð?@Jï?ð?@Qï?ð?Àâï?Àâï?ð?Àpï?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀZí?„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?@²ï?ð?ð?ð?@×ï?ð?Àµî?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çí?Àì?ð?ð?ð?ð?€úì?À^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?€–ä?€”ï?ï?ð?ð?ð?ªî?ð?ð?ð?€Pï?ð?¼ï?@öï?ð?ð?€½ï?ÀÅî?ð?€žï?ÀØï?ð?ð?ð?ð?¯î?ÀÅï?@3ï?ßÓ?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?@¥ï?!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBí?À‹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?ð?ÀÄí?@Aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éî? î?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðî?µí?Àùí?@üë?À9ë?@?ï?@Ùï?@Ùï?ï?ð?€÷î?ð?ð?ð?ð?ð?ð?ð?ð?€òî?Àðï?ð?ð?ð?Ãï?’î?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?€áï?Àõï?À#î?1í?]ì?æê?€ï?ð?ð?ð?ð?ð?ð?€³í?@-ï?ÀCï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{ï?@²ï?ð?ð?ð?ð?ð?ð?ð?¸ï?í?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?Þ?Ë?°?ÀQî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?€Ÿï?ð?ð?€æï?@bï?€µï?gï?ð?ð?ð?ð?ð?ð?Àfá?Àgå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?@šï?€eï?ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?Ãï?ð?ÀÅï?ð?gî?@¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?ð?ð?ð?ð?ÀZï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýì?ð?@Pê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@“í?^è?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºã?ä?ð?ð?ð?ð?ð?ð?ð?€lÓ?€`ä?Àë?$¦?l©?@Þæ?€‚é?Àhã?€è?Àëï?@Nê?ªâ?°Ú?À#á?€‘Ý?ÀËå?€ªç?€^é?Àlë?€²ì?À¾ã?€‹î?ð?€Rî?ð?ð?ð?ð?ð?ð?ð?ð?@@ï?Éï?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcï?ð?ð?ð?^ì?ð?ð?ð?@Ëë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ì?ð?ð?ð?ßï?€µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àî?ð?ð?ð?ð?ð?ð?ð?ð?xï?ð?ð?Àëï?ÀVî?4ï?€˜î?ð?ð?ð?ð?€ìï?@ï?ßï?mï?Fî?ÀVì?@xê?«í?€Íï?@öï?€Ïï?€‚ì?@›í?¸?ÀÓ?Áï?Uì?€Bï?€Ÿï?€«í?X ?ŽÆ?€Çí?À0í?@[î?@wï?@²ï?ÀÉî?‚î?ÀHî? ï?€Mî?€*î?€ï?€Áë?À”í?Àðé?8í?€ç?ÀZâ?@lè?€uî?Àëê?žé?$è?@mî?ï?áí?@3ë?À˜í?@dï?@gä?@mí?€êì?€Éë?êê?€—è?ÀÓì?Àmì?ÀÈï?€áï?@ºî?@lï?€Îï?À ï?@ÿç?À&é?€ ï?@µï?@‘ï?ð?ð?ð?Tï? ï?ð?À€ï?ð?€ìï?ð?ð?@›ï?@Øï?ð?ð?ð?ð?ÀÅï?€ìï?€ìï?ð?ð?Îï?€ìï?@çë?ð?ð?ð?ð?ð?ßï?ð?€Oï?ð?ð?€Æí?ï?@Ïë?ÀÖï?@jî?Óí?€#í?€—î?ð?ð?Àìí?ýî?€Ýé?°é?@šï?ð?ð?Àõï?@{ï?Àßé?@Ãî?{ï?ð?ßï?@ï?@ªà?€î?€ïï?€Tï?ï?–î?@Ùï?€‹ï?ÀÅï?@Ùï?Àëï?ÀÅë?ð?ð?ð?@|î?êì?Àºï?@wï?Àëï?ÀÅï?ð?”ï?€í?ð?Àõï?Ãï?€ ï?ð?ð?žï?@Íï?ð?ð?ð?Àõï?ÀZï?ßï?€ïï?@çï?€­ï?@]ï?@Lë?ð?ð?ÀÅï?€œï?Àrï?À´ë?Àí?ðê?Àäì?Àáê?À é?@­è?@"í?@0ï?@)ï?9è?Àí?üî?À{ë?Àåá?Àjè?@;ï?À?ï?€¢î?Èì?ÀOî?Àñæ?ÌÂ?и?@Ëè?Àìí?ð?ð?îï?€«Ø?ÐÚ?Àqí?€ï?ð?€­ï?ð?ð?øã?Ð?­?Àq?€i?±?4¢?í?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôî?áî?€€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?ð?@²ï?ð?ð?ð?ð?àï?À0í?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íî?Àúî?ð?ð?ð?ð?ð?ð?ð?@xï?ð?ð?ð?ð?ð?ð?ð?Ùï?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?€‹ï?€‹ï?ð?ð?óï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?À›ë?ð?ð?ð?ð?@Çë?@üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ÀZï?À¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eï?Ú?ÀGî?€ ï?À²î?@¦ï?€›î?@öï?ð?ð?€‹ï?@Óï?ð?@Ãï?ð?ð?ð?€þï?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ßì?ð?ð?ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xï?ðï?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?@²ï?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?@÷ï?ãï?ñí?ð?ð?ð?æï?óï?ð?ð?ð?@²ï?ð?@žï?@êì?€ºï?ð?€‹ï?ð?ð?€Ïï?€Gï?ð?ð?ð?ð?ð?@Tï?À3ë?€aî?€ î?ð?ð?Àâï?€‹ï?Àƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßí?ð?ð?€;ï?À-ï?í?Àöì?€ãì?¬ë?@1í?À»í?€‘î?€kí?ð?ð?ð?ð?ð?ð?ð?òï?À·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@tï?ð?ð?ð?ð?ð?ð?ð?€*ï?€¬ï?€žî?€zå? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€ÜÑ?(?€W?€YÙ?ˆì?ð?ð?ð?ð?ð?ð?ð?À¸ï?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“í?€ñï?ð?ð?ð?ÀTî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?€ùï?Àýï?¹í?€ï?€·ï?ð?Àžï?ð?ð?À ï?ÀÃï?ð?ð?ð?æï?@Qï?ð?ð?ð?ð?ð?ð?ð?À$î?@ï?ð?ð?ð?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎì?À“ï?@Ëê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?Àæ?ƒè?@¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ë?ð†?;Ó?ð?ð?ð?ð?ð?ð?ð?üà?€?zÁ?çÝ?6ï?€Ó?¸”?@ã?€·î?Në?€~ï?ÀÊí?Ðì?€²î?+î?…î?@*ç?Àøâ?€Öâ?€â?€òä?Àüâ?Àpë?Àæ?€qì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Xï?@¢î?ð?ð?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{ï?ð?À=ï?ð?Àî?Ûé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?@Áï?À«ï?ð?ð?ð?ð?ð?ð?Àûï?Àuî?€™î?Àžï?@÷ï?@‚ï?ÀÒï?ð?ÀÅï?€ìï?€<è?€éí?*Õ?€q?@Èç?€°æ?Àòí?€¨ï?@í?Ñ?¾Ö?ÀÅï?Àøï?€é?€$å?@¨ï?€$í?@Oí?Àê?Àç?@Øè?€Ãî?À¢í?éæ?Àîé?Àìè?@kè?€“é?€â?ÏÜ?@nå?@)ë?²ß?€ã?À`î?€ì?½î?À~î?€ií?À´í?©è?†ì?À1í?@sí?€…ë?@rí?@ñç?Àìí?€óï?@ôï?Àãï?€Ãï?–î?}í?À¦ì?Àï?é?®í?€Pï?€=ï?@‹ï?ð?ð?ð?€Gï?@Rï?ð?ð?€ìï?ð?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?À\î?ð?ð?ÀÅï?À ê?€Ú?Àùî?òï?Àîï?@÷ï?ð?ð?Íï?{ì?ÀÌé?Àµí?=î?|í?€ ï?èï?Àmï?úî?Žê?@(ï?€ ï?Ùï?Àûï?€dï?Ìï?€öì?í?ÀŸî?À‡î?@úï?Þï?Yí? î?’î?ÀÂï?€Òî?@úê?Àœï?À¹ï?ÀÅï?Àâï?@”î?€oí?ÀÓï?@Âï?ð?@*ï?ð?@xï?ð?ð?ð?ð?@î?€‡ì?Sï?ð?À î?€ ï?€ìï?ð?ð?ð?€Žï?@Šï?Ÿï?€ìï?€%ï?À¢ï?Àöî?ÀÁì?€ñï?€Õî?aï?¼ï?€‹ï?€¹ï?Àî?@)ï?À í?@fï?Àï?¡ï?€‚î?ÀÝì?=í?€0ï?áë?Àãï?€|í?Àøí?,ì?€¾ê?À¹è? æ?€*ì?€«ï?Âë?˜ì?mÕ?ð•?â?€çî?Àñí?ð?ð?À¬å?à?rÆ?0í?¾í?Àì?€áä?©æ?À>ï?@¥ï?óÖ?¦·?@¦ë?ð?ð?ð?ð?ð?ð?ÀÅï?€ìï?ð?ð?ð?ð?åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?ð?ð?@¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkë?„î?ð?ð?ð?€‡ï?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?Àâï?ð?ð?ð?ð?ð?ð?À®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?kï?¯ß?€áá? è?åâ?€ í?€øï?€ï?€ìï?€Ñï?ð?ð?ð?ð?€‘î?ð?ð?ð?ð?ð?€‹ï?ð?ð?ð?ð?ð?ð?Àáí?€¡î?ð?Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eï?ð?€.ï?ð?ð?ð?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?€ï?@Öî?ð?ð?ð?@£ï?ð?ð?@]ï?ÀLî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?€¥ï?Àî?€éï?ð?ð?þì?¯ê?@²ï?ð?ð?@Ýï?ð?ð?ð?[ï?@°ï?ð?ð?ð?ð?ð?ð?ð?€qî?Àï?ð?ð?Ÿï?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?–í?ð?ð?ð?ð?@kï?ð?ð?ð?ð?ï?@Ðî?€4ë?@Ýë?@uí?À{î?ð?ð?ð?ð?ñï?ñï?€zï?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?@Qï?Àï?ð?ð?ð?ð?Àî?@ç?€îï?ð?ð?ð?ð?Ôâ?ÅÔ?€Eã?ð?ð?ð?ð?ð?@¢î?ð?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íí?wï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*ï?ð?ð?ð?ð?ð?uï?åï?ð?@iï?Nï?Àí?wè?@£ï?ð?Àáï?Àáï?ð?ð?@Ýï?€¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤î?€ðé?ÀÀì?@Ýï?ð?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?Àÿí?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?€èå?ƒä?€;å?€úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lì?Àj?ÚÆ?ð?ð?ð?ð?ð?ð?ð?Žê?ð?è‘?€óÒ?À%í?€í?€1ã?@…?P¶?¸ë?†ï?À˜ï?ð?Tï?ÀÙï?$ï?ëî?€’ï?ÀÒï?ÀÅï?À£å?ÀŒç?€Ü?€Ÿà?Àéè?€î?@öï?À€î?À‘ï?ð?ð?ð?ð?@Ùï?@àí?ð?ð?ð?ð?ð?ð?ð?ð?€îï?©ï?ð?ð?ð?Àèï?Àèï?ð?ð?ð?ð?ð?ð?@jè?€ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±î?À:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uí?@•ï?ð?@Qï?ð?Àdï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?@£ï?ñï?1ï?ð?ð?ð?ð?ð?ð?ñï?@Ùï?€Îï?€ìï?@Õï?ÀÅï?ð?ð?€Ñï?ð?Àÿî?ð?žÎ?@g?Í?@‚ë?@¹í?@Ëï?ð?ð?€Ñê?ÀRï?ð?ÀÙï?@\ë?€8î?À?ë?@+ã?À×ã?#Þ?\Û?àç?Îá?À&è?€›ç?Tï?î?€@í?@ðê?@£ë?@ðà?€¥à?À‚á?Àæ?µå?ÀŽë?À$ë?@þî?Øî? ï?@ãî?¹î?€Ïé?ÀÀí?’ï?@÷ë?À«í?@Wï?Àdî?Àöæ?6â?0ä?ÀÁî?@¿ï?˜ê?ÀGï?€Ìî?Àµï?Àùê?À*î?€üî?ï?@úï?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ï?€ôï?@ºï?Àlî?€ïé?€²é?€Ñï?@ï?À+î?Àáï?€Ñï?ð?ð?Àâï?í?@mï?ÀÏï?À ì?®ã?€aï?Àeë?ÀÏâ?€áì?Àáï?@Ùï?ð?€Uï?ÀUï?@¸ï?@<î?À~ï?ð?ï?ð?ð?À]ì?@ î?€òê?ð?@Øï?0ï?€øï?kï?@íí?@ï?ñï?ð?Àwï?€ûç?ð?ð?ð?ð?ð?ð?ð?@×ï?Àßé?À9ê?Àbï?Àèï?€ší?@nï?€ìï?Àäí?ð?ð?€Âï?Àzî?@Óï?Qï?™ã?Áê?@³á?€SÚ?€Ù?Ë?ßÌ?€Ö?€˜×?€¢Ð?ËÇ?ëÖ? Ð?€üÐ?€7Þ?ôå?€ÅØ?ºÒ?…Ó?€«Ù?€lÞ?Àuæ?Àùé?€‘ï?«ì?âê?ÀXç?€Tã?Sç?@ã?€ýà?€wÙ?l§?¸?@Hè?€Üî?ÀÜî?ð?@ºï?€©Ñ?2°?ð‚?¸³?0Ò?@ë?€ê?¥Ñ?`š?|É?€Vâ?Ђ?°Ž?Àã?@šï?€öï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?À‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?@íï?@Úï?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€Ïï?ð?ð?ð?€èï?ð?€öï?À»î?ð?ð?@Qï?@Ùï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?@zê? ì?@Úï?@¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?@Æï?€Ní?ð?ð?ð?ð?ð?@•ï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ÀLä?@<ê?!ï?ð?À±ï?ð?ð?ð?ð?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?€öï?€Ïï?€Ïï?ð?ð?ð?Âí?ð?ð?@ ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?ð?€Áï?ð?¼ï?@Œï?Àãï?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?€Çï?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?@²ï?ð?€Áï?ð?ð?€¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öí?@þí?ð?@˜ï?Àüî?@Mï?ð?@²ï?ð?@;ì?€wë?€Iï?€Ïï?@î?ð?ð?ð?€´ï?ð?ð?ð?ð?ð?ð?åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ð?ð?ð?ð?ð?ð?ð?€Çï?€´ï?ð?ð?¾ï?7ï?Ùï?@Çí?€rï?ð?ð?ð?ð?ð?¦ï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qï?ð?ð?À^ë?€?Õ?Àbï?ð?ð?ð?ð?Pì?†¹?˜Â?†î?ð?ð?ð?ð?ð?ð?ð?ð?@8ë?¦í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?>ï?@½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éî?ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?@=ï?ð?ð?ð?ð?ð?@Úï?ð?ð?ÀÅï?€¦ï?7Ý?€ÅÙ?uÉ?€Dî?€Ïï?€Ïï?ð?ð?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ì?@¬ï?€èï?À¨ï?8ï?ð?ð?ð?ð?ð?ð?ð?€¥í?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€à?@Wì?Ñï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?”Í?–¹?€Ðï?ð?ð?ð?ð?ð?ð?Ààï?€&Ó? ?zÑ?èæ?г?„?¥Ç?€>Ú?!á?4è?€ ë?çï?óí?ð?@‹ï?@ªï?€ìï?Àžï?@ì?Üß?Ü?€×Ô?@ ì?@¿ê?ð?@¡ë?Ëç?ð?ð?ð?ð?ð?Ùï?ð?ð?ð?ð?ð?ÀÅï?ð?ð?Àyî?€ï?ÀÅï?ð?ð?€²í?€%î?ð?ð?ð?ð?ð?ð?ûî?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?{ï?ð?@²ï?ð?À¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§ì?Ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úç?€Õæ?ð?ð?ð?€¹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?ð?ð?ð?ð?Àãï?@…ï?ð?ð?ð?ð?ð?ð?€‡î?ð?ð?ð?Ààï?ð?ð?ð?@Ií?@Pç?Àì?ð?ð?ð?ð?Àdï?ð?ð?ÀÅï?@ðï?@œí?€eì?€2ê?—å?€9â?Àç?€Mæ?‘å?@è?€sè?@1ì?ÀTî?@iì?î?@bí?Àí?@Óî?Úî?€bê?@¸æ?€ê?€¦ì?@ì?Àì?Ñï?€í?À¨å?€eç?ÀBä?ì?€ûî?@ï?Àï?À_ì?Àì?¨Á?L²?É?Àç?@Ùï?î?€‰ä?€fî?Àeî?€¿ì?Þí?€Eï?@Ûï?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûî?@Jï?ñì?Àî?@cî?@ðï?@ï?Ààï?@—î?@íï?€xï?ÀEï?ð?ð?´ï?Àèì?@Æí?@±î?@ºí?Ÿè?ÀÃï?Àë?À÷æ?€öí?ð?€†î?@Ùï?ð?€tï?@ï?@ãï?€öï?ð?\ï?€Øî?×í?@†ë?ÀØî?›ï?€Ÿï?@Úï?€´ï?À²ï?À0ï?ÀMç?Àyï?@íï?ÀÅï?€eí?€ß?À³ï?ð?ð?ð?@Úï?ð?ð?€‡î?î?ÀPâ?ÀWë?ÀCë?§ë?À ï?ð?@Uë?@Kï?ð?ð?€äï?üï?@Œà?ê´?ð–?@?€_?„? q?O? ²?kÙ?£Å?¤ª?p‰?€w?€_?€s?`{?€ Ó?€í?Ÿï?ð?ð?@â?`y?–Ø?|¿?`Œ?€W?Àb?@Dâ? ß?@“ì?·?4¢?mÉ?€$æ?Àùï?ð?@ìï?@ìï?ð?ð?ð?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@î?Žî?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?@üï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìí?]í?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åï?Àï?Àüï?€èï?ð?ð?ð?€²ï?ð?€‹ï?ð?€dï?ð?€—ï?ð?ð?ð?ð?ÀÅï?ð?ð?ðî?ð?ð?@ýï?À~é?|à?€Ž×?2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@hê?+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€Õä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?ð?ð?€Þï?€þï?Àÿï?ð?€ìï?ÀTî?ð?ð?@¤ë?ð?ð?@‘ì?€§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'í?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Gï?¼ï?ð?ð?@•ï?¬ë?€mï?ð?ð?ð?@¸î?ÀZï?ÀÅï?€‹ï?ð?ð?ð?ð?€ìï?ÀÇî?ð?ð?ð?ð?@Qï?@=î?@³ï?€ìî?@Ùï?ð?ð?@²ï?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?ð?ð?ð?ð?ð?ð?ð?Àüï?Àüï?ð?ð?ð?ð?Àøï?Ìï?ÀEï?ð?@þï?ð?ð?ð?@(ï?ð?ð?ð?À]ê?€ãí?ð?€÷ï?ð?ð?€/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?Àýï?ð?ð?þï?@üï?ð?@ûï?À¾í?€–í?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?@ûï?ð?ð?ð?ð?ð?ð?€ê?À¶å?Àí?ð?ð?ð?@²ï?Àbê?ð?ð?ð?@Qï?@ôê?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À,î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?€Ìí?'í?€˜î?€Ïï?ð?ð?Àüî?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?öï?€èï?ð?ð?Àfî?ð?ð?ð?Àµî?€Û?€uÞ?Çç?@wî?~ï?ð?À=ï?ð?@þï?ð?ð?ð?Àôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?@¯ä?@[ç?À"è?€Uî?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àè?Ô¢?2É?Àþï?ð?ð?ð?ð?ð?ð?ð?@.æ?€\?„¡?Àv?»Î?À™ì?€ûê?@àî?€*ï?Ÿï?Àyî?Àçî?@@î?¢î?€vá?È›?Ê?ÀGé?Hì?€Þï?@gå?@Òî?ð?ÀÃï?€¨ï?Àùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?@Ùï?ð?@àì?Àòì?ð?ð?ð?ð?ð?@²ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?æî?ð?ð?ð?ð?@ýï?ð?€ë?À˜î?Àóí?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?@ýï?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ÀÝï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ð?@ÿï?@üï?ð?ð?ð?ð?ð?ð?ƒï?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?€ìï?ð?@&ì?€íê?À½ì?ëë?]é?ÀÊè?€Òï?€î?€Kï?Dï?Mî?ôï?@íî?€Yï?í?€Lì?€è?@å?€Ìá?Àí?Ìë?@1ì?|é?Àôè?€‘ê?@òç?€„é?€ýî?À½î?Àaï?ÀYê?ë?€è?p³?bÈ?†¹?€Õ?@pî?ð?À ã?Ñë?6î?€ ï?€ìí?@ï?À:í?À±ï?À]ï?ÀËî?ìï?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ÀÅï?@åï?@}ï?Üî?ð?ð?Àï?€í?ð?ð?@÷ï?@ýï?€þï?€üï?@Ùï?Àâï?ÀÎï?¿ï?ïî?{î?€]ï?€ÿï?ð?ð?@þï? ï?€cæ?€üï?Àä?dæ? í?ÀÚï?Àyï?€ å?4ï?Àhí?€:ï?€Þï?€ºì?`î?ÀUï?ÀÌì?˜í?@)ï?ÀÓî?@’ì?€Jï?ð?bì?À™ï?@Cì?À"í?€ÿï?@Øï?€±ï?ÀÜî?@Mï?@Âï?@ªï?@æ?Îï?À€ï?Ÿï?À5ï?Àþï?@xï?@¤ï?@3ï?@ñï?€èë?-è?pë?@Ÿî?ð?€ìï?îï?@®ï?ÀÔï?€Çï?ÀKï?Ð?€u?Àu?Ö»?Ë?l©?€?@¿ä?ï?ð?ð?€tî?²?ƒÂ?À†í?Àé?€™Þ?€ÝÜ?¼²?€c?`s??@i??®É?@{? É?Væ?óë?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?Àùï?ð?ð?ð?€Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?@óï?€æï?€dï?ð?ð?ð?ð?ð?ð?€Cï?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?@Ùï?ð?ð?ð?ð?ð?ð?ð?À)ï?ð?íï?‡ï?Àùï?€Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?ð?ð?ð?ÀÅï?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?òã?tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rì?@Úè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?À[î?€¨ï?ð?ð?ð?€èî?€ëí?¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Hï?ð?ð?@ï?ð?ð?ð?ð?ð?@¦ï?@Ùï?Éî?ð?ð?ð?Àï?€*ï?ð?ð?ð?ð?ð?ð?@‰ï?Àî?€î?À¿ï?ð?ð?ð?ð?€ìï?@¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?ð?œí?Àáî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðî?€<ï?ð?ð?ð?ð?ð?ð?ð?ð?€Tî?jæ?@°ê?Àë?€ î?£í?€fï?ð?€Àï?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îî?€Öì?ð?ð?ð?ð?ð?ð?@Ëï?ð?ð?ð?ð?ð?ð?€ï?ð?Àï?rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?@‚ï?ð?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?@óï?À³ï?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºï?ð?ð?ð?ð?Àæî?€.ï?ð?ð?ð?ð?@ºï?Öï?ÀÅï?@àï?Àùï?ÀÁî?À¼ï?€æï?ÀÌí?Aî?ð?ð?ð?ð?ð?@šï?ð?ð?@Žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žì?À€î?ð?ð?ð?ð?ð?ð?@Èï?ð?@‰ï?»î?À¼ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?øß?6Þ?çç?À¥ã?Àë?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏä?p?ðÇ?ð?ð?ð?ð?ð?ð?ð?ð?Àhî? ¶?bÀ?ˆ?€?cÑ?@}ã?Àë?€Æí?ÀÅï?€ï?@¹î?µë?ð?ûí?%Î? Ð?|ê?€`å?€xÚ?Œï?ð?6ï?.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?‰ç?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?€ìï?ð?ð?ð?Àçî?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?ð?ð?ð?ð?=î?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@oî?À‚ï?ëì?À í?À ê?@”é?@†ê?Áì?Ÿï?¹í?€wí?ÀPì?ð?äï?€ñë?î?@pê?Àôì?Pî?@Rë?Àê?€"í?ÀÎä?½è?@î?@$é?£ê?@èì?ð?ð?@óî?@.ë?wÞ?&Å?Ú¹?€ÄÖ?@Ôî?ëï?@ï?€½í?@¬ï?@Nï?Àåî?€ðí?Àžï?£î?Àï?Úî?€Ÿï?€ìï?ð?ð?ð?ð?ð?€dï?@Qï?[í?¸î?ÀKï?ÀÙï?ð?@—ï?@³ï?åì?òï?ÀÅï?@²ï?ð?ð?€ìï?€Üî?òï?@½î?@ùì?@²ï?ÀÅï?¹ï?@Èï?@Ùï?ð?ð?ð?òî?€‹ï?€Ãä?¾è?À·æ?€%é?€òÛ?€cê?ð?€\ï?€„ì?Àøì?£î?Àäî?€†ï?€¸î?€Rí?À½ì?æ?Àxá?À§î?@$ï?@Tï?@­ï?€fí?À»í?Àâï?ð?€¨ï?€¨ï?Éï?@ë?äï?ð?€Ïï?À í?ëï?ÀÒê?À"î?ÀŠï?@Wî?@èï?À$î?Àvî?@?é?À'ï?€bî?ð?Àâï?¶ï?€‹ï?­ï?Àeï?€ùß? s?(¦?Ùâ?€-î?€në?šæ?@kà?ÀÓ?º´?¡Å?€ê?jï?ð?ð?*ê?·Ç?@ ë?dï?ð?Àßç?kË?€Y?6?@üà?öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?ÀÍï?Àêï?ð?ð?ð?ð?ð?€Òï?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?€úï?ð?ð?ÀÅï?ð?@õï?ð?ÀÅï?€ìï?xï?î?ð?ð?œï?ÿï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îí?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?ð?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?Àºï?ð?ð?ÀTî?@²ï?Àúï?ð?ð?ÿï?øï?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?„î?@ëé?Àoï?àï?ð?ð?ð?ð?@ýï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ÀØï?@Õï?@Åï?À¬ï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?€ƒÜ?€_ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€ûï?€óï?€ìï?@Ùï?ÀÅï?ð?€Êî?ð?ð?ð?ð?€óï?ð?ð?ð?ð?àî?÷ï?ð?ð?€üï?@Ÿï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðì?ð?ð?ð?ð?ð?ð?ð?ÀÜî?À?ï?ð?ð?ÀZï?@þï?ð?bï?¼ï?@ýï?èï?€üï?Àìí?€Ëí?ð?ð?€÷í?€»ï?À—ï?ð?ð?ð?ð?€‹ï?€Ší?ì?Óí?@Öí?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶í?ð?ð?@³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãî?€úï?À¸ï?€Üï?@«ï?ï?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9î?î?@Òì?À®î?xë?€þê?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?êï?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?ð?ð?ð?@ýï?@ýï?ð?ð?ð?ð?Àúï?À¯ï?ð?ð?ð?ð?ÀÅï?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ÀÎï?ð?ð?ð?ð?ð?ð?€üï?€Žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€óï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?À½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ì?@æî?‰ï?ð?€Üî?ð?êï?@Çï?Àúï?ð?ð?ð?Àñï?ð?ð?ð?ð?@þï?vï?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?@àê?€‰ï?@ýï?€Óï?Žï?Àï?ð?êï?ð?ÀHî?è?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?ð?åï?Àæ?€µï?@~ì?Aá?Zì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ví?ˆ–?CÅ?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.Ò?L¥?V?À?W?€S?@á?€%é?@â?À¢ê?@~í?­ï?@<ì?žï?Ààï?Àé?`›?Ì?€ƒÙ?ûÒ?@uæ?@Óç?ÀÂí?=î?€mì?ð?ð?ð?ð?Àè?@\í?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ê?À†ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ð?ð?ð?ð?ð?ð?ð?€ìï?ð?ð?ð?ð?ð?À°ï?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ï?€úï?ð?ð?ð?ð?ð?@'í?ÀZï?ð?ð?ð?ð?@òï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?¹é? í?€Øã?@ýá?€€å?{ï?€³î?Ÿí?@nî?@pè?À*à?µí?@7ç?Eì?ÀEî?€Ÿë?·ê?Àªë?cë?ÀÝî?Àfí?€úé?Àˆê?³ç?ÀQî?@~ï?2ï?@Eî?Vï?ÀMì?€sÞ?¸•?ø¯?h½?Ö?ð?@fï?À•ï?@öî?À¯í?@í?À˜í?®î?€ í?@$ë?€Ñí?€î?ãï?ð?ð?ð?ð?@öï?@²ï?€ ï?ð?ÀGî?Áï?ð?@ïï?@[í?€hï?@)ï?ÀÄî?@Àï?ð?ð?@þï?ùï?•ï?@öï?ÀÓï? î?Bï?Òï?@ýï?ð?êï?ð?ð?ð?ð?ð?ð?ãï?€Ïï?À^í?@‚ï?À¤ä?@Pì?ÀÛì?À=ï?€Sï?€Tï?@sî?€Ïï?€Mï?@Ùï?œí?À<î?@ î?ï?@¶ì?:ï?ð?@×ï?Òî?Ÿï?†ï?ÀÓï?œï?ÀÉï?@nï?€vï?À]ï?ð?€üï?Îí?ï?@Èã?µã?@Bí?Àûî?`ë?{ï?@ßï?€)î?@ýï?€±ï?€.ï?ð?Àúï?ð?ð?@Ãî?¨°?€„?ãÇ?@tá?Àµî?ÀÅï?€úï?ÀÙí?Ãá?ÄÁ?€d?@Âã?@Ýî?€úï?ð?ð?óè?žè?î?@`ï?€gå?øÂ? ?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?€„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?€Cï?@ï?Ëï?€ªï?îï?€(í?€dï?À?î?Ëï?ð?ð?ð?sï?ð?ð?ð?ð?@ï?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?ð?ð?€™î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?)î?@è?À!ê?Àüç?@#ë?iè?€‘î?ð?¦ï?Àwé?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?½ï?@÷ï?Àté?Àíá?€tä?Àaî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?8§?‘Í?ð?ð?ð?ð?@`î?€ìï?ð?ð?ð?€ã?B?®Ý?˜?Ø“?+Ã?À.ë?€eï?>ï?ð?@ëî?–ï?€jî?€àî?ëÑ?¤§?1Ì?ÙÃ?À›á?€Oç?@3í?$à?€óî?÷ï?qï?³î?ð?@îï?7â?@Zï?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?€Më?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?€ûï?Àï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?Àâï?€ëç?€ó×?€¬ã?çÇ?Ïá?À`ï?€1ì?À»ê?ï?À‹ï?€Ðí?@Oî?ÀØî?@Îí?˜ï?™ï?Òè?Àçæ?€Té?€¤ê?«ï?ÀIï?@†ï?À“î?@Hî?@vî?òì?Ëï?ÀÛï?ûí?Àâ?€øÓ?Ì?°™?€ââ?ð?@×ï?€[ï?€{ï?Àžï?@Aë?@‡î?3í?€pî?>ï?ÀÜï?€éï?³ï?ð?îï?ÀÒï?Tï?ð?ð?ÀÅï?ð?@²ï?ð?ð?@Ní?.í?€¢ï?÷ï?€{ï?ð?ð?@©ï?@åï?À’ï?@í?@öí?ëî?€êí?€ï?€Xï?€åï?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?Àdï?ð?Ëï?Ëï?€{ì?žÚ?ûî?Æë?£è?@Ìë?dï?À ï?€wî?@ î?@ ì?3í?€ï?À,ì?@¬î?@²ï?€ ï?€ìï?@Îï?áî?ï?€ëî?€Òí?@©ï?ÀŽî?À ë?€²ï?€¦í?€(Ý?MÞ?Uá?À4é?@‡é?ï?í?@Ií?Àï?ÀÜï?ð?¦î?Ëì?€ûï?€Æï?ð?ð?À|è?€¬Ñ?—î?ð?ï?@¶ï?æî?€ß?€•?zÅ?Šã?€Xî?ð?ð?ð?€>í?@Ðí?À}ì?€€î?Àê?pÝ?€±Ñ?Ú³?—Ñ?N´?[Ù?€#Þ?ž¼?lÁ? ?€S?€…?¸¢?|Ù?ð?ð?€ÌÐ?B±?€å?@0í?À´ï?€ìï?@Sí?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?À¾ï?@²ï?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?@Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?æï?Àúï?ð?ð?ð?ð?ð?€õï?€õï?ð?ï?ší?@˜î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£ï?·ï?ð?ð?ÀÅï?ð?ð?€õï?€Pæ?0³?€ØÚ?€ÇÖ?+ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-ë?`î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?@¶ï?À/ï?€Xï? ï?€î?ð?ð?ð?ð?ð?€ã?õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€žï?@Žï?ð?Yï?Àxî?€çï?@ßï?@ßï?ð?ÀQí?ð?ð?ð?ð?ð?ð?ð?ð?@ í?€ î?ð?ð?À«î?î?€Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?€£î?ð?ð?À¯ï?ÀØì?@rï?¼î?ÀÜî?¢ï?ð?@ëï?ð?À¾ï?Àè?Àî?@£î?ð?ð?ð?ð?ð?ð?æï?@+ï?Àï?ð?ð?ð?ð?ð?ð?ð?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?ð?ð?€Äï?ð?ð?ð?ð?ð?ð?€*ï?ð?ð?ð?ð?€÷î?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?€¹ï?@£ï?€äï?ð?ð?ð?ð?ð?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?€zï?ð?ð?ð?@Ùî? è?À¶è?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?ãï?ð?@ëï?Ÿï?@Ùï?ð?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢ï?ð?ð?¨é?Àªã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€)ì?@¦ï?ð?ð?ð?€Aë?€õï?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?€dï?ð?ð?ð?ð?ÀÏï?€ðï?ð?ÀÎî?Ààï?@ëï?€6î?ð?€¨î?€¸ï?ð?ð?ð?ð?ð?ð?@­î?ð?ð?€‹ï?ðî?ð?ð?€çï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?ð?ð?­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?Ààï?ð?íî?@Íë?€…ì?Àúè?µë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žï?Àìá?Pë?À5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýá?®Ú?ð?ð?ð?ð?€»ï?À¯á?@åé?Àêî?ð?À é?ŒÃ?€·á?x—?€Ú?€Nä?€ñè?$î?ð?@£î?Àní?€Íï?Cì?öÓ?ú¸?€¡?˜š?È?€$Ü?€Ö?€2ï?Àõë?€—í?ÀŸé?´ë?ð?€<æ?î?À1ï?ð?ð?ð?ð?ð?ð?ð?@Ùï?@%î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?À÷ï?ð?ð?ð?ð?ð?€Äï?ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?@Èí?@Ùï?ð?@Úî?Ïï?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zí?Æã?€…Õ?+ê?€|ì?€+å?@–ì?€\í?Àí?æï?€õï?èî?€ì?Àðî?@jé?±î?gí?ÀÄì?€wí?€!ï?ìï?€¥î?[î?@Lí?Àë?ôî?€áî?ð?Úî?@Óï?Kê?@å?€Çá?fØ?ÀIé?ÀNî?€›í?ií?í?ÀBî?À}ë?€õï?Àïï?Àïï?ð?ð?@¿ï?@í?À]í?€jé?@¥ï?À:ï?ð?ð?ð?ð?ð?ð?ð?€Öï?ð?ð?€«î?@µí?ð?ð?€õï?@®ï?ð?‹ï?@ê?@²î?€™î?@nï?ð?ð?ð?ð?ð?@'î?@öï?ð?ð?ð?€ìï?ÀTî?ð?€ìï?€î?@î?€Lê?€é?ì?€ë?ÀPî?Àë?@8é?Qî?0è?»ï?Eë?@èí?€ï?€›í?ð?À”ï?À¸î?Àï?Àhï?@\ï?€kï?Ïï?@Vï?€…ï?@ï?À ë?À,í?€êë?ÀÖç?ÀÇî?À¶î?€í?@Ûé?€–ï?Jí?¼ï?€¨ï?€ìï?@úî?À|í?Àúï?Àúï?ð?@ßï?€'Þ?À¦á?@Úî?ð?ÀÁï?ð?À§ï?À¨æ?ûÎ?p–?@ž?€kê?À²í?À`î?€®ï?Àóí?žï?€®ï?Àmí?À…ï?@¯î?€áë?€Uî?€hã?@ã?Ú?‚·?Õ?@áè?MÛ?@¡ã?@æ?€ Ð?Ô­?x³?@x?Ç?À…î?ð?@åæ?€ÚÕ?8È?æ´?˜ž?@8ì?ð?ð?ð?ð?ÀÀï?¶í?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?ð?ð?Àžï?ð?€óï?ð?ð?ð?ð?€ïï?Àûï?Àûï?€óï?ð?ð?ð?ð?ð?xï?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åí?@Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?@Ùï?ð?ð?€‹ï?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ßï?@ûï?@ûï?ð?ð?ð?ð?ð?ð?€öï?Êë?€uÚ? ?Ò»?Àˆè?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?sç?¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?Àùï?Öï?@9î?@fï?ð?ð?ð?Æï?ñã?ð?ð?ð?ð?ð?ð?€íï?€ßí?€óï?ð?ð?ð?ð?€öï?ûì?³î?€óï?Àï?€Çï?€­ï?Üï?þï?€ïï?ð?€4ì?µê?ÀŽï?ð?ð?ð?ð?€þï?@¦í?ð?ð?€Ùï?qï?@iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?@ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€;ï?ð?ƒï?Àžï?Àâï?@…ï?@@í?ší?’ï?€ í?€ ê?ï?Ãï?¤í?=ï?À§ï?€©î?€=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?2î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?Øï?€þï?òï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-ï?÷å?Ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?4ï?@öï?@Qï?À¹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?@æî?ßÅ?*¿?§Ù?Àëê?%î?ð?ð?ð?ð?ð?€þï?@øï?ð?€ï?ð?ð?ð?@ëï?Àèî?ð?ð?ð?Êî?Àîï?@Qï?ð?ð?ð?@®í?@!á?€:è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðî?ð?ð?ð?Àùï?ð?€Gï?@ôî?ð?€óï?ð?ð?Àùï?À7ï?ÀÅï?@²ï?ð?ð?ð?€7â?•â?ð?Àûï?Àõï?€íï?€Ïï?@nï?ˆì?@Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?À®ï?€«ï?À&ê?À‹ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dç?@tè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôî?}Ê?€Ãà?ð?ð?ð?Àõï?Eç?fÇ?‘?1À?€hÚ?€ é?¸?¶Á?QÐ?È?˜×?À?ã?€Öî?€Äï?@ î?€&ë?Àãí?À3ï?@Uí?ÀJà?$À?}?:?ܦ?ã?€ˆê?@bí?î?€¦ì?€ï?gê?€Àë?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?ð?ð?ð?ð?ð?ð?€ìï?ð?@•ï?€[î?ð?ð?ð?ð?ð?ð?ð?ð?ð?$ï?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ì?@Ÿì?ð?ð?-î?À«î?úî?€ÿî?ÀÍï?€¿ï?@Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€jí?(è?À¾ï?€uï?À¯å?p¬?:ß?@?ä?€¡è?€Lê?§î?@°í?@Éî?€†î?@Óë?€bï?À˜ï?ÀXí?€6î?€%î?@½î?Øï?ï?:ï?À÷ï?@…ï?@âï?ï? ï?À!ï?ÀGí?hî?@òï?À…ë?€Žé?@uì?Àµë?Àêî?@˜í?Àtî?î?Àéï?Àuî?@Dï?ÀÅï?kï?@óï?ð?ð?ð?€€î?€ï?@îï?€‹ï?ôí?€ìï?ð?@*ï?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?€kï?ð?À7ï?ð?ÀÍï?€Àî?õï?Àùï?Àûï?ð?ð?ð?ð?ð?ÀÂï?€ìï?ð?ð?ð?ð?ð?ð?ð?ÀÜï?¼ï?Ÿî?@;î?À¸ë?&î?€_ì?Àôì?ÀÄí?ÀÆî?\î?@#ï?@øí?@-ï?@_î?¬ì?@€í?€•ï?Ùï?ëî?î?ÀÍï?;ï?À ï?Àï?€Ÿï?€“ï?@fê?€;ï?@Äì?@î?@…ï?ð?ÀÊï?À'ï?€Õî?À‘é?ï?ð?@Ùï?Àøï?€†ï?€µå?€XÙ?€+Ð?L½?¨—?I?h ?æ·?xÃ?€«Ô?0Ö?ÅÃ?Ʋ??€g?*¾?@Så?@jî?Àõï?ð?ð?À÷î?Iæ?¨?̲?ÀÐé?îí?€{ï?Ààî?À˜ï?À[ç?@Sê?—í?ÀÁï?»ï?@>ì?À[ê?@ï?€Sî?Lã?@\ä?Àòê?€î?À?ì?Oï?À€í?@üî?€Ü?æ¶?mÎ?C?€pÛ?ÀÅï?@Æï?€Åï?@{ï?€ùî?hí?ùã?ð?ð?ð?ð?ð?ð?ð?@'ï?@Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?Öí?ÀÈí?£ï?€„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ãï?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?Àï?Ãï?ëï?ð?ð?ð?ð?ð?Àžï?ð?ð?@úï?@?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•å?²Ä?SÊ?@åê?€`ï?ð?ð?ð?ð?ð?@•ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôì?ð?ð?ð?@"é?@qá?ð?ð?ð?ð?ð?ð?@«î?€xÓ?€üî?ð?ð?ð?ð?ð?-ï?@<ì?µí?À¶î?€ˆí?€áï?ÀÙï?@øï?àî?@öï?ð?@î?@ï?ð?ð?ð?ð?ð?À8ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&ï?[ï?À;ï?@Žî?À\í?Bï?À ì?À}ë?íî?Ìî?@öï?ð?@Êï?#ï?Àðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;ï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìî?À÷é?€·Û?€èæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùî?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvæ?@lï?ð?ð?ð?Àðí?@/á?YÂ?ؘ?€ÏÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?ÀÌï?ÀVë?ÀØé?ð?Rï?˜ï?@³ì?ð?ð?ð?ð?ð?ÀHï?@éí?€Ië?ï?ï?ð?ð?ð?ð?ð?ð?ïï?@Áï?ð?ð?Yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î?ð?ð?€„ï?ð?ð?@Ùï?@Ùï?ÀÅï?ð?ð?ð?…ë?Œ¯?ÀÂ?@xã?Àí?ÀÙï?€”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãè?€Åí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?@ ï?@oä?@¸ë?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶î?³?€Så?ð?ð?ð?€8ê?Ÿ?ËÄ?€ÙÔ?d ?þÌ?l°?€4Ô?€yç?€Õí?ÀŸî?€eî?€1ì?ð?ð?ð?€Úé?óÑ?`?€‚â?Kê?ÀHï?€¥ì?@«í?Åë?@¿î?¬ï?@°ï?ð?ð?ð?ð?ð?ð?ð?Çï?€Òï?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€_ï?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?ÀÝï?ð?ð?ð?*ï?éï?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ÀÙï?~ï?À5ï?€‚Ó? º?ºÈ?uÞ?•Í?@à?@é?ôí?À­ï?€ÿî?€áï?@Nï?€ï?ð?ï?Àví?€Kç?€\ç?€¼î?À|í?lî?€áï?ð?ÀÅï?Àˆï?/ï?ð?€¼î?@%ï?€Lï?Àì?€Hì?Àeí?À.ë?ÀXí?€Zï?•ï?Àâï?@Äï?Êï?¬ï?€1ï?Ží?@Qï?ð?€‹ï?ð?Žî?€Cç?ï?Àâï?@¦ê?ÀÀï?€!ï?Àï?ð?ð?ð?À²î?À ï?@…ï?}ï?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?Àðï?ð?À¦ï?ð?ïï?€ãï?€Òï?ð?ð?ð?ð?ð?ð?ð?Êî?@õì?ð?ðî?€ôï?>ï?¨ï?íî?€\ì?€àí?ð?€2ï?Àªî?€ïè?À‡ä?¤î?@ê?À]ê?ð?ÀÁì?@äë?À§ï?@Sï?Àòî?@Ùï?@Ùï?€Oï?@•ï?€µì?Àúê?@ï?Àëí?¾í?€6ï?ð?Àðï?Àðï?€äí?@ï?ð?ð?@9í?@ÿç?¬º?ð“?€îÐ?À¹á?€-ì?·ï?ð?ð?ð?ð?Àï?å?0Ë?W?”³?€ÛÓ?€à?€ ê?€¹ë?€&ë?BÈ?@?KË?èÚ?Àóé?€:î?yê?€‹æ?€^ì?@öï?ð?ð?@Êí?€Gî?Uí?1í?@¹ê?@´ë?Àµî?€qï?Àoî?ýî?€’ì?ÀNì?À±î?ûÐ?Ž?°«?Æ?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ùî?Àï?À¼ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tï?€÷î?ð?ð?ð?Ÿï?@¢ï?ð?ð?ð?ð?ð?ï?€¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?€ˆï?€’ï?ÀÄì?Àžï?ð?ð?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?ð?ð?äï?Üï?øï?ð?ð?ð?ð?ð?ÀÅï?ð?ð?üï?ÀËï?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ìï?€{ï?2ì?Ãî?‘ê?Eå?î?+î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µï?ð?ð?ð?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tï?àí?€í?ð?ð?kî?*Ø?Àûí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€_ï?@'ï?ÀÃï?œî?ð?ð?ð?ðï?ð?ð?àï?Úï?Úï?ð?ð?ð?ð?€Ôì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?€,ï?àï?@»ê?ðí?@_é?€Xî?ð?ð?ð?ð?èï?¡î?@µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àè?…à?€è?€Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?4ï?€ìï?ð?ð?ÀÏï?@Qï?@hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßî?Àï?ð?ð?ð?ð?ôï?€â?Àå?À›ï?ð?ð?ð?ð?ð?ð?Èï?ð?ð?ð?Àï?µï?ð?ð?ð?€öì?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€_ï?€8ï?ð?ð?ð?ð?ð?ð?ôï?À‰î?ð?ð?€rî?@µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?Èï?ð?Àâï?@Vï?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?€Vï?€ÿë?Í?äÝ?@æ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?€oì?ð?ð?ð?ð?ð?Vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃï?€!î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸï?ð?ð?ð?ð?Àjï?ð?@Eï?@±å?À[â?Àì?À}î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€?ë?ÁÂ?`w?@$ë?ð?ð?ð?#ç?H±?Ķ?pƒ?¼²?˜—?çÚ?@³â?à?©å?€Ùí?ð?ð?ð?@Ùï?€Ú?¸?P€?ðÅ?°·?@ré?ð?ð?àï?àï?ð?ÀÇï?ð?ÀUï?ð?ð?ð?ð?ð?ÀŸï?àï?Àîî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fï?ð?ð?@&î?Øí?€î?€‹ï?ð?ð?ð?ð?À.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?€¨î?€ë?tï?(í?@íï?«í?’·?„Ê?`?ÿÌ?Àšè?ð?€Xî?€]é?Àí?@ î?ð?€xí?ÀŸï?Àùî?ÀÅí?@%ì?€îé?ÀÓí?À‘í?¸ï?À=ï?Àöï?À´î?tï?ÀPî?€‹ë?ð?@Ùï?èï?@¦í?Àí?ÀÃë?€}ï?@;ì?Àdá?À¤ê?¾ï?Àóî?ð?€2î?€’ï?@&ï?€.ï?@íï?@íï?@Ùï?€ìï?€ìï?Àî?Xï?ð?Àâï?Ðë?aî?„í?@µï?€'ï?€aî?€î?ÀÊî?¥ï?¿í?@†ï?ð?ÀÂî?ð?ð?ÀÅï?ð?ð?ð?ð?À†ï?À6î?Èï?øï?ð?Àuï?uí?àï?ð?ð?ð?äï?äï?ð?ð?À§ï?À_î?@íï?€Vï?ï?_ï? î?7ë?@ë?ÀFï?ð?@_î?àï?À_ï?§í?ÀÛî?ðï? î?ð?@Ñï?ï?@&ï?ð?ð?À*ï?Žï?Éï?€fï?À&î?€è?€4ï?€ ï?€Ùì?À¯ï?ð?ð?ð?ð?ð?ð?ÀWí?l¹?˜™?Ø“?JÓ?€|é?ÀËï?@Ñï?Xï?À¾ï?@íï?ð?ð?ð?ð?ð?@ìî?üÙ?“??”?@?€ÙÐ?À¢î?°ê?Œì?€4î?ÀÖé?•è?@eë?@ôî?ð?€‹ï?Ÿï?ÀÏï?@î?ï?€Ùî?ï?€1ï?Àê?Àzí?€àì?Cì?@{í?CÖ?”?°ª?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?@Óï?ð?ð?ð?€qï?€Âî?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?7ï?@¥ï?ð?@öï?Àâï?ð?ð?ð?ð?À×ï?ð?ð?ð?Ìï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•ï?'í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?@î?ð?ð?ð?ð?æï?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?ð?ð?@²ï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€öî?€â?€†Ö?€Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?ð?ð?ð?€ìï?ï?ÀÅï?ð?ð?ð?ð?ð?ð?Ùï?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žï?Àçê?@ìï?ýï?ð?ð?€÷ç?ë?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?@ÿï?ð?ð?ð?€ìï?Bì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjë?Àì?@Qï?ð?ð?ð?ð?ð?ÀÅï?•ß?@3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷î?Zî?ð?@˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?:æ?ôï?ð?ð?ð?ð?ð?ð?ð?ð?Åé?@Žä?kë?ð?ð?ð?Ùï?€é?ð?ð?ð?Àžï?Ùï?ð?€¢î?ð?ð?ð?ð?ð?@Ìï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ð?ð?ð?ð?ð?€eé?9è?ð?ð?ð?ð?ð?@ðî?€ìï?Àýï?ð?ð?æï?ð?ð?ð?€ìï?Àïî?‚í?¢Ø?@çè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?‰ï?@î?€{î?@²ï?ð?ð?ð?ð?@Ìï?’ï?ð?À„ï?À¸ï?%í?F¿?Àc?€MÒ?nï?€ìï?Ÿï?ð?ð?ð?æï?ð?€‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïî?¿î?ð?ð?ð?æï?ð?€Êï?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?Àšï?ð?ð?ð?Àæë?6æ?Àë?@³ã?@èê?€+è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬æ?H—?€¥Ð?zï?ð?ð?ð?vâ??ßÐ?Pš?€—?€†Ñ?U?Àg?4º?À%ë?*ï?À„ï?@ì?@eì?ð?€Ãí?ÀOá?Ì? Ÿ?0?€×á?Üî?ð?ð?ð?ð?ð?ð?À%ï?ð?ð?€ìï?ð?ð?Àýï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?€µï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?Àýï?³ï?÷ï?€dï?ð?@öï?€¨ï?ð?€)î?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€÷è?@rï?ÀAë?€õï?À»ï?€è?ï?›à?ÀÈë?@ÿï?ð?@ìï?|î?€ç?YÝ?@ï?Àzí?@»î?ð?@$ï?‹î?¶î?@uí?À@ê? î?€=ï?@Tî?€‡æ?¹à?+í?€Ïï?ð?ÀGé?@dí?mï?nï?À³î?ïé?¼ç?¹Î?%×?ÚÒ?7à?€3ë?€Hë?€„ë?@@í?ï?@Zï?@„ï?@¼î?Àöè?€tî?@Óï?Àíì?'ï?ÀÒí?³é?@ˆî?@Êç?‚ì?€&í?ï?À„ï?cï?€Üî?À<ï?¤ï?ÀÅï?@öî?ð?ð?ð?ð?ð?@qï?Üí?À`æ?ŸÂ?Àë?qí?@éï?æï?À3ë?ð?Àkí?ð?ð?€ï?Àþï?ð?@²ï?€Òï?¿î?@wï?Àï?À¬î?€Sì?Çé?dí?@Dï?@Åï?@Dï?@/ï?Qì?@(ï?ð?À°ï?€ìï?ð?ð?ð?ð?ÀÅï?ð?¢î?@¸ï?€¼í?ªî?î?@•ì?Àí?€ßï?7ï?@˜ì?ð?ð?ð?ð?ð?€Òï? é?È?€d?Hµ?ÿß?@ì?€ìï?¼ï?Àâï?€‰ï?ùï?@Öï?@ÿï?ð?ð?ð?ð?ð?€Óë?@=ã?v¿?Z?€ä?€…î?À&ï?@Dï?@¶ê?€ê?@úï?Àôï?¤í?À´ì?Àï?ð?ð?@ñï?ùï?ð?ð?@Xë?óí?@¸ê?@eí?@"ë?@›à?uÉ?@x?É?¦×?€âØ?Ž?¦µ?@Gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àzï?@Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vì?€*ë?ð?ð?ð?ð?@òï?ð?ð?ð?ð?ð?ð?€˜ï?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?€¾ï?)è?@Ùä?@òï?ð?@²ï?@Ùï?@]ï?€œï?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?¶î?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dï?À€ì?Ààì?ÀÏï?Âï?€þí?Oç?[í?À…ì?‚î?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?Àxí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?@Êï?@_î?€iì?ð?ð?ð?ð?ð?ð?ð?€äï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†î?@<è?Ìî?ð?ð?ð?@»ï?@¢î?ð?“í?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒî?@ðè?Àkï?ð?ð?ð?ð?ð?@Ùï?@²ï?@²ï?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀRí?À¼ê?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?€Õ?VÔ?€Ýí?ð?ð?ð?À¨ï?Eî?ð?ð?ð?ð?@¦í?€ôë?Àï?ð?[ï?ð?ð?ð?ÀÒï?€ìï?€¨ï?Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?ð?€ï?ð?ð?ð?ð?ð?Àßï?Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?Àâï?Àâï?ð?Àßï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€±ï?€Œê?@Ÿí?@òï?¸ï?€ìï?ð?ÀÅï?@ˆï?€±ï?ð?€æî?@^ï?€¥ï?ÎÝ?Ê?@Üî?Éï?@Ùï?€‹ï?ð?ð?ð?’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@»ï?@òï?@èî?ð?ð?ð?ð?@Ìï?ð?€˜ï?€Xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï?€ÿì?À.î?ð?À~ë?Þß?@pä?@+ä?Eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ø?@Òà?ð?ð?ð?À(ï?ÐÀ?0°?¨¤?€²?@x?Ф?ÏÞ?€aè?Àßï?ð?ð?ð?@Âï?€‘â?;À?R°?òÏ?,Â?§ß?€¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@tî?€Ïï?ð?€äï?ð?ð?@›í?ð?ð?ð?ð?ð?ð?€¹í?ÀJí?ð?ð?ð?ï?Íï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âï?ùï?ð?ð?@»ï?ð?ð?ð?@ëï?@ëï?ð?@æï?ð?Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶î?ÐÖ?då?@²ç?@Nî?Àžï?ð?€¬î?©î?‹ï?€Hë?@-ì?€Rî?€‘í?€•î?€¨ë?À›ì?ð?ð?è?+î?ð?À~ï?@¡ï?ÝÝ?€aÝ?8â?UÆ?È¡??^°?Zµ?~¼?¼?Ñ?Àûî?‹î?Kì?Ýê?@Ñí?ï?¥î?€!ï?Àî?Ûì?À•í?@Ïë?@ ë?@ðí?Àœî?À ï?¢ï?@òï?ð?ð?ÀŸï?@öï?@öï?ð?ð?@çí?À/í?@ ï?@ûì?@ví?ØÞ?éß?ëÍ?@å?°î?ÀNî?¡ï?ùï?ð?@öï?ôí?@¬î?ð?Àdï?@Œé?€ì?wï?ð?@òï?@eé?€Qå?@í?tï?Kí?@{æ?ÞÝ?yâ?@²ï?€Ìí?@*ï?ùï?€Ýï?@´ï?@Òï?@Ùï?ð?ð?€,Ú?€óÒ?€è?ÀÇì?@Öî?€aí?tï?@¿ï?€‚î?ð?ð?ð?ð?ð?ð?€×ë?ü¡?î¹?€œÜ?ÀŒí?ð?ð?€¨ï?@öï?ð?ð?’ï?€‹ï?ð?ð?ð?ð?ð?ð?ð?@né?bµ? „?à¹?Æ»?À3ï?ð?@&î?&ë?ÀÍë?€ùï?ð?@ï?@”ç?@ë?ùï?Âï?ð?ð?@*ï?ð?ð?ð?ð?À0í?Íì?Àí?À7ä?†Ô?p?·?ˆ?-Â?€°Ô?€ìÓ?}Ü?@ßç?ð?€Dï?€ýÝ?Ì©?°? µ?}Ê?°¡?€aæ?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›ï?Ëè?ð?ð?ð?ð?ð?ÀÅï?Àdï?ð?ð?ð?ð?ð?ð?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?Àýï?Íï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?Íï?ð?ð?ð?ð?À¬ï?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?Úï?€Tê?@›æ?Àšì?@¾í?À‘è?ÀÉï?ïï?@•ï?Àâï?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?@ðï?ð?Àüï?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žï?@%î?zë?€ùè?€6ï?ÀØï?€wê?À3î?€^ç?€áì?ÀUï?€Åî?‡ì?@Äî?ÀOï?ð?ð?ð?ð?ð?ÀÒî?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€í?€&ì?€úï?ð?ð?ð?ð?ð?ð?ð?ð?€úï?Àhï?€Ïï?ð?ð?@`ï?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uë?€Áï?ð?@Ôï?Àôé?@ùî?ð?ð?€ìï?@†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?À¢î?@¡î?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ÀÅï?ð?ð?ð?ð?ð?@-î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýè?ÀÕã?ëï?€ìï?ÀZï?€‹ï?@öï?ð?ð?ð?ð?Àñï?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?À:ì?€Hæ?@ãì?€uí?ð?ð?ð?ð?@Ûæ?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?À©ï?€Ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?@ôï?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rï?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?€ãï?€Dì?@‚î?çï?çï?ð?À£ï?Àõï?@éï?@úï?ÀÅï?€›ï?ÀOï?Àµï?Àé?Àè?ôî?Dï?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚ï?çï?€sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?Àî?€¿î?€ê?@ôî?€Öë?ÀÀî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€GÕ?j¿?Àë?ð?ð?€`è?€\?6?6?¹?€à?@§è?€ëï?ð?@ýï?Àké?4Ô?Ú?€ôØ?ýÎ?dÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?ð?ð?ð?ð?ð?ð?€úï?Mí?€‹ï?@Ùï?Àôï?ð?ð?€Ýç?ð?ð?ð?ð?ð?ð?@éï?@yë?€žï?ð?ð?ãï?ÀÑï?@`í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?€¿ï?@ýï?ð?ð?€ˆî?€¡ï?ð?ð?äï?"ï?ð?Àæï?ð?À¸ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?@ûï?ãï?fï?ð?ð?¼ï?ãï?ð?Ùï?ð?ð?ð?ð?ð?Æê?ÀŸá?Ìâ?@Zå?5ï?ð?ÀÂí?€ãì?oí?@‰ë?ôì?@/ï?€ãï?€„î?€šê?«ì?€Gï?ð?ð?€ìï?€$ï?Àê?€gç?ÄÍ?€FÑ?—? ˆ?Àf?a?7å?€Íí?î?€ ï?Èï?@ï?@Iî?@Iï?@Qì?@æí?€>î?@—ë?@«ë?ÀÞï?@(î?€“ï?€ÿì?ßï?ï?Ÿï?Õï?€èï?Àï?ð?.ï?À‡ê?€}ì?À:ï?Ÿï?€ìï?€2ï?”ë?@Öé?ÀÚì?šï?€ìï?€î?@ýï?€ìï?Àäï?ð?ð?ð?Àôï?@eì?ìï?@yï?Àqî?|ï?€(ì?ÀYç?@Þê?³í?ˆâ?Àoâ?€…à?Þ?€Oé?Þï?€¼ï?@íî?Àóê?Àµî?@Oì?ÀÅï?@Ùï?ð?€4â?@?¦¶?À4ì?Àºï?@÷ï?@úï?ð?ð?ð?ð?ð?ð?ð?€öî?¨Ô?¢?€à?€Fî?ð?¬î?Æì?Àâï?Þï?ð?ð?ð?@˜ï?€ìï?€ìï?ð?ð?ð?ð?ð?ð?Àçì?:³?:?Bà?@’ã?€&Ò?€Èè?À.í?€÷ï?@cí?ÀZï?ð?í?@çê?€fï?@¦ï?Hï?@–ï?@Ãï?ð?ð?ð?ð?ð?@ î?€¬ï?€(í?À¢ì?€@ì?€‡Ô?âÌ?rà?@Ÿè?ü ?C?€\?=Å?Àmç?@òî?@¶ï?À™ï?@éï?ð?ð?ð?Àbî?¼Õ?óé?Në?@šé?ÿë?Àfë?€oî?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?¼ï?ð?ð?ð?ð?ð?ð?ð?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qî?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?€Óï?ð?ÀÓï?€‰î?Zë?€€ë?€µï?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?¤î?ð?ÀÅï?À&ï?ð?@Üï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ÐÕ?îÝ?ð?ð?ð?@zï?€¾ï?Ñî?ÀQë?@êé?À)é?wç?Üç?Në?@ßì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿î?€”í?ÀXå?ÀVï?ð?ð?ð?ð?ð?ð?ð?ð?@®ï?@®ï?Àâï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@÷ï?ð?Xî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î?Àí?ð?@;í?@!í?ÀÐî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?ð?Àï?Àžï?ð?ð?ð?€‹ï?ð?ð?ð?ð?€ìï?Àžï?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ì?€ðØ?eå?€Ÿê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Aë?ÀÐî?Àhï?êï?ð?ð?ð?šî?ð?ð?ð?ð?ð?ð?€åï?ð?€ûï?@¬ë?€@î?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\ê?@è?@î?ð?€dï?Àzé?Ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?€,ï?ð?€ï?ð?@#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?ð?ð?ð?€åï?ð?ð?ÀÅï?ð?ð?ð?ð?€‹ï?ð?ÀÜï?ð?ð?ð?€®ì?Àxï?ð?ð?ð?ð?À2ï?€ï?ð?ð?€=ï?ð?ð?ð?@Ùï?xï?@¢î?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?À[ï?€pí?@Õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜî?ð?ð?@'ï?@ è?³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjì?ú¿?ÀÜ?ð?ð?€#à?ø—?Ú»?0…?€bÔ?€Tæ?^ì?€¸é?>×?¤­?Æ?€Ð?À¿å?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?kï?€Nì?€Mï?ð?ð?ð?Ÿï?€_ï?ð?ð?ð?ð?€ûï?€ûï?€‚ï?€ãî?Àî?ð?ðî?pî?€Îï?@Vï?ð?ð?ð?ð?@Ùï?ÀÜï?Àyï?@îï?€¨ï?€¨ï?ð?@ï?@í?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?šî?ð?ð?ð?ð?ð?ð?ð?€ìï?€ìï?ð?ð?ð?À¯ï?À¯ï?ð?ð?€åï?ð?hï?€½î?ð?@Ñï?€ˆî?€ìï?€=ï?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?€Êï?"ï?~í?ð?@6í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?@ ê?€ºì?@¦ê?À£î?€Çì?€zï?€Õê?Àê?òì?í?@÷ï?€\ï?@ï?ï?ð?ð?ð?ð?€\Ø? ¨?€Ý?Z´?€bÖ?ð?€ï?@îï?€ìï?@ÿì?À‡ë?@Èï?€¿ï?À¬ï?€ë?Àvî?Šë?À¸ì?@™ï?Àáî?€¤ê?)í?À-î?@)ï?À²î?@|í?Àï?€åï?€ï?£å?Àkì?À8ï?Àãï?ð?ð?À½ï?åî?Àì?@7ì?í?ð?€§ï?–í?}í?€‹ï?Xï?ð?Òï?€8í?@Qï?€ï?@öï?Àyï?ð?€ î?€Xë?ÀØè?ÀÚâ?oä?€”è?€,ä?é?åë?ÀÈî?€¸ï?€"ë?€ùî?ð?@Ùï?@Ùï?ð?î?€¯â?@å?Úï?@“í?(ï?bí?•å?Àeê?@ûì?áï?Àòï?êï?ð?¿ä?àw?aÃ?ÿæ?ð?ð?Àòï?€ûï?ð?ð?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?@ë?Þ?ð’?àq?Àª?¤?îÝ?Àûî?ð?î?€¼î?€¤í?€Xê?Àmì?«í?@\ï?ÀŠê?€Xê?@’ï?ð?ð?€ï?ð?ð?@wì?Àiï?@bí?€nè?À»æ?@è?€Nê?À)ì?Àá?Àz?”?öØ?À¾ë?qé?€ûï?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?@Rë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?Àâï?ð?ð?@ï?ÀÏï?ð?ð?ð?ð?oï?À-î?€*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?oî?ð?ð?ð?ð?ðï?@üî?ð?ð?@1ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñë?ƒÚ?@¨í?ð?ð?ð?ð?ð?@Wí?ðï?ð?ð?ð?€†î?Àë?Ànç?À4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²í?@¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?@«î?@Éî?ÀÕï?ð?ð?ð?ð?ð?ð?oï?@ï?ð?ð?€¿ï?ð?ð?ð?À\ï?ÀÍî?ð?ï?À®ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀWï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­î?Hä?€ïâ?€õß?@Üí?Vï?€ïí?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úì?€ïì?€íî?À™î?ð?@—ï?@,ï?ð?ð?Àví?ð?ð?ð?ð?@àï?ð?Àúï?€Ö?ç?€:ß?Àçï?€ï?€…î?ð?ð?ð?ð?ð?ð?ð?€æî?€Ýï?ð?ð?ð?€„ë?hì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²î?€Gï?@§ï?øï?ð?ð?ð?ð?ÀÏï?ð?€åï?Àúï?ð?Àï?Àíì?ð?ð?ð?À×ï?€Vï?ð?À>ï?€.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢î?@²ï?ð?†î?ð?ð?ð?ð?ð?€²ï?€²ï?ð?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›í?€dê?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µë?/Å?ïÆ?ðï?À×ï?É?€c?`s?¤£?@ëë?à?(Ã?–±?¾¹?€ðÙ?€ê×?@åí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…î?ð?‚ï?¹ï?ð?Êî?€Fì?¶ï?ð?ð?@²ï?ÀÅï?ð?¼î? ç?Àí?ð?Àúï?@_ï?€õï?@²ï?ð?ð?@Ÿï?ð?€Ðï?@Pì?Mí?ð?ð?ÀÅï?ð?@Âï?€·í?@Ví?ð?ð?ð?€ïí?@2ë?€ßí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?'ï?Àêï?ð?@áï?Kï?@ï?íê?@·ê?3î?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? í?ð?ð?Lï?ð?€…ë?€àí?€.ï?ðï?ð?ð?ð?ð?ð?ð?À×ï?¼ï?éí?€ÿë?À—ê?À„ì?ÀÖí?ÀÁì?@àì?Íì?ÀKê?âè?@äî?€!ï?@+í?ð?ð?@åì?/Ê?x­?<«?E?ܳ?@iî?ð?ð?ð?€ î?@ë?3ï?€ãî?Àäî?Àöè?€Áî?@Eí?À/í?€!í?î?Àñí?Ýë?€ïî?€:î?cï?@3ï?€9ï?Àìì?@¬ï?À/ï?@ï?@Êì?€Òî?@Nï?@Ùï?€Êï?À’î?€oê?#ï?@÷ë?ð?À ì?Àƒå?À±å?€¨ï?€î?ÿí?€Ìë?ð?ð?€¤î?€¨ï?À¦ï?ð?ÀÏï?ðï?@½ï?Àúê?Àë?À¯î?€&í?€«î?€•î?ð?@Ãî?@í? ë?ÀÅï?xï?ð?ÀÅï?€óí?Ñï?À ï?À@ï?ªì?€Âì?ð?€«ì?íì?€óê?@~è?Nê?Àî?¾é?x½? p?€îÙ?ÀBî?ð?ðï?ðï?eï?€þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þè?Ì¢?0ˆ?@Zâ?ð?ð?ð?Àoí?À+ï?Íé?€×æ?€]ï?ÀNï?/ß?€yã?€²ì?‰î?ð?ð?€,í?ð?€¾î?¤ï? ï?˜ï?Àkï?€cî?À ï?ÀÊé?¨¿?0…?ÀŸ?|Î?@Ià?@Ûí?ï?ð?ð?ð?ÀÏï?Àßï?ð?ð?ð?ð?ð?Àêï?ð?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?@Úï?Àyï?ð?@¯ï?ÀÙï?ð?ð?ð?ð?À÷ï?éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èî?€ëë?ÀÝí?€àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?Úì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?Úï?Àçï?ð?ð?ð?ð?ð?ð?€‡î?€0ï?ð?ð?ð?ð?ð?ð?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?@äï?ð?åï?îï?ð?ùï?À×ï?@Ãï?oì?Ïç?«ï?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?@Ãï?€5ï?ð?ð?À7î?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žå?³?ÀWî?ð?ð?ð?ð?ð?ð?€æë?€¶ï?Àüï?€¾ï?ð?ð?ð?Àî?@ç?ð?ð?ð?€Ûï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?Àæï?ð?ð?òï?ð?ð?ð?ð?ÀIï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ë?Ì?? ˆ?ÐÏ?Àæ?ÀXï?Tî?ð?ð?ð?ð?ð?î?ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€úï?ð?ÀÐï?€·ï?(ï?ð?Àï?þï?ð?ð?ð?ð?ð?Êï?@#é?ËÙ?SÛ?Àñè?€âé?>¾?À à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?@aè?@6ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?Vï?@¯ï?Àëï?@-ï?þï?ð?bï?Àçï?ð?€õï?@“î?€î?ð?ð?~ï?ð?ð?ð?ð?ð?@Zï?@òí?@Ãï?^î?À¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?À#î?ð?ð?ð?ð?ð?ð?@ëï?ð?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?€™é?ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-í?ú»?À¥ä?ð?ÏÙ?»?l©?€Ëî?ð?@oï?@›å?râ?€¬ß?\Ò?šÙ? Â?FÎ?ÉÖ?€/Ü?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€Ïï?€õï?ð?Àûï?Àòï?ð?ÀÆï?€Žê?@»ï?À\ï?Rï?Àïï?€‚ï?ð?€üï?ï?tà?@Ðë?Àëï?ð?ð?ð?À÷ï?ð? ï?@áí?ð?ÿî?€<ï?@ÿì? ï?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ì?@Úè?€eè?€wï?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ûï?Àüï?€†ï?@äï?@ëï?5ï?ÀÈí?À–í?€Þï?ð?üï?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?€×ï?ð?ð?ð?¯ï?ªï?À-â?°Á?€ Ó?@¡î?ð?ð?ð?ð?ð?@•ì?@»í?€Ýí?€ìï?@Žï?€cï?pï?€î?€îê?¾í?Àî?ì?À2î?@aí?€îì?À×ì?@Œî?Àëï?¯ï?Àîé?$ ?€l?Ȥ?õË?X˜?€'é?ð?ð?Ïï?€ðï?Öï?¶î?èî?€$ê?Àîî?ÀTï?@—ï?Àkï?€&í?À·í?@î?í?@›ì?@î?)í?@ï?2î?ÀIî?ÀÞì?@ºî?îï?€†í?Àî?Ôï?€{í?@bï?@óí?Æë?Àì?Àôì?bî?€Wï?ÀÒî?·ï?À¢ï?€zê?€Êé?×ï?À ï?€Vë?€iï?Àçï?ð?ð?ð?À’ï?pï?€üï?€Áï?€í?@/ï?@.ï?Àçï?¸î?ð?Àüï?€àï?À}ï?ùï?Àçï?Àïï?€×ï?ð?@¡ï?@¦ì?æï?|ï?€úï?ð?ð?ð?@Ôï?@Wï?€×ï?Ìï?Oî?Àæ?h¼?f?€ Ö?@9î?À¬ï? î?@ýï?@ýï?Gï?Àòï?@ýï?ð?ð?ð?ð?ÀÖî?@?é?@Ìè?øÛ?@÷á?€ í?üï?@¤ï?À¼á?d²?ˆš?rÜ?€Rï?ð?ÀÝï?€ùï?×ï?áî?zí?Ìí?@Îì?@ì?€ ê?À‹æ?”ì?Àéî?À-ç? é?>ï?ð?Àê?À¨ì?À¥î?@íî?ÀBî?ð?€ ê?@å?@Fã?L?`p?€oÐ?à®?@`?l´?'Î?ºî?ð?ð?ð?ð?ð?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ùï?@ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ºï?ð?ð?ð?ð?ð?ð?€¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@è?²ì?ð?ð?ð?ÀÅï?Àóî?ð?€úî? ï?@”î?À¾ï?€Üî?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üî?ð?Àïï?€rí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?€ùï?ð?ð?ð?ð?ð?ð?ð?€Ïï?@Þê?À_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?ð?ð?ð?ð?ð?ð?ð?ºï?ð?@»ï?)ì?€Oï?—ï?Æï?@Ùï?ð?ð?Ànï?ð?"î?À<é?ð?äï?ùï?ð?ð?ð?ð?ð?ð?€í?À“î?ð?ð?ð?À¥ï?@Ùï?ð?ð?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ð?ð?ð?ð?ð?ð?€ í?ð?€Ñã?[Í?€ƒî?ð?ð?ð?ð?ð?ð?À#í?¦ï?Àqï?€í?Àßï?ð?ð?@íî?€½è?@–í?ð?ð?ð?ð?Àëï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àî?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.ï?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?€zï?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õî?ð?ð?ð?ð?ð?Àèï?ð?ð?Àßï?ð?@fï?ð?ð?ð?ð?@Çï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üî?@âè?@”á?üµ?X‘?YÆ?–à?@î?šï?@í?ÀGî?@ ï? ì?€^ì?ÀIï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?À~ë?ð?ð?ð?ð?ð?ð?ð?ð?iß?§?€ÿÚ?À^ï?ð?€Eç?BÍ?Ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€!ï?Àüï?ð?ð?ð?“ï?ùï?ð?ð?ð?ð?ð?ð?ð?ï?@¯ï?Nï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?ð?ð?ð?ð?ð?@oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?ð?ð?Ýï?ï?ð?€†î?@uê?ð?ð?ð?ùî?ð?ð?ð?ð?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}î?ð?ð?ð?ð?ï?ð?ð?ð?Àóï?Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ê?ð?Àöï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pî?ÈÒ?[á?ð?ÑÊ?(³?‚?@Oë?ð?ð?ð?ð?ð?ð?ð?@mí?€¨è?€Ñ?_Þ?@ëæ?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?„ï?ð?ð?äï?À×î?À$î?Íí?Oë?@®ì?ð?€kï?@¼î?ð?ð?Àèï?Ýï?€ˆì?€Žé?ð?ð?@¯î?¬ï?ÀÚï?€Öï?¯ï?@Ãï?ð?À¢ï?€ƒá?@7è?…ï?€…ï?ð?ð?ð?ð?€"ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üí?Àÿé?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À<ï?À{é?@èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?óï?ð?ð?ð?ªí?€6æ?€Úç?€&î?Àëï?Àïï?ð?ð?ð?ð?€×ï?ð?ð?ð?@ôï?ð?ð?@ûï?³ï?ªï?€¼Ô?yÀ?§Ý?€ï?ð?ð?ð?ð?ð?ð?ð?À!í?€ºí?€Tí?€"ë?Cï?Àí?À½î?ÀYì?@Hì?@áì?ÀSî?@”ï?ÀGï?Àßï?€Èî?@¯í?@Šï?@úá?€«?¦?ÞÔ?9Ö?/À?¾?@õè?@¢î?Òì?®ê?|ê?qì?@„î?Àcí?Àüî?@¶î?ÀÐë?\ï?Ñí?€ í?À®í?€ÿí?@Ñê?€¾ç?@šé?©î?ÀÓî?®ì?ì?'ï?ÀÜî?@$ï?2ï?€×ï?ð?¨î?Ÿï?€ì?ëí?@Âí?@jï?Àî?@*ï?À%ï?€ î?€€é?pî?ní?ÿí?@tì?ë?Àèï?€×ï?ð?ð?ð?ð?ð?@ôï?[î?ð?À¢ï?ð?Àïï?ð?óï?€¡î?ð?ð?ð?ð?ð?ð?À¥ï?@Kî?€ï?Àèï?ð?ð?ð?ð?Íî?ð?ð?ð?ð?€»â?€q?Àxà?€tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€…ç?€Üç?€Ð?•?L?,¥?€‹Û?¾Ï?J?¹Â?€Ž? ©?€Kç?ð?ð?ð?€ï?€¥ï?øï?€[î?€î?Àëï?ð?ð?Àìï?Àåí?€î?©ï?é?À8ê?@Ðî?€®ë?@Zë?jï?€Àî?ð?€Jï?€Äî?À˜î?€‹ê?¢Â?ª·?Ãæ?Ü?P?€{Õ?€ ë?À8ï?ï?ð?ð?ð?ð?ð?ð?ð?@Àï?ð?”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?@bï?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð??ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À<ï?ð?ð?ð?Tî?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€ñì?€Cë?ð?ð?ð?€öî?@Íä?@¨î?™ï?ôï?î?@ì?ÀÆè?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?‹ß?ð?ð?€Èì?€£ë?@øï?ð?ð?ð?ð?€Òí?@Öí?éï?ð?ð?ð?ð?ð?ð?ð?ð?1ï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?@Æï?ð?ð?ð?ð?ð?ð?@Yï?@^î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?ÀŽî?ð?ð?ð?ð?ð?ð?€Ìï?ð?ð?ÀÈí?@çî?€òí?ð?ð?ð?ð?ð?ð?¿ì?±ì?ð?€ëï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?Àîï?ð?ð?ð?Àšï?@rï?ð?ð?ð?ð?À‰ï?ð?ð?ð?ð?ð?,ï?€kà?kê?OÎ?€àÖ?ÀÐï?ð?ð?›ï?ð?ð?ð?@òï?ôï?ð?ð?ð?ð?ð?ð?@Gë?üé?À²î?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@ï?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?€6ï?Àê?ð?@fï?ð?ð?ð?Àîï?ð?@^ï?ð?ð?ð?ð?ð?ð?ð?ôï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€dé?ðÕ?‡?p”?À«è?@gë?@í?Àúï?ð?ð?ÀÑï?€Çï?ð?ð?ð?@Þî?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ï?À¬ï?Àäî?ð?ð?ð?ð?ð?ð?ð?€—â?Bº?@ï?@áï?@øï?ð?Kê?ÀNí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?@Æï?ð?ð?ð?ð?ð?@æï?ð?ð?€Ú?È?àï?ð?ð?ð?ð?ð?ð?ð?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?@æë?Jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?.ë?À}ì?@’í?¢î?@’ì?€yï?ð?ð?ð?ð?@Ðï?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?ÑÏ?à¥?ÀÜë?ð?«Â?€Ž×?€yï?ð?ð?ð?ð?ð?ð?ð?€wì?óá?Ò?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@òï?ð?ð?€‹è?€”î?@Èì?À`í?@~ê?Ñí?@}ï?@jî?@¿ï?ð?ð?Àîï?@æï?ÀÝï?ð?ð?ð?€.ï?@ï?@Äï?ñï?ð?ð?ð?@ï?€BÙ?€+ä?@Yï?ð?ð?ð?³ï?ð?@ î?,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?@9á?ÏÞ?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?€ì?€»â?À î?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?@ðï?@èï?ð?ð?ð?ð?@-ï?@nï?€Ðî?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?Ïï?ð?ð?€üï?Àƒî?ÀHî?ÀKâ?@â?À]ç?ð?ð?€í?ð?ð?ð?€'î?ð?ð?@ùï?@ í?€Üâ?Xé?Ëì?ÀMì?€~î?€Êí?@lí?€Øî?Òî?€xï?@ï?@Vï?@îç?@Ò?€d?¾Ñ?€ Ñ?_?˜—? ¸?è±?€k?@±?oì?À‰í?Àsí?Àè?€|í?€oì?€¥í?@›î?€Tí?@Bí?@yä?öé?À¬î?€?ì?Àƒì?À¡î?€Ñè?À é?Àúê?`í?ëî?¯ï?ð?ð?ð?øï?†ï?€Øï?@Uî?À^î?áì?ï?ð?€Ðï?…ë?ÀÑï?ùì?€4ï?¬ï?À’ï?¦ï?ð?Àí?@ï?ð?€ðï?€Âï?€÷ï?ð?ð?€î?@]î?@î?ð?ð?ï?Àßï?Àëï?@î?€í?ÀŒï?ð?ð?€ýì?fî?€Òí?ð?ð?ð?ð?øï?€ßî?ð?ð?Àºï?€’Ð?QÉ?ÀÝï?ð?éï?À£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦ï?Àyì?@gà?z¹?Ô·?د?€:Þ?~?@c?€¢Ò?@Jï?ð?ð?ð?Îï?@øï?ð?ð?ÀÝï?ð?ð?ð?ð?€Ûî?ð?@î?€\ï?€.ç?Àßï?èï?@yï?’ï?Àøí?ð?ð?è?@në?@2æ?à‚?@÷á?ÀÛí?0²?à|?€!Ó?\å?€çÛ?@åì?Îï?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?üï?@³ï?@ï?ëï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?@Ãï?Àìì?ð?ð?Àëï?ð?ð?Àzï?þå?€»ã?~ì?Àåï?ð?ð?ð?ð?ð?Àï?ð?€Àí?‚ï?Àïï?Àíí?ð?ð?ÿï?ð?ð?ð?üï?@aí?€çï?@Èï?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äí?@æ?Àçï?ð?ð?@]ï?ÀRî?À¶ì?€“ì?@ì?€Hí?@uï?™ë?€í?ð?ð?ð?ð?ð?ð?yî?ÀÙì?{ï?@ëï?*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãî?@Ôï?@Hí?Àìï?ð?ð?ð?€ùï?ð?ð?ð?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mï?ð?ð?@ìï?ð?@Ãï?ð?ð?ð?ð?ÀËï?À÷ï?Àï?@ìï?€ùî?Àåï?ð?Àï?@ìï?&ï?æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?€Óï?NÜ??€¾Ð?@Åé?€Àë?Àþï?ð?ð?ð?@ßï?ð?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€-ì?ê?@½ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?Àë?À5ï?€õì?Àšï?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?À”ï?€šî?ð?@Ïï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?À}å?»É?Få?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€ýï?ð?@Òï?ð?ð?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À$í?€˜ë?ð?@ï?Ïï?ð?€üï?€Ö?ÀHè?@ î?ð?€%ï?À©ì?€í?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?ð?ð?€€ï?›ï?ð?ð?ð?ð?ð?@ìï?ð?€(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ð?€Ðë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?«ï?ð?ð?ð?ð?ð?ð?@ìï?‰Ï?_å?€ÿï?ð?ð?ð?ð?ð?Àïï?Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?€èï?ð?ð?ð?ð?ð?ûï?ð?ð?ð?ð?ð?€Ïï?Àóï?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?€Uë?ð?ð?ð?À;î?@•ï?Àúï?€/ï?@î?€Ãî?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Vä?4?8Õ?Àþï?ð?ÐÑ?0?Àä?ð?ð?ð?ð?ð?ð?ßî?€?Þ?@Ié?ß?€Ëí?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uï?_ì?ð?ð?ð?Àðï?Àýï?ùï?Àðï?ð?ð?Ÿï?À‰ï?î?À™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?Àöï?À‘é?‚è?ð?ð?ð?ð?@¿ï?ð?Àøï?î?ð?€Gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ÀIï?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?@Lî?€4ê?3í?ì?ÀÝá?@óå?@Øì?€Rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î?€¹ç?”ç?ð?ð?ð?ð?€ï?Àïï?ð?ð?ð?ð?€ÿï?€ÿï?ð?ð?ð?ð?€×ï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@¶ï?ð?ð?Àï?ÀŒï?¶ï?€ñí?€î?À^î?ð?ï?@fï?À\ï?À¸ï?@=ï?€ùï?Àšî?ð?¢ï?Eï?Ñï?Àªì?+î?Àøï?Àüï?€tï?€Ûî?À*ï?À½é?ÒÚ?0¹?€r?8?ˆ¨?€SÝ?ÀÀ?^Ò?Zï?í?pí?€qè?ÀÉë?ÀJï?@wí?,ï?€ôî?@í?@hí?@×í?Oï?¾æ?@Âé?Àpí?€ë??é?€îî?€Èë?[í?^ï?ð?Åï?ð?ð?ð?ð?Ûì?€»ì?@¦ì?€cí?ÀÜî?ÀPç?@aê?@¼î?€hî?€©ê?ð?ð?üï?Àâï?ÀÁï?þï?Éï?€Qï?€‹ï?ð?ð?ð?ð?Àùï?Àôï?€ùï?@î?À¯ï?€rï?À‚î?=ì?€×î?€Îî?ð?€Ïï?€uï?@ï?Àíï?ð?ð?ð?ð?Àÿï?ùï?ð?@†ï?øá?¯?è?€í?ð?Yï?@Vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?†¹?€DÞ?€îî?€Îí?€€á?þÃ?@d?Àt?Ú±?ï?ð?üï?@Lí?€Dæ?ûç?@òæ?@í?€^î?@?ì?Yî?ÀÃï?@Áï?ÀÈí?€lì?€å?€Ãá?ëé?‹ï?@©è?Àúí?@<í?Àwì?ð?€î?üÇ?€Ö?€¨Ó?°¤?À¡î?€ÙÞ?ø’?là?`†?Àl? {?$?ðŠ?Â?€ß?€&è?€wï?Àï?€õï?ð?ð?Àkï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?ð?ð?ð?ð?ð?õï?@¼î?€»ï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?ð?ð?@ï?ð?ð?€’ï?À„ï?€ í?jÒ?ÊÝ?À_î?ð?ð?ð?€ï?+ì?ð?€Àï?€µì?Àôï?@ýï?ð?ð?ð?ð?ð?€Îî?ð?ð?€Ôî?Ÿï?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?ð?ð?€úï?€Üï?ð?ð?€—ì?@qï?ð?ð?ð?ð?ð?ð?€Wã?Àî?ð?€†ï?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?€Æï?ð?ð?@Ãï?ÀÕï?ð?€¡ï?ð?ð?ð?¬ì?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?Àtí?€˜ï?ð?Îí?ð?ð?ð?ð?ð?ð?jï?ð?@Éì?×ï?€˜â?»á? Þ?€&×?Áà?~Ú?Ì´?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?Àèî?@½í?€î?€Äî?@Aî?@wì?¯Ö?@Sç?Jî?ð?ð?ð?ð?ð?ð?€»ï?@Ãï?À™ï?ÀÝí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ î?À ê?€vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@ï?@³î?ð?ð?ð?ð?ð?ð?ð?€'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðì?€Çï?ð?ð?ð?ð?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úî?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍæ?@~è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ï?îí?ð?ÀÙï?€ïï?ð?€ÿî?›î?ð?ð?×ï?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?@3ï?À½í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?ð?@ì?@ï?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ï?ð?ð?ð?À“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çì?À)ï?ð?ð?ð?ð?@Kï?€8í?€èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àiï?-È?@fä?ð?ð?@„ä?a?@l?ªÔ?ð?ð?ð?ð?ð?ð?Àé?€„í?Eç?€ÈÜ?€˜ê?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?Àãï?€Rï?£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?À‹é?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ð?ð?ð?€!ï?ð?ð?ð?òï?Gë?ð?€·î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ÀÐê?è?@lë?À1ì?€«ë?Àùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õë?Àä?€åç?€`è?@8æ?€Sä?Ûæ?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?Àäï?ð?Àïï?¤ï?õï?€ïï?úî?€ ê?;ì?Àï?@~ë?€ãé?Àí?€Äì?ÀSï?Èï?Àsï?@ªï?@ë?@Ãï?@î?€:î?À’ï?@ï?ð?ð?Ÿî?€/Û? ˜?€xÙ?€Çí?í?À î?€Wé?è?€jë?@í?@¨ì?€¤ì?Àxî?@Xï?ð?µï?ÀÙë?Yì?ÀFì?Àï?€×ë?€ï?Àï?Àzë?‘ï?ð?@@ï?Àãï?ð?ÀÂê?hí?ßè?Àöé?Ãä?@ãæ?ÀŠï?@3î?ì?Àëï?@ë?@ì?@-ê?Óì?@òí?nï?Àjï?€†ï?@2í?@Ëï?ð?ð?@Íï?@Þï?ð?ð?ÀÅî?ÀYë?Àçë?@!ï?ð?@¼í?nï?@¹ï?ÀÕï?ð?@õì?€Üï?ð?ð?ð?ð?Wî?Hï?ð?ð?ð?@Ïã?¬£?@Qä?€»ï?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?‚í?ð?ð?Àôî?Ê?H™?±?`‹?€­Ø?½Ý?€_Ö?¨º?Èž?f?³?#Á?MÆ?€[Ö?€%Þ?<á?"Ë?ÛÎ?éÀ?€°Ý?æä?À¦í?€EÖ?FÄ?p×?@Ñè?Àlï?À à?†É?Â?À3ë?“Ú?ð?_Ò?Ê?€×ì?H¾?€[?‘?dË?HÙ?€tÚ?€ ë?@6ï?€Ïï?@òï?ð?ð?€Pï?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?Àhï?À î?ÀIï?€×ï?ð?ð?ð?ð?ð?ð?ð?@¾î?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ï?@õï?ð?ð?À»î?@ì?À}ï?ð?ð?ð?€Ñï?Àäî?€rï?ð?ð?€ï?@ ï?ð?ð?ð?ð?€ôï?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@.í?ð?ð?ð?ð?ð?ð?ð?1í?ð?@Çï?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?ð?ð?ð?ð?ð?eî?€|í?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?€¹ï?@Öî?@@ï?ð?ð?ð?ð?¯ï?ð?Àšï?ð?@ï?Àóï?€ãÒ?fÖ?Ðæ?€Lî?Àå?€ÝÒ?€_â?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòî?ÀÔï?Àóï?ð?ð?@ñï?ÀÝï?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?×ê?@{è?±î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ð?ð?ð?€øë?@¼ï?ð?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ï?€¿è?@•ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?À î?ð?ð?€áï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªî?ð?ð?ð?ð?ð?@®ì?€íï?öï?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀYï?€—î?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?€²ï?@[ï?Àhí?@Ùç?ûï?€Âï?@rï?ð?ð?ð?ð?ð?ð?ð?ð?hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ì?ìë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóí?€Óë?Àí?ð?ð?ð?ð?ð?ð?ƒï?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œè?Ài?Sã?ð?ð?€Œï?×?Àr?Àv?@o?€X?Ç?€ïï?Àïï?Àçï?ð?ð?{ì?Åê?—ï?Àáë?üà?À·ï?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?À!ë?€#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVï?Àåï?Àlï?ð?ð?ð?ð?ð?ð?ð?ð?@rï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?À¸î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?êï?Àðì?*ë?À\î?€„î?ð?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?@ï?¤ï?€ï?€Žï?Àûí?€%í?À5â?Zí?|Ë?Àÿë?Àoï?è?@ï?€çï?€âí?Àøï?™ï?ð?€ßï?ð?vï?Õï?ð?Üí?Ð?M?²?Þ?À ã?°×?@d?G?øœ?'Ô?ÀPí?@Ôí?@°è?À^é?À+ë?À>ï?€„ë?@ì?À×î?€Ší?€ôï?ÀÑï?ôï?@|î?À©î?@zï?€wï?€àï?À]ï?@Ÿï?¦î?€xí?€î?@ší?€¢ï?€Óá?@¿î?€Äî?€í?€®ï?@ì?cî?€^ï?€Ní?À:ï?Àhì?€tï?€áè?€Èå?Ìè?À¦é?@:ì?@þï?Áï?ÀIï?@êï?€ßï?À¶ï?€Šî?À–ï?ë?Àtæ?@åä?Qí?@ î?ð?Õï?ð?À§î?€ï?Àï?@áï?€5ï?Íï?€ùï?ð?ð?ð?@tï?ð?@æï?@ºâ?îµ?Àä?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?Àçï?@°î?@Zï?ð?ð?9ì? ›?ô¯?¼?Àn?€X?à²?,·?«Æ?€0Ó?P¹?2á?À0í?€Òê?@Qæ?cÌ?±Ñ?>¸?@î?@ï?ð?€qå?€oì?ÀIî?"²?Àš? Š?*±?@¯?€Pì?ð?ð?ð?@úï?­ï?€{ï?À·í?@¸í?À“î?€Øî?À~ï?@˜î?¡ï?—ï?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,ï?2î?ð?ð?ð?€Ûï?€Óï?ð?ð?@Ãï?ð?ð?ð?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§í?ð?@ré?@3ì?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†î?@‰ï?"í?ð?ð?ð?ð?ð?ð?ð?Àïï?Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?³ï?ð?ð?@uï?ð?ð?ð?ð?ð?Æî?€dí?ð?ð?Àóï?€Ïï?ð?ð?ð?ð?ð?ð?ð?Dï?€Òî?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?Àrî?bá?ïì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?÷ï?ð?ð?ð?ð?€mì?ÀMë?“æ?©æ?Àøï?€êï?@ªî?@xî?@ßí?À@ï?À²ï?€üï?ÀÖï?ÀÍï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-ï?@^ï?ð?ð?ð?ð?ð?ð?ð?‹é?À¬ë?À•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ÀŽí?€‘ï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿé?¨¾?Úº?€Ëé?@4ï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?@Óî?¯ï?ð?ð?ð?ð?ÀËï?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àxï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûî?ð?ð?ð?ð?÷ï?^ï?€Ìì?ð?À]î?Jï?€|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?Àï?Àeæ?€¡í?@äî?À­í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€më?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoê?ôÆ?€ÉÞ?ð?ð?ð?Àôï?ó×?Â?v»?È’?@#é?ð?ð?ð?ð?Àžî?î?€[æ?„å?Àõä?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?@aï?ð?÷ï?ð?ð?ð?Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?¯ï?üï?ÀŠï?ð?ð?÷ï?ð?ð?ð?ð?ð? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?éï?áí?€Ðî?¯ï?€Çï?À¬ï?@Iì?À¨é?€©ê?Ÿí?À`ï?@=í?€uî?€Êî?À¥ï?ð?€Çï?ð?@^ï?ð?ð?ð?üí??Ò?X»?@”ë?À˜í?ïÓ?Ђ?ˆ‘?€Vá?é?}é?Àì?€€ë?&ê?€Gì?€dï?@"ï?€úï?Bï?€˜í?ýì?kî?ð?€×ï?¢ï?ð?¦ï?»ï?ÀÝî?ð?@9ê?€î?ÀÈî?€œí?ê?ð?Cï?@­ï?âï?€‹î?€:ì?€Éî?À™ï?@bí?@6ï?^ì?î?Àí?ä?€Çî?Àåï?×î?ð?@íï?ð?À¤î?€Lï?ð?aî?­ë?€|ì?@ï?ÀGï?ð?ð?ð?ð?€Xï?Àmî?Êï?ï?@Eï?€©ï?ð?ð?ð?ð?ð?Àå?@|?ÂØ?×î?ð?ð?ð?ð?ð?ð?ð?Àøï?€gï?ð?ð?ð?À–ï?€Šï?ð?@íï?ð?ð?Àóï?Àýí?ð?ð?ð?@‰ï?€ðÜ?.¿?°’?4 ?8’?Lº?€-ï?€ä?\¬?ˆž?(•?bÑ?@‚ï?îï?€5ï?ð?¼î?€Æá?€áÐ?À–?T£?Îå?õå?ÀÜê?€Dï?°î?€aê?€Gí?Àéî?ÀOî?ð?ð?@oî?@Üî?€Òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?lì?ð?ð?Jï?€ï?Nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?í?ð?ð?ð?€×ï?äì?À6ë?@®í?€aé?€ï?ÀEì?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fï?@»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?Ùî?€¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?ð?ð?€šï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨î?ð?ð?ð?àë?Àˆï?ð?À†ï?ð?ð?ð?ð?ð?ð?€>à?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@–ï?€´ì?@éë?€Cë?À¼é?&â?€Pà?IÓ?€ž?‘É?€Bé?@|ë?@eî?ðî?€ï?ï?@rì?@#é?À¢ã?€Óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ÀQæ?Àæê?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?Àîî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?Àëï?–ì?ð?ð?ð?ð?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.î?|Í?€ ê?@yï?Àï?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?€!ï?ð?ð?À½ï?ÀÞï?Àšï?ð?ð?À5ï?Àšï?ð?ð?ð?ð?Óï?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„ï?ð?ð?ð?€ßï?@sï?ð?ð?ð?€µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·é?¢í?Àï?@„ï?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?Àwë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºí?BÇ?0Ë?ð?ð?ð?ð?å?žÇ?@p?ˆÜ?ð?ð?ð?ð?ð?À%ë?Ëå?ÀBè?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?ð?ð?À4î?À¾ï?ð?ð?À½ï?ð?€×ï?¸ï?@Çï?€Õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?€×ï?ð?ð?ð?@Ãï?ð?ð?ð?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?Àßî?Àâí?@Qï?€¶ï?¯ï?€ï?Ðá?&¿?À ê?€ï?£ï?í?€“ï?Àòï?ð?ð?À½ï?ð?ð?ð?ð?€“î?€ØÖ?K?€Z?€šÔ?Ìê?€ëê?NÏ?è¢?hê?ì?ÀØê?À¢ì?ÀÀì?@Þé?€×í?ð?Àëï?@ùï?@·í?ÀOï?À~í?ð?ð?ÀÞï?€ï?@Ãï?€žî?€ëï?€®î?ôî?Bì?À}í?Hï?€Mï?@üê?À î?éì?ÀÛí?@æì?Àˆí?rî?ÀIï?@¦ï?Àòï?ð?@˜ï?þí?€Ñí?„í?@Eî?À2ï?@Îï?@ï?ï?@9ï?€éï?ð?ð?€‘ï?Àí?“ì?Àßî?@Ýë?ð?ð?À½ï?Àçï?€Äï?Àï?À›î?€òï?÷ï?ð?ð?ð?ð?ð?Àµî?»Æ?BÌ?À;î?ð?ð?Àëï?ð?ð?ð?ð?@­ï?Oî?€hì?ð?ð?ð?ð?ð?øï?€ßï?ð?ð?ð?ð?ð?ð?øí?Û?{?è®?€v?@d?¨¦?Ȭ?}Ì?Àê?®ë?ξ?T?ñç?€¯ï?Ôä?€Ðî?zî?@—î?LÃ?ÝÓ?€ýî?@¤î?Àáì?€Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ì?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?Aí?@éä?€’ë?@rï?ð?ð?ð?@ï?Àìá?ƒê?Âï?Õï?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?šá?uê?ÀIï?ð?€Ðï?†ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFì?@9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?€³ï?€”ï?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ÀUë?Àïï?ð?@Õï?€ì?€è?Àöï?Àùï?ð?@Ãï?ð?ð?ð?€jæ?€«ç?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ÀEï?ð?€ï?À è?(£?(š?•?¸ ?ð‡?ÌÑ?„á?€°î?ð?ð?ð?ð?ð?ð?1ï?€ë?Àå?@¤ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûî?ûè?@nê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½î?$î?ÀÙâ?@5â?@$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?ð?Šï?ð?ð?ð?ð?@­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìî?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úí?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´í?Àâê?€’ï?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?Àøï?ð?ð?ð?€rï?€Üï?÷ï?ð?ð?ð?ð?Àøï?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@Ãï?ð?ð?ð?ð?€Ñï?ð?ð?ð?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?€Ûï?ð?ð?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙë?€†ï?@²ï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üí?À‡ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÚÔ??eÕ?ð?ð?ð?ð?€þè?€p?àÃ?GÏ?‡Ê?Àxã?À‰î?ð?ð?ð?Xï?À›ï?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œí?ð?ð?À±ê?ÀÐî?ð?ð?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?€Óï?@øï?À“î?ð?ð?ð?@Ãï?ð?Àçï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?ÀIï?€%î?À¾ë?Lî?ùî?ëì?À+ï?ÀNì?€Óè?^í?@Oî?ð?ð?€sï?ýï?ð?ð?ÀÈï?€íï?5ç?€rï?@=í?~Ï?Ø£?Ôª? «?~µ?б?€ìÖ?€Cï?ÀŠî?€)Ý?°Œ?€†Ñ?Àwì?@Çì?€Vï?Rí?€ñé?€¿ç?Àï?€)ï?€™ï?ð?ÀŒï?€×ï?Àtï?€}ï?À“ï?@ï?€¾î?Ôï?Àáï?À(ï?Àëî?€?î?Àýè?À½è?€î?À+î?À ì?@¨é?/ì?@õî?Àôì?jí?Äì?¯ï?€Éî?ýï?Àî?€ßî?@_î?@ï?À_î?ÀKî?€þï?õï?î?À¥ï?@¦î?@÷ï?ð?ð?õï?ð?ð?@9í?Žî?ð?ð?Àþî?€ƒï?€¹ï?€Mî?Àwï?ð?ð?ð?€ìï?ð?ð?€ì?øÖ?€Ð?@ì?ð?ð?ð?ð?ð?ð?ð?ð?€Lì?€áé?%ï?ð?ð?ð?ð?ð?³ï?ãï?@Ýï?€-ï?€Ëï?ð?@»ï?ÀÎì?€ ì?|ç?@µé?ÞÏ?¥?aÆ?Y?€ ×?м?ýÐ?а? É?Àhí?€nï?€íï?:à?àv?·É?€zï?@â?lá?@øï?@ñï?éì?«?½?€ìã?€wï?@ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòî?@jï?°î?€ôï?ð?ð?ð?@Òï?ÀÝï?ð?øï?ÀŽï?ð?ð?ð?ð?@Úï?@–ï?ùí?`Ý?@&ê?€\ï?ð?ð?ð?ð?@î?ð?@æí?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?2ï?€Þè?=Ü?€÷ã?Àæî?ð?ð?€©ï?Àµì?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?Fï?ð?ð?ð?ð?ð?ð?ð?@aî?€•ï?ð?Àúé?À—ê?éï?€8í?Çî?@kæ?ÀØï?Àåï?ð?ð?€ûï?ÀÖï?@Òê?€Õà?€5ï?ð?ð?ð?ð?€Ëï?øï?ð?ð?ð?ð?ð?ð?ð?ð?{ï?Àvá?°½?\µ?z¼?8Ù?€hä?€ùï?ð?éï?ð?@Ãï?ð?ð?ð?ð?ð?ð?€ðï?@1é?€Ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Žè?@ì?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?@0ì?&æ?vÊ?0ª?€S?€KÒ?@Žå?£ì?@ùï?€Ié?Vä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?™ï?³í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?@zî?€£ì?€Ñï?ð?ð?@ÿí?Àóí?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€=ï?Àí?€fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<à?€Xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Œï?@òï?ð?ð?óï?Àõï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8ï?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?@Vî?ð?ð?ð?Éï?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?À;ï?ð?ð?ð?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?ð?ð?À;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?Ãí?€î?žê?@'î?€€ë?À7î?€îí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£ì?€«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zí?`…?€å?ð?ð?ð?ð?Àî?|Á?°ª?UÍ?€²Ó?ˆ±?ä?€Öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7í?ð?ð?ð?ð?ð?Àçï?ˆï?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?«ï?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žï?ÀDí?@<ì?€Fí?€ìï?Àfï?@Åï?@´î?Àôì?@ïì?€ýí?ð?ð?ð?Ìï?Àöï?@òï?ð?Àmî?@ìì?€÷ç?CÄ?À›?6Ð?€Ùå?À¢â?Å?`~?,±?Ö¿?€DÐ?@né?ð?€rï?À†ï?€ÓÔ?Àœã?@ä?€Ø?˜–?aÃ?@â?åì?Ïï?´ï?ÿé?î?@kî?@)í?ð?À8ï?@‘ï?€ñï?ï?À<ï?@§í?À‰ï?@ˆï?€Ïï?@_ï?mï?@«ï?@)ê?Àé?€™ï?Üï?@Îî?«ì?€ˆä?€Aê?Àì?Àï?@áï?@ôí?:î?ð?ð?@™î?Àëï?€×ï?@ùî?€ôï?ð?@ýí?@Éç?Áì?€lï?Àøï?ð?7ï?@nï?ð?ð?vï?@!í?@`î?ð?ð?Àêï?€gï?ð?ð?ùî?ð?ð?€»î?ð?€Ûê?Àãæ?€ç?@–ï?ð?ð?ð?ð?ð?ð?ð?ð?Àÿî?€–î?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€±ï?ð?ð?ð?Àïï?Ïï?ð?ð?˜ê?8?@b?@“ä?€ÔØ?B?XÐ?Àëî?‰Ø?€Q?ßÇ?˜¸?’Á?€øà?äÓ?²×?|§?€ôØ?@Uæ?ô¡?€ëÞ?Ëï?ð?€¨é?€x?TÃ?€|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rï?ð?€×ï?ð?ð?ð?ð?ð?@Ãï?æî?ÀÛî?ð?À}ï?ð?ð?ð?€´ï?Àåï?ð?ð?ð?ð?ð?ð?ð?@éï?ÀÇï?€áî?À ï?€ï?@jï?ð?ÀYí?@ì?@(ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?€Eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?€Xï?À7î?@éï?€;î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yì?€Ðß?@å?@}î?ð?ð?ð?ð?€õï?€ë?Ôï?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?@>ï?ð?í?€~æ?†ï?Žï?Àóæ?À$ê?@®ê?À|ì?ÀUç?ð?ð?@¿ï?À£é?ì?Àrì?@–ê?…ï?ð?ð?ð?ð?ð?ð?ð?îî?@Qî?ð?ð?hï?@'ï?Éã?Í?€ÐÔ?@l?s?Àf?¨Æ?êÆ?€²è?ð?ð?ð?€îï?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?€ýî?€ê?Cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ê?ÀHê?€Ûï?ð?Žï?ð?ð?ð?ð?ð?ð?´ï?€&ã?´´?î²? q?ج?(ª?žÑ?X±?ä­?€ÕÞ?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªê?kî? à?€ÈÚ?§ï?¥í?×Ì?oÓ?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àpà?MÌ?ˆµ?€ Þ?€å?£Ø?ìµ? ¿?eÀ?€¾é?@ï?@ºí?ð?ð?ð?¡ï?ð?ð?Uï?Àõî?À¶à?¸Ï?³Ã?]â?ð?ð?ð?ð?ð?ð?@ì?@åì?ð?ÀAï?ð?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥ï?Õï?ð?ð?{ï?Àúï?À¢ï?ð?ð?ð?ð?ð?@Vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?ð?ð?ð?ð?ð?¡ï?ð?ð?ð?ð?ð?ð?ÀÕï?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?%ï?[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?Ôï?Àïï?èî?ð?ÀŸï?€dî?ð?€×ï?€øï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?òï?ð?@î?ðê?0å? ä?@Ýé?§ï?@¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?€ªë?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?€†ï?ð?ð?ð?ð?oì?€ï?À_î?ð?ð?ð?ð?{ï?@–î?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? Ü?Ô´?@¢î?ð?Çï?€ñâ?Àiì?€“ï?tÞ?€£ã?@t?P‰?$À?U??À\â?@„ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*î?ð?Þî?@Çî?ð?€×ï?ð?Æï?ð?ð?ð?ÀAï?Àâî?ð?ð?ð?ð?ð?ð?ð?¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òî?@ï?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?Çï?ð?@Ãï?Eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬î?À‚é?Ší?ð?¨ï?€Ïï?ÀÖï?ð?±ï?@œï?@Êé?øï?ð?ð?À‹î?€Øì?€Øï?€¹ï?@¬ï?ð?@‰í?$Ð?`Ç?€xà?-ê?ëï?Ñï?Ï?à?áÆ?À ì?@vî?ð?ð?ð?Àóï?€Ïï?@Dì?@Ëï?ð?À†ï?@Ìá?à•?l®?°ˆ?¿?àÙ?à°?ƒ?…Â?Ìè?@*î?@ï?€Äî?±î?@%ï?@¿ï?€áï?Çï?ð?€úî?@äï?Àëï?ð?€×ï?ð?@Íï?Àïï?€©á?€äç?€Øî?Æï?¥î?À2ï?À;î?Àëï?€Šï?€˜ë?,ï?ÀÈî? ï?¤î?À¼ï?À~ï?¡ï?€‚ï?Àïï?ð?€xï?€nï?ÀÇî?€×ï?@\ê?@„á?€×ï?ð?€/ï?î?@iï?ð?ð?ð?€yî?€øç?ÀJî?À~î?À’ï?ï?¬î?Àðï?ð?ð?@Òï?€Äî?Úê?@ïê?€í?Ôï?ð?ð?ð?Àëï?€×ï?@^ï?ð?Úï?Àtï?ð?Àõî?À>î?€×ï?ð?€øï?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãí?Ü·?,Ö?€fî?ÝÑ?ÕÀ?aî?íï?@´æ?ã?€Q?€²Ð?€ÜÙ?€åÔ?À²ë?²? ‰?€u?.Ë?bï?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?5î?Bï?@Þï?dî?Àçï?ð?ð?€‰î?Àñí?ï? î?Àäí?@Æï?í?@.ï?ð?ð?ð?§ï?€ùê?€Öî?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?@mî?…é?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?À–ï?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?@ è?@¶ë?€çë?@Ãï?ð?ð?ð?ð?Àêï?À±é?@Çï?ð?ð?ð?€ýï?ð?@ÿï?À½ï?ð?@÷ï?Âï?@¾ï?Àõï?@óï?ð?ÀRí?ÀËä?Àâ?€!Ö?ýå?€Óî?ð?@tí?ð?ð?ð?ð?Àùï?Úï?@Ëî?Àjï?ÀQî?Iî?IÓ?>?°•?Àx?<§?«Ç?è?î?‹ï?@Ýí?¹ê?ì?úÇ?D?‡Ê? î?Àë?€£ì?@†î?€Aë?“ë?Àžï?’î?†î?€Çî?ð?Àëï?ð?¯ï?^ï?@;î?À•ï?€§ï?Ëï?@Ùï?ð?ð?@÷ï?À@ï?€êî?ªï?Àþï?@Ìí?@Rí?€†ï?Àéì?@Ûí?€}ï?€Ûï?€0ï?€Ïï?À‡î?@¾ï?öï?€ñî?@†í?ÀÑí?øï?¥ï?ð?´ï?ÀÏí?ëì?@÷ï?ð?ð?ÀÀï?€ùï?úï?ûï?@›ï?ÀÀï?ÀŽî?>ï?žï?ð?@Àë?9é?@é?€Sì?@ñï?Õï?ð?ð?ð?ð?ð?ð?ð?@àï?:î?€Dï?@Ðï?À‹ï?ð?fï?Kî?@ëï?Óï?ð?ð?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?öï?À0ê?@i?0Ä?€ËÕ?€Në?P¶?8·?@|ä?ð? ï?€ß?È?`?Á? †?S??‘?€oé?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíî?ð?ð?ð?ð?ð?ð?ð?@ï?˜î?ð?ð?ð?ð?ð?ð?ÀŽï?À—ï?ð?ð?ð?ð?ð?‡ì?òÔ?ûÒ?À¸à?€wï?ð?@äï?ð?@Öï?ð?ð?ð?ð?ð?ð?üï?€Ûï?ð?À“î?ð?@Öï?ð?ð?ð?ƒï?ƒï?ð?ð?ð?ð?ð?€×ï?Àïï?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@°î?ð?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?@Öï?°î?À“ì?õï?€=ï?xÏ?ÂÂ? É?ðÛ?@æ?@|è?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?¨æ?€ Ô?SÊ?À{?zÅ?À7ë?@}ï?ð?@Ãï?ð?ð?ï?ð?€£ï?€²î?ð?ð?ð?ð?ð?€)ï?ÀÚí? ì?€°î?@Ìí?€[î?ÀÅí?À"â?@›á?€'î?ð?Àï?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èé?uï?À.ì?€_î?€Jì?@+ì?@üå?ÀNè?À@ï?Àá?@{?‰Ú?ð?ð?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?OÖ?€P?H—?P±?€rÓ? À?ºÜ?gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?€‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æë?Ý?”ª?0?ñÆ?€Ñ?æç?@}æ?@åê?À£ã?@ ç?·ì?”í?@4è?ýØ?€×ß?@Æä?fÅ?¸?@v?¢Ã?6½?p¯?V?Ó?µï?ð?ÀÞï?Æî?ð?ð?ð?ð?Àë?ñä?€cß?€.ç?€«Ý?é?Ùï?ð?ð?ð?ð?ð?õï?À·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?@í?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µï?€†ï?ð?ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[í?Ñï?ÀŽï?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áî?€Èï?Òê?×î?@dî?ßè?Àï?0ï?€àî?@6ï?Àžï?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?@gï?ð?ð?ð?ð?ð?ð?ð?Uì?ÀSï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?nî?ð?Àªî?€=ï?@dï?jï?€áï?\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àà?h’?€ýÓ?ð?À×ï?ÂÏ?Àa?@é?€#Ð? ³? ‡?€âÖ?þî?ð?ð?ð?ð?ð?ð?ºî?@Kí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?ð?Àëï?ð?òï?À?í?ð?ð?ð?õï?À©ï?ð?À’î?@™ï?ð?ð?Vï?nï?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+å?Àï?ð?ð?ð?ð?€×ï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àmï?€>è?À~è?@´ï?ð?ð?ð?ð?€Bê?À"ë?À™î?€6í?€×ï?òï?ð?ð?ð?ð?ð?ð?@Ãï?€ìï?Àéï?@äï?ð?ð?ð?ð?ð?€Áî?ð?ð?@¤ê?Àëï?jï?@€ï?€úï?ÀÛï?À[ï?@cï?_î?uî?€~ê?@ºì?€sæ?À è?€¨Û?Àã?Àï?ð?@Öï?ð?ð?lï?€“ï?€çå?€FÙ?±Ú?€Ùç?€¬Ý?ÀÒê?Ûê?Jî?€êì?Àóï?8í?Àƒí?€þë?Àï?ð?ð?ð?@Öï?@‡î?À·î?€üî?ð?ð?ð?ð?@»ï? î?ð?õï?@ýï?ð?@î?Vï?”ï?€öï?€Èï?ð?Àï?@ï?ÀÊî?À"î?jï?@¯î?À<î?@rï?@Ãï?€4ï?€xí?@Üî?ð?€þí?À5ï?ð?ð?uï?ð?ð?ð?ð?uï?@Öï?€™ï?@äï?@ªë?@æé?ð?ð?ð?ð?ð?ð?ð?€ºï?ð?ð?ð?ð?Àvî?À|í?$î?uï?€eï?Àßï?€Óï?Àìî?ð?ð?ð?ð?€Vï?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™î?Â?в?ÀÏé?šÝ?Âí?@\å?=É? Â?3Ñ?$Ú?Ëà?@Zâ?šÂ?J¹?€ôí?ð?Àžï?ïÆ?<Ì?è?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºï?ð?ð?ð?ð?ð?ð?ð?Ààï?@tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkã?€ë?¢ï?@ï?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?@»ï?Àóï?ð?ð?ð?@9ï?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIï?€Ûï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôî?Àïï?Àšï?ð?ð?ð?ð?ð?ð?ð?«í?€0î?ð?€æï?ð?ð?€wî?ÀØî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ÀŽï?óï?ð?ð?ð?ð?íï?À†ï?€®Õ?Òç?@Mç? œ?@”?½Ê?@¸ã?€³ï?€ßï?ð?ð?ð?€íï?@¿ï?Àèï?À´î?À«ï?@ì?Xï?ð?€^ï?Àé?¿?Ú³? ?€Ö×?@Ÿé?ð?ð?ð?ð?ð?ð?€Sï?³ï?€î?ð?ð?ð?ð?€êï?Àõï?¯ï?€Îï?@åï?À†ï?Âå?€§á?€Í×?€¬è?@ï?ð?ð?ð?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ÀÖï?@‹ì?€{è?Äç?À¢è?@Ùì?@Åí?@Üë?€î?€¦ê?sÓ?)Ö?€ Ø?lÕ?å?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;í?ZÒ?@æ?ÀŽî?€ßß?YÝ?‰Ç?ê¿?¤³?@‡î?ýï?.î?€fï?ð?ð?ÀÝï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?@Ùë?ôÚ?`~?È?Fì?ÀWé?ð?€áï?Àþï?ð?ð?ð?ð?ð?9ï?@ í?ð?@ßî?€Éê?€¤â?@ùâ?@^å?@‡í?€6ë?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Aï?@2í?ßÔ?I?p¨?ÀWê?ð?ð?ð?ð?ð?ûï?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVï?@æï?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ÀTì?€^ï?î?@eï?€ë?Mç?Žé?€„í?€±ï?Àóï?@¬ì?€œï?ð?ð?ð?ð?ð?ð?€5ï?ð?Jï?ð?ð?ð?ð?€}ï?ð?ð?ð?ð?ð?ð?€pì?À¤í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Nì?€Ïï?ð?ð?ð?jì?@ºí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?$ï?.º?¬£?œ¸?ÀDï?Àxë?P‡?€“ã?€Ð?]?@€à?¯é?@³ê?@êî?ð?ð?ð?ð?ð?¤ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?ð?Šï?€ðï?@fí?`ï?ð?ð?ð?ð?ð?ð?@üï?Àºï?Àëï?¯ï?ð?€Žï?€Ïï?ð?ð?ð?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€£î?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?À¿ï?@@ï?€Íë?¢ê?€æï?ð?ð?ð?¼ï?ï?ÀUï?@Åë?€¿Õ?€îØ?À»ï?ð?ð?ð?ð?ð?ð?Àçï?@Kï?^ï?ùî?ºï?@øï?ð?ð?€ßï?€Pï?À]ï?”ï?€ùï?@„ï?£ï?ÀÅï?@íï?€'ï?ð?ð?ð?Àëï?€Îï?Àšï?ð?ð?€Rï?öï?ð?¯ï?€¦î?Äí?À†ï?bí?@[í?©î?¯í?Àˆï?@yï?À*â?ÀÆä?Ànä?@Ïë?À^ë?€pî?€Jé?”î?À¡ï?@ï?€×ï?@sî?ùî?Àþî?À-í?ÀCî?øï?€Ëï?vï?€—ï?Œê?€¨×?€µ×?€ Ô?À‹è?€bï?@!ï?€ï?Àèî?€Fî?€Jî?€,ï?÷ï?@àï? í?€†í?@ï?Œï?’î?;î?@fï?€óî?ðí?À í?¼î?€àî?Àºï?@üï?xï?ð?€•ì?Àïï?ð?ð?€î?ð?€ñï?ÀŠê?Àšé?Þí?òï?ð?ð?ð?ð?ð?ð?ð?@àï?ð?ð?§ï?Àóï?Àdí? è?€¢î?@Áî?Àsí?Àeî?Àšï?¯ï?ð?Rï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ÿï?€þï?ð?@êï?úï?ð?Àïï?@sá?Àr?t?Èž?ÅÐ?À—ï?@üï?@òî?ÀÎë?@àï?€çï?Àå?vË?0†?€f?å?ð?ð?Àé?€DÜ?b¿?ÀŠ?Œ?€®Ñ?ÀMã?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?³ï?üï?ð?Àpî?ð?ð?€õï?ùï?ð?€îï?ð?ð?ð?ð?ð?ÀGï?€è?ð?Àbî?€+ê?ð?ð?ð?ð?ð?ð?ð?@‰ï?ð?ð?ð?ð?ð?@åï?8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+í?€wî?ð?ð?ð?Àjï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@·ï?ð?¼î?€‹ï?ð?ð?ð?ð?€zï?€Ïï?@î?|ß?öÌ?pŽ?MÜ?€*í?€Jí?€&ë?À+è?Àã?¹î?†ç?ÛÐ?€íÙ?oÓ?0Ü?À,à? Ø?Ì«?³?ÿÂ?€DÐ? ë?€uì?Iï?€zï?@ï?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ÀÈï?€kï?€î?öë?€¯á?À»å?À„î?ð?ð?€áï?€îï?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sî?@Sí?€°â?€MÛ?€Ré?€ì?Àåï?Àëï?@÷ë?ÀÕí?'â?LÃ?€|?€n?Ì«?'Ã?ÀÖí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÓÔ?€:Ò?€Ü?â×?€Ù?¯å?Ç?]Ï?@~å?ð?€Ëê?mà?xí?ð?ð?€áï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@.é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<é?€Ð?ÆÃ?ý×?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?@ðï?€èï?ð?ð?ð?ð?ð?ð?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?~Ü?R°?UÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäî?@nï?€vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?@¿ï?ð?ð?ð?ð?ð?ð?ð? ï?ð?ð?ð?ð?ð?ð?Àëï?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?©ë?äï?Àåï?ð?Àì?@\î?@gì?€sî?À¢ï?€åï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?€·ë?ð?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ìî?Àhê?@£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæä?І?`•?0Š?çì?ÀŠå?€Ò?v?€•Ó?€¼à?`~?lÇ?ˆá?€Ëå?ï?ð?À”ï?ð?ð?€ßï?€µì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áî?âé?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?¡ï?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€jì?ð?ð?ð?ð?ð?ð?ð?Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?À²ï?îí?€ªì?hï?ð?ð?ð?ð?ÀÃî?Àåï?ð?€èí?Òà?ÝÊ?€"ï?Àçï?Àïï?ð?ð?ð?ð?Óî?À¿ï?€îï?€‚ï?À’î?î?€Ïï?ð?ð?€î?@:ï?€ûë?@zí?À í?§í?@Bï?€Ùï?@÷ï?@÷ï?@µí?ð?ð?ð?ð?ð?ð?^ï?Çï?ãï?ð?€Äï?@çç?@)ï?€*î?ÀÂî?,í?ÀWî?íï?íï?@Áâ?nå?ÊÒ?°‡?ð½?üÕ?zÞ?ÞÖ?Àâ?ÀBà?€'ë?À]î?À„î?@3í?€Mì?À€í?€üï?ð?€`ï?Žï?€åè?€–æ?0ã?Ø?€íè?ví?ëï?@lï?€×ï?@ˆï?À]ï?_ì?@ì?@»ì?@æî?@òî?À ï?Àï?€Hï?@¨ï?Àï?€²í?€Lê?@Cî?€øî?ÀUí?µî?rï?ï?ð?ð?±ï?ð?ð?ð?€½ï?À1á?%Ô?@ßí?ð?ð?ð?ð?ð?ð?@÷ï?ð?€îï?ð?€×ï?ð?Àãï?Àëï?€!ë?@Mê?€Çë?@-ï?Àì?€¯ï?^ï?ð?±ï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?À³î?@Íï?ð?€0î?€'ï?Àåï?ð?ÀÅí?@dé?À¾ã?€Û?ä»?úÅ?Þ?€—Ü?€#à?Àtï?@åè?‚º?@^á?@.ë?@Òï?ãí?ÀÃã?@–ä?-è?(ç?–µ?\ª?MÄ?€¬Ø?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?@Ëï?ð?ð?ð?@õï?@„ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ð?Àíï?€åï?ð?ð?ð?ð?¼ï?€Oæ?€mí?ïê?@”ä?ÀYï?ð?ð?ð?ð?ÀÀï?ð?ð?@èï?@|ï?Àqï?ð?ð?áî?ÀÀï?Àpï?ð?ð?@-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tî?@íí?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?ð?ð?Àªï?ð?ð?ð?ð?ð?Àfï?ð?ð?ð?ð?ð?ˆã?ƒ?|?@¸?˜£?òµ?ä¦?Àq?@Í?€ˆÕ?@£í?@æ?sÕ?[Ð?‹Ü?}Æ?À£?¸•? p?×?Àç?Àùç?@‡é?ð?€ ï?ï?€åî?@Qï?ÀÀï?ð?ð?ð?@-ï?ð?ð?ð?ð?ð?ð?ð?×ï?@Ÿï?Àhí?@îï?€Òï?ð?€ë?Àµå?@·ê?ð?ð?ôï?€ï?ð?ð?€Ìï?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À!î?À`ê?€ã?@Þ? ê?%î?@òî?@øï?€î?Ûá?¼±?®?p?|Ê?@Úî?€çï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€€ê?Àaë?Üà?€eâ?4?Њ?±?Ÿê?À‰î?€#ï?ÀÜé?@+ï?ð?ð?ð?ð?öï?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@qï?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?@9ï?¸Ç?Ô«?ìÐ?4ä?€úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{ß?l¡?)Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?@åï?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?@Žî?ï?€üî?@óï?‘é?€Áí?€Ší?@õë?ÀHï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?·ê?ÀXë?@ ì?€²ë?€ë?@Óï?ð?aî?ï?Þï?€!î?£í?Àœê?‡ï?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâì?€Éî?ð?ð?ð?ð?ð?€óï?€„î?@eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ã?€?äÅ?Iê?D®?&µ?€Ô?ê?ˆÈ?¦?@éí?ð?ð?ð?@òï?êï?ð?Àwï?Àí?@¯î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øë?ÀÀí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñé?€¶ï?ð?ð?ð?ð?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?À–ï?ð?ð?ð?@Åï?@¯ï?Àòë?@òí?cê?Àíï?ð?ð?ð?@æï?öï?Àöï?@ñï?@ï?@Üï?Àªï?ð?ð?ð?ð?¼ï?À[ï?“ï?õï?€Óï?ãí?@½í?@vï?ð?€úï?€ôï?€)ê?À±í?@»ë?±ë?€6í?À‹î?Àí?@6ï?@Üï?À“ï?À›ï?ï?€§ï?àï?@íï?ð?ð?ð?ð?Àþï?@ì?nï?²î?€í?¥å?`¿?‰Ó?á?èë?»å?uç?Àûê?Mç?‡Í?”Ý?YÎ?X£?f?Œ?Œ¬?Œ¿?»Ñ?€Ü?¶Þ?‰ì?@8î?€õï?À®î?ï?Cï?À‰ï?À±î?@î?€Þí?Àrï?@Üï?€#ï?€ùê?À(í?À<ì?uì?uï?mï?@›ï?-ï?@Vì?@î?™ï?@vï?ÀÓï?Àî?À¸ï?À'ï?cì?€më?ÀÈï?ôï?@èì?ð?ð?@Æî?ð?À´ï?àï?ð?ð?@ÿï?@vê?ì?€ï?€‰ï?ð?ð?ð?ð?ð?@áï?€½í?ð?@èï?ð?ð?ëï?ïï?ð?ð?Àî?8ë?€uï?ð?ð?€¬ï?ð?€™ì?ÀŽï?€ôï?Íî?@Gï?@xî?Àfï?€;ï?À]ï?Àñï?€½ï?Àýä?‘ì?ëï?ð?ð?@Üï?ëï?¼ï?ïï?ð?€ùë?cÙ?l¡?È?Àìí?Àê?t¡?–?€•ë?€Ïî?€ˆë?€á?€4Ú?Àé?áï?ï?€—à?P’?xÊ?+Â?À6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?@cï?ð?@ï?ð?Àýï?üï?ÀRî?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?€üï?jì?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?À°ê?@”ä?ƒí?@fì?@fé?Àßì?ð?ð?¶ï?Àæï?€þï?Ðï?@©ì?@fî?ð?ð?ð?ð?À”í?@Êí?Áï?ð?ð?@î?€†ï?ð?€ùï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ï?€ùï?Àðï?ð?ð?ð?ð?ð?ð?€³î?€Àí?€ßï?Àøï?Àûï?ð?€åï?Àíí?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?À†ï?ÀŠï?ð?ÀSï?ð?ð?€Ûï?ð?Îï?€Öï?ÀÐé?@kå?’µ?x¬?Ô?}ì?ð?€¿í?çé?Ø?„º?¾?YÁ?uä?€â?!ì?ð?ï?Àíì?€«ï?À¯ï?Àþï?ð?ï?ÀÀï?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?@øï?À`ï?ð?ð?ð?ð?ÀÇï?@4ï?ð?€Eï?Ãï?@Øï?ð?@Bï?Àöï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iî?À©ä?€ßå?@Èâ?À®í?@xì?@Éê?Nê?€_Ø?€ÜÔ?€|? Ÿ? ?€i?KÀ?@ˆî?@úï?Àýï?ð?ð?ÀÌï?¦í?ð?ð?ð?ð?ð?ð?ð?ð?À£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?€pØ?h•?è›?Àáà?Û?l©?@Œí?ð?Àï?€[ë?€·ï?ð?ð?ð?Àlï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ší?ÀÌê?°•?ÀWà?€Åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?Þï?ð?ð?Àlï?@ðí?ð?ð?ð?ð?ð?ð?ð?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€å?¨³?=Á?€Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ï?Àíã?6è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?@Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶ï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?òï?ð?ð?@Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?@ãï?ð?€­î?Àšî?@Bï?¾ì?{ê?@àï?@é?€Äï?Ôï?zï?@&î?ð?ð?ð?ð?ð?ð?Àðï?ð?Àáï?€ë?@ÿî?€šï?åì?Àë?ÀLî?@¨ë?€ˆé?Àí?€Žë?À{é?€Xê?Àè?@óí?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿í?À/ì?@Ñï?ð?ð?ð?Êï?@xï?aî?Àï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?dë?à¢?T?½?`u?÷Ï?~ì?€ÞØ?œÅ?@ëï?ð?ð?ð?ð?ð?ð?€ßï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@}ë?@­ç?ÀUì?@ì?Àƒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vî?è?ð?ð?ð?ð?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ð?ð?ð?€ôï?ð?ð?ÀÕï?ð?@—ï?@ýì?@7î?€»î?€ýï?ð?ð?ÀÀï?ð?ð?ð?€ï?Àëï?€«ï?ð?Àøï?@Üï?€ºî?@5ï?„ï?˜ï?Hï?]ê?©è?À¶ï?ð?÷ï?@ýï?ð?,î?@’ê?À¿ë?€‹ì?Àïî?lì?dï?ÀÀï?ëï?ûï?À¸ï?Øï?@üï?€ûï?ð?Àöï?€­ê?3ì?rç?€ë?n¾?ú¹?<¨?H–?€q? ?O?€Ø?üÃ?P—? ?¤?hŸ?Ö½?3Ì?€§Þ? Þ?€.è?>Ú?€‰Þ?€®è?uÜ?Àžê?Ì?¾½?(¢?¶¼?qÈ?}Ñ?€í?Àóï?À«ï?€Áî?@Øï?íï?ï?€pï?À9ì?î?Ðí?À÷ê?@Uì?Àií?@ìî?€$ï?­ï?Rî?Çè?Àwì?öë?ëï?Àúï?@ýï?Öï?€vî?@wí?Ôí?ð?€Öì?ÀÓï?€Hï?@Óï?ð?ð?ð?ð?ð?€]ì?@Àì?ð?ð?€Îï?À|ï?ð?ð?ð?ð?@eî?Àrê?Àï?ð?ð?ð?À«ï?€Îî?Àbì?'ë?€yí?@äæ?wî?€öï?@×ï?ð?€äï?€Kï?ð?@îî?Àãî?ÀÎî?pî?€Æë?@ï?@3í?@Aç?€Ù?/á?î?ð?ð?ð?ð?ð?€™í?@¾ê?€¨ë?ð?€Êí?›Ó?Ô?’?J?¦?H¥?[À?€m? {?Àë?³ï?@›à?äÀ?€H×?ÀIë?€uï?€‰ä?kÅ?@e?ÄÑ?€*Ö?@~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€/í?ð?éï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?Àï?€Œì?À¦í?Wï?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?§í?€—ê?Àßî?»ï?þî?@î?ð?ð?@ºè?4î?€Ùï?À<í?@4ã?…ï?ð?ð?ð?ð?ð?ð?Rî?€ïï?ð?hï?è?pÚ?@~ä?€Þ?@sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ï?À¸ï?@Óî?ð?ð?ð?ð?À‘ï?@ùï?ð?À÷ï?@šî?@Åî?@!î?€Zï?@üï?À‚ï?îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏï?Pï?ð?€Óî?À“ï?@Áï?ÀÏî?ð?€¬è?€æ?¨Ã?†·?àÞ?Àƒë?ð?ð?ð?ð?@ûï?@è?€eÖ?(¿?D?¸ ?@¸á?À3ì?À¯ä?Àsï?Ýï?@Bï?Àï?Ýï?@+ï?ÀÀï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Šï?Èî?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<í?€áè?ÀÚå?Àì?€¥å?Àå?ÀKà?€aÒ?ÂÊ?KÛ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀWì?p“?î¼?@q?@™?²À?ø°?öÚ?ð?ð?ð?@Bï?@@ï?@pï?À¼ï?€rï?7í?@î?€2ï?ð?ð?€¬î?Àûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüí?€Ñ?€ÉØ?@#ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?À‡î?*ï?ð?ð?@Ñï?êí?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ëì?€µë?ð?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùì?•á?@Ûè?€—ï?ð?ð?ð?ð?ð?€aî?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?@¼í?ð?ð?ð?ð?ð?ð?ð?ð?ð?À}ï?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?@Äï?àï?À´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?€Ýï?ð?ð?€lï?ð?ï?@gï?‚è?€æä?@ï?¤ï?ð?ð?ð?ð?ð?ð?ð?Âî?€ßì?Ùë?òè?Àîí?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?@Îï?ð?À«ï?ð?ð?ð?ð?ð?€Uì?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?@Uî?À|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ží?ÇÐ?"×?@‰ê?R¿?¦¼?ï?ð?ð?ð?ð?ð?Ýï?ð?ð?ð?€èï?ðí?À ì?Àï?Àéï?€íï?@ªî?@ðê?€Rî?@¿ë?€çë?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xï? ï?ð?ð?ð?ð?ð?ð?ð?ð?Tì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?ð?ð?ð?¾ï?À†ï?ð?ð?ÀÖì?î?ð?ð?Àãï?Àïï?@Óï?@Üë?€ºï?úï??ï?øï?ð?Lï?Ìï?ð?ð?ð?ð?ï?@ÿï?vï?@Ãï?€¯ï?€˜ï?€„î?Àˆï?Àï?@¤ï?ð?ð?Àðï?ÀŒï?€®ï?©ï?À‹ï?òì?Àlí?€^ï?€ï?î?˜ï?ð?ð?ð?ð?€Ýï?ð?ð?ð?@ºí?$á?ˆÐ?‰Ý?€4Ð?š¸?¼?€d?h‘?HØ?€rØ?€³Ð?€„?yÂ?€†Ó?Þ?Àåè?À¾è?€óã?€²å?€èÔ?@bà?ð?@üï?Aì?À·ï?À&ï?€#í?@í?Àªï?@ôî?_ë?Àžè?ôæ?À»ì?Rï?@óï?€ºï?ð?Àfï?@ê?@&ï?ëï?ð?€ìï?Fï?€½ï?ð?€øï?€ ï?ð?€®ï?½î?ð?ð?ð?ð?‘ï?€¼í?@~ë?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?@jë?€Ìí?À¦ï?ëï?ð?ð?ð?À©ï?@ì?@Kã?€/î?@ï?@Þí?Àeè?@_ë?€Ñï?@€ï?@Tï?€±ï?€Åå?€³í?€øî?€ë?@wì?ð?Àïé?€§î?@Ïì?@ä?Àâï?ð?ð?ð?ð?ð?À&æ?ÐÍ?'è?ð?ð?ð?@qî?Pâ?€åÜ?@‚å?€Û?Ü«?¨“?5Ù?@ì?€–?ˆ˜?¿å?€¨î?±Ø?€õÓ?âê?€ßï?@'å?’¹?Àu?@Òè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?ð?ð?€‡ï?ð?ð?ð?€²î?€vî?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Gí?@ìï?ð?ð?€öï?€§ï?ð?€Jî?ÀÍï?ð?€±á?>ç?ð?ð?ð?ð?ð?ð?ð?ð?@¸ì?À>ï?@â?’É?S?°•?€¸ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?€Üï?¤ï?€úï?ð?ð?ð?ð?ð?@^ï?Úî?€wî?€:î?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qï?À±ï?ð?€Gé?@íï?À^î?@îè?@fï?Àùã?ÂÃ?Ài?ûÊ?€1í?ð?ð?ð?ð?ð?ð?ð?@æï?Àï?€&ë?ûÂ?€4Õ?³í?ð?ð?ð?Àãï?\ï?…î?@&ï?ð?ð?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íí?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ï?Àãì?@Pê?Àvì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àrï?ÀÀì?€TÚ?€ÿÙ?jÇ?j?åÁ?Ü»?0«?€xÞ?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µå?–?¸?ã×?Ä¢?Ñ?ð?ð?ð?@œï?@ëï?@<ï?€Wï?ð?ð?€«ï?€Úï?Çí?€Eî?µï?Öï?@ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©ì?¸?z½?€pá?@3ì?ð?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?Àýï?ð?ð?ð?ð?€Úï?ôï?@’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïê?ð?ð?ð?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?€yï?ð?ð?ð?ð?ð?ð?ð?@îï?ÿï?ð?@-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ÃÓ?€¨ã?ð?ð?@öï?¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?@žï?Òí?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åï?À«ï?ð?ð?ð?ð?ð?ð?ð?À–ï?ð?À0í?@í?€cé?€ûî?ð?@öï?@öï?ð?ð?ð?€‹ï?@Hè?5í?À¦î?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qï?€1ï?ð?ð?ð?ð?ð?ð?ð?@Fè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ì?'Â?€ˆ?ô ?€Lá?€¿?ʰ?î?ð?ð?ð?ð?ð?Àãï?€Øî?@î?@³î?@íï?À5î?€ï?@ï?ï?@ï?fï?@‘ï?Àäî?ð?ð?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?oí?@®è?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ð?ð?Ëï?€>î?@`ï?@äï?@mî?€öï?@âï?ð?@úï?ÀÈï?@ï?í?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀOï?ð?€Dï?ð?ð?ð?ð?ð?ýï?À5ï?@Sï?Àòï?ð?ð?ð?€öï?ÀÄï?üï?€þï?Àï?À`î?@†ï?@ðî?Âï?ÀJï?žï?ð?ð?ð?ð?ð?ð?¿ï?€Ó?€“?¨£?_Ä?€nÑ?2¼?‘ß?€)ï?ÀLí?@$é?Àå?–º?¢?@`?è²?À^à?€»é?€eä?ü«?`}?Ô³?ÀEç?@Öï?@vï?€µï?Âí?€¾í?Ëî?ÀJï?€ÿî?ÀTì?ÀÆí?®í?@Èî?@Òì?ÀÃì?@Gë?@xê?àí?@ÿî?À[ï?Àùî?ð?À–ï?ð?ð?À–ï?òï?ì?€äì?€Ñî?ì?Àqî?wï?ð?À#ï?€î?€Ué?@~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?Àtï?€¨ï?Ðî?ð?Àî?¤ë?€î?)ë?€ÒÞ?@¤ê?@î?€àï?€×è?@Cí?@uî?@ï?qï?@Zî?xê?ÀGç?€`ë?@Íî?€é?@¸ï?Àî?ð?€áï?4é?@Eí?ð?ð?ð?@õî?nÞ?%Í?À?ç?@bï?Ûï?ð?ð?ð?ð?ð?ð?À„ë?@Œè?ÀCç?@Éï?î?Àzå?€úæ?yè?ÀAä?Àäå?”Ö?À¨á?€‡Ð?Œ? ?®Ç?@Bé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?ï?Êì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qï?ð?ð?ð?€lï?@ìï?ð?ð?ð?ð?ð?@-ï?@ïï?€Ñï?ð?ð?@Bï?ï?ð?ð?ÀØî? í?ð?ð?@î?­ï?ð?ð?ð?ð?€ä?@¢è?ð?ºï?ð?ð?ð?ð?€Œï?@Là?’Á?–Á?X?Dµ?€ë?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ï?Àûï?ð?ð?ð?ð?ð?ð?ð?ýï?@ìï?€âé?@Àï?ð?ð?ð?€ëï?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?@|ï?€»ï?@Gæ?€„ê?ÀÎé?ÀÂã?€ßï?å?À¯è?ê?€=å?<Â?¤§?€cå?€ ï?À+ï?@Wì?ð?ð?ð?ð?ð?ð?ð?ð?€äî??È?Ì ?И?¸?Í??Ü?Î?ü¢?ÊÅ?€‚?€Ù?ÀOì?ð?ð?ð?ð?@¾ï?€ï?À¥ï?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?ÀÍí?Câ?¯ï?ð?ð?ð?@vï?ð?ð?ð?ð?ð?ð?€æï?ð?@Îï?Àî?úÄ?ζ?ÐÂ?e?­?éÁ? ­?&±?šÅ?€Ýß?ÀÛä?€èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?€óÔ?Xµ?`p?â?À+ì?ð?ªï?þê?@¸î?ð?ð?ð?ð?ð?ð?ð?ð?@ï?bí?@¨ï?ÀÂï?€Mí?ð?ð?ð?ð?ð?ð?@õì?À†í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ï?@¥ï?ð?ð?ð?ð?ð?ð?€øï?€«ì?PÊ?€?•æ?Êï?™ï?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?èï?ð?ð?ð?ð?ð?ð?ð?€7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?€¾ì?ÀCé?€¬ï?ð?ð?€Èí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@jî?îï?Àðï?ÀÀï?ýï?ÀÃï?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï??ï?À5ï?Àî?@Ìé?€Øë?@äé?_é?üì?€ ë?Àmì?À é?€³î?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bï?ð?ð?ð?ð?ð?¾ï?@vï?ð?ð?ð?@õï?€[í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Uï?€ÝÒ?l¤?«?²°?ÇÜ?æ½?( ?P—? ?hâ?@šé?ø?h·?»ì?ð?ð?ð?ð?ð?ð?@ïï?€Ûï?Ûï?Àžï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿî?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?Aë?À$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?Àœë?÷ï?ð?À‡î?€Yï?ñï?€Wï?Ÿï?ÀÀï?€lï?ð?€–ï?ð?ð?€üï?9ï?@àï?Àßï?Àºî?€«ê?@»ï?€Þï?@óï?@¥ï?ð?Àªï?ï?ð?ð?ð?ð?ð?ð?À–ï?ð?ð?ð?ð?ð?€˜ï?@…î?ð?€}î?@õî?€Tî?@Îï?ð?ð?ð?ð?ð?ÀÙï?fç?à{?H?•?H?0–?X?Àmá?@®î?@Ãç?€3ê?ê?Ýç?Û?`¥?C?˜?lÏ?B?MÆ?Àjî?€öî?/ï?@¤ï?@Îî?Àxï?Rï?€³ï?€±í?€vî?À¶ì?À|ï?À7ì?€Nê?@zï?¤ï?€—í?€¤ï?ð?@î?ÀQè?€ë?ÀCë?€3î?¹î?pí?€Åî?¶ï?ð?ð?ôï?€Öê?@™è?ùä?@8ê?À è?^ï?Àßï?ð?ð?ð?ð?Àíî?ð?ð?ð?Àþï?øï?òï?€ªë?€ÿï?€êï?Àñî?ð?ÀÔî?@Ñê?@Mí?€mï?Šï?ÀÚë?@í?@Ðï?ÀÉï?€ûï?€Rï?©ê?@Îï?@ï?@ûï?€öî?€úï?Àâî?@óï?@†í?Àæ?ÀQì?ð?€óí?VÝ?³?lÌ?À¦ë?@-î?À7ï?@î?Àï?€˜î?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Îë?¥É?ܽ?`s?€Ú?—×?)ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\í?€>î?ð?Àzî?€˜ï?ð?ð?ð?ð?ð?ð?ð?€.ï?€qï?ð?ð?ð?Tè?À?`y?€Åë?ð?ð?À]ì?UÝ?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?€tí?À°ï?ÀNï?À{ï?@ï?ÀRï?î?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àî?@×ï?ð?Àòï?@Àç?@=è?å?Xß?@nê?€Âç?@í?ÀÎê?4ì?ê×?±?˜Ù?©Ë?€äÚ?@ï?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?€åâ?„Î?SÈ?@ â?@åë?€ƒí?Éï?@á?æ¶?€hÞ?€Óà?´Ï?€ìØ?Dè?€^ï?ð?ð?ð?ð?€àï?€>ï?ð?€ªï?ð?@íï?@Rï?€ìï?ð?ð?ð?ð?ð?ð?À²í?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-ï?ð?@1î?@¹î?€Žï?ð?ð?ð?ð?ð?@Åï?ð?ð?€Õâ?„µ?€bâ?@1ê?À^ï?À¨í?4î?ð?@‘ì?@”ì?@2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0é?h™?ÂÄ?€“ß?I?¶?¾Ñ?Àåï?ÀŽï?Bî?@]í?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[í?@Ÿí?€î?À§ï?î?ÀÎï?€Pï?€2í?qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âã?À£?€Ö?·ë?ð?ð?À«ï?€ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@0î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?€úï?ð?ð?ð?ð?ð?ð?Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?ð?ð?€ï?ð?ð?ˆï?À÷ï?ÀÀî?ð?€øí?Eì?ãî?Àÿå?€tí?Àjí?@Xî?@_î?€xì?«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?€æ?€»Õ?2Ï?@Eá?€}î?ð?ð?@î?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñí?'Õ?*·?ÝÀ?Ð?€8ç?·ï?ê?L¶?ñÕ?€äÔ?t£?ZÜ?@’ã?1×?FÁ?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?@ê?€Tì?ð?ÀÝî?ð?ð?ð?ð?@øï?Ýï?ð?ð?ð?ð?ð?#ï?—ì?ð?ð?|ï?=í?À«ï?%ï?€ãï?ð?ð?@ýï?@5î?ÀKî?€Ñî?î?Àêï?À‹ï?Šî?ð?@qï?ð?ÀÕï?Êî?€êî?ð?@ñï?ð?ð?ð?ð?ëï?@Õî?€ï?ÀÜï?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?@÷ï?Aï?ð?ëï?ÀÏï?@\ï?€,ï?Àýï?éî?¯Ì??Æ?À«?`?8‘?€å×?4å?@jí?oï?ð?ð?ð?ð?@Jë?LÛ?àš?Q? q?`x?€£Õ?6ä?@†ï?Zï?@ìî?@ïì?@zë?€jî?ë?ð?€vï?À ï?À*ï?À¹ì?Àëî?ð?@íï?@Fï?Oî?ÀÎî?ï?ð?øï?@øê?ð?ð? ï?À¤ï?ð?€ªï?ð?ÀÄï?Àòê?‰á?€„ë?€ãî? ï?¼ï?ð?ð?Àjï?€øï?Àï?¦î?ð?ð?ð?ð?ð?@Õï?@€ï?€–ï?6ï?Àœï?€Æî?@ªï?@‰ï?@âì?Üï?À.ì?@“î?@Òë?€ í?@%î?×ä?Yí?@î?€,ï?úï?ð?À®î?0í?@Fî?@kæ?€ä?€ì?@^è?»Ã?€QÐ?Ó?@µ?ŽÌ?,±?Ì?¢Ø?@5á?ÀSî?ð?ð?ð?ð?ð?ð?ð?ð?Àmï?Àå?€‘à?€uÔ?Àá?eï?ÀEá?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@î?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?mï?ð?ýï?ð?ð?@ñï?Àuî?@áî?@ïí?À6î?Àöï?Àþí?…ë?@­ï?\ï?@Pï?À î?ð?ð?ð?ï?À÷ï?ð?mï?ð?ð?ð?_ï?€>Ø?Àòä?Àôï?ð?rã?ê´?ÀBá?€&ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿ï?ð?ýï?ð?ð?@Dî?Àæí?€Jì?@Rì?@î?@±ë?ÿî?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€^ì?Àóï?ð?@¿î?À<ç?@ î?Àµï?@!í?Àë?@Åë?€zç?@vè?¢ê?X®?ˆ”?ñÞ?OÕ?@¼ç?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?@þí?À1ï?ð?ð?Óì?6µ?zÞ?-å?€cà?„ê?,í?€¦î?Àøï?ð?À¶ï?€Šï?ýï?ð?À«ï?ð?«ï?@Åé?@ðï?À¼ï?ð?ð?ð?ð?ð?ð?ð?}ï?@Èï?@~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?@ýï?€ÿï?ð?ð?ð?ð?ð?€ªì?(Ì?µ?€Nà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÚ?p…?€=Ò?€eÕ?ôÐ?@²ï?ð?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?€ƒî?€Hï?ÀÕï?À´ï?ð?ð?Þï?@gï?ð?ð?ð?ð?üî?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?@nã?ÆÅ?€gí?@ÿï?ÀËî?$ï?}ï?€—î?³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?@õï?€ìï?€þï?ð?€—í?Àòî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ï?ð?ð?ð?ð?ð?ð?ÀÆï?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?Àkï?@£ï?Àî?Ïî?ð?Àúï?ð?À–î?€Óï?ßí?€¦î?@+í?€åî?@iï?€ÿå?Àßæ?Šï?Àiê?Àšï?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨î?£?x¤?€Öé?ð?ð?@Áï?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kî?DÃ?$?O?}Ñ?$Ú?ö¶?ìî?ð?ýï?Àéä?(›?H?®±?·å?ÀSî?iâ?/Å?€s?÷Å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@ýï?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?@î?ð?Àíï?À½ï?ð?ð?ð?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€Ÿë?ð?À»ï?ð?ð?ð?ð?€ôï?Íï?ð?ð?ð?ð?ð?ÀÀï?@Ÿï?ÿï?ÿï?ð?ð?€Bï?€Ýî?€«ï?ð?êï?€Áï?áï?Sí?›í?ð?ð?€áî?@¾ï?Ìî?Òî?ëï?ð?@dï?Àdï?ð?À–ï?ð?ð?ð?ð?ð?ÀÝï?@xï?ïï?Àðï?€Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?”ï?@Fï?ÿï?@Íà?p•?€Ù?É?n°?QÃ?¨Ä?Dï?@jí?Àâï?ð?ð?ð?ýï?ð?ð?^í?€Ð?€‹?€ß?å?š?8¤?Oà?À!í?@Åá?€xê?†î?@Zê?Àí?¹ì?€ìë?mí?@Pî?@Mï?€úï?Ñï?Àûï?ð?€‘ì?À ï?@§ï?@õî?Àóï?Àÿï?+ï?ð?ð?ð?@ùï?ð?×ï?@÷ë?@jà?@Sè?€Oî?ð?ð?@iî?ìï?ð?ð?€|î?_ï?À…ì?Àäí?ð?ð?ÿï?€ ï?Àï?ûï?@Íï?€Wê?@gç?@Œî?@dï?€¨ï?€zï?½î?€ëï?@)ï?ï?@µí?€Ïî?@tì?jã?Âå?¢æ?@áî?€é?@ç?€Æê?Ÿî?À"ì? â?TÁ?ÏÇ?ˆ?? «?€ùÙ?@mç?ªÅ?ÚÞ?€aí?Àãï?ð?ð?ð?ð?@˜ï?ÀQï?íï?ð?ýï?€ï?Àå?‹ß?hµ?·?€†Ø?@°ï?€Þä?€-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?€]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?Áî?ð?ð?ð?ð?ð?ð?ð?ï?@µï?ð?ð?ð?ð?ÿï?À·ê?€jê?€8ì?¶ï?€í?@í?@ïì?ÀIì?€àì?€yí?Àï?Àvì?@8ì?Àrí?€‹î?ð?ÀÊï?@Mï?€^ï?Uç?5À?€²Ñ?€ ï?€…í?¥Î?€uÕ?ýæ?ØÓ?€˜î?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—ï?sï?iï?ð?ð?ð?ßï?@›ï?ð?ð?Àóï?ÀÄë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[ì?è?@Îí?ð?ð?€ï?é?ÀÀê?òé?@Óå?@|?0?€”à?ð?ð?ð?ð?ÀÀï?ð?ð?ð?€Èé? ¢?QÈ?Àå?@á?€ZÝ?°?0?@“?¨ª?@Mã?ð?ð?ð?ð?ð?ìï?Äï?ì?€ˆî?é?Ý?@ê?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?€^é?ÀÀí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?@øï?ð?ð?ð?ð?ð?@¼á? ˆ?ô£?¥Õ?0†?,Ï?@¢é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£î?<·?€?€Ù?€ƒÝ?ô¢?Là?@ ê?Àcè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ï?À@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jí?ÌÛ?@£ì?Êï?ð?Øï?ð?€Êï?³í?€{î?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îî?À$î?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?èï?Àæ?€eã?€Eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ï?ð?ð?ð?@Òí?€`î?ð?Äï?°ï?ð?Äï?@Fí?@•í?@‹ï?@bï?Àìï?ð?›ï?ƒé?(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?Ï?O?@!æ?ð?ð?€€ï?€¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?€+Ú?Ài?P?`?€ å?ð?ð?@ïï?Àgä?€{?\Á?Àîä?Àï?€ß?1Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oê?@qí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†î?íï?@çï?êï?ð?ð?ð?@äî?Àâï?÷ï?ð?ð?@qî?€6î?À·ï?¼í?@-ï?@Xï?Ìï?€–ï?À«ï?ð?€Iï?À‡î?˜ï?ð?ð?ð?ð?ð?ð?€³ï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Fï?Å?0Ç?@€æ?X›? ¡?=Ä?L­?€ìà?h¿?¿ì?ð?ð?ð?ð?ð?Äï?Àbî?@Åï?@oí?€‘Ó?¡?À{é?ØÈ?\Ë?@!í?@»ì?À1ã?À÷î?@lï?ð?@Rì?Àèî?€1î?@Òí?uî?€oï?áï?@Óì?@àï?Iï?À«ï?@Üï?ð?¯í?€õï?ï?ð?ð?ð?€‚ï?€Ÿé?†ë?@žâ?Àcï?ð?ð?ð?ð?ñì?€ç?Àøï?ð?ð?@–ï?-ê?ð?€çï?@vï?ôî?#î?@Üì?Çí?@2ï?@øï?ð?Úï?€Íî?kï?Àéï?€2ï?Äï?@?ï?€í?Xï?ÀQï?Àåé?@òì?@Úí?€Kí?@£é?À8é?âµ?ÍÓ?ÝÁ?æµ?‹?ÁÖ?€‡í?€èï?@Pï?ì?€hè?ñï?@ôï?@îï?ð?ð?ð?@œï?@ï?hï?À“ï?Àå?’Ì?ð‡?ÀÇá?ð?Àjî?©è?¡ï?ð?–ï?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?€Øî?ð?€mï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*ï?ëï?ð?ð?ð?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?€äï?ð?€Pï?@Ûï?ð?ð?ð?ð?ð?ð?À¼ï?@Õì?Àïë?ÀLï?ð?ð?@ï?@9ï?Œî?€ ï?€Âî?€éè?×?$ã?€;Ü?¸¦?UÜ?ˆ«?êÂ?@eë?€`ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À¡ï?@tï?Àjî?€bï?Mî?ð?@÷ï?1í?€cí?@Êï?ð?ð?@Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ë?€eë?À£î?ð?@Úï?@·è?BÈ?Mé?@rí?€ ä?(?€ Ý?ð?ð?ÀÀï?ð?ð?úï?tî?€¼æ?̸?(Ë?€óï?ð?ð?ð?ð?ð?ð?@“ì?šî?Èã?@çê?Àöï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ï?ð?ð?ð?ð?€“ï?ÿï?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jî?ÀÐï?ð?@Gï?iÕ?2?hŸ?„»?–Ç? †?ä½?Ù?Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæ?W?x–?þ°?€‡?à?<Ñ?@äê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?@Âî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýê?@wï?ð?ð?ð?ð?·ï?ð?Ìï?Hí?€ î?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡Ù?4¸?€xä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?9ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?@Íì?ð?ÀQï?€Ûï?€Þï?€;î?@äí?@aí?@ãí?ÀAï?ð?ð?ð?jï?@Äê?€³ë?£ê?€Në?€¢ï?ð?€lï?ð?€-ï?€hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ã?ºË?×î?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòâ?^?{Õ?ð?ð?ð?@µï?€²Ð?éÁ?Àé?©Ö?ÞÂ?z?€`Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒî?À0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lï?@\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐî?€mî?€úé?ð?÷ï?@õï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?ÀÃî?@Jì?€îï?Àƒï?Àï?ð?ð?ð?ð?Àóï?ð?@ïï?€‘ï?@ï?Àóï?@ï?€Áï?ð?@Yï?ì?€©í?ÀÕï?ð?ð?À„î?ð?ð?ð?ð?ð?ð?€ˆí?@Ñï?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?@Žï?À«ï?ð?Àãî?ÖÆ?f±?@å?€åÑ?€ Ö?@±è?Aà?€ðÙ?Jê?ð?ð?À«ï?ð?Àï?ð?Àhí?Öï?€Öí?æÈ?ÖÌ?@ë?òÐ?€e?€«?à§?€÷×?Úë?ÀÀì?ëí?€ï?@Åï?_î?Àfï?ð?€î?À+ï?À±ï?€6î?€fï?€Øì?Ààî?@©í?€ï?ð?€ï?Àî?€&ï?@ï?ð?€í?@‹ç?€ì?@ï?ð?ð?ð?ð?ð?ð?€ää?@‰æ?ð?ð?ð?ð?Àî?ï?’ï?@éï?ð?ð?€Âí?À‚ã?@žë?@õï?ï?@‘ï?€¶î?Àeï?Îì?Ùì?€óî?ÀGï?…ë?Àåï?€Ûï?€Ñí?€Dí?Hï?-î?ÀÉì?€cæ?KÂ?ì¼?Àëå?€Òï?@ïï?Nî?€í?€Öï?€hï?€|ï?À&ï?€Rí?ð?ð?Ží?Âí?ÀÖë?là?ÃÇ?hš?€\?/è?ð?ð?€ýí?À×ì?Àî?Àºï?@µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?Âí?ÀÂï?ð?ð?ð?ð?ð?€éï?€ìï?ð?ð?@óï?ð?ð?ð?ð?ð?@îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èî?@Gî?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍî?,Ê?€š?<¦?ú°?N?€eÚ?˜?¿Ð?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?€âî?À†ï?âë?À…ï?€ï?@3ì?@%î?.î?@ºí?ê?@ ê?€Aë?@î?€ãï?ð?@Ëï?Àî?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;ï?@ÿï?À«ï?ð?ð?ð?ð?€lï?€£ï?Hè?ÀHì?ð?ð?ð?€Óæ?Á?›Å?Vµ?xš?@?.è?ð?ð?ð?€ï?ÀWà?l¿?ˆ¨?z¶?@‡?@Eç?À°ï?€ýì?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?@Eî?ð?ð?€åî?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?þï?€¤é?€{Ð?è¦??€‡?¸—?œ?Ђ?p±?€þÖ?À²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eæ?Q?@r?è˜?FÊ?@Õì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€gî?Àî?@Þï?ð?Àÿï?À;î?ÀÚí?-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?@Õì?ï?ð?ð?ð?ð?ð?ð?^ï?€;ï?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Cï?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? î?À¹î?ð?ð?ð?ð?ð?ð?ð?@úî?æã?æ?ð?ð?ð?ð?ð?ð?Àîï?Rï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?€Gî?@=í?ð?@Ìï?€¢î?€êï?À6ï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?Àï?À”ï?€ï?4ï?¬ï?ð?ð?ð?ð?ð?€†ï?À†ï?Àñï?€¹ï?ì?€¥ê?À¬ï?ð?€êï?@ï?ð?ð?ûï?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?OÔ?X?@‹ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€¿å?N²?î¸?ð?ð?ð?ð?@¦ë?"´?¹?Æç?€˜Ú?ø? å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?7ï?üï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?Àûï?ð?ð?ð?ð?ð?ð?€§î?€Ëë?ð?ð?ÀÀï?ð?ÀPï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?@åï?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€/ë?@Ûæ?òà?@ÿì?ð?€òï?@ôï?ð?ð?ð?ð?ð?€ï?ÀÀï?ð?ð?ð?@Ýï?€ðï?Àþï?ÀJï?ð?€íï?èï?ð?ð?ð?ð?€ñï?€üï?Àûï?ð?Àîï?€Çï?ºï?Àßï?ð?€Õï?æï?@Eï?À«ï?€|ï?Àwí?Àøï?ð?ð?ð?ð?ð?À´ï?Àcï?À‹ï?ÀËï?ð?ð?ð?ð?ð?Ÿë?€¡í?ð?ð?ð?ð?ð?ì?ð?@ÿï?@à?7Ä?@Aí?ˆæ?Pƒ?h³?@Ùé?ï?€nç?€—è?ï?ÀÕï?ð?ð?ð?@Õï?ð?ð?Îï?«ë?ÀFå?ðˆ?/è?À»æ?’½?„¥?°?À|à?Oâ?@¤é?@ï?€Sí?ï?1î?ÀJï?|ï?âí?@ï?@ëì?€Ùï?ð?€ˆî?À6ï?@áê?€ ï?Äí?@ï?@ê?€Iï?@Øî?€Þï?ÀÐê?@î?€Èï?@ùï?íï?ð?ð?ð?€®î?ð?@Éï?€Ÿß?@îå?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—ï?€Éè?À¶ë?ÀÖï?@‡ï?Ýï?ÀØî?€÷ï?€cï?ï?€¡í?€ëî?@Ÿî?Fï?€-ì?€óî?í?€rî?@ ï?€}ï?ÀGé?ÀLë?SÍ?»È?c?ZÔ?€¼ê?`ï?"ï?€¬ï?À:ï?ÀPï?€©ï?€Xî?ì?€ï?€Rï?Àáì?€ºã?Àæâ?€hØ?а?>?à|?@Îä?ÀÒï?ð?€µí?Àñï?@Õï?@»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{ï?ð?ð?ð?@—ï?À,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aï?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@»ï?ð?ð?ð?ð?ð?ÀÁî?ð?ð?ð?ð?ð?ð?ð?ð?Ðä?ÉÐ?°Ž?!Ô?°–?Òµ?€ßæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9í?@ðï?ð?ð?ðí?€pï?@°ï?ð?€¢î?@î?ð?ð?ùï?Àçì?€šì?@¬î?@Ãì?Àî?ÀYì?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@Þî?Ýï?ð?ð?ð?ð?ï?äî?€µî?Ñî?Óí?€üì?ð?ð?ÀÖï?€ÝÕ?@¥?ßÂ?Úë?ð?ð?ÀÛï?Êß? ›?cÊ?ôÁ?ÀFê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?ð?Àíï?€äï?ð?ð?ð?@»ï?Òê?Ø­?ºÕ? Ý?æÖ?7Ô?k?€Ý?Óê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üì?œ¤?r?»Ö?ìë?À°î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zî?€“ï?€Òï?Àï?Àïï?€Òï?@Âï?ÀÍï?@.ë?Àdî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ï?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¦ï?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?9Ü?´Ä?Àôì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?@î?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?À»ï?@—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?úï?À‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?Øî?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?ð?€lï?@-ï?ð?€×ï?¿ï?ð?ð?ð?ð?€Æï?€Uï?@5ï?Pî?lï?À2í?À ï?À¨ï?ð?ð?ð?ð?ð?ð?ð?Èï?æî?Åì?ð?ð?€îï?ð?ð?ÿï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤í?PÊ?´Ñ?€øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?Z±?0•?@Öï?ð?ð?ð?ð?Àré?(¯?P®?:Ü?ÎÛ?…ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%í?€\ë?Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‰ë?hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?ÀIï?Àþï?ží?ð?¦ï?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?À6æ?@£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?À¯ï?ð?4ï?@uï?@?î?ÀÔê?€0ï?ð?ÀÖï?êï?ð?ð?ð?@[ï?Àéï?ð?ð?ð?ð?ð?€­î?@õï?óï?ð?€~ï?ð?ð?ð?€bî?Àöí?€qí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?À:í?ð?ð?ð?ð?ð?ð?ð?À–ï?ÇÍ?ÀMç?@Ðï?€¥Ñ?§ß?Åî?€Åî?€¿ï?ð?ð?ð?ð?ð?ð?ð?ð?€æï?÷ï?ð? ä?à~?ê?À¥î?Nç?À"æ?À´?н?À~î?ð?€ì?½æ?€cí?€ùë?@í?@ùî?À(î?€ í?€Mí?ð?ð?ð?ð?ð?@Rï?€Dí?@Lí?€4ë?Ùî?ÀÍï?€ é?@xí?ÀTî?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ÀBî?0Ô?@Çë?ð?ð?ð?ð?ð?ð?ð?€lï?ëï?€ï?@zï?ð?[ï?Àï?[ï?€ßï?€«ë?@ï?ð?Ií?@Èï?Oí?€…ë?€Tè?€ç?èê?€–î?@8ë?€âå?ùÐ?&È?j?ðÇ?´¥?€§Û?@ ä?àï?ð?fî?ÀÜï?€àí?ÀÕí?@Ùî?@ðè?—â?@î?€ÿá?ÂË?Ћ? ?€"â?@ãî?ð?ð?@¹î?@¨ï?«ï?Àßï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?úï?ð?ð?ð?ð?ð?@Ùï?ðï?@Àé?®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?2ï?€îí?€ï?]ï?À‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óî?€ãÛ?«?Øš? …?€Û?€Îè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?gî?Kï?ð?€õï?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?€Åî?@)ì?@$í?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?ð?ÀQï?ð?ð?ð?ð?ð?ð?ð?€´í?Àëë?ð?ð?’ï?žÕ?€l?¹?@Yá?€ï?@Lï?€4Þ?Øœ?’±?@&ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?Ôï?ð?ð?ð?Hï?€Éä?…?س?¨›?@-ë?ð?ð?@;ï?€Aá?ÀÍå?@Yè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾å?`q?}ã?€Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?ÀÁí?€†ì?Àqï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]ï?€°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ì?À†å?ÀFï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?€ï?@Bî? î?@®ï?ð?@eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oí?|é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?ð?ð?ð?ð?ð?Àìï?ð?ð?ð?À‹ï?€xï?ð?ð?ð?ð?ð?ð?ð?€Êï?”í?Ví?Àyî?ð?ÀÒî?À»ï?·ï?¶ï?@>ê?@î?ð?ð?ð?ð?ð?Íï?®ì?€mí?€>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ì?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@zí?óÚ?`s?@c?Ã?ð?ð?ð?ð?ð?ð?@Vè?GÀ?HÙ?–¿?0˜?€´×?Î?|?À ç?ð?ð?ð?ÀÇï?Àvï?ð?À‹ï?ð?ð?ð?ð?ð?ð?@jî?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?&í?€.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ð?uí?xÜ?Ië?ð?ð?ð?ð?@'î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@‡ã?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?½ï?ð?À¹ï?@ï?€òï?@Aê? ï?ð?Àáï?µï?ð?ð?ð?€¿ï?€ûï?ð?ð?ð?ð?Àìï?@Òï?Àýï?ð?ð?ð?ð?@Óï?Zï?ð?À÷î?€zç?À’ë?ð?ð?ð?ð?ð?ð?@Öï?€Üï?ð?ð?ð?ÀÓï?î?ð?ð?ð?ð?À«ï?ð?ð?€Òï?Àéë?ð?€ë?@k?Àã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Àï?Oï?áß?€`Ò?Žï?ð?ð?ð?@Óì?Gä?@á?Àôï?Àìï?@Òâ?J°?Zì?@Qí?Öè?©è?µé?€ˆë?Àï?@ í?@dï?–î?Àáï?@-ï?À×í?@Œï?šî?€gî?§í?@å?€Çé?€Óî?@Æï?ð?@õï?ÀEï?ð?ð?ð?@2ï?ð?ÀÐï?ýÍ?À¾í?ð?ð?ð?ð?ð?ð?ÀLï?éï?ð?ð?€öï?ð?àï?ÀŒï?À¥ï?Àí?–æ?î?@¹í?@Wï?@zï?€&è?€­å?À‹é?@öá?€3ß?Àqâ?ı?à®?@“?7Ê?ÀWê?„ï?€Qì?Àlï?€;ï?À‰ï?€mî?±ì?€FÛ?±Ä?ÜÆ?À.à?JÏ?Œ©?_æ?ð?ð?ð?€üï?€¶ï?ð?@ëï?À¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äî?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙì?€ÿï?ð?ð?ð?ð?À ï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ué?²Ä? –?fÈ?Bâ?€Çì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒæ? £?κ?œ®?×Ü?œæ?€oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?Þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?Àäí?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Àíï?ð?@\î?@‹ï?ð?€þï?Àõí?€Ší?±ì?ð?ð?€°â?˜?Àp?ʰ?œ¥?€c?°›?—Ò?_â?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ð?ð?ð?ð?ð?ð?ð?@Åï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèì?öÚ?hÎ?€d?R?@ á?Àë?Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›é?€‚?…?ˆ–?€ ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?€²ë?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?øï?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úí?Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀPï?Àñï?ð?íï?”ï?@Âï?ð?Àsï?ð?ð?@úï?€5ï?ð?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žï?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöî?@qï?ð?ð?ð?ð?ð?ð?ð?À–ï?€î?¼ì?€õï?ð?€åî?ð?ð?€þï?ÀSë?Âë?ð?ð?ð?ð?ð?àï?—ï?@+î?€šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î?^²?>??‚?€Ö?r±?ûÃ?ÀJï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jî?@Åî?ð?ð?Àõì?€ïï?ð?^í?€‰î?ÀÜï?í?Àßè?@Gë?Àì?ÀÓâ?ν?8“?Â?@¼ã?€Xï?¡ï?ð?ð?ð?€Ïï?À6ï?Àî?Nï?•î?ð?ð?ð?À¢í?@…ë?ð?ð?ð?ð?ð?ð?@ÿï?ÀÀï?ð?@ýï?Àï?Àèí?€àê?Àì?@ê?€bî?@Nï?€°í?@Sî?€ˆë?À;é?KÝ?x’? u?€X? v?*Ç?÷í?@ î?€Hï?À®ï?@Ìë?ví?€äí?€²è?¸?@?€Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-ï?@çì?3ï?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?Àïï?Àaî?€Wâ?@€?Ú?8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íí?Àcâ?Ъ?È™?ñÅ?«Ó?@Øä?ÀÚï?éî?ð?ð?Áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈê?@»ï?@Ëí?@Gî?@èì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-î?@Ÿé?€­ï?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ˆï?ð?€â?L§?€æ?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?€ÏÚ?¥Õ?(É?èª?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þ?@9à?=Ð?س? Á?~²?ð‹? Í?À¯ç?À£ï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?Àõì?¾ë?€ í?Áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?À­í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?€ï?@÷ä?Ü?¢ç?€¤í?€°ì?€‘ë?Àì?€Íî?€Ôî?€†î?À„î?öì?€ì?Àeí?@qï?îî?ð?ð?€:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?À{ï?@·ï?ð?ð?ð?ð?ð?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?Îï?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?€†ï?@•é?øï?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?€3ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?À£í?ÀJï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øÇ?P¯?À‹ë?ð?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uë?Rä?€–Ü?@Vá?@Eï?€|Ô?‚?€Ø?›Û?[?˜?³?¤¹?€*î?ð?ð?@ï?ð?šï?@Uï?€î?ð?ð?ð?@÷ï?ð?ð?@\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?Àîî?ð?ð?ð?ð?ð?ð?ð?@’î?Àgê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óí?€Oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ï?€ïí?ð?ð?@õï?Àï?ð?ð?ð?€Ùï?ð?ëï?ð?ëï?ð?ð?Àƒï?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?ÀUè?€Ãî?ð?ð?ð?ð?ð?Àªä?@`î?ð?ð?ð?ôï?€Pî?Àþî?€¾Þ?€{á?@÷ï?ð?Ñã?O?Àbç?ð?ð?ð?ð?ð?ð?¯ï?Àüï?ð?ð?ð?ð?@'ã?4¤?õÓ?€cì?ð?€ç? }?T¿?ð?ð?ð?ð?ð?ð?À‡í?ð?ð?ð?ð?ð?ð?ð?@]î?€_ë?ãæ?Ý?€/Ñ?ÂÆ?@ƒ?¢¼?Ø?Àlç?€·Ô?e?hÅ?€»ì?ð?ð?ð?ð?@ùî?€çí?Âî?@œï?Àóï?ð?€öï?Àpï?@Èï?€'î?@Bï?ð?ð?ð?ð?€–ï?Àëï?ð?ð?€»ï?ÀÑî?@®î?€ûí?ñè?€‘é?ð?Àáî?€è?lä?ÇÝ?nº?‘?|µ?½ë?@Yì?¦î?Àï?€¾ï?oï?~ê?h»?p’?*¶?Ø’?@õä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ï?€¯î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘î?ð?À›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@’í?@á?ÌÖ?D½?³?À\í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pè?4·?àŽ?Ø´?µ?€¥ã?@"é?ûï?ð?bî?@æï?ð?ð?ð?½í?@7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?ï?€î?À·ê?@)ì?€î?@ãì?bë?@Ãë?Fç?Yê?€lì?@Œí?Ñê?(í?À÷ï?ð?€ìí?@Óì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï? Ô?ä¬?´ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oï?@òì?@oï?Cï?ð?ð?ð?ð?ð?ð?@ƒï?À î?ñî?ð?€óï?€©í?íÜ?À1å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*é?Ô?Sç?@î?À\ë?€Œî?€9Þ?á?Àëã?Àçï?õê?ÀŽï?€Øç?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\î?€*ï?ð?ð?€÷ï?@þï?ð?ð?ð?ð?ð?@úï?êï?ð?€~ï?À:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Rì?€-ï?€-ï?ð?ð?ð?€¼î?Àî?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€ôä?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?@Ïí?€~ï?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?Àï?€Ýï?Âï?ð?ð?ð?ð?ð?ð?ð?@Mí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼î?À©ï?@5î?€eì?ð?ð?¬î?€Žï?ð?ð?€ªå?¤ç?úï?îï?ð?ð?ð?ð?ð?ð?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ï?@ðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥ã?£?Œâ?ð?€~ï?ùï?ð?ð?ð?ð?ð?iï?ð?ð?ð?ð?ð?À›î?€¥å?Àî?ð?ð?@Ùä?¸“?(£?°?@p?°‹??€¡í?ð?ð?´é?@©í?ð?ð?ð?ð?ð?ÀÔï?ÿî?€ýï?ð?ð?@Õï?À¸î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šî?@Ìî?ð?Àõï?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸ï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?@°ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?ð?ð?ð?ð?ð?ð?ð?€~ï?áï?@6ï?ð?€üï?€—ï?Óï?ð?ð?ð?@¿ï?éï?€©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€/æ?@ï?ð?ð?ð?ð?ð?ð?@¿ï?iï?ð?À£ï?€‘ï?@ï?€&ï?@þï?ð?ð?ð?À$â? •?Üë?ð?ð?ð?ð?ð?€eï?€õï?ð?ð?ð?ð?Àõï?wî?€SÛ?€-×?À\î?ð?ð?ð?@í?èž?€~Ó?ð?ð?ð?ð?Àïï?€úï?ùï?ùï?ð?ð?ð?”é?jÖ?€[?€äê?@òï?ð?ð?ð?ð?€Èï?éï?@¿ï?€cï?\ï?ð?ð?€>ï?ÀÒì?€Ïï?@Úï?iï?@õï?ð?ð?€-ï?åï?Ìì?À¥î?ßÝ?€>ç?@ví?À£ï?€ ï?òï?‘è?°?Œ?€ŒÔ?sì?ÀÐê?Ä?°™?µ?À{æ?€äì?À˜î?ÀKí?ÅÖ?@”?œ?›?€—?¨™? §?¶?€¯Ô?À‡? r?²Ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oí?;ç?¸?Ä?€³Ý?€ÜÐ?ÀÂé?ñì?ëÝ?À ë?Àäï?€®ï?ð?ð?@Éï?ð?ð?Mî?€ÈÛ?Г?€Ú?éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?~ï?Å?É?@°à?€ýÒ?€ÖÞ?@Êë?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ï?€fë?¨“?ÂÀ?yë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?³í?ÀSî?@`î?î?Jî?À·ï?ð?ð?ð?€ûï?@Bä?@p?\¥?€´í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€ßï?ð?ð?mï?ð?ÀPì?#Â?Àå?ð?ð?ð?,í?ÀJï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ë?ÀÀï?ð?ÀÒï?÷ï?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…ê?xê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àë?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?èê?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ð?ð?ð?ýï?@Oí?€[è?@-ë?Àªë?@Áë?À?í?ÀÒí?ÀJí?Ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?@¿ï?ð?ð?ð?ð?ð?@ê?@îè?Àëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|í?€·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ÀDè?ßÄ?€öÛ?À=ï?äï?@.î?€êï?@¿ï?ð?ð?ð?ð?éï?ð?ð?ð?>ï?€î?oï?@ï?ð?ð?€œï?UÄ?°?PÃ?T¬?Æ?\ï?ð?ð?@‚í?ð?ð?ð?ð?ð?ð?ð?@:ï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ÀÉï?€vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„ë?@Áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Cï?Äï?€sí?ð?Äî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ë?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?€ië?À9í?@ìï?ð?ð?ð?Í?R?@¦å?ð?ð?ð?ð?ð?éï?ð?ð?ð?ð?ð?ÀÉï?ð?ð?ÀÛï?ð?ð?ð?ð?Àäï?‚Â?ØÐ?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?€ðê?Ш?ÕÎ?Àéà?€Ïî?@—ï?Àßï?ð?ð?ð?ð?ð?Òï?ÀÄî?(ï?ð?ð?@xê?€èï?Àïï?€úï?ð?ð?ð?@ãï?@Ùï?ÀGï?ð?@Gî?@ì?@Zè?ªî?@ ï?ð?À}ï?¼Í?Ào?Xµ?€°Û?zË?R?€hâ?€ßï?@Wï?€Ïï?ð?‘î?Àê?@(ì?€zì?Àäë?€?ì?üí?€žî?@×ï?@àé?@Kè?‰Þ?€^Ð?.º?0„?@ž?˜È?EÈ?üÕ?Ø’?€ˆ?H±?@a? …?¦ç?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æî?€—Õ? ¥?„?€£Õ?¦Ç?€;Ý?3á?@áî?ð?ð?ð?öï?ð?@Ãí?ÊÍ?0Ž?P“?€vé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïà?™?VÈ? à?çâ?€'ß?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?€âï?dÖ?Á?õÁ? Å?À~á?@Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?iï?¤î?ÀCï?ð?ð?ð?@òî?À·î?À/æ?H¡?@Zë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?iï?ð?Àøî?ð?€=ì?@¹æ?Àáï?ð?ÀOï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2î?Té?€Oï?ð?ð?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ìë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëê?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?@öï?ð?ð?iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?€Lí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûë?€?é?ÀÒï?ð?ð?ð?ð?ð?ð?ð?@á?@8î?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çí?€§í?@lë?@ì?À/ë?@ôç?Àê?@$ï?ÀÄï?ð?ÀÜï?@î?€hî?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?Àuè?À§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5è?À+ë?²ï?À&î?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?Tá?° ? s?€AÓ?¶²?‚Í?ð?Oï?@²ï?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?€¹ï?€¥ï?ð?ð?ð?ð?Ñï?nÔ?^°?€—Ö? ¢?€‰?v?@'â?‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?À£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?Àðï?ð?ð?ð?ð?€¶ï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?ÀÌë?Àæî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?Aî?À}ï?ð?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sì?€–æ?ð?ð?ð?ð?ð?ð?ð?€ë?€Ïï?ð?ð?€¥ï?Çî?€´ï?@Ãï?åï?€kê?`•?€ûÓ?ÀÔï?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?aÓ?€å×?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?€9î?É?Ð?×É?eÜ?Àcà?ºà?Ü?Ð?@‡?ø’?ÆØ?@î?@Úï?€úï?ð?ð?ð?€Šï?€³ï?€~ï?ð?€fï?ÀÑï?ð?@™ï?@ñï?€Ãï?ð?ð?Êï?Ôï?ð?ð?Àæï?€Ðï?–ì?ð?€ñí?ð?@?ï?@éï?€øï?@ñï?ÀÅâ?”?0‰?à?À?ðº?ÄÙ?€ ä?3ï?@í?ð?ð?ð?ð?À”ï?€¡ï?ð?ð?ð?ýî?ð?ð?ð?ð?ð?kî? ê?@'ç?üæ?oë?ï?@î?À•î?À*ê?Íá?ã?Àfí?€^æ?ÓÒ?°?…Â?€ŸÜ?@ ç?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµï?€nä?ì©?à{?ð†?Þ?€è?@ˆï?ýï?Àäï?Ànî?@å?ˆ˜?ÞÖ?ð?ð?ð?ð?ð?ð?ð?Àeë?€àë?ð?ð?ð?ð?ð?ð?ð?@Óì?4 ?@{?€Ô?€ÿ×?N¸?€iÕ?ví?ð?ð?ð?ð?ð?ð?ð?€"î?€pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?Àí?€ïã?€Ž?ï?ð?ð?ð?ð?ð?ð?€Ïï?À=í?À í?@á?kí?€ ï?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?€±î?Çî?@cí?€Ìì?ÀÅï?öï?ð?€xï?À¨ë?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?€Æç?€~ï?ð?ð?ð?ð?”ï?ð?ð?ð?@Ýï?@í?Àhë?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òì?]Ä?@zã?À‹à?€°ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï? ë?¢Ð?`v?x£?€9í?Àtë?€æØ?`Ö?Ôµ?À*æ?€ï?ºï?Nï?€™ï?ð?€Ûï?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?@õï?€lï?ð?ð?@Yï?À\ç?€%Ú?p€?è™?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?ð?ð?ð?Ýï?5ï?ð?ÀÈï?@Óï?€ï?ð?ð?ð?ð?ð?ð?@uê?€æ?þï?ð?ð?ð?ð?ð?ð?÷ï?€qï?ÀÔï?ð?ð?ÀÓï?@&ì?€•ï?Àïï?€úï?ð?ð?ð?ð?ð?ð?ð?Àží?ˆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?ÿï?ð?ð?ð?ð?@„î?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9í?€ßï?ð?@î?ð?èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@)ì?ÀÖì?€õï?Àœï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@‡ï?@Ôï?ð?ð?ð?ð?ð?ð?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ÀTç?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?@àï?€÷ï?ð?€.æ?0¦?€oè?Àïï?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÝÙ?`Ž?€ÃÜ?Àaî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aê?à?€lÐ?âÌ?¥â?€zì?@Äï?ð?úï?Àóï?ð?çï?€ãç?Àñä?@të?@¯é?;ì?Ùï?úï?@¿ï?Xì?€>â?€…é?ð?ÀÈï?€ûï?€úï?ð?ð?ð?€Tî?Àþí?€þï?ð?ð?ð?’ï?@Ðï?ð?@ëï?@ï?ÀXî?ÀNï?€Ïï?€ßï?ð?€äí?@¿ï?€Éï?@2í?Èž?*»??à?À‡ï?€vï?÷ï?€Þï?ð?ð?ð?ð?ð?ð?€Mî?€¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?øï?ð?ð?ÀÎï?Sï?À—ï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ã?0Ÿ?0‰?úÔ?€ÝÔ?åÓ?HÂ?€W?П?pž?]Õ?ð?ð?ð?ð?ð?ð?Àïï?ë?@«é?ð?ð?ð?ð?ð?ð?ð?ð?€^Ð?NË?X”?4©?pÄ?UÁ?¦Ä?}Ä?€qè?ð?€>ï?ð?ð?ð?ð?Âï?ÀEï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?Àêï?ð?ð?@eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åÕ?@‡?âÃ?€Ù?À¥å?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?@ºï?Àlï?@Âã?p?@˜?Ѐ?ÀÊç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?€;ï?€èí?ð?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½é?€Ùì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?Öç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?@§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@nï?ð?ð?Àêï?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?€nì?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?À¡ì?ð?@Îï?ð?ð?ð?ð?ð?ð?ð?;ï?Àiì?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?€Ü?|Â?€ Ô?Àæç?ð?ð?ð?ð?ð?ð?ð?ð?Àï?úÚ?ø°?€ Ô?»ï?ð?@ôï?À*î?À‹ï?ÀÃï?ð?@àï?Úî?ð?@bï?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?Àgï?€˜î?@†ë?@—ê?€óØ?X•?o?ƒÂ?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?áï?€Zï?€ ï?ð?ð?ð?ð?ð?ð?€úï?Àïï?À‹î?À¾í?ð?ð?ð?ð?ð?€ï?€+é?ð?ð?ð?ð?£ï?7ï?ð?Àñï?ð?ð?ð?ÀÔï?ð?ð?ð?@ï?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þî?€õï?ð?ð?€²ï?ð?ð?ÀEï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?€,ë?Ûê?ÀPï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?€Ñï?ð?ð?ð?ð?ð?Àßï?@jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?€#ë?ð?ð?ð?ð?ð?ð?ð?@õï?Àeç?ï?€ßï?^ï?ð?€«î?€­í?ð?›è?€e?hß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"å?à³?á?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ií?ÀUë?ð?ð?€ðï?áï?ð?ð?ð?ð?ð?ð?@Ãï?hï?€Sï?€Ìî?ÀÖí?€ï?ÀÅï?ð?ð?ð?ð?ð?ð?@¿ï?Àcë?@dï?Àãï?@ëî?ð?ð?@‹ï?À’î?ð?@ôï?€Øï?@6î?À}î?€>ï?ð?–ï?@Óï?ÀŽï?Àë?€·Ù?@? v?ßä?@Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷î?€ ë?@îï?ð?ð?ð?ð?ð?@Hï?ð?ð?ð?ð?ð?ð?ð?@«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@/á?Àm?Àá?€q? r?I?eÎ?ß?@—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄà? p?Й?F?rÏ?]Ô?èÖ?jÒ?ÁÙ?À|ê?Àéï?@þï?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äÑ?8›?VÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þí?€Ò?AÇ?@+ï?;î?ôï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sï?Àîì?€ßï?€|ï?ð?ð?€Cî?.î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…ï?@£ë?®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vë?Àíï?@Çï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ÀÎï?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À%ï?Àgï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼î?ð?ð?ð?ð?ð?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?€èï?ð?ð?@(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?À£ï?ð?ð?ð?ð?€úï?Àá?< ?ôÏ?°“?€åä?€í?Àäì?€¤ï?€ï?ð?€ûï?€ï?@Aê?ÉÐ?€R?R?Þ?¾ï?ð?ð?@hï?ð?ð?@çî?@ïï?À{ï?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?Bå?¿Æ?éÏ?€8Ý?rË?š¸?Àp?Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0î?@}ë?ð?ð?Àï?@‚è?@õï?ð?ð?À€í?@õï?ð?@(ï?ð?ð?ð?ð?ð?@¥ï?ð?ð?ð?ð?ð?ð?€úï?@fï?ð?ð?ð?ð?ð?ð?@^ï?¡ë?ÀÑî?@õï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûî?Ií?ð?ð?ð?ð?ð? ï?ð?ð?ð?ð?ð?ð?ð?ð?@Aí?éì?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ÀÙï?Àþï?ð?ƒï?@Øï?€îï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýí?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?€'î?€Ïî?€§í?À•î?€êï?ð?€ ï?Àì?°š?€9Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3î?@Èí?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?@êï?ÀÅï?€+ï?€bï?€ñé?@ÿï?ð?ð?ð?ð?ð?ð?ð?Ààï?×ï?@¶ï?@Lí?¡í?À»î?ð?€´ï?@õï?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?@»ï?Àoï?@þï?ð?Ÿï?€tî?ð?ð?ãï?@þî?@”î?Àéï?ð?À3î?€Êï?€éï?@Wê?ô¥?p?ÀÅã?@ï?@í?€´ï?ð?€³ï?À£ï?ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?À®î?ð?ð?cí?ð?¯ï?@ï?€Ùí?ð?@§î?@ií?Àöï?ð?ð?ð?ð?ð?@£ë?¯ï?ð?ð?ð?ð?ð?Àõï?Àºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û?Àe?„®?@.å?ø›?€úÐ?nÙ?t¨?2°?nç?Ìï?ð?ð?ð?ð?ð?€yï?óï?ð?ð?ð?ð?ð?ð?ð?@ê?Àv?€e?@`?À¸?À}?ðÉ?AÖ?€Œá?@Úî?ð?Àî?@Jï?€ï?Ãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?€ï?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@6ï?NÎ?6º?@Kà?jì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?[ë?Â?‘?ZÒ?€øÒ?ÀÛê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?ð?ð?@ì?@nï?Áï?ð?ð?Áï?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?}ï?€&ì?ð?ð?ð?À¯ë?}í?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—ï?Áí?æí?€Rì?}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?@‚ï?ð?À=ï?¹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?@ðï?ð?ð?ð?ð?ð?ð?ð?ÀÔï?€ï?ð?ð?€Rï?À ï?ï?ð?ð?ð?ð?¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âî?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€ï?ð?ð?À­ï?Gï?@<ï?æï?ð?Àïï?€Ïï?äí?ð?ð?ð?ð?ð?ð?@Sï?æï?ð?æï?ð?ð?ð?ð?€ùï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?zï?€Õí?ð?ð?ð?ð?ÀÀè?Ö¼?–Á?8¹?çË?‚Û?@wí?.ç?³Ø?«Å? w?´¬?€Ý?€rï?ð?ð?ð?€‰î?@’ç?ð?Àîï?ð?iï?ð?ð?ð?ð?ð?ð?ð?¥ï?€6ß? w?Àä?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿë?@Àî?ð?ð?ð?ð?ð?@Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯î?ëï?ð?ð?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?€Ôï?ð?ð?€ßï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?€úï?€>ï?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?À"ï?í?Àëé? í?ëï?À©ï?ÀPï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾í?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?žì?bî?À¿ï?åï?@¿ï?@Hî?À¡ï?Î?©Ê?Àsï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øé?€Sá?€ Ø?$É?óÀ?4ª?Ì´?ÆÆ?€tï?ð?ð?ð?ð?¼ï?Àï?€¯î?¿ê?Àì?ÀŠê?€ûç?€³ì?€í?ÀÔï?ð?ð?ð?ð?ð?@’î?À0ï?ð?ð?ð?ð?ð?ð?Áï?ð?ð?ð?ð?À©ï?ð?ð?€Ôï?ð?Àîï?ð?@Ëï?€«ï?€å?kÀ?ÀCä?Àçí?ð?ð?@ï?Àî?ð?ÀÙî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHï?ð?ð?ð?ð?ð?ð?€úï?ÀRí?ð?ð?ð?ð?€Hï?€³í?€úï?ð?ð?ð?ð?À¡ï?ÀQï?ð?ð?À›î?ð?ð?ð?ð?ÀYï?Àï?ð?ð?ð?ð?@¿ï?æî?@;ï?ð?ð?ð?@Öï?çï?ð?ð?ð?ð?dá?A?€¾?ˆÞ?€éì?€Óé?‡?@?`•?}?€…?@ñã?ð?ð?ð?€Lì?@Ié?€µî?ÀÚï?ð?ð?ð?ð?ð?ð?ð?€‡ï?€ºÒ?À‘? ~?z±?X ?¾Í?¼é?Àï?@‚ï?@öï?Àíî?ð?ð?ð?ð?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?ÀŸí?Ï?Œ¢?€ØÑ?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õî?È?Е?FÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìì?€Ãî?ÀÔï?€²ï?ð?ð?@ í?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?À‘ì?ð?ð?ð?ÀÁí?À^ï?ð?ð?ð?ð?ð?ð?ð?ð?@zì?ð?ð?ð?Àùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚ï?€ì?Àæ?€@Ý?€üÛ?SÐ?¦²?j¼?@*å?@©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À´ï?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?@Ùï?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬ï?ð?ð?ð?ð?ð?@‰ï?@hî?@ï?€ëî?ð?@Ïî?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€që?Ïë?ð?ð?Àï?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?@‘ï?À¥ï?@uï?€&î?€˜ï?ð?ð?ð?€¿ï?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?@Ùï?ð?ð?ð?ð?&ë?@Æé?eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€’í?€í?¼ä?_à?Oä?ÜÕ?0€?`s?:?ð€?cÇ?m?€¤Ø?@Iê?Àüï?€mï?À2ï?€²é?€Uï?Œï?€“í?|è?@¼ç?€*ï?ð?ð?@aî?ð?ð?ð?ð?@Áï?€­Ý?m?Ã?À$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µî?@ì?ð?ð?ð?ð?ð?€’ï?@àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€ßï?ð?ð?ð?ð?ð?ð?ð?€Lî?€óï?ð?ð?ð?ð?ð?ÀÍï?ð?ð?ð?ð?€«ì?€¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?ï?ð?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?Àíî?ï?€öï?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{ï?ÀÆï?ð?ð?ð?ð?ð?ð?ð?€¼î?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Óî?€•ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Lï?Àuï?Àßï?Êï?ð?ëÊ?€:Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À(î?€gà?€Òì?ð?ð?ð?ð?çï?Àìè?=á?€*â?€#å?˜î?@¥è?îµ?ïÆ?€éì?ð?ð?ð?ð?ð?ãï?À ï?@ñí?qï?@]î?€Žæ?€Âæ?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?€Þï?€êï?€Sï?€óï?ÀÝï?½ï?@Sï?@·ï?@ì?ÄÍ?k?Ààâ?@(å?Êï?ð?ð?ð?ð?@Þì?ð?ð?ð?ð?ð?€›ï?ð?Àïï?åï?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?@uï?ð?ð?ð?’ì?ÀÑî?ð?ð?€ï?ð?ð?ð?ð?ð?õï?…ï?Çï?ð?ð?ð?éï?ÀÂï?ð?ð?ð?ð?öë?»?lÆ?€Ií?ð?ð?€ãï? Ï?€S?lª?€«ë?ð?@öï?ÀMî?@¨ê?@Dï?ÀËï?ð?(ï?ð?ð?´í?@Úï?ð?@Öï?=ì?\À?üº?À7ç?@Zî?À¶ê?ð?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àïï?@nï?Àì?ð?@æï?ð?ð?À×ï?€þï?€Sï?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·é?Ì?j?H®?€Úî?ð?ð?ð?ð?ð?ð?€ýï?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ií?ò°?Àíâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨ï?ãï?ð?ð?ð?ð?Àï?@·ì?€®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?Hí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?Ùè?@[ä?ÍÈ?  ?€o?`?”É?ÀRê?Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ï?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€ ï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?À¼ï?ð?ð?ð?ð?ð?@‰ï?€î?ð?@cî?ð?€±ï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?@'ë?ÀÛï?ð?ð?@·ï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?@ï?Cï?ð?ð?@Sï?ð?ð?€ÿí?À1ë?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?Àèë?ÿí?_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?À6ë?7ç??Ë?m? «?†å?ð?Àªï?tÓ?¸?Àeà?€œï? ì?€„Ñ? €?Àu?HÓ?@ì?€ñï?@Ùî?6ï?ð?ð?ð?æ? Œ?L¨?À´î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?dê?€·í?@Âí?ÀÈè?ð?ð?ð?Àüï?ð?‹ï?@£ì?ð?€éï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ì?Àï?Àïï?ð?ð?ð?ð?€ñï?@¿ï?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?À"ï?ð?ð?ð?ð?ð?ð?ð?ð?úí?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?€Ãï?€-î?Àî?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?ð?ð?Àüï?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þí?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ÀHì?À©ï?@ï?ð?-Ç?€'Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ã?¨”?€Ù?À°ï?ð?ð?@;ï?€©Ú?è•?V?ð¼?ê¹?8£?˜—?Àp?ÆÕ?ýê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVî?ÀÖí?Àaë?ÀÁì?@‚ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€½î?€Üï?ð?@üï?@øï?ÀÑï?ð?…ï?€ à?L©?çÁ?àá?@Õï?ð?ð?ð?ð?€Àì?@òï?ôï?ð?€ßï?À2ï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?@ûï?ð?ð?ð?ð?ð?@Ýï?€ôï?ð?ð?ð?ð?@ûï?@ûï?ð?1ï?ÀÄï?ð?ð?ð?ð?ð?À¥ì?ð?ð?Àhï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘î?ð?'Ý?`~?€™á?ð?ð?ð?ð?€5Ô?pˆ?Þ°?¾?¾Ë?ÜÜ?@Ní?ð?ð?À§î?ð?ð?ð?ïï?@úï?@¿ï?ð?ð?€ï?ð?‚ì?”É? „?“Å?À:è?ð?@Jî?€$ï?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úî?ð?@mï?ð?ð?´î?€ñï?ð?Þï?ð?ð?ð?ð?ð?@ýï?@ìï?ð?ð?ð?ð?ÀËí?Þí?ìÒ?@˜ç?ð?ð?ð?ð?Þï?@žï?€¥î?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áâ?P‡?”¤?€Žì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?Àœì?@+î?À:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·í?>í?úÆ?H¬?<Ô?À¯ï?ð?ð?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?'ï?@ë?ºã?àï?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?€æï?ð?ð?ð?ð?Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦í?@óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ïï?ÀJî?ð?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€Ïï?ð?ð?ð?ð?ð?ð?ÀZï?ð?ð?ð?ð?ð?@¿ï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@Øè?À°ã?àu?0?ÀXé?ð?À$é?€[?ˆ¥?€Vå?®·?À”?Kã?#ï?€ï?ð?ð?1ï?dÃ?*¸?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ê?Àíà?î?ð?”ï?ð?Àôï?Àíï?ð?ð?ð?€kï?@ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?ð?ð?ð?ð?ð?ð?@ñë?ìî?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?€êï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒï?ð?€Ýï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Vï?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ÀŽï?Sì?Àßï?/Å?@_å?ð?Àäï?@®ï?ÀŽï?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úî?€ Ù?8?¦¹?Šî?ð?ÀEï?€ Ò?`§?€ á?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôî?ÀÔï?€Eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?À0ï?Àgï?À³í?€Uï?@µï?ÀÔï?À÷ã?€k?B?éÖ?€ë?ð?ð?ð?€~ï?…ï?À[ï?Bï?€nï?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?€äï?ð?ð?ð?ð?ð?@òï?€ûï?ð?ð?À=ï?@Oï?Œî?€ùí?ð?ð?ð?Àãï?@~ï?@ï?ð?ð?À¹ë?ð?ð?ð?À_î?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?êî?rÕ?à|?@+â?ð?ð?ð?ð?€mØ?€T?MË?ÀQï?ð?€<ï?ð?ð?ð?@õî?@Çî?ð?ð?ð?ð?ð?ð?@ßë?ªÍ?ȹ?@´å?@Íæ?cÔ?@ î?ð?Àî?sí?!ê?@Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ï?Àïï?ð?ð?ð?ð?€ýï?€Øï?ð?ð?ð?ð?ð?ð?*ç?(’?FÛ?Sî?ð?ð?ð?áï?Àõï?@Åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?uï?¯Ö?þÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?ýî?ð?ð?ð?ð?ð?ð?ð?@æï?€¨í?@§í?‘í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?Àií?ð?ð?ð?ð?ð?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nï?åï?ð?ð?€!î?@øï?^ï?€Æë?ã?¹Í?—?8˜?m?¨Ë?@@ì?ð?ð?ð?ÀÖï?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?fê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?ð?ð?ð?ð?ð?ð?€ðï?Àúï?ð?áï?ð?ð?ð?ð?ð?ð?ð?€]î?@¿ï?ð?ð?@”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹ï?¼á?ð›?²?Ë?€?€Òç?ð?€…ê?ªÄ?(—?{?sÑ?è?Àìï?ð?€Hì?]?€›?ÀŒì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•í?ð?@Ùï?ð?ð?@àï?ð?ð?ð?ð?€ôî?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âï?ð?ð?ð?ð?ð?€úï?€äê?€ëê?€µï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„ï?Àõï?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?@Òï?ð?ð?ð?ð?ÀÖï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËí?ð?ð?ð?ð?ð?ð?ð?ð?iï?ð?ð?ð?ð?/Ä?*À?À4î?ð?Àúï?€ðï?@\ï?ð?ð?ð?ð?ð?ÀÃï?ð?ð?ð?ð?ð?€ï?rê?@vî?€ðë?€eí?Æï?€Qä?€YÓ?‘?Ð…?Õ×?†ê?eí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?À­ï?@Æï?€ƒï?yï?@6ï?À²ï?Àìï?À ë?@(á?P´?€ýÔ?në?ð?ð?ð?ð?ð?„ï?î?@­ì?)ï?€Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êî?ñî?ð?ð?ð?€Ðî?€ùì?ð?ð?ÀÔï?ð?@æï?À‰ï?€mî?Àßï?ð?Øî?úî?@ôï?úï?€’î?ð?€\î?ð?ð?ð?ð?Àüï?Úï?ð?ð?€ûï?@rá?T¢?Pä?ð?ð?ð?ÀHè?p€?|¡?_é?ÀÈï?À~ç?Àâï?ð?ð?Àýï?ð?ð?ð?ð?ð?ð?åï?Àåï?À0î?%È? ‰?€{?€•Ü?@Aè?/â?ýê?€qè?·ï?uí?-é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?Åï?ð?ð?ð?ð?@èï?@ôï?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€Ú?¸??@y?úÐ?À‹?AÐ?€Ëï?€ýï?êí?€¨í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýî?ùÅ?€×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?€ é?€µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?À ì?@¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àiì?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?¸ï?€Ñí?õí?Àsî?À^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?€Œà? â?€”ì?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?@ìï?gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À_ï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?yí?Ò?c?€ÌÔ?@s?@}?€|Ú?€Íï?@Éï?Àå?@ à? w?€P?ޏ?=Û?Àcí?€|Ú?,¢?€£ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+ï?€Éï?@äï?ð?ð?ð?ð?ð?ð?@ñï?À¸ï?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£ï?ãî?€ïî?@ùï?@öï?Þï?ð?ð?ð?@Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?Àå?ð?ð?ð?ð?ð?Úî?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ÀÅï?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-ï?@÷ë?Àùï?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ð?ð?@ié?Ô ?ß?òï?@Ùï?gï?ð?@ºï?@ûï?@êï?ð?ð?ð?ð?€bï?qï?ð?ð?ð?üï? ä?†ï?€dï?Àï?á?Hª?,§?€OÞ?*í?ð?ð?cî?Àï?@ýï?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?@Ôï?€Êï?@Èï?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?…ï?Àêï?€&ï?€ñï?Àïï?€±ï?€ ï?@î?€/ç?@h?|¹?°?€ÎÖ?–ï?ÀIï?ð?ð?¹ï?ð?ð?ð?@-ï?Bï?`ï?@ýî?@Yï?ð?ð?@ôï?ð?À÷í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?@Uï?Ïï?ð?ð?ð?Íï?€Çí?Ãï?ð?ð?ð?î?@·ï?ð?ð?ð?ð?ð?Àóì?@³ï?œí?ð?ð?ð?ð?ð?ð?–ï?€ ì?€%ï?ð?ð?@éæ?€S?à…?ÀQâ?Îï?ð?ð?€íÐ?ð‡?€½Ù?€©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?Àïî?@Ží?¤î?€¿ã?ŸÉ?à–?º?P¦?+Ó?ÊÈ?П?@âè?€¼ì?@±î?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?Àí?ð?ð?ð?ð?Sï?Äï?ÀÕï?ð?@Ñí?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êê?Àb?̽?hß?À-ë?@'ê?@3æ?@›ä?Àòä?€Ü?€ðß?€ÔÙ?îâ?2î?^±?\¢?ûí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eä?Ô´?ÚÃ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?ë?pÀ?ÀIí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Àì?Çï?@ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?€9ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?€ªï?€Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@í?À-ì?ð?ð?ð?@Ôï?ð?ð?ð?ð?ð?ð?ð?€¨ï?ð?ð?Àâï?À–ï?€öï?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?ø¾?ýÃ?D½?À·è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼î?@Ïê?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸï?€/ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀPï?9Ö?Àx?Àˆé?ð?À’ï?@vî?ÔÞ?ؘ?2Í?F°?ÕÍ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?@ î?—ï?€1ï?ð?ð?ð?ð?ð?ð?À©î?ð?ð?ð?@öï?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?Àqï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Zï?€|Ü?ð?ð?ÀÅï?@·ï?ð?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?@Ðï?òï?ªï?ð?ð?€öï?Àqï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?RÊ? «?€Áì?@Ôï?ð?€¹ï?@Ôï?Ñï?çï?ð?ð?ð?ð?ð?@;ï?àï?ð?ð?ð?Àæè?d°?Î?ƒÉ?ŸÍ? ¡? ˆ??Å?¬ß?Hì?ð?ð?ð?ð?ð?ð?éï?€Ùí?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óí?€qî?@˜î?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?@Íï?@mï?€iï?€Ñï?€>ï?Àî?ï?€¸è?PÀ? r?7É?€œÙ?@dî?ð?ð?ð?€ië?ð?ð?ð?ð?ð?ð?ÀÓï?@>î?ð?ð?àï?@ï?@ºï?ð?ð?ð?ð?ð?@ï?€ìï?ð?ð?ð?ð?ð?ð?ð?€Âî?Àùï?ð?ð?ð?ð?@õï?@[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Lê?f½?‰Ê?€àï?ð?ð?èÆ?4?€ã?ÿï?&ï?Àæï?ð?¼ï?€ìï?ð?ð?ð?ð?ð?ð?Àåî?@·î?@Áï?ÀÛï?@ë?íí?€˜è?ð?'é?@m?P”?*Å?é?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝî?€ùî?ð?ð?ð?ð?ð?î?Àèï?ð?À ï?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€fæ?€X?C?º·?@aá?¸è?@Lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?bÛ?$?N?`Ÿ?@yí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßî?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?Øë?œÆ?È?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßâ?¾¹?çÞ?ð?ð?ð?ð?ð?ð?€ÿï?Àõï?ð?ð?ð?ð?ð?€qï?ÀŸë?€gï?œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtî?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?áï?€ªï?ð?ð?@ýï?ôÛ?ÀFâ?@¬ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?è?íÒ?€Cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?}ï?ð?æï?Àúï?ð?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?€4ì?@Bè?‘è?:ï?Àüí?@6ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?@Òï?ð?ð?ð?ð?ð?ð?ð?}ï?ð?@Qï?ð?ð?ð?€‘ï?Hï?€üï?Àèï?@ÿï?Àwï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æî?ûï?ð?ð?ð?ð?ð?ð?ð?@ýï?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?€Æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’ì?€Ñí?óï?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ÀÁå? †?p£?ÀUì?ð?4í?@ªå?À©î?@ â?]?Ó?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?:í?@wï?½ì?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?}ï?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ùï?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?À§ï?ð?ð?€(í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?:ï?ð?ð?ð?ð?ð?ð?ð?@øï?@èï?ð?ð?¹ï?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?ð?ð?ð?ð?ð?@[í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?ð?ð?ð?ð?ð?ð?ð?Mï?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?€zß?¯?@³å?@îï?ð?òï?€Ïï?ð?Àšï?@þï?ð?@ï?Àþï?ð?ð?ð?ð?ð?ð?€Ôí?0½?h’?ö»??`µ?zß?Àë?Mï?ð?ð?ð?ð?ð?ð?ð?ð?€¸ï?À‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?@Øï?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?@Ôï?@3í?nî?@vì?€Jï?@ë?rí?€¿ß?@o?¨–?€hÑ?_Ö?Àôï?ð?ð?@ï?ï?§ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7ï?Àkë?@@ï?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsì?Àòï?ð?ð?ð?ð?ð?ð?ð?Àÿï?@ýï?ð?ð?ð?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæí?@Pà?L³??€7æ?ð?@òì?P·?«?@üâ?€¥ï?€Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?@Øî?ð?ð?ð?ð?€ãæ?Ü»?À¦å?Vï?Fî?ð?ð?ð?ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?þï?ð?ð?ð?€ í?ð?ð?ð?ð?ð?@·ï?€ðì?ê?€Ïï?€ïí?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€bï?ÿÇ?°?€;Þ?€ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Àxâ?È?ð×?†æ?8È?K?€Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?hî?Àî?ÀÍï?ÀLí?@Ôï?ð?ð?Àáî?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê?Œ¤?p…?€iä?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àç?¸ï?ð?ð?ð?ð?ð?ð?€êï?@Ìì?ð?ð?ð?ð?Cï?@ýï?@|ï?€¸ì?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓí?€Gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ì?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zí?À”í?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾î?ð?ð?@Öï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?@æï?€‹ï?@àï?€Œï?Åî?À‘ì?€ñï?Õï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆï?€öï?ð?ð?ð?ð?ð?ð?ð?Àiï?ð?ð?ð?ð?ð?ð?ð?rï?*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?À¿ï?ð?ð?ð?ð?€„ï?@.ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€|ì? °?€ Ù?ð?Àyí?¸Æ?€?‚¸?d§?€e?8ê?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?Þï?ð?ð?ð?@öï?Àóï?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?@Ôï?ð?Õï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?€¨æ?ð?ð?ð?ð?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?€öï?@sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?¼ï?€ìï?ð?ð?ð?Õï?ð?ð?ð?ð?ð?ð?@êï?ð?ÀÔê?Ç?ø·?€fÚ?€ì?@èï?µî?@™ï?@=ï?@Ôï?ð?ð?ð?ð?ÀÔï?À¿ï?ð?ð?ð?ð?ð?ð?€í?€ñÜ?èª?¨?ì¢?€Z?ÜÒ?ÀÑí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?@kë?€ÈÑ?@ê?@ì?€UÓ?À˜é?1å?€}á?€Ô?Ê?@ï?ð?ð?Îî?Üí?Àæî?ð?ð?ð?ð?ð?ð?ð?ð?@tî?žè?€þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?€±î?³ï?ð?ð?ð?ð?ð?ð?À|ï?ð?ð?ð?ð?ð?ð?ð?ð?vî?@’á?η?À„?Àâ?@]í?€vá? ?À(ç?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)ï?@Ÿì?ð?ð?ð?ð?Ò?L¶?œí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àmï?@Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®ï?@ôï?ð?úï?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ê?Ã?€V?Ï?€Òç?€¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûÞ?þÁ?™î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?|ï?@Èî?@„î?ð?ð?ð?ï?ð?ð?ð?ð?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?Àoã?z?„Ý?@žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?À·ï?Àêï?ð?@ï?ì?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-ï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ï?À•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?€zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@zï?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?€åï?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åî?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^î?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ÀÖï?ð?ð?ÀÍï?@Gï?ñî?@Žî?ÀÍï?@æë?sï?Uï?Àžï?€ï?À“ï?çî?@°ï?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Jï?@Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&ì?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ä?@x? „?€ÇÞ?dï?@ðâ?¶Ç?”¬?ÀŒá?ð?ð?ð?ð?ð?ð?ð?ð?€øï?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?R×?€XÙ?@ñï?Àéï?©í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?À ï?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?ð?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"ï?@¦î?€ûï?Àõï?€âï?ÀŒï?€Æï?ð?ð?ð?ð?À²ï?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ëë?ïÑ?NÍ?€m?0¡?€ôÐ?#Ê?>Ü?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáî? ï?ð?Ùï?Àôï?ð?ð?ð?ð?ð?@Ôï?ð?ð?ð?è?íÔ?À®å?¼Í?p¬?€ÒÐ?°Š?àu?`Ž?Àî?ð?ð?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œî?ð?ð?ð?ð?ð?ð?ð?ð?@Qï?ð?ð?ð?ð?ð?@ï?Oî?@þï?@ïï?åî?€bì?€aí?ð?ð?ð?ð?ð?ð?ýï?ð?þï?À(ä? ‰?P–?íÒ?F?¨ ?€ÍÑ?@µæ?ð?Kï?ð?ð?ð?ð?ð?@˜î?ð?ð?ð?ð?ð?ð?ð?€¼ï?Àå?ùÆ?`x?ñÛ?‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?ð?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?nè?Ç?X—?@b?YÉ?îã?nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?Ùã?(”?¤?eÐ?б??¥?€?ß?®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?€ë?€Æï?ð?ð?ð?ð?ð?ð?€î?ð?ð?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËë?̯?c?ðÝ?Àýï?ð?ð?]ë?À‰ã?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?€¬í?ºí?€¾ï?Ñï?@ôï?€ì?7ê?€Õï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?À0ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓî?]î?ð?ð?Óï?ð?ð?ð?ð?@‚ï?@öí?@•í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?Àbï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?@óï?€øï?@Úï?Ôï?@çï?ÀTï?[í?ð?Àì?[í?˜î?ÀRï?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?ÀQî?€àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@òî?ð?ð?ð?ð?@Uì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uí?ôÐ?tÀ?2Î?®³?ÀÁí?@Mé?¯Í?*Ä? ?€rè?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ë?iÁ?Vè?@bè?€Që?€bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚î?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ÿï?ëï?€éï?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?cì?ªí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€7ï?Àiî?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?çï?ð?ð?À$î?À{ï?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?Óï?€)ï?€wî?Àuî?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?æç? ê?@>ã?›Û?ÀTç?€©ï?Æï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(î?ð?ð?ð?ð?ð?ð?@Pï?ð?ð?@ðï?ð?ð?€óï?Óï?ð?@$ï?@:í?€bì?À­ì?€å?×Ð?ø? ‚??(Ó?€ÉØ?`?H?p„?âÉ?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€£ï?Øï?€Øï?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?À«ï?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôî?@þï?ð?ð?ÀÂî?ð?ð?€ºî?Êï?Gï?²í?€ßï?Àí?5í?ð?ð?ð?ð?€ï?Iê?Àxâ?€=Ö?Ü­?íÉ?¤³?°ƒ?ܳ?/Ù?¸Ì?€°â?¦à?À_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ÀŒï?ð?Xï?€/æ?’Í?¸?íÄ?Àï?ð?ð?ð?ð?ð?<ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïê?ˆî?@Æí?@ì?€ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Êê?Àá?€—Ð?€}Ð?t´?@?n±?¸¡?¥?@‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæ?Àöä?ð?Àùì?Œ½?Èš?±Ê?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?€ñï?ñí?ÀŽî?ÿï?ð?ð?ð?ð?ð?ð?ð?¦ï?€tî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ø?¨°?ëî?ð?ð?²Ï?6Å?ÀÂæ?ÀRï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øç?À¿ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?@Gê?@é?ÀTî?ð?À­ì?åè?@ë?ÀËì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òê?Éâ?äè?ð?ð?ð?ð?@kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?§ï?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?€Îï?ð?‘î?Àwï?ð?€bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?ð?ÀÔì?íï?ð?ð?Òï?ð?ð?ð?ð?ð?ð?ð?À$ë?À ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àqç?Àúì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ÀÌï?$Ó?ñÉ?–¾?×Ó?[î?€mä?€‡ë?}Ä?<¡?@í?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ûï?ð?ð?ð?€–ï?@öï?ð?ð?ð?Àºï?ð?ð?ð?€þï?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?+ë?€øÓ?€¨×?€Ú?Àüî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ì?Àkï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?ð?€¼ï?ð?ð?ð?ð?ð?Žï?Èï?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?€Ïï?€uë?€ïë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Lï?~ï?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?@ìî?€ï?ð?@eï?€bï?@ï?@îï?@Eî?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ÀŒï?Óï?@©ï?@Ÿï?@#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?Àéï?ð?éï?ð?@Àì?€½ï?ð?ð?Àêï?À#ì?MÜ?ƒÜ? Ù?‹Ó?ÙÀ?ø•? š?è’?€d?(?˜º?€‰Ð?¥?Zí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êî?@Îä?Àzë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©ï?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜î?ð?ð?ð?Àôî?€ï?€¿ï?ð?ð?ð?ð?ð?ð?ð?ð?–ï?@ðé?WÛ?Å?h—?ì«?ð×?@Òë?@ê?€ Ñ?€JÛ?ð?ð?ð?ð?Üï?ï?ð?ð?ð?Èï?€ºí?ð?ð?ð?`ï?@¡é?5Û?X·?•Õ?ð?ð?ð?ð?ð?ð?>Ó?À"î?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?€ï?€»ï?À«ï?î?ð?ð?ð?ð?ð?ð?ð?€ˆï?@Äï?@î?À×í?ð?ð?ð?ð?ð?ð?€ïï?@ï?ð?ð?ð?ð?ð?ð?ð?@,ë?€8è? î?€kî?Ýî?Àì?€lí?îì?À9í?@aë?ÀVç?À9æ?‰ì?@„ë?ÀJä?ëÔ?NÌ?€˜Õ?å?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æê?@Äã?kÊ?®Ì?ÅÆ?èž?@½?€‚Ñ?¸–?€Y?·Ï?€ë?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ æ?€2ï?î?@ßî?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ï?@Ôï?ð?ð?ð?€)ï?¶ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¿â?€kë?ð?ð?Ëé?€ Þ?€RÐ?è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œî?À€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨ï?ð?ð?ð?ð?@¾ï?ð?Àí?ÀGí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Yï?Í?ô²?·â?À9ï?ð?ð?ð?ð?ð?ð?ð?ð?éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?ð?ð?ð?@÷ï?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vï?€’ì?ð?À]ë?€êî?ð?ð?ð?ð?ð?ð?À?í?@vï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=Ä?ð¢?ÀÎë?Àê?À?¾¹?è“?€!å?µ?lÉ?òï?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?@ûï?ð?ð?ð?Àvï?@«ï?ð?ð?ð?@­ï?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆë?€‘?V?ˆ¡?@dá?€úï?hï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?}í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?ð?ð?ð?ð?ð?ð?€òï?íï?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§ï?€óï?À“ï?ð?ð?@˜î?ð?ÀÔï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkï?ÀÌï?ð?ð?ð?ð?ð?ð?ð?0ï?@{î?ð?ð?ð?@èï?öï?Õï?ð?ð?ð?ð?ð?ð?ð?ð?õï?|ï?€Æï?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ëï?ð?êï?ð?À;ë?€zí?ð?@é?ŽÕ?è²?àŸ?¢Ì?4¥?¼£?è™?àœ?€h?E?€4ã?€î?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾î?@Ïì?€*ï?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?Àíï?ð?€`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?@ûï?ð?ð?€tï?ð?ð?ð?ð?@”ï?rÙ?„?x”?l­?øš?ÖÖ?¢ï?ð?ð?lÞ?Àc?G?L¢?@Ëé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?À¾í?€ ×?€e?È?3ï?@£ï?ÀÔï?ð?ð?ð?€äÐ?ÀÚç?%á?ð?ð?ð?ð?ð?ð?ð?€mï?î?ð?ð?ð?ð?ð?ð?ð?ð?Zî?ä?@í?Àjì?€ËÙ?éÛ?Àðè?@¡ï?ð?ð?ð?ð?€þï?èï?ð?ð?ð?@íï?€Ý?Å?O×?ˆ™? p?ì´?€Õ?ŽØ?kÍ?€lê?@ê?Tï?ð?ð?ð?ð?@ôï?éï?Àýï?Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þî?)î?@{ë?€Gß?€8Ò?À?gÁ?€ Ù?€é?Àî?€cï?àï?@Ké?@¦â?€@Õ?@º?„à?€­ì?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nè?@4ï?@Œï?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?]ï?€…è?úÅ?€Äã?\ï?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ÀÚí?GÊ?€Û?ð?ð?ð?ð?Àâï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@bë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@òí?î?@¢è?À;ï?ð?ð?@äí?À¿ï?ð?ð?@ãï?Ìï?ð?ð?ð?ð?ð?@zï?@üî?Àï?ð?ð?ð?ð?ð?ÀËï?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿í?ÀÔï?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@–ï?¨ê?€Žï?@1í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?@‚ï?ð?ð?@Œí?¿Ú?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?€_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoí?"ì?@Ñî?€ï?@•ç?@Èï?ˆî?ð?ð?ð?ð?ð?Æí?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?@4ï?€ëî?í?@¯í?ð?ð?ð?âï?©ï?ð?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÂÍ?L ?™é?@(î?€?€üØ?|¥?€Ïè?Ч?Ö·?Àaï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvï?€SÞ?QÃ?˜µ?ØÒ?À\ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;ê?@Êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?åï?/ï?€þï?ð?ð?ð?ð?ð?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?@õï?ð?ð?€îï?ð?€bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôî?@Cï?ð?ð?ð?ð?ð?ð?ð?ï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?¦ï?üï?@øï?ð?€î?ðì?©Ô?0»?·?€pÕ?yÚ?€þÝ?€àÙ?­à?uÞ?¸°?Àj?@lâ?áï?€óï?ð?ð?ð?@Åî?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?@Ìì?ÀWï?€Úî?ð?€ëï?ð?ð?ð?ð?ð?ð?{ï?&î?ð?ð?ð?@Åî?î?€Ëï?îï?îï?^ï?ð?«î?ÀSä?v? «?£ã?‰Ú?€+è?€ßï?€`î?ôï?ð?À¿í?%Á?À`?rÒ?@Ûà?@Äë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?_ï?Hà?š¸?€¸ß?€×ï?À¯î?ð?ð?ð?ð?€‹ï?€ê?€îÖ?ÀÐï?ð?ðï?ðê?@ìï?ð?ð?ðï?@ï?@ï?ð?ð?€åî?À:ï?€ôë?Úì?€aî? Ø?`s?¬Ô?À? r?È?íÒ?ÞØ?€1ì?€í?€úï?ð?ð?ð?ð?Ðæ? ’?¦?€¯ã?@€é?À_ê?@4í?ð?€ãï?@Èï?ð?ð?Žï?Žï?ð?ð?ð?ð?À‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?@jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?@©î?@Pï?€ç?@+à?€Zì?ð?ð?ð?ð?ð?@ï?Àýï?ð?ð?ð?ð?Àúì?µÐ?)æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À”ì?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?@ïï?ð?ð?ëï?@ì?@ï?ð?ð?Iï?ð?ð?ð?ð?ð?ð?ð?€aí?ë?@óë?@gì?€¾í?ð?ð?ð?ð?ð?ð?¿ï?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ï?€÷ì?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?€æ?°í?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?€µî?À¥î?€ï?ì?»ë?¯î?@èä?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fæ?ãé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨ç?þÃ?ð†?õÅ?€™Ù?ïÜ?lí?Àgï?ð?ð?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?€žè?€ ì?€éí?ð?ð?ð?ð?ð?@`ï?ì?ð?ð?ð?@8ï?ð?ð?ð?ð?ð?ð?@ëï?ÀŒë?€à?¤¹?Ð…?@Í?Àïî?€Øï?@Ââ?ï?@6ë?&é?à·?€¬×?ð?ð?ð?ð?ð?ð?ð?@ï?ð?(ï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cï?Àuî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?kë?Àôâ?d?Yá?@Dî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?€üï?@¼ï?ð?€’ï?@Çï?ð?ð?ÀŠï?ð?ð?ð?ð?ð?ð?åï?ÀPï?ð? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?€ î?Àyî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À`î?€Íï?ð?ð?ð?ð?ð?ð?À¾í?@¹ê?ð?ð?ð?ð?ð?ð?ð?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?€åï?Àâï?€qï?‚ë?€ìá?€úè?@Êì?À?ï?@ëï?Àxî?@Ûæ?ÿÓ?2À?À7æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöî?€éï?ð?€—ï?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?À£î?ð?ð?ð?ð?ÀNï?@_æ?¸?p¼?@Ùî?ð?ð?ð?À7í?ùï?ð?þï?€£Ý?V¾?€??Ó?ÀSí?¬ç?Àðï?ð?ð?ð?ð?ð?ð?ð?€Åï?Üï?ð?ð?ð?ð?ð?€åí?Öà?¹?è™?Àê?€üï?À©ï?ð?ð?ð?ð?ð?~ï?€ ì?€ùï?€úï?ºî?Šæ?öï?@Pï?€¥î?ð?ð?í?ÀÈí?À›ë?£ë?Àhé?]Æ?F´?ÊÁ?ÚÇ?€Ûî?8«?À_å?£ï?Rï?jì?À€ë?Àûï?À¥ê?¥À?¾À?2Â??â¹?DÐ?€ Ý?Àëã?@³å?ÀKê?åï?@—é?@Çï?ð?ð?¾ï?¾ï?Àÿï?ð?ð?ð?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€ïï?ð?ð?ð?ð?€¼ï?€_í?ýï?€Æï?öï?ð?ð?ð?á?B? ?0?À9ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?&ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?yï?ð?ð?ð?ð?ð?€ùï?ÀÈì?ªï?ð?ð?ð?ð?ð?ð?ð?@¬ï?@$ì?@xî?@éï?ð?ì?€mî?ð?ð?ð?ð?ð?ð?€Úï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?é?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?Àùï?ð?ð?À¹ï?À!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Xî?qî?¬ï?@¯î?zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ïï?öî?@ˆî?€“ï?ð?ð?ð?À¨ï?Mê?@ÿí?ð?ð?ð?ð?¦ï?ð?ð?ð?ð?ð?ð?@Ùï?@¦î?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?!ï?@þï?ð?ð?ð?ð?€ñë?áÎ?NÏ?Àñç?ð?ð?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ÀHï?@¼é?.ê?Sí?ð?ð?ð?ð?ð?ð?ð?Àåï?@ï?üî?À?ï?ð?Cï?@Îî?€éï?ð?ð?ð?Àÿï?>â?t®?8©?@iè?@fî?Ùï?ð?ð?ð?@çï?€‡ë?rÊ? Ÿ?€ë?ð?ð?ð?ð?À©ï?€ùï?Àÿï?Óï?Àï?€bî?€ïï?ð?ð?ð?ÀÒï?ð?ð?ð?€©é?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡ï?€—ì?ð?ð?ð?ð?ð?@çï?ÀÂî?€ðÚ?À3ì?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kî?ð?ð?ð?ð?¦ï?Àbï?ð?ÀÜï?À‰ï?ð?€Õï?Àðï?ð?@þï?€¾ï?ð?ð?ð?ð?ð?ð?€×ï?@ç?ÀÛî?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?@¡î?õì?ð?ð?ð?ð?ð?ð?ð?À¯í? ï?ð?ð?ð?ð?ð?ð?ð?@ï?Àžï?ð?ð?¨ï?@Ñï?ð?ð?ð?ð?ð?Óï?À4ï?€Éï?ð?ð?ð?ð?ð?ð?ð?€¼ï?€¼ï?€Œì?Àhï?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kï?ð?ð?€ÿï?ð?ð?ð?ð?ð?€êï?Òï?ð?ð?ð?ð?ð?ð?ð?éï?À=î?ð?ð?ÀÞï?±ï?ð?ð?ð?€ÿï?Àÿï?Óï?@ï?ð?ð?ð?ãë?@öç?€œì?@¢î?@è?ÁÜ?´Î?@·?M?˜œ?€æ?€·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€#î?ð?ð?ð?ð?Àþï?ð?Sï?Àûî?@Ñï?À°î?ð?ð?ð?ð?ð?€%î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?ð?ð?ð?ð?cÚ?àª?È™?L×?À°ï?ð?ð?ð?ð?ð?ð?Àˆé?ÐŒ? ‚?â¸?À?Àz?À¯æ?ð?ð?ð?ð?ð?ð?ð?ÀŽï?@êí?ð?ÀYî?Lè?@-í?ð?ð?ð?À è?D¥?`v?à?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àë?@Æï?ÀAî?ð?ð?Àèï?í?ÀÑï?%ä?ŒÊ?ÀYí?ð?ð?ð?Ûç?£?®¾?ày?!Æ?È‘?º´?ŠÀ? ·?È?@à?€‘Ò? ? v?êÆ?ƒÌ?þÉ?0’?Pˆ?àr?Ï?>ì?Tï?~í?@[ì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™Ü?@Ñà?øî?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ÀÐí?ð?ð?ð?ð?ð?ð?€ ï?úå?@Iã?Àéá?е? u?€[Ô?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?À¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ë?@zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@_ï?Àøî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?À6ï?ð?ð?ð?ð?Àîï?ð?ÀÏï?ðê?ð?ð?ð?ð?ð?ð?ï?€{ë?@îï?ð?ð?ð?Œï?@îï?ð?Àôï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?•ï?%æ?Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?@òï?ÀŠî?ÿî?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æí?@îã?@mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bí?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?™î?ð?ð?ð?ð?ð?ð?ð?€\í?@øë?ÀPë?†ì?ì?Õë?Àšî?@7í?Äì?À¡ï?ð?ð?@xï?@Oï?ð?ð?ð?ð?ð?ð?ð?Àøì?€´Ù?À\ï?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œê?]è?ð?ð?ð?ð?ð?ð?;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xí?9Í?€m?@ýà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËé?À´ã?ÀBì?ÀAî?ð?ð?ð?ð?ð?ð?ð?ð?mï?5ë?Oï?Àúí?ð?ð?ð?ð?ð?ð?€öï?Àýê?|§?rÅ?:ï?€ï?ð?ð?À¡ï?ÀSî?ð?ð?@yä?"±?€µØ?ð?ð?ð?ð?ð?@âï?@Jî?€œï?ð?€ ï?ð?ð?ð?ð?ð?Àéï?€ï?ð?øï?€/ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?Àùï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸î?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ê?ÀŽì?Àúï?ð?ð?ð?ð?ð?/ï?@„ï?³í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?€Qí?ð?ð?•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?½ï?€»ï?Äï?@6ï?ð?ð?ð?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€ï?ð?ð?ð?ð?Àîï?ð?ð?@»ï?ÀÑï?ð?@ôî?ð?ð?€æî?ôâ?Ï?æ¿?ˆ? x?MÍ?À®ï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?€í?ð?ð?ð?ð??ï?@ìï?Àßï?@Wï?ð?ð?ð?ð?ð?ð?ñï?€¡ë?ÀÄï?ð?˜î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâé?X?À±ë?ð?ð?ð?ð?ð?ð?@Oä?€g?€öÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcï?ýÍ?@o?•ß?ÀWï?ð?ð?€ûï?Àšé?º?à™?±Ò?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?Àüï?ð?ð?ð?ð?ð?@3ï?¼?$Ð?@îì?ð?ð?@ýï?€#é?xÉ?É?„?€BÚ?´?´À?À²å?å?€ØÛ?>Û?Pé?•Ñ?D¡?˜É?@Kæ?€ÞÕ?Ü?¤Ù?€\Ð?@Ö?ÉÑ?oê?Àé?ŠÙ?@dç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lë?ÀØí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àmî?€Ø?»Ç?€Úê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäî?¸é?@Yì?€ßç?¼·?p‰?€kâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñî?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?rê?€©ï?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?Àxî?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×í?ð?ð?ð?ð?@äï?ð?ð?€žë?ð?ð?ð?ð?ÀÖî?@ç?@Ùí?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?@Šï?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?§ï?À3ï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°í?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?€Gî?@oî?@oï?ÀPï?ð?Yï?î?Þî?ð?ð?ð?ð?ð?ð?€bï?ð?ð?ð?@Ðï?À–ï?ð?@Öï?€¼ï?ð?ð?ð?ð?Þï?ð?ð?ð?ð?ð?ð?ð?Àõï?@Üé?@öî?ð?ð?ð?€¼ï?@Qî?À&ì?ð?ð?ð?ð?ð?ð?@Úë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?€~Ô?à„?ðÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷í?¢ì?€×í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€wï?=ì?ð?ð?ð?ð?ð?ð?ð?@æî?À.á?±?“?4ë?ð?ð?ð?¡î?@ªé?ð?ð?ð?À2ç??ÀFà?ð?ð?ð?ð?ð?Àòï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?Àßï?ð?ð?ð?ð?€®ï?ÀÉï?ð?ÀÍï?Àpî?ð?€uï?Àãí?€ªï?@=î?ð?ð?ð?ð?ð?ð?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?Àåï?ð?@«ï?ð?€ðî?€ï?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?@‰ï?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?àï?‹ë?ÀÝî?ð?ð?ð?ð?ð?ð?€fê?àî?€èï?ð?ð?ð?ð?ð?ð?ð?ð?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?Þï?ð?ð?²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?@œî?€íê?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êí?Nï?ð?ð?ð?ð?Àí?Àï?ð?ð?ð?€àï?@‚ï?ð?óï?ëï?@©ï?ð?ð?ð?ð?¤î?ÀÑç?XË?€Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?Àßï?ð?ð?ð?ð?ð?ð?@ï?Àëí?@\ë?ð?ð?ð?ð?ð?ð?ð?€‚ï?€Få?€8ì?ð?ð?ð?ð?ð?ð?ÀJï?€úï?ð?ð?ð?ð?ð?ð?@pî?ÆÊ?èÝ?ð?ð?ð?ð?ð?€ î?”ª?ïÜ?@Êï?ð?ð?ð?@^ï?@†î?@‡î?Àí?$í?óá?K?`{?Ä?€[Ð?²Ø?@]ï?ð?Àè? ˆ?B?Þ?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À`é?€Gî?ð?€bî?€«?Ì»?@uá?€:ß?@Êæ?™É?„©?G×?f×?€R?Ä¡?CÄ?@=â?€å?¥é?ð?ð?ð?€ÿî?@1ê?@ë?€Òé?€ì?ð?Àöí?À|í?èï?±ï?@þï?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?_ï?Ûì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å?€^?ȸ?@!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çí?ýà?î¹?D¢?X¯?ô¥?¼¥?€mã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡î?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?€Àë?€—î?tì?@†í?@Iä?€aÜ?€ëß?ÀZï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aï?@]ï?ð?ð?ð?ð?ð?ð?Àýï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?>ï?À(í?Àuí?@qí?¸ï?ð?ð?Àºï?ÀÃï?ð?ð?ð?ð?ð?Óï?Àï?@îï?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?@Uë?ÀŸî?€ÿï?ð?€ï?€òï?€bî?ð?ð?€þï?Àõï?ð?ð?ð?ð?ãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?@©ê? ?ظ?@-î?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?Àëï?ð?Àâî?Àsé?@Gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fï?ýË?Àw?Àã?ð?ð?ð?ð?ð?ð?ð?ð?€úï?áÐ?€‰Ñ?Àï?ð?ð?ð?ð?ð?²ï?€lï?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?@´ç?ð?ð?ýï?ð?ð?ð?ð?ÀÉï?@’ï?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?@îï?ð?ð?ð?ð?@yî?€Ô?Àôï?ð?@ˆï?Àaî?ð?ð?€áï?€ñï?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?ð?ð?€ï?ð?€rî?@]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªï?€Æï?ýï?ð?ð?ð?€Íï?+ì?ð?ð?ð?ð?ð?ð?€‹ï?€‘ï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?‰ï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?ð?ð?ð?@–ï?ð?ð?ð?ð?ð?ð?€éï?ð?ð?À°î?ð?ð?ð?ð?ð?Šï?kë?èï?ð?ð?€ûï?ÿï?ð?Àûï?@ùï?ð?ð?ð?ð?ð?ð?€Ýï?Ô×?Ào?@Þç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?@Qé?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?Àbï?ï?ð?ð?ð?ð?ð?ð?ð?Åï?@þï?Àìï?@ºï?ð?ð?ð?À¤ï?Ë×? ‹?‚°?Èœ?€êÛ?ð?@™î?@ñî?ð?ð?@Vï?¾È?(•?ƒÒ?@.í?î?Àiî?ð?ð?ð?°î?@Tê?Ø´?€`ä?ð?¢ï?ÜÁ? u?€ÍÓ?À#ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?Àêë?ð?ð?À!è?°?€ôÑ?(?óØ?ûØ?(?DÑ? ’?[Ý?€Û? ?@$á?@Øê?ð?ð?ð?ð?ð?ð?ð?À–æ?@“ê?ð?í?@)á?€iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€/î?@cî?@—ï?€šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDî?Àæ?Âè?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?€Ð?€€Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@_ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@@ï?ÀÍî?ð?ð?ð?ð?ð?ð?åî?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bî?wë?€¼ï?Êï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?Šî?ð?ð?ð?ð?ð?ð?ð?Àî?À•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhî?@Êï?Àî?À›í?@eî?ð?ð?ð?ð?ð?ð?@¡ï?›î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?»ï?ð?ð?ð?ð?€Æî?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?@!ë?€,Û?ê³?xœ?€wç?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥ï? î?@ãî?€è?À‘ì?Ààï?@®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@që?ÝØ?è›?k?@§è?ð?ð?ÀÒï?ð?ð?ð?ð?ð?ð?€Ý?C?€%×?@‹î?ð?ð?ð?ð?õï?À5ï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?@cï?ð?ð?€ìï?ð?ð?ð?ð?€{ã?€¬Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ê?Àpä?@³ï?ð?+ï?@ë?ð?ð?ð?ð?ð?ð?ð?Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbï?€éï?ð?ÀÔï?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßì?€³ï?ð?ð?ð?ð?ð?ð?ð?ð?À>î?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°î?@]î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?€ìï?ð?ð?ð?ï?À}ë?ð?ð?ð?ð?€ûï?€²í?Qì?ð?ð?ð?ð?ð?ð?@'ï?€Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?îï?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?@­ï?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôî?Àhì?€‘ï?ð?ð?ð?ð?ð?ð?ð?Àïï?€Àï?€êï?ð?ð?@‰í?@À?@|?Àcè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œï?@ ï?7î?@ßì?ð?ð?ð?À{ï?ÀØî?ð?ð?€‡ï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?@$î?ð?ð?@Wï?€§ã?0Œ? ­?°”?€•Ð?½ê?Aé?À°?€^å?ð?ð?ð?ð?ÀRï?@Òï?†Ó?–È?GÄ?úÑ?€Øï?ð?ð?ð?@ç?øØ?ð?áè?°?´?†ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{î?€ÍÐ?Ù?€;Ü?l¼?ÚÝ?v?"Å?Vß?€UÒ?†¸?ÀÈå?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?3î?.î?€Øí?î?ð?ð?ð?ð?ð?ð?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?€Qî?ð?ð?ð?ð?ð? î?@9í?ð?Àtï?~À?€†?È?€Òß?€äÝ?+ä?”è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ï?@—î?ð?ð?Åï?ÀÔï?€zî?Àãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lï?ð?ð?ð?ð?ð?®ï?€ïï?ÀAï?@Óï?ð?ð?ð?ð?ð?ð?@çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?‡ï?ð?ð?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?Ëï?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?î?ÿï?ð?ð?ð?ð?ð?ð?@õï?À'í?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ï?€Lï?ð?ð?ð?ð?ð?ð?ð?ð?Àjï?€Oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?@pï?@ê?ð?ð?@ï?ð?ð?ð?ð?ð?€5ï?ð?€óï?@Dë?€EØ?\¢?€ ß?@ðï?ð?ð?ð?ð?ð?@áë?À½ï?€œí?ð?€¬ï?@lî?ÀZí?@Øæ?ð?áï?€íí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?Yî?€vÞ?wÝ? Å?è¾?€–Ù?€4é?Àîï?êï?Àï?ð?ð?ð?ð?ð?ð?€së?¬¯?þÝ?€óï?ð?ð?ð?ð?Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?€öï?ð?ð?ð?€îê?€#Ö?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?ð?ð?ð?ð?Õï?@Æï?ð?À ï?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒí?@Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±ï?@cï?ð?ð?ð?ð?ð?ÀÐï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?€ì?ð?ð?ð?ð?‹ï?öî?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?½ï?€àï?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?@ÿï?Àï?ð?ð?ð?ð?ð?€úï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lï?@€ë?Àœï?ð?ð?ð?ð?@ìï?ÀÐï?^î?@èï?ð?€ï?ð?€6æ?ˆ”?H°?À¿î?ð?ð?ð?À/ì?ÀFï?ð?ð?ð?€Tî?ð?ð?@cí?À×ï?ð?ð?€Øï?ð?ð?Àùï?€Ùï?ð?Àï?@$î?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?€,ï?ÈÀ?È?òæ?@Yç?„¥?à?@?p?€ Ú?nÊ?¬¿?€Ší?ð?ð?ð?@çï?òï?oÌ?€V?@Äé?ð?ð?@¼ï?6Ô?à?fÜ?'Þ?œ?T£?Á?€ìÛ?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rë?,¿?Ж?@}?@i?zÃ?šÙ?aÑ?T¢?€¬Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+ï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€Åï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?@²í?ð?ð?ð?ð?ð?@Îï?ÀŸï?ð?ð?ð?ð?ð?Àûï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?€ëî?ð?ð?Ìï?À@ì?ð?Àãí?¬¢?̱?À?¡ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çí?À#ï?€lï?@yï?€ï?€Sï?øï?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?$ë?€*î?ð?ð?@\ï?€%ï?¬ï?ð?ð?ð?ð?ð?€=î?€ØÜ?ì?ð?ð?ð?ð?ð?ð?€uê?€ñï?ÀÝï?ð?ð?ð?ð?@ôï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?€´ï?ð?ð?ð?ð?@âï?€¸ï?ð?ð?ð?ð?€Øï?iï?€yï?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?ð?€¼ï?€¼ï?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?oï?Àµï?À«ï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?Àôï?ð?ð?ð?À"ï?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rï?ð?ð?ð?ð?ð?4ï?€¼Ü?°‘??öÉ?€›é?€"ï?À!ï?ëî?ð?ð?Àöî?@^ï?Ÿï?À²ì?Üí?'ã?}å?ÀŠç?€:Û?€%Ü?€>ë?€Âï?@yï?@ðï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wï?ÀWè?ôÒ?ì´?€˜Ñ?À ã?@¸ï?À¤ï?@Ñï?@ëï?ð?€Þï?À¼í?ð?ð?Óï?Ë? ‹?dç?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?Àï?ð?ð?Àûï?@èï?ð?ð?ð?úï? ê?@Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?€ûï?ð?ð?ð?€ûï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@@î?ð?ð?ð?ð?ð?(î?ð?€òï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;í?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?@ùï?@þï?€éï?ð?ð?ð?ð?ð?ð?ÀØï?äï?ð?ð?ð?ð?éì?@Ìï?€êï?ï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?˜î?ð?ð?ð?üï?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?æï?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?ð?Æï?"î?@÷ï?ð?ð?ð?€oì?À‚ì?¥ï?ð?ð?@òî?€bï?€lÞ?c?€Ø?ð?ð?ð?Èï?€ ï?@ýï?ð?Àëï?ÀÅï?€éï?ð?@,ë?À•í?@Éï?À{ï?Ûì?@¤í?—î?‹î?@;é?ð?øî?ïï?À÷ï?ð?¡í?ð?ð?ð?ð?ð?ð?ð?ð?@˜î?ð?€±ï?ð?ð?ð?ð?ð?Àõï?À\ï?ð?ð?Àï?ð?Ší?`v?­Õ?ùí?ð?@Mï?Àùæ?€½ß?ÕØ?Üï?ð?ð?ð?ð?½ï?eÂ?ä?ð?ð?@¹ï?µÍ?pÉ?€Pê?€ÐÖ?€í?ð?ð?ð?×í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€^á?;È?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯î?ð?ð?ð?ð?€ïî?@¿ï?ð?ð?ð?ð?ð?ð?ð?Àpî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uì?ð?ð?€¯î?ð?ð?@÷ï?À;î?Ôï?Àï?ð?ð?ð?âï?À§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?ð?ð?ð?×ì?ð?@Öè?`|?i?p„?Ȭ?ÙÝ?@µí?ð?ð?ð?ð?ð?ð?ð?ð?€!ï?Àæì?À‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?€é?€Úì?€éï?ð?”ï?Àå?ð?ð?ð?€±ï?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?ð?ð?ð?ð?@âï?€¸ï?ð?ð?€Wï?ð?¶î?€Sì?¿å?@óê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?Àëï?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?–í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›í?ð?ð?ð?ð?ð?€bÞ?ÊÝ?@‰ï?€ï?@õï?€ï?À-ï?ð?ð?À{í?Úç?ÍÅ?(¼?à~?€†Ñ?€‡ã?@Êç?@¦ï?®ï?€*ï?ÀÐî?Íî?ð?ð?ð?ð?ð?ð?ð?ð?¤è? ‡?€Ö×?ð?ð?°í?À¥î?¹ï?€Dï?€Íï?ð?ð?ð?Ñ?¼Õ?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?€ûï?îï?ð?äï?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?À…ï?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tï?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?€ï?ð?ð?¦ï?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?€úï?€«ï?ð?ð?öï?Kï?À«ï?ð?ð?¦ï?ð?sî?@Sí?ð?ð?ð?@ïï?ð?ð?ð?ð?×í?÷ï?ð?ð?ð?ð?ð?ð?Àóï?€êï?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?À¡í?€Yî?ð?ð?`ì?Àjì?ð?ð?ð?ð?ð?‚ï?2Ì?„­?éç?ð?ð?ð?Œë?ð?ð?ð?€ìì?@~í?›î?Œî?@"ì?=ì?Zç?€9ì?À·î?€Íï?Àï?€ ï?€Jï?ð?€Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyì?pë?ð?ð?î?ð?áï?Úë?€„ì?ð?ð?ð?€Ü?TË?À6ê?Àäç?ð?ð?@ßî?ìÇ?‘á?ð?ð?ð?ð?ð?<ï?À¨?¾Ò?@•ï?ð?ð?€í?€Qè?bÀ?8?€äØ?ð¹?€>Ú?À¼ï?ð?ð?Àoï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ì?ÏÈ?T»?€ÿÜ?ð?À*ë?À—ã?€³ß?À}ì?ð?ð?ð?ð?ð?@>î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?@Öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=î?ð?ð?ð?ð?@ýï?Àñï?ð?ð?ð?ð?ð?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ë?îï?€¸Õ?4§?¼Ú?@^à?€å?@õï?ð?ð?ð?ð?ð?ð?Àîî?@Ëî?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?¾ì?Àbí?ð?ð?ð?ð?ð?ð?€Ðï?Àëï?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?@î?Àeí?Àî?Ýï?ð?ð?ð?ð?ð?ð?€yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?ð?ð?ð?@Íï?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;ï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?9ì?ð?ð?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?À¼ï?ð?ÀÛî?ð?ð?ð?ð?ð?ð?ð?ð?@Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?Cï?@Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?’·?@Š?àÝ?@3ç?€ï?ð?ð?cï?úî?Õí?€hà?È?v?®?"³?tÇ?Ò?Àbâ?@iè?@áí?€7í?ð?ð?ð?ð?ð?ð?ð?ð?éí?t¯?€#Ø?ð?ð?üï?@Ñï?ð?€¼ï?ð?ð?ð?€êï?€¦ß?$Ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)ï?€ôì?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµî?Àî?€\ï?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«ï?ð?ð?ð?À£ï?@ìï?ð?@’ï?ð?ð?ð?ð?ð?ð?ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zí?€×ï?ð?@ î?@õï?ð?ð?bï?À@ë?ÀÐë?ð?@§î?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Lï?ð?ð?ð?ð?@iï?Àùï?ð?ð?Óï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?€Àê?@<ç?ï?À.ä?€í?ð?ð?ð?ð?í?QÛ?? €?‡?h±?Àïí?ð?ð?ð?€®ê?ÀÍï?€áï?€ºë?€pí?À í?(ï?@Âï?ð?ð?€¾î?@aì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?@ýê?ð?ð?ÀËí?@=í?ð?€úï?€Qï?ð?ð?ÀÞë?˜ª?4±?þ²?@$í?@hï? é?€o?€ÉÑ?Àÿï?ð?ð?ð?ð?ð?@‚á??€îà?ð?ð?€Žî?ð?ÀŽï? á?€z?mË?wÈ?@.ã?ð?ð?ð?ð?ð?ð?ð?@Þï?À»ï?ð?ð?ð?ð?ð?€=ï?@.æ?ˆ“?€ƒ? ‘?Q?€?€ˆ?R?&Î?€Ê?€j?È©?€¬á?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*ï?€Ûï?ð?ð?ð?ð?ð?@Žï?ð?ð?ð?ð?ð?ð?ð?€ë?€µï?@ãí?@ê?ì²?€^ä?Àçì?Ùï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹é?ÀGï?ð?À!î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?À^ï?€ï?¥ï?À»ï?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?@æï?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?€Ûï?ð?Àÿï?ð?ð?ð?ð?ð?@^ï?Jï?ð?ð?ð?ð?Àúí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íì?@í?€•ï?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëî?€#Ñ?š¼?À´à?×ì?€ ë?1î?’ï?@Fë?€¶Ú?L ?`‡? ?`w??€KÒ?áî?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?À±î?€ß?@9ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nî?Æ?˜œ?@Ýì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€€ï?@sî?@éï?À¨ï?@ï?ð?ð?ð?ð?@Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€Ùï?ð?ð?@"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?÷ï?ð?ð?Àï?Óï?€÷ï?ð?€Òï?ð?ð?ð?ð?¥ï?ð?ð?ð?ð?@+î?@;ì?ð?ð?ð?ð?ð?ð?ð?ð?À.ê?Àÿï?ð?ð?ð?ð?ð?ð?ð?€õï?Àóï?ð?Àë?@‹ï?ð?ð?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?@ië?@üê?@µï?ð?@ÿï?€pë?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@`ï?ð?ð?ð?ð?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wï?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï?´ï?@3ï?€úî?@†ç?¬Ò?ê?ð?Û?êç?Éï?À»ï?ð?ÀÞï?@˜â? ™?€äÑ?€ÉÐ? –?dÙ?@þï?ð?ð?ð?ð?ð?ï?À1ï?@´ï?Ãï?ð?ð?ð?ð?À»ï?÷ï?@çï?ð?ð?ð?ð?ð?ð?€&ë?€[ï?ð?ð?@‚í?ð?ð?ð?ð?@ºï?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?©ã?0?¨?€©Õ?d¹?}Ì?@ï?ð?@õï?@ì?€²í?ð?âØ?]Í?ð?Àôï?@Èî?ð?ð?gè?À`?ô¡?ñÂ?À¤å?ð?ð?ð?ð?ð?ð?À?ì?@Bï?ð?ð?ð?ð?@í?‚Ð?žÛ?uÛ?a?ˆ?T»? ƒ?€\?Hœ?€5Ý?À’è?ÀÃì?·?€&×?@çï?ð?ð?ð?ð?ð?ð?ð?€mì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?}î?ð?@šï?ð?ð?ð?ð?ð?ð?À`ï?ð?ð?Àðî?Øë?ð?ð?Àpï?Àî?3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?€òá?ÜÀ?¸?4¥?žÚ?À®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àeî?À‹ë?€âè?ÀÇì?×ï?@_ï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?€îî?@]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?ÀÞî?ð?ð?ð?ð?ð?ð?@åî?Õï?ð?Àýï?@iï?Ñí?€öî?@µì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sî?@Xï?ð?ð?ð?ð?ð?ð?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?€Lï?ð?ÀCï?Àµí?ð?ð?ð?ð?À®ï?ÑØ?6?0Œ?ðÇ?Àwé?éï?@©ê?Ö¿?€¯? ±?€]?”¿?€ÿî?@Áî?ð?@šï?ð?ð?ð?ð?ð?ð?€ î?0º?`~?€âÐ?@¸ï?ð?ð?ð?Jï?ð?ð?À`ï?ð?ð?é?0ˆ?P?ÀÚê?ð?ð?ð?ð?ð?ð?ð?@šï?ð?ð?ð?ð?ð?Àñï?ð?@Žï?ð?ð?¥ï?Uï?€ùê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@åï?ð?ð?@ãï?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðî?@^î?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Jï?ÀÈï?€Ùê?Wî?ð?À9ï?úï?ð?ð?ÀLî?ð?ð?ð?ð?ð?ð?ð?ð?@pï?€ï?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?¿í?€=ï?ð?ð?ð?ð?ð?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?ð?Àuë?@gâ?Ã?¼ê?Cï?ð?€-ê?³?€â?À¶í?ð?ÀKå?’³?à³?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?Öï?ð?ð?ð?ð?ð?ê?êë?@ûê?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xï?€àî?À|ï?€@î?ð?@ê?´ ?6?ü¶?r³?à‡?P‹?ì³?æÓ?]í?ð?ð?ŒÌ?`¬?3Þ?³Ä?l¼?€íï?üï?@]ï?€qï?ð?€öè?Àf? –?@Ž?ü ?À?æ?Àí?Ðï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?À‚î?ÛÔ?§Ç?€ôÖ?‡Ã?†Î?CÁ?P¦?Àc?$¥?Íä?Àvâ?€Më?@â?š?€õã?ð?ð?ð?ð?ð?ð?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bï?@ûî?€gì?@fì?€`ì?ð?ð?ð?€Æí?ð?Àîî?@0î?@é?@äã?€ë?Òï?ð?€Ìí?Cê?ð?ð?ð?ð?ð?ð?@öï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€wï?ð?ð?ð?ð?ð?ð?ð?ð?€µè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@3ê?ZÛ?€dÒ?€W?T?Г?@àã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@<ï?Àóê?€ìï?@§ê?@lì?Àìï?€îí?€å?Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žï?ð?ð?ð?ð?ð?@½ï?€1ï?ð?ïï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëí?]æ?Àçî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcï?@tï?@Žï?ð?ð?ð?ð?ð?ð?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?<ï?ð?ð?ð?ð?ð?@ýï?©ï?ð?ð?€|î?€ãï?¤ë?ð?@}î?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?@<î?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À#ï?€¦ï?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?€‹ï?€Òç?iÉ?¬?@•å?À-í?MÔ?€ Ý?èÐ? x?5Ñ?€Ýî?@þí? Í? µ?y?€‡?D?Àr?€å?Àï?€üï?@þï?Ýï?ð?ð?ð?ð?ð?ð?€Žï?€sá?DÒ?X ?À!ã?ð?ð?ð?øï?@Ãï?´ï?ð?ð?ð?Àòï?nà?6?€¸ß?ð?ð?ð?ð?À‚ë?ð?ð?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åä? Å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ÀNî?€øï?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?7î?€ûç?ð?ð?ð?Àèï?ð?ð?ð?€ñè?Àóï?ð?ð?ð?¥ï?ð?ð?¥ï?Àèï?Àèï?ð?@éï?ð?ð?ð?ð?ð?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?À›ì?ð?ð?ð?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€:ï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀWï?€€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?/í?Ë??Ô?ÀÕë?@úï?ð?Öï?xÉ?@{?Ò¹?Àâç?Ã?¦?`?ÃË?ð?ð?€÷ï?ÀŠï?ð?ð?€Óí?@©ï?¿î?ð?ð?ÀÛï?€ùï?ð?ð?ð?ð?ð?ð?@Üï?@þï?ð?€Wî?@ë?ð?·ï?€÷ï?ð?ð?ð?¥ï?À¡ï?€Õï?ð?ð?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?€¥ï?€ñï?Àí?ð?òï?­È?U?AÏ?@î?žÑ?€NÐ?îÒ?€-ï?Àòí?¥Â?0‚?€Ÿè?ð?ð?ð?@×î?€:í?¨­?ðš?ãÓ?×Ö?À™å?@Þî?€Áê?ð?ð?ð?ð?ð?ð?ñï?Àkè?µÕ?€1ã?ü¨?N¹?îË?Àþâ?€$á?§?@áâ?À²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@_ï?@‰ï?€ï?À×ï?ð?ð?ð?ð?ð?ð?ÀÓï?@‹ï?tÝ?ð?î?@/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òí?ÀAî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@/î?@©ä?Àë?€Æï?ð?Þï?Àï?ð?šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çí?ð?ð?ð?Àyï?€Àì?@8ä?@šå? ï?Àwï?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉï?@~á?¸À?,§?x«?`ƒ?®µ?Üà?@³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€Îï?ð?ð?'î?Àë?€éï?À´ì?ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢í?€Äí?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?Àÿî?Ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? æ?7Ð?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?yï?]ï?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?@²ì?ð?ð?ð?ð?ð?€§ï?À×ï?ð?ð?€xï?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öî?@9î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?€àí?@òï?ð?ð?ÀÅï?@ï?Àyï?À•æ?Ü«?ú¸?ø”?t½?€(ã?€ä?€Ü?ºÃ? |?À–?D§?oÄ?À¿î?@Êï?.í?@®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜à?b?€t?Àê?ð?ð?ð?ÀÃï?ð?ð?ð?ð?Àäï?€ìâ?ܾ?ÁÔ?ð?ð?ð?ð?eç?@½ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?0ê?OÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXì?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥ï?@Ãï?Àäï?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·î?€Zî?ð?ð?ð?ð?€[ï?@Òï?ð?@õï?€ñî?ð?ð?ð?ð?ð?ð?@éï?À>ï?“ï?ð?ð?ð?ð?ï?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?€çê?€Šê?À}î?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛî?±è?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rì?€&Ó?2É?Àí?ð?ð?ð?À–á?¶?€fØ?çÀ?¤·?€9Ý?ð?Tï?Eì?@—î?ð?ð?@7ï?€áî?Àwî?ð?ð?@+î?€¤í?ð?ð?ð?€Òï?ð?@¨ï?€Së?@yï?aë?@õé?À@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žî?€oï?ð?ð?ð?Àêï?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sâ?›á?€»?Ñ?€ŽÓ?@u?p?ÿÄ?5Ç?€o?À€?€lÑ?ð?@Hï?¦ß?D¿?‡À?Àk?¤¸?@4ã?@jê?ÀXê?@âë?Àåé?€Wï?ð?ð?ð?ð?Bä?€GÝ?€ Õ?À„á?Gî?OÛ?è“?åÞ? ±?Ä´?@>ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÞØ?€ôÖ?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sï?€Xã?ÀOâ?Àõæ?Àè?uî?šë?À»ï?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?Îé?ð?@Âï?@fï?@Øé?†Ä?€ Ô?€Ãç?¶ï?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?@Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sï?4É?Ð’?¤£?ðƒ?0¨?@‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäî?Xì?ð?ð?ð?À•ï?€àï?ð?ð?ð?ð?ð?ð?ð?€œî?€pï?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ï?ÀÌí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Gí?€=í?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.ï?@çî?ð?ð?ð?ð?ð?Åï?À(ë?€{ï?À¦î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ï?çï?ð?ð?ð?ð?À9ï?€íï?ð?ð?ð?ð?ð?ð?€ªî?€ã?€Fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?‚î?ð?@{ì?ï?ð?ð?ð?ð?ð?ð?ð?ïî?ð?¶ï?Àdï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\î?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¦ï?@Úï?ð?ð?ð?ÀÃï?šê?À÷í?5Æ?É?Àí?€ ê?€OÛ?¬ ?Àk?€–ß?€Âï?Àœë?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?€fï?€ß? ?LÃ?@Úî?ð?ð?ð?ð?@éï?€Òï?ð?ð?€èì?ع?Ä?€-í?ð?ð?ð?ð?À—ï?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?€øï?Úï?ºï?rí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?À¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ÿî?Ñí?ð?ð?ð?€õï?@Æï?Àžî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|ì?€î?ð?ð?ð?€Ûï?œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ÀÌï?rî?@Hì?6í?À ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿ï?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?Àrî?ð?@ î?ˆÀ?ÉÈ?@Në?ð?ð?ð?@òí?¸½?Ð?Ð’?p€?X•?@Jä?ð?÷ä?õì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ð?ð?ñî?€í?À*ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºï?ð?ð?ð?ð?ð?ð?€wï?ð?@Bï?€¬ï?ð?ð?ð?ð?ï?€wï?€òÛ?˜Ä?l¢?‘?@€?`?¦?‚Ù?€ˆæ?ð?À ã?€R?¾å?2Å?€Òë?@vì?@ºî?@õï?ð?ð?ð?ð?ð?€êï?ÀÞí?Àxç?øÅ?>Í?(ì?€öç?…Î?0Á?€”?@¦?ì£?¸“?°?(­?€üä?qï?ð?ð?ð?ð?Úï?@žï?Àóî?ÀŽê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?ð?™ê?ÀCí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ï?€®Õ?О?€µã?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ç?Àî?Øï?ð?À»ï?€Žï?xç?î?À+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?ÀÀï?ƒÝ?†µ?X¨?Œ¬?üØ?­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?ÚÒ?>?4?Ó?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2é?¯ï?ð?ð?@”ï?ûï?€ï?ð?ð?ð?ð?ð?ð?*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?À†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ï?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øî?€¢ì?@[é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À´ï?@³ï?ð?ð?ð?ð?Àî?@ýï?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ýï?Àgï?uî?/î?ð?ð?ð?ð?ð?ð?ð?ð?Xï?Ìî?°ï?¥ï?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?Ààí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?@í?@‰î?`í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@á?À«á?F?ì´?¾È?ð?€U?À¿?½å?@‹ä?Jí?@éï?Àï?·ï?ð?€ßï?ð?ð?ð?ð?ð?ð?À»ï?üï?À æ?½Á?Ä¢?€@æ?ð?ð?ð?ð?À»ï?ð?×ï?î?@úï?Já?2Å?€¥ì?Àæï?îï?ð?ð?ð?@Äï?ð?÷ï?€Ûï?ð?ð?¥ï?@>í?ð?ð?Jï?ð?ð?@éï?ð?Àðï?@ï?ð?ð?ð?À ç?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?ð?ð?ð?ð?@êï?ð?ð?€kí?ð?ð?ð?ð?î?@Þï?ð?ð?€¸í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›ï?ÀÄï?ð?ð?@éï?ÀÄï?÷ï?ð?ð?øï?Àþï?@Žï?Àáï? í?Àóï?ð?ð?€Ôï?Àå?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?@¯ì?¿í?ð?@í?X•?pÌ?À•é?@+ï?ð?ð?ð?ãë?~²?Àq?`|?È?%É? ‹?€­Ø?€Õì?¹Í?@Îã?@Êé?€6Ö?°ì?ýï?€Õï?ð?ð?3ï?ð?ð?ð?À˜ï?@šï?À¥ï?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çÑ?€?Hš? ~?(”?4¬?ì¢?€a?KÆ?ÀØî?ð?ð?€¶æ?ÐÄ?¢¿?èµ?@öë?ÀQî?@.é?€­è?ð?ð?ð?ð?ð?ð?ð?ÀÔî?Àöì?'Ç?ÀWà?€ßï?ð?@wê?©?ư?|±?#Ï?|ß?°³?€Ÿß?@öá?:½?>ê?ð?ð?ð?ð?ð?€Òë?À™î?@ãí?ÀÜï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?@ï?ð?€Õè?@{å?€™Ü?zî?ð?ð?ð?ð?ð?ð?†î?€¼è?€Ðí?hà?è?£ï?ð?ð?ð?ð?ð?ð?ð?—ï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ÀÒï?oã?€»í?ð?ð?ð?ð?@òè?Àõè?À«ì?€Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uí?@‡ä?0“?\?8“?€:à?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ß?"É?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ÀÖê?ð?ð?ð?ð?À–ï?ð?ð?ð?ð?ð?ð?ð?eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?Èè?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?À€ï?ð?ð?ð?ð?ð?ð?ð?€ùï?€êï?£ë?ð?ð?ð?ð?Ëï?ÀØï?@íï?€ˆï?ð?€Õî?€ôï?€Šï?ð?ð?ð?€îí?ð?ð?ð?ð?ð?ð?ð?ð?€7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dï?€¬ï?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?“Ñ?è²?†À?€Yå?€“î?€ï?Àèì?ð?Àï?€ôï?ð?Àï?×ï?ð?ð?ð?ð?ð?ð?ð?ð?À©è?ðƒ?fà?ÀÕï?ð?ð?ð?ð?ð?ð?ð?À ï?Àªï?Ú?cË?@í?@ï?ð?ð?ð?Àãî?@¦î?ð?ð?ð?ð?€Çï?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?³ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?©ï?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨î?èî?ð?ð?ð?ð?ºï?ð?ð?òï?ð?ð?íï?Þî?„î?ð?ð?ð?@?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—ï?À°ï?@uï?ð?ð?ð?@Îï?€yï?éï?ð?ð?’ï?³ï?ð?ð?ð?ð?@Âê?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃì?€Ôä?ð?ð?@]î?'Ä?²À?€Zã?À‚ì?ð?ð?ð?Àí?×É?Ä?‡ß?ÒÎ?º?†À?€>Ö?jÃ?h«?ø¦?À›?€Dè?ÀÄî?§î?À‡ï?ð?ð?ÀÕï?@ï?ð?ð?À‹ì?íë?À–ï?ð?ð?ð?ð?ð?ð?€ðï?Ûï?ð?ð?ð?ð?ð?ð?ð?€Øï?@Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?À÷ï?ð?ð?ð?ð?ð?ð?ð?@Mï?@½ì?D?R?A?¢Â?&¿?€ï?ð?ð?€Yæ?«Ë?à·?€b?€ÆÚ?À ë?@éì?À ï? ï?@Òê?@ï?Àœí?€êê?aï?ð?ð?@í?@Âé?ÀÅå?@éç?€Êê?€ í?ª¼?R?x»?Àë?@Å?úº?@µç?vÄ?!Ï?€Kä?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªï?ÀÃê?•í?~î?@ƒê?éá?@ßï?ð?ð?ð?ð?ð?ð?@hï?ð?ð?ð?@yî?ð?ð?ð?ð?ð?ð?ð?ð?€ï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?jï?€ãï?€!ë?@°è?é?Àùë?ð?ð?Àè?„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?të? ç?@ á?€ÀØ?€TÓ?£ï?»ï?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+ß?ÄÆ?€Iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òí?ÀÝë?ð?ð?ð?ð?ð?ð?@òë?@ùï?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òí?ð?ð?ð?€Žï?À»ï?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?€Ñï?€1í?@Öî?ð?ð?ð?ÀÔî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?€üï?Àiï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?€¦î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Gï?áç?‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¦ï?@­î?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ð?ð?ð?ð? ï?)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?@3á?àx?Àf?t«?@Fã?ð?ÀŒï?ð?ð?@hï?@,î?ð?ð?ð?ð?ð?€ºï?@½ï?ð?ð?ð?ð?ð?¼ï?uÈ?ÀŒ?ˆ©?€¨ì?žï?xï?ð?ð?ð?ð?ð?ð?$î?!ç?€<Ù?Â?@Çì?ð?ð?ð?éï?ð?ð?ð?ð?ð?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?À’ì?@|í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{ï?@4ì?ð?ð?ð?ð?ð?ð?ð?À©í?ÀÇî?ð?ð?÷ï?ð?ð?@—ï?@fë?ÀÄï?ð?ð?ð?ð?€íï?€·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©î?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?¿é?Àbï?ð?ð?€ùï?€Øï?€xî?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀGä?€åé?€–ç?@`ï?€^è?€ Û?èÕ?ïæ?ÀFë?ÀPî?ð?ð?€ôî? Í?p?¬ ?Ôß?@~å?€»Ô?v?@y?Àg?€ÎÝ?ÒÑ?~Þ?ôî?€ï?ÀÊî?@ ï?€Eï?ð?ð?@¡æ?vï?ð?Àòï?@Èï?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?€î?™í?ð?ð?@2î?@ïï?@¼ì?@œï?ï?ð?ð?ð?ð?ð?Àõï?€äÝ?D®?Q?Àx?@z?ðŒ?^Í?ýÄ?0ã?ð?€Íï?@Aâ?®¶?€FÓ?€å?uÅ?óÀ?À?JÃ?`Î?Àlâ?@âá?ýÉ?;Ä?/Å?PÏ?€mì?À“ï?Àùï?ýï?¥ï?€wç?‰Û?×?ÿÔ?Ô¸?€Žé?Å?À–â?@*ï?@çê?Uï?@øï?ð?ð?ð?ð?×ï?ûï?ð?@×ï?€Åî?ð?ð?À ë?€¥ï?ð?ð?ð?ð?ð?ð?ð?©ì?@Lí?€úï?ð?ð?ð?ÀŽí?Jï?ð?ð?ð?ð?ð?ð?ð?Àhî?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?À î?Àƒì?€Ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?€¨ê? ï?ð?ð?ð?ð?ð?ð?ð?ð?@zí?€Œâ?9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?)ï?@Åê?À¶ì?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€­Ü?4¬?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿì?€Öë?À¹ï?ð?ð?ð?ð?€ºê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?€!î?ð?ÀZî?@Mï?ð?ð?€î?€ôí?Eí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%í?:ï?Àí?@Zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?@Ðï?»í?€.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä?…?rÛ?ð?ð?ð?ð?ð?ð?ð?ÀÆï?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?@ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?ÀPï?ð?ð?ð?ð?ð?ð?ð?@úî?€/ë?@¼ï?ð?ð?ð?ð?Xï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒï?Åï?ð?ð?ð?@î?éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õë?Šï?@ßê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kï?Fì?ÆÝ?¤¢?€P?w??(»?!ï?ð?@Ðï?€Ïï?Lí?€¼ï?@þï?@Îï?ð?ð?ð?ð?ÿï?ºï?ð?ð?ð?ð?ð?ð?@‹å? ¢?Ê?¡Æ?À´ï?À¾ï?ð?ð?ð?ð?ð?ð?€?ê?±?Àl?QÍ?ÇÖ?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?Àï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€>î?Àíï?ð?ð?ð?ð?À;ï?ð?@tï?@ï?ð?€&î?À&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆï?"ï?ð?ð?ð?ð?ð?í?€ýé?ÀAï?ð?À÷ï?ð?ð?À3ï?€¢î?ð?ð?ÀÊï?”î?@ê?2ç?@¨ë?zï?€Üî?Àfî?€1ï?ð?ð?ð?ð?ð?Òï?ð?ð?ð?ð?ð?ð?Æï?ð?@ýï?€eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ì?ð?ð?ð?ð?ð?Çï?ÿï?ð?ð?ð?Bî?@}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?@Ûï?ð?@úë?€Xé?rà?óã?Àëì?À"å?à‡?€Ñ?AÇ?Nî?ð?ð?@ì?®º?H?Q?€®Û?€ýï?ÿï?€î?ð?ð?ð?€Ïé?À â?Àî?ð?ð?ÀÔî?ð?ð?ð?ð?ð?ð?ð?€Ôî?ð?ð?ð?ð?ð?ð?ÀÅï?€Xî?@æï?€°ï?@ìï?ð?€ ï?€¥ï?@öï?ð?,ï?Àÿï?Àxï?*ï?fî?ð?ð?ð?Àÿï?@bî?Žã?€?æ½?F¹? ²?€jå?ÒÝ?@®?`Š?€Ú?À}à?€­Ô?À0ê?Àë?€Úà?ð?ð?€ä?ð€?hÏ?À é?€xâ?€R? ?Àã?]Þ?Œï?ð?@Zë? ß?PÊ?àƒ?œ·?®Ê?€®å?ð?ð?ð?@sî?uÍ?@Vä?€µÙ?ž¸?`Ÿ?€²Ñ? z?Ʊ?má? Ê?ÀÀì?ð?ð?ð?ð?ð?ð?ð?ð?€·ï?@î?@×í?ð?@üé?À^ï?ð?ð?ð?ð?ð?ð?ð?bá?²è?ð?ð?ð?ð?ð?ÀÓï?ð?ð?ð?ð?ð?ð?ð?ð?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?@Oè?@Bí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀSæ?øÂ? ¬?"ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?jâ?~À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùí?@yê?@ôë?nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?î?€`ï?ð?Àßî?ð?ð?ð?€ºî?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ì?€Nê?@<ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç?@çê?ð?ð?ð?ð?ð?ð?ð?ßï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»î?Àê?•ê?ð?Wï?ð?ð?ð?ð?ÀÜï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rì?€cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?îï?ð?ð?Æï?€ãî?ð?ð?ð?ð?ð?ð?@#î?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?ÀVè?ƒÔ?€WÑ?Â?x×?„Ù?w?|§?€çß?À^ì?€$ï?@õï?À^ï?@î?Mï?ð?€§ï?ð?ð?ð?ð?ð?ð?ð?€¢ï?Àlí?À±î?ð?ð?@ï?p½?€Y?€³ã?žÊ?IØ?ÀÜï?÷ï?ð?ð?ð?ð?Àï?ð?€¯Ö?p ?À-ï?ð?@Ùí?Àé?@¢ï?€5í?ïï?ð?ð?ð?À×ï?(ï?Àòï?À€î?Àî?€3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€¨ï?ð?ð?ð?ð?€Ìí?€«ï?Îï?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚî?@kï?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?@3í?€¿í?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?@-î?@úè?Uë?€§ï?€gí?€xé?Àné?ýï?ð?ð?ð?ð?ð?ïï?ð?»ï?ð?ð?ð?;ï?€«ï?@öï?Àôí?ð?ð?ð?€Ãï?+æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?Àpï?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?@·î?À™ë?lÝ?€’Ó?€tã?º?d¯?À\ê?ð?À=ï?Ð?N?*Ü?ð?ð?ð?Àï?ð?ð?¤í?@@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕî?Ií?ð?ð?ð?ð?€üî?î?ÀPï?@•í?ÀÖï?ð?ð?€‘ë?ÀÊï?ð?ð?ð?ð?ð?€ï?ð?ð?Àï?ð?Öì?Å?8š?°‚?ÉÎ?7í?@#é?@Âç?@Üï?ï?@xè?šÏ?—×?@á?€.Ü?€á?Äé?€×ï?ð?ð?³ï?€ÖÕ?Û?Úï?ÀÎï?ºÏ?Xš?»?:?@m?°Ô?ÀÐï?ð?ð?ð?ð?ð?@ƒï?Šæ?XÇ?€öç?@±ê?€è?€[å?€Áï?ï?Ȫ?AÉ?ÀIç?éÍ?¥Á?€X?¶¿?bÛ?À¶ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.è?ÕÙ?ð?@lï?À~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?€×î?€•ï?@„ï?ð?ð?ð?ð?ð?ð?ð?ð?üì?@áî?ð?ð?ð?ð?ð?ð?Àóï?ð?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5î?ÛÔ?6?Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?ð?@Ñæ?€P?€pÒ?ð?ð?ð?ð?€âï?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôí?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³ï?ð?ð?À\ï?åé?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@cî?ð?@óî?€®í?ð?ð?ïï?§î?ð?ð?ð?ð?@Ûï?äï?€Ðï?ð?ð?ð?ð?ð?÷ï?Óï?ð?ð?ð?ð?óï?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@çï?ÀÓï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸î?í?ð?ð?ð?ð?ð?ð?ð?ôï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âï?ÀGï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?Àzì?ð?ð?ð?ð?ð?ð?À®î?Òï?ð?»ï?ð?ð?ð?@òï?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?À%ï?ð?ð?ð?ð?ð?ð?ÀEî?›î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥î?@ÿï?@Ûï?@9î?€ï?À^ì?®Æ?@…?ð„?¼µ?t¨?$¼?€¦Þ?@7î?@½í?ÀCã?ÀPí?Rí?ÀGï?Àî?ÀGï?€Úï?À‡î?ð?ð?ð?€ýì?@Xî?Àaê?À.í?ð?ð?€²å?€h?d°?À¾ê?Üà?h?€ÌÒ?€cí?ð?ð?ð?ð?ð?ð?ð?~ï?Â?κ?ÀÞá?¾ï?ÀQæ?ÕÔ?€Rë? ë?Àlî?@Íí?·ï?ÿï?ð?€Wï?@ûï?ð?ð?ð?ð?ð?€æï?ð?ð?€pî?@$à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?@Ëï?ð?ð?ÀWì?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?Àöï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?wî?@ÿî?€Õï?€pî?®ï?³ï?ð?ð?óì?€•ï?ÿï?ð?ð?ð?ð?ð?Àùï?ð?ð?ûï?ð?ð?éï?@!ï?ï?€ëï?ð?¤ï?@Òï?Àúï?€Yê?ð?ð?ð?ð?ð?ð?Àýï?°ï?Àåï?ð?Àßï?Àï?ð?@úî?€zï?éï?ÀŒï?ð?ð?ð?€èï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?À×í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mî?@Dì?ð?ð?ÿï?Àî?Æí?‡î?€PÐ?´¤?è ?€å?À0ï?@%ã?Š?@h?@/è?ð?ð?ð?Åï?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?ð?ð?@Ší?ñï?ð?ð?À ï?ð?yï?Àxî?ð?ð?ð?ð?ð?ð?ð?Áï?€×ï?ð?@…ï?ð?ð?ð?ð?ð?ð?$ï?±ï?ð?Õï?Àÿï?€€â?€d?h¬?À¹á?ð?ð?ð?ð?ð?Oï?ð?ð?ð?ð?ÿï?¥ï?ð?ð?ð?€’ã?Б?çÌ?öË?@d?Z±?€_Ú?˜¤?ÁÏ?ÀÈí?Àúí?@ûï?ð?ð?ð?Àuï?ÀŒï?ð?€?î?@åä?L·?µ?À?€áÞ?À:ï?ÉÉ?ø”?@Iã?€bÐ?d¢?ÐŒ?€=Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?ÀÅä?@nï?À@î?ûí?ð?ÀÁé?Àîç?ð?‘é?òË?À í?ð?ð?@éï?@½î?ð?ð?ð?ð?ð?ð?@"ï?ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£í?Àuè?´ï?€Äç?Kí?ð?ð?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðé?P¡?¾¾?Jì?Àèï?ð?ð?ð?ð?€úï?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]ì?—?*×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?‘î?@ì?Àéï?ð?Àªï?€³è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?@ûé?ð?ð?@ î?Àûï?Àî?@‰ì?À+í?@Òï?ð?€Äï?@Èï?ð?ð?ï?€óï?ð?ð?ð?ð?ð?€¼î?@=î?ð?ð?ð?ð?Àˆï?\î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?Åî?ð?ð?ð?ð?ð?ð?ð?À„ï?ð?ð?ð?ð?ð?ð?vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±î?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?@žï?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûì?Àõï?€ÙÞ?S?r¸?P¤?¤¸?€`?kÄ?cß?ã?@¦ç?€:Ò?€~Ø?@…ç?@Úè?@zã?Zî?@ùë?€Àï?ð?ð?@Ñï?ÀÁï?@Rí?÷î?ð?ð?ð?@Æï?€wÕ?ˆž?Üã?]Å?òÅ?€9è?€Jï?Òï?ð?ð?ð?ð?ð?ð?»ï?À¬ï?·Î?@m?€RÓ?@cá?€}Ý?À%ï?€ëï?€Ïï?°ï?ÀÊï?ð?ð?Íï?îï?ð?@#ï?Àï?ð?ð?€ëï?ð?ð?õï?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?ð?ð?÷ï?òï?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?žï?ûï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?ð?ð?ð?ð?ð?ÀQê?@rî?Àûï?ð?ð?ð?ð?ð?ÀÈï?ð?ð?ð?ð?ð?ÀLï?ð?ð?ð?ð?ð?Àúë?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ð?ð?ð?ð?ð?@¸ï?Ÿï?€´ï?óï?ð?ð?ð?ð?ð?ð?@úï?À5î?çî?À±î?nî?À/ï?@1î?Àoï?“î?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?@3è?ûí?ÀØï?€cÝ?ì¡?À{ë?8Â?@n?€üÑ?‚Ð?šÁ?€JÒ?¾Á?€c? â?œï?À«ï?vï?Àî?ð?ð?ð?»ï?ð?ð?ð?ð?À0í?ð?ð?ð?ð?ð?ð?À‡ì?sî?€Äï?ð?ð?ð?ð?ð?ð?ð?ð?@­í?€®î?ð?ð?ð?ð?ð?€êï?8ï?ð?ð?ð?ð?ð?€¨ï?MÉ?Àâá?@ùî?åî?ð?ð?ð?À¶î?ð?ð?ð?ð?ð?@±ï?ð?ð?Àwï?T¶? ‡?@Þã?€øÓ?@a?€‹Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?ÂÈ?¸?˜Ê?0“?(Þ?€Ù?pˆ?À“?Œ¬?€QÔ?€[?@ž?ÖÂ?ûä?2æ?SÏ?€ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ÀÐé?@Üë?€ùç?€öá?À¾î?Àæï?ð?ð?ð?õï?€‰Ñ?€ÖÔ?Àëï?ð?ð?ð?ð?ð?ð?ð?€î?À<ï?€yî?ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þí?€½í?ð?ð?ð?Åï?ð?€:í?°ì?€«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nî?€úë?@Ðæ?€Åå?@|ä?@cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£ï?@7è?œ§?€¾Ô?€›à?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rÌ?€¥Ò?ð?ð?ð?ð?@ýï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?ð?Àëî?vï?»ï?€ï?ð?ð?ð?€ëï?€@í?ì?Àùí?Àõï?)ë?¨ê?À]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»î?ð?€ðë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åí?@Âë?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êí?Àâê?ð?ð?ð?@Éï?Àûï?ð?ð?¼ï?ÀÇî?À‹ï?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0ï?@ôï?èï?ð?ð?ð?ð?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êì?ð?€¹ä?4£?€ËÓ?@iä?+í?@Šå?º¾?‘? t?ð?€š?íË?²Ñ?¨£?w?ܶ?€Ì?À÷ã?@+æ?Àuë?ð?ð?ð?Iì?@ñî?ð?ð?ð?ð?ð?ð?€í?GÊ?è•?hž?€[?@Oê?€üï?ð?ð?ð?ð?öï?@ï?ð?ð?ð?ð?€eâ?²Ö?€9Õ?€ê?ð?ð?ð?ð?ð?ð?ð?ð?@_ï?À&î?@ßï?ð?ð?ð?éï?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?@eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âï?–ï?À¢ï?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íë?À—í?ð?ð?ð?ð?ð?ð?ð?ð?€bï?ší?€øï?ð?Àï?ð?ð?ð?éï?ð?ð?ð?ð?€Ëï?€ƒï?ð?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?Òï?ð?ð?ð?ð?ð?€ìï?¨ï?Dï?€ìï?€Îê?Àêî?ð?ð?ð?@úï?€Òî?À0ï?Æï?@òï?ð?Ûï?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<ï?ÀGã?@~í?Ò?x?@Üá?<ß?N³?€ÆÜ?€Rä?Àãâ?IÍ?—ß?ð?ð?Þë?ð?ð?ð?€ï?ð?ð?ð?ð?€7ï?ð?€ûï?À_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?`ï?ºï?ð?ð?ð?Àèï?Àeî?€ï?ð?ð?ð?ð?€rç?`„? ¥?«â?@Ää?@Ûë?€ïï?ð?€nï?ð?ð?ð?ð?€ïï?€ï?€Èï?@Äï?ð?Àà?8£?Ʋ?ÀSã?ÀÞï?ð?ð?ð?ð?ð?À÷í?”ê?pï?æ?€]Ñ?¨”?D§?€\?€.Ü?¼£?@f?8Ä?€â? Ð?@âà?MÃ?t±?à?ð¿?±?à?€öî?€lî?ð?@pí?@ ï?ð?ð?€iî?ð?ð?ð?ð?ð?ð?€@ë?À“ï?€?é?À…î?ð?ÀÓï?ð?êí?ð?ð?ð?€)ã?@›ì?ð?ð?ð?ð?ÀÎî?ð?ð?žå?í?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sï?Àtï?ð?ð?ð?ð?ð?ð?ð?@Ùï?€Õï?ð?ð?ð?ð?ä?€´ë?€µé?@Áì?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½î? ¡?˜Å?@Ãë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾î?ß×?À„?Ô×?ð?ð?ð?ð?€úï?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡î?ð?ð?ð?ð?ùï?ð?Àœí?@¼ì?ð?@kï?Àní?°ê?ÀXî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþî?ð?Bë?€Ëï?ð?ð?ð?À=ï?À“î?Àë?À•ì?€Ïï?ƒî?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?€õï?¥ï?ð?ð?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?€Áâ?2Ö?€µÙ?Ýì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ùï?ð?ð?ð?€üï?ùï?ð?Àžï?@·ï?€õï?ð?ð?ð?Àçï?€Ïï?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ÀÜî?ð?ð?ð?ð?ð?ð?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽë?@»ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óí?€Ñí?@ ï?ð?gÓ?ð‘?Bæ? ï?Yï?@·ï?Àãï?¯Þ?HË?`s?`“?—?€\?@l? }?@ˆ?Tº?öÙ?aè?À¢ë?Àuï?€Êí?¸ï?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?€zë?”¦?pž?`s? –? ´?ÀHì?ð?ð?ð?ð?ð?ð?@Öî?€íî?ð?ð?ð?ð?@ã?ÀÀà?ûÞ?Ø?ð?ð?ð?ð?ð?ð?õï?ð?@zî?@î?€Ùï?€Ïï?ð?ð?ð?ð?ð?ð?ð?@·ï?@Äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€ïï?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?õï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Rï?€%ï?ð?ð?@îï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?€)é?€âè?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?Ÿï?Àãï?@<ï?Àçï?ð?ð?ð?Àeï?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?Àôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?°î?€{ï?;ã?vÌ?Ø‘?€ðç?€ÀÕ?€Ó?Àêï?€§ï?À…í?Àêï?ð?ð?ð?€õï?ð?ð?ð?€Ïï?ùï?ð?ð?@îï?õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?@nï?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€×ë?;é?À|å?@ïá?¸£?l·?úÕ?À´î?ð?ð?ð?ð?ð?ÀÇï?ð?ð?€Ïî?@²ï?¡?Àb?@øå?ð?ð?ð?Àžï?ð?2í?Ô¨?€ãÑ?nì?Gê?€èÒ?@h?`Ž?z·?X¶?”Á?·?$£?Ï?Ħ?R³?@m?Xž?§Í?ÀCë?€ê?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?î?%ï?@ï?ð?ð?jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôë?ð?ð?ÀJí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®î?@ï?ð?@>í?ð?ð?ð?ð?ð?€øí?ð?ð?ð?ð?ð?À¬ê?Ôæ?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;À?,¶?ÝÁ?€á?Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<ã?@;â?Ü?€³Ø?©Í?r°?~È?ð?€¾î?ð?@nï?€xï?jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐì?@)ë?ÀNî?ð?ð?ð?@Ôï?€¾î?ð?ð?ð?ð?ð?ð?@ëî?ð?€³ê?ð?ð?ð?ð?ð?€Eî?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?À’î?ð?ð?ð?@·ï?ð?@·ï?À'í?ð?ð?Qï?ÀÇï?€Ïï?À“î?ÀTë?Âí? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?íì?Àøç?Âá?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éî?Àçï?ð?ð?ð?ð?ð?ð?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“î?ð?ð?ð?ð?ð?ð?jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆí?€ºî?ð?ð?ð?·Â?ÆÊ?@å?ð?ð?€Áî?ð?ð?ûì?€yî?€nÛ?€·Ô?€Ú?€æã?€iß?>Ä?´?D²?L©?ÓÅ?éâ?@Ôï?€+î?€Dï?€Ãî?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?AÛ?€ßÐ?h«?4Í?µæ?€ÿÔ?@}?@Rè?ÀÇï?ð?ð?ð?€Üî?ð?ð?À$ê?Àsç?ð?ð?ð?ð?Àå?šÍ?€ñï?@#ê?7ê?ð?ð?Àâï?ð?ð?€Úï?ð?©í?ð?€Üî?ð?ð?ð?ð?ð?ð?ð?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?€Nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£ï?€%ï?ð?ð?ð?ð?ð?ð?ð?Àäí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£ï?€Ïï?€Ïï?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?@Ôï?À=ï?@aî?@íî?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ð?Àâï?ð?ð?€Ÿë?@+ê?€*í?@â?†Ì?Àøà?Àr?ƒÑ?ð?@Ôî?Àní?ð?ð?ð?ð?À™ï?‹ï?€ñï?@÷ì?€ñï?À|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À$ï?€Ûâ?pž?Àr?À?•É?´Ý?ÑÙ?°—?øÉ?À¡æ?¹ï?ð?ð?ð?ð?ð?ð?ð?Àìï?€¨Ñ?€×?ð?ð?ð?ð?ð?ð? Ö??AÜ?p¶?Þ¿?¸?0¯?˜š?ð?ð€?¶³?¨—?0•?Vµ?’Ë?@áå?@mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿï?ÀÓî?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?Àç?À=ï?ð?@äì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?€6å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ Ò?˜—?®»?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿï?@)ç?n±?¹ï?Àæ?ð?€Äî?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uî?ð?ð?ð?ð?ð?€î?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èë?ÀÓë?À}ì?ÀÆì?€Üê?€Ìì?@Ûè?€Ïï?@€í?@Zï?ð?ð?€!î?@óí?€†î?…î?À1ê?í?ð?€‰ï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?ð?ð?ð?€Ÿï?€Ðï?ð?ð?ð?ð?Àìï?ð?ð?ð?Àìï?5ï?ð?À*ï?À9î?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?@åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥é?€Qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Àï?@¡ï?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´î?@&î?@sí?@3î?ð?ð?ð?@¡ï?€¬Ô?ŒÈ?@eï?ð?ð?ð?Àãî?@ ï?ð?@‚ï?ð?€Bï?Àçï?€Ïï?¹ï?€Ïï?€òî?À¶è?@®?Àg?˜’?T´?ÊÀ?}ê?ð?ð?ð?@nï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?€£î?>Â?IJ?Pì?@tï?@;å?@x? ±?€[å?@öï?ð?ð?€†ï?€Üî?ð?ð?ð?@Zï?€Ðï?ð?ð?ð?ð?€oã?m?Àúí?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?@èï?@„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Àçï?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?ð?€%ï?ð?ð?ð?ð?@èï?˜í?ð?@Aï?ãï?Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀWï?ð?ð?ð?ð?ð?€%ï?ð?ð?ð?À=ï?@Šî??ï?™î?Àçï?À·ï?ð?ð?ð?ð?ÀÈì?ð?ð?ð?ð?Àcí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?ð?ÀOî?À+ë?Àí?ùî?€Tç?À½å?Ã?€·Ý?̯?À¼â?ð?ð?€Ðï?ð?ð?ð?ð?€«í?À²ï?@öï?@jî?ÀKî?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?ð?€,ë?€ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œî?€Ô?`s?a?z³?€rá?Àïê?Àêï?eì?>Ü?€Së?@­à?@h?C?œÓ?þé?@%î?@ï?ð?ð?ð?ð?ð?ç?Ð?hš?@Ní?ð?ð?ð?ð?ð?ð?À/é?ð?P‹?2Ð?è±?t¤?ŒÚ?a? ‰??†Â?$?ÍÀ?!Å?¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?@¼ï?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?@£ï?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pï?€bí?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—ç?<¨?€ Ó?Àxë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èï?«É?Æé?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ì?ÍË?ð?ð?ð?ð?ð?À®ï?€ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Gí?À»ë?0í?Ðë?ÀÁì?ð?€Mí?À£ì?@í?€Œì?Àgî?@öí?€†í?í?¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"í?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?Àè?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôî?@ùï?@aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?+æ?@;æ?ð?ð?€Cì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûî?€Ô?ÇÐ?€ØÖ?@¤å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?@Iî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?€ýï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.î?Àjï?ð?ð?ð?ð?ð?@nï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?ÀIí?€í?@bï?ýï?ð?ð?ð?ð?À´ï?@Öî?@Zá?€ÄÒ?¡Í?ßÐ?ÀOæ?ð?ð?Vï?ð?€Šï?ð?ð?ð?ð?@ûï?ð?ÀÜî?Àyî? ï?ï?€µå?@ˆ?€|?ä¯?ÐŽ?¬²?€]Õ?@ê?ð?Þï?€æï?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?Çá?€­Ò?Àì?ÙÙ?A?µ?€ŒÚ?€iê?ð?ð?ð?ð?Žî?Àï?ð?ð?ð?³ï?Àþï?ð?ð?ð?ð?€nß? ç?ð?ð?ð?ð?ð?ð?€æï?ð?ð?ð?ð?ð?ð?À†ï?€÷ï?ð?ð?@–ï?€Uï?À£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?€xï?€÷ï?Ÿï?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?Àçï?€ÿï?ÀSî?ð?@üï?ð?ð?ÀSï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?ð?ð?ð?ð?ð?ïï?ð?€µï?€÷ï?€öî?€eì?Bë?À,í?Àí?€Mï?ð?ð?ð?Àˆî?Àþï?€8ï?ð?€ÿï?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?€Lí?Àçï?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?Àçï?ð?€ýï?Àxí?Eå?€–à?Xé?º?Ð?p‰?@8ì?€‰ë?Mí?Ýî?Þï?ð?ð?€Eî?À"â?€OÙ?÷Ð?éÐ?Ñç?[ï?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xî?€9í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[á?$?€à?å?ð•?È¡?ä?€ˆÚ?¡?€q?Dµ?Àoè?ð?ð?ð?ð?ð?ð?ÀÐå?¨¢?€ûá??˜Ÿ?ºµ?MÄ?@šå?ð?ð?ð?ð?Àï?TÅ?„?@Àé?ð?aå?€ê?ð?ð?ð?±ï?€ÎÖ?€_?½Á?ظ?Àaã?¶Ï?€¥ì?€o?È‘?€a?h”?è˜?mÏ?Xž?å?ÀDæ?À,é?À@å?¾á?ÀDá?€‘ë?ð?À¹ï?ð?ð?ð?ð?€àï?.ï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûî?€uê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€fë?*â?@[ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^í?€áÔ?`z?Àßà?ð?ð?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‡ë?ð?ð?@¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?€í?î?së?åé?@Fï?ð?ð?ð?@¡ï?€Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€Éî?€%ï?ð?@Ëï?ð?ð?ð?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ò?€Kà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Mí?@£í?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òæ?€/Þ?@Ýí?ð?ð?ð?ð?ð?ð?ð?ð?€+ì?ýë?ð?ð?À„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Nî?€ÁÒ?¸«?€#á?€Åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ï?@7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?@Ëî?À¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3î?›í?@ï?ð?ð?ð?ð?ð?ð?ð?ð?@nï?ð?ð?€Àî?ð?@Äî?ð?€sï?€îï?À–ï?÷í?ð?ð?ð?@ ï?@Ëï?ð?@Ëï?€Øì?€yê?@î?ÂÐ?@Œ?ı?eÄ?š²?ÀSç?@#î?ÀÀï?Àï?ð?ð?@tî?@·ï?Àšï?ð?ð?ð?ð?ð?ð?Àšì?®?nì?@ã?`z?NÃ?€Þ?hì?ð?ð?ð?ð?ð?ð?Æî?Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?3Ô?<­?é?@-ï?€÷î?€sï?í?Àí?@—ì?@·ï?ð?ð?ð?ð?ð?ð?@ðï?@nï?ð?@ðï?ð?€àï?ð?€Ïï?ð?€Ïï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xî?Àï?+ì?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&ï?À/î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?À8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?@Ëï?ð?ð?ð?ð?ð?Àrí?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@#î?€Ïï?ð?€àï?ð?€'í?€ï?Rì?ð?ð?@-î?€[ì?€ôí?Xç?@ë?ð?€‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@8ï?@2ï?ð?@Ëï?bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«é?€pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çæ?éÞ?€öÜ?€o?‘Â?ü¯?sÇ?ê×?ªº?°¸?Æ?àË?áä?¹å?È?°‡?Ô?@9ì?ð?`í?ð?À ï?¬î?ð?ð?ð?ð?@î?”ï?ð?ð?ð?ð?€Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ŒÊ?@}?€R?Ô³?€0à?€ÆÜ?€Û?Ü?€Ú?´Ö?&Ò?ˆ–?@}?ˆ‘?pµ?£Û?€î?Àëï?@¯ì?@è?°Ú?À0æ?@Êï?€òï?@ií?¼Ï?«É?€ûã?€ãã?@Âà?@¬ê?À8î?ð?ð?ð?ð?ð?ð?ð?ÀPï?«Õ?DÒ?ÀÊè?Ûï?TÈ?@g?@§?@Šì?ð?ð?ð?€Ã×?[?þÔ?Ýï?´ ?€àÔ?€*ï?ð?À–ï?ëï?´ä?€R?ˆ˜?Ê·??€‚? w?†Ã?@¥?.¸?cÆ?K?K?žÂ?cÙ?UÊ??à? …?ÇÆ?@Áé?€¤ì?@sì?@Èå?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?Àöï?€Pç?Àoê?@•é?@]î?Àï?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?@Ãï?ð?ð?ð?€Èï?ð?[î?ËØ?é?ð?ð?€pí?ð?ð?ð?ð?ð?ð?ð?@Yë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ï?€¨ï?@·ï?@%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?ÀÄå?­Á?Àb?¤?˜Ã?8Ô?éÍ?Á?€¨Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?ð?ð?@í?@qï?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ î?ð?ð?ð?€eì?ï?@Êï?ð?ð?Àëï?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìî?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sï?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?À®å?é?ð?ð?@Ãå?€ýæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?VØ?D¬?€×?€Eé?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€ëî?ùï?ð?ð?ð?ð?ð?ð?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ í?€[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vî?ÀÈï?@´î?ùï?ð?ð?ð?ð?µì?@í?€öÙ?®À?{Ô?ˆé?¡Ã?¸¾?ÄÕ?€Áæ?@ ì?]à?€²ë?@ûï?€Lï?Àïï?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð? î?€?\?@í?€`â?‹? ê?@/ï?ð?ð?@íï?ð?ð?ð?ð?Dî?ÀŠï?Ÿï?À“î?À=ï?ð?ð?ð?ð?ð?ð?€ÖÝ?Ÿ?(Ÿ?Ô·?Àvá?‘ì?€Ãï?åï?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èï?€ýì?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlï?«ï?ð?ð?ð?Àtí?Àì?ð?ð?ð?ð?ð?€†ï?ùï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?7í?ð?ð?ð?ð?ð?Ùï?Àaê?Àçï?ð?ð?ð?Àkï?€jã?éæ?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2î?.î?ð?ð?ð?ð?€‹í?@iã?@"ì?Àëï?ð?@»ï?ÀÐî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?@”â?€àÜ?€â?ÞÑ?Ò¶?0µ? w?€‚?äÀ?À0ê?@Pí?ð?@Åï?wî?ð?ð?ð?ð?Öí?€òï?ð?ð?ð?ð?À¼ï?ð?ð?ð?ð?ð?ð?ð?Ïî?@«í?ð?@óä?à‚?ÚÌ?€Wè?Ø?Àtä?@€â?ÀÅí?ð?ð?ð?ð?ð?ð?ð?…ê?¨«?§?Óæ?À’ì?@¨ï?ð?ð?ð?À¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼î?€ÛÛ?ˆ×?@¨ï?ð?@»á?N¸?—È?1ã?€Pè?€™ë? ½? £?0Ù?L¬?ÀMá?€ë?ÙÂ?@]æ?€ë?0‚?”?Â?’×?¥?H¬?€ŠÓ?ð…?êÄ?€¹Ó?TÌ?h•?eÛ?€<Þ?òÔ?€ Ô?Þç?©Ä?ˆ¯?Àoä?€Ïì?@è?Çï?ð?ð?Àï?ð?ð?€Ïï?Àçï?›ì?f?ð…?ÛÄ?ä?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?læ? Æ?€yÐ?Àêè?€»ï?ð?ÀGï?€Fá?ŠÈ?€Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Vë?@`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ì?þç?ÀÝï?ð?ð?ð?ð?ð?ð?ð?Àï?À²à?:Í?»? ?²´?óÊ?€=Ù?§å?·î?ð?êï?@·ë?€cæ?ÀÒê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€|ï?€Ïï?ð?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2î?ð?ð?Àê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õÖ?àv?öÀ?6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨ï?@òí?€»ï?ð?ð?ð?ð?ð?€|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{î?Àoï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›í?@î?Æî?ð?ð?ð?€9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æî?ð?€%ï?À¹í?äæ?LÍ?Þ¸?Àf?ŸÚ?€Ãè?@í?ð?@×î?ð?@Ôï?ð?€fï?ð?@nï?ð?ð?ð?ð?ð?À’í?ð?ð?ð?ÝÌ?JÏ?ð?€dí?€ãà?€Xä?ð?ð?ð?ð?€Pï?ð?ð?@nï?Àžï?@¾ï?ð?ð?€2î?ð?ð?ð?ð?ð?ð?Àáì?p? Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ï?€fï?ð?ð?ð?ð?€Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?Àçï?€†ê?ð?ð?ð?ð?ð?ð?À+í?@_ç?ð?@Òï?ÀÝï?ð?@Ôï?ð?ð?€ôï?ð?ð?ð?:í?@…î?ð?ð?ð?ð?ð?ð?€Áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùí?€)í?Àµí?ð?ð?ð?ð?ð?qæ?Yé?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?ð?ð?ð?ð?€:ï?€fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?ð?ð?ð?ð?ð?ð?ð?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?@’ï?ð?ÀÑå?@•?@íé?ð?ð?Àï?@,í?€Ží?ð?À“î?ð?ð?ð?ÀÒî?@âè?@¦ç?À0ã?ÀÜá?€yã?€6é?ä?À2á?¬á?Àžé?òç?(ž?(ž?ÀÜá?¥?ÀŽ?ú¸?KÁ?Ô?Çá?€ÛÒ?À»à?€Jî?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ê?Ànä?ÀVë?@·ï?ð?ð?ð?ð?ð?€Ìï?ð?ð?ð?ð?ð?ð?ð?Àçï?€Ïï?ð?ð?ð?ð?ð?ð?À†ï?@·ï?ð?ð?ð?ð?ð?ð?ð?@Aì?<¦?Ô¨?ˆ¥?LÍ?¨Ü?äÃ?@ç?ð¡?ö½?F·?Ì©?H¨?ø°?v±?fÇ?¼£?Ày?:Â? ˜?ÔÂ?\¯?$Æ?NÉ?Ê?€Y?pÂ?ÓÀ?@Èì?ð?ð?€Œî?ð?€Óî?ð?ð?À|ë?)É?€+ä?€Qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ªÞ?(›?€?,Ò?@Yâ?ÀÝå?©Â?€d?ÁÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ÀÔì?@oî?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþî?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëî?Ýç?€½Ø?iÐ?aÐ?>Þ?@Àç?Àãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³í?@·ï?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?€Ûç?Àcã?Àç?€'Ð?ÜÄ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?À²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?@kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?5í?tï?ð?ð?ð?ð?ð?€rï?ð?ð?ð?ð?ð?ð?€{î?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?€Ìï?ÀÆâ?Kß?R¾?Ài?€¢?wÊ?ÀOâ?ð?€Äí?ð?ð?ð?ð?ð?ð?ð?ð?€‹í?iï?3ï?çç?ð?ð?€Aï?Ц?¨ ?@é?ð?ð?ð?ð?ð?áî?@·ï?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?€dâ?ž¾?@Ïæ?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?ð?ð?ð?ð?ð?×ï?ð?@ï?ð?ð?ð?ð?ð?ð?¸ï?ÀÞï?ð?€Ìï?œï?ð?ð?ð?Àì?ÀDé?ð?ð?@Îí?€Hß?ÀÎí?ð?ð?ð?ð?ð?@Òì?€Yá?€ å?@nï?@<ï?ð?€Gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?€žê?*ê?@óë?ð?ð?ð?ð?ð?ÿì?€è?@(í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ÀBä?@@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?`î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@ì?Àé?€Gï?×ï?ð?ð?ð?ð?ð?ð?@ï?ð?€{î?ð?ð?€)Ý?€›?€jÚ?Üí?ð?Vï?Ÿï?@]î?ð?ð?ð?ð?fî?€pÚ?€Y?À‰?è”?E?´Ò?@¨ä?€®é?õë?@ñí?@ï?@Qï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?À§ì?Ø?êÃ?€\Ñ?yÉ?€UÔ?œ¨?$ª? ?Џ?`~?>Ã?€j? €?H‘?†»?‚?€jç?ð?ð?ð?ð?Àðï?ð?ð?@sã?N?<³?€é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?€Þ?N?€‹?N?à’?@ˆã?@Ãï?ëï?@·ï?ð?ð?ð?ð?À=ï?ð?ð?ð?ð?Àçï?€oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?@•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€ î?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ð?ð?ð?ð?ð?ð?ð?À–î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õî?€öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?ð?ð?ãî?ëï?ð?ð?ð?ð?ð?ð?À°ï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?À#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?¹í?¨ï?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~ï?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?ð?ð?ÀŠï?@Rì?ð?ð?@·ï?ð?€Ýî?€õï?ð?ð?ð?ð?Sï?ð?ð?À°ï?|ï?Àƒì?€5ç?ð?@ðï?ð?ð?Àžï?Àžï?ÀNì?€Xå?F¸?€öÑ?aÝ?/ï?€ôï?@ï?À í?À=ï?€è?ð?ð?ð?Àôî?ví?Àhî?Úï?@ï?ð?ð?€Üï?à«? ?@?ã?ð?ð?@·ï?ð?ð?À“î?@î?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…È?x³?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€%ï?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?Àúï?Àçï?ð?ð?ð?ð?ð?€Ïï?€Nï?ð?ð?ð?Àçï?·ï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?@ ë?äï?ð?€õï?ÀÏï?Àší?ð?ð?€uå?Ïî?ð?€Ðï?Šé?éí?ð?ð?ð?ð?Àúï?€ î?@¸î?|ï?Çí?ð?\ë?@iè?À˜à?ÀRï?ï?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þå?Àí?ÀÊï?ð?ð?ð?ð?ð?ÀÃî?ÀJè?€åï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãî?üí?À¶î?ð?ð?ð?ð?ð?ð?@àï?ÀÀï?ð?ð?ð?ð?ð?ð?ð?Àçï?·ï?ð?ÀÔí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Ÿï?Ÿï?ð?´ï?€Oé?ÀÝï?^ì?5ì?€%ï?ð?ð?ð?ð?íï?ð?ð?ð?ð?€V×?¦°?@ˆ?€7é?ð?ð?ð?ð?ð?À¾ì?À^à?ÊÔ?£Ì?ˆ•?éÑ?@{ä?Bï?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²å?£?c?H˜?¤×?€\?à¡?.¾?@ˆ?T¹?@•?0¤?À‡?€\?¬Å?Ïç?@æ?¡Õ?0í?Àñï?ð?ð?€Æï?Àê?€ùê?kÚ?Ä?€ˆî?ð?ð?ð?ð?ð?ð?ð?ð?ë?€-æ?€1á?ð?ð?@æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðî?–í?ð?ð?aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€>è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀRï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…î?@çì?ð?ð?ð?ð?ð?€Oä?ã?ð?ð?ð?ð?ð?ð?@„ì?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?ð?@Ðí?ð?ð?ð?ð?ð?ð?À9ì?{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rî?@ í?íï?ð?ð?@·ï?ð?Uï?€`ï?ð?ð?ð?ð?@Nî?ð?î?ãî?Äí?hï?î?ð?Çï?ð?Õï?Ààî?€›ï?À à?  ?`Š?€éÕ?ï?€fï?@Íí?@·ï?ð?Ùí?ð?ð?ð?ð?€9î?ð?ð?ð?ð?ð?@Cé?c?¾¼?ÙË?X—?€%â?€zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ií?xµ?À_ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?Çï?À~ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àiï?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?öî?ð?ð?”ì?@`î?ÀØæ?ð?ð?Úï?Ÿï?ð?@(é?Øí?@Xí?ð?ð?ð?ð?gç?À†é?ð?ð?ð?ð?ð?ð?@ í?—î?@Sì?€Èê?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?@nï?âî?±ë?ÀÛì?ð?ð?ð?ð?ð?ð?ÀÜè?£ç?@ãï?ð?ð?ð?ð?ð?ð?€‰î?ÀBì?@ ï?ð?€Ïï?yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?bï?@aé?ÀSë?€{î?Àñï?@3í?Àôî?ð?ð?ð?ð?ð?€%ï?À2î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?ð?õî?@ªì?@£é?l°?€„Ù?@ãï?ð?ð?Àžï?@Üí?à±?xÏ?›è?€°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€3Ø?@x?\ã? q?°°?>½?*ë?-ï?îË?`³?€ZØ?€Kæ?€†ä?€íÐ?¥?«?È£?€AÖ?‰î?ð?ð?ð?€ î?nì?÷ê?€´ã?¾?°?•Ð?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åì?ðå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xí?À<î?àî?À}í?ð?ð?ð?ð?ð?ð?äç?³ê?ð?ð?ð?ð?ð?ð?ð?ð?À¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\ï?@—î?@ ï?Àî?ð?ð?ð?ð?À¹ï?ð?ð?ð?\ï?ð?€Ïï?Üê?@Mï?ð?ð?€Ïï?€"ì?@Äî?ð?@Âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFï?€üí?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-ï?-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?À¹ï?ð?ð?ð?ð?ð?ð?Ÿï?@Wï?@¢ï?ð?ð?Vï?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?@Ñï?ð?ð?ð?À¹ï?@þî?ð?ð?ð?€î?ð?@¢ï?€øØ?€ÝÝ?€ºï?Àkà?@h?ïÌ?@Ñï?€î?Æí?Vï?ð?ð?ð?ð?ð?@ˆï?Àéî?ð?ð?ð?ð?ð?@è?‘?wÉ?Ü?`w?cæ?ð?@Øï?ð?áî?@Êî?ð?ð?ð?Àæî?€èï?ð?ð?ð?ð?ð?ð?À¹ï?ð?Ÿï?@nï?ð?ð?ð?ð?åí?À ì?€g?"¾?€€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?ð?ð?ð?ð?ð?¸î?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?@‡í?…ç?Þç?-ï?€{î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ï?@âï?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?@æî?€öí?ð?ð?€Ïï?wî?€µß?À²ì?ï?ð?À¹ï?ð?ð?€ùì?ð?ð?ð?ð?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?@Öî?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?ð?ð?€Ïï?ð?í?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Àâé?Àï?ð?ð?ð?ð?ð?ð?¡í?À-î?ð?ð?ð?Àˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ï?~î?kï?ð?€ì?@•í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èî?@ê?î?€_ë?éå?€ÀÕ?–Å?Àc?½Þ?@Üë?ð?€kí?Ö?€Ú?ÀÜï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?@þï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oà?†·?¦¾?_?›?@Øí?LÜ?,?Àc?€V?½?¥à?À6á?¥Ì?L¨?@z?`s?4?4?Ðæ?ð?ð?ð?ð?ð?ð?ð?ð?7ê?ð?ð?@Üè?@,á?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡ë? í?ð?ð?ð?ð?ð?ð?ð?Àpì?@æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©î?€¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?@çï?ð?€ïï?·ï?Vï?ð?@±ï?"ï?@4ì?€Uï?@·ï?€ï?€ïï?ï?@œï?@·ï?­ì?€ï?Àï?%ï?ÀÚî?€¼î?ÀJî?í?@Oë?@'é?@˜ï?@Fî?¶ï?ð?ð?ð?@,ï?€Õí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?@†í?€ˆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?€Ïï?Àfï?@âí?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žï?ð?ð?ð?ð?ð?ð?@œï?ð?ð?ð?ð?ð?ð?€Ïï?ð?Àjï?ð?ð?ð?ð?Àçï?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?€<ê?À¦å?ð?ð?ð?ð?ð?À†ï?ð?ð?ð?ð?@ÿï?@þï?ð?ð?ð?€ýï?eï?ð?€Æï?ð?Àûï?ð?À³ï?nÙ?xÓ?zÈ?`ˆ?€f?(ã?ë?óï?À=ï?@çï?ð?ð?ð?ð?@þï?€Êï?ð?ð?ð?ð?ð?@<ë?¥Ð?dË?º³?€j×?Àúï?ð?ð?ð?@Ëï?äí?ð?Àçï?À=ï?Àõï?@ÿï?€Üî?ÀÜî?ð?ð?ð?ð?Àkï?ð?ð?ð?ð?ð?ð?@cî?€Šâ?Àwç?‹Ì?t¹?€‹ë?@çï?ð?ð?ð?ð?ð?ð?ð?@Äî?Àžï?@·ï?ð?ð?ð?ð?@Ëï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïç?€äè?@ë?€è?À ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€†ï?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?Àæï?ð?€Ïï?ð?Àí?€Ïï?ð?€ßï?ð?ð?ð?ð?Àúï?’ï?ð?ð?ð?ÀÇï?ñî?Àõï?@ÿï?ð?@;ï?@–ï?À´ê?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?À]ï?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@4é?€òï?ð?ð?ð?ð?ð?ð?À’í?´é?ð?ð?ð?À6ê?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ùë?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôî?€Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?@Sà?@!æ?Ò¼?r³?à€?t¦?µ?ò¼?ÀÕà?ÆÜ?Œ°?¢ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼í?Ĺ?P?€|Ó?€0Þ?¸£?Ĥ?Pž?€3Ù?¦½?Àœí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?6æ?Õ?@,à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oï?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?Ýî?ÀÏï?@·ï?àï?Àôî?9í?ð?ð?ð?ÀÏï?@­ï?Àï?Àqí?Œî? í?Oê?ð?iê?@Þî?ÀÏï?ÀÏï?ï?À®î?ð?ð?Ïî?@î?€Ïï?@!ì?4î?@nï?ð?Vï?@Oï?@þí?ð?ÀÓë?yå?ÀÜî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßî?€nî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?qî?À³î?@ï?Ìï?ð?ð?ð?„ì?€–ì?ð?ð?ð?ð?€Ïï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºï?Àîï?ð?ð?ð?ð?ð?€©ï?°ë?@œî?@ræ?ð?ð?ð?ð?Ÿï?ð?@nï?€uï?Àîï?@cî?ð?ð?ð?¹í?ð?¨ì?€†ï?€Øì?mï?@·ï?ð?€%ï?€%í?dÒ?”?+á?bì?ð?ð?‡ï?ð?ð?ð?ð?ð?Åí?Ìï?ð?À=ï?ð?ð?À{ï?@8å?€™ß?ð?ð?@dï?€Ùî?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Àçï?ð?ð?ð?ð?ð?@˜ï?Àºï?€Wî? í?À*ã?z?Ñ?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àçï?Àçï?ð?ð?ðï?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?À¿ï?À©ç?€dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?ð?Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yé?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãí?ð?ð?ð?ð?ð?Ìï?€ï?€†ï?@Šï?rï?ð?ð?iì?@Äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLæ?@Bç?€•å?€ªë?€ÒÓ?€:Ý?¯?@a? Î?ÊÏ?ȧ?0Ì?À3ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€è?€bÐ?0?l?°?¿?€x?]?€P?¡É? p?€ÓÛ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À#ë?€aì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|ï?ð?ð?ð?ð?xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cî?À£ï?ð?ð?ð?ð?ð?ð?€–ï?ð?ð?ð?@pí?ð?ð?ð?€Ïï?Àûï?ð?ð?@ëï?@nï?Vï?À0î?ð?ð?À÷ï?Àûï?€ï?‘ï?¬î?€é?Vï?@éï?@µï?³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?Èê?¬Ú?@=ç?ð?ð?ð?ð?ð?€í?@ïï?ð?ð?ð?ð?ð?ð?À¥é?€Pà?ÀÉí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?@—ï?¬ï?ëï?ð?ð?õî?À(ç?@žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?ð?ð?ð?Àùï?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ùï?ð?ð?ð?ð?´í?@áë?@Qï?òï?ð?ð?ð?ð?ð?ð?ð?ð?0ï?ùï?ð?Àœï?À…ï?ð?ð?ð?Àïí?@¹í?@tï?‘ï?ð?€Äî?@ýí?€ÛÛ?Pˆ?‡?Àzà?î?ð?·ï?ð?ð?ð?ð?ð?ð?@(ï?@iï?ð?ð?ð?ð?ëï?5Ý?H’?€,Õ?ܦ?ª¿?€çí?·ï?@xï?ºï?òï?ð?ð?Ÿï?Àçï?Ÿï?ð?ð?ð?ð?ð?ð?ð?@nï?ð?Àçï?@·ï?Àçï?€êî?À´ï?Àwî?€ï?ð?@“í?rÒ?l?á?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?Àéí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?·ï?ð?€Ïï?ð?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rï?À_ï?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?Àçï?@·ï?ð?ð?ð?ð?ð?ð?@·ï?À½ï?äï?Àaî?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?@Íï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?@øç?€9î?ÀQï?ôí?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ÀJî?ð?ð?ð?ð?þï?ð?ð?ð?Åï?ð?ð?ð?ð?ð?ð?ð?À‡ë?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?@òä?Àòî?€•í?@á?Àï?°¥?@h?¸¨?Àå?€Çë?@'ï?€ÿß?Ј?¥É?­Á?@eâ?Àªî?@¯å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¿í?€ÿÞ?€V?ãÄ?d³?à{?ÈÂ?Pˆ?ïÖ?¸—?(Ð?€aÑ?@x?Sé?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?@´î?ð?ð?ð?ð?Àdï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?À í?ð?ð?ð?ð?ð?@]î?Àìê?ð?ð?ð?½ï?ð?ð?ð?€†ï?ï?ð?½ï?"ï?¹ï?€Šï?@§ï?ð?ð?@§ï?€vî?€Žî? ï?Àçï?@·ï?@·ï?î?@áì?Ëì?ð?ð?ð?ð?ð?ð?€Þï?ð?ð?@Èï?ð?ð?ð?ð?ð?À¦ï?@ƒì?€1ë?$ë?€‘æ?À=ï?€gã?@4á?@ëæ?€Nï?ð?Àè?€´ë?ð?ð?ð?ð?@Õê?€úå?@·ï?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œï?€ˆí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@¹í?ð?ð?€½ï?ð?À=ï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?Àì?@¾í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?À+ï?@·ï?ð?Bí?€3î?ð?ð?ð?ð?@nï?ð?ð?ð?@ùå?åÝ?¸œ?úÚ?@í?ð?@7ï?@Ùí?ð?ð?ð?ð?ð?À ï?€.î?@§ï?ð?ð?ð?@·ï?ð?üÉ?è›?r»?ˆ“?–Ê?@â?¢ã?€qã?³é?µì? ·?¡?ˆ“?²¿?€.å?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?€Ïï?GÛ?€3Õ?@Bî?ð?@#é?Á?0†?„®?@ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠï?ð?ð?ð?@Èî?À!é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßè?Óî?ð?ð?ð?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?gî?€ˆí?ð?Àéï?ð?ð?ð?ð?ð?ð?€Mï?»ï?@cî?ð?ð?Àçï?ð?ð?ð?@Èï?ð?ð?ð?ð?À$î?Àöí?@Žé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?|í?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ˆï?€äî?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bë?Íí?ð?Bï?@ôì?zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯ë?À¢ï?ð?ð?@éì?Àçï?ð?ð?ð?ð?ð?€Ïï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?Vî?@ë?}ë?€é?ÀÇå?À‹? Î?ð?ð?ð?€™ì?à‹?¼?-è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{ê?P›?H˜?”§?À*æ?€vé?€Kæ?Àjâ?P‰?@„?Й?@t?È–?QÝ?£Ë?Àëã?€gÕ?0ß?€×ï?ð?À|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iï?žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5ï?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?žì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?Àmê?Àlí?ð?@ ï?ð?@±ï?Àšï?ð?Àçï?€Ïï?€œí?€5ï?ÀŽé?À—î?óî?›ï?ð?ð?ð?ð?€wï?@¤ï?ð?ð?ð?ð?€Ïï?@¿ï?ð?ð?ð?ð?€Ïï?Àçï?€~ë?€Äï?ð?ð?€¾ï?ð?ð?ð?ð?ð?Àsî?€‰ì?Àžï?@¤ï?Àî?ð?@:í?@-ç?Hí?ð?ð?<ã?Àûã?@·ï?ð?ð?ð?€Ëï?ð?@·ï?@hì?”î?ð?ð?ð?ð?ð?ð?ð?ð?€!ï?@Ãï?Àðî?@nï?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁë?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wî?€Øê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õî?Àåï?€†ï?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?¬î?@pí?@¸î?>±?Z?@#á?@Eí?ð?À²î?6ï?ð?ð?ð?ð?ð?Üî?À}î?Ÿï?ð?ð?ð?Ÿï?€Çç?ˆ±?ô»?€Ú?Àá?À~â?€Ñ?öá?À’ã?€á?€/å?@Žç?@;ï?ð?ð?ð?ð?Àâí?@ä?Àãå?€¢á?@Àë?î?@Èæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ð?ð?ð?€Ïï?€{î?À1ï?ð?ð?ð?ð?@wæ?«?IØ?Àï?°î?Öº?’?ÀIã?€Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õî?0ï?@rï?€×ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?€í?ð?Àåï?ð?ð?ð?ð?ð?ð?€Sî?@ ï?@nï?¨î?ð?ð?ð?ð?@·ï?€¾ï?ð?@î?€ê?ð?ð?óï?@pí?ð?ð?ð?ð?@Ãï?@·ï?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ì?Sç?€¨ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lï?—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ÀJî?ð?ð?ð?ð?ð?ð?@ ï?«ï?ð?ð?ð?@®í?€¸î?Àìî?€Öì?Àšï?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?À@æ?@¡í?ð?ð?ð?@Àî?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ˆé?@Åé?@“ç?€*ä?/è?€!Ú?jß?@Š?@h?€ â?ð?ð?ð?ð?@šå?`Ž?@”?Rå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.ê?P…?àÌ?ð?ð?ð?øï?€+â?@×ä?Æì?Àí?À‰è?€Ü?€æÖ?_Ä?Ø?Pˆ?n?ð„?ˆ¸?ä·?@„?€èß?¡ß?€-Ù?;Ø?Àñâ?À°ì?@ç?ž´?@d?@?í?ð?ð?ûï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔî?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?žï?ð?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Àžï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?@î?aè?Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?À†ï?€Ïï?·ï?ð?ð?ð?ð?ð?çï?öî?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?@·ï?ð?ð?ð?À=ï?À¨î?€Íé?ð?ð?Àëï?ð?ð?ð?ð?@´î?À.ê?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?À´ï?ð?ð?ð?ð?@Wï?€Øî?ð?çï?ð?ð?ð?Àê?üï?Àçï?€Ïï?ð?Ààé?Àeî?ð?ñï?ð?ð?ÀÃï?ÀÈî?ð?ð?öï?@¢î?ð?ð?ñï?@nï?Mä?À3ï?ÀÃï?Àçï?€Ïï?ìï?ð?ð?ð?ð?@·ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?€Èî?@®î?€Šï?À=ï?@pí?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?€'í?@Óá?}í?ð?ð?@›é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@–î?žì?ð?ð?ð?ð?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dë?€dí?€ßï?ð?ð?ð?ð?ð?ð?·ï?€µï?ð?@·ï?ð?ð?À=ï?@{î?€Ïï?€Ïï? ï?ð?ð?ð?€%ï?ð?Àžï?€ ï?€÷Ú?0‚?D?vÂ?fï?ð?€¹í?€nï?ð?ð?ð?ð?ð?ð?ð?Àóï?@ ï?€Ñí?€Ñí?ð?çï?€;Ø? q?@Aà?@ï?@Üî?€Šï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ñï?ð?ð?€kè?œ²?Xí?ð?@ï?@ ï?€Ïï?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?€zï?ð?€Œï?€Ië?äê?Ö?¥Ñ?@¿ï?ð?Îë?@`?Àûå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?üï?ð?€Íí?&ë?ð?À†ï?À“î?@iè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6î?øî?Àžï?ð?ð?ð?ð?ð?€Ïï?Àçï?@—è?À†ç?Oë?ð?€äç?@œæ?öï?ð?Àžï?Àóï?ð?ð?ð?ÀÊì?“ë?À|í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€Eî?ÀJî?ð?ð?ð?ð?€Sï?äé?bï?ð?ð?ð?ð?ð?Sî?€Eï?ÀŠï?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?­ï?ð?ð?@vï?üï?ð?ð?ð?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àçï?ð?ð?ð?ð?ð?»ï?é?€Û?¦¼?Ê?€EÝ?`?D?°ƒ?›?@±í?ð?ð?ð?ð?ð?ÀÔæ?ˆ°?D?D?™?Ђ?€€Õ?ˆ¨?oÔ?@¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï? Å? ¢?€gÓ?ãÑ?ÖÝ?€Áã?ðå?Qí?ð?ð?ð?ð?ð?ð?€Jê?ܵ?€œÝ?â?PÂ?è¦?æÐ?š¾?í?ð?ð?ð?òï?@¤í?È‘?@ ê?ð?ð?Àìï?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨î?€Œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHï?Àïå?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?êÖ?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?ð?î?€ì?ð?ð?€{î?ð?õî?Ÿï?ð?ð?@cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßî?ð?À»î?Yî?€Çï?˜í?Àî?@nï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?À¸î?ùè?ð?@Æï?€Çï?€Ïï?@Ùâ?Ê?Qä?€2î?ôí?`ï?@î?€†ï?@Æï?ð?€›î?À¾æ?ÙÚ?î?ð?€‚ï?ð?ð?€Ïï?@·ï?ð?ð?@Äî?ð?ð?ð?ð?ð?ð?ð?@dë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lë?À!ç?ð?ð?€ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?së?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?òï?€„ë?ní?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jë?ð?ð?Ÿï?@î?ð?ð?Óí?ð?ð?ð?ð?ð?€†ï?Àçï?ð?øç? p?€UØ?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð? í?ð?ð?@®î?€í?ÀÔî?@¦ë?@§è?@s?(•?À]â?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ð?Àçï?¬Ï?“ä?ð?ð?€Aì?ð?ð?ð?ð?À=ï?ð?€Çï?ð?@·ï?ð?ð?sï?òï?€Üî?€Û?@ƒ?ÕÚ? Ù?ð?òï?À|ç?Zà?@Íë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?@î?ð?@ï?ð?ð?ð?ð?óì?@î?ð?ð?ð?ð?ð?ð?ð?ð?@0ç?€è?@yï?ð?ï?ð?€Ùï?ð?ð?ð?ð?ð?ð?ð?fï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾í?€!ì?ð?ð?ð?ð?ð?†ê?`ï?ð?ð?ð?Àãï?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?@ï?ð?ð?ð?ð?€Ùï?ð?ð?—ï?ð?ð?ð?ð?[ï?€Ïï?ð?@·ï?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?À›é?к?` ?d¦?€EÓ?ð?ð?ð?ð?ð?ð?ð?ÀJì?€ýÝ?…Ì?>Ã?6Ö?@å?€óÝ?Àë?€ðÞ?ÈÖ?€’æ?@Õî?€®? u? …?è–?¦Í?@Èë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uå?lµ?yÔ?€æî?ð?ð?ÀÑï?€ºï?@`ì?2é?ÀLé?@Ñê?,¤?€ëÒ?@Îä?ð?À¥î?ð?ð?ð?ð?€Ýï?rí?€Ü?H±?Ãï?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Àì?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À]î?€rê?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?ð?ð?ð?ð?ð?ÀÑï?ÀÛâ?€eá?ð?Àèï?€Fï?€ºï?ð?ð?ð?ð?ð?ð?€¼í?ã?ð?ð?ð?ð?ð?ð?ð?+ï?ð?ð?ð?ÀÑï?ð?€Ïï?ð?ð?ð?ð?ð?Ÿï?@nì?€ë?À*ê?ð?ð?ð?€„í?ð?ð?ð?@Cï?ð?Vï?ð?ð?Àþî? ï?ð?ð?@×ï?ð?€qï?@>î?Àëï?ð?ð?ð?ð?ð?@ï?€ºï?ð?ÀÑï?@×ï?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?@î?@í?ð?@žæ?@Gë?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈé?ð?ð?ð?ï?€Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?Àõï?²æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒë?@Óâ?ð?ð?ð?ð?ð?€ ï?€Zï?ð?ð?ð?ð?ð?À]ï?™ë?€Ð?X®?hÏ?Ñ?@ªì?ð?ð?ð?Ÿï?ð?ð?ð?@£ï?@ê?ð?ÀŸí?Xß?ÞÌ?€%Ö?êÖ?J³?d¡?Eâ?ð?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ê?€Ðé?Ãï?@·ï?ð?@ëê?€Xä?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?€õç?¼Á?€yÝ?@·ï?®?¨•?öÛ?€Êé?<É?Ô¡?€­Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âë?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À]ï?Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ð?ð?uï?@ßä?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”î?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?Àõï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?uï?€’ì?€qï?À„í?ð?ð?€î?Àçï?Àëï?À¦ï?ð?Àéî?Àèï?ð?ð?ð?Àéî?@£ï?Àžï?Àõï?@sï?ð?@nï?ð?ð?ð?ð?ÀÑï?ÀRí?ð?ð?ð?ð?ð?ð?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìæ?@¤î?@Üâ?À‰?@h?@ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?Šë?@¯ç?@ç?€Në?@•ã?€ß?€Ùç?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ìº?ð?à‹?@x?€JÜ?Í?ð‹?`‹? ‹?°‚?@?m?àz?á?ð?ð?ð?ð?ð?ð?ð?üÜ?€¿Ñ?~Ã?¬Ã?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¦í?è?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?Àçï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?@Àï?ð?ð?ð?€åï?ÀŽè?€‘î?ð?©å?@åé?€/î?@xé?¹í?ð?ð?ð?ð?À’ì?€Àî?ð?ð?ð?ð?ð?ð?ð?€úï?ð?èï?ð?Àýï?ð?ï?ð?ð?èï?Vï?ð?ð?ð?ÀÜï?ãï?ð?Àˆí?ð?@åï?ð?@àï?ð?€úï?ð?ð?ð?@Ëí?Àê?ÿï?ð?ð?ð?ð?èï?Ÿï?ð?·ï?ð?ð?ð?ð?Àôï?Àüï?ð?Àýï?@àï?ð?ð?ð?ð?ð?øï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zë?ÅÀ?>·?€÷è?l¼?@Ãä?À‰í?@&î?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?&ï?çë?@{î?€Ïï?€ì?5í?€ûï?ð?ð?ð?ð?ð?Ÿï?Vï?À®ì?Àxï?€ˆï?ÀPî?€_ì?€°ê?Àrë?@í?€Šë?Ààê?€+é?Àê?€Ðê?À—ê?ê?@nï?À=ï?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?À¸ë?gì?ð?ð?ð?À=ï?À=ï?À²ï?ð?ð?ð?ð?ð?6ï??â?¦À?ª?¶Ð?ë?Àçï?¬î?ð?ð?ð?4í?€Ôà?€Bß?nÎ?€ä?€„å?€œÐ?@Dà?@r?ˆ±?€âè?Àüï?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?€~ï?Àüï?ð?ð?ð?€žÓ??Ü?@9ì?@Äî?ð?ð?ð?ð?ð?ð?ÀBé?gÈ?Ÿê?ðï?ñÍ?ŽÙ?ßÄ?€›Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2î?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?@™ï?ð?ð?ð?ð?ð?ð?ð?ð?@eì?ð?ð?ð?ð?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ÿï?ð?ð?@ùï?¤î?ð?ð?ð?ð?À?í?@nï?ð?@Øï?ð?ð?ð?ð?ð?€Ïï?À“î?ð?€%ï?€2î?@sí?À2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?€Ïï?@:è?@ ë?ð?ð?øï?ð?@Øï?ð?ð?ð?ð?ð?ð?ð?@Gï?7ï?Àêï?Àüï?ð?ð?ð?ð?ð?@Èï?Àçï?€Ïï?€{í?ÿï?@Àï?ð?ð?@Më?@î?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?Àýï?Àôï?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&ï?ë?ÀGâ?ÀŠã?@ïâ?úÂ?î¶?€-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?,à?n°?Á?X’?Ü¥?h¹?€î?ð?ð?ð?@·ï?€Ðì?@$à?øª?P?í?ð?ð?€1ï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?gí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ï?€Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?@†ï?@î?ð?ð?ð?Íï?ð?ð?À=ï?ð?ð? ê?Àîë?ð?ð?ð?À™ï?ð?ð?ð?ð?@·ï?Ÿï?@cî?ð?ð?ð?ð?€†ï?Ïï?ð?ð?ð?žï?ð?ð?Ïï?ð?@ïî?ð?À=ï?À¾ï?ð?À™ï?ð?ð?ð?ð?vï?ð?ð?ð?€†ï?€†ï?&ì?€’ï?@ ï?@·ï?ð?ð?ð?€žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@qè?€{î?ð?ð?ð?ð?Àïï?@ßï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àpì?@3é?€-ë?ÒÝ?À|ç?6ì?Øç?€Ûë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýí?ï?ð?ð?À»ï?Îí?Õì?@¬î?ð?ð?ð?ð?ð?ð?žï?í?@ì?ê?@×í?ð?ð?ð?ð?ð?ð?Ÿï?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À%í?€†ï?ð?ð?ð?ð?ð?ð?€%ï?ð?ð?@gê?ð?€ç?mÇ?ì£?H¥?!Á?¸Æ?OÎ?€2à?€Ñí?ð?ð?Öì?€›æ?OÎ?ÀNç?øÛ?@%à?à«?À?IÏ?Íß?Pˆ?·?@Ué?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?0ì?€ä?@ƒâ?€ðì?ð?ð?@Þî?ð?ð?ð?ð?ð?ð?@0ê?Ü¢?€òÓ?¯Ô?€­Ü?@‹æ?Œë?€tê?Œî?ð?€ãî?ÒÑ?@Ùì?îè?`„?Ç?ð±?»Ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?ð?ð?Àë?ð?ð?€Jî?€Gí?ð?ð?ð?ð?ð?ð?Àçï?„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?€xî?€†ï?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uí?€"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¬ì?€Ží?€tí?@cî?@ë?À¿è?Úé?ð?ð?ð?ð?ð?ð?€¾ï?ÀÆë?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?€rî?ð?ð?¡ì?@tí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?Àˆï?Íï?í?í?€ì?Àã?€ˆÖ?ºÝ?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªä?“?Z¾?¸±?‡?š¶?€Û?€’Ù?Àªâ?®¹?è¨?Àä?ð?ð?À–ë?À2î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?Vï?ð?ð?Àeî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?@Æì?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“î?@î?ð?ð?ð?@&î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qé?ð?ð?@Ñí?@—ê?Àwå?€†ï?~î?@Vî?æï?ð?ð?ð?éë?¸î?ð?ð?ð?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?À=ï?ð?ð?Ÿï?ð?ð?ð?ð?ð?@Ží?Àçï?Vï?ð?ð?€Üë?€'î?@nï?@cî?ð?ð?ð?ð?€ƒï?kí?@Ûç? å?@'ê?ð?ð?ð?ð?@nï?·ï?ð?ð?ð?Öï?ð?ð?ð?ð?ð?ð?ð?õî?€Üî?€úí?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?@nï?ð?ð?€^î?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?õï?÷ï?€4ï?@ˆí?€'í?•í?€Aë?€éí?@}ì?yì?@øî?€ñï?ð?ð?ð?ð?ð?ð?ð?Kî? î?@5î?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?€Ïï?€úï?ð?ð?ð?ð?ð?ð?ð?€Ýß?Wè?ð?ð?ð?ð?ð?ð?@™ï?€)î?ð?ð?ð?€`ï?–Û? s?@h?P«?P›?¬ ?AÆ? »?ÎÛ?’Û?À;ï?€ùî?@ è?{Ë?€ é?Ò?ìÌ?Æ?Lª?8¢?„?]?d¡?wÑ?'Ï?È£?À¤â?@%ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@üï?@¬ë?€Ðâ?°©?—?Z¸?€Åá?€?Ø?v·?@Qê?ð?ð?ð?ð?ð?€è?¨?P?rÁ?€EÜ?€NÝ?¼Ò?ïÐ?AÙ?€æÚ?€¦à?M?@h?€aã?¼Ã?ΰ?Ð¥?Ì?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?@Ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûî?ð?ð?@ÿî?ð?ð?€·ï?ð?ð?ð?@%ï?Vï?ð?ð?ð?@êï?ð?ð?ð?ð?ð?ð?ð?ð?Àéí?@Oê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èì?À4æ?¹í?ð?Àžï?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?€úï?ð?À¡ï?€ßî?ð?ð?ð?ð?ð?ð?ð?ð?ð?oî?ð?@þï?€šï?ð?ð?0ï?÷ë?@æ?îî?ð?ð?ð?€ýí?€|ë?Aï?ð?ð?ð?ð?ð?ð?€2î?ð?ð?ð?ð?ð?ð?ð?€Ïï?ï?ï?hë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€{î?Ÿï?ð?ð?ð?ð?í?À—é?€‹Ù?éÅ?¬?Hš?ˆ‘?¥?åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Ý?¤£?<¢?:¹?Àêç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@}ï?€\ï?ÀÎî? î?1ì?@vç?ÀËì?ð?ð?ð?ð?ð?@ùê?ÀTî?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À9ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?€Ïï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?À©í?@ßï?ð?@?ã?€éï?ð?ð?@Äî?@¿è?€öì?ð?€wî?@ßï?@ßï?Àpï?ð?@÷î?Àžï?À0ï?ð?ð?ð?@êï?@êï?ð?Àí?ð?ð?ð?ð?ð?ˆï?À.î?ð?ð?ð?ð?ð?ð?À?í?@ê?€÷ë?ð?ð?ð?&ï?@4ï?ð?ëí?^ï?Àœí?€õÛ?Sî?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?@Øì?Àæí?@·ï?ð?ð?ð?ð?ð?@ßï?€¾ï?@.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQì?€Ïï?ð?ð?ð?ð?Àkí?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ï?õï?ð?ð?ð?Àï?ð?ð?ð?ð?ð?Àýî?@ ï?@ìí?þî?Àåî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ð?ð?ð?À¼ï?ð?ð?ð?ð?À³ï?ð?ð?Çé?@‚í?ð?ð?ð?ð?ð?ð?€hî?Àðì?¬î?ð?ð?ð?ð?@›æ?žÉ?,§?´¢?Ë?@ â?@>ä?Àãë?@Çå?œÎ?€'Ý?_ã?ò´?ž´? ¨?€÷ã?EÀ?ƒ?ƒ? ?Aä?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ˆï?@!è?Öß?€¹é?ûÓ?—È?×?€ŠÐ?nÑ?ÛÁ?ÀHî?ð?ð?ð?ð?ð?ð?€/ê?€Ö?V?0‚?¨ª?@há?‚ê?„è?€‘ë?ˆï?“ï?ð?ð?ð?ð?ð?€úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?Àºï?ð?ð?ð?€%ï?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?@rï?ð?ð?ð?ð?@€î?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòî?À˜î?€¾ï?“ï?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?À¼ï?ð?ð?ð?@ï?íè?@ ï?ð?ð?ð?ð?ð?ð?À|í?ð?Àní?Ÿï?ð?ð?ð?ð?@¦ï?€‚î?ð?ð?@˜î?hå?€‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?eì?ÀÌæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çî?ð?ð?ð?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?âæ?CÂ?^Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãç?§Ì?Ž·?ñê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlî?@wì?€‰î?À+î?@¢ï?ð?Àèé?tå?mä?ð?ð?ð?†é?€&æ?ð?ð?ð?@Öì?ð?ð?ð?ð?ð?ð?ð?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Fï?°ï?ð?ð?ð?ð?ð?ð?ð?ð?€éé?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ?€Æì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?À×ï?ð?ð?ð?ð?ð?ð?í?@kì?ð?ûì?Àkî?À×ï?@åï?ð?@åï?ð?Àï?ð?ð?ð?@{ì?·í?ð?ð?ð?ð?é?øî?ð?ê?Àxé?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?€vì?@‡î?ð?€éí?€_ï?ð?€î?@åï?ð?½ï?@©ì?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?@ì?ð?ð?€†ë?|é?ð?ð?@§ï?€íî?Àªî?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€iï?ð?ð?ð?ð?ð?@é?Àoï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸î?ÀUî?@#î?€Hî?Øï?ð?ð?ð?ð?€¦î?€Ñí?@Zî?@ï?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?À“î?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ÀÜî?@îì?ð?ð?ð?ð?ð?ð?€_ï?€ë?€Ö?ø“?|¡?€âÙ? Ã?€ÌÝ?îÝ?Ó?Ö¿?|±? €?¼¥?Àj?š?€vØ?ܪ?Àûâ?€€ä?À†æ?°ï?ð?ð?ð?ð?‚æ?Vè?ð?Àôì?€è?á?€%×?È ?l ?É?#Û?@×?™?`·?Qê?PŒ?ÆÍ?€xê?ð?ð?ð?ð?ð?ð?ð?~ì?@ƒç?[?„?Ô¬?„?Àš?¾Ã?È?LØ?@Tí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Tî?Sì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?@Ìí?ð?ð?ð?ð?€Ïï?ð?Rï?ð?ð?ð?ð?€Êï?ð?Àkî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?@zï?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?œï?€ï?Ñî?ð?ð?ð?ð?ží?@(î?ð?ð?ð?ð?ð?ð?ð?Vï?ð?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ä?ÀÐë?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?Mí?€Ùë?ð?ð?ð?ð?@·ï?ÀGæ?ð?ð?ð?Äï?ð?ð?ð?ð?>ë?ð?ð?2ì?À“î?ð?ð?À¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î?ð?ð?@$ï?Øï?ß?¸?\½?@Ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öë?–?Àcá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ì?€cã?€Ïï?ð?ð?ÀŠæ?€MÐ?íï?ð?ð?Àðè?ð?ð?ð?ð?ð?ð?Àà?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Rá?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@ï?ð?€¸ï?ð?ð?ð?ð?ð?Àñï?–æ?@Õï?ð?@nï?ð?€Ïï?ð?ð?ð?¬î?€ì?@Äî?6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?„í?lè?ð?ð?ð?ð?ð?ð?À=ï?ð?ð?ð?ð?ð?ð?Ôë?À†ã?ÀÞï?·ï?·ï?Àžï?@ˆë?ð?ð?ð?˜ê?ð?ð?ð?ð?ð?ð?@¿í?€ëî?´ï?ð?¦ë?·ï?ð?Àôî?ð?ð?ð?ð?Àñï?ð?ð?Àîï?ÀÃï?@Þì?ð?ð?€Ýî?€Gî?ð?ð?ð?ð?ð?@Îî?€Äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?Pí?@·ï?Àçï?Vï?ð?ð?@÷ì?À¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oï?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?€pï?@‹î?Àéí?@cî?@{î?î?@âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?€@Ð?@h?©?Öµ?D¹?ø¸?0€?@•?@x?©Ö?nÓ?X¬?€¿î?@·ï?ð?€÷ï?@·ï?íï?ð?2í?àÈ?€Þ?Ñã?oÍ?Ô?'É?0‚?èÙ?@‘î?ð?@æï?@ç?€¯Ú?€RÔ?À±á?°¯?¾æ?ð?ð?€Ïï?ð?ð?€nï?Àgé?¶Ö?”¹?2À?\©?hÁ?Àèî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€ï?ð?ð?@·ï?õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ßï?ð?ð?ð?ð?ð?ð?ð?À7î?êí?ð?ð?Àçï?ð?@·ï?ð?ð?í?ð?ð?ð?ð?€÷ï?Àçï?€Ïï?ð?ÀCï?€öï?ð?€’é?ð?ð?ÀGï?ð?@nï?€î?ð?Vï?áê?ð?ð?ð?ð?ð?ð?ßï?ð?ð?ð?ð?ð?@Äï?Àãî?Àûï?ð?ð?ð?ð?@ ï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘ï?ð?ð?ÀŒï?`ä?€oì?ð?ð?ð?ð?€Ií?À=ï?ð?Àôî?€`à?hï?ð?ð?ð?ð?ð?·ï?€î?ð?ð?óï?€Èê?@nï?@èï?ð?ÀÑî?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨ì?ð?ð?€ï?ÀÏã?@a?€Iâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨ç?ÀQã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@$î?Àï?ð?ð?jè?€ƒ?Ü?@½í?ð?@ïî?@Æì?@.ì?ùî?ð?ð?ð?Jê?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ï?ð?@Åì?@î?Àï?ð?ð?Àgï?@ºè?€Èá?@Eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕí?Àê?ð?ð?ð?ð?ð?­ï?ð?ð?ð?*ä?€Éã?€Hî?ð?ð?@-è?À„î?€ƒï?ð?ð?@£í?ð?¨í?ð?ð?ð?ð?ð?ð?ð?ð?@Eî?ð?ð?€ßí?À÷ì?ð?ð?ð?ð?ð?ð?ð?€Åï?ð?ð?rï?ð?ð?€Öï?ð?=ï?ÀÇî?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?ð?ð?ð?ð?ð?€Ïï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pí?ð?€èß?@$í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€%à?@•?ö³?p§?¡?z?œÅ?L¢?üÀ?Àœí?Àï?À î?ÀRî?€Uê?„ì?ð?@Òè?€ƒ?JÊ?€c?ýÄ?“Ú?€ƒ?Àt?À,æ?€Åï?ð?ð?ð?çî? ³?€c?€%ä?Ÿï?ð?ð?ð?ð?@Jí?^¹?Ê?Š?è¸?°?¡?€‹Ñ?àÀ?L®?€[?KÎ?€ä?ÀRì?@ë?‘í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôí?@î?ð?€Dí?€î?ð?ð?ð?ð?ð?@¼ì?Kî?Àî?ÀÀï?ð?Àîî?ð?€†ï?€Åï?ð?ð?€žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?ð?›î?dï?@òï?ð?ð?ð?ð?kì?Ùï?ð?ð?ð?ð?ð?ð?€gï?Àžï?ð?ð?ð?ð?ð?@òï?€Öï?"ï?ð?ð?ð?ð?ð?ð?Àîî?@pî?dï?ð?ð?ð?ð?@¶ê?ð?ð?ð?ÀÇî?ð?ð?ð?ð?ð?ð?ð?€Êå?@òï?ð?ð?ð?ð?%ï?€«è?=Ý?üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜè?¬Ä?¹Ë?€)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.î?8·? ¢?€º?Àrë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ªî?À1ï?ð?@œì?0‘?‡à?ð?ð?ð?@ûî?Gî?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‚ï?Dï?Àäî?@Lé?€Qî?À+ï?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?~í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üæ?€cê?ð?ð?ÀTë?€Mã?€˜ì?ð?ð?À ê?À“é?¢ï?ð?@nï?ð?ð?gï?ð?ð?€vï?ð?ð?ð?ð?ð?ð?ð?€{î?@Áï?ÀÛî?ð?@Mì?ð?ð?€3ç?@oí?ð?Ãí?ð?ð?@ñî?ð?ð?@î?@»ï?¬í?Öî?€5î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2î?©ì?ð?€Ïï?ð?@»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?@ í?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@,ì?0?@x?@x?e?g?”?Ç?€PÑ?Ç×?€"Ö?RÖ?»?h‘?MÄ?@5æ?@2ä? È? œ?»À?€rë?lí?€h×?À´æ?€ìæ?ÀËï?ð?ð?ð?ð?€õï?€¤Û?0‘?¸ê?@·ï?@nï?ð?ð?@·ï?`ã?¨œ?È™?àt?ø ?€ËÞ??Ô?€9Ð?ƒË?D¢?U?à¤?€‡?È?@¤ï?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vï?ð?ð?ð?@`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õî?ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zï?ð?€Ïï?@|ï?ð?ð?ð?ð?ð?ð?éï?ð?ð?€õï?@'í?ÀBí?<â?ÀLî?ð?ð?ð?ð?ð?@Áï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àçï?ð?ëï?Ÿï?î?@Áï?€õï?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?€õï?€ï?ëï?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?eé?€ï?ð?ð?ð?ð?@Öï?€§î?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Àïç?À]æ?ºÚ?@‚?†Æ?@&í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yç?¯?@x?Ië?eã?ÀÌâ?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ÀRî?€ï?ð?gÔ?ìÏ?Àìë?ð?ð?ð?ÀÉí?ÀGï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?Àçï?À÷ï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQï?€Ïï?Ÿï?ð?ð?À î?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáì?€Ìå?@"î?@î?3í?@Âí?€°í?ð?ð?ð?ð?ð?ð?€Œï?€úï?€ëï?ð?ð?ð?€öï?ð?ð?ð?@ýï?@ùï?€?ï?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?À=ï?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?€úï?Àèï?ð?€å?ð?ð?ð?ð?ð?Àèï?üï?€ë? ê?À&ë?€Ïï?ð?ð?ð?ð?ð?·ï?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?Àžï?€Ïï?ÀÜî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öí?€"í?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìî?Àçî?€£ï?€¹ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?›Ä?ëÕ?´ª?$?ÀMã?@Âï?€mï?€fÛ?Àn?«?MÀ?°¡? Ñ?Àþï?€ðï?ð?ð?€Üî?ð?ð?ð?ð?ð?@õî?,×?€P?¶Ì?Àë?ð?ð?ð?€ãè?€o?àŸ?€[?$?€ë?@gë?éï?ð?ð?€î?€†ï?”î?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?ð?ð?ð?Vï?ð?ð?À»î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äî?ð?ð?–î?À–ê?À“î?ð?ð?ÀÜî?@”î?ð?ð?ð?mï?ð?ð?€Ïï?ð?À¯ç?@ñæ?@âï?ð?ð?@áï?ð?€ºí?Tî?ð?ð?ð?ð?ð?ð?ð?ð?@è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?Àçï?€Fï?€kï?ð?Àçï?ð?ð?ð?ð?€{î?€ëê?ð?ð?ð?ð?ð?@î?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Bï?@ää?Àðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?#ì?€B×?p?^?@? ˆ?ª¸?Àÿá?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€3é?vÕ?ÕÞ?Æ?uÈ?Àp?œ?°í?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Zï?€¦ï?ð?Àî?À'ç?€lé?@Îï?ð?ð?ð?€xí?@dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ð?ð?ð?ð?ð?@Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@,ê?ÀIè?@ í?Àî?‚ë?€{ë?@?é?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”ì?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?€Üî?ð?ð?ð?Vï?€[ï?ð?ð?ð?œæ?ð?ð?ð?ð?ð?@î?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ÀPï?ð?ð?ð?ð?ð?@Ëç?€{î?ð?€ðë?ÀÖê?€Ïï?Àçï?8î?ð?ð?Àyï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´î?€{ï?@çí?Àâê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ê?@ïï?À¼ï?@ïï?ð?ð?ð?ð?ð?ð?ð?Œï?€4Ý?L°?°„?ªÁ?p®?€ í?ð?ð?@­é?l¾?€Õ?ÈÕ? p?Æ?cè?ð?ÀÞï?ð?ð?ð?@·ï?€Ïï?ð?€8ï?€\ì?€qÒ?òË?ð?ð?ð?€'Õ?Àµ?€?€"á?€Gï?ð?ð?ð?ð?ÀÍï?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èê?@pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jí?Åî?ð?¹í?ð?ÀÜî?@}ì?ð?ð?ð?ð?ð?ð?ð?ð?€{ï?ð?ð?€†ï?@·ï?À½ï?ð?@Îï?ÀÞï?ð?ð?ð?ð?ð?ð?ð?@·ï?€ ê?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?€ î?€Ïï?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xï?ð?ð?ð?ð?‡ë?@å?€´ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíî?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃë?”½?Ȱ?B×?´ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨è?9É?@Ëê?7É?-Ö?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?À•ì?¹í?Àï?€¡ï?ð?ð?ð?ð?ÀÔì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?Àï?¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?·ï?€ì?Xí?ð?ð?ð?é?Ö?Àçï?@·ï?Àžï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?ð?ð?ð?ð?ð?ð?ð?ð?@®ì?Àˆí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸í?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?€è?@ûï?ð?ð?ð?ð?€í?òè?@mê?ôî?&Ö?Àçï?ð?ð?ð?ð?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?@œï?žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‰Ò?@dé?Àéî? î?ð?ð?ð?ð?ð?ð?ð?ð?€’è?ܳ?0Ø?€Xä?€yá?ƒ?ð£?:?€#Ñ?@Ä?€¹è?@ í?€øï?ð?ð?ð?ÀÄî?jê?€Ãî?@~ë?Àr?bÌ?@ží?Àüï?ð?ð?ð?Àîï?@§ê?€Fß?@ä?ÀÂî?ÀKï?öÏ?Ј?XÚ?ƒç?@Áã?pš?@h?@x? ª?:?Àr?Í?€æí?Àùï?ð?ð?€ˆï?ð?ð?ð?ð?ð?@„á?À4î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€9î?@Äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×î?@ï?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?…ï?ð?ð?ð?À9ï?À9î?€þï?ð?ð?ð?ð?õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªî?€Ïï?€Ïï?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?Mí?ÀÉî?ð?ð?ð?ð?ð?ð?@øï?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?@’í?Àëï?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ê?€pè?À™ê?ð?ð?ð?ð?ð?@Óî?OÄ?S? ¸?uà?í?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@=í?FÄ?€P?¡Ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€4í?Àòä?Àë?€zî?ð?ð?@î?À\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ñî?€Óî?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?€Åï?@õï?‘î?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?iï?>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?À®î?ð?ð?€Žï?ð?ð?ð?ð?Ùî?ð?€üï?€ï?ð?ð?ð?™ì?Àmï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?ð?ð?ð?ð?ð?ð?À ì?@î?ð?ð?Ÿï?ð?ð?ð?ð?€Sï?ð?ð?ð?ð?ð?€oï?ð?€Öï?€ûï?€´ï?ð?ð?ð?ð?ð?ð?ð?@£ï?@óì?ð?€êï?ð?ð?ð?€¼ê?ÑÃ?†â?jã?€«â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?€7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…ï?ð?ð?ð?ð?@Ïï?€tï?À—í?€í?€Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkî?@6ë?ð?ð?ð?ð?ð?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éî?ð?@-ï?ðí?€Ü?ð³?€üä?@rï?Àrï?ð?ð?ð?ð?ð?ð?ð?¡ï?Ñ?°‚?@ ä?ð?ð?˜ï?0Ó?¸¬?€ŠÐ?€ÐÒ?À¬ç?À{î?zï?üï?ð?ð?ð?ð?ð?ð?ÀKê?€IÐ?¨Ÿ?ÌÇ?ÂÃ?€ßî?Òï?ð?ð?¸ï?€ÞÜ?`¬?€‡Ð?@é?‰?@‘?AÒ?Ì×?€­?À4æ?ð?ð?ð?ð?€êï?ð?ð?ð?@"è?½Á?À­æ?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bí?ð?ð?ð?ð?ð?À‰í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?Òï?ð?ð?ð?ð?À÷ï?@ñï?ð?ð?ð?ƒç?-ê?ð?ð?ð?ð?ð?ð?€£ï?€4í?ð?ÀÎï?ÀÎï?ð?ð?ð?ð?Àï?€Öí?ð?ð?ð?@þï?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?À î?@ï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?€çï?€êï?ð?ð?ð?ð?ð?ð?_ï?ð?ð?ð?ÀBï?ð?ð?ï?ð?ð?ð?ð?ð?ð?Àäï?rï?ð?ð?@í?Ië?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?@Ìê?€æ?@âç?ð?€êï?ýï?Ýì?Ïß?Ī?€‹ß?ÀÜë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?{Ú?@¹?$¡?á?ð?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅî?ÆÚ?€Ûê?€Zî?@„î?®ï?‡ï?@í?Ùï?@¶ï?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æí?pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²é?Ÿâ?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?€¼í?ð?ð?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?€Çï?ð?Àì?ð?ð?ð?ð?ð?ð?@áï?ÀÙï?ð?ð?Àƒï?ð?ð?ð?ð?@ï?äï?ð?ð?ð?@Vî?ÀÌî?°ï?ð?ð?@óî?ÀÎï?ð?ð?@$ï?@Ÿî?€Ñï?ÀÛë?ð?ð?@¼ï?@í?ð?€#ï?@•î?¿î?À™ç?ð?€Iï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùî?€«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ð?€0ï? ë?ð?@öï?~ï?ð?Àèï?„ì?Œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?é?fì?@–æ?€×Ö?œ£?X¡?À”è?€rï?@Àì?áï?ð?ð?@œï?ð?ð?ð?ð?ç?`t?€Ž?€%ã?Àáâ?àà?qÌ?€X?¹?è•?¤Ï?€u×?€æî?Tî?ð?À÷í?ëí?öï?ð?ð?ð?ð?ð?Øæ?€Õà?hÑ?Т?À!á?ð?ð?ð?€¥í?¼?åË?q? ‚?h«?ب?€éé?ð?ð?ð?€šï?ð?ð?ð?ð?@ƒä?à‹?À‚é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?@˜ë?€Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’æ?ð?ð?ð?ð?ð?@­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Xï?Øï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?Äï?ð?ð?ÀÎï?€œì?ÀÔí?ð?ð?ð?Àíî?Àüí?ð?ð?bï?@þï?ìï?ð?€Tï?@§ì?ð?ð?ð?ð?ð?ð?øï?aé?îé?À@ï?ð?Õï?ÀÖï?€0ï?ð?ð?ð?ð?ð?ð?ð?@;ï?ð?ð?ð?@íï?@¹î?@×î?À—ï?Àvï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?€´ï?ð?Úï?¶ï?ð?ð?ð?ð?€äï?ð?ð?ð?ð?íï?ÿï?ð?ð?ð?ð?’í?ð?ð?Äï?ð?ð?ð?ð?ð?ð?€ûï?Àèï?ð?ÿï?øì?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ê?€Âæ?ð?ð?ð?€úè?ä­?€sÓ?Àwè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ï?@Éî?@¶ì?€áÙ?²È?`}?Ö½?€îí?ð?€rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žï?€ï?Àäï?ÀÐî?€¯í?€üï?Yï?€wî?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?@ÿï?ð?ð?ð?ð?ð?@Ðï?`î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À,î?€‚ë?Vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?À5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòì?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?ï?€ýï?àï?ð?ð?ð?€lï?ð?ð?Àvî?@õï?ëï?€Ñï?€²ï?Àäî?€·ï?@šï?€Öï?@¿ï?@ï?Àúï?ð?ÀÄï?€ñï?ð?€tí?€×î?åë?€;ï?ÀÑï?ð?—ï?Üî?À¯é?Àúï?€»ï?€óï?@‡é?þí?ð?ð?@òï?ð?ð?ð?ð?ð?ð?ÀÎï?ð?ð?ð?ÀNï?Pï?@ßï?€Cï?ð?ð? ë?ÀÂï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?:í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+î?À¶í?€Þî?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?ð?®î?€%ï?šï?À¿î?ð?Àýï?âï?Àäï?Àíï?ð?@òï?ð?€íï?€~é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€nï?€îï?€ƒï?ÀMì?€rê?Cí?€þë?À-ç?ªâ?@â?@¨ë?€Bì?€êç?·é?ð?½î?€qé?ð?ð?ð?ð?@8ë?H¦?B?`š?`?Š?H›?€yÛ?À/ì?€‰ï?—Î?HØ?€Éï?ð?ð?ð?ð?@Öï?@àï?ð?@Éâ?š³?øž?¨ç?ð?ð?Àuï?ˆ×?4?É?8?U? z?rÍ?€íï?ð?ð?ð?ð?ð?ð?ð?€³ï?øä?@‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?€!ï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ví?ð?ð?ð?ð?ð?À²î?ð?ð?ð?‹ï?@”ï?ð?ð?@üï?@†î?€„å?çï?@ãî?€@æ?€ÿï?Àâï?ð?ð?@}ï?ð?òï?À·ë?Àpí?@¶ï?ð?ð?ð?ð?ð?ð?€Xï?@í?ð?ð?ð?ð?ð?ð?ð?ÀÎï?€ûï?ð?ð?ð?ð?€åî?ÀÚî?ð?Àï?@üï?ð?ð?ð?ð?ð?ð?ð?Àíï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°î?€Çî?ð?ð?ð?ð?ð?ð?À–ï?ûì?Àóï?ð?ð?ð?ð?ð?øï?«í?ð?€ÿï?@î?À^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ÀÞï?ðï?€“è?mÆ?K?ž»?Þ¶?@Éì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?@-ä?Þµ?è–?˜®?$? ?~Æ?±?"º?ð«?{Ô?ð?ð?@Nï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@/ç?yÞ?€þï?ð?À}î?€–ï?ð?À9î?Dë?@Óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;ï?Àüï?€Âî?ð?ð?ð?€´í?í?€sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.í?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yí?`ç?Àï?€Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?À²ì?ð?ð?ð?ð?ð?ð?À/î?ýï?§ï?À+í?tï?ð?ð?^î?ÀÖï?ð?@<ï?@µï?À©ï?@Oï?ð?ÀÎï?ð?Àî?€Uï?ð?ð?€»å?@ôï?ð?ð?ð?ð?ï?ð?@gï?Àeì?¨î?ÀUï?Àóç?€ï?Àï?ð?ð?ð?@9é?À‚ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhï?ÀÎï?Øï?ð?ð?ð?ð?À’ï?€•ï?“î?@þï?@»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Fï?õï?¼î?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þî?Žå?Àôï?ð?ð?ð?ð?ð?Äï?ð?ð?ð?€%ï?À†ï?ð?Éï?ð?ð?@„é?ð?ð?ð?ð?ð?ð?ð?ð? ï?ÀÖï?ð?ð?ð?ð?ð?€wî?Àê?aî?¬î?@iî?€Öì?€Àê?Àç?€ä?À[è?€ í?ð?@=ï?gí?ë?€QÔ?ð?@ôï?À'î?Xï?ð?€lï?ð?ð?€‹Û?@u?€b×?R³?€h?¤§?Àvç?>Å?@Êï?ÅØ?Tº?@sî?ð?ð?ð?ð?ð?ð?ð?Àoì?ŠÄ?Àv?hÚ?µë?ð?à?€r?@w?€£Ð? €?ø”?€Hì?Àýï?ªï?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûî?ð?ð?ð?ð?ð?@ÿî?@ðë?ð?ð?ð?ð?€Lï?@çì?ðï?@øì?@;ï?ð?À×ï?@8ê?€äï?€Tî?@°é?@’ï?€hí?À'î?ð?€Ýî?@öï?@ï?Àiï?ð?ð?ð?Àï?€ôï?ð?ð?ð?ð?ð?Ìï?€Ùï?ð?ð?ð?äï?@úï?ð?ð?ð?§î?@ï?ð?ð?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À`ï?À÷ï?ð?ð?‹ï?@ùï?ð?ð?À©ë?€î?ð?ð?ð?ð?ð?ð?ð?Àçî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?@&ì?@ä?ÀŽ?‰?©?@Êç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ì?ÉÞ?_Ó?ÕÊ?²Ï?­Ý?@ ë?€;í?€&â?ùÊ?Ç?Ц?˜š?̯?«Ç?€Fç?@¸ï?À‘í?Pî?@ñë?@Kæ?¹Ð?@—?¤®?@vå?ð?ð?bÞ?Mí?ð?€lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€!Ý?È?À6í?ð?ðï?À?î?ð?ð?ð?þî?€Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀWï?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À í?¶ï?ð?ð?@iê?Àµï?ð?ð?ð?ð?ð?€òï?À±ï?ð?ð?ð?ð?€í?ºî?ð?ð?ð?ð?Àßì?@Ùï?ð?ð?ð?ð?ð?ð?ÀEï?€hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@Få?ãï?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ì?@wî?@çï?@dè?í?ð?ð?ð?ð?ð?ð?ð?ð?³ï?ÀPï?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?@¶ï?ð?ð?ð?ð?ð?ð?ð?@Äî?@üï?ð?ð?í?Àãê?Fï?€ªì?@ñî?ð?@Ùï?@Cï?ð?ð?Lï?ÀÖï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éî?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œï?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oï?í?€†î?@¥ê?Nï?ð?ÀÑî?€xë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€8î?@8î?Àˆï?ð?@vï?ð?ð?@3î?@1í?uï?ð?@Qï?€œï?€uí?ÀPí?€Þï?€ î?@ï?ôí?€÷é?_Í?\º?ð?ð?ð?ð?ð?ð?ð?ð?€à?`w?¸£?ŽÉ?ü¹?€Z?~Ø?€Gæ?€Æé?=ã?AÕ?Ñ?€Šï?ð?ð?ð?ð?ÀÙï?€Üï?@í?òÇ?€‡?€sÚ?€ì?YÓ?tÄ?­Á?@‡?Àÿê?ð?Àôï?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€cï?@Xî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?€çï?ð?ð?ð?ÀDì?€‘ë?ð?@Uí?@ì?ð?ìï?Àâï?€Îï?_ï?@Jí?ð?ð?ð?Àï?•î?^ê?†ï?@ží?\å?@ï?À7é?€Éì?ð?ð?ð?@Òï?@#é?@Úí?ð?ð?ï?÷ï?ð?ð?ð?ð?€–î?@ñï?€èï?@ôí?@<ï?ð?kï?@”ï?ð?ð?ð?Gî?rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñî?ð?À.ï?Mæ?Àùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îî?Àüå?nÚ?¨ ?@?†¾?@²à?=Û?êº?¬?À!æ?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€Øï?@ìï?ð?ð?ð?ð?@Øï?Çï?–ì?€¤ä?vÆ?€°?€àÜ?€[í?€ï?Äï?ð?ð?ð?ð?ð?ð?åï?@­ì?€}à?Í?L?;Ì?@ÿï?@¶ï?ð?@í?À°ï?€ðï?ÀÅï?ð?ð?ÿï?@·ï?ð?ð?ð?ð?ð?ð?@ûï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@8ã? ¹?ÇÕ?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßé?Àéê?×ï?ð?ð?ð?Àï?ð?ð?ð?ð?ð?uî?@Vç?À¸ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?€ýï?ð?@që?ÿæ?€Ýï?Ùî?ð?Àúï?€îï?ð?ÿï?@úï?ð?Àîï?@ïí?´ì?Ïì?ð?ð?ð?ð?Oï?€tï?ð?ð?ð?ð?ð?ð?ð?@ýï?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lï?Àûî?Ãì?òï?ÀÔï?@Kï?«î?…ï?ð?ð?ð?ð?ð?ð?€úï?€óï?ð?Õì?ð?ð?ð?ð?ð?ð?@hí?ð?ð?ð?€úï?—î?@;ï?@Ñï?ð?ð?@mï?ÀÀï?ð?ð?@ ï?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@=ê?ð?ð?ð?@¶ï?ð?ð?ð?ð?ð?ð?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªí?Öï?ÿï?òí?€mä?ºì?:ë?Àwè?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?ÀÎï?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@+ï?À¥ï?À­ï?ð?ì?€_ê?eì?tì?ÀUë?Tï?@‹î?@¯ï?Àøï?@èî?@Lî?€‡ï?€^ï?ÀÝí?@„ï?€&ï?ê?€Òæ?î?ð?À»ï?À”ï?À›ï?ð?ð?ð?€Xç?°€?˜¢?Àõç?Ë??°ƒ?ÚÙ?`‰?Äã?€\Ó?—Ô?€Mî?ð?ð?ð?ð?ð?€›î?€Ò?6?€•?às?P?¼ª?B?€Ö?Àîî?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€ìï?ð?ð?ð?ð?ð?ð?ð?À—ï?ÀÊï?ð?ð?ð?ð?ð?@¹ï?@ìï?ð?ð?ð?ð?ð?ð?ð?€Œï?Àëï?ð?ð?@Œï?@§ï?ïï?ð?ð?@Àî?ð?ð?€üï?øï?@Áî?Àíî?@Ÿï?@âí?€ÿï?Áï?þï?Àÿï?ÀÎï?ð?ð?€ïï?À÷ï?€øï?ð?ð?ð?Æï?¡ï?ð?€—î?¢è?ð?@ ï?ð?ð?ð?€ï?@¶ï?ð?Àuï?Àî?€øï?€¸ï?íï?ð?ð?€çï?Lî?¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?@Zï?Àè?Àaï?ð?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?Àë?@Jè?€Nè?Ý?àr?p‚?Ú?À¹è?€‰à?0‚?<¨?€Èæ?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®í?ŠÖ?’µ?`…?€Ú?@hì?ÀIï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§í? •?„Ú?ð?ð?ð?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?@eë?@èã?Àtï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cë?Àõé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õê?@>é?@Xï?ð?ï?À$ï?ÀØï?ð?ð?€»ï?@„í?0í?€9í?Þï?ð?ð?À£ï?€4î?@Ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@0ï?ð?ð?ð?ð?›ï?Àqë?€gë?À,î?ð?ð?€vî?@î?ÀÑï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ñï?ð?ð?ð?ìï?€Çê?ð?ÀÎï?ð?ð?ð?Àªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€hì?ð?ð?ð?ÀÛê?@_ê?éë?@Qï?€Zï?ð?ð?ð?ð?ð?ð?Ôí?ð?ð?ð?ð?ð?À™ï?ð?ð?ð?ð?ð?ð?Àôï?Úï?ð?ð?@¤î?€ºì?@íî?À½î?àï?Àê?@¡í?@ê?€šï?@×ì?€iï?î?Àñî?ÀÎï?@¶ï?½ï?€Áî? ï?€ ï?ÀMî?kî?ÀJï?@pî?Àzë?ð?@ï?€?î?@þï?ð?ð?ð?ÀÀî?€fà?TÀ?¸?À¸?(¢?àž?MÇ?ùÐ?€wÔ?RÒ?hî?ð?ð?Àáï?@íï?ð?uâ?b?P¦?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀOî?Üï?Tï?€òï?@©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äí?ï?ð?ð?ð?ð?ð?ð?ð?€Gí?À²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?Àï?ð?Àfï?ð?€ ï?À¨î?ð?@ßï?@ãî?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?@“ï?Àæì?ð?ð?À[ï?ð?ð?ð?ð?ð?ð?À‚ï?À ï?À«ï?ð?ð?€£ï?À¸ï?î?ð?ð?ð?ð?@¶ï?@ì?À¹í?ð?ð?ð?ð?ð?âî?€ãî?€¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?ð?ð?ð?ð?ð?ð?€óï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?@ ê?€<à?Â?Ø?æ²? ™?€Gã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xí?Àžæ?%ã?=Ü?€¡?p“?€Sâ?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?"ì?ˆ¬?€©ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?Àçè?€2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ÀŸí?"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xí?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºí?€æé?ð?ð?ð?ð?ð?À¨í?@{í?@Gî?Ÿï?ð?ð?ð?@’ï?@€í?@åì?ÀFî?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?ð?ð?ð?ð?€ìï?@þï?ð?ð?@Tï?€Kë?ÀÉí?Àeï?ð?ð?€¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?€Wï?ð?øï?ð?ð?@:ì?ÀÐì?ýî?ð?ð?Àýï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?êì?“ï?ÀÝí? ï?ð?Àúï?ð?ôï?@qî?ð?ð?ð?ð?ð?Àî?Àïí?€Àî?ð?ìï?€òï?Àûï?@3ï?ÀÐî?@ií?ÀÀí?@¼î?€îï?ÀÐï?€òî?€;ê?¨í?ãï?À#ä?ÀÚï?ð?ð?€ûî?€‡ï?@Ñï?@íï?€Œí?€Fï?ÀFï?Æï?€éï?Àlï?ð?€úï?@§ì?Àºî?@Ûï?ð?ð?ð?ð?ð?ð?ð?ýí?€)Ü?ä?€Pï?ÀŠë?@­ë?@=í?€gï?€ ï?@½ï?Îï?•ï?@´ï?@°î?€pï?ð?ð?@˜î?@í?÷ë?€ˆë?ÀÇé?þå?€Xå?©æ?Sî?ð?ð?ð?ð?ð?ð?ð?ì?øŸ?4¤?€5ã?VÀ?€íÐ?€"ï?ð?ð?@¸ï?À¶ï?Òï?…ê?(?0Š?@Wã?@õï?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€0í?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Àöî?€ î?@©ï?ð?Àšï?€ˆï?@ï?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ð?@Wï?Üï?ð?ð?ð?€Ôî?ð?ð?Íæ?€Hî?€äï?Þï?@Bë?ð?ÀKï?Àéï?ð?ð?€8î?ð?ð?ð?ð?ð?ð?€ˆï?ð?€ˆï?ð?@Âï?Àœï?[î?ð?ð?ð?ð?ð?ð?ð?ð?6î?ÀÓï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eí?/Ú?êº?@v?$½?`ƒ?€»Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüí?€Ý?äª?€Kì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?@fí?€^ë?@‘ë?€ ã?)Ì?6À?@¦ï?ð?ð?ð?ð?ð?@oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@}è?Òì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸ï?dé?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?@dï?@'ê?ÀDî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢î?€ï?À§î?À|î?€‡ï?ð?À½è?€õï?ð?@ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?ð?ð?ð?@Tã?€Õï?ð?ð?ð?€×ï?ð?@Xì?@ ê?ð?@ªì?ð?ð?ð?ð?ð?€Ïï?€Pï?À:ï?€”í?€†ï?¯ï?ð?@‰ï?Éï?ð?Nï?€×í?ð?ð?ð?ð?@Qî?ð?Àšï?ð?ð?À}ï?ð?ð?ð?ð?ð?Àì?Àèî?ð?ð?ð?ð?>î?@.è?ð?ð?ð?€×ï?@´ï?ð?Àêï?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?@jí?“î?@"ï?Àºï?Àûî?€Õï?@ñî?Ýí?@7ï?ð?¯ï?ð?Àïï?€Tè?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?@äï?êï?æî?€Íï?ð?ð?ð?@zï?#ï?€ñî?@®ï?@Çï?´ì? ï?€‡ï?Xï?êï?€šç?Àáì?ºî?Úí?@¦î?À„î?Àöî?Àæ?@Dî?ð?@Ãï?€Ôê?À+í?ð?ð?ð?tï?dâ?Î? {?ÁÇ?ŒÜ?@zê?ð?ð?ð?À¸ï?€”ï?ÀÂï?@ªá?ø²?ÀRï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?€Žï?€ñï?ð?ð?ð?ð?ð?ð?!ï?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?xï?@Øï?ð?ð?ð?ð?Àëï?ÀÌì?@¥î?@Bï?õï?€üï?@Úê?€<ï?ð?ð?ð?ð?ÀÄï?@­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?€«ï?Àïî?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?rî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üî?X×?UÆ?ð…?ÀEã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qâ?0á?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?@åä?%â?@ƒà?Ànä?€ýã?ÃÖ?@c?€ÙÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?ëï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFï?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?ÀKè?,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥ë?ÀÐê?€î?À5ï?ð?ð?ð?ð?ð?ð?Àôï?À:í?€Ëî?Ïï?Åï?@óï?wî?úï?öî?ƒÖ?€~ä?ð?€ðï?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€ì?@rï?ð?ð?>î?@Þï?€ðï?€»ï?ð?€”ï?ýï?úï?ÀCí?Àðï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïî?€Ôí?ð?ÀNï?€7ï?ÀÊï?@èæ?äí?ï?ð?Àhè?Qí?ð?€“ì?@Êï?8ê?€Uí?Àëï?ð?´ï?ð?ð?3ï?€Øî?;í?ð?ð?ð?ð?€öï?@3ê?@+ã?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?[ï?ÀÊî?ð?Àíï?€.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?@Èï?@õì?Àóï?´ï?ð?@þï?@·ï?ÀUî?ÀÜî?@üî?ð?€ ï?@‘ì?ð?ð?€kî?€éï?€÷ï?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?€Íï?ð?ð?ð?@ ï?@î?À`í?€ï?€ï?ÀÜï?€Õï?Àzï?Àûï?èë?Aê?ð?ð?€ï?ìï?ð?ð?î?ç?@Yé?âå?å?ÀEã?)Û?À#ï?ð?áï?ð?ï?mÝ?€^?T?@ìæ?ð?ð?ð?ð?€æï?Sï?ãï?€ƒÐ?€Z?€á?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@¸î?ð?ð?ð?ð?ð?ð?ð?€—ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ì?€ðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ì?€Ôî?@åî?ð?ð?Àæï?ð?€rî?ð?ð?€åï?ð?ð?À)í?ÀGï?ð?ð?ð?ð?€àï?#ç?þî?@áï?ð?€7î?µï?@hï?Næ?€æ?ð?ð?ð?Àòï?ïï?ð?@lï?üï?ð?@ñï?mï?ð?ð?€åï?ð?ð?ð?ð?âî?À?ï?€ÿï?ð?ð?ð?ð?ð?ð?ð?€|ï?Àñï?À¦î?qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€Ûï?Àñï?ð?ð?ð?ð?ð?ð?ð?ÀÜï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùì?ð?ð?ð?ð?ð?ð?ÀIí?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?€<ç?>»?ÁÏ?Àžî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéê?ž?c?€„è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvï?Àµ?¦?À¤ë?ð?ð?ð?ð?×î?ï?ð?ð?ð?ð?ð?ð?€‚í?€!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@}ï?€¿í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?†ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?@áì?ð?ð?ð?ð?ð?ð?ð?@Öï?ð?Àï?@Æí?žî?@¿ê?Àâï?ð?ð?ð?ð?ð?ð?ð?€‚ì?@^î?þï?€Ïï?ð?ð?À§í?ð?ð?@ï?€éé?ð?€¶ï?Àxï?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¬ï?ð?@+ï?@ïï?Šï?€Ìç?ð?ð?ð?@fî?À.ï?ûï?ð?ð?Àñï?À7î?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î? ì?€DÛ?[í?@Ùï?jí?€Ùç?@=é?Kî?Ó?=Ö?¼¬?L¨?ß?Åî?Àí?À;í?ð?Àï?Àñï?Àëë?ð?Àœî?ð?@Ûï?€=í?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dï?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?@¡î?@9ï?ð?€×î?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?Qï?€!ï?Àéì?@Êï?ð?ð?ð?ð?bî?ð?€zï? î?Çî?ð?ð?@wí?ð?Úë?Éê?Øî?@•ï?ˆï?@ãê?ð?ð?ð?@^î?ð?ð?ƒï?ð?ð?ð?À)î?ÀÃï?ð?ð?€ûï?@£ï?ð?€Õï?€·í?Âæ?ð?ð?ð?À+î?À›ï?@ïï?çï?ð?ð?æî?öï?ð?€Îï?5Ö?@bà?Àâ?À–è?€½ã?€vî?Àûí?ú±? ž?ì¾?lç?ð?ð?Àžï?ð?À®ï?@ˆï?€åî?Þ¹?è?€¼Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±æ?€±å?Àlï?ð?ð?ð?ð?ð?ð?@Lí?Äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áî?€î?ð?ð?ð?ð?ð?ÀŽï?ð?²ï?@ùê?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?Øì?ÀÝî?Îï?ð?ð?ð?ð?€Áï?Ïï?@«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºè?Àtí?ð?ð?ð?€éï?€Ìí?€ôï?ð?ð?ð?ð?ð?ð?ð?ð? ï?ÀGï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbë?ð?ð?ð?ð?ð?ð?@ï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?@€ê?ñÊ?Àd?!Ä?€Çì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?€›Ò?€c?…ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èá?€ãÛ?Àøï?ð?ð?ð?€Þí?€‰Ñ?žï?ð?ð?ð?ð?ð?ð?ýï?¤í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eï?ë?@ºí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNä?€ï?ð?ð?ð?ð?ð?ð?ì?ÀÝï?òî?@|ì?òî?@­î?ð?ð?ð?ð?ð?ð?ð?À ï?åì?€bî?ð?ð?ð?ð?@Šï?@øì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êî?@ë?ð?ð?@)ï?@.î?€ýî?Àñï?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ï?ð?ð?ð?ð?ð?ð?ð?ð?€‘î?€Ìí?ð?ð?ð?ð?Œã?¯Ñ?6æ?ÀØï?ÀÉï?€šä?€âÝ?òÎ?Àb?­ç?€æ?>ë?ð?ð?ð?ð?Àbí?ð?@Âç?§ï?€îì?,â?ð?ð?ð?ð?Õï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?@lî?€bî?@nï?dï?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?@pï?@Òï?@ï?î?ð?Àšï?ð?ð?ð?ð?ð?«ï?@àï?€Àë?€Íï?ÀÝï?ð?ð?ð?À ï?@¨ï?@‹ï?@‰ç?ð?ð?€{ì?€‚ï?ð?Àí?€Rï?ð?ð?ð?ð?@tç?À ç?@î?@öí?À³ï?ð?ð?@Ñä? ï?ð?ð?€Ÿî?€Úî?ð?ÀØë?@áî?€/æ?ð?ºï?À¨ï?öï?>î?@î?]ë?¸Û?@ à?@³ê?ÓÚ?Ú?.¹?Ж?…Æ?×?yï?€Sì?GÚ?—î?ð?ð?“ï?¿?0‚?€ûá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïí?·?éÑ?@Æì?ð?ð?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?üï?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®î?»å?ñï?ð?ð?€ôï?ð?@Ñï?ð?ð?ð?ð?ð?ð?ð?¯ï?Àî?ð?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?ð?þï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀZï?NÚ?Ʋ?ÀŒ?ÀËé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?§?Àäà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Në?\½?þ¼?€ Õ?Àå?À>ì?Àþæ?éØ?"Ä?@¯?ˆ ?N?Ј?h²?à”?Ð?>ã?öÌ?À†?Ày?š°?‰?üÅ?Àäí?ð?ð?ð?ð?À°æ?îÎ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6í?´è?ð?ð?ð?ð?ð?ð?€—ï?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zå?«Ê?@6è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Tï?²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?²ï?ð?ð?ð?ð?ð?ð?ð?€Úï?Àòï?ð?ð?ð?ð?ð?ð?fî?@‹ç?ð?ð?ð?ð?ð?ð?ð?çë?@zï?îë?@<ï?Àûï?ð?ð?ð?ð?ð?ð?ð?Áï?@í?Ðï?ð?Àáï?@mï?ð?€¾ï?ì?@Ìï?ð?ð?ð?ð?À~î?Éî?ð?ð?ð?@èï?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öì?€ãï?ð?ð?ð?ð?ð?ð?üì?€·í?ð?´ï?€Üà?#Â?@jä?@Aï?ð?ð?ð?ÀÃî?@ëï?ð?ð?ð?ð?ð?ð?ð?@öï?€Þì?@}î?ð?ð?ð?ð?ð?ÀÏæ?úï?ð?€Zê?ç?Ÿï?ð?À?ï?€Óï?ð?ð?@áî?@â?oá?À¢ç?€â?[ï?ð?ð?ð?ð?ð?ð?ð?ð?î?€¯è?€ôå?@ ï?ð?€Ëì?@ï?ð?@Ÿï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’ï?€Áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï?ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ñï?@Æï?@¥ï?À+ï?€éï?ð?ð?ð?@ûï?Àæï?@Gê?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?eì?À’ê?é?@þî?‡í?öï?ð?ð?ð?ð?ÀÀç?ÅÎ?MÅ?€~à?@9î?€Úï?Àqî?›ä?ï?€eî?@¹å?Àâî?@´ï?Àšï?@¿ç?@µì?@Ëà?@›ï?ÀÈè?€Íî?@¹í?À«ë?hì?ð?€éï?€ÍÛ?ÒË?€ƒå?@Ææ? ¶?d? ~?…?ÀËì?Íà?»à?Àï?Àåï?õï?À‡ç?0?Àxâ?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øç? ‰?`²?,å?€þì?DÉ?@oá?@Êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€Ïï?ð?Àûï?€Aï?ð?ð?€Íï?Àœî?€Þæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€ì?€×ï?Àéî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?ð?ð?ð?ð?ð?@üî?0ß?Àï?ð?ð?ð?ð?—ï?€Ðî?ð?ð?cë?@pî?ð?€rï?xî?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ãï?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£î?ÑÔ? £?+Ñ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hå?R¹?uÍ?mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?€ ï?ð?ð?ð?ð?ð?Ûï?€÷í?€•ë?@×â?€CÙ?Â?Ì®?@q?îÛ?Àá?€ÆÝ?]Ü?@Rì?Àûï?€€ï?@éæ?#ç?ßà?˜‘?p‰?ü¼?Àê?ð?ð?ð?ð?ð?ÀÌä?&Ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À]í?@Êî?Àgï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œï?õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©ë?ÀÂ?æå?Àäí?€1ì?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€@ê?Àì?ð?@¼ï?ð?ð?ð?ð?²ï?î?€ôê?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?€xï?€Þì?@ï?ð?ð?ð?ð?ð?üë?Êï?ð?ð?ð?ð?ð?@Ûî?€Ÿæ?À^ï?@‚î?ð?@Õï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?@òî?@ôí?îä?À©ë?ð?À­î?@õï?™Ü?À^ì?€áï?Àëï?ð?ð?ð?ð?ð?ð?€ãï?€jï?ð?ð?À¯î?€¹ï?À°ï?@î?ð?ð?ð?ð?€ƒï?ð?@©é?0í?ð?ð?ð?@ùë?€*í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@ºï?xê?8í?ð?À„ï?@Zè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?€ï?Sî?˜ï?€hì?ð?ð?@:ï?úî?ð?ð?ð?@ƒí?¿ï?ð?À í?ð?ð?ð?qï?€öï?ð?ð?ð? î?€èï?À/î?ð?ð?ð?ð?ð?ð?³ë?€4æ?€Ïï?€Tî?@dí?@ì?3ê?@»ï?ÀIí?€Ù?˜î?Þï?€Nï?€Ýï?Eì?@Èí?@¼à?BÅ?€øÛ?€’í?À%ê?­Ü?ï?ûï?Žï?À'ã?EÍ?ìÐ?©?€¥?€MÜ?˜ï?þÒ?€­Ô?Àâï?€Žâ?€¨Ú?€1Ø?ܦ?@æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bâ?Q?ž?€¡ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ÀÏï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíî?Àì?ð?ð?ð?@¼ï?À8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?@3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýí?Àeî?@žï?ð?ð?@üç?€‰ë?ð?ð?ð?ð?@xî?@Àï?ð?ð?Øì?Àî?@²ï?€Üï?@,î?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ÀÜî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùê?޼?@u?“è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ÀYà?ØÍ? ¦?p„?‚?}?8?€^?Àä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€å?h?Àn?D¢?\±?@@à?€BÛ?€-í?¼ë?€þï?€Þï?ð?ð?ð?ð?úï?€Wà?®·?Øš?B¶?Z? ? }?(?@?@i?'Ê?€µê?ð?ð?ð?ð?ð?ð?€áé?ÿè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?@[î?Àï?€Ìï?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eï?ð?ð?ð?ÀÔè?ð?ð?ð?€Âï?Ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±í?ìË?À¼ì?@*ï?@Äï?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥é?ì?À†ï?@Åï?ð?ð?ð?ð?@Âï?@)ç?À÷ì?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€Úì?@›ï?ð?ð?ð?ð?@ýï?@ì?€¹î?ð?ð?ð?ð?ð?ð?ð?À’î?€éè?€bî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?@·î?Àçï?ÀUï?Àýï?ð?ð?ð?ð?ð?ð?ð?@½ï?€,ï?@ãã?À&â?@¤ï?Àáï?@Nâ?¦í?@åï?öï?ð?€—ï?€Žá?À–ï?ð?€Ùë?ð?Àëï?€–î?ð?@Zï?@Ýï?@×ë?œÐ?ð?€ï?À%ì?ð?ð?ð?@Eî?ÀÌì?Àä?Éï?ð?ßï?Öï?ð?€üë?@°ì?ð?ð?ð?ð?ð?@»ï?@Æï?€Gß?Lï?Øï?€kê?ÀÍè?€´í?@ßè?€Ûï?€sï?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;î?€úï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñï?@Éï?€ ï?€¶ì?À©ï?@Öï?ð?ð?@¤ï?ð?ð?@hï?ð?Àsî?@í?@î?pí?@ï?@¹ì?ð?€¹ï?@ûï?ð?ð?ð?ð?@fï?@þì?ð?Àäî?À'í?ð?ð?ûï?€þï?ð?ð?À¡î?€¶æ?Òæ?Üë?ð?€ûï?€ìå?@öï?@ïï?@•î?@½ï?üï?ë?àŸ?€Ò?ÀÍî?ê?À ç?€sí?ð?ð?€àî?@¹ë?€þÑ?Ô£? ?/Ý?@ûæ?¹ä?¨¾?xï?ïå?@n?i?þ¹?@ªë?ð?ð?ð?ð?ð?ð?ð?ð?^Þ? Á?€Ý?À.ä?Àÿí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@‡î?8ï?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Lï?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?gï?Àä?Kë?Àâí?Àüï?@Úè?ná?~ï?Àvï?ð?ð?€yï?À‰ï?ð?ð?@Ûï?@ï?À÷ï?Àüî?€8î?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ÿï?0ï?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?À=ï?Àµå?2±?Æç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?@üí?Wí?ñë?@îå?ãÛ?Ľ?p—?€ÝÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sí?@–é?€>ê?pÀ?&»?ª²?\¬?Àg?JÊ?€‹ä?€·ï?€<ï?€Ñï?@“ì?@Wì?ð?ð?ð?ð?ð?ð?ð?/ç?€Ö?Àyâ?€ÛÞ? ?|©?›Æ?€X×?Öº?€¦Ò?÷Ó?€ÈÝ?Wè?ÀÏï?ð?ð?ð?ð?ð?ð?ð?Ææ?À$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡ï?øï?£ï?@îï?€üï?ð?ð?ð?ð?ð?ÀÐé?ð?ð?@î?€6à?ð?ð?¯ï?@ùî?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Zì?@Qì?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üê?€*é?ð?ð?ð?ð?ð?ð?@öï?‚ç?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?@Öï?Øï?@î?€Ií?@ç?hï?ð?ð?ð?ð?ð?ð?ð?tï?Àhï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ší?@¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?nï?@Äî?ð?€ï?¼É?gÄ?ÀÙç?Êî?@ï?€Ãï?@Òì?ð?ð?€ëì?ð?ð?ÀÏï?ð?ð?ð?Àäæ?¶Ñ?ùî?\î?@Òæ?@ï?ð?ð?ð?ð?Iè?€¢Þ?pé?ð?@cï?@Qì?"ë?À/í?À”î?Üë?ð?ð?ð?ð?ð?”ç?öï?€×ï?kï?Kè?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?Àšï?À,î?@®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?öï?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?€Ùï?ð?ð?ð?ð?ð?ð?@nï?À”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?@ùí?€6î?@Ðî?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?Ýï?Äï?ð?€êï?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈí?oí?@ÿï?ð?€î?Fì?@ºî?Àëï?@ÿï?ð?Sï?À–ï?ð?€ï?@´ï?€îî?@¾í?Àùî?@2î?ìí?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝî?ð?ð?ð?ð?ð?À‘ï?@Ýï?ð?@Dè?€“ç?€¨ì?ð?@ôî?ð?@•ï?À¨å?€‡æ?€Ûï?€Øï?ð?ð?Àpî?$¯?b°?Ñ?€Ãß?€©ê?Tà?Àá?Àoï?ð?@yí?€óï?@Žè?À?@h?É?˜Ø?@2è?³?€kÝ?ð?ð?ð?ð?€õï?ð?ð?ð?Sà?I?Ƶ?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?@ ï?ð?ð?ð?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?ÀEï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²î?½ß?»à?@žï?ßï?À ì?€Zî?€£î?ð?ð?ð?ð?@ï?ÀÝï?øï?ð?ð?€ºï?’î?ð?ð?ð?ð?ð?‡ï?ð?ð?ð?ð?Àçï?€ï?€¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿï?ð?ð?ð?ð?ð?ð?ð?Àpê?aÌ?_?@Oê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?@îè?××?³?À4ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?@6ï?@»í?Àòì?€Ââ?îÇ?(¤?žÞ?@`ë?À8ï?ð?ð?ð?ð?{ë?pï?ð?ð?ð?ð?ð?ð?@pï?@6ë?€ní?@²ï?ë?@Eì?|î?@Hî?€î?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?€Úï?ð?ð?ð?ð?ð?ð?@çï?@ûï?À5ï?@#í?@Öì?àï?ð?°ï?Àµï?@Âï?Àè?@&ì?ð?ð?gï?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dî?€SÔ?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€#ì?À è?ð?ð?ð?ð?ð?ð?À¨í?€[í?ð?ð?ð?ð?ð?ð?À5ï?ð?ð?ð?@}ï?€ní?€«ï?åí?€Oî?9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?4î?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æ?ð?ð?ð?ð?ð?ð?ð?ÀÃí?À·î?Àþï?€pí?2í?€õï?@nì?@,é?ð?ð?ð?À4ì?¯Ê?€âØ?nß?€ëê?€Uî?ð?ì?€FÓ?ð?À×ï?€½Ò?€Ý?À ç?@ýê?Àqï?ð?ð?ð?@-ì?€ÁÖ?@ î?ð?@ è?À½ì?ð?Àñï?€Ûç?€ðé?€ºç?ð?ð?ð?ð?Øï?@—ï?™î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDï?€›î?ð?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À>ï?€yï?Äï?ð?ð?Aí?€î?€šï?ð?ð?ÀÓï?ð?ð?ð?€åï?€ï?À4ï?@³ï?À.ï?€Úî?€î?ÀÄî?@.ï?@¬ï?öî?@ùî?ÀÂï?ð?@ï?ð?ð?ð?ð?ð?€Íï?@äï?@è?@ï?ð?@í?ÀRï?@«ï?€µî?®í?ð?Äï?ð?ð?ð?ð?@¬ï?À?ï?@²ï?ð?ð?ÀŠï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?@fã?Àlî?ð?ð?@+ï?ð?ð?€Þî?Àâî?ð?ð?ð?ð?Àýï?À±å?Vº?÷Î?Aß?~ç?@[æ?€å?@Âí?Àïí?€ñì?ð?À¿ï?3Ë?‘Â? q?€qÚ?@†ï?ð?ð?ð?@£ï?€ƒï?ð?ð?€ýë?¿?öÍ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•ï?€?ï?ð?ð?ð?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}ï?@~ï?ð?ð?ð?ð?ð?€öï?€ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?@Ðï?Àôï?ð?ð?€ßî?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªï?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ÿï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?@%è?Z¶?Äè?ð?ð?ð?ð?ð?ð?ð?ð?úï?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿß?ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?Œí?ÝÞ?cÂ?‡?ÍÀ?€Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œî?˜Ü?kÊ?€öÛ?ÀNé?@Õï?ð?ð?ð?ð?ð?ð?Âí?ÀŸì?ð?ð?ð?ð?ð?ð?ð?“í?@\ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?öï?@ùï?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?À)ç?Gä?€Æë?Úî?|í?À©í?ÀÜï?ð?ð?ð?€¦ï?@Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?€¢ç?@{ï?ð?øï?£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?@Àì?ð?ð?ð?ð?ð?€Àí?@€ê?@ìï?ð?ð?ð?ð?ð?ð?ð?€Ûï?@ï?Kï?€pï?ð?@î?Àîî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mï?@øé?Àï?>ï?ð?ð?ð?@†ï?ð?ð?ð?@hï?ð?ð?ð?Àâ?Àì?ð?ð?ð?ð?€¨ï?@Oï?@Tê?î?ï?Àî?€cÚ?×?SÇ?ÀBë?€°ï?ð?€ß?­ã?ð?Àìï?À%ë?þï?ýï?@Cï?€öï?ð?Àšï?ð?î?Ûï?ð?@†ï?ð?ð?ð?ð?ÀÄí?Àê?@‡ï?ð?Àºé?d×?@Çç?“Ô?ŽÈ?ºâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-ï?€Õï?ð?ð?ð?Àßï?€î?ð?ð?ð?@¶î?@yï?ð?ðï?ð?€jï?3í?ôï?€æï?Àëï?€|ï?ð?ð?ð?¥ï?À‡í?€˜ï?@Êï?Àëï?€ßï?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBï? í?À^ï?@ûï?ð?ð?ð?ð?ð?ð?çí?@$î?€éï?Àöï?@·î?ð?ÀJì?ÀŸë?¹î?žî?Àïé?ÀÎï?À_í?€uë?ð?ÿï?€äï?@÷ï?ð?ð?ð?ð?ð?ð?Àáï?Àëï?ð?ð?€†ï?Àî?Àjì?@Eì?€èí?ÀŠé?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?@bï?€wï?ð?ð?€Åí?Àxî?Àdî?@Éì?€Æî?ð?€æï?Àéï?@ë?Àà?„Û?Jº?@i?@i?¤?àr?…?į?k?€MÚ?@Úî?ð?ð?ð?ð?ð?ð?ð?äâ?€Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?Àîï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xï?@dç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æí?À5è?@ñî?ð?ð?ð?ð?À>ì?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?Oï?ð?ð?@mï?@.ï?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?À÷ï?@ÿï?0ï?@ÿï?ð?ð?ð?ð?ð?ð?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èï?Àóî?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?öï?ð?ð?ð?ð?ð?ð?Lê?Ï?ÀÉè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üè?µê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?À?ä?È™?h‘?€?è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷í?À6í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?£ï?ð?ð?ð?ð?ð?ð?ð?@Bè?@²å?Àç?ÀUç?-æ?Àjå?@¯á?€‰î?ð?ð?ð?€Éî?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?€ÊÝ?Àºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?ð?ð?ð?ð?ð?ð?ð?€;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?bï?ð?ð?ð?ð?ð?ÀSè?€ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”î?€¨ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è?Pà?‰Ã?€¤ã?ð?ð?Àûì?€¤ï?ð?ð?ð?ð?ð?ð?ð?ÀVï?1ï?ð?ð?ð?ð?€Íï?úï?€#ë?@%è?€ýï?€«ï?ð?ð?@jé?@£î?«ï?@÷æ?ÀÆë?Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?ÀŽï?ð?ð?Àéí?@ ï?ð?ð?ð?ð?ð?ð?ð?ÀDê?`v??@Ná?€oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jï?@Jî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤ï?ð?ð?ð?ð?ð?ÀØì?ð?ð?ð?@ùé?@‹ï?€Íï?€Íï?ð?€éì?Àëï?Vï?@Tï?ð?@×ï?ð?ð?ð?€î?mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ì?Íí?ð?€Íï?ð?@´ï?ð?Àáï?€jï?Àöì?ð?@´ï?ð?@hï?Ùí?@ï?ð?ð?Àñî?€Cë?8ç?€wæ?À‹å?@î?@õî?@Óï?ð?1î?Àšï?ð?ð?ð?ð?ð?ð?Àçï?@¸î?Àøê?À½è?À×ã?€ è?_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?Àãï?ð?ð?ð?ð?ð?Dï?@^ã?t·?[?h­?x”?`Ž?@„?ø—?@t?<¤?ìÞ?D?€ ç?ð?ð?ð?ð?ð?ð?ð?Àªä?€ÈÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xï?ÀÜë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€óï?ð?ð?ð?ð?Àîä?@ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?Àšï?ð?çï?@Çï?ð?Àºï?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?@¦î?Àëï?€®ß?À°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õì?À©ê?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?šê?Å?l¶?ÀMî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?€jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?€ëå?v¶? v?‰á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?À‚ê?ð?ð?ð?ð?ð?ð?ð?ð?‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?@˜ï?À¬ï?ð?ð?ð?Àï?ùî?Àóï?Oï?ð?ð?‚í?ð?ð?ð?cï?½î?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‰ï?Àbë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õì?€Xî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?@5ï?@÷ë?ð?ð?ð?rï?€è?@ñé?À‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@:í?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ë?€_æ?€Há?€[î?ð?ð?Àyì?Àî?ð?ð?ð?ð?ð?ð?ð?Àžï?@‹ï?ð?ð?ð?ð?Àºï?ð?ð?ð?ð?ð?Àºï?ð?ð?ð?ð?@´ä?€áí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?í?€Åï?ð?ð?ð?ð?@´ï?ð?ð?ð?ì?ÎÄ?CÜ?Áè?@µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýî?ð?ð?ð?ð?ð?@4ï?€Sî?ð?ð?€Yì?€¿ï?@Àï?À†ï?Üí?€¾î?ð?ð?€ï?ð?Ýï?ð?ð?ð?@ñí?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ùê?Àõï?€Íï?ÀÑï?À5ï?ð?ð?Ààî?€‹î?€yí?@½ï?ð?ð?ð?ð?”ï?Àíë?@ ê?@ê?À{å?€´æ?ÀWã?À7ç?ð?ð?Àãï?@µê?@™ï?@£î?ð?ð?ð?ð?ð?ð?ð?Qå?€é?Ìî?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?@zï?Àšï?Çï?@Ãî?€Ûï?ð?ð?ð?€Bè?€ÿÐ?e?@y?@k?N?@g?j¹?€3Ø?Àïå?ð?ð?ð?ð?ð?ð?ð?@òé?`•? š?ÀÏè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïî?€Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óí?@Îï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@˜ï?ð?À~ï?ÀÈï?ð?@…ï?€Öì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨ï?@èî?ð?@éï?Ãï?ð?ð?ð?ð?ð?ð?éï?ð?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?À7ï?ð?ÀGí?„«?À´í?ð?ð?ð?@ è?€¢é?@óï?ð?Àéï?Àtï?ð?ð?ð?Ñï?ÀÝï?õï?ð?ð?ð?ð?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àzì?§Í?ˆ˜?Ø?{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?Àì?Ì?€ƒ?@`?ñÂ?@7ä?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿê?ð?ð?ð?ð?ð?ð?ð?ð?mì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@ï?@âê?€`ï?ð?€ñï?€sï?qâ?ÈÇ?@=æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?4ë?ð?ð?@šï?oî?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?€ï?@Âê?Àpî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oï?À÷î?Zï?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?@áä?À’î?ð?@ùï?xï?€ðï?ð?Åî?€wï?@ùï?ð?ð?ð?€ ì?Àçï?À!î?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€(ï?@Êê?ð?ð?ð?€ûï?ïï?ð?ð?ð?ð?ð?¢ï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?€äï?ð?ð?ð?@åï?@Õï?ð?ð?ð?ð?ð?Êî?€iï?€Ñï?€Åí?ðî?´ï?@Eï?Àôì?ð?ð?ð?ð?ð?ð?ð?@Øï?@µí?€?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òì?À•ë?Àdì?@àê?ÀJî?À=ï?ÀÕç?@µà?kï?€Dï?ð?ð?ð?ð?ð?¸ï?]í?@‚é?@Ùâ?Àxç?€²ç?€~ä?€'è?@éè?ãï?ð?ð?@0ï?@ƒï?ð?ð?ð?ð?î?ÀKî?ÀÃæ?€jæ?Àµî?ð?ð?ð?=ï?@£ì?@ï?ð?ð?ð?ð?ð?ð?ð?@ýï?óï?ð?€ûï?@´ï?@ ï?À¾è?€¬è?€î?²Í?.±?¶Â?@u?Vº?È?dÚ?@–?€™ß?d§?@i?€ Ô?@Oí?ð?ð?ð?ð?ð?ð?€¬î?²?–±?À\í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@+ï?@êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?@‡î?€5ï?ð?ð?ð?ð?ð?ð?ð?øï?Àùï?Àóï?@tï?ð?ð?Àíë?€Vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?Àbï?Òï?ð?Àæï?€ñï?ð?ð?ð?Àçï?Àåï?€_ì?€Aî?ð?ð?ð?@ï?@±î?@kî?'æ?@é?Àûê?€Ùë?’è?@2è?p?@¾é?æï?@ìí?1è?€ß?uÃ?€tä?Öæ?€€Ú?€âÑ?€ËÓ?@;ë?ð?€ýî?Ëï?ÿï?ð?ð?ð?ð?¨î?@ï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸï?ûï?ð?ð?ð?ð?ð?ð?À´ë?€šÚ?€U?@¡ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?€Êå?€œÒ?Ò?@šá?@Žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áê?@ñì?ôï?ð?ð?ð?ð?ð?ð?€ké?€+ç?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?„í?Àýë?€ùî?€üî?@Uê?§Æ?@„ä?€Cí?ð?ð?ð?€zï?€¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@=ë?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?ÀÙì?ð?ð?Àí?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?@Pî?ÀYî?@wî?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€Õï?ð?ð?@+î?€_è?ð?ãï?Àæï?ð?ð?€ßï?Vï?ð?€Ìï?”Ò?Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<ï?@’î?ð?ð?ð?€ôï?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢ï?@Wï?ð?ð?ð?ð?€ßî?ð?ð?Yï?Àï?ð?ð?€î?ð?ð?@`í?ð?@éë?Àšï?ð?ð?ð?ð?ð?ð?üï?ÀÜì?öì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@oê?ë?Àšë?™ë?€€ì?í?Àéî?@{í?ð?@‹ï?ð?ð?ð?ð?@éï?Žë?Ànè?€Cë?@nè?€ÆÓ?„ß?@øì?€$ä?@Ïê?ð?ð?ð?ð?€¬ï?ð?œï?@øî?À-ç?€tæ?ÀØä?€»î?@õï?ð?ð?ð?Ní?Àºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?@Íï?ð?kì?€Òà?€:ß?Е?Œµ?ˆ?€Ù?À¿á?”Á?ŽÀ?/Ê?À®?P?Ù?@¹é?²°?”¦? {?QÔ?ð?ð?ð?ð?ð?ð?ÀTí?ü§?€’ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ï?ð?ð?Àæï?ð?ð?ð?ð?ð?Bí?>ï?ð?ð?ð?ð?€ßï?~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@'ï?ð?ð?ð?ð?ð?ð?ð?ð?€î?€ï?%ï?ð?„ï?Àâï?ð?ð?€Ìâ?€’ã?À?p»?ÀÀä?ÀÒí?†ï?ÀXé?HÍ?B·?d ?Ь?4¼?A?$¦?¥Ã?@±å?Î?úÈ? ‚?Ào?m?ľ?€çÛ?³è?€ä?@Ýê?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ï?ð?ð?ð?Àöí?ì?ÀAè?bÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€åì?€çé?€±ï?ð?ð?ð?ð?ð?ð?ï?ÀTï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™ì?€Þî?ð?çì?€Óì?î?À¬í?êÒ?‹?)Ö?@à?Jï?]è?:È?ñ×?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vì?€jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?À ì?ð?@ï?€<î?ð?ð?€üï?Àôï?ð?ð?ð?ð?ð?ð?@¦î?€î?€Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©ï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?ð?ð?ð?ð?ð?³ï?Àçï?ð?Àøï?€Ââ?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?—ï?€Zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?@´ï?Àgï?ð?ð?ð?ð?ð?ð?@Åï?@pï?€5ï?€™ë?À[ï?ÀLí?ð?€ùï?@kì?@ùï?þï?ÿï?ð?@Êí?@ùì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?€‹ï?Èê?@¬î?À(ê?€ï?@ÿï?_ï?ð?ÀÃï?ð?ð?ð?ð?@êî?fë?€3ê?®æ?€Íå?@ÿá?Àsì?@Üì?@‚ä?À8ã?¾æ?@î?À:ï?@ï?Õï?@¿ï?€sæ?{Ø?@Úí?€Üç?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?€åï?€Ÿï?@íè?@•î?€ï?€Ó?‹Ô?€8ç?€Þï?Àïï?áê?f´?4?¾Á?åÜ?$®? t?A?ƒ?†?ø? É?@Úï?ð?ð?ð?ð?ð?@íí?θ?£Ê?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?@€ï?€aï?@Åï?ÀÌì?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ï?ðï?ð?€ãï?À•ï?ÿï?ð?€è?FÓ? ?š¶?yÅ?Ð?*°?@a? Œ?€P?€¡?0È?@<ä?ÀÉî?ð?ð?ð?ð?ð?ð?’î?€^ë?@Ìì?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?Àxï?€Ìï?ð?ð?À×ê?€”ê?Àôí?l±?@?\å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sì?€ï?ð?ð?ð?ð?ð?ð?@ñí?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?@å?@à?@#è?À]é?@£å?M×?µ?€? Ö?¸’?®?üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿë?@êì?ð?€@ì?À‚ï?ð?ð?€–í?Àkî?ð?ð?ð?ð?ð?ð?Ôï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?ð?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?öí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?'ï?—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ní?ð?Àî?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?€ï?@-ì?À0ì?ð?ð?@œï?@Åí?@4ë?ÀUê?@¾ï?Æï?À ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ÀÎî?ð?ð?ï?@Dî?€ì?iï?ð?ð?ð?ð?@]í?í?ÀQî?Àçï?@Oé?Àjâ?€ÔÜ?@Çï?ð?@´ï?üï?”î?€¾ë?€šç?@Šï?hï?€Gë?@è?€áØ?åÐ?€êÖ?ÀNá?€Në?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sî?Àžê?€Ûî?@ñï?€Èî?‰î?€‚î?€ï?Àƒï?ð?@ƒï?À¡ä?n½?­Ð?€Éá?Àcä?"´?¸˜?YÆ?€*ï?ð?ð?ð?ð?ð?ð?À†á?€?ÄÁ?ÀQï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?æï?ð?ð?À¶ï?ð?ð?ð?ð?ð? í?Àéï?ð?ð?ð?ð?ð?€ï?uè?€ƒâ?€˜ä?)×?ÿÝ?‰ë?'í?Àˆì?@öî?€ëï?ð?ð?€ï?ð?@Sí?¦ë?ð?Àeï?ð?ð?ÀÆï?@ î?@ë?Çä?@þã?€Zâ?<¯?r?`t?ž¶?@Øâ?Àõï?ð?ð?ð?ð?€Íì?É?€x?j°?@šâ?€î?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?À‡ï?Ãï?@¯í?lé?Úî?°Â?Ê?@Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?Àdî?ð?ð?ð?ð?ð?ð?€ïß? å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠä?Ãã?€¸Õ?©Ã?`–?†?ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?ì?€âë?ð?€"ì?ëï?ð?ð?ð?ð?ð?ð?Àï?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€)î?€Îï?Àüí?€ë?‘î?ð?ð?ð?ð?ð?ð?ð?ð?žî?ð?Ànî?Àñæ?ð?ð?ð?ð?ð?ð?ÀÔî?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?ð?€áï?¤î?íï?€‰ï?ð?@Äî?@Ÿí?ií?À-ë?+ì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?@³í?€Íï?@­ï?@öë?À”ë?€0ì?@ï?ùï?€âî?ï?ð?Ô?€ ä?@uï?@î?zì?€þé?Àï?ð?ð?À*ï?€ûî?€Šï?À*é?ÀYã?€ëê?€0æ?€9î?Ôç?'â?@ç?À ç?Àoî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüí?@Öì?ð?ð?ð?ð?ð?ð?@ãï?ÀJï?ð?Gî?Sì?€Tî?€è?¶Ì?¶À?gÃ?@i?0‡?0·?W?À¤ã?ð?ð?ð?ð?ð?ð?@¢ï?€ôÖ?¸ž?–ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ëê?ð?ð?ð?ð?ð?ð?ð?ð?€5ï?Åï?ð?ð?ð?ð?ð?@èï?@ðï?ð?Àòî?@pï?ÀÇï?À@ï?ð?ð?ð?ÀKï?á?Ì×?€žå?€¸Ó?™Á?.Ô?wê?€ÛÖ?ûÒ?€ß?@/ï?€ïï?À!ì?À­ë?¯ï?À°î?Óï?€Mê?Àrï?ð?€öï?@ ê?€›ï?ê?€gï?é?€¿Ø?ùÌ?Œ¿?6±?À~ê?€yî?Àîï?@4ï?@‰ã?Å?ìª?€†Ð?@ï?ð?ð?ð?ð?ð?ð?ð?@¨ï?À±ï?@¿ï?€öï?€¹è?ð?€nÙ?€`?å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?ùí?ð?ð?ð?ð?ð?bí?|º?hÏ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zí?ÀRê?ç?ˆ®?Cê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀZî?€tí?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?À3è?©ï?ïï?€øí?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?¹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï?Àãï?À-ï?~ï?€¡ï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?çî?Àé?ð?ð?ð?ð?ð?ð?€ãí?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?€Íï?ð?ð?ð?ð?ð?ð?€Òï?Àáï?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?€Íï?ð?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€×î?@ªî?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?Oï?ð?ð?ð?@íî?@³í?ÀÞï?%ì?@Pì?]ë?Âë?€„ï?ð?ð?ð?ð?ð?ð?@÷ï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþì?ð?Ëï?€‹ê?@€é?ÀÚï?@²í?Àî?@§î?ÀÉï?@¢ï?€ ê?@ìë?€,è?«ï?@*í?€5ï?ð?ð?ð?@åí?ÀZì?ð?@Ûî?@¬ï?@Üï?€Ææ?@1ã?€Ïç?€BÜ?Èí?€¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯í?@™î?€Ðì?Uï?ð?Àùï?îë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXï?ÀÌì?’ì?ÝÉ?¤Ï?Ö¼?€^?I?@|? y?€çÔ?€)î?ð?ð?ð?ð?ð?ð?"ì?@†â?Àª?zÁ?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€ûï?ð?öï?€ê?€êä?*Ý?ð?ð?€¾ï?€Âë?Àƒá?€Gß?Ò?B»?¼?Ç?€”Ú?@Aà?@åà?tÆ?@Eí?kâ?°?×Ï? Ý?qî?Þï?@Ýê?Ðî?ð?ð?Ìï?ÿì?€xÒ?Àê?žÖ?À„?œ®?PŽ?€à?@Âã?äØ?wÈ?t?:?À#à?@âî?ð?ð?ð?ð?ð?ð?€\ï?@î?òï?äï?€Ùé?€Ûï?@‘å?8?€$Ý?±ï?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?€Þî?¨ï?ð?ÀJí?@î?ð?ð?ð?ð?ð?€ è? r?ñÀ?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@6ï?œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2î?€¯ä?€éá?ŠÃ?˜µ?€Aê?ð?ð?ð?ð?ð?ð?€Ùï?€Ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²í?À]ï?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°î?zç?ð?À(í?€ìî?ñï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?ð?ð?ð?ð?ð?ð?€·í?ð?ð?ð?ð?€Lç?ð?ð?ð?ð?¹ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?@–ï?€èï?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?€lí?€Ñï?ð?¡í?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•ï?ð?ð?ð?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?@æï?€ñï?€sï?@Üï?ð?ð?ð?ð?ð?ð?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?€¥í?ð?ð?ð?ð?ð?ð?€Ñï?À–ï?°ï?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?@Fì?@ìî?ð?ð?ð?ð?ð?Àüï?€uï?Àåï?ð?ð?À“ï?Àéî?ð?ð?ð?[î?Àªë?À‰ë?@•ë?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?Ðï?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹ï?@iï?Xï?¤î?-î?€Bï?ï?§ï?ê?@&î?€›ï?€fí?ÀÁí?€ í?ÀÊî?@^ï?ð?ð?ð?ð?ð?ð?Àï?@Rî?ð?ð?ð?ð?@æï?@î?Øî?êÝ?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªï?@Dã?€îß?€‹ê?€:ï?@Ùí?ÀFï?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?Àáï?À–í?@é?€+Ý?zÞ?°‚?¬?uÅ?Ààä?€4ï?ð?ð?ð?ð?ð?ð?«è?Œº?ø¬?°?ÖÚ?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xî?Àíï?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ê?@²î?Ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.î?€Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?Àòï?ð?ð?ð?@Fä?†?—Ú?ç?Àé?áØ?h¦?³?xÐ?[Ö?À™è?“Ü?˜Å?Í?ð ?õá?€}ë?@ë?€.ë?@Éï?€Íï?À€î?@³î?hã?Àš?³Ò? Ì?Ài?Q?¯?À.ç?ð?ð?ð?ð?ð?ð?@î?Àäî?ï?¨ï?€'î?ÀÌï?À"ï?ÇÁ?±Ç?À¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjì?@Hã?@bé?€ûï?ð?€Õë?€þï?ð?ð?ð?ð?ð?ÀÖî?€VØ? š?4è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óâ?€áä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3ï?2×??`r?ô¹?4¢?€e?Û?@úï?ð?ð?ð?ð?ð?€Oï?€oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?@dï?@(î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaê?Àçí?@sï?@Êî?ð?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€aï?@éï?ð?ð?ð?ð?ð?éï?ÀÙï?ð?ð?ð?ð?ð?Àðï?ÀÕî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?€Íï?ð?ð?ð?ð?ð?ð?ð?@›ï?ð?@Ìï?ð?ð?ð?ð?@Ñï?ð?ð?ð?ð?ð?ð?@Ûï?ð?ð?€ìï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?@òï?€þï?ÀÜï?ð?ð?ð?@î?€í?@¬î?@†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èí?€¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Šï?@ï?ð?ð?ð?ð?ð?ð?À¿ï?@úï?@Äï?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?œë?@²î?ýï?ð?ð?ð?ð?ð?æï?@[ï?ð?ºï?ð?ð?À…ï?ð?ð?ð?€Pï?@çì?ð?ð?€~ï?ð?ð?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€ìï?@öï?Ùé?À‡è?Àéî?ð?€áí?@&ï?ãï?^î?ÀÊí?Pï?ð?ð?ð?€Ïï?@Êí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@0î?€+ß?Àtî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?€•æ?€9ê?@ëë?>ì?Àaî?ÀÌí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ànè?Fá?Àžê?€ìè?8•?@p?€c?èž?}á?Àì?ð?ð?ð?ð?ð?ð?ÀÌé?ÄÁ?ã×?À'æ?@m?p?ÀÆé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ê?ð?ð?Àï?ð?ð?ð?ð?ð?ÀÅí?@Âë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?"å?´ã?@5é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?€÷î?ð?¯ï?@ï?ï?@Cï?ð?ð?ð?Àóé?˜²?9Å?ް?À‚?€X?H?n¹?À?€h?2°?Tß?ï?À+í?À ì?€â?sÕ?€Øâ?è ?À…?gË?V´?è—?€úÙ?À ï?ð?ð?ð?ð?ð?€Eî?éï?@Pï?€ï?@Œê?€gí?ð?_Ö?àu?@‚?NÌ?À•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"í?ùï?ð?ð?€ìï?Àéì?ð?ð?ð?ð?ð?ð?ð?²ï?KÅ?€ÛÐ?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yí?¯?@nê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@½è?@aê?qÇ?C?Z?š?/Ã?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æè?€Eï?@Ìî?À$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?ð?ð?€Ïï?€šï?ð?ð?ð?ð?@Þï?uî?ð?ð?ð?€Tï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?ð?ð?ð?€>ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’ï?€ìï?ÀWï?€¬ë?@œê?@ë?Àùí?@nï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?€?î?Àcì?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?@‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?@ÿï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€ïî?@‚ï?€ïï?ð?ð?ð?ð?ð?ð?€<ï?ð?@øï?ð?ð?Àòï?øï?ÀÉï?À÷í?@5ì?ßï?ð?ð?ð?ð?ð?ûï?ð?@Þï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?À}ï?@íï?ð?ð?@Ìï?À¿í?@fí?@šî?À¬î?€[ì?@€ì?@îé?@¢æ?ÀÈî?dï?ð?ð?ð?ð?ÀÛî?ð?ð?ð?ð?ð?ð?À¹ë?€ìã?Àøì?ð?@Ãï?`ç?Í?@½ê?@¿í?\ì?@î?Ïï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?Àãï?ð?ð?ð?ÀÜï?æî?ð?ð?ð?ð?ð?@Îï?ð?ð?ð?ð?ð?¥ï?@Gê?@ëæ?@ä? •?? ­?ÀOè?@ýï?ð?ð?ð?ð?ð?ì?*Á?€å?€¶Ö?Ј?˜Ô?Àöé?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?Àà?ð?ùï?ð?ð?ð?ð?ð?ð?@ÿï?"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?€:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ð?€¿ï?Àòï?Àðï?€Éï?Àéï?ÀÙå?ÖÉ?ø“?€{?€qÔ?€ÚÕ?÷Æ?vß?º·??К?S?L? {?»Ã?Á?Ž?6?€g?€Áâ?öï?ð?ð?ð?ð?ð?ð?ÀŽï?Àvë?à?À¬î?ð?Àªè?Ј?€o?H¡?†³?üç?ð?ð?ð?ßï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?€rê?ð?ð?ð?•ï?@;î?ð?ð?ð?ð?ð?ð?ð?ð?èÛ? ?Ú?mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ å?ÖÁ?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€aÛ?È’?µÉ?@Öè?@üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?@Æé?@Óí?€Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?ð?ð?ð?€˜ï?ð?ð?ð?ð?Ðï?@Ëî?ð?ð?Àlï?Dï?ð?€Þï?Àæï?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íî?ÀÀî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[í?4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQï?@Dë?€ê?Àñí?ð?ð?ð?ð?ð?ð?ð?€|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?€·î?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?Îí?€õï?ð?ð?ð?ÀÜï?À–ï?ÀÌê?òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?€ùï?ÀÒï?ð?ð?ƒí?€¡ï?ð?€dï?À<ï?À…ì?ÀŸë?@Éï?€Mî?€gä?€Ñí?€³Ó?€Ñé?Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?€í?ð?€í?@²á?xÎ?l«?‹Ì?€øÑ?£è?ï?ˆï?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?@ûï?ð?ð?ð?ð?ð?€|ï?ð?ð?ð?ð?ð?À¶ê?óÏ?»É?@â?–±?ày?‚Ì?0•?Ú°?-è?ð?ð?ð?ð?ð?ð?€‰Ö?¼?€Òç?,²?ëÌ?@ƒç?À¸â?ð?ð?ð?ð?ð?ð?ð?€Þï?@íï?ð?ð?ð?ð?ð?ð?€ é?€dï?ð?ð?ð?ð?ð?ð?ð?ð?æï?ð?ð?€Üï?@©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?Àüï?ð?ð?ð?ßï?@öï?€Íï?@[ï?Øï?À›ï?™Ý?@Â? ¥?œ¬?Œª?È’?À`?Àb?p?z±?@°?²´?€hÝ?~ç?ð?ð?ð?ð?ð?ð?€èï?À[ì?Àjï?ð?@™ï?âÎ?†Â?€×?­?Àõé?€¤ï?ð?ð?ð?@íï?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?ð?ð?€õï?>í?ðï?ð?ð?ð?ð?ð?ð?ð?ð?Ø?a?MÝ?€åï?ð?ð?ð?ð?ð?ð?ð?ð?€‘Û?€ÅÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡å?N?h?p˜?@ûã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@˜í?À^ê?@7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?€áì?ð?ð?@áï?î?ð?@lï?@òï?@àï?þï?Àÿï?@Cï?ð?@àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žï?šë?Àê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~î?’æ?%ê?@×ä?€‰è?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùî?€‚ï?ð?Àèï?€Sï?Àî?À í?À*í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@7ï?À÷ï?ð?Àî?Àî?Àûì?›ï?ð?ð?Àkî?@Pé?mì?£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üî?ÀEé?GÑ?Ô¯?@ºæ?€bî?@áì?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?@öï?Öï?ð?ð?ð?ð?ð?ÀÊï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=ï?ãè?Æ»?D´?P‡?€Ó?€ZÔ?ˆ­?ÀCë?ð?ð?ð?ð?ð?@ûç?c?ê¶?ªÃ?€ðÝ?Àõï?ä?Çï?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À}ï?}ï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?¯ï?ï?€ûï?ÀZï?À±ï?ð?Àäï?ð?@²ï?Àáë? ¯?`?R?8«?ð‡?åÃ?@"ï?ð?ð?ð?Àgï?«î?ÀÊï?µï?@¯ï?ð?@þï?€lè?‘?|?Àîâ?@Tî?ZÒ??È®?€­å?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€î?;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-æ?Ð…?ÄÂ?@ï?ð?ð?ð?ð?ð?ð?ð?ð?Í?åà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?†Ð?ºÀ?Vç?\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?@1ì?ÀBí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?€yï?ð?ð?ð?åï?@üï?ð?ð?ð?ÀÑî?ÀÜî?·î?€jî?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?ÆÚ?Àþï?ð?ð?ð?ð?@£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@8å?Ù?¹Ú?@Áã?$ì?ð?ð?ð?ð?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?œï?À¨ï?ð?Àxî?@Úí?@Ûê?Yë?@yí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?žï?€Çï?´ï?ð?ÀRï?Íí?@èæ?À@ë?€–í?€çê?@Tì?@öè?î?€Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?Àƒï?@iî?Àéï?€æí?ÆÓ?€ãà?ð?Àï?ð?€ëï?ð?ð?ð?ð?ð?îï?À–ï?ð?ð?ð?ð?ð?ð?ð?ÀÀï?Úï?ð?ð?ð?ð?ð?ð?ð?ð?€’ï?€•ï?@ðï?€ ç?â¿?@c?W?Œ¥?ˆÄ?æ¼?À0é?ð?ð?ð?ð?€*í?€"æ?–µ?R?Àf?nã?|î?ÜÄ?à?ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?€yï?À ï?ð?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?Fë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?ÀPï?€5ï?À›ï?Òî?ð?ð?Üï?Àjç?äÊ? p?@Áã?ð?ð?€ëï?ÀÛï?…ì?€«ê?Àæï?ÀÐï?À í?´ï?@fï?ëÊ?„ ?¬²?D¬?€‡à?±Â?d ?€lÙ?€=ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àeï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?€ðÞ?àˆ?@Oí?ð?ð?ð?ð?ð?ð?ð?wï?N¾?€wæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­è?ˆ¬?ž?@Rç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@ë?@Úí?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?€éï?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eï?ð?ð?ð?ð?ð?@ï?ð?ð?ð?×ï?@Æï?ð?ð?ð?ð?ð?ð?À–ì?€°ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€`ï?ð?€tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuí?À­ê?€ î?€]ì?ð?ð?ð?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ì?€”ê?€ïë?Àáì?ð?ð?ð? ï?@íë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[î?Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²ï?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?2ï?ÀÅî?€ í?ÀËí?Ní?ð?ð?À]ï?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—ï?Àï?@Ñî?€;ï?€í?ÀÒï?@°ï?@ƒï?€»ï?lê?À„î?Àyì?@Žè?@žè?@‰é?ìî?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?€«ë?ð?@®ï?xï?Àì?-í?ÀNè?€)ã?À7ë?ð?ð?ð?Ààï?ð?ð?ð?ð?ð?Àäï?À_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨ï?­ë?@Íì?€læ?àœ?pƒ?@m?€a?Í?@Šî?ð?ð?ð?ð?€¿ï?@aí?€¹?Y?€k?ħ?b¼?nÑ?È‘?`w?@Æä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óì?÷è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œï?@õï?À´í?À˜î?@„é?À&ì?€Èê?¶ë?€pë?Àòá?€ÃÔ?Ð’?G?€„á?ð?ð?Ààï?@ðï?@˜ë?Àhì?©ï?@øï?€:ì?À¥í?@nï?€ûÕ?`ƒ?NÞ?€²ë?¤?¨—?ØØ?h“?ÈÁ?øé?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?H£?E?îê?ð?ð?ð?ð?ð?ð?ð?Àñå?@€?ÀÅé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?úÉ?€‡á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?@Îì?À,ê?ãï?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?@Ùï?ð?Àúï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?ï?ð?ÀÝï?Àõï?ð?ð?ð?ð?ð?ð?€•î?@Ìï?ð?ð?ð?@¿ï?Àî?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?Àèï?@Gê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?ð?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?ëï?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@’í?æï?@öï?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?@Áá?½ã?@öï?ð?ð?ð?ð?ð?@Kï?@aë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€™î?€oï?À×ï?ð?ð?ð?ð?@èï?@ýï?@Ùî?€‹î?@ðí?€Œë?€[ì?@}î?@qî?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?©ï?ôï?ð?€õï?@ì?òî?Àë?Àã?@îå?@äí?@…î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xï?rí?˜î?ÀØî?Ä?N?yÂ?í?ð?ð?ð?ð?@üï?€ÞÜ?>?r°?@‚?€‡? ´?À¾ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?À´ï?Hì?@$æ?ð?ð?@éï?@{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âï?€¿ï?ð?ð?ð?ð?ð?ð?@âï?€)ï?Àí?À—í?XÖ?¢È?ÃÁ?€FÕ?”Â?P—?èÞ?ð?ð?ð?ð?ð?€ké?@Çç?ð?úï?@Ìï?æï?Àbã?@žâ?`p?Æ?Àë?r?`‹?»Á?²?¼Ë?!ï?Ô²?¾¼?Eê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ç?à•?¶Ç?@Ví?ð?ð?ð?ð?ð?ÀÜï?·Î?­?vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2è?ðŠ?RÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@`í?éë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡î?ð?Àsî?À²ï?ð?ð?ð?ð?ð?ð?ð?ÀJï?ð?ð?ð?ð?’ï?@áí?€èï?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?À›ï?€3ë?À6î?€Žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šî?ð?ð?ð?@¢ï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?€$ì?ð?ð?ð?ð?Àlï?ð?ð?ð?ð?ð?ð?Àïï?@ ì?À•æ?¯ï?ð?ð?ð?ð?ð?@ïï?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒï?€öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êí?Àï?ð?ð?ð?ð?zï?ÀFï?€Gï?Tï?ÀWï?ð?ð?@ƒï?€Áí?@/î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?@ïï?ð?ð?ð?ÀÖì?„ï?€Òå?@xä?Àæ?~í?€Fï?@~ï?ð?ð?ð?ð?ð?@öï?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?@`ï?ð?·Þ?@`?0?ÕË?cÈ?[?€Ý?ð?ð?ð?ð?ð?€]ë?€ÒÝ?b¹?5Ò?ÀŸê?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtï?Àïï?ð?ð?ð?€øë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºë?@Ñç?ð?ð?ð?ð?ð?ð?@öï?@pï?€¥å?Àoé?À;ê?4Ä?p•? p?@cã?ð?ð?ð?ð?ð?.î?ÀJï?æï?Ìï?@þï?ð?ÀÍæ?€Iâ?( ?ïÍ?i?$¯?@àâ?íã?|¯?Ј?€Œå? ì? }?Ôµ?nê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?€Ü?Ì?€Žë?ð?ð?ð?ð?€Ÿê?ðƒ?7Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åí?þ·?•?@=ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tî?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘ì?@•ë?‰ï?œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?Öï?ð?ð?ð?ð?ð?€Ïï?Àâï?ð?ýî?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?ð?€îî?1í?ð?ð?ð?ð?€vï?ð?¢ï?@öï?ð?ð?ð?ð?@²ï?ð?ÀXï?€×ï?ð?ð?ð?ð?ð?ð?Àúì?¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?€£í?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pî?@°í?ð?ð?ð?µî?ÀSë?Àï?€ï?ÀÕï?ð?ð?xï?À¸ï?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›î?Àuï?€Àî?ï?À£ï?@²ï?çï?€ï?€uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?À£æ?€¢ã?€\è?Ý?8”?>¿?Íå?€àÞ?h›??ÜÇ?Y?8’?€S?lÂ?ÕÌ?À…ä?ð?ð?ð?ð?ð?ð?ð?ªÆ?˜›?ÀÀå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?@.æ?¨Á?ÓÇ?ð˜?ˆ¤?ƒì?ð?ð?ð?ð?ð?ð?ð?@˜ï?îë?@ûï?€qï?ÀÅì?ûÈ?€BÖ?é?€*í?À5ê?X“?YÊ?ÀXï?Çå?^Á?À´æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@î?kÈ?Ë?ï?ð?ð?ð?ÀŒì?¸§?À æ?$ï?€Âî?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€á?€Ñ?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?€Íë?€Íé?í?@äï?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?Nï?ð?ð?ð?ð?ð?@…î?@öï?ð?ð?ð?ð?ð?ð?ð?ð?€¨ï?@bì?ÀŽî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ÀÅï?ð?ð?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?€Âæ?@•ï?À¿í?ð?ð?ð?ð?ð?€ëï?ûï?ð?ð?ð?ð?ð?ð?@âï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?@òï?@4î?Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nî?€÷ï?ð?ð?ð?@¯ë?€Rï?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥ï?@Ùï?ð?€óï?@4î?€…í?Àâï?óï?Öî?ð?ð?ð?ÀÒï?@Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dï?@Çí?@‚ï?öï?À)ï?wÛ?€âÜ?ÈÌ?@u?@m?°Ó?@%ä?€ƒ?:?àp?pƒ?cÔ?¾Ý?@óâ?ð?ð?ð?ð?ð?ð?ð?€Ôà?:¸?ní?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔî?ð?ð?ð?ð?ð?@øï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?€Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üë?Uï?ð?ð?æï?•é?ÀLâ?€IÚ?FÁ?Œ?ºÐ?@÷ï?ð?ð?ð?ð?ð?@ßï?€ëï?eê?ÀÅî?’ï?ð?@/ï?ŽÙ?Ç?8“?@–à?Á?`?€Sá?€Ìë?#æ?€åã?€ë?äÒ?€¹ã?€ªß?ð?ð?ð?ð?ð?ð?€©ï?5Ñ?]Ð?àï?ð?ð?ð?ÀLî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?Ð?¸œ?0™?+Á?²á?­Ê?€Lî?ð?ð?ð?ÀÌï?@ªî?Àiì?ð?ð?ð?âë?@íï?uè?À¥?Ð?€&ã?ž?„º?ÀÇâ?AÑ?´?ªè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qï?@Ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?FÉ?þ½? y?j?yË?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbï?WØ?6»?˜š?ZÌ?À|ä?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?—í?ð?À=ï?€ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?ð?ð?ð?@¶ï?ÀÓï?¥ï?À¸ï?€ùï?Ààï?³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïî?@í?€2î?€÷í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀGë?Àgî?€˜ï?ð?‚î?Êï?ð?@¿ï?@¥ï?ð?ð?ð?ð?ð?ýî?ð?ð?€‡ï?@¡î?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õî?@Nå?ñæ?€<î?ð?ð?€Çî?ßí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ãí?ð?ð?ð?ð?Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?3ï?ð?ð?ð?ð?ð?ð?ð?ð?Åï?ð?@Òï?€î?ð?ð?@²ï?Ôï?À¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?À‘î?ð?Dí?@Ãí?@²ï?ð?ð?ð?@àï?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?vß?äµ?è?j?à‹?€pÔ?Àï?ð?ð?ÀAí?bå?@oæ?ð?ð?ð?ð?ð?ð?ð?@˜í?ÒÞ?x®?˜Ö?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À}ï?€/î?Þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€Ýï?ð?ð?ð?ð?ð?ð?ûï?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œä?t¯?À~?ª?@Oë?ð?ð?ð?ð?ð?ðï?Aï?ð?ð?ð?€Žï?@âï?@Îï?_Å?¨ ? ¿?Ї?uè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿ï?À©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€å?àŽ?”®?ø¶? ?ÀÒé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?úí?óâ??°œ?@8ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?ð?rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?À"ï?@>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?Àmï?€qí?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ÀRï?Àšì?ð?ð?Ùï?€ï?À˜î?èï?ð?ð?ð?@Ìï?ð?Àï?ð?ð?ð?@÷ì?€rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?Àßï?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? î?@œï?ð?€]î?vâ?9í?€þï?ð?ð?ð?œï?€Bì?ÀAì?À¥î?¹î?ð?ð?ð?ð?€{î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@Hí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ð?ð?ð?ð?¯ï?ÀÊï?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?°ï?@ƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹í?@Íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?€}ß?0?E? •?˜”?€c?’Ð?@Ôé?ð?ð?À¦ê?Àªí?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jâ?È?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rï?@ãè?€­å?@¯î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑì?€©Ý?@¿ï?Àâï?ð?ð?ð?ð?€þï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À;ï?ÀEì?¬Ñ?I??€Ù?@ôí?ð?ð?ð?ð?ð?¼ï?€[ï?€‚î?ð?ð?ð?ð?ð?ØÛ?äÄ?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5í?@Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?BÔ?W?Ã?èê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?hä?°?óÃ?Ÿ?€ß?Àjï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?8í?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?àì?€ ï?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?À ë?ð?ð?ð?ð?ð?Àçî?xï?ð?ð?ð?ð?@yï?€ìï?ÀÅï?Àï?Àlë?ÀØï?ð?ð?€yï?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?Íí?À+ï?€ä?Àì?@‰ì?€ãì?€Ëí?@ï?€¬î?€óì?6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?@öï?ð?ð?ð?ð?ð?À¼ï?ð?Àïï?€Üï?ð?ð?ð?ð?ð?ð?ð?€Ãí?€Zê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?@ßï?€±ï?€íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?nï?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?€ì?€Óì?ܵ?p‰?IÓ? s?'Ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ì?p»?Œ¦?€¾á?@ñï?ð?ð?ð?ð?ð?ð?ÀŽï?À^î?€ïï?ð?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dï?Ãã?@¿à?»?P¡?€êê?ð?ð?ð?ð?ð?ð?{î?@Çç?ð?ð?ð?ð?ð?)è?“?€6á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚î?³î?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?ÀAî?€îì?…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?P¿?`s?0×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?µÒ?qÄ?€?zÕ?Àéë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£ì?€=å?ÀEä?ÀÜå?@Âê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àóì?æï?ð?Àçï?¶î?€æï?ð?ð?ð?ð?@Ìï?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@@ï?@²ï?ð?ð?ð?ð?ð?€ï?Aï?€Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øî?ˆí?ìï?Àï?ð?ð?ð?€Iï?ð?ð?ð?ÀŒë?@öï?@²ï?ð?ð?ð?ð?ð?ð?Àùî?€Ïï?ð?@²ï?ð?ð?ÀÇï?Šë?xî?ð?ð?øï?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?$ï?€”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aí?@”î?€øé?@÷è?Àî?ð?ð?­ï?€îí?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?@cí?À˜ì?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?À0ï?ð?À2ï?’ï?ÀÒï?ð?ð?À-î?ð?ð?ð?ð?ð?ð?@aï?@’ï?Àqî?Óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vì?Àè?€ÙÚ?Àf?x±?À†å?@¿ë?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rá?n·?l©?ïä?ÀÓî?ð?ð?ð?ð?ð?ð?À¹ê?Ÿï?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?ð?­ï?@—ê?Íâ?°Œ?S?Èà?ð?ð?ð?ð?ð?ð?Àdï?ð?ð?¢ï? ä?ìï?ð?€~í?,Ï?`À?@cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï? î?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ÀVì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€8Õ?ø¾?gë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒî?@^ë?ŠÀ? £?€Õ?æ?±î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À¡ì?@\â?Ú¾?š?&¾?–?‘?€™á?À•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?Õï?€°ï?À¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?í?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýî?ð?ð?ð?@²ï?ð?ð?@Qï?¦í?úí?ð?ð?€ðï?ï?Àüï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€dï?ÀÜï?Àìí?ð?€ìï?Àßï?@²ï?@çï?ð?ãî?ð?€Îí?ïë?¿ï?ð?Àï?ûï?ð?ð?ð?ð?ð?ÀÝï?@_ï?ð?ð?ð?@±ï?Sê?ÀÞî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@úï?ÀJï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?þî?@¿ë?€:ë?@jé?ð?Àöï?ð?ð?ð?ð?ð?ð?@•ï?Nï?€‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?À×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?Àï?¼ï?ð?@Ìï?@²ï?ð?ð?ð?ð?ð?Àï?@Ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?À¥î?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?ð?ð?@žî?„Ò?…?è™?ˆ«?κ?@s?è“?eá?À]î?ð?ð?ð?üï?@µï?ð?ð?ð?ð?ð?@Þï?€‡å?àx?è´?sË?@,î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Ïï?ð?ð?ð?ð?ð?ð?ð?ýï?ð?ð?@õï?@þã?Àn?:Á?€®î?#ï?·ï?ð?ð?ð?ð?ð?Àï?€Tæ?`¶?€ä?Àâï?ð?À6è?Z? v?j?€c?@p?öØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0ï?µí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wê?Ü£?@h?€šÜ?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ì?€JÓ?h©?€ƒ?P?R·?@4í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬í?€þÒ?¶Ú?€ â?@6è?ìÊ?¬µ?(‘?€›é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*î?øï?ð?ð?ð?ð?ð?„ï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®ï?€ñì?ð?ð?ð?ð?ð?ð?ð?€ßï?€-ï?ð?@Íï?@Þï?ð?ð?@Wï?ð?ð?ð?ð?ð?ï?ïï?ÀŽï?€Ÿî?€üï?ð?ð?ð?ð?ð?ð?@6ï?À4í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vî?@ ê?@þî?@¿î?€xî?ð?ð?ð?ð?ð?@$ë?@‚î?@ùï?ð?ð?ð?ð?€î?þì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îì?ð?ð?ð?ð?ð?@'ï?@¦ê?*ä?À?ç?@Èæ?@ï?Àëï?À®ï?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?€Aí?ð?ð?ð?ð?€Sî?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€Nï?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?ð?ð?ð?ð?ð?ð?ð?ð?@«ï?ð?ð?ð?ð?Àõï?Àbî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?_ï?€?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?@9î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…ë?À÷î?€¼ì?TÜ?¸¹?k?Ü ?Ø–?Ý?æ?€Oå?ð?ð?ð?ð?ð?ÀÎï?@.â?€T?ž?À5ï?ð?ð?@öæ?X?P?à’?¢³?¾·?@d?€Õ?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?(ï?€´ï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€7ï?€cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À(ë?˜¢?ü¢?Àªë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃï?Qé?(¹?°‡?ÌË?,®?€yÑ?€Yé?žì?ÀÆæ?À€í?€[í?ð?ð?ð?ð?@ÿï?@Eæ?ÀÔà?€ŸÛ?@:â?€é?Àë?5Ë?x“?d£?Ô?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€ßï?ÀÉï?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?Àìî?ð?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏï?Ÿï?Àïï?Êï?ð?ð?ð?ð?ð?@òî?Àÿï?ð?Àáï?ìï?yï?ð?ìï?ð?ð?ð?Àÿï?@kî?€"ï?€íî?€çî?@bî?@nî?€ßï?ð?ð?ð?ð?ð?ð?@×ì?Àÿï?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ÀQï?@ì?Þé?Àgê?{î?¯ï?ð?ð?ð?ð?hï?ÀFî?ð?@òî?ð?ð?ôï?Üé?ÿí?Cï?ð?ð?ð?ð?€´ï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ë?©í?ð?ð?ð?ð?ð?ð?ð?ð?ýî?@ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡î?@^ï?ð?ð?Àvë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãì?ð?©ï?±é?@rë?%ç?À‹ã?€×é?@<í?Àôî?üï?ð?ôï?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Kï?À$î?@¿ï?ð?`î?@Ðë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ï?vï?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?úï?ÀÔî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?À"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?†î?ð?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~ï?î?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€7í?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?€ƒè?€=Ý?@¤å?€BÛ?ÊÀ?¶±?$?˜¡?@àâ?€–??éØ?@Pæ?€YÑ?€3Û?é?ð?ð?ð?ð?ð?ð?ð?@å?ìç?ëÂ?Àså?Àóï?€Æë?Àïï?ð?ð?ð?ð?€sï?@~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dâ?€•ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?ÒÞ?À°?ž?«Ä?€)â?Àÿï?Àÿï?ð?ð?ð?öï?@Hí?ÛÉ?@¦â?ð?ð?ð?€ ë?PŒ?˜³?|¬?€˜?ø?§À??@n?p–?€ŸÓ?P€?À‰?€Ýæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMî?Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íì?7Ã?°? Ã?äì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚é?D¿?ä¥?ðš?À…?¥?¢¼?À è?Àºí?ð?@×ê?€4Ó?«?¶à?,ã?Ñ?˜·?˜§?¯?µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?(î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€~ï?ð?ð?ð?ð?ð?ð?ð?@¬î?@bï?@jî?ð?ð?ð?€]í?À“î?€¼ï?Jï?ÀÌî?Ÿï?ð?ð?ð?€êï?€:ì?€mì?Àäî?ð?ð?ð?ð?ð?€êï?@î?Àóï?ð?^ï?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?€ní?€¹í?@¦í?À¬î?ð?ð?ð?ÀQî?@ï?ð?ð?ð?ð?åï?@>é?Àšï?Êï?@ï?@»ï?ð?ð?ð?ð?ð?€ßï?€êï?ð?ð?ð?ð?@ï??ç?ð?ð?ð?¬î?€–î?ð?ð?ð?ð?¯ï?Àaì?ÀÅî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€>ï?@'ç?@½ï?@ ï?ð?ð?ð?ð?ð?ð?ð?€Âî?=î?ÀÜè?€£è?ÀÏè?€`ã?À¦ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?@Nì?€ì?@òî?@™î?€¬ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?€wê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ÀCî?€Ïï?tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?€‚ï?rî?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ÀÖì?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?ð?ð?ð?ð?ð?ð?Àçï?Àïï?ð?ð?À‹é?ð?ð?ð?ð?À”å?çÓ?\Ì?Û?¶¼?€?k?@Àâ?çâ?Ö?Š´?Œ¤?€ßÒ?€tï?ð?ð?ð?ð?ð?ð?€Pì?ûÝ?@Ææ?0„?º?H«?€æ?ð?ð?ð?ð?Žê?@lì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@é?@eà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹é?г?@b?€U?]Â?@ç?%ê?#ï?ð?ð?ð?ð?ð?À©ï?@ôî?Šï?ð?ð?‡ë? p?(?VÀ?а?ôâ?€Qê?À¬á?|Ý?/Ù?êÎ?$½?øÒ?ì¬?î¶?Àrã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ï?@)î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Qå?Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?YÑ?€e?0¤?ŸÍ?ªÌ?Ô×?@µ?P‰?ø¢?ð¨?Àœî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?üï?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?€”ì?@òî?(í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?€Óï?@Vï?î?ð?ÀÐï?Àdï?ð?ð?ð?ð?”î?À®î?@Ãï?‘î?Àî?ð?€rï?ð?ð?ð?ÀPï?Œé?Òî?€Ïï?ð?ð?ð?ð?€Iî?×í?ð?ð?ð?ð?Êï?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?€kï?€Óí?@©í?@Öî?ð?@Þï?€¼ï?ð?ð?ð?ð?ð?@Òí?@ûì?€î?€×ï?@Ãï?€ßï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àê?€ƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@,ï?ÀKë?ð?ð?À5ï?åï?ð?ð?ð?ð?ð?ð?ð?ð?@Hê?€ è?Àáï?ð?ôï?€™ï?ð?ð?ð?Ààì?ÀÇã?@è?…ç?çë?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?@nï?ð?¯ï?¨î?€ì?@î?tê?î?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Cï?ð?ð?ð?ð?Aè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?€¯î?ð?ð?ÀÔï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­í?€[ï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ÀTï?¿î?"ï?@ ï?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?@Äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?åï?ð?6ï?Àšï?ð?ð?ð?ð?Àçê?Àóæ?òÏ? ˜?0?À`? p?©Ä?ÑÝ?üÃ?À`?{?€þÐ?@Cì?ð?ð?ð?ð?ð?ð?€Ìì?@Jî??Ó?®?0ì?ð?ð?@¸í?ƒé?€1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€úï?ð?ð?ð?ð?@yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?À–í?ð?ð?ð?ð?ð?ð?ð?”ï?ð?€úï?@ì?(¡?Д?:°?ßÖ?€Rè?ð?ð?Àëï?ð?ð?ð?ð?€Íï?@ïï?ð?ð?ÀHé?Ž?®Ó?€Ò?€•?•?°Â?@zã?{?t¤?úØ?ÀÏì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨ï?@ ï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;ï?ÓÊ?,ª?€Aí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûî?PÍ?€Z?Àm? ¡?€…?0?e?`u?AÑ?@„?H”?@@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?Àþï?ð?ð?ð?ð?ð?ð?ð?Êï?Àäï?õé?ÀÄï?@¡í?ð?ð?ð?ð?ð?ð?€pï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIï?úï?ð?@yï?ð?ð?ð?ðï?üï?ÀÜï?€›ï?ð?ð?À¥ï?ð?ð?ð?@Úï?€ƒï?ð?€ïï?Àïï?ï?ð?ÀIï?ð?ð?ð?@yï?À§ï?€Eî?Àî?Àþï?ð?ð?ð?ð?€ï?@˜í?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?@éï?î?cí?€¯î?Àï?@ãî?Ëï?ð?ð?ð?ð?Àïï?Öì?Àï?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ÀÛï?€ë?À î?ð?ð?ð?ð?ð?ð?ð?×î?¯ï?ð?ð?ð?@Bî?€‡ï?ð?À§ï?Àïï?ð?ð?ð?ð?yï?€ïï?Òï?Àï?@7ç?ì?À\ë?ð?@ñï?€Äï?ð?@âï?@Éì?Àxç?Ýí?Uï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyê?€Ïï?À÷ï?€{í?Àié?€_í?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?€{î?€î?@ï?@©î?€1ï?€ßï?À[í?¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?€çï?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«í?²ï?€ùï?ð?ð?ð?ÀHï?ÛÙ?€ ×? u?k?aÉ? ‰?œ?€µä?ì¨?À?@+ç?€µï?üï?ð?ð?ð?ð?ð?€±å?Àv?€ à?@ºï?ð?ÀŸï?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?üï?ð?ð?ð?ð?ð?@yï?ð?ð?€Mï?€NÐ?P‰?@d?˜˜?Ã?@Ýï?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?@ å? ?€„Ð?@ë?t¬? {?Õ?Åí?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’î?êí?À¿ï?Àúï?@Ýï?@Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkå? x?÷Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨î?@Iì?ÇÌ?@µ?ÛØ? š?p‡?¡?—?ð‚?€\?ð’?°ª?€YÜ?ÉÓ?@Š?€B×?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸í?ÀÍî?ð?ð?ð?ð?ð?À¬ï?€’í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?ð?ð?ð?ð?ÀÜî?Àßï?ð?ð?ð?@¤ï?Àïï?Êï?Àgï?À‰ï?ð?ð?@(ï?ð?ð?ÀÐï?@ ï?ð?ð?ð?Êï?€ûî?@‡ï?î?@”ï?ÀXï?ð?ð?€yï?€¾í?@Íï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?Úï?@uï?€Òï?À¯ï?ð?ð?ð?À~í?€‡ï?ð?€êï?€ßï?ð?ð?ð?ð?ð?€Bï?Àsï?Àï?ð?ð?ð?ÀÐï?ð?ð?@î?€Þë?é?Àäë?@äî?@ýï?ð?ð?ð?Úï?ë?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ðï?À\ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðì?€.ï?¹ï?ð?ð?ð?ð?2ï?Àyê?¢æ?€Êæ?€æ?@æ?@9é?À$ê?€’æ?¼ë?@‡ì?€ë?˜ê?Gê?€’ï?@¿ï?Àªï?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?@ï?ð?€ßï?€<î?€Õï?Õî?wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹î?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?À“í?@åï?»ï?éî?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5ï?@>í?@wí?ð?ð?€_ì?ëÄ? ~?x“?@`?p§?ÍÑ?dÖ?@u?ãË?€må?ð?ð?ð?ð?ð?Bî?”?ÍÀ?pç?@ôí?ð?ð?ð?ð?€yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ÀÔï?ð?Àïï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±î?å??ï?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?€ã?à‚?´¡?Qí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aá?°‡?*Ñ?8Á?€\? Š?€ëã?@Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?¼ï?@ˆî?'ï?Àï?ï?@uï?ð?ð?ð?ð?ð?ð?ð?ð?]ï?pÌ?D°?òá?À7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?œî?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õé?³Ê?V?.±?@ë?®?Gã?Äè?ˆ”?Là?€ï?€ØÛ?€h?ÞÈ?Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6í?@ï?ð?ð?ð?ð?ð?@¼î?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?Êï?Êï?ð?ð?ÀÔï?@õï?ð?ð?Êï?@tï?Ýï?€·î?=î?@»ï?@êï?€úï?ð?ð?ð?À¹ï?€Áï?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?@êï?Äî?Zì?€í?ð?ð?Àäï?@Dí?7í?@î?Àãï?¯ï?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?€î?ÀÂí?À ï?€^î?@{ë?€»í?@ï?ð?ð?ð?€Dì?êî?ð?€úï?€Ïï?ð?Êï?ð?Cï?ð?À¹í?À>î?”ï?ð?ð?ð?ð?ð?ð?ð?ð?À2ï?ð?ð?ð?ï?Àãï?À÷ï?Lë?ÀÔï?À@î?òï?€î?ð?@’æ?€|à?é?@5ï?€Ûí?Àòê?€Œé?xï?î?.ë?„ë?À˜í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëî?À/í?Àäï?ð?€æî?ð?ð?ð?ð?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…ï?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ï?ð?"ï?ð?ð?ð?ð?ð?ð?ð?ð?@òî?ÀEî?@ˆï?ð?ð?Êï?€Úë?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—ï?ÀTé?@Qì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êí?'ë?@­ì?@Äå?Ø­?c?ƒ?[?‡Æ?Þº?k?xÂ?€íë?ð?ð?åï?ð?ð?´Ì?¬Á? |?@%è?@×ï?ð?ð?ð?ð?ð?À]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ï?@ýï?ð?ð?ð?ð?ð?ð?Àïï?@õï?€òï?À@í?ÐÉ?`x?€ãå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0Ú?‹?òº?€bä?ð?€±?çí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?Àûï?ð?@uî?@Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹è?0?@“?xê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€0ß?œ¥?À0æ?ÿÚ?€çï?€üï?ÿä?Â?¨›?0?È?8›?ÿê?ð? Þ?0ƒ?@%ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?@óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?€•ë?óï?ð?ð?ð?ð?çï?ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?@ƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?”ï?ð?€´ï?À©ï?ðï?À¤ï?€$ï?Àžï?Àôï?€¢í?Žï?ð?ùï?ð?ð?Êï?@Bí?ð?ð?ð?@§ï?oï?ÀÔï?ð?ð?ð?ð?ð?Êï?À€î?€¦î?@ï?@î?À€î?2í?@åî?ð?À¯ï?@ìî?3í?úí?dî?À·î?@yï?ð?ð?@ìï?ð?@yï?ÀEî?À¹ï?€Kï?Àï?€¯ï?ð?ð?À=ï?åï?€ï?›í?€øë?@Ší?ÀUï?ð?Ìï?€¾ì?Åï?ð?ð?ð?¯ï?@ìï?ð?ð?5í?ð?ð?ð?ð?ð?6ï?€jî?@¿ï?ð?ð?Àîï?À‡î?Êï?ð?€ìî?Ànî?ð?%î?@Gï?óî?Àyë?í?À6à?@$â?´î?ï?ð?ð?ð?ð?ð?ð?@dï?@|ï?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡î?€ï?@¼ï?ð?@‰ï?1î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@'í?Àðç?ð?ð?ð?ð?ð?Àïï?@¿ï?ð?ð?ð?ÀŽï?ï?ÀÄï?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?@ìï?Êï?€Uî?@Tï?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQî?Àåï?ð?ð?@í?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?jí?€¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ë?@ è?€¦ì?€àÑ?€U??€e?F?£?@x?€äÒ?ð?ð?ð?ð?ð?»È?€fÑ?€e?Ħ?^î?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðí?À²í?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?À©ï?Àzå?yÊ?Kä?ì?€ùï?ð?ð?ð?ð?ð?ð?Àåï?€ºÑ?P¤?@þà?Ÿ?lÑ?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•í?@~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?€ÞÛ?€Z?æ±?€Ææ?€Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pï?@ðé?¿í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@1ê?À¨?¶?d?@ž?@¸ç?ð?ð?ìï?ÀÕ?p„? ?@œà?À÷ï?À¥í?8À?€?Ñ?@ëä?¯é?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€,ï?ëî?@wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§î?@aí?ð?ð?ð?ð?ð?ð?€Ïï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?ð?®î?À¡í?€Ÿï?ð?ð?ð?ð?€‹ï?ð?ð?Àßï?€;ï?@`ï?ð?ð?Êï?ð?ð?Àïï?À¾ï?ÀÂï?ð?ð?ÀÂï?ð?ð?ð?ð?ð?ð?@(ï?@Òë?@åï?Àï?@Áï?@®ï?ð?ð?ð?yï?åï?@ÿí?ð?ð?ð?Àï?À÷ï?ÀÊï?@ î?–ë?ð?€½ï?ð?@tï?@Ÿì?€¹î?À|ï?Êï?ð?€½ï?ÀÂï?Îï?ð?ð?ð?@×ï?ÀÃî?Ïï?€cï?Kî?›ï?@ï?ÀÊï?ÀKí?Ëî?Îî?@ôì?Àöí?Àpï?@:î?€åí?@õï?€pî?ÀÄï?@×î?ÀÂï?ð?€½ï?àì?Äï?ð?åï?@^ï?ð?@×ï?€Lì?¯ï?Îï?Êï?Wî?À„î?ð?ð?€fí?À@ï?ð?ð?À9ï?À:í?€zï?ä?ãÛ?@î?Óï?ð?ð?ð?ð?ð?ð?ð?@±î?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?€¦Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?yï?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?€ìï?Àîî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?€×ë?@®ï?ð?ð?ÀMï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?œï?€Jé?@`?€U?¾°?‹?°’?€;í?ð?ð?ð?ð?Àà?ü©?‘?6æ?âï?ð?ð?ð?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀJá?vÁ?Àùê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?ÀŽï?€â?€ˆ?p…?|¶?@ê?ð?ð?ð?ð?ð?ð?€ë?¨¸?{?0‚?$®??`p?ð‘?@Îé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dï?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@»î?”»?ð­?ô´?à’?€µÛ?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?@Pí?@ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äî?rÏ?ØŸ?EÈ?€í?ð?ð?@Eí?v¿?’Â?À‘è?áï?ð?«ä?pŠ?|½?úÇ?,é?Yí?é?À6ê? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?€¡í?ð?ð?ð?@¿î?@Qé?€Üë?€éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šï?÷ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oí?ð?ð?áî?@ƒï?ð?ð?ð?¯ï?ªî?ð?@òî?ð?@çï?Àœï?ð?ð?ð?@×î?Àsï?€êï?ð?ð?ð?ð?ð?ð?ð?ðï?Šï?ð?ð?ð?)î?@:î?@Øí?Àùï?@^ï?ð?ð?À¯ï?ð?ð?^ï?ð?ð?ð?ð?ð?€ìî?ÀÑî?ˆï?âî?]î?€Ví?ð?ï?@Åë?€$î?ýî?Êï?€Êî?@Tï?Àµï?@¿ï?Àïï?ð?ð?ð?ð?ð?€_ï?@-î?€˜ï?Àî?À¥í?–î?‹í?ÀÔí?Àì?+í?Àí? ë?€cí?ð?€´ï?ÀŽï?ð?ð?À ï?€çî?Àòì?@?ï?µï?ð?€Êï?ð?£ï?Àïï?@$ï?@¿ï?¯ï?ð?ð?ð?ï?ð?ð?ð?ð?@ªï?¶ë?€õã?€Aí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?@¡î?ð?ð?ð?ð?ð?ð?ð?ð?@zï?ð?ð?ð?ð?ð?ð?uï?€êï?ð?ð?ð?ð?ð?À×î?ð?ð?ð?ð?ð?ÀÖï?ð?€êï?ªï?ð?ð?ð?ð?ð?ð?@ ï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³ä?@(ï?ð?€î?ð?ð?Àßï?€~ï?ð?ð?ÀÖï?ð?ð?ð?ð?ð?ð?ð?ð?Úî?ð?ð?ð?€Šï?ÀŸï?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìî?@[î?ð?ð?ð?ð?ð?€“í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùí?oë?ÕÆ?rÇ?¾µ?ñå?ð?ð?ð?ð? ï?Ä?<¥?2º?@â?À[è?À{ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡í?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?œê?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ÀÔí?“Ò?Ò?€ôî?ð?ð?ð?ð?Ðï?Ö?š?0„??Èž?ÜÌ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Gâ?(?°ž?H«?ø·?À˜è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµë?XÂ?£?€„Û?@bï?ð?ð?€yè?@}?TÒ?@ ê?ð?ð?ð?üï?ÄÀ?™?°?H?€R?à˜?øÀ?@òæ?@ë?Àzæ?@µè?@…î?ð?ð?ð?ð?ð?À±î?€;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?@‚í?Àbï?ð?ð?ð?ð?ð?ð?ð?@õï?€#î?ð?ð?@Gï?–Ü?€_Û?€²Ò?@ðé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýí?¥ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vî?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?@“í?ð?ð?ð?ð?ð?@ìï?ð?ð?@Cï?ð?€ï?€ºî?@øï?@ôï?ÀØï?ÀÔî?ð?ð?Hï?@nï?Hï?gî?€jî?Êï?”ï?ï?ð?ð?@ìï?@ìï?ð?–î?ÀÔï?ð?ð?ð?°í?@Êî?ð?@ýï?Àî?"í?€í?@’ï?@¾ï?ÀÔï?ð?ð?¯ï?ð?€ªî?@ƒí?€ëì?À.é?Àï?0î?Fï?þï?ð?ð?ð?Lî?€äï?ð?€úï?À7ï?€_ê?€Zì?ÀÛê?€|í?Êï?€~ï?€(ï?Àøë?À>î?Àî?À„î?@³î?Àjî?@ªî?åï?@nï?@¿ï?€`ï?€±ï?ð?@Sï?€ï?€cï?ð?ð?ð?ð?ÀÆí?Àbä?þí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?Àþï?Àÿï?ð?ð?ð?ð?ð?ÀÖî?ð?ð?ð?€Hï?@ƒí?Àïï?ð?€úï?zî?ð?ð?ð?@bï?€§í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?ð?ÀÚï?€Gî?À©ï?ð?Àßï?€~ï?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?@ýï?ÀŽï?€´ï?¯ï?€ï?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?€Iï?ð?ð?ð?@¤ï?ýî?ð?ð?ð?ð?ð?ð?ð?ð?@~ì?@èï?ð?ð?ð?@õï?ÀÔï?ð?ð?@†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bí?Àòî?ã?€¾Ü?@lâ?vÑ?<Í?Àc?ˆå?ð?ð?ð?ð?ð?6é?¦Ç?G?AÓ?€]Ù?€}ç?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»î?@.ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?€âï?ð?Êï?@(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@aì?@Åì?\¹?à„?@ç?€Sï?ð?ð?ð?¼í?è¥?@?€S? ¹?Ë?Àc?€wß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFí?2´?€k?H±?€­Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ì?Ã?¦´?@*î?ð?ð?ð?€ší?T¯?…Ë?Qì?ð?ð?ð?ð?ð?ZÆ?,«?øº?Š?“Ê?€—Ò?=Ø?FÛ?À0â?€¼à?€PÐ?€Ãà?ð?ð?ð?ð?ð?ð?pï?€ší?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔí?@ á?€øÝ?å?VØ?€mé?@Øï?ð?ï?€‘ê?@Nê?@Dì?@üâ?€ÏÚ?€ß?€`à??Ì?Ã? ?Ƶ?œâ?ð?ð?ìï?@°ï?ð?ð?ð?ð?ð?ð?@ôì?À±î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?€–î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?ð?ð?@™ï?@½í?íï?€ëï?€»ï?@Qï?ð?ð?@ªï?ð?6î?0î?ìï?@sï?À{ï?@iî?ð?€5î?ÀÝï?ï?ð?@(ï?Êï?ð?ð?ð?ð?€æí?€Äí?ÀLï?î?À!ì?@ì?€üí?€œï?ð?ð?Êï?ð?€Œï?@>í?ýî?€¯ï?€Fî?ð?ð?ð?ð?ð?ð?ôï?Àí?ð?ð?ð?ð?ð?ð?ð?@öë?Àrë?±ë?@fê?€Šê?$ï?@}ë?@ì?À’ì?Àxå?Þê?€(ì?€œï?€úî?„î?Àvï?ð?ð?€”ï?ï?ð?ð?À©ï?€êï?@Øï?èÞ?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œï?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?@1î?®î?€*ï?@¬ï?À×é?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?@’ï?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?€êï?À"ï?ð?ð?ð?ÀÝï?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’î?Àï?ð?ð?ð?ð?ÀKï?Øï?ð?ð?ð?”ï?åï?ð?ð?@Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?ð?€ˆï?Àxê?À? „?RÉ?þ¾?€v? q?€ræ?ð?ð?ð?ð?ð?ð?@ â?`?às?”«?cÌ?€hç?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?ð?ð?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@4î?€Þâ?€IÒ?€HÔ?€SÕ?€øé?üï?ð?ð?@Sê?ʲ?K?@a?4 ?Ȱ?æ³?¨ž?Ò½?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?ÀYí?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šà?@u?@´á?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€|×?&°?@Êí?ð?ð?ð?@©ï?€±Þ?ð†?Pˆ?êÅ?À“ê?ð?ð?ð?ð?ð?ð?nÇ?PŒ?b°?Ï?€éÜ?!æ?Àï?ð?@Fé?Àîå?À{ì?ð?ÀÎé?€ùæ?@—ç?xÓ?€üÔ?€oÛ?Žá?ÂÖ?@/à?€NÛ?p“?Í?€•Ò?wØ? –?°?¢?P‡?X£?"è?ð?€øí?»î?ð?ð?ð?ð?ð?ð?ÀDì?Êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ÀÑî?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?Êï?¯ï?ð?ð?Àøï?@þï?ð?ð?@‰ï?@î?ð?ð?ð?ð?ð?ñï?¯ï?ð?òï?@vï?ð?ð?yï?Àñï?€êï?€ï?Úï?›î?€_ì?Àwï?Ãï?™í?€tí?€î?iï?@‰ï?ð?ð?ð?ð?²ï?ð?ð?ð?ð?ð?@hï?Ší?@=ï?@ï?Àï?Àì?€rì?ì?€í?ÀXí?ãï?@¤í?€vî?€xï?ÀÄï?ð?ð?ð?ð?ð?ð?À¼î?|ì?€§ï?ð?ð?ð?ð?ð?ð?ð?ïï?À»î?€Îî?@Oï?nï?€ì?@ùî?€ií?€"ë?ÀHî?€¾ï?€;ì?@ëé?€Ûï?÷ï?ð?ð?úï?ßï?€ï?ð?ð?ð?Êï?€Pì?€¯Ø?@ï?ð?ð?ð?ð?îï?ð?@ðï?@Ñî?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?»í?@Ùî?ð?ð?ð?ð?ð?ð?€»é?åï?ð?ð?€aï?@qî?Àgí?€Ií?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?^ï?ð?ð?ð?ð?”ï?¯ï?ð?ð?@òï?®ï?¯ï?ð?ð?ð?€ñï?@óï?ð?ð?ð?ð?ð?ð?ð?”ï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-ï?Àìî?@¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?ð?úï?†ï?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?©ï?€dØ?€£Ú?@Úã?„¶?>´?ܤ?wè?€¤Ù?À„?.²?—ê?ð?ð?ð?ð?ð?ð?@í?À§?–??}Õ?Úã?šï?ð?ð?ð?@ìï?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?€äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ií?¿?^¹?à¡?ÀCà?À£â?À+ì?Õí?ä?ÏÑ?ð´?@x?¤°? Š?°š?¬®?8?€Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?@„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ˆï?sÀ?œ¿?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýâ? Ž?hê?ð?ð?ð?ð?€dã?(²? ê?ð?ð?ð?ð?ð?ð?ð?^Ã?Ê?€ðà?¨¾??Õâ?˜×?À?„±?Ø©?{?ø?4?Àªæ?ð?ð?ð?ð?ð?ð?ð?@¹ï?€î?À í?Àï?ð?ð?}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?¯ï?€êï?À©ï?ð?ð?ð?ð?€Æï?€ñï?ð?ð?ð?ð?€±ï?ð?ð?@Pî?ð?àë?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?Àfï?Àâ?ãì?<ï?ûí?€ßï?@¤ï?±ï?€–í?€¾ï?ð?ð?ð?ð?”ï?€¹î?ð?ð?ð?ð?Àåï?ð?ð?€úî?áì?€Oî?@Xï?ð?ð?@ ï?€xï?xî?@¤î?ð?À›ï?ð?ð?ð?ð?ð?ð?éî?ÀÐì?@õï?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðê?@ùì?@gï?À©ï?€êï?Ðï?€Àï?ï?ð?ð?Êï?ð?>ì?Àså?À©ê?iï?€;í?ð?@øï?(î?´ï?tì?€Ôê?€Þí?åï?€Rï?ÀØï?ð?À¯ï?@^ï?€¾ï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\ï?Ûî?ð?ð?ð?ð?ð?ð?ð?Lã?ð?ð?ð?ð?@ií?@Çë?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?@`ï?@‡ï?@Üï?ð?ð?ð?ð?ï?@›ï?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsï?·î?ÀÔï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…ï?€Yï?ð?ð?ð?ð?Ðï?ð?šï?ð?ð?ð?ð?ð?Àåï?óï?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?@^ï?€~í?¯É?»?ýÁ?Àâ?€ê?í?À©ï?À(ê?äÊ?»Ä?À)ï?ð?ð?ð?ð?ð?ð?ð?Ü?ËÂ?Ô¢?´¯?µÓ?ÀAì?ð?ð?@ãï?À ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡î?ð?ð?ð?ð?ð?ð?ð?ð?@Xí? µ?¶´?V±?¸Ì?D¢?„ª?À“?Ö¼?ÀÝâ?á? µ?bÓ?®´?–Â?8—?€¢Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àê?€ýà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€iî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨á?Ü ?ø²?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒï?Í?=ã?ð?ð?ð?òï?€ÊÚ? w?€ Ò?^ê?ð?ð?ð?ð?ð?ð?ð?ð?ÕÓ?F?à?ð“?@Èê?ð?ð?ð?ð?ð?ð?ð?€¨ê?@4â?3í?ð?ð?ð?@?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?ð?@ï?@£ï?Àöï?ð?ð?ð?ð?ð?ð?Àïï?Àî?ð?ýí?ð?ð?€5î?”ï?@Ìí?œï?ð?ð?ð?ð?@;ï?ð?ð?ð?€üî?€Éé?@xï?€¶í?@„ï?ð?Àžï?@®ï?À î?€Yï?Êï?ð?@~ï?€Xí?3ï?ð?ð?ð?ð?ð?@äï?ð?ð?À@î?À,ï?@ ï?€-ï?@Cï?@õï?ÀÔï?@¼î?ð?¥î?ÀÔî?€=ï?€êï?Àßï?ð?ð?ð?@ßî?Àæì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºï?ð?ð?ð?ð?ð?ð?ð?ÀÂè?ÀŽï?À!ï?@±ï?ð?€Óï?@½ï?ð?ð?ð?€iï?À¿æ?µß?hí?@Kî?Jï?ð?À÷ï?ÀÞï?€¯ï?@9ï?À÷ï?€@í?¥ï?Àsî?@îî?ð?€‡ï?€„ï?ÀNï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?&í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ë?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥é?À8ê?À×î?€­ì?ð?ð?ð?Êï?ð?ð?ð?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?@Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7í?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?òï?ð?ð?ð?ð?@äï?ð?ð?ÀÖì?ð?ð?ð?ð?ð?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?@ï?µè?xì?€G×?Àh?l¨?ÀÕê?ð?òï?ƒï?ð?[î?™Í?0‡?€nÞ?@·ë?ð?ð?ð?ð?ð?ð?ð?hï?€eÜ?=Ô?À`?€òÕ? ã?åï?ð?ð?ð?ð?ð?ð?ð?ð?í?€êï?ð?ð?ð?ð?ð?ð?ð?ð?€î?ãê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒè?Â?ø–?P‚?€§?F?¨â?@uè?`‘?³?êÊ? ¦?¼Î?€RÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Rë?Àóé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?À$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åì?l·? Ú?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èç?®Ø?ð?ð?ð?@›é?p™?€e?F?N?ˆ’?¹Þ?ÀFï?ð?ð?ð?ð?ð?ð?ð?ð?ð?§å?N?, ?CÓ?#Î?zã?Àãå?@#ì?€Ýî?À©ï?Hí?cí?ÀØë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ÀKï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?Àï?@Dï?€þï?ð?ð?ð?ð?ð?€Ìî?€Žè?€ûÞ?ð?ð?ð?À î?ð?ð?€©ï?–í?À‘ï?@Ðï?€nï?ð?Àï?ð?¯ï?ð?jî?À˜ï?yï?Àùï?@äî?ûï?€–ï?Àïï?@dí?ð?ð?ð?À9ï?zì?Àôï?ð?ð?ð?ð?ð?€Íï?À½ï?ð?ð?ð?ð?ð?€Ïï?€ßï?@*ì?ÀÔï?ð?@õï?Òï?@Šî?iï?ð?€~ï?Àsï?Ôî?Ëé?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?À7ï?ð?ð?ð?ð?ð?ð?ÀÔï?@é?@Žî?óî?@aï?ð?ð?yï?À*ï?€êï?ð?€ôï?@ƒî?€/Ø?@]ê?À“ï?€~ï?Çî?ð?ð?ð?ð?Ìï?€>î?ÀÌî?@Íï?Äí?Ãï?€ï?€]ï?@Sï?ÀÒï?âï?ð?@õï?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?À í?@†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?€Íç?€ÇÞ?@}ï?Åî?ð?ð?¯ï?@Úï?Àïï?ð?^ï?€Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?@ãï?ð?ð?ð?ð?Àßï?€Ïï?ð?ð?ð?ð?yï?î?”ï?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?€[î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTí?@®í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?°ï?€Žï?€¦á?yÁ?ð„?€ÊØ?€ûï?ð?ð?ð?ð?Fâ?I?Pš?«Ï?"È?޲?<¤?€h×?€væ?ÀTî?ð?ð?ð?ð?ð?ð?ð?€¡å?ƒ?¨³?îÝ?Àùï?ð?ð?ð?ÀÔï?ÀRí?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòè?»î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?À0ê?À³?Àn?@|?I?>?ðŒ? }?@q?Ä?ÀÝë?@Œî?€×?N?³?ÄÑ?À)á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?€¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âà?€e?„º?@µé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?@Áî?ð?À†ï?€Gè?€Ù?@`?€m?kÃ?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊî?Ã?°„?€£×?%á?î?ð?ð?@í?€¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?@ßï?yï?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?€¨ì?€©å?ÀËï?ð?ð?€Öï?ð?ð?ð?ð?@ ï?Àiî?‘î?ð?€Öï?@ìï?@Òï?ð?Àjï?¿í?€ëì?À¬ï?@âí?€ïï?€ï?ìî?ÀŒï?ð?ð?€õë?€í?ÀÚï?ÀÚï?ð?ð?ð?ð?ð?®î?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?€8ï?€¾ï?À™ï?@ î?@×î?ð?€Ïï?@Üï?ÀHé?ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(ï?”ï?ð?ð?ð?ð?ð?À!í?@¤ã?€­î?pï?ð?ð?ð?Âï?ð?ð?€ùï?€Õï?€™á?À7ê?ð?ð?ð?Êï?ð?ð?ð?€ðë?@ î?@Îï?Êï?@¹ï?€Iï?@tî?€¼í?ð?€4í?Àœï?ð?Àïï?@¿ï?ð?ð?ð?ð?ð?€´ï?Àßï?ð?ð?ð?À î?À·í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?1ï?ð?ð?ð?ð?€nî?@kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?ð?ð?Ïï?Àïï?Àgé?€•î?˜ë?ð?ð?ð?ð?Êï?@xï?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€bï?ÀTï?ð?ð?ð?ð?ÀÁï?@Šï?ð?ð?ð?ð?€¾ï?@.í?ð?”ï?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?€Rí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?Àºï?Àßï?@î?ÀÂç?€í?À¤ç?­ä?$¥?]Ï?½ì?ð?ð?ð?ð?ð?€ðå?€x?˜ª?@„?À­?v¼?d¬?L§?€$Ò?€¤ï?ð?ð?ð?ð?ð?ð?žØ?@`?€ÞÙ?²í?ð?ð?€ùï?Àåï?ð?ð?Ñë?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yí?À·ì?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆí?R´? ƒ?Á?×Ä?ºµ?`v?@“?¿Ã?Àãá?@xì?@þí?@ë?¼?nÁ?ÄÃ?®º?X¼?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?1ï?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À´ë?З?BË?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?Àç?6Õ?€U?U?F³?ˆ°?¨?€óß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æ?€j?úÀ?â?í?ð?ð?€„ë?€Ûï?ð?ð?ð?ð?ð?ð?ï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?ð?ð?ð?ð?ð?ð?ð?ð?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iï?Ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8ê?ØÐ?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?€Eï?ð?ð?ð?€6ï?@âï?ð?ð?ÀJï?€Õï?@âï?€ˆï?@õï? î?€Õï?ð?ð?ð?À¸ë?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýî?€ï?@‰ì?@/í?Kî?Àï?€~ï?ÀRí?@áî?À`í?€íí?Mí?ìì?žê?—ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹è?@5ê?>í?ð?ð?ð?ð?ð?ð?Àûï?€äï?@mâ?…é?ð?ð?ð?ð?ï?ð?¶ï?åê?@|î?ð?ð?€Òî?Ëï?Àùï?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡î?€åï?ð?ð?€ßï?À°í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?ð?ð?@àï?€õï?Àîï?|ï?€¥Ú?ð?ð?ð?ð?ð?•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?@àï?ð?ð?ð?À×ï?Àöî?ð?ð?ð?€Ïï?@ï?@…í?@nï?€´ï?ð?ð?ð?ð?€Õï?ð?ð?ð?À{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Fé?€bì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?Àîî?@ìë?@ßì?à?nÓ?#Í?"¼?ÆÆ?¤©?€Ñì?ð?ð?ð?ð?ð?ð?Àgè? —?€j?޲?$³?ΰ?€êÐ?­Ó?@Åç?ð?ð?ð?ð?ð?ÞÔ?kÌ?Ô§?€y?¿?@}æ?@äç?Àûï?ïï?ð?ð?çí?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëÜ?º°?k? »?°¨?€Y?Ú±?•á?@]ë?@’í?\ï?óÌ?‹?@„?Q?¹Á?ðÆ?†ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?}ï?€·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’ï?@Nî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?@·â? ¤?‘?@é?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àã?¼¡?À¤?>? s?>¶?€Z?“? u?Àl? q?g?Vµ?´´?€ÈÖ?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Ñâ?p†?@?€t×?À½í?ð?ÀUé?@î?ð?ð?ð?ð?Êï?Øï?ðê?@äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?@Ðî?€Oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?ð?ð?ð?ð?ð?@†î?ð?€Êï?Ñê?€VÖ?€xè?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?Cï?Gí?ð?@hí?@7ï?ð?€3ï?ÀÒí?@¿ï?Ÿï?ÀÆï?ð?ð?ð?@Õî?À0î?@ï?À©ï?ð?ð?ð?ð?ð?ð?Êï?À¯ï?€^î?~í?©ï?Üî?€ì?€Âï?ð?ð?ð?@ï?€åï?€‹ï?üï?Åï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óî?€žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?À²ì?ÀÉå?À#ê?€ í?ð?ð?ð?ð?ð?€áì?¹å?ªå?ð?ð?ð?yï?€bî?ð?Àøî?Àýè?€pæ?€êï?ð?@)ê?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æî?€#ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.ï?ÀLì?€(ï?ð?@…î?Jî?ÀWì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?€7ë?Àç?ð?ð?ð?À¦î?¯ï?Àsï?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?öî?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?@ëï?€Ûì?€Ãë?ð?ð?ð?ð?@ãï?ð?ð?ð?@ýï?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[ì?Àÿî?ð?ð?¯ï?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?@ÿï?€Ûï?@"å?€LÙ? ±?ZÎ?|«?@üâ?€ÿï?ð?ð?ð?ð?ð?@øï?€‡Ô?@`?†µ?Àj?Ò?€ØÑ?T«?²â?2?D¸?ªÙ?mÃ?@¥è?ð?ð?ð?ð?€ä?ʳ?EÁ??(?€W?#Ê?@Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5á?0“?^?ëÑ?@Áë?7Û?´Å?˜?Ã?iÊ?€Eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ï?€–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâî?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~á?È?æÒ?€¹è?Àcî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ë?¥ê?OÞ?`Ñ?@”?p?Â?€h?N°?Èš? z?Ñ?IØ?l±?€å×?`Ú?ÀÛê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?€àÖ?Àdà?Àìî?@î?€ƒë?ð?ð?À£î?”ï?Êï?ð?@Ñï?Òè?Àˆë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?€Ðî?€_ï?ÀQï?ð?ð?ð?ð?ð?ÀQï?ð?@õï?@Îî?@é?^ï?ð?ð?ð?ð?ð?ð?@žï?€Âé?€Pì?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?Àúî?ð?ð?ð?ð?€tï?À£î?yï?ð?ð?äï?ï?@õï?€Æì?€aï?ð?ð?€1ï?Œî?@áî?qï?ð?ð?ð?ð?ð?ð?ð?_î?À%í?@Áï?ð?€$î?…í?úî?€Üî?ð?ð?Àî?ì?@Sï?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?À5ï?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?@¹ï?€ ï?ð?ð?ð?ð?ð?€tï?ð?@Ïï?Üî?€\í?ð?ð?Êï?ð?À¾ê?°ç?@#ä?ð?ð?ð?€âî?ÀÍì?ð?€œí?Àå?À—ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëî?ÀÞí?ð?ð?ð?ð?ð?ð?ð?@‰ï?@%î?@Òî?@¨è?€=î?aé?€ î?@ìï?ôå?qï?ð?ð?ð?ð?À;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ì?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ï?@tï?@¯ì?À»í?€ï?ð?ð?ÀËï?ð?ð?ð?ð?ð?ð?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?@Pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±î?zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ì?@ á?{?PÀ?À‹î?ð?ð?ð?ð?ð?ð?€ié?H­? …?€êÐ?ÖÇ?ÀŸ?€U?@`?`q?p¡?€åÛ?@Ií?ð?ð?@ ï?«Ò?©?Àºé?€ûÐ?ÀÂ?pÂ?£?€ùà?€wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oï?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?åï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕé?€?@{?4Ì?€æÕ?@¾á?h¢?k?Ð?Å?UÀ?@ùë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èí?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘î?€§Û?ô®?€þÔ?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?@Žå??0?·×?À;é?@?ä?@ñä?€€æ? Þ?€và?ÚÊ?;Ô?`Ø?€ß?@Tê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^í?»Ê?D?fÓ?Àëì?«é?@#ê?Àì?@­ï?€ùí?×î?À7í?”ï?€ýî?ÀÞï?€Ìï?ð?ð?ð?µî?À¨ç?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?Óî?@rï?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?À;ï?€8ï?ð?ð?ð?ð?ð?ð?ð?qï?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ÀÏï?æï?ð?ð?ð?ùï?Àtí?œî?ð?ð?ð?ð?ð?ð?ð?€æï?ÀVî?@?ï?ð?ð?ð?ð?ð?ð?ð?À.ï?ÀÉì?@kî?@ùî?Íí?@Ìî?ð?€uî?€èï?ð?ð?ð?Àë?:Ê?Àüá?@¿ï?ð?ð?ð?€ží?€8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?À¾ë?ð?ð?ð?ð?ð?€±ï?€-ï?ð?ýï?@Òì?@Šë?À%ï?ð?ð?À„í?€eâ?€Äã?Èî?Àðï?ð?€Éï?€]í?ð?Àèí?À³é?ÀTí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?À¨ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@qê?±ï?ÿï?@Åï?€•í?À‘í?@½í?ð?ð?ð?ð?yï?€€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽë?@Ýï?ð?ð?ð?ð?ð?ð?3ï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?Àéï?ð?ð?ð?ð?€~ï?î?ð?ð?ð?ð?@ýï?Àïï?ð?ð?ð?ð?ð?¯ï?Ñï?@`í?Îï?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?ð?ð?ð?ð?ð?ð?ð?ð?@‰ï?@Ôí?ð?ð?ð?ð?ð?@éï?€§ï?ð?ð?ð?ð?ð?ð?ð?ÀÓï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTï?€pî?±á?€m?€h?À&ä?ýï?ð?ð?ð?ð?ð?ð?€#Ô?Pš?F?`º?€Çæ?À÷ï?ð?À‘ï?_ç?4ï?ï?=È?6¹?àp?ÀÉ?€@ë?ð?¯ï?@×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?@ñï?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?Àðï?ð?ð?ð?ð?ð?@÷ï?€ÿî?ð?ð?ð?ð?ð?@ïã?:?¨›?×å?@è?Û?2??{?à‚? Í?J¹?/É?ÕÀ?z·?Àmê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ë?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡ï?ÀÖã?¢Û?à†?0²?Ýã?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wí?ÀIâ?Eß?äÞ?€¬é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™î?€ÉØ?€¨?4£?@½ç?€ì?@Dé?Àáç?“ä?@Ãç?Iè?€ëé?yï?ð?ð?@×î?ð?ð?ð?ì?@1æ?@šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?Àï?ð?ð?Êï?ð?ð?ð?Êï?ð?ð?ð?@õï?À¹ï?@·ï?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?@öï?@Ùï?ð?ð?ð?Áï?@Óî?ð?ð?ð?ð?ð?ð?ð?ð?Þï?@Ùï?ð?ð?ð?ð?ð?ð?ð?¯ï?€Šî?€/ï?ð?ð?@Vï?€Ïï?ð?@•ï?€/ï?ð?ð?ð?@œç?@çë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?Cï?@äí?ð?ð?ð?ð?ð?€°ï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?€7ï?Aï?ð?@Jî?ð?ãï?€‘ä?@‹â?@¹ë?ð?ÀŸá?@Øí?Àãê?@0ï?@ ï?ð?ëî?ÀËî?mç?@êí?€¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéí?€Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?Àè?Àë?@?ï?ð?ð?ð?ð?ð?ð?@Üï?@î?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?€/ê?Àßï?ð?ð?ð?ð?ð?À<ï?ûï?ð?ð?À±ï?€nï?ð?ð?ð?ð?ð?ð?@ï?€hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?@†í?€Ñé?®ï?ÀŒï?€î?ð?ð?ð?ð?ð?ð?ð?ð?À¿ï?ÀŸï?ð?ÀUî?ð?ð?À_î?@8ê?@ªê?pÊ?8¥?€[Ó?ð?ð?ð?ð?”ï?ð?ð?Êï?7È?@˜?€ä?€Âï?ð?ð?ð?ð?Àcî?€ Õ?4Ã?@-ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?Àßï?€êï?ð?ð?€úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåî?Àöî?ð?ð?ð?ð?@(ï?@kì?@èá?ð?ð?ð?ð?ð?€žæ?(—?Í?€§í?_ã?€c?C?±Ì?ð±?€i?æÊ?@šê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaì?@;ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ƒÁ?Q?G?0?ß?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?@›ì?@òâ?LÏ?´?¾°?€RÝ?€d×?€ïÞ?Àiá?€‘ä?€¸ã?gã?Àˆè?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?@‘î?@×î?ð?ð?ð?ð?ð?ð?Êï?ð?¯ï?Àvï?ð?Àßï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@»ï?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?àì? ê?ð?ð?ð?ð?ð?ð?ð?ð?Þï?@†ï?@lï?@Úí?»ï?ð?“ï?Xê?7é?€¯æ??Û?Àë?"ì?«è?@~ì?ð?Àôï?Àæ?@ëì?yï?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃì?À”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àœì?@ðì?@cï?€Fï?ð?ð?ð?ð?ð?ð?@î?€kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤ï?ð?ð?ð?ð?ð?ð?ð?€äï?€6ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?”ï?ð?ð?@Ûï?€Vï?@Ûï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ìï?@Èî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?ð?ð?ð?ð?ð?ð?ð?Àöï?@©î?ð?ð?Àï?4î?ð?ð?@bï?@Äá??Ü?À1í?€}î?«ï?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?Àýî?ð?ÀŽï?ð?ð?@-í?@:à?ؼ?¤­?€¹æ?€Oì?ð?ð?€Pî?ð?ð?ð?À¬í?°¦? ‹?À7â?ð?ð?ð?ð?ð?Àvê?”®?©Ã?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8î?€«ê?ð?ð?ð?ð?¯ï?@é?`€?Lª?_à?@á?X?Ü ?¤£?€qÑ?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?Àóé?uæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ÅÍ?b?­?Çì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âï?€Uî?³ä?@Ãä?uÕ?ÀŸ?ú´?x?òÌ?Tâ?@Jà?iä?Ôï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿí?ð?ð?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€ïî?Àóï?ð?ÀÔï?@nï?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´é?ð?ð?ð?ð?@(ï?¦ì?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ÀŽï?@ î?Àãî?€öï?@î?€í? ï?@•í?%Þ?€è?€sì?@pç?Àôë?À£ê?Ãæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? î?À î?À…î?ð?ð?ð?ð?ð?ð?ð?ð?€í?@ùç?@öï?@õî?Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞí?€4ì?€Sï?Êï?ð?€üï?€ñï?ð?ÀÚï?€uï?€Ðï?@^ï?ð?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?Àáï?ð?€ï?ÀÔï?ð?ð?€ñï?€Wï?”ï?Êï?yï?ÀÄï?@šî?€Eï?€Øí?ð?ð?ð?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äí?Tî?åï?ð?µï?Õî?Æï?ð?ð?üï?€ê?€Gì?À¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À"ï?€êï?€eï?€Wí?ëí?€]é?ÀÁì?ŸÌ?éÜ?‡?4?¤§?h?€ Û?ð?ð?ð?ð?ð?ð?ð?ð?@2ç?€g?0Š?Ü?ÀOë?ð?ð?ð?Àßï?fÏ?@c?(á?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ÀØç?°„?k?D?ˆ¶?|¶?@?Å?.¼?ܹ?øš?Ñ?Pˆ?¤»?Šè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+ë?ùä?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?$È?€?€PÒ?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?@óë?@Úî?À•á?±?†?ÇË?+Ð?èî?Àæï?@Úï?ð?Êï?ð?ð?ð?ð?ð?ð?ð?€ùï?@¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àßï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãí?€Së?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?Ãï?Àìï?ð?€Vï?€²ï?ÀNî?€Þï?ð?€uï?À ì?€¯ï?ÀÁï?Üé?@å?ï?ÀÉæ?À’ã?@Žé?ð?ð?ð?ð?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µî?@ªî?€âî?ð?ð?ð?ð?ð?ð?ð?ð?|ê?@†ï?ð?€Æï?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?€Íî?ð?ð?ð?ð?ð?ð?€ˆï?€‹ï?Àßï?€—î?€í?ÀÂí?@Œï?€rï?€¼ï?ð?@óï?@Ëî?@_ï?ð?ð?ð?ð?ð?ð?ð?Êï?ð?Àeí?ãï?ð?ð?@]í?Öï?€Ìï?@óï?ð?ð?ð?oï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?À˜í?rì?€`ï?:é?Ûâ?BÁ?7Ä?ª±?<ª?n?Â?°?ÀÊâ?ð?ð?Àïï?@¿ï?ð?ð?ð?ð?€à?œ±?Ïê?ð?ð?ð?Áî?€Ëß?€S?xŸ?@Øä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ãï?€té?Q?Ø¡?wÌ?ŽÀ?@s?#È?·?@.à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?Àë?@@è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ïÚ?À¿ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?à?¯Æ?À é?¯ï?ð?ð?ð?ð?¯ï?€Ûï?@Sï?ð?ð?ð?Àûï?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoï?€Pï?ð?ð?ð?ð?ð?ð?€"í?À™ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—ï?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?@3ì?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\ï?ð?ð?ð?ð?ð?€Öï?cî?ð?@áî?ÀÝì?kí?ð?ð?€îï?Àyí?€Ûî?Iï?ð?Àyå?Àá?€Èà?À±á?Àýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëî?ð?ð?ð?ð?ð?aî?€àï?ð?ð?ð?@ì?ð?ð?4ï?€4î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-ï?@î?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ÀLî?§ï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cï?@}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?@õï?ÀËï?ð?ð?ð?ð?ð?@ ï?@Õï?€Àï?Àæí?€Òï?€pî?Àïí?@¿ï?Àï?@£ì?@ší?€Ÿê?]ë?Àwì?ëí?À£í?€Œï?ð?ð?ð?ð?ð?ð?À_ï?€|ï?@´î?€¶ï?ð?ð?@ßï?ð?À0î?@÷ï?ð?ð?€Uï?€_í?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@tî?€%å?€Gé?3Ê?ÇÇ?ˆ½?U?€_?@œá?ð?ð?ð?ð?ð?ð?ð?ð?€ìÓ?€…Ó?@¬ï?ð?ð?ð?@´í?È£?t¨?ÀÆç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?@ìï?@|æ?{?`v?"°?·??0•?“Å?R¹?¯ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?€(Ü?Éã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ä?`ž?@Þ?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?Õ?,?€ÐÐ?@Ýî?ð?ð?ð?ð?ð?Àþï?€úï?ð?ð?Àéï?@šï?@¿ï?@Aï?ð?ð?ð?ð?ð?ð?@òî?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€ßï?ð?€þï?@ýï?ð?ð?ð?ð?Êï?À"ï?Àî?”ï?Àßï?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?nï?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?@äï?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-ï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Cí?Nï?ÀÄî?±ì?À<ì?î?Àéï?èï?À;ï?@Rì?äï?ÀÔï?è?À¼ì?Éæ?jÒ?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àží?ð?ð?ð?@¿ï?@%î?À§í?ÀÍì?ð?ð?ð?@ëì?ð?ð?xï?Àçî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@ýï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï??ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?€’ï?”ï?ð?¶ï?Êï?yï?ð?ï?€gï?@úï?ð?€Ïï?@ï?@Šï?€Ûï?ð?ð?€øï?ð?ð?ð?@Gï?@¡ì?ð?ð?ð?Àéï?€”ï?Àéï?ãî?Àì?Àï?€øï?Ùï?ð?ð?Àƒï?5ï?ð?@5î?Êï?€Œî?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?€)í?Àwè?€ëà?à‘?`??N?À.é?€wï?³î?@æê?ð?ð?ð?ð?=ì?ØŸ?H?Àé?ð?ð?ð?Àì?`›?ªÌ?°î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?ð?ÀÑï?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?”æ?€r? š?С?V?0€?”?´?Ћ??N?@f?NÎ?€m?6å?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À£é?#ä?@¸ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àœî?d»?ª?ÀÎë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*ë?¤¬? z?çØ?@±í?ð?ð?Œï?ð?ð?Æï?ð?ð?@Lë?@’ç?À¢é?Zí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?@Þî?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?€Ñï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ÀÊï?°í?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zï?@³ï?@£ï?ð?@Ùï?ð?ð?ð?ð?ð?ð?zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?€ ì?À²ï?”ï?@(ï?€§ï?Àï?€±ï?ð?@ì?Ãï?Êï?œí?Ãê?@¾á?€&ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?áï?ð?ð?ð?ð?@ªï?@=î?ð?ð?ð?ÀŠê?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rï?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ÀÃï?Àãï?ð?ð?ð?ð?ð?ð?ð?Àï?@Cï?î?ÀŠî?@Yí?@…ë?}ì?ÀÞì?@Pè?ÀÓí?5ï?€eì?^ì?Àì?@ê?œë?0ì?Àí?Ïí?€Æí?À7ï?yï?ð?ð?ð?¼í?@ï?ð?ð?^ï?€Rï?Àñï?À_ï?±Û?¸‘?Àa?­?À~î?À•ï?@rï?ð?ð?ð?ð?ð?£ä?_?>?@ã?ð?ð?€ë?ýÔ?@u?€kÕ?€rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?ð?€§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€Ïï?€‘æ?@c?ÄÌ?À-å?ÀAë?çë? ç?Üä?@¬á?dÐ? ß?&³?)Í?qÑ?«Ð?»?$§?~¾?P²?W?`}?bÓ?Ð?Pœ?V²?ð™?€º?iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?€…á?À8æ?ê?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªÕ?0? p?×Þ?@]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?„å?¯?€R?ËÂ?Àýæ?ÀÎï?@Òï?ð?ð?éï?éï?ðí?€&ã?Ðß?Àå?Àïï?ð?ð?Àóï?Êï?^ï?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?@›ï?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?€ûï?Àíï?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?Êï?¯ï?Êï?ð?Ëî?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?@Ûï?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åï?üî?ð?@#ï?€ßï?€½í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À è?Çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sî?€Øì?ÀTî?@0ï?@ûï?@òî?ð?ð?ð?€“ï?@žî?ð?ð?€¼å?@ëâ?€âÑ?€­ì?Àúï?ð?ð?@öï?€Ûï?ð?ð?@<ï?À¸ë?€šç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€9î?À–î?@qî?À:ï?ð?ð?ð?ÀÑî?€-ï?ð?@õï?€aì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?Àsï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?€Ïï?ÀÄï?ð?ð?êï?€™ï?€Êï?@8ï?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ÀÙï?À›ï?üí?@vï?Àë?@\ì?€Žï?@Ìî?€kí?@²à?€Gë?€ë?€³ï?@»ï?ð?ð?ð?ð?ð?ð?@©ï?€)ï?¿î?À"î?@nï?ÀŽï?=ï?@šç?€½è?ÜÉ?0†?@¥ã?ð?ð?ð?ð?ð?ð?Ðî?Ç?H?(?¹Ó?@¤ï?¹æ?±?€R?€ýÐ?ëæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×î?^ï?Àóï?€ýï?ð?ð?ð?€7æ?š?Ú×?@$à?Àuâ?€Ýæ?À\ë?@Pï?ð?ð?”ï?ð?ð?Àsï?€[ï?@ïï?€Xì?€Hï?@9ï?@øï?ñæ?IÒ?¥Ï?Ó?WÁ?¨¯?_?4?P§?€NÔ?€X?8?O?κ?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™ï?@Sï?ð?À6ê?Ïï?ð?€±ï?@Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ÎÁ?²?@æê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€éÚ?Àc?€Ö?£â?@´ê?€Ní?Àè?Ó?Ƶ?€‰á?Àfî?ð?€Áï?çï?@…ï?ð?ð?ð?ð?ð?üì?Èï?ð?Àïï?Nï?€êï?ð?”ï?@uï?ÀTï?ð?ð?ð?ð?ð?`ï?ð?ð?ð?ð?ð?ð?ð?ð?4ï?ìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?@Çí?ð?@¹ï?€wî?€œí?Àèì?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?Ýï?ð?ð?ð?Âì?€Þí?ÀÑí?”î?Ïï?ð?ð?ð?@éí?ñï?€Ðï?ð?ð?¢ê?€­á?â?8É?Àîà?€èæ?€1é?Bæ?ê?ð?ð?@ñï?@ç?€½á?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?_î?À±í?ï?ð?ð?ð?ð?ð?ð?€úï?@Rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ï?Àï?Àèî?Àï?Êï?À‚ï?ñî?@£ï?»ï?¯ï?ð?ð?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€¬ï?ð?“é?@së?€ë?@ùê?€Þ?€ßì?€×ì?€Áï?€éï?»ï?Àïï?Àýî?@©ê?Àìî?Àƒì?@ã?€8ç?ÀZæ?*Ï? æ?@ä?×?p?FÈ?À¤ï?ð?ð?ð?ð?ð?lÞ?€S?€}?&É?ˆ˜?€]Ô?€.ì?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àxï?åï?€éï?@¨ï?€‰ï?vá?t?¤¸?‚Ý?À˜é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?@ñï?@Òï?€áï?ð?ð?ð?ð?ð?À ï?Öï?@êæ?'Ñ?\¸?øœ?€h?®¹?ð¡?zÌ?@p?ô³?@Äì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒï?ð?Àzê?€9ç?À¨å?@šë?@ñë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýê?€kÕ?ìÃ?[?8? Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?"Ï?p‹?Þ²?§?«Ä?@2î?ð?ð?Àœï?Èï?€ûï?ÀŠï?ð?ð?ð?ð?€çî?Ìï?ð?Àäï?ªï?ð?ð?ð?ï?@Gï?ð?ð?ð?ð?ð?@ºî?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?€ºï?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼í?ð?ð?Àèï?'î?Aí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€×ï?ð?ð?ð?ÀËì?ÀÑï?ð?ð?ð?ð?ð?ð?€vì?€Þï?@£ï?@0ï?Àaï?Sî?†â?@uå?€ëß?@ë?€ü×?€Ò?©Ã?€w×?À ï?ð?ð?ÀÛç?€eß?€ìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?€+ï?@´î?ð?ð?ð?ð?ð?ð?ÀVî?@hï?ð?ð?ð?ð?ð?ð?ð?Àßï?@†í?À©ï?ð?ð?ð?ð?ð?ð?Þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Œï?@rï?Àîï?ð?@9ï?À¸ë?ÀYì?Àèì?ð?@Cï?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kî?ð?@iè?ÀÏì?€–ë?éà?„Ã?@_ê?Ñî?@6ï?Àîï?€¸í?Ï?ÀÎà?«ä?3Å?à|?oÏ?ûÚ?€?€—?€’?@µê?€¥ï?ð?ð?ð?À)å?@§? ¢?—Ñ?@8ë?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Fï?Àì?€Æï?@òï?Ëï?Àšï?ÀÎî?j¾? {?fÒ?€nç?@Òí?ð?÷ï?@Zï?ÀÄï?€éï?€ëæ?@Óà?€?ä?À&ä?€<ä?€˜ç?@õå?@†ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎí?€ëí?ð?Àiï?@Øã?ÓÈ? µ?È“?Ì¡?àˆ?Às?€×?€hÙ?"Ü?Ô¤?€„Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?@lå?2ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×î?€*ã?Û?òï?@ÿê?€'ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Lï?ªÕ?¨°?€·î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…î?À­à?€>Ó?à?B?h?“?XÂ?mÜ?Vç?ð?ð?ð?ð?€ãï?ÿï?Àóï?¹ï?ð?ð?ð?ð?ð?ïï?€lï?€ï?ð?ð?ÀŒï?Àî?>ï?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?€ôï?À¤ï?@kî?@¡î?ð?ð?ð?€ì?Öå?@kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶í?€pî?ð?ð?ð?@î?€Ìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’ï?€ôï?Ÿí?€ãì?pë?ð?ð?£í?ð?ð?@ší?À±ë?@òî?ð?Àúé?€í?€Žï?ÀØí?Àzà?@ì?LÕ?ŠÜ?Ò?€ªÔ?€š×?@Ôá?ð?ð?Àöì?KÜ?5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@î?ð?ð?ð?iï?Ùî?ð?€«ï?Àúë?ð?ð?ð?ð?ð?ð?ð?À¦î?~î?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ÀÕï?€Ní?Êï?ð?ð?€õï?@î?Àwî?Àtï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?©í?À¦î?ÀÔï?ïï?Dî?À_ë?@êí?À(ï?ƒß?€AÕ?è?@6î?GÙ?€EÝ?`Í?>Å?…Â?í?€Më?=ê?@[î?€âß? ™?†°?À«ä?€ë?€Þ?*³?H®? ?NÐ?€èë?ð?@Eã?¦Ä?@5î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡ï?Àé?@Ïã?@Îé?ò°?@„? ?pã?€æï?ð?€Áï?Ãï?@ï?ð?€²í?€ƒÔ?<¤?Hà?åâ?Àæ?€Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?ð?Íï?@á?¼Î?€fÒ?‘Ó?¼?x½?€DÔ?€MÕ?ÐÜ?˜“?€l?€w?°‰?@u?ÿÃ?€•Õ?@e?<®?€ß?ÊÌ?L®?.µ?À³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?ê?€úç?ÀÑî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èì? Ù?ô¬?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?Ê?`‰?ÀÄé?@%è?@â?€ë?ÀHî?@¿ï?@ªî?Ànï?€Ñï?áï?ð?@tï?À‘î?ð?ð?ð?áï?€Ñï?ð?ð?ð?ð?Ðç?ÀÀê?@Áã?‡ê?@»é?€·î?Àßï?€êï?ð?ð?ð?@(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?@¿ï?€Éî?ð?ð?ð?ð?Àyï?ð?ð?ð?ð?ð?ð?cí?À×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?À>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?À¸ë?€~ï?€™ï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ë?€å?ð?ð?@Êï?€Ëë?Àlï?€Bè?€î?À•è?@é?`ç?@(î?@Ýå?@]ï?@gê?À–í?šì?/Ý?Àÿî?HÍ? â?€CÑ?˜š?AÞ?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏî?áî?ð?ð?ð?ð?Àýï?€Hé?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?@-ï?ð?ð?€í?ÀRí?ð?€úï?€´ï?ð?ð?ð?ð?ð?ð?ð?Àßï?Àßï?”ï?Àïï?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?Êï?Àªï?À~ï?ð?iï?€Kî?ÀŠï?@ ï?çè?@öé?ë?À\ã?ÓÊ?Ó?ÞÚ?öÅ?ð?ÍÏ?€Öï?€{×?ø¦?†º?à‰?`v?@ ë?À¼ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€~ï?ð?ð?ð?ð?@Êï?À?å?@‡ä?€ƒÚ?äÇ?€éï?ð?ð?ð?ð?@eì?€"ë?®¿?b?°Â?!ã?ð?ð?@æï?ÀŽï?óé?@×î?ð?€aï?@yï?ð?ð?ð?ð?ð?ð?ð?ð?€éï?Àôï?ð?€yé?˜á?€gÑ?̧?€bÑ?ÕÍ?>±?K?—?Â?€ÍÑ?¬ª?|? ©?„«?õÀ??ÎØ?×å?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@@æ?@áâ?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§ï?@Bã?$©?É?€³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ä?Ð…?Ì?-î?ð?ð?ð?ð?ð?ð?þï?À­ï?ð?úï?€íï?Üï?ð?ð?Àþï?Èï?ð?ð?ð?ð?€ÐÜ?º¶?€ê?@Xì?Àüï?Àþï?ð?ð?@Cï?ð?ð?ð?ð?ð?ð?ð?€Æï?±ï?@†î?@Éí?@hí?Àmí?Àýí?@sí?€ÿí?À†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?Ùï?”ì?@›å?ð?ð?€ûæ?€ÿç?Àæ?À8è?€è?@‹è?Àã?@¦ì?Àìâ?€¹é?€7ê?€)é?€¼à?€xÓ?ÀÔä?b³?ÛË?Ä¥?8Î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?Àèï?¯ï?Àñë?ð?ð?ð?ð?€/í?À…é?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?ð?ð?¥î?@žï?ð?ð?@õï?ÀÔï?”ï?ð?¯ï?ð?Àì?€‰ï?ð?ð?ð?ð?ð?ð?ð?€úï?ýé?@¶ï?ð?ð?ð?ð?€÷î?€ ï?€úï?@Óï?Þï?@þï?@5î?@ì?(Ú?À“é?óÍ?ªÉ?À?`y?°?ðŠ?Ð’?@0ë?FÖ?` ?@`?çÓ?€zí?@Àï?€ÈÛ?Ïà?€éæ?€¤í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?À»ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€úï?ð? ê?Àsï?Àáê?Àìæ?@â?Ú°?tê?Ûî?ÀZç?ýÇ?H¿?¬¡?¨¡?°?ì¼?½À?÷Ä?}å?žÖ?Àxî?€öî?€\î?Úè?€]ê?Àï?€†î?€úï?ð?ð?ð?ð?@Êï?ÀÖï?€™ï?Àôï?€së? ï?@þã?fÍ?1Ô?€û×?¨¦?8ž?F?F?Ø¢?8?€EÙ?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\à?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùÖ?Àr?€:Þ?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?Æ?€HÔ?€ï?À³ï?ð?ð?ð?ð?ð?ð?ð?€êï?ÀOï?¸ï?ð?ð?”ï?ð?ð?ð?ð?Àœî?Ã?N¹?€$é?Àþç?Úï?ð?€Îï?À¿ï?ÀËî?€ôï?ð?ð?ð?ð?ð?ð?ÀŒï?@wï?ð?ð?ð?€êï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?€žá?@*ã?2ï?€¿ì?€2Ý?À÷è?€æ?Àµä?À€æ?ÀGå?ÀMâ?‹ê?_á?€ÝÞ?@Îê?€â?RÒ?ƽ? ¦?€r?#ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?@Ñï?ð?Àmê?ð?ð?@ï?€Úí?îë?Àê?€£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?#ï?ð?ð?€œí?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ì?À'æ?@oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îî?€—ï?ð?Àï?Àïï?@¿ï?ð?ð?ð?ð?@Çí?À1î?ð?ð?ð?ùî?@üï?@^ï?ð?ð?€wî?€Øï?ð?ð?ð?ð?ÀÝï?@éï?€Éí?À†ë?@>î?€£í?À«é?oé?˜«?ñÏ?0Ä? ž? u?<¤? œ?à‹?€³æ?!É?ì½?PŒ?©?Å?CÞ?ÀÜî?Úï?Ï?Àè?À´î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?ÀŽï?ð?ð?ð?ÀÄï?€½ï?À ë?ð›?¨¸?€)Ø?€ã?ˆç?@Íì?QÜ?k?p¥?˜œ?{?@?@„?€U?º?þÀ?ˆ¸?8º?ïØ?@Xï?@‰ï?ÀÔï?ð?Àïï?@¿ï?ð?¹î?îï?ð?ð?Àøï?@¨î?ð?Ñï?€åÚ?€Ô?ÀQã?s?>?¢Á?Œ?@<é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?Žâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€/Ö?V?wÚ?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@¹ã?Ào?@i?€åÔ?@ýì?ð?€÷ï?ð?ð?ýî?@¿ï?€êï?ÀÂî?Ìé?ð?ð?ð?@yï?ð?@øï?@ÿï?À,í?Në?м?8”?Ì?ÀÏì?@ðï?€ùï?€ ì?€xï?€Ÿï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?À±ï?Àáï?ÀÐï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êê?BÈ?Àää?@»æ?Àá?ôÔ?À=é?€ûè?Ûà?À±â?fä?€]Û?˜Ý?öÐ?•Ç? æ?Ï?à½?H®?ð¾?xè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xê?Iï?Èí?@ë?,í?Àì?€½ê?`î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?€Pî?@·ï?€î?À°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?áè?€ÿá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëè?ÀØæ?@“î?€½î?@†î?€(ì?@ÿï?Àèî?€xî?”ï?@_ï?@òï?@Ýé?À î?ð?ð?ð?ð?ð?@‰ï?Àï?€¼ï?@¾î?€Íî?í?@Xí?4ê?À‡è?€ãä?€©?êÑ?(?ˆ±?às?@x?F?h”?0Š?€†Ü?º?®Å?€Ò?Ð?A?´Ñ?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ƒî?rÃ?c?€Õ?€ìÖ?ê²?@Oä?€¯Ö?º°?ˆ?›Á?@ßè?Àbê?[À?€k?Õ?@Kè?Èï?Àûï?€ùï?€êï?Ðè?€+ï?ð?åï?ð?ð?ð?ð?€þï?€hï?€úâ?þ°?öÉ?@€?,?¼Å?ö±?Î?€Ñ?GÍ?€U?òÇ?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?šé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oà?¹æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ì?°®?€c?€Ý?Àï?@.ï?ð?ð?ð?ð?ð?À)ï?€ï?ð?ð?ð?ð?Óï?@Hï?€ëï?Àžï?@„î?ùÉ?`~? à?À~ë?À]ë?€Zé?À í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?@nï?ð?ð?ð?ð?ð?ð?À¹ï?€Ûï?ð?ð?ð?ð?ð?ð?€9í?€Žê?À â?eÝ?@Šæ?€;æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®î?€Îï?@"ï?€ïé?ŽÐ?ò²?€Ý?@à?€Î×?$Õ?@7à?@…á?€Kå?ÖÐ?ÆÐ?çÃ?±Ê?Àp?–Î?ëç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?5ï?Fë?€½ê?®ï?ð?ð?ð?@¹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?@èî?@{ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?€ýé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€@ë?€åè?€ÔÑ?@Ìæ?@Üå?Âï?@Eí?€Bï?€kè?žì?@çï?ÀIî?€ ï?ÀÕì?€Oì?ð?ð?ð?ð?ð?@‚ï?Ànï?ñï?€Ué?@å?øÈ?³?@Sà?~µ?€‰Ñ?ÑÑ?ú´?À`?Àp?¾?0Ç?¦¸? ¯?˜ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyì?@‡î?ð?€]ï?\Æ?#Ê?€S?ð‹?î°?Ð¥?Ôë?ÀGï?Àjê?Л?0‹?€k?€`??@e? É?ÑÜ?ºä?Oí?€Ýï?@òï?õï?ð?jï?ÀÏï?ð?ð?ð?€Ìì?ð?ˆï?@!ë?€/Ü?€½Ü?Â?@n?@h? ±?‘Â?§?Pª?ô¼?È?Ъ?€–ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·î?@§ê?€Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýè? t?€ÇÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Bà?às?mÕ?*ï?ð?ð?ð?ð?ð?ð?@Óï?ð?ãî?Àëî?ð?ð?ð?ð?ð?ð?WÓ?¾?à?&î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?Àóê?ð?ð?ñï?ÀCï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?@ºï?@âï?ð?ð?ð?ð?ð?ð?ð?ð?€ƒî?@ï?ÀÅä?dÄ?Àëä?ð?ð?ð?ð?ð?öï?€‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2í?€õã?õ×?PÂ?˜–??¸³?ïÎ?MÄ?È?‡Ì?-É?pÂ?0Œ?W?‡Ô?9ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyè?€¼ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýî?ð?ð?ð?ð?ð?ð?ûï?À×ï?€%ï?€Pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kï?Àï?€tï?@Ëï?ð?ð?ð?ð?ð?ð?ð?íë?@ î?ð?ð?ð?ð?ð?ð?€4ï?€ì?À]ê?QÜ? Ó?€ Ð?š?v³?¾?çÍ?À é?ð?Àöë?¯Ù?æê?ð?@Óï?ð?ð?\ï?Àkï?öï?@Ðî?À×í?@{î?ÀTè?áè?×?*Ê?³?ð†?4»?R¿?P‡?‚Ö?úé?€é?\¢?ü¾?ÊÏ?^´?7ä?€¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?ÀÞï?ð?ûï?‰Û?·Å?€Ñ?IÂ?ùÓ?€ÍÒ?€µâ?]Û?€QÐ?D±?À‰?ª´?´¼?€#Ñ?F¹?_Í?€½ä?ð?@Ãë?$¼?@b?¡?$¤? p?0‡?ܧ?t³?{Ò?öã?Àfá?Õ?ÀÄ?¸ä?çï?ð?ð?€wï?ð?@lï?@§ï?@ï?ÀŒå?€“Ü?€ÖÕ?^?ÒÀ?@˜?`–?ü¸?°Š? v?0Š?@7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ê?À”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£ï?€lÑ?B¹?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶ï?@ré?¼¦?A?€Ú?@ëì?ð?®ï?ð?ð?ð?À›ï?€Ëî?@bî?€Õï?®ï?ð?€zì?À2ë?ð?ˆê?¨?У?€-ì?ð?ð?ð?ð?ð?ð?ÀÚì?À*í?À@ï?ð?ð?ð?ð?ð?À@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?Àdì?€Ýí?ð?Àüï?ÀØï?jï?€ìï?ð?ð?€Éï?ð?ð?ð?ð?ð?ð?ð?€zï?Öî?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?@óì?«ï?ð?ð?ð?ð?ð?€6ç?€”é?Àäï?ð?ð?ð?ð?ð?ð?€½ï?ûï?ð?ð?ð?€Áè?¹?4?C?A?E?ìª?ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?€Âå?€!î?ð?ð?@\ï?ð?ð?ð?ð?ð?ð?ð?ð?nï?ð?ð?ð?ð?ð?ð?ÿï?€Ðî?Àˆï?@Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµî?€ùî?5î?úï?ð?ð?ð?ð?ð?ð?Àüî?€âï?ð?ð?ð?ð?ð?@îï?@ æ?J¹?‡Å?r?Àj?£Â?Àˆá?)Ù?~Ä?°–?HÂ?@‡ä?ð?ð?ë?Gï?€/ì?@ç?Nà?âÂ?¼Å?t¡?0Ž?e?€¬Ò?Žî?ÀOí?€Ý?€]?µ?RÉ?`r?À'å?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ûï?€Ûï?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlí?€¹Ø?ÕÊ?8˜?°?üÈ?ß? î?Àûï?ð?ð?ð?À‘ï?€nî?€Cì?€Eå?€þà?Àë?@÷ç?`“?l³?kÔ?€Ó?8?0?’?@ê?¬î?@hï?ð?€Éï?ÿï?€÷ï?ð?À-ï?€±å?Rí?¹Ú?¦°?@s?XÐ?®?@h?Ì ?U?H?ª°?@Ã?@™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªî?€¹ë?Äì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?%ë?„¹?€Õ?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€î?OØ?@x? }?€¦á?ð?ð?ð?ð?ð?ð?€‹ï?€ñï?ð?ð?Ýï?ÀÄï?ð?½ï?ÜÊ?ü¸?€£í?ð?ð?Àíï?@Àï?ð?@8æ?@…ç?ð?ð?úï?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?À ï?ÀÛï?ð?@$ï?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?À¨ï?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kí?@"é?ð?ð?ð?ð?ð?ð?ð?Àüì?À˜î?ð?ð?Àçë?Dµ?¨Î?@Üï?ð?ð?ð?ð?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ï?¤ê?Àté?@òí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@ï?€Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuï?í?ºî?€Ïï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ç?/Þ?´§?Ĥ?à„?·Û?Ìî?€wï?ð?€¤ä?€ ê?÷Ó?€S?€c?ÊÔ?JÊ?æÞ?æ»?€X?pˆ?l?î?€ì?æî?@ï?@ëì?Àî?¥ç? ç?Àê?€Ïç?€Bå?³È?ËÂ?è—?È¢?ä§?P›?&»?[ï?ÀÜï?9ï?@sá?€”ß?€Ù?0’?€j?‡?¸§?È?î°?9Þ?x™? ®?€g?€_?hÔ?@Xî?ð?ð?®ï?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?Ú?0?*Ç?Àðë?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«Ø?(?? ?³?Èè?ôï?€þï?€pï?ð?ð?ð?ð?ð?ð?þï?@ÿï?ð?€tï?Àäï?Œï?éî?@Ôï?@ï?ŽÏ?à?€åæ?Àcî?ÀŒì?@—å?ž?´Æ? ?€¡ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mí?€bë?Àâî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œÖ?ðž?È›?€¸ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëë?"·? v?kÕ?€Ÿë?ð?ð?ð?ïï?@Bë?Æà?¨¦?Àúå?ð?ð?ð?ð?ð?ð?ð?€£ï?ð?ð?ð?ð?ð?€ïï?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?ð?ð?ð?ð?ð?ð?ð?ð?´ï?@Éï?ð?ð?ð?ð?À\ë?€ î?ð?ð?ð?€«ï?@yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Së?Lî?€ï?@Þï?Àûï?ð?ð?ð?#ï?ð?ð?ð?®ï?ð?\ï?@fî?ð?ð?ð?´ï?»ï?¶Ô?Àœ?¼Þ?Àˆï?´ï?ð?ÀÏï?ÀÏí?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)î?@Ýê?ð?ð?ð?ð?ð?ð?À/î?~î?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šî?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hï?Àºï?€1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ï?âî?ð?ð?ð?ýì?ð?ð?Àîî?ÀÜì?@-ë?€Ù?äÒ?*¼?`?P¾?§?ÙÄ?Aì?Àtï?€åí?SÚ?ÑÈ?¤¹?6²?˜?¸›?€¡×?@bå?8»?ÀTì?@é?tí?€¹Û?„¬?¿Ë?ÀÐî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eí?¨¶?œá?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@“í? ¿?Àp?ƒ?r?€T?Ü¥?@áã?@Ëï?@~ï?ð?ð?ð?ð?ð?ð?À’ï?ð?ð?Àäï?@Éï?À’ï?ð?€®ï?@:ã?ßÂ?I?4°?`¸?p˜?@b?•È?9Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?€.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?@†è?@"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àÝ?И?ð§?À›ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?XÛ?Б?¨˜?4¨?'×?@7å?À ã?ûÕ?Ø¢?€·Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?ð?ð?ð?ð?ð?€\ï?@äï?ð?ð?ð?À¼ï??í?€¬é?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?€áï?@Gï?@ ï?À•ï?ð?ð?çï?ð?ð?ð?ð?ð?ð?ð?ð?@üï?@üï?ìí?Áè?òà?€^?ö¸?ªì?@Ÿé?Àôï?@™ï?ÀSì?¡î?Àiï?ð?ð?ð?ð?ð?ð?ð?ð?"ë?,î?ð?ð?ð?ð?ð?ð?ð?@œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Kî?ð?@åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?<î?áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?@åî?€âï?ð?ð?ð?@bí?€=î?ð?ð?@[î?ìê?L¼?iÌ?³?‰?ÀÒâ?€ûï?@úë?@î?€Ì×?T?‹Æ?Ô¬?„±?€ Ö? †?®?@2ã?Àþï?@Äï?XÞ?$Å?à?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Û?™?@'ê?ð?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰ï?>Ö?6?Æ´?(¦?«?Ä¥?ô¨?×ß?,ä?@@å?Àè?Àûé?@ßä?@§í?€ýï?ð?þï?ð?ð?ð?ð?ð?Àzî?€ùÛ?ÑÜ?$Û?‡Ò?PÅ?ö¶?@d? €?ü«?@Ðê?À#ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oï?@Pê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ç? Ö?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øè?€zá?ð?Àê?°?€Ö?¾Ã?ÊÝ?ð?ð?ð?ð?ð?€úï?€¤ï?ð?ð?ð?@õï?Àï?€gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À]ì?À/ï?@Ãç?@ê?Àjï?ð?ð?ôï?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?Àäï?ð?ð?ð?ð?ð?ð?@õï?@Îï?ð?@Éï?ÀMï?@*î?©ì?Àå?óÅ?cÁ?Àðì?€™ê?@õï?@¸ë?@±í?€Pï?ð?ð?ð?ð?ð?ð?ð?ð?Îî?À¶è?@aï?@ýï?ð?ð?ð?ð?ð?ð?®ï?ð?ð?ð?ð?€Ôè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À(ï?€+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?Àâì?ÀÓî?ð?@ðì?YÆ?€Ò?€wï?µï?@ýï?Žç?œÄ?œ¡?€æÖ?OÐ?€5Ý?Ë?°?F?(´?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?\·?,º?€ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?GÝ?’±?PÆ?Š?‹?Л?$¿?6?`{? Í?è?€ìï? î?ð?ð?ð?åï?€öï?î?ð?ð?ð?@Íï?@ýï?@Oî?^ç?ÌÁ?üÉ?ÖË?€qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?€Þê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<æ?p…?Àå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€jì?cË?€ªß?ð?€ãÝ?Dº?@¸á?¸?‡?€†è?ð?ð?ð?ð?ð?ÀÈï?Àï?ð?ð?ð?@Úï?€{é?€î?ð?ð?ð?ð?ñï?‰ï?ð?ð?ð?ð?ð?ð?ð?@zï?€1ï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€×ï?öï?„ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?aï? î?À ï?ð?ð?À:ï?Àùì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€aí?’î?Ìï?Òí?À•î?€öî?@÷í?ð?ð?ð?ð?€’í?*º?K?€œÕ? ã?Àðç?€ƒæ?Êì?8í?ð?ð?ð?ð?ð?@Éï?ð?ð?€¨ï?ëå?€pî?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐí?À*ï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢î?ð?@´ë?@e?°£?4Û?Àðî?@âï?ð?€ Ù?ÙÂ?¸ž?Ж?¶´?K? p?€íÝ?À$é?€'í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?½ï?ð?ð?ð?@]ï?Àšî?€|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?X©?gÉ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³Ö?}?@´ä?€¨Û?†?â?D¢?<©?ʾ?xÀ?àŠ?€f?€pá?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dï?Àûæ?ÀÜè?€ç?@ªï?€oï?@5î?ûï?@óï?ýï?€wï?ð?Àíï?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[æ?Œ¨?Ë?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìæ?d?P?3Ø?0?ð?€îÜ?…ï?ð?@ëï?ð?ð?€§ï?÷ï?Àiï?€åï?ð?ð?ð?€õï?ð?ð?ð?ð?@ì?€œÛ?€ÓÙ?0Œ?ôÌ?ÀOî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@$ì?(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žå?€?°Ê?€ºê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çè?`r?çË?Àc?Àà?ð?ð?ð?@Éï?ð?@±ï?@öï?ð?ð?ð?ð?ð?ð?Àõï?ï?ð?ð?ð?ð?ð?€üï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@@î?ð?ð?ð?ð?ð?ð?ÀÓï?ð?Àãí?@lì?ð?ð?ð?À/î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?ð?Àçï?Àáï?Bï?@½î?ð?‚Ý?@˜?–½?À^à?@ â?@tè?À¸å?€cî?ð?ð?ð?ð?ð?ð?ð?ð?€°î?€Åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vë?(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€Ðî?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?@eï?ð?€±ï?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìí?@í?ÀÛ?¶? x?À~? ?þ¹?@õè?@Wå? É?ø—?t£?€›í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Àã?€6â?@Áá?þì?À½ï?€§ï?ð?€î?Àóï? ï?ð?ð?ð?ð?ð?ð?ð?ð?€£ï?ð?ð?ð?ð?ð?ð?ð?@1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ä?ðŠ?ïÌ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À”í?}Å?€T?±Ï?@îê?@öï?ð?ð?€§ï?ð?ð?À½ï?ð?ð?ð?ð?ð?ð?€¸ï?ð?ð?ð?ð?ð?ð?@–è? ¬?Ж?À¥é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Vî?ˆí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rã?€i?z³?@á?@Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œå?ä?ð?ð?ð?ð?ð?Àî?Àóï?ð?@cî?Àçï?ð?ð?ð?øï?À¨ï?ð?ð?ð?ð?ð?@ýï?Àêï?ð?ð?ð?ð?ð?ð?À›ï?€Ûï?ð?€î?ð?ð?ð?ð?ð?ð?€¸ï?ð?ð?ð?ð?ð?ð?ð?Ùî?@ì?¶í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?@8ë?@Iå?l£?¾¸?À/â?€AÔ?óÍ?ê?ð?ð?ð?ð?ð?ð?ð?ð?øï?€Yì?@3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Fè?À¾ê?ð?ð?ð?ð?ð?ð?ð?ýï?€ï?@`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€wï?ð?ð?ð?ð?ð?ð?ð?€ôï?À‡í?@Æï?À7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?ÀJê?€YÝ?@e?€i?ÎÈ?‚³?ž±?Jµ?@&à?ä?€ÛÖ?ê?€¸Õ?`¸?€ßÛ?ð?²ï?@é?½Ó?W?P?€£æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?Àéí?´ï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?€æï?ð?ð?€fï?ð?Jï?€Ûï?ð?ð?\î?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?€ÌÛ?!È?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?@iä?à|?ÐÖ?@£î?ð?ð?ð?ð?ð?€æï?Ànî?€½é?€_é?ìî?€ì?À»ï?ð?ð?@ï?@ræ?@ìí?JÝ?òÖ?ÆÒ?iÈ?þ´?€áÐ?™Ö?´¬?ª?Àƒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?€Üè?€÷ë?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìê?•?,?€Z?€øä?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šØ?`{?€ì?ð?ð?ð?ð?¬í?ÀÒï?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?€±ï?®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øí?ií?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?ð?ïï?ÀJî?Àï?@çì?€iÝ?Àqí?@Vï?€ñí?è?øÚ?\¨?€p?(Á?L§?8˜?€Ý?€oà?ÀUç?ð?ð?ð?ð?ð?ð?ð?€¡ï?@së?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?óÝ?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óî?œí?Kî?À>î?Àåî?ð?ð?@Ëí?€gï?€ï?€tí?€&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öî?pã?ð€?Y?ª¾?ÃÞ?ˆÓ?Ëî?î?Àì?Öí?Àýï?€©ï?À2ï?À(î?ûï?wß?¼?€ë?ð?ð?ð?Àªï?ëÚ?8À?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿì?€ï?ð?€ùï?þï?@þï?€Äî?ð?ð?ð?ð?ð?ð?€Òï?@]ï?ð?ð?®ï?€æï?ð?ð?ð?ð?Àîî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ÉÉ?€p?€Ø?Àýï?Àäï?ð?@Éï?ð?ð?ð?ð?ð?ð?ð?€1î?ð?ð?ð?ð?ð?ð?ð?€šì?x¯?º?ué?@)è?¿á?€ñ×?4Þ?€ÓÑ?€¹?X¨?0—?€y?àt?¨?ðˆ?>´?€[Û?Ü?€ Ö? Í?úÀ?B? t?xÇ?õã?@cæ?ÀVé?@ƒê? Þ?²?6?Ä?Bã?%Ø? Â?€ZÙ?€ æ?wØ?X™?@?ÄÂ?€Ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Iï?@ªç?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?%Ñ?Úµ?€?Û?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nï?€sì?Àí?Qì?ÀKì?‹Â?Àää?ð?ð?ð?€Åî?Àbï?€-î?¡ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dï?€Óï?ð?ð?ð?ð?ð?ð?¸ï?Ààì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªë?ð? ï?À‹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úî?@ðï?ð?@åï?€õî?€Êï?Ý?8²?€’Ô?€á?¾Ç?€š?v?d?ÑÏ?Ö?À<â?@Zï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‚ï?Àõï?ð?ð?ð?ð?ð?ð?ð?ï?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóç?(”?©Î?€^é?ð?ð?ð?ð?@æï?€Ìï?ð?ð?ð?ð?ð?€‘Ñ?PŠ?Ã?ï?ð?ð?ð?ð?÷ï?ÀÜâ?Œ³?`”?@zè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?Àìï?ð?@Ÿï?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVï?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?@eì?è’?”´?€§ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?Oï?ð?ð?ð?ð?ð?õï?À‚ì?~Â?h¬?Xž?»?S?T?€ÉÜ?ÀÏï?ð?ð?ð?ð?ð?@÷ì?€ã?€CÜ?€õÐ?œÊ?zç?ð?ð?@Ùï?ð?ð?ð?âë?€Xã?@‘à?‹?s?ì¬?ÆÍ?{Õ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?kè?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?€Ìî?À0ï?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€)ï?4Ã?l?:¾?ÀÜí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡ï?€’î?@ï?ð?@·ï?È?ƒÞ?€aï?ð?@Ëï?@Yì?ƒï?ð?@Îî?ð?ð?ð?ð?ð?ð?ð?ð?@\ï?€ é?@øî?ð?ð?€ùï?ð?ð?ð?ð?ð?@ìï?ð?@iì?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?Lê?Àgï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?Àíï?@žé?QÖ?'Ì?p¢?ÐŒ?| ?Ø?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ÀRë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€Êï?Ò?>?(Î?€5ç?§î?@ûï?@¦ï?@ï?ð?ð?ð?@›ï?ð?@ûï?€¡î?€]æ?iÁ?Àw?øµ?Àq?ؘ?À7ç?ð?ð?ð?ð?ð?@°ï?€àà?X—?œ¸?ÀNæ?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?ð?ð?ð?@Wï?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Rï??Ã?ÐÌ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?SÍ?в?ðŸ?0™?‚?Àb?ø¾?€JÖ?€Ò?@á?€3î?ð?ð?ð?ð?@öï?@¨ï?À&ï?@Îï?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?é?@?å?í?½?JÁ?Àê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eë?†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀSî?€Œë?žê?ÀÙå?Ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡Û?ŸÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?´Õ?¢Ì?@­ì?ð?ð?ð?€Ôí?ð?@sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øì?À/ã?ð?ð?@–ï?ð?ð?ð?ð?ð?€Âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À}ï?@çê?¡ï?ð?ð?Àðï?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~ï?@å?8¾?ü®?¶È?€ºè?@+æ?@¨í?ð?ð?ð?ð?ð?ð?ð?]ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?À·ï?ð?@›í?¡Ê?€X?H‘?€ÕÜ?¬î?ð?ð?À;ï?À¾î?@Þï?ð?ð?ð?Rí?ð?Àµï?€Væ?P?`‹?€X?„?ÖÄ?X×?€òï?ð?ð?ð?ð?ð?+î?gÍ?¹?€ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?€áê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?Îï?ð?@ßî?À&ï?ð?ð?ð?ð?ð?ð?€Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡à?€ËÖ?ð?ð?@Ëï?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?të?@)ç?Ø©?@‚? ·?Àç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ÔÑ?Àf?ظ?Àôæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8ï?À$ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰î?€Tì?@öï?ð?ð?@áê?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jä?¼¤?À#é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?XÝ?&´?€oê?@Nî?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?@³î?€½ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlì?Àqï?ð?ìï?@Vï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jï?€àï?ð?ùï?œå?Ò¹?yÊ?À—æ?ÓÛ?@*ã?€¹é?ð?ð?ð?Üï?ÀÒî?ð?ð?@¦é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?åí?ð?oï?¸Æ?v?™?€Jç?@ðï?ð?ð?ð?€ï?£ç?€ï?ð?ð?ð?£î?ð?À‹ì?È¡?§Ø?»Ó?H½?@cï?ð?ð?@Ðï?Yí?æ?ÿÈ?ð”?‹?âÖ?@ é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?@¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{î?ð?ð?ð?ð?ð?ð?@éï?ð?€:é?¸¯?à€?À}ä?ð?Àëï?µï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?.ï?ð?ð?ð?ð?€Üæ?¬Á? q?áÄ?ÛÚ?Ã?@\ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöí?ð?ð?ð?ð?ð?¶ç?-É?‡Ù?€ÙØ?€Ú?´­?€ž?€ræ?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?Àaë?Àûï?ð?ð?ð?@ï?À®ê?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çè?Àu? |?F?¨Ù?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ã?€W?ð¡?€ë?@£è?€pï?@Bí?Ðì?ð?ð?@Ûï?@Jí?ð?ð?ð?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sï?ð?À°ï?ºí?ð?ð?ð?ð?ð?ð?ßï?@}ë?ð?ð?ÀHï?@»ï?ð?€sï?Àîî?€Òï?@íï?@hí?À¯í?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?€øï?€Mï?@9ä?`š?€]?á?·ì?tê?oä?À¤î?ð?ð?ð?ð?ð?òï?ÀBê?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µî?Wí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€gî?@ ï?€¿ç?`?0©?À½ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ÀŠî?€Ý??G?¤¤?°ƒ? ”?LÉ?@Àï?ð?€°ì?ô×?D¤?p€?:?2?Œ¨?€VÚ?€©ê?@ßî?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüî?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?ð?ð?ð?ð?ð?ð?€úï?ð?Àøï?@•ê?Ô¨?T¬?ÀÒã?@Øï?äï?ð?€Wï?ð?ð?®ï?@’ï?öï?ð?ð?€âï?@õï?ð?ð?€mï?•î?Ýï?@œï?ð?ð?@hä?€$Û?Q?@“?À‚?@=è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚ï?ð?ð?ð?ð?ð?ýï?Kî?†Ò?Û?€,Û?X“?Ô¼?À]é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À£ï?€˜ë?ð?ð?ð?ð?ð?ð?Îê?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?¿?È—?ÀQç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?€ëï?@€ê?ø™?F?@Çá?àà?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ÀØï?ÀÉï?@ùï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ÀÇï?ð?ð?ð?@½î?ð?ð?ð?ð?ð?ð?€3ï?€µë?úï?ð?ð?ð?ð?ð?À£ï?ÀWí?@^í?€wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ê?¦?ì¦?€„ê?€÷í?xÖ?@sï?ð?ð?ð?ð?ð?»í?@)ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@,ï?ð?ð?€&ï?@ºî?ÎÂ?@¼?@dî?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áî?½Â?`v?Ã?p™?ø°?ˆµ?-è?@ ï?æË?l?o?¾·?€Ýç?Àƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?€˜á?®?`s?¢Ç?€Lë?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?ð?ð?ÀDï?@’ï?ð?ð?ð?ð?­ï?€lï?ð?ð?Àòï?Ò?`s?€?d¨?€Ïè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À"ï?è?€,æ?€2×?ÀÉ?€jÐ?:À?€f?NÆ?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?@;ê?í?ð?ð?ð?ð?ð?ð?ð?€ è?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãÕ?€ñâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëê?@Ÿâ?€á×?€”Ð?’Ï?À?j?>?®¾?€Xé?þï?ð?€©í?Àýì?ð?ð?ð?ð?ð?ð?ð?êï?ÀÝï?€Åî?jï?€úï?@ìï?ð?ð?ð?ð?ð?€Õï?Zï?ð?ð?ð?ð?ÀPï?Œî?ð?ð?ð?€Éî?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀSì?€¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žî?§Ð?À±?€pÕ?Ç?À‹à?{Õ?…ë?ð?ð?ð?ð?ð?ÀÔï?@{ë?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?€+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@mï?¾î?€Ìí?ð?´î?HÇ?°?Àyí?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*è??2²?€[Ñ?@h?7Ì?€SÐ?è’?&Ê?Àl?z?’?€äÐ?¥é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?ÝÆ?|£?@â?Nî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´í?òë?@¨î?ð?…ì?@‰?XÑ?À‰è?€(Ú?Ä®?üÅ?@ ë?ð?ð?ð?€ºí?@šî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?€Šï?›î?á?`t?€w?@lç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<ë?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?yï?€Iê?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?µé?@4í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@4ê?(¾?ü«?ÉÍ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|ë?ŸÐ?Љ?â×?@éè?îï?ð?À`ë?@ìï?ð?ð?ð?ð?öï?@Cë?À"ï?@àï?Àñï?€Îï?À-ï?ð?ÀÇï?ð?ð?ð?ð?ð?Àüï?óï?ð?ð?ð?ð?@òï?Àâï?ð?ð?þì?€?í?€µï?ð?ÀÇï?ùï?À²ï?ð?ð?ð?ð?ð?ð?ð?ÀÕï?°í?€oî?9î?@Åí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?€Ý?¨?^ç?€ªÚ?àš?p©?ŒÙ?@ï?ð?ð?ð?ð?À±ï?1ê?ð?ð?ð?ð?ð?ð?ð?ð?ðï?€rï?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•î?ð?ð?ð?ð?[ê?ÀSï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pï?€Ôî?€ãï?@né?ü¦?X’?Lè?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ð?€Sï?õÞ?ø?r?À…?àž? ?š³?h°?€á×?Ž»?À ?€œà?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëì?$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€øï?€±ç?€ÜÔ?ŽÈ?î·?^¶?,¬?à‡?Ø?X§?Àk?x™? £? £?€9Ø?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fï?À°ê?Àmé?~Ù?Àå?ð?0ã?`„?V?às?@c?pº?˜à?Éä?Q?kÇ?-è?@ï?ð?÷ï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?À2ä?Ø®?Â?8“?@á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?[í?€§í?ð?ð?ð?ð?ð?ð?ð?@Aï?€Gë?Àxì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?@`é?Î?ƒ?Љ?x°?À]é?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íí?0Ä?ùÕ?Ãï?ð?€èï?€þé?€ï?ð?ð?ð?ð?ð?@Ùî?ð?ð?ÀÞï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡ï?ð?ð?ð?ð?Àí?À­î?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?Àï?ð?@°ï?€óî?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?Àöï?Àä? z?Ф?¢²?ܺ?Àï?ð?ð?ð?ð?À9ê?@¯í?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËì?@6í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?úí?ð?ð?ð?ð?€çá?€3Õ?-î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?@äí?@ƒì?9Ó?€pä?€Çï?€˜ï?Àì?€îï?ð?ð?ð?ð?€õï?Àiæ?(Æ?˜?ÈÕ?×È?€kÜ?©Â?˜ ?Àb?À ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xí?@ãá?€Øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?€Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?Àîï?‡ë?€ ê?Fì?@ýï?@Þï?€í?€%Ó?à“?ð²?€KÙ?Ìå?#ê?€\ä?€>å?‰Ï?*¹?ð…?I?òÑ?Wï?ð?ð?ð?ð?ð?@ í?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?À¶ì?Æé?Àž?@7è?ð? Ï?v?ܤ?ºÅ?ÀÆæ?@¾ç?€/Ö?3Â?àÏ?ܱ?€s?€Q?¤¬?¨?lê?ÀÂï?€þæ?éï?€¸î?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\é? Ž? s?ÍÑ?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?@jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?€Ùë?ÀÅï?ð?ð?ð?ð?ð?Àÿï?€ ê?€—î?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@eí?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸï?€ÕÜ? p?P€?x?…é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Jæ?2?‰É?€ë?yï?ð?@Xë?rï?€ï?ð?ð?ð?Àþï?@Éï?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?Àûï?@Òï?ð?ð?Àüï?Ëï?@Òï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?Õï?Àòï?ð?ÀÇï?äï?¼ï?+ï?ð?Æí?@aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€fí?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@êâ?À ?€Øç?ð?ð?ð?ð?³í?@ýë?Àûï?ÿï?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡ï?õî?@óï?ð?ð?ð?€éï?€’î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?Àî?€¢ï?ð?ð?ð?ð?@:ê?@‚à?Àšî?ð?ð?Àï?@gí?À4î?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?@›ï?<ï?@@é?ˆ­?€RÑ?è?Öï?ð?ð?ð?ð?Àáï?jï?nè? Ÿ?Ƚ?À£ê?À×î?@/ï?ð?À­í?€Ü?¤¦?Î?€tÓ??J?6?L¬?€„è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lï?À3í?ð?ð?ð?ð?ð?þï?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@§ï?@ôï?ð?ð?€¸í?@¦í?™î?@{ï?ð?ð?@ï?€¦ë?í?€Ô?E?à¡?Ã?†Á?4¾?€Ì?Àéç?±ï?€ùï?ÀŸï?dî?€Dì?€ã?ýÌ?oÈ?æÞ?€Ëí?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?Àöï?€ðï?gï?ð?ð?ð?ð?ð?€µï?bÕ?€h?lâ?3í?ܵ?Q?€‡?a?xÏ?€{Ñ?ÀYâ?@­æ?œà?íÛ?¼Ö?—Å?˜? |?F?@úà?Àÿï?ð?ð?@æî?ÀÑì?eæ?Bè?ÀAá?Û?€ÃÕ?[Ç?oÌ?€íì?€í?Uï?ð?€ì?¨ì?@á?¸Ý?ð?ð?ð?ð?ð?€dî?Wï?ð?ð?ð?@òì?À(ä?&é?€}ì?@9í?Àxé?Àï?@ªï?€îï?ð?ð?À‡á?$??@a?Àbã?áá?”à?€Òß?€½Ý?€ÛÞ?ÉØ?úÏ?ªÏ? ³?F??@?€?ö¿?Ö²?l°?8?ˆ—?Iì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïì?_ï?ð?ð?ð?ð?ð?çí?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?€ìè?À<ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™î?`§?À÷à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”à?´?=é?pï?ð?“ï?@úì?€+î?ð?ð?ð?ð?ð?ÀÇï?À“ï?¡î?@*í?@çï?ð?À{ï?Åï?@ßï?€èï?¬ï?@Çï?ð?ð?ð?€Ýî?¬ï?ð?ð?ð?ð?ð?ð?€øî?ð?ð?€ï?ð?ð?ÀÇï?ð?ð?ð?ð?ð?Àæï?~ï?À-ï?ð?ð?ð?Àƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºì?‚ï?@´ì?!ë?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?@è?h“?íÊ?Dî?ð?ð?ð?ð?@/ë?À°é?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ð?ð?ð?ð?ð?ð?€˜î?€çï?ð?ð?ð?ð?ð?åï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?€ÿì?Àkï?ð?ð?ð?ð?ð?|î?ð?ð?ð?€õï?[ë?îï?€ï?@~í?eì?€0ì?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Àæç?¾°?2?Y?@Ï?Èã?€é?@^ì?ïï?€øà?³?¼µ?¹?@”î?ð?ð?ð?ð?'î?`ë?€DÚ?šÁ?R´?Þæ?€Ùë?è’?Jµ?ˆ?éÎ?€Vì?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?øï?€}ä?À¶æ?Àãï?ð?€Ðï?ð?@òï?€ñï?ð?ð?ÀWï?@Fé?ð?€rë?xÀ? q?¤?Å?nÖ?@Ðé?€rî?@âé?@ì?@»ë?ßï?@"î?Àï?úï?ð?ð?Àgê?À®ê?À ï?Qï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?€ºê? Þ?€¨Ð?r?€òØ? Š?€¾Ù?¯ï?ð?ð?ð?ð?ð?ð?@ïï?ÀYï?@5é?À?Àf?ÀŠ?Ò?®é?tì?@ýï?ð?ð?€Üï?Àkï?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zí?€dî?€1ë?Dä?SÊ?‘ã?ð?ð?€!ë? ±?ÀŠ?ÀŠ?ª´?»?€ÇÞ?zî?€_Ý?¬±?g?>?€QÕ?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?‘î?ýà?W?˜ ?L°?PŽ?Í?Â?´Á?À|? ?€U?°Š?Ј?@eé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïî?˜ê?@Xï?ð?ð?ð?éî?¡ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?@ßç?VÖ?¤¦?Ķ?@{í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?lÊ?`“? á?€‚ï?ð?ð?ð?@kî?Àeî?@Ýî?ð?ð?ð?ð?@(ï?/ë?ÀÖã?@Žæ?Åï?€¾ï?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆï?€Óî?@bæ?'í?Çî?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?@ï?çî?Àóî?ð?ð?€žï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ží?@®è?ð?ð?ð?ð?ð?@¹ï?@¤í?ð?ð?ð?@9ë?€Ø?X¬?(·?è?ð?ð?ð?ð?ð?@Ýê?Àrí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"ï?ð?ð?ð?ð?ð?ð?€sï?ð?ð?ð?ð?ð?ð?Ûï?@ôï?ð?ð?ð?ð?ð?ð?@Óï?ð?ð?ð?@ï?€Åï?ð?ð?€ï?[ì?Àî?ð?÷ï?À:ï?èï?Àrî?€°ë?+ï?À«ï?ð?ð?€žï?€ï?·ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jï?ÀÜî?@ì?JØ?„°?öØ?²¿?“Ü?ð?ð?ð?ð?ð?@Ïï?ð?À”ë?@`î?€í?€ãï?¬ã?àx?Ì¥?àz?Ü­?€¹Ñ?œá?€Ðê?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pç?Ò?À¿ë?ð?¿ï?@Óï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?€â?â¼?!É?IÝ?Àræ?€Ùê?@ì?€ßï?ð?ð?ð?î?Dë?tî?À7î?€‘ï?þï?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòî?î?Àúâ?P§?ØÉ?ÍÜ?€å?ð?ð?ð?ð?ð?ð?ð?ð?€wí?À—ä?7Ú?$µ?B²?@Œã?Àªî?ƒß?BÑ?ÇÆ?ûÔ?ß?@æä?@Šë?À´æ?@Aâ?€þÕ?mÕ?€Ô?úÜ?€†ì?ð?ð?ð?€Yî?€Gë?î·?ø‘?hÌ?€÷Ö?€6Ó?cÁ?`³?ªâ?œ§?p¥?@‹í?ð?ð?ð?ð?ð?ð?ð?ð?&î?1Ù?4©?ÑÄ?x“?(?(‘? Ì?@š?ræ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?÷ï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀPï?²ë?.ì?@•í?×ë?@ëê?À½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?æ?‡Á??€;Þ?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?@uá?8—?€§à?€Lì?Àõì?ßï?ð?ÀÛî?Úï?aï?ð?ð?ð?ð?ð?@èï?€Åî?À~ç?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óî?€óï?ð?ð?ð?ð?@ñï?À*ï?À¦è? ê?€+ï?@¾ï?ð?ð?ð?ð?ð?ð?ð?@¾ï?ð?@ãï?€óï?Àœï?ð?ð?ð?öï?ÀJî?€êï?ð?ð?ð?ð?ð?òï?Õï?@ ï?À[î?ð?ð?ð?ð?ð?ð?ð?ð?À¼î?`Ú?d ?\?€\?ÎÛ?Àñï?ð?ð?ð?ð?'ï?@Šè?ð?ð?ð?ð?ð?ð?ð?ð?€Nï?ÀÐï?ð?ð?ð?ð?€6ï?€?ï?ð?ð?ð?ð?€Üï?‹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'í?@œë?À6î?ð?ð?ð?¸ì?Àhï?Àùï?@ï?Àí?Àçï?ëì?@jî?µï?@Óï?@Ìï?Aï?@úë?ð?ð?ð?ð?ð?€ßî?@Žì?Rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Cî?;à?Àa?@ç?ð?ð?ð?ð?ð?ð?€$ï?†í?ð?ð?@€ì?¬¤?¼±?€[?˜—?\Í?€ÿß?ÀÚç?@gî?€æï?Cï?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?Àåî?€†ç?À{ï?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?@Áí?ï?ýï?@ýï?ð?ð?ð?ð?ð?ð?ð?ïï?Çé?@ ì?ÀÕï?À¸ï?ð?Úï?ð?@ïï?ëï?ð?ð?ð?€ýï?€Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?@íï?€ºÚ?àu?€™?ܬ?Àßä?Àöï?ð?ð?ð?ð?ð?À±ï?€±ï?ð?ð?À“æ?€f?À—?@Éà? µ?4À?8?h™?`w?Ä?@¯ë?ð?ð?€ÿï?@2æ?°?@j?H±?°˜?¸?†À?ðº?€¦î?À³ï?€ÿî?@&ï?ï?€žï?€ßï?€Öï?€*ï?—Ü?LÈ?Ƹ?t?ÀŠ?€×?Àóã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5ï?À™í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä?€j?t¥?Àüæ?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?…é?À„å?Àºä?Þ?Û?gÙ??ñÅ?øî?ð?ð?ð?@ië?À.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?Ìï?£ï?ð?ð?ð?@Ëï?€èï?ð?ð?ð?ð?ð?ð?À²ï?@Ñï?@Ñï?€ï?@õï?@ìï?ð?ð?ð?ð?@Ñï?ð?ð?€yï?Àòí?ð?ð?ð?ð?@Íï?€lì?ð?ð?ð?ð?ð?@ûí?ï?ð?ð?ð?ð?ð?ð?€áï?ð?ð?À&î?€FÕ?€KÝ?ºï?ð?ð?ð?ð?€Íï?@^æ?|î?ð?ð?ð?ð?ð?ð?ð?Ïï?@î?ð?ð?ð?ð?@†î?€»î?ð?ð?ð?ð?ð?@¿è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªë?âà?ÀHï?ð?ð?ð?ð?@èì?Àþì?Àî?À¤ï?ð?ð?ð?Ôï?€rí?Ãì?@(í?À3ï?Áï?ð?ð?ð?ð?ð? ï?@ßï?@Ñì?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?d¥?Ĭ?ÀÌí?ð?ð?ð?ð?ð?ð?Jï?À…í?ð?ð?@÷ë?Ø”? ©?€¹Ó?]Ç?“Í?sè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?Àsë?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?À¶î?ð?ð?@#ï?@ýî?ð?ð?@Òï?ð?ð?ð?€Úï?ãë?Àeï?nî?€Øî?@`í?@î?@hï?@Öï?ð?ð?ð?€äï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?@¡ì?T¬?à{?ç?€øë?@ýì?À?ï?À•í?À:è?Çâ?iÎ?@³å?À$ë?Àoé?¦½?ÕÃ?Àï?ð?@ì?ι?h«?˜Ê?^Ï?NÂ?ž½?Ƽ?XÉ?€ùÑ?JÑ?@¾?\??¤®?€…ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ï?ÓÏ?ئ?À`à?@‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wÔ?€{?èè?ð?ð?ð?@Óì?ÿí?ð?ð?À™î?ð?ð?ð?ð?ð?ð?Àóï?@+ï?ð?ð?@Æî?Ãï?À©ï?À±ï?ð?ð?ð?€Óï?@ìï?ð?ð?ð?ð?€Éï?@þï?@&ï?†ï?Àˆï? ï?÷ï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—î?ÀÂï?Oí?ð?ð?ð?ð?ð?ð?ð?Àíï?öï?ð?ð?ð?ð?®ï?ð?Àðï?€à?S?ÛÉ?@{ï?ð?ð?ð?ð?À¤í? ç?@•î?@Úï?ð?ð?ð?ð?ð?ð?€½ï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qì?Và?€kï?ð?ð?ð?ð?Àìï?@Ôí?À¸ï?ð?ð?ð?ð?ð?€‚ï?Àåì?@Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5ï?€±ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íî?Ýä?z?É?€Óï?ð?ð?ð?ð?ð?­ï?Àî?ˆë?ð?ð?ræ?¸¸?ÀÐé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?À¿ï?ð?ð?Ôï?…ï?ð?ð?@¡ï?ð?ð?ð?ð?À×ï?Ûï?vî?ƒï?À³ì?Ní?ÀZë?Àë?€Cí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?€®é?(“?0ž?Ь?GÑ?@¥á?x ?p ? r?PŠ?Ày?ư?9ä?×ì?Å?Ô¤?ÑÛ?§Ê?4?0?À?Àœç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?Pë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹ë?^°?@c?Ï?Çí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?Àóï?ð?ð?Àï?Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?@â?@‹?€P?À€â?Ñí?aî?@úï?À%ê?Àêï?ð?ð?ùï?ð?ð?ð?À®î?ð?ÀÇï?ð?ð?ð?ð?@Ëï?åï?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?@rí?Iï?ð?ëï?@lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?@fï?ð?ð?€î?ð?Çí?ï?wï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNï?,ï?€5ã?À…?@j?¤é?ð?ð?@Ùï?@Þï?@Íî?€Yì?€2î?’ï?ð?ð?ð?ð?ÀÜï?9ì?@Éï?À¼ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ëï?ð?ð?ð?ÀÇï?À«ï?ð?ð?ð?ð?ð?€Ní?‰ì?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@%ï?€ Ñ?úä?@þï?ð?ð?ð?ð?ð?ð?ð?Àâë?¯ï?ð?#ê? p?àp?è—?]Ä?Ànå?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?€üï?@ûï?ð?Àýï?@Þï?Mî?Àï?Ãì?€}ï?ð?@Áî?ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?[î?@Çï?ð?€Bß?`?€X?0Œ?¦³?€Ø?€€?(“?&¸?PŠ?¥?ðª?€Xß?`?@pë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?À³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÆÜ?úË?åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íí?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ƺ?˜˜?©Ê?l?ˆÔ?@Áî?@/î?@‰ï?‘é?@ï?àï?ð?ð?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œï?ð?ð?ð?Øï?€tï?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?8ï?@nï?ð?ð?ð?¹ï?ÀÖï?ð?ð?ð?-ï?@Šî?@Ëï?êï?ð?ð?ð?ð?ð?ð?ð?Àºï?@Èè?éÎ? …?dé?@{ï?ð?vï?@Äï?¨ï?¾î?@$é?À€î?ð?ð?ð?ð?@Kï?@Næ?ÀËì?@4ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öì?@Žì?ï?ð?ð?ð?ð?ð?ð?À«ï?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?ð?Áï?&ï?ð?ð?@ýï?ÀÊï?ð?ð?ð?ð?À±ï?Àöë?€•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?ê?›?ÄÕ?ÀÙï?ð?ð?ð?ð?ð?ð?ð?€Pï?^î?ð?€iî?V¼?€Œ?äÝ?À-ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìî?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?í?ÀÞï?ð?@Õï?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®å?H™?·?€X?b?€c?b?`°?’?R³?°§?Šº?Žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀYï?€÷ê?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ë?@’?@ ã?ð?ð?ð?ð?ð?ð?ð?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?³Ö?‰Â?mî?ð?ð?@‘î?€Mï?2ï?ð?ð?ð?íï?ð?@èï?À2ï?€þï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?@Žê?@[ï?Åï?ð?ð?ð?Žï?À­ï?@²ï?ð?Àï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?Àí?ð?ð?@‘ï?@âï?ð?@õï?Àè?Ñ? –?_?@™è?ð?ð?Àºï?€‰î?€ï?ùï?ãç?€íí?€£ï?À®î?ð?þï?€ÿï?@·ì?§è?@=â?ï?ð?ð?ð?@Äì?zï?ð?ð?ð?ð?ð?€Xì?@së?ÀÏç?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zî?À«ï?Àãï?ð?ð?ð?ð?ð?Èî?À)ï?ð?@ôï?@›ï?ð?À±ï?À!ï?Àƒì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nï?€zä?d¦?¹?€Vï?ð?ð?ð?ð?ð?ð?ð?¼ï?@í?ð?ð?Àsã?Ã?l?²?@å?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?À‰ï?ð?€‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?€ï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@'î?çÌ?±?R?€S?8£?€¹á?|¦? Ø?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ì?@uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚Ã?€×Ú?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšì?µ?@¢?À¢ç?€zí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ï?×ï?Øï?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?€¾ï?íï?ð?ð?ð?ÀÖï?“ï?ð?ð?ð?éï?€Zï?ÀPï?€¸î?€éï?Šï?ð?ð?ÀÇï?@Íë?Dï?@¦ï?Õí?€úï?ð?À•í?ð?ð?ð?ð?ð?ð?ð?ð?€ví?Àëï?ð?ÀÇï?ð?@Zî?€Ý? z?/Ë?ï?ð?ð?@½ï?@xî?À·ï?À¢ï?€îê?€Jî?À[î?@ùï?ð?Êï?€òï?@@î?€¸î?KÃ?èÛ?€¬ï?@Ôï?ð?@9í?@÷ï?ð?ð?ð?ð?ð?€ï?@?ï?@.ç?À’î?ð?ð?ð?ð?ð?ð?€4ï?&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌî?nî?ð?ð?ð?Àsë?À¯ï?ð?À·ê?ê?Àõï?ð?Àåï?€Ãë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?‹ï?€é?šÂ?[Ï?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?@¸î?ð?ð?ð?@Þâ? ¦?€Ú?@Sç?€ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?éä?À½å?€ðì?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vî?ð?€óï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ÙÂ?Д?l??Ë?Ô­? ‰?ô­?R¿?`Ë?@†?€bè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þÚ? Œ? |?ø•?Aå?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?'ï?€oë?€¸é?@Žê?€ýî?ð?€Rì? Ì?À3ã?À{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?–ï?ï?ð?ð?ð?ßï?ÀÇï?ð?€ðï?@Íï?€Ýï?€êï?ð?ð?Ûï?@`ï?‰ï?€õî?À¶ï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?uë?€ï?ð?ï?.Ö?M?€hÝ?Àýï?ð?ð?ÀÇï?€ï?ð?À!ï?@yç?€¼ì?íì?æî?€íï?ï?€Åî?ð?Ùï?€sÔ?8¶?@å?€Wï?ð?šì?ð?ÀRï?€æï?ð?ð?ð?ð?ð?ð?€5í?ð?ð?ð?ð?ð?@ï?ð?Àöï?Ànï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pï?Àµï?ð?ð?ð?ð?ð?ð?ÀŸï?ðí?Àûï?ð?¾í?ªí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?_í?CÊ?bÀ?€¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yì?%Å?€q?sÁ?€´Û?@†æ?À]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ní?@éè?À­æ?€=Ý??î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Rï?€kî?ð?Àúî?ÀÝî?ð?Ší?@›ï?ð?ð?ð?ð?ð?ð?ªÛ?ÍÁ?Ȫ?XË?@ç?±?€a×?ÀÒí?œè?P¡? »?<ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?Žï?@ï?@ï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ç?I?B?z¶?Ê·?€4Ñ?\?²?@—î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vî?€äï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*ï?@Fê?hÙ?j±?H™?Pˆ?‘?LÏ?€ÇÒ?Ô­? ?€ôà?€öï?ð?ð?ð?ÀÄï?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?À–ï?ð?@Öï?eï?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€ôï?ð?ð?ð?ð?ð?ð?Àûï?òï?ð?ð?ð?ð?ð?ÀÇï?@›ï?@ï?@ûï?ð?ð?ð?ð?ð?ð?üï?@ûï?ð?€sï?@‰ï?‰é?ð?ð?^è? ?°Ž?À]ä?ð?@Aí?ð?ð?ð?@Þï?@ìí?À‘è?@Êî?@Âì? í?€Çï?Qí?‰ï?ð?î?åÅ?À³á?€óï?ÀÇï?|ë?ð?@>î?ÀÀï?ð?ð?ð?ð?ð?ð?À°í?€äï?ð?ð?ð?ð?ð?ð?€ýï?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?@µï?àï?ð?ð?ð?À2í?ÀÑë?ð?ð?ð?€Zî?ð?ð?ð?ð?ë?@…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ä? …?ðÍ?@Øï?ð?ð?ð?ð?ð?Ïï?ð?ð?ð?ð?ð?ð?í?àœ?Є?ÍÃ?ÀÜ?À&ë?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ôï?ð?€±ï?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?€Èî?@Àï?@Uï?ÀGï?€7æ?åé?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?€ä?@?p¢?€U?ÞÌ?À8á?š¼?{Ã?ê?ÀÉê?€0ë?€Àë?€¦ë?€Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?@é?˜â?ÀÜã?$ë?@Pç?€Áï?ð?€³ï?À\í?À…ê?Àí?À í?€yí?’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³ï?ð?ð?ûî?»ï?@Gî?ð?Üï?®æ?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ÀÛë?€3ë?€îê?€iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÇÞ? |?€r?@´å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?@Ãé?€—Ý?,½?]?ÃÃ?À"î?ð?ð?ð?€vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?€èï?ð?ð?ð?ï?@²ï?€í?ì?€9ê?@Þï?ÀÇï?€ºï?@œï?Éï?ð?ð?€sï?ð?5î?@µï?ð?À»ë?€lØ?@èé?€lî?À¼ï?ð?ð?ð?@éï?€µî?À›í?±î?ð?ð?ð?ð?ð?ð?áï?Àîì?À/ê?@“è?€9Ð?L?@bã?ð?™í?_è?@—ï?Àƒì?]ë?hë?Ÿï?@‚ï?žë?À–ë?ð?À(ë?€ÿÝ?€Rá?KÈ?:?Ì?€xå?@¶â?€Iì?î?€Úï?À«ï?ð?ð?ð?ð?ð?ð?ð?@ùï?À„í?€þï?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+ï?Àöé?ð?ð?ð?ð?ð?@>ï?À”ï?€>î?€Âï?ð?ð?ð?ð?ð?€(í?€·ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ï?€‘ç?åÑ?ø“?O? §?€Âì?ð?À!ï?Qî?ð?ð?ð?ð?ð?ð?ð?ð?óï?€à?€^?L?à~?“È?ÔÔ?Àôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?@á?ÀÆï?ð?ð?€ï?úï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?@ôï?ð?ð?ð?ð?ð?ð?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?€¿ä?`q?Ћ?P…?8¬?”±?€Ð?ø•?€_?@i?€êÑ?V±?¢Ã? u?ÕÓ?™è?1é?ÀÕë?€ì?@dì?€Ëê?Àøë?@|ì?€·î?€ýï?ð?Àóï?ÀÚï?@Ðï?€(ê?¼ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?À·ï?ð?ð?ð?ÀZå?À¯ï?ð?À¿ï?Bï?Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?óï?Óë?@Ìí?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ê?Àmí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµå?à•?`r?`‚?^Ü?ð?ð?ð?ð?@bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“î?€ëÖ?‘?ˆœ?Kë?ð?ð?Àèî?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?ð?ð?ð?Êï?Àî?Àï?@®ï?Àöí?@÷ì?@Ûë?@Kë?î?ÀIï?Àïï?ð?ð?ð?ð?ð?ð?@ î?ÀÒå?Ëï?’ï?Àôï?ð?ð?ð?ð?ð?ð?ÀÒî?Æî?ð?ð?€òî?@5á?ÀVá?Àšç?€—â?aÑ? œ?Xš?@Vî?@àï?€é?€éæ?@_í?@å?€åê?€¾é?Àéî?¦ì?Ìí?ºè?€Mè?€"ã?Ä»?Ñã?çæ?Àî?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíî?À7î?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"î?@Hï?ð?€zï?€òï?€ï?€Ýï?ð?ð?ð?ð?ð?ð?ð?Àªì?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?€Æí?µÑ?°µ?ÓÏ?€êÒ?O?€k?@Hê?ð?åî?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?=ï?Å?\¯?¸¸?€Ó?×í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@zï?@î?@Ãï?ð?;ë?È?¯å?Àèå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€­ì?òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{ì?€—ï?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œî?—ë?OÂ?†?šÊ?Ç?p›?˜?€n?ÜÉ?t¸?Àæ?ƒÔ?ø?¨®? Ž?ÀÚç?€¶è?îì?ð?Àì?Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|í?€rë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?@oï?ð?€!ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€ïë?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=î?Àyë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@#é? |?€ƒ?Ð…?€c?ð™?•?ëÊ?ð?ð?ð?ð?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?€ÄØ?M?€ûâ?ð?ð?ð?ð?ð?ð?ð?Äï?@Üë?À»ï?ð?ð?ð?€ýï?€üï?@ÿï?ð?ð?ð?@qî?ð?ð?ð?ð?€sï?ð?ð?@ýï?@´ï?€dî?@ýë?ð?ð?ð?ð?ð?@üï?@~í?@¬ë?Ùê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€bî?Àbï?ð?À±â?0Ž?@s? ?Ò½?@¾ï?@Éê?Cß?@°ê?À‚æ?@Öç?Àç?€*é?ï?€‡ï?@Ùë?€•ß?¯Ë?€‚?FÌ?@â?€üï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕî?@2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@xï?ÀÏï?€žï?ð?À­ï?@õï?ï?¶ï?€þï?Žï?ð?ð?ð?ð?ð?ð?€–ê?@ÿï?Àøï?€^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?€|ë?éé?’Ê?€W?@ç?@èá? ™?˜Ú?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@5ï?@èá?@´?€\?H¹?¾Ó?{â?@†í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?Ãì?ùÔ?Ƽ?ä§?§Ã?<Ý?€êÝ?À0é?@lï?ð?ð?ð?ð?ð?ð?Rì?@uâ?€åä?çë?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€=Ù?4«?¸?T ?ÀDâ?kê?Àéâ?ÞÝ?h·?€“?éÊ?€®Ð?€X?@¥?@½å?@'î?ð?åï?Žç?@.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿ê?¶í?Àµî?€éï?€ûï?ð?ð?ð?ð?@ÿî?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€á?€jê?Àpí?@ î?€jí?ð?ð?ð?@ùï?ÀZí?rí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Rï?@ÿë?€}ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?À‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?|°?=À?4µ?ô±?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µë?›?þÐ?ÀÞî?ÀÜï?ð?ð?ð?ð?ð?ùî?€õï?ð?ð?ð?ð?€¤ï?@}ï?@Æï?ð?ð?ð?@ìî?ð?ð?ð?ð?ð?€éï?ð?€ï?ð?ð?Óí?@&ï?Àãï?@Iï?€Ìï?ð?€¤í?µé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@ºë?¼í?÷Ð?WÐ?€Gí?@¿à?Àç?@—è?@å?vè?€hä?€:æ?ð?Àrï?€Ñ?,?ð‘?@sç?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéî?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íî?Àüì?ð?ð?ð?ð?À/ï?@·ï?ð?@Sï?À¢ï?ÿï?ð?ð?ð?ð?ð?€ªí?Àoí?ÀÄî?&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvã?ÝÉ?@¬è?ð?À=á?¶¿?ä?€þï?ð?ð?ð?ð?ð?ð?ð?©ì?ÅÞ?©Å?Ú²?€V?²?€}å?Àµï?€jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?¸à? ‡?È»?€±Ñ?€qÜ?‚è?ð?ð?ð?ð?ð?@Øï?@Äî?@Rë?@Mâ?À‡à?€/ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æ? ¢? ´?P?g?8’?€V?mÚ?@Ví? °?€U?X?ð‰?[é?À>ì?©?@’?@Êâ?Àïè?ð?ÀËî?À/è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èê?€(ê?€tè?Àòê?ð?ð?ð?ð?@,ì?€âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢í?€Mí?@óì?Àcì?ð?@Wï?ï?€oë?€æ?€å?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Aë?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äÓ?Àu?¬·?ð?H¿?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïä?”¯?Àñè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?@˜î?Óî?ÀÇï?ð?ð?ð?@3ï?@Iï?À6ï?€ûï?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{ï?ãï?@Äé?þä?0¡?p´?ÜÌ?€ÖÝ?€Ùà?@œä?è?\ä?€ê?Àå?ÀÚï?@wç?ð•?Àm?Àáà?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?€Õï?ð?€òï?‹ï?ð?ð?ð?ð?ð?ð?ð?ð?Àpí?ÀÐï?ð?ð?«ï?\î?€Ôï?ð?ð?€Þï?öï?ð?ð?ð?ð?€÷ï?@Žï?Àþï?ð?ð?•ï?Àiî?ð?ð?ð?€ˆï?@ªì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·ï?À–à?ˆ‘?À?€cÞ?@ ï?€Äï?€ƒí?@ãï?ð?ð?ð?ð?€ î?ð?ð?¾ê?¯Ä?À`?“?€FÒ?€pÖ?€á?ÀLâ?ç?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?€Ûë?@7ã?€cÓ?8”?…?¹Ë?ÀÐç?@ï?ð?ð?ð?€Nï?@Që?€úï?Àí?@¯í?€îå?À ç?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?€’ï?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?†°?Ĩ?_?¸¬?‚¼?@e? s?¨¶?Ó?@zã?Ø?`š?@¯?@“à?â?üÁ? r?¤®?€ˆÓ?€r?BÎ?€XÕ?Ài?iÐ?Ã?\¡?ÀŒë?‘î?ð?Àkë?À•é?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûì?@|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Gï?À ï?ÀWí?Åï?nï?Àï?€‘ï?ð?Àñí?€dã?€ìØ?@‡ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?¶ë?¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{ì??Å?€Y? €?€ûÕ?µ? r?@s?€]?.ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€)ê?Ð’?ÙÅ?€àî?ð?ð?ð?ÀÊî?ð?ð?ð?€pí?ìê?wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À,ï?iï?ð?ð?ð?€dï?ÀÖï?ð?ð?ð?@îï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€Iê?€‡Ó?ܱ?€ÒÕ?@Ùæ?¸›? r?àƒ?0³?8Õ?À~æ?ƒØ?¥Þ?ÀPé?£é?n²?ø‘?@œí?ð?ð?ð?ð?ð?½ï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?€úï?vï?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€Âî?€.ï?ð?ð?@Šï?@Àï?ð?€sï?ð?ð?ð?ð?Oï?Ïï?Àøï?Ààï?šï?ð?ð?ð?úï?ÀEï?@Äï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?€ûí?@úë?#Õ?l?@”?€‘ë?ð?ð?ð?À÷ï?ð?ð?ð?€ùé?€Åí?ð?€=â? ?0€?ŠÔ?Àé?Hï?€ëï?ð?ð?Àwï?æä?ÓÑ?¼¦?²?Àä?@Ìï?ð?ð?@÷ï?€Ïï?ð?ð?ð?ð?À¯î?³ï?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜï?@>æ?ÞÕ?½Ñ?ÀÃä?d¾?‘?vÙ?€hí?@{î?ÀØ?€«Þ?´ß?åÏ?n¼?™Å?€Ö?€ÙÛ?Ò?€å?@¥î?Àï?ð?€Çï?€Îì?í?Àmî?öï?ð?ÀSê?ã?¸Ö?@ëà?áÈ??øš?€r?¨“?Pš?vÀ?Àpï?ð?ð?íï?@Vê?@íí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï? ë?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µï?À‘ë?Kè?Àjí?@Ÿï?@ë?ë?Àñî?ð?äï?@èí?@Öå?€­ã?€3Ú?ÌÝ?(å?€²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?À;è?À²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€Tê?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÓÝ?À‡?‘Ö?6Ü?wÕ?`‘?c?Àž?ì¤?è£?ÀTí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…ï?kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^í?ü©?Àz?Ÿä?¦ï?ð?ð?ð?ð?ð?ð?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?Àöì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@mï?ð?ð?ð?ð?ð?ð?ð?À4ë?´°?l°?{Â?h?x?ø‘?u?óÇ?ª?À8ë?ð?ð?ð?ð?ð?ÀÀê?Àfë?Àfï?ð?ð?ð?ð?ð?ð?ð?áï?Àƒé?€zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?@¬ï?@cï?ð?ð?ð?ð?ð?ð?ð?@Wï?ð?ÀÇï?ð?ð?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ºî?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?Þé?T¥?0ˆ?€öç?ð?ð?ð?Ðï?ð?ð?ð?ð?ð?ð?ÀÖë?H¬? ‰?„¿?yØ?€ ß?€ð×?jÌ?`?VÚ?³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@¼ë?Lë?À×î?€Íì?ð?@:í?@íæ?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@î? í?ºÇ?Q?J²?ˆ—?ñá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òé?@Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcè?@@â?€¶é?ÀOí?@‹è?€5é?ÀÝê?þï?ð?ð?ð?€zã?ÀTî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mí?›í?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?pê?­ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìä?Ì?pœ?D³?Hº?µË?H ?Àe?I?@k?P…?d?E?Às?@ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ì?†ß?îÁ?€m?ÏÒ?@Pì?@õí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§î?@Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?iï?ð?ð?ð?µî?ð?ð?ð?ð?ð?ð?ð?€6ß?l?@bå?ð?ð?ð?ð?ð?@Uï?ÀÉà?@öí?ð?ð?ð?ð?ð?ð?ð?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?ÀŸï?Àïï?ð?À«ï?ð?ð?ð?ð?ð?ÀÍï?ð?Ïï?€Àï?ð?ð?ð?ð?ð?ð?ð?Àï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?€+ã?ø’?Àp?@ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸ï?€Ó?Ñ?€Ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbì?ÎÛ?UÀ?€¿Û?ð?ð?ð?ð?ð?ð?Àùï?Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&í?À«á?dÈ?@h?€mØ?€Õè?°©?CÉ?Çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Qï?Àê?@°ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“î?ð?ð?ð?@dê?À½è?ÀHê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?Àÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vï?ÀJí?€äì?€eì?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇé?д?€9ê?6Ò?2?P•?lÉ?Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?€‘î??Ù?0©??8’?àá?@Xï?ð?ð?ð?ð?ð?ð?`ï?ð?ð?ð?ð?ð?ð?ð?ð?@Zï?@½î?@"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀEï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yì?žº?ÀÑâ?ð?ð?ð?ð?ð?ð?@ùì?;ì?ð?ð?ð?ð?ð?ð?ð?Àgï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ð?ð?ð?À«ï?ð?ð?ð?ÀÇï?ð?úï?Àáï?ð?Àzï?€Íï?ð?ÀÊî?ð?Àáï?€ÿï?4ï?ñí?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?&ï?Àã?OÆ?˜˜?Àq?@qä?ð?ð?ð?ð?ð?ð?ð?ð?ð?€#æ?–?0?zÊ?À:í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?˜Þ?€Ôä?À¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?€³Ù?€ÒÖ?¶?&Â? ?˜»?î?=À?Èœ?W?ø–?E?¡?Àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?Ïê?@€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥í?é?Àìë?@,ì?Àcï?ð?ð?ùî?@cì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀEï?eê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©ï?€*î?ð?€(î?@½ë?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?€jÐ?@ìé?À~ä?Ø”?€?”?žÒ?Àsá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰í?€cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?Ààè?ÚÛ?Ƹ?À?äÉ?@Uï?ð?ð?ð?ð?ð?ð?€2ï?ð?ð?ð?ð?ð?ýï?ÀÅí?€Fà?€žÞ?@Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?Àûï?ð?ð?ð?ð?ÀÛï?ð?ð?ð?ð?ð?ð?ð?À.ã?€ä?@­ï?ð?ð?ð?ð?ð?Ëï?€ì?ð?ð?ð?ð?ð?ð?ð?€kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?Îï?ð?ð?ð?ð?ÀÇï?À­ï?€-ï?Àêï?ÀÇï?À<ï?À¾í?@âí?À6ï?¼í?Àëë?@Dî?À©ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™ï?€iæ? †? Ã?@Ïî?@ƒï?¶ï?ð?ð?ð?ð?ð?ð?€‘à?@?ˆÉ?¥?ŸÈ?€rê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒî?€Kä?€á?tÝ?Àã?¸Ó?M?•à?6²?€2Þ?œÍ?Àÿå?è«?çÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eï?€Èç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?€)ï?@Þå?€aç?€èâ?À0ì?ð?ð?@¬ë?€Xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@&ï?€Úê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uî?€ï?ð?ð?ð?€&ì?Àƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?€5×?€é?€£ë?,¬?ø±??d?‘? ‰?0®?ˆë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï? ï?€Êê?æã?€æÔ?®À?(“?l¸?@Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@~í?ôè?ÀÞè?À)í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?Àüï?ð?ð?ð?ð?ìï?ð?ð?ð?ÀÊî?Àfï?€™ï?ð?dÙ?;Õ?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓî?@ºì?ð?ð?ð?ð?ð?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çî?ð?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€Wï?ð?€àî?@äï?ð?ð?@­ï?Dá?@ûï?Àí?€ì?Àÿï?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇå??`|?À¬ê?€Uî?Àƒì?ð?ð?ð?ð?ð?ð?1ï?Ä?Àk?ˆ“?’´?ïÉ?ºÃ?À-í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@òï?ûï?ð?ð?ð?ð?ð?ð?Àtí?@Cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬ï?@î?ï?€ÿê?¤®??@e?ø’?€Gä?€¥í?¶É?€=Õ?x’??QË?@Ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAî?@Së?@)î?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ÀNï?Àæî?ÀŒç?ð?ð?ð?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£ï?Àé?€rí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-ï?ð?ð?ð?ð?@ïï?@~ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹â?òÌ?‡Ú?zÏ?Š?B?Aß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?Àí?€Û? ž?ƒØ?€Gï?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"î?€\ï?ð?@"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@„ï?Öï?ð?Ü?%Õ?ð?ð?ð?ð?ð?ð?ð?ð?ÀKé?ÀNê?ð?ð?ð?ð?@õï?Àï?@÷ï?`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?@ûï?ð?ð?ð?ð?ÀÈï?Öï?€±ï?@Éï?ð?ð?ð?@;ï?ð?ð?€‘ï?ð?ð?ð?ð?ð?ð?Àqí?@Aã?ð?ð?À–ê?@uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?€7ì?°­?"è?€Ôï?ð?Çï?@Ëï?ð?ð?Ìî?À…î?ð?@ã?PÜ?@fæ? „?kÊ?p¥?ŠÇ?¥í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ì?À€ï?íê?@×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚî?À ã?p?@d?(? ?€€?@/á?ÀZæ?Ë?€ë?ƒß??#Ã?€ñì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\í?À`í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßî?@&ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?À~é?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûî?À ï?ð?ð?ð?ð?ð?€†ê?€›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|î?@aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï?ð?€[î?ÙÓ?€oÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úì?€xå?€\Û?bÛ?.´?ø‘?@.å?@kï?ð?ð?ð?ð?ð?ð?€íï?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€¢ï?ð?ð?ð?ð?ð?ð?ð?ð?Õï?ð?ð?ð?ð?ð?ð?@ä?€~Ñ?À é?üï?ð?ð?ð?ð?ð?€þî? å?@íï?ð?ð?ð?ð?ð?@Šï?@~ï?€ï?€sï?ð?@%ï?úï?ð?ð?Àïï?€‘è?ð?ð?åï?€Àï?ð?ð?ð?ð?ð?@¾ï?Àßí?@ªï?ÀÇï?ð?ð?ð?ð?ð?Õï?ð?ð?ð?ð?ð?ð?€èï?ñë?ð?ð?Àì?À6î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?€1Ù?Àòá?€³â?€ñï?ÀÆå?ÀMá?–ë?€âï?@ î?@°ï?ð?@˜ì?\·?ƺ?€ ã?wÅ?»?‘?uÍ?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@;æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?€ãÛ?„µ?®Þ?€Fß?ˆª?¾Æ?|®?ÌÒ?€#Ú?°’?À‘?€P?ê½?€Þ?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?@®ë?Àªì?@ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜî?Òï?ð?ð?Àfï?@xé?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óê?ÀDí?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?ÀPí?ð?ð?ð?ð?ð?ð?@~î?ê?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?€â?ïÎ?Àž?)Â?õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?è?Ô? §?c?(?"¶?À´è?ð?ð?ð?ð?ð?ð?@úï?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ýï?ð?ð?ð?ïï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?Æï?@Êï?À©ï?@½ï?€Êê?è§?\¥?À#ã?@Uï?ð?ð?ð?ð?ð?€pï?ìÞ?øï?ð?ð?ð?ð?ð?@æï?òï?ð?@øï?ð?ð?ð?ð?ð?æï?@Ðî?ð?@¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?À«ï?€sì?€Dï?€sï?ð?ð?ð?ð?ð?ð?áë?Bî?ð?ð?ð?À«ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?@jê? ‚?x™?ŸÒ?@éî?£ä?G?Dª?Ãå?À«ï?ð?ð?@aî?FÓ? ’?€Nà?`‚?p­?˜Ä?É?Àí?ð?ð?ð?ð?ð?ð?æë?må?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íê?´?€LÔ?€iï?€&Û?$?@x?€žÐ?€qÑ?À±ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMï?€ªì?À,ë?€vï?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãé?@Aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?kê?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?@Pî?ð?ð?ð?ð?ð?ð?ð?tì?À£í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤é?8¹?ð“?ÀÞé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?€Aè?ÛÏ?o?€¼Ö?€Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ï?À‘î?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úî?€uï?€¡í?ì?ÀÎì?@Ìï?cÌ?áÜ?õï?ð?ð?ð?ð?ð?@{ï? Ç?@ì?ð?ð?ð?ð?€›ï?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?@ºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éì?X’?€\à?ÀTì?¨?R?”Ö?€Üè?€Aì?@Ûï?€oî?ò¶?€u?ÔÆ?@/ë?ð?ð?ð?ð?ð?@¢ï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ò?€f?€pá?€±ì?©?Í?À1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€½ì?€ëë?*í?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?@Îé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5è?@Hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãî?@!î?ð?ð?ð?ð?ð?ð?ð?ÀÆï?–è?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€)å?¨’?˜•?@åé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê?ž? ƒ?€‘ì?ð?ð?ð?ð?ð?@õï?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?À°ï?ÿï?ð?ð?€Ðî?ÀÊï?/Ê? |?×Â?ÀPï?ð?ð?ð?ð?ð?ð?€rç?@¬í?ð?ð?ð?ð?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ é?@ýï?ð?ï?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ºÍ?À¹?€óÔ?€?NÕ?€Õì?Â?OÁ?À,ç?@&ï?€0Õ?k? ?àˆ? ‚?€c?€Š?ȵ?Àµæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂë?íà?T·?1Ñ?ø¥?€y?€s×?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6î?€'ë?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?€Uè?€×é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?)é?@·é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?@³í?ð?ð?ð?ð?ð?ð?ð?ð?@•î?Zì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?€EÚ?€xß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€½Ð?ê?€þÔ?†Ø?@„á?€vØ?Àâä?Àbå?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Fï? ê?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?ÀSê?€Ôé?À8í?üï?ð?ð?€ÿï?@oï?¾í?Pì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨é?†ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×í?€Vï?ð?ð?ð?ð?ð?ð?ð?À%ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Tï?€ï?ð?ð?ð?ð?ð?ð?ð?€±î?€Iá?¬²?ˆ›?x·?´î?ð?ð?€»ï?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ì?Ì?E?p«?@Ôì?ð?@ï?@ï?ð?ð?€Æï?ð?ð?ð?ð?ð?@yï?@bí?µï?ÀÚï?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@mì?ì«?’?€—?@»å?€ ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšî?ðé?Yï?À¼î?ð?À½î?í?ð?ð?ð?@¦î?€¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€tÚ? ˆ?ÚÑ?Ë?¡?Àc?€%Ö?°‘?@¾ã?î?ð?@€ï?GÝ?|ª?T²?Û?Šì?âî?ð?€¾Ü?FÕ?´ë?ð?@¶á?c?@Êå?ÀÆï?¯ë?À<å?ìÇ?C?À½è?Fî?ä¼?è¦?€Õ?zç?À?ï?ð?ð?ð?@ôì?@Êï?ð?ð?€ãï?@ãï?ð?@Åï?€´ï?ð?ð?åï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?È‘?€¾ç?À0à?_Ì?ôÞ?á?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? î?Àùí?@¹ë?@Óï?ð?ð?ð?ð?ð?ð?@Ïê?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ví?@æ?À@î?ð?ð?ð?ð?ð?€¦ï?À¹ç?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?€ƒë?À¾ì?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*î?€Äï?ð?ð?ð?ð?ð?ð?€6å?5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óã?ð›?h“?zÇ?€è?ð?ð?@ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆï?Eé?Ä? ä?Àóï?ð?ð?ð?ð?€Sé?ºë?ð?ð?ð?ð?ð?ð?€·ï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?À4å?T´?X ?pŒ?(“?XÛ?Àuã?7ï?ð?@êï?ð?ð?ð?ð?ð?ð?@Šï?ÀŽï?ð?ð?ð?ð?Rî?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@4ç?À­ë?pï?Àî?€Êí?€ûï?ð?ð?ð?ð?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?˜É?,¦?€.Ð? ª?Àz?ˆ”?æÎ?@”å?€Rî?@Æé?´?^°?@Aê?ð?@–á?`º?rî?¥ê?@Ûä?kî?Àqï?MÜ?@Zà?€eÕ?žË?À:î?@í?l´?ðš?$?Àp?ñÈ?@Œã?@ýî?ð?ð?ð?ð?€kï?@é?ð?ð?€î?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡î?€ñØ? ?÷Ã?ž»?Àa?Àˆà?ÀØê?ð?ð?ð?ð?ð?ð?ð?€ë?€6ë?À=é?@„é?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?ñê?Úï?ð?ð?ð?ð?ð?ð?äí?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?è?€xé?@%è?Àï?ð?ð?ð?ð?ð?ð?,î?@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?Ôî?ë?ÀNì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?Âí?ð?ð?ð?ð?ð?ð?€5ê?×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—ï?ÀVè?¨Å?K?€]?€‘ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2î?À÷ã?€åÚ?aÈ?°”?€°Ý?üï?ð?ð?ð?ð?€¶è?Àï?úï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)ê?θ?–?@?6Í?$®?ˆ³?,§?€ì?ð?Üï?ð?ð?ð?ð?ð?ð?äï?@ãï?ð?ð?€óî?@6ï?€/ê?“ì?pï?­î?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xí?@kç?Àâì?À¢ì?€Dî?€°î?@åï?€óï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?Ö?R?Ã?`®?H—?(•?ö±?€¶?0º?è¡?D??€®Ð?(¸?ºÁ?€Fá?€mì?Â? s?Ü?À"í?@ôï?Àøï?€;î?\Ç?D?H¹?@Rà?ýÍ?W?0„?tâ?â°?@m?€.Ó?ÀÚç?@ì?€ïî?@pï?ñï?1ï?ð?ð?€sï?èï?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØî?€„Ø?€]?–¾?À8î?ð?ð?ð?@œí?Öî?€Îí?À@î?À?é?+ï?€ï?@²é?@Ÿî?ˆë?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ÀFë?ÀGì?@åï?üï?ûï?ð?ð?ð?ð?ð?€nî?Àë?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ì?Uí?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ð?ð?ð?ð?ð?ð?À\î?Àºë?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§á?@‚ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?€Êí?€eé?ââ?@Dá?!à?'â?•ß?tÚ?•À?°Ô?@õï?ð?ð?ð?ð?ð?ð?À¿ï?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ÀCí?ÆØ?L·?ÀMì?"Å?‹?`‡?ðÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áì?€˜Ù?š»?Þ¶?@|?Є?¤Á?€Yß?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æ?åï?ð?€oï?€Ïî?@×î?À«î?pï?@®ï?@Úï?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?3×?L ?€¶â?@’í?€¹ì?ë?@Õì?€ÇÛ?€QÓ?[?LÉ?Àãï?À2é?`‡?°?Àä?Àhä?R?L¥?Àœâ?Àõî?Àií?ÀSí?ÆÉ? œ?°?€|ä?€nÐ?(?€d?pž?,Â?@'á?€ïí?ð?ð?ð?ð?¸ï?ð?ð?@Oê?€òè?@­å?@.é?Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öî?ZÎ?F?J²?ÛÙ?€WØ?Àæå?À¸í?@ ä?@°ç?€Ìè?€óè?À9ê?ÀIì?“ê?ÀÙï?ð?ð?@¸ï?€!ë?€®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]í?€•ê?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛí?@kí?ÀÎë?ÀÚë?À~ç?ÀSë?ð?ð?ð?ð?ð?ð?@ôï?€/î?€Lì?€.ë?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@í?jì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ì?ð?ð?ð?ð?ð?ð?€Åï?€ë?À é?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€_é?Àv?(?ˆ‘?@#î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Iã?D´?@i?É?À†ï?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?÷ï?€Ïï?ð?ð?ÀËï?€úï?€Æï?ð?€´ï?@Äï?@˜ï?åï?ð?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?€ï?€“æ?F?rÒ?À%ì?dÁ?äÃ?Àõì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“Õ?@`?Àˆç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@Mî?.é?@©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãç?>ì?ð?ð?ð?ð?ð?ð?@þï?@Lï?€çî?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åá?Žâ?@¹ï?ð?ð?Àïï?@^ï?_Ø?P?°«?€µå?€à?@g?âÐ?€Òê?ð”?¨¿?@‹é?@Úï?ð?@]æ?–Ö?”Ë?L­? ‹?Zà?à?ʸ?Þ?Íê?ÀKè?@í?Àï?¯ï?Kî?@ªê?r¸?VÉ?€¶Ý?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ÞÂ?»?^è?ð‹?iÚ?h«? }?Àì?€‘ê?˜Ý?lâ?œí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?À–ì?@Ùë?Àðì?9î?Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?Àñï?Àûé?€Ûë?ºí?Óî?Àkí?À.ï?ð?ð?®î?tï?@ôí?Àâì?{é?@Zë?ÀXí?Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@`ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ë?,Ê?€ôØ?Šî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãî?€°ë?ð?ð?ð?ð?ð?ð?ð?@Tî?Àjì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€ï?€é?€wÙ?D?@ûâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?@qæ? –?x?À`ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?¯ï?À©ï?ð?ð?ð? î?@¨ï?Ëí?€«ï?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËì?âß?€g?€KØ?jî?(»?P‘?ÙÃ?ÀŠ?€‹â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?h¬?©?€¡ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'ì?°?±?@5å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvï?@ðá?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?€ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èç?[?@„?*×?ÀÃï?ð?ð?ð?ä?æÙ?b?`€?ø–?•?ëÄ?Y?ú¹?Ï?6?@aæ?ð?ð?€Íá?€¸Ô?6¶?×Ä?]?D?ð‘?d¯?¿?£Í?Õ?€{Ô? À?€–?€\?*Ç?Dë?@Æï?ð?ð?ð?ð?ð?ð?ð?@Gî?€(ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?KÉ?¸´?€ÆÚ?(?ÀÑà?€êæ?Ùæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?€†ï?ÀŠï?ÀŸâ?ÐÑ?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?@þï?ð?ð?ð?ð?À÷í?€[ê?À°í?ÿï?ð?ð?ð?ð?€µï?Âë?À}í?Àüë?@úí?—î?€Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0â?€VÒ?€wØ?@Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ð?ð?€ë?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?Ànï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?€2î?ð?ð?ð?ð?ð?ð?ÀŒï?Àžë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?€7Õ?”¢?.²?€îì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0å?üÑ? ¤?Àˆå?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?Ûï?€áï?€¦ï?À‹ï?À©ï?ð?€¦î?ð?|ï?€ˆï?@Üï?ð?ð?€6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ï?ÜÎ?ĸ?õÞ?€€Ô?P“?b?Ô³?€ëÖ?^ï?ð?ð?ð?ð?ð?€Ìî?€ñï?ð?@"í?´?:?ا?­ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?€LÔ?&Ä?€çê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?@Fè?ð?ð?ð?ð?ð?ð?ð?ð?ð?€hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@ï?À¥î?€›Ò?Њ?@ è?ð?ð?ð?ð?€±Ú?—?ð„?̰?в?Àñà?غ?%Î?%à?ÀÆî?ÀRí?€Ué?€>å?WÖ?Ø‘?€—á?EÊ?€ûÝ?rï?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[Û?Ÿ?°?¸š?·?€ Þ?ð?ð?ð?ð?ð?€¸ì?€>ê?ÀÝì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%ç?Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?€në?Öë?ð?ð?ð?ð?ð?ð?@9ì?€Yì?À«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€bë?€¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è?@:ë?Àöî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? Ý?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?€§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ë?Íï?ð?ð?ð?ð?ð?ð?Àþï?€.é?€.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ÿç?šÆ?~Ó? x?@?€ÖÛ?ð?ð?ð?ð?ð?ð?Àúï?ˆì?€ï?³î?€4æ?ä¦?V×?@ñí?@Îî?@pï?ð?ð?ð?ð?¼ï?€Ñï?@‰í?Fç?Âï?ð?Úï?@¹ï?ð?ð?ð?ð?À¯ï?Àï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çî?ø¾?íË?@Gæ?€­Ò?€…?V?‹Ã?€Âî?ð?ð?ð?ð?ð?€„ë?€Èï?ð?Òã?N?Z·?Ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ï?Üï?€ ì?€ÅÒ?Ѓ?€_Ø?ê?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?€¬ë?€àê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€tÞ?€Ðã?ð?ð?ð?ð?€úÕ?°•?@Š? ³?ðŽ?€‡Ó?ʰ?€d?8Å?Ø?À!à?@Þé?ÙÐ?0˜?€/á?@õé?@Qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@Úè?@;à?Àe?P˜?À+ã?ð?ð?ð?ð?@Öì?,ë?À±î?€óï? ë?@Òë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®ï?„ç?Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?€¡é?@Êì?Àïï?ð?ð?ð?ð?ð?ð?@ì?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ÀÊê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ÀQê?@îé?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?@ßî?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íì?åï?ð?ð?ð?ð?ð?ð?ð?Àåï?€3ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?Úî?£Ç?P?€|Ò?€8Ü?‡ã?@Êì?Àüï?@˜î?@'î?_á?Àn?"¶?SÈ?,·?R?Ä?€Ö? µ?˜?¾µ?þÅ?°‹?îµ?€Iî?ð?Àÿï?ï?ð?ð?ð?Àÿï?Àÿï?@èï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?ð?Àêï?ð?Àï?Àyí?D³?¬?€ží?á?8™?¨­? ? §?@Tè?ð?ð?ð?ð?ð?ð?ð?ð?ÓÒ?k?zÑ?€ í?@)ë?@Ií?€ªï?Ìî?cè?€ïè?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ÀŒï?ð?@üï?Àë?/Æ?€-Ó?ÀGç?Àüî?€Ãï?ð?ð?ð?ð?ð?ð?ð?*í?@+é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?ƒß?ŽÀ?€hÐ?€@î?ð?ð?ð?ÀÐá?œ?0??4°?´?€€?ÀIç?@ºï?\É?À–?à?¬©??áÏ?À}î?üï?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?À²ç?è¨?U?@a?Ô¥?@Öä?€Dí?Aï?ð?@Üï?€Îé?@\ï?€õï?Àwî?ë?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žê?€+î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?¦î?À|ë?@*î?ð?ð?ð?ð?ð?ð?ïï?@8ë?À›ì?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?@bé?@ðè?/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+î?€aì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?Àºï?ð?ð?ð?ð?€Æï?ð?ð?ð?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pî?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zí?Äï?ð?ð?ð?ð?ð?ð?ð?ð?Tê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ç?È™?Pƒ?hº?ÙÔ?¨¼?Þ·??@à?¸í?Üï?ð?ð?ð?ð?@Gî?€¬ì?€†ï?€áï?åï?ð?…ï?ð?ð?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?*ï?€ºÙ?8?@Âç?b¿?ÖÈ?(¨?8”?8?˜•?R?†?GÒ?€CÐ?@qá?€Ñï?À¹ï?Àîï?ð?ð?ð?ð?tç?( ?¢¶?,ß?¨£?È ?@“è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?@ƒë?Êï?Ùî?@ï?;ë?;é?À-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?@&ï?ð?ð?ð?ð?Àšì?ÄÂ? •?€pÖ?@öâ?À å?ø²?PÁ?†?€t?(¶?U?€JÛ?×Ç?¬·?€?ê?€Ãï?€hÐ?¤µ?“?ìª?Ê?£ë?ð?ð?ð?ð?€Ðä?€g?ȯ?€Âê?ð?ð?ð?gï?€MÝ?àŸ?€2Õ?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@që?B¼?@s?7é?ð?Àúï?@¬ï?ð?ð?ï?À à?S?d¬?@Iì?ð?ÀÂê?P?€Q?F²?†Æ?Àl?P ?¼»?Àl?K?Àc?£Ù?Ⱥ?€ß?€xï?ìï?!î?ð?@ÿï?À3î?Àì?Àúî?€:ê?ð?ð?ð?ð?€¥ï?©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uî?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?Xì?ð?€6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@Mê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*ï?€Ñì?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùê?D´?2¾?Àn?@Fá?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?jì?ÀÊ?œ¦?Àsç?€ûî?€´ê?€¥ß?€|Ò?¤£?À?@sâ?€Ùï?ð?ð?ð?ð?@ˆî?@mï?@xï?ð?ð?ÀËï?€úï?ð?ð?ð?ð?#í?@¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?€Æï?ð?kí?ι?€½Ñ?@Çê?4Ï?Œ©?Ô²?`“?ü¥?0˜? q?À|?2¶?àÇ?€·Ü?Ãê?Sî?ð?Ôï?ð?ð?ð?ð?€£Ò?À|?€‹?PÛ?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uì?À4ï?Eë?€Ïê?€vë?À´ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥í?‹ï?ð?ð?€ ä?3É?`ª?@òå?θ?¤Â?‹?{Æ?˜?O?€0â?¸Õ?¶´?€g?±?À|?&º?€UÞ?@Õà?¹?"±?{?;Ê?âì?ð?ð?ð?Ü?Í?À?î?ð?ð?€™ì?sÝ?4Ê?@ ã?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ á?~¿?p°?@Là?@Ûï?ð?ð?ð?ð?€¼ï?×?S?Ð?ð?ð?€î?Òº?€a? ‰?ˆ“?I?ðš?˜³?ì©?ÀÃ?£Ç?€Û?€^à?@sâ?-ï?€Hç?¶Ê?èÛ?dã?äá?ÀWï?ð?ð?ð?@ßé?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?À™î?€7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üë?Ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸í?¤å?ÀCï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?Àaí?€œê?zÃ?@£î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Fè?€SÐ?°?€óÖ?ð?ð?ð?ð?@½î?ê±?¨—?@ªä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?@ˆé?O?èÇ?€ë?h¾?Y?@ƒ?ü¬?0‚??Ä? r?tÌ?À׿?BØ?€Và?€ç?ð?ð?ð?ð?ð?Éë?J¶?h¾?Š?P‹?€Ñä?€Ìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î?£ê?‡ë?=ï?€Ðï?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ší?¾¶?€]?€qÛ?Z»?Ž?@‡?’Ò?@™ã?€˜ì?€ÞÛ?Àh?A?yÁ?ʼ?=Ê??¼¸?˜Ë?gã?ð?ð?@jä?€£Ö?Œî?ð?ð?rå?–Á?à{?ÅØ?ÀPï?ð?ð?ð?ð?ð?ð?ð?ð?Ýî?}Ú?°…?€HÒ?¸ã?øì?ð?ð?ð?ð?À¬í?€½ç?rÝ? •?—?@žê?ð?€ï?€[Ò?€V?P§?@a?€’?¶°?j? ‹?(˜?¿?oÎ?ÄÅ??€{æ?@Éé?€Jä?/ì?Iç?-ì?ð?ð?@(ì?€Mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€`ï?ní?€mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Àáì?@të?€Kî?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?fë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ë?@¥æ?Àªî?ï?ð?€áï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éî?€Ãæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚î?ÀÝæ?¢Î?€¯Ó?Ö?–Î?G?@‹?øÇ?€‡ä?‚ï?ð?ð?ð?ð?€Èá? ?d¸?À¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?€Øï?€Ùï?ð?ð?ð?ð?@ ï?€{ã?м?p¨?3á?Œª?“?2½?Ó?1Ý?Á?€”×?wî?À;î?ð?ð?ð?·ï?ZÓ?‹Æ?X¤?€=Ð?€ñì?€ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?«æ?@˜æ?ñë?Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âê?€~Ù?U?0‡?€U?@m?§Ó?ð?@tï?ŸÙ?þÀ?€ƒÝ?¸¦?ˆ«?Z°?…?ˆÁ?Àqí?sÔ?¡Â?ÂÕ?À\ë?ð?ð?À)ä??GÎ?@ùé?ð?@]í?>¹?€Ö×? ?€^?2Þ?À«ï?ð?ð?ð?ð?ð?ð?ð?Àšî?€@Õ?N²?€Aã?@ùï?ð?ð?ð?ð?Àë?@Ë?l?G?‡?8Ó?ëÄ?@›?çÔ?À‰?@c? ¡?X•?Ž?õÄ??@ž?òµ?¼­?ÉÍ?„Ç?Ü?Bà?Àwî?ÀSì?ÀEë?@Úì?pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dï?Éé?½ï?ð?Àï?Àžä?ÀVï?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwí?@zê?€bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTï?Àá?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíë?@9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?À°ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?‰í?àè?À7í?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?2â?@rì?ð?ð?î?*Ù?„?þ±?™Ü?âÜ?ÀVæ?Àõé?¦ï?ð?ð?ð?ð?ð?€Nï?"²?@f?fÝ?uï?ð?ð?ð?ð?€2ï?Àâî?ð?ð?€Ãî?ð?ð?îï?€Øï?@¶ï?ð?ð?€Æï?ð?ð?ð?ð?Ûï?@8ï?@nï?ð?ð?ð?Àê?Ü¢?x¢? {?mÕ?@q?x’?¿?¹?`?P…?€ŸÖ?€½ï?€¡ï?ð?ð?ð?À•ê?~?4¯?Ôß?Àµî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ãì?7ê?ë?+ì?@mî?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?å?@d?ø¢?ðœ?¶Ñ?€g? ?ÀŒ?€g?F?À|?4ß?ð?ð?@èï?@þí?²ï?@ ä?€`ë?ØÌ?@?€âÞ?€‡â?~Ê?h“?Oà?Àí?ð?ð?Jî?Ä?`·?@±ç?ð?€'Ü?¿Ô?€÷Û?À?oá?ð?ð?ð?ð?ð?ð?ð? ß?J?bÇ?€âë?ð?ð?ð?ð?ð?ð?À¿ç?€Z?)Æ?€ýå?˜Ý?@ä?@ðä?{é?Àíê?Àê?€ŽÝ?€Ù?îµ? ?à?±Æ?¢Æ?€÷Ð?FÆ?¥?¯?Ò?€`ê?Àîï?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À:í?€ì?@ ë?€Aï?ð?ð?«é?Bä?aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À%ï?À)ê?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+ê?€ç?€’ß?Sì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtë?€©í?@©ï?ð?ÀNï?€áë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?€Vé?@í?€‚ï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéî?€÷ï?ð?ð?ð?ð?@øï?ð?ð?ð?ð?Éï?zä?6?6?Þ¾?Ô?`Ú?îË?˜“? »?žÒ?À¯à?‹ê?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöè?À{?h˜?@îé?ð?ð?ð?ð?@vï?Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsï?€üï?ð?ð?ð?ð?ð?€*î?@°í?°ë?]Å?H’?»?(?œ?¨®?Z? z?×?÷ï?ð?ð?ð?ð?€Ý?¨º?€hß?€wï?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?ÀÝï?@¹ë?€ì?@^ê?@Vè?ÀÀï?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îí?Þ?rÓ?êÉ?€Ý?T ?À}?@g?ÀŒ?`q?À‘ã?ð?ð?ð?ð?ð?ð?ÀÉë?Þ´?K?¶?™?îµ?Ç?@;î?¦à?@dã?@Žï?À™ä?#ë?ð?@ñï?€Mâ?Y?@`?(§?„ã?@oì?zÆ?à“?„±?€úé?ð?ð?ð?ð?ð?ð?ر?^´?aâ?@ã?Ì?ÓÂ?4Â?tÄ?€Ú?åí?ð?ð?ð?ð?ð?ð?ð?@Ïê?^¸?`|?X•?€mÑ?€3ã?€íì?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ë?§Û?0¢?0„?,´?ÑÛ?Þ°?ô ?ÜÌ?V³?¤²?´»?`ž?>Â?€ë?ð?À÷ï?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ê?@³ï?€ýï?ð?ð?ÀÑì?À¤ç?™è?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê?@zê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?Hî?À:ê?@£ê?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ì?Àðë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤î?Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5í?@¼í?€ï?ð?@zï?dë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿí?@ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?Àßï?Pì?@Fì?@ ë?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*è?·í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?`É?ˆ¦?€ÞÔ?€ÓÚ?l©?°?b±?¸¶?€uß?Àî?ð?ð?ð?+ì?€‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]ë?&¿?€k?EÝ?Àçï?ð?ð?ð?Àï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?€ÒÒ?€v?´£?O?€òÞ?ð?ð?ð?ð?§î?GÇ?2Ø?ð?€êï?ñå?€Àî?€Ëï?ð?€Ìï?ð?ð?ð?ð?€6ï?Àáï?@’ì?€¦ê?’í?ð?ð?—ï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ð?ð?ð?ð?ð?Èï?€¥â?QÔ?°…?«Ø?€ªß?È¢?œª?€|ä?ð?ð?ð?ð?ð?ð?€¦ã?x«?P€?€¦Ó?(­?ØÚ?˜ž?qì?ð?ð?ð?€6Ý?ïÎ?ÀÏê?@Òì?€]Þ?Ü¿?Xž?Êæ?@›ï?€Øã? Ó?ü¥?µ?t¤?2Ü?ð?ð?ð?ð?ð?ð?Ì?@‘?Õ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþê?€á?(?@²?@à?é?€êë?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aç?.º?P£?ÀÁ?4¡?€¶Û?[Í?ð’?ØÔ?çÓ?IÎ?b»? p?H’?À^â?¶è?€Uæ?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?@ðê?ÀÆï?ð?ð?À¹ï?ÀÔî?ð?€0ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?@ýî?@è?‹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kï?@ë?–ì?À¶î?À†î?€(í?]í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?Àbî?@òï?ð?Àê?ÀÞî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûê?íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?ð?ð?ð?ð?À›í?Àtï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£è?H?âË?ÀJë?òï?€ùï?@¦ì?>í?lí?@%î?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yÃ?n?ZÀ?€*ï?ð?ð?ð?ð?ð?ð?€¿ï?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?÷Ô? ›?ÀŒ?î³?íÀ?"ä?Àùï?ð?ð?ð?€Ší?\£?€·Ò?ð?Àî?ú´?ò×?Àdï?ð?ð?ð?ð?ð?ð?€>ï?ï?€î?@×ê?Àžï?ð?ð?@ï?yï?ð?ð?ð?ð?ð?@›ï?ÀÄï?ð?ð?ð?ð?µï?ð?ð?ð?ð?À·î? Ü?Ј?î·?ÀÒä?€³à?¤µ?@`?€U?€[?€x?€h?@å?ð?ð?ð?ð?@ÿë?€ÙÚ?(¨?ÄÃ?È ?€h?ãÎ?`Ú?øž?@Tì?€Âê?¥ï?ð?@ã?ˆ?¸”?Ø®?À—?–Å?@{?T»?€ì?ð?Àôï?€ì?îç?@á?€è?ð?ð?ð?ð?ð?ð?Àwã?€u?gÖ?@Jæ?@ß?žÈ?Ô­?_Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?6î?€Õê?€©Ü?´?Ы?¸»?3Ý?Àbì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@Æá?Œ? …?É?*æ?ˆÍ?òä?·æ?À|?àq?Õ?WÄ?V¹?‰Æ?@Xã?À´æ?@ëè?ÀMì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?@í?@&ë?@î?ð?ð?ð?ð?ð?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öì?aè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?:ï?@2ë?Àœï?ð?ð?ð?Àÿï?Àjì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óî?Àlë?@3ï?ð?@ìï?€#ê?åë?@™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µï?Àœì?Õí?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìí?€­î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?À˜à? }?x’?Òº?`}?$?xµ?€‡â?@ðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢ï?€«?’?@a?'ë?ð?ð?ð?ð?@Oî?À°ï?€Ôï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?Ó?ø§?4Ê?(·?P±?Ó?°?Ä¡?€3Ñ?€«é?ÿï?ð?ð?ð?Àmé?¬¢?„Æ?Àà?Ý?ô°?@Mï?ð?ð?ð?ð?ð?÷ï?@ï?ôï?@‰í?@Œê?Àyï?ð?ð?ð?ð?ð?ð?ð?ð?ð?<ï?ÀÜë?ð?ð?ð?ð?ð?ð?ð?€í?€òÑ?м?X?kÎ?ÀÎã?Ï?À`?,?4?°Œ?œÀ?A?ÜÂ?€ï?ð?ð?ð?€çï?@ à?Ú±?@üå?@Mï?À.î?Àå?`’?þß?>à?‚?tÜ?0¹?€Ëå?ð?€€Þ?`?Ž?€€?xÀ?ä?Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ï?@Cä?à†?ø ?€GÛ?hï?€^î?À}ë?E×?ú°?@Xê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@,è?€Øï?Àåï?@ùá?¢?€ËÛ?@eë?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2é?ζ?ÝÍ?ƒÖ?b?•?aÁ?€§Ñ?@là?.Å?M?Š?ˆ?à´?“?4?€,Ù?ýÖ?@tâ?@…ï?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Mï?•ê?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®í?€hë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëé?À–ï?ð?ð?ð?ð?ð?@/ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ì?€#è?€Ýí?ð?ð?ð?@Bî?@÷ì?€Óî?€\î?@˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àpï?€Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ë?@ˆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂì?}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?\ß? ‰?l?¿Ê?€ç?Çî?@™å?À á?Þ?˜¤?ÃÄ?yÛ?tì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œº?ØÛ?€Ìï?ð?ð?ð?§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?Àï?ð?ð?ð?€{Ò?€­â?À²æ?p…?¨Ä?0»?¸å?ð?ð?ð?ð?@+ï?Ò?ÒÈ?€? ¬?@uà?ÀTï?À#ï?ð?ð?ð?ð?À¹ï?Þï?œï?€.î?ýë?@€è?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ë?(ì?@˜ï?ð?ð?ð?ð?€ßï?@Íé?à?[Ä?@â?À¡é?X™?Àl?@ˆ?ü¡?ìÒ?ÀÅï?ð?æî?ì?šâ?<¹?eÂ?À™ï?ð?ð?€íë?H£?Ȳ?€ÿë?vÖ?ܪ?ÀÇ?l¯?lÁ?€eï?€÷á?H–?»Ò?D¤?Às?ܰ?4æ?ð?ð?ð?ð?ð?ð?ð?ð?Àuï?Àºï?ð?€Ýï?€¯ï?@Cë?b½? ´?@]å?ð?ð?Žï?@Œì?'á?@$â?Àéï?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùì?Ù?@Åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼æ? w?€”?X¤?šÅ?L®?€S?ø“?`£?®Æ?¹È?ÊÈ?ÀÛ?ñ×?¬Ò?óÆ?iÂ?NÍ?_Á?P›?ŽÔ?¶á?@˜é?ÀÏë?Àê?³?·?˜¯?†È?@‹â?þì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Øê?ÀŠî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™è?@8ç?@ˆë?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëí?@ë?Àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Kî?€*ì?ð?ð?ð?ð?ð?ð?€;ì?ð?ð?ð?ð?ð?ð?ð?@Üì?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTì?ð?ð?ð?ð?ð?ð?ÀÚï?Âí?@Xî?ð?ð?Àìï?À¦î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?@zí?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ï?Àöê?€,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?À‡å?§?ÔÔ?€Eè?ÀÈî?ð?ð?ð?ð?ìï?í?@&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?¼Ì?Â?@3î?€¶ï?¬ï?ð?ð?ð?ð?ð?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?Àûï?ð?ð?ð?€üÓ?@.á?ÀÄà?Œ±?Àk?H”?¢Î?@Ïï?ð?ð?ð?ÀWï?:á?`s?è¡?ä®?€ÊÑ?@Ôí?À…ë?Þ?@3ì?€¬ë?@Ûï?ð?ð?€Üï?Žï?ð?€µí?À´è?€&í?ð?ð?ð?ð?ð?ð?ð?ð?€nê?Àùë?]ë?ð?ð?ð?€Úè?ÁÖ?‰?|?¸™?·?À+î?ìî?€MÑ?'Ö?€¨Ó?0Ä?Àþê?€JÖ?Ú¸?TÈ?Ûì?8¸?€ßÞ?ð?ð?ð?À›â?€¼á?ð?€xÚ?aÒ?€Ñ? q?.È?Àqï?Àîï?Ý?`€?€j?@j?À£å?ð?ð?ð?ð?ð?ð?ð?Üï?Àžì?À^í?Àçç?À*ì?Àýï?@xï?€ãÜ?‰Ä?@×ë?ÀÖï?€nì?€³î?€¨î?€hê?*ì?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñØ?Àøî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀJî?`Ã?<¦??Ô?ÓÜ?Àà?@­â?À¹â?Ká?@ä?€7Ð?üÖ?€pÙ?€ÚØ?@Ùå?­ç?@ä?Šê?€Êì?€Éï?€Øï?€_ï?Àòê?@öë?Qî?€´å?€#Ò?€½Ð?,¨?ø?ô¶?@Òè?ð?ð?@#à?€?LÖ?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*ï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?€ÌÚ?€™Û?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?€Ãë?@ì?ð?@Žî?Íí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?€Èë?Iï?ð?ð?ð?ð?ð?€èï?€üê?ð?ð?ð?ð?Àåï?@òï?€Žï?@Ûê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3ì?€Ãí?ð?ð?ð?ð?ð?ð?€ÿï?À¥î?@§í?@+í?iî?:ï?@Ïí?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?Àé?Àwï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œî?âë?þï?ð?ð?ð?ð?ð?ð?À í?Ië?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ÀÉë? Ì?x? w?Œ¨?p¯?¹È?€Ïæ?€—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hæ?ãÆ?€ËÝ? ¥?L?À*â?þï?€¤î?@Sï?À©ï?À_ï?@nï?åï?Òï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?€ß×?˜¤?š´?*²??¤ ?H˜?¬µ?@ï?ð?ð?ð?@Éï?õÊ?N?I?¸Ê?ÕÆ?xª?(«? Œ?Ú?À'í?ð?ð?ð?ð?Àüï?ÀAë?@ ê?À(ê?ÀPï?ð?ð?ð?ð?ð?À>ê?À€ä?å?€&Ù?×é?Àé?€Û?t¤?x§? œ?lÃ?@Wæ?@ÿï?€œî?xÔ?€Ý?¶º?ý×? Ï?çÒ?€õÝ?ø¹?€¼î?ð?ð?Àöê?¿?”®?@)ì?€ýï?€µ×? Þ?ð?Äï?@¼ä?€v?Èœ?µ?ð¦?a?2á?@öï?ð?ð?ð?ð?Êì?À7ê?ð?ð?ð?€ÿï?fî?î?ð?ð?@jì?„©?€nØ?ð?þï?@å?Åî?Àžì?@ ï?@Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ì?¼½?À|ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ì?ÀQã?€Þ?kã?€ãæ?@vë?Àî?€Êï?€ùï?ð?ð?ð?ð?ð?ð?À&â?Ø‘?À€?ŠÄ?›Ú?€‰Ñ?¬Ñ?€-é?€êï?ð?ð?ð?ÀÖï?@ç?.Ð?Àq? ? ‚?Qå?€öï?@×ï?¼Þ?úÐ?Fë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?€×Û?€ÿ×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ë?@»é?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€fë?@Xí?ð?ð?ð?ð?ð?ð?ðï?@`í?3ï?ð?ð?ð?Àtê?À§ë?<ì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@ë?œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘ï?rî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãí?ÀFî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéì?@¤ï?ð?ð?ð?ð?ð?Àyï?@8ì?€ãì?@ë?Çë?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2ï?ÀŠë?Àfé?@‹ì?€í?Àáî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?|¼?†?AÄ?€„?ÖÌ?À`ï?ð?ð?€ï?€œí?ð?ð?®ï?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀë?@6ã?@—â?@è?€²Ö?†?G?à™?ÀÌë?@Ðë?€úï?ð?¶å?-À?@`?Y?t¤?À å?À"à?€ËÐ?@ ï?ð?ð?ð?ð?€õï?@ë?@Îí?€ê?@rë?€ñè?@ñë?Àê?îé?À’ì?@Óç?‚¶?¸«?ö¼? ¥?¸Õ?«í?Àlí?€ÔØ?=Ä?À€?@ê?ð?ð?‡Þ?@4â?ð?€Ñé?¿Æ?ïÍ?@ìï?@¥á?ÀKí?tÅ?@‡?€ã?v¶? ?0—?ˆ®?€Òì?ð?ð?gï?cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Žâ?p…?Ð¥?óã?ð?Àî?˜è?€#í?ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?6Á?‹×?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?Àä?œ¯?À`?è¥?à†?´Ö?@î?ð?ð?ð?À¹ï?]î?ð?ð?ð?€ï?Àåì?Ôê?8’?€®ã?€îï?À³ï?@!æ?M?€üÒ?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑæ?@Ué?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À”î?¼ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?eê?®ï?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@ùë?À%ê?ð?‡ì?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?‚ë?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?@óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ãì?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿï?@­ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ÀŸî?@îï?ð?@ùï?@Hí?€Zî?€[ì?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?*ê?Àïï?€?ì?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5Ý?@¤?€è?@ìï?ÀVï?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"î?¾?^?è–?Œ?…?~´?Ø•?x±?:ì?€óç?ð?ð?@²è?øš?Àh?lÌ?€NÙ?d?€à?€eÙ?Àï?@òï?ð?ð?€Úï?@¼é?@\ï?€ðî?Áí?tç?@ë?@Bî?€!ë?à?€R?€¤Õ?À5ë?ð?Ù?4?P…?@ûë?ð?À¥ï?Î?2º?€·í?€)Ü?ô§?ˆ‘? Í?eÌ?`†?Ä ?ýÍ?î?€ƒÓ?€ÖÐ?PŒ?4¥?€àé?Ú²?h?`?`ƒ?@Ýè?ð?ð?@õï?€Õä?=é?Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ï?Û?S?@`?½?|å?€¿ï?Àfì?€øï?ùë?í?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?€ŠÜ?P’?€ªä?Àþï?€Ãî?ð?ð?ð?ð?ð?ð?ð?€¢ï?@üï?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?À,î?€6Ñ? Ý?ÀNï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?€Mé?À»ã?€Ô?ذ?y?,??€Z?€ŸØ?€›ì?@âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààí?@Gä?ö±?@‹?Í?@è?€…î?ð?@ìï?Žä?ð?€ Ñ?@bì?ÀGì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?Àèé?À»ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ÀOî?@ðë?oå?‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?@Æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@/ï?€Øê?À¥ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\î?€›ë?€bî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶ë?øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Hç?À·í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?À‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?À/ë?@|ë? í?€Æê?ÀEí?À+í?€¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?À;ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÝÙ?€g?€?QÕ?ÀÁï?@Üï?ð?ð?ð?åï?pï?ð?@Îî?À(î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£ë? ž?Àl?°¿?úÃ?¨œ?»à?@Éí?ð?ð?@6â?Ø¥?À¡?Á?R?Àc?M?@Å?@»â?Àðï?ð?ð?@×ï?›ê?@Tî?ð?Oí?@”è?~é?€‚ë?€mÔ?HÓ?€¹ç?ÀSì?€Lå?P¹?h©?ð¯?RÛ?ÀÜí?ð?Oê?ؤ?€çç?€Tå?`†??(Ì?@î?Ûî?€)æ?éÎ?ʵ?ŽÏ?€YØ?"Â?€ ?÷â?¼É?š¼?ø¢?.Ò?ÀJï?ð?ð?€ßç?޼?€YÝ?@ºí?@îï?ð?ð?ð?ð?ð?ð?ð?À@í?Àïï?€ñî?Õ? ?[è?ë?ï?ð?€•î? è?ÀVï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?,á?`x?®½?€î?ð?ð?ð?ð?ð?ð?ð?ð?7ë?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?À‹í?Àœï?Ôï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ë?fç?€Óá?@Qæ?€7ç?@øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?€î?€ï?€Ý?¿?ÎÈ?ˆ‘?äÄ?ÔÒ?Ú?€×?€$Ô?€0Ò?¢?²´?€EÖ?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?sï?€0ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íí?€8é?€äì?@Œí?æ?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À%í?€mì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*í?Àvî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?@Œë?€¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëí?ÀÕë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£í?€nì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À`ï?€°ì?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?€aÒ?¶?€(æ?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’ï?€oÔ?(?€ÊÒ?Ì¢?0—?€"à?æï?ð?ð?Àkâ?Àl? ?¨ ?ÀÞà?@=ï?ð?ð?ð?€Ëï?jè?Wì?ð?”í?€æ?€fç?L©?>·?À˜é?ÒÈ?0«?x¢?@úé?@9í?Õï?ð?ð?€ÖÓ?о?Àgî?Ý?P§?ìß?ÀWí?ð?ð?Àï?>Ç?ÀŠ?ƾ?€U?¶Ï?ÝÄ?“?Õä?\Î?ÊÜ?Àé?€Kî?@åï?@Üë?UØ?¢¼?,ì?@õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?ÉÕ?Zµ?ÀÒî?€Jî?Àªí?ð?€Øï?€6ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?4½?€u?ÍÔ?€•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?€£ï?ð?ð?ð?ð?ð?ð?Àží?€¦î?ð?ð?ï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—æ?vß?À”ê?€¹ä?º?€c?*Ê?@‹?Àl?HÍ?€Þé?Më?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×í?€Ùí?@óï?€jï?@ÿï?ð?@Ûï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀUí?@–í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?€›ê?@aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?¬ê?€Eë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šï?­ë?@Êì?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}ï?¤©?t¢?€+ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?@ââ?À}?Y?äÄ?ÀÓæ?€þâ?ÈÍ?2?¨µ?P‚?0²?Îç?ð?ð?ð?Pß?PÔ?æ±?0™?^?€gå?@Éï?ÀÄì?ÀLï?ð?ð?ð?Àåï?€+ç?Éì?ð?€­ì?€Ç?€k?ô²?€ßæ?è?£?@½?”ï?ð?ð?ð?ð?hÆ?€„Õ?€Dì?˜ ?†Ã?Àzí?ð?ð?åï?€§è?ÛÓ?@"à?€LÒ?d«?4¡?€ÕÛ?.Ó?`‚?·?€ïè?À0ï?ƒÜ?€7Û?Àï?@óï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?À£í?Ì?@g?`w?ëÙ?@øï?€Úï?€êï?ð?Àøï?Àôê?À¸ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíè?d¥?A?@é?ð?ð?@ßï?½ï?ð?ð?ð?€’ï?…ï?ð?ð?ð?ð?€üï?@ýï?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?@hì?Øê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ÀÄï?ð?ð?ð?@Cî?6ç?@=í?Àäï?@Ûê?€1é?@$è?€^á?(£?â¶?€`Ü?ˆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€eï?@ï?@ãï?ð?ð?ð?ð?ð?ð?ð?€Äî?€žë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šï?€ë?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?æî?Àmî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…ê?ÀWí?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@ãï?ð?ð?ð?ð?ð?€ì?Uë?Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?–ë?½á?À?ï?ð?ð?ð?@àï?€wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&ì?ì¤?Ào??‹Ê?OÐ?|Ú?@ká?xË?`~?x?¨¶?Àì?ð?ð?ð?@£è?`?€y?.Á?4¢? ‡?À‡ì?ð?ïï?sï?ð?ð?ð?ð?€Tï?À’ä?€Ãé?À‡î?È?à«?€ýé?ð?€Òâ?`‰?,?À?Àâå?ð?ð?ð?€´î?.¼?Àá?Àñá?(?GÈ?À€à?€¼æ?€§å?@íà?Ÿ?€”ç?@9é?GÊ?À?vÎ?l²?à‚?Ã?½ß?€{?€Ù?@€ï?@3ï?£ï?ð?ð?ð?ð?ð?ð?ÀXï?@¡î?ð?~í?ìà?¶¸?@‚?Y×?–Í?ò½?§? ´?Q?€v?¤¡?@µí?ð?ð?ð?ð?À[é?ÀTç?ð?ð?ð?ð?ð?ð?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ß?/é?ð?ð?€0é?×ì?ð?ð?ð?Àžï?€ðï?ð?ð?ð?ð?@óì?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àgë?Àìì?À§ì?ð?À”ï?Àãï?î?À ï?€Wç?Ì?»?0?€Ô?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ï?€…ï?ð?ð?ð?ð?ð?ð?ð?€üï?€Uë?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?€Yê? ê?Àªê?Àƒè?eê?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üî?Àéí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?€‹ì?Àêê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯î?Ðë?Bë?@(ë?$ï?ð?ð?€=ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pì?”?@ûá?Àì?ð?ð?ð?À¾ï?€]ë?ÀÍï?ð?ð?ð?ð?ð?€êï?€3ï?ð?ð?ð?@êã?`š?Þº?à}?B?€Ø?$Ù?@-æ?'Ð?@x?§?ðØ?Àï?ð?ð?ð?¨ï?¥É?̧?@‡æ?œ«?Б?Àwï?ð?ð?ð?ð?ð?ð?ð?€Ïï?xä?Ô±?f¾?Ài?Èœ?Ìæ?ð?´ê?P±?€W?¿?Tì?ð?ð?Àìï?Øß?À˜á?½?T ?@f?­Ò?@çæ?€Xï?Àå?xŸ?ÐÆ?p’?@h?@o?E?P†? v?¯Ç?€QØ?€+ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Nê?VÄ?Tª?c?€kÙ?ð?€öï?@¶î?í?2Ý?¾?¦É?¹?z?à¥?ð·?ÙÃ?Àï?ð?ð?ð?ð?€êç?@5í?ð?ð?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?~è?¤Å?@·í?ð?ð?Àáí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€žê?Lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãì?€ï?À~î?ð?ð?ÀÓï?€1ì?ð?éï?€¦í?í?€FÑ?¨?Àäá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?@í?@œê?ð?ð?ð?ð?ð?ð?Àòï?6ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ÀÖê?@ ë?@„ï?ð?ð?ð?ð?@=í?Àaï?ûë?À ë?€6è?[î?ð?€ï?À(ê?þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ë?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀCí?ñê?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€së?@ì?€óé?wè?ÀFî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?@ùã?0?Ý?ð?ð?ð?ð?@cï?ÀZë?€0ï?@î?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?@ïí?¬Ï?è£?œ¸?Œµ?*í?€úï?À8í?€rï?òÞ?Ѓ?Ž? p?@¸é?>î?ÀMï?ð?ð?À˜ï?JË?l§?†Ì?r²?Ø?ÐŒ?´¬?ð?ð?ð?ð?ð?ð?ð?Êî?@öæ?¦Ì?@b?ˆ ?€~ã?àï?@î?ùÎ??€´?QÖ?@ì?ð?€ï?nË?”¤? }? À?*ë?ð?Àî?’Ï?L°? ?À|? ?$?Àr?€ÄÕ?@mç?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?€Zï?*è?qË?PÃ?€§Ð?xá?€Éî?€(î?ð?ð?ð?€ðï?€Ëï?€åï?Äï?€¬ê?"Ø?È­?P?…?­Ö?Èê?@ùë?@9ï?ð?ð?ð?ð?ð?Àáê?À•ä?@Ží?Àì?@öï?ð?ð?€îï?@Ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?@öï?Àáï?@Þë?É?¦?@„ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ì?À«ï?ð?ð?nï?@7í?ð?¦î?Cï?Àïí?Àjì?ðÁ??2ä?ð?ð?@ï?À€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õî?@å?–ê?@^ê?€jï?ð?ð?ð?ÀÌï?íì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íì?ÀŠê?@·ì?ð?ð?ð?ð?ð?ð?ð?Àdí?@Ýí?ð?ê?@.ë?Äê?@Ùë?€Uï?À)ç?Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjï?€Œê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁí?ê?€Áë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?ð?À§ï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyé?D¢?T²?€ë?ï?ð?ð?Àßï?@0î?Àpï?À$ï?ð?ð?ð?ð?ð?ð?@wï? ë?DÝ?eÇ?^¿?޳?Á??°?%ê?ð?@.ï?ð? î?ÑÒ?d½?PÑ?íÍ?€ãî?Àöã?ì?ð?ð?ÀÜï?Øâ?€qÚ?¬ë?€ðï?@ä?ŒÂ?ð?ð?ð?ð?Àìï?€8ë?€¶Þ?,Á?H“?€×ß?€ïê?@$í?@ç?Í?@fã?ð?€î?‹Á?€ÚÐ?âç?ˆœ?ˆ¿?À¸ã?\?š?@äë?ð?ð?@Rì? ä??€ãÝ?@)ï?€Þí?Àï?€ëï?ð?ð?ð?ð?ð?€Ëë?•×?™Ð?¤£?d¼?Ч?MÉ?Ðß?À\ì?ÏÖ?Ïí?€ïë?Àßï?ð?ð?ð?Èì?@’å?€¬é?@Éî?ð?*í?@Æã?¨«?±Ä?Nî?€Øï?ÀÒí?@¦ê?Àþï?ð?ð?ð?ð?9í?€¿ê?@í?€>î?áë?@íé?@¯ì?@ä?€×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dî?€_î?€Øï?¸î?ÐÈ?(®?À.é?Àþï?ð?ð?ð?ð?ð?ð?ð?€3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\ì?Àží?ûï?Ààî?@Jî?ð?­ï?(î?À î?€ºé?xâ?€eÐ?€i?žµ?+ì?ð?€>ì?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æî?Àíî?@ï?€²é?*ï?@Èï?ð?@5î?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òì?€%ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?ð?ð?ð?ð?@ í?ªì?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?Àê?€øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öí?ë?ð?@ì?€Pî?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?€+ß?Àà?À‹î?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?@Æï?Àéã?h¼?ð¤?vÉ?Ê?˜Ä?€Éï?ð?ð?ð?€Æï?À©æ?P‰?è?è¤?R?Àc?¼Û?@ì?€ÄÚ?Àzá?@ƒï?ð?@õï?À<ï?ð?ð?ð?Àmì?@‡?ÃÆ?^ï?Àþï?ð?ÀÜï?€¦ß? Ÿ?0›?á?@…ï?ÀŠï?€Ð?`?XÅ?Àhâ?ËÐ?˜”?¢Å?0??xË?Tª?2?ìÄ?æµ?ü£?À ë?ð?ð?ð?ðé? ¡?t?€KÛ?Àrï?@ê?Àmä?€{ë?ð?ð?ð?ð?ð?@Oâ?”¤?à?€–Ö?äÂ?À|??ˆ¾?€Dã?4í?Œï?ð?€ã?Àê?@Ôì?@íï?€‰ì?€§é?€ ì?€Qï?@-í?3ç?Àã?nÞ?ð?ð?ð?Hé?"Á?@a?À•â?ð?ð? ï?€+í?@ÿï?ð?ð?ð?Ðî?Àwë?@‡é?À[è?€½ë?€¾î?@×ë?æé?‚×?Àôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?@í?€ðï?À®ä?€ÔÔ?%ß?€Fë?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?rî?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ï?€Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@3ê?@âí?Àší?@¨ï?ð?ÀAï?À4ì?Yê?À4é?@’ä?Ç?Àr?x?@ãè?€Ïì?«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ï?€áì?ÀYê?€Iì?@<ï?Ôê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?€Ìê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ç?ð?ð?ð?ð?ÀÂì?@ à?€åÝ?@òì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?Àê?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?€ë?ð?ð?ð?ýë?²í?@¯î?€>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆß? ‚? ¸?Àaç?ð?ð?ð?ð?”ï?Àøï?ð?ð?ð?ð?@â? Ã?@é?ð?ð?ð?ð?ð?€±í?ÿØ? v?@Cá?~î?€[í?ë?ÀÓì?ð?ð?ð?ð?ð?ð?€4î?@Ž?3Ç?<ï?@ñï?ð?@Õé?(–?X”?Ðä?ð?@çï?€™å? ‚?Á?¢í?%×?€†Ô?€"î?€üì?Àï?ð?ð?ð?ð?µã?¼?@½ì?€¹ï?@„é?1ì?ð?ð?ð?ð?ð?€¼ï?Xç?@oã?@¬ç?€ê?h´?È“?íÍ?Ží?ð?ð?ð?ð?ð?ð?À­í?€‹ã?h¢?€]?¥Æ?@üæ?€×ï?ûï?¶ï?ð?ð?ð?ð?ç?°š?`‰?€ûÜ?¶ï?ð?@õï?À³ï?@³ï?@þï?ð?ð?€§ë?@Ïê?€•î?Àåì?€më?Àéê?/ê?€í?‹ì?Àóë?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À˜ï?Àúî?Àæë?Àí?€ïï?ð?@nï?Àï?@Íì?€ñè?bå?ò¸?R?Àe?€ÖØ?À9î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ãí?À=æ?@lè?@Ìé?)ë?@-í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯î?lé?@uì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€ê?ð?ð?ð?ð?÷ï?@òè?€‡æ?-ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?€§ë?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?Àvé?ð?ð?ð?ð?À ï?€ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?p”?ðÑ?€Îï?ð?ð?ð?ð?ð?ð?€Æï?ð?ï?gÒ?¤µ?é?ð?ð?Àñï?@Xï?€‡ì?€ßï?jï?xÓ?`?€¼ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?d³?/Ã?Àç?@×î?@í?;Ô?¯?_?p?èÞ?Ýï?@”ï?ÕÝ?x˜?0„?°‹?bÅ?ð?½î?ïì?ð?ð?€óî?ð?ð?ð?Àï?áÛ?x?€c?B?'È?€ªì?@bì?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@,ê?Àpá?€»ß?€Zâ?€ê?@Ôï?ð?ð?ð?ð?ð?ð?ð?ÙÖ?(—?@`?ø³?€Þ?î?ð?ð?ð?ð?ð?Ùï?@ç?£?0µ?£ã?²ï?ð?ð?ð?{ï?Àžï?ð?ð?Àðï?íê?€–ë?hï?@Œï?€ºí?@²æ?@Jæ?@Ýî?ˆï?@wì?ÀÔî?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?@Áî?@Žë?@tí?À0ï?ëî?ð?åî?@„ê?Mé?@Dä?uß?x¦?€Ý?@lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@Šë?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âï?ÀSï?€fï?€Ñî?ÀÌê?@.í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€,ë?@ûè?€xê?@ì?€#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?€î?ð?ð?ð?ð?ð?ð?ð?©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§ï?ÀÂì?À:ë?€gë?€§ï?ð?ð?ð?ð?ð?ð?ð?ð?À™ï?€ ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€`á?H?h?Dß?ÀÛï?Àýï?ÀØï?À î?€Ïï?ð?ð?ð?@2î?H´?zµ?€5î?ð?@Ñï?*ï?€îï?åï?@nï?xï?@‘ë? ?˜?@˜ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?PÎ?‡Ë?€0ì?€Üé?qÄ?@`?GÁ?À?(?Ú?@¼ï?ÀBá?aÌ?@x?vÅ?€gä?€‚×?ÎÀ?H“?Ã?àp?;Õ?ð?ð?ð?ð?ð?@{ï?@î?ð?ð?€aÙ?˜–?:?€S?@?ø?@Dç?€ï?:Ð?ÕÝ?€Rì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®í?#É?À|?¸’?€Z?cÍ?í?@ïï?€âï?ð?ð?ð?€Ûï?£è?ÓÜ?Àj?Ô»?€þÛ?€¸é?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?Ìï?À“è?@Pî?@Çï?@kï?€ßî?Àí?ÀGé?ýï?Àíï?@uë?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?Àzë?ÀÈã?@ƒç?À…é?À7ê?@ë?€™ì?@‘í?Àdé?Tç?â?€bá?ÅÇ?­?€áÜ?|Ï?¸²?O?¢Ù?@®ë?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?1î?€çë?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï? í?ÀÜí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQê?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?@eë?€ßì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?€íí?ÀÉë?@ùê?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œë?€„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ë?À©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëí?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€jî?@Í?0œ?€Üå?ÀÚï?Yî?@$ï?ð?ð?ð?ð?@fí? ¤?ýÞ?Àøï?ð?Îï?€êï?€§î?@1ï?@¿ï?€@ï?À8é?€2Ñ?èž?€i?d?,?k?v±?À"í?ð?€Âï?êï?ð?ð?ð?ð?ð?ð?ð?ð?¹ê?n·?€–?hœ?zµ?°Œ?·é?€qà?°?M?Ñ×?gå?€¿é?ð?@Òï?Dè?¨–?€'à?ÀNï?À‡ä?@šâ?ð?ð?ð?ð?ð?ð?@¿î?ð?ð?qê?@ßç?„½?€Ð?@ë?œí?.È?€ ã?ð?ð?ð?ð?ð?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æì?ÕÒ?Ð…?Àb?Ü©?öÂ?@f?@ƒä?€£è?€Uç?À¢ì?ð?ð?ð?ð?@™î?¶Ë?Y?7Å?@Iê?ð?ð?ð?ð?€òï?Àüï?ð?ð?ð?éï?/î?€®ì?@šï?ÀÉï?€~ï?€£í?ð?ð?ð?Œï?ë?ÀŸî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öî?€Ýï?ð?Àâï?ÀZè?é?€–ì?8ï?6í?Àmí?€êï?€‡ì?%ë?À²é?€(ê?À>ë?Lï?ð?€©ì?Àé?@Äî?Àýî?À ì?ŠÉ?K?Ï?Õ?@Œë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ê?€tí?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?@ùâ?·î?ð?ð?ð?ð?ð?@8î?aí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤í?@]ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°î?@ðé?@ÿì?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ î?Ôí?Àï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@Æé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?À+å?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?€†Ý?E?Ì´?€åè?ð?@oî?€óï?ð?ð?€Ãí?…Ö?2?@½æ?ð?@½ï?@{ï?€kí?@ï?Àìî?€êï? í?€þï?@Ië?¾?K?°·?à€?@ é?ÀÒé?€á?€òì?ð?ð?ð?ð?ð?ð?ð?ð?€åï?€é?€èÐ?´¼?­Ð?_?þ°?xì?ð?ð?ð?ð?ÀÞï?6Â?¯é?ð?@éï?€þï?ð?ð?ð?ð?ð?ð?ð?¾ï?Àšï?ð?€Úì?2´?˜?DÄ?B¸?Àxà?ð?@î?@ñè?–í?@9ê?€oé?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@&ï?@í?ä?~»?¨¨?€±?Àè?Ѓ?¸Ç?ð¿?†Ù?@jç?ð?ð?ð?ð?ð?À¡î?”Ë?¬Ú?ð?ð?ð?ð?@öï?@©ï?‹ï?ð?ð?ÀTï?ÀÖî?;æ?@Uï?€úï?À?ï?@Rê?€óï?ð?ð?@Ðï?À›ë?@æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aî?oé?€öé?ðì?À5æ?@=í?Àôï?ð?ð?ð?ð?ð?ð?ð?€éî?ÀØï?ð?ð?ð?ð?ð?ð?ð?€¬ï?€fê?€á?€®Ñ? q?2?€Ý?€Ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ë?ÀÝâ?€‡ï?ð?ð?ð?ð?ð?ð?ð?ð?@Òê?€Ü?öî?ð?ð?ð?ð?€ì?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üì?…í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨î?8é? ê?Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À…ï?€Æï?ï?€·í?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À í?V²?h?Àˆ?ð£?ã?ýî?ýï?Àƒî?@Öä?À??óÅ?€ë?ð?Àüï?@ÿï?[ì?€®î?@åí?ð?ð?ð?Àóï?+×?ÊÂ?h™?J?«Ä?€oÞ?éà?ž?€¿×?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?€Ûá?Às?éÀ?€äÖ?`€?À†?J?9À?ÀÕí?ð?ð?ð?ð?óï?†Ï?)Ð?QÖ?°î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?@Wï?ð?Àšë?€{Ó? u?€‹Þ?›É?i?@–?„Ê?²Ê?@Ñá?ÀVã?€Âë?ÀÑî?ð?ð?ð?ð?ð?ð?ð?ð?ýÕ?0ƒ?€W?nµ?`¬?<¯?6¼?æì?@îë?€Îë?«ï?ð?ð?ð?ð?€iì?VÊ?€Q×?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?@üï?@Áï?@ï?ÀØï?@Çî?€Uî?@Fï?Àÿï?ð?ð?ÀÍï?€Vì?@vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wï?@òí?Ûî?Xê?sé?À½ï?@/í?@Äë?Àcë?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îî?Úí?€Aä?8Ä?E?”¡?€®Û?€¶æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯é?@ê?ð?ð?ð?ð?ð?ð?ð?ð?€øï?€+é?€wÛ?5è?€Bè?Àøï?À{í?@ðå?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?€Gê?@¤ï?ð?@ï?Pì?,ì?@Èì?í?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„ï?Uê?@Íê?€gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€Æï?ð?@ÿí?0í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€å?À¸é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?6Ã?Àe?ýË?€KÜ?Ž¿?@n?XÇ?@èê?ï?ð?@Ñï?À®î?€µí?@Ùï?Sî?ð?ð?€æï?À‚â?Àt?X˜?ÍÌ?€ßÝ?-Ï?Ê?Ì?ÀÏé?í?ð?ð?ð?ð?ð?Àëï?€óï?€7ï?@ëç?Y?€qÒ?°­?€V?-Ã?€èØ?@øå?ÀRè?À6í?ð?ð?ð?ð?òî?À]æ?@è?€¹ï?@‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dà?¶?ˆÃ?`¥? u?@¡?@Êá?ð?ð?ð?ð?ð?ð?ð?ð?ØÐ?äÁ?@"à?Àrï?ð?ÀÛï?@Éî?ð?ð?ð?ð?ð?€"å?*Ð?@Ýï?ð?ð?À¨ë?@sï?ð?ð?ð?ð?ð?€«ï?Àåî?«î?À¼ì?ð?ð?ð?ð?ð?Jï?„è?ií?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@kì?€$ì?Åë?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïî?Oí?@ûå?€jí?Ôï?öç?@=ë?@Àí?À”î?ð?Àùï?€ë?@_ë?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À…ï?iì?ßÝ?X›?mÄ?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸î?@èî?Àªé?€œã? ä?í?@?î?À;æ?@Yï?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úë?€Sí?@Jê?@šê?Àlî?À\î?€Ÿî?À î?€Žé?@kè?Ànë?À8ï?€þï?ð?ð?@ùï?@Ýí?ˆë?@,ê?Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯î?@Ìç?@Åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸È?Àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆì?æ»?€…Ò?€Wì?Àøï?”ï?@ï?À5ï?@?î?ð?@bî?ÀOë?€”ì?ð?À*ï?€fÓ?Àˆ?PÞ?Ä?@áã?€ÞÐ?—À?Л?€já?@ùí?ð?ð?ð?ð?À½ï?€úï?@ôï?@Ýí?‚? y?@¬å?(­?4?Ó?íî?ð?ð?ð?ð?ð?@äï?ð?ìï?€Œí?@Ÿì?ð?@Úï?ê?aÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóî?Ì?N?@b?Às?à‚?2?T­?€oë?ð?uï?}í?€ ï?ð?ð?ð?@Hî?ÄÏ?Ôµ?€yì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀGâ?·Ù?èï?ð?ð?@-ï?@ûï?ð?ð?ð?ð?ð?@yì?À«î?Œï?Qî?ð?ð?ð?ð?ð?À{ë?8è?Ÿë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@:ï?€,ï?ð?ð?ð?€Üï?@Sì?@;ï?ð?åï?@8î?@Dí?@î?îì?€Íì?Zí?xî?€úï?ð?ð?À^î?Àøì?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?Zë?@Pê?@Ûí?€‰î?*ï?ð?ð?€úï?@àå?þë?€í?€’è?€’ç?€í?ð?ð?ð?ð?@ëï?€Oè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mî?sï?"î?:â?À’?0À?@{ë?ð?ð?ð?ð?ð?ð?€üï?Àçî?Tì?À¤ë?@:ï?@ÿî?€9ë?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?€Kï?€áß?@å?Ó?@dç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?[é?@·ì?jï?ð?ð?ð?ð?ð?ð?ð?Àaï?Àé?€5ê?À>í?Àê?€¢è?vë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüæ?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™é?ð¹?]ì?ð?ÀŸï?ð?ð?ÀÊï?ð?ÀÞï?€Zí?À¬ï?ð?ð?¾ç?8µ?AÓ?.²?‰?À|?=Õ?vì?ð?ð?ð?ð?ð?ð?@Mê?ÀTæ?ÄÆ?TÅ?À‚?B²?@’í?ð?Àxï?5ç?«è?ôï?@—ï?@*î?ð?Þ?BÐ?é?€Æï?@Äí?@"á?@xæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ôà?ˆ¦?@~?a? s?@`?€\à?@Þï?ïî?ŒÔ?€ì?ð?ð?ð?ð?€]ì?Ê?€ê×?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8í?ð?ð?@]í?ð?ð?ð?ð?ð?@¬ï?À·ë?@.î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?À.í?@*í?À’í?€°ì?@yì?Ôí?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œî?€°î?@Aï?ð?ð?ð?ð?ð?ð?óï?€¼ï?@âé?Vì?€ëî?Àrë?@Aê?€ºé?Àÿë?ð?€ûì?Àé?î?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?é?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ûï?Úå?¯?Ђ?(Ü?@êí?€Çì?@‹ï?ð?ð?€ðî?^ë?¿ì?Ýï?ð? î?@ˆë?ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?ëä?€–Ñ?€íÙ?€qä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?„ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?@'î?€)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡è?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@hí?Áç?À*ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ná?:²?@~î?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?@•î?ì?}ß?ð—? y?€W?À}?@?AÈ? Ô?€¨ç?ð?ð?ð?ð?ð?@å?¹?¹Ù?v¶?Iï?ð?~à?V?€ Ñ?ñï?™â?Qè?öî?x×?Ô³?€nÑ?@Åè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?{Ù?-Ä?È ?„¥?ª¹?М?€!Ó?€Æâ?à«?€–ã?ð?ð?ð?ð?ð?Àwì? ¼?p³?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?+ï?@^î?ð?ð?Àì?ð?ð?ð?ð?ð?€×ï?€`ç?Àî?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@$î?@sì?€Rî?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?€ï?óí?Öî?@\î?@}î?@xí?@è?Àê?€dè?nç?ÀÚì?€¿ï?ð?ð?ð?€+ï?»ê?Bé?€Jí?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?ìÕ?€7Ø?@¡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðä?¦°?¸‘?¸É?æÙ?ÜÔ?ÀÂî?ð?ð?€Ìê?€Ÿï?ð?ð?€âï?€ è?€²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5î?€Uê?@ƒä?À©ã?y×?¡é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€Ÿé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ë?xë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@ë?€Ú?@ä?€Pæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õî? À?|«?ÀBí?ð?ð?ð?€6ï?ð?ð?ð?ð?ð?ð?@ïï?À¤ï?@hë?æµ?€P?0?p¸?¹?7Ð?ÀŸï?ð?ð?ð?ð?@ë?¯Ã?÷Ì?:?€Ñ?‡ï?@Bë?F¿?AÉ?€æã?Í?èÝ?@ã? ”?Ò¶?@yì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ã?Ü®?@¥æ?h“? ƒ?F?žâ?€’Ý?”«?«É?Ê?Àbï?ð?ð?ð?@»ï?@šï?¿ß?€ŽÑ?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@¨ï?ð?ð?€£ï?ð?Êï?€üï?ð?ð?¦ì?Àäè?€Íï?@Éî?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?€0í?€®ï?ð?ð?@üï?@þï?ð?ð?ð?ð?ð?ð?€ôï?‚ï?¦ï?€Üï?ð?yï?@kî?Çî?Ÿï?€Æï?€Ùï?Âï?Êï?ëï?ð?¡è?ÀÕì?@áï?ð?²î?Àlï?ð?ð?ð?¤î?À”í?€×ì?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?€âå?ñÆ?@Mé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?8æ??À?€ÓÒ?@?ã?€¼ß?€Ÿå?@nï?@>ï?Cì?ð?ð?ð?@jì?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äî?@ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…í?@)ï?wÖ?Àëà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?@žé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=î?À å?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?À ç?*í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zß?Б?cê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?ï?›Û? ?€ûÒ?À?Àl?‚±?Ié?€1ê?ð?ð?ð?ð?@ÿá?À<á?R·?€d?è©?¼Æ?áÂ?€ã?ÀÈï?áß?Ï?îØ?-Ë?xÃ?ð ?èÌ?Ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ì?Àë?ð?ð?ð?ð?€Û?а?:×?p°?Ž?Ô´?åÈ?/à? °?pŒ?€…ë?ð?ð?€çî?¼Ò?ûÇ?Èœ?€Q?€Ä×?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚î?@aï?ð?ð?ð?ð?ð?ð?ð?ð?ôè?Kì?@‹ï?óï?€mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ï?À î?À¹í?¹ï?ð?ð?ð?ðï?Àøï?ð?ð?ð?ð?Éî?@î?À¾î?Óï?kï?óï?ð?ð?ð?ð?ð?@‰ï?À`ï?Àÿî?€[î?€=î?€ê?@ê?ð?ð?ð?ð?€”î?ð?ð?ð?@Ðï?€)î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@qâ?@)ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?†Ü?´?ÞÙ?€«ë?@Lî?€ñí?ð?ð?Àðï?À6ë?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?@Kî?À…ì?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À-î?€õá?@Ià?ð?ð?ð?ð?ð?ð?åï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àœï?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?@vé?ð?À>ï?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žï?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ç?t¡? æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*ê?Äë?î?·â??9Ç?€CÑ?H‘?Ã?Àaà?€Cî?ð?ð?ð?@ÿï?ã?%Ò?€ƒ?¤È?ÚË?@ì?šÑ?RË?zì?€àë?ت?d ? ™? ‚?€¡Ù?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?@î?NÇ?ÀLá?ð?ð?ð?ð?[Ü?Àl??T?àx?Àh?^±?@‹?@j?è•?€ã?àä?@hà?€rÔ?@~?p?€á?@íï?ð?ð?ð?ð?À9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ÀJï?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ýé?.í?@>î?@ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?@°ï?@žî?’î?åî?€eï?€úï?€èï?Èï?ð?ð?ð?ð?ð?ð?@¿î?ÀDï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§ï?€÷ê?ÀLæ?€æê?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À#í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›é?@Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?$ä?$«?8Ö?€Aç?À€í?€.è?Ààé?æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€0ï?@ìæ?@[ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?€ï?|Î?À™á?ð?ð?ð?ð?ð?ð?À-ï?€’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?@øê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?€~ç?éê?@Oî?À€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@.ì?@Kë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pí?3Á?@gã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òë?@€î?^ï?€lÜ?€šÚ?@éï?áÅ?°¯?ÀÒà?ð?ð?ð?ð?@Óí?Àèê?€¢Ø?À?D?,¤?(·?.»?À”?8š?@ä?ð?ÀŒä??§Ü?€<ï?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?@­ç?ÀÍã?mÅ?@:í?ð?ð?€eê?¦?X?¸ ? u?Àe?–Û?@@ï?ð?ð?ð?€\ï?î?ÀCï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ií?€òì?€Øï?ÀÇî?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ÀØî?ÀÍî?ìî?ð?€ï?À^ï?€wï?À‘ï?xï?Àêí?‘î?@¬ï?@bî?Àyî?Àí?À@í?€2î?€pî?@î?Àíî?€ï?“î?€„ï?ð?ð?ð?@wï?À_ï?ð?ð?ð?Àƒï?pï?"ï?@Üï?€ëï?@Øä?@øé?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆî?€3í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€që?€é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBæ?„?€i?Œ¶?€ÓÞ?€+é?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€ é?€á?@æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?@2ê?f¸?À–é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íí?€uë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï? ã?€ è?€þí?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®í?ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û?@ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aï?À9á?˜·?@úê?€µÖ?ÀÏà?ð?ð?ð?ð?ð?ð?À+í?óÛ?ž?\¦?¤?€¥Þ?²Ã?¢½?Ÿä?À?p¯?š°?€@Ñ?€9ê?€Ô?PŒ?ð„?@ì?ð?ð?Àžï?@(ï?¡î?ð?ð?ð?ð?@Çé??ñÔ? ‚?ìã?€úë?@­à?Á?ð•?–?0¥?÷Ý?ü¹?§?@Ýë?ð?ð?ð?ð?@`î?@4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?€œë?fî?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?Àï?¿í?éí?ð?ï?¯î?@î?€Šî?Àwî?À$ï?ð?ð?ð?åï?@Æî?€8ï?@¬ï?ÀŽï?@€ï?À¹î?À®ï?Àœï?ð?ð?ð?ð?€\ï?ÀNî?@Ýí?Äí?€*î?À1î?€Ìî?Àï?À¼í?lî?8ê?@uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒî?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èï?€]ï?ÀNì?À»æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?@Öì?€í?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À…ï?À\á?RÎ?à{? v?€zÓ?€Âí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?@+ï?€üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºà?ƒÉ?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôé?€Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€ýë?@¡ç?€cï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ê? ˜?Àc?R?ŒÞ?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸ï?Õ?“×?HÄ?€m?Ã?@4é?ûï?ð?ð?ð?ð?ð?Àáï?@’ê?Åæ?@ì?@öë?Óä?à’?.´?€ñì?ÑÒ?åÓ?@Lï?kÁ?à?ì?@Šî?€Èí?)ê?9ë?%è?Àeë?À ë?€Îï?ÀŸí?À‡í?€½ï?ð?ð?€nì?JÝ?)í?öå?Àuà?È©?€ßÐ?@†ì?@¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@€ï?€ ï?@‚â?@]á?€Fí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ÀŠï?@lï?À î?ùï?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oë?Àãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€hï?@„ê?ÀÞî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?€ï?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?úÕ?!Ç?@¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7î?Nº?,®?IÅ?°?€‡é?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?5î?€~Ö?2?€9Ó?€„ë?ºÆ?À^ê?ûï?€áÝ?@Yà?h£?Q?€ƒ?t¤? Ã?À)â?@kë?€Œ×? ¨?kÞ?ð?ð?ð?ð?‹î?€»ê?ð?ð?€ï?,´?à”?[ì?š½?€r?þ×?í?ð?€õï?ÀÒï?ð?ð?ð?ð?ð?ð?ð?€½ï?@©ë?ÀHî?€Èï?–ï?ð?ð?ð?ð?ð? î?€Œé?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ÀFï?ð?ð?ð?ð?ð?ð?ð?Àiï?€Ðï?ð?ð?ð?ð?ÀÄï?Àáï?mî?±è?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?zï?ð?ð?ð?ð?ð?ð?ð?»ï?À$ë?ð?ð?ð?@Úî?€Žë?ð?ð?ð?ð?ð?ð?ð?@ªï?&ï?ð?À…í?@í?€èî?ð?ð?ð?ð?ð?ð?ð?ð?€Xî?Àì?Àí?@¾ï?ÀÍë?€Ží?ð?@uè?Ié?ð?À¾í?ð?À:é?Àº?ø¡?¬Ù?Àé?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ç?WÐ?eä?¥?€¨ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?€ðï?ð?À7í?‡ì?@´ï?éï?Àœï?1ï?ýï?@€é?€‘Ù?áã?¡ê?Sî?ä?À>æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@“î?ÀÝì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»î?À£ë?€ûï?À®í?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eè?ëí?À¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çã?âÌ?@²é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?œ«?°€?,ê?ð?ð?ð?ð?ð?îï?À»ï?ð?ð?ð?ð?¨ã?@l?\¥?°¾?ª±?ÉÈ?@g?LÈ?€Þé?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?Uï?<í?À¿?ø²?À'í?@í?@õë?ð?ð?Àñî?ÀÉå?{Û?Ì«?@`?¬¯?Àåê?ð?€™Þ?8›?aÝ?ð?ð?ð?ð?€Üï?@qï?ð?ð?ð?€³é?öÆ?€V?ê?0“?@?€èà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇí?ð?Àzë?àï?ð?ð?ð?ð?ð?ð?¼ë?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼î?ì?`ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{î?€ î?ð?ð?ð?ð?ð?ð?ð?€/ï?À ì?ð?ð?ð?çì?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ànî?ð?ð?ð?ºï?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?€Úï?ÀAì?€"ï?@?è?9î?šï?€¼í?ð?ð?¤ê?Æ?ˆ ?€Ý?€Öí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸï?Oé?.Õ?Àè?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äë?€Äî?@Mí?@«à?9Ý?‚ã?€ñÞ?€NÝ?ÒÙ?€¤Ú?€UÔ?šÏ?ÈÓ?×Î?Ð?€ðÒ?€Ù?ÖØ?´ç?1ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ñê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyï?€â?­ë?&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?_ç?@´î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ÅÒ?€HÐ?pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ã?Àá?ð?ð?ð?ð?ð?ð?ð?ð?ðï?@Ëï?À}ã?D©?Pˆ?€üÞ?@4å?@~?€ãÛ?@þï?ð?ð?ð?ð?ð?ð?€3î?ð?ð?ð?€™ê?äÄ?À?€Dê?ð?ð?ð?ð?ð?ð?ð?€ºï?€“à?ô³?8¤?€v?€T?Àl?È?€íÓ?X¦?€nÒ?€¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæ?@x?ØÔ?[?€ìå?ð?ð?ð?ÀŽï?@þï?ð?ð?ð?ð?€úï?À ï?ð?À ï?€øï?€ï?€®ì?@Ìï?ð?ð?@Óï?8ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?ÿï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?³ï?ð?ð?@ï?€Êé?À¸î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?mí?€Ôï?æï?ð?ð?ð?ð?ð?Àîí?¥ï?ð?ð?@‰ï?€–ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(í?€í?€î?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?zì?Àlå?Àyï?–î?@;ï?ð?ð?ð?þë?P¯? …?X?UÐ?€5î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çé?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?Àšè?@ˆé?@žâ?€ùÖ?;È?J²?H´?@yã?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›é?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ií?@‘í?@(ï?ð?ð?ð?ð?ð?ð?ð?ð?€>ï?Jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?€ë?À?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?€©Û?À è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þ? Ï?ð?ð?ð?ð?ð?ð?€’î?¨ï?€ê?îÙ?À~?À?xÑ?€Z?ü´?€°ê?ð?ð?À ï?]é?ð?ð?ð?ð?ð?ð?ð?€äì?çÖ?ž½?Pƒ?`?Á?ÀŸç?ð?ð?ð?ð?ð?ð?ð?ð?À»ì?LÔ?f?Ð?Ÿ?Ї?‰?Y?à?€k?À~?@Èá?ëï?ð?ð?Àï?ð?ð?ð?ð?ð?ÀØî?RÅ?@’?iÎ?€eë?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?€Lì?,î?ð?îï?@ì?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?7ï?ðî?ñï?ð?ð?@ãï?ð?€èï?ð?ð?ð?ð?€ûï?€“î?ÀJï?ð?ð?ð?ð?ð?ÀÔï?›í?î?@6ï?ÀÎï?@Lî?À²î?€àí?@(í?À€ë?À“ì? í?Àjì?€¤è?’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À(ï?À{î?…í?Àôî?‹ï?ÀÊï?ð?€î?Àžî?ð?ð?ð?ð?ì?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…í?ð?@î?À~í?€Žï?ð?ð?ð?ð?ð?ð?ð?Fï?cè?Àsí?€+í?@¹ï?Àšî?ð?ð?ð?À³ï?@0ê?eæ?”º?Ø©?dà?À+ê?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þê?Àþâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?@Íê?ùë?€·î?ð?ð?€¯ï?—é?€ÉØ?ô¸?†?Ж?@ýà?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éé?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3í?€Àè?Àìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ií?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*×?Má?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåî?íÀ?•?@Ìæ?ð?€êï?À…ï?ð?@í?Õâ?€éÕ?Tª?P€?à’?€Õ?ð?ð?Àøï?@Tï?€óï?€÷ï?Àîé?Àƒî?ð?ð?ð?ð?Àœï?À”ë?Ú?€Y?@l?@®â?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?©è?¸˜?x—?‘?¸™?˜³?€tÒ?Hœ?8–?€r?Àj?æ±?@x?pš?x×?À6ê?ð?ð?pï?ð?€¦ç?@)ì?ð?ð?ÿÔ?Àl?È?@Qî?ð?ð?ð?Êï?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?‚í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@@í?€Iî?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒï?@Sï?€¬ì?@Ìì?­ê?òê?€xê?€þî?@|î?€sí?²ë?@üí?Oî?€àî?€[ï?@Ìï?ð?ð?¨ê?À˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?@¥í?ÀÂï?@äï?ð?@Âí?ð?ð?ð?ð?ð?Óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Cï?êí?ð?ð?ÀÚï?Eì?€ˆí?ûï?ð?ð?€èï?@‘ï?ð?€ê?@ýî?@\î?Àí?@ûï?€¸ï?ð?ð?ð?›î?‹ï?ð?€é?°’?RÉ?Šç?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?@ï?@ê?@;î?&ì?pÒ?8©?y?€þÛ?€Jì?³ï?@gí?À­ë?ÀOï?ð?ð?ð?ð?ð?ð?¹ï?@[ç?ð?ð?ð?ð?ð?ð?ð?ð?ÀBï?@ ì?À\ì?øï?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?üï?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?À;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾é?Àyä?€¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóá?(?˜’?€Ö?@gä?kç?êÞ? —?@?`z? q?€‰?€eì?ð?ð?ð?ð?€ÿï?€Îï?“ï?ð?ð?ð?ð?€Xï?Àëí?@Wì?¬®?àq?p†?…É?‚í?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?ÀYê?£É? Ó?À€è?€—?Àl?À|??À%è?Àåì?ã?@¢à?Ħ? £?<©?$¦?€—?2Ó?€¬è?@sï?Àƒï?ªÂ?@hå?ð?€Êî?@Ä?$?€²Ý?ð?ð?ð?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@+ï?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zë?€ï?€oï?@Öï?€ùï?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?Àwé?À†í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂî?ð?ð?ˆï?[î?ð?ð?ð?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?ÀPí?ð?ð?ð?ð?€gì?@Pï?ð?ð?ì?@¾é?À\ë?_ë?ð?€î?7í?ð?ð?ð?ð?Àïï?âì?úï?ð?€¤ï?˜Ï?€Ÿâ?Ýß?€XØ?¾Ð?…À? ™?p‹?ÈÑ?ÏÞ?Àà?€Û?5Ã?áÖ?îã?@íâ?€ûÜ?€GÐ?.À?Ô ? ?(“?÷Ú?Àóë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’í?²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êê?€³ê?€ æ?ÀEê?ÀÞæ?Àóç?d½?[á?À{ê?@î?ð?ð?ð?ð?ð?ð?ð?ð?ví?@Éì?ð?ð?ð?ð?ð?ð?ð?Nï?Ãê?jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? è?ÀÚë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðë?@Åæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@=ï?Î?ÀÐç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒì?H´?¶º?wÕ? }?Àåè?ð?ð?ð?ð?ð?ð?Àhî?ð?ð?ð?ð?Àdï?@Lî?ð?#ä?æ´?ð”?„?¼¥?0„?•ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"ï?@í?µì?À`î?€Oç?€ýÕ?€Ù? Á?À|?¬§?ú½?Ê?|§? |?ËÉ?ìÒ?IÈ?@ï?@Ûï?(Þ?€a?Â?€|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒì?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ãí?€Dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ˆë?Gì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?@Åì?ð?ð?@=î?‡ï?ð?ð?ð?ð?ð?@sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿí?@¸ë?@Ûï?ð?ð?ð?€²ï?€vì?ë?@þì?Ñì?ð?ð?ð?ð?€+ì?Éï?ð?ð?ð?ð?ð?€™î?ð?ð?€ï?ç?oï?ð?ð?ð?ÀIï?@”ê?ùá?€<Ö?@{ì?@¶ï?ð?ð?@Ùî?@#ê?Àòí?À‘ï?ð?ð?ÀÇï?ÀÍë?€vä?!Ç?¬?€k?€ïß?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þí?€ì?ð?ð?ð?ð?ð?€ï?@‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥ê?ε?Œ ?ˆ’?0¦?x£? §?g?˜À?€Jï?Àåï?@nï?ð?ð?ð?ð?ð?ð?ð?€¤è?@àï?ð?ð?ð?ð?ð?ð?ð?ð?€Ëé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fì?€›î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?7æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?€Hè?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?€#Ö?Ò?˜¡?è ?|²?‚??€?À è?€ßï?ð?ð?ð?ð?ï?9ç?ð?ð?ð?ð?À‹î?ñï?ð?À½ï?@Vè?|´?Àk?Ž?Ј?F? Õ?À‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀPï?ÀÈà?€æ?€Ïï?@ î?Ù? Ž?(?Ò¾?ž¿?\«?`s?Ÿ?€ãä?À2è? Œ?$??Ào?Ä?Jî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?áì?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ï?€êë?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?€Äí?Àùï?ð?î?ÀÅî?ð?ð?ð?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€ï?ð?ð?ð?ð?ð?€´í?ð?ð?ð?ð?ð?ð?õë?ð?ð?ð?ð?ð?ð?Àöï?ð?ð?€Ëî?@ëê?@™ï?@’ï?ð?ð?ð?ð?ð?À²í?À’î?ð?ð?ð?Åï?€î?@`ï?ð?ð?ð?ð?ð?þï?ä?Àìë?€Õß?*´?$?¨’?€8ß?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íî?~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Hç?@›ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?¨®?D?€ã?€+î?Þï?À©ï?ð?ð?ð?ð?ð?ð?@Þç?ð?ð?ð?ð?ð?ð?ð?ð?ð?œê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ÀAï?mï?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?_ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºæ?0ƒ?À‘?€šÓ?né?ÀÍí?@ì?!à?*´?@i?x™?€¿è?ð?ð?ð?ð?ð?€Ûí?€÷ã?ð?ð?ð?ð?@bï?€Jï?ð?ð?ð?%ë?<Ô?p‹?ü±?€Jß?fÖ?€Ýç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?@Îä?:·?€h?Às? y?€Ô?„­?YÈ?yÄ?@f?D?Q?Àyá?€mí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ë?zí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À8ï?«ì?€@ê?í?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®î?Àï?ð?ð?ÀÔî?ï?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?À¥í?Àâï?ð?ð?@Øì?ð?ð?ð?ð?ð?ð?ð?îï?€Øï?À²ì?®î?€§ï?€~ï?ð?ð?ð?ð?€þï?dí?€Ïï?ð?ð?ð?Àäï?€ï?ÀEï?ð?ð?ð?ð?ð?Àtï?€Iê?ð?ð?@í?€ÒÝ?šÑ?àº? ’?àw?€QÙ?@¸ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?€2ê?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?€&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åç?Üë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À9î?Àç?€öÛ?$¹?€Þâ?À:ë?ð?ð?ð?ð?ð?ð?të?øì?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ì?@ìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@+ï?€±î?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Qí?xÀ?ÑÏ?ð?ð?ð?ð?Àïä?ª?²?Àšå?Àmä?ð?ð?ð?ð?ð?€ì?°æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?@Pà?@d?Ȫ?t¬?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?€<ê?€Þ?À?ã?%Ì?D¦?—?8’?k? t?€R?d§?ÅÉ?<®?€V?`¯?ÀKì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€eî?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Kî?€í?Iï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?aï?Îí?€Šî?oë?€¯í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?€Îî?ð?ð?ð?ÀMï?Àõî?ð?ð?ð?€,ï?@%ï?€ï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ï?€–í?ñí?@ î?@ºì?@¾í?ð?ð?ð?ð?ð?ð?ð?ð?€qï?À¡ì?ð?ð?ð?ð?ð?ð?ð?µï?@Èí?ð?ð?ð?ð?ð?€Ìï?€…æ?ð?ð?ð?ð?ð?+ë?@›î?ð?ð?ð?ð?ÀÚï?€Æî?Àé?ŒÜ?Ä?€>í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?)ï?ÀQê?ð?ð?ð?ð?ð?ð?ð?ð?ð?…í?@Kí?ð?ð?ð?ð?Àï?ÀØì?Ñê?€Íï?ôí?ð?@Mì?Xì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìê?6Ð?M?€¤Ù?@ìï?ð?@éï?@hï?@úï?Ààí?¯æ?@hé?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–æ?ÀPî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ží?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lï?šÓ?€ïÑ?ÀÕï?ð?ð?ð?€øï?Àé?íÞ?¾Î?b¼?R»?ˆÙ?ÇÜ?€Õ?hš?™?DË?ä¤?(Ÿ?kÒ?$Ù?ð?ð?ð?ð?ð?@äï?Ùê?ð?ð?ð?ð?ð?ð?ð?ð?À—î?ð?€èï?Àøì?Ë?,?³Æ?<´?ÀÄä?@Õì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èß?6?À?€â?€ÌÞ?”¤?@f?Ào?@„?€Ò?€g?xç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬ï?Àƒî?ð?ð?ð?ð?öï?À¢ï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?†ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€¡ï?@>í?À¸ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Çï?ð?ð?ð?@{î?€‡ï?ð?ð?€þï?€Éï?Àiï?@Ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡ï?î?.ï?€ï?€¤î?ÀJí?ð?ð?ð?ûï?ð?ð?ð?ð?ð?@öî?yê?ð?ð?ð?ð?ð?ð?ð?€Qí?åï?ð?ð?ð?ð?ð? ì?Æë?ð?ð?ð?@ýï?í?À×î?ð?ð?ð?ð?ð?ð?ð?ð?€Ñî?@Ô?Àb? ?€~Ñ?@?ê?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúí?@Ôë?ð?ð?ð?ð?Àýï?í?@/í?À‚î?ë?ÀÔì?€¼ç?ÀIè?À¨ç?×ã?€¢Ò?†Í?€Øá?{ë?Íë?ÀÖï?€‹Ó?@®ë?€«ï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘ï?€¯î?€ôì?®Ô?К?½Ã?@wï?ð?€“ï?€Nì?±é?€5ë?ÀÝç?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?Àì?@Jí?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?%î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@{ì?€ê?^ê?@2î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”ï?¡ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?€-à?@f?p“?À é?ð?ð?ð?ð?ð?ð?ð?Àxï?Ààï?ð?ð?ð?ÀGè?À–ë?€“ï?€Æã?P‡?B?À\á?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pï?@ä?ÀDæ?#ï?€5ï?@zæ?€o?Àq?€’ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±î?ƒè?eÃ?@s?JØ?€ëá?bÊ?ÑÏ?4¦? ˆ?@f?Y?À3å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€žï?Zî?ð?ð?ð?ð?À#ï?Æï?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üî?@ñï?ð?ð?ð?ð?ð?@ï?Àiì?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?@®é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôí?@Öï?ð?ð?Êï?^î?ð?ð?ð?ð?ð?ð?»î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Oï?ð?ð?ð?ÀÓï?@ì?ð?ð?ð?€Ëï?ð?ð?ð?ð?ð?×î?@¾ë?ð?ð?@Eï?€ç?@3æ?îï?ð?Ší?ð?ð?ð?ð?ð?ð?Yï?@´ï?ð?ð?ð?@éí?@ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTï?€fÛ?`?°Â?€è?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ë?ð?ð?³î?@‘é?€3è?|Ð?SÇ?ÌÍ?€Ò?€ÒÐ?¡È?ž´?£?€?‚±?8Ç?€–Ô?Ü´? ×?¿Ý?Àfê?ð?ð?ð?ð?ð?ð?ð?ð?€ï?—ì?@Må?Î?p©?P†?@r?À è?ð?ð?ð?ð?@í?Àºê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?€äè?qæ?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?šî?Àí?À í?Àñí?Hï?€Ãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?@Tï?ð?ð?ð?ð?ð?ð?ð?ÀÆî?ì?6ï?ð?€ýï?€çí?€²é?óë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsë?Àšî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€ýï?@ãï?ð?Ànì?5í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þç?°œ?HØ?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?Àßá?8’??Ü?€µï?àí?ð?qí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿë?€wÔ? á?@rî?€õï?@Ïï?zÌ?x ?ÑÛ?€Ú?êº?@?áà?Ànï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üî?@Cã?€ˆÜ?øé?ÀBé?€ôÝ?p¼?p‰?P?*¸?Øœ?ð†? “?ÀÉä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‰ï?Àüí?ð?ð?ð?ð?Àèï?À‹ë?Ùï?ð?@·î?@mï?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?À\ï?€µï?ð?ð?ð?ð?À¥í?ð?ð?ð?ð?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<ï?€"ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbï?€óï?ð?ð?ð?ð?ð?À§î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýî?€5í?ð?ð?ð?ð?ð?öï?€þí?€Ÿí?€oí?Àxí?€Zï?ð?fï?€hâ?@Çæ?€Óæ?ë?ð?óí?ð?ð?ð?ð?ð?ð?€¯å?€è?@úî?ð?ñï?pì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?@°å?š¼?0‘?€:Ü?€¼ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?Àkã?€ Ó?è¹?˜¤?Àf? ¦?;Ã?3Ö?ÿâ?@sé?€€ï?ð?ð?ð?€ªç?¯À?ø¨?4?€ïÙ?ð?ð?ð?=î?Òé?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFì?LÞ?ÀAï?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?€îï?™í?@¡î?€Óï?€øï?Ýï?€Cï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?À€ï?€î?@âï?ð?ð?ð?ð?€ãï?@åê?oç?çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ì?mî?ð?ð?ð?€ðî?€î?Àqé?{ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¦î?@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}ï?ØÄ?Ʋ?@ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?À=ï?ð?ð?ð?ð?Àñï?@^æ?p‡?€‹?€×Þ?À´ï?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?@_ì?€šë?ð?ð?ð?À5è?Àv?Àl?a?·Ã?˜é?@œî?À!à?€kí?€ í?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wå?`?(‘?`~?Àw?¨¢?¼?ÉÃ?q?ðÜ?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒî?Èï?ð?ð?@ìï?÷ï?€ñï?À§ï?ð?ð?Àýï?€ôï?ð?ð?ð?ð?@ãï?uî?Àï?þï?ð?@õï?Úí?€ï?@éï?Àüí?ÀŽì?êî?ð?ð?ð?ð?ð?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À>ï?ÀÆì?@1ì?ÀÇí?@Fí?@£í?çì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%î?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-ï?@yî?@½ï?ÀÙï?€âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€–ì?þï?ð?ð?ð?ð?1î?:ï?ýï?À4é?Àè?€Zï?Àæï?€ë?€¬î?Àþï?ÿï?ð?@Éï?@€î?ð?ð?ð?ð?ð?Àùî?É?Ç?€FÚ?€~ï?À«ï?@_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?@+í?éë?€)Ó? r?4ª?Àßâ?Àmí?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡ï?€Äë?ÀÜá?LÇ?Ào? y?5Í?Èë?Ûì?Ý?D£?Œ§?À ë?ð?ð?@Ýè?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óä?Ô?€„è?@œì?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûí?À*í?€áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?@Bî?ð?ð?ð?ð?ð?ð?ð?ð?Àïí?׿?À]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ë?€gë?€nì?€ ë?aî?ÀÄë?€Ðç?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À9ï?@jê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èá?=Î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ã?a?€§Ô?ÀFï?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?@%ï?j¼?bÁ?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?@Dï?ð?ð?€Æï?@ûí?j³?€?ü³?–?€MÔ?ÀÎì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íî?€*Ð?´Æ?b°?À ?“Á?r?8¡?€¨Ò?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\î?ð?ð?ð?€Æï?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€Àï?€hï?€‚î?ð?ð?@åï?Ëë?€{í?À]î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<ï?@í?¶ï?ð?ð?ð?ï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qï?À\î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ï?À ï?@óí?|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹î?@µì?ð?ð?ð?ð?€6ï?Àïí?î?€%Ñ?GÈ?€få?ÀFï?ð?ð?ð?åï?@þï?áî?¿ï?ð?ð?ð?ð?ð?Œã?¤±?€KÑ?é?ð?€Æï?À%ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþî?€@ï?éÜ?(º?€Z? ³?ÀGá?€wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ê?€3ã?€~Ò?àŒ?þ°?Ü·?ÝÌ?í?ð?€ªç?Àlï?ð?ð?ð?ð?ð?@¦ï?À¡ë?@âî?€èï?@Ùï?€Ôí?@ é?@Qæ?tå?ôÚ?0™?ÀÅê?Rß?@¡â?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lï?ð?@ñï?Àþï?À¹ï?ÀÛï?@5í?!ì?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úè?À,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜î?@\è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?uë?ð?ð?@Êï?ì?‚í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?ÀÑî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€îï?ð?ð?ð?ð?@Æî?öè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?jí?\»?àt?€hÔ?€)î?ð?ð?ð?ð?ð?ð?ð?@ší?ð?ð?ð?ð?ð?ð?ð?çÜ?"±?0?Ü·?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?@É?üª?€äã?Áå?@Vë?€²ï?@Èï?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åî?@æ?Ë?p‡?|»?6³?Àl?R?Àc?€éØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èî?ð?ð?ð?€ï?ð?ð?@Ñï?@õï?ð?ð?ð?ð?ð?Àþï?ÀËï?åï?@Lï?€öï?@ªï?šî?Àðì?Àªí?À²î?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?€éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Tì?Àí?ð?ð?ð?@­î?@ï?Àoé?ÀYâ?€„å?@Êì?@é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sï?Àá?§Ö?€/è?­ë?ð?ð?Åë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àpí?@ýç?BÏ?b?ìÁ?6à?è?€ ï?€þï?ð?ð?@úï?@šì?Àñâ?¥?©Ç?€Þé?€õâ?ð?ð?èï?Àôï?Àî?@Ãê?ðß?€êà?€ÁÞ?”×?Ç?X?E?š±?§?¼Ã?€ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nï?@Ëî?Áí?€î?@Îî?ÀÂî?À/í?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úî?€§í?@«é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?Ààé?@Ñé?€è?%è?€Ðê?‹ï?@¾ï?ð?ð?ð?ð?ð?ð?ð?ð?¨å?ÀHî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óì?€Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?‡Ú?àÖ?À£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€ÀÕ?¤Ï? î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?€~í?.É?ˆ¸?@¦î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?kï?BÆ?8°?€6í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚è?©ç?@²ï?ð?ð?Àî?*î?@Qæ?CÉ?Ü?À@â??a?Àã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œî?ð?ð?ð?€äï?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€„î?@Êï?ªï?À<ï?Àþì?À¶ì?@-ì?À‘î?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñï?€tì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?Àñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?ßï?ð?ð?@ˆí?€î?ê?@¹í? ë?@þã?€¤í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~ï?€¹ï?€Ûì?Õï?ð?ð?ð?.ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€(ï?_ì?Sâ?€£?T¥?*¾?€ç?€îì?ì?áÜ?œ?Œ¬?€9Ó?Àà?>Ù?òÏ?ÀÈ?2¼?˜?¤?ÀÚê?Àì?À`ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?òé?aé?ð?€âï?€ÿî?@ôï?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ié?@ií?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?Àåè?Èè?€Ûé?À‚ê?€ í?@¶î?€­ï?ð?ð? î?@zì?êí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‚ì?sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òî?d¿?P©?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?@Û? ?öÑ?À7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œï?\Ì?œÌ?€ëì?ð?€Õï?€\í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?'Ó?€SÔ?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?Àjä?ˆÓ?€à?Kê?eà?€yÐ?À?„¢?€úÒ?€Iç?€r?€‡Õ?fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?€öì?@Sì?>î?@ií?€£ï?@&ï?·î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?‚ï?ÀRï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îë?ð?ð?ð?ð?ð?ð?ð?ð?À&ï?Àî?€“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëë?äï?ð?ï?À“ê?ð?Àêï?Çä?€FÝ?€áè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­î?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Tï?@²í?Àrí?Àæï?‘ë?yÊ?€Ýç?šÀ?:?´£?p›?€jà?‹ì?€¤ï?ÀÝï?€Ôï?€#ï?@ûï?ð?ð?ð?ÀÄî?Lï?€Bï?€§ë?@Ýê?ÀQê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dí?:é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?€ãï?ð?µï?€Œï?À†í?@\ì?€Üä?@Ké?+í?âë?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰î?¨í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~î?ì»?}?aé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?‘à?@‚?E?5Å?€Óè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ê?€_Ñ?‰?£?žÝ?Àpï?@Úï?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eê?ˆ ?À|?w?€T?p½?À°ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@4ì?@hæ?€”Û?€äæ?Àªæ?°˜?Ê? Ó?‡Þ?€uï?Lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèí?ðî?ð?ð?ð?ð?ÀXï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?/ì?€Èï?ð?ð?ð?ð?@³ï?€fî?€ýí?ºî?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ë?@Ñï?ð?@ðê?À+ï?ð?€Æå?¦?€ÛÔ?€ìê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?@kí?@jí?À î?@–î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@®î?ií?€Ýï?ð?ð?ð?Ìæ?€uí?€që?ø»?0®?€©Ú?€áé?@Âë?€•Ý?€Mæ?À”ï?ð?ð?@õï?ƒê?œë?Rì?À“î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? í?ûì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?…ì?.ë?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷å?ô ?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?Ÿã?ð?Ú±?€Pê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏï?À=ï?Pè?éÅ?éÇ?üç?Àåë?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@'é?Àˆ?€ØÚ?À]æ?Ìä?€·? ©?ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?jî?@”ë?@ÿç?€ôÝ?€¥Ú?+Å?h?–?õÜ?>¹?’?x®?â?@`ä?Vï?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?î?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?×ï?@íï?ð?ð?ð?ð?ð?Éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?ÀPí?ð?ð?ð?ð?€¼ï?€`í?Rì?›ì?€jë?€í?Èë?@’ê?€cë?@Eî?€î?”ë?@Šì?À.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aï?î?Lí?@zï?ð?À}í?Àí?ð?À#ê?€¼×?€2æ?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?@¼ï?ð?€2ï?èí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?Jï?ð?ð?ð?ð?@ëì?@6î?À‘í?ð?@Âà?,?ð¦?:Ë?t§?€îß?§î?€yí?@î?²ë?À¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µë?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úé?ÀÓè?3ç?€'ç?€rå?À‹æ?€Eê?ÀÔè?"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"ë?@¸í?€´ì?@êí?ð?Ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€4ã??€‚ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\æ?„ ?Ê?€÷í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?¯í?€hÒ?<È?€øè?À•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuá?ÀŒ?&Ë?Àòê?@ƒï?rÊ?~¸?Àœç?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yî?€²ì?Àæí?Àkî?@ýë?Àêà?Tµ?@j?Y?<Ç?F¸?„º?Àëã? æ?ð?ð?Óï?Àùì?€6ï?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?€&î?}í?ð?ð?ð?ð?Àòï?ð?ð?ð?ð?ð?ð?Àíï?À÷ï?ð?ð?ð?ð?€kí?€6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?>ï?ð?ð?ð?€mï?À*ì?€mî?€•ï?Àùî?Dì?À—ê?€ï?€Îí?À‰ï?Àï?Àï? í?ï?ð?ð?€Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖí?ð?ð?›î?ð?€ßï?@äë?ÀUï?À*ç?€â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]í?€Ïï?ð?ð?@Æí?iî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mî?Àÿî?ð?ÀÊï?ð?€]è? É?¡?€Aä?ÀQä?\«?¸œ?âé?ÀÐï?€]ì?€Àî?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mê?€Ãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Èï?øï?ð?ð?©ï?€ï?@¼ï?@@é?@êé?@Yè?€së?lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ë?@±è?Àì?@Òê?€àí?ð?ð?@¶ë?ð?lí?€Ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çÝ?O?€Ræ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?@åä?ô ?(?bÇ?*Ø?Þ×?€¸ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þê?zÒ?¼ª?ú¼?À`é?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€GÕ?’?‚à?@Ôá?€Š?D«?Àíì?ð?ð?ð?ð?€„î?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Uï?€ˆí?€!î?€ì?@è?£ì?ÀBè?€¾?[Ø?F°?’?×À?KÊ?@zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcï?€ í?ÀŸí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?Àï?ð?ð?€Qï?@Uí?€ªì?ùï?ð?ð?ð?ð?€/í?@wï?ï?@Úí?@êï?ð?ÀZï?€’ê?ÀÞï?ð?ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞî?€<ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?@ãï?À©ï?@àî?®ï?pï?ð?ð?€ýï?ð?ð?Þì?ð?ð?©ï?ÀÑì?€Ãá?€¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?‚î?ð?ð?ð?ð?@Dï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À î?ð?ð?ð?ð?aí?ˆÐ?Í?÷ï?€€ç?ð•?@`?Àkä? î?€ï?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?@-ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?@æ?Ànê?Àêï?ð?ð?ð?€ðï?€¢ë?ðë?À6ë?øê?ÀFê?ð?€'î?À—ï?ð?ð?ð?Àcê?€ ì?`é?Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?Àšî?À$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•æ?f±?à€?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À…ç? ¢?>Í?^ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ë?€|Ö?À‘?D«?ÿê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?„î?@õï?ð?Àªï?©í?@2ç? ¨?| ?`¶?à~?€U?€µâ?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Hï?Oí?À–ê?@Wé?@Zè?À8æ?@Þà? Ø?yÇ?fÈ?ûÐ?€4Ý?€`?0¬?ÀÒä?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀí?ð?ð?ð?ð?ð?ð?ð?ð?ð?/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?€î?€Öí?Àþë?À€ê?Oí?%ë?ÀIí?@Œï?ð?ð?ð?ð?ð?î?Ùí?åï?ð?€Bï?€$ï?ð?ð?ì?tí?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€ùí?Àýí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßî?£î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽî?@éî?@þï?ð?ð?@Âï?@´ï?ð?ð?ð?ð?ð?À{î?€vî?ð?ð?Àí?ÀÔä?•è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãî?ð?ð?ð?ð?ð?@æï?@¿í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?À÷ï?ð?ð?ð?ð?@ìí?™Ð?Î?|è?€ï?ÐÉ?¤¹?@Mé?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õî?@áè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚ï?€Zí?ÀDé?@kè?Xç?@õä?À$ä?@ì?@èí?@Wï?@Áï?ÀHï?ð?ð?ð?ð?ð?ð?€dî?@³î?@!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hï?Zï?mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?È?€^?Mæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€§è?ʰ?€ÃÓ?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?€å?¢µ?$?|Ö?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?Àþî?À¥í?©í?Àî?„í?À|ï?Àlí?î½?Àt?ƒ?(?€IØ?@ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿ì?@üå?ÀÍá?á?À³?\¿?ܯ?@æä?à¬?Àh?á?€>í?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?@íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”ï?@øï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ï?@í?µï?Àëï?ºï?@~ï?@‹ï?€½ï?ð?ð?ð?ð?ð?@¨ï?èì?€Øî?ð?ð?ð?ð?€ðî?ð?ð?ð?À•ï?€´î?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uî?¢î?ð?ð?ð?ð?ð?ð?ð?áî?€Fî?ï?Cî?Àúî?À‹î?€î?@Âí?À^î?@î?ð?Õí?€ßì? ï?ð?ð?ð?ð?ð?ÀØï?ð?ð?ð?ð?ð?ÀÞï?@Íí?ð?ð?ð?€@é?À+ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{ï?À=ï?À¼ï?ð?ð?ð?ð?ð?€ìï?@ní?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?@ƒï?ð?ð?ð?ð?ð?€Àî?½Õ?/×?Õì?æ?`s?ê·?€jî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‚ï?@Éê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?@Hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?Àä?ðª?@Tá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ê?N²?`ˆ?/å?ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·í?2Æ? ?p?€Ý?ÀÙï?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?±?‡Á?`É?`w?€LÑ?À•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lï?€ì?Àšà?iÛ?¾¼?€W?€9Ý?Bî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À&î?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-î?Ëí?@ðï?ð?ð?ð?ð?ð?rï?ð?ð?€´ï?ð?À‰î?À‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhî?€öí?ûî?Àûî?ð?ð?qï?@í?ÀAì?¸ï?@eï?À«í?Ààî?ð?ð?ð?ð?€î?@ï?€"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ì?ð?ð?ð?€Lê?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@î?@îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€zî?ð?ð?ð?ð?ð?ð?ð?€=Ý?T¦?¼¨?Àå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸ì?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoî?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜï?@\ä?°?Àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ì?UÆ?È‘?¹æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?íå?˜­?d¸?@8î?”ï?Àíï?Àï?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?@¿î?¾?@r?€ˆ?Àl?¥È?‹È?Ÿ?•?ÉÍ?À~ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?·æ?€'Ó?À®?Àk? p??@i?€c?äÂ?€Ðè?À®ì?€ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?)ï?@Èí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~î?@·ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?–î?Äí?À‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2ï?€¢ï?ð?·ì?À³î?ð?À¼ï?€”î?€kí?À¼í?À¿í?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?@î?À$î?À!í?ë?@òë?@°î?@Åï?ð?ð?ð?ð?ð?ð?ð?€Æï?@&ï?ÀÖí?×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?€Íí?ð?ð?ð?€ í?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlî?€Èï?ð?ð?ð?ð?ð?ð?ð?@ªæ?@iå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À(ï?€ç?€Éé?‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\ï?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ûï?ð?ð?ð?ð?€Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?jè?À?€/Ú?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?„ì?–É?Ñ?@]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@fæ?d°?—Ï?@Fç?ð?Àúï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þí?ΰ?€‡?ÿË?P ?8›?p€?à€?`w?ܰ?x–?iÃ?S?€]?,«? Ð?hÛ?`å?@í?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßî?@¶æ?€7Ü?˜«?@`?Pƒ?F?x ?`Œ?À å?Àší?€·î?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?À¦î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À]î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?@÷ï?ð?ð?ð?ð?ð?ð?€¶ì?Ìï?ð?ð?ð?ð?ð?ð?@Jï?ÀÃí?Ží?_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààê?€óï?ð?@Åí?€ßì?@"î?€´ï?À³î?ð?ôï?À[î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?@âï?À÷ï?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ëï?@‹ì?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?€¥í?€~ï?ð?ð?@¯ï?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€í?Rµ?°¯?@Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?@ìï?€½ï?Àxï?–ï?@éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬ì?ÀGí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xæ?À>è?@íì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@eì?§ç?@’é?€hê?ÀÅí?Àíí?@qî?—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?€äï?ð?ð?ð?@®ï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?„Á?QÒ?.ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€3é?À?€Õ?1Ï?@b?%Ê?€âä?ð?ð?ð?ð?ð?@úï?@Ûæ?Àë?þï?ð?ð?ð?ð?ð?ð?ð?€eà?hÆ?@\ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ZÂ?@z?Á?Ð…?€0Û?P“?€U?8?Q?Pˆ? Õ?C?S? Æ?€ÏÙ? á?yæ?àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?€î?€~ê?€ìä?½Ó?€X?ø˜?€h?æ´?À·é?€ûï?Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€tï?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ï?À—í?€­î?À?ï?ð?ð?€÷ï?#ï?€‚ë?ÀÒí?Ûì?@öì?@‹ë?Àêë?@kì?€¦ì?À–ì?ÀÀì?€´ï?€ÿí?€pî?Ààì?ð?ð?ð?À¼ï?€2ï?©ï?Ïî?@‚í?À®í?ð?ð?ð?ð?ð?ð?ð?ð?@'ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?ÀZï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?€žï?ð?ð?Àðï?ð?@×ï?À›í?`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïí?Àïï?ð?ð?ð?À•ï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×?7Ë?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øî?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîî?Ànì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Jæ?À—ì?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀJî?Àè?ÀÝì?äë?€ ê?@í?@ í?@‘í?€Që?Uè?Àì?Ãì?€!ë?Àë?€­í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@»á?Ô?@ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lé?<®?Àˆ?€æ?€òí?€Ùâ?8ž?žÆ?Æï?ð?ð?ð?ð?ûï?@Aâ?@ká?À"ê?ð?ð?ð?ð?ð?ð?ð?Iå?–Æ?t®?ÍÂ?{í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?€jé?ž¸?ày?È—?€[Ô?@{?L­? †?{?@p?#À?€kÖ?Àyã?yî?@»ì?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µï?Àßî?ð?@nï?Àœï?€aï?Àñî?é?¨?µ?÷Ê?$­?T·?ßà?@»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—ì?À}í?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mï?@Gï?€±î?Äï?@Âí?€fì?Àðí?€àî?€ãî?Àï?€¡ï?À&ï?€ýï?@íï?úï?ï?8í?@±ë?éî?ÿî?@øï?ð?ð?@¥ï?€°ë?@oî?Bì?À'ë?€Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mï?€Gï?@zî?€:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6ï?ð?ð?ð?ð?ïî?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Vï?ð?ð?ð?@òï?ð?ÀZí?Iî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*î?€Ïï?ð?ð?ð?@šï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Vè?`‚?€éÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?€Vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦í?Ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?Àýé?Àáë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹ì?À ê?óê?€ºï?ð?ð?€¿ï?ÀÇï?ð?ð?ð?´ï?¡ï?¤ï?ºï?@¤ï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£ï?@¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@/í? À?™Ë?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@bé?T²?V·?§â?@ëå?Àòä?ŸÂ?Y?ˆ±?Àï?ð?ð?ð?ð?ð?@ï?À†î?€!í?€Ðï?ð?ð?ð?ð?ð?ð?ÿï?@4ê?@‘â? ?D­?€z×?ñè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@`ì?€~Þ?€T?’?ð§?`?šº?Àæ?Ûï?€í?€Úï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?Àüï?ð?ð?ð?ð?ð?ÀŽï?ÆÕ?B?\?ܦ?t¾?‹ß?F±?¶¿?€}Ü?lä?@4â?@Úè?Àzí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šë?íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?$ï?ð?ð?ð?ð?ð?ð?€~ï?øí?€*ì?@‡ì?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?€%ï?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€~î?€>î?åï?ð?ð?€öí?Çî?}ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀî?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?‡í?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?Þí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?ìµ?Àâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ï?@ì?@tï?‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹î?Àrí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ï?@dç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?@ßê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?@„í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üì?€aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿØ?@2à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øè?4»? Š?a?€¿Ø?ÿç??Ó?d¢?ÀVï?ð?ð?ð?ð?ð?ð?ð?@Lî?À_é?÷ï?ð?ð?ð?ð?ð?ð?€¬ï?\ï?ž·?Ç?€Ãë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Më?x¥?€U?È£?@µ?´­?„Ç?Àå?Àmê?Àeì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uî?SÎ? r?P?è¹?À~ë?ð?¤Þ?ô¯?@è?@¡ç?ÀÇí?bí?€¼ï?Àzï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ÀØî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìí?ð?äï?Àñî?@ï?€ï?ôí?€†ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€"ï?ð?ð?ð?ð?@'ï?€~î?ð?ð?ð?ð?ð?ð?ð?ÀŠï?@gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áî?€ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çî?ºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mï?hÚ?@`?€}ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èî?«ì?Àî?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?wë?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ æ??î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?Àxí?@Šé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@7ì?ÀIî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?€Æï?ð?ð?ð?ð?ð?@åî?@Žæ?Àüé?€ë?€?ì?À™ê?€@î?Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýê?œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§î?×ß?˜¥?’?šÆ?‘Ì??€[? q?@?À&â?î?ÀNï?ð?ð?ð?ð?ð?@‰í?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€aß?é?€’?0›?B?`v?ÀPê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµï?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¬î?€ê?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?@˜ï?€Aî?ÀKë?@äè?@€é?€Eë?Ié?@ùå?@%ì?€ãï?ð?@Vì?À®é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À!ì?€[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€wï?À©ï?ð?ð?ð?ð?€•ï?€à?@!æ?ð?ð?ð?ÀÕï?À!í?@jê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šï?ÀÁå?SÂ?q?г?€g?PŒ?9Ð?PÚ? |?(œ?ú¿?À ç?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Gï?€xÜ?ÆÎ?=î?ð?Ðá?à¡? r?,¥?hš?Ö?€<è?@Ùî?ÀHï?ð?ð?ð?ð?ð?ð?ð?ð?@ëë?­?@„?Pã?€Vç?€Øë?€`ï?À?í?€ùë?@Ÿí?À¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fî?€'ï?Eï?ÀÜì?@ê?€.å?VÖ?}?p?`?(?°…?¡?tº?@¦à?è¤?@Vá?ð?@1ê?ì ?È“?ÀJé?˜í?@`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Iî?Àdï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXï?@þï?€Øï?^ï?@çï?@àï?ð?ð?ð?ð?ð?@æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þí?@^ï?ð?ð?ð?Pî?€Øï?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'î?ºí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?Ë?Àæ?€ŒÔ?À˜?€¼ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þì?€Aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?né?ð?ð?ð?ÀÚï?€@í?òî?ð?ð?ð?ð?ð?ð?ð?ð? ï?€½ë?]è?ÀÇç?@ é?€ìé?Jé?€£ë?À|ë?(í?€•î?€âï?ð?ð?ð?ð?À7ï?€‚ï?€tê?©ë?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQï?Yî?ð?ð?ð?ð?"ï?@ëè?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?ð?ð?ð?ð?€î?€áÚ? Ž?ÀFâ?ð?ð?ð?ð?ð?ë?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€úé?öÓ? „? z?f¶?r?t°?Ƽ?h¾?$¡?€^Û?Jé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àzí?€ é?@ƒï?@êï?Àè?KÏ?Àoã?@7ê?h¶?r?:Ï?Àhî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àà? ¤?ÌÏ?0³?ÀUé?€5ï?ð?ð?ð?ð?À±ï?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï??ï?¡ï?€6ï?±é?À?à?pŒ?°›?H‘?x—?€5æ?€Ú?F?@É?€¨Ù?ÐÂ??`?€6ã?ï?»ï?@õï?@Çï?ÀÄî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?€Uì?î?ÀÎí?Æï?À‘î?ð?ð?ð?ð?ð?ð?ð?À‹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€tì?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ÀÑì?ÀÖå?)å?@é?àx?¢?@ê?ð?ð?Íì?oë?ÀVë?Àkï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sî?Àrì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šï?Àãé?ð?ð?Àœï?€¾ê?Àùî?Àüï?ð?ð?ð?@{ï?@:í?Àé?€xä?€Êâ?Àîä?€÷é?Àî?€Îí?€Gî?‰ì?@èí?Öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?€Fí? ë?@vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?À@ì?À¹ì?Àžì?@mê?Pì?€®ê?À³ì?°ï?ð?ð?@]é?ÀJî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(è?RÅ?G? r?¿ã?ð?ð?ð?ð?€Ðï?À\ê?€ôï?Àãï?À¡ë?€Tç?ÀÂé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?Àoê?€ýÓ?—?@?ž?@¨ä?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yí?@î?ð?šï?Àwá?ð?Àüï?éÅ?:?pÖ?ˆè?Àœï?ð?ð?ð?ð?ð?ð?ð?@5ê?œ?X¯?@eë?˜ï?„Ó?`q?6?$?Ë?ÀÂï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?€›î?€Ôï?ð?ð?Àqã?Àd? ž?Ѐ?K?À›â?|ã? Ž?ÀŒ?@?B?0?€??²½?’ì?€Üï?€îî?àí?€Fí?Àƒí?Àòí?Üï?ð?ð?ð?ð?ð?÷ï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©í?@¶ï?€î?Àî?@áï?ð?ð?ð?ð?ð?ð?ð?ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ë?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoï?@©ì?ÀÆá?ÀÒà? ¾?À`?˜›?Àp?Ý?ð?ð?î?€”ì?ð?À‚í?°í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€žï?€©ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À<ï?™ê?ð?ôï?üê?À0ï?ð?ð?ð?Eî?€„ë?@mê?€ë?€‰ì?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?ÀÛï?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ÀMî?‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ï?À+ë?€ î?ð?ð?ð?ð?ð?€½í?„ê?@$í?€ì?üè?€\ï?ÀÑí?À›ë?€3ì?Æí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?²Ì?êÎ?Íï?ð?ð?ð?€>î?€úè?€Ôí?îì?Àç?ÜÔ?@ç?€oé?ÀÌî?@^í?À#è?ð?ð?À¥ì?@Îë?@.ï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\î?€Þ?d ?Àh?|£?T¦?€¡ß?Eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•â?Àšë?À ç?h›?€üÙ?@Šê?ð?ð?ð?ð?ð?€kï?@ûï?€CÜ?€Ô?€í?ð?€ï?Àã?Ø»?¼¾?ZÆ?|Å?̨?€P?ÛÕ?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùî?€ºî?ð?ð?ð?€£ï?ÀÉä? ¡?L ?à?ÖÃ?¦½?hÏ?€ï?@í?€ÇÞ?€P?Àh?ð®?€9å?Àè?€ïã?ÀWî?€èï?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôí?%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?€èï?ð?ð?ð?ð?ð?ð?@ýï?€jí?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~î?À™ì?À™ë?@™í?@©è?@ëã?ÁÖ? ˜?6¾?¹Ö?N¸?@žè?ï?À]ì?ƒì?ð?ð?ÀVì?@ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€>í?ÀÌê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?À3é?ð?Kë?]í?ð?ð?øï?À÷ç?Àåç?@)í?ýî?=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óî?Èì?€œê?€Ôë?Wì?ÀPê?@.ê?€,ì?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dí?@xí?ð?ð?ð?ð?ð?ð?ð?À©ï?@Áî?€%ï?Çì?€Uì?@Ïæ?ì?Ûï?€Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?@Mì?Ô?ºµ?¨?ñÒ?€<ì?ð?ð?ð?ð?@†î?@í?€Õå?Ô?€<ã?é?€3é?€+å?€ Ó?öã?€Mé?@õï?ð?€1æ?@Nâ?€Íè?À†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jé?È?4?º?~Ä?è ?8ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?!ï?€ªé?Àxê?Àæà?Bµ?¾Ö?@À? ?¤®?ÿÝ?€,í?€™ï?ð?ð?@7ë?À¬ì?À–é?H?P?€‰Ò?€bë?ð?ð?ð?@Éï?@}î?€ï?@î?€ðë?HÚ?À?Z·?Ä?ÀŸë?@é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ÀØï?Àå?v·?¦?€â?Ãí?ÿØ?€Ùà?ð?ð?dæ?à{?|?Àº?¦Ë?@c?Àl?í?@î?Óî?Àoì?øá?Àˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?f×? q?ˆ’?Àæ?ð?@ ì?«Î?$?€øÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àqï?€Òä?Æï?ÍË?¨“?ÕÄ?Àx?ø™?àt?¡?ˆ?EË?x£?ëÐ?€Ù?<¿? ?‹?ÀYå?€ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àzï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëî?@ñï?ð?ð?ð?ð?Àê?¥?€4Ø?ð?úï?€Ûê?€Àê?Œ¶?(?¾¹?ß?@Wç?ð?À9ê?@ˆá?€hÜ?@îï?Àÿï?@¸ê?t¾?¶»?Àí?ð?ð?Öã?0™?@ià?Tê?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ï?€Óï?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?À|ï?ï?ð?ð?€‘ï?€.ë?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?`ï?ð?ð?ð?ð?€Øï?†í?€±í?@«ï?€í?ÿî?›í?À÷ï?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eï?€Tî?úï?ð?ð?ð?ð?@ªî?@ãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?åï?ð?€ëè?ð?ð?À©ï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýî?@„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìî?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?ÀRí?€3é?€·í?ç?¾Û?B?x¡? È?Ànë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ï?ÀYë?ð?ð?ð?ð?ð?ð?ð?ð?#ç?€ï?@Ëï?Ðè?€"ì?Àzá?€êî?¿í?À=ê?€jë?Àpì?À›í?ð?ð?ð?ð?Öê?€¢é?€í?áï?ð?ð?ð?ð?ð?ð?—ï?€ºí?ð?ð?À=í?@aí?ð?ð?ð?1ì?€»ï?ð?ð?ð?ð?€Šï?ÀÑë?€öë?@ïê?À&ï?ð?ð?ð?ð?ð?ð?÷ï?À?ë?@ìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fî?ÀRê?@Ìï?ð?ð?ð?ð?ð?ÀOë?ð?Eï?æê?@¼ì?Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wï?€ƒê?À¬á?@Èì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôí?€îí?ð?ð?@Xí?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À9í?€ßÑ?eÁ?Àï?ð?<ï?€Ø?L?D±?@üí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ä?€Ÿî?@ìé?ØÞ?Àpí?@ê?iÃ?ÞÙ?Xœ?ˆÀ?Àà?À#è?€Ó?@­é?€‚é?@äâ? ž?P†?€g?ˆš?ª? è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?€Qî?ð?ð?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ í?@sè?ð?ð?ð?ð?Àúï?@#æ?€@Ñ??²?Ó? {?P‡?«?¬Ù?€ˆâ?Ñç?@"ì?€Kì?ÀÐï?ð?ð?ð?ð?ð?ð?õï?ð?ð?@¾ï?€#ë?@Oï?ð?ð?ð?€¿î?Ðî?@„î?€Tí?Àpí?ð?ð?ð?€®í?@„ï?ð?ð?@Ëî? î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bï?Àï?ð?ð?Àí?@Îï?@ñí?À±ï?ð?ôî?€½ê?@-í?À7í?ÀÝì?@ì?ÀÌî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eï?€$í?Àqí?ð?ð?ð?Àï?Lì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?Àžï?@€ï?ð?ð?ð?ð?Üï?€Pê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃï?@âí?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?•ï?ð?ð?ð?ð?ð?ð?ð?€¹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?À‡ï?À•í?ôì?Àí?Çï?÷ï?@Âç?TÑ?@Ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï? ë?ð?ð?ð?ð?ð?ð?ð?ð?€€è?ð?Àˆé?ïí?jÝ?@ví?@ké?€\ë?@Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘ì?ÀPè?€é?bî?€ìì?@ï?ð?ð?ð?ð?ð?ð?ð?€$ì?ð?ð?ð?@Øí?í?ð?ð?ð?ð?ð?ð?ð?€åî?ùë?ÀÙî?ð?ð?ð?ð?ð?À]î?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñî?@`ê?Àyê?‹ë?À•ï?ð?ð?ÀÎë?@èî?ð?ð?@\î? ë?€‹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãî?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßé?7Â?Š?€Ö?@ßí?ð?å?m?@f?€tæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹ì?@íä?@<í?€øî?@Ûî? ê?<é?t­?l¾?ŒÍ?Às?·Ä?€3Ñ?kÍ?“Ò?’?Àqæ?€ã?ø—?ðˆ?x©?(–?€X?Tª?@Hè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xí?è?€sä?@Çï?ð?ÀIî?@_ï?>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ââ?@»å?€ãë?€uî?ÀÇî?€Æî?€˜ì?Ï?€×Ø?›Ç?€V?[ã?@œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?@‡ï?Ôí?@´å?¸Å?‚Ñ?@æ?Àéã?ÀIà?€Ñ?ÍÈ? ¡?ì¦?€ôÚ?À(ê?öï?ð?ð?å?àº? z?Ȧ?è¥?@bå?¬Ê?ˆ?€Äê?ð?@óë?yÛ?À¶?@„?°Ž?K?òÀ?æ?èé?@Øï?ð?ð?@îï?@*î?€†î?@›ï?À×í?€kï?ð?ð?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?@Jï?€ ï?ð?@Ôî?Mì?Àrí?@ï?@Ïï?@Âí?ð?ð?€àï?ÀÚí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[ï?À]ì?€lì?rì?¦ì?ð?ð?ð?ð?ð?@öî?ð?ð?ð?ð?@Âë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äí?@çï?€Ší?€Xí?“ë?€~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ÀÂï?ð?ð?ð?€ì?ÀÃì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï? î?€(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?@?î?@î?€žï?ð?ð?ð?ð?ð?@[î?@Zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêî?€´î?qî?€éí?€_ï?ð?€úï?€1í?@øâ?ÞÜ?x§?²?€ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äê?ßï?ð?ð?ð?ð?ð?ð?ð?€xé?Àë?ê?@{ë?Åà?@åè?ÀÂî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êë?Ôí?Zï?€¿ê?€*ì?€#ï?@éï?ð?ð?ð?ð?@Ïï?ð?ð?ð?€ï?€Ãí?ð?ð?ð?ð?ð?ð?ð?ð?Àèí?@Gä?À€è?9ì?ð?ð?ð?€ ë?”î?0ì?À”ì?€Iî?€]ë?<ì?ð?ð?ð?ð?ð?ð?ð?ð?ýï?À\ï?Àûî?À¯é?Àï?ð?€pï?Âï?ð?ð?ð?üï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?€­î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?€¶æ?|¯?`u?€ûÐ?@×ï?@æà?€~Ò?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûì?€’è?'è?|ä?ÀQç?€¬à?@œ?ß?œß?³?nÑ?Ž»?@m?€©Ø?¼©?è¶?÷È?Æ¿?À~?€ØÔ?€•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸ï?€‚ç?Ié?@÷î?ÀÎí?öë?€Jí?À“ï?@Åî?€Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ê?ªÊ?ÈÎ?S?¡?qÀ?ÞÂ?ö¸?´¹?8?Q?hÍ?Iç?ÀZê?Àä?À|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€qî?€0î?ð?ð?ð?€ìï?€“ï?€.í?€î?ð?ð?ð?€Ãî?ÀGç?˜”?ÊÊ?TÓ?®Ë?Àí?€Qè?À¸ï?^ï?€åÒ?€v?Œ¤?Àtè?€Çî?Àýï?Àcî?€ßï?ð?ð?ð?óï?À±î?Óï?Õï?@ï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?€¿ï?€í?€Öì?1í?ð?ð?ð?$î?Àüí?Àÿï?ð?ð?ð?ð?ð?ð?ð?À ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸì?Àýï?Àì?@Öï?€¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ní?€ýï?@ï?:î?€!ë?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?Ðí?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€eí?@Üï?ð?ð?ð?ð?üï?@÷í?@Bî?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?€‹ì?Àˆî?€€î?ð?ð?ð?{ï?@rä?Ìâ?»Ç?Ä£?©Ü?€3Ó?@ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘ë?€rï?ð?ð?ð?ð?ð?ð?ð?@äé?€ë?ð?ëæ?€uæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Wè?Ùî?ð?Ààï?Àí?@›ë?€íí?ð?ð?ð?ð?ð?ð?ð?€¾ï?¥ë?‰ï?ð?ð?ð?ð?ð?ð?ð?€#ë?€6í?ð?¸ë?@Uê?oì?Àóë?@ç?Àç?@Ìí?@Zë?€Oå?@eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]î?À‹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”é?)â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€ªä?t¢?’?€ ê?Ú?Ì´?€=ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùè?€2Ð?Cè?»Ã?'Í?(š?P?…?¢»?D¡?y?ð¤?Ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³î?î?@ ì?@ëí?À1î?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?€ûÕ?H?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï? î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?•Í?Àe?åÑ?@®â?ð?ð?ð?ð?ÀÄì?Þ?àÅ?hœ?m?p¨?,¾?Œ ?@!ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýì?ð?ð?ð?ð?€Xî?Àî?Àï?ð?€óï?€¶î?¼í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁë?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‚î?@Jï?€Ûì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%ï?À›î?€àï?±ç?@,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€bî?ð?ð?ð?ð?ð?À¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"ï?ÀOí?ð?ð?ð?ð?ð?ð?àí?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãâ?VÇ?6Ñ?€£Ð?HŸ?÷ã?ÀÖë?À.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õé?@Ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dï?ªê?@ªè?@„ï?ð?ð?ð?ð?ð?@î?€6ä?@Äï?€kâ?À¾ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pï?é?@Âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[ï?í?ð?ð?ð?ð?ð?ð?ð?ìç?€Gí?ð?ð?@Mï?À‘ì?@×ë?€Ïç?@>é?ð?ð?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@oï?€Âë?€Éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Rï?@éì?€½å?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mï?ÀIí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†æ? ?Ì ?`}?vä?ð?ð?ð?ð?ï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?@|à?éå?€è?æÑ?Е?“?k?pƒ?Ÿ?@©í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©î?À.î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uï?€Äí?Àšî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óé?¨˜?š?Þ?€Ñí?€Ðï?}æ?‹Ô?Ñ?Àä?@ìì?=î?Àå?À€ã?€ìÙ?8Ï?À[é?ê?"â?€Kâ?LÝ?PÜ?žÞ?@á?@¿à?€üÙ?@¯î?ð?ð?ð?ð?ð?ð?ð?î?@eã?Àr?ì?€ï?€”í?ÀÚï?Àôï?ð?ð?ð?À0ï?€ î?@zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?©ê?Pï?€ ê?ð?ÀÄä?×ï?Àuç?€Dç?ð?9ï?€Ôê?ð?À\ì?€ãê?ÀKè?€}ì?€Áí?ÀÍí?@ëë?Àaé?Àè?@¿ë?€è?€ëì?Mí?À;ï?Àè?@Pé?‹ì?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?Ànè?ð?ð?ð?€‡ï?Jë?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?‚Ø?¸£?0³?€¢ä?lí?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ì?›À?¸?r?tÓ?@‰ë?€ñÖ?5Ç?Ø­?Jê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ë?Æ?b?€oÜ?¼©?¸ª?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?@aä?¹È? t?€¶ä?ää?@á?9Ó? r?Ð’?@çå?@Éî?ð?ð?ï?€ké?Rë?ð?À’ï?ïï?ð?ð?À2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ï?Õï?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDî?@î?ð?ð?ÀØí?@ã?@˜í?ñí?@ï?€¿ï?ð?ð?@`á?Ж?@{â?À®ê?ÀŒ? ”?ÇÄ?ä ?Æ?$º?¬£?ðÅ?³?[â?ð?žÛ?\È?˜¾?GÞ?€–ì?@&è?€vÝ?fî?ð?€ðì?aÀ?œ§?„Ú?ï?ÒÉ?€ Ü?€¼ç?³Æ?"²?@#ç?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?ð?ð?ð?Ùî?ð?ð?ð?ð?ð?€öï?€Þï?@xï?@ï?ð?ð?ð?ð?øï?6í?€>ë?ð?@?ï?À‰ï?@öì?@=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?€Gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~í?ÀÑë?@1ë?À…î?ð?ð?ð?ð?À'î?Àtë?Éï?À9î?@ùï?ð?ð?ð?ð?ð?ð?€Bï?ÀVî?€6ì?€:ì?ÀŒì?@ï?ð?ð?kî?€&ì?@ ï?ÀÈï?À—ì?ð?ð?ð?ð?ð?ÀÓì?@î?ð?ð?€(ï?ð?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼î?€¼î?ð?ð?ð?ð?ð?ð?ð?@éë?Àƒí?ð?ð?ð?ð?‹ï?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À!î?ð?ð?ð?ð?ð?Áï?Âí?@Cí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Wå?#å?Ø?€Ëì?€[â?€Õ?õé?ƒí?°ï?Àí?[ç?À á?šÓ?bÕ?€Äæ?7ë?Àpê?€´æ?€sß?€'Ô?˜Î?0²?æÄ?ð?ð?ð?ð?ð?ð?ð?ÀÁî?@ñê?€Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.è?Àˆï?€-é?@ ï?ÀOè?Àé?€·ã?¶ï?ð?ð?ð?ð?ð?€aï?€tï?ð?ð?ð?ð?ð?€Ãí?À ë?3ï?€ï?€ì?€×ë?À‚é?€ëï?€]í?€lë?À(ë?dë?ÀPí?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?Àê?Àõí?ð?ð?ð?ð?Åï?@Šë?€«ì?Àví?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Rê? ’?6?ÞÁ?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àè?†¾?ÛÈ?€£Ú?KÄ? }??Àt?ˆ©?€¼Õ?GÇ?ïß?øÛ?€Áë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?:í?ÞÇ?d ?€½æ?š»?€·Ö?Sï?Çî?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?€eæ?HÄ?k?x´?p¸?íÙ?@h?̯?YÃ?`‹?€d?@ä?À·ï?î?-ê?@Ðé?ÀÀî?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ï?ÀŸî?@³î?šî?À_ï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?@õî?€€ê?€éç?@ ê?@zî?Àäï?–î?Àñê?”ï?ð?¯è?„µ?Àê?@sí? ²? ?@¦?€Þ?ºß?Hž?¨«?†?@úà?ÃÝ?€(Ô?€°à?N¼?ÀNã?€Ré?„?`r??<­?À?\Ì?Ø?@|ê?€Úã?€¥Ù?á?µ?6?`´?€©Ô?€Þ?€Û?RË?0“?…?€’Ð?À„í?À+ä?Àôä?ÀÎë?áÉ?ÈÃ?+ß?cÑ?ðŽ?@hâ?ð?ð?ð?ð?€ÿï?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?Àøï?@èï?@±ï?@Úî?@fï?ÿï?€°ï?®î?2ï?bî?€Íî?@ÿï?ð?ð?ð?ð?€Oî?€¬ê?fï?ð?ñï?À7ï?@î?€ëí?¸î?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?Iì? ì?@"ì?€è?@Yå?@Dé?À˜ì?@ é?€=ë?ÀLè?Ìê?€lî?Àfï?À€ï?€Fí?@eê?ÀJã?Yà?Và?À‚â?ðÞ?‚Ý?À?å?¬ë?€ï?À¹ï?Ûì?@Íí?@aî?ð?ð?ð?ð?€±ï?Àzì?@së?ð?ð?@î?@€ï?€yï?ð?ð?ð?ð?0ï?@òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?_î?@^ï?ð?ð?ð?ð?ð?ð?ð?Àoì?@ ê?ð?ð?ð?ð?€ùî?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rí?€€î?@æï?ð?ð?ð?ð?ð?À‚î?@†î?ð?ð?ð?ð?ð?ð?@ÿï?@Ïí?Fã?€ñØ?ÀÜå?€æä?wÙ?€ë?Àþï?@•ï?ð?ð?ð?ð?ð?ð?Àøï?Àï?€uí?À´ï?ð?€üï?ÀÒï?žÝ?Àv?@öà?ð?ð?ð?ð?fê?€Uï?€‰î?ê?À$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?€üï?ð?ð?ÀWê?òë?€ê?@œí?VÞ?€à?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[ì?Àbï?ð?ð?ð?€˜í?@®ê?€î?ð?ð?ð?Àí?@fé?ì?€òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?]è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆÔ?€˜×?€Êí?ð?ð?ð?ð?ð?ð?ð?ð?'ï?@]ì?ð?ð?ð?Àtî?GÎ?\¹?V¶?$¦?E?ØÆ?ßÒ?ÀÝã?€ëÙ?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yî?ñÑ?sÇ?Uè?€Ô?€Âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùî?€œâ?8¦?`¼?Wë?í?|±?@•á?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?À«ä?@Óê?¹ï?ð?ð?ð?Øì?Ÿí?†ï?@„è?…à?€té?@¿ï?æÅ?`Ã?€ÜÝ?*Í?H˜?p¢?x•?Ð?4Û?»à?@Iï?ÀÑï?wÒ?¨›?åé?'Ñ?€S?Àw? ´?òº?€Z? ?KÑ?€ÙÝ?%Ã?pŒ?àx?€}Ó?€î?ð?ð?ð?€îï?€¨ë?€=Ý?:»?T³?ˆ•?€Û?Î?š¹?€Óê?@°æ?¼¬?€Ø?á?Ü ?€Ûâ?ð?ð?ð?ð?Àôï?€Yë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹í?Àÿí?€í?€Cì?@`í?.í?ÀOí?@Üë?Àîí?ð?Mï?€ ï?@Åï?ð?ð?ð?ð?ð?€åí?€ßî?ð?ð?ð?ð?ÀÎî?@²ì?À¤î?À>ï?@»ï?ÀÞî?Àñï?ð?ð?À¸ï?¯ï?&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?À%î?ð?ð?ð?ð?ð?ð?€Ðï?Mì?ÀIë?®å?À¢ä?À*á?À;è?@Bî?@`ï?ð?ð?ð?°î?À—ã?€†ä?€nì?î?iï?í?ð?ð?ð?ð?ð?@^î?€Fí?€=ì?ð?ð?€Ní?€4ì?@€î?À™ï?ð?ð?ÀÍï?€[î?ð?ð?ð?ð?ð?ð?ð?À&ï?åï?ð?ð?ð?ð?ð?ÀBï?@î?ð?ð?ð?ð?ð?ð?ð?@`ì?ÀÊì?ð?ð?ð?»ï?€µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ÀÕï?ð?ð?ð?ð?ð?Àtî?Àèë?€áî?ð?ð?ð?ð?€âï?€î?ð?ð?ð?ð?ð?ð?@ï?€®ß?®ß?Àµâ?À²ç?€Zæ?wÓ?€æë?À>ï?@pí?€·ï?ð?ð?ð?ð?ð?ð?óî?Àì?@{ï?ð?:ï?€í?H«?Ð?è? ¡?€\?:³?@a?¾²?€1Ù?“ï?ð?ð?@Ýì?@.æ?@â?¦ê?vè?@&ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àë?°ï?ð?ð?~í?€iç?À#ë?Ní?Àªá?@"å?@&â?ÀÎç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À-ë?@ ï?ð?ð?ð?ºï?€Ÿë?@Àë?­ê?ÀŠï?ð?ð?€`í?1ì?ÀŽì?ÀXí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?õ×?õÚ?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?cê?Àî?àë?@»ï?ð?˜æ?€P?ü­?À ì?ð?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?€þØ?I?b?€Ž?À|?ˆ“?¶?€g?€[?á?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’ç?€[Ó?Ñ?€¡?;Ò?À¯à?¹æ?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óë?€}í?À†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-î?Àgî? é?@dç?€]Ò?ö³?@â?ð?Ï?”?ßÌ?À3á?@Gé?À¦ë?Uâ?°˜?£?€.Ð? á?@í? ³?Š?€Ù?Àžê?L¢?c? ‡? p?Àˆ?¢?€R?¯Ü?À:ï?ð?ð?ð?ð?ð?ð?ð?Àcí?€óÓ?Y?=Ð?EË?\®?À‚?]?zÂ?€ à?À™ë?¬Ì?ô¨?ÉÕ?ð?À¹ï?`Å?Ày?ê±?á?Àyî?ð?ð?ð?ÀLî?Àºç?€Üì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=ï?%î?ð?ð?ð?ð?ð?ð?@èï?À'í?€åë?@Gí?À÷î?Àqî?Àlï?ð?ð?ð?ð?ð?Äí?ð?ð?ð?ð?ð?ð?ð?2ï?€¬î?À)ï?¡î?ð?€±î?€Äî?@ î?À˜ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ì?À§æ?@Þá?€õä?@ví?ð?ð?@0ï?âî?ð?€Žï?ôê?;ï?ð?bí?Öí?@rï?ºï?€Lî?€ï?ð?ð?€ªí?Ýï?ð?ð?ð?ð?ð?ð?€ï?ÀÆï?ð?ð?ð?ð?ð?Áï?@ží?ð?ð?ð?ð?ð?ð?ð?€Ëï?€‹ë?ð?ð?ð?€%ï?€³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@–ï?•ï?ð?ð?ð?ð?ð?ð?@Tï?¯í?ÀWí?ð?ð?ð?@üï?@)í?€Ýî?ð?ð?ð?ð?ð?æ?Àé?³í?€Ãæ?‘à?@cé?À%ä?¡ê?èì?uì?Àéì?@Üï?ð?ð?ð?ð?ð?ëì?€<æ?Àêî?À«ï?@†î?Ÿç?’±?€×?€²à?ªã?Õ?Rã?€Ü?ø®?y?„¹?½Ä?°Ú??å?ð?ð?€®ï?=å?€[è?€eé?Àïã?Àbç?À:ì?Àí?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDí?Àfì?ð?ð?€Ÿë?@Nä?@fë?îÞ?@ÿî?À>î?d×?Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?¿ë?@vë?¯ï?ð?ð?ð?Àýï?@þî?€ê?€‰ï?ð?ð?ð?ð?€*í?Vë?À}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?Yì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?zï?@è?Àðï?ð?Àmê?€õï?ÀÍï?ÚÌ?˜£?@þé?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@è?„ã?ð?ð?ð?ð?ð?@üî?ÀÈí?À*ï?ÀÌê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cï?tå?€Cá? |?>?ø™?@iã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\ì?’Ò?A?c?Pã?@³ë? è?@(ì?Àºî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?€õï?€-í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@8î?À ç?€.à?€±Õ?0¤?@Ûä?hÜ?@Àï?Eè?0ž?0ˆ?¢¹?@m?€„×?Àãà?Àkâ?Ü?ÙÚ?@ é?ÀNï?@Ùï?@¼ï?ýÉ?lÃ?€FÜ? É?Iä?Mè?@žæ?`Ž?ÂÑ?€{Û?@ž?@`? v?€Z?@¶?l¾?Ï?&¹?l¤?€äÔ?€yã?€=ä?@Fê?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Yï?€3é?À@è?@ è?€pé?@^á?ð?€åÐ?Àké?@Eè?€dê?{Ä?S?€W?g? ‹?$à?À;ï?€ãï?ð?Àå?@p?h?€PÔ?€@Ñ?pœ?¨«?€«?Ûä?€°Ý?¹?î?ð?ð?ð?€6ë?€gä?€qÙ?Tí?ð?ð?ð?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?À(í?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šï?@í?Àñï?€Pï?ð?ð?ð?ð?ð?@©î?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?ð?ð?—ï?€Ïì?@øì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ïï?ð?ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áî?Øé?Þ?€’è?ÀÀï?üï?€óì?Àˆï?ð?€¹ï?@ué?Àêï?À¦î?€î?ð?ð?ð?ãï?À”í?@–ï?Ànî?€êî?@ýï?ð?ð?ð?ð?ð?ð?ð?@aî?@Ýï?ð?ð?ð?ð?ð?@=ì?@Ãï?ð?ð?ð?ð?òï?Àöï?@Eì?À'ï?ð?ð?ð?€üî?Àpï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝí?@¥ï?ð?ð?ð?À†î?@…í?€õï?ð?ð?óï?@<ë?À‘å?Àìï?À´ï?1ä?zè?ê?@îã?Zì?€Rì?¼í?€gï?ÀNï?ð?ð?ð?ð?ð?€†î?í?€“í?Àýï?€™ï?ëÞ?œ¦?€‘è?ÀØë?€ï?@ì?ÀMì?@¬ê?@:ï?€‡ã?€Ü?ÒÒ?Ƴ?\¤?@.â?†é?@bî?ð?@,î?‰ä?~Þ?gæ?À3æ?€qâ?@Âë?ð?½ì?ƒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?ð?@ì?@*é?€sí?£æ?ì?ð?ð?@Òë?;à?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?ßê?Àlí?€‘í?Âï?ð?ð?±ï?€’ë?ð?ð?ð?ð?ð?@cï?ñë?€Òê?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌé?]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€/ï?@=í?<ì?€µî?@¶î?€°í?ÀÓï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?Àpï?ð?ð?ð?ð?Àïï?Ûà?Ø?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?Èï?ð?ð?ð?ð?ð?Àï?À^æ?€ á?@¬ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êì?€<Û?às?NÁ? Ð?@h?T§?îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkî?€Î×?°’?À™?K?vÂ?€âÔ?¥Û?0é?Àcî?ð?ð?ð?ð?ð?ð?ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?@ùï?ð?@œë?EÏ?"º?@?O?€(â?Àóï?€Yì?ÀÊï?ð?çä?€Ñ?à™?¦?@2æ?‚å?€È?\Â?€JÕ?@Æí?ð?ð?ð?@ƒë?€à?Ë?Àçè?@lì?ô©?|½?~À?Àu?ðÅ?vÂ?•?€ËÜ?@fâ?Àã?€:Ü?Â?ñÀ?À’î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ç?¯?ìÏ?hŸ?h®?j¼?€Ìë?€Pî? É?`r?‚?Ã?»í?ð?@Ïï?£ê?ÌÏ?€ Þ?€.à? z?l³?€öÑ?ùá?Àóï?ð?ð?ð?@Œî?€~â?Àë?ð?ð?ð?ð?À¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Àmï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?ð?ÀÅî?@ïì?ÀÖì?À‹ï?ð?ð?ð?ð?îï?Ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§î?ñí?€ðí?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?À(ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€^î?@Äï?ð?@îî?€rî?ð?€¥é?€%Ü?Àæ?€4ê?€ï?Àë? ï?×ï?Àšå?@çï?@dì?À€ï?ð?ð?ð?ð?À{ï?˜î?Àlï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?@Nï?‰ï?ð?ð?ð?ð?€§ï?øí?€Ëî?ð?ð?ð?€aî?€,î?À í?ð?ð?ð?ð?ð?€œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?Bï?ð?ð?ð?€Nï?cë?í?ð?ð?Àeï?Àþç?@`í?Äï?ºî?úÝ?€Cé?gè?@Mç?Zî?@Üî?jí?@=î?pî?@“ï?ð?ð?ð?ð?ð?ð?ï?ð?€eì?Ë?Ø ?À¡ç?Àoí?@Ûï?ð?ð?ð?@îî?ð?€Ôï?»ì?í?ÀÜæ?€5Ñ?$Â?Á?Œ¨?Þ·?€¼â?Îç?@Œç?@`æ?¦ç?@|î?Àßí?Ìç?ÈÚ?€ç?ð?ð?Þê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìë?ñë?À â?€)ç?@éä?€í?ð?ð?ð?ð?€³î?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·î?€ÿí?@Úë?À%í?ð?ð?@@î?ÀËé?€‰î?ð?ð?ð?ð?ð?ð?@)ì?€¾ì?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ànï?Àë?ð?ð?ð?Zí?@Úï?ð?ð?ð?ð?ð?¹ì?’ï?€ñï?@þë?Àgì?Èï?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìè?€»?t¸?'ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ë?„§?ò¶?Àˆí?@$í?ž°?@c?€¨å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?@<ì?«ì?;æ?@<à?ÆÝ?@n?GÆ?€ží?|ë?@ä?@³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[ï?wí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üé?€öï?Àíî?1Ê?B²?€£î?ð?ð?ð?ð?ð?´ï?Zã?Àz?€ä?@éï?ð?Àçï?€Ãî?þï?ð?ð?ð?ð?€ÆÕ?Ö·?èÔ?C?€•?KÏ?4Æ?@åï?ð?@jã?ZÌ?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?:í?¤?Àßæ?•Ê?V?€aä?ð?ÀÐé?€HØ?\§?€l?JÁ?6Ñ?!Ì?à™?k?€‚å?ð?ð?ð?ð?Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ðï?ð?ð?ð?@¼î?Xí?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?ð?ð?À¿ï?€Œî?@~ë?@ÿî?ð?ð?ð?ð?@'ï?@î?@ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTî?Ãî?@æí?åí?@õï?ð?ð?ð?ð?À¦ï?„í?@ñî?€üï?ð?ð?€Hï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFï? î?íî?€åì?ì?ï?Àìï?ð?Àðï?Àê?€â?xâ?@ç?Hî?€Vé?€í?±è?ð?€¿ì?À.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ÀHï?†í?ð?ð?ð?ð?þï?€î?Àî?À#î?Àî?@±ï?@ ì?Tï?ð?ð?ð?ð?@•ï?À¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?´ï?€Üí?ð?ð?ð?ð?@¯ï?€ë?ÀÑï?ð?ÀÁï?@‘æ?½í?@Îï?Àäç?€Ñå?@~ë?@Yì?Qå?€ê?€èì?Àwï?çï?þï?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?á?°Š?Õ?@ë?Àõï?ð?ð?ð?ð?ð?ð?ð?Úï?€Øï?€ ï?€ûì?Àµæ?å?€9Ñ?ò³?h­??³Ô?€(ï?€ñï?½ì?‹è?ð?ð?Àpì?€[ï?ð?ð?Îî?@në?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çî?€iÕ?€â?À’î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?dî?Àgë?@½ì?@Åï?€üï?9ë?À—î?ð?ð?ð?ð?ð?€ÿï?gí?@¥ê?gì?@ªì?Àeî?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿ê?€Tî?€ýï?€ë? ë?@øï?ð?ð?€;î?Àþë?@kë?€’ê?€ýê?Ààì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oî?Åí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€@Ñ?ä¾?€×ç?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?€wè?ÖÍ?€fÑ?Ðï?€ÿï?@Iá?Z?€v?nâ?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àqë? …?F?€g? |?ä´?§Õ?€øì?€’Ý?•?€Ôæ?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ð?ð?ð?ð?ð?€Öî?@\î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?€ æ?€Uì?ïÚ?$?¤«?Àíé?ð?ð?ð?ð?ëï?ð?ð?­ë?€m?€oÛ?Àéï?ð?ð?ð?ð?ð?ð?ð?@Éï?@à?_?€”Ø?@/â?Ù?ØÈ? ¶?M?½?åØ?–½?@q?{?øš?b?4±?Õ?Ä?`Œ?é?ð?€¿×?À©ä?ð?ð?ð?ð?ð?ð?€Úî?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?@*ä?À‚?Ô¢?I?³Í?€ÔÔ?Àpá?€(Ú?àŒ?ˆ¦? ?,?à{?°…?Xœ? ~?…?ÄÈ?€k?Z?Àl?çÚ?€ìï?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?@Qì?@´ï?ð?ð?ð?ð?ð?@øí?Àñì?@kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åî?î?ð?À¬ï?Òí?€Çî?Àüï?ð?ð?ð?Àýï?€ î?@³ë?À‹ë?òè?€&ë?©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ÀÔï?¿ì?€Ãå? Ú?€ÉÜ?’Ü?@ç?ÀÓï?@¼ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(î?@­ï?ð?ð?ð?ð?ð?ð?€ÿï?€…ï?Iî?€Wî?›ì?@rî?€õï?ð?ð?Àþï?3ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@qî?ð?ð?ð?ð?Àýî?Në?€Äé?€bä?Àë?@Dï?Ãå?Vå?@äë?@Eï?Àjí?Àêê?€*í?@mî?ÀØï?ð?€úï?žî?@µï?ð?ð?óï?@Îï?ð?€?ï?@æ?Ø?Ç?Âç?ÀZí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€?ì?€è?‘å?€Ø?zÖ?n¾?Ø—?€‰?Ö·?ªê?À,î?Àjí?ð?ð?ð?ð?ð?ð?ð?@Óï?€Xë?@1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ç?0Ü?€#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çî?@ªë?€¬ï?@Óï?€ ì?Uë?Àîï?ð?ð?ð?ð?ð?ð?ð?€Øî?À'í?@ñë?ÀÉì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyï?@–è?@Ìî?À^ê?À·ì?€þê?@žî?€øì?€ûè?·ï?ð?ð?ð?€ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšî?@Ÿå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pí?P¶?@m?€zÜ?€ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈä?<²?€/ë?ð?oí?¼¶?ʱ?€Yâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6ï?ð?€Ìï?+Ç?¸š?W?,¹?æ¸?Æ·?@ë?ð?€³ï?€=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVî?ð?ð?ð?ð?ð?@.ï?€Kí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—ï?@8ä?º?@i?²À?ÀÛî?ð?ð?ð?ð?@\ë?ð?ð?€sï?²Ó?>Ï?d¡?†°?Òë?ð?ð?ð?ð?ð?ð?ð?ð?À¸å?H–?RÇ?@eï?óê?€$Þ?Àšè?@ì?p‹? ©?4¸?3Ì?€]Ý?œ?`r?OÀ?Àá?@Šë? ï?€µë?€Àí?@Tí?@Øï?ð?ð?Àùî?€Nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ì?À¶í?ï?Å?Y?À?Àm?K?À?:½?€ßÓ?d?ˆ‘?–?k?$ª?8¢?€{Û?@ƒ?†É?§?g?@y??Nè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Àbé?€«í?ð?ð?ð?ð?ð?€ï?€)ï?€Uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nï?Gí?"î?@Vï?ð?ð?ð?ð?ð?ð?ð?€ßê?@Vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?Àîï?ð?€?ï?€–è?€›Ý?€°Ð?OÙ?Œç?€Æç?ð?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§ï?—í?ð?ð?ÀEï?ð?ð?ð?ð?ð?ð?ð?€µï?ê?iæ? ã?[ê?ð?€4ë?@5ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šï?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›î?@±ì?ìï?ð?ð?ÀÔí?€jë?€•í?€Eé?ÀQì?'ã?Àóç?€Çî?ð?ôï?Òî?@ ì?ÀÅï?€Þî?Àúî?ð?ð?€ï?øï?ð?ð?éï?€î?ôï?À‘ì?Û?¢À?ßÝ?@·ì?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?Àî?@êï?À~í?€ è?ÀËâ?€RÑ?¹Ã?0—?LÙ?Ú¼?°³?€ª×?À)ì?@8ï?ð?ð?ð?ð?ð?ð?ð?ÀÄï?À˜ê?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?»Õ?@Aì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?@øï?Àñî?€êï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oï?À>ë?À¬ï?ð?€Éî?þê?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?^ï? ì?À+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§è?€!ê?@Îï?ð?Uï?@ªí?Àï?À“î?€{í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþî?†â?À†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑâ?€}?€Ð?€Û?€Ûí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yí?²»?€]Ð?@ší?ð?@và?¥Ê?Àpï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?+Ç?À?P›?8´?À¿?Àm?,? ?`x?ÀÜê?ð?hï?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?oî?ð?ð?ð?ð?À@î?ð?ð?ð?ôï?€ÿï?@÷ï?@dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?¤Ò?à‘?CË?³ï?ð?ð?ð?ð?ð?ð?ð?ð?Àúî?iï?@Éí?€;ì?ð?ð?ð?ð?ð?ð?ð?ÀÒï?€ùç?¬¥? Ê?öî?€MÒ?@½á? Ù?Àã?ÀŠ?€²?x×?@í?ïï?€Ëê?ÖÖ?€u?`w?€U?˜•?º»?ÍÖ?€žå?€ÔÓ?ÀÒà?À$ä?€†è?ÀÄí?€î?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@Rï?@sì?°›?9Ã?ÀÀ?a?Â?‘Ý?rÈ?€P?0 ?Àf?€w?Љ?À?@Òå?~·?À|?€^?È•??|®?À”ë?ð?ð?ð?ð?ð?ð?Àíï?@aï?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?,ì?€Rï?ð?ð?ð?ð?ð?@õï?€Ýí?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?Àî?@í?¸ì?À—ì?€ í?èî?ð?ð?ð?€âë?À”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªî?@}ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?ï?@tï?€Øï?ð?ð?ð?ð?ð?Óï?€Lî?@¨ë?ñé?Aà?@në?@ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£ï?ð?ð?ð?ð?ð?ð?ð?ð?Àýí?ð?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?í?@§è?¹è?Àüæ?À¢é?@êã?€ßï?ð?ð?ð?ð?ð?ð?€Fï?ð?ð?wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëî?Lì?Àzì?À!å?@"â?½Ý?½ã?ã?è?€ÿî?Àyï?€´ì?@¿î?@Øî?€©ï?€‘í?¡í?@Âî?Àœï?€€ï?ð?ð?ð?ð?°î?€qî?Öí?Àêê?À9ä?Öº?ÀEç?€Áá?ÀWç?ÀGê?@éë?@„ì?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ï?«î?ð?ð?€hï?Îì?@€ä?ÓÄ?€/Ù?€Ó?UÑ?Ü¡?x?€4Õ?€ˆß?@vé?€èï?ð?ð?ð?ð?ð?ð?ð?òî?Pì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëê?;ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯é?8Ö?Þ?ãé?@Sï?€yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ï?£ë?À°ï?ð?@zî?@¢ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œî?À6î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?@÷ï?ð?ð?ð?ð?ð?Jï?À]ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöã?@ î?ð?ð?ð?€î?ð?ð?ð?ð?ð?ð?À‹ï?€uë?ð?ð?ð?ð?ð?9Ú?P¨?@ºç?@³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dï?€«Ö?œå?Hï?À°ì?)Ç?€îè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?'Ø?Á?€è?,â?@-å?èî?€Ò?]?à?ÕÀ?¸˜?À[ï?@äï?íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?&í?@Éï?ð?ð?ð?:î?ð?ð?ð?ùí?€æï?õî?Àî?ð?ð?ð?ð?ð?ð?ð?ð?Àfï?€çî?Àñç?îÁ? º?@„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ï?"ì?€uá?ïÖ?|?@g?"Ê?¼ ?€…Û? š?£Ú? Ò?0Ž?Ë?ÙÔ?ìÆ?(£?`q?Ð?À8â?ð?€ï?Àúî?ï?€ïá?¬­?|¦?ƒ?\¤? q?øÌ?žâ?À@é?—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?€^Ü?Œ¼?¦×?ðÖ?ÓÒ?€³Ð?Ï?n¹? ¾?@'ã?(ï?@©í?Àî?vß? Å?@c?PŒ?8’?`? q?`? …?¼£?`‹?/Ò?ð?ð?ð?ð?ð?@äï?ð?Àuï?€mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?€Iî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýì?ï?ð?ð?ð?ð?ð?ð?Àiî?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜî?pî?ð?ð?ð?ªî?@Œê?Òí?ð?ð?ð?ð?ð?Àóï?@=í?Ðë?€®ê?€Ÿë?@îê?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?€±í?À‡ì?Àtî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?”î?€Ûí?@9í?@Sï?€nî?€í?@õí?€|ï?ð?ð?ð?ð?ð?Ðï??î?€ãç?â?@Õí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oî?@Àî?ð?ð?ð?ð?ð?ð?@áï?Àÿí?ð?ð?ð?@ãï?€uï?ð?@Èï?€¬ï?@ºï?ð?ð?ð?ð?ð?€Nï?xê?Àþí?€ã?Àï?ð?ð?ð?ð?ð?¹ï?•í?ð?ð?Àµî?@¨ï?ð?ð?ð?ð?ð?€Æï?ð?ð?€øé?ûá?Àå?À³ç?€žé?À0é?@”ä?@è?ÀÐì?ð?ð?ÀÍï?Àzì?@°í?ð?ð?@-î?@/é?@©î?Àï?@›í?öí?@\ï?@Ôî?€rï?@ƒæ?€ÛÝ?Ù?4¸?œÛ?ÀLä?ð?åë?€Âí?@3ï?ð?€î?´ë?@8ï?@ï?ð?‚ï?îï?ð?ð?ð?ð?ð?‹ï?@Zï?ð?@àî?ð?ð?@í?Àžà?@Ûï?€ì?@à?Ù?@`?€Û?À~ì?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ì?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À!ï?ߨ?€çì?ð?ð?ð?ð?ð?ð?ð?ð?ð?žØ?P¶?@‚ã?€iï?ð?À¦î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àiï?+ì?ð?ð?@qí?Àë?ÀFï?ð?ð?ð?ð?ð?ð?ð?›î?À4î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûè?€pë?€Æì?ð?ð?ð?ð?ð?À§ì?²í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?)Á??Ï?@Vï?ð?ð?ð?ð?ð?@Sï?ð?ð?ð?ï?@ì?ð?ð?ð?ð?ÀÉï?ØÆ?¢´?À{?˜?D©?¢×?€Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìà?€n?¶?@Zá?¢ç?EÈ?<É?@¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âç?¼É?€Áî?€óë?â?@—ï?€Yæ?X‘?Ì®?t?ð?á?€ïï?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î?@°î?ð?ð?ð?ï?ð?ð?ð?@}ï?@ýï?Tí?@ï?ð?ð?ð?ð?ð?ð?ð?òï?Îë?€ëÞ?‰Æ?¤¹?Mî?ð?ð?ð?ð?ð?ð?ð?=ë?'ë?ð?ð?ð?@Œï?Àé?ÀÉí?@ûï?@-á?Ô©?À?Œ­?gÉ?°´?¶?C?`?Èœ?»È?ôï?ð?À©ï?€(ì?€,â?4å?-Ö?Ì?KÁ?hµ?úÊ?|Ï?áÄ?6±?Ȱ?€R?À²?›Ö?ðÆ?r¾?LÆ?]Â?(?€Ž?‘?€ÍÕ?Àä?€oç?@)â?a?éÆ?@è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?ôÇ?è ? r?ˆ ?;Â?ÊÛ?€|ê?ð?€î?€Ëè?@¨ç?€Áã?lÔ? y?Z»?ìÞ?Àsí?€êï?@äï?Àé?€#ï?ð?À÷î?ÀÒæ?÷Û?LÆ?r?¼¨?à‘?@€?˜¤?€œì?ð?ð?ð?ð?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?@hî?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëë?ð?ð?ð?ð?ð?ð?ð?€Jî?€Ðí?}î?@—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0í?Àî?.î?ÀRë?ÀÕë?€Yì?Àí?@5î?ð?ð?ð?Ìí?€uê?€ëë?Àí?ð?òï?€ìì?hë?@-ì?€„ë?Áí?¹í?€óè?€Øå?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?À÷ï?ð?ð?ð?ð?ð?@óî?Ìì?í?jî?€`ë?€ì?€™ì?î?@Kï?ï?€â?@nî?äí?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îí?@ï?ð?ð?ð?ð?ð?,ï?À¤î?ð?ð?ð?€áï?€lï?ð?€Õî?€î?€í?hî?ð?ð?ð?ð?ð?Àùî?ÀÔç?ÀÒå?À#ì?ð?ð?ð?ð? ï?Lí?òï?ð?ð?@ ï?óï?ð?ð?@ãï?ð?ÀWî?€«è?À ã?À-å?À“ã?@¤ï?€Þî?åï?Èî?Uä?€±ì?ð?ð?ð?@ðî?Àé?U×?@×â?Àî?ð?Àì?€®ã?Àì?Xé?Þ?€éÕ?€ˆá?€Wæ?Àá?Âà?@?å?œ²? á?À;è?åï?À$î?ií?;î?@ï?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ï?fî?ÀÓï?ð?ð?ð?ð?À^î?~è?€Úï?ð?î?€îÙ?X¼?æØ?€wì?@ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Šï?€Úß?Àƒá?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€ÂÓ?À¶ï?€øï?@(ï?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›í?Àyî?ð?ð?èî?€Tí?€¼ì?öï?ð?ð?ð?ð?ð?rï?@ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yï?@è?€ßï?@Òí?@Äì?@÷ï?ð?ð?ð?ð?À$ì?€†í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðå?  ?„¶?fí?ð?ð?ð?ð?ð?í?@ÿç?@Õë?€ï?@ã?@¸ï?ð?ð?ð?ð?Lë?‰?‰À?*Ç?ð†?#Í?€Ü?Fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@°à?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?€þí?À ì?À?í?À å?¨›?G? v?Àw?K?O?lÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßã?€¾Ó?€Z?€ Ó?ÀÌè?€üï?ð?€Öï?@ðï?€€ï?«Ð?†?€ Ú?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?€îì?€ëï?ð?ð?@kî?ð?ð?ð?ï?ð?@î?Àî?ð?ð?ð?ð?ð?ð?ð?Àýï?šï?Äí?€xÚ?Ä¢?€bé?ð?ð?ð?ð?ð?ð?ð?À"å?€¼Ý?ð?ð?ð?Mï? Ó?¯Û?€rè?d­?EÆ?˜¤?Àl?Àl?0€?ÄÈ?à¥?¬©?Ð?oï?;ï?ÀFç?Àëâ?@æâ?€´×?ŒÒ?À¾â?€Èæ?vä?lá?Dà?ÅÕ??Ã?ؘ?L?à­?Ø??¡?Àå?€½ï?ð?ð?€«ã?Ày?ïÆ?@fî?@˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?€'á?€?d?€X?™?àÆ?€IÖ?$Ø?ÉÓ?ð¿?ð“?¨?Ì?À¯é?À©î?€üï?€žî?–ç?@½â?@Úï?ð?ð?ð?@êî?€ÛÕ?ð¬?p‚?8?PŒ?x¥?l¥?@™?^?K?0?À%ä?ð?ð?ð?ð?ð?ð?€ï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþî?ð?@Rë?ží?ð?ð?ð?ð?ð?ð?ð?€¿ï?@ï?!î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?€Ïí?@jí?À7ï?@Oï?€Ùï?ð?ð?ð?ð?ð?ð?€÷ï?Àpí?€Eë?€Êë?ÀÁê?€õî?@±î?€ìï?ð?ð?€½ï?ð?í?€ æ?ÀDé?Àïé?€ é?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?oí?€·ì?€~ï?ð?@Äï?€´í?@#î?@8î?À]å?@Lã?@•ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?@üí?ð?ð?ð?ð?ð?ð?€Vï?@ûí?Àùï?ð?ð?ð?ð?ð?ð?ð?ÀŒî?Àí?Àãï?ð?ð?¾ï?@í?@Lç?@Oç?‘â?+ä?@ é?Íí?ÀÁï?ÀÕé?Jæ?@‚í?€ðí?Àþï?À“î?@Áï?ð?€î?Àáå?€aã?¡á?€øæ?€Ëì?Ïì?ßî?ð?Ûï?€³í?€_î?€Ãâ?€ðå?ð?ð?ð?Àáï?Þã?À ì?Àüì?€í?€§ç?€èà?'ì?€så?×?@¡â?@Ÿì?€ è?Bà?ÀÅç?Àcî?€Aà?€sÒ?€ê?€¸î?šî?tï?€ÿï?ð?€ï?åï?ð?Ãì?@õï?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?€eî?@«ï?ð?ð?ð?ð?ð?€î?@î?@ìï?@îï?€‰ï?€væ?È’?ð?€Ûã?€lì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sæ?À„á?€öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?¸×?Âß?@¬ë?@–í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýî?@yì?ð?ð?ð?ð?ð?ð?@"ì?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{í?@ ì?ð?ð?@œî?€?ì?ð?ð?ð?ð?Àæï?@©í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ŽÖ?öÓ?ð?Àäâ?ð?ð?ð?ð?ð?Àïï?€?í?pï?hï?@6ç?€Xï?ð?@Jì?@«ë?ð?@­ä?¦?,?úÛ?@ùè?Ä?§Ó?€Œä?Êé?pì?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?Àäï?@3í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNï?€"Ú?€ûÚ?ÝÀ? y?ÅÓ?Џ?€Ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?€äë?€Ûç?²·?ˆ‘?Àè?€Zï?@ïë?À`í?ð?ð?€øï?€ùÒ?€îÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáî?çí?ð?ð?nï?ð?ð?ð?ð?ð?ð?@Né?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?î?Ü?@l?ðƒ?@ìç?@òï?ð?ð?ð?ð?ð?ð?ð?Àï?éÞ?ð?ð?ð?­ï?Óí?7Ù?µ?2»?þ¾?€PÑ?VÃ?À„?%Ø?/Ñ?¡?(Î?ôÝ?Ààá?cÆ?˜—? €??­Ý?Àèí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?€Šì?€éí?-Ó?€¹?¤Ì?À|? ?Žº?éä?Oï?ð?ð?€ ë?ð?ð?ð?ð?ð?ð?¸ï?“î?@pä? Å?N?7À?Àé?@*í?€'í?@ë?@ã?‚Å?c?Àˆ?4«?>?À:å?ð?ð?ð?ð?ð?°í?@éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jî?€ í?@’î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀYí?Mí?€¹ï?@¶è?À(í?ð?ð?ð?ð?ð?ð?ð?ð? î?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?@7ï?@?í?@pì?@:ï?Àéí?Pï?ð?ð?À¯ë?vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸ï?ÀÂí?€Òï?ð?Ãï?@…ï?€;í?@˜ä?@Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À€î?ð?ð?ð?ð?ð?ð?€±ï?íì?ð?ð?ð?ð?ð?ð?€êï?€dî?Lë?À½è?8í?@{ï?€÷é?Ànè?ã?Àæ?Uè?îç?À¤ê?ÀLà?@›ä?<Û?1ä?Öå?Žã?À>é?Ùï?À£î?Àüí?ËÚ?äå?Àûí?@×ì?@þí?ÀÌí?ÀÀî?ãï?ð?€yï?@gî?ÀÈî?Àç?€Üà?€øï?ð?ð?Úï?€=æ?ð?€îï?€Èì?À›é?õé?´ï?€{í?@°î?@@ï?€¿ï?@î?@î?@aî?€Ìî?ÖÎ?@²ë?€‘ï?@Ëî?îï?ð?ð?ð?ð?ð?ð?Àæî?Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mî?ð?ð?ð?ð?ð?ð?@‰ï?fî?ð?ð?ð?Àyê?d´?€Ÿ?€Ìä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åë?@2ê?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ë?\Ç?Àßæ?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀZî?Àêì?ð?ð?ð?ð?ð?€sï?@Sì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zí?€‹î?ð?ð?ð?@ïì? ï?À ì?ë?@†ë?—ë?@yî?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?`í?dÅ?Àà?CÕ?À‹î?ð?ð?ð?ð?ð?€­ï?Àæ?{ï?ð?@Jï?€°ê?€·í?ð?@Rç?ð?@sí?ö·?З?0Œ?à?ø³?8È?RÃ?€¹Õ?€ÎÜ?|±?@çæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQã?@kå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?Ìß?ؽ?Ž?€‰ã?€aá?ÚÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?Ê?àu?|Á?ȯ?@¹?€bÛ?ð?ûï?€Ôá?€@á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?@ î?ð?ð?ð?ð?ð?ð?ð?@þï?@¡î?€’ë?'æ?ìÌ?¶Ä?@?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘ë?€hÜ?pª?KÓ?Ì?à¤?@|?Ð?€‚?ž?Ý?@Òï?@yé?Àê?€²ï?€¤ï?{î?€ ç?oæ?€wè?Àæ?€÷ã?À¥á?Àâë?YÖ?¦?•?n?ZÈ?¡Â?¸¡?€ËÒ?À3è?€Âí?@§ï?ð?ð?ð?À®î?Àîî?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎî?@†ç?ÂË?€æÚ?7Ü?€ªà?Ëå?@»â?CÖ??€U?@l?Lµ?âÚ?ÀGî?ð?ð?ð?ð?ð?vê?À¦ï?ð?ð?ð?ð?ð?ð?ð?âï?åï?ð?ð?ð?ð?ð?€èï?@|î?Pê?øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòî?@Èí?ÀÚí?@ë?À.ê?€’í?ð?ð?ð?ð?ð?ð?À î?€Øï?ð?ð?ð?ð?ð?ð?ð?€öî?@Ñì?Ií?@´ï?ð?ð?’î?Ïî?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Àóí?€Æî?Yî?ð?ð?Àèí?ôì?Ûï?ýî?€Ìê?¬é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?€Æï?À×ï?ð?ð?ð?ð?ð?€èï?çè?@‰ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ï?@‘î?ßî?€`î?À§í?€«ï?ÀÇï?ð?Àæï?6ï?ð?ð?ð?Üï?À¯î?Àœî?Àêï?ð?€Eë?À)é?@Oä?€(ç?@èã?@ç?€ ï?ÀNê?@%ã?8á?îà?°Õ?€íÙ?@œá?€Sá?€ká?Àä?Uì?€vé?@€é?€'á?À¦ë?Áï?Àï?ð?Þï?ð?ð?Tï?Æî?@Ùï?Ðî?íí?€«Ô?Iî?ð?ð?ð?Šé?ð?@sï?@­ê?À%ï?ÀNì?Àtí?€|ï?@0î?À×ï?ð?@Çï?Àµï?ð?ê?€ÑÙ?ð?ð?À1ï?ð?ð?ð?ð?ð?ð?ð?€ î?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?Àƒî?À&î?ð?ð?ð?ð?ð?€€ï?€Oì?€ï?ð?ð?@Êî?_Þ?€¸Ý?ÎÈ?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ì?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHì?€¦Ö?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@·í?ÀŽï?ð?ð?ð?ð?ð?€Kî?Üì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðì?ÀPï?ð?ð?ð?€ÿí?@…ç?€Îî?ð?ð?À£ï?æë?îë?@ï?Øí?€:ï?ð?ð?ð?ð?ð?ð?@†î?Õ?€Õ?@þë?ð?ð?ð?ð?7ï?@ ì?•ï?@té?ð?ð?ð?ð?ð?ð?øï?ð?Àüå?yË?\Ð?ÍÕ?‰Ë?kÕ?€úÒ?È“?€Z?¤¡?Àx?,?£Æ?À”ã?Àÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€gà?€'Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ã?SÁ?ƒ?r´?@à?^Æ?Á?ÀÌí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wî?@Zà?€üÞ?;Ë?>Ð?:º? ¦?à‚?À?@Îî?ð?¥ë?ì£?€T?×Ó?ùï?€ï?ð?ð?ð?ð?ï?ð?¡ï?Àüï?ð?ð?ð?ÀÛï?€ûï?ð?ð?ð?Àæï?ÀÂï?@Íï?ð?ð?@Sï?ð?ð?ð?ð?ð?ÀŽï?À§ï?ð?ð?€“í?ð?ð?ð?ð?ð?ð?ð?ð?@þï?À9î?@ùí?Û?&×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?‰æ?ø–?„©?Àíà?€Y?? ?2?(?j?óÅ?„?¢¿?RÅ?GÄ?–¶?€^?G?X?€Y?Ô§?ÀØ?€Ãê? ä?W?„?ž¹?Ø–?€œí?@äï?@lï?­ï?ð?ð?ï?ð?ð?ð?ð?Àgî?@í?Lï?ð?ð?ð?ð?ð?ð?ð?€Æï?@Êî?@mæ?¼Ë?—È?€×Ò?º?ð€?:?€Y??@f?,¢?0‰?~Ô?Pˆ?€q?R³?€P??³á?Àlî?ð?ð?ð?ð?ßë?@Dé?@Jï?Àõï?ð?ð?ð?ð?ð?ð?ÀRï?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?À î?€&î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@°í?”ì?€3î?À&ê?Àòï?€Ðï?ð?ð?ð?ð?lí?ÀÛî?ð?ð?@Íï?ð?ð?fï?Èí?À’í?Àïï?ï?@yë?@Qí?@hí?@vì?€ï?Àôí?1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@©î?@î?Àpî?@"ì?€ í?ð?@³î?@Äî?ÀÖï?ëï?Íï?€Ýë?@î?€šë?€Ãê?ð?@cï?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?À§ä?@ßï?€ïí?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?‡ï?Àãî?€ÿì?@2ê?À;ê?€—ê?@-í?@çí?Àëï?ð?ð?ÀÅí?ÀSï?Àþï?ÀÊî?€î?À'í?@/ç?ë?Àxà?€9ê?ï?ð?@úï?@Ÿï?€¹í?À æ?€Ãê?€Âá?ŒÃ?€R×?Šà?€:ç?€›ì?¥á?PÛ?€ë?€ßï?ð?©ï?ð?ð?ð?ÀÞï?@´ï?ð?ð?ð?Àÿï?@cã?€…ß?ð?ð?ð?€Hî?À×î?ð?Úë?€žï?ð?@÷ï?@ßî?ð?ð?ð?ð?ð?€öï?@gá?@“é?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?€Sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘î?ÿï?ð?ð?ð?ð?›ï?À\æ?@ í?ð?ð?@/ï?@é?Àí?Àéì?`‡?S?À~?ˆ?€ÊÐ?TÇ?Í?Ó?Jµ?@‡?@ßà?Àië?Âí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€^å?'í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀOç?5ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€;í?€ýî?ð?ð?ð?ð?ð?ð?ð?ð?@ší?€í?ð?ð?ð?ð?€ùí?Àí?ð?ð?ð?ð?À~ï?Àýê?Àí?@^ë?ð?ð?ð?ð?ð?ð?@­è?@Gæ?@(î?ð?ð?ð?ð?ð?Öï?€â?@íé?Àáæ?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?À&â? É?PÄ?€è?€Dì?œÝ?ÐÍ?D¼?½Ð?ÀÁë?€¸Ô?”?¢É?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nä?ÀJç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åî?Åì?(Ó? r?|?¼¬?[Ñ?€Oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?kï?ÀÛç?ð?ð?ð?@ ï?À>ì?€cÚ? ‰?€ÁÝ?ð?ð?À(ä?ÞÑ?Œ©?ƒ?e?Ò¾?áë?Îî?ð?ð?ð?ð?ð?ð?Xï?@úï?ð?ð?ð?€½ï?À÷ï?@Öï?ð?ð?ð?‡ï?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?@‹í?€óï?Óï?ð?ð?ð?ð?ð?ð?ð?€5î?€ ë?ðÆ?`}?Oß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~é?@Øâ?@ï?ð?Çï?Ø?€q?€ÈÕ?H˜?ÆÍ?@ç?€,á?¸?¹Î?°Ê?Òæ?Ië?@ï?€Õ?`£?ÈÙ?„?õÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?@›ï?€•í?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?zì?Då?@pæ?€à?·?ð€?â°?Ô­?@Èã?8í?€ä?ܺ?G?pˆ?€f?G?ì½?€Úå?üï?ð?î?Là?@Åå?qê?”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ží?Ïî?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Tí?€8ê?À£è?@Âè?@~î?ð?ð?ÀÌï?Àî?¾î?@;í?@î?@Pî?@î?@Tì?À¾ï?ð?ð?ð?@³ï?€ï?ð?ð?ð?ãï?ì?@+í?À/î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´í?À÷ì?@fï?ð?€¹ï?€ëç?€Ôâ?î? é?@÷å?Àˆå?@õê?\ï?@¡é?€Çâ?ºì?€úé?@cï?@÷ì?ÀDê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ÀÍà?Fæ?ÀÁè?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûí?@?å?ï?@í?€ðî?@Èè?€ç?€uæ?Àwé?€ì?Ûí?À.ï?@Óì?@³æ?Àóë?Àðê?€£ï?ð?ð?ð?ð?€uï?Àbë?@Ìæ?þÊ?@ç?$ç?%ä?$ä?Íç?@¾ê?€æï?ð?ð?ð?ð?ð?ð?@‰ï?Àúî?ð?ð?ð?ð?ÀAî?oÏ?€&ï?ð?ð?ð?€œï?€úï?Hï?€uë?€+ï?ð?ð?ð?ð?ð?ð?ð?@£ï?À â?@îî?ð?À¨ï?@<ï?ð?ð?ð?ð?ð?ð?ð?@7î?Þï?ð?ð?ð?ð?ð?ð?ð?ð?€èî?ð?ð?ð?ð?ð?Nî?|ì?ð?€œî?ð?ð?Àµï?€îì?€UÕ?Ì?À„ã?=Ë?¶Â?LÑ?øÒ?€}ã?€ê?€Òé?@¯â?#Ä?¨‘?ZÛ?@_â?Åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@7í?@öê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@7ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸî?€âî?ð?ð?ð?ð?ð?ð?ð?ð?tï?Ýë?ð?ð?ð?ð?@îï?€„í?À_é?€Òê?¤ê?áì?Àïï?ð?ð?Áï?ð?ð?ð?ð?ð?ð?€Ýï?@ëï?ð?ð?ð?ð?ð?ð?ð?ÀÔî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?€ÐÛ?̪?À]è?À™ì?ð?€-î?kí?@(ì?€"Ý?ð?€ÿî?@{ë?€£ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?€æ?jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?zî?€|Ù?г?œµ?=á?Ò?P?N?€¡Þ?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²í?ð?ð?ð?ð?ð?À+á?pƒ?€UÛ?ð?ð?ð?@´ï?üí?€ˆÜ?°?è¹?À©ç?@¶ç?ÎÜ?Hº?P?†µ?€ë?@öï?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?Àvë?€êï?ð?ð?ÀQì?ð?ð?ð?€.î?šï?ð?Àîï?ð?ð?ð?ð?ð?€ùï?@ï?Àšî?ð?@yí?€:ï?ð?ÀZî?Àïï?ð?ð?ð?ð?ð?Ëï?ÀZè?~½?€ˆ?2?ذ?}Ò?—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?Àþì?Àiè?@÷í?äî?ð?Ànì?ÀÞç?Àí?@^ï?‚ë?€¨?R?x”?2?0•?è?,¨?E?êÃ?€xí?ð?@xî?@¯á?€ æ?ä?@„î?ð?ð?€ë?Ì?@ªî?4¹?Àr?j?<¶?@æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ï?­ì?@¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kî?€¬ç?@uç?€KÙ?àÖ?€ÊÖ?!Æ?{?ü¡?€s?¼Ï?ÀMî? ï?SÐ?p£?%Â?…Å?àx?0Ž?1Ä?@c?B?–?{?T¥?Àå?€ôì?€ðÑ?aØ?FÞ?ÀCç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?€4î?eí?À‡ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?€·î?€¿è?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?@»í?åì?@—ï?€Øï?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Àóå?€Ãæ?Àšé?€Ùî?€ë?@ææ?€ ë?@6ä?À“ã?@Më?@‰î?@Íê?ÀÈå?€è?@ä?äî?Àï?À›é?€«ï?Ãç?€Äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ë?€ Þ?À÷â?À[í?@üï?êï?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?€ÿï?€(ì?Íâ?ÀÛä?@œê?få?€Ïí?ÀWë?À•à? ä?“æ?@›ä?Iæ?ÿê?@áï?ð?ð?ð?ð?ìî?À ë?¸ì?ÀËí?€˜Ö?bÞ?ð?ð?€“í?Àí?À½ï?î?€õï?ð?ð?ð?ð?ð?ð?oï?/ï?ð?ð?ð?ð?ð?€à?@ ì?ð?ð?ð?ð?ð?ð?@Òï?€äí?À£í?À’ï?ð?ð?ð?ð?@ýï?À8è?@Íç?€ýï?À°ï?€Jî?€Þï?ð?ð?ð?ð?ð?ð?@ûï?ÀÚí?@óï?ð?ð?ð?ð?ð?ð?@âï?€éí?€©ï?ð?ð?ð?ð?ð?À÷ï?ÀÛï?ð?€]ï?ð?ýï?²ï?€’Ü?T¤?Àì?é?JÐ?@è?€í?À î?€Äî?çï?ÀÜï?@úï?À¶î?@Ÿæ?TÄ? w?8?0†?Àu?H˜?@‡ã?Àåî?Àéï?ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<ë?@sí?ð?ð?ð?ð?ð?ð?ð?Áï?Àêì?À%ì?'í?@Œë?€¥ë?ÀŠë?Àtî?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?éë?@ÿï?ð?ð?ð?ð?ð?ð?ð?×ï?²é?@øê?@}î?ð?ð?ð?ð?ð?ð? ï?À`ë?€¬ê?Àwì?@ìí?Àªï?@¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jä?Hã?Àkç?ð?ð?ð?ð?€ï?‰Ø?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ù?Ù?À²ì?"¼?@`?úÌ?çí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?³ã?•Ð?€-ï?ð?ð?ð?=ê?°‹?p”?=Ë?œï?ð?ð?@ì?ú¿?(Ã?Àkå?ð?ð?ð?ð?ð?ð?ð?ð?@®ï?_î?@Èì?ð?ð?ï?Àüæ?ð?ð?ð?«ë?@îï?@ßî?„î?ð?ð?ð?ð?ð?€ãí?Àçí?€Åï?@¾î?€Þë?ð?ð?@Ìï?ð?ð?ð?ð?ð?@ÿï?¦ï?dì?Ÿ?`š?@.ë?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?Àâ?l¢?ðŸ?`æ?ð?ÀŸë?ü·?À4â?ð?À«ï?€LÙ?¡?˜?ˆ’?†´?Œ¾?‘?h ?PÖ?@›ë?ì?¿æ?Ý?NÊ?À{ë?ð?ð?@ î?€ï?*î?ÀMî?ð?ð?ð?ëï?gÔ?ÀŠë?\¶?¸±?¦Ø?øî?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùë?@†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?@Qï?ð?ð?ð?@Ùï?ñæ?}Ö?˜¥?H—?0?ÀŽ?¾¾?€<Ö?æ?€â?.º?JÀ?âÅ? ‚? |?Àh?4?`s?€_Ñ?Àå?¬é?ö¾?€[ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½î?@áí?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€ëè?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üî?€Üì?À7ê?Àé?ð?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@.î?ÀOë?ÀÓé?€ºî?ôï?€Œê?€ƒæ?À¯è?À(ï?ð?@îï?Àôî?€Ìï?Cï?Pí?ÀZï?ÀYì?@%ç?@:æ?Àlì?Ñé?@²é?xê?€Sê?Àºî?ð?ð?ð?ð?ð?ð?€Æï?åï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?€ßï?ð?ð?@Ìï?À(í?Àcà?€sÞ?@çì?èî?ð?ð?ð?ð?ð?ð?À&ï?Íî?@øï?ð?ð?ð?ð?Òï?ÀHî?€äì?@ é?Kä?À_ì?@ßè?wê?€ˆë?¶è?@(æ?€å?ví?ð?ð?ð?ð?ð?ð?€{ï?ð?ÀÙï?@Êï?_É?@¶è?ð?ð?ð?ð?åï?€Ðî?€"ï?@Åï?ð?ð?ð?ð?ð?Õï?€Úï?ð?ð?ð?ð?ð?{à?6î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªí?@°ï?ð?ð?ð?€[ì?Úê?ð?ð?€Aï?ðî?ð?ð?ð?ð?ð?ð?ð?Öï?Óî?ð?ð?ð?ð?ð?ð?ð?À£î?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?@î?€ÆÔ?}Ñ?€@ç?Ô?œë?ð?ð?ð?ð?ð?ð?@Ìï?ð?À²ï?À†ì?À—æ?€KÝ?€Íà?@ãá?ã?òÈ?€R?€Y?Z¸?j´?<®?ð‚?À?ß×?Àbí?…å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‰é?/ï?ð?ð?ð?ð?ð?ð?Àuí?€'ë?ì?@¹î?€Çî?À¼ï?»ï?>ï?@=ì?À¥ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”í?€—ì?ð?ð?ð?ð?ð?ð?ð?€·ì?ßî?@oë?€¦ë??ë?€bí?ð?ð?ð?†î?Ãï?ð?ð?€Ôï?Àþí?Àûë?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@#í?€Íî?ð?ð?ð?ð?ð?:æ?@:á?@üé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ZÉ?¥?1É?€ç?à¯?€â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ké?(¬?åÁ?¢Ý?€Ìê?ð?€‚Þ?Æ?–Ä?ŸÁ?@„?`‡? Ü?Þ?Àòï?ð?ð?€ãï?.Ó?üª?€¾ä?À›è?cÝ?À‡î?€bî?@ì?ð?@,î?À}è?ÀÞî?Àëç?Àÿë?ð?ð?@î?‘î?ð?ð?ð?@¹ì?À¼í?€Ãî? ï?ð?ð?ð?ð?ð?Àïë?€mí?)ì?Àáî?@î?+ï?ð?ð?ð?ð?ð?ð?ð?ÀÏï?@Óä?hê? –? ‹?€œÜ?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?€ûë?€ÏÔ?ð?¸—?€¿ä?ð?íè?€lß?@µï?ð?ð?Àñï?À§ã?°¶?p›?z¾?sÊ?4å?ÀÉä?ÀMç?"å?ÀÏã?À’é?€zÑ?€ÐÐ?’ê?@ï?@¯é?2Ö?–?x”?@~ä?Cë?€áî?ð?€ãï?€Wï?ð?ð?ð?ð?ð?€Õï?À¬ï?€í?ð?ð?ð?‹ë?8î?ëÇ?¦¶?Hª? Ž?À°é?ð?ð?@Úï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…î?öç? ë?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~ê?€'Ù?œ¡?À?tÆ?À?€Þ?ÜÛ?ÆÀ?İ?Ò?°†?°?`y?€P?З?ûÏ?8í?€üÒ?ýÊ?@cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚î?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?Dì?€œí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uì?€Uë?€‚è?Àbí?î?ð?@Cï?€áé?òê?Þê?_ê?€»ï?ð?À/ï?ÀBå?@•î?ð?ýï?Õí?€-ì?€Öï?ð?ð?ð?ð?Ãî?ð?€àì?@î?ð?ð?Àtî?@Dî?€ç?@ïë?€9ç?ì?Dí?À&î?ð?ð?øï?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?@òï?ð?ð?€ï?Äé?IË?€ßã?ð?ÀÙï?@Zï?ð?ð?ï?À¥î?ð?@õî?ÀÝí?ð?ð?ð?@Õî?Èç?pÙ?ä?€\ê?À(ï?@½î?€Vë?Àî?€Áí?À}å?ÀKê?€„æ?Àñê?Àæï?ð?ð?ð?ð?ð?ð?ð?€Nï?€Êì?VË?€î?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAë?€^ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?õî?ð?ð?ð?6í?€ê?ð?ð?ìï?ìí?ð?ð?ð?ð?ð?ð?ð?ð?&î?ÀÔï?ð?ð?ð?ð?ð?ð?ÀÚï?@ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?€Ìê?Vä?€{Û?ÀÊî?€÷í?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sî?ÀÞî?î?@î?€KÝ?Ò?“Í?XÚ?€[×?\Ý?¹á?@Tä?@þì?ÀKí?€ëì?À]ê?@ â?¨»?8?EÅ?€dê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ê?€…î?1í?@€è?€ å?Àwè?@˜â?€é?€‹ê?€âï?ð?ð?ð?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—î?ð?ð?ð?ð?ð?ð?ð?€îë?€Rí?@…í?ð?@æï?€Wï?”é?Óí?êë?Ìé?€\í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áç?À0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñÌ?Ü«?@òè?@æ? z?¬²?@>ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@î?Dá?D°?eß?ÀRë?€Þ?€ Ó?Œ§?€ß?ð?@uí?€Æï?ÀÙê?H?üº?0—? y?@Àá?€[Ý?À;ì?@ìâ?T¿?€?øÐ?ê¾?€É×?ð?ð?@²ï?Àúï?ð?ð?ð?¨ì?€åÜ?@7í?@:ï?ð?ð?ð?ð?ð?€=í?À…ë?@Dî?@«î?@6ì?@dï?ð?ð?ð?ð?ð?ð?ð?€Eï?€Qß?Ç?€P?€ÇÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Å×?@"ã?ð?@Íï?èï?ð?ð?ð?ð?sí?Ç?Ø—?€Q? ~?˜–?Ö±?õÅ?%Ï?ä¶??ÖÅ?·Ï?Àã?@ ï?ð?ð?ð?ð?ð?@ßî?@¨ï?ð?ð?ð?×ï?@âê?¸å?@‘ç?–å?˜µ?H?P˜?¸«?bÁ?ÀYä?@éï?ð?ð?ð?ð?ð?ð?ôï?†å?€½ã?ñï?ð?ð?ð?ð?@]ê?€×Ñ?Ö¹?â?ï?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?Àî?€€í?@’í?€ î?€úì?À›ë?À[é?ÀHï?í?€5ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?@më?À ã?¢´?às?„®?WÃ?øš?@ˆ?6Õ?ÀRè?4à?”¢?€½?@a?Í?z?€i? œ?€yÜ?€|Û? p?€CÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?@@ï?€çî?€Ãî?€`í?Àäí?ð?ð?ð?ð?ð?ð?Àï?@æï?À@ï?@Zí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~í?€øê?À1í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@vî?ï?À»ï?€ºë?.ë?@„è?@÷î?@ôï?Ëï?8í?Àðè?kí?Áè?Àþí?ð?ð?àï?Àºì?Àóï?ð?ð?ð?ð?ð?ÀÆï?‰ï?Àí?Àêï?ð?ð?ð?ýï?í?Àç?šç?wê?hí?@/ì?À•î?ð?À÷ï?€]î?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?À»ï?1é?ÀÏã?€'ç?@…ì?Àï?€ãï?€Òï?@äè?õÍ?€Aä?À{â?€×ë?Àîî?‰æ?%é?@›ì?@6í?@¨ï?€¾î?Àìì?Àßï?@·ï?î?À¥å?@á?@ë?@žî?í?À²é?€öî?À‡î?@­ë?qê?ÀKî?Øê?ÀŠí?ÀHï?ð?ð?ð?ð?ð?ð?ð?ð?€;ë?ØÛ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHê?@&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?ð?ð?ð?€gî?Àžê?ð?ð?ð?Öï?ð?ð?ð?ð?ð?ð?ð?@Žï?_î?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)ï?€cï?@÷ë?€ß?—ê?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?À…ï?@î?@¾î?Àï?Àï?@èî?@nï?Àçï?Éï?@ï?@ï?@óï?÷ï?üï?ð?€öï?Dí?À%à?¦?(·?@[ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Yè?@†ë?@Tí?@íî?@Ÿï?@(ì?@ƒí?€àå?ç?€”ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹î?€Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?î?'ì?@™ì?@wì?ð?ð?ð?@nï?€{í?€øî?ð?À¼ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À/í?\¯? ¸?sâ?è”?€ ×?@©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅæ?Øž?0£?š?@r?ëÓ?@ïæ?,É?@¾è?–×?p†?€Ù?ð?ð?¬ï?€úï?ð?ð?ð?À0ä?†?€™Ð?€¤ì?€5ã?À[é?ð?ð?€aî?úí?Àrë?À¿ï?€|ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€>ï? ã?h¬?`q?Àšã?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qè?,¾?€?@øæ?ð?ð?ð?ð?ð?ð?ð?ð?Àé?à¶?€ÑÐ?€¤ã?€é?@nï?ð?ð?Àí?*â?,­?šÕ?¥Ñ?êë?€NÔ?ê?Àúï?ð?ð?À´í?›ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?åÁ? ¯?Àæ?ð?ð?ð?ð?ð?ð?Àî?ÏÛ?Àî?ëï?ð?ð?ð?ð?ð?1Ù? q?n»?Àcå?€±ï?ð?ð?ð?ð?ï?ð?ð?ð?ð?ÀŸì?Àî?€Tï?¦ï?À©í?À‰î?ð?ð?@Úï?@˜ë?À—é?€Úé?ÀÒí?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ÀRç?€NÑ?Xœ?Y? “?0’? §?‚À?¹á?€—å? Í?¥?u?õÜ?°¥?˜™?2·?ÀÖé?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþî?Pï?ð?ð?€_ï?Àí?ð?ð?ð?ð?ð?ð?ëï?À?î?cï?À½í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?—î?€âì?@—ï?çë?€áî?ð?ð?ð?ð?ð?€Þë?™î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?€Ïé?€mï?€Mí?ð?\ï?uè?@¡ä?@¤î?ð?ð?@9ï?@5î?ð?ð?ð?ð?ð?@ãï?ð?@•ï?rí?ð?ð?ð?ð?ð?ð?@=ï?†ç?1ë?€–ì?@{ï?Àí?ÀÚî?ð?ëî?@-ï?ð?ð?ð?ð?@ßí?@Áë?î?ð?ð?ð?ð?ð?ð?ð?ð?€­î?@ïï?€ïí?@Àé?À‡ë?ÀXè?À»ï?ë?@gì?@!ë?å?€Zá?Àä?_â?€ç?÷æ?Ìç?ÀÅê?õë?€éê?€0î?@ç?@+æ?À'ç?€…í?@é?€|ê?ÀÉë?€Iì?Pï?Àšê?Kì?€éï?î?Àõî?ÀWî?ð?ð?ð?ð?ð?ð?ð?ð?{ê?Çä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ì?ÀXî?Iï?€'ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aè?@Åï?ð?ð?ð?ð?ð?ð?ð?ÀÜï?€1ï?(î?Àûî?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»ï?ÀÌï?@í?€èé?ÀÕî?Fã?@Dë?ð?ð?ð?ð?ð?ð?âï?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?À2ï?€0ï?€eì?@ãï?ð?ð?ð?ð?ð?@ãï?ð?ð?òî?À™ï?ð?ð?ð?ð?@ãï?Àïê?Ù?°?îÂ?€Pë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?qê?Àúí?ð?ð?ð?ð?ð?ð?Vï?@Üè?@§ê?À³ë?@Ïï?ð?ð?ð?ð?ð?ð?ð?À¿î?¤ê?€ì?€õì?Øî?ð?@Áï?@ï?5ê?ð?@þï?@³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?@õí?Àøë?€Üë?@+ï?ð?ð?ð?ð?ð?ð?ð?ÀÔë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?@&î?À€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûì?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?€«ï?ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïí? â? }?@s?€ÂÑ?Ào?p„?€üØ?Àwî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰í?‘Ó?€a?t ?w?Ʊ?€i?€{Ò?ð?@ï?€Ýã?€èå?@ ï?À£î?€ß?ô¨?€Z?´Á?Àƒ?Ü?ð?À¶ï?æ?€+î?ÀLë?Ýí?@[ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òë?˜ã?ëÊ?à{?LØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀOâ?€uØ?@Žï?ð?ð?ð?ð?ð?ð?ð?@î?ÓÇ?€Y?€fÛ?ð?ð?ð?ð?ð?ð?@Áí?¨Ê?¦? y?€‡Ø?À?T¶?ÀŽê?°?vµ?À„ì?ð?ê?šÀ?ïÜ?xê?òï?ð?€ ç?@+ã?@æ?€¸ë?ð?ð?ð?ð?€x×?0™?Ì?€[Ü?@ï?ð?ð?ð?Ñï?Àøî?€ì?€ï?ð?ð?ð?ð?ð?ð?@¤í?€Û?¬»?@ž?Ì®?€€ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?€»î?èì?Ìî?À‘í?@qí?ð?ð?ð?áï?@çî?@çî?ÀNê?@%ê?@“ï?¨ï?ð?ð?ð?ð?ÀXï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡ï?@ì?ÀÔâ?Ó?À¾?ê¶?P‡? …?÷Á?‚?èž?`{?«ß?Êî?€é?:±?`{?€^?l¡?Àk?`¨?6Ï?@ æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?Tï?ð?ð?€!ë?@ï?ð?ð?ð?ð?ð?ð?ð?€^î?@˜ï?€vì?À›î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? î?€êí?€cê?ní?€æ?Hë?Àåî?ð?€øì?Àè?î?€*è?À2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtï?ð?ð?Mï?@?ï?ð?ð?ð?@Hë?€í?ð?Qï?€Ží?@ßï?ð?ð?ð?ð?ð?ð?@nï?@“î?€ï?ð?ð?ð?ð?ð?ð?ð?@€í?@ñâ?Àké?À“î?êì?€Îî?ð?Àðï?@žî?À­î?@éï?ð?ð?€ªí?Àlì?@æ?À)î?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?@‚í?€Xï?€Ñå?Ú?@Dä?@ÿæ?€nã?€å?€hä?€ê?€î?À¨í?í?Që?€ðå?@½ä?€4ã?@Ÿæ?ÉÝ?@{ê?€cç?@.ì?äî?qí?€•î?@;ì?Mï?Àªï?Tí?4ì? ï?ð?ð?€ ï?ð?ð?ð?ð?ð?ð?ð?æï?Ó?À‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?·å?Àýä?€hí?Àaì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿç?Äï?ð?ð?ð?ð?ð?Àìî?¸ï?jï?Àfï?Àyï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?Vï?€2æ?À]ê?À²í?Àvë?ð?ð?ð?ð?ð?ð?ð?€ëï?Àåï?ð?ð?ð?ð?ð?ð?ð?À"ï?€Ží?€;î?À ï?Àüï?ð?ð?ð?ð?ð?ð?ð?@Èï?àï?€ñï?ð?ð?ð?ð?ð?ð?øï?Pé?X¶?€OÑ?€ƒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?€ëé?@±ï?ð?ð?ð?ð?ð?ð?@vë?@ ê?Àªì?€œï?ë?ë?€cé?Àç?€3ï?ð?ð?ð?ð?Àüï?@©ï?­ï?@]ì?@ì?@ê?@Cë?Àtì?Àþè?€Ðê?ˆë?€ì?Àãë?@ãì?šë?Àÿë?€ië?€íï?²ï?@Îï?ð?ð?€íï?Àcí?€ì?^ì?dë?@2ê?ÀÂì?@í?Üì?À›î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íë?ï?ð?ð?ð?ð?ð?ð?ð?¥ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6ë?@‰?€då?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?•ç?×Ã?€Àî?ð?ð?Àìä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ã?€P?:??’??œÀ?@jé?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?SØ?€„Ò?ÀÁí?ãÓ?Ñ?5É?@ï?À ì?@¼ã?@²ã?@‘ï?ð?ð?ð?ð?ð?€¢á??@üì?ð?ð?ð?ð?ð?ð?ð?ð?€6ê?©Ê?Ò±? }?­À?@#ì?ð?ð?@Mí?ð?ð?€ýï?@ï?Ö?^?G?°§?-Ð?? ±?€œÐ? â?mÎ?€b?€n?²Æ?€àÕ?óÚ?(?ÆÌ?ì?ð?ð?ð?ží?@Ûà?æ¶?\¿?€Èé?ð?ð?@õï?@_ë?Ý? ì?€Äï?ð?ð?ð?ð?ð?ð?ð?@ÿï?@Ïï?€[ï?€’ï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€ìï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?@¯í?€þë?§ì?À¸ï?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?@Óï?sï?À ê?ââ?€CÑ? ?À|? s?>?×Ë?#ã?@ â?¼?ˆª?¶?Àm?|?¶º?€Iâ?Àbé?€Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âï?ð?ð?ð?À–î?@âî?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ì?@@í?@Õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?€ë?ç?€’é?À/é?Ñî?@ë?€Êë?Àsì?ûï?ð?@6é?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ê?”ç?@éæ?€¯å?@çè?‚æ?€)è?À„å?€øã?vå?@è?íï?ð?À÷ì?@›î?ð?ð?ð?ð?ð?ð?ð?úï?Ÿí?€®ï?ð?ð?ð?ð?ð?ð?ð?€_ç?&ë?@gê?tê?€µë?@†ê?@æî?ð?Àýï?ï?À~å?Åì?@ùï?@ùï?€pë?@Ôê?Ôí?À ï?ð?ð?ð?ð?À¨í?Àî?€Lì?Üî?Àûï?€*è?À;é?À­ä?€‹é?€ ë?€Ðè?À”ì?€ï?Àsï?À¿ï?@ÿï?Oï?€=ï?]í?€7ê?€<è?€ ê?î?€®î?*ë?€oï?À§î?Øè?Àê?Àßè?Àî?@ýï?Àùï?€ýï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œì?À®à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€^ê?€Kê?@ë?€té?€Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àé?ð?ð?ð?ð?@õï?@Îî?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?€–í?€Øì?@×î?@ýï?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?‡ï?¢í?€Áí?À»ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥ï?ð?Àµï?À¥ï?ð?ð?ð?@­ï?€üï?@ìï?õï?Àvì?…Þ?„?Àh?ÀÉ?€4å?€Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À:í?@Vì?ð?ð?ð?ð?ð?ð?ð?À›ê?”ï?oì?­ê?€úí?ð?ð?âî?Wè?€*æ?@Œç?ÀŠí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?uí?Àžê?ì?âê?€±ë?@í?@–ì?î?Óï?ð?ð?ð?ð?ð?ð?@Èì?@Äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—î?Àšê?ð?ð?ð?ð?ð?ð?ð?À2í?@ ê?€cì?@¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®ë?Àc?€†æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?@Àê?@zá?º°?@æ?ð?ð?€Dî?€ïÑ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5ï?šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºì?ÙË?l¤?5Ü?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àeî?nµ?UÄ?`Ç? ®?€/é?ð?ð?ð?ð?ð?ð?ð?ÀŠï?€ è?èá?ð?@¯á?ÞÁ?ð‡?–É?€†?Àv?ÀÆé?ð?ð?ð?ð?ð?€Þã?Hâ?@ïï?ð?ð?ð?ð?ð?ð?ð?ÀLâ?\µ?BÈ?eÀ?€ýÐ?À5í?ð?ð?ð?ð?ð?ð?3Ó?`“?«Ê?€¼Þ?tè?Ø?€—Ý?:×?Ø”?D°?€Ž×?Àxæ?«ï?ð?@›ì?`³?€W?ò·?Àmà?ð?ð?ï?ÀÆè?Í?€ðå?€Žè?ð?ð?€î?ð?ð?ð?À|ï?ÀÒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?@3í?@wî?2ï?Àaï?À»ï?ÀÖï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Xê?`Ø?h–?ð‚?’?«?¨à?L¼?æÓ?Àyï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rì?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€0í?€î?ð?ð?ð?ð?åï?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?²é?@Úì?ð?ð?ð?ð?ð?ð?ð?ð?Àsî?€¦ê?À‘í?@ƒí?Àyî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úë?@Eâ?áî?ð?ð?ð?€ï?€âï?Àáî?@”ï?€uï?ð?ð?@Ôï?@žî?ð?ð?ð?ð?ð?ð?ð?ð?€öï?;î?ð?ð?ð?ð?ð?ð?ð?ð?~î?§ï?ÀÑï?@Uç?€é?@âì?êè?Àºì?À˜î?€…ï?ï?Wå?@…ã?€èê?ì?ké?@±ê?é?@í? ï?Àïï?ð?€î?që?~é?€è?ÀÃç?€Jè?À¬ã?€ì?ÀÈî?Àì?ÀCî?@í?À²è?À©ë?~ï?@‘ï?@8í?@°ë?€Âè?Àéë?„ê?@Oî?ð?ð?î?€²î?íì?@rç?èí?åé?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¿è?@áí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ï?Àçè?€ðï?ð?@•ï?@Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®é?ð?ð?ð?ð?€Áï?@ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?<ï?€Ëî?€ªï?ð?À÷ï?ÀFï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?«ì?Àhï?ÀÑï?Àƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uï?ð?³ï?@åï?€ôï?@ãï?ð?ð?ð?ð?ð?ð?`î?€)ä?γ?Ì?€fè?ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?@Òé?ð?ð?ð?ð?ð?ð?ð?ð?Àé?„ï?ð?Àˆï?‹ë?€<ë?ÀÝï?ð?ð?Öï?€Bí?À+è?ûå?€ºê?©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞí?aí?ÀËì?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€=ê?^ï?ð?ð?ð?ð?ð?ð?ð?@ ï?@öí?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xç?@gé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡ê?Nº?HÜ?€]ç?€¿ï?ð?ð?€¬ì?À§á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ê?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Hí?\£?4?,ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‚î?Ë?rá?ð?ð?ð?ð?ð?€{ï?À®é?\Õ? |?ºÛ?ð?ÀLà?€R?è ?@Ïì?ð?ð?ð?ð?ð?@Eè?{?’?€õÜ?ÀZï?ð?ð?ð?ð?ð?ð?€Ñî?€6à?Ю?€Z?8?Ò»?@¸á?€Zî?@Üï?€bî?@×à?×Á?X˜?PŒ?Þå?€Ý?«Ö?p?د?À|?€1Õ?ÿì?@è?€k?€ÞÝ?€5ï?ð?ð?€Zï?âË?¼­?€™Ò?@´î?Àæè?åë?åï?ð?ð?€*î?Wí?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?ð?ð?ð?ð?Àðï?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?Àïï?ð?ð?ð?ð?€Æï?ð?Áï?@«ï?À£í?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?@ëæ?H²?X–?<­?ˆ–?Àd?tµ?Ôè?Pº?2?Àl?@›?Ààä?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààì?@‰ï?ð?ð?ð?ð?ð?ð?ð?@¢î?€|ë?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?€eí?€9è?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼î?@gæ?Áä?€Ìã?@Çï?€ýï?ð?€ðï?Ëï?@¢ï?€õï?ð?ð?ð?Àÿï?Øæ?@¹è?ýï?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?@öï?€§í?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?@3î?€]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñî?€®î?€)î?‘ç?€ã?@ªê?@†ê?ë?¤í?hî? í?@áî?@6ï?ì?¸ì?@›æ?@Îä?@Eê?À{ï?€ëï?€'í?!é?•ç?@ëî?Ñé?@î?Àî?ÀXï?€Ëî?ë?Àáî?€´ê?€ìî?Àûî?€¬ë?@Eë?Œç?¤ì?@?í?À¯é?@¾ì?À˜í?Üï?À]î?@€ì?ÀŠí?@šï?/ì?€Ûï?€µë?€Hê?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fë?€uê?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”î?Àè?îî?ð?ð?ÀZï?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?€\ë?€†ï?ð?ð?ð?€¤ï?@·î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?@íï?ªï?,ï?€_ì?ÀDí?Àlï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?–î?Ïî?ð?ð?ð?€ßï?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?@sï?Àÿï?Àïï?äï?€úï?ð?ð?÷ï?Àãí?€Çï?ð?ð?ÀÝï?@ì?3ã?ˆ®?”¢?@‡ç?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€cï?@Dí?@í?ð?ð?ð?ð?ð?ð?ð?Ýî?@7ë?ð?ð?ð?ð?í?@±ì?ð?ð?ð?ð?ð?ð?@tì?À×å?@Rê?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6ã?€ŸÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cî?rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@gã?€]?@j?Æ?@&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê?@7ã?ð?ð?ð?|í?À¿â?/É?„?¼Á?˜ï?æÔ?,?€Aá?ð?ð?ð?ð?€óï?FÕ?€m?…Ô?€\î?ð?ð?ð?ð?ð?ð?ð?€lä?µÇ?` ?2Î?XŸ?ïÁ?@Â?`²?€’Ñ?ÀŒ?Ç?@Tï?ð?ð?@ì?€øÐ?ȯ?É?iØ?í?€Ðê?‰î?ÀÞì?”í?@Fï?ð?ð?ð?ð?ð?ð?ð?ð?@Uã?@+é?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?@xî?@ùï?ð?ð?ð?ð?ûï?~ï?@ôï?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æî?@¦é?@1ê?Àrè?ôÂ?-Ç?À´è?€!Û?8³?à†?€ Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éì?ÀÄï?ð?€Æï?ð?ð?ð?ð?ð?*î?€Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?Àhï?ð?€ é?@ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?@«î?yë?kç?ç?Ïê?çé?Sé?@ê?@jì?ð?ð?ð?Àµì?@qã?€ï?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?€î?€1ï?ð?ð?ð?ð?ð?ð?ð?À÷ï?€›î?@Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåî?Vî?€è?À|æ?@|è?Àîå?Àqê?@òî?[ï?€(ê?Òä?@cä?®æ?eé?,è?@ç?Àìê?À˜è?@ïé?À¥ë?€Oë?}ï?ð?ð?ð?ð?À>ï?ÀÌî?ð?ð?€ï?@éî?ÀQë?@›ï?@î?@´æ?@/é?8î?€«ê?À1î?jì?€"ï?lí?À*ï?Àí?€ï?€uí?€šë?@9í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@ãç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Àšî?€ìì?€æ?ÀÓï?ð?ð?ð?@áî?@Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? í?€BÑ?Åí?ð?ð?ð?ÀÃï?xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šï?ÀÓî?‰ï?Ýì?@ ì?ÀGï?À™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?]î?@{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?Óï?€]î?ÀÄï?€~ï?€¢ï?€êï?ÀÂï?Àæï?ð?Àåï?€)ë?ð?€èï?@íï?Àòï?ð?@ûâ?È›?¨?@”?°¤?€êá?€Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ÀÜï?€ïê?@ÿê?Àqê?ð?ð?€úï?€èï?ð?ð?¢í?Àë?@•é?Íí?ð?ð?ð?ð?ð?À¥ì?€ì?ð?ð?ð?ð?ð?ð?ð?Àeì?€ç?Àþê?€¿î?ð?ð?ð?ð?ð?ð?ð?@¯î?'ë?@5ë?€„ë?€÷ì?€¸ë?À2é?€3ë?Àqê?Éë?…ê?Àfë?#î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHà?ª¹?€£í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~ï?À(è?íÁ?´?€„è?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÜÖ?€?Þ?ð?À¯ì?€õÝ?ظ?ºÄ?€à?pŽ?zº?Àí?ë?€Xì?ÀÕï?€ñï?QÐ?€ÂÔ?Àmã?€'î?ð?ð?ð?ð?ð?@ï? à?r±?Ò²?€óÝ? Ø?ì©?àÂ?Ä©?€œ?À4ç?ðì?Àì?øÛ?€v?@i?d?—Ä?ÁÐ?gË?Ç×?@;ç?*ë?€Ùî?ð?ð?ð?ð?ð?ð?ð?ð?ˆè?À³î?ð?ð?ð?ð?ð?@¨ï?îï?ð?ð?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸î?ÀFï?ð?ð?ð?@Åï?À{î?@Ìì?@ýì?À&í?€&ì?À´ï?ð?ð?ð?ð?ð?ð?ð?Çî?ð?ð?ð?ð?ð?ð?€cï?ÿí?@8ë?@Íí?Éâ?iÍ?`z?pº?pŸ?G?VÞ?ð?€|æ?<³?ܵ?ô·?²?@x?³Ú?@‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄí?ð?ð?ð?ð?ð?ð?ð?ð?Àgî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Që?€Çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?À®ï?@ˆï?ï?áï?fë?@¿î?ð?ð?mè?@Åå?@\ê?ð?ð?ð?ð?ð?ð?@Sï?ð?ð?¯ï?@ªî?ð?ð?ð?ð?ð?ð?ð?ð?!ï?@gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËí?Àê?@•à?@Ýã?wç?üê?Àwî?€øí?À×ï?@Çï?9ï?Àí?€Šé?€ÿê?@õí?@—é?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Àî?áï?@9ï?žê?€Ví?ÀÄé?€)é?ÀDæ?À6ï?¡î?ÀÁî?@Bî?ð?ð?ð?@#î?<í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?@€è?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?€Gì?€¹ê?À®è?@?è?€0ë?€Qé?ð?ð?ð?ð?€¯î?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡é?SÌ?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Gï?€¸ï?ð?€ðï?‘ï?Àðî?=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œî?ïí?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏï?ð?ð?€Šï?Àœï?ð?ÀÏï?ð?@šï?€ðï?Ñî?Êï?@ìä?0™? v?@–ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?€ë?€ûë?ð?ð?ð?ð?ð?@´ï?@ì?ì?¤ì?@öï?¦î?zì?ð?ð?ð?ð?ð?ð?©ì?î?ð?ð?ð?ð?ð?ð?ð?@Ñï?Àžê?íå?€äç?@èï?ð?ð?ÀÖï?À¯ë?Àpë?Vë?ÀÛï?ð?ÀÎí?ë?@”ë?€”ï?ð?Àòï?@½ï?ð?€ªï?€î?!ì?€Üë?€¢í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€­ì?Zì?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oß?€nÑ? ?€fä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Kî?°è?±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhí?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?@Û?6?¡?À\à?@@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘î?’´?Š×??ß?ô¯?€T?€Z?ðž?€¯ë?°ï?À.ç?€Åï?Áï?€Ó?p¬? ¡?@óè?ð?ð?ð?ð?ð?ð?@Jë?@â?ÞØ?@ºí?€å?@Š?(Á?`u?è±?ô¶?œ?JÄ?ÁÈ? q?H™?@bâ?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?€öï?ÀÂï?Êï?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆï?ð?ð?€óï?Óî?@Vï?ð?ð?ð?@Œï?%í?ð?ð?Àýï?@ï?€ í?@Aï?Àë?½ê?@Æä?Lì?ì?€´í?@æí?@¬ê?À ç?€î?À‹ï?ð?@Îï?@Ýí?°Ü?À?¬¡?›?’¹?«?°ƒ?¾»?MÅ?K?%Ç?¼¹?¥ì?@÷ï?@Já?€j?OÅ?4£?C?G?õÓ?@Hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²î?·î?ð?ð?ð?ð?ð?ð?ð?À„î?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ë?€¼ç?è?€Öí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?À¾é?Àxî?ð?‹ì?@•å?€ºë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?À…î?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?<ï?À„î?€æ?Àá?€öä?€‹í?€™æ?@÷ï?Àõï?@Ûï?€Ïï?@ùï?Àÿî?€áî?î?@Ìí?€ë?@î?ð?ð?ð?ð?ð?@(ï?@=í?Àì?À"ï?À”ï?À$ê?@âï?ð?@#ï?@ë?Áç? í?@%ê?À‘î?@€é?úï?ð?ð?ð?ð?ð?@Bí?€ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üî?è?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?½è?ÀŠî?ÀÒï?ÀØï?ð?Wï?@¨ç?ð?ð?ð?ð?Àfï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?@ýâ?v¿?À‰ç?µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@Dï?€ãï?ð?ð?€öï?ð?ð?À5î?À&ï?ð?€öï?ð?€Æï?À©ï?ÀEï?ð?„ï?€kà?€y?¬®?€´å?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\î?×é?iç?€ì?ð?€Íï?ð?ð?ð?@yï?ÀÁì?ð?ð?ð?€—î?ýì?ð?ð?ð?ð?ð?ð?@âï?@*ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Oì?@éç?€äì?€Æê?mæ?ÀKí?ð?ð?ð?ð?ð?ð?@[ï?ÀÜí?ð?ð?ð?ð?ð?ð?ð?ð?Àí?@4í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§í?@ ì?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êß?€)Ù?òÁ?€;î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXï?€úï?Ààï?*î?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Bµ?À?̤?L?€ºÑ?ñì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ží?b°?E?W?t¤?€Oì?ð?ð?ð?ð?€Ù?÷Ñ?^ï?ð?ð?ð?ð?ð?ð?@wî?€Çî?—Ô?"Â?8«?A?VÀ?¤¦?€?{Ï?ÀNç?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mï?€Ðí?î?ì?€¼ë? ê?À›ë?À“ì?Àè?Àsì?@«è?]Ý?ì?À ç?€Òê?Àîì?À3ï?ð?ð?ð?ð?€­ï?Àƒî?Àêï?€Ú? ‡?ÍÁ?@ï?@¯î?€œÙ?ÀÊä?Àðä?OÃ?¬¢?€ é?ð?€=ï?Å?Í?€óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôí?€Êî?ð?ð?ð?ð?ð?Áï?sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æï?À»ê?bí?@aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?7í?ßé?Àüç?@Oè?@è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rí?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?€•í?ÀUî?ÀYí?jï?€:ä?oí?€ê?€Rê?ð?ð?ð?Àòí?@í?€”î?“í?7ê?´ê?Cî?ð?ð?ð?ð?ð?ð?ð?ð?À ï?@œë?@¿î?@í?ÀÕì?@ì?@•ê?@5í?ë?Àûï?˜í?€âï?¨ë?@éï?ÿï?@Œî?À(ï?ð?ð?@³ë?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?@úì?€¿ê?€Kè?@kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@†ï?ÀËè?€bî?ð?ð?ð?ð?×è?ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´î?€¥Ù?,¡?‘à?Àªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôî?@îï?ð?ð?ð?ð?ð?ð?ð?À§ï?ÀÑï?ð?ð?ð?ð?ð?ð?@Îï?µç?€Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€èï?ð?ð?ð?@Žï?@iá?°Ÿ?Àœ?ÀÑà?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷é?@Òï?€Iï?Àýï?ð?iï?ð?ð?ð?€“ï?@2ì?ð?ð?ð?@)ì?À1ï?ð?ð?ð?ð?ð?ð?ð?€Äë?@–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwë?À ì?Zì?Àáí?©è?@3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€Æë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þí?À3ë?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?ÍÔ?@j?Ôà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Xâ?V±?À‡? Ž?‡Ã?ÀRí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?€W×?>?€P?€³?Íí?ð?ð?ð?ð?RÙ?€ÃÚ?ð?ð?ð?ð?Àí?@{æ?€2á?€UÜ?¥ß?#Ù?€¦â?p?Ô¤?ˆž?€b×?á?žÝ?@µå?@¿ë?À9ì?eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?@Ôî?Àwï?ÀUï?ð?€+ì?À\ï?¼ë?ð?€Ôî?ð?€¨ï?ÀÀî?À_ì?ÀÑî?@Ãí?€àï?@Íî?ð?ð?ð?ð?€î?‡í?ð?€lï?$ê?€>é?3Ë?X‘?@ ä?ð?ÀÖï?@íï?Àúï?@%ê?˜š?°‘?€dë?ð?Aé?¨¬?ð‚?@q? ¡?€Q?€™Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?ð?ð?@?ï?Wë?ÀŒë?Àwî?ð?ð?€ßï?@tî?€~ë?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ï?@Ûî?ð?€äï?@Xî?ãí?ð?ð?À í?Àðê?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?@Jï?Àïì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Kï?@‚í?ð?ð?ð?ð?ð?áï?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?€øï?ð?ð?@wì?€,é?@Ëï?Óë?À÷ï?ð?ð?ð?Àïï?€í?€óà?sé?@ì?@`î?ð?ð?ð?ð?ð?ð?Úï?4ê?€Ëí?€íí?@Ùë?€rë?ÀKê?€¥ë?_î?€Úï?Àí?@|ê?Àõï?@êî?€Vï?€‰ë?@îì?€aì?€í?€Žì?ð?ð?€•í?@–ï?ð?ð?ð?ð?ð?ð?ð?ð?¶ê?Àêí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àší?¡ë?Äé?Çí?ð?ð?ð?ð?ð?€0í?Àîí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€?î?À1ä?€ÉÖ?ŸÂ?·ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?À¦î?ð?ð?ð?ð?ð?ð?ð?@Áï?ßï?ð?ð?ð?ð?ð?ð?èï?èï?ð?ð?ð?ð?ð?ð?ð?€Øï?îï?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?€é?¨±?€]?’à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?Àaê?Iï?ð?ð?ð?ð?ð?ð?ð?ð?èî?@cì?ð?ð?À2ï?À¹ê?ð?ð?ð?ð?ð?ð?ð?ð?°ï?@Së?À˜ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?të?ð?ð?ð?®ï?Àïè?À‹ì?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À>ì?zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?@6ë?Êë?À”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ê?Ä¥?àá?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?pï?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*í?€è?^µ?àŠ?RÃ?P‡?À|?2°?ïÝ?Àâí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•ß?CÇ?@ûï?ð?ð?ð?ð?À%ã?`p? å?ð?ð?ð?‰â?t¤? p?ê½?¸?Þê?úï?§Ö?À|?øš?Ö·?Pž?M?@{?~?ýÊ?€ç?·î?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?@Lï?ð?ð?ð?ð?ð?ð?ÀŽï?€-ï?ð?€÷ï?ð?ð?ð?ð?Àaï?òì?€øî?ð?ï?@(ï?ð?@§ï?@Óï?ð?€«í?€Rï?ð?ð?ð?ð?@Îî?€“Ò?ˆ¤?zä?°?ÀŒ?¨–?\Ï?âï?ð?ð?ð?€Üé? ?@?@³æ?ð?@§ç?{?z?U?c?C??@üá?ð?ð?ð?ð?€¦î?@£æ?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?@Ší?€-ï?Àåì?Àêì?ÀÁï?@¾ï?þê?@õï?ð?ð?ð?@êî?Àdî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@`ì?*î?€óë?´ì?Àðì?¹ì?€/î?€ë?@í?@\ê?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'í?ßï?ð?ð?ð?ð?ð?Îï?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ÿï?Àþï?ð?ð?ð?ð?ð?ð?õï?@;î?ÀKì?ð?ð?ð?ð?ð?ð?ð?ð?€‡ï?@¾î?À×ë?@Jï?@´î?ð?@Hé?Ôï?ð?€üï?À2ï?Wê?@…ï?@Üï?€ªï?Àþï?@êï?@ñï?@úï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?dè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï? ê?@äë?@pí?€•ï?ð?ð?ð?ð?ð?…ë?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?@6é?KÞ?ܱ?€~â?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤î?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?@…ï?€ç?D»?@‹?€;Ò?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ë?@ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ð?ð?ÀÃë?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.ì?ð?ð?ð?ð?ð?€?î?À é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?%í?@£í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Iï?€”é?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ã? s?@óè?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?ð?@œî?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õÖ? ¢?$?…É?ãÊ?åË?€’î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[Ø?P˜?“?€V?€ã?ð?ð?ð?ð?ð?Àæ?P‡?Êß?«ï?ð?ð?€¾Ñ?äÂ?ÝÛ?0í?€˜Ð?ÀMí?À{é?€¬Ú?@£?€?¾?v×?€é?€;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?@(ï?Sï?ð?ð?À©ï?€×ï?À©ï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æî?@:ï?ð?ñí?ð?@Iï?Pî?À©ï?€ï?Àìì?@…ï?ð?ð?ð?ð?ÀUì?{Å?·?æ?p©? ¢?çÅ?J²?@ï?ð?ð?ð?€í?È¡?8È?@Ùì?ûÒ?ˆ?@Hâ?Àþï?ð?ð?ð?@sí?€Rï?ð?€6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[ï?Uì?@½ì?@ï?ð?ð?€üï?@ì?í?@Oî?€ïï?ð?€¯ï?@Ëí?À°ï?ð?ð?ð?ð?ð?ð?ð?@üï?€î?@1ì?ÀÊê?ð?ð?@zí?@ ì?÷ï?ð?€âî?@”î?ÀLì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©î?@Ìí?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôë?ÀŒì?Hì?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?[ï?€þí?ð?ð?@éï?êê?ð?ð?ð?÷ï?@1è?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜é?€üè?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûì?€ë?Æê?Àþî?ð?@Àï?@Ìï?ð?ð?ð?ð?@ï?Àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œï?ÀÇê?ŸÈ?7Þ?ªê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?@îï?î?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€Øï?Àïï?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?€ï?yè?Æ?ì¥?À!ë?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?€âï?^î?@ºí?@{ë?0í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@’ì?ð?ð?@Üì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úë?ð?ð?ð?ð?ð?ð?æé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQï?@Âì?ð?Ýï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âí?@=ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?$ã? r?€–é?€ÿï?ð?ð?ð?ð?ð?Àíï?€Ùï?ð?ð?Àï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?€þï?é?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðî?QÌ?È?ƒ?8?Àm?`?2Ð?€kè?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€eÖ?J?T¢?”¡?K?€Õä?ð?ð?ð?ð?À”î?®Î?`Œ?‚Ì?€Û?€)æ?€•×?@á?Àÿï?ð?€×?¶î?LÕ?\¿?Q?ؤ?€ðÐ?@¶â?€]é?À÷è?€“î?@î?€—ï?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?@Æî?Àýï?°î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iï?ð?ð?ð?ð?€ûï?€ì?@×ï?ð?ð?ð?ð?ð?@hí?BÃ?Àm?$´?t«?„´?0? ³?Àr?ƒ?“?@¾ì?ð?ð?ùï?pá?€\?¸¸?`w?,¨?@¢é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿í?Ÿï?ð?ð?ð?ð?ð?@×ï?€Ëï?@§ï?@ î?€¾í?@¹í?Àßì?€[î?]ï?€ùï?ð?ð?ð?@ï?@óì?@—í?@í?À¹ï?ð?ð?@ãï?À­ï?À°ï?ð?ð?€)î?ì?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?|ï?@–ì?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€£é?@•í?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?Žî?î?ð?ð?Àí?€lì?_ë?ð?ð?ð?Àèí?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ï?€$ì?À î?€„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùì?€ í?ð?ïï?ð?ð?ð?ð?ð?ð?ð?@ÿï?Àýè?ÀÐì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?{Þ?žß?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?€²ï?eî?ð?ð?ð?ð?€úï?€èï?Àýï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?€üï?ð?ÀÑî?@(ï?€ùï?€ÿï?ð?ð?Àýï?@€ï?@¶ï?ð?ð?ð?ð?ð?ìå?ˆ–?Ј?€U?\È?€#î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@Øì?@§î?À÷ï?ï?À~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?@Õì?ð?ð?áë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êì?@kï?ð?ð?ð?ð?ð?@Iê?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àví?ÀŽì?ÀWì?€#ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ï?>ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åä?¼?@.é?ð?ð?ð?ð?ð?,ï?@=î?€lï?Àsï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?@kï?@Îï?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢è?à‡?ÍÉ?·æ?pœ?@‚?ÝÉ?À„è?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëÔ?z? ‚?D? ?À¸é?ð?ð?ð?ð?@¸ë?@b?W?¨š?€S?ŠÏ?æï?À|ì?€³Ú?€ì?¼¢?¥?wÊ?PÙ?Àêä?6ç?ÀÇé?ð?ð?²ï?Ìï?¯í?Àµï?çî?ð?€àï?€êï?yí?@ï?_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦ï?À€ì?ð?ð?ð?ð?ð?ð?€’ï?É?D?€e?š¸?ˆ®?@g?ÙË?@,æ?»ê?€Eé?€ïï?@dî?aÚ?€ìØ?t¤?Þ·?Ш?­Ã?À{î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVì?ÀAí?Êí?@î?Àî?ýí?€Dì?€€ï?ð?ð?ð?ð?ð?ð?Àwï?÷ï?¨ï?Àåì?@Êì?À›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ï?À_ï?@‡í?@ùì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€`ï?Àbì?€6í?ð?Àmë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êí?@"ï?ð?ð?À3í?¢ì?€óî?@´î?ûï?ð?@þï?²é?@Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Rë?îî?€®î?@/î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝë?€vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À‘æ?À½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°è?€’Ü?@ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAï?ð?ð?ð?ð?ð?@ãï?@çï?@þï?ð?ð?@ãï?ð?ð?ð?ð?Ùï?ð?ð?ð?ð?ð?ð?ð?_ï?÷ï?ð?ýî?€µï?áï?ð?ð?€åï?yï?@±ï?åï?ð?ð?ð?ð?Àµï?Êì?Ëë?€MÞ?˜œ?x–?à¢?Àƒ?¢¹?T©?@r?ýÜ?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ÿï?lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€iî?@ì?ð? ï?³ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üî?À˜ë?ð?ð?ð?ð?ð?ÀIê?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Tí?€Žì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€fê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîæ?€cÔ?ð?ð?ð?ð?ð?ð?ð?ð?€-î?@8ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?–å?Àf?l¸?€îè?ð˜? ?Ȭ?€6ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?OÎ? Ž?Àa?Pƒ?HÓ?@§ï?ð?ð?ð?ð?@¼è?†¶?À$æ?z¿?@oâ?@öï?åÕ?€Ý?=ê?ÔÑ?€x?Àg?°º?€ŠÜ?@uë?6î?Øï?€©è?Àuê?@Œì?ï?7ï?ð?€„ï?°í?À'ì?€õî?€Üê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðî?€Çí?€þï?ð?ð?ð?ð?@òï?ÎÐ?0©?Àg?€/Û?´?â·?ié?ð?ð?ð?ð?Iî?œ¼?€ŸÜ?ÏÖ?ä?@©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Uï?ÀQë?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?€^ï?Àdï?ÀÙë?À¢î?ð?ð?@Sï?ð?ð?@ãï?ð?€Ûï?@õï?ÀXì?€æë?uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?Àýë?€í?Àíí?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßë?Ïí?ð?€êï?@eî?ð?ð?ð?ð?ð?@èï?ÀÜí?@Èì?À4ì?€Ëî?@»ï?€mî?ÀÉë?€Öê?@÷ï?@uî?€Áí?/î?@ví?@uê?@Zì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?é?ð?@6ï?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¿ï?@¬ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§ï?€íè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&á?€ï?ð?ð?ð?ð?@îí?òì?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?Šï?ÀÛï?@ãï?ð?ð?ð?@ãï?ð?@ëï?ÀTï?@âï?ð?À‹î?€øî?ð?ð?@ãï?ð?$ï?ð?ð?ð?ð?ð?@Sï?ð?ð?€]î?@÷é?€€ë?À;ì?Àè?üé?@¯î?@ì?€™ç?€6ß?ø¸?ð“?€í?ð?ð?ð?ð?ð?ð?ð?ð?øï?@Wë?ÀÐé?è?À5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâí?ì?ð?À½ì?Qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“î?Ôè?ð?ð?ð?ð?@éï?ë?ÀÐì?@³ì?@Fí?€>í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üé?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?¼À?€aÚ?ð?ð?ð?ð?ð?ð?ð?ð?€pæ?À¶ã?'å?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åÖ?ÌÃ?@ç?‘?>»?,Ä?Àg?ÚÌ?@rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï? Å?>?@`?G?@‚ä?Êï?ð?ð?ð?ð?žî?‘Å?kÐ?@²ï?€5×?›?4é?@}ê?€Ëà?[æ?€™ï?€—ï?7Ù?lµ?äÕ? t?8–?£?–?3Ê?€d?Ц?à|?ÆÆ?ÀÓæ?@Vë?Îè?ÀVì?À3ï?€üï?ð?Àï?Àì?@^ï?€úï?Vì?[é?€èí?@íí?ð?ð?ÀÒï?@£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?ÀJî?@©ï?ð?ð?ð?ï?ÂÀ?MÀ?@ûà?ܱ?"³?2±?­È?ÆØ?Íà?@¿ï?ð?ð?ð?ð?ð?Êê?4²?€Û?€1ß?¤Ü?€Åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?Àbï?ð?€3î?žï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?Kï?ÀÏî?ð?ð?ð?ð?ð?ð?ð?åï?À©ï?ï?€£ê?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?Àüî?€öê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?@ í?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?€ïí?Àùî?Àïï?ð?ð?ë?€yê?À(ì?@ ì?ð?À%ï?@Bî?€šî?@Áì?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*è?Àïï?ð?ð?@…ì?Rî?À*î?À¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïë?À|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òè?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?@üã?"ë?@ è?Àëê?@ºê?ÀÅì?ÀIï?€üí?€öí?î?€¹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?Ùï?€üï?ð?ð?ð?ð?ð?ð?€ôï?@Þï?Àùï?Àíï?@Cï?ð?ð?åï?@þï?À©ï?ï?ð?ð?ð?ð?ÀŽï?@þï?ð?ð?€åî?@î?Àïï?ð?ð?ð?ð?ð?ð?€èï?€eê?Ÿ?@>ã?ð?ð?ð?ð?ð?ð?ð?ð?@.ï?ÀLê?€ î?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hì?ð?@2ï?@*ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œì?@óì?ð?ð?ð?ð?€6í?Àší?ð?€ºí?@Ÿî?ßë?Àì?€Éë?@Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€jí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À]ë?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ã?@w?Àòå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?²±?M?¨Ó?€‡Ó?Àl?lÀ?À)æ?€ Ö?§Ù?Àï?ð?ð?ð?ð?ð?ð?ÀŒï?€ìì?ð?ð?@«í?t®?¨—?à”?€“å?ð?ð?ð?ð?ð?ð?@±æ?o?°‹?Ýá?ãÏ??éÏ?SÒ?@Êâ?ìï?Àáã?]Ü?¼²?Èž?‚Â?È?w?x£?£?€`?ƒÅ?€µÖ?M?Ђ?R°?€ß?¨—?`‡?N³?€qÞ?$å?ië?@bí?À ï?ð?@&î?€àî?ð?Àpî?@ì?À4í?À î?ð?ð?ð?€©ï?€ïí?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï? ï?ð?ð?ð?@ëë?¬¯?ôª? ?p¢?€:Ð?θ?8? u?€µ?Àe?pÂ?»?°¯?¨™?àŒ? ¸?°š?àŒ?€p?€.Ò?Êã?p§?€FÔ?¸˜?â¶?(½?@»ë?ýî?ð?ð?ð?ð?ð?Àqê?zº?^Á?€×Ù?8›?gÔ?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æî?Eï?Oí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{ï?@ýî?ð?ð?ð?ð?ï?ð?ð?ð?€Æï?@¡ï?ÀŒî?Wë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Gî?%ì?€^î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üí?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?Ãë?žî?Àºí?ÀÌí?ð?@aï?î?€Ëî?Àtî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?@dç?ð?ð?ð?ð?ð?mî?À«í?À2ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆì?>ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6ê?€¬é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðë?ÀŽî?€Ýï?@lì?ÀHê?€÷ë?€™ë?€Ñï?ð?ð?@±í?ìí?€hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?À©ï?ð?ð?ð?ð?·ï?ÀÄï?ð?éï?€î?ð?ð?@Cï?€êï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?€íï?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?QÛ?€Ââ?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?€Wæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€$ì?ð?ð?-ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?@àì?ð?ð?ð?Òï?Àîê?@õï?ð?ð?ð?ð?À:ï? ï?€bë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾î?@åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?€ŽÐ?Ð?€§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@zâ?`r? ›?0£?Àr?‡Ï?€Kí?ÀËì?FÌ?@yè?ð?ð?À#é?€jÒ?Àˆï?ð?€/í?ðª?Pˆ?"±?x”?zÐ?ôè?Òï?@Ñî?À’â?Mç?ºÙ?€ÀÞ?h¦?è’?¸›?ô°?€³è?Öï?”Ñ?@c?/É?ú±?Àg?Àn? ~?’Á?°š?AÌ?€ÞÛ?HÁ? t?hÄ?€BÖ?çê?zÉ?@–?Æç?ë?@ñî?€Ïí?@Oî?€Aì?À|î?vî?î?@ÿï?€çï?ð?ð?ð?ð?Àî?·ï?ð?ð?€Éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?€Cí?ÿì?€>æ?€¹Õ?¼Á?€y?Y?¸ç?iä?½?Wæ?@Ãé?À‹ë?@é?€Ïí?ÀKë?€¾Ü?zÜ?|ã?@fé?@âç?À&ì?Àsí?@¹á?€lè?€Óï?€Îå?ì?@+î?ð?ð?ð?@$â?€˜Õ?€‹Ù?ºÚ?ü«?T?èÄ?À{è?@yã?J°?Pœ?0š?a?Àâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ÀÒí?ÀZï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€aí?ìï?ð?ð?ð?ð?ð?ð?@Ëï?@‘ï?Íï?@»ï?À–ì?Àê?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtî?€aì?ÀŒî?ÀÜï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Dí?@Íî?ð?ð?ð?ð?ð?Àhï?ÀÍê?€žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´î?@"í?@né?À’ë?˜ì?ð?%ï?@Qí?ð?ð?€·í?À¯î?@í?€Ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•ì?@Oè?À¼í?ð?ð?ð?ð?ð?ð?”í?€ðî?ð?ð?ð?ð?ð?ð?ð?ð?Àí?€Së?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éê?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?€Bí?àî?ð?ð?ð?ð?ð?@Éî?Àì?€Ýî?ð?ð?€Ýï?ÀÂí?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?Xï?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€ï?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMë?° ?À„ë?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?Àëë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ð?ð?Àî?}í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€fî?€ë?ð?ð?ð?@|í?ùí?ð?ð?ð?ð?ð?ð?ð?@8í?€µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uë?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀZî?@Vê?ð?ð?ð?ð?ð?@î?Àì?€áî?ð?ð?ð?ð?ð?ð?ð?ð?€DÖ?àu?Ûå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿î?¾?˜? ¨?€R?@p?@i?€ŒÔ?À¬î?€`ß?ˆš?€˜Ù?@ ë?qá?@d?ªÊ?@\ë?À†ê?“?Àl?€Y?ŠÃ?z?\?¼¥?~Ø?€ýÔ?4?[?à?àƒ?oÉ?aÌ?{Ñ?àx?4?(¾?°‘?$?,?p ?ðŽ?È?qÝ?¢¿?ÞÇ?K?Þ´?Ú?€Ÿí?@Íí?€½á?F?€c?@úâ?Öæ?ßè?@ê?ì?@Ðí?À^í?ð?éí?Àhî?ð?ð?ð?ð?ð?@ì?ÀÍï?ð?íï?€í?ð?@ïï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?€ßï?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?@®ï?@Hã?*°?€©Ð?ïí?kÚ?€ æ?@¨ï?ð?ð?ð?ð?ð?ð?ÿï?@ùï?ð?ð?ð?ð?ð?pï?ð?ð?ð?ð?ð?ÀŠï?€zÜ?€nÕ?ð?ð?@]á?Š??G?€Y?FÛ?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ªî?€ñí?ð?ð?ð?ð?€üï?€½ï?Àïï?öï?¶ï?»ë?{ë?€ë?€qï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?À†í?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?Àûí?€zê?€òì?@ºì?€Cí? ë?Àí?pí?¿í?À­í?@zí?À’î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?€jì?@¥í?€åî?@üí?ÀÕî?ð?ð?@Tì?Ñî?ð?¢î?Âï?€ î?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ï?€!ê?Àùê?@øï?ð?ð?ð?ð?ð?ð?ð?Áî?€ï?ð?ð?ð?ð?ð?ð?ð?@òï?ÀÒí?_í?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À`ï?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?À²ï?ð?ð?ð?ð?ð?ð?À¥ï?À"í?€zî?ð?ð?ð?Àjí?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?À©ï?ð?ð?@ãï?ð?ð?€Øï?îï?ð?@Sï?€ûï?ð?@ãï?´ï?ð?ð?€íï?ð?@Sï?ð?ð?ýï?€ðï?€Àí?ýï?ð?ð?ð?ð?ð?ð?€íï?ð?ð?ð?€âî?>Â?(Ó?Àï?ð?ð?€3í?ÀËç?@sê?Wì?€Zë? ê?À¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À]ê?Àøï?ð?ð?@*ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?Cé?€yï?ð?€îï?së?€Þì?ð?ð?ð?ð?ð?ð?ð?ð?êï?@ˆê?€¹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?jê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sî?@§ë?@ï?ð?ð?€Hï?€×ë?@—ì?Àâï?€ì?±í?ð?ð?ð?ð?ð?ð?+ì?5Ã?€\×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îä?§É?ÊÖ?€c?Ö?@­ë?^Ã?@”?Ì¡?BÇ?t´?t§?…Õ?@ƒà?ˆ¹?€f?À|?Ü©?@”?(—?@«á?€”?`˜?€ŠÒ?ΰ?°?€s? ?tµ?úå?JÔ?Ò·?€Ð?€Óî?ð?€¼á?€S?€{?^à?À5ë?€iî?À¶ï?ð?@‰ï?€dï?ð?¼í?ï?ð?ð?ð?ð?@åî?ÀÈï?ð?@Lî?@?ï?ð?ÀŸî?€Àï?ð?€‰ï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?À5ì? Ü?þµ?ŸÂ?j´?D ?€1Ò?€Þà?ÀTí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸî?ÀJà?À?áÊ?ð?ð?€bí?§Ã?‡Ì?Àá?2è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§î?@ì?@ñï?ð?ð?ð?ð?ð?ð?ð?@èï?€í?€Àí?€4í?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?kî?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoï?!î?€™í?Àíì?À×ï?ð?ð?@‘ï?Bï?]í?Õî?ÀÁï?Àóï?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?¨ï?@þê?@®ë?€§ë?ð?ð?ð?ð?ð?ð?@Ðï?+ì?ð?ð?ð?8ï?@ï?ð?€èï?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªî?À˜ç?À=í?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFí?ð?ð?ð?ð?ð?ð?ð?@Âï?¸ì?êí?@gí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?@Yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öî?ºí?ð?ð?ð?ð?Àï?@ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï? î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?ð?ð?Ùï?ð?ð?ˆï?@·ï?ìï?À‘ï?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?ð?ð?ð?€Fï?€âÔ?f?€eÙ?@ë? æ?€GÔ?@†ä?Àí?À&î?@:í?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?@þï?ð?ð?@)î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒì?€%é?€/î?ð?ð?@î?ýì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?À¤é?€áï?ð?ð?ð?ð?ð?ð?ð?ð?@`ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èî?Rí?ñê?€*ë?€ë?€–ë?ÀÆî?Àìï?ð?ÀÛï?Àãí?€…ì?À^î?ð?ð?ð?ð?€Ñ?<Ï?€ìé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@Þî?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»Ú?–ç?ÀRá?4?h?•Ï?ô£?:?*¸?U??”¬?€9è?ÇÍ?€IÜ?l³?8¼?¨œ?ñÛ?à?À^à?\§?v³?Ôâ?àx?€¿Ò? ž?H‘?ÜÁ?.·?š±?$Ù?Öí?€—ì?c×?$?¤·?€yì?ð?ð?ð?Àõï?œï?ð?€˜ï?€ï?ð?ð?@ï?ð?nï?€Žï?ð?À;ï?@ýï?ð?@™ï?€Åï?ð?€\î?ÿï?ð?ð?€ýï?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€^ì?@æ?öæ?Àñä?7Ä?‚À?@›æ?ÀBï?€æï?€¸ï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?€¹î?€¸é?€3å?‹Ï?W?®?@{é?@øï?ð?éì?:Ñ?JÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€7í?ÀBî?ð?ð?ð?ð?Àÿï?@æï?€Íî?Àœé?€ßë?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@.ï?@xî?Üï?À°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?@Äï?@Ëï?”ì?…ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@Åí?@yë?@ì?¯î?ôï?ð?ð?ð?ð?ð?ð?ð?ÀÏë?ð?ð?ð?ð?ð?ð?ð?Ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ÀÏí?ð?ð?ð?ð?ð?ð?ð?À§ï?€'î?ð?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØê?Àâí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠî?@sí?ð?ð?ð?ð?ð? ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?þï?€Âï?Àˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?€úï?•ï?À÷ï?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?@„ä?_?’?€ƒÛ?€bæ?€Äí?Àøî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?@(í?Àëë?ÀÜï?ð?ð?ð?~ï?€óë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢í?ì?ð?ð?ð?ð?ð?ð?ð?Àfì?À‰ä?Àªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðî?@0í?€÷ï?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àá?Ї?<ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Àdì?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€)á?Äã?@˜ë?µ?ÀŸ?ˆ®?€Q?€å?ð?ð?ð?zï?ôï?æ?@â?@8ë?ð?ð?´á? ª?àw?`?n³?Àpã? ~?@t?@n?@â?Ýè?ð?ð?1æ?°€?@:â?ð?ð?ð?ð?ð?ð?€ºï?ÀMï?ð?ð?@Gî?ð?À»î?€ ï?ð?ð?ð?ð?ÀÜí?€í?@î?Àæï?ð?ð?ð?€Ší?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~î?ËÊ?À|?€÷Û?€Ñ?Ä?€å?ð?ð?ð?ð?ð?ð?€Wï?7æ?€fÒ?Q?Ì¥?Ææ?ð?ï?€«ç?Ы?€w?À|?@´?€¯ä?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼í?€1ï?ÀÎï?ð?ð?@Tï?€Æé?@¤í?ßî?@ ï?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?@[í?€ñë?€¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?+í?ð?ð?@Uï?ÀÁì?€/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€8î?Ãï?@‚í?@Vì?€î?À¢ï?ð?ð?ð?ð?ð?ð?ð?Àõï?À6ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?@üç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Šï?ð?ð?ð?ð?ð?ð?ð?Æï?À>í?ð?kì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ì?À?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?€´ë?ÀRî?ð?ð?ð?ð?ð?€òí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?@åï?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À³ï?ð?ð?åï?€ñï?qï?@™ï?ð?@àî?ð?€¥ï?@óï?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ÀÙï?ð?ð?ð?ð?ñï?Àµé?À? q?Xá?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wé?Àïë?óï?ð?ð?ð?ð?ð?#í?€©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ð?ð?ð?ð?ð?ð?ð?@Ãë?ÀÞì?\í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éî?@åë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?HÍ?@é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷é?™Û?€öè?€,ã?Œ¢?@€í?ð?ð?ð?ð?ñï?êï?åï?@¤ï?¯ï?ð?÷ï?ê?@iå?Áæ?€Ó?z½?ÏÚ?`Š?г?€¥Ü?Pƒ? y?`}?“?m?ä?è?À»ê?€zï?@Žà?ˆ¶?ÅÛ?ð?ð?€¦ï?ñî?€õî?ð?ð?@£î?ð?ð?ð?ð?ï?€æî?ð?yï?Àâï?@µï?@ìí?@âî?óï?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?Òè?¦½?|³?ÀÙä?@ïä?@nã?œâ?À"à?Wã?€6Ó?Z?"À?€ºã?€©î?üï?€$ì?öÜ?Àn?Pƒ?€÷Õ?@Îí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€ï?€‹ï?ð?ð?¿î?€³î?€¹ï?€èï?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âì?#ì?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûî?×î?ð?ð?Lï?@Ïí?@lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)ï?À}í?¯ë?Àé?Áé?@Æì?äï?ï?€ûï?ð?ð?ð?ð?ð?ð?eî?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôí?@“è?Íì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ï?î?ð?ð?ð?ð?ð?ð?Àíî?€Äì?@©î?ð?@Ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?Àtê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒï?À•í?ð?ð?ð?ð?ð?ð?³ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@qï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?÷ï?@Úï?Àaï?Àjï?ð?ð?ð?ð?¥í?îã?@Ûä?ð?ð?ð?@Óï?·ï?À«ï?ð?ð?ð?À¯ï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ï?ï?ð?ð?ð?ð?°î?NÍ?ܲ?@ìì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýë?ð?ð?ð?ð?ð?ð?ð?@÷ï?€†ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À{ì?ð?ð?ð?ð?ð?ð?€óë?€„ì?@¿ï?ë?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?@ÿé?€Äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øâ?™Ä?Ûë?€=í?@’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ê?¢¿?Àn?`z?μ?@˜ç?Àe?<µ?@>î?ð?ð?ð?ð?ð?ýî?ð?ð?ð?ð?ð?ð?ð?ð?@»ï?Ñî?Ìï?ÄÚ?°†?ø§?•Õ?€M×?(ž?Ì?€Z?@q?`r?€¤å?@ê?@2ë?€8á?¸½?¨Õ?¼·?Àjé?ð?Àëï?Àéï?Àêï?ð?ð?ð?ð?€6ï?ð?ð?îï?@0ï?Õï?@ôí?€˜ï?@{î?Àiî?þï?ð?ð?ð?ð?ð?À$î?€Ùï?ð?ð?ð?ð?ð?ð?ð?€pè?@wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tå?k?U?€P?À­æ?ð?ð?@²ï?€ß?B?ä§? ²?€¢Þ?@‹ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æí?@¨ï?ð?ð?€fï?„í?@iï?Àúï?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?€÷ï?ð?õï?Àï?À,î?À*ï?äî?€î?€±ë?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?À^î?Àî?Àší?Àûí?²í?€.î?Àñï?ð?ð?Äï?Àãì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àší?@yì?€Qì?@2î?Ëí?@—ï?@¢í?ð?Xï?€}ï?ð?ð?ð?ð?ð?ð?Àýí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?€{ì?Àê?€õì?À$ï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡ì?€èï?ð?ð?ð?ð?€³í?ùí?Àãï?ð?ð?6î?À‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?Àùé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À>î?@ì?@<í?ð?ð?ð?ð?ð?ð?@áí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?€<ï?Àï?€ï?ð?ð?ð?ð?€Æï?ð?ð?ð?ï?ð?ð?÷ï?€Éï?Àêï?”ï?€¢ï?À¦î?ð?ð?ð?Àúï?iï?åï?ð?ð?ð?Êï?‘ã?íß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎî?Àë?Àví?ð?ð?ð?ð?ð?ð?ð?ð?€rï?€ãë?ð?ð?ð?ð?ð?ð?Ôë?ð?ð?€(î?@ì?@vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óê?0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?¥Ä?t¶?pž?€ËÞ?§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€&á?@ˆ?€¡?`z?€ÆÑ?€ßÔ?€0æ?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€dç?ÀCî?ð?ð?ð?ð?ð?ð?ð?MÊ?œà?€ûï?ð?øÏ?à{?°?Ћ?@\è?€Õî?@ê?ØÑ?€³Ú?œ®?î¸?€§é?ð?ð?ð?Àðï?€#ï?3ï?Rî?€ ï?ð?ð?ð?ÀÞî?À ï?ÀÏï?@í?À]ì?ð?ð?ð?ð?ð?ð?ð?À¸í?À·í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õç?Àj?H ?@‚ê?ð?ÀÍï?@¿ï?@µî?Å?¸?ø¡?@g?D¬?€ûÝ?À|í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?…ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMï?ð?Àïï?ð?Àõï?@Ëï?ð?@‚ì?Cì?î?@`í?Àòí?€øì?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?:ì?À§í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?‚ë?Àõï?@Ñï?€íî?À·í?ÀÕï?€èï?@/ï?ð?ð?ð?ð?ð?ð?€Gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wë?À.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Àéí?ð?ð?ð?ð?€üï?@)î?ð?ð?ð?ð?ð?ˆí?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úë?€0é?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê?íï?ð?ð?ð?ð?ð?ð?@¨ï?@3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?€¶î?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@<ê?¨¤?×ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?€«é?Àªë?ð?ð?ð?ð?ð?ð?ð?ð?€(ë?€7ï?ð?ð?ð?ð?ð?@mî?ð?ð?ð?À ï?=ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?€Ø?‡?€“ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€NØ?€t?h¿?€mÔ?æ°?Äé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ì?ð?ð?ð?ð?ð?ð?ð?ð?xØ?`—?&é?ð?ð?áç?ÀØ?BØ?Àºç?2È?€?Àl?ä¥?ì¢? »?X­?€fï?@‰î?¬á?¿?€«Ù?€P?:?ÿÜ?€ì?ð?ð?@ôï?@›î?€.î?ï?ð?ð?ð?ð?yï?Àúï?ð?@Aí?€òí?ð?‰ï?€”é?€ºí?ð?ð?ð?Àí?€àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï? î?€Uè?À_ì?@¾ë?eì?€«å?€îÜ?Àu?@?ôÐ?ÀBî?ð?ð?¹ï?¤Ô?Àl?€=Ó?@qê?sÑ?Á?Àè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëî?ð?ð?ð?ð?ð?ð?Àúï?Àñì?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uï?€Æï?@€ï?ð?ð?ÀÖï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?gì?5í?Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?ÀXî?@›ì?ð?ð?Eî?@ôî?¥ï?ð?@œí?Àëî?ð?ð?ð?ð?ð?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wì?ÀÍì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?@ï?Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ë?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?€ï?@:ê?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðî?@Áê?€$ì?€˜î?À ï?ð?ð?ð?ð?ð?@Áí?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØí?€Bí?Þè?Àvë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?åï?Àpî?@‰ï?ð?ð?€Øï?ð?ð?ð?€÷ï?€íï?ð?ð?ð?ð?ð?ð?€^í?°?˜Ä?€•ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çë?Gï?@#ë?@\î?ð?ð?ð?ð?ð?ð?@~ï?€“ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öè?³ë?€|í?€\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ì?ÕÈ?:µ?@Zë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFì?ˆË?4¡?4¾?9Û?yÝ?ÀDæ?@'å?àà?@þâ?€ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðí?@{ã?À“á?€Jß?ŽÔ? Ä?€&Ó?€0Ú?ÊÈ?¤?0†? ²?8?,?ƒÓ?¿ï?ð?ð?ð?ð?@îï?ð?ÀÙî?Èç?Úç?¢»?B³?KÁ?`°?0?à}?¯?ʱ?T­?è±?0¯?t²?¦³?iÁ?0Ÿ?ðž?€ƒ×?bË?…?À|?”¥?˜?¾¸?£?ؾ?Àé?€æ?ø•?hš?’?€’?ˆà?Àã?Àjè?@ªî?À§ï?@Rï?€ñï?ð?ð?ð?€úï?€ûî?€Æï?ð?ð?@üï?Àï?ÀUé?fë?@'â?ï×?ë?Àôí?ð?€fí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€ßî?€ï?ð?ð?ð?ð?ð?ð?€Ïï?gï?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÓÛ?e?À†?„?à†?4?´À?Àiå?@Tè?ÑÈ?H·?”²??\Ò?ÀÏî?@²î?€žÝ?Ó?ÀÏí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?À*î?ð?ð?ð?ð?ð?ð?ð?ÀŽï?@sí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ð?ð?@ãï?ð?ð?À¯î?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶í?€\í?ð?Àï?À`ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙî?@¼ë?ï?À«î?ð?zï?ÀÒí?€Œí?@}ï?ð?ð?ð?ð?ð?ð?@bï?åï?ð?nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßí?€xë?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³ï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?Ñì?€ÿê?€ê?@–ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œë?À±ï?ð?ð?ð?ð?€Þï?Àùï?ð?ð?ð?ð?Æí?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€?î?@3í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À/ï?ð?Ýï?î?Àéï?÷ï?€Qï?ð?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•â?I?(¦?‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?ð?áï?uë?€uï?ð?ð?ð?ð?Iî?=é?ÀŠï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦î?@ýì?ð?ð?Àðï?À ì?}î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?Þ?Èš?ž¾?¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\ê?ÒÛ?ìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?€Ræ?Àl?q?€d?$?#Î?À î?ð?ð?ð?ð?ð?€ÿï?@øï?Êï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ÀŽî?å×?€‚î?@Éï?@óì?€·î?ð?@åï?€åæ?€Öä?€)Ñ?Á? }?öÚ?è¸?$¼?Àl?@b?{?`Ž? «?Xš?(‘?Û?º?tÒ?ÎÐ?¨·?ŸÍ?€ÃÓ?Î×?j?œ?€Ž?@?DÄ?Àç?€qí?œî?@-ì?ÀÉë?í?uí?í?‰í?Àéí?ð?ð?Àðé?…ë?€ýï?µï?À"ë?3ì?@î?€ŽÔ?Àøæ?À³î?í?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ûï?ð?ð?ð?ð?ð?@®ï?À“ï?ÀMï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêî?‡Æ?Í?RÙ?`?€§Ü?¯ï?À1ë?d¬??)Ò?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?€í?î?Àôï?ð?ð?ð?ð?ð?ð?@úï?€®ê?€ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?Àýï?€áï?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0ï?@Žì?Rí?ð?À¸ï?rï?ð?ð?ð?ð?ð?ð?ð?ð?À©ê?@Oï?ð?ð?ï?@6î?¿î?€zí?€÷ï?ð?ð?ð?ð?ð?ð?ÀÙí?±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@!î?@Gë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vî?Ùî?ð?ð?ð?ð?ð?ð?€»ì?À¦ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?@*í?‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€rí?€Hí?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?Àíï?ð?@ýï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€Æï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýî?Àµï?ð?Aî?@¹ç?@æë?ð?ð?@ãï?À©ï?ð?ð?ÀÍï?À§ï?€úï?€ßï?@­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?—?€g?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?À¼ë?ð?ð?ð?ð?ð?€òî?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ví? ï?ð?ð?ð?ð?Àýê?@Pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àä? r?V¹?@÷í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿ë?À¢ï?Àuè?ž°?0‰?|¤?O?8 ?€ãê?ð?ð?ð?ð?ð?ð?€ðï?€Nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6ï?ÀÉï?@Bï?@¯ê?Ý?¿Å?€-Ñ?€kÓ?€×?€ßÙ?š?0 ?l©?€¥?Àq?P„?hœ?κ?@°?Œº?H¥?F?€˜?t¯?‚¼? }??€+ß?€8æ?¢²?dË?˜—?¸¿?À®ã?€]è?@-é?@€é?_ê?Àè?@Ïé?€¦î?@ï?Àðï?Öï?Àƒê?Üæ?€]ê?€Õï?ð?gí?€Vé?€‡ï?@Üç?ÀÑè?@¶ë?@wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rî?Àâí?Úï?ð?ð?€@î?ð?@çï?ð?À¾ï?€Zï?ð?ð?@ãï?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒä?8?€€?æÕ?ê?€^ì?·Ë?D´?@?˜?À6ç?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À#î?ÀBï?ð?ð?ð?ð?ð?ð?ð?ð?À¢ï?€äì?@\í?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ÀÚï?€Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿î?@8ì?Ûé?ï?ð?ð?cî?@fï?ð?ð?ð?ð?ð?ð?ð?€Óî?Èé?ð?ð?ð?@yî?ð?lí?@'ï?ð?ð?ð?ð?ð?ð?ð?@íï?Jî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þî?@tï?ð?ð?ð?ð?ð?ð?@‡ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šì?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?lí?€ûì?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?À3ï?ð?ð?ð?ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?À'î?þ°?€MÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ì?€·î?ð?ð?ð?ð?Èï?À¸ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úê?ð?ð?ð?ð?ð?ð?¢í?@«ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?ýÉ?\?*æ?ð?ð?ð?ð?ð?ð?€†ï?@Ïé?@¢í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ÀÐï?€KÔ?M?£?Àh?p‚?Ù?@\è?ë?@éë?@Îí?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?@¶ï?ð?ð?ð?ð?@÷ï?@jà?ˆœ?†¿?ãÊ?P‘?€Ò?Ð’?TÈ?0½?›Ô?fî?@sæ?m?`y?CÇ?€º×?À4à?-Ø?À#ç?æï?Àëï?Ïï?ð?ð?ð?ð?ð?@íî?€{å?À)é?Àôï?ð?ð?ð?@`í?/ì?‘è?€Îí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‡ï?@Zí?€ºì?ð?ð?@dï?ÀËé?€÷è?@žç?Àë?€øî?€üï?@rí?ÀÑî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßë?äª?wÐ?@–?v±?Ê?@Uà?@#à?"Á?0É?€U?~»?@ˆ?@g?€×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ì?€ˆí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?Àµì?@ ì?$í?£î?ð?ð?ð?@Ÿî?ð?ð?ð?ð?ð?ð?ð?Êï?€¤ë?@¦ï?ð?ð?ð?€î?ð?ð?Àäî?ð?ð?ð?ð?ð?ð?ð?ð?bí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?@ê?Àáí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?>ï?ð?ð?ð?ð?ð?Àní?€lê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbî?€;ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xï?€í?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ÀÛï?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðí?€¯?&¼?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?qî?@³í?ð?ð?ð?ð?@í?@Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?@¢î?ð?ð?ð?ð?ð?ð?ð?@Çë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.Û?@f?@Üå?ð?ð?ð?ð?ð? ï?×Ê?ˆ›?ÆÓ?@:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àì?È¡?,?€V?e?˜”?€›?¥?`¾?ãÔ?yÝ?@7ê?åï?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsï?ÀÂï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?€:Û? y?Àl?’?€U?ø¥?P‰?ÚÁ? †? ~?€é×?£?8?,©?ä¢?€"Ð? Í?€'Õ?mï?ð?@¥å?L?º?Ÿç?@wï?ð?ð?€Òï?¨ä?€Qæ?Àªí?ð?@kî?ÀÚï?ð?ð?ð?ï?@Pí?Ýï?ð?ð?ð?ð?ÀHì?Jì?í?@³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À$î?€bè?ûî?€ïì?@ûí?†æ?€Tá?€œá?ßã?À©ë?çî?¡í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?Àþç?)Ó? }?À`? ¥?(–?_?‹?p¯?¤?˜Ó?âÑ?Ã?4¡?0Ž?J¼?Àùì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?@zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?1ï?ðí?ÀÃë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?@Ðï?Àˆï?Àí?@Oê?ÀÑì?Àìï?ð?ð?€ôï?€ ï?@éë?Àí?€éï?Àêí?À7ï?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?3í?Àÿì?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“î?Àƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2ï?í?ÀËì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?À"î?.ï?ð?ð?ð?ð?Pé?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«î?À‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ï?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?€èï?€úï?ð?€'í?Àí?ð?ð?ð?ð?ð?ð?ð?ð?lê?˜? v?/å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®ì?@ ï?ð?ð?ð?ð?@×ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhë?ð?ð?ð?ð?ð?ð?ð?ð?€¿ê?@ßî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%Ý?Á?€lì?ð?ð?ð?ð?~ï?€èÝ?©?Ê?€Ñì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üë?p‹?`ƒ?²´?˜•?îÝ?€ë?€#ï?ð?ð?@Žï?@úå?À`ä?À&ä?€2ë?@°å?Àè?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?†ä?€ZÓ? ?Àm?­Á?¿? À?€@Ö?€¥á?ÉÆ?•?¨¥?.Ó?±Ã?>Ô?@.ç?ï?À!ä?¼Ä?@‹?ìÉ?À|?€Z??0±?€=Ñ?€zä?€‰ï?Àzí?aÏ?î³?Àë?ð?ð?ï?ð?ð?ÀÙï?@ñæ?€pï?ð?ð?@øí?ð?ð?zï?@àî?€´ï?@Yï?@Ôï?ð?ð?ð?¼ï?À"ë?€1í?èï?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?€Žë?@ ä?ÀQë?€å?€’Û?€WÜ? Ð?3Í?€"â?Àwî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=ï?€iÙ?ßà?ÀTâ?^±?"±?€ Ò?Àyí?ÀIå?§?€ÃÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡î?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&ï?@&ì?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?¡ï?€(î?ýì?€Ùê?øë?À/ì?€ßï?€&î?@¿ë?€$í?@èë?€%ë?@Më?€ªí?ð?@áî?€Oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥î?€ýì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cî?ôí?@î?@Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Yî?î?@êí?>í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nî?ð?ð?ð?@kï?À¤é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dë?§í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?€‡í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªï?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡ï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ç?P…?Ð?Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ë?€ýï?ð?ð?ð?ð?¢ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?@ê?€©î?ð?ð?ð?ð?ð?ð?€Üï?@äê?€ëë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{ë?à†?€}à?ð?ð?ð?ð?ð?€‚ï?€·ê?n´?PÅ? ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îì?@qê?òé?ˆê?€hï?ð?ð?ð?ð?€dê?€qÑ?‡?0Ÿ?€cà?à»?Tª?mÁ?ØÕ?Àà?€™ß?0’?e?ô·?¿Â??Ã?ÿÐ?·Ü?€»å?€sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ï?yê?ç?÷î?çî?À”î?ð?ð?ãï?@cê?ÂÍ?…?@×à?€pè?:í?ð?ð?@–ã?Ç?¼¯?h”?Àqà?ßÔ?ð…?t£?0Š?íÁ?Àdí?@tí? Î?i?Õã?ÀRï?ð?ð?ð?Àæï?€ßï?@þì?€Îé?ð?ð?ð?€fë?ð?ð?ï?Àï?ð?À†î?€ï?ð?ð?ð?ð?€Üî?gî?€©í?€@í?ªï?ð?ð?€Ãî?ð?ð?ð?ð?ð?€üì?¹ë?ÀÈï?ð?€Öî?€£Û?óÈ?×Ò?ʺ?ž¾?P‘?vÀ?Ù?€Ñá?Àyê?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úî?€XÕ?ãÂ?€-ì?hÄ?€{?²Á?€W?X?èÎ?Àuì?@Iê?UÀ?z½?ÿí?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€óï?ð?ð?ð?ð?ð?ð?ð?€Ýí?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?À>í?Àrî?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uï?€(è?ÀÂî?@æï?ð?ð?ð?ð?ð?@æï?@fï?˜ï?fî?ûï?ÀSï?ùë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À”î?€oë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßî?€–î?ð?ÀÓï?ÀÞî?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?&í?ð?€Êï?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Hí?ð?ð?ð?€´ì?€dî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?À×ê?^ï?ð?ð?ð?ð?ð?ð?ð?@éî?À6î?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,æ?@?‰?€Aç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ì?ð?ð?ð?ð?ð?€ôì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üî?gÚ?€{å?ð?ð?ð?ð?ð?ð?ð?@ÿï?@÷î?@†ë?4ç?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?À©ã?£?2³?@Lì?ð?ð?ð?ð?ð?@üï?€IÛ?:?<³?À$è?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?€öî?ÀQì?Žê?ÀAí?€Ÿî?ÀWï?@oì? å?è?$Ú?!Õ? p?a?´­?€*Ú?Àèé?À·ï?ð?ð?ð?ð?ð?ð?ð?ÿï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?±Æ?Œ ?@µà?êÅ?Ë?€‹Ô?€,Ü?ž?Ž?€q?ô»?À¬ç?@1å? s?…Ã?Àê?.Ø??Ä?Àqï?ð?ð?ð?ð?€Æï?ð?€ê?€ãï?Àlì?•í?@ìï?Àìï?ð?ð?Êê?€›ï?ð?Àî?ð?ð?ð?ð?ð?ð?ð?Üï?@Eï?€fí?À\î?ð?€çî?Yî?€ëè?Àí?&î?ÀXï?ÀÒï?@oê?ÀÝç?€Ní?€÷ì?€Tã?2?W?°…?€þÒ?Ý?À$á?ë?ð?ð?À°ï?Üï?ð?ð?ð?ð?ð?ð?ð?ð?@äê?€0Þ?.Ã?cÃ?2È?Ù?@ï?þÄ?°?çÍ?€?Â?ôé?žì?À·à?ÝÃ?p”?à¡?,?x£?Ò¸?{?eÒ?€&î?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?@ìï?@Úï?ð?ð?ð?ð?@Tï?¡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]î?€jë?À¶ê?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïì?À¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€úï?îí?`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ÀÁê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žî?Àâï?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùî?Àùî?ð?ð?Õë?€uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çî?@&î?ð?ð?ÀLé?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ì?ð?ð?ð?ð?ð?ð?ð?ð?€Wî?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ÀÂï?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?€Æï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªï?@è?€?°?€zØ?¬Ð?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ï?ð?ð?ð?À¦î?ð?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?Àíï?Mã?è?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜î?<ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ä?Ð?ߨ?ð?ð?ð?ð?ð?ð?À¢ì?¬¬?š?€¨ã?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?À5í?)ì?¥ê?€rå?à‰?Y?°˜? š? Ú?€wé?@lï?ð?ð?ð?ð?ð?€ýï?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ÿî?vÒ?‘Ã?@›?`Á?@Èá?€ºÓ?Ф?a?@‘?ä­?h®?€Ñ?€{Ö?ü¿?@‹?³?‚Ç?]Ó?B¸?è³?¼®?h–?°?X•?X ?4?ìÇ?„­? ”?Í?€¾?¯?`s?ü¶?Á?œ¤?¸?ÏÑ?À¨?€ƒ? ‡?€væ?@ßï?ð?ð?ð?ð?@Oï?Yê?©é?@)ê?mß?À?í?€˜è?“Ý?µâ?@-æ?Ñê?ð?ð?ýî?ð?ð?ð?ð?ð?ð?ð?€´ï?ï?@àï? ê?€¡ï?@î?¼ï?Âî?€í?€Žë?@î?ð?ð?‡ë?@Äã?€‘Õ?Â?~º?.Ñ?…ê?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ÀÁë?À@â?@‡? Ñ?«?z¿?÷È?€üç?»À?€Ãä?Àºï?ÔÄ?,³?Àá?àí?Àôï?€æ?µ?0¡?¸™?>?eÐ?@î?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?€ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€ƒê?:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?À­ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À/ï?€þí?Þí?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@ï?@Íï?wê?€|è?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?'ï?€¸î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï? ì?ð?ð?€-ï?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€ï?ð?ð?€æê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ë?ð?ð?ð?ð?ð?ð?€æï?À-î?'î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?Àªî?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?Àaï?ð?ï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€¸Ý?€Q?@äæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€9å?@cä?ªï?À–ê?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?€dê?€¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€€ï?±?°·?€Ÿí?ð?ð?ð?ð?ð?ð?…ä?dÐ?@$à?wÄ?‰?ÀÉå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?]Ö?à?mÈ?T×?@÷á?æ?@êè?Àùé?€Hï?ÀÔï?@Të?@3î?@Þï?ûï?ð?ð?ð?ð?€ùï?€Øî?í?@Èï?ð?ð?ð?ð?ð?ð?€Ùé?€Øá?ÀEï?€8ë?@hç?Tí?@Lï?@nï?€ªç?\Ë?„?€•Ö?¶Ý?ÒÃ?€x?€P?­?€žç?Ü?Àï?ð?@áæ?`Œ?´³?ÇÄ?Àw? ™?à¿?ËÖ?d¨?}Ã?@¸?ʰ??R?\?€Ñ?€â?°¿?€ðÖ?¡Ä?òË?’Å?@£á?êÇ?8•?OÊ?€(Ö?ðä?€Õê?@Îí?<í?@í?ÖÀ?Ž?€TÛ?à„?`—?€ôÕ?€ðÒ?À«â?ŒÚ?À?ÐŒ?À?€ØÑ?à‚?°? ƒ?tº? Ø?ˆÎ? Œ?€Ó?@³ï?ð?ð?ð?ð?ÀÝï?€Èè?€Oî?@wá?l©?h­?`?®¼?@Aé?Àõï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?@Þì?@žé?@tè?€žê?^í?ÀÍë?@Jï?Àèï?Îí?À?è?@Wä?@­à?Æ?YË?+ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?î?gÂ?Ș?Ѓ?à‚?Ø?@nâ?ë?@dè?@ä?ÑÇ?uÅ?@hä?À‰ï?Àë?“Ë?0?@`?6?€¹Ó?ÀÏï?ð?ð?ð?ð?ð?ð?ð?À#ï?ð?ð?ð?ð?ð?ð?ð?ð?€Òí?@£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?@Ìî?À[ì?@dè?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?„î?@zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?3î?qí?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?À<í?@1ë?Ÿì?€î?ÀDï?€äí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?€Ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?À/î?ð?ð?ð?@;ì?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒï?,î?ð?ð?ð?@=ë?@‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?Àëë?ð?ð?ð?ð?ð?ð?yï?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?@­î?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?rï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?’î?Æ?aÃ?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€wï?€öé?Àšé?Àqï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àë?|ï?ð?ð?ð?ð?ð?€åï?@Èï?@—ï?ÀÂï?ð?óÝ?€õÐ?î?ð?ð?ð?ð?ð?ð?ð?ð?Àlé?°Ç?ª?bä?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅì?¬¨?àr?™Ç?€~Õ?˜¬?,¬?rÉ?®Ó?€ÉÜ?€Dç?Zí?éç?€Éà?®? w?€äÖ?_è?@ï?ð?ð?ð?ð?ÀÅã?°®?€æ?€çè?€Fï?ð?ð?ð?ð?€÷ì?GÄ?8«?³â?ÀÑï?@vî?ÀÑï?€ðÙ?? –?€—Ô?T¾?t´?ÁÕ?àŽ?€•á?@­ï?ð?€kâ?€ê?€Óï?€â?Àí?€5ã?€P?p’?à}?`q?ˆ–? ž?|Î?@në?ð?ÀŽï?Àì?€ä?¡Ü?è³?|?«?²?Àc?B?@x?ˆ£?à†?èÔ?å?@Ïà?Àæ?Àºæ?€¨Ù?@˜å?Àýæ?˜Ê?àÀ?Àgå?@ç?;×?£ì?Fë?@Oç?@+á?€1Ü?š²?Ài?²?@€?6±?i?º¶?€eÒ?Àøä?€@Þ?ÈÐ?6Á?¨˜?€Š?Íâ?€,â?€5å?€«é?Àºê?€Lë?úÙ?&Ü?€¢ã?†Õ?¨˜?êÚ?Šî?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëî?€œï?€ï?À¢ï?€qæ?Àºè?@0è?AÞ?€ƒÚ?[È?fÐ?€_â?€PÞ? ¶?2?€5Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À8ï?Òï?ð?KØ?˜ª? —?`{?˜?ì½?^À?º¹?€˜ì?€‹é?¤£?_?àÊ?@Žê?€ié?”­?¯×?À.á?H ?Pƒ?€îè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rî?ð?ð?ð?ð?ð?ð?çï?€5ï?¹í?€íí?À‰ï?€£ï?]ë?€ðî?€ïî?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?0ï?Îï?À÷ï?@Xì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öî?ÀDí?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€|ï?@ ë?èï?ð?ð?ð?@î?@$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àœí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?Lï?ð?ð?ð?ýí?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?@àï?ð?ð?ð?ð?ð?€î?ï?ð?ð?ð?@åí?@±ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èë?€âî?ð?ð?ð?ð?ð?ð?Àóï?À’î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?Êî?ð?ð?ð?ð?ð?ð?ð?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?Àìî?oê?4£?€BÐ?éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?€³ê?€ùà?@ûè?Àjï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡è?)Ý?ÀËí?ð?ð?ð?À›é?OÍ?€hÝ?€Aé?À]è?ð? Þ?TÄ?\¤?@`?Àjè?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?@Câ?€â?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Cî?(¹?…?à±?ƒ?8’?€'Ð?ðš?ÅË?Šà?€ÿì?@óï?ð?pæ?h¡?ð†?'Ë?@òê?ð?À¼ï?@„ê?€‡Ù?è“?ñÇ?ð?ð?@½ï?œï?ªÈ?ÓÊ?@uä?·ï?-î?@dë?ÀÕé?(Ä??óÇ?þÝ?€î?ð?ð?¬è?ð?ìì?€Ž?h™?±Ê?€úØ?€g? Ã?€³ê?ïî?þï?ð?ð?ð?ð?@íï?Àí?€ÿæ?P½?p?€¯Ù?€Và?€Iä?€åÒ?ˆ™?NÂ?€"Ý?kï?”è?Ú?uÐ?°Ã?€[è?€çé?ÖÂ?W?ô¢?€°Ö?€óÕ?ı?z·?<¥?L­?ÆÂ?€IÒ?€Vã?Aà?€fÝ?À†æ?Àwí?@·ç?€î?€Ûï?ð?€ùé?Ì?M?À}??P°?€w?€¤Ò?À—í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?€‘ì?€,â?øÔ?€à?$Ø?#È?Þ³?,¶?€oì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®ï?@íï?ð?Àqà?p¾?@‡à?ëÃ?™Ô?€ùã? |?€ÿÖ?Àáè?ìÑ?Ì?€cà?€<×?Ì?~´?@1ë?·à?p…?€EÕ?Àªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»î?€Tï?ð?ð?ð?ð?ð?Ýí?€Öî?€’ï?ð?ð?ð?ÀZî?€ ê?Àé?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?Àüî? î?€aì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wî?€Ãï?€\í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aí?À|é?€&ì?ð?ð?ð?ð?€ñï?î?À`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Fí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëì?ð?ð?ð?ð?5ì?Àcï?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?@ìî?ð?ð?ð?ð?ð?€bï?í?ð?ð?ð?À/ï?À´é?€Jï?À¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNî?@Öë?ð?ð?ð?ð?ð?ð?ð?€ôï?À®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸ï?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?öï?ð?ð?ð?€6ï?ð?ð?ð?ð?@ï?€!î?@xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àeê?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@„â?º?ÀÎí?€3î?€ ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?jÜ?À¤?Àãê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ƒÌ?ÈÄ?€ï?ð?€¬ï?­Ô?&²?€ì?€eï?€Ùï?ð?@Šî?@‘î?@fë?Ä?€P?"Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?þÙ?€R?à¬?€VÑ?ŸÕ?€þÞ?Æâ?0º?p·? ê?€8Ô?ÓÁ?Ô¼? y?˜²?ð?ð?ð?7æ?*¶?Ïî?ð?ð?ð?ð?@ïï?Àaé?À­?º½?É×?À=ã?@ æ?ð?@@ï?€Ïí?ÀLì?€ÄÝ?t£?€»Õ? Â?€tÐ?2ä?pï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ïí?@¯ê?€ªï?ð?ð?€rï?àæ?ÿå?@ÿé?À$à?ÒÊ?„¸?@`? ˜?(•? }?€o?T?i?€Êß?€ãé?€pî?ï?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?À†è?B¾?F?€VÓ?À’ï?€úï?ÀXï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?@Øá?#É?ŠÕ?P‘?H?Ã?pì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéì?€œÞ?P–?À?6°?Ô©?±?Àl?äÊ?yÏ?p©?Ð…?èž?ÀPè?€¦ã?€~?p‰?`t?”?<¤?€‹í?À*ï?ÛÌ?V?ÀŒá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@]î?ð?ð?ð?ð?yï?€‚î?ð?ð?ð?ð?@‡í?¸ï?Cì?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?²ï?€þï?ð?ð?ð?ð?ð?ð?ð?€øï?€ªï?@Tí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{ï?@î?€öï?‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?úë?Ží?@Æé?Àyí?ð?ð?ð?ð?ð?€öï?Àî?@œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…î?†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óì?ð?ð?ð?ð?@Yì?@xí?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üî?ð?ð?ð?ð?€|ï?À ì?ÀÖê?À©í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?¡ê?›ï?ð?ð?ð?ð?ð?ð?ð?êï?€´î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€ýï?ð?ð?ð?ð?ð?ð?ð?@©ì?@í?€Ñï?Àrì?€î?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ÀRî?h¿?æ¿?€[â?€ðë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?€–ë?€@è?@Mè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtï?€éÕ?zÑ?ð?ð?À³æ?¦·?€Áæ?ð?ð?ð?ð?ð?ð?ð?À!ì?€”Û?@ºê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§ë? Á?Hµ?€à×?0Â?À›?€ÞÖ?€~?RÉ?Ø?€¼Ù? æ?ð?ð?€cì?hÇ?£?=í?ð?ð?ð?ð?ð?@Êï?À×í?€Së?Âí?¬Ø?€¾â?@kì?€fß?ŒÚ?1Ñ?/É?œ°?0Š?€ÿÓ?ÓÕ?À±ç?@Úá?@¸æ?@áå?«ã?€ì?jì?€èï?ð?ð?Àê?@Væ?Àfë?@_ï?Àmé?Ñ?‚Ä?þÃ?Ĥ? µ?Ÿê?€øí?ð?ð?ð?ð?ð?ð?ð?ð?@é?bØ?‰Í?U?°‚?À™ã?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?©Í?ØÓ?1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹ï?|Ð?®µ?\ª??}Î?`Å?RÆ?‰Ã?€‚Ñ? y?„ç?@·ì?B¶?æÏ?É?€Ü?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVî?¾ï?ð?ð?@¨ï?@{í?ð?ð?ð?ð?åï?ì?@Ûé?Uî?8í?@fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?ð?Àqï?@Ñí?Yî?À¦î?ð?ð?ð?ð?ð?¶ï?@Tí?Àˆí?@ î?ð?ð?ð?ð?ð?ð?ð?À¡ï?@ï?€¡í?€€ï?€uî?€Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šï?Àçë?À¼ï?Uî?@ˆï?€¡ì?€çî?ð?ð?ð?ð?ð?ð?@*î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½î?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààî?@9î?ð?ð?ð?ð?ð?Àxê?€òí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áé?À‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Xí?€«ë?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?@ží?€­ì?ð?ð?ð?ÀÛî?Þì?@ºí?À.î?€Äî?@ùï?ð?ð?ð?ð?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?Àëè?€|?·?@jè?ð?ð?Àøè?€Oí?ì?@§è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.ï?À,ä?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?€£ß?@q?@»é?ð?@õï?qâ? Þ?ÀÎì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?ÛÖ?@a? Œ?@}?šÆ?€ŒÐ??Ú?RÒ?Â?€»Ô?€ôï?ð?ð?ð?ð?À2ì?€øÝ?$Ý?gÉ?fµ?€d?¼¶?H®? ˜?Àz?Àc?Àˆ?° ?àŒ?¤±?þ±?À°á?À´à?€gØ?úÇ?’?Pµ?ÚÆ? }?®´?€vç?ð?ð?ð?ð?ð?ð?ð?€³î?dë?Úä?B´?hž?€3ß?ð?ð?ð?ð?¯ï?€úï?ð?ð?€¥ï?Àÿì?Tï?ð?ð?ð?ð?ð?ð?ð?VÕ?…È?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õà?Ä¡?…?¥?€§?0œ?W?àw?@o?˜´?`”?€ÃÖ?ð?ÀŸê?éÂ?VÙ?€ÙØ?Z¹?æÊ?¬¡?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?Àï?ð?ð?Àµï?€Ëí?ð?ð?ð?ð?ùî?jî?€Âí?À^î?€^ì?€˜ï?ýî?ð?À ï?€»í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?ð?ð?ð?ð?À¯í?ð?ð?ð?tï?™í?€@î?À ï?ð?À:î?ð?ð?ð?ð?ð?ð?€ï?@tï?ð?ð?@…î?6î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìë?@Ôî?ð?ð?ð?ð?Gî?ð?ð?ð?ð?ð?ð?Àšï?@¡î?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?€÷î?€8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×î?@í?ð?ð?ð?ð?ð?ð?Àóï?€‹ì?@±ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?@¯ê?Àáî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?@Wë?øé?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?Àqî?€Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Gï?ð?ð?ð?ð?ð?ð?ð?8í?@Ñï?ð?ð?ð?ð?ð?ð?öï?@Jì?Àí?@ï?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€èï?ð?±ï?ð?ð?ð?ð?ð?ð?GÝ?…?Àä?ÿï?€Yï?Îï?€Ñî?@¹ì?vï?@;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?À©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?À½à?Њ?u?7à?@¹ï?ð?ð?Àéï?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óß?D¸?­?€Ý×?ää?@ƒà?*Ð?ÒÏ?`¤?(¥?@‰å?\ï?Àýï?ð?@Þï?×ï?ð?Àßï?Fî?@zç?°½?`ˆ?Àu?€à?À1î?ð?Êî?@ï?ð?ð?ð?@´í?Àì?€:ï?ð?ð?Àíï?bï?€àè?áÜ? Í?´?°‚?3Ð?Fâ?@”ê?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œì?€Ô?Ê?—à?€$å?À¯ê?ÙÃ?@m?œ³?ÀQà?@=é?ÍÞ?x­?À|?€`Ò?ì×??ª?€“?<±?á?€§Ü? Š?\¸?€Eí?ð?@§ä?°„?Àl?Àc?©á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|î?@ûï?ð?ð?À¾ë?ð?ð?ð?Kï?ÀŠí?ð?ÀŸí?4í?€ýï?ð?ð?ð?@óï?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?óï?@dí?Àªí?Zí?Àòí?@Üî?€èï?ð?ð?éï?€~î?ð?ð?ð?ð?ð?@ï?€©ï?ð?ð?ð?ÀÉî?€èï?ð?ð?ð?ð?ð?ð?ð?Àjï?¨ï?@bë?çî?€ûï?ð?ð?ð?ð?À}î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ì?ñï?ð?ð?ð?ð?ð?ð?ð?ð?Qï?€Äë?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒï?À¾ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òì?À~ì?€ªï?ð?ð?ð?ð?ð?ð?ð?ð?éï?î?-î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?Àïï?ýï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþæ?@æ?ð?ð?ð?@áï?@ ì?@’ì?€î?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?@ºï?ÀÇí?Ànî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?€.ê? ?O?Þ?À÷ï?@-î?À»î?@‰ê?î?9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ÀÀí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€]å?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?“Ö?â°?ï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃì?yß?“? ˜?ÀBç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ë?€Aë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{ê?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤î?¶Õ?t£?óÇ?@;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?@ê?€Tê?ÀÃê?Ò°?•?t­?®µ?€=Ü?7Î?U?T¨?€Ëà?€ç?ü£?àr?€öÖ?4É?à?R?,?î¹?óà?@}ë?Àiì?@—å?€-Ø?6Ã?eÕ?>Ñ?€?€U?Ø“?Д?KÆ?€ïÑ?Â?@Ž?#Þ?Àùí?ð?ð?€>ç?ˆ˜?ˆ ?ìµ?ˆ ?9×?ßï?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?€Sì?€ùï?Àäî?@«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?@šî?@ì? ï?€lì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?5ï?€ î?ð?€¹î?€ôí?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀCî?õì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ðë?€Uí?€óï?Óï?@Iï?©ì?Ànï?€úï?ð?ð?ð?ð?ð?ð?ð?€–ï?€Þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æë?À%é?Ïã?€Õ?Àqî?€ç?€ ä?€¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€úï?ÀXì?@øî?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rï?@cä?®°?í?ð?€Gæ?h¬?@†?µ?@®à?Àjè?@ê?€Ä? v?€?€¦×?Ô©?6â?€Ò?ô«?ð®?Є?F?@m?` ?8§?°‘?²Æ?ø°?½É?öä?€¯ë?ÀÓï?€–Ù?8™?À`?Œ§?å?Aä?Ç?@„?€·å?ð?ð?ð?ð?@µï?ð?ð?@ãï?€Zî?@ëï?ð?ÀÛï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌì?Iì?í?€Ví?Êí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@Ëê?/í?Sî?€=ï?€1í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pî?€«î?ð?ð?ð?…ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âî?fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ì?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?°ï?Àºï?ÀÑë?Mï?@ãï?ð?€»ï?€Iï?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?€+î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯î?@0â?€¤Ú?€è?ð?@áí?€å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âì?€(î?€æÔ? }?@Å?€|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?Àòí?ð?ð?ð?ð?ð?ð?ð?@©é?Ié?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?Àºë?€Û?Ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À!ï?d­??€Mè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?€8î?@ê?@uê?Aï?ð?ð?éç?޲?j?¿?ôâ?QÊ?£?@i?nÅ?Ü?«ë?ñÖ?ˆ™?Àb??þ¸?\µ?ä³?`u? ƒ?z¾??€r?Àl?yÁ?)î?ð?ð?ð?ð?ð?ð?ð?ï?úï?_ï?@"ï?€¾ï?ð?ð?ð?ð?ð?ð?ð?ÀSî?ðï?êï?ð?ð?ð?ð?@èí?@žî?ð?ð?À ï?@Jî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?€ñî?@úî?ÀÀê?Ãî?Àøï?€†î?Àyï?ÀAî?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûì?ð?ð?ð?ð?“ï?À"í?À·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçí?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ÀFí?Àîí?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?@üï?€Åï?@þï?"ë?@xï?ð?ð?÷ï?€õï?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?@Öî?À¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•ï?ã?€Ó?€`Ý?¹ï?ð?€ùã?°ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝî?Õ?@j?@êé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢í?€¿ì?ð?ð?ð?ð?ð?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûê?2Ê?`ª?À¢è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?¼°?Ʊ?€Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~í?@é?Îì?»ï?ð?ð?ð?ð?€{æ?p‘?€X?—?^?ÙÀ?]Ê?R?à?€«?@›æ?Äï?À^ï?@/î?@óá?h?^?à‚?Às? u?À—ç?ð?ð?ð?ð?ð?ð?ð?€uï?Áï?€ë?€â?€·ï?ð?ð?ð?ð?ð?ð?ð?€àî?@Òí?¿í?@Ýî?ð?ð?ð?Àëí?@¸î?ð?ð?ð?Äí?@…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?ð?ð?ð?ð?bï?€Vî?aë?À¼ë?Æë?ð?ð?€ï?€êï?€bî?@¡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®é?†ï?ð?ð?ð?ð?öî?@1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íî?äí?Âî?À·î?Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ÀÙí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ë?ð?€¨ï?ñï?ð?ð?€çï?ð?ð?ð?ð?ð?ð?ð?ð?@*í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@„ï?€Åë?€mÜ?€ËÝ?@ëâ?ð?ð?@ƒë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@ªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ë?‘å?ø˜?§?€…ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?@÷ì?€ÉÚ? ¿?€ÆÜ?€ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?œ¶?ày?€Sâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.î?@šë?€ôê?@,ë?€ ë?Àîï?ð?ð?ð?ð?ð?À¿ï?ÇÛ?A?“Ë?ܰ?¢¾?«?°ƒ?`Ê?€ôÕ?€ÀÐ?€·×?¼Ô?Ø?0™? Š??Ë?€V?Àkå?ÀÈï?ð?ð?@Rë?`w?€U?Àt?Èœ?À|?¼¸?`É? t?Bµ?@'à?ð?ð?ð?ð?ð?ð?ð?€Üï?ðï?ð?@òï?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(î?À9ì?€ýí?€ëí?@²î?@í?ð?ð?ð?@Xî?@Òì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?@éï?ð?ð?€©ï?€Dì?@óé?Mì?}ï?~ë?À~ï?ð?ð?À¹ï?ð?@†ë?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Qì?€‘í?ð?ð?ð?ð?qï?tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíî?@åî?1î?€cí?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?@ãï?Lï?€ªì?ð?@Ëï?ÀÑï?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?@Óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?@Ñï?Êï?€üï?ð?€Ìï?ð?ð?ÀÒï?úè?À,è?ÏÒ?ÀÇè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0ï?€mì?AÃ?dÀ?€,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?ú¹?ãÆ?àÛ?Àæï?ð?ð?€áï?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?¬Ë?8?¸æ?Ààï?ð?ð?ð?ð?ð?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€ë?¡ë?ßê?À:ì?€éí?ë?@;ì?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥è?Ø‘?§?`?"½?€…Û?µè?·?;Â?€¸Ú?ÇÚ?€¨æ?½ê?SÃ?t¼?€à?×ë?€8Ý??í?À¾ç?µË?€g?z»?5Ï?±? v?@ñé?ð?ð?ð?Oî?òÅ?èÆ?‡Á?ì©?F?d³?ÍÜ?àÍ?˜¦?Àˆ?`t?oÀ?€ýÚ?@;î?ð?ð?ð?ð?ð?ð?Æï?%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?€ñï?@ìï?@€î?€´î?ð?ð?ð?ð?À™í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î?@êï?ð?ð?ð?ð?ð?ð?€3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æî?Úí?@5ì?Àøí?Àäï?Àéï?ÀAî?jë?ð?ð?ð?ð?ð?€4í?€eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌì?í?7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?€9î?@~î?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?ší?§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kï?€Ÿí?€qî?ð?€óï?Óï?ð?ð?ð?ÀÓï?ð?ð?ð?ð?ð?ð?Àøï?@ßí?@&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ñï?ð?ð?ÀWï?øç?@ýï?À˜ë?£î?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@ãï?€Æï?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ï?€Ùï?ð?ð?ð?€ëï?@dê?€Ó?HÌ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Lï?@ºã?@êæ?ÀPï?ð?ð?ð?€ñï?À&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïÜ? ¡?ÀGë?ð?ð?ð?ð?7î?@|ê?€fë?€9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)ì?À[ï?ð?ð?@hí?@Òè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?#É?@µç?sÀ?PŒ? å?@Lå?óì?ÀÅè?jé?ð?Óì?€Gí?@Úï?€Ìá?8¡?@_â?ôâ?¬Ü?€Îà?Ãà?€Ô?Ðê?€OÔ?n?R²? ²?X¿?|º?ÀPî?ð?ð?ð?@\ï?È?àŸ?[á?À¤ä?€0Ò?ì¬?d·?)Æ? ·?–?=Ò?x“?LÂ?™æ?ð?ð?ð?ð?ð?ÀÔï?€>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXï?€õí?ð?ð?ð?ð?ð?ð?€Ôí?@3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@8î?.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?Àqî?À\ï?@¯í?@Fï?üï?ð?šì?@Ñí?€í?€5ï?ð?ð?ð?ð?ð?î?€­í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?'î?Úï?@î?ð?ð?ð?ð?ð?ð?À£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Jî?€$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?pí?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?‹ï?ëï?Aì?@óï?ð?øï?@Ÿï?ð?ð?€Òï?@’ï?ð?ð?ð?ð?ð?ð?€zî?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sî?€wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?çï?ð?ð?ð?Õï?@ªâ?°—?Õ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ê?@ãè?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dä?8æ?ð?ð?ð?ð?ÀÖï?ð?€9ï?ë?wï?Àóï?úï?@ºï?@´ë?@³ë?ãì?úï?úï?@ðî?@:ì?ÀÒì?ð?ð?ð?@sì?À—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œî?¬»?@ê?p¶??b?I?€Mä?@Ðë?€è?@ýï?zï?ð?ð?ð?@åç?ÔÄ?¦?˜?…?²?À–ä?ÀÊì?ð?À¯ê?HŸ?«?ÓÁ?§?–?ûÇ?øµ?Àl?€qÖ?€îï?ð?ð?ð?çï?€<Ð?’?IÏ?“å?€ ß?à‚?…?€ÝÜ?Àxã?7Ã?ày?‡É?âÌ?`p?ı?À'ë?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?Fí?ð?ð?ð?ð?ð?ð?€Çì?€ÿï?ð?ð?ð?ð?ð?ð?ð?Àáï?@.ï?ÀŽï?ð?ð?ð?ð?ð?ð?@Ðï?ÀQî?Kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@ï?€õí?ÀNï?€¤î?ãï?ð?ð?€®ï?të?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€Yí?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®ï?ÀÍì?×ï?—í?ð?ð?ð?ð?ð?ð?ùë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?€Wí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®î?šï?ð?ð?îï?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pî?€xì?@ãï?@âï?€Âï?€¼ï?ð?Àõï?ÀÁï?ýï?ð?ð?ð?ð?ð?À’í?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@,ï?€Xì?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?@ï?ð?ð?@Sï?ðÉ?¢Ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×è?†ë?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?<à?è?ð?ð?ð?ð?ð?ð?ð?€Sî?Àë?€åê?ÀÛê?ë?@Rï?ð?Àˆí?À‘ë?€ïê?€ªë?ð?ð?ð?ð?ð?À*ì?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mï?)Æ?Ä«?€)î?0Ù? ?@»à?€[å?@}ê?€ë?ÀÁç?@Lï?ð?žï?@íå?κ?ì­?€ã?ð?ð?ð?Àøä?_Þ?-Ç?¢?€¬Ñ?€ØÐ?4¶? Ä?(Ÿ?Àq?€c?ȯ?€U?o?À:å?ð?ð?ð?ð?ð?öÓ?±Æ?â¿?t ?J±?¢Í?@e?€jÙ?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?À©ï?ð?@»ï?ð?ð?ð?ð?ð?ð?ð?À.ï?@1ï?ð?ð?ð?ð?ð?€Ží?âí?ð?ð?ð?ð?ð?ð?ð?¢ï?€Bï?À­î?@Zî?Àíï?ð?ð?ð?ð?ð?ð?@ï?€ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?€0î?ÀÃí?ð?ð?ð?ð?ð?§ï?À ì?†ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4î?yë?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qî?€¼î?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âë?€*í?ð?ð?ð?€±î?ð?€éï?€Šê?€Æî?ð?ð?ð?ð?ð?1î?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?€|î?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wã? ‚?€–Õ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À/ï?À;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªç?p€?Ы?ÀØì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áí?ðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜Ú?äÒ?À@á?Y?g?ô¼?”¡?™?@Ã?|©?Ê?­ä?€;Ö?à?€ Ó?ð?ð?ð?ð?ð?þí?aê?€{ï?gÞ?QÚ?8³?hš?ø–?ü¹?þÐ?È’?0§?œ±?Àl?b°?¾ï?ð?ð?ð?ð?ð?€›ã?XÃ?4½?g? ¨?0Ÿ?f?óÐ?@®ï?ð?ð?ð?ð?ð?@àï?´ï?Èï?€èï?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?€íï?ƒí?ð?ð?ð?ð?ð?ð?€&í?Eí?@í?èí?¥î?Àìï?ð?ð?ð?ð?ð?€…î?€î?Ðï?ð?ð?ð?ð?ð?ð?@_î?€ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?–ï?5î?ð?ð?ð?ð?ð?ð?€‡î?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀUë?cì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?@Eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜î?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çì?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?Ùí?ð?ð?ð?ÀÜï?êï?Àï?ð?ð?ð?ð?ð?ð?ð?mï?@¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?Àïï?ð?ð?ð?ð?ð?ð?ð?€èï?@¼ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aï?qÎ?À`?€¾å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Yí?¼?‹?d¬?VÒ?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤é?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëá?P‹?H”?€e?ý×?ŒÇ?‚?̯?P”?@“?–? ‡?€[Ú?Àïï?€Æï?ð?ð?ð?ð?ð?ð?ð?@Öï? â?€ýÛ?P¿?£É?Àÿå?RÄ?†±? |?àq?è?Ò?€@å?Ã?@u?T¼?†Ñ?@&ä?HÏ?€o?€¦?ÉÛ?€²æ?Eï?ð?ð?ð?ð?€öï?Àï?À á?Pˆ?K?½?ªî?ð?ð?ð?ð?ð?úï?Pï?€ï?ð?ð?ð?ð?ð?€Æï?ð?€Èï?€Øí?À‘í?€·ï?ð?@õí?À¥ï?ð?ð?ð?ð?ð?ð?€Hï?úï?@oï?À—ï?€gî?€ï?ð?ð?ð?ð?ð?ð?@ªï?€'ï?ôï?ð?ð?ð?ð?ð?ð?Àï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?–í?Àõí?Àiï?ð?ð?ð?ð?ð?ð?ÀÐï?À3í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cî?@zì?Àûì?@²ì?@¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?@‡í?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãî?@)î?jî?ð?ð?@Íï?@õï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?€;ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Àøè?ðŠ?ȶ?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ç?\?k?Ñ?À?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œî?ÀÓì?€òì?hí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?,ß?‚?à‚?µÁ?âä?ð°?‘??Ü?€?Ñ?€g?áÚ?¥Ó?,Ð? t?\¤?äÄ?¡Ê?@¬ã?@.ê?@zí?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?:í?ð?ýî?€ï?ð?@¨ê?žÈ?@ž?€€Ù?€ê?@ßí?oÐ?€¹Ð?ßÄ?^±?æ?#ï?@ç?š¼?ÝÇ?"Ù?ßë?ð?ð?ð?ð?ð?ð?ð?@ï?T±?§?€ÜÙ?€¬ï?ð?ð?ð?ð?ð?€×ï?€‡ï?ð?åï?@þï?ð?ð?€Æï?ð?Oï?€wî?ð?€7î?À¾ï?À;ï?@ í?ð?ð?ð?ð?ð?ð?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?î?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?¿î?nî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bì?€£ï?ð?@Äí?Wë?€¾î?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôí?€ïì?qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-î?Àï?À¼í?ð?ð?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝí?À:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?€ví?€8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?Ûî?0È?˜?Vá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ç?à?€ùÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?¶í?Âí?@’î?Àöî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?àÚ?0œ?$º?Àà?<½?d©?€Rß?HÇ?Œ?€®Ú?€æ?ÀÏà?„³?°€?*È?@3é?@çì?€­ê?@[ã?@Ãã?@æ?@Îé?õá?€.î?€Në?€ì?ð?ð?Àüï?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?€í?@Œè?÷ë?€¸ï?Àêï?vè?€éî?5ß?v°?À±í?ÀÆï?Væ?€$í? ¸?¬ ??ê?€oï?ð?ð?ð?ð?ð?ð?ð?Àî?Æ?€l?°?{?”?¯Ô?Ÿí?ð?ð?ð?ð?ð?€Æï?ð?åï?ÀÄï?ð?ð?ð?ð?ÀQï?€sí?€•ï?ÀÍï?î?€Íì?€yì?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@Ðì?ÀLî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?Àií?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?rï?À©ï?ð?Àêï?Àëí?"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ÀHï?Àìì?@úê?@&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýî?Àþî?€ûï?»í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?@ûï?ð?ð?êï?€ßî?@úî?ð?ð?ð?ð?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?@Qï?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?UÞ?@e?ÁØ?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—ï?€@â?€o?œà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vî?Àßë?Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?æÞ?@•? —? ”?n?‚?€ØÕ?Ó?€Ïï?ð?€íï?Àç?0 ?€T?€†ã?2Ï?€ïç?€Àï?À·ï?Àqë?çï?!ï?·ï?ð?ð?ð?í?í?ð?ð?€ÿï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?Àùï?ð?ð?ð?Àûï?@õï?€Šã?€˜Ø?À ã?ð?ð?€>í?@Jà?ˆ–?ÙÄ?@¯ë?ð?ð?ð?ð?ð?ð?ð?ð?@øï?À`ï?€Ð?L¶?ƒ?0?ÀŸâ?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?€‘ï?€éî?ð?ð?ð?Àžï?€òí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…î?Òí?ð?À€î?Àì?@ï?ð?ð?ð?ð?ð?ð?Àüï?€Ïï?Ûï?@·ï?€¯ï?€}ë?Àì?À³í?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?€í?ð?ð?ð?ð?ð?ð?€êï?Àaï?ÀÍï?4ï?À=í?eî?ð?ð?ð?À¡ï?Bì?€fì?À€î?@ˆï?#î?¸ì?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëî?@¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜î?ÀAï?ð?€§í?ð?ð?€¢ï?€êï?ð?ð?ð?ð?ð?ð?@Üï?@ÿï?ð?ð?ð?ð?€µí?€¬î?€óï?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀJî?@wî?ð?ð?€Øï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?îï?ð?ð?ð?À¾ï?ÀŸí?ð?ð?ð?ð?ð?ð?ð?@ìæ?p–?Ç?ÏÖ?Aì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òé?`ˆ?–Ä?À«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?ÀÕí?@Pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯ï?@£ç?X«? r?B°?€qê?ð?ð?ð?@Åì?ª²?L¤?æ¸?€Ië? ä?üá?@Þï?ð?Àõî?€Ýï?ð?€[ï?ð?ð?ð?ÀŸï?ÀÏë?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?À{í?ð?ð?ð?ð?ôï?@áï?ð?ð?ð?ð?ð?Vã?°…?×Ã?JÑ?©æ?€±î?ð?ð?ð?ð?ð?ð?ð?ð?@é?ÝÂ?d®?x?›Ç?î?ð?ð?ð?ð?ð?@ãï?ð?@!î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íí?À[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?€Ùï?€|ì?@ìï?ð?ð?@bï?§í?@éî?€`î?€Ší?”î?€žï?@†ï?@mí?í?°ì?€Qí?@Rí?òî?À“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥í?À—ï?ð?ð?ð?ð?ð?ð?ð?€ïî?ð?€ÿî?@“î?Pë?Nê?ð?ð?ð?@Ëì?€«í?@³í?€î?À‡ï?Ìï?@áí?ÀOî?ÀÛï?€uï?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDï?@Ôí?@Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?_ï?€­î?@¡ï?€í?ð?€Æï?Ñï?ð?ð?ð?ð?ð?ð?ð?€ªï?ð?ð?ð?ð?Ìï?@?í?€jï?Üï?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ïï?ð?ð?Àíï?@·ï?ð?ð?ð?ð?ð?@µï?@Hí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?Üî?€qï?Àï?€{î?@ûî?€{î?@®î?@®î?÷î?€»ï?‹ë?ð?ð?ð?î?0Ç?a?€×?€×î?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìí?†Ã?Ѐ?@|è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kí?ì?€Çî?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æî?åË?Ô¨?€Ý?˜®?@—ã?ð?ð?ð?€|ï?€$á?n°?€LÛ?€%è?¯ã?Àî?Àûî?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ï?@ãç?:Ã?íÄ?Àèå?Àï?ð?ð?ð?ð?ð?ð?ð?ð?@Cï?À?ªá?€ÿï?ð?ð?ð?ð?ð?ð?@Úí?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôí?@—î?ð?ð?@ÿï?^ï?@Ïî?ð?€Ìï?ÀÆí?À í?@öë?€µì?Àï?ÀJï?ÀUî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒí?ð?ð?ð?ð?ð?ð?ð?€Àâ?ÀÄæ?ð?ð?@Ãí?@àé?À=ë?ð?ð?Àmï?Gì?@lï?€Gï?@Tï?ð?ð?ð?€äî?@÷ì?€ï?À_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠï?€Âï?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»î?ÀÂî?Àéï?@™í?€ÿï?Àÿï?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?í?ð?€èï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ƒï?ð?ð?€Øï?€Õï?ð?ð?ð?ð?ð?ì?Àäí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚î?€ëí?À”ï?ð?ð?ð?ð?ð?ð?ð?@ßê?@êê?©Ç?ªå?À'ï?7ï?€åÓ?¬É?@tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mß?±?ÀÔí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcï?ÿê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€@ï?@ ã?ð¥?@â?@‘?Ô?ð?ð?ð?ð?€üí?@oå?€‘?‡?º°?€$æ?@êï?ð?ð?€ í?ÀÅë?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaî?€öÐ?{?±?€nå?€šé?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ì?€èÛ?ì¥?ÈŸ?Fè?ð?ð?ð?ð?ð?ð?À ï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏî?9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀî?Ñï?ð?€èî?€î?@ãï?ð?€Îí?À°ë?@9ï?ð?ð?ð?À*î?À´î?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À>ï?^î?ð?ð?ð?ð?ð?ð?ð?€Ùá?€5Û?ð?ð?Àuï?€Çê?ð?ð?€*ï?…î?€‰ï?€Ðî?ð?À¸î?€ï?ð?ð?ð?ð?ð?€·î?@Fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?@gî?ð?ð?ï?€Ví?@ýî?ð?ð?ð?ð?ð?ð?ð?€óï?ðï?ð?ð?ð?ð?ð?€áí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þî?@£í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ñï?Âï?ð?ð?€8ï?yî?ð?ð?Àúï?Àèï?ð?ð?ð?ð?ð?€¯ï?À€å?uÄ?†Ç?€î?€Ú?R?€OÑ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Tî?.ç?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùè?6°?Éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?šê?€9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çí?ÅÖ?(­?*Ç? q?€Öå?ð?ð?ð?ð?ð?€fï?€VÕ?mÃ?(í?÷ï?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„î?Àí?ÓÜ?З?zà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?`‡?fß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?€ßî?ð?ð?ð?ð?ð?ð?À“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?ð?ÀÐî?€úï?ð?ð?-í?Ãî?@@î?¸ï?@ìï?ï?ÀOí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýë?Àî?ð?ð?ð?@åî?€|ì?ð?ð?@¡ë?ûÕ?‚ï?åï?,ï?@àë?ð?@Vï?€Cî?ð?ð?Àçí?ð?ÿï?ží?@~ï?ð?ð?ð?ð?ð?(î?€cï?Zî?€6ï?ð?ð?ð?ð?ð?@Óî?=í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷î?—ï?ð?ð?€+ì?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¿ï?@¸ì?€™ï?ð?ð?ð?ð?@Pï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨ï? î?@Îî?@bî?Àwî?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eï?À3ê?Ý? Ñ?åÎ?€r?P?rÊ?À¸ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ë?À×ï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Œê?H?{?@Êé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]ì?ÀŸî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@mì?l¥?@q?d?jÉ?€sï?€gî?ð?ð?ð?ð?ð?%â? }?¸Ê?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vï?ÀŠè?€áÞ?@{ç?]É?ÄÔ?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bî?x”?¸?ì¦?€U?Ô©?@Jè?ð?ð?ð?ð?ð?ð?ð?€Ôï?@Êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?Àîï?üï?Ààî?Àeï?Êï?ð?ð?@¨ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À#ï?@‘í?ðï?ð?ð?ð?€’ì?À`è?^ï?ð?€òï?@@í?ð?îï?í?€ï?ð?øî?¶ï?@ñï?ð?€üî?@ï?ð?oí?€î?Øî?ð?ð?ð?ð?ð?ð?@žï?@×î?€Ïï?ì?Àâï?ð?ð?×ï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?€Úí?ð?ð?ð?€î?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sï?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€–ë?ð?ð?ð?ð?ð?€ÿï?@ùï?ð?ð?ð?ð?ð?ð?@þï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûì?¢Ö?˜?]Ñ?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVæ?ié?Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇë?€?@}?@…é?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ÀÙì?€Çì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñí?±?êÚ?“À?…?€†Ò?€êï?Àë?ð?ð?ð?ð?ð?À¹é?`˜? y?Ø?€¡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ë?yÊ?¶?|¤?yÇ?@|?4ª?À¼ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?¾¿?@a?x¾?*Ã?N¼?ÀÐì?ð?ð?ð?ð?ð?ð?ÀÞî?ÀYî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘ï?Sî?Àãï?ð?ð?ð?ð?ð?À2í?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?ˆë?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€¼ë?ð?ð?€‚ï?ÀÌí?À™ï?ð?€àï?@Sî?ð?€‹ï?Àˆî?€'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@,í?ƒï?ð?ð?ð?¸î?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ë?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€BÜ?~º?À‹ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wí?€ß?@.í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?ˆ™?€f?4Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áí?€÷ì?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿí?Àì?€ì?€•é?ü¤?²Í?—Á?ÞÉ?_Ñ?¶æ?ð?@ñê?ð?ð?ð?ð?ð?À¹ï?pÈ?p„?ð›?·Ã?€Ãè?¡ë?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³æ?L¦?ÎÅ? ‚?`Ý?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?Àà?”®?hŸ?Àl?Àv?€\?*¼?æÓ?d¯?ùÙ?ð?ð?ð?ð?ð?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?Ÿï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?ï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çí?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@$î?ð?ð?ð?ð?ð?ð?ð?€$ï?Àîî?ð?@^ï?@»î?€ëï?Àsï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&ï?€ï?ð?ð?ð?Àï?ÀKî?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèí?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡ì?À~ï?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žê?½ã?‘?\À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?€8Þ?ܰ?€ˆÙ?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?Àèê?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûì?@í?€&ï?~ï?”ç?œ?6?–Î?€ÛÐ?Z?Ô?Àæ?@òï?ð?ð?-ì?Àùï?ð?ð?ð?ð?ð?€„Ý?€lÕ?€ùé?À†î?ð?@î?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÙÞ?a?›?à…?L?r?:µ?Cí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€(Ú?©Á? ‡? p? º?À~æ?Oï?@ôï?€ƒå?€c?DÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?>ï?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qí?ð?ð?€è?ÀXï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Cì?öï?ð?ð?ð?ð?ð?ð?ð?@ñï?Hî?ð?€ï?@ôï?ýï?€«ï?€hï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?àí?ð?ð?ð?ð?À…î?öï?ð?ð?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°î?€vì?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sí?@xâ?àt?]Ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fç? x?€`Ö?€ðæ?@iï?ð?ð?ð?ð?ð?ð?€[ï?€†ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­î?Àë?ëë?€í?ð?ð?ð?ÀNí?ð¬?8?ÀDê?@ î?ì«?@_ç?ð?ð?ð?ð?À3î?€ãí?ð?ð?ð?ð?ð?Àèé?À…?ä±?t¸?xá?ð?€ßï?Àæï?{î?Àtî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@}è?EÑ?·Æ?€rÓ?pž?¡È?€ÕÒ?ü¬?À„?€Ó?€úï?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?{Ë?¢?Õ?xª? ‹?þ¸?À¡ë?ÀÎí?@Åè?X‘?€Pß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?€öï?ð?Àï?ð?ð?ð?ð?ð?ð?­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Àí?ð?ð?tÖ?€Kæ?ð?ð?ð?ð?ð?ð?ð?€Dï?@}î?áì?¥ì?ÀSï?ð?ð?ð?ð?ð?ð?@Dí?DÓ?âî?€èî?€Éï?ð?ð?@ùï?yï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?€±ï?À¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤î?ÀÁï?ð?ð?ð?eî?€áî?ð?ð?ð?ÀËï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rí?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?€§ê?ר? {?8‘?˜Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦æ?€R?m?@vç?ð?ð?ð?ð?ð?ð??ï?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ï?Óê?¹ë?™ï?ð?ð?ð?ð?ð?ð?®Ç?PŽ?Àê?ð?Àÿé?@oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üî?xº?Àc?R?€…?Ȳ?0°?@Âé?@ê?¬¶?‘?àz?|«?7ë?ð?ð?ð?¿ï?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤à?ùÀ?ãÂ?XÐ?@èç?@$ê?NÞ??ñÒ?À{î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?€6Ü?¨³?ÀRæ?È£?€v?¶±?²?ª?8–?€tä?Oé?€]Ù?°·?h™?€ãÝ?Àtê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@zï?Üï?ð?ð?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?Àrï?@þï?ð?ð?ð?ð?ð?ð?ð?@Ÿë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‰ï?€Ýí?ð?ð?üß?„ê?ð?ð?ð?ð?ð?ð?ð?¡ï?Àñï?Ãî?À%ï?@Óì?ð?€ï?ð?ð?ð?ð?À±î?€Yá?Àîí?@_ï?Ûï?ð?ð?ð?@§ï?ÀÞî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µî?ð?ð?ð?ð?{í?Ìï?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?À«ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀWî?À¦î?@ î?@ãí?…í?€[ï?Žî?Àúï?ð?ð?ð?ð?@ÿï?-ê?¬Æ?RÄ?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?@Lï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€XÓ?-Á?…?¥Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?À>î?Àïé?@?ë?À¬ï?ð?ð?ð?ð?ð?ð?ð?ð?€LÕ?àŠ?DÊ?@Žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?V¿?@`?Y?FÄ?áÚ?p?¦Ñ?¦±?ŠÃ?+ç?À“ï?@è?€àé?À.â?`‚??4Ê?€‡í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lî?œ­?¢Ú?ð?Ðê?X¯?Ë?€%î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ë?ò¶?<¢??6Ê?@Hâ?€ê?À°æ?bÀ?Xœ?@&í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?@ÿï?ð?ð?ð?ð?î?À¼ï?ð?åï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡í?Àëï?€jî?Àrî?À›å?€tê?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òî?@õï?Àšï?ÀAí?@áî?ÀÄï?ð?ð?ð?ð?@ðï?€•î?\ï?€Éï?Àãî?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@$ï?€ ï?ð?ð?ð?ð?€Úí?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€Èï?~î?ð?ð?Xï?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?Àî?ð?Àþï?€ýï?ð?ÿï?ôî?@'ï?…ï?ð?ð?ð?ð?À•ë?€ØÛ?ÀZà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆî?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?€åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êç?PŽ?íØ?ÅÙ?@•?ÀÆí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?@çì?@±ë?€Üì?@Íë?@äë?À9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?€½×?Àq?KÁ?@‘è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*ê?€x?œ¶?€æØ?€CÑ?€\ê?BÉ?€ç?ð?ð?ð?ð?€¯í?€Ü? ‹?Î?€Vç?ð?ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Rï?»?|Å?ï?úê? Á?ج?«É?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÔÕ?k?\¢?˜? ž?®È?à²?J?pˆ? r?€Y?…É?€xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eï?Àµî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨í?€Éï?€áë?@/ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€dï?Òï?ð?“í?ð?ð?ð?ð?ð?ð?@ï?@Þï?ð?À£ê?€åî?@œî?€„ï?ð?ð?ð?@üî?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àœî?äï?ð?ð?ð?À¤î?Àîí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?@Äï?ÀSì?ð?ð?À©ï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?€òî?@Qî?€ôï?ð?ð?ð?@è?œ?@â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?@‘ï?Àïï?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?@9ï?Àåî?ð?ð?ð?ð?ð?ð?ð?ð?€^í?@@ï?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?Žã?Òç?‹ï?€µÛ?Àsâ?ð?ð?ð?€üï?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½î?@ë?Àãê?À2ë?À’ì?Àsî?ùï?À©ï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?€Sæ?çÓ?€U?7Õ?€÷Ú?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?¤¯?l?wÏ?ÏÉ?E?€¿?µé?€Cê?óï?ì?@öï?ð?ð?ð?ð?ð?@Úï?€þÚ?4?0—?€ºé?Ðï?ð?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬î?€°Ò?r?€W?ð°?LÔ?Àpá?ÛÞ?ÜÒ?ŽÌ?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜á?¨?€ÌÕ?Uã?¢Û?A?@y?À;ç?ÿÏ?à€?;Ç?`Œ?€?€ÊÐ?‹Â?2?q?Þ½?J?6?B?|?FÒ?€cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?óï?ñï?ð?ð?ð?ð?ð?ð?Àüï?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?éï?ð?ð?ð?ð?ð?íï?@jî?€Éï?€nï?@¨î?ð?ð?ð?ð?€sï?ð?@ ë?ð?ð?ð?ð?ð?ð?Àî?€ýï?ð?€[ë?€ï?„ï?@Hî?À;ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-ï?ð?ð?ð?@Ðï?Àiî?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡í? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?€¯ï?À9î?€Êí?À ï?@nï?Àæ?íá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºï?Ðî?€í?@Ùê?ýê?€|í?ð?ð?€"ï?À·ï?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðî?8å?ð?ð?ð?@6ï?€ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?@bî?Êí?À²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ é?ÁË?Hœ?zµ?€ î?€ï?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿí?Ê´? |?–±?n?€y?€öÐ?ŽÏ?D ?€°Ö?@¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aí?åÅ?P¸?À´ë?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?HÜ?ëá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëì?éÃ?h²?ªâ?ð?ð?@Oç? z?€[?•?X’?ô±?´?J?€X?`?l?À?^?P?²??å?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?@‘î?ð?ð?ð?ð?ð?ð?€þï?€èï?ð?@çï?@²ï?ð?ð?ð?ð?€žï?Àîï?Àöì?ð?ð?@Wï?ð?ð?ð?ÀPï?ÀHï?ð?ð?ð?ð?@çï?@lì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?ð?ð?ð?ð?€0î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.ï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?Àãî?ÀÂï?@¤ï?ôï?À3ï?öá? w?@¼é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Vï?€Ùï?àî?€ï?€ ï?ð?ð?ð?ð?ð?ÀÍí?€õï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘í?€éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?@Ìâ?½ï?ð?ð?@Ïí?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMé?€Ãê?L°?@}? ª?@kê?Àãì?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pî?¸¹? |?=ß?Ì?€þÓ?@îæ?À†é?6Ø?À€å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?„É?ò½?rã?Zè?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ è?0•?tâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹î?Àdí?@øï?ð?ð?€®î?€¡Ü?äµ?@u?@n?@u?”³?€âí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žï?9ï?ìï?À¨ï?ùï?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?Àí?ÀÞí?ð?ð?ð?ùï?@¾ï?ð?ð?ð?ð?À}ï?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?&î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?Àœï?Ùî?@sî?ð?ð?ð?ð?ð?ð?€øï?Àaî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?ÀCî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™í?«ï?ð?€ÿï?À—ï?æï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ºÖ?4³?Çí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§ï?€¯ï?ð?@æï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À$ï?€^é?€Lê?ˆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ì?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?HÎ?€qî?ð?ð?Þì?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýî?v·?zµ?z¼?âµ?@­ë?cê?À'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?þÑ?À?€åé?Àï?€Åï?@Œï?2î?€šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?Åî?€CØ?š?`p?¸“?0?B?€¦Ð?÷ì?Öí?@Zî?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸ï?÷ï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bï?©ì?„è?NÍ?€_Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?Àqì?̸?…?Њ?À3á?€f?À‚?€x?¡Û?@»î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?™í?]ï?@ýï?ÿï?äï?ð?ð?ð?ð?€®ï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuï?€-ï?ð?ð?Àòï?ð?ð?€òï?ï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åî?€gï?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?À’î?÷í?Àòï?äï?€¸ë?@Ùî?ð?€yí?ð?ð?ð?ð?ð?@Kí?@½ï?ð?ð?ð?Ëï?ð?ð?ð?ð?Àýï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„ï?bî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²î?ð?ð?ð?@øï?ÀËï?ÀÃï?@Ëï?À½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?óË?IÖ?³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªî?ÀÕè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?Ûë?@Tì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘í?ð?ð?ð?€Áä?€¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?ÀÄæ?0¥?p„?€Ûâ?€ºÔ?@Øá?ð?Àïï?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šà?à¾?ié?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ï?€’Û? ‹?€2à?€Pê?€Iã?ËÙ?ÏÄ?h®?3Æ?(¦?0Ò?À6ä?Qè?^í?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?çî?À¼ì?Àöî?}ç?ؘ?¨§?Ð?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìï?ð?ð?ð?ÀNë?FÝ?Ø›?°ª?@]î?€ÿÒ?à†?€{?€Q?Q?.Ì?€iè?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?áï?Àüï?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šï?ð?¹ï?äï?ð?ÀÝï?ð?€ î?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?§î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?€Ìï?À«ï?ÀSì?Õï?ð?Lê?À‹ë?ð?ð?ð?ð?ð?ð?ð?@ï?€Ôï?ð?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìí?@žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?@ðï?€þï?ð?ð?ð?ð?@¯í?ð?ð?ð?ð?€sï?ð?îï?”ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?€,Ú?i?Öè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íî?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@cë?@åè?ÀŠî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À"ë?@Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ì?@?î?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{í?¬Ç?ÐÆ?Àæ? Ã?€ßí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?¨š?À†?V°?ÐÀ?<§?€}Ù?À%ë?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fï?òÄ?Ù?€Eä?À_ï?ð?ð?@×í?Ù?@Ðë?€mà?æÓ?€Bí?@,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? î?€@Ô? ƒ?°…?p?À¬ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ï?ð?ð?ð?ð?Žï?€5ß?€\?¾æ?À¶â?Àž?€Á×?à?&À?n±?f?F?à~?l?l?È›?@õæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?õï?ð?Éï?Àÿï?@ìï?þï?ð?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?ð?ð?ð?ð?êï?ð?@lï?@©ï?ð?ð?ð?ð?ð?ð?ð?ð? ï?À>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìï?@Ûï?Àuï?ð?À«ï?@cî?aë?ð?ð?ð?ð?ð?ð?ð?ð?ÀXï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@8î?€=í?Îí?@ïï?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?öï?ãï?ð?ð?ð?€ï?=î?ð?ð?ð?ð?ð?ð?ð?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈá?»?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™î?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùî?€ÐÕ?Ànã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Iî?$ß?¨?$É?€fë?€Sê?€é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ß??„Å?€ß?iä?€2Ø?ÀÝå?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?@í?€IÜ?€œí?@£î?€ÿï?ð?ð?ð?€Ìá?¦ë?Kï?¼à?@fì?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ÀCâ?(É?Ào?0‘?@;ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ï?ôï?Àíï?ð?ð?ð?@Fï?²È?‚Ü?@é?Ë?@rè?„®?(¬?‚Ë?€R?Љ?J¼?+ë?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ð?ð?ÀLï?€ëï?@óï?éï?ð?ð?ð?ð?À?ï?€ûï?ð?ð?ð?ð?€í?,ê?Ùï?@ÿï?€äï?ð?êï?€mï?ð?ð?ð?ð?ð?ð?ð?ð?@Fî?ï?ð?ð?ð?ð?ð?êí?ð?ð?ð?ð?€ï?ð?Àÿï?•í?Àýï?Àžï?À ï?@ÿí?ví?@-ï?ð?ð?ð?ð?ð?ð?ð?Gï?€î?@àï?ð?ð?€äï?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjï?€ýí?À²ï?@úï?@ÿï?Àÿï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@æï?ð?ð?ð?ð?ð?ð?ð?¸ì?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªâ?Îß?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?@¨ï?€ï?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQï?À<í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àví?Pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€å?p‡?@Vå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöî?@Rç? ƒ?ZÅ?€Þ?€ Ý?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?­ï?ð?ð?ð?ð?€Aí?l®?Ø¡?ú²?H¿?ñÃ?€¥Ó?ÀEä?@rí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vî?€ë?¯à?rê?ð?ð?ð?ð?€™ï?€@ê?Îï?ð?@Eî?€~ê?@~ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?Àsì?€pí?/ï?€wÛ?x›?€«Ó?À6í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ï?€êï?@ßï?ð?ð?ð?@œï?hÖ?€\?åÍ?)ï?@Kì?ð?€AÒ?àˆ?jÆ?ä ?æÔ?€d?€t?­?@2ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rê?€eï?ð?ð?ð?ð?ð?äï?ð?ð?ð?îï?ð?àï?@ïï?ð?ð?ð?ð?”ï?Àýï?‹ï?€èï?€ëï?ð?€¶î?Ààé?€~è?€­æ?ð?ð?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?À¯ï?@¡ì?@ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ï?À{ï?@©ï?Àéì?ð?ð?ð?ð?ð?ð?ð?ð?ð?,ï?€Çî?ð?ð?µï?@\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?€ ï?€¤î?ð?ð?ð?ð?€ëï?íï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ï?@‡î?À<î?À/ï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?Òã?ÀÆç?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€ï?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒï?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýî?¾ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?@~ë?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨é?¶?€óÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€EÙ?€e? Ñ?Íí?Àüì?Â?¯è?iì?@-ì?€í?€âë?@„ë?@òí?ð?ð?ð?ð?ð?ð?ð?ð?ð?"ï?€Ré?@ é?@çî?ð?ð?[í?´¦?x–?˜«?€ÈÚ?Àtâ?ê?XÓ?À}ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\ì?@+é?ÀÑé?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?Àêä?@ë?À‘ë?Àƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?€Àï?ð?ð?Þï?@aè?×Í?H?€{ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sï?Ò?€wÑ?ôï?@éï?ð?€‰ß?È•?ÀÈâ?€ñå??—Å?Ào?Ђ?8?,?HÕ?@-î?ð?ð?ð?ð?ð?ð?ð?ð?€–í?@Éï?ð?ð?ð?ð?ð?äï?äï?ð?ð?ð?€ëï?Àñï?ãï?ð?ð?ð?À±ï?@‡ï?À•í?ð?ð?€Çï?@µï?@Éï?ÀÔí?åÅ?¨¨?€ÏÛ?€Sî?@ÿï?ð?ð?€øï?ð?ð?ð?ð?ð?ð?Ànï?Àxî?@¡í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?€sï?€£ï?@éë?@áî?@ì?ÀÇí?€ëï?@âï?À<ï?ð?ð?ð?ð?Àöï?@ðî? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?¦ï?ð?ð?€þï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Eí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?Þï?ð?ÿï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿ï?€€í?Àáï?ð?ð?ð?ð?€øï?Ýï?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@ñï?ð?€íï?üî?ð?ð?ÀÌï?€oî?@î?@²î?@)ï?ð?ð?ð?ð?ð?@Õè?_?@Fé?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?ì?ð?ð?ð?ð?ð?ð?€}ï?ÀŒí?€'ï?¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Iï?€·ï?Àþï?Ùï?À)ë?Çï?ð?ð?ð?ð?ð?ð?øï?€úï?Àëï?ÀÃï?ÀÚë?ÀPã?ÀKæ?@9ë?€$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝé?@àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íè?Ì«?t¦?@*â?ï?ð?À›è?@ç?@ï?@Cï?Ïî?€Ší?yï?ð?€/ë?Åì?»í?÷ï?ð?ð?ð?ð?ð?ð?ÀÞï?Ï?s?€sé?ð?ð?À¥æ? |?žÑ?€"ç?Àî?þï?@Þê?@õë?2î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûé?@‹é?±ï?€†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?µï?6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9è?È›?…Ð?ˆ«?gÀ?ˆ”?}?€»?À;î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€JÙ?À˜?À·æ?@í?@­ë?wÞ?@¡?Z?|¸?l£?YÎ?p²?X–?@i?ø·?À)á?Aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€îï?ð?ð?ð?@Öï?øî?§Í?l?fÇ?ÀRì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛî?À´ï?@˜î?Àùí?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Wï?ð?€ûï?@Zï?@]í?@$é?Èî?ð?¼ì?€ñï?ð?ð?ð?ð?ð?€æï?4î?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ê?€&ç?Àïï?Øï?@¯ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@·î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?€Øï?À×ï?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?À³ì?ÀÛï?ð?ð?ð?ñï?@ôï?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?€&ï?À-ï?À‹î?ÀÛî?@Õï?ð?ð?ð?ð?ð?ð?Ÿî?À¨î?ÀŠï?Àï?Àüî?“ï?€äì? q?Ò?÷î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?À”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTî?è?ð?À´í?@ ê?@4é?€Lï?ð?À›ï?Àõî?í?xï?ð?ð?À{ë?@Xî?ð?ð?ð?ð?ð?ð?ð?Àêï?Åì?é?€è?Lì?ì?À$ì?€Uê?ë?aì?ð?ð?@<í?äé?‡è?€Rã?@±á?MÞ?ÃÚ?Ö?dÈ?sÕ?@Ñà?@Bï?¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Tì?4·?t¬?ê½?ÀAà?óï?ð?ð?Ýï?÷ï?ð?ð?ð?ð?ð?ð?ð?€}ï?€î?€)ï?ð?ð?ð?ð?ð?ð?ð?¥Ó?€ÑÚ?ð?èï?€¡Ò?M?«à?ð?@âê?À&ï?ð?ð?@™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Xí?áï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?Øê?€<Ù?€Ò?ÒÓ?ºÔ?€ÓÐ?€‰Ó?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôæ?€|?HÁ?¶?ëÁ?Àøâ?Y?¨•?Öß?`q?Z?¬?Š? |?€?Ѓ?™Â?@ëá?ÀËí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?ð?ð?ð?ð?ð?ð?ð?@;ï?6í?ð?ð?€‡ï?€­î?€!å?³Ó?b¹?´Ö?ÀÛê?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*ï?ð?Sï?Xí?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óë?€Íê?î?À`î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAî?Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?À|ï?ð?ð?ð?æï?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëí? ì?€“ï?ð?ð?ð?ð?€ïï?óï?ð?äï?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?„ï?Àêï?ÀÉï?€>ï?ÀÑì?ì¸?ÜØ?À=ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?Àï?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?Jç?€èç?@Îé?€ðê?ÀÉî?€¾ï?ð?ð?ð?@ è?À$í?ð?ð?ð?@ëï?Àâï?€ñï?zë?€kï?ð?ð?ð?ÀNí?aé?*î?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?ÀMî?±é?€ãï?€êï?@%ï?À§ï?@Uï?@èî?àï?À÷ï?ð?ð?ð?ð?ÀÝï?À>î?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êí?Í?‰Ï?€9ß?ÀTà?@<á?ÀMã?¼Ü?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ã?±?@%ï?^ì?Ÿ?€ß?€é?ÀYã?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ýî?À¥à?”?À?€kÐ?¿Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?ð?Uì?š?G?ü©?`x?À¬à?0‚?H?2?c? r? |?h´?¸?l?àr?€b? Œ?€V?€[?Q?€c?€®Ô?€ðè?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sï?ð?ð?ð?ð?ð?æï?Àáï?çï?€Þì?@wï?ð?À³ï?°î?3Ù?€Ñ?T±?D?0±?@†é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?@¦î?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?Àüï?€`ï?À(ê?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?¿ï?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaî?ð?@óï?ð?ð?äï?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?Àvï?@'î?Àúî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@#ë?ð?ð?ð?@ï?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?€Äí?@|î?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À…ï?Êë?ÙÚ?I?J?@áå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?€ôë?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?À}î?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.í?±Î?@?€Ò?ž²?€°Ô?€{á?€óï?À½ï?ð?€/î?€ Õ?@ç?@¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½å?ZÔ?€˜Ó?àp?l?€†?°ƒ?N²?ÕÛ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?Àúì?ÀJì?À±è?€´ê?Àuá?`½?€Kâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ÀÔï?ð?ð?À’î?$Ð?@ôà?ÕÞ?{?€ÊÕ?à’?ô£?P—?€`?ä ?Ђ?<Í?@ìè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?ð?ð?ð?ÀÖï?5ê?€jä?âÏ?Pª?@Ž?4¨?p³?€KÙ?€Ðí?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?€”ï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?€cï?ð?ð??ï?À¸ë?€yí?@lí?@Åî?ð?ð?ð?Àµï?€Mï?ð?hï?Àœï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€Ôï?ð?ð?ð?ð?ð?çî?@Wï?ð?ð?ð?ð?ð?ð?€çï?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿î?†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´î?@î?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?À4î?î?@þí?€uî?@Ýï?À–í?€œï? Õ?tÓ?GÁ?ÒÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?îï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?À®í?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yå?„?€„?€"ß?@dî?xà?€þî?À.í?@{ë?ÀXë?ð?ð?€Ží?€è?@•è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àä?@k?À‹?È©?P´??Š?àœ?ÓÀ?]Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?êï?@³ï?Gç?À®ç?@ùé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ÀÍï?ð?ð?ð?ð?ð?@lé?€MÑ?q?”Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èâ?@Žá?±é?ùÉ?•?ÇÆ? ¤?N?¤? ³?M?К?€f?’²?€¢å?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?À’ï?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?€/î?ÍÂ? v?ëÍ?Ì?ñæ?”ï?ð?@­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?@Êî?ð?Àäï?ð?ð?@çí?ÀÇî?Àî?ð?ð?ð?@kï?ï?Àï?®ï?@)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡ï?@†î?@~î?@5î?€øï?ð?ð?ÀŽï?Àûî?Êï?€ßî?©?€v?€9Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?öï?ð?ð?ÀÇï?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?À[í?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡í?³Û?&Ä?q?€“â?ÀÙæ?€…à?@äæ?€Ûï?ð?úï?ð?ð?€Ïî?˜î?ð?ð?ð?Bí?@8î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Àˆâ??ˆž?€†Ð?@@ì?¿Á?DÊ?zº?À~ä?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?¥Á?°?À’ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ÀJî?Óï?@.ï?À·ê?Àá?Ч?à‚?@™ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùá?f?²Ã?@ñí?€MÙ?P…?âÉ?Àöé?@fæ?4¨?ð¢?6Ò?€ã?€>Ù?²??˜˜?à?ü§?ðš?@t?c?XË?@ûà?ë?@¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚî?€9æ?ÚÏ?@â?à?€¥Õ?ÜÓ?@ê?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Rï?±ï?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?@<ï?@rï?ÀŽï?ð?ð?§ì?ð?Àî?ð?ð?ð?ð?ð?üï?Àî?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@ùï?@ùï?ð?ð?ð?ð?ð?ð?ð?ÀÍä??H×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Wï?À«î?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8é?9Î?¸•?À;ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€4í?€Õê?€öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×à?0Œ?åÐ?ð›?@•?à?À?@šå?bã?pè?€½ë?wÊ?€já?†Þ?@¦æ?À¢ì?eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åâ?€Œ?€¼Õ?€3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?@°ì?@Õá?Àa?Ü¢?ñÌ?©?îÂ?€¯í?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñ?¦¹?€Fî?À|ï?€éÞ?ð„?€Ð?ßÚ?²?Àe?^µ?ñÈ?'æ?Öï?Àßí? Á?€}? u?@l?0‚?@t?Ø•?€ÎÜ?À ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@8è?ð?ð?ð?ð?À4ï?€êï?ð?ð?ð?ð?ð?ð?Àíï?™ï?ZÈ?ëÈ?€aß?@Ãî?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®ï?Àçî?ð?ð?ð?ð?ÀÞî?€uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒï?œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?€ÊÚ?€ÍÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?À¸í?Ïæ?€EÜ?Àç?ÀXí?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙî?@î?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀWî?€Ù?`~?T?€^ä?€ýï?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ë?ÀÜê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Åä?@k?÷Ó?þÞ? t?€b?¨©?€äÕ?Àî?»ï?@þï?ð?€Lí?—é?€ßï?ûï?€8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óí?ôÇ?¬¾?Ôî?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€åï?Àšï?£à?à–?€a?€ŠÞ?¸ì?_à?€gÔ?)Ø?À÷ï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À,ä?@v?@t?À å?€ÒÞ?ÒØ?Z?ª¹?\´?€j?D?À?€'é?@;î?ï?@ãï?€ˆê?€’Ð?€Ù? Í?P¤? |?V?@l? ¯?B?Ÿ?€_?€¤?€Û?Àè?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?~ì? È?€-ã?®ï?€Âï?€ýï?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?@Éï?ð?ð?ð?ð?@èï?@Ôï?ð?@¡ï?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eï?ï?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jï?,¾?ÃÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?€Óï?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?ÀKá?¹?‹?²?P“?ØÝ?@®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xï?€ïî?Ìî?jï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{ï?@ç?;Â?pŽ?À[ê?ð?Àøï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìî?Àˆè?@Ôë?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýî?úÌ?Y??´®?@™í?Àßç?B²?:?Š?vÖ?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ã?%Ö?À­ï?ð?ð?ð?ð?“ï?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€å? »?€p?t·?À°ê?À}â? —?l?ˆ™?@ãç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨ï?€pÙ?@t?À ä?¤¼?@€??iÕ?Œß?ÀÚì?ð?@ï?Më?Sï?€vÐ?€Éâ?@†ä?hŸ?²?€e?C?‚?€ïÖ?d³?€?l?Ÿ?€¤Ø?@’â?€€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?€Àï?@3ï?€Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?ð?ð?ð?ð?ð?@šï?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?kí?€$î?€Gî?ûï?­î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?aì?Ф?óÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þí?€“ç?ÀNã?ïÎ?€YÕ?ÀÀâ?Àâê?rÞ?€Çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@Ýî?Àí?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ë?Ñ? ?€xÖ?À„ï?ð?À÷ï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…ê?™ì?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐì?Ü«?èŸ??šÒ?Àã?À£ì?ð?@Ãà?ÜÕ?Tï?€çí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€4î?@Æè? ä?€ß?º·?î±?èª? s?]?Àß?€;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@oï? Ö?€AÜ?³Ó?gÅ?Àa?ðœ?X§??P¨?„?Àïà?À~ï??ï?@¼í?ÏÒ?¼·?Þ?LÐ?‚¿?ËÄ?)Ù?@Žá?MÁ?€i?ôÚ?ìÀ?¢½?¯?l?Ø·?@…è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?€Uï?ºî?ð?ð?ð?ð?€îï? ï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?ÀÇï?ð?ð?ð?ð?@èï?ð?ð?Àoï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?Àï?€åí?Ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?À[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õä?B?@úå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?þï?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@6ï?ËÙ?ؘ?ŸÕ?Àöî?íï?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?À?í?À1í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?€Âï?Jë?¸¼?ä´?Ðì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ê?Àkï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ê?à¸?Ä«?·?߯?@˜ã?úï?ð?ð?Ðé?¸?€}?¨¡?[Þ?@pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€Në?°Â?@n?]?h›?€Ò?€9ï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kê?@sä?X“?Ô¯? ²?Àj?´´?J?B?`v?på?&Ó?:Í?`?n´?€«ã?À°? r?X²? ¤?Ö±?Àå?€–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñí?ï?»ï?@Îî?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?@·î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áî?€>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uã?À%ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼â?@±?€ß?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À<ï?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?À|ë?€å?>Ú?%Ð?h§?`‹?À9ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?À’í?ð?ð?ð?ð?À‡ë?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?Ù? v?‰Ë?í?ð?ð?ð?ð?ð?€Õâ?÷Ë?µà?€-ã?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùæ?P‘?˜»? Ö?@q?Àøå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìï?@ûï?Jï?ð?€³æ?Œ?0²? ‡?†? „? q?T?Z»?Àd?0š? p?X?p??àx?™?€Ð?@µë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?ÀCï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?À6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?Cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?˜×?ÀÄé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïì?€Aá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@è?pÁ?ÀÎê?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@:î?@ùå?€¶×?”«?éÌ?€—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ì?ð?ð?ð?ð?€ðí?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨í?l®?ðž?ÀDè?úï?ð?ð?ð?ð?ð?4ï?™Ä?ì¨?@–ê?Àtè?€Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùì?|ª?¨?Œë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?Àë?ð?@éî?Â? |?€h?ˆ˜? ‹?{? r?ÂÀ?(Ÿ?€i? ®?|Ë?ð–?à€? ½?óÙ?ÀÐæ?€çï?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?€|ï?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ÀÛï?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?€_î?À'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?ÀWï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lï?ÛÄ?`ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?€ôï?ð?ð?ð?€ßë?@yê?@ê?_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\í?uÑ?èæ?@£ï?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?7í?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùî?€sä?]Ï?¨“?0?@é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úê?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õè?€ë?ð?ð?ð?ð?À½ç?(Í?@þï?ð?ð?ð?ð?ð?ð?ð?@ªå?»Ó?³ï?@üï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@ç?€#Ù?ô­?¨Ä?€Éî?ð?ð?ð?ð?ð?ð?Àìï?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À(â?°Ž?L§?<¡?dÀ?ßÅ?ÀŠà?²Î? w?(?€ËÐ?v??`˜?@“?’?6?è¤?ð‘? ?Q? r?»à?ð?ð?ð?ð?ð?ð?ð?ÀÊî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?@ªî?À‚î?@ÿï?ð?€öï?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?@«ï?@÷ï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?€ ï?@Õî?Àßï?ð?ð?¥ï?Àöî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5ï?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?„ï?›Æ?P¡?]í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À(è?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àeè?Ø?Àmî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?@pí?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?8è?ýÉ?^?DÐ?@î?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À}á?À î?ð?ð?ð?ð?€Éî?.±?€žÑ?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìå?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@é?¿Ç?X“?ÇÏ?ôå?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«é? z?D¢?üÑ?T¹?o?€RÕ?Àë?€Ëî?ÀOï?ð?@Ëê?>Ê?g?`Ž?°‚??(­?ðÇ?¿Í?–³?Ú?ƒÂ?€j?€m?,?À`?{À?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ÀÅî?Àøî?î?Àcí?Àbî?Ëî?€ï?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îî?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×î?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€zí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?@ií?@-ç?»ï?ï?Ñï?ð?Ìï?´î?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ÀÜî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ŠÒ?ÀŒ?À'ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æî?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øç?À3ç?wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À_î?¬í?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yì?€Ø?p—?¹Ä?Àî?€|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è?ð?ð?ð?ð?ð?€»ï?"Ì?Xº?À^î?ð?ð?ð?ð?ð?ð?ð?ð?qî?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?qí?@Så?üÍ?Ø”?€½?GÓ?mä?€uì?@Õì?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?{ï?UÅ?mÕ?Àâî?Àÿå?œ¢?E?,?€pÓ?Àï?ð?ð?ð?ð?ð?@ßî?­Ú?¶·?—Î? Ÿ?@?€u?Ô¦?…?€Ž?€?ÙÓ?Àöï?ä?€a? ?γ?€Ní?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?€Åï?ð?ð?Àïï?€‡ï?ï?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'ï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?À&î?€”î?@¯ï?ð?ð?@¬î?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úî?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?–Ý?Àç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?€Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?Hä?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?€îí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›ï?@í?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À-ç?(¸?€å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?VÏ?—?Àbë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pï?€í?€Ðî?@oí?ð?ð?ð?áï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™ï?ð?ð?ð?Kî?@Ûï?ð?À5ï?P¯? ¢?€«Û?€âä?X¦?‹?–?ôá?ð?ð?ð?ð?ð?ð?ð?Àã? «?´?•??h¡? }?0¶?Ä£?uØ?€KØ?ÀÏâ? |?`Š?QÅ?ÀØè?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?&î?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢ï?@"ç?@‚ï?Àï?@Žî?@ï?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?nÄ?@=à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?@ï?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@^ï?êí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@¤ï?ð?ð?ð?ð?ð?ð?ð?ð?€žï?ÀAê?x®?@ßæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èì?0˜?“?€Žæ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@0ï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€Îï?ð?@ôí?t°?€àØ?cï?ð?ð?ð?ð?ð?ð?ð?@(è? }?ƒÀ?Àu?P”?ô¥? z?Œ¹?¥?¯Ñ?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€cí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Iî?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€7ï?1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýæ?#È?àš?ÜÑ?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?zî?€Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*ï?@ï?€ï?ð?ð?ð?ð?ð?ð?€Oí?J»?|ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À£å?Àa?ÀŽ?€ùå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼î?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ÀÇï?€Äï?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëá?W?èÄ?@î?@úï?ð?ð?ð?ð?€rï?€$í?ê?øÅ?€Ó?jµ?€p?à?‚? ?0‡?o?NÌ?Àžë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?€8Ý?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?À(î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïê?ÀFí?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?Àˆï?À¹î?âî?@òï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇë?à¯?à?€U? |?À•?Eæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?äï?À6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‰î?€uï?ð?ð?ð?ð?À:î?€¤Ð?@ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€aß?H¢?@€á?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?qÜ?ÊÃ?ޱ?Þ²?€bÒ?ÀAà?@:é?€õë?Ëé?åÐ?à§?0‘?°Á?³?¨“?@z?Y?ø»?mä?@Œï?ð?ð?ð?ð?ð?ð?ð?€Ðî?@bí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?€¶ï?€±é?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}î?€-ï?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?€ í?Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåî?ð?ð?ð?ð?ð?ð?ð?€iì?—é?ð?ð?ÀÅï?€Èï?ð?ð?ð?Àxí?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºì?Àƒë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øî?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼Ö?íÍ?@ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀWï?€iï?ð?ð?{ï?€´Ý?€g?–á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?OË?š²?€ðæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€0ï?@bï?ð?ð?ð?ð?€¿ì?ã?ÕÚ? ?Ø ?¾½?€e?À„?`u?pŽ?†?p?€?€×?ï?ð?ð?ð?ð?ð?ð?@ûï?À¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?Îï?ð?ð?ÀWî?Àâî?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À!î?ÀÂï?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£í?ÀÊí?@)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúë?@™ï?ð?ð?ð?ð?ð?@ì?nÛ?€AÛ?@#â?aæ?Mè?@2î?ð?ð?ÀÝå?@Õä?Gí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€€æ?€Âé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?€¹ï?ð?”ï?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@@î?ȯ?ð†?ôç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?€ïï?@¢î?€¶Ø?V?€eÑ?€Oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Xë?Ø ?àx?gÝ?@Äë?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?vï?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?Àµî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\ï?@ñï?Àîï?ð?ð?ð?ð?ð?ÀŠê?€'Þ?`{?°?ðŽ? ?H’?P‚?$?@`?t?@?0ˆ?@?€†?èž?@n?Àpê?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?9ï?Àä?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@¨í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µï?€í?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?À‘ì?Àî?ð?ÀÊï?€"í?Àyï?@íï?ÀÒë?€î?Àœï?Àæë?€üé?€úï?Àúï?üï?@€à?€˜Û?@ê?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dé?gà?@!ç?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?Àýï?ð?Àïï?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6å?R? ³?cæ?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?@…ï?ÀŠà?t?€å?ð?ð?ð?ð?ð?ð?À¿ì?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€õÜ?èŸ?òë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?€çï?€Üï?ð?ð?ð?ð?ð?ð?@'ã?h?à}?€Õ? ³?p¦?ÝÆ?ˆ•?(¢?€Œ?·?€Ó?T?„¡?€îí?ð?ð?ð?ð?ð?ð?ð?ð?À˜ï?ð?ð?ð?ð?ð?ð?ð?ð?èï?Àµï?ð?@ã?€P×?€¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿ï?@uí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ï?‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õë?@éæ?ää?@è?‘ë?¡í?çî?@oë?@Æï?ð?ð?ð?ð?ÀÐî?ð?ð?øï? î?@Xî?@9î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?@¶ì?Àþê?ÀVâ?@eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À á?Ÿ?€Ìå?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?´ì?¿À?Ï?À‘ï?ð?ð?ð?ð?ð?À8î?Àçí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀî?²»?@?À¶æ?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?Àþï?ð?ð?ð?ð?ð?ð?ð?Ô?P?yÃ? ‚?’?@ì?€|à?Àw?€`?Q?Àf?H?¬?ð?Ѐ?àt?Àl?°?€Oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ð?ÀÇï?Àõï?àï?ð?Uî?ªÄ?€æ?Àïï?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Eï?‚ì?@iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›í?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?@Gì?Ná?@ê?Sê?€ì?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉí?@Ðå?@ëé?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?Ýï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€UÝ?¸¶?@Ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€4î?À×ä?ÄÚ?È? |?BÅ?€yï?ð?ð?ð?ð?ð?@üì?€]í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?˜ï?ð?ð?ð?ð?ð?ð?ð?æ?ÔÁ?@sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€Ü?`ˆ?åß?@Oê?€1Ð? ~?N½?^Æ?¼®?dµ?ĸ?ü¢? ‹?x“?P€?ì¯?ª?H•? ? }?@3ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?ð?ð?ð?ð?ð?ð?€â?€Ó?@2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àœï?€oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?’í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è?Àñä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€bì?€8æ?@ìè?€Ðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?€´î?€î?€vî?€Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=ß?Aà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?EÈ?€V?Ä?>ï?uï?@½î?ð?ð?ëï?€ê?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLí?üï?ð?ð?ð?ð?ð?@ï?@%é?ð?ð?ð?ð?ð?ð?@¢ï?,Ó?@Oá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€ÄÖ?~? v?(—? ¤?Ø¢? ²?SØ? Ò?|×? …?X—?0Ÿ?^?p‚?q?@zá?•Ö?€Éå?ð?ð?ð?ð?ð?Àåï?€9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€å?kÅ?ÀÕì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?Àî?€qî?À¨î?ð?ð?À£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIí?À.í?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?‚í?£ï?€tí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%î?Uï?ð?Àáï?À#ï?@¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ã?ž?À:ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?@àï?ð?ð?äï?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?ï?ð?ð?ð?ð?ð?€÷ï?€Xì?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bë?xº?ð‹?€&è?€ë?€•ê?€òé?@óï?À¬í?€êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜï?ð?ð?ð?ð?ð?ð? ï?€¸í?ð?ð?ð?ð?ð?ð?@›ë? ?ÓÅ?€xî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ð?Àøï?@æï?ÀÄî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ÀÇï?ð?ð?Àðï?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢ï?7ç?€AÚ?*Á?T·?À€?l?x»?MÆ?{?¬¬?à‰?ȧ?š²?F·?(š?`~?@?€eà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ë?Þ?ð?ð?ð?ð?ð?ð?À ï?Àšé?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìî?@‘é?Àüï?@ùï?@Âî?@kï?€ýï?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?€Wï?@öí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ýï?"ï?ð?ð?ð?ð?ð?ð?ð?ð?ï?À—î?ð?ð?ð?ð?Àï?@¨ï?€þï?ð?ð?ð?ð?ð?€úï?@ßì?@õï?@Wï?@}ç?€\?OÕ?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?€aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?@âê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?[Â?ÉÆ?@Òë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,í?@Sí?ð?ð?ð?ð?ð?ð?å?N°?@,é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥ï?ð?ð?À9ï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ÀÅï?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?€è?›æ?¢?ð‡?ðŠ? v?¨²?Î?€m?€_?vÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?@åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…ï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?À~è?ð?ð?ÀÉë?€”ï?Àõï?€‚ï?ð?ð?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uï?€jî?ÀÅè?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?@ ï?ßï?ð?ð?ð?ð?‰ï?€9è?@‰ì?ÀRï?€;é?‚?¼§?àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?@’î?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îì?€Øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Ñ?2?À;ä?ð?ð?ð?ð?ð?ð?@aï?€ í?@¦ë?@˜ì?@eí?ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?@õï?ð?ð?ð?ð?ð?ªï?YÓ?zµ?€ç?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ïï?@~ï?<ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éæ?ˆî?Åï?€ˆë?À]ê?À(ä?€Ž?“Í?€¦ç?b¿?ˆ ?=À?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?Àèï?ð?ð?ð?ð?ð?€ìï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ãï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?ÀÆí?ð?ð?ð?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Hè?€«ç?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ëï?ð?ð?ð?ð?ð?ð?ð?Àqï?@Tî?€&ï?€µî?î?À:ï?À-ë?€¬ê?ÀOí?€ í?Àá?.×?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?À›ë?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?@çï?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@/í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?Àî?ð?ð?@Ñì?#Ê? ?8“?Àíä?@¨ï?€î?‚ï?gì?ð?€˜î?À€ë?Àâï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?(›?@–?4¢?ä¤?ÈÖ?üë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?À¼ï?@óï?$ì?ÄÇ?p›?@k?`?à?bÍ?€`?`u?À‘??0ƒ?®?À`í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À>ï?@4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?ð?À»ï?rí?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãî?€å?wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªï?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€òï?@Åï?Ïï?€Vî?nî?ð?@>î?@ê?0À?hš?ÀPè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼î?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òî?Bí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?ÀVå?iê?À—æ?tÀ? ª?€ è?Àçé?ÀMæ?€Áè?€Áé?À÷é?€yç?áè?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ï?ð?ð?1ä?'Î?ÛÁ?bÁ?/Þ?ÀÕë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*ï?Ý?õÔ?žÀ?r²?â°?`s?eÅ?”?4 ?(ž?4?À`?>?Iæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdî?Âï?Àëë?@%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öî?Àþé?ð?Àûï?Îí?ï?@ïï?@ì?À3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæî?ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßæ?ú±?Àˆ?@%é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï? ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?dË?̨?ZÎ?@Åï?¼ï?€÷ï?Àôï?@ƒï?ð?€Áë?€wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üí?@ì?À°ì?€í?ê²?{?à…?i?x›?µÆ?!Ó?€žà?ì?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?@ï?ð?ð?ð?ð?ð?ð?ð?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?@ í?ç?€ÛÕ?(µ?Y?Q? v?R?ÀŠ?N?:?Ào?@k?§?€Íì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?@ñë?*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@)ï?@0è?Àéë?é?€®î?Që?À%à?€u×?Qî?@­í?öí?î?€Üï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?€Âï?@ñï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?€%ï?®ï?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~ê?d£?€¿Ó?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@=í?À§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?´¶?€Þ×?ð?ð?ð?ð?ð?ð?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?îã?Àv?ZÁ?À6â?‘?‡Å?À2è?Àë?<ä?µÑ?€Ûâ?€Lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?€€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?uî?îÂ?ÄÄ?Ø•?@®?@b?0š?¸«?˜˜?@k? w?и?|?@:ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôî?¾í?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï? ï?Àâ?€{ê?ð?ð?ð?@³ï?‘ë?ð?ð?ð?ÀÉî?@Âì?À^ï?@’ï?Àöï?0ï?À›î?Ýí?@›í?Àœê?€¢ç?€è?@äê?ÀÁí?@…ë?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?Ànï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚Ø?Ø•?€Pâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?À4ç?Àæ?ð?ð?ð?ð?ð?ð?ð?Àfë?@pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?ü³?ô¾?ƒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*Ó?D¦?Àå?×ï? Õ?²µ?€[é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚é?€pç?€+Ú?€?À?H®?õÅ?aÐ? ‹?Û?Á? v?­?x­?À=í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€)ï?€Tí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Rî?À¸ï?Àkï?@gç?À­æ?ð?ð?ð?ð?ð?@Ýî?ð?ð?ð?ð?ð?mï?ã?@ é?@æé?ÀKå?ÀÎé?ÀÀë?@^è?ÀQæ?@Äê?ð?ð?@(ï?ë?@ï?€§ï?ð?ð?ð?ð?ð?ð?Àáï?€Ìï?ð?ð?ð?ð?ð?ð?êï?@Ãï?€Ïï?ð?ð?@Àï?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ÀUï?öÈ?.¼?@`î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øí?€Nî?ð?ð?ð?ð?ð?ð?ð?@¾ê?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öå?àv?K?@ ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ê?`w?îÐ?€zï?€¼ï?€ÅÙ?D? z?Ж?Àº?£Ê?lÖ?€ÊÞ?@Ìé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ï?Àæ?0¿?È?R?f½?€óâ?€~æ?À„ä?ð³?Àk?@k?P—??‡?2¶?@ºí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ï?åè?€uß?„Þ?@Bé?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@è?@«å?€ä?ð?×î?@2î?ð?ð?ð?€õï?ð?ð?ð?Žï?ÀÇî?@»ã?Àîí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?@á? ˆ?–?îê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî??å?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€Èá?K?€»Ó?Ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÆÝ?€mÔ?À€ì?€]ç?H•?ž?P›?Ø—?l½?@¿?Áç?@pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Vã?YÈ?h¢?R?FÙ?Àëï?ð?@Zé?ÍÅ?8¥?j»?€^?‘Ã?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘í?€wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™î?œï?ð?ëî?Ôê?@Ãé?Bî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?À>î?€á?À:ï?ð?@(î?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?Šç?Àfí?ð?ð?ð?ð?ð?€÷î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?›Ê?ÊÛ?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµê?@ªí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?À‘ï?ð?ð?ð?ð?ð?ð?Àþê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?Àåè?€òÓ?’?ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?¢Ç?Àb? ª? ‚?˜¬?Ô¾?WÍ?œ°?‚¸?F¼? v?ˆÁ?€_é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ï?¶?d¡?@u?R?¨Ÿ?Xã?@ýï?ð?@†ì?‰Å?Lº?à”?€f?Àƒ?X?€KÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹î?Ààî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?@8ê?À ï?@Gä?€#ï?Àué?Àˆì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?À¹í?<í?ð?€gï?@wî? ï?€?è?€«ë?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oå?€u?”½?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBî?À«ì?ð?ð?ð?ð?ð?–ï?@ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹ê?€Ù?@?À`?BÖ?€„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìë?—?i?6ß?`Ž?l¨?@{á?^í?jä?Àï?€hê?€WÝ?@/á?Àäè?Âí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?Àóï?À±ï?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùà?`…? ?0ƒ?H?¤«?Pë?ð?ð?ÀÒí?@Úà?Ë?P‹?®»?8?P›?¢Ü?€Û?€[?@x?€ÁÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@=ì?¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}ï?€žî?@¿é?€[è?€ˆï?@›ë?‘ã?€Oå?@Æì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€èï?ð?À[é?À9æ?7ç?@8å?£è?€¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?îç?Œ¤?€‚?À|è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïí?À×î?ð?ð?ð?ð?À ì?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ì?d¶?¶¼?Öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ æ?ð¬? Þ?€1Þ?n»? ¬?ŽÔ?€r?ö¿?ÀÈâ?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?Àæï?@bï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ªÞ?ȵ?Q?0‰?8–?˜?€%Ð?À¾ê?ð?ð?ð?À!î?ÈÂ?€`? –?¸Ø?€â? ‡?àº?€¬í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦í?€hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åî?@5î?ð?ð?/ï?Gë?€Žà?’æ?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À í?Rè?€íï?À¨ï?ÀAè? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?€Ü?„¬?VÄ?À|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?€âë?ð?ð?ð?ð?@ªí?À˜î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€Òï?@qí?€˜è?DÌ?€&Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€8Þ?Xà?ð?ð?€ä?@u?r?‚?>Ò?ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nè?Ì?€[?‚?H«?€ê?€øï?ð?ð?@Yê?H™?€…?@zæ?@Eï?õÖ?6?t?Àc?Nº?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?2ï?Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?@;í?€¶ï?ð?ð?ð?¨ï?î?ÀLí?À3æ?@ í?Àï?@ÿï?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”ï?Èæ?À•è?@_ë?ÀGï?ë?@»í?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?¨°?@a?€ˆâ?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@ï?yê?€ë?@/î?;í?ð?æï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lï?˜ë?ÀTê?À.ë?Àî?zÀ?@Sâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€€ï?Ã?mÔ?ð?ð?À©ï?€;Ò?8?@h?€PÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?Àíï?@fî?ð?ð?ð?ð?@ƒà?d¡?@¤ë?ð?ð?ð?@žå?̱?w?&Î?&Ò? ”?Ш?€RÞ?€×?в?8¬?àq?Tè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?À~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿë?@Ìï?ð?ð?ð?ð?ð?ð?€Ãï?¡ï?ð?§ì?ÀGë?dì?€Øï?&ï?@¥ì?€ìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôç?@ÿî?ð?@úï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?VÜ?X ?9ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?Œí?¾í?€Öî?À‰ï?²ë?àç?À¹î?ð?ð?ð?ð?ð?ð?ð?ð?‘ì?Àë?@ê?öé?€}ï?ð?ð?ð?ÜÒ?@h?€_Ð?Àôà?@8î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?ð?ð?ð?ð?ð?Àùé?0?¨‘?Þ?À¦ë?,î? Ç?°Ÿ?]à?Ûí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿè?6½?ð‚?H?€Ó?€Åê?ð?ð?@ðï?@wå?xÌ?]?0‚?`œ? À?WÂ?@{?¤®?T´?@Øá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Kî?Àxï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xî?€ë?€£å?@&ä?>í?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pï?@ì?Àç?€_ë?ð?ð?ð?ð?ð?ð?ð?€œë?@þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?€…î?à¡?àÇ?€Ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+ï?Zë?€bï?À¥ï?€¿ë?íé?@ûì?À©ï?&î?Bì?€jç?@uë?Àùé?€“ê?€úï?ð?ð?ð?ð?ð?ð?ÀLè? ?<±?@ì?À'ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?@òà? ›? §?€k?P?H?`•?@Òã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Àùï?ð?ð?ð?ð?ð?eï?ÕÊ?C?Àp?ܰ?À é?õï?ð?ð?¼í?Çß?¹?À™á?rß?öº?¡È?À†?€ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À±î?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌí?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?'í?Àìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚í?€Rç?À§ã?@øî?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ÀÍë?™ë?@¸î?Äé?²í?ð?ð?ð?ð?ð?ð?€õî?ì?ð?ð?ð?ð?ð?Àóï?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsï?€Äà?Àd?€Úä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?@{í?@¡è?ãë?_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?zØ?€ˆ? ƒ?$·?€Dî?@3ê?@Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡î?Àwë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åï?”Ï?`v?^?Ķ?€¦Õ?À[é?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?—î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?Àáï?ð?ð?ð?ð?ð?ñï?òì?Ç?@{?œ?„§?À,ä?@ì?ð?ð?€ï?€yë?€¥Ò?@Ž?ÔÒ?@Xì?tÃ?àƒ?€Nå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@iï?€{ï?À×ï?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dï?@Ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€Cì?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Àèê?€ýë?€Cå?€*ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?@´ï?ð?Ëî?Àïí?ð?ð?ð?@\ï?€zï?ìï?ð?ð?ð?ð?ð?ð?ð?€xï?ð?ð?ð?ð?ð?ð?@Äï?ð?ð?ð?ð?ð?ð?ð?ð?À[ï?À²î?ÿî? ï?À‡ï?ð?4ï?€×Ö?ð¿?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À˜ï?€>î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@á?t¢?ˆ? á?ªï?Ûî?À~ë?ð?ð?ð?ð?€´ï?í?í?À›ì?@úè?€@ì?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâë?˜˜?\?€V? r?Y?ÇÈ?€7å?=í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?É?h™?0›?ÕÇ?@)ã?€hì?ð?ð?À‹ï?@§ã?Œ ?F?4®?v?6²?€Øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?@¼ï?€Îï?€èï?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àeì?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ì?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?Þï?@í?Óä?€îë?@wï?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?ð?ð?ð?ð?ð?€÷ï?@Öî?Àõí?@Zî?@çï?@°ï?€tï?€.í?@7î?Rí?À_â?$¢?ÀÒå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—ï?Àðê?@pî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íê?d¥?@v?€n?ÀKã?ð?@ í?øí?Àùê?@Cë?€¨ï?€ í?Àzì?€Îï?Àßï?ð?Àgï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Xà?(?€ Õ?€ëÛ?÷Á?lì?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bé?u?€U?$?8¼?€Oç?À£í?ð?€ÿï?@æ?$«?Ã?&É?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×î?€þï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?À`ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kï?Hë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?øì?@Ôé?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ï?ð?ð?ð?yï?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?€Úï?‚ï?€§ï?qï?oÇ?¢°?@tê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?_ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€âí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§î?0¨?ú´?¿í?ð?@øæ?±ë?@Eï?€î?€½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?Lï?[Á?l¨?Üì?€’Ò?¢?À»ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀRî?ü»?€?{?ü§?ÂÂ?€Äì?ð?ð?À é?ºÓ?‚?È­?k?!Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?Àðï?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[ì?@[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?€Oí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?à?€då?€Õì?YÅ?TÆ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?_í?òë?çì?€ÿí?@Üî?÷î?€ÿï?ð?ð?ð?ð?ð?ð?ð?Kï?—ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tË?ŒÅ?MÂ?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ÀÜæ?@x?^Ô?iï?d±?­Ç?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vÙ?šÏ?€½×?€•? ?@a?,?p?2Û?€™ê?À½ï?À î?€`è?€q×? ?@òâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒë?€Çï?ð?ð?ð?@ãï?À]ï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àxí?xî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@#ï?À»î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?€=î?@Èì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?lî?Àïï?ð?ð?ð?ð?wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷î?ð?ð?ð?ð?ð?Êï?ð?ð?åï?Àfï?@«ç?@aà?4¹?€ÍÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?@Ìï?ð?ð?Àõï?@çì?Žë?€üì?@Ïí?@;í?@Eì?@Áì?@™í?€Ôí?€5î?Àˆê?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?îØ?¸–?‡Å?À­í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?€ëÔ?[?Ëä?ð?€†Ö?€kâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äæ?D¥?J²?ÀÐí?‰Ú?Ài?Ï?ëÀ?R? £?€]Õ?@Úå?@ì?èç?Àd?@x?F?ÀPç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lî?Âï?ð?ð?ð?uî?àï?ð?ð?ð?ð?Àýï?@›é?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡í?€±î?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyï?ð?ð?ð?ð?ð?ð?Àï?@Œí?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôî?@xë?À4í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?Àèï?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?ð?ð?ð?ð?ð?ð?ð?À×ï?ÀOæ?Æ?Àd?0»?uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀUî?€eî?À ï?Úï?ð?€eî?«ì?Gê?ÀNê?@é?À¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?€ÞÚ?À‘?"´?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íí?´«?Á?À½î?ð?Ú?ðÇ?@Îë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjî?€äâ?¸Ó?@®ê?Àí?€¾Ü?,§?Àåå?2Ã?(”?¶Í?,·?¹?n?À ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žï?âî?À™ï?ð?€=î?@¿ï?ð?ð?ð?ð?Àìï?ÀÎç?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýî?ÀÅí?À¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñî?ð?ð?ð?ð?ð?ð?ð?í?@]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?€bí?@5ë?Àªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBî?@Yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ä??@b?€Wå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?À:é?€¶ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?nÎ?a?À÷ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ç?@àâ?ð?ð?jì?ï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?@›í?À`î?À¢æ?ÿï?€ôï?€ç?öã?ËÐ?a?ÐÍ?ôÀ?L£?ø¢?€:ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Qî?ÀÄï?€ïï?Àí?ð?@±ç?fî?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?À î?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?Àï?åï?ð?ð?ð?ð?ð?ð?ð?€¯î?ší?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Bê?ÀUì?@Vç?Àé?‡é?À4ì?ÀTë?€Lë?€°ê?—í?@Íï?€µï?€ í?€Ãï?äï?Àrï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ÀTè?Àè?"í?zï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(ï?€ñì?ð?ð?ð?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?€æ?´ ?ÀVà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ï?€Úé?…í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒï?yÐ?Àpâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üâ?6Ý?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õî?€ûï?ð?ð?Àçî?€ê?¨’?.¸?P­?Ö»?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oï?ð?ð?ð?Àœï?ð?Kì?[î?€úï?ð?ð?ð?ð?ð?€oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@î?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Qì?€"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üî?Àúë?ÀŒë?ð?€vî?Àˆî?À¬î?€ ì?Àqê?ð?€±î?@­ì?@îì?€í?€á?Ïà?€òæ?¬ê?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?Àê?€é?@Lí?€ûï?ð?ð?ð?@Ôí?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?Áì?ð?ð?ð?À´ï?ÀÏå?€¯ä?ð?ð?ð?ð?@xï?ð?@éã?X?ÿÛ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›é?òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ?€Ô?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5Ü?8˜?€¬ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíç?Àl?‘Ä?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?ð?Àïï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?@ðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{î?ÀJî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@é?Àöê?Öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡è?sæ?€?ß?€2ã?ÀÓë?Àáí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎî?¦í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?À‚í?Àlï?ð?ð?@=ï?¯Ù?À ê?ð?ð?÷î?™ï?À é?Àä?À\ã? š?8Â?€‚é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüî?€3ê?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªå?À‚?€ã?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?àï?ÖË?@Àä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ià?O?H?(?€[?T§?€6Ö?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ÀËï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?À=ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜í?@Ûë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?@è?@Åë?€€ë?nî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?¡ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?Àdë?€©Û?@‘ç?€Éâ?É?z¿?ýä?@'ì?ûå?jØ?‚Ö?€zÔ?Î?$½?,À?Á?øÁ?YÁ?DÀ?#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?@Øé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?¾Î?@w?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?~ì?x£?„©?Ÿë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?„ï?À‹ï?ð?€Sá?(?`}?€U?²? Š?xŸ?Àè?À¡í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?@Çï?ï?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈî?ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íé?ï?¹ï?àï?€Üï?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éî?@õï?ð?ð?ð?ð?ð?ð?„ï?ÀÆé?ÀÜî?ð?€Eï?Àãï?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìî?ð?€Ôì?ð?ð?ð?ð?ð?ð?ð?ð?@}â? “?´­?€€Þ?ˆ»?öº?¨¡?”£?”£??@Óè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?€‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àfï?ÇÁ?7å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?À–ç?V?ð›?ÀÐì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?Êï?ëï?ð?€•ç?H“?@f?G?R?¢¼?@ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààî?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?ìç?À¯î?@qî?À…î?yî?@Ùí?Kî?@]ï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóî?€Nß?À7ï?@õï?€ã?À«á?€Ýå?ÀŒè?€bí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šï?@òî?€•í?ïï?À©ï?@™ï?@Ôï?ð?ð?@ùï?€èï?@`ë?€‚Ò?ø™?°? ‡? ª?Àáê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬ï?€™é?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöë?Ä ?ÿÉ?/í?€aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€SØ?ˆ›?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?ð?ð?ð?ð?ð?€kï?@;î?Òé?ü ?P­?°¯?l±?…Ã?€yî?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@_ï?ð?ð?ð?ð?ð?ð?ÀŽï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?@õë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂí?€è?@-î?ð?ð?ð?ð?ð?ð?Àåï?Àõí?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àví?€¹Ú?€øë?ð?Àoê?@î?€µî?@ë?À.ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éí?ð?ð?ð?ð?ð?ð?@9ï?€î?ë?€5ë?ð?€†ï?€~ß?JË?½Á?(ª?P–?€?ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=î?Àîì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûå?¦?Àoç?€{é?Ààê?€ì?€cë?€ë?Óë?€«ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìî?€³?€l×?€Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtì?´æ?€%Ó?Xè?­Ú? ²?óÄ?@2ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?@¼ê?ÀBî?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?Àëí?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€ æ?@Ãè?ð?€ï?ð?Àßï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?Xï?@2î?ð?ð?ð?ð?ð?ð?ð?@ãï?€)í?ð?Àï?Àgì?@ªè?VÓ?¨ž?@šä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?’ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹Ü?€Þ?@¹ï?ð?ð?@×ï?Àþï?Üï?@.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?@Jì?AÊ?@¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøé?çá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?Àí?€œì?@jæ?p©?°?gí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ì?€Ìï?ð?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?ð?ð?ð?ð?ð?ð?ð?Àåï?Àáï?€µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Eí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%ï?ÿè?ÀÍï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?@íí?Àøî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾î?Nî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýî?@Úî?ð?@^ï?@èí?€rì?€vï?Àïï?ð?@ðï?ÀÐî?Àï?€Þï?@£ç?Â?W?À¥ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚí?@éï?ð?À¥é?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\Ô?QÉ?€­Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?@éå??Àöæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä?ÈÀ?P?ð”?;Ý?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?Éï?€¨ì?€‚ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?iï?ð?ð?ð?ð?@Bï?ÀKï?@_î?ð?ÀÔï?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äì?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ë?ÀLë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍí?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?@(ï?ð?¼ï?@ýï?ð?ÀDï?À1ê?@„ê?À ï?€î?jØ?,´?T¸?ÓÐ?ðá?À‘ç?©?  ?À+ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?€ëï?ð?@Œë?@Cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ÀÅï?ð?ð?ð?ð?ð?ç?ÏÔ?€×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?òÑ?þ¾?êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?€ïã?–µ?~À?€?€d?D?@`?€U?€©á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ÀÔï?€Ûï?ð?åï?ð?Àõï?€©í?À ï?ð?ð?ð?ÀÊï?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€!í?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?>ï?Sæ?À«ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?kï?€‹î?@;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?@|î?qï?ð?ð?ð?€tí?ëâ?€ÖÝ?”¼?Ç?°Ž?x?»ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿì?@©ê?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?Àãï?ð?ð?ð?ð?ð?@wï?™Â?€ªÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„ç?àƒ?€1×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?Àfî?€Ôç?@ßè?€—Ö?`}?À4á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?Àoï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?€Aî?€ˆí?âî?î?À>ï?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Aî?@Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?Àá?€Áí?À½î?€yï?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?ð?ð?ð?ð?€Âí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cï?ð?íï?ð?ð?€Iî?€á?†²?`z?€S?Aâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ÀØï?@Ýï?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(ï?€î?Àÿë?ð?ð?ð?ð?ßë?€Ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žã? q?€§Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ò×?€à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íî?öÕ?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþí?€Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jè?€P?—?@’ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?Àìî?ð?ð?€dï?ð?ð?ð?ð?ð?ð?ð?@ˆï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨ë?§í?ð?Àï?~Ü?°•?Ï?€a?€ŸÕ?lµ?8¬?€ùé?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À-î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ÀÛï?ð?ð?ð?ð?ð?ð?ð?õï?@­í?½î?ð?Àæï?êï?[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüî?@ƒì?@ºï?ÀÉï?ð?ð?ð?ð?ð?ð?ð?@çï?€óï?@øï?€.ï?À1ï?€Aï?@Ìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ý?y?ÀÄå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òÝ?€õÒ?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’ì?_À?È’?RÍ?°„?ÐÎ?`u?À›â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?Íî?ð?Àìï?àï?ð?ð?ð?ð?À>ï?@-ì?2í?Pì?€ê?À›ì?€Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ï?€èî?ð?ð?@ƒë?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?À´î?nî?ÀÊí?¨í?›í?@î?ì?Àöí?^î?ÀOí?¥î?@0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?nî?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼â?\¦?p?jÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðí?ð?ð?ð?ÀÛê?ؾ? Š?@¨è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@Oï?òï?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?€;ï?“ï?€›ï?ð?ð?ð?ð?€þî?€dÔ?ày?L©?À¡à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eî?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?€žï?ð?ð?ð?òï?ë?@Öè?À#ì?À^ì?@yë?€ë?À~ê?Àæ?ÀHé?€ î?ð?Àôï?@§í?À)ì?@Øê?À5ê?@åã?€Pè?Àé?@àî?€—ì?îï?ð?ð?ð?ð?ð?ð?À~ï?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?!ï?@)ï?ñì?Àuì?æë?Åï?ð?€ìï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nä?¤?`p?øœ?ÀÊç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºï?@¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œë?ð?ð?ð?@Œè? ?€èÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€;î?ÀFï?wî?€(î?@}ï?€óï?ð?ð?ð?ð?ð?ð?ÀËï?Àõï?ð?€Òï?ð?ð?ð?Àïï?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?Àûï?ð?À#ï?¼î?€Ïï?@’î?Àì?€ê?àÆ?€Fß?D¦?~?2?€1Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ð?ð?€Ùï?€¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëî?úØ?@Ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ié?Àiì?@üï?ð?À­ï?@Eï?‡í?@Ùï?¬ï?€Uì?@þê?Àøä?½å?€&ê?mç?À}ç?€ç?@šê?€üï?À³ï?@ˆì?ñï?ð?ð?ð?ð?€qï?„î?0í?Qî?Àbï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?Ààï?ð?ð?ð?@“ï?zê?€!ì?@¸í?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€'×?Àrä?@`?žÈ?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?@ÿë?@ÿã?€kå?@kí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?eá?´?=í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xï?«ï?1ï?ð?ð?ÀØï?ÀØï?ð?ð?ð?ð?ð?ð?ÀÙî?@Àï?ð?€}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?ÀÅã?|×?yÅ?p€?h˜?€ðÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?@vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?@,î?À·â?Àðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ë?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?°ë?]ë?ªï?˜ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áí?À–î?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿé?€6ì?ð?ð?ð?ð?ð?ð? î?@çì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À-à?úÖ?P‡?Àhè?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþì?@öë?@gë?@›ã?@Ôî?€!ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?9Ó?UÁ?@×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸ï?ð?ð?ð?ð?@²ï?ð?€Ÿï?€Eï?ð?ð?ð?€ßï?€ëî?ìï?ð?ð?Àï?ÀÌï?ð?€ßï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?@Óï?ð?ð?ð?ð?ð?ð?À¢ì?ÀGì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wë?¸Å?Ó?À½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0ï?@`î?¯ë?ð?ð?ð?ð?ð?™ï?ð?ð?ÀÌï?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?;í?€Lï?ð?ð?ð?ð?ð?ð?ð?€µï?Àâï?ð?ð?ð?À¨ì?xê?ð?ð?ð?ð?ð?ð?ð?@·ï?€"í?ƒî?ð?ð?ð?ÀLï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À…à?.²?À¸?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûì?Gì?€ÿï?ð?Àƒî?³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?Üæ?à»?±Å?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?Àþï?ð?ð?ð?ð?@þï?ÀÅï?€Ïî?ð?@úî?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?@ì?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sî?˜È?À·ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?*ë?@‚ì?ð?òï?ï?@Ìï?ð?€ÿï?ð?Tï?€î?ð?ð?À÷ï?€ªï?€Èî?ð?ð?ð?ð?ð?ð?Àâï?Àeí?•í?[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øî?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Àïí?À®ï?ð?ð?@î?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÔÚ?áà?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ì?€¿í?ð?ð?¸î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øê?@;é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äí?€SÛ?`‘?<¤?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýí?@éï?ð?ð?ð?ð?ÞÝ?‰?@ÿë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?Ïï?À¦ç?@ßî?ð?@çï?@,ï??ï?À×î?ÀÞï?@Éï?î?ÀÚï?ð?€ýï?€Iì?À³é?ð?ð?ð?ð?ð?ð?}ï?€Ñì?~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?€‚Ñ?Ћ?€Pà?@{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùî?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?€Ôà? z?O?€×Ñ?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?ì?Œ²? ƒ?ÀDî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?@õï?ð?ð?ð?ð?ð?@mï?Gé?€î?ð?íï?À›î?€Mî?€pî?@þï?€³î?À@ï?€ï?üï?ð?«ï?€rì?À­í?ð?ð?ð?ð?ð?€°î?@—ì?€,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôí?j²?€Q?ãÙ?€Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžë?Ðì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?ð?ð?ð?ð?@Ýï?€¨Ò?8?€vÝ?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ï?€öï?ð?ð?ð?ð?ð?€Úï?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?€pÕ?|µ?@Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?ð?ð?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñî?@™ï?ð?ð?ð?ð?ð?€­ï?@ é?ð?ð?éï?ð?ð?ð?ð?€Ýï?Uï?ÀÀî?€pï?ÀÞï?ð?€~ï?ð?ð?ð?ð?ð?ÀÓî?ÀÚë?Œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åé?€ß?}?€b?oÚ?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?€˜í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ï?ð?ð?ð?ð?Àvî?©?J? v?0?Àæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?Àvï?À{ï?ð?ð?ð?ð?ð?@Ñï?À{ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?qÊ?€ØÙ?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀEï?@9ï?ð?ð?ð?ð?ð?€Êï?@»é?ð?ð?Tï?Îï?ð?ð?ð?@§ï?@ïï?ð?ÀRï?çï?ð?ð?ð?ð?ð?ð?€ªï?€ýë?@,ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?@5ë?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@=ì?JÒ?Àf?€Ù?*î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?€Ôè?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dï?¼ï?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?€6ï?*Ù?fÉ?@†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?¼ï?ð?ð?ð?ð?ð?ð?ð?Zï?ÀÑï?€õî?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?Ãï?€UÙ?@x?@Hé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?@ïï?@Òï?ð?ð?ð?ð?ð?Àïï?Àõé?@ÿï?@ðï?@Áï?@äï?ð?ð?@²ï?€Øí?@nï?ÀAì?ð?ð?ð?ð?ð?ð?ð?ð?@í?€ ï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýî?€lâ?L²?€ÿ×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õî?8ï?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?À¯ï?2ï?Àµï?ð?ð?ð?ð?ð?ð?@©î?€œ×?Þ¶?@tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@°ï?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2á?–Î?À.ï?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?@Éï?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?æï?À[ì?@Äï?ð?ð?ð?€cï?ð?€î?ì?€ùï?À\ï?Àáï?@Ìï?ð?ð?ð?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?Àäì?@Eí?À ï?À{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ì?[Ó?Y?~²?@iê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?ð?ð?Àxï?Eï?`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?€]ï?ð?ð?ð?ð?{ï?Ôé?Ô?g?€_?S?ðˆ?]è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üí?€€Ñ?Ü¿?€Íí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?@{î?€Eí?€³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?À3ï?Àæï?ð?ð?ð?€™ï?ð?À|ì?Àî?@ï?@ï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Œî?Àÿí?@Žï?-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?ÀÃã?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€*ê?yÁ?ÆÍ?€“î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ÀÃï?€Òï?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?€¯ï?ð?ð?ð?©ï?€™Ü?c?@j??b´?€›é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?@Ìï?ð?€Gï?€Œà?@d?Ô£? v?âÀ?@Oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?ð?ð?ð?ð?ð?ð?€ï?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?Àùï?À¼ï?ð?ð?ð?€üï?À.ï?ÀJê?¥ï?@›î?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Aï?€Ñì?€üï?Cï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jî?€8è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?òé?Rº?A?@zä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€'î?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦ï?€uà?@z?ˆÐ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?€óï?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?€èï?€ÆÖ?0Œ?¼±?=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïí?€‹ï?Àùï?Àäï?ð?ð?ð?Ñì?@Žé?À"ï?@ðî?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀCï?€Ýì?Àhï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?Âç?ZÈ?€Ò?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?í?@pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€ƒá?‡?X ?€hí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘ï?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€}ê?H?®µ??@u?Ó?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À â?€Vç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼í?@òï?ð?ð?ð?ð?˜ï?@åè?€Nï?ð?€ýï?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?Àjï?ÀÖï?€zî?€¨í?Oï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Àdî?æï?ð?ð?ð?€í?€oÖ?Àåè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Lí?€Ñé?@mê?@±ï?ð?ÀÂï?Èï?ÀÙí?ð?ð?ð?ð?€oç?ð‰?€Q?@cå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?€ˆî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?@éï?Uï?Àöï?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡é?@Câ?è–?8ž?@Ýí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?eí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xï?€¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?À6ì?€©ï?ð?ð?ð?ð?'ï?@]ë?ð?€Xï?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ºí?¡ë?@Qí?@ùí?€õî?@úï?»ï?€×ì?€Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?½Þ?à…?P³?€¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~î?@Øë?ð?@àï?@Þï?ð?@•ï?ð?ð?ð?ð?ð?Ù?`~?@²í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?€ë?î?@àç? z?/Ê?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?7ï?€`î?ð?€Üï?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëí?ì?@Âï?@´ï?ð?ð?€?ï?¬í?@`ê?@üï?€Ëï?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?Àë?ðë?ð?@Iï?Ìï?ð?Àæï?ð?€î?÷í?@Gî?Ëî?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€=í?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àeì?€Ø?Q?@kè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï? î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?€ ê?¸‘?X ?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?@›ì?€/ï?€gã?€LÓ?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oè?.ë?ð?ð?ð?ð?ð?ð?ð?Àýï?÷ï?lï?€Gí?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIï?€ï?Öï?ð?ð?ð?€^ï?Àí?À î?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙî?ì?•î?ð?ð?€ìï?ð?ð?ð?ð?ð?ð?€ìï?€¾í?@úí?@ßï?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?’î?À€ï?ð?ð?ð?ð?ð?ð?@õï?€ôï?ð?Àcî?€šß?¨·?€_à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aê?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?×Ú?À|?€dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?ð?ð?ð?ð?î?Yâ?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€­í?@Hì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÅØ?|¸?€{î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?ÍÊ?À-â?ð?ð?ð?ð?ð?ð?€Øî?À%ï?€àï?Àýî?ÂÒ?‘é?ð?ð?ð?ð?ð?ð?ð?ëï?4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?@Îï?€Íï?ð?ð?€ï?@]é?€4ï?€çî?ÀEï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nì?ð?Àæï?ñï?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?ôï?ð?ð?ð?ð?ˆï?€Žï?+î?@2í?€Àì?@î?@$ï?ÀDï?ð?ð?€§ï?À½ï?€1é?,ê?¿Ø?QÃ?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ï?@#ï?ûï?ÀÐï?ÀIï?@ïï?ð?ð?ð?ð?ð?ð?@Ùé?ì°??Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?@Äï?ð?ð?ð?Àšï?@hï?À¸ï?À¶ï?ð?ð?ð?ð?€ûí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žï?@Êí?ð?ð?ð?€“ï?€ï?ð?ð?ð?ð?ð?ð?ð?Àêî?~º?€Râ?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9í?äÜ?Àë?ð?ð?ð?ð?ð?ð?ð?ûï?€¹ï?€è?,Î?À׿?ð?ð?ð?ð?ð?ð?ð?@ºï?æî?ð?ð?ð?À¶ï?ð?ð?ð?ð?ð?ð?€ôí?î?ð?ð?ÀÌî?€Îï?À®ï?¥ï?€àî?À‹ï?@¤ï?@í?@Íì?@÷í?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ î?@çí?ÀŸï?ð?Àõï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?ð?ð?ð?ð?ð?ð?Ïï?*ï?€–ï?€çï?êï?€uï?Ïï?€„ï?üí?@˜î?€ðî?@®î?@î?nï?@~î?Bî?@™ê?ÀÍè?ð?ð?ð?ð?@™ë?Àì?rÀ?@?€vê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ï?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?€ î?@Çï?ð?€ýï?ð?ð?Àþï?@ûï?€ÿï?ð?ð?ð?ð?ð?€¸ï?vÐ?@d?€”é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?€ßï?ð?ð?ð?€Íï?€Íï?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?€Âï?ð?ð?ð?ð?ð?ð?ð?@úë?`˜?Q?Q?œ¯?,ç?ð?ð?ð?ð?ð?ð?ð?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?@uï?Æî?À\ì?@aê?ì?öï?ð?ð?ð?ð?ð?ð?ð?¿ï?@?ï?ð?ð?ð?@Ôï?Âï?ð?ð?ð?ð?ð?@›ï?€Çì?@pï?€Ïï?–ï?@#î?âï?ð?Îí?£ï?üï?€ÿê?À%ï?€ýï?@­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝì? î?€ëï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ð?ð?Àæï?ð?ð?´ï?@þï?¾ï?íï?æï?ãï?€×ï?@©ï?@Íï?€àï?@=î?ÿï?ð?ð?ð?ð?ð?Àþè?ÀŸå?€Úï?ð?€ î?À’ì?ð?À7ä?î?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?@Üï?€§ì?€Çè?@ñí?ð?ð?ð?€Üï?@ï?Àåç?ÀÞí?€Òï?ð?ð?@ùï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mï?EÎ?aÛ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?úï?ð?ð?€õï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Rï?ÒÁ?@¬á?ð?ð?÷ï?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?Àæï?@_ï?@qì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oï?@»ï?ð?ð?@¡é?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘í?Àòá?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?´ï?¸ï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ûï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?À{ï?aÚ?î¹?(¢?€Ò?ÀFä?|í?ø¼?Àrà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?€èã?Àóè?À}à?›æ?À,é?^ì?Àòí?€ï?@×î?À„é?ÀZë?î?ð?ð?ð?ð?ÀTï?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@:ä?€]?WÈ?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§é?e?€Så?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«í?@èã?ËÛ?~Ý?vå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcë?€>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡ä?{í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?Ýï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@é? p?KÌ?€uî?À)à?(·?@6í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?è?/ß?@—í?ð?ð?ð?@_í?€Dë?@ì?ÀÜî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-í?ƽ?h?€Þé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾å? ?€®å?ð?ð?ð?@î?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?hï?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?þí?õÌ?€P?@e?€_Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?@óï?ð?jï?@ï?ê?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?æ?Øä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤ï?@Èï?ð?Àæï?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?ð?ð?€åÔ?€n?fÖ?@Éê?$®?@Õà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?IÙ?€×Õ?¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ï?Yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?Àî?gé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ç?ü£?€Sâ?ð?ð?ð?üï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?âï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Tê?Ä?À\á?[ç?Àxé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€ýï?ð?@ï?€|í?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€ðç?ä?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@Üï?@cï?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ÀÆí?¥ï?Àë?QÈ?@h?@x?€ÁÓ?ÀÍé?€5Ñ?ް?Àöë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vï?À‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øå?pˆ?‚?ßè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Hª?€F×?ð?ð?úï?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8ï?Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?@Jï?@òë?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘í?€Ú?Jå?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ð?ð?€™î?@®ä?€P?€m?ض?Àóî?€Gä?à|?€¨Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?}î?ð?ð?@íî?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€(ì?,¹?€Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀOè?àv?ÝØ?ð?ð?ð?ð?ð?ð?€ôï?€÷î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?@‹ï?€Pè?@úí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rê?@Šà?@Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fë?Ð?d?»Ì?€}é?€3ì?œ¼?p†?@Êæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?$ï?ð?ð?ÿï?ð?ð?ð?ð?ð?ð?Àæï?@Åï?ð?ð?ð?@vî?ÏÊ?4±?@¶ì?@ãï?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬ï?'ß?ÖÌ?öï?ð?ð?ð?ð?ð?€ÿï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?@qí?@ï?ÀÛí?ÀOì?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üî?wß?@pì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èî?€wä?€!Ö?üÎ?×ë?RÇ???Ç?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pï?ð?ð?À±é?Ð?áÙ?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀSï?@2í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?ð?ð?ð?ð?ð?ð?ð?@¨ï?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?Àßê?VË?µ?ÀHî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Kæ?À€ï?€zé?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜá?$? s?0…?ß?ÑÇ?€šÕ?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?íç? ´?À¤?ÿé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?¶ï?Àmï?¹í?€/ì?@Ÿè?@…æ?@ä?@,æ?'è?ðê?læ?€ Ñ?|­?€ÆØ?ê?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQï?ð?ð?ð?ð?ð?ð?ð?€ãï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€Óï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€Xé?”¤?š?€^?B?À ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?+ì?€Vî?@pê?€¡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢î?@Fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€8í?kÓ?Î?Àdæ?¿Ð? s?À²æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€×ï?ð?ð?@óï?ÀÜï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?áÝ?¼¢?€Ô×?Àãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?À>ì?€ à?Ñ?LÅ?„¯?’?MØ?@²ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯ï?€ûÖ?@½ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?@èé?À[ë?@Çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*í?tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?Àï?@ðá?B¶? ?¾?üä?cÆ?qÓ?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?€ðï?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙã?Ž?ZÀ?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öí?ÀFá?”°?¼»?@~æ?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?Jï?Àçï?Àbî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[î?…ê?0·?@†à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@·ï?ð?@¹ï?Ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?)é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãí?¨í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?Ýï?€ãî?À¬ì?ÝÄ?Pß?€ÓÛ?€~×?¤?d½? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ç?\¨?H©? ¬?€é?ð?€Ôî?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯ï?€–ê?€Ý?®·?4?°?À_â?À‘è?€•Õ? Î?€&Ý?ÀOî?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ð?@Àï?Àóï?ð?ð?ð?ð?ð?€Ûï?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?Àñï?@vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?@óë?æÂ?6Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?Àßï?€%í?@%ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?%î?ûì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?Àýî?Öî?À8î?†Ù?@ºâ?KÃ?:?X“?@Êì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eë?¼?¤ª?À¶í?@ºï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§î?@Tæ?]Ü?FÌ?‰?ØÂ?€Ñæ?€gí?2å?€&ß?ºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?[ï?Äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?€lí?ð?ð?ð?ð?ð?ð?ð?À±ï?ÀÃä?â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ì?ÀÈé?À1ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?€+î?Üë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜í?Àçï?ð?ð?Àï?@øí?@Ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?@»ì?Àwî?Àwï?€Mä?›Á?€nè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À í?9Æ?þ¾?:î?ÀEï?uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€jë?€×á?KÚ?Àå?€¾é?@žê?€Jé?ÀØæ?@+ä?€ÏÙ?IÁ?€c?h’?ð°?è¥?´À?€Ñ?À¥ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ê?€èã?€ùâ?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï?ð?ð?ð?€Ãî?žÙ?°?—×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒî?ÀÛì?,è?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?€°ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xï?€qî?ð?ð?çî?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñä?@ é?ð?@äí?LÅ?T?¤¬?ÀŠí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?7Â?€×?@—ï?@Bî?ÀJî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èî?³Ý?pœ?A?`v? w?`p??`?à{?¥Ã?€ìë?€Rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-á?À—å?@»ï?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wí?Àðï?ð?€ï?ð?ð?ð?ð?@ì?À³ã?\±?Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*ï?@õæ?À{í?@ðï?ð?ð?ð?ð?ð?ð?ð?@øï?ð?ð?ð?ð?½î?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åï?@Bí?@§ë?€ ï?€Qï?<î?@ˆï?ð?ð?€çï?ð?ð?ð?ð?ð?ð?ð?€Íî?mâ?¡×?@í?€ã?F?À½?øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?#í?‰Æ?@?ÒÛ?@ï?@õï?@¦ï?ð?ð?ð?ð?ð?ð?ð?€½ï?€âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?.î?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?€¨è?YÒ?4?ˆ?¸À?–À?ƒÁ?bí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”î?@õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.ï?€÷ï?·á?^¾?€^ä?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?À_è?@çî?€­ï?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?@uí?åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ï?À^ç?Àæ?€\å?À¤ë?€uî?@ î?À}ï?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?Àî?€oï?@râ?0?ˆœ?@hì?ÝÈ?±? „?€Dâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?Äé? Á?x¶?¯ä?ð?@Àî?ð?ð?ð?ð?ð?ð?ð?ð?€êï?»ï?ð?ð?ð?Àûí?ð?ð?ð?ð?ð?mî?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlï?@æ?,Æ?àŠ?°Œ?p¼?¬è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?gÜ?À«í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?@÷ã?!î?ð?ð?À/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?Àýï?Áí?úç?±à?‚´?À€?@ïä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@&é?tî?ÀÓï?…ï?@Mí?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥î?Àãë?ð?ð?ð?ð?ð?ð?Àÿï?@Úï?À<ì?@<ì?€ôç?/Ø?ýÅ?€sã?@£î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,ï?€ Ý?¨¦?ŸÐ?Àì??€Îæ?€>ê?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?€‹ß?ð¡?p§?€9ê?À¡ï?„ï?ð?ÀÉï?ð?ð?ð?ð?ð?ð?€ðï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?À­ì?%Ó?@i?Àå?¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áá?ÀÂæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Mî?@Öí?ð?ð?€ªì?€‰ï?ð?ð?ð?ð?ð?ð?ð?@êï?À~ï?@sï?€Vè?ºÜ?·Ç?h½?ÀZî?@<ï?ð?ð?ð?ð?ð?ð?ÀÎï?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-ê?€øî?€Åï?@õï?@»ï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?_ï?Àþè?€ùï?ð?ð?ð?ð?ð?Àûï?@tæ?€[æ?@Ýè?=Ó?€iä?@Øë?€Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?Cæ?½Ì?¾Ü?0“?Àùà?Œß?€Cã?@âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?€Ôá?Xž?€u?#æ?€ðï?@ªï?âï?€ï?ð?ð?ð?ð?ð?@áï?ÀRí?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õæ?çÕ?XË?~°? y?€‡Ü?ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óä?Ì?9ß?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?€Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?Àuë?~Ô?€…Ñ?@vî?À+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀGï?²ê?7í?Àï?ÀÎï?À‹î?~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?žä?šï?jï?€Lï?Êî?ð?Àzî?@-í?À¤í?@„ï?ð?·ì?óç?ÀÝí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï? å?ÐÇ?€µÜ?ÀJí?€Rè?<ß?hÉ? ³?€[ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆï?€ïï?€5í?[Ö? …?@wä?@;ï?€Àî?ð?ð?ð?ð?ð?ð?ð?ùï?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµå?à“?£?À¸ã?Rì?ôì?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àè?<²?Àd?µÃ?€ñí?ð?ð?ð?ð?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3ï?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhî?õÓ?À|?ºÃ?€=ì?À)ï?ð?ð?ð?€€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€¹ï?ð?ð?ÀÎï?@Ðï?ð?ð?ð?ð?ð?@¸î?@ï?ð?ð?ð?ð?ð?ð?ð?€zë?õç?@:ï?@Ñï?@ƒï?@»î?Àáï?@¹ï?@öï?ð?ð?ð?ð?Tç?}ç?eé?í?‚í?@Eî?€î?€.í?@÷ë?Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?Þç?J°?€ÅÚ?9ì?€ûï?@dâ?uÔ? ‡?¼×?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?5ç?ãÂ?Q?Àxã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ìÍ?¨?8™?MÇ?ÀQî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?YÏ?–È?|î?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pî?€/ï?ð?ð?@ôî?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À£ê?¾Æ?,´?@bí?@lï?@Ôï?ð?ð?À‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œï?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕì?@ìæ?€ë?Àýë?Àë?€¾í?ÀÛï?‘ï?ì?@Ôï?ð?ð?@.ã?Ààì?€çë?Àï?ð?ð?ð?ð?€•ï?Àšî?î?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?€´æ?ÖË?ð?Øï?Àë?«Ô?rÂ?ô§?©è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hï?Îß?¤¥?Ç?@—î?@Šï?^ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãê?Г?qÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†í?¡?ž?€éë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?À8î?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôì?@,ï?@>î?@þá? r?ü®?€Cí?ð?ÀÎï?ð?ð?éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôí?€úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?ð?ð?ð?ð?€çï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åí?@Šé?ð?oï?ÀEì?@Lï?@Èï?Àßï?ð?ð?@€ï?\Ü?€æê?€_ï?ð?ð?ð?ð?ð?ð?ð?~ï?€çí?@-î?À£î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?£Á?ð?À“ï?¶Ø?øÂ?€èÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?íé?®Ë?:?n¿?€v?uÜ?Àùï?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dï?OÓ?˜×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?UÇ?p?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿç?ð?ð?ð?ð?ð?ð?ð?ð?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€žï?ð?ð?ÀWï?ð?ð?ð?ð?ð?ð?€ªï?‰ï?@Èâ?€ Þ?8›?^?ä ?€íÑ?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ð?ð?ð?ð?ð?ð?Àçï?Àçï?ð?€øï?ð?ð?ð?ð?ð?ð?ð?€þï?@Þë?€uë?Jï?€´î?ÀZî?ð?ð?ð?ð?€­Ö?²í?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??Ú?@6ï?À é?ž´?ì¥?€€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýí?ê?ì?ð?€ïï?€bæ?SÒ?0‰?€>Ý?å?À„â?€ªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ß×?T·?:É?€:ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{î?@Jç?À¥á?€?@¹á?€Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@<ê?ð?ð?ð?ð?ð?€{î?ð?ð?ð?@”î?ð?ð?ÀÍï?@æî?ð?ð?ð?ð?ð?ð?ð?À¡ë?QÏ?¸¦?œ£?V¹?±Î?o×?Àçï?ð?ð?ð?ð?ð?ð?ð?€Üî?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?€’í?ð?ð?ð?ð?ð?ð?ð?€ïï?€Ïï?_é?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áî?€Qê?@Të?€ê?€î?ð?ð?ð?€ÈÐ?ð?Àíî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?€Õé?HÂ?@`ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?Oä?°´?ÐŽ?(¦?Ê?¸Ê?‰?À‚á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?Àþï?ð?€ïï?@°ï?€êí?nì?áç?µã?€ðä?˜í?€—î?€^è?Àþï?À÷ï?ð?³ï?À±ï?À÷í?Àáï?ßï?@Øï?œç? ¥?ú½?€¯ë?ð?ð?ð?ð?ð?ð?ð?@ýï?ˆì?×?—?€8Ü?@øï?ð?ð?ð?ð?ð?õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?€ëï?ð?ð?ð?}ï?ð?ð?ï?@òï?åï?ÀÜî?€†ï?ÀŸç?°½?¸°?ô¬?€˜Ñ?€)î?ð?ð?ð?@ ï?ÀÜî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?ð?ð?€Ïï?Àçï?ð?ð?@ýï?ð?ð?ð?ð?ð?@^ï?}ï?ð?ð?ð?ð?Àþï?@ýï?Àþï?ÀÇï?ð?úî?Àþï?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?€Œï?€Yê?!é?€0ì?@òï?À3ï?Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?À©é?h«?ļ?@àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆî?@Cì?€Êî?€—ï?ð?ÀËï?€ë?€ðç?@í?Dï?ð?ð?ð?ð?ð?@è?·ä?@ˆë?@vï?æÔ?¡á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ñæ?zÙ?¥Ú?@»à?…Û?¾?0¡?ð?ì¶?Ѓ?bé?€ýØ?€ú×?„¿?Ž¿?ð†?€Üà?y×?ØÌ?0?ÛÇ?@ï?ð?ð?ð?ð?ð?@Áï?€Šæ?8«? ¯?€*í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äê?@»è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±æ?î?ð?ð?ð?ð?ð?ð?Àê?À¡ê?@‰ï?ð?€Gî?’ç?è–? z?À"æ?€õï?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?@Òï?éï?Àçï?·ï?€†ï?éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ï?@Ûì?€\í?Àtê?@Mé?@æ?€¤æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@é?€àÛ?ŒÓ?€}ã?W×?€Uå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?/â?Ï?Ä?L¡?£Ã?ûÓ?Ü?cÞ?À„?8¨?¼Á?€Ñ?˜â?€wí?ð?@>ë?¨¥?è£?Ä?€À?€ÿÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?@lî?€†Ú?À”?Àk?è?À§?З?€c?À6ì?ð?ð?ð?ð?ð?Àä?P?öÕ?ð?ð?Àîî?dï?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?ð?ð?ð?ð?ð?ð?ð?€Ïï?Àî?€¿ê?€)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒï?ð?ð?ð?ð?ð?ð?ð?@ë?Àíí?ð?@Ôï?ÀCî?…Ï?€c?€¼Ó?@äï?@òï?*ì?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?Äî?”î?@·ï?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀRï?ÀËí?€ìï?@‰í?ë?…Ë?@Ãë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùÚ?N¿?VÀ?dÏ?7Ô?ð?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µï?€!Û?’»?z²? Æ?ïÅ?#Ð?Þì?€Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2î?@nï?`ï?ð?ð?ð?ð?ð?ð?ð?ð?àä?C?€l?C?–â?ð?ð?ð?ð?€ï?ˆÂ?€â?ð?ð?À8â?@óâ?ð?ð?ð?ð?ð?ð?ð?ð?€…î?ð?ð?ð?Úí?&í?À¶ï?ð?ð?ð?ð?›ï?À=ï?ð?Àžï?À“î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·î?ð?ð?@éí?€ÔÜ?@z?C?_Ú?ð?ð?ÀŽë?@½ï?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rî?@Ÿï?]ï?¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?À-î?À{î?€ƒæ?à¶?È«?€&è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDî?Àòí?ŒÅ?«?eÊ?3×?À{ä?@„ê?À†ï?ð?ð?ð?ð?ð?ð?€Fî?„ê?€™Þ?@åä?@Xë?€úÞ?À`ã?€^ß?t?LÊ?Ã?Àéã?@uî?ð?ð?ð?ð?ð?@ï?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¢ï?ð?Çì?”Ó?0‚?Àj?SÖ?ð?ð?ð?ð?«Ò?[?Àå?ð?@¢ï?€îÒ?ν?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôî?ˆï?@¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?ð?ð?ð?ð?ð?ð?ð?€òï?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’ì?€Zê?‰?@¨?¾µ?T¹?Àžá?Àçï?ð?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Àkï?@gï?€òï?Âï?@~ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–Ú?̶?€°î?Rï?ÀÙî?@¤î?Àlï?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒì?Àáá?X?œÆ?ð?ð?ð?ð?ð?Àbï?€ýÕ?Ô¶?à»?@›?`p?bÓ? ï?ð?ð?ð?ð?@hè?ð?ð?@êï?Àžï?ð?ð?ð?ð?ð?ð?ð?6ï?€Ý?šÀ?³×?4Å?£Ô?=Ï?@Éí?ð?Gï?Ü?P°?ä¢?€¾ã?ð?ré?Àæ?ð?ð?ð?ð?ð?ð?Óï?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ÀÃí?ð?ð?ð?ð?€ï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï? ï?@Èî?uâ?¿Î?ÀÒè?éÇ?ÀXç?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?@öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?€ˆï?õï?õï?ÀÅì?ð?ð?@·ï?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?ä?€f?˜Ë?žÂ?^¾?6¹?VÃ?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?€éï?@Îâ?T§?&¹?€8á?@Yï?Àøï?Àøï?@äê?èÇ?€¹Ò?ÀVï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jî?Àä?@‚??€‘Ò?€9ë?ð?Àöå?Ð’?@ˆ?À'á?ð?‚æ?î°?@Çë?@êï?@/ï?ð?ð?ð?ÀËï?€üí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?ð?ð?õî?Æï?Àyï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ÀÛï?ð?ð?‚ï?@çí?ð?Iã?€yÓ?Àá?`y?Òé?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNï?€×ï?ð?€ñï?"ë?¬î?@%ï?€Ïï?ð?·ï?Àï?€ñï?@êï?ð?ð?ð?ð?ð?ð?ð?Àâï?€qá?—?R°?@Jç?@Mî?¬î?‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@å?@+à?t?ƒÐ?€èÕ?£â?P•?Àhá?@Ðì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?@ví?º½?_Ü?€‰î?Cã? Ì?ÀÊæ?ð?ß?oß?„ï?À|ï?ð?ð?ð?À®ï?žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Gï?×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?Àªï?ð?ð?î?À²î?€åí?]Í?€—á?ÉÍ?J½?€œ?ŸÉ?Ýí?ð?ð?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Àïï?„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]ï?ïï?@­ï?ð?Þï?ïï?@ßï?ð?ð?ð?ð?À•ï?ÀÅï?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?vé?Ú?ö·?¶?€™Õ?Áë?ð?@Íí?@©á?*Û?@ â?Eç?À,ï?À!ì?@ßï?ÀÁê?3Þ?|¹?à…?à¨?ëÖ?€éè?Îî?@æï?@Hî?@Ýï?€Õì?€í?÷ï?@ïï?€Më?õæ?Ó?8’?à{?Ò?ðÎ?áÐ?̧?€pØ?Àä?7ß?Àí?€åï?"À?Àtá?ð?ð?ð?ð? ï?€ï?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€“ê?Øê?ð?ð?@åï?€Çï?Àóï?ð?ð?ð?Ÿï?ð?Kë?\¢?ž?@ç?|ß?˜Ç?€NÐ?à? ?Ãá?èï?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ð?ð?ÀÓî?Àýï?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?€†ï?ÀNï?€†ï?ð?ð?ð?@ùï?Eï?ð?@·ï?€Ïï?ð?øï?ð?ð?ð?ð?Àýï?ÿï?ð?ð?ð?€Ïï?ð?ð?ð?½ì?€JÖ?€g?P?Ê?€6Õ?¯À?$®?äË?€nÛ?ŠÛ?ø¬?ˆ«?É?ìÎ?ŽÃ?!Ê?bÁ?€Ý?ÅÜ?€žÝ?P¾?? w?Ø®?Ð?€y?ê?Àëï?@Õì?Àîè?Àãê?@…á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?€\í?€Fï?ð?ð?@[ç?@Fç?À‰ì?ð?ð?ð?ð?Àî?€(á?õÁ?€T?gß?ð?ð?À‹ì?ì?öÄ?€y?¨•?³æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oï?ð?ð?ð?ð?€‘í?@Zí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?Ÿï?áî?@ î?ð?ð?@dï?¿ï?ð?ð?ð?ð?ð?¡ï?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Ànå?$¯?@l?°ˆ?¯Ô?@På?€ß?˜µ?\?¶?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?³ï?@¦í?À_í?ð?ð?ð?ð?€Ùï?@Øå?Ã?\?,©?dé?ð?ÀRï?ð?ð?ÀØæ?†À?°¹?òä?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ï?ð?ð?Ÿï?ð?Àìï?¥ï?ð?€¹ï?øî?Àçï?€Ùï?òï?@¯ï?³ï?Àìï?ð?ð?ð?€‡ï?@tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæç?˜?Ø—? ~?Æ?€Fí?ð?ÀIï?ÀÜê?ŽÙ?2ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨ï?»ï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?ð?ð?ð?ð?@fï?@nï?ð?ð?ð?Àçï?€Øî?»ï?ð?ð?ð?ð?ð?€„ï?­È?äÎ?@xí?À¡ä?@Äî?@î?@¢ï?@©è?6Ý?@?™Ð?ÀÌî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?Aï?À†ï?ð?ð?@·ï?ªï?ÀŒï?ð?ð?öï?ð?öï?ð?ð?ìï?€¿î?ð?õî?ð?€Îï?€Éï?@¼î?øï?ð?ð?€×ï?ð?ð?ð?ð?ð?ûï?vÞ? s?@z?qÍ?ÀMë?ð?Àè?ÀLã?É?€¶Ó?€’ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?€Pë?ð?ð?ÀÒî?ð?€×ï?¨î?ð?ð?ð?ð?óï?ûé?€Ö?€'í?ð?ð?ð?ð?€.î?ÞÃ?@¤?@ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?€Úë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µï?€„ï?ÀŒï?@¿ï?@·ï?@·ï?ð?Œï?À~ï?ð?ð?ð?ð?@ ï?@·ï?ð?@nï?@·ï?$î?´î?À.ï?Àçï?€~ï?Œî?À‹ï?Àï?ð?ð?ð?Àøá? ­?žÈ?@Šà?¦é?@]è?lµ?@@â?Àsá?€¤Ü?°Ž?P–?Á?€íä?€·Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àzï?€€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óï?€zì?ð?€Nï?€ï?ð?ð?ð?ð?ð?ð?ð?Àµë?€&×?¡?@¸é?ð?ð?ð?ð?ð?€¬Þ?hÆ?ð?ð?ð?ð?ð?ð?ð?@{ë?€‚î?ð?‘ï?‘ï?ð?ð?ð?ð?ð?ð?ð?Àžï?À“á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?€bï?‘ï?ð?ð?@·ï?€}î?€™ï?À¦ï?ð?ð?ð?€ßî?ð?Àçï?ð?€ï?Àžï?À÷î?Àôî?Àïî?ð?Ÿï?À¦ï?Àáè?@“í?Àçï?€^ï?€ûê?L¥?4©?À°ç?@âî?ÀÃï?ð?ð?@lï?ÀŠç?€UÚ?€ æ?0™?0?Ò´?@íç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?´æ?ð?·ï?ð?ð?ð?ð?ð?ð?ð?zï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ì?ð?<ì?ð?ð?ð?ð?ð?ð?ð?ð?bå?°Ž?bÁ?@í?ð?ð?ð?€Yå?¨à?ʰ?€{î?ð?Àçï?ð?ð?ð?ð?@ï?€ï?ð?Åï?€õï?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?@|ï?À÷ï?ð?ð?ð?þï?ð?ð?ð?€qï?À=ï?€´ï?@°ï?ð?€Ïï?€‚ï?ùï?Àûï?ð?€ãï?ð?€%ï?@£ë?€wê?…î?ð?€ùí?²Ó? »?@ í?ð?ð?€^î?ï?ð?€Ó?¼½?€dÑ?P‘?ü¬?Àè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ð?ð?Àì?ð?ð?ð?À=ï?ð?ð?ð?ð?ðï?€~î?ð?ð?ð?ð?ð?À¼í?ÀŸï?®î?ï?ð?ð?ð?ð?À¿ï?Àçï?@î?ð?ð?ð?ð?ð?ð?ð?@·ï?€G×?8Ò?€î?ð?ð?€uï?†Ñ?p?¨?Àõç?ð?€†ï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?ð?ð?Àîï?@nï?ð?ð?Àîï?À=ï?À×ï?€·ï?Àˆí?Àfï?ðï?Îí?@Íï?ÀÏï?ð?ûÇ?;Å?€ØÔ?‘Ò?EÅ?¿Á?(Ú?Œ?4»?À¸í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñä?À¢é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Cï?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?bì?€?í?ð?ð?ð?ð?À ë?Àáè?ÀÑë?×ï?ð?ð?ð?ð?@ßï?€Ïï?Ïß?€½ì?ð?ð?ð?ð?ð?ð?@nï?ÊÊ?€Xà?€üì?ÀMï?€Žï?@dæ?à}?}Ã?L?€´Ñ?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ç?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?À¶ï?À…ï?À‚î?@ï?ÀÀí?fï?@Íï?@ÿï?À×à?ªá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?À¹ï?ð?@ìï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ é?€Pë?@nï?ð?ð?ð?ð?À±ï?ð?ð?Àoí?Àë?ð?ð?ð?ð?ð?ð?Vï?šÆ?‘?À`ã?aÝ?À"ã?î?€9à?Ø“?t±?@•?€$Ø?€nÑ?€üØ?ð?ð?ð?ð?ð?ð?ð?À¦ï?ð?ð?ð?ð?ð?€ñí?ÀŠï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?ð?ð?ð?€èï?ð?@nï?¶ï?Àçï?Àâî?Àêí?Àæî?€Ò?•É?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{ï?ð?ð?ð?ð?Àñï?Àñï?ð?ð?ð?ð?ð?Õï?ð?€Ïï?@_ê?ð?ð?ð?ð?ð?ð?ð?À¶ì?¹?ýÓ?;Õ?,Ü?€³í?€ªí?ýÁ?À|?µÆ?Àøá?ð?ð?ð?ð?ð?ð?ð?@Nï?€Ïï?ð?ð?ð?€Dì?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?ð?Úï?ÀYî?À3î?ð?@ãï?@Fí?íï? ï?@Çá?€Wß?T¼?e?@Ðè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?í?ßî?@âí?ð?ð?ð?ð?ÀŒé?€Èé?ð?ð?ð?ð?ð?ð?ð?À•ï?­î?ð?ð?ð?ð?Àçï?@ýî?ð?ð?ð?ð?ð?@·ï?ð?€é? ?¾Ó?ø¾?€î?@±æ?\¨?Ï?‚¾?ð«?€;í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äî?€Ïï?ï?ëï?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?@”ï?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êî?€_ï?ð?ð?Àçï?Àší?€âï?€Åí?Àúï?ð?€üÕ?Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À í?À„ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“ë?@4ê?ð?ð?ð?ð?ð?ð?ð?@·ï?€Ùï?ð?ð?ð?ð?Pâ?¨ ?¨ã?@Dí?ýç?8¢?Bµ?Zå?Ài?¼£?ü¹?ÍØ?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?Àñî?ÀDï?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?@·ï?Àvï?Àçï?ð?@nï?Àþî?@óï?,î?ð?ð?ÍÙ?ÕÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?À»î?À”ï?ð?Àúë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ï?ð?ð?ð?ð?@ ì?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?@•î?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?ð?ð?ýÌ?­Ï?êï?À‘é?iÃ?T¾?`Ç?@0æ?€›â?–³?uÚ?À»é?ð?ð?Àžï?@¾ï?ð?ð?ð?ð?ð?ð?@Ôï?@Ôï?ð?ð?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?@gï?@Çî?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?~ï?@¨ï?€î?ð?€î?@ î?Àí?ð?ð?­Û?öº?@.é?ð?ð?ð?ð?ð?ð?@nï?@nï?@vî?€†ï?ð?€Wï?ÀÐï?ð?Áï?ð?ð?ð?ð?ð?ð?ð?ð?€Üî?€òï?ð?ùï?°ê?ÀJî?ð?ð?äï?ð?ð?ð?ð?ÀJî?ð?ð?ð?ð?ð?ð?ð?Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?€Ýì?è”?€R?ê?@êä?€ïã?€ß? É?à‚?@Qê?€ì?¬Ù?k?€Ü?@©ì?ð?ð?#ï?ùï?ð?ð?ð?ð?ð?ð?€²ï?@Qï?ð?ð?Àöï?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´í?@Çè?eì?ÀÏí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€Ïï?Àöï?€;ï?Wî?…ï?Àcï?@éï?€¿ë?@Qí?­×?À?Œî?@ðï?ð?ð?ð?ð?ð?ð?ð?™î?ð?@cî?Àï?@Kì?ð?ð?@†î?£ë?ð?ð?ð?ð?ð?ð?bï?@eì?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?‰ê?,í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?H¥?¦×?Ë?€ã?@ðï?À¹ï?SÅ?”Ü?ð?“ã?@h?¿?€Jà?€ùí?ð?ð?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@eî?@·í?Mì?ôç?Àøî?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?Èï?Ýï?Àï?@ï?€î?À,ï?@,ï?À™ç?ÀŽ?ú¿?À“?0‚?@æ?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?€Ïí?€\ì?Ÿï?@@î?€“î?ð?ð?ð?ð?ð?ð?@î?ÀÄï?ð?€Rï?ð?ð?ð?ð?ð?ð?ð?ð?€×ê?„ç?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üî?€ÖÚ?<¤?@Ÿä?Ðî?õï?ð?€/Þ?@kà?@þï?€óå?4??wÉ?€aÔ?´¾?ÀEè?Àéì?À“î?€ï?€Ïï?ð?ð?ð?ð?ð?ð?À_í?ð?ð?ð?ð?ð?ð?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?¨ï??ë?À è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?Àçï?rï?Àçï?@¦ï?Çï?­î?¥ï?üí?)Å?yÇ?¸“?LÏ?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?€œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jî?À*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?bÇ?€íÙ?ÀÆî?€ï?À²ï?ð?ð?¹ï?•í?š?è‘?x?ÄÜ?ð?ð?ð?ð?ð?åí?ð?ð?ð?ð?ð?ð?ð?@xæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óî?€Ní?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ð?€Yï?€Ôï?Æï?€­ï?@Fì?Ÿï?¿Ü?@•?ð…?€áÔ?@ï?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?À=ï?€%ï?ð?ð?2ï?ð?€ì?µï?…ï?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5ì?Ùì?mË?îÄ?@íï?À?í?À ê?À|ï?ð?ð?@íï?£Å?Àb?vº?ð?ð?ð?ð?ð?<î?ð?ð?ð?ð?ð?ð?ð?À™ì?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?€%ï?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?€ñï?ªï?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?Àâï?Àwï?Àµî?Àí?Àöë?¨?F?@¸á?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?Àêï?ð?€1ï?ð?pï?Àˆï?€:ï?ð?ð?@`ï?ð?@·ï?ð?Àôî?@àï?@·ï?ð?@ºï?€{ï?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆé?à©? €?€`?@tê?Àçï?÷î?@Ùï?ð?ð?€úï?€æÚ?À¸?À†?F?w?Â?€ æ?]í?@Eà?¸?LÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ùï?@cï?Àçï?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?€üï?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€Ïï?@ï?}æ?AÄ?Œ ?T?ÇÌ?€Ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îí?ð?ð?@Íï?€’í?@í?ð?ð?ð?ð?ð?ð?ð?Àüî?€üï?@‚ï?€Êï?Ñï?~ï?ð?ð?iî?ð?=î?À3í?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?Öî?€£ì?@¸é?€†ë?¢ç?@8ä?À£ç?ôå?€Ñ?]?è¢?€¹è?€úï?ð?ð?ð?ð?€þï?€vì?Úæ?Ò?€l?€}?œä?€ñï?ð?ð?@Íì?±?M×?Àåï?ð?ð?ð?ð?Àöï?@ýï?ð?ð?ð?€Øï?€ùï?éï?ð?_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ð?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?Åï?ð?ð?ð?ð?ð?@¾ï?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@!é?&µ?ûÁ? x?ÀŒ?Àwé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?€<ï?ÀÂí?Àqï?ð?ð?ð?ð?ð?ð?ð?ÀPï?®Û?@÷è?ð?Êî?ð?ð?ð?ð?êï?@˜î?ð?Àªì?ð?ð?ð?ð?€äæ?@Ià?Ù?¾¾?,§?¨—?•?Ë?qî?ð?ð?ð?ð?ð?ð?ð?ð?Àgï?@¹å?€â×?”¬?€ÈÙ?@¶ï?ð?ð?ð?!Û?™?mé?€vì?ð?ð?ð?€÷ï?€ýï?ð?ð?ð?ð?ð?ð?ð?ÀÔî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ð?€½ï?ÿï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ï?@Ëï?²ï?UÓ?.´?€äâ?À|å?€.é?‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?àï?Àî?Àé?@èì?€÷ï?ð?ð?ï?@è?êÉ?€]?<Ê?ÀÃî?@Ýí?ð?ð?Àï?ð?@ÿï?@îï?ð?ÀÓï?ð?@¸ï?@eç?@Åå?€ŒÐ?€?n¹?€ºè?ð?ð?ð?€íï?ð?ð?#ï?€Áæ?Àê?ÀÙî?@üï?Àgì?å?ÀÂé?€«ï?ð?ð?ð?{ï?º¼?€¢Ý?€Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?%ï?ÀŠî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?@ûï?@Hî?@3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?À÷ï?ð?@ùï?@Öï?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?À¦ï?³Â? w?€iÒ?ÀÝì?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?@øì?ë?ÅÚ?€ÿê?9ï?€¬í?@{ï?€ ì?Åß?€9Þ?Â?¾í?@ë?Œï?ð?ð?ð?@þî?Àºï?ð?ð?ð?€Nî?ÀËâ?Ø?@n?Ý?@í?ð?ð?ð?€Vî?€ïï?ð?@‚ï?Àwè?@‘ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?@_í?Ü ?ÕÙ?ìê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sï?@Ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?€rã?H”?²Ñ?@î?€{Ò?–É?@få?Åî?Àì?€úï?ð?€Ãï?€ï?€Çí?=å?@8ê?ð?@nï?€ï?€ç?€ªÔ?7Å?€·?€Ðå?Àã?€Ý?ÀUæ?ð?ð?×ï?@×ï?€=ï?ð?ð?ð?€nï?SØ?@c?€R?€¤ä?ð?ð?ð?ð?ð?vï?ð?ð?€Gï?wì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@)ì? ?b´? §?å?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?»ï?À÷ï?Üï?ÀÇï?ð?ð?ð?ð?@þï?€:ë?4Ô?ÐŽ?Œ?`¶?h ?Э?(™?€þÖ?€®í?ð?ð?ð?ð?ð?@îï?$í?qÛ?X—?S?€7Ü?Àâá?€6Ö?Ñ?€Ýë?ð?ð?ð?ð?ð?ð?ð?ÀSï?€ÍÕ?,©? î?ð?ð?ð?ð?ð?¤ï?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Zè?@n?à‘?ø«?€ÿç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@>ì?€Zì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éì?@$í?€ëï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?À<ê?€#Ü?XŸ?EÈ?hä?…í?ð?ð?ÀÙï?Àzï?€ Ô?§?<¯?@³å?@Êì?€ƒï?ð?ð?ð?ÀXï?ÀNë?äÖ?0?Ķ?€ãï?ð?ð?ð?ð?ð?ð?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôî?Ò?@Ûã?€Ëï?ð?ð?ð?ð?ð?ð?ð?€îï?€‡ï?À·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïÛ?€.Ô?À©â?ð?ð?·ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?ð?@²í?ð?âë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?Ýï?Àêï?À6ë?¨Ý?Ì?˜–?ì£?G?Ê?À&ç?€?î?À é?çÈ?8?j±?¯È?Cï?ÀÕì?‰Ï?€x×?šÁ?H”?×?ð?ð?ð?ð?ð?€dî?ÉÅ?€€Ú?ð?ð?ð?ð?¼ï?Àè?@‘ï?ð?ð?ð?€­Þ?±?À™ã?@áï?ð?ð?ð?ð?ð?ð?ð?€úï?€ï?ð?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?wî?wí?ÀIï?ð?ÀGê?@:é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?Àrï?@Øê?ð?ð?Àï?ûî?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?öï?_î?ìè?ëá?Ö?¶¾? ?‹Æ?È­?hÙ?›Ñ?mÞ?€¾Ò?T§?€Áç?ð?ð?ð?ð?ð?ÀÊï?€ÐÑ?À\ã?ð?ð?ð?ð?€äï?~ï?ð?ð?ð?ð?Æ?•Í?@Áé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨ì?À*ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñæ?"¿?@(ê?@õï?ð?Àtï?aî?Íï?Óï?@iï?À©í?¢ê?€òä? Ý?€ôÓ?L½?€V?À˜ã?ÅÍ?…Â?Àã?Àóç?ýï?ð?ð?ð?ð?ð?`í?ÀTí?€þï?ð?ð?ð?ð?ð?ð?ð?À·ë?€Ûè?@ì?¤·?ƒ?Þë?ð?ð?ð?ð?ð?ð?ñì?À³ï?€ƒï?ð?™ï?Àóí?ð?ð?ð?ÀTî?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?¤µ?QÏ?Ò?Ø? Þ?Õ?™Ú?€Ô? É?R³?àq?YÁ?ø«?@k?€Ý?@;î?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?@óï?ð?ð?ð?ð?ð?ð?€mç?ßÌ?h‘?àt?[Ã?€Ô?€zã?ð?ð?ð?ð?ð?€Lí?@_ë?aé?‚ï?Àêï?&ï?»ï?ð?ð?ð?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?qê?°™?×?€rÑ?’º?)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôë?:·?Ÿ?x”?€*Ø?ð?ð?ð?ð?ð?àå?@æå?ð?ð?ð?À¤ï?@¼ï?ð?ð?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?À í?€ä?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï?€$Ú?tÌ?¨?à?Ä¢??€~ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?€ÿÛ?€kÚ?ð?ð?ð?ð?@ÿï?Öî?@ùï?ð?ð?@Lï?€xì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?@±ä?”Ò?€ÏÙ?2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?6î?€×?ËÆ?€i?²?€âÜ?Xç?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À#ï?€lÚ?À„?€i?Àå?ð?ð?ð?ð?¦î?€üâ?Àôì?ð?ð?€~ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Så?€*Ö?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€á?È?Àñì?PŒ?‚?[Ã? €?€Wâ?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?áï?@”ë?t©?ÙÈ?Àcî?ð?ð?ð?åï?@?ì?@Àè?À«ï?ð?€‡î?ÀÐë?€„ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àiî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šï?àÙ?#Ó?@Bï?Ö²?€:Ó?'í?VÇ?V?0‹?&Ó?À¾á?@àì?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?Àõï?€6å?À?€ûÚ?¬ì?@9ï?ð?ð?€àï?ÀLé?Àóé?@ï?€Æî?ï?€í?pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡æ?¿Ê? Ì?hî?b¾?`y?Àéé?í?œ¿?WÀ?@9ì?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ªÎ?=ç?Cï?@nï?@ìï?ð?ð?ð?ð?ð?ð?€›î?ï?jí?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@gï?€|î?€Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?ýÆ? º?wÊ?H’?\Ñ?@9ï?É?Ó?ð?ð?ð?ð?ð?ð?ð?ð?@‚ì?,ª?Àr?€\é?ð?ð?ð?ð?ð?@\ë?€Ëã?@pï?ð?€Ãï?@×í?’ë?À:ï?ð?ð?ð?ð?ð?ð?Àaï?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Àûí?Hí?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?ùÃ?¨›?È“?­?¯×?·Ã?,?ȱ?€3ì?ð?ð?ð?ð?ð?ð?Àyî?òÂ?Ã?À½î?€Öî?Àýï?ð?ð?ð?À¯à?€Ð?€Öë?À¢ê?Àûï?€mï?€Pï?@®ï?€éï?ð?ð?ð?ð?ð?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?€í?€Ýí?ð?ð?ð?ð?ð?ð?ð?â?¥? ƒ?“?1È?¸ ?ÍÌ?,Á?Àßä?Lç?x³?>°?€Qî?ð?ð?ð?ð?ð?ð?@ôç?ŽÑ?@ÿï?Ôï?@ùï?ð?ð?ð?ð?ÀÜï?€Îï?@Üí?ð?€#ï?’î?¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?Àì?ãï?ð?ð?ð?ð?ð?¦ã?Ш?j³?d¨?Å?œ?KÐ?Ì¡?V?8?€£Þ?²?†?ÿÆ?#ï?ð?ð?ð?ð?ð?Âê?ð¼?¶È?íï?ð?ð?ð?ð?ð?ð?ð?ð?À6ï?À¨ì?Óî?ÀTë?À¾ï?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?@Úî?À7ì?ð?ð?ð?ð?ð?À„ï?@Và?Ð¥?Ô?€cÛ?¸¬?ˆ•?:±?À?¾?@é?€ûé?Àƒ?x™?€uÞ?Àþï?ð?ð?ð?ð?@ïí?¨Æ?€ºã?ð?ð?ð?ð?ð?jï?@­â?qæ?ð?€´ï?@5ë?Ðé?€$î?@[í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?ð?@ýï?À’ê?ë?ð?ð?ð?ð?ð?ð?Wî?ÀËî?€¢î?Îï?ð?ð?@ýï?@°å? €?@?€êã?€ï?Àêå?¼â?°Ñ? ?ÒÐ?‰Ì?®ç?ÀXá?P‘?aÁ?Ëì?ð?€÷ï?@:å?zÞ?Àc?x‘?€…Ú?r? Ã?€ºì?ð?ð?ð?ð?ð?€øâ?Às?eë?ð?ð?ð?ð?ð?@cí?€—á?€‚æ?&í?ð?À\î?Àâ?!í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2é? ·?€Ð?€Så?Àœî?ð?ð?ð?ð?ð?ð?@Ðï?€zî?@§ï?ð?€Õï?ÃÖ?È ?@Gî?ð?€òï?€êï?@Éï?@óé?“Ä?€?4?|·?kÕ?€ÜÞ?ØÙ?€í?À™ï?Àëï?Àäï?žÔ?×?ð?ð?ð?ð?Ýç?àr?€a?SÂ?€ÐÑ?}Æ?|¬? y?Àâ?ð?ð?ð?ð?ð?€í?µ?OÇ?@Žî?ð?ð?ð?ð?Ààæ?²è?°ï?€¹î?#ï?€ÿï?@®î?ç?@5á?ñî?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\Û?€c?è»?Àá?ÀÔê?@òï?ð?€ýï?ð?ð?ûï?€Ÿì?@ å?Ê?à€?€\?Ãè?ð?ð?ð?ð?ð?@¸ï?Éç?€{Ò?;Ã?Ê?@Žã?@Xç?ð?ð?ð?ð?ð?ð?ð?RÇ?æ×?ð?ð?ð?ð?Uå?e?X°?€ ß?Íæ?øÛ?@-æ?ØÑ?̦?€-Ó?€wî?¼ï?À@î?ð?ð?ð?@¢à?uÇ?À´ï?ð?ð?ð?Nî?¨Æ?È©?ôë?@‚ä?@ç?€Ží?Óï?À\í?†ç?@«â?Åî?ð?ð?ð?ð?ð?ð?ð?ð?çï?øï?ð?ð?ð?ð?ð?ð?ð?ð?žï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ý?Ø¡?€!à?@qê?Àkê?Àúê?@ê?€ á?ò¸?€«â?ð?ð?ð?ð?ð?ð?ð?ð?@Ùî?€Ãí?€×ï?À©ë?-í?ð?ð?ð?ð?ð?öï?€äÐ?¸Ù?ð?ð?ð?ð?@vî?>Î?€>è?€èï?@èí?Àõä?ãÞ?‹Ñ?°‘?sÉ?å?Àí?€[ê?À¾ë?ð?ð?@àç?À«?p‚?Àë?ð?ð?ð?À‰í?€(Ñ?€Oå?€£ì?@7ï?€Fï?ð?çï?Sî?ÀÜì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ï?À÷ï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìä?ŠÌ?@ëï?ð?ð?ð?øï?À=ï?ð?€5ï?€¼ï?ð?ð?€õï?@ƒí?ð?ð?ð?ð?ð?Àòï?Ì?‘?@ç?ð?ð?ð?ð?ð?€‰ï?ð?ð?Àëï?€õî?€aÛ?8•?°¢?Â?@Rá?¾à?@Íï?€Ïï?Àå?ʵ?€Ùç?ð?ð?ð?@ñï?@Nï?ð?ƒë?ÀNí?€êï?€åï?@oï?€Žî?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?õï?ð?Àæï?ÀNï?þï?€÷ï?ð?tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œë?€“?€ Õ?€åï?ð?ð?ð?ð?€¾ï?@¸î?ð?ð?ð?ð?@°ï?ð?ð?ð?ð?ð?ð?ÝÅ?ØÂ?Ïî?Àï?ð?ð?ð?ð?ð?ëî?»í?€dî?ï?”ß?€‘Ô?Àéé?RÊ? ²?6ç?¨ë?€†ï?€ïí?IÓ?Dß?@µï?€ê?€Ñí?ÀÜï?À¹ï?àî?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?ð?ð?ð?ð?€Þï?Þï?€åï?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?WØ?8 ?@‚ì?ð?ð?€åí?Àœì?€¾ï?ÀÙï?Nï?€¨ï?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?Í?ƒ?Ã?pé?ð?ð?ð?ð?ð?ð?Àãí?î?ÀÞï?ð?}ï?@Êë?€­?ˆ’?P™?c?€“Û?À ï?@"ï?€¸ê?…Ç?À?€>æ?Àêç?€ïí?«ï?ð?€%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?€êï?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ô?€öÑ?€`ï?ð?@ï?Àï?ð?@ï?€<î?À8í?€Œæ?@…ë?Àèï?ð?ð?ð?ð?ð?ð?`¿?€ôä?€ï?ð?ð?ð?ð?jì?Àôí?@sï?Àþï?ð?ð?ð?ð?À§î?òÃ?˜Ë?™Ô?þÚ?@¼à?æÈ?ÊÏ?Ä?€Ø?À=ï?öí?¡ï?@ýï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†Ò?Y?€+ß?ð?€¾ï?ð?ð?Áî?qí?@ï?À§æ?Ìä?@£í?ð?ð?ð?ÀPï?ð?†ì?LÍ?ž?hì?ð?ð?ð?ð?ð?@ï?@ðï?ð?ð?ð?ð?ðï?@[ï?Ö?€ƒÓ?@qï?î?€;à?ï?Àxé?Üá?¦É?ø§?àƒ?P?€Õ?€€Õ?`‚?Àã?€pì?À¬ï?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?@æï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ÀÉï?ð?ð?ð?ð?€Œï?áÄ?h£?€zæ?€ï?ð?ð?ÀÚï?ÀÄê?€öî?ÀPæ?Àëï?€ûï?€Õî?ð?Àî?À®í?€Âï?@˜ç?@Õê?Õ?ÀRá?Àë?À‰é?ü²?aÓ?Àûá?)Ó? »?Ê?§Í?Jµ?s?ÀÃâ?€Ùì?À½ï?À«ï?ð?ð?ð?@»ï?šï?€Ñï?@‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?Àhï?€Eí?ð?ð?ð?ð?ð?ÃÊ?Jµ?#È?€è?Àcì?î?À~ï?€Âî?Àì?€*å?@ûï?Àä?€àï?ùï?Àþï?@Òí?ð?@ ï?ÀØî?@…æ?Ã?L£?p€?d»?¼?O?ƒ?>Ã?€.Ù?€‰?äÈ?€Wß?€(Ô?ƒ?P“?Àîá?À.î?@òî?ð?ð?À–ï?ð?€Žë?€·æ?†ê?ð?€îï?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMï?@¦ï?€wï?ð?ð?ð?ð?ð?€Ú?@¢?@›é?€½ï?Öï?Àøï?€¬ï?€÷ï?@Ôï?î?øê?Èâ?@Ùï?@Eï?ð?ð?ð?À·í?@ì?ué?€yÐ?€b?Àaá?àÝ?¸‘?àp?Ç×?Žº?áÁ?5Ñ?Î?àª?Éã?ð?3ï?øï?9ë?ð?ð?€þï?Àêï?Àúï?ð?òï?ð?ð?ð?ð?Àüï?ð?ÀÀï?ð?€íï?€ýï?ð?ð?ð?ð?ð?@ñï?€zï?Àuì?ð?ð?ð?ð?ð?À‚ï?Àþï?ð?ð?ð?ð?À)ç?€Q? ?@aå?@üï?ð?€ï?ð?€fî?gï?€í?Àíí?€=è?€ ì?Àµì?€’ï?ð?@Óï?@ï?ÀÀî?7Ü?`š?€Z??3Á?Y?8?€ Ô?ÐÝ?›ã?ÛÊ?ä±?À®?Àá?À“î?ð?@Óï?@sî?ÀÕï?Àìí?øî?ÀCî?À°ï?ð?äï?ð?ð?ð?ð?ð?@Öï?Àÿï?ð?Ûï?Àúï?ð?ð?ð?ð?ð?Àâï?€öî?ð?ð?ð?ð?ð?ð?Àºï?@èï?ð?ð?ð?ð?€ãÜ?p€?€iÜ?aî?ð?ð?ð?ð?Àvç?é?@ï?€öï?@Ïî?À‡ì?€äê?ð?ð?€íï?€ïï?€ïà?_?lÂ?E?p£?,×?@]à?Šæ?€ìÖ?(?½?†Ö?€Lß?€¹ì?Àâì?€çï?ð?€Óî?€Ùï?Àgï?€Mï?ýï?ð?ð?[ï?€þï?ð?ð?ð?ð?€æï?Éï?üï?ð?ð?ð?ð?ð?ð?ð?€Ðï?€ Ù?€ãî?ð?ð?ð?@Æï?Àÿï?ð?ð?ð?ð?€ä?}Õ?ÀŸì?€Bï?@Æï?ð?€ðï?Àíí?€)â?€>å?ð?ÀÕï?€í?À>è?@’î?ð?@ãï?ð?ÀÕî?ÕÉ?ðˆ?ˆ‘?Àà?@ è?§Ù? Ú?ÂØ?:Á?¼¸?€Èê?À½ê?À3ç?€³æ?Àìï?ð?ÀÀï?ð?ð?ûï?@Þï?ð?ð?<ï?ïï?ð?€ï?ÀCï?€þï?ð?ð?À¦ï?€Jî?ð?ð?ð?ð?ð?ð?@Èï?€Wë?öï?ð?ð?€­ï?€Èï?€ýï?ð?ð?ð?@¡ï?HÏ?€Ò?@}è?@Sï?ð?À+î?ÀÕï?ð?@´ç?Àáå?Íì?ð?ð?ð?€ î?ýê?@ï?Cï?ð?€jí?@f?à³?€Ô?€!Õ?ã?€Éç?@|á?À!ë?/Á?@Ûæ?€í?ÀFë?€<ß?²ï?éï?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?éï?éï?ð?ð?ð?ôê?ÙÐ?@a?{?ˆÒ?zë?€€ï?{ï?ð?@Ðé?@õï?À ï?€ëï?ÀÌï?ð?ð?ð?ð?ð?€åï?€–ë?€oî?€õï?€.î?$? ‡?€ÊÖ?Ëá?€ä?€ÏÜ?Àüá?÷Á?Àœã?À»î?€ªå?Àaã?€Pï?ÀÀï?ÀÕï?À<ï?Àï?@qï?ð?Àûï?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? Ô?àt?€aà?€;é?@Éï?À’í?À.ï?@ñï?Àoå?ð?·ï?ð?€ºï?ÀAî?ð?ð?ð?ð?ð?ùï?€'î?€aì?@Wé?PŒ?¶?æÛ?À€ç?€uÝ?€9Ó?І?ÖÖ?€?ç?é?@£ï?€Ùî?ÀÀï?ð?î?@Së?‹ë?@öé?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆï?€¨ï?ð?yæ?§?$Ñ?Àµë?€åî?'í?@·å?£ï?ð?@µå?@Çå?@é?ð?@jì?îî?ð?ð?ð?ð?ð?ð?ð?@Uï?Ó?@e?à›?Žà?ÀŽç?€bê?œÛ?º?À`å?À×ï?€îê?Šï?ï?Àšï?ð?ð?À«ï?°ï?•ï?ð?ð?ð?ð?ð?ð?ð?ÀÕï?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?€¹ä?€®Ñ?|É?VÔ?ÿÕ? u?`Ä?Àÿç?Àfï?€Õî?ÀBç?yâ?@æï?@î?Àèï?€ƒï?€è?ð?Àøï?€4ï?ð?ð?ð?ð?ð?ð?ð?ÀÚà?A?@u?7Ä?€ðâ?€iâ?òì?Àná?íÃ?ÀŸã?€ïí?À”í?xï?ð?ð?ð?ÀÕï?ð?Àûï?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?þï?€ëï?@%ï?@Xí?@üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?qï?À6é?Àçâ?x±?J? ?€i?Àä?@‹ä?€ï?Àí?À è?@Èè?ð?ð?ð?€ñï?Àhì?ð?ð?ð?Aï?@-ï?ð?ð?ð?ð?ð?žÌ? ›?Ø?€ç?€@â?€)ê?Ñ?Ð?kÝ?€÷ã?öë?@ãë?@zï?ð?ð?ð?ð?ð?@-ï?@œï?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?:è?€ß?Æâ?€qê?ð?ð?ð?ð?ð?ð?ð?Àï?€×?@i?bÍ?í?Pë?Àwî?Mã?åç?€Ñï?ð?ð?ð?ð?ð?ð?ð?@Bï?|î?„ï?ð?ð?ð?ð?Eî?X´?(?ÀÚ?BÞ?qÖ?€÷æ?€ÕÞ?€€Þ?€5î?@wï?˜ç?€ ê?€î?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀJé?€jÞ?ºÚ?ÞÇ?@î?ð?ð?ð?ð?ð?ð?Àµä?€o?·?Ùá?Àžè?€nï?ð?€»í?Àãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?Àïï?ð?ð?ð?€èï?€Û?NÇ?Ð?@Ÿä?€Òë?€º×?@›å?€è?@Œä?5ç?€Ýì?×î?ÀØï?@0ï?@Ëï?Äï?€Wï?@‚î?ð?ð?ð?Àüï?Àùï?ð?ð?ð?ð?ð?ð?ï?Àëë?€¼í?ÀËé?’Ä? å?ð?ð?ð?ð?ð?•ê?°¥?GÇ?Àå?€Øè?ï?ð?À®î?åï?ð?ð?ð?Àdï?ð?ð?ð?ð?ð?ð?ð?1ï?ð?ð?î?OÊ?Àm?Г?äÒ?ßã?Àåå?€ÏÚ?¼Þ?€Ù?€Œß?Àbë?ÀÉî?€6ï?€lï?€nî?€˜í?î?€…ï?®ï?ð?ð?ð?€­ï?@³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€£ï?Ýï?ð?ð?ð?ð?ð?@Fá?@`? ä?€Èê?@_î?ÀŒî?€Èé?@´ê?úï?ð?ð?ð?€:ï?ð?ð?ð?ð?ð?ð?@ßï?Àí?€ßï?€Hì?¿á?WÇ?€²Õ?ÀJâ?@ë?¤ã?€˜ë?€¯ç?À¤â?@Úâ?€ñã?ÀÕï?ð?ð?ð?Ãï?€øï?À]í?€ñî?ð?ð?øï?ÀÐë?@ïï?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äê?¨?èœ?½??XÂ?€ß?úë?@ßê?€àê?@'î?ð?ð?ð?ð?Àfï?ð?ð?ð?ð?ð?€¬ï?ð?ð?€Yì?^´?Ô?À‡æ?@‰è?@ ì?€¥î?@ê?@úä?,ä?@í?€Ië?ð?ð?ð?@Ðï?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åÙ?ø·?e?ªÊ?@/ç?é?ní?@ à?ãâ?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?À2î?@"î?æë?CÄ?ôÐ?À9æ?@Gî?@õì?@˜ê?€ëæ?‡æ?¡á?€í?ð?ð?ð?Ýï?ï?€ì?Àkï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?ð?ð?ð?ð?ð?ð?ð?$Ø?(?pÂ?4?¢?G?ð?Œ¡?k?¨“?Äè?@mç?À£ì?Àùï?ð?ð?ð?ð?ð?@ûï?€Lç?„º?@t?©Ñ?Ãê?€Gï?î?Ðè?:î?@ì?úã?@«á?ÀBî?zï?€×ï?ð?ð?@øï?€Ãï?@Ãí?ä?€Áå?€Xï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?@Ãï?€×ï?ð?(ã?ð«?€ Ø? …?€ Ú?H˜?àt?\?€sÑ?Àåê?ð?ð?ð?ð?ð?@Eí?©Î?àt?€ö×?ÀÂí?€šë?eî?@Îç?3ã?€Ÿë?À¯í?€aÙ?@]ï?Àéï?@iï?@±ï? î?@Cí?€Èï?Àì?Àà?oÓ?@¢?pÈ?À(ç?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?øï?€ßï?ð?ð?ð?ð?ð?€oî?P¶?¼¤?¿Ä?€w?D?J±?€ÙÒ?¥Ô?ÀFá?€÷í?Àcè?€uß?Ã?N?I?ÀØà?€ñç?€hâ?xç?@)ï?ÀKë?€1ç?@uï?Àpä?ºç?À©ï?Àõï?Àáï?Àùï?À¾î?€Íâ?åà?@Ûé?À,í?´ï?@ñê?á?Àÿä?ð?ð?ð?ð?ð?€ýï?ð?ð?ÀÓï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?@2å?2°?@l?€y?c?0§?€ìç?€ÖÓ?@„?°‘?Ø?Àžè?”Ú?pÇ?€„Ø?ë?sé?@Íä?@Eí?@ç?’ï?ð?ð?ÀŽì?@mï?€§è?tÙ?À©î?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?Òï?€zï?ð?ð?Çï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?€Vì?"»?€”Õ?Àæ?~?€R?Õç?€çä?Ч?B?Þ?€(å? |?Ú°?°×?ξ?€©ß?€¾ï?ï?ð?ð?@òï?€Ôï?€™æ?Àîí?ð?³ï?€àî?ð?ð?@¹í?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?ÀBî?ð?ð?ð?ð?ð?ð?ð?ð?!é?t¬?@±?¤¼?C?¢Ì?@òî?À·í?xÓ?@‡?ð‘?o?qÑ?ÒÕ?@xç?€¨ï?ð?ð?€©ï?@Àî?@áë?ð?Àøï?¼ï?ð?ð?ð?€¤ï?€âï?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?Àóï?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?®å?€2Ñ?”Æ?<¦?$µ?às?0¦?À5â?@¬â?]Í?h?.Ê?`Ý?jé?À(ï?ð?ð?0î?@ï?€1ï?Àëï?€Zì?@jæ?€üí?§ï?À…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?Àôï?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Xî?@%ï?áÚ?ä³?ÎÂ?€1Þ?Gë?@1î?€Úï?ð?ð?@Pí?@’í?@Zî?@î?€ë?€§ì?€¥â?@øî?À¥é?€í?ð?€×ï?@Ãï?ð?€×ï?ð?ð?ð?¯ï?ð?÷ï?ð?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?ñï?À-ê?(—?’ç?¦í?À9î?À<î?Àcï?ð?@Åï?€(ï?²í?€›ï?ð?Åí?€í? æ?Qí?Àûï?ð?ð?ð?Àóï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?øî?€Úï?À$ê?@d?€rÞ?@â?Ìæ?@úê?ÀÌì?†ì?ð?À¤ï?_ï?ð?ð?ð?ð?ð?€‰ë?Àóî?@Ãï?ð?ð?ð?Àãï?€Ïï?ð?ð?ð?ð?Àïï?üï?ð?ð?ð?ð?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?Àä?R¼?€µÛ?€—Ü? ¯?@¿å?@ã?6é?@5í?@ãè?€ûî?@aï?@cî?€Øî?€†ï?ð?øï?€áï?€ÿï?ð?@kï?@Ãï?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?ð?ð?ð?ð?ð?ð?€Ùï?ë?€˜Ð?<Ô?€fÛ?€‘Ý?€JÙ?áæ?€vë?€gä?€Û?€Dá??î?¦ï?@ï?ð?ð?€cí?€ëè?1ï?ð?@ï?”î?ð?ð?ð?ð?ð?ð?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?áï?ð?ð?ð?ð?ð?ð?@¼î?ë?@Ñî?@Ð?l¢?ñÄ?€ôÛ?Àé?@ á?€Mâ?@*â?ã?5Û?ñÐ?€eã?ÀÕë?À™ì?@Mï?ð?¯ï?@¬ë?@ì?Àèï?³ï?@¿ï?€Nï?ð?ð?ð?ð?ð?ð?ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?(ï?ð?ð?ð?À–ï?Ÿï?Àëï?ð?Àï?€Þè?ü°?Ò?€®ê?@°â?ƒç?‹Ü?ÑÔ?Gë?@¹é?@äí?€Iê? Û?¢ç?ÀDë?€²ï?ð?ð?@;í?@Ûï?ð?ð?ð?Óï?ð?€†ï?¯ï?ð?@Ãï?ð?ð?€×ï?ð?ð?ð?ð?ð?€Ðï?@öï?€çï?òï?ð?ð?€†ï?çï?@ýï?ð?@´ï?@¡ï?Hê?ñÉ?@r?\°?Êç?€àá?@í?€tè?€êß?@ûä?Àwé?@ðî?À–ï?@…í?À1ì?À£í?Ëï?5î?€‹î?ð?Àêï?Àdï?Àúï?Àï?À™ê?@4î?ð?ð?ð?ÀÅï?ð?ð?ð?ð?@Zî?ð?ð?€ˆï?€¢ï?@Xï?@gï?Àêî?@ðï?åî?@ï?À/ï?@Rï?€4í?XÈ?†È?Àã?À×å?€ªä?@?ã?€ÙÙ?€ûå?ÀRæ?æê?€ ï?ð?ÀÓï?€Äî?@Òè?ë?€‡ï?ð?ÀÁï?„ï?Ëë?€¸ê?€(å?@î?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?ð?ð?ð?ð?€åï?@÷ï?€*ï?Àòï?@îï?€zï?@_ï?æ?ØÏ?Ђ?`|?ø¢?d?6?%à?Àýè?@Yë?Àä?@Äë?æà?À(à?@¯ë?À¯ê?€dï?ð?ð?ÀÅï?@8ë?Tê?@Àê?ð?@Õï?@êï?€'î?qï?@ýï?ð?ð?ð?ð?ð?ïï?ÀÔï?ÀÔï?ð?€°ï?@úï?@*ï?€ï?€‹ï?ÀÅï?ð?@ûï?ð?ð?€õë?eá?È•?(?0‘?ðŽ?ŒØ?¬¸?°Š?°Š? Ø?€¦æ?žã?µå?€Ïå?@Þã?"Ô?zë?õî?ð?ð?ð?eì?@úå?@)ì?Àmê?ð?ð?ð?ð?@-ï?¿ï?€ìï?ð?ð?ð?ð?ÀÖï?€Ýï?€Ýï?ð?€?ï?@òï?ð?ð?€¥ï?ð?ð?ð?ð?€aï?Ð?[Á?Àgè?€óÕ?‚Å?P•?TÓ?€â?¥è?å?Kì?€µç?Àç?áì?¼ï?ð?ð?ð?@´ê?@á?â?@ðä?@Üï?ð?—ï?ð?€Té?›Ò?@Ýê?ð?ð?Àþï?@ýï?ð?ð?ð?@Qï?ð?ð?ð?ð?«ï?ð?ð?ð?@2ï?ØÛ?Àf?hÌ?@Íë?dã?@ à?ŸÔ?ˆ?”§?€Ý?À"é?€çå?€Ý?€tê?Àkì?€ææ?€hï?@"ë?€øî?ð?ð?À)î?€Ñí?€fï?€²Ù?@9ê?ð?@Eï?ð?‡í?·Ý?À¢ï?ð?ð?äï?À¾ï?ð?ð?ð?ð?ð?ð?ð?€ìï?Úï?ð?ð?ìï?ŠÞ?€Ò?€Ðì?:ì?Àeå?Þ?°„?ø×?€ïá?è?8§?Õ?æ?€œß?&ì?ÀÉé?Àiî?Àäæ?pï?€%ç?ëí?ð?ð?ð?€»ï?ïï?€#æ?€jä?‚î?ð?ð?fï?Êï?ð?ð?ð?ÀÕí?@aï?ð?ð?ð?€Ïï?¼ï?€¨ï?€¨ï?ð?@Ýï?ð?€í? ê?`¡?]?ðÍ?kí?@íî?ê?À'à?@òà?Ýî?À<ï?@Ïí?v¼?lÅ?Ù?€âá?6è?/í?@ï?ÀÈè?@æ?€zå?yï?ð?ð?ð?€‹ï?ð?ð?ÀÚï?€*í?ð?ð?@ëï?Mï?$ï?€œî?ð?€íï?Àùï?ð?ð?Ùï?ð?@íï?ð?@Ùï?ð?&ï?ð?âï?-ç?  ?€h?NÆ?€Ðì?€ðî?Õí?€oê?Yç?ÎÑ?oÉ?Ó?š²?Ôá?Àwè?òë?@aê?Àë?€æ?@¨ã?þî?€ï?ð?ð?€õï?¡ê?@+ï?ð?ð?­ï?ð?€ìï?ð?Ààï?@î?€®ï?ð?Àúï?@‚ï?ð?ð?ð?ð?Kï?ãï?@Îï?ð?ð?ð?7ï?ä?€P?ŒË?Àóî?@Åà?@ç?äí?@'á?À*à?@ã?”?£?\Ó?Eé?À¶å?ÀFè?€µë?@Qå?@ÿá?ÀÂã?ÀÖî?ð?ð?Hï?ŸÎ?lÌ?Ýá?@‰ì?À®ï?ð?ð?ð?Àäï?ð?ð?ð?€ûï?@Åï?ð?ð?Ëï?ð?€·ï?ð?@Üï?@îï?¶ï?ð?ð?À¦ã?ŸÓ?Då?,´?D£?Ë?Ð?€bã?€²Õ?B?¸Ã?@|ë?aç?€ä?€Íê?Àìì?€UÜ?À ê?Në?ñê?ð?ð?€Gï?¨ê?€%ë?«â?¾¼?€Kã?ð?ð?ð?ãï?Óî?ð?ð?ð?ð?ð?ð?@Oî?Àqï?ð?ð?€ï?@Êï?€üï?ð?ð?€žß?¼?âÕ?ÀÌå?@ã?„æ?€í?”Ú?Àýë?í?@=ï?ð?ð?Íï?@óï?ð?ð?1í?@ëì?ð?ð?€ìï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?€dî?€Ïï?ð?€*ï?Sì?ð?@Ùï?ð?Ó?Ì«?¿?¼²?€$é?À¢æ?€àÔ?€Tã?€Ýå?@Îï?ð?’í?À°ë?@-ï?ð?ð?ð?ð?ð?ð?ð?Ùï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?‰í?@ì?@+ã?Ÿï?Àûï?Ÿå?€“?©È?€Uè?€à?€Ñ?nÞ?€.ç?€ðç?@%î?@Úï?ð?‚é?@„á?€–ï?À€î?€Qì?@Íë?Àžè?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@“ë?Åá?€¿Ù?ð™?€hß?€öä?Àwç?=Ñ?À¹á?À0ê?€Óæ?òè?€Îï?ð?@þë?@=é?À…ã?€Û?°µ?jÁ?€uØ?[ï?@öï?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?@qè?­Ô?° ?€FÓ?À¾ã?€‰Ú?=Î?šß? Ú?À­æ?@ î?ÀÖï?Àáí?ÀÉí?@+é?Àîì?@ ï?î?ï?Àûï?Àøï?€ßï?€ìï?ð?ð?ð?ð?ãï?€Ïï?ð?@úï?@úï?ð?ð?@=å?¨“?”²?€Ñ?µÝ?Àûà?p¨?~Á?—à?€nà?@Ôâ?¦ê?ÀMè?Sî?ð?@)ï?@æ?@£í?ð?ð?ð?ÀÖï?ÀŽï?ð?ð?ð?@²ï?ÀÅï?€ìï?ð?ð?ßï?Ëï?ÀØï?À[î?̹?€a?€¬×?LÊ? }?€Fâ?pÐ?€+Ô?ÀÔ?€ÎÕ?°ë?ÀLä?À ï?@ã?€†è?€¨ï?ð?2í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?ð?ð?ð?ð?ÀŸï?ÀÏï? è?ξ?Àbã?ËÍ?}Æ?Ö°?€cÓ?Sç?Iä?@Cà?ÓÜ?@®ã?@Àè?öï?ð?@þî?6ï?€Ãï?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµï?€Öï?€ìï?Ûä?L? Â?x“?€²Ð?€.ç?sé?@Áà?Àæ?+ë?Të?ð?Îï?ëî?Àî?@>ì?@»ï?Àñï?€‹ï?ð?ð?ð?ð?ð?ð?ð?ð?€óï?€ìï?@tï?@]ï?Àþî?€:Ü?ð…?i?@x?€&Ñ?€†Û?€Ëæ?ÿÝ?@kã?@åì?÷ì?ð?€nï?€xé?€ßé?ÀDç?€Œí?ð?À¯ï?@²ï?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ÀÅï?@²ï?€Ñí?€Zä?ø?|¢?ø•? }? }?,®?˜Ø?@šå?€Qâ?Ì?„×?ÀKä?À¤å?ÀÝï?€|ï?@&í?@½ç?€Lá?€‚î?ð?Ïí?€¾ï?@åï?ð?ð?ð?ð?Àdï?ð?ð?ð?@Ùï?ð?ð?€xì?H™? |?©?p?>²? ¬?SÁ?~Ã? Œ?L²?œ¡?¨¥? q?¡Ú?@Åã?@ºæ?€ÆÖ?vµ?%à?€KÞ?Àíâ?@ï?€:ï?Çì?Àiï?°ì?ð?ð?ð?ÀÖï?ÀÖï?ð?ð?ð?ð?ð?ð?€ìï?ð?ð?ð?À¦ï?À»ï?üÆ? }?€-Ô?ŠË?€%Ø?€ÉÚ?Ì?ÊÍ?€ÙÜ?‚º?†Ù?@àê?€¦ç?˜Ü?òÛ?€ Õ?@Å?ÛØ?€þÕ?p?P?0š?ŒË?€©è?€±é?Àäì?Àâä?¡è?À‹í?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?ð?¥ï?Yï?€¼ë?Àëí?¥À? …?P—?ÅÜ?@å?—ë?²î?Tí?€àÝ?€™Ø?@|ï?@ýï?­ã?ÀÃè?€æã?µÎ?ô¼?à°?€4Õ?0³?î²?)Ð?@¶á?ç?À¡é?€×ê?@é?cî?€ ä?@=ï?@íï?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áî?Pí?Àåå?tÌ?|§?@r?U?“Á?MË?gâ?Éî?ð?€3â?°?€Ø?@íï?ð?ð?€Qì?ì?€[Ò?€´Ø?€ûÞ? Ø?€óÖ?€üÕ?€)â?€ØÛ?€ñâ?&ì?Úæ?—Ú?€8ã?]ç?€4î?€¤î?\ï?2î?À¢î?ð?@nï?ð?Àßï?ð?Àßï?€Ïï?ð?ð?ð?À;æ?L¿?Î?tÆ?–·?ÀPà?Àîå?@Ÿï?ÀÚç?!Â?¯ß?€Më?@Rê?@ýî?€õî?·á?µÃ?x’?¸?€0ç?Àæ?žÍ?€ðÛ?~ß?ß?9Ü?€Ùè?@Ëæ?€©Û?€fÐ?€„á?Àßë?ð?ÀÛï?@úï?ìï?ð?ð?ð?@Êî?@íï?´ï?úï?ð?ð?ð?ÀŠì?`ª?€^?^º?@¿â?qË?€6×?€Ïë?À5è?óØ?€`Ñ?À=î?¢í?ÀEì?®ß?€SÑ?l§?°—?pá?@Ìâ?€«Ð?€½Ù?€Gà?€Ää?€TÔ?žç?@)ç?@Xâ?å?(è?@éï?ð?ð?ð?ð?À ï?€óï?ð?ð?ÀÊï?”ï?ð?ð?ð?ð?ÀMï?@½à?K?€ Ó?€¹æ?@cí?€á?@w? ˆ?þß?Iî?€öã?Ù?€ªÕ?Ç?~?Ê?€#â?xÅ?@á?€è?À…â?@ã?àâ?Àaê?šå?Àvì?€Íè?Àòï?ð?ð?ð?ÀÛï?€lï?ð?ð?ð?ð?ð?ð?ÀAî?€÷à?€6ã?€›ï?€>ï?ëÍ?àx?ƒÆ?€Q×?p¢?¼ª?›Ý?€Uá?Ò×?ì²?@{?€[? ”?€(Ò?Á?4Ñ?À_ä?€‘Ý?À…å?€†ï?À—ï?ÀŒí?á?€°ì?€üï?ð?ð?ð?@9ê?@oæ?ð?ð?ð?ð?€úï?€Úï?@³â? ¼?€[Ð?aÓ?š´?à§?¤½?‚?h?èŸ?€‹Ò?¡?IÄ? ?cØ?¹ç?Àlâ?€Ìì?õè?@@å?@qç?@´ç?À[ä?@Ýè?Àê?@Çí?@Åì?@Šë?ð?ð?ð?À§ï?éç?oä?@“ä?ÑÊ?¼¡?€l?@?€s? …?º³?@n? Š?ìº?€õØ?€ä?À ç?À+å?Àºê?@Cè?¹Î?€XÐ?Ë?€ÃÕ?3Ä?ªá?Wï?@±ï?žï?À¡ë?rè?Ô?ÐŽ?¸•?åë?€Eç?‰É?€Íå?€ Ù?0?SÕ?üÅ? ¢?Z¹?0Ù?À˜á?À9ï?@ªè?@eâ?‹Ü??í?ˆï?ð?@wí?}à?Àé?€æ?ô½?ÃÁ?@ æ?øÈ?Àiä?@ûï?ð?ð?@ðï?†î?FÆ?„®?¸ª?ÿä?/Ñ?h¿?ª¼?€×?@Oæ?àí?€½ê?‘í?€)î?%î?€oï?@Šå?¿À?¸£?@né?æ?¹?´¢?€‘Ó?@åî?ð?ð?ð?ð?ð?@Üï?@Áé?˜œ?€ðÕ?¹æ?ü¨?ˆ·?€]å?©æ?€¨Ý?[Ä?öÚ?Œá?ã?€#í?Ôé?žä?ÀÏã?àš?`Ž?IÛ?ÿï?@â?€xÝ?À{å?@ÿï?ð?ð?€ûï?ð?@)ï?€âî?Û?Ò°?Œ§?€ñÓ? ‡?`~? Â?‡É?€Ò?Àâ?ÿÙ?€kâ?Àêä?€¯è?€oå?ÌÕ?©Í?Î?‡ç?Àï?ð?Ð?úÝ?î?ð?Àæï?€ñï?@ï?€Ûí?À*ï?@‘è?€•?[?©Â?H¥?wÂ?€êÚ?¿Ý?€Ž×?€Þä?\ë?]ã?@óì?@7æ?eç?@pï?@áî?€¤ï?’Â?€?à?@¯ï?ÀGë?€Øâ?€)à?€ì?Üï?ð?Öï?ÀŽé?Àpã?àq?€U?€ÈÝ?@Òã?Õá?Àƒå?@aâ?£à?ÀHè?À£ë?€së?@+è?ÀÀï?À7ï?Úï?÷Ã?K?’?€,Ó?°¦?t¦?oæ?ð?ð?ð?î?@ßî?¸? »?€Cß?@ê?€œê?/ê?€lç?@*ã?À½á?@ í?ÀÕï?ð?Àï?ôï?ÎÍ?†É?ÇÎ?4¸?šÕ?€¤ê?ð?ð?ð?ÀÔï?|í?ë?€Îá?d?Àd?N°?<Ï?€Tî?€ãî?@˜ï?ûë?€ŸÙ?¾Ä?€bå?@>î?öï?À4ä?^½?@‹ê?”?ræ?ÀÜï?ð?ð?ð?À©ï?Àîï?|ï?6ï?€³ï?‘á?°‘?JÆ?Àrå?Ý?Àáí?@qè?@9à?@¸ã?€oÔ?dÆ?€0Ö? ›?€÷é?Àâé?»?bè?ð?@dï?zê?€ ï?ÀÊî?ð?ð?€Xï?ð?@+ï?´Õ?(?@…?°?€‡?P?€c? Ù?€Ô?Ý?Àiæ?€ˆÛ?@ã?@ë?åç?Ûê?€¢ß?§Ä?@&ê?@uã?€ä×?ZÚ?ÿï?ûï?À¸í?@…å?ëæ?ð?ð?ð?ð?ð? î?€ Ô?À`?@?<È?Õ?€ƒå?/Û?Ê?ÍÂ?`w??0©?€¶?*¸?€ªß?€Ñ?Àæ?@Gâ?ãå?@øè?Àûâ?€Xç?@êæ?€YÜ?¦?—Ø?@\é?ÀÃï?À¯ì?Ýï?€ßï?ð?ð?ð?@çï?ð?@ºï?òæ?îÀ?Ø¿?’Ë?îè?@ïî?@=í?Î?À—?…?P…?G?ð ?€áÙ?ÃÌ?¾Ó?ëÉ?€rÒ?ß?¤×?€Üà?÷Ü?@0á?À÷å?€"Ú?€‚Ô?€ Ý?Àåê?€ï?€…î?ð?ð?ð?€‚ë?€Þí?ð?ð?Ìí?ýÆ?ˆ?X¨?Ý?@Íì?€ê?À±á? ›?n²?~º?ܵ?t§?P‚??gÀ?ÁÄ?æØ?€lÜ?À}å?@ké?Cå?@÷ë?’è?@Âç?À¡í?ÀJå?€·ì?ÀËë?€ïÛ?€ßí?@„ê?;ì?@_ï?Åî?@Ûå?lì?€Fî?ð?ð?@í?¯Ø?@u?¬?FÑ?@õç?€Àï?‚Ú?€Ñ??Èž?€ÕÝ?€ã?Àôã?€Ü?@è?@ì?@¢è?‡î??ï?À%ï?Äï?À+é?À î?€ÿï?@ní?€›ç?@²ã?À!ã?€•ä?@ïâ?Äì?ð?ð?ð?€úï?ÀÁç?8Ò?¿?àÍ? Ã?•??¸£?@Eé?€Ví?¸Ã?¼¸?¡Á?rÂ?€Å?2¼?xÄ?À:á?À5å?À§ê?§ì?€®ë?€Üê?€&î?@çï?ð?@þí?@ï?À×î?ð?À©ï?€ßï?€Íï?ð?ð?ð?ð?ð?@èî?@ôï?Àé?$­?€×?€äÛ?=Ú?Ë?@?Öä?Àâé?¬³?À­?€ŽÜ?Ü?ÉÆ?€ã?€^ß?tÖ?wÝ?À-æ?€aé?Žì?@ë?€8á?â×?ÆÝ?€èæ?ˆç?Àðè?³ä?€øæ?À,î?À÷ï?@¨ï?@„è?@Ãã?Šæ?€ÛÔ?\¦?çÓ?T£?@”?S?L£?dË?€f?:µ?ìÉ?˜æ?€Jã?€£Ú?€Ñ?€oæ?Eê?€²è?Àoç?@/ç?€,ï?€aå?Ìå?ð?@¡ï?@'ï?€Lé?ýÖ?€-Ð?@_â?‹Æ? Ÿ?P‡?k?L¢?QÏ?×Â?z¹?€¶è?@zì?é?@é?€¸æ?@vç?Ü?€áÝ?@qè?@é?Ðå?À$ì?êÄ?°?ñÑ?É?hË?€Åå?ùä?©Ç?À!ä?€Åê?Àæ?žµ?Ô¨?¨¶?GÉ?éÊ?€aá?º°?¹?hž?@Æ?ÀOà?Æ?À9à?Àlâ?éæ?Àûã?àq?(©?p‘?Z¿? §?Â?ˆ“?À´ä?:Ã?)Ñ?€ Ó?P‰?à€?œ¸?ø™?ðµ?€"Ü?±Ì?@p?è°?»Í?Å?€¹Ó?°€?ž?v²?@x?Òº?8¢?`›?PŸ?D©?R¹?@p?°À?€Ñ?¨™?µ?0?д?@ƒ?$ª?¬¢?ð?§? ‰?ÈŸ?€=×?Í?Àl?0?H?à£?ÍÎ?@*â?WÜ?’À?°¶?z¶?D?œ¢?²°?x«?ŒÃ?P±?°‘?˜?V?@h?BÓ?€ßê?ƒÚ?º?Œ?®·?L¯?ñÓ?@?0›?IÔ? r?‰?Ј?V? £?p©?þ±?h?)Â?ªÕ?€ÀÜ?$Ó?e?YÙ?À®è?¡ê?€öÞ?wÁ?À‘?,?X°?€4×?æ?pÐ?±?x”?8—?€0Ø?!Ä?€<Ú?ð‚?]Í?§?xØ?€Ý?ùÔ?ðœ?/Ë?cá?€ÏÝ?ÀËë?€ñà?¥?0? ?€nÖ?æÆ?€?,?ÐÎ?Ъ?À˜?4Ö?À›?4Ï?Èœ?àu?›?åÍ?°Æ?øš?|Á?À`?@i?@h?.µ?@Gê?â?u?…?k?Àt?þ½?:?C?L?Œ?xÆ?¢?·Æ?§×?äé?@í?Àæ?€Þ?@•? ?Ÿß?`y?x©?PŠ?b±?€âØ?€äé?Àï?zÝ?àv?Àçè?@®ì?ØÛ?€€ä?è?ª°?`u?øš?Ð’?P‚?ؼ?)Ø?7å?Àãî?@öï?@Ää?Àç?X›?KÉ?À’è?æ? ƒ?¨•?à? ˜?@„?X˜?ìÁ?°€?4«?í?ðï?€³ï?@pí?†Þ? Ã?ÀFç?€OÝ?xÁ?ж?p±?è—?eÃ?•?nÕ?pƒ?ô¦?‘?€<Ú?€Ôê?ð?Äî?ÁÒ?‰Â?€ïÐ?¶?ð€?x?(Ÿ?Â?_Ä?Á?¾Û?“â?‚ê?ð?€óï?Øà?€bÝ?€Zá?Àá?€pØ?§Ø?Í?€AÓ?h“?S?€áÒ?€bã?€tï?Àæï?ð?ð?ð?À£ì?QÐ?*ì?hã?úå?ŠÃ?à?žâ?yè?Т?޶??€Çà?ð?ð?ð?ð?ð?ð?,â?£Â?@–á?Ààï?ð?Pâ?h“?d?L¾?€Üê?åÎ?š?@×ã?Àä? ?t´?l¶?@œé?ð?ð?ð?ð?ð?Îï?(Ô?@çä?óï?À‹í?”¶?!Ç?*¾?ËÁ?@%é?€.ì?7Æ?€mÖ?«Þ?ƒ?L¦?@ûå?À5î?ð?ð?ð?ð?ð?ð?Pè?úº?¯Ú?ÀÐ?@?ã?tÕ?`¸?Kë?ð?À*î?Àã?ü¯?úË?Æ?¯ã?@'ê?ð?ð?ð?ð?ð?ð?@ýï?¥Ú?p˜?ùÄ?@†?¼Ä?@ é?¾í?À ç?T¹?Ë?@ué?å?Àðï?Àæï?ð?ð?ð?ð?ð?Àøï?Ìã?`q? €?x¨?:Ï?ãÛ?€ôÓ?4ã?€ïê?ð?ð?ð?ð?ð?ð?ð?ð?€“ä?Pž?`ª?€ÖÒ?n¾?0?4?$?h?8?@‘?@o?“Ã?cÌ?È›?Àå?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ñ?Ài?À"æ?ð?@ï?jå? Í?,?xÎ?@ˆà?`€?¨?B?€S?Ü¢?œ¤?€aâ?ð?í?€gç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€á?8¥?@Eï?ð?ð?ð?@#ï?Ê?ˆª?Àhî?ÐÛ?P˜?èÍ?I?–À?€Ÿé?êÊ?•?”?‘?Pƒ?€«ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒÙ?½Ç?€ñï?ð?ð?ð?ð?À,ë?®½?Àx?@ƒã?@Ìë?€‚Ú?R?€BÔ?ð?À½ï?@í?ÀŽï?dé?ÍÌ?íÌ?ð?Àì?§À? y?MÆ?ûÅ?Œ¤?€k? ~?ý×?]ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁí?¼®?ðÂ?ð?ð?ð?ð?ð?ð?«ß?ÀÐè?ð?ð?@;è?wÃ?@3á?ð?ð?ð?ð?ð?ÀÁæ? ?t¾?@£?@½í?ð?€Dç?ŽØ?€óà?¤¸?H’?à–?}Ã?ä?€së?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sï?ò¶?¬ ?X¥?À¤à?€•Ò?h¦?ð?ð?ð?ð?ð?ð?Xï?€;Ý?²?UÍ? ?è•?€ à?ÀDê?»î?ð?ð?ð?€åë?€ˆÚ?@æ?À„î?ð?ð?ð?ð?ð?^ï?ÊÆ?²?€}Õ?èË?ìÓ?€Õë?lä?ð?´â??ÀKå?¶Á?ú°?P®?ùÀ?€Šã?À(î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁç? ‡?è¶?€{Õ?ÍÄ?Å?¢´?,¥?Àh?@ä?€Û?l±?L®?8›?€qî?ð?ð?ð?ð?ð?ð?ãï?,ï?Æï?À1î?ÀÈä?€\ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åâ?h·?ÝÕ?€yá?°é?Àï?@êï?@në?œÀ?€kÒ?€î?\­?À{?ÒÀ?—?@ å?ð?ÕÇ?`ˆ?ìª?€Üâ?(¸?äÇ?à¿?lÙ?;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?€é×?ȧ?£Ò?¾â?@øå?€è?ùî?ð?ð?ð?ùî?€Ïì?@Rá?¸³?Ö¾?€Éï?Àæî?°Õ?d¯?€ÆÓ?×Þ?RÙ?h°?€#í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï? »?›Ç?@Xì?ð?ð?ð?ð?ð?ð?@°ê?ÛÈ?€n?Íß?ð?>Ü?H´?À8í?@<é?SÓ?J¼? ?(µ?n¾?(ª?Àûé?ð?Àëá?>±?H™?“?H£?0°?¶?€‡Ô?€Úë?Àèá?ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀZã?°†??ÂÃ?ÀBê?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘è?„¡?nÄ?ð?ð?€í?\Ã?pž?€â?@Lí?Àäï?ð?÷ï?ªæ??(?‰?@hë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&Ý?NÄ?@=î?ð?ð?ð?ð?ð?ð?ð?ð?@Šï?€RÚ?Pž?€˜ä?ð?€cì?æ¿??»?Ôâ?nç?€»Ü?’Ê?¨’?,??¸È?pí?ÀÉï?@‘î?€­é?À@ã?€Ý?€3Ô?‰Þ?ÀÜå?Àà?€„ì?ºî?€3ì?m×?iî?ð?@«ï?@–ê?xÕ??àx??€Vá?@r?}Ö?€gÜ?À&î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃî?V¸??€cÒ?/å?€Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? æ?P—?\¾?–ï?ð?ð?@ì?€Ñ?€Ø?Úä?Àç?ð?ð?ð?ð?ð?Àçï?¬Æ?ƒä?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?€aã?TË?˜¥?Pƒ?ÀUè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬î? ®?€}?L¸?°®?¼Ã?Üæ?8ï?Àë?B¶?xÖ?€Ïï?ð?ð?ð?ð?@bï?@ê?@<ä?À,à?À–à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÖÒ?h½?ûÈ?İ?¾×?t¡?€vÒ?€8Ð?€}?àž?€ é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¬â?€GÞ?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{ç?@8å?CÈ?@á?Àäï?ð?ð?@:ï?€MÞ?д?€Úà?Ià?€ç?Xœ?€rÜ?€‚ì?ð?ð?ð?ð?ð?ð?ð?ð?€Rä?À?š?š?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?€üë?’à?¬È? ®?˜™?@†ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ï?ˆÏ?ÙË?@šæ?€#ï?jì?ËÉ?ö×?ð?€é? ?€gÖ?ð?ð?ð?ð?ð?ð?ð?ð?€ î?@¨â?@{?kÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À(î?@Õí?@éï?Àí?úæ?WÃ?@b?oÞ?ˆÇ?D¥?þ´?°ˆ?0¡?\Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?UÕ?À…ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üî?¥Ê?€~?å?ð?ð?ð?@Ûï?À”é?ð?ð?ð?@9å?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?€Ñ?H?Î?€aÚ?€ä?Eí?Àrå?GÂ?€Ù?Ú?â?@Ìë?¤Ì?´ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ï?@Õì?Àå?@´à? r?àq?€¶Ð?º±?Ànæ?!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‚ï?€§ï?ð?ð?ð?Gì?(Ù?´½?‰è?ð?ð?³Ê?Àa?ˆ–?èÁ?Àté?ð?ð?ð?ð?ð?ð?ð?ð?@å?ªÕ?@¤æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üî?€Dé?À»ä?â?RÝ?ÝÇ?X?ð‘?¯À?°ƒ?X•?H›?pŒ? Ì?øš?ÀFæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*ì?Hš?]Î?€¨Þ?˜“?é?À·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@1ë?Ää?9Ï?Ȫ?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?‚?Z³?šÍ?€hå?@µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óÑ?w×?Àçï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œé?Œ?, ?ÀRå?ð?ð?ð?Àì?€eÛ?€·Ö?€OÛ?@Òí?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæ?Л?Dá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûí?Àoä?€ÈÐ?¿Ê?/Ã?‚?Lª?ˆ?Ì´?\¸?Þ´?@Rä?WÞ?Á?)Ì?ð?¸è?ìë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€å?†?¦±?bÄ?€ß?°³?Àaæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€KÛ?à‚?°‰?¯Ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?”å?€¨å?€±í?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yî?áÑ?Œ·?ˆè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøî?€hÓ?¨œ?'Ã?·Ð?BË?ú¿?·Û?@·ä?þâ?À¹â?Àêï?ð?ð?ð?ð?+î?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×â?œ¢?@”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ï?€€ç?ÀÓì?À„ã?Àf?4ª?†Ù?¾?{?œ©?€¼Þ?€âæ?@«ã?6¼?€aÓ?@œ?€Ð?jï?oØ?9ß?’»?\£?Pæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qå?@„?TÃ?€$ì?@˜î?õË?¢?~·?€Që?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ë?JÐ?ôÒ?(Ô?p ?`ˆ?F?@?þÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBë?î?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?@í?@ æ?ðæ?@¬ì?ð?€Éï?@]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@cë?CÌ?ºÆ?€êÒ?€é?@ãç?;ê?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?€5Ý?€·Õ?óê?ð?@{ç?ãÀ?ÙÀ?€×Õ?æ?€»î?ð?ð?@ç?à?`t?@ìã?ð?À×?´?@Æã?XÆ?À€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?Àüá?p‹?€g?Ìé?ð?ð?ð?@ å?€,Ö?Ï?ïí?@µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰î?@«î?@Þï?†é?ZÙ?€ÝÛ?ìª?—?œ?À•?}?¸§?®Î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³ï?>ï?@ ì?À¶ë?ð?ð?ð?ð?8ç?À†?@ì?ð?@Æê?À]æ?Àwï?ÁÇ?€ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?8°?Ê?€§ã?–?»?OÞ?À¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²ï?ÀÒá?*ß?@”á?€òá?€Ûá?>Ì?¡?œ? |?d«?\¥?J?€k?­Û?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ræ?¼Ä?2?ÒÃ?òà?Ñ?@bï?ð?¸Þ?€’Ò?@Øï?€Dî?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ô¹?&º?ð?ð?€õï?€Ý?0†?T¹?Üè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hï?@Àê?€à?€ñ×?‹Ã?Ö¾?}Ý?ÀVé?@#é?@ká?åÍ?P‹?€f?à°?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=ï?€Æç?€pÛ?à¯?¦?úÝ?Àå?ð?Èæ?BÐ?ÿÊ?@_á?À(à?À³æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ¥? q?©Â? Õ?üÍ?À0è?ð?ð?@üï?@gì?Kì?À¤ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×î?€øë?@Ùï?ð?ð?ð?oï?€ðè?À,æ?@æ?€mÜ?¾?•??ƒ?Б?ÊÂ?Y?ÙÉ?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ÀOé?ºµ?€z?€ Ó?€óî?€RÒ?à?Àšä?Àéæ?½Ý?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±À?$?äÜ?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íì?€‹ë?@-è?§ß?GÚ?KÉ?ãÍ?†á?ð?¼?à|?d¼?€fÑ?}è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eà?¤¨?|Á?€)Þ?@Ãã?åá?ƒ?Ä¢?$¼?ûÔ?€Û?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€CÙ?‰?°€?»Ë?€=Ú?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?°?<¦?€ÄÙ?€Øé?Àfî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?€¿ì?€Êî?ð?ð?éì?P„?€†?–Ë?€/ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ß?uÁ?qä?€qê?>í?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—ä?Àº?À:ã?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘ß?`€?¼«?€|ç?€jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûÛ?€c?X ?€s?˜—?üê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·î?½?à¨?@àê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?à?p?¨”?€rÑ?@Ñâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûé?€-æ?€ì?µÉ?U? Î?@’â?@yì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?¼Ö?U?dË?€äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬ë?€òÝ?ÁÀ?€þÜ?@Ÿé?‚Ê?[Ñ?@è?WÙ?V¿?ªÉ?¿Ç?@Iæ?ܲ?Xœ? u?ŠÀ?¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èµ?Ч?°?.´?yç?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ì?P©?úÌ?@<ê?€¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?À¹ï?ð?ð?@ðï?€øï?ð?@íê?@êç?ñÝ?Àç?€Ùï?@ðï?@åï?ð?[ë?HÆ?@”?à˜?N?€}á?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?„§?Ö?†ì?À¢ì?4Ê?Í?Àå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Fá?€_×?®À?@dá?Àï?ÀËî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@7é?R¸?ζ?ò²?à’?€_?€x?Àq?p‹?)Ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¬ï?4©?€P?<§?Àî?ð?ð?Àœã?€Œ?JÚ?€:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³í?€¦Ü?Ÿ?@–?¤Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?À›è?Ј?O?V?€«Ó?€Ò?W?4°?¾Ñ?Àßå?+Á?V?ÆÑ?À\ã?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?x¸?€R?€x?àß?‘?ˆ¦?€T?2Ä?ð?ð?ð?Àbî?Ü?ö¶?†?Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6ë?€8Ó?€T?À°ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€`ã?ÆØ?øØ?€+Ð?’Ó?O?¨™?àq?t ?Oà?@ï?ð?ð?@Yã?@˜?`?Pˆ?€#Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œï?@Èî?@ë?0?€‘Õ?@Çç?@*é?@ê?€Ú?€õë?À©á?¥Å?P•?Eå?ð?ð?ð?ð?Ôí?ÇÉ?`£?€Îß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Hï?€uÕ?€e?€ÈÒ?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïî?€tí?€Ý?dí?ª°?Ĩ?@ å?ð?ð?ð?ð?€”ç?¦?ïÓ?ÆÍ?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëî?tÎ?½?„°?.º? ï?ð?§é?àt?©?ð„?´Ì?€#Þ?׿?ð?ð?ûÜ?ÀDâ?ð?ð?ð?ð?ð?€©ä? p?(?€qá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‡î?€ñÚ? s?.³?à?€ÁÞ?M?€%Ó?Àþä?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úè?ê? Þ?hœ?†´?h? v?°’?ùÀ?Àùê?ð?ð?ð?æ?ªµ?±?€oë?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€^ã?,?€Ðâ?ð?€Iì?à|?ÌÀ?€åá?€wå?@î?€á?Ài?€9Ð?@ãí?ð?ð?ð?ð?6Ý?@må?ð?ð?ð?ð?ð?Öï?€râ?ð¸?<®?€Éß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?”Ú?޵?@ë?€eî?ô¶?z¿?€£Ú?€Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ï?vê?À‡è?V²?ˆÙ?â?€j?€"è?ð?ð?ð?€£ï?ÀXç?€f??Ü×?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éß?@áâ?ð?èï? Ï?½å?ð?ð?ð?´ì?’?¦°?ÀÛí?ð?ð?ð?ð?ð?óç?€Wâ?€IØ?[Ì?€ é?ð?ð?ð?ð?ð?ð?ð?€ƒì?€ßä?Ê?€\Ö?æÒ?Ë? Œ?àt?–²?€ ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,ï?Á?€à?ð?ÀÚï?ÀHå?Àñé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñè?Í?¢µ?HÍ?Ü¥?RÕ?Ìî?@ä?€ï?ð?ð?ð?ð?@±ï?Ô¹?`{??ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÀÛ?`?€áè?ð?ð?²Î?ä¦?Ò·?¼ê?ð?ð?ð?Àtî?´¡?Á?й?º?º?8À?À¶?4¡?  ?€EÓ?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?Úï?€(ê?€8Õ?? „?Û?Êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHë?‚»?ùË?€Ýî?ð?ð?Àÿï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûî?aÐ?FÅ?€Zæ?Âç?ñï?€Ú?Ì¡?Ú?€¢Ô?yÌ?@¯á?Àþï?ð?ð?ð?ð?ð?ð?ð?há?ü¹?Hí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lÕ?³Â?€öè?ð?ð?!ã? £?Nã?kí?ð?ð?ð?ð?ð?€±ä?@ï?¹î?€Îî?€Îî?À£î?@|æ?:²?)Å?@Iå?ÀÀë?ÀÜî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’æ?áÁ?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?î?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'í?V²?4¯?@/î?ð?ð?€zí?@ëê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Då?ÞÓ?À*î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ì?@¯?Àê?ð?ð?ð?€Vì?nº?€JÖ?xâ?€ŸÙ?›?¸•?ð…?p±?@Ž?< ?@?üÉ?€cÓ?ÃÆ?€˜è?AÎ?ýÌ?NÒ?J?¯×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€ì?bâ?WÙ?@ié?zè?À«á?1Ì?€•?}Ë?@Ïá?Àöæ?€ÙÒ?€»â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€â?×?Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íê?0“?ÙÈ?À:æ?€ðã?@Oê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?á?€±è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?7É?4?ïØ?Àã?@Cí?ð?ð?ð?ð?Ûï?ð?ð?ð?Àzé?€AÙ?~º?L¦?Œ¾?À?*½?€ÃÜ?î²?/È?¯?€(Ö?Úì?Bê?@¯ë?€ì?Àî?¤Ù?Àéâ?ð?€Üë?ð?ð?ð?@¶ï?À\ä?Íç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‡ê?€]Ý? ¦?î´?ÓË?\¸?@–?oÂ?Ï? À?@Öå?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðí?@çè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ì?Ê?€~Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Aí?È?OÃ?À®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿î?€…ì?@0ï?¤ì?€Mí?Eï?@†ì?@„æ?€ Ö?@>ë?ð?ð?ð?ð?ð?@7î?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?@¢è?€ê?Àðí?ð?@ní?€yá?@d?4×?´ï?Àñî?ÀÖè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓê?€ºÒ?€Ø?½Å? ?`™?²?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç?´?¨®?ÛÑ?Íæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?@öî?@Jë?€ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pî?€ûà?ÀÇä?@úî?ð?îï?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oï?ÀPî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?À‚ï?À"æ?oì?€îà?D?Àh?Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áä?`v?h’?ÐŒ?Hº?®Ø?Àèá?€-Ý?€3Û?€Zä?àî?€Ôî?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃí?@ï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?ð?í?iÃ?áÊ?€?Ó?EÕ?¤¾?Ã?X¡?S?Ÿ?0ˆ?ð“?À{?lÈ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À_ç?L?ÓÄ?©ã?À¶å?á?h¨?h•?Ë?€#Ý?Àé?@wí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Fê?€|ì?Àqì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èé?€à?ð?ð?À»î?@Šï?€áé?]â?€8ä?°?0‘?Í?€Ýæ?€—í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ˆï?X®?_?@ ì?ð?ð?ð?€ƒá?Mä?›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è?@é?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?Àvå?ƒç?N¸?À}ã?Àï?À–ì?@þà?@ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µî? w? Ó?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€gÐ?>°?â²?ŒÆ?`˜?€’á?À2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?É?UÌ?hÒ?Àç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðì?Êç? ¯?€Š?€£å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?uá?TÛ?Àõê?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?ÎÔ? x?nÆ?£Î?pÜ?@]ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ã? À?Àpï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?@"à?™?DÍ?—?PÐ?/è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šé?p?€Và?Žì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—â?8»?€ZÞ??ª´?€aï?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À í?O?Ö¹?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?‰ä?€ðØ?ÀBé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?Ч?@{?À5ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýé?Е?m?î°?€ªÒ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áÁ?kÜ?€®ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ºÓ?`—?¯Î?¡Ö?ŠÚ?&Ó?€ß?{Ï?PË?€á?À é?‰Ö?€ÔÙ?@é?€*Ú?¦º?ÀJç?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ë?€[?2³?ÈÐ? Ö?€…ã?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åá?úÄ? u? q?€è?áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òê?€êÓ?PŠ?@"á?ÀGè?@5ë?ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{Í?€o?=É?câ?£î?ð?€¥î?@Ñè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dî?€òÒ?AÁ?³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kØ?’?½Â?ܬ?;è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Gï?™Á?…À?\ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?ðÖ?N?`”?vä?€—á?Àëé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À!ï?@Uá?Àc?Ø“?Èš?Èš?`?(?Èš?P™? †??€dß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?Ô¯?Z¾?€Më?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?p„? w?üØ?#ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?6î?@ïà?`…?”£?œ?€<Ø?€!ë?Âë?Âë?Üë?Úë?Âë?€zê?Ð…? ¬?Àoâ?Àòé?ÀZà?Œ¶?€‚æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦³?@m?ˆª?`‘?à¶?@×â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ÀOæ??Àr?ÞÊ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?À»ï?€­Ý?€Ð?€#é?üç?€ØÜ?€Ø?€ç? Ö?Àä?€é?êï?ð?ð?ð?ð?ð?ð?@µî?†?pº?@zï?@sï?§å?š±?P¼?Ànì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?p³?€‰Û?€ î?€þì?@Zà?@ä?hî?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sï?¸Ã?>²?0€?[Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âî? –?ð’?²?(»?CË?€·ß?@Ìå?·ï?ð?Àßï?€$Ý?Ç?:Æ?èÆ?´ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.µ?€¿Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àå?€äÐ?Àï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€RÝ?`¬?ª?º?@^ç?@íì?€î?Àâè?€Ìà?>×?€tÞ?ÖÐ?¹Ý?ð?ð?ð?ð?ð?ð?@,ï?€Sí?€UÝ?€VÓ?1Â?€NÝ?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸ì?ì¦?~À?@=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À§ï?aâ?$É?p?…?T?²½?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žï?À…ï?@ƒï?€¢ì?áÞ?2²?¥Ä?@;ì?ð?ð?ð?ð?ð?ð?ð?€©ï?•å?€Üë?Àºë?”Õ?ø?ëå?ð?ð?ð?ð?ð?ð?ð?÷ï?€ìï?€ Ò?€íÔ?Àä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vê?€h?¾³?Àiê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?ÆÆ?€?€6Ò? Ó?ð¨?³Î?!Ò?Àµç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òí?@îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëì?DÀ?üÍ?Àêï?ð?ð?ð?ð?ð?ð?ð?@Òï?€ú×?3Ø?€žÜ?€ßÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?kè?@òâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µî?@ì?€×ï?µç?, ?l»?J¹?@Eï?ð?ÀÉì?F¿?€ÁÙ?"½?D©?€Ðæ?Àpç?ËÞ?@"ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ç?ت?Pé?ð?ð?ð?ð?ð?ð?ð?ð?Ãí?€ùï?Øï?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞî?€UÒ?à‚?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀOî?^Ý?À¦?@þã?+à?žÄ?TÙ?̤?ßí?ð?ð?Çß?ܬ?J? ‡?@§â?eÇ??Ĥ?zÕ?ÀŠï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›é?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àä?”¿?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ê?„Ø?@š?’?ƒÇ?¶Ô?pŽ?|Ü?@¼ï?ð?ð?ƒï?@øì?þç?€ðØ?òÌ?ê½?pŽ?~Û?€ðï?Àšé?@?òÚ?Pì?9ç?€ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âî?ÄÂ?ßà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?@”ë?€¢Ò?A?€[?Ƶ?€¤æ?@çï?ð?ð?ð?ð?ð?ð?öï?@èï?Àï?@äê?€»Ø?R¿?¨‘?Tæ?ð?¬ï?»Ä?{Í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-ï?©?O?€þê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?€#à?Àv?à€?åÉ?@Œæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸ï?@Hè?óØ?€-Þ?Ð?\¨?Vµ?”³?Á?€Úá?”Ã?€Õ?ð?ð?î?PÅ?€¿Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?HÒ?€PÑ?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡î?Àáä?Yè?@`?±?†×?À¤æ?@®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ì?À"æ?À4í?€Qí?@$ä?€ Ú?€…í?ð?¹æ?À‘?€xß?ð?ð?ð?þÅ?…Â?€jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?Àr?„?Ûà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ú?€\?°“?²¼?`ƒ?€Â×?@‘í?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—ã?€â?€>Ú?%Ð?€‹Ó?€S?‡Æ?€5í?ð?€ýï?ܽ?|°?(¢?L§?&²?(’?A?€ß?€•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€XØ?b¸?€Dì?À7ì?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶â?‹?à¬?0‹?µ?;Æ?Àmå?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ÿï?Àå?¶²?Àöä?ð?âï?wâ?.î?Àì?Âì?«î?Àá?Àf?€nÒ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºì?¤²?@p?DÑ?@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎì?²´?P?€n? t?€&Ñ?€Tè?À‰ì?@#ä?€-î?ÀSï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€JÛ?ÏÀ?@·ì?ÀÙî?íæ?ð?ð?ð?ð?Bá? ±?ÀIë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„á?€j?P?XÜ?iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶î?@†è?€„Ý?)×?a?€T? ˆ?EÊ?@~æ?¹ä?@Zé?3ê?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôé?õÔ?º?¨¿?Àç?€wå?ð?ð?ð?ð?æÑ?>´?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€â?|­?€qØ?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüã?2À?X–?ô¾?€Ñ?:²?óÒ?À å?ƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?ð?Àžá?@Nâ?ð?ð?ð?ð?ð?@ï?¸¨? u?Àýç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€=ì? ¥?]Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?×?€ûÕ?ÀÇî?@½ï?€!î?€qØ?³?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?ûï?ð?ð?ð?ð?ð?€‡æ?€Hâ?Sç?lÜ?°Ý?X»?€šÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êã?ùË?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ì?@`?`w?@@í?ð?ð?ð?@ùï?€­í?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çß?Êï?ð?ð?ð?€Èæ?(Å?€Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀYí?@-à?¦?@}ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?YÄ?@1â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëí?€>î?ð?ð?ð?ð?€6í?@ãè?\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@à?€Þ?Àýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?îæ?€°Þ?@3à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pî?‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?€Áâ? ‘?T³?/Ó?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?_î?ÀLì?ÀÃï?@í?Ö?Pº?€ïÒ?ûì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óä?и?Pª?€ýà?@î?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@–î?<³? À?€Ô?ÕÎ?T?̽?·á?@¯ã?Ùå?Àžê?î?€£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûì? Ð??Û?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›è? €?Àa?‘?Є?bÌ?€¬æ?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØä?H§?¤?@†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?øº?¢Ê?€8ë?ƒé?À”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ì?³Ç?@{?Âì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëé?à·?Àg?AÆ?€Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Wê?J°?¬Í?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À9å?€|?<¬?³?"Ç?¾¹?0?W?#È?@ƒë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯é?\´?r¹?À{ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHê?N?0?™?Àƒè?§ï?ÀUî?Må?€pé?Îß?€Ÿé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àç?X®?«?øÚ?@Ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ì? š? €?wæ?$ï?Ïí?Ëë?€²ç?€cé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íç?°À?ÎÉ?šî?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€­ì?l¡?×?€Úë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àeì?ÎÙ?ðŽ?¯Ò?À³í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?|º?;Á?€Ùé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?@öå?0Œ?€ZÑ?ÀKï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Té?Ü­?Lª?ÝÂ?@¯ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Xï?€5æ?P¨?¤©?Àã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[×?à ?H¬?£Ï?XÈ?aÞ?1Ó?ü¸?(’?U?ÀÛè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]ê?€VÝ?áÄ?Àhå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?ß?P™?À»à?Àvî?ð?ð?À§î?±â?@?é?Àæç?€ôÖ?ðŽ?p‘?€Øë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?>ï?wæ?¼»?¥?ÀÁã?@îà?€Dê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºì?H–?Â?À]ë?@€?¸š?´Ê?êÎ?À›?ÀÒæ?ð?ð?ð?ð?ð?ð?ð?ð?€×ç?çÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wë?vÅ?gÅ?@Èë?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.Ô?¬µ?À¤í?†Ö?àà?îÕ?`¢?€ßÙ?@øï?ÀÕî?œá?g×?mÁ?ê²?ô¿?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³ï?€Ôä?X¼?xœ?@ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ý?lÜ?ð?ð?ð?@îï?€_í?@àí?ð?ð?ð?@ýï?Àúì?ÀYå?rÕ?PŸ? Ì?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?,î?¾Ò??Hž?€Kæ?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xã?€‹Ó?"¼?€oé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºë?ç?†Ú?¢´?V°?̼?Àþà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Nî?¼Ä?Ê?AÛ?2Ã? s?€ à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?uæ?>Â?@%â?€0Ð?Àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€dì?®Å?¾¿?€ä?³é?€bî?@&í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—ì?tÛ?è’?`z?å?Üí?ªç?9Û??òÀ?€læ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æê?@ôê?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uë?ê³?"Ò?6î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ê?J¿?˜¡?ÓÔ?@:è?ð?À©í?ð?cï?€vá?pÖ?€:Ú?@Šä?€pà?€ÊÖ?€¾?´Ñ?æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{ê?€[?â·?À~è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@µï? Ù?@"ã?/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïì?@7ä?À²á?€Ô?ì¢?@?€UÑ?rê?À«î?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ì?À¬à?€¿Ø?]Ù?¤à?€qÔ?€ýÐ?æÏ?„¿?ø±?ü¸?Œ²?À®?¬?x´?À®?¸°?°›?ˆ ?¼²?€'æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?‚í?€\î?”í?1í?í?ÀÏí?1í?[í?€)ì?€Sì?ší?@æ?”Í?€Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?emoslib-000392+dfsg.1/land_sea_mask/parameter_processing_defaults0000755000175000017500000000140212127406245026265 0ustar amckinstryamckinstryParam lsm wind prec lsm interp ----- --- ---- ---- ---------- 131 n y n n 132 n y n n 140 y n n n 141 y n n n 142 n n y n 143 n n y n 144 n n y n 165 n y n n 166 n y n n 170 y n n n 171 y n n n 172 n n n y 173 y n n n 182 y n n n 183 y n n n 184 y n n n 190 y n n n 191 y n n n 192 y n n n 193 y n n n 199 y n n n 200 y n n n 228 n n y n 239 n n y n 240 n n y n emoslib-000392+dfsg.1/land_sea_mask/lsm_xx_lsm0p25deg0000755000175000017500000037536412127406245023463 0ustar amckinstryamckinstryÿÿÿøÿÿÿÿÿÿ|ÿøÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÀÿöÿðÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿãÿÿÿÿÿÿüÿøÀÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ðàÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿ€xÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿþøàÿÀÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀà|ÿÀÿüÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü€þÿü?ÿÿÀÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø|ÿøÿÿþþÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿðÿÿÿ€`ÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàðÿÿÿ€ÿÿÿ€ÿÿÿÿüÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿþÿÀÿþÿÿ?ÿÿÿÿßÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿðÿþððÿÿÿüÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÀ?þÿÿ€ÿÿÿÇÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿøÿøþ@?ÿÿóÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?àÿü?ÿüÀÿÿÁÿ€ÿþ?ÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿðÀÿü€à?ðþÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿàüþààÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÀÿ€ÿÿ€~?ÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿþü€€?ñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿüÿ€ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøÿÿàÿÿðÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ0ðÿÿøÿÿÿàÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð ÿàÿÿÿÿÿÀÿü~ÿ€ÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿðÿøÀ~xÿÿÀÿ€ÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÀÿãÿÿÿÿÿÿÿüþ7Áÿÿ?€?ÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÀÿÿÿÿÿÿÿÿÿüÿÿÇÀ‡ÿÿàÿàÿÿÀÿàÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÀÿÿÿÿÿÿÿÿÿÿÿþÿÿßðÿÿÿÿÿÀÿ€ÿÿøÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿüÿÿÿÿÿÿÿÿÿÿÿþÿÿÿà?øÿÿÿÿÿƒ€ÿÿÁÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡?ÿÀÿÿÿÿÿÿÿÿ?ÿÿÿðÿÿþÿàÿÿüÿÀÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿüà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿðÿÿÿÿÿÿÀ?ÿÿÿà`ÀþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÀÿÿÿÿÿÿãÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿüÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ü÷ÿÿÿÿÿÿÿÿÿÿÀ~ðÿÿÿÿ€ÿðÿþàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?øÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿ€þüÿÿÿÿÀüÿð?ÿøÿÀ÷ÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøÿà|ÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿàÿÿÀÿÿÿþÿüÿ€?ÿàÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿøÿÿÿÿÿ€ÿà€ÿð?ÿÀþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿü?ÿàðÿàûÿø€?ü?ÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀàÿüÿÿñÿÿÿñüàÿþÀ?þÿüÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿüÿàþÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿßÀÿÿðÿà?ÿÿÿÿÿÿüðÿü€þÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿàÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿþ?øÿþÿÿÿÿþ?øÿüÿ?ÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿþ?ÿÁü?ÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿùÿøÿþÿÿÿÿÿü?ð?ÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿƒüÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø~ðÿÿÿÿÿ€?øÿÿÿÿÿþ?àÿÿÿÿÿÿÿï€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿ€ÿÿƒÿÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿüÿÿÿÿÿþÿøÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÀ€ÿàÿÿàÿÿÿÿÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿþÿøÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÁÿÀG¼?øÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿ¼ÿÿÿÿÿÿ€ÿüÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿÿÿÿÿÿÿÿàÿÀüÿÿàÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿ¿€ÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿþÿÏÿÿÿÿÿÿÿÿÿÿÿþÀãÿÿÿàÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿ`ðÿÿÿÿÿÀÿÿÀÿÿÿøÿÿÿÿøÇÿÿÿÿÿÿÿÿÿÿÿÿþüÿÿÿü€ÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿáøøÿÿÿÿÿÿÿøÿÿÿáø?ÿÿÿÿàüÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿáàþÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿ€ÿÿÿÿÿÿÿÿÿÿ€ÿàŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀçÿÿÿÿÿÿÿÿÿüøÿÿøÿðáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿð€€ÿÀ?þ€ÿàÿÿþÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿ€þÿøÿÿÿÿÿü?øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü0þ€?ÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿð€?üÿÿÿÿÿÿÿÿøüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøøÿÿÿþàÿÿøÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿýÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿàÿÿÿþÿûÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà~ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÿþçŸÿÿÿÿÿ€ðÿÿÿü?ÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿðxÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿþÿÿÿƒÿÿàðÿÿÿÿ?ÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿøøÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿïÿÿà€ÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿïÿÿÿü>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿ`ÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿþáÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿø€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüø?à?ÿÿÿÀ?ÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÁÿÿ?ÿÿÿÿÿÿÿÿàÀÿÿÿÿÿÿÿÿ÷ÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿ?ÁÿøÿÿÿÿÀ?ÿÿþð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿü|ÿÿ€þÿÿÿÿÿÿÿøáÿÿü?ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿááÿÿ`?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü ÿÿÿÿÿÿÿÿÿÿÿÿÿÿáððÿÿààÿÿÿÿÿÿÀá÷ÿÿÿ€ÿÿÿüÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿßÿÿÿðàÿÿÿÿÿÿ€ÿÿÿÿ€ÿÿÿÿüÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿðÿÿÇÿüÿÿÿÿÿþÿÿÿÿ€ÿÿÿÿøÿÿÿÿðà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøüÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿþÿÿÿÇÿÿ€ÿÿÿÿÿüÿÿÿÿÿÿÿÿü÷ÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßüüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÈÿÿÿàÿÿÿÿÿþÿÿÿü?ÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿð?ÿÿÿÿøÿÿÀÿÿÿÿðÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÇøÿÿÿøÿÿÿÿüÿÿþÿÿÿÿÿÀÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿþÿÿÿþÿÿÿÿüÿÀŸÿÿÿþ?ÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà>ü?þÿÿÿÿø??ÿÿÿÿðÿÿþÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿø8À?ÿøÿÿÿÿðÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÀøÿÿÿÿÀÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿ?ÿøÿÿÿÿ?ÿÿÿÿþÿÿÿýÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿàxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿü~8üÿÿÿþÿÿÿÿÿüÿÿÿÝÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿøàÿÿðÿÿÿþÿÿÿÿÿüÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿààÿÿüÿÿÿÿÿÿÿÿüÿÿÿãÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÀ@ÿÿÿÿþÿÿÿÿÿøÿÿÿ?Áÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð€ÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿ€?ÿÿÀ ÿÿüÿÿÿÿÿøÿÿÿ€þ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàþÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý?ÿÿÿÿÿÿÿÿÿ?ÿÿÀÿÿüÿÿÿÿÿøÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€xÿÿÿÿ€ÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿþÿÿÿÿÿøÿÿÿÿÿüÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ¿ÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÀøÿÿÿÿÿÿÿÿðàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿðÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÀðÿÿÿÿÿÿÀ?øðÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿþ0àƒÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÀðÿÿÿÿÿÿð{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀþ@Àùÿÿÿÿø?ü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿ€àÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÀüÿÿÿð€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÀÿÿÿÿÿýÀðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿàøÿÿ‡€<?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿø?ÿÿÿÀ€ÿßø~ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà@øøÿÿÿ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿàÀÿÿàÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ðÿð`ÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿøÿÿÿÿà?ÀÿøÀÿø!ÿøÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàpßÿà~÷ÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿþÿÿÿÿþÿðÿðÿÏð9ÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÀÿ€÷ÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿðÿÿÿÿÿÿøðÀÿßà`?ýÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ€?ÿ§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿÿÿø?ÿÿÿÿÿÿüàÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ€?ø ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿþ€ÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿø?à>û?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿüÿÿÿÿÿÿÿ€?Àÿÿàpð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿøþ{Ÿÿÿÿÿÿÿÿÿÿÿÿÿøÿüÿÿÿÿüÿÿÿÿÿÿÿ€ÿ€àÿà`ø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿðþø;ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿýÿÿüÿÿÿÿÿÿÿ€ÿÀ?ÿàþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿðü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿ€ÿÿÿÿÿÿÿàÿ?€ÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿðà ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÀþÀÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿüàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÌþ'ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿ€?ø?€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿ€øÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿà?üïÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿüÿ€>çÏ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿþÿÀã€ÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿþ ÿÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿü€ÿÿÿ@ÿÿÿÿÿÿÿÿÿÿßÿ÷ÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿðÿÿàÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿ€àÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿ€ÿ€?à€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿþÿÿÿàÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÀÿÀ?üð<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿþÿÿÿwÿ€þûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿô€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿçÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿü ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøðÀÿÿÿÿÿÿÿÿÿÿÿÿÿøxÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøüà@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8ÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùø?àÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¼ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿ€?þÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýø?Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿ~ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿ€ÿþÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýøÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿ€ÿÀÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøø€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿþ~ÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð|?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿø?ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà~?ÿÿÿÿÿÿÿÿÿÿÿÿÿûùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€ÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà~ÿÿÿÿÿÿÿÿÿÿÿÿÿûùÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿø€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ~ãÿÿÿÿÿÿÿÿÿÿÿÿÿùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ~€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿøy€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€ùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿðð€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€øÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿøÿÿÿÿÿÿÿÿÿÿà>ÿÀpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀxÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÀpÇÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿüþÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿ€ðÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿðþÿÿ€8?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€pãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿãÿþÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÇÿøÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ`ýÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÀÿÿÿÿÿÿÿŸÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿü`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿ¿ÿØÿÿ ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿø |ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿýÿÿðxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿð ¸ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿâ?çÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÀÿÿÿÿÿÿÿÿÿø0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðüÿÿÿÿÿÿÿÿÿƒÿÿÿÿÿÿÃþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóûÿÿÿÿÿÿÿÿÿü ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀð?ÿÿÿÿøÿÿþ‡ÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿŸÿ¿ÿÿÿÿÿÿþ>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀÿÿÿÿðÿÿüÿÿÿÿÿþ?ÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ†ÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿ€ÿÿàÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøƒÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÁÿÿÿÿÿÿÿþøÿÿÿÿþÿÿàÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿóÿàÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÃÿÿÿÿüÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿààÿÿÿÿÿÿÿàÿÿÿÿÿÿÁÿÿÿÿÿÿþüÿÿÿÿøÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀàÿÿÿÿÿðÿÿÿÿÿÿÿ€ÿÿÿÿÿÿðàÿÿÿÿðÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÀðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿàÿÿÿÿÿð?ðÿÿÿÿÿÿ€ÿÿÿÿÿÿà€ÿÿÿà?ÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿàÿÿÿÿÿÿ~ÿÿÿÿÃÿÀÿÿÿÿÿÿàÿÿÿøÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÀ?ÿÿÿÿÿðþÿÿÿÿ€àÿÿÿÿÿÿàÿÿÿüÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÁÿˆ?ÿ¸ÿÿÿàüÿÿÿü?øÿÿÿÿÿÿàÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿœ?ðÿÿÿpÿÿð?þ?ÿÿÿÿÿàÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?Àÿÿþÿð?ÿüà?þÿÿÿÿÿ€?ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÇïÿÿüÿÿÿÿÿøÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?€?ÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿüÿÿÿÿÿøÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿøÿÿÿÿÿøÿ€?ÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÌ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÀÿÿÿøÿÿÿÿÿøÿàÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿøÿðÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿðÿÿÿÿüÿÿÿÿÿð ?ÿ€ÿÿÿÿ€?üÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿàÿÿÿÿüÿÿÿÿÿÀÿÿÿÿÿÀÿÿ€ÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿàÿÿÿÿÿÿÀÿÿÿÿðÿÿðÿÿÿø ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿðÿøÿÿÿÿÿÿÿÿ?ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ ÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿà>?þÿÿ|ÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿü|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÀ>ÿƒÿï8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿøþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ>àÁÿâ?ÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€à@ÿàÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿðÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ>ðøÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþ>x?ðßÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþìÿÿÿþxøÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿ€`öÿÿýÿÿÿÿçÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ€þ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿÿÿÿàÿ€/ÿÿÿÿÿÿÿçÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÀüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿÿÿÿÀÏ€ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþpÿÿÿüý€ÿ€ÿÿÿÿÿÿÿÿûÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿàðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ ÿÿÿüøøÿÿÿÿÿÿÿÿùÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ððÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿøøüÿÿÿÿÿÿÿÿüÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð~øðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿàøðÿÿÿÿÿÿÿÿüÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿàü?ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿ€"€8øÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÀüÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ€ùÿÿø(ãÿîÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?üÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿüÿÿÿÿðà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ü?ÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿàƒ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàüÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€üÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€`ÿÿÿÿÿø€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ü ÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿø¾ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?øÿÿøÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüH?ÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?Àÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿð<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü<ÿßçÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ0ÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ðÇàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿ€ÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀƒç€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ8ã€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà0~>Á?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏàÿ8¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿ€àÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿàøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿüÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿüÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ|ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿþÿýÀ=ÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ,ø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ>øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿä|ÿÿÿÿÿÿÿÿÿÿþ`ÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿþ|ÿÿÿÿÿÿÿÿÿÿÿ€à?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ>ÿÿÿÿÿÿÿÿÿ€?àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïïÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçïÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿþÁÿÿÿÿÿÿÿÿàøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ïÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþðÿÿÿÿÿÿÿ€øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóïÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþð?ÿÿÿÿÿÿüü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùßÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿøü€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÇÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿÿðü`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàüÿÿÿÿÿÿàþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàþÿÿÿÿÿÿàþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿàûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€?ÿÿÿÿÿàÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿ„Gÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿŽÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÌÀÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿîÀü ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿüÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàüÿÿÿÿ€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿüàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€<?ÿÿÿÿ€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿþðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ>€ÿÿÿÿ€@?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü~Àÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð~àÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà|àÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÀ|Àÿÿÿÿ€üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøxÿÿÿ€?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿþÀ0?ÿÿÿ€ðàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿü?ÿÿÿ€àþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿþÿßÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿð ?ÿÿÿ€ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿüÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÀ ÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿüÿŸÿÿÿÿÿÿøÿÿÿÿÿÿÿÿø€ÿÿÿÀÀðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿøÿŸÿÿÿÿÿÿðÿÿÿÿÿÿþàÿÿÿàøþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿð~ÿÿÿÿÿÿðÿÿÿÿÿÿøÀÿÿÿàÿøÿÀ0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿð?ÿÿÿÿÿÿàÀÿÿÿðÿøÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿðÿÿÿÿÿÿàÀÿÿÿðÿðüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÀ?ÿÿÿøÿàþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿ€p`ÿÿÿüÿÀ?øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿþÿÿÿÿÿüÿÿÿÿÿÿðpÿÿÿþÿÀ~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿþÿÿÿÿÿøÿÿÿÿÿÿðxÿÿÿþÿÀÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿà`ÿÿÿÿÿÀÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿþÿÿÿÿÿàÿÿÿÿÿþàÿÿÿÿ€ÿÀÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿðÿÿÿÿÿÀÿÿÿÿÿÀÿÿÿ€ÿÀÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÀ?ÿÿÿÿÿ€?ÿÿÿøŸþ€Ãÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿàÿÿÿÿÿ€?ÿÿÿÿÿ€ÀÿÿÿüÿÿüÿùÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÀÿÿÿÿþ?ÿÿÿÿÿÀ?€ÿÿÿÿÿÿÿ~0€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿüÿÿÿÿüÿÿÿÿÿà?€?ÿÿÿÿÿþ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿüÿÿÿÿðÿÿÿÿÿà?€ÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿøÿÿÿÿà÷ÿÿÿÿð?Àÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿ€ÿÿÿÿÀ?÷ÿÿÿÿø?ÀÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿüÿÿÿÿÀ?óÿÿÿÿü?À?ÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿàÿÿÿÿ€?Ãÿÿÿÿþ?ÀÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÀÿÿÿüÿÿÿÿÿ€?€ÿóÿÿü ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿ€ÿÿÿøÿÿÿÿÿÀþàÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿ€ÿÿÿÀÿÿÿÿÿÀþ?ÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿ€ÿÿÿÿÿàüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿ€ÿÿÿÿÿð|ÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÀÿÿ€ÿÿÿÿÿð~ÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿþÿÿ€ÿÿÿÿÿønÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿø?ÿÿ€ÿÿÿÿÿøÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿð?ÿÿ€ÿÿÿÿø0ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÀÿÿ€ÿÿÿÿøxÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿþÿÿ€ÿÿÿÿø~@ÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿðÿÿ€?ßÿÿÿø?ÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃþÿÿÀ?ÿÿÿüŸÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãøÿÿ€ÿÿü?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÀÿÿ€ÿ¿ÿü€ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÿÿ€ÿÿø 8ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿ?ÿÿø<ÿÀpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿüÿÿÿÿø¿€ð€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð8ÿÿÿÿø €à€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøxÿÿÿÿøp,‡€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ7øÿÿÿÿðx>G€ÿƒüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿøÿÿÿÿÀp8€ÿÏþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿøÿÿ ÿÿìˆ?Àÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿøÿ<?ü ˆàÿßÿÿ|0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðüà à?ÿŸÿÿƒü0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?øà`7ð?ÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?øà 8Àø?ÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ð8€`ü0?ÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ðp<@€~ÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÀp? €€?ïÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€ø€?ÿÃÃÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€ü€?À/ÿ÷ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ü€Àþ÷ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀ?ÿÀ>ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀ|ÿÀ?ÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÀ@àÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÀ@àÿÿÿÿÿÿÿÿþÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿà~À?ÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿþ|?ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøþ>~ÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø|€~~ÿÿÿÿÿÿÿÿÿàÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð ?À~ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?àÿÀÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ðÿðÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€?øÿøÿÿÿÿÿÿÿÿÿÿÿüÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀþ?üÿðÿÿÿÿÿÿÿÿÿÿÿþÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿüÿ€ÿÿÿÿÿÿÿÿÿÿ÷ÿüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€üÿÀÿÿÿÿÿÿÿÿÿÿÿÿ€pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€üÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?àü@ÿþÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿüðü@ÿþÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿøüüÿüÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿðþüÿüÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿàÿüÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÀÿƒþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÀÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÈÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿü?þ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿÿðÿ€ÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿÿÀÿÃÀÿÿÿÿÀ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿ€ÿÀÿÿÿÿà `ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø ÿÿÿÿðÀpà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿøÿÿÿÿÿàÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿüÿÿÿþÿÿÀàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿøÿþÿÿÿþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿðÿþÿÿÿü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿù€ÿÿÿÿÿÿÿÿÿþÿ€?ÿÿÿàÿþÿÿÿü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿýÿÿÿÿÀüÿÿÿþ€€xÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿ€üÿÿÿü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿøÃðÿ€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÀÿÿÿðçèÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÀÿÿàÿÀÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿàÿÿÿÿ¿ÿÿÿÿûþÿÿÿüÿã€ÿÿÿÀÿ0ÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿüÿÿÿÿÿÿÿÿÿóþÿÿÿøÿã€ÿÿÀþÀ€ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿ÷þÿÿÿðÿð€ÿÿÀþ€þÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿkÿÿÿàÿþàÿÿÀÿÀ?ÿà@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþxÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿþá€ÿÿÀí€oàÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿ€ÿÿ€ÇÀÀ?ðÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿ€ñÿ€ÏÀx¿àñÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿ?À ÏÀxpÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÇÀ0 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿûÿÿÿÿþ?ÿÃà ÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿùÿÿÿÿþÿÁøÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿüÿÈÿÿÿÿüØÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÀÿÿÿÿÿÿÿÿùÿÿÿÿøÿÁ¸ÿÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿàÿÿÿÿÿÿÿøÿÿÿÿøÿÀ0ÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿøÿÿÿÿøÿÀ¸ÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿüÿÿÿÿðÀÿÿÿ€8¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿüÿÿÿÿð ÿÿÿà?üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿøÿÿÿÿð€ ?ÿÿÿüø ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿüÿÿÿÿðÿ`?ÿÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿüÿÿÿøÿÀ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿþ?ÿÿÿüÿà@ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿü?ÿÿïÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿŸÿÿÿü?ÿÿðÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿžÿÿÿüÿÿðÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÏÿÿüCÿÿÀàÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÏÿÿü?ÿÀÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿçŸÿÿüÿþ€0ðþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿçÿÿÿüÎnøø8?ø?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿæÿÿÿÿüo0ÿ€ðüÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÇÿÿÿÿþ€üàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÏÿÿÿÿþ|0øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿþ€øü0ÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿ?ÿþàðÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿŸÿÿðàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿ€ €ÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿßÿÿÀà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿßÿÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿßÿÿà`?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿðÿÿÿÿÿÿÿþÿÿÏÿÿÀ`p?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÏÿÿÀ|pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÏÿÿÀ8pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÀ€øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÀÿ0øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿàÿÿðüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÏÿÿà?ÿÿàüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿàÿÿÀüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÏÿÿàÿÿ€þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÏÿÿà€ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿçÿÿàÿ€ÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿçÿÿà€ ÿÿÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ€~ÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿðÿ€ÿÿÿþÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÀÿÿÿüÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÀÿ¿ÿÿþÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿþÿÿàÿÀÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿàþÀÿÿÿÿÿ€ÿüÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?þ@?ÿÿÿÿÿàÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿþÿÿÿÿÿøÿüÿÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿ?ÿïÿÿÿþÿü?ÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿïÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÀÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿðÿþ8ÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿü}ÿÿÿÿÿÿÿøÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿþÿÿüÿÿÿÿÿÿÿþÿÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿüÿüÿÿÿÿÿÿÿÿÿÿÿ€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿðÿü?ÿÿÿÿÿÿÿÿÿÿÿ€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿðÿüÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿàÿüÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÀÿøÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÀÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿþ?ÿøÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿü?ÿðÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿø?ÿðÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿð?ÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿðÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿøÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿøÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿøÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿüÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿüÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿüÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿüÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿüÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿüÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿüÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿüÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿøÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿðÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿ€ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿâÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿùÿÿÿÿÿàÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÄÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÈÿÿÿÿþÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿ?ÿÿÿÿøÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿ?ÿÿÿÿðÿÿÿÿÿ¼ÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿ?ÿÿÿÿàÿÿÿÿþÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿúÿÿÿÿÀÿÿÿÿøÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿòÿÿÿÿÿÿÿÿÿÀþÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿèÿÿÿþÿÿÿÿ€üÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿØ?ÿÿÿøÿÿÿÿüÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿþñÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿà?ÿüðÿÿÁÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÀÿÿþƒÿÿÿÿÿÿðÿÿÿÿÿþÿÿ€Àÿðƒ?ÿÿÿÿÿðÿÿÿÿÿÿþÿ€€ÿà?ÿÿÿÿÿðÿÿÿÿÿÿÿþ€ÿÿÿÿÿàÿÿÿÿÿÿÿÀ?ÿÿÿÿÿà€ÿÿÿÿÿÿÿà3ÿÿÿÿÿÀÀÿÿÿÿÿÿÿðÿÿÿÿÿ€Àÿÿÿÿÿÿÿàÿÿÿÿÿ€àÿÿÿÿÿÿÿàÿÿÿÿÿ€`ÿÿÿÿÿÿÿðÿÿÿÿÿ€ ÿÿÿÿÿÿÿüÿÿÿÿÿ0ÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿ?ÿÿÿÿÿÿÿð?ÿÿÿüÁÀ?ÿÿÿÿÿÿÿàÿçþÿÀÿÿÿÿÿÿÿÀÿÇüÿÀ?ÿÿÿÿÿÿÿ€ƒøÿ€?ÿÿÿÿÿÿþÀÿÿÿÿÿÿÿÀÿÿÿÿÿþÿøÿÿÿÿþÿðÿÿÿÿÿ€?ðÿÿÿÿÿ€€ð?ÿÿÿÿþ@à?ÿÿÿÿþàÿÿÿÿþ0ÀÿÿÿÿþÀx€ÿÿÿðüÿÀ{ÿÿÿðÿÀÿ†ÿÿÿðÿÀÿ€3ÿÿÿðÿ€ÿ€ãÿÿÿðÿ€ÿãÿÿÿüÀÿþÇÿÿÿüÀÿüÇÿÿÿøÀüøÇÿÿÿüøàÇÿÿÿøpÿàÿÿÿðÿðÿÿÿàÿÿÿÿàüÿÿÿàÿøŸÿÿÿàÿøŸÿÿÿÀÿøßÿÿÿÿðŸÿÿøÿðÿÿûðÿà¿ÿÿàÿÀÿÿÿÀÿ€ÿÿÿÀ>ÿßÿà'ÿÿÿð€ÿÿÿüÿÿÿÿ€ÿÿÿÿ€ÿÿÿÿ€ÿÿÿÿ€ÿÿÿþ?ÿÿÿüÿÿÿð ÿÿÿà@ÿÿÿÀ€ÿÿÿÀÿÿÿ€ÿÿÿ€üÿüÿÿðÿÿðÿÿðÿÿðÿðÇ€ÿøÿÿü8ÿÿôÿàü<‰þyþ?øøÿÀþÿà?ø ÿþÿÿð€ÿ~àøÿÀüðp?øóÿðÿÀøÿÿÀþ<àÿÀÿÁÿÿðÿÿ€üÀÿÿÿÿøÿ€ÿþÿÿðàÿÿÿÿþÿÀþÿÿÿ€?ÿü?ÿÿðÿÿÿðÿÿÿÿÿø?ÿÿÀáÿðÿÿÿÿ€ÿø?ÿÿø?ÿÿü?ÿÿÿÿÿÿÿÿÃÿÿÿðÿÿüÿÿÿÿÿàÿÿø?ÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿàÃÿÿüÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿþ<ÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿþÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?€ÿÿÿðÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿðøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€??ÿÿÿà€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿþÀüÿÇÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÃÿÿÿþÀÿÿÿÿÿÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿóÿÿÿþÿÀðÿŸÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿü ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿ?ÿxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿüÿÿƒÿÿƒÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?à?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿüÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿemoslib-000392+dfsg.1/land_sea_mask/lsm_xx_lsmr1600000755000175000017500000004162012127406245022766 0ustar amckinstryamckinstry<üþÿôóÿü`ÿÿøp8þÿ€€`øÿÿ€Ïÿþ /ÿü ñÿÿ𠀇ÿÿð |€'Ãÿÿàø ' ?ÿüÿ€€?3°ÿÿà`ÿøsà€ÿüÿà?ÿüÿÐàÿøÿ÷Ç„]ü?ÿðÀ0ÿÿüþŸ`ÿÿàÀ1¿ÿÿüÀðÿÿà`ÿÿÿÿü ÿàÿÿàÿÿÿÿïÿ €ƒü?ÿø>ïÿÿÿÿÿÿøðü8ÿøÿÿþïÿÿÿÿÿÿø ÿðþ85üÿÿàÿ€ïÿÿÿÿÿÿÿóàÿÿ?ùÿ ?_ÿøÿþ÷?ÿÿÿÿÿÿÿÿàÿÿÿÿpÎÿøÿáÿ÷ÿÿÿÿÿÿÿÿÿ€ÿÿÿü/¸_?ÿÀÿüOÿýÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿwûç øÿøÿÿñÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿÀÿýñÿÿóÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÏÿÿÿ€OÀÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ãÿÿÿÿÇÿÿþùÀþOøþÿÿÿÿÿÿÿÿÿÿÿÿÿñÃÿÿÿÿÿÿõü€ð?øÿ§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿþÁ÷üðÿŸùÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÎøÀ~üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿãÀþpñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿ¿àÀþ?ãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿ€@üÿáÿßÿÿÿÿÿÿÿÿÿÿÿÿÿ÷þÿÿÿÿÿùÿÿ€ à€üÿáþïÿÿÿÿÿÿÿÿÿÿÿÿÿ‰þ?ÿÿÿÿþ?ÿà>€ÿ‡üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðŸð?ÿwÿÿÿçÿÿ€?ÀøÿÃÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà>@þãÿÿÿÿÿÿ€?À0ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ`üÀ?ÿÿÿÿÿ€?ÂÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀàüÿÿÿŸÿ€?×ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÀ<ÿÿÿÿÿÀç€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÀ8ÿÿÿÿÿà?ÿ€0‚ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€3ÿÿÿÿüÿüðŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?À¿ÿÿÿÿÿÿøàœÿÿÿÿÿÿÿÿÿÿÿÿÿÿøþÿÿÿÿÿ€ÿðÀpÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€àÿÿÿÿÿÿ?ÿðÀ@ÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿü?€ÿÿÿÿÿÿÀ?ÿðàŸÿÿÿÿÿÿÿÿÿÿÿûÿÿÿàÿÿÿÿÿÿ‡ÿÿðà³ÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿù<ÿÿÿÿÿÿÿûøÿÿÿðÿÿÿÿÿÿÿÿÿÿÿŸøÿÿÿÿÿÿÿÿøü |ÿÿÿðÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿðø@0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ xÀÿÿÿÿÿÿÿÿÿÀÿ€ p?ÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÀ€ÿÿÿÿÿÿÿÿøÿøÇÿÿÿþÿÿÿÿÿÿÿÿÿÿÿü|Àÿÿÿÿÿÿÿÿ€ÿ€€p?ÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿðà8ÿÿÿÿÿÿÿÿàÿð0ÿÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿx€?ÿÿÿÿÿÿÿþþ¿ÁÿÿüÿÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿÿÿÿàÃÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿþÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøððÿÿÿÿÿÿÿÿðÿþ1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðððÿÿÿÿÿÿÿÿàÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€óÿÿÿÿÿÿÿÿÀÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüºÿÿÿÿÿÿÿÿ€?ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ`ÿÿÿÿÿÿþÿÿÿÿ €ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€?ÿÿÿÿÿÿüÿÿÿÿüàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿðÿÿÿÿüüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿƒÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ ÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿøàÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿþÿÿÿÿÿÿÿÿ÷ÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿüÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿøÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿþÇÿÿàÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüãÿÿàÿÿÿÿÿÿÿÿÿü?ÿÿ€Çÿÿÿÿÿÿÿÿÿÿÿÿøaÿÿàÿÿÿÿÿÿÿÿÿþ?ÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿø1ÿÿàÿÿÿÿÿÿÿÿÿþÿÿ !ÿÿÿÿÿÿÿÿÿÿÿÿøÿÿàÿÿÿÿÿÿÿÿÿÿÿÿà`ÿÿÿÿÿÿÿÿÿÿñ€ÿàÿÿÿÿÿÿÿÿÿÿðÿÿÿƒÀÿÿÿÿÿÿÿÿÿÿþ ƒÿÿ?ÿÿÿÿÿÿÿÿÿÿø?ÿÿÿðÿÿÿÿÿÿÿÿÿÿþAÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿüÿÿÿÿÿÿÿÿÿÿø ÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿþ?ÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿ¿ÿÿÿþÿÿÿþ?þ‡àÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþ}ÿÿÿ€ÿÿýð?ÿ ðÿÿÿÿÿÿÿÿÿÿÿþÿÿÿü9ÿÿÿÿÿð@?ÿà>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿ?ÿÿà@?ÿ€à€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿþÿÿÀàÀ?ÿÀÀ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿøÿÿÁÀÀÿÀÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿðÿÿÀÿàÀðÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿ€ÿÿàÿÿÀÿùÿ€.€ÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÀÿÿàÿÿ€ÿÿÿÿÿÿÿÿÿÿÿàÿþÿÿÿÿðÿÿ€ÿÿÿÿÿÿÿÿÿÿÿàÿðÿÿŸÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÀÿüÿüñÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÀðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?þðÿþÿ€ÿÿÿÿÿÿÿÿÿÿÿÿþ?ð?ðÿÿ ?ÿ€ÿÿÿÿÿÿùÿÿÿÿÿÿ?À?ðÿÿ€ÿ€ÿÿÿÿÿÿüÿÿÿÿÿ¼?ðÿ@¿€ÿÿÿÿÿÿýÿÿÿÿÿÿÀð?ÿ?€ÿÿÿÿÿÿÿÿÿÿÿþÿÀðÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÀàþ € @?ÿÿÿÿÿÿÿÿÿÿÿÿààü€ýðÿÿÿÿÿÿÿÿÿÿÿÿÿÿàð@Ѐÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀà ÀùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ À„áÃýÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿþ 7ÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿüü?ÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿü¼?ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿø€<ÿÿÿüÿÿçÿÿÿÿÿÿÿÿÿøà8ÿÿÿþ?ÿþÿÿÿÿÿÿÿÿÿððÿÿÿÿ¸ÿøÿÿÿÿÿÿÿÿÿðø€ÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿàðøÿÿÿÿÿ€ÀÿÿÿÿÿûÿÿÀðøþÿÿÿÿÿÀÿÿÿÿÿûÿÿÀ8xþÿÿÿÿÿàÿÿÿÿÿÿÿÿ€8üÿÿÿÿÿàÿÿÿÿÿÿÿÿ<þ?ÿÿÿÿÿàÿþ?ÿÿÿÿüŽþ?ÿÿÿÿÿàÿÿÿÿÿÿÿøâÿÿ€ÿÿÿÿÿðÿûÿÿÿÿÿàðÿþàÀÿÿÿÿÿÿðÿûÿÿÿÿÿÀüÿüÿÿÿÿÿÿàÿÿÿÿü?ÿ€øÿüÿÿÿÿÿÿþÿÿÿÿü?ÿøÿü!€ðÿÿÿÿÿÿþÀÿÿÿÿü?ÿþø>ðÿÿÿÿÿÿÿøÿÿÿÿüþ~@ð<ðpÿÿÿÿÿÿÿüÿÿÿÿÿÿø ð|0ÿÿÿÿÿÿÿÿü€ÿÿÿÿÿÿø?ÀðfxyÿÀÿÿÿÿÿÿÿÿþÿÿÿÿÿðÀp6?ÿøÿÿÿÿÿÿÿÿÿ€?ÿÿÿ¿ÿðÀ#ÿþÿÿÿÿÿÿÿÿÿÀÿÿÿ¿ÿàÀ!ÿÿÿÿÿÿÿÿÿÿàÿÿÿ¿ÿàÀ!ÿ€0ÿÿÿÿÿÿÿÿÿþÿÿÿßÿàÿãÀ@ÿÿÿÿÿÿÿÿÿþÿÿÿßÿà|ÿð`ÿÿÿÿÿÿÿÿÿþÿÿÿÏÿðøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿïÿàüýðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?€øxÿÿÿÿÿÿÿÿþÿÿÿÿÿðœð8ÿÿÿÿÿÿÿÿþÿÿÿÿð0?ÿÿÿÿÿÿÿÿþÿÿÿÿßð0` ?ÿÿÿÿÿÿÿÿüÿÿÿÿßø€ÿÿÿÿÿÿÿÿøÿÿÿÿßüÿÿÿÿÿÿÿÿðÿÿÿÿÏø@ ÿÿÿÿÿÿÿÿàÿÿÿÿßøx0ÿÿÿÿÿÿÿÿÀÿÿÿÿßü ÿ€0ÿÿÿÿÿÿÿÿÀÿÿÿÿÿü ÿxÿÿÿÿÿÿÿÿÿÿÿÿïüþxÿÿÿÿÿÿÿÿÿÿÿÿÿüþxÿÿÿÿÿÿÿÿÿÿÿÿÿü>¯üÿÿÿÿÿÿÿÿÿÿÿÿÿüþÿÿÿ¿ÿÿÿÿÿÿ?ÿÿÿÿÿøüÿÿ€?ßÿÿÿÿÿÿ?ÿÿÿÿÿðüÿÿàÿÿÿÿÿÿÿ?ÿÿÿÿÿÀüÿÿÿøÿ€ÿÿÿÿÿÿÿ?ÿÿÿÿÿøÿÿÿýÿ€`ÿÿÿÿÿÿÿÿÿÿÿþøÿÿÿÿÿ€ÿÿÿÿÿÿþÿÿÿÿüøÿÿÿÿÿÀÿÿÿÿÿÿþÿÿÿÿøøÿÿÿÿÿàÿÿÿÿÿþÿÿÿÿàðÿÿÿÿÿøÿÿÿÿÿüÿÿÿÿàðÿÿÿÿÿÿüÿÿÿÿÿüÿÿÿÿðð€ÿÿÿÿÿÿþ0ÿÿÿÿÿøÿÿÿÿðà?ÿÿÿÿÿÿþÿÿÿÿÿðÿÿÿÿð?àÿÿÿÿÿÿþÿÿÿÿÿðÿÿÿÿøàÿÿÿÿÿÿÿÿ€ÿÿÿÿÿàÿÿÿÿøÀÿÿÿÿÿÿÿÿÀÿÿÿÿÿüÿÿÿÿøÀÿÿÿÿÿÿÿÿàÿÿÿÿÿðÿÿÿÿðÀÿÿÿÿÿÿÿÿðÿÿÿÿÿÀÿÿÿüðÿÿÿÿÿÿÿðÿÿÿÿüÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿøÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿðÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿðÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿøÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿøÿÿÿàÿÿÿÿÿÿÿøÿÿÿÿðÿÿàÿÿÿÿÿÿÿøÿÿÿÿà?ÿÿÀÿÿÿÿÿÿÿøÿÿÿÿÀÿþÿÿÿÿÿÿÿàÿÿÿøÿüÿÿÿÿÿÿÿÀÿÿÿè?ÿüÿÿÿÿÿÿÿÀÿÿÿàÿøÿÿðÿÿÿÿÀÿÿÿÀÿðÿþ€ÿÿÿ€ÿÿÿÀ?ÿàÿøÿÿÿ€ÿÿÿ€ÿ€ÿð¿ÿÿÿÿÿ€üø@?ÿþ?ÿÿÿ ð_ÿþ?ÿÿ>_ÿþ0?ÿÿÀÿþ ÿÿðÿàÿÿÿÿüÿÿðÿÀ€ÿÿÿÿð€ÿÿàÜøÿüÿøàÿÿ€ÿøÿøàÀþàÿààÿ€Àÿð@|þ<ÿà|ÿÀøÿ€øÿpÿ@ÿÿÀÿ€ÿÀðüþ~~~à| À`ðü Ð p`àø÷üøþàÿÿÿÿÿø8ÿþÿÿÿÿÿà@?ÿøÿÿÿÿÿøÿÿð?ÿÿÿÿÿþ€ ÿÿðÿÿÿÿÿÿ€œÿÿüÿÿÿÿÿÿð^ÿÿÿÿüÿÿÿÿÿÿø~?ÿÿÿÿ÷ÿÿÿÿÿÿÿ€àÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿÿ€€¼ÿÿÿÿÿÿÿÿÿÿÿÿÿ€<ÿÿÿÿÿÿÿÿÿÿÿÿ{"Ÿ€ÿÿÿÿÿÿÿÿÿÿÿà`ÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÀÿÿÿÿÿÿÿÿÿÿÿð?ÿ¯ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿøÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿþOÿÿÿ×ÿÿÿÿÿÿÿÿÿÿàÿÿÿÛƒÿÿÿÿÿÿÿÿÿþÿÿÿðÃÿÿÿÿÿÿÿÿÿ€ÿÿøãÿÿÿÿÿÿÿÿøgÿÿþðÿÿÿÿÿÿÿàÿÿøƒÿÿÿÿÿÿÿüÿÿþ9ÿÿÿÿÿÿÿüÿÿÿàÿÿÿÿÿÿÿ€ÿÿþÿÿÿÿÿÿÿÿÿÃÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀemoslib-000392+dfsg.1/land_sea_mask/r160_xx_199504040000755000175000017500000004162012127406245022376 0ustar amckinstryamckinstry<üþÿôóÿü`ÿÿøp8þÿ€€`øÿÿ€Ïÿþ /ÿü ñÿÿ𠀇ÿÿð |€'Ãÿÿàø ' ?ÿüÿ€€?3°ÿÿà`ÿøsà€ÿüÿà?ÿüÿÐàÿøÿ÷Ç„]ü?ÿðÀ0ÿÿüþŸ`ÿÿàÀ1¿ÿÿüÀðÿÿà`ÿÿÿÿü ÿàÿÿàÿÿÿÿïÿ €ƒü?ÿø>ïÿÿÿÿÿÿøðü8ÿøÿÿþïÿÿÿÿÿÿø ÿðþ85üÿÿàÿ€ïÿÿÿÿÿÿÿóàÿÿ?ùÿ ?_ÿøÿþ÷?ÿÿÿÿÿÿÿÿàÿÿÿÿpÎÿøÿáÿ÷ÿÿÿÿÿÿÿÿÿ€ÿÿÿü/¸_?ÿÀÿüOÿýÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿwûç øÿøÿÿñÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿÀÿýñÿÿóÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÏÿÿÿ€OÀÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ãÿÿÿÿÇÿÿþùÀþOøþÿÿÿÿÿÿÿÿÿÿÿÿÿñÃÿÿÿÿÿÿõü€ð?øÿ§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿþÁ÷üðÿŸùÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÎøÀ~üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿãÀþpñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿ¿àÀþ?ãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿ€@üÿáÿßÿÿÿÿÿÿÿÿÿÿÿÿÿ÷þÿÿÿÿÿùÿÿ€ à€üÿáþïÿÿÿÿÿÿÿÿÿÿÿÿÿ‰þ?ÿÿÿÿþ?ÿà>€ÿ‡üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðŸð?ÿwÿÿÿçÿÿ€?ÀøÿÃÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà>@þãÿÿÿÿÿÿ€?À0ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ`üÀ?ÿÿÿÿÿ€?ÂÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀàüÿÿÿŸÿ€?×ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÀ<ÿÿÿÿÿÀç€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÀ8ÿÿÿÿÿà?ÿ€0‚ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€3ÿÿÿÿüÿüðŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?À¿ÿÿÿÿÿÿøàœÿÿÿÿÿÿÿÿÿÿÿÿÿÿøþÿÿÿÿÿ€ÿðÀpÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€àÿÿÿÿÿÿ?ÿðÀ@ÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿü?€ÿÿÿÿÿÿÀ?ÿðàŸÿÿÿÿÿÿÿÿÿÿÿûÿÿÿàÿÿÿÿÿÿ‡ÿÿðà³ÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿù<ÿÿÿÿÿÿÿûøÿÿÿðÿÿÿÿÿÿÿÿÿÿÿŸøÿÿÿÿÿÿÿÿøü |ÿÿÿðÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿðø@0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ xÀÿÿÿÿÿÿÿÿÿÀÿ€ p?ÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÀ€ÿÿÿÿÿÿÿÿøÿøÇÿÿÿþÿÿÿÿÿÿÿÿÿÿÿü|Àÿÿÿÿÿÿÿÿ€ÿ€€p?ÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿðà8ÿÿÿÿÿÿÿÿàÿð0ÿÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿx€?ÿÿÿÿÿÿÿþþ¿ÁÿÿüÿÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿÿÿÿàÃÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿþÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøððÿÿÿÿÿÿÿÿðÿþ1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðððÿÿÿÿÿÿÿÿàÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€óÿÿÿÿÿÿÿÿÀÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüºÿÿÿÿÿÿÿÿ€?ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ`ÿÿÿÿÿÿþÿÿÿÿ €ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€?ÿÿÿÿÿÿüÿÿÿÿüàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿðÿÿÿÿüüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿƒÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ ÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿøàÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿþÿÿÿÿÿÿÿÿ÷ÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿüÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿøÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿþÇÿÿàÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüãÿÿàÿÿÿÿÿÿÿÿÿü?ÿÿ€Çÿÿÿÿÿÿÿÿÿÿÿÿøaÿÿàÿÿÿÿÿÿÿÿÿþ?ÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿø1ÿÿàÿÿÿÿÿÿÿÿÿþÿÿ !ÿÿÿÿÿÿÿÿÿÿÿÿøÿÿàÿÿÿÿÿÿÿÿÿÿÿÿà`ÿÿÿÿÿÿÿÿÿÿñ€ÿàÿÿÿÿÿÿÿÿÿÿðÿÿÿƒÀÿÿÿÿÿÿÿÿÿÿþ ƒÿÿ?ÿÿÿÿÿÿÿÿÿÿø?ÿÿÿðÿÿÿÿÿÿÿÿÿÿþAÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿüÿÿÿÿÿÿÿÿÿÿø ÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿþ?ÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿ¿ÿÿÿþÿÿÿþ?þ‡àÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþ}ÿÿÿ€ÿÿýð?ÿ ðÿÿÿÿÿÿÿÿÿÿÿþÿÿÿü9ÿÿÿÿÿð@?ÿà>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿ?ÿÿà@?ÿ€à€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿþÿÿÀàÀ?ÿÀÀ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿøÿÿÁÀÀÿÀÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿðÿÿÀÿàÀðÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿ€ÿÿàÿÿÀÿùÿ€.€ÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÀÿÿàÿÿ€ÿÿÿÿÿÿÿÿÿÿÿàÿþÿÿÿÿðÿÿ€ÿÿÿÿÿÿÿÿÿÿÿàÿðÿÿŸÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÀÿüÿüñÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÀðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?þðÿþÿ€ÿÿÿÿÿÿÿÿÿÿÿÿþ?ð?ðÿÿ ?ÿ€ÿÿÿÿÿÿùÿÿÿÿÿÿ?À?ðÿÿ€ÿ€ÿÿÿÿÿÿüÿÿÿÿÿ¼?ðÿ@¿€ÿÿÿÿÿÿýÿÿÿÿÿÿÀð?ÿ?€ÿÿÿÿÿÿÿÿÿÿÿþÿÀðÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÀàþ € @?ÿÿÿÿÿÿÿÿÿÿÿÿààü€ýðÿÿÿÿÿÿÿÿÿÿÿÿÿÿàð@Ѐÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀà ÀùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ À„áÃýÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿþ 7ÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿüü?ÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿü¼?ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿø€<ÿÿÿüÿÿçÿÿÿÿÿÿÿÿÿøà8ÿÿÿþ?ÿþÿÿÿÿÿÿÿÿÿððÿÿÿÿ¸ÿøÿÿÿÿÿÿÿÿÿðø€ÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿàðøÿÿÿÿÿ€ÀÿÿÿÿÿûÿÿÀðøþÿÿÿÿÿÀÿÿÿÿÿûÿÿÀ8xþÿÿÿÿÿàÿÿÿÿÿÿÿÿ€8üÿÿÿÿÿàÿÿÿÿÿÿÿÿ<þ?ÿÿÿÿÿàÿþ?ÿÿÿÿüŽþ?ÿÿÿÿÿàÿÿÿÿÿÿÿøâÿÿ€ÿÿÿÿÿðÿûÿÿÿÿÿàðÿþàÀÿÿÿÿÿÿðÿûÿÿÿÿÿÀüÿüÿÿÿÿÿÿàÿÿÿÿü?ÿ€øÿüÿÿÿÿÿÿþÿÿÿÿü?ÿøÿü!€ðÿÿÿÿÿÿþÀÿÿÿÿü?ÿþø>ðÿÿÿÿÿÿÿøÿÿÿÿüþ~@ð<ðpÿÿÿÿÿÿÿüÿÿÿÿÿÿø ð|0ÿÿÿÿÿÿÿÿü€ÿÿÿÿÿÿø?ÀðfxyÿÀÿÿÿÿÿÿÿÿþÿÿÿÿÿðÀp6?ÿøÿÿÿÿÿÿÿÿÿ€?ÿÿÿ¿ÿðÀ#ÿþÿÿÿÿÿÿÿÿÿÀÿÿÿ¿ÿàÀ!ÿÿÿÿÿÿÿÿÿÿàÿÿÿ¿ÿàÀ!ÿ€0ÿÿÿÿÿÿÿÿÿþÿÿÿßÿàÿãÀ@ÿÿÿÿÿÿÿÿÿþÿÿÿßÿà|ÿð`ÿÿÿÿÿÿÿÿÿþÿÿÿÏÿðøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿïÿàüýðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?€øxÿÿÿÿÿÿÿÿþÿÿÿÿÿðœð8ÿÿÿÿÿÿÿÿþÿÿÿÿð0?ÿÿÿÿÿÿÿÿþÿÿÿÿßð0` ?ÿÿÿÿÿÿÿÿüÿÿÿÿßø€ÿÿÿÿÿÿÿÿøÿÿÿÿßüÿÿÿÿÿÿÿÿðÿÿÿÿÏø@ ÿÿÿÿÿÿÿÿàÿÿÿÿßøx0ÿÿÿÿÿÿÿÿÀÿÿÿÿßü ÿ€0ÿÿÿÿÿÿÿÿÀÿÿÿÿÿü ÿxÿÿÿÿÿÿÿÿÿÿÿÿïüþxÿÿÿÿÿÿÿÿÿÿÿÿÿüþxÿÿÿÿÿÿÿÿÿÿÿÿÿü>¯üÿÿÿÿÿÿÿÿÿÿÿÿÿüþÿÿÿ¿ÿÿÿÿÿÿ?ÿÿÿÿÿøüÿÿ€?ßÿÿÿÿÿÿ?ÿÿÿÿÿðüÿÿàÿÿÿÿÿÿÿ?ÿÿÿÿÿÀüÿÿÿøÿ€ÿÿÿÿÿÿÿ?ÿÿÿÿÿøÿÿÿýÿ€`ÿÿÿÿÿÿÿÿÿÿÿþøÿÿÿÿÿ€ÿÿÿÿÿÿþÿÿÿÿüøÿÿÿÿÿÀÿÿÿÿÿÿþÿÿÿÿøøÿÿÿÿÿàÿÿÿÿÿþÿÿÿÿàðÿÿÿÿÿøÿÿÿÿÿüÿÿÿÿàðÿÿÿÿÿÿüÿÿÿÿÿüÿÿÿÿðð€ÿÿÿÿÿÿþ0ÿÿÿÿÿøÿÿÿÿðà?ÿÿÿÿÿÿþÿÿÿÿÿðÿÿÿÿð?àÿÿÿÿÿÿþÿÿÿÿÿðÿÿÿÿøàÿÿÿÿÿÿÿÿ€ÿÿÿÿÿàÿÿÿÿøÀÿÿÿÿÿÿÿÿÀÿÿÿÿÿüÿÿÿÿøÀÿÿÿÿÿÿÿÿàÿÿÿÿÿðÿÿÿÿðÀÿÿÿÿÿÿÿÿðÿÿÿÿÿÀÿÿÿüðÿÿÿÿÿÿÿðÿÿÿÿüÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿøÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿðÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿðÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿøÿÿÿðÿÿÿÿÿÿÿøÿÿÿÿøÿÿÿàÿÿÿÿÿÿÿøÿÿÿÿðÿÿàÿÿÿÿÿÿÿøÿÿÿÿà?ÿÿÀÿÿÿÿÿÿÿøÿÿÿÿÀÿþÿÿÿÿÿÿÿàÿÿÿøÿüÿÿÿÿÿÿÿÀÿÿÿè?ÿüÿÿÿÿÿÿÿÀÿÿÿàÿøÿÿðÿÿÿÿÀÿÿÿÀÿðÿþ€ÿÿÿ€ÿÿÿÀ?ÿàÿøÿÿÿ€ÿÿÿ€ÿ€ÿð¿ÿÿÿÿÿ€üø@?ÿþ?ÿÿÿ ð_ÿþ?ÿÿ>_ÿþ0?ÿÿÀÿþ ÿÿðÿàÿÿÿÿüÿÿðÿÀ€ÿÿÿÿð€ÿÿàÜøÿüÿøàÿÿ€ÿøÿøàÀþàÿààÿ€Àÿð@|þ<ÿà|ÿÀøÿ€øÿpÿ@ÿÿÀÿ€ÿÀðüþ~~~à| À`ðü Ð p`àø÷üøþàÿÿÿÿÿø8ÿþÿÿÿÿÿà@?ÿøÿÿÿÿÿøÿÿð?ÿÿÿÿÿþ€ ÿÿðÿÿÿÿÿÿ€œÿÿüÿÿÿÿÿÿð^ÿÿÿÿüÿÿÿÿÿÿø~?ÿÿÿÿ÷ÿÿÿÿÿÿÿ€àÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿÿ€€¼ÿÿÿÿÿÿÿÿÿÿÿÿÿ€<ÿÿÿÿÿÿÿÿÿÿÿÿ{"Ÿ€ÿÿÿÿÿÿÿÿÿÿÿà`ÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÀÿÿÿÿÿÿÿÿÿÿÿð?ÿ¯ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿøÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿþOÿÿÿ×ÿÿÿÿÿÿÿÿÿÿàÿÿÿÛƒÿÿÿÿÿÿÿÿÿþÿÿÿðÃÿÿÿÿÿÿÿÿÿ€ÿÿøãÿÿÿÿÿÿÿÿøgÿÿþðÿÿÿÿÿÿÿàÿÿøƒÿÿÿÿÿÿÿüÿÿþ9ÿÿÿÿÿÿÿüÿÿÿàÿÿÿÿÿÿÿ€ÿÿþÿÿÿÿÿÿÿÿÿÃÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀemoslib-000392+dfsg.1/land_sea_mask/LSM_GG_04000000755000175000017500003157342012127406245021657 0ustar amckinstryamckinstryJ? ?ÍË?€å?Àñç?€è?@å?Ê?°›?Àv?ìÏ?ÇÄ?€hÙ?@òí?ÀFï?ð?ð?€âï?Àœï?ÀSî?L²?ày?Æ·?€'Ó?.Æ?–Ú?Àà?ž¶?ØÅ?;â?@²ì?è?À=á?˜è?ð?@xî?øå? ç?€æç?€Dä?9à?ŽÀ?@ûâ?Âå?4æ?ùï?€Vè?Äí?×ï?€‘î?3ß?€DØ?rÃ?Œ?<Ë?€*Ó?€ ã?ÀOæ?ÀÁæ?Þí?€;ì?ð?;ë?€*ì?€“ï?ð?ð?ð?À(ç?€Ô?à?-Ý?Fë?À/ï?@zé?Àgî?Øî?ð?ð?@bê?@rì?ð?,ß?€y?`w?¸š?«?À?â?å?ð?Àç?Àhå?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?Cà?X?@Àá?‚Å?€Yî?ªï?ð?€ï?Õï?ð?ð?ð?ð?ð?ð?@±ï?@×ë?‰Å?`{?¶¿?0 ? Ö?@¬ê?æÂ?@¤ê?€Ãå?@£í?€gï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?Àøâ?$?øž?›Ë?€úê?€-ï?Àtã?À7é?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?úÝ?úÃ?@eà?€ê?@cå?€æ?€ÔÑ?@òï?oé?3Î?Aå?€¹ì?@­î?ÀÔï?ð?ð?ð?ð?ð?ð?@¡é?€já?€°Ý?€ã?ÔÇ?è’?À…?ô£?p–?š?d?€Q?Ã?Yé?ÀÕé?@Pç?Àáî?Àéí?Àì?ÀÛê?ð?ð?ð?ð?õï?@ î?Àòï?ð?ð?ð?À©å?ü¡?€HÒ?€ëê?ð?ð?@|è?€Äã?€»Ô?ÀÖç?ð?€ ë?€„Õ?ð?ð?Àòï?ð?ð?ð?ð?À€ï?{á?€ÄÓ?Mæ?Àpê?À ç?8³?‰é?€¨Û?GÖ?´?B?€ Ø?°’? ?€RÓ?}?€¥Ý?Àsì?€™ï?@‘ï?Àãï?Àíï?€òï?ð?€Zï?ð?ð?ð?²ï?@Uá?€Šé?@Ùî?€éï?À¿ê?œÛ?À…?€Ø?ð?À9æ?îï?ð?À9ç?€kî?Àôì?aì?ð?ð?Àéé?ð?ð?Àìï?ð?ð?ð?ð?@ÿç?Øç?€ëï?ð?ð?@žé?€£Ò?€òï?€’Þ?®¶?Æ?€Ô?@áê?€Òã?Œ°? ?IÜ?D¹?D£?p¸?¸?¼Ù?Àuæ?Àòì?€­ï?€‰ï?ð?ð?ð?ð?Uï?åî?ð?ð?ð?€ëï?ÀFî?qç?€ÕÒ?Ú?2?€ºê?ð?@lê?À»ï?ð?-í?ð?Àï?ð?ð?ð?ð?ð?ð?€üï?ð?ð?ð?ð?ð?ð?ð?ð?@£ï?Dá?@î?ð?ÀÌç?€§Ø?€ºÔ?ÎØ?€¡ï?ð?ð?ÐÙ?Ð?u?$Þ?€Ô?uÈ?$®?è?ô´? t?ž¶?̪?‘?gä?Ð?ư?À è?ð?€›í?@Óé?÷ï?€Êï?²ï?€#ï?€¯æ?À¸ï?ð?ð?ð?³ï?@¥é?@Èè?Àïë?ÒÊ?T¥?P™?Àãî?ð?@¶ï?@8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€X×?œì?!ï?}î?ð?ð?Ÿí?¢Ã??Â?nÒ?{Ñ?XÜ?:Â?€×?iÄ? ˜?Nè?2?€i?›?¹Å?€Ö?ƒ?€YÚ?ÿí?Ä¿?ºµ?€ÕÜ?@Fì?`Ï?€’Ý?À¯æ?Àþâ?`â?ÀNé?Àìë?€›ï?€õï?\ä?ð?@Ìî?€³ï?ð?ð?ÀÁî?ÀËï?€Žî?9Â?À?€¿è?ñè?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kà?À‰í?ð?ð?ð?ð?€fé?YÃ?h?€?¼?ÓÓ?[Õ?€NÝ?˜¥?4Ù?€&ã?8æ?sØ?)Ò?xá?€ŽÜ?€/ï?ÂÓ?|¥?€5Ô?C?ÀHæ?ÀÝï?ð?Àà?üª?€zë?ð?€Øî?¢³?‘Ô?qï?@žä?¦î?€Sî?Àðê?ÀÃî?ç?oÙ?À»æ?Àî?ð?ð?À€ï?ð?ð?Šã?0„?È?@·ï?@3í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àfï?€mæ?ð?ð?ð?ãï?ð?Áç?@?pž?€_?|Ã?@Gä?€?Ð?€FÒ?Àèê?€¬Û?¾Ê?Ôª?€ÚØ?ŸÎ?ø–?@4î?Àßí?Ã?öÀ?àq?¾?ÀPï?ð?ð?€XÝ?2Å?ÀØá?€kì?ð?€ôí?[Ã?¬ª?€ïÒ?€ªã? í?€CÞ?–ã?ÕØ?Ð?€Èç?@Ïï?ð?ð?ð?ð?cï?¡ï?´Ú?@i?€ëÙ?€ï?ð?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úê?€êï?]ï?Ëê?Àfê?ÚÛ?Ü?*½?`s?üÆ?€gÝ?àŽ?€Ø?ÊÀ?è¬?¾?‰?$®?’Ö? æ?^Ä?qÀ?JÑ?Ë?Ë?Àöå?oÝ?€×Ð?PÓ?@£?€Ûà?^ï?ð?ð?ÜÔ?dØ?€ ï?ð?@Ðï?ð?À/ï?DÝ?cÏ?ŽÁ?p¥?(–?€Ú?æ?€î?ð?ð?ð?ð?ð?ð?ð?À¹ä?hŸ?<È?Iî?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[ï?ìï?@iî?€&å?‰?À¦?á?@¸í?@Pè?À¢á?À›æ?Àì?Âá?…Ì?`¨?ñÅ?€Qä?z¹?@ƒ?Àk?€vÔ?LÖ?€KÓ?X©?kÐ?^Ò?ˆ§?Àâ?À¥á?¶?6´?6°?‹Ñ?€Žê?Àêâ?€NÞ?€EÜ?ø–?!Ê?;À?€eÖ?€cä?@Rï?ˆï?ð?ð?Vä?€Ô?Qé?Àgî?À(æ? å?ð?ð?ð?ð?ð?ð?ð?€‹ì?@øæ?WÊ?€óÑ?€ìî?À…î?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šè?á?€!á?ÏÃ?q?˜?b±?@?¸Ì?@|ã?RÏ?ÀVî?@Úï?€ï?@¥í?ð?ð?ÀÃí?Èœ?j?€Q?€a?`?JË?~¾? z?0?È?JÇ?€„Ô?ÀAî?Àtà?ÀWå?Àëï?î?Àvá?@0ã?A?Àvé?dË?È?@ƒì?Àòí?Àâï?ð?ð?ð?ð?îë?SÝ?ÀÈí?ð?ëç?€Òä?ïï?ð?ð?ð?ð?ÀÕê?qï?@<ï?€¾Ö?°†?ô¼?€¬â?™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€å?Àgê?€”î?¤±?kÈ?¡ç?ÀPà?@/à?€vÛ?ð?€ýÛ?€ˆ×?íÔ?ÀÐæ?ÀÎï?ð?€nï?…Ò?à?Ô­?„´?4×?,Õ?ÀÍí?@3î?±ç?{î?ëê?àp?º?ÔÃ?€s?@|à?@«ç?ð?ð?ð?ð?ð?Àí?ÙÔ?@2é?ð?ð? á?Àé?€©ï?Àåï?@éï?Àùï?€'ì?@êá?€Ââ? °?€ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îí?€ðå?€–Ú?[?ˆê?€lí? á?¶ï?‚ß?ð?À\ç?Å?€Áà?À í?€Ãì?ð?@_ï?€FÔ?”Í?Ô½?€_?H™?¹Á?Kè?ð?@zï?€í?ð?Ò?ä¡?Àe?G?6?às?eÜ?@˜í?Àðì?@üë?iï?ð?ð? í?€õí?ùÞ?@ ë?÷ï?@‹ï?À}î?ð?ð?ÀÈì?€Ré?@ë?@Ÿä? Ê?Í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºÌ?\à?ÀVì?Àtí?€zï? ã?ð?@îï?€¾Ð?ü¤?¸‘?,¼?€á?lµ?DÝ?ºï?@Åî?Àí?@èì?ð¾?ÃÃ?Èç? ´?ŸÍ?À{ê?€€è?—?®°?€Ð?KÅ?óÝ?—ç?5ï?ð?ð?ð?'ê?€·Û?ð?ð?@Ãï?ð?ÀŠï?@3å?€Ý?€$Ö?°?`†?ˆ—?@·è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€eÜ?Ø™?J?²º?À é?ð?ð?,é?À¸î?ð?@jï?€ÔÝ?x£?(š? ?Úµ?€·Ù?€™å?Áï?ð?€ïÓ?€ß?Àöê?€¿å?„¸?YË?€8ç?€³ï?(á?wÓ?:¼?ºé?€­î?ð?ð?ð?€6ì?@°å?DÚ?¹Þ? ë?ÀÔë?Àï?ð?À“î?@Ñç?À}â?¢Ú?.Ã?Ú?€lé?@&í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€9í?VÅ?$Ñ?p–?x?ƒÔ?À±ì?ð?ÀŽî?rê?@Ùî?ð?ð?ªï?Íâ?J½?T¬?ö´?€i?àƒ?€NÖ?Þ?z¿?@@æ?ÀŒì?€[ï?è?J½?¨®?\²?R?dÐ?@™ê?Àï?@Læ?QÊ?pŒ?€Ý?`«?0ª?@Ùè?Êï?ð?ð?ð?@yæ?€šØ?Üç?€‡æ?ÚÚ?ÀFä?@ðï?ð?ð?À¡í?ï?@\ê?Î? v?€|Ò?Àƒê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Hì?€ÙÖ?€©Ð?0»?úÖ?€ßÒ?@dë?@Œî?,Ï?Àæ?€åë?ð?×í?€-Ò?€ÙÝ?€Ò?«? ?Ķ?4ï?ð?ð?ð?Àóê?ˆ˜? Õ?¼ì?€|ê?`³?/É?€ÖÕ?Éî?ð?ð?Àæè?D?@Ãè?À ï?©Ñ?(‘?(?€>Ý?ñé?¯ï?€¤ì?€£ë?€üà?€‰á?€»ï?@µî?ð?€åì?í?Àäï?ð?ð?ð?ÀMï?€5ë?@á?PŸ?€‘?€¿Ù?Mè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾â?ì³?´·?¨¨?ìÐ?@½ç?Pç?l«?€TÙ?@}è?ð?€ÂÞ?І?€lê?@3â?Àa?,Ö?Àæï?ð?€øï?€±ê?€÷Ø?(”?*³?@„?ÎÝ?%ä?ÀÅã?è?ÄÀ?"Ï?À;ì?Àgä?À¼í?ð?é?Àf?À:ã?ð?€¦ï?€VÞ?@n?>Ê?ÀÉí?@¬î?ÀTä?:é?yÅ?À4ï?—í?€/ë?ð?ð?@Yï?€‹ï?ð?ð?ð?ð?ší?Ê?yÆ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÊÖ?2¶?€Ð?€f?“?ت?µÎ?€·â?@Zï?ð?À1ï?€™Ø?uÙ?@Çé?€ã?`–?@é?Àâ?ŠÆ?D¿?K?¦?cÏ?¹?P†?°ž?A?¨?{Ñ?€ÚÖ?Ѐ?kÈ?ܳ?@Àà?ð?YÔ?*¾?À•æ?ð?ÀÜ?ˆ®?·À?Ý?Ç?¬Å?ƒ?"à?@‰á?€ªá?À¿í?@¾î?@©î?ð?ð?ð?ð?€‡ì?€öà?z?É?Ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?€ŸÑ?2¶?€«Ñ?€Nè?Àžë?Àiç?@fê?€ªë?.¿?@„ï?Àðì?óË?éÈ?€ðÕ?€—ã?€üÜ?€?î?ì?€¯Ù?H?aÙ?Í?ÀÞì?€Í×?H”?@’ã?À´â?oÂ?ƾ?1Ö?°?€¯é?Àyï?Ïç?ð?ð?ð?ð?@€â?€SÝ?¬À?ˆØ?€í?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õë?Àgâ?Þ?§À?®¼?`½?€¦Ò?@ê?@`ï?€^ê?Ó?Yî?À3ï?Fä?h£?€n?ž³?nÜ?gÈ?€k? u?‚?tÐ?€æ?Àðï?Ôî?šØ?þÔ?ÈÁ?A?Ú?MÆ?•?V?ø?åâ?@ì?Hê?DÈ?RÇ?ò°?Àä?ð?Æß?¾ã?€ ï?{æ?€ëí?ð?ð?ð?À§ã?>¼?9ä?Àqí?€°ï?@@ç?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€3è?@ƒê?€aç?€úÕ?€ÐÕ?€€Ü?@»é?€šê?@äï?Ñ?€Ñ?iÀ?À¯ã?š´?¨‘?H›?@ê?ð?Àÿî?€Ø?Àª?x”?±?€Ô?€Æà?€g?¡Ð?Àçí?À-å?Â?ÆÆ?€Àâ?Ò?5Ü?@yá?ð?@æ?æ?ŠÌ?€áî?Ànê?ÂØ?úÜ?×í?À”ë?@Ðê?ð?@?ï?HÙ?Œ?€òÔ?Ð?¬È?€êÖ?)Õ?˜Æ?Eé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?@:í?€ÞÓ?H°?SÛ?À9ï?ð?€zä?€R?8¹?O?9Ê?B? €? ¨?–?€öÛ?@‹ï?ð?¡ì?aÕ? {?˜º?À…?îç?@ï?@äë?À=ç?Ʋ?à?ð?t ?àq?ÛÍ?@„æ?,¢? ?Xµ?'Ó?@®á?ð–?M?‹Ó?ðî?ð?€Ûí?@™ï?@Mï?ã?@­ä?À«ä?™Á?¬¹??Â?€ ß?ÂÞ?9ì?@Àï?€«í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?À«î?@%å?€Ó?õ×?è?ºÚ?$?¦É?€ñÔ?àq?”?˜›?àˆ?…?2Ù?P‡?”¨?Àhí?@±ï?ð?Àé?©ã?Àåá?RÁ?E?Ș?ˆÞ?€ÿï?ð?ð?‘â?`•? ¡?8•? «?£?öÈ?Ìã?€¶Û?¹?S?,º?@Wê?Àï?ýï?ð?ð?ð?ð?€ÿï?Àµî?€öí?èÌ?1Ã?ÀÚã?@»î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{ï?@>ï?À›í?ð?€‚ß?€úß?@ÿä?Y?ȯ?€…æ?ð?@“í?PŸ? ?Ø©?Ȧ?à¨?ä?ð?ð?@Ÿï?@aï?ð?ÀÀç?Ƶ?#Ì?¸Ñ?€-Ò?¼?8?7Â?Ç?À,î?ð?À{æ?ð?@ç?@?ÀRâ?€ƒÒ?,º?ËÞ?ê³?ÁÄ?µ?Ø—?è›?Àmä?ð?Íï?ÀØê?˜ž?Ø™?\«?Yß?€˜ë?/î?Àïï?ð?ð?ð?@±î?À´í?€Ôï?ð?ð?¥í?@à?€P?°•?ÿ×?€4ë?@šî?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýæ?À ê?eÍ?TÑ?Þã?u?Ò¼?ôÁ?àŽ?t©?”ß?ð?ð?€Áí?`‚?`Ÿ?F´?(²?@†?2?4©?(•? Ä?ì?øï?ð?Áï?ð?wí?€Ò?~ã?ð?@¾ï?Àâï?žê?9Ô?R?l ?H’?Y?€Ó?€×ï?ð?@ùè?ªá?¥ç?ÔÉ?‚·?4¾?Y?€õÙ?€’ë?G?@pã?à×?Z?©Ã?¦à?€è?€ÃÜ?½ß?ø—?€Ô?€|î?ð?Àcë?å?Åë?ÀDã?ýÝ?€Âé?À[ê?@Øì?Àéë?@æï?é?Ïê?ë?/è?@Ûë?ð?Àåí?.ã? r?t´?HÆ?Àøã?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀé?íß?µÎ?°„?IÛ?L?ÏÀ?óÂ?ö°?€ÖØ?°ê?ð?ð?@›ï?€.Ú?‹?ƶ?ºÆ?0®?ŸÎ?@&ë?@Äí?@sé?(è?@í?@¸ï?ð?ð?€Úï?ð?ð?ð?ð?íî?€»ã?±?€)ã?sî?Àüï?fì?€/ä?&Õ?ÎØ?9Á?æí? è?®¸?›?l®?€áì?Àcï?Î?QÏ?€œæ?ÙÊ?@1é?ŸÔ?Åê?À î?¦í? „?è•?€Þ?Àúç?†â?€ûì?ÀYï?€ì?@™â?LÈ?ŠÍ?`Ï?€Ñ?Øâ?ÅÓ?:º?±Æ?L§?wØ?€í?ì×?\?T¬?Bá?@ûï?@ ï?Àòí?€‡ì?€+î?!ë?Íã?Àâì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”î?Àèá?€ã?Ô¬?€~Õ?y?`Ñ?€Üæ?€Üî?À'î?ð?ð?ð?Àkë?µÑ?4?€š?ÁÍ?@šà?€iä?€ˆÖ?}À?€òÚ?€˜é?@ªç?€¦ï?€Íï?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?´ï?€Úé?ÊÚ?€f?@œã?&È?wÉ?8¿?±?Tª?@è?{î?€Ïæ?å?ØÆ?€LÐ?„§?@Ôé?€ˆë?ï?Àßî?@üá?Àb?ܺ?ýî?€TÓ?@{?Æ?€`Ô?@Ñé?@Já?€Ïã?@ç?€3å?Éï?€ÿï?n¿? ©?Ĭ?€yß?@mï?€å?~Ó?L®?Q?9È?œ¦?4É?€t?€Œß?€/ê?Ó?€,Þ?€žÓ?HË?Д?4½?€Ö?€Þì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@.ï?pï?€Ú?\Í?[?¥Á?ÀÂâ?@èì?ð?ð?ð?ð?€ì?eÖ?À„?P ?µ? “?\¡?Hß?€€í?ð?€dè?Àpæ?€©í?@Ïï?}è?3ï?€æï?Àëï?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?€>í?€\è?€ß?ð?b?€‡ç?Àÿï?ÀBì?ú´?@jì?@¦è?PË?9Ä?¿Ì?pª?Ë?|á?º?9ê?‚´?@oà?@ºé?€¶í?ð?ð?vå?XŸ?,®?À_ê?@æï?€<ã?|æ?{è?ŠÂ?Pã?À‚ã?ç? î?€ ì?ð?tå?@Ÿ?Øš?.¾?€FÒ?ÉÓ?@|ï?@šé?*á??€œ?À?¼Ã?pƒ?Ä¥?¡Õ?€n?”¾?€R?à??4?@˜?À0á?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?ÀPí?¿ë?“Í?à›?€ß?ð?ð?ð?ð?€ëï?@Tå?€<Ñ? †?R?€®?€RÓ?"á?@Éì?ð?ð?ð?ð?ð?ð?€Rï?À>ì?@‡ï?@Åî?€+ï?úï?ð?ÀÔï?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?€Lê?ÀBà?Ü¡?€ÚÙ?€Èç?ð?ð?ð?€üæ?Àí?ñÓ?@&ê?Àì?DÔ?PŸ?Àc?h­?½à?õç?ܬ?Ðë?€õç?€fí?ð?ð?ð?@¤ë?x¥?@k?£Ì?úï?ð?€î?ÀTï?˜™?­?ÀÀá?À°ê?@Œç?ä?@Ûí?@Qï? Ý?nÅ?À?oÒ?EÁ?Øž?ï?ð?@ï?€ôÚ?Ç?Œ¿?2?à›?1Ô?ÀHé?0ì?Ãï?@‹ï?€ÖÚ?º½?Àa?ð½?Àæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À#ï?@–ì?ð?Àðï?µ?H¤?€¢Ñ?ÀŸï?ð?ð?ð?À˜ê?€Ñ?€]?SÆ?Àº?p? Ù?·é?ùï?ð?ð?ð?ð?ð?ð?Àžî?@øï?€¦î?í?rì?@|ï?ð?€ýï?ð?Áî?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?î?@.è?€Î×?È’?ÀÏå?ð?ð?@nï?ð?Àýï?€¦Ù?€&ï?@Nï?Œß?WÛ?!Ó?çÌ?€‹?Ь?€³Ñ?°æ?`ë?Àþï?@£ë?€Fí?ð?Üï?Àî?@jî?Àsê?ð?ð?ð?(ç?ày?€àÕ??0­?О?.¶?@Pè?€Éï?€í?·È?Ù?€÷â?€ºï?€Hè?˜–?ÕÔ?Àùï?ð?ÀÛï?žé?rí?¯í?ÀPâ?€è?€Ãï?ð?ð?ð?ð?ð?€Cç?p”?@Àà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@mï?€èé?Àúì?’ï?NÑ?,Ç?pŽ?ZÂ?™×?@•î?ð?ð?Çï?é?þ¼?¾?“?€™?ìÀ?µÚ?Àï?@:ï?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?´ï?À¥ï?ì?ð?ð?€çï?€Éï?@þì?‰ï?@ï?ð?@Ïï?Àäï?ð?ð?ð?ð?À(í?Àòä? ›?@Cì?ð?ð?Àäï?ð?ð?@á?@¨ì?Àåï?^Í?@k?ÀÑè?ÀÁï?@˜ë?"ã?€ Ü?±?®Ù?@è?‰î?ÀDî?ÀŒà?"ï?À(ç?ñæ?À~ê?ð?ð?ð?@Ðï?ð?€ØÛ?ÒÌ?À°ï?²²?H¤?@Yì?€âï?í?jÆ?“Â?@¾ì?ð?áï?»Ð?€'Ö?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èë?( ?€5Ô?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷î?ÀÓï?ã?€…Ü?ºÑ?€ºë?6º?zÇ?@lè?ð?ð?ð?À,ì?KÄ?€P?A?Q?ôË?°ã?@Tï?ð?Àï?ð?ð?Àçï?·ï?ð?ð?ð?ð?€·ï?éï?@Óï?@öë?€¾ë?ð?@·ï?ð?SÕ?@Ôè?@‰ï?€î?Àçï?ð?ð?ð?Àêï?ð?Àé?B±?ÝÌ?À0ï?²ï?¼é?8í?À3ã?€òê?À¯â?ÆÇ?L?Œ¡?À¢à?ÀÌï?ð?@öï?€ÍØ?Àp?€Ö?1Ö?B¶?žÊ?@÷à?Må?@ýï?@ýï?€}â?À¹â?@«â?ÀÐà?L³?L ?ÍÎ?i?€Ý?€h×?˜Õ?`ƒ?SÍ?@jí?ð?ð?€ôÕ?0¯?@ï?@Áï?ð?ð?@™ï?ð?ð?ð?ð?Žï?€Iï?ð?ð?@úï?Àã?µ?p§?»â?Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?Àªê?€‡ç?€/Ö?¦¸?€–Þ?Ó?0?ØÒ?@íé?ð?ð?Àåì?Ââ?H”?€]?:?N??Å?€{Ý?Àè?ûï?ð?ð?îï?@´ï?€Iï?4ï?@àï?ð?ð?ð?ð?@Êï?ð?Çï?€Ÿí?ÀNà?¤ï?ÀÔî?€Ùì?3ß?IÛ?ÀTè?Àyï?€Ÿë?À˜ï?µï?€•ï?ð?ÀÛí?ìÚ?a?$?€æÝ?@ê?.¶?€ž?V¼?`t?•Ã?Àá?€Þ?º¿?_Ì?€Íé?ñï?ð?À½ï?dØ?¨›?À•?E?N?"º?Àèá?@+ï?få?€ªÖ?@’æ?¦î?@ˆï?€…à?@Ãï?ð?ð?@§ï?£ï?À÷ï?@œå?ð?ð?þï?ôØ? ˆ?4?d¦?¢å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ê?—à?$®? ´?€_?bÄ?€‡?@Eæ?À”í?ð?@Õé?€RÚ?Pµ?‹?I?–²?|Õ?€Ù?€aí?ð?@´ï?ð?ÀTï?ð?íï?ð?Àùï?ð?ð?ð?ð?@Êï?ð?}ï?ÿì?žÆ?ÍÈ?€CÛ?À å?¥ë?€Qæ?@úå?€ãï?ñá?À×ê?€Þì?kï?€óè?%É?–Í?€ Ø?è­??W?¶?ÑÉ?À7à?¸?!Ä?ºë?ùï?Àíé?ªÑ?0?JÏ?˜¶?ŽÉ?¾²?ˆ™?_?h£?Ì?€¤Û?ÇÁ?ÀPè?Àžè?À$ã?À@ã?±á?€ëà?pÉ?€¬á?@ã?¤Ö?ì²?ð°?€ðØ?3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?pí?€í?Yì?À*ç?>±??è¯?YÊ?@Ìì?©î?Àˆï?€Èæ?à?`~?D£?¹á?°é?ÀÀï?ð?€Êï?€ï?ð?ð?Àï?ð?ð?@÷ï?ð?ð?ð?€øï?‘ë?âà?€ÆÖ?€"Þ?€£é?‚î?Àxì?€Çí?€±ï? î?@‚é?@ ì?dï?0ë?¶±?`©?‚æ?Îï?IÈ?Àˆ?~?Øž?†Í?uÈ?€ì?@dï?€îï?ð?Që?"Ó? œ?†Ç?Ä?0?à–?v´?À?£?S?†? Ä?À±ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßí?@äí?@ùì?€Lå?†×?³Õ?]æ?€¬é?€êí?tæ?޽?IÀ?N¿?t¦?(ž?`q?@mã?À\ï?Àáï?¯ï?ð?ð?ð?ð?Ñï?ð?ð?@¿ï?ð?À1î?@˜í?@©ì?@ì?ÀÍà?Àí?pã?€Àï?„ï?ÀŒï?@ëï?À¼ì?Àùî?À’ë?[á?À€ï?@,î?WÙ?¼?³?°«?€9Ö?°¤?E?€Ñ?ä¡?€ŽÝ?€»â?L×?ð?ð?ð?ð?ð?@”î?Eæ?€Øí?ð?@­ã? ?¶?œÛ?DÄ?2¾? â?ÀÏç?&ç?/Í?“Ç?ð§?’¼?ˆÉ?@&à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ê?€J×?À3à?PÂ?¶Ó?@]ë?€èî?€[ï?@oê?üß?`?`?v?¸»?€àÝ?Ý?€2ê?øî?ð?ð?@íî?@Êï?À`î?€áï?ð?@^ï?ð?Åï?€Jí?@@í?À–ë?€¥í?À9ì?€Þî?@á?Àï?@pí?€|ê?@tî?|ï?@Áï?€ûî?¦î?€@ï?i×?”Æ?ÀŒî?Àä?(­?`?:Ë? q?€‡?ô·? x?ˆ²?l¯?\Î?ÀÊã?d×?¤°?Îé?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?€ýÞ??P‡?@¥?OÙ?€%Þ?Àâ?€´å?@‡á?–?€»Û?ð?ð?ð?@†î?ð?@í?>³?Àu?QÏ?€ Û?qÓ?€«?Àb?°—?¨?<Ø?€7í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ê?@íï?@í?ð?ð?€í?mé?€WÓ?€ÿÙ?Àeå?òë?@3ï?¥é?È?0ˆ?†?ÑÀ?Ø?€àÜ?¤Ý?Ìä?€äë?€'ì?¹è?@$à?¬î?€íï?ÀÂï?ð?Àùï?€ßï?@¢ï?@ñï?î?À³ï?ð?€‚í?Àí?Àvê?€¡ï?€Îî?ñë?Àhï?.ì?Ààí?Àäí?€kì?@Ñï?ï?Àí?€Áé?Àâ?&Ù?H?J·?¦Õ?ÀËê?Àí?@)é?>å?…Å?€ªÔ?æ?Aã?]Ø?ÀÄ?Ô¿?¨Ô?@ê?€¤Ð?€?€p?P?N?@1æ?ð?Àäï?–Û?B²?ÀHé?ð?ð?ð?ð?@ëï?@Þï?ð?ð?ð?€½ï?€ð×?GÃ?è”?À3å?Àî?hè?H²?€ñÐ?À]é?Àšï?@¾î?7ï?@¸ë?ÑÁ?$ ?Àë?Àƒî?ð?ð?ð?ð?Àå??n±?€òç?€Íï?ð?À¬ì?©Â?¨¨?€fß?@êë?@Sê?€ÒÒ?Àâì?â?@{á?€/Þ?0­?ĸ?>Ò?€­ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À ç?€JÞ?€2í?€Ùî?‹î?ð?ŽÈ?SÅ?Àäé?ÀÆë? í?€óá?P¯?@íå?€àÛ?€T?­Â?º?€î?@—ï?ð?ð?ð?ÀŽî?€úì?@àë?èï?ð?€ûï?€¥ï?À7î?7ï?Àî?ð?€bï?@}î?ÀÚï?@ùï?€#í?€‚í?@Iî?ÀÂî?À¤ï?ÀÑï?À¶ï?Àtï?À‰í?Àãï?@'ï?@øí?<î?0ï?mí?d±?Ä»?@Xà?€³í?@rï?ÀÕï?@…ï?Øâ?@Óè?ùï?ÀÒï?@˜ï?À ï?î?Àá?àŠ?À`?€,ç?äé?ÀÆê?€‘á?_Ù?@á?“Æ?àp?ºÐ?@à?Àsî?ð?Àðë?€†Ó?€¯ï?ð?ð?ð?ð?éï?ð?ð?ð?ð?@ï?€CÛ?gÅ?„§?ı?H¨?Oâ?yï?@î?¤Â?Êã?À·è?@™ï?€îï?Àïï?'å?ç?€jæ?€ôä?@^ä?ºÎ?t¨?lÌ?{Ö?@Hæ?ð?ð?ð?ð?Àëï?ð?Ëï?À¤ï?€<ï?ÀÓç?žÍ?À¤â?@ï?@à?Àñä?@§è? ß?±æ?ÀNè? }?2?À‚?•? Ú?Ëì?ýï?Àwê? ?€Ñ?d«?.ì?âî?ð?ð?ð?@fä?†Ñ?À[ï?ð?ð?Àµâ?l±?Àeå?@Šî?€ñï?ð?ð?ÀÑå?€bà?ð?ð?ð?@õï?€<Ú?Â?ûÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|î?é?@ç?è?ÀÉí?@}ë?@+á?ûÂ?”¨?°£?ð¯?Iä?€´ï?ð?@ í?€ëÑ?€Q?UË?­Ë?½? ¢?€ÜÑ?€±Ð?¢¸?€ã?€|Ø?ð?ð?ð?@ví?Àî?@´ï?@îì?@ ê?Àšé?×ê?€¿è?@«í?Ààï?@±ì?ð?€Þï?À_ï?ð?€aï?Àâï?ÀZï?À™ï?¾ï?Àäï?€˜ï?@‹ï?Àáê?@ ê?Àï?Àvî?Àï?Ïï?@Ðï?­ß?"ç?@Bî?€wï?€¬î?À†å?€éî?€iï?À4ï?lï?Àýë?€žî?^ï?Æî?ð?ð?ð?ð?8î?@Üã?€U×?€êÜ?€pÙ?HÈ?€mä?Šê?Ùë?Pê?@›â?€„å?aé?Gä?@Á?L¦?è‘?à¤?°ç?ð?ð?@ùï?@×ï?ÀÈï?ð?À(î?€êé?€“à?€÷Û?€Òí?À,ï?ð?@»â?€Ô?€Ý?³?(?€¨á?ˆÈ?K?€ÒÝ?´ï?Ààí?@qæ?€ Ú?€…?Àüê?Ç?Tª?ÀŒä?ÀMî?¯é?€è?ñß?l±?€æ?öí?ð?ð?ð??ç?,¨?Àï?ð?ð?@üç?Ô¥?@£ä?À¸é?€˜í?ð?ð?ð?…æ?@æâ?ð?@í?À©é?±î?€™ã?¸¬?bÓ?ÀÄâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€ï?€(î?hä?Sâ?é?@ ê?\Ý?€ÐÞ?€%ì?ÀÔï?ð?@,ì?"Ã?Àcà?€ï?€ªï?Þï?€Öé?€"Ñ?„Ü?î¼?¶?€òß?qÓ?ð?ð?ð?@úî?À!ç?@„ï?òî?€´ï?í?zì?Àkë?üí?5î?€šî?Àç?ð?ð?ð?íï?€àï?€Óï?@¯ï?Àéî?@¦í?Àzï?@jï?Ïï?@Wí?€Àî?Ïî?î?€=ï?ÀÅì?ÀÛâ?@ôé?€„î?€¢ì?€çë?€½î?†ë?@ î?À\î?€¶ï?€rï?@%í?€Lî?€iï?@°ï?À)ï?äï?€Îí?ï?€öï?Àþï?Àöï?€+í?À³ë?€þî?Àäç?€{ê?€ªê?€ßí?Më?À˜á?gâ?€à?€ëâ?¦Ä?4?€ä?€'ß?TÕ?€ªÑ? Â?P„?j¸?@äï?ð?ð?@àï?Àzï?@‰ï?€5î?@™î?@Wã?¯Ç?€ë?ð?ð?€;ï?À|ç?ŽÆ?¿ï?ð?À­ç?¼¡?€>Ü?ÀÝè?r²?Ÿà?€Ïî?@í?ÀTï?µÈ?Ô¹?À§î?@wé?Ú?ÀÎë?éî?"í?À˜ï?€&æ?­Ó?FÎ?tâ?€ƒè?€ZÖ?ÔØ?€Ü?(?Àf?Àè?Ýï?Àêï?@ï?6³?€5ß?@Ýï?)í?Àæï?ð?ð?ð?€në?"¿?§Ù?¬«?€ÆØ?Àtâ?þ¾?–È?Àâ?Àºæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑî?À°é?€¤ç?hé?@±á?@6ï?€é?@¬ã?àŒ?N½?€í?@Šï?€àï?á?6?@×ê?ð?~ï?@çï?€çï?€ß?€§Ò?€!Ø?È»? è?t½?%È?ÿî?€²ï?ÀÇï?@Aï?€©î?€‰î?ÀÚí?€Éï?€Âï?€°ï?˜ë?¦î?@#í?Tí?À“ê?À{î?Àçï?€çï?ÀÅï?€Vï?@¦ï?@Åï?@|î?@Úî?À¬ï?1î?€ ï?@ï?¨í?Àkî?@î?À`ç?À3ã?@Ñí?€%ï?€wï?€í?€ëï?0î?€!ì?€<ï?@^ï?@Ëï?ð?@êï?@Ìì?—î?ð?@¢ï?@iï?@‚ï?@zî?À­ì?€òï?þï?ð?Àï?Éî?Àüï?ð?@Âî?@æ?Üç?íÌ?€AÕ?@jä?SÙ?.³?€±Ñ?€tÒ?€«å?·Ý?î?@êî?Aï?@äê?Wà?€oÑ?„?µÓ?@ìï?ð?ð?òï?ð?@ÿï?Àrï?€ì?€­?Àäë?€î?@êï?€ôï?€õï?€ë?9ï?€Çï?€âî?€æ?ZÔ?€¼ß?gï?@â?€“Ò?@Äî?ÀBí?@Uï?|Ô??rÔ?=í?±ì?@Šî?€Òí?úí?€‡ï?€Èî?@xå?Ài?@Aè?ÿï?€-ã?_Ç?€¹ï?ð?ð?€Jï?nß?€‘Ñ?@ïì?€ï?ð?ð?ð?Àßï?§ß?t¿?@ª?ZÞ?@áî?ð?@zì?Øå?|¦?À¢?€Òß?€†ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?@hî?0ë?€çÐ?@4ê?rï?@Ãã? ‡?(?@~ã?ð?ð?ð?€šÕ?@+æ?ð?ï?ð?€îï?@ìí?pŽ?@æ?´£?¦?×?Bå?çè?Àâä?Ð¥?–?Ï?@»å?À ï?Àòî?ÀÏï?€Žï?@Ãí?Aî?Àmï?@=î?€ûí?À¹î?€×í?ì?€©ï?@ï?€ï?¼ï?€tï?@}î?€Æî?ì?Àhì?@¨ë?Àhí?ÓÝ?€5Õ?€Íê?ð?@úï?Õì?€ké?€î?ï?1ï?fï?®ï?€þï?ð?Àÿï?¼ï?Àõí?Àáï?ð?ð?@®î?€mí?€ î?€zï?@éï?ð?Àžï?À©ï?@tï?lï?À³ï?ð?ð?Ëï?@¼ë?Àòï?ð?æï?@Úè?€þÕ?Àkë?€LÞ?€êß?Oß?qÚ?@4è?€2ï?¾ï?@Êï?@Ðì?–î?€³ê?€#Õ?Ù?À‘â?Þ?øã?öá?äË?Àm?(¬?À÷í?ð?ð?ð?ð?ð?@Ãï?€hë?YÚ?À?@Ðã?(ï?À¿ï?ÀWï?€¨ï?À¾ï?@Šî?Àáï?½ï?€,å?€Bê?@†î?€/ï?€ï?"µ?áç?Àí?Ší?@—î?€µ?À?À3á?@~í?€ë?€ùë?³î?€æì?@uï?HÉ?€+ë?@Ûî?¤À?×Õ?€¼ï?Àäï?ð?Àëï?”ä?ˆœ?0Ù?À`í?@´ï?ð?ð?€¸î?@™â?€ªÛ?)ç?Ýß?À è?€ÿì?ð?ð?€Üé?À©??HÔ?€Ðè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@`ï?@fë?€ìì?€òÓ?€IÕ?@eæ?¨ ?»?ÀÅâ?€¿í?ð?ð?ð?Ò?4?€Xë?ð?ï?€õî?€Âï?À¾ç??dÍ?À_ç?À`?ÿÔ?ÛÆ?À¿à?@Æï?€ií?@Bì?¢Ê?¼É?À=ï?€ ï?ð?øï?@¸î?@pï?ð?€Yï?@÷í?5î?@hí?@ ï?€Ûï?€öï?Ìï?À?ï?€Iï?@Mï?@ë?Xë?@{î?@_ï?@àí?ì?øí?ÀŸï?€êï?Àeî?@ ê?@gï?@ãï?ßï?@Íï?ð?ð?ð?ð?ð?ð?@ ï?Àîï?@øï?ð?@øï??í?ÀÃï?€ùï?ÀUï?€êï?ð?©ï?@ï?ð?À¾ï?ð?€ßï?ð?@·ï?À¹ì?ð?ð?šï?Àòà?ÀPé?ˆî?€†Ø?øÆ?ˆ?? ˜?Àà?Àƒí?€Äï?@Çî?@Ñï?ð?`ï?@Hî?€zæ?Ö?@‹ì?@¸ï?€gï?¦Þ?€CØ?€JÑ?Xí?ð?îï?ð?ð?ð?ÀÂï?€=ß?€F×?eï?@–ï?@þï?ð?@ší?}ï?Àï?ÀRí?@æí?ÀPê?€Ÿí?@Ìí?ï?@Àï?%Ø?òß?Àï?Àgí?eî?€‡Ò?`u?€EÓ?¶è?€.é?€Yî?À$î?Hï?>Í?zæ?€cá?7Ô?yï?ôï?ð?ð?€3ã?]Ó?[ì?€Lç?@ùî?ð?€žï?À–ë?Ââ?@¥ê?ÀOí?@‘ã?«ì?ìí?Àÿï?€?í?@ç?Àyã?@’?x‘?¼Ç?ià?@Cì?€é?€Fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?4î?%ë?À÷ï?ð?ð?ï?ð?{î?@;à?¸Ä?@m?€éÑ?Àcï?Àöï?€©í?ÀÐï?ð?€næ?Îç?ð?®ï?ð?ÀÉï?Àï?¢´?д?@Pç?@üï?7×?€”Ò?€Ôï?@Žç?›á?À¼î?@{ï?€°ï?@Bï?€ªÑ?]Ë?À.ä?ð?€¬ï?@¬ï?ð?ð?ð?€åï?Àtè?ð?€†í?ð?ð?€±î?ð?ð?@Çï?€æï?™î?@ðí?€î?@‚í?@¦î?Àï?€Jï?€¾ï?ÀÔî?€ì?€2ê?À±í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯î?@wï?ð?ð?Åí?À¤ï?@éï?€Ïï?Çï?@¯ï?€åï?ð?>ï?ð?ð?ð?ð?ð?@4ï?Àíí?ð?ð?ð?@ƒï?À{å?ð?@á?ÚÃ?†Ù?ð‚?@¢?‚ç?@”î?ï?€8ï?€kï?€ì?€9î?Àãë?€IÑ?€LÑ?ÀÜî?@hï?@5ï?€=î?XÚ?Ø? §?Àá?@Ïî?õï?€çï?ð?€Ëî?ÀVë?ƽ?@ßï?€íï?@™î?vï?€)ï?í?íî?Àwï?žï?ÀPí?€˜í?@Óî?€òî?cï?ð?Àî?@»?@þâ?À‘ì?@äí?€Qï?¼Ù?€HÓ?ÀTî?@óë?yí?oï?€”Û?sÜ?€˜è?€Å?9Ù?€úï?ð?€úï?€øï?ð?€¾Ð?¿ç?@äï?@Áï?ð?ð?ð?À±î?@Ií?€™ï?@¡ï?ÀÅì?@–è?ð?ÀÎï?@%î?@î?ë?µÍ?ð“? ²?Àã?"í?@î?À!á?Àæì?€˜ï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?ï?Àsæ?ë?ð?ð?ð?ð?ð?Àöï?À à?8Ÿ?Â?ÀAí?€Sé?ýí?€Rï?ð?@mî?¤¨?dÉ?Àlï?ð?ð?ð?Àâï?Òä?€ZÖ?ð?€åï?Àoâ?Ü­?€dí?ÀÙï?/î?Àwï?€Íï?@¥ï?À/ï?@-î?€Áé?À~î?€QÕ?€Qï?ð?ÀÝï?÷î?ð?ð?€Žï?Àï?€šì?@Sî?Àãï?ð?ð?ð?€•ï?€Ìî?@?í?Èì?£ï?Àâï?@sê?îî?Àíí?€1í?€aë?ÀCî?@°ï?ÀMï?@Öë?Àßî?ð?ð?ð?Çï?ð?ð?ð?ð?ð?ð?ð?Àfï?€ ï?ð?ð?À«î?ð?ð?€êï?@ï?@×ï?@6ï?€¡î?ð?Þï?€Âï?ð?ð?ð?ÀÌí?@´ï?ð?ð?ð?ð?ë?ð?ÀÆì?GÊ? À?@ ï?øÍ?:?€ãÐ?PÝ?޼?›Ð?—Ï? Ø?α?À£ã?€¨ï?@qî?À4î?xî?Àäç?À_ê?€æ?€ å?Lî?€ ï?ï?Þí?@&é?€&ß?3Ù?ø™?@Ž?€~Õ?Àâï?@úï?ð?@©ï?€Çé?€§?€Ø×?â?@Œï?Ànï?€|ê?ÀÆç?€-ï?@Ëî?ð?ð?^ï?@öï?ð?€ï?Jï?%ë?`è?@¬ë?@Ùé?€—ë?€bî?:ì?@¡å?@Eì?€¯Û?€¦Ó?  ?5Ä?@ í?€0ì?ÀLè??À?âÙ?€®ï?ð?=ï?@bî?ÀÀï?rë?yË?€Üà?@ôï?@Öï?ð?íï?@î?Àxï?ÀÆï?ð?ð?@úï?ð?ð?@Lï?€Þë?À5ã?Àçç?PÏ?Àà?dÒ?k?à°?@î?ð?ÀËã?€³Ø?€'Ü?Çæ?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚ï?ÀÎì?À6ä?<ç?¬è?@¥ï?ð?ð?eî?ÀBå?³Î?Àl?P·?€øÚ?Àà?&î?ð?ð?ßÚ?€W?€‚Ñ?À»ì?Àýï?ð?ð?ð?€¬ï?€BÙ?>?Àè?ð?€×ï?€MÜ?ÕÀ?@¦æ?€äë?{ë?Àçë?Àøë?Àëî?ð?ÀÖï?Àsä?€5Ù?Àáï?€åï?¼ï?ÿï?ð?ð?ð?ÀPï?ì?€áï?€÷ï?ð?ð?ð?ð?€¬ï?=ï?€ìí?€Bï?@úî?ÀÆï?À&î?@Rí?À×ì?ªï?ð?–ï?€øï?@Åï?€Hí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?©ï?ð?ð?€ ï?ð?ð?€Nï?@kï?@éï?bï?@Žï?€áï?@éï?Àï?ð?ð?Àoî?@Äï?ð?ð?@úî?ð?ð?€«ë?ð?Àñï?`ã?€Ö?À î?€í?÷Ý?ìÜ?À ï?Òí?À0í?Ù?€ Ü?‚æ?@„æ?€=ì?@éí?ÀÉì?€¸ê?€øí?€¹ì?€Té?À ì?Ýì?¡î?€Áë?@ˆì?@¨í?ºí?€Šç?Àé?@öâ?€QÑ?€k?ËÔ?€‡Û?€|?‹? µ?àq?@b?€¹é?ÿï?@ã?îØ?Š»?Ü?ÜÓ?“Ò?€Ñà?€'ì?%ë?Zì?ð?ð?ð?ð?@ï?@Œí?|ï?€<ì?@ê?@Âì?ÀDì?Àí?ï?@4ì?Š?üÌ?€]æ?œº? œ?€>Ú?ôç?@kï?@Çí?@Òê?`›?€òÑ?šì?@>î?€éí?î?>í?€Æë?_è?£ã?ð?ð?ð?ð?ï?@Éî?Ëï?€øï?ð?ð?ð?ð?@öï?uï?À‰ê?@ê?À‹ã?@Eì?@.ï?OÞ?Ñ?@µá?ëÎ?+Á?@Bè?Tå?À ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?¸î?@í?À¡ä?@‚í?ð?ð?nè?ÀJè?Àp?€? ?ƒÂ?)À?Ы?&±?@‰?cÝ?€êÔ?}ä?ð?@éï?€ë?|¯?äÆ?@Ôï?ùî?ÀÃï?€Ìï?Àmï?@Åï?Àáï?@—ì?Ç?κ?¼ï?Àïï?»í?Àžã?Z×?ý×?¾Í?êî?€bå?hï?@î?ð?@Ùë?„ä?ð?€¼ï?@‹ï?€ï?ð?îï?ð?ÀÊï?5ì?ÀÂî?À§ï?€Ìï?ð?ð?ð?@Óï?Àiï?€0ì?€áï?ð?@Çï?Sî?¬ì?@*ê?@üí?€¦ï?Þï?€æï?À›ì?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þî?ð?ð?Àáï?@«ï?Þï?ÀHï?Àáï?ð?€ðï?ð?ð?ð?€$î?ð?ð?ð?ð?ð?@Çï?Àhë?ð?ð?ÀØî?vÎ?€²ä?€@ï?@Ôí?@|ï?±ï?@pï?€í?@Kï?@ë?€„ß?À6ë?Bê?€*ì?Ïë?Àì?@ì?më?@‹è?üë?Åì?€€ì?@7î?Iå?@µç?¦ì?€áè?^ë?@0è?Mé?Àéæ?wÍ?Ї?»?R½?*²?Ð?€ýî?à?V»?Àòê?Àã?ò¼?¡?Û?Àà?à‡?€fÑ?€?å?@ië?€Vî?ð?ð?ð?À¬ï?ð?@7î?ÀCï?@óï?À¤ï?€jï?õê?:ì?ÀËì?@×å?Uí?€í?€æ?ŒÇ?€æï?ð?ÀÎï?@–ï?€ôï?¥Ç?\ª?†»?Ï?Åê?[ì?Àå?À9à?€mç?€î?”ï?ð?ð?ð?@Çï?Àí?€ÿè?Úì?@åï?ð?ð?ÀÍï?,ï?€(í?Àïí?µê?@|ï?Àˆì?Àá?(»?ßÓ?–Ù?–Ú?€à?@†ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Qí?ð?ð?@Ýë?ÇÍ?xÍ?˜ï?ð?€oï?ì?x? ’?±Ç?pŽ?ö¼?€bÖ?€BÜ?’Ê?.Ë?€fÝ?À ì??É?$©?‡?Žº?Àãì?Àþï?ð?Àµï?¸å?€Œ?NØ?@òî?€Âï?ÀÑï?@´î?ÀÈï?¶ï?€>ï?ßï?€ïß?@Yæ?€Éï? ï?ÀÝï?Àî?Êï?yä?Àûæ?À9î?Àí?À´ï?Çï?€Hì?€èÑ?€¤Ú?ð?@Âï?€«ï?õï?À¶ï?Ùï?ð?@¸ï?€åï?€¬ë?{í?Aï?ð?ð?Àoï?Ôî?@Öê?@¡ì?Ìì?eì?@Ëì?€í?€ï?Àkì?ðî?@;î?ð?ûï?À‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õî?€šï?ð?ð?ð?@öï?ð?ð?ð?@™ï?’ï?ð?ð?@Ôï?€¨î?ð?ð?ð?ð?ð?ð?@¹ë?@üï?ð?ð?wí?BÅ?0¡?0ë?€øî?À¦í?€áï?À›ï?@uî?À…í?Àiî?Àë?ÀPè?€&ë?À×ì?€¨ë?@Ôì?À˜ì?ÀŽè?@zé?„ê?@ìí?€¦ì?@.ì?@5è?ÀCä?@ñä?@ç? í?€Ôè?@¨ì?À•ê?Àé?€sÝ?p?ú²?€DÑ?€Øá?Ûê? ï?€õî?À·í?@Vè?,Ô?‘?œ£?@q?àÙ?@fé?¤Î?´¤?K?’µ?@må?€¶ê?€‰à?€ñÚ?™Ø?6¸?€{Ð?b½?_?Ð?ÀPí? î?Àóï?Àîï?ð?ð?íï?´ï?wí?ÀŒã?Àâí?€í?€iî?À>ï?@Ãí?À²é?@sì?À é?€Òí?Àóì?@Ëì?‡Ë?€Z?€6Ð?ÀÕï?€ïï?@ÿï?äï?@sï?¢Å?4Ü?€šë?€Ý?Dä?€Þé?€Uì?€í?€ê?@Íï?ÀÄï?ð?Àñï?€@ï?@ôë?î?À£è?æí?Àðï?ð?ð?Àgï?ð?@kï?@ï?žï?@åî?€Kç?@õä?ÀAã?°?“?–?€Ú?&ß?€Sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ï?@^ä?ÀŸæ?@¡è?aë?Ò?€)ë?ð?€‹ï?€+í? š??õÁ?œ¹?¨¤?âÒ?ÏØ?Ö?žÚ?À–î?€dÔ?êå?XÅ?€%ë?€FÙ?ÀØè?À ã?~Ñ?F?<Ä?€×Õ?@ïè?ÀÌä?@íä?À‹é?€qÖ?š´?À•ç?€"î?Àžï?ð?ð?ð?Àòï?@³ï?ê?Àb?ð™?€éé?Öí?@}í?€rî?€î?Àûì?À›î?«ï?@qî?€Åï?ÀÖï?ð?€-ï?À‰ä?€zã?À æ?@‚ï?Àßï?€®ï?¼î?Àôï?@§ï?@”ï?€÷î?Ãì?@9ï?´ï?ð?ð?ð?Fï?À|ï?)é?ûî?Àöï?@åî?@çï?@í?@•ï?eî?@„î?€¼ï?ð?ð?ð?ð?@Íî?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rî?ð?ð?ð?ð?ð?ð?€Àï?À ë?ð?ð?ð?ð?Àêï?å?À˜î?@jï?@þï?ð?ð?€“î?Àðê?ë?¶ì?ÀÀç?@zæ?hê?@zî?ãî?ÀAî?®ê?@Ùç?Vê?@~í?Uí?öé?wé?€¢í?èí?.ì?€í?Lì?@™ê?€‰ï?ÀSì?À&è?€ãè?@ç?€Lì?€jë?@éî?Àjî?€ÿí?€Áî?@¾ï?€fï?€æî?€í?ë?àá?À‘?Ô¤?Àp?Ø£?€?ˆ•?ùÎ?@uê?€æ?€Jè?eí?Àè?@1è?ÀEç?Àê?€_è?lÜ?€“ç?€¹á?€X?È’?ܸ?Àðä?ÀÃì?@8ë?€§í?@kí?6ç?Àxã?€Èë?Àéï?@ßï?Îí?@çí?àî?@*í?Àjî?7ë?€Bï??ï?À™í?ˆë?âí?í?€“ß?uÇ?U?mÆ? ‘?p?À]ä?&ï?Ànï?€¸ï?’ï?Àlï?mÚ?€s?äÁ?¢í?À-î?°í?Àtí?€*î?@1í?@Êî?€Óï?ð?ð?ð?Àêî?@¾ì?€mä?€žì?À¯ê?@\ì?—î?mî?@®ï?ð?ð?ð?ð?€¼î?‡ì?@ë?´ì?€´ê?Àrâ?€nã?À¥å?VÌ?b?À9ä?@ªê?€Ýæ?ÕØ?dÉ?@Ô?gê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íã?@Ÿé?ð?€øï?€ì?І?N³?€áî?ð?€nè?@×é?(˜?èž?€æÓ?@bâ?/ä?Àÿë?@äæ?°×?ÀÒí?òÜ?€Vï?À/à?€î?@fï?@Äì?Ÿß?–?ðª? ‹?¼±? ¿?€Š?hº?¦? é?€ë?@ï?ð?ð?ð?Àíí?@(î?*ê?@âä?À¬í?­ï?Àï?€Ìï?@õï?Àçï?ð?ð?Àâï?€áï?@Ãï?Àºì?@îè?€'à?€èã?€Ûï?Ànï?À¥ë?ºî?@Ÿí?€fî?Hï?Øî?Fî?À¡î?À*ï?ð?ð?ð?ð?ð?Àßï?@õï?ð?ð?@ƒï?ð?ÀÂï?pï?ð?ð?ð?ð?ð?ð?@ï?€tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?€´í?@Ùí?€fí?Æí?€Óî?ùï?ð?ð?ð?€"î?@²ê?€5ê?¸ï?ð?ð?ð?ð?ð?ð?Àžï?@Áï?€ãï?ð?ð?€ýî?@jï?­í?@Lì?€Ðî?@Õí?†ï?€qï?Àïï?·ï?ð?@aï?À]î?@×î?À|í?@ýê?€Iê?@>ì?À ê?@Ãë?€¬ë?À+í?€øï?ð?Àvï?Jî?Fí?ÀQê?ÀNî?~ë?ì?€½í?€Ëì?³ï?@‰î?€¼î?íî?€§ì?Àâå?Çä?/Ø?@a?¡Ç?Àã?À¥ë?€>ë?@é?Àrê?€Äé?€—ë?@çê?@ì?@³é?€¦Ú?Þã?À è?€)Þ?þµ?r²?€òÓ?€1×?³?@`?€´Ô?nÃ?Ø™?ä¶?D¨?€±?H˜?Ô¡?€5Ñ?Àšê?@ï?@­ï?@kî?î?€6ì? ì?€!ï?ð?@ï?€Ëì?wî?@ï?jî?À=ê?ôÕ?U?2Ç?8²?À/à?€þî?@5ï?Æï?âï?€Qï?@íí?^À?€Ø?€×ê?Fî?Àgé?À¶ì?€ªï?®ï?#ï?ÀÞï?ð?ð?À0î?À«î?@í?@˜î?Àíá?@å?Àöì?€8í?Àï?ð?ð?ð?ëî?À•ã?@cè?@òí?@¿ë?@¬æ?@í?€oí?ð?@`í?´½?»Å?«Ë?€Úî?ð?ñï?Àä?ÄÕ?Àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§í?€Fê?Õà?€\ë?€«è?ÓÞ?ž²?š?€fÐ?Kè?¿à?`å?€? Œ?1Ã?ê´?‰Å?HÌ?dá?èá?€U×?@çí?£î?€´ß?€qê?€Sï?øî?Àmî?@î?€î?Ôï?Åï?€åá?œª?P?Àyä?ãå? ˆ?àŠ?@¬ì?Àî?€¶î?€|ï?@oï?À6ê?»ï?@î?UÝ?dÅ?€ëî?Àãï?»ï?@ï?î?nï?@·î?€†ï?€zï?ÿï?ð?ÀLî?€Œì?€¹ã?À1à?€¼í?ð?€öï?Àï?@Êí?@Æï?@ë?@ï?@«î?£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?@Qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rï?ð?ð?ð?ð?-î?€ÿì?Þï?€ûï?ð?ð?ð?€Òï?ð?Àçï?@âï?€,í?eè?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?Àëï?ð?ð?ð?€×í?@ûï?ð?ð?@ï?@Áï?Àüï?@þï?ð?€çï?€ï?@³ï?Àüï?éï?€Ãï?jï?Àõï?dí?€åç?@¶ï?€ë?@î?ð?ð?ð?ð?ð?Ùï?€ ï?€Gî?@[î?€Õí?€ï?±ï?€rï?®ï?À²ï?€ºí?À6è?€4é?á?R?€-Ð?€Ü?€[í?€jì?@ê?ˆè?@Eî?@|ë?@«è?òå?À@é?Àí?€Hì?À ë?Xé?€ÿë?À*î?ë?è?€Îî?€Wí?Jé?êÛ?)Â?P£?˜¢?@d?0?0? ™?ñÆ?Àè?ä¥?Ї?P‰? ‹?AÇ?JÚ?€çá?@¨æ?€äà?€Ý?€þÔ?€ã?ÀEî?€uï?ÀÐï?€í?€Eí?Zî?€ï?ï?@zé?€Yí??î?@yì?€Yë?Hî?@që?oâ?¶µ?t¥?Y?€í?@¦î?9ï?ð?Àï?€~ï?@¡ì?Àðæ?¸—?ˆ—?N¾?NÊ?µÄ?Àúë?€Ûï?@sí?!ì?Ýî?¬í?À½ì?£ì?@7î?†í?ç?©ê?€!Ó?@´â?ÀCì?À˜ï?À[ï?€øï?Åï?Àûï?@ï?ÀÍæ?@9í?€–î?À¬ë?@_î?€nï?€Uå?€¯Ø?gÝ? ¹?p¹?Àä?€Tß?€'Ö?ì?ð?€%ï?€-ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?€ýï?%ï?Âê?€½æ?€-Û?€në?"è?dÕ?`“?às? }?Ñ?×Ü?¼Ð?ýØ?ûÌ?€â?ë?€Àß?çî?™ï?ê?@¼ï?ð?ÀÔï?€†ï?>î?@ºç?€ŽÝ?ÑÏ?U?8š?$?Àá?Àaï?À¶ã?à‘?B±?@Žç?Oí?€ ï?çï?ÿê?¹Ú?ÀÁë?Àªî?€á?NÞ?ð?ð?@âí?ð?ð?Àçï?À3ï?Ÿï?€Vï?Àóï?À¨ï?€®ï?À‰ï?€í?@Õá?€¾ì?Àíï?À´ï?@æï?@:ï?ð?À,å?.ë?@ßï?ð?ð?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?@õï?ð?ð?ð?€êï?ð?€iî?kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åî?ð?ð?€Ëï?ð?ð?ð?€Âï?€êï?@ƒî?òç?Sí?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€»ï?ð?ð?ð?@Àî?€<î?ð?ð?ð?ð?êï?ð?ð?@ýï?À_ï?ð?ð?ð?ð?@ªï?€~ï?€¨í?@ì?€˜í?í?ð?ð?ð?ð?ð?ð?€Ûï?ð?@Hï?€ï?€:î?Àî?@‹ï?†î?€½î?Àøì?@Ðì?IÝ?À~ë?ïÒ?9Å?Jº?Ø?ÀÐâ?€&Ò?´¸?`w?~?€ÂÐ?À;í?@Tï?À›ï?^ï?@ï?€Šï?À ï?ï?€^í?Šë?@Ñê?À¢ê?@˜ì?À"ë?€0ë?üì?#ë?€Õë?1ï?·ï?Àßî?@sí?Àaï?Éî?ÿî?@Öë?@à?ýÉ?c×?€$ã?Àæã?;Æ?€«?ùÛ?€ÏØ?À?`…?€iå?À8ï?€,Õ?kÇ?²Ï?•Â?Àxë?ÀÖî?Àï?Àßï?ð?@«ï?ªï?Àpë?@0ï?@$ï?€ï?€î?€?ê?@é?€ê?€ç?€àë?Àï?@.ï?€õï?@Lì?€©í?ï?€Wì?€žê?€ôê?§?ì¡?@^ä?@Vï?€‰î?€Ëî?@žî?€ßì?À²è?ïÍ?@c?k?ø±?@ßà?øÊ?€!Ü?4Õ?Àùã?€è?@Õä?ë?À”æ?à?€Ú?°å?@1î?fá?`‘?@!è?€ï?€Áï?€ªï?Àîí?èï?ð?ýï?€¥î?¨ï?@$î?€ï?ç?@.î?€á?@”ì?@÷å?Ä?‰í?ð?€Sè?É?]â?Àtä?@æ?ÀSï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãî?æ?€ ß?ð?ð?ð?ð?ð?]ì?áæ?Àã?8¥?P­?€ðß?ÀÏä?€%ß?€'Þ?Àé?€Bè?€Äï?xï?€óî?À6î?€Åî?€×ï?\ï?À\ï?Àˆï?éî?À‹í?€uê?€@Ý?¿Ô?”¾?ÌÝ?€!á?<º? –?·Ï?ÿî?€­Û?Þ?¶Æ?ʳ?€r?€»á?Àhï?€ßï?€ ì?€Óï?ÀQë?@aè?@„é?ÀAï?ÀÈæ?@Éå?ð?ƒï?ÀÜï?€Àï?ð?ð?€hï?€ßï?«ï?ð?‘ï?€|ï?@\ï?àï?ìì?©â?@ï?@zç?€kë?@Þï?:ï?¼å?€í?ð?ð?ð?@öï?ð?ð?ð?€óï?±ï?€Ùï?ð?ð?@Ëï?@ÿï?€ýï?€ï?@‡ï?@èï?ð?ð?ð?Àï?À¬ï?À’í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?€¾î?ð?ð?Àçï?ð?ð?ð?@àï?€¶ï?ÀÅë?¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?Ëï?ð?ð?ð?Àøí?€Bï?ð?ð?ð?ð?ð?ð?ð?€þï?€Àï?ð?ð?ð?ð?Àçï?Àï?€#ï?@éì?À?í?Hì?ð?ð?ð?ð?ð?ð?€¿ï?€ðï?î?Ãï?€9ï?Àÿî?î?€ë?@Åì?@ë?@™ì?€ê?@ç?!Ê?N?j?ø?ž?ø®?À¿è?€î?€wÙ?¢?@xà?ð?ð?Àhï?Ìã?Àbä?@Jå?@Ûâ?Àvá?£Ï?€X?f³?±é?éì?@î?€eï?ð?Üï?øï?Àïï?Þï?Œï?@ï?€eì?Àî?€âì?pí?@í?À í?xí?À°é?À*ï?@¿ï?@Ãî?@–í?Àòï?€Ðï?ð?@Ùï?ð?€þï?€þï?@äï?@“ï?í?ýÓ?Ѐ?0‚?8š?Í?€Ïæ?ÀKá?OÎ?íØ?€¯×?€Cî?À¾ï?Xå??`u?€¹ß?øÕ?B?ßÅ?€ÞÚ?€]Ù?€º?̹?ÀÝî?ñî?@•ï?žï?@ìï?Šï?@Qï?ïå?@Çë?@òí?À¿ê?@tì?àë?€>é?ÀÅè?À=ê?@bí?8ë?^í?žì?þå?@Öé?€ è?@Ðä?€òã?@‡é?0·?,Ü?R×?K?4¼?Àˆç?}ï?@[ê?À°ç?€é?@ƒà?h½?8»?x¾?€uÝ?Hã?*Í?ô©?FÚ?MÈ?ÀÔ?Ñ?)Ó?ŽÙ?è±?α?€òÔ?Àä?Àbï?@õì?@¿ï?Àåï?ð?@ðï?@×ï?Îî?Çï?À~î?ì?Àê?@{ï?€2ë?0ê?à™?€ Ò?À®í?ð?@ÿï?Œè?“Æ?€ºÞ?€Ü?nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãî?@ â?ð‘?É?€Ø?@fá?€Þì?›ç?9ç?@ðï?Àëï?€»î?À>î?íí?€”ê?À|î?Ànï?€Úï?ˆï?@Èî?ùí?@Íé?@Oî?"ì?À$í?€ë?Té?šá?½Ç?ü ?ø©?€Y?vÁ?Mé?@¦î?Nï?€¢ï?À„ë?€ïÞ?p±?ðÇ?@â?âë?Àì?€ í?í?€5í?€í?€,î?îâ?ÀÚá?ð?€rï?@¢ï?@Üî?€ßï?¾ï?Àãï?ð?ð?ð?ð?rï?ÀÝï?ð?Àçï?‘ï?câ?À í?@è?aï?Qï?€_é?Œã?ð?@Äï?,è?€ùè?€³î?Àïï?€¥î?ÀVï?ð?ð?ð?ð?ð?Ûï?@‚ï?Àï?ð?ð?ð?ð?ð?ð?Èî?@øí?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?€ßï?ð?ð?ð?ð?À’ì?Àoí?ð?ð?ð?Àïï?Àïï?ð?ð?À‚ï?À¹ï?ßé?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ï?@üï?ð?ð?@ñï?Àˆí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoï?@½ï?ÀÕï?‹ì?€ì?@tï?ð?ð?ð?€ïï?À÷ï?@Ùî?Tì?@ì?Fî?ÀZî?@Cî?\ê?€Êê?@®è?@úî?€Fì?ßç?@¾ç?:ç?êå?œÃ?Í?Àæ?Àë?7ì?€vå?€Õ×?ÿÖ?ô¼?ä±?@*å?€jà?€=Ý?Ë?d¦?,ä?ð?ð?ð?ð?ð?ð?@Òï?ð?@úï?€qç?F×? Œ?€Ô?Zê?@pí?À•ï?€Xï?Þï?ð?ð?ð?ð?ð?Àðï?@‡ï?@1î?í?À–î?€½î?Àöî?@Kï?ë?€Pï?øï?ð?€Òî?íï?ð?ð?ð?ð?ð?ð?ð?øï?Àâï?ð?@Ìç?€rß?€xÝ?ŒÇ?©?pš?ð‚?+Ô?h²?Â?€ßã?@øâ?€øá?€ÞÖ?jè?Àì?ÀÀì?À¸ï?ð?À‰ï?KÎ?4±?@ê?Àžå?ƒ?€½ß?ð?ð?.î?€FÒ?ÚÒ?´î?€î?ží?€âë?@©ë?Õé?€Kë?@eë?4ì?À(í?€4ë?ÀÄì?áë?@ê?À·ë?@Oì?@mî?@Öî?Òï?íì?ÀÕè?€ÍÞ?€Ó×?|¨?±Í?@x?&³?@)ä?@1ç?€RÓ?€¥Ñ?Ú?€Ø?Àjå?€Þè?À¢æ?@ë?Ò?€á?Ç?І?Ï?@Ãï?À%î?@zí?ÀÀê?€ƒÙ?X£?o?¯À?@´à?ÏÀ?€XÐ?€Œ×?@g?€(×?dê?@¬ê?ðî?@Øî?üï?Àñë?@_ï?Àˆí?ÀÙï?@¯ï?Àì?À+ì? é?À•á?¶Ç?,?3Ä?Àä?é?@¿ï?éï?8Ó?€‡Ø?@ä?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹î?À{á?ĵ?@f?¦²?v¶?Àéè?À¤æ?~å?@ç?Àçë?5ì?Àï?‡ï?Àæï?€Ðî?@?î?@î?×ï?ð?ð?µï?¡î?Àòë?3ç?À¯è?@ ë?Nì?Àœï?»î?î?ÀLë?À…â?“È?•Ï?G?å?@?ï?€±Û?s?B?¸©?`?o?@”ç?ð?ð?ð?@Þï?@õï?dî?€YÒ?sÂ?Т?€Õî?À•í?@Ÿí?€zî?@¼í?€ì?@ í?¬Ü?€‘Ö?ð?ð?€Ší?`ï?€Òï?­ï?ð?ð?Àšï?€ï?ð?Àæï?ð?ð?ð?ð?Àiï?€ùî?´î?fè?òî?@tï?Ànï?Àéî?@\ë?@Nã?À°è?Uì?1ë?€1ï?@äï?ð?pî?ð?ð?ð?ð?€Ñï?€†ï?ð?€ªï?€Pï?ð?ð?ð?€ï?ð?ð?@‡ï?Àƒî?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜í?ð?ð?ð?ð?ð?Àñï?@öï?@Ôï?@ùï?Oï?Àé?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?+í?¥ï?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öí?@¨í?ßê?ð?ð?ð?@ÿï?€fï?ï?@ê?Àvê?@í?€âí?ÀIë?€ì?€ì?è?€ðë?€¶î?À°ë?€í?Àê?À‹è?Î?Àç?Àêâ?ÀYï?ð?ð?ð?ð?ð?ð?âï?@óí?@ìî?Ùê?æ?ð?ð?ð?ð?ð?öï?@äï?ð?ð?ð?€áï?*ë?"Ö?À‰?n×?Øî?@¤ï?€Ôï?ð?ÀÚï?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?À¢ï?€£ì?´ì?@-ë?Ààï?ð?ð?@Þï?@¸ï?ð?ð?€¾ï?úï?€Pï?öï?ð?ð?Àæï?@kï?ð?ð?ð?Àýï?Ãë?ŽÁ?ÙÊ?€îä?(è?€’Ý?@]à?€]ê?€ÇÖ?€æ?@xâ?@Cî?@‰í?Àï?Àˆï?ð?ð?ð?Àøæ?±á?—í?€ËÚ?®á?£ï?ð?ð?ð?ðí?€åÝ?µÊ??€<Ó?À>ç?@Ôê?Àìê?hí?Äï?›ï?ÀCì?€_í?@zè?é?@ªì?@bê?À–ç?’ë?¸î?ŸÙ?Àá?€kâ?€¯å?@Hè?$í?@íæ?ÀBæ?ÂÜ?¼³?x¡? ƒ?@Üã?À¼ì?@¸î?@jê?Õ?€”Ð?k×?€‡Û?€lá?Üë?€î?&ë?#ä?Â?pš??2?@ñë?ÀÓî?@Åî?@/ï?€Éì?Ø?È?8–?Àl?áÔ?À¤?€ÀÐ?Ù?ªÒ?<é?úë?€Aî?qï?ð?€“ï?€Eï?ð?ð?ð?ð?Àí?@†ë??í?€Kê?ÛÀ?€Lá?(ê?@Þ?Z´?€3×?À¥ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?ÀÐä?x´?Àh?+Ó?×Ä?WÇ?€€à?Àè?@vï?@rì?@¾ï?À£î?¦î?Àcï?ÀÀî?ÀÚí?ÀZï?Àüî?þï?ëï?ð?À^ï?@¦ì?@äæ?€ŽÓ?À®ë?€Óì?€ßë?€Oî?/î?@Pî?ë?Àê?€¿ç?€8ì?Àeè?€ç?€Ø?`“?V´?Àçï?ð?@Íë?H¿?€\?Я?XÍ?@ï?ð?ð?ð?Ðï?@¨ï?÷è?À ä?ð¸?€Q?€c?9ç?€áì?€$ï?ÀŽë?@Ðî?Àþí?À˜ë?¥Ô?‰Ô?”Ý?À<à?H¡?¸Æ?Næ?@§ï?@pï?ð?Àùï?Àüï?@»î?´ï?ð?ð?ð?@óï?ÀBî?¿ï?€»î?@!ç?@ãì?€¼ï?@Úï?ð?@íï?€ï?@.î?À¬í?@ í?€Ví?ð?ð?€Aî?Àoì?ð?ð?ð?ð?ð?€¯î?@î?€>ï?ð?ð?@ºï?@äï?€´ï?€ï?@óï?7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?€Bì?ð?€âï?ð?ð?ð?ÿï?€ÿï?€ûï?ð?Àœê?€tî?@ûï?ð?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïë?ð?ð?ð?ð?€Îï?ÀÎï?ï?ð?ð?ð?ð?ð?ð?ð?ð?@âï?Žï?oë?@Ýî?Ñë?€Ãí?@ î?ÀÜï?€âï?ÀÕï?Àï?€}ç?Àjç?Àûæ?@6í?âç?@ê?€=ì?Në?@÷ë?€Ýì?€†ï?lí?pì?»ç?:Þ?€+ç?yå?€±å?À›å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?À^ç?€nÐ?€ËÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?~ç?à’?«Á?@¦í?ð?@Åï?ëï?€òî?€Ñî?@ïï?ð?@âï?@Øï?ð?ð?ð?€ï?@î?³î?Àí?€Ãì?À½ï?@1ï?@î?À»ï?ð?ð?ð?Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@ïï?ð?ð?€‰ï?ð?¶ì?€Ñ?Àk?Vº?fé?;í?À’ì?Ñë?ÀZê?€’Ø?@éå?ÀJî?Àì?@ï?ð?Àöï?õï?Àôï?ð?ð?ÀÅï?À]ï?Àì?Ïî?Àüî?€ãï?ð?ð?ð?@Þï?Dî?À ï?€ëë?ÂÈ?Ài?Ѓ? p?0–?°é?@î?@’é?†î?zæ?@{â?@Oê?•í?€µî?@:ï?7ë?Ì«?€Ñ?€0Ô?€ÿå?@©î?Eï?"ê?wï?€Zè?ƾ?Àu?‘Æ?Å?ÀŠâ?Àiì?@Tî?Àçë?@î?€%Û?,?èÙ?€sê?Àxå?Àrà?€Fî?@lí?ªÑ?üÀ?ÀZâ?+Ü?€›Ü?ÀFì?€íï?@äï?€(ï?@âí?èé??×Å?ÀÊá?€^?ŸÄ?,Ã?„­?€hÞ?À‹ë?@ì?Àzì?·î?÷ï?ð?kï?ð?Àðï?€ˆï?@ïë?Àýæ?€‘Õ?&Ô?dÅ? u?ð‹?àØ?€ˆà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æî?Tâ?–?ð?¶Õ?Bà?Ñ?J½?æÛ?@Éí?ð?ð?À*ï?@ï?Ÿì?Àõï?À&ï?€àï?€)î?@Yï?€’ï?ð?ð?@Íí?Àcè?»Ë?€¨ã?î?ÀEì?ÀXê?Àhì?@bî?Àèì?@úí?@Çë?€^í?€Õì?€`î?@î?ÀOí?€ëæ?PÀ?b¸?À*ï?€ ï?€²Õ? ?Às?€œÐ?vË?°§? w?h‘?,?;Ç?€äà?»?ܰ?Àãê?öï?Àðï?@Ùï?€öï?Àuï?@õî?€ºï?wí?€nÙ?Ô©?Ä?€â?í?Ýî?€Ÿï?@Zï?€¸ì?KÞ?OÀ?€DÛ?@é?Å?[Ù?ÿï?@öï?Àtï?ð?@óï?öï?@Óï?ð?€òï?‘ï?Aî?@Þï?€¶î?€—è?:ë?€`ï?ð?€ï?ð?@{ï?À—î?€éí?@Ïê?€3î?€ëí?ð?ð?8í?ð?ð?ð?ð?ð?€pï?€Öî?ÀQï?€Öï?€ï?Àùï?Àùï?À³ï?@§ï?À’ï?@Ñí?@6ï?@çï?mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?„ï?@^î?€Rí?ð?ð?ð?ð?ð?ð?ð?€‘ï?˜é?Åï?ÀÏï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}í?ð?ð?ð?ð?ð?8ï?Æï?ëï?ð?ð?ð?ð?ð?@gï?€®ï?@Þï?@Úï?€Iî?Lî?×î?€7ï?@ûê?Àæî?À¹ï?@Œï?€é??ê?@àê?Ààì?î?ÿî?¡è?€;ë?…é?mì?À%ì?ºì?€øì?Àâë?Në?€,ì?€ûà?€7Ý?À*å?Íâ?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àœí?F?¶¾?@fç?€î?@Þï?ûï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?@”å?@Ó?b?`¼?[É?½Ô?@Bà?À<í?€ìï?@Ùï?ð?Àï?µî?Òï?ð?ð?Àœï?Àï?€Ãî?€ˆî?@’í?€;ï?@ëï?Eï?€bî?ð?ð?@¸ï?À¯î?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?Áï?À¼ï?µæ?€ƒÑ?:Ð?Æß?;ì?Àýî?Àé?ÆÕ?€Mã?éí?ð?€òï?€yï?Éï?@™ï?ð?Õï?€«ï?@Tî?ÀÛï?Àï?@›î?€qí?€²î?@î?ð?ð?@£ï?@¦í?ÀÛì?À+ï?€Ýî?€¬í?ÀEç?€ùÛ?\Ô?uä?Ø?p›?€W?@õè?À0î?À¶í?ÀWæ?Àƒé?€Bå?À·î?Sï?ìã?€zÒ?ĵ?ø«?€Ù?è¸?€‘Û?@â?gé?À|ì?Àå?ÁÉ?mÁ?Àâ?µÃ?€¼â?@Hí?@™ï?€Gí?ÀXè?€Üè?îÎ?Þ±?Àºè?sá?Àœî?Àí?ÀÀì?À”î?@Mâ?¼»?@yí?@î?€oÚ?)Í?ì? ï?Ëï?Àií?Àêë?@-á? ‹?€pÜ?À?ˆÁ?€5ë?†Þ?€0Ù?Àké?@ší?<î?@hï?@’ï?Äî?€÷ï?À½ï?À9ï?zë?€vè?€Ò?Ào?e?Q?W?€}æ?Àóê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²å?8’?5Í?€¤á?€ä?@èè?ÀIà?Àç?Àùî?@ïï?€Äí?@ ï?ÀÂì?@1ï?€Eï?¥ï?¸ï?ÀØí?€¯î?@Oï?ð?ð?@î?€)í?-ë?~î?À²ì?@àí?Àµî?ç?@ã?¨ê?Rí?ÀDî?@kï?ûí?@Ëî?€:æ?€‚ë?À•í?€dì?Î?¿? º?€?zÍ?<¼?D£?8Û?€;é?öÆ?\?,?P³?<¶?À‹?aß?@Xê?€îç?×?ËÕ?€æ?@Xï?Àîï?ð?€øï?ð?÷ï?ð?@'ï?î?@Íï?€Öâ?àz?@¦à?€˜í?Àì?Àçî?@&ï?@·ï?€dê?€ÒÖ??€³Ó?üî?À’ï?ÀÈï?¥Þ?`x?Vî?Ýï?@üï?ð?Èï?@Ðï?ÿï?Àæï?Àºï?ûï?€î?€Òï?@:í?@ì?€ë?@ï?ð?ð?ð?@Ìí?»ã?€ é?€îê?@¬ê?õï?Àðï?‘î?ð?ð?ð?ð?ãì?‹ï?ÀØï?@–ï?ð?÷ï?@ï?€Õî?@òî?€ôï?À³ï?,î?€¯í?À_î?€…î?€•ï?ð?ð?ð?Àüï?ð?€$ï?Àcï?ð?ð?ð?ýï?ð?ð?ð?ð?ð?Àýï?ð?@µï?À½ï?@•ì?@ßî?ð?ð?ð?ð?ð?@þï?Àÿï?Àûî?ÀPê?@éï?€ýï?@®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ï?Àáì?€Ìí?À¹é?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@ï?€Pî?‘î?Àìí?ñë?@iî? î?Àsë?@;ï?ÀÙí?@“ï?@Iï?€ î?@ìí?€{å?@ç?@é?zî?@ðå?€¡ê?óÜ?@é?@ì?@ûí?ÀJë?Øí?Àøç?À¢ã?@îå?@ é?@:ë?@ëè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ÀXê?fí?@Äí?ï?Àüï?ð?ð?ð?ð?ð?ð?ð?@cï?ð?ð?ð?ð?ð?ÀÚï?€ã?X?ŽÞ?ÀÚï?ð?Åï?ð?Çï?@Yï?@Éï?ûï?@ôï?Íï?ð?ð?ð?ð?ð?€©ï?€ñï?ð?ð?ð?Àäï?ð?ð?ð?€Ëï?ð?ð?ð?ð?ð?ð?ð?€òï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?Àvï?0ï?‘å?€Ðé?@ªç?¢ï?Hé?€æ?øï?ð?Àóï?@Üï?€Àí?€ï?€÷ï?€ëî?Rï?@î?-ê?€´ì?ÀXï?ð?ð?Ÿï?Àþï?€Íï?@æî?lì?•ë?À.å?@Ãï?@tí?@î?@ýï?€îï?€²ï?€zï?@üá?¨ ?€7â?—î?À÷î?@‡ë?5ë?ÀPæ?@å?KÖ?™?wÏ?€Þ?@Ìì?@.ì?›Ý?°‡?€R?[? —?à€?À£ã??¨?2µ?Àv?×Ã?kä?Àï?À×ì?Àsè?\Ä?š?Å?€tá?€êï?Œî?@ãî?@Oî? å?€ñÐ?€?ì?@åë?À…ì?F?´É?yé?€Ûí?Lï?€˜ï?^ë?åÝ?@<î?Ô³?D?ÀÁ?®¾?FÒ?è¨?€ïÛ?é?yå?@ƒí?Lî?€«í?©ì?Àˆî?@ï?tî?€ë?@:à?ÊÇ?À‚?€U?@y?RÓ?‹Ð?˜?@àâ?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Aï?ð?ð?ð?ð?ð?ð?Àìï?€Áï?@Üè?€ŠÜ?›? y?ŠÕ?€fß?@Uæ?€Ôß?Àíà?Àøã?€Cí?cê?Àsé?@Ùé?À‹í?€–ï?À®ï?€0ï?€?ï?@”ï?|î?À`ï?€Éï?ð?ð?ð?ð?€Æï?€Ýï?À›ï?À¥î?î?@1î?@úã?@ùë?'ï?@6î?À¾î?À%ï?@¥î?@wï?ÀJì?€âî?€|ì?@ í?@.î?€0Õ?€u?”©?Sâ?dé?–è?À²â?L§?àˆ?GË?€1â?ÞÑ?æë?À÷ê?€WÓ?€LÚ?€ýì?ð?@Ðì?€Eê?€×ï?ð?ÀRã?@°?@3ï?Êï?À¡ï?@÷ï?ð?ð?¢ï?òï?÷ï?ƒï?êî?€¼ï?ð?€Pí?ôË?ûÑ?öí?€†î?½î?@Hï??ï?@$ï?Çï?ï?à¼?ÞÊ?ð?ð?ð?ÀÐï?€Dè? °?€Tî?€˜ï?ð?ð?@Mï?6ï?1î?_ï?€Ûï?À¿î?À ï?@ ï?ð?@^í?Àêé?í?ÀÌï?ð?€Ðï?Ní?Àqî?øî?Àï?À5è?µé?@é?À«î?Àî?@í?Áï?ð?ð?ð?ð?Àwï?@äï?ð?€˜ï?ð?ð?ð? ï?À²ï?@÷á?€·í?€½í?@‹ï?€Úî?Àîì?@Üï?ð?ð?ð?À]ï?Àï?@÷ï?ð?ð?ð?ð?ÀNï?@°î?À›î?Rî?þì?€Yì?@ì?€•î?ð?í?€Qí?¶î?ð?ð?ð?ð?ð?ð?ð?eï?ð?€Úé?€ƒï?ð?ð?@Ùï?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?@•î?ìí?ð?5ï?@uî?€Jí?ÿï?@ùï?ð?ð?ð?ð?ÀÉï?ð?ð?ð?ð?ð?@‚ï?¥î?@mî?À6é?òç?Wå?€ë?@Gë?@­ë?ð?€Áï?Bï?@zï?Àí?@¸ì?À›ç?€‘â?®Õ?vç?€½ë?gë?Qì?ÝÙ?@Ú?ÀÄè?€uç?Àßì?Àªï?@Qì?€—é?@vê?€é?Të?€Òæ?]í?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ÀTï?ÀDï?ð?ð?ð?ð?ð?ð?ð?€†ï?óï?ð?ð?ð?ð?ð?ð?ð?ð?@„è?î¼?ÀÂ?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?÷ï?À„ï?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖî?€è?é?3ì?Àïî?À§â?€£ï?À—ï?À¨ï?À‚ï??ï?œí?@bï?@±ï?Àœî?Dï?@tî?òí?À(î?Üï?€×ï?ð?ôï?€ï?ð?ð?ð?À¬ï?€ñÜ?@ìé?€„î?iî?€gë?À5í?@qî?€ëî?€åî?@Eí?@=à?K?¸Ê?€ŽÓ?Å?2±?¾?A?€JÖ?Ží?À/í?À_ë?Ã?€Ù?pÍ?€Ëà?j?›?@?b?Œ¨?¦µ?Ú?À;á?RÓ?Ë?Àˆ?€NÜ?Öî?À–ï?€=î?€ï?@“ï?€sä?Õ?€Vì?@Hê?@æí?æÔ?@c?@wë?€¯ì?€ƒê?€­ï?€Èî?€ë?€«Þ?¡È?ˆ’?´Ç?A?€a?€7Ò?€ËÜ?$Ö?@±ç?í?†í?À{ì?Àvì?Àªî?Àåí?í?¡í?@í?À@ê?°â?!Ó?à€?4®?€>Ü?ÀËë?@èç?€âè?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àè?ÀJì?ð?ð?ð?8î?€ï?€ë?€rÝ?Ï?°…?€‰Ó?€/×?xÖ?²?È?ÔÙ?À/é?øë?€|ï?@:î?@ì?€+ç?@í?€Åï?µï?@‰ï?Àï?@ ï?€nï?@œî?€ï?@ðï?@íï?­ì?Óï?ð?@¸ï?ð?ð?Lï?À è?€î?@2ï?@êî?À<í?Çè?Àýî?žê?À½í?@ í?Àî?@(ë?@/ì?€÷ë?ì?@.ä?L­?@z?…?Àí?ð?Àðï?@Ðã?Є? ª?€¶æ?@Sï?ð?Àôë?@Wï?€Ý?€p×?€˜Ø?€Ëë?ð?ð?åï?ðî?@”ï?—ï?À¿ï?@íí?ÀÅï?ð?ÀÄï?ð?Óï?ð?€ªï?ÀÃï?€Âï?€¼ï?Òï?ð?ð?ð?ÀCê?@Ëç?„í?@±î?¬ï?ë?ÀNî?$î?@Áï?‚â?>?j°?@yë?îï?€ûï?€Äï?@÷ç?•Ì?@Yè?@Óï?®ï?Ôï?@ï?‘ï?ð?€àï?àï?€©î?åï?€øï?ð?€ï?€ˆï?ÀÑê?Hï?æ?ÀAâ?À.æ?€Íè?€-á?‚ã?€»ê?€Õî?€¹î?@aì?ÀÏï?€Cï?£ï?Àúï?@~ï?ð?À_ï?ÀNï?`ï?@âî?€—ï?%í?ð?ð?éî?@àï?€î?@Sî?!î?€Îî?Àõí?Êï?ð?ð?ð?À†ï?ð?€±î?ð?ð?ð?€¡ï?ð?€qï?Àwï?ð?ð?ð??ï?ÀÖï?Àí?ð?€+ï?°ì?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?ÀTî?À„æ?@[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’î?À}î?ð?ð?ð?ð?€Hí?Àõï?@Üï?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?À2ï?ÀÙê?žé?€Ÿé?Àè?Àøè?Té?@ê?”î?ð?ð?ð?Àpì?€è?@mê?dæ?€(Ø?À1â?ÀÀà?ÀÛê?àë?€Åë?À­ã?­à?ÀIç?À ê?@Šï?Àÿë?À<ï?€ë?@;î?€pí?@Žë?À´ë?€oë?€Áî?ð?@ ï?Àmï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?€öï?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@mì? Ñ?ª?@vé?À°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?¾ï?€ï?ð?ð?ð?ð?ð?ð?€¿í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?€Çí?ÀZé?3ì?ÀÔï?@ùï?ð?ð?ð?ð?€Yï?@rë?€õç?€ƒç?€¶í?ð?’ï?À¾ï?@ í?ð?@Îï?€òï?À¾ï?À¦î?Àï?@„î?aí?€„ï?€üì?ÀÈî?pï?ð?€òï?Àî?@íî?€Ôï?À›ï?€‚ï?À¥å?@[ì?À3î?@3î?€õè?À‡ç?@-ç?Àî?@í?ÀCá?€•Õ?N?Ë?Wã?~¶?ܳ?Ïß?Àï?@Åë?ûÕ?œ?D£?‘?€iá?Àkî?@Sî?áÞ?ÃÒ?@t?OÊ?€Þî?€úï?úî?Àì?@¢î?@ï?€4ï?€Èê?@î?Ùî?À¿ã?ÛÌ?‡?4Ü?ü¬?€6ï?ÀÎî?€´ï?ð?ð?@!ï?Ò?ÜÇ?tÉ?Е?@·ä?@bè?ÀÉà?Ю?‘É?êÇ?€á?@Ïê?@yì?Õë?î?€ï?À¸ï?€åî?@oí?€¶î?€\é?€iã? Î?Ĥ?`?àp?ÎÈ?€ÞÙ?ÀEé?zå?@¿ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Nï?@ã?ëí?@æí?@¼ë?Ü?òÓ?Hž?­Å?:À?€`?wÎ?Äà?Nâ?€¥ë?Dê?@Àí?Àðï?Kï?@%î?Òë?üí?úï?€¥ï?áï?@Ðï?Cí?€í?Àwï?ð?ÀYï?é?ÀÖê?€‚Ø?@¤ê?ð?ð?ð?Àiì?Àï?ð?€Eï?Ëê?@@é?@í?€Èî?ÀÛì? ë?€ýí?Eì?%ï?€üê?zè?À(ì?¸é?±Ý?àu?ë?@üæ?@Uë?€1è?cï?Àî?Þé?Àså?€‰á?îè?€$ë?@Âê?@Šì?ð?^ì?ð?ð?€=ï?À’ì?@˜ë?@˜í?Àî?€î?Àÿï?ð?€Jï?€üï?ð?ÀÏï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ï?ð?ð?ð?ð?ð?@çï?3ï?ð?ð?ð?ð?ð?À¬ï?Äá?ð?”«?EÜ?€ï?ð?ð?ð?ð?€ªï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?îï?ð?ð?ð?ð?@Ãï?Ÿë?€êã?óê?€"ï?ð?ð?ð?ð?ð?@Ðï?À5ë?Àpë?Åì?®ï?ÀCê?@'î?À§ì?@çî?€‚î?ð?ð?@¯ï?@Äï?@/ï?ùî?Àoì?gì?@cï?@ï?€î?Ûî?ð?€¶ï?@Óï?©ï?@Áï?@ýï?@àí?Àªï?€ëî?À ï?Àžï?@ î?@àé?ÀÂë?ñà?€U?€{?€o?@f?£Ä?à}?°³??Œ£?†Á?€Ïá?@îì?ï?€·ï?Àë?À â?Ãå?$²?8?€\?~°?Dæ?€–ç?@Aì?@è?@¥ä?&¾?€îå?€0í?€$î?Àþï?Àï?ï?À=ï?€¦ï?À¤î?@pï?@ÿî?Àñï?(Þ?O?ø‘?Ôé?€÷Õ?€”î?€Uï?€Sí?öï?ÀÚï?€Ïï?À6à?R?€?Ú?ˆî?€•ï?€_í?RÖ?@÷è?{Ý?ËÀ?À|ì?Àyí?Àî?Àï?%ï?üï?€Àî?€@ï?Àôï?@Éï?€×ì?@Uå?0Ô?n×?Ã?à‰?AÎ?ÀEé?@¨è?@^æ?@iâ?ç?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï??Þ?^Æ?0Ò?šÆ?0Š?€]?À ?²?á? ê?@Në?]î?è?ÀØî?€Ôî?,î? í?@Kï?ãì?À&ï?‚ï?äï?ÀÄï?€sï?€+í?€‚ï?À›ï?€àï?ð?À´ï?€‰é?ð?ð?ð?ð? í?2í?@¶í?€¦í?Èì?¸ä?Àîï?€‚ç?ÀUé?@pì?@™ï?(ï?€—ï?@˜ï?Àï?“ï?ð?€¬ï?€ÖÝ?ð¨?К?Qî?­ï?@Ðæ?€£Û?bÇ?@ƒ?á?@öî?@ïï?åï?ð?ð?Îê?À]ã?@wæ?vï?ð?^ï?ð?ð?€Îï?@Rî?ÀOï?ð?Àí?@ñï?Üï?ð?ð?Ôï?À¶ï?@Ñï?ˆï?ð?@þï?€°ï?ð?Àï?@‡ï?@Žî?À·ï?@5ï?€iï?@lî?€sî?=ï?@‚ë?ÀEï?ð?æÜ?@åá?À§ï?€Ûï?@Åï?@æ?À;ã?@_î?@¹ï?ð?ð?Àºï?@òï?ð?ð?À£ï?Iï?€ìï?€Uï?Àµï?Àªî?>í?À×ë?€Æé?€Ø?©í?@Ôï?öï?ð?À¬ï?@Âì?€ë?@}î?@úí?2ï?ð?€î?€xî?€‰í?Rï?ð?ð?€Áï?€àï?@Ûî?ð?ð?ï?ð?àì?À8ì?ÀÚï?À­ï?ð?ð?@·ï?@óï?ð?ð?ð?ð?€Èï?Àî?€ï?€Xï?€ˆï?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?€³ë?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?€æ?ží?@²è?€Îï?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?—î?À¦ï?ð?ð?ð?ð?ð?ð?@î?@¼ï?@Úï?@ïï?ð?ð?ð?ð?ð?ð?ÀÐï?Àëï?ð?€ãï?Dî?Àíê?׿?€é?Àªí?€nì?ð?ð?ð?ð?ð?ð?ð?Éí?€î?€£å?@í?À©î?Ôê?ÀIé?Àbä?@±ê?qè?ßê?ÀÙï?ð?ð?€Øê?ð?ð?ð?Ûï?À@ì?Lë?@Þï?ð?ð?ð?ð?ð?Àáï?šî? ï?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?@”ï?¦ï?ð?ð?ð?ð?ð?ð?ð?€×ê?Ç?€Ñ?€âì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï? í?€úí?@\ì?ð?ð?ð?ð?ð?ð?@ ï?€1ë?€÷ï?ð?€kí?@ê?€šæ?@Šê?#ï?ð?€Åï?Àbï?À ï?øî?€í?@¨í?€oë?@¹í?@Ní?;ï?Àöí?åï?@ëï?À°ï?ð?€³ï?@Cï?@í?áí?Lï?ï?€áî?@¡ï?Àœí?À›í?Àžå?€°Þ?ÙÊ?±?”ª?èª?8Ç?¹Ô?mâ?ì?NÚ?ìÃ?íÐ?€Ø?@Cé?@¢í?@‰ï?@³í?€ ë?@òï?@)ï?@-ë?€Ì×?fÌ?ÔÏ?@Òâ?Øå?À4á?FÎ?(æ?€¬Ö?€5Û?ÀÏî?@lá?dÙ?€@î?€ï?ð?Àï?í?Àáì?€ï?À@ï?€*ï?Àûï?Ìï?À‡ï?ÀÐå?c?@¹ã?Àaí?ÀÚî?Àdï?Àšï?§ï?ð?@î?³ë?r¿?€oé?€Fî?øï?@4ï?XÀ?Àñá?€ã?l©?@Eä?€Ýì?€õî?@bï? ï?€dï?ÀÐî?ð?î?€î?ÀÆï?]ì?À:é?]è?€4Þ?ô¬?(’?À÷ã?@-è?€èä?Ýç?ÀJà?@Ïæ?ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüî?Hß?,´?R?€e??@¾?Þ?^ê?@™é?@Âé?€—í?@Šë?€-ê?‡î?@˜ï?€Tï?€”ï?Àï?’î?pï?@Üï?åï?ÀÚï?@ðï?ëî?@×ï?@ÿï?Àï?Lï?åï?ð?ð?ð?ð?@˜ë?€ ç?€yß?câ?@â?@}ï?Àwâ?@Øî?ÀÚï?ÀWï?À˜ï?Àæï?Àÿï?åï?€Cï?Üï?ð?@íï?€¼×?€ZÐ?À÷í?€çå?à’?jÑ?ÀÒê?€õí?@‘ï?€Ðí?À¯î?Àÿï?€Fî?À$é?@`é?€€ï?€éï?ð?@€ï?ð? ï?”ï?À˜ï?ÀÃï?Àmî?@”ï?€hï?‰í?@ùï?@Üï?ð?€ í?€#í?@âï?ð?ð?Óï?À}ï?ð?À²ï?€í?:í?€˜ï?@Õï?@7ï?Àôî?€Àî?^î?ºï?Àzä? “?\Å?€Ìì?€‚ï? î?Àÿï?€©ï?Àà? Ú?Àóá?À®í?À¾ï?ÀÐï?ð?@ ï?Àáï?¿ï?Àaî?À<ï?À¬ï?@ùï?$ï?Àë?@–ì?Ðæ?Àšê?åï?ð?ð?ð?À!ï?@î?@ í?%ï?eï?ð?ð?ð?€Ûî?€çï?@¥î?ð?Àÿï?ð?ð?@ï?@¡ï?€Åî?ð?Øí?€Ùî?íî?ïï?@üï?@×ï?€Åï?@{ï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?Üã?"ì?€hë?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kï?ð?ð?€wí?åï?ÀËï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Vî?Gí?¾ì?€ê?@ìë?@Ní?@Øí?Uî?ð?ð?ð?ð?ð?ð?ð?@Ûî?í?À‰ë?Eî?€Ìì?@5ê?@é?€Fë?ÿë?€3í?ð?ð?ð?@©ì?ð?ð?ð?ð?ð?€jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?€Ûè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñï?€âï?€Oí?aï?ð?ð?ð?ð?ð?ð?ð?@{í?ˆ­?€j?ÇÆ?€8ï?ð?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öî?ð?ð?ð?ð?ð?ð?ÀÉï?À9é?@oì?Áï?îï?ð?ð?ÀXï?@øï?Àýï?@þí?@î?@¤ì?Àzë?ÀÆî?Qê?À¢ê?Fî?@«î?@=ï?ð?Ñï?Àöï?@ ï?@9é?@è?@-ì?@‹ë?À%ã?Àï?ÀÉï?€…î?—ê?2í?@©í?Nï?@ï?è?À‰ì?@$è? é?í?@î?¡ï?€ªî?Àèî?À=ï?^î?²í?<í?€í?Œí?À¸ì?4ì?Æì?€'ï?€?ç?0Ì?à¹?€“æ?€5ï?Qî?@"î?@œï?€”î?ð?@Àï?€|ï?€ìï?À ï?Àï?€nï?€Îï?îï?Àõï?€¬ï?@xî?€”ë?À.ï?íÏ?6±?¯é?-ë?@³ï?ÀÜî?@bí?€Èî?ð?@ï?@eï?€ýï?ð?ð?yï?´Ó?Ì?ÀUï?@4ï?À0ï?€Xï?@Äë?€5ï?@ùï?Êï?€ é?Ø–?ÀWè?À‡ï?ï?€ï?H¦?ŽÕ?€1é?€`ë?€ñé?Àì?À0î?ÀŒï?ï?/ï?@Pï?€Îï?€}ï?ÀÓî?’î?‚ï?@sã?Pª?x’?€Oç?@cî?úï?@Eë?bê?@£é?€6î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÍÞ?0‹?à‘?€»Û?À{å?€[ê?<é?Þì?@ºï?€Mï?@>ì?@­ë?€ï?€¯ï?@(î?À•ï?@ï?3ï?Àåï?ð?@ï?ð?À®ï?@Èî?@Ãï?€-ï?ð?ð?ð?ð?@íï?ð?ð?@Tî?€ôè?ÀÑì?€Wï? ï?@èê?î?åï?€Kï?€åï?Àî?@Ìî?ð?ð?ð?Àýï? ï?@Úà?Àþâ?À„ï?Û?G?)Þ?€åï?À¼ï?ÀÜï?€ë?mï?@Óï?@@í?€íê?Àï?À”ï?ð?ÀÔï?ð?ð?ð?¤ï?À¤ï?@Èï?ÀAï?À±ï?Àxï?ð?ð?ð?ñï?ð?ð?ð?€½ï?åï?ð?Üï?ð?€×ï?€Ÿï?¢î?@¦î?Àï?À“î?€yî?€ î?€`ï?rí?ãÅ?‘?oë?Xï?€åï?@kï?@¯ï?€oï?À`ì?€éï?€bî?€`ê?Åï?©ï?ð?ð?ð?ð?@bí?@¾î?Tï?@ûï?Àfï?Òî?è?¹ï?ñï?ð?ð?ð?À|ï?@gí?@áî?Àï?Àžê?@Çê?€ï?€ ï?Àáï?ð?ð?ð?ð?€êï?@Gï?Üï?ð?À˜ï?`ï?Àõï?À"î?hï?ÀÉï?ð?@'î?€æï?ð?ð?ð?ð?ð?ð?Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?€*ä?@™ë?ÀPí?À=ï?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?åî?ð?ð?9ï?€½ï?’î?€³ì?¥î?ð?ð?ð?ð?ð?ð?ð?À>ï?€Äî?À™ë?€kî?ƒë?ð?ð?ð?ð?ð?ð?ð?ð?@Ví?€Öì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?Àûï?ð?ð?ð?î?åï?À í?ð?ð?ð?ð?@‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?Gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžå?Àm?€Hæ?Yî?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À5ï?@qï?ð?ð?ð?ð?@ùï?ï?À&í?ð?ð?ð?ð?ð?ð?ð?ÀÍï?Eí?@Gì?@üê?@î?@©ê?"í?@ºì?7ì?½ï?ð?À3í?€çî?Dï?Ëì?Àtâ?@ä?@ší?@¾è?@®ì?Àéî?@¶ï?€¤í?€–ï?€•ï?@Gï?€ï?ÀÝí?À[î?@ðì?@¤î?€0ï?€®é?@Uî?@[ï? ï?€sí?`í?@í?€2ä?€Të?€Žè?€Æé?@Zî?€šì?™ì?Àeî?€;æ?•Ó?Àmè?tî?€œí?€uì?Eï?@¶î?€+ï?À[ï?@Èì?1î?@cï?À1ï?À@î?@8î?À7ï?Àèí?0æ?@Wï?ÀLî?Iî?À¡â?€<Ñ?Àžæ?@:ï?@¾ï?(ï?,î?îï?@Áï?€Õï?€ï?ð?ð?ð?ð?ÀLí?¹Ã?€¥è?€êî?À(ï?À2ï?Àî?î?@jï?Óï?@­ï?Êí?h?ß?Àëí?@Êë?+Ö?Ôº?ÀÂî?€pí?€†ì?Àï?@6ï?€ï?€?ï?€×î?À4î?ð?ð?ð?ð?À‰ì?¬ã?{Î?•Æ?^?¥É?Ôê?@¤ê?@ ê?@Uì?Àñì?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðî?“Ê?[?Ð?Àë?€Fê?@î?€âë?@±í?€áï?ñî?€#ì?À³ì?@Lê?–î?¸ï?ð?ð?€hï?À»ï?@èï?ÿî?À›ï?Gï?Àýí?¦ï?Áï?ð?ð?ð?€òï?€óî?@ñï?@äî?À¿ï?@¾ê?€Åã?€ýê?@Ýê?àì?Óí?´ï?@Öï?äï?ÀŸí?‘í?ð?ð?ð?ð?ð?@­ì?Àc?ºÆ?të?€ì?“Û?€×ã?ð?ð?ð?ÀKî?@ßï?ð?ð?ÀÉë?@ªï?@ï?ð?À±ï?ð?ð?Êï?Àµï?@ôï?@;ï?@Üî?Àóï?ÀÛî?ð?ð?ð?@Çï?ð?ð?ð?€ ï?ð?ð?ð?À×ï?ð?¶ï?À×ï?ÀÉî?€¶ï?€8ï?Àmî?À·î?€wï?@óã?8°?@®ï?žï?@ñï?ð?€¼ï?Ànï?À#ï?ð?€éï?)ï?€üì?@lí?úí?@Ðï?ð?îï?€é?@æ?¹ï?dï?Àïï?’ï?€ é?ð?ýî?€…ï?õï?áî?Æî?Àêï?@î?€*ï?À í?€Šé?ÀÎí?€Fî?@Áï?ïï?Àõï?ð?ð?€Òï?@Rï?ð?ð?ð?ÀEï?Bî?€6ï?ïï?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?ï?@vï?Àxå?€aë?ÀÌî?ð?ÀÖï?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘í?¢í?À?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@Oî?ð?ð?ð?ð?ð?@iî?€Šë?¡ï?ð?ð?ð?ð?ð?wï?ÀÈí?À@í?€ î?Àtë?Âì?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?€ýï?ð?ð?õï?êï?ð?Üï?ð?ð?ð?@Ûï?ð?ð?ð? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üã?ÀÃ?€aÖ?™Ð?Ò±?Ê?Àè?@ í?sì?À•ï?ð?€Ýï?€žï?€àï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?@Œê?@¦ï?ð?ð?ð?ð?ð?ÀUï?ð?ð?@úï?€ï?ð?ð?@ðï?@´ï?@‰í?À·ê?€\î?'í?ÀÔï?€Mï?€mí?€Pí?@vï?sï?Øì?€ï?€>î?ÀÃí?ÀÏì?¸×?€Ôî?@)ï?“ï?À'î?ï?@Ûï?hî?€õí?Àyï?@Zî?À í?¢è?Àìë?€<í?ÀÛí?:î?ÀÉî?@Õí?rï?€<í?€£ê?€ˆç?Âè?@aæ?@’è?Àzí?@‡í?€aí?Àeï?@Ÿï?Àùë?¤ß?€bÛ?@ï?€Eï?Ìí?Àî?@ùï?€—î?Àî?Àrì?”î??ï?ÀÑë?Àjî?Ûî?ÀWî?@îí?Àï?3ë?@¤í?€Oï?@³ì?'ë?@Cì?€tï?@@ï?€òï?¼ï?ð?ð?€õï?ÀUî?ð?À×ï?€úï?@¦ï?èì?€Vé?€ï?î?@ î?€0î?@>î?€8í?À®í?@9î?€ùî?­è?Pƒ?4¤?€"Ó?À3î?Àï?‡í?€_ï?€^ï?ð?Àï?@ï?õí?@¶í?ˆí?ð?ð?ÀJê?@Tê?Àfê?Ù?€aÑ?²?Ì?åê?éï?ð?ð?€–í?ïì?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?@iê?|¯?¨¯?ÀBè?@ï?vî?À;ï?@Âé?Àáé?€ ï?À–ì?À¿ì?€Wë?ÀÖî?€Üî?€bï?ð?ÀÛï?Àëï?Úï?€”ï?€©î?Æï?€Öî?ÀÛî?@ï?@Ðî?À‘î?@«ï?ð?€oï?€Üî?€‘ï?Àï?Àvç?@óå?ÀÁæ?Ñ?@Aë?€¼ì?@í?=ç?€æï?€¡ï?ÀÃí?Àáï?Àûï?€ï?€`ï?ð?@úï?Àäï?@þå? r?€l?€›Þ?€î?@ñì?*Ð?¿Ì?€Ý?jê?€—ï?ð?Àíï?ð?ð?àï?ð?ÀJë?€Oï?@Îï?ð?ð?Àíï?ð?wï?@ùï?€éï?@ðï?@Xï?@øï?ð?ð?Àëï?eï?ð?ð?§ï?ð?ð?ð?ð?ð?€»ï?€õï?þï?€5ï?Àµì?€¢è?@ké?€ ì?Cî?@ë?€uÖ?U?"µ?ÀÊë?ÀÞï?€{ï?”ï?Àäï?€§ï?À^ï?@”ï?À?ï?@ ï?Àíï?ÀÄï?Àï?@÷î?€Cí?À‚ï?ÀÖï?€pî?@Äï?À<í?@7ì?ÀÐè?@ïî?@£ë?@9î?ð?€Þï?€åí?ÀYï?€Òï?ð?ßï?À’ï?€Hï?Àï?Àqì?yë?@þï?ÀŠì?ð?@¯î?ð?ð?€ÿï?Àþï?ð?ð?ð?€Àï?@úï?@,ï?ºï?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?€’ï?Ðî?€Òï?@å?@ï?€Àï?Àäï?@Uï?ð?ð?ð?ð?ÀVï?ð?€xï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?€½ï?Óî?Îï?ð?ð?ð?ð?ð?ð?ð?ð?€Óí?ð?ð?ð?ð?ð?Þï?€àí?€>ì?î?—ï?Êï?€ßï?@ßî?@çï?Xï?@âí?ìï?ÀQì?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oì?ð?ð?ð?ð?ð?ð?ð?€’ï?@`î?€Þï?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?€Óï?ð?ð?Àªï?€<ï?€÷ï?Àóï?€Þï?ð?þï?ð?ð?°í?þï?ð?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?Pí?ø˜?€”æ?ð?€zï?@=ê?ÁÜ?Y?$?`³?€$Ù?€á?@Ùî?€»î?Àðï?ð?ð?ð?Àíï?ð?ð?ð?ð?@àï?ï?ð?ð?uï?€¤ï?ð?ð?ð?ð?ð?@üï?ð?ð?àï?ð?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?Àíï?€æï?Àúï?@‹î?@Dï?Àî?€¬î?€ï?ïí?ÀÖî?€^ì?@Tí?@œí?ì?€ûï?€§í?@šê?@|â?€Ëæ?@ ç?€iî?@­î?âí?ÀÍï?@ï?À¨ï?@æ?œ×?T¥?Í?€¬ë?ÀŽî?@Èî?Àbî?€î?Ÿî?€í?çê?@·ç?€4é?eç?ÀÊè?ÀŠè?Àºì?î?À»î?ÀÇï?äï?ð?@zë?€HÑ?ÀÐå?õï?@åï?€«î?ëï?@çï?Ùî?Àåî?@ï?@rï?@¢ï?@uî?À\î?Ûî?@oí?À)î?Šî?@9í?@íë?@sî?ç?@é?À½î?@ñî?âî?ð?Àcï?@Tï?À×ï?ð?@Iî?@-ï?€¶î?€Oì?€;î?€ªî?€{ë?€Mí?@Zï?À)ï?€Îå?€ä?@ÿí?@ï?€(ï?€@ë?b´?@ç?Àÿï?€àï?€œÙ?À™ç?À`ï?ÀPï?@(ï?€\ï?@ÿî?Àòì?€vî?€ÿï?·ï?ð?@áï?€)î?€éä?€aä?À¦ç?€×?Þ»?@Dá?då?@Gì?¼í?å?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žÝ?g?ø™?­Ù?€þì?@nî?€€ï?ï?@ñî?€kî?€Ùì?fë?À˜î?@Iì?Àûè?@Äë?€8í?À·ï?ð?À´ï?€Ëî?€}ï?bï?@£ë?€«ç?@¯î?Àì?€^î?@ªí?@Dë?€ðè?@¬ï?@ ï?Àï?€Ðê?èï?æ?Hç?€ˆÔ?À#è?ÆÓ?¼½?ÓÖ?€µê?„ì?ð?Çï?¬ë?À¬ï?ÀÝï?À×ï?ð?ð?À¹í?@†î?áÈ?K?°·?ùÇ?Hî?Àßï?€ãï?€ï?€éï?ð?ð?@èï?ð?ð?ð?ð?ð?ð?ë?@Ñï?@Òï?ð?€ãï?ð?ð?€ãï?Àåï?@Õï?@{ï?À‹ï?ð?€Ìî?Àýï?ð?Ààï?@úï?êï?€šî?6ï?@üï?€ãï?@ãï?íï?€³ï?@ýï?ðé?ÀAë?ÀPé?€Éä?À9è?Õ?@1ä?À4á?À]è?ZÝ?ö¿?gä?À¨ï?€áï?«ï?@íï?€–ï?À\ï?@Éï?Àï?À¦ï?@‹ï?€•ï?@àï?€‰ï?Àï?\î?@\í?Äë?Àªï?€Zï?ÀÚî?¶ï?†ï?Cë?@î?@Eæ?@{é?@tî?€Àî?ë?µï?À¸ï?ð?ð?€ýí?ð?ð?ð?ð?‡é?@äï?À1ì?Àðï?@Õï?ð?ð?ð?ð?ð?ð?ð?€ãï?¡ï?ÀRï?ÀÏï?Éï?ð?€½ï?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îë?ÀÝï?@èï?@ï?å?À–ì?@Ÿï?@Çï?ð?ð?ð?ð?ð?À€ï?âï?€ôï?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?ð?ð?€ãï?ð?ð?ð?ð?ð?Àîï?€´ï?ð?@Ðë?ð?ð?ð?ð?ð?ð?ð?ð?›ï?@ í?¬ë?Îë?@äì?Àgì?@‚í?€Éï?€Ší?¶é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öî?‚ï?ð?Àwï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âï?ð?ð?ð?Žï?=ï?€ãï?ð?ð?ÀÖî?ð?ð?@íï?ð?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À!ç?¬¥?_ç?ð?ð?ð?úï?€vÕ?‡?¼¾?¼¯?ð£?€Ò?€åå?ÀÕä?#è?@“ì?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?ð?ð?€øï?íï?ð?ð?ð?ð?ð?€Æï?ð?ð?ð?Àîï?€òï?€øï?ð?³ï?À½ï?€Êï?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?À½ï?¾ï?|î?@çï?€=ï?ð?ð?Óï?@Åî?€Ví?ùî?Àwî?À²ï?À–î?@1î?@Qí?Àñî?ê?€ë?ÀŽî?Àdí?€Ìï?€`î?™è?€vÑ?>?Ñ?ÀÔæ?À>í?€=î?Çæ?Àyí?€tì?ÀÙì?3î?@Pî?@Ÿí?€é?9æ?Ýê?@(ë?€Sì?Àƒî?€(ï?Zï?ÀÇî?Žï?€âï?€ î?@ùâ?ÀIì?ï?´ï?@¾ï?ëï?@Þï?@¹ï?€Žî?€Uä?@î?@Êí?@hî?pî?Àsî?@+í?ÀÃì?¤î?¤ì?!ì?@Äí?@—í?@Ðî?ÀTï?Àªï?À®ï?ÀÂï?@Nï?@cï?À0î?À¸î?Jï?§ê?Àtï?Àgï?ÀÏæ?ê?†ë?@‚ï?€ðë?@òí?Àï?Üí?@Šî?€Bç?ÀWë?@ôî?Iê?èÁ?¤?€æ?@Ãê?@3ì?À¬â?S?{Õ?€ná?€Øí?@ê?,ï?—ì?@ïì?€Åí?ð?ð?hï?€—ï?À¯ï?€Ùî?×í?€4ï?‡ë?€wÝ?¶Ù?Àoæ?€Gî?ÀÅç?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éí?îÚ?€Q?S?³?@Cé?Àí?@ï?€Ãï?ïï?¯ï?€í?ÀMê?€ôê?À›ê?@©í?@,ï?Šî?€Æï?ÀÐï?@úï?€£ï?€œï?@Öí?À$í?À©í?@"î?€Cï?À¯î?Çî?Àî?»ì?À°ì?@¿í?€{î?oï?€©ë?ÀÄî?€Äæ?€™æ?ÀWä?ÀÍê?€7å?Ì?È“?€HÔ?Àê?@Œï?@çî?ÀÇë?ì?ÀÃê?ð?@¬ï?€ï?µØ?€€Ù?€5×?gÍ??3Þ?@xï?€“ï?@Ãï?À­î?€ãï?ð?€ãï?À©ï?Àhï?ð?ð?ð?ð?ð?@.ë?ï?ð?ð?ð?ð?Àÿï?À5î?@‡î?€öï?¦ï?ð?@Ôí??í?ÀÍí?Àˆì?æí?Àyï?Æî?Òï?€ãï?íï?ð?€½ï?@ãï?€˜î?@ë?Àjé?ÀÍî?€{î?À°ì?€ðï?ÀÍê?À?â?,·?ÞÀ?€?S?@±ç?ð?ð?€øï?@èï?xï?ÀÏï?€~ï?À[ï?ÀÌï?Àßï?@~ï?€øï?€ëï?Âï?€ ï?ï?Àjî?€nì?@öï?Ànï?4ï?€ÿî?Àï?€îî?·í?Šî?€Ëê?@­è?Žï?åí?ÀÔî?ð?bï?€Dî?€Uí?ð?ð?íï?ð?@Øî?€‹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?€ãï?ð?ð?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?¸ï?ð?ÀEî?=ï?ð?€Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7ï?iï?­î?@µï?€¸î?@*ï?€‚ã?€î?°í?ßï?ð?ð?ð?ð?ð?ð?íï?ïï?À8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?ð?Àôï?ÀÆï?ð?bì?Ôí?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?€í?€#ì?@5ç?€Èæ?vë?lí?Àêì?À¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨ë?À>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€½î?ð?ð?ð?€Òï?ÀÉï?ð?ð?ð?ð?ð?ð?ð?¥ï?@­î?ð?ð?ð?ð?ð?ð?ð?€ªà?€«â?ð?ð?ð?ð?€Jï?€ÃÖ??°œ?€ÇØ?„æ?@bî?×?ø’?“×?À‹á?PÄ?€‘â?%í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?ð?ð?ð?ð?ð?ð?ð?€Âï?€öï?Ïï?€¬ï?ð?ð?@üï?€ßï?Íï?Ùì?ð?ð?ð?ð?ð?ð?ð?€Yï?ð?ð?ð?ð?ð?ÀÝï?@üï?ð?€öï?ð?Úï?@àï?ð?ð?ð?@Òï?lï?À²ì?¦î?@èï?À³ï?€øï?ð?cî?€ï?@¿ï?@yï?€é?€ØÕ?H¯?d?|Ä?À½ç?€%ë? î?@´á?ßÉ?À4ë?Àfê?€Sê?€ì?€Äì?€Âí?€Kë?€ßç? Õ?@êì?Àî?¬ï?@Úî?@àî?€ëî?Zî?Ûï?€|ï?€$î? ê?€¦ï?€?ï?´ï?@Çï?€Žï?Àhî?€+ç?€(í?Àè?@ï?@çí?€-ê?0ë?@$í?À“î?€Dì?@Yê?7ä?Vê?Ààë?oï?@ÿî?Àêï?Àçí?@íê?Qí?@¬í?Àï?€î?À:î?@Éï?€ñí?€ªì?@œí?€Cí?Àýê?¸î?€„í? ¿?È?€Û?@#ï?€§ì?€ïØ?€›ã?Ø–?pŽ?@3å?ð?@ùï?Cï?íê?8“?`y?€¥Ñ?@Vá?ÀUî?ÀFí?ÀEä?Æá?€2å?ï?ÀÝî?€åï?€†ï?ˆï?€÷ï?èï?@ê?€…ì?ŸÁ?<³?7ê?€Áë?'é?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºï?(ì?@Ýï?ð?ð?ÀÎí?€¬î?@Kå?€T?K?;Ô?ÏÒ?^?€fÕ?€kã?@ƒ?‚³?S?˜š?àÎ?À8ã?€€æ?÷ì?ìí?€Kï?€Òî?Àöî?Dì?¿å?€~ì?€mí?@hï?¾ï?€œï?Àgî?€«í?@pî?Àãî?À1ì?dí?@ï?«ï?Çï?€Žï?€Fï?@3î?@åí?@î?€Ïé?@Òã?À>î?Øì?€'ï?€yÝ?Àì?€ã?Àï?Ùè? ä?ùÔ?Ài?²±?IÈ?€Jâ?ÀÓí?¤ï?À¤î?Àå?[Î?ŸÑ?Àší?@âî?@ßí?oÖ?€6ê?Àãí?€ãî?|ï?µï?€ôï?@Þï?ìí?ð?@Ýî?€!ï?ð?ð?ð?íï?À_í?@®í?Àãï?ð?ð?€ï?ê?@Jí?@ôë?@üï?@íï?€Âì?@-î?íï?@¬î?@œî?ð?ð?@íï?€ãï?ð?€ôï?Õí?Àœî?@áî?—ì?ÀAé?í?€ï?@¿ì?€¨ï?ð?ð?ð?@Vï?ð?@6î?€fà?@–î?ð?ñï?€÷ï?@üï?íï?î?€þî?€åï?ÀÂî?€<ï?íï?€¨ï?ÀÌï?€Pï?ƒï?ÀŠí?@›ì?ãë?€Wí?€òê?ÀÌï?€jï?@uï?wï?À©î?€¸î?ïî?@€å?ï?ð?ð?ð?Èï?Àí?@Žï?ð?ÀÌï?ð?ð?ð?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?€"ï?íï?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?€€ï?@´ï?€Îí?ð?ð?ð?ð?€éï?@öï?€Ðï?ð?ð?ð?ð?@ï?Éí?Îî?rí?€Kë?€•à?€è?Âî?ð?ð?Úï?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?@Ÿï?ð?ð?ð?ð?€Õï?À!ï?@ûï?ð?ð?ð?÷ï?@ì?@pï?@Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?€í?€Šé?€äè?€Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ÀÉí?@…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâî?@Vî?ð?ð?@ ï?sî?ð?ð?ð?Àï?ð?ð?ð?ÀÚí?@Nâ?Àpà?ð?ð?ð?ð?ð?ð?ð?@ûï?À`î?ð?ð?ð?ð?ð?€Ôï?€Ñá?l³?G?ÖÅ?¡Ô?À}ï?@Žï?€½î?‘Ì?î?@î?€nî?@vî?€‘í?€{ï?€7í?À¥ì?mî?€<ë?€Æê?€ðë?€Nä?@ûí?@[ï?@ï?€¸ï?ƒï?5ï?@)í?@«í?€Cí?@°î?@¯î?Àï?€¬ï?ÀPî?Hî?€“í?@Íë?€˜î?ÀYî?@Ýí?ÀÎè?hÉ?Hµ?¡Û?èÔ?€†Ô?ÐÅ?¨“?@Ÿ?€ è?À~ï?ð?ð?ð?€Èï?YÊ?€…ß?@'á?@nè?·ë?è?À?â?*¿?úÃ?@_æ?µê?€Ÿî?ÀÚé?€øï?Àôï?ˆí?Ãã?‡Å?د?@tê?À6ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€kà?@¤ç?ð?ð?€´è?XÑ?h¡?­É?GÓ?À‚é?€ýÕ?8“?†´?\¼?0Æ?€l?zÌ?€…Ý?€“î?€×Ý?€Ð?½?Àqá?€šì?Àpî?À<ë?€`ì?ÀKî?¡ï?À$ï?­î?jã?€éè?Bí?@ î?Ìï?@èï?€ ï?@Rî?˜î?À³î?@ î?@ï?€î?À”ï?Àðï?ð?Ûï?À?î?@Lê?Àï?À;ä?Mì?<é?Àyè?À¢î?ÆØ?@ië?€ë?€]ê?€Çç?€°é?ÀÚê?¥×?®±?ÓÉ?R°?޾?ã?”î?Àqï?€žï?|í?€ï?@àê?€¾ï?À™ï? ï?@Âî?ïï?€Íï?À“ê?ð?Àßï?Àlï?ð?ð?Àðï?Àáï?€Aë?À4î?ð?€ãï?Çï?ùì?@Ðï?´ï?€<î?Àzê?zí?Àzí?Àýï?ð?€ãï?ð?ð?ð?ð?ð?ð?ÀÝï?@Éí?âî?À?ç?ÀØê?€Ëê?À¡ï?ï?Àbï?¶î?ð?€ôï?@×ï?À»ï?@Æï?ð?Àƒï?ÀËï?ð?Üï?ð?Ëï?ð?€Äî?@Tï?Àšï?Dï?lî?€åï?€ºï?Àðï?Àýï?@’ï?€Ôï?€?ï?@Gí?ï?@ví?À„ï?@yï?@‘ï?ð?ïï?@3ï?€áï?Àzí?Øé?ÀÍí?€Öí?ð?Àôï?ð?ð?ð?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂî?ð?ð?ð?Àýï?gî?@)ï?ð?ð?Àáï?ð?ð?ð?÷ï?Àwí?ð?ð?ð?€bï?@âî?@éï?ð?ð?ð?ð?€|î?ð?ð?ð?ð?Õí?@ñï?ð?ð?ð?ð?ð?À›ï?Àí?@‹é?)ì?€âí?pé?€Ñá?€žï?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Lï?€ãï?ð?ð?ð?ð?ð?ð?ð?Ùî?€øï?@òï?€üï?€½î?€Ûî?¸ï?Àì?€ûï?ð?ð?ð?ð?ð?@ï?ð?ì?-ç?@3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8í?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œî?ð?ð?ð?ð?ð?ôï?ýï?ð?ð?ð?ð?ð?Àµí?Îï?ð?ð?@hí?ÀÅî?ð?€ãï?€Ìî?Àñï?€Óï?Úï?€Òï?‚Ý?‹?9ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]ï?€Þ?žÂ?`ˆ?ƒÕ?ÀOï?Ñî?Àþï?ð?ð?ÀMì?@ˆê?@âè?@Ãæ?€µì?@ýï?ð?ð?ð?ð?ð?ð?ð?Àðï?íï?ð?ð?ð?ð?ð?ð?ð?@Õï?€÷ï?ð?ð?ð?ÀJî?€fë?@®ï?ð?ð?ð?ð?ð?rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?@Áï?€Fï?€—î?ð?ð?ð?ð?¸ï?ð?ð?Àðï?€½ï?Àðï?€¾ï?ð?ð?ð?€î?Çï?€Œï?€„î?€=î?óî?ð?€Wï?€¹Þ?€ï?À«î?Àdë?=ë?ã?é?ð°?x›?êâ?@¿ç?Iê?€zë?€Èë?dê?@æí?€,ï?Àƒî?é?Eè?@ì?@Qê?€[î?€Rî?@=î?œî?@æî?ÀÎï?€‡ï? ï?@ëï?€ï?ÀKï?@ï?€Qï?Àî?@Qî?Àî?@öî?@yë?@Öè?Àìê?€Éá?Àwå?€gæ?€lé?@öì?À“ì?ùí?@{ï?€¸ï?@Qï?@Àî?À“î?@–î?À^î?›ì?À]ï?Àkï?À–ê?À;í?€Øì?Àúê?Òí?‰í?À’ì?€¥í?@Šî?ˆë?¹Â?6½?ÇÑ?ŸÝ?€Ö?6?`€?À_ç?ÀÌï?€öï?€*ï?rï?€Òë?@é?À~î?Àœï?5î?@­é?À«ä?@=é?ƒ×?€^?’µ?@Åã?†ã?€,ï?Àï?€Rï?@Ïí?@è?¸?(œ?À–â?€ê?@#ì?!í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~ì?€á?Àí?€|ì?@œä?}Ç?x´?Àñé?€kâ?À'å?€áì?ÓË?Àˆä?Ô·?@­ê?Àíè?Õç?À,ã?Àuï?²ï?Üï?À¯ï?€#ç?Ð?²²?º?Ìê?€^ï?õæ?Zì?µí?€ì?ýí?½ï?@·ë?€íë?€iå?ÀŠí?À!î?À,ï?€¿ï?€.î?ÀFî?@í?€½Ú?€Ø?…Ð?€ïÓ?€ã?@nï?@ï?™ï?Àiï?€Âï?@œï?ìì?À=î?@fê?ÀŠí?À’ï?ÀRî?@ å?ªÍ?À­ê?€¢å?Àã?nî?À¶ä? ‰?H±?Mè?æï?À´ï?@Áí?íï?Àøï?€þï?Àèí?ð?Àêï?ð?ð?@¡ï?ƒï?î?ßî?ð?€Âï?ð?ð?ÀSï?€yï?@ë?ð?ð?ð?ÀÈî?%ë?ð?ð?€˜í?î?@¯ï?ð?@×ï?ëï?€úï?ð?ð?ð?ð?ð?ð?íï?À²î?€ ì?Àpë?€Ýé?Àï?þï?À'ï?@Çï?€±î?@Úï?Àkï?€ãï?€àï?Rï?@úï?ÀÊï?ÀÊï?@sï?þï?ð?¡ï?¦ï?@žï?€Òï?ÀÎî?@¹î?zî?Þï?€Šï?Ààï?€úï?@øï?ð?€°î?€ší?„î?@÷ï?€¯ï?@äï?ï?ð?Àãï?ð?ð?@}ï?€fè?@àî?ùí?@Eî?@öï?ð?ð?ð?ð?ð?€pï?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?ð?ð?ð?ÀÛï?Àœï?€Ðï?@*ï?´ï?€†ï?ð?ð?ð?öï?¶î?ð?ð?ð?@”î?ð?ð?ð?ð?ð?ð?@yï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{ï?@˜ï?€ží?0é?€šï?@Îï?€Iï?À?ã?@]ê?@³ï?@Hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ÀÀï?Àøï?ð?ð?ð?@úï?@øï?î?@äï?ð?ð?ð?ð?@¶ï?Àbî?Ðí?·ì?@çå?€jë?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?ð?€Kì?€0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ð?ð?ð?ð?À•ï? î?@íï?ð?ð?ð?@óï?€ãï?À ì?¥ï?ð?ð?€Dî?@áî?ð?yî?Ñì?@¼ï?²î?€ãï?öï?Àªå?@„?BÖ?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËî?ï?Àôï?€~é?À]é? ±? ³?Àñä?@Ñî?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?€ñî?À«ï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?À³î?ð?ð?ð?ð?ð?ð?ð?þï?€øï?ð?ð?ð?ð?Àßî?ð?ð?õï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Uï?@;ï?@4ï?@Ýï?À2í?@\ï?@ýï?@üï?ÀÙï?@¯ï?¥ï?Wí?À²ï?ZÔ?Àg?à’?šÜ?Û?€9×?@ˆä?€šê?€wê?€›ë?@ëë?€ í?À9î?€,î?ÀQë?@Äí?Àtè?ÀUê?À”è?€·ß?Ôì?ÀEì?€ãî?@iï?ï?€—î?pï?@£ï?@Œï?ÀBï?`ï?@ˆí?@“ï?Àaï?/ï?€Lî?Wî?€•í?ÀWë?¶ë?Àšå?€Ùí?ñê?@î?À<ì?€.ï?ÀGî?\ï?€@ï?@÷ï?@ˆï?€ï?¨ï?ÀLî?Àçî?@šï?@Jí?@Fï?@¥è?×Ê?€àâ?@:î?€­î?Àîî?æî? Ó?8ß?€æ?À9å?D¸?€8á?]È?`´?@¾é?ð?ð?êì?À¥ì?Àï?ëï?ÀNï?'î?€íë?ïë?lÏ?0¨?0?ÑÍ?î?ìï?€Øï?øé?úë?„Þ?l?Å?@¶ê?€åî?@ˆí?Àêë?À-ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€Ðî?@™ï?@æë?Àæ?ÀMå?€PÝ?¦Å?G?€â×?ªä?ÀRï?@î?7í?]Ô?Ø‘?@Ùá?æ?€gí?ð?@ré?€‰í?@+ï?ÀÜí?Wï?µï?@gé?ÌÑ??Þµ?@zä?ºï?Ëï?€ï?@!ï?€Ùë?@@é?@›ì?@Ìí?€ší?€ºì?€éí?€Þì?À«î?@˜î?€|ì?Àûí?ÀIï?\ï?€Ñâ?ì¶?`t?FÇ?€Sî?€Øî?ôï?ð?€xï?ôï?Àí?€$é?î?€Ðï?€þê?@Yì?ðí?@â?Ëå?*é?€gë?Zï?€øê?@t?x˜?ÀŽì?@Çï?€Ãï?ï?@9î?¿ï?ð?€Åï?ð?À£î?@Îí?ð?ð?ð?ð?@‹ï?ð? ï?öï?ð?ð?ð?€dî?À¾î?€ë?Àjï?ð?€2ï?í?@iì?ð?ð?ð?ð?@xë?¹ï?ð?Àëï?ð?ð?€çï?ð?ð?ð?ð?€8ï?@¾ï?ð?ð?xí?ßí?À?ë?ð?€çï?@xï?ôï?€×ï?À¢ï?€Œï?¡ï?€áï?ð?ð?€áï?Àáï?ð?Çî?€Ûï?ð?@gï?€zï?Àëï?€áï?Àáï?pï?@’í?ÀÒï?@ï?Àïî?€Âï?À¥ï?ð?ð?€Ñî?²ë?€ñì?@î?@Çï?ð?ð?ð?Àåï?ð?Àåï?÷ï?€Œï?>ì?ð?ð?ð?@Vî?ð?€©ì?€Bî?ð?ð?€Íï?@+î?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?€ßï?ð?ð?í?ð?€×ï?ð?ð?ð?ð?ð?ð?À!ï?Àõî?€Üï?ð?@ƒï?@×î?ð?ð?ð?ð?ð?Àëï?@Êí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºï?Uî?}í?ôï?Àßï?@óè?@ä?€áí?ð?€Çï?ýï?@Çï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ï?ð?ð?ð?ð?ð?›ï?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dï?;í?À‘è?ÀÇì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?Àæì?Àmí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?À¥í?À¾ï?ð?ð?ð?Ãï?Ðî?ð?uì?:ê?ð?ð?ð?î?ÀÞí?@ªï?@ví?€ì?ÀGï?€Žï?ð?åî?À›ï?@Lë?¦Ø? í?€òë?€aÖ?@ã?@$î?ð?ð?ð?ð?ð?üï?®ä?€ã?À+å?€vØ?¨¹?ÊÒ?Àí?ð?ð?ð?ð?ð?ð?Àëï?€-ï?Àuí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@ºï?ð?4ï?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îî?´ï?€Üï?Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®ï?ð?Àóï?Àùî?”í? ì?€Dï?€õë?Àïï?@¼æ?âî?ð?§ï?€¶ï?@Ëì?€ Ð? …?Þ?€çÞ?#Õ?À§î?Àî?€]ê?>ê?@õå?Þí?¨ï?€¦í?€Òî?€tí?@ˆê?@Wê?ì?Lè?@Žé?Àqî?€Õí?)í?€á?@ í?@6î?[ï?Kí?bï?ï?€î?ªí?@—ï?€sï?ÀÆî?€¢ï?€ãï?Ûî?@Wï?Àçî?@Lï?ªî?€rï?ÀŸï?Àsì?@Áë?@*í?@ï?€ªé?Àqë?@‰í?@æî?À¸î?À í?@Iï?Åï?€)ï?€.î?ÀHï?Sï?€ñî?À÷î?ñî?°ï?€ï?ÀÚå?8’?€åØ?€Öí?@&í?@!à?è”?äá?@ùê?·Ô?rÊ?@p?®?€ƒ?„ª?è›?H?H›?€öÖ?@$å?@¹ï?ð?Àqè?(ì?€ˆï?@¹ï?Àñï?ð?€9ï?@]í?Iê?Àâæ?ò±? ¦?Áå?€5î?=ï?ÀÌá?€ˆÑ?'Æ?ð¢?€#Ø?€Ãç?€é?@Jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúå?¯Ø?Ù?uÊ?ñÇ?(Ê?}Ò?€j?ÞÅ?@¾ä?´å?€üÕ?€\Ý?"è?Àêå?j×?€eã?À•î?@¯ï?ð?Àëï?€®ï?€Eï?€{ì?À÷ï?€!ï?ÀÜï?@³ï?Àí?@ç?”·?£Ã?@gç?@í?@-í?@Ãï?Àáï?@ë?@›î?À<î?À£é?À¥ì?Àî?€ í?€"ï?€î?@ùî?À{ï?ð?Àáï?Àƒà?Z±?Àd?À¶ë?À†ï?üî?ÀIì?À-î?€Qí?Ôí?€Ìì?Àïî?À¡ï?€Óí?æî?€Îí?¶ï?@ë?Fê?@áì?@Eï?€JØ? š?€€ì?@¿ï?@¹ï?À¼ï?ï?€üî?ð?@ßï?ð?ð?_í?—ï?ð?€áï?€Ãï?ûï?Àæï?ð?ð?ð?ð?ð?€¢ï?€-ï?@²î?@jë?€^ê?Àôê?€Qï?ãï?Àáï?ð?ð?ð?@µì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆï?¹ï?ð?ð?@óî?€î?„ê?€×ï?@Oï?ÀÝî?ÀÏï?ð?€Ãï?€Øï?À»ï?@¯ï?ð?ð?Àáï?ÀMî?@@ï?Øï?ÀŒï?ð?¿ï?@jï?ð?ð?€¥ï?@­î?À5î?À©ï?@¥ï?€.ï?ÀÑî?Àhï?¥ï?™î?¸ï?Àí?€Ðï?·ï?€Óï?ð?ð?ð?@µï?À¯ï?ÀØï?€àï?ð?@ë?À¹ï?ð?ð?@_î?ð?€óï?ð?ð?ð?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šï?ð?ð?ð?çï?ð?ð?âï?ð?Àáï?ð?ð?ð?ð?@éï?ìï?ð?@œî?€¬ï?ð?ð?ð?ð?ð?ð?€—í?–ï?ð?ð?ð?ð?ð?Àï?dï?ð?ð?@ï?@‹í?@Ãï?€Qï?@‘î?Àºï?€¹ì?ß?Ìí?@ªï?Àìï?@cí?@ ï?ð?ð?ð?ð?ð?€:ï?@mï?ð?@Ãï?ð?ð?ð?ð?ð?ð?‘ï?@!ï?@8î?ð?Àáï?@¹ï?ÀŸï?Àæï?ÀŸï?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëî?À†ï?ð?ð?ð?ð?ð?ð?Àéî?ÀÕî?Àðé?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?@Gí?€tï?ð?ð?ð?€¯ï?@Ëî?vï?€|í?À]í?À»ç?@ï?ð?ÀGî?Ààí?ÀHï?€šï?@wê?@Wí?€xï?€Ýï?ð?öï?ï?@"à?Àr?Œ?à‡?ÂÑ?ð?ð?ð?ð?ð?ð?`ï?:¿?î°?ÿÍ?ÀÏà?@=í?ð?ð?öï?ð?ð?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?@Õï?@@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?À|ï?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?Àëï?ð?€íí?À<ë?±í?Àpë?Àsí?€ï?ð?Áï?ð?@<ë?€ãá?þï?@)à?ÆÎ?@²è?À%í?€‘è?@½ê?}í?€Ëí?ï?ï?€rï?ìï?ð?fê?ÀÂã?€é?€=é?@‡ë?@ºë?Àãë?@éç?@Þé?Ïî?ÀÅî?™ì?ÀŒí?@Òï?@Éî?€‡í?À´ï?Sï?À‹ï?Àëï?Àsï?@Îî?'î?À¿î?€"ï?ÀÓî?ÀÒï?ñï?‚í?ÀHê?¿ï?€6ï?ˆê?í?@ë?À<í?@?ì?@øî?Àäí?´ï?€©ï?ÀØî?€Õï?œï?€î?€#ï?À)ï?ÀÜï?@sï?Àûï?@=ä?ý×?ã?@Kæ?(¶?€ç?ìï?ÀÅâ?@´ê?¨¼?€…Õ?@]ì?À£å?TÖ?áÓ?À ã?@ìæ?ð?À|ï?ð?ÀÍï? ï?©ã?Bë?À†ï?€,ï?À5ï?µï?ƒï?ÀÛî?€ ì?€ÎÓ?YÈ?À!ç?ÀEï?€æ?È ?{?€3Ö?@áì?ð?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQé?GÃ?°Ÿ?Àd?ÜÂ?¾ç?¼ï?@¶æ?@éï?Àéî?À‡ï?€×ï?Äï?öï?@mï?Àðï?ð?@î?Äï?€Óï?Àqì?Àì?¬º?ƒ?È´?À´ã?€æ?@tï?€¦ì?Àï?@Ùï?òë?@1í?óí?€šê?ê?À`í?€kï?¢î?ÀÙî?€dî?ÿï?ÀÎï?Àšï?€ìÛ?€U?Þ¿?>½?@é?ð?€öï?@Æî?@œî?ÀYî?Àcî?@xè?Àí?Àdï?€-è?Àuâ?À‚ä?Àí?@Ôï?0ï?@àï?@õï?Àë?ð„?¨Ë?ÒÀ?€>ã?€§Ö?€ûÒ?@Kï?@|ï?À†ï?Àlî?€rï?äï?ð?€áï?ð?€ÿï?À›ì?€2ï?€Ñï?Àëï?€×ï?€áï?ð? ï?@´ï?À£î?@„ï?Àhï?ð?ð?ð?€Íï?@ÿï?9ï?ð?ð?ð?ð?ð?@mí?@’í?ð?ð? ï?ð?ð?ð?ð?ð?€^ï?Àëï?ÀÙï?ð?ð?@¾ï?€ˆí?Àê?€ï?ð?@Jï?@ÿï?ð?Àëï?@§ï?Àáï?@áï?€šï?ð?ð?ÿï?*ï?@zï?@†ï?¹ï?€Íï?¥ï?Àáï?ð?@Âï?@£î?@ðì?¯ï?€¤ï?Àáï?¥ï?À°ï?€Õî?_ì?8ì?À3ï?ð?ð?ð?ð?ð?ð?Àÿï?€®ï?ÀÑï?ð?€|ï?€ì?@ï?ð?ð?€¶î?@Üï?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?€šï?¦ï?€ï?Àöî?¹ï?Àëï?@ãï?äî?ð?ð?ð?@Èï?@ï?€7í?@¯í?ð?ð?ð?ð?ð?ÀŽî?Àï?@¬ï?*í?@+í?ì?€¾î?€gï?@åî?¸í?€_Ú?€å?€yî?ð?@ÿï?€ÿï?ð?ð?ð?ð?ð?@Ãï?€|ï?@Èï?ð?ð?ð?€ðï?ð?ð?ð?ð?@Èï?€Ÿï?ð?ð?ð?ð?ð?€:ï?@ïî?@Èï?ð?¹ï?ð?ð?ð?€‰ï?@³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?ð?€êï?€€î?€yî?€—ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?ð?À¤ï?Yï?À®ï?ð?Àëï?ð?ð?ð?Àï?´ï?îï?@zï?Òí?ð?ð?À»ï?@¸í?@eï?@ßë?Àì?ð?@Aç?ÀOä?€hï?Àãï?ãî?iï?ÀLè?€ç?Àâî?î?ð?ð?ð?Öç?:¶?l«?@¹ï?ð?ð?ð?ð?ð?@üï?cÆ?O?(¦?lç?Àëë?uè?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ð?´ï?€äî?Àÿï?ð?ð?ð?ð?˜ï?ð?ð?ð?ð?Àëï?ð?ð?ð?Àwï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?@ï?@üï?@xî?€eî?€×ï?ð?ð?öï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À_ï?€Ìì?@ï?€)î?€ï?äï?Àëï?Àµé?€Ò?¨º?X©?Yç?Àiä? Ô?ÀÅí?tï?@]î?€ªÐ?Àþé?Àdî?¯î?Àí?€÷í?ÀÓï?@òï?€•ï?@Wï?€Åï?ÀÇí?@7ç?À“ì?@Óç?£ë?ºì?@”î?@ìë?€ðë?ÀCî?ƒî?9î?€ï?€„ï?øï?@Ãï?Àšï?€áï?Àµï?€ûí?@$ç?Àüé?@†î?Øî?@:ï?¹ï?ð?@4ï?€ï?]ï?Àï?ýí?€Èî?@-ê?€Åê?ßç?”ë?€Aì?Àƒì?À/î?Àgï?®ï?€ï?âî?ï?€×ï?Àáï?@Oï? ï?€Eî?Àlï?Vî?Ú?€é?À³ï?@Ûï?ð?À&í?@šä?@g?ŸÇ?Àúæ?Àùï?@î?î?€‹ê?Àë?@,ì?À–î?Àáï?ð?€õï?@Mï?—Õ?€©Ò?€§î?Àjï?€ï?öï?ð?Iï?€·ï?@ìå?<«??-Æ?’á?€Tä?°?€†ê?Àí?€»è?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? è?Àñç?`Ü?à”?ø·?ÆÖ?uß?@^ï?!ï?ãï?À÷ï?@…ï?µï?šï?Àëï?Àëï?@|ï?€Ÿï?€òî?ÀÖï?€î?€‰í?À£é?–É?ÃÐ?€ýÙ?Àë?Àéî?ð?€Bé?€ë?£í?€¤î?ÀWî?@Åì?—í?@vï?Àòî?þì?€´í?ÀØì?@¼ì?Éí?€òî?ïé?Ð’?…À?À=ä?†ë?ð?ÀÙî?€Ýî?€î?À¢ï?@fî?@~é?ÀPí?€ï?€ë?­ë?Àtì?€ðè?À ï?€î?zì?@rï?€Kï?ïÇ?`w?`w?ãÖ?\î?€…î?€"Ú?ü°?°’?ûæ?À1ï?€ï?úí?Kï?€éï?±ï?ð?ð?€àï?ï?Ôî?Àí?ÀÞí?í?ð?ð?Àáï?@Ãï?Öï?ýï?ð?ð?ð?ð?ð?ï?×î?ð?ð?ð?ð?ð?ð?Àëí?ÀÝî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?€Éí?gî?@=í?Àë?ð?ôî?{ï?ð?ð?Àëï?@Žï?Àï?ð?@¥ï?ð?@»ï?€¢ï?Àöï?€Þï?ï?ÀÙï?Àˆï?€™ï?@½î?€Åï?ÀÙï?@Uî?€Žï?ÀŸï?ð?@3ï?@Ãï?Êî?€î?€îî? î?Àqî?@ìï?ð?ð?ð?ð?ð?ð?Àáï?À8ï?¾ï?Àwï?@Šì?ÀŽï?ð?ð?ð?@~í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªï?À&ï?Ïï?´ï?ð?ð?€Ðï?ð?ð?ð?ð?ð?ð?ð?€{ï?ð?@Æî?ð?ð?@êï?Àï?ð?ð?€ï?`í?”ï?ð?ð?ð?ð?ð?ð?ð?€áï?Uï?†î?À™í?pï?À¯í?À­î?@Ãï?Ààï?oï?€wí?{Ö?€ýä?@»ï?ð?ð?ð?@Eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oï?€ï?ð?ð?ð?@äï?ð?ð?ð?€~ï?Àýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@bï?€Ãí?î?@ î?çí?ÀÖê?€uí?ð?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ÀÇï?ð?ð?ð?ð?Àï?À²î? ï?€óï?î?€`ï?‰í?€›ì?@†í?€çì?@åì?@=î?ð?ð?@Cí?@æ?@í?ºí?ÀŠì?Àè?Àáá?@å?€¸à?@Êï?ð?Àqï?æ?@œ?°Š?Ñß?€Uì?üï?ð?ð?Àsë?€}á?œ¯?Y?¸Ú?ð?ð?öï?ð?ð?ð?ð?ð?@[ï?€Që?ÀÂã?ð?ð?ð?ð?ð?@åî?@+ï?eï?ð?øï?±ï?ïî?6ï?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?€Ûï?¶ï?€×ï?ƒï?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ýï?ï?@tî?4î?€gî?pï?æï?€Óï?ð?@Ôï?@êì?Ànå?Àîã?@Qï?ƒï?€ï?Àï?Àâä?|ë?À¥ì?@Pï?€uë?Jï?@|ï?€5í?À/ë?fë?@8ì?©é?€£í?Àé?€gè?Àøå?€(ì?@ì?{í?€ôë?€Hí?À§ï?@ï?Àî?@ï?@Cï?@ªï?ÀÑï?€«ï?À}ï?îï?ÀÞí?ÀÂí?À¿í?3í?×ì?ð?ð?Àáï?@Ùï?À¤ï?@Øî?ÀÅè?@í?Âî?@¨ê?€tâ?@ î?›ê?€ãé?@˜è?@4é?@ï?€Qì?!í?@cí?Òï?[ï?ÀÞï?îï?À¦î?Àëï?ì?v²?@?€8ë?@ï?@Oï?ð?ð?Àöï?@âã?ü£?€ç?ð?ð?À£ï?À–ï?@~ê?.ì?€Þæ?Øë?@Aï?íë?ð?€è?¢Ì? µ?ýã?€Öí?@ãí?öï?ð?Îï?À ì?€âî?Êä?ÆÔ?ª°?P‹?îÁ?`y?€Úà?Áç?À*î?ë?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôã?dÏ?ÐŽ?€mÕ?€©ß?@Ýå?Àžê?/î?@ðï?@4ï?@ï?Áï?ð?Àùï?ð?Àï?€Ðï?@¹ï?À!ï?Îï?ð?À»ï?€#ï? æ?à?B?ºÇ?€Äà?€kí?@uï?€ï?Àè?€{è?€ï?€‚í?¢î?Ÿï?ÀÜê?@Þî?€¸î?À‰ï?À|ï?Àvî?@fí?dî?€ï?eë?4¹?À ä?›ï?@Ãï?@òï?@žï?ë?@îí?hï?î?€Àí?@Eî?lî?ÀŠî?ÀHï?Àþî?@Åí?ð?Ñì?@ë?@¡î?€ìï?Í? q?–´?€ì?À‰ì?èé?bí?À(è?äÊ?€;Ú?@gæ?ÀÐï?€¹ï?€ ï?À½ï?ìï?@Hî?@ï?ð?÷ï?vï?ð?ð?ð?÷ï?ð?Àëï?Àëï?€¾ï?ð?ð?ð?ð?ð?ð?ð?€Þî?ð?ð?ð?ð?ð?ð?ð?Àúï?€|í?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?Àëï?€wî?À,é?@Fî?€§ï?@¦ï?ð?ð?ð?Àêï?ÀÕï?ð?@þï?ûï?Lî?ï?ÀØï?@Üï?À‡ï?@dï?@pï?@nï?Ñï?@Áï?ÀÉï?™î?€Íï?@ï?€õï?@ï?€ûï?@ùï?€–ï?@¶ï?@îí?À¤ï?€úï?ð?ð?Àeî?€´í?ð?ð?@´ï?ï?€‡î?Šê?@Êï?@ïï?Àáï?ð?ð?€”ï?@|í?€ìï?ð?ð?ð?@hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?ð?ð?ð?ð?Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?úî?Àî?mï?ð?ð?ð?ð?ð?ð?ð?ð?€Éï?~î?‚ï?€Sì?@Kï?¾ë?úê?ÀÅî?@÷ï?êï?^ï?é?€ÅÙ?€Gë?@ôî?@¹ï?ð?ð?ð?ð?ð?ð?À¤ï?ð?ð?ð?€×ï?ð?ð?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?€±ï?@aï?Àëï?ð?Àûî?€¥ì?€ûï?ð?ð?ð?ð?ð?ð?À×ï?ð?ð?€•ï?ð?€ûï?ð?ð?Àáï?ð?ð?@Rí?€ë?®ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?€ûï?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?äï?À¡ï?*í?Àê?€í?€Lï?ð?ð?ð?ð?Ìî?á?À¿é?€‘ë?€7î?€Ÿà?€¢Ý?ìÛ?Õ?€Û?5Ì?B?:? ƒ?€JÔ?Àí?Àï?@ ê?r×? ?Í?€ì?«ï?Àòï?€Yî?ÀZë?€¶ë?Àéé?€Xì?{Ì?P—?HÃ?ð?ð?ð?ð?0ï?ÀÅî?ð?À3ï?Jï?@Rï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€×ï?ð?ð?@ùï?ð?ð?€üï?@þï?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?Àýï?€úï?@Ôï?ÀÊî?Àõï?€¯ï?iï?ÀŽí?@èï?ªï?€Vê?€áï?À†ï?€î?Àpï?€ôí?@Äî?@þè?À¢ê?@0î?°ì?@ î?€Wï?Fï?À¦î?@¦ê?'ê?í?¢í?À²ê?Àªì?Àê?@2é?½è?ÀIì?ÀSì?@}î?Àìí?@Tï?Àèí?Cï?ï?ï?@jï?€_ï?ï?€‚ï?ÀÛî?àî?À<î?@Tî?@óî?@Öä?@òå?€!ä?@¢ê?@Cä?€Ýé?@Èä?½ê?À£î?@ æ?€ì?À(é?¾ê?À‰ê?eê?Àäí?Àšï?«ï?@ î?Žï?@ýí?­ï?5ï?€½ï?€Óï?€"ï?€¦Ú?)Ã?@`í?@Öî?@7ï?øï?ð?ð?ð?@xî?€Ú?@t?€~ê?€áï?ð?¿ï?À¸î?ÀGê?ië?€ä?€žä?Èè?Ví?#ì?@€ä?€EÙ?À”é?ÀÑã?5ï?Àáï?€×ï?ð?ð?À†ï?€eî?Áí?@sì?ã?ı?@å?fè?uÚ?ÀÛá?¸ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@„ï?ºà?í?Àçê?€ií?€¯ï?À÷ï?@ïí?À“ï?À9ï?€ï?ð?ð?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðî?ð?ð?ð?ð?ð?ð?ð?À‹î?.ï?ð?ð?ð?ð?ð?@Ãï?ð?€Íï?ð?ð?ð?ð?ð?@ïï?Àkì?ÀÇç?€ ì?ð?ð?ð?ð?7ï?ð?Àèï?@ˆï?€ï? ï?€Ôï?Àî?Àï?@¢ï?«ï?@¶ï?À¸ï?ð?ð?€ðî?@žï?€Ôï?€ï?ÀÍë?Zí?€î?@Ýï?ð?ÀÈï?€æí?@Éî?Æï?Àëï?À¸î?ð?ð?ð?ð?@Ãï?€î?ÀÞï?të?ð?€áï?ð?ð?ð?ð?@}ï?@2í?@ í?€›ì?À í?À_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?À¬ï?€îï?@Cî?ð?ð?ï?¹ï?ð?ð?€áï?ð?Àï?ÀÉï?€Æì?Àë?Ñï?é?€ä?€´ì?€Rí?Àîí?@êï?rï?ÀÞì?Àä?ÀÓé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rï?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ÀÞï?ï?ð?@í?Àzï?À½ï?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?@ïï?€?ï?ð?ð?ð?ð?€Së?€sÜ?µï?ð?þë?@Lì?@zï?€–à?À‰?€ùÔ?€^è?@é?€ãß?€^?D?ξ?€_Ó?ð§?À«?€Ó?|Ë?CÉ?ªë?ð?ð?ð?ð?@Mï?€·î?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?€×ï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?@ïï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òí?@5ï?ð?Àðï?ÀÅï?@åï?€¨ï?@¡ì?€ôï?ð?Àëï?€ãï?Èì?ÀÝì?@³î?ÀOí?§è?€%ë?ÀØë?€€ë?À:î?@„í?@«ï?@Øî?@8î?í?@Ðí?€Fî?€pí?À ê?ëà?@ ë?@ôê?À™ì?Àmí??í?€“í?À”ë?À-í?@åï?öï?‡ï?@šï?€Àï?€ãï?Ïï?@[ï?Àîí?€ë?À¤ï?@î?öí?Àí?€öä?¨â?€êì?ÀŠì?;î?Ÿì?À|ë?@‚ì?ë?@në?À^ë?€˜ì?@Òë?€-í?Àí?€…î?Ìí?ÀNî?À¡í?À÷ë?@øí?€ãï?æè?àt?PÌ?€Íï?€Ãî?Àÿî? ï?ð?ð?Æï?¥ï?ßî?¸“?€Õ?0ì?À´ï?‰î?eä?ò¾?ïÚ?€òÒ?¬Ö?€Òá?@í?À’î?@òì?-ï?€ôï?ð?ð?ð?ð?ð?ï?@¤ï?@xï?@}ï?@jï?€Jê?Ô?@Šå?À®à?@Ÿâ?Àæ?™ç?Àæí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚí?@}í?@§á?Ð…?€ Ú?€)ê?çî?›ï?êî?¯ï?½î?ð?ð?ð?ð?ð?ð?À<î?Àì?ÊÉ?^³?@êë?À”ï?Àrí?ÀÃè?Àªî?À½í?@”í?@¼í?€6ï?Ëê?@Îê?@>ê?@í?€?í?Àüî?@vï?À¹î?€áí?€Øî?€âï?Àëï?(ã?`?ž¸?€eí?ð?Àëï?@Aî?€|ï?€Îï?@»å?À³ç?€Gè?6ê?$è?@‘æ?@Ží?¥ï?¥î?@Äî?Àì?À¨ë?€õì?ï?À‡ï?éë?@ìï?Mî?âá?À†?Àéá?Àæî?@/ï?yî?@Xï?ÀNï?@î?Oë?ë?@ï?€âî?ð?@¯ï?€èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?@…ï?ð?ð?ð?ð?ð?ð?ð?@Ãì?À&ï?ð?ð?ð?ð?ð? ï?cï?ð?ð?ð?ð?ð?ð?¹î?@µé?Cæ?@íî?ð?ð?ð?ð?ð?ð?À”ï?€’ì?À?ï?@>ï?Àîï?€Âî?@Ãï?Àjï?@}ï?Àˆí?ÀÒí?@¯ï?@ìï?ð?@9ï?À.ï?¥ï?Àòì?ê?@Eí?À$è?@Dè?@eë?€fï?îí?zï?‘ï?ôî?ð?ð?ð?ð?Àáï?Àëï?ð?€ì?ð?@cï?ð?ð?À¥ï?ð?ð?ð?@ëí?€Åï?ð?€Üí?À&í?Àþì?Àíî?ð?ð?ð?ð?ð?@Ýî?@oí?Àæí?Àí?€˜ì?@šì?@aî?€äî?ð?ð?ð?ð?€×ï?ð?@âï?ð?@âï?ð?ð?ð?ð?Ÿï?€‘ï?ð?ð?ð?ð?ð?@Ãï?cï?@¥î?@xî?Àûï?ºî?À4ï?ð?ð?€`ï?ð?€×ï?@ìï?@¥ï?ð?@³ï?€Mï?@áî?À ï?´ï?@ºë?@Ñë?@7î?Ìë?€äí?€£î?Àëï?@³í?àì?Àfë?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@8í?@µì?zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïê?@~í?€ï?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@ï?Âî?Àáï?ð?ð?ð?ð?ð?ð?ð?@«ï?@&î?@í?Àî?¶â?€ãØ?ˆ–?TÅ?2?€ÌÜ?ð?ð?ð?ð?ï?ð?@Oï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?Àðï?ð?ð?ð?ð?ð?ð?Àëï?@aï?€Íï?zï? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åî?ð?À‘ï?€íï?Àï?À®í?Àèí?€úì?¡í?Bï?@(ï?ÀBé?€3ë?uì?vé?€ií?€Rë?@’î?€ðì?€Ïî?zì?Àtï?ãë?{è?@‰è?jî?€©é?qí?@cì?Àüå?zí?‚ë?ì?Sì?@î?€Üï?­ï?Àîï?Àáï?À¹ï?Àhï?"ï?@ƒï?À2ï?õí?í?Àê?€ç?@më?@@ì?@î?€<ì?¦ë?@‡ë?€€×?Œ´?¥Ö?±ã?À¯ë?@fë?@ë?@Ûê?Èì?,ê?@Vì? ë?Mæ?Âí?Àäî?†ì?€(Ð?\§?Áí?@‘î?Àïî?€ï?ð?í?@+ê?€Iï?€cï?Í?ð—?Z±?ÓÌ?Ê?@p?p‰?A?£?ÅÇ?À_á?À î?ÀÖî?ÀAï?€“ï?ÀØï?@¾ï?@Œí?Åï?ð?qî?€çï?'ì?À‰ï?@î?À7ê?Ô?°?€åÓ?@á?€ââ?Äí?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õè?ÀÙä?¾?]Ê?ÀYï?Àê?À•í?€vï?ºï?Àdê?@ ë?­î?€˜î?ð?ð?Öè?ØÉ?ø°?Í?À×í?Àné?¿ã?@Úî?@ï?€ê?%ì?@Rí?€Øê?Àûî?ÀGé?tì?í?ÀÎï?íë?Àï?@>î?€tï?@xï?@Üï?Àï?€ôå??ªÐ?@æí?ð?€Ýï?ºï?@Âï?€%î?@ï?€`ï?@î?ýì?€Òî?@Ôí?bî?€ií?@:ì?€4é?ßí?À/ï?€¤î?€‡ë?€¥ì?€ ì?Àyì?@1ë?€qï?@(í?€Ø×?º?À¥?@Là?€xï?€%ï?À˜ï?€éï?@Œï?@¨î?€î?qî?ïï?@ãï?@;ï?ð?Vï?ÀÞï?ð?ð?ð?@áï?@¶ï?@¸î?Àvï?ð?ð?ð?ð?Àôï?@áï?€Úï?Ïï?À«ï?À¶ï?Éï?ð?ð?ð?ð?ð?ÀÉî?€î?Gî?ð?úï?@‹ï?ð?ð?ð?€î?€Šî?ð?ð?ð?ð?@Sï?€]î?Óê?€Õå?€4í?ð?ð?ð?ð?@áï?€Ýï?€·ï?€£ê?ë?@–î?@Bî?¸ï? ï?Àï?¾ï?€íï?òï?Àªï?€¿î?@—ì?€(í?‡ï?€jï?@Åï?@ºì?À±í?€ï?€3ï? ï?Àýï?€ÿï?@+î?¢ï?@]î?óî?—î?@¬î?€Ãï?ð?@üï?ð?@¸î?…ë?€ï?ð?ð?ûï?@(ï?ð?ð?ð?¿ï?ð?ð?ð?ð?ð?@wï?@…í?€ í?×î?ð?@üï?Àï?€Hî?Àýï?úï?Àîï?ð?ð?€²ï?ð?ð?ð?€Âï?ð?ð?@ÿï?ð?@ÿï?€ëï?ð?ð?ð?ð?ÀÕï?åï?çï?ð?ð?ð?ð?€Âï?ýï?@öî?€âï?€ûï?@Ðï?µï?@áï?ð?ð?ð?Úï?@üï?üï?€ëï?ðï?@Âî?@Iï?»ï?€œî?Æê?€Pì?\ì?€ì?ÀÂì?@Œê?€`î?@í?ÀDï?À¯î?'ì?ãæ?@œî?ð?ð?ð?@áï?ÀÌï?€øï?€Õï?@ ï?ð?ð?ð?ð?ð?ð?ð?@wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?Œï?@ýï?Úï?€ëï?ð?ð?ð?ð?ð?ð?ð?@ûï?@ï?€¸ï?ð?ð?ð?@éï?Tï?ð?ð?ð?ð?|í?€ƒé?oî?òï?€Èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ÀÌï?ð?@åï?À•ï?ð?ÀVï?€}ï?ð?ð?ð?ð?ð?ð?ð?ð?À£ï?@ï?ÀZî?@î?@;î?—ï?9Ó?YÐ?ð?ð?ð?ÀØî?€Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?Àcí?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?€îï?@áï?ð?ð?ð?@öï?À·ï?ð?@ï?À‰ï?'ï?@áï?Àžï?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œï?×ï?ð?ð?@ýï?@îï?eï?À¶è?€Gï?€Äî?€Þß?èï?€¨î?@ç?Àì?aä?ï?À4ï?ÀUæ?@Žå?À™í?@Åé?@8ï?@‘í?@Èï?€/î?wì?€«í?@/î?Ÿí?À2é?Tå?=ì?@Uê?À^í?¯ë?€‹ç?€;ë?€î?ªì?@âî?€eï?€õï?ð?@Ýï?À§ï?Ààî?€™ï?À¸ï?À­ï?€?ï?ÀŸî?À-ì?À,î?ßß?@Dè?À›è?ÉÛ?ÔØ?ê?@¿ä? ê?€7ë?@Aë?£è?@Áå?ÀÈæ?€ºá?Àê?€ì?Pï?ÀNï?@Èî?@¼ë?[É?ÈÁ?îË?œ?UÊ?À‹è?€ãï?@Yí?@$ï?—ï?®ï?œÆ?Ú?€ç?À4é?@#é?€é?HÍ?‚Â?`Æ?à{?¤©?Zå?@Më?@vï?Ànï?€¸ï?€Äï?Àƒï?Àóï?Ÿï?ð?@ùï?Àüí?èï?¢ï?¾ï?@Èì?Ó?(š?$§?¡ã?@7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï? ï? Ë?€%Ø?@Êå?€„î?@àê?@Íê?€âí?À¿ï?€yï?À$ï?þï?ð?˜í?€nì?€Ô??ô¬?!Æ? ¤?@Ûâ?@î?À›à?@å?À+ï?€ ì?@<ç?€í?hî?í?@cì?@Šî?áê?Yí?qì?Àï?@)ï?@Öî?€pí?À"ï?@;ï?Àä?ƽ?€þÖ?@‘î?¥ï?À4ï?À¢ï?ð?@Æî?€ôí?Pí?@úî?€‘í?À¹ì?@ñî?€‡ï?À î?€°î?Àïé?ä?@¸î?€]ï?€§í?€ é?™é?€¦ê?€Õ?€gë?ì?€ùï?À£ï?*ï?ÀVé?ÀÐî?€î?€Æï?ÀXï?À’ï?@fï?€˜î?€Âì?@ƒï?@¸ï?Éï?Âï?ð?ð?Àï?€jï?ð?ð?ð?Àgï?@ìï?@ï?€Êï?ð?ð?ð?€ìï?@Ïî?€Fï?ÀQï?€›ï?ð?@ïï?ð?@Gï?ð?ð?ð?@èì?À)ï?ð?ð?ð?ð?ð?ð?ð?Âî?Àî?À¹ï?ð?ð?ð?ð?Àì?Àê?@ìç?aí?€(ï?À9ï?@Øí?ÀÞí?Àåí?âí?€ãí?€àì?ðë?Éé?@Mì?@î?€¸ì?@‹í?}ê?€ûî?ð?jï?€8í?À¡í?í?€§è?€Êë?¦î?@ î?ªí?@ƒï?Ìï?@ï?Àãï?ð?Àúî?€Ží?Àæì?@‘î?À~ï?@ìî?ð?ð?Îì?…ï?Ìï? ë?ð?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€›î?@‡î?@ˆï?€Äí?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?@ïï?€Âï?³ï?À£ï?@3ï?ð?ð?ìî?€ÿï?Ààï?À£ï?€æï?ÀÙï?€Áï?À¡î?€í?€öë?@#ì?Àî?@kî?@Åì?€_í?@2í?€Dë?yì?@.î?xí?À+î?€ ì?ÀÒí?ÀEä?€ºì?ð?ð?€Âï?€ëï?Àï?Lï?Þï?@²ï?ð?ð?Àºï?ð?ð?ð?@ï?Àï?ð?@ðï?ð?ð?ð?ð?ð?@sï?ð?ð?ð?À«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€™í?€åï?ð?ð?ð?ð?€Âï?ð?ð?ð?À–í?Àöë?@±ï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ÀÝî?@øï?€ëï?ð?ð?ð?@áï?ð?ð?ð?ð?ð?@ðï?ð?ð?Pï?\î?îï?Àøî?ºï?œï?€éï?€'Ý?`Ä?Pª?(œ?eÇ?€c?úÂ?ð?ð?”î?À¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?Àœï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âï?ð?€¸ï?@›ï?Cï?@ûì?À‡ì?Àõï?€ëï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?~ï?À¸ï?ð?ð?ð?ð?ð?€[î?Àçï?@Yï?@­í?@Hï?@•ï?€Ðî?Ýï?Àõï?€Ãï?ÀÞî?Nî?€Ôé?€bï?€Ôë?,ï?Þî?@¢ï?@³í?@5ì?@>ì?@Žî?Àžì?€ªá?À"è?€ë?å?@Þì?ÀÂê?Àñì?À î?¼î?Íí?€uî?'ï?@ñî?@ðï?•ï?Ùî?6ï?@ðï?èï?•ï?Àôî?Àóê?xé?Àì?€Æî?@÷â?Àîà?ÀÇì?ÀÙç?@Ëê?Àkè?€¬ê?@eì?ßé?@í?€úê?À ì?@gì?ÀOé?€‚æ?@Xå?Pè?uî?@Hä? ›?8¤?@“ì?Õì?¼å?@fí?Eï?€Ìï?ÀÑè?¶?6Ü?@Íì?ð?ÀÌï?@Àå?¦?¬?äº? ‡?MÎ?'ß?¢ç?”ï?Ðï?À²ï?@Úï?@ðí?€Mâ?~î?í?ðï?ð?Ýî?ð?@zì?eç?£×?m?À ä?Ûî?€ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ñé?€«ë?€žÒ?&³?µ?,¯?”¤?¸Ú?µî?ð?ð?ÀÉï?"ï?@¹å?ÒÉ?¡?°–?ÑÃ?@‡â?€À×?€æ?(à?€ Ð?$ì?€eï?€Aë?àë?À¨é?€ðì?ì?À˜î?Àñî?@jí?Àí?€nî?ƒï?ií?@^î?Àüî?î?@\ë?€Ú?Àx?,?U?²?@ é?ÀÖï?À÷î?€óî?€ï?™ë?Àí?2è?ÀNí?€ì?@²ë?Àí?@¶í?€ï?Wå?@mî?@×ì?€Ãè?À£ê?À„î?@òî?@`ì?Àwæ? ë?€Éí?ÍÛ?€gÞ?ýé?€$í?Àhï?ð?€˜î?€Šï?Àßï?@Aï?@öï?ð?ÀÕï?€’ï?€Äï?€ì?À«ï?ð?ð?ð?ð?Àòï?ð?@’ï?ð?ð?ð?ð?ð?@¿ï?@fï?ð?ð?ð?ð?Àýî?Àï?€ãî?ÀÓï?ñï?€Àï?@Œï?ð?ð?ð?€Ùï?€*í?ð?ð?ð?ð?ð?ð?ð?ð?ð?~î?€ðî?À.î?ÀÓï?ð?ð?@¬ï?Úë?öå?£ì?€Ûï?À±ï?ð?@”ï?Àkï?Åï?@Îï?@Jî?ÀÔî?@ï?@üè?Àªæ?@î?@ï?ÀÒî?@Bí?Äí?À”ï?@nî?€ï?ð?À¨î?€Íî?À1ë?”î?À ë?ÀAî? î?€øï?ð?€¾ï?ð?’ï?ð?€ï?ð?@›ï?Àªï?@Ëï?ð?ð?Àï?ð?ð?@æë?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?À™ï?¬î?€ ï?Ýï?À÷ï?@6ï?@Éî?ï?ð?ð?ð?ð?ð?€Çì?@Øê?ð?ñï?ð?€¶ï?€îï?€àï?ºï?€ìï?ð?ð?ð?€àï?ÀÔî?ÀŸï?Ìï?ð?ÀYï?@ì?€`î?€…ì?;ê?Yî?@3î??ï?Àóï?Àï?€_ï?Àï?€uï?±î?€¶é?@fï?Îí?€ï?†ï?€µï?Cé?€>è?@éã?øæ?ÀÜí?€«ï?€Çï?î?üï?@Àï?±ï?Àåï?Àºï?ð?ð?ð?ð?@Ôï?²î?ÀGï?ð?ð?ð?ð?ð?ÀÒï?ð?ð?ð?ð?íî? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?€óï?ð?ð?Àóï?ð?ð?ð?ð?ð?€âï?€|ë?ð?@þï?€ùï?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?À¦î?€åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?ð?€ýï?ð?ð?ð?@Óï?@Ÿï?€]â?€r?ÒÝ?@ î?€öé?ÀÞï?€ÖÕ?Œ?'À?€™Ö?[Ç?×?ÀMï?ð?ð?À í?ð?ð?€lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rï?€…ï?ð?ð?ð?ð?ð?ð?ÀÓï?@£ï?ð?ð?€õï?ÀYï?ð?€øï?ÀÅï?Àáï?ÀÑï?ð?€õï?€ýï?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?Ànï?éï?ÀÞï?‰î?€Ïï?ð?€¹ï?€Vï?@ôï?@Øê?@¢à?@‘ï?€¢í?@|î?€Eï?uï?ÀÕï?À[ï?€lï?uî?ï?@Pî?“ê?€(ì?€^ç?€dî?Óë?ûí?®î?Àí?À‚ì?@jî?Kì?@fí?@|î?Àsï?ùî?€Žï?@5ï?Àkï?@×ï?À§ï?ÀÖï?ÀÒï?@fì?À]ç?@£à?€6ì?@Dê?@¬ì?óë?€éí?€ní?À™è?@Ðè?Lç?ë?ýë?€ì?€Eç?À¥ë?€Ýí?@]ê?€ôê?@ßç?&ë?€“Ø?[Ê?àw?¼¤?¾Ñ? Š? ?ÀBë?@óï?„æ?©?a??€~Ñ?@ïæ?Å?¨ž?˜Ð?úµ?€f×?¤ä?L?@`?ž?¼?€s×?Úí?€kï?€dï?€Úï?Œï?eÞ?ŽÈ?€"Ý?€`î?@éï?ð?ð?@»î?£é?[à?µ?o×?€…é?À_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-í?€oê?€uÙ? y?*Õ?€=à?@çë?€Tî?Àâ?€­?Œ¢?€?Õ?€Ìå?Àê?€µí?@åè?Àkí?í?@¹ï?€Âï?@#ê?€öì?¢í? é?Àíâ?€î?Àõí?@9ï?ÀÝï?ÀÉî?€äï?€Iî?@í?Àjç?9Ò?~Ã?ãÉ?€Õ?À¥î?‹ï?ÀÒë?À›ï?€åî?ÀSë?Åê?-ê?—è?@/ë?@Kç?@Èì?×è?À¹î?@³â?€×?ùì?@@î?@Æí?@²ì?&í?gì?@ùë?À?@å?€±ë?Àvè?€âî?Àï?€Ðí?¶ï?ÀÕï?@Îî?€èï?ëï?ð?ð?ð?Àêï?ûï?€kî?@Üì?ð?Àêï?@àï?ð?Àï?@Xï?ÿï?ûï?ð?ëï?€àï?ð?ð?@îï?€àï?ð?ð?À³ï?ðï?@Œï?åî?ð?Îî?ð?ÀÀï?ð?ÀÕï?@¿ï?@î?ÀÕî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýí?ð?€Åï?î?À0í?@Šï?@ í?€²ë?Àé?\ï?Àgï?†ï?ð?ð?ð?ð?ð?ð?ð?À$ï?yî?Sï?ð?Aï?€pî?@ßï?€åï?¸ï?ð?€õï?ÀÛï?ëï?@÷ï?íî?€ ï?€’î?€Áí?9ï?Àrï?ð?ð?ð?@°ï?ÀÕï?ð?ð?ð?ð?ð?ð?¶ï?€«ï?ð?ð?Àmë?€ìì?ð?ð?ÀVï?ð?ð?ð?€tî?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?À¬î?Àùî?À›ï?ãî?€Ëî?ÿî?Àûï?ð?ð?ï?À?ç?ÀPî?@íì?€çë?ð?ð?ð?ÀÃî?@Žï?@Ñï?ð?ð?ð?ÀÜï?ð?Àøï?Äï?ÀAï?ð?ð?ð?€†ï?@®ï?@Òï?@¾ï?€"ï?ÀÎï?€>ï?ÀÁî?À#ï?±î?@Yï?€¼ï?ð?ð?Àêï?€Üï?ð?žï?ÀÈí?€+å?À ê? é?Àoè?@Ëê?€ì?€<ì?À»ë?Úì?'ï?ð?ð?ð?ð?€Uî?6î?ð?ð?ð?ð?ð?ð?ð?Ðï?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?€Yï?ð?ð?Àûï?ªï?@‹ë?Žï?ð?Þï?Öï?ð?ð?ð?ð?ð?ð?€ìï?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?+î?;í?åï?@àï?@Ýï?ð?ð?ð?åï?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?3í?ð?ð?ð?€žî?€fÛ?`…?(µ?—Ð?ˆ¥?Èá?Ïï? ê?ÀÔã?À‚? ?0Ñ?į?Ì?@Rï?ð?ð?ð?ð?Dî?@ ï?Àaï?Àaï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€žï?ð?€ï?@3î?ð?ðî?@rî?€¯ï?ð?ð?!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?€mï?€ší?ˆï?À!î?ð?ð?@÷ï?€Ðï?Àší?€ªæ?€vÑ?€žÓ?€0î?éï?(í? ï?€hï?Eî?€3î?€Bï?€qí?@î?À7ì?éì?€6í?¢ì?À6ì?ï?Šï?€î?€cî?€î?@lí?Àòê?€Ìí?€âì?ÀÜí?À°î?@¨ï?€Qï?@³ï?@ßï?@iî?€¯í?eÝ?’Å?@5å?@±ì?€Fë?ÀCì?€xî?€1î?ÀNî?@9æ?@Yí?À¥ç?À4ï?@âí?@Wã?Àûã?@žì?€ï?wî?Àë?×ë?€Çî?nï?€×?Rí?À€í?pÌ?@e?`?‡å?€Àë?Às?¨°?4´?Àí?Âï?@Ïï?šï?Àüï?Àáï?›ï?€bØ?$³?Ò?€ê?Eï?€‡ï?@ ï?Ý?PË?‰?¨˜?Àôæ?€“ë?•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›ï?ì?Àã?ô¡?`ˆ?ŠÀ?€ºÓ?Œà?€Ìé?€¥ï?€§ï?»î?@žî?Àþî?òï?À¢ë?ýï?€ï?€gî?•ï?Àuç?€*ì?Eí?›í?@dî?€Øî?ãî?@+ì?€©ê?¢¹?C?P£?@>ã?À›ï?ð?ð?@žé?€6î?€®î?@öè?Àæ?@ ç?æ?À0ê?@[ç?À°ä?À'ç?@µí?À³î?À€å?@5í?ÀEè?€Éî?@@í?@§ç?@Zí?À`ì?ë?@”í?©î?@?é?À¨ï?ëï?ÀÂï?€¶ï?ð?šë?>í?€®ï?ëï?™ï?Àýî?ð?€8ï?€¦ï??ì?vî? î?€Ðï?²ï?õî?€æî?ÀÕï?@Ôï?ÀHï?ð?ð?ð?ð?ð?ð?ð?ð?€Oï?ð?ð?ð?ëï?ð?ð?ð?ð?ð?À¿ï?€&î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?Sï?À´í?ïè?À»é?üë?ð?ð?ð?ð?ð?ð?@Ìï?ð?áï?Fï?À™î?,ï?€ï?€1ï?^ï?Àkï?€Zï?Àçî?@±î?šï?Àï?@ßê?€Jì?@ýï?ð?€âî?€í?À4ï?@»ï?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?ð?ð?ð?†ï?€í?ÀDî?ð?€°î?ÀØî?ð?ð?ð?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?@ûï?€àï?ð?@"ï?@‰í?À)ï?ð?ð?ÀÔï?Äè?Àåç?@:è?@âè?€Aë?@Éî?@Àí?€ëî?×î?€Þî?€¸ï?ð?ð?Àãï?ð?Üï?@î?@ûï?¸ï?çï?éï?ÀKï?ï?€9ï?@íï?Àï?€Îî?ÀÜï?Xî?Àï?ÀPï?ˆï?ð?ð?ð?ð?ð?@Üï?Àùï?ð?€#ç?$ï?@í?ï?ÀÝï?ð?ð?@Xî?€7ê?À­è?iï?ð?ð?Ôë?À…ì?€>ï?ð?ï?ð?ð?ð?Öï?ð?@ûï?@gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjï?ð?ð?ð?€íî?À@ì?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&î?€Sî?€áï?Ààï?{ï?@óï?ð?ð?ð?@¼ï?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?Àˆì?äÄ?Œ?€ÑÙ?÷Ú? ¶?øØ?Àoî?ÀLé?€õÙ?€î?ð?ð?ð?ð?ð?€Sì?€Šï?€}î?ûï?+ï?ð?ð?ð?ð?ð?ð?çï?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ñï?ð?/ï?ð?ð?ð?ð?ï?€Yí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?·ï?ð?€õï?ìï?ëï?@íï?Àï?À­ï?ð?ð?€Ìï?ð?ð?ð?ð?ð?ð?À]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Nï?À¾î?€cí?@¼ï?À¿ï?@Sï?ð?ð?€õï?€cï?ë?€)è?€"ä?í?@Uï?@æê?€Æë?Vï?€ýî?Àqï?Žì?Àbé?úî?€§î?€í?À[í?€Ùî?@.ï?À»í?€pë?ÀGí?%ï?ÀOé?À`î?€Iî?Qî?kí?€gê?@Bî?À@ë?Àï?€ëî?Dï?@„é?@²ç??¼¹?@ôê?Tï?<ì?€Bâ?,î?@0è?€´ê?@•ì?@@í?½í?Àªî?ÀÕç?öâ?KÖ?À ë?@õî?À­î?@Žä?€…ë?ï?Àï?À…à?‰Î?¸?P?Ô©? §?ÏÌ?$?žÓ?\å?ÀÑï?ÀBï?@Öï?£ï?ð?—í?ŸØ?Š?Ô?@‹æ?@Lì?Àï?€ùß?Ï?@è?€åì?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ì?Ñè?€NÔ?ð€?ê²?Àƒè?@üè?úæ?@oë?@1ï?@Ôï?Àßï?@ÿï?À‡ï?€„ï?Àøì?À„î?€éí?@Ùî?À­ï?@_ç?€×ê?ôê?@­î?™î?úí?‹î?•ë?ñÚ?Àb?ÜÍ?@$î?ð?ð?®ï?Âî?€Oî?€/î?€“ë?€)ì?À[ã?€/ä?@—á?˜ê?çß?_æ?µç?@•ë?€sã?À@ê?@é?À˜í?@?í?€(ì?ºê?€ ë?‰í?Äî?À™å?@0é?1í?€Õï?þï?ÀÒì?@pï?¶î?€ºî?@øí?€Úï?Aï?ð?Àfï?uï?ëï?À¡ï?À•ì?€Öì?Àªï?ð?éî?€-ï?ëï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?€}ï?@ùï?ð?Àî?À;ï?ð?ð?ð?ð?ð?@ðï?ÀÀï?ûî?ð?ð?ð?ð?Ôî?ð?ð?ð?ð?ð?@Pî?@Òï?€Ëï?ð?ð?þï?@ î?€Pï?€Cë?Àñï?ð?ð?ð?ð?ð?@¬ï?@Öî?@Éï?@öî?Àôí?ÀÚì?€Ží?@‘ì?À)í?Àsí?ÀŠé?¨ì?Ààî?€Èï?Àíï?@ï?@ï?Àÿï?€ªï?Àáï?@—î?À­ï?ëï?ð?ð?@áï?ð?€àï?ð?ð?ëï?ð?ëï?ëï?@Œï?¶ï?ÀYï?€ôï?@6ï?@…î?ð?-ë?€Iï?@ï?¶î?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?À î?ð?ð?ð?@ñï?€‚í?€kç?€ë?€Qê?ÀÛï?€Xï?ð?Áï?@üï?ð?ð?ð?ð?ð?€æî?ð?ð?ð?€êï?Jï?Àôï?À³ï?¶ï?™ï?@Šï?ÀÖï?ð?ð?ð?ÀÁï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?@`è? ï?@„ï?öí?€¤ï?ëï?ð?ð?ð?€{î?@Kç?€Eí?1í?@€ï?@€ï?€»í?@kî?@í?À»ï?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?Àøï?ð?ð?”î?ð?ÀÒï?îï?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€àï?ð?ð?€”ï?€øê?ð?ð?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?Áï?Uí?@*í?ð?ð?€ÿï?€ûï?ð?ð?ð?ð?ð?ð?À–ï?ð?ð?ð?ð?€àï?€þï?ð?ð?ð?€ë?¥í?ð?ð?@Õï?€¡Ø?à? ƒ?C?À|ë?€£ì?,î?@üï?ð?ð?ð?ð?ð?ï?€î?@‘î?ð?ð?ð?ð?ð?ð?ð?ÿï?Àòï?Àþï?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€Ôî?èï?ð?€(ï?@Nï?À¾ï?ð?.î?9ï?ÀËï?ð?€õï?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jï?ÿï? í?êï?dï?Mì?À>î?@ýï?@ìî?Öï?ÀÐí?€Ãî?@î?@æï?€‘ï?À è?€uí?@]ï?€¨ï?@î?ë?€=î?@lî?@¢ï?+í?4ë?€SÛ?€ÄÕ?ãÖ?€¤Ü?€¡é?vî?@”ï?€Íï?Àí?@ãë?í?À*ï?À¸î?€Ôí?À í?@ï?‰î?Æê?Àšë?€ÝØ?€ Ô?é?€êì?À+ç?ß?€çì?€øç?<Ö?—ê?)ì?€.ì?Bç?@²æ?€‹ì?@Sï?ÀÒï?ÀØî?€‰í?@‘é?@Ïà?@Áâ?€šÕ?pŸ?€ºÛ?…ä?€Øì?€é?`r?óÐ?‘â?@\é?€fê? î?Àãï?ð?À9î?ÛÞ?™?„¤?Í?À—ã?}Ñ?€DÔ?ÀXì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µï?@öí?À7ë?Qà?Ž?¬·?ÜÚ? á?ÿá?)ì?À—î?€¢ï?!î?ðï?@¿ï?À°ï?€Kï?Àeê?Àï?@÷î?À ï?ð?~î?@=î?@tí?Tî?åî?€·ë?©í?@¢î?0è?D¥?|×?˜ï?ð?€ñï?€Ëï?Àí?@×ì?í?[î?€¾è?À~é?€†é?€Yå?@yì?@…ã?@œä?À å?dè?€èá?ºí?@Mî?>ë?À?ê?%ï?iî?Àíí?»ï?è?À¼ç?@Má?€6Ò?Àìå?@”ï?€Ýí?À6î?@nï?øï?@ ï?€ ë?ð?ùï?€2ï?€=ï?Áï?@Þï?4ï?@Aï?¦í?€àì?À_ï?À—ï?@Ìï?ð?ð?Àßï?ð?ð?ðï?Àßï?ð?Àcï?ð?ð?ÀÌï?ð?åï?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?€²î?@Ní?Àjì?í?€‡î?Àrï?Kî?ð?ð?ð?ð?@eï?”ï?ð?ð?ð?ð?ÀÕï?Œí?ÀÁî?€“ê?ÀÈï?ð?ð?ð?€ƒï?€ïï?@èí?"ë?Pî?ÀRë?@€ì?¾é?€ì?-é?Àé?Eë?À£ê?€Äî?@<ï?À+ï?À±ï?@Fí?@Ùï?ð?yï?Úï?ÀÉï?@Oï?ð?ôï?@Œï?½ï?ð?ð?€Ïï?€êï?ð?ð?ð?ð?Êï?Àþï?Àëï?Yï?ï?Ëï?ð?ð?Àqë?@ï?ð?ð?ð?ð?ð?ð?ð?ÀÓï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mï?Àcï?À“ï?Àžï?ð?@iî?ÀDã?ÀÌí?ð?ð?ð?ð?@—ï?ð?ð?ð?ð?ð?ð?ð?9ï?ð?ð?ð?ð?@Âï?ð?ð?ð?@Çï?ð?@¿ï?@êï?ð?ð?€êï?ÀÄï?ð?€ßï?øï?ð?ð?€Çï?ð?ð?ð?€$ç?À^ï?úï?ÀSî?€êï?ð?ð?ð?ð?ð?eì?ç?Åé?“ì?€ìë?€÷ì?€ñì?À§í?ð?ð?ð?ð?¤ï?ð?ð?ð?ð?øï?@¦ï?€ î?@pï?Àßï?ð?Àçî?€sï?Àïï?ð?€†ï?@0ï?ð?ð?ð?ð?ð?ð?@\ë?ÀNí?Pî?@Vì?Àbî?Àˆí?€ôî?ð?ð?ð?ð?ð?ð?ð?@~ï?ð?ð?ð?ð?ð?ð?ð?€üï?€qï?^î?@‰î?€hï?@%ç?€›Û?€ÛÑ?Àsì?ð?ð?íï?Ôï?ð?ð?ð?ÀÏï?ð?ð?ð?ð?ð?ð?ð?Êï?€êï?ð?€øï?Œï?ð?ð?ð?ð?À9ë?4Ñ?€Áæ?Ìí?ð?jî?€÷Ú?Ë?@:ì?­é?€ˆì?ð?ð?ð?ð?ð?ð?Wì?Àqï?€Lï?ð?ð?ð?ð?ð?ð?ð?ð?@ðî?ð?ð?@çï?ð?ð?ð?ð?€¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤ï?ð?@yï?ð?ð?ð?ð?ð?ð?ð?Àsï?ð?ð?ð?ð?ð?ð?ð?ð?²ï?Àaï?ÀÙï?€Ýï?òî?Àï?ð?ð?ð?ð?ð?ð?À¡ï?ð?À ï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?õï?Àîï?ÀÕï?ð?€ûï?€Ýï?@áï?Èï?@Lì?€ï?@Âï?ÀÚï?@Ðî?€+á?@gç?ð?€î?€Uí?@eí?@›í?À”î?»ï?@ê?€Ó? Õ?€1Õ?@׿??æ?@{ï?ð?Àòï?€Ÿï?Të?ÀÉì?ï?@ï?‚ï?€pï?„ï?€Àé?€Xè?®ç?@Ýì?Àê?@dç?ƒê?@¯è?€Xé?@®í?$ï?ÀÊç?Ø?‚æ?€œí?ÀUï?»í?À%ê?Àˆì?€îî?€¥ï?€·ï?Vï?öé?Àâ?ÈÁ?@†?ì ?ž¸?À$î?@•ì?Àmí?€bÑ?Ø’?ÍÁ?Ç?¼¡?œº?‡È?€æÙ?€Üß?¨“?@9â?À½î?ð?Æï?Úï?âë?…Ð?€á?õÄ?`¥?à~?€xæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘í?Àå?kÖ? Ž?¶¶?€Ù?€€ä?@áé?€8ï?€$ï?€&î?À4ï?@Ãï?À¦ï?•ï?€êï?±ï?@ÿê?À’ë?Àíë?@ˆï?Àï?öï?1ï?@Âì?ÀFì?@î?Àï?À|î?@úå?f·?Ã?À$ï?ð?À/ï?€ÿï?Åí?@ãì?@„ì?Àï?€ î?@ì?Àå?¾ê?@çë?Nè?@„ç?¼æ?Àœê?€Ò?Pè?À§î?ÀÔì?Àì?Àí?Àoî?£î?ÀÃì?êæ?Àxç?@§ã?öê?¾Ñ?À¢ï?@oí?@Lã?ð?À§ï?€±ï?]ï?€´ï?ð?€éï?@ˆï?Àßï?ÀÆï?ÀÆî?À7ï?À–î?€ï?Àíê?À´í?À®ï?ð?€ûï?ð?€êï?@¿ï?@Îï?À"ï?ð?€žï?@(ï?ð?@Äî?ð?€úï?@ÿï?ð?ð?ð?ð?Àâï?€êï?ð?ð?Êï?€Wî?ÿï?ð?@Úï?@^î?@€ï?ð?ð?ð?iï?@Îí?ð?ð?ð?Àßï?ð?@öï?@pï?€Ïï?Àrï?€ ä?Àšì?@øï?ð?@öï?Àßï?@Kï?ÀGê?€–ë?í?í?€xê?€‚í?@´ç?€Ðà?@ê?@Œì? ë?­î?eí?€‹ï?@^î?Àýì?À+ï?mï?€°ï?€ÿî?åï?€Ýï?Àçï?€9ï?dî?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À-î?ð?ð?ð?ð?|ï?Óë?ð?ð?ð?€þï?ð?@“î?±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ð?Àãï?@Ëï?ð?À°î?@öç?jî?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?@šï?€êï?Àýï?ð?€êï?ð?@ëï?ÀÌï?€¿ï?ð?ð?€ßï?ð?ð?€ûï?ð?@èï?@÷ï?ð?Àßï?Àïï?Ýï?åï?€êï?€§ï?ð?ð?ð?@vé?Ÿî?@áï?@êï?ð?ð?ð?ð?Àóï?€ÿï?²ï?€«î?€zî?@ªê?€áï?À°î?€Yí?Àèî?€óï?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€sï?fî?À‚ï?Àßï?ð?ð?ð?ð?ð?Èï?@âí?ð?ð?ð?ð?ð?ð?.ï?Àõï?€Qí?Æí?ð?@ˆí?€Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?§ï?€;ï?ð?Ñï?ÀËï? é?€c?x?€à?ïã?Àì?§ï?ï?@þï?ð?€êï?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?Üï?ð?ð?Àfï?xì?ýÃ?€j?Ô¯?nÚ?:Ü?PŸ?¸Ä?dì?€óí?Œì?@Êî?ð?Àúï?Àýî?ð?ð?ð?@aï?Àí?ÀKï?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvê?ÀLî?ÀSí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?À-ì?ð?ð?ð?ð?ð?@ýï?Ùï?ÀÍï?€Àî?€˜ï?€ï?Êï?ð?ð?€ûï?@Çï?ð?ÀÔï?ð?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~ï?ð?ð?ð?ð?ð?ð?Îï?@×í?€úï?Àúï?€ˆï?€6ï?Êï?Àïï?À›î?Àºë?€Þ?€@Ü?À™å?€qï?@3î?€íì?@ í?À·ì?ÚÎ?€þØ?Sà?€Þè?€ï?4ï?€Èï?Eï?@—ë?€ î?ÀÖî?@@ì?î?€qï?ð?€ðî?€íï?@î?øë?À.ê?À~ç?€á×?€÷à?@§ç?@(æ?¥é?í?@µî?€uí?6ì?€tè?Àî?ÀAî?@Jì?À ï?€Üå?@Íç?1ê?¨î?@ï?@šä??ºÛ?Àhï?Mï?"Ñ?|ª?ÆÝ?<¡?x›?Àå?€ ï?ªí?ßâ?OÈ?<§?@?c?€VÖ?:ã?:³?@j?Ʊ?@â?ˆï?/ï?¨ï?Áï?€Ðé?6²?ðŒ?À©à?F²?€~ß?±í?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âî?€7æ?€TÑ?œ´?@À?À?ˆÇ?€Ÿâ?€,æ?@£ì?@ ê?@yî?@‰ï?@Äï?Àaï?ð?ð?ïî?@êï?@üï?ÀËæ?€rî?Ðï?ÀNï?ÀÈï?@:ï?ð?€6î?Dï?ƒí?“ï?µí?Ÿæ?À‘? y?@°ì?ð?À¨î?ÀÌì?@Hí?ÀÉå?ßê?@Ué?ì?Àaå?Eì?Àýì?Ùê?@Öé?†Û?Ö?lç?Xß?5é?À¥í?Àwí?@:í?î?°æ?€ñî?€ùë?í?À®æ?€Û?â?QÖ?Àoí?@¢ë?Àïæ?ð?Ýì?@$ë?€Øî?ð?ð?@ñï?€‰ï?ð?€íï?@ÿï?€1ï?ÀÂí?¤ï?åï?À®ï?€†ì?ð?@äï?ð?€êï?Àsï?@£ï?€Ëï?@“î?×í?Ùì?Àë?€hî?Õï?ð?€ðï?ð?ð?ð?ð?ÀÑï?ð?ð?ð?ð?ÀWî?ð?ð?@°ï?ð?€ôï?ð?Àï?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?Õï?€üî?€%í?@¢ë?€Ðî?ð?éï?+ï?À”í?@Æî?Àþî?€é?êæ?öì?@ë?7à?€?è?€5ï?€1ì?@‰é?*î?ÀLí?€ë?ÀÝê?@ î?€Ñî?À"ï?@’î?Àíë?„ï?ð?ÀBï?@#î?ð?@äï?®ï?Ÿï?€ší?@0í?ð?ð?ð?ð?ð?€¢ï?2ï?ð?ð?ð?ð?À«ì?ð?ð?ð?ÀËï?ÀÏî?€"î?µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?Àëï?Àóï?ð?@÷ë?Hê?À?è?î?ð?ð?ð?ð?€ßï?ð?ð?ð?ð?€ßï?@®ï?€ôï?@¼ï?ÀÝï?Æï?ð?@˜ï?@ªï?ð?ð?Àßï?ð?ð?ð?€Ùï?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?@äï?ð?ð?ð?€nè?@ï?@,ï?Îï?üï?ð?€ôï?€òï?Àîï?Àqï?Œî?ð?@ºî?€øí?ð?ð?@Úï?€»î?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?À¿ï?ð?ð?ð?žî?€Ãî?À1î?Àjï?À“ï?€ ï?@°ï?€Áî?@}ï?ð?ð?ð?@ÿï?@âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?Äï?ð?ð?ð?ð?^à?·Ó?ð?ð?ìï?ð?@ïï?@vï?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?€dÖ?X ?€b?°ˆ?À¸ç?€ýê?À9í?€Üë?€Åî?€ï?À³ï?ÀMí?@‰ï?ð?ð?ðï?@Fë?€Vî?ð?ð?ð?ð?Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›ï?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ìï?ð?ð?ð?ð?ð?ð?øï?ÀOï?Öï?€ªî?€0î?ð?ð?ÀÄï?@xï?^ï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?÷î?Èï?ð?”ï?@Óï?€$ï?@Gï?5é?@°ï?ð?@9î?À¢ï?€î?@Zï?Àpî?¥ë?ä¯?‡?ƒÜ?Àrï?@Zí?€¬é?€mÑ?IØ?Kê?Àï?@»î?ÀŠì? ê?À°í?íì?€ƒì?Àî?€ï?@õï?@ðí?€¥ï?ð?@úï?@äî?Àœî?Àé?7é?€µä?Àyå?@>í?qí?oê?À7å?€ í?ì?4ì?Àì?!é?@Rî?@ê?ÀÄí?Àêê?@`á?òç?Àí?€üë?€îê?TÍ?ˆ“?n³?ìÐ?&Í?@!à?ð?ŒÓ?KÈ?ÀÓï?€ºï?@Úï?@›ï?@Pî?€aí?ÀEê?@è?Îï?ð?@àç?ÐÆ?¤Ã?íÖ?€“ã?@®í?€êï?@æ?P“?F×?À è?ÀGï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‹Ó?p¹?€Ôç?|Ê?õÍ?€ä?ÀVç?@-è?Žì?ÀÇî?Àï?ï?Tî?€žî?Àèï?€«ï?€Èï?€ôï?@Úï?†é?€^î?@Éï?€éï?ð?€Åï?€åí?Àôí?Íï?@©í?€Kî?€Îé?øì?@¸?L«?ì?@}ï?ùï?çí?€î?ê?@·ê?@‚ë?ÀZí?ã?€)í?{å?À„ä?@Zí?<ì?Šé?@êã?€<å?Šß?€šç?À<î?@&å?Cî?ÀQï?€Ûï?Àzê?ä?Àî?Àé?€ëÒ?&Î?Ä®?Àê?À‚î?@Qï?€õï?@ï?fì?ÀÄï?6ï?ï?®ï?ð?€õï?€¼ï?ð?ð?­í?ð?ð?ð?€õï?À¹ì?!ï?ÀÇï?ð?ð?À©ï?Àôï?€éï?€=í?À·ï?€ï?ìï?@íí?™í?À[ï?€2ï?@Æî?@8î?ï?Àúï?ð?ð?€àï?ºî?€î?€Öï?Nï?îï?ð?ÀLï?€óï?@1ï?ð?€ºï?öï?ð?ð?ð?@Þï?ð?€éï?ð?ð?ð?ð?ð?ð?ð?@1ï?Àõí?€€ì?ð?@Mï?ð?ÀÀï?Öï?ð?€&ï?@0ç?@Èæ?Àáì?¸ì?€ñÝ?™á?À\î?Àéë?À‹ì?@;î?çë?@è?À í?Jì?@?ï?€éï?ð?æï?ð?Àî?ð?@ÿî?€‡ï?Àìï?“í?@pï?€áï?Sí?eï?À‰ï?ð?ð?ð?Àwï?¸ì?@jî?ð?ð?ð?ð? í?Àlî?@ºï?ð?ð?Pî?ð?@¢ï?€µî?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßí?né?Žï?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹ï?€Àï?Àúï?ð?ð?ð?ð?ð?ð?ð?€£î?Áî?ð?ð?ð?ð?@Þï?Àï?À¾ï?ð?@´ï?€÷ï?ð?ð?ð?ð?ð?À¯í?€¼ì?ð?ð?@ïï?€úï?ÀËï?@÷ï?ð?À@ï?Oï?Ààï?ð?€Tí?@Êî?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?Àßï?ð?ð?yï?Íï?@æï?ÀÍï?ð?@‰ï?€ºï?€´ï?€Eï?ð?€Ÿï?@lî?@&ï?€Õï?ð?ð?ð?ð?@èî?€<î?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?€Ñê?ç?¯ï?@8è?@Íï?ð?íï?Àèï?ð?ÀÛì?ð‘?@Ñé?ð?ð?ð?@“ï?ÿî?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?Àýï?ï?€ë?`Õ?`?@(æ?eï?Àòí?pï?€)ï?@í?{í?À\í?@ùí?€ôï?À©í?@Yì?–í?À.î?À5ï?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†í?Ïì?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•ï?ð?ð?ð?ð?ð?ð?ð?€ûï?@ùï?@Éï?Àûï?Àóï?ð?€õï?ð?ð?ð?€ûï?îï?Àôï?@ïï?@êí?€sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ì?@ ï?Àûï?àî?î?@<ï?ð?ï?Àpï?€êï?Ìï?ð?Ànï?€<ï?€ðï?ºí?cï?€þî?À0ï?Àà?Àd?°Ó?Ê?€«Ü?€Ö? ç?:ï?€¹ì?ýî?@Ùë?@òä?€.í?€åì?@[ì?î?ÀÐï?€êî?ÀŒî?Pï?À¦ï?€Øï?À„ï?€éï?Ðï?_ç?À“è?ç?À^í?’ë?€+ì?€¨î?§í?€Áí?€Ëî?@óì?€Òë?À´è?aî?@ì?ÀÚè?è?€°é?@³î?@àì?@åë?@Ræ?´Ñ?àp?€ë?À3î?|£?ì®?@í?@“ï?@‘ï?@æî?@Ìï?€7ï?@êï?€ï?@aî?ð?€ýï?ùî?1Ø?øŸ?€P?|´?€»Ü?€¥å?0˜?ÅÂ? ¡?I?€ìØ?€9ã?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ÀPã?0¢?ZÎ?€mÐ?€kë?€ýë?Äë?À÷î?åï?Àäï?@ ï?ÀÚï?À›î?Àèï?Àtï?@ÿï?ÀÙï?@{î?Àúï?€?ï?Øï?î?@šï?£ï?ÀÜï?À ï?­î?@ÿî?Àúì?Àì?÷ç?Ã?á?€qì?€{î?öë?€cë?Àøä?@ì?@Äê?@Çê?éß?@õã?€ Þ?åæ?À:ë?bè?>ã?üÕ?‘Þ?À ê?€ïé?€Áè?Ëå?@Aî?€ï?Àiî?À›é?Àví?€|ï?À2í?®Ë?B?<Û?@Þï?ð?sï?À‹î?@ ì?ð?ð?¸ï?€šî?àï?@eî?@Þï?ð?Ìï?@óí?ð?ð?ð?ð?õï?;ì?Äî?@nï?ð?€Hï?À~ï?€Øì?À|ï?Àï?ð?ð?€‹ï?€Íë?€Åí?À·î?€þï?@óï?€ï?eî?@•ï?@Æï?Àï?ð?@”ï?@Ãï?@vï?À¦î?ï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?Àáï?Àëï?ð?ð?ð?ð?ð?ð?@³î?€Sï?@ˆë?€­î?€þï?À¼ï?€Vî?€éî?ð?Àúï?@uï?Sé?À4í?Àží?vê?à?î?À!ï?€Æî?€ºí?9î?"ï?€éï?ýï?ð?ð?ð?ð?hï?€¿î?€éï?@î?@ïï?€ßï?ÀÔì?@Mî?€±í?€ºï?@ßî?€„ï?€Øï?ð?ð?À«ï?{ï?…ë?ð?ð?ð?@Þï?Ñï?€Më?À—í?jí?€íí?À3í?ð?ð?ûï?€×î?ð?ð?ð?ð?ð?ð?@ï?ð?@„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ÀÛï?@þï?ð?ð?ð?@Þï?@þï?@þï?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?¶ï?åï?€úï?€ÿï?ð?ð?ð?ð?@Èï?€Ãé?Óï?ð?@Þï?ð?Êï?Àýï?ð?€¯ï?ºî?ð?ð?Àï?À”é?@‘î?ôï?ð?ð?ð?ð?À[ï?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ï?@Uî?€öï?ð?ð?@†ï?ð?Àýï?@·î?Ùî?€úï?ð?€éï?ð?ð?ð?ßï?À ï?ð?ð?ð?ð?@Þï?ð?ð?ð?@Eë?~Ô?€FÔ?*´? Œ?hª?yß?ZÃ?@²ï?ð?Àþï?@þï?€ôê?»å?ƒÇ?ư?À¼ì?ð?@üï?@Žï?@†í?ÀSï?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µï?€¶à?ŽÆ?¸?´×?€“í?€ôì?€.î?À˜ï?mî?€%ï?·ï?ÿï?@[ì?¥í?Aî?À ê?@çí?Àøï?ð?ð?ð?ð?ð?À’ï?À¾ï?Àôï?ð?@wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?@¢î?€î?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yï?ð?ð?ð?ð?ð?€Àï?ð?ÀÎï?€²ï?ð?€þï?€ûï?€^î?@Õï?ëï?ð?ð?ð?ð?ð?ð?Àþï?€ôï?ÀQï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?Àáí?ð?ð?@ìî?ÀJï?@Žï?ð?ð?±ï?@üï?ð?ð?èï?yî?äî?Dî?3è?3Ø?yÈ?à~?sÙ?€Ÿã?`ã?@äí?€Ýí?€ðé?˜é?Úà?@á?Àê?ÀÔé?€Zé?¶ç?@ÿê?@¸ï?@(ï?À§ï?@+î?€î?@ÿï?@íï?€®î?€ë?À×ê?Àžâ?üç?ì?Àì?Àî?@3é?Rë?À¾ë?ÀÖí?+ë?}à?@œê?€~î?)ë?í?€:é?€ì?@+í?@Yì?@ˆâ?D§?€ Ô?À\ã??н?°ª?€HÚ?À.é?ñï?ð?ð?ð?@©ê?@#î?ßï?ð?ð?€üï?À;î?@'ä?8“?I?›?€RÒ?À5å?€Öç?Žç?€|ê?ÀÛç?À¹ï?€ñî?€bí?€ì?sî?@Åï?@î?@}í?À…ï?À×ï?¸ï?@ñí?À7ï?@µî?€ï?ÀPê?ÀÊî?@ í?áì?€+ï?€í?À‰á?„®?‡ë?€Jë?@ë?ð?žî?ÀFî?€‘é?@óí?ùì?Àé?@{ê?£æ?€{ì?À{ê?Àøæ?äè?À€î?€Ií?@í?€ÝÙ?€]?"¹?@Kï?@Þï?@Þî?@æí?„ë?@µé?€Åà?<Ñ?À?ë?ð?À˜î?@oï?ð?Ñï?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?0ï?ð?ð?ð?ð?ëï?wî?€Kï?ð?ð?ð?ð?@vï?Àçï?ð?Óí?Àîï?€ªï?åï?ð?Àâï?ÀÇï?ï?ð?ð?ð?ð?€aï?ëï?€éï?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?ð?Üî?€­ï?eî?î?ÀÇï?Àµï?@ôí?@xê?@ðï?À î?@Íì?€1í?@àï?@ï?Àõî?@‡ï?€“ï?Qï?Ëí?@*í?Àóê?Ìì?€Tï?€ãî?Àí?€Dë?(ë?zë?€³ë?€í?ƒí?€àì?·í? í?{ì?€¿î?ð?í?ð?±ï?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€/ï?@)î?ð?ð?@Íï?¼ï?@Çï?@ðê?ð?ð?ð?ùï?À¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ÀÆë?@ýé?ÀBê?À¿ê?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’î?@×ï?ð?ð?ð?ð?ð?@í?ð?ð?ÀØï?ð?ð?ð?ð?ð?À¥ï?ð?ð?€æï?ð?ð?@Ñï?@Þï?€ˆï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?€òï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?Qâ?@q?~³?€Aã?€˜ï?1é?ΰ?x?@~ê?@óî?ÀÌï?ð?ð?ð?ð?Àïî?Êï?ð?ð?ð?ð?ð?ð?ëï?ƒï?Àõï?À ï?€‰Ø?:Æ? Ø?Ôì?@|ì?€‡æ?€=ë?À>ê?å?€Æí?€‰î?@cí?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾î?ð?€‰í?ð?…ï?ð?ð?À ì?€§Ù?±?EÉ?€MÝ?€nì?€áï?À›í?Æã?€‹é?€:ê?eå?ÀËì?ð?ïï?@£ì?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ié?Àôï?Ÿï?Õï?@Aï?À ï?@hï?ð?@}ê?éï?Àãï?ð?@üì?ð?@¯ï?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?Ànï?ð?€úï?ÀÀï?·ï?ð?ð?ïï?@Lê?@Yë?:æ?rá?C?p’?ãÇ?JÔ?@Ëî?ïí?@Aï?î?@[î?@Åí?ë?@ä?è?@Wë?Àî?@§í?Wê?Ší?@kì?(ï?Iî?€ºï?&ï?Àî?@î?Àßï?ð?ÀPï?€Ví?@Áë?€Äê?@èã?€½ê?€†ì?€5î?€®æ?€ì?@±ê?€Kê?Àùè?€gë?€Lí?@Œê?@ñì?@bî?À‡î?ÀFê?ÏÊ?€R?@÷á?À‹ï?@ªï?âì?ÀÊì?@Qé?€;î?@€î?Ké?À¹é?@gí?€)ï?åî?{ï?;î?Àrê?€ß?KÚ?¤É?n±?˜¨?€ÊÚ?*ë?Àî?Iî?€‚ä?@­â?@¸ã?@öï?ð?ð?€Oï?Àaí?9Ý?b?€‹Ð?€è?€8î?0ï?€Tï?Æî?Aî?Àžì?ðî?À“î?€jï?@€ï?@¨î?Àç?€½í?@gï?€…ï?À,ï?€Xî?@Aï?€ì?@äí?€ðá?€xî?ˆì?À;î?@²í?‘è?c?,°?@í?€yï?î?ð?Óï?@€ì?@í?@•ï?@uï?€~ï?@Áí?’î?‡î?€,ï?À]ï?zï?€Œì?@>ê?_ì?8é?ÈË?€gä?@Jï?À-î?€=ï?À­î?@Vî?€¬ì?@Êì?À“ï?Óï?@Hë?Àüï?ð?@ªí?€™î?ÀÈï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?Àöë?ð?@]ï?žï?€éï?ð?@õï?ð?ð?@–ï?€úï?ð?äï?ð?@Ãï?ð?€Pï?ð?ð?ð?ÀÇï?ÀÓï?ð?ð?ð?ð?ð?@ïï?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ð?4î?À‹î?ä?>ë?@Êì?€Éï?@Èï?€nî?@˜è?€"í?^í?À í?ˆî?€Sï?À{ï?çî?@Úï?À°ï?Ýï?ºï?âï?Àöí?ð?ð?ð?ÀÏï?@$ï?@ë?ôë?€cï?€ðï?@âï?€Õï?@Úï?€úï?ð?ð?@ëï?ð?ð?ð?ð?ð?ð?ð?ÀÛï?ð?ð?ð?ð?ð?ð?ð?öï?@Ìï?@õï?ÀOî?Çí?ð?ð?€ùï?€‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?`ï?@–í?@;í?ð?ð?ð?ð?Àqï?nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?Àmë?@@ë?@qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?@hï?ð?ð?ð?ð?ð?Àtî?€Òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlï?@ýï?@±ï?ð?Rï?ÀÛï?àï?ð?ð?ð?ð?ð?ð?ð?ÀÖï?€Iï?†ï?ð?@bï?ð?ð?ð?ÀÇï?ð?ð?ð?ÀÖï?ð?ð?ð?ð?ð?ð?ð?À½î?X“?€?€‰Ó?Àë? ³?À¸?hÙ?ÀÀê?ð?ð?ð?ð?ð?ð?ð?€ðï?@ï?ð?ð?ð?ð?ð?ð?ð?Ní?ïÓ?à‚?:Å?@;è?ûÛ?hÖ?@Ñç?ÀNí?­æ?ôí?€¼ë?¹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ï?ð? î?ð?ð?Àýï?Àï?Ï?®Ï?@ë?@äî?¡î?ë?€Dí?À¬ä?€ª×?æÄ?þ¶?€ÿÓ?Àlè?€ëï?ð?‡ï?@Wí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?@¸ï?@hï?ð?€êï?€‰ï?Àôï?€Âï?íï?À†ï?Àôï?@Âï?@õï?ð?ð?€“ï?ð?@±ï?ð?ð?ð?€@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ôí?@hî?ð?ð?ð?ð?ÀÅï?€Ôï?Àbí?@é?ð?€­ï?Àç?9ã?ÀÈå?@Ií?€Þï?ð?À í?Àèê?@ ï?¾ì?@Óî?À\î?€¯é?€Äé?€Œì?@Ží?€ ï?cê?Àdé?Sê?€*î?í?€ï?€Wï?€}ï?Àèï?@*ê?ÀÝë?©î?ÀÉí?§ë?@Íî?€%å?@Œâ?@—í?Àî?hê?€Iè?À æ?€õé?€×è?@áç?¡í?@‘ì?€ê?À_ï?ÀCï?@Æí?|å?`€? ?pÅ?€iã?€^ì?í?Öë?€ ï?€Èê?€‘é?<í?Àœì?€Ïí?øî?Xï?Àïï?€{ï?À§í?€>í?ï?ÀŸë?€æ?–Ä?ÁØ?À"à?%Ð?uÛ?YÚ?À à?@é?Àæï?@­ï?ð?@Aï?@­ê?ÐÖ?E? ¾?hÈ?‚ã?€ê?€°í?€…î?†í?Áî?€äí?À¬î?ÀÝï?øî?Àï?Žê?@¥î?@"è?‡ï?çí?€ûî?ï?Àsï?Žî?€Cî?wí?@¾î?(ê?@pë?@í?À£ê?À¯ç?CÖ?˜“?ë?À³ì?€?ì?é?Àuî?ð?ð?×ï?ð?ð?ð?Àçï?@£ï?@âî?ð?ð?ð?ð?çï?ð?ð?ð?@Ûï?–é?€œè?@¾î?Àgî?@ëï?ð?Àçï?€óï?ð?ð?ð?Àîï?ð?$ï?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?Àóï?ð?À§ê?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?ð?@Ãï?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?'î?ÀÞï?ð?ð?€tï?@+ï?@%í?Àéí?ð?@ïï?ð?ð?ð?ð?€î?Àí?€¤ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zï?@ê?Šé?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ÀÇï?À´ï?ð?Àýî?€Ïï?Àçï?ð?ð?ð?ð?Îï?ð?ð?ð?€,ï?ð?ð?€Ûï?ÀIï?€7ï?€‰í?ð?@Òî?@ î?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žà?°?À—æ?ð?ð?ð?ð?ð?ð?ð?óï?€´è?€‘Û?ð?€bå?Ì? €?•Ä?@_ï?@í? Æ?Ã?€kÐ?X˜?®Ï?1Ý?sË?€P?€“Ü?€ì?€úä?9à?”î?€Êî?€"æ?€lì?@î?ð?ð?ð?ð?·ï?ÀÃî?€í?ð?ð?ð?ð?ð?ð?ð?ÀOï?ð?ð?€ƒê?Wî?ð?Àøí?€¥ê?±?i?€Þå?¼î?À2ì?À†ï?@³ì?@Ãï? ï?€cê?NÛ?&¼?pÅ?ÐÙ?€¿×?†µ?MÝ?Ù?À©í?À:ì?€{î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?@Ñî?À‚í?ð?ÀŸê?À¥ï?@·ï?@Óï?À¼ï?@Žë?Àîï?î?@]î?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?±ï?ð?ð?ð?ð?€ýî?€8ë?€bï?'î?ð?ð?À1î?ð?ð?@üí?„ë?€ºï?Àóï?€ßï?ð?Àáï?Ìì?@Tí?ð?ð?ð?ð?€ôë?ð?€Œï?€1î?@ÿë?¤î?!é?ñë?€áí?ìì?À0í?[ë?€#ì?Àè?@7ë?­ï?€Þï?À?î?€ ì?€mï?@xí?ð?ÀŠï?<î?Ïç?ßÙ?@½ï?ð?€¼ï?‹í?Kæ?€ßÚ?@öë?î?Jï?@Aï?ÀŠë?€Bé?xî?@Nî?€ì?@Èí?ÿí?’¿?PŽ?Àá?À}í?@&î?@Éì?€Nì?€8æ?_ì?€9ê?€ê?À÷é?@Ÿë?ð?€’ï?ð?@Jï?À©ï?€Íí?@|ë?@]ï?ÑÂ?ÀÙâ?€XÞ?ì®?€×?Ð…?€EÑ?¯ã?kì?@#î?@ƒï?À¾æ?x–?’¾?Ý?Àƒ?¶?Ñ?wá?@%è?@¨ê?@Éî?€ùë?@ î?Àì?À’ï?@½ï?üí? ì?@ì?@fï?@6ï?@Aï?€—î?ní?Àî?€äí?ÀQì?ìí?Àêî?@Èê?Òì?€Òí?€ î?@öé?€ ï?À(í?€¾î?ë?€¤Ð?ÍÊ?€ýÝ?¸·?”? Ÿ?Ä?þµ?ÀLá?€´ä?€-ë?@aê?Vë?4æ?Ð?X¡?\¡? •?€S?>?@{?€,Õ?'Ó?@Çç?€ï?@#í?øœ?@ã?Gæ?ÀPã?ð?ð?@÷ï?ð?Ùï?À©ï?€Ðï?ð?Àóï?Ãî?À~í?T¼?€‹Ô?Àî?@ï?À+ï?!ï?ð?À½î?ð?À’ï?ð?@hï?ð?ð?ð?€­ï?@ðï?ð?ð?ð?ð?{ï?@ï?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?ð?€üï?@÷ï?Ÿï?€*î?î?ð?€3í?@Îí?ð?ð?À7î?ð?ð?ð?ð?@úï?ð?ð?@üï?ÀWï?Aì?ð?ì?‹ï?Àçï?Àóï?Àþï?€)ï?€yí?@Lî?À¯í?ÀVî?uï?€¯î?Àaï?"è?€~í?2ë?]ê?¹í?ð?ð?À·î?úï?@sï?€€ï?@Vï?ÀÄï?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?€õï?@&î?@ëè?€î?jî?Àaï?ð?ð?ð?ð?ð?€ ï?À>ï?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?@Éé?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀUï?Îî?Àíï?€†ï?@üï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ùï?ð?$î?@ªî?Àóï?@ï?ÀÃî?@tï?@…î?€­ï?€þë?À¨ï?ð?ð?ð?@üï?€ýï?€•î?€’ï?@8î?€Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?€Ùì?€Öí?@=ï?ð?ð?ð?ð?ð?€Ûï?ð?ð?À#î?€Wï?€ í?€î?À²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?#î?ð?ð?ð?@·ï?@×î?ìí?ÀLí?ð?@Qî?@ßí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?€¸â?E?àÌ?Dî?ð?ð?ð?Gï?èî?À’ê?í?€ëØ?(‘?€ ß?€>ç?`„?€&â?€Üá?@n?À?@Fé?€Åî?ð?€lê?ÂÏ?€”ê?@Áæ?€¿í?ÿí?@aã?À\ë?ð?ð?ð?Àçï?ð?€†ï?€¢í?À°ê?õï?ð?ð?ð?ð?ð?ð?€Cï?¥ï?@œé?€Ñì?úï?ð?@Öì?rÉ?4È?@Hí?¹ä?ð?ð?@Çí?€£î?Àüï?À¬å?Ñ?Ë?™Í?ð–?@j?à˜?YÍ?­â?À"î?À/ì?€áè?€ê?@0ï?€îî?@ßë?ð?ð?ð?Òï?ð?ð?ð?À×ï?ÀNï?ð?ôï?@Fí?À5ï?ð?@$ì?€®ì?ë?4ï?ð?@wì?@–ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?>ï?ð?ð?ð?ð?ð?ð?ð?Àçï?@Ãï?úï?ð?@½ï?€áï?ð?ð?€Ûï?Àùî?@êî?öï?@Xï?@öï?ð?€ðï?ï?ð?—ë?À±î?@€ì?@Ïï?ð?ð?ð?Àbï?€$í?@Õï?Àï?À«î?Ìî?ï?@8ì?ÀÐî?Àï?€`î?^î?€Îí?€¾é?€)í?€1í?@Yë?@Ãï?@î?üé?@î?úï?=ï?“ï?ðí?Ó?@ï?ð?@Îï?Àìï?À¤ì?@)ë?ÀÀé?î?€žï?+ï?€²î?ÀÇî?¶î?Àÿí?@Ïì?€î?Àë?$¡?€\Ø?€µç?€Sî?•ë?@ë?Àhå?€‰í?@Žì?@–í?Ré?€í?ÀÒï? ï?ôï?oï?@Kî?´í?ÀWï?@!î?€gÒ?)À?€_?€Ã×?ç?h‘?r½?@ã?Àí?@rç?À“í?À*ë?ø¡?À†?´¿?Ò?\¬?@žà? ß?Àî?ùî?˜í?Àí?Tì?€í?€Tí?€Æî?€Qï?€ñí?Æé?€àê?Ÿë?À/î?@Ðí?ÀÃí?@ì?ÀHì?€Åí?€øì?À®í?@Ñí?À‘í?Ýë?@î?Žï?€²ï?€™ï?ï?ÀUë?€eç?а?À›?xž?p‘?„­?»Ê?¼Û?xÐ?k?ø”?àp?…?ð—?XŸ?â?@Áã?ç×?À£î?€½î?/á?€tì?ð?€çï?ð?nï?ð?€zï?@‰ï?¶í?ð?ð?ð?€Ûï?@6ì?ï?ë?€ë?èî?€Èî?úï?ð?@zï?ð?À1ï?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?@Éï?ð?ÀÔï?ð?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šî?@ï?ð?ð?ð?ð?ð?ð?@hï?·ï?ð?ð?€ßï?¿ï?€‘î?nï?€Bï?Àiï?ð?ð?@ï?¡î?ÀÐï?@Dï?@è?ˆì?@ï?í?6ì?€¶è?€î?)ç?Àêì?Àeí?ð?€Fï?€dï?ð?€iï?±ï?ð?€Ûï?Àçï?ð?ð?ð?ð?ð?@Ãï?ð?ð?Àçï?ð?éï?À7ï?@ë?@tì?@%ï?@ôî?€aï?hï?À‹ï?Àï?4î?ÀÔï?€Õï?ð?ð?À€í?«ï?ð?ð?Ãï?ð?@·ï?Àóï?ð?€%ï?ð?Àçï?@2î?Àóï?èë?Æì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?€ßï?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?@¬ï?€Æî?ÀYî?ð?ï?€žï?ð?ð?ð?ð?€Bï?ÀÎì?@ƒî?@Œï?@3í?@ÿî?€{í?…î?oí?@Òî?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?À'í?€úï?€oï?‹î?ð?ð?ð?ð?ð?ð?@jï?˜ï?@ï?ð?ð?ð?ð?Àóï?ð?ð?ð?Àçï?€’ï?€Ïï?ð?ð?@œî?@ï?ð?ð?ð?ð?ð?ð?€Fî?âí?Àðï?€˜ï?ð?ð?ð?ð?ð?ð?úï?€hï?ð?€Œï?åï?@bë?>»?'Î?@©ï?ð?ð?ð?€íí?Ð?f¾?˜«?Fç?@`?€˜â?±?¸ž?°É?3Å?@ûå?@ì?@Dä?° ?Ü?€‚ê?€ æ?€·ß?ä¿?€Aá?ð?ð?ð?ð?hï?@tï?Àí?Tè?ÀKê?ð?ð?ð?ð?ð?ð?ð?“ï?@3ï?²ï?ð?€$î?@æ?Ü­?€Qç?Àóï?Àíï?ð?ƒï?Àñà?Î? Ø?€¾?áÓ?áÞ?<²?P­?z·?\§?ëÑ?€må?ð?Àíï?À{î?€Èä?Bë?€áï?ð?ð?ð?ð?Àíï?Àoï?€&ï?ð?@_î?@pì?úê?:ë?Àžï?À>ì?€ê?Æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?€eî?€Üí?ð?ð?ð?Àóï?ð?@hï?ð?ð?Vï?À9î?Àî?€)ï?ÀÔí?Âî?Àçï?Àƒï?ð?ð?ð?@×î?€8ï?ð?ð?ð?Àóï?ð?€¼í?£ë?€¦ï?Vï?À™î?€&í?@­ë?¶æ?ë?ÀÜê?±í? î?@Âë?€çì?@­â?ÀCë?@ í?€êî?@‡ë?À>ì?·ï?Àíï?Dí?@Ùé?î?ð?ÀÂï?@í?Šì?À§ç?Àäì?åï?@ùì?«ï?Àwë?½î?@uì?hë?Àì?Þí?@î?@dê?F?|¦? ¶?±í?€Rî?Àðì?@’î?Àë?Àóì?î?€›ë?@bè?À¼î?@ ï?ð?@Ïï?Àˆï?·ï?ÀMí?@2ë?Àé?yÍ?P—?€à?€~ê?Í?g?¼¦?uÌ?€}ä?À·ä?€SÔ?p·?$·?mÕ?À â?€†ë?@Yí?€Þì?€®î?€ì?¡î?ï?î?ð?×í?@ºæ?—í?Àvë?@Uì?€î?€cè?€Zì?€ûè?Àõë?‹ê?ÀÐè?À:í?€î?@aí?@Yï?Àêî?€ï?À€è?À{î?€ î?¢á?¯? s?€n?0œ?þ¶?ð—?†Á?@ãâ?"ë?Àbï?ð?ð?îï?€>ï?ð?@«ï?€Ûï?@Ÿï?€Œï?Àíï?ð?ð?@¾ï?€&ï?ð?ð?ð?À…ï?ð?ôï?€ ï?§è?ÀPë?"è?@:æ?€=ï?ð?ð?ð?ð?ð?Pï?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?:í?ð?ð?ð?ð?ð?ð?ð?Àzï?ð?ð?ð?ð?Àíï?ÀQî?À¢ï?ð?ð?ð?ð?Àí?Øí?í?€é?€6î?Àfí?Ðì?Âì?óë?@7ì?@¯ë?À©ì?Iï?@Àì?€Yï?€·í?Ÿï?€Ïï?ÀÏï?ð?Àçï?ð?€Ûï?ÀÙï?ð?ð?ð?Àäï?ÀÎï?ð?ð?ð?ð?ð?@Lë?rï?Àžï?ÀÃï?€¸ï?@·ï?.î?ÀÕï?ð?ð?ð?ð?Àçï?2ï?·ï?ð?€Ïï?€bï?ð?À,í?@ï?ð?ð?ð?ð?À’ï?ð?ð?À¤ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?À’ï?ð?-î?ð?ð?ð?€ï?Ëí?¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6î?€ì?ð?@Éï?.î?ÀÛï?ÀVï?ð?€Ûï?ÀHï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À}ï?ªí?ÀÕï?ð?úï?Àí?ð?ð?ð?ð?ð?@Gî?@ªî?@Ñî?Àáï?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?Àwï?@‚î?ð?ð?ð?@íî?À±î?@9í?Àÿí?À5í?@½í?€Éå?Í?€ÄÜ?@ñê?ð?Àï?Þï?Àíï?ð?ð?îï? î?ÀÄã?^Ç?€$í?ð?ð?ð?ð?Àvä?`p? Œ?ƒ?<²?ƒ?´±?@™?³?Oï?ð?ð?€1ï?ð?ÀÛî?ÀFï?è?rï?ð?ð?ð?ð?ð?ÀÆî?@–é?€Râ?×?nå?îí?ä?`À?wã?ÀÁá?Àï?@sí?€äâ?¼µ?¬? y? p? ›?€ÁÔ?€çÝ?n¼?€wÜ?@ôê?Àáï?ð?ð?€Ûï?¼ï?@Âï?ýï?€Éï?ð?ð?Àgî?@Yê?@»é?€+ï?ÀPï?Àºï?@èì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ î?@²ì?@<î?ôï?ð?ð?ð?ð?Àóï?ð?Àï?ð?ð?Àì?èß?€Jî?€Éï?ð?ð?ð?ð?ð?ð?ð?ÀÛï?¬î?õï?@¾ï?ð?ð?ð?Àzï?€7ï?€úï?@dí?ºî?®é?@#á?@æ?@î?€sî?@"í?À.ë?@Üè?À_ì?€ï? ï?@;ï?À7ï?Àˆï?«ï?™ï?@ìî?ÀÇë?Àzï?ð?@:î?@•î?@‹í?@[ê?@Aï?ôï?@·ï?€Ïï?€Pí?Šì?€Gï?€õì?@ í?€iî? ë?ÀŸë?P‹?’?Ø“?ÅÚ?€2î?¹ì?€Iï?Àí?ë?1ç?€Àë?€8ì?÷é?@]ë?Zî?±ï?@î?,í?€Bï?—í?ÀÛï?€Ãï?ÀÇà?¼Ø?¬ë?@Hî?wÛ?@Ž?¸”?ô ?\?@œä?€zå?Àè?ÀÑì?@.í?wï?@)î?Àýì?À³î?@î?@:î?€€ï?€1ß?é?À3í?€ûë?ãì?À¡è?€Dè?ÀVí?À0ê?@Kê?@“ì?€Ðí?@Mî?ôî?@é?Ñà?á?€ãÛ?€­è?@«á?»?€e?J¼?€~Ù?@§ä?@îå?Êî?€Úí?€æ?ÐÕ?pÓ?€/Ô?€Fï?áï?ð?ð?ð?ð?ð?Àíï?€üï?µï?Àáï?€€ï?ð?€Ûï?ÀÕï?Àøï?À—ï?Àíï?Àçï?Àáï?€úï?ð?ð?ð?€+í?€ýï?Àâï?Ÿè?Àáï?ð?ð?ð?ð?ð?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?ð?ð?ð?ð?Àæï?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@œê?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À´î?Àžï?Ìï?ð?ð?ð?ð?ð?@òî?€üï?Mî?@î?³î?À¹î?Pí?€Œí?ð?@þï?[ï?ð?ÀÙï?ð?@·ï?€Ïï?ð?ð?ð?ð?€ãï?ÀÏï?ð?À˜ï?À‰ï?€Dï?À£ï?ð?ð?ð?À¢ï?.î?À´ê?€¢ì?@Úí?Àzï?@Ãï?€Õï?€Ûï?ð?€ßï?€áï?ð?@™î?À¤ï?ð?ð?ð?ð?€Ûï?@îï?ð?€½ï?‹ï?@{ï?€Éï?ð?ð?ð?€½í?À@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?€üï?Àçï?Àìï?€Sí?ÀÓï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øí?€ÿî?ð?ð?ð?@2î?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?€Gí?ð?ð?ð?ð?ÀÄí?Àî?@ î?@7ï?ÀOï?€ôî?€Ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?€ní?€üé?@ºé?ÀÑë?€}é?@è?€ ê?€™ë?@õå?@¸î?À‚î?ÀÄì?@ë?ÀQå?ÔË?|§?•Ò?ˆ¢?@Âà?úï?ð?ð?ð?€üï?ðã?@Âá?€7Õ?€×?†ï?ð?ð?ð?ð?ð?€Õ?>?p–?@Ñé?ð?ð?•ï?€áï?€™ï?@'î?Àøç?@žï?ð?ð?ð?ð?Àóï?ñØ?ü²?€¢Ð?€…æ?@í?€¶Û?œ°?`‹?€Û?@ì?€í?€™Ó?Ð’?,?Pˆ?p‘?€0â?î?ð?ð?ð?ð?€Öï?€Äï?ð?Ôï?@,î?ð?À¸ï?@ñë?Àÿä?ð?ð?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ð?ð?ð?ð?ð?ð?ð?À›ï?@hï?Àóï?Àçï?ð?€Ëî?€Hî?@ï?€Õï?Àçï?ÀÓï?€hï?@’ï?@Ðî?Àwì?¢Ä?ˆÃ?€Çß?$ß?Àkä?@7ê?@Ìí?ì?“ï?€Óï?@Éï?€Õï?@Ãï?€³ï?Àî?"î?€Ÿï?@ï?@ðï?@$ï?Àï?Àóî?@Ÿì?€±ê?Àóï?ð?€³ï?ÀOï?ÀÉï?@zî?@gï?Àóï?…í?@+î?@Ëë?@,ç?ˆ¢?w?Y?V¹?^è?€î?À¡ê?ï?Àî?@sì?Àâî?À@æ?€¶å?Àë?€Qî?Pï?ÀŒï?À¤ì?ÀÞï?ûï?@Úï?Aï?ð?ÛÐ?F?€,Ô?cí?@Tï?šç?×Ó?ë?ð?ð?ð?Àçï?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?Àêï?ð?ð?ð?@óï?ð?ð?ð?ð?é?À³ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?À6ï?€þê?@Hì?€˜í?^î?@Fí?@óï?Àæï?ð?ï?€Úï?@Åï?€7ï?Àíï?€Íï?ð?ð?ð?ð?Àçï?@Õï?ð?Àçï?@¬î?ð?ÀÜï?Àçï?ð?€Ûï?€¢î?kï?9ï?@¤î?À•é?@–ì?@Ãí?€Õï?ð?Àçï?Àî?€ëï?€Ûï?Àíï?Àçï?½ï?Vï?@óï?@Äï?…ï?ð?Àçï?ð?@†ï?@“ï?€Ûï?ð?ð?@Éï?ð?@Oì?€’ï?@Þï?ð?ð?ëï?@¦î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?À"ï?@î?@ í?À?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAî?@—î?ð?ð?@·ï?@.í?À‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?€»í?Ñî?ð?ð?ð?ð?ÀÃí?Qî?ð?ð?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?€“å?€eÑ?"°??€¿Ñ?€Šà?¬?€8Ó?Ĺ?&¼?€·Ù?ø¥?@i?Ø?®À?qÜ?€†ï?ð?Àxé?€hè?Àï?À*è?æ?@n?€WÑ?@Äî?Àçï?@óï?€âï?ð?€†ï?€ßì?×É?A?Å?Î?ëï?Àíï?ð?„ï?€ï?ÀÑï?@ï?@=ê?À²ï?ð?ð?Àçï?ð?€Õï?€–ë?ˆæ?ƒï?€·ï?À"â?A?h­?þ»?@µç?@à?¼Î?Àm?}Ç?€$ç?À ï?ð?@hï?ð?ð?ð?@ˆï?€Ýä?€ï?ð?@Rí?€—ã?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?€%ï?ð?ð?ð?ð?ð?ð?€Ïï?ð?ôï?ð?@gï?ÀFï?€Õï?À&ï?ð?¥ï?€Íï?€Þî?@ïï?vï?Àóï?Àûï?{ï?@ï?sì?.Ñ? †?p‰?.°?_Ù?€èæ?=å?@è?@Bé?Fï?€ æ?@ ä?€Ìï?€Ýî?èé?@Jç?€oî?Àçï?À$ï?@oï?€Ûï?€Gï?ð?€ï?€·ï?Àçï?€àí?ÀÀî?€Ìï?ð?Àï?€¢î?@ùì?@–ë?óë?ÀÈé?Ð?€|?0‹?À`?€9à?@$ï?€–ï? ï?@Kï?€Zí?Àì?Àzé?@$ï?À ï?€rë?À†ì?€©ï?€âï?€ñì?@aî?¥ï?À¯ï?Fï?Jî?€úç?LÂ?¢±?À,ã?€%ï?iï?@±ë?€Læ?¢´?”?j½?X˜?>?©?ÍÒ?µé?À{î?@}î?†ï?ûë?À·ë?@‚î?)ì?@ä?€RÞ?\§?«?€tä?@Âë?=é?Àxê?€‘Õ?DÍ?@”à?bí?~î?fí?ìé?€õì?Éé?‹ç?ÀÇç?@¼ä?FÂ?©?€3Ù?•Ë?YÎ?@üí?ð?ð?ð?ð?ð?€þï?ð?®è?€bá?@Zî?ð?Àlí?@Éï?€žï?€î?@í?€þî?ð?€nï?ð?À¤ï?Àçï?ð?@5ï?@Éï?À±ï?ð?@üï?€Ûï?óï?Àåî?À î?À?ë?ŒÝ?€í?ð?ð?ð?Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?€¿ï?ëï?@èï?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?Qí?@Öâ?@xî?ð?ð?€ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Cï?ÀPï?ð?€Ûï?ð?ð?ð?Àßî?ê?€fê?£î?€Òï?€Êì?ð?Àôï?Àçï?Àáï?@¸ï?Àçï?ð?ð?€éï?Àýï?ð?ð?ð?Àíï?ð?ð?€Õï?Àíï?ð?ð?ð?@tï?ð?ð?¡ï?ð?ð?€¿í?€uì?Àvé?dí?€øï?øï?Àõï?›ï?€ƒï?ð?ð?½ï?ð?@âï?@ªï?@Cï?€Ûï?·ï?Àçï?€×ï?€øï?ð?ð?ð?ð?ð?€Üï?@Nê?€xï?À˜ï?@¢ï?Íî?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkï?ð?ð?ð?ð?ð?À:ï?@ýé?À×é?ë?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Áî?€ï?€¯î?õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvî?Àií?@–î?ð?ð?ð?ð?ð?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dï?@eí?ÀÝì?ÀÕî?ð?ð?ð?ð?ð?ï?€Ví?À¨î?ð?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?aÞ?l?Àb?^?l?Þ´?’µ?€ÓÞ?Àï?@‘ê?€ÿã?%å?ü·?H ?Ë?à|?ü¥?Àöí?ð?ð?Êï?€Îï?ð?ð?Àcã?˜œ?òµ?Àƒæ?@Dé?–?€Åä?ð?ÀÈî? â?@³ï?€Ûì?€mî?@/î?€é?€kî?ð?€åí?À†ï?ð?ð?@Ié?€.ï?ð?é?@úâ?@¾?àv?P£?øœ?t?@w?€…Ó?ûí?ð??ì?òë?@¢ê?€Þï?ã?@lí?úï?ð?8ï?Àøï?1ï?ð?ð?ð?ð?€Ïï?€ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀOï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ë?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?@=ë?€gî?@‰ì?úï?Àóï?Àçï?@uï?Àßï?@±ï?Àï?@Rï?€ÿë?´?ƒÐ?dä?À•ê?@ ê?@òë?@ï?€}ì?€í?€-ë?€ ê?Àé?Mí?¥ì?À;î?™í?Àîë?@Êë?Àúî?€µì?ì?€ ï?À³ï?3ì?œí?@í?€ãï?@~ï?@Ãï?€pï?šï?ð?ð?@Jë?_î?Ýî?@]í?æë?è»?À‰?€P?€CÔ?Àï?@Tï?€ôî?@vï?ÀSï?€¬î?ÀÃê?€'î?€hî?@&ê?Àté?À®î?Rí?€Ïì?@…ê?€aì?ð?@æï?ï?@øì?^ç?€Ò?€?âÈ?@¯ç?€6ï?ûî?âê?,â?|Ô?C?‹Ø?¡Ð?P‘?3Å?Àªí?ÀËì?@Ãï?@÷î?Àî?ƒì?@ôî?Àfî?€$ç?¡?`~?ÀÚâ?@Aí?@žî?€÷Ý?€m?`“?TÎ?€›í?"æ?À‚ç?€îì?@Fì?Pí?‘é?Àué?éÒ?`¦? ¢?€ká?€ûÒ?V³?€êë?ð?îï?ð?ð?ð?À¬ï?Àžï?€Õ?@œê?ð?€ï?€,î?Àçï?@zï?@Vï?õï?Àçï?ð?ð?ð?ð?ð?À»î?Àî?@ ï?Àªï?@Ùï?ð?€Ûï?ð?Âê?€½ì?€ ç?à?ýï?ð?ð?À²ï?ð?ÀÊï?ð?ð?ð?@Þì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?À5ï?€åï?À ï?ÀÍî?ÀÈï?@±ï?@îï?ð?ð?ð?ð?ð?@ôï?ð?ð?ÀPî?þÛ?6î?ð?ð?€àî?ð?ð?ð?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Fï?ð?ð?@Éï?úï?ð?€§î?@’í?@ïî?@9ï?@²ï?À£ë?ð?ð?ð?ð?€ï?@î?ð?·ï?ð?êï?ð?ð?ð?ð?ð?ð?ð?úï?ï?ð?ð?@ôï?ð?@ôï?ð?ð?ð?ð?ð?ð?€=è?€ží?›ï?<ï?ð?€ï?À«î?@«ï?@·ï?ÀÏï?Àçï?ð?€·î?ÀCï?ð?ð?ð?ð?ð?ð?ð?@Ãï?ï?ð?€¨í?.ë?ð?€›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@°ï?@uí?ð?ð?@rï?€Dë?ð?€úï?qí?Íç?€dï?ð?ð?ð?Àíï?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ýï?Àï?€Äî?ð?ð?<ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?€Õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ï?@Üî?Pï?@Äî?À¬í?€»ï?ð?ð?ð?À“î?@+ì?`ï?ð?ð?ð?ð?ð?ÀÓï?€­í?€zï?ð?ð?ð?ð?ð?ð?ð?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?‹ê?À‹?Ô¯?dÈ? ¬?}Ø?ð?ð?À&î?ð?ð?ð?€{é?®°?»Ü?@]à?eÁ?Àg?Àç?@çä?´Ó?H›?€Ó?óÑ?€âí?€I×?€é?@î?@¶â?€»ß?ð?€Vì?€÷í?€Œí?Àfï?ð?ð?@èï?ÃØ?€p?€k?õÚ?@èï?À¨í?®ä?íÝ?@œë?€'ë?Àrá?@Ãï?ð?úï?€Êï?ÀŸï?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ð?ð?ð?ð?Àçï?ð?ð?@bê?À;ì?ð?ð?ð?ð?ð?õï?€Ûï?tï?€5ï?ð?Àíï?úï?Âï?@Íï?À)ì?ÀÐà?_ë?À¹í?€~Ñ?€×?À ì?@¾î?@î?€_î?€§è?Šî?Àiî?@(î?Úí?Dï?€Gë?€ï?pî?ÀŒï?Àvî?€êì?ÀMí?€Ðé?©é?@Îí?@jè?€–î?@÷ë?Àë?9í?€æî?€î?€ï?€"î?€íë?ÀCï?ð?ÀÜï?À#ï?Ëî?À6ï?@³ï?@Šä?¾Î?îÕ?³Ï? €?Wé?€í?vî?@äî?À¤î?@Žì?„í?wï?€ ï?rï?}î?@¯î?ÀHî?@xí?@-é?€‡ï?Uë?@ ï?@!ï?€ªî?@)å?€-ß?Àì?@_ì?€„Ð? ’?€ÁÖ?ÀNä?ÀAë?À‡ï?ð?À&ï?“î?@|ä?ÀÐ?xÆ?^³?´¤?›é?À í?@æí?Rï?Pï?À³î?@ï?ÀÜë?κ?€¢Û?Àòí?€Âí?€—á?wÖ?€Ìá?îì?]ë?­Ô?@¼á?/ì?€7ç?@é?Àé?†¼?`?Ô¿?Ýá?ÀÚã?;Ö?@=ë?À\î?Àùï?ð?ð?éï?ð?¾î?€(é?,ç?Àçï?€êï?Àªï?ð?€*í?ð?ð?í?@ï?ð?ð?@¾î?ð?@ï?Àpï?Àpï?ÀÀì?€qï?ð?ð?ð?Iï?è?Lâ?ü ?ÀLã?Àúî?ð?ð?ð?Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;ï?«ï?Æî?Àî?@êï?ð?ð?ð?€=ï?ð?ð?ð?ð?ð?€óï?ð?@cî?@ç?Àå?ð?ð?ð?ð?ð?ð?ð?Ÿï?À1ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?bï?@˜ï?Óî?ð?ð?ð?À§ï?øî?€îí?€î?Ààí?ð?Àíï?ð?Àßï?ð?€‰ï?€Õï?@Ãï?ð?@Ãï?ð?ð?Àçï?ð?ð?ð?ð?@\ï?€íï?À1ï?€Ïï?Àèî?€3ï?@Çï?ð?À¤ï?ð?ð?ð?ð?€Pî?€ýé?À’î?÷í?ð?@Ãï?ð?ßï?ÀÌï?@Œï?@½ï?¥ï?@êï?ð?ð?ð?Àßï?ð?ð?ð?ð?ð?ð?ï?ð?À°ë?@åï?ð?ð?ð?ð?ð?ð?øî?@vì?€`ì?@šì?ð?ð?ð?€êï?Bë?€²î?Sì?€áî?@ºë?ôî?ð?ð?ð?€fï?À¿ê?ð?ð?ð?ð?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Nï?€iî?€çí?@€î?ð?ð?ð?ð?›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘ï?€<ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?'ï?À,î?À”î?@í?Àï?½í?@æí?ð?ð?ð?ð?ÀIî?€|ï?°ï?À3î?ð?ð?ð?ð?ð?ð?²î?”ï?ð?ð?ð?ð?ð?ð?ð?öé?±Â?âÎ?@ï?ð?éï?ð?ð?ð?ßí?À¹?8°?JÂ?–¹?€/Õ?ö±?€¨Ð?Ћ?@r?€^â?ðØ?qÀ?p¿?2Á?8í?€tï?@bç?€Tá?€–ç?€qî?ð?€¸î?:Ö?l?$Ò?@o?Ûß?@õï?@:ï?À¼á?/ã?"ï?€=Ó?@Êï?À¾ï?@ýí?€²ï?úï?@Êï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ï?ð?ð?ð?ð?ð?ð?ð?@œï?Ààï?ð?ð?ð?ð?ð?ð?ð?€ðï?Àöï?›ï?Àvï?ð?Àuï?@·ï?@¡å?¸?@Úà?Àlè?@²å?€Qê?€Ôí?€Òî?ë?@1ï?@Õï?@,ï?Àí?Jî?À ï?Àî?§ï?€-ï?Àfî?ÀØì?€î?ßç?À¾ë?€‡è?ð?Àgë?¡æ?aì?Àÿî?ÀÜî?ð?€†ï?€óï?ð?0å?€Õï?ð?ð?ð?úï?ð?@Jï?Fï?À¸ï?€Që?€oî?€ë?€x?™?À:à?žî?@úì? ì?‘î?@çí?€›í?Àë?€¿ï?Àžï?ÀÂï?Žï?@mï?ôî?ð?@íï?Àùï?ð?ð?@Âï?Àkí?€jî?€cî?@Oî?€ã?ëÁ?Øœ?‚Ø?4è?€‹ä?$é?Èí?éî?@Ãï?Yï?Ãè?”Ø?Ô­?D¥?€{Ù?€Ô?€–Ù?®á?€ç?h¨?Ô¥?€â?ê?îî?€tï?Àœî?À8ë?Ç?YÄ?€Âã?€kí?æ?ÀÀï?€ëï?€eï?ÀËë?pÏ?€³í?€¦ï?@]î?@žë?€Fã?€v?° ?P„?Àé?ÀEí?€ðÞ?Š?€!Ó?€Ÿä?ç?ð?@ùï?}é?Àôé?@Þï?@î?Ø?ÀÊî?Àçï?@ýï?€oî?€Iï?@ýï?ð?ÀNì? Ê?qå?ð?ð?Ÿï?Ëí?ð?ÀÍï?@ï?@lí?@Æï?ð?ð?ð?ð?@üî?±Ö?ü£?ÓÂ?@7ï?ð?ð?ð?ð?ð?ð?Àí?@´í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\é?Àsí?€æï?€áï?€áï?ð?ð?ð?\ï?€+ï?€Õï?€†ï?@ùï?ð?ð?ð?ð?€¼ï?Àçï?>ï?@Vï?@äî?À\ï?Åî?@ºï?@Éï?€àî?€×ï?€fë?@“í?€þï?€ ï?ð?ûï?wï?Ÿï?À°ï?Àëï?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?@ôï?™ï?úï?±ï?ð?@Åî?Àwï?Àûï?ð?ð?ð?ð?ð?€üï?€¾ï?®ï?@}ê?€ ê?Àçï?€Éï?@ùï?À¿ï?ÀRï?ð?Àíï?ð?ð?@ùï?ûï?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?€`ï?€Âì?ð?ð?ð?ð?ð?@î?ÀÖë?€ùï?Àäï?±ï?½ë?€«ì?@áë?Àhí?À³ï?ð?@ÿï?Àì?@\ì?ð?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?€“í?ð?ð?ð?ð?ð?ð?ð?€´ï?åï?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?€Ðï?gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?€òï?€ùï?ð?ð?[ï?ð?ð?ð?ð?@¸ï?ð?ð?€µï?À·î?ð?ð?ð?€Ûï?€Ëî?ð?ð?ð?ð?ð?ð?ð?ð?€éá? €?ÁÏ?í?ð?ð?€þï?ð?ð?ð?€žã?T?€¬?.À?€Æá?€÷ï?ð?€ùï?€Ëï?€ùï?ð?ð?À"â?(?K?€rÔ?Àç?êÒ?`?Q?ëÊ?@Ìä?€á?Ð?ÀRá?ÕÝ?æ?À~é?€Úî?€þï?ð?gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ð?ð?@àï?Àóï?ð?€Ûï?€Xí?„î?À{ï?À¾î?@·ï?ð?ï?žá? í?Àì?@Eî?”í?€šì?À\ï?ÀMï?+î?²î?€¿í?Ëî?þê?€Hí?€Ñí?À÷ï?€Áã?@gï?›ì?€©í?€µë?™Ê?€ÂÚ?@í?ÀQë?Pí?×ì?Àðï?ð?ð?@zï?ð?€zï?Àøï?ð?ð?¡ï?ð?@½ï?€üï?Éï?@Ïí?€òï?@ìî?%í?€ í?\Ï?@h?0„?Ÿà?€éí?%ï?À%ï?€›ì?€Uï?@¼í?mí?ôï?€ðï?ÀÁï?€Ûï?ð?€Ûï?ð?ð?ð?ûï?@Éï?ƒï?úï?jî?†î?@+ê?@dè?ÃÐ?@¢å?€’î?~é?@é?Àåé?@Žî?êï?ð?À¿î?@úê?Žì?mÆ?K?ƒ?Û?Ý?8˜?è?À¸í?€ˆî?À˜ï?\ç?°„?p“?äÛ?€gè?€Mê?€™Þ?R±?€ûß?ÀMë?øì?ð?€÷ï?ð?€#ï?9Ç?@Tî?ãê?£ê?+í?€'ì?€Ø?‰Ê?¨»?‹? ?€fÔ?€÷ï?ð?À}ï?€³ë?€Œï?@üï?ð?Àà?#â?ÀÝï?€ºï?¬ï?äï?ð?ð?î?Àþã?¬ë?ð?ð?À‡ï?Fî?@Ñï?ÀPí?@Ñï?§ï?Àúí?Àæï?ð?ð?ð?ð?ð?÷ï?€ïÞ?ÀQè?À›ï?ð?ð?ð?ð?ð?@ôï?êï?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À”í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?Lî?é?@šç?wí?ÀÁï?€Òï?ð?ð?ð?Úï?@àï?€·ï?…ï?Àíï?Àšï?ð?ð?ð?Àíï?ð?ð?ð?€Çï?€{ï?@2í?qî?€ªï?@ï?ÀÁí?@oî?À­í?@Ÿì?€Pí?î?€šï?@Jï?€úï?À÷ï?ð?À¼ï?ð?ð?Ùï?ð?ð?ð?ð?ð?ð?¡ï?€æï?Çï?ÀÌï?ð?@©ï?€Oï?Àýï?ð?ð?ð?ð?ïï?Àìï?€‹ï?ð?ÀÝï?À~ï?À˜î?@ºê?ð?€ñï?Àóï?ð?ð?ð?ð?ð?ð?ÀÆï?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?6ï?€½ë?ÀMë?@ê?@ê?"ë?˜é?†ï?ð?ð?ð?ð?ð?¾ï?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?€Fî?Kï?@ùî?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?Úï?íï?ð?ð?ð?ÀWî?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yî?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ÀÚî?ð?ð?€ëî?Àï?Àäï?ð?ð?ð?ð?ð?ð?ð?@[ï?ô·?~?à{?€öÛ?Âï?ð?ð?ð?ð?ð?ð?ð?ÀÕá?€ãÕ?øí?Àòè?Iì?ð?ð?À¿ï?€õì?ÀTà?pŽ?Àq?€.ß?]ê?·Ô?AÅ?e?@˜?FÜ?@­ê?ä?€èÖ?¤Û?ÀÐå?+å?@xì?ÀØï?€‡ï?@óï?ð?Àôï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ï?öï?€ýï?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?´ï?pï?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?Éï?À§ë?æì?@Þí?[ï?®ï?À î?@Òí?€ï?¯í?Àî?ÀÞí?âï?ÀØï?@Íï?ð?Ïï?ÀÌæ?Àåî?@ºà?€s×?@í?øï?ÀÒè?@ë?@@í?@ï?€”ï?@óï?Úï?ïï?ð?Sï?î?Eî?@¦í?€Òï?ð?ð?@rî?Iï?À‚ï?æï?À ì?€“ë?@ ï?¬Õ?R½?1ë?€Çï?€Fï?@mî?€ñï?€Qé?€Õï?@•ï?€[ï?ÀDï?€§ï?ð?ð?ð?ð?ð?€`ï?@÷ï?€ºï?Bï?€gï?@Ëí?À$ê?€àë?€ƒê?@¼î?À£ì?À´ì?Fé?€`ë?žï?@Nï?€«ï?ïï?À³ì?€ë?€?è?€$Ò?À€?VÇ?@Ÿé?_Ý?t?@˜?°ç?€0î?€.î?€Àî?€ÏÖ?@?P…?À?nÇ?Àßí?°é?ÀÇí?Àjî?Áî?€jé?@Ùâ?À*í?@ýè?Àì?€ê?ÀBé?Æ?X°?Ý?)Å?À½?€T??0†?Àþá?Àâï?@áï?À÷ï?ð?@ï?Bï?ÿï?@‹î?aÜ?Àoï?ð?@³ï?ð?ð?@ºï?ð?ð?ð?ð?ð?Úï?ÀÄí?€îî?#î?À†í?€ùî?@î?ð?ð?í?Àæï?ð?ð?ð?€˜í?ð?@gï?@`î?Àÿï?@\ï?€¡é?À”ï?@ÿï?Àüï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«î?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€Nì?Àí?î?@ßï?6è?ð?ð?ð?ð?ð?ð?ÀÎï?€èî?€—ï?€ïï?ð?@Çï?ð?ð?ð?ð?ð?‘ï?ð?@Áï?ï?@–ï?À–ï?€‚ï?Ní?²ì?ˆí?€üì?À¡ë?Àíë?€¥í?@ï?@¦î?Àî?ÀUï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?Àæï?ð?ð?ð?ð?@ýï?ð?€™ï?€Ùï?Àùï?ð?ð?ð?ð?ð?À³ì?Ÿï?À(î?€çë?&í?@ªî?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{ï?ð?Àæï?Àæï?ð?ð?ð?€éï?€íí?ð?@ßï?€™ï?€Îï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßî?@ßæ?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?À§î?@öï?ð?ð?Úï?Çï?ð?ð?@üï?Þï?ð?€§ï?À÷ï?@¾ï?ÀÕî?Àôî?Àyî?€úï?ð?Àùï?ð?¾ï?À»ï?fî?€áï?€ïï?ð?ð?ð?ð?@Xï?€Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kï?@«ï?€þï?@Kî?À`ï?ð?ð?ð?ð?ð?ð?ð?Àüï?€±æ?à¨?,£?5à?Àüë?@dï?ð?ð?ð?ð?ð?ð?ð?&ï?ná?•Á?à?³?ÀÚâ?@„ï?€ƒä?ÏÉ?ÀŠã?äï?€rä?8™?_?ˆ´?.Õ?Çà?Àà?€ýÑ?Àeâ?€>î?@è?€ë?²Ù?Àóê?ûÕ?@çæ?@ùí?Àùï?@ýï?@óï?Àúï?@úï?Àµï?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éî?ÀÓï?ð?ð?ð?ð?ð?ð?ð?@óï?þï?À÷ï?Àæï?@vî?Àjí?À—ï?@¨î?bí?@eë?¸ì?¡ì?@Gî?Œî?€ ë?À ë?tî?ð?Àaï?Àî?ì?@/î?€ì?;á?Àœè?Àï?€)é?€ Û?€(å?À¬ï?€Þï?¬î?ð?@Çí?€öï?€ºî?€kí?€¬î?@ýî?€ ï?Àñí?À6ï?€„î?À¢ì?@Aí?ð?@œï?¾î?À}ï?Àdï?€3â?ìÇ?@‰ï?À2î?ÀRï?€ìï?ÀLî?Àªï?À»ï?€ºï?Àæï?ð?ð?ð?ð?ð?@óï?Çï?ð?@óï?@ÿï?Çí?À…í?‰ï?ï?€Hï?€dî?@Êî?¼í?ÀGí?€ñì?@bï?€iï?@¹ï?@öï?À;ï?î?@%ï?Ùç?€ÇÚ?”°?N?D?~·?€Õà?„·? …?îÓ?€³ç?ð?)î?éÛ?4?°²?™Ì?€j?T¢?@¯é?Dí?Àuî?Àáë?€ï?@Nï?€íî?À-í?€wì?@<ï?€ì?€ë?Þ¼?`Š?@aå?€¡á?€a?ð“?.Ë?€ã? ?€"ã?@Ïï?@Äí?ð?¸ï?„ï?ð?€]ï?€ï?µï?1ï?ð?íï?ôï?ð?®ï?@àï?ð?ð?ð?Àæï?Àœî?@>ë?€:ï?íï?Îê?À²î?À«ï?Àæï?Àæï?@óï?@Ýî?ð?ð?ð?€eï?ð?ð?@¤ï?Àýí?@Óí?€î?€¡î?Úï?ð?ð?ð?çï?€'î?@Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æí?€oí?ð?ð?€ï?ð?ð?ð?ð?ð?ð?€”ï?@?î?Úï?€Íï?ð?Àæï?ð?ð?ð?ð?ð?@ï?ð?ð?À¶ï?ð?Àžï?€Kí?Uî?@(í?¾î?Àõí?€£ê?@gï?Àæï?À”ï?Àôì?€²ë?€~î?Àuî?yï?€²î?Fî?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Žï?Àtî?€Šï?ÀÚï?ð?ð?ð?ð?ð?ð?ð?À±ï?6ë?€Äë?Àï?úï?€“í?À¸ì?@ï?€¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºî?Àðï?ð?ÀÀï?ï?€›ï?€øï?ð?ð?ð?ð?ð?ð?ð?À‡ï?@óï?ð?ð?ð?ð?ð?ð?ð?€Kë?ÀÙì?Àí?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uï?ï?€sï?ð?ð?ûï?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?ð?@Ñï?€öî?¯ï?@"ï?€´ï?ÀÜï?@¾ï?À’í?ð?ð?ð?ð?ð?¥ï?À«ï?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?ð?ð?ð?ð?ð?ð?@ìï?À“î?ÀËî?@£ï?€çï?ð?ð?ð?ð?ð?ð?ð?€?Ý?`š?©Ê?ÀÜí?@ôï?ð?ð?ð?ð?ð?ð?€øï?‰ï?ð?@*ï?Àøí?Óî?ð?€„ã?˜å?Àµï?å?À¿î?@ê?ר?¬­?È?×?Ôè?Àòí?€Úî?€RÝ?@‡?§?€¾è?@“æ?“è?ÿÙ?€Õî?wÜ?€QÖ?€0ê?ð?€Ãï?ð?ð?@ôï?€õï?@Xï?Àcï?ð?ð?@{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?Àãî?ð?ð?ð?ð?ð?ð?@~ï?àí?@”ï?ð?ð?ÀUï?À;ï?ð?€­î?Àaæ?€ùì?¡î?€Òí?cî?ï?@?ê?@bâ?€¥ë?ýï?À©ï?@«í?¶î?@ãí?îî?ðë?@Eì?êÃ?,¼?€æ?@>ì?Àì?€…ï?&ï?@Éí?€@í?Pí?€*ê?À=ï?À€î?Àî?Àgí?ÀÝï?Cï?@Cî?@Àì?À¹ï?ñï?»î?Àæï?€Sï?@Hì?ˆ˜?€h?8?Àäå?Àðï?€Üï?ÀÆï?nï?@Pï?¤ï?€%ï?@«ï?ð?ð?Àðï?@tï?À2î?Úï?®ï?ð?ÀÀï?€ñï?€’ï?À<ï?Žï?yî?ð?í?@8ì?vî?@'ï?ð?ð?/ï?‰ï?@cï?ÀHï?ÀŠî?Àöï?@ˆï?¯ã?ëÀ?U?µ?7Ë?(£?VÏ?£?€±è?À…î?€°î?€»ë?€•Ö?ßÛ?€Èâ?Dâ?½ß?€Ü?$?z´?@mí?€Gè?7ß?€7ë?@zí?À]ï?ÀÌí?ÀÀî?™ï?Àí?ÀEì?î?Àÿì?€Aì?d·?P‡?*À?@çï?êß?³Ý?€·ï?€øï?€ææ? ª?¯à?Àˆî?jï?ð?ð?ð?íï?À¯î?ð?@rî?Àëï?ð?@Óï?ÀŒî?ð?ð?@Žï?ð?ð?ÀÓï?ð?€ºî?À=ì?@}î?ð?@#î?ð?ð?ð?ð?ð?ð?´ï?ð?À²ë?@†î?ð?ð?ð?ÀFï?@ýï?ð?@ì?€Øí?€Fì?@bì?Àùê?Àuã?'ï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?}î?@Rí?ÀOî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[ï?ÀÖì?@õì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èî?@éí?ð?óï?€ûï?ð?€¦ï?ð?ð?ð?Úï?ð?@óï?€ªí?@Âî?À$í?@]í?€6ï?@£ì?À’î?€Hï?€ûï?@ï?€”ï?@Œî?À…ï?À™æ?À¤î?Àvï?ï?¯ë?@üë?¬ê?@sì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?Ñï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?@lë?@ßï?@æï?€êï?€öî?ní?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ï?ð?Àæï?ð?ð?€Éî?ð?ð?ð?ð?ð?ð?Àtï?ð?ð?ð?ð?ð?€äï?ð?€ºï?ð?ð?ð?ð?ð?ð?@³ï?€Yå?@aé?Àaë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?@Æî?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘ï?€î?Ýï?€ ï?ð?Àæï?ð?ð?ð?ð?ð?ð?À¼ï?3ï?€wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉî?@î?ð?ð?@aï?ð?ð?ð?ð?ð?€ïï?€Cî?ÀÊï?@™ï?ð?ð?ð?ð?ð?ð?ð?ð?Àèâ?•?ˆš?‹ï?ð?ð?ð?ð?ð?ð?@ï?€ôï?ð?ð?ßï?Àpï?¬î?À¼é?ÝÀ?2?¸×?Šë?.î?bç?€é?dÌ?‹?õÆ?@}î?1é?@“î?ÀÅï?€ˆè?€DÚ?[?€Í?À€è?€Fç?€7Ð?è?€àà?»Å?Ñì?@×î?ð?ð?ð?ð?ð?€ëï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ûï?ð?ð?ð?ð?ð?ð?ð?ÀÛï?@!ï?ð?À¦ï?€3ï?ð?íï?Àæï?ð?ð?ð?@þì?À²î?ð?@óï?À—î?€òï?Çï?Yï?€€í?@ë?€@ì?€äí?@î?@(í?À}ë?¾Ö?gÍ?@ê?qî?ÀÃí?Òï?@Ëí?ÀÅî?@žï?À5ï? ã?ÁÄ?@pä?€Ìî?Àî?í?Ðï?ÀÓï?Àï?Àôî?À!ï?K×?ÀÈî?|î?€²î?€!î?eï?@ï?@sî?àï?Bî?€Aï?Àùï?ð?€Ýí?ð?¡Ó?D?€]?s?€“Ö?ð?ð?€´ï?À¸ï?Àuí?Àáì?€#ï?@óï?ÀLï?À‡ï?ÀÅï?Àüï?@´ï?ð?ð?ð?ð?ð?ð?@ë?ð?€eí?€¶î?À˜ï?€Pë?@•ë?À‹î?€Pï?Íï?@ùï?¶î?ÀØí?Àï?€òï?@éì?@¦è?€ä?lÎ?:?°Œ?HË?&È?°è?…Í?À"è?Àèî?€iï?À5ê?˜í?Àæï?ð?ð?ð?@zê?Ào?€X?(¨?–½?@¡ä?Àîï?Àç?L¸?Pµ?ð²?pí?Àìî?À[ë?Àãî?†í?Uë?€­ë?@ôì?Àkî?À„ï?ûä?È¿?lÀ?ª¹?À‰ê?öº?@Kí?ýì?ÀIï?Áï?Ÿ×?Àm?@<ã?ð?@Îï?Àåï?Àúï?ð?@Žï?@éï?@äï?ð?@Oï?Àüï?@rï?À~ï?ûï?ÀÚì?€²î?ð?ð?ð?À,ï?€;é?€Šè?€ˆï?ð?ð?ð?Àæï?ð?@àï?@ûï?þï?@ûï?Àë?@í?ð?ð?@ï?@™í?ð?ð?…ï?ð?ð?ð?ð?€Žî?Àâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾î?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?€Îï?€Ûë?€öè?€ì?ð?ð?ð?íï?ð?ð?ð?Àï?€”ï?ð?€€í?À‰í?ð?@òï?@¬í?€ï?øî?@Öï?ð?ð?ð?ÀÓï?ð?Àèï?ÀKï?ÀSï?ÀËë?@í?ÀÅî?€tî?òî?@ï?ÀÃï?ð?ð?ð?ßï?ï?€Âï?Àãï?âï?@Ûï?€î?€¨í?€ì?À²í?ÿï?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?@àï?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸ì?À:ì?íï?ð?ð?Eí?@ÿï?ð?ð?@üï?À‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?€Gï?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ôï?2ç?@@î?€ã?€·ì?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?@„ë?@Òï?ð?ð?ð?ð?€‡ï?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?>ï?ï?ï?€Fï?@aî?@Žï?@Óï?ð?ð? ï?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?@úî?€u×?à’?Àk?ÍÙ?ð?ð?ð?ð?Àæï?ð?ð?ÀÊï?ð?ð?ð?Õï?ßï?Ïï?€‰Ü?°Á?è¢?lß?ÀËï?@îï?€%î?ð?ß?8»? ê?ÀYí?@Óì?€Åæ?ÏÊ?A?à«?Àæ?À´í?€RÕ?À\é?À?ÁÃ?€é?Ûï?ð?ð?[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?Óï?@ï?@vî?@ïï?ð?ð?ð?@Oï?ð?Àæï?@ªï?ð?ð?@þï?ÀÀï?ð?Âï?@¤ï?€ï?2í?€Æí?À}ï?€gî?€ë?Àê?Àsë?î? í?@Ðí?²î?@¾î?À’î?€Ãì?€®î?@Ðë?€êå?.±?ªá?@çî?%ì?À~í?Dî?ÀÆï?ð?Àmî?5ì?CÐ?À#î?€Íì?Jî?Ñî?wï?Àyî?@ðí?|ï?@Áî?Àzï?ð?ëî?€Ÿï?ð?oÓ?\?Ã?€ëà?€"â?ïÍ?E?©?r¸?Àüî?@àï?€…ï?€ˆê?À(é? ï?Àyï?€Çï?@‚ï?ð?¹ï?@Ãï?Àšï?ð?ð?ð?@Áî?@Ãï?€ ï?À,î?À‰í?€ãí?€Jï?ÀŽï?@Õí?»ë?€Äî?8î?@®î?@ñî?€âî?2ï?Àéí?€ï?@ìí?€èî?À¦æ?Ò? v?d¢?~Ñ?À`?€wÖ?Àuà?€Pä?€²î?Cî?@í?@óï?ÀÙï?ð?ûï?ð?ÅÔ?€ŒÖ?À:ã?Éã?ÀUç?À}í?SÑ?xä?€ï?@Úî?€±ä?Çç?@:í?Àèç?À¬í?@Ùî?€¿ë?Àíå?ÎÐ?X–?ŒË?hÁ?€"ï?ÀÜï?ð?ð? í?€CÙ?%á?Àiî?ð?@Öï?@Mï?uï?ð?€Íï?ð?Úï?ð?@nï?€·ï?@fï?ÀÔï?€Öî?@¾î?òï?ð?ð?À7î?€˜ï?@)ë?À¦ê?ð?ð?ð?ð?ð?ð?ð?Ôë?@†ï?€ƒï?@õë?@ºï?ð?ð?À«ï?@íï?ð?ð?@ªï?ð?ð?ð?ð?ð?@Òä?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ñï?@î?ð?ð?ð?ð?ð?ð?@Zï?ð?Àë?Ùæ?À¢ç?@zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?Àãì?Üï?À¹î?@Jî?ð?ð?ð?ð?ð?ð?´ï?ð?€ôï?cî?ÀJî?@þî?Àºï?€Þï?€¨ï?ÀÃï?ð?ð?ð?ð?ð?ð?À¶ï?€åï?ð?ð?ð?ð?ð?ÿï?@÷í?€,í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?€¦ï?€éë?ð?ð?ð?@§ï?@í?À°ï?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?À½ï?ð?ð?çï?Áï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?@Ší?ýæ?ÀÝê?À³ì?ð?Àfí?@åè?€øï?ð?ð?ð?ð?ð?ð?´ï?ð?ð?ð?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?@ ï?Âî?î?@pï?ð?ð?ð?Úï?@Žï?Úï?€Êï?ð?ð?Àæï?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À’î?ð?ð?€Ðî?„ï?ð?òï?@¥ï?ð?ÀÍï?ð?ð?€§ï?ð?ð?À¢ï?<Ù?CÐ?€+î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãâ?€R? Â?Œï?ð?ð?€Åï?Àïã?Tº?-Ý?€åà?€Ý?:Æ?¥? Ì?Àˆè?€¡ã? Ä?ÅÓ?þå?Ùß?Ànæ?ð?@Ïï?…í?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pï?@®î?€‡î?ð?ð?ð?€î?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?€Tï?wï?Àèí?cï?@Öï?ð?ð?ð?@ˆï?@(ï?ð?ð?ð?€¯ï?ð?@ïï?ð?ÀËï?€ï?î?À¿ï?`í?€Öè?@Šé?€î?ð?ð?€?í?€»é?âì?@)ï?@šï?€§ï?ÀÀé?À™å?€Ðë?€éÑ?€“è?ÀÓê?¨ç?@yî?À™è?:î?@cî?€|æ?tä?@ë?€°ç?€ë?µî?€îê?ÀÐî?@Lï?@8î?Àeé?€àë?@ï?èï?@Ñï?~ï?€vë?À²ä?€æç?…ï?Øï?ð?@¥ï?mã?Î?ð?`|?A?€Y?¤?ÀÌì?Íï?@Ôï?Àèï?õï?™ï?À¨ï?Óï?@¥ï?ð?ð?ð?ð?Àùï?@ëï?@óï?Àõï?€¾ï?Àï?Àìí?­ì?À3ï?uí?@»ï?@Žï?ï?@ï?À&î?ÀÂï?ð?&ï?€uî?À€ë?ÀËï?@¡ï?À3í?À’í?@ïë?°¬?ð®?°ˆ?ìÁ?ìÃ?@¸è? í?ÀÈí?Àï?@äï?@öï?Àæï?Àëï?Þî?˜°?[?ÀÂà?€…ã?€ä?Àÿï?©í?Ç?€Œ?p©?í?vï?ÀÍè?€ì?€!ì?ÀBë?À`ë?ÀÔï?æï?Òâ?ÉÙ?<é?€cï?@åï?ð?Àûï?@ÿï?ÀÅï?Àñï?Àhî?À•í?@†ï?€£ï?›ï?ð?@wê?€èï?Âï?šï?èï?Àžï?^ï?À…í?€î?ð?ð?ð?@Ýî?€Pî?€ï?ð?Êï?ð?ð?ð?ð?ð?ÿï?ð?Àˆî?€˜è?§ë?@Ùï?@Íï?ð?ÀÉì?äï?ð?ð?@«ï?Àâï?ð?ð?ÀÄï?ð?ð?ä?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?@”î?€•ï?ð?ð?ð?ð?ð?@iï?@´î?€•é?@ï?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?€¹ï?ÀÓï?”ì?€Ûî?€Jï?‚î?Óï?@)ï?ð?ð?ð?ð?ð?ð?Àùï?€àï?èï?@)ï?@èï?€äï?ïï?@÷ï?Àûï?ð?ð?Éï?ð?ð?€ëî?ð?@Çï?ð?ð?@ÿï?æï?ð?ð?€þï?À4î?@vï?ð?ð?ð?ð?®ï?ð?ÀÅï?À\ï?ð?ð?æï?Àæï?ð?Úï?ð?ð?ð?ð?ð?ð?ð?@õï?€àï?À©ë?Àèí?ð?ð?ð?@wï?€ï?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀJî?ð?ð?À ï?óï?@„ï?@Ûï?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?€Ýí?@rí?€&î?˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?€èï?ð?ð?ð?ð?ð?ð?íï?Úï?ð?ð?ð?ð?ð?ð?Àæï?ð?ÿï?ÀÈî?ð?ð?ð?Àýï?@ïï?ð?Úï?€þï?@÷ï?@æï?€ºï?ð?ð?êî?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?Žï?€ýï?ð?€¤ï?€øï?€­ï?ð?ð?ð?Àþï?ƒï?Uà?PÐ?ÀÙî?ð?@´ï?ð?ð?ð?ÀÓï?ð?ð?À[ï?ð?ð?ð?ð?ð?ûï?@Ðâ?þÈ?€Y?€Õ?rä?€Éï?@ãï?Ìè?€Ñ?@c?P„?€ŠÖ?¤?Є?Àã?@¼è?€ÿØ?€¬å?À^ë?@‰ê?@Ãá?À3ê?ÀGî?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?@’î?€Ðï?ð?ð?ð?@÷ï?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ÀÐî?äî?Àí?€êï?Àæì?@bî?@]ï?ð?@þï?€Pï?ð?ð?@óï?ð?ð?€äï?ýï?À“ï?•ï?ï?ïå?€ í?@ðê?¨æ?À0ï?€mï?€ðî?ƒî?€§í?@è?@Cï?@kî?Âí?Àé?€ë?Éê?Àà?·í?£í?€—î?@Lí?ÀÐî?À-î?Àë?Àäâ?€é?Àõì?@‡ï?ÀÜì?@ùí?^î?@³î?À ï?Àï?@fî? í?ÀÎï?€ñï?ÀÎî?ÀÜï?€±î?€ýï?ð?ð?@ëï?À´ï?Àðï?@¡ï?Àýï?€fí?€Ìà?Àu?X´?¯?@h?€Z?°‰?@Ûê?€üï?Àøï?Àæï?ÀÙï?À4ï?€'ï?@Óï?@³ï?À»ï?ßï?ð?Úï?ð?€Wï?€äï?ÀÝï?@æï?Þï?€•ï?€Bï?À"í?€–ï?@yï?€¦ë?Àëï?èí?@,î?€¬ï?bï?@¨í?’í?€Jì? ï?€ï?@Ûæ?À†é?gâ?°º?Ào?2?,?`™?€A×?€åê?€Éè?@í?4ì?Âï?€þï?íï?ð?ûÝ?rá?@¸à?…ë?ÀFë?@Úî?€Úì?‡Ù?šÊ?(?æ¾?íî?ÀÌï?ÀQî?Àë?ç?@sê?™í?@«î?@å?À¹â?‡?3Ù?7ï?ð?ð?ð?€cï?ð?ð?ð?ð?@½ï?ï?À"î?€Äï?ð?ð?@Üï?‚ï?ží?€‡ï?Êï?Èî?@Nî?Àî?€^ï?ð?ð?ð?€Óî?Àî?ð?ð?ð?@<ï?@Wï?ð?ð?ð?ð?íï?ð?"ê?@sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êî?ÀÙï?Àóï?ð?lî?¢í?ºï?ð?ð?ð?ð?€Êï?ð?€¼ï?ð?Àðï?úï?ð?ð?ð?ð?ð?ð?ð?€,ï?€ï?ð?ð?ð?ð?ð?ð?€2ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?Àöï?Àóï?ð?@Fï?ð?'ï?À’ï?À/ï?À‡ï?@ãï?ðï?ð?@èï?€²ï?Àãî?@†ï?Àuï?Àáï?ð?€×ï?ð?nî?ð?ð?€òï?ð?ð?ð?ð?@­ï?€òï?ð?À?ï?€¼î?ð?ð?½ï?ÀJï?€Sî?€Ìï?@Ãï?Àõï?Àï?À°ï?À¬í?ð?ð?ð?ð?ð?åï?±ï?ð?ð?ð?ð?@rï?ð?ð?ð?ð?úï?ð?ð?ð?ð?ð?ð?ð?À€í?€9î?Àeí?@—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@»í?ð?ð?ð?ð?›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?ð?ð?ð?ð?ð?Ûî?€µí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?ð?ð?ð?ð?ð?ð?ð?€¡ï?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?Àšì?Àˆî?ð?ð?ð?¸ì?€´ï?”ï?ð?@}ï?@€ï?æï?ð?ð?ð?ð?@†î?À¼ï?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?@Åï?gë?€£?@Óå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?‘ï?€§í?ð?ð?ð?Àdï?@¾é?€wæ?ð’?<¾?À–?Òà?ºí?ÀLî?@õï?À³é?4Ó?N¿?šÀ?Àª?ÕÉ?ôÔ?È–?@™à?€ßÛ?€…Ñ?Câ?Hê?Àþá?Êã?Þ?ÀBï?@óï?ð?ð?ð?ð?@²ï?€Äï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àfï?)é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?@îì?@=ï?@€ï?€Ãî?@ ì?@Íì?€çï?Àõï?@¨ï?Àáï?ð?ð?ð?Àèï?€/ï?@‹ì?pì?€«î?Àuç?À î?Àæ?À­å?@é?yí?€Üî?€°î?Àåï?ðï?@šë?€,é?6ï?€Ùî?€£ç?€qç?@í?€öá?gÝ?@pê?€Êè?€Úë?žî?ÀÃì?î?€bë?©î?€ì?@í?€Ãî?€µì?@uç?€¹í?€ í?€ïì?@Oå?“ì?ÀZï?@çë?€mî?ÀÖî?€>î?À`ì?@kí?ð?€®î?Êï?€òï?ð?@î?€¦ï?€Éì?À.ï?Öï?@éï?ð?€®ê?µÏ?(?ø?PÉ?ƒ?[?€^?B?@Ìâ?@Âï?ð?ð?ÀÏï?€”ï?€Yï?À„í?Bé?hï?Àëï?€çï?xï?úï?€ïï?ÀÑï?€‘ï?À4î?åï?Ùî?€yï?€ï?@~î?@Ëï?Àî?€Eí?<î?Àì?ï?ÀPï?@}ï?ð?©ï?Žë?˜ì?€¸í?„í?€Wí?ÀÅé?Ý?ÈÑ?4¼?˜š?®¶?@Ä?@å?€ßß?@>ê?@rï?€ï?èì?€×ï?€Ëï?Àaì?£Ú?2å?ð?Àéï?À!ï?À¬ï?À¨ï?À·ê?€ÓÛ? ¤?À)â?Üî?À/ï?î?À3í?€ï?Ïî?ÀUï?€ï?’Ó?sÒ?€pß?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?ð?#ï?ð?ð?ð?Àí?@5ì?!ï?€ýî?eí?Ÿï?rí?ëì?€Iï?@^ï?€Ýï?@Êì?@Iî?9î?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?ð?Àáï?À5ï?@ëì?€/î?€¼ï?ð?ð?€øï?Àåí?€jì?ÀAî?Àæï?òï?ð?ð?ð?ð?ð?ð?ð?ð?@rí?€˜ï?ð?ð?ð?ð?ð?ð?¥í?€yï?Àî?ð?ð?ð?ð?ð?ð?ð?ð?õï?Âï?ð?€âï?ð?Ðï?íï?ÀÄî?€¾ï?@íë?_ï?ð?@ùï?€òï?fï?Nï?À«ï?åï?ð?éï?ð?ð?ð?ð?ð?ð?À˜ï?ÀŒï?ð?ð?°ï?Àëï?@ãï?€"ï?@{ï?ÀÆï?Àïí?¶ì?€nï?€‘ï?Àëï?Àüï?@™ï?Ûï?À¢í?Àõï?ð?ð?€×ï?€¥ï?>í?@í?ÀÐï?ð?ð?ð?Àï?ð?@sï?ð?ð?Áï?ÀÚï?ÀÆï?ð?ð?ð?ð?ð?Àì?ð?€?í?”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ï?ð?ð?ð?ð?ð?ð?ð?€;î?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ë?@‚ì?@uç?€ê?€)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?€òï?Êï?€ƒì?ÀBî?ð?€÷ï?@Çî?@Áï?»ï?ð?ð?Ðï?ÀÞï?ï?ð?ð?ð?ð?À°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?@ðï?Àkï?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?À¦ï?ZÐ?@u?°”?À1í?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ìï?€í?€Iî?À]ì?Àþì?€xî?€´î?€{ç?ýÚ?šî?(²? ®?@„è?ð?ð?Àî?€ë?ÛÈ?Xž?G?HŸ?Àk?ÍÀ?îÖ?üÔ?eÕ?“Ü?€™Ø?€Cä?@å?@›ë?@ ï?ð?ð?ð?ð?@€ï?Àôî?ð?ÀÐï?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?@è?žì?ð?ð?ð?ð?ð?ð?ð?€ï?€òï?ð?ð?ð?ð?ð?ð?ð?"î?Àëï?ð?ùï?@zï?ÀÏí?@µï?ÀNï?ÀYî?éï?À¥ï?@Þï?Éï?€üï?Àëï?Êï?ð?À×ï?€ ï?À¦ï?Àšì?@üì?=ë?@Éî?’ì?â?€Dä?€Xí?Yè?€Lì?@ï?ï?À<ï?@zï?À4î?@ì?@»ë?Àeì?€ î?•æ?À0í?ÀËë?ºç?€ ë?À(î?ºê?€éâ?2ì?@ïî?€¸ë?€¡ï?ï?ÀIí?À}ï?À•î?@Åí?€¡ï?¬í?€pê?nî?€~é?qæ?Žì?ï?ÀAï?€_ï?ð?ð?ð?ð?ð?ÀŸï?À<ï?€Œï?@Sï?Àõï?€6ï?ð?ð?@‚ï?BÏ? t?EÊ?ùÆ?ÈÝ?¢Õ?< ? ˜?Г?€×?˜ë?ð?ð?Ñï?€¬â?)ë?€‘î?@Ëî?€µï?ÀÄï?Õï?À¡î?Àßï?èï?€¸ï?@dï?@î?@rï?@Þï?À î?€‚ê?@`ï?€ í?€ î?@í?Jë?€»ë?@î?€kí?ì?ï?€#ï??ì?ÀÄë?@lí?(ï?,ï?Àì?Ø?Ê? ©? ¸?€ØØ?ˆ×?@ë?€rí?/î?€ûî?éï?€î?€ë?ÛÆ?À`á?ð?ð?€òï?€í?Àné?þ¹?P˜?Àc?€P?•Â?âÜ?À8ê?åï?€kï?Àiï?Ðè?Àkã?{Ê?#Ë?£Ð?@‰?€g?Õ?ð?ÀÖî?À<ï?@ùï?Àüï?ð?ð?ð?ð?Àôï?ð?ð?ð?Àuï?@!ï?3ì?@7ì?@”î?@˜ë?@üê?@Jí?@>ì?€±î?€Kì? î?€Éî?ÀÉê?”ï?cï?@§ï?ð?ð?ð?ð?ð?ÀIí?€ôï?ð?ð?üï?ð?@§í?•ï?î?=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?€¿ï?À`í?@ï?Àï?€cí?ÀAí?ÀÜì?@ì?ìì?@•í?@ùï?Çí? í?²ë?€hí?@¨ï?ð?ð?ð?ð?ð?ð?€ûï?€%î?ð?ð?@çï?ÀÑï?ð?Ìî?À®ì?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€sì?@Uï?¼í?@(î?ð?ð?åï?ð?Àñï?ð?€ýï?Àûï?€Óï?@”ï?ð?ð?ð?ð?@“ï?5î?ÀÖï?Àüï?Àëï?À2î?ð?Àúï?ð?€éï?À†ï?&ã?†ç?@î?€}î?€]î?Àšï?€Dï?@Åï?À™ì?@ùï?ð?Àï?@7í?¾î?€çí?ÀÎî?ÀÕî?ÀÂí?Àï?ƒî?Àöï?@—ï?€ªï?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?³ï?@,ì?ÀÐï?ÀŒî?ï?ð?öï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?€àï?@ï?À”í?À†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?öï?öï?ð?ð?€×ï?€}ï?À#å?€¼Ó?@à?€;ã?5ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?ð?ð?ð?Àdï?ð?ð?ð?ð?ð?/ï?ð?€×ï?@”ï?Àëï?ð?ð?€×ï?Àüï?ð?ð?ð?ð?€þï?€Šï?ð?»ï?@Ïï?ð?üï?ð?ð?Àùï?ÿï?¬ï?ð?ð?ð?ð?ð?ð?ÀBï?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óê?ÀÒï?ð?ð?ð?ð?Àåï?ÿï?ð?@Jï?@¨ï?ð?@¨ï?ð?ð?ð?ð?€Kï?åÖ?4?ÝË?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï?€zï?ð?ð?ð?€+î?Ëè?øµ?€õÓ?@„á?È?`r?0‡?›Û?Àkï?€¨ï?ð?”ï?€Bå?¿Ã?P¤?P’?©È?DÂ?ÀÎã?få?•Ð?€|è?€nâ?þì?À°í?ð?ð?ð?ïï?@Åí?@èï?€ãï?ð?ð?ð?ð?ð?ð?ð?€òï?@ùï?Àëï?¨î?Jâ?@hë?@éî?@#í?@–ë?æë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?ð?ð?ð?Êï?À‚î?@žï?€Oï?€>î?üï?@Të?Êï?À‘ï?ð?ð?ð?ð?@ï?€òï?ð?Àï?öî?€üï?Àä?€æ?ÅÞ?€ë?À ë?@§ì?ªè?Àrí?€{ï?ï?€æí?À í?@;æ?ëî?Àë?€¯í?@½ì?@·í?@Jì?ÀTî?ÀÀê?€Öë?€çí?€\ë?@úì?Àiê?€í?Àªí?€íì?€Qí?Tï?À¸î?À$í?€wí?Àå?€÷é?vî?€Üî?@Žì?@ñî?”ï?ð?›ï?@¨ï?ð?ð?ð?ð?Àï?€žï?ï?^ï?ð?€Kî?@Êï?ð?ð?À!é?ê°?@k?Å?´Ô?r±?6Ä?[?|¯?ÀJç?@°å?Àáï?€ýï?Àõï?@]â?8Ý?€ãê?²î?ÀKì?€óî?™ï?aí?À_ï?åï?µî?À²ï?ÀÌï?@ùï?Àéï?@µï?@ïï?Ûë?€Õí?€èë?À¶í?@‰î?¿í?€î?À%ì?@rí?Àùï?ì?é? í?Yï?€îï?Âí?Àë?À8é?@Ðá? Ï?P„?›?,Á?€Û?ÀDè?€Žè?€œë?€aï?@(ì?“ç?uÈ?¥È?W?€vÜ?ð?ð?ð?@Æî?%Ü?@¾?β?€Ü?@Ûà?@ì?ûÐ?ÀÓï?€'í?ð?éÞ?€Õ?ð?ð?Ãï?€Tï?Àáï?@(ï?ð?ð?ð?ð?ð?ÀÎï?Àþí?î?@Bï?€ï?À7ï?Àëï?Àðï?ßï?Iî?@dí?Ðî?Àjë?@Oî?Àzï?@+ï?@¹ï?À¹ï?@¶ï?€×ï?ð?ð?ð?€üï?@bê?˜ì?ï?ð?ÀZí?€/î?åï?ð?À¿î?Àðï?óï?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?Æì?î?[ï?ð?ð?ð?ð?ð?ð?€ìï?@»ï?Àõï?ð?ð?ð?Àí?àì?€%ë?€Æí?ð?ð?ð?ð?ð?€(î?ð?Àpï?@dì?@í?€…í?oì?€•í?€Åï?ð?ð?ð?ð?ð?ð?iî?ð?ð?ð?ð?ð?ð?ð?€ï?@×ï?@!æ?Àì?Ní?©ì?@ïï?@Óï?@êï?À§ï?@Áï?ð?@øï?€„ï?Šï?@œï?ð?ð?ð?€Ëí?6ì?Þí?hî?@¸î?Àoï?Àî?ð?ð?@´ï?Àsî?(ï?€rï?…î?Qï?€ï?@°ï?À‰ï?€åî?ï?@Çì?ð?ð?€Úï?Lî?@Ÿí?Àîï?Àîï?@Üî?@cï?Àûï?@µï?@Ýï?€×ï?ð?@Þï?@^ï?ð?Êï?ð?ð?ð?ð?ð?@í?î?ð?ÀDï?ÀÔî?ð?ð?ð?ð?ð?ð?À«ï?öï?ð?ð?ð?ð?ð?€ï?ð?ð?ð?@ùï?Óê?Àæí?À³ï?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?Ãï?ð?ð?ð?@Üï?€¡ï?ð?ð?ð?ÀÏí?€ìÛ?å?Àõï?ÀSï?'ç?ð?ð?ð?ð?ð?ð?@tï?ð?ð?@Kï?€òï?ð?ð?ð?ð?ð?ÀLî?Àí?@Fî?Àëï?ð?ð?Àëï?ð?Àîï?€ìï?@Sï?€ï?ð?ð?ð?€¼ï?ð?ÀÓî?ð?ð?Àåï?€Gï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@†ï?£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLî?2Ó?ÙÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0Ù?¸Å?Dæ?œë?9Ø?à?À)í?@è?@‰ã?€Ô? ®?ÈÃ?ª¸?KÂ?€.Ñ?ÀÉè?ÀEê?Í?À%ä?vâ?À€é?À í?ð?€¹ì?€×ï?À×ï?¹ï?Àï?ð?ð?ð?ð?@÷ï?ð?Ààï?ð?ð?ð?ð?€Lí?Àøå?€ˆï?¢ï?ð?ð?€Âî?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯ï?ð?ð?oï?Àƒã?€Fë?@Eî?¿ï?À%ï?ÀLí?ÀÔí?ð?ð?À{ï?@Ãï?åï?ð?€Øí?@¨ï?Àï?€uî?@_ì?ÀBà?¤Ù?Âí?€aå?€¼å?À¶ç?À®í?Àî?Âî?Àxé?@ê?@Òë?@yæ?Àé?_ë?Àxè?À`î?ÀJï?Àòè?@ ì?¥í?ÀÄì?ýä?Àì?À¿ï?ÀÇë?ƒí?À¶ï?ð?Àî?€àì?@í?@Cë?€mè?2î?À—î?@ˆî?@Ôí?Ôï?ð?@÷ï?ÀŒï?€Òï?ð?ð?ð?ð?ð?@¸ï?À>ï?iï?@÷ï?@÷ï?€ï?ð?@Gï?€Žï?ÀPì?€@ä?ðÏ?z?:¿?ê²?à{?t?Àv?@>ã?€zï?Øï?€òï?€Âï?Àöï?€ßï?Ží?À±í?@eí?€Üë?ÀTî?À‹ï?Àï?Àõï?€ºï?ÀÐï?óï?€Äï?ð?ð?€òï?ð?€†ï?€_í?@Oê?@í?€ûè?Àï?_ê?@ç?À.î?ð?@Éí?ÀWç?@Zï?@ºè?@ùî?€×ï?êï?½ï?Àè?@yâ?€9Ó?@¬?€&Ô?AÚ?aÞ?zÞ?Àâ?Eî?ð?Êï?€#ï?í?@±ï?@çå?€›?@¤ç?€×ï?ð?@µï?À½â?×É?QÁ?ð¥?@è?À`í?À&ê?€@ç?ûÃ?°ê?À–î?€¶ï?ÀÛà?ÎÁ?@˜ï?ð?€ï?€8ï?@üï?Ôï?ð?ð?ð?€òï?ÀÁï?€Uï?Pî?@ì?€‰ê?/é?Àµí?€ðî?ð?€¼ï?€¼ï?@£î?Àlî?€Ôï?€ëî?@øî?ð?@ÿï?žï?€î?Àõï?ð?ð?ð?ð?ð?ð?ð?î?@Oî?€°ï?@¿ï?ð?ÀÐï?€¼ï?Àøï?ð?ð?ƒï?ÀÂï?ð?ð?ð?ð?ð?€Ùí?@Ôî?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?xï?€ÿï?ð?ð?ð?ð?@Þï?ÀÅí?À0é?ð?ð?ð?€ÿï?Àùï?À°ì?@Ùë?€ßì?pï?ð?ð?ð?€oï?€iî?€í?Àyî?ÿï?ð?ð?€)ì?€í?ð?ð?ð?ð?ð?ð?ð?€þï?€üì?€åê?À8ì?€Ûë?eî?éì?kî?@Ôì?€ì?À°î?@®ï?@ í?Àøï?ð?@ï?€;ï?€ùï?€‚ï?@§î?~ê?@sí?€àî?@î?@ î?|ï?ÀÈî?€rï?@Òï?@Ÿï?ð?Àcï?Àìï?Àøï?ð?þí?€lî?Àí?Àkî?ôï?ð?¦ï?³ï?@«í?€›ï?@Hï?Âï?€•ï?î?€Fï?À5ï? ï?@þï?@Ëï?À%í?@žï?€—ï?¶ï?Àï?@ïï?ð?ð?Àøï?@ºë?ð?Àëï?€Ðï?Àï?@rî?€¸ï?@“ï?ð?ð?ð?@Þï?”ï?€ÿî?€ï?€×ï?`ì?åï?ð?ð?ð?ð?ð?À%î?@ì?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øî?ð?ð?ð?€þï?ÿï?ÀÓì?Ð?@ˆé?ð?@mé?Àÿï?ð?ð?ð?ð?çï?À›î?ð?ð?ð?ð?ð?ð?ÿï?ð?@Eí?È?¥Ü?ð?ð?ð?ð?ð?ð?@öï?ÀLï?˜ï?Àµï?éï?Üî?ð?åï?ð?€†î?ð?€¼ï?¿î?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?èî?Íî?€(î?ð?ÀÐï?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€)é?Ç?€Bß?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€×ï?ð?ð?ð?ð?·í?(¥?ÃÒ?@¬î?@sé?@óë?µí?€Aé?éÑ?CÆ?|¬? …? |?‡Ï?@#é?@eï?€YØ?åç?ä?@Öî?@øå?Àï?@Qì?ÀXï?À®ï?Àáï?@–ï?€Üï?ð?ÀÐï?ð?@ûï?!ï?€Êì?ð?ð?€<ï?ð?ð?€Íë?@rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?@5ï?@uî?À¤ï?@íï?@´í?À í?êï?Àöï?ð?Àÿï?Ïï?ð?€òï?@`î?@†ï?ð?@ï?@;î?åï?€Ãï?5î?@?í?´é?@Té?€iì?€åç?@zî?Àì?Ñå?€€é?@ýè?€}è?µé?@=ê?@†ì?À™ç?¡é?@;ê?Àpé?ÿì?Àkå?À'é?@ê?@-æ?Àwè?À;í?Àï?€ï?Ààë?€Dì?€™í?€¯ê?è?@®ç?ií?¿ê?@•ì?–ì?À|î?€…ï?À¾ï?Àãí?@Hï?€ë?¬ê?@ïï?ð?ð?ð?ð?ð?ð?Àêï?Àíï?@ûï?ïï?@+ï?Àï?áï?ð?ð?Ýï?À¥ç?pØ?Àƒ?€g?:?M?$?¢Ô?À³ï?½ï?|ì?àî?À*ï?@ï?À¥î?Àöí?À í?@—ì?@×ë?ÀÖî?ð?@ùï?@ùï?@ûï? ï?Áï?@ûï?@Þï?€Éï?åï?ð?ð?@œï?€gì?Ìï?€äî?âî?€³ï?½ï?@kï?èî?€«ì?@Gë?€Öí?Âì?Àí?À~ï?ÀIï?À£ï?=ï?€Ûî?Àôç?€ûÕ?Àk?€ Ð?eÄ?€OÞ?9Ü?€Ò?€dï?ð?€ÿï?€þï?öï?ð?ð?@Êã?°•?̾?@êä?ð?€@ï?€îÜ?¢ï?@¸é?1Á?€tå?Øî?@ï?€¦Ñ?Ж?À±å?€3å?€åÞ?€Ö?|©?ãé?ð?ð?ð?ð?ð?ð?ð?Àæï?Àæï?Àï?@¼ï?À|í?ÀZì?À|î?@Mï?Àåï?Åï?@Ãï?Àìî?@§ï?ð?€ûï?\î?À½î?ð?ð?€ìï?@|ï?ð?€×ï?@÷ï?ýï?ð?ð?ð?ð?ð?ð?@Ìï?€ùï?Àžï?ð?ð?ð?ð?ð?ð?ð?Àoï?•î?ð?ð?ð?ð?ÀEë?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Oï?@Çï?ð?ð?ð?ð?ð?ð?—ç?’â?Nä?@‘â?©æ?€xì?@åë?Àüï?Ñï?ð?ð?ð?ð?ð?ð?@|ï?;î?ÀMí?ð?ð?À8î?ð?ð?ð?ð?ð?ð?ð?ð?@ï?•ç?@ýí?ì?@xí?€0î?€Ñï?Àï?Àëï?À!ï?€rï?À6ï?@”ï?ð?À§î?€òï?Lï?@‚í?€‰ì?À^í?€Zì?À+ì?€Cì?@žê?@×í?€]ï?Øï?À—í?ð?€¼ï?Àšï?€rî?@ï?ð?ð?@Œí?ÀŽï?ð?ð?ð?ð?€ªï?ð?ð?pî?À„î?ñî?€‡ï?Àœî?@<ï?@¹ï?@‡ï?ÀÒï?Fâ?Àä?€Äî?ð?@¯ï?€5ï?ð?ð?€}ì?Àòì?€Žï?ð?ð?ð?ð?ð?@¶î?ÀYï?ð?ð?ð?ð?ð?ð?€«ï?Àµï?Àmï?ð?ð?ð?ð?ð?@Ëï?@zã?@7î?óî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀUï?ð?ð?ð?ë?ë?€šé?€Âè?€Zè?ð?në?Zï?ð?ð?ð?ð?ƒï?ð?ð?ð?ð?ð?ð?ð?æï?ð?À å?Àeâ?@Àï?Àòï?ð?ð?@Ÿï?€êï?ð?ð?ð?@zï?€¸î?€ßï?ð?ð?ð?À–î?ï?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?"ï?Cï? ï?ð?ð?ð?ð?ð?Àmï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âë?ð?¾ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?€¯é?D°?ú·?à?†µ?€¯ë?Àòï?XÕ?@æ?€]Ù?'Ð?®¹?T§?ÀÙ?ýÜ?Àí?Àîá?Ô¼?€wè?À»é?€_ä?Àï?ì?À‘é?€Fï?€òï?åï?€fï?@÷ï?ð?åï?@½ï?À'ï?ÀAê?ÀÄë?€éì?@ ï?ð?ð?€ùï?À¬ë?@ï?ð?ð?ð?žï?ÀÚï?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ÀÐï?€ôî?Àfà?;á?€¸Ó?@Ãè?ð?Àçî?À#ï?€ï?€²ï?Šï?@Gï?€Óî?Âí?ÀÆï?@Kè?€²ï?íï?€ï?€òï?@oî?€Àì?À1é?èë?€-ï?çì?À<ä?ÀPè?ê?ÀØê?€Áì?ÀVê?Äé?@-ë?ê?€žè?€†ì??ê?€äæ?@Íî?€Áî?Àçî?ÀNë?Àôì?À¸ï?@µï?ð?ÀIì?€¸í?@fã?ßê?€î?Àté?€yè?ªè?Uè?ÀPï?@ï?Àoï?wî?€Îî?À¸ë?°í?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?€5ï?€òï?ð?9ï?€Rî?Àšï?ð?{í?ð?ð?@³ã?B´?€$Ó?£î?Àæï?@Áî?»î?æï?À2ï?@ï?€{ï?Åî?@¸ì?fî?Àbí?Àâí?¸ï?Ðï?wï?Àï?ÀXï?Àï?@Ãï?À5ï?Àoï?@ïï?ð?ð?ð?€Dï?áï?@Åï?ÀÐï?ÀÅï?ÀÊï?ð?@ï?€Žé?@4å?Àÿë?À„ï?ÀÀî?ÀÛï?Êï?Èî?!ï?€/î?€7î?•Ý?Ì®?€j?€d?øž?X²?€Q?€j?€˜Þ?ÿË?ÂÁ?€6î?ð?€žï?£ï?€ïï?ð?ð?ð?ZÉ?Þ?ð?@@í?3Ç?€‚ç?@Íï?§Ñ?BÎ?€â?À°ê?8Æ?Í?]Ú?k?ðŸ?<ê?€×ï?Àôï?ð?€úï?ÀÇï?ð?ð?Àðï?ÀÕï?@‘ï?@Æë?ï?Àòî?€–ï?@Þï?¸ï?ÀÐï?¼î?™ï?@Øë?@iï?€"ï?€žï?öï?€×ï?ð?ð?ÀIï?ð?ð?Àãï?€¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]ï?ð?ÀÐï?Øê?ð?ð?ð?€Šî?€‚í?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ð?€þä?BÊ?ÀŽè?Ãï?ð?ð?ð?ð?À.ï?ð?ð?ð?ð?ð?ð?ð?ð?€dî?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åï? î?Àsí?@¹ï?@ ï?Àuë?À^í?^í?iî?ÀIï?€Aï?<ï?¿ï?ð?€`ï?Ûï?@±ï?À*î?Àsí?€aí?"ï?€äí?€æì?:ï?Àï?¤î?€áî?åï?@7í?2ï?ð?ð?ÀWï?@Îï?ð?ð?@-í?ð?ð?ð?ð?ð?ð?€òï?@ùï?@¹ï?€—ï?€øï?À¡ï?À“í?Àï?åï?¯ï?ð?ð?€|ï?@­î?€;ï?Wî?€¼ï?ð?ð?À4í?ð?ð?ð?ð?ð?ð?ð?ð?€ºí?~í?€úï?ð?ð?ð?ð?ð?À.í?@Lï?ð?ð?ð?ð?€è?€må?Àéæ?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oî?ð?ð?ð?@iî?@¯ï?ð?ÀÈï?Öê?ð?„ï?Àkí?ð?ð?ð?Áï?Àôî?ð?ð?ð?ð?ð?ð?ð?Êï?ð?@;â?ÀMê?Àîï?Àîï?ð?Àëï?îî?Àsï?Àï?\é?Àñì?;î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀPï?€Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?€§ç?À?à€?H™?€Ð?ʱ? s?.å?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?ð?ð?ð?ð?ð?ˆí?˜”?4¸?@áâ?\?\?€•Ð?€ã?€üé?@@ä?0Ä?©?ÊÍ?=Ö?GÄ?ŒÅ?Ȭ?0?kÆ?€ØÚ?€¥ä?€vë?€ñÕ? ß?Û?€4ç?€Ýì?€ië?€êë?À‚î?€×ï?ð?ð?€ôï?Àôï?ð?@´î?À«ì?@«ë?Ànê?Àë?ÀÍë?€óì?ð?€éï?€ï?€¤í?ð?ð?ð?ð?ð?ð?€øï?ð?ð?@ïï?@žî?ð?ð?@”ï?Ìî?À°ï?@§î?€sï?Ûï?@Òï?@Cï?Àbî?ð?@ï?€Øï?Àé?€òï?Àµï?@ƒï?@iï?@ªî?€\ï?Àêï?ªï?Õï?çî?@ùï?€Öî?@*å?@í?ÀËí?€è?€Hï?Öï?€Fï?í?€çå?ÚÌ?€äÚ?Àjí?@í?@?î?À(è?@—é?€Cê?½è?@‚ê?@Då?@ªî?@ë?€øï?Ðî?€^ï?ð?í?î?€'î?@Ââ?ê?îì?Àçê?@ â?@ýë?¯í?€ï?À–é?@ í?@fí?zï?Àôì?@iï?À¹ï?ð?ð?ð?ð?ð?ð?ð?Àôï?À@ï?€Zï?çî?1ï?@Ýî?Àªê?@Iç?Àüï?ð?@ïï?@èê?À÷ä?§ç?ÀQé?À&å?€}à?ü×?À?“?ˆ?€«Ü?í?ï?Éî?@<í?Àï?ð?Àªï?@‰ï?€Kï?@6í?Àÿí?Àúí?€Wê?@‚ä?@­å?€oî?@´í?€î?@Ÿï?À‚ï?À™ï?Àîï?@üï?ð?ð?ð?ð?Éï?Àúï?Îï?òï?Àôï?ð?ð?ÀÁî?Àë?€í?@|ê?-í?€Åí?Šï?ð?ð?Àôï?@Þï?@ií?À á?èÝ?€{Ñ? È?¨¦?ùÆ?ŽÜ?Àmä?‹â?ÿÚ?@ä?Ç?ð”?Nã?Àï?ð?ð?Àìï?ð?Àï?ð?ð?€KØ?±?€˜Ü?ð?@Uì?Àüà?[Æ?€AÑ?qË?&Ò?ì»?¶â?¹Í?Øœ?Ï?&¾?€Ø?€ëÖ?‚Å?À%í?ð?€Ÿï?€¼ï?Àþï?“ï?@ï?À¥í?éï?Àëï?Àâï?€Cï?@Þï?@øï?Àí?€î?€Îï?€×ï?Àšï? ï?Àï?ÀÃï?€sï?À‡ï?Àëï?€þï?ÀÐï?”ï?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?À<ï?ÀÎï?ð?€Mï?À@ï?ÀNí?@©î?Mï?€×ï?ïï?@4î?@˜î?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iï?Àê?À»ã?ÀŒì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?öï?Àëï?ð?ð?€Öî?êï?€Çî?@që?€þï?À"ï?ÀXí?@-í?hì?ÀÁî?î?@öí?ÀÏí?‹ï?åï?€‡ï?ð?€ßï?€Oî?€í?€Àî?Àëî?@ï?(ï?°ï?°ï?Cï?@Nï?Àï?.ï?€Õî?áî?Àuî?Àî?Êï?ð?@^ï?€×î?@èî?ð?ð?ð?ð?ð?ð?€×ï?çî?Àë?@±å?Í?À½â?@Æç?À8ç?ð?€Æï?ÀÚï?ð?ð?Àìî?@ï?ð?ð?ð?Ží?ûï?ð?ð?ð?ïï?ð?ð?ð?À¾ï?€Ãï?@î?ð?ð?ð?ð?ð?ð?@âï?ð?ð?Àìî?€ç?@+ì?@Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Šï?À‘ï?ð?ð?ð?±ï?@Öï?åï?À˜ì?€ ï?ð?@Ãë?@²ï?ð?ð?ð?€ïî?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?€î?ÀÀ?€?ÀÓì?ð?ð?ð?ð?Àðï?§ï?@%ï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?€ºÛ?i?І?€ZÜ?¬Ê?€î?€³â?ð›?€Ñá?ð?ð?ð?ð?ð?ð?ð?ð?“ï?@/î?ð?@öî?@Ïî?ð?ð?ð?€ÄÞ?Y×?ÑÓ?>?@c?®?Ð?Àuå?€Mß?;Û?€ ß?€×?ˆ?ø¥?WÈ?̪?ùÄ?î?Àˆì?€‚î?ÀTì?5í?€Âï?À?í?ð?ð?@ï?@Ñì?@î?î?î?€£ç?Àˆë?9Ï?@‘?ˆ¬? r?ø›?€mê?€…ï?@Oê?À1ì?ð?ð?À¸ã?@i?´Ä?@úì?€«î?@0ï?€Fì?ã?À£í?ð?ð?€ßï?ðç?ô¥?€Ö?€Áï?@(î?€_ç?Þ±?Vµ?\À?@Mæ?’è?_Þ?Œ?| ?°†?$Î?Qá?€•é?ÀBá?Ô ?óÇ?ÀŽé?åï?ð?ð?ð?ð?ð?@ïï?ð?ð?ÀŠî?×î?@‹î?@½ï?ð?ð?Üï?€eì?@î?ð?ð?ð?€šî?À[ï? í?€±ï?@Þï?@Mï?@íï?ð?Àëï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¬í?@nï?€>ï?ð?ð?ð?€Ûï?*ï?ÀÐï?ð?@îí?ÀCï?@¢î?ÀÀï?€¼ï?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sï?À3ã?€Œê?ð?ð?ð?ð?ð?ð?ð?ð?@kï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ÀÂï?À6ï?À…ï?Àúï?Àœï?€«ì?@“î?@2î?€Lï?€èì?€ï?€%ï?€íï?Àî?À€ï?ð?@¾ï?Àî?­í?€½ï?€´ì?@ßî?@ï?«í?€›ï?€×ï?€Tï?Àï?@Dî?€sï?ð?ð?Àí?Àùï?ð?ð?€Ûï?@‰í?€ï?ð?ð?ð?ð?ð?@Mï?€Ôî?e×?€þÑ?¼Ì?€®í?¢î?ÀÄï?ð?ð?@¨ï?ð?ð?ð?ð?ð?ð?ÀWë?LØ?ºí?ð?ð?ð?ÀÆï?ð?ð?ð?ð?ð?À<î?Àñî?ð?ð?ð?ð?À&ï?Àwï?ÀOí?ûí?@Æé?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žï?ð?ð?ð?ð?~ï?ð?@«ï?@³ë?cï?ð?Àë?ð?ð?ð?ð?ÀËï?@Sï?ð?ð?Àëï?ð?ð?ð?ð?ð?@Lå?˜Ä?Àôï?Àëï?ð?ð?ð?Ìï?€€ì?@”í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?Àbî?Àì?óë?'í?Àëï?ð?@ˆï?ƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àœï?€Ò?°›? €??€p?ƺ?cá?€2Ñ?k?žÚ?€×ï?ð?ð?ð?Àëï?ð?ð?ð?€=ï?@øï?ð?€å?€Ôí?ð?ð?ð?À¾ä?E?€¨Ó?K?Z?ÇÈ?“?A?À¤à?ð?€]ï?€#é?wÈ?¢?H¥?`?à€?4£?t×?Ç?€øÕ?@r?OÊ?×Û?ïç?ð?ð?Àëï?@Rï?ð?@ëï?Àçï?öï?€òï?Àkï?ˆç?À(ï?€é?ë?üê?ÀØï?ð?@§ì?€‡ï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?Ýï?€7è?€ î?@”ï?ð?ð?@Ôï?²ï?ð?Àùï?¿í?€iè?À<ë?@'è?î?@¨ï?|î?@øè?€êí?@ÿí?]í?Àcï?@Ýî?Àøê?žÎ?@Üå?@€í?ð?ð?ð?ð?@ˆï?ð?€)ï?@Îã?ÀZê?@Zí?€Pí?@fí?¡ë?‡í?Wí?@¿ê?€ ì?À/ç?€Áï?€ì?€Ãì?–î?†ê?€uè?Ææ?@Eê?Àûí?3ì?¬ã?À‘ë?€9ê?/å?PÈ?@dè?‡è?€™ê?€·í?€ï?¤ï?€–ï?€ï?€ÿî?€¼ï?ÀÕï?@øî?€óï?@Œï?ð?@Ãï?Uî?@<í?À1í?Àï?€¼ï?Àîî?À|ï?€‰ï?lî?@Jï?ð?ð?Àµï?@ùï?åï?úÈ?X’?ß?€‰æ?¹í?€ºã?€Yí?€¬í?€Aî?ð?@ùï?ð?@¢ï?Àë?@Jê?€÷î?—ì?€Ìî?@í?Àì?Àë?;ï?€²ï?oï?€#ï?€Äé?€ï?@^æ?€šà?À)â?Àßê?€òï?ð?À«ï?€èï?ð?@òï?€Uë?€¶ï?Àfï?Àï?Àí?€ ì?€µì?À‘í?ƒï?qï?ð?À…ï?ð?@¶î?@í?€½ï?@Þï?@¿ì?`í?@ùï?À¿ê?@5â?¼æ?tÊ?Ø”?ï?@í?2î?ÀÒë?€ä?€Më?”í?ÀÚï?@|ï?Àï?ð?ð?ð?ð?Àÿï?Äë?@ˆâ?\ï?ð?ð?ð?ð?ð?ð?ð?ð?@<ï?@‘ï?ð?Àï?ð?ð?ð?ð?­ï?\ï?@Áì?Ànî?ÀLï?ëè?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?@<ï?›ï?ð?€^ï?€Yï?Àðï?ïï?ÀXê?@Úï?ð?ð?ð?ÀÐï?€ï?ð?€òï?@ï?@ùï?€†ï?ð?ð? ï?yÈ?§ß?ð?ð?ð?Àõï?À¿ï?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lâ?IÏ?ªß?€.ë?@øï?Ñî?Ãî?@­î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€_è?€¿ç?@]é?—Ô?K?:¶?˜¨?@d?$?0?€ÂÐ?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oë?€¢Ô?¬Û?€ïß? ?x?<¬?àÌ?iï? Ù?„­?h¤?D?8À?€a?@~?“Ð?CÒ?€ì?@Þï?ð?ð?ÿï?ð?ÀØï?€ýï?¯ï?ð?€ãï?Qï?ÀNì?ë?@}ë?€½à?€eî?Jî?€Ðï?Ÿï?@Ãï?ð?ð?ð?€òï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?Àåï?Àéï?@…ï?€íï?ð?ð?ð?@ñï?Àùï?ð?@Æï?@ï?´ï?€óî?Àî?@Íï?À³î?Qä?À}å?€)ì?@Iï?@Öí?ë?À“ï?)î?€Té?Àìè?@ï?~ì?À¬ë?î?ÀÈï?ð?kí?€1ï?@}ê?À1ë?@Fï?@Nå?Àhç?Àºà?À9è?âî?(è?Àòí?€…ê?€‘ï?¨ï?€Ôî?Ëë?€è?Àí?Àwí?ÀÅè?ÀÌî?€î?@Îì?€é?@é?@äâ?ÀGå?@Éì?À¤ì?ÀÓí?@bä?@@ê?Gî?€?ï?€>ï?1ï?ï?€{î?ÀFî?@Åï?üî?†ï?Àýï?@Çî?ÀÓî?@fí?@éî?À'ï?aï?@ï?€oê?€èî?Àmî?€üï?€‰í?Àqî?ð?@5î?“?p?4â?ÀIí?“î?@\ì?Ëç?6é?€í?ð?@ëï?@Äí?Þî?€êí?€<ï?@ï?@©ë?€Oî?Àî?‰í?%î?€×í?€xî?À¤î?€Fî?€\î?œî?@¯ä?€îà?À0è?Àå?€Vï?Àÿï?@Þï?ð?@ùï?€Îì?@Ïç?Àuî?À/ï? ï?ð?€më?@fí?Àî?€_ï?ð?€ÿï?@-í?Dî?èë?€lï?@þï?@îë?€ðê?Àcê?…î?€Iï?@í?Ùï?Éí?Ý×?È–?°?@éà?€sè?@æï?ð?ƒî?€Oã?@ï?@óâ?@i?I?F²?@´î?­î?€èï?@éï?ð?ð?Þì?ÀÄà?°†?çÎ?@Âë?€²ï?€Zî?À‰ì?€:é?ÀVå? £? ”?€Ý?@]ê?€nç?€ù×?X˜?€i?Á?Ú?gï?€†ï?ð?@î?ÀÕí?@±ï?@­ê?ÀÒä?$á?€æî?@Ýï?ð?ÀÃï?Ôï?@“î?ð?Àsï?@{î?uï?@í?€~ï?€Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€î?ð?ð?ð?ð?ð?ð?€òï?@ùï?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?Àpï?õî?À"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ã?ÀŠï?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eï?@ ï?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?ð?@™ï?Àoï?€×ï?ð?ð?ð?lï?€ëî?Àlï?Tï?€Üî?ð?ð?Àòï?ÀÞï?@ùï?À¯ï?€Œï?Àøî?ôî?€,ï?Àðî?Àüï?öï?€uï?ð?€²î?Êî?€Øï?À›ï?4ï?¯ï?Åï?šï?Àûï?ð?ð?ð?ð?ð?Àºï?Àqî?Àï?ÀLî?€vï?@½î?€mí?À#î?[ï?€vï?@8ï?@Íî?Óî?@Yï?rï?ð?ð?ð?ð?ð?1ê?Àšì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?@‰ï?ð?ÀÚí?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?Àìë?€Ãâ?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rï?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?åï?Àï?ð?ð?€üî?ð?èï?Àcæ?€7ì?ð?ð?ð?ð?ð?ð?€¨ï?ð?ð?ð?ð?ð?€Ñæ?€éà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§å?øÑ?@Âì?€ùï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?Àäî?ð?ð?ð?ð?ð?ð?‡Ì?#Å?€[Ó? „?éÈ?”§?§À?ø¾?T?€‘Ó?€ÏÑ?ê³?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€jê?¶? š?ˆ¶?|­?À{?ä¬?è®?T¡?€¦?˜¨?Í?@Më?=í?À¦î?ð?Àuï?ð?âí?€ãê?€?ï?øì?@<é?€ïî?Àï?¡î?ð?ð?€Øï?@Âî?ìï?ð?Àï?ð?Üî?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?Àwï?í?ïï?øí?‰ï?@Êï?@Èï?ï?òî?@Œï?@Õï?åï?@6ï?´î?€rê?@dí?€ÿî?â?ï?~î?ð?@øî?€Tï?@î?@ï?@Fè?@Ïí?€ýé?€Jë?@¢î?€‰ã?Àhí?€.í?Àíî?zï?€^ï?Àç?@à?@Ûã?À/ï?€ ì?€Üä?î?@‰î?Àˆê?À•í?uå?é?€Èì?Aê?€‹ì?€|ì?€àé?@Ôí?€»î?@í?nì?À-í?À•î?iê?À]î?†ì?@wï?Bï?ÀRî?À¸î?Æì?€Oï?€(ï?Àèï?@ªï?Àjî?ÀÝê?À{î?ÀŠî?À_ï?€–ï?€åï?ð?€žæ?€½Ð?Lï?@òî?À!ï?@ ï?Àuî?uï?€®í?©ï?@ïì?–ë?‡ë?€€ï?Nî?€ï?.î?çí?Àxî?€î?€×ê?€Qî?@žï?@¡ï?ÀYï?€Qí?€Üâ?‰ã?À9ï?Àÿí?À2ï?ÀÜï?Àïï?@ùï?ð?Sï?€øì?€”ì?Jî?À}ï?@oí?€<æ?€ Ý?@ë?¾æ?€kï?À¯ï?9î?@î?À\ì?À„í?€ñê?€Yï?€rï?Àµï?³ï?Àüï?€/í?èÜ?gÊ?T ?º?€×Þ?€rß?âÓ?ÀÌà?¥î?@î?€dí?ð?ð?ð?À^í?€ÏÚ?Œ?€jà?á?@¡ì?@²ï?ð?ð?ð?ð?ð?€dÚ?À–?w?€æ?ð?@øï?@fï?Àì?€Ý?Ö¶?@à?Àë?ð?ð?@òï?€dè?€ùÕ?ˆš?²±?€–ß?@wê?œï?Èï?@Þï?ï?@êï?€lî?€Nì?Áï?«ï?@±ï?ð?€âï?Àpï?€3ï?ÀDï?€¡ï?À8æ?ºí?@fï?¯î?€“í?@î?»ï?€èï?ð?ð?ð?ð?ð?ð?ð?ÀŒî?ð?@Ôï?åï?ð?ð?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆï?@°ï?@Ãï?ÀÝï?€«ï?€Æï?ð?ð?@Jï?@ùï?ð?ð?ð?€Ií?@³î?ð?ð?€5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óë?€Óâ?yæ?@²ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0ï?ð?ð?ð?ð?ð?ð?¹ï?Êï?Àµï?ð?ð?ð?ð?Àëï?Êï?ð?ð?ð?åï?ð?ð?€òï?@‡ï?@|ï?@Àí?À¯î?Bï?ð?Àpï?ð?ð?Àî?ÀÐï?Êï?Àï?À§ì?@{ï?@Xï?Êï?Àºê?€ßï?´ë?ð?ð?ð?ð?ÀÃî?@âï?’ï?áí?Êï?€~î?Gï?€Sï?@ôï?¥ï?€|ï?@Tî?@êî?@ƒí?@úî?ð?ð?ð?¢ï?€ºî?ì?€«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@oç?€‡î?ð?ð?€uï?@Ôï?ð?÷î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?­ï?ð?ð?ð?ð?Àï?ð?À”ï?€úç?"ë?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?sÊ?Þá?ð?åï?ð?ð?åï?ð?À†ï?ð?@Èï?ð?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À{í?À}é?ð?ð?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?KÈ?€/ß?NÀ?6? „?À­à?Àí?€Kï?À„ê?èÇ?¯Û?@æ?€Z?€Xë?ð?ð?ð?ð?ð?ð?ð?ð?ÀZï?€›ï?¬À?.³?à©?£Ï?€µÓ?©À?vÁ?@?QÔ?Wæ?€žÞ?÷Ó?ºÈ?Ö°?€/Ù?@Óá?À¥ì?ÀÑï?Àëï?@ùí?ð?Lï?@Mì?í?€Ÿì?Àjí?Âë?€âê?Àí?ÀÀí?(ï?€¸ï?ð?€†ï?€¡ï?ð?€òï?Ïï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?üï?›ï?oï?vî?€×ï?Àeì?Àï?ÀMï?ÀXî?@5î?ð?€sí?ð?Àî?@‰ë?€Ûì?€#ì?Ié?@¯ê?À€ï?@Zî?ð?ð?ð?ð?ð?À_ï?ÀÝä?€óê?Àê?™æ?À»á?@}ê?ß?âæ?€Ãï? ï?Œí?€¿â?ÀÕè?€Fï?À»î?€Lé?—î?À—î?Oï?Àçì?@@ë?ÀÖê?@˜ë?oå?Àìê?@÷é?Àî?€ë?Xî?Àñë?&î?Ãë?ÀÃì?À¾ì?î?€Cî?À†î?@Aî?€Ÿï?€úï?€ï?@ï?¨ï?€‰î?@Äï?èí?À£î?@^ï?Ànï?À:ï?€†ï?ð?ð?@§í?r¸?0Š?€DÚ?@Šï?ÀÆï?€í?`î?@øï?@ï?€óæ?¥ë?€œî?£í?åë?@åí?€Œî?@‰î?¢ê?€Üé?Àèî?õï?Àéî?Àeï?Rï?À›ï?À&ï?íë?€óß?5î?€Yï?€Íï?€wï?Àçï?ð?@ùï?€Æï?À5î?@pî?@²î?€ˆÙ?€Þ?@Æá?‡Ò?à?@Aæ?Jí?ãî?€µî?@½ï?€dï?üï?oí?ð?ð?À7î?@òè?¡á?ûâ?é?@kí?€ â?ÙÂ?€ë?Dì?Àìî?Àµï?€‡ì?@Fî?€8î?ÀÐï?/ï?@ë?€÷Ù?Þ°? È?˜­?ÿÌ?ÀÆï?ð?@Ãï?ð?ð?ð?@¾ì?~Ê?S?Àb?}?€X?ãÏ?À²á?ê?@Ïï?ð?ÀÁï?@ií?€‹î?@ ì?Àï?@Ùî?À°ï?@¦í?ð?À×í?€•Ø?ÉÖ?üí?@òï?ð?ð?ð?î?@|ï?@jí?À‡î?@‡ï?Àiï?@pî?€Oî?Àì?@ í?ï?Âí?Àsî?˜ê?@Ãè?@œì?ÀTí?ÀKî?Wï?Àðï?@3ï?@Ðï?ð?ð?ð?ð?ð?ð?ð?§ï?€óî?@·ï?ð?ð?ð?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?×ï?À¿î?ð?ð?ð?ð?ð?ð?ð?×ï?Àpï?ð?@~ï?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥Þ?@Cç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€=ï?€çï?À»ï?ð?€Éï?@þï?€¹í?ÀÙì?ð?ð?uï?€sï?ð?ð?®ï?À¨ï?@|î?ð?ð?Þî?@òï?ð?Àûï?@3í?€Óï?@òï?®ï?ð?ð?ð?@èï?€Ëï?Àé?€øî?@åï?€Üì?@úï?ð?Þï?ð?À‹ï?@†î?@Ðï?@Oï?,î?€qï?À/ï?ð?ð?ð?€ûï?õì?€Gí?@Úï?ï?€zï?ð?ð?ð?ÀÞï?ÀBï?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*î?@uí?€Õï?@Éï?ð?ð?€óï?ð?ð?ð?€@ï?ð?À`è?€ÿí?ï?Éí?Àrï?ð?ð?À?í?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?ð?ð?ð?ð?ð?€øï?ÀÀï?€ ë?Øã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤í?€°Ð? q?€Ô?À®á?ð?ð?ð?ð?ð?ð?ð?Àûï?Àäï?ûï?ð?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ßë?ð?ð?ð?²ï?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?@wä?ˆÙ?@¹î?åÌ??²à?Àóî?ð?ð?€ÿï?yÓ?HÉ?€IÒ?€ÎÝ?ð?ð?ð?ð?ð?Þï?ð?ð?€÷ï?¤ï?ÅÁ?·á?@Xé?†Û?€u?@?@àë?@î?Pë?@Kã?BÁ?àà?€Ãè?Àbï?€xï?ÀBä?¬ì?€ïï?@˜í?€|î?@Õï?€í?Cè?ÀOë?€kï?À„ï?Àþï?ðï?€/î?@sï?˜ï?@úï?×ï?ð?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?@òï?À?ï?À´ï?@Ðï?ð?ð?ð?ð?ð?€äî?–ï?ð?ÀÍê?ÀÅï?Vî?ð?ð?ýï?€Õï?Àùî?€ùï?@í?€Ìï?ÀÉí?€î?@<î?/é?ð?ð?ð?ð?ð?ð?ÀÈë?€Kè?@Sí?@ñî?€tî?[ì?Þ?€Zß?ºç?€žê?ÀKâ?@aá?ÈÈ?é?Dë?Àuî?tï?À¨ë?Àôç?@bì?@“í?Ø?@êà?’ä?€Âì?€öì?@Ñê?À¼í?À æ?vë?fç?@í?@#ê?@‡æ?Êß?À?ç?@Xì?€&ï?kî?€-ï?@Üï?ð?@ùï?üî?@í?€ýï?€@ï?@Ìî?ÀËï?7ì?€Óì?Àîî?Àíï?À"ï?ð?@hå?‚?Çë?éï?À¼ï?@²î?€aê?@3è?ã?€Žî?€í?¶Ó?¨Ö?€7ç?0ì?7î?€!î?€óä?@kì?ï?Àëï?@±ï?€€ï?€>ï?@¬î?À°î?+î?€€î?@`ï?òî?€Íï?ð?ð?ð?€ôï?€õî?Lî?ÀMï?Àjí?@¯à?%à?@~î?À”ã?€Ëå?À‰ë?Àbí?@²ê?€ï?ð?ð?À÷ï?ÀHî?€ýï?—ê?ëâ?*Ð?Ìã?€ï?ð?ÀÔï?Èï?úÍ?ä¦?ðž?N?ÀÉ?@ä?À2ï?®ï?@Æî?)î?€ûî?€ í?À9ï?ð?†Ü? å?ð?ð?ð?Àäï?ð?€«ï?µî?€Û?Àr?Àž?¯Ä?Dç?ÀÔê?€,×?€­ã?_ï?@¦ï?ÀMë?Àßî?ð?€÷í?ÀÙî?€ãë?€Vï?€›ì?@í?@—ï?@Aï?À<ï?ÀÈî?À¼ç?Àiï?Àóï?@oï?À8î?ÀMí?@ˆî?@Ñï?—ï?€(ï?@Ýî?@ ï?À³í?Àï? ì?æî?À¦ì?Þë?Àýí?@ë?@ë?€Éï?*ï?À»ï?ð?ð?@œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?ð?ð?ð?ð?€³ï?€}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTà?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À¢ï?Àë?€ôï?@ï?€ëï?©ï?€êî?€oï?€äí?Pï?À:ï?À)ï?×ï?ð?@ßï?ÀÑï?²ï?ð?ð?ð?Àµì?Àóï?Àî?€0í?À§î?ð?ð?ð?ð?ð?ð?€Âï?€Qï?€jï?€™ï?€pï?ð?ð?ð?ð?ð?€¤ï?ð?€óï?qî?@ï?¬ï?ð?ð?ð?@ ï?Àï?Áî?@Uí?ð?ð?€ï?ð?ð?ð?ð?Âï?Àûï?€…ï?€éï?@Óï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?æï?À´ï?ð?Àï?ð?ð?€êï?ð?ð?@ëï?ð?@,ï?@î?@4ï?Ÿï?Àäï?@òï?ð?ð?Ààï?×ï?ð?ð?ð?@ýï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?½î?€|ã?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«î?|Ä?$¼?€†ã?Qé?€ëï?ð?ð?ð?ð?ð?ð?Àïï?@òï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?@ëï?ð?ð?€óï?ð?€“ï?>ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?@¸î?@£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?¢Ú?+Æ?€ã?'Ú?ð?ð?î?ì?€:í?³Ë?,¢?€{Ù?@Ôá?BÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAï?nÇ?Z¹?¸”?@¨à?@eå?­Ç?Ü?Àcê?Šç?ìÔ?€â?€gæ?Ïì?ÀAé?€>å?€Óï?íï?Àîî?üì?À©ì?Àïë? ï?@Ví?@,í?,ï?@úí?€_ï?@ï?À­ï?Àµï?Öï?ð?ð?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(î?Àï?ÀQî?À}ì?ð?ð?ð?ÀÝï?ãï?ð?Àáï?ð?ð?ð?Èï?Êï?ÀÚï?@âï?€ší?@Xì?%ï?@Ïî?Àøï?Àäï?ð?çï?Àî?ð?#ï?ð?ð?ð?€uê?@­ê?Ààî?âî?€wï?@Ðì?Àäï?ÀWì?Àæë?fÜ?Àå?À~î?À²î?¼?ˆœ?Àéá?µî?Àöí?ð?@]ì?€/í?€jè?€/ï?À#í?Àwç?@íì?À½ë?€¥ë?€çí?@Üî?€³ï?À’î?@Gï?@Òì?ÀSï?Àï?>æ?ÀÂê?Àï?Ànî?€ë?@ å?Žé?€*ï?@òï?µï?€ï?ð?€óï?€…ï?€Âï?ð?€ëï?€ªî?…ï?ð?ð?€â?A?@‰?@¯é?@lï?À”ï?Éí?@à?FÞ?€þå?À¢ì?@6ç?æ?@;í?³ê?€î?ÀÚî?Àðï?@ï?ÀÝï?€êï?À°ï?ïî?Ÿï?@î?Œï?@Sï?€#ï?Øï?€Âï?Àfî?@ï?@ùï?@Âï?@œï?ð?À”ï?ÀÇï?ð?@ ë?@è?áë?€vì?@Ìç?À—î?Ëì?@$ì?€Sï?€Gï?ð?ð?€áï?Àì?©ë?ÁÍ?¼?€/å?Àˆî?ÀGï?ð?€^ï?À!æ?@,ä?9ê?ðÓ?4±?:?y??Ù?÷í?nç?ð?ð?Àýë?©î?î?¸ï?ð?@öç?{?€Ñå?êï?Àúï?ð?ð?ð? î?€Ÿê?@Rî?n»?¨‘?Ô­?âÑ?€òÝ?À!ã?@Iá?@÷è?ð?@ÿî?€_è?Àví?ð?ð?€ôï?€?ï?€–ï?À¨ï?ð?€zï?ÀÕï?Àí?™ç?€Cì?@çì?mï?@Óï?ÀÅï?€ë?€×ï?Àï?îî?ÀØî?@Ÿî?îî?ÀHï?ÀÕï?€Ôï?ÀŽï?/ï?^ï?À†í?@|ï?@Ðî?@Øî?@çï?ð?ð?ð?ð?ð?ÀÎï?ð?ð?ð?ëï?ð?ð?ð?äï?ð?ð?ð?ð?êï?ð?ð?ð?ð?ð?|í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ÀÀï?ëï?ð?€ïï?Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kï?€zè?À™â?€ôë?@'ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨î?À­í?Íï?ð?@ýï?ð?ð?Áî?Õî?˜î?€«ï?ð?ð?ð?4ï?ð?ð?Éï?Àï?@î?ð?ð?ð?ð?ð?€àï?kî?€Àï?ð?òï?ÀAï?ð?@ï?@×ï?Àþï?ð?ð?ð?ð?ëï?ð?ð?ð?@×ï?Äí?­î?aï?î?ð?ð?ð?ð?Àßï?À>î?@ê?ñì?í?ð?þï?áï?ð?Àÿï?€lï?€í?òï?@ýï?@#ï?À¬î?@¡î?À„î?@î?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?@xï?@ºï?@Êï?€vï?ð?ëï?ð?ð?ð?ð?ð?ð?úï?Àðï?Æï?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ànì?pî?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ÀÛç?³Ä?H ?€Fê?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?@Âï?€ãî?ÀÊï?€¸î?ï?€î?@ÿí?€ïí?€ î?µî?€ ï?€¯ï?€Kï?À‹í?ð?ð?ð?ð?ð?ð?Àæï?@°î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?€´ï?ð?¿î?@´ï?ð?ð?ÀGâ?ÀTç?@èï?@~î?€kÒ?@‰?€~Ø?5å?|ç?ÀÚì?pŸ?ì­?@•ï?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?@:ã?ÍÈ?­í?+Ù?€™Ú?ôÒ?ø¶?vÃ?@›é?€ùî?\£?Pƒ?€‹Ú?4å?€‡é?€©á?€aè?À§ê?€%ë?Žï?ð?À6ê?ÀXì?€»î?$î?À‚ë?Àé?€°ì?Àÿï?mï?Îï?ïï?ÀÕï?ð?ð?Àÿï?ùï?€ÿï?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€½î?€þï?ð?ð?@Lî?@%ë?!ï?õï?^ï?ð?ð?ð?ð?@ï?‚ï?€Yï?À¾ï?€©î?<î?@Ìì?€ýï?À²ï?ð?ð?ð?ð?Àáï?ð?ð?@ýî?À²í?À½ï?ð?À÷ï?ð?€úï?ð?ÿï?@#â?l­?ÛÍ?€rí?^í?ÓÄ?0?Àÿæ?ð?€ï?€ì?@§ë?À¢í?@zï?@Öí?€sï?äï?À_ï?€vì?ÀÄî?@ î?Îí?€×ï?€Cì?rî?€Öë?€~ì?ÀXï?ï?Wï?€ií?Àxï?@Îï?ÀÊí?À§í?€Ôë?€8î?Oï?@Šï?@;ï?€<î?Àê?@Jï?À*ï?‚ï?ÀÇï?€–ï?ð?ð?ð?€âÑ?€Y?÷Ã?@`?ª?ÀTë?€Àï?Üì?€½í?ií?À›ï?@1ê?Àêï?Àˆë?À†í?ð?Úï?ïï?@4ì?À„ï?€ºï?Àüí?=ï?À–ï?jî?@6ï?@Åï?Œî?€”ï?ùï?@¯ï?@µï?@èî?@ï?À{ï?Àêï?@áï?Àãï?ëï?@î?€=ï?ýï?@×í?éë?é?€î?ð?ð?@ï?Àï?@¼î?ÀØí?ï?ÀËî?@þï?Àÿï?Àeî?]Ü?@í?€øï?€ãï?ÀÕï?€–ï?@zï?eï?ì?Àöï?@Üï?Àfë?Ñ?Ð?€6æ?Àné?Àõë?ð?€ôï?@¹í?ÀÙî?åï?ÀÚî?ð?ÚÕ?¼À?ÙØ?<©?ž³?©Ð?@òé?ð?ð?@©ï?€ßï?ð?ð?ð?Àùï?%×?¨º?¤?AØ?@„ï?À@ï?À¹ï?@ï?<í?€åï?À«ï?€ýï?@aï?ð?ð?ð?ð?ð?Öï?Àtï?Ðï?ð?ð?Kï?ÀÊë?ÀÍî?¹í?Àhï?@Àï?&î?€Xï?Åï?Ñî?@aî?@„ï?ÀŒï?Rï?ÀŸï?€Wï?€Þî?ÀPï?Àüï?ÀMï?Àùï?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?€¬ï?ð?ð?ð?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?_è?€œé?@bè?À!ë?sê?€¹ï?ð?ð?@î?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?’î?ð?ð?ð?ð?ð?-ï?ð?øï?€ÿï?ð?ð?ð?€ï?ð?@üî?ð?Àãï?ð?ð?ð?ð?ð?€Íï?€|ï?ð?Zî?ð?ð?ð?ð?ð?@œî?kì?@Ãï?ÀÕï?ÀÕï?€Øï?úì?Àeï?Åï?&ï?À?ï?íï?ð?@Zï?ÀÕï?ð?À¹ï?@Wï?@~ï?@ùï?¶ï?Àï?€ï?ð?ð?ð?@úï?@ûí?@î?À’í?€]ï?iï?@¨ç?@¸ï?Iï?@Vï?@Ñî?ð?ð?ð?ð?ð?äï?€kï?ì?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?íï?ð?ð?ð?¸ï?@[î?@Ðî?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@aï?@ïï?ÀÜï?ëï?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?€×ì?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?'å?€öÜ?€Ò?ÀÔ?uî?€úï?ð?ð?ð?ð?ð?€²ï?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?À+ï?Àï?ð?ð?À‘ï?€çî?Èï?ð?ð?ð?ð?ð?ð?ð?@¦ï?ÀÜì?@;í?ní?€Qï?ð?ð?ð?À&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]ï?¬ì?€Ýí?×ë?°ê?@Fê?Àï?¦Ç?€3à?ð?ð?@ í?9Ã?€b?@&í?ð?ð?ð?ï?ð?€Åï?Àåï?ÀØè?vÕ?%Û?pŸ?Àl?2?ÖÉ?@§å?Ø´?¤¬?x”?І?Àå?Íæ? Û?€’Õ?€Ô?€EÝ?@™ë?€¡ì?ð?ìí?òï?ð?Àrì?€«ì?yî?€9ï?sï?ÀÚï?€/ï?ð?ð?ð?ð?ð?@úï?Öï?€ìï?À ï?@î?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?@rï?ð?ð?ð?ëï?ð?ð?ð?ð?ð?@Îï?@Ùï?Àƒî?€Üí?ð?ð?@œï?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?@Vë?@uì?€Þ?è¤?€HÔ?€@Ü?€™?QÑ?:ï?€‚ï?Àçí?Eï?3í?Êï?ªî?0ï?À9ï?€ï?¿ç?Àì?€í?@öë?À¢î?æî?@<ï?©î?À£î?@ìí?@ôî?ôì?rï?€›î?8ì?€Lä?@†è?1í?€|ï?€…ï?€ùï?ð?€jî?€í?À«ï?Àí?€ï?Àùï?ð?Ïï?ð?Àï?HÅ?€@Þ?—ã?Í?¾È?€8è?@jï?À]î?Àüí?ÀXî?†í?@[ì?³ï?@_ï?Ýï?ð?@ î?@Jï?ÿï?ð?@Ùï?Àüï?@úï?Àéï?@ýï?ÀRï?À˜î?Zë?Àyï?Àãï?ÿï?×ï?€uî?¦ï?Îì?@ì?€Sï?°ï?ÀÔî?€âè?@žï?@rï?Àíï?ð?@î?Àlï?À¡ï?áï?žï?Æî?ÀÜï?€nï?€ìî?€ùí?À<ï?€ôí?€-í?€ï?ð?áï?Õí?‡ï?€Ûï?ð?ð?ð?rï?@úï?ð?ÀJà?ʲ?€]Ô?À,ä?@§ï?1ï?€÷ï?ëï?ð?ð?€Uî?@â?±?€Jç?@ì?€šï?€ºî?ýï?äï?ð?ð?ÀÜï?ð?ð?ð?€çè?¼À?0ã?€yà?!Æ?DÍ?¹È?€Ù?ðé?ð?ð?ð?ð?ð?ÀÕï?äï?ð?ð?ð?ð?ð?ð?ð?€÷ï?rï?€ˆï?ð?Àðï?@•î?ð?@î?Hî?@Sï?éí?@ï?@aï?µî?À’ï?@ñï?€¼ï?€[ï?nï?›ï?€»ï?€qî?Àµï?Àiï?–ï?À¦ï?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?Èï?Àyì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?Ààï?ð?ð?@lï?ð?@ˆï?ð?€÷ï?ð?öï?À§ï?ð?ð?ð?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?õî?è?ð?ð?ð?€Ûï?ð?ð?@Âï?ð?ð?ð?äï?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ð?ð?ð?ð?Óï?À²ï?ð?ôï?@ÿï?ð?òï?ð?ð?ð?›ï?ð?@Pï?@bì?ð?€éï?À¯ï?@]ï?€î?Àï?ð?ð?ð?ð?ÀÑî?ð?€òï?Àšî?ÀUí?.ï?&ï?€©ï?@rî?,î?@í?Àï?@Úï?ûí?@ñï?@ùï?€êï?@¯í?@ñï?ÀÓï?€å?€/î?ÿì?€î?Àï?Àèî?@¾í?³ï?Žï?€ï?@¦ï?@€ï?ÀOì?©ï?üí?ÈÂ?€Hî?@Þï?@|ï?€{í?ÀÎï?ð?ÀÎï?¼ï?Àöï?ð?Lí?@ôï?@¼ï?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†î?ð?@ïï?À”ë?Íï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ÀÜï?ÀÀï?@¢ï?@)î?€Sî?ð?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éí?À1í?ð?ð?ð?ð?ð?ð?ð?@¥ï?uË?È™?<­?@#ê?ð?ð?ð?ð?ð?ð?€¨ï?üï?€éï?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ÀÞî?ð?ð?Àðï?€–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€±ì?À–ï?ð?ð?ð?Ûï?À&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?À0î?@Uí?Àáê?€é?À1ë?ð?€àí?$Ô?€k×?ð?ð?@Ëï?°Ï?@çé?ð?ð?ð? ï?Àáï?€zæ?öÙ??^µ?€™â?€9Ü?`ˆ?@w?5Â?ì²?@l?€qÕ? »?vÁ?Àvê?€•â?¿?×?@Ôì?€5ë?jî?€âï?ð?À¤ï?ð?@"ï?À9ï?€öï?@Éï?Àï?€óï?ð?ð?ð?ð?ð?€÷ï?ð?€›ì?À$ï?Àóí?î?ð?ð?ð?€òï?@æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?€ ì?ëï?ð?Àï?ð?ð?ð?ð?ð?ÀÇï?òï?ð?ð?ð?ð?Àûï?‹í?€Óï?Àãï?€£ï?@eï?ð?@Þï?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?¤î?ð?€@è?öæ?ô¿?½Ô?^É?Òå?€Jç?@+ä? Ò?W?t¥?€zî?@dï?ƒï? ï?ÀÕì?Àeë?@§í?Àî?@,ï?€ë?'ë?Àìæ?àå?@7í?ÀÒì?€£å?ÀWè?Àéê?€Qä?¾î?@î?åè?@×á?€Þç?pê?€|à? â?À)ã?€Vê?@œî?ùï?ð?ð?ð?Àï?ëï?äï?ð?©ï?ï?ÀÊï?@ˆî?€EÐ?Àæ?@—î?€²í?h»?àr?M?@ëá?€ï?@ï?Àï?@í?€Fí?mï?@£ï?ð?ð?ð?Àôï?@¸ï?Àþï?€]ï?ÀVï?À¤ï?œï?@ï?Àï?€šï?€í?’ì?Ùê?õî?ÀÒï?@oî?Üî?€Íï?…ï?Ãî?@¬î?Àíï?@Ñí?€Æí?€Zí?€Nï?@/ï?Àüí?@œï?€áî?€hï?@î?@Ïî?@îï?€Pï?ð?ð?Öï?Jî?ð?Àï?ð?@þï?€›ï?bî?nï?@Éï?À¾ï?ûï?ð?ð?ð?€ûì?€V×?B?Àžã?Àµï?€—î?Ÿè?ð?ð?ð?ð?@ùï?Àžä?VÉ?@â?î?@vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?@™í?ð?ð?Fî?¬Á?@@â?4é?°?@³ë?@ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?òï?ð?ð?ð?ð?ð?Àkï?€ùï?@Ôï?@Öï?@þï?ÀÝï?€îï?@úï?@ßï?€ëï?ÀÌï?Àuï?ð?ÀØï?Àžï?–í?æî?€qï?@Óï?+í?À“î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcí?ð?ð?ð?€Úî?Íí?(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢ï?€ïï?ð?ðï?ûï?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€gå?€>ì?ð?ð?ð?ëï?ð?ð?@ªï?ð?ð?@Pï?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?@Bï?ð?ð?ð?ð?ð?ð?ð?€ï?ÀŠî?€Rï?À}ï?€cí? ï?€$ï?@]î?@ï?€°á?€×ï?@ï?ð?ð?ð?ð?ð?ð?î?þï?€eï?€¦î?Ìï?Àlï?@ï?@[ï?¡ï?€ï?@¿í?„ï?ð?€ºï?àî?@(ï??ï?bí?@†í?€‰î?Ÿí?À“í?øï?Èï?Àî?ýï?€í?@åï?@jî?Àõî?Àïï?€Âï?kê?€Èè?ð?ð?ÀÓï?@âï?@Oí?€áí?€•î?ð?ð?@ßì?€Ñï?€ÿï?@cî?ð?@ýï?âï?ÀÜï?@žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?-ï?ð?@Ké?@üä?Àç?Àxï?€óï?ð?ð?ð?ð?ð?ð?ð?cï?€éî?ÀËï?:î?@Wì?@"ì?À¶î?ï?€{î?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?À¯í?Àï?ð?ð?ð?ð?ð?@Kï?ù×?>?„®?ÄÙ?€&è?€Äï?ð?ð?ð?ð?ð?ð?ð?€¡ï? è?Àï?åï?ð?ð?€lï?ð?@úï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-ï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?€!ì?ð?ð?ð?ð?€”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?€úï?Àï?@î?À®î?€ßï?ð?Ùî?=ï?À…ê?ÀÕï?ð?@é?@Uà?ð?ð?ð?^â?@ã?¹ï?ð?ð?Ãï?ð?€\ë?‹?$?2Å?<»?Àh?˜?’?\?éÁ?,ª?‡Á?$ ? u?€\?lÕ?Îâ?.Á?J?€²Ø?€Ïæ?Àæ?Àsè?€ï?úï?Àúë?ð?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æî?ð?ð?@6ï?¾ï?Eì?zï?Àœï?ð?ð?@-ï?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ûï?€†ï?ð?ð?ð?ð?Àþï?ð?ð?@Íï?@°è?ÀÔï?ð?ð?ð?ð?ð?€í?€.ï?ð?@Íï?@ëï?€¹ï?€Üî?Öï?òï?ð?À«ï?äï?ð?ð?ð?ð?€èï?@áï?¨æ?@@ç?€Û?€UÛ?Ké?@tì?€›?>?@iç?@éæ?€­ê?€‘í?À¹î?Àì?€ˆí?€ î?Sê?€éê?@í?€Îí?@>ï?@Æï?€Qï?Àµï?¦ì?Àì?@á?€Ÿì?Ànï?@ªï?€Ìî?€Vé?ßâ?@î?€ví?ÀÙì?@î?ÀÕï?ð?Ùî?€öï?Àï?ð?ÀÎï?ð?ð?ð?Àãï?ð?ð?ÀÜê?L¢?(¨?€ÂÚ?ïÍ?l?€ÎÐ?€Áï?ð?€5ì?€óì?ÀÙï?€}í?áé?@bï?€Øï?òï?€èï?€ãï?@Íï?€Ûî?xï?@ï?€—ï?@æï?Àìï?€sï?€¨î?@üí?@´í?@ãï?À3ï?¦ï?ÀHî?Àï?€Œï?À¬î?cï?ð?Àÿî?@î?@(é?€šì?€Yí?@æ?€µí?@—ê?çî?@ýï?Àxï?ÀÕï?ëï?€,ï?À*ï?áî?Àìï?€ ï?ÀÌï?ð?@Òï?ÀÊê?@ï?@Hí?€ï?€ïî?ð?ð?üï?üï?@šê?Í?éÇ?‰ë?€_å?ÀNî?@Åï?ð?ð?ð?ð?ð?€[Ò?<±?Àw?À—ë?À¤ï?ð?ð?ð?ÀÑï?Èï?äï?ð?€ï?ð?ð?ð?ð?ð?ð?€TÑ?€aæ?@và?@à?ôê?Àçï?ð?ð?ð?ð?äï?@ ï?ð?ð?€âí?ð?ð?ð?ð?ð?ð?ð?@³ï?@Ëí?@î?…î?€ ï?@»ï?üï?ð?Rï?¸ï?@ ï?@šï?@‡ï?À¹ï?Àßï?¹ï?À{ë?Áí?€Êî?@zï?@šî?'í?@Sî?ÀYí?€þî?ð?ð?ð?ð?ð?@í?ð?ð?ð?ð?ð?€¢í?Àäï?€Çï?ð?ð?ð?ð?Áï?€'î?ð?ð?ð?€éï?@úï?áï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkî?€Ní?ð?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?êï?Eä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?À‰ï?€—ï?€«ï?€î?ÀËì?@ßî?Àòï?yî?³ï?Àñë?@í?ð?´í?ð?ð?ð?ð?€ï?€Ãî?Bï?À÷ï?ð?ð?ÀÕï?€5ï?ð?ð?ï?Àdí?ð?ð?@õî?€9ï?@ºï?ð?€bï?€Åì?òï?ð?€%ï?À5ì?@÷î?€{ï?Àï?Ÿî?ÀØï?ð?ˆï?@…î?Àî?ÿî?À…ï?€”ï?ð?ð?€xï?€ýè?€Mí?À‚ï?ð?ð?ð?@~í?®ï?Pî?<ì?@í?€þê?@„í?€$î? î?éî?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?ð?ð?6î?Àï?@Qì?€Fé?ÀÄì?ð?ð?ð?ð?ð?€Rï?.ï?Bï?ð?@uï?À¹ì?À`í?2î?@°ï?ð?Àæï?À¹ï?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?ÀHí?ží?ðï?ð?ð?ð?@ñé?„Ã?{?!Ó?ÀSì?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úî?ÀÐë?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íî?€9ï?ð?ð?ð?3ï?@œï?ð?ð?ð?ð?ÀJï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?4ï?¹î?©î?@Ÿï?ð?ð?ð?ð?ð?ð?@Ùî?Fì?ð?À¥ä?\?€Qå?ð?ð?ð?D×?ŒÈ?€î?ð?ð?€”ï?ð?ÀTç?$??€£Ð?`œ?X§?€Y?{?Ú²?˜š?¨¹?D?²Õ?€RÐ?0?ʵ?€Ó?Àáã?@yå?Àlí?€–ë?À±ë?œï?ßï?ð?ÀÀï?€óï?ùï?ð?ëï?€Žï?ð?Àûï?òï?Àçï?ùï?Àï?Àçê?€!è?ÀÉê?Àcì?Àzï?ð?Àãï?Àgî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•ì?Åï?ð?€ˆí?€óî?ð?ð?ð?@úï?Àûï?ð?€Êï?áï?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?óï?ƒï?Pí?€¿ë?€Õî?”ï?@Äï?€=ï?ÀÕï?ð?ð?ð?ð?Àæí?ùï?Tã?áè?ÀIã?*Ø?@Zè?À“í?Àtå?H?ΰ?Ò?Ñï?Aï?Àë?@î?€wî?Bë?Xî?@@ì?Ànê?¡í?¬í?ê?@àî?À¿ì?€(î?€Àç?Úí?Àjí?ï?@‰í?@)ì?€Qî?€ï?€Sï?À»ë?@ùé?÷í?@_ï?À§î?™î?õï?Eï?1ì?@˜ï?ð?ð?ð?çï?@Îï?ð?ð?@Áï?Àå?ˆ?\?Ä®?Àìè?€ï?Àï?ÀÀï?ÀÀï?À¼ê?€jç?.ï?€±ï?ÀÕï?€ˆï?Ìï?À–ï?€êï?ùï?€ï?ð?ð?­ï?@³ï?Àæï?€Úï?À¢ï?À¤ï?À÷ï?ð?Àûï?€Ãï?ð?À¹ï?@ ï?€¹ï?ûî?@§î?À}ê?€ê?yï?@‰ï?€ï?@xë?Hï?€ï?€©í?€‘ï?À­ï?ð?@eï?ÀWï?pï?À<ì?ÀÂí?ýï?ÀÑï?€¨ï?ð?ð?@sí?€9ï?ð?ð?Àšï?8ï?Àëê?‹ß?0‰?@à? ë?@ˆï?ð?ð?ð?ð?ð?ð?Àî?¤µ?ï?€ ë?€ï?Öï?@Wï?€°î?»ï?ð?€–ï?ð?Èï?òï?Ýï?ð?ëï?@ãï?Äî?€6ï?€»ï?ð?€åï?ð?€ùî?ð?~ï?€Úï?ð?ð?ÀÜï?ð?‚ï?À—ï?ùï?ð?@ãï?@Øï?@‚ï?€›ì?€«í?@¸ì?€ˆï?€Æï?Ëî?€ï?ð?€Èî?ÀÀï?ð?£ï?€ìï?ð?ð?¸ï?ð?ð?€7î?ð?ÀÀï?@ï?¨â??n¿?€ÒØ?€®ë?ð?ð?ð?ð?ð?ð?@`ï?è?À›â?­Ñ?€bï?€sï?ð?ð?ð?ð?ð?ÀÇï?€éï?@×ï?€ï?ð?ð?ð?üí?9â?H?|?@9à?Àgï?€Ïî?€Èï?ÀÜï?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?€€ï?rî?°ï?ð?®ï?ð?Àaï?À#ï?€éï?Àï?€ÿï?ð?ð?ð?ð?À°ï?ð?Pï?Àíï?ð?ð?@tî?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?€êï?@ôï?Àïï?€Óï?À÷ï?ð?ð?ð?ð?ð?ð?ð?@pï?€vï?À®ï?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@óï?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?ð?ð?ð?@ î?€ƒë?€øå?Àáï?€üï?ð?ð?ð?€·ï?@ãï?€÷ï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?Àôï?ð?ð?ð?ð?ð?ûï?ªï?€+î?Àî?@mï?qï?²î?ï?ð?@Íï?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?@÷ï?@óï?Àîï?@Àï?€´ï?À<î?ÀKï?À~ï?ð?€xï?@¶î?øï?Àþï?€ôï?Àðï?€Àï?€|ï?ð?À í?ÀÒï?ð?ð?@ í?€ï?@üï?Àuï?€qî?@Æï?Àï?øî?ð?ð?ÀŒï?êï?€¼î?ð?ð?ð?ñï?€Îï?ð?ð?ð?ð?ð?ð?@ãï?­î?ð?ð?ð?ð?ð?ð?ð?€…ï?ð?ð?ð?ð?@òï?ð?ð?ð?@Ôï?@|ë?À²ì?@çî?ð?@óï?ðï?@‰ï?€ï?ð?ð?ð?ð?€êï?@¿ï?ï?kî?@ãï?ð?ð?ð?ð?ð?Àëï?€âï?€ºï?€áï?ð?ð?ð?ð?ð?ð?ð?ÀZï?@¡ï?€ÿê?3î?Àï?€ˆÚ??€Ù? í?ì?‡í?ÀUï?ð?ð?€êï?ð?ð?ð?ð?ð?ð?ð?@ãï?ð?ð?€í?€dî?@ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sï?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?@&î?ð?ð?ð?ð?€'ï?@öï?ð?Qî?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØæ?ûå?ð?ð?ð?ð?ð?ð?ð?@Nê?@â?Àé?ð?ð?¸â?Àá?ð?ð?ð? â?¯Ù?Àkï?ð?ð?ð?iè?Àp?ð‡?€ÇÐ?Ì®?lª?€e?ÊÈ?ðŠ?£?@¬?6Ï?t°??×Ä?=Ô?9Ö?éÅ?÷Õ?UË?€¥?U?gÌ?Àk?A?ÞÐ?Hå?Ìç?€`ï?À-î?@¸î?ð?ð?€åï?-ï?€šï?î?@¬ï?ÀMï?Žï?@ýï?@=î?ð?€?ï?Êï?Âî?€1ï?€Îï?@Yî?€ÿë?€Âê?ð?ð?yì?€Äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?@ªï?ÀJï?@Òî?ð?ð?€ñï?ð?Àãï?À¾ï?ð?ð?Àéï?ð?Àêï?^ï?ð?ð?ð?€Òï?@òï?ð?@ãï?Üï?ð?@ãï?Àhã?WÜ?Àlå?€fï?ï?€jï?3Ý?}Ó?ðÂ?]Ô?¸ï?ÀÔï?>ï?À]ë?ÀËæ?ÀÑí?À©é?@øì?@î?ÀJï?@ î?@mî?€ýî?@€í?@ï?@yï?€_î?@Éì?Àdî?@î?@hí?À%í?€îî?€”ë?Àþî?Àí?@Aì?€ÿî?Àÿï?@Bï?ï?@¿î?Àüï?€þï?ð?ð?ð?ð?ð?€Üï?@î?ð?ð?Nï?@0á?F°?…?€OØ?(š?GÏ?uï?€ï?êî?€›ï?À´í?@ î?ð?ð?Àõï?ÀÈï?ð?€Íï?€êï?¸ï?»ï?Àõï?€ÿï?ð?ð?Üï?€ÿï?ð?@µï?¸ï?Àÿï?Àøï?ð?±ï?@sï?@òï?€‹ï?Mï?åï?@êï?ð?@˜î?×ï?î?@fí?@ãï?ð?€Æï?@¯í?€ë?Ðé?€cï?ð?Àÿï?ÀÔï?ð?ð?î?@Äî?€®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?Bè?¡?Ð?ܬ?€Ç×?€…é?À$î?ð?ð?ð?€ïï?À~è?WÀ?ˆ›?6?$?(ž?eÙ?À+ì?Àÿï?Àñï?ð?€ïï?ð?ð?ð?ð?ð?ð?èï?@ûï?ð?ð?ÀMí?”â?`‡?€Z?JÅ?ùç?@kë?@Üì?—î?@ï?/î?@~ï?ð?òï?ÀÍï?ð?ð?ð?ð?ð?ð?ð?€ßï?Ÿï?@±ï?ð?ð?€êï?ð?€êï?ð?ð?ð?‘ï?$ï?@ãï?@Éï?ð?À¶ï?À;ï?€éï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQï?@Ëí?ð?€Éï?ð?ð?ð?ð?€úï?±ï?ÀIï?€6ï?€¸ï?@ï?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáí?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?öï?ð?ð?ð?ð?€ï?À¨æ?Ië?À ì?Àùï?À·ï?ÀÉï?ð?€Íï?ð?ð?ð?ð?€Úï?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€#ç?@$ë?Äï?ð?ð?ð?ð?ð?Àòï?@úí?ï?@^ï?@™ï?¸ï?áï?ð?À”ï?@Ûï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?ð?ð?Óï?ð?€uï?€¢ï?€êï?@óï?¡ï?@óï?ð?@÷ï?ˆï?ï?€áì?€ï?€wï?€ï?€¥ï?€¯î?ÀÄî?À½ï?ð?ð?€íï?€Ðì?¬ï?Yî?ð?€úï?€Ÿî?ÀÁï?‹î?®î?(ï?@ì?ð?ÀËî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡ï?@ì?úï?ð?ð?ð?ð?ð?ÀÔï?Àéï?þï?@åï?ð?êï?ë?€‚ï?ð?ð?ð?ð?€Úï?€¤î?ð?ð?ð?ð?ð?ð?¨ï?ð?€êï?ð?ð?ð?ð?ð?ð?ð?@îï?@Ïï?ð?ð?ð?ð?ð?ð?ð?@bî?çè?€Žã?äØ?oÃ?d®?œê?ð?ð?ð?@Qî?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?@Íï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“î?øï?ð?ð?ð?èï?@î?Àcî?@;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äì?ÀÏï?ð?ð?ð?ð?ð?ð?ð?€Ùí?€ñé?Zç?€!ì?@ ï?ÜÅ?€vÑ?@ùï?ð?ð?°é?ˆ™?€Ô?@‰ï?€éï?@7ï?€÷î?'Í?Zº?P±?L¢?§?€U?¯Â?¤¶?0œ?»Ã?€aß?|½?€»Ù?‘Ù?@Üá?²Í?(ž??”³?ÔÛ?€åî?À·î?ð?€tï?ð?Àûï?ýï?@¿ï?Üï?€Kî?€ ï?€ï?€vï?ð?ð?ð?@Óï?ÀØî?€èï?€ùí?€í?@î?ð?ð?ð?ð?ð?ï?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?Õï?@ïï?€þï?€‘î?öï?ÀÍï?ÀÊï?€ñï?Àøï?À1å?'ç?À î?€Rí?ÀYï?ÀËï?€ºï?ï?@Âï?Jï?€rï?ð?À‰ç?ÞÞ?´ì?€‚î?€åï?À ì?ÀÄë?Àjê?Üæ?™?Àê?ð?À ï?@Eì?€Àì?@§î?À„í?€î?€ í?ï?ï?Àyí?€Žî?Àqî?@áë?&í?ìè?€àâ?,î?@;ï?@^î?À î?À­î?€ì?Fì?€ªî?À¢î?ÀÔï?Èï?€‚ï?¸ï?ÀÍï?€„ï?€Êï?ð?ð?ð?ð?ð?ð?šï?ð?ð?ð?ð?ÀÂç?Ü©?d?L¯?€µ?¿ë?ð?ð?€ñï?iï?³ï?ÀÅï?€Íï?@ïï?@`ï?@ªï?Àôï?ð?@—ï?ÀŸï?@ãï?Ààï?ÀÔï?ð?ð?Õï?€ñï?ð?’ï?@óë?Àë?@‡î?€hï?@Ïï?€€î?€žï?€ë?[ì?ð?ð?ð?€ïï?@oï?@âï?@³î?€êï?€Zï?ð?ð?@7ï?Àí?@Çï?ð?ð?ð?Vï?ð?Lï?€[ï?ãî?À­î?ð?ð?ð?ð?ð?@±ï?ð?@Ëï?À¤å?P´?°?0š?Ø“?¢ß?@1ç?@î?@Âï?€hï?@¶é?UÚ?P‚?{Ë?@£î?€õê?€Xï?ð?ð?Ûï?ôï?À[í?ð?ð?ð?ð?ð?ð?€ï?@œî?€ÿå?§?ØÏ?À)á?­ä?Oí?@°ï?€þï?ð?ð?ÀÔï?À)ï?ð?øï?ð?€æï?ð?€÷ï?ð?ð?ð?ð?ð?€Ûï?€Íï?€æï?€øï?ï?ð?Üï?ð?ïï?€kï?ùî?ð?ð?ð?Àhï?ð?ð?@¢ï?Àuï?€oï?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wî?cî?ÀÑï?À°ï?À°ï?@Ðï?^ï?@½ë?@·î?€Ãï?Àþï?ð?Àêï?ÀÔï?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îî?Oî?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?Àµç?À·è?€˜ï?€Õï?ð?ð?òï?ð?ð?ð?äï?@õï?Üï?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãí?ÀÕï?ð?ð?ð?ð?@ãï?ð?ð?Áï?ð?½ï?À©ï?ÀÆî?Üî?@æï?ÀŒï?çï?ð?ð?ð?ð?@Òï?ôï?ð?ð?Aï?@Ëï?ð?ð?@óï?Ðï?@òï?Àœï?Üï?ýï?þï?€þï?ð?ð?Àùï?@ãï?@½î?€½ï?ÀKï?ÀHï?Õï?@cï?Àåî?€êï?ð?ð?ð?Óî?@ ï?À…ï?@Lï?<ï?Àóï?€øï?@%ï?@Îï?ƒï?€!î?À~ï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fë?@ï?ð?ð?ð?€êï?@ãï?À°ï?ð?ð?€vî?Àõï?ð?@:ï?€Ûå?À¶æ?Àúì?Àsí?@Ñí?î?áï?ð?ð?ð?ð?ð?ð?ð?À2ï?ð?ð?ð?ð?@ðï?À£ï?ð?@óï?ÀÛè?ð?ð?ð?ð?ð?ð?ð?ð?À/ê?€#Ñ?8‘?À•?3Ò?Ùâ?€€í?ð?ð?Àûï?mî?@ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?€ïï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?ÀÈî?ð?ð?ð?@‰ï?@fì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òë?éï?ð?ð?ð?ð?ð?ð?3ï?À•ê?À?ç?@ ã?£é?€Ö?t¦?€.é?ð?ð?í?¶º?×?ûï?ÀDï?ùí?€ñÙ?p²?2Ç?@a?H?¨ ?8‘?SÄ?ü¬?¦?BÐ?p¡?F?àv?@/à?€˜ä?€Xì?€/í?À–î?ð?ð?€êï?ð?±ï?€gí?@Vî?ÀIï?€øï?ð?ð?ð?ð?Àþï?€ ï?€îí?@7ï?À°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?€¼ï?ð?ð?ð?ð?ð?@ûï?ð?€sï?ð?@ßï?~ï?ÀÔï?ð?€éï?@éï?€9ï?€’ï?À¾ï?@‘í?@ïï?À’ï?€Áí?@çí?€¬ì?ÀÜï?€eï?ÀYà?Gß?€ Ü?@Öâ?Žà?@?î?À¬ï?€ä?ÀWâ?@gã?@ÿï?ð?€Mì?pî?@Ûí?Àñà?@+ì?@÷ì?@Vì?^ï?€µì?Àƒî?@Óë?@×è?Àaì?ÀÑí?€‡í?@uí?@ï?€)ï?À¸î?²î?@5ë?ÀÝí?¡è?€ôì?ºî?Àøï?ð?ð?×ï?ÀVï?À´î?ð?€ñï?ð?ð?ð?ð?ð?ð?À°ï?ð?ð?ð?€šØ?A×?`À?€ôç?@ÿî?@½î?@¿ï?@åî?€‘ì?{í?€”í?ùî?ð?€õï?àï?€Ûï?jï?À©ï?ð?íï?ð?Àúï?Ñï?À·ï?€ïï?Èï?€Æï?@Šì?@Ëì?Àïï?€áì?@‘å?ÀMè?uë?ð?Àñï?ð?@Úï?Ïï?@ûï?@ûî?À/î?@áï?ÿï?ð?ð?ð?ð?ð?ð?þï?ýï?ð?€îï?Àèï?@ï?€wï?@›ï?ð?Àï?€Wï?@Vï?€Üï?€pï?Àï?€ºî?Õ?°¯?kÏ?¹Ð?8©?€œÒ?µä?À¤è?›Ý?&³?@Š?€vÑ?¨‘?€aØ?@¤â?èï?€`í?@Æä?í?·ï?€äï?ð?ð?Àóï?Úï?Àõï?@#í?@ìå?NÜ?!Í?Àa?€2Ð?@pã?@óå?æ?ð?ð?ð?ð?ð?ð?@‘ï?€êï?ð?ð?À ï?Àõï?@Ýï?ð?ð?ð?ð?ð?@¿ï?ð?@îï?@Œï?€ñï?ð?ð?ð?ìï?Šï?wî?Àï?ÀÔï?@ãï?€êï?ð?ð?ð?ð?À¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6î?€Õï?€êï?€¸ï?À3ï?ð?@ï?@èï?€Üï?ð?ð?³ï?ð?ð?ð?ð?ð?@îï?Àmï?ð?ð?ð?ð?ð?Àmï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?ð?ð?À*ï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ï?@Ëï?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?@¸ë?À§æ?ð?ð?€âï?ð?ð?€²ï?¸ï?€Íï?Üï?ð?À¬ï?ð?ð?ð?@óï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?¯ì?€Kí?@ï?@$ï?^ï?ï?ÀÔï?@sí?@ï?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?Õï?ð?ð?ð?ð?ð?ð?òï?|ï?€ïï?€ïï?ÀÔï?€¨ï?ð?ð?ð?À­ï?@©ï?€Rï?€üï?óï?ð?ð?ð?ð?ð?@óî?@ëî?€Qï?ýî?@ªï?@bï?ð?ÀÞï?@«ï?€­ï?ð?ð?ð?À©ï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?Àòì?ð?@Þï?€Hï?™ï?€rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?@:î?€~ï?ð?ð?ð?ð?ð?ð?@îï?ð?ð?ð?@ãï?@Šï?@Úê?ð?4ì?Pº?¥ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒí?€oí?ð?ð?ð?ð?Žî?À·î?¥ï?ð?ð?Àêï?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?ð?ð?ð?ð?€ôï?Àùï?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ë?ð?ð?Ôï?xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@<ê?€Œï?ð?ð?ð?ð?ð?ÀLì?@ ê?Àí?ð?ð?@Së?¤¢?àÏ?Àþï?ð?ð?€ÎÞ?›Ð?€Áï?@ë?€€Ò?$¥?öÅ?w?j²?¶·?‘Ý?­ë?€Çï?ð?ð?ð?ð?ð?ð?@µï?Ûê?ÀUî?@³ï?ð?€êï?Àøï?ð?@Üï?Àâí?À‹ï?`í?¨ï?€óï?@¶î?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?€×ï?Áï?ð?ð?ð?ð?ð?Uï?ð?ð?ð?¸ï?€í?ð?ð?ð?ð?€êï?ð?Àîï?€ôï?@êï?ÀAî?@7ï?ÀÅî?@îï?ð?@.ä?€gï?.â?¬Ü?À÷ì?ÀÎê?ðì?@ ì?Òé?KÄ?$ê?@ãï?@*ï?ï?ãê?øê?Àãè?´ê?ÀÐè?€Ðì?À‘í?+â?@—å?@ôå?@Šë?@:ê?Íí?Éì?@Êî?€ñï?€Íï?ªí?€ºí?Àì?€³ë?Gî?õê?€åî?Àøï?ð?À…ï?À¶î?ð?ð?@ûï?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ?ä¸?.À?€ì?@Ûé?2ç?€Tí?@Wï?ð?€ î?@î?ÀÛï?ï?ÀØî?€¡ï?@ï?@Qî?Àjï?Àmï?@9ï?@³ï?Àè?3í?Bï?@zï?À[ï?€œï?@Lï?ð?@ƒï?ð?À~ï?0ê?oî?ë?€ºä?¿ï? ï?@åï?ÀXï?@âï?ð?Àøï?@èï?ÀÚï?ÀÞï?ð?ð?ð?ð?@¥ï?ð?€ƒï?€€î?@üî?@Þï?@Hï?€Åî?€ñî?@ëï?@Wï?Àrï?€6ï?€\ì?ÀPä?¸Ï?TÃ?¦É?çÙ?€ðë?À˜ä?€AÛ?ø“?Àq?H?Àm?€sÔ?åÈ?@òé?ÀÁï?ð?ð?ð?ð?ð?ð?òï?@¬ï?ð?êë?ÓÏ?€W?WÂ?€ºä?ÀÅï?ð?ð?€«ï?@øï?ð?ð?ð?Àõî?ð?€äï?€ñï?@”ï?À?ï?øï?ð?ìï?@‹ï?ð?ð?€ñï?ð?ð?ð?ð?Àùï?À¤ï?€èï?ð?ð?@äï?ð?À|ï?€Âï?òï?åï?€½ï?ð?ð?ð?ð?ð?@øî?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀYî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?9ï?ð?ð?ð?ð?ð?€Ëï?€.î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ÀÀî?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™é?Àì?ð?@”ï?ï?Üï?€êï?€àï?ÀÈï?@÷ï?ð?€êï?ð?ð?ð?ð?€wî?ÀOï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?Àîï?À‰í?@ï?Uï?@ï?À2ï?Õï?ôï?áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?ð?ÀPï?@ï?@¿ï?À4í?€ï?€ëï?ð?ð?ð?ð?@¿ï?@ãï?@Xï?€.ï?âï? ï?€²ï?ð?ð?ð? í?šï?€°ï?@ãï?ð?ð?@žï?@ÿï?€íï?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ëï?€äï?@ãï?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡í?œï?@þç?œ?@£î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À£í?Æé?¸î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6î?ð?ð?€ì?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€dë?Àgí?ð?ð?ð?ð?@Áâ?@Ž?@\í?ð?ð?@é? ?Ààæ?–Ø?€?ð™?›ã?@$è?@é?€·í?Àbï?ð?€áî?€ï?@Úï?ð?uë?@î?€ýî?ð?@àï?Àõï?€øï?Àùï?€âï?Þï?€vî?ð?@{ï?€9ì?À¾ï?€þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhï?þï?@ãï?ð?@ïï?‘ï?ð?ð?Àbë?€¹ì?ð?ð?Àuî?@uê?ð?ð?ð?ð?ð?ð?ð?¥ï?@øï?Ïí?€^ï?Èï?Üï?ð?@{á?À ë?@é?LÈ?@Ãê?@·í?€ ï?@pï?@é?€"Ð?€iá?À2í?¶ï?ÀXë?À‘ì?À9é?€Áê?Àç?@³è?Àsà?€Ðæ?è?µæ?À»é?æ?Ààí?À±â?Àæ?Àí?„î?šï?@´í?Àií?@µî?¼î?óî?ï?@ï?ð?ð?@¿ï?ÀÔï?ð?ð?ð?€ñï?ð?ð?î?€.ï?ð?ð?Àºï?@ºï?€í?‡î?Àï?€aæ?€Íï?€Nî?€_í?§ï?€ñï?Àï?ÀMï?Àuì?@Þï?@èï?€ìî?€þî?€ï?@·ï?À0ï?Äï?Àoï?Þ?Àà?À¬ê?Ûî?€Çì?€Aí?@ÿï?@¯ï?Üï?¥ï?ð?€§ï?À ï?À×ç?Tæ?@êë?€9ï?À¹ï?À»ï?€ ï?À™ï?òï?€êï?€(ï?ð?@Ùî?ð?ð?ð?ð?§ï?@ìï?@“ï?@Žî?@…ï?@|ï?xï?„î?€½ï?À^ï?ôí?@Çî?À æ?Ä?€g? Â?±ë?€Îï?À=ä?€r?€ñÖ?€»ê?Àè?€§æ?ð?ð?ð?ð?ð?ð?ð?ð?€?ï?Cî?Ëã?ÍÆ?€ÁÕ?@Vé?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºï?äï?Ààï?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?ð?ð?€úï?@éï?@ëï?ð?ð?@áï?ð?@´ï?ð?ð?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?ð?ð?ð?@kè?Šé?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?@ëï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?™ï?@cã?ð?ð?»ï?@Ãï?@Åï?Ëï?@éï?Àòï?ð?ð?ð?ð?ð?ð?Àï?À’î?ð?ð?ð?ð?ð?ð?ð?@Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªî?Úï?ð?ð?ð?ð?ð?ð?€Òï?€~ì? ï?ð?€Áï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøî?ð?Àðï?€ˆï?À©ï?Àðï?€Üí?ð?@ï?úï?€øï?pî?Àšî?@ðî?@÷î?î?ð?ð?Ùï?ð?´ï?ð?ð?ð?€ÿï?ÀŒï?ð?@ùï?ð?ð?ð?ð?@ßï?€7î?À÷ï?ð?ð?ð?À»ï?ð?ð?€Ÿï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?@ýï?ð?ð?ð?ð?ð?€Òï?dï?ð?ð?À÷ï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?€‹î?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@éï?ð?À÷ï?ð?€ºï?@ÿï?ð?ŒÐ?@Fä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?€Ðî?ð?ð?ð?À(ï?„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?€³ï?ð?ð?ð?ð?ð?Ëï?ð?Àáï?Áï?hï?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æî?ð?ð?ð?ð?ð?‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖî?@¡ï?ÀKî?ÀJí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉï?ÀÐí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?Àí?@Èì?ð?ð?ð?ð?ð?€úï?êË?°?€oí?ð?ð?ð?ñÕ?€œ?ÇÇ?¦´?è¹?ˆš?`?h‘? Ì?oÁ?êÝ?Àsæ?€öã?€Þç?À§ï?@³è?ð?€í?‹î?ÀÊï?@þï?ð?ð?Àmï?@zí?Àtï?ð?€Òï?ð?ÀØï?ð?ð?ð?óî?@‚í?@÷ê?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pï?ð?ð? ï?ð?ð?ð?ð?ð?ð?@éï?ïî?ð?ð?ð?ð?@Áï?ð?ð?€Òë?ÀYí?€üí?€øï?ð?§í?@ƒí?@ïï?ð?Àï?€úï?Àðï?ð?ð?ð?ð?ð?@éî?@ùí?€ï?@…ï?À—ï?ýï? ï?€ ç?ÅØ?@©ë? í?@áî?ð?pâ?ð¹?À¥ä?ÀÚï?€•ê?À=ì?sê?%í?Àì?@>è?Àäè?Eî?ÀVî?€ÿë?€uí?€ î?6ï?@í?ÀÐã?ÀÊé?9ç?@*í?~î?ÀÕí?À0î?€Tí?Àî?€Žì?À‡î?@¡î?€¯î?@Åï?ð?€úï?Àáï?ð?ð?@Ãï?ð?@¶ï?öí?ð?À÷ï?@Éï?ð?ð?ð?@"ï?€ î?ð?€áï?Àðï?+ï?Àðï?ÀÁï?€4ï?€gï?@¸í?ëì?Àuê?@kà?À]î?€"î?€eî?wï?€³ï?À:ï?@äî?À~ï?@9î?FÍ?>æ?@¿î?@Eí?Òí?€Cï?Àeï?Àåï?öî?Àhï?Ôî?ÀÊï?€ÿï?€9ï?Àºï?€©ì?îï?@•ï?€Aí?€yï?À^î?@éï?@ˆï?@Ãï?€ï?@Wï?ð?@Bï?ð?ð?ð?€]î?À•ï?€øï?€”ï?€öï?ÀÊï?Úï?€Sï?€†ï?€ ï?@*ï?ð?[î?€5â?ð‚?€„?€Þ?õï?€Vï?€µè?´?€P?¼Â?hì?Àÿï?ð?ÿï?ð?ð?ð?ð?ð?&í?@îì?ÀPï?@×í?>»?²»?€ç?ð?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöî?ð?@xï?€‡ï?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ÀËï?@Jï?@éï?@éï?ð?ð?Éï?ð?€öï?ð?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?@Œî?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?ð?ð?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?@éï?@éï?ð?ð?ð?ð?ð?€öï?ð?ð?ð?ð?ð?Áç?€Kì?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?ð?€¬ï?ð?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?@éï?ð?ð?Àèï?ð?ð?ð?ð?ð?Àøâ?@é?ð?ð?ãï?@Žï?Àßï?ÀSï?ð?€öï?Àðï?¥ï?À•ï?À·ï?ð?ð?pï?À†ï?€9ì?ð?ð?ð?ð?ð?ð?À±ï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹î?€Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?€Òï?ð?ð?ð?uï?ð?ð?€öï?Ýï?Àáï?€ñï?ð?ÀÝî?€ê?@úï?Sî?þî?èï?€ßî?ï?€¬ï?ð?À¼ï?$ï?@’ï?$ï?€¬ï?œï?À¥ï?ÿî?ð?·ï?ð?ãï?ð?ð?ð?€ñï?Âî?@×î?:î?@úï?ð?ð?ð?óî?ð?ð?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?¥ï?ð?ð?ð?€áï?Ëï?°ï?ð?Úï?êï?ð?ð?ð?ð?ð?ð?ð?ð?Àï?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”í?ð?ð?€—ï?ï?@éï?ð?ð?ð?€åÑ?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@tï?ð?@ßî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?Àoï?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?À„ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€­ï?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðî?ÀÐè?€{ä?€"ì?ð?ð?ð?ð?ð?ð?ÀŸì?@c?$Ñ?ð?ð?ð?ð?@Íà?Ð?+á?@·à?€^?Ø‘?0ß?:ï?Àíê?&Õ?‰Á?€LÒ?@5ä?À\æ?€ê?@öî?@Üè?€ñï?ð?ð?ð?ð?€yï?èï?+í?€ëí?ð?ð?€øï?ÀÎí?€Òï?ð?@Äï?@Wî?@sî?€Àï?ð?@Oï?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×î?ÀŽì?@~ë?5í?ð?ð?ð?Bï?€ï?mî?ÀÄï?ð?Àoí?éì?€øï?ð?ï?ð?ð?ð?ð?€ î?À½î?Àí?ëë?€µï?ÀÜï?€±ï?€°Ò?€qÒ? ï?@?ï?ÀGï?€¤à?¸´?À£á?ð?ÀÁî?@.ë?@ì?@ˆí?ùè?ê?ÀÙì?³ê?€éê?€ î?@pï?@î? ì?@{í?@•é?@<ê?€í?Öí?ë?Àçé?Bë?€¹î?À¶ç?€ôí?Àžî?ÀJî?À7í?@¨î?ð?@çï?€—ï?ð?ð?ð?€Âï?Ààî?Àîï?ð?@Óï?@½ï?ð?€îï?ð?Ÿï?ð?Àðï?ð?Àèï?@wï?Àdí?€xí?Àèï?@àï?Àî?ÀKî?@™í?ué?@Ÿí?Xì?ð?@úï?¥ï?@éï?Àaî?´ï?Ôå?dç?Íî?¥ï?À¬ï?À‘ï?€¶ï?Nï?€ðí?€Õè?€òã?€ýì?@åï?ð?@Ðï?@Ãï?€³ì?€µî?€öî?ÀAî?@]ï?ÀÂï?@qï?€öï?ð?¬ï?Ôï?ð?ð?@éï?ð?€îï?€ï?ï?@>ì?¤ï?ãï?Ÿï?}ì?€Ðé?€Êë?Àþí?À§î?@Oî?ÀÚã?f¾?ŠÒ?@oí?ð?@Wî?…À?‰À? „?}?€Þá?ð?ð?ð?€5æ?àÚ?@þã?À¸é?ÀSä?€ÇÕ?_â?2¸?T½?@?è?ð?ð?ð?ð?@éï?Àðï?ð?ð?ð?ð?ð?ð?ð?€èï?ð?ð?À'ï?@¢ï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?Àïï?@ï?€áï?€Òï?€ï?€¬ï?²ï?À»ï?@éï?ð?ÀÇï?ð?ð?ð?ð?ð?ð?Œî?€ï?ð?ð?ð?ð?ÀÊï?ð?ð?ð?ð?@ûï?ð?ð?@éï?Àáï?ð?ð?Àøï?@ï?Úï?ð?ð?ð?ð?@éï?À¤ï?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?Æì?ð?ð?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?@éï?ð?À¶ï?ð?Àøï?ð?ð?ð?ð?ð?@Dë?]ë?@Åï?€ñï?Aï?ð?€Òï?€Èï?Àáï?ð?ð?Yï?@éï?Àåï?ð?ð?@§î?ð?‰ç?ð?ð?ð?ð?ð?ð?€Åï?Àoï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªî?@§ï?ð?ð?ð?ð?ð?ð?ð?ð?úï?@ûï?Àþï?ð?ð?ð?ð?ð?ð?ð?Àáï?€ßî?¾î?ð?ð?ð?ð?€áï?€†ï?ÀÕí?ð?€Òï?ð?À¤ï?ð?ð?ð?@*ï?€üí?@¥ì?À\ï?@íï?@wï?@Ñï?ð?ð?ð?ð?ð?™ï?ð?ð?€êï?€œï?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?€Çï?Àï?€ î?ˆì?/î?€Ÿî?Àmî?ÀÕï?Àcî?ÀÖï?ð?ð?ð?Àþï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?@Ãï?ð?ð?ð?Úï?@wï?ÀÈë?dï?ð?ð?ð?ð?ð?ð?€Rá?~»?¦Ô?€]ï?ð?ð?ð?ð?@üï?@éï?ð?ð?ð?ð?ð?€Ïï?ð?ð?€ßï?Àºï?ð?ð?ð?Jï?À4è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?€úî?À.ï?ð?ÀXï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ï?@Îï?@õï?úï?@éï?£î?ð?ð?€»ï?ð?ð?ð?ð?´ï?€Èï?ð?ð?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?oê?Bï?ð?ð?ð?ð?ð?ð?ð?ð?#ì?V?PÐ?ð?ð?ð?ð?ºå?€q?ÈÏ?€.ç?°­?@õâ?Çç?À©î?€Ìê?Àìå?@9å?âä?Hå?!é?€æ?€Jì?À˜í?ð?ð?ð?ð?ð?@³ï?@Äï?Àðï?ð?ð?ð?ð?ð?@Çï?ð?ð?ýí?€ïï?ÀAí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uî?ð?@ºï?wì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?€áï?ð?ð?ð?¬ï?ð?ð?ð?ð?@Ãï?@éï?ð?À¡ï?$ï?ð?ð?€øï?Àï?À1ï?À‡î?À°ì?€£ï?Àæï?òê?€Òå?-ã?@ì?ÀZï?@.â?+Ó?€ñî?Àüì?@ î?@‹î?Àî?€³í?€äî?€Ïë?~ë?@ê?Íã?€¬ç?@úë?€#ä?Àî?€‹í?€×ì?@Dî?ÀRç?À·ì?€Pì?€ðê?€8ë?Àáï?@€ï?€œï?@Ãí?Àìé?@í?€¯ï?@ðï?ð?À„ï?@ï?¥ï?Àðï?€ñï?@íï?ð?€Òï?ÀXï?Àðï?ð?óï?Ëï?|î?ð?€ïï?@éê?À ï?Ëï?@Ñï?€rï?@%î?@Tì?À~í?Àlî?ð?ÀÄî?Àìë?Àôí?€ýï?@Îï?@'í?@¾í?€‘ï?Àðï?@é?Àgï?“ï?½í?@Áï?Áï?À¨ï?À í?@üï?ÀÉï?À¥î?‡ï?€üï?@éï?€Kí?Àîï?À³ï?Iï?ð?Õï?æï?@éï?@ùï?Œï?€oï?À±ï?À‘í?€Íï?@Ñï?@öî?€Ûì?À î?À¶í? ê?ÀQë?¿í?€•î?@uë?@¯í?Àšæ?@Eë?$î?ÀÐì?á?œ¯?ðŠ?@¦è?Üî?€áï?"à?4?Àã?@:ï?¼í?Àçï?óë?t?M?à}?€†?0‰?‚?€=ê?ð?ð?ð?ð?Àáï?ð?@óï?€`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?@éï?Àðï?ð?À-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXï?ð?ð?ð?ð?ð?ð?€¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdì?ÀÄï?ð?ÀFï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?@¬ï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?ð?@éï?ð?ð?ð?ð?@‹ï?€â?@è?-é?Àgï?ÀÊï?€áï?ð?ð?@Yï?ð?ð?ð?€Òï?ð?ð?ð?À‡î?€)ï?À»ï?ð?ð?ð?ð?ð?ð?@ï?Úï?ð?ð?ð?ð?ð?ð?ð?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?€øï?€¬ï?À•ï?€Âï?@âï?òï?ð?ð?ð?ïï?ð?ð?ð?Àðï?ð?ð?ð?$ï?ð?ïï?@Ãï?ð?@Qï?@Žï?ð?ð?ð?ð?ð?@Ãï?€Zï?€™î?ð?ÀÇí?€œí?ð?@²ï?ð?ð?@lï?@óï?Àûï?ð?ð?€øï?€:ï?ð?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uï?À=ï?ð?ð?@<ï?@ï?€³ï?Àrî?€’ì?Àäí?Àï?ð?ð?€êï?€¶ï?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?+î?ÀÀî?ð?ð?¸ç?ð?ð?ð?€Û?Á?€zç?ð?ð?ð?@wï?@Öï?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@.î?ð?@éï?ð?ð?ð?ð?Éï?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?ÀÊï?ð?ð?À»ï?€Óï?ÀFï?@[í?ñé?@[ï?Àáï?ð?@éï?€Òï?ð?ð?ð?ð?ð?Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pî?^ë?@éï?Àµï?ð?ð?ð?ð?Àžï?Àýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À:î?“ä?(è?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?`Ž?¦?ð?ð?ð?ð?ÀÕí?À¢?à„?€/ã?€é?+Ä?X·?À¥ì?€jî?ï?À8ï?€$ï?€xï?@¨í?@Iæ?‰à?@Ñä? ï?€>î?€•ï?ð?ð?€`ï?€¬ï?ð?ð?ð?ð?ˆï?ÀÅï?ð?@óï?À™ï?ð?€æï?Àùï?@–ì?Àªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?€oï?Àèï?€Óï?ð?ð?ð?ð?ð?ð?ð?Øî?ð?À»ï?@Ãï?ð?ð?ð?ð?ð?ð?´ï?ð?ð?Žï?ð?Àðï?ð?ð?ð?@Ãï?@wï?ð?ð?ð?ð?€øï?À ï?ÀÁï?@éï?ð?ÀÔï?€ï?è?|®?Àìã?@>í?ð?°ì?@zí?Àðï?Vê?@¼ê?Íä?Àyâ?@$ã?ºå?€¼ç?€Jî?€ºë?@§ê?Êá?€Ñã?€‘å?@àê?€™í?@ºî?ÀQî?€¹ì?À¸í?¾í?À4î?@.î?Àdã?@³å?€Œï?Àìë?€<ï?Àcí?âí?À3ï?€øï?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kï?€.ï?Àî?ÀÍç?À#ï?ÀÒî?Ðï?@éï?€æï?À÷ì?€Èï?À`ì?Ñê?Àé?€më?@Ûï?¯ï?Àˆï?@Ðî?@]ï?@(ï?ð?]ì?À0í?€øï?¼î?€Åï?@í?ð?ÀÏï?@‹ë?ÀÙï?ð?ð?ð?Àðï?@é?Àêí?Àåí?€vï?€{î?ð?€‘ï?€`ï?€²í?€‘ä?€Jß?€îÜ?ŽÔ?íÙ?óØ?€úÕ?€9×?ÙÙ?@Øâ?›Ø?úØ?²Þ?@•ä?€ î?€æ?€.ã?Àâ?¤à?€òÚ?@d?XÉ?À9î?@Žï?!í?V°?ÐŽ?˜š?.¾?€Ëß?€Òç?CÇ?Ì ?nÑ?oÖ?ˆ§?€Dâ?ð?@éï?ð?ð?€ñï?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?€Èî?€ï?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?À†ï?ð?À»ï?€Òï?ð?ð?ð?ð?ð?ð?À»ï?€øï?ð?ð?ð?ð?ð?ð?ð?À}ï?€¹î?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?ð?ð?ð?ð?ð?ð?ÀÛï?ð?ð?ð?Àáï?€Òï?ÀÄï?Àáï?ð?ð?ð?@êï?ð?À–ï?–ï?À·ê?Žä?Àøí?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?Àáï?€öî?@î?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€0è?Àï?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?@éï?Úï?€Uï?ð?@lí?ð?€ˆí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?ð?€»ï?Àî?ð?ð?@Mï?@éï?Åï?ð?ð?@hï?ð?ð?ð?€&ï?€–ï?Àðï?€òï?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ñï?€Ãï?€¬ï?€½ï?Àáï?ð?Àöì?Àeï?0ï?ð?ð?@Žï?ð?@€î?À}ï?@Žï?ð?À¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?ð?@´ï?ð?@óî?À´î?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?€×ï?Àðï?ð?ÀÏé?ð?ð?ð?@ì?óÖ?À¿è?ð?€ñï?€Äí?ð?ð?Àîê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.ï?ð?ð?ð?ð?ð?ð?ð?€Yï?ð?ð?ð?ð?ð?ð?ð?À‰ï?ð?€²ï?ð?ð?ð?ÀÊï?ÀÕî?€¶î?@cï?åï?€Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?ð?ð?ð?Vï?ð?€Òï?bå?€Õ?@Õé?Úï?À´ï?@éï?ð?ð?€­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ï?Àhî?ð?Ñï?ð?ð?ð?ð?>í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈí?Àüç?xë?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äî?!Á?pŸ?Úï?ð?ð?ð?ð?kÙ?øÐ?k?¢?T½?€»Ú?¶ì?@¬î?yï?€Eï?#ï?À¿é?°Ä?À ä?€›ì?ÀMë?Àdí?ð?À{ï?ð?ð?ð?ð?@éï?ð?€²ï?öï?€Òï?@ï?óì?ð?ð?ð?…ï?@Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<ï?ð?€òï?€øï?Àáï?€Ší?€3ï?ð?ð?ð?ð?ð?ÀÖí?ð?ð?Úï?ð?ð?ð?ð?ð?Àƒé?€Òï?ð?€Žï?ð?ð?ð?ð?ð?Àðï?ð?ð?ð?@Ãï?ð?ð?ð?Àoï?€Òï?ð?ð?ð?€áï?À²î?Àëï?ð?ð?åï?€íï?À¼ï?€íî?Àªì?@}ç?€Ùê?@…å?@oí??í?&î?@²î?€Øî?€|í?€óé?À«å?hê?@úë?ùì?^è?@ªå?Âì?€ï?@ë?Àüé?æ¼?Á?Àšé?€~ë?Âé?pí?À‚î?˜î?¯ï?@°ï?ð?ð?ð?ð?ð?€Òï?ð?tï?ð?žï?@Lï?ð?@hï?@ï?À@ï?€ãï?À{ï?@.ï?€rï?€øï?@éï?@ãì?ÀÓí?Üé?pë?€2í?‰ê?_î?Àðï?À¢î?@tï?@mî?À¼ï?À»î?Íí?€ñî?+î?€ªî?@´ï?@Åí?@Rï?€ï?@uæ?€­ï?Úï?À´ï?ÀÊï?&ï?À÷î?Àÿç?kë?Àpï?€ï?@Yï?Àøï?Öê?/Ê? ?°Ÿ? –?Ô¶?[?¬ã?¶ï?ð?ÆÔ?ˆÜ?€áÝ?ßÈ?Ày?f?|Ä?Ô?b¹?6?€Ñ?€:è?€ï?ð?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?€øï?ð?ÀÊï?Àðï?ð?ð?ð?€ðï?}ï?ðï?ð?ð?ð?ð?ð?ð?Úï?ð?ð?€ùï?ÀÙï?@Ãï?ð?ð?ð?ÀÊî?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?ð?ð?ð?ð?@ï?ð?Àªï?€¤ï?ð?À¶ï?ð?ð?€þï?ð?Àáï?ð?@éï?ÿï?ð?@èï?ð?ð?€í?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?€¨ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ÀŸï?ð?ð?Àûï?ð?@ÿï?ð?ï?€Åï?ð?ð?€î?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?Äï?€°ï?ð?ð?ð?ð?@úî?ð?•ï?ûï?€¬ï?ð?Ïï?€_ï?ÀÚï?ð?À¨î?ð?ð?ð?@Ùï?€î?@ î?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?€Òï?@Ãï?Éî?ð?ð?ð?ð?ð?ð?ð?ð?€+ï?ð?ð?ð?ð?ð?Áî?@ê?À|í?€î?À~ï?ÀÖï?ð?ð?@éï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?î?@£ï?èï?€#î?@éï?ð?ð?ð?@Ãï?Úï?@Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?ð?ð?ð?ð?ð?@ÿï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?Àúï?ð?À»ï?ð?ð?ð?ð?áï?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?@éï?@úï?@óï?@ÿï?ð?ÀÈï?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ÀÊï?ð?ð?@3ï?ð?@ûï?€Dï?€Òï?@”ï?Àêï?€;ï?$ï?ÀPï?ð?ð?ð?@Âï?Àðï?Àoï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ì?ð?ð?ð?ð?€áï?€Ôî?À í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?@éï?À´à?#ç?@øè?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?À9ì?@‹?hª?ð?ð?ð?ð?ð?€äç?F²? ‡?€PØ?…ë?@ìí?Àiï?@ýì?Üï?áÙ?xÃ?@ïã? â?Fï?þî?€Ãï?ð?ð?ÀFî?ð?ð?ð?ð?ð?ð?Àhê?Õï?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?€Òï?ð?ÿï?Iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?À#ï?ð?ð?ð?ð?À½ï?ð?ð?Úï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?Àíî?í?@í?Ñè?€ãê?À ï?í?ÀKì?€–í?€‰ê?Àœì?@eì?…ì?€tì?À„ç?À™ê?×è?ýí?õï?@…î?€×à?h½?Ѐ?À°è?ï?Àûí?ÀÚî?@7î?jï?‡î?Dî?Àáï?ð?ð?ð?¦ï?€Èî?ÀGî?åï?€“ï?À‡ï?À î?€Òï?€øï?€ðï?ï?uï?@ î?€ëï?Úï?€Òï?ð?Àêï?€Dï?çè?@ºè?À5è?ÀIç?ÀÝï?@"í?@|î?(ï?yî?Àœí?À æ?Àí?@’ï?@1ï?@·í?ÀÞï?€±ï?ÿï?€£í?ëï?À_ï?€!ï?‹ë?ÀÌî?€´î?€öî?@Åë?@àî?@ëï?€Òï?Ëï?€Pï?IÉ?€z?gà?@'ê?€Eæ?sß?Å?P?PÁ?@{ì?@Ãï?çî?JÛ?Àî?€Tê?€­Ð?,?€b?\¡?ø©??€^?h£?Š?Ü¢?VÂ?`ï?Þï?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?@öï?Àáï?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?@éï?@@ï?@Žï?@ñï?¶ï?€âï?ð?@´ï?ÀÊï?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?ð?ð?ïï?@²ï?ð?ð?@ñï?ÀÎï?@¢ï?€›î?«ï?ð?ï?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?€tì?@|æ?€Oë?€yí?ïï?@éï?ð?ð?ð?ð?Àôï?ð?ð?ð?@Žï?€:ï?€îï?ð?Àªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?£î?ÀÎí?ð?˜ï?@´ï?ð?ð?ð?€:é?À«ê?ð?ð?ð?ð?ð?ð?ð?@Ãï?@®î?Àåï?€îï?€öî?@Øï?ïï?Ëï?ð?ð?ð?Àµî?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•ï?€·ï?ð?ð?ð?ð?¥ï?Àôï?@@î?À»ï?ï?Hî?€Æí?Àî?À«ï?[î?€6ï?€ï?ð?ð?ÀËï?ªí?ÀWí?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?@ ï?Þí?@úï?ð?ð?ð?ð?ð?ð?€°ï?ð?ð?ð?ð?€ˆï?ð?ð?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?€Óï?@dì?@6á?€-ï?ð?ð?ð?ð?ð?ð?ÀÊï?@Öï?ð?ð?ð?ð?ï?ð?ð?@éï?€Sï?@éï?Àåì?@„ç?ð?ð?ìï?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?Àáï?$ï?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ïï?@‚î?€Òï?@Žï?@Yî?@ï?@éï?ð?@Ãï?ð?ð?Úï?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?À`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åí?Ië?@œë?ÀZë?@ûî?Àªï?Àë?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?Úï?Òì?ää?€&é?ð?ð?ð?ð?ð?ð?ð?ð?ð?šï?Œ§?˜²?ð?ð?€áï?nï?ð?€Xî?į?³Ã?P¯??€Ì×?ðê?À—î?€¨î?€Yï?ÀÝé?æ¶?™Ñ?uÝ?Àáé?€òå?€õï?ï?ð?@Ëé?À½í?ð?ð?ð?ð?ð?Àxì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åî?ð?ð?@úï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?@?î?§á?€ô×?Kå?€Ìí?À‡í?øì?@ì?{ì?@ ï?@ì?À'è?@ë?Åî?Àõî?€ší?î?Mî?ÀÂî?€æ?ÐÊ?J³?1ì?À²ï?@fï?€î?@Óí?@í?Àïí?€uï?ÀÒï?Àôï?xï?€øï?À”ï?€áï?ð?€`ï?@Œí?À—ï?Æï?ð?ÀÎï?Àï?î?À˜î?Eï?€¬ï?ð?ð?@éï?ð?ð?ð?@Ãï?€ï?@øê?Àóè?@ì?@ƒì?ï?€Õî?Àÿì?@Sî?À%í?pï?Yï?€Úï?@ï?Àéî?@ï?€‚î?Àeî?À-ë?@(ã?€€ã?@sé?‚í?€™î?€Žï?€Òï?íí?€ãï?ð?€ºê?`®?€Aæ?ð?Çî?@°å?X³?€ŒÛ?À´î?ð?Àoï?Àì?î?Àæ?Ë?)Ä?Ƹ?¦×?”Ì?–¿?è›?ص?€bì?€ä?€ Û?@¡ì?@åï?Éî?@wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?ð?€àï?Àáï?Àáï?@úï?@øï?ð?ð?ð?ð?ð?Úï?@÷ï?@úï?ð?ð?ð?ð?ð?ð?Àáï?€fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠï?@úï?@úï?ð?ð?ð?@üï?ð?Àvï?@áî?€Òï?ð?ð?ð?ð?@éï?ð?€øï?@Ãï?ð?@éï?ð?€êí?€×?¤Í?€Næ?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?Úï?ð?ð?@éï?@øê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?€Òï?uï?ÀŠî?€øï?ð?ð?@œç?ð?ð?ð?ð?€ùï?ð?ð?ð?¥ï?€Aï?À$ï?€Þï?çï?[ï?@yï?8î?ôï?ð?ð?Àoî?ÀVï?ð?@fî?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?À»ï?ð?ð?ð?ð?€øï?À'ï?€ùï?Àˆï?€ùî?Àî?€¬ï?ùî?@¬ï?€ ë?€Ýî?Àïï?@öï?ð?ð?ÀÓï?Àêï?ð?ð?ð?ð?@+ï?ð?ð?ð?ð?ð?@éï?ð?ð?íï?ð?ð?ð?À¬ï?Àíï?ð?@Âï?þï?ð?ð?ð?ð?ð?ÀÊï?Öï?@éï?ð?ð?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?@¾í?ë?@\ï?ð?ð?ð?ð?Úï?ð?@üï?@wï?ï?ð?ð?ð?ð?ð?ð?Àîï?ð?@§î?@$ë?ð?ð?ð?Àûï?ð?@Dï?À…ã?Àlê?ÀÕï?ð?ð?ð?À»ï?ð?À°ï?ð?ð?€úï?ð?@wï?@fî?€»ï?@Ãï?À î?ÀÈê?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?€¬ï?€•ï?ð?ëï?Àîï?À ï?@úï?@‹ï?@Yï?@ï?Àûï?ð?Àîï?ÀGé?ð?€Òï?À•ï?´ï?ÀNî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?ð?À¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?€×ï?À²í?ÀMì?€Ãë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿æ?@Zî?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?.æ?2Î?ð?ð?Ùï?€<ß?À'â?ÀÎë?Ï?5Ú?Àf?°?›Ô?Ÿæ?€”î?@uî?@ªí?Àè?c×?è™?yÆ?€3Ñ?ÀYê?€ì?×ì?­î?Æê?€¬ï?ð?ð?ð?€øï?@Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ÀIï?€áï?ð?ð?ð?ð?ð?˜ï?€Òï?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýî?ð?{î?@¨ï?À#ï?Àáï?À¢ï?ð?ð?ð?ð?ð?ð?ð?Àoî?€íï?@Iã?€®à?€Ðé?'ë?€Aí?€Zï?Zî?À í?sì?Àî?@Œî?@þî?fï?ï?@òì?@ï?ÀGï?Àñî?ïë?@è?À6å?€ví?¦í?ÀBî?ÀOí?ãï?Àáï?ð?€ãï?€›í?aí?À^ï?Àýï?€Óï?ð?ð?@øï?ð?À>ï?@Yï?€øï?À‘ï?ð?*í?Šï?£ï?ð?ð?ð?$ï?ð?ð?€wï?Úï?Ëï?@¦î?€+ë?@Kì?@üì?@¶ê?@*í?€'î?@]í?Àyî?À¯î?@ï? ï?Àlï?À£ï?@ï?€uï?@tì?í?Àië?ÀØï?@±ì?@ ï?hí?Ëï?Àáï?¿î?@Gë?ÀÀæ?®×?@o?p“? ’?@`?šº?Àä?€¥ï?ð?@ì?‰Þ? {?lÆ?À™î?äî?@3ï?€ì?@ší?À•ï?@ãì?@¿ê?@å?/Ò?À*è?ÀKä?€ë?CÙ?€r?¦?ð?À”?À‹ç?@î?‚ã?€ÄÝ?Ó?ð?ð?ð?ð?€Qï?€yï?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?ð?ð?Àóï?€àï?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?Éï?@Æí?@vï?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?€¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áî?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?´ï?€Òï?ð?ð?ð?ÀÍï?ð?ÀÊï?À`ï?ð?ð?ð?ð?À÷ï?ð?@æ?ÂÒ?@·é?€pï?ð?ð?@éï?Úï?ð?ð?ð?ð?ð?ð?Úï?@¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?€<î?ð?Àãî?Ïä?ð?ð?ð?ð?€ˆå?ð?ð?ð?ð?åë?ï?€Bî?@Üï?@ï?Àáï?€Öí?@Nï?ð?ð?€áï?€çí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?@Pï?6ï?€ï?Àxì?À ì?Àcì?ï?ð?€`ï?À ï?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ï?ð?ð?ð?ð?ð?ð?ð?@î?€Êç?Óå?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iï?ð?€Òï?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?À•ï?€Õë?ð?€ßï?€æ?Ë?€ÃÚ?ð?ð?ð?ð?ð?€ìï?À’ï?@Bï?€ì?Tï?À:î?ð?ð?ð?Wï?]ê?€Rî?À«ï?ð?ð?ð?@éï?œï?ð?@Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@qï?€ˆï?Ëï?ð?Àáï?@éï?æï?ð?@§ä?MÊ?@uç?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ï?ð?ð?ÀÊï?ð?ð?ð?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àí?@-í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?À-ï?€›æ?À³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ü?Ö?ð?ð?€Wà?Š??Ò? ™?t³?–¸?€†ä?€eî?Àí?À_î?ð?@ ê?P¿?T©?@3ç?€ î?Àî?Îì?@ï?ÀÊï?ð?ð?ð?ð?€Òï?À²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯î?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@°î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6î?@fï?ð?€7ï?€¬ï?ð?óï?ð?ð?ð?ð?Óï?Àðï?ð?À<í?@ç?SÇ?€ÇÓ?6Ù?€¥ç?Àdî?#ï?€%ï?€eï?Ïî?€ë?€“ê?€¶î?€¾î?ð?@Êï?€¾î?ïî?Üî?€í?ì?€Üì?€òí?±ï?€^ï?…ï?/î?@Žï?À÷ï?€Òï?@oì?€'î?ÀNí?Fï?2ï?ð?ÀÎï?€¬î?4ï?ð?ð?À»ï?Àóï?ð?€žï?ð?€øï?Úï?ð?Jï?€áï?ð?ð?ð?ð? í?@éï?¥ï?@ï?Àî?zì?ð?€ï?€jé?€¼ì?@ê?šï?ÀÆì?À.ï?@%ï?ÀÀï?Àï?@ïí?À“ì?@Ëî?@Kî?ð?@Ãï?€—í?ð?€¢í?Ànä?P‡?™?òÔ?€%å?lë?”î?mî?€-ê?€9Ú?@?þÁ?€cÚ?€Žå?öç?ÐÉ?€NÐ?@ç?@ëì?õé?€bí?ð?À&ï?_í?@Åí?€Pê?€ ï?@¡î?ÀÝí?-í?@Mæ?€s?Ü¥?,´?€€Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?À­ï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?[ï?ð?ð?@˜ï?@µï?ð?ð?Àðï?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ëï?€iï?Àžï?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?€ãî?ð?ð?ð?ð?ð?ð?ð?Úï?@wï?´ï?ð?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?Àðï?Úï?€ñï?ð?ð?@jï?ÀÉï?@ßê?À}ä?@èì?ð?ð?ð?ð?ð?Àáï?ð?ð?@Ãï?´ï?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@»í?Àòî?ð?€Sæ?`í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?Àáï?ð?ð?˜î?ÀCï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?€õï?«ë?Àî?ð?ð?ð?À#ê?€Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´î?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úì?»ç?€áî?ð?ð?ð?ð?€*í?À$í?ð?ð?@¯í?ð?ùï?Üï?€øï?€ï?ð?ð?ð?Àñï?ð?ð?ð?ð?ð?Ëï?ð?ð?ð?À‡æ?À-î?ð?ð?ð?@Žï?@éï?ð?Îï?ð?@•ï?€ï?€±å?€Æï?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?€Äï?ð?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?@ï?,ï?òï?ð?ð?€Òï?@éï?ˆï?À{å?$§?Àûã?±î?ð?ð?ð?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ î?ð?ð?ð?@]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?ð?ð?ßë?¹í?€/æ?èé?}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ã×?À ã?ð?ð?ÚÖ? ”?áÀ?Àf?N?j»?xœ?š½?NÊ?€²å?Àªï?@™í?€oï?Ká?î¾?`¢?€mç?ð?ð?ð?ð?@iï?ð?ùï?ð?@Žï?€µï?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?À7î?pï?ð?ð?ð?ð?Úï?ð?ð?ð?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?Àï?Àðî?@Ãï?€Ûï?ð?Àîî?ð?ð?ð?ð?ð?Òï?ë?€Mí?@ï?@ç?€ìá?½Ù?€Rî?@·ï?À|ê?@0è?”î?Dï?@Êî?€9í?€¤ì?¡í?@(ï?€7ë?@ëé?€¡î?@Ùí?€ï?5î?@%î?@Üç?€ŸØ?@†ä?@’ì?€í?À€ï?@¥ï?ÀÃï?(í?@°ï?€\î?Àqï?@pë?ÿê?ÀGî?€Îî?€3ï?Eï?Àßî?ï?ð?€õï?ð?Àêï?6ï?À=á?€†ï?Àñï?Àûí?Bï?€»ï?ð?@éï?ð?€Ûï?@žï?Àßî?@î?€pë?@Kî?¾ï?€vî?Àkï?€¤ï?Ïï?òï?òï?@¦ï?€¡ï?€‹ï?@ï?@Cî?@‘ì?@›ï?ÀÓí?ð?ð?ð?ûí?€LÒ?±?ºÛ?@úê?ÀËï?@ï?Ëï?ð?ð?ð?€×î?€¦Ý?ê½?À3ï?=í?Àèë?³ë?Àí?Àiï?¹ï?@´ï?ÀUï?€½ï?€Üì?Àßë?í?ç?D½?è˜?”Å?B±?Ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+ï?Àðï?ð?ð?ð?ð?ð?\î?ûï?ð?ð?€Òï?@îï?€ëï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?Õï?ð?ð?ð?ð?Àì?ÀÊï?ÿï?ð?´ï?ð?ð?ð?@´ï?ð?ð?@éï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ð?€¬ï?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ð?ð?€Òï?À¬ï?ð?ð?ð?ð?ð?@éï?ð?ð?uî?@Pæ?Àßî?À•ï?Àï?À¤ï?Àðï?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çí?€Ïì?€éî?@þí?¾é?‘í?ï?Àæï?ð?ð?ð?@îï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMî?þï?ð?ð?ð?ð?ð?ð?€Üï?¥ï?ÀDï?€Çí?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?3ï?ð?€Ðê?€0ï?ð?€Iï?€wï?@Ôî?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€€ì?Àšï?ð?ð?ð?Ëï?Àáï?ð?ð?þï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?€Cê?cï?Àðï?€Òï?ð?ð?ð?@_à?Àê?ð?ð?€çî?ð?ð?€Ðï?Àôë?ÀÁî?ÀÀî?ð?ð?@5î?@hï?ð?ð?ð?ð?ð?ð?ð?ÀIï?ð?ð?ð?ð?ð?ð?€‹ï?ð?€ï?ð?Àøï?ýï?Àæî?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@éï?ð?Àáï?ð?ð?ð?ð?ð?ÀÊï?€æë?@öî?@Ãï?€øï?@éï?À•ï?ÀÀï?À"ï?À¹ç?€Þ?@¼ï?Ëï?Àðï?ð?Ëï?þï?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?€hï?ð?ð?Àáï?@Žï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€@î?Yî? ë?€å?bç?Àîï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€¨?@¨ê?ð?ÀÐí?€ ?©?˜¤?@`?€†Ö?€2ê?@§ï?€ùï?€…ë?Ë?Ì?ÇÂ?Àcí?ð?ð?ð?ÿï?ð?€ÿï?ð?ð?ð?ð?ð?ð?ùî?€áï?€ÿï?@åí?@éï?ð?ð?ð?@ýì?@îï?ð?€¶ï?€Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?ð?@¢ï?ð?ð?@ï?Àðï?ð?€áï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ð?ð?ð?Úï?€ûï?ð?ð?Ñï?€îà?]ä?@hí?ð?€&î?€˜î?À6ë?€Þî?Àðí?@ê?@lï?@£ì?À­î?Àqï?@Àè?€mÚ?uÏ?Øž?ü®?@º?>½?À©ã?€)î?@¿ë?€]î?@ï?€ží?€›í?€¿ë?@íë?%î?À‹ï?€Éï?Úï?@Éï?Úï?€Òï?"í?ÀWï?€ží?€ûã?€áÝ?€ê?@äî?@Žï?ûï?€ ï?€wï?¥ï?€àê?Àï?€×ï?€>é?ë?€¥î?§ã?@Üà?™î?€Qï?€Qï?ÀÀî?@rï?ûï?üâ?2×?Ìê?Àøî?@iï?€þî?ð?ð?ð?@„ï?„Ì?‚µ?€<Þ?Àoí?ð?Úï?ÿï?€¶ï?@´ï?ð?ð?ð?Àøï?À#ã?@t?ƒÌ?@Kà?@éï?&í?À’í?€[ï?ë?@ðë?ÀÊï?ð?€¬ï?ð?ð?@Öî?@^ë?@ïè?ÀÄ?J¶?@Ä?6¶?€lØ?]à?Àëä?€ìï?ºè?Ы?€üÐ?|Ö?yÒ?@)î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?@àï?ð?ð?ð?ð?€ôï?ÀŸî?ð?ð?ð?ëï?ð?ð?ð?ð?À"ï?ð?ð?ð?ð?ð?ð?ð?€öï?Àùï?ð?ð?ð?@èï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?èï?ð?ð?ð?ð?ð?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ð?ð?ð?ð?ð?€Øï?ð?ð?ð?ð?@èï?ð?ð?ð?ð?ð?ð?%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?Àüï?€1í?Àí?Aê?€àï?@ðï?ð?€Øï?ð?ð?ð?Àqï?@èï?@¡ï?Àáï?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?1ß?À|ì?ð?@œî?@î?€&ë?€ ì?ÀÍé?€ë?€.î?ð?ð?À–ï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?‚é?ð?ð?ð?ð?ð?ð?À¬ï?@Âï?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?€Jï?ð?ð?ð?ð?ð?ð?ð?ð?€°ï?@Ií?@Åî?Àîí?€Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?À ï?ð?€aï?ð?ð?ÀÀï?@èï?ð?ð?€Ðï?;ï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?µà?Àçé?@Ãï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?@Rë?Àêí?@¢ï?ð?€Oî?€Uî?ð?ð?ð?Àîï?ð?ÀŒî?À¶í?Àåï?ð?ð?ð?ð?ð?ð?@8ë?À î?ð?À.ì?çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰ï?Àqï?Öï?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ð?ð?Àîï?ð?@èï?ð?ð?€Ðï?éï?ð?ð?@Mî?ð?Àúï?@ðï?@øî?€ôî?À,ï?ÀÀï?ð?À¸ï?€qï?ÀÀï?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àiï?ð?ð?ð?ð?ð?»ï?eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?€öï?@iï?@9ë?€ãï?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?€ÁØ??Àjà?ð?€ôß?x¢?#Ä?Žà?@Aë?À†è?bË?|È?¥à?€üï?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ÀÒï?Àí?Ýï?ð?€Øï?¿í?ð?ð?@úï?€÷ï?À.î?À•ï?€qï?@jï?ï?ð?ð?@ðï?ÀÙï?ÀÈï?À¸ï?ð?À.î?@Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àiï?ð?ð?ð?ð?@ðï?€õï?ð?ÀÛï?@iï?ð?Àâï?Àµï?nï?Ëï?ÀLï?€uï?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?€Kî?@îï?€¸î?ð?@÷ï?ùï?ð?ð?Àýï?€në?@)ê?Àšì?€àì?@Õí?ë?€£í?€?ï?À€î?€ï?ð?ð?¯ê?ÌÒ?€ZÔ?€¡?Ð?€¶í?€rï?ÀÞï?@_ì?@™ï?ÀQï?À™ì?À›í?î?ï?Àìë?€yî?@uï?ÀPî?ƒï?€qï?€0è?À®î?üï?@ðï?Àeï?@(ì?À´î?@zï?ÀYî?²î?@’ï?@úï?3î?À|ï?Àï?À|ï?€›ë?@ë?@›â?Xç?€¨â?@\ë?@Uï?@æë?þî?Àçï?@æï?@4ì?€ÉÙ?€Xí?@|î? î?@Ãé?@yí?@úï?Àîï?€ë? ’?¶·?@)å?€êï?Àðï?@¥î?€Ðï?ð?ð?€õï?ð?ð?ð?ð?í?uÚ?d?qÆ?ÓÄ?åÞ?À ï?Yî?À¡î?Àë?€’î?@Mî?€„ë?€—ï?ð?€^ï?ð?@»í?Nî?iê?Ùã?@ªè?€à?°‡?€×?¦ê?€´ï?Àºï?ð?ð?€Pï?€Àí?Àúï?@ï?€ôï?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€9ï?ÀÔî?ð?ð?ð?ð?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?@èï?ð?@àï?©ï?ð?ð?À¸ï?&ï?€Åï?ð?ð?ð?ð?ð?ð?Àÿï?üï?ð?€òî?€Äî?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?ð?ð?ð?ð?£ï?ð?ð?ð?ð?€Èï?ð?ð?ð?ð?ð?ð?ð?€þï?Àéï?@Rï?ð?ÿï?ð?À•ï?€òï?€^ê?@ýï?ð?ð?ð?ð?@çï?À­ï?ð?@ñï?@Øï?ð?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žå?@ñå?ð?ð?ð?Àï?ˆî?ð?ð?@<î?@‚é?Àþï?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ví?ð?ð?ð?ð?ð?ð?ð?@¦ï?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?@ÿî?€÷ï?ð?ð?ð?@Åï?Àœï?ð?@àï?ð?ð?ÀXï?@æï?Àçï?ð?ð?ð?ð?ð?±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?€Ðï?ð?ð?ð?Àðï?€ïï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªî?jØ?€]Õ?@Pè?ÀÂî?€ ï?ð?ð?ð?;ï?ð?ð?ð?ð?ð?ð?ð?ð?À£ï?€Fî?Àï?ð?Ànï?úï?ÀËî?ð?ð?€ùï?ð?€Pê?üâ?€bå?€{è?ê?ð?ð?ð?ð?€Œï?ð?ð?@»î?@ï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?Àßí?@™í?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?Àúï?Vï?@{ï?¿ï?€íï?Àíï?@èï?rï?@àï?€üï?@»î?ð?ð?Àrï?Àï?œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rï?@Öí?ð?ð?ð?@úï?€¾ï?›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ùï?#ë?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?€Ü?`t?€$Ð?@óï?È? }?¾Ä?4ì?†Ý?dÆ?»?4«?¼­?*Û?hí?ð?ð?ð?ð?ð?ð?ð?@òï?bï?@Ïï?ÀÙï?€=ï?€~í?Àîï?Öï?€Íï?@Îï?@Gç?À7í?öï?À¾ï?€àï?ïï?€1ï?Àýï?Ëì?À—ï?@èï?ð?ªï?€Cî?ð?ð?€—î?Àœî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?Kí?öî?ð?ð?ð?ð?øï?Òï?@°ï?Àûï?@Óï?€Pï?@¨í?@Šì?€Øï?ð?ð?ð?ð?ð?@ðï?þï?€çî?ð?ÀÂï?@úê?€(ã?€"î?ð?ð?ð?Aï?Àgï?@Õî?í?€ í?€Ðì?8î?Àë?ƒì?@Ïí?€î?@åï?åß?L¥?„¡?@ä?ð?@ýï?€•í?À“î?@/î?@ì?@Úî?ÀÞí?ÀÙí?€ î?#í?@§î?À5ï?€Úí?Yï?¨ï?@©ì?€ï?@3ï?8ï?€Zì?ÀBí?™ï?Àæê?À®ê?€ í?€_í?À3ï?@¨ï?€½ï?Àäï?€Îï?Àóï?@Òë?tî?žî?yï?ð?À?î?Àî?Àï?€èï?€-î?@Šï?Àï?Äí?Àßï?Àzî?Uí?@¤ë?@™è? È?QÐ?þì?õï?ãï?!ï?€ýï?ð?ð?€Ëï?À¡ï?¼ê?@Ôï?ð?ê?#À?Àe?€½Ù?@¦ï?ð?€Œî?€uí?Fê?Àî?@à?@Êì?ÀŒì?@Íî?¤î?@3í?€­ï?€´î?À3î?€1ë?UÔ?À?ø¤?ð‚?Ï?)í?@æï?ð?€öï?Úï?ð?ð?ð?Àûï?@ðï?Àºï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?íï?ûï?ð?Äï?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?@›é?€Åï?ð?Èï?@ÿí?€qï?€Âî?@oî?sï?ð?ð?ð?ð?ð?ð?ð?ð?€±î?À¯î?@wî?Rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?ð?ð?ð?ð?Àâï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?@ëï?ð?ð?ð?ð?€¦í?@èî?@äï?ð?ð?ð?ð?ð?€Ãï?ð?ð?ð?ð?€Ðï?@áï?mí?À¸ï?ÀÉï?ð?³ï?€Öï?€Ãê?€øï?Àïï?ð?ð?ð?€ï?,ï?ð?€‡ï?€šï?ð?@èï?ð?ð?À÷ï?ð?ð?€Ûï?ð?ð?ð?Àî?€Wï?JÕ?€cí?ð?@ëï?ð?@Žï?@¿î?€éî?€Êï?ð?ÀÌë?ÀNí?ð?ð?€ðï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?©ï?ð?ð?ð?ð?ð?ð?ð?¸ï?©ï?ð?ð?€ôï?€½ï?ð?ð?ßï?€õï?€«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€#ï?ð?ð?ð?@ðï?ÀŒï?ð?ÀÀï?ð?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xë?€)ã?ļ?€Ð?€/æ?®î?€î?Àìî?À(í?À½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?€»í?@ëï?ð?ð?ð?œî?ÁÉ?Yä?@ï?1Û?ÀCì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|ï?ð?ð?€Èï?ð?ð?ð?ð?ð?À^ï?€§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?€›ï?@çï?ð?ð?€ëï?òï?ð?@cï?ÿï?¤ï?ãï?´é?ð?€Ðï?ÀÈï?ð?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"ï?ð?ð?Àëî?ð?ð?À¸ï?ð?ð?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€Ãî?Àúï?ð?ð?ð?ð?@Bï?$í?Àcï?@pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?@iâ?Àb?ÔÆ?@î?p„?î°?2º?À·ï?ð?ð?Àxï?Ààî?Ãè?2×?Ÿå?ð?ð?ð?ð?ð?ð?€³ï?Àœï?€ùï?À‹î?ÀOí?@ìë?À¦î?@ï?@Ëï?@ëï?€Øï?À[ê?@ûï?Àï?@Ýï?À¨ï?€Àï?@’ï?@þæ?Àƒì?ï?ð?ð?@>ï?€[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@mê?À›î?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ÀZî?€ë?Àýí?ð?ð?ð?ð?ð?ð?@èï?@òï?ð?€î?@é?Öî?€Öï?ð?ð?@ðï?ð?ð?@êï?ð?€®ï?Ôê?ËÇ?@…â?€Ûï?ð?ð?ð?Šî?úì?€åë?Àî?_í?€Üë?€€í?€_î?€Šî?@Òî?À’î?æá?¨´?>Ñ?ÞÈ?Þ¶?@pç?À,ê?Àç?@Âë?@Yí?@Áî?Àí?€òî?€aì?Äí?Àñë?€wé?@)î?@Zí?Ôì?€ï?@ï?—ï?Àyï?€í?€_í?Àaî?€Óî?@3ï?ì?À*í?Ãî?€pë?€Ìï?@úï?ð?»ï?@ýï?@2ï?@—ï?yï?À÷ï?À@ï?@ëï?@þï?Àóï?ð?@Gî?ï?Ëï?ð?ð?Àyï?ð?ð?šÛ?€—×?@ï?€Ýï?ð?ð?ð?ð?ð?Ànï?¶é?€©Þ?¸?UÈ?€Û?l£?¨µ?€r?(”?@×ã?@ùï?ð?Àqï?@Rï?@ñî?€‘ï?ð?î?@<ï?@íé?À"í?Ìì?@Öí?@;ï?€Žï?@¢î?@å?Ô¿?Hâ?Ø¥?”£?€mà?¸î?€±ï?ð?ð?ð?Àéï?€öï?Àqï?ð?ð?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?Þï?@àï?@Ãï?ð?ð?ð?ð?ð?€øï?ð?ð?Õï?ð?ð?ð?@ðï?ð?€hï?€lï?À½ï?@óï?Àûï?#ë?À ì?ð?ð?ð?ð?ð?Xí?Àèï?À.ï?À¹ï?@±ì?ð?€Òï?€³ë?À‰î?ð?ð?ð?ð?ð?ð?ð?ð?€Dè?@)î?Àêï?@Ÿí?@rî?@¹í?€#î?@\î?€Kí?ð?ð?ð?ð?Àµî?@§ï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡ï?€Ëî?@èï?ð?ð?ð?@âï?@Gî?ð?ð?ð?ð?ð?@jï?€æï?ð?ð?éï?ð?ð?À‚ï?À*ï?¡ï?ð?€¾ï?€øï?@%ë?ð?ð?ð?ð?ð?ð?ð?ð?Àiï?ð?ð?ð?ð?€ýï?¬ï?ð?@êï?@íï?ð?ð?ð?€8á?:Ú?€šá?ªí?ð?@íï?ð?ð?ð?ð?ð?ð?@±ï?€èê?@fí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAî?î?€Ìï?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿ï?ÀXí?±ï?@:ï?ð?ð?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‡í?ZÜ?€ÛÓ?§í?ð?ð?ð?ð?ð?€©ï?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?èï?ÀÅï?ð?ð?ð?ð?@ïá?úï?±ï?@)ï?€Âå?€ãî?ð?@ùí?[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ï?ð?ð?ð?ð?@µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\î?ð?ð?ð?ð?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œï?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žî?ð?ð?ð?ð?@^ê?ýÔ?ð?ð?ð?ð?Àºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ÀÛî?@ûï?ð?ð?ð?ð?ð?Àëë?ï?À%ï?@ï?ð?@ ï?Àï?ð?ð?ð?ð?ð?ð?ð?@ç? x?€\á?@Óí?ð…?M?€à?ð?ð?ð?ð?üè?€Âà?€]ì?ð?ð?ð?ð?ð?ð?ð?ð?ÀFî?À®í?À‹ï?@÷í?€‡ï?ÀJï?ð?±ï?Àkï?ð?ð?ÀÆï?ðï?€øï?ð?¡ï?€få?@Zë?ð?ð?ÀÈï?Àsï?€vï?@šï?ð?ð?ð?ð?ð?ð?À•ï?ð?ð?ð?ð?ð?ð?èî?Àîî?ë?Àðä?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@£î?Íå?@\ï?ð?ð?ãï?ð?øï?ð?@ðï?ð?ð?Ïï?€âï?@¹ï?ð?øï?ð?ð?€õï?@áï?Àíï?€ºï?@Pî?€ ì?€ûí?@Wï?€‡ï?ÀÓï?€ëî?@„ï?ð?Àeì?@qì?€í?@Iï?@¸î?@äî?Àûë?@á?tÈ?M?$­?°«?`€?“Î?c?Г?@ì?€\í?@!é?6î?@[î?€ î?À÷é?À¿ì?Éê?€ì?ÀÐé?€ˆë?@í?€ï?ð?ð?ÀÐï?@aï?Yí?ÀXî?€›î?˜ê?@Pï?€Eì?õï?@áï?ÀFï?€eï?€ï?@äï?ð?€ƒï?€­î?ð?@Qï?@²ï?ˆí?€Ãí?ð?€uï?@ûî?…ï?ð?ð?€‰ï?ð?@ãì?eÈ?ì?ð?@îî?ð?ð?ð?ð?ð?ð?ð?ð?@ï?H¾?€(Ý?á?€Ò?Ào? ‘?€äë?ð?@`ï?À\ë?@Éí?ÀÅï?À¢î?ð?€íî?wí?€uå?À“í?@"î?@¸î?Sî?@Ëí?sÛ?€Õ?€hâ?Ø?ÛÅ?Ô§?3Î?€ªÓ?€‘ä?À²ë?ð?ð?ð?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ìï?Àåï?€õï?ð?ð?ïï?ï?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?Àï?ìï?@­ï?€ÿï?€Hï?@Óç?@Ââ?ð?ð?À7ï?@î?Éî?@ï?@‰ï?ð?ð?@äï?@ï?ð?@Jï?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?óï?ð?ð?ð?@èï?ð?€Èï?äí?ð?ð?ð?€_ì?€,ì?ÀÊï?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨ï?ð?@èï?Ààï?€Øï?ð?@ûï?@ôí?€Ðï?ð?ð?ð?ð?ÀÀï?ÀÎî?€Ïî?ð?@ÿï?@àï?ð?±ï?€ˆî?Äæ?€Ý?€Ÿá?€Þ?€ÐÑ?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?€{ï?À­î?@Cï?€_î?€Ôâ?€9í?ð?ð?ð?€Øï?@èï?ìî?ð?ð?ð?ð?ð?Àéï?@šë?yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?@öî?ð?Àüï?ð?ð?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯î?€Ýï?ð?€Ùî?@¯ï?Àòï?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?€xï?@òï?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?ð?ð?ð?ð?@è?Àï?ð?Àéï?@ñï?ð?ð?ð?ð?ð?ð?ð?€ëî?ð?€àï?ð?€lî?ð?@èï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@èï?ð?ð?@Vï?@ï?@4ï?ð?ð?ð?ð?þï?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?@àï?ñï?Àdî?Àî?€·ï?ð?ð?ð?ð?ð?©ï?ð?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™î?íí?ð?ð?Àœï?Àqî?­ï?ð?ð?ð?ð?ð?ð?ð?ð?wÏ?@§ê?@öï?XÒ?:?€Y?œ¿?ð?ûï?ð?ºî?€¢ë?nã?äê?Àøï?ð?ð?ð?ð?@èï?ð?€àï?Bï?ð?ð?ð?ð?ð?ð?@ðï?€Ãë?@­ï?ð?ð?ð?ð?ð?ð?@àï?€üï?ð?©ï?ð?@Nï?€ˆî?€9ï?ð?ð?ð?ð?ñï?ð?€ûï?ð?ð?ð?ð?ð?í?À“ê?€Íì?@øì?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]ì?@é?€è?@8è?@=ì?ÿï?ð?ð?ð?ð?ð?ÿï?ÿï?øï?ð?@ðï?ð?ð?ÿï?ïï?@þï?@Âï?ïï?@Ðî?@ë?Àì?€¹ç?À˜ì?€æí?€Mï?€{î?€ï?Àãî?ÀÙî?€Èï?¼ï?Àáà?x?€…?P·? —?”¯?±é?€ûí?€oé?@ïé?€œí?ÀTì?@Åî?@íï?€«í?€{í?@ùí?@Jî?À«î?@—î?,ï?@ðï?€ ë?€Cí?€ìé?ÀMæ?ÀVï?ÀÜì?Aï?À¢ë?ê?@ßë?€Þî?@‘ï?€âî?€ýï?À¬ï?€øï?€èî?@äê?€¼í?€ßï?Àãî?¹ï?@¿ï?€ˆî?Àúï?ð?Àyï?€wï?ð?€î?%Ð?€é?@™ï?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?@‘ï?€ î?@þï?À<è?@t?ðƒ?|¡?Ò?iÔ?hº?Ѐ?¤¦?D¿?<Í?€$Ù?€Ð?Æ?€ÓØ?À ç?€Ò?ÙÞ?@í?¶Ý?"Ã?ç?Àì?OÓ?­ç?€r?°…?¦Ç?€ÈÔ?|æ?×ï?€óï?@Ýï?ÀÃï?ð?@Óï?€óï?æî?Úï?Uï?Àgï?@õï?ð?ð?ð?ð?Àoî?ð?ð?@àï?ð?@íï?ûï?ð?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?€ï?°ë?@ï?ð?ð?ð?ð?ð?Àïï?ð?Àúï?@ßï?ð?ð?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€$î?Àïï?ð?ð?ð?ð?À¸ï?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?ð?€¸ï?ð?ð?ð?€í?ð?Àöï?€ñï?ð?ð?ð?Àìï?ÀÖî?ð?ð?@èï?ð?€Øï?ð?€Õå?€™ë?€§ï?—ì?@ï?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?€»ï?€rì?@Pè?À¹î?tï?Zî?€Hï?€œï?ÀÃï?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?@½ï?€¬ï?ð?ð?ð?Àœï?€Ié?À©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?€gï?À$ï?@ãï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ç?€ËÓ?@Ëì?Ðï?ð?ð?ð?ð?ð?ð?ð?€óï?Úï?€Ýï?ÀNï?ð?ð?øï?Âï?ð?ð?ð?ð?ð?ð?ð?ð?±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?À‚ï?ð?ð?€ï?@¹î?¬ï?Àåî?ÀÈï?ð?ð?ð?ð?ð?€Çï?@Nï?ð?ð?ð?ð?ð?ð?ð?Àáï?€Ûî?€–è?À¿î?€7ï?ð?ð?ð?ð?ð?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?@Ùî?ð?ð?ð?ð?ð?ð?ð?ð?%î?þí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖå?p‚?€óç?ð?ùí?ñÊ?ä¤?|¯?0?À’ë?@õï?ð?€¾í?€fë?€{å?øì?ð?€Ðï?ð?ð?ð?ð?ð?€úï?óï?ð?ð?ð? ï?@úï?ð?ð?@öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?€ûï?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?€Þï?Àñï?@úï?ð?ð?ð?¡ï?ð?ð?ð?ð?ð?ð?ð?ð?À“ï?€Üî?@õî?@%ï?ÀUì?À/ç?bê?€5î?€Cî?ÀBï?€Óï?@èï?ÀÀï?ð?€Ôï?¥Ý?¾´?¦è?ß?œ±?€o?F¹?@üé?Uê?Òë?_ë?€hî?€kï?@ï?À0î?@Êî?@Bï?ð?À™ï?@¯î?í?€#í?@ í?€ì?€iï?€™ï?oí?ÀØí?€¢î?Àäî?ÿë?±ê?€žé?jï?Êï?Àòï?@ï?€”ï?@£ë?À¢é?@;î?Àæï?ð?À.ï?Àæî?žï?€Rï?Àþï?ð?@êï?À¡î? Å?€ å?ð?ð?ð?ð?@þï?¬ï?ð?@úï?À®ï?øï?ð?Àñï?€@ï?Àêï?€óï?€kÚ? °?P¯?x”?PŒ?$Ô?@9é?ÂÍ?»?À?´î?€¥ï?>î?Uã?æ½?€o?5Í?€Óè?@î?À¿î? í?ÀÝí?€Ôî?€úî?À|ï?@áï?ð?ð?ð?ð?ð?ð?ð?Uî?À†ï?¹ï?€‘ï?ÀÐï?ð?ð?ð?@ðï?ð?ð?ð?õï?@(ì?€›ï?ð?@Mï?Àcê?Rì?€µî?Àˆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?€î?€ºî?À7î?€çï?ð?ð?ð?ð?ð?ð?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûî?Õï?ð?ð?ð?ð?¹ï?€ýï?ð?À\ï?ð?ð?ð?æï?@úï?ð?@zî?ð?<ï?Àúë?ÀÐï?õï?@óï?ð?€”ë?€è?ð?ð?ð?€ýï?ð?ð?ð?ð?@øï?ð?Àê?Àlà?@"à?€[Ô?aË?Š´?€æ?Àþí?À§ï?€¥ï?Àuí?€øæ?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈì?@êè?€3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï? í?@9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤î?@Œî?ð?ð?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?€Ïç?À¿ï?Àìï?ð?ð?ð?ð?@©ï?ð?ð?€Ëï?€ðï?ð?€dï?Àþï?ð?Àüï?@êï?ð?€iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯ï?ð?ð?€Ãï?ûï?ýï?À´ï?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?šì?€Èî?@•ï?@ïï?ð?ð?ð?ð?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óì?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»è?x¢?ÀÁâ?ð?ð?‚ß?l´?¾·?€÷Þ?Öï?ð?Øï?•ê?€Ñì?€ûï?ð?ð?ð?ð?ð?ð?@Jï?ð?@’í?ð?€Øï?ð?@éï?€wï?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?Àýï?@þï?…ï?ð?@èï?@èï?ïï?€éï?ð?ð?ð?ð?@¾ï?€«ï?€Sí?@"ï?©î?@ ì?€ÐÝ?Àòî?3ï?À)ï?ð?ð?ÀÞï?€ñì?€Ìï?€Hß?Às?À‚?°£?€l?€R?HÈ?˜ê?­Ý?c?öÏ?ÀŠì?@vì?@}ë?@5ë?€Óï?@ïï?Þî?Àõî?ûï?rï?@Ìï?€sï?Àï?€ªí?€-ë?€ùî?€jì?™ì?À|í?Àí?€„î?…ï?Àiï?@ï?€1î?À|í?›ï?Fï?€ï?ÀÌï?ð?€rï?€~î?€òì?ïï?€ï?À¸ï?@Úî?€[ï?€ûï?ð?ð?ï?ÛÜ?€Çß?€üï?ð?øï?ð?€ùï?Àì?€&î?ð?ð?ð?€Èï?øï?@®ï?Àþï?€ÿî?@Ûä?¡Ñ?D??Ø‘?0‡?€`?€X?¤«?P??Â?ìµ?€%à?@Hì?8Î?€`à?@Ÿç?€áì?@3ï?òË?›Ä?í?€«í?€ýï?ð?ð?ð?ð?ð?ð?ð?ðï?øï?ð?ð?ð?@—ï?@­î?À¶ï?ð?ð?€Àï?ð?€Ðï?ð?ð?ð?©ï?Šç?À³é?€ï?øï?Ìï?ÀÑí?€˜í?ð?ð?ð?ð?ð?‰ï?ð?ð?ð?ð?ð?ð?ð?ð?`ï?¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žî?@†ç?€Dã?@¹í?ùï?€£í?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?@Žï?ð?ð?ð?ð?ð?ëï?ð?Àvï?ð?ð?ð?ð?À¶î?@Ìï?€ãé?Rï?@Yî?€Üè?€àï?ÀÔï?Àtï?€í?€{æ?ð?ð?ð?@èï?ëï?ð?ð?ð?Lï?:ì?Ö?„½?Å?€šß?Qî?@ðï?@üï?ìï?ð?øï?ð?€—ì?™í?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?Óï?Àê?@žï?ð?ð?ð?ð?ð?ð?@wî?@²å?aÏ?,ª?_Æ?Ñå?@[í?€Wä?€fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘î?€ï?ð?[ì?ÀUï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öî?Àë?@=î?°ï?Àêê?@ôë?@üï?ð?ð?ð?ð?ð?ð?€Pî?€Ãë?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@tç?€\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¨ï?ð?ùï?@Ñï?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?€¬ï?ð?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?@Rï?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ð?@¡ï?ð?âï?ð?ð?ð?ðï?ð?ð?ð?ð?@èï?@ðï?ð?ð?ð?ð?€Ðï?ð?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?@wì?@ží?À¹ë?€çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?øï?@èï?ð?ð?ð?ð?ð?ð?àï?ð?ð?ð?Þì?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€²Ð? w?ë?ð?ôï?@yæ?šº?·?ÀË?P?-È?@vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œî?ð?Àï?ð?À¸ï?ð?ð?ð?øï?ð?ð?ð?øï?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?µï?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?‡î?À í?€Uî?@!ï?€ï?Äì?úí?ûï?@¤ï?@¸ï?@àï?@wï?@ì?€iÕ?À?€Õ?ÀOâ?n¹?«?~Î?[á?@ ï?€;ï?€ãÛ?Àâ?SÊ?4±?œà?gî?À„î?@Mì?€Šî?€>ï?žï?@bï?€ï?€}î?€¸ï?À©ï?€Üí?À­î?À|é?@eï?€áí?À¢ç?@ì?€Öî?Ànï?À¨î?ð?@ï?€µï?€Œï?èï?ÀÉç?À‡î?@Àï?@Èï?@©ï?ð?@6í?eî?€ÿï?€áï?ªï?@™ï?ð?Àyï?€ï?Àé?À‚è?@Ðï?ð?àï?€úï?€ñï?@ ï?Ãî?ð?ð?ð?ð?ð?€Øï?ëï?@ïï?@Hï?ð?€±ä?(?[Ì?€Û×?ŠÖ?@Næ?@`?ÎÁ?mÉ?€ˆÝ?€2Ö?@²â?_Ã?€èí?@Ÿï?Ȳ?’¿?@Áî?èï?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?@øï?ð?ð?ð?@Ùï?À ï?€èï?ð?ð?@øï?ð?ð?ð?ð?îï?Àƒï?ð?ï?ð?€hí?À"î?@Õï?ð?ð?ð?ð?ð?@Õï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?Àªï?€¬ï? í?@çï?ð?ð?ð?ð?ð?ð?ð?ð?@¥ë?@Óì?ð?ð?ð?Àÿì?@Åï?€Ðï?±ï?áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ÀÝï?€€î?€ì??è?€™â?€ß?À}á?€«Þ?€Jê?@•ê?@¼í?€Æî?€üï?ð?ð?ð?ð?@ ë?€ï?ÀŒã? Þ?dÀ?D¨?ËÇ?À\à?ÀCâ?€ßî?€Øï??ï?€µï?ð?ð?@ðï?ð?ð?†ë?eê?€Òí?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aï?@îê?€áí?€Ðï?ð?ð?ð?€ÿê?ƒÄ?{?`}?¬ ?€f?\Ã?@ í?€Ìï?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€½Ý?€¿ä?“Ý?€<ê?šÀ?èì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªï?€ÊØ?X™?WÁ?ÛÒ?P?à?€>Û?@<â?À¬ç?ôâ?@aà?ÀÀè?€ä?*½?þº?€ î?@´ï?ð?ð?€iæ?€ à?@jê?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?±ï?@©ï?ð?ð?ð?òî?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yï?ð?ð?ð?ð?ð?ð?ð?ð?@™ï?ð?ð?ð?ð?ð?ð?@èï?ð?ð?ð?ð?@èï?ð?ð?€ëï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?bï?ð?ð?ð?ð?ð?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?@Ùï?€°ï?€Øï?Zï?@ðï?¶ï?ûï?ð?ð?ð?ð?ð?ÀFï?ÀÓï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?€Þë?€pâ?€¾í?@ ï?ÀÓï?ð?ð?ð?ð?ð?ð?ð?@œî?ð?ð?ð?ð?ð?@ùï?ÀTí?€èï?ð?ð?ð?ð?ð?ð?ð?À°ï?Àðï?ð?@Ÿï?Éí?À;î?@?ï?€>ï?Àßî?€lï?ð?ð?ð?ð?ð?ð?ð?@Uì?@o?DÈ?ð?Àlç?Ø?À]ä?ä?Pˆ?Às?ð€?J?¸?Íç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Zî?ˆï?€Ùî?@ðï?@àï?À¿î?€!ï?@{î?@Öî?×ï?ð?ùï?˜í?@ðï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘ï?@7í?ð?ð?ð?@üï?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?ð?@èï?Àúï?À;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?èé?Àjí? ï?@ðï?ð?Àðî?@Lì?ð?€Vï?@kï?@¿ï?Àñï?@Éì?€«ä?@`í?ð?À&ä?^Î?¦Ó?@~é?À3ï?ð?ð?@Ìï?`ï?·ï?ÀÏì?Ø¿?€|?4µ?€cß?€0â?€Äà?ßß?€o?@]â?@}í?€šî?€âì?À¸î?€Wï?@‡ï?@Åï?@ñï?bï?€¼ï?<ï?€Ié?ÀÂï?@Zï?€Ýî?À×ï?@=î?Àºî?À*î?€(ï?¹ï?€Hï?€|ï?™ï?@¸î?@6î?€hì?@ðï?éì?Áï?ð?ð?Àãí?@Cï?€~ï?Àÿî?À0ï?lï?@ðë?vê?0í?Àùï?ð?ð?@èï?Ààï?ÀBï?¦ï?@¥ï?€žï?@nï?Òï?ð?€ãï?ð?ð?ð?ð?€üï?€ûï?Çë?B¾?€ŸÝ?€"á?P†?¼?ªî?@4é?‚? °?ãØ?€Ö??€_?™?€!à?@bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vï?ð?ð?ð?ð?úï?€ôî?ð?ð?ð?üï?£ï?ð?ð?ð?€–æ?Là?ê?þï?Àñï?Àçï?€ýï?€ýï?ð?ð?Àïï?@nï?@ûï?ãï?ð?@~ï?·ï?ð?ð?ð?Àïï?€Ïï?ð?ð?@õï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ôï?ð?ð?ð?ð?@ï?€bï?€ßï?ð?4ï?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?@Ïï?þï?Àéï?Àçï?Ïí?@Më?À­é? q?¬¸?óÐ?ç?Cí?Àÿï?ð?@öï?ð?€ýï?ð?ð?9í?€JÚ?Â? p?ÎÌ?Àwè?€Àï?Àóï?À~ï?€ÿï?€&ï?Úï?Àæï?ð?¯ï?€î?Àsî?Àüí?Qí?€Zß?;è?Àžï?ð?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?À$ï?Àí?Jì?@tì?@éí?@êé?¿å?mç?”¦? ‰?­ë?@óï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@#ï?Àí?øà?ªÂ? x?}Ê?uÎ?@kì?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?€ëã?øº?X?€ßÓ?ÀAã?€Sé?€5è?@mé?ÀLí?@‹æ?€Âá?@Îá?¤Ê?r¾?6Ò?ËË?Wå?ð?@1ï?ð?ð?€¶ï?@Fç?@Kä?¬Ú?@è?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?@¬î?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?øï?€Žï?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?€“î?€Ïï?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ï?ì?ÀŒí?@ßë?Àkï?@ï?€†ï?ð?ð?ð?ïï?Àßï?·ï?ð?€Žï?ð?ð?ð?ð?@³ï?€”í?@þï?ð?ð?ð?ð?ð?ð?ð?ð?€oï?ð?ð?Ùí?ï?@ï?€ƒï?Àgï?~ï?ð?ð?ð?ð?ð?ð?ð?ð?€Cæ?€–?€¿â?@²í?¥?€Q?Óä?@r?<¥?€¶Ð?ÀRï?ð?ð?ð?@»ï?ñí?ð?ð?ð?ð?ð?ð?ð?€×ï?Àãï?ð?€_î?€±ï?÷ï?À×ï?€êï?>ï?Àíï?Àñï?ÀWï?ð?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?'ê?ð?ð?ð?Àçï?ð?ð?@˜ï?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ÀIí?`é?Àéï?ð?ð?@ÿë?½í?€ê?Àï?ð?ð?ð?Àçï?úï?·ï?Àïï?ð?€úï?3ï?€àï?÷í?@Žï?^ï?Àžï?@œï?@Àî?@®î?Hí?Àmè?@‡ä?•è?€àï?Àçï?@»ï?À0î?€›ç?á?€šè?ÀÉä?@–ì?Cí?«í?âì?@Kî?Àñï?xï?ï?µî?€—ï?@Ùï?€ôï?@‘í?€Áë?À:ï?@âï?€’î?€oï?€äï?€óï?Ëî?€äí?À1ï?€Êí?Fï?@Œï?@§î?@Tï?€ï?¯ï?ÀËï?€˜ï?ð?¿ï?ï?@Äï?ÀYí?@Xì?@ûï?ð?ð?ð?€×ï?ð?ð?€ï?@ í?ùî?Àkï?€Îï?Àbï?ÀÒï?ð?À£ï?€Ïï?ð?ð?ð?ð?ð?ð?@—â?R?¦Ù?@øâ?@Mè?€××?÷Ü?ã?åÛ?Ј?Â?€/ï?ií?š°?\¸?€ ä?lî?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?€ßï?ð?@ùì?ð?Àôï?ð?Àôï?ð?ð?ð?Àqì?ð?@Äì?ð?€äï?ð?ð?@Ìï?ð?ð?ð?@±ï?€Úï?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ï?Àãï?ð?ð?ð?ð?@×í?À ï?ð?@ ï?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?Àëï?bï?ð?ð?úï?ÀVï?@Ûâ?€6Ó?`s?0¿?Eâ?À¶í?€Ÿë?ç?aì?À¶ã?€oà?À¶â?@ÿä?€šÐ?`}?<¶?€úà?ÀYí?Àmï?@»ï?€×ï?@ßï?À‹ï?ð?ð?ð?€Ûï?Àãï?À³ï?@€ì?ÀÉç?À»å?èî?ð?ÀÁï?Àíï?Àéï?ð?ð?ð?ð?ð?ð?Àçï?Ší?Àá?ÀLç?€dî?Àï?@ì?€™Þ?ä­?·À?H?äÊ?€÷ï?ð?ð?ð?ð?úï?Àíï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Uî?–Ã?€ä?€ªÚ?€~Þ?nÀ?@Vå?À:í?@]è?üï?ð?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Hï?€Ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?@‚à?šÁ?ºµ?Àží?@”ï?ð?ð?ð?ð?ð?ÀŽï?ð?€ðï?@¥î?€¹î?ð?ð?ð?Úï?ð?ð?ð?ð?í?Àƒ?Ä?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žï?·ï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?ð?ð?ð?À–ï?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@bï?Àí?€2ï?ï?À ê?×ì?!ï?ÀÇî?ð?ð?ð?ð?Àï?ð?€Ïï?ð?ð?ð?ð?ð?ð?À~ì?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëî?ð?ð?€,ì?@•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?˜Ñ?H˜?€ïØ?Àwå?€Ñ?€?€ Ö?P‹?ßÂ?@<ã?@Tí?@×ï?€÷ï?ð?Àöí?ð?ð?ð?ð?ð?ð?ð?ð?Öï?@Ýì?@Aï?ð?ð?ð?ð?ð?@¿ï?€×ï?ÀÍï?Àóï?ð?@áï?ð?ð?ð?ð?ð?üï?Àóï?Àïï?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\î?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?Àïï?ð?€ßï?¤í?Àùí?ð?ð?@rï?ãï?@bî?€ÀÔ?èé?Àïï?ð?ð?ð?@ï?<ï? ï?hï?ð?€ï?€Æî?@”í?&î?ï?éï?Àðï?@ï?ð?Àßï?øï?”ï?Ôï?@éï?€hí?ÀOí?Jî? î?À ï?ÀFî?Àâ?Ó?ïÔ?Dâ?À¢á?€ å?Lë?@)î?ÀÅí?Þì?@ýï?@Žï?(í?–à?€ Ö?Àûç?ï?€‘ï?Õî?úí?¹í?@óí?­î?@„ï?@_ï?À6ï?À>ì?@lí?Ôî?Mî?@bï?À¤ï?Àï?ð?@¥ï?€àì?€óß?€Ðî?ð?ð?ð?@úï?Àôï?ð?Àïï?@Çï?€ëí?€ôé?À’î?@ëì?@gï?@´ï?€Òï?Šï?ð?ð?ð?ð?@ï?úï?Àêî?ïï?åí?@¦á?€kÕ?;Í?€Òâ?á?€iî?€¡á?L?À­?Žç?Àjï?À0æ?@Nä?€ß?Àh?¤?€¶Ò?ðï?ð?ð?ð?ð?ð?ð?ð?§ï?Àúï?ð?Àçï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?€Qï?ð?ûï?ð?óï?ð?ð?€Áì?€#ê?@ê?À)ë?ð?ð?Àçï?@Ëï?€“ï?À–ï?ð?@–î?@Õï?õï?ðî?€ñï?ð?ð?ð?ð?ð?ð?ð?éï?€ÿï?ð?ð?ð?ð?À&ï?@ëï?ð?ð?Àþí?€ßï?ð?Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?ð?@´ï?€÷ï?€æï?Àíï?@Éï?ð?)î?çß?€Q?8›?˜¥?@‚?IJ?ÀŽç?@0ç?nß?½Ì?ô«?àµ?ÀÖã?ÀÞé?[ï?€jï?jï?§ï?€¿ï?£ï?ð?ð?€ûï?ð?ð?€Áï?€èî?Àçï?€ï?ê?Àï?÷ï?À–ï?·ï?€×ï?ð?ð?ð?ð?ð?Àóï?€è?@dâ?À1ê?€Sí?€†ì?Sß?£?€X?€X?<Ó?Àóï?üï?ð?Àï?ð?ð?ð?ð?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?qé?€ÖÞ?"ã?H™?@c?€+×?@rï?€Öë?@¥ï?ð?Àýï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?€;ï?^Ç?@`?€AØ?€Æé?èï?ð?ð?ð?ð?ð?ð?€øï?ð?€Ãï?ð?ð?ð?ð?Àçï?€ýï?ð?ð?ð?ð?lî?êÕ?H’?€]î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þî?Àêí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?Àßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?@Åï?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?À®ï?@ ï?ÀÏí?gî?ì?ÀBî?@¬í?@üï?ð?ð?ð?ð?¿ï?€ûë?@iì?Êê?@™ì?€|ì?@\ì?Àôë?À‰ê?€tî?ûï?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?@*ï?€Œí?ð?ð?·ï?Àï?ï?ð?ð?ð?ð?ð?ð?ð?@3á?>?cÂ?ÄÐ?˜?@ƒ?Àlå?ŒÈ?Á?ð?ð?@üï?@üï?€‚ï?@°î?ð?ð?ð?ð?ð?ð?@÷ï?€Oí?€¶í?@&ì?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?Àçï?úï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?Àóï?ð?ð?ð?ð?ð?ð?ð?@+ì?@«î?ð?úï?€Ýï?ð?ð?ð?ð?ð?€Ýï?úï?€×ï?ð?Àçï?ÀÄî?@Èî?ÀŽì?€*ï?ð?@âï?ùï?Éï?€Ÿï?ýï?ð?€†ï?€5ï?€Çï?jî?@ë?€Éï?øï?À@î?‡ì?Àèë?"î?€ í?€öï?Úï?Àdï?€Óï?Àóï?€ûï?ï?€ï?ÀÖå?@­â?€Ö?æ¹?€Ú?Àgá?Þ?€ºØ? Ò?ÕÓ?Ì?ìÊ?Ñ?uÐ?èÙ?€ ×?À"ã?@Pæ? î?¨ï?Àáî?À¡î?€½ï?@óì?Ví?@eì?@žî?@ï?À7ï?Àµë?€Hî?Àcï?ÀÓï?~î?@ì?€¨ï?ÀÛí?À§ï?@Éï?Àéï?ð?€áï?€Óë?Àeï?ÀÃï?@ÿï?ð?Àÿï?€Uí?Àøï?ð?€Õï?Àâî?@ ï?€ ë?Tï?Àïï?€æï?@]î?äï?€.ï?€2î?@Zî?Éí?@œè?Õæ?øï?ð?€òï?Àoî?@Þï?ÀOê?j½?à|?@†?xÝ?+Ð??`q?uÖ?€…î?šß?€áß?¾î?Oæ?p’?@u?ÑË?@Ùí?ð?ð?ð?ð?ð?ð?ð?ð?™î?ð?Àçï?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ÀNï?Hí?€ï?ð?ð?ð?ð?ð?ð?Šì?À{í?ÀJï?8î?ð?@¢ë?Àãï?té?@í?ð?ð?ÀÊï?ÀÞî?@Çï?€qï?Èã?@Zá?€*é?ð?ð?ð?ð?ð?¼ï?€›ï?À”ï?ð?ð?¯ï?Ôï?@$ï?@ï?€6ï?°ï?€„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yï?ƒï?ï?Àï?À¥ï?ç?áÇ?ð?€Š?ÜÕ?€³è?Çï?ð?1ï?€à?À?@Š?@Ãà?®æ?€@ï?9ï?@ï?À”ï?âï?@Ûï?ð?ð?ð?Ôï?@-ï?ð?ð?ð?ð?ð?ð?ð?ÀÎî?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐí?À*æ?@Bè?@ã?€eØ?eË?YÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?Ä?0Æ?¤ª?(Ã?À±ä?ð?Iï?@ ï?@ï?@žî?@Ôî?@¬ï?€iï?Tï?ð?ð?ð?ð?ð?À†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìä?Àl?@q?€ôâ?€§ï?ð?ð?ð?ð?ð?€¿ï?ð?@ ï?ð?Àöî?À'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Gï?Dê?ÀOì?ð?üï?ôï?ð?ð?ð?ð?ð?ð?ð?@Ÿì?€æ?€3î?ð?ð?ð?Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉî?ð?ð?ð?ð?ð?@/î?€Óï?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?@Ïï?€Ûï?Àóï?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?€èï?êï?€¢ï?@4ï?@Ùì?€;è?€¯ï?@Ûï?ð?ð?÷ï?€>î?Àëì?@«ë?ÀÝï?ð?€ßï?ð?ð?ð?Àóï?À¹ï?ð?ð?ð?ð?ð?ð?ð?ð?À‹ï?€ßï?ð?ð?ð?.í?õï?ð?ð?ð?ð?@þî?€Ûï?ð?ð?ð?ð?ð?€xè?ħ?ˆ?@þã?JÇ?‚Â?€áï?ð?ð?Àçï?ð?ð?@‚ï?Àí?@nï?Àï?@Ií?×í?Gí?î?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§ï?ð?ð?ð?ð?@àï?€‹ì?ð?ð?ð?ð?ð?@rï?bï?ð?€Žï?àï?ßî?€Þî?ð?Àçï?€rï?ÀXî?€òï?@·ï?ð?§ï?ð?ð?€@ï?€Ñï?€Ýï?¯ï?ï?€÷î?ð?ð?@Çï?@¿ï?Rî?@ í?€Æî?€`î?êï?Àøï?@åï?üï?ð?@îê?8Û?€¢Ú?6°?$À?°€?¾Å?ÆÚ?Á? ?p‘? ´?€QÔ?ÀDà?è?@Hå?‚Ì?ñá?üï?€6î?Àï?€%í?@Mï?@¿ë?ÀÙè?À²ì?@@ï?€-ï?€1î?»ì?@Èï?Øï?€…ï?À¢ï?Àrï?@çï?@qî?ð?ð?€|ï?€ì?À{ï?ð?@Õï?Àöï?ð?@§ï?@Iì?@îï?ð?ÀÂï?€Ïí?ÀÅå?Àí?À„ì?Àçë?€ï?«ï?€çé?À»í?À^ì?€vï?À½ë?öè?@Oì?ð?ð?@éï?@Ïâ?ÀZå?ð?ï?Àç?@"à?€ìÚ?N²?=Ý?€Õ?âÑ?ûì?€§Ù?ê?@3å?8™?€¦Ó?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?îï?@Èî?ð?ð?ð?ð?ð?ð?À”ï?úï?ð?iï?€®ï?ð?ð?¯ï?€êï?ð?€¾ï?±ï?ð?À×í?ð?À.ï?Àíï?ð?ð?@½á?ð?ð?ð?ð?í?dà?€¶Ò?Ø”?ܶ?€ðç?ð?ð?ð?ð?ð?Ÿï?ð?ð?ð?€Ïï?ð?ð?ð?ð?¸ï?Fï?€í?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?Èï?@ÿê?@2í?€Õê?À<è?Àëë?ëÑ?âº?…ä?ÀÌî?úï?ð?ð?ð?ð?@Óæ?`˜?(œ?5Ç?¤¦?|¡?Ú»?^ê?ð?ð?lï?€zï?€Õï?€ïï?ð?ð?ð?ð?ð?€Ëï?›ï?ð?ð?ð?ð?ð?ð?€Tï?ðé?@éë?ð?Àñï?ð?ð?ð?ð?ð?@Áï?Éå?5Ð? ? —?à‰?@g?›?@`?rÃ?@Vã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ë?P‰?П?¤¡?ü¥?/×?ÀÍî?ÀÒï?€†í?Ñï?ð?ð?Yï?€‘ï?€êî?À_ï?€Xï?ÀÔï?ð?ð?ð?ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âï?ð?ð?ð?ð?À>è?H¼?€ÅÓ?ÀÝë?€Äï?Àíï?ð?ð?ð?ð?@ßï?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áí?ð?þï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Bã?Mì?ð?€¯î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?ÀÔî?€êï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?úï?€Íï?ð?ð?ð?ð?@åï?ÀÌï?@Öí?€õë?€Xí?í?@î?ÀŽí?@=ë?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ð?@Êï?ð?ð?ð?ð?Àóì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê?0ž? ”?€…?øÃ?€n?€u?Ä¢?€µÚ?@j?€ª?ª¸?à½?ÀMï?ð?ð?ð?À;ï?@õî?ÀÖï?@çï?Àùï?Äï?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?Àïï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýí?í?ð?ð?ð?ð?ð?ð?ð?ð?€éî?Þî?]ï?îï?@Ãï?³ï?Hï?@kï?ð?÷ï?€Çï?À–ï?èí?€™ï?ð?@ãï?€¡ï?Àçï?@Ûï?€×ï?ð?€×ï?ð?Àçï?ð?€î?€{ï?Àï?ÀKï?ð?ð?ð?€úï?Í?€m?Ÿ?€u?B¸?0?€°ç?^ë?@Ðê?kÛ?”£?Àv?˜Ä?€{Ú? —?D°?€‚é?oï?À3ï?€çî?À\ï?Àí?î?@ ï?€'ë?À’í?À í?@ßï?Eí?@„ì?Àtî?€Ãî?—í?Éî?ÀÑî?À¨í?€®ê?@wì?@¾ë?€Ðï?ð?ð? ï?ð?ð?@¿ï?€Çí?ð?í?ÀÇî?@ÿæ?±î?€vî?Àôì?Àwï?@Áï?€3ì?ÀÜë?Àï?À­í?–ï?€ î?À6ê?ð?Àbé?–Õ?@0ã?€Èï?Àóï?ð?ð?ð?)ï?€î?ð?€*î?@×í?€ÙÚ?CÊ?TÁ?@v?D·?@»á?€Ïï?ð?ð?ð?ð?ð?ð?ð?ÀÞï?@èî?¿ï?ð?ð?ð?ð?@þï?Àúï?ð?ð?ð?@üï?ð?ð?ð?·ï?@ýï?ð?Àöï?@¬ï?@ùï?€÷î?€cî?€@ï?€Ýï?ð?ð?@åï?@äï?€Iï?ð?ð?€ Ý?6?.¸?€®ï?Àãï?€3Ý?¤í?ð?ð?ð?ð?ð?Àíï?úï?ð?ð?ð?ð?ð?ð?Uî?ÀÐí?Yí?lî?"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œï?ð?ð?ð?ð?ð?ð?ð?ºî?€Õï?€<ï?€Lé?ÀRè?å?À’é?€7ë?Rá?ÍÄ?Î?Ààä?Ãë?€Õï?ð?ð?ð?|ì?ÛÝ?€³à?@Íë?&ï?€9Ñ?€ºà?€)Û?€ã?€lî?€üï?øï?€Ùï?À”ï?€Ëï?ÀÂï?Àžï?ð?ð?ð?ð?€Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?áî?Ÿï?Àñï?ð?ð?Àßï?Àßï?wÒ?V?ˆ“?øÉ?¯ç?$î?@ýí?Éî?í?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2Û?µÕ?à¤?à€?†Ú?@Îï?ýî?ÀÚî?ð?ð?ð?ð?@þï?@þï?Ñí?{î?ÀCï?@»ï?€‹î?ÀŽï?ð?ð?ÀÑï?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?ð?ð?ð?ð?ð?À—ã?RÏ?À1î?˜ï?€|ï?Àzï?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?ð?ð?ð?ð?ð?ð?ð?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?Àï?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?@äï?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?€áï?@ýï?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?@ùï?@_ï?Ëï?ð?ÀMï?ÀOï?Àï?€]í?Àí?|ç?À í?€Qî?@Ïí?@öï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?@“î?®Ù?±Î?@’é?ð?€Üî?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëè?Þ¼?²¹?¸?´Ò?@‡î?€hß?ï?€î?€î?@ç?€å?(Þ?Є?µ?-Î?Ñ?‹Î?Àµâ?@ë?ð?€Àï?ñï?ð?Èï?@Öë?Û?Ʊ?õÉ?@Ãì?Àßé?ð?ð?ð?ð?ð?ð?ð?ð?tï?Àæï?ð?ð?ð?ð?ð?@Eï?ð?Àîï?ð?ð?pï?ð?ð?ð?ð?Àáï?ÀŸï?ð?@8ï?@ï?€¶ë?€-í?@˜í?²í?€í?@Ìí?@Ôî?@,í?Pî?Uï?@Êï?ÀHï?êã?8”?†°? ì?€\æ?ÜÒ?€íá?€Ðí?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸï?€¦ï?ð?ð?@³ï?@íï?Àˆî?@àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtï?ð?¤ë?€Íë?ð?ÀÞí?€ôè?ÀÅè?ÌÑ?ħ?€fâ?ð?ð?Àæï?ð?ð?@1ä?cÜ?€9æ?à?jÁ?ŸÈ?@,à?@»ï?ð?ð?€·ï?€Iî?îí?êå?Àë?ð?ð?ð?ð?ð?@Þï?@-ì?ð?ð?ð?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?òî?~²?0ˆ?¸¨?À?ô»?À{é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àoê?Ày?ìÌ?€†Ð?b¶?@׿?€Ïë?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?@ûï?ð?³ï?ð?ð?ð?ð?@vï?ð?ð?€‹ï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?uß?€)ï?çï?€ï?À+ï?ÀÂî?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?dî?@»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?€ví?Àé?ð?ªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘ï?@Þï?…ï?ÀBî?@âï?Àëï?€|ï?•í?Àsî?À î?Hï?@Zí?€Ëí?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íã?B?@è?ð?€¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šî?âÏ?p?ùÆ?€þÖ?ð?@Éî?JÖ?B?}Ø?tì?kÉ?Àæé?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?€æï?@Þï?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-î?ÀMí?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?óï?€æï?ð?€Úï?@;ï?@úï?@Þï?€ï?€Ôî?Åî?@–ï?Àhï?Éï?åï?€îî?€Ãï?ð?ð?ð?Àîï?ÀÝï?ð?€Ïï?ð?ð?ð?ð?ð?ð?ð?@Þï?Àîï?€àÝ?+×?`Æ? º?§Ã?"Î?@[î?úï?ð?ð?Lï?@€ï?€Dâ?–Ì?çÞ?‘È?À*ì?êå?À_ï?€uï?»ì?@êí?@;î?€³ï?@±î?@ ï?@¶ï?@¹ï?€ëî?@Iï?ð?ð?@|í?€ì?ÀDæ?ßî?ð?@‡ï?@´ê?@þï?ð?@bì?€Ãï?€¶ï?@ ï?@·í?@î?Àãî?@Àí?À<ï?°ï?@hï?tï?î?Àhï?À|ê?@Pë?aë?Àôæ?€¿Ô?€Ø?Ë?@b?JÐ?ÀZé?€"í?€æ?Àîï?€ôï?ð?ð?@zï?@{ï?@Æë?€¢Ù?j¹?*Ô?€îï?@¶é?ð?À•ï?ïï?ð?ð?ð?ð?ð?€’ï?@Þï?”î?€ï?ð?ð?ð?ïï?ð?€£ï?ð?ð?Àïï?@’ï?ð?ð?ð?ð?ð?ð?ÀÕï?ð?@Éï?ð?ð?ð?ð?€5ï?ÀÌí?ÀÄï?ð?@Šï?@Mï?µï?€fá? ­?9Ó?¾?(Ó?•Á?@*ê?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?€1ï?€Yï?Ïí?Àùï?Àôì?ÀÇî?€›ï?4ì?€ªî?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?@ùï?åï?ð?@ãï?À÷ï?À¸ê?åí?ð?À`è?üÖ?€ ã?æ¹?@Æá?ð?Àæï?@åí?À1ä?€'Þ?à?º¶?×î?À×ï?ð?ð?ÀGï?À3î?€ ë?€’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?ð?€¬ï?€çï?€ï?ð?ð?ð?ð?ð?ð?ð?@>ï?@Eï?Èâ?Q?°¯?Ò°?±?(ä?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºà?@š?Àh?ëÆ?€hë?ð?ð?ð?ð?ð?ð?ð?ð?@»ï?Àeï?ð?@Ãî?žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œî?ð?ð?ð?@Þï?Àõï?€ÿï?@ÿï?ýï?ð?ð?ð?ð?ð?¼í?£ï?ð?ð?Àïï?€òï?@)î?€Sï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?Àþï?ð?ð?ð?ð?ÀÁà?€øÝ?ð?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ží?ð?Àôï?Àþï?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?Àï?@Õï?À«ï?Àï?€ˆî?À<î?“ï?ð?ð?Àèí?@í?€Žì?@˜í?†ï?@Þï?€sï?ð?@ôï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ké?R?0Ê?Àxï?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ð?€¥ï?ÉÚ?X¤?€ ï?ð?Àdí?ι?Ø›?€1ß?€.Ø?¢?К?@mî?ð?ð?ð?ð?ð?ð?ÿï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?@‚î?Àòï?@þï?Àÿï?´ï?ð?ð?ð?ð?ð?@hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?fï?@<é?€oé?ð?@ïï?€÷ï?ð?ð?€Æï?€íï?ð?ð?€ãï?Úí?ÀÍï?€¼ï?ð?ð?@ýï?ð?€âï?€¦ï?€“ï?íï?Šï?@í?€Êï?€Çî?@hï?ð?ð?ð?€rï?@ñî?ð?ð?ð?@Íï?@Lï?ð?ð?ð?€,î?€òï?”ã?®Ó?@_á?€pÐ?@Zì?€,Ü?€Lí?ïï?@Þï?€’ï?À[ï?vî?€cä?,?€Má?€ÖÖ?>?dÏ?à?À,î?Àï?ûî?€}ï?€Xï?Àî?€$ï?@ï?€í?@­í?€Lï?€(î?À4ï?¯ï?@õì?À ì?À•ï?ð?ÀÖï?ð?€èì?Žã?ð?ð?ï?@£ï?€Óï?ð?@Mí?€ùç?@¡ï?Wï?€ï?€î?@ƒí?ï?À_í?¬ï?€¶ì?lï?@3ì?@ç?àµ?È®?£â?€ ï?gï?Àî?€\ï?@¾î?•î?@+î?:ê?€5æ?€bÑ?àž?á?Àÿï?€Wî?À î?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?€µï?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆî?Õï?ð?ð?ð?ð?ð?ð?ð?Ñï?€Üï?ð?ð?@mï?Ànï?ð?ð?ð?ð?@í?Ï?@i?FÉ?Ì¥?À˜ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èï?ð?€¹î?@ûï?#ï?€éî?Àhï?€ãî?@=í?ÀÝï?[î?ÀŠí?€,î?€í?àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Yï?Àžï?ð?ð?@Èï?€úî?€5ï?@3ì?€®ï?ð?€ÐØ?¨“?°œ?ÀKé?ð?°í?MÀ?È?€tÓ?€/ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?€¢ï?ð?ð?ð?ð?öï?Àðï?@Úï?ð?ð?€µï?åÔ?Њ?€PÜ?«Ú?¢Á?@_á?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€å?Œª?@çä?€§í?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?€ï?€›ï?ÀÕï?Äï?jî?À'í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Àùï?ì?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@Yï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ä?@,ã?ð?ð?ð?ð?ð?Ùï?ð?ð?ð?ð?ð?À_ï?ð?ð?ÀÕï?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?Aï?À½ï?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ˆî?€¡ï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?Åï?À«ï?ð?À¶ï?ð?ð?€Üï?@*ï?€†î?€#ï?šî?@Íï?ð?ð?ð?ð?†ï?ïì?@Äï?€±ï?ð?@ï?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úí?€;Ò?@å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@–ã?@Eì?ð?ð?Äé?4°?Ào?€;Ð?€‚Ó?®?€Yï?ð?ð?ð?ð?ð?ð?€óï?@Ýí?€<î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?ð?ð?@Þï?Àºï?€wî?€Ÿï?Àëï?€êî?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?€Tï?@îí?Œê?ð?ð?ð?ð?ð?ð?ð?Åï?¯ï?€ï?³ë?@Äï?Àæï?ð?ð?@µï?Àáï?ð?ð?ð?@Wï?€÷ï?À³ï?€Úï?@Øï?€Äî?âì?ð?ð?ð?ð?ð?ð?ð?€ƒï?€îì?ð?ð?ð?ð?ð?€gÙ?€-î?‰Æ?Q?@Âé?€úî?ð?ð?ð?ð?ð?ûï?Àëï?€ˆê?,Ü?€Òë?¯å?†À?áÅ?ÀJï?Àë?€Dê?ÀZë?€uî? í?@'í?ìï?Ùï?ÀÔï?ÀOï?€î?À”ë?À“î?@Éê?@¤î?ð?ð?ïï?€¢ï?ð?@Fè?€Ýæ?ð?ð?ð?ð?¹ï?Àæï?€¡î?©ï?€mï?eï?2ì?@èï?@¾î?Ôî?Ëê?Àiè?ÀÔì?@[ê?À‡à?(Í?Á?ì»?Àþä?À7ï?€:ï?@…ï?î?@¦é?ìæ?ºæ?œÎ?Ю?_?Ø?À¡ï?@øï?ÀDï?÷ï?×ï?ð?ð?ð?ð?ð?ð?ð?€™ï?ð?ð?ð?ð?ð?&ï?@Uï?ð?ð?€µï?€Üî?@]î?ÿï?ð?ð?ð?ð?ð?Àúí?îÞ?@Ñá?@õë?@þï?ð?ð?ð?ð?ð?ð?ð?ð?@sà??„¬?lÑ?@sè?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?ð?@‘ï?ð?ð?ð?ð?ð?êï?€üï?ð?€ôï?€ ï?øì?€Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?†ï?€ëï?@Ëï?ð?€qï?Tí?/ï?€ í?Í?ï?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ïï?ð?€þï?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?@Çê?Àæî?€ûï?ð?ð?ð?ð?ð?@ïï?€òï?€ií?@.í?šï?@ãï?Àtï?ÀÕï?€ûï?ð?ð?ð?@ïï?€Wï?@ñï?Àõï?áï?€Óï?ð?€Ûí?@õë?@¾ï?ð?ð?ð?@µï?Ôï?€·ï?€„ï?@ôï?€áï?@ñî?Àëï?ð?@«ï?À4é?H™?@«î?€÷ï?ð?ð?ð?@£ï?€«ï?ÀËï?€œï?@Ðå?*Ä?€ˆì?ð?ð?úî?ÀÕë?€Kï?€.Ù?à?Àwï?€…ë?ªì?€}ï?€¤î?%ï?Àsï?²î?ßî?@ì?À7æ?@ìí?@ðï?ð?yï?€ï?Àï?@Äï?À¬ë?Àùæ?ð?ð?ð?À†ï?€ï?ïï?@´ï?€zï?ªï?€èí?Àë?¡í?@ýí?@2å?@¬ã?€ Û?šÒ?h¦?€m?p‘?@iä?@_í?@ºì?î?@ì?@™ì?d¹?,¯?¶¾?€~á?ð?ð?ð?ð?ÿï?@ïï?€×ï?ð?ð?ð?ð?ð?€¸î?ð?ð?ð?ð?ð?€¹ï?§ï?ð?ð?åï?€™ï?@Wï?ð?ð?ð?ð?ð?;ï?€ÕÓ?$?ð¢?€ªà?Àí?ˆï?ð?ð?ÀÕï?ð?ð?ð?Àìë? ¸?P—?.¾?ÀAè?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?àì?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ï?¸í?€¼é?ýë?@‰ê?À‚í?ð?@¢ì?@?¬?2æ?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²í?ð?ð?ð?ð?Àüï?ð?@Þï?ð?ð?ð?ð?ð?€fï?Ïï?Rï?€*é?0¦?0‰?4È?€2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñí?ˆ°?€Ÿ?@Lã?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿î?rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆï?åï?€Äï?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?€êî?@šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?íï?ð?ð?ÀÔï?íî?€¼ï?ð?ð?Àsï?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?€ôï?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?Àðï?@×ï?úï?ð?ÀÆï?ð?ð?Àæï?ð?ð?ð?€œï?Åï?ð?ð?€Íï?@ï?€Üï?€×ï?ð?ð?Àüï?øï?€ðï?ð?ð?ð?ð?ð?´ï?÷ï?ð?ð?ð?ð?ð?ð?ìï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýè?`œ?¦Ó?ð?À×ï?ð?ð?ð?@Uî?ÇÚ?–Å?è›?€˜?þÝ?ÐŒ??Ô?íÑ?`‘?NÌ?Àæï?ð?@ï?ð?ð?ð?ð?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ÀÕï?ð?ð?Àþï?þï?ð?´ï?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?€uï?€'ï?€gï?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?€øï?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºï?í?Àýè?@þï?ð?ð?ð?ð?ð?À×í?{ï?Ûï?ð?¤ï?Åï?€ï?ïï?ð?ð?€÷ï?Àgï?Æî?€Fï?³ï?ð?ð?ð?€Ìï?@të?€Îï?ð?ð?²ï?€Aï?˜é?@üï?ð?€ãï?€lê?@Bç?çí?ð?ÀÑã?IÛ?ð?ð?Àýï?ð?ð?ð?ð?@ïï?Àpî?`´?_?@o?2?Àæä?ð?ð?ð?öï?ð?ð?ë?Àçï?À§ë?ð?ÀIì?@ î?€Àî?`ë? ì?@‡ä?/Ü?ƒã?Àtî?@Ëï?ð?€Éï?À%ï?î?Òï?ÿï?@ì?@[î?ð?ð?ð?ùï?ýï?@Þï?À§î?ÀŽí?€—î?€uí?@0í?€ î?Àöí?ÏÌ?¾´?¼¯?Àa?Œµ?Àší?ï?À.î?€÷ä?€Šî?øß?p‘?@?@ûê?ð?ð?ð?ð?ð?ð?€íï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?@;î?ÀÜï?ð?ð?€Lï?ð?@Íï?ð?ð?ð?À(ï?ÀÉà?@¨?À-ä?ìï?ð?ð?ð?ð?ð?ð?@,ë?žÔ?R?(¸?€ÀÓ?Àwê?À]ï?ð?@kï?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øì?€‘í?Àî?@ï?ð?ð?ð?ð?ð?ð?€Ãï? ì?€Çí?@#ï?ð?ëï?@üï?ð?€Íï?@–ì?0Œ?”?€qã?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡ï?GÞ?NÍ?@d?À`?@å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?ä±?€wÔ?²?N¼?fÌ?@ƒé?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîí?€çì?€Iï?ð?ð?ð?ð?ð?ð?ð?€úî?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?@ùï?ð?€gë?À«ä?pì?¨ì?Ôì?ÀÒî?›î?bî?@‰í?€ ï?@‘ï?ð?À•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?@hï?ð?ð?ð?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€ýï?@Þï?€·ï?ð?ð?ð?ð?ð?ð?ð?€íï?ð?ð?ð?qï?À×ï?ÀËï?€í?@ùï?ð?@Þï?€Ôï?ð?ð?ð?ð?ð?@:ï?€òë?ð?ð?ð?ð?ð?ð?@Èï?"ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ZÐ?€yÚ?€÷ï?€¼ï?ð?ð?ð?ð?ð?€bî?ÀMã?áÔ?€æ?€™Ô?QÉ?€Ò?ˆ¥?h“?;Ò?@ùï?@ðï?€zï?@ãï?Üî?ð?ð?€úï?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?ð?ð?€íï?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?Àï?€éï?ð?ð?ð?ð?@Ùì?Àåï?ð?ð?ð?ð?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòî?À°í?ð?ð?ð?ð?ð?ð?À•ï?€¹î?ð?Àºï?ð?ð?€ìï?€÷ï?€÷ï?ð?€çï?€«ï?ð?ð?ð?ð?ð?ð?@Ãï?À3ì?Üí?ð?€ýï?tï?@Oé?ð?ð?ÀÜï?ÀZî?uÚ?À`í?ÿï?UÂ?€¾å?ð?ð?Àùï?ð?@Þï?ð?ð?€í?Î?z¼?@Òå?Àää?@n?I?À3í?ð?ð?ð?ï?ð?@ïï?*ï?ð?€î?@ïé?æâ?ÏÜ?sÏ?Áà?ÀKå?ˆš?`?€ÉØ?@ïï?ð?@ùï?€¼î?Pî?{ï?ð?€¼ï?Åí?´ï?ð?ð?àï?€íï?éï?€’ï?@Çî?@xì?@]è?Úï?ê?@†å?€¶Ñ?p¢?Y?`¦?·ë?À[î?fï?€%ï?@Äâ??@¢?@Œ?³?À@ï?ð?ð?ð?ð?ð?ð?ð?€Wï?èï?ð?ð?ð?@ªï?ð?ð?ð?€ðï?À&ï?Àìî?Àôï?@Þï?ð?ð?ð?ð?ð?ð?@·ç?Ó?l·?B?®Ï?€ëï?ð?ð?ð?ð?ð?ð?ð?Ëï?@³à?`–?À ?GÂ? ä?ð?eï?ð?À—í?@Kï?@-ï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?’ï?@í?ï?@–í?@¸ì?@zé?@ní?À<ì?€Bë?À£ì?í?@ðï?ð?ð?ð?ð?ð?ð?ð? ç?‹?@¸å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pï?ð?ð?€÷ï?Àûí?@3î?€¼í?€ÿï?ð?ð?À$ï?€Fï?@ýï?€ùí?ëÀ?kÏ?¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?"æ?@æì?€ÿë?À[í?€ãÓ?€dÕ?ßë?@î?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Gï?ð?ð?ð?ð?ð?€òï?Àÿî?@Íï?ÀNï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?€ î?@úï?€_ë?Àðã?@»à?@]á?@’î?@½î?@ï?€(ï?Àîï?€3ï?@‰î?€Ëí?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ì?€'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?Šï?òî?ð?ð?ìï?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?@ùï?Åî?ð?ð?ð?ð?mï?€Ìï?ð?ð?ð?ð?ð?@ï?@Þï?Àîí?€4ï?Àµï?ð?@¡î?À1ê?ð?ð?ð?ð?@þï?Lï?ÀÈî?ð?ð?ð?ð?ð?ð?ð?ð?ð?»î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•ã?H•?€rÑ?€sï?@Íï?ð?ð?ð?Åï?ð?ð?ð?Àí?@öï?@Þï?)Å?sÐ?€}?€Ñ?˜—?€<Ü?ð?î?ÀŒï?Åï?€ãï?ð?@ðî?Óï?ð?ÀDï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?Àþï?ð?ð?ð?ð?ÀÂí?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cï?@Sí?ð?ð?ð?@ïï?ð?ð?@Þï?€éï?ð?ð?ð?€öï?Àêî?@’ï?€¼ï?€ÿï?Àöï?€’ï?€¼ï?Àõï?ð?ð?ð?ð?ð?@þï?Àdë?ð?ð?ð?çï?€°ï?@£ï?€„ì?€Åï?‘í?@ñï?úï?ʸ?€æ?ð?ð?ð?€«ï?ð?ð?€÷ï?À¦è?Щ?Àúæ?ð?ÀÜï?l½?gì?ð?ð?€÷ï?ÀÕï?ð?ð?@|ï?©Þ?´ª?W?à?‘à?ûï?ð?ð?@’ï?ÀÓî?@Qï?ð?ÀNï?ÿì?Àµï?@’ï?ð?æï?Àäï?@î?@òè?€uî?ÀÍï?Àšì?€(Þ?ʼ? ƒ?j?YÐ?€Øé?ë?€Û?< ?.Ç?€5ß?€á×?`Œ?(?`†?’?OÐ?@£ï?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?@aï?ð?ð?ÀXë?tÓ?€ùÔ?&Ý?ÀEì?)å?€èï?åï?ð?Àæï?Hï?gâ?l¥?$¹?sî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\ë?X’?CÇ?€8à?€µà?€ì?ð?€Àï?ð?ð?ð?ð?ð?ð?ð?Àpï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?ð?ð?ð?€ôï?ð?ð?ð?ð?À}í?@lå?ø›?Þå?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@Jî?ÀÑî?@<î?À•ï?ð?ð?@|ç?€Uâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?@åï?ð?„ï?À£á?À\ç?€Èï?Àmî?1î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?Þï?Àæï?@ïï?ð?ð?ð?ð?ð?ð?€!ì?@¡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?âï?ð?ð?ð?ð?ð?ð?ð?ð?À ï?@ïï?ð?Àùï?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üí?€ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’ï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bë?ð?ð?ð?ð?ð?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?@³ï?Àýî? ë?~ë?Àí?úí?@”í?íî?ð?ÀÆï?Àñï?ð?ð?ð?ð?ð?ð?ð?À ï?@Þï?Àï?ð?€°ï?€ªë?€:ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<ï?@ï?€ôï?€ôï?ð?ð?ð?ð?ð?ð?éï?^æ?  ?ÆÈ?@¨ï?À ï?@Þï?ð?ð?ÀÈï?ð?ð?@õî?Ñí?@ëî?ð?“ä?@j?Ø•? ¶?ªä?ð?@î?Àùï?ð?ð?ð?€ƒï?ð?ð?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?@>ï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ì?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?À—ï?@¯î?Àëï?À(ï?ð?ð?ð?@àï?ð?ð?ð?ð?ð?ð?€Yì?ð?ð?ð?ð?®ï?€êï?ÀÄï?:í?Àï?@üï?€|ê?€Åç?ð?ð?ð?ïï?ð?ð?Àæï?ð?Šî?ð?ð?ð?€6Ñ?@të?ð?ð?ð?ð?@Þï?î?›Ç?O?€™Ò?€öç?Åï?ð?ð?ð?€Äï?€ï?ð?@²î?î?€÷ï?ð?€üï?ÀÔï?@ï?Àï?€'è?í?€­ï?ÀÙì?,¼?éÔ?¯É?F¸?Xì?@6ï?ð?€¨è?Àhç?Àˆç?«è?À†ê?@fé?Àîã?€ÅÕ?WÃ?ܧ?n³?ÀÎ?jÕ?Ä®?È®?î¸?B??âä?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€#ã?˜¼? x?v³?£È?Èá?@ƒî?ð?€ôï?Àžã?€¾à?ð?ð?ð?ð?€î?±ï?ð?ð?ð?ð?IÒ?ô¥?Û?žÓ?Àxæ?ð?ð?ð?ð?ð?@€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?Õï?ÀRê?X£?ÀŒ?°”?Û?À¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?ð?¤î?,è? w?À‘à?€–ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€?ï?€ ï?€~ï?Àí?èï?ÀÜí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eï?@®ì?ð?@ïï?ð?ð?ð?ð?ð?ð?@¥ï?Ànï?ð?ð?ð?ð?ð?ð?ð?ð?ð?©î?Àsï?ð?ð?ð?ð?ð?Àæï?ð?ð?Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?Àxï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµï?åï?Àóí?ð?ð?ð?ÀØî?À;î?@ ä?Àï?ð?ð?ð?ð?@Þï?ð? ï?€Õî?À¡í?“í?Àuî?ÀTë?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ì?@Ãï?ð?ð?ÀÕï?ð?ð?@¨î?@§ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dç?ìä?@>ç?@òï?ð?ð?ð?ð?ð?@|î?äÜ? p?€à?Ö?Ⱦ?½Î?@^ï?@„ï?€òï?ð?ð?€Ÿï?ð?ð?ð?ð?Àñï?ð?@‘ë?€Ò?‚¸?B?0º?@î?ð?ð?ð?ð?ð?ð?Àøï?ð?|ï?@Ôï?Àñï?@¿ï?ð?ð?ð?ð?€ê?€÷ï?ð?ð?ð?ð?ïï?ð?ð?€Vî?€÷ï?ð?ð?ð?ð?ð?òî?Àîï?ð?ð?ð?ð?ð?€êï?ð?ð?€Òï?ÀZï?ð?ð?ð?ð?ð?@.ï?Àäï?@pï?™í?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?@ýï?€ôï?ð?ð?ð?ð?@Ãï?ÀÂì?óï?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀCï?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øè?@¹ï?ð?ð?ð?€¸î?€ßï?ð?Àøï?ï?€ïï?À¢à?€ÜÕ?@zï?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?UÚ?WÒ?Àíî?ð?ð?ð?ð?ð?æã?¦¸?›É?€Îà?Ié?€±ë??ê?ûà?€×?€’Û?@Ãâ?Àƒï?€÷î?ÀÑè?€°ï?Êï?À«ï?€íï?Àöï?@çî?ð?ð?ÀÕï?Õï?ñï?Àï?@¨î?@^ï?€zï?€yï?ð?’Ó?@v?€§Ò?@0ã?9ê?€$î?€}ï?ð?ð? ï?ð?ð?ÀÈï?ð?ð?ð?@Úï?€lî?@ï?€íï?ÀÕï?Vî?Àdì?Àï?€ æ?@°ã?€ì?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTã?Àe?4?KÀ?€€Ó?3È?@„?‚¶?@u?p‹?¡Ù?–ï?ð?ð?ð?€wë?@ï?ð?ð?ð?ð?@ ä?f?D¹?þ²?õÊ?¼Ì?ã?À‚ï?ð?ð?ð?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?åï?ð?Oï?ð?ð?ð?ð?ð?ð?ð?€øï?Àzà? ƒ?mÄ?<Û?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?ï?@öç?€z?¡?ÓÁ?©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?@©î?2ï?Ààï?Àþï?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wí?@í?ð?ð?ð?ð?ð?ð?ð?™ï?ÀSë?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?À_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?ð?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?Àùï?ð?ð?€î?€³ï?ð?ð?ð?ð?ð?ð?ð?€«ï?ð?ð?ð?ð?ð?@î?ð?Àæï?ð?ð?ð?ð?€üí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØí?4Ð?JÏ?€õÙ?@÷ï?ð?ð?ð?ð?@êæ?–À?€Ð?Àîï?€Mï?·î?@Âï?ÀÚï?€kï?@´ï?ð?ð?ð?ð?@ï?@Ïé?ví?€çã?ÍÆ?„?€[Ó?ð?ð?ð?ð?ð?ð?ð?@üî?ð?@ï?ÀÒî?ÀÛï?@Øî?ð?@ëï?ð?ð?ÀÌï?@î?ð?ð?ð?€wï?À=í?ð?ð?€€ï?€|ï?Àï?øï?€òï?Àüï?ð?@2ï?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?€pî?þï?±ï?@ûï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?€ÿï?þï?€ýï?@þï?ð?ð?ð?€Wï?€/ì?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ÀÄï?ð?ð?ð?@ãï?ÀÐï?ð?ð?ð?ð?ð?ð?À†í?ð?ð?ð?ð?ð?À×ë?À²ï?@Äï?€!ï?@cï?€Øá?h?À;î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0æ?€ÒÞ?À¡ï?ð?ð?ð?ð?ð?ð?ð?¤ï?/ï?€‡ì?@þï?€òï?öï?ð?@üï?ð?À(ï?@²ï?@¯î?ÀŒî?öï?ð?ð?ð?Àæï?qí?@Bï?ð?Àµï?€¾î?Àõï?À™ï?€×í?@Æï?Àï?Àï?Àýå?P‘?€Ð?Iï?ð?ð?ð?@ëï?ð?ð?@‰ï?ð?ð?þï?ð?€yï?ð?€õï?Àâï?Mï?ÀÆì?ð?ð?ð?À¼î?€øï?ð?ð?ð?€_ï?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?€Þ?@Œ?rÙ?¸¥?ÛÉ?·?€6ß?€»ï?ð?ð?ð?€£ï?ð?ð?ð?ð?‡ì?p‹?Àc?&Å? ³?[Ë?Àpá?Àî?€kï?Àeï?@Æî?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?§ï?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?rÝ?GÓ?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?ð?ð?ð?òï?uÙ?€UÒ?€ŒÙ?@ˆá?€öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?óï?@þî?@§î?@´ï?ð?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂí?ð?ð?@í?@Ýï?ð?ð?ð?ð?ÀÝï?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾î?€£í?€Mî?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?Àïï?ð?ð?ð?ð?€÷ï?Åï?Àæï?@Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?@’ï?ð?@Gï?@Cï?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ÀÕï?€ºï?Tï?ð?ð?ð?ð?ð?ð?ð?Àæï?Åï?ð?€Ñï?€Nï?Àïï?@ôï?Wï?@¾ï?ð?ð?ûï?@±ï?ð?Àïï?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾î?ð?ð?Úï?€ËÔ?ð‡?N?oÃ?€ Ô?Àtâ?€€ì?€â?€_Ô?h–?Á?€ç?ð?€×ï?@­ë?@–ï?@ôï?ÀÐï?ð?ð?ð?ð?Úë?‰Å?€T?4¡?I?€—á?ïï?ð?ð?ð?ð?ð?ð?Àî?ð?€ïî?€ ï?ð?€nï?ð?€Àï?ð?ð?@ïï?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?@óî?èï?ð?ð?ð?ð?ð?ð?ð?ð?@Xì?ð?ð?ð?€Wï?ð?ð?ð?ð?ð?ÀÌî?€~ï?ð?€Ôï?ð?ð?ð?ð?ð?ð?ð?ûï?Àëï?ð?ð?ð?ð?ð?ð?ð?Àïï?Àäï?ð?ïï?ð?ð?ð?ð?ð?€÷ï?ð?@éï?Àðï?@¬ï?ð?ð?ð?ð?Àùï?€ï?ßì?Àsî?Àáï?€žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?@˜î?€õï?ð?ð?ð?ð?@àï?@¢í?@¢î? ï?@áî?Àðè?€Eê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òî?ð?ð?ð?ð?ð?ð?À˜ï?Àæ?@Gà?nÚ?­Ö?nâ?ð?ð?ð?€Åï?€í?€ní?€qê?í?€ ï?@ãï?ð?ð?@ï?ð?ð?ð?@óï?Àæï?ð?ð?€Üï?Àöï?€Øï?@õï?ð?€ªï?×?ì¦?@ç?ÀIî?ð?@¦î?ÀHï?€×ï?ð?ð?ð?ð?@Vï?€²ï?@ï?ð?€”ï?€ïî?@<ï?ð?ð?@ï?À¿ï?pï?¿ï?À±ï?€Äï?´ï?€¼ï?ð?ð?ÀWï?ð?ð?ð?À9ï?¤ï?ð?ïï?@Õï?ð?ð?ÀPç?`v?¤«?@†á?@±í?€5Þ?@h?àz?Â?Àeí?ð?@é?€2ï?ð?€Óï?ð?ï?ð?€Äì?6µ?Àp?@…?È‘?€Ð?=í?€ï?@½ï?ð?ð?€æï?ð?ð?ð?ð?ð?ð?ð?Àï?€öï?ð?@æï?€­ï?@Îï?ð?ð?ð?À»ï?@Dï?ð?ð?ð?ð?ð?ð?€ ï?€mä?°¢?€6Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@qé?ì­? z?€;ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹î?~ï?@äï?ð?Ûí?Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉí?ð?ð?ÀRï?ð?ð?ð?ð?ð?À¡î?ð?ð?@3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?Àèî?dä?€bÚ? Ì??À?D¤?Àóç?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?ð?ð?ð?ð?ð?ð?ð?ð?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?÷ï?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?ð?ð?ð?@¨ï?Âî?€áî?Ànï?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?@9ë?ð?À§ï?€¾ï?ð?ð?ð?ð?ð?ð?ÀÌï?½ï?À*ï?™ï?ð??î?@ýî?ð?ð?ð?ð?÷ï?÷ï?ð?ð?ÀÒë?óì?ð?ð?ð?ð?ð?ð?ð?ð?ûï?@lí?Kæ?PÖ?šÊ?€i?R?8?0¨? t?UÛ?Öî?€gè?@\å?@îî?@]é?³Ú?€#ç?@ûï?@Ãî?Àÿï?ð?€í?H¾?€ÃÙ?ð?ð?ð?ð?ð?ð?ð?€£î?€iï?Àë?ð?ð?@úï?@ëë?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?òï?#î?Àÿï?ð?ð?€æï?ÿï?ð?@‘î?‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?ÀÛï?ð?ð?ð?ð?ð?ð?¢ï?ð?ð?ð?ð?@Ôï?˜ï?ð?ð?ð?@Ðï?@õï?€÷ï?ð?ð?ð?ð?ð?ð?€™ï?@úî?€ƒï?ð?÷ï?ð?ð?Àóï?@êï?ð?ð?ð?ð?ð?ÀÒï?Àòï?ð?ð?ð?ð?Ànï?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀJï?€í?ð?ð?ð?ð?ð?ð?€ÿí?À–ï?ÀÞï?@Â?€ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€gî?½Ù?èí?ð?üï?€%å?€4Ó?¬Õ?€èã?ØÄ? €?0Š?À'à?ÀÓï?ð?ð?ð?˜ï?@/ï?€åê?€1ê?Àï?ð?ð?ð?ð?Àóï?ð?ð?ð?ð?ð?ð?ð?@éï?€çï?@Æï?€ñï?¢ï?@Ãï?€bá?¬¢?—?€}á?À½ï?ð?ð?€Êí?ð?ð?ôï?ÀÌï?€õï?@ïï?þï?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?@ÿï?ð?€Õï?úï?ð?Àkî?Xï?€ãï?¾ï?Çï?À|î?@Øï?ìï?ð?ð?ð?ð?ð?¤ï?€Ãï?¡Î?‡×?ð?ð?À:å?`u?Ф?¯Ó?@ãæ?€ÿï?@*ï?ð?×ï?€ºï?€æï?ð?‘ï?€€ê?rº?r¶?ŒÝ?€ï?€=í?À¸ï?ð?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸ï?Àî?À»ï?ð?€fï?ð?@æï?ð?ð?ð?@ëï?ð?ð?€Yï?€Ÿè?ü²?Æ?ìï?ð?ð?À»ï?@Dî?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åá?€`?l¢?@Bí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.î?ÀÒí?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?ð?@nî?8é?Í??0€?@æ?@þï?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?€“í?°ê?@þï?ÀØí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?€æï?ð?ð?ð?ð?ð?ð?ð?ð?@æï?ð?ð?€æï?ð?ð?ð?ð?ð?ð?À÷ï?ð?Ïï?ð?À÷ï?ð?@æï?ð?ð?ð?ð?ð?ð?ð?€«î?‹ï?ð?ð?ð?ð?ð?ð?óï?ýï?ð?ð?@¶ï?Dï?ð?@æï?ð?ð?ð?ð?ñï?@æï?@íï?ð?ð?ð?€8ï?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ì?@Ûà?Ð…?Àœã?Àaï?±?(¥?à?t¡?ƒ?ñÖ?€eí?ÀÄï?ð?ŒØ?ëÚ?ð?ð?ð?ð?ð?ð?ð?@±ê?@ÿé?ð?@Õï?Àñï?@ùï?ð?Àï?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ïï?ì?ßï?ð?ð?ð?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?oï?ð?ð?ð?ð?ð?ð?@`ï?€÷ï?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?€çï?€øï?ïï?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?€÷ï?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À8ï?ð?ð?ð?ð?ð?€÷ï?ÀŽî?@Œï?ÏÀ??@9æ?ïï?@×ï?@‘ï?ð?ð?Àüï?€ÿï?ð?ð?@èï?¦ç?>½?€æ?€Ïï?ƒß?€W?>½?€áç?ð?ð?ð?ð?ð?ð?ƒï?€šî?€‡ï?€;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sí?À»ï?¼î?·ï?@é?l¦?´Í?@ì?ð?@ûï?@mï?@ÿî?Cï?@®ï?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?çï?ð?|ï?ÀIï?@öî?ð?ð?€‚ï?À2ï?ð?ÀÝí?ð?ÀÓî?ÀLï?ð?ð?ð?ð?ð?@Ôî? À?€àÖ?Àéï?ð?ôã?ð“?/ë?¸ì?@éï?ð?€Vï?ð?ð?ð?ð?@„ë?hÀ?@c?r×?Àfà?À[ë?À.ì?@ìë?ÀFí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ïï?ð?ð?ð?ð?€æï?ð?ÀŒï?ð?@ûï?ð?ð?ð?ð?@¼â?à°?@t?ÀÌé?¶ï?Àî?ð?@ãï?ð?ð?ð?ð?ð?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?€Ð?ÂÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?@zï?€fï?ð?ð?ð?ð?ð?À¤ï?€"í?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âí?ð?ð?ð?ð?Þï?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?Àï?€ë?@ùà?€äà?Yæ?øï?ð?ð?ð?ð?ð?@üï?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fê?@Tì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?@Õï?ð?Àýï?@îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?ÀÞï?ð?ð?ð?ð?ð?ð?ð?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?ð?ð?ð?ð?ð?ð?ð?@úï?Àóï?ïï?ð?ð?ð?ð?€æï?ð?ð?ð?ð?ÀJï?ð?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ë?Ü¿?Àl?K?êÊ?€ÃÒ?€éí?€4â?šÊ?p¶?Àà?€í?Ë?-Ë?@ãï?ð?ð?ð?ð?ð?ð?ð?€´ï?ï?ð?@ûï?ð?ð?Àï?ð?ð?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉï?€ûì?@Åï?ïï?ð?ð?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?€í?@­ï?ð?ð?@sï?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?üï?ð?ð?ð?ð?ð?Æï?ÀÊï?ð?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À"ï?€ï?ð?ð?ð?ð?@½ï?ð?ð?€@Ó?«Ê?@Kï?@Ëï?@Åï?èï?Àüï?ð?åï?§ï?ð?ð?Àì?À|î?ð?@Áæ?Ç??²? á?€{î?Àÿí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èï?€Ùï?ð?ð?Àóï?À¯ï?ð?ð?ð?ð?àï?Àªï?Àdï?@ßï?–î?æ?a?ì ?€ÐÑ?À‘î?ð?ð?ð?€oï?À)î?€,ï?€êï?ð?ð?€Bï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?@æî?ð?ð?@fî?ÀKï?ïï?ð?"ï?€Áï?ð?ð?Àî?Àøî?ð?ð?ð?ð?€î?Éï?Àï?òÈ?¨Ã?À’í?ð?¦Ì?Ø©?À)å?ð?ð?ð?ð?ð?ð?@Xï?Àëî?€äì?€Uà?†Í?¶Ð?Þ?Ø—?G?Ïß?½ë?Ñï?ð?eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?À»î?ð?ð?@¢ï?@ï?0ï?€©ï?ð?ð?ð?ð?ð?€ï?º±?Ф?€OÐ?€å?€£ê?ÀÉæ?€áå?À´â?@ãá?@Kë?|¨?@Tá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+é?ÁÂ?€rÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´Ú?€äæ?ð?ð?ð?ð?ð?ð?ð?Òï?@½í?Lï?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éí?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?Ànï?ð?ÀÌï?Èì?€Èï?ð?ð?ð?ð?ð?íë?€*ê?ð?ïï?ð?ð?ð?ð?@éï?€Òï?@Ôï?@Öï?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€wÙ?àØ?“æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?€ôï?ð?ð?ð?ùï?@Óï?@ðï?ð?ð?€Úï?ð?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?€<ì?@?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€fï?ð?ð?ð?ð?ð?€9î?'Á?€Y?xâ?ð?Àœí?€ìÔ?J?+Â?H”?T?9ç?ð?ð?ð?ð?ð?ð?ð?ð?@î?@/î?ð?ð?ð?€¬ï?·ï?ð?@ôï?Ýï?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?@ï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ç?€Šï?ð?ÀÌï?€èï?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@ÿï?ð?ð?ð?¢ï?ð?ð?ð?€æï?ÀÌï?ð?ð?@³ï?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?ð?ð?ð?À½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?@þï?ð?ð?ð?@Ãï?€¼ê?ð?ð?ð?ð?€þï?ð?ð?ç??à€?À;ç?ìï?@Ìï?×ï?@íï?@ãï?ð?@éï?À§ï?ð?ÀÔï?€‘×?HÉ?fÆ?°©??€Î?€êá?€Óí?ð?ð?ð?´ï?€ï?ð?ð?ð?ð?@ûï?@üï?ð?ð?ð?ð?ð?Àûï?Àûï?ð?€­ï?Vî?@áï?ð?ð?ð?ð?Àìï?€»ï?€[ï?@ˆï?@Ùî?€¢ë?mÃ?Ø”?Ì»?6Ú?À¹ï?Àõï?@ î?þï?ð?ð?ð?€óî?ð?Hï?9ï?Àûï?€üï?ð?ÀÌï?ð?ð?ð?ð?@éï?€/î?ð?ð?ð?@¢ï?ð?ð?ð?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?åî?@ ã?l«?²Ì?€î?@çè?°˜?À6ä?@^ï?ð?Üï?ð?ð?ð?ð?ð?ÀMï?ð?ð?ÀÁï?€ á? ?R?&ê?ï?ð?ð?òî?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?Àáï?@î?ð?ð?ð?À¬î?@Œí?À%ï?@àï?ð?ð?ð?ð?ð?€êï?€·Ò?X¨?€Dã?ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆë?€Ó?€ªÐ?€¨×?ôÍ?À²ï?ð?ð?ð?ð?ð?ÀŽî?€•ï?@áî?ð?€Bï?@¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¬è?h˜? z?ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^í?@Vä?@±ï?ð?ð?ð?€Yï?€Gï?ð?ð?À¬ï?@(ï?Àºí?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pí?ð?ð?ð?ð?ð?ð?fî?ð?ð?ð?ð?ð?ð?ð?ð?@˜î?Àéæ?À[í?ð?ð?ð?ð?ð?ð?€™ë?€Øî?ð?ð?ð?ð?ð?ð?ð?ÀÐï?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?ð?{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ÀÔï?À î?€êï?ð?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?€ðï?À·ï?Êï?À¢ï?©î?Àòî?@ï?À€ï?ð?ð?ð?ð?ð?ð?@Uï?ð?ð?ð?ð?ð?Áï?ð?ð?ð?ð?Àlï?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ïï?Àºï?ð?ð?ð?ð?ð?Óï?ð?ð?@Uî?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëè?¦?À‡â?€¹í?×Ð?€žÕ?ì¹? ²?Àåì?ð?€üï?@èï?ð?ð?ð?ð?ð?ð?€Öï?ð?ð?ð?ð?îï?ð?ð?÷ï?ð?ð?ð?ð?ÀËï?€¼ï?ð?ð?îï?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rï?Àpê?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?þï?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ï?ð?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?ð?÷ï?Üï?ð?ð?îï?ð?ð?ð?€úï?€äï?-Õ?JÀ?õà?@íî?ÀOï?¨ï?îï?@äï?ð?ï?Àýï?ð?ð?ð?À®ë?É?y?µ?æ·?ÀLæ?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?åï?ð?Àìî?Àdæ?€ñè?mè?@ãã? Ù?LÓ?™?€í?ð?ýî?½ì?@ïï?ð?ð?ð?ð?ï?€Øê?€Ñï?€üï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?Mï?ð?@òï?@’ï?ìî?Êï?ð?ð?ð?ð?ð?ÀSå?¼?Ø¥?ÿß?>Ö?Ї?Àïá?í?ÿï?ð?ð?ð?pï?ð?Àrî?ð?ð?À!ï? Ì?:?Ç?†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?À~ï?ð?ð?ð?ð?ð?ð?€îï?@úï?Àþï?@íï?ð?ð?ð?ð?ð?ð?À í?€'Ö?À{?x?€±Ù?žì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾í? ¯?€R?Y?²°?ÀMë?ð?ð?ð?ð?ð?îï?ð?3í?@»ï?ð?@éï?@öï?:ï?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@Eâ?8?KÓ?€xï?ð?@ºï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?À*î?Àèï?xï?€Xì?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lí?ð?ð?ð?ð?ð?ð?«ï?ð?ð?Üï?ð?ìï?ð?ð?ð?ð?ð?@Âï?äï?ð?Uï?‹ï?îï?ð?ð?ð?@ï?€¯î?ð?ð?ð?ð?ð?@ùï?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€üï?@üï?€¡ï?ï?¯ï?@Þì?@¨ï?;ï?Àmï?€ ï?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?Àï?À ï?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?@ÿï?þï?ð?ð?ÀNì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üá?P?l?Ài?Âà?€qÙ?×?°Æ?h›?âä?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùè?ÃÐ?@$í?ÀÑí?ÀOï?ð?ð?ð?ð?ð?ð?Àþï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?gï?Àï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?÷ï?ð?ð?ð?ð?åï?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?gï?€î?ð?ð?ð?ð?ð?ð?¦ï?gï?@ðï?Àýï?îï?ð?ð?ð?ð?ð?@úï?ð?ð?À×ï?€—ï?þï?@ôï?@Æï?À¢ï?€Cï?@çï?Àôï?Üï?ð?ð?ð?ð?ð?@…ï?@æà?aÓ?î¹?FÞ?@¥á?@#ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºï?Àˆï?ð?ð?ð?€âî?ð?åï?ð?€ÿï?ð?@ëï?€Šï?¸ï?/ß?7Ö? ¸?Ó?€b?@b?#ç?ð?ìï?ð?ð?ð?ð?ð?Àýï?À¿ï?ÀÄî?ð?Óï?ð?ð?ð?ð?@ÿï?€{ï?Àëï?ð?ð?ð?ð?€ßï?Àlï?ð?‹ï?ÀÆï?@¬î?À¬ï?À9î?@ƒî?î?ð?ùï?]í?@nå?€’Û?P›? ?ÄÍ? Š?9Â?€ÿ×?@¿à?À…ç?ð?ð?ð?@éï?ð?ð?Fï?ÀÐï?ÀÀæ?]Ð??ÆË?¹ï?ð?ð?@Œï?ÀÂî?ð?ð?ð?ð?ð?ð?èì?Lí?@Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?€ê?€0ß?€:Õ?ÐÆ? ­?©?ÙÂ?@?}?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?té?€¡å?ë?À?i?>?8«?Ö?À&í?ð?ð?ð?ð?ð?€Øï?@/î?€õî?ÀDï?ð?ð?ð?ð?€úï?@ ï?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?ÃÀ?€.æ?ð?€gß?€W×?@ í?ð?ð?ð?ð?ð?ð?Àê?øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ì?Ví?@sï?À¾ê?@±ì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHï?€[â?€“ì?ð?íï?@qï?ð?ð?ð?ð?ð?ð?ð?±ï?ð?ïï?À›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€ïï?ð?ð?ð?åï?@øï?@;í?€4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?€)ï?ÀÁî?@ñï?À¢ï?ð?ð?ð?ð?Àí?ÀÓî?ð?ð?ð?ð?ð?@†ë? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?@&ê?&Å?°Á?@²è?Àä?€äÓ?áç?ð?ð?ð?ð?ð?Üï?ð?ð?“ï?ð?ð?€Çï?Àúï?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õë?ýÃ?ÉÒ?ÀÍä?»ï?@üï?ð?ð?ð?ð?ð?ð? î?9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?@ïï?öï?ð?ð?@üï?¦ï?ð?ð?ð?îï?ð?ð?ð?ð?Üï?|ì?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀUï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?@lï?ð?ð?ð?ð?ð?ÀÚî?€þï?¸ï?Lï?@Oî?Àýï?ð?€îï?ð?ð?÷ï?”ï?ºï?À(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?îï?€¯í?ð?€÷ï?@åê?€­Þ?Ý?€|Õ?šÄ?@º?@€?8–?H«?@„?ØÁ?À"à?Àòï?ð?ð?ð?ð?ð?ð?@ßî?xè?@éï?ð?ð?ð?ð?ð?ð?•ï?ð?ð?ð?ð?ð?ð?€èï?À‡ï?ð?‹ï?‚ï?@øï?ÿï?ð?ð?ð?ê?€ÁÑ?¡?Ÿ?¸?8 ?Nç?€®ï?Ö?`­?@àì?ð?ð?Ààï?ð?ð?@ˆï?ð?ð?Àüï?€[ë?êÛ?€?†Ì?ð?@Ûï?ð?À„ì?@à?€Œê?ð?ð?ð?ð?@Qï?@Þï?€ûï?@åï?ð?ð?ð?ÀTì?À¿î?@¯ä?@(ì?@þï?ð?ð?€àï?€³ï?ð?ð?@ç?€Aä?€nÖ?€ŸÛ?À´ä?@Oã?ÀØì?@î?ï?À{î?ÀÂï?@ë?@æ?À#ê?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñî?€‘æ?ˆå?ÛÎ?Œ°?Ȭ?­Ó?@Ìá?8å?ÜØ?CÂ?$¶?ß?@Øë?ð?ð?ð?ð?ð?ð?ð?Kï?}é?@àî?Àúï?ð?ð?ð?ð?ð?€Ûï?ð?Àáï??ì?´â?€‘ï?ð?ð?Àæï?ð?ð?ð?ð? Ý?€KÚ?ð?Úî?Îè?@òë?ð?ð?ð?ð?ð?ð?Õï?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôä?€Oä?Àì?€úï?€uï?¾ï?ð?€êï?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?Àæî?ð?ð?ð?@çï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ÀFî?@rï?€/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?Àõï?ïï?ð?Àè?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@/ï?@iî?€”ë?@ ï?ð?ð?ð?Cï?@tî?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?Àí?ð?ð?ð?ð?ð?™ï?ð?ð?ð?ð?ð?@Ðç?À<á?@óâ?âÀ?ÃÒ?‰Ë?@«ë?ð?ð?ð?ð?ð?ð?ð?ð?æï?ð?ð?Àüï?Àïï?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆã?tº?¿Ë?@íé?@õï?ð?ð?ð?ð?ð?ð?ùí?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?yï?ð?ð?Àuï?öï?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?¼ï?ð?ð?ð?ð?€†ï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?€àï?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?€âï?ð?€í?€é?€Ó?”»?ªÇ?ÊÎ?€dÙ?Ö´?Àl?€[? Ñ?Àï?Àóï?ð?€ï?ð?ð?ð?ð?À¾ï?wï?Àêï?ð?ð?ð?ð?ð?ð?ÀÊî?Lï?€ûï?€¼ï?ð?ð?ð?@ïï?À'ï?ð?ÀÈï?ÀJï?Áï?Éï?@ïï? ï?kÎ? Õ?@Gâ?Àyì?€tî?ð?ÀÄé?À|?R?¢?€ÍÑ?0â?Ôï?úï?ð?ð?ð?ð?ð?ð?ð?ýï?À£å?ºÇ?€j?€ÐÚ?Ôï?Àoï?ð?@éï?À¥í?À1ä?ð?@Ÿì?#î?îï?À²ï?Àšï?ÀHï?@.ï?@¹ì?aå?€ºã?<·?€cØ?@t?p‡?Ê?€ÀÓ?@ì?@§ï?ð?ð?ê?´¤?€\?†Ð?À~ä?€%é?€%ï?î?ð?@{ï?Àôï?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€Eï?,ï?€õï?ð?ð?ð?@Óï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?·î?1ì?ÀTæ?@Vï?ð?@þï?@õï?ÀXï?åï?ð?yï?\Õ?Dß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À8î?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?Àöï?åï?ð?€Êî?@Èî?Àûï?–ï?ð?ð?ð?€öï?ÀÒí?€[í?€9ì?ï?ð?ð?ð?@Þï?Àëï?ð?ð?ð?ð?ð?ð?ð?¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?€‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lí?Öë?@ãï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ƒï?ï?ï??í?@wí?%é?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?Šï?Àäé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?Àþï?§ï?ð?ð?@ÿï?Àç?v²?°Å?€âÓ?ÀQé?„ï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?À2î?ë?@jî?ð?ð?ð?€ÿí?ð?ð?dï?À×ï?ð?ð?€Ûï?Àè?Ó?kÆ?ué?@eì?€Îë?)ë?FÉ?Rº?Àï?ð?ð?@üï?Àšï?@ùï?òî?ð?ð?ð?ð?Àüï?Zï?ð?ð?ð?ð?ð?ð?@°ï?Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁï?@øï?ð?ð?@nï?€šá?€ Ó?Àòí?ð?ð?ð?ð?ð?ð?ð?Àóï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?@øï?ð?ÀÑï?Ëï?¹ï?Àìï?ï?ð?@°ï?Àüï?Àþï?ð?ð?@|î?€Oï?Óï?ð?ð?ð?ð?ð?ð?ð?Àÿî?€ï?ð?ð?ð?ð?ð?Éî?€äï?ð?ð?ð?€¶ï?hì?ð?ð?ð?ð?@Øï?ð?Àýï?@Ìï?ð?ð?ð?Àõï?@èï?€òï?ð?ð?ð?€êï?@ßï?@áï?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?ð?ð?ÀÑï?ð?@Ïï?Àüï?ð?ð?îï?ð?Àáï?ÀÆï?@ë?ç?Ïì?ÀUë?*å?Ó?²?ÕÕ?ûï?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?€ ï?€Gï?€¾ï?ÀÙï?ð?ð?ð?ð?ð?ð?öï?ð?ð?€–ï?pï?ð?ð?À©á? µ?È?ÀTí?ð?€Àï?ð?ð?>Ê?L?O?f¼?Ï?ÀEä?ð?ð?ð?ð?€àï?Àöî?åî?€Øê?€³ï?@…ï?Àƒá?€~?¶Ý?ð?ð?ð?ð?ð?€Çï?€åí?@'î?ð?@Xî?Àï?Tá?Ànë?€€î?Àë?8½?ܸ?¥Ì?4¼?€ Õ?Ù?¾Ý?¢à?h¹?5Ê?…È?Œ?{?˜™?€wâ?€ ë?À ì?@ûï?ð?Àêï?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@1ï?ð?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?Ààå?@ë?ð?ð?ð?ð?ð?@—ï?ð?ð?ð?€åî?–ï?ð?ð?ð?@‹ê?WÚ?€bÕ??Àv?€¦è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?"ì?ð?ð?ð?ð?ð?ð?ð?Bï?@zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?‘ï?ð?ð?õï?ÀÅî?€ î?ð?ð?ð?@žï?€#í?€¥ï?ð?€~î?öï?€ïï?ð?ð?ð?ð?ð?ð?ð?¦ï?ð?ð?Àºí?Àé?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?€üï?Âï?€–î?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùè?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?À%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?@ï?€|ï?ð?ð?Àêï?@î?Àlí?Àí?@Wí?€êí?[î?@¦î?ð?€èï?€ ï?ð?ð?ð?ð?Wì?Àlê?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèî?€,ë?ð?ð?ð?Éï?€¸ï?ð?ð?ð?ð?ð?ð?ð?aé?À¯?¤·?@í?ð?ð?ð?ð?ð?ð?ð?ð?€ í?)è?À¹ì?ð?ð?ð?ð?ð?¡í?ßî?Cï?@£ï?€Ïï?ð?ð?æ?€?¨¦?€tí?Óï?ð?±î?Àóï?€‚â?`Š?Àã?ð?ð?ð?À1ï?ÀÇï?@pï?ð?ð?ð?Àáï?@Öï?Cï?@&í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óî?ðï?ð?ð?ð?ÀAï?€Ëî?ð?ð?€ïï?ð?ð?ð?À÷ï?@òï?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€-î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žì?@?î?ð?ð?ð?~ï?@©î?À‡ï?ð?ð?ð?ð?€“ï?€òï?ð?ð?ð?ð?ð?Úï?ÀÅï?ð?ð?ð?³î?@Ñî?€üï?ÀÁí?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ï?€™ï?@ïï?ð?Üï?ð?çï?ð?ð?ð?ð?€Ûî?ï?ð?Àñï?õï?ð?Øï?€éï?@Dï?@òï?Ìê?òØ?€Õ?NÃ?Àa?0ã?@Uî?ð?ð?ð?ð?ð?ð?Óï?ð?ð?@ î?ð?ð?ÀÏï?€Òï?@ï?ð?ð?ð?ð?€âí?ÀPï?À€ï?ïï?ð?ð?ð?ð?ð?ð?ð?À=ê?à˜?Àpá?ð?ð?ð?sì?j·?-Ó?ð?ð?€òï?ï?€zî?ÀNï?€hÔ? ±?íã?@fè?Uï?€·ã?€h?€Õ?ð?ð?ð?ð?ð?ð?òï?ð?€Ÿî?À¶ï?€Ÿë?d«?Àgä?€Dí?¬ë?”Î?õÐ??—Å?8?Þ°?€‘æ?då?@6ç?ÀÎç?€îÔ?À½å?@šä?¤å?@0ã?@Eã?âí?€Áå?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôí?@Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Bî?ÁË?éã?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?Àµï?@³å?@Æà?xÍ?€–?R±?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?€àì?ð?ð?ð?¦ï?ð?ð?ð?¯ï?àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?Àÿï?ð?ùï?@üï?€í?À‹ï?Úì?€’ä?€Gè?Àýï?ð?ð?ð?ð?€­ï?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?ÀÖï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?€Úî?ð?ð?ð?ð?ð?ð?À¹ï?€Oï?@¯ï?ð?Àaï?Àxî?vî?/ï?ð?€èï?ÀØï?ð?€Ùï?ð?€åï?ÀÇï?ð?Àýï?@ðï?ð?ð?ð?ð?@lí?{í?Óï?@èï?€+ï?Àœî?ð?ð?ð?À€ï?êî?ð?ð?ð?ð?ð?ð?¦î?p»?€R?tº?ñí?ð?ð?ð?ð?ð?ð?æï?Fî?€î?Ànï?ð?ð?ð?ð?ð?ð?Ðî?ÀÄï?ð?ð?ð?À1î?€ŸÛ?X–?Q?@xç?ð?ð?Àhí?ð?ð?×Ý?Àsæ?ð?ð?ð?€üï?€ÿï?ð?ð?ð?ð?ð?À(î?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?€¼ï?€ûï?nï?@Þï?°ë?À&í?Lï?ÿï?ð?ð?Àúï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?€óï?€Àï?€+ï?À$ï?ð?@ïï?äï?ð?ð?ð?ð?ð?Óï?ð?ð?Áï?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?Êï?åï?ð?@øï?Àéì?ð?ð?ð?Àÿï?”í?­ï?ð?ð?ð?ð?ð?Üï?ð?ð?@ðï?Àýï?ð?ð?ð?ð?ð?ð?ð?€üï?îï?Àýï?®ï?ð?ð?Àÿï?ð?ð?ð?ð?ð?ð?ð?Áï?ð?’ï?@Íí?ð?ð?ð?÷ï?ð?€Àî?Àï?ð?ð?€î?Àçî?ð?Àýï?@Åï?€úï?@êï?íï?ð?@÷ï?@ î?€ÑÓ?à‡?€vì?ð?ð?ð?ð?ð?ð?ð?ð?À”ì?@Ýï?ð?ð?ð?€×ï?@lî?@©î?ð?ð?ð?€ûï?¢ë?òí?ð?ð?ð?ð?ï?ð?ð?ð?½í?hÁ?€Q?ZÂ?ܤ?µÙ?ð?@ï?ð?À‡ê?`‚?ž²?Àâ?€ì?Àòî?ð?‹ï?ÀÎä?@n?À¡ã?âï?ëÂ?ª?ÀHá?@8ï?ð?ð?ð?ð?ð?ð?À‘ì?ð?À8æ?¹Æ?&¼?Ø?À?²?@b?€‚?ð©??Ø?øÄ?€*è?ÿï?ð?ð?ð?Mê?@þë?€Pí?‡é?ð?@Üï?ð?ð?ð?ð?ð?@iï?@Îí?@Ðî?À¾ï?ð?ð?ð?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âæ?ÀŽç?Àøï?ð?ð?ð?ð?ð?€¶ï?öï?ð?ð?ð?€ñï?ð?€¢Ù?…?pí?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?ð?ð?ð?ð?Âï?@ñî?ð?ð?ð?À<ï?Ùí?ÀYï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Kí?åï?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?ÀEî?ð?ð?ð?ð?@~ï?çî?ð?ð?ð?ð?ð?ð?ð?ð?À‰ï?€:ï?tî?€Åî?ð?ð?ð?@îï? ï?ð?ð?ð?ð?ð?ð?ð?€Êï?ð?ð?ð?ð?ð?€Øï?@ ï?ð?€Òï?ÀÚî?ð?ð?ð?ð?ï?€žæ?€ÀÐ?H‘?ÀÀæ?ð?ð?ð?ð?ð?Àþï?öí?À_ì?ì?@hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­í?€¯Ú?Àc?Àuç?ð?Ñï?ð?ð?ð?À‚é?àq?ÔÄ?@ ë?ð?ð?€ðï?@Aï?ð?ð?ð?ð?ð?Àðí?ð?÷ï?ð?ð?…î?€àá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?Àùè?Àì?ð?áì?ð?@îï?ð?ð?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?€ðï?¸ï?ð?€µï?ÿï?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIï?@Wï?ð?ð?ð?ð?ð?@­í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?÷ï?ð?ð?í?ð?ð?ÀÜï?€0í?€òï?ð?ð?ð?gï?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?Üï?Àøï?ð?ð?ð?ð?ð?ð?À˜í?@:ï?ð?ð?ð?ð?@Þï?@Ýï?@üï?€Sï?àÉ?l¶?À-ï?ð?ð?ð?ð?ð?ð?Àüï?€sï?Oí?Àýï?ð?Cï?ð?¸ï?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wï?€rï?À’ï?Ø?,?ªÏ?ŸÔ?@k?øÙ?€ß?+Õ?€ï?ð?Àóï?€Nì? p?`p?¼¢?:ß?ð?ð?€¯Ù?CÌ?@ è?Àb?‡?P‡?€â?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€&Ñ?D¸?µÊ?ê½?¶Ñ?€íÙ?O?@?Þ?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uï?@ïï?ð?ð?ð?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€Öï?ð?ð?ð?ð?åï?€~ï?ð?ð?ð?@ãï?ð?ð?ÀÊï?Ïï?ð?ð?ð?ð?ð?€“ï?@ñï?@©ï?Àêï?Àüï?€í?ð?ÚË?€f?Å?ÊÄ?îà?ð?ð?ð?ð?ð?ð?ð?€Uî?À‘ï?À£ï?@Œï?@éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ì?€êï?ð?pï?ð?ð?ð?ð?@¬ë?@›ë?ð?ð?ð?Àsï?@µî?Àôï?ð?ð?Óï?ð?ð?ð?ð?ð?@ûï?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?€êï?ð?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?€êï?€ ï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?Ûï?Óï?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?×ï?ð?ð?ð?ð?Pï?@Ÿï?ð?€óï?Óï?ð?ð?ð?ð?ð?ð?ÀŽï?@åï?ð?ð?ð?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?ð?ð?ð?Àúï?@“î?ð?€¿ï?ð?ð?ð?¯ï?ÀYæ?ÆÊ??ܺ?ãã?+ï?ð?ð?ÀJï?@³í?Iî?]ê?€ˆë?@ ã?€®î?ÀSï?ð?ð?ð?ð?ð?ð?ð?ð?€áï?Gê?íÈ?P¶?€~Ó?@Mè?¯ï?@Úï?ð?Áï?‹ï?Àãï?ŸË? Ê?Àòî?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?Àôï?@ðï?ð?ð?@æ?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBï?@éï?ð?ð?Jï?€èï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€ñï?ð?ð?ð?ð?ð?ð?@Êï?ð?ð?ð?Àæî?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?Àüï?€èï?Àøï?ð?ð?ð?ð?ð?ð?ð?’í?€òï?€¡ï?@nï?Àüï?ð?ð?ð?ð?ÀŒï?ð?ð?€áï?ð?ð?ð?ð?ð?ð?€¼ï?€ûï?ð?@õï?ð?ð?ð?ð?@ï?ð?ð?ð?ð?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?€êï?€î?€µï?ð?ð?€&î?À”î?ð?Àjï?À/ë?ð?€©Ô?ð?ð?Àdî?¤ï?ð?\ï?@ðï?€(í?@Ãï?À:ï?ï?ÀCï?ÀÒí?@¿ï?Àï?ð? ï?ð?ð?ð?ð?€~ï?@ñï?ð?ð?ð?ð?ð?ð?Óï?ÀÇï? w? ’?€¬à?€Åï?€í?@oà?Àc?€_Ö?@üï?ð?ð?€ê?"Í?ÿï?ð?a×?°¤?à{?~Ú?·Ù?@ší?ð?éî?ð?ð?ð?ð?ð?ð?@¹ê?Àu?Ài? „?b?€á?€þï?@pï?@¨ï?ð?ð?ð?ÀÜï?ð?ð?ð?ð?ð?ð?Mï?À¤ï?ð?ð?yï?ð?ð?ð?ð?ÀÐï?dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?ð?Åî?ð?*ï?‹ï?ð?ð?Àôï?@±ï?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?@Óí?¢í?<ª? p?@¢?ÐÕ?€&î?ð?ð?ð?ð?€7ï?ýí?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ÀÙë?Áî?@ðï?[ë?ð?ð?¸ï?’ï?€Ñï?ð?ð?ð?@†ï?€"ï?ð?¦ï?éï?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?ð?ð?ð?ÀÄï?ð?¯ï?ð?À·í?Àeé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?€úï?€úï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?Àßï?ð?ð?ð?ð?ð?ð?Ûï?@ÿï?ð?ð?ð?ð?ð?ð?€ï?€‚î?ð?ð?ð?ð?ð?ð?ð?öï?€xï?@ëï?Àýï?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?@øï?ð?ð?ð?ð?ð?ÀÆï?Àþî?ð?ð?@Hè?@?0?¨à?À…ï?€ï?À5ï?€àï?õè?·Ù?|¹??À‡?‚?€êÖ?(à?€Yì?'î?@©í?@Ãï?ð?ð?ð?ð?@ë?`Œ?€ïß?ð?oî?Øï?€†ï?@ßï?ð?(Õ?=æ?ð?ð?ð?ð?÷ï?@øï?ÿï?©ï?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?æî?Óï?ð?ð?ð?ð?ð?ð?ð?Àëï?@„ï?ð?Àýï?Àþï?ð?ð?ð?ð?ð?ð?ÀÇï?@Þï?ð?ð?ð?¦ï?ð?ð?ð?Ïï?ÀÈï?Üï?ð?ð?ð?ð?îï?ð?ð?ð?@þï?€Ìï?@oï?ð?€ï?Óï?@Óï?Àêï?@+î?@jï?ð?÷ï?ð?ð?/ï?@ðï?ð?€àï?@ïï?ð?Àèï?ð?ð?ÀØï?€úï?ð?ð?ð?ð?ð?ð?€üï?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ð?¤í?²ï?€žì?mí?ð?ð?€¸ï?@•á?€X?˜—?§å?ð?Ààï?èì?Àhï?Àí?@9î?Àåî?€Éì?@Pê?€Ûì?@_ï?-ï?À=ï?ï?ð?€òï?€éï?ð?ð?ð?ð?ð?ð?@öê?Àâï?Çî?À-ï?ñí?Àgî?ð?€?è?’?£Ë?Xç?"ï?Å?@ã?ð?ð?ð?@êå?`‡?*ç?ð?bï?@îé?ãÃ?I?šÍ?@mâ?ð?ð?ð?ð?Àêï?åï?ð?ð?@óï?À(ä? ?H?ðŠ??0©?ºÙ?~Ó?Ê?@Ùë?ð?ð?ð?€oï?ð?ð?ð?ð?ð?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?Óï?ð?ð?ð?ð?>î?Bî?€é?h”?ˆÝ?Ïë?Dî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óë?ð?Cï?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?¢ï?@î?À-ï?Áï?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ð?ð?ð?ð?ð?€×ï?@ýï?ð?ð?ð?ð?ð?ð?§ï?oï?îï?ð?ð?ð?rï?ð?ð?þï?Öî?@«ï?÷ï?ð?ð?ð?ÀYî?À¿î?ð?ð?ð?ðï?ð?ð?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰Ý?=Ç?žç?€Pì?ÀŸï?€^ê?€qÓ?°¢?€_?x’?©?Œ§?ÀEæ?Êï?ð?ð?ð?ð?ð?€ è?€Y?€œâ?ð?ð?@ýï?íï?ð?öï?€ë×?Àuå?ð?ð?ð?ð?ð?ð?ÀGï?ˆî?À|ï?ð?ð?ð?Óï?ð?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?@¤ï?ð?ð?ð?ð?ð?Àï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ï?@Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ªï?Àöï?ôï?@ùï?ð?€àï?€ûï?ð?ð?@¤í?@øï?ð?ð?ð?ð?€Zí?@Üï?ð?ð?ð?ð?÷ï?ð?î?ð?ð?ð?€Ùï?À¦ï?ð?À·ï?ð?€Uí?€ë?ð?î?€Åî?ð?ð?ð?ð?ð?ð?À—ï?¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|ï?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?åï?ð?ð?ð?ð?ð?ð?ð?¦ï?ÀBï?¤æ?Àä? é?€jè?åï?ðï?À±ç?Xš?fÌ?æÍ?À©î?ð?ÀÀï?cï?À¨î?Àeï?Àžï?ð?ð?Àãï?€¹ï?ð?ð?ð?€Aî?@"ï?ð?ï?ð?ð?Üï?ð?ð?ð?@áï?åï?íï?@Wï?ð?ð?ð?€ÿÕ?p—?šÁ?6?è¨?À+ã?ð?@¿è?@Çä?@8à?€wÚ?@øï?ï?ð?­Ö?B?»?@«å?Üï?ð?ð?Bî?ð?ð?ð?€±è?{É?€IÖ?¤°?œµ?p‘??a×?oç?@Âà?€Ý?ìï?ð?ð?ð?€Ùî?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?À=ï?€çí?$ï?ð?@åï?Áï?ÀÁï?âé?bí?€Ûï?»ì?ªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘ï?Îï?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?@•í?@Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úë?Àqâ?¨›?Àž?À¼?ÀPì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wí?ÀKì?€Èì?¯ï?@*í?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?ð?ð?ð?ð?ð?ð?ð?ð?€èï?À,ï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?@[ï?ð?ð?ð?pï?õï?gï?À¹î?€§í?†î?ð?ð?ð?ð?îï?€îî?Àëï?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?íï?ð?ð?ð?ð?ð?Àáï?€çî?À/ç?À ç?€ï?ê?@Dä?x•?6°?`ë?˜é?и?ø«?F?Àp?Àç?@‚ï?Êï?ð?ð?ð?ð?ß?`”?¥?À¿í?ð?@ùï?À¾ï?ÀÐï?@ðï?€Îî?–´?À¹â?ð?ð?ð?ð?Êï?ð?ð?ð?@üï?Óï?ð?ÀÆï?€“å?@¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ànî?ð?Àøï?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?¦ï?ð?ð?ð?ð?@üï?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€ðï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À8í?€Æí?€ï?¦ï?ð?@Zï?À‘í?ð?ð?ð?ð?@ï?€©ï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?€"î?Ààï?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?Àôï?€þà?@Ý?wï?Àºï?jË?Àà?Àë?к?@éç?ð?ð?ð?À¯ï?ð?ð?ð?ð?ð?@äï?@òï?ð?ð?¤ï?Àë?À§í?ð?ð?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?Òï?Uï?@Åî?@!ï?€Bá?è¦?`¥?•å?x¯?? Š?€£Ð?@7ì?€œÛ? ?€]?EÆ?@ï?@÷ï?ÀÒì?ËÚ?Ø—?"Ù?€¯ä?@©í?À~î?ð?ð?@pï?€^î?€´Ý?€Ø?„«?@t?R?:¸?Œ?yÓ?€dà?*¾?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?@¬î?€ìï?@‰ï?ð?@Žï?À«ï?@î?Òå?À´í?Óï?ð?ð?ð?ð?ð?zî?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?Àï?âå?@Íí?Àäï?À#ï?ÀÐï?@ùï?ð?ð?ð?ð?Àôï?€îï?€ÿî?@Úï?ð?Àî?@íå?¨è?Áï?ð?ð?ð?ð?Àuï?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?gÖ?v¸?Ѐ?p›?ËÊ?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±î?ð?°î?€í?€›ì?€{ï?ð?ð?ð?ð?ð?ð?À€í?¯ï?ð?ð?ð?€íï?ð?@”ï?ð?ð?ð?ð?ð?Àîî?@•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sï?€×?@±ï?ð?ð?ð?ð?ð?ð?ð?Àÿï?À¶ï?Àÿï?ð?ð?ð?@3ï?À2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?äï?ð?Àþï?@vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?)î?ð?ð?ð?Êï?@Öï?¯ï?@Ùï?ð?ð?ð?ð?ð?ð?ð?aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@–ï?€ôï?ð?€ûï?€Àî?ð?ð?€öî?€Rî? ´?Pž?È?:??{Ê?´á?€?Ü?‚½??‚?8”?€+Ð?iï?€Kî?ð?ð?ð?ð?ð?Àìï?ÀËë?‚¶?×Î?ýï?ð?åï?À¿ï?ð?ÀÓï?±Ü?Às?™Õ?ð?ð?€ðê?@¦í?ð?ð?ð?ð?ð?ð?îï?ð?€˜Þ?ÀQï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Àýï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöî?¤î?ð?ð?€{ï?Àðï?Àuî?@Æï?ð?ð?ð?óï?@î?ð?ð?½ï?@Âï?Àÿï?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?@Lï?@èê?@î?€ýï?ð?ð?ð?ð?ð?Õï?ð?ð?ð?ð?ð?Àmï?âì?ð?ð?ð?ð?ð?ð?îï?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ð?@gà?€Ù?Àüï?ð?@ià?Є?€SÑ?bµ?¸™?@k?ÀÇî?î?@êî?ð?€ï?€bî?ð?@×î?pï?ð?îï?ð?€Ýí?€ï?Kê?ÀÓî?ð?ð?ð?€ÿï?Êï?ð?oï?§ï?ð?ð?åï?ð?ð?€îï?Àÿï?Àþï?@ì?€Wë?x¶?(‘?Á?€r?ø—?Àv? x?€†?€b?SÆ?À¥ì?@ƒá?à?€`?ÆÆ?€—á?€Hí?€Rí?@.ï?ð?ð?@Ðì?ä?€þÕ?éä?€qÚ?¼¦?`?~Â?`­?À?AÁ?@úæ?ð?ð?ð?ð?÷í?ð?ð?ð?ð?ð?ð?ð?Àÿî?€¡ï?À5î?ð?ð?ð?ð?ð?ð?@â?N×?@³í?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?€âì?À¸ê?Àåë?@Hë?Àqí?ð?ð?ð?ð?ð?ð?ð?ð?@î?@fè? ß?€a×?Àfá?ÀÃî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?yÄ?€T?ð?À è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆí?@Žî?ð?@Ÿï?Áï?@ýï?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€ï?ð?ð?ð?ð?€—ï?Àüï?ð?ð?ð?@yï?ð?ð?ð?@¹ì?@•í?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€ºï?ð?ð?.ï?ð?ð?ð?ð?Àï?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûî?Àæí?ÀÔï?ð?ð?ð?ð?À~ï?pï?»ï?ð?ð?ð?Âï?ÀÚï?ð?@nï?€Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?bî?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿè?5ß?€jÞ?€WÑ?8Ÿ?€mÖ?øè?€>î?@Ëï?€îï?ð?ð?ð?õï?@æï?@Ÿë?%Ì?Àt?ä?@ûï?ð?åï?Àìï?xï?@6é?Ћ?”®?&è?ð?ð?ð?ð?ð?åï?ð?€Òî?ð?¸ï?îï?À«ï?ð?ÀÜï?ð?ð?Àôì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?@ýï?€Öï?ð?ð?Ëï?Íï?ð?ð?À+ï?ð?ð?@¤ï?@÷î?@´ï?À©ï?ßï?ð?ð?ð?ð?ð?ð?@ïï?ÀÙï?ð?ùï?Àêï?ð?åï?@+ï?€‰î?µî?ð?@áï?Àyì?ð?ð?õï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?©í?ð?•×?€õØ?À¬ï?ð? î?wÍ??ü¸?<Û?ÛÀ?KÃ?ÀIí?€žâ?îï?ð?ð?€Àï?ð?ð?ÀÎï?ð?ð?ð?ð?ð?Àtï?@4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?@ùï?€¥ï?ð?ð?ð?€íÑ?V?À–?P€?G?k?€?²?O?¼¬?î?ð?€òØ?[À?¶?Õå?€uì?ÀZì?ð?ð?@æï?ð?ùí?3à?€è?@ï?ÔØ?üª?€+Õ?-Î?‡â?îÊ?ÀÚì?@Öï?ð?@Uï?€Gî?@—î?ð?ð?ð?ð?ð?ð?ð?ÀÓî?@Aï?@0ç?Àã?ð?ð?ð?ð?àî?@së?Àæ?€!î?ð?ð?ð?ð?pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Lï?€Öé?À¾ê?À£ï?@úï?@ ç?@Òì?Àaï?ð?ð?ð?ð?ð?ð?ð?Àùí?€CÖ?è¬?h?²å?Àâï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ï?Ʋ?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?‚ì?ÀÑï?ð?@¹ï?@ÿï?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?@úï?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?¾î?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?@ûï?À’ì?ÀÂï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ð?ð?Àçï?@úï?ð?ð?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?ð?ð?ð?ð?ÀÏï?ÀYí?ð?ð?Üï?€éï?€àï?‚ï?€Íï?Àüï?€òï?À>ï?€þï?€üï?ð?ð?kï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?@¸à?"·?~æ?À…î?Qî?@Jï?ûï?Êï?ð?ð?ð?ð?ð?Œí? ¦?@n?,Ó?@…ï?ð?ð?ð?@ÿï?”ï?Aâ?δ?€Lé?ð?ð?ùî?@ðï?ð?ð?€Çï?ÀÐï?ð?ð?þï?ð?@öï?ð?÷ï?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?ð?ð?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?€Èí?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?¦ï?@Uï?ð?ð?ÀÐï?ð?@Æï?ð?€Vî?Kî?ð?´ï?@¼ï?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?Áï?þï?@úï?¸ï?÷ï?ð?@Sï?Àäï?ð?@Iî?Àíî?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?ð?ð?îï?¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;ê?€í?•î? Û?KÚ?@6í?ûï?Àêï?ÑÚ?€_?oÑ?PÙ?ŠÈ?!Ä?°?`Ÿ?@g?-Ì?@Oê?@Áì?€Ýï?Òï?Àkï?ð?Pë?€¼ï?@ûï?Üï?ð?ð?åï?ð?ð?ð?ð?¸ï?ð?ð?ð?€ÿï?Óï?ð?øï?Lï?ð?ð?ð?ð?ð?À.ê? r?¨™?Àh?ÀÃ?%Ò?Àßï?€Ðè?Á?8ž?íÝ?Ú´?éË?€ŠÔ?±á?Õä?€zÝ?€Õ?@Xç?€¨ï?@î?fê?Ðà?YÛ?#Î?€ Ú?€‡ã?€oå?À‘è?@Áï?ð?ð?îï?@úï?€Bï?ð?€ií?ð?ð?ð?ð?@,ï?@ì?€4ï?À•î?Íî?Àñï?ð?ð?ð?ð?Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýî?€]ì?Àyî?€Ìï?ð?ð?ð?ð?ð?@‰í?À7ï?ð?ð?ð?ð?€ßî?€Žß?€gí?ð?ð?ð?ð?ð?À¦î?Àì?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»Ì?œ?À|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?@„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?€ì?Àtï?ð?ð?Yì?ð?ð?ð?ð?ð?ð?ð?€ýï?;ï?@1ï?Àï?ð?@uî?©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ÿî?€ûî?€Òî?ð?ð?€áï?@·ï?ð?ð?@¶ï?ð?ð?ð?ð?ð?ð?Ïï?€rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?€‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?€ÛÐ?Þí?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?@Uï?ð?ð?ð?ð?ð?¦ï?ð?ð?ð?ð?Àôï?ÀÛì?€Sï?ð?ð?¸ï?ð?ð?ð?ð?ð?ð?ð?À²ï?@ïï?ð?Àï?À,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5î?@Øí?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@_ê?RÈ?B??2?Àh?€ìÚ?ð?@Àï?Áî?€-ï?áï?ð?ð?Àï?ïï?ð?ð?ð?€Ú?Š»?l?€]?€©ä?€Óï?ð?ð?ð?kî?Ó?ŒË?ƶ?€3í?ð?ð?ð?ð?ð?ð?Kï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?eï?ð?ð?À¥ï?ð?À]ï?ð?òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?9ï?ð?ð?ð?ð?Àúï?À%î?ð?ð?ð?À»ì? ï?Àúï?ð?ÀQï?€²ï?ð?À¢ï?@Iì?À¥ë?€Pï?Ôî?Ðï?ð?ð?@øï?öï?ð?ð?ð?¥ï?Ûï?€Âï?ð?ð?ð?ð?ð?ð?@ªî?ð?ð?ð?|í?ð?ð?ï?@…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?@ùï?À9ê?À7ä?Úç?€¸ä?¨Í?èÚ?€ðï?Òï?¦Ô?¨½?xÃ?€?¡?@†æ?À]ï?€Rï?ð?@áì?€Áç?ð?uï?ð?ð?ð?ð?‹ï?ð?ð?ð?ð?3ï?@ëï?ÀÁï?@õï?@1î?ð?@úî?À¶î?@¿î?ð?ð?^ï?€…é?(š?ˆ¿?€3Ú?¡Þ?Àúæ?êÃ?|®?Z¶?\Ã?â?€å?€×ë?Üß?€ýï?ÀŸæ?@g?p¯?€àÙ?ÔÆ?@zá?ÀÜé?ð?€,ë?§à?Ö¾?€ÀÛ?À¦î?ÀŒí?@íì?IÐ?€·ã? ?¨°?è±?"É?Àëä?¹ï?ð?ð?ð?ð?ï?€%ï?Àíí?Àõï?ð?ð?ð?ð?ÀÄá?@ôï?ð?ð?€ôï?ð?ð?ð?ð?ð?€Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ÀÊï?À¤ï?ð?ð?ð?ð?ð?@¦î?ð?ð?ð?@Óì?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Žé?r¸?Oå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?§ß?À2å?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@yï?Àí?€Èì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öî?Àxï?À“î?ð?@ôï?€!ï?ð?ð?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?€…ï?€)í?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?À@é?ð?ð?ð?ð?Àðï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@)î?@dî?¥ï?ð?ð?úï?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ší?€Èï?ð?ð?ð?ð?€åï?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ÀAï?ð?ð?ð?Àíï?î?ð?ð?ð?ð?ð?ð?ð?½ï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?À-æ?Pâ?€"â?;Ø?@b?¹Ç?À¯â?°ì?ÀÑí?@øí?ÀÑî?Àxï?¹ï?ð?ð?€åï?3í?€Ùí?ð?@Óâ?£ã?0¼?Ø•?@«ç?€ôï?ð?ð?@ºï?À-ë?à}?aÅ?öî?€{ç?@é?bì?Àíî?ð?@¾ï?²ï?€¸î?À7ï?ð?ð?ð?€!ï?À4í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ï?ð?ð?ð?Àïî?åï?‹î?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À:ï?Àóï?ð?ð?ð?@üï?ð?ð?ð?ð?Àï?À„ï?@üï?ð?ð?@îï?@ï?@îï?èì?À7í?@!ï?9ê?€gï?ð?ð?ð?÷ï?Àäï?ð?ð?@zï?@vï?À“ï?€Üï?ÀÃï?@óé?ð?ð?ð?ð?ð?ð?ð?îï?@žî?@÷ï?÷ï?ð?@÷ï?ð?ð?ð?ð?ð?þî?@Ãï?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®í?ð?€€ï?€8ë?/â?€¸Ð?ˆÝ?ð?€èÕ?$?ÂÅ?ð?ð?¥ï?ð?çî?@óï?ð?ð?ð?¹ï?@°ï?ð?ð?ÀAî?eï?ð?ð?À³î?rï?Àœï?ð?Àÿí?ð?ð?ð?ºï?À¤ï?À’ï?@rï? Ì?À†?H˜?@ã?Àýï?@þï?€Éï?€²î?@åî?@êï?@Ñï?ð?ð?@Žä?p“?€@Õ?ÍÃ?Ⱥ?OÎ?Ï?oî?ýï?ð?€Ïï?@Ìï?€tì?@Þä?Á?6Ñ?ÀÆë?<­?´«?MÓ?rÆ?°²?tª?€o×?ð?ð?ð?ð?ð?ð?ð?ð?€Ûê?ÀWì?@rì?ð?õå?€íï?€1á?€qì?ð?€wï?ð?ð?ð?ð?vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?€éï?€þï?ð?€òï?ð?ð?ð?ð?À¶ï?ð?ð?ð?öï?À ì?@ì?Àµë?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?@ è?ô£?@éé?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?@äï? æ?À}è?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?@Þï?Àëï?ð?ð?ð?À&í?€ï?€ýî?Àlì?ð?ð?ð?ð?ð?ð?ð?ÀCï?ÀMî?@Ôï?@çî?@î?@&î?Àôï?€Òï?ð?÷ï?À‰ï?ð?ð?ð?À@ï?€wï?ð?ð?Dï?Àcï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uî?Æï?ð?ð?ð?ð?€*ï?Àçï?ð?ð?@·ï?Àíï?ð?ð?ð?ð?ð?@Iï?ð?ð?ð?ð?ð?ð?Àáï?Àäï?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?þï?ð?@(î?ñë? u?˜?4Ä?h´? Å?@åá?Àáã?€(Õ?@Õç?Àsæ?€þì?@ï?ð?xï?@í?@;ï?ð?@Ãï?çÎ?€Ü?Ȭ?€ñÑ?€)ë?@íï?ð?ð?ð?Àäï?€ë?àv? u?:Ê?€sÝ?oë?@äï?@Íï?ÀÞï?ð?Àäï?ð?*ï?ð?Àíï?ð?@î?€Lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?÷ï?ð?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?@ÿï?@ÿï?ð?ð?@€ï?Àâï?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xï?ð?ð?ï?î?ð?Àôï?@Áï?€Òï?ð?ð?Àüï?À¶ï?€üï?€ÿï?ð?ÀJî?ð?@þï?ð?ð?ð?ð?ð?ð?Àíï?ð?÷ï?Àªï?À•ï?€¨ï?€ÿï?@ýï?ð?ð?À`ï?@ï?ï?Cï?¾î?@+ï?€øï?@Ûï?ð?ð?Àùï?ýï?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?ð?ð?€ní?@¥ë?€eæ?N´?À§ä?Àš?hÍ?„Î?€íÔ?‚?Í?À’ï?@Éï?€%ï?ð?€Úï?ð?ð?Àóï?@²î?øï?ÀŸï?ð?€/î?\ï?ð?ð?ð?ð?ð?€fî?@ïï?@ïï?ð?ð?ÀIï?ð?ð?ð?@™è? †?€ËÔ?(ë?$ï?ð?§ï?ð?ð?@Àï?@Òï?ëï?aÇ?u?Ï?@r?€Tà?@¬ï?ð?ð?ð?€pî?Àì?ÉÂ?à°?IÇ?¾º?cÀ?¸?¬É?<À?L?xÐ?V¶?€‘Ñ?M×?@Ýä?ÀŽï?À%ï?À¤ï?ð?@žï?ð?ð?ð?€í?@nê?Ÿë?Àäï?€7ï?ð?À€ç?@Ëä?ð?ð?ëï?ð?ì?¯î?@Âï?ð?ð?ð?ð?ð?ð?ð?€æï?Àïï?ð?ð?ð?ð?uî?@üï?ð?€áë?@?ì?Uí?ð?ð?ð?ð?ð?ð?ð?@ ï?À'í?ÀÈé?¼ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0Ø?ò¶?€ÿé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@cî?*É?xå?ð?ð?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?€Ýï?€.ï?ð?ð?À­ï?Àxî?ÀXí?Àí?Ðì?@0ï?ð?ð?ð?ð?ð?ð?ð?sï?€ñï?€;í?ð?ùï?ÀLï?€£í?@Šï?@xï?ð?ð?ð?ð?ð?ð?ð?ð?€­î?Àrî?€Þï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³é?Àæ?@#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?ð?ð?Àäï?ð?ÀÑï?À{ï?À×ï?ð?€½ï?ð?ð?ð?ð?ð?ð?ð?Àáï?€\ï?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?*î?ÿë?ü¢?ïÐ?hì?À"ï?€;Ü?(§?L?W?>?¢³?¸­?Àj?§?€GÛ?@è?€+ï?€mï?ÀLî?ð?ð?ð?ð?í?P²?ð‹?@ì?ð?ð?ð?€+ï?Àçï?ð?Àéï?À?6Ü?€¯Ù?ð?ð?ð?ð?ð?Àœî?3ï?ð?ð?÷ï?ð?Àäï?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?úï?ð?ð?ð?ð?ð?ð?@Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?Àäï?ð?ð?Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?ð?ð?@ï?@gï?@·ï?ëï?ð?@úï?ð?ð?{í?À›í?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?Àíï?ð?ð?ð?ð?ÀÍï?@¡í?@bï?ð?ð?À[ï?ð?ð?€ôï?@úï?ð?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?jê?ªß?…ß? È? œ?wÉ?«Ç?Àh?KÅ?@·ï?@Äí?ð?ð?€Óï?ð?òï?®ï?ð?óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlï?@ãï?ð?ð?À†ï?úï?€Xï?€Öì?€‡à?H?¨”?€R?2?À{?€Ä?À’è?ð?ð?÷ï?Àíï?åï?€ýé?Àm?G?Àwâ?ð?Àíï?Àíï?€ŸÛ? ß?ã?Ü®?@{?Àv?†¾?@h?.º?®¿?‘?@g?\®?k?`–?À†?€šÝ?ÀNê?@äï?ð?ð?uï?ð?ð?ð?€Gî?èî?ð?€€ï?ð?ð?ð?ð?€ ï?€ìï?€óì?ð?@>î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Hï?€•ï?€ì?ð?ð?À.ï?ð?ð?ð?€;ì?¥ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßß?0¸?€Û?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@;î?Àeä?uá?®Û?°?À7à?À„í?ÀRï?À^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?èí?ì?ºî?À+î?€Åì?€ïî?ð?ð?€wï?€ï?ÀKî?ÀÅï?ýï?@¤î?€žï?@öï?€Úï?ð?ð?ð?À·î?ð?@Éï?Àäï?ïî?ð?À›ï?ÀŒï?î?€‡î?úï?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§ì?Àdå?@pï?ð?Àˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?úï?øï?ð?Àäï?ð?ð?ð?ð?ð?Àï?@¥ï?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?€wï?ð?ð?ð?@hï?ð?ð?ð?ð?ð?ð?ð?ð?@ï?fî?ð?@Kæ?Àƒ?€yÙ?À"í?€Iï?À¤ï?ÀŠî?À÷é?(ß?€kä?à?€·Ð?x‘?2´?€Úß?Àäî?ï?@‘ï?ð?ð?ð?ð?ð?@áà?(¼?(¢?Ö×?ÀÚá?@n? u? á?€Ïï?Àæï?À’ï?ð?@ðê?Vï?ð?ð?É?Ó?»ì?€Ôí?ð?Àíï?Àíï?Sï?¥ï?À’ï?ð?ð?úï?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ýï?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?Àóï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?®ï?ð?ð?ð?ð?ýï?€›ï?€Ìï?ð?ð?ð?äî?€¦ï?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?Àíï?ð?ð?ð?ð?Àáï?ð?ð?úï?À˜ï?Àóî?€Vï?€Ûï?€þï?€õï?ð?€ùï?€–ï?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?÷ï?Àï?@Jï?]ê?@ûâ?L ?oÙ?A?­É?ð?Àî?ð?ð?–ï?®ï?Ñî?·ï?ð?Àûï?ð?ð?ð?ð?·ï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬ê?«Ç?¨‘? }?U?5Ç?€öâ?€éê?¹á?€Û?G?Ø•?×?€Ùë?€Ñî?ð?ð?ð?€ÌÞ?€Ú?ð?ð?ð?íï?€bÐ? «?Àž?`y?Fº?(•?Þ´?<Ã? |?€i? ?ب?0 ?ÀÑ?À8ï?ð?ð?ð?ð?ð?ð?Ëï?ð?ð?ð?íï?ð?ð?ð?ð?À%í?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?À‚î?€Õï?ð?ð?@®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwâ?ž¼?@oç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?h±?TÍ?6î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ä?ð?ð?ð?€Kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?@Êî?ÀÎï?ð?Aì?Àîì?@í?€pï?@¶ì?@wí?€3ì?Àfí?Àí?@àï?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?À\î?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”í?@Åë?ð?ð?ð?ð?ð?@pï?€Õî?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuè?€!ì?ð?@Zî?ð?ð?ð?ð?ð?ð?ð?=é?€}à?å?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@îï?ï?@éï?ð?ð?ð?ð?ð?ð?°ï?ÀÐî?ð?ð?ð?´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªï?€…í?€î?€Èï?ð?ð?@:ì?Ö?QÈ?€òÒ?@©î?€½ï?À½ï?€‹ï?ð?ð?€¯ï?ÀÆî?À•ï?€Óì?D¸?c?°›?P¡?€)Ñ?€«î?ÀÚï?€öï?çï?ð?ð?ð?ð?ð?€fÞ?€Òç?DÚ?З?@u?Ð?€Áè?ð?ð?À™î?ð?ð?@Žï?ð?ð?ð?±Ð?™Û?@óï?ð?ð?ð?ðï?ð?ð?ð?@Ëï?ð?@àï?Àˆï?³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žï?Øï?€¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?@ûï?ð?ð?ð?€Äï?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?€öï?@çï?€wî?@·ï?À°ï?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?@°ï?ð?ð?€õï?ÀÅï?@ìï?€7î?@#í?€ î?Õï?ð?6ï?öî?øï?€îï?ð?ð?€+ï?ð?ð?Àïí?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›ï?ïï?ð?ð?ð?ð?ð?ð?åï?Àÿî?í?À,è?€¥ä?¤?sÊ? s?€sé?€4í?nï?ð?Yï?@úä?@’à?@bâ?ûî?€áï?ð?ð?ð?ð?ð?ð?íï?€%ì?ð?ð?ð?ð?ð?ð?ð?ð?Œç??£?¶?j±? ¦?°†?±?À¯é?^Ú?vÀ?€¦Ù?@žæ?Ï??‰É?SÆ?€Û?*î?ð?ð?ð?@|ê?À­?(Ÿ?@Úâ?0¸?è”?"±?Àå?ð?ð?À\ã?€bÔ?@µê?@â?ð?ð?@ç?u?Zµ?zÈ?€Ó?€uÐ?ô¢?àš?‚?JÃ?{Í?€Ù?€§Û?ר?ÀÙè?@qí?€µî?ð?ð?€¿ï?€Ôï?ð?ð?€·ï?ð?ð?ð?ð?@úï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dî?@‰ï?ð?Àì?Àøï?ð?€5ï?ð?ð?ð?€Ðï?Æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¿ï?ÀOê?@uî?€æï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ê?ƒÍ?t ?¸º?€.î?ð?ð?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Gí?ð?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ïï?ð?ð?ð?ð?@mï?€#í?Àâì?qï?ð?ð?À´ï?ð?ð?ð?ð?ð?ð?ð?@œï?ð?@áï?@Ùí?Àï?íï?€ãï?ð?Àáï?€øï?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?@gè?€3é?ð?ð?ð?ð?ð?ð?@ ï?Àæí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?$í?€ â?ð?€2ï?À3ë?ð?ð?¥î?ï?ð?À›ï?ð?ð?ð?ð?ð?ð?@­ï?€‹ß?Àƒ?@“â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹î?ûï?ð?ð?ð?ð?ð?ð?ð?€ãî?@Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±ï?€ïí?ìï?ð?ð?ð?ð?Ëï?@üï?@™ï?¥ï?Àßï?£ï?ÀIï?€Nï?ð?€›ï?@éï?€Àç?€”å?Àºå?r?c?`?/Ë?³Û?aè?€œï?ÀÑï?€ ï?@}ï?ð?ð?ð?ð?€<è?ÀTä?€ Õ?„£?DÛ?@Yè?Àâï?ð?ð?¬ï?€ï?€vï?´ï?ð?ð?ð?Àâë?¶µ?p†?à?¬è?€ÿí?@ î?À”î?ð?ð?ð?Àûï?Çï?ð?Àûï?À÷ï?íï?íï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@/ï?@gî?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?Óï?À€í?ð?ð?ÀÓï?@ ï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Mî?ÀÎï?À÷ï?@´ï?€~î?@ní?ëï?€Hî?ÀYé?€þê?Àâï?ð?ð?ð?ð?ð?@Óî?ð?ð?ð?€ˆì?@«í?Úï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(î?@}î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?€á?hÓ?Э?€^?¾Â?t§?Å?È ?0´?žÖ?‰Ê?Ç?@rê?À¾í?À\ï?€¬ï?ð?ð?hî?ð?ð?À¨ï?€øï?ð?ð?ð?ð?ð?ð?hÕ?t?°˜?@¼à?€ Þ?á?@jì?@Ýï?@Öï?ÀÌï?@¦î?€šÜ??Ù?@è?ÀŽî?ð?Çï?ßï?Àýï?ð?€Ãî?Dí?€öï?€Çï?ð?ð?@åï?ð?ð?ï?€ÏÛ?ì?Àÿè?©?£?ú¸?@ˆâ?À,ç?›Á? ¤?€ëÔ?P‡?€mè?4×?ÀIë?Pš?€µ?dÌ?`y?¼¦?"Ä? {?(¼?M?d?”¼?Ñ?€Ñ?~Ñ? ×?€½Þ?€Ñ?Àùè?>ê?ð?ï?Àþï?@éï?@úï?È?4·?PÉ?Žá?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?ÐÕ?3â?î?@'ï?€ÁÞ?À™?€)è?ð?@Êï?ð?ð?ð?ð?@‘ì?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ÀÚï?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'ï?€àë?ð?ð?ð?ð?@¿ï?ÀLä?aÒ?|·?@˜? É?àØ?Àzå?€xì?ÀZì?ÀØã?€Žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉï?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?Àéï?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿ï?€ôï?ð?ð?Çï?ð?ð?ð?ð?ð?ð?€—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À„ï?À:í?yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?€wæ?R¶?D ?ì¶?Îç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@¼î?€œï?ð?ð?ð?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àî?ð?ð?ð?ð?ð?ð?ð?ð?@Çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿î?€]î?ð?ð?{ï?ð?ð?ð?ð?ð?ð?ð?€¿ï?À»ï?€ãï?ï?À·í?ÀÒã?ÞÏ?à?è¤?¸®?ýÐ?À”æ?€Íï?\î?íï? ï?Éï?þï?ð?ð?€Lî?ð?ÀIí?P?@dê?€áå?Àä?ÿï?ð?@´ï?ð?Çï?€²ï?@åï?€Fï?ð?ð?ð?ð?6Ò?#Ñ?ð?ð?ð?ð?€öï?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?@ï?ð?ð?8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?ð?ð?@ÿï?@úï?@¦í?ð?ð?ð?$ï?@îë?€Îï?@îï?Àäï?òï?xï?ð?Àšï?€ví?ð?ð?ð?ÀÆî?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àdï?€áì?Àî?ð?ð?€nì?tè?ð?ð?ð?ð?ð?ð?±ï?ð?ð?€¢ï?€ í?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´ï?ð?ð?ð?ð?œï?Àüï?ð?ð?ð?ð?ð?ð?*ï?ÀŠî?€^â?€ÉÜ?Àøï?€:ï?€í?ï?Àðï?ð?€ùí?@aæ?€Ìâ?€‚â?æå?¬á?€™ã?À ä?TÇ?¾Û?C?6?$Ê?wÚ?€âÞ?ÀÝâ?@hæ?Àê?@Së?ð?ð?€íï?ð?ð?ð?ð?ð?€çï?@Êí?@Ëï?ð?ð?ð?ð?ð?€ãï?ð?ð?çï?ð?ð?ð?ð?Ïï?ð?ð?ð?ð?@Øî?¹Ì?>?€]?€ÅÕ?P?€`Ò?ÞÃ?à€?€b?€“?8?( ?€z?n½?²?(ž?@°?¾¶?0’?Øš?’×?ð?Åï?@‚ï?ð?@Ìî?œ¯?2»?€³ß?Àªï?ð?ð?ð?ð?ð?ð?Àxé?°³?`°?ÊÒ?0–?€NÓ?@’í?€ãï?ð?ð?Çï?ð?ð?Æî?@@ï?ð?€íï?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?Çï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎî?€åç?@æ?-í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àxï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?€öî?À—ï?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~î?@î?@+å?€Èì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?Ùî?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tï?ð?ð?ð?ð?ð?ð?ð?Úï?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?ð?€1î?€\ï?€ãï?ð?¹ï?ð?ð?€ãï?ð?¥ï?À¹ï?€ì?ð?ð?ìï?€Ñï?tæ?,¿?N?€±Ó?@‚î?@vï?àî?¨í?ð?ð?Ýí?ÀÝî?À7í?ð?€oê?lÞ?Àóï?€ãï?@‚ï?Àÿî?€ãï?ð?€ãï?ð?ð?Àóï?ð?ð?ð?ð?À[ì?`‘?À»æ?ð?ð?ð?ð?ð?íï?€—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ñï?ð?ð?ð?ð?ð?ð?Úï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ùï?ð?ð?€ôï?£ï?ð?ùï?Àæï?Àðï?ð?ð?ð?ð?€~î?ÀÝï?ð?Oï?@úï?€ ì?À)ì?Àðï?À„ç?Àuî?ð?ð?€”ï?[ê?€ê?@èí?Àtê?í?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?€ì?€}ï?ð?ð?‰ï?€›é?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?@_é?À¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€„î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?@Ãï?Àœï?•é?€ôî?€í?€½ï?ð?ð?Çï?@hï?ð?€iÜ?pŒ?Я?@Rë?@Ëï?ÀØï?ð?@½ë?Àoå?ªÍ?@g?êË?ãä?ÀŠï?ð?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ í?ž¶?0? p?€ìÒ?—? ­?‘?H¦? €?s?°?&»?@Úç?°È?·?çå?[ï?@ï?@•å?@<â?N?C?â?@þï?ð?ð?ð?À×ï?Àyå?ÔÃ?[À?@Cï?€ì?ð?ð?ð?íï?ð?ð?Wë?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?“ï?ð?ð?ð?ð?ð?@tï?@-î?Äï?@(ï?ð?ð?ð?ßï?€èï?ð?ð?ð?ð?{í?À^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?Àï?$ï?ð?ð?ð?ð?ð?ð?ßï?€’í?æï?íï?æï?€Eè?+í?ð?ð?ð?ƒî?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sï?Äï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@æï?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ð?ð?ð?ð?ð?ð?ð?íï?Žï?@ãî?ð?Øï?€åï?€î?€Ðï?ð?ð?ð?ð?ð?íï?€9ï?€~î?ð?ð?€ãï?€Pï?ð?ð?@{ï?íî?Àªï?@´î?@î?Ïï?Àvï?Gì?@‡î?¶°?S?°?€rî?€î?@¢ï?@jî?ð?ð?ï?ð?ð?ð?@®å?à—?ÒÒ?@u?.Ý?@$ï?€½ï?Çï?@ïï?ð?ð?ð?ð?ð?ð?ð?ÀÑï?ð?ð?ð?À&å?€ÚÞ?éï?ð?ð?ð?ð?ð?€ãï?Úï?ð?@üï?}ï?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿê?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?ð?ð?ð?ð?ð?@êï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ð?ð?íï?€ýï?ð?ð?ð?ð?€øï?@òï?Àøï?ð?ð?ð?ð?€»ï?À)ï?ð?Àî?Ûé?Ÿî?@–ï?€Ñï?€ ì?@î?€øï?ð?ãí?"ë?ð?ð?€þï?Cï?Àøí?ÀÆë?€öï?ð?ð?ð?ð?íï?ð?€þï?ÀÅï?À‚í?Àßí?ð?ð?ð?@Uï?@Hè?@ûï?ð?ð?ð?Bî?´î?ð?À%ï?ð?ð?ð?ð?ð?Àðï?€Cë?Fî?@&î?@½î?ð?ð?€öï?Àqï?À„ï?ð?ð?ð?ð?ð?ð?À„ï?@ýï?ð?ð?ð?ð?€êï?ð?ð?ð?ð?ð?"î?@Äï?@òí?Àlä?`z?€/ß?€Öï?@éï?@Éç?ˆ“? v?€›ã?€ùï?ð?ð?ð?ð?ð?@úï?@÷ï?Çï?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?€øï?ÀÊï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?@{?̨?Ä¢?ìµ?>?ÇÜ?@;â?J?¸?®·?h?‰Û?Èå?€Û?DÑ?úÅ?j?J?€çæ?ð?ð?ð?ð?€½ï?€ÿí?ð?€èã?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€–í?Àâï?ð?ð?ð?@'ê?@xë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?·ï?ð?ð?ð?ð?ð?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ï?€Çï?ð?ð?ð?ð?ð?€ðï?€ðï?Àõï?¡ï?€¬ï?@†î?€¯î?Ñï?€†ï?€Ìï?€üî? î?@>ï?€ßí?Çî?ÀRî?Cë?À«í?@Yï?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€äï?À=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?À^ï?€qî?´ï?ð?ð?ð?ð?ð?ð?ð?€ôï?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?þï?ð?ð?ð?€½ï?ð?ð?ð?íï?ð?¡ï?ð?ð?¡ï?ð?ð?ð?ð?ð?ð?€`ì?@Zë?ð?ð?Úï?€öï?ð?ð?€ãï?ð?ð?@Bï?ð?Üï?Wï?'í? Î?€ŒÛ?Ð?€z?@å?€í?lï?ð?ð?ð?Àuï?@èï?ð?ð?Hç?Lº?>?ì¾?|®?`Ô?€ßï?ð?@Wï?@Sï?À¹ï?@¡ï?€Ôï?@ï?ð?ð?Àªï?ð?€Ïï?ð?ð?ÀHê?€çã?€T?Z?€ÿà?€êï?ð?ð?ð?ð?€^ï?€ãï?ð?ð?íï?€žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Êé?@‡æ?Dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?ð?ð?ð?ð?€öï?ð?€öï?€öï?íï?@ î?ð?@ñï?ð?ð?€-ï?À¬ï?ð?Àï?Vë?@Øï?€®ï?€–ï?¶í?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«ï?øï?@~ï?ð?ð?ð?ð?ð? ë?ð?ð?ð?ð?Åì?@Òî?ð?ÀCí?€¢î?ð?ð?ð?ð?ð?ð?ð?€í?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?@éï?€<ï?ð?ð?ð?ð?ð?ð?²ê?Àæ?iÔ?¨¸?\±?@„?€)Ñ?ÀÉå?š¶?€Ú?@ëï?ð?ð?ð?ð?ð?ð?@þï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€•Ø?(•?s?€Õ?`™?È‘?ð¯?¯À?@‹?0¨?»ì?ð?ð?ð?ð?ð?ð?ð?@ì?À'à?€áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìï?Dï?ð?ð?ð?ð?ðï?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?ð?*ï?ð?ð?@¡ï?@”ï?€Öï?ÀÁï?Àî?ð?óï?ï?Àzî?¶î?€5í?@ï?Àïî?óï?€]ï?ùï?ð?@+ï?À—ï?Hî?Àáï?À½ï?€iê?€\î?@5ê?Àªï?ð?ð?ð?ð?ð?hï?€•ê?€õï?ÀOï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡î?@{ï?ð?´ï?@Ëé?€öï?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?Àßï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?€øï?ð?ð?ð?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?ð?€®í?Àtî?€í?ð?Àôï?€åï?@Çï?€ªï?À^ï?ð?Àsï?€ ï?»í?hî?‚ï?Àï?ÀÐæ?t¬?c?€Û?ï?€Öï?ð?ð?ð?@Pï?Uï?@´ï?ð?¢ï?üÇ?€ˆ?€ ×?ð?@hï?À„ï?ð?Úï?€Ðï?ð?ð?ð?ð?À¾ï?Àøï?@Üï?À¯ï?@Åï?Àî?€úí?Í?È?@%é?€ôï?€øï?ð?ð?ð?@Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?àï?@ëï?ð?Àûï?ð?ð?íï?ð?ð?€ãï?€öï?ð?ð?@Äï?Ààë?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?íï?€½ï?ð?ð?ð?ð?ð?@6í?ð?ð?ð?ð?ð?ð?ð?@åï?Àbï?ð?ð?€Ýî?ôí?€âî?´ï?ð?€%î?óï?ð?ð?ð?ð?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ï?@üï?ð?ð?ð?ð?ð?ð?@¹î?)è?€âë?Àá?€Õ?S?Ã?€–Ù?IÖ?@?5Ä?€Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?Àƒã?€i?€y?†?ÐÂ?L·?ð­?Àf?£Í?¸¬?kÎ? ž?€}Ñ?@óï?€¬ï?€ôï?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bï?ð?ð?À•ï?€øï?ð?ð?ð?ð?ð?ð?@Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@Öï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?€èï?ð?ð?ð?ð?Àðï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?Àðí?ð?ð?ð?@kì?Åî?@àï?€œï?ð?Àòï?€öî?Àüï?Àaï?À}ï?€Hï?ð?€ºï?“î?²ï?¼ì?$ï?À:í?ð?ð?Àùï?ð?€ãï?ð?€Ðï?ð?ð?ð?Àè?€.ì?šê?€ßê?œã?À„í?ÀÌì?¸é?ð?ð?@Jê?€ì?Àªî?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDî?ð?€ãï?À¨ï?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?¡ï?Àbì?{ï?ð?ð?ð?ð?€ýï?€ƒï?£ï?Üï?Àÿí?ð?ð?@Žï?ð?Çï??ã?ˆµ?0? q?L·?@2ê?€‚ï?@œî?ð?ð?€Àï?€Ëî?@‘ï?ð?ÀÝï?ÀÌí?H?@p?/Á?l¥?8’? ƒ?´¥?€XØ?€åá?À'ã?€Òä?¾²?³?Àä?Úï?ð?ð?ð?ð?ð?€ãï?ð?ð?ÀÙï?ýï?€Ùï?Àýï?@ è?€†à?ßï?€Oä?Â?:Ä?@ë?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?€åï?Àþï?€gì?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„ì?Çï?ð?íï?ð?ð?ð?ð?ð?|í?@ôï?íï?ð?ð?ð?@)ï?€Qï?€Ôï?@Öï?ð?@çï?Àßï?ð?ð?@î?À.í?ð?ð?ð?ð?ð?ð?ð?ð?@óï?šì?€ï?ð?ð?ð?ð?ð?@Æï?@ï?ð?ð?ð?ð?ð?ð?ð?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?€øï?€ìí?@ï?ð?ð?ð?ð?ð?ð?ð?Àwï?ð?ð?Àáí?Àï?ð?€ªî?ð?ð?ð?€¨ï?€“î?ð?ð?ð?ð?ð?ð?@ãï?ùï?€ñë?À ë?À\ç?PÒ?:?:?£ê?ð?ÀŠç? ƒ?€U?ÓÜ?¸ì?çí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðí?X‘?‹?‹Ã?@Hî?½í?€Kß?€´Ö?xß?^Ó?›À?н?Ј?6?V?¦µ?ø¿? ƒ?ÉÎ?ÉÄ?<Ì?0ß?€%Ü?”¦?ð¦?€ôê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€/ï?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?€´ï?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?@üï?ñï?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?@¡ï?ð?ð?ð?ð?@ðî?/ì?ð?ð?ð?ð?ð?ð?ð?ð?€åï?Íï?@èï?À„ï?ð?ð?ð?ð?ð?@Öï?ð?ð?ð?€ãï?ð?€ãï?ð?@Òî?@ï?À"î?ð?€Ðï?íï?€•ï?Àì?@Ïí?¬ï?ð?ð?Àæï?ð?ð?ð?€øï?±ï?ð?ð?€óï?Àzì?À^ï?€ãï?êî?€6ï?ð?ð?€ï?@éï?ð?€_ï?@®î?ð?@ì?@ýê?@úï?@éï?ð?€ïï?€ÿî?@Ìï?ð?ð?ð?ð?Àoï?À'ï?€î?@€ï?ð?ð?ð?ð?@äï?ð?ð?ð?ð?€ ë?€6ï?ð?À7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?Àßï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wî?“î?ð?´ï?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•î?€'í?®ï?ð?ð?ð?@äï?ð?À¡ï?ãï?€ï?€½ï?¥ï?ð?ð?€ªï?€…î?¿ç?€z?€l?[Ø?À ï?Àìî?ÀÜï?ð?ð?€àï?À¹ï?Àúî?€Ìî?@éï?Já?0?Ëæ?€åé?€qæ?À(í?@[ì?Àlî?ð?ð?ð?@¥î?ìì?€ í?ÀJè?æ?ð?€Xï?€ôï?ð?ð?ð?íï?ð?€Bï?´ï?@Ïï?Àzî?íÐ?@ææ?@Êî?0ª?2¾?À°ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?Çï?€ãï?‰ë?@çï?ÀŒï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡ï?ð?ð?ð?ð?ð?ƒï?Çî?ÀKï?ð?ð?íï?íï?À.ë?€‡ë?Àáï?€àè?@Åï?Úï?Úï?íï?@ï?€3í?€¬ï?ð?€ýï?@pî?ðí?ð?ð?ð?ð?ð?×ï?ð?ð?ð?ð?ð?ð?ð?€Ðï?íï?ð?ð?ð?ð?ð?€ôï?@cî?@ëï?ð?ð?…í?@mï?ð?@äï?€ˆï?€áí?€uï?ð?ð?ð?ð?Úï?ð?@ïï?Àûï?À«í?Àšî?ð?Àðï?ï?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?Ëí?Àdç?ŸÖ?€5Ý?ÀË?@i?ùÆ?íï?ð?Àùï?\ã?à“?6?̹?F?¾Ç?€“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±î?¦»?X¦?)Ñ?ú×?à?Bè?À;ï?ð?Àžï?@î?[×?+ä?P§? {?Î?EÙ?Àï?ð?€ôï?À2æ?@i?À¹ç?ð?Úï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?€™ï?À”é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?©ï?ð?ð?ð?Éï?€ôï?ð?ð?ð?ð?üï?@÷ï?ð?ð?ð?ªè?ÀÆí?ð?Àðï?€ýï?€ƒï?ôï?ð?ð?ð?ð?@´ï?€rï?@qì?ð?@hï?À—ï?Úï?À^ï?Úï?ð?@üï?Àðï?ð?@Çï?@Œï?€í?Àøî?Îí?€™ï?€!ï?ð?Àüï?€ÿï?€½ï?@tï?Àøë?ïï?ÀÎï?bé?€ƒâ?Dî?íî?€ ï?€ãï?ÀUï?Úè?€Eê?€½ï?íï?íï?€ãï?ð?À„ï?ð?ð?ð?ð?@/î?€ßï?æï?íï?ð?ð?ð?Àõï?ð?@âï?×ï?ð?€@î?ÀŒê?ð?@…î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍì?ð?@ÿï?Àûï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?€~ë?ð?ð?ð?ð?ð?@Ùí?Àpí?@éï?@3ï?@×ï?@Ãî?éï?ð?ð?Çï?€wï?“Á?&±?@ïã?@úï?ð?Úï?ð?ð?‹î?@üï?À­ê?À6ë?À¶è?„³?ô§?­æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ÿï?@á?Àtì?Úï?®í?ð?À»ï?€øï?Úï?€ãï?@ûï?€ê?€„î?€ªÓ?¬«?¹Ð?€äî?öå? ?€Û?À«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?€ìï?ð?ð?@òï?€Ëï?@üï?ð?ð?ð?ð?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?Àðï?€>ï?´ï?ð?ð?@øí?ð?ð?ð?ð?ð?Àë?€Rê?ð?Iï?ëï?ð?ð?íï?€„ï?€óî?Úï?ð?ð?ð?ð?ð?@ûï?ð?ð?þï?Ðï?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?Àsï?Õí?@øï?€ìï?@»ï?€’ì?ûï?€Qï?À¹ï?@úï?ð?ð?ð?ð?@ûï?´ï?Çï?ð?Àêï?Àúï?pï?ð?ð?ð?Àªï?ïï?€ôï?Úï?ð?ð?ð?ð?ð?ð?ð?€Úî?ÀKï?MÐ?S??8—?Àá?ð?ð?ð?€þï?À~é?€Ý?ÂÚ?ÀRå?Àâæ?€â?Þå?€üä?¶½?/É?”¥? º?@ã?\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-ã?°Œ?€ˆÚ?TÚ?€Ö?ÇÓ?ÉÎ?ØÌ?D?€hÑ?@§î?ð?ð?ð?¦é?rÝ?T±?{ì?ð?ð?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?ð?ð?ð?ð?ð?ð?ð?qî?ð?ð?ð?ð?ð?ð?ð?ð?Àœï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hé?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?Àòï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?Øï?ð?0ï?Àä?Âî?ié?Àiì?@ï?ð?ð?@Dî? ë?ð?ð?ð?ð?€Ðï?ñï?íï?Çï?Ïï?ð?€®ï?ð?üï?@aí?Àßî?€ôï?@ï?ìï?€Æï?@ñï?ð?€mî?Àìí?ð?ð?ñï?@Áï?€ãï?ð?ð?@¡ï?€ãï?íï?ìï?ð?ð?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰æ?™Û?ÀÅà?Àèæ?@9î?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èî?@2í?ÀGï?À¿í?@§ï?ð?ð?þï?€¬ï?Pî?@–ï?€]î?€’ì?@“í?ÿì?mì?(ì?€Së?€¤í?À‚ï?ð?ð?ð?ð?ð?@çé?Äî?ð?´ï?ÀXï?ð?ð?ð?Àqï?€—Ý?€m?:Ã?€(á?´î?}ï?ð?@î?Àä?€á?@ç?€¢×?о?øž?H¼?@ é?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?€Óï?À­í?@çï?€Qí?(Ø?@üí?ð?ð?ð?ð?€4å? ²?@<í?½Ä?”»?ÏÕ?Àõì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À}ï?äî?ð?ð?ð?ð?@çï?ð?ð?ð?ð?ð?ð?ð?€Òï?@Œï?ð?ð?ð?ð?´ï?@ãî?ð?ð?ìï?ð?ð?ð?ð?ð?€Ðï?ð?€öï?€øï?À-í?@éï?ð?€¬ï?@ï?ñï?öï?ð?ð?À„ï?Úï?Àªï?@Ûí?€™ï?ð?ð?ßï?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?Úï?ð?@dì?@Øì?ð?ûï?çï?ð?ð?ð?ð?”ï?€nî?Àï?ð?ð?@çï?Ýï?€ãï?Žî?Øï?ð?ÀÑì?ßï?€ãï?ð?ð?ð?ð?ÀCï?ð?ð?ð?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂë?¦å?€—Ú?Ȧ?˜š?@Åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sï?€sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óë?®¾?޾?à’?P•?€Žä?@ªë?€üè?À3á?¿?@Jæ?ð?Ìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?À í?ð?ð?ð?ð?ð?ð?ð?€¬ï?8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àqï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?@,ï?ùï?ð?ð?ð?ð?ð?ð?ð?Aï?€sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?@Áï?À!ï?€<î?@ƒï?ð?@´ï?ð?€§ê?Žï?ð?Çï?ð?ð?@Øï?€åï?À^ï?ð?ð?}ï?ð?Úï?åï?ð?€òï?@—î?@pï?€ñï?Àî?ï?À¦ï?€Ñï?ð?€ãï?€4í?@øì?Àwï?€ãï?ð?«ï?ð?ð?ð?ð?ð?ð?€ˆï?hì?ð?ð?ð?€ðï?ïï?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€Íï?€ãì?À¹è?@¡ì?À×ê?ßî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?„ï?Àeí?—ï?ÀYï?À¦í?î?ð?ð?ð?ð?€±î?©ì?‹í?@õï?ð?ð?ð?Ñï?ð?ð?ð?Ýï?ð?ð?ð?ð?ð?€jì?Àáí?ð?ð?ð?Àªï?Áî?@Œî?€Âç?€;Ð?N?Ÿ?º?ŽÀ?€¡Ô?€žì?€¡ï?À’å?ÃØ?€²Ú?€ÄÒ?ܯ?¸Ï?|¢?ê²?‘?s?€x?ËË?Eë?ð?ð?ð?ð?ð?ð?ð?À+ì?€±Ý?€·Ö?Ué?@ƒè?@ë?ð?ð?ð?€ á?/Á?€vÒ?€ôä?Àä?@ ê?@¢ê?p²?”½?cè?x‘?ðÁ? ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?€Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?@éï?€ðí?Üï?@Tî?ð?ð?ð?€öï?Çï?ð?ð?ð?ð?ð?€í?ð?ð?ð?€òï?÷ï?ð?@œï?À ï?ð?€Óï?À„ï?Àßï?Çï?ð?ð?ð?ð?ð?ð?Àî?€öï?ð?ð?ð?ð?ð?ð?ií?@úî?ÀÓì?€‰é?Òí?ð?ð?Ýï?yí?ð?ð?ð?ð?ð?€àï?ð?ð?Àsï?Àåï?@qì?€üï?ð?ð?ð?ð?ð?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?@Ñï?€ï?ð?ð?ð?©í?@då?‡ß?õÎ?€¯Õ?€Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?@×ç?¹À?Àa?R?(?`?Ħ? §?€–æ?ð?lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?@«í?î?4ë?€ï?ôï?ð?Àtî?@Ôí?ð?€µï?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?@ ï?Àäï?ð?@{ï?ð?ð?ð?ð?ð?€õï?ð?ð?€¢ì?ð?ð?ð?ð?ð?@Þï?Àeï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?À²í?€´ë?Àžï?Oê?ð?¶ï?@¨é?@Öï?À„î?€‹ï?€½ï?€„ï?/ï?ð?ð?Xï?€ãï?€ðî?ð?ð?€™ï?€Üí?ð?ð?Àýï?@ï?Àë?Îï?€øï?@Ïî?@Ãï?@Sî?À2ì?€”ä?@¦ï?ð?ð?ßï?ð?¶ï?@ií?¾ï?ð?Àáï?€øï?Qï?‡î?ôï?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áî?À•ï?€âï?ð?€î?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?ð?ð?€Ðï?ð?ð?@Ëï?€Øî?€•î?ï?€ï?€¯ï?>î?À¾î?@ðï?ð?ð?ð?ð?ð?ñï?÷ï?Àðï?@üï?ð?ð?ð?ð?ð?€ôï?€øï?ýï?€Ðï?ð?ð?ð?€½ï?@ãí?Àóé?Àáï?ð?ð? ï?Àéí?À€ï?ð?€fî?€\Ý?~½?€S?Pƒ?3Î?@!à?€è?Àƒà?€€Û?€5Ñ?Ø·?€u?ÏÜ?àz?8–?ø?‹Ü?€êï?ð?ð?ð?ð?Ìï?6í?Àãâ?Àhä?eË?˜¿?‹?ÛÑ?ð‰?€ªç?ð?ð?ð?€¢í?€Ú?ú¸?è’?€S?¨™?€U?Ø’?à{?]Ý?»æ?Àé?€Éí?Àeï?ð?ð?À—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€$î?Àìï?ð?ð?ð?ð?ð?€øï?€ôï?ð?ð?ð?ð?ð?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ï?@¿ï?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?´ï?ð?ð?€øï?€ôï?ð?ð?@¡ï?ð?À„ï?ð?ð?ð?@Žï?À½ï?ð?€„ï?ð?ð?ð?ï?@ûï?À×ï?ð?ð?ð?ð?ð?ð?À¾ï?€¹ê?Yï?ýï?ð?Àðï?@üï?ð?ð?ð?ð?¯ï?ð?ð?¤î?€¢ì?ð?ð?ð?Àøï?€]î?´î?ð?ð?@úï?´í?@çï?À€î?À£è?Úï?ð?ð?ð?@Çï?À„ï?ð?ð?ð?ð?/ï?Žé?€<ï?ð?ð?ð?ð?÷ï?ð?Àî?ð?´ï?€öï?ð?ð?ð?ð?@ÿï?@Ìï?ð?ð?€¼ë?úÏ?€Y?H?€Eê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÞ?“?ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À<ï?¾ï?ð?ð?@·ç?Íç?ð?ÀŸì?Àæâ?ð?ˆì?À¼ï?ð?ð?À·ï?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@5ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßî?ð?ð?ð?ð?ð?€ë?ð?Çï?€òï?ð?ð?ðì?@ì?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?@1í?òï?ð?¹ï?ð?´ï?ð?ð?€²ï?Àªí?€1ì?À€ï?€çï?çî?ð?Àðí?@úï?€Rî?ð?ð?@øí?@Œí?ÀXí?@ í?@µï?ð?ð?@­ï?ð?À£î?eî?¹ï?€Ôï?Aï?ð?€nï?À™ï?À6î?@Ãï?ð?ð?ð?aï?€ðï?lí?Ví?@²ï?€¿ï?€Gï?@½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?ð?ð?ð?€Gí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{ï?¶î?€»î?€µî?€>ï?@ßî?@—î?áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?íï?€Óï?óï?€øï?]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?ð?€¿ï?ð?dï?€²ï?@kï?ð?ð?ð?ð?„î?˜Ù?S?À?”±?€Ò?r¾?Œ?c? ?#Ó?€dà?€õì?ÀÌï?€ãï?ð?Ànä?€oä?@µã? Ý?¶?ʾ?À‚å?¨ç?€OÑ?ÝÕ?€~Õ?ÀYä?ð?íï?ð?ÀŸî?@íä?óÖ?À¤?$?ÀŒ?ŸÆ?@ì?ð?ð?ð?ð?ð?ð?þï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õï?@Hî?ð?@{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?Üï?ð?ð?ð?ð?À í?ð?€øï?€åï?@éï?ð?@4ï?ð?@uï?ðï?@éï?Þï?ð?Àýí?ð?Ãï?Àï?À¤ï?Àï?@ªî?ð?ð?ð?€ãï?ð?ð?ð?€iï?€€ï?ð?ð?À¡ï?€ðï?ð?ð?ð?Àìï?ãï?ð?ð?ð?ð?ð?ð?@áì?€Ùî?Îï?Àaë?€öï?ð?@×ï?ÀWï?ð?@€è?€ï?ð?ð?@±í?@kï?ð?@Bï?@Ÿî?ð?½í?ð?À¿î?€ãï?ð?ð?ð?ð?ð?ð?@@ï?Àµî?À—ï?@îê?’´?€ÍÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\Æ?@j?€Ðê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Žï?€öï?ð?ð?ð?ð?ð?@iî?@éï?À2í?º?€è?ÀÍï?èí?Àší?€Ðï?ð?fì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?Àðï?€î?Àï?€ïî?€î?@ ç?@Žï?ð?€úï?ð?ð?ð?Yï?€˜î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúî?€ÿï?ð?ð?ð?Êë?ÿï?ð?ð?€Ší?€‘ï?€uï?€òá?À«í?Àõï?@íè?@šï?€Öï?@jî?ÀÙî?øï?ð?ð?ð?íï?@Uï?ïï?@qí?åï?@×î?î?Óï?ïï?Àôï?€^ï?·ï?@àï?Àµï?@ï?ð?ð?ð?@¡ï?ð?ð?ð?ð?ð?ð?ð?€ƒï?ð?ð?ð?@‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?Àuï?Àðï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?Àÿî?€è?€òî?ð?ð?ð?ð?ð?ð?À`é?àp? €?€”?h¨?›?€l?Ÿ?Dµ?@n?@$à?€ì?@ˆç?€†ä?À÷î?êÒ?Á?ÍÐ?€žÒ?´¶?€øÝ?€ãï?ð?ð?€ÜÐ?X?@&ç?žï?ð?@Ýï?5Ü?€U?À´?€‹?,À?ŠÇ?€ÖÒ?À©? Å?À9â?bä?Àí?ð?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?@úï?€¾ï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?íï?Çï?ð?ð?ð?ð?ð?Àñí?@Êï?@,ì?ð?ð?ð?ÀÙí?€<ï?ïï?€ï?€Ðï?@Þï?€Øï?ÀÌï?ð?ð?ð?ð?ð?ð?Àüï?€öï?@Éï?¾î?€öï?ð?ð?;î?Àôï?ð?ð?ð?¥ï?@éï?ð?ð?ð?Ÿï?¡ï?ð?ð?ìï?iï?€î?Àðï?ð?Xî?€ýî?ð?À’î?ð?ð?ð?ð?À~ê?@ðï?ð?¿ï?@fî?@…æ?ð?ð?ð?ð?ð?ð?íï?ð?ð?ð?ÿï?ïï?ðÎ?ƽ?Àòì?ð?ð?ð?ð?ð?ð?Àªï?Àªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Aï?€?Ð?Ò?s×?œÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€!ï?€Êî?Ôí?T§?ÎÕ?€ï?ð?ð?Àjî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?öï?@î?îï?ð?ð?ð?ð?ð?ð?¤ï?@Ãï?ð?@!î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@½é?€1ì?@î?Àæí?@Fî?ð?ð?ð?ð?#ï?ÀQí?ð?ð?À¢î?ð?åï?Ýí?@ï?åï?ð?ð?ð?@Ãï?¯ï?ð?ð?Üï?@pï?ð?ð?@¦ï?ð?”î?@ñî?€ê?ð?ð?ð?9ï?€Öì?€‹ê?¥ï?ð?ð?ð?€áï?ð?ð?ð?Üï?ð?ð?ð?ð?Àëï?Àëï?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?Çì?ð?@hï?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âî?€#ï?€=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?.Í?b?Æ?ÈØ?À&ê?=Ù?h±? ‚?bÇ?çÊ?À•?€9ä?0ï?À#î?€†ï?ð?ð?ð?ÀMî?Ã?À¦?@¦å?€Ðï?ð?ëè?Ъ?˜?ü¤?&¶?Ü¿?€ÿì?€„ï?îï?@ï?Tï?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?@¹ï?@Rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?À´ï?ð?ð?öï?ð?ð?ð?ð?ð?ð?Àëï?€ï?ð?Àzì?@hï?ð?€Xï?Àkï?ð?@¹ï?ð?Àëï?€aî?€ç?Àßì?ð?€ëï?¥ï?€¬î?ð?ð?ð?ð?ð?À(ì?ð?ð?ð?ð?ð?ð?ð?ð?åï?€×ï?@×ï?€Oï?Àõï?ð?ð?ð?€êì?öï?ð?ð?€ï?@rï?ð?ð?ð?ð?÷ï?÷ï?ð?ð?ð?€}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Zì?ñê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€°ç?Ô?¾Ä?æµ?€T?¹Ì?è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷î?Àä?ìÓ?€¼×?€?Àì?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?Yî?@Fí?@‚ì?ñï?ð?äî?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?€×ï?ð?@¤ï?ð?ð?ð?€×ï?Àáï?ð?ð?ð?@Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êê?€®ì?À¨î?@“í?À”æ?¸î?@Ïï?ð?€µï?ð?ð?ð?ð?ð?ð?öï?ÀÍî?ð?Àëï?ð?ð?ð?€×ï?€gí?Àöï?@‚ï?ð?ð?Àì?ð?ð?ð?À+ï?€üî?ð?ð?ð?ð?ð?¯ï?ÀŒí?ð?ð?ð?ÀQë?@öî?#ç?À0ï?xï?€×ï?¯ï?ð?ð?ð?ð?ð?ð?€áï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡î?@—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtï?À¯î?€ßî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îå?€âï?ï?ð?ð?ð?ð?ð?€ßà?|«?ËÈ?€{?̤?X«?¢Ú?íë?ð?üê?€Ø?€`â?žÏ?@w?€ÔÜ?€Ýî?öï?ð?×î?À í?€|ï?@Bì?TÄ?Д?@[é?€6ï?JÑ? š?3Ó?€0ì?ð?ð?@Ãï?Àëï?ð?ð?Àõí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€•î?Mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õî?ð?@ ï?ÀÁî?Àxï?ð?ð?ð?ð?@Åï?@Øï?Àáï?€Íï?€ï?ð?@çï?ð?ð?ð?ð?ð?óí?Àëï?ð?ð?öï?ð?ð?ð?ð?ð?ð?€Óî?Àšï?ð?öï?ð?ð?ð?ð?ð?Àíï?ð?À{ï?ð?ð?ð?ð?ð?ð?ð?ð?®î?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?%ï?ð?ð?À1í?€æê?ð?ð?ð?ð?ð?ð?Ôí?Rï?ð?ð?ð?ð?ã?àƒ?`r?€²Ð?€µä?Àƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€cí?@Eî? ­?Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Žï?@¤í?€”å?€åî?Àöï?€cî?@Çï?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?€ºí?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?Àëï?@"ï?@‘ï?ð?ð?ð?ð?ð?À\ï?ÀÕî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”î?ð?¥ï?@öï?€×ï?¯ï?€×ï?Àìì?À¨ï?Àéï?€8î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Hí?ð?ð?ð?ð?xí?Àçï?À£ï?ð?ð?^ï?ð?ð?ð?öï?@Ãï?èï?­ï?ð?Àëï?ð?úï?Àåï?€–í?Àëï?ð?ð?€ä?€Bâ?@Qã?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?@Ãï?€î?Þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éì?hï?ð?ð?vï?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?ãî?€}Ú?€ˆÚ?€9î?€“ï?ð?ð?ð?ð?@Aí?à«?@Ià?@Éî?@òì?ž°?€{?€h?ZË?€UÙ?€:ì?À¹ï?úï?ð?ð?ð?«ê?6Ä?X›?ð»?€@ë?Àëï?ð?€Nè?¥Ç?`?€dÙ?€ÏÖ?Àu?<µ? ? ‡?T?€ Ð?¸±?6¸?À2è?ð?öï?Àëï?ð?ð?@á?@)â?¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@@î?%ï?ð?ð?€Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?ð?ð?Àëï?ð?Àóï?Àšï?ð?ð?Àëï?ð?ð?€Ñï?€Üï?ð?¯ï?—é?ð?ð?ð?ýï?Àxí?€áï?€×ï?ð?ð?ð?@öì?€Þï?ð?°ï?€áï?ð?ð?ð?ð?ð?ð?ð?ï?ÀQï?úï?ð?ð?ð?ð?ð?ð?þï?Àðï?@öï?Àòï?ð?ð?öï?Àëï?ð?öï?ð?€/ï?ð?@Éï?hï?ð?€Íï?ð?ð?þï?ð?¯ï?ð?@Wì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lî?@Òæ?Ãè?ð?öï?€gç?ø—?Є?­Ú?€<ê?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Œå?Šß?T½?Àx?€†?@Qé?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€hê?@gï?€'î?€Çï?>î?Àáï?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þî?ð?ð?ð?ð?ð?ð?•î?€>ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìï?À¤ï?ð?ð?ð?ð?ð?ð?ð?^ï?Sï?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?@ìî?ð?ð?¹ï?ð?ð?@Ãï?ð?€ï?@Íï?ð?€†ï?¹ï?Àáï?À?ï?€ï?ð?§ï?Àëï?ÀÝî?€Œí?€Ìî?ÀÖî?ð?À0ì?Àáï?@ ï?†ë?Àêï?Àáï?ð?ð?ð?ð?Àëï?ð?ð?@rï?@Ãï?€áï?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±î?²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?À?ï?€lî?@¹ï?@¹ï?ð?2ï?@ï?ð?_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~ï?Àãï?@Ãï?ì?€Bë?@÷å?€žÖ?¼ß?À¥í?€ ë?Àãï?Àçì?ð?ð?ð?€+Ö?ÆÆ? Ê?ü¢?¢?ÀŠ?òÆ?Àè?±ï?€Zá?@åí?ð?ð?ð?ÀÑí?@‹è?h«?€‘á?ð?€Àï?€âÑ?À?4¶?n´?d±?‹ì?ð?Àáï?ð?ð?ð?€Ü?Àzî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝí?€rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íì?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?€×ï?ð?ð?ð?ð?ð?ð?ð?Àãï?@Mï?ð?ð?€|ï?Àáï?Àëï?@ ï?€fî?ð?ð?@&ê?Àëï?@ÿë?Àëï?ð?Àï?Àëï?@Vï?À‡î?Àêï?öï?@ßì?@²ï?ð?@gî?ð?ð?ð?ð?Àîï?¯ï?ð?ð?€uï?Àìî?¡ï?öï?ð?ð?ð?ð?öï?ð?ÀÜï?ð?€Úï?ð?ð?ð?ð?ð?ð?ï?ð?ð?€Çï?@¹ï?@¶ï?€"ï?ð?ð?ð?ð?€dï?ð?@·í?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ÀÜï?@’ì?ð?€3ì?­È?< ?, ?€£é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?@ç?UÂ?d?< ?€dÐ?€²?º²?2×?€¯Ò?ZÌ??dÂ?ð?€í?)ï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Và?îì?€çï?Óî?€Øï?ëì?@·î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ï?@áî?ð?ð?ÀÔì?@bï?ð?ð?ð?ð?ð?ð?äï?Àûí?ð?ð?€Üï?€×ï?ð?ð?ð?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?¨è?À?ï?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?ð?ð?ð?€öï?@'í?@\î?ð?ð?ð?À?ï?ð?¨î?@¹ï?ð?€5ï?ð?Àï?Àšï?Àëï?€Íï?Àëï?@ ï?ð?•ë?€†ï?Àõï?ð?€#ï?Êï?@£ì?Àï?€~ë?€Cï?ð?À¤ï?Ïê?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€×ï?ð?ð?ð?€™ï?À5ï?@|ï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?Àšï?Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?€Áï?@åï?Tï?@´ë?ð?ð?ð?Àáï?ð?ð?€|ï?€×ï?€×ï?ð?Aì?ð?ð?ð?ð?ð?@hï?€©ï?ð?ð?ð?aì?@@î?€î?@Mì?ÀÕê?€Uè?€,ì?€ºî?óë?€CÝ?±í?À`ï?ÀIï?@Ãï?ð?@oè?S?Ì?ܤ?Ø’?à?Øç?€¶Ð?ÀÓã?ð?ð?ð?@ýï?Àöï?˜Ó?Ó?6ì?@à?€x?›Ë?Z?`â?Àáï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?-ï?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?Àáï?ð?ð?ð?ð?ð?ð?ð?Àëï?À†ï?€«ï?ð?@‰ï?ð?À,ë?ð?þï?ð?ÀÇí?Jï?Æî?Àéï?€Ûê?¹ï?€'è?@.î?@ùì?zï?€Uï?€¾î?@ýï?ð?Àšï?ð?€äï?ð?ð?€Íï?@ûï?ýï?€†ï?ð?ð?@Tï?@lï?ð?öï?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ð?@ïî?À¸ï?ð?€ í?€êï?ð?ð?ð?ð?€üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€-ì?Wæ?Œ®?ð¡?€?0?(’?0‘?@Lå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@&ë?_é?@ˆí?ð?Àî?Àåè?€gã?€ÜÑ?V´?€à?@æ?ÀÂì?ð?ð?ð?`ì?Ýá?áË?D?Ëå?€áï?À*ë?@ûî?Àªï?ð?ð?Àáï?ð?ð?ð?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€nÚ?€·Ø?@Yï?@’ï?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?À_ë?€†ï?ð?ð?€×ï?ð?ð?ð?À2ë?üí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cï?ð?ÀGí?À¤ë?€†ï?ð?ñï?ð?€×ï?ð?€ªî?€¿ì?ð?ð?ð?€pî?ð?ð?ð?ð?ð?|ï?ð?ð?ð?ð?ð?ð?ð?ð?€ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ÀRì?Àõï?í?@Jï?Àëï?ð?ð?ð?€×ï?@¹ï?²î?ð?ð?ð?ð?Àîî?ð?ð?$ï?¥ï?ð?ð?@ ï?ð?Uí?Àï?ð?ð?ð?ð?ð?À í?ð?ð?Àáï?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ î?ï?€’ê?Äë?@¸è?@Ãï?ð?ð?ð?ð?ð?ð?Àëï?ÀIï?@ùî?ð?ð?ð?ð?ð?ð?@Øï?Àiî?¥ï?Àêí?@öì?í?€ýí?ï?Àï?À ï?@hï?@ï?@¨î?€§ì?ÀËà?@òë?ð?Ànï?ð?ð?€†ë?`?€q?€‚Ý?Øž?úÍ?}Ø?ÀDå?pÇ?Ànï?ð?ð?€äï?Àê?³?°?˜Î?.¿?P’?€k?€Ô?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?ð?ð?ð?ð?ð?ôî?ð?ð?ð?@Äï?ð?ð?ð?ð?ð?€¦ï?ð?ð?@Ôì?Àëï?ð?@|ï?Àíï?@¹ï?Àáî?€†ï?@Üî?€Ùï?@ï?Àëï?ï?ð?£î?ûï?ð?Ùî?õí?ð?@*ì?Àšï?ð?ð?Àäî?ð?€3î? ï?@Äï?ð?ð?@Êî?^ï?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?–ï?€Dê?€Wî?ð?¯ï?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºï?¿ì?@çé?ÖÞ?¤£?dÉ?Äå?Ñ?,¡?@%æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Âï?úã?€†Ò?VÃ?¸˜?€?€aÛ?€ î?¯ï?ð?ð?ð?ð?ð?ð?ð?@œî?  ?b?@íì?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šï?@hê?€ðï?ð?ð?ð?ð?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?ð?ð?ð?ð?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“î?„é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?Àäë?ð?€|ï?€ðï?@:ï?€Éî?@Wî?€¯î?ð?@gï?À¼í?@²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?Kî?Àûí?€ï?€úí?dí?Àëï?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?@Ëí?ð?Àëï?€×ï?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡î?ð?Àï?@ì?î?'ï?@:ï?ð?ð?ð?À“î?ð?ð?@Íï?=ï?€¡ï?ð?ð?ð?€—ï?ñî?€—î?€¹î?€iï?€Uì?€æë?€`í?ãî?Àäî?€|ï?ÀÏï?À¯î?ÀJï?ÀSï?@—î?Àáï?@óì?ð?Àï?ð?ð?€Ìï?À=ç?¨Ð?Ài?` ?ø–?ÉÏ?€ÝÝ?x×?€¨ï?Àõï?@Ãï?ð?€Ì?àq?€î?ð?ð?ð?ð?ð?ð?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?¯ï?@¹ï?@Üï?ð?ð?ð?åï?ð?ð?ð?ð?@±ï?Àãî?Àëï?ð?îï?€áï?ð?@Úî?ð?ð?ð?ð?ð?ð?ð?À·î?ÀÑï?÷ï?4ï?ð?ÀIï?@¼î?ð?ð?ð?Àúï?ð?ð?Àëï?ð?@^ï?€+ï?ÀÜî?€}ï?ð?ð?ð?@¾ï?À}ï?ð?ð?€Íï?@ªî?ð?ð?Àáï?Àôé?ð?ð?ð?ð?Àäî?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?@Ðã?ýÅ?^Ã?0‡?R?€ŸÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?À,æ?à|?€ ã?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿî?IØ?†¹?Œ®?ÍÆ?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?ð?ð?ð?€ë?ùî?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ï?@ùê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?€xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?Àãï?ð?ð?Àîî?@ãí?@Þï?¯ï?€.ï?€8í?©î?Àíï?ð?ð?ð?ð?ð?¥ï?ð?€ôï?ð?µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?À–í?ð?Àýï?÷ï?Àøî?€0ï?Mî?ð?ð?ð?Àeì?€%î?€(ï?ð?ð?ð?@|ï?@hî?éï?€kî?€2ì?ð?€­í?@Ãï?ð?ð?ð?¹ï?ð? ï?ð?ð?ð?)ï?Àáï?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?Üí?€Oï?€Íï?Àiï?ùî?@Ðî?ð?ð?ð?ï?€¼ï?À?ï?@ï?ÀÚî?Þî?@˜ï?€ûï?€ï?€îç?@#î?Àì?€Tí?@hï?À5ï?¥ï?€óî?\ï?ÀÉï?ží?@ôì?€­ì?€{è?€Zè?@¯í?ð?ð?ð?ð?Àì?`†?€ÖÖ?Ì?ÀÑæ?ð?Àáï?€ï?Àaê?P?Ü?ð?ð?ð?€×ï?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðî?ð?ð?ð?ð?€üï?ð?ð?ð?€î?@Õï?ð?€|ï?Àšï?Àýï?ð?€×ï?€àï?ð?ð?ð?¥ï?ð?ð?ð?À%ï?@¹ï?Àçï?ð?@rï?ð?€>ì?€Oí?€áï?€>í?@¹ï?öï?À†ï?€5ï?ð?ð?ð?)ï?@Ìï?ð?Àáï?€5ï?ð?€óï?ð?ð?ð?Êî?ð?ð?€×ï?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@úï?ð?ð?ð?ð?ð?ð?Àõï?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?€šÑ?X¨?@d?³?@Éà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­í?€k?ÚÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ýî?€åã? Ò?Î?•Ô?‚·?€¸ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õì?À°í?ð?ð?ð?ð?ð?ð?:î?€Wë?À§ï?ð?ð?ð?ð?€øî?À?ï?€†ï?€.î?Àšï?@qã?€wî?@©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñî?Àxï?ð?À‘ï?@Ãï?ð?À[ë?ð?ï?Àëï?ð?ÀCî?@êï?Àøï?ð?ð?ð?€ñï?Àï?À´î?ÀÏï?€Öï?@”í?€Pï?€¿ï?€ì?ð?@*î?@Oî?ÀÏï?€áï?ð?€Öï?€Üî?@Ýî?ð?ð?hï?Àå?ð?Àëï?@êï?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?šï?ÀÈï?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eï?€äî?À»î?€„ï?Àšï?À½î?Àøî?@¹ï?@§ï?À¢ë?€|ï?Àáï?ð?ð?ð?ð?ð?ð?ð?@Ýï?ð?@êï?²î?.î?€?ï?@ï?À€ï?@Aï?À ê?ð?Àäî?ð?éî?@=é?€óë?À'æ?€Dæ?€Öï?ð?˜é?:Ñ?T?Àe?@>ä?ð?ð?€×ï?€Öï?Dà?è‘?€"ì?ð?ð?ð?ð?ð?ð?ð?€aï?ð?ð?ð?ð?ð?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuî?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?Àõï?ð?ð?€×ï?¸î?€5ï?ùï?ð?^ï?ð?ð?ð?€“î?ð?ð?ð?Èì?€°ï?ð?Àhï?@œï?À÷ç?€ï?ð?€rî?ð?@Ðï?ð?€†ï?ð?ð?ð?ð?ð?@wï?ð?ð?ð?ð?ð?@Ãï?@kï?@bï?ð?ð?ð?ð?ð?ð?ð?Àëï?Àëï?ð?ð?ð?ð?À·ï?@‚ï?ð?ð?ð?ð?ð?ð?ð?ïï?&ï?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€8ï?€1Ù?,£?H¦?0ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ì?@¦å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀSè?@a?¤¡?Àšì?ð?ð?€¬ë?¥ï?ð?ð?ð?@ ï?@!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?ð?ð?ð?ð?ð?ð?ð?ïî?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?Àƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?¬é?ð?ð?ð?ð?Oï?€áï?À®î?aí?@àî?ð?ð?ð?üï?@¶í?ÀÆî?Àëï?ð?À½î?ð?À¼í?½í?›ï?ð?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?kï?¹ï?@]ï?@Ãï?@œì?ð?ÀIï?€ï?ð?ð?Jï?€Íï?ð?ð?ð?ð?ð?ð?ð?€Bï?€Ûî?¡ä?'ï?ç?€é?À>ì?€5Ô?¦½?+Ý?‡ê?@¼î?@sï?Àöî?€çí?@{î?€—ï?ÀÓë?ÀÂï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?Àõï?€Wî?À>ï?@@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hï?Àï?äí?ÀÍï?ð? ï?öï?ï?ÀQï?À±î?Àîî?€Æî?€ní?@Úî?ßë?€ï?€úï?@!ï?ÀËï?^ï?ð?ð?«î?Þï?Àëï?@Íï?Àáï?Àìè?Àüï?€Óï?#ï?Çï?€Œï?nï?À î?@ÿï?Àâå?Àçá?€¿å?€Óå?À›ê?Ø©?Xž?€?å?€úï?Àî?€×ï?ºï?€qÔ?kÁ?Àøî?ð?ð?ð?ð?ð?žî?ÀZâ? í?ð?ð?ð?^ï?€_î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@“î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?À(î?ð?€èï?ð?€Íï?Àëï?Àçí?ð?öï?ð?ð?ð?@[î?€ï?ð?ÀÂï?Öï?€"ï?€Àï?ð?ð?ð?óï?ð?ð?ð?Wî?€žë?ð?Àõï?Àßî?ð?ð?ð?ð?ð?À¶ï?€2ï?ð?ð?ð?Àýï?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áí?@¬î?ð?ð?ð?@fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿã?0¬?0‡?ìå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹æ? u?tá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sÎ?¢Â?@Ü?@|á?VÑ?þ´?˜?`z?¨?ò¾?Ö?ðœ?X¤? v?ÀVá?ð?ð?ð?€¡Ö?ð?ð?ð?ð?ð?À†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?À›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pí?ªë?ð?ð?ð?@Óï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?»ß?»í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€?ï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ÿë?€;í?ð?ð?ð?@Éî?Fî?@ˆí?Ànî?@íï?ð?ð?ð?ð?Àïí?€™ï?¹ï?ð?@Øî?@-î?ð?ð?€áï?àî?ð?Ïï?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·î?ð?ð?ð?ð?€!ì?ð?@.î?ÎÝ?Wê?ð?ð?(ï?ð?ð?ð?ð?ð?ÀIï?–î?ð?ð?ð?@4ì?ÀNï?€Uë?@šî?€)î?€Þè?€µï?@$î?ÀVâ?@Tà?@Ué?oî?ð?ð?ð?ð?€xë?ÀÛè?7í?Àkî?À¤ï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@^ï?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ð?ð?ð?ð?ð?ð?Àwï?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?³ï?@zï?€ñï?ð?@ûï?€Hî?€!ï?À†ï?ð?ð?ð?ð?@¶î?ð?Àë?€2ì?6î?öï?ð?ð?€è?€Ú?ÀÄã?ÀQï?@ží?€ýé?@jí?@ì?À\ï?Àœê?Àå?/ï?@Eì?@î?€…ì?À¾ï?@Øà?€ á?€„Ý?*°?³Ê?€Jé?€&á?Àìï?Àâï?ñÅ?ؽ?‘ï?ð?ð?ð?ð?ð?ð?gË?Ⱦ?ÀÕæ?€®å?Àœæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?@ƒï?ð?Àëï?@¯ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰î?Àï?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?Óå?ð?ð?ð?ÀIï?ð?Àâî?kî?ÀÃï?€ï?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?€Êí?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?bÑ?€·Ô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uä?,¿?)É?@–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€åï?ð?ð?ð?€pï?¦ì?€øå?€QÝ?`†?H¯?Ê?Öæ?aå?@Ýë?ð?À#ì?|è?¸ž?Ѓ?€Û?ÀÊï?ð?ð?ð?€.Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?€î?€—î?€åï?ð?ð?ð?ð?ð?ð?ð?ð?&î?ð?ð?€åï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ø?Zë?0î?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?@Íï?€Íï?ð?ð?(î?ÀDì?ðï?ð?ð?ð?ð?ð?@î?@ï?ð?ð?À9ï?@î?ð?ð?ð?€×ï?@Lê?í?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?]ï?À¿ï?ð?ð?ð?ð?€×ï?€âî?@%é? ê?Tï?Àòá?ð?Àáï?ð?Àîí?ð?€÷î?ÀÊï?ð? ï?@¾ï?@è?ð?Šî?ÀÚï?@î?Àvë?À{ï?ð?ÀWí?ð? ï?ð?ð?ð?@Íï?Àhë?€iï?€Úë?€¹ï?{é?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?Àëï?@Sî?@[î?ð?@‹ï?@Ÿï?@Ãï?À?ï?À¢í?@Óí?Àwï?ð?¥ï?ð?ð?ÀUï?€î?ð?@î?ð?ð?ÀÂë?@vï?€zí?@Úç?À[ï?¨ê?@é?¥ï?À@ï?€¹í?”Ø?îÉ?;î?À–ä?€Úî?ÀÊï?jä?CÒ?T?@†â?@yæ?‚Û?Ðç?€'Ò?E?€NÙ?@÷ï?ð?ð?ð?ð?@gï?p‘?`?@}?@‡?€"é?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<ï?À[ï?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?€$í?ð?ð?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€+ï?ð?ð?ð?ð?ð?ð?@Dì?ÀDî?€åï?@Ëæ?€ï?ð?ð?€ñî?@÷ï?Àúî?Àî?€Àï?¢î?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿì?L°?À‘æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@°ï?ÀHë?@íç?Àç?Íá?&Ð?¢?@Mé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?Òæ?»Ñ?,Æ?@½?F?`Ë?€ê?@bí?€úí?@Æí?ð?ð?ð?Àsï?Ðã?cÞ?€)Ù?úº?€PÖ?aÅ?zÖ?@Ü?@\è?Àíï?ð?ð?ð?À5ï?@Âë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ÀÝï?€×ï?Àëï?Àëï?@êï?ð?ð?À;í?ð??å?ð?€áï?€@ï?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒï?À è?ð?Àþï?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áè?Èï?ð?ð?ð?€Nî?À¬ë?ð?ð?ð?@êï?ð?€Íï?€·ï?@Ãï?Àëï? ï?¦ê?@Ãï?ð?ð?ð?ð?ÀJï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?vï?@^ï?ð?À¦ï?ð?ð?üï?À¼ï?@Eì?ð?€~à?À7ä?€î?öï?@£ê?íï?Äì?@aï?À†ï?ð?ÀWë?€Bá?lí?€‘è?íï?ð?@ï?ä?@@é?€Íï?À‡ì?À'ë?ní?€úï?¬ï?ð?€ê?Âï?€°î?€mê?ÀËï?ð?ð?ð?ð?¯ï?@¹ï?€5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?€¾ï?lî?Àîî?€áï?ð?ð?ð?ð?ð?ð?€Æï?À¤ï?ÀÁï?@´ï?ð?ð?ð?ð?ð?ð?Àí?Àëï?À¯ì?À?ï?@ï?ð?Àï?ð?¯ï?Äî?À`î?@‡í?@èï?ð?ð?ð?ð?ÀOï?ð?Àéï?ð?@Ãï?ð?Àfê?Hé?@Qï?@ûî?À­î?Àáç?Àáï?@ôï?Àëï?TÈ?ÐÂ?À*ã?Àîä?À(ç?ð?€hî?3æ?T?ÀŒ?+Ç?ñÝ?€ùÔ?J?@Wé?ð?ð?Àåï?ð?ï?ܤ?€c?–±?è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šï?ð?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?@øï?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?üï?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€ï?Àìä?@ê?Àdí?@~í?€Ðî?ð?€ýï?€£ï?€×ï?ð?îï? ï?ð?ð?ð?€Íï?ð?ð?öï?Jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?€×ï?ð?ð?ð?ð?@Mà??€xç?ð?ð?ð?ð?ð?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸì?@Dá?Ò¼?H¿? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ï?šæ?'Ã? Ä?ÀOâ?©î?ð?ð?ð?€–ì?ð?ð?ð?ð?@äï?€ ê?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?Èî?À±é?ÀÛí?€—ï?Çî?ðí?ð?Àëï?À\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àé?À¹ê?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Šé?@ñï?ð?ð?åï?@3ì?ð?ð?ð?ð?ÀÄï?Àï?¯ï?À¹î?ùî?@²î?@Ãï?ð?ð?ð?ð?ð?ð?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nî?€Þï?ð?ð?@)ì?ð?@Ãï?ð?ð?‹è?@rï?ð?ð?ÀÁì?À”î?@yï?€˜ì?³Ê?yÑ?À–í?€×ï?Û?ð?€Iæ?€Ûê?÷ë?ð?åï?À0ï?€é?Àëï?€í?ð?Mî?€Zè?í?kë?@Êê?@jå?Àvå?ð?ð?ð?ð?ð?ð?@rï?@hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?ð?ð?Àëï?€†ï?ð?€Þï?ï?Àáï?ð?ðí?zï?Àëï?€×ï?ð?ð?@—î?@rï?¯ï?À5ï?[ï?‘ï?ÀÄï?ÀŸï?ð?¥ï?€«î?€áï?ð?Àëï?€Æí?ð?€¹í?ÀÐï?À^î?ð?À—î?@¥î?€Ví?À×ï?€[î?ð?Ûï?ð?ð?ð?ð?ð?€òï?ð?€5ï?À¡î?@Ôî?@úè?ð?@ñï?ð?ð?ð?ð?@ƒï?ð?€Äë?€â?@è?@±ê?ÀÒì?Àäî?‚ë?@Vç?ø’?K?€T?°†?@d? Š?‡?iÚ?€%ï?ð?@¿ï?ð?ð?™à?€Wì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?Àõï?ð?ð?ð?ð?ð?ð?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?í?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVì?À×ï?ð?ð?€«î?ð?ð?ð?ð?ð?ð?Àëï?ÀÆï?@ùï?€|ï?@xï?ð?ð?ð?ð?ð?Àëï?ð?ð?Àëï?ð?ð?ð?ð?åï?ð?ð?ð?ð?€×ï?ð?öï?ð?ð?ð?ð?öï?€èï?ð?ð?ð?ð?ð?ð?€øï?Àëï?ð?ð?ð?Àáï?îØ?Àåæ?ð?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äå?sì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcï?@ä? •?ˆ?@`ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ï?À¸ï?ð?ð?ð?ð?ð?À±ì?ð?ð?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?€ýï?ð?ð?ð?€‚í?€ç?@Jé?@ê?@®å?Âï?ð?€9ï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àfê?¸ì?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?Àáï?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?€àë?ð?ð?€ýï?Jê?àí?ð?ð?ð?ð?ð?ð?ð?@ï?Àûí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?Àà?€!Õ?ð?aî?Àî?ð?ð?ð?ð?Õî?€Íï?ð?ð?åï?@í?@Bì?€×ï?«ï?@ì?Àšï?Àè?€^ì?ð?ð?ð?ð?ð?€òï?ï?Àï?Àøî?Àšï?ð?€áï?ð?ð?@Rå?ø’?+Ì?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À”ï?ð?ð?ð?À î?ð?Ãì?¯ï?Âï?@jï?Àgî?À5ï?ð?Àáï?ð?Yï?€dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?àì?€Åï?€×ï?ÀÜï?ð?À§î?À*ï?Àßï?@Ãï?€ î?Àtï?5ï?€<ë?3æ?@€å?@ï?Àëï?.í?@òï?ð?ð?@ùï?ð? î?€Lç?À;è?€àí?ð?ð?ð?ð?ð?ð?Àäï?ð?Õï?À”ï?ð?ð?Àsï?@Ìá? ¦?@d?T?¨ ?@„?`t?Ћ?€T?`~?€‘Ô?@wä?ð?ð?ð?ð?,ç?Àýé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?€òï?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?ð?ð?@ë?@=é?ð?ð?ÀÓï?ð?ð?ð?ð?Àšï?ð?ð?@Ôï?Àµï?Âï?€¡ï?€×ï?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?Àûï?€rï?@`ã?ð?ð?ÀÜï?·ï?ð?ð?ð?ð?ð?ð?ð?”î?@†í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?âÞ?€Þé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿ï?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€>é?2Á? ¹?@úä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐì?@nï?ð?ð?ð?ð?€Yî?@ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?À‡ï?@Ðî?zí?ð?ÀÃï?€ä?gæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ì?ð?ð?@…î?ÀÔí?ð?ð?ð?ð?ð?ð?ð?€¬î?À¢í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?€ï?ð?@¹ï?ÀSï?ð?ð?ð?ð?íï?ð?ÀÁê?ð?Àáï?·ï?ð?Fï?Àáï?ð?Àî?€Hî?áî?ð?ð?ð?ð?ð?ð?ð?«ì?@Ãï?ð?@ûï?Àöï?ð?ð?@ní?@Dë?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?ð?ð?@¨ï?ð?ð?ð?vï?Gï?€ûî?ÀÈî?—ï?@çí?ð?ð?ð?ð?@±ï?fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃï?ñë?Óì?€Nî?@@í?@Rè?€~î?€ãï?ð?ð?Àšï?À ê?å?€Îç?åå?€Dë?ð?€Ðï?Êî?ð?ð?ÀŒï?Aï?@+é?€~ë?íï?ð?ÀFî?@hï?ð?ð?ð?ð?Àáï?€×ï?€§ï?@¾ï?@fê?Àí?ÿÍ?İ?€•?$¦?Ñ?¢?jÒ?¢Û?Àžï?ð?ð?ð?üí?†Æ?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?eï?#ï?ð?ð?ð?ð?ð?Àöï?@Ãï?ð?@rï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?Šï?ð?€ìï?ð?ð?€ßï? í?Àkï?ð?Íï?Óî?wê?@ì?@9ë?ì?È?À¿î?€°ì?å?+Ý?@6é?@lá?@â?€‘ï?@hï?öï?ð?ð?@Íï?ÀIï?€Íï?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?À¯ï?@á?xÁ?@™î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?›ä?@ä?À*î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀQï?ÀLì?@—î?ð?ð?ð?Àµî?ºê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?‘î?Àœí?Ûí?@‹ì?êÐ?€´å?€ î?À¡î?@1æ?ð?ð?ð?ð?ð?ð?ð?ð?@'í?@!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šë?ð?@öî?ï?ð?ð?ð?ð?ð?ð?{ï?Àçî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?Pï?Àîï?ð?@Rè?ð?€ïï?ð?¯ï?ð?€7í?€›ç?ð?ð?ð?ð?ð?ð?ð?ÀYî?@÷ï?ð?€úï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?Àëï?ð?æï?ð?ð?ð?ð?ð?ð?ð?ï?@¹ï?ð?€Ìï?ï?ð?Àï?ð?ÀLï?ð?ÀÌí?Àöí?ÀËï?mï?ð?ð?ð?@7ì?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?@"í?@í?ìë?ï?ÀÄî?@¹ï?ð?ð?Àîî?@sé?@Ìê?€øÙ?@Àæ?ãé?€[ê?€0ï?ÀÔï?€|ï?öî?@"è?è?€)ê?Ôï?ð?ð?¸î?ð?ð?ð?ð?ð?ð?€×ï?À\ï?‹è?€]á?´¡?¶Ö?€Îç?Ì?:¶?ŒÄ?À†?j?€ÅÜ?ô£?ð…?€`?@Íæ?ð?ð?ð?€í?@µå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?ð?öï?ð?ð?€×ï?ÀÅî?ð?ð?ð?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?€Àî?ð?ð?ð?ð?ð?Êî?¥ï?€Ìï?€Íï?ð?€¬à?tÁ?GË?€©ä?ÀÆã?À½?v?X—?ø£?„?À€?ñÑ?Â?T¡?V?x­?ø×?@ÿà?@‹î?ð?ð?ð?ð?ÀEï?ð?ð?ð?ð?ð?ð?€°ï?æï?ð?€7ë?î?’?Àb?Àuí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?ð?ð?ð?ð?¨ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¨ç?€õä?é?€‡Þ?–³?t? Ì?ãÂ?R?@dì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Yë?€áï?Éí?ð?@rï?Àîî?ð?ð?ð?ð?€ï?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?€áï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ûï?€ï?ð?ð?Àèï?ð?@¢î?ð?€Üï?€Íï?@ï?ð?ð?ýï?ð?ð?ð?ð?ð?ð?ð?ýï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?€Bï?€Íï?ð?ð?@çï?ð?ð?ð?ð?ï?€“ì?ÀÕî?ð?€î?€«ë?@Ðî?€åì?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕî?ÀÄî?€÷î?€0í?@hï?ð?Àæï?@ í?@$í?Àšï?À(æ?ÀCæ?À¹î?@°ï?€Èê?Àuè? ì?í?@<é?ÜØ?Oß?@™è?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cï?@Jì?€%ï?€±î? í?À ï?öï?Àöë?jÏ?ÒØ?€'Ø?p?B?4?À†?ã?ð?ð?ð?Àõï?€RÓ?çÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?ð?ð?¯ï?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?@˜ï?ð?Àáï?ð?ð?ð?À§î?öï?€ýï?ð?ð?€Œí?€…ã?@§â?ìá?@Ýì?€Ýê?rï?ð?€Íï?€vï?@'í?€#ï?öï?Àáï? ì?ÀÑá?Àâ?&»?x? ’?€Ú×?ÀÊï?ð?ð?@kì?kÌ?,Î?Àžè?ð?ð?ð?ð?€ôï?Éï?¯ï?À3ì?ÀÚí?–Â?€,Ó?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®î?ð?ð?ð?@ìï?€Ò?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼è?€è?€^?€Ö?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äî?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íê?ð?À'î?ð?ð?ð?ð?€Íï?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?Àåï?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Øî?À;í?Àëï?ð?ð?ð?ð?–ï?ð?€—é?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?€Bï?ð?ð?ð?ð?ð?Àëï?ð?@¹ï?ð?ð?€„î?@Ãï?@±ì?€³í?€nì?ÀËî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ƒî?Àëï?€¡é?Àní?@Fï?À½î?šï?À å?À7ê?6î?-î?€Òï?ð?ÀÛí?Àaï?À^ê?À¶ë?@Šå?Aè?€|æ?@í?ð?ð?ð?ð?ð?ð?ð?ð?ï?@ï?ÀÞï?ð?Àí?ð?ð?ð?ð?ð?ð?À)î?@´ì?Ù?´½?€›?N?Xž?P‰?Ê?Àbï?ð?ð?ð?€í?€zÐ?´ª?@Åì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"î?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?Àëï?ð?À¡í?€ç?ð?@ìï?@¿ç?ß?€ÿÖ?·Ç?€sà?rÛ?sÓ?€òì?€7Ý?€¢å?íî?€sì?ÀCï?ð?Äî?À-ä?Èè?ûÊ?éÀ?€Nå? è?MÞ?ô¢?Àv?p?@˜è?ð?ð?ð?ð?ÀÛï?@!ï?kï?Àì?LÚ?&²?ÀËê?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼î?@së?ð?À(í?ð?ð?ð?@äî?°®?ëä?ð?ð?ð?ð?ð?ð?ð?Úï?€ûë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?2î?À¬à?æÑ??€U?´Û?Àäï?ð?ð?ð?€“î?ð?ð?ð?ð?ð?ð?€Wî?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?Àëï?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºé?šî?†ï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ð?ð?ð?€Íï?ð?ð?ð?Àï?@Üï?ð?ð?€Aì?ð?ð?À“î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?ï?ð?ð?ð?ð?@Ìï?@Ãï?Àëï?€Íï?ð?ð?ð?ð?ð?ð?Àœî?öï?À ï?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?Àøï?ð?ð?ð?Àáï?ð?ð?ð?Àáï?@Ãï?Àáï?ð?ð?À’ï?@ï?€×ï?ð?ð?ð?ð?ð?ð?@bï?ð?ð?ð?ð?ð?ð?ð?@uî?ð?ð?ð?ð?@Ãï?Àáï?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?aï?À7í?ð?ð?ð?ð?@ï?ð?Àáï?Tï?ð?ð?@¶ì?@¸ì?€Xï?ƒï?€äï?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?À•ï?Àäî?€Áí?Àëî?@@ì?Àï?Àœí?Àmî?{î?Àîï?À}ï?ð?ð?ªî?€üï?ð?ð?@Âî?Àê?¬è?ð?ð?ð?ð?ð?ð?ð?ð?ð?@më?@óá?‹ë?Sî?À¹ï?ð?ð?ð?ð?ð?@Ãï?@¯ç?@»â?vÊ?ÀŠ? ??4Ì?@Œè?@ýï?ð?ð?@Õï?@¡à?@|?3É?€‚Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?øï?¯ï?Tï?ð?ð?ð?ÀŸî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢è?@Òé?ð?ð?ð?ð?ð?ð?ð?€Ðî?ð?ð?ð?ð?ð?ð?€õï?ð?ð?Àþï?ð?|ï?À™ï?ð?ð?@wà?@Î?€fã?€nÖ?\ª?€\?i?iÁ?€Ñ?@qà?YÁ?â´?€žÜ?ÀÎê?À¦í?Àï?8í?Àäà?tÂ?+Ç?@l?¢?°?J´?ÀXî?ð?ð?ð?Àî?Àáï?@áî?@•í?ÀÈé?\??@´ä?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýë?€ï?ð?î?ð?ð?ð?ð?é?òÆ?@šï?ð?ð?ð?ð?ð?ð?€oä?À¼å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øç?€¯Ü?t¦? y? ˆ?À½é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Jï?@ì?€¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?ð?Àáï?À}ï?ð?ð?Uï?ð?ð?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ÀIï?ð?ð?ð?ð?ð?ð?€žï?ð?ð?ð?@$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?Àëï?@Œí?àì?@Úî?šï?ð?ð?ð?ð?ð?ð?ð?€ûï?À>î?€"î?Àìï?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãî?€‡ï?ð?ð?ð?ð?@“ï?Àáï?ð?€òï?ð?€–î?î?ð?ÀÏï?ð?Àëï?÷ï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ï?ÀÖï?Àìï?Àëï?@Cê?@Cï?‹ì?øì?@›ê?€ï?ð?ð?@£î?ð?ð?ð?ð?€Ôé?@dî?@Éï?À¹à?@ê?€‘í?€×î?Ààï?ð?ð?ð?ð?ð?ð?Àwî?ð?ð?Àéî?ð?ð?ð?Ààï?ð?ð?ð?ë?Àèé?®È?@c?pŸ?€ÉÕ?€Îî?ð?ð?ð?€wä?€çà?ÅÇ?H¬?Àgç?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ºï?Åç?€ûï?ð?ð?ð?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûî?ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?¯ï?ð?ð?ð?@öï?ð?ð?’ï?ð?@öï?À¥ï?@îï?€Þï?À æ?»?€~Ò?€OÞ?€‰Þ?ü¥?€¾?B? Š?Â? š?oÇ?€Èî?ð?ð?@öï?ð?Àí?€Wè?ð?äÍ?˜?Ï?Œï?ð?íï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»í?ð?’ï?ÀÀî?ð?ð?ð?ð?ð?d´?y×?€xï?ð?ð?ð?ð?ð?€Ó?ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%ï?Ü¡? v? Ù?@Ðí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rí?@=í?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?€×ï?ð?ð?Àðî?@†ï?ð?Àçî?€Áï?€Íï?ð?ð?À@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ÀWî?ð?ð?ð?ð?ð?ð?Àšï?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?À®ê?cê?@«ï?ð?ð?ð?€Øï?ð?ð?ð?ð?ð?ð?ð?À½ï?€”ï?ð?ð?ð?ð?Àáï?ð?Àëï?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ð?ð?À‘ï?€4í?@hî?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?öï?öï?ð?ð?ð?Àëï?ð?€¼ï?@ ï?@Ãï?µí?€iì?Ànï?¤ë?@Õä?@úë?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï?€Êî?€áã?þµ?QÓ?€"ë?@ ï?öï?¯ï?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?€Øï?ð?ð?ð?Àã?ÔË?éÃ?@d?GÄ?¼?€Ñ?øî?ð?ð?Àpï?ûÅ?Ú?;×?À›æ?ð?ð?ð?ð?Àï?@úï?ð?ð?ð?æì?¥ï?ð?ð?ð?ð?ð?öï?öï?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?@ãï?ð?À³ï?Àëï?Àáï?€˜ï?@-æ?·?€V?ð•? †? v?T?G?Àf?T¯?p?YÊ?À²ç?ð?ð?_ï?Àãï?@~î?ð?€cæ?)È?€ºÜ?vÈ?@­î?ð?ð?Àôï?ïï?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸î?ð?ð?ð?ð?ð?ð?`Ï?€bè?ð?ð?ð?ð?ð?˜Í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»Ú?"¶?Àjè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëí?@tí?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?€ï?ÀÈï?ð?€Ôï?À÷ï?ð?Tï?ùî?@2î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À`ã?@Óí?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àå?€{Ý?€ºç?ð?ð?@ûï?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?²ï?@èï?ð?ð?ð?öï?Àáï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒï?À\ï?âî?Àçí?Àåë?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒï?€{ï?Àáï?@hï?ÀÈé?À í?@`ë?€˜é?@¶í?ð?Àýï?ð?ð?ð?ð?ð?ð?€öï?€áï?@Ãï?ðî?é?€—Û?@Šï?€ùï?Àëï?ð?ð?ð?€†ï?Àëï?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?Àëï?À<ï?@àì?\½?€n?@}?4Â?€8Õ?­ï?ð?ð?,ç?è¾?•ß?€"á?€Óã?€Çï?ð?ð?ð?ð?ð?ð?ð?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?@>ï?@ôï?€Ÿï?ð?ð?ð?ð?ð?öï?@«í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?ï?€ï?@kï?€ïï?@fè?óÃ?€P?FÐ?Àëï?Àëï?€¤ï?”ë?@ôï?@fî?«ï?BÅ?ü®?–µ?ÑÚ?,Á?x¤?ûÝ?8î?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?@þï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€­ï?€»ï?ð?ð?ð?ð?ð?ð?À'ì?À|?Òã?ð?ð?ð?ð?@°ë?€±Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Jî?HŸ?VÉ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ñï?@Mì?°î?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?Àëï?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?ð?ð?@Ãï?ð?ð?ð?Àhï?ð?Àëï?€Jï?ð?ð?ð?€Žî?@^ï?ð?ð?ð?€5î?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?¥ï?ð?ð?ð?ð?ð?ð?€tï?€Æî?ïî?ð?ð?ð?ð?ð?€3ï?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?@2ì?@Ië?@ÿî?eï?ð?@óï?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?@üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?@ï?À¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jï?^ï?€“ï?ï?€×ï?Àáï?À«î?€üì?=ì?@í?¦ï?ð?äï?ð?ð?ð?ð?ð?àï?.î?ð?@Sî?@©ì?ßå?íë?dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€™í?€îã? ~?CÛ?@Àï?ð?ð?Àrë?u?š? «?ä¢?”­?€Íé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aï?Àúì?ì?ð?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?€î?@Ûí?€…ß?Àà?ìà?õÇ??ŠÀ?€×ï?ð?áï?@Úê?­í?@Õî?@$ï?@Oà?Ì£?€QÑ?€•à?Œ£?€Y?7Ú?”Å?ܳ?ÀÒé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6ï?ð?ð?ð?ð?ð?ð?ð?@üï?Õâ?ÍÁ?í?ð?ð?ð?!Û?€NÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û?0¢?›í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€÷ì?Àmï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aï?ð?À5ï?ð?ð?ð?ð?Ÿï?ð?ð?€Âï?@Æî?ð?ð?ð?ð?Àëï?ð?ÀÝï?@Ãë?@Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?¯ï?@®ï?ð?hï?ð?ð?ð?ð?@Ïï?@Íï?ð?Ïë?ð?ð?Àï?ð?ÿï?ð?ð?ÀQí?À ê?ð?ð?ð?€øï?Àëï?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×î?fï?ð?ùï?@øî?À?ï?€†ï?Àµï?Âï?ÀCî?ï?ð?ð?ð?ð?ð?ð?ð?ð?€°ï?ð?ð?€Âí?´í?ÀÃä?À‘ì?€Wï?Íï?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?ÀÌí?Àÿç??@y?°’?šÑ?²?h•?T?(?à¡?€f?À è?ð?ð?ð?Àìã?H¤?1Ç?‘è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?í?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðî?À ì?ð?ð?ð?ð?@9í?@Gä?¿Ú?À†?^?‘Ì?ð?ð?ð?@ï?À¢ï?À³ï?@áï?@ºæ?Á?n?ôÀ?àt?XÂ?PÙ?HÝ?Àk? ¡?@ ì?–½?¼ ?€é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?©Ò?Ô½?ÀÜí?ð?ð?Ï?'é?À)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´é?€µÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?@Ãï?ð?ð?ð?ð?ð?ð?ð?Àûï?À7í?€žì?€Iï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?€Íï?ð?ð?ð?@hï?ð?ð?ð?ð?ð?¹í?@‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?€âï?ð?ð?ð?ð?@Ãï?ð?ð?Àîï?ð?ð?ð?ð?ð?Àí?Àî?€5ï?ð?ð?ð?¥ï?ð?ð?ð?ð?@^î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aï?€»î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=î?ð?ð?ôë?@ìï?ð?ð?€¦ï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?@¥ï?€“î?Åï?€†ï?€âï?@ìï?€hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?@æî?€Úï?çé?€VÝ?ZÂ? x?€ÌÛ?€)Ð?$­?@d?T?€}?€§Û?€äê?ð?ð?ð?ð?ÆÇ?L®?ì?ð?ð?ð?ð?€Ãï?€¥ï?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@iï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€ñï?ð?“í?À‡å?ÍË?€›?€á?ð?ð?ð?€ñï?À|î?@í?ìï?@(ê?©?íÐ?ð•?Cé?À¡ì?ˆ’?è©?Ú¶? ?áÑ?cß?¯?„Ü?€ºê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"ï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?@Rî?€Õ?€8Ò?€“í?Aï?€HÑ?ž·?,³?@+ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?€­×?Ä®?ÀÝê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáë?Àµî?€Ôï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ƒî?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?À˜î?ð?Àëï?ð?ð?ð?ð?€í?ð?ÀÈï?ð?€„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ð?ð?ð?Àëï?ð?À\ï?€jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Tï?À¤è?€›ï?”ï?€0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?Àžî?€Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ î?ð?@Ãï?^ï?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äî? ê?˜Ï?H¹?}?h¨?´¿?ÏË?ì?ð?ð?ð?ð?-Ø?T? Ë?€Žè?Àë?À¤ï?ð?àî?@\ë?ð?ð?ð?…ï?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Žï?@úï?çï?Àé?þÈ?˜•?@â?Àé?ð?@¹ï?:ï?€î?À¾ì?Æï?ð?€ÞÐ?\Ð?(–?pÆ?dÉ?@eâ?@ží?@d?¤¥?·?¬¨?€’×?œà?Àêä?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?*å?x’?aÂ?€Ò?F?>?€¤?@Êé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-é?@p?ð ?´Ç?Í?À?ê?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€×ï?ð?ð?ð?ð?ð?ð?€Âï?ÀYî?¾ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?¹ï?@qî?Àëï?@èï?ð?ð?ð?ð?@¹ï?€’î?€Qí?õï?ð?ð?ð?ð?¯ï?@ì?€ûï?µï?ð?€Ïï?ÀZî?Jï?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìî?ÀFë?è?@ ê?@Àë?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<ï?ð?ð?ð?@¹ï?ð?ð?¯ï?ÀVî?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?îì?ð?³î?Øî?€rï?Àëï?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?€Éí? Ú?ð‘? Š?€ýÕ?àw?*×?€¸ã?¥â?€ß?€eá?ð?ð?ð?ð?—æ?à‹?8“? ~?ê?ð?€Êî?@Ìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?VÂ?@?Ü?€ª×?ð?ð?Àëï?@bí?À2ï?Õï?@$î?@¹è? x??€¡×?€ŽÒ? Û? x?€õâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ˆï?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€à?¼©?p©?P?À á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öé?€+Ý?àž? ¢?€Wä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?@ºî?ïï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ð?ð?€pï?@Œï?@ïï?À§ï?ð?ð?ð?ð?ð?ð?@áï?@Wï?À î?¦î?ÀÎï?þï?ð?ð?ð?À™í?@ï?@àï?ï?Àdï?@Éï?ð?€óï?@íï?@«ï?ð?@{î?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ýï?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@6ï?ð?€²é?ê?@rï?ð?¿î?í?€Aï?´ï?ð?ð?@nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?ð?ð?ð?ð?@áï?ð?ð?ð?Úï?À¬ï?ð?ð?ð?ð?ð?ð?ð?€Óï?À÷î?íî?Àðï?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»í?±? w?v?p?€T?:Ì?Rë?ð?ÀÍë?À0í?ð?ð?ð?ð?@öí?€#Ö?OÙ?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Cì?€ºê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aê?€¨î?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?zï?@Sî?~Ð?=À?@’í?ð?ð?ð?®ï?@Áï?ð?ð?@»ï?ì¾?Š?”¡?€4î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€fî?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝî?mÌ?@m?h®?@Šè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bì?„Å?˜°?¹Å?Àýì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mî?÷ï?ð?ëï?ð?ð?ð?çï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?\î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?®ï?À·ï?Àÿï?ð?ð?ð?ð?ßï?rí?öï?ÀÌï?ð?ð?ð?@“ï?À?í?@áï?ð?€éï?@hï?€öï?¥ï?˜ï?âï?À·ï?í?@áï?Àìï?À¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ð?ð?ð?ð?ð?Àýï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À8ì?€„ê?À®é?€î?€î?ÀËî?€î?€íï?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Çï?€ûï?ð?ð?ð?@áï?€ëï?@áï?ð?ð?ð?@Kï?@»ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?€ûï?ð?€ëï?ð?ð?ð?@õï?Õï?@öï?€Âï?ð?€Žï?ð?ð?ð?ð?À£ï?À³î?ð?ð?ð?ð?ð?ð?€6ï?ð?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?@ê?Àxå?¨’?@?y?ÆÀ?˜Æ?@âï?@Üï?ð?ð?ð?ð?ð?ð?€!ë?X¨?T±?@Pê?€ÿï?ð?ð?ð?ÀŽí?À¢ï?ð?×ï?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=ï?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ì?èà?¼¤?ˆ–?Àxê?ð?ð?ð?€ˆï?Àýë?ð?Àûï?ð?€Û?€•×?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?À>î?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™ï?@(í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€å?Àv?WÕ?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©è?mÔ?ô³?Šß?@Eë?ñï?ð?ð?ð?ð?ð?ð?ð?€šï?@tì?€]Ý?ŽÁ?IÊ?€€Ü?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™ï?ï?Èï?@êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­î?ð?ð?ð?ð?ð?ð?€™ï?ð?ð?@áï?ð?€Ìî?3ï?ð?€?ï?@ôï?@áï?ð?ð?€Æï?€òï?ð?ð?ð?ð?ð?€oï?@àî?ð?ÀÚï? ï?ÀÌï?€Âï?@Ìì?À±ï?À ï?Àúï?ð?€áï?ð?€©ï?ð?ð?˜ì?ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‰ï?À½ï?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?@Óì?€”ë?@áï?ð?ð?ð?ð?@ï?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?À£ï?ð?€†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àzï?ð?€æï?@æï?ð?øï?@Éï?@ï?ð?ð?¹ï?ð?ð?ð?úï?ÀÒï?€‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À£ï?ð?ð?ð?ð?Àýï?@Ìï?ð?€9ç?°?€„?È•?È¥?[?+É?Àcä?€6ï?ð?ð?Îï?ð?ð?@ùï?@{å?Ђ?4µ?‚Ù?ê?ð?ð?Ëï?îï?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ýï?ð?ð?ð?ð?€ëï?ð?ç?P?€³Û?Àqï?×ï?ð?ð?ð?ë?€•Õ?@0ï?@¡ì?ô£?Àh?€T?€d?X?Àõé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?€…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?2ï?ð?ð?ð?ð?ð?ð?ð?ð?÷î?ä¯?P?À”á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?âÝ? –?xš?Hº?@|è?ð?@Æï?ð?ð?ð?ð?ÀUí?€â?Àiâ?€šå?¦À?€ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€aï?€ýï?ð?ð?Ñï?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òî?Çï?ð?ð?ð?™ï?@¨ï?@áï?€ëï?@¸ï?ð?ð?€Øï?€ ï?€yï?€·î?€Îï?ð?ð?ð?î?¨ï?ð?ð?ð?ð?@ðï?¾ì?@„ì?@¹ì?@çï?ð?€Ûï?‹í?À÷ï?@Æï?ð?Àií?€•î?€ëï?ð?ð?€Âï?ð?ð?ð?ð?ð?Àâï?€ÿî?ð?ð?ð?ð?ð?Àkï?ð?ð?ð?ð?ð?ð?€Sï?ð?Àkï?ð?ð?ð?ð?ð?ð?ð?À î?ð?À—ï?õí?@‘é?À;è?€­ê?Àïï?€Âï?ð?ð?ð?ð?ð?¤î?Àˆï?ð?ÀTî?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?ÀWï?ð?ð?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ÀÌï?ð?ð?@ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?ð?ð?ð?ð?ð?€ ï?€¬ï?@Àï?ð?ð?ð?ð?ð?ð?À•ï?€£î?ð?ð?ð?ð?ð?ð?ð?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æî?€’è?@&ç?̾?€j? ‰?€±?t°?@…?RÏ?€—í?$é?Àdé?ð?ð?ð?@ï?öÙ?€¨?Ý?òï?€ýï?ð?ð?çï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?ð?ð?ð?ð?ð?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?@_è?ð?ð?ð?ð?ð?ð?×Ý?ˆ•?`ž?Þ?@Rë?ð?ð?ð?€Ÿâ?‹Ã?Äï?@ÿï?€¨Ð?à|?H?€T?˜›?Ķ?‚?:Ã?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?zï?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Àoï?ð?ð?ð?ð?ð?ð?ð?@Oï?nÅ?j°?!ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëî?$¾?ä§?HÆ? Ã?€+×?@µê?yí?€ Ø?€OÑ?ƒÙ?ÐÍ?«?Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€êï?ð?ð?ð?Àzï?ð?ð?ð?ð?ð?ð?÷ï?@¥ï?óï?ð?ð?üï?€pï?@ëî?ÀÌï?@Ðï?€‹î?Àwï?@ï?@þï?ëï?À>ï?À%í?À#ï?ð?ð?€êï?À¶î?Àþï?®ï?ð?@áï?ð?ð?ÀÖï?€ï?Oî?€î?‹ï?úï?<î?€Òï?ð?@úï?€£ë?@‹ï?@ï?ð?ð?ð?€ëï?ð?ð?ð?À4ë?ï?ð?€õî?ð?ð?çï?=í?€¿ï?ð?ð?ð?ð?ð?Àéï?@ûï?@Ùé?€‘ï?ð?ð?ð?€ôï?€1î?@%ë?ÀYê?˜é?€Jê?@í?À†î?ð?ð?ð?ð?ð?ð?ð?€íï?ð?@ î?ÀŒí?@×í?€£î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ÀÖï?çï?@¾ì?ð?ð?ð?ð?ð?ð?ð?ð?À(ï?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ôï?ð?ð?üï?€àï?€Šï?À>î?ð?ð?ð?ð?ð?ð?ð?°ï?€lî?þï?ð?ð?ð?ð?ð?ð?ð?€°î?ð?ð?ð?ð?×ï?ð?Àeí?ð?ð?€Êé?€Ö?€Ö?? y?€„?qÑ?€:ß?@¥? ? ?˜°?8Ÿ?Ý?@Ãï?ð?ð?ð?Àƒæ?@Ÿá?€g?¨¢?ôÏ?Àá?ûï?ð?@þë?À¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àmä?€`ï?ð?ð?ð?ýï?Àúï?ÀÑé?t£?&¸?€Öé?€Gï?ð?ð?Àï?€¥ì?@Öï?ð?€IÔ? ? Â?ìâ?€åÖ?€Ô?³?”£? Ê?è§?à¿?Mè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?@Nï?@õï?ð?ð?ð?ð?ð?ð?ð?aå?€d?€Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ìá?O?’?¤£?€¨?À¬?¬®?ð‹?éÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?À÷ï?ð?ð?ð?ð?€ëï?@"ì?€$î?ð?ð?ð?@îï?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?@õï?ð?ð?ð?ð?ð?ð?@Ûï?ð?ÀÌï?ð?€ûï?@Ñï?ÀÌî?ð?Àóï?ð?ð?5ï?€ºï?|î?À©ï?@»ï?ð?@¡ï? í?Àï?ð?ð?À0ï?@¨î?ð?ð?€ëï?ð?ð?ð?ð?ð?@üï?@†î?¦î?ÀÂï?¦ï?ð?ð?ƒï?@­í?@äï?€ëï?ð?Àóï?ð?ð?ð?Àìí?€Xí?ð?ð?ð?ð?À™ï?ð?€7ï?‰î?÷ï?@Žï?ð?ð?€áï?ð?@þí?Àûé?{î?€Áï?÷ï?¯ï?&ê?¡ê?@6î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?€†î?@áî?ÀÆí?@ªê?€Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?¹ï?ð?ð?@;î?ð?ð?ð?ð?ð?ð?@ï?À–ï?€Ñî?ÀÂï?Àûî?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?À¹ï?ÀQï?½ï?€ëï?ð?ð?ð?ð?ð?ð?ð?€ìï?Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?€ ï?ð?ð?@©í?ÖÜ?›?€T?Œ¬?0’?¶?€:×?À~?]?€;Ö?€Wî?ð?ð?ð?@‚ï?àÂ?è?@Xë?ð?@Ûí?€ñï?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?cï?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?@ëï?€8í?Ȭ?(§?(Ð?@ïî?Àõï?ð?ð?ð?ð?ð?ÃÍ?ì´?ø?€{?0Æ?Ý?¸©?bá?@‹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜ï?î?ãï?@#ï?@¥ï?ð?ð?ð?ð?½ï?ÿÅ?0…?@'é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?€Íã?²¶?Ñ?œ®?nº?H”?ð?.³?€ýÝ?¬?`¦?€Ìì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@ï?ð?ð?ñï?”î?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?Àøï?ð?¥ï?@àï?ð?€ëï?€ëï?ÀŠï?Ãï?Íï?ÀÌï?çï?À“ï?ð?€ëï?€aï?À’î?€¼ï?€Âï?ÀÌï?€ï?®ï?ð?ð?ð?ð?@Äï?ÀQï?@Ñî?ð?@Ùî?€Ûî?ïï?€üï?ð?ð?»ï?€Yï?ð?ð?€ëï?@ëï?€­ì?†ë?@ì?¼ï?ð?€Íï?@Uí?À÷ï?€ßï?ëï?€øï?ð?€ï?Bî?ð?ð?ð?ð?ð?ÀÖï?ð?ð?ÀÆî?@×î?ð?À…ï?ð?è?ÿç?Tç?@`ç?€ê?¤ê?Àì?@Éë?@Áî?À»ï?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?@Oï?@Ûï?€Gï?À~ï?lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€3ï?ð?ð?ð?ð?ð?ð?ð?ð?Àíî?wï?@Yï?€õï?@ëï?€Wï?Àëï?€qï?ð?ð?Sï?ð?ð?ð?€ëï?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~ï?€Ýï?ð?ð?ð?ð?ð?ð?ð?@šï?ð?ð?ð?ð?ð?ð?€ˆï?€Ùí?Àï?€Ñì?d¼?H?Ào?f?€P?(’?ÍÓ?N°?¬½?’ã?ð?Àõï?ð?€gÜ?Ç?@Ôë?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öê?ð?ð?ð?ð?ð?£ï?€ÑÕ?€R?Àë?ð?ð?ð?ð?ð?@ïï?t¼?À?ˆÌ?¶²?Œ¬?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?@ï?@’ï?@ï?ð?ð?ð?ð?ð?‚æ?e?À?Ÿä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?€ï?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtí?`Ç?ú¾?€×?`‰?Àë?@!è?3Á? ‘?@}?x•?@=í?\à?Z²?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§í?@ªï?ð?ð?€Íï?@èï?ð?ð?ð?ð?ð?ð?@çï?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?îî?ð?ð?ð?ð?ð?ð?@Ëï?ÀÕï?ÀÀï?ÿï?À³ï?€‡ï?Àúî?ï?@êï?ð?€¦ï?2ï?€àï?”ï?À®ï?ð?ð?ð?ëï?ï?€ùî?âí?ÀUî?@»ï?@øí?/î?€î?ÀWï?Úï?ð?Àóï?€Fï?Àºï?dï?ÀÉï?@©ï?@—ï?@‹ï?¯ì?@ î?ð?Àî?À]ï?Àÿï?Àýï?Öï?@¶ï? î?@Ëï?ð?ð?€ï?@Öï?ð?ï?@Ôï?€Öï?@¥î?€"î?€eï?2í?À%ê?€=ä?ìí?Àþï?Àýï?Àýï?Àÿï?€}î?@ÿï?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTï?®î?À™ï?À®î?ð?ð?¬ï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘ë?ÀÁï?ð?ð?ð?@àï?ð?Àñï?@`ï?ûï?€Àï?ð?ð?ð?ð?À©ï?Ìî?Àáï?ð?@÷î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?€Œï?€®ï?ð?gî?ð?ð?ð?ð?ð?ð?ð?€Eî?À©ì?ð?ð?ð?ð?ð?ð?ð?@ÿï?@ê?òè?º?Ào?U?€q?˜”?U?„³?Àí?ð?ð?ÀDâ?RÅ?€|Ú?ð?ð?ð?ð?Àÿï?@"ï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíí?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?èï?Àîà?z·?@µç?À!ï?ð?ð?ð?ð?ä?q?+Ý?¨ž?²ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éî?@¤ï?ð?ð?ð?ð?ð?À´ï?€+×?¸¦?Ô?À3í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùî?€¡ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xá?8? ?Ñ?ð?ð?öÕ?Ài?¯?À1ä?À¡î?àÁ?€¹Ð?€xÝ?€Ãå?Àéî?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~ï?@àî?ð?ð?ð?@Îï?ð?ð?ð?ð?ð?ð?òï?Àôì?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?€Ùï?ð?ð?ð?ð?ð?ð?@þï?ßî?@‚ï?@Zî?ð?ð?@Wï?€Üï?€‘ï?À<ï?ð?ëï?Œï?@Àï?@×ï?@üï?Àìï?ð?ð?€ïï?ð?ÀÊî?)î? ï?€«ï?ð?@Ùï?€µï?@8ï?ð?ÀÙï?Àíï? î?ÀDî?úî?@œï?ÀGí?ï?@‡ï?@¶ï?£ï?@çï?ð?€‡ï?@æï?À ï?À\ï?ÀYï?ÀÉí?€Œí?@ í?À>î?@í?Àï?À:ï?@¼ï?ÀÌï?@_î?<ï?@¦ï?ð?lî?À¾ï?€¤ï?€®î?€ýï?€hï?€/ï?ð?€Eï?­í?€Èá?Àzî?€þï?ð?ð?ð?ð?€rï?ð?€Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?£ï?ð?ð?@áï?€ôï?€ïï?ð?ð?ð?ð?­ï?ð?ð?ð?ð?ð?ð?ð?ð?Àðé?@Øë?Rï?ð?ð?€Çï?@üï?€Ùï?ð?ð?ð?ð?ð?ð?ð?Àìï?€lï?€µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?€àï?Àvï?À»ï?ð?ð?@/ï?ð?ð?ð?ð?ð?ð?Àˆî?@¹ï?Àüï?@·ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À;ï?€aä? ‘?U?à–?@n?€W?€Ìâ?ð?ð?ôê?*¶?ÚÅ?ÀÆë?€sî?ð?ð?ð?€Çï?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? í?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éá?›è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ØÜ?°‰?ÍÖ?Àùï?ð?ð?Ïï?ïÒ?:?ÐŽ?à{?Xœ?à„?]Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?@·ï?ð?ð?ð?ð?ð?ð?ð?€Ìë?ø—?™?T¤?:×?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Í?°†?Æâ?ð?€fï?R¹?4Â?ÀÆé?ð?€¥ï?AÎ?b?îÃ?l»?-Ã?Õ?@ ê?€£å?Kë?@Zï?Ñï?€Éï?ìì?@óï?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?Àïï?€öï?€Qì?ð?ð?ð?ð?€Ôï?ÀÇî?€Œï?ÀÚì?T×?€Ý?@óï?ð?ð?ð?ð?ð?ð?Þì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?€ûï?ð?ð?ð?ð?@ùï?@çï?øï?ð?ð?€®î?ð?ð?ð?ëï?ð?@¶ï?½ï?@ï?ëï?Àóî?Íï?@–ï?À’ï?Ëî?ÀOï?À«ï?€§ï?éï?€Æï?À¶ï?@|ï?ð?€„ï?Àî?@Ôï?@üí?@xí?bï?ÀÕï?@ùï?€àï?À‡ï?€<î?¼ë?À²î?ÀÞî?µï?Àëï?@}î?ð?@î?í?À‰í?€'í?À·ï?Zî?kí?À+î?€¶í?@Wí?@¥ï?ÀÄï?@ï?ð?€^ï?€Žï?ð?@øï?@4î?Àùç?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?@Ëï?ð?ð?ð?€Åï?@ûï?ð?ð?€£ï?@Åï?ð?Àjï?€Nï?ð?€ýî?ð?ð?À`î?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ëï?>ï?€ï?ÀÎï?ð?ºï?ð?ð?ð?@àï?ð?ð?€üï?€8ï?€àï?@Bï?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àhï?ð?ð?wï?ð?ð?ð?@üï?ð?@Éí?ð?ð?@ôï?Õï?@°ï?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?Xî?5á?€³Ü?šÓ?€b?e?zÞ?ð?ð?€ÿï?Àqã?0?€b?¾²? Ú?åé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èì?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?@éï?@÷ï?€–ï?ð?ð?ð?ð?ð?ð?rï?@ì?7Ë?Pƒ?À¼è?ð?ð?ùé?Às?€Y?2»?p©?°?âç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªî?ð?ð?ð?ð?ð?ð?ð?€úï?òÖ?€S?`—?€Çç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èí?ج?…í?ð?ð?€Õ?p‚?î¹?óê?ð?ð?ð?‡Ó?€u?È?L°?Á?zÈ?Ü·?†â?ôé?€{ï?€Ðî?-ë?ð?Àí?€ûë?@Tå?‘è?Àgç?À”é?òË?ÜË?*Î?éá?Àóå?€+Ù?€ÁÙ?qÊ?¹Ã?\º?¨¥?@\è?ð?î?ð?ð?ð?€šï?§í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À…ï?@°ï?ð?ð?ð?ð?À»ï?@…ï?€¼ï?ð?ð?ð?@9ï?@éï?ð?ð?ð?Àíï?Àøï?Àï?€ûï?€¼ï?€”ï?öï?Àñî?€î?@Sï?€àí?€Âï?ï?»ï?ð?@‰ï?ð?ð?€nï? î?€tî?eí?€!í?€ií?@7î?€Âï?À7î?À6ï?@Ìï?ð?ð?ð?@ï?€´î?ð?ð?ð?ð?€Îî?Yì?€í?Àí?ÀËì?@@ì?€^ì?À¡ë?€Kî?Àmï?ð?ð?À#ï?ð?€Ýï?@+í?À¢å?ð?ð?ð?ð?€èï?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?ï?ð?ð?ð?@µî?À…ï?ƒï?@rî?î?µí?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?@îï?ÀÖï?€Ñï?ð?ð?€Ãï?ð?ð?@žï?Ñï?ð?ð?ð?ð?ð?ð?ð?@Ëï?ð?ð?ð?ð?ð?îï?€aï?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?°î?ð?ð?Àáï?ƒï?ð?ð?@Ïï?ð?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ÀÏî?€ä?Ô?¶?À?ÒË?Â?@úá?ð?ð?ð?€÷ï?áÇ?…? }?н?Îâ?Mí?ð?ð?@tï?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Žï?Àtï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þ?âÄ?€ÉÝ?€ðê?ÀÖí?Àùà?ø“?ð†?Àk?xž?° ?€h?éÈ?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?@ï?ð?ð?ð?ð?ð?ð?ð?Àdì?Ÿ?`|?ÏÍ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?€«Ð?nê?ð?ð?@õá?<¯?À¾è?óï?ð?ð?ð?àÒ?@`?sË?CÑ?}Á?€ Ù?<­?²?€R?Q?e?˜Ÿ?e?@{à?ð?ð?ð?ð?Àï?@üê?€Ñî?ð?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ÀÀï?€}ï?@÷ï?ð?ð?€àï?ð?ð?ï?ð?§î?À î?@Ïï?ð?ð?Àüï?íï?ð?é?@¡ì?€_î?©ï?@Ÿî? ï?€ëï?ð?@£ï?ÀLï?ð?ð?ëï?Àòï?@ï?Ìí?@mï?@Öï?À¯î?@÷î?@¶î?ÀÀï?€ëï?ð?ð?@Úî?Àcî?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lë?€^ï?@Þï?ëï?@Wï?ð?ëï?@ê?€‘æ?êî?€ ï?€©ï?@'ï?Àšì?î?cï?€Áï?ÀÕï?€{ï?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?qî?ð?ð?ð?ð?@ ë?1ï?ð?@xï?Aë?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?Àòï?@ïï?€ î?€Ùï?ð?ð?€ºï?Àæï?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?Gï?Àï?ÀÐï?Àüï?ð?ð?ð?ð?ð?ð?ð?@Rï?@¦ï?ð?ð?ëï?€Èï?ð?ð?ð?@àï?ð?ð?ð?ëï?€Uï?Èï?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?€;ï?€ì?ÆÁ?ð™?ðƒ?¶·?@¬ã?À'ì?€Ÿí?¢Ù?–?Œè?ð?ð?ð?ð?€‡å?œÇ?€f?[Å?Àªé?ð?€xî?€|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wï?ð?ð?ð?ð?@Ìï?aÓ?H¤?¨À?žÀ?j³?\°?Æ?€9Þ?8Ä?bÃ?`~?.·?’Í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Xå?€Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?ð?€üï?2×?(?€l×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?@¼â?ð?ï?žÈ?U?e?€Ð?€øì?ð?ð?ð?ð?ð?@‰á?A?€¯Ö?@×â?Àðé?_î?€øî?À7ì?@¾ì?€ÿï?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”ï?€÷ï?ÀUï?ëï?ð?ð?ð?¢í?@eç?üï?@¥ï?ï?@Ìï?uî?Áï?À³ï?€Oï?@àï?ð?€Ÿî?“ï?ÀWï?ÀÊï?,ï?€Mï?€ÿï?@-ï?ßí?ð?ð?ð?@Ñï?€òï?@ªï?´ï?‘ï?ÀÏï?cî?ð?°ï?ÀÜî?€ÿï?€–ï?ºî?€ní?ð?ð?ð?ð?ð?ð?ð?ð?ëï?€–ï?ð?ð?ð?ð?€¥ë?À ï?€øî?ð?@Ëï?ÀŸï?Úï?ÀVì?@üã?€ðî?€|ï?ð?ð?€÷ï?î?@†ï?@Æî?@kï?@`ï?ÀÐï?ð?ëï?ð?ð?ð?ð?ð?ð?ð?À$î?€tï?ð?ð?ð?ð?ð?ð?ð?/î?ÀÄí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?»ï?€zâ?@²í?@ÿï?@àï?ÀÕï?ð?@¢ï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?Àšï?ð?ð?ð?€àï?ð?ð?ð?Fî?ÀÕï?ð?ð?@éï?@÷ï?ð?ð?ð?@8ï?ð?ð?ð?ð?½ï?éï?€?ï?€¾î?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?À¸ï?Àçê?ÇÕ?Ž?>?@Zã?ð?ð?™ï?ÚÁ?$?6?Àq?Ç?pŠ??ñÃ?À‘ä?ÀQï?ð?ð?ð?€ÿï?€›Ø?ܧ?À…â?ð?ð?@Óï?ï?ð?€Ûî?€èï?ð?ð?ð?ð?ð?ÀBê?¤ï?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-ï?ëï?ð?ð?ð?ð?@î?‡Ô?€r? s?Àc?@~?Ђ?wØ?À«ë?R°?E?(?î¶?®¿?€âÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-ï?ð?ð?ð?ð?ð?ð?ð?ð?€¼ê?€‚?¸? ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?tï?Àï?@˜ã?„?N?8?<¢?@–ê?ð?ð?ð?ð?ð?ð?€„í?L´?€Ñ?@é?ð?€¤í?€üï?ð?ð?ð?€®ï?@øï?ð?ð?ð?ð?ð?@Ïï?ð?ð?ð?ð?Àï?ÀÛï?ð?ð?ð?ð?ð?@’ï?fï?ð?ð?ð?ð?ð?@öî?@0å?ð?€õï?@ýï?ð?ð?Àëî?qï?Àïï? ï?ð?Áî?À®î?Àõî?€ï?À=ï?€÷ï?Ÿï?@ì?Àñï?ð?ð?ð?@mï?Àñï?ð?ð?@„ï?€¦î?ÀWï?9ï?@Cï?@î?óî?@%î?€zë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?@gï?@©ç?€Äî?ð?ð?@ìï?ð?@àï?Àã?ð?ð?ÀÚï?ð?ï?2í?Àæï?€Fï?@,ï?ï?€Óî?ð?€àï?ð?ð?ð?êï?Àëï?ð?Ûï?Àˆî?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?ÀŠï?ð?Àjï?zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?ð?Àëï?€Šï?Àí?@é?ð?ð?Øï?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}ï?ð?ð?ð?@Bï?ð?ð?À·ï?Àïí?€¨ï?ð?ð?ÀÛï?úï?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?€Èï?€õï?ð?ð?ð?ð?ð?ð?ð?€¿ï?•î?ð?ð?ð?ð?ð?ð?ð?ð?@hï?@šï?€þä?@ã?À¬á?˜ª?€U×?@Tï?ð?ð?@Ûï?çÃ?0œ?w?È’?è¥? ‡?°?àÝ?€èì?ð?ð?ð?1Â?§?€ Ð?Àžê?@=ï?ëï?ð?@í?€òï?ð?ð?ð?ð?ð?ð?@¿î?íî?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?êï?ð?ð?ð?ð?ð?€Kî?WÒ?à˜?J½?ì²? {?€Z?jÀ?À½æ?€œí?ß?@p?p‘?¬ ?ð–?À?”¤?@Pé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáî?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?…Û?`?ôÛ?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û?L¤?`?0Œ?<²?U?è™? u??І?ø¿?€†Ü?@áï?ð?ð?ð?ð?ð?ð?ð?€nç?`˜?¬¨?Åç?ÀÏî?Þì?ôï?þï?ëï?€§î?@:í?Àýï?ð?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?@Iï?€Eï?ð?ð?ð?ð?ð?€kï?€ÿï?ð?ð?@lï?Àï?€å?@­æ?ð?ð?ð?ð?ð?Àaï?ð?ÿï?{î?À¼ï?À´î?ð?@„î?—ï?€¼ï?ð?€ƒï?À(î?iï?ð?ð?ð?ð?¦ï?ÀÓî?ÀÑî?¢í?Ànî?Üï?@ÿï?ï?À’î?€+ï?@&ï?@îï?ð?ð?ð?ð?ð?€®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³í?šé?@Èì?€×ï?ð?ð?\î?-ã?ð?ð?Àï?Àgï?Úë?Öé?ð?€±í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?Àxí?ð?ð?ð?ð?îï?ýï?À¾í?@'î?Àøï?€Èì?@þî?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?@¡ì?À¨ë?ð?}ï?À¥ï?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLï?ð?ð?ð?ð?€àï?ð?2ï?í?òï?ð?@éï?@÷ï?ð?@Ëï?ð?@àï?ð?ð?ð?ð?ð?ð?ð?Àèï?€÷ï?ð?ð?ð?ð?ð?ð?ð?À½ë?@éï?@àï?ð?ð?ÀÕï?ð?ð?ð?Ðï?@.ê?€ÑÚ?€Å? ™?˜¸?Àií?ð?ð?ð?À~ì?ð›?Hž?`Š?(š?âÓ?7Å?*¿?,?\?ôÐ? Ñ?€í?ð?ð?7Õ?ÉÂ?Ȱ?š?˜¥?ŽÝ?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ð?ð?ð?ð?@\ì?aÁ?P?ÛÅ?ÀIç?€¢Ó??€S?À§?V±?̺?€çë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?€ÉÓ?°’?.½?Àáã?xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ï?€·é?4È? ?@c?€CÓ?eÓ?€ÚÔ?¬Ì?˜À?€ÃØ?WÓ?@Úæ?€Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À%á?€W?pƒ?@Aé?€Áë?À€í?;ï?@“î?€sï?ï?€Hí?ð?ð?@î?@úï?ð?ð?ð?ð?ð?ð?ð?ðî?@óï?ð?ð?ð?ð?@¶ï?ÀÓï?ïì?@úï?ð?ð?ð?Ùï?€‹î?ð?ð?ð?ÀÕï?ð?ð?@¶ï?ôï?ð?ð?À"î?ÀÙï?ð?ð?€Úî?@éï?@ƒï?€Eï?Àåï?ð?ð?ð?€uï?€½î?@?î?@ï?@Ëî?Àdï?€lï?@Êï?Àã?€-ì?ð?€ôï?Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?¸ï?@î?ð?ð?ð?€–ï?ð?¼ì?Ðî?ëï?À<í?ÀDâ?Iï?ð?À]î?Àoï?€|ê?@Êë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€gî?@ï?ð?ð?ð?ð?Àdï?@çí?Àeí?À¢í?Eî?À¿ë?ð?ð?@âï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹í?ð?ð?ð?ð?¬ï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·î?ð?ð?ð?ð?ð?ð?ëï?€ï?ÀÛí?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?ð?ð?ð?ð?ð?ÀOî?ð?ð?ð?@ôï?ð?ð?ð?ð?€Nï?ð?ð?ð?ð?ð?ð?ð?À¾ï?Àˆë?ÓÃ?~á?ð?ð?ð?ð?€œÙ?Ð?|¯?ð„??Q?¬°?@(â?€Ðï?Ànì?1ß?€Hê?Ê? t?ü ?€‘ß?À4ï?ÀŠï?Àáï?ð?ð?ð?ð?ð?ð?ð?Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?€õï?€îï?ð?€Öï?ð?ð?ÀÓï?²Á?Â?væ?3Ç?U?e?°™?ÊÍ? ?ȳ?~²?@Ñé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sä? Ã?Àa?Ð?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çç?@nâ?šç?€Çï?ð?ð?ð?@ ï?î?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?@šã?ëÃ?ŽÕ?€lê?€-ç?ÀOå?€è?À4ì?À£ï?Œï?ð?ð?-é?À´ï?ð?ð?ð?ð?ð?ð?ð?îî?À¿ï?ëï?ð?ð?ëï?ð?@àï?@±ï?@ÿï?ð?ð?ð?€Òï?ð?ð?ð?ð?€àï?ð?ð?@üï?€åï?ð?€ýï?@Dï?Àöï?ð?ð?ð?ð?€»ï?þï?Àãï?ð?ð?@àï?úî?À£ï?êï?Àhï?€èï?ÀŽï?ð?Àºí?€©ê?Þï?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?@ùï?@ãî?ð?ð?ð?Àï?¼î?ð?ð?ð?ð?ÀÕï?ÀLï?@jï?À\ï?Æë?ÀÇæ?ÀAí?æ?€ôë?Ìî?€úï?€ùì?@˜ê?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïí?ð?ð?ð?ð?ð?ð?@'ì?Àgí?ð?ð?ð?ð?€ãî?€Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aî?@Gï?ð?ð?Àãï?´ï?ð?@äï?½ï?ð?ð?ð?€°ï?€çî?@äï?ð?ð?ð?ð?ð?ð?ð?@Ëï?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?óï?˜é?€\í?@„î?€êï?ð?ð?ð?ð?@¶ï?ð?-ï?ð?áì?€ƒâ?8¿?ÀÇ?€%ï?ð?@7ï?Àüï?€æï?jÄ?€r?€ûØ?€rï?ð?ð?€Æê?£?P?€Õ×?€–ï?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ëï?ð?€–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.ï?@ôï?ð?ëï?’ì?@’é?ð?ð?@ñï?pÂ?@p?€Mã?Ü?U?@d?°?ؤ?,¼?$­?€é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?€ëç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û?€V?ÑÍ?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?@Èé?@Ýà?zÙ?Ö°?°§?^²?˜°?èÜ?@Œá?ÀPé?€òï?ð?ð?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?€Ùï?@ýï?ð?ð?ð?€"ï?€àï?ÀÀï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ï?ÀÁï?ð?@¶ï?€àï?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€`î?Àüî?ð?ð?ÀSî?@lî?ð?ð?ð?ð?ð?ð?€‡ï?@Äî?€Úï?À/î?ë?€Jä?€åè?@;é?€•í?@âç?€úï?€ßï?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êî?@î?€Òï?ð?ð?ð?ð?À í?@¼ì?ï?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æí?€^ï?@îï?@÷ï?€ýï?À«ï?wï?ÀÀï?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µï?ð?ð?@¡ï?âï?ªï?ð?€ ï?€Éï?@÷ï?@oï?Àï?Àëî?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?€vî?€ï?€²ï?@‚î?ð?€äï?Àáæ?hì?Àüï?ð?ð?ð?ð?Úï?Âï?€Aî?–í?ÀBì?Jß?ø§?(”?S?€¦æ?€‹î?ð?ùï?ð?@í?p’?€ÖÕ?@(ì?ð?ð?íÛ?J??À˜ã?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?€ßï?ð?ð?Àï?0É?U?Œº?ÓÂ?8?>¶?H¡?¦?`q?T½?`~?^Ð?@8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNî?ÀUè?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?öÝ?@d?@q?ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@Âì?Î?T¨?'Õ?€¤ï?ïï?ëï?€ïï?Àðï?ð?ð?@ôï?@éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èï?ð?ð?ð?ð?Úê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwî?€âï?ð?ð?ð?ð?ð?ð?Àaï?ð?ð?ð?„ï?Åï?­î?À(ï?ð?–í?ºï?€¬ì?Àhæ?@[ä?àê?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ï?€Oï?€ûï?ð?@ðï?ð?ð?@ìì?@þï?À^ï?@àï?ð?ð?ð?ð?ð?ð?ð?-ï?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xï?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?@ðï?ð?€Œï?ð?ð?¡ï?ëï?@'ï?@Wï?À#î?>î?êí?Ní?@í?Uî?Íï?ð?ð?ð?@Ëï?€iï?2ï?ð?òî?@»ï?À˜ï?ð?Àrï?Hï?ð?ð?ð?ð?ð?€gï?@Ùì?@ì?ËÚ?ºÃ?è£?P°? ?3í?ð?€àï?ð?ð?€Ëæ?µ?€[í?ð?€eï?Ø?¥?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?Àáï?¬Ä?“?EÂ?¨¨?«?ž¼?À?@èê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[î?€®Þ?€Æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ç?€ƒ?1Ï?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ì?ij?X›?€›æ?ð?ð?ð?@³ï?€øï?ð?7ï?€¾î?€êï?ð?ð?ð?€–ï?ð?ð?Àüï?ð?€ìï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?¹ï?ð?ð?ëï?Àï?@¸ï?€Üï?@äï?ð?ð?ð?ð?ð?ð?ð?€½ï?ÀÉï?ÀÕï?ð?ð?ð?ð?ÀÛï?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À…î?€:ï?€Cí?Íí?Èï?Àéî?@Óí?Þî?Ôè?€wÞ?ÀQë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›î?ð?ð?À<ï?ÀØì?Àðï?ð?€ží?ð?€ãî?@àï?ð?ð?ð?ð?ð?ð?€þï?Àñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?@Þï?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bï?Àüï?Àùï?ð?ð?ð?ð?Àúï?Àºï?ÀÆï?€«ï?À¸ï?€ýï?ÀLï?€™ï?Àáï?qï?À ï?ð?€@ï?ð?@òï?À”í?Àãï?€þï?Eï?@Îî?À-ì?€ùï?€½ï?Àþï?€ï?@^ï?¯ï?ëí?õï?ð?ð?ð?ð?ð?ð?€+î?@¢à?àœ?U?I?€|?ر?Àõî?@Rí?ÀÓï?ð?ð?…Ú?€QÝ?ð?ð?‰ß?"¿?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?@Ëï?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?‹À?ä¤?ˆ´?0‘?€‚?b?ðŠ?¨?¨¢?À?D?4?€Z?zÅ?DÜ?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äé?À ç?@µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rï?š¸?@f?@´ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èã?P–?<­?Àdã?@žï?ÀÀï?@÷ï?@éï?€jî?€‡ã?·ê?ð?ð?@Öï?Èï?ð?ð?ð?îï?ð?ð?Àñï?ï?ð?ð?ð?ð?ð?ð?ð?€ôï?€àï?€àï?ð?€ôï?ð?ð?ð?ð?@Ëï?@Êï?Qî?Àþï?ð?ð?ð?ð?ð?ð?@æï?À¿ï?öï?õï?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?À¿ï?ºï?€{ï?@üï?ð?ð?ð?ð?ð?@aí?€ï?ð?ð?ð?ð?ð?@ï?;í?@ï?ÀŽï?€æï?ð?Uî?ëï?€!ë?CÜ?@ì?ð?ð?ð?ð?@”ï?@vì?ð?ð?ð?ð?ð?ð?ð?ð?«î?@‰ï?xï?ð?€¼ï?À2ï?ð?@/í?ð?Àèï?íï?ð?ð?ð?ð?ð?ð?Îï?ÀËï?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?@Üï?ð?ð?ð?ð?ð?ëï?ÀÕï?ð?@öï?€Éï?€«ï?ð?ð?ð?ð?ð?ð?ð?ð?îï?]ï?Øî?@íí?ÀÓí?Òë?@oî?€4í?@è?€,ê?¨í?@wî?À4ï?@Ëï?ð?@Ëï?€yî?„ï?šï?@ƒî?@ì?0«?`À?®î?ð?ð?ð?@rî?Ôº?U?—Ì?@µï?Ýà?Œ©?Ë?éê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zï?@êï?ð?Àþï?Àáï?À?»?òÍ?âÖ?À¹á?Àêí?ÀÕï?êí?ôé?€é?€=â?€{ä?€¡â?‰Â?ÍÈ?ܬ?K?2?D¾?sÆ?Q?<£?0?@£ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€°ë?Àï?ÀGì?ï?€mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[ä?@Š?•Ë?@¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷Ø?C?éÎ?Àá?ç?€+Ù? º?èÜ?Dï?@¢ï?ÀÓï?@æï?€ôï?ð?À;î?Àþï?€àï?@Ëï?€ìï?@5ï?@Îï?ð?ð?@‘ï?€éï?ð?ð?ð?€öï?€"ï?ð?ð?€öï?ð?ð?ð?ð?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€€î?Íï?Àôí?ñí?ð?ð?ð?Àáï?@ôï?Àñï?ð?ð?ð?€ïï?Àðï?ð?í?À¨î?Àúî?€òï?@ÿï?ˆî?€·ï?ð?€¯í?€ â?€X×?@Óä?Wä?@Ëå?ð?èï?«â?@sî?ð?ð?ð?ð?ð?ð?@Øï?€Øï?@µî?@•î?ð?ð?Õï?€ýï?aï?ð?ð?ð?ð?À×ï?€öï?ð?ð?ð?Àæï?”ï?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Uï?À$ï?ÀÆï?Àˆï?@‘î?Àï?€ºï?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀPï?î?ë?€ë?€¡â?€êé?ï?@Ëï?@¸î?Wè?œê?ýÞ?gè?0Ó?À#á?§Ê?X”?À—ä?ð?ð?ð?iÜ?€`?cÆ?Y?ÞÇ?6ì?€©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€×ï?ð?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?@½ï?€Ñï?€ºï?€›í?À¥? r?DÎ?€Yã?€Ðí?Äï? ï?ð?ð?ð?öï?Àðï?€øï?èï?ð?€Þï?@ ï?@åì?€.æ?gÍ?è§?U?®?(²?RÌ?0›?vÔ?Àsï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?€kã?@mí?žé?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?Àë?Ý?$??€Îè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëî?€ÚÛ?3À?Àa?À??X¥?€RÔ?«í?ð?Àþï?@îï?€ºï?ñï?ð?ð?@ùï?fï?€Íï?@öï?€Çî?€Ýï?ëï?ð?€×ï?@ðï?ð?ð?ð?ð?ð?ëï?ð?ð?ð?Úï?€_ï?_ï?ð?@ºï?jê?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Àâî?ð?Wï?€0î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?À¯ï?Àí?–î?€òï?€ï?Çï?‘ì?€·ï?+í?@#î?Îç?€‹ç?Àxà?£Ñ?€@Ô?€ è?ð?€Eä?€Eí?ð?ð?ð?ð?ð?ð?€ýï?ð?Àÿï?€êî?ð?ð?€Aï?€ïï?@†í?ð?ð?ð?ð?@ ï?Ààî?ð?ð?ð?ûï?@×ï?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ÀÔî?ëï?ð?ãî?ÀJí?@‰ï?Àûï?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?€Ñî?€sï?”ï?€”ì?Bî?Öã?Ç?ÀHê?€;è?@và?|Í?"É?f²?@x?øÑ?À÷î?ð?Àqä? q? ?MÑ?ÀBî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?@àï?ð?ð?ð?ð?ð?ð?ð?€õï?ÀGï?Äì?±ï?Àï?Lå?Ã?Àµé?7ï?€´ï?wï?&ì?šÓ?X¼? ½?üÅ?°Ê?Àdë?ð?ð?ð?€Ùï?€Üï?@„ï?ð?€Wí?úÌ?ø¡?¸?¸›?âÉ?è??IJ?@Uì?ð?€Òï?À7ï?9ç?f¶?ÒÓ? è?@ï?óï?€ï?@Áï?@¾ï?öï?ð?Àæï?Åï?€Õì?€üá?€×â?1Ö?éË?€•Ô?ÂÁ?€‚? †?0?¡Ã?DÆ?J·?SÎ?·?€r?éÃ?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*å?@}í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Kî?€Ø?î?ð?À¹ï?åï?ð?ÀYï?€Àå?r°?€ßá?€¥ï?òî?€/ï?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?Àúï?@¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Hí?€ÉÚ?€ë?€|Þ?Œè?@ä?À ä?€$â?À×ã?€ÿÔ?Àíâ?jÊ?€œ?€¶Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,ì?€•î?@þì?ÀÏì?€’ì?ð?ð?ð?ð?ð?ð?ð?ð?€£î?€œï?€^î?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?@Ãè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?ð?À—ê?@Qï?@µï?€mî?@Rï?Ôî?€Âï?@8ï?Ðí?@Òï?ð?ð?@éï?@Ùï?Àqï?€ï?í?@Ëê?Àœá?pÙ?°¶?l¡?`?€Q?0•?€^?rÊ?˜®?e? “?@±?õË?ˆ«?À¨à?€HÙ?Ö¼?€Yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?Óï?ð?ð?Ùï?€9á?àv?€OÐ?™Ò?]æ?€ªÞ? ¦?€U?€ ×?€…Ð?Àr?ZÉ?À'ë?Àãï?@÷ï?€ƒí?ÀAï?þï?@÷ï?€¾ï?ð?Àë?€+Ø?çÅ?,?x—?Ô¡?ñÉ?”´?£ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@>ë?/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€-í?{? q?€ è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?0Î?»?@qé?À·ï?ð?ð?Àáï?“î?ð?Øï?@ûï?€£ï?gï?kè?@y?À‘â?në?€Ðì?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡î?ð?@ûï?€õï?ð?ð?ð?Àãï?€Ûï?ð?ð?ð?@Øï?Àñï?ð?ð?ð?€ï?Žé?@ã?ÀÅá?@dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?€&í?Ïå?Å?€‡Ô?yÜ?qÏ?ÀÃá?cÛ?oÐ?ÓÅ?¡??¡?D?þÖ?Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üì?Õë?ð?ð?ï?ð?ð?ð?äï?@êï?ð?ð?ð? ï?@Êï?€*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?ÀÜë?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?­è?ÿÞ?NÞ?€¨é?€Êí?óê?€í?Àï?€’î?À”í?Àçï?ð?Àêï?€[ï?@[ï?¢ä?EÊ?€ Õ?yÉ??Í?Àˆ??w?¸‘?€HÔ?æÅ?à~?Àcà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí?ð?@ôæ?«Ç?àˆ?D§?N?€?`t?x’?`«?y?å?@Íí?µ?–? Œ?¨˜?@t?@‹?0Ô? á?Úê?@áï?€Ûí?@ë?ð?ð?@¼î?Ïî?À‚ç?€\Ù?ÀÁ?€e?Ö°?rµ? {?iÁ?^¼?gé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õì?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?€Ó?€öÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?,å?€`?ð®?žè?ð?€ßï?ð?@½ï?€¿î?Àoï?€ßï?ví?À?ï?}ä?"Ö?€ãï?ð?ð?@ÿï?Àòí?€7ï?ð?ð?ð?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íë?€-ï?@Úï? ï?ÀÙï?ð?€êï?ð?ð?ð?ð?@Yï?€Ïï?ð?ð?ð?ð?ð?€ýï?À×í?@è?ûï?ð?ð?Àxì?Àìì?ð?ð?ð?ð?ÀÒï?ð?ð?€ê?Í?˜?@w?0š?è§?ô­?M?ÛÉ?ÀÕî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2ì?@~ì?ð?@¿ï?ð?ð?ð?ð?Àýï?€‡ï?ð?ð?ð?@ñï?À]ï?€øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€ ï?ï?€¾ï?ð?ð?ð?@½ï?Àoí?ð?ð?ð?çî?€´Ý?’Î?h­?`›??@©?À™â?€ŠÜ?çÈ?€ è?ð?¤í?€Ùí?€é?€5Û?œÖ?ÛÉ?8’?L?K?`t?(?@5à?@ví?|Ê?è–?4¾?À…?äà?ð?ð?ùï?ð?ð?ð?ð?ð?ð?Àÿï?€ÿï?ð?ð?€ùï?€ÿï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?0ï?_×?”½? t?Œ¬?ÙÊ?Wå?@Íê?Iî?€0ê?@hä?€øß?áà?+ß?H¬?€Ý?€ Ú?¤§?W?2?U?Ào?~¾?°‰?ú°?ÀÎé?€=ï?Êï?§ï?@âï?@Åì?€Õå?Ñ?ˆ”?H¶?F¹?€U?¢?è—?@u?Ž?ÀMí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yí?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À-ê?´?¢Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?~ï?XÙ?@d?|½?Rì?ð?Àáï?@óï?Ôï?€îï?€òï?ÀÈï?î?D¹?Oß?€ï?ð?€ßï?€ê?€Æì?ð?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åï?ð?ð?@ûï?À§ï?Ààï?Àüî?@Ùï?ð?ð?@ºï?ð?@¿ï?Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?!ï?{í?ð?ð?ð?ð?@Rî?ð?À0ï?’¾?À=è?@êï?ð?Àžï?ð?ð?ð?ð?ð?ð?ð?€áï?ì?€Öì?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñï?€ëí?À*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉî?€0î?þî?ð?ð?€ðï?ð?ð?ð?ÀÏê?Ö?(™?o?OÇ?€ï?¡ï?@@å?€ÉÙ?6?À¥?'Ã?<Ì?Å?õÏ?“À?F?¨›?€ÆÝ?ð?€êï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€­é?@p?Àg?2Ê?â?€è?@²ë?À7ï?ð?ð?ð?ð?ð?ð?ð?ð?€¯í?°?¢Û?@õï?€ßï?ð?ð?Àóï?€Ëï?@î?@{å?Xá?²Ç?X? u?«?ùÅ?€vÕ??°?à|?”®?Àfç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?À×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€gï?@mì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@!ì?л?в?Àþì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œß?C?ûÀ?€oê?ð?ð?ð?ð?@™ì?€à? ³?V·?îç?ð?ð?ð?ð?Àžï?Àóï?ð?ð?€´ï?ð?ð?Ðï?€Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=ï?úï?ð?€ýï?@Èï?€§ï?‹ï?òí?À¡ï?ð?ð?€ƒï?ð?€ßï?ð?”ï?ð?ð?ð?ð?ð?ð?©î?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ð?ð?–ï?oÁ?@Ï?öê?ð?@ùï?Øî?ð?ð?ð?ð?ð?ð?€Âî?Žì?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?Åî?€Üî?Ðï?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fï?@Œî?@¿î?À›í?Àèî?€î?€èê?Àíè?Àïæ?|Ü?þ¿?H˜?Ј?H‘?Àà?Çï?@óç?€zØ?ò¿?ö¿?$Ñ?9Ð?€òÓ?º?€b?À¢?€Oç?ð?Ûï?ìï?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?úï?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?´ï?9Å?°“?ÀYå?Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]ï?À¢?W?8?€U?§Å?@mí?«ï?@Þï?ð?ð?ð?€åï?ð?À³ï?Àüí?€tê?€‚é?ð…?¬ä?@ÿé?ŒÙ?$?P¾?\¿?ÀÞî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?€ùë?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?‡À?ÝË?€Lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‘ë?Ô¬?ˆ¤?€vÞ?@(ë?€©é?µÛ?Rµ?À-à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?Àßï?ð?ð?ð?ð?ð?ÀÔï?íï?ð?ð?@sí?÷ï?ð?@Sï?´í?€˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€~ï?Àhï?€Éï?ð?Àžï?ð?Àáï?þï?5ï?ð?ð?ÀÌí?áÞ?Àr?@åà?ÀÆí?@ùï?€$î?@Rï?ð?ð?ð?ð?ð?€%ì?€—ï?ð?ð?ð?€Wï?À=ï?ð?ð?ð?ð?ð?ð?ð?ð?@Sï?€¡ï?€ôï?ð?ð?ð?ð?ð?@üï?@ðî?€­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?€/ï?ÀÓï?ð?µí?@íï?@rî?Àˆë?nË?‹Â?Ì ?@r?Ó?€"ï?§ê?€ Ò?P¡?0?ö»?\Ó?€YÐ?€˜Ý?À®ï?Àä?à‚?€»Ó?ìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?ð?ð?ð?À×å?Ì?ãï?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?Jâ?A?E?s?0¥?` ?eÂ?Ùé?€Õë?î?@ßì?ÀÙï?ÀÙï?ð?Àßï?ÀÙï?õï?@4à?xË?þ¶?ˆ?Ä©?@Îæ?Àkî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ í?À8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯Ó?€â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À-â?À”î?~×?]Ö?@|? p?B?Gà?ð?ð?ð?Ànï?ð?ð?À0ï?@Âí?ð?ð?ð?ð?ð?ð?ð?ð?€êï?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Hï?ð?ð?ð?ð?ð?ÀAî?€3î?‡ê?ÀÝî?ð?Æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?€ÿï?íï?ð?ð?À8ï?À¯ï?€êï?èî?Eé?×É?™?æ?œë?À$ì?aî?ð?ð?ð?ð?ð?@ ì?@í?Àþï?ð?ð?ð?€ßï?ð?ð?µí?€Dî?ð?ð?ð?ð?ð?€áï?À\ï?ð?ð?ð?ð?ð?Lï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?À6î?ÀÞï?Õ?A?¤¬?Àßê?À—ï?Àbæ?€Œ?0‹?°ˆ??øÈ?€LØ?@Ä?°„?þÂ?hæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?ð?ð?ð?ð?@íî?PÎ?€ˆÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òä?¯Ë?º? x?ô¡?°¢?Y?0€?D ?¸?@Jà?€Âï?3ï?ð?@Üï?@Mï?@Æï?ï?Àìî?€.í?Ñâ?¤?x¿?€ƒÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ï?@Bì?Àcï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?jË?ا?@Êã?€Cì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ æ?„±?÷Ù?€³Ñ?€¬Ò? ?|£?À ì?ð?ð?Àòï?úï?ð?ð?óï?ï?ð?ð?ð?©ï?öï?ð?ð?ð?§ï?€¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?€°ï?@òí?€ÿï?€êï?ð?ð?ð?ð?Àÿï?€xî?ð?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?Àîì?€Nì?Ïï?úï?ð?”í?IÞ?¸»?­á?€}ç?¨é?ýï?ð?ð?€êï?ð?€×ï?@Uë?ð?ð?ð?ð?ð?ð?ð?Àõï?@ùï?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?À î?^î?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?@î?À„î?mÅ?pÔ?€àê?¿ã?`z?X»? ~?f±?`?sÐ?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?@í?!ê?@Aí?€Áî?Àuï?@öï?Êï?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñí?HÇ?Àªà?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@é?°Œ?€íØ?€r?¬¤?Àsä?Àúï?@øï?þï?×ï?€sï?ð?ð?€ùï?ð?ð?Àãæ?&Ò?š?°?Àöë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2î?Àåî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:Ð?|ª?À{â?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?|Æ?h³?@l?‚Æ?@ûï?ð?€êï?kï?ð?À†ï?ð?ð?üï?À­ï?ð?ð?ð?€êï?ð?ð?ð?ð?Êï?@«ï?Àêï?ð?ð?ð?3ï?ð?ð?ð?Àõï?À²ï?€í?€þï?ð?€Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€êï?€ßï?í?¸Þ?àx?iÍ?@“á?€µâ?@Nî?ð?ð?ð?ð?ð?€lí?ùï?ð?ð?ð?ð?ð?ð?öï?Àäê?ð?ð?ð?ð?Àúï?ÀJï?Rï?ð?ð?ð?ð?Àþï?nï?€ñï?€¯ï?ð?ð?ð?ð?ð?€gï?{ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?Àšë?NÊ?J?àr?°?„Â?€CÑ?•?@çá?Àiä?IÐ?@u?€Éé?ð?ð?ð?ð?ð?ð?ð?ð?€zí?µç?Ÿê?@ï?×ï?Àrï?Àžï?ð?ð?ð?ð?@ÿï?€Ÿï?À¹ï?ð?ïï?€ãï?À©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥ì?l½?€:á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ î?åË?œÍ?ì?ð?Àóï?@îï?€þï?Åï?€Ãï?ð?ð?µî?Àï?@Kë?_é?€°ä?ø¬?ÎÁ?”¶?€áä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰í?€åì?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&×?€U?R?€æÛ?@Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?@Oí?„£?ÛÕ?@ûï?ð?Àžï?‚î?À²ï?€Ìï?ð?ð?ð?ð?ð?€~ï?€ßï?ð?ð?ð?@óï?ð?ð?Üï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?À›í?Oî?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?@‰ï?ãï?(ï?€®ë?@(æ?À¯î?@Vè?€ÆÙ?›?Àb?_Ã?Ș?Rà?·ç?ð?ð?ð?ð?€.ï?•í?ð?ð?ð?ð?ð?ð?ð? æ?ð?ð?ð?ð?Àýï?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?@yï?€xî?@Ðî?@Ãï?€Õï?@#ï?Äî?@Ìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„ï?Àaâ?ªµ?Ð?gØ?Àeë?ç?Àéì?€.ï?€ßì?À£ë?•?X£?À€æ?ð?Þï?@©á?€vÓ?Àœï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?óï?ð?ð?Àeî?ð?@õï?@Yï?úï?ð?ðï?ð?@’ï?£ï?€ßï?Öï?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ÀEç?0†?p„?@­ä?@õï?€êï?ð?ð?ð?ð?.ï?€þï?ð?ð?ð?€ï?È?0?¤¬?Àqå?¦â?€žß?‡Ù?ÍÐ?pÉ? ¹?ÝÈ?€µÒ?€Eà?†×?4Ó?àz?±Ç?À4â?€½ä?€•â?ø½? t?ãÇ?DÞ?€FÐ?@Æà?€(Ó?`‚?F?`š?ÀÑç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€aë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÜÛ?d?—Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?€3í?@Ýí?£ã?€Ð?Àêï?€áï?pî?@ï?@Çî?ð?ð?ð?ð?@ ï?ßí?ð?ð?ð?ð?ð?@¾î?Œî?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êí?êî?@ï?ð?ð?ð?ð?ð?ð?ð?€Óï?€öï?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?€›ï?@Ìì?†Ï?pÈ?D°?H?ŒÂ?€Iá?@õï?ð?ð?ð?ð?Ùì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ï?€¸î?œ¾?(²?€£ä?öï?€~ï?ð?÷ï?ùï?ð?Õë?¨²??T?{?¥É?zï?ð?ð?€í?€=Ð?@ à?À—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?3Ç?€IÖ?€ÿï?ð?ð?ð?ð?ð?ð?ÀÆï?Àþï?ð?ð?ßï?€ÈÖ?Œ?P’?ü£?€ž?€â?Âå?Žî?ð?€Éî?´ê?€Så?Ýê?ð?ð?ð?@ûï?Mí?´à?€—Ù?—À?,É?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À(î?Úì?€ûè? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À/ã?˜˜?€]é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Eé?¶?€í?Àòï?À½î?€ðï?@7ï?ð?ð?@–ï?ð?ð?Àéé?€%ï?ÀÔï?ð?ð?ð?€~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?€ì?ð?€üï?€‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?©ï?[ä?t±?vÊ?€ã?€¶ê?ð?ð?€Œï?ð? í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?€6ï?Që?à†?ÆÎ?vë?õï?@ùí?Æî?ð?Àöï?ëî?€¤ì?ÁÁ?X»?€y?p´?`x?€X?Àùè?ð?ð?ð?€•å? |?D?•å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨ï?@î?ð?ð?ð?ð?ð?ð?@ñï?ÀØï?ÀAï?üï?ð?ð?ð?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÚÞ?€Ïß?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ç?J¾?D ?x¥?LÀ?€÷ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€NÚ?€g?p‰?R?€Ó?@5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âì?ð?ð?ð?ð?ð?ð?ð?ð?€…í?@î?ð?€ùï?@Tì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þè?€e?H?zØ?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHì?p”?@…?@ç?Àôî?¹í?ð?@ñï?öî?ð?À8î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?Àñî?ð?ð?ð?ð?@Tí?ð?@sï?@‹ï?@xï?Èï?¿î?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À«ï?@Ñï?€ ä?“?öÑ?@üæ?@ æ?nï?ð?òï?ð?@'ì?ð?ð?ð?ð?€êï?ð?ð?ð?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{î?ð?ð?ð?ð?ð?ð?ð?€½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?Àÿî?ÀÔæ? s?à…?@ì?ð?ð?’ï?ëî?ð?±ï?Vï?ÑÙ?X“?¶Ã? ?€Ýå?Àºï?@Ùã?MÐ?`€?‹?è§?þÙ?Dì?@„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?@Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?Žï?ð?ð?ð?@õï?8í?Ë?’Ê?€Êì?éï?Àµï?ð?€·ï?úï?ð?@çï?ð?@‰ï?@Rï?ÀÁï?ð?\ã?X?NÁ?h¶?—?€ì?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ôí?À®á?Îà?ÿÂ??‹×?@¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€tí?ð?ð?ð?ð?ð?ð?@nï?âí?ÀIî?ð?ð?ð?Ëë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?|²?˜?@ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?€ðè?@Oç?€²?€›×?@1î?€Áï?Úî?ð?ð?ð?ð?@íï?Pï?ãï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?Ýï?Àþï?ð?€”ï?ð?ð?ð?ð?€Dí?ð?ð?ð?êï?@§î?Ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ë?X¡?¨?ÀZá?æá?À ï?ð?ð?ð?Lì?ð?ð?ð?ð?ð?€êï?ð?ð?@ñï?À˜ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@.ï?Xï?À‘ï?0Ê?˜’?À^í?éï?ð?ð?ð?ð?ð?@*ï?˜´?4­?\¤?ÇÅ?@d? Ó?á?T?€U? ‹?€íÓ?À4ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§ê?D°?¢?€2Ý?ï?ð?ð?ð?ð?@øï?ð?ð?@—ï?ð?ð?@úï?€!ï?ð?€Mç?Ü«?vÌ?ð¨?À é?ð?ð?À?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ví?•è?ÀÖà?@¢à?FÁ?4?¿ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?€øï?€üï?ð?@õï?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lí?€Ýï?ð?ð?ð?ð?ð?€2ì?€rï?ð?ð?ð?ð?@ ì?@¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@à?†¹?:?@ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñê?€xÐ?¸š?€uÚ?Rï?€*î?€ßî?ð?ð?@hï?Àî?åï?@¢ï?ÀÊï?€êï?ð?ð?ð?À©ï?ð?ð?@âï?;ï?ð?€eí?€+ï?€êï?€ßï?ð?ð?ð?ð?Øï?Àùí?@§î?€«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@¬î?§È?ÜÓ?€a×?Œ´?@(å?ð?ð?ð?Àì?ð?ð?ð?ð?ð?€´ï?ð?ð?bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?œï?Àšï?ð?î?€ƒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Lï?€ï?"ä?E?@~?"ê?Óï?€Ãï?ð?ð?ð?€Òï?@×å?à?¿?€V?TÇ?ÀÅï?ð?ð?ð?‘ï?@÷î?&ä?W?x£?Ø®?5À?X°?€a?€\?"²?@ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?@…í?#í?€î?€ì?èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€?í?€>Ú?6?K?€}ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?…á?,¸?¿ì?€ãî?ð?{î?@Lï?ð?ð?€üï?ÀÐî?nç?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?@qï?@ê?@?ë?@{ï?€éï?ð?ð?ð?€ãï?@ïï?@Ãï?eï?ð?@úï?À?ï?ð?ð?ð?ð?€Ûï?À!í?€Úï?ð?ð?öï?€üî?@ƒï?ÀÔà?´??€V?L?€oå?ð?ð?ð?€óê?ð?ð?ð?ð?ð?À¬ï?@ùï?ð?ð?7ï?ð?ð?ð?€Iï?Àúï?ð?ð?ð?ð?ð?ð?Àûï?Œí?€£î?ð?ð?€;î?Íï?€î?€î?@¿î?Àï?@ƒï?Àaì?Àëï?ð?ð?8ï?@Ÿí?ð?ð?ð?ð?ð?ð?ð?@£ï?ÀIî?Ó?(?0 ?Àc?œ?Éì?ð?ð?ð?€’ï?@î?ð?€‡ã?@d?˜¨?}?Â?ÓÞ?Àâç?cî?€–ï?€¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€é?¸ê?Àôï?Àæï?ð?ð?ð?ð?@mï?@4ç?ùé?@ï?€ßï?ð?ð?ð?@`ï?€?ë?¹ï?Öï?Àçï?úï?Àôï?ð?èï?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?€ïé? ? x?h?;Ä?ì?ð?ð?ð?€Ùï?@¬ï?„í?Ô?;Å?½Ú?v²?ð€?Ø®?¥Ï?Ä?À›?0Š? ¯?æ?ð?ð?Öà?€W?h”?À}?8¥?jÂ?¶?€g?F¶?Àï?@?ï?€7ï?@‰ï?@çï?€Èí?9Å?¾Å?0£?P¡?LÄ?@8ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?ð?ð?ð?@ðï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?ÊÎ?h²?Áç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñí?Àà?}Ù?€2Ò?&Î? ‡?€Z?@Øæ?ð?€éï?ÀCí?Àýï?µï?ð?ð?ð?ð?¦ï?ð?ñï?€¼ï?¦ï?ð?ð?ÀÇï?ð?ð?ð?€éï?À‰ï?›ï?@ºï?€éï?ð?ð?€ïï?ð?@Ñï?1ï?ð?ð?€ï?€vî?ð?ð?ð?€Þî?Àôï?ð?ð?Àáï?€ñï?@Ûï?€)Ù?«â?ð?ð?ð?Õé?@óî?ð?ð?ð?ð?ÀZï?@.ï?ð?ð?îî?ð?ð?ð?0í?€²ï?ð?ð?ð?ð?ð?ð?,ë?@”å?ð?ð?ð?ÀÀì?ìî?ð?ð?€Þï?í?î?€¾ï?ð?ð?ð?ªï?ÀÞî?€{î?ð?ð?ð?ð?ð?ð?ð?âï?çä? ?îÇ?€Îï?ð?ð?ð?@ ï?Àþí?ð?Û?@¥?[Ã?ÌÈ?ÀÇë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?À;í?€øï?ð?ð?ð?ð?ð?@Þï?€éï?€bï?ð?€ÿî?Àýï?ÀÇï?ð?ð?yî?€ï?®î?Ÿí?_í?@Zî?Àßï?ð?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?-Ü?âÄ?âá?À}ä?€Òæ?€Ý? Ç?@jà?Ö?x“?@Gí?€^è?À¦?p›?$¾?P·?²?»?ÈÄ?à§?2?ت?P‰?èž?Íä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Bë?ì¤?‘?€—ß?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?€Üï?ð?@„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸï?€PÖ??Àt???€ Û?€Ãí?@ƒï?@çë?Àôï?¹ï?ð?ð?yï?€éï?ð?ð?Àï?äï?€éï?ð?ð?ð?ð?ÀÇï?ð?ð?€¡î?À«ï?@±ï?ð?ð?ð?ð?ð?ð?€¼ï?ð?@Îî?À¥ï?ÀÜî?@Fï?ð?ð?ð?ð?ð?ð?ð?ï?Åà?Àr?Ï?@Þï?ð?Óï?Àmì?Éí?€÷ï?ð?ð?4í?€¢î?Àjî?ð?ð?ð?ð?ð?ð?ð?íî?ð?ð?ð?ð?ð?ð?@ùï?@bï?ð?ð?ð?ð?ð?ð?ð?€éï?ð?Óï?ð?ýï?ÀÇï?ð?ð?ð?ÀÈí?€>î?€þï?ð?ð?ð?ð?ð?ñï?€¤ê?t¦?à?ð?ð?ð?ð?ñï?€'í?ð?ñÚ?€†?¡Ä?@éè?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýî?ð?ð?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?@Þï?ˆï?Àœî?Uî?@Äí?ð?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@ï?ð? Ë?Àa?>?<¶?€U?ÖË?)Å?[?-Ì?ô¢?à?A?•È?Ȫ?@yè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«î?@2î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±Ú?¿à?ð?ð?ð?ð?áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Tï?@Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖî?®½?€ƒ?"´?M?:?:É?€Ðï?@Âï?ní?@eï?ð?€éï?ð?€Öï?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?€9î?€•ï?Àøï?ð?Ôï?@ëï?€òï?€Ôî?ð?ð?Óï?ð?ð?šï?€»ï?€ï?ð?æï?ð?aï?Àä?TÅ?&Ê?»ï?ÀÍï?À=ï?@Äï?@ê?À5ï?yï?ð?€*î?Àé?ÀÐë?ð?ð?@Êî?ð?ð?ð?Ýï?€€é?@¤î?ð?ð?ð?@Þï?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zï?€¼ï?ð?€’ï?ð?tï?ð?Óï?ð?€Ëî?/î?ð?ð?ð?ð?ð?ð?ð?€\â?àˆ?ÈÌ?öï?ð?ð?ð?ð?Àkî?ð?&ç?˜©?E?¤?YÛ?À@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?õï?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€5ï?ð?ð?ð?ð?ð?ð?ð?€ï?À²ï?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?<î?(Ë?@t?¼ª?€f? ?T?`ž?ÔÊ?¨?€˜î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ç?8?@c?ôÌ?À¯ï?ð?ð?ð?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]ê?è™?¡?€<ë?€|ï?ð?ÀÛï?ð?ð?ð?€¢ï?@æï?@øï?ð?@Þï?ð?ð?ð?@Þï?ð?ð?Ëï?€ï?ð?€éï?@ ï?À^ï?¡ï?ÀÛï?@îï?€;î?À‰ï?€Öî?Àúï?@÷î?ð?ð?ð?ð?ð?@'î?€Ùï?@Ëï?@ì?ÏË?€VÞ?@þï?@ôï?Àï?Àï?@Žì?Àoí?@íï?€éï?€®ï?Lí?|Ç?Áì?ð?@'î?ð?ð?ð?€úï?€Ÿí?ì?@ïï?ð?ð?ð?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛï?€ñï?Âî?ð?ð?@±í?ð?¶ê?@Ìï?ð?Uí?ð?ð?ð?ð?ð?ð?ð?€´ï?ßå?0µ?Ò?ð?ð?ð?ð?ð?€@ï?öï?ð?€ ã? w?H?ˆÈ?>â?À¥ì?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?À²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æé?&å?<ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?@±ï?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oì?`¨?@d?p†?€V?Pª?:Æ?OÂ?èž?Pƒ?€0Ó?'Ä?Ø?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?€žì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?´®?P¯?=Á?€U?8?°ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Óí?€ã?€ãÔ?õÎ?Ú?€Gß?v¶?‡è?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?@çï?Àëï?Àµï?€ûï?ð?ð?ð?ð?€ùï?@Ëï?ð?ð?Àüï?ð?@Þï?Àüï?ð?ð?™ï?.ï?ÀÛï?ýï?ð?ð?ð?@úï?ÀÇï?Åë?Uï?€èï?ÂÈ?Àt?@!ç?Àæî?Àôï?@îï?€™ï?@†é?@Dí?@$î?@Œî?yï?€eî?^¶?Çá?€éï?@6í? ï?@Õï?ð?ð?ð?€î?£ï?ð?ð?¦ï?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?€»ï?€ýï?Üï?Âí?ÀSï?ð?@Wï?ð?ð?€-î?Àtî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§å?@w?€nÐ?ð?ð?ð?úï?€æï?ð?ð?ð?€fê?€o?@Ž?ëÌ?€¡â?@í?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?Àï?€…ï?@Šì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@qï?€ìî?@Hî?€(ê?@ºï?øî?ð?ð?ð?Àäï?iÎ?@s?oÇ?T·?¶?@iä?ÿÊ? r? v?‡ã?ð?ð?ð?@‹î?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?@²î?ð?ð?ð?ð?ð?@éï?Àzï?òî?À®î?@qï?Àvï?Àˆï?@Þï?€…ï?ÿï?ð?@ùï?‘í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?½ì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5×?8™?Ò?lÓ?Àm?Ô¤?%é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸í?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?Àmì?ûâ?îÜ?x¬?¥ä?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?@åï?Àõï?@*ï?ð?ð?ð?ð?ð?Àbï?@üï?Àöï?@Ãï?€èî?ð?ð?ð?ð?@ïï?ð?ð?Àî?@ië?\Ú?N°?@ï?@âí?ð?ð?@rë?À5í?€dî?€„í?€³ê?€Ðï?å?D?nÎ?Àï?€»ì?À½ï?€ãï?ð?ð?ð?€èï?€9î?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mì?ÀLä?Àêï?ð?ï?@Íä?Àï?ð?ð?ð?€úî?ÀŒí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?€0ä?8¡?M?`å?ð?ð?ð?àê?€ñí?ð?ð?ð?Kß?€f?€X?T?bÀ?@”ã?Àºé?À®î?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?|µ?€V?`ž?Ä¿?^?€/Ñ?X¯?`~?س?€]?VÕ?P¯?Òë?ð?ð?Àsí?ÀÁì?@î?@¿í?€{î?À£î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zì?€¿â?¯à?À^ç?ð?@Ïî?€pî?@èí?€Cí?Àwí?@Áî?ð?ð?ð?ð?ð?ð?ð?Áï?€·î?Àýï?€Öé?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?Ôì?@Ëì?Àäî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üá??T¦?€j?€Oá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nï?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@[î?@7ã?zÍ?°–?€2ß?Àëï?@ýï?_ï?ð?ð?ð?ð?ð?ð?@Þï?ð?@Ýï?ð?ð?Àï?[í?€{ì?ÀÑï?@¶ï?@mï?€ÿï?ÀÇï?€Öï?Tï?€xî?@Þá?À¥í?Àµï?ð?Íï?Nî?€mî?À”ï?ð?ÿï?€ôï?@:ï?Àºë?Àã?†³?!Ö?ð?Æé?€qî?@äë?€7í?–î?Àtë?@ï?€¤ã?ÀMà?L©?0?Sâ?Àè?ÀOí?À¨ï?Àëï?ð?ð?ð?ïï?À`î?@ùï?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?À7ï?€lì?@ûï?ð?@bï?€Ví?€3ï?Àëï?ð?ð?Ñî?€ní?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ÀÝå?ÝÅ??@?h?:?@üç?Àîï?ÀÇî?ð?€©ï?ð?ð?ð?2ë? §?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?À‰è?ä ?€)à?ð?ôï?Àúï?ð?ð?ð?ôè??€Y?Tµ?MÒ?*Ê?`”?‘?À½à?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%í?€¢ä?@+ì?fî?ð?ÀÉë?¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?@ï?sâ?¤«?”Ñ?€?€ñÐ?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?€5î?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¶ì?@mé?À´í?À?è?€°ë?ð?ð?ÿë?tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?ÀÊî?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjî?€Ìí?í?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?.å?Ú?¥Ï?@?@?T?*½?‹Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?€åï?ð?ð?ð?ð?ð?Àþï?€í?€,Ø?T¡?€ZÒ?²î?ð?ð?ð?ï?ÀÐï?ð?ð?ð?Àüï?ÀTï?À§î?€¿ï?ð?ð?ð?ð?ð?ð?ð?yï?ð?ð?ð?ð?ð?ð?Àìå?ø¯?€²î?ð?ð?ð?Ïë?€ï?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?@Õï?üï?ð?€éï?@Þï?@Þï?€ï?÷ï?Àƒï?ÀÎï?Àºï?ßí?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Så?¿?°ƒ?€ìÛ?Àÿï?ð?ð?ð?ð?@éî?wË?G?€Q?€åÙ?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ã?Àïã?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<æ? Ñ?b¸?@Œ?€á?qÏ?à—?à–?£?P¨?@vë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ví?)í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Àzê?@Oé?€ñì?Àþï?@Æï?€xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éî?ÀÑï?@Yï?Àì?‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úî?€øÚ?À[â?£? x?S?Ô£?€®Õ?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?Êî?ð?ð?ð?ð?ð?ð?€0ï?€óê? ã?gÓ?ð•? x?Dí?ð?ð?ð?ð?ð?ð?ð?Yï?Öè?À¨â?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?€éï?ð?@„ï?ÀÔï?ð?°Õ?l¡?ÀØë?ð?ð?ð?@”ï?Àï?€ ï?ð?ð?ð?³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€Úï?ð?ð?@êï?ð?ð?€éï?€×ï?‹ï?@`ï?Àtî?€lï?Lê?@úí?@ì?öï?ð?€×ï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oÞ?t«?€.ï?@®í?ð?ð?ð?À’ï?€ñÐ?h?À–?AÅ? ?€Ô?ÀJï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?@€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?"ì?ïç?€Øê?š¸?Ê·?ª? ?g? Ä?@2ä?ˆ’?€*Ú?€h?€éâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ë?@zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?€Ýí?€ê?@ñê?ÿï?€ï?@ìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·ì?ÀÕí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?Àãï?@—ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?€4ï?Õî?HÛ?@^à?p½?@c?Z?€n?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yï?Ôë?€wØ?ú²?@n?€«Ú?)î?ð?ð?ð?ð?ð?@ùï?@÷î?€†ï?@ºï?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?€‚ï?ð?SÔ?T?€ÿé?ð?ð?ð?ð?€Ÿì?cì?ð?ð?@ùï?€‰ï?€¼ï?ÀÑï?@äï?ð?ð?€Èï?ð?Àêï?ÿï?€àï?ìï?€éï?@ùî?@µï?ð?äï?€Íï?Óï?ð?ð?ð?ð?À è?@ï?À$ï?À1í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-å?€Jë?æï?Àyî?ð?@ï?Àúî?À†ç?°¤?@á?À~?À?÷Ö?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qì?@ëí?\ï?ð?ð?ð?€ûï?Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êî?€£Þ?À`?`±?€o?4±?ÝÒ?GÛ? ¤?€›ã?&Á?À‚?¹Ý?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹î?@ˆí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?ð?¤í?€¥í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Që?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aî?€ãï?ð?ð?ð?Àì?@”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À,è?€ÇÒ?Ä¥?hâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?€Øî?€øã?ÐÑ?T©? ‘??€Ùä?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?öï?ð?ð?¦ï?ð?ð?ð?ð?ð?€éï?ð?Àëï?@Ñï?§ï?@*á?€|Ý?@Ÿï?ð?ð?ð?@Šå?€áï?ð?ð?ð?À¬ï?Áï?@ñï?ÀÁï?ð?ð?@´ì?€ýï?€äï?€éï?ð?ð?ð?@âï?üï?ð?ð?ð?€éï?Ûï?ÀLî?ÀÇï?ð?°ï?@ùï?@mï?@Çì?ð?ð?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.ï?AÂ?È?@#í?ÁÒ?€ Ö?€|î?@þï?€¸î?Â?€ë×?f¾? ²?T?€«Õ?@ ï?ð?ð?ð?@÷î?€$ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èì?òÇ?=Ü?/ã?ï?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?À¶é?ð?Zï?+ï?—ï?À»ï?À[ï?ð?ð?ð?ð?ð?ð?ð?î?þ¾?öÕ?€[î?@òí?€Sç?€Ø?t§?€íí?ÝÄ?Ã?€«ã?¼²?ÀÖê?Àºî?Ü?¶?€,Ý?&²?€f?¼±?€òÜ?@Ïë?ÀÉî?€òï?@•ï?Àœî?@`à?€}ã?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡ï?ò°?ðË?K?œ³?,¯?@Mä?À™á?€yç?@ë?Éë?@’í?@±í?ð?ð?À¸í?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?€=ï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?@‚í?€Îì?@Eì?@®ê?@“ï?ð?ð?@åî?Ÿí?øì?Àaî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?Ààí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2å?@Äà?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mî?ÀYî?ð?ð?ð?ÀÕï?À«ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rî?ðá?è›?dÀ?€Jî?ð?ð?ð?ð?ð?ð?ð?€úï?Àá?àp?€Ñ?ð?ð?ð?ð?ð?÷ï?ð?ð?@Þï?@Þï?ð?À.ï?À™ï?Ýî?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?@î?kØ?•?ôê?ð•?€X?"·?Ý?ð?ð?ð?ð?ð?êí?7À?h¢?€åí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?€Ü?€cÕ?€©î?ð?ð?ð?ð?ð?ð?ð?À³ç?ð?ð?ð?ð?ð?ïî?äï?ð?ð?ð?ð?ð?ð?Àüï?ÕÑ?S?‘Ò?Àhï?ð?Àë?tÖ??ð¼?R? {?ØÍ? ?äÇ?€rà?ð?@«ä?´Ó?áÀ? ¡??¤?íÅ?€ÇÑ?€ÊÛ?€µØ?È¥?º?À ì?€úï?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?|®?RÖ?:?Ý?€Ç?|­?€†î?@°î?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žî?ÀËí?€€Ý?€eî?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?¬ï?@.ì?@Úí?ð?ð?@ïï?À-í?ÀÂí?@%í?Àxí?Àzï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ñì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡á?€wè?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nì?@dê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïë?ð?ð?ð?ð?À$ì?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®á?B¼?X?¯ß?ð?ð?ð?ð?Àeï?€áï?@Ñê?¾? ?±?Fí?Àtï?ð?ð?ð?@îï?eí?ï?€àï?Àvï?ð?yï?ÀŸï?Àæï?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?@Íï?§Ã?Ë?€™Ù?$?€Z?€V?w?Ë?ÀÂï?ð?ð?ÀÇï?@äí?Àãî?¹?š³?,ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?ê?†µ?³Ý?@÷î?ð?ð?€éï?ð?ð?ð?@£ê?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?ð?Éï?€`ï?ç?$?”ç?ð?ð?ËÚ?¸š?€™?x”?@k?¡Î?ˆ¿?€UÖ?læ?€kä?æÎ?ò¶?Hå?À©è?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ÀÇí?‹Ð?ä§?$??`t?@[ì?ð?ð?ÀÒì?À‰ë?@Óî?@©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2æ?€”î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šî?¼ë?Àùï?ð?ð?ð?Œì?‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?@“í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àmï?ð?ð?Àôï?ð?ð?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬í?ð?ð?ð?ð?áï?vì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ÀÚí?XÊ?ÑÅ?Ú?½ç?À°ê?˜æ?HÃ?Ê?ð²?À«?€qÝ?µÅ?Ó?íÍ?|?@ˆå?@òï?Óï?ð?ð?Àäï?î?Bï?ð?ð?ð?ð?ÀÔï?üï?ð?ð?ð?ð?ð?ð?Óï?€éï?Áï?»î?®?€•Ô?À]ä?Ј?–¿?Ъ?€5í?ð?ð?ð?ð?Àáç?™Â?@ æ?ûæ?”ê?À³â?À¾ì?ð?ð?ð?ð?ð?ð?@òï?Óï?×í?€’×?_Ú?€tï?@ùï?ð?ð?ð?ð?ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wí?½Ñ? Ø?áï?ð?@µá?ؤ?’¶?E?ÈŸ?<°?lÁ?€ì?PÄ?(›?Àm?Ð¥?½?À+ì?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€°è?è¥?’?ø™? |?X?@ïé?€øë?ÀKí?Tê?î?@5ë?Àgï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßî?Àíì?ð?ð?ð?ð?ð?ð?ð?ð?€±ï?@î?Àšì?ð?ð?ð?ð?Ëí?@!î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vî?ÀÌê?øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?Àêï?ð?ð?ð?ð?@öì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?@ðï?ð?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Tì?€§í?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?ð?ð?Rì?€øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mê?øª?à?`{?PÆ?À™ì?@´ï?ÀÃï?@é?&Î? Í?€Àï?ð?ð?Àôï?Àêï?Áï?@=é?€ÿï?€Úï?ð?ð?ð?ð?@;ï?·ï?ð?ð?ð?€¼ï?Óï?ð?ÀÇï?@qå?€qÜ?ÀXà?€˜?„§?Þ?€PÒ?Ýì?Ãï?Àåï?ð?@¯í?@Žé? r?@x?B½?ÀŽæ?@ï?ð?ð?ð?ð?ð?ð?ð?î?€#æ?@ºé?@Þï?€ï?ð?Àþï?ýï?oì?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?€ï?ð?ð?ð?€1ë? Å?|¡?Àë?@Îï?TÎ?€¶Ó?ÈÎ?¡É?~Ù?€1à?†Ø?€OÔ?t¼?àÄ?À‘è?@Êå?Àãé?Gë?{Ê?ĵ?Àjè?€Úì?€°ì?€cã?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û?ŽÌ?:²?õÒ?,¥?Ñ?@Š?±?Ø–?Sê?@.í?@Üî?À)ï?€í?Kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àrí?@dï?ð?ð?ð?ð?ð?ð?ð?ð?€’î?ïï?ð?ð?ð?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èî?@ìï?ð?ð?ÀLí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öï?@(í?ð?ð?ð?ð?ð?ÀØï?Àxí?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?Ôå?À(à?ÀÙä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øÕ?à~?dÁ?ð?€R? ¢?¹?€dÐ?–¿?pŽ?@‡æ?ð?ð?ð?ð?ð?ð?@þï?€Âï?ð?ð?ð?ð?ð?ð?ð?@­î?@Ëï?Óï?ð?€éï?@Öí? ·?€Ù?üÏ?t¦?à€?€u?0¡?TÌ?x´?€ŒÕ?é?@éî?@äï?ð?@ î?@yë?€o?h¯?Àdç?@ì?ð?ð?ð?ð?ð?ð?ð?ð?·ì?çí?ð?ð?ÀÊì?€ëì?í?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?ð?¶ê?T§?€Ù?ˆ¹?€_?€GÑ? Ù?À„?Ö?œ¢?V?ÔÄ?€–å?€´è?Àêá?€­?Às?À1ç?ð?ð?ð?@è?D·?@¢?á?@Êë?€{ß?€¼Ú?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?¢à?,?0€?v³?€ÆÕ?|ë?ð?€í?"µ?@€?cÀ?€WÕ?,·?AÆ?uÀ?ZÇ?ÌÇ?€ç?€·é?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏë?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃï?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?€®ï?ð?ð?@oï?@yì?Ûí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?Àãì?ð?ð?ð?ð?ð?yï?Àdí?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?€›ï?Lº?f?€6Õ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kì?€IÓ?À¥?À?€W?2?J?0?àp?fË?€ì?ð?ð?ð?@mí?Àoï?€éï?€Íï?@ïï?ð?ð?ÀÇï?ð?ð?ð?Ñï?ð?ð?êï?Àƒï?Þ? ?@ñá? Â?¬¤?h’? w?@l?¤?€bÖ?Ré?€¼î?€ùï?ð?ð?€ãÝ?À}?€:Ò?Ö¹?€Áê?ð?ð?ð?ð?ð?ð?ð?ÀÙï?í? ï?Àì?•ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?@§ï?ð?ð?@ªé?è ?€RÕ?€½ã?EÀ?S?€¡?D«?„¬?|ª?wÖ? ¦?~è?€žá?l§?®º?€¿á?@øï?ð?@Ûî?º? ‰?€Zè?€þï?@ªï?€ä?€Ó?.ê?ð?ð?ð?ð?ð?ð?@øï?€‘Ó?\?žÒ?òï?€ï?ð?@[î?Ï?òâ?¯î?Úº?P’?ÁÎ?c? ‚?<¾?€V?V?(‘?€HÔ?¤²?ÀÀì?Áí?Êï?À!î?eë?–ê?ð?ð?Àšï?Gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Oï?€Jï?ð?ð?ð?ð?ð?ð?ð?ð?Ñí?Òï?Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï? í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?@ í?ð?ð?ð?ð?ð?ð?À>ê?@ñï?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?€Âï?€â?ÜÌ?vê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5ì?Àuá?|ª?è?€œë?@áï?²é?Í?Ó?@ûî?ð?ð?@ûï?þï?ð?€éï?ð?ð?ð?3î?ð?ð?ð?ð?ð?@ïï?@Øï?ï?¬Â?˜À?ÀŽç?Ї?•?¡?hš?ª?¦Ç?—Û?€è?Àµï?Àÿï?ð?€Èî?°??H›?áÖ?€ƒî?ð?ð?ð?ð?ð?ð?ð?€pí?òê?€òî?@¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çî?ð?ÀÓæ?P˜?¼Û? ¯? ?R±?R?€Œà?õß?$·?Àr?(?K?P…?€4Ô? ˜?†¶?¸Ÿ?ÿß?Úí?¡î?N±? À?€¡ì?€×ï?€çå?L¤?R°?Ià?@Öï?ð?ð?ð?ð?À÷î?JÖ?8?¿?ÓÜ?@"í?ð?¾ï?€í?€ÐÓ?Àç?€øï?€Ò?F?Àx?x™? ²?"¶?l?5Ç?´Ó?Àâ?ñÖ?À.å?Àè?þë?ð?ÀÐí?@Xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?@ î?€ˆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yî?@9í?À]î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rï?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?—î?€lî?ð?ð?ð?ð?ð?Àôï?Þè?€Eî?@÷ï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝé?€`Ü?€IÞ?€MÑ?`q?r¸?—Ô?À;é?ð?ð?@Ëì?H·?€â?ð?ð?ð?ð?ð?ð?€ºï?ð?ÀÐï?Àëï?ð?ð?ð?ÀÙï?@ùï?ð?ð?@öí?xš?„­?ð?€|Õ? ­?HÒ?“Î?@™ã?Àdî?ð?ð?¼Ý?Ê»?è¡?À¼å?íï?ð?ð?ð?ð?ð?ð?Àßê?€.é?@±î?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.ï?€?Ô?àˆ?x§?€Y?°?À{ì?ÀÎè?€Ø?¿Ô?'È?À—?\¢?Hå?(Å?€þÙ?€|ï?@±ï?éÂ?ú¿?.è?ÀLí?JÏ?¯Â?V?€þà?@÷ï?ð?ð?ð?ð?HÚ?¨™?€øÝ?@kï?ð?ð?zè?Â?@Œ?–Ê?€êÐ?€ Ñ?°¹? È?¤¬?ì®?š¿?Â? ˆ?†Å?€þÚ?@Qå?€*î??í?À®í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ÿë?À£ï?Àî?€?é?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À˜ï?sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øí?@Êí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àè?@©ã?€"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bí?@Ïï?wî?€uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMí?€àï?ð?ð?ð?ð?ð?ð?@Ùï?@në? î?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?Àoï?ð?ð?@\ï?€iï?ð?€mï?€9à??î´?€RÐ?$½?ì¯?ŸÐ?€ºâ?€í?Àxï?Àþï?ð?ð?ð?@Vã?$§?@%ì?ð?ð?@Öî?@ºï?Àôï?Õï?ð?€éï?ð?Àôï?Àôï?ÀÇï?ð?@Ôï?¥ï?€Úî?À.î?ñÌ?b? À?€g?ø™?¢?°ƒ?@…å?ûï?ð?À¸î?€´?Ú?ÀÇï?ð?ð?@ýï?ÿï?ð?ð?Àî?€øê?@æé?À®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«î?ÀÊã?`‰?E?€ÓÑ?±?¬¢?°ƒ?€v?Àb?N?–³?€3ï?ð?ûï?@}î?ÀBæ??ì¢?œ§?`Š?ç?€ÙÔ?€Œæ?À½ê?ð?Àåâ? ?T?Ô¢?Šä?€ªÞ?[Á? …?@Âæ?ð?ð?ð?@ñè?ð€?þ¶?€€Ù?<Â?ô¹?JÄ?€Xæ?@ÿï?ð?ð?ð?€Tç?àu?$?€‹?Ì?²ã?Hî?5í?€zï?Àåï?@Âí?€Lé?€±Ñ?€g?@p?€g?"´?Ä?Ã?к?D·?n½?@ì?ùï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âí?€Ôì?@¦ï?@­ï?€³é?Àûê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢ï?dë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?Àôï?àí?@ðë?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?@ôî?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€Uî?@~î?€zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?qï?±ï?€¶ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»í?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?@)î?€Ëì?•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?4ì?ð?ð?ð?ð?ð?ð?€Ùî?DÈ?Àl?€LÔ?Àºä?f×?%Ø?€Fà?€@î?ð?@Sï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?€?ç?l?€f?@¯à?ð?ð?€¢ï?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?RØ?>?“?8 ?"é?ð?ð?"ç?€v?ÏÑ?ð?€â?À=í?òï?@ûï?ð?ð?@†ï?@ûì?À¦ì?ð?€Gï?@ùï?ð?ð?ð?íï?ð?ð?ÀÇï?ð?ð?@úï?À‘ç?ŒÊ?t¢?€_â?ô®? {? ‹?¢·?ÀÅï?ð?ð?@´í?TÔ?@h?ò¾?€xÔ?À¡ä?@Ëï?óï?4È?ÀÛá?€}Ø?ð¶?ð?€]æ?€é?€/Ü?´Ï?+Ú?ð?ð?ð?€ÿë?0”?$¼?YÀ?X?€¿Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?€Ø?„?<È?ÀÝå?í?À¼ï?ð?ð?ð?ð?ð?ð?ð?@ßï?€{ß?²¼?\¬?€Ö?G?T?vÌ? ¤?€AÓ?€Ð?4¯?€X?€Ø?ÀNå?§î?íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Fï?@üì?€ùî?ð?€“ï?äï?À‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?€Jé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýí?@¥í?þï?ð?™í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€„ë?ð?ÀUí?€œì?@Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?@gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À?î?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íî?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€³é?Œª?”¡?N½?8º?Àáã?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ç? |?œÍ?@êï?ð?ð?€ï?Êï?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?€Ø?/Ç?|¦?AÁ?̪?aÏ?Àbì?ð?ð?>â?PÃ?pá?³?€;ä?ð?ð?ð?@êï?ÀXï?í?5í?ð?ð?ð?ð?ð?Òï?@¤í?ð?ð?ð?ð?@ë?€ÑÕ?(’?qÎ?@«à?€…? ?@e?IJ?€V?€Ö?€ýï?ð?À”ï?Å?€5ä?@ é?€$Ô?ƒ?€<ã?€óÕ?€¾Ö?Žï?x¿?à~?¸¡?Ú±?iå?ð?ð?€ýï?€Öï?ð?ð?ð?€ýï?@Uã?€`?Àf?€{Ð?À¥í?@xë?ˆÌ?Rç?ð?ð?ð?ð?ð?ð?ð?ð?@äí?€¯î?€œè?¤À?@=æ?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦ì?€ª?x£?´É?¡É?€‹×?€õÚ?`q?°‰?z°?ìÀ?Àk?I?`x?‹Ô?·Ö?@âì?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLì?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üí?lê?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ÀGï?€’ì?À›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?Wì?ð?ð?ð?€¨í?ð?ð?ð?ð?9ï?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?€ˆì?¦ï?ð?@®ï?À.ï?ÀÜî?Àéî?ð?Àíï?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?Àáï?ýî?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?#î?€Dî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óí?Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æè?̽?Ø®?€Ú?@Áë?À0ï?€^ë?@rã?Àôã?/î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eé?˜–?@9ê?úï?€÷ï?@þï?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?€ñ×??ÀÑç?q?€?X°?À&ç?ð?ð?Wì?²¹?F»?+Ð?ÀEí?À*ê?@)ï?Àþï?Àèï?À¬ï?€î?@¯ê?—ï?ð?ð?ð?ð?€&î?@\ë?@ ï?ð?Mî?€òá?˜É?P?€U?;È?Oì?‚À?ôÁ?:?O?€V?K?øÛ?è?€¤ß?€ôâ?X¿?€Öï?ð?€4Ù?€ÉÖ?€Jå?d¤?õÑ?ð‘?çë?€ŒÝ?¼½?€f?»Ê?ð?ð?ð?ð?ð?ÀÖí?À’í?÷í?Àãí?޾? y?€¢Ý?@ î?@ ï?€—ì?@£ç?Àãï?ð?@ïï?€úï?ð?ð?ð?ð?ð?ð?ð?Õï?À]ã?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?«?Àp?"½?ËÈ?Ð?Ï?VÅ?X®? Î?âÖ?€PÕ?€þ×?À"á?Óã?@qæ?@¦æ?À á?€^Ò?šÀ?ÈÂ?èé?@Ðï?€bÖ?ðŒ?З?ÈÝ?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?€:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†Ü?@Åé?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?À2í?‘í?¿ï?fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?6í?Cï?ð?ð?ð?ÀHí?ð?ð?€Ðï?€âí??ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uï?8í?ð?ð?ð?ð?€'ï?aî?Àìî?€zî?@Eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉï?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýë?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+ï?€”í?ð?ð?ð?ð?“ì?ÀÎí?€+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@6í?€wÕ?÷Ã?Ï?€ÒØ?À[ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?€Þ?€dÔ? s?€8Ù?ÀÄï?Oï?@2ï?€¼ï?€¢ï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?€áï?€ï?€Û?Àd?¿?Ħ?Ø?`Ž?‘æ?¼ï?ð?Àƒá?‚?À?*Î?IÌ?ê¶?@ˆá?Àï?ð?ð?äì?À%ê?{î?ð?€æï?gï?èé?€&á?€¡á?@râ?Â?”?HÈ?À.æ?ÀÆë?€zÒ?„Ì?ûÑ?0‘?,¤?€GÖ?@ðà?ð?Iê?ºµ?€ÿé?@6ä?ô¸?@Àî?€ë?Œ¡?CÂ?pƒ?“?€Õè?ð?ð?€¼ï?Àì?ð?ð?ÀVï?€tî?ð?@9â?Ⱦ?@6ï?Àxê?€®í?€5î?Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?€Ð?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hé?€â?@•å?ÀYé?Àì?À£ï?ð?ð?ð?ÀMë?ܵ?O?;Æ?À¹à?‰ß?hì?ð?ð?À#ï?â?ij?v°?<ç?ÀÇï?#Ñ?SÍ?gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ä?ÀDí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\ì?€Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛì?€ßî?ð?ð?ð?ð?Àoï?¥ì?òî?@Jí?@åî?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yî?À5î?ð?ð?ð?ð?ð?ð?ð?@žï?Àdî?ð?ð?ð?ð?ð?ð?ð?€Æî?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?@Éï?ð?Àˆî?@Tî?À_î?€¾î?À?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?›í?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æç?Àh?V?þ´?@Ìí?À­ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?šÃ?LÄ?)Á?€g?À? ‰?!ä?@ìë?ð?iÑ?_?T? ?€]?€ëß? £?@w?@á?uê?òï?ð?€µì?ÀQí?@3ë?!é?@ˆê?@é?|©?`w?6Ä?À$ë?€×á?І?€Mß?ð?@)à?“Ø?Àùä?¢Ã?›Ã?<¤?`¢?@bê?€‘Ø?ˆ³?<á?ð…?b?€_?€g?€{?pš?€+î?ð?Àpë?´ì?ð?ð?ð?ð?ð?ð?€xï?€+Ô?T?€óÑ?@?ï?*í?Wë?À3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iï?“Ê?S?€9ã?@„ï?ð?ð?ð?ð?Àçï?@âï?ð?ð?ð?¦ï?ð?ð?ð?ÀÖî?á?@ëî?ð?ð?ð?ð?ð?ð?€Ïê?€BÚ?½Á?@u?Àz?œ¥?€ßà?ì?ð?ð?Àsï?ð?ð?ÀÜï?„ï?ÆÓ?(—?*Ö?€bë?@íï?€ãÖ?°Ô?@jí?@ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚ë?ÀSï?ð?ð?ð?ð?ð?ð?ï?€™í?ÀÇì?Åè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æì?ÀÏî?ð?ð?ð?ð?ð?ð?ð?hì?Àäî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€;î?Kí?ð?ð?ð?ð?ð?ð?ð?Àïì?@rï?ð?ð?ð?ð?ð?ð?@8í?@žî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€eí?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@.ï?@¼ì?€…ì?@8î?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ÀAî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žå?àp?@ á?íï?ð?ÀÇï?Àšï?@ïï?@áî?ð?ð?ð?ð?ð?Àþï?ÀEà?O?º¾?¼¸?ÒÖ?À¯ï?ð?ƒÅ?X?¾°?€V?€¬?Ýã?ð?ð?ÀÞì?À¯í?@eí?€è?˜á?°?ê½?-ã?@@à?Œº?š¾?€¬Ù? ë?@Ëî?öÈ?€gë?H¢?’Ó?ÀÝî?@~ë?(¶?²µ?ÀÄ?pÀ?öÕ?,®?pÏ?Ђ?XÝ?@ºï?¢í?Ñ×?@¿â?àï?ð?ð?ð?ð?çî?@#î?€àÑ?„Ö?ÀÈì?°ï?€sí?@µí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…Û?À²?€¡ì?ð?ð?ð?ð?@ˆï?€éí?ð?ð?ð?ð?ð?ð?@çï?À²ï?€ï?@æï?ð?Àóï?ð?@çï?@ãï?ð?ð?ð?@Sï?@Iê?Àè?@ì?ð?ð?ð?ð?ð?ð?ð?ð?[ï?€í?óÍ?€¤Ö?p¾?Í?MË?ÃÄ?€~?·?èâ?€äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTï?@œï?ð?ð?ð?ð?ð?­í?€cï?@Lî?ð?€üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?@‰í?%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@zî?€î?ð?ð?ð?ð?ð?ð?¶ï?ë?À¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuï?€ªì?Àâî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰Þ?AÏ?@ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íé?4£?J?¨Å?Àzà?kÅ?D®?H’?Àeá?ð?ð?MÂ?*°?lº?°ƒ?©Ò?Ãí?€ï?ð?ð?À ë?Àhí?€Mì?”É?d¨?@‹æ?Ê?ß?ð?ð?€”é?€Ð?€Åá?ÂÉ?›ï?ð?€Ðé?»?j·?€wÙ?P¡?Ü?¤ª?à}?ö½?ºá?Âë?Я?@óç?@Øï?ð?ð?ð?ð?ð?èí?·Æ?àu?%ä?€Cï?Àüï?@žî?^ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï?´Á?!Õ?ð?@óï?€bï?ð?Àïï?@Œï?ð?ð?€öï?ÿï?ð?ð?€àï?ð?ð?ð?ð?€dë?ÀÇï?Àëï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?hï?€Áé?ƒí?ÀÚç?~å?³Ø?àw?€k?™Ô?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@ï?€æï?ð?ð?ð?ð?Àbî?yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?Àí?yì?@Kê?†î?ð?ð?ð?ð?ð?ð?ð?€ýî?ð?ð?ð?ð?ð?ð?ð?øï?€—î?éï?ð?ð?ð?ð?ð?@¢ï?€Êë?À|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?]ï?%í?€æí?@íï?@õï?Æë?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eÖ?gÐ?€Àê?ð?ð?Àaí?€ûï?ð?ð?ð?€Ãï?ð?ð?€ƒÑ?ðª?¨³?–Ê?€ÌÜ?¸Å?(?@?€b?8‘?@Èè?ð?ð?AÛ?•?Ê?κ?À&á?ð?Àûï?ð?ð?@øï?ÀÜâ? ß?¨™?X£?@‚ç?@Ãé?Ì¡?€v?˜»?@fí?ð?Ààé?€{Û?ŽÃ?‰À?Ñ?Ò?H§?–·?€aè?ÀÚà?ÑÀ?ˆ»??L?P…?øÁ? ×?@Ýæ?@–î?ð?ð?ð?@Wï?@Þï?Àzî?ÀÔá? š? v?À…à??ä?€ÿß?ÙÀ?¤¢?ðƒ?>?°“?€ÃÛ?ð?ð?ÀÒí?)ê?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?€éï?Àã?P„?óÖ?ð?@5í?À”î?ð?@ÿï?Àýï?ð?ð?Èî?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sî?€þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€5ï?í?À½î?@üï?/î?À4ï?Àðå?ÈÕ? p?˜¤?…è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Àrê?€Öï?ð?ð?ð?@–í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žî?€Çë?Àáî?ð?ð?ƒî?€Õì?€Úë?@8ì?.î?€åë?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aï?À¹í?ð?ð?ð?ð?ð?ð?ÀÛï?åê?À3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?€Wí?6ë?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?(î?½Ç?6¹?£î?ð?ð?@0í?Àeî?ð?ð?ð?€âï?ð?À¤î?€Ý?2¼?H›?O?~ß?€&ï?@ÿí?€ÁÓ? ?€P?€„?AË?€í?€+ï?ð?€~â?°­?€)Ö?ôÀ?@w?€v?Gã?ð?ð?ð?€Œî?@%å? Ã?Ô¹?@'ä?@.í?ŽÆ?ýÀ?Õã?ð?ÍÛ?ð¸?°?ª±?€a?N?-å?@Ûï?€'Ú?¶?N?€f?(?€Z?£Ç?€yå?@áï?»ï?ð?ð?ð?Àï?À:à? ¸?GÄ?@Ôà?À î?ñï?ð?@Ÿî?€âí?€<ë?æÛ?¼?pƒ?–à?Ëê?@ÿí?ð?ð?€wï?€ïç?Àìì?Tï?ð?@‡î?@­ï?ð?ð?ð?ð?ð?ÀÞî?€Zï?fÜ?yß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?ð?ð?ð?ð?ð?€bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿì?Êï?€’ï?@Dî?€Éï?€µî?ƒì?¾È? ¹?À–ê?@°ï?æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‰í?@ì?ì?@‚ï?ð?À_í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•ì?€Âí?€ûï?ð?ð?ð?ð?Îï?«î?@¼ì?ÀÆî?Ùï?À¿ê?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@$ì?€Ïï?ð?ð?ð?ð?ð?žî?Zí?Ûì?@ìï?Àüï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@@á? ?À×á?gï?ð?ð?Àãï?ð?ð?ð?€ê?Ø? ²? ?€Q? |?ˆ£?j¿?Àã?ð?ð?€‚ì?Ì¥?6Â?p‹?€V?€™à?Àä?¼ê?ð?Àáî?@ˆí?ð?ÏÜ?Eå?Àþï?Àâï?@à?–¶? ?€Ñ?€ˆî?À à?þ¸?Â?ÀAæ?ü¿?€™Ó?ʰ?(Ï?$·?8ª?­?À‰ã?ð?€èï?€·Ó?Àv?Îß?@Bí?Àpé?À›ï?ð?ð?ÀŽë?NÁ?ÍÆ?2´?€V?¢?€¼Û?9ç?Àéë?å?@±î?@í?€Ëì?@Xï?Àå?@aã?ð?˜î?ËÕ?UÌ?Àúï?Àñî?@“í?ð?ð?€Yî?Dê?Àë?À„í?€ßé?ã?€þï?ð?ð?ð?ð?ð?ÀÆï?@¢î?@{ç?sÍ?ÀÇà?@Ëï?ð?ð?ð?ð?Àuï?À‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥í?À·ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úî?Àaì?ÀLî?Àôï?Àäî?€„ë?@êæ?€¹Ð?²Ü?­í?@²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?dí?@zì?À¢ê?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïî?€í?ð?ð?ð?ð?ð?ð?ð?€Éì?À„î?ð?ð?Uç?ºá?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?®ì?ð?ð?ð?ð?ð?@rì?ð?ÀEï?Ýí?@ï?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@*ç?¸—?Ò¶?bì?ð?ð?Óï?ð?ôï?@Yí?èª?©Ê?À]í?ð?@Þï?@Èî?¿â?ð€?ƒå?Àêî?@ í?ð?ð?ð?ð?€Öá?À_ä?€»ï?@¢ç?€^?X?ˆÒ?ï?@¨æ?¥?°?€>ê?€ß?€“î?ï?ð?ð?_ê?̼?qî?lì?À¢ï?ð?ð?ýï?@Bë?ÀÃé?€è?±À?Ö·?£Ò?@Ùè?ð?ð?ð?À®ï?Àà?X–?€Q?ãÍ?´ë?ÀÖï?ð?ð?€ï?ÄÐ?,?>Ê?€ì?ð?€ ï?Ïï?ð?Àµí?@Œë?@^î?À!ë?À¬é?€Sî?À£í?ð?ð?ð?ð?ð?Àïï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀJï?@¹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?@Aí?Àí?@¾ï?tï?Àì?À8è?€&Ð?R?SÉ?@$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏì?ì?@|ë?óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ï?lë?@gì?ùì?øï?ð?ð?ð?ð?ð?ð?ð?À&ì?ð?ð?ð?ÀÐï?€¤î?À¾ï?ð?ð?ð?ð?ð?ð?ð?Àƒï?@Gí?îì?€`ï?ð?ð?ð?ð?Àüï?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ô?€iÓ?€½ï?·ï?@*ï?ð?€õï?€€ç?P?4Ê?Õï?€¼ï?@±ï?€‚ï?€Oï?ŠÔ?Ào?}ë?ð?ð?ð?ð?ð?ð?€ïæ?@m?€g?@à?@Zä?H°?T? ´?°Æ?@Åë?Ù?Œ?—Á?€aÝ?Æ?E?FÅ?¸§?€®î?ð?ð?@wï?@ï?ßî?OÌ?S?€_?K?€V?KÜ?@Lè?Àûà?À“ï?ð?ð?ð?ð?ð?ð?Úï?À¼ï?ð?ð?ð?ð?ð?À¦ë?`¢?°€?è®?@[æ?Ñï?ÀËï?ð?€&î?€à?Ђ?èº?€7ß?ÀÞî?ð?ð?Àôï?ð?ð?òë?€nî?@·ï?í?@mê?Àáï?@ ì?ð?ð?ð?ð?ð?Àñï?€þï?ð?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ààï?^ì?Àïç?Àwê?@5ë?ÀÔì?Àcë?ÀØæ?@¶á?h´?l×?¼Å?:?*È?@ê?Wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?€iì?ÀÌï?ð?ð?ð?ð?ð?€Ží?ÀÈî?ð?ð?@øï?€Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðë?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€¯ë?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?€ˆî?€yí?@—î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×î?€Àï?ð?ð?ð?ð?ð?ð?@í?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?À&ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?#é?| ?î?ð?ð?ð?ð?ð?€:ï?Ú?€Ø?€ä?€Vë?@ìé?€íÚ?Àn?P?È®?ÀGè?Àêá?˜?ØÌ?ð?ð?@ùï?À í?ð?¶é?œ´?Á?lÞ?¨?€–à?ð?Àêï?ð?ð?ð?ð?]ï?€zí?€‘ï?÷ï?ð?ð?î?€cì?€éï?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?ð?ð?ð?ð?Ñï?Àâï?ð?ð?@Úï?€‹î?€Ëë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?@í?ð?ð?@"í?ð?ð?ð?ð?€øï?À“ï?@vî?@î?ð?ð?ð?ð?ð?Àõî?€Üí?@Tï?@ôì?Àäî?€Wé?@`î?@´ï?˜Ý?Àm?€^?Ï?À(ç?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@bë?€ÇØ?@ræ?@¿ï?ð?ð?ð?ð?ð?ð?ð?6ë?À ê?€ÇÛ?À0ã?ÀÀà?€Oß?ˆÖ?€Ò?äØ?[Ó?€:Ü?€„ç?@®î?ð?ð?ð?ð?ð?ð?ð?ð?—ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?€^ç?À>î?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?*ï?@„é?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{à?éà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼æ?2? —?ÀUì?ð?ð?ð?ïï?Àáï?í?²Ï?0…?€ïÐ?€ Ñ?€¼Þ?ð?ð?ð?ð?Lï?Àôï?€mî?!Ó?¹Ð?€æí?ð?ð?ð?À¶ï?€Ká?¼±?À~?[?€>Ö?íÈ?kÁ?€5ï?ð?ð?ð?ð?ð?Àñæ?€X?(˜?/Ì?'Ö?ð?ð?Óï?ð?ð?ð?€Qï?@7ï?@ï?@oí?@uï?ð?4í?À­ï?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?öï?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·ï?@‰ï?üï?@–ì?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?íî?À£î?ÀÕï?ð?ð?€Ìï?À^î?ð?€Æî?@¸î?ð?ð?ð?ð?ð?ð?€éï?ð?ð?€’í?@Xî?ð?ð?ð?ð?ð?À0ï?|ë?mì?œî?ð?Àëï?€âÝ?¦?ð€?À=á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ë?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?Jî?Gï?ð?@öï?ÀÅí?@Oá?ÔÕ?ì¾? ‡?A?8ž? ã?@÷ï?ð?ð?ð?ð?ð?ð?ð?@ì?ð?ð?ð?ð?ð?ð?À î?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pí?À®í?ð?ð?ð?ð?ð?€òï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ì?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€"î?Àyà?€—î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»ß?@nâ?ð?ÀÇï?€æï?À+ë?€ºà?V»?¸ž?¶±?\­?ÀRì?ð?@ùì?ÿï?Àî?Àôï?ð?ÀŒï?@áã?Ë?€V?ÁÆ?ÀÈí?ð?ð?ð?ð?@¬ï?QÒ?g?”?‚µ?`‰?4¯?€]?@d?¸•?à|??ôÖ?í?¦ï?ÀÇï?xî?€ï?@³ï?r»?@a?€V?Àþå?ð?ð?@Œï?ð?ð?ð?ð?ð?ð?Qí?aï?@ï?Uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?ôí?@Nï?ð?Àôï?Àþï?ð?ð?ð?qï?@œï?@jï?Àtî?í?@8í?Àçí?À`í?@öí?€Ôí?@˜í?Àiî?@Óë?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?Àœï?@4î?€Zï?ð?@=î?Àõï?ð?@òï?î?ð?ð?ð?ð?ð?ð?ð?ð?@?ï? ï?€¢ï?«í?Àï?ð?@ÿï?@ðï?·í?Àí?@Xí?Àzï?ð?ð?À8î?€Qì?3Ã?X¤?íÖ?Ïç?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ë?éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vï?@Ií?€!í?€õã?ì»?àu?vß?€2î?À‘í?(ï?ð?ð?ð?Àýï?€êê?ð?ð?ð?ð?€½ï?€bí?À%î?ÀHï?ð?ð?ð?ð?ð?ð?ð?ð?ÀNï?ð?ð?€¨ï?ÀÜï?ð?ð?ð?ð?ð?Àtï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?Ýê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àä?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zí?6µ?`—?Í×?@â?"Ò?€‚?¸š?È£?€ìß?ð?ð?ð?€ìî?Ëï?ð?ð?@î?@²é?h—?À?@€ä?ð?ð?ð?ð?ð?–î?€Ý?@<ã?¦Æ?C?€V?€f?Á?£å?ºÚ?±?HŸ?x—?”«?gÛ?€½ê?€\Þ?@-é?À@í?ä§?íË?ùï?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?€Èî?À§î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?@ î?@¬í?€Ÿî?@Èï?ð?ð?ð?ð?ð?ð?Àöï?Àê?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?Òï?€æï?€Ûî?ð?ð?ð?ßî?ð?ð?ð?ð?ð?ð?ð?ð?€­î?@Òî?ð?ð?€í?€¥ï?ÀÔí?Kì?€¸ì?€Øï?™í?ð?ð?öï?Ànî?ð?€Aã?3ã?@Yà?ØØ?WÅ?€?€SÛ?À<â?ùÜ?€†Ú?@Ëã?@jà?€ Ö?÷Á?Àe?Ào?€Ø?€4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸í?€Ùï?ð?ð?@ûï?ÀÆï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?[ê?-Ò?úË?½Ñ?LÈ? •?€pè?À´ï?ð?ð?ð?ð?@[î?@¡í?ð?ð?ð?ð?ÀSî?æí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðê?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿï?Ãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?Àßä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?îØ?¥?X½?’¿?À}?¢Ú?Àëï?ð?ð?ÀÓî?€âì?ð?ð?€Ýî?ð? æ?¨?œ? v?ÝÐ?Àáî?ð?ð?ð?ð?ð?ëï?Àùï?À¼è?Qä?€%è?ÍÈ???Ò·?­?˜¢??Xª?ÀEê?€çÒ? ??,§?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?@Ûí?€÷ï?ð?ð?ð?ð?ð?Àôï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?lï?ÀGí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºí?@½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Cî?À²ï?ÀÅî?eï?ð?ð?ð?À ï?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€~î?ð?ð?@Åï?€þì?@Ìî?ð?ð?€1ï?@î?ð?ð?ð?€®ï?ð?@bë?€qï?ð?ð?¿ï?ÀLë?À5î?ð?€èï?@!î?€Àï?ð?ð?@µï?Šã?•Ü?ø¥?€h?€tÜ?Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?@8î?ð?ð?þï?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?Àíè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­?çÔ?€Jí?€œï?ð?ð?ð?ë?€êï?ð?ð?ð?ð?ð?ÀŒì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?€ï?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ë?ð?ð?ð?ð?ð?ð?€éï?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@-è? w?Í?À¹í?Öì?€ÛÛ?C?”°?À%à?ð?ð?ð?€±ê?À ì?ð?ð?}ï?ð?ð?€rê?€Ð?@`?¸Ë?@òä?@‹ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óì?€IÛ?¹?Ô«?€i?às? ~? Ã?òÄ?¨¢?€T?Ø?èæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?aî?ð?ð?ð?ð?€éï?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôî?€í?@Âí?þï?ð?ð?ð?ð?ð?ð?ð?€®ï?Àðï?óì?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?@Öî?ð?@,ï?€¡ï?ð?ð?ÀUï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?€@î?@Ôï?©í?ˆï?ð?ð?ð?ð?€]ï?ëí?À­ï?ð?ð?ð?iî?Àáï?ð?Àõï?Öî?@Ãî?ð?ð?Àžï?Àcì?ð?À7ì?€(â? Ö?Ô½?@?€’Ô?€ií?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹í?Dî?ð?ð?ð?ð?ð?Kî?€dï?ð?ð?€úï?ªî?Úï?ˆï?žë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒé?€ÍØ?@bä?€ãï?@®î?@éï?@ùé?€¬ì?ð?ð?ð?ð?ð?…ï?@Ñê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àxï?€'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@4í?â¾? Ê?@åï?ð?@ºï?sã?GÔ?kÇ?€u×?€á×?®?}Ë?“?Ú¸?€Z×?ð?ð?ð?@qî?Àî?ð?ð?ð?ð?@¥î?ð?Ýì?¾µ?`º?²Þ?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªï?8ï?»Þ?r¾?€ÎÞ?$®?Ày?ˆ?€Q?º½?¨•?€ Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúî?ð?ð?@ìï?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vï?‹í?@¼ì?ð?ð?ð?ð?ð?@øï?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ÀSï?ð?ð?@ëî?äï?ð?À›ï?€ï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûî?€Àî?Àî?@œî?ð?@öï?ð?ð?ð?@àí?'î?ð?ð?ð?ð?ÀMî?ð?ð?ð?Àôë?î?ð?÷ï?€|í?€ãï?ð?ð?ð?Àúï?€/ë?Ô»?€­Ñ?÷ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?€âï?ð?ð?Àíí?€pë?Àwë?cë?Àtè?Àƒå?èÙ?€„Þ?€ê?Ùí?€%â?Àáî?ð?ð?ð?ð?ð?ð?ð?@aî?À(ë?€ÌØ?ä¥?PÙ?ð?£ï?@ˆì?@Šê?@ûï?ð?ð?ð?ð?ð?ýï?@Èì?Àâë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?@ î?'ï?€îî?Àžï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ð?ð?ð?ð?À¶ï?€Pí?@_ì?€pí?ÀDí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Fì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?Àôï?Àˆï?À}î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@“ï?€åÑ? t?Àdé?ð?ð?ð?ð?€öï?ð?ð?‹î?èï?@–ã?ðŽ?€¤Ñ?ÀCï?€Íï?Àï?ð?ð?ð?ð?ð?ð?€¶ã?À˜å?À_ï?À7á?‘?|Ë? ™?ÑÅ?€½î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Yï?€üè?€æî?@„ê?3Þ?º²?´?âÒ?ò°?pš?@?0Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yî?ð?ð?@¹ï?€šî?ð?Àqï?ð?ð?ð?ð?ð?Àmï?×ï?ð?ð?ÀŒï?€oî?@ÿï?ð?ð?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?€ í?ð?ð?ð?ð?ð?­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?3ï?ð?ð?&ï?ÿï?ð?ð?·ï?Àwï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?ð?]ï?€dî?ð?€óï?ð?À–ï?@bî?Àòí?À6ï?À<î?õä?Àlç?€àï?@Çî?ð?ð?ð?€pì?@ï?ð?@ïí?Àìï?ð?ð?ð?ð?ð?ð?ì?mÎ?`v?¾Ã?€Âç?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Vï?@¯ë?­ã?€Ú?WÊ?¤·?´?¨§?ð€?R?D?†?ò±?j±?qÑ?€éå?Àí?@Îï?ð?@Àï?€àä?àØ?|³?@e?>¶?@î?ð? í?ÀÝí?ð?ð?ð?ð?ð?ð?ð?Žî?À¼ã?€âî?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?Þî?€8î?hï?@qï?oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?@ùï?Œî?Øï?ð?ð?@÷í?Àšé?@Õî?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¼ï?À%ì?ÀÈî?ð?ÀÍì?€áì?À1î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùî?Hí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµï?€·ï?ð?ð?ð?ð?ð?ð?ð?ð?@»ç?@Ôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿã?Ø?€õï?ð?ð?ð?ð?ð?@±ï?ð?ð?€ýï?@ ä?ð?À'ã?ð?€çï?ð?ð?ð?ð?ð?ð?Àýí?~ì?ð?¬î?µ?€V?`Š?n¸?'è?ÀYè?€ë?ÀÎí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°å? ?¨?€|? ¸?˜˜? ¢?PŠ?Ê?Þï?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?@éï?€ãî?ð?@íï?@îï?@Iï?ð?Ïï?ð?ð?ð?@Nï?€kï?ð?ï?€Yï?Àî?Àî?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?Àýï?xî?@Èí?€nî?€0î?€#î?ð?ð?ð?ð?ð?@Çî?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àî?@8ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?€»í?ð?ð?äï?î?ÀÝì?€ä?@§ï?Ïì?ÀÏï?@ÿï?@\ï?@wï?ð?ð?@wï?€Ñ?€íÙ?¯ï?@î?ð?ð?ð?ð?ð?ð?ð?€ûï?@wí?€êà?À”?@a?²Ô?À›é?@üï?ð?ð?ð?ð?ð?ð?€Óï?ÀJè?€ïÚ? °??€Ò?Àbè?©Ô?@?€‹Û?ÀÒï?À„ê?ð?ð?ð?€Üï?Àýí?Ðï?@kï?@ë?ké?]Ø?À(â?Àkä?€¥î?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?€þï?À÷ï?@Þï?@Âî?ÀŸí?À8ï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?5ì?ð?ð?ð?ð?ð?@Ýï?@•ê?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Äì?ÀZï?@î?ì?@mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€cì?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?Àúï?ð?ð?€ å?@$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@iî?¬¼?? á?Àáï?ð?ð?ð?ð?€ï?ð?ð?ð?Ààí?¾½?0?€ÑÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?€›Ñ?ð•?`s?€#Ù?À¼à?øì?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?@’ã?Á?k?Pž?¬?h“?`t?€V?âÄ?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?€ ï?ð?@–ï?€øï?€éï?ð?ð?ð?@ÿï?€éï?Àšï?\ï?ï?@Iî?@¶í?@Êï?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?Àôï?ÀTï?ð?ð?Vî?´ï?ð?ð?ð?ð?ð?@@ï?€¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íï?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?7î? î?ð?ð?@tî?Àˆå?€rá?À ê?ð?ð?Àôï?ÀËï?ð?ð?ð?À¿ê?€ÂÓ?ûç?ð?ÀAí?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?€úï?€å?Ì? Ž?€ÐÖ?è?ðî?ð?ð?€Oî?@©á?¾?àv?>?M?€Ô×?@Bå?Àì?Nè?€&å?ÈÙ?êÔ?ãÌ?L­?pŸ?ˆ•?€5ë?À´í?ð?ð?ð?ð?ð?ð?ð?@ñí?€]ì?€ï?@¹î?Àvî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‰ï?À{ì?À¾í?ð?ð?ð?ð?ð?ð?@öí?@™ë?À0ë?Àýë?€›ì?Kî?ÀOï?ð?ð?ñí?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€»Ø?ÀÖå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?)Ö?M?€µß?òï?ð?ð?ð?ð?ð?ð?ð?ð?€jï?pÈ?€8Ø?Àáï?€€ï?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€iÕ?Ô¡?À:î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðî?@¯à?€>î?ÀKí?@_æ?Ž×?¸˜?%Õ?€çÕ?€p?€ÂÛ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€<ï?ÀÂï?ð?€õï?ð?ð?ð?ð?ð?Àï? î?€%î?€åí?6í?@Üï?ð?ð?ð?ð?€õï?ð?Ïï?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?À›í?ð?ð?ð?ð?ð?À1ï?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰í?ð?@¸î?€êí?€-í?¼å?€jë?ð?ð?ð?ð?ð?ð?ð?Áï?€°î?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\ï?€dí?@ã?Ë? ?»?uá?@)à?^±?P‡?e?@žà?Àìë?eï?@ôî?@öï?ð?@?ï?@Lî?@Ûì?8ë?@î?ð?úï?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?€ºê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?‚î?Àî?ï?À[ï?€Aî?Bé?ÀZì?4î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆí?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?GË?¨Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?€¼Ü?8?Àp?ÌÙ?€×î?ð?ð?ð?ð?ð?ð?ð?€;î?^Ñ?C?7Å?@©ë?€Hï?ëï?ð?ð?ð?ð?ð?ð?ð?ð?wï?EÃ?€f??’à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?€2æ?À˜ã?ýØ?¤?£È?§È?`›?ê?—í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€Žï?ð?ð?ð?ð?ð?ð?@øï?ÀKî?À±ï?ð?µï?@‚ï?ð?ð?ð?ð?ð?ð?ð?úï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rí?ð?ð?@Ùï?À‘î?€¾î?€lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€æì?ð?Àaì?ôï?€ÔÜ?€KÙ?€rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?@ëí?@¼í?®ï?ð?ð?ð?ð?ð?ð?ÿï?€¶î?ÀÆî?ð?À8í?Àé?@ã?@h?X’?€)Ò?€ÜÜ?ºÜ?»ï?€ï?Úì?@î?ÀÊï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.î?œë?€yê?€àé?€ñì?:í?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?€\ì?Àƒì?ð?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Œ?Àìà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?@á?\?€šØ?Àßï?ð?ð?ð?ð?ð?ð?Àüï?Íï?€5å?­?àp?À±å?@9î?ð?ð?ð?ð?ð?ð?ð?ð?ð?5î?8©?[?þÙ?Àcí?úÂ?€h?”Ø?†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðî?Àií?€Šê?€ðÛ?”?8?NË?`‘? |?~Æ?‘æ?0ï?ð?ºî?@±ï?ð?ð?ð?ð?ýï?À+î?€Äï?ð?@øï?Àüï?ð?ð?ð?@Þï?ð?ð?ð?î?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?Àî?ð?€üï?ÀÚí?í?¥ì?€ñê?€@ì?€1í?Wî?@?ì?€Ùï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@uî?•î?Àï?@í?€îî?€_ã?bì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€›î?€Úï?¸ï?:î?þï?ð?ð?ð?ð?ð?Àÿï?Àóï?ð?åï?€êí?@.ï?À:ï?Æ?د?€‡å?—À?mâ?@•î?À}í?Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oï?@àï?ð?Àî?Àdî?ë?Þë?í?ð?ð?ð?ð?ð?2ï?Yì?À÷ë?À®ì?Àï?2í?Àúï?€÷ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyë?_?™Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?£á? }?N?îÒ?Ø?î?ð?ð?ð?ð?ð?ð?ð?@ å?ðÉ?2?T¼?@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?fê?à~?̪?yà? ž?€ÄÛ?€Åï?ð?ð?€bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?Àï?@oë?zê?€ç?À§å?”¤?¢°?¦Í?°œ?´°?€§Û?ð?ð?ð?ð?ð?ð?ð?ð?€xï?oí?äï?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?À±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?@ÿí?@Åï?ÀŠî?€îí?Àpï?ð?ð?Ààí?À¸ï?€¡î?ð?À×í?€¶í?@`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?Àôï?€Öï?@_ï?ÀÇï?ð?À÷ï?À™ï?Àî?ð?À(í?@‰æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úî?ð?ð? ï?€ëî?ð?ð?ð?ð?ð?ð?ð?ð?€î?Ýï?ð?€sï?€ñÛ?€x?là?@oè?p†?ñÊ?@¾í?@ðï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õì?ÀBë?|ë?À_é?€Gé?Ìë?Àží?€´í?ð?ð?ð?@~î?@Yì?@*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ï?çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?€Ñ?xÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?Àùã?À‰?€Ñ?@íï?ð?ð?ð?ð?ð?ð?ð?€tï?Zã?œ§?aÄ?Ûî?ð?ð?ð?ð?ð?@$î?€›î?aî?Àëí?Ê?@z?? y?U?JÇ?¥î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?§î?@îî?@¿è?ÀÎà?XÍ?»?0?:Ý?`u?âÇ?€üì?ð?ð?ð?ð?ð?ð?ð?ð?@àî?ð?ð?ð?ð?ð?À‹ï?úï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?Àî?@Tî?@bî?@î?Àºî?ð?ð?Àñï?Àäí?Qï?ð?€›ï?€˜ï?Ûï?€ ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€ï?#ï?ð?ð?ð?ð?@/ï?|î?À)ï?ï?€­î?@êî?Ànï?€sî?{î?€¡ï?ð?ð?Óï?ð?ð?ð?@Nî?ð?À½ï?€\ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?Àvï?@§ï?ð?ð?ð?À‰î?ð?ð?ð?ð?ð?ð?ð?áï?€Àï?ð?ð?ÀXï?€æß?`?@á?µÏ?áØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Qï?@©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¹ç?WÑ?ˆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìæ?@‰?Q?@½à?ð?ð?ð?ð?ð?ð?ð?ð?ð?“ê?ýÎ?D?€–Ø?€ßï?ÀÇï?ð?ð?ð?ð?ð?ñï?ð?ÉÊ?D?WÌ?è? ´?€"ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ì?þÔ?ÞÄ?F? p?p¬?Àê?Àäï?ð?ð?ð?ð?ð?ð?ð?Àäï?@ÿî?ð?ð?ð?ð?ð?ð?‘ï?€’î?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À í?@Êï?ð?ð?ð?ð?úï?€Bï?%î?€öï?ð?ð?ð?Éï?@Âï?À«ï?’î?€œï?@ýï?@4ï?[ï?À•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@î?€Uî?úî?À•í?@èí?ÀÇï?€Ãî?@åï?ð?öï?ÀÄî?@¨î?ð?ð?ð?ð?ð?ð?ð?ð?ÀØí?ð?ð?@œì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@6ï?ð?ð?ð?ð?ð?ð?À¿ï?ÀÈî?ð?ð?ð?ð?€Ýä?NÎ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?dê?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ïï?ð?ð?À%ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ù?@þá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èç?8«?ˆ?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢ï?MØ?ÉÍ?÷í?€éï?ð?ð?ð?ð?ð?@íï?ð?ÇÉ?:?gÅ?Њ?$­?@†?¡?¸? y?ëÈ?€vÙ?ÀÝä?@öì?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?wï?@'ã?­Ã?I?{?2? {? {?@Ñà?€Nî?@Óï?ð?ð?ð?ð?ð?ð?ð?zï?À²ï?ð?ð?ð?ð?ð?ð?ð?@lï?@dï?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?À‚ï?Àî?ð?ð?ð?ð?€/î?ÀGî?@dï?ð?ð?ð?ð?ð?ð?ð?üí?Åï?.î?“î?€+ï?@þî?·î?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?Dî?¹ï?ð?ð?Úï?ð?ð?€óï?€ëí?€¹ï?ð?ð?ð?ð?ð?ð?ð?ð?€{î?¯ï?ð?€Îî?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?ýï?ð?ð?ð?ð?À¶ì?P•?mà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?Àôï?ßï?fï?À’ï?ð?ð?ð?ð?ð?ð?ð?@ñï?@˜ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Gç?}í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âî?Àûë?@âè?@Jë?€Íì?€­ë?€sî?Àêî?ÀPî?À]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Àüï?ð?@ïï?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aï?€óÑ?€×?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€eä?€˜?„©?ÀÖå?WÈ?š?€bå?ð?ð?ð?@æ? é?@ëï?ð?ð?ð?@ì?8®?R?T½?ÀØé?ð?ð?ð?ð?ð?ð?ð?Àüï?€9Þ?Z?F?È?¾??Ÿ?`~?¬¸?o?¥Â?€vÝ?@^ç?€Dí?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚ï?€àï?@Lï?@Hì?À¡â?@g?T»?À|?a? p?æ´?À‘ë?Àóï?ð?ð?ð?ð?ð?ð?ð?€áï?Ôî?€òï?ð?ð?ð?ð?ð?ð?ð?€öï?À|î?@²î?€êï?À‡î?€_í?Øí?À²í?€àì?ÀÜí?@¶í?À~ì?@“í?À,î?@éï?ð?ÀXî?ÀÕí?@Ÿì?0ï?ð?ð?ð?ð?ð?0ï?€‰ï?Àôï?ð?ð?ð?ð?ð?@±ï?ð?@ùï?Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?ùï?ð?Àôï?Àcî?À#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æî?€×ï?ð?€þï?€Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œÒ?€sç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àfî?ð?ð?ð?ð?ð?ð?ð?À~ï?ÀÓí?ð?ð?ð?ð?ð?ð?ð?ð?mì?Rí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?@ì?€‚ì?@Ûï?€Ùï?À¿î?ð?@Üï??î?À—î?ÀPî?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òî?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8ç?ûÊ?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åä?—?b?WÖ?@ñá?ÞÖ?…?êÝ?ð?ð?ð?Õî?€Gî?€„î?ð?ð?ð?ð?Àì?#Í?,°?€ZÙ?@¢î?ð?ð?ð?ð?ð?ð?€ºï?Àå?@k? }?D?X”?«?@r?€å?€«í?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?ð?€vï?'Í?›?@e?H’?€¬Ý?î¿?̽?€†Ý?€ä?@ˆê?ð?ð?ð?ð?ð?ð?ð?ð?ð?@}î?@¤í?ð?ð?ð?ð?ð?@Uï?ð?ð?ð?ð?€žî?@ní?@‹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤î?€'ï?ð?ðî?Àµï?´ï?ð?ð?ð?ð?€üî?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™ã?T?€uë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‰î?¥í?ÿï?ð?ð?ð?ð?ð?@ðï?ÀRí?ð?ð?ð?ð?ð?ð?ð?@½ï?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?@åï?@:ë?Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Iï?€‰í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?@ùï?ð?ð?@ûï?€ê?Àœì?@Aí?%î?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@œç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2ï?À˜à?Ø—?`q?ÂÔ?GÄ?\? |?µÑ?½î?ðï?ð?ð?€¤î?@³ë?ð?ð?ð?ð?ð?å??@q?¢?@aá?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?€¨í?Âï?€þë?€Õé?é?Ï?@:é?ð?ð?ð?ð?@ºï?ŸÍ?€ÙØ?ÀVè?P®?€R?á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×î?€Àï?€yï?[Ô?À›?¸?Àå?(? ~?>? {?`r?Àn?t¡?ÀÍã?Óï?@ªî?@¥í?ºî?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þí? î?ï?ð?ð?ð?ð?À_ï?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³ï?§ê?@ã?T®?ÈÄ?À:à?®ï?@Íì?À—ï?€ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?}ï?øë?ð?ð?ð?ð?ð?ð?ð?€àì?Íî?í?Žî?ð?@lí?‚ë?€pí?@±î?Àýï?ð?ð?ð?ð?À³ï?@¥í?À—í?À`ì?@ï?@ÿï?ð?ð?Àðï?œï?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?Àbì?€¿ï?ð?ð?üï?êí?€‚í?Xë?@Së?qì?€Óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Qï?Àëà?Àz?Ï?@ï?ð?ð?üê?€å?Àã?À´è?»è?€bå?ÀÌê?@zï?´ä?À[ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\î?`Ú? ‰?0?À`?–¿?€Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?Àøç?@ã?4®?®±?j?›?€+Ø??ì?öï?ð?|í?€åæ?M?Ò¼?€ÿë?ð?@Bì?xá?À‡â?€HÔ?›?±?€uç?€iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Žï?ð?ð?@:ï?€ƒÖ?Àd?0?€ÎÑ?€¦×?À¹á?€¶ï?€NÕ?À?€œ?€Z?€f?Àà?À›î?€­í?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?À¾í?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%í?À‹í?ÀÁî?Dè?€ÇÓ?0¤?UÀ?@ì?€šî?À¼ï?ð?@—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?9ì?âî?ð?ð?ð?ð?ð?ð?€Rë?Àºï?[ë?ð?Uè?@Kç?€ˆï?ð?ð?€ï?@ßï?€hí?Áì?Àí?€½ì?Àpë?@Uí?Óï?±í?@í?@’ì?À=ï?ð?ð?@Èí?ð?ð?€üï?Àaï?€óï?Àâï?1ì? ì?Fï?ð?À,ï?@íï?€_ï?ð?ð?ð?€°ï?@Æì?@Nî?÷î?À5ï?ð?½ï?ð?ð?ð?ð?ð?ð?ð?ûï?@à?€à?€æ?À6ï?ð?ð?ð?ð?†î?¾à?€ÂÒ?PÇ?@8ä?@hì?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åê?ZÆ? |?;Ð?€sà?°…?@j?ËÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?Jå?cè?èŸ?|©?Àë?@ë?@ ä?@$é?@ƒ?A?€£é?}ï?ð?ð?ð?ð?€±ï?À‡é?ÀKè?€¬é?Àë?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?À¼ï?@Êã?.±?€a? }?Àb?vÐ?À’ë?À½è?j²?î?@$í?€¸í?·ï?ð?€î?€ì?€Cí?@Îì?À´í?@±ì?@fí?Éí?@ÿï?@õï?šî?€Åí?~ë?@‚ê?Àyî?ð?ð?ð?ð?ð?ð?ð?@ ì?Å?€^ß?Àûï?ð?ð?ð?ð?ð?ð?èï?€àì?€/ì?Àjç?À¤æ?fí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓè?"³?€VÓ?@Œï?¸Þ?°Š?»?€_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óç?»ì?€¥?–²?(?k?0º?YÌ?È?p·?øÊ?>¸??îÆ?ÀÚì?@üï?ð?ð?ð?ð?ð?€æï?ð?Âï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?€ÿï?"ì?íÂ?¼Þ?€îë?^á?ÕÃ? ?€Ñ?@>ì?€Eí?Ê?R?’?Å?@Ÿï?€`í?ßÅ?aë?ð?€°ß?ð?@£à?Àøî?ð?ð?ð?ð?ð?Àÿï?Šï?ð?ð?€¥ï?ð?ð?ð?@Þï?ÀÇï?ð?@Üí?Àaî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ÿï?À½ï?ð?ð?€ªï?oî?€3ï?@>î?@ï?€ýï?ð?ð?ð?ð?ð?ð?ÀWï?@ï?mï?@ÿï?ð?ð?Àóí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?@ží?@øí?îï?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?Üî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?€Bî?Àxï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ÀIî?@2ë?ëê?@Áá? ?˜?Àè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ï?Ií?ð?ð?ð?ð?À8ì?@Ôí?<ë?@æ?øë?@þë?€7í?Àî?ð?ð?€Ðî?€ì?ÀÞë?ï?@ºï?ð?ð?Àôî?ð?¥î?À=î?ð?€cî?ÀÜî?ð?ð?@pï?À`í?œì?ÀTï?ð?ð?ð?î? î?ð?ð?ð?ð?ð?ð?¦î?iì?ï?ð?ð?€æì?€ïï?@ì?@í?»ï?ð?ð?ð?ð?ð?@£ï?Àüè?€4î?ð?ð?ð?ð?ð?ð?ð?ð?@Šï?@¦í?ð?Àöî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?Íä?X§?@ñã?Àüï?@$à?:?è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äë?€¢é?€±ç?€Îì?€ß?²½?T¼?©?€oß?€"×?Úâ?@ â? ›??$¦?€ÏÐ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼î?[ì?Éï?€èï?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìé?@=î?Öï?€Þï?xë?3Ã?š?`À?ø»?_é?ð?ð?€ë?¾ç?€æ?@uâ?€ÅÛ?4Ç?Øœ?sÅ?Ø»?À~? ?€WÖ?@úî?°ï?Àbâ?@|?O?Ài?>·?À¶ç?¼?À^é?Xï?ÀŽç?ëÁ?†?(“?€iÒ?€•ä?€Rê?€?í?À*ï?À„ï?ð?ð?Àôï?ð?Àñï?€Ëí?ð?ð?À;ï?@ªî?!î?ªî?€µï?±î?@²ï?ð?À`î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Dï?æí?@Cï?@î?@ï?ð?€¼í?@î?@î?Ní?”ï?ð?ð?ð?ð?ð?Àùî?@&î?ÀÇï?Àdï?@Ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôï?¥ï?ð?ð?À8ì?Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°î?À3ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@„ï?ï?€úï?ð?ð?@…ï?@ìî?ð?ð?ð?ð?ð?ð?ð?ð?äï?@–ï?À9î?;î?Àxî?€.ë?€zÔ?@•ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ì?ð?ð?ð?ð?À§î?€ê?@:ì?@ã?nì?Àúï?ð?ð?ð?ð?ð?ð?À—ï?Šê?Hî?Òì?À"î?@ýï?ð?ð?@oï?ð?Ôï?íí?ð?ð?ð?ð?ð?€Èè?À/ë?€æï?ð?€™ì?@ùì?kì?€«ì?À ï?ð?ð?ð?ð?€ï?@í?€1ì?Àíï?€äî?ð?ð?À¢ï?@›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?½í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&î?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?€¤ß? €?À`? ‘?€hå?€à? Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðë?Àyë?€‡è?€óâ?À?€µÛ?~Æ?f³?rÑ?â±?)Ñ?À?@p?@jâ?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õè?À}ë?€Ñî?Àí?€^ï?@Wï?ð?ð?ð?ð?ð?ð?ð?ð?À’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áë?€AØ?.·?€„Ñ?“Ò?ÅÐ?€[?`p?,Ú?Àòæ?Xç?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€ré?€åï?Ÿï?@~ì?€wç?@Àë?ð?@„ï?tÞ?€[?€Ñ?€oÝ?Àää?¯ï?€ýÝ?0?€Z?ÇÑ?€Öé?Óî?Àëï?ð?@ôï?À°î?@~ï?€Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æî?€kî?À‘í?Àíî?ð?@’î?>ï?ð?ð?ð?ð?Àšï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?@dï?@Aî?À¶ï?ð?ð?ð?ð?ð?@µï?@4î?ð?ð?ð?ð?ð?ð?&î?À®í?@—î?@Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀHï?Àkï?@î?€“ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?€Èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¿ï?@Ÿî?ð?ð?ð?@‚î?À:ï?ð?ð?ð?ð?ð?ð?@ïï?Ší?@ªî?Àüï?ð?€™é?€ùÙ??@y?å?À*é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õì?€Åì?ð?ð?ð?iï?ÀÏè?‹ê?@ê?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?@ªë?€îï?€_ï?€ýí?ð?ð?ð?ð?Àþï?Àyí?À~ï?ð?ð?ð?Àgï?€ë?@¨ï? ì?@Gë?Àæ?À*î?”í?@—î?ð?ð?ð?ð?ð?ð?ð?€Ýî?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àî?@í?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zê?@³í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï?Ü?W?ÕÅ?ÇÊ?p¸?@êî?ð?ð?€µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?@Âà?€™ä?WÇ?àˆ?©?Ào?€R?9Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Cï?‘î?€ï?À ï?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vî?ÀEï?ð?ð?ð?ð?ð?ð?ð?ð?ð?G×?:Â?€kï?€åì?"å?í?”ï?Àì?@ïç?@ê?À î?"ë?€åè?€ªé?@ê?@Mé?ð?ð?ð?ð?@úï?€Žë?¡?ä·?Àªä?ÀÜï?À®ì?€Tî?€·å?ÈÇ?@‚?€V?@k?Àt?ȳ?5Ë?@ðï?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èï?ð?ð?ð?áï?Àí?@•ï?ð?‘î?@?î?úï?€µî?@‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?yï?€í?Àýï?ð?ð?ð?ð?ð?íî?@Pí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?Àõï?ð?ð?ð?ð?ð?ð?ð?€ûï?À°î?@ë?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™î?ÀØï?ð?ð?Àáî?@Áï?ð?ð?ð?ð?ÀÀï?ð?@öî?À-ï?ð?ð?ð?¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¶í?cÖ?@yä?¤?¦Ö?€ù×? ~?~Ô?@óë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwî?@5ì?À7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?í?À„ì?ð?ð?€5î?@Éë?€Cç?€ ë?9ì?Wë?€èì?·ì?@9í?Ùí?Àºí?€ãî?ð?ð?ÀOï?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À]ï?ÀLì?Àçî?ð?ð?ð?Àmï?Äë?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àí?üï?€¢ì?€çÔ?è?Àœè?€bî?ð?ð?ð?ð?ð?ð?ð?ð?À¹î?@Äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?mà?@f?€V?€{?yê?Éï?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?Àpê?€úæ?€ˆï?ÀWí?Ï?Z¸?À?{Í?À;í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùî?€@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ví?ð?ð?ð?ð?ð?€¼ï?ð?ð?´ë?ˆš?Œ?¹ç?€Së?8²?è¤?¼?p?<£?¬¢?èª?@pâ?Ãä?@Xä?_Ú?—Î?¤?CÂ?6Æ?Àê?„?5Æ?€×?€bÕ?8Ÿ?ˆ?@i?Ày?Ày?oÅ?€–?ZÆ?@’î?ð?ð?ð?Àtï?@Šï?Àýï?@Þï?Àôï?ð?ð?ð?ð?ð?ð?@ï?€Åí?Ìì?ÀÉï?ð?ð?€íï?Êí?Ãï?ð?@£ï?€ðî?ð?À)ï?Cî?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðí?@¤í?À©ì?@Oï?ð?ð?ð?ð?¸ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àbï?@ï?ð?ð?„ï?ð?ð?ð?ð?ð?@©ï?€?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚì?ð?ð?…ï?€^î?€~ï?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?À%î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zï?tØ?’ä?¢Û?€ªÚ?Žà? …?—Ú?øÀ? ‡?è?À?ã?9ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?@‡ë?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅë?ð?ð?²é?Àùï?@¦â?€Eé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dî?Àí?À´ì?Àí?Àsí?$í?@]í?lí?@Àí?ð?ð?ð?À3ï?@~ë?ð?ð?ð?ð?ð?@­í?¼ê?0ì?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®î?ð?€ôë?€Ñî?ð?ð?ð?ð?ð?ð?ð?@3ï?€pç?ìÑ?€öÖ?€Ð?²µ?*°? ´?€Ú?€Ðî?ð?ð?ð?ð?ð?ð?ð?€Äï?À9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?|ã? |?2?€o?£Ë?€ûÑ?|¦?€LÖ?Àyë?ð?@øï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?{ï?ð?ð?ð?@Eç?€†?&º? Ä?€r?K?`~?€þ×?¥ï?ð?Àáï?ï?ð?À?ï?À™ì?ÀKî?À:î?@¿í?ÀDï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚î?@`ï?ð?ð?ð?ð?ð?€¼ï?ð?@´ä?Ð¥?À—é?€ÿÓ?€V?ض?8?Ãê? ?R?K?Є?€f?I?€ˆ?T?[À?«Þ?€o?€™Ñ?À½ï?ð?ð?ð?Àþï?@÷î?·ï?Êï?Àáï?€ñï?ð?€õî?Àîî?ð?ð?ð?ð?ÀÅï?À+ì?@0í?ð?ð?À×ï?éí?ð?Ìí?ÀÀï?ð?ð?Wï?€wî?ð?ð?ð?ð?ð?ð?€ûï?À¸î?»î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?sí?€›î?ÀEí?Àyî?@î?À¡ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ð?€˜î?ð?ð?ð?ð?€éï?€?î?@Øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ºî?ð?ð?ð?ð?€Iì?ð?ð?‡ï?À[ï?ð?ð?ð?ð?ð?€–ï?ð?ð?ð?ð?ð?ð?@Ãî?ð?ð?ð?ð?ð?ð?ð?Àšï?€¹ê?·Ó?€{Û?@|ã?ÀBé?@¼î?›×?€ÓÓ?à‰?p€?Àúì?ð?ð?ð?ð?Yï?€ñì?í?@Ýì?äì?@wí?@'í?@€í? î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?€:î?€Ñí?Àé?@í?À“é?€Ië?ÀZì?€êì?Àî?@&í?:ì?@¸ê?@Ðé?€eí?@ýï?À±ï?@Sí?Àúï?ð?ð?@ïï?·ï?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?€×ï?@Cê?ÀØï?Óì?€)î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?€Èß?@:é?€ ê?ºî?ð?ð?ð?ð?ð?ð?€µç?¡È? ?€¡?€¼? ±?üç?ÀŒë?€Xã?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?qä??ðŽ?ÅÑ?>´?Ä?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™æ?v¸?úÁ?ÀSå?¦½?6Ü?Ïï?ð?À;ï?Àkì?î?Ìî?À«ï?À~ï?ð?ð?ð?ð?ð?ð?÷ï?Àmï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôî?Àï?ð?€¿î?@hí?Àï?@ðï?ð?â? ?ÙÑ?né?˜¨?°«?°¢?B?p˜?€\?h¨?¨ž?L¬?½í?Ƹ?ü¸?»?@£?eÅ?À$ä?Ðá?@Õé?¯Ý?°‚?³?Àíç?ìÈ?Ö±?Æ?aÅ?ÀÉë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?@ï?€àï?ð?ð?Àôï?ð?ð?ÀRï?À‚î?@î?€Mí?À‡î?Àñí?€­î?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€…ï?ð?ð?ð?Àdï?^ì?€áí?üï?ð?ð?€Þï?@ùï?ð?ð?ð?ð?ð?Àþï?€ î?À˜ï?ð?ð?@bí?À×ï? ï?ð?ð?ð?oë?€#ï?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}ï?@ùî?ð?ð?ð?ð?€í?ð?ð?ð?ÀYï?ð?ð?ð?ð?ð?ð?ð?ð?@Oï?ÀÖï?ð?ð?Àëï??î?Àäï?ð?ð?ð?ð?€ªï?€6è? Õ?ÀUê?€ŠØ?€à?€†Û?€èÒ?ÀÖà?Ãá?×?€¿Ô?޼?ð‘?P¦?úï?ð?ð?ð?ÀÀï?@Eì?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œë?À‚î?Öì?Ôç?€%æ?€Ýï?ð?ð?@éî?@ží?ð?ð?Àóï?Vì?[í?@›ì?@Lë?@gì?•ì?í?€í?@Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?–ì?(î?ð?ð?[î?lí?@2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Q×?8™?À›æ?ð?ð?ð?ð?ð?ð?ð?ð?@Ýã?tÇ?"Ì?Àƒ?ÀŠ?ÝÀ?õÒ?DÚ?À‚é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLå?˜?Ê?Ò?Àpå?€bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èí?€µÑ?Hª?€Õ?Þ¿?‹Ï?À†?À‚ã?,ï?Šì?@¸ë?@rï?ð?ð?ð?ð?ð?ð?ð?ð?À+ï?À.ï?qï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€0ï?,ì?€Qè?€Öë?ï?€Yí?ð?@&á?˜ ?°Æ?Üì?ð•?<©?€àÔ?‚Å?Pª?@n?¥Ý?wÒ?øÕ?Àêá?€BÚ?@d?°¢?¼¹?€ ×?Àã?Àã?@üà?ž?@Ÿ?ÁÒ?=Ú?Ð? ˜?àp?Àšã?€Bâ?àæ?œÆ?@½à?(?˜?ª³?€3í?ð?ð?À¦ï?ð?ð?ð?ð?ð?€úï?€úï?ð?ð?ð?€òï?@›ï?@sî?@ï?Hï?@ î?À·î?À|ï?ð?ð?€éï? ì?@­ï?\ï?@¨î?€Çî?Àdï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)ï?À8í?À²ì?€ßé?ÀØê?Àyë?@¡ë?À4ë?ží?ÀJí?Àµé?À«å?@0å?€Cä?Ànä?ÀPë?"ï?À]í?@î?ð?ð?@éï?îë?À€ï?@”ï?ÀÓî?€Ôï?ð?ð?€;ï?äï?ð?ð?ð?ð?ð?ð?ð?Àgï?ëî?ð?ð?ð?ð?@…ê?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?¶ï?€ñí?@¬ï?ð?ð?Çï?@/î?ð?ð?ð?ð?À¼î?ˆâ?ÀÚá?!ä?À æ?€Yï?ð?ð?@wî?ÀÇí?@ï?€êí?€Zï?€1í?€Ø?à?à{?á?ð?ï?@jé?@[ì?€,ê?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?@Ðî?@Ôè?±ì?€ÀÜ?€ì?Wï?ð?ð?ð?ð?ð?ð?ð?ÀŒï?Àí?Àüï?Àþï?8í?Êì?€}î?Ïï?nì?À¢ì?@î?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëë?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúí?è¿?€µç?Àþï?ð?ð?ð?ð?âì?7î?íï?€î?†±?À‘?ø‘?Àp?Œ¯?ÀYå?Àjè?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?½è?„¤?`?K? Í?0¼?€–?€ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ï?€^Ñ?0?à¨?€ßå?Œ¸?€:Ò?Àžç?ií?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùî?›î?ð?ð?ð?ð?ð?‚í?»î?ð?ð?€þí?€×ì?€ ç?.±?HÁ?vï? ©?×Ç?ú³?T?È™?vÄ?€êØ?€dÒ?T?|Ë?@]â?À#è?Ž?ÀÆå? «?K?¦?€w?{Ä?l¹?À`?d¶?@/è?ð?ð?Àðï?Àì?€<Û?À? ?¯?‰?J?ðž?hº?°¦?@Åâ?"Ö?˜˜?ÀRä?Ôà? z?²?Rí?ð?ð?@bì?Ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎî?@Õî?@*ï?Ýî?Àßî?€Ìí?€_í?ÀJï?€Âî?@õï?ð?ð?€gî?@Éï?ð?Àýï?Ÿî?@ï?€ï?ÀÜî?òï?À)ï?€Kî?€\ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ñï?ð?ð?ð?ð?ÀVï?ÀÞì?À'ê?7í?€Ïï?ð?ð?€ßî?€áç?Àè?€œê?@†ï?@ôï?Àµï?Ààï?À+ì?Éï?€î?€°í?ÀÊî?Øï?€ûï?@¸î?ð?ð?ð?ð?€3ï?ð?ð?ð?€ïï?€gî?ð?ð?ð?ð?®ì?Àôï?ð?@]ï?€Èï?ð?ð?ð?ð?ð?€ï?ð?ð?ð?€àï?ÀÙí?Qî?ð?ð?@î?@ï?ð?ð?€õï?2å?@‘ç?Àxã?ÀÊá?€·é?@@í?’î?ð?ð?ð?­ï?€Šé?ÀÖï?Âî?’½? u?Ä?^Ò?ãÈ?oÅ?@v?wÄ?€{Þ?€í?Àï?@Ÿç?€²æ?!ä?êë?€„í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?@ºï?€°í?Ìè?Àå?€î?Û?qê?ð?ð?ð?ð?ð?ð?ð?ð?À3ï?Ëì?Àëî?ð?ð?ÀÏí?;í?ð?ð?@ï?€Ëì?ÀÂî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°í?Àî?ð?ð?ð?ð?ð?ð?ð?€Øï?ð?ð?ð?ð?ð?ð?ð?ð?€¦î?ð?ð?ð?ð?ð?Àsí?ÀÍî?€>í?À8ï?@(ä?`v?¤è?ð?ð?ð?ð?ð?ð?ð?ð?€î?€ê?ð?ð?ð?@wì?äé?@áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢ï?@~å?d¼?R?Òµ?€Öê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€xï?Ù?T?Àv?Ð?€Úæ?ßç?@¾í?Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àï?@´ï?@‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€bé?Û?¨©?”­?Üä?@ãé?»ß?€R?OÀ?L©?€dÔ?ÀEã?Uà?À è?ÀNì?€Ýî?©?@Ã?ÒÅ?Àà?€•á?Â?>Õ?’?T?€e?<Ë?€ÍÒ?º²? °?@'á?Àïä?ÀPì?ð?ð?ð?ð?ð?@òï?€%é?Àûæ?À÷ç?óÎ?€=Õ?ÀPã?ÀAã?¬¥?@n?Ài?¬?Àeç?€žï?@zé?@d?kÐ?Å?€ž?ÚÑ?€–Û?×?ð?ð?@àë?´Þ?€ßí?ð?Óï?ð?ð?ð?ð?ð?ð?@øï?€„î?ð?ð?ð?ð?ð?ð?î?À/ï?€¢ï?ð?ð?ÀÀï?€çî?ð?ð?ð?ð?ð?ð?ÀÄï?àï?õï?À î?@êî?ð?ð?ð?ð?ð?ð?@Þï?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?>í?€¯á?@Ôë?€Àî?€Gî?ð?€ë?Àï?€î?ð?@ýï?nî?€ªî?Jï?ð?ð?ð?ð?ï?À{ï?þï?ð?ð?@Üí?€Ùï?ð?€âï?Àìï?€$í?ð?ð?Nï?Øï?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?À¡î?Àñï?ð?ÀÊï?“ì?ð?Àðï?@zé?€Zí?€úë?À0å?€cæ?Àáì?€#í?ÀÓî?€ùï?ð?ð?ÀÒï?Àmí?€Iï?Àšê?P“?|à?À‡ì?À7í?@gë?@îì?À/â?€$Õ?^½?àŠ?à¯?€,å?@êê?@»ç?@¬ç?@ì?@4à?Àií?€$î?«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&ï?À@ë?Àçå?À©ç?€Æî?ð? ï?À¶ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôí?[í?€…í?@Ùï?€zî?ÀÉì?ð?ð?ð?òí?@Þì?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@6ì?ð?ð?@éî?ð?ð?ð?À…î?Àøí?€í?À¨í?€—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªë?À¯?ˆ–?@è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Oï?Àcì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëî?ü»?,®?À|ç?jÁ?`Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡ï?Gå?@{á?kÕ?ÉÄ?j°?@ç?€ãè?@¯ï?ð?ð?À«ï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üî?€øî?ð?ð?ð?ð?ð?ð?ð?mí?@Çí?ÜÂ?€~?³ß?ð?€íï?À¬ï?ÀOè?yÀ?ŽÂ?@í?ê?@qç? î?ð?ï?ýÉ?ä±?€©Þ?T?€R? ±?į?:?Jµ?@vã?@$ê?Î?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡Õ?ëÎ?'Í?€V?Às?:ì?Àßã?½?V?`¢?•Þ?€à?éÁ?ŸÁ?x?p™?àæ?ÀÇí?ð?ÀÓï?@rï?€Ñî?ð?ð?ð?ð?ÿï?öï?ð?·ï?À^î?ï?ð?ð?ð?ð?ð?ð?@Þï?ð?@“î?€ í?@`ï?ð?ð?@Lï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Àkî?@°î?À<ï?ð?ð?ð?Uî?ÀXï?ð?€¼ï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?`î?@Èí?@Yî?€Óï?cí?Àä?€¬å?Àbì?ì?ºê?€éí?Zï?ð?ð?Àüï?€þï?ð?ð?ð?ð?ð?ð?ÀËï?»î?€ðï?ð?Àöï?ÀRî?@×î?Àï?ÀÄí?À»î?ð?ð?±ï?À?ï?ð?ð?ð?ð?ð?€éï?Àôï?ð?ð?ð?ð?pï?€1ï?ð?Àýï?@]í?€'ï?@õï?ÀOé?îï?Àšè?@$é?€Èè?€ë?Zî?@[ï?Àï?ð?ð?ð?€úï?ÀØï?ÿÖ?ùÐ?€›î?ð?ð?Çï?ð?„ï?€¬î?Çç?ÌÝ?Ï?°§?:Õ?@¼ï?ÿë?€bï?@vï?ãî?ð?€ší?Íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃï?÷Ü?-ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?ÀJí?À­í?@Sï?€Žì?@©ï?ð?ð?®ï?@ûì?ÀŸí?dí?À¡ï?ð?ð?ð?ð?ð?ð?ð?Àøî?Àiì?Àäì?À}ë?@Óï?-î?@òì?Àðì?À£ì?À~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@të?ð?ð?ð?ð?ð?ð?ð?Àìï?ÈÈ?`y?ÀÛà?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þî?qÚ?ÊÇ?Öï?€—ã?Ê?@zí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?@øï?€Lá?€V?` ?Á?Àÿá?²?@‡ç?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNï?ð?ð?ð?®î?@fï?ð?ð?ð?ð?ð?ð?€Íï?@öä?!Ò?gÆ?À]ï?ð?ð?€tî?ð?€?Û?€‡?@q?@Né?ð?ð?ð?ð?@¶ï?€×?t×?7å?€^Õ?pÊ?ˆ¨?hÑ?`?(?€Z? Œ?@”?‡È?°ƒ?€eÓ?ÀÐê?áå?®ï?@¶ï?ð?¦ï?Àï?ð?ð?ð?ð?ð?ð?€ˆï?@{ì?ô¯?Àr?Ð…?èÆ?aÔ?¸»?€–?€f?q?€S?`¡?@„?€o?p„? Ž?€Ð?b?@“? u?à~?Àæ?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ÀÖì?@!ï?ð?ð?@qï?@Úí?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?@åî?ÀÜï?@ï?2î?€ýï?ð?€þï?@eî?À½ì?€›ë?³î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?àì?ÀÚâ?ß×?@«ä?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?@¶î?ð?Àêï?ð?ð?€šï?Àâî?Íí?Ãë?@î?üï?‡í?ð?ð?ð?ð?ð?€éï?@„ï?ð?ð?ð?ð?ð?ÀÏî?Gï?ð?€ÿï?@í?@ëè?€ ì?À¼ç?À+é?ï?ÀJì?@Nî?@ ï?ð?À ï?@çï?ð?@„ï?€Çï?½å?¸?À_ç?@Óï?ð?ð?ð?ð?ð?ð?ð?€ï?@ïê?€îä?€”Û?ʺ?À‡?mÂ?à€?Ü ?€)Ø?€øë?ð?ð?ð?ð?€õï?™ì?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥ç?@æè?ð?ð?ð?ð?ð?@Zï?Àåï?ßî?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À)ï?:í?Ôï?@´ì?>ï?ð?ð?ð?ð?€»ï?wì?8ï?ð?ð?ð?ð?ð?ð?ð?€ë?ÀVí?À¨ï?€Ní?À™î?Àší?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ë?Àìì?ð?ð?ð?ð?ð?ð?ð?@Äê?I?>Î?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€®ê?Ø ?I?Àsã?@òî?zÀ?½Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?€üï?æ?,¯?µÀ?„µ?O?Ш?O?€Õ?úï?Àrï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Åî?ð?ð? ï?ð?ð?Ýï?@Vï?Àæî?ð?ð?ð?ð?ð?ð?@’ã?ä¯?*Ò?ð?ð?ð?@³ï?ð?Hí?€hê?€Eç?Àôï?ð?ð?ð?ÀHï?ÓÞ?€S?@¾ä?þÙ?€Câ?õ×?Ì?@Çê?ÀÎç?TÈ?€f?à€?0?|É?ã?•Ý?ÀÐâ?ì?@]î?ð?ð?ð?ð?ð?ð?ð?Àî?€ï?è¬?€{?dº?€a?kÏ?ÌÑ?E?P‰?àp?p‚?pŽ?ôÝ?@n?€f?àt? |?0Š?¬?àœ?@à?ð?ð?ð?ð?€Šï?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?@šì?@ëï?ð?ð?ð?@¢î?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?hï?@Ïí?Àî?À²í?@/ï?ð?í?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·í?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?Àþî?[ï?ð?ð?Àï?€ ì?{ç?@ä?À¿ì?@íî?ð?ð?ð?ð?ð?@®ï?@Ûï?ð?ð?ð?ð?€¢î?ð?ÀÆï?ð?ð?ð?ð?ð?€Fì?€ç?@§è?À½æ?Àëï?ð?ð?ð?€™ï?ð?@ƒï?ð?ð?ð?ð?ð?ð?@Þì?ðê?;æ?@*ã?@Ïä?é?@¶í?@Eî?€ï?,î?€¼í?€ï?@zï?ð?ð?Àeî?€ðí?ÀÊè?€<Ó?À_ã?€ê?@èì?¬í?ð?ð?ð?ð?ð?ð?ð?@ï?ð?€þî?5å?Í?€»Ø?„µ?ÀÇ?@‡æ?0ï?ð?ð?ð?ð?¨ï?À¶í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?«ã?€õï?ð?ð?ð?ð?@Gî?€Ð?@@á?ÀÆï?vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMï?€Ðí?úï?@âì?Oï?ð?ð?ð?ð?ÀÎï?ÀDî?ð?ð?ð?ð?ð?ð?ð?€„ë?€eî?ð?ð?ð?ÀÕì?€Ãï?ð?ð?ð?ð?ð?ð?ð?ÀÊæ?Àºã?ð?@Úï?ð?€òï?ð?ð?Àí?@hï?ð?ð?@ä?@|?t?„¨?À¡è?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À…î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€tî?˜È?8¾?Àüé?€ãà?d¶?Àñì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ì?¸¢?ÚÃ?@í?€½ã?€ƒç?€a?P™?hÊ?a?uâ?€¸ï?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€cî?ÀÎï?ð?€7ï?ð?ð?ï?À-î?À·ï?ð?ð?ð?ð?@ï?@tä?GÀ?ÒÍ?Àþï?ð?ð?ð?ð?Àxî?ð?ð?@1ï?€¼ï?Àçì?üØ?ìÁ?$?à£?n¹? Â?Ó?G?€?€)ß?@uå?´Ü?ÓÏ?0»?€–?p‘?xž?à‹? v?GÅ?€Eæ?€|á?€¤â?$¯?À`?€S?h?9Í?RÖ?°‡?Àv?âË?Ðé?ð?ð?ð?ð?ð?ð?ð?ð?Èâ?h“?F¿?€HÓ?ÀÓà?@pä?€ˆÚ?Õ?àÅ?@o?uÊ?kç?ï?À?í?@Òæ? Õ?À²?À†?•?D?T? ’?‰?À§ä?ð?ð?€éï?ð?@ï?ð?ð?ð?ð?ð?ð?€×ï?€Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pí?€ïï?ð?ð?ð?Àpî?À„ï?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ÀÝï?ð?çï? í?Vî?šï?À`ï?@ î?-í?Àõì?”ì?À¢ì?@‡ï?ð?Àwï?À?î??í?À¾ì?×é?€üí?ð?ð?ð?ð?ð?ð?ð?Àüï? ï?@µî?€Ùï?ÀÞî?µí?@Oï?€°î?@Òí?@î?í?€æ?À›î?€ñï?ð?ð?ð?ð?€áï?Àbî?øï?ð?ð?@ïï?@î?ð?ð?yï?yï?²î?€£î?ð?ð?@ÿï?@òî?€4é?Àîí?ð?ð?€­ï?Pî?ð?@'ï?÷ï?ð?Àôï?À¡ï?€ì?€Iè?•ç?€mì?Oí?€Šæ?€©í?€ôï?€<î?½ä?€þí?€Àï?€õè?€ëí?‚ç?€¾è?@êê?{â?€zÕ?åÙ?dè?@î?ƒí?€Öï?@—î?–î?¯ï?ÀÇï?ð?ð?ð?@™ï?„ï?€ï?ð?@˜í?€Ïé?î?€Ãá?¸¤?OÃ?ÀÍì?@óï?ð?ð?ð?ð?ð?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€¡ã?@dé?ð?ð?ð?ð?ð?ð?À¨á?€ î?€€ï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sî?€ ï?ð?@³í?ýí?ð?ð?ð?€ìï?€Kî?ð?ð?ð?ð?ð?ð?þï?Àóê?*î?Òí?Àüï?ð?€ùï?wì?ð?ð?ð?ð?ð?ð?ð??Ù? Å?Qï?ð?ð?€!ï?@cë?€Tï?¥é?ð?€ï?ð?€<Ô?¸»?áË?À?Àrá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àqè?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?@øé?vé?ÃÔ?ð„?p…?Àe? w?Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìì?ÂÖ? §?N»?€ æ?€¤ï?@ƒï?€ãï?œÉ?…?Øá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?À,î?ð?õî?ð?ð?Óï?@Tî?ãî?ð?ð?ð?ð?,ï?2ì?£?èÌ?À‡ï?ð?ð?ð?ð??Þ?ð?ð?@^ç?€ŽÝ?Ó?ˆ¿?€V?]?¶Á?Л?†?@è?Àäç?uà?€dÙ?€²Ó?À®à?€ùÛ?€ãß?Ê? ?ØŸ?@?€á?cî?Wë?R²?>?Ô®?@>ì?€¼ï?ð?ð?ð?ð?ð?ð?ð?Bç?d¤?€Y?ð”?ÐÎ?€½Ö?GÓ?<´?„®?Äç?À3ï?Àjî?@çæ?Àüï?ð?@!ï?«Ú?ð¾?ƒ?ëÂ?hÍ?—À? ?€i?€‡Ö?ð?ð?ð?ÀÜï?À]ï?ð?ð?ð?ð?ð?ð?ð?€¥î?Àƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨î?€ví?@iî?ð?ð?ð?ð?Àïî?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾î?€Xí?í?@ïï?ð?ð?ð?@Xï?ì?@/í?ÀŸí?€•î?ð?àî?À¼ï?€äè?»ë? ì?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øí?î?@±ï?ÀŠî?Àìî?€Oç?€Ñé?ð?ð?ð?ð?ð?ð?€±ï?@âî?ð?ð?ð?À€ï?€Ùî?ð?ð?ð?ð?Lï?€Aì?€9ï?ˆï?ÀŽë?ÀÍã?Àkä?Àné?€Nì?@,ç?öè?€×í?3ï?Àãï?Àßê?þæ?€å?À]é?@Tí?ð?¦î?€+î?@3ã?ð?ð?@xé?€¦ë?À?ë?Àzæ?Qé?@ã?€íä?fç?€Öä?@?í?€ Õ?Àdë?3ï?Àdï?ð?€uï?€Íï?Fî?ð?ð?ð?ð?ð?@@ï?@2ï?ð?ð?ð?À9î?íï?Uï?\à?:?šÓ?Àøî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fì?Àê?€ÿï?ð?ð?ð?ð?ð?ð?@¬ë?€ú×?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@!ï?@Øí?ð?ð?ð?€Ðí?Àzï?ð?ð?ð?ð?ð?@ï?€’í?ð?À3ï?€ðí?€Eí?@=í?@2î?@öï?ð?ð?ð?ð?ð?dî?€á×?:Ð?À˜î?ð?ð?ð?@†ê?éï?@uì?€hí?€ùé?ð?ÕØ?p‘?Àe?Àµ?€µÖ?MÎ?@zâ?€‡Û?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?@wè?@7î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?€\Ù?0µ? µ?À‰à?“Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?@rá?³?€"Ù?YÖ?€¤å?ÿï?€±Ö?5À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð??ï?ð?@öï?ð?ð?ð?;ï?@Fî?ð?ð?ð?ð?Àï?À®é?€Ð?ƒ?@<ê?ð?ð?ð?ð?ð?âì?ð?ð?ð?À‰æ?¼Á?Ø‘? €?M?0œ? ?`±?€Ô?C?@°?èµ?à˜?S?€ØÐ?Àí?€/ë?@Åï?À‹ï?Àaê?€ ë?Àfé?€‡å?À›ã?Œ¿?€S?(°?®²? Â?€Íá?@Eë?ð?Àlï?À´î?ð?ð?ð?ð?€Íî?À]ã?=Ã?¯Ä?À«ä?€ðè?ÀMæ?f¹?r?`”?p¯?@óâ?ð?ð?ð?€xì?ãï?ð?ð?ð?ð?êï?ð?ð?Àûï?Àkî?@!í?€iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òî?Àfî?ÀMë?€_ì?À—ï?ð?ð?ð?Àºî?ð?ð?ð?ð?ð?€jî?ÀÆî?ð?@½ï?À;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@žî?€Qî?Àï? î?€—ï?ÀCë?€'î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?pï?ïï?€ÿï?Àûï?ÀÌè?@Qí?ð?ð?ð?ð?ð?ð?À4ï?€:ï?@ï?ï?@êï?;ï?@ªï?ð?ð?Fï?€*ï?"ï?€Eé?€Åè?å?€hé?€lê?Àã?€+ß?€ÞÜ?@8ä?Àtá?@‘ë?xë?@Œâ?”í?ÀÆî?@ï?ð?dï?ƒï?î?€á?·ï?ð?uë?@ïï?Àºì?€½ì?€—î?kî?€Ìï?Rï?gï?€íè?ÀÀæ?À¬ï?€¡ï?ð?ð?ð?€ßï?@ûî?ð?ð?ð?ð?ð?€Jî?€üï?ð?ð?±ï?À°í?ð?@Ãï?@Wâ?Ц??@cæ?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Së?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇí?@ùã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷î?öï?ð?ð?ùï?@'í?€ôï?ð?ð?ð?ð?€‹ï?À±í?ð?ð?@®ê?À¹ï?@ýï?oî?@í?üì?@šî?ð?ð?ð?ÀPì?ÜÜ?€2ì?ð?ð?@hï?ÀŒê?€Né?ð?ð?ð?ûï?ð?€Kà?VÓ?€Ù?€¹Ù?ªµ?Ж?¥Ð?€R?úÇ?À2è?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?€ˆá?@µë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäè?Ü®?0?€Ð?¨©?:´?€Ôë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(í?@ä?€_à?BÝ?€xÑ?FÇ?@Äî?9ç?Ä ?àp?Ü¢?@_í?Êï?ð?ð?Óï?€´ï?ð?ð?@Ôï?ÿï?ð?Àýï?€ï?íï?@Ìï?@ðï?ð?ð?@¹ï?@Ëï?¯ï?@ãî?Àêï?ð?ð?ð?Àþï?Àï?@Cà?p¬?€[ï?ð?ð?ð?ð?ð?ð?ð?ð?Àlì?@Îï?@Tí?,¸?$?×??6??²?‰?^»?²»?È?dª?®?»Ý?€1ê?Ю?Ĺ?€#ã?ÀÔï?²ï?ð?Óï?ð?ð?€ï?À î?€ôï?ð?ð?ð?@ùï?@èî?@öã?€âß?€‰Û?߯?.µ?D?P??|¦?R?Á?o?œÍ?žÊ?Àw?€P?L£?@¢á?@Ÿî?ð?À ì?ÀËé?@ï?ð?ð?ð?ð?@¼ï?ð?ð?ð?ð?@ÿï?€xî?-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@?î?vî?@‹ë?\í?@ ï?ð?@›î?Àÿî?¨î?ñî?€«î?Àî?|ï?@oî?@äí?/î?€Þî?€î?À`ï?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íî?€µî?@òî?Ëë?.ï?@‚ì?€Àí?€¥ï?À»ê?À ë?@¯í?Ìí?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?@ðï??æ?í?ð?ð?ð?ð?ð?ð?€ìï?@lï?ÀVí?€1ì?€Šê?@=î?€åï?ì?Mì?@éî?²î?@=ê?µç?@¿é?€øï?üï?@Áî?©ê?€‡â?Ò?€qá?@8è?Àâ?€(ë?@ÿï?Þï?ð?ð?À}ï?ð?ð?Àáè?©å?ð?€mï?ÀHï?€Úí?€éî?»ï?€Îï?ð?ð?ð?öä?€Qï?À'ï?@úï?ð?ð?ð?€{ï?€zï?ð?ð?ð?ð?ð?À'ï?ð?ð?ð?õé?€aï?Àîï?€‚í?|ì?ŽÊ?ÿÀ?P«?€oÐ?ŠÙ?lÖ?â°?š°?€¨á?€Ií?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDê?ð?ð?ð?ð?ð?ð?ð?ð?À|í?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?§î?€·ï?ð?ð?ð?ð?Àýï?€í?ð?ð?€ï?@uì?@àì?€5ì?“ï?€Ñï?€^ï?ð?ð?ð?€Îî?€Ëï?ð?ð?ð?ð?ÀSì? ï?ð?ð?ð?ð?ð?Sç?wÈ?À ê?€Uï?€Ëé?«ß?€}ï?ÀWæ?×ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—é?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@)è?ÇÓ?X¸?$Â?CÓ?äÉ?@¤í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—î?€eï?ð?ð?}ì?­?@\é?ð?€Bí?€6â?0˜?@¶?@$ã?üÙ?d£?€V?x‘?€_ç?Àýï?ð?ð?ð?@Ûï?ð?@àí?ð?@ï?Øî?ð?Šî?€üï?ÀÌï?ð?ð?ð?€ï?tï??î?Îï?@Fï?ð?ð?ð?Àùï?€ä?Nº?ö¶?@1â?ìï?ð?ð?ð?ð?ð?€í?@Gè?@…í?ì?À¶æ?@·í?§â?€…?à€?8›?&¶?, ?n?€¬á?‘ï?@ââ?À!ã?Óì?ð?À‚â?]å?H™?€T? Å?@í?ð?ð?ð?ð?ð?ð?¾ï?Úï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽí?€è?€OÖ?xÔ?ž´?àp?°ƒ?ð‚?€³ß?ÀŸë?¼? ¼?Œ¶?p§?—?x?€†?€vÐ?ë?€@×?€iÞ?€°í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬î?@¾í?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?»í?@¼ê?ð?ð?¦ï?ÀÆï?@æï?À‘ï?ð?ð?ð?ð?ð?ð?€µï?ÀOî?Àí?€ï?@Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²ì?€öè?€Dë?@(ë?€&ç?€ç?@…ç?À×ê?é?-æ?€‰ì?€êë?Qí?@9ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?Àaå?À¸ä?@Aï?Àµï?ð?ð?ð?ïï?ð?ð?ð?ð?@í?À€æ?€•ê?€é?€ è?À.å?è?€Éè?@ ì?€¡ï?ð?Ðï?Ží?@Ží?cÛ?À.ë?€¯î?@æë?@Ýî?À~ï?ð?ð?ð?@óï?@6ï?ð?ð?óï?@mâ?ð?ð?ð?ð?€zî?€’î?õï?ð?ð?€×í?@Íè?Àöï?@õî?ð?ð?ð?ð?À[ï?ÀCï?ð?ð?ð?ð?@Õî?@Êï?ð?ð?ð?¥ï?Ãï?@ï?õï?€áÙ?€Aâ?Tá?Óã?@>é?ÀÓí?À¾î?½í?á?ð´?‘?Œ ?ʶ?€ãæ?€½ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?„ë?ð?ð?ð?ð?€Ëî?Àì?í?€Öì?9í?ÀVì?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï? ì?€÷ï?ð?ð?ð?€?ï?€Úë?åë?Àdí?Àùï?ð?@Óï?@ï?ÀUí?Àjí?@ðì?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sì?@îè?Óï?ð?€àï?~â?Àvì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?^¼?\£?@Iâ?kÁ?N¿?ºî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?Àhä?Ù?€‚ê?Àóï?€—Ö?Ô¡?„­?ž¹?€BÕ?öï?ð?ÀHâ?œª?€yã?ÀÝê?ÀŠï?jî?Àùï?@²î?°í?bí?ð?À ì?ÀÅï?ð?¶ì?€¡î?ÀÈï?ð?ð?€2ï?Àeí?Ànî?Àí?÷ï?€úï?ð?ð?ð?€'í?@0ä?€Xà?@ûï?ð?ð?ð?ð?æï?ÀIæ?º´?€|à?@ï?€î×?€‘î?@]î?[Ø?@?@i?0‘?þÐ?€·Ó?ËÑ?€¯Ö?T®?iÚ?hÝ?δ?€?Àóä?€ï?]ì?€3å?@Úï?íï?€Äï?×î?À°ï?ð?Àîí?6ç?„¬?`v?ŒË?€^ï?€òï?“ï?ð?ð?ð?ð?ð?ð?öï?€Ãê?@’ï?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ð?Àî?@;ã?òÀ?0?K?Ài? Œ?jÌ?WÙ?€LÒ?Ô§?ÝÅ?§?~?K?àp?„Å?Àäé?€7Ô?€ßï?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?@éï?@¬í?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òë?€ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?€î?ÀÅê?Àví?$ï?Àùï?Kî?€ í?@¶í?øï?Àßï?@ê?€©í?À¯ï?À¡ë?€#í?€óï?@êï?@Õï?Àœí?œï? ì?@°è?ì?€‹è?€ìë?ÀVï?ð?Àíï?ð?€éï?Àôï?ð?ð?ð?ð?ð?ð?€òï?€æï?ð?@àï?@.ä?@Òá?Àµï?ßï?ð?À«ï?½ï?€”î?@Úï?ð?@ï?Àwç?€Ùç?;é?ì?À›ë?åè?À è?À¨è?Àýï?ð?ð?À÷ï?@òï?@œï?€|Ú?£ï?ð?ð?ÀÆï?À›ï?öï?ð?ð?@ÿï?@ðï?ð?ð?ð?ÀQæ?@üï?ð?ð?ð?ð?€³ï? ï?ð?ð?À×ê?ð?€ïï?À±î?ð?ð?ð?ð?‚ï?rï?ð?ð?ð?€úï?@Gï?ð?ð?ð?ð?ð?ð?€æï?@)ï?€³Ø?€°æ?ÀÙç?ð?ð?ð?ð?€úï?Äï?€ˆí?@¦è?@ué?è?¬É?äª?Ø¿?_Ä?¢Ï?€¬Ý?€¡ß?€×?®°?P?,ß?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?@Éì?Àé?&é?€'æ?À´ì?ð?ð?ð?ð?Ðî?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?{ï?ð?ð?ð?Fï?€%ë?À†ï?@‰ï?˜ì?€í?€€ë?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?ä­?»?Àgç? |?@$à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ï?@ å?à|?€Ù?€„ß?Í?˜–?¼Ö?Íì?ýî?€>Ö?f½? ?ãÙ?€*ã?™×?®?€Ð?^â?ð?€¼ï?ð?ð?À¨å?€Èæ?€¼ï?€óï?ð?@bî?@ëì?€_î?í?Èï?ð?ð?ð?ð?€ˆç?Å?€^Õ?ð?ð?ð?ð?ð?@ë? p?#Ü?@Öï?€ˆï?ð?ð?|î?HÅ? §? ·?Ò?-Ù?¸Ã?Z?À?åÚ?ÀZí?ð?ð?ð?Àkí?ð?ð?Àî?€æ?ÀÞæ?²Ð?>?€®?æÅ?è?ð?ð?ð?ð?€{ê?À¬æ?ð?ð?ð?”ã?ÀÀ?‰è?ð?ð?Àùï?ð?ð?€ ï?@î?@äí?@oí?qì?@æí?€kë?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï?iæ?ÙÌ? –?ô®?J·?ž»?€vá?€Ó×?€n?´?ùÉ?€c?e?€x?€xÐ?”Ê?€ZÞ?ð?ð?ð?ð?ð?ïï?€"ï?ÀRï?@²í?ð?ð?ð?ð?ÀSï?@_î?eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€wì?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Áï?€¢í?@yî?ì?’ë?@×ï?Ùí?À»ê?é?€ôî?ð?À÷í?@Õï?ð?ð?Àùï?wï?÷í?ð?ð?@éï?šê?øç? í?€Oí?êï?€ï?ð?ð?ð?Àùï?À:ï?ð?ð?ð?ð?@›í?À è?@^ì?Àdí?À+ï?!à?@ç?€6ç?@èé?†ç?ìë?@æî?€í?qï?@¨ì?êã?€ië?ÀÈì?€ë?€©î?@-ê?‘í?@Äì?€äï?ð?ð?ð?ð?@Ÿï?@ˆâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔí?@¥í?ð?ð?ð?ð?ð?€Ðï?ð?ð?€wë?ÀÑï?ð?@Øï?ð?ð?ð?€ëï?€4ï?@oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?@Ñî?€zí?€‘ã?@ï?ð?ð?ð?ð?€éï?ð?ð?ð?ð?¥ï?@Nî?Àóî?@Úî?Àsï?Oï?&ï?ªï?€ãï?íï?Àµì?HÚ?P“?€S?€–ß?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?©ê?€ýï?ð?ð?@Èî?.é?@rì?Ànî?ð?ð?ð?ð?€}ï?@‘ì?Àî?€jï?€Ùï?Àí?€øï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?À$í?£ë?€ãï?ð?ð?ð?@œï?@î?ð?ð?ð?ð?ð?ð?ð?ð?€Êî?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿î?ð?ð?ð?ð?ð?@¹ï?À‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àç?@b?èÌ?…?à¢?€€æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—æ?½?ü½?=Ê?“?·à?@fï?ÀIè?À<ï?À*ê?ßÉ?Ô§?&Ô?€á?€ùï?Àë?”ì?Àõì?ð?ð?ð?ð?ð?ð?€qæ?¦À?vÕ?ð?ð?ð?ð?ð?€Éï?³Û?`‘?Àè?ð?ð?ð?ð?ï?€Ð?Ü?ƒî?ð?ð?@Zï?€=Ð?n?õÊ?€®Ñ?—â?|Ø?Ðï?@é?@Éà?À î?€èï?@%è?_ê?@Åï?ð?¶î?ü©?²µ?@ïæ?ð?ð?@ãï?@Bë?À:ï?ð?ð?ð?@åí?€çÑ?¢?>¹?!ì?ð?ð?ð?@Ùï?ð?ð?À'í?@î?@éî?|î?ð?€èï?í?€¨ë?@,ì?@´ï?ð?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?„ê?€üÞ?UÈ?l®?‰?¬­? ??Ào?§Õ?Ôæ?:Í?®¶?@f?°Š?E?E?H?\?à™?€xÐ?@¥í?ð?ð?ð?ð?ð?„ï?€sï?ð?€/í?ð?ð?ð?ð?€Dï?”î?]î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?]í?@°ë?.ê?€êî?@žï?ë?@Ôê?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?@Nî?êî?:ï?ìï?Ûé?@ï?@Aï?Éî?ð?ð?ð?ûï?€\ï?€°î?ð?ð?ð?ð?Ëé?ÀÏé?Àýí?¦î?€Õï?À£î?Ðï?ð?@Ží?€oé?€ï?ð?ð?ð?ð?ñï?Êî?'í?@ á?@ê?"è?€‘æ?Ñè?Pê?À?ê?€šå?À.ç?@æ?À ç?Óç?@î?€0ì?eí?@bï?Àì?€ï?€¥ï?ÀDï?ð?ð?ð?ð?€Aé?À=é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àgê?€>ë?@dì?ð?ð?ð?ð?ð?ð?ð?ð?Àèë?Ñî?ð?ð?ð?€…ï?@–ï?€¼î?@èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?Àí?€¾é?À©é?À6ï?ð?ð?ð?€ûï?€×ï?ð?ð?ð?ð?Àï?Fî?ÀÕî?ð?ð?ð?ûï?Àêï?Àmï?ð?ð?ð?€ðï?@ ë??Î?à€?€ã?wï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?€ì?ð?ð?ð?ð?ºë?@ì?´í?€éì?¾ê?Nì?€·î?€ÿï?Àøï?¸ï?Àí?À«ì?ÀÛí?@ ì?@×ì?dí?@Úí?ÿì?À¸ë?@¥í?Àí?€ï?Àˆí?lí?€yí?€Îì?Àî?€°í?Àeï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ì?À›ï?ð?ð?ð?Õï?Àì?@ôï?ð?ð?ð?ð?ð?ð?±ï?ÅÂ?¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?3æ?€tà?ð?@xè?À½í?ð?ð?ð?ð?ð?@ÿï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔí?è¯?,?`|?€v?€ÞÚ?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õí?ø©?€lÛ?€°Ó?(?ŠÁ?H—?†Î?€‹Ð?à? Í?@5å?ð?ð?ð?ð?ð?@ýî?@cè?€ á?l?˜¾?@ƒå?€ÅÙ?À æ?ð?ð?ð?Aá?KÌ?Àãï?ð?ð?ð?ð?À$é?À?à²?TÁ?@(í?€ï?€bï?ð?€ï?„¨?€Z?à¤?‚À?ÒÏ?€0à?€7Ð?€Y?¥?¹Í?º?G?€oà?6í?À÷ï?€Òé?xš?€?üÁ?Sí?ð?Àmì?@Câ?@²î?ð?Ýï?ð?ð?@øï?€¨ï?€²ï?ð?ð?ð?ð?ð?ð?@ôï?ÀHï?Àùï?ð?ð?ð?ð?ð?ð?€´î?ÀYî?Àjì?qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?Åï?ÀPë?€œß?8—??€f?€v?€c?áÂ?€TÙ?Ë?Ä«??W?Æ?À¯ä?Àgí?ð?ð?ð?ð?ð?ð?Àæï?ð?ð?@Aî?@Èï?ð?ð?ð?Àÿï?µí?€î?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ë?@Íê?À…ì?@Êí?€ í?@öï?+í?*î?}ï?Àîï?ð?ð?ð?ð?ð?ð?€Þï?Àóç?ÀÜê?ÀOê?€pê?€…é?@Çè?Àƒê?þï?Àî?ÀÍï?ð?ð?ð?ð?@”î?Íï?ð?ð?ð?ð?€Fê?Àîì?€iê?ÀÌê?@ëî?öï?@ïê?@Wê?@Sí?€lë?žì?€Yï?€ðï?ÀÐï?jì?ÀÇì?€Òí?@è?/è?À›ê?€ë?€„í?Àï?€ýï?øî?×ë?©é?À‰í?€çî?@cí?@më?ƒê?À“ë?@ûï?Àýï?ÿï?ð?ð?ð?ð?ð?ð?@èæ?«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€î?€(ë?;ì?ÀÎî?ð?ð?ð?ð?ð?ð?ð?ð?@mì?@ˆï?ð?ð?€@ï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?î?@ùî?€úï?ð?ð?ð?Àôï?ð?ð?ð?ð?ðï?@"î?€Óí?¯ï?ð?ð?ð?ð?ð?€àï?@¹ï?Àšï?Àôï?ð?@Þï?Àôï?Îî?@Vá?¨œ?àz?à?@Åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹ì?Àœï?ð?ð?ð?ð?À¼ë?€åï?€®ì?,í?ð? î?vê?áé?@"ë?À°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlï?ÀÈï?Ùî?ýï?ð?ð?ð?ð?€ûï?Àïí?@5î?@¹ï?ð?ð?ð?ð?ð?ð?ð?ÀÖï?@Gì?ð?ð?ð?ð?@Tî?Ïì?ð?ð?ð?ð?ð?ð?€ï?|À?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?€ºØ?@wà?@mî?ð?€ªå?7ï?ð?ð?ð?ð?ð?ÀÜí?€ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMä?€P?BÉ?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…ë?ê²?ØÅ?ð?ð?ð?ÀÃî?Àžä?ûÁ?@"ê?ö×?Wß?ð?ð?ð?Fä?@t?€0Ü?€fï?ð?ð?ð?@—ì?€ÌÑ?œ«?Ä?+å?Àbî?€Zè?€êÕ?0ƒ?°?€‹á?©×?,µ?Ъ?ø?ÔÜ?€'ì?(˜?€Ø?.ï?ð?@~à?r±?Ü?€©ê?@Kí?ð?Àáï?´í?ð?ð?ð?ð?ð?€“ï?ð?ð?½ï?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?Àõï?åï?yï?ÀÚî?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?³é?¤È?ĵ?<³?`r?€«Ð?€>Ò?,?€V?øÓ?@Œì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àxï?À€î?ð?ð?ð?ð?î?@bî?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?@žï?À!ê?ð?ð?ð?ð?ð?ð?€Së?Àè?@áê?À÷ï?Îï?@úî?Yï?ð?ð?Àë?@âé?ð?ð?ð?ÀÚï?ð?ð?À3ï?€yï?ð?ð?ð?ð?Àâï?ÀÀî?ð?ð?ð?ð?ð?ð?€Gï?€dí?€*é?À ç?€'ë?Àoí?@9ì?@Ií?€aì?À±ë?@9å?@Ðì?@_ï?€*ì?Cè?Dê?Àšë?ÀŒî?€…í?€Ðí?Àyì?ÀMí?€úë?€#ê?@{ê?Šë?@ï?@½î?@í?@Fí?Àî?€ë?@¥î?ð?ð?ð?ð?ð?ð?ð?€ í?@€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@2ë?@æï?€òï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ì?€Êî?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?¶ï?ƒï?·î?À7í?€ï?ð?ð?ð?ð?ð?ð?ð?À{î?˜ï?ð?Àëï?Àýï?ð?ð?ð?ð?Àôï?€ï?@Õï?Àêï?ð?ð?€ï?Zï?€¶ï?éè?€Ô?ÜÀ?¿é?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?~ï?Àì?@»ì?ð?Àôï?ð?€ï?­ì?À2í?ð?ð?@Qî?@/í?ð?ð?ð?€ï?Àê?ì?@Éï?ð?ð?ð?ð?@Úï?€öì?Jî?€(ï?À>ì?Õì?fí?€î?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõì?àx?eæ?ð?ð?ð?ð?ð?ð?ð?À®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?@Qî?@þï?€–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?æï?ð?ð?ð?ð?ð?ð?ð?ð?ñî?€PÒ?8?ð…?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¦ï?ÙÉ?»Â?ð?À_ì?WÝ?6¶?0?À„â?ÖÂ?Ã?¦î?hí?@ÿï?€†Ö?E?€ýÕ?Rì?Àúï?ð?ð? ï?€QÕ?@€?1Ä?˜—?”¡?Z?¸?À†?0?¯?€v?Ð’?¶°?åÈ?Pï?€Fî?€Ð?2?H™?¦Æ?€Åá?€uå?€4ë?<î?ð?ð?ð?ð?À¨ï?@æ?ð?ð?ð?€æï?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?€áî?ð?ð?€Öï?À=î?€6î?ƒî?ð?ð?ð?ð?€ùï?@òï?ð?ð?ð?À³ï?À0ì?@ç?®³?i?Ђ?`?€±à?Wã?H«?(?€¤?è™?@n?.Ë?@'í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?¶î?€éï?ð?ð?ð?Ànî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?@×ï?Àrë?Àýï?ð?ð?ð?ð?ð?ýï?€×ï?pì?@Lë?À ì?@½ì?@*ì?ìï?ð?€ºä?€—í?ð?ð?ð?€ï?ð?€Íï?£î?ð?ð?ð?ð?þï?€Âî?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?[î?€Uë?ÀÑé?€ªç?€ ì?é?€µè?Ùì?”ê?€¼è?À:ë?À"ë?¤ï?ð?ð?€ôï?@Ìï?ð?ÀÃî?%î?À>î?ÀÞè?ÀMì?@ë?€yí?@xî? ï?€¹ï?€Íì?@eï?ð?ð?ð?ð?ð?ð?Çï?€Dê?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þî?/ì?Àrê?@é?@øï?ð?@¦ï?ÀPï?ð?ð?ð?ð?ð?ð?ð?ð?€ðà?jì?ð?ð?Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kï?@…ï?Àaî?€ï?|ï?ð?ð?ð?ð?ð?ð?Àðï?€)î?@þï?ð?ð?ð?ð?ð?ð?ð?€éï?€„ï?Àêï?Ðï?€àï?@üï?@êï?€Àî?Óï?€éï?î?¬Ó??¸š?è¬?€(ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©ï?Àkê?Àëï?ð?ð?À…ï?€í?€¦í?€ï?@Gí?ð?ð?ð?À“î?@Lî?ð?ð?ð?ð?@î?Àé?€_ë?ÀÏï?Àñî?‰ì?€·ì?àï?Ÿí?Àjë?Àìî?€Ôï?‡ï?ñî?›í?@Kí?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ì?@…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·ë?ÄÅ?€'Ò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀí?Àêì?ð?ð?ð?ð?ð?èï?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¦ä?€Q?8?R?̸?€°æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›ê?€j?V²?€Û?XŸ?@x? u?@ì?@”ë?À÷ï?€dØ?àu?NÃ?jï?ð?ð?ð?Àµê?€äÞ?Àdè?Ľ?°…?ܯ?NÂ?F²?Ç?ð?p’?Xå?@eï?ð?ð?ð?ð?@šï?@`ï?ð?ð?ð?Àìï?Óï?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?@¢ï?@øï?ÿï?@ï?Àçï?ð?@ãî?‘î?À<ï?ÿí?iì?€Gì?yå?ÀÇë?€ì?@âì?À·ê?€Ùî?ð?%î?€,Õ?ò²?Ì­?7Ò?b¶?€Ð?l¡?NÁ?@Îî?À<â?]?€€?ò¹?€S?˜Ä?ÀUì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆï?À¤î?ð?ð?ð?ð?Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ê?À÷é?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mï?@aë?€Ðî?À}é?@/í?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?€•ï?@Œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ï?@Wì?Àâ?À¼è?\è?@ûï?Àuï?@ùî?Àœî?@Rí?Ìë?@Öî?ð?ð?ð?²î?@1í?€dï?½ì?ÀZï?¡ë?€aê?Àì?€;ë?À£ï?ð?ð?ð?¥í?ð?ð?ð?ð?ð?ð?ÀVî?ê?9ï?ð?ð?ð?ð?ð?ð?ð?ð?Àí?€\í?ÀQï?ð?ÀŒê?ð?ð?Âï?€òï?ð?ð?ð?ð?ð?ð?ð?€mï?€ÆÓ?éæ?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éî?@Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Œí?ð?Àìï?ð?Çï?€êî?Àìï?Àôï?Íï?Àpï?@žî?ôÎ?0º?ùè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@­î?¦ë?@ªì?ð?@±ï?ð?€´ï?@Óí?ð?@œî?€¦î?ð?ð?ð?ð?Ní?ð?ð?ð?ð?ð?ð?€˜ì?€¯ë?@5ê?@ì?ð?ð?ð?ð?æï?ð?ð?ð?ð?ð?À"í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?€1í?(î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@qí?€×?u?Àéç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?0ï?€‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?xÑ?¨?°ƒ?`}?v±?ðˆ?À á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?¨?€V?@?Àí?ð?ð?€0Ü?€·Û?ð?ð?@½î?Àèè?‘ä?*ß?ÖÐ?Ð?àt?:?Ï?Àæ?@Qæ?À ì?€ƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?€ªï?€µî?@3î?€Iì?@í?èí?2ï?½ê?€uì?í?@uï?êï?ð?ð?@£í?€–î?Àõà?/Ó?T«?@oì?@íê?€ßí?€Ü?À…?hî?Mé?°…?u?`‹?@žå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?@Þï?ºì?À"î?ð?Àëï?³í?@¢ï?ð?ð?ð?ð?ð?ð?ð?€Çï?À¥ï?€õï?@‘î?ð?„î?€?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?@Jë?ë?Àµï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀVî?€èï?ð?ð?@íï?þï?ð?ð?ð?ð?ð?€Xï?ï?€Ïï?@Eè?À±í?Àèí?ð?@ðï?@î?€ç?‘ë?€2ï?ð?ð?ð?@Wï?‘í?Pî?€Ãë?@®ë?¦ì?ÀIî?€»ì?ÀÑî?@Žî?@.í?À‡í?€î?ð?À˜í?ð?ð?ð?ð?ð?Àì?Àì?ð?ð?ð?ð?ð?ð?ð?ð?€Ãî?@dì?€¹ì?ð?ð?ð?@\ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À_î?ðÚ?€=Ò?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Oï?€éï?ð?ð?ð?€òï?€³ï?ð?ð?ð?€éï?^î?ð?ð?ð?ð?€éï?ð?ð?Àúï?ð?ð?€’î?€§Ø?4­?@­í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Bï?@Ëì?ð?ð?ð?ð?ð?@Oï?ãí?Àúï?@oì?ð?ð?ð?ð?ð?@(ï?€Åì?ð?ð?ð?ð?ð?@œí?€—ï?ð?¹î?À%ì?€0î?ð?ð?ð?ð?ð?ð?ð?ð?À+í?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þí?@¶ì?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?@þî?µ??†æ?ð?ð?ð?ð?Àôï?Àôï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?ð?ð?ÀÇï?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àªí?€˜Û? v? p?>¼?ر?€f?Àq?VÎ?Ànë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?¦¼?`x?¬À?@ûï?ð?ð?tã?€ã?ð?@3í?:´?¸¡?%Õ?€Ià?€¹ì?Л?€f?T£?@‚?àŽ?V?àt?p¤?šÝ?ãè?À£ï?ð?ð?ð?ð?ð?ð?ð?Ìï?¦ï?€úï?€úï?õï?ð?ð?ð?ð?ð?ð?@ðï?€ªï?ð?ð?ð?öï?À‰ï?Àúï?ð?ð?€àï?@Zî?0ï?-ï?€þï?ÀÛî?Èï?@ßí?@ÿï?ð?Õï?(×?²?ÊÞ?´ª?€?€aá?ð?ð?Ÿã?@?À3é?Àiâ?€i?€v?8?@!ê?ð?ð?+ë?€bï?€Àï?ð?ð?Àôï?ð?ð?ð?ð?Àbï?€áì? í?€¨ï?@æì?Gï?€øï?Àíï?%î?@ùï?ð?ð?ð?ð?€øï?@^î?@Pí?Àâì?À¤ì?Àdî?€í?€›ë?€Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?€!î?ð?ð?ð?@àï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?@ÿï?ð?ð?Àçï?@‰î?À"í?€Õï?ð?ð?ð?ð?Šï?€ží?@%ï?øï?Àì?ð?À¬ï?ì?@èï?çï?Àëï?Àûï?€øï?ð?ð?ð?ð?ð?ð?ÀSí?@ë?ð?ð?ð?ð?ð?ð?ð?À´ï?€(î?€wì?¸í?À£ï?ð?ð?@Æï?À×ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?@àè?9Ê?@¹é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Cï?ÀÇï?ð?€úï?äï?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ð?€ôï?Àüï?ð?ð?ð?€éï?9ï?À à?Á?ºã?@øï?ð?ð?ð?ð?ð?ð?ð?ð?@ï?Dï?À'î?À¤ì?ð?ð?ð?ð?ð?ð?ð?ãí?ï?€kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€•ï?ð?ð?ð?Àì?ð?ð?ð?ð?ð?ð?ð?ð? ï?@^î?@Mï?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@,ï?€í?ð?ð?ð?ð?ð?ð?ð?ð?Àºí?@m?J?€,é?ð?ð?ð?Àêï?@Iï?ð?@Wï?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?×ï??í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Lå?˜’?à¥?@d?T¬?OÂ?Xç?žï?ð?ð?ð?ð?ð?ð?ð?ð?ï?„¯? z?´¡?ÂÖ?ð?ð?ûï?€,Ö?Öº?|Þ?@Zä? œ?@üå?Éî?@Dã?€JÖ? £?`~?j?E?7Ê?†â?@é?²í?À‘î?Àuï?ð?ð?ÀÃï?ð?Àôï?@Rï?ÀFï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\ï?€àï?ð?@éï?zí?òï?ð?ð?€öî?+Ò?ª?ä§?8«?,?ú°?`«?€¼Û?ð?@úï?€GÛ?€»?ú³?“Ù?ÀÝï?ð?ð?ð?ñï?ð?ð?ð?ð?ð?ð?ð?À<î?@Üï?ð?ð?€Òï?À¼î?€¨î?¨î?€œí?@xî?@Ûï?ð?@Îï?íí?Ôí?€iî?ð?ÀÜï?À†ï?ð?€í?@úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºí?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{ï?€§ë?rî?Àlï?ð?ð?ð?ð?ð?ï?ï?Lï?@3í?ªí?ð?@|ï?ÀÆë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bï?€ºì?@ží?ð?ð?ð?ð?ð?ð?€ˆï?À¯ì?^î?ð?ð?ð?ð?ð?ê?€lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?ÅÝ?€ˆè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?äî?@éï?ð?ð?Àôï?À÷ï?ð?ð?ð?ð?€øï?ð?ð?ð?ð?@Þï?ð?À4ï?Ààï?ð?À÷ï?€¼ï?Àôï?ð?ð?þì?’¾?¼£?<°?@6ì?ð?ð?ð?ð?ð?ð?ð?@³ï?€¼î?Úï?€×ï?@ýï?ð?ð?ð?ð?ð?ð?aï?€î?@×î?€yî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·ï?@Kí?ð?ð?ð?ÀŒë?ð?ð?ð?ð?ð?ð?ð?ð?ð?sî?Àî?@sì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ð?ð?ð?ð?ð?ð?ð?ð?€|î?h ?”º?ñí?ð?ð?øï?Àºï?pï?@^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?@Õï?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬Ù?ô§?ÀÚá?@g?Î?0í?ð?ð?ð?ð?ð?ð?ð?€ î?8¡?à€?€R?F?@àâ?ð?ð?@pï?ʶ?€x?ÓÌ?ï?€ûî?Àì?@ï?@pî?@˜î?Àë?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?Àèï?–í?ð?ð?ð?ð?ð?ð?@Éï?@9í?ð?ð?ð?ð?ð?ð?À‰ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À&ì?€Qæ?ð?ð?€ìï?@$ï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?@Üï?ð?ð?Àôï?ýï?ð?Àôï?ð?ð?Åï?€ëï?Àüï?ð?Àôï?€¼ï?Àéï?Àšï?@ôî?ð?Àñï?ÀÇï?@„ï?ð?ð?åï?@/ï?Àì?€íÙ?€Ü?€$Ö?@0à?ÐØ? Á?$?€ù×?ð?ð?ð?ð?ð?@!ï? ë?xë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jî?@hî?€áì?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Õï? ë?ð?ð?À„ï?@^ì?Àì?À¼ì?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?€Cí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?xì?ð?ð?ð?ð?ð?ð?ð?ð?@èï?€žÑ? ¡?@Áí?ð?ð?ð?ð?Àçê?Àtç?€ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À´ï?›Â?¶?€JÞ?G?{Ï?³?€Ø?Ýï?ð?ð?ð?ð?ð?ð?Àæë?Œ?Às?@t?HŸ?@(î?ð?ð?@åï?XÔ?â²?ë?˜¥?ué?@;â?ì?Àlé?˜˜?Í?àp? ?\¦? u?¤Ä?İ?$?€?DÓ?€4é?ÀÊé?Àî?ð?€€î?™î?@\î?€Úé?@#î?ð?¾ï?Åï?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?@bï?ð?ð?€ÙÖ?à¸?€aÒ?„­?(•?ܸ?Ò?ÜÑ?@rï?ð?ð?­ï?“Ø?€Kß?ì£?Ü¿? ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒï?ãî?€ƒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?@xï?ð?ð?ð?ð?ÀÌï?Àï?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­î?2î?ð?ð?ð?ð?Àüï?¸î?@;ï?ð?@Dì?Àoì?í?@ ï?)ï?Ìí?±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãî?+ì?ð?Àî?À‚î?Öî?ð?ð?ð?ð?ð?0í?€•ï?ð?ð?ð?ð?ð?@ë?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþç?€¦ë?€¬ê?€Óê?ÀÈí?@ î?@Fî?@‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?@îï?Àèï?ð?ð?€éï?€Ÿï?Àóï?Àøî?ð?Ìï?€Øï?Óï?ð?ð?Óï?ð?@Bï?À,ï?ð?ð?ð?ð?ÀTï?zÐ?üÄ?ð?ð?ð?ð?ð?Äí?@ôì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·í?@ î?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?Àí?ð?ð?èì?íï?ð?€µï?@sí?€×ì?ð?ð?ð?ð?ð?ð?ð?€¾í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ê?ð˜?¸±?[ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@%ç?N?l¨?ø¦?F?®³?¥Ç? q?€Û?€bï?@\ã?€ï?”ï?À~ã?Àõï?€„é?`~?” ?k?x“?ÀÅæ?@äï?@ê?À^è?Ÿß?nÅ?n? ¦?vä?@aä?¦? x?t¼?àz?Q?@l? ¬?€c?Ò·?qÅ?ûÆ?A?¬·?>ä?Àª?º?Àé?ÀÄí?Ààî?€†í?Àöî?Øî?€éï?ð?ð?@ï?ÀWï?€àï?@Dï?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?@æ?€á?”Ì?ž?˜ª? ?Ý?…È?ïÅ?Àâ?Àêà?À¢ã?ÆÕ?€‘Ó?€ßÝ?§á?€'æ?€™Ý?ÀTå?Ðá? ë?ð?@Äé?€žâ?2ä?¾?~³?»Û?ûÍ?˜”?€½?Ïí?ð?ð?ð?ð?ð?ð?ð?ð?€iï?@(î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tï?ôî?ð?ð?Óï?ð?@Âï?@Éï?@xì?Rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡î?Àïí?@mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?À§î?À«ï?ð?ð?@èï?€Ÿì?@âî?ð?ð?ð?ð?ð?Àúï?€Dî?qì?€/í?@ï?€Úí?Àçï?€Yî?€lí?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À$ï?@³é?€³ï?ð?ð?ð?@êí?ð?ð?ð?ð?ð?À î?Zí?ð?ð?ð?ð?ð?4î?Sì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒï?€ëí?Øï?@ûï?À£î?@‹í?@„î?@êï?€ ï?@ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@êï?ð?ð?ð?Àïï?Àôï?ºï?ð?Úï?@ïï?ð?ð?ð?ð?ð?€ï?@Ãï?ð?ð?ð?ð?ð?@ýè?@g?€}Ð?Ëï?ð?€­ï?yï?@Þï?ì?À‡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?ð?@_í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=ï?@£ì?ð?€hî?€ î?ð?ð?ð?ð?î?@‚î?ð?ð?ð?ð?ð?0ï?¸í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?@|ë?ð?ð?À…ï?€Aí?@òí?ð?ð?ð?ð?€lî?è©?ÎÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ãÑ?ƒ?¾?€V?@d?2?Ü?@Nâ?ˆÈ?¹â?κ?ö×?Àå?€f?€V?@‰?d­?PÊ?ø’?€rÐ?H?Q?P¤?à?ô£?,Ã?`·?4?rµ??`w?°?(’?€®Ú?WÆ?K?¦?€²ß?À ï?bÒ?[?yà?€Åé?€Àì?î?Eï?@î?@—ï?ð?ð?Àüí?Àùï?ï?À%ï?€³ï?ð?€õï?ð?ð?ð?ð?ð?ð?ð?Àôï?€àï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ÀÎë?€ŽÐ??•Ò?ÀÛ?ÇÄ?/é?ÀEï?ð?ð?ð?@ûï?ð?ð?ð?ÀÇï?ð?ð?Àªï?@Ü?€v?Àì?Zí?±?à?Àk?°¸?À8ë?ð?ð?ð?ð?ð?ð?ð?ð?@•ï?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?€›í?èï?ð?ð?€èï?öï?ï?@Íë?Àßì?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dï?@Ãî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓï?@Æí?@€ì?@î?À¼í?€Öì?@äí?€?î?À+ï?ð?ð?ð?ð?ð?À›ï?€=î? í?€!ï?3ï?ð?óì?ð?€nï?€eî?@ïï?€üï?ð?ð?ð?ð?ð?ð?ð?€úì?@¼ë?@øï?ð?ð?ð?ð?€¤î?@Åï?ð?ð?ð?ð?3î?Àºí?ð?ð?ð?ð?ð?ð?€üë?ÀÉï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?@ïï?ð?ð?ð?õî?@…î?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ùï?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ÀÓï?ð?Àôï?ð?€éï?ð?À¹ï?ð?€ßï?€èï?€éï?@Þï?@Þï?ùï?€Ïï?@ï?ð?ð?ð?ð?€éï?ð?€(ï?D¯?€b?€‡Ý?Éé? á?ê?€kì?uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?€¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îí?@ë?@Õï?@Öï?@Èì?ð?ð?ð?ð?ð?ð?€áì?€Ìî?ð?ð?ð?ð?€gï?€;í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?€Ví?€ì?À í?Àåì?ñï?ï?€yí?€>ï?ð?ð?€ÃÛ?”ª?ÀÙã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€Íï?ð?ð?ð?ýï?@äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûí?œ¡?ºË?€1à?€R?UÒ? p?€r?$«?D«?ûÛ?¶Õ?¢Ê?_Á? s?€ºÜ?€šÕ?ðŽ?À‚?€—?%È?¦É?eÁ?0“?÷É?òµ?à±?@Wâ?@äí?^Í?(?Ué?Àýï?ð?€–ï?Àýï?€ÿî?ð?€Vï?Àaï?€îï?@Uï?ð?ï?ð?5ï?ð?€ýï?€êï?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²ï?@Cé?@Uá?€uà?T­?Å?uè?sï?Àþî?ð?ð?ð?ð?ð?Àcí?€¿æ?€çÒ?À»â?Àøï?À1è?$«?f·?€5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?€»í?°ï?ð?ð?žï?€áí?\ì?¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Rï?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‹î?@uï?Žì?ÀÎï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuî?ë?@Yî?@Ýï?ð?ð?ð?ÀŸî?Àùî?ð?ð?ð?€|ï?@Þï?ð?ð?ð?ð?ð?@¹î?€÷ë?ð?ð?ð?ð?ð?ð?Àëî?ÀYï?ð?ð?ð?ð?€Œî?€î?ð?ð?ð?ð?ð?ð?€±í?À§í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ÿï?ð?ð?ð?ð?ð?@‹î?@øî?ð?ð?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?øï?@èï?€Dï?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?žï?Úï?@øï?ð?ð?ð?ð?ð?ð?ð?ÀÜï?Ô?óà?À¥î?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ì?@Pí?ÿï?ð?€ûï?Ví?ð?ð?ð?ð?ð?ð?@êï?Áì?ð?ð?ð?ð?€ì?@Ôê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€4í?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?À²ç?P†?lÍ?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\î?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?Ã?:Ç?@­é? ¾?`Š?`”?øº?@Cï?ð?€ïï?ÀÝî?Àlë?Àï?Àcï?€ýÞ?Õ?ì¶?»?Q?€É?ûÇ? …?:?€U?¾Ô?@Ýé?À–ï?ÅÕ?G?@&à?ð?³ï?À·ï?ð?À3ï?ð?À›ï?Àï?ëï?À÷ï?@þï?@%î?€šî?Àýï?ð?À3î?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?Yç?àŽ?̤?â¼?Ô¼?@|ë?ÀÇì?Àîê?ì?€pà?4¿? ~?Uä?€Tï?À ä?LÁ?€f?€Y?áÒ?€Ôì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?€´î?€Úï?ð?Ýì?€2ï?€¹ï?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Õí?€í?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?@î?ð?…î?ÀÕî?ð?ð?ð?ð?ð?ð?ð?ûî?€Õì?À8ë?@³î?€jï?ð?ð?ð?ð?šî?Àkï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?Lë?€Dï?ð?ð?ð?ð?ð?ð?€¦î?ýï?ð?ð?ð?@ ï?@¥í?@Zî?@Êï?ð?ð?ð?ð?ð? ï?€Hë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€0í?@çï?ð?ð?@tî?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?@¯ï?ð?ð?ð?ð?@øï?Àüï?ð?ð?ð?ð?ð?ð?ð?€ñï?€ñï?Àüï?@žï?@Þï?ð?ð?—ë?}ë?ð?@Þï?pï?€òï?€ï?€Äï?Àôï?@øï?Àüï?ð?ð?ð?ÀÑï?°ï?ð?ýï?€£á?õÄ?@jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€Ní?ð?ð?ð?ð?€•î?ÀYî?ð?ð?ð?ð?ð?ð?@6í?ð?ð?ð?@ëî?@kí?@)í?À‰ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€]ë?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜï?Ê?à‚?fã?€[é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?=Ú?ø?xÉ?€?Ð?àp?`{?¯Ð?ð?ð?ð?À¢ï?@øï?ð?Àï?ð?ð?Èî?@eî?Ú?lÊ?4Þ?Œ? ±?«? †?€sÖ?À–ë?Oä?/Ó?@€?çÂ?ÀÝì?€¯ï?À×ï?ð?ð?¦ï?ð?ÀÉï?ÀTï?À½î?@Dî?€Ïî?ð?ð?ð?€Ýî?@¾ï?ð?ð?ð?ð?€Öì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€3Þ?@d?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?@ï?@2ì?¦í?”ë?€@Ú?:?€áÞ?€ëï?Àëï?îÞ?€V?•Î?wÔ?°?@þâ?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ï?ð?ð?ð?ð?ÀÒí?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}ï?¸ï?ð?€éï?@øî?-ï?Ñï?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€lî?¿ì?ð?ð?ð?ð?ð?ð?ð?Àï?¬ì?ð?€¹î?À(ï?Aï?€)ï?ð?ð?ð?@:ï?ð?ð?ð?ð?ð?ð?ð?ð?Àùë?Àæï?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?À›î?ð?ð?ð?·ï?ð?ð?ð?€¬í?ð?ð?ð?ð?ð?ð?€úï?@5ì?ÀÓì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?À~í?@Æì?À¤ï?ð?ð?ð?€~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡ï?@»í?@Xì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?@Þï?ð?ð?ð?ð?€Åï?€7ï?Àðï?Àêï?ð?ð?öï?ð?ð?ð?Åï?ëÂ?¨¦?€_é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äì?@9í?ÀÎî?ð?ð?ð?Nî?@–î?ð?ð?ð?ð?ð?Àþï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ì?€ƒí?åí?Ëï?ð?ð?ð?ð?ð?ð?ð?€ï?€XÒ?¼?€,ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Éï?á? £?Î?€&×?€·Ú?€Õ?ÀLé?Àäî?Àúï?ð?ð?ð?ð?ð?ð?ð?€óï?@é?¶å?€Ìâ?À(à?ã?€ÿÖ?€Ó?MÍ?FÒ?@Ñï?ð?ð?€éï?@©ï?€ûê?@Ðà?€ÚÚ?‘Ó?è›?€¬×?€×?€û×?\Ø?Û?È?€P?;Ì?mÖ?@¢?Àa? ?T?€f?à?às?€l?{?€?$£? ?R?€kÖ?³Ô?˜š? q?€ÍÙ?uè?€9ì?€Óî?ÀÇï?ð?ð?@8ï?€éï?öï?À˜ï?Àé?@#è?ÀXá?@Rî?@Åî?ð?ð?ð?ð?ð?ð?€=ï?À´ï?ð?ð?ð?Àáï?ÀHï?@ùï?ð?ð?ð?ð?ð?ð?ð?@›â?v?€…?àt?€a?€MÒ?€“Ù?j±?²?¤¢?@õâ?€Âæ?ñÈ?e?@Œå?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ÀÏî?ð?ð?ð?ð?í?@*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?~ì?@ï?¥ï?ð?ð?ð?ð?ð?0ï?€Tì?€ ï?€Çï?@Iî?À›ï?ð?ðï?ð?öï?ð?@Lï?ð?ð?ð?ð?ð?ð?ð?ð?Àyì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ànï?ï?ð?ð?ð?ð?ð?À~ï?wí?€Ní?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²î?Mì?@Rï?@òï?À>ï?ð?ð?ð?Àäî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?À…ê?€)î?€éî?ð?ð?ð?îï?@øï?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?Ñï?ð?ð?Àôï?ð?ð?ð?ð?Àòï?Àáï?Àôï?ð?@±ï?€óï?ð?Àôï?Àþï?ð?ð?Àþï?ð?ð?ð?€ñï?¼Ù?Õ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bï?ð?@”í?@oï?ð?ð?Ní?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“í?Àµï?À¨ï?€ í?@Dï?ð?ð?ð?ð?ð?ð?ð?€|í?Ü??‹ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæ?€Áë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@bï?ÕÌ?€V?à‚?€_?X’?šË?À‚ï?ð?ð?ð?Ùï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ÀÚï?ð?ð?ð?ð?ð?ð?ð?@ûï?À1ì?ïà?À—î?€Fí?ð?ãç?ÀLá?}Ã?ƒÇ?ø´?€V? —? §?§?`¯?YÆ?ø«?p¸?ÊÄ?Ї? œ?ãÌ?•Ò?Š? ’? ?%Ä? è?ÀÅí?Æê?Êì?ÀÙí?ÀWî?@ï?ÀQï?€lê?@òï?@në?À î?€ÈÛ?ÀÍí?Àsî?ð?ð?ð?ð?ð?ð?ð?ð?€éï?Àèï?ð?ð?Êï?Lï?Èï?ð?ð?ð?ð?ð?ð?€üì?p°?€‚Ñ?$¯?@r?@w?€,ä?Àë?(¨?¦?€üè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãî?€êî?ôï?ð?ð?ð?wï?üì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?@Íï?ð?ð?ð?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þî?€áì?Àöï?@Nï?ð?ð?ð?ð?€mï?€²ë?üï?@—ï?ÀRî?€øí?ð?ð?ð?ð?€±î?Àöï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?€³î?Ií?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€4ï?À-ï?ð?ð?ð?€‰î?Àvì?€âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽí?ð?ð?ð?ð?ð?ð?@Šî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?ªí?Àñï?ð?ð?@ïï?@ïï?ð?Àêï?Àöï?€ðï?ð?ð?ð?ð?ð?ð?ð?@øï?€Æï?Óï?ð?ð?ð?ð?ð?ð?Ïî?ð?@ì?€Ôí?ð?Óï?ð?€ûï?@Ìï?Àëï?@çï?ð?ð?ð?ð?ð?À·å?Â?@'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?Ñì?ð?ð?ð?@Æí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀAí?ð?ð?ð?@Ií?€®î?ð?ð?ð?ð?ð?ð?ð?ð?@ëà?€>Ý?ð?ð?ð?ð?@Nï?€^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsí?á?€g?R? ¡?@]à?‰ï?ºï?ðï?ð?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çî?ð?ð?ð?ð?ð?ÀÇï?ð?@¯ï?Àâï?äç?©?F¸?YÀ?Ÿ?(“?Àw?W?A?Ð?T³?|Ã?€X?ô½?Àr?À”?àr?T§?€Ö?€ã?L¨?àƒ?Àš? Ç?À â?À{ì?À î?@úì?€+î?Ààï?€Gï?@vå?ÀSí?ð?„í?pì?@¨ê?†í?@ïï?ð?ð?ð?ð?ð?€ï?@Óí?@=ï?ð?€°í?ÀIí?@¾í?¡ï?íî?À¶ï?ð?ð?ð?ð?ð?ð?ð?®Ú?@a?ª·?Ћ?ø“?€×?€žá?ÈÔ?ˆ£?À—?4? ?ÚÐ?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?ð?Ëï?@*í?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^î?€Úì?@Ùì?@þï?@Žï?€[ï?ð?ð?ð?ð?€fí?€ ï?ð?ï?°ï?@àî?ð?ð?ð?ð?ï?›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?]ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ï?@lï?ð?ð?ð?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ð?ð?ð?ð?ð?ð?@Õî?Ñí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?ð?ð?Óï?ð?ð?Àôï?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€úï?ð?Àê?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚í?ð?ð?€¦ï?€+í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êî?€òí?ð?ð?ð?ð?@öì?ð?ð?ð?ð?ð?ð?ð?ð?@ê?€-Ô?@ìï?ð?ð?€Ìì?‚¾?€Û?À6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?êÃ?€d?x?ª´?gÅ?Ö?@sã?@®ï?ð?ð?ð?ð?Àõî?€íï?ð?ð?ð?ð?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?ð?ð?@è?L­?F?¨ž?à€?¸”?V?Å?°Â?X?ÉÊ?›?°“?k?ƒÊ?€Ã×?@<ï?Ââ?€]?ßÛ?@ î?ð?€Kì?°ç?€Vï?@Wï?@Ùï?ð?€oï?@Õî?ð?ð?€Îï?€¯ë?€¦í?ð?ð?ð?ð?ð?ð?ð?ð?ûí?ÀÝê?@}í?@…è?Uß?À¬ã?@Îì?Àfî?ð?ð?ð?ð?ð?ð?ð?¦ï?@§ì?òÙ?€t?Àn?+Ã?˜’?ê´?¦?âÑ?€#Ô?Ø™? {?¥?”ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkî?ð?ð?ð?ð?ð?ð?@Ýî?€ûì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ûï?@Yï?@í?À†ì?€6î?€˜ï?ÀOï?Àí?¶í?€òî?Pï?ð?@ìï?Àéï?ð?ð?ð?ð?Kí?@ ï?ð?×ï?ð?ð?ð?ð?ð?€îï? î?@Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?€›ì?¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@³î?À÷ï?ð?€Îï?ÀÃë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ï?Àí?ð?ð?ð?ð?ð?ð?Àíî?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?€Öï?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?@êï?Àôï?ð?€Âí?ð?ð?ð?ð?ð?@ûæ?€ÀÒ?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<í?ð?ð?€eï?ÀÂí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6î?ÀÃì?ôï?ð?ð?ð?€òí?€Ùì?ð?ð?ð?ð?ð?ð?ð?1î?D³? t?Úæ?ð?ð?øï?@xå?°§?€ÌÔ?Àqî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€9í?À:ì?Àˆî?ð?ð?Ànï?nÍ?€e?Ò?°Æ?€fÝ?å?@ká?rÄ?€rÕ?ùÊ?0Ö?€Wâ?ÀÒè?À¨ï?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?Êí?èá?€ná?À¶å?€3è?@{ë?€‡â?¬¯?àp?6¹?Nä?@`è?€Êí?ÀPà?¸¯?à?™Ç?EÂ?P™? µ?Àïä?@ é?µ?€eÔ?À‚ï?ð?ÀÐï?Óï?À¬ê?Àýï?ÀAï?€Nî?ÀÇï?@ ï?‹ï?bï?ð?ð?@rî?€#î?€mî?ð?€Íï?·ï?ð?ð?(ï?@øí?ð?Àç?€7Ü?€KÓ?àÈ?È¢?€ŸÚ?qç?€Üî?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?€yÜ?{å?®¾?Ы? ?@‚?FÞ?¨æ?°?€YÛ?ð?ð?ð?ð?ð?öï?ÿï?ð?ð?ð?ð?@¤î?ð?ð?ð?ð?ð?ð?Àëï?À¦í?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ïê?@Æí?€âî?øï?€ãî?Àî?í?@eî?€ÿî?ÀWî?ð?ð?ð?ð?ð?ð?ð?ð?@Zí?>ï?ð?ð?ð?ð?ð?ð?ð?€¡î?@wï?ÀÎî?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?À-î?€±ï?À·ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eï?@ï?ð?Àí?€}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?À¥ì?Àšï?ð?ð?ð?ð?*ï?€ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?€úï?€úï?ð?ð?ð?ð?ð?ð?€Õã?p?ëé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡î?ð?yï?ð?À¯î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Nï?Zá?ãî?ð?ð?ð?ð?À±ï?€kì?ßì?ð?ð?ð?ð?ð?ð?À7ç?x«?Ê?€]ï?ð?ð?€ÿï?€jÛ?ªÌ?€[ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?Qî?ÀÈì?ÀDí?À£ì?@žâ? Á?Æ?€[?¸¿?À!á?À×î?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?(ª?€_?D²?Àb?G?è”?€x?¨š?Ç?UÁ?_È?Ê?v´?0?0?€›Ô?€ØÖ?Ї?sÚ?qÁ?¡?·ê?ð?ð?€éï?€Æì?ÀÈí?À2ì?Àï?€óí?Àmì?Àhî?@ûî?ÀÕï?ð?ð?ð?@ùï?À¯î?@fí?€Íï?€µî?€¤ë?^ì?“ï?@Vë?€vé?€;å?L¡?€_?H»?Ô?Àôà?@5ì?Óï?ð?ð?ð?ð?ð?€î?Ñã?ºÃ??|Ë?ܬ?@±ë?Ö¼?€ÉÛ?Àp?Q?ýÖ?cê?@5à?˜¸? Œ?€r?Þ²? “?@éã?Àýï?ð?ð?ð?Àôï?ð?íï?Àüï?ð?ð? ï?@²ï?ð?ð?ð?ð?ð?ð?sî?€ë?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?Vï?ð?ð?ð?ð?ð?ð?áï?@ÿí?þï?ð?ð?ð?ð?ð?ð?ð?ð?@üí?€5í?ð?ð?ð?ð?ð?ð?ð?€fï?€vï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIî?ð?À«í?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?<î?ð?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@®í?ð?ð?ð?ð?ÀÖï?À¨î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?öï?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?Àüï?ð?ð?ð?€üï?€àï?ð?Àôï?¦ï?äï?€Íï?ð?@ùï?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºï?€uã?ÛÃ?ÓÒ?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?ÀÊç?Øì?@Oí?ð?ð?ð?ð?ð?ð?ð?€Ìë?@Ùï?ð?ð?ð?ð?ð?ð?ÈÛ?€l?€Pæ?ð?ð?ð?ˆì?¯Ô?Ö?¶Â?À4í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ïÙ?$¶?€Ù?À˜â?ûæ?@é?ÀAï?€Úê?Þí?Àíï?ð?ð?ï?€ãê?€Šï?ð?ð?ð?@·ê?À å?`å?À¤å?@ï?ÀŽå?´º?€v?ÜÖ?€LÐ?àƒ?2?qÌ?€€Ù?@Sí?@¶â?X«?+Å?z²?«Ï?€œ?bÊ?gÁ?K? ? ‡?À°á?EÍ?(Ë?¤Å?€7Ö?”ª?€õÐ?âÜ?@‹æ?»æ?€âØ?&Ê?€V?¸–?C?Œ·?€âÑ?«Ø?z¹? Œ?¿Ã?K?t«?P©?€²Õ?â³?€gÝ?ð?ð?ð?=ì?„ê?€6Ó?ؽ?[Á?H“?€Õ?@Rî?€þï?ð?ð?ð?ð?ð?€åï?éí?|ë?Ùê?€åê?µí?À%í?À©ç?Àqá?d²?”µ?Àê?ð?ð?ð?ð?ð?ð?Àïï?Àší?¨?ð¯?P†?€0Ñ?Àªá?Oè?˜Ô?–¸?@ã?Ûë?ïÎ?€|? x?x‘?æ?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?¸î?áï?ð?ð?ð?ð?ð?@îî?@ßì?€Úì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?€\î?ð?ð?ð?ð?ð?ð?àî?ÀWî?ÀÅï?ð?ð?ð?ð?ð?ð?ð?î?@Dí?@¡ì?@Bî?ð?ð?ð?ð?ð?ð?ð?À÷ï?€‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‰î?ð?ð?€’í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­î?€¤ï?ð?€šì?€Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Tí?ð?ð?ð?ð?Àüî?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?øï?ð?ð?ð?€Óî?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?Àôï?ð?ð?ð?ð?@ïï?dÓ?“?Àùì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?€Ïë?€*ê?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?€ ì?€Mì?ð?ð?@Oë?!ç?ÀÌê?Žî?¢º?À`?F´?@¶î?ð?ð?ð?ð?À™ï?@Má?€¶Ö?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?Æ?àp?Àz?(¶?`Ž?È ?à¹?õÕ?€ÓÛ?ÅÄ?€‹?€«Ô?Àiä?@‰í?@ÿï?@›æ?ZÂ?ªÙ?€»ê?ð?êî?€™Þ?@§á?ÀXï?€¾ï?âÄ?€lÓ?@ä?@à?Å?ýÚ?%é?@ì?í?@`ì?¶Û?(•?|Ã?\?€\Ô?jè?ð?Šï?ë?@ñá?gÈ?Ð?cÊ?@Ê?ðŠ?(Á?@Öä?À"á?&Ý?€›â?Àfå?@Á?€ùØ?ãÜ?€!Ü?EÙ?µÍ?¢´?K?`‘?‰À?uÇ?"Ï?¹Û?€7Ý?é?@$ç?е?(—?às?T?€Ñ?øÑ?,Ù?uÛ?æÁ?¢Ð??BÀ?@àé?ð?ð?ð?ð?ð?@ëï?€Ùï?À¼ï?ÀÑì?@>î?À<ç?5Ü?€aØ?@Ÿà?¤¹?¹Ó?@õï?ð?ð?ð?ð?ð?yï?ð?íË?BÊ?$µ?M?€i?7Ô?ÁÀ?ë?Á?`?:?“Ö?Àtâ?°Ž?Àkà?ÜÑ?GÉ?@9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?@ï?ð?ð?ð?@ï?€‘î?@]ï?@ìï?ÀOì?@Wì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?@_ï?Âî?–î?ð?ð?ð?ð?ð?ÀØï?€Lî?€áî?ð?ð?ð?ð?ð?ð?ð?@%ï?@Îë?@ÿï?ð?À{ï?¾î?ð?ð?ð?ð?ð?ð?ð?À[î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€Fî?ð?ð?ýí?ð?ð?ð?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?yï?ð?ð?ð?@Dî?þï?ð?ÀMí?`î?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‰î?Àëí?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?@ÿï?ð?ð?@±ï?ð?Àôï?þï?@tï?Àþï?ð?ð?ð?ð?ð?ï?€yí?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?€ßí?J²?“?@ê?Àúí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~ï?€ˆØ?À÷ä?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?€¶Ø?x¬?ì?À ï?xÎ?@å?€{ï?ð?Hí?æ?€­?@mè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.Þ? ¯?€„Ô?ÃÜ?ÃØ?Lª?kã?ìÎ?N¼? °?Cä?ð?@ ç?IÛ?ð?ð?ð?@Óé?ÌË?}Ý?€–å?À½ï?ïè?ä?~¶?€ÜÒ?ßÑ?€î?@ªï?ð?ð?ð?ð?@˜î?¾é?êï?Àtï?À-ä?â?€ Ý?kÇ?ð«?\¤?€v?@l?€Ñ?‚è?bí?ð?ð?ð?ð?äî?çè?¤È?ܶ?@^ì?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ÿà?¬Í?Àf?@}?xá?ð?ð?ð?ð?ð?ð?ð?€Ðç?ò½?D²?P²?à?€V?€`Ñ?$Â?¨¦?Îä?¸Â?0? {?0¥?0‹?€RØ?Àxë?@“?À²á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âî?@ûï?ð?€Âï?Àßî?ð?ð?ÀHî?À\í?Uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?€ ï?Àøï?ð?ð?ð?ð?À–î?ñî?ð?ð?ð?ð?ëï?Àßî?Àoï?@Íî?ð?ð?ð?ð?ð?ð?Ààí?eì?€úë?ÿï?ð?ð?@xï?Àï?ð?ð?ð?ð?ð?ð?ôî?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?À‰ï?€î?ð?ð?€cì?ð?ð?ð?ð?€—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?@³ï?ð?ð?À¸í?€ì?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pì?€öï?ð?ð?ð?ð?#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?ÿï?ð?ð?ð?ÀÓï?ôì?÷î?@±í?Àóî?@èï?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?Óï?ð?âï?”ã?4§?€}ç?ïî?ºì?Àîì?€ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×í?@Öë?˜î?úï?ð?ð?ð?ð?ð?ð?ð?ÿï?Àøà?b?ÃË?À™ï?Ìé?€$Þ?€‰ï?ð?ð?ð?ð?@í?ÀÜï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€wí?¨±?k?$¢?@e?ʾ?ø“?tª?"É?À0à?Zã?ëÌ?@^á?ð?ð?Àçï?€ç?À—ã?€FÖ?=Æ?œÓ?9È?¸”?Q?R?d¬?Ê?MÂ?5Ë?€Ð?€zÝ?À_ç?òá?Ê?€'Ý?Ê?R?<²?@ëé?Àoï?ð?ð?ð?€'î?Ãå?Lµ?`|?#Í?@„ì?ð?ð?@Þï?ð?@éï?@Œî?ð?ð?ð?ð?€Éë?@~?ê²?€Lï?ð?ð?ð?ð?ð?ð?@Þï?€:Ý?@j?h?ÐŽ? s?0€?P”? ?0š?0‡?0‘?¶±?4?@m?èš?ˆ?X½?€Îì?€™Ñ?…Ù?è´?{?<½?Ï?€Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?@{ï?ð?Çî?@‚ï?ð?ð?î?€~í?ì?Àï?ð?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?åï?@…ï?€lî?ð?ð?@Ãî?@cî?@…î?€ï?ð?ð?ð?€„ï?„ï?Qï?î?€ãï?ð?ð?ð?ð?ð?À†í?€"ï?À¹ï?Àpï?@ï?ð?ð?ð?Àcï?@_ï?ð?ð?ð?ð?ð?@ï?Àéï?ð?ð?ð?ð?ð?ð?ð?@ôï?@íí?åï?ð?ð?ï?€í?@;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€ï?À¾ë?@çï?ð?ð?ð?ð?ð?ð?ð?ð?€îï?@ÿë?êí?ð?ð?ð?ð?ð?¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?Þï?ð?ð?ð?@öï?@ªí?ï?ð?@þï?€/ï?€0í?Àî?€Îï?ð?ð?ð?ð?ð?ð?ð?Àôï?Àéï?@ùï?ð?ð?Þï?€.Ò? Ý?žï?ÀÀî?€Lì?bï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?jì?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›æ? ˆ? ²?@±ê?ð?Àüï?×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?”Ö?æ¾?€ïÙ?ôÊ?÷À?Àc? |?²À?€ à?ï?ð?;ï?%î?îç?€Ý?0˜? Æ?À7é?ãè?À¬ê?€Eì?¤ê?Àæ? ï?ð?jê?€g×?ÊÃ?€w?P?äÈ?€øæ?Àýï?ð?ð?ð?ð?ð?@Rì?€7à?€æ?wê?p¥?`}?@‘?@?,?€Y?F?`‹? Ð?€qç?ÞÄ?€_?K?\Ì?˜¨?¬¦?p‹?ôØ?°½?€r?Àlå?@tì?@­?€V?h›?@Èè?ð?ð?ð?ð?ð?ð?ð?Àüï?@øï?ð?À=ï?ð?€´î?@œï?ð?\î?@“ï?@üì?€µï?ð?ð?@Ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?éï?À#î?ÀUî?€ãî?±ï?ð?€=ï?£ï?ð?ð?€”ï?€Æï?ð?ð?Àyï?ð?ð?ð?ð?Íí?ºì?Jï?ð?ð?ð?@fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§ï?@Kï?ð?ð?ð?ð?ð?ð?ð?î?€Pï?ð?ð?ð?ð?@òï?Àcí?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rï?Rî?ð?ð?ð?ð?ð?ð?ð?ð?@,ì?À½î?ð?ð?ð?ð?ð?Xï?€‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?öï?èï?ð?ð?ð?ð?ð?€ñï?@øï?ð?ð?ð?ð?ð?ð?3ï?€å?ð?ð?€î?€óí?€±ï?ð?ð?ð?ð?Àìï?€]ï?ÀUî?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ÿï?ð?ð?Àÿç? s?„¸?ÀÔî?ð?€Çî?€,ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±í?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ä?è¹?€øâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýä?@r?@†?Ÿ?P­?€Ò?&Ô?¼Ò?€Ú?P‹?8Ò?ÀYè?€ïï?ð?ð?ÀDî?ÀÛ?Ȫ?ˆ›? Ž?€_?€a?Fµ? ¹?€äÞ?ä©?5Ì?€×î?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐã?€{Ñ?ÀÐä?€+Ô?:µ?@`?€f?N?ö¹?›?AÀ?Çå?Á?îÀ?ä¨?p–?€ðà?kÐ?V?¢º?´¬?>?>?ÙÏ?À¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?Àpî?ð?@Öí?Àtî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?Óî?ð?ð?ð?ð?Àõî?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ÀÁí?@oî?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óî?ð?ð?ð?ð?ð?ð?ð?@ï?Àåí?ð?ð?ð?ð?ð?@[ï?€mî?¹î?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?¼î?ð?ð?ð?ð?ð?€ ï?@ïï?@·î?@Tì?ð?ð?ð?ð?ð?ð?À#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€úï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?gï?Àã?€Ï×?€]î?À‚î?Ìî?ð?À÷ï?ð?ð?ð?ð?ð?ð?vî?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ÀËë?xÀ?À¡ç?ð?ð?€øë?‡ê?Àî?ð?ð?ÿï?ð?ð?ð?ð?kî?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ì?@Àä?@;ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æ?@Ûè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À±ì?¨Ÿ?Àb? }?U?,?Àüæ?ð?ð?ð?ð?Àëç?`­?F?T?}ß?@ï?ð?ð?ð?€î?ü½?à€?@b?pƒ?€v?BÄ?@Vå?@ ï?ð?ð?ð?ð?ð?ð?šì?¯Ý?ÒÏ?ZÆ? ?fÀ?Xã?€£í?õÁ?À`?À`?œµ?Wî?€¾ï?@Ýï?€ôê?2É?_?@mà?-Ï?à‰?„?A?0?`{?@—ë?ð?ð?ð?ð?@Þï?ð?ð?Óï?ÀÆï?öï?ð?ð?ð?ð?Àî?ð?€ôï?Àÿë?À[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€_ï?€®ï?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?€üî?Àúí?sî?@¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥î?ð?ð?ð?ð?ð?ð?ð?ð?€ÿî?€ôì?ð?ð?ð?ð?ð?ð?³î?€–í?€î?Àéï?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôî?€î?:í?@ÿï?ð?ð?ð?ð?ð?€ÿï?ð?ÀÂì?@·ï?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@Ðî?@câ?›ç?€Ëä?ÀSç?@‰à?»ì?Àäî?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?@µî?€Zî?@Îï?ð?ð?ð?@Þï?ð?ð?Ýî?@Âì?AÊ?€"ß?ð?ð?ð?ï?€)î?@êî?Àí?Kï?@¼î?@çï?ÀÛî?€ í?Àµì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?ð?ð?ð?ð?ð?hã?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{×?,¥?7é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?‘Í?:?`z?p?:´?£Õ?€ÖÚ?€@è?ð?ð?@mï?€éÙ?°”?@èì?ð?ð?ð?Àtî?“Ì?àp?€v?Ò´?@\í?ð?ð?ð?ð?ð?ð?ð?ð?€Ãî?dß?D¹?:?KÈ?B¿?îÒ?0ä?€qå?´ë?@Zì?‚»?XŸ?̸?2·?r?ìÛ?.º?€kØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?À8î?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@·î?ð?ð?ð?ð?€Âï?@dï?ð?ð?ð?Àºï?4ï?€>ï?€Aî?Àòí?@¢î?Èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€$î?ð?ð?ð?ð?ð?ð?ð?ð?@]ï?7î?€¡í?À]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Tï?€#î?ð?@õï?ð?ð?ð?ð?ð?ð?@õï?Àúï?Àêê?@õï?ð?ð?ð?ð?ð?ð?Ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?Àðï?Ûï?Ïâ?àÅ?€qÚ?ÊÔ?€vá?@Œë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@&ï?@/î?’ï?ð?ð?ð?ð?ÀÖí?ÈÅ?Ì»?Àeî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?|î?¯ï?ð?ð?ð?ð?€ÿê?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ºâ?àÁ?ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€Oß?€?Xš?`Ù?€ëï?ð?À÷î?¬Ó?Ä?ê?ð?ð?@@í?•É?€b?.´? |?€V?€FÑ?9è??ï?€•í?ð?ð?ð?ð?ð?óï?Àµâ?¸¾?àw?€Q?ÀPà?ià?¸Ÿ?^¿?ày?€v?B?´»?P™?ξ?@Gï?ð?ð?À³ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?ð?ð?ð?À'ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?Àï?À-ï?ð?ð?ð?ð?À\ï?@÷ï?ð?ð?ð?À‚ï?€íï?ð?ð?ð?Àëï?@rî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ÀÕí?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?€Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀYî?À˜í?@¹î?ð?ð?ð?ð?ð?ð?€âî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?ð?ð?ð?ð?ð?ð?Àôï?€xæ?Àã?€•Ó?€òå?€2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?€¦î?€²î?ð?ð?@’ï?€œ×?ÅÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ÀÈï?ð?ð?ð?ð?rë?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?@áï?ð?ð?ð?ð?ð?ð?ð?ð?Àï?‘Ú?à¶?@ é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?€åï?@Äç?kÉ?Àq?d?¬Ù?À»å?à?(§?gÊ?Öâ?€ î?µä? Ç?¦»?€\?²Ñ?М?€h?~µ?D·?ÛÓ?€Ö?€Óâ?Ôã?@ë?@(ï?@Øï?@ºï?@‘æ?€¨Ú?d¾?À•?„²?áÞ?PÑ?°?àp?¡?@j?€¿ä?ð?ð?@òï?ð?Àôï?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?Xî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûî?ùí?Æî?Áï?ð?ð?ð?ð?ð?ð?ð?ð?Àðí?€¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\í?€Ëï?7î?€éï?ð?ð?ð?ð?ð?ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èî?@Œï?ð?ð?ð?ð?ð?€úï?ð?€Eí?Gà?å?€é?Àiì?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€1î?í?€Éï?€wÝ?€Z?¾¸?À0ì?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À5ï?í?ð?ð?ð?ð?ð?ð?ð?ð?@¹ï?íï?ð?ð?Àí?€Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?@'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?IÔ?@íæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~î?®Ï? ¶?ú¸?ì¹?€Ö?ZÄ?xª?$µ?O?‘?àp??ø­?ŸÕ?@“ë?ÿì?ñá?|´?pƒ?€V?ÐŽ?À2è?Àæ?eÚ?¨™?[?˜?»?p¿?Àvî?ð?ð?ð?ð?¦ï?ð?ð?Àôï?Àôï?ð?ð?ð?ð?ð?ð?ð?€Ýì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èî?ÀHì?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?%î?Àóì?æï?ð?ð?ð?ð?ð?ð?ð?ð?@tï?Àöî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€î?€éï?€ªî?ð?ð?ð?ð?ð?öï?ÀHï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?À,ï?ÀÓæ?RÛ?@{æ?€ˆî?€Ýî?€æï?ð?ð?ð?ð?ð?ð?ð?€˜ï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áî?@Íâ?€—?€™Ô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ê?€jï?ð?ð?ð?ð?@ðï?ëï?ð?ð?ð?ð?ð?€Hî?ÀWî?@Þï?ð?ð?À»ï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?6ì?ÌÖ?€FÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?ÀÑë?€<æ?`ƒ?M?a?\¦?”º?B°?€S?Ú½?€­Ý?@Èá?@p?R?!×?ÙÇ?¶²?ð†?€OÑ?tß?KÍ?h¹?tÆ?@p?|¦?¶?ÿÏ?ãÁ?¿ç?·ï?–ß?C?Àb?€ Õ?\Ì?€ËÝ?ð?ð?Àôï?€éï?Àôï?€×ï?Àôï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?@ïî?€“ì?À•í?À³î?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?€î?@…í?@Òí?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?Nî?À×ï?@dî?Cï?ð?ð?ð?ð?ð?ð?ð?€Ûï?ÀŽî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ð?ð?ð?ð?ð?ð?ð?ð?€õï?Óï?€œì?€Œï?ÀÙï?Jî?»ï?ð?ð?ð?ð?ð?@Øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?@˜à?®ë?@¨ç?@í?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?›î?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?#ï?Àë?>Ì?@?Ú²?¬í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?†ê?@Cî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üí?€šß?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Tæ?ð¢?‹Ô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€Gí?€ì?À%î?ð?Àöä?€r?€y?€»×?×Ì?P”??D?€hÔ?@áè?€®Ô?:?^¶? Ã?<¨?Àe?IÁ? ?€V?h–?À“ê?ð?ð?ð?ð?€Gï?Àîî?«ì?Àïï?ð?ð?ð?]ï?Àï?žï?ð?ð?Àûí?ð?cï?@µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€\î?;ì?Àfî?€Ðî?@‚ï?€=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„î?@dï?ð?€úï?@î?Àòï?ð?ð?ð?ð?ð?ð?@³î?@Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fî?ÀÎî?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?€èï?€½ì?Àüï?ð?€ßï?½ï?ð?ð?ð?ð?À9ï? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ï?€­Ú?Àâ?@öï?¢ç?@êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?€Åï?ð?ð?ð?ð?ð?ð?ð?@àï?@Àë?Àº? q?À£ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨ï?@øï?ð?ð?€éï?ð?ð?Àôï?ð?ð?ð?€Aï?¦Û?¤Ñ?ÀÑî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àç?Ô?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uí?@åì?€Çë?@ðî?ð?ð?ð?À¼á?0 ?ʲ?H­?€y?ˆ®?}È?\É?‘Ø?€g?À?T®?ħ? ?ÀGç?Óï?ðî?R´?€f?à€?0ˆ?P¯?«?X ?K? s?€á?ð?ð?ð?ð?€žï?@Ãï?€°ì?@ãï?ð?ð?ð?ð?@zï?ÀÊî?€ðí?¶î?@„í?Àèï?ð?€<î?À!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?Àôï?ð?ÀDî?€þë?€ëí?€Èì?ð?@±ï?ÀËî?€¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œí?€î?ð?ð?=ï?ßï?ð?ð?ð?ð?ð?ð?@ôï?€Vî?=î?ÀÂî?ð?ð?ð?ð?ð?ð?ð?ð?€éî?@öï?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€¼ï?€ší?ÀÐï?€àï?ð?€éï?ð?ð?ð?ð?@Çî?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?€éï?óï?€úï?@Þï?<ë?€HÞ?€ç?ð?Hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@}ï?ð?ð?ð?€³ï?ð?ð?ð?ð?ð?ð?ð?Àeî?€Õ?L¡?€uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€rï?€£Ñ?€:á?Àýï?ð?¬í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ë?`‰?2?€ŒÞ?Àõï?ð?ð?À°î?À±î?ð?ð?ð?ð?ð?ð?ð?ÀZî?í?@±ì?€Ñë?ÀÐì?Àgï?ð?ð?ð?ð?ð?@Nï?aÅ?̯?^Ã?h?€àÚ?€*æ?EÔ?»á?mè?€Éå?H˜?HË?æ?@«é?Àä?–³?¹É? s?[?%Æ?6?Àq?€rë?ð?Àïï?ûÑ?€R?€¼Ò?ËÁ?€^?–?€×?D§?€–?…?ð«?–Ñ?ÀÆë?ð?ð?ð?€¸ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?€§î?Ààï?òî?Àäï?ð?3ï?Fï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?ÀÙî?ð?ð?ð?€èï?Àcï?ð?ð?ð?ð?ð?ð?ð?€ùï?àï?@ìî?€Ýí?@—î?@ ï?@ í?ÀÜî?ð?ð?@Lï?€eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@jî?€æí?@µï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uî?@•ï?ð?ð?ð?ð?ð?ð?ð?@Íï?@“î?@Ûï?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?@<ï?À;î?ÿï?Éï?ð?@Ùï?ð?ð?ð?ð?@ï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?òï?Àþï?ÀÇï?ÀÑë?€¬î?íî?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?@Þï?€éï?ð?ð?ð?ð?ð?ÀÇï?ð?ð?Àëï?_á?€n?×À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?Ðé?@îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dï?~¶?ü¦?€Öî?ð?ð?@Îî?€6î?€¥í?€àî?€iï?€hí?€5í?Àˆï?@jî?À>í?ð?ð?À:í?ð?ð?ð?ð?ð?ð?ð?ð?õÏ?ÔË?[×?àp?Ø’?é?€Ëè?(î?ÀËï?ð?@á?@b?}Á?†?€Ö?À÷é?@ôì?Œ¥?Òº?¡?©?H¼?€V?LÂ?Òï?ð?ð?€öÔ?D ?€áÜ?€dÙ?K?yÐ?¿Ô?D­?б?´Ä?`°?@ì?ð?ð?€ïï?Àüï?ð?ð?ð?ð?ð?Àôï?ð?ð?ÀÓï?€ƒî?ð?ð?ð?€Þí?ð?ð?ð?ð?ð?Àpï?Šï?ð?ð?ð?€®ï?€Tî?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äï?@êí?¸î?€1ï?ð?ÀÀï?Àâì?ð?ð?ð?ð?ð? í?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@$î?^ï?À;ï?ð?ð?ð?€;î?ð?ð?ð?ð?ð?ð?"ï?À ï?ð?ð?ð?ð?ð?ð?ð?ð?@Ëî?€áï?@÷ï?ÀÇï?ð?ð?ð?ð?ð?ð?ð?@÷ï?ï?$í?€ñï?@®ï?€Ëï?€rï?ÀRï?ð?ð?ð?À€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À®î?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?€Áî?æ»?º?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àwì?€tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€=ç?$ ?ܹ?sï?ð?ð?ð?ð?€úí?€²í?@¹í?€ùï??ï?’í?©î?ð?ð?ð?@kí?ð?ð?ð?ð?ð?ð?ð?ð?^×?UÊ?@â? ?€dÑ?¯Ø?€Úà?!à?@¾ë?€©Ù?Є?&Á?@Ýî?ð?Úë?€ã?§ß?ÔÖ?B±?@?? y?3Ã?@„? ‰?ð¥?KÞ?ð?ð?ð?ˆÜ?ð?`€?¢·?Г? y?©??ÀÆà?ð?ð?ð?Àþï?ÀÞï?€éï?@æï?€àï?öï?ð?ð?ð?ð?ÀÇî?ð?ð?ð?hî?î?Àeï?äï?ð?ð?ÀÕï?@ýî?ðî?ð?ð?ð?Àûï?€§î?@øï?ð?ð?ð?ð?ð?ð?ð?ð?€Áî?À±ï?ð?ð?ð?Àîì?€ÿî?ð?ð?ð?ð?ð?Úî?·ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?uî?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?€úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?]î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿî?Ší?ð?€õï?@¾ï?€Bï?€õî?ð?ð?ð?Àåî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?öï?ð?ð?ð?ð?—î?@§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dâ?4?Å×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rï?~¿?h’?€ÒÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"ï?@Eí?ð?ð?ð?ð?ð?ð?ð?ð?Àà?–? ?®?‡?)×?0£?È«?Г?P©?ÕÃ?@dî?€éï?ð?ð?ð?ð?À”è?€ŠÜ?²Õ?À]à?·?Ø“?îÈ?ÀAá?ı?¶?À6á?äÎ? ‡?\Å?@ôä?€˜ï?ð?ð?€ï?@0å?`~?:?O?€8Ô?€ï?ð?ð?Àýï?@-ï?ð?ð?ð?€éï?ð?Õî?°î?Àüï?€Eî?ð?ð?ð?Ñï?@Óï?À·î?€Kî?€Öï?ð?ð?ð?ƒï?@Tï?ð?ð?ð?ð?@Yï?ð?ð?ð?ð?ð?ð?ð?€uî?À+ï?ð?ð?ð?ð?î?ð?ð?ð?ð?ð?ð?ÀÊí?@pí?ûì?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@´î?~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?œî?ð?@Þï?õï?ð?ð?ð?ð?ð?€æî?@Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯î?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ÀÑî?QÆ?øœ?€×è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eì? t?ж?À‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñî?Àií?£í?@êï?ð?ð?ð?ð?ð?ð?ð?ð?'Þ?p?IÈ?`µ?K?Ë?ˆÕ? È?€šß?H¸?F?€Ð?@›è? à?€¡×?Öß?€ÖÚ?@Gä?Hî?€fï?Àíï?ð?ð?ð?ð?´ï?Àåï?@ßï?@«ï?@ æ?À¡ã?@2ï?€[å?@¢ä?¨¶?€på?À~è?^ã?p‰?Ûã?×î?ð?ð?ð?ð?%Þ?€`?à€?@d?dß?€”ï?ð?ð?ÀØï?@ïï?Óï?ð?€éï?ð?Àî?@¿ï?€¥î?€þì?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Zï?þí?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚î?À€ï?ð?ð?ð?ð?ð?À(î?ð?ð?ð?ð?ð?ð?€âí?@Þï?„ï?ÀËí?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?€ î?€[í?À&ï?ð?ð?ð?ð?ð?ð?ð?eï?€]ï?@Qî?ð?ð?ð?ð?ð?ð?Àíï?ð?@Ûï?î?€çï?ð?ð?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐí?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?@þï? à?@ƒ?òà?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?€Þ?Dº?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?€ìï?@Ðî?¬î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×à?Àl?p‚?à? |?µÑ?Ôë?ð?€ˆæ?@f?^?´»?€¤à?Àìç?Öï?À¶í?Àšï?@±ï?ð?€Sî?À%î?@ðï?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?À²ï?ð?ð?öï?€§í?ÀÛâ?€2í?€Ôï?€ôÛ?€j?P¨?À›æ?mî?ð?ð?ð?ð?€Éï?€©Ó?2?*°?0?À¥ç?ð?ð?ð?Àýï?×ï?Àüï?ð?ð?€·ï?€¦ï?ð?@õï?Àsî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?@ºí?@÷ï?þí?Àíî?zï?€{ï?Àüï?ÀÜï?Àzî?@™î?Yí?‡í?€Mï?ð?ð?ð?ð?ð?€üï?€î?ð?ð?ð?ð?€ªï?oï?@ î?@¥í?ð?@Àï?‡ì?€'î?@~î?@äí?@Eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Kî?Àµï?ð?ð?ð?ð?ð?ð?ð?@Ïî?Üï?“î?@ûï?ÀÇï?ð?ð?ð?ð?ÀÎï?ð?ð?bï?À-î?Àáï?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À#î?ð?€éï?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?@ªï?^ï?€+ï?Xï?Àî?ÀÕï?€Ïï?ð?ð?À9é??€Ð?@ì?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡æ?v?ÀÃæ?ð?ð?ð?ð?ð?ð?ð?ð?Àí?À›í?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æë?8•?¤¶?µÇ?ê»?€=ï?ð?€~í?ÊÉ?ž¹?ÀPã?À/ì?€òì?ð?ð?ð?ð?ð?ð?€Œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€%ï?ð?ð?ð?ð?ð?€Íï?Àoä?†?eË?€Ýê?ð?ð?ð?ð?ð?‰è?]?[É?€Xï?ð?ð?÷ï?Àêî?€¡ï?ð?ð?ð?ð?ð?ð?Oï?Eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öî?Àï?ð?À§ï?üî?@Ðî?@í?ÀWí?@¾í?ÀRî?@Uï?ð?ð?ð?ð?ð?ð?ð?ð?À/ï?€Iï?ð?ð?ð?@Ïí?€æ?ð?€ í?@Lë?ð?~ï?@í?ï?@Æï?ð?@ï?€’î?€åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?@yï?€éï?ð?ð?ð?ð?ð?ð?Wï?€Cï?€î?€Þï?Àôï?ð?ð?ð?@ÿï?Àùï?ð?ð?ÀWï?€ï?@ïï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?€éï?Óï?ð?ð?tï?Lí?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ð?ð?íï?¢î?ï?@ùï?ð?€Üï?ð?@ªì?^Þ?À©ê?€í?ÉÁ?@a?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï? ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Dï?Ò»?K?‰ê?ð?ð?ð?ð?ð?ð?ð?@óí?€™î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?€1Ú?b?x›?KÌ? ©?¤í?ð?ð?€ví?„½?R³?@¼ã?€éï?ð?ÀÑí?@•ï?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?€KÓ?Þ³?ÀËê?î?ð?ð?ð?ð?ð?À–ì?®Î?6?¥â?ð?ð?ð?öï?@Ýï?ð?ð?ð?ð?ð?ð?ð?îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?@çï?ÀÊî?€®ï?Wï?í?€6ï?Àôï?Nî?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À|í?Àýï?ð?À¿ï?Ãï?@ï?æÛ?Àôï?€,ï?ií?@;ï?"ï?€õî?Àÿï?@ƒî?@Íï?ð?ð?Iï?Íî?@·ï?ð?ð?ð?ðï?€Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöî?ð?€-î?©î?ð?ð?ð?ð?€ÿï?üï?ð?ð?ð?åî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼í?@÷ï?ð?ð?@±ï?ð?ð?ð?ð?ð?ð?@àî?€+ï?€î?Àßï?ð?€ûï?ð?ð?ð?@üî?€%Û?rÜ?\Ë?°?€ÏÜ?@Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§ì?ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?±Ì?"æ?Àþï?ð?ð?ð?ð?ð?9ï?Àlí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥è?`ƒ?@œ?ÏÚ?@ªî?ð?ð?ð?€Ü?ÉÁ?€üí?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À>î?@æ?€Õà?/Â?(§?€”í?ð?ð?ð?ð?ð?ð?ð?€EÓ? ²?à?ðŽ?FÀ?Àôì?ð?ð?ð?@ðï?@†î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ÀØï?ð?ð?ð?ð?ð?ð?ð?Àvï?@8ï?€pï?€òï?ð?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ƒï?€î?ð?ð?À¢ì?|í?ð?—í?ð?Àí?@Êï?ï?@Mï?€Äï?À"ï?@ï?aî?@Âï?ð?ð?ð?€øî?@ï?Oî?ð?ÀÎï?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À~ï?ð?Hî?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?í?ð?ð?ð?Àôï?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æ?¢½?€>Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€­ê?(è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?É?€1â?€úï?ð?ð?ð?ð?…ï?À¥ì?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåî?öí?è?T?€À?,É?ÂÄ?Àgå?€øì?ð?ð?ð?oç?p‹?‚±?@Aç?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?YÛ?j²?¡?*¶?€¢é?ð?ð?ð?ð?ð?ð?ð?€á?à‚?Ÿ?`†?0§?b?¨?QÀ?€ŠÓ?ð?ð?ð?ð?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?@Ëï?ð?ð?ð?ð?ð?@±ï?ð?ð?ð?ð?ÀÀî?ð?ð?ð?ð?ð?ð?ð?ð?ð?³í?¯ï?ð?ð?ð?ð?ð?ð?øï?€ìí?ð?åï?€×ï?ð?€ï?Áï?À+ï?¤ï?Êï?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?€Èî?ð?€Ûï?Æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@kí?Àôï?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3î?€hØ?€å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@è?TÁ?€¶Ü?Öï?ð?ð?ð?ð?€ûì?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?]í?@¦í?€]ï?õå?€éÓ?úÑ?€Û?Àlí?ð?Ší?ÀÁï?ð?ð?@—î?j´?€a?€_á?€€í?€ï?Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ó?²´?@?¬?P•? ?€—ß?ð?@÷ï?ð?ð?ð?ð?ð?ð?@éà?²?¼ ?÷Â?@Úë?€cî?*¶?+Ã?ð?ð?ð?ð?ð?ð?öï?ÿï?õï?ð?ð?ð?Àšï?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ï?€„î?Àî?@Îç?ð?ð?ð?ð?üï?”î?tî?ð?ð?ð?ð?€¸í?À¼ì?€iï?Àöï?@»ï?€»ï?ð?ð?ð?ð?ð?Áï?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¾î?ð?ð?Àõî?€èï?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûî?[î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šî?¦Ú?¸ª?€Ké?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? Ù?h©?€ÒÝ?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;ï? ì?@í?Ïï?ð?ð?À"í?˜‘?á?€wë?@˜ë?ð?ð?ð?@¥ï?ð?ð?ð?€bÕ?H?? –?PŒ?š?à¨?€_æ?wÅ?€©?`u?€Ûé?ð?@÷ï?ÀOï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6ê?ŠÉ?²Â?@Pç?€~Ø?k?@¿ã?@ûï?ÀÛï?ð?ð?ð?ð?ð?ð?@â?€f×?L·?IÅ?Ï?Z´?@—â?€†Ô?Š?˜?@ã?ð?ð?ð?ð?ð?ð?ð?ð?€mï?ð?ð?ð?@æï?@øï?ð?ìï?ð?ÀÇï?ð?ð?ð?ð?Àxî?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµî?€qï?ÀÍì?@Éä?ð?ð?ð?ð?€‚ï?tï?À&í?@ï?À±ï?ð?ð?Cì?6ç?ÀPï?ð?ð?@ï?Êï?ð?ð?ð?ð?ð?ð?ð?·ï?ð?ð?ð?ð?ð?ð?ð?ð?À—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?@sï?ð?ð?3î?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?Àï?€¢î?€ï?=ï?ð?ð?ð?ì?ðÅ?€T×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€˜í?€cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?~Ä?øÏ?~»?@ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?€¸í?€÷í?€Fí?€&í?@Àï?ð?ð?ð?ð?@þí?à¦?l?ªÀ?€hî?ð?ð?ð?ð?ð?ð?ð?ð?€ØÙ?A?€W?µÄ?mÍ?€0Ü?€WÒ?@Âí?Àî?íë?dÇ??€¯Ù?Àìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ØÞ?ýÆ?@¥ï?¨È?€¡Ö?Àüï?ð?ð?ð?ð?ð?ð?ð?Àjî?ö²? v?`?`€?:?¢Æ?gÙ?mÄ?V?Àoà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?€lî?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Cî?‡í?@ì?À»í?ð?ð?ð?ð?ð?@‹ï?€Ëï?À†î?@|ï?ð?ð?ð?€(ï?ÀËï?€î?ð?ð?ð?@½ï?€Èï?ð?ð?ð?ð?ð?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?äï?ð?ð?ð?ð?ð?ð?îî?îï?ð?ð?€ýí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?@.î?ð?Àšï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?@Šï?ð?ð?ð?@nï?€Âî?Àòï?ð?À1î?@Ô?€ãß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?@øï?ð?ð?ð?Àûï?€÷ï?ð?ð?ð?ð?@øï?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?¾ï?öï?ð?ð?ð?“ï?@dï?ð?[ï?Òï?ð?ð?ð?ð?€ûî?ÀŠî?ð?ð?ð?ð?ôï?À›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À>é?À=ê?€jä?tç?ð?ð?€˜ï?ð?ð?ð?ð?ð?ð?€uî?€ßì?@í?€ªí?@¨ï?@°ï?@ÿï?ð?ð?ð?ð?ð?ð?øì?åÒ?½??à?À ï?ð?ð?ð?ð?ð?ð?ð?ð?€à?8?$?_?ºÈ?D¬?sÉ?÷é?Àï?Àí?ð?ð?ð?@Ãî?™È?Ç×?Xï?€¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•è?Ú³?Ò³?€Û?€„Ø?¯?;Î?ð?ð?ð?ð?ð?ð?ð?ð?ð?dÑ?8?€rÔ?€Çä?t´?€ÏÑ?ôÊ?Q?ȱ?,¨?ÑÅ?Ø›?P€?X§??€q?Z?G?F?¬±?€´ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?öï?ð?ð?ð?ð?€óï?ð?Àôï?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?”î?ð?ð?ð?ð?Lï?¦ï?@^ï?ð?ð?@¿ï?@!î?!ï?@æï?ð?ð?@%ï?ð?6ì?@ôî?bì?ð?@ÿï?@ÿï?ð?ð?ð?ð?üï?Àåï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŽï?Àÿï?ð?€Rï?Àˆï?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àrï?~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?kî?@òî?@(ï?jÇ?@=ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ùï?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?ÀÈï?ï?@œí?Àí?ÀMï?ð?Ùî?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úí?@Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?@×ï?ÀØé?ð?àï?-í?ð?ð?ð?ð?ð?@Ýï?'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒâ?@t?€V?€¥Ô?Àrî?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?@äá?€l?Ì?¼Á?`ß?ÇÛ?Çá?ð?ð?ð?ð?ð?ð?ð?€æê?¾?šÄ?Ÿç?Àìí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍí?”¼?€øÛ?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›ë?Àä?À\ï?ð?=Þ?ô¢?`}?€V?X?d?E?e?Àd?eÏ?©ï?ð?ð?ð?ð?ð?ð?ð?€Æï?ÀÈï?€Õï?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?Àpî?€ìî?ð?ð?Àåï?ð?ð?ÀØï?·ï?ð?ð?ð?ð?ð?ð?ð?Àûï?@òî?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ºï?@1î?ð?€Öï?ð?ð?€Iï?Âï?ð?ð?Ÿï?ð?ð?€îï?ð?ð?ð?ð?€Ûï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±î?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À=î?þï?Øï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûî?T¥? }?.ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æì?ûë?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?À{ï?±í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ï?À ä?ð?€sî?Àmí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Nî?p?è?ˆÑ?€ÏÛ?€ðì?€êï?ð?ð?ð?ð?ð?ð?ð?ð?€Fè?L?ò½?€2í?@ˆï?ï?@Iï?ð?ð?ð?ð?ð?ð?ð?ð?²í?KÀ?É?¤Ã?X’?Àp?@j?€öÐ?wê?€·í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?Àæï?@ùï?ð?@Þï?ð?ð?ð?ð?ð?ð?@sî?€Îì?€Ø?Àg?€Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?Yè?°¶?a?@d?€Ò?qË?P?^?Àr?à~?Mß?Wï?ð?ð?ð?ð?ð?ð?ÀØï?òî?€áï?Àôï?ð?ð?Àôï?çï?þï?ð?ð?ð?ð?ð?ð?Àýï?tï?úï?@Þï?þï?@ðï?€;ï?ð?ð?ð?ð?ð?ð?@+ï?À´ï?ð?ð?Óï?ð?ð?üï?ð?Lï?@Ãí?åï?€Kë?€Íï?0ï?ð?ð?Àêï?À¬î?ð?ð?€*ï?ð?ð?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?ð?@ðî?ð?ûï?Íï?€ßï?@uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?®ì?°ˆ?€SÐ?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?Àôï?ð?ð?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Gî?€èê?ÀXï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡í?eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öë?€ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸Ø?»Ò?€Ù?€4í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?#ï? ¿?@m?4¦?»?€â?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Së?ðÎ?€îæ?€ßï?ÀZí?€—Ü?À®ä?›Ú?Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ñá?€°?æ±?€Aî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?Ûî?^Ç?PÉ?ãä?—Ç?—?¨¸?À}?àp?T?N?F?F?qÆ?À´í?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?Àôï?€éï?ð?€éï?@Úï?€êï?€ùï?ð?ð?@úï?€òï?ð?ð?@·ï?ð?Àöï?€éï?Àkï?ÀËï?ð?ð?ð?ð?öï?ï?ð?ð?ð?ð?ð?ð?ÀÓï?@ïï?@Åï?@µï?@«ï?@«ë?€Êï?ð?ð?ð?ð?ÀŒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…ï?Wî?ÀÅî?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?Àöï?Àóï?öï?ð?Àfï?õî?ð?ð?@äï?ð?€éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?ð·?@ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?@»ï?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Sï?@oí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òî?®í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Mê?´Ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥ê?¤Ã?´ª?éÍ?€Lî?€¥ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? å?V?8–?ðž?DÔ?Žè?À}ç?]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?@oè?ÀKè?@²ï?ð?ð?Gè?@Cï?€3é?Ñì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òî?­ç?ÝÐ?Á?Tî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?@Þï?ð?ð?€+ï?öº?Љ?@bé?€1ç?$Ñ?F?¾Æ?x“?W?k?€YÐ?@î?ð?ð?ð?ð?ð?€\ï?€¾ï?ð?ð?ÿï?@öï?ð?âï?Àêï?@ðï?ð?ð?õï?ÀÄï?@Èï?ð?@rï?@Lé?ÀZí?€ñï?@ûï?ÀÔï?ð?ð?ð?ð?ð?€øí?ÀÙï?ð?ð?@*ï?ð?ð?Àìï?ð?ï?Àôï?À4ï?Iî?@vï?ð?ð?ð?ð?@Òï?€rî?ð?ð?@„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀCï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?õï?ð?ð?ð?@ î?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€ï?Àüï?ð?ð?ð?ð?€Øï?–¿?Àhì?ð?ð?ð?ð?Àôï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?@Üï?ð?ð?ð?ð?ð?ð?ð?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ï?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àì?ð?ð?ð?ð?ð?ð?ð?ð?@çï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äê?©Ç?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ë?|£?0?vÇ?€\ë?&Þ?Šé?€/í?@¹ì?6í?À“î?ð?ð?ð?ð?ð?@zï?€àå?€«ë?ð?ìè?€P?è?úÃ?€à?€¡ç?@ßã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýè?€¶ë?ð?ð?ð?Àýï?ð?ð?À—ê?Jì?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tï?Àÿï?@¯ï?€¿ã?À“?ƒ?€`?Ïß?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ï?0Â?€uê?ÀÝï?@­á?ž°?ÀAâ?ô½?Ø“?:?€?€V?€Ñ×?Àªí?ð?ð?ð?ð?€kî?€õî?ð?ð?ð?Àîï?€úï?À÷ï?Àôï?@éï?ð?ð?€ï?@ï?Àÿï?@Þï?Éï?@ ê?µ?@à?€Àî?ð?Àôï?ð?ð?ð?ð?€²î?€eî?ð?ð?ð?ð?ð?ð?Àôï?Àôï?ð?Åï?î?@Óì?€î?_ï?¦ï?ð?ð?óï?@8ï?À´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥í?@¥ï?€ÿï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fî?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?Àóï?@ðï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?ð?ð?€÷î?€-ï?ð?ð?€úï?ÀÙï?ÿï?ð?ð?ð?ð?ð?@óï?Àï?@´ï?€ ï?€øï?€¬ï?€äî?Àï?fï?€ÿï?ýï?€ýï?/Ï?PÁ?À8ï?ð?ð?ð?ð?ð?@ðï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qï?€Áë?@%ï?À»ë?À ï?ð?@6î?@$î?ð?À%î?@nï?ð?ð?ð?ð?@žï?“ì?ðë?Àaí?Àí?@Æë?@ûî?€úï?@óì?À.ë?@Üæ?Àå?@bã?€Ø?]á?£í?öï?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?€óî?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úî?×Ë?`­?ÓÒ?Àï?ð?@Úí?ð?ð?ð?ð?@Êí?@“í?€èï?ð?ð?ð?@ðï?¹Á?€kÝ?€÷ï?VÝ?€\?xà?€Îí?@`ï?@ï?À-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•í?³í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÆâ?áÓ?nÊ?¡Í?@ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?™Õ?[Î?€PÖ?€wÝ?[?*Ì?ø®?@a?¬¨?¸?€f?Ày? ³?À·à?oí?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?€÷ï?ð?ð?ð?ð?Àpï?À6ï?ð?€Zï?€ÿæ?üÄ?Àc?Ô×?@?î?ð?ð?ð?ð?ð?Fï?@ ï?@zî?ð?ð?ð?ð?ð?ð?ð?€¼ï?ûï?Që?€í?ÀÝï?€Dï?ð?ð?ð?ð?À”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@&í?aï?ôï?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?€¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À²ï?Àôï?ð?ÀÆï?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?€«í?Àìî?ð?ð?€éï?ð?Àêï?ÿï?ð?ð?ð?ð?ð?êï?Öï?À†ï?Àøï?ð?ð?ð?ð?@sï?Àsï?@Rï?@ûî?«×?Ä¿?À}ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?yï?ð?ð?ð?ð?ð?ð?ð?ÿï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯ì?€Uë?€gì?tï?€÷ï?ð?€›ë?ð?ð?@ñï?Àîï?€ïí?ð?ð?|í?ÀSì?À½ï?ð?ð?ð?ð?ð?ð?€Sï?€éì?€ñï?@>ï?Àuï?ÀRï?Àúï?ð?ð?Àôï?€£î?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Eï?HÕ? ‡? ‡?€ÍÙ?€`å?@,é?€0Ú?€rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€vÙ?þ·?1ë?Þ¶?€V?Àm?€×Ú?€/å?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?Àê?RÎ?Ö?l?Т?€"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?À¢á?‡Ç?Ÿ?Ú¸?‘Í?E?¨’?€f?¬£?€V?€f?€v?`?€V?@`?AÅ??ã?€¼î?ð?ð?ð?ð?ð?ð?ð?ð?À¹ï?ð?ð?ð?€éï?@âï?€wî?Àëï?Iï?*ã?€œÔ?`v?Q?Ê?€§ê?€øï?ð?ð?ð?ð?ð?@íî?@‚ï?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?€î?&í?Ñï?ð?ð?ð?ð?yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Uï?”ï?@ðï?Àôï?ð?€ï?@¼ï?ð?ð?ð?ð?€üï?ð?ð?ð?ð?ð?€èï?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@Uï?æî?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îí?€¼ï?ð?¦ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?Àsî?€®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?®ï?@Ñî?€ïï?tî?À”ã?x?´?Ì©?Àœî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?@þï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?Êî?@áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ï?iá?h?0?ÝÈ?¨æ?ÀLè?Àoì?@õë?ð?€µë?€9ç?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øÚ?G?0›?€o?§?L¹?°?x?YÀ?@{ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?@Ñï?"ê?µç?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ÀÎï?Òã?X¼?€|?l¨?À+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?T?€lÛ?ÎÞ? „?0?tÁ?à¥?@b?@l?œ£?ð‚? ?à?ˆ?àŠ?¡È?@øê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?Àôï?ð?ð?ð?ð?Àï?€Æå?P?]Ð?€9Ü?À^ï?@Þï?ð?ð?ð?ð?ð?Àãï?€óï?ð?ð?ð?ð?ð?ð?ï?€áï?À›ï?€gî?Àßí?Àï?ð?À~ï?]ï? ï?ÀÐï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òï?þï?ð?ð?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€>î?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?€!ï?€¿î?À$ï?Àñï?@ï?€sï?€kÚ?¸ ?Dª?ž?€ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€ûï?ð?€Îï?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?“î?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øá?\«?0?Àë?€rê?Àüî?ð?ð?ð?@’ï?ð?ð?ìì?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@mî? ›?ƒ?ž? „?Ä?€þã?öÚ?GÍ?€·à?€0è?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?‡Ì?€úÚ?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?¥ï?€àï?€âî?À²ä?è’?h“?`?€ÛÔ?€­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îê?p?€ùá?×å?þ¹?ïä?Ì?¦µ?€ ä?Àxä?¡?°ƒ?i?y?À‡?˜?.Ï?¨ä?€Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?åì?ð?ð?@ªï?ð?ð?ð?Qï?€Œæ?@Æå?ëÂ?Äá?ð?ð?ð?ð?ð?ð?ð?@§ï?ð?ð?ð?ð?ð?@Þï?À²ï?€nï?€ûï?€3ï?€Ûï?*ï?ð?ð?ð?À™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñî?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?˜ï?й?@c?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÐï?)ê?Ÿß?€<ã?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?Àî?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Àé?Ô¿?€?€‚ë?Àôï?ð?ð?ð?ð?ð?ð?ð?€î?À ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‚î?œ£?¯ß?ο?€‰?€`Ó?Îî?À¾ï?@®î?Öë?Äï?@Óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;ê?À?šî?ð?ð?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?€Ðï?À&å?H£?€\?€Šâ?Àâ?0Á?ï?ÀYì?ð?ð?ð?öÞ?qß?ð?ð?ð?ð?ð?¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@Lé?ôÚ?Î?BÛ?€té?Àëì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ÀÐï?ð?ð?ð?€äê?€_?°š?ÀŠæ?èÜ?l?Ø?€ê?@ÿï?ð?ð?Àì?ò¾?NÃ? Š?( ?H’?€_?b?ˆ®?€Ó?À‡ë?ˆ®?€U?`z?€8á?êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?Àýï?@°ï?ï?€,ï?ð?ð?ð?ð?ð?ð?ð?(ï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀSï?ð?ð?ð?ð?ð?€ôï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?jî?@Õï?³ï?Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?×?²·?@Sï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?€¬ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@]í?€*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@fï?€3ï?ð?ð?ð?ð?ð?€ï?€™Ú?€V?¯è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ×?€ŠÕ?@;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6î?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðî?ð?€é? w?†´?$¾?€V?ÃÚ?€¹ï?ð?ð?ð?ð?õÎ?€o? |?p­?àp?à€?ˆ–?e?¦?€‘Ñ?€b?O?@t?€™Ö?ÀÆë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vî?ï?@€î?@£ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@rï?€“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?ýã?è©?o?€Fé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?€Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?•ï?@%ï?ÀÞï?ð?ð?ÀÓï?À_á?Àk?Àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?€úï?ð?ð?ð?ð?ð?@²ï?z¿?´¡?@ ç?ð?ð?ð?ð?ð?ð?ð?@±ï?€¼ï?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?€òï?€éï?@Þï?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡Ý? {?€äÑ?@|é?Àï?@ÿï?<í?€Nã?òÒ?;Ä?À€? ?@w? |? Œ?ô¾?@äè?ûï?ð?ð?ð?ð?˜ï?@åï?ð?ð?ð?ð?ð?ð?€þï?@žï?@÷æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?­î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ê?À¯î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?€Îï?ð?ð?ð?ð?ÀÙï?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?@üï?€+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?Àïî?@¹ï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?@må?À?@j?€f?WÍ?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Óï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?@$ï?@ïï?ð?À?æ?p„?€æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7ë?L?€W?м?€©è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€Úï?ð?ð?@‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìï?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Œï?Àáï?ð?ð?´è?€¶Ý?,?ð­?åÊ?„¿?àp?£? †?€W?Ài?Àt? Œ?‹?€óÝ?ÀÂï?ð?ð?ð?Àæï?Àðî?ð?ð?ð?ð?ð?öï?€Þï?ð?@î?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?mï?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ÀÆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3î?€-ï?ð?ð?ð?Âç?€Pá?@ è?€Gë?@ùï?À~ì?Õæ?€Èî?ð?ð?ð?ð?ð?ð?ð?ð?î?dç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?€àï?‘ï?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?\Ê?@h?€Dä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ï?€Oå?Ÿ?€žÔ?ð?ð?ð?ð?€Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýß?XÍ?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—ï?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?€²ï?öï?ð?ð?@öï?À½æ?àv?L¡?@Ÿ?À?€ž? ?^?˜¡?(¬?€P?‘?¨‘?À?T?0?ĸ?@‰ï?ð?ð?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?@Úé?€›æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?€Hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bï?€Éî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šî?Çì?Iê?@ î?0í?@ï?@ãî?@õï?€:ì?ð?ÿï?©æ?Àgê?Àýï?ð?ð?ð?ð?ð?ð?ð?Àúï?@ªç?€½å?€èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?À7í?Є?Pž?¡ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?@Zï?Õâ??€S?€Äæ?ð?ð?ð?ÀBí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?Ö?Ü?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?ð?ð?ð?ð?@ýã?ø?Т?ƒÛ?uÞ?@f?`?,?O?P‡?È?K?˜•??`‡?Š?€üã?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ÀÚï?€ðï?Ðï?Eí?€)Ø?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ÀNî?@Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qî?@Éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕî?Cå?³é?@-î?Àöï?@òï?Àÿï?ð?ð?ð?ð?ð?€üï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?­ç?yë?üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?Àüï?À?ï?@¼ï?ð?ð?ð?ð?ð?ð?ð?@Ñì?ì?ÀBí?€ßï?€Žî?À²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?ñí?Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?€©ï?ð?ð?ð?ð?ð??ï?ð?ð?•ï?€»ï?ð?ð?ð?Àmï?€í?€Dï?ò¸?²À?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À:ï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À$í?Àªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?žà?b?§è?ð?ð?ð?ÀWï?@ší?€Ñí?€âí?ð?ð?ð?ð?ð?ð?xï?ð?ð?ð?€êï?yÓ?Q?€‰Ô?À!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?€†ï?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?@ùï?ð?ð?ð?ð?ð?€Óë?ÀÑï?@Så?Àá?àu?F?+Ø?|Í?‹?{À?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?€Äï?ð?ð?ð?ð?ð?ð?ð?ð?@cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æí?uï?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‘î?@Ÿè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?Àôï?ð?ð?ð?ð?ð?ÀŽï?ð?ð?ð?ð? ï?€ ï?ï?Úî?À&ì?€5ì?Àì?ˆ§?À3â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?€Äï?@ÿí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?Àáï?€øï?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?@Hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?€ï?Ý?@t?@l?@Kè?ôé?À§ê?@Hì?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—í?¨™?0®?4»?>?ÆË?€ å?À›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?€öí?Å?š·?¨¯?ž?áÆ?¶³?p™?P? š?€¬ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?À¾î?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?iï?@Ëî?@¹î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€£ë?ÀCî?ð?À»ï?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?@êï?ð?ð?ð?ð?@ï?@‡ï?ð?ð?ð?ð?ð?ð?@õï?ãï?€|ï?@¯í?¾Ô?&·?À$î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?À,ê?x»?? p?Àªæ?ï?°ï?À+ï?@¿ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nî?ÀÒí?€`æ?›?F? ?¸°?.¿?À‚?¿?pÕ?0ß?@€ê?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€îï?ð?ð?ð?ð?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?À„ì?À ä?ûÓ?˜?M?a?2? ?H?@j?€k?:?ðƒ?Õ?€&í?€ ä?Т?´à?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?@wï?ð?ð?@Ùî?ÉÈ?H?@j?Àµ?ÿê?ð?Îí?€ Ð?€[?°²?s?€f?TÂ? É?T©?|¸?„?€èá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?@Ží?ð?ð?ð?ð?ð?ð?Àí?@öê?À­è?À°ì?ÀÜï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âî?@é?ÀÛî?ð?ð?ð?€ùï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À"é?P…?RÚ?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Æí?€°ï?@²í?3ì?À;ì?žì?€“ë?€yì?î?ð?ð?ð?ð?@¬â?Z?˜£?õë?€î?ð?ð?ð?ð?ð?ð?À$î?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?@1á?p™?0—?0?à{?µ?€ûå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@—ï?þï?ð?ð?ð?ð?ð?ð?ð?ð?€îï?üï?ð?ð?ð?pã?8œ?(?˜£?Úæ?€ñï?Àˆï?@Rä?¸»?€ÍÔ?€ÎÞ?àŠ?ª²?€ñß?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€ûï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ï?€™î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þì?€nï?ð?ð?ð?ð?ð?ð?ð?ð?ê?Àýæ?@Îî?ð?ð?ð?ð?ð?ð?ð?ð?@þï?@ÿï?€Åï?@¬ï?ší?dí?$í?ð?ð?ð?ýï?@Ìí?Àáï?ð?ð?úï?@ûï?ð?ð?ð?ð?ð?€Îï?€úï?€üï?ð?€²×?T¡?€¸ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?€¤î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@8ï?ð?ð?ð?ð?ð?ð?ð?ð?þí?ð°?A?£Ñ?À_ï?qì?ð?ð?€nï?Àî?@ûí?@ùë?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÊ?à˜?@p? ?’Ñ?æ?°î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œï?áï?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä¸?d? ž?@b?€‹?€Ô?@è?Àùï?@Ëí?P×?2?Й?KÆ?Àsè?ð?ð?ð?ð?ð?ð?ð?ð?Úï?@sï?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ð?Àcî?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€aï?Dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?™ï?€~ï?mç?Àãí?Ýï?ð?ð?@õï?ð?ð?ð?@êï?øï?@§î?@Éï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?ð?ð?ð?@ï?À¡î?@9ï?Àï?@Jî?@;î?€éÛ?ŽÐ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Rî?€úí?ð?ð?ð?ð?ð?ð?ð?ð?À|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?îÇ?C?@'ç?Àì?€¾ë?€%ì?ºî?Àžî?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@vê? r? Ì?Ü?€JÛ?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðÉ?€R?€e?`—?€ÚÛ?€ë?Iï?€WÛ?”?@µ?€U?@†?@ãë?ð?ð?ð?ð?ð?ð?ð?ð?@½ï?Ìï?@õï?ð?@íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?€}í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àµî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çì?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?À~ì?8ï?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?@Ôï?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?ð?ð?ð?ð?ð?@îì?@îé?€Šâ? ?€ÎÜ?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€>í?€îí?€>ï?€€î?Àúï?ð?ð?ð?ð?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀGà?ì¥?à|?Qì?€ñï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?Û?€cä?€€Ò?@¯?Ãí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íà?Т? Ù?À}?@¢?@n?€ÂÒ?€é?Yî?€Wå?à‚?¶?@‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ƒí?ð?ð?€|ï?€êï?ð?ð?€õï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîí?…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?Àªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€qí?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?î?ð?ð?ð?€´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?qï?@òï?ð?ð?€êï?ð?À~ï?Àèç?ßÙ?8©?€IÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?3í?@µí?@˜í?€¹í?€rì?ÿê?€ìì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@â? ?…Ï?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ùÏ?€Ù?€œï?Ã?@[é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?±ì?Ó?@Wè?€Ü?€ÜÐ?vÇ?à‡?¼¹?€3Ü?žÀ?e?$ ?Àq?~Ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­ï?À£ï?¬ï?Àï?ð?ð?ð?Jê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óî?@ãî?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?ð?ð?ð?Àéï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcï?@Òì?ÀÂî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?ùÜ?à„?¨š?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?@Sê?€ˆî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€~Ý?³?€)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€?€^?€Ñé?ð?Þí?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?ï?ë?€ûï?€žè?'á?€U?@i?vÉ?À?Àe?€nÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À@ï?èï?€Âî?@´ë?{î?ð?ð?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–ï?€õï?ð?ð?ð?ð?ÀDí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ñê?À»ê? ë?À*ë?@«ë?@ì?À¸í?;ë?@ í?@ºî?ð?ð?ð?ð?ð?ð?ð?ð?@äï?ÀCì?ÀCé?Àî?ð?ð?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyî?ð?ð?@»ï?ð?ð?@7ï?@4ï?ð?ð?ÀÀï?À#ã?@g?€R?Zë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?Àþï?ð?ð?ð?ð?ð?ð?€Çë?@…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sá?€fè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'ë?€VÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2é?õÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Àšï?ð?@ìï?¿ï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½î?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôí?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¨ë?í?ð?ð?ð?ð?ð?ð?ð?@)ë?€™ä? â?;í?ÀÔï?ð?ð?ð?ð?ð?ð?ð?ïï?Àï?À¸î?ð?ð?@Cï?ð?ð?Àùï?Êï?ð?ð?ð?ð?ð?ð?ð?ï?€Ñï?@Þë?@‰ï?ð?€†ß?€î?ÀØî?@Zí?€2è?À>á?^?ßÎ?@šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?ÿë?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•ã?JÃ?@Óì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?€ˆã?JÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?€Ûï?@fä?€c?€?@˜?$Ì?À(ç?ð?ð?ð?ð?ð?ð?ð?€øï?Àãï?ð?ð?ð?ÀÕï?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ëï?ð?ð?@¶ï?ð?ð?ð?ð?ð?@ýï?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©î?@(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@êí?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?€ñë?½î?€äï?ð?ð?@ î?ÀÂï?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?@2î?€‹ï?ð?ð?ð?ð?ð?ÀŠä?€Ñ?FÞ?½?€ÏÐ?Ú?ÝÆ?9Á?®?øŸ?\§? §?r¸?@-ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©î?ÀÁí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ã×?@Wæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€<Ø?rÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?€ïï?Àºï?@•è?€…?àž?S?I?À¬ã?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?€Ûï?ð?ð?ð?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€!î?€Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Øï?Àáê?Ÿî?ï?ÀÅî?@ï?fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ìã?À˜ï?Àè?À±ç?@Òê?@{ï?ð?ð?ð?ð?ð?Àßï?€öï?ð?€zï?éí?ÀÕî?@ìî?Çï?@øï?1í?4à?Œª?µ?ñÁ?•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£ì?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?NÄ?îÍ?€Üë?@'í?Hí?Eí?‘î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´î?¾²?@m?€\á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ôï?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?€=è?€†Ó?çÏ?Е?€5Õ?@í?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ð?ð?ð?ð?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À·ï?@3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïë?@uî?ð?ð?ð?ð?@”ï?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àç?€í?Àiî?@ï? î?@ïï?ð?ð?ð?€úï?À9ï?À€ï?€Ëï?ð?ð?@ïï?@öî?âì?}ì?ß?Ø?ø™?@ýí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?€ûî?€/î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘ì?­?€ã?Àèï?Àîï?÷ï?@fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òê?ÅÑ?Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?"î?Œé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ï?5î?À+â?P?A?¾µ?€áí?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€Æí?’ï?ëï?ð?ð?ð?ð?ð?@Îï?ð?ÀÀï?ð?ð?Àzï?ï?ð?€üï?ð?ð?ð?ð?ð?ð?ð?Àÿí?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéï?€Lë?ÿï?ð?ð?ð?ð?ð?€œï?@Xî?@þï?ð?ð?ð?ð?ð?ð?ð?ð?@rï?€@ï?ð?ð?ð?ð?ð?ð?€þï?ìï?ï?@Ãï?€^î?Àäë?€èï?ÀDí?yå?€Gê?À@à?à˜?¢¶?Àçî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?Àþï?ð?ð?ð?ð?ð?ð?ð?Àÿî?ð?@¸ë?ð?ð?ð?ð?ð?ð?Àëï?ðï?ð?ð?À½ë?_Û?€Cá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?uà?6?€ÿæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wí?ÎÏ?–¶?Ž?U?€Ñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ÀÕï?€õï?ð?@bî?€™ï?Àßï?ôï?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?€î?€¿î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€!ì?€ ë?ð?ð?ð?ð?ð?ð?ð?@²ï?Bï?Eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?@ï?€ï?€Üï?ð?@©ì?å? ½?!Ò?Œ?è®?€²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?Àöï?Êï?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?€<ì?€Ïî?ð?ð?@ï?ð?ð?Àüï?€ýï?ð?ð?ÀÕï?@Ñ?€µà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òî?¨µ?P˜?µí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€žï?À-î?@…ì?éÎ?’Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?@Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€õî?@2ï?@Dî?@Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@oï?“î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãî?@zç?€`ï?@ˆï?ð?ð?ð?ð?ð?À«ï?ð?ð?€òî?ÀÛï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¶ï?ð?@¯ï?@Ãâ?Ž·?¹ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ÀÕï?@ìï?þï?ð?ð?ð?ð?ð?ð?ð?ÀŸì?@«î?ÀÞé?À%ç?ð?ð?ð?ð?@ïï?/ï?Àúá?`?€Ö?À‹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôå?(? ©?€Çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?Žï?ð?ð?ð?ð?€‚è?K?«?€tÜ?ð?ð?ð?ð?ð?ð?Þï?ð?@ûï?ïï?ð?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLï?_ï?€ýî?Àöï?@¾ï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sí?À9å?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€«ï?[î?ð?ð?ð?ð?ð?ð?¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?ÿÞ?>?FÖ?ÀÜï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?€ýï?ð?@³ï?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?€Zí?€ë?@:ï?ð?ÀÕï?@oî?òï?ÀNî?€já?Œ¡?À=á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€…×?€á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀZï?lÚ?H“?È’?ð†?Àòà?ð?ð?ð?ð?ð?€‡í?À¹ë?ð?Àïï?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀBï?ðî?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?À!î?ð?ð?ð?ð?ð?ð?ð?ð?ð?wî?€Yé?ÀŠã?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?@?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIì?€ÆÖ?Àm?€mê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?ð?ÀÀï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?üï?ð?ëï?@¡ï?ð?ð?ð?ð?ð?ð?ð?ºï?ð?€aï?Àê?@ÿï?@>ï?€=æ?ÈÜ?z¶?¶Ê?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀCí?|¨?x™?Àl?±?€×î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þì?ÀÆí?ÀÐï?Àfä?šÉ?¼»?—Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?Àï?¸ï?ð?ð?ð?×ï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?êî?ÀPï?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?.ê?€fã?¨è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?@àä?æ°?@èá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?€øï?ð?€õï?ð?ð?ð?ð?€•ï?@þî?ïï?ýì?À.é?ð?ÀOî?€è?Ûà?Ç?@?Àx?@[à?@ýî?ð?ð?ð?ð?ð?ð?ð?Àíî?Çí?€îç?ëÇ?Ÿ?@z?€¢ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?ð?ð?ð?ð?ð?€uî?MÀ?€ÓÔ?ÌÔ?e?ÄÃ?Àãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠï?@Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀCï?ð?ð?ð?€íï?€ýï?€÷ï?´ï?ð?@aï?˜í?×ï?@¼ï?ð?@rï?î?ð?ð?ð?ð?ð?ð?ð?†î?€}ï?ð?uê?ãÚ?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼ï?@úï?ð?ð?À&è?°™?@þå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?@óï?ð?ð?ð?ð?€Ðï?@ì?@ ë?Àï?ð?À¶ë?€„×?„¥? Ì?€êà?@që?ð?ð?ð?€ì?€PÚ?³?ž?„? u?F¹?5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?À³ï?ð?ð?ð?ð?ð?ð?@æï?ð?€àï?@×ï?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?@‚ï?ð?ð?ð?ð?Àgï?ð?ð?ð?ð?ð?Óï?Àlé?ÄÖ?€ç?8¡?Ž´?€Mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yì?À’í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©ï?@ãï?@Ôï?ð?"î?€þì?ð?ð?ð?ð?ð?ð?úï?€Fì?€3é?€ýí?€ªí?·×?€àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?À}ï?Bé?Àbæ?4É?Êà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?€÷ï?ð?ð?ëï?€àï?€õï?ð?Àñï?@ùï?ð?€áï?€ì?Àóî?ð?€Ää? ¨?`³?¤ä?@é?Àã?Ô®? ‡?¸Ä?$?Tµ?,?À ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?€Ùï?ÿï?@Èï?ð?@Ãï?€ýï?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒï?€þâ?€1ß?8?Õä?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?ÀÄï?¦ï?€Ùï?€ÿï?ð?ð?ð?Àôï?€î?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?Àòï?ïî?Àxí?À>î?ÀÞí?€=î?@>î?€ëí?öì?@†î?@®ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±ë?@ßá?‰Ä?€ßà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?€»ï?@ùï?ð?Þï?ð?ð?Æí?p¨?`q?Ù??€Ãä?½? ²?€ ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?@Æï?Àæï?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’ç?§Í?Ø»?@+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?€Àï?Ààï?þï?ð?ð?ð?@Vî?@‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€kï?€ï?ð?ð?ð?ð?ð?€ïï?€Àï?®î?@¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?@Èï?Àëî?˜Û?HÇ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?Àkï?ð?ð?À÷ï?€ßï?€Pî?€¾Ú??Í?x²??Ú?€]Ô?p–?€'à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?òï?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Oï?ð?Œï?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?€åÚ?¨•?@dì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?@;î?@rï?@~î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@4ï?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@éï?°í?Œ­?@¹ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¸ï?ð?ûï?Àúï?Þï?@ï?@¯ì?@Ô?Ȫ?H×?Á?€ŒÛ?X¢?Çí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?ð?ð?ð?ð?ð?@î?@öï?€ýï?ð?ð?Àßï?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€.Ú??Àc?@å?ð?ð?ð?ð?ð?@\ï?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?À9ï?À~î?ð?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?@#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Pí?ã?à?€‰Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?Àèê?€°Ý?ŸÌ?€òÔ?€™á?@;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?íï?€úï?ð?@ï?@½ï?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•ï?€üï?€£Ú?Àc??€Óç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?ð?€lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rï?@Çï?ð?ð?ð?ð?6î?€)ï?@öî?@—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Pï?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜï?Àºã?JÈ?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?êï?ð?ð?ð?ð?ð?ð?úï?ð?Óç?P…?EØ?@þé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?ð?ð?ð?ð?ð?ð?ð?@ûï?Àþï?ð?@qï?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?€Âï?Ðá?h’?Àšì?ð?ð?ð?ð?ð?ð?ð?€ãï?@éï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?@üï?ð?ð?ð?ÿï?@î?À*ï?ð?€pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºï?€vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ô?x¸?À£í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢è?Àgê?À ï?ð?ð?Àõï?ð?ð?ð?Àúï?€Èï?ð?ð?ð?ð?ð?ð?Õï?@éï?€æ?p¬?­ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?€÷ï?ð?ð?ð?ð?ð?èï?@ùï?ð?ð?ð?ð?ð?ð?@%ï?ð?@Åã?ÉÍ?€ùï?ð?ð?ð?ð?ð?À—í?ð?ð?ÀQï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?€Ñî?€>î?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?Àaï?€Sî?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Cá?@Ÿå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?Àtå?@Öî?ð?ð?ð?ð?ð?ð?ÀÐï?@.ï?ð?ð?ð?ð?ð?ð?ð?ð?@Fà?<Ô?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?jï?@üï?@ïï?@Óï?ð?ð?ð?ð?€¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À!í?ð?Àà?Æ?Z?€sÐ? ‡?X?@‚á?ð?ð?ð?ð?ð?ð?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Gï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{ï?ð?ð?ð?ð?À=ï?@î?ð?À•ï?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?^í?@vï?ìï?ð?ð?ð?èï?€ï?€€î?€Uî?@{í?åî?ð?ð?ð?ð?ð?ð?ð?ð?€=ï?ð?ð?ð?ð?ð?ð?ð?@@ç?˜“?€5Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‚ï?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?€’ï?ï?ð?€žî?“Ä?b?}è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?Àôï?sï?À®ï?ð?ð?ð?ð?ð?ð?€Gï?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?€™ï?@¸ï?€ºï?@úï?€˜ï?ôà?@¬?È“?2?€R?ðé?ð?ð?ð?ð?ð?ýï?€Óï?ð?)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?®ï?ð?ð?ÀÝì?@Ýê?aë?€íé?@ë?À]ê?@1î?@oï?ÀBí?ÀÄë?@³è?€Ëê?»í?Àøí?ð?ð?ð?@ìï?Tï?Àÿï?Àþï?€Ôï?ÀÕï?€âï?€±ï?€9î?@ í?@í?ƒï?÷ï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ç?´¬?˜ž?À)ê?ð?ð?ð?ð?ð?ð?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±í?@)ê?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ð?ð?ð?ð?ð?Àãï?Àîî?ð?Àˆë?Àn?ºÖ?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êï?øî?@ï?Àvï?€ëï?ð?ð?ð?À‰ï?ÀÜï?€Âï?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@}ï?ñï?Lï?Àì?šÙ?Š¿?Œª?‘?U?€hå?ð?ð?ð?ð?ð?@óï?Àßî?ð?ÀJï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?ð?ÀQí?ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@'ë?ð?Àæï?À1ï?@ðï?=ï?€`ì?€êé?€ôè? ë?€åë?ð?$ï?ð?ð?ð?¬î?À,î?€nï?ð?ð?ð?ð?ð?À‰í?@¥ï?ð?ð?[í?Kí?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‡ä?@Ö?¤Ä?À‡î?ð?ð?ð?ð?ð?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Cî?Àí?€Mç?íì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?àî?œ?,¦?À“î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?€ùï?ð?Àáï?ð?Àï?ð?ð?€†ï?@ï?ð?€Dï?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?€ÿî?÷ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²ë?ʸ?€l?@Ûç?ð?ð?ð?ð?ð?ð?ð?ð?Þï?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€zï?€mì?ð?ð?ð?€×ï?ð?>ï?ð?ð?€rï?ð?ð?ð?ð?@‘ï?€÷í?@÷ï?ð?ð?ð?ð?€×ï?ð?ð?€ ë?ð?ð?ð?ð?èï?î?Àcï?ð?ùî?ð?ð?ð?ð?ð?ð?#ï?5Ê?Àà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuî?€|ï?öï?€´í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Jï?@»ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àÞ?~?ÀÊí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ÀÞï?ð?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?À•ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€!ï?ð?ð?À‹ï?Å?>³?@µï?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?€ží?]ì?ð?À6ï?Kï?€îï?àî?À÷ï?ÀÛï?sì?ð?ð?ð?ð?@gî?@Lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?ð?ð?ð?ð?ð?ð?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ï?˜¢?‰?Àâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À:í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ß?€Ö?€âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?Àîï?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ÀRã?¾Ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?€×ï?ð?ð?ð?ð?ð?ð?ð?›ï?ð?ð?ð?À´ï?@së?Àûï?@hï?Àºî?€êï?€4ï?Ìî?ð?€µï?Oí?ð?ð?ð?öí?@Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?€)ç?F?ÀÛà?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@›î?ÀŸï?ÀÎï?ð?ð?ð?ð?ð?€éï?€‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?Àôï?ÕÉ?@d??@ðâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€Íï?ð?ð?Àáï?Àî?ð?ð?Àëï?ð?ð?ð?ð?ð?ÀÛæ?„Ù?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@!ï?ð?ð?ð?€¿ï?ë?ð?€“ï?ð?ð?¾ï?À¬ï?@Ãï?€ÿï?@ÿï?ð?ð?ÀÉí?@*î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åí?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡ï?€œÑ?À|?ÐÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“ï?€=î?ð?ð?ð?ð?ð?Àõï?@»ï?£ï?ð?ð?ð?ð?ð?€ðï?€µï?ð?ð?ð?ð?@øï?1à?€Y?UÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?@¹ï?@rï?€Íï?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?@Ãï?µë?é?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÌï?@øï?À·î?ð?ð?ð?€Zï?Àöì?Èï?ßï?ð?Àáï?Àï?bî?ð?ð?ð?ð?€gî?Gî?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pï?ð?ð?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“ï?ÀŒà?Œ§? —?€5ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?@#ï?Àšï?ð?ð?ð?ð?@ûï?Çï?Àšï?ð?ð?€¬ë?€°Ù?€W?@d?Ø“?Àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?@þï?€ä?€e?›Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?ð?€áï?Àñí?€|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?Áï?Àbï?ð?ð?Àšï?Àáì?€ï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?€hï?€<î?@[ï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üé?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åî?€ÎÒ?2?4É?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?@î?ð?ð?ð?ð?ð?ð?ð?@ë?¤¹?~½?ÀDï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?@›ï?ÍÈ?Ž?q?€ÜÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Çï?€Gï?€×ï?ð?ð?þí?À{ì?@ï?€÷ï?ð?ð?ð?ð?ð?ð?ð?À’ï?€ í?ð?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€yí?€¿Ó?Àa?€¹è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþë?Àî?ð?ð?@‚ï?ð?ð?@ëì?EÀ?€Ÿç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?Tï?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àšï?ð?ð?ð?ð?ð?ð?©ï?»ç?Àj?¨¤?Œ¬?€;ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¸å?ð?ð?ð?ð?ð?ð?ð?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?eï?î?ð?ð?ð?¾ë?€ûï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?@Þì?\î?Àî?ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãï?Àï?ð?ýî?à?€–Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¯î?ÀÌí?Âï?ð?¯ï?Ÿï?ð?Àñï?€ÝÒ?Àhã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?ð?ð?ð?Àëï?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tì?½ç?Àzè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?ð?€Œï?@Bï?Àëï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ní?»ï?ð?ð?€¡ï?€>ë?¥ï?€×ï?ð?ð?ð?ð?ð?ð?ð?Àdí?@µí?@ªï?Àáï?öï?Àªî?@¼î?æî?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~î?ð?ð?ð?ð?ð?ð?€êï?€bå?ðŸ?Š¿?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ð?ð?ð?ð?ð?ð?ð?ð?@Vï?ð?ð?ð?ð?ð?ð?@Ûç?@¾ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?aë?@“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àî?ð?ð?ð?ð?ð?ð?ð?èî?@Òã?@¥ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'ä?Àšë?ð?ð?ð?ÀÅï?ï?@¸ï?À!ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?Àáï?Àðï?öï?@‹í?ÀWî?¯ï?ð?ð?ð?ð?ð?ð?ð?°í?@Üî?Àëï?ð?ð?ð?ð?ð?À\ï?@ï?öï?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?Uï?ÀŽî?€øï?ð?ð?€Òï?À&ï?ÀEë?%Ì?€é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùî?Àõï?ð?ð?ð?ð?ð?ð?ð?€±ï?ð?ð?ð?ð?ð?@ôï?ð?€Íï?¯ï?¯ï?Àëï?ð?ð?ð?À¨ï?ÎÏ?€ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?Àëï?ð?€×ï?Àšï?Àáï?Àëï?ð?@ûí?ÀÀï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥í?ð?ð?À†ï?ð?ð?ð?ð?ð?€ÝÖ?Xž?€&í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ãã?€„í?ð?ð?ð?€Ðï?@ ï?@vê?üÚ?ð?ð?ð?ð?ð?Àï?ð?ð?Àáï?ð?ð?ð?€5ï?€µí?ð?Àï?¯ï?€¢ï?À2ï?@Éî?@Žì? ï?ð?ð?ð?ð?ð?ð?@Úî?·î?ßï?@Íï?ð?ð?ð?ð?ð?ð?öï?ð?€þï?ð?Öï?@‚ï?@êï?Ìï?€×ï?¥ï?òí?@Ðî?kî?@„î?@²í?Àé?öï?ûï?@„î?@»è?èš?€Ü?ð?ð?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+ï?ð?ð?ð?ð?ð?ð?ð?ð?öï?€Bî?ð?ð?@¹ï?@ðî?ð?ð?ð?ð?ð?ð?ð?ð?Àå?ŸÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?æï?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€™ï?À¼?T?ʱ?@`à?ð?ð?ð?ð?ð?Àáï?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æï?€ï?@Zï?Àîï?ð?ð?ð?ð?ð?€bï?ð?ð?^ï?ð?ð?ð?ð?ð?Àëï?Àï?@ï?@Ëî?¼ï?{ì?À­ï?À5ï?ð?ð?ð?ð?ð?@øî?9î?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?€°ï?öï?@÷ï?æï?@÷ï?Àºï?^ï?Àëï?ð?ð?ð?ð?ð?€¡à?@wé?€æ?‹è?€½ß?ô±?@î?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?€^ï?/ï?@éé?@©ç?ÀŒï?ð?©î?€¤ë?@í?ð?ð?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ÜÁ?Ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙå?JÑ?ð?ð?Àáï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?ð?Uï?ÀVí?¹í?ð?ð?ð?ð?ð?ð?ð?@“ï?ð?€›ì?`ï?ð?ð?ð?ð?ð?@î?@\ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?Àáï?Óï?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?Àáï?€˜à?f±?É?€xê?ªÆ?€ Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?­ì?ÀÔá?@(í?€?ï?@áí?@àì?€óì?Àøï?ð?ð?ð?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?¥ß?`—?;í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€µï?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÙÝ?’Õ?ð?ð?À5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?›ï?ð?ð?ð?ð?ð?ð?Àºê?<¿? ‰?¶Ö?ð?ð?ð?ð?ð?ð?öï?ð?Àµï?Àˆì?@ï?ð?ð?ð?ð?ð?@eì?ÀRç?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?€Æï?@Íï?öï?ð?ð?öï?ð?ð?ð?ð?ð?ð?€áï?À¸ï?‰í?0¸?€»Ñ?À=â?¬?žì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?Àëï?ð?ð?ð?ð?ð?ð?ð?À¿é? œ?€‰Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”ï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?À8í?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àˆâ?tÉ?ð?ð?Àéï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?€„ä?À=ë?Àïí?ð?ð?ð?ð?ð?ð?ð?ð?€€ï?€™ì?ð?ð?ð?ð?ð?ð?5è?€Úä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€èï?€Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?vï?Øã?K?lÉ?@ýç?|©?€GØ?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?ð?ÀIï?ð?ð?ð?ð?ð?ð?ð?î?üÃ?¨¢?@×í?€ýï?ð?ð?ð?ð?€†ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªß?ÀÀ?ð?ð?øï?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cï?Àëï?Àìê?Àï?ð?ð?ð?ð?ð?ð?ÀÐä?”ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?€eî?Ë?»?@ëé?€XÒ?Àa?öæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?¯ï?ð?€Ðì?®Ð?Jß?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Åï?€0ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?ð?ð?ð?ð?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?@öí?ˆÌ?°‡?ƒî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠê?ÀFî?À™í?ð?ð?ð?ð?ð?ð?ð?À·ì?@5ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æ?d½?€j?IÎ?€4Ô?P³?ÀÛì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?ð?ð?Àöï?Àëï?ð?ð?ð?ð?ð?ð?¼è? ½?ä¥?@_ì?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?;í?@™è?Àöä?@Àâ?€~ß?ÇÛ?Vß?À¤á?Ñ?¢½?€îà?dî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À´ï?ð?ð?ð?ð?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êé?™?À†?Šè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòî?@ì?Àí?ð?ð?ð?ð?ð?ð?ð?ð?€Ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬ï?gÒ?ÀÛ?ªÒ?©Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?€×ï?Ààï?ð?ð?ð?ð?ð?ð?@Lè?°“?Àoá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@”ë?€Ÿ×? ?H¼?À%ç?ð?@Xï?€¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?Jï?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€ŠØ?À ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?Àáï?ð?Àäî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýë?†î?ð?ð?ð?ð?ð?ð?ð?ð?@ªî?@Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?@ï?@ä?õÒ?jÔ?àÂ?ýÌ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€oë?´²?@”?€~Ù?€£ï?@Kï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€6ì?@å?(Ó? ˜?à‰?uØ? Á?ŒÃ?€ìå?ð?@oë?€vî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ÀÁï?ð?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?€Ðî?ð?ð?ð?ð?ð?ÀÈä?Àd?À»â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?€œî?@é?ð?ð?ð?ð?ð?ð?öï?ð?ð?Àöì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ð?ÀBï?À?ï?ð?ð?ð?ð?ð?ð?€Yï?@Aî?Àúè?Õ? x?üµ?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Qì?Â?©ß?€„ï?Àœï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ôî?@]ã?€ÑÛ?@dä?žå?Ààã?Àzà?TÎ? Š?Àr?‚Á?`¹?€¿Ò?@‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûè?€gæ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àlï?ð?€×ï?@Ãï?ð?@ñï?€ñØ?€9Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Œí?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?7ï?À?é?€Åï?ð?ð?ð?ð?ð?ð?ð?ð?@×î?€!î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[î?ð?€Îï?À(ï?ð?ð?ð?ð?ð?ð?ð?@þä?€½ï?@Äâ?@‰?ĺ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íï?ð?ð?ð?ð?ð?ð?€ì?NÁ?@Ná?€kï?Àï?ð?ð?ð?ð?@áï?@¤ï?ð?ð?ð?ð?ð?€ëï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”ï?@ðè?Ã?@t?©?€tÚ?Àòç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äæ?Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aï?ð?ð?ð?ð?ð?ð?‚ï?ð?ð?ð?€¸ï?xæ?®Ã?€IÓ?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áé?À ï?ð?ð?ð?ð?ð?öï?ð?ð?Àiì?Àëï?ð?ð?ð?ð?ð?ð?€™ï?€ƒì?@Qè?@>ë?²î?@Åî?ð?ð?Àõï?ð?ð?@¹ï?Rï?@&æ?»?•é?lª?ÁÐ?€¤ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?À^æ?N¸?€•?@&é?@|ï?ð?ð?ð?ð?ð?ìï?@Øï?ð?@rï?@¹ï?ð?ð?ÀÍï?Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéå?¯Æ?`q?p¥?Àžâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(ä?€Zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼î?@ê?ð?€Zî?@Òï?ð?ð?ð?ð?ð?@¹ï?€îí?@Vä?/À?€OÝ?ð?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@;ë?jï?¹ï?@Ðî?ð?ð?ð?ð?ð?ð?"ì?€äï?ð?ð?ð?ð?@åë?ÀKê?@Eá?€dÚ?íé?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?6ã?|½?0Á?ÀÃã?±è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?@câ?S?À{è?mï?Àáï?@Íï?ð?ð?ð?@¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³é?€'Þ?€ Ò?Àq?¬£?€wê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªí?ÉÖ?@kç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Dï?ð?€òï?@ûï?ð?ð?ð?ð?Àëï?/î?Þ?€? š?Õæ?ÀSï?ð?Àöï?ð?þï?ð?ð?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?€‘ì?³ï?Tï?Àï?ð?ð?ð?ð?Àðï?€î?€«ê?@Bï?€Ùî?À¦ï?À.î?€oì?€àí?œç?Xí?ð?ð?ð?ð?ð?ð?ð?ð?ð?8ç?Ñ?€ëê?€uà?Ì?lÅ?›ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À³ì?€áÓ?@e?€æ?€:ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?ܦ?šÆ?€ÓÞ?@©ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°Ô?N´?@Wæ?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yï?ð?Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?ð?ð?ð?ð?ð?ð?ð?@Cæ?à?XÔ?¨î?Àáï?ð?¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?ð?Àëï?@¼ï?ùï?ð?ð?@ï?ð?ð?ð?ð?ð?@\ë?ÀXë?°í?€ëí?Fï?€¯î?€Áï?ð?Àê?@·è?éì?€ ï?À6ï?@î?€‰î?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«í?7Ë?ÀIë?€Æì?€ Õ?†?Àqâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?Àzå?–¸?‚¼?Æí?ÀLî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€=á?·Î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ì?`u?(©?öí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7í?ð?wï?ð?€çï?ð?ð?ð?ð?ð?ð?ð?Àëï?@Îï?ð?ð?ð?ð?ð?öï?Àî?ÀHì?€Ó? È?@úï?Àëï?ð?öï?ð?ð?ð?ð?ð?ð?ð?€‰î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ýï?ð?ð?Àêï?ÿï?ð?ð?ð?ð?ð?@gí?€—ë?@gî?€Sî?@ï?Àíï?ð?ÀSä?€Þë?Àèï?ð?ð?ð?ð?Óî?€Ðî?@rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?1Û?@ïï?ØÚ?Z°?hª?À«ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°ï?@¡í?À[ï?€µï?À׿?€Ó?ÓÓ?Õ?€@è?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀMë? Á?L ?¯?@Qí?ð?ð?ð?ð?ð?ð?ñï?ÿë?€ìØ?UÀ?@éë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À—î?ð?ð?ð?ð?ð?€xí?ð?ð?ð?@^ï?ð?ð?À?ï?Àõï?€Zï?ð?ð?ð?ð?€[ï?@{à?À•?К?<´?š³?à¥?@Œï?ð?ð?ð?ð?€Íï?€|ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿí?Èï?ð?ð?ð?Àñï?€âï?€{í?ð?ð?ð?ð?ð?€6ï?@ì?<í?À1í?ð?ð?/á?»î?¥ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?€”å?›?€²ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?nï?ÃÍ?’?\»?œÂ?€T?€á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?Àáï?ð?ð?ð?ð?ð?ð?ð?@úì?¯í?zì?€;æ?À˜â?€]Ý?€IÝ?€àå?@ùâ?€{î?@Në?€Bç?À÷ä?€í?Àqè?Ì?P˜?¢À?€Qì?ð?ð?ð?ð? î?SÝ?à?›?À&ë?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?€×ï?ð?€¨ï?ð?æî?æí?@¨ï?€Ðî?pÝ?@®?·æ?ð?ð?€!ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?Àëï?öï?ð?Àëï?ð?ð?ð?€<ï?ð?ð?öï?ð?@Èï?÷ï??ï?öï?€×ï?ð?ð?ð?ð?ð?€[ï?Àê?€_ì?(í?À‚ä?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?€å?À€?€aß?À#á?€)í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€è?€SÛ?µÏ?þÛ?}â?€±Ò?ñÆ?€àÖ?À#â?€Õì?€¯ë?v¹?…Ì?€#Ó?\Í?€òï?ð?ð?ð?ð?ð?ð?ð?ð?@âï?Ãï?ð?ð?ð?ð?ð?À‰î?¼×?™?P?H“?c?c?Â?Pˆ?€\?S?à·?S?€„Ð?ð?ð?ð?kë?̺?|?ôç?ð?À‡î?ð?ð?ð?ð?ð?@Óï?ð?ð?@õï?ð?@wï?@öé?‚ï?ð?ÀÜï?ð?ð?ð?ð?ð?ð?€ãï?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?Àûí?ð?ð?ð?ð?@aë?Àûï?@}î?òÎ?S?èÓ?@êï?€{í?ð?ð?ð?ð?ð?ìï?Àyï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À ï?Àñî?À÷ï?íï?ð?ð?ð?ð?ð?ð?À%ï?ÀÞî?@­ì?Àyà?ÀÓë?ð?ð?ð?ð?ð?ð?ïï?þï?ð?ð?ð?ð?ð?ð?ð?€†ï?iÖ?)Â?@·ã?€;í?€Qï?ð?ð?ð?ð?À¶î?€ªë?@ëî?€‘ë?Àëä?V°?8•?$¯?ܪ?€Ùâ?€xê?@Ìï?ð?ð?ð?€Ðï?ð?ð?@iï?€®ï?ð?ð?ð?ð?ð?€¬ã?€l?è–?Œî?ð?€ï?°Ó?`‹?€Ní?¯î?þÓ?ð?ð?ð?ð?@éï?À˜ï?ð?@Òî?î?íï?ð?ð?À¶ï?ð?Ànï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?>î?Êà?€P?…?`Ý?€öï?Àvî?ð?ð?Úï?ð?ð?@ýï?€Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íî?ÀUï?ÀÅï?”ï?ð?ð?ð?ð?ð?ð?ð?@‡ï?À›î?GË?øµ?Àì?ð?ð?ð?ð?ð?€Ðï?Çï?ð?ð?ð?ð?ð?ð?ð?€Äç?Xœ?8?6°?¸é?ð?ð?%î?€ŽÖ?<Ã?€x?@±?0€? z?x?â?Àøï?ð?{î?€^î?ð?Çï?ð?ð?ð?ð?Àøì?€qÓ?tÖ?0®?;Ê?€^æ?áï?%Þ?(?P£?†í?>â?˜?@ðé?ð?ð?ð?¤ï?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çï?@Öï?À<ï?@ùï?ð?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uï?ÀÀî?´Ë?s?€á?Ö¼?@Øä?ð?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?ð?ð?@úï?@dï?ð?ð?ð?ð?ð?ð?@Þï?@¸ï?À‚ï?Ží?@Žï?ð?@áï?íï?ð?ð?ð?ð?ÀÒï?€HÑ?ƒÈ?VÍ?É?Àkà?Ìï?À×ï?ð?ð?ð?ð?ð?ð?ð?ï?—ë?œÇ?|½?Àã?@Çå?ÑÀ?u?@bå?Àƒï?ð?ð?ð?ð?ð?ð?Úï?Àè?˜Ç?S?@åá?€Òë?dÁ?@r?0•?8î?€0Û?QÊ?@fï?@Šï?ð?€Êï?À¡ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@žï?€`ï?@Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?€Ðï?ð?€áí?Úí?b¹?j²?€¢Û?ˆ¥?‡?@žé?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?À¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†ï?Úï?ÀÆï?À|î?íï?ð?@ï?¹ï?ð?ð?ð?ð?ð?@î?íÛ?4±?€mÑ?€fâ?@¾î?€Pî?€[æ?ÀUè?ÀÏî?Àúî?À­ì?Àà?º¸?0‡?µÅ?@ä?Àkè?@Dè?Yæ?ší?@Ýè?ÀKá?ô¿? ?”Å?È?—? w?(ä?æ?Àï?þ»?}Â?€Ôï?ð?Úï?\ï?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjî?Àì?ð?€í?€‚î?€Õï?ð?Úï?À æ?è?PÑ?lä?€åÝ?²Ç?=Æ?@ãï?ð?ð?ð?€öï?ð?ð?ð?ð?€öï?ð?ð?@/î?çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?€½ï?@~ï?ð?€Þï?zï?ð?€¯ï?ð?ûï?ð?€ïï?€ãï?ð?ð?íï?ð?€²í?öØ? w?k?Ê?h¼?<Â?ÛÔ?p³?C?€S?>?€Z?p¥?ì­?$??L? €?ÒÆ?€På?@Ñ?›Î?~?€"Ñ?üï?ð?Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?ð?ð?ð?ð?ð?€ýï?Àþï?Ÿï?Àýê?@lï?ýï?ð? í?hÍ?€b?ÉÐ?ÀÒï?Pï?”í?€Ð?´£?0?Àoæ?ð?ð?ð?ð?ð?Çï?ð?ð?ð?€Ðï?ð?ð?À^ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?@°ï?ð?ÀÒï?ÀÔï?@ßï?”î?ïï?€¼ï?@Öï?€Ðï?ð?@Îï?€±ï?@øï?ð?ð?ð?ð?€¼ï?@$â?€\?@¤?@mæ?rî?jå?@Ô?€Kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?ÀÁî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ëï?ð?ð?ð?ð?@6í?ð?Äï?€¬ï?ÀKï?ð?ð?ð?€!â?H˜?€ã?@îë?@/ï?î?€RÙ?€ðÕ?€Êï?ð?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?Àþï?©ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?€Òï?€øï?À°ï?@ï?Àæï?íï?€óï?ð?ð?5ï?lï?@Ýï?@Óï?€·î?¿ï?¸ï?·ï?@Ýï?ð?Ûï?¡Æ?€o?È?€åÙ?@æ?˜×?ʰ?€ÇÔ?€Tß?B½?xº?€æÞ?Àìî?ð?ð?ð?ð?ð?ð?ð?ð?€¹î?ýï?€ãï?ð?ð?ð?ð?€zí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Fí?yï?)ï?ð?ð?ð?ð?@¼ë?éÆ?À?€åí?ð?ð?ê? v?cè?€öï?ð?ð?@Žï?@hí?ð?‹ï?ð?ð?ð?ð?À7î?aê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?@Žï?ÀÀï?@ñï?€^ï?Gï?ð?@Žï?€qï?@ùï?À£ï?@fï?Nï?À ï?»ï?Àdí?ÀEí?/ï?€ýæ? ‚?€bÖ?@÷ï?ÀÒï?@{ï?À´è?€ Ø?¹Æ?Œ«?@Ýç?ð?ð?ð?ð?ð?ð?ð?ð?@í?€Óï?ð?ð?ð?ð?ð?€½ï?ð?Õî?ð?íï?@Çï?ð?ð?óï?€ ï?ð?ð?€ï?€¶ï?€Jï?ð?ð?@Iï?@…î?ð?ð?ð?ð?ð?Mä?€‰Ò?9ï?ð?“ä?€Ÿ?†º?ì?@ßï?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?ð?ð?ð?ð?ð?Úï?€úï?À§ï?€öï?€öï?@¦ï?€éï?¬î?€õì?Àlî?@¼ï?Ô?Ài?ÏÎ?ðÈ?0Ã?Æ¿?8µ?€¯í?ð?ð?ð?ð?ð?ð?ð?¼è?ð?ð?ð?ð?ð?ð?ð?ð?À‰ï?ð?ð?ð?Àçï?ð?€Ýï?€qí?ð?ð?Àèì?À‘ê?À ï?ð?ð?Àóï?À¥ì?µè?ð?ð?ð?ð?€¥Û?zÞ?€ëê?ÀÕë?>Ç?pƒ?˜?þÇ?À:à?ð?Àúï?ð?ð?ð?ð?ð?€ï?“ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?Ôï?@Tï?Àåî?@\ï?€ºï?@•ã?J??íâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãï?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?Àûï?ð?ð?À.ï?ð?ð?@™ï?@@î?ð?ð?€Ðï?ð?€}í?@ëï?ð?ð?ð?ð?ØÔ?P—?Û?À[ä?À è?¸?Ð…?VÈ?šä?ð?ð?ð?ð?€„ï?ð?Àåï?À}î?@Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?ð?ð?ð?ð?ð?ð?Úï?ð?ð?€ãï?€tî?Çï?@Åí?€¶ï?€üâ?€áÔ?ŒË?Àøï?ð?ð?ð?ð?ð?ð?€‘ï?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?€ýî?€8ì?ð?ð?ð?À©ë?ð?ð?ð?ð?À{í?qî?ð?ð?@Îï?ð?€ãï?ð?ïï?ÀØï?èÁ?Ä?@_â?À_ä?àŠ?Àw?€rÖ?€‹? ¾?€iî?ð?ð?ð?Àóï?ð?ð?À‹ï?ÀÞï?ð?íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?€¯ï?Úï?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?·ï?ð?Óî?À„ï?@çî?Àxí?&²?€8ï?ð?ð?ð?€Èï?@Üï?çï?@ïî?Àðï?€dî?ð?ð?ð?ð?»ï?@åï?€ãï?€1ï?ð?@wî?@úï?ð?Àèï?€ôï?ð?€ãï?ð?ýï?À­ï?,ï?ð?ð?ð?@üï?@Öï?þï?ð?Kê?K?$?@½â?@Tæ?½?*¹?€4à?®Ö?€|?@‚ä?ð?ÀÎï?ïï?ð?@ùï?ð?Õï?€Áï?€øï?Àáï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?Àöï?@Bî?@´ï?@Ðî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?@zï?@ï?€ï?€„î?ï?@Iî?Èß?€óï?ð?ð?ð?€Éï?Àäî?˜ï?@§í?ð?„ï?@Bî?ð?ð?ð?Ðï?@”î?ð?î?ð?€ãï?ð?ð?í?@¤ï?ð?ð?ð?€Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Uä?hÉ?Âß?@êé?À)á?­Û?€/ì?`…?0¨?Às?@ ê?ð?Žï?ð?ð?ð?ð?Àäï?ð?ð?ð?ÀÇï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?(î?]é?À'ï?ð?ð?€öï?ð?ð?íï?ð?ð?ð?ð?ð?ð?ð?Àíï?À¢ï?ÀÅï?Àñî?€øî?@î?å?à¤?wË?Àœî?ð?ð?ð?ð?ð?ð?ÀÅî?€ì?@eï?€)ï?ð?ð?ð?ÀNï?Àµï?‘ï?Üï?ð?ð?ð?ð?@‹ë?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ië?˜?A?ðá?@‚ï? î?*ä?€;ï?¤ª?Ð?LÛ?!Ý?âí?€¦î?@¡ï?ð?ð?ð?@Òï?€}í?ð?ð?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?@Pî?ÀÐê?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?ð?ð?ð?ð?ð?€åï?@‹ï?Àßï?€Íï?@ î?@í?n¼?À{?D¸?Ào?€:Ý?ð?ð?ð?ð?ð?Àäï?€âï?ð?@·ï?®ï?ð?€•ï?@Kî?À±ï?Àáï?Åï?ð?€òï?öï?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒì?€QÓ?€Íß?Aî?Ðí?ð?@rë? š?(?R?ž?Ž?°à?ð?ð?@ï?úï?ð?ð?ð?¿ì?÷ï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?@Àï?Àíï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?@Õï?Éï?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?÷ï?ð?ð?ð?ð?Àíï?÷ï?€Éï?rî?€Ûì?š±?€T? ‰?ÀŽä?ð?ð?ð?ð?ð?ð?€nï?ð?Àåî?@/ï?ÀÏï?ð?Þï?@Æï?\ï?ð?€¸ï?€ï?Àäï?@ï?ð?€Ðî?ð?ð?ð?ð?ð?ð?€òï?Àƒï?ÀUî?@î?€¤ì?€dÒ? Ì?Øî?@ûï?ð?ÀÞî?€ƒà?îÆ?>?0?€)Ú?ší?€Æè?¶´?tä?ð?ð?ð?ð?ð?ð?@ñï?@úï?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?€ëï?Íï?òï?ð?ð?ð?ð?Àäï?ð?ð?ð?âï?÷ï?Àóï?ð?ð?ð?ð?ð?ð?€íï?@³ë?âÉ?:²?d¸?€Ží?ð?ð?ð?ð?ð?Àï?ð?Àíï?€bî?@¹ï?@ÿï?ð?ð?@ýï?@è?À+å?€ï?À‰ï?ãï?ð?@Äî?@µî?Àçï?ð?€Nï?‚à?æÕ?Â?š·?¨¥?´£?È™?@Ì?À¤î?ð?ð?ð?ð?ˆï?@€ä?ÏÒ?4©?€l×?ÀŽï?ð?^è?@m?bÍ?@úí?ð?ð?÷ï?ð?ð?Àüï?Àüï?rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?®ï?€Oï?ð?ð?ð?ð?ð?ð?€ÿï?€öï?Àêï?ð?ð?ð?ð?ð?ð?@Àï?€Éï?€ÕÜ?âµ?tÌ?@-à?€Tï?ð?ð?ð?ð?æï?šî?Àìå?€/ë?ÀÓî?@Ýï?Œä?¥Æ?bÂ?îî?À—ï?Âï?ð?€wï?ð?ð?@ëç?iÙ?0ƒ?€ÙÒ?@þî?ð?Pï?úï?À\î?@êæ?Àñî?@÷ï?€Òî?ð?ð?ð?€ªÞ?@ˆ?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀSî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?ð?Üï?ð?÷ï?Àíï?@üï?ð?ð?ð?ð?ð?@¿î?‡Ê?0?@¥â?ºÆ?fÝ?ìã?Àåì?Ýï?"ï?À4ê?@vî?@ï?€9ã?'È?€UÒ?À0ä?Ú?ÀØï?ð?€ªï?€éï?ð?ÀÝë?ÉÁ?€Ú?ð?ð?ð?@£ï?óï?ÀSî?@ºï?ð?ð?ð?ð?ð?€ß?¬³?@Âë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?ÀÐí?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?åï?Àúï?Üï?ð?ð?@çí?€ØÜ?ðœ?G?:?Ƶ?ÀHä?…î?ð?Šï?€ùÕ?T?¨°?²¾?€SÐ?@ì?êï?Àœï?€ï?€3é?áÀ?@_ã?ð?ð?ð?À/ï?@Óï?ð?ð?ð?@úï?ð?ð?€6î?hÇ?@²ê?ð?ð?ð?ð?Àüï?À‘ï?@òï?€êï?ð?ð?ð?ð?ð?ð?ð?€¯â?*ä?ð?Ëí?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?@uï?@ï?Àýï?À,î?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?Àþï?@ûï?ÀÌï?Ààî?âå?€ Ø?4«?Ž?àÆ?À¥á?ÕÐ?P?(“?À?å?lÚ?cÌ?€Z? ‚?@Üè?ð?ð?ð?€ÚÚ?€,å?ð?ð?€‰î?€Ôí?ð?@¦ï?AÁ?Þ?@¤ï?ð?ð?ð?ð?Àêï?†ï?@Hî?ð?ð?ð?ð?ð?ð?ð?òï?@ï?õï?€ì?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öí?ð?ÀÔë?€Çç?ð?€ûï?€àï?€ñï?ÀÏï?@¶ï?2ì?@[ç?Þ?wÎ?Ы?à„?€1Ö?çÆ?€l?™×?Àgæ?óï?ð?ð?ð?@€ë?€Îï?ð?ð?ð?€Šî?ÀAæ?^æ?´¬?ÖÃ?€Ãï?ð?ð?Àþï?Àí?@Ãî?€±ï?À‰í?ð?ð?@Cï?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?êÂ?€Ø?•Ü?€‚×?àØ?€Ð?x¶?p‰?@o?@f?À;â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ë?ˆ±?f·?p©?À€?@ˆì?ð?ð?€Aí?Dé?dî?Úï?@‘ï?ð?åï?ð?ð?ð?ð?ð?@ì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‘í?×Í?Ä?’?yÕ?@5î?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?€‘Û?À?€ºì?ð?ð?@Éë?@èí?ð?³í?ÀJï?ð?ð?ð?ð?ð?ð?€Tã?Þ?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?gè?o?¨“?€â?Úº??à?€!à?@¿ï?ð?ð?ð?ð?ð?ð?Àèï?€‚é? ‡?€}Õ?€ºï?ð?@¹ï?@–ê?Àï?Àï?Àeì?À0ï?ð?ð?ð?ð?ð?@²ï?ë?ÀÙï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À€ä?8¡?Àê?€V?(š?è?êÑ?:?P?ƒÅ?@»à?Ààï?ð?ð?ð?ð?ð?dã?ÁÆ?À¼ç?€ ï?ð?€àï?Àì?À:ï?€åî?@qî?ÀŸï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?šï?ð?ð?ð?ð?ð?ð?ð?@'í?æÆ?€v?÷Í?€?Ó?@Çã?€Y?Ýä?ìï?ð?ð?ð?€Eï? Î?€êÞ?ð?ð?ð?€Lê?€]è?@Òï?Àï?@§ì?€üï?ð?ð?ð?@¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀLï?Zî?Ðî?ð?ð?ð?ð?ð?‚é?0?þ·?r½?€!à?P¼?”Ü?Àÿï?ð?ð?ð?@­á??€@ç?€bï?ð?ð?4ë?@ÿé?@Ýì?Ëï?€îî?À©ï?ð?ð?ð?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.ï?À3í?¨ï?ð?ð?ð?€ÑÜ?¬¥?€†?Z·?‚?ôÅ?€Œ?2½?0‚?yÆ?Ö?ð‡?Dã?ð?ð?ð?À’é?â±?Àj?@é?ð?ð?ð?@ë?€©í?µî?Àºì?€ì?€×ï?ð?Àþï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?À³ï?À[í?€üï?ð?ð?ní?)È?D¬?ÀÊë?@®à? Ò?‡?R?9Î?òÞ?ˆÌ?Ò?8î?Qé?€ÇÔ?ÿÈ?Àz?`¿?@ î?ð?ð?Ëï?¬Å?fº?@Èï?ð?ð?Àôï?ÀUæ?Àë?@úï?@/è?€zí?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§î?ÝÑ?™â?ÀTî?ð?ð?€õï?1ï?Àïî?@üï?À°í?ê°?¿É?ùï?ð?@þï?ké?€ØÓ?–?Ȫ?9Õ?(å?@8è?€’ï?ð?€ïæ?^â?ð?ð?@9å?0?æÃ?[Ø?kØ?Hœ?Àx?@$ä?ð?ð?ð?€tã?>?óÕ?ð?ð?}ï?€xÚ?¡ë?@}é?-î?¼ì?vã?€‰ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?@éï?Üï?ð?ð?ð?ð?ð?ð?@£è?±?€|Û?€¼ì?À¹ï?Ùï?6ë?€—Ú?à®? ¢?€Øí?ð?ð?ð?@ûï?€Mí?Àí?€kí?€Õí?ð?ð?ð?@Wæ?:?Àã?ð?ð?€2ì?ß?@ï?€Àé?€€Þ?X²?ËÖ?€mê?8ë?ð?€Më?R¹?îÀ?ð?ð?@]î?™Ý?€Ãê?@…î?€Òï?Àï?ní?@ñï?ð?ð?ð?ð?ð?ï?÷ï?ð?ð?ð?ð?Àýï?€Ôï?ð?ð?ð?ð?ð?ð?ð?@í?Pƒ? £?޲?³?(–?À<ã?ð?ð?¯ï?Àï?@–ï?ð?ð?À|ï?ð?ð?ð?€Šå?Æ¿?@Âí?ð?ð?ð?Ñï?@Ëî?@Îî?€Ö?N?Ú·?“á?@(å?¸±?8¢?€ë?€kî?€Åì?€5ä?€cí?@nì?Êï?`ï?@Œï?ð?ð?ð?ð?ð?ð?ð?ð?Üï?ð?¯ï?@ðï?Àëï?Áï?öï?ð?ð?ð?ð?ð?ð?Àãï?ÆÌ?JÄ?ÀÍî?€èï?Qí?åï?À&ï?€¥ï?€Šî?@Þï?ð?ð?ð?€æ?D?¿Ó?À¸é?ð?ð?Àbï?¦ï?€jî?€Çï?ÀÐï?€ªè?Àˆ? œ?I?¶?€Ù?xé?@šâ?F³?Àé?€Óì?À´ï?¦ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?ïï?ð?ð?ð?ð?ð?ð?ð?€ÞÑ?€X?ªâ?€æï?ð?Ìî?€ î?@íæ?Àë?íï?ð?@¢ï?€éë? x?ü¡?Àýí?@æï?ð?Àèï? î?ìï?ð?€÷ï?À/ì?šº?€›Ö?½ê?€cÙ?¸•?†Ë?Më?€ï?@fï?Àjï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?ð?ð?ð?ð?@iì?[?€Y?ºÆ?À[î?ð?À`í?À´í?À£ì?ÀHî?{ë?ð?@¢ï?€ÛÔ?Ô®?€°Ñ?€Ùï?ð?€ñï?ð?¢ï?ð?ð?€Öï?§Ö?žâ?ð?À¶ç?Ж?°•?ËÔ?2ï?Àßï?€í?Çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*ï?ð?ð?ð?ð?ð?ÀÀï?€FÝ?;Å?|·?Àñá?€›Û?€øÓ?À7æ?ð?À‘ï?vï?€¼ï?ð?@Cï?€øï?6î?hŸ?p„?€­â?@’î?Àhï?À–ï?ð?ð?ð?ð?xá?Àb?@Pê?*í?yÛ?ø¾?ú·?€÷é?@/î?ð?À ï?@Oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïå?€&Õ?ÀÖé? é?¼?@Œî?ð?@Êç?ÀØî?ÀÌï?ð?@Éï?ð?@Áç?F¼?Â?€xì?@xí?À¼ï?€`ï?À§ï?€…î?À5í?€Wë?h•?€3ç? è?Å?°±?ÛÓ?@ì?€ñï?¯î?@ží?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ªï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?@âá?¬?€UÞ?ð?€´é?Àßç?ð?aá?@äì?ð?Àüï?€9ê?€ ã?áÙ?`q?JÀ?Qé?À¬î?À¤î?Àï?]ï?@’ï?€uî?@°î?®Ë?€Vç?Àêí?€ËÖ?@p?€‚Ñ?€cï?€áî?_ï?€í?€×ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àpï?ð?ð?ð?ð?ð?À(í?€‚Ù?±?·Ø?À‹à?ο?ž·?€tì?@bí?òì?ð?£î?À.à?€±Ð?€LÞ? ?€ÄÛ?€‡ë?@Ôï?€Ñí?@¾í?Þí?@Kï?À÷ï?@Vê?€HÓ?0?´Á?@:ï?À¼ì?pØ?k?LÓ?ï?òï?}î?ï?ïï?€¼ï?ð?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€dí?@íà?¨’?AÊ?Àªé?ð?ð?@På?AÕ?°‘?ޱ??šá?@Eî?€¶ï?›í?€ñè?€Tì?ÀÛî? ï?€ßî?Ì?€Ó?€¡ê?€¶è?`§?(”?€vç? ï?@¢ê?€¨ï?ð?Àšï?ÀÕï?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ê?²?I?€"Ú?Àåá?°ê?®Ð?€Â?Ú²?€æ?@ôï?€ßí?€Xë?@wì?@rï?Àáí?ï?€Îí?€†î?´Ì?)Ì?0?0‚?§?ü©?À•ì?ð?@rï?ð?ð?ð?ð?€Ãï?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Iï?€]Ð? v?€j? ?Àfà?@—î?ð?@)î?€[ê?Àèî?€¼í?Àdï?ÀŠî?sì?€öë?€°ã?é?º×?Д?ÜÔ?¯Ä?0‡?Žº?L?0´?@µ?b?Åå?€Øî?@Þï?ð?@öï?Ôï?@¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùî?@“ï?ð?ð?€ææ?Ô»?y×?)æ?Àõí?@hï?«ì?À è?Àë?@¢ï?ð?@¬í?@`ï?”æ?÷Ç?À•?´?8§?@f?ÕÈ?ôÕ?@¢? Ë?€µÕ?ΰ?€Ø?ïî?@»ï?@áî?Àæï?@‰ë?Ìì?Àôï?ð?ð?Àáï?Àüï?€íï?ð?ð?ð?ð?ð?@çï?€3ï?ð?@Íï?@¨ï?¤ï?ð?ð?€gì??ö±?@Óé?ð?€Íï?€ï?€xî?ê?@‚ë?@Aî?ð?@ˆï?€ì?€Ð?@f?³?À¤?B±?ÆÍ?¡Ø?ïÔ?:º?€Ú?€ï?€»ï?Rî?Àoî?€Aï?À¥ï?ïï?ð?ð?ð?@ïï?@ùï?Àæï?ð?ð?ð?ð?€Bï?€Zï?€Õï?ð?@ïï?@Ùï?ð?ð?@èì?x—?•?@Jå?ˆï?ð?@Ôï?€må?€@í?À}ï?!ê?@­ï?ð? ï?ŒÓ?à}?Ÿ?`y?€Lß?€#Ý?€²Û?³?Ý?@så?€…ê?ð?Íï?ð?€ï?ð?ð?@hï?@Ôï?€­ï?€÷ï?Àæï?Qï?ð?ð?ð?ð?@‹é?€ƒì?ð?€Üï?€èï?ð?ð?@ ì?ð‘?Àƒ?4á?Oî?ÀHî?€‘ï?@cì?­ç?ð?øï?€4î?ÀSí?”ï?Gï?ˆ¨?Ì?¯Ü?€èå?À"ã?¦Ó?ðê?’è?qê?Ûï?Àëï?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?@Üï?ð?ð?ð?ð?@Íï?ð?ð?Àëï?€òï?ð?€‚ê?—È?­?@€ã?@Rï?ï?À„ê?€óï?Àïï?À>ï?ð?ð?ð?€Bï?À¯í?Àòì?,¡?àt?}×?Àã?µÛ?¾?À{ç?@rç?ÀÖî?@íï?@†î?Àêì?@í?€÷ï?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?Àéï?yä?€?0Ž?÷â?À'î?€#ç?2î?@&ì?·æ?€³ï?Âí?ð?ð?ð?ð?ð?Þ?Àt?€{Ó?½å?@>å?”Æ?ží?½ì?€aï?ð?ð?€¼ï?@»ï?ð?ð?ð?ð?@ïï?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àäë?€ Ò?AÉ?ÐÍ?a?@?€fß?@í?€-í?€åç?rï?ð?@9í?ð?€÷ï?8ï?ð?ð?ð?ºÆ?| ?@bâ?nä?;Û?€îÚ?À¤ç?Îì?€Ïï?ð?Àïï?Àñï?€„ï?ð?ð?ð?ð?Àíï?|ì?Ïã?Çê?ð?ð?ð?ð?@‰í?5Ð?L®?¬Â?€Ìë?Àûí?fç?À´ï?ð?ð?ð?ð?€¿ï?€Cï?ð?ð?€-ë?ˆ˜?Ð?‡À?€tå?€Ýà?€7ä?€%ç?@î?zì?À=ï?ð?}ï?ð?ð?ð?ð?ð?ð?Àçï?€ì?@-æ?…É?€î?ð?ð?ÀÚï?€[Ö?@çá?Jë?À]ï?ÀQî?ð?ð?@‹ï?ð?ð?ð?àï?À½î?ð?€®ß?0Ÿ?ÿÙ?§å?„á?€´Û?íå?î?@Åï?€Îî?@Œî?Iï?ð?À§ï?@¿ï?ð?ð?ð?ð?ð?ð?˜í?€Íï?ð?ð?@}ê? s?`¤?H?€¥à?@¦ì?€ˆé?@Úî?ð?ð?À²ï?ð?ð?Àöï?€õï?€.ï?€˜Ü?P´?Àáá?ê?ýê?1å?@=å?ÀÏì?Àóï?ð?öï?@¼î?@þï?ð?À²î?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?iÑ?ج?l½?@cà?€Ûã?€BÕ?ÀÂí?ð?ð?ð?ð?ëï?€`î?@Öä? ?@z?€ñÛ?@‡ì?Jì?wé?ñã?€mê?€×ï?ð?€éï?@Æí?€$î?@½î?ð?ð?ð?ð?ð?ð?ð?€Ïï?ð?ð?ÀÞï?@ùï?áÀ?|¬?ÃÇ?jÈ? Ä?€`Ñ?@í?ãï?ð?êï?ºå? |?È—?€­à?€Gì?ÀÙë?€.æ?ùí?ˆâ?@@ï?€Šï?Åí?ãï?À^ë?€.ß?)Ï?@gå?ð?ð?ð?ð?ð?€Çï?þï?Àñï?ð?Àøï?ð?Þ?hœ?Ôª?ŠÁ?xÀ?®µ?xÁ?€;Þ?€aÖ?Ħ?h’?Yå?(Ø?ÀÖì?dê?Êí?€öå?ÀÝï?ï?€›ï?5ã?@Zé?À ï?Rï?@é?€Xï?ð?ð?Àðï?Èï?ð?@èï?ð?ð?ð?ð?ÀÊî?€¼Ù? ‰?€‚Ý?šÕ?ÀTä?°‡?àq?w?¤á?¼ª?b³?ÁÑ?£×?î?€èï?@¡ï?Ëì?Àèé?@ðï?€ï?ð?Àºî?@úï?ð?ð?ð?ð?ð?@èï?€2ï?ð?ð?ð?ð?¯ï?¤Ö??Àp? ‘?€ä?À â?ÈŸ?à·?€TÚ?Àjë?ð?ÀEï?@yî?€Üï?€Œì?À¼î?€¾ï?Àÿï?@ÿï?ð?ð?ð?ðï?Àóï?@Îï?ð?ð?ð?ð?ð?ð?Ðî?À£ç?@ã?€ß?l?¬?ô«?<¾?@ë?ôî?@õï?@òî?À9î?€‘î?€që?À˜ç?À­í?4î?@Ýï?@ûï?@ðï?ð?Àëï?€áï?@úï?ð?ð?ð?€Ðï?ð?ð?ð?ð?ÀQï?€åï?š³?c?€d?ÍÚ?®æ?€ˆí?À·ì?Þï?ÀJï?€¸ï?@ðï?ûî?@•ë?€äï?ð?@ìï?@èï?ð?ð?øï?ð?ð?ð?ð?ð?€Øï?ð?ð?ð?Àÿï?@Šî?xž?À‡?€Â×?€ØÒ?À–â?áè?@[ç?ÀIç?9ï? ï?Àùï?@ºí?<ï?À¨ï?€iï?ð?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@åï?€Ñí?Nä?6?~Æ?ŒÛ?@|ä?à?@†å?€¥Ý?Àáâ?ÀÊì?@zï?€€ï?dì?gï?€Æï?À\ï?ð?ð?ð?@Ôï?@üï?ð?ð?ð?ð?ùï?Àiï?@èï?@îï?±ï?øï?@mï?€Wß?K?€aÞ?Àëå?@ç?Ôá?€è?@Âî?À^é?Àë?À1ï?@½î?À?ï?@Ôï?Àýï?ï?€©î?@àï?@àï?@ðï?@ðï?ð?@_ï?ð?Àžï?²ï?À°ï?À™ï?À@ï?À®ï?À ï?©Þ? {?U?éà?€Ûä?€Ûæ?ÿß?Ræ?€±ë?ð?Ýï?´ê?ì?úï?À}ï?@Iì?¥ë?Àí?ð?ð?ð?ð?ð?@ãï?À³ï?€³ï?@Éï?@Àï?Ýï?€<ï?Òì?€bÕ?ð‹? ?Ì?Š?ñÓ?@:å?À˜æ? ç?€á?@Ìí?öï?@éï?½ê?@Ûç?€èï?ð?ð?À^ï?€ßï?ð?ð?@éï?@Ãï?ð?Žï?ÀÜï?€¬ï?ð?ð?ÀFï?êÏ?T?8­?&ç?ßÔ?°°?LÑ?Àç?€ä?ì?À/è?Àtî?òï?ð?À>è?€'å?€é?@Žï?ð?€ëÜ?·ì?ð?Úï?ð?ð?À»ï?ð?ð?ÀÚï?ð?“ï?Õ?‰Â?Àîì?€¢å?±Ï?€%Ø?@å?˜°?€Ò?Àá?qç?@{î?gê?ÀQè?À1ï?ð?@|ï?À¶î?ç?†î?ð?À$ï?ð?ð?Àßî?ð?óï?€Òï?À»ï?ð?ÀÁï?@Bï?-ã?¬´?ºì?€¦í?€Oç?@Íâ?@ã?\¥?è©?€Ùâ?=ê?ì?€õé?Àæ?´ï?ð?€`î?Îï?ð?€ºï?€øï?€ðï?@ªî?Žï?ÀÛï?ð?Àýï?ÀÌï?Àßï?íï?€Óï?Úï?„ß?Ì»?Àë?QÝ?À®ã?Àå?Ë?²·?sâ?€Fç?€'ì?@¹ä?@ôå?'ï?ð?Àíä?±Û?€â?À¡î?ð?ïï?€Ýï?ð?@Øï?ð?€–ï?ïï?Àãï?€åï?Àáï?ð?€‘Û?| ?Ò²?U?D²?‚?†¶?@Ãá?@Œã? ì?€>á?bì?Àòî?ð?@¨ï?øï?@…è?ì?ð?ðï? ï?ð?ð?ð?À«ï?@ï?@ÿï?kí?Àÿï?Àïï?gÑ?gÑ?PÑ?€â?;á?€]è?Àøï?€Ëê?jì?ð?@Þï?ÀQï?ð?€ñï?ãï?ð?ð?ð?ð?Àøï?€Øî? ë?zé?øá?m?€cà?À©å?éÕ?À,è?@ë?ð? ì?@Õæ?Àfà?€ŸÖ? ç?Úï?ð?ð?ð?ð?ð?ð?ð?@Yï?€’á?X¸?¦?Þ²?À^à?iÉ?€TÞ?€hÝ?vé?@ì?@¾ï?@ê?Wî?ð?ð?€¬ï?ð?ð?€Ãï?€áï?ð?Àßï?ïï?åÞ?ñ×?”¸?Àv?•Û?}Ó?bÙ?Àæ??ë?@:æ?Àoï?¢î?ð?ð?ð?ð?ð?ð?Àðï?ð?ð?€½ï?€Üï?ÅÁ?öÆ?0?€P?€Ñ?ãç?`à?õå?À÷í?€tï?€<î?€–í?€øï?ÀÑï?ð?ð?ð?ð?€øï?€øï?@wï?ùí?T¬?{?Àb?`ƒ?€*Ü?@ƒâ?€ß?@Ôè?@ßï?@óë?€:å?ÀÅî?ï?@ãï?ð?ð?€çï?ð?Àñï?Åï?@Gì?@w?˜? …?°Š?y?Ø ?@h?€~?4?€Ò?€¾ã?\Ï?EÕ?Àâ?€ÿî?yë?ÀPí?ð?ð?€Íï?ð?ð?ßï?Àøï?ð?ð?€½ï?ëÄ?È—?€MÐ?€]Ö?žØ?€FÙ?€;Ð?[ç?8Ü?€úÛ? t?·Ì?âÉ?X¥?àÏ?Àã?@íë?À è?@Cè?cï?Àñï?ð?ð?ð?ð?Àõï?@ðï?ï?€ê?¦Ò?p‘?à™?€’Ñ?Àrë?ÀÕï?.Ù?€á?@ûï?Àê?@ç?*µ?>´?€Ïâ?€fÔ?Žß?MÜ?ÀTæ?@Žç?=Ú?@ä?@ï?ÀAï?2ï?@Æï?ð?€Ûï?àï?€êï?ð?@6ç?2?S?€ÙÐ?ŽÄ?€NÜ?Àýë?€Bâ?€:Ý?À'ë?€Žè?€üä?Ã?@`?€?@×â?jØ?Û?@Îá?€pâ?€Xä?@?ã?Àòé?ð?€ñï?ýï?ÀÔï?ð?ï?ÀÉï?ð?ÿï?Wï?þÏ?ª?À^à?€åé?EÍ?ùÃ?@Fí?ÀOã? Ö?ú¶?äÎ?ÏÎ?ÀÞâ?€Âß?€$é?@œë?@Âç?ží?ð?ð?À ì?Àôï?ð?ð?òï?‰å?€3Ò?€ å?€<Ö?Ÿ?HÀ?"Â?€þÓ?˜½?@f?[?ÑÃ?Àd?æº?²Ç?Úã?@ë?€Cê?0â?ÀÔå?Õä?@é?·ê?ð?@úï?À!í?€ã?Àjâ?€?\°?Àd? ? ˆ?€h?@Ÿ?Ã?È­?SÖ?À»à?Àºë?á?hÛ?è?@Ãç?@xè?Àë?€ƒØ?€+Ø?žÉ?€Oî?÷ç?†í?ªÂ?€r?fÇ?Àƒ?ØÖ?€›Ú?ßÅ?À±à?€µê?Àáì?@Tí?5ë?€tÐ?…Ò?ÀÊç?ü´?€ÇÞ?@„ï?ð?ð?èï?@så?C?ÑÓ?n·?pŽ?€Ó?Ø?€¨Ú?âß?Ýè?@Þá?ÕÔ?Õ×?@˜ì?eà?DÆ?€Ùì?Àýï?@æï?Ùî?À¹í?yÈ?f?€ª?uÎ?Àºà?€äÞ?€æ?¿é?@xé?Óë?4ï?éØ?¸¶?@Yå?×?HÕ?€Ôï?ð?@™í?€¥Ö?€`?€1Ñ?À—è?@áê?¦å?ã?@_ë?€“ï?ÀTî?SÁ?Ä?7Æ?Àsâ?ÀEï?ð?@ï?@ ì?Ã?i?€Ö?«å?€§î?á?ˆ×?Ðß?ŠÜ?@ á?Ö?€öì?Àqï?€‡î?@ ï?@Ðï?À€ï?@ñë?´?I?@h?€^?t³?€šÒ?ôÝ?EÝ?@“è?€­è?@â?ÀÂà?€jå?€uÐ?€bî?êí?@2ç?€òï?ð?ð?€Ní?€ˆÒ?€S?r?ªÄ?Àÿà?€Þ?€<Ò?@x?`Š?Ї?`›?€M×?€°Ô?€©Ó?@yâ?ß?Õâ?ðÜ?€ Ö?À)ä?@„î?@%ï?ð?À5î?€î?@Íï?€Gã?€p?X­?„Ü?@÷ê?FÝ?`?V°?V¼?ð•?¬­?€ Ö?¢ä?ç?@'ë?Àê?€Îí?£ë?Ðé?€Öê?æê?€çç?€òå?Àžæ?À?ï?ÿï?€,è?¹Æ?À€? ?@i?ð•?ËÈ?ÀŒé?€hØ?À`?@°?Œ¿?ËÅ?&Í?€øÙ?ÀÇæ?ÀLé?@¾ç?€Jî?€òï?À‹í?Àë?î?€žï?Àëï?ð?ð?€©ï?ì?â?¸Ÿ?Õ?€¿Ò?°?ÇÍ?€å?àu? r?ìÌ?€Ý?ÀDã?€jÒ?@Zç?Àè?ÀŒè?À»ç?@má?Hë?Àîê?À â?Oâ?@²å?€ÍÓ?€KÐ?"´?Ài?D£?8?”?ð“?®Æ?¬¼?@ç?¨ç?Àþä?@–ç?€£Ø?\ã?Nâ?À>â?¦É?>¼?¥?Â?)Ý?Ô?@ïä?Àšá?@‡?„¡?X¦?¨œ?@‰?ä©?|¨?¤Ì?¾¾?ºØ?Ü©?€Q?þ°?Ã?íÈ?@b?¸‘?`Ž? ¬?Д?€`?€Ÿ?`?¹Â?àŽ?–²?X›?´ ?À`?t?@Ž? Ú?ŒÓ?«?8ž?a?ÈŸ?̰?&»?³Õ?€½Õ?Ü ?¨§?Ü·?Ð…?ô¿?<¡?¤?(?k?€Ö?Àûà?É?j?—Ë?Àÿá?,Î?V?m?X?p†?áÇ?€lÒ?šÅ?R?x«?€–×?„Þ?€ëÝ?|²?~¾?èÇ?`‰?ì´?Pƒ?G?M?@g?€~?p?rÄ? ”?¨¯?e?âÏ?À*ã?NÍ?|¡?°‹?̲?Å?™?¦À?À‹â?4â?Å?@ì?€Âã?@Öã?ðƒ?@i?à~?>?¸±?€w?<¾?€sä?ðì?Ðè?€5ä?Ñ?!Ù?YÏ?ð€?î±? ?kË?Àn?0¯?á?Àèî?€Ÿä?¸Ó?]Ó?ä¢?O?ø ?þÇ?J·?À¡?ÜÓ?ÀÔã?€ií??ï?Àîë?á?€ä?Ò?.Ã?Pš?;á?›Ò?`©?€ŸÚ?ð?ð?ð?@Ýî?ëÂ?À6è?Àžî?PÄ?p¦?ÒÀ?ì?½É?–à?²?€ýØ?¿ì?ð?ð?ð?@ì?G?Àbà?À1à?€~Ò?? Œ?€)ë?@î?Ö?€¥Õ?þß?Àë?ð?ð?ð?Àüï?vß?Ø•? Œ?P€?Àw?´½?ÝØ?€ËÙ?^é?€Ðï?ð?ð?ð?ð?øâ? {?HÁ?À!ç?€~Ý?~´?€Ð?p€??_?Ø”?€,Ú?®â?€Øæ?ð?ð?ð?ð?ð?ð?ˆÚ? ß?ð?ð?ì?f±?¾?î¿?@Æè? Ù?€ Ø?^´?ŠÙ?šÜ?0?|±?p?p…?@â?ð?ð?ð?ð?ð?ð?ð?ð?€íÕ?À`ã?ð?ð?ð?Uç?p†?™?Tí?€Kî?€åÔ?ïÂ?@Ùï?ð?ð?@Hì?@‹?hª?¦?Qß?@¾ï?ÍÎ?€YÒ?®Ð?(–?Jµ?êÜ?Àï?ð?ð?ð?ð?ð?ð?@4í?H•? {?™?ˆ?üÇ?œ²?ÖÐ?”º?GÝ?ð?ð?ð?@Áï?Àâ?@;á?„Ô?Àýæ?Àï?ð?ð?ÀOé?€Gì?ð?ð?ð?Àöï?€5Ñ?€’?MÃ?YÙ?@Ôä?þ¶?À à?¢Ð?`s?:²?€oï?$Ê?G?€Ü?¹?x¹?¸Þ?€?ï?ð?ð?ð?ð?ð?ð?@Xï?>·?Å?À|à?šã?àê?@î?À*ì?@ùè?g×?K?@gç?€²æ?@…? Á?€DÛ?€ÏÙ?è¤?€Ð×?ð?ð?ð?ð?ð?ð?£ï? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Uç?xÉ?@Bì?ð?ð?ð?óé?gÆ?@ä?À¶â?6?üª??@@á?€Íá?÷Ê?¬¦?€r?@”?rÃ?ÃÈ?UË?@àï? Ô?²? „? ¯? ª?z³?@êå?aç?ð?ð?ð?ð?ð?ð?ð? Þ?)À?Îß?@@ï?ð?ð?ð?ð?ð?ð?@Ùï?Ù?Àíè?Àþï?@â?P˜?>?èÓ?À»à?@yï?ð?ð?€(Û?hÏ?@2æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÎï?€WØ?èœ?ª¸?€6í?ð?ð?ð?ð?ð?ÀÜí?ÆÁ?ß?®î?€ Ó?P¶?@€å?Áî?è?@îá?€~×?È?¤?Pë?Àíï?@î?Ànê?ôé?@5í?@ï?Àïï?ÀSë?ð?@‹ï?Àyç?È–?x£?F¼?a?˜±?€ùÓ?€k?@få?úì?ð?ð?ð?ð?ð?ð?ð?À†ì?àž?“Ç?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@>ï??ç?€Ô?€ùÒ?uï?ð?@ºè?€IØ?@?ä?€bß?Àà?€ôï?ð?ð?ð?ð?@äë?Ð¥?•?FÁ?3Å?‚?ð—?1È?B³?¥ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Wî?€"ä?CÖ?¸?œ?€U?€èÐ?´ï?ð?ð?ð?ð?ð?ð?@á?·ã?Üî?\ß?¸›??€pÖ?ìî?;Ä?ܽ?Ôê?ð?ð?ð?ð?ì?IÑ?°‰?@Ñç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?{í?aï?À0é?€˜Ñ?À¼?˜¦?€h?ø»?¬Í?®?`„?`Š?@Éä?ð?ð?ð?ð?ð?ð?ð?ð?€Üâ?þÒ?Àš?€´Ô?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üí?Àçä?@m?–Ü?ýï?ð?@²ï?ð?€ï?Òï?ð?ð?ð?ð?ð?ð?Tß?°‚?4½?€hÞ?À—ì?@Mï?"ï?éé?€í?@Rï?Ñë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àrï?€lÚ?€Ô?×è?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?UÚ?¼?´í?ð?@Ñæ?Ï?_Û?ð?ð?ð?ð?ð?ÀÔï?¸×?Àê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?pï?@”î?@Så? Ó?)Å?,£?Øž?à{?&µ?ÑÂ?€¼Ù?±?¿Î?€æ?ƒë?ð?ð?ð?ð?ð?ð?ð?ð?€Ð?‰?€TÜ?RÓ?g?@†ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñÜ?¸®?ì ?K??A?üÐ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ïï?€bê?@Gï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@©í?€ÓÙ?€Ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?À6à?vÑ?÷Õ?@þâ?Mà?ÀÞç?@¬é?í?ð?ð?@ëï?€Ãï?ð?ð?ð?ð?ð?ð?ð?»Õ??ÑÆ?€<Ñ?Àé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À2î?@ î?€dÛ?î¹?€÷â?­Î?p‹?Ë?¡ä?@Óê?€XÑ?€¿?d?¢ê?€Ó?EÖ?€”Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Íï?†Ö?,?p?i×?@Ýï?î?À±à?ðÞ?Cï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Iî?-í?@Fè?ÖÙ?EÃ? Ž?@d?P—?¸›?¿?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?gï?Àýì?/ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À\ï?ÀQï?ð?€†ì?@|è?õï?ð?@„ï?^Ï?@Üã?€Úí?€àã?@zã?@žç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïÓ?ýÎ?€¹ê?€{Õ?F?ð‹?@¯á?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À­î?qÝ?€qÖ?€bÕ?éÁ?€„?P‹?2?@d?X™?ȳ?@œì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?@Dä?—Æ? ?pÓ?¢»?ÀŽí?€oá?€Læ?Àýï?@Oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ö?s?›Ú?ð?dí?SÐ?€ÎÞ?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@üï?ð?À‚ï?*è?@³á?€“Ô?À[â?&ê?#ä?€#Ð?X¼?àª?Àèâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€éí?Àíä?µÃ?HÏ?HÜ?í?ÁË?@fá?À‘á?@ î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ZÕ?š»?Àüç?À›ê?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€,î?€†æ?À]ã?€ÂÛ?DÒ?È?€0à?€—Ó?Ȥ?·Î?À¸ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûë?D´?<Ê?ïÛ?~È?@x?D§?Í?Às?€Ù?€Vá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ià?ø³?€zÔ?Àšà?€Vê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€U×?@d?MË?€…ä?€Ùî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Yï?Öï?ð?€ŸÝ?€\?r?k?¡?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^å?>?´¹?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Jå?€^?€T?€ÆÞ?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¦î?€Þ?X³?­?‡?¬ ?Àa?(’?€†Û?@Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€{î?À–ã?÷Ý?ŽÈ?@Iæ?À|î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?€0Ó?€Q?Õ?€Çî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?«é?€ùæ?ví?À¬å?'î?Wß?€Ð?€ðß?Må?@rê?€‹à?@‹?P‰?€~?@?€ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€á?L¤?€Hè?Àlé?@? »?åå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Bî?Àqà? Ê?(?>?€Ý?@_ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ëï?€öï?×?¶Ç?€}?´©?П?p?Àx?¦Í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?θ?€µÔ?`y?° ?€Ñ?ð?ð?€gÜ?<§?Â?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@`ï?;ã?¸³?J?À•á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úî?Ò×?JÒ?T®?oÂ?…?î»?@f?ä­?€¹â?€ì?À¼ã?¨‘? ¬?À‚í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?„ï?€Éí?̯?ØÅ?€÷à?€'æ?0­?ÁÑ?@¦í?‘Ù?p¦?Àîë?ð?ð?À²è?€b?€ÝÑ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€mé?´?„?›È?œ£?€Ø?¦ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Îï?€ê?@=è?€SÓ?Œ°?@g?K?€‘?uÞ?€îï?ð?jè?d?V?€½×?€må?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Lï? Å?èš?Ü®?€Óí?À>è?ùÂ?Yá?¢è?ñÅ?ê·?€Cê?ð?ð?Zã?€i?p™?@ðî?ð?ð?ð?@>â?¨­?€b?€ Õ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[ë?(µ?@„?ôæ?@%á?tÎ?@¢é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Âê?@{ä?øŸ?€›à?¾?@ñî?ð?€_î?ú×?V±?Àíä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úë?@‘é?Àuî?@‚?àv?€Þ?ð?ð?€×?P˜?? ’?“?ìß?ð?ð?ð?Öí?@îê?ÀÁè?ð?ð?ð?ð?ÀÖï?€|é?@rç?€j×?`}?ÏÑ?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÓÙ?€ùÓ?@þï?€£î?€þî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŒí?€UÔ?Tª?€½Ö?ÀCå?h˜?8Æ? ¸? é?ÀŸî?ð?ð?ð?-Ú?'Ç?Dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê?p ?€¸ë?À˜ï?–Ê?¸š?Ø ? r?`ƒ?0º?°ˆ?0‰?P?=å?Çî?ð?ð?@†ê?âî?€’î?ÀBî?Àûâ?¶?€·?·Â?˜“?p–?zµ?ô­?qÒ?@¸ë?À4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûê?è©?îì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?@’ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tî?ŠÁ?£?Èî?@¼ï?À}ë?€øï?@Ùï?ð?ð?ð?ð?ð? ä?ˆÓ?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ç?p ?€jâ?ð?ð?1ë?@˜ì?@âí?Àoà?‚¿?²±?и?jÏ?^½?f´?_Õ?Àzã?Àä?@ãä?–Ó?À¬é?@ ì?€Åé?Àmë?•Ü?‡î?ð?ð?ð?ð?ð?ð?ð?ð?Iï?À0î?ð?ÀQì?€<á?¼?ú¹?À?²³?…Å?Q×?Àtî?ÀÏì?Àxî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éï?ÀIç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ß?@a?T¿?ïÆ?€ñï?ð?ð?ð?ð?ð?ð?ð?€eî?@fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@6á?@µ?€\í?ð?ð?ð?ð?ð?ð?ð?@³ï?<ï?Àï?@¤ï?À¬í?À å?À¦ì?ð?ð?ð?@™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?@Ìì?€”ï?hï?€Ý?Ñ?Öê?ÀÜí?aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Tï?€¯ä?!Ý?€×?@y?a?@ñå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€’Õ?€P?б?pÀ?´?ÃÖ?HÝ?€‡é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€:ï?@°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¢ï?ÀÇì?€òî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À„ï?ð?Ö?ôÎ?˜Ø?8Î?"º?P²?èœ?P¨?€–Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùØ?€~?€0Û?¤â?¶Ï?¿?CÜ?@·æ?€©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àƒí?@‹é?Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àéî?€âì?ð?ð?€3î?€mì?€ã×?\±?'Å?@ˆé?Sì?Wî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢à?Ð?ð?ð?=í?@ßí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æî?ÀÍî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍå?PÄ?B¸?.µ?˜Â?€dê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àè?èš?€hÚ?@Ôè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€2ì?€JÓ? €?TË?öÛ?xì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@„í?€[?V?Äå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?[à?ˆ?WË?°‡?@»ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²·?`|?€é?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿç?€‘â?Àžé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?IË?`t?Àýê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×î?ø±?8¡?¬Â?MÄ?œÈ?6±?5Ñ? Ñ?pÊ?€ÜØ?RÊ?€Éë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éÒ?¤¡?¼À?@oä?aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?€ðâ?Bµ?P?¹?À¾í?@éï?€Þï?€àï?@¯ï?ùï?ãï?Àþï?€fè?¨¨?Æ¿?@–ã?À ä?ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¾ï?X”?ÔÁ?@Uã?@õî?@›í?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?~Ò?€‹?Û?ã?@øï?ð?ð?ð?ð?ð?ð?ð?€ûî?pÇ?Y?ؘ?˜š?À?˜š?P‚?}?@‹â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?#Á?2Ä?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¡î?¨ž?»?Iæ?ð?ð?ð?ð?ð?ð?ð?ð?À”ê?¨¼?Í?³Ë?ò¶?’¿?tË?€â?@Žî?@—î?À¡î?@—î?€ÄÑ?à€?€àá?€Qé?¨Å?]Ã?‡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?.¼?€›Ò?€>×?eÃ?€“ß?@6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€má?Xž?°”?@Êá?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?@Ùï?Àðï?€]ï?€dï?ð?ð?ð?ð?ð?ð?%Ò?µ?É?ð¦?às?€ŸÚ?Ûæ?ð?hè?€”Ò?µÂ?Œ°?Àªé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?OÂ?Àæç?ð?ÀDï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅí?€XÝ?8Å?€Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?5è?@Bâ?Ý?´®?GÇ?Àì?ð?Ÿî?@ê?€\ê?€eÜ?€LÞ? Ê?ÀÎà?ð?ð?ð?ð?@Hî?@Üæ?$«?€Jß?@Îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¿è?ùÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€¤ì?`¡?ëØ?ÿØ??ÂÊ? Â?b¿?€×í?@Yï?°ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?@©í?Àÿï?ð?ð?ð?ð?ð?ð?Àóï?€pÓ?Ýã?ð?ð?ð?ð?ð?€+ß?Àã?“ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áã?€Y?Àôê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?%ê?€Ø?Àðå?€°Ò?Àt?ì?ð?eÖ?°‹?€¡?€÷Ô?C?°?AÁ?ÃÀ?€7à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7î?@¹æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°î?º°?X½?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?@æ?ž»?Ào?WÆ?Àx? ?€”Þ?ÀPï?ð?«ï?@?í?€óã?€Fß?FÉ? s?€§Ü?€æï? À? ‚?@Xæ?pì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁâ?ÁÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À+é?§?0Œ?pÎ?@è?ð?ð?ð?ð?ð?ð?ð?ð?€Êë?@Qà?€pÜ?TÌ?¦?oÊ? ?2¹?WÞ?P—?Àâ?ð?@ãå?õç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦Ø?”¾?>ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Gä?áÔ?t®?àž? ?ð«?€àà?@Äë?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€hî?ð?€í?@ì?ð?À§ã?€ôÐ?ܽ?vº?€ôÖ?ð?ÀÌí??Öå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?.Í?î·?tß?@é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?|ê?€b?*³?¤Ê?Í?€`Ý?@ûí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ÀÅï?À.ã??çè?Àê?€äë?€³ë?@¹í?€ Ñ?Ö?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€;Ý?WÓ?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÁî?3æ?ßÊ?À`?–?€ôÖ?nß?€žá?€0í?€íï?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?Ô?¹Â?€Šå?@‹î?ð?Àûï?Ã?Áç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àºè?¸?€Ò?Àþî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šá?¨ ?t?ùÓ?@¤á?ÛÄ?Ï?Àê?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?@”æ?€ƒï?ð?ð?@ì?œË?´º?@¯?^Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ZÇ?]Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@\í? ?Á?Äï?ð?Lí?sí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Íì?ÀÃê?ð?€|ì?€…Ð?éÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~ã?°?,Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Êê?YÏ?Ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Éï?€Ïí?ð?ð?€Áï?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Yê?Œ½?`s?DÏ?À&ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@2æ?ïé?/Æ?À{?¢²?YÀ?€LÓ?æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À'ì?dÑ?>?ðÈ?@*ê?tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Xï? ª?`s?‘?‰? •?€ÒÔ?Àbé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?ÖÝ? t?€Ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀFç?T?@7ê?€Fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ê?”§??Áá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŸï?KÑ?8—?ÉÁ?ÕÍ?l§?®Î?ÀØí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€hâ?€g?ü±?Jæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€sÖ?yÉ?À÷à?§Ý?€¨×??ì?ð?€mî?_ì?2ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?@tá?x‘?¸Û?@µì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?cØ?ÐÃ?€ùè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øç?5Å?@|?€ â?âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ýÌ?hª?€½Ö?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€Šà? ƒ?éÆ?À\î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¦ë?†Ê?0–?€ïÔ?@ ä?@ˆâ?¾Í?‘Ó?:³?(ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïì?€ùâ?žÅ?Ò·?¼Ñ?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ç?®º?€êÙ?à{?t´?vÔ?¸£?À*ã?ð?ð?ð?ð?@Ùí?7ß?À«ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€/ï?-Ö?`p?›Ï?@%í?€Bî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ê?„¿?Aí?@ê?€ßä?€Îæ?ð?€ë?ÀŠã?oÒ??´¯?.ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@ç?¦º?ô¢?À°æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ã? …?ò²?ÀYê?ð?ð?ð?ð?ð?ð?À÷ï?™ë?€vä?×É?ˆ—?±Ê?.Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•é?¶³?–?)á?“È?J?[à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?å?¼ì?¦î?ð?ð?ð?ð?ð?ð?ð?ð?ð?@™î?­È?ÄÄ?@·ê?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fí?@×?zÃ?ã?@Éí?@Ÿî?¹Ú?AÑ?€˜Ú?[Ò?D·?Kì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àœê?ÒÑ?tÀ? t?¤µ?€HØ?]ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aï?aå?€Sï?ð?ð?ð?ð?ð?ð?ð?•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¶ë?À7à?€ Ú?Þ?€¬Õ?€ðÓ?èÇ?.È?‹Ã?|Â?Å?àÂ?½?˜Á?àˆ?€ ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?€âé?@Óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?emoslib-000392+dfsg.1/land_sea_mask/lsm_xx_lsmn0800000755000175000017500000001445012127406245022764 0ustar amckinstryamckinstryèÿÿ€ÿÿðÿø?ÿÿÿÿð.ïÿÃÿÿÿÿÿ€À°ÿüÿÿÿÿþ˜0ðÿÿÿÿü?€?À?ÿÿÿÿý€?ÿø€yÁˇ€ÿÿÿþ8ÿÿè½€ÿÿÿþàÿÿÿ¿Ã?À!Ï3pÿÿÿøÀ‚ÿÿÿÿàÀ}ÿaèwüÿÿÿðÀ¿ÿÿÿÿÿóÿþÀÿðÿ€?ÿÿØð¿ÿÿÿÿÿÿÿÿþÿþüßðÿÿÿðÿÿ€÷Ÿÿÿÿÿÿÿÿÿÿþÿ€ÿÿüÿÿˆgGðÿÿÀÿÿðÿÿŸÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿâxoÏ þÿðÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿóÿÿÿþ¿€ÿÀñþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿóÿÿÿèùüð?ãÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÏü?ðàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ~ðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿßÿüàÿçÿÿÿÿÿÿÿÿÿÿÿÿÿá?ÀÿÿÿÿÿŸÿø€àÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀÿ°?ÿÿÿÿðà·ÿÿÿÿÿÿÿÿÿÿÿÿþ€ÿÿÿÿðãÿÿÿÿÿÿÿÿÿÿÿÿø€ €ÿÿÿÿüÿ€ Îÿÿÿÿÿÿÿÿÿÿÿÿà€ÿÿÿÿÀÿÀÈÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿðÿàÁ¿ÿÿÿÿÿÿÿÿÿ¿ÿÿÀÿÿÿÿþ?ÿøcƒÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿþ?ÿ?ÿþçÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿþÇ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿòÿÿÿÿÿÿÿÿÿÿÿÿÿÿù€ÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿßÿî€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿþ€ÿÿÿ÷ùýÿÿÿÿÿÿÿÿà?ÿÿÿïÿþ ÿ÷ÿã?áùÿÿÿÿÿÿÿÿÀ?ÿÿÿäÿÀÿsÿÀÃñÿÿÿÿÿÿÿÿƒ?ÿÿÿìÿâà8ÿ€ãÿÿÿÿÿÿÿÿÿ€?ÿÿÿÏÿÀàœ?€áÿÿÿÿÿÿÿÿð?ÿÿÿîÀ€‡?¿ÿðÿÿÿÿÿÿÿÿð?ÿÿÿÿþ‚8ÿÿðÿÿÿÿÿÿÿåÀ?ÿÿÿÿþÿÿÿðÿÿÿÿÿÿÿ€Àÿÿÿÿüÿ ÿðÿÿÿÿÿÿÿÐ` ÿÿÿÿø~À&ÿÿÿÿÿÿÿÿÿðp<ÿÿÿÿøÿÀÿÿÿÿÿÿÿÿÿàcøÿÿÿÿøÿÀÿÿÿÿÿÿÿÿÿà@ÿÿÿÿà?ÿàÿÿÿÿÿÿÿÿÿð ÿÿÿÿÀÿü<ÿÿÿÿÿÿÿÿÿðÿÿÿ€ÿÿÿ?ÿÿÿÿÿÿÿÿÿÿðOÿÿÿÿÿÿÿÿÿçÿÿÿÿÿÿÿø/ÿûÿÿÿÿÿÿóÿÿÿÿÿÿÿðÿà€ÿÿÿÿþÿñÿÿÿÿÿÿÿðÿÀ€ÿÿÿÿþøÿÿÿÿÿÿà ÿÀ€ÿÿÿÿþü!ÿÿÿÿÿÀÿÀÿÿÿÿÿ?ÿàÿÿÿÿÿˆÀÿÿÿÿÿÿøÿÿÿÿÿ?À€?ÿÿÿÿÿŸÿøÿÿ?ÿøÀpÿÿÿÿÿÏÿøüþ Àà?ÿÿÿÿÿÇÿððþ`ààÀ?ÿÿÿÿÿÇÿÀàþ@óÀà?ÿÿÿÿÿãÿÀ?ÀþÿÀ?ÿÿÿÿÿãþ?€ ÿÀ?ÿÿÿÿÿñü?ÿ€üÿÿ÷ÿÿýàÿÀü?ÿÿûÿÿÿ¿À?ÿÿÿÿÿþ€ €?ÿÿÿÿÿÿ|‡ ðÿÿÿÿÿÿü‚Àÿÿÿÿÿÿø€À€Ÿÿàÿÿÿÿÿÿø€@€ÿðÿÇÿÿÿÿð€ ÿüÿÿÿÿÿà0ÀÿÿÀâÿÿÿà0€ÿÿàÿÿÿÀ˜€ÿÿà¿ÿÿ€èÀ?ÿÿðÿÿþpŠÿÿðÿùüp?€ÿÿøÿûø8?ÿÿÿ€?ÿÿð8|ÿÿÿà?ÿÿðÿ€ÿÿÿüÿÿàÁÿÿÿÿÿÿÿàôÿÿÿÿ€ÿÿàøà?ÿÿÿÿÀÿÿà?ÿÿÿÿ€ÿÿðÿÿÿÿ€ÿÿðÿÿÿÿÿÿðÿÿÿþÿÿøÃÿÿÿüÿÿøOƒÿÿÿüÿÿø8ÿƒÀÿÿÿüÿÿðøÿãÀÿÿÿüÿÿÀðÿóÀÿÿüÿÿ€ðÿÿÀ?ÿÿøÿÿðÿÿð?ÿÿøÿþðÿÿÿø?ÿÿðÿÿàÿÿÿø?ÿÿðÿÿàÿÿÿþ?ÿÿÀÿÿàÿÿÿþ?ÿþÿüÀÿÿÿÿ?ÿüÿüÿÿÿÿ€?ÿøÿüÿÿÿÿ€ÿøÿøÿÿÿÿ€ÿøÿðÿÿÿÿ€ÿðÿðÿÿÿÿ€ÿàÀÿãÿÿÿÀ€þÿþÿ€pà_þÿ€üÿüüÿüøÿü ÿð ÿ€@ÿ€0`þ0Àþ€üøøüøøàà0x`€àÿ¿ÏøÿÿøÿÿÿÿÿÿÿàÿÿüÿÿÿÿÿÿÿÿàGÿÿÿøÿÿÿÿÿÿÿÿþo€ÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿüÿÀ6ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàgÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿøvÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà‘öÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ ÿÿÿÿÿÿÿ÷ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿþ0ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿð<€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿemoslib-000392+dfsg.1/land_sea_mask/LSM_GG_01280000755000175000017500000255406012127406245021663 0ustar amckinstryamckinstry?N?»¾?µ€??º ?Ò§€?Öf?±Ì?’P?ÖO?âñ?íç€?ì~@?פ?E?ÑŸ?æäÀ?î™?ff?îz€?åf?«à?ÍC?Øt€?æ€?쉀?ïç€?ï†?ì'?Ü?k@?§?³?ªP?Æ"?ê8À?î@?î®À?ïÇ?í-À?ìœ?ÜÛ€?ã@?ïL€?çí€?ï @?ì!€?ïúÀ?ð?êñÀ?êÐÀ?åYÀ?Öî?Ûú?и€?d€?ºZ?¶®?Øì€?Ñ›?Ò¾?¥¼?Ķ?ß\€?ĉ?ài€?æüÀ?ë»@?êO?î?ïã@?æÕ€?Ýò?í?ïã@?ð?ð?ð?ïû€?ð?ð?ð?í$€?ìÓ€?î0@?É^?p€?Ć?Ùý€?Õ6?È?¾?Q€?@?З?ÐA€?Å?Ön?Ñ$?{?“?å€?ßü?‚`?°?Å•?í<?çZ?ÞÃ?áÙ@?ëÃÀ?ð?ì÷€?Ðd?í?ð?ð?ð?ð?ð?ð?ïø@?ð?ð?ð?ïª?îäÀ?åA€?¦?¬?â(€?äá€?á!?í]€?ÓÁ€?˜@?”ø?§x?—Ø?Ûý€?ìÛ@?Ýž€? à?x`?£?¼”?Е?ëï?ïª@?èÀ?쀀?íÍ€?ëú@?áL?®`?“?ïl?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è[À?¹º?ãÍ?ë“À?î,?Ó ?•?ž?Ð?Q?Öx?ߟ€?æL@?Ó¢€?¸??×Ü?ä2À?¦?³€?äC@?ï@@?ç @?åyÀ?îN€?ìÇ?Û3? <?ÞX?ëÊ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éå@?ÁÙ?Ço?âò@?è`À?Û>€?¿?c@?Ãj?â5€?Î?¦ü?À¦?âþ@?–(?Å??áÀ?ß8?æ:À?Ç=?Þw?Üí?ì™@?ï ?î,À?ÏÒ?å-À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ߪ?²¨?Û|?å@?µ´?Þ]€?_€?”˜?tÀ?<?0?@?âÕ€?ÁT?Ìü?Ì#?á@?À?Á¡?¸ˆ?Áf?™?Ù9?ÀN?Ë:?ç @?ê`@?ë @?Õ?¿ú?âÆÀ?ênÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïA€?äU@?±8?¡Ü?Öß?W€?£Œ?ãj?m€?à?K?´Æ? ?à€?î5€?ݽ?Öø€?½†?•?e€?Ö €?ìÌ?ÐÊ€?¤ ?Åñ?½8?¿?¾ð?ãQÀ?Ô\?׊€?í'@?î—€?îŠÀ?äÀ??݈€?îB@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì/€?â @?v@?$?<?:?Ò¶?åƒÀ?êm@?Û9€??² ?Þ¿€?Øm?éxÀ?íÅ?ïê?ïÑÀ?ð?æ¬@?‰À?W€?Çü?Ï…?ÊÉ?€P? ?×´?äd@?ÔD?é-@?Úê€?Úp?ØÛ€?Ë¿?â–À?ép€?Ý €?ѯ?ã›À?Þ?»8?Ä*?¸ú?Ô…€?mÀ?·j?áÆ€?Ü—€?Õy?çÙ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íè€?Ý…€?£ˆ?”À?Ýù?ï€?Úë?¡ ?¦ä?´®?ãÓ@?íë?ð?ï‘€?î@?ïà?ï<@?ï÷À?ð?êì€?q ?µ,?âøÀ?îëÀ?èy?ÛR€?ÚR€?Â9?6?°ˆ?ÚÑ€?ë•?ì?äöÀ?ïÊÀ?Ú¢?Æi?å¡À?Þª?äÚÀ?Ü?í3À?ä™À?膀?ïk?Ý«??ê¶€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ãT@?ÁÌ?—¸?Ãø?í¼?ÚE€?Z€?Ð?Ù×€?ï¦À?ïË@?ïÛ€?ð?ï“À?åž?è[€?é.€?ì§À?êâ?Òò€?šh?Úu€?Î^?µ2?™8?Ùe€?¹þ?…P?ÃT?–@?ºê?渀?Ý €?Ã3?¢„?Šà?¤ì?·?Ò}€?Ö,?ßÊ?æL?ê=@?æ€?è´?¾H?Ñ?ïœ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í1€?ׯ€? d?P€? ?Ë1?ëqÀ?Ñû?¢ä?ǃ?êŽ?ï¼@?ï°À?ïæ??ëÀ?è–À?î€?îj€?é·À?؇€?Óô€?‚Ð?a@?¡ ?^? d?‡ ?±L?Ód€?q`?<?çb€?ïÎ?è&@?â<?f€?B?¯˜?¶š?Ö%?¿„?à5@?áz?é?³’?Å[?— ?«T?fÀ?àŽÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î%@?ì`?Úƒ€??à™?åÍ?ˆ`?ËD?½°?¥0?‘(?“X?ârÀ?î.€?ípÀ?í'€?í“€?ï…?îÖÀ?퉀?îÖÀ?í£À?ï?ê«€?×v?èì?ìv€?ë)À?ì‰?Ñ€€? ?ÞW?áâÀ?ÖŒ?g??ß?Åý?éÁÀ?ïù€?ïW@?ê_@?Ü~?~?„P?Ðø€?è*€?ø?ÓV€?íÖ@?Í4?ï@?í²@?»?ì‚@?ß‹€?늀?é€?îm@?Ô¯?Ïÿ?ï´À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í.?ç2@?â7À?Á?¿<?î•?ÕQ€?¥?ê¼?å À?¦€?Æj?Ñ?Çû?íÑ@?íèÀ?îZÀ?í/€?íÕ?íÆ€?ïË?ïC@?î–€?ìu€?î#@?ë @?ëÓ?î<À?í­?ï¶€?î:?ï›À?îí€?î³@?ì!?ì5À?廀?áì?½|?Ð&?âN?ߘ€?Ä`?§´?±ˆ?î¶À?ïêÀ?ì¯?ã4@?ïË?é0À?æa€?ãÚ€?ágÀ?ê€?àÕ@?ê@?íj€?Ù€?å˜@?ȳ?Ó­?ïù€?Þ(?íô@?ïºÀ?Ü¿?ã(?á@?C?ʧ?íÅ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓÀ?ëÑ€?å?€?×€?ãÀ?ï³À?Ϊ?Íœ?ï°@?ç?ÙÈ?Ü?æÇÀ?ê´€?×¼€?í À?ïa@?î·?ît@?ï¼À?ïUÀ?í—À?íˆÀ?ì²À?í%€?ï²À?ïéÀ?ð?ïÏ€?ï³À?îö@?ïÄ?ïÈÀ?ïÔ€?ïûÀ?îòÀ?ìjÀ?èH€?±(?¿"?ˆp?™à?šx?â@?ï3€?ëE@?ä-€?î€?Êá?Âä?êq@?ïÏÀ?Öþ€?ê€?îŠ@?ï"?í€?ï?äU?íÂÀ?¿6?n?Þê?ëÀ?Ô?Úà?Ü¡?ï€?ãÍ?í6?îô@?ëKÀ?ëê@?î€?ÔR?¡T?Ëv?é'€?í8@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì^À?ï…€?ì³@?ÉÁ?£|?·’?®?$?Ã`?çh@?ãÝ@??©d?ëG?ïµ€?ä@?çôÀ?âÀ?æí@?íÀ?èP@?êÀ?ïÌ@?ïЀ?îD€?ïåÀ?ï À?îÀ?îLÀ?í×?ïS€?ï—€?ð?ð?ð?ïì?ïž@?ïÐ?ï’€?ïÁ?ï€À?ïÚ@?ïÞ@?îy€?ØF€?à5?è»?í;À?åò€?êw@?ì@?ëz?êÂÀ?ê€?ç½€?ÎW?­?Ðë€?Æ?K?:?° ?ÖT?aÀ?0?±,?Õ8?©h?\€?Å™?×L€?¢?ÙL€?ê @?îæ@?î?ï5@?ëÍ?ëà@?ÒÙ?¤$?À?âô@?íÚ€?£¸?Ëf?åîÀ?é€?ì7€?ïÖ@?íµÀ?ïjÀ?ïŸ@?ë À?èn?°ú?­P?ÎÈ?ã7@?ïä€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í<?æ`€?éÛ€?áÑÀ??§ð?p?¥H?Ôn€?å×@?ã—@?éw?ãƒÀ?€@?K?ÉU?Ó ?¼þ?²B?R?ãTÀ?ï?îäÀ?е?í8€?îäÀ?ïY€?ï·@?æ?í*€?î•?îª?îù€?ð?ï €?ïDÀ?îúÀ??ïúÀ?ï@?ð?ð?ð?ð?ïð?ïý?ïðÀ?ïÍ€?ï-?ï)€?ï÷À?î.?î«?ð?í¸?ïá€?îë?íBÀ?íwÀ?îÑ@?íZ@?ìÔ@?ì^@?í%?î@?ëË€?ì¦?îÞ?î@?á΀?‰P?Q?‚à?P?Æ4?åâ@?éö€?ée@?æ?ÞU€?ÕÜ?ÁN?>?hÀ?Ââ?H?B?½:?Ús?Þ:?ãc€?î©?ìõ@?î0@?íkÀ?â €?º¦?ƒ°?Z€?ì6?ïy€?ÔÉ€?šø?ã‹?ëÀ?îô@?îÑ?ìÀ?çt?îõ€?ïÛ@?ë ?êx€?åƒÀ?°J?Ú€?ä¾€?é€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï½€?êŒ?æA?Ñ7?á$@?và?e?™P?ÚŠ€?â'?êÉ€?í¦@?ï©À?í;@?âH€?׺€?Ÿ¸?Œ0?°Œ?Ýx€?Ú(€?Å7?ä¯À?íN@?ê×€?Ù??ïÈ?ïª?ïÁ@?í‡@?ëQÀ?îKÀ?êÄ@?îJ@?ï¡€?ïßÀ?ïú€?ï³À?ïì€?ïã@?ï @?ð?ð?ð?ð?ð?ïö€?ð?ïGÀ?ïºÀ?ïô@?ïÖ€?íS€?ð?ð?ïî€?ïòÀ?ï€?ð?ïý€?ïç?ð?ïÏ€?íê@?îÀ?ïý@?ï`@??íF@?ì£À?ãèÀ?À?Ñï€?ÅÆ?¼?Ø¢?Ý€?åÀ?áV?ÙN?§ô?Ѐ??ï¸?ïc?íS@?ìð€?ì•?ïh?ï ?íH?é À?å?ɉ?¸?¥À?¹ž?Ø9?Üî€?ê±€?Ê5?Ë—?ÛŸ?¡¨?šÀ?ëÒ?î®À?ì€?í9@?ê€?ëúÀ?í+?ç—@?ØÃ€?Ð?Ò?ã‡?éþ€?Øê?š8?€?ÆÆ?å/À?Ýô?Ö¼?ÓÍ?äÄ€?îyÀ?ïMÀ?îþÀ?êh?ÜF€?䯀?ä‹@?æ1?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìñÀ?ïÿ@?íg@?Ë”?«°?ÊÞ?èI?í}À?ï@?îÅ€?ïè€?éé?è“@?ík?ë @?äÞ?Ür?š0?ä?€?È;?h?³"?d?¡Ì?º ?è/@?ïî€?è"À?ËG?Ý5€?î€?è7À?ÌF?âÀ?èÎ@?ïÊÀ?ïË@?ïí€?îü@?ì?ïD?ìÀ?íx?î÷?ð?ï¶@?ï\?ïÄÀ?ïµ?ï7€?ïë€?ð?ïõÀ?ïý@?ð?ð?ïê@?îÎ?ð?ïø@?íšÀ?ïá€?ïü€?ð?ð?ð?îä@?ïøÀ?ïÄ?ð?ïæÀ?ïÜ€?î$?íÙÀ?îÿ€?ê¨À?ëØ@?ëh€?ìÝ?éÖ€?ã¬?ëçÀ?ð?ïþ@?ï:?Ö¯?âÀ?ïú?ïü?ð?íŠ@?ÖO?k€?¼Þ?ÝÖ?ïª@??ïà@?ïo@?ï]@?î»??ïü€?ïò€?ïå?ïû@?ïè€?ïó@?æÀ?É?ç†?ä=À?éÅ?ïU?ïã€?íBÀ?ëT@?ï¾€?íAÀ?ãE€?Îø?Ù€?æYÀ?ê™À?ê~@?å;€?Ô€?æ´@?åI@?¿Î?ÛD?ìô€?ÏÌ?ãá€?ëã€?Ù?ÌÑ??éP?ìW€?È"?Æ&?¿Ì?áh€?íq@?ïl@?ï΀?æ€?Ãp?Áþ?ªÄ?è#À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå?à@?{@?³6?ÖU?ãwÀ?í…€?ì?ïq@?îòÀ?ï¾@?íû?ï0?ìÇ@?ëv€?íùÀ?ìÝÀ?íÀ?Ýl?”°?¸‚?äM€?½ ?ް?½$?àŒ?äœ@?ÛÇ?ç?€?íÄ@?æö€?ï˜À?ïÛ@?ï«À?î—@?á8?îi?î?Ü?€?é@?èN€?銀?ï¿?ï€?ï]€?ï À?í??ë¨?ê@?ëî€??ïÀ@?ïv?ïi?ï„À?î@?î;€?îÜÀ?ïòÀ?ï“?ï¬À?ï¸À?ïoÀ?î¡À?îø€?îó@?ð?ïø@?ìÙ€?ïâ€?ïù@?ïü@?ð?ïo?îý€?îŽÀ?ïú@?ïú@?ïý?ïß?ìP?ê6€?ìÅ€?ïcÀ?ë°@?âRÀ?놀?ã­€?ë´À?ë«À?êŠ@?í @?ï´?ð?ð?ð?ïŒÀ?ï¨À?ð?ïôÀ?ï߀?ð?ð?åú?±¬?Ê/?ïŸ@?ïñ@?ï÷À?ïý@?ïì?ïé€?ïøÀ?ïw€?ïþÀ?ð?ð?ïý?ï÷?ð?ïõ€?î8€?ïù@?ïòÀ?êC@?ë?ï7€?ï,€?ïD€?íì??切?ï­?é½À?î3?ìÀ?èÀ?Ë·?Ò€?ĸ?Óð?â €?Ûs?Š?°p?ŠÐ?×™?â¦?´ê?ë!@?î“@?ç‹@?ää€?´n?ìC?îÕ@?Òy€?c€?³Ø?Ì?ØÊ?ä"€?í€?îÂ@?é@?Ðr?…€?Ë3?ãm€?ïó@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã?ëþ@?éÌÀ?ÝÅ€?Â¥?—?Öõ?ꇀ?í.€?î_@?ïC@?ï8€?ï@?îJÀ?íÍ@?ï„€?êþ?ê%@?ëjÀ?ïÀ?îÀÀ?ê€?« ?­¨?ç|?Åy?×G?ìË@?îW?êÏ@?ïÝ?ï€?ïG@?ï]€?ï#@?ïy@?ïï?ï?îò€?îÞ€?쨀?Î(?ç@@?ìw@?é€?ï“€?ïâÀ?ïY€?ï~À?ëd€?ëö?ï¸À?í@?ïv@?îÜ@??ïN€?婢??ïx€?ïÜ@?ð?ïÄ€?ï~@?ïý@?ð?ð?îþ@?ð?ð?ïøÀ?ê£@?îÛÀ?ïùÀ?ð?ð?ï•@?ïïÀ?ï{?ïé?ð?ð?ï»@?î À?ê‡?î?ð?ï´€?ì€?ìO€?éÀ?íN€?î–@?ïÔÀ?îh€?ïÍÀ?ïì@?ïÅ?ïì€?ïò€?ï(€?ïü€?ïùÀ?ð?ïâÀ?ï…?ð?ìÑ€?ËÓ?Î?îZÀ?ïô€?ð?ð?ïþ€?ð?ð?ð?ð?ð?ð?ï»?ïö€?ïå@?ì €?ï–?ïí?î%?í¡€?ëu€?ï{@?ït@?ë>@?ì?îÛ@?îºÀ?í¬?ív@?íåÀ?åà@?ÛÜ?Þè€?äa€?Í…?éÞ@?îS€?êÃ?á&@?ä€@?æ'@?æ?æaÀ?îÛÀ?ï;?ï€?åqÀ?Û`?ï$?ï€?ß+€??é9?á@?Ð?ìG€?î‘@?ï7?í3@?æ_€?¨ü?á÷À?è€?íN?ð?ð?ð?ð?ð?ð?ð?ð?ð?艀?²²?j€?Å™?ê»@?ìü@?íDÀ?í‚?ïÒ?ï`?îÅ?ïÀ??ïT€?èÄ?æˆ@?ío?î·?ï¥@?ïÔÀ?ʼ?±B?æë?Ñ0?ìÒÀ?ï^€?îP?ﻀ?ïî?ïÅ?ï¦À?ïÔ?ïçÀ?ï»?ïü@?ﺀ?ì…À?ëV€?âÿ?Ñ™€?ï¯À?ï|?ï À?î£?îÈ€?í@?î@?í+€?ïd@?ïq@?î«?ìðÀ?ï7€?ïÖ€?ïÖ€?ï¦?ïd@?ïþ€?ïú?ð?ïù@?ïý?ð?ð?ð?ïþ?ð?ð?ïnÀ?ë @?ï”@?ïý?ïà€?ïë€?ð?ð?ï£À?ïf?ï÷À?ð?ð?ïB€?ïû@?îa€?ï?@??î|€?î#À?ð?ð??îØ€?ð?ïô@?ï¤@?ð?ïÓ€?ïÌ@?ïðÀ?ïÖÀ?ïñÀ?ïü@??ïú@?ð?ð?ä@?àk@?Ð/?Óž€?êU€?︀?ïý?ð?ïÝÀ?ïí€?ïô@?ð?ïù€?ïû€?ïÿ@?ï>€?ð?ïà@?ïÿ?ïæ@?ï{À?í·@?îyÀ?íý?îhÀ?èù@?ë¾€?ï@?ë¿€?ân@?í}€?î À?ìpÀ?è ?ë~€?îrÀ?æÙ€?í@?ïJ?íÈ@?îmÀ?î$?ìÞ?ìw@?ìJ€?ï„€?ïÍ@?î¨@?î?ëÙ?ì9@?î@?Ý\€?¿ ?•Ð?ÁÆ?éÅÀ?ìÌ?îÎ@?îÄ?îO?å@?Ð ?áZ?ì}@?ï^€?ð?ð?ð?ð?ð?ð?ð?ð?ïè@?Ñ$€?Ô’?íJ?îì?ê@?îHÀ?ï0€?îŒ@?íÎÀ?ï @?ì¼€?ë¾À?èì€?èö€?Þ¤?Ñz?á*À?é?ß:€?Õa?à@?ëG@??ï9À?ïªÀ?ïþ?î&?ïÆÀ?î€?îì@?îÂ?ï1?ï®@?ï.À?ì¨@?ìª?í\@?æÉ€?âGÀ?ïÁÀ?ï€?ï|À?ïŸ?呂?í®?î—@?ï*?í?ì“@?ï±€?ï À?ïôÀ?ïHÀ?ïú?ð?ð?ïÇÀ?ïë€?ïÆÀ?ð?ð?ð?ïö?ïÞ?ïœÀ?ïš?ïÃ?ïø@?ïêÀ?în?ê{@?íy?ïü?ð?ïáÀ?ïû?ð?ð?ïü@?ïßÀ?ïû€?ïß?ïF@?ï@?ïÿÀ?ð??ë@?îÀ?ð?ð?ð?ïÓ€?îý?ð?ð?ð?ïØ@?ð?ð?ð?ïÀ€?ï€?ïM€?ïéÀ?ïôÀ?çúÀ?ð?ð?ê°€?ð?ëW@?ÀÞ?Êi?è,€?ÌÂ?ÚÁ?êC?ð?ïþ?ïþ?ïø@?ïìÀ?ð?ïb€?ïî€?ïðÀ?ïæ?ï¤À?ïþ?ïí?ï¡À?ïù@?ïî@?ïí?ïøÀ?ïÀ??ï;@?èÀ€?á„?ÏV?Ðì?ÖØ?ê›?ì¡€?æÑ?íÀ?îW€?î÷À?íÄ@?ï|À?íÞ@?í@?ìÉ?ì$À?êWÀ?î×?îr@?íë€?îÙ?í´À?í9€?äÀ?à¶?Ó.€?q?ç/À?í£€?׉€?ê?à??ê˜@?ï@?ç…À?¥`?’?ë'?ï?ð?ð?ð?ð?ð?ð?ð?ìÐ?îbÀ?áÀ?‡Ð?µ˜?Ö¥?¬@?¿z?Èê?àa€?´?ËÇ?íe?íÀ?íœ@?ì9€?îsÀ?í¯€?Öi€?Ìû?餀?ï!@?ìê@?íp@?èÉ@?èZ?â7€?uÀ?é€?ïE?呂?ï6À?ïà@?ïc€?ïï@?ïo@?íM?îf€?ïQ@?î#@?ïó@?ïüÀ?ð?ïÏ?íë€?í¦?ï“À?ïÀ?ïÐ?ï¦?ïÂÀ?ï©€?ï„?îìÀ?ï„@?ï‘@?î#@?ïÔ?ï΀?ïÈ€?í\?ïfÀ?ïs€?ï±€?ïú€?ð?ð?ð?ïìÀ?ïû@?ïÃÀ?ï†À?ïê€?ï™À?ï»À?ï”?ïØ€?ïû?ï3?ïþ€?ïç€?ïæ€?îFÀ?ïÀ?èí@?ïvÀ?ïä?ð?ïÛÀ?ïð@?ð?ïÓÀ?ïÔÀ?ïåÀ?ïë€?ïíÀ?ïÕÀ?ïüÀ?ïUÀ?ïÑ€?ïá?în?ì@?ð?ð?ïýÀ?ð?îÿÀ?ï¹€?ð?ð?ð?ïç@?ïÃ@?ïn@?ïà?ï @?î€?î­€?íü?ï›?ê€?ÙY€?ä€?íó?ð?êÀ€?Ýš€?`?ÊÐ?ì€?ïÿ?ïœ?ïþ?ð?ð?ïï@?ï©€?ð?ð?ð?ïÿ??ð?ïÊ€?ïÿ?ð?ïÿ?ð?ï­€?ïàÀ?ïÙÀ?ð?ïù?ïõ€?ï¡€?í÷À?í¼€?ï|€?èÚ@?ÊÅ?ÖË€?å.À?ëÈ@?í£?ëœ?ê^À?é@?íÁ€?îÒ@?îö?ï@?ï?î7?ë:€?ìy@?ìh?î‚€?ïS?ï @?î/€?é¥À?ãü?â,@?âÞ€?ÏÊ?d€?¢,?ÁÅ?¼?é?€?í€?ï €?îU@?Ý…?¬„?ëoÀ?à=€? ?z€?åY?î×?ð?ð?ð?ð?ð?ð?î[@?á?Öá?®|?ÓS?ä€?à"€?í7@?î?@?ï?ë·€?ÅÁ?¦Œ?äCÀ?ìrÀ?î€?ìÇ?îp€?î?æ7€?P€?µÐ?é“?îˆÀ?íu€?íc€?êó@?î@?åª@?µâ?ã À?ÆÐ?åñ€?ï ?ï«@?ïf€?ïEÀ?ï²€?ï²@?ïâ€?ïñÀ??ð?ï.À?ï–?ð?ïí?ïö?îË€?í¼€?ïÍ@?ïÖÀ?ïåÀ?ï”?ï’À?ïŽ@?ïeÀ?ïi?ïŠ@?îLÀ?ï£?ï–@?ïä?ï€?îã@?ï€À?ïÊ?ïê@?ð?ð?ð?ð?ð?ð?ïÕÀ?ï÷À?ï×À?ð?ïÝ€?ï¤À?ïÍ?ï˜À?ï)@?ïÁ@?ð?ï=€?í|?îüÀ?è¾?ì7€?ïÝ€?ð?ïÛ?ïûÀ?ïõ@?ï÷€?ïí?ïë€?ï¤@?ïÜÀ?ï×?ï‘À?ð?ïûÀ?ïô€?ïÀ?î-?îfÀ?ï†@?ð?ð?ð?ï÷€?ïú€?ïÕ€?ïüÀ?ïª?ï€?îªÀ?í´@?îÆ?êŠ@?íÀ?äf€?éß@?Õ€?Úæ?íÆ€?á¥?2?Þ€?ï#?ïÀ?éã?ëûÀ?ïï?ï[@?ïËÀ?ï¼€?ð?ïýÀ?ïñ€?ïô?ð?ð?ð?ð?ð?ð?ïý€??ï½À?ïù€?ð?ïÿÀ?ïüÀ?ïÔ??ïŠ?èg?æ?À?ì@?é'€?ív@?ï€?í€?ë0À?êX@?ìT@?îk@?ï?ïÀ?î.?íÏ€?í[€?íÀ?ëÜ@?ê.@?ë‘€?í/?î\?ï„?ïQ?Ôù€?í±€?í€?Ò´?Ýœ€?ïB€?êbÀ?íÀ?æÀ?æ‹??ífÀ?ÖA€?À%?¹®?Ψ?éc€?ï?ð?ð?ð?ð?ð?àb?m?·n?àÀ?ïRÀ?ï“@?ïÓÀ?ïš?î@?Ë›?4?á|@?ìÂ@?ìÍ€?ìa?í?À?ïÀ?îž@?áÃ?… ?å"À?ï‹À?é¶€?ëé€?ìa@?ëÐ@?í@?ëÀ?ÛÇ?Õ€?ïA@?î9€?î+À?ï`À?ï´@?ïõ@?ïÈ€?ïøÀ?ïúÀ?ïí€?ïÅ@?ð?îü?ï¼À?ð?ïz?ð?ï;?êÍ@?ð?ïÞ?î"?ï3€?ï‘@?ï?@?îý€?î™@?íD€?î:À?ï€?ïU@?ïõÀ?î+€?ïæ€?ïÞÀ?ï?ï@?ï?ïaÀ?ï˜@?ï.À?ï@?ïáÀ?ïðÀ?ïüÀ?ïú€?ïîÀ?ïîÀ?ð?ï©À?ï’€?ï®?ïÒ@?ïí?ï?íHÀ?ë§@?î%€?ëà?í¥À?ð?ïõ?ïò€?ð?ð?ï€?ð?ð?ïù€?î¦@?ïÖÀ?ð?ð?ïËÀ?ð?ïë@?ï΀?í—@?ïÄÀ?ð?ïýÀ?ð?ð?ïýÀ?ð?ïýÀ?ïú€?ïñÀ?ï„@?ïüÀ?í??ïVÀ?ìa€?Ó]€?ÁZ?ź?qÀ?´T?« ?©ä?ê€?ï¢À?ïÃ@?ð?ð?ïå??ïûÀ?ð?ð?ïô€?ïõÀ?ð?ð?ïø€?ïø€?ïõ?ïœÀ?ï×€?ð?ð?ð?ð?ﮀ?ïá?îÚÀ?í¤€?íJÀ?íPÀ?ê?ì}?îZ€?í?è˜?ëó€?ëÃ@?íÔ?ïË?ï—À?îº?ìX@?æÓ€?êy@?æDÀ?çæ?ê“€?íw@?ç·€?âv?¿®?îÁ@?ìéÀ?ë@?Ìø?ÈD?Öœ?¼È?Ó»?í‚À?ïÀ€?ï¡€?îö?î&?Å?½ ?åÀ€?îÄ€?ð?ð?ð?ð?ï€?Ù?Í­?ìáÀ?îÆ@?ï'?ê#?ÑR?{?×·?å`?ì?€?ëœ?ëÄ?íæ€?îŽÀ?ê!@?Î÷?»æ?ê߀?îf@?ë¶€?ì$@?ëž?ê}@?ìã€?è5À?åôÀ?î€??ï–À?ï®À?î„À?ïæ@?ï¼€?ïã€?ïè?ïÄ€?ïð€?ïEÀ?ïÅ@?ïÔ@?îù?ïçÀ?ð?ïÿÀ?îå?ïJ?ëz@?îY?ï\@?ï @?íeÀ?íl@?î@?ï†À?î±@?í,€?î¶€?ïØ@?ïd@?ïv@?ïÖ?ïr€?î!?ïè?ïÕ€?ïûÀ?ð?ð?ï­À?ï¨À?ð?ïû€?ð?ï·€?ïº?ïtÀ?ï«@??í™À?ïrÀ?ï¢?ïÕ€?ï­€?ï³?îè€?íÂ?îþÀ?îL€?î€?îá?ìŽ@?ëPÀ?íb@?îÀ?ïU€?ïñ@?ï+@?ð?ïëÀ?ïíÀ?ï¤?ð?ð?ð?ïwÀ?ïæ€?ïøÀ?î–@??ð?ð?ïû€?ïù@?ð?ð?ð?ð?ï›?ïK?ïûÀ?ï÷€?ïý@?ïýÀ?ï½?ï€@?å;@?j€?Óg€?Ü|?³J?¯˜?ÊP?â­?ï@?ï¿@?ð?ð?ïý€?ïð@?ð?ð?ð?ïô€?ïýÀ?ïÑÀ?ïñ?ð?ïñ@?ïê€?ï¸À?îÕÀ?ï¹?ïà@?ð?ð?ð?ïì@?ð?ïý?ï À?ïKÀ?ïh?ç?íÅ@?ï?î@?ì€?êkÀ?íA?í´?íÈÀ?ï€?ï‡?쎀?昀?ê0?ëe?ê”À?éh€?ì€?é¨?Ý?Š ?Òº€?ê?»p?Ða?Ó¢?pà?Ñf?³ö?t ?ÕÜ?ïl?ì^€?áèÀ?îÝÀ?å^@?Š ?»¤?í1À?ð?ð?ð?ð?ð?ìÀ?Áb?ƒ0?•H?Ö¾?âÀ?¹?œ8?Þu?ëÖ?ï•€?îÀ?îö€?ìÜ@?í¶€?ì©@?Ác?æ”?îþ€?í?çH@?æ¦À?çë@?éi€?ìŠÀ?ìÁÀ?çÂÀ?ì÷@?î±À??ï‰@?ï7€?î €?ïk?ïÆÀ?ï÷À?ïå€?ïÚ€?ï@?ïýÀ?ïþ@?ïIÀ?ï?ï…?ïýÀ??ïÍ@?í#€?ï=@?ïñÀ?î¼?íu€?ìQ?잀?ïSÀ?î˜?ïP?ïÄÀ?ïá?ïõ@?ïû€?ïÎ@?ïœÀ?î³€?îÅ?ð?ïðÀ?ð?ð?ïüÀ?ð?ð?ð?ïýÀ?ð?ïý€?ïý€?ïF@?ïå@?ê•?í…€?ïr@?ïÞ@?ïÿ€?ï§À?ïÒ@?ï¨À?ïž?ïÄ@?ïÜ€?ïú?ïõ@?ìò€?ï!@?ïÜ€?ík€?ì¬@?íì?ïH€?ïî?ïïÀ?ïò€?ï]€?ïÍ?ïì€?ïä?ïõ@?ï?î#€??ð?ïò€?ïüÀ?ð?ïðÀ?ï,À?è ?îñ€?ï?ïç@?ïÿ@?ïû?ïìÀ?ïé?ïü@?é=?íüÀ?»˜?°Æ?^€?˜°?ê‹@?îN@?ð?î?ïÈÀ?ð?ïá€?ïù?ð?ïí?ð?ð?ïå@?ïµÀ?ð?ï@?ð?ð?ïÈÀ?ïÐÀ?ï™À?ï©À?ïô€?ïñ?ïî?ð?ð?ð?ï¼€?ïv€?ï:?ïÒ?ì߀?íÞ€?ëù@?í@€?îkÀ?â‚?æÓ€?î»?ía@?î<?í{@?æ@?æ”À?éî?æ?ìÊÀ?éjÀ?î~À?â @?Ç\?‘È?×_?Ö ?¶Š?“p?“Ø??–@?àOÀ?êÅ€?é1À?ÑÇ?ÕÕ€?ݯ?ïÿ€?ð?ð?ð?îJ?Øz€?qÀ?ßá€?ìJÀ?ï@?ï©€?íÏ€?î¶€?ïR€?î*À?ê?sà?Ò£?î@?ëz?ê€?é0À?åõ@?ãÇ?í@?í%?ê€?Öp€?ì?î]€??ï¹À?ïmÀ?ïÀ?î°@?ïð€?ïg@?îÛ€?îp?ïg@?ï»?ïÊÀ?ïZ?ïÉ€?ïË€?ïã€?ïÊ?ïø€?ð?îÀ??îØ@?î/€?ê/€?æ®?í?ì@?îèÀ?ï=À?ïÀ?ï–À?îÒ€?ïË€?ïr€?ïV@?ï€?ïk?ïD@?ïƒ?ð?ð?ð?ð?ð?ð?ð?ïò?ð?ð?ïð@?ï@?ì°€?ïû€?ïü€?ð?ïå?ïÖ€?ïæÀ?ïü€?ï¶?ïù?ïÞÀ?ïð@?ïò@?íÿ@?ï­?ïò@?ï½@?îë€?ï€?ïqÀ?ïù@?ð?ð?ïá€?ïÜ?ïò?ï2?ï›@?ï~@?ï§?ïDÀ?ð?ð?ï]À?ë/À?íÍ@?ïæ€?à1À?æúÀ?ïu@?ïéÀ?ð?ð?ð?ïÜ?ëŠ@?×C€?x?ª`?Ñ ?íÇ?îÞ?îÆ€?îL?ï­€?ïí€?ïüÀ?ïà?ð?ïú?ð?ð?ð?î)€?ð?ð?ïÿ€?ïÚÀ?ï–€?ð?ïß?ï]@?ïô?ïÕÀ?ï“@?ð?ð?ð?ð?ï¦@?ïŽÀ?呂?î²€?ï?ï"À?ç@?Øl?âËÀ?çzÀ?ë‹€?í €?î{@?ïK?ïn@?è[@?è7@?ë<?죀?ëø?éÍ?ë?Ór€?¤Œ?Ì)?Ü“€?´ ?î¯À?ê7€?çÚÀ?åËÀ?¢D?À¯?Ü‚?Øã?³ü?ŸP?åøÀ?ð?ð?ð?ïýÀ?Ú¹?ÅX?N?(?Ẁ?ë?í]@?î…?ïÀ?ïr@?ï@?ï€?íl?Õù€?Õ?€?íd€?çÓ€?æ·€?çäÀ?á©?êz@?ÑŠ€?ãj@?îa?èÀÀ?Öh€?ï ?íW€?ïÉÀ?ïà€?ïªÀ?ïã?ï{?î&À?îäÀ?ïš@?îÜ@?ïÝÀ?ï—?ï}€?ï«€?ïÝ?ïû?ïú?ïþ@?ïöÀ?ð?ïÃ@?ï§À?î?î(@?íô@?ì£@?êøÀ?î@?ïQÀ?îÜÀ?îæ€?ìúÀ?ïa€?ïXÀ?ïû?ï}€?îDÀ?ïî€?íiÀ?îÀ€?ïÝÀ?ïÿ@?ð?ïãÀ?ïï?ð?ïý€?ð?ð?ð?ïþ?ð?ð?ð?ð?ïøÀ?ïøÀ?ïñ€?ïÇ@?ïõ?ð?ïùÀ?ð?ð?ð?ïþ@?î8?í¥À?íðÀ?ïò€?ïäÀ?ï?ï£@??ïð@?ïèÀ?ïøÀ?ï÷€?ïØ€?ïü@?ï×?ïó@?ïç@?ïÃ@?ïý€?ð?ïÆ€?ïõÀ?îÀ?¼?W?Ûš?êþ?É¥?â?@?ï‰À?ïÕÀ?ð?ïý€?ïý€?î^@?Ô4€?U?”x?çp@?í7?îÊ€?í¦?îCÀ?ð?ïäÀ?ïÐ@?ïí?ï¯@?ïr?è¢À?íJ?îˆÀ?ï3À?ï>À?ð?ð?ïÿÀ?ð?í©€?îÐ?ï»@?î÷?ï°À?ïò?ïó@?ïM@?ð?ð?ð?ð?ïéÀ?ïÈ@?ït€?íÞ@?íe?ÞÆ?}@?Ûõ?ë¯@?éjÀ?ç’?ê+€?îJ?î©À?îæÀ?êQÀ?ëÛ€?èŒ?먀?é @?î@?êü@?¹’?ªà?:?蘀?î&@?î†À??ç¬@?ªœ?j@?Èâ?d?Ãs?ër?ïÀÀ?íÞ?ïç€?ák?™?6?â™@?í@?îR€?îÉ?ëË@?î—€?î¼@?ìï?íÀ?áÇ@? Ì?‰P?ÕÊ€?í³@?íéÀ?î½€?èr€?åJ?ì@?×ø?ƒà?ì]?îÑ€?ìÀ?ï?ìû?ïë?ïò@?ð?ïÊ€?ïÙ€?îž?ïÍ€?ïô€?ïÒÀ?ïèÀ?ïãÀ?ïÁ@?ïe€?ïô€?ïòÀ?ïò?ð?ïüÀ?îi€?êÍÀ?íÌÀ?ìB@?ì¹@?ï¡€?ïÓ@?ïg@?ïý€?îVÀ?î8À?î”À?ï–€?ïêÀ?ïåÀ?ïøÀ?ïù@?ïò@?ïì€?ï*€?ï’@?ïè€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïùÀ?ð?ð?ð?ð?ð?ïF€?îÁÀ?ï¸@?ïßÀ?ïÇ@?îž@?îû@?îª?î}?ï»?ð?ð?ð?ïÌ€?ð?îcÀ?ïÄÀ?ð?ð?ï­À?ïì?ïØÀ?ïö@?ïÿ@?ï½€?ïoÀ?ïç€?ïú?ïö@?ð?îã@?Ñû?Ãò?¼2?Ùy?í8@?ïöÀ?î_À?çS@?è—?ë»@?Ìo?¢¨?°?‰p?Òõ?åy?ëC?îÀ?ð?ï¼@?ð?ïû@?ï½À?ïD€?áŠ@?èU@?í7À?ܱ?Õê?ê€?ïE@?ð?ð?ð?ïÂ@?ïI@?ï[À?îáÀ?ï’€?ï~?ï÷€?ïã€?ð?ïì€?ð?ïü@?ð?ìÝÀ?ïÍ@?ïâ@?êò?èß?êl@?î@?îÀ?ìIÀ?íÀ?ëx@?í•@?ï/@?íjÀ?ëm?ë…À?éà@?ëµ@?ë_@?í@?â^@? à?è‚À?ëk@?ë;À?ì·@?ïg@?íæ@?ͤ?ºò?‹?‘?Çõ?ψ?å ?îl@?Ò­€?·â?Æ?èEÀ?íC€?îF?ì´?íH?ís?ì°?í?í˜@?íüÀ?Üñ€?¾ ?œ?Íy?ÜŠ?Ë­?œ0?°?ÕH€?èø?å¶€?ë-€?ïÝ?ï}€?ïËÀ?çá?ìò?ï%À?ïÝ@?ïÝ?ïîÀ?ï÷€?ïÕ@?ïì€?ð?ïöÀ?ïý@?ïù€?ïã@?ï<?îí?ïÊ€?ð?ïÙ?ïá?î±€?ï©€?î?í€?î7@?ë@?í”@?ï\€?ï­€?ïË@?ð?ï÷?ïÃÀ?íU?ï @?ï“?ï|€?ïøÀ?ï?ïã@?呂?ïå@?îYÀ?ïg€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÂ?ïêÀ?ïù€?ð?ïô@?ïÍÀ?ï½À?ï€?ï­À?ï²?î£À?ï@?î‹À?ï €?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ï?îæÀ?ð?ïž@?ïf@?ï[€?ïý€?ïñÀ?ïúÀ?ï\?ïá?îg?îÀ?í/À?ïþÀ?ïí@?î_À?¾®?Óà€?ï’?ä ?ÛÁ€?ÑÉ?Œ?Ì?l€?ˆÀ?½Œ?ãñÀ?±ð?â?ße€?ïÿ?ï¥@?ì¡€?ð?ïÿ€?윀?í.€?ÑŸ€?çr@?ê÷?Þ €?ÊU?–P?¶R?Ø€?Ùš?åu€?ê ?ïÀ?ï¼?ïÀ??í-@?ín?ð?ð?ð?ð?ïå€?ïÓ€?ï4€?ïö@?ïã€?ïÒ€?ìî@?ï‚?ïã€?îL€?ïÙÀ?ï3À?î±€?í0À?êÍ@?ìÏ€?ëb€?í´?ï?é÷?ïT?대?îA?íÜ?í9À?ã@?à?Ø‘€?í4?êàÀ?ë•@?ïu@?îd€?æå€?¥?†?Ý'?®D?ÑÌ?áÍ?t@?S€?¶?À÷?æAÀ?î#À?í2@?æ”?ç@?èU€?à]€?ìõ€?éK€?æ\@?É2?¦¸?×'€?é?ì<À?är€?îèÀ?ïz€?ïÓ?ïЀ?ïÏ?ïÔ?ï»?íÇ€?î’À?î›À?ð?ïù?ð?ð?ð?ð?ð?ïì€?ïÿ€?ïð€?ïþ?ð?ìºÀ?ïÜ@?ð?ð?ð?ïÙ@?ïØ@?ïü?ïW?ì¿€?î,?ï€?ïÑÀ?ïé@?ïþ?ïêÀ?ïŸ?ïæ@?ïa€?í€?îÀ?ïÎÀ?ï¼À?ïÖÀ?ïÈ?ïÏ@?ï¾?ïú@?îuÀ?ïãÀ?ï¶€?ð?ð?ð?ïâÀ?ð?ï €?ïË@?ð?ð?ð?ð?ð?ïõÀ?ï²€?îµ€?ð?ð?ð?ð?ïÀ?ï³?ï0?ð?ð?ð?ïö€?ð?ð?ð?ï…À?îÓ@?ïñ@?îºÀ?ï¨À?ï½@?ð?ð?ð?å €?×)€?Õž€?ÚÀ?Ûo€?ÓÏ€?œ(?Õ/€?ì€?å ?Ѐ?Öw€?ïc?îÀ?Â@?·D?žp?î @?îY?ìÕÀ?ïº@?í@€?å…?Ù]€?Ð?ÜH?±?T€?³Î?äÀ?ï~À?ïN@?í@?ìE@?ïÞÀ?ïúÀ?ïÚ@?ð?ð?ïïÀ?ïøÀ?ï–À?ð?ïj?ïÿ@?ïàÀ?ïù€?ïº?ïÀ?ït€?ï¶À?ï;€?ß]€?Û*€?é?ëä@?ìÔÀ?ìÚ@?î¹À?ï@?î\?ïaÀ?ï>À?í´?â9À?V?j?š˜?è“@?îH?ì5À?ë…€?íü€?ïHÀ?êé€?§p?–X?ê6À?Üñ?¤|?¤?$?—P?裀?îªÀ?äÀ?€P?Úu?äš?åã€?æŽ?éî?Äñ?t ?U?ßl?âK€?ï À?îr?á[@?ï€@?ïuÀ?ëm@?ïÍ€?ï2?îý?ïü@?èå€?ãTÀ?ïô@?ïô@?ï-À?ð?ð?ð?ð?ï·€?ïu?ïÍ@?ïé@?ð?ïÑ@?ê€?ïÂ?ð?ï©€?ïò€?ð?ï³À?ï}€?ïŸ?î^@?î£?ïëÀ?ï?ïç?ïý€?ð?ïÓ@?ï—À?ïÔ?ïåÀ?îÎ@?íYÀ?ï«€?ï¶@?ïÃÀ?ïé€?ïü?ïù€?ïz?î…À?ïÿ?ï?€?îÓ?î½À?î»À?î6?îõ@?í‰@?ð?ïõ?ð?ð?ïù?ï@?ï‘€?ï²@?ïþ€?ïý€?ð?ïâÀ?ïˆ?ð?ð?ð?ð?ð?ïÜÀ?ï¬@?ïo?ïU€?îÇ@?ð?ïo?ïe?ïö@?ï©@?ð?ð?ã¶@?k€?¨Œ?• ?¢?íW€?ïÍÀ?Ú6€?Âa?›?†€?Òw?¸J?Ù{€?áq@?ìÒÀ?î›À?ßW€?Æ?S?Þ'?ãä€?æÖ€?îæ@?ïÝ€?ð?ð?ð?ð?ïý@?ïÿ€?ð?ïïÀ?ð?ïý€?îó?ïþÀ?ïö?ï€?ïŸ?è?è5?ë ?í¯@?íÀ?î2@?íL?ê;À?êPÀ?ìM€?îÍÀ?îE@?ïi€?ï´À?íÙ?åR?š€?4?ÃV?ì›?îÀ?î@?ï:?îšÀ?ï+€?ì?è•€?Èæ?â?À?íc?ì£À?Ç÷?E?¸ø?Ð;?Þå€?”P?aÀ?Ì¥?¯D?Ž ?žø?äú?î±@?éç@?ëÄ€?Ö€?·~?À¸?²´?¸¼?ÅM?ï¢@?ïC?ê@?ï¼@?ïéÀ?íå?ïÂ@?î[À?îQ?ï²@?ïÞ?íÀ?ïcÀ?î—À?ïóÀ?ïº?ïí?ð?ð?ï˜À?ï€?ð?ð?ð?ð?îkÀ?í@?ï¬À?ð?ï‚@?ïÖ?ð?ïÖ€?ïÂ@?îþ€?íé€?ìöÀ?îÆ€?î¦?ï]€?ïû@?ð?ïòÀ?ïï@?ïáÀ?ï·€?ïç?ïïÀ?îÖ?î>@?îÜ€?ïè@?ïô?ð?ïñÀ?ïú€?ïs?íä€?î€@?ïÿ@?ïøÀ?ïïÀ?ïþÀ?ð?ïN@?î@?ïþ?ð?ð?ï™??ïñ?ïü?ïÜ?ï®?ï¡?ïÊ?ïÀ?ïÐ@?ï×À?ïæ?ð?ð?ð?ð?ð?ð?ð?ï½@?ïû@?ð?ïý@?ïm?ïz@?ð?ð?݃?Ô*€?ê€?ð?ïò€?å÷€?Ïâ?çd?èJÀ?׋€?ÙÈ?ÙÑ€?4?½Æ?ç>€?âs@?ë0@?ïôÀ?ïÝ?ïì€?ïñÀ?ð?ð?ïò€?ïþÀ?ïñ@?ð?ïù@?ïý@?ïø?ïÇ€?ïá€?ïü€?ï¬?ïÁ?îV€?ìë@?î@?ë»@?ï.?í9@?èK?ã-?îuÀ?ï €?íú?î{€?îì@?ï@?î€?Êj?@?Šð?çX€?î´?ïx€?ï×?ï½€?ïÙ€?ïÀ?íöÀ?í«€?í5À?ïŒ?î‰?ä¾?–˜?$?Ë8?̸?ìØ@?×u€?È¡??ÁC?âÙ@?Ê ?Ó?ìæÀ?ìÀ?í×À?Ôd€?ͺ?®D?ãé@?éÖ€?Øy?ï§@?ïÓ?ï²@?ï®À?ï€?ïÁ@?î;?íÿ€?ïàÀ?ï‡?îÊÀ?ï ?ï—€?ï‡?îþ@?ë@?ð?ð?ïý@?ð?ï–?ïp€?ð?ïßÀ?î+@?ìÈ€?ð?ïþ?ïç?î°À?ïG@?ï½?ïü?ï«@?î9@?î¾??ïÃÀ?îÿ@?ï1À?î0?ï)?ð?ïô€?ïúÀ?ïó?ïý@?ð?ð?î1À?ïïÀ?îò@?ïñ@?ð?ð?ïõ@?ïý@?ïº@?ïóÀ?ïí€?ïþ?ïüÀ?ïë?ï²?ë×@?ëïÀ?ïþ€?ð?ï÷À?ïÊÀ?ïüÀ?ð?ð?ð?ïü?ï·?ï €?ïý@?ïÞÀ?ïÞÀ?ïÞ?ð?ð?ïüÀ?ð?ð?ð?ð?ï–€?ïw@?ï¢@?ïÝÀ?ï­€?ïö€?ïÌ€?Û€?Q€?¨`?ê¼@?ïý@?ïî@?ïþÀ?ï¼?Ê›?“@?Þ‡€?ì9?Ã{?в€?å—@?ÀH?ÞV€?ÛI€?å4@?ï›À?ïþ@?ïû?ð??ð?ïÆÀ?ð?ð?ïÿ@?ïÿ€?ð?ïø?ï$@?ïÃ?ïÛ?ïe€?ïÉ?ïÏ€?î@?ì5?é”?ìºÀ?îÎ?êYÀ?ã7?ì®À?íÉ?皀?íŽ@?îÉ@?î €?ï†À?âs?à½@?Ò®€?”?h@?K?wà?×/?ïBÀ?îi€?ï¹À?ïÙ?ïí€?ï¨?íÖ?î¶€?î@?ï;?îa?ë¹?ƨ?´ˆ?Ý÷?íºÀ?ïÌ€?èãÀ?:?Ç ?ê³€?è‰?²¦?Æò?î²€?ëC@?é³?Ãý?é…?ïé?ð?ïq?豈?î:@?îÃÀ?îÀ?ï?îk€?ïã@?ïÙ@?ïöÀ?ï4?î@?ï³?ïíÀ?ïó@?ïÔ@?îê@?îN€?ïÓÀ?îÙ?ï?ïù€?ð?ï[À?ïâ@?ïþ?îÆ?ïÊ?ð?ïñ€?ïö?ï_?ï*€?ïB€?ïÄ@?ïÀ€?ïéÀ?ïÂ@?ïã€?ïæ€?ïÛ@?ï}À?î?ïß@?ï €?ïÿ?ï€?ïTÀ?ïÉ?ïêÀ?ïïÀ?ïùÀ?ð?í»@?ïÇ€?ïð€?ð?ð?ïû?ð?ð?ï%@?ïöÀ?ïå@?ð?ð?ïöÀ?ð?î€?ë<@?ï¾@?ð?ð?ð?ïðÀ?ð?ïï?ïì€?ïü€?ï÷@?ïö?îÅ?ïv?ïà?ﻀ?ïø@?ï°€?ð?ïýÀ?ð?ïû?ð?ð?ð?ð?ð?ïøÀ?ïÌ?ïì€?ïþÀ?ï«À?Ïx?{?ìÅ?ï÷€?ïû?ï‰?îÎÀ?í—?Ý"€?Ð?‘ð?â=€?é€?É"?\€?‚ ?¶.?Ñz€?àÖ?âú@?îl@?ð?ïÁ@?ïû?ïå€?ïý?íë€?ï€?ïå€?ïå@?ïþ€?ð?ïÄ@?ï×À?îÒ?î:À?ïÉ@?ïóÀ?ïÔ?î6€?ëb?é(À?í±@?í¦@?ì¿À?êb€?è©€?ìË?ì1À?ìY@?í#À?ì€@?í €?í¨?ï ?ïÀ?ï€À?ï`?ì/?ËÞ?´B?À<?z€?Ý€?ïì€?ìÀ?î×À?ï¨À?ïÁÀ?ï^?îs?î3À?í"@?îÂÀ?íQ€?íó?á‘?š¨?¥Ô?âá?íô?î@?Âz?ų?ﮀ?ß?Ô¸?àå@?î@?Ìr?€@?çO€?ï°€?ïä@?ïáÀ?îvÀ?í‚À?îþÀ?î­À?î??ïo@?ïÀ?ïÿÀ?î°@?ï!À?ï^?ïÅ@?ïÜ€?ïü€??ï?ïñ@?ï€?ï¹@?婢?îLÀ?î€À?îâ@?î@?îñ@?î´?ï,?ïiÀ?ï…@?ð?ïæ@?ì@?íØ?îáÀ?ï]€?ï¸@?ï€?톀?î?ïG€?ï À?î+@?îþ@?î¯?ïÒ€?îpÀ?ï?ïpÀ?íÄ?ïÈÀ?ïð?îÀ€?ïKÀ?ïdÀ?ïò?ïæÀ?ï½?ï…À?ð?îÀ?ïB@?ïûÀ?ð?ð?ïõ@?ïÖÀ?ïôÀ?ì?ç”@?íœÀ?ð?ï¿?ïç?ïìÀ?ê’?ìÏ?ïñ?ïåÀ?ï¥@?ïÓ?ï¡?ï²?ïú@?ï÷€?ïÂ?ï¤@?ïÚ€?ð?ð?ð?ð?ð?ð?ïe?ïñ@?ïÿ€?ïþ?ïí€?íÁ?Ó<?Âu?ð?ð?ð?ïñÀ?ïýÀ?ÚD€?£ü?L?Úø?â®À?àR@?ÃÌ?eÀ?’?ÆÛ?ä@?çÀ?í@?ïR?ïÉÀ?ïø?ï @?ï®?ì<€?îÛ@?ïÙÀ?ð?ð?ïþ€?ï´€?ì8À?íH€?î€?鹿?ï®?î¤?êB?ç_@?êl€?ëÚ?ê·@?êQ?ë?ë•À?ì+€?íaÀ?ì•@?ë(@?íf?îö?îE?ïûÀ?ïí?ﮀ?ï²?ìçÀ?á'€?»º?ª¸?@?µ|?ëV?ï”À?ëèÀ?í0À???ïÝ@?ï§À?혀?íóÀ?î?ëwÀ?î€?ìãÀ?Ý|€?O?°.?Ùå?é#?ìB€?ä+€?‡@?‡P?éJÀ?ß?ÙÑ?Ô„€?¬”?»?Q€?µÔ?@?ÍÇ?æÄ€?ïì€?ïo?ï¨?îå€?îÅ@?ïa?ïÀ?ï¥@?ïÔ?ï÷À?ïôÀ?ð?ð?ï±À?ïÒÀ?ïK€?ï@?î¥@?ïã@?ð?ð?ïòÀ?ð?î°?æ-?îH€?ïÐ?ïþÀ?ð?ï¤?ïã?ïýÀ?ïû?ïeÀ?î7€?í~??ï@?ï£@?íØ@?íü€?î–@?îÔÀ?ïf€?ï‡@?îëÀ?ïÿÀ?ïþ€?íGÀ?æ÷€?íè?îø?ïG?ïäÀ?í­@?ïø?ï÷@?ï@?ð?ï¨?ïÑ?í$@?ì€?ïú€?ð?ð?ð?ð?ï¨À?ð?î±À?îK@?îŸ@?ïÖ€?ïË?ïÿÀ?ïú@?Û¼€?îX€?ïÏ@?îiÀ?ïc?ð?ïÒÀ?ïþ€?ð?ïÙÀ?ïÍ€?ð?ïü€?ð?ð?ð?ð?ïû@?ïÿ@?ïÔ@?ð?ð?ð?ì?É?ÐQ€?¹¤?É@?ïûÀ?ïýÀ?ï߀?î›@?ï©@?Ú¬?‘0?ÆN?ˆp?Ða?Ô?Ö€?À'?¹V??¢œ?àŒ€?Õ¤?çlÀ?îI?ïÓ€?ïÊ€?ëp@?í@?ï[?ï‰@?ïñÀ?ïþ€?ïØ€?ïð@?ïž@?íÍ€?íÈ?îÊ?îx@?îC?í„À?ìÅ?ìj€?ë8@?ì€?æ[€?ê½?ë€?ì©@?ìú?íž@?éé€?ë@?é‘À?ê@?í?﯀?ïÇÀ?ïÿ€?ï­À?îm?ìY@?ís@?ç¥?åhÀ?ÊÜ?—X?Î@?ê`€?ï1À?îß?îV?éçÀ?íÂ?ïB@?íÌÀ?ïÖÀ?ïð?ï'?ïQ?ë¥@?îŸ?ïÃ@?ëâ@?á±@?Á›?m@?•x?ãT@?åy€?ÊÑ?éP€?ëf?ïß?ÈÐ?½’?sÀ?äTÀ?å?Ì<?Ø%?Õª€?•è?Ðé?és@?îD€?Ü¢?ëÀ?îæ?ï^?ï?ï®@?ð?ï4À?ïäÀ??ïú?ð?ïç?ï¸À?ïìÀ?ïÈ??ïŽ?ïì@?ï@?ïñÀ?ð?ïý@?ð?ð?ð?è9?î‰@?ð?ð?ïîÀ?ïÔÀ?ïæ?ïð€?ð?ïÿ€?ïË€?ïÜÀ?î??ï9À?ï`À?ï€?ï#@?ïp@?ïw?ïM@?ïe@?ï]À?ïõ?ïI?ï2€?î%?ë¨@?î]@?ïÆ€?ï@?ì„€?ï€?ð?ð?ï¼@?ïh€?ïãÀ?îê€?ìA?ïóÀ?ïô?ïþ?ïðÀ?ïî?ð?ïøÀ?ïã?ïË?ïfÀ?ì¬À?ïû?ïç€?ïä@?í'?ÉÀ?ïý?ïõ@?ïà@?ð?ð?ð?ð?ð?ïô€?ð?ð?ð?ïÿ€?ð?ð?íH@?æ½€?ïn?ïÄÀ?ð?ïô€?ïÛ@?ïlÀ?é~?ÉŽ?±ò?Í?y€? ?Ä=?« ?ï´À?ð?ð?í=@?Ô?¿ ?pÀ?’ ?šx?¹ì?Ñ”€?°¾?p@?ºÖ?˜`?Øq?ï@€?ï’À?îh€?íË?ëð€?ïY€?ïÐ?ïÙÀ?ïÿ@?ð?ð?ïß?ïh@?ïûÀ?ïû€?ï|À?î0?ìÂ?îœ?îÀ?êiÀ?ì€?ïI?íq€?êÀ?è­@?êQ€?îK€?é€?ëT?ìã?ç¾À?êÍ€?ëÔ?íé€?íå€?îè@?îË?ï$?î#À?îïÀ?ïu€?Ó€?À?í@?í@?î7À?í¢?î1?íÕÀ?îz@?îU€?åƒÀ?í÷@?ïñ?íEÀ?ìöÀ?ç€?íÉÀ?î@?î>?íË@?ê³@?Ò“€?ÁB?Ù§€?ì4@?íZ€?Ùh€?¸’?Þb€?ïã€?뎀?Ý—€?¢È?Ä@?ÜG€?è'À?ï2@?ìÈÀ?íÑ@?î‡@?çØ?ï|@?îã€?îî€?îÉ€?íöÀ?í¥€?íªÀ??ïÖ€?ïý?ð?ï¦@?ð?ï£À?ð?ð?ïð?ïÖÀ?ï÷À?ð?ïì€?ïñ€?ïùÀ?ïõÀ?ïõÀ?ð?ð?ð?ð?ð?èi?ï@?ð?ð?ð?ð?ð?ïö?ð?îãÀ?ïÕÀ?ï?ïh@?ïÃ@?ï§À?ï³€?ïz@?ï À?ïÝÀ?ïÐ?îªÀ?ï7@?ïé€?ï$À?ï€?ð?îœ@?îå@?ïðÀ?ïXÀ?ïÁ?ïlÀ?ïþ€?ð?ïÊ?ïw?ïü@?ïü@?î?ï?ïè?ï@?ïõ€?ïþÀ?ð?ð?ïñ?ð?ïó€?ëW€?ð?ð?ïÿ€?߀€?×?ïû€?ð?ïù€?ïø?ð?ð?ð?ð?ïý?ïÇ?ï©€?ïh€?ï—@?ï¹?ð?ï¾@?ïi€?ïð?ð?ð?ð?ïýÀ?ïþ€?ð?ëF?á @?ë@?醀?À=?Í?Åü?¾`?ð?ïü@?ïú€?ؤ?ƒ°?Åe?Ù!€?a@?Æ ?æ›À?–˜?ç1À?ê@?îb@?ìzÀ?ì‹À?ï1€?ï½?ïîÀ?ïÿ?ð?ð?ð?ïÿ@?ï´?ï2À?ïËÀ?ï^À?ïÃÀ?îã?ïÀ?ï€?ï@?î?ïëÀ?îl€?í(€?ë‘@?ã@?ßO?àè?î%€?ì7@?è¬?í@?íC€?ìN@?ê#À?îÀ?ìù@?ï€?ï?ïÀ?ï…?á5€?…P?ãqÀ?ìj?éC?çÌÀ?ìØÀ?í)€?ï^?ïBÀ?î§€?ï+À?ïè€?ïh€?êîÀ?è@?ì?î®À?ïT@?å€?éH?îJÀ?ÞŸ?©h?Øþ?í•À?î €?ì ?V€? ¸?ÌÈ?ïä€?ï»?é…@?Ý^?¦ð?Ñ,?í?ïÀ?ïàÀ?ïó@?ïó?ïЀ?ïÜÀ?îØ?ï&@?ï"@?ïAÀ?ï’€?ïG@?ï €?ï×?ïüÀ?ïþ€?ïý€?ð?ð?ï´?ïõ€?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ïæÀ?ïïÀ?ïñ€?ð?ïø?ð?ð?툀?íÀ??ïÅÀ?ïÜ?ïú@?ïüÀ?ð?ïÔ@?ïø?ïõ?ïÂÀ?ïý€?ïà@?ï€?ï@?ï‰?í÷€?ï¤?ïÝ?î¸@?ïfÀ?îïÀ?ïVÀ?ïcÀ?ïfÀ?íø€?î“@?ï€?ïa€??í¿@?ëu@?ïe@?ïH@?ïñ€?î½€?ïÐÀ?ïø?ð?ð?ïü?ï²@?ín?î°À?ð?ð?ïöÀ?ï?î÷@?ïD@?ïôÀ?ð?ð?ïù€?ïT€?ïV?ð?ï¼@?Ø€?×€?ï?ð?ïÂ?îºÀ?ïï?ïý?ð?ïý€?ð?ð?ï˜@?ïäÀ?ï©€?ð?ð?ï΀?ï?ï@?ïÙ?ﻀ?ð?ð?ð?ð?ð?ð?ð?ïý€?ïü?ï‘À?îPÀ?준?å´À?äÀÀ?æQ@?×M€?ð?ï8?Øž?¶|?R?Äv?p@?ŠP?ª`?½F?¸<?j€?Ÿˆ?à€?z ?¹v?ã¶À?í¨@?îã@?ï@?鹿?ïÿ@?ïã@?ï{À?î¯@?ïü€?ïÆ@?ð?ð?ð?ïä€?ïy€?ïÁÀ?ïîÀ?ïø?ï €?ïÅ?ïtÀ?ïaÀ?ïô€?ï΀?ïôÀ?ïüÀ?ïÉÀ?纀?׌?Û€?‡p?ê[€?îYÀ?íí?ì|?ëp?í®€?ê7?íü?ê+@?èì?í;?ï?î÷€?ïÞÀ?ïØÀ?á@?ØÛ?ž`?Ö΀?î„?îÀ?ïÀ?ï €?ï¤?ï³??í8À?ï›?ï @?îŒ?î?íÆÀ?í0€?ïF@?ïp€?ïL?ï€?ïTÀ?î„?ï¨?ïî@?ãä@?§ ?é¼?îàÀ?ïÕ@?Ø€?§?稀?ïR€?ïô€?ïÝÀ?ïñ€?î¢?¾\?½2?é¢@?îÁ€?ð?ïà€?ïÁÀ?ð?ð?ïÉ@?ï@?ï€?ïµ€?ï?ïÃÀ?îö?ïŽÀ?ïÀ?ïM?ð?婢?ð?ï¨À?ïÚ@?ð?ï¦@?ïÖÀ?ïôÀ?ïð€?ð?ïû@?ð?ïø?ð?ð?ð?ð?ïy@?ïôÀ?ð?ð?ïý€?ð?ïý€?ïk€?ë+@?ð?ïà@?ïì@?ïþÀ?ð?ð?ð?ð?ð?ïÿ€?ïYÀ?ð?ïÍÀ?îö€?îm?ïPÀ?ïÀ?ï°€?ïÍÀ?ﺀ?ïøÀ?ïÕ@?îÈÀ?ïÏ?ï†À?ïnÀ?ïŸÀ?î!À?îäÀ?îö@?ï?ï¤À?î2À?ïŒÀ?ïøÀ?î·@?î§@?îê€?ïÚ?ð?ïò@?ïô?ï¹?íÀ?ïÀ?ïË??ï©€?î©€?ïì€?ïÛ€?ïí@?ïù€?ð?ïõ€?î?îˆ?ÙË?çü?ïø?ïý€?ð?ï˜@?ï’€?î À?ïÿÀ?ð?ð?ð?ð?ð?ð?ïéÀ?ð?ð?ð?ð?ïU€?ïçÀ?ï«À?ï¿À?ï‰À?ð?ð?ð?ð?ð?ï=À?íÚ€?ïÿ€?ð?ë€?èú€?é`À?å>?´^?ïµ€?ìÛ€?‚0?‚? P?k€?†p?¡À?yà?šÈ?’˜?£`?°’?Ç?¦„?™ ?›?°?½ˆ?¼¦?äVÀ?ìž?ïò@?ïU€?ï_€?ï?ïÕ€?í|€?í1À?ï«@?ïX@?ð?ð?ïó?ïXÀ?ï˜À?ð?ïø?ïì?ï?ïÝÀ?ïû@?ï?î¯À?ïj€?ïî?ïÍ€?î@?âBÀ?ìV?Ðt?áÒÀ?î‘€?ì€?í,?í;?íª€?í"?í??í´€?ëþÀ?îÒ?ï(€?íî?ð?ï²€?íÎÀ?½ì?ø?Â(?ïl@?î?î²@?ï¡@?ïÔ€?ïÜÀ?ïãÀ?ï¤@?ïâ@?ïÁ?ï¸À?ï’@?î<@?îê€?îÉ@?í‰@?ï€?ï@?ïiÀ?ïôÀ?ï‘€?ï¸?å½?w`?Ü€?ïF@?înÀ?ä7À?¸b?À}?è{?ïü€?ïý€?ïë?ïx@?Ýé€?·p?ã=À?îëÀ?ï¯?ïÍÀ?ïâÀ?ïû?ïñ€?ïæ?ïÛ€?ïù€?ïv@?ïÂ@?ïË@?ïÓ€?ïó?ð?ð?ïŸÀ?ïWÀ?ïÒ€?ï&À?ïÂÀ?ïÙ?ð?ïÝ€?ïú@?ïé@?ð?ð?ïû@?ð?ïý€?ð?ð?ïÑ@?ïp?ïøÀ?ð?ïêÀ?ïû?ïü?ïý€?ë À?î­?ïê@?ïè€?ïî@?ïò@?ïÖ@?ïö@?ð?ð?ð?ð?ð?î5À?ð?ïü?î¸À?ïDÀ?ïz€?ïË?ð?ïù€?ïÚ?ïôÀ?ïÔ@?ïá@?ïåÀ?ïm@?ïÀ?ïg@?ïÏ€?ï?ï.@?ï‚€?ïiÀ?ï€?ïé@?ïøÀ?ð?ð?ð?ïÖÀ?î¹@?ïÆ@?ïî?ïÏ@?î¶@?íþ@?ï@?ïË?ð?ïÝ€?ïý€?ï\?í²€?ì-@?ð?ð?çíÀ?ßø€?éñ€?ïi€?ïÝ@?ð?ïæ@?ð?ïï?ð?ïû@?ð?ïý?ð?ð?ð?ï›À?ïý?ð?ð?ð?ð?ïÿ@?ï €?ï„€?ï?ð?ð?ð?ð?ð?ð?ïT€?ï8€?ð?î%À?êù@?Ú5€?ሀ?ê €?B?k€?íN@?Ñ5€?Š0?y@?¬<?‡@?žà?ºô?ÄÛ?«?ÔC?íæ€?ïüÀ?ïá?îÀ?ïôÀ?ïÝÀ?îƒ?ïŽ@?ïÆÀ?ïÛ?ð?ð?ð?ð?ð?ïþ@?ð?ïôÀ?ï΀?ïû@?ïÃÀ?ï¿€?ïh€?íz@?ïW@?ïLÀ?îöÀ?èÈ@?å“À?ì6?â@?î+€?ì<@?ëxÀ?ìÁ€?é«@?ë€?ît€?î?ì€?îÅ@?ﻀ?ï´€?ïô€?ïúÀ?ï÷?ì×?À#?ãQÀ?ïi€?î@?ï7@?ï†@??íèÀ??ï½@?íýÀ?ì‡@?ì@?ïÑ?ïÌ?ï’€?ïí€?ï•À?ï·?ïƒÀ?ïP@?ï_€?éôÀ?ä‹À?Ú“?Š@?Î}?ß(?·b?Ì,?Þ×€?è‘À?ï²€?ïü?âÒ?Ñî€?ãœ@?î„€?ïþ?ð?ïÃ@?ïÌ€?ïÛÀ?ïðÀ?ïþ€?ïò@?ïÍ€?ïôÀ?ïéÀ?ïï€?ïò?ð?ïªÀ?ð?ð?ð?ï¢@?ïóÀ?ïý?ð?ïø€?ð?ïö€?ð?î'?îµ€?ïé€?ð?ð?ïý€?ïï?ïø?ïñ?ð?ð?ïö@?ïö@?ïû@?ïüÀ?ð?ëP?ïÁ€?ïÌ?ïìÀ?ïå@?ïx€?îñ@?ð?ïè€?ð?ð?ð?ï€?ï×€?ïä€?ïû@?ï^?ïÜ@?ïø@?ïãÀ?ïû?ïЀ?ïð€?ï²@?ï À?îô@?îè@?ïë?ïº?ïº?ï•@?ïøÀ?ï{€?ïoÀ?ïÑ€?ïÑ?ïÔ€?ð?ð?ð?ïú@?ïö@?ïî?ïÛÀ?ïé€?ð?ïóÀ?íëÀ?ï÷?ïÓ@?ð?ï¸@?ïè€?ï¾À?èc?ìÝ€?ð?ð?ð?ïØ@?îû@?ïÌ€?ð?ð?ð?ïú@?ïò@?ð?ï÷?ïÉ€?ïõÀ?ð?ð?ð?ïÎ?ð?ïî@?ð?ð?ð?ð?ï‘€?î‚?ð?ð?ð?ï£À?ð?ð?ð?ð?îäÀ?ít@?ï©€?ïl€?°h?ÖŠ€?ïû?À$?h@?Æx?º@?K?fÀ?Ù?á0À?êe€?î?À?ïa@?ï–€?ïT€?﯀?ïnÀ?î’À?ïÄ€?ð?ð?ð?ð?ïäÀ?ïæ?ð?ïÏ€?ð?ïlÀ?í³€?ï³À?î‡@?ïZ@?ïØÀ?ïÚ€?ï€?í"€?æ™À?êÒ€?â~€?êÂÀ?ì@?êWÀ?ê?ìp@?éx?ëÏ€?íL@?í­€?î¶€?ïÙ?ïôÀ?ï”?ïœ?ïù€?ï@?ï7€?î½À?î¡@?ëÂÀ?îìÀ?ï1À?ê*À?ë>?îºÀ?í_À?ïw€?í?î“€?ïxÀ?ïÅ?ïžÀ?ïÇ@?î§€?ïc?í—€?îÞ€?Ý?v ?á¾À?àç€?S€?¾\?ìÐ@?çà@?è¼À?ä˜@?2?Æ`?îÒÀ?ïúÀ?ïå@?ð?ð?ïêÀ?ï­À?ð?ð?ïý€?ïÒ?ïÃ@?ïý?ð?ïø?ï¾?ïý@?ïÃ?ïþ@?ïüÀ?ïþ€?ïû@?ïé@?ïü€?ïáÀ?ïóÀ?ïñ@?ïú@?ïñ€?íK@?ï&€?ð?ïü?ïý€?ïú@?ï{@?ïû@?ð?ïý€?ð?ïý€?ïõ€?ïý€?îÖ€?ì€?ïÜ€?ïßÀ?ïå?ïä@?ï@?ï±€?ïî?ïÜ€?ð?ð?ïØ@?ïú@?ð?ïë?ï©@?ïæ?ïï@?ïêÀ?ï°À?ïÆÀ?ï˜@?ïï?ïñ€?ïw@?ïIÀ?ïÖ€?ïƒ@?ïá@?ï-À?ïŸÀ?ïô€?ïþ@?ïÍÀ?ïF?ïX?ïÀ?ï´€?ïñ?ð?ïð?ïø?ïû@?ïç€?ï+À?ît@?ì@?á€?ïÀ€?ï`@?ð?ïüÀ?ð?ð?ﺀ?ð?ð?ïêÀ?ð?ïó?ï @?ïãÀ?ï¤?ïå@?ïÿ@?ð?ð?ïè€?ïÑÀ?îb@?ì?ïà€?ïð@?ïÚ?ïø?ð?ð?ð?ð?ð?ð?ï˜?îô€?ð?ïoÀ?ð?ð?ð?ð?ð?îë@?ë@?ð?ð?ïO@?p?× €?ð?Ø[€?F?¸?Æ?ÊÉ?ê*€?ìt?âùÀ?í”À?ïÓ?ïö@?ïè€?ïÈ?ïx@?ï1À?ð?ð?ð?ð?﯀??ï¥@?ð?ïÀ?ïõ€?ïó?ïA@?ïçÀ?ïû@?ïç@?ïìÀ?ïØ€?ï€?íä€?ç$À?ì­À?íÏ€?èZ?ì €?ê?èà?ìk€?ëéÀ?碀?è5€?íM€?ï„@?ïç€?ïõ@?ïË?ï¸@?ï^@?íÿÀ?ïÆ€?ì·€?ëz@?ï@?î¦@?í‡@?îù?îíÀ?îB?ïšÀ?ì¹€?ïv?éü@?ØÅ€?Õa€?Úº?Õú?Û´€?ئ?ÐÑ?G?Ào?ë“?Ñq€?G?ž¸?Ôš?Ñh€?ßÒ?ïµ?ïÿÀ?ð?ïøÀ?ð?ïþ@?ïú@?ïèÀ?ð?ð?ð?ïø?ïó?ïØ@?ïÆ?ïî@?ïü?ïõÀ?ïø?ïÔ@?ïÞ@?ïÿ?ð?ïù€?ïÀ?ïúÀ?ï´?ïÅ?ïÿÀ?ïæ€?ïà€?ë†À?éÀ?ð?ïúÀ?ïïÀ?ïâ?ï/@?ð?ð?ð?ï€?ï£À?ï°@?ì‘@?ð?ï$€?ï„À?ï¢?ïd?ïå?ïlÀ?ï›?ð?ð?ð?ð?ïëÀ?ïá@?ïÚÀ??îÏÀ?î‚?ïf?ïŒ?ï„?ïé@?ð?ïý€?ïñÀ?ð?ï΀?﯀?ð?﯀?ï¶À?ïò@?ïù?ð?ð?ïù?ð?ï`€?ì/@?ð?ïì@?ïÔ?ïò@?ïý€?ïoÀ?î“€?ïÝÀ?ë+?îÍ?ïøÀ?ïì@?ïk?ïÆ@?îp@?ïý€?ïøÀ?ïû@?ïè€?ð?ð?ï÷?ð?ð?ð?ïý€?ïù@?ïý€?ïñ€?ïîÀ?ïy@?ï}€?ï†?í¹@?ï´€?ð?ð?ð?ïüÀ?ïÛ€?ð?ð?ð?î—À?î°€?îx€?ð?ð?ð?ð?ð?íZ@?í@?ð?ð?íÝ€?yà?ب?ë“€?àî@?À?² ?¾?çC@?è3À?Ü_€?é#@?íG?ï÷?ï€?ïÿ€?ð?ð?ð?ïï?ïú@?ïé@?ïû€?ï¹À?ð?ïøÀ?ð?ð?ïý€?ð?ð?ïü@?ïêÀ?ïÚÀ??ï²?ïô€?ð?ïˆ?å¸@?êQ€?í7?ì§?íÌÀ?î7@?ç"€?è@?î—@?ïÀ?îÅ@?ï·?ïu@?ï €?ïL€?ï?ïà@?ïÏ@?í¡À?ìæ€?î?íi?ï8€?ï @?ì†?ì’@?îå?ê)?È‚?¿.?¹F?Ìg?æ@?Ò[?á,@?í€?è%?Ú,?Ùë€?P€?~à?Ì[?Ý“?ð?ð?ïÅ@?ïû?ð?ï­?ïâ?ïË@?ïÞ?ð?ïý€?ð?ïö@?ð?ï?ï®@?ïüÀ?ïø?ï÷?ð?ð?ð?ï´?ð?ð?ïå@?ïò@?ïû@?ïó€?ïò€?ïú@?ïð€?ïù€?î°?ìŽ?î¼?ïïÀ?ïôÀ?ïÞ@?ïä?ð?ð?ð?îq€?îµ?ë•??ï¬À?ï€?ïÑ@?ïö?ïôÀ?î¨?ð?ïî@?ï¢?ð?ïüÀ?ð?ïú@?ð?ï@?íÔ€?ïÓ€?ï@?ð?ð?ð?ð?ïzÀ?ï÷@?ïú@?ï€?ð?ð?ð?ð?ð?ïüÀ?ð?ð?ïø@?ð?îK@?í`?ð?í%@?ï¢À?ïc@?ï4?ïe@?ð?ï–@?íõ@?îÿ@?ï=@?ïËÀ?î{@?ïù€?ïçÀ?ïö@?ïàÀ?ïЀ?ð?ð?ð?ð?ïüÀ?ïþ€?ð?ð?ïõ€?ïú@?ïýÀ?ïh€?ï”À?ïÕÀ?çÃ@?ìJ?ïï@?ïý€?ð?ð?ð?ïö@?ï¨À?ïÅÀ?ïÖ€?ð?ð?ï¯À?ð?ð?ð?ï¾@?íe?ìƒ@?ïÏ@?ð?ð?çN?àò@?×R?„Ð?“¸?4?”(?s ?¥T?Ýf?êÈ@?Ô0€?ïƒÀ?ïê@?ïì€?ïïÀ?ï­?ïƒ?ð?ïÀ?ïÆ€?ïü?ïüÀ?ð?ïøÀ?ð?ð?ð?ð?ð?ïñ@?ïþ€?ïÝ?ïí@?ï?ïÞÀ?ð?ïö@?îéÀ?è"€?î?êh€?í¿À?íÑÀ?í¦À?ëW?Ù°?Ýå?ëÒ€?î‰?í:?îÉ?ïÀ?îµ@?êà@?îP?ïÂ?îÓ€?í@?é©@?íò@?ïwÀ?é?î^À?ï³€?á©À?Ø‘?éþ€?ïÝ@?ï–@?ĉ?¥À?Ál?ìð?íŸÀ?ï~À?î€?䌀?¼þ?°à?Øo€?Û<?Õò?ïÍ€?ð?ð?ïõ?ïùÀ?ïêÀ?ïÜÀ?ïõ?ïø€?ïæ?ï½€?ïÐ?ïý€?î÷?ïIÀ?îæÀ?ð?ïÿ€?ï @?ï À?ïv@??ð?ïî?ð?ïÏ?ïý€?ð?ð?ïÛ€?ïý€?ïl@?ïè€?ïé€?ïÿ?ïóÀ?ïm@?ïâÀ?îW@?ïûÀ?ïÂ?ïÒ?ïú@?ïö?ïú?í7€?覀?ïÓÀ?ïn?í\?ïÒÀ?ïÿ?ð?ð?ð?ïˆ?ð?ïö@?ïþ@?ð?ð?ïÙ@?ïëÀ?ï—@?ïó@?ï¶À?ïêÀ?ï÷?ï÷€?ð?ð?ïù?ï‚À?ï×€?ïðÀ?ïû?ï÷€?ð?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ€?ä™@?èÀ?ïK@?ïïÀ?ïú?ïà€?ïv?ï~?ïý€?çù€?êAÀ?ïЀ?ïé€?ïMÀ?ïñÀ?ïó?ð?ïh?ð?ïõ@?ïÏ?ð?ïú?ð?ð?ïþ@?ð?ð?ïû?ð?ïí@?ïúÀ?ïÝ?ïå@?ïºÀ?ï7?í-À?ï§€?ïý€?ð?ð?ð?ïÕÀ?ï¤?ïëÀ?ïè?ð?ð?ð?ð?ð?ﻀ?ïþ@?î­@?ïWÀ?ïå@?ð?ð?ë8?¶¾?Û€?¢P?€?Ò0?æ@?à€?îL@?ð?ïëÀ?ï ?îz€?ï΀?î À?ïÛ@?ìˆ?ïÝ@?ïƒÀ?ïo€?ð?ïû€?ð?ï÷À?ío?ð?ïÿ@?ïþÀ?íŽÀ?ïø€?ïçÀ?ïÒ?î5@?ïó?ïü€?ïÈ@?è€?ï­€?ï>€?í€?í‡@?ëÅÀ?Õ£?Ÿh?»?åºÀ?ìó@?íÓ@?ìnÀ?í~€?îÖ€?î©€?î À?í@?ï.À?ïµ@?íú?ï@?ïE€?ï!€?îÆ@?éß?ådÀ?ïß?ïð@?é¹?áz@?´,?<?‹?ìI@?î?ìÍ€?ìû€?îÃÀ?ãº@?À=?¿?ë`€?ïÊ@?ïî?ïðÀ?ï¯@?ï×€?ïÿ?ï|?ïä?ïý€?ïù?ï©@?ïË@?íþ€?íR€?ïµ@?ï¦?ïç?ïÞÀ?ð?ð?ïÜ?ïö@?ï€?ïI@?ï@?ïL€?ð?ð?ð?ð?ïæ€?ïæÀ?ïæÀ?ïj@?ïö?ïØ€?ï2€?ïò@?ì|€?éè@?íD€?ð?î'À?éÌÀ?êÔ?ïT€?îf€?íÀ?ïû@?ï×À?ïð?ïì€?íQÀ?ïò?ð?ð?ïÎÀ?ïø@?ð?ð?ð?ð?ð?ð?ï°@?ïÁ€?ïö?ð?ð?ð?ð?ð?ð?ïØÀ?ïË@?ïÚ?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ð?ïûÀ?ïâ@?ïÿ@?ð?ð?ð?ïX€?ð?ð?ëÀ?ï÷?ïöÀ?ïù?ïÒ€?ïýÀ?îŽ?ïÍ?ïí?ï÷€?ïÜÀ?ïû@?ïË?ï÷À?ïì€?ð?ïùÀ?ð?ð?ð?ð?ð?ð?ïü@?ð?ð?ð?ð?ð?ð?ïÓ@?ïƒÀ?ïs?ïú?ïú?ïìÀ?ð?ïù€?î€?ïá?ð?ïá?ð?ð?ð?ï÷€?ï´?ð?ð?îÐÀ?ïî€?ï¶€?ð?ïb?Ïg?âY@?Ó?y ?•p?•ˆ?î€?ꣀ?ï€?ð?ïèÀ?ï£À?ïä?ïl@?ï÷@?ð?ïà@?ïöÀ??ð?ïø€?ïøÀ?ð?îŠ?ïY@?ð?ð?ð?ï}À?í€?ï‹@?ïöÀ?ïî@?ïù@?ïþÀ?ïx?î €?ê@?ïÀ?ïLÀ?á`?“@?p?Ñõ€?„?(?ˆ ?æº?ì—@?îÇ€?îÄ?îª?íe?ìÑÀ?î ?ì©€?ï‰@?ï(?íË€?ïZ€?ïž@?î À?æ?ïÏ@?ïi@?ïñ€?ïØ@?è ?pÀ?€°?‡`?gÀ?©?º?¹Ž?Ķ?ײ?ÙÉ€?äž@?Ú?f?ÌÝ?ë¾@?ïI?ð?ïú?ïð?ï€?ïôÀ?ïé@?ïÅÀ?ëÀ?ïo?ïS?ïî@?ïæ?ïîÀ?ïù@?ïÔ@?ïª?ð?ïÿÀ?îÀ?î;€?ï'€?ïÝ?ð?ð?ð?ïý€?ð?ïæ?ð?ïùÀ?ïè?ï4?ç @?áŽ?íœ@?îsÀ?ïý?æD€?ÙÉ?¸Ö?âº@?ïO?ïó?îm€?ì«?ïYÀ?ïù@?ð?ð?ïÓ@?ígÀ?íó€?åb€?Àœ?ÌA?àv?ïî@?ð?ð?ð?ð?ð?ï?áŸ?ç„?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?ð?ð?ìò@?Ý€?ãˆ?é?å?á—?ï«?ì:?ëO€?ïü€?ïû?ð?ð?ð?ï?ð?ð?ð?ïëÀ?ïñÀ?ïÜ@?ï×@?ð?ð?ïÝÀ?ïõ€?ïý€?ïò€?ð?ï÷€?ð?ïûÀ?ïé@?ïù@?ð?ïï?ð?ïú€?ïó€?ïüÀ?ïüÀ?ð?ï÷À?ïÞ@?ïðÀ?ïö?ï»?ïû?ð?ð?ð?ïä?ì€?ï€?ïû?ïò@?ïÎ?ð?ï]@?ïú?ð?ïàÀ?ï­À?îç€?ï£@?ð?ð?ã­€?⸀?Ü/?‹À?sà?¢p?2?äß?ïþÀ?ïÁ€?ð?ï—€?ïv?ï’?ïÄ@?ï¥@?ïü?ð?ð?ïëÀ?ï?ïûÀ?ïô@?ïþ@?ð?ð?ð?ð?ð?ð?ïû?ïþ?ïÑ€?ð?ð?ð?í–@?ïzÀ?í‹@?ï¢À?딀?æu€?ßC€?êŽ@?ëÀ?ÚO?Ö?Þó€?Ḁ?í?ï€?ïM€?î¤?í©@?íÁ@?ïb?ï?î?ïk@?ï%€?ïy@?î@€?íÐ?ïÐ@?ï,€?ï”?ïì?ïô?î.À?Ò1€?Ȫ?à ?²b?Þ?’Ð?À•?2?Ï¥?ij?,?Ýã€?ï¶À?ð?ïÿ€?ïËÀ?ïáÀ?ïý€?ïû@?ï'€?ïú?ïý€?íœÀ?îQ?î›?ïÐÀ?ïˆÀ?ë8À?ð?ïí€?ïð?ïÊ@?ï«?ïqÀ?ïê€?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ïr€?éû@?¸?šp?ÒŠ?å[€?àÏ@?ƒ€?¬°?çU?ï{?ïÝÀ?ïÜ?ï\€?í_?ïµ€?ïô@?ð?ìÅ@?çˆ?Òƒ?Œà?ÛÖ€?ïå@?ïý€?ïöÀ?ð?ð?錀?Ö€?Ã[?ëö??ï»@?ïþ?ïó@?ð?ð?ïÅ€?ïèÀ?ð?ð?ð?ïº@?Ð#?éÉ@?ð?ïÓ@?ï¨@?ïãÀ?ïù@?ð?ã?ïÆ€?ð?ð?ï=À?îæ@?ïî@?ïý€?ð?ð?ð?ð?ïô@?ïô@?ð?ð?ïß?ïý€?ïp€?ïûÀ?ð?ð?ð?ð?ð?ïù@?ð?ð?ïó@?ïÿ@?ïõ?ïô@?ð?ð?ð?ð?ïý€?ïû?ïðÀ?ïó?ð?ïûÀ?ïÿ?ïbÀ?ìéÀ?ï:€?ï’€?î²À?î¡À?î¢?ïR€?ïþ@?ïî@?ïä@?îÖÀ?ïö€?ï®?ð?í›À?½ê?d@?Ã?›@?]?Çî?£8?â @?ïïÀ?ïF@?ï‘€?îú?îóÀ?ð?ïõ?ïùÀ?ïý@?ð?ïþ@?ïüÀ?ïý€?ïý€?ïû€?ð?ð?ð?ð?ð?ïþ@?ïú€?ïü@?îÙ?ïí@?ïû?ïÛÀ?ï§@?ïB@?ï7@?í¢?ï.?ï–?î÷@?î¹€?î;?ïÅÀ?î?äfÀ?Ù½€?á?Ë›?ܬ?á€@?èMÀ?ê—€?íG@?îc?î–€?î•?ï€?ï€?íÀ?ïú?ïG?î!@?ìä@?îÛ€?î‘€?ìE@?ïÁ?ç°À?Ûç€?ÖH€?Þ;€?äl@?¦Ð?j?æé@?ïâ€?ð?ï¼À?ïÕ@?ïú?ïÞ?ïÝÀ?ïï€?ïè?îî€?îà€?í¦À?ïtÀ?ä–À?£`?ç§€?ìé?ïøÀ?ïø@?ïùÀ?ïYÀ?ï!€?ï”À?ð?ð?ð?ïï€?ð?ð?ïÄÀ?ì?鎀?¿æ?ÑÀ€?ëWÀ?îÖ@?Úm?Ô €?ãÝ€?ï–À?í“@?ïõÀ?ï¶@?ïµÀ?ïý@?ïPÀ?ïh?ïñ€?î‚À?¿*?A?qà?§h? ?èö@?ïÿ@?ð?ð?ð?ð?éE@?¸Ø?W?Ç?í]@?ï÷€?ïÏ?ïn€?ï{€?ïí€?ïò€?ð?ð?ð?ïü€?ïù?ïx@?ål€?ï¨À?ïÔÀ?ïþÀ?ïü€?ð?ð?ïú?ð?îò€?ï¶€?ð?ð?ð?ð?ïú?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?î›À?ï7@?ïwÀ?ð?ð?ð?ð?ð?ð?ïø@?ð?ïþ@?ïý€?ð?ð?ïúÀ?ïý€?ð?ïûÀ?ïú?ïÄ?ïúÀ?ð?ïÿ@?ïµÀ?ï¨?î…?ìÉÀ?î©@?ï÷?ð?ð?ð?ð?ïø@?âÓÀ?ì±€?ïó?ð?ð?âQ?F?ŠP?Õñ?Ïa?¥L?Ï·?´Ì?k@?ç|?ïì€?ïÙÀ?ð?ïÿ@?ïþ@?ð?ïþ@?ïè@?ð?ð?ð?ïý€?ïð€?ð?ïþ?ïü@?ïàÀ?ïù?ð?ð?ð?ð?ð?ð?îz?ïþ?ïûÀ?ïZ?ï”@?ï¹À?ï @?ï6@?ï¡?ïô?ï¾@?ïÔÀ?ï½€?ïjÀ?Ò¨€?—Ø?ݹ?í„€?Öy?€?ÂÆ?¸z?êy@?íÿ@?î~@?îÖ@?îÔ€??ì€?îƒÀ?ï-À?ï ?î’À?î]@?í°@?ë²€?ä<?×x?ák€?êò?ï®À?è%€?º?ãþ?ï¹€?ïþ@?ïýÀ??ïñ@?ïÅ@?ïÅ?ï°€?ð?ë¯@?ì€?ïÑ€?ïû€?âæ?°ô?ßt€?ï×?ð?ð?ïÇ€?ïs€?ï$€?îû€?î½À?ð?ð?ð?ïÊ@?ïGÀ?î+€?Í?x`?ß9€?Ë?6?Êž?çú€?ïç€?ð?ð?ïÄ@?ïíÀ?ïëÀ?ïý€?ïë€?ßý?r@?jÀ?Þ€?íD@?ð?ð?ð?ð?ð?ð?ã¿À?Ñx?î^€?ð?ð?ïµÀ?ïE@?ï¯À?ð?ð?ïö@?ïãÀ?ïñ@?ï ?ï÷@?ïÇ€?ïû?ïÄ€?ï¼?ð?ð?ð?ïWÀ?íþ€?îì?î¯@?ïíÀ?ïí€?ïÆÀ?ïâ€?ïú@?ï°?ïò@?ð?ð?ð?ïúÀ?ïõ€?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ@?ï¶@?ð?ð?ð?ð?ð?ð?ð?ïû€?ï÷€?ïôÀ?ð?ð?ïúÀ?ïúÀ?ð?ïôÀ?ð?ïç@?ïÞ?ïÇ@?îó€?ï:@?ï;€?ï%?ïáÀ?ð?ð?ð?ð?ç¿€?ïÐ@?ð?ð?æÀ?‹@?Ó²€?ìÂ@?Æê?‘H?À?ÂÍ?ë€?ïì?ï¾€?ï¿À?ð?ð?ð?ð?ï¡@?ïý€?ð?ð?ïÿ@?ï¡@?í@?ïé€?ïó€?ïòÀ?ïæ?ð?ïþ@?ï÷@?ð?ð?ï¬?íZ€?ïöÀ?ïð€?î~À?ïÓ€?ïí@?ïЀ?ï €?ïp?ï ?ïð?ïS?ïÏ€?ëáÀ?Ì ?Ü?îc?ïÝ@?âã@?Ó¾?ãÈ€?æØ€?í«À?î¥@?îº?ëÙ@?ïWÀ?ïª@?ëuÀ?ïÔ€?ï€?î}?í?À?äg€?×¼€? ?æ€?ìY@?Üö€?Âü??é ?ð?ïÏÀ?ïó?ïÕ@?ï/@?î7À?ï¬À?ïÐ?èü€?Ó…?Ï}?ï÷@?ð?éC€?ÃÐ?>?ÑS?ìÕ@?ï“?ïåÀ?ïý?ïò@?ð?ð?ïk@?îª@?î­?î¶À?îð€?îá@?ï—À?ÑÕ?¡Ð?æ“?ð?ð?ïü?ïè€?ïÿ?ïR€?ïÐ@?ï½@?ÍÞ?b@?éÍ€?ð?ð?ð?ð?ð?ð?ð?å$À?ؘ€?Þ¾€?ï!€?ð?ð?ð?ð?ð?ïXÀ?ïŽ@?ïûÀ?ïÇ@?ï§€?ïù@?ð?ð?ïì@?ïÿÀ?ð?ï³?ês€?íM@?ï7À?ï`?ïî?ð?ð?ð?ð?ð?ð?ïå?ïá€?ïê€?ð?ð?ð?ïo€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ð?ð?ð?ð?ð?ð?ð?ïý?ïüÀ?ð?ïû€?ïÆ@?ïùÀ?ïý@?ð?ð?ïý@?ï¬À?ï€?ïßÀ?ïðÀ?ïú€?ïŠÀ?ï‚€?î¾@?ð?ï>€?ð?ð?ïÁ€?ïÆ@?ð?ð?ìû?²Ú?Ñ?ïêÀ?ïùÀ?é±@?áŸÀ?½Ø?£Œ?Ýb?ïR?ï·À?ïÜÀ?ð?ð?ð?ïø?ïÄ@?ð?ï÷?ð?ð?ïí?ð?ïh€?ïþ@?ïü€?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?îì?ïKÀ?ïþ@?ïÆ?ïô@?ï¨@?ïÙ€?ïÉÀ?ð?ï?€?ïÀ?îŒÀ?î¥À?ìÀ?¯X?â€?ïö?ïøÀ?â°€?ßg€?Òd?ïÿ?ïÞÀ?åRÀ?Ø!€?Ôq?Ìm?ïî?ï(À?îÖ?ïâÀ?ï°À?í€?åÀ?ÎL?p ?Š@?ç ?ÕŸ€?o@?X?ÇB?Ö?¸l?©`?8?° ?呂?ïûÀ?ð?ð?ífÀ?Ån?°®?Ô²€?ß?’8?¢?‰?éPÀ?ïOÀ?ïß@?êF? ?¶4?à?@?ïf@?ïÀ€?ïú@?ð?ïûÀ?ð?ð?ïøÀ?ïí?ð?ïý@?ãn@?Ÿ ?šè?Þ?î~@?ð?ð?ð?ð?ï®@?ïÀ@?Ò«?Ïz?ít@?ð?ð?ð?ð?ð?ð?ïä@?îe€?ïX?ïÿ@?ð?ð?ð?ð?ð?ð?ï?ïˆ@?ð?ï¾?ïH?ð?ð?ïÀ@?ïõ@?ïý@?ïùÀ?ïÿÀ?ð?ð?ïç€?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ð?ïý@?ïô@?ð?ð?ð?ïý@?ïõ@?ï'?ï­€?î™?ð?ïÖ€?ïD@?îB??ïå?ï÷?ïý€?ïgÀ?ïú?îºÀ?ð?ð?ð?ïì€?èò€?äD@?ï/À?æŠ?¿ ?Õl€?æâ@?ﻀ?ïïÀ?ëKÀ?äD@?¨¨?çKÀ?ïÿÀ?ï¶?ïŒ?ïÄ€?ï÷?ï%€?ïñ€?ï±?ï~?ïúÀ?ïÊ?ð?ï¡€?ïé?ïî@?ï¥@?ïÁ?ïŸ?ð?ïý@?ð?ð?ð?ð?ïþ@?ïû€?ïý€?îð@??ïÔ?ð?ïÆÀ?ïí@?ïø?ð?ð?î¥À?ïÔ€?îí€?ërÀ?ØË?ïþ@?ïý@?ð?ë¼À?䯀?ð?î€?଀?é7?å À?ë+€?ïÀ?ïÉ@?ïfÀ?ïÇÀ?ïE€?í+?´?xà?Ý…?íÀ?ïÔ@?ïßÀ?ïZ@?ë^@?였?éÆ?ê¡À?ïç@?ïh?ï¦À?ïùÀ?í‹?“`?<?çŒÀ?´P?À?é€?ïq?ïÄ?ס€? ?‰p?Çe?çb?î½€?婢?ïþÀ?ïâ€?ï¾@?ïè€?ïßÀ?ïó@?ïµÀ?Òó?I?Õ@€?ïÑÀ?ïÌ€?ð?ïþÀ?ïû@?ð?è²?@?²–?ï/?ð?ð?ð?ð?ï÷?ï½€?ï;?ïœÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïXÀ?ï™?ïú€?ïÙ€?ïê€?ð?ð?ð?ïÉ?æ @?ÓÞ€?ëÉ€?ð?ïû€?ð?ð?ï÷?ð?ïý@?ð?ïé@?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ïÀ?ïÎÀ?ð?ð?ð?ð?ïøÀ?ïù?ïü€?ïøÀ?ïã@?ð?ð?ïý@?ïý@?ïùÀ?ïÅ@?ï·@?ïïÀ?ð?ð?ï7?ïïÀ?ïý€?ïöÀ?ï?ïÀ?ïë?ïíÀ?ïVÀ?ïÏÀ?ïú€?ð?ä*?µ&?\€?§8?(?½Š?ã[€?Ù€?á"?êÊ@?¤Œ?ç·?ð?ïq@??ïŽÀ?ïÇ?ïþ?ð?ïøÀ?ï°?ïR€?ïó@?ïÍÀ?ï÷€?ïê@?ð?ïüÀ?ïõ@?ð?ïæÀ?ð?ïæ€?ïì@?ïò€?ïþ@?ð?ïÇ@?ïò@?ïøÀ?ïï?ïï€?ïú€?ïí?ïþ@?ïý@?ð?ð?ï’€?ï×@?ïôÀ?í¬?O?×`€?ïå?ïüÀ?ð?è0À?ås?Ïa?Æs?äç?ð?ï5@?îL@?ïýÀ?ïïÀ?ï÷€?ïúÀ?ïm€?è@?e@?Õ?ï«À?ïxÀ?ïó?ïí?ïõ€?ïèÀ?ïÕ?ïv€?ïž?ïå€?ï¯@?ïâÀ?ä3@?Š?âÓÀ?l?­Ü?èç@?ïü€?ïn€?ç6?ËÚ?®¤?êJÀ?ïµ?ð?ïü€?ïò€?ï§?ï|€?ïÂ?ð?ç€?†€?¡¼?Þƒ€?éé€?é¿À?å"€?Ï^?É6?ïø?ï߀?ïˆÀ?ïÅ?ïü€?ð?ð?â)À??Á?ï¸?ï÷À?ð?ð?ð?ëv@?ð?ïÜÀ?ï9?ïs?ð?ð?ð?ïö?ð?ð?ð?ï2€?ð?ïÌ€?ïþ@?ïðÀ?îD@?ïðÀ?ï€?ï À?ð?ïñ€?ï÷?ïþ@?ð?ð?ïò€?ïÖÀ?ð?ð?ïè€?î‚@?ëV@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø€?ïÁ@??ïž@?ïÜ?ð?ïï?ð?ïõÀ?ïôÀ?ïË?ïò€?ð?ï|À?ð?ïû€?ïy€?ïïÀ?ð?ç‹À?r ?r?âê?¿0?¥?Ý´€?ïý@?ïû€?ï•€?ð?ïì@?ïø?ïö@?ïöÀ?ïúÀ?ïì?ð?ï€?ìÜÀ?î¹€?ïú€?ïæ?ð?ð?ïý@?ð?ïö?ïÜ@?ïê?ð?ð?ïý@?ïþ@?ïÛ@?ð?ïý@?ïþ@?ð?ð?ïÊÀ?ï÷À?ïû€?ïé?ïL@?ïþ@?ïþ@?ÜÜ?ë{?ïåÀ?ïÞ?íÀ?Ín?Ã|?ãñ?î|?ïÖÀ?ð?ïÿ?ð?ïî?ïø?ïª?ð?ï¯?忀?Å]?Ô€?ïW?ïø?ïX@?ï—À?ïú€?ïðÀ?ïÌÀ?ïÞ@?ï¿@?ïi?åš@?̇?±Ä?ÜÎ?ÇÐ??Åî?èÁ?ïø@?îw€?âµ€?²ò?ã!@?íèÀ?í°@?ï™À?ï@?ì À?ågÀ?ép?ïá@?æµÀ?ÞO€?Þ·€?ä6?äÀ?ïÞ€?ð?ð?ð?ð?íÀ?ãÕ€?×€?Þæ€?Ø’€?ås@?ïÞÀ?ð?î¿À?ð?ïØ@?îŽÀ?î@?ïë€?ëŒ@?¥p?¦?ë™@?î¦À?ð?ï$À?ð?ð?ð?ð?ï`À?îõÀ?ï]@?ð?ð?ïþ@?ð?ð?ïL€?ëüÀ?ïÆ?ïñ€?ï À?ïÐ@?ïöÀ?ïò@?ïþÀ?ï÷À?ð?ð?ð?ð?ïÖ?ð?ð?ïßÀ?ïý@?ð?ð?ïý@?îÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ïþ@?ïÀ?îPÀ?ï–?ð?ïÿ?ð?ï€À?ïÎÀ?ï™@?ð?ð?ïþ@?ð?ð?ïöÀ?ìO@?é%?ïö?ï[@?ð?îÙ€?ïzÀ?ïËÀ?ïâ@?ïï?ØN?C?Ù©?Ø{?Ä ?ïÿÀ?ïÖ?ïò@?ïé?ïý?ïû€?ïç@?ð?ð?ð?ð?ïùÀ?所?æÎÀ?ð?ð?ï`€?ð?ð?ïþ@?ïü@?ïö?ïþÀ?ïý€?ï»@?ïÉ?ïøÀ?ïû@?ïÙÀ?ïö?ïñ@?ïÈ?ïú€?ð?ïÈÀ?ïÿ€?ïô€?ïË?ït?ïãÀ?ïÏ€?ïøÀ?ïÃ?ïæÀ?ïú€?ïú€?ï½?ð?ð?ð?ð?ïÿÀ?ïÿ@?ï÷@?ïø@?ïôÀ?ëz€?à ?Äø?„0?˜À?Ñ??ïõ@?ïöÀ?ï @?ïü€?ïò@?ïª@?ïøÀ?ïØÀ?ïÀÀ?ë À?²þ?¢ð?Ûæ?ïÝ€?¡?™Ø?à1?îüÀ?åí?ÞÕ€?Ù®?¿¤?î5@?ïùÀ?ï ?å€?â‡À?ÃE?ŸÈ?½0?åæ@?ã-@?ày€?êÀ?ïk@?ïÊ@?ïª?ð?ïú@?ïý?ð?ð?ï¢À?ïçÀ?ð?ð?ð?ð?ïéÀ?ð?ïýÀ?ð?ꔀ?í®À?ïô€?ïæ€?ïÕÀ?î ?Ño€?c€?È<?ïð@?ð?ð?ïÿÀ?ïÿ€?ïÕ@?ð?ð?ð?ð?ïê@?îí€?ïö@?ïÝ?ïØ?ð?ïø@?ïÔ@?ïÞÀ?î÷@?í`@?ï¡€?ïÑ€?ïõ@?ð?ïö@?ï@?ð?ð?ï¬?ïü?ð?ïý?ïÉÀ?ð?ð?ð?ð?ð?ð?ð?ï,€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïà?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ€?ï¾?ïƒ?ï€?ï`À?ïn@?ï’À?îý?ïÔ?ïþ?ð?ïj@?ïÀ?ï¸À?ïÀ?ïÿÀ?ìµ@?Ç,?¦?í(?ïÿ@?îÎÀ?îÀ?ïÚ€?ð?ïc€?ëw€?Dz?àð@?ï@?á.À?äšÀ?ïÍÀ?ïï€?ïø@?ï.€?îùÀ?ï@?ïÿ?ð?ð?ð?ð?ïÛ@?ïõ@?ï´À?î€?ï§@?ïí€?ïÿ?ð?ð?ð?ïò@?ïáÀ?ïÑ@?ïû@?ð?ïû@?ïÓ@?ïïÀ?ï¹À?ð?ð?ð?ï³€?ïÔ?ð?ð?ïð€?îï@?ïË@?ï3€?ïà@?ïòÀ?ïü@?ïü?ïõ€?ïù@?ït@?ïù@?ïþ?ð?ïù@?ïš?ïø@?ïËÀ?ð?ïÀ?ïõ€?ïØ?äÄ€?¦l?·ä?ï“@?ïÿÀ?ïßÀ?ï*€?ïÈ?ïœ?ïü?îõ?ð?ï×?Ð?Ðç?Öî€?´x?Öe?ïò€?±Ü?Ý;?âÍ?€Ð?¶Š?W€?Ý–?ïáÀ?ïâ@?í`À?¾?ƒ?³Ü?¿<?é€?ð?ïì€?ð?ïÕ@?ïì@?ð?ïÞÀ?ïÿ@?ïö@?ð?ð?ïý?ïó€?ð?ð?ð?ð?ïû@?ð?ï»?ïÞ?ïÙ@?ïæ?ð?ïû?ïºÀ?æf?>?~ ?Üc?ð?ïÑ@??ïÐ?ð?ð?ð?ð?ð?ð?îù@?î–€?ïó@?îý?ïÔ?ïÈÀ?ï €?ïù@?ïú@?ð?ð?ð?ð?ð?ð?ð?ïæ@?ïï?ï÷@?ï>À?ïÂÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ïÜ?ð?ð?ïý?ïéÀ?ð?ïò€?ð?ð?ï@?ïþ?ïÝ@?ï˜?ïó@?ï¿À?ï½À?ïý?ïæÀ?ð?ð?ïú@?ïû@?ð?ïÛ@?æË€?˜H?Q€?äœ?è±À?ÖT€?Ì?ácÀ?ïW?ð?âÆÀ?Z€?߀?ï¼?ë¼@?º°?ð?ïÿ?ï¸?ïçÀ?ïÙÀ?ïC@?ð?ð?ð?ð?ð?ð?ð?ïý?ïó€?ïþ?ï÷@?ð?ð?ð?ïþ?ïî€?ï®@?ð?ð?ïð€?ïü?ïÞ@?ïþ?ïò@?ïÀ?ï÷@?ï„@?ïú€?ïú@?ïÆ€?ïÛ@?ïÛ?î²€?ïv@?ïéÀ?ïêÀ?ïË€?ð?ïû@?ïø@?ïñ€?ïö@?ïó€?ïö@?ð?ð?ð?ïñ€?ð?ð?îð@?ë@?îø@?Ôÿ€?W€?™¸?ÚW€?ïP€?ïÀ?îm@?ïAÀ?ï$@?ïÆ€?ïü?ï[À?ï³?ï–?Úƒ?p?¹ ? ?l€?ȃ?ÐÇ€?4?G?U€?Ȳ?çY@?Ÿx?r?âL?ï €?íx?Ø^?¶?ƒÀ?¾Ê?ÜB?ð?ïA@?ð?ð?ï@?ï,À?ïç?èiÀ?ïK€?ð?ïÊ€?ð?ð?îú€?ì€?ïz@?ð?ïëÀ?ê«À?é@?ïó@?ﮀ?ïò€?ð?ð?ð?Ï ?ªô?ìÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îâÀ?îxÀ?ïæÀ?ïÿ@?呂?ïô@?ïô@?ð?ï¼?ð?ð?ð?í@?ð?ïô@?ïÛ€?ïúÀ?îëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ïàÀ?ïû@?ïPÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ïù@?ïK?ïûÀ?豈?ï?ïõ@?ï–À?ð?ð?ð?ïà€?ïÉ€?ïú@?ïÝ?å¸À?Ên?°"?¥@?Ô ?›ð?a€?ÉK?î­€?ïú@?éí?ÂW?6?çˆ@?ïÞÀ?àÇ?v`?ëXÀ?ï@?ïý?ïÌ@?ìÒ€?ïï€?ïƒÀ?ð?ð?ð?ð?ð?ð?ï¤À?ïÿ?ïÿ?ð?ð?ð?ïÿ?ïß?ïõ@?ð?ïý?ð?ð?ð?ïû€?ïü?ð?ï¢À?ïäÀ?ï;€?ïk??ïåÀ?ïø?ïô€?ïøÀ?ï@?ï{€?ïS@?ïù@?ð?ï–?ð?ïü?ïé€?ïó€?ð?ð?ð?ð?ð?ð??åñÀ?ì—@?Ñ‹?(?bÀ?©ô?±^?r€?æn@?ï»@?ïŠÀ?ïñ?ï{À?î«@?ïü?ïéÀ?ï÷@?ïð€?ï©À?­À?S€?ÁÇ?Òï?Ç]?Øn€?áÔÀ?ÂË?‹€?Ê·?çø@?åaÀ?è–€?ÝD?–8?Áö?ÙÂ?î€?ïÏ?ïg@?ïö@?ìÆ€?í]À?ïñ@?ïU?ð?ïð€?ð?ð?ïø@?î©?îù€?ïÑ€?ïUÀ?ï¸?ì@?êï€?ïõ@?é†?îX€?ïþ€?ð?ïû?Ãó?ì\€?ïý?ð?ð?ïò€?ïè€?ð?ð?ð?ð?ð?ð?ï,€?ï@?ï›?ïõ@?ïÓ€?ïg?ïuÀ?ïçÀ?ð?ïã?ïU€?ïÒ@?ïÑ€?ïó€?ð?ïü?ï¨À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ï1€?ð?ïþ?ð?ð?ð?ð?ð?ì{À?ïî€?ïú@?ð?ð?ð?ïçÀ?ð?ð?ïô€?ï«@?ïjÀ?ïÚ@?ïí@?ïõ€?ïò€??ïÉ€?ð?ïüÀ?ï€?ð?ð?ð?êÍ€?ÖG€?µ|?`À?áe€?íù@?ï©@?ïeÀ?è}À?p?¿È?Í?ïì@?è=€?¶P?Ã5?ì…@?ïu?ï¶@?ïè?ï<À?ïý€?ð?ð?ð?ð?ð?ð?ïý?ïù@?ð?ïÿ€?ð?ð?ïÊÀ?ïï€?ð?ïß?ð?ïœÀ?ïà?ð?ïû?ð?ð?ïµ?ïÊ€?ïâÀ?ï€?ïãÀ?ïº?î`?ï*€?ïùÀ?ï÷@?鹿?ïIÀ?ïÿ€?ïº?ïd?ïË€?ïþ?ð?ïÝÀ?ð?ïþ?ð?ð?ð?ð?î)À?äÀ?ã]@?ÌT?g@?¸–?ƒ?cÀ?Â?ï@?î;?ïÇ€?ïäÀ?ï—À?ï½?婢?ï}À?ï•@?ê™?£Ì?³à?ËÇ?çK€?ïò€?æs@?³‚?æY€?íV?Òs€?¼f?·"?£?¹?ç¬@?ïÝ?ð?í À?ï¬@?ì4?ïœ?ï ?ð?ð?ïÚ?ït€?ï·@?îd€?ï·@?ð?ïäÀ?ퟀ?ïþÀ?ð?ð?éh@?ãÔ€?ïþÀ?ð?ð?ä<@?ÐÊ€?ê÷€?ïé€?ð?ð?ð?ð?ð?ð?ïù@?ïp@?ïÕ€?ïØ@?ï·@?îí?îù@?ï+@?îÙ??ï@?ï•?ð?ïÐ?ï­€?ïzÀ??ð?ð?ð?ïý?ð?ð?ïø@?ð?ð?ð?ïý?ð?ð?ð?ð?ð?ð?ìÅ@?ï²?ð?ð?ð?ð?ð?ð?ð?ï…?ð?ð?ð?ïm@?ð?ð?ð?ð?ïé€?ð?ï¡?ïý?ïãÀ?ïå?ïý?ð?ïÀ€?ïü?ïô@?ïû€?ïñ€?ð?ï À?ð?ï¼?ï=@?Òh€?ÒÒ?è€?Ù£€?Èí?œ¸?³Ø?ã~À??ð?ÚÏ€?ˆ?¾ü?±Ð?ÅP??ï>@?æ‰@?Ö±€?ï½€?ï¹?ïÃ@?ïåÀ?ïó@?ð?ð?ð?ð?ð?ð?ïü?ð?ïæ@?ïÿ€?ð?ïû@?ïû@?ð?ïü?ïô@?ïþ?ïû@?ð?ïëÀ?ïþ?ð?ð?ð?ï²@?ïÃÀ?ï?ïçÀ?ï™À?ïÀ?ð?ð?ïð@?ïõ€?ïj@?ï§@?ï¡€?ïß@?ïÞÀ?ïÉ?ð?ð?ð?ïÿ?ð?ð?ð?ð?ï²?èBÀ?Åœ?A?²R?¬Œ?³F?ï`€?ïx€?ïh@?ïâÀ?ïÐ@?ï›À?ïí@?ïû@?è”?Ï¡?n@?³:?ÉJ?ÚÈ€?âZ?Ùá?Ü|?æ!€?åØÀ?ã€?ìåÀ?ëÀ?Ù€?p ?d€?Í1?ß?Ï&?ãy?½ì?£ð?´?´?¨p?ÑÆ?à*?ì@?ïÎ@?âGÀ?ç¶À?ï÷À?ð?ì?åS?ä6@?ïâÀ?ð?ïLÀ?ïý?ð?ð?ð?ïöÀ?ïþ@?ð?ïêÀ?íñ€?ï÷@?ð?ð?ï}€?ï`À?à˜À?È?Ѻ?ßœ€?ê²?ïú@?ð?ð?ð?ð?ð?ð?ï•?ïn@?ïì@?ð?ð?ð?ð?ïø?︀?ï À?ïÓÀ?ð?ð?ïÞ?ï‘€?ïù@?ð?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?ð?ð?ïÎ@?ïþ?ïú@?íÙ?ïõ@?ïõ@?ï¶@?ð?ð?ð?ð?î!@?îü@?ï€?ïÊÀ?ð?ð?Ú€?éÀ?ð?ð?ð?ïÌ€?ïÍ@?ïú@?ð?ð?ð?ð?ï×@?ïЀ?ïø@?ï³?ïì€?ð?ð?ð?ï¢?ïsÀ?ïý?î×?ï]?ìRÀ?ß?È'?˜¸?äù@?ïÀ?ï©€?é€?Ú€?â°€?îë@?ïš?ïø@?ÞW?²`?éŸÀ?ïØ@?ïóÀ?ïù@?ïú@?ð?ð?ð?ð?ïû@?ð?ð?ïãÀ?ïÍ?ð?ð?ð?ï¶@?ïæÀ?ð?ïú?ð?ïð€?ð?ð?ð?ïþ?ïö@?ï½À?ð?ïg?ï?î–@?ð?î{€?ïÃ?ð?ï÷€?ïÈ€?îÀ?ìÖÀ?ïÇ€?ð?ïÄ€?îg€?ïèÀ?ð?ð?ïÙ?ð?ﮀ?ïÝ€?ï*?ïæÀ?ë»À?È)??¦ð?ÄH?¶Ê?И€?ï À?ïJÀ?å¦À?䆀?ã/À?¼P?Ëi?êZ?ð?ïö@?ð?ð?ïû@?ïú@?ð?ïýÀ?ð?ð?ð?ÆÂ?@?§?€?©Ø?hÀ?‡p?K?½¨?ÀU?Æ ?×Å€?ž ?Üü€?à@?¾¾?Û@?ï™@?ï¼À?ìÀ?ð?ð?ïñ€?ð?ïôÀ?ï€?ð?îá?ð?ï­€?ð?ð?ð?ð?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ïúÀ?ï€À?ð?ð?ð?ð?ïð€?ð?ð?ð?ð?ïò€?ð?ïñ?ð?ð?ð?ð?ð?ð?ïñ@?ð?ð?ð?ð?ïäÀ?ïþ@?ïé€?ïÁÀ?ï@?ï\€?ïtÀ?îô@?íþÀ?ï¤À?ï3€?ð?ï£@?ï»À?ð?ð?ð?ð?ð?ð?ð?ïÝ?ð?ïï€?ïÞÀ?ï>À?ïÒ@?ð?ïü?ïù@?ð?ð?ð?ð?ïä?ïøÀ?ïð€?ïÒ@?ï»?ïÿ?îl@?ï®?ï¿À?ïÐ@?î±@?éÀ?Ç? ?â2?ïj?ï©À?êDÀ?ª ??Ä™?î1@?ïÕ?ïæ€?ïêÀ?ï%€?Íý?à@?ïþ?ïÛ@?ïèÀ?ïú@?ð?ð?ð?ïJ?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ð?ï÷@?ð?ð?ð?ïö@?ïý?ïÿ?ïõ@?ïÆ€?ïØ?îÐ?ïÀ??ï??ïèÀ?î©?ð?ïþ?ïºÀ?ïs?îL€?ïò€?ï<€?ïk?ïà@?ï6€?ï€?ïó€?ïí@?ð?ïñ€?ïä@?ï×€?ïéÀ?ëö?Ñ:€?(?à À?¾Ð?{À?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ð?ð?ð?ð?ïâ€?Ñà?a@?–¨?Ú?Ú€?Щ?±?©H?,?Çê?×£€?¶?äÿ€?ïúÀ?ð?ïþ@?ð?ð?ð?ð?ð?ïÀ?ïô?ð?ï?@?ïäÀ?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ð?ð?ð?ð?ð?ïû?ïü@?ïù€?ïý?ð?ð?ïõÀ?ïá@?ï‹À?ï÷À?ïý€?ïóÀ?ïòÀ?îùÀ?ïú?ïÄ€?ïs?ï€?ï°@?ï@?ïÛ@?ï ?ï7À?ï†?ï°€?ïu@?ë$@?ín@?ì“@?î¤@?ïª?ð?ï~@?ïíÀ?ïÅ@?ð?îÀ?ï¦À?ð?ð?ð?ð?ïÖÀ?ð?ð?ïèÀ?ð?ð?ð?ð?ð?ï)À?ïè€?ïö€?ð?ð?ï÷€?îŸÀ?ïî@?ï~@?ï…À?ï½@?ëë?¹6?ÛO?ï§À?ï¦@?î@?Ǻ?p@?Ý6€?â¨?çP€?è2?æbÀ?ï±€?ïðÀ?ï_€?ê@À?æn€?½D?™P?æ ?ïì@?ð?ð?ð?ð?ð?ð?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïúÀ?ïŽ?ït?ï¨À?ð?ïš?ïþ?ð?ï­?ï߀?ïp?ïãÀ?îó€?í€?ïï@?ï|@?ïñ€?ï%?ð?ïÕÀ?ð?ð?ïñ?ð?ïˆ@?ïöÀ?î³@?ïMÀ?ïñ@?ïî@?ïç@?ï9@?ïÁ€?ïÁ?ïý?ð?éSÀ?Ó¡€?g?³(?î@?Òô€?Ç ?Éâ?œø?È?ì @?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë.?·è?l@?¸†?»–?œ°? 8?âq?Ô°?}À?ãÀ?ï¬À?ð?ð?ð?ð?ï×?î»?ï×À?ïV@?ïà?ïý?ïñ€?ð?ïü?ð?ïðÀ?ð?ð?ïA?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ïþ@?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ð?ïþ?ïÛ€?ïñÀ?ð?ïÛ€??ð?ïÐÀ?ïû€?ïÿ€?ïÿ€?ð?ð?ð?ïJ€?í7€?ír?ï?ï€?ïÆÀ?ïÉ?ïŽ@?ï¼?î°€?ï£?íV€?呂?ïßÀ?ï›À?ïj?ïÐÀ?ïû?ïþ?ð?ïÿÀ?îõ€?éÉÀ?îèÀ?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïôÀ?ïû?ïÑ@??î½À?ïB?ï÷?îÒ€?ï ?î±?ï§?ïû?î†?îþ@?ït?æ¹À?³’???ßÚ€?å—À?Ó©?¶à?¯œ?±X?åB@?ïðÀ?ì^À?á®À?æÆÀ?ï²@?຀?áÜ€?Ó‡?Ì?ªx?Î7?í9@?ïÛ?ïôÀ?ð?ð?ð?ð?ïÅ@?ð?ïÿ@?ïþÀ?ïéÀ?ïý?ð?ð?ð?ð?ð?ð?ïÈ€?ïìÀ?ïý?ïþ€?ï÷À?ïî?ïþÀ?ï‚€?ïÌ@?ïëÀ?ïçÀ?ï‹€?ï¡@?ïà€?ï5€?ï”@?ïé€?ïü?ï½?ïv?ïú?î?îz@?îéÀ?ïs?ïç€?ïÎ@?îR?ïâ?ïýÀ?ï¬@?ïñÀ?ð?ïçÀ?ìFÀ?×}?s€?Ýc€?ð?ð?ð?ïô€?ïØ€?ïæÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Æ|?¯Ô?©¸?î]@?ð?ð?ð?ð?ð?ïé€?ïý€?íã€?ä?€?îç?îë€?ð?ð?ð?ð?ð?ïN?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ð?ð?ïÙ?ï`@?îDÀ?ïø?ï5?ï©?ð?ð?ð?îµ?îÈÀ?ï8?ïCÀ?î €?î+@???ï§@?îÚ€?ïS€?ï(À?ïT€?ï8?ï±À?ïþ@?ï¦??ï—€?ð?ð?ð?ð?ïÿ@?ïûÀ?ï¹@?ð?ð?ð?ïú?ï{@?ïð€?ð?ð?ð?ð?ïÎÀ?ï¡À?ï¿@?ð?ð?ð?ïý?ïp?ïÝ€?ð?ð?ð?ï÷?ïâ@?îï?ð?íg@?”ø?L? ?¨?@?{ ?­@?À?áï€?ßü?Ýœ€?äe?å÷@?áð€?èË?·n?‹Ð?W?W€?³ð?ÑÛ€?ç>€?ïâ@?ïî?ð?ð?ïÒ€?ïñÀ?ð?ïæ€?ïÄ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ïí@?ïÿ?ð?ïî€?ïrÀ?ï@?ïó@?íÝÀ?ïÙÀ?ïŽ@?ïj?ïo@?ïÛ?ïú?ï¤?ïô?ïz?ïÛÀ?ïü?ïéÀ?ï™?ï6À?ï À?îò?ïÙÀ?î?îh@?ïçÀ?ð?ï¹?楀?¼Ä?È?íâÀ?ð?ïíÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îiÀ?à6€?¯4?Û›?ïð@?ð?ð?ïþ?ð?ð?ð?ð?ïÿ€?íŽ@?ï!À?ï¤@?ð?ð?ð?ð?ð?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼?ð?ïõÀ?ïî€?﯀?ïý@?îÇ@?ð?ð?ð?ð?ïîÀ?ï©€?ï@?îr@?ïË?ð?ïó€?ïšÀ?ï ?ï™?ïˆ@?ï‰À?ïÁ?ïa€?îÉÀ?ìŒ@?ìûÀ?ïíÀ?ïîÀ?ïЀ?ïÓ€?ð?ð?ïØ€?ð?ð?ð?ð?ð?ïñÀ?ïû?ïžÀ?ð?ð?ð?ð?ð?ï°€?ïþ@?ð?ð?ð?ïÒÀ?ïà?ïZ€?ï½?ï„€?ð?ð?ïÔ@?îç?åö?í÷€?ï¡À?Ó€?ѳ?¡ì?…À?Ñï?êO?í€?Êq?ìP€?Ô¸€?Ææ?«h?¼N?ƒ?ƒ?¢Œ?Ü€?ïó?ë?ïíÀ?ð?ð?ïØ@?ð?ïÖ?ï»?ð?ð?ð?ïVÀ?ïâ€?ð?ð?ð?ð?ïù?ïú?ïëÀ?ïá@?ïÑ?ïÒ?ï°€?î @?ï—?ï¡€?ïR€?ïÁÀ?ïÿ€?ïôÀ?ï|?ïõ?ð?ïéÀ?ïú@?ïý€?ï©@?ïÊÀ?ïÉ@?ïÑ@?ïQÀ?ï’€?ïþ?ï¬?íÇÀ?ÝW€?t`?½x?æ@?ïŒÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÊ€?èÀ?èŽ?Û?»?•?ß%€?éè?é$€?Ìt?év@?ïˆ@?ïý?ïù?ð?ð?ð?ð?ð?ð?íSÀ?ì}À?ï©À?ïv€?ð?ð?ï÷À??ïê?ïNÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝÀ?ïÍ?ð?ð?ï5?ð?ð?ïê€?íï?ïÕ?ïW@?îî@?ï’€?ïöÀ?ïñÀ?ð?ð?ï@?ð?ð?ð??î¡À?ïnÀ?ï–?ïä@?ïÛÀ?ï^?ïl@?ïFÀ?ï¢?ï‹€?ïú?ïþ?ïóÀ?ïþÀ?ïã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ï•?íU@??ïÆ€?ïµ?ï©@?ïœ?îä@?í?ï?î[€?ëK?ïbÀ?æÍ€?£È?²Ö?»T?â.?ïé@?ÍÑ?Á:?•X?žH?팀?ïÿ€?ïóÀ?ð?ð?ïô€?ïù@?ïþ?ð?ð?ð?ð?ïú?ïóÀ?ð?ïû@?ïË?ð?ïÞ€?ïì@?ïÒÀ?ïÐ@?ï¡?ïqÀ?ï\?ï#?îhÀ?ïžÀ?ï5@?ïl?ï²€?ïÇ@?ïŒÀ?ïš?ïÀ?ïÙ€?ð?ð?ïÒ?ï%?ïÚ?ïû?ð?ð?ð?éÈ@?Õ?,?y ?w?¼ü?œ?êù@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïf€?­è?é¯?ð?ð?ð?í¶À?æª@?ávÀ?‰ð?‰0?i@?Z€?Ð?îX€?ïë€?ïÁ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì@?ïïÀ?ïð?ð?ïÀ?ï•€?ïú€?ï€?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¬À?ð?ð?ð?ð?ð?ïЀ?ð?ð?ð?ð?ð?ïÙ€?î@?ï©?ïÀ?ï€?ï•À?ï›?íÙ?ï|?ïø€?ð?ð?ð?ïýÀ?ïî€?ïâÀ?ï=@?î*À?ﻀ?ï À?ïâÀ?ï´@?ï(@?ì'?êÑ€?èÀ??îÊ?îÀ?ïô?ïüÀ?ð?ð?ïîÀ?ïó?ð?ð?ð?ïö@?ð?ïýÀ?ð?ð?ð?ïú€?ð?ïýÀ?ð?ïÆÀ?ï¹@?ð?ð?ð?ð?ð??ï_À?ïZÀ?îû€?ïe@?ï)À?ï€?î·@?î €?íªÀ?í×@?í ?ë ?ã"? ?Ÿ ?è³À?é÷À?Èl?ïà@?ð?ë4À?ï“À?ïºÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï©€?ð?ð?ïØÀ?ïõÀ?ï‹@?ïÔ€?ïÄ€?ïØ?ïAÀ?ïÑ€?î€?ï€@?ïØ€?îÕ@?ïÄ@?ïé?ïÀ@?ïÚÀ?ïüÀ?ïûÀ?ïýÀ?ï÷@?ïò?ð?ï¿?ï†?ïÒ€?ð?ð?ïÿÀ?×Ì€??(?Z€?Ä?î’À?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?蟀?Ýú€?Ó$?˜È?åý€?ð?ð?ð?ð?ð?ð?íò?î(€?èY€?ÚM?Ë÷?È?Üï?èÒÀ?ë ?ׂ?ÒL?ع?ì#€?ìˆÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ïó?ïž?ïš@?îX?ïÆÀ?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïH?ê<À?ïø€?ð?ð?ð?ïê€?ð?ð?ð?ïûÀ?ð?ïýÀ?íÄ€?ïè?îe€?ïÝ?ïé€?ï6@?îØ€?ð?îÈ@?ïûÀ?ð?ð?ð?ð?ï×?ïÙ?ïF€?ëõ€?ëaÀ??ë€?í°À?ê1€?îšÀ?ìM€?íã€?îÑ?ìï@?îpÀ?ð?ï»?ð?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ð?ð?ð?ð?ïýÀ?ïú€?ïó?ïõ€?ïç@?ï^€?ïüÀ?ïÑÀ?ï¼À?ïà€?ïó?ïhÀ?îôÀ?ï„À?ïY@?ï?€?ï²@?ïG@?ï‘€?ë>?í…À?íÆ?âdÀ?èôÀ?èÅ€?`@?2?Ôé€?Î?t€?æjÀ?ïö@?׿€?­ð?â¼?ð?ð?ð?ïýÀ?ð?ð?ïîÀ?ïú€?ð?ð?ð?ð?ïÔÀ?ïýÀ?ð?ïýÀ?ï¤@?ï‚?ð?ïö€?ïé€?ïó€?ïé@?ïÎ@?î*?í)?ïº?ïeÀ?ïÀ?ïú€?ïÿ?ïè@?ð?ð?ïûÀ?ïïÀ?ð?ïÿ?ð?ïÿ?ïù€?ì‚@?’ ?áó@?ð?ïÿ?ð?ïüÀ?ïüÀ?ïýÀ?ð?ð?îæ?豈?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìæ?Ôg?Òã€?îM?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?îÄ€?ð?î¥?ï÷@?îó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ïûÀ?îeÀ?í@À?ï€?ì-@?î_?ï?ð?ð?ïfÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@À?ï@?ð?ð?ð?ïù€?ð?ïüÀ?ïô@?ð?ð?ð?ð??ï®@?î»À?ð?ï“€?ïc?ð?ð?ïûÀ?ð?ð?ð?ð?ð?î €?íf?ï²@?ï@?ïSÀ?îl?î@?ì~À?ïþ€?ïûÀ?ï4À?ïî€?î%?æö?ð?ð?ïÿÀ?ð?ð?ð?ð?ïä?ð?ð?ð?ïþ@?ð?ïýÀ?ð?ð?ïô€?ïÖÀ?ïé@?ïÀ?ï ?ï©@?ï\À?ïß@?ð?ð?ï{@?î%À?íæ@?ï”À?ìÀ?çåÀ?ï%€?ï[À?ì?îbÀ?ïïÀ?ïóÀ?ï?æ ?É ?¡$?S€?\?·|?±@?ÂÒ?ï.€?ã“@?Á?ï"À?ð?ð?ð?ï½?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï:@?ïÿ?ïÙ?ïå?î6@?ïÛ@?ð?ïÙ@?ïç@?ï¥??ê¼À?éy€?æŒÀ?ä€?ä?æ@?î½€?ïz@?ïò€?ð?ïô?ëp@?<?Ü„?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ@?ïð@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ïŒ?ï%?ê@?î‚@?ð?ïþ?ï«@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è?Çž?³6?ÛÒ?ïþ€?ïÜÀ?ïû@?ïµ?ïé?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ïû@?ð?ð?ð?ïú€?ð?ð?î4€?ïLÀ?ïÓÀ?ï÷@?ïÙ@?ð?ïû?ïõ@?ð?ï߀?ïŒ@?ïÙ?ð?ð?ð?ïë€?ïõ@?ï ?ï§?ï§@?îû€?ïÛ@?ïÔÀ?ð?ïú€?ð?ð?ïú€?ïýÀ?ïù€?ïüÀ?ïÚ@?ïÍ?ïø€?ð?ïõ€?ð?ð?ïÕÀ?ïù?ï÷@?ð?ïüÀ?ð?ïuÀ?ïùÀ?ïí@?ïÇ?î”?î€?ïq€?ï÷@?ð?ð?ïõ@?îX€?îu€?í€?í-À?î]?ëã?ç™@?ïÀ?ð?ïƒ?íÑ?ï@?î¥À?éV@?ÅÎ?:?‚ ?åjÀ?즀?ÆW?È?äç@?ð?ð?ð?ð?ð?ð?ïäÀ?ïç?ïê€?ð?ð?ð?ð?ð?î×€?ð?ð?ï߀?ïÅÀ?ïÿ@?ïñ?ïëÀ?íÿ@?é@?Ý¡?ÜJ€?äþ?èì€?î À?Ù?‘H?Ñ?à.@?ÈË?ì2À?ïÀ?îD€?ÁÚ?ãö€?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÙÀ?ï¤?ï €?à“?ð?é›@?î–À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãÿ@?F?`@?èÌ@?ïü@?ð?ïÿ@?ïð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ï÷À?ïú€?ð?ð?ð?ð?ð?î\?ïÖ@?ð?ð?ð?ð?ïø?ð?ïú€?ïè@?ï±?ïÎ@?ïÌ?ï±@?ð?ð?ð?ïï?ïÿ@?ïì€?î2À?ïîÀ?ï€?ïæ?ð?ð?ïø€?êÆÀ?ïG€?ïë€?ð?ïø€?ïyÀ?ï÷€?ïô?ïà€?ð?ð?ð?ïüÀ?ïö@?ð?ð?ð?ïËÀ?ð?ïxÀ?îä@?ïs€?ïø€?ïûÀ?ð?ïýÀ?ïýÀ?ï¯@?íæÀ?ëè€?î @?ïÚ@?ð?îã?ã®À?ï-@?ï÷@?ï­€?ïÀ?ð?ïö@?çÀ?¤(?F?2?¦Ü?x@?Ûë?îi€?Îñ?ÔQ€?î„À?ïó?ð?ï•?ð?ïÀ?ïÏ@?ï¾@?ïÿ?ïÀ?ð?ð?ð?ð?ït@?ð?ð?ð?ïõ@?ïþ€?ïÍÀ?ï´À?ã?‰ð?£€?ÀF?“˜?›8?Ä(?ìeÀ?î@?áÓ@?”Ð?Àž?{@?Û ?ïç?ïüÀ?ïÿ?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¹€?ð?ð?äE€?ë¦À?åX?ïŠ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ïÞ?Ãp?Ñs?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ð?ð?ï›À?î¾@?ïâ?ð?ð?ïûÀ?ïûÀ?ð?ð?ð?ïè@?ïä?ïàÀ?ïÞ€?ïÎ@?ïÎ?îê€?ï߀?ð?ïù€?ïïÀ?ïýÀ?ïÀ@?ïÒÀ?ïù€?ïØ?ï€?ïe?ï9@?î½€?ï‘?ïÍ@?ð?ð?ïþ@?ïŠÀ?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïú€?ð?ð?ð?ïÍÀ?ð?ð?ð?ð?ð?ð??ï6€?ï¦@?îÆ@?ïö@?ð?ïîÀ?ï*À?ìT@?ïÅÀ?ïýÀ?ð?ð?ïú€?îµ€?Ú€?F?ª8?²~? ?2? ?®\?å4€?ë @?¤¤?Òñ?ïR€?ïõ@?ïêÀ?ïý€?ð?ïœ?ï=À?ïáÀ?ð?ð?ïö@?ð?ð?ð?ð?ð?ð?ï6@?ï@?á €?¾|?B?è¶€?îä?ìB@?™¨?¸?§Ä?Óö€?¢(?ÍÉ?Ÿ?µÚ?ä—@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¨?ð?ð?ïðÀ?Öû?Âk?Ðâ€?ïðÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ@?¡D?a?Òþ?çx@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ïü€?ïÓÀ?î÷?ïþ€?ð?ð?ð?ð?ïôÀ?ð?ð?ïûÀ?ïáÀ?ï—@?ïûÀ?ïõ@?îÿÀ?ïø€?îã€?ïºÀ?ï‘?ïèÀ?ï®@?ð?ð?ð?ð?ð?ïýÀ?ïò?ð?ð?ð?ïø€?ð?ð?ï1?ìÊ@?î €?ïõ@?ïïÀ?ð?ð?ð?ï¯?ïüÀ?ïË?ð?ð?ð?ïüÀ?ïüÀ?ïÑ€?ð?ð?ð?ð?ïÑ€?ï¾@?ïô?ïÊ?ïö@?ð?ï—?ïO@?ïâÀ?ïÌ?ð?ïÿ?ð?ïûÀ?ÜË?u ?s€?¦t? ?uÀ?Ôß?éw€?ð?ض? ?ÃX?îD@?ïPÀ?ïîÀ?ð?ð?ð?ïÀ?ïûÀ?ð?ð?ð?ð?ð?ïÀ?ïýÀ?ð?ïþ€?瀀?•0?å€?ïd€?ï@?ÑR€?¦l?p?•(?ËÉ?2?w ?ªT?éIÀ?ïX€?ð?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞÀ?ïi€?ð?ð?å×À?ã+À?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?äû€?©d?¨ü?àY€?í9À?ïàÀ?ê4À?Û߀?æN€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼@?ïÀ@?ïó?ð?ð?ð?ïò?ïé@?ïÊ@?ð?ïÌ?ïÚ@?ï³?ïê@?ïµ@?ïž@?ïµÀ?ïŒ@?ïãÀ?î’€?ïw?ï’?îÏÀ?ïÄ@?ïù€?ð??ïõ?ïÓ@?ïÿ?ïò?ï«?ïýÀ?ð?ï-?íØÀ?í€?ïtÀ?ï®À?ï}€?ïÿ?ð?ð?ïø€?ïé@?ð?ïú€?ïú€?ïé@?ïâÀ?ïýÀ?ïó?ïgÀ?ð?ð?ð?ð?ð?ïä?ïú€?ï­À?ï߀?ïüÀ?ïu€?ïüÀ?ð?ïÔÀ?ð?ïçÀ?ïžÀ?æm?©@?fÀ?­ ?<?wà?¡Œ?àF?ëÛÀ?îÈ@?ÌÁ?Ђ?îaÀ?ï•?ïüÀ?ð?ð?ïüÀ?ð?ïüÀ?ð?ð?ð?ð?ð?ïö@?î§À?ïýÀ?Þ‚?Ôv?îÅ@?èv?å*€?–È?¨?—8?Ú»?ð?ð?ð?切?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÏÀ?ï§@?ïá@?îÌ?¹þ?§?ìwÀ?ð?ð?ð?ð?ð?ð?ïö@?ïà€?ð?ð?ð?ð?ð?ð?ð?ð?ð?×€?¶ ?cÀ??ÀM?¦Ì?Ã?ÔŸ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ð?ï‡?ïo€?ïË€?ð?ð?ð?ð?ïûÀ?ïÒ@?ïûÀ?ïÙ@?ïä?ï—€?ï‡@?ï†@?ï¬À?ïe€?ï?@??ïí@?ï…?ï?ïÀ?îÖ€?ïõ@?ï?ï&€?ïÒÀ?ïu€?ïe@?í¯?ì/?îGÀ?íÃÀ??ð?ð?ð?ï+€?ît@?ð?ð?ð?ïÞ€?ïv?ð?ï΀??ï¿@?ïÚ?ïÔÀ?ïú€?ïÜ€?ð?ð?ð?ð?ð?ïýÀ?ïä?ï¿À?ð?ð?ï¡€?ð?ð?ïs@?ð??íÞ?¾@? ?P?²¦?±Œ?`? ?¦¨?ã‹€?ì¨?•à?Í?ï5€?ïìÀ?ð?ïÿ?ïé@?ïûÀ?ïÿ?ð?ð?ð?ð?ð?ð?î¶€?ïö@?æ @?sà?åu?ïö@?ç,@?²²? è?Ã4?ÝŠ€?îå€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë?ï¿À?ð?ä€?Ó­€?ïñÀ?ð?ð?ð?ð?ð?ð?ïõ@?ïr€?ð?ð?ð?ð?ð?ð?ð?ð?áñ?äã@?Êò?fÀ?Ò|?â€?ž8?× ?àä?æñ?êŽÀ?í•@?ïÓ€?ïï@?ïî€?ë°€?îaÀ?ë¡?ç€?ì+?ïó@?ï ?ïÿ€?ïüÀ?ð?ïù€?ð?ïЀ?ïÀ€?ïÈÀ?ïÚ@?ïÄ€?ïÊ?ï¿?ïCÀ?ï€À??ï&À?ï@?îw€?ï¿€?îé@?ï @?î¹@?îÕÀ?î)@?îM€?îÐÀ?ïsÀ?ïDÀ?ë˜À?ð?ïÛ@?ïò?ïø€?ð?ïù€?ïÁÀ?ïË?ï´€?ïxÀ?ïÿ?ð?ïáÀ?îV€?ïíÀ?ïó?ïåÀ?ï×?ïâ?ïü@?ð?ð?ð?ð?ð?ï×À?ïäÀ?ïõ@?婢?ïäÀ?ïðÀ?ï€?ïÞ@?ð?ð?ïüÀ?ð?ïüÀ?çp@?¥\?{@? ? ?qÀ?2?A?€?î’€?Ó€?ÃY?è@?ïª@?ð?ð?ð?ï[À?ïý?ïñÀ?íŠÀ?ð?ð?ïüÀ?ïú€?ï÷@?ð?ç™?¨L?éê€?Þ¨?Z?n@?ް?•Ø?¶V?ï&@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¾@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïž?ð?ð?ç€??É÷?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ì^€?ìA@?¸ž? ?2?O?Ø*€?ï„@?äØ?˜`?Æ(?¾ü?žp?‹?p?Ñ?€?ì$?î1€?ïó?ð?ð?ïõ?ïó@?ïê@?ïú€?ï·?ïûÀ?íØ@?ï@?ï‘€?ïÕÀ?î À?ï6@?ï7@?ïú?ï€?ï À?ï$À?ïo?ï5?ð?ïÿ?ïÕ?ï”?î€?ïÔÀ?ë(À?ï€?îÙ?ïW€?ïÏÀ?ð?ïû€?ï^@?ïû?ï:@?îÓÀ?ïÓ€?ð?ïûÀ?ð?ð?ïï€?ïì€?ís?ïß?ïò€?ïü€?ð?ïÈ@?ïåÀ?ïì€?ï€?ïÖÀ?ïí€?ïÏÀ?ïÿ@?ïÝÀ?ï¿@?ð?ï÷@?ïó@?ð?ð?ïÀ?é?¯Ô?Éý?êê?À?oÀ?š¸?h?‡À?é-?í¶€?®?Ù8?ïz€?ï”?ð?ï„€?ï›@?ï÷@?ïú€?ð?ð?ð?ð?ï×@?ð?âL€??ž@?¾–?oÀ?¸ä?ÓQ€?‘H?¤?Š@?áÁ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïäÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïy€?ð?ð?ï×€?Ô†€?c?ßÎ?îÜ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í¶À?Ôt€?ÕÝ€?ÖË?Þ^€?î«€?ð??Óœ€?>?ß7€?ì§@?î³@?ï À?ð?ïù€?ïÆ?ïÜ@?ïó@?ïŠ@?ïè?íM?ïø@?ïâ€?ï|€?ï¸@?ï¤?ï’€?︀?ïV?ï €?í)€?ïP?ð?ïÚÀ?ïâ€?ïâ€?ïÆ?î¡?îO?êŸÀ?ï:À?í?ï½À?ð?ð?ð?ïB@?ð?î}€?î@?ïºÀ?ïÿ?ð?ð?ð?ð?ïýÀ??ïÝ€?ïü@?ð?ð?ï¿€?ïÀÀ?ïò@?ïä@?ï @?ïüÀ?ï÷@?ïõ?ð?ïË€?ïïÀ?ï1@?ïY?ïò@?ïË€?å?ž`?’`?êo@?é@?L?r?¦Ì?Ÿ0? ?³À?ãk€?â€?´f?R€?Øú?ïl@?ð?ð?ïæ€?ïõ?ð?ð?ð?ð?ïé?ïëÀ?ïÀ?ßó?b?Ÿ?ÖÇ€?F?B?¥?—°?d€?Õ5€?ïb€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì°À?ï\€?ð?ð?ÝÀ€?:?Ú0?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ë3?ây€?‘p?ŒP?Åô?î@?ïô?ï½@?ð?ïã?ïÿ€?ïÛ@?ïú?ð?ïýÀ?ïðÀ?ïã?ïi€?ð?ð?ïÝ€?ïé?ïü?ïýÀ?ð?ð?ð?ïËÀ?ï¶€?ïŒ?ïï€?ïÆ€?îäÀ?ìÇ?çì@?ï €?ïùÀ?ð?ð?ï¥À?ïžÀ?ï«@?îq€?ð?ïò€?ïÌ?ð?ð?ð?ð?ïÊ@?ïÔ€?ïá@?ïö@?ð?ïô?ïíÀ?ïô?ïâÀ?ïÁ?ï}?ïO@?ï2€?ï¶?ï/À?ï—@?ï>?îo@?ð?î2€?Ú]?˜ˆ?‚?Ó?ï‚€?à?@?8?Ýõ€?ã­À?Þ$?ð?ð?ïþ?ïú€?ïö@?ð?ð?ïÿ?ð?ð?ïÜÀ?à™À?°?p@?… ?4?¢?0?¤0? ”?²n?íK€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€?ío€?îÿ?ð?ð?ïñÀ?×?(?Ù߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é=€?µp?w`?ÖÍ€?ßÇ€?ëã€?ïÛ@?ïÍ@?ïÔ€?ï€?ïëÀ?ð?ïÝ?ïýÀ?ïÊÀ?îü€?ïö?ð?ïöÀ?ïýÀ?ïý?ð?ïÿ@?ð?ïŽÀ?ï,@?ð?ï²€?ïç@?ïÝ@?îÀ?ï.@?î`À?äëÀ?ç/?ìP€?ð?ð?ï£?ï¢?ï?ïû€?ïÂ?ð?ïáÀ?ð?ï÷?ïú?ð?ð?ð?ð?ð?ð?ð?ïúÀ?ð?ïÁÀ?﯀?ïD€?ïù?ð?ïî@?ï.?í"€?æ„?è§€?áî€?ÚÜ?¹~?á8À?èÀ?‰`? ?¾?®¤?–0?å-À?ð?ð?ð?ïû€?ïø?ð?ïü€?ð?ïþÀ?ïfÀ?äÀ??À?áä€?⛀?å¤?쪀?êg@?âhÀ?¦ì?¦˜?4?¢ø?µª?wÀ?,?¼ž?ïÀ?ð?ð?ð?ïÎ?ïlÀ?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïI@?ì¦@?ð?ð?ð?ð?ð?ïüÀ?à?À?ÑQ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ú`€?Ø~€?îl?ïz?ïä@?ìc€?ç«À??ï÷?ïÆ?ï@?ïì?ïÖ€?ïh@?ïé€?ð?ïïÀ?ïÿ@?ïã@?ïÀ?ïñ@?ïÊ?ïÈ?ïÕ?ð?ïýÀ?ð?ë@@?ê?æ•€?åQ@?Ôx?³à?í>?ð?ð?ð?ï@?í—?ïòÀ?ð?ïæ@?ï¡@?ð?ð?ïèÀ?ð?ð?ð?ð?ïßÀ?îo€?ïú€?ð?ïð€??îß@?ï@À?ïTÀ??ï¨À?í]?âg@?ÂÍ?¯l?h?ÌB?| ?`?ÆT?¹8?0?ÈF?ï’?ð?ð?ïþÀ?ïÝ?ïõÀ?ð?ïýÀ?ïù@?ï¸À?ãý@?D?6??¥<?਀?Ó?½?À©?ÚÄ€?âU@?î_€?ím€?æý@?Ïf?R?g€?¤h?ƒ?¡ô?®,?N?dÀ?ç¸@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæÀ?ð?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?îœÀ?ïÿÀ?ð?ð?ð?ð?ð?ð?ì©?¡¼?ÀK?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç?“˜?U?àÒÀ?ïà€?ïÁ?åøÀ?á@?îî?ï«À?ïó€?ïï?ïýÀ?ð?ð?ð?ïO@?ïÜ@?ïÈ?ïõÀ?ïÍÀ?ð?ìÔ?î½?îõ?ð?ï΀?ÛÂ?µj?»H?ª¸?4??ç À?ïï?ð?ð?íÌ?ïçÀ?ïþÀ?ïî?ïù@?ïS@?ð?ð?ð?ð?ð?ð?ð?ð?ï2@?ï@?ï@?ìí?ÔÁ€?¿^?×Õ?ìm€?à ?ÏÆ?X?’(??¶¶?Äu?½6?¢\?Z?çbÀ?ïù@?ïÿÀ?ïý?ð?ïù@?ïþÀ?ð?ð?ð?î'@?ÂL?ÆP?Ú?äY@?æ8@?áMÀ??6?B?ÍÂ?p?iÀ?¤p?ÍF?åQ€?ïC?ä…€?ÌH?£à?2?À"?¦°?m€?“À?³,?î…À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï«?ïü€?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¤À?ïÔ€?ð?ð?ð?ð?ð?ð?ð?ð?à ??ä6?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïìÀ?éS?ºd?W€?Õ\€?Óþ?ƒ€?Ó €?ð?ïê?ï‘€?ïñ€?ïù@?ïß@?ïüÀ?ïëÀ?ïù@?ï…@?切?î¼@?ïÅ€?ð?ïÈ@?ïº?ï¢À?ïw€?ïAÀ?Ãñ?ž?ëØ€?ï´À?ïõ@?îP@?ïÅ€?ïü€?ï’À?ïï€?ï§€?ð?ï§@?ï÷?ð?ð?ð?ð?ð?ïÐÀ?ï\€?å9À?ºZ?d@?±p?çz€?ˆ?•X??»N?ÓE?©˜?ë?ïû€?ïüÀ?ïò€?ïß?ð?ð?ð?ïÿ?ïú@?ð?áÃ?¶Ú?ï­€?ð?ð?ð?åK?[?J?½¢?ßT€?éd?ïá€?æÔ@?Ø?b€?»N??ß‘?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?î @?ïÚ@?ð?ð?ð?ð?ð?ð?ð?ð?ɰ?€?Ø$€?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÃÀ?çä€?’@?–?àÀ?ïfÀ?ïî?ï÷?ïì€?ïü?ïÖ€?ïð@?ïê€?ïÿ?îÀ?ïêÀ?ð?ïÒ?ð?ð?ïì?îÑ@?èp€?Ùm€?6?ÉŽ?æÀ?ð?îñ?ð?ð?îlÀ?ð?ïÔ?ð?ï´À?ïŸ?ïÖ€?ï¢@?ð?ð?ð?ð?étÀ?À ?Ô€?â:À?Õê€?tÀ?G?²T?å@?¨Ø?®Ì?íS@?ð?ïàÀ?í"€?ïÏ@?ïÏ€?ïâÀ?ïçÀ?ïÛ€?ïôÀ?ð?ïâ€?Õ÷€?Ìæ?ïû€?ð?ïãÀ?í€?£È?‚ ?ÁŸ?âr€?á8?ã+?ßœ?ÄÁ?Ä?ØW?Á§?Õ;€?Ç4?„?­Ð?ïØ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îâ?ð?ð?ïaÀ?îhÀ?ï€?ð?ð?ð?ð?ÕF€? ?átÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?æD@?Ö|€?ï_À?ïÕ€?ïXÀ?ïk€?ïò€?ïÜ€?ïû€?ïÐÀ?ð?îñÀ?ïÄ@?ï€À?ð?ð?ð?ï÷?ßÁ€?x@?×>?îÀ?îÓ@?ð?ïý@?ïñ@?ð?ð?ð?ï×€?ð?ïå?ïþ?ð?ð?ð?ï¹€?×8?Ü5?ï>À?ï­€?Ë?€?©?ª€?è–À?Æ9?$?V€?Ë ?éÃÀ?ð?ð?ïÂ@?ïù@?ïÿ?ïÔ?ð?ïù@?ïï?ð?êÀ?¢D? ?äð?ïêÀ?ïò?ïÜÀ?éÝ@?l€?Ÿ¨?°?ã#À?ïÿ@?ð?ïÎ?æÀ?Æ\?T?Æw?ïë€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ïÿ?ð?ïýÀ?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‘€?ï†?ï3€?ï4À?ð?î»?ð?ð?ð?ð?ê‚€?ÅK?Á,?îîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ô)€?P?ÊÎ?îÓÀ?ïÁ?ïq@?ïî?ïñ@?ïÓ?ïr€?ïó€?ïýÀ?ïq@?ï…À?ð?ïÇ@?ï}@?ð?åF@?v€?¶6?ãdÀ?î@?ïýÀ?ïô@?ïî?ïú?ïá?ï¯À?ïÿ@?ð?ïÀ?îè?îÀ?ïV€?ïúÀ?ïÆÀ?ßÊ?,?Ù³€?í_À?઀?R€?†0?Þ~€?ÆÁ?ºj?w?g?o€?“ø?q`?à’@?ïõ?ï¿@?ï3À?ïýÀ?ð?ïø?ð?ð?ïþÀ?îÒ@?çëÀ?Þÿ?„?Àú?ÔÜ€?á'À?àv@?ð?ïÞ@?ïø?í=À?Ùg?f€?´&?Õê?˳?J?B?Üd?Û€?àW@?î<@?î£@?íCÀ?蔀?踀?× ?$?ÒÑ€?Ô-?´¶?žx?‚Ð?`?Q??êáÀ?ð?ð?ð?ð?ïÿÀ?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï8@?ïU?ð?ð?ï@?ð?ð?ð?ð?ð?ï”?ÚR?ă?ìeÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ïó@?ð?ð?ð?ãò@?×m€?âÀ?îþ?ïÓÀ?î­@?ïÞ?ïî€?ïö??ïë€?ïõÀ?ïÄ@?ïZ€?ïÕ@?ï”À?îÒ€?ÒK??¼?ïÝ?î€?ï«€?ï–?ïÍ€?ï{@?ð?ð?íú@?ïw@?ï]À?ï6@?ïš@?ïF?ï§À?ð?ëŸ?}?ˆp?ÉU?ð?ïÀ?ÐÙ€?xÀ?– ?Г?ßÁ?ï9?ð?ð?ð?ð?ð?ïå€?î!€?ïûÀ?ï¿À?íS?ïÍ@?ï@?ï7À?ïF?ïÏÀ?ð?ð?ïw?³€?È ?âg@?ÜM€?¨?¸R?±d?©œ?Úç€?ÈÕ?‘¨?™`?€p?•˜?ؾ€?ר€? p?¡?š`?i@?™?ÑÉ€?ð?ð?ð?ð?ð?ïüÀ?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îø?ð?ð?ð?ð?ð?ð?í„À?€?‡ð?Ëû?ïÒÀ?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ïèÀ?ð?ïÜ?陀?çëÀ?¤¨??ÔŽ??ïýÀ?ïîÀ?ïïÀ?ïöÀ?ïèÀ?ï¹?ïÑ?ï¦À?ï–?ïù€?ï@?è¡€?¾^?¹^?ï…€?í|@?ïÀ?æ‹€?ï>?ï›?î´€?ïÓ?ïõÀ?ð?ð?ï¼?ïk€?ï@?ï€?ð?ð?â"€?S€?Ì¿?ð?ï·?á—€?$?ÆÌ?äÀ?îA?ð?ïú@?ð?ïú@?ïïÀ?ð?ð?ïüÀ?íHÀ?ð?ð?ïë€?ïß?ïÀ?ïß?í«À?0?2?6?h?§$?§?Ây?€?X?ßs€?ïµ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ð?ð?ð?ð?ð?ïÿ@?ï¤À?ð?ïÅÀ?ï¼@?ïâ@?ïQ@?ï@?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²@?îÑ@?ï—€?ð?ð?ð?ð?ð?ð?ð?Êp?`À?‚?¬T?æ|€?ïø?ð?ð?ïé?ð?ð?ð?ð?ï±À?ïýÀ?ïþÀ?ð?îW€?Ü5?ÀÏ?ÃÇ?ïÙ€?ïÈ?ïù@?ïì@?ï™À?îó@?ï?ï\?í¦?ïž?ïž@?åéÀ?г€?×t?ë.€?ìÀ?àÜ?¹2?ê€?ïü€?ï´@?ï¾€?ïýÀ?ð?ð?íÙÀ?î\€?ïï€?îß@?ïù?ð?ïþ?ãh€?­?$?¨(?ØÛ€?ï­@?ïV@?×ñ€?{À?2?´ò?Ô7?çí?ïáÀ?ð?ð?ï;À?èo€?í[?ð?î[À?ð?ïÔ@?ïÿÀ?ïù?ð?æ€?$?”è?y`?_?¹æ?¸¾?ˆ ?©4?˜?§Ø?–?è@?îI@?îíÀ?î®@?ïÏ€?ïÙÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í2@?ìg@?îÀÀ?ï@?ð?ïû€??ï_@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?î°?ïì?ð?ð?ð?ð?ð?ð?ð?ð?à¯@?¹ª?$?$?p?å€@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ð?ð?ä:À?i€?è_?ïæ€?ï®@?ï÷À?ï°À?ïÒÀ?ïÆÀ?ï“€?ïý€?éÕ?×q€?¹?Õ¢€?Ðù?â€?ï1@?ï’@?ïä€?ï§€?ð?ïÏ@?ï¯À?ïÛ@?ï߀?ïÅÀ?ï‘@?ð?ð?ð?åÀ?gÀ?$?©<?í @?ï”À?Ü1?s ?$?Ça?ÛÛ€?ãxÀ?Ñ­€?E?£È?â·À?î®@?î~À?ð?ïù?ð?ìŒ@?á­€?á@?à ?àÞ?åõÀ?å©€?Û¶?‚à?°?¶¨?ž€?§À?¯L?ígÀ?ïÊ?ð?ïÙ€?îp@?ï»@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îk€?ím€?î*?ë:€?ð?ð?ð?ð?î»@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŽ@?î À?ïþÀ?ð?ð?ï×€?ð?ð?ð?ð?îÿÀ?áþ€?¾â?R€?âB?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ïÛÀ?ì4?áöÀ?Ò€?p€?Ñ?ïÒ€?ïì€?î ?ïc@?ïùÀ?ïø€?ïö@?ïâ?ØÓ€?ÚQ?ð?îO?ïà@?ïâ?ï¦?ïû€?ïñ?ïÔ?ï×@?ï›?í°À?ïi@?ïú€?ð?ïþ@?ØË€?(?ç¿À?îw€?×µ?–X? ”?0?Þ–€?ïøÀ?ïó?ð?ð?ï;À?ð?ï0@?ð?ïÏ€?ð?ð?ïJ?çb@?¤0?½Ð?·T?Á?´‚?è?äÌ@?ð?ð?ð?ð?ð??ï³@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?í?ï??ð?ð?ð?ð?ð??î†À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïo€?ïØ?îÑ€?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?î“À?Õ;€?Ó#?ð?ð?ð?ð?ð?ïþÀ?ïÙ€?îÙ€?Ò ?E?0?æ/À?ï­?ïê?ïã€?ïÿÀ?ð?ð?ïµ€?ÝŒ?dÀ?Â0?ï¼À?í¶@?ïø?ïýÀ?ïü@?ïÉ?ð?ð?ð?ïЀ?ï’€?î@?ïÜ?ïÿÀ?ïý?æZ€?ÁÓ?â À?áœÀ?Ð?Â??}?pà?€?Ùæ€?îCÀ?ð?ïì€?ïg@?ïÿ€?ð?ð?ð?ð?ð?ð?ï@?±Ä?Âc?Q€?‡`?ä,?ï/€?ð?ð?ð?ð?ð?ïb€?ï@?ð?ð?ð?ïÿÀ?ð?ð?ð?ð?ï"À?íý@?ð?ð?ð?ð?ð?ïþÀ?ð?ï"€?ï-@?ð?ð?ð?ïÿ@?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïw?ð?î^@?ð?ð?ð?ð?ð?ð?ð?ð?ïâ??îµ€?××?§`?ï €?ð?ð?î¥@?ëÙÀ?äç€?Ã2?—È?Ö)€?îÃÀ?ïÆ€?ï×À?ð?ïú@?ð?ð?ái?±0?$?P?{?ç@?ð?îÉ@?è‰?ï/?ð?ð?ð?ïó@?ð?ïí€?í6@?ïX@?ïà€?ïý?ëÂ@?¼R?à?Õ0?à?â¹@?×m€?Ë©?±ž?²?Æù?àU?éÖÀ?ï|?î¿?ï€?ïþ?ïÿÀ?ð?ð?æ©€?¹ª??À\?ìØ€?î<À?î¦@?ð?ð?ð?ð??ï@?ï²À?ð?ïüÀ?ð?ï¢?îH@?î\€?ï@?ï+€?ð?ð?ð?ð?ð?ð?ð?ð?ïE@?ï¾?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?îùÀ?ë~@?ð?ð?ïþÀ?ï?ð?ð?ð?ð?ð?ð?ïñÀ?ïþÀ?ïó€?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï×?ï*À?îæ€?ïµ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îm?Ön?縀?íU€?äË@?µ0?¢´?— ?¾Ò?ï¸?ïÝÀ?ï‚@?ïÃ@?ïÉ@?ð?ïùÀ?ä¾€?Ð\€?W?Ò2?ð?æèÀ?“ ?îL€?ï€?ð?ï·@?ã}À?ï‚?ð?íàÀ?ïú@?ïØÀ?ð?î=@?£?“0?é@?Ñ?±Ú?Àh?áu?¦<?j?‘?>?·?Ç?êç?ïýÀ?ï±À?ð?ð?ä&@? ?®@?²¸?Ô{?îÀ?îë@?ð?ð?ð?ð?ð?ð?ì)€?ïä€?ð?ïýÀ?ï€?ïÀ?îñ€?ï À?ïÈ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îñÀ?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ïû€?ïÔ@?ï €?ïµ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ïýÀ?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïb@?ð?ð?ï ?ð?îÜ?ïü€?ð?ð?äQ@?ïØ@?ð?ð?ð?ð?ð?ð?ïŸ@?à ?ƒ ?‰°?’P?v€?Ì?ÓÝ?C??æFÀ?ïÛÀ?ï?ïóÀ?ïÞ€?ïÓ?ïÝ@?Òò€?М€?F?$?™8?Ó³?ït@?äi€? ?~ ?ç?ê?ð?î€?íØ?î˜À?ï??ð?ïÿÀ?ïè@?êt€?à?t ?Ã’?ÎH?À¢?Å ?Ã~?Øò€?ÝÖ€?çaÀ?>?ÉÉ?çå@?ë÷€?ð?ð?ÝÂ?P?¯d?âó€?ÄX?Á²?°4?²P?¦?$??«?€Ð?¿Ò?ê@?îÈÀ?ï£À?ïë@?ð?ð?ð?ð?ï?ïùÀ?ð?ï@?ï½@?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝÀ?ð?ð?ð?ïU€?ïH?ð?ð?ð?ð?ð?íº@?ð?ð?ð?ð?ð?ð?ð?ð?ï¢@?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÈ@?ïHÀ?ð?íë?ï·?ð?ð?êk?ð?ð?ð?ð?ð?ïß?ïêÀ?æ[€?·R?¯¼?¸´?×®?êñ?Ð=?µª?í?ïÏ€?ïðÀ?ïÇ€?ïí€?î~€?‰`?x@?†?Œ?Ì•?ïj?ÐÓ?»&?î`€?ïþÀ?í¼@?îT€?ð?ð?ð?ïè?ã-€?¨ì?¬€?P€?¥´?âú@?Ñ+€?ª?Ïo?ê@?Ÿ@?$?ω?Úü€?ßf?ð?Ö„?s€?·´?ѧ?êÁ@?Üü€?‹?ÕÌ€?ݼ?Ñ??iÀ?jÀ?~€?‚ ?G?ž ?Á@?Ú«?í¶À?ïSÀ?ð?ð?ð?ð?ð?ð?ï@À?írÀ?ïè€?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï†À?ð?ð?ð?ïýÀ?ï@?îQ€?ïýÀ?ð?ïþÀ?ïb€?ïÉ?ð?ð?ï @?îôÀ?ð?ïØÀ?ð?ð?ïÀ?îÄ@?ï?ïæ?ð?ð?ð?ïÙÀ?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îð?ïë@?ð?ïþ@?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ïÅ€?ïê?ð?çpÀ?¢ì?’Ø?Ô€?Ò=€?å/@?êÝ?ïvÀ?ïèÀ?ð?ð?ÌN?P?á}À?ïÑÀ?ïü?ð?ïöÀ?ïû?¯€?¨T?®0?‚à?Ò³?ìv?€ ?ØM€?î @?ïs@?î/@?ïùÀ?î¸@?ìç€?×w€?„@?S€?Ô9€?Œ@?„À?šx?êƒ?âZ@?ÔÁ?ÓÜ€?ÚÀ€?§l?Úü€?êÀ?ïa€?ÞÑ€?ÖÉ€?âÀ?ïýÀ?ð?ï¯À?ä'?éðÀ?ïçÀ?ð?ð?Õf€?‰à?¿?±|?™?‚?Ð×€?ˆ?Î8?¯è?ÑÙ€?”Ð?¬´?«ü?âÓÀ?ð?ð?ð?ð?ð?ð?ï€?ï$@?ïÖ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íùÀ?íï€?ð?ïjÀ?íÿ?ïË@?ð?ð?ïF@?ï„€?ï²À?î›?ïo?ð?ð?ð?îä?ïå?ï£@?ï8@?ð?ïÿÀ?ïf@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îöÀ?ð?ð?ð?ïL€?îî€?îÊÀ?ïþ?ð?ð?ð?ï‘@?ïØÀ?ð?ð?ð?ð?ìZ@?ìw?ð?ð?ð?ð?ð?ð?ð?í"?¯ô?<?È?ï?€?ïÇ€?ð?ï÷@?Úî€?Ÿx?M?_€?t ?×´?áÁ?^€?v@?º0?à…@?îTÀ?ìb@?Ô¸€?¥D?S?Ó>€?ÉO?g@?‹ ?½þ?å€?Ük€?Óè€?Ó~?Å?<?P?Ý{€?ê6€?ï®@?î@?Æy?† ?ìY@?îå€?ð?ð?ïÔ€?Óý?ëÚ@?ð?ï·@?ïöÀ?îé€?íx€?ïÀÀ?ëSÀ?Ûl?à1?ì‹@?ïâ€?áL€?Å•?Ûh€?©`?åª?ïÇ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî@?î€?ïv?ï¤À?ð?ð?ð?ð?ð?ð?ï @?îd?î¥@?î¥@?ïÝÀ?ð?ð?ïÀ?ð?ïj?î±€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îø€?îÀ?ïåÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç-€?S?ëú€?ïF@?ïö@?ç³@?”ø?Û’?Å¥?’?uà?Ýÿ€?ä\@?Ç ?B?ÙM?î»?á?‹p?R€?Ög?Äü?B?ÇÐ?åî€?΀?È?±@?à=€?„?R?2?2?ºÂ?Û¢?íAÀ?í%À?Ï ?x€? ?À5?㉀?ÚÛ€?Á9?Ô­?ïÞ€?ìêÀ?îÓÀ?ð?ï™@?Î[?ã±?ï€?ïæ?ïÞ€?ð?ïñ?ïºÀ?ïµ?ð?ïïÀ?ð?ïü€?îÚ€?î‚?ä¯@?’?f?å7@?ïÄ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¸À?î9€?îËÀ?ð?ð?ð?ð?ïÃ@?î­?ïj?ð?îwÀ?ïÆ?íd@?ð?ð?ï ??ïÂ?î©€?ï½€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé?Ë»?Ú¯€?ïÃ@?åþ€?T?à?éW@?éŒ?‘H?:?$?$?æ€?ïÔ?äÍ€?T?ÔX€?Ë®??€à?ÕQ€?Å>?¿r?Æ ?Ät?èˆ?îd?µ4?2?Ù³?ìe@?ì]@?å@?æÃ?î?Ï?ÞF€?í‚€?ÐÀ?Ù8?ïY€?î@?ìË@?í¿?ð?ïû?î5@?ïç€?ð?ïñÀ?ïú@?ð?ïÀ?ð?ð?ð?ð?ð?ïí@?îÿ?ìö€?ê€?Òá€?ªà?Ïú?ï©À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ïþÀ?ð?ð?ï¬?ïiÀ?ð?ï$?ê»@?ð?ïü€?ð?ð?ð?ð?ð?ð?ïžÀ?îDÀ?îßÀ?îÕÀ?î¶?îÔ?ð?ð?ð?ïy?ïñÀ?ð?ð?ð?ð?ð?ï¶?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï9À?ïÉÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íõ€??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ã?R€?aÀ?Ö€?¼À?žÐ?îƒÀ?îè?׊?ƒ ?¦4?Ðò?ë:?ïÀ?Á†?§|?£@?Õ»€?ê>@?è´?ë¼@?ð?ïò@?б€?@? ?lÀ?Ä?ÍM?ç¶À?î´À?Ðm?u`?©h?ê˜?îô?é—@?ï½?ï ?ïK?î>À?ð?ð?ð?ð?ïp?ïG?ïn?ï®@?ï­?ïó@?ï²€?î‹?î—@?íþ?íË?îÓ€?ð?ï÷À?ð?ìµ€?Ôí?±†?꺀?ï’?ïÀ?ïñÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îá?ð?ìï@?çH€?ð?ïñ?ð?ð?ð?ð?ð?ð?ïñÀ?îÒÀ?ð?ïñÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï~?î6À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îQ?¾À?v@?î¦?ð?éô€?·Œ?ð?>?ÆÆ?ì‹À?Òæ€?•P?±X?W€?\?¢p?Ú+€?Ïû?´ö?î€?ïýÀ?먀?Ýì?­D?`€?}`??¼ü?Ý(€?Ô ?Ü€?ïæ?ïáÀ?ð?ï³@?ïÖ?íä€?ïê@?ïðÀ?ï½€?ï€?îôÀ?ï³À?ï«?ïÖ@?切?í/?îs@?ï’@?ï2À?ð??ì‚?ð?ð?ð?ð?ï¡?Í-?ÅÞ?æG?îŸ@?ð?ð?ð?ð?ð?ð?ïþÀ?íúÀ?ð?ð?ð?ð?ð?ð?ïíÀ?æÇ@?ð?ð?îz?ì@?é=À?êß?ïÔÀ?ð?ïj?ïh@?ð?ð?ð?ð?ð?ð?ïýÀ?ï?ïÞ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îœ@?î΀?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ì4À?ïè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þ¢€?$?ê:?ïü€?è@À?¨”?“È?z€?ܲ?ïLÀ?è»@?Âl?y€?á:?Þi?^?_€?oÀ?a?µˆ?Å ?½Â?ïÊÀ?íÀ?Ì~?¢?[€?«?c@?æ€@?ïÜÀ?ï¯À?ïi€?ï,?ïx@?ð?ïø@?ïÖÀ?ïÏ€?ïðÀ?ï™?ïú@?豈?ï€?ï@?ð?ð?ïO@?ð?ï ?îéÀ?ïü€?ï{?î²€?îä@?ï€?è?Ï›? ?Øì?îÏ€?ð?ð?ð?ð?ð?ð?ïô?ï§€?ð?ð?ð?ð?ð?ï–@?ìz?åN€?ÊV?“`?c?à7?ï—À?ï’À?ï €?ïx€?ï.?ð?ð?ïi?ïs€?ð?ï¯@?ïðÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îW€?ð?ð?ð?ð?ð?ð?ð?îj?ì΀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îì@?¿Æ?ÑF€?Ø»€?§t?’?—?‘Ð?é÷?ï4@?í¬€?ÏÀ?bÀ?P?Û%€?ð?ëñÀ?ÔÅ?“8?‡ ?ÁT?¡¤??,?ÕÄ?æ@?Ä’??$?à†€?ïó@?ð?ï‹À?ï9@?ð?ïþ€?ïõÀ?ï¾@?ïþ@??îî@?ï/?ïG@?î5?ð?ð?ð?ïÈÀ?ï@?ïô?ï‹€?ð?ð?ï6À?ï?î|?ï?ï9À?á?Ø?Þ¢?ßj€?ÓÈ€?œ0?Ä­?é³€?ð?ð?ð?ïÑ@?ï±?ïöÀ?ïT?ð?ïA€?ïÅ?ð?ð?ð?¦p?›H?ëqÀ?í‡À?ð?ï;?îÙ€?ð?ð?ð?ð?ð?ï±€?ïs@?ð?ð?ð?ð?ð?ïýÀ?ïù?ïÈ?î÷À?ïÍÀ?ð?ð?ð?ð?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÑ?ð?ïýÀ?ïþÀ?ï×À?ïã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üx€?¡”?ì\?Þä€?܇€?ǵ?q?çÜÀ??ïó€?ìL€?Í"?–?Òg?î÷@?ð?ð?î”?æ2€?¬,?¸è??–(?ŒÐ??â{€?ð?ð?ð?ï?ï¸@??ïÿÀ?ïç?ïy€?ï[À?ð?ð??îí?ð?ïï@?ð?ð?ï®?ï¶À?ï«À?ð?ð?ð?ïô?îå€?ïÈ€?ï}@?íâ€?î‹?ïý@?îH€?ï€?íYÀ?Þˆ?x@?«€?æúÀ?ð?ð?ð?îj?è?ã!À?ß›?á @?èx?ï¡@?èÓ?Ü0€?×Ô€?éà@?ç €?âÐ@?ÚW€?ìM?ð?ð?ï@?ïH@?ï²€?ïùÀ?ð?ð?ð?ð?ð?ð?ï­?ï?ð?î?î€À?ïT@?îÒ?îÆ@?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îó?ð?ð?ð?ð?ð?ëç@?ï;€??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è–€?w`?Û­?ïê€?ïß@?ì–@?¹?ÛK€?ïâ@?ð?ïª@?ãÁ€?4?j@?Í”?éÔ€?ïB?ð?ð?íø@?æ¶À?¨ü?’ð?·?`€?$?à€?ïþÀ?ð?ïû@?ï§@?ïù?ïЀ?ï@?ï ?ï¯À?ïò@?ð?ïÒ€?ïQ?ïm@?ïõ€?ï¥@?ð?ð?ð?ð?ïå€?ïÌ@?ð?ð?ð?ïÒ?ï7À?é¯@?î?ïà@?îÎÀ?é[À?ï=€?ð?ïãÀ?å¬?©|?W?Ó?åö€?ß"€?»š?¸¶?R?³ø?Ò<?é"À?îà€?ï˜?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï`À?ï ?ð?ð?ð?ïú€?î,?î€?î¨@?ïEÀ?ïf€??îƒÀ?ïz@?ð?ð?ð?ð?ð?ï‘@?ð?ð?ð?ð?ð?áz€?îä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êï?µ^?×Ü€?ìr?ð?ç\?»œ?Áu?î€?ð?ïìÀ?àäÀ?L?Ëg?»Ð?ë À?ïÿ?ð?ð?ï/?ç#€?ª˜?šÀ?–Ð?®L?G?Ù5?ïÖ€?ð?ïª?ï¬?ïõ@?ïÝ@?ï»À?ð?ð?ïú?ï?ï8?îŠ?î±?î¶€?ïÿÀ?ð?ð?ð?ïÁÀ?ð?ïã@?ð?ð?ïÓ?ïÓ?îü?éIÀ?ïÌÀ?ð?ð?ïu@?ïp€?ð?ïêÀ?ï‡@?ç–@?ÄQ?~à?Ú=?ð?ð?ð?ïþÀ?ïü€?ïé€?ð?ð?ï«@?ð?ð??îí€?ð?ð?ð?ð?ð?ð?ï6?îw€?îß?ïú?ïê?ïùÀ?ð?ð?ð?ð?ïýÀ?ï¼À?ð?ð?ð?ð?ð?ëJÀ?èÕÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëë?¼ð?™h?Èò?îpÀ?ïfÀ?îd@?Õ4?Þ?ïø?ï±?ãd?y?œ?¢P?lÀ?”P?³Î?Ó?éCÀ?ð?ð?ð?ð?ïû€?âÆ€?q?n€?œ0?G?w?ènÀ?ð?ð?ïµ€?ð?ïó@?ï‚@?ïÆ@?ïL€?ïk@?ï €?ïÕÀ?ï_??ïà?ïuÀ?ïl€?ï°@?ð?ð?ïÑ@?ï]?ïQ€?ï€?ïÀ?ï÷À?ïÿ?ïn@?ïÀ?ð?ð?ïúÀ?ïö@?ïÆ€?ð?ð?ïÒ@?íùÀ?’È?àk€?ð?ð?ð?ð?ð?ï€À?ïã?ð?ï?ð?ð?íê@?ïþ@?ð?ð?ïùÀ?îüÀ?ï*@?î‰@?îã@?ï4À?ï+€?ð?ï}?ð?ð?ð?ð?ïô€?ïúÀ?í´@?ïU€?ð?ð?ð?ð?ð?ék?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é“?¼4?,?·˜?ÄÁ?œè?Þ=€?îo€?ï€?îT?ÒE?¿ì?â!?ï“@?î€?ËS?Y€?,?eÀ??É?íâ€?ïü?ð?ð?ð?ð?ð?ïñ?ï"À?Çœ?<?˜ˆ?¶N?Ò<?ÅD?çÛ?ïý@?ïû€?ð?ï~À?ð?ïp€?ï,À?ïW€?ïë€?ï£À?ïã@?ïWÀ?ïù€?ð?ï|?ï’@?ïæ?ï°À?ð?ð?ð?ð?ïùÀ?ï°À??ð?ð?ï¼€?ïòÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õ??t€??6?å÷À?îô@?ð?ð?ð?ð?ð?ð?ð?îµ@?ð?ð?íÊ@?íÒ?î:À?ílÀ?í:?î¾À?îú?ï?À?ð?ïÝ@?îÂ@?ï@?î0@?îi?ð?ïÿÀ?ð?ï×?âŽ?ëT?ë¯?检?î€?切?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íö?ØU?ˆ?$?,?j@? t?°?Íð?ï´À?ð?ï‹?ì—À?ÖË€?Ñw?éû?ãÏ€?Â6?äµÀ?ÖJ?áÀ?ïô€?ïþ?ð?ð?ð?ð?ð?ð?ïÀ?Ù\?M? ?Éü?®8?Û€?Àe?`€??8?àÀ?ï‹?ïé€?ïþÀ?ïÿÀ?ð?ïþ€?ð?ïþÀ?ïØ?ð?ð?ð?ð?ïþ€?ïîÀ?ïÿ@?ïÀ?ð?ïâ?ð?ð?ð?ïýÀ?ð?ï+?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ïñ€?ð?ð?ð?ëo@?Ìù?  ?ì~À?ð?ð?ð?ð?ð?ð?ð?ð?ïpÀ?ïL?ï€?êñ€?ì[@?î?íT@?î€?î΀?ïÀ?ï´€?í€?î<?î›@?îx€?ï@?îl€?î €?ï @?ð?î9?ê@?ð?ïáÀ?ì‡À?î'À?ð?ð?ïè@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë§€?Ä€?¸ ?݈€?é‘?ð?ð?ð?î1À?âÛÀ?Ʊ?Ñ$?Âä?xÀ?áaÀ?ð?ïá@?ïWÀ?ï8?î°À?ïà@?ð?ð?ïýÀ?ð?ð?ïÈÀ?èš?Öï€?¿È?æ_€?➀?Û€?Òx€?Íð?äIÀ?ÅÐ?<?dÀ?Ê»?åQ@?Ôâ€?U?(?³¦?Ý€?ì£?ïíÀ?︀?ïÕ?ï_À?ïM?ïC@?ð?ïÝ€?ïþ€?ïïÀ?ï?ïj@?ï=€?ï¦?ï¯@?ï4@?ï0À?ð?ð?ð?ð?ð?ïü?ï½?î¿?ïü€?ð?ð?ð?ð?ï?ð?ð?ïçÀ?ïÌ?ïI?ïÿ€?ð?ï‘€?í¾À?ÕU?º<? ?½2?ëùÀ?ð?ð?ïÔ@?î£À?ð?ð?ð?ð?ð?î6@?îÄ€?ê'À?îÐ?ï)@?ïÈ?îk?îÏ€?ï"€?ïrÀ?î|€?ï?ìø€?ï€?ð?ïé€?ï¤À?ð?ïÝ€?ïvÀ?ð?ð?ìú?åJ@?åâÀ?ïàÀ?ð?î³€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë¾À?¹*?$?ª ?¦ì?Øâ?ï€?ïýÀ?ð?ð?î»?滀?«˜?›X?8?@?Ýh€?ïïÀ?ï°@?ïW?ïd@?ï°€?ð?ð?ð?ï<?ð?ïò@?æS?›?á @?Õ¡?Ô#?Ó,?Ø&?á@À?ÎÓ?´À?ái@?Ç–?W?h@?lÀ?°?š8?b€?Õ€?ïø?ïÂ?ïò?ïÈÀ?ïÔ€?îðÀ?ïK€?ï-?ïo@?ï–À?ð?ïþÀ?ï½@?ð?ð?îà€?ï0?îz@?ð?ð?ð?ð?ïÆ@?ï΀?ð?î‰À?ï÷À?ð?ð?ð?ïÓ?ð?ï À??ïóÀ?ïçÀ?ïÊ?ï¾€?ïÉ@?ð?ïŠ?äX?Û?šð?h?ÒA€?î~€?îs@?ï@?ï €?ïñÀ?ð?ð?ð?ð?ð?î¼?êW@?ì·@?îÎ@?îF€?îÀ?í—?îÓ?ïÂ@?ð?ïýÀ?ð?îwÀ?ïQ?ï?ð?ð?ð?ã«À?î©@?ï„@?ìšÀ?·?‹@?“?äa?ïš?ð?ð?ð?ð?ïø?ð?ð?ð?ð?ìÚ?À¾?P?Y€?¿*?ÚM?ïü?ð?ð?ð?èdÀ?±N?É¡?Ðy?í¾?ï”?ïîÀ?ïì€?ïÈ€?ð?ð?ï¸@?ð?î^À?îVÀ?âCÀ?Ã?˘?°†?£l?¾®?O?Ñ´?Ô?6?• ?©Ô?Ú’?² ?ÕÒ€?Öù?‰0??•h?i@?<?Öð€?ÏK?±Æ?h@?颀?ïJ?ð?ïþÀ?ïª@?ï^@?îòÀ?ïK@?îÊ@?ï€@?ï¯?ï €?ð?ïó@?ð?ð?ð?ïó@?ïé?ï€?î\À?î‡@?í8À?ì!?ì€?ïe@?î|€?ï6À?ï¼?ð?ïê@?ï|@?ð?îË€?ï¾À?ð?ïó€?ïÅÀ?ïpÀ?ï_?ð?æµÀ?暀?éÀ?è_?Ú€?³þ?¦l?pÀ?äïÀ?êÀ?íö@?ð?ð?ð?ð?ð?ð?ð?ð?ë!?í\€?í—À?ð?ð?ïf@?ï€?îc€?ï?îþ€?ïŠ?ð?ïq€?îH?ï@?î“€?ï±€?ð?ïÖ€?ïÀ?ï À?çö@?¶ê?î»?ð?ð?ï0€?îÖ@?ïž@?ð?ð?ð?ð?ï?À?È ??Á?ÈT?R?ç¿@?ð?ð?ð?ìÄ@?àù@?`?$?¡Ä?âB@?ïÄ€?ïõ€?ð?ð?ð?ïè€?ïY@?ð?ð?ëˆ?Ä;?â›À?èIÀ?³¤?äü€?èÃÀ?à“À?¨ô?·v?À‹?‘X?pÀ?•¨?ט?é ?ïÛ@?ð?îž@?ÎÌ?©p?Ññ€?¹V?R€?Ø?G?R?4?Y€?aÀ?ÏÉ?Ãu?—H?¶ˆ?Ô-?ï«À?íé€?ïû?ïò€??ð?ï÷À?ï À?ïu€?ï„@?ð?ïùÀ?ïIÀ?ïz?ï«@?îÇ€?ð?ð?ð?ð?ð?ð?ð?ïž?îtÀ?êœÀ?éPÀ?ïÜ@?ï­€?ð?ïÚ?ï‚À?ïŽ?îk?î­€?ð?ïí@?ïû?ï±À?ï]€?ìÙ€?ê¶@?ìH@?ï­@?ïx€?á[@?ï?íJ@?â‚@?ÊB?0?ËÃ?ï‹?ﺀ?ï´À?ð?ð?ð?ð?ð?ð?îZÀ?ìº@?ð?èð?ï¿@?ð?ð?ð?ïJ?ï?ï°À?ïB@?ð?ð?íÀ?ï<??ð?ëÀ?ëAÀ?ï:€?î‰@?ãû@?·˜?å€?ð?ð?ïü€?ï@?ð?ð?ð?ð?ð?îC@?Ýû?…À?Ñ^€?P?Íå?ð?ð?ð?ð?ð?É?á?Óc??¤(?îë@?ð?ð?ð?ïj?ï»@?ï€?ð?îêÀ?À©?6?êµ?ïV@?î ?䢀?Ã;?Ã@?´Z?Ó ?Êw?Å›?‰`?Á›?ÐY?`À?_€?Ô¼?•`?Ào?ê‡?ð?ïÙ€?Óž?‡ ?½Z?Í~?Í/?ç¶€?Ýì?²?kÀ? ?P?t€?ÄÑ?ƒ`?¤ ?2??Q?:?Ø'€?ïçÀ?ï½À?ð?ï«?ïÕ?ð?ð?ïÚ€?î±€?ïÇÀ?ï˜@?ð?ð?ïêÀ?ïWÀ??ï À?ï)À?îºÀ?ï€?î ?î%À?ð?ïï€?ï…€?ï À?í¢€?ì«?ð??ïñ?ïÀ?ïÌÀ?îÖÀ?êg€?ìˆ@?ì”?î€?ì?ìqÀ?éÅÀ?ìPÀ?ë=À?êkÀ?å€?ì'?ï?ïú@?ï¢@?ï#€?çmÀ?±´?W€?ä8@?ïê@?ð?ð?ð?ð?ð?ð?ð?îHÀ?ð??ì€?ïþ@?ð?ð?ð?ð?ð?ï²€?ïÂ?ïu€?ð?îÉ@?î?íýÀ?ï¸@?ëŸÀ?îãÀ?íÔ€?切?æ1?ài@?ÚÍ€?è¶À?ð?ð?ìyÀ?ð?ð?ð?ð?ð?í/?Öv?H?Äî?œ`?éz@?ð?ð?ð?ð?êÔ€?à.€?æH@?·H?Ã?¹x?êV@?ïð@?ï™@?ïs@?ï…@?ïëÀ?ï?ïê?ï&@?Á¾?ÊX?ï÷€?ï|@?ë)À?æÚÀ?‘ø?®t?H?~ ?_€?Q?L?Ë_?݈€?â@?á\À?…Ð?Ž ?ãsÀ?î’€?ï©À?ï‹?î{?äÐÀ?Ùˆ€?Áù?‘`?¼?’€?£$?Ç?®°?’¸?D?G?L?2??Íú?ç]€?ï$@?ïöÀ?ð?ïhÀ?ïÀ?ð?ð?ï?î €??ï|@?ïGÀ?ïe?ï5€?ï{?ð?ð?î[À?ì•€?ì±€?ë@?íù?ð?ïü€?ïü€?ïü@?ìç?í–@?ð?ïu?í¨?ëí@?ê–@?ìB€?ë¿€?äÀ?ë@?ïî?ï·À?ëBÀ?ï+?ï?ïL?ìè@?ð?ï @?ð?ï–À?ï\À?ï)€?ÙF?à@?Ú€?»þ?|@?hÀ?rà?ð?âü€?ð?ð?ð?ð?ð?ð?ð?î&€?ím€?í;@?î¦@?ï{?ï À?î¿À?ï7?ïü€?ïj€?ïY@?ð?ï´?ïÛ?íçÀ?îã@?ïE€?ï´À?ïÏÀ?î=€?ð?ð?ïÑ@?ð?î\€?ð?ð?îw€?ï—À?ïì€?ð?ð?ð?ð?ádÀ?Š`?ÀÁ?¾6?ìŸ@?ð?ð?ð?ð?ï¹?Ô~€?»L?Ñ?€?Ëí?Âå?Ñ[?áz@?è•?Þ?é­?íLÀ?ð?é?‡Ð?ÞŠ€?ï@?ãú€?Ú:€?îþÀ?Ûý€?,?Àñ?ã6?ÆÂ?ÒN€?æ’€?ç`€?壀?Èõ?Ç?ëd€?ìÙÀ?ï¸@?Ù¾€?á¯À?ïïÀ?ïm@?îÜ@?î À?îîÀ?ïõ@?ð?ïÀ@?æZ@?Ôi€?¼¤?qà? ?i?¼ˆ?ÏÎ?¡p?|@?2?4?R€?$?ט€?ïù?ïè?ï1?ð?îøÀ?ïæÀ?ð?ð?ïà?í·?î_€?î½À?ð?ð?îò?잀?ë­@?îšÀ?ïÔ?ï@?ïi?ëR€?î÷À?ï>?î›À?ï@?í@?ç6€?ëuÀ?ëwÀ?éòÀ?ìË€?íÀ?ïÝ?íÊÀ?í©@?ïýÀ?ð?ð?ì°À?ð?ïò€?î{€?ïâ€?ïÏÀ?ï°À?ð?ïù?ï÷À?ít?í‰@?ïø?ïû€?îíÀ?ì3€?íÀ?톀?Ý7?’H?‚°?åbÀ?ð?ð?ð?ð?ð?ï7@?ïÀ?îç€?îlÀ?îI@?íöÀ?îÀ?ïÖ€?î·€?íÄ€?îÙÀ?ï?ï“?ð?ð?îÅ?ð?ïQ@?ð?í´À?圀?ð?ïã?ïú@?ð?ð?ð?ï€?ë3@?î)@?ïð€?ï¨@?ð?ð?îù@?½x?$?·`?íè@?ð?ð?ð?ïÓ@?¯Ô? ?Ý@?á€?Õª€?x ?… ?Þå?å•@?ÆÞ?ëá€?æ€?ÃJ?‡`?Öþ?ÁA?¾ö?«˜?©D?ËÊ?p?Þã€?ÒC€?âÀ?îi€?ð?î×À?ïðÀ?ïú€?ïùÀ?ïÝ€?ï¹?ïÔ?ïv@?ï¶@?ïpÀ?î?â4À?Â?F?Œ?ÒÍ? ì?u€?$?i@?ÞH€?ïùÀ?ð?ð?ïv@?ïéÀ?ï\À?ïê€?ïü€?ð?ïÿ@?í€?ð?ï+À?íº€?îŽ@?ì>À?ïç€?ïÕ@?ï¦@?ïé??ð?ïs?ìÜ@?é£?ë©À?ì„€?ì΀?î€?íÝ@?ë;@?î’€?í×€?ð?ïú?íí@?ð?ð?ïI€?í˜@?ïg@?ð?ð?ë©€?ïwÀ?ïâ€?ð?ð?ð?ïç@?ï$€?ïî@?ð?ïoÀ?ïî€?ð?ïÚ@?ïæ@?ïŽ?èù@?µª?f? ð?èÀ?ð?ð?ð?ï?îá@?ïâ@?î‰?ïÖ€?ïrÀ?ïÈ€?ïÔ€?ív€?îî@?ïÞÀ?ð?ï?ð?ð?ð?ï¦À?îÔ€?ð?ð?î@?Ø‚€?ð?ïê€?ïÿÀ?ð?ïþ?ïº?ïöÀ?ïú@?ï΀?ïû€?ð?ð?ð?àËÀ?¢?2?Á«?éU€?ð?ð?ïäÀ?°´?s?Ý ?æ+@?㣀?â?Ø*€?2?s ?qà?€?Å?×ð€?æk?îï?ïû?ïë@?ïÛ@?ð?ïø@?ïå€?ï@??í¹?豈?ìå?ÚZ?¯ü?v@?À?‚@?ê%@?Ù”€?¿–?L?B?V€??²Ü?ï“?ï‘?ïþÀ?ð?ï @?îí€?ï€?ïûÀ?ïn?îÔ?î€@?ïP@?ð?ð?ð??îÚ?ð?ð?ð?ïZÀ?ïÿ@?ïú@?ð?ï®?îPÀ?ïÀ?í×?ð?î•?íá@?îH?ï?ï²?ïýÀ?í¹€?ïì€?ïáÀ?îžÀ?ï"€?î“@?ð?ð?ð?ëK@?éÀ?ð?ð?ð?ïõÀ?ð?ïü€?ð?ð?ï®?ïû€?ïöÀ?ï ?ïó@?ïä€?ïþ@?êÌ@?Ç]?Í«?ð?ï*À?îû?ïêÀ?ð?ïÙÀ?îP@?ð?ð?ð?ð?îÔ@?îtÀ?îüÀ?ð?ïÀ@?îåÀ?ð?ð?ð?îöÀ?ïý?ð?ï?ÇZ?ïý@?î³À?ïŒÀ?ð?ïÿÀ?ïô@?ïú@?ïþÀ?ð?ð?ð?ð?ïO?»Æ?º–?$?¦Ì??†0?ãÜ@?î±À?î‹À?¡´?t ?:??B?L?å À?ã À?»*?×>€?Ø ?¢d?<?† ?®Ø?²Ô?€@?°?á@?î]?î)À?ï¯À?ïÎÀ?ð?ð?ïü€?ð?ð?ï€?ëO?³²?§ì?®ì?ºÚ?Àå?Í?Å`?äú@?äX€?a€?Ú?a?[?èv?ð?ð?ï“?ï¶€?ð?ïÕ?ï€?ï¸À?ï«À?î´€?ð?ð?ð?ð?ð?ð?ð?ð?ï??ð?ð?ð?ï×@??îÛÀ?ïþ€?îÌÀ?í×À?î‰?ï•@?ð?ð?îD@?ïMÀ?ï±@?ïÑ?ï €?ð?î@€?ð?ð?ð?ð?ì®@?î0@?ïvÀ?ïÿ@?ð?ð?ð?ð?ð?ïñ€?ïýÀ?ïþÀ?ïò@?ïù?ïÛ@?ïµ?ïã€?ïÀ?èÕ?èÀ?Å/?©`?ë @?î«À?ð?ð?ð?ð?ï.@?ð?ð?ð?îÛ€?î²À?ï¡€?ï߀?ï€?ð?î\@?ð?ð?ð?îò?îò@?ïÀ?ïï@?Ð'?îˆ@?ð?ð?ð?ð?ð?ð?ï±€?ð?ïû€?ð?ð?ç»@?ÊŒ?<?Ž`?Çã?ÄÃ?Û÷?Ù?Îð?œh?h@?Ÿ?¢¤?¶–?“¨?ð?—0?H?r?¸2?á/€?¼L?›?èç@?ïV?ï’€?ï¢?ïoÀ?ïÉ@?ð?ïù?ð?ð?ð?ïY?ã¾@?Ò!?Ř?ã@?ìå?ês€?Ùc€?Ó?Ú9??2?U€?åÀ?ð?ð?ïð€?ð?ð?ð?ïEÀ?ïu?îŽ@?ïö€?ð?ð?ð?ð?ð?ð?ð?ïWÀ?ï·€?ð?ð?ð?îã@?îÓ@?ï^À?ïã€?î4?ï#À?ï,?ïÃ?ïîÀ?ð?î€?ïiÀ?ð?ï€@?ïÏ€?îâÀ?ð?î…@?ð?ð?ð?ïü€?ïù?ï9?ïÍÀ??ð?ð?ð?ïú?ïü?ïû€?ïýÀ?ð?ïú€?ï×@?ïk@?ïz@?ïÛ?ïÌ@?ïÿ€?ïïÀ?à–@?áîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïª?ïÿ@?îu?ïÁ?ï@??ï0€?ð?ð?ð?îò?ï6?ð?ð?à¥À?Ús?ïó€?ð?ð?ð?ð?ð?ïü€?ïvÀ?ð?ð?ð?îx?Õ=?>?Ï1?ê§À?ïæÀ?ïvÀ?ë€?ÑB€?Êò?Ѓ?äŸÀ?×)?À“?Ç£?ÂI?²D?M?2?†à?e€?qà?B?‰ ?W€?Ú’€?¬¸?×Â?îþ@?ï³?ï€?ëé@?ïQ€?ð?ï‘@?ð?ïá?ïÿÀ?ð?é6@?Û? ?àB@?ÃÁ?ÎT?°?Þb€?ïð?ð?ð?ð?ïÚ@?ïÚ@?ï-@?ïü?ð?ð?ð?ïÿ?ïñ?ïó@?ïó@?ïb@?ïzÀ?ð?ð?ïø@?ï–?ïÀ??ð?îv@?ï€?ïÅÀ?ï´À?ð?ð?îï@??ð?ïþ€?﯀?ï»?ïvÀ?ïí?ïÁ€?î/@?ð?ð?ð?ïVÀ?îàÀ?ïÀ€?ïÓ€?ð?ð?ð?ï1€?ï3?ïû€?ð?ð?ïþÀ?ï÷€?ïà€?ïâ€?ïëÀ?ïË€?ïçÀ?ï÷?é¼€??º?ï–À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?ï€?îù@?ð?ð?ð?ð?ð?ï9?鹿?ï ?ð?ï£À?×£?íþÀ?ét@?îî€?ð?ð?ð?ð?îÝ@?ð?ð?ð?ð?à#?eÀ?$?o@?@?®ø?ã'?éü€?ï­À?îŽ@?ï÷?ïÝ€?ïý€?ïú@?ì”?Ó—€?¿d?œ¨?W?€?L?F?§@?ŒÐ?Œ`?º¤?šH??¸?`@?8?¥P?Ø?™È?\€??¢ô?ßê€?ìP?ï ?íÜÀ?ëà€?ï@?ð?îù@?ëô@?ë’À?ïê@?ð?éê?¯?•ø?‘Ð?È¡?½`?¦l?°À?G?åÏ@?ð?ïþÀ?ð?ïq?ð?îÇ€?ïÿ€?ð?ð?ïþ@?ïõ?ð?ð?ð?ð?ð?ïù?ï0@?ï"?îÖ€?îé€?ïÏÀ?ïœ@?ïÀ?ï?ïð@?ïo@?ð?ð?îç??ð?ð?ð?ð?ð?ïš?î¤À?ð?ð?ð?ð?ïÀ?ð?ïD€?ïÿ?ð?ð?ð?ï¶€?ï÷@?ïý€?ïïÀ?ð?ð?ïø€?ïþÀ?ïëÀ?ïh€?ïô@?ïÔ?ïâ€?îù?~@?äÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïªÀ?ï“€?ð?ð?ð?ð?ïû@?ìa€?ï„À?ï‘@?î½@?ïÿÀ?ê0?ßÓ?íƒÀ?Ü?î @?ð?ð?ð?ð?ð?ð?ïi?îÿ€?Þ-?¤”?l?²°?Œp?¾X?Þð?çè?êò@?î-À?ëA?ïÑ?Û!€?ר?³Ä?¼R?´ˆ?Ò6?Áù?Q?¿ ?²?tà?…À?ÈO?Á-?Ðò€?À?ÃÁ?Åç?­€?¶v?‘X?®h?ªŒ?°>?Â'?ßø€?í‹@?â§€?äy@?ïÂ@?ﺀ?îp@?ì&?æÐÀ?µ>?ª°?Ó@€?éE@?ð?éý@?½¾?O?ÉÃ?Òt€?R€?ÐA€?Ðh?Ž€?“8?€p?Ã@?í¡€?ïó@?ïýÀ?ï–?ð?ïž?îu@?ð?ð?ð?ð?ð?ð?ð?ð?ïø€?ïx?ïˆ@?ïë@?ï ?ð?ð?îõ€?ïÀ?ð?ïË€?ﮀ?ð?ð?ïs@?ï2?ð?ð?ð?ð?ïÿÀ?ïv?îÒ€?ð?ð?ð?ð?ïÀ?ïù?ï”?ð?ð?ð?ïÿÀ?ð?ïü€?ð?ïû€?ïäÀ?ïü?ïú@?ïë?ïú€?ïð@?ïô€?ïú@?ïþÀ?ì?6?C?`?8?âïÀ?ï$@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?ð?ð?ð?ð?î@?íVÀ?ð?ï|À?ܳ?é_€?í±?åð?ð?ïÊ??ð?ð?ð?ð?ð?ð?ð?ð?â)?t@?Š€?Èi?½b?Ñí€?Õ¯€?áÆÀ?è™À?Ø?ÛJ€?¾:?áW€?äó@?ÜZ?ÐF?½¦?°L?ª ?á=?ê:€?â˜?À0?A?t@?8?à!€?ï÷?ï›À?ï—€?Øu?iÀ?Ã-??ïùÀ?âŸ?³ø?¨°?c€?±ê?R?À÷?¹°?šè?«?¨ä?ÙÊ€?$?«@?@?Þª?ð?ð?ïñ?ï¶€?ï]?í½€?ïÉ€?ð?ð?ð?ð?ð?ïü€?ï€?ïÀ?ï@?ïü€?ïzÀ??ð?îî€?îã?ï²?ïî@?ð?ïœÀ?ð?ð?ïUÀ?ïÀ?ï¯@?ïô€?ð?ïþ€?ïô?ïÕÀ?ïD@?ï2€?ð?ð?ï8?ïQ@?ïÚÀ?ï¼@?ð?ð?ð?ïú?ïþ@?ð?ð?ð?ð?ïK?ïZÀ?ï5@?ïC€?ï«@?ïü€?ïþÀ?ïø?áÖ??ç‘À?íñ€??ï×?îïÀ?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ïù?ð?ð?ð?ï†À?ð?ïþ@?í@?æ±@?ð?ð?ð?ð?ð?ð?íO@?í#À?ð?ð?ð?ð?ð?ð?íy@?†?z€?<?,? ?½ð?âl€?Ù0?X?Õ€?ìº@?ÝÃ?§ø? ?µ^?·Ø?ÅA?f@??ε?í”@?ïþ@?êé?Ì{?ÓX€?£|?2?­@?}`?[?Ó ?àˆ@?Éù?²ö?“0?¨T?a@?°|?î…@?ïü€?ïú?ïó@?ï€?ï"@?ïyÀ?ð?ð?ð?ð?ð?ð?ï™?ïÿ@?ï®@?ïõ€?ï©À?ïR@?îþ@?ï÷?ïÿÀ?ð?ð?ð?ï­À?ð?ð?ï €?ð?ïh€?ïSÀ?ï΀?ð?ð?ð?ï˜À?ï@@?ð?ïó@?î—@?ð?ï®À?ïû?ð?ð?ïþÀ?ð?ïû@?ð?ïýÀ?êW@?æt@?ëÁ?ï¿?ð?ïü€?ïe?ïÌ@?ïü€?ê‘@?²ä?Õ¸?ïþÀ?ð?ïïÀ?ïô€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ?ïÿ€?ð?ï°@?ïû€?îC@?ð?ð?ð?ïã€?ïÿ?ð?í?às@?ð?ð?ð?ð?ð?ð?ïÒÀ?ßñ€?~À?¸? L?à­€?¿^?›°?L?˜ø?àˆ@?Ôú?¤À?U?$?Ê¥?Ýå€?ãŸ@?å@?ÓC?À?$?A?«4?«”?Ȧ?i€?u`? ?B?‘è?‰?ãŒÀ?ïö€?ïí?ïþ€?ïò€?ïþ@?î¬?ð?ð?ð?ð?ï¼@?ïÿÀ?ïÏÀ?ð?ïç@?ïé€?ïé@?ï:À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?ð?ð?ïï€?ï!€?ð?ð?ïü@?ï)€?ð?ð?ïE@?ï€?ð?ï¬@?ð?ð?ð?ð?ïÝ@?ïó€?ð?ì…@?å#@?ï¨?ð?ïÿ@?ð?ð?ð?ï›À?ì¡À?À×?b@?ë6À?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¹À?ï`?ï¦À?ïŽ@?ïý€?ï?ìá@?í€?ð?ïÿ€?ð?ð?ð?Üp?ð?ð?ð?ð?ð?ïÉ@?îÒ@?î«À?ÂÞ?g?¤?I?È?`À?yÀ?Z€?qà?ªŒ?—€?‚à?ÈX?Ò/? ?Â.?™H?¥D?ƒ?Ìü?¹b?²?^?B?$?U€?¸”?ï€?ïÝ?ï*?ð?ïr€??ïgÀ?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïh?î€@?îØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?îù€??ð?ïÎ@?ïc@?ð?ð?ïlÀ?ïÙ?ð?ïù?îåÀ?ïµ@?ð??ð?ð?ð?ð?ð?ïû€?ïø@?ær€?íª@?ð?ð?ïÏÀ?ïæ€?ð?ð?êä€?¸T?ë€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ët?îõ@?ïÄÀ?ð?ð?ð?ð?Ñ?é¼?ï.À?îú€?ï€?îìÀ?îƒÀ?ð?ï˜À?¡ð?aÀ?Ä\?<?Í ?å¬@?Ò€?ÏØ?á¥À?ÉÜ?ŠP?J?—è?¥X?$?Þ?äø@?e?½t?±?m?³Ø?¢t?2??ßX?ïê?ïù@?ïø?ïâ?ï~?ï;?ïß@?ï¹?ïÕ€?ï•€?ïí€?ð?ïÙ@?ïfÀ?î°?ï™?ïÀ?ïà@?ð?ð?ð?ð?ð?ð?ð?ïê@?ï&À?ïÐÀ?ð?ð?ï{À?ð?ð?ï}@?ïù?ð?ïú@?îö?ïŸÀ?ïó@?ï‡À?ð?ð?ð?ð?ïÿ€?ïÿ@?ï…@?ï@€?ïþÀ?ð?ð?ïð€?ïýÀ?ð?ïè€?Ï#?Ä?ïj?ð?ð?ð?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ï6À?¾d?îÓ€?ð?ð?ïÏÀ?ï6@?ï?ð?ïù€?»Æ? p?°ž??˜?Üc€?p€?P€?Ñ€?áÀ?â @?îÀÀ?ð?ë´@?æ€?åu?âv?±Î?ŒÀ?êÍ€?ïÇ?Â×?L?z€??±T?ë5@?ïâ?ïç@?ïU@?ïKÀ?ïö€?ï¿À?ïü€?ï<@?ïy?ïÀ@?ï@€?ïw@?ð?ïc€?ïÿ@?î÷?îÈ€?ïL€?ïÏ€?ð?ð?ð?ð?ð?ïö€?ïýÀ?ð?ð?ð?ð?ð?ð?ï^À?ï ?ð?ïàÀ?ï0@?ïõÀ?ïù?ï~À?ïé@?ð?ð?ð?ïÿÀ?ïÿ@?ï‡@?ïÈ€?ð?ïýÀ?ð?ïå€?ï €?ï߀?æ­@?R?Á„?îè?ð?ð?ïo€?ï¹€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?Ôµ?ï@?ð?ï@?ï¯@?ð?ð?ð?ïâÀ?ÅD?«`?¡ü?íè@?ØN?Ð×?î—@?ð?ïýÀ?ïý€?ð?ð?ïú?ï €?áf@?£l?ík@?ð?á€?„p?x ?ÒW?ïñ?ïº@?ð?ïÅÀ?ð?ïø?ð?ï–?ï"À?îñ€?ïè€?ð?ïË@?ïm?î@?ìÆ?ï/@?ï8À?ï“?婢?ïÂÀ?ïã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó@?ð?ïÀ?ïA?ïÿ?ïþÀ?ï³@?ïì€?ð?ð?ïþÀ?ïù€?ïú?ï9?ïÜÀ?ïýÀ?ïþÀ?﯀?ïÃ@?ð?Ý–?³ü?å9€?ð?ð?ð?ïÛ€?ï*À?ð?ïó€?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ã@?ç¼@?ïñ€?ï_?ð?ð?ïù@?îçÀ?ï ?ÉÛ?Ê@?æl@?ïu€?çž?‘ø?³þ?Â-?x ?é À?ïê€?ð?ð?ð?ð?ð?ð?éM?ʶ?™x?ÉÕ?ï¼À?ð?æ6?g?­È?N?4?¢¸?Ñ`€?Áv?•8?íI€?ïù?ïð@?ïþ€?ïò@?ïò@?ïê?ïÏÀ?ð?ïê?ð?ð?ïv?ìö?ð?ï €?ïÕ?íÚÀ?ïÏÀ?ïô@?ïó@?ïä@?ð?ð?ïó@?ð?ð?ð?ð?ð?ð?ð?ïü€?ð?ïø€?ï­?ï†À?ïú@?ð?ïæ@?ïüÀ?ð?ð?ð?ð?ð?ïT€?ïû@?ïþÀ?ð?ï§@?ï¿@?ï @?¶|?\?íp€?ð?ð?ïï@?ïÿ@?ïþÀ?ïýÀ?ïý@?ïþ?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‡?ï.@?ï¡@?ïö@?ï†À?ïø?ïÀ?ð?ð?ð?ð?ð?í@?éUÀ?ïŠÀ?ð?ïâ€?îþ?ï7@?ïü?ïÿ@?Ù&?`À?Ûè?ð?ð?ëôÀ?½(?Ý™?ìTÀ?ï:@?Ój?,?Ó»?ïµ@?ð?ð?ð?ï÷€?ð?ð?ïÏ?Ü߀?ÁÊ?¡ü?Äz?ð?ð?î&À?àh@?ÌŸ?<?ð?ª@?L?ˆ€?n@?”À?v€?6?X€?B?2?B?æV?ð?ð?ïÍ@?ïþÀ?ïû€?ïæÀ?ï¹€?ïò€?ïî?ð?ð?ïM€?ïÚÀ?ïÖ€?ï³€?ïB@?ï©@?î÷€?ïí€?ð?ïá?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ð?ð?ð?ð?ïé€?ï€?ï»?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ïý@?ïg?ïñ@?ð?ð?ð?ïÛ@?îâ?ŸÀ?ÉÛ?ïø?ïþÀ?ð?ïÿ@?ð?ïý€?ð?ð?ð?ïøÀ?ï÷?ð?ïïÀ?ïýÀ?ð?ð?ð?ð?ð?îz?ïû€?ð?ð?ð?ð?îÚ@?ð?ð?ð?ð?ð?ð?ïÉ€?é²À?ð?ð?ð?ð?ð?ð?Õê€?ˆ`?Ù¦€?ìeÀ?ð?ð?ïV€?ÃW?¯$?á–€?ð?ð?ð?ê@?êÎ?å ?î À?ð?ð?ð?ïÿ@?ïú@?ð?ï°À?ÝÅ€?”@?¼ü?ïðÀ?ð?ð?ïôÀ?îì€?µò?Öé?ÀÇ?·Œ?2?P€?G?I?$?¢P?æ €?ð?ï €?ïûÀ?ïï€?ïù?ïÑ€?ïa?ì‘@?ïç€?ïÿ@?ïj?ïè€?ïó?ïW€?î¹€?ïã€?ï°À?ïó@?ð?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè€?ïe@?ïû€?ð?ð?ð?ïýÀ?ð?ð?ð?ïö@?ïŠÀ?ïèÀ?ïÍ?ð?ð?ïÉ@?ïÎÀ?ï€?™°?â6€?ð?ïù?ð?ð?ð?ïû€?ð?ð?ïýÀ?ïú@?ïò@?ð?ð?ïþÀ?ð?ð?ð?ð?ð?î4?ïJ€?ï-?ï‡?ï¨À?îÆ?îÝ@?ï@?ì³?ë¯@?ïÔ@?ïê€?ïþÀ?ð?ï"?ð?ð?ð?ð?ð?褀?ŸØ?®ì?Õ9€?äÐ?îÏ€?ïl@?ï¡?ð?ÜÈ?¸?<?yà?ÚH€?ïa@?ð?ð?ð?ï8€?ïj€?ïûÀ?ïÀ€?ð?ð?ð?ð?ð?ð?ð?ð?ç¡€?Ñ2?Ö‚€?ð?ð?ð?ð?ïýÀ?Í&?¹j?È8?¶?M?{ ?g?2?p ?2?b?N?W?$?Y€?”Ð?ÚQ?í4?ð?ïýÀ?ïø?ï½@?ï4?Ó_?æù@?ïþ?ïzÀ?ïñ€?ð?ïÐÀ?îÀ?ïÔ@?ïª@?ð?ð?ð?ïj?ïÍ@?ïé?ïÿÀ?ïýÀ?ð?ïû€?ïú@?ð?ð?ð?ð?ï˜À?ïÿ@?ð?ð?ð?ð?ï¹À?ïàÀ?ð?ð?ï¢@?ïŽÀ?ïý€?ïý@?ïýÀ?ïß@?ïí€?ï‘@?ïK?À2?’¸?åÖ@?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ïîÀ?ð?ð?ð?ïýÀ?ïþ€?ð?ð?ð?ð?ð?ð?ð?ë:€?é€?ð?ð?ð?ð?ð?ð??ï®À?ð?ð?ð?ð?ð?ð?êtÀ?¸z?Ñ?î*@?ï¹?îþ€?ï.?ð?ð?ð?Õk?(?Ê©?áÆ€?éY@?ïØ@?ð?ð?ð?ð?æ<@?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïÆ@?ä@?·r?ÂÐ?˜`?âq€?ð?ð?ð?ð?ð?ÜA€?Ê7?Ê–?}@?[€?Q?ÇŒ?à^À?Ì{?0?2?G?| ?¤È?u@?Z€?B?­<?Û¨€?ë@?ð?ïªÀ?ïñ€?î €?ç#À?ïù?ð?ïä@?ð?ïî@?ï¶@?ïÈ€?ïá€?ïü€?ð?ð?ð?ïõÀ?ïû€?ïôÀ?ïp?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¬À?ð?ð?ïû€?ð?ð?ïÿ€?ïñÀ?í”@?а?è¤?ð?ïü€?ï®@?îr€?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ïþ?ð?ð?ð?ð?ð?ð?êÁ@?êâÀ?ïûÀ?ð?ïø?ð?ð?ð?ð?ð?ïÕ@??ð?ð?ïóÀ?æÍÀ?Öj?Ð?M?çÆ€?ð?ïÕ@?ï{€?ïi@?ð?îî€?ìmÀ?›H?âï@?ëþÀ?ä&@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ð?ð?ð?ð?ð?ð?ïÙ?à·À?x?·Ê?ït?ïýÀ?ð?ð?ïýÀ?ð?îôÀ?¹|?€?‚p?ŒP?Ç ?´þ? ?¤|?€?q ?…Ð?–˜?b?f?$?¦H?àGÀ?ïñÀ?ï£@?ð?ïÛÀ?ï¥@?ïþÀ?ð?ïÕ@?ïþ?ð?ïñ@?ð?ï÷À?ð?ïå€?ð?ð?ð?ð?ï8@?ïã€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ð?ð?ð?ð?切?ð?ð?ïþÀ?ïû€?ð?ð?ð?èGÀ?æ„À?ð?ð?ð?ïÞ€?ð?ð?ð?ð?ð?ð?ð?ïõ€?ð?ð?ð?ð?ïà?ð?ïýÀ?ð?ïþ€?îs?ð?ð?ð?ïÜ@?ïÇ€?ð?ð?ð?ð?ð?ï@?ïÐÀ?ï_@?Ó²?F?ìZ?ð?ïûÀ?ï÷?ð?ïþÀ?ï‘À?êÇ€?ä‡À?ð?ïáÀ?ïñ?ð?ïû?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ïû€?ïú@?ð?ð?ëÀ?í?ïýÀ?ð?ð?ð?ð?ïù?ïàÀ?Îý?³ ?°ì?Ë^?ï€?Û4€?™8?}`?„@?G?<?´¶?´¤?dÀ?Z?à9@?ïÀ?ð?ïà@?ïô?ï¯@?ïÀ?ð?ïéÀ?ð?ð?ð?ï›À?ð?ð?ð?ð?ð?ð?îo@?ï×@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ïø@?ïä?ïí€?ð?ð?ïþ@?ïœ?ð?ð?ð?ïÖ?ïþÀ?ð?ð?à€?2?â9€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îM?Éú?ÅX?ï÷@?ïˆ@?ð?ð?ð?ð?ì¢?‰à?Õ‘?ïg€?ð?ð?ïî?ïø€?ð?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?ð?ð?ð?ð?ïÿÀ?ïñ@?ð?ð?ð?ð?ð?ï÷@?ïí€?äÛ?{ ?À‹?“?và?†p?d€?x ?b?‘h??J?X€?,?D?^?T?Ë?ð?ïïÀ?ïüÀ?ïô€?ëTÀ?ïþÀ?ð?ð?ð?ï–@?ïÍ€?ïþÀ?ð?ð?ð?ð?ð?ïC?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï@?îË?íÀ?î:?íÜ?ð?ð?ëŸ?ïÖ€?ð?ð?ïû€?ïÆ€?ð?ð?Õ7€?h?ëôÀ?ð?ð?ð?ð?ð?ïÿ?ïé?ð?ð?ð?ð?ð?ïþ@?ïâ@?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïw@?ïÏ€?ð?ïüÀ?éˆ@?®x??ê•À?ï)?ïlÀ?ïâÀ?ï×?ï‚@?á-€?¹V?ìA@?ð?ð?ð?ð?ð?ð?ð?ïû€?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ïò€?ïýÀ?ï×€?ð?ð?ð?ð?ïù@?ïýÀ?îÅ?á€?¿Î?B?E?¸`?X€?žx?¢?u?h€?w?:?4?¦È?K?´v?ïò@?ï÷?ïÀ?ð?í¯?ð?ð?ð?ð?ïù@?ïð?ð?ïû?ïë?ð?ð?ð?î@?ïê€?ïü€?ð?ð?ð?ð?ð?ð?î„?ï€?ð?ð?ð?ð?ð?ð?ïŸ?ð?ïó?ð?ïÊ?ïÌ@?ï¾?î’À?Óµ?Öó€?ð?ð?ð?ð?ð?ð?ïÛ@?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?ð?ï!À?ð?ð?éAÀ?©?[€?èÆ€?îƒ@?ð?ð?ð?ï¢@?Ì›?Ér?‘È??lÀ?ÉÎ?ß?å ?î–@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ïõÀ?ð?ð?ë½À?Ùæ?¤P?z@?µ„?P?Y€?˜À?<?‚?l?r ?[€?E?$?$?í{€?ð?ð?ð?ïü€?ð?ïþÀ?ð?ð?ïï?ïä?ð?ð?ð?ð?ð?ï¯À?ïb€?ð?ð?ð?ð?ð?ð?ð?ïé@?ëë@?íÄ€?ï+@?íŽ?í„?îØ@?ï‰À?ïüÀ?ïø?ïä?ïïÀ?ïôÀ?ïç@?ð?ð?èCÀ?€?@?ì–À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïòÀ?ï5?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï´?ïË?ï?ð?ð?ëk€?±¢?Õb€?ïý@?ð?ð?ð?ð?ìI@?h€? ?»N?£L?ªh?Ý~€?àÀ?êÍ?ïðÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ@?Êã?e@?Î?â߀?¤p?è?Áÿ?O?K?(?mÀ?î¹€?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ð?ð?ð?ð?ð?ð?ï¾À?ï¦?ð?ð?ð?ð?ð?ð?ð?î5@?ìŠÀ?îö?ð?îþ?ïç?ð?ï€?í-€?îÉ?ð?ïþ?ïþ€?ð?ð?îtÀ?̓?Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ïúÀ?ïÀ?îÂ?î¬@?îÆ@?îÏ€?ÔY€?´"?ëÀ?ïà?ï(€?ð?ð?ïýÀ?ã+€?ÑÌ€?„p?O?Ê?ë€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïèÀ?ð?ð?ïê€?ë'€?’?f?д€?äþ€?Ãn?£È?»Ä?N?n€?«œ?†?ë²€?ð?ð?ïè€?ïôÀ?ð?ð?ïû€?ð?ïÔ?ïÎ?ð?ð?ð?ð?ð?ïú€?ï?ð?ð?ð?ð?ð?ð?ð?ï@?ð?ï{€?움?ï@?ïÿ?ð?ïÏ€?íÄ@?ïÍ?ï@?ð?ïù@?ïÛ?﯀?â$@?x?åú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¶?ï-À?ï3@?ï€?îùÀ?ð?ð?ð?ð?åt@?[?ØŠ€?î?ï’?ïò@?ð?ð?ïÿÀ?Î ?Ò ?Ü0?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?Óñ?²ü?¨?à?Åê?2?À?]€?$?™°?ïH?ð?ð?ï©À?ïÍ@?ïbÀ?ð?ð?ð?ð?ï/À?ð?ð?ð?ð?ïï@?ïÚ?鹿?ð?ð?ð?ð?ð?ð?îè?ï×?ð?ð?ð?î÷€?ïú?ïþ?ïû€?ïú@?ïþÀ?ð?ð?ïëÀ?ïüÀ?êÄÀ?Ð?Õ¬€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ïÿÀ?î‰@?ï€À?ð?ð?ð?ë€?Ì÷?ï¬?ð?ð?ð?ð?îÀ?r ?à?ïqÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï À?ë?0?O?•È?p@?I?d@?Æl?ð?ð?ïü€?ïÇ@?ï/€?ïÿÀ?ï÷?ð?ïýÀ?ïø@?ïê?ï·À?ð?ð?ð?ïó€?ð?ï;€?ð?ð?ð?ð?ïÑÀ?îWÀ?îa€?îÝ€?ë_À?ïŠ@?ïÈ?ï÷?îo@?ïè@?ïý?ï¾?ð?ì#À?è<@?æB€?å?Â?í@À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?îá@?ð?ð?ð?ÕÑ?à®?ï?ïç€?ð?ð?êÉ@?(?±l?î#À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ïüÀ?ïýÀ?ð?ð?ð?ð?ï#@?ð?ïýÀ?ï?Õ<?uà?K?4?æÀ?ð?ð?ïðÀ?ïÿÀ?ïû?ð?ð?ð?ï÷@?﯀?ð?ïù€?ïù€?ïÚÀ?ïú€?ð?ï@?ïÀ?ð?ð?ð?î|À?ïp@?ïŸ@?ïÌ?ð?ð?íP@?íL?ð?ïÆ?ï&€?ì ?âv€?·Z?ë}@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ïñÀ?ïõÀ?ïð?îÎ?íÙ?ïû@?ï¤?Ò€?àÀ?ð?ð?ð?ð?ßÍ€?Ø.€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?îi@?ÛŸ€?I???v`?æ¹@?ð?ïÙ?ïö@?ïö@?ð?ïýÀ?ïÿ?ð?ïù€?ï¾À?ï|?ïÖÀ?ïú€?ð?ïüÀ?ð?ð?ïQ@?ð?ð?ïæ?ìe?ïþ?ï÷@?ï±À?ïÌÀ?ð?ïö@?ð?ð?îäÀ?Ø£?¡ ?™8?à­?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ïù€?ð?ð?ð?ð?ïó@?ïî?ï¡À?îãÀ?쯀?ã\À?ÏÙ? ?· ?íÀ?ð?ï™@?êcÀ?¾X?ºô?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ð?ð?ïÿ?ð?ð?ïô?ð?ð?ð?ð?ð?ð?ð?ð?ïù?ð?ï¼@?î·À?Òà?Á}?2?æ4@?ð?ïp?ð?ð?ð?ð?ï¹@?ð?ð?ð?ð?ïÇ?ïÞ€?ïù€?ï÷@?ïž@?ïÎ??ð?ï”?ì3€?ë?ð?ð?ïúÀ?ïØ?ð?ð?ïô?ì[À?Å­?åm@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ð?ïûÀ?ïýÀ?ïõÀ?ïòÀ?îÓ?ÖØ€?8?…?Òw€?ÐÈ?(?ÅŠ?Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ïì€?ïô?ð?ïíÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïø@?ð?ð?ð?à΀?äÓÀ?ð?ð?ïýÀ?ð?ïÿ?ð?ï€?ð?ð?ð?ð?ð?ð?ïûÀ?ïáÀ?ïüÀ?ï(?ïµ@?ð?ïF€?í²À?ï1€?ï;@?ï°?ð?ð?ð?ð?ê‚@?®À?Û×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ð?ð?ïó@?ïùÀ?ïr€?г€?ÅÝ?ßá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ïýÀ?ïüÀ?ïüÀ?ï‚À?ð?ïø€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò?ãj€?A?çH€?ð?ïîÀ?ïõ@?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ïú€?ï?ï'@?ð?ð?ð?ï“€?ð?ð?ð?ð?ð?ð?ð?äâÀ?ÉU?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ìæ€?ïÿ?ð?ïÜ@?ð?ïó?Ò¸€?q ?ç¯?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïê€?ïûÀ?ïãÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ð?ïû?ð??ä4@?”À??¡<?íÒ?ð?ï³?ïí€?ð?ð?ð?ð?ð?ïì€?ð?ð?ð?ð?ïñ?ï÷@?î-À?îÚÀ?ïü€?îÈ@?ïU€?ïÏ?ï×?ïU€?ïS€?ïÔ€?ð?ïë€?ð?åßÀ?A?_?ç¡À?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?íÓ€?ïOÀ?ð?ð?ð?ð?ï~@?ïüÀ?ð?î€?£Ì?Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïØ?ï¼À?ïò?ïÀ?ïáÀ?ð?ð?ð?ð?ð?ð?ïýÀ?ï…?ð?ð?ïÿÀ?ð?ïÍ?ì©?­P? ?~à?È£?ð?ð?ïº?ïù€?ð?ð?ïýÀ?î`@?ïÿ?ð?ð?ïþ€?ð?ð?ð?ï¢?îu?ï?íV€?î|@?ïo@?ïg€?ïç?ïûÀ?ï*?ï8?ï¦@?ïä?ð?ç€? ?µ`?éy?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕÀ?ð?ð?ïC?ð?ïõ@?ïÑ€?ïöÀ?ïù?ïüÀ?æ~À?ª˜?ëÂ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ïí€?ð?ïÔÀ?ï÷@?ïÚ@?ïó?ïõ@?Íó?Þ‹?ð?ïýÀ?ïø€?ð?ð?ð?ïú€?ïÿ?ð?ð?ð?ïò@?ð?ïû?ïÂ@?î„À?ï®À?ï^?ïu?ïp@?ïX€?ð?ð?ïô?ï¹À?ð?ð?ð?ïø@?Ú{?½þ?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ïÿ?ï+?ïÉÀ?ïÚÀ?ä¨À?¨À?2?Ú?€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ïíÀ?ð?ð?ïûÀ?ð?ð?ð?ïþ€?ð?ïþ?ð?ïõ@?ïüÀ?îì@?¸?^€?s`?è#À?ð?ð?ð?ð?ð?îß?ð?ïÿ?ïºÀ?ïò?ð?ð?ð?ï–À?ïã?îXÀ?ïãÀ?ð?ï˜@?îó@?ïáÀ?ð?ð?îÿ€?ð?ïþ€?ïù€?ïË€?ÜM??åï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ?ïÜ@?ð?切?ð?ïó€?ïÀ?ïð@?ë¿@?›°?Ê‹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ïñ€?ð?ð?ð?ïú€?ïíÀ?ïH@?ïê?ïý@?ð?ïö?ï¡?ïó?ð?ê¿€?ã„€?ð?ïÿÀ?ïÿ?ð?ð?ìµ€?ð?îõ@?ìü?ð?ïâ€?ïüÀ?ï¬?ï‚€?ïQ?îÇ@?ð?ïÏ?îó€?ïó?ï?ïâÀ?ïê€?ïï€?ïÀ?ï @?ï À?æt@?b€?Ò$€?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?íû?íÍ?î¹À?ï€@?ïØ€?ð?ïÿ€?Ô €?±4?ïRÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé@?ð?ð?ð?ð?ð?ð?ð?ïþ@?ð?ïù€?ð?ïµ?ð?ð?â@? ?´æ?îÝ€?ð?ïý?ð?ð?ð?ð?ïüÀ?ïÿ@?ïõ@?ð?ësÀ?éÀ?ð?ïÍ?îžÀ?ï½@?ð?í@?ïü?ð?ïüÀ?ïÚ?ïýÀ?ïç@?ïþ?ï‡@?Ó‰€?Ñ€?I?æm?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÎ@?ïþ?ïö@?áã@?âà?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ïø€?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ïýÀ?ïñ@?ïýÀ?ð?ÜÄ?O?›¸?ïˆ?ïô?ð?ð?ð?ð?ð?ïÿ?ð?ïè@?ð?ïŸ?ð?ð?ï:À?îwÀ?ð?ð?ì?ð?ð?ð?ïù€?ð?ð?ð?àÑÀ?Ò‘€?:?ÀN?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ïù€?ð?݆?,?Ç?ïÍ@?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïvÀ?ï÷€?ìl@?âô?È ?§X?”¸?‹°?Ú‚€?ãMÀ?ëO€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïì€?ï\À?ïýÀ?ð?ð?ð?ïþ€?ð?ïýÀ?ïö@?ð?ð?ïßÀ?ïù€?íYÀ?µj?0?ëå?ð?ð?ð?ïýÀ?ð?ïÿ?ð?ïüÀ?ï–?ð?ð?ð?ïýÀ?í¨@?ïê@?ïÿ?ïy?ïÀ?ð?ð?ïÊÀ?ïÈ?ð?ð?ìšÀ?Å“?€@?¥(?çÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ð?ëåÀ?Åñ?L?ë~@?ïþ?ïÚ@?ïêÀ?ïÚ€?ð?ð?ð?ð?ð?ïß?é«À?Ò¾?”H?Š@?©°?ê2@?ð?ð?ð?ìÒÀ?ð?ð?ð?ð?ð?íÜÀ?ð?ð?ð?ð?ïÿ€?ð?ð?ïu@?ï}€?ð?ïÔÀ?äßÀ?œ˜?ë??ïþ?ï÷?ð?ð?ð?ð?ïìÀ?ïÿ@?ð?ð?ð?ð?îÀ?ïÅ@?ïÿ?î£À?ïþÀ?îœÀ?é‹?ï5@?ïþ€?íø@?àQ?¡$?y€?çÜ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕÀ?å|À?´ ?¶$?í©€?ð?ïñ@?ð?ð?ð?ð?ð?ð?ð?áˆ?Éî?ï?ð?ïç?Ö!?ïÈ?ïþ?ð?ð?ð?ïöÀ?ð?ð?ð?ï›À?ïÚ€?ï»À?ð?ïç@?ïð€?ð?é ?Šð?(?‹°?W€?µX?ï¶€?ïé@?ð?ïÚ€?ð?ð?ïöÀ?ð?ð?ïý?ïÞÀ?ïöÀ?ïÙ@?ïm€?í€À?ïK@?ëHÀ?ïiÀ?ïW?ïè€?ð?ð?èû@?ÓÉ?Ò7?îm?ð?ﻀ?îÉÀ?ás€?àÒ€?à €?ã@?ÓÏ€?²š?åï@?ïþ?ïû?ïÏ€?ð?î·@?Ús€?Ò|?ÎA?Ö>€?Ôè€?¥Ð?t@?Þf?íZÀ?Ș?àï€?í¿@?ïò€?ïÐ?ï¹€?ï+€?ïìÀ?ð?ïý?ïý?ð?ïú?ï÷€?ð?ïy€?ïî?îú€?Ù)€? ?:? ?C?×€?ï{?ïü?ïéÀ?ð?ð?ð?ð?ïþ?ïý?ïþ?ïÉ?ïü?ïP@?ïóÀ?ïø@?î^€?æt@?ï«À?ð?ïòÀ?ð?ð?ßl?¾\?ßx€?±ö?‘Ð?x?ßÉ?ì^€?í¢?ã©?¸Ä?ÅF?Ô¡?²X?àÖ?Ýï?ïÎ@?ïé@?ð?ð?ïõ€?ïÉÀ?ïè€?ð?ð?ð?ð?ð?ïj€?ïi?î*€?¤˜?ÃÔ?Õ??ä€?ïü?ð?ïþ€?ïÄ@?ð?ð?ð?ð?ïðÀ?ïîÀ?ð?ïö?ï¹?ïg?ïæ€?ïû?ç^@?Ï|?Ø¢€?å@?åé€?ßÖ?›?@?Èm?Ë"?Úy€?æq€?ð?ð?ïº@?ïø@?ïè€?ï™@?ð?ð?ð?ïý?ï]@?﯀?ïe?àf@?žè?éÕ€?Ù{?Àª?ï @?ï­@?ïìÀ?ïÊ€?ïQ@?ð?ð?ð?ð?ð?ð?ð?ïä€?ïÀ?ïª?ï³@?ï™?ïf?ìÅ€?”€?Éô?ÎM?œH?¯L?ív?ð?ï?ïý?ð?ïÎ@?ïäÀ?ï;@?ïn?ï9€?îÓÀ?ï«@?äU@?˜¨?ãž@?¼0?’x?ëÀ?ïó€?ï^€?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ïô€?ïô@?ïð€?ï)@?ét€?¹Ô?ç¶@?ïô@?ïi@?ïx@?ïü?ïx€?ïS@?ï7@?ïý?ïo€?ïý?ïø@?Ü£?Çø?Ù?ÓA?̯?ïä?ïüÀ?ïèÀ?ïó€?ð?ð?ð?ð?ð?ð?ð?ïÑ€?îÀ?ï³?ïù?ð?ð?ï×€?îù?Ú¸?Œ`??×e€?ð?ï©?ï@?ï•?ïÄ@?ï}?ïvÀ?ï´À?ï›?ìÀ?êH?Ï—?èÞÀ?ç€?·Ì?»?Ó €?êœ?ïÄ€?ï^@?ïì€?ð?ð?ð?ïþ?ïð€?ïúÀ?ð?ð?ï¨@?ïë€?ïý?ð?ïõ@?ð?ïí@?釀?¡è?K?]€?ÍÀ?â €?èîÀ?í8?æúÀ?Øõ?î¥À?ï$À?ÒÛ?>?ê’@?ï³?î?íÇ?Þ{??å²À?ð?ð?ïü@?ð?îõ€?ïÀ?ð?ð?ïЀ?ð?ïÂ?ïÊ?ïØ€?ð?ïù@?ï÷@?ïõ?êŽ?ÊÙ?[€?T€?Ê=?–8?É?ÄÇ?Ø€?ïº?ì4@?ïI€?æ?¤?àA?ïu@?î­À??ïë€?ïZ@?îž?ð?ð?ð?ð?ïý?ï£?éÄ€?âª?àÇÀ?×.?Â??ÂÛ?Ÿ@?´À?Û³?ìó€?ð?ê€@?à€?î>?î¼€?ïíÀ?ð?ëÆ@?ï²À?ð?ð?ð?ð?ð?ð?í#?„`?¢8? ?r ?Ê?­”?0?Ðü€?ð?Þq?ˆp?îã@?ì‹À?î€?ïþ?ïñ€?ð?ð?ð?ïÿ?ð?ïæ€?ïLÀ?ï ?å´@?† ?äè€?â-@?Ùú€?æ$@?ÐG?ê@À?Ù)€?ÉÂ?æ¸@?â|?ã°@?êJ@?ìç?î À?ð?ïõ?ïú€?ïõ?ð?ð?Õ}€?à¤À?ã ?Âæ?ØŒ?ï8€?íø?ïÞÀ?ÎJ?–ð?èY@?ï–À?ìè€?’8?ºî?Ýd€?à@?îÕ€?ïüÀ?ð?ïý?ïü@?ïð?ð?ð?Ìý?|à?±6?ìµ€?ï?ìh€?œH?Ò߀?ïXÀ?ïa€?Øæ?åMÀ?Õ*€?î±€?ïË@?ð?ð?ï÷?ð?ïé€?ð?á÷?ã•À?à €?íÀ?Ó-€?Õš€?ë«?îZ@?ã[À?„p?¨”?â @?à.À?îÎ@?ïÞ?ï÷?ð?ð?ð?ïð€?ð?ßµ€?¢?uÀ?­?2?Ä|?ä\@?ìLÀ?î¾?åœ?Ñ«?d@?¿F?ª?À?å÷@?ï6?ï—?ïöÀ?ïú€?ð?ïÆ€?ï½@?îhÀ?À?|À?ቀ?í¿€?îJ?î?¿š?‡?›X?ß €?ác?îø@?鹿?ïé€?ïÜ?ð?îì@?ïó?å—€?Ûh?ìbÀ?íû?ï§€?è×@?p?ˆà?ᙀ?ç°€?ïÇ€?ï©?ïþ@?ìÜ?ìö€?î@?Õ€?·p?ƒÐ?<?¥d?ç¢@?îÕ€?ð?êÀ@?º ?Û~?åÄ@?îç€?ïÀ?ïË€?ð?ïk?ïÍ€?Å£?«ˆ?và?¦ø?:?Ñ€?Ûº€?¼p?ÂU?á€?éÉ?í?ëÀ?í €?ïø?ïÝ€?ïþÀ?ÞÄ?€?¿J?,?¸,?ëZÀ?ï$?í?€?ïÀ€?ïø@?ïôÀ?ïû?ïê@?ì~@?ˆ?µö?á¹À?ç5€?îx?îÛ€?îó?ïô@?ïëÀ?ïÌ?ï»@?å)À? ?Ía?¦d?P?·ò?æ—@?ë*?ë£?în€?í—€?ïó?ïÒ@?ïpÀ?Õ€??Ýã?ÞA€?…`?¤Ø?çå@?é€?ì¨À?ì¢@?ï­@?ïÃ?ï´?éìÀ?c@?T€?Üó€?é^À?ë`?ì´?ïú?ïù€?ê-€?Ð^€?µ8?D?ÕL?ç(€?í¯@?ïå?ï÷À?ïâ@?×]?p ?F??Òg€?ÜЀ?é?ï8À?ïÜ@?ïë@?à´€?µ(?áåÀ?â·€?Ö/€?’À?Å1?Ü/€?ç€?ëÊ?îæÀ?íÀ?ß–?•È?¾è?Å?Ï?‚À?ð?¤D?¡¤?Ñ‘?åË@?ã7@?á?æ €?î?²Ö?P?ܯ€?æ­€?âÓ?Þê€?îFÀ?Ý@?–`?€À?‘ø?®¨?Ø—?ä€?æã@?í8@?ëè@?ÙÐ?° ?‡?u ?Òú€?Ì¿?S€?|@?ÍÒ?á’€?åg@?ã¸À?Øù?ÁP?±?©H? ?¹f?»¨?^€?€?cÀ?z ?‘À?yà?€?Z€? ?c?¸è?†P?„0?µÀ?h€?v ?×?¼,?G?i?¬?Æ›?‰ ?2?· ?V?X?¡`?£d?ÒQ€?Þ±€?ÓW€?²`?•˜?Ò €?Ñ΀?íÀ?ãb?Ðñ€?Ɉ?™x?§,?L?o?Q€?Äp?ä£À?î,€?ì2€?¦ˆ?E?|`?µJ?‰@?™ˆ?§$?>?¥?êý€?åz€?Ð?äÌ?Ü_?ì¿À?Ô,€?Ÿ?Î?©ü?Á1?Œp?à?ݤ€?ÁÍ?Ö*?ïç?ð?ã€?£l?äì?ïW@?ð?ãÿ?³ê?Þ˜€?ÜR€?Ô‘?å©€?éÜ€?–À?»?ÁÎ?Ñ?íŒ?ð?ð?ð?ð?ð?ål€?д?—H?Ø®€?ïü@?íýÀ?ØÚ€?¾Ò?àpÀ?Ìë?ç€?Ûë€?‘P?Ô€?éU€?èÑÀ?ì!€?åú€?×°?ÀO?:?Q€?˜?š0?²f?เ?ï®À?ð?ãF€?®?Ð!?á‘@?ïâ?ð?ð?誀?Õx€?”x?}??„?ð?ð?ð?ï×@?ë`€?ïÿÀ?ð?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?êÎ?ï%@?ð?ð?ð?ëä?ä[?çDÀ?îf@?îz€?ð?ï²€?á?ê&À?ð?ð?ð?ð?ð?îuÀ?蜀?âü€?âI@?Ó±?–P?‹°?ÝT?å¯À?ïéÀ?ð??Éÿ?¡?ØÐ€?ìƒ?çè€?ð?ð?ð?ð?ð?ï¿?î0@?è€?è?ã¤À?Ü€?ÓÑ€?ÂM?Á?æû?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î<?Ù!?ʱ?§”?e?ÕR€?é²À?ð?ð?ð?×ñ?»ä? @?¨?Þr?îîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?â§?žh?ÛC€?ïÖ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èù@?á3@?Ú‰€?ßÊ€?¸?а?K?\?s ?æ|€?ð?ð?ð?ì¨?±\?Úë?Â"?`?€P?Úû?Â5?ìü@?Ï™? ?Øþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éM@?¹è?Åf?߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ìû@?ä@?Ò^€?b€?“ø??ØÁ€?âÚ?Ò•€?ïb@?ð?ð?ï†À?Ñu€?™p?è{?ѵ?¨<?¯„?Çý?ÊÈ?Ó†?à €?í @?äß@?Ú¡€?Òå?©p?‹@?È+?Ý€?î@?îú€?ï?ïù?ë*?åI€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í²?í4€?ïÛ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìú?²’?„?áÜÀ?èæ€?ïÄ@?çÀ?ïÑ?ð?ð?ð?Í”?Ó€?ð?ð?ïýÀ?îÉ?ï­€?ð?ð?ð?ð?ð?ð?ïÿ€?ïÕ@?ë{@?ïÆÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?î¿@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íN@?âb€?ÜÆ?ɤ?Õ;?切?ð?ð?ð?ð?ð?ð?Áþ?Ùw€?ܹ?åì@?év?ï~?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çC€?Áp?¹0?å@?ð?ð?ð?ð?ð?ð?Ô¤?Õ?î-€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èË@?€0?Õ6?ßß?áÀ?ж?³à?å#€?î`?ð?ð?ð?ð?ð?ÜB?±€?ÛH€?럀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?à”À?kÀ?‹?ï€?ð?ð?çgÀ?á´@?ã%@?éî@?Úu€?w?Çc?¿š?ˆp?ÝÕ€?ÚF?µ|?æÔ?ð?ð?ð?ð?ð?à=@?‚?âÀ?êÏÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìþÀ?ÞÖ?S?Ì‘?Ù€?ª? À?¼f?— ?Ë´?êBÀ?ð?ð?ð?ð?ð?ïú?íM€?ð?ï®@?é €?ð?í ?ì.€?ð?ð?ð?ð?ç´@?Õ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íŒ@?Çs?ˆÀ?ºÐ?á €?íì?ð?ïy€?è‹?ã°@?ã¦@?Öí?Î|?ä¬À?ÇÈ?]?êB€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ý8€?Ìy?ê€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë¡€?¿’?ÒÕ€?ÙÈ€?èI€?îÆ?ð?ð?ð?ð?ð?ð?ð?ð?ìÒÀ?ê8@?è‘€?Ê ?êÂÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êçÀ?’X?ÜÕ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êÜ?Á"?¥¨?Ôç?åÉÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï·À?ïÚ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å!@?«H?¨Ð?è|?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ã†À?e€?°¶?ÈŒ?ÙÒ?ë§@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?鮀?µþ?žè?à–?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ù­€?x@?ͦ?Ó?ב€?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì?âß?»Z?”h?Ý&?ïôÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û5€?âGÀ?ç€?äá?Õï€?‹?±¨?å€?ð?ï&@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?äË@?§d?¶>?´Ð?Ý?ïô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡@?ïÿ€?ð?ð?íó€?à?À?Ó ?ÏÙ?Ë?ÊJ?̾?é‹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê?ï @?írÀ?ìËÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðemoslib-000392+dfsg.1/land_sea_mask/LSM_GG_02000000755000175000017500000641744012127406245021656 0ustar amckinstryamckinstry?$?r¿?À¦ä?@fé?ÀÙí?@Fì?Ÿ?d±?£Þ?ÀKä?@Ÿä?@»ë?½Ó?€•? ¦?Ò?€•å?€së?@áë?Àùí?»í?€Íë?çÌ?X‘?~Î?@Ûë?€Fï?yï?€²ï?€¶î?€Äï?€cè?Ì¿? p?ä©?éÙ?«Ì?À¯ë?®í?Àî?ð?Àýï?ð?ð?€5ê?€ßÑ?`~?T?å?ø˜?Àc?,?Ô¼?À è?@áï?Àï?þï?€Äï?@ÿï?ð?@òï?ˆí?€uÛ?Lá?ìë?€èë?€«í?€²ë?€´ì?ÂÁ?€ç?\³?@z?`? †?P¿?LÔ?_ç?{ê?Ë?¼½?8?3Ä?€ÊÓ? ¯? {? °?xš?°š?À`?@}?j¸?Þ»?<Ë?SÆ?ÒÃ? Ã?b¿? €?rÆ?@eî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ÿî?1í?@3â?0„?ÔË?eì?€uë?¢?(£?—?ȵ?€óß?À<ï?ð?Úï?ÀÜï?Àï?@Öï?@Zí?@0í?€Rî?>ï?Àùë?@­î?Àúí?€Sï?ØÎ?mÞ?ˆ»?€j?è°?l¯?¼Õ?ƒÐ?”Ã?ð?ð?@}ï?À]ï?@`ì?p€?€ÝÑ?3Û?ºÛ?Àåë?€eí?@Rè?üµ?Æ?rË?€Z?‚·? î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Aì?€ãí?Àcî?€¶æ?›?Ùè?í?¬?„¢?ºÕ?8´?˜©?@µè?âê?ÀTí?À·ë?ží?€Ñï?€ï?7ï?@ï?Àáï?@Ní?ÀØí?€%ï?€Bï?€!î?@dî?@ˆî?À’ç?¸»?€ÐÜ?À5î?€eì?@¹ã?í?dé?€ËÙ?€V?Àxé?€ÌÚ?Ç×?Ø’?@`?€íÛ?€“ï?€ÆÒ?€fÒ?ð?ð?Àéï?Àÿï?ð?€÷Ü?ä¤?0³?_Þ?€í?4¡?@1æ?€–ï?Jê?˜Ÿ?€×î?ð?Áï?YÁ?ŸÍ?€®î?@Ûæ?€ÆÕ?@kì?€ªè?@î?€~ë?€ŽØ?qÊ?Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?âì?Àåè?‹à?@#ì?ÁØ?€ßÒ?™ï?€¸Ý?@i?|¤?€qÙ? ›?3Ç?ü§?€ôÑ?€´Ø?ð?7ï?@ï?@ì?@)ë?@³é?òë?@Öï?À‰ï?€Jï?@‘î?cï?€ ï?Àµê?@ï?€Îî?€×î?€VÜ?Çì?@gè?@rï?@=ï?À¢ì?@ÿî?€ùï?€^î?²ã?”Ñ?€3Ð?À@ä?À¬ê?íå?èä?ŽÅ?ì¡?&µ?Hœ?@Åî?@üï?À×ï?!ï?@Öç?¨ã?{í?€ïÛ?€©Ð?ø¯?à¿?@çà?@ ç?€oÐ?`?;Ú?“Ç?À]ë?Xã?‹Ñ?úé?ð?@Dí?€¯æ?Àãï?RØ?ƒã?Àï?ð?€Þä?@.ï?€©ì?éã?ʽ?€ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Òî?Àé?þå?À±ã?€UÑ?p®?Àcí?ïí? ¤?¯à?œï?€Ìî?ˆÇ?DÆ?JÄ?€Ñ?L¿?º²?oï?°ï?ßì?gî?ï?À­ë?Àtí?Àëé?×ï?€Õï?ªï?Ààî?Mï? ï?6î?Xî?ÀÅç?@ì?0î?”î?@÷ì?ÀFï?@¦ï?€‘í?À×ï?@~ï?˜î?@öï?À.ï?ÀÈî?@Bî?À>é?Û?Àxá?Ë?ܱ?€%Ö?€„á?Àè?€¯á?ˆÅ?ï×?ð?ëï?ÀÕï?€Ýì?€tä?@¬ï?@Çï?@è?[ï?€æ×?›è?€fØ?çí?@Õã?ÀÍ?•ê?@Ýí?=î?ÀÑé?tÈ?@ñë?ò½??„À?€×ï?Oï?åÕ?Àî?@þï?Àïï?ìÑ?±Ñ?ßê?€â?H?”²?Àåç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?€íê?€Xè?0æ?n?r?€[Ù?@6ï?ð?8»?$?€í?&ï?Sí?Ài?€)Ñ?¡?!Î?@Wì?À°å?>¹?@„æ?€ªï?@Uï?Gï?ÀÚî?ÀQî?@@î?¸ï?Àyï?)ï?Ûë?€î?@åë?À‚é?€Ðï?Àùê?@2ï?€žï?áï?Àÿï?Àõï?1ï?@üï?@)ï?ÀKï?Àƒï?Àäï?€–ï?€Ãï?@óï?Jï?À‚î?@^ï?ÀÃà?_é?€÷Ñ?i?èž?€Æã?@Áï?@ïî?Lî?@üä?Àìã?€Íë?YÖ?€Àç?À÷ï?ð?@åï?(Ü?€›Ù?@„ï?ÀÄï?€tï?À;î?€jê?@wí?@`ï?€ÅÙ?À&î?@þé? Ã?À;ç?í?À©î?î½?€üæ?€?0‘?Àsî?€ýï?€Ñæ?€žá?€[ì?Àâï?€Sé?Ùç?†ã?@®í?@>î?€à?@n?"·?ÀŽå?À®ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¥ï?À2í?€üï?@ûí?@>é?€ªÖ? q?Àåí?äí?ð?<¡?ÃÁ?ð?ð?Àåç?€3Ñ?@ìï?cÀ?À[í?€?ï?À¨ï?ÀÃç?€cç?†ï?Ïï?ð?À¨ï?ÀŸí?@ìï?€›ï?€µï?@ î?€ ï?€^ë?€oî?±ì?@—î?eì?ð?ð?ð?ð?ð?ð?”ï?ð?€äï?€âï?@Ëï?À ï?@èï?ð?ð?À+ï?ð?€Úï?ð?YÈ?v¶?RÅ?2?€Ô?<Ç?‚Ñ?@Íä?À¡î?@Áî?ˆë?ÀQá?@ ï?Eî?µÝ?(’?0…?°‹?@Æà?€ôï?Àfï?€êá?@Cï?äë?ï?€âï?ÀÕî?¯ï?À€ï?@â?€ªê?@ªî?,·?€,ì?Qà?F¼?ë?¼¶?@Åï?vï?ÀÓï?€à×?åï?ð?@;î?@¹ï?Àï?ð?€óî?å?§Æ?»É?@±?€#ï?“Û?@mé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æê?@Þé?€Àï?ð?€±ã?d?l?x¯?8¬?Œ¤?Ö?@-ã?øï?€¿Ý?¨?À9ê?Öï?À™ï?@Òï?€ðÑ?Àzç?xì?€1Ø?žÝ?í?À^î?@Éï?È×?ÀÆê?€±ï?ÀÍï?€öï?@;ï?@ï?€Øï?ð?ÀÜï?@ î?@±ï?Àfï?€¡ì?~î?€Çï?'î?€®ï?ð?ð?ð?ð?ð?ñï?€ùï?ÀSï?ð?@ªï?@½ï?@Îï?@îï?€öï?€¬î?@ùï?€Øï?@ñï?Àì?€hï?EÅ?Àœë?À«ë?@èì?Çí?Îä?¶é?@0ì?ÀPì?ì?Àªê?•ì?@­ë?@ê?€Sê?wè?À5ã?´¤? p?€³?£? Ð?€¦Þ?€U?À`?¤¬?€Úß?(ª?ÖÉ?,á?\»?èß?¤è?°î?:ï?@°ï?@ˆï?ï?ÀÚë?Àzì?€5ë?Àêê?d?µÈ?€?À â?À¡î?€Íî?Pº?¨µ?€Ö?Œè?@&é?À{ä?Bï?ð?ÀÑï?€Ùí?Àví?@ûï?@èï?Ðí?€0ë?@8î?Þ?®¿?BÓ?Àßà?@8ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?zï?@í?€xÙ?€Òï?À¶ì? s? †?Œ ?°™?“Ð?€ûÑ?Àºá?'Ú?@÷ä?@÷â?ÛÈ?8?¢Ì?€‚é?€Gé?oÈ?ø•?@áê?@¶ï?ðï?À¹ï?€÷Û?r×?Gî?Àßî?€î?€ í?@ýî?@gï?@7æ?@¹ç?ÀÅï?jï?@²ï?@ýî?@2î?@Eï?ï?À©ì?@!î?€Žî?@fí?À•î?@ï?}ï?[ï?@öï?ð?ð?ð?ð?ð?ð?ÀÏï?€©ï?ð?ð?ð?ð?@àï?ð?À¬ï?ð?ð?ïï?@ì?ð?Dï?Ànæ?Àî?Rï?@•í?À:ì?@€è?Àûê?Àóí?ÀŠé?ë?ë?@Þë?Ìë?™ê?À¾ë?@lì?6è?@æç?næ?À¿ê?yï?<î?@Lå?@‰?4¢?€V?¨À?¾±?Æ?@pá?ÀÙâ?€ƒè?@Ìå?ðÚ?€Õ?`‡?è®?Àˆë?À«í?öë?ÀJé?€2ï?@Öí?À½î?€ªì?€¤í?cë?ÀNí?€!Õ?F?à?‰? r?›å?@®ï?ÀŸï?€DÑ?Àyé?ÀAé?€}ì?€¤î?@ñï?ÀÎï?»ì?Àí?@«ì?€ˆï?ð?ð?€=î?rì?ÀNè?€ÏÜ?ˆ•?¾Ì?â?úÎ?LÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À~è?€ë?ì?Ö¼?@î?À½ê?¸–? q?¨?ƒ?­?®Ã?ùÞ?@òê?€þá?€Þî?€´î?Àî?@Ûî?à¥?`?˜•? p?€€Þ?Ѐ?¿ë?@Óî?@›ï?À.ï?*â?Ľ?@7ï?ï?@—ï?€«ï?€öï?À¾î?Oå?@¿ê?@Íï?@î?À ì?À¸î?€•ï?ð?ð?ð?Àüï?ð?ð?@Ôï?ð?ð?ð?À©î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»î?€5ï?€5ï?€¤ï?ð?@ëï?@é?êï?ð?ð?ð?ÀÞï?ð?1î?Kï?ÀSï?ÀØï?ûï?À±ï?€~ï?@ï?<î?@Œè?À4ë?Àýï?@Öï?À+ï?ÀÐî?@­í?À_î?€+ï?€vï?€ç?%ß?E?I?|Ó?@¹é?@[é?€+ë?À©ç?ÀÌì?Gç?Ëê?£ã?xè?ÀRâ?F¹?à™?°…?€0â?€?€?Â?€`Ù?‚×?€×Ó?ªî?dï?óì?ï?@.ë?Pî?@Hì?oæ?8®?@—? é?À7ï?€Pï?@í?€?Z½?’Û?4ì?À î?€+ï?€»í?ÀZî?eé?€Ú?@Žì?Àï?×ï?À‘ë?€qí?@'ê?Óî?@†á?|±?ì¾?Iä?ÀGí?€ûè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€@î?ñê?€IÜ?@ á?T·?ÏÄ?ð?H ?@já?€êÛ?@!å?•ì?Ñî?@ î?‹ï?@fï?À`ë?-Ù?(¸?b×?€‘?ÕÉ?ÀŒë?€ÅÔ?˜°?I?@På?€Tî?À.î?€wæ?í?ø²?€üï?@Fï?Àúï?€xï?€¡ï?@¼ï?yï?dì?“é?Àâê?@Ÿï?€­æ?Àöï?ð?ÿï?ð?@Ôï?€÷ï?êï?Àþï?@uï?@óï?ð?@eï?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?Àáï?ð?áï?@Ÿí?À*î?ð?ð?ð?ð?€Îï?ð?Àíï?ëî?ð?ð?þï?Àþï?×ï?ð?Àîï?@[ï?€Óì?Àí?ð?ð?ð?îï?@Zï?åî?@ í?€¬ì?@#ê?ÀLâ?>?àq?”?¢Þ?€Ù?€êÓ?€Nê?vâ?èÜ?“Ù?»À?¸§?ÀIë?Fï?@°ï?À½ï?Cï?À)í?÷ì?€®ì?Àúì?@»ê?À¼ï?@¥í?@‹ï?@áî?)é?€ë?ÀÒè?¾¿?@x?ÙÀ?Oà?€8Ó?ã?€é?X?Ù×?x?€~Ò?î°?–¸?€¦î?€œï?À¹ï?]ë?zí?€~ì?@Äê?/é?€Üì?éí?À%è?Fê?6æ?€Ò?êÅ?—Á?€#ß?î?Àêé?À¾à?”±?p’?j¶?€ÂÖ?€xÞ?IÙ?€:×?€kÖ?èÝ?1Á?@³è?€×í?@ßï?€õï?À%ï?€Ôî? ë?€bë?oÚ?KÅ?ï?€è?Ù?×å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?°ï?€\ë?ð?ð?ßî?€7Ù?}?,©?€?ß?@á?€èç?€ì?Ìï?@™î?@»î?€Œï?À‘ï?€Bì?/é?Aì?ÀÔí?€‰å?Ì?`¬?€®×?éÚ?S??H¡?0¦?Àî?·ï?€Ìí?°µ?"¾?€‘í?Àqí?À[í?Që?hž?ð?<î?rï?@ìï?€vï?Àôï?ÀÕï?ð?Vï?@Ñì?)ï?@‘í?€Jì?@‰è?€í?øï?@Šï?ð?€ìï?Ìï?^ï?ð?@çï?ð?€úî?ð?ð?ð?ð?öï?ð?ð?ð?ð?@öï?ð?Àºï?@<ï?ð?Àöï?@àï?€ ï?@õí?Àøï?ð?ð?ð?ð?æï?ð?€î?ÀCï?õï?ð?ð?ð?ð?ð?ð?ìï?gî?Îë?ð?€ÿï?€¡ï?@Gí?Àì?@Âì?Àdê?ÀÏë?@ðë?Àä?@îå?@Bè?€‹î?ÀÛì?@ïé?€³æ?(Ô?oÁ?€´Ô?ð?ð?@ýï?åï?@þï?Qé?­Ì?À ä?À+î?€Íï?åï?ð?ð?€ûï?Àkï?€„ï?ÀVí?Àeë?€ýï?ÀÏï?@úï?Àñï?ÀÓï?ð?À¾ï?ð?@%ë?À¥à?mÅ?€uÕ?@Yâ?€ìã?ÀGè?í?@ãî?ð?æà?€é?´Ý?ð?€Wï?üÔ?K?€Ôà?€Ôë?@òí?@ªì?€Eë?À-ë?À‹ê?À’ë?€Êá?€6æ?€Íí?€ç?ÒË?l³?€$â?€ë?€Ó?ÕÈ? Þ?âë?ÀÃç?<º?>?$?ÀLç?@Âî?Àæ?‡Ê?X©?pº?¨Å?ô×?@8à?Bï?À»ï?¶ï?€ôï?ÀÛî?€|ë?€‘Ù?ÀÕå?úÞ?ÊÉ?ôê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àê?€¥Ó?ø™?>¸?%Ù?†Æ?€ì?€ï?@ ï?Õî?@$ï?€Ëî?Åï?Éï?€³é?à?@«ì?€-ì?Õí?@cì?Àãë?@uì?Àþç?çÁ?À´ä?À³ç?p›?ø™?Ã?`~?h??tÏ?”­?€«Ó?Àøï?@åï?’ï?€`ì?€Û?@’?žÝ?€¸í?€Qï?`ì?T«?ÔÀ?€Ò?–Ý?€‚ç?@âï?€ñï?Àáï?@üï?Áï?€=ï?@në?%í?ÀÍï?@æï?@wî?ÀÉë?€gî?ªï?@}î?ð?ð?€#ï?ÀKï?€tï?ðï?€ï?€Ðî?@¢ï?À³ï?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?@óí?€‚ï?ð?Àÿï?€ÿï?À@î?@mï?€øï?÷ï?ð?ð?ð?ð?ð?@ ï?ð?ð?€ôï?À€ï?Àøï?ð?ð?€œï?€ßï?À³í?À î?þì?€|ï?Úí?@€é?Àfë?@Îì?@;ë?»ë?€!í?@•ì?@oé?ÀXâ?å?@öï?ð?ð?ð?ð?@øï?@Ãë?†?€ ä?@Áï?Àöï?ð?ð?ð?ð?ï?;Þ?œ?¤£?»Å?€¬Û?ÀNï?îï?ÀØî?Ýï?@Ïï?À`ï?@¼î?€8ï?ôî?Àï?@šï?€ï?ð?€÷ï?ð?€ûï?ð?Àèï?ð?€øï?ð?Àíï?€zì?€¦Ú?NÐ?À‰ì?€Þê?ÀÄà?Àöí?À ï?€Ìï?@õï?À§ï?Õï?@ÿí?@Žî?@|ï?àï?@ñí?@ùî?@¦å?\Ó?—Ú?¤´?€©ß?@_í?€Áè?À¤æ?@Øí?Àà?z¶?Ë?€ ä?@|ë?€×ã?|ª?€Ú?@­â?ïî?€åê?»Ö?¦Ö?ç?Àyê?€^ì?¨½?Jé?L²?æÂ?ÀTí?[ï?Àpë??"Ò?øŸ?è×?€ôß?Àûê?@ˆî?´ï?ÀÙï?Àpï?À\é?ˆÉ?x ?Z?H?N?Àæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àvé?Ī?b?Ö?…ä?Àá?Åí?ë?@=ï?Rï?@{ï?@ˆî?¯ï?ð?@)ï?Rî?Àºí?@Ùé?@–ê?Àî?À#ï?Àüî?ãí?Àçí?´À?‚?€ûÜ?@Qá?`p?c?° ?¯?€^Ö?À—ç?€Ñ?À ã?’å?å?Ýé?€<Ù?åì?€õï?Àýï?@ùï?@Wï?@^ï?ÀZâ?€¾×?ÀIî?+ï?ÀOï?ŸÙ?€â?@³ï?À%í?éÑ?¿ï?@ðï?€cï?Ûï?€1ï?zï?€ì?ÀUí?À÷ï?À3î?€¥ë?@gé?À€ì?bî?Àéï?ð?€üî?@ãï?·ï?@ýï?nï?@Fë?À€î?@4î?ÀÍï?ð?ÀŒï?@ÿï?ÀÑï?²ï?€ ï?@wî?€cí? ï?Ûí?@Ïï?Àªï?ð?ð?@»ï?^ì?@ùï?€Ìï?Àéï?ð?ð?ð?@ ï?ÀÃî?€¹î?@î?€ÿï?ð?èï?ð?ð?Àéï?@Îî?ÀËê?@¶ë?@jì?@Œî?@ëî?€í?€–è? ß?€Œì?óà?À¬ã?€6ë?À1í?ÀWé?Äè?@³è?Úï?ð?ð?ð?ð?ð?ð?€Cî?@Þî?À¹ï?ð?ð?@Õï?@úï?ð?ð?ð?@Xë?Д?€ªÙ?õï?€îï?@ïï?Àïï?€þï?ñï?€þï?Àüï?@°ï?ð?€1î?ð?ð?€ðï?ð?ð?ð?üï?ð?ð?ð?ð?€ýï?ð?ð?@ýï?@¨ï?•è?À‹ì?yë?À»ï?@Œï?Àî?@•ï?À5ï?ÀÔì?€êî?Àùï?€Åï?ñï?@+ê?ÀTé?Ýí?î?@4ï? ç? º?¬Ü?€'Ô?lÊ?Á?À$ç?€¼Ó?€ÙÜ?/Â?@?Àj?ƒ?ž? ¢?€ƒÚ?€íÜ?SÍ?çÄ?@ë?wî?À8î?€ßÓ?Àí?‹Ô?Q?­å?ÀÝì?€[î?ÓÜ?p—?І?ì ?ˆ¢?ŒÐ?€má?€Bí?€Õì?€™í?4î?:ë?€j×?€p?oâ?@Íã?@àë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsì?ð?€‡ï?€¥î?À4ã?ZÎ?àÀ?RÇ?è»?€ìÚ?âê?@Jî?€mî?@9ì?€äï?Àï?€ïí?€ƒï?€‡ï?cì?8ì?ð?@ë?Àï?@ë?öí?"í?î?À9î?€šé?@Mâ?@n?@m?ð?@4ì?G?î¼?Àí?€µï?ÀÍë?×ä?@šî?€Ôï?@…ï?€Áï?@ûî?€íï?@Ší?ð?Àéï?Àèï?£ï?@ïï?@àì?@vï?@Šé?@Îí?@#à?`”?€Áï?@Óï?€±á?€Ùï?€Óï?€Ôï?ÀÇï?€Rî?ùï?@÷î?€Ÿé?€ãã?€Îì?Àeë?€)í?Fë?ñï?@Fî?:í?€ˆï?zï?²î?@êï?@©ï?€ í?Mï?Àôî?ð?ð?ð?@’ï?Àî?ð?Ñï?ð?Äï?—í?@‡î?ð?ð?ð?ð?€dï?ƒê?ð?Òï?ð?ð?ð?ð?€¥í?ð?ð?€Zî?õï?ð?ð?öï?ð?€Úï?¸ë?ÀÑê?”é?@¢è?ð?ð?Àqì?½é?À~è?ûí?@uê?Eá?ÀÍê?@_ì?ì?€4ï?ÀMì?€ôí?ÀTî?ð?€ýï?ÀÞï?ð?ð?ð?ûï?ð?ð?ð?@©ï?ð?ð?ïï?ð?ð?äî?€Ø?0?–ã?ð?ð?Åï?ð?Àûï?€ëï?ð?ð?ð?Mï?ð?ð?ð?ð?ð?ð?ð?bï?€óï?ð?ð?€Jì?@Vë?þï?ð?ð?€Hë?@#ë?À ì?@í?ùî?Àûï?€kï?ÀÔî?€^í?@þî?6ï?À0ï?€¶ï?@×ï?€£î?€Èî?ì?@{ì?Å?v¼?(«?dË?€Ú?À§ï?€ æ?ŽÞ?0?ð‡?`©?Àµé?gå?.µ?@+æ?€ýï?À}î?@Ÿï?@þí?€šï?²?0æ?ÀÆî?€î?@æï?€ûÛ?œ¯?À{ë?@wé?À2ã?ZÐ?*í?ï?çï?°î?€Êí?À á?€NÐ?p„?qå?€æ?€Øé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âï?JÚ?Ù?Ƹ?€U?tº?Dê?À1ë?@’ì?Àjî?€Qï?ï?@”ï?€Áï?Îï?@Úï?ÀFï?€íï?ð?ï?@é?€ å?À ï?€ í?@lï?Îï?À£ï?@çï? ê?ŽÇ?@óè?<Á?Žâ?aï?@ï?@Ðî?À€ç?€Åï?€uï?ÀXï?3ï?@ëî?@“ï?@ûï?@òï?@ùí?ð?@Èï?Àµï?À}í?€yï?øî?@çî?À•ï?µÃ?f½?Žï?€íï?Àeá?À>æ?Óï?Àûï?@ëï?À©î?€‘ï?@þî?ÀZì?€ æ?@òï?ð?€²í?Àðî?À¿ï?Àbï?€*ï?ð?€ìï?€ï?€'ï?„î?@î?Àãï?À×ï?€ôï?ð?ð?fï?ÀËï?ð?ð?ð?ð?ëï?€´ï?ð?ð?ð?ð?€ßï?€˜ì?€ðï?ìï?ð?ð?ð?ð?@äï?ð?€™ï?ð?@Øï?Àóï?ð?ð?ð?Àùï?Òî?@-ì?@ ë?€gí?ð?ð?ð?@Oï?ÀÉê?€dî?Àëé?ë?€yì?ð?@ì?ð?€ôï?À!î?ð?ð?ð?€ï?ð?ð?ð?Àñï?€ë?ð?ð?ð?ð?ð?Êï?€’ï?ð?ð?ð?€æ?@b?ÙÙ?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ï?€êì?€óï?ð?Àúï?€Qî?À­í?€Zî?aé?€Ðî?Àíï?´ï?Àoê?òë?€Pæ?@8ï?@@ì?dî?)ï?Àôì?€Më?€—î?Vî?Iê?€å?ÀŽä?€ÿæ?‰ì?€á?uÃ?[í?@’î?zí?@‘ï?€®é?€2è?€³ì?[è?@è?@ï?ÁÅ?†ì?€ïî?À0î?@(ï?ýï?€Úï?Ë?%Ö?@ï?@mï?Àtï?€ƒî?p?€#ï?ï?`Æ?°?€Vê?À£ë?Àî?À°ï?€ï?„î?À¢ì?çÛ?`’?€sì?@5ê?€Áè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬Ä? ?8Ä?Fè?ì?€÷í?ï?ÀUì?Àˆí?€qï?€®ï?@¼ï?€mï?–ï?@î?À’ï?ð?Àúï?À}ï??ï?ÀÀê?€oê?€9ì?@oî?Àªï?ÀZî?ï?ð?üï?@¾é?B?€Ü? ç?Ú°?Àãæ?ìï?€·í?Àßï?À‡í?ªï?ð?ñï?€ëï?€¾ï?€[ï?ÀÅï?¯ï?ð?Þï?ð?Àmï?@üï?@ïï?Àëï?}ï?ÀCï?@Ãî?¼î?ìæ?`ˆ?Žá?ªï?ÀÎï?@wï?hï?€¥î?Àêí?@œî?Àøï?âì?ë?À˜ï?@bï?À…í?@uï?@Îï?@ÿî?€Âî?Àí?€Xë?@¨î?Àïï?Àýï?ïï?Àsï?ð?@nï?€Öî?€Ëï?€ïï?€èï?ð?ð?ð?€çï?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Šï?@è?@»ì?€Êï?€æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀDî?@Åï?ð?ð?ð?ð?@Ôï?ÀÓî?ð?âï?Ÿî?—í?ð?ð?ð?Àï?€·í?@bì?@1ï?ð?ð?ð?ð?‹ì?þï?ð?ð?ð?ð?ýï?@ýï?ð?ï?À›ï?ð?ð?€Ýï?ð?Ôï?ð?ð?ð?Àùï?Óï?ð?ð?ð?ð?ð?€Æå?É?Ⱦ?WÄ?@Ýê?€í?Àïï?@Ðï?€ïï?ð?ð?ð?ð?ð?€íï?ð?ð?ð?ð?ð?ð?€üï?ðï?ÀÀï?ñî?ð?@ÿï?@˜ï?ÀÙï?@ýï?À£ï?€ýï?@¼ï?€´ë?@cí?€Yî?€.í?Cï?@Øí?@Íî?€˜ì?€*Ý?€pí?„î?>ï?¾î?Oï?Àºí?€;ë?@Ïí?ÀÍì?€bî?3î?ÀÍê?€eç?è?@Lí?ÀÀí?@î?ÞÛ?ÀÏë?ýí?@Òî?€¼î?@Ãì?@ï?À‰í?À¥î?€ìí?@qì?€{î?@&è?@ ë?gï?€eï?@ôï?Ÿï?ð?÷ï?>î?ÀQæ?@hî?€‰î?ÀÆí?€rî?î?p‚?Æ?½Ñ?€¢?«?€`î?À€í?@Mï?À›ï?@éî?€bî?@oï?€Æí?kç?ÈÔ?¬´?¦Ë?@‚í?@î?ÀŠí?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªí?L²?†À?@Eì?À6ï?À½î?Èí?°ì?5ì?ÀÊì?Øï?À`ï?€ï?Àì?€Ýé?ÀBî?@øì?Àêì?À(ï?;ì?5é?žã?€jä?€üØ?€Më?Îï?À8î?ÀÛï?@Õï?jî?–Ý?€V?ð£?\¹?€î?@øì?À¬è?€Dî?îï?ð?úï?À5í?€¸ï?üï?ûï?€íï?€àï?À€ï?€Ôï?@ûï?Àâï?eï?“ï?@ìï?ìï?@äï?@Uì?zé?À‘æ?ÀÂæ?À¨ä?bÄ?€Ð?€qï?@¡ï?‚ï?Ànï?“ï?@¦ï?€›ï?@µî?€.í?€]ï?ÀÝî?€î?Àªè?€Oì?Àî?€øì?Ëï?ÀÛî?@Óï?€‹ï?ÀYë?Ànì?úï?ð?Àÿï?ð?@öï?À…ï?À¥ï?€íï?üï?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?ð?€yî?@›í?Ié?¤ï?ÀØï?ð?ÀÜï?‘ï?öï?@ýï?ð?ð?ð?ð?ï?€{ï?@ôï?ð?ð?€öï?ëï?À¬í?ð?ð?@øï? ï?¨î?@õì?@“í?|ï?À ì?<í?ð?ð?ð?ð?ð?@pï?ð?ð?ð?ð?À¯ï?@Aï?@´ï?ð?ûï?ð?ð?ð?èï?@öï?@xï?Àçï?€Pï?@­ï?@sï?Àüï?À÷ï?ð?ð?ð?ð?ç?hâ?€æï?Àkì?ãÇ?,ª?ˆ™?Ü?@Yè?€ší?€÷ï?Àûï?ð?ð?àï?€Ãï?€÷ï?@Üï?ð?ð?@ßï?ð?õï?€÷ï?ð?Ùï?@Ûï?ð?ð?Àþï?@þï?ð?ð?ð?€ýï?@|ï?ï?€Vï?Àrï?@î?€3î?@$î?€`í?À8ë?À ê?@èí?@×î?3æ?wÉ?fÉ?€ë?€Gë?í?@Uí?èì?@1ç?Àúé?@Çë?À¤î?‚ï?€Üï?ÀÅå?À?ì?€¬ï?Àêï?@!ï?€sê?€yî?€hî?À[î?@î?@èì?€@í?€ªì?€4ï?€|ï?€oï?ÀÃî?€ªî?ÀUï?Àöê?î?Æí?À{î?@&ë?À"ê?#í?œÐ?8–?À+â?·ê?À-á?á?1ì?@î?@Xí?@úï?@•ï?ÀGï?@@ë?€é?_Ð?ˆ™?Àûâ?@ì?Àlí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«Ô?I?4?‚?€c×?€ÿé?€ î?ï?üë?€Åê?€¥î?@ƒï?@®î?€äî?ÀÉì?Àôî?Àï?À(ï?ÀÄí?Rì?@ùé?€í?€râ?@Íã?€uè?¼Ò?ʰ?€­Ó?@¬à?€˜í?À=î?€Þ?0?¹ã?€‡ç?€bÞ?@¨î?@†ï?@îï?ÀŠî?À$ï?Úï?ð?ÀPî?Ëî?ð?€;ï?€”í?À“ï?ÀKî?@³î?@-î?†ï?€£ï?€öï?„î?@+ï?Àªê?ÀÏí?î?€_ï?@Vê?Àîæ?€yÖ?@ï?@÷ï?@Ùï?€æî?À|ï?€†ï?@Äï?@tï?À0î?ÀVì?@ í?Àrï?€jï?@pî?À¼ì?ÀŽï?@˜ï?À½ï?@tî?€îï?@üï?@–ï?ð?ð?ð?ð?ð?ð?±ï?äï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?€Çï?@rï?Àcï?ð?@úï?Àòï?ð?ð?Cï?€Õî?í?ãå?@ÿî?€ùï?ð?ð?äï?€Ïï?ð?ð?ð?ð?ð?ð?Ãï?ð?ð?ï?Àüï?€òï?€˜î?€ï?Àûï?ð?ð?@óï?øî?À˜ì?@+ê?À•î?Àüï?ð?ð?ð?ð?ð?€ï?oï?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?€³ï?Ùî?@ëï?âî?Àýï?@Åï?ð?Dï?Àëå?ð?ð?ð?ð?ÀÌê?ð?ð?€`í? Ó?ï?@Ÿï?lÐ?˜š?@í?ð?€çì?¹?V?PŒ?€²î?@ùï?ð?ð?Àï?ªç?ð?ð?€?ï?<ï?€úï?@Fï?Àºï?ð?ð?ð?ð?@´ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?qï?€Pï?žï?ð?@ìï?ð?ð?ð?@òï?ð?ÀÊï?©î?€Áî?Àçï?@©è?@0ä?ä?Àôî?@$ï?@ë?Àï?Þî?@î?@¨ì?Àùê?@7ê?ÀÇç?ÀÝì?@óë?@Jï?Zî?}ï?@Àï?Àï?À¸ë?@ÿí?@ší?ð?@–ï?Àîî?@½í?€±ê?@§í?@ºê?/ë?€2í?Àèí?†ï?Õï?@Ãï?òÆ?ÀŒê?|ï?@ï?!Û?Àá?þï?€ï?€ûë?€¸ì?:í?¬ê?Ã?€Wî?öï?€£ï?ì?HÌ??šÇ?ñã?€nì?€¹î?ð?ð?ð?ð?ð?ð?ð?ð?Cå?nÃ?,Í?®ß?€‘é?.ï?€Òï?Àãï?À­ï?À¥ï?ˆï?4ï?@2ç?EË?@¶æ?@©ï?ÀZë?Àþë?€õí?€"î?Ëî?‰ï?î?€Lí?Ãè?ÛÌ?Žï?€¹ï?@|â?À‹ê?€î?À#ë?¤í?€õé?€tî?@Hì?€•ì?²?Èš?€¬å?€ñí?Fé?À1ê?Àjí?®ï?ÀÎî?€>ï?@óï?€úï?Àÿï?ð?€ùï?Àüï?ð?ð?ð?{ï?ð?ð?ð?€îî?ð?ð?ð?Àùï?@ùï?ð?Àûï?@-í?Àvë?Àîï?ð?Àï?€åï?@ ï?¹ï?@’ï?@•ï?€ ï?€íï?@Bï?@¬ï?zí?€ï?€Öï?$î?Úï?@%ï?Fï?ð?Àíî?À[ì?éï?Àûï?€ïï?@‰î?æí?ÀTî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?ð?íï?ð?ð?Àðï?ð?ð?Àþï?ð?€ôï?fï?€.ï?äï?@Ûï?Àüï?À÷ï?€_ï?@êë?Òê?€ªë?Àpî?@Tî?@ ç?Àlí?ð?ð?ð?@æï?ð?€óï?ð?üï?ð?€Õï?ð?ð?€ðï?€ûï?@Ûï?€pï?¸í?€Ñï?ð?ð?ð?îï?€ëï?@ÿï?ð?Àùï?€Âï?@ î? ï?ð?ð?ð?ð?ð?ð?ð?ûï?ð?Àõï?ð?€ÿï?ð?ð?À÷ï?À7ï?Ëî?ÀÃï?ð?&î?@—å?€çí?€ÿè?ŒÚ?˜Á?(??Ô­?ÀGå?Àå? q?¹Ï?€²ß?ÍÒ?€ýÙ?(Ï?øÖ?ð?ð?À(ï?ÀÓï?ÀÅï?Àöï?ð?ð?ð?€¶ï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?€þï?À÷ï?Àæï?ð?@ôï?ð?ð?ð?ð?ÿï?ð?€ÿï?@Bï?€pï?@Ëï?ÀIï?À°í?Àòï?rï?À?í?À_ì?që?@aì?@Hî?€bî?!í?À‡í?Qì?Àêä?€„ë?ÀÁí?€î?ªí?@­ï?À„ï?À¯ï?ÀUï?Àí?@Øí?ë?êå?£ë?Àí?Àíé?žê?Àë?ÀWì?€êí?@pî?€?î?®í?@î?>¹?€Ö?@Òî?¿ï?ð?@Vï?uÅ?M?€>æ?sï?¨ã?@¹à?vÞ?@6í?@=ê?À‰í?€)ï?Àóï?€‘ï?@Qï?€°î?@½à?@©ä?€Íá?¿è?ð?ð?ð?ð?ð?ð?ð?ð?€]î?cÖ?€y?$? ß?@Zî?€Íî?eï?@ûï?€ýï?ð?Oî?,Ñ?L¥?Qí?€§æ?Fê?Yí?Àî?ÀQë?cí?Àî?@³î?@:ï?@´ï?®Ù?°ª?À<î?ÀÎï?€Œî?î?À—ë?À»ì?@"ì?€Xì?ÀYî?#í?€Wí?ÀLí?€Ÿè?€ÕÒ?L¡?€:ì?@8ï?€ï?´í?‰î?@ï?@¦ï?Àîï?ð?Àèï?À ï?ð?@þï?@îï?èï?@Ðï?@Ïï?ð?ð?ÀÄï?À-î?€ÿï?À³ï?ð?Ñî?ð?ð?@ï?ÀÛé?€Gì?ð?@ùï?€êï?À>î?€šì?@~î?Dï?ÀÂï?ï?€î?€çî?‰ï?@¸ì?€íí?€[í?rï?|ï?Àûî?@Ïï?Àýï?ùï?@jì?€½ï?þï?¬ï?ð?@–ï?Àœï?Àï?@Xï?€ýí?Àýï?Ðî?À3ï?Àï?@Üî?@«ï?€íï?Ùï?@÷ï?øï?Àóï?ð?€Ïï?@áï?ð?ð?€Îï?À0ï?Ëï?@ªï?€ôï?€÷ï?€ôï?ñï?Àîî?©ï?@£ë?ÀÐì?€Ñì?@¶í?@âí?À<ì?°ë?ð?Àûï?Ààï?€áï?ð?ð?ð?€?ï?@Aï?ð?ð?ð?ð?ð?Àeî?€íï?òï?ð?ð?ð?Àªï?€ìï?ð?ÀÃï?ð?ð?¿í?,ë?éï?ð?ð?ð?þï?ð?ð?ð?ð?ð?ð?ð?@óï?ð?@ïï?€ôï?À›ï?À×ï?ð?ð?ð?Õï?À˜î?Êë?À]å?O? ©??KÁ?ð?ÀÇï?€Šï?ÀÑï?ð?ð?ð?ð?èï?@ï?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?@ðï?€êï?ð?ýï?äï?À»ï?€ï?Àåï?Ñï?ð?ð?ð?ð?ð?ÀÓï?€ñï?@ÿï?Öï?Éë?€kí?@²ï?Ié?@½ç?À.ï?€aç?€¸ê?À|í?|î?í?ÀÒí?€=è?€ì?@ í?Àîç?ÀÊì?ÀQî?Àtï?Àµï?À‚ï?€ï?dï?í?Àûè?€ˆé?yâ?€Aê?@ºã?ÀAã?îæ?@é?Àˆí?À¬í?@Šã?·Ú?üÐ?¤?€Šâ?`ï?@hï?æÛ?€™è?@Så?âÐ?´¾?±?Àc??Hœ?€}Ñ?uì?@’ï?@¥ï?@ ï?€nï? î?€Iï?Àëè?Â?ZÐ?€{è?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?Àí?Ľ?AÎ?@oä?Ààë?Âî?@7ï?€}î?À‘í?ðæ?Pš?®°?ôÕ?€YÛ?@dä?.ë?…ë?ìì?!î?@Èí?Àî?€Àí?tî?@kã?×Ó?<£?€?Ù?Àé?8ï?€lí?üë?€]ì?hí?@áì?@4î?gé?€ î?Àdì?À¶ê?ÀÐâ?Àoì?Àðï?€Mï?€7ï?Àëï?À¢ï?æí?À½ï?€îï?@üï?@Àï?ð?ð?ñï?@•ï?ð?@ôï?àî?½ï?Àµï?ð?@ìï?@iï?¼ï?ð?ð?ð?´î?€ï?ð?!ï?ÀJè?€ï?@»ï?€ïî?3î?€­î?Àè? î?À\í?€”í?€jï?€—î?À í?@“ì? î?@Õï?@™ï?Çï?@óî?@Hï?@‡ï?€ýï?Àüî?Àªï?ð?€ÿï?€ùï?ð?ð?ð?ð?ð?Àøï?€ˆï?Kï?ð?ð?€üï?ð?ð?€ï?ÀÚï?@‹ï?@Žï?ð?ð?¥î?@sî?ûï?ßï?ÀÚï?ÀÞï?¿ï?€Áï?@Ãï?Öï?£í?À0í?€Øí?€°î?ï?Ðî?€(ë?@Jî?@öî?@®ì?€2è?çë?Çï?ÀÜî?¹ï?Àçï?ð?ð?Àï?ÿï?ð?ð?€úï?ð?@zï?Çï?ð?ð?ð?ð?ï?€÷ï?Àùï?ð?ð?¢ï?€¸î?çï?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ÀÀî?€ùï?ð?@öï?ð?ð?€ÿï?ð?ÀÇï?@úï?€´ï?ÇÞ?€Ø?À)æ?D¶?ô¦? È?€ÌÚ?ð?!î?Àçï?ð?ð?ð?ð?ð?þï?€àï?ð?ð?ð?ð?ð?ð?ð?@Ùï?Éï?ð?ð?Àúï?@Èï?€ÿï?@ï?@Ãï?À¥ï?€àî?îï?ð?ð?ð?ð?ð?ð?ð?€éï?ð?ÿï?€%ï?@šï?€¦ï?Àoï?€¡ì?À|î?€Tî?Àgï?dï?@ ï?€Úí?oì?ñç?À<ì?ÀËí?@í?ÀEí?Àžî?ï?€Wï?€¢ï?Üï?€0ê?@Ýê?@3ì?"ê?àê?Ãè?Në?€“é?À,ì?@/ë?@Hè?€´Ý?Ê?„¬?€ÎÒ?€©ì?€Ø?uÏ?Ð?Àwæ?GÖ?Œ?ú¼?ŸÄ?ÐÐ?ðƒ?êÐ?€î?€„ï?®î?:ß?@íî?ð?@Rì?€×? }?¨ë?@Úï?ð?ð?ð?ð?ð?ð?ð?ï?@kæ?š·?°š?Œ?À£á?€fí?ƒå?\°?…?ËÅ?ÀUä?@xî?@ƒí?€ï?ií?€î?>ë?@øì?ÀGî?@ãî?À³ì?€«Ò?€7Ü?¹î?@Hë?€»î?À(è?€=ç?@zè?@‹ç?ÀEì?€¼ç?À"ì?˜ë?Âì?@æ?Àrì?€tï?À:ï?€ˆï?@<î?ðï?@Sï?Àï?€Àì?€³î?€Íï?ï?€áï?Ñï?üï?Àüï?ûï?€¼ï?@íï?@Áï?@½ï?@ñï?€æï?Àgî?ð?ð?ð?ð?ð?@àï?@tï?]î?ÀXê?Àuî?@Õï?ð?Àëï?Àôï?€'ï?ï?hï?@?ï?À*ï?Àºï?°ì?îï?@Ïî?ÀÉî?€Æï?ð?@èï?@þï?ð?ð?”ï?€÷ï?Øî?Àî?fï?@œï?Æï?Ñï?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ð?ð?ð?€öï?›ï?À°ï?hî?Àï?@Çï?Àé?€Ìé?@°í?À›î?ï?Ûï?@úï?@üï?Àüî?ÀÐï?€ðï?=ï?@Óï?@ï?@³î?@ï?@Êï?ð?@öï?áï?Àê?@¨ì?€€í?@½î?ªì?À5ì?ð?À*í?@ï?€tï?ð?äï?Àíï?õï?ð?ð?ð?ð?ð?ð?ð?ð?@±ï?ð?€¨ï?€fí?€Éï?öï?ð?ð?@ÿï?ð?ð?Àëï?ð?ð?ð?ð?ð?ð?Àï?Àºî?€ºï?@öï?ð?€àï?Àúï?ð?ð?@ðï?€Ôï?ð?@õï?@Èæ?¬®?f»?@Uâ?ðÂ?6±?€6æ?ÝÕ?ÀÍï?ð?Àóï?€Tï?@µï?Àëï?ð?ð?€óï?€öï?ð?ð?ð?ð?ð?ð?ð?Ýï?@˜ï?ð?€âï?Ànî?ð?ð?ð?ð?Ïï?@óï?Àmï?À°ï?@‰ï?ð?@Öï?ð?ð?€Ìï?ð?ð?ð?ð?ð?@çï?@Áî?À ï?Àï?@ýï?€Üî?Ìã?@žë?@\ì?ÀÏî?öî?™ë?@-î?@+í?€-î?À{í?6î?Àì?€‡í?¼ì?@øí?€+ï?Èî?€dç?ûÄ?oî?€´å?€uê?€°ê?@ì?€æê?¸Þ?@ñí?‡é?@™í?yæ?µÛ?Ь?G?@‹?@e?€pÚ?€’?ð?@ñä?@–ï?€Îï?€‡ì?ŠË?ÀŒâ?€Õí?€ÉØ?k?€r?ã?@Øî?ð?ð?ð?ð?ð?ð?ð?@#í?€ÎØ?Àm?@º?}ã?Àhì?@Ãí?ÀÒï?¦ï?ÀUí?À¯î?€Eï?í?)í?À0í?Cî?fß?@?¦?-ï?€ßï?î?@Yí?€³ë?€·ç?ç?Šã?@׿?ë?€`ë?aí?@xí?€Lì?€Qç?ÀBä?À#é?î?ï?@ í?Úï?€cï?À¹ï?@ï?Àˆí?@›ï?Àï?€ÿï?@èï?üï?€ïï?£ï?Àêï?Àîï?€`ï?ð?ð?€ÿï?€°ï?ÿî?€í?@?ï?Àµï?ð?~ï?€Âï?ð?Øï?@Íí?@"î?ð?Ëï?€·ï?Áí?€Äí?€ˆì?Qì?€»ë?ÀÔì?À2ï?Àéî?À³ï?€›ï?À`ï?€‡ï?@ºï?Àòï?€èï?€ôï?@üï?€áï?Úï?@wï?@­ï?@ní?…ï?@–ï?ð?ð?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?­ï?Jï?€ïï?@ ê?™ì?.î?Àûï?€½ï?ð?ð?ð?¢ï?ð?ÀÖï?€öï?€áï?@Ýï?€ñï?ð?ÀÞï?õï?€üï?€öï?ð?•î?€¯ï?@1ï?ûï?ð?@iî?†é?Øë?@°ì?@¡í?ùï?ð?Ûï?ð?Àþï?@žï?‡ï?Àòî?ÀÑï?Àûï?ï?ð?ð?€ùï?ÀØì?í?€€í?À»ï?ð?ð?ð?À²ï?@ÿï?ð?ð?€þï?€Aï?@:ï?eè?€úá?€ïï?@¨ï?€3ï?€ëï?€ïï?ð?ð?Àçï?@Ûï?€ûï?€çï?Àÿï?À`î?€Oâ?€àî?îì?4?€g? ?€ÿæ?@[ì?€ÿï?ð?ð?€¬í?€2ï?ð?ð?ð?Àÿï?@¢ï?øï?ð?ð?@Ôï?ð?ð?ð?ð?@Ùï?€¤ï?ð?ð?ð?€¸ï?ð?ð?ð?ÿï?€yï?Ûï?aï?ëï?€¹ï?@ýï?@çï?Àïï?Àþï?ÿï?Àþï?ð?ð?ð?ð?ð?@èï?ÀÜï?€Ëï?@<ï?@·ï?@xï?À­í?Çï? ì?úé?î?@Øì?Àï?€bì?€ Õ?€LÛ?À*é?€èï?€Àì?€î?ÀXï?€îî?À3ë?€•é?€rå?Àé?@Ðè?ÀQí?€à?@ê?@í?ÀXê?À.ï?ÀMï?€æ?«É?Ô»?ß?@?ë?ôÒ?p†?½?‚?œ?¹?$Ñ?ûÒ?Yê?äï?ÀQî?€à?”Æ?4Ù?m?ØÈ?@Lï?ð?ð?ð?ð?ð?ð?Àoï?Àná?´­?ÎÑ?@æ?²ë?@\ï?Àqï?Ìï?êï?@zè?@kî?@€ï?©ï?@î?@¼î?€Vê?ˆ™?À?±í?ÀÔî?@yí?€áê?@ì?@Ré?@žë?Àùä?€ã?Àá?ÀÆí?í?åé?0ì?@ç?Qä?À4ê?€ç?€“î?÷í?@óï?Æï?Àîï?À€ï?@Bî?@Uî?ÀŽí?€íï?îï?€¨ï?€6ï?îí?@¨í?ïï?@ùï?ð?À÷ï?Àùï?@ÿï?hî?ð?€…ï?@òï?€ðï?@}ï?ð?Àûï?ÿï?€Øï?Àï?Àùì?À3ï?Àçï?€ïì?ÀUî?Àëè?€=ë?ÀËä?€:í?À/ì?ƒí?€!ì?€ ï?À¦î?€ˆï?ÀUï?¥ï?€Òï?@àî?À*ï?ð?ð?@Aï?ð?ùï?À®ì?ð?@ßï?mî?@Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äï?@ñï?Lï?À&ë?Rî?ð?ð?€úï?ð?ñï?ÀÓï?ÀÝï?@æï?@´ï?Àðï?€ìï?ð?Àåï?€øï?@üï?Àùï?€öï?ßï?ð?@‡ì?€Pï?€ãï?@þï?Àõï?À‘ï?Àï?í?@¢ï?@Ùî?@îï?ð?ð?ð?@ýï?À±ï?@Ýï?Àúï?ð?ð?Šî?€qï?tï?€cï?@¹ï?2ï?@`ï?æï?ð?ð?ð?ð?ð?ð?€íï?¾ï?Àöï?€Pé?¸?Aë?ï?ÀÆï?ñï?Àÿï?Àÿï?ð?ð?ð?ð?Àõï?úï?@ñç?DÍ?J?Ì£?AÁ?”Ù?À¼ì?À—í?€¾ï?€–î?ð?Ñî?Þî?ð?ð?÷ï?ð?€ÿï?ð?ð?ð?@àï?ð?ð?ð?ð?üí?À"ï?ð?ð?ð?ð?ð?Ýï?8ï?ð?ð?@üï?yï?@øî?€Ðï?€Þï?Àˆï?ôï?€÷ï?ð?ð?ð?ð?ð?ð?ð?@×ï?Àaï?€øï?Öï?Àï?Ýí?@9ï?@Dï?€œî?Oã?€¢Ò?åî?€Æê?€Ö?€Ðé?€9í?‡í?ÀÍì?@†î?@hî?@»ï?@†ï?@í?Àé?€¢â?uë?óæ?Àí?À•ì?ÀOì?Àyì?ÀÁç?€™é?€¬ì?€Ò?€óÔ?€cÕ?€fÚ?žÊ?ÇÀ?Jï?À.ì?@Úä?€Ãà?œê?8Õ?J?ä¨?€èÛ?@†ç?õí?²¶?²À? ~?³?À,å?À«ï?ð?ð?ð?ð?ð?€±ï?!Ü?'×?Ä´?Àþè?€–ê?€‡ï?mï?Àœî?À†ï?€âï?€Üí?@Óï?À»ï?À7ï?€ ï?@ií?@›é?@«ä?Àøî?@@ì?Àýë?€Ÿë?@úæ?€æ?€¥é?×Û?®æ?Àê?ÀAî?ãî?€eê?×ë?à³?€µá?ÀÆï?@´î?€ìï?@…ï?€êï?@Óï?Ýï?ð?ð?€åî?@ï?ð?€¥ï?Àî?€®ï?€ï?ÀJî?˜ï?@kï?@¸ï?€Kï?€9ï?iï?€aï?üï?ð?Àüï?ð?@Ïï?@äï?ð?ð?ð?€Üî?ÀÙë?@Äï?@Íî?ð?À¾ì?€í?±æ?€~î?@ î?@ví?ùî?ÀÀï?ð?À™ï?ñï?@Íï?@í?@iî?@ ï?€åï?ð?“î?ð?ð?€èî?Kî?€›î?ð?@ï?ð?ð?ð?@Xï?À¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Mï?€Úï?Àï?ð?ð?@íï?ð?ð?êï?ð?@éï?Àþï?ð?‹ï?ð?ð?ëï?Àíï?ýï?ð?ð? ë?ð?€úï?@íï?Êï?Æï?@gï?¤î?ð?ð?À‘ï?ð?ð?ð?ð?€þï?ð?ÀÓï?ÀØî?ð?€—ï?@Áï?ï?€¸ï?ð?ð?Àþî?ìï?ð?ð?ð?bá?€7Ø?[Ñ?€dÖ?ð?@÷ï?Àè?Œ¦?ð?€³ï?8ï?ð?ð?ð?ð?ð?ð?ð?À¹å?€tÒ?€d?€$ë?î?Àªî?@ûî?ãì?€î?€Ìí?À½ï?ð?ð?@Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Eî?@î?ð?ð?ð?ð?€¥ï?ð?ð?@Õï?ßï?Àýï?€ûï?@ãï?ð?ð?úï?Àùï?À\ï?ð?ð?ð?ð?ð?ð?ð?õî?€þï?@Òî?€³ï?Ñï?€ìï?@Ðï?@ôî?@¢î?À\â?"»?€ãá?€¤ë?€Úê?€uä?€ë?ÀVê?”ì?@õî?À§î?×ï?€ ï?€ê?@Àé?ì?@©ê?¿ì?bë?ÀØë?@gê?@aé?Àí?€Æã?V?>ß?‰?˜”?Àuî?ÀÂî?8î?€-ï?Àøï?@*ï?€ÞÒ?6?ÚÂ?`¼?€™Ð?ÞË?@åî?ð?ð?ð?ð?ð?€ýï?À·á?°Ž?€\?@é?€6í?€¾è?À‹ì?€™ì?›ï?kï?@vî?ð?Àî?@ßï?ÀLî?ví?Ÿá?À‚ã?€î?@fë?Àûâ?€é?€™ç?@Æê?+Ý?@˜ç?€-í?ä°?ãÄ?Ãì?î?¥ï?Àé?0„?ð?€þï?@ä?ð?Àóï?õï?²ï?ð?@ëï?ð?Àçî?ˆí?@kî?ÀËï?€šï?@íî?Àáï?€ñï?ð?€&ï?@Éï?Àäï?Àï?ð?ð?ð?€íï?ð?@öï?ñï?ð?ð?˜ï?€øï?@Èï?À¿í?@?í?@í?½ë?À·ê?À¿ë?@ ë?À´í?ÀÅï?ï?Àïï?Àöï?€“é?À„ï?ÀÂï?@{ï?©ï?ð?ð?€èï?Àíí?ð?€âï?@¸ï?<í?@Çï?ð?ð?ð?ð?ð?ûï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?€éï?Àúï?‚ï?ìï?ð?ð?@üï?Àþï?ð?ð?ð?ð?ð?ð?¥ï?@‡ë?ÀÍê?À…ï?ð?ð?ð?Ñï?ð?ð?ð?€Öï?ð?@êï?ð?Àéï?@Ëï?€Óï?Ðï?ð?ð?ð?ð?æï?ð?ð?ð?ð?ð?¢ï?ð?ð?ð?À]ã?ê?ð?~Ó?£?êË?@‘í?ð?ð?ð?ð?ð?ð?ð?ð?€zâ?àt?óè?Àâë?@¸ê?ð?<î?Oï?@Éì?ð?ð?ð?úï?€4ï?ð?úï?À[ï?ð?@uï?@ææ?œí?ÿí?À@î?Àüï?Àïï?î?ð?ð?ð?ð?ð?ð?Àké?ÀUï?@xï?õï?€·î?ð?@ ï?ñï?ð?ð?€#î?ð?ð?ð?ð?ð?ð?ð?ð?öï?€ýï?áí?€üí?Æî?€·î?€Öæ?ìå?Ÿì?¿ì?Àpé?Àpä?Àëê?€(è?€ í?€Ûî?@Ëî?@í?¼î?@„è?Àì?@lë?@Ãä?qê?À$ì?À3æ?€òí?!î?@më?è“?V?Àî?@;ï?ìí?@_í?@×í?ÀVï?@›î?Ài?2?€}Ô?K?€Pà?öï?ð?@kì?Àéï?ð?€Ÿî?̲?R?f?^Ô?íë?@ˆí?@ýí?íí?@Vî?@Vï?À–é?@uï?óî?@éî?Àåì?Íè?@ÿì?@4í? ´?Ð’?ÀÎì?ií?À‚ï?@~ì?@Ñî?@í?qì?@‚í?Fí?œë?@£ç?ü±?‘È?Àfï?ÀÄî?€ýì?@ç?€ûî?@…í?³ï?€ï?€Úï?ýï?ð?ð?Àëï?ð?ð?÷ï?€âî?@«ï?÷ï?ÀÖï?Àãï?€íï?@äï?€Þï?À‘ï?ð?À÷ï?€³ï?€øï?ð?€ïï?åï?ð?ð?ð?ð?@úî?@ï?Âë?À¦ì?À¬ï?@í?Àí?@í?Àï?€:ï?¶ï?@%ï?ÀFî?_ï?€;ï?Àî?Àtë?À¹î?€èî?ï?€jï?À[ï?€óï?ð?ð?ÿï?@ýï?€úï?À‡ï?ð?€Þï?€ï?ƒî?ð?€²ï?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àî?€âî?ð?€õï?@žï?ð?ð?ð?ð?ð?ð?ð?@í?Ií?€î?ÀÐî?ð?ð?ð?ð?ìï?€~ï?ð?ð?€÷î?À½ï?Àöï?ð?ð?@øï?õï?€òï?@öï?€¼ï?Ùï?ð?ð?ð?€æï?¥ï?Àºï?€üï?€óï?ð?ÿï?ýï?ð?ð?ð?@Õç?€S?oÎ?À$å?x?€}?ÜÐ?Àºî?@úï?ð?ÀÞï?@×ï?ð?ð?ð?€ãï?€Íç?®¶?Pœ?€8Û?@â?Àé?Ôæ?@ûì?ÀJï?ð?ð?ð?ð?ð?ð?À£ï?@(ï?€õï?@÷ï?>Þ?@á?À|è?€í?@;ä?I×?SÝ?ï?€âî?€Sï?ð?ð?ð?ð?ð?ð?@éî?€¯ï?@œï?ÀÈï?!î?€äï?@;ï?@ñï?ÀÎï?Ùï?ð?€„ï?ð?ð?ð?ð?ð?ð?ð?ð?€ï?€qï?êï?Àøï?¼ï?À!ê?@pë?€ØÛ?@æà?@¾ç?À_í?@+ï?€rî?Së?€§é?À–í?€ë?À¡ë?€ºí?@Yï?Vï?@\ì?€Íî?Àì?@µæ?ïë?@ì?ïç?@Çé?Ëé?@Tì?À•î?@!î?ÿÎ?€Y?»?Àë?€Õì?@`ì?@õë?À°ë?€{î?ÀŽï?Eî?Àíê?€3ä?t·?÷Î?€ßá?@"â?@0â?Àëï?À÷ï?«ì?)Æ? ?"±?€hÔ?€—ê?€é?€­ì?€_í?@ ï?@í?èí?í?€2î?€Âï?ÀZî?î?@_ì?€ ë?ÀÑë?ŠÌ?@o?PÌ?à?€üÒ?€Âë?Qî?@Üì?ßî?€"è?€E×?àÏ?@á?Âí?@qí?€aÖ?%Ç?@½ï?@"ï?€,ï??ï?@’î?@uê?ï?À_è?ð?ÀÛï?ð?ð?ýï?@ï?Àâï?ÀÎï?À´î?@Åï?@èï?ð?ð?@ûï?ÀÚï?ð?ð?Íï?î?À‡î?À€ï?Àóï?ð?ð?€Ñï?ð?@üï?@Úï?¶ï?zì?€ ë?Éì?@$í?À½ì?@hë?À£ê?Wî?€õï?Àúï?þï?ÀÀï?Àåï?ð?€½ï?@ÿï?3í?ÀÝë?€ ï?ÀÝï?Çï?ð?€ûï?€¬ï?Àöï?À÷ï?ð?ð?ð?@îï?Àïï?“í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃï?ï?oï?À™í?Àûï?Àüï?ð?€¬î?À ï?@aî?@!ï?¾î?€Ûî?dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?fì?€Îî?ð?ð?ð?øï?Øï?Àûï?€lï?ð?ð?Àßï?ð?À“ï?ýï?@^ï?ÀÅï?À´î?êï?ð?ð?Àøï?ð?ð?ð?CÚ?¶Ã??Ô¤?€×?€öæ?€ùï?ð?Àýï?@ê?ð?€Õ?hÍ?œÐ?ÀÃî?kØ?Й?R? ·?žÅ?X“?€Ñã?À$å?€€ë?œê?€Øì?ð?ð?@$î?ÿï?ð?ð?Óï?ð?@Œì?ð?€lÛ?€]Û?„í?€¶î?@§ï?@ç?|º?€ÕÒ?'×?@zë?Àúí?ð?ð?ð?ð?ð?ð?ÀÜï?@Ÿî?€êí?@Oï?@¥ï?@¹ì?À¥î?ð?@Ôï?ð?ð?€èï?ð?ð?ð?ð?ð?@Þï?ð?ð?«î?{î?ð?€Øï?Àñî?Þë?Àðï?€óï?Àçí?ð?ýï?ýî?>í?€1î?Bë?í?@ í?@Aì?@ì?À‚î?Àï?À-î?ðî?€áæ?@±ï?€‘ï?@:è?@ ê?%ï?@Šê?¼í?@í?À—è?B?ð€?Àñã?Àøì?Œé?§ë?Që?Àzì?Àöï?À®ï?@bí?sæ??€pÙ?ñÈ?€?6?@€?jÉ?Àäç?À+ï?¬à?èŸ?^Â?ü°?Ò°?€*à?‰í?À¹ì?¶ì?Àï?ÀNí?bì?ÀŠî?@§í?Òì?€Ií?€Îì?„ì?±í?€Éî?@9ë?¦?KÆ?P’?¤ª?øË?Mâ?€YÒ?¶? ‡? ?€"ß?Èß?À4î?ÀUé?¶ë?Àžï?§ï?€\î?ð?~ï?@ïå?ì?€éî?ð?ð?ð?ð?ð?Àúï?À÷ï?ð?@µï?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€cï?ð?Àùî?ð?ð?ð?€Íï?ð?€œï?Àžï?Àtï?üï?€Îî?Àñî?@"í?“í?…è?è?€í?@„ï?þï?À ï?Ôï?ð?ð?ð?ð?Àïï?ÀRï?@^ì?€9ï?@–ï?€²ï?À{î?Àãï?ð?@Çï?ð?ð?À÷ï?@nï?Àïï?€èï?×í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?úï?éï?Àçï?ð?ð?ð?ð?ð?ð?/ï?@Žï?rï?€Ñï?€äï?Âí?À²ï?€Sï?€Šî?Ÿî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?Àïî?@Æî?ð?ð?Àóï?Àºï?Èï?@^ï?À÷ï?ð?Àïï?Àßï?ð?€Äî?ð?Àçï?ÀNï?€–î?€ï?ð?ð?ð?›ï?³ï?Àëì?,?…ç?ð?@žî?¨Ù?€0é?àv?UÒ?¾Ê?ü¥?Àèè?@Qæ?eâ?›è?:Ò?ð?ð?Àšï?Bí?€.ì?ð?ð?ð?™ï?À¼î?Ãî?èº?@‘á?@2ì?À¬ï?€jÞ?†Ó?€Ù?€~?€?ÅÍ?ÇÒ?€UÑ?Gà?ð?ýî?@Öì?ð?Åï?Àïï?€+ï?¡í?ë?@¿ï?‰ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?À’î?Àëï?À÷ï?Àï?ð?Àyî?€mï?À(ï?¨ï?ð?ÀÊî?Àïï?ð?€Ëï?Àí?@ï?@óí?ié?€ì?€÷í?€ýì?Kë?Ìî?ÀÕì?³ï?6ë?@³ï?òí?Qé?@Ùí?À¦ï?€¹î?Àì?Àƒí?@žê?ž?”Ç?ÀRî?Àbí?À%í?@Dì?À-î?¯ï?@€ï?Àoí?€ºê?ˆ¥?€JÝ? Ä? Í?€yå?€§ß? ¥? ?Uä?ÿì?4ï?Ší?€î?@òî?€•ê?€ì?è?âë?€`ê?€ží?@mî?À‡å?€yá?@Îå?È”?Ô²?€“Û?Àtå?tÝ?áÉ?@"ë?€Ëï?ð?@¿ï?@áï?€Ëï?úï?äï?rï?Àïï?€Óï?üï?À¨ë?@Kí?Àªï?ð?ð?À˜ï?ð?ð?ð?ð?ð?ð?ð?ð?À¥ï?ð?ð?Àåï?ð?ð?ð?ð?@|ë?ð?ð?ð?€Óï?ð?ð?@pï?@¿ï?ð?@ï?@ï?Àdï?€¬í?@Ìí?íì?ÀÁï?@Èï?€ßï?€Ïï?øï?Àóï?àï?@»ï?Àrï?ð?ð?@7í?¢í?€ï?Hï?ð?Àëï? ï?€çï?Àïï?Àçï?Àªï?²ï?ÀÛï?ð?À_í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ð?ð?ð?€Ûï?Àcï?Àïï?€î?À‘ï?ð?ð?ð?ð?ð?@±î?@~î?ôï?ð?@—ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?8ï?ð?ˆí?Àï?ÀŠï?@¥î?Àšï?ð?ð?üï?ð?ð?@Jî?Óë?+ë?À ì?Àôè?€î?€Ðë?€Ô×?<Ã?âà?@Ïå?ð?úï?€áã??Ì?ðæ?ð?ð? Ü? s?@j?à€?@§ë?ð?Àëï?@‡î?€ï?ð?ð?@—â?S×?Öê?6Ð?ß?Àî?ÕÊ?@a?»?Ш? í?ð?Àóï?ÀÃï?€Ðï?ð?Àhë?¹ï?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àjí?üï?ð?ð?ð?ð?@Öî?Àmï?ð?ð?@½ï?À÷ï?@Žï?€Åî?Àãï?¶ï?µï?9í?€õÑ?€eä?1ë?@÷ê?@“ï?¢ï?@¥ï?@Ÿî?îí?Àmï?@Ôî?À”ê?üï?€zï?@Ôí?€óî?@î?@©è?€n?@x?²ä?ÀTë?@²í?@Pì?€ãç?ÀTí?À˜ï?À÷î?€ï?Àëï?>?@Ðì?@Mä?À{?Y?P?`‹?GÏ?€Õî?À‰ï?€vë?€tì?Cä?wÊ?€óê?#ê?É?À ã?Ûî?Àaå?@•ë?@æ?ËÒ?€¾Ð?zÅ?€qî?ð?ð?ð?Bæ?@1î?€Ûï?À ï?À@ï?’ï?@Ãï?ð?Àªï?Àóï?Àçï?À"ï?À‹ì?Àzì?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?òï?ð?Àøï?ð?øï?ð?€7î?€Ší?ð?ð?ð?ð?ð?ð?ð?ð?€‹ï?Àçï?ð?ýî?@ë?€Uï?Àûï?ðï?ÀÃï?À¼ï?àï?ð?ð?Àñï?€Ûï?ð?À÷ï?Àóï?ï?@‹ï?€€ì?6î?€òï?¶ï?úï?½ï?èï?@Yï?@Çï?@¼ï?Àóï?ð?ð?Àì?€»ï?-ï?ð?ð?ð?ð?ð?€sï?ð?ð?}ï?Àèë?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáî?@#î?ð?ð?ð?ð?ð?ð?Àúî?zî?ð?€çï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ƒï?ëí?@=ï?ð?ð?@{í?ð?Àñï?ð?ð?ð?ð?ð?ð?AÍ?¨•?6¸?̹?ä¢?‘?0­?€ æ?ÀÝç?€Õ?ÝÝ?EÎ?€Ñæ?À÷ï?@Õï?@×ï?¶?îÝ?ƒè?@1ï?À|ï?€£î?€Dë?ð?€¯ï?…î?ÀJï?@²æ?¹?€n?€Ñ? ´?ˆ¯?çà?Íï?@Ní?€Áï?@þí?ï?@ùï?ð?ð?Àßï?ð?ð?ð?ð?ð?‹ï?ð?ð?ð?ð?ð?€®ï?ð?ð?ð?ð?ð?ÀÁï?À§î?€Ýï?ÀŽï?@¼ï?aï?À í?€¼Ð?€Çá?@?ã?žê?ê?,ë?@ôé?î?ÀGê?Èí?-ï?€;í?€ïí?À¡ï?€5ï?ð?€iì?€Ãí?@0ë?@c?Ë?@Dï?€Qï?;î?–ì?€Êë?€õí?€×í?@ í?Ôï?€ií?»Î?~Ã?À0ï?€'ë?¯Î?ºÐ?°“?€²Ú?@í?@ï?€.î?@yê?†?SÛ?€ûí?€$Ô?@<â?cä?âç?À®é?®ä?D´?R?aÜ?›Õ?‰í?ûï?@ùï?€•ï?€@Ý?Úé?€¸ï?ãï?´ï?ÀIî?áï?@fï?€Uï?(ï?Àžî?ûï?€Hï?€Eè?Ò?€`ï?æï?@Íï?ð?À2ï?ð?ð?ð?ð?ð?ð?ð?€†ï?€éî?Àœï?@ãï?ÀŽï?ð?ð?@ùï?€|ï?@Åæ?—ï?Àèï?ð?€øï?@wï?ð?ð?ð?ð?ÀÅï?ªï?…ï?@Öï?@ôî?Àhî?xí?€ôï?€ëï?€ï?€Æï?ÀÝï?ð?ùï?ð?ÀÓï?€±ï?@ºï?€‡ï?@ûï?ð?ð?€Ýì?î?@|ï?@‰ï?€Éï?À´ï?@¬ï?@Òï?Àûï?ð?ð?@ìï?aï?ÀAì?Àâï?ð?ð?¬ï?€¡í?Àwî?ð?oï?9î?Bï?@§í?€þï?@dí?Òî?ð?Àåï?ð?ð?ð?ð?ð?ƒï?Àî?@zï?ð?Àƒï?ð?ð?ð?ð?ð?åï?À>ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?À¨ï?€ï?ÀGï?@ï?ëî?Aî?ð?ð?Vï?€Ìî?ð?ð?ð?Aï?ð?ð?ð?ð?€/Ý?R?à’?œ?ÄÊ?ð?@lï?ð?ùÞ?8¢?ÓÉ?€–?ˆ?Û?€\Ð?xº?Àµä?€«Ö?Ô?Àlí?ùæ?ÀHì?€ ï?€>Ú?$«?N?Ná?@Ìì?@ïã?€¬ä?€Íï?@ ï?ÀÛï?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?@ÿï?ð?€î?ÀÈï?ð?ð?@÷ï?À½ï?À¯ï?@Öï?@‡í?iÔ?@%é?@§å?À»î?À“î?€¦î?@+î?À½î?@¸î?@î?_ì?@6ë?xí?@,è?Àöí?€ï?ÀPï?@fé?Àtï?øï?@¢ï?Xï?Äè?@²æ?€g?€Nà?@Ÿí?Àî?€†í?î?Àuï?À.ï?@>î?@„ï?¯ï?@3ï?€xé?@¦í?ÑÅ?‹?€qß?€{ç?@Îî?€^ï?€^ã?ž?’?YÎ?€Ó?Ø?Ó?€èê?@“â?h®?€âÒ?@·é?À»ì?€šï?€Aæ?€»ë?Jí?£×?ð…?ê½?€Ò?\Ä?Í?€í?ˆî?€Ðí?]ì?€$è?@Ïï?²ï?€¿î?@Cë?À†ì?Àï?Àî?@Àï?@jî?ð?ð?©ï?{×?€ï?ð?ð?@òï?€=ï?ð?ð?ð?ð?ð?ð?­ï?€öï?ð?ð?ð?ð?ð?ð?ð?@`ï?Àtí?@Éê?Ïï?ð?þï?À¤ï?@àï?óï?ð?üï?øï?À‡ï?ÀFî?ˆï?À@î?€Éì?ÀBî?À¹ï?ùï?€¸ï?@ùï?Àøï?ð?ð?€áï?€âï?Àæï?@·ï?Òï?ð?ð?·ï?€ëï?ï?€èì?@åï?Àêï?ð?ð?ÀØï?ð?ð?ð?ð?ð?€“ï?€Ýë?ì?(ì?5ï?Àýï?æï?ÀÅî?À"ï?ð?ÀÞî?€Íî?ð?Éî?€ ï?ð?ð?ð?ð?ð?@üï?Àìî?€Šî?ð?ð?ð?@‘ï?÷ï?ð?ð?Àõï?@÷ï?ð?@Šî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ûï?Àýï?€àï?ð?ð?€èï?€÷ï?À-ï?Àµï?€…ï?ð?ð?ð?ð?aÕ?@e?Às?€”Ö?€ ï?ð?€ÿï?@è?ÒÉ?L¥?€ á?ÀÇì?Àýï?€Ùî?@Îà?ž¾?À â?æÇ?€§Ñ?€Ñä?lÜ?@µå?Àî?€Ãï?€þï?úï?ð?ð?ð?ð?ð?ð?ð?ÀØï?@ûï?ð?€¿ï?ð?ð?ð?€ðï?ð?@Õï?áï?üï?ôï?Àxï?@–ï?ð?€Dë?@7î?&í?À¨î?ÀSî?@5î?@4î?ï?@îï?Æì?°ê?€Û?€î?@ì?@°ï?€÷ï?Óï?@°î?À…î?×ï?Jï?@‡ï?ÀÆî?í?BÏ?P?Àìã?@Wï?@pî?€ í?@£ï?À…ï?ð?ð?@óï?€æï?€oï?À×ë?@•ê?@^æ?€Øë?€9ì?-ï?€ï?hê? Ê?óÚ?LÐ?€?Ò?@(ì?À|é?¾Î?m?åÂ?@ë?À:î?@ðî?@Ôê?€Ië?€”ë?,Á?£Ý?p­?`Š?ËÙ?n?ÀÕï?@ýï?€Œï?@”ï?@Ãé?ð?øï?@²ï?ð?ð?€ï?À ï?€ºë?Àï?@ïï?@7ï?ð?Éî?@Ìï?@¬î?–ì?Àæï?þï?€ïï?@ï?ð?ð?ð?ð?ð?À[î?ð?ð?ð?ð?ð?ð?ð?\í?Xï?í?ð?ð?ð?Àxî?Ùï?Üï?ð?ð?@1ï?Àêï?Üï? î?í?@¡í?€9î?@kï?Àªì?@úî?À#ï?Àþï?ð?ð?ð?ð?À÷ï?ð?ð?úî?€Äï?þï?ð?ð?À­î?@”ì?@ï?@Ôí?€Õï?ð?ð?ð?ð?ð?€÷ï?ð?@øï?öï?€³ï?À»ï?ð?ð?ð?ð?€÷ï?ð?ð?ð?€‚ì?€ƒî?€ùï?ð?ð?ð?ð?€`ï?Àüï?Àüï?Àìï?ð?€ôï?âï?Àéï?@¥ï?ÀNï?€kï?@Òï?€Úí?€úï?ð?Äï?€œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€±ï?ð?ð?ð?ð?Àµï?À3ï?À¹ï?ð?ð?ð?„ä?¹Ã?@œê?@Ëï?ð?ð?€±ï?À(ï?Ûå?gÛ?ªä?Ûä?@Ïç?TÐ?ö¿?ÿã?ÀÑé?À~?@œê?@lé?@„í?JÞ?þï?Àûï?@öï?ƒï?ð?@¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ð?¦ï?¶ï?€zï?[ï?=î?@ãì?úí?@î?Àzæ?@Èï?€í?Àtí?@Ïê?€§×?Ëå?@Uí?pï?,î?@Eë?«î?€–í?@ï?ìì?@Ôï?Ãï?€Üè?0?€*é?À­ï?À ï?¬ï?€¿ï?ð?À£ï?€âï?ð?@öï?À§î?À×î?{í?7î?€öî?ÀBï?@•ï?À†î?Àìì?ú»?4?÷Å?±È?²ã?@"ï?dØ?€ÑØ?øÔ??D?x«?À³ä?€ â?˜¨?‚Ë?€6î?Àî?8í?ƒì?Àlî?€â?Ò³?ð»?~Ô?tê?@Óî?>Í?€c?Üí?Þï?Àþï?€–ï?ÀÁï?£ï?€†ï?Àüï?@Ûî?ð?@£ï?tê?€|ï?@†ï?€ñï?ëï?€þï?‡í?€hî?@´ï?ëî?ëï?À¿î?@»î?„í?@iì?@ÿï?ð?ð?ð?ð?ð?þï?0ï?@sï?ð?ð?ð?ð?èï?gí?@ßë?ð?Àùï?ð?@ëï?Âï?ûí?@µï?ÀÔî?€dï?@òï?@ûï?éï?@$ï?@•î?”í?bî?ÀEï?À²ï?@¡ï?@[í?@§ï?Àsî?Àí?eí?nï?ð?ð?Àùï?ð?ð?Àýï?@äï?øï?ð?ð?ð?ð?@Gì?€œï?@ºï?Àþî?ð?Àáï?ð?ð?ð?ð?€÷ï?Àüï?Àºï?´ï?ð?ð?€Ðï?õï?ð?€øï?@ôï?ð?ð?ð?Þï?ÀÖë?Üë?þï?ð?ð?ð?Àþï?@>ï?ð?€ðï?@þï?ð?ð?ð?ð?ð?ð?À˜ï?èí?€ìï?ð?@ìï?Àÿï?éï?€Îï?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?€åï?@êî?Àcï?Àúî?×ï?ð?€yï?€çï?ð?ð?ð?iï?€Ó?€e?ÌÎ?öï?ð?À÷ï?€äï?ýï?ûï?€¹ï?€Ôã?‡?ê°?µß?€]î?Îë?V³?B?@·å?Ýì?€Nã?z¶?`ß?@§â?¹â?ÕÔ?@’ï?ð?€òï?Àúï?Àöï?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?ð?€Äï?À,ï?€Ãï?@ùï?€‹ï?€ñï?@[ï?€üï?€«ï?@®ï?ûí?Àwí?Eî?À·ê?@5æ?@Gí?€¾î?@üí?@~î?@äâ?œâ?€ í?Ànî?@Ñï?Àçí?7á?€£í?À°î?À­î?nï?3ï?ï?ƒï?nÈ?˜Ä?)Ö??`q?Àöè?€µï?@vë?@³î?À¼ï?ÀÓï?ÀÖï?€ôï?ð?@˜ï?Fî?€!î?€6ï?@Ðì?@±î?Àï?@ñî?@î?@î?@%ê?ÁÉ?¤µ?‚¾?¼Ú? í?´ì?™ï?@þï?óé?P?¢Ò?´ã?À?í?CÄ?S?Àë?À\é?êë?€#ë?@ï?€Àá?€~?Ђ?€Ò?@…ï?@ÿï?ÀJî?€âê?iî?ï?@Õï?€î?@Åï?€¸ï?À>ï?±î?îï?€pï?€äî?€0î?ð?ð?ð?ð?€Kë?À!î?€êï?ÀÙî?üï?Êï?ð?Ùï?ð?Àùì?ð?ð?ð?ð?êï?ð?ð?ð?@þî?Ýï?ð?ð?@\ï?Àê?í?€ôï?ð?ð?Àüï?ð?ÀÓï?@§í?€Rï?Àï?Ëï?ð?ð?€ëï?ÀÖï?@Ýî?€Îï?€ßï?@÷ï?îï?ð?@qï?€×ï?ð?ñï?Àÿï?€eî?ÀÒï?ð?€òï?@ûï?€”ï?ð?êï?@ðï?ð?ð?ð?@þï?ÀÌï?ÀCî?ð?ï?À”ï?üï?ð?ð?ð?ð?ð?ð?@úï?>ï?@îï?ÀÚï?Àçï?ð?ð?ð?€øï?åï?ð?€pí?í?@Óï?Àôí?ÿï?ð?ð?€ùï?ð?À×ï?Àüï?ð?ð?Àùï?@ðï?ð?€þï?ð?þï?@'ï?…ï?Àæï?ùï?€Ùï?@ëï?@Òï?€øï?Ëï?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Þï?Àïï?@²ï?Óï?Ðï?âï?ð?€åï?À­ï?áÉ?yÅ?€Vî?€óï?ð?€ñï?€×ï?ð?ð?ð?€{ä?t ?0?E?€êÕ?ÀÉï?€è?—È?,¿?€"Ñ?hž?Ь?Àòå?¸Ù?@àè?@vä?€Íî?@Üï?ð?ð?ð?ð?wï?tï?ð?‘ï?@0ï?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ï?@pî?Gï?@ï?ð?@Uï?ð?Àëï?ôï?@Ýï?€cï?Æé?€8ê?Àèí?bï?Àùì?€wì?Àªî?@Dé?€~é?@õë?@Gì?€ñì?÷ì?€üå?ƒì?Àºì?Àbí?Àƒï?òì?×î?Àqï?€©î?‹ì?ÀÙï?€Ïï?@uë?*ä?ȶ?•?XŸ?O?A?@Ðä?@ìï?@åï?ÀUï?Êï?Öï?ð?ûï?ÀÑï?ÀÝï?€cï?-î? ï?Qí?ÀOî?ƒï?†î?@·ì?€Gï?€»é?Àòà?@b?‘?°€?¶Ò?@;ê?Hí?€êï?òï?Ú?Àèã?Àgî?€dï?îå?€ƒÚ?€eï?Àxì?@Pí?@Aï?øØ?€LÝ?ð?ð?ð?ð?À¿ï?Ëî?ð?Àbî?@œî?@7î?€½í?ÀPï?@éï?Àxî?@üï?ð?Æï?ð?ð?ñï?ÀÏï?ð?ð?ð?ð?ð?ð?óï?ð?@«î?ÀÎî?ð?Àèï?@Ží?@êï?ð?ð?ð?ð?Àî?ð?ð?ð?@!î?€µî?ð?ð?ð?@Öï?Óï?­ï?–ï?€éî?@Ií?ð?€Üï?@aï?äï?ãï?vï?ð?ð?@´ï?€ãï?Àòï?€ÿî?€Úï?À˜í?À¥ï?@úï?€Ìï?@ùï?ð?€Äï?@íí?ð?ð?ð?ð?€Ôï?€Úï?ð?ð?À‰ì?€Lí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À£î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëì?€ì?ð?ð?ð?ð?ð?ð?Àåï?ð?ð?@îï?€ßï?ð?ð?ð?€åï?@÷ï?€‹ì?ð?€2ï?À¸ï?ð?@¾ï?ð?ð?@Jï?ð?ð?Àýï?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?€‹Ý?€ªê?ð?ð?ð?ð?Àòï?À¹î?Àî?@&ï?@²á?ܧ?À¤?¼£?ÀÊê?€,î?ÍÙ?|¥?>?L²?@?€èÐ?ÌÓ?gâ?Àä?@Üì?ð?ð?€‘ï?€íï?ð?ð?ð?ð?ð?@Íè?ð?ð?ð?ð?@÷ï?ð?ð?ð?Æî?ð?€šî?£ï?Àí?@¼ï?À½ï?Àòï?ð?Àyï?Œì?@ñé?ÀVê?Àæå?•ê?€Qï?€ýí?î?ÀSê?Èí?8è?€è?Qî?€¹æ?@×î?À¿î?í?@Jî?À´î?,ë?Rê?ÀVí?Eî?ð?€íï?ð?aï?ÀFï?Àsï?À,î?‹Ä?€j?`À?×Ì?è•?Ü?ð?€Ðï?™ì?åì?@Òï?@ëî?€êï?Àsï?€™ï?€Šî?Àï?€ î?ÀLì?aî?Aí?@Qï?@ ì?˜î?@Oë?XÍ? Ÿ?ÊÞ?@Âê?€î?ãï?€‰ë?¡Þ?ð?@3î?ȼ?©?€MÙ?1Ý?@ïí?€­â?<²?ê¶?P?Õ?À™ï?@ï?€rï?ð?@üï?Àßï?À‚î?€î?€uï?@0î?ÿì?@¸ë?À=ï?€¬ï?±ï?ð?ð?@bë?Àkï?€Bî?€ï?À…î?€÷ï?ð?ð?ð?ð?ð?Àœî?@°ï?Àï?€ëî?Àãî?÷ï?ûî?@0í?@Ñì?ð?ð?€þï?ð?À™í?`î?Fí?ð?ð?ð?@õî?ð?ð?ð?¬ï?€Nè?tí?õï?€èï?Òï?úï?@£ï?ð?ð?€^í?@æî?€šï?ð?@Îï?ÀHï?@ì?Àßî?€ï?ÀOï?Àýï?@»ï?î?€‹ï?ÀÓî?ÀKï?€Áï?Àéï?@þï?ð?ð?ð?€kí?€ï?ð?€üï?ð?ÀÈï?ð?ð?ð?ð?ð?€ì?Àøî?ð?ð?ð?ð?ð?ð?ð?ð?€¾ï?ð?Àcî?À5á?€)ë?ð?ð?ð?@¤ï?ð?@÷ï?ð?ð?Àâî?@Þî?ð?€Íï?Àôï?À€ï?ð?ð?€ÿï?ð?Þï?@Ûï?ð?Àÿï?ð?ð?ÀÌï?À¾ï?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?€³ï?ð?ð?Àÿï?€Áï?ð?ð?ð?Àá??ð?ð?ð?ð?ð?ÀËï?ð?ð?€Ëà?~»? w?z¼?À&â?€™Þ?€®ê?vá?4«?Œ?”À?èØ?Àä?€Žã?òê?ð?€ßï?@Éï?ð?ð?@úï?€ëï?Àýï?€‰ï?Øç?Æî?€–î?€åï?ð?ð?ð?ð?Àåï?@Ëï?€íï?À®ç?Cî?@Õí?nî?ð?@Øï?@ûï?Àtï?@üî?Dâ?ÀÖì?@è?ší?@Þî?Àië?Àaé?+ì?€&î?@Íê?Àí?À.ç?@éí?Àí?€ï?ƒí?€ì?@½ì?@¥î?†ï?@úï?Äï?ð?ð?€¯ï?@eï?dï?ð?@Xí?€ŽÚ?q?S?uÄ?|­?C?Àm?À¨ì?Àìï?€öï?€hè?À×í?€‹î?ïî?@Éï?Ýï?Àýï?€Ýï?Cî?@Üê?åê?@§ë?Àíí?4í?ÀŽî?ÀMï?9î?€ñå?¥É?€+Ô?Yâ?ÀZí?À‰î?€å?€ÀÜ?aÕ?ð?ãß?ÀSâ?\æ?ºí?б?rè?€ Ú?¦´?ð?»ï?Àðï?ð?Àêï?À˜ï?€=ì?0í?€{ï?€4ï?€‡ï?Þî?À¤ï?óï?€…ï?@úï?ð?ð?ð?€Hï?ªï?Àïï?€ýï?ð?€Œï?ð?ð?À)ì?ð?ð?ð?ð?€éï?ÀÚï?ð?ð?;ï?@6ç?À5ç?€®í?€Žî?@Îï?ð?Îï?@¢î?<î?ð?€ï?ð?ð?ð?€¬ï?€ëì?€éì?@Ðî?@Úî?€/ï?@´î?Àï?@Fï?€í?Àµë?À*í?@éí?@zï?@ðï?À½ï?À¸ï?ð?€*ï?@tï?ð?€åï?€×î?@9ï?€oî?À‹ï?Àáï?@~ç?Üï?@eï?ð?@þí?ð?€ïï?€vï?€mï?ð?@ôï?@§ï?€Áï?Àöï?ð?ð?@*ç?@Oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ í?úâ?ð?@“ï?ð?ð?…ï?ð?ð?ð?ð?¤°?@Öï?ð?ÀÀï?Àüï?Üï?À!ï?ð?ð?€\ï?‘ï?ð?ð?ð?Ànï?@þî?]ï?Àïï?€Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žÒ?ð?ð?ð?ð?ð?òï?€åï?ð?@?H¥?,¬?‚ï?@è?Ü?È®?€LÖ?Õí?€;Õ?@ë?@Iï?‘ë?Àìï?@ï?Àïï?ÀÒï?"ë?Àúí?ð?€ˆî?µï?ð?À¿ï?ð?ð?ð?@ûï?ð?€µï?€1ï?€Šå?<ë?€Hï?€Yï?®ï?@ï?À‡ï?Äï?Êî?ÀÌì?€Nê?€ïî?€Èä?·é?À³ë?¸ê?@ßé?€uë?@bæ?€í?€Sê?@‚ï?@“î?À­í?€ê?€Òê?Àê?€ï?‹ï?€øî?@¥ì?ð?ð?ð?Àøï?Àyï?€¶ï?@Üî?ð?í?ÿÙ?P?4?@ç?@ï?€‹ï?@ï?À}î?Æí?7î?@Þï?¾ï?Gï?pï?Àëï?ð?@Gî?€wï?€¿ï?€Ìï?¢ê?€¢ì?(î?Àï?À*ï?€ ì?À¤?[?H”?H­?êÒ?Àžî?Àï?Àñï?ð?‡Á?T¦?ð?€6Ú?€ªà?Ñ?€zå?€sÓ?~Ï?Þ¾?òï?Ôï?@¥ï?Àvî?äï?À î?€ï?Àªî?@Õï?€;ï?@¤ï?Àï?ñï?€¹ï?ð?@öï?ð?ð?ð?ð?ð?€€ï?ð?€Jï?Àï?€åï?ÀÓî?€ýî?ð?ð?ð?ð?ð?ð?ð?ð?€iì?€ìä?Àêï?ð?ð?ð?ð?ð?ð?@qï?ð?ð?€ùï?ð?À=ï?À…î?€æï?@±ì?@½ì?Àuî?Nî?@îï?@óï?ÀBî?ÀFî?€Çî?‡ï?À ï?ÀÌï?€õî?€þî?€Ëï?@–ï?@Iï?ð?ð?@ûï?0ï?Bé?€æ?À:ê?€Úï?€Òï?ï?€èï?ð?Àüï?ð?õï?ð?À ï?€²î?ð?ð?Àï?ð?@Lï?æê?@Ùì?ð?ð?ð?ð?ð?ð?ð?ð?³ï?ð?ð?ÀÈï?À³í?ð?@èî?ð?@8ï?ð?ð?ð?ð?ï?u?úï?ð?—ï?Àï?Àðî?ð?ð?ð?ð?ð?ð?ð?ð?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?€úï?€‰Ð?À}?„Â?ùÙ?ð?ð?ð?ð?À¸ï?ð?9ï?ð?‹Ô?Ì ?öÉ?4?úÄ?€{Ô?À»à?‚Î?h‘?Ú¾?²·?2?¯?CÚ?jÕ?Õ?ì?žë?Àäï?€Äï?€öï?~ï?@Ãè?@dí?ÀŒí?@õï?@iî?ð?ð?ð?ð?@úï?ð?Àï?áï?@Ïï?€ƒï?€Õî?@ ï?”í?@Ãï?Àï?@ï?5ï?€Fã?€Mï?@Cì?ÀÚè?@Hî?@Áí?€´Ó?ÀÍì?Çì?€é?®ê?¶ê?€>ì?€Íî?À]î?À$ì?€Áä?úë?À"é?€ë?ÀVé?‡î?@í?Kï?ð?ð?ð?€ëï?@£ï?@äì?À8æ?Àþï?ïï?€,ì?€›í?€ê?@qå?H™?[Ä?@é?Àiï?@ýî?ð?À|î?@#î?@ì?€Zä?@¦î?€Âî?ÀÄï?@Éï?ð?@÷ï?íï?½î?€÷ï?ð?€ì?À°ë?ï?ð?ÀYï?Ûí?@%é?€ä?†?@h?À@ã?Eè?@•é?€ÀÝ? »?@Ëî?@‘í?@uî?ð?Ùã?À?€Âã?€Uë?~·?lÑ?ªÌ?è¤?ÊÊ??~»?‰ã?Àîë?ß?J?€’Ý?@ñï?ð?€øï?@{ï?@[ï?Àgï?€Ìï?@þï?€xî?€Øî?€òï?œï?Àäï?€Âï?Àÿï?€ôï?ð?ð?ð?Àôï?ð?ÀZï?@î?Áï?ûï?@÷ï?À ï?‹î?€Œï?àï?ð?À÷ï?ð?ð?ð?ð?ð?,ì?@©â?ð?ð?ð?ð?ÀÖï?ð?@}ï?ð?ð?ð?ð?@ÿï?ð?€àï?ºï?@ýï?Àsì?À.í? î?sï?mî?€Ãï?€Bï?Ðî?€Aï?@½î?À×ï?µï?qï?Ðï?À#ï?ð?@€ï?€±î?Àþï?€Oï?Îî?Àóæ?Èå?@.í?ÀÑï?…ï?ð?ð?@Bë?€4ê?ð?@üï?ð?Àîï?@®ï?@ ï?ð?@ûï?^ï?@Bî?À}ê?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?ð?‹ï?À¬ï?€ï?€êì?Àôï?ð?À©ï?Àûï?€Ðï?Òï?@Æï?¸Ì?Àúâ?@ûï?ïï?œï?€]ï?ð?ð?ð?ð?ð?ð?ð?€ÿï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sé?ã?Àðí?2ï?€Nï?ð?ð?ð?ð?ð?€îï?<ä?à?dÁ?&É?G?Q?? ?€sÐ?@ûï?ð?@þï?ð?@éï?€yí?€å?@å?¬¹??|®?ðž?Hš?³?€êæ?ìÕ?Þ²? €?Às?@|?@~?°¹?‚²?Ò·?Hà?ñï?éï?÷ï?€êï?Àìï?@¾ì?€…ê?@àå?Ýî?œï?ð?€ÿï?Àûï?ð?ð?ð?ð?À°ï?@äï?ï?€ùï?ìï?ùï?(ï?@†í?À:î?)ê?€¬ê?€î?^î?@Rç?@’ë?@ní?€Nï?ï?Àùë?€€ì?ªè?€¥æ?Àsì?Àì?@ï?€ºí?@—é?€´ê?€Gî?@¯é?@è?À„á?€`ë?@è?@Êî?€*ï?Àœï?†î?€4ï?Àåï?ÀMî?ðî?>ï?À¾ì?»î?Àºî?@»ï?ÃÓ?x?Àyç?@=ë?€Wê?çî?@.ï?ýí?€lî?À'í?€ƒí?€¼í?èî?€çí?À~ë?À‚â?@™é?òï?Àøï?ÀÑì?À÷î?+ï?@Þë?€î?Óï?î?øì?@×ï?€‘ë?Àïî?€é?<æ?X£?а?@Íæ?@óï?@Ÿì?@7ë?˜? Â?.Å?6ï?€Þï?ï?€UÕ? ?R½?€”ï?@…î?€õâ?ÈÐ?ç?pí?€úÛ?Èœ?Ù?€Öæ?¡ï?@Ðï?@×ì?Àî?€ûê?À“ï?@tï?€Ãë?Àüî?@rî?ÀŸî?@«ï?ð?ð?ð?ï?Àáï?€üï?€íï?ð?ð?ð?ð?@yï?Ïï?€äï?€Ýï?@ûï?@òï?ð?€¨î?€¹ï?±ï?€·ï?À¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?^ë?À¯è?)í?ð?ð?ð?ð?ð?ð?À­ï?ð?À‘ï?ð?ð?ð?Çï?À»ï?ð?óï?†ï?@Âï?ëï?üï?@»ï?€µî?ï?@vï?Àýï?Àï?€[ï?1î?@^ï?ÀÀì?À2í?ð?ð?€­ï?€–î?Àï?Þî?@kï?@-ï?@Ÿî?@?ï?ð?À¼ï?@ˆí?À›î?ð?ð?ð?ð?ð?@Úï?@Fï?ð?ð?ð?ùï?ð?À4ç?¼ï?ÀÂï?€ôï?@­ï?ð?@îï?€Õï?ð?ð?ð?ð?ÀÎï?@Úï?ð?@©ï?ë?¢í?ð?ð?Àøï?ð?ð?îï?hŸ?uÝ?Àòï?ð?ùï?@Úï?Àëï?Àöï?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?ð?€–ë?€1ì?Àìï?ð?ð?ð?ð?Ýï?ð?€áï?ð?ð?ð?×?ÏÎ? v?@ à?€Fä?ª²??xÚ?Д?€áî?ð?ð?ð?€Ýï?Àýê?¸š?ø›?<¹?Ç?€±?Ø”?¹Æ?|Ö?¦Ã?¡?€rß?€àí?€{ï?€¶ï? ì?@®ì?@Þì?€zí?Nï?@ï?Àºï?Àèï?À¾ï?ð?ð?ð?ð?ð?Àþï?Àþï?ð?ð?@üï?ð?ð?ÀÂï?€Øî?@¥î?€Zï?¹î?À·ï?€öï?€Ðì?€|ì?Àè?Àµî?ÀÈï?À‰ï?Œî?€ïè?€4ê?@1ä?ïä?€¨ï?@oë?€væ?€î?@‡ì?úí?@óê?€(ë?Þè?@fë?Àžì?À‰ì?@Yì?îë?€²í?@¥î?@sï?@6ï?4ï?àî?î?À-ï?ªï? ï?¬?À8à?€}ï?ÀIî?€ï?€ë?Kí?pí?@¤î?ºë?@½î?€´î?Ànï?¬î?@ã?Çî?€™ï?€ôï?€Òï?Èí?Àgë?ìã?[Ø?Àºæ?ï?€ï?÷î?Àßî?€ï?²è?Àæ?@µá?ÙÉ?@ßç?€bê?€9î?€}ï?ÀÅí?wÓ?`›?Ä?l·?+ä?€öï?ð?Nï?€.Ö?à†?Ñ?[Û?À.ã?€˜í?€hï?€íí?Jì?lí?çî?@Ìî?ÿã?€Äï?@ï?Wî?À ï?€ï?€ƒî?Àsí?îí?$í?ëê?¢î?€Wï?Àæï?Àðï?ð?ð?ð?Àäï?Öï?ð?À×ï?@âï?ð?ð?ð?ð?ìï?À²ï?ð?ð?ð?€îï?€þï?ÿï?ð?ð?@öï?Àóï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À´ï?À‚î?µï?@Øï?€î?Íî?ÀMï?@çï?ÀÍï?€Jï?ð?Àî?À?ï?@’î?ëï?ð?@ûï?@kî?@vï?@ï?üï?@ôï?Àhï?À{ï?@Œï?ð?€ÿï?@²î?8î?ÀËï?@ðï?€÷ï?@ªï?Îï?@éï?@×ï?ð?ð?ð?Àýï?5ï?×ï?ð?Àîï?ð?À¿ï?@³ì?@Sï?@¢ï?ð?€Œï?ð?ÿï?€ÿï?ð?ð?ð?ð?Àìï?ð?ð?üï?€ví?@7ì?ð?ð?ð?ð?oï?øÌ?ÁÓ?À.ë?ð?ð?ð?@òï?@ûï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?Àûï?¢ï?€×ï?ð?ð?ð?€Þï?wî?ð?@åï?ÿï?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?@ðê?€ÂÞ?€fÚ?´ï?@Šî?€öä?€CÓ?±?îì?ð?ð?@üï?@þï?@›à?`{? ‰?@äà?%Ó?,?sË?Àðê?dÔ?‚?bâ?À‡í?€"å?äï?@˜í?€«ì?@¢ì?Àóî?€Kï?€hï?@Ëï?ùï?@éï?ð?ð?ð?ð?ð?ð?Àÿï?ûï?@_ï?€˜í?Àíï?€îï?ûï?¶ï?òï?@ï?€¡ï?Àî?À-ï?ªï?@µï?bî?€‘í?ð?@iì?€Bï?@þì?Kï?€9ì?€$â?Àôì?ÇË?JÛ?€Ûí?Àòí?©ê?±ë?ÀÊæ?Àì?À0í?€‚ì?ÀŽì?@mí?@ä?€àí?‹ì?À;ë?@Øï?@§î?ÀÍï?“ï?@Ãî?@5ï?€Ôï?²×??Â?™ï?›í?@Sâ?ÀÉì?€©â?Àé?[î?ÀÕì?€Gï?Àmï?À,ï?@,ï? ï?€<ï?@„ï?€Ñï?Ûï?Vï?Pë?@ûç?Àmæ?ÀJì?í?Ûï?Àîï?€)í?€ƒÕ?žæ?´ï?À¤ì?~à?GÃ?(?€sÐ?€?ê?À¬ï?@ÿí?¾î?<ê?@c?Ààç?@ýï?€÷ï?yî?Àdï? ?À’ç?@Kë?€»ë?oï?À´î?ð?@¼ï?Æï?²ï?óî?@õë?€Rî?@Âï?@…ï?@Ûî?À3ï?ÀNï?€ƒï?ÀDï?À­î?•ï?@÷ï?ð?ð?Àîï?ð?€øï?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉï?€øï?@úï?@óï?ð?ð?ð?ð?ð?ð?ð?·ï?€6é?lë?@Òï?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?/ï?Àÿï?ð?À=ï?Ùî?Àíï?ð?ð?Ìï?€Rï?ð?ð?õï?@—í?Àßï?€æï?Àï?Àrï?Àóï?@ï?ð?@„ï?@„ï?´î?ð?ð?î?ÀYí?@žï?€Æï?’ï?@$ï?ÿï?Àˆï?@ï?€äï?ð?ð?ð?ð?ð?Àõï?ð?ð?€¿î?€ßï?ð?ð?ð?ð?þï?€™ï?@õï?€òï?ð?Àíï?ð?ð?ð?ð?€Ûï?ð?@sï?ð?ð?ð?€þï?Èá?@ä?@èï?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sï?@íï?Àúî?€Kï?@Pï?Àªï?€Àï?€÷í?€Uî?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?ï?@–ï?Êé?@†ì?dç?€žÝ?í?®»?€î?ð?@·ï?Úï?]ë? ß?Àb?@7à?ZÆ?¬º?€¨æ?€aÒ?®Â?€îÞ?€wê?ÀJî?÷ï?€iì?[î?4í?Àxï?€îï?@ñï?@üï?ñï?ùî?ð?ð?ð?ð?ð?ð?ð?ð?€Žï?ð?À ï?€±ï?€¹ï?ð?ð?€³ï?€òî?aï?€¾ï?ð?ð?@õï?ð?À0ï?ð?õï?ð?ÀÓè?È»?}ã??Àï?ní?@Zí?€_î?Àuï?Àgé?aí?€ï?õî?€âí?Àýî?Àºî?{í?€Tê?€ ï?@Òï?@Zî?€‰ï?€‰ï?Ûï?ð?aÊ?eÙ?Ç?X’?€ˆï?€æí?ÀAî?€Æï?€ ï?@¯î?€©î?€Îï?À·ï?@oï?€ï?@ƒï?ãï?žî?@¿í?€…ï?À6ï?@|ï?À1ï?À˜ì?Ãï?}ï?@wï?À%ï?À€ï?@›í?€øî?@Žî?@Ãï?€Éï?À ï?Àaî?L·?ß?€Æï?€-ï?€öï?€ëî?€wã?ÀXå?ÀÜí?ð?ÀÝï?ð?€xí?€'ë?æ?À‰?@$á?€ã?À1ï?ð?Àøï?€úï?ð?Óï?ð?@ñï?Ëï?€ßï?€Öï?Uï?À@ï?€¹ï?@~ï?@Ôï?€uî?€uï?@gî?Œï?Àôï?ð?@ùï?ð?ð?ð?ð?Àýï?€Âî?ð?À ï?oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@èï?€ñï?éï?@Óï?€ÿï?€ÿï?Àãï?ð?@çï?ð?ð?ð?ð?€Oê?ð?@îï?ð?€ßï?€Ãï?ûï?óï?ð?ð?ð?€øï?ð?ð?€Âï?Àÿï?Àÿï?@ûï?ð?€ï?€sï?Àèî?€üî?€é?€ï?ð?ÀÅï?€ýï?À˜î?€ï?@‚ï?¿î?Àœï?@;î?õï?À“î?Àï?Äí?Èí?€€ï?À¨î?@;î?ï?Àbï?Àlæ?(î?ÀQï?@õî?@Èî?@þï?À8î?À…ï?€ÿï?Àëï?€Ïï?ð?ð?ð?ð?€Âï?@óï?@¸ç?Àßî?€þï?ð?ð?ð?@iï?ÀDï?~í?Àï?€ï?îï?ð?ð?ð?ð?ð?@ÿî?Àvï?ð?ð?@”ï?ûÁ?¦Ì?Óê?ð?ð?ð?@Îï?€ì?@÷ï?ÀÔï?€þï?Àöï?ð?ð?ð?ð?ð?Àbï?ð?Àúï?Àýï?ð?ð?ð?ð?ð?Àÿï?@æí?ð?@ùï?@Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ýï?€!ï?€?ï?€æí?€‚ë?À}ï?­Ð?äç?÷ï?€ƒÐ?€…Ù?@ëï?@Ûï?í?˜·?@?€[Ñ?`€?~?t¢?²?l¡?^¹?€Û?Ê?Ð?@Vè?@í?¬î?ÀÙï?Ôï?@×ï?ýï?ð?Ûï?€ýï?€mî?@ÿì?ÀÀï?ð?ÀŽï?ð?ð?ð?ð?ð?Àáï?fï?£ï?ð?ð?€÷ï?ñï?À¶ì?€ÿï?Oï?ï?€Yï?ÀÕï?À¡ï?@âï?€ÿï?êï?ð?çï?@Ùì?€ëá?€CÝ?)é?Tª?à?èé?À0í?€8í?Àºí?€½ë?Àeì?@|ì?Àî?€-ë?@ ã?€ôî?À]ê?€Ùå?€{é?€ì?@Úï?Æï?€Íï?ëï?@îï?€Øï?€ ê?äÓ?€Ü?B?I?@¾à?€Oï?Àuí?@íí?Àžï?Àöï?Õï?ï?@Nï?Àºï?Àˆï?À¦í?ªî?ÀJï?ï?@ï?Žï?Iî?@Óë?@#ì?€«í?À.ï?@`ï?ªï?@nï?€Yï?@¾ï?@âï?¶î?€.ï?@ßï?þï?€”ì?ô´?V´?Àéè?Áí?ð?ð?@è?£?€mÙ?€­ï?ð?@áï?€ïï?Àcï?ð?ð?ï?ˆ’?د?¢ç?@Šë?@üï?ð?@ûï?Ïï?µï?ð?ð?ð?ôï?@ªî?À ï?ÀŒî?@þï?Oï?€»ï?@ªï?åï?@Nî?@—ï? ï?€¾î?@ï?ð?ð?Àoï?ð?ð?@Aï?€Úï?ð?@öï?€ï?ð?@øï?Àðï?@þï?ð?ð?@ýï?úï?ð?@âï?ð?ð?ð?ð?ð?@Êï?À[ï?Àæï?ð?ð?ð?ð?ð?ð?ùï?ð?ð?jì?@Pí?ð?Êï?À½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€†ï?ð?ð?€oï?@ ï?€Yí?ÿî?ï?À î?€zï?ð?@¤ï?Àªï?ÀÙï?ð?€Üï?€Äï?@Xî?ð?€Šï?Áï?ï?€åï?@mï?Àíì?œï?€rï?€ ï?@Üî?±î?Íï?ÀTï?@áì?Àáï?ð?@“î?Àóí?À·î?@Lî?€ï?ð?ð?ð?ð?ìï?ð?€¦ï?À„í?€Vï?ð?Àßï?‹ï?Àáï?€žî?€Ôî?ÀÎï?Ëï?Ðï?@øï?ð?ð?ð?ð?@Åï?€uí?ð?@ˆï?É?,å?@´ï?ð?ð?ð?ð?À´ï?Jï?(ï?À‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À½ï?@"ï?ð?@”ï?ð?@vï?€6ï?ð?ð?ð?ð?ð?ð?ð?ð?€Ùî?@‡ï?€ùï?ð?ð?/í?Ànî?€îÙ?À‘í?øï?â½?<«?À ï?íï?@´ë? ??Ì´? u?Ài?[?€Ñ?H˜?R?ļ?`‡?ð“?(?€lÕ? ¢?P“?€ÕÐ?€¦æ?óè?ÀGï?@÷ï?Àˆî?@Çï?€eï?wï?@÷ï?‹ï?ÀŒì?ì?@cï?€=ï?Àçï?ð?ð?ð?ëï?ñï?@ï?€…ï?€Ðï?ð?Àùï?@ùï?Àòï?@-ï?€Úï?ð?ð?·ï?™î?ýî?wï?À¶ï?ð?ð?€Åï?@ì?€mß?@ë?`à?ð¤?@»á? ï?@fî?Àí?÷ì?À î?@.ë?@ˆí?Àlì?í?€6í?·í?Fî?Ààé?€Õî?Àqî?À ï?€·ë?ð?@ôï?@íï?@ìï?@Pà?°‹?¶Ç?À¤ï?­ï?ë?@˜ï?Àï?€ëï?Àðï?€Ëï?üï?ÀÒï?@^ï?€Ñï?Àøï?À­ï?¿ï?€âï?€‰ï?À±í?@Ïï?€1ï?€éî?@®í?€¡ï?€ï?€¦ï?€ï?À´ï?@ýï?€ï?õï?€§ï?@î?lÅ?ˆ¬?Dâ?@6ï?ð?ð?Àaí?€Û?¦Ø?@­ï?ð?Àúï?ÀÝï?@Þï?ð?@Cî?ÝÊ?Q?€7å?Àí?À³ï?€¬ï?÷ï?ð?ð?ð?ð?€Áï?ð?@òï?@òï?Àõï?+ï?€íï?ð?@3ï?@åï?ð?ð?Àãï?€Áï?ð?ï?ð?ð?ð?€üï?ƒï?@Ìï?€ôï?ð?ð?ð?Íï?²ï?ð?ð?ð?ð?@äï?ð?ð?ð?ð?ð?ð?ð?ð?€¢î?@õï?ð?€ûï?ð?ð?ð?òï?ð?ð?ûé?@Âì?€@ì?Àþï?ð?@æï?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úì?ð?ð?@þï?À î?€cï?ÀZï?ð?@èï?ð?ð?Àõï?ð?@Ìï?ð?€ûï?­ï?@Wï?ÀÉï?@Êï?iï?€ªï?Qï?@'ï?@Åï?ð?@¢í?@¾î?èï?zï?@&ï?ví?@9ï?ð?€îï?ð?ð?ð?€‡ï?ð?ÀÂï?@üï?€Ôï?ð?@äï?Àþï?ð?€-ë?@œï?€ûï?€½ï?ð?ð?@øï?¤ï?èï?ð?ð?Àøï?ÀÛï?ð?ð?ð?ð?€Kë?@Ââ?ßÂ?À˜å?@”î?®î?ð?ð?ð?ð?ð?ð?êî?Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?Àlî?ð?ð?¶î?èî?ð?ð?ð?ð?ð?ð?ð?ð?ð?¾ê?ð?ð?ð?ð?€)ç?Àí?[Ô?Àûï?ð?p?À~ï?À~ï?ÁÚ? ²?<¨?]?(’?€8Ô?€áÐ?FØ?l¥?¤­?œ¿?>¿?Ž?>?€S?,?Àˆà?Àóî?€1ï?@ýï?@‹ï?À2î?@nï?ÿï?ð?€.ï?€hî?€"î?#î?ð?€íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?À”ï?@äï?ÿï?@âï?ÀÝï?@ûï?Àê?@Fî?@Îï?@gï?~ï?Àõï?øÝ?€Óî?Lí?}ä?€À?€ðï?óë?@[î?²í?@+ï?@Ðí?Àî?Àùí?€fæ?âî?î?ÀÚë?@î?‰ï?Àkï?€mï?Ýï?ð?ð?€óï?ð?ÀÀï?Àà?UÆ?©ä?À­ï?{ï?À/ï?@õï?µï?îï?@¨ï?@èï?ð?€×ï?ð?@Jí?À ï?€Äï?@¼ï?@gí?@øï?€uï?@ï?èï?€ëï?¹í?À£ï?ð?€’ï?Üî?@Ðî?ð?ð?ð?ð?@é?HŸ?¨ ?@è?@Øï?Àòë?€ÊÑ?ƒ??Bè?”ï?ð?@øï?ð?ð?€÷ï?À¥ï?Àæ?ÔÆ?K?-Ô?€¾ä?ÀEï?€ÿï?ÿï?@qï?€ûï?ÀŒï?@íï?ð?ð?@íï?€íï?€¶ï?€ÿï?ÿï?À’ï?4ï?êï?ÀÞï?@òï?€Áï?ôï?ð?ð?ð?ð?À˜ï?@,ï?ÀÆï?@ï?@Uî?ÀÚï?€üï?Àîï?ð?ð?À¾ï?ð?ð?Ààï?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?€åï?À÷ï?ð?Àjï?Àòï?ð?ð?€×ï?€Ýï?ð?ð?€ÿï?€ÿï?€ÿç?@8ï?€óï?Àâï?À×ï?@íï?€Ðï?ð?Àõï?Àòï?@çï?ð?ð?ð?ð?ð?ð?ð?ð?@Wï?€üï?ð?@úï?€÷ï?@óí?€fï?€,ï?@Èï?Dï?ð?ð?@÷ï?@ûï?ÀÐï?@íï?Àøï?À÷ï?@óï?À±ï?@õï?ÀÎï?€·ï?€ºï?€„ï?€·ï?Àùï?ð?À—ï?@ï?À!ï?§ï?€Çï?€dï?àï?€òï?@Üï?ð?ð?ð?ð?ð?ð?@;ï?À‰î?@Öï?@³ï?Àãï?ð?àï?€Ïï?@ì?@úî?ÀAï?@ ï?ð?ð?ð?@·ï?ð?ôï?Àøí?@èî?@1á?ð?ð?ð?ð?€Áè?@,ã?€÷é?€ï?@ï?€eï?@ýï?@óï?ð?ð?ð?ð?@ôï?ð?ð?@ôï?ð?Àÿï?Àÿï?ð?ð?ð?ð?ð?Àôî?ð?ð?ð?ð?ð?ð?ð?ð?ð?×î?ð?€½ï?@µî?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àiî?ð?ð?@úî?€ì?‹ì?€è?0?€ÍÙ?Àÿï?ûà?@Œç?ræ?fµ? ¤?~¹?€j?p”?ð¤?’?«?$??Ì?Éé?@Nï?ð?@üï?ï?À×ì?€Õï?óï?ð?¯î?@?î?@Þï?@£ï?ð?ñï?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?üï?Îï?üï?ð?Àþï?€µï?@úï?ï?Àýï?Àìï?@Íï?ï?@Ðï?À–î?ÀCï?@”è?@®å?@ïâ?€~ì?Àõè?¶Õ?€®ï?@¼î?À£è?€öê?€÷ë?}ê?€Žç?€Åë?@¢í?€âî?@qï?í?@Cë?íì?@žï?ÀÜï?ï?€þï?Ïï?ð?ð?Àêï?ð?À¦è?$²?€Ìä?@ÿè?;ï?ÀUî?Àëî?ÀÔî?Àwï?ÀMï?Àfï?ÀËí?@™î?€“ï?À³ï?Àêï?€Ïî?Àì?@qê?)ì?À¢ï?@¦ï?Àäï?Àbï?€ëï?ð?ð?@ñï?ÀCï?@¤ï?Oï?[ï?À„ï?ï?€Aè?€³Ü?€FÙ?ÀÎà?sÂ?Œ²?)Ð?î½?o?èŸ?QÇ?)à?@áê?ëï?ð?Àúï?@}ï?€Hß?˜Þ?@Yã?Àƒæ?Àëï?ð?@ýï?ð?¤ï?€Ôï?Àæï?€²ï?ð?€×ï?ð?ð?ð?@ûï?À÷ï?òï?ôï?@Äï?ÀÜï?éï?ð?ð?€ ï?ð?ð?ð?ð?@–ï?7ï?ð?ð?ð?ð?ð?ð?ð?ð?€úï?ð?ð?Yî?Àì?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?úï?€ãï?€öï?ð?ð?ð?@Àï?À€ì?€Þï?€¬ï?€àï?èï?ð?ð?@îï?ÀŒî?Ãï?ð?ð?@âï?ð?ð?ð?ð?ð?ð?@Îï?ð?ð?ð?@âî?€“ï?@ºï?À­ï?ñï?Àûï?ð?ð?ð?€®ï?@Ùï?€Öï?Àæî?€¾ï?@ùï?@ ï?@½î?©ï?€õï?€æï?€éï?€°ï?Àôï?@åï?ð?€úî?€Ûï?öï?@ìï?@ãï?@åï?ð?ð?ð?ð?ð?@õï?ÿï?ð?ð?@ïï?À§ï?€õï?ñï?çï?ð?ð?ð?ð?@ëï?Dï?ð?ð?ð?ÀÝï?@üï?þï?@ëï?À÷è?@-à?ð?ð?ð?ð?ð?Àdï?ð?¸ï?€¨í?ð?ð?ð?ð?ð?ð?ÀÒï?Àøï?ð?@óï?Àúï?@Íï?äï?€öï?ð?ð?ð?ð?€¯ï?À¨ï?ð?öï?ð?ð?ð?ð?ð?ð?ð?€Æï?—ï?€ í?€«ï?ð?ð?ð?ð?€Bï?Êï?ð?ð?ð?ð?ð?ð?@ûï?@üí?hî?ð?@ÿï?Õ?¨á?@ï?@Ræ?ʺ?У?`£?Á?ð? w? ¸?†ä?­ç?@Õì?€¤î?Qï?Àlî?À”ï?Àiî?@ßï?€çï?@ôï?ÀŠï?À ì?›ï?ð?ð?ð?ð?ð?ð?ð?Ýï?€¬ï?ð?ð?ð?ßï?@ÿï?öï?òï?î?Àêì?€ýï?€åí?@øï?Ýï?Àöï?ð?€àï?Àî?‚ï?€àï?Kë?\Û?@œí?ÀŽî?UÅ?¤ç?@xì?@iì?€`é?À]ì?À™ê?ÀÇë?€cé?€)ç?í?€Gî?Ñí?À0î?Ãî?@Àï?@öï?ñï?ßï?@·ï?Àúï?ÀQï?ð?éî?€óî?Àkï?Úï?@šî?@kî?ñë?‘í?€~ï?@<ï?€kï?Àç?@æ?@{ì?lî?€ßï?€ ï?@Üï?¢ï?€sì?@oí?8ï?@„ï?€Çï?Yï?@%ï?ð?@œï?@«ï?ÀÁï?ï?^ï?À‹ï?@dì?2Ï?€P?€Ò?€!æ?Öà?^?§Ü?Àåè?@Aí?ð?ð?î?Àsï?”£?ð?ð?€ñï?ð?ð?ð?ð?ð?@Jï?Àùï?ð?ð?ð?@õï?Àâï?@äï?Áï?@ºï?îï?ÀÌï?ð?ð?ð?€_ï?€zï?ð?ð?ð?ýï?ð?@Ìï?ð?€­ï?ð?ð?€ñï?À÷ï?ð?ð?ð?ð?ð?ð?šì?ð?ð?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?„ê?Àöï?×ï?€žï?€üï?@tï?@Õï?ð?€Ôï?ð?ð?ð?€¾ï?ð?ð?ð?ð?ð?@Šï?ð?ð?ð?ð?ýï?ôï?ð?ð?ð?@Gï?ð?Àïï?€ìï?kî?Àâï?¹ï?Àúï?Àï?À×í?@—ï?@zï?âï?Àçï?€–ï?âï?ÀŸï?ð?ð?ð?ð?Àï?Èî?Çí?@ï?åï?€­ï?ð?@ÿï?ð?ð?ð?ð?@ßï?@Ïï?õï?@ãï?Àšï?œï?ð?ð?ð?€´Ú?˜ï?ð?ð?€ñï?ð?ð?ï?ð?}ï?ð?€‹ï?Ôï?ð?ð?ð?ð?ð?ð?ð?€Xï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ð?À¦ï?Àìï?€ñï?ð?Ôï?ð?ð?€Üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pî?ð?ð?ð?ð?ð?ð?@âï?ð?ð?ð?ð?ð?ð?ð?@ñì?€œî?ð?ð?ð?\?œÐ?ð?ð?€f?@å?F? y?^ç?€qç?€Uá?jå?À9ë?€ší?ð?ð?€÷ï?@ï?ð?@6ï?ð?@gï?@Ÿî?€þí?ð?ð?ð?ð?ð?ð?ð?ð?@¼í?ð?ð?ð?ð?ð?€•ï?€aî?€ìï?ð?œï?Àêï?@ï?Àîï?@pï?ð?@ûï?ï?Àiì?@ãï?€Vá?qç?Tï?HÌ?î?ÀUí?¤í?À\ë?€Rê?@,ê?€·ç?À…í?€Ñì?€í?@‘ê?@wï?@ï?€~ë?Qï?÷ï?ÀÀï?@öï?ÀŒï?Àâï?@Þï?€ñï?€äî?ðï?€hï?@òî?€Çî?°í?#ï?‰ì?€þï?€ î?@$ï?ëç?ÀKï?ºï?À­ï?@ï?@Íê?@ôï?@3î?ÀŸî?€ ï?À´ï?€Èï?€£ï?€aî?âï?€üí?€[î?À¦ë?@ ï?@Aí?@uë?zí?ÍÐ?@ã?€ìï?À§?Àm?(?@mê?€ðï?€)Ð?ÐÌ?Î?kË?¥?€‘×?€ñï?ð?õï?Óï?ð?ð?ð?ð?ð?À8ï?ð?ð?ð?ð?ð?À÷ï?€úï?—ï?ð?ð?ð?@ûï?ð?ð?ð?À¬ï?ð?ð?Àöï?ð?ð?ð?ð?ð?ð?ð?Àèï?âï?Àìï?Úï?ð?ð?ð?@oî?€®è?ð?ð?ð?Àçï?ð?À÷ï?ð?8ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€×ê?€&í?Éï?õï?ð?ð?€ñï?“ï?@Zî?î?ð?ð?ð?€Üï?ð?ð?ð??ï?ð?ð?ð?ð?@ýï?ÀÙï?±î?ð?€ñï?ð?Ÿï?ð?uï?@öï?€Öï?Áï?ð?ð?ð?@Äï?ð?Àüî?€¹ï?ð?À˜ï?ð?€´ï?À ï?@·ï?@Öï?ð?ð?ð?ºï?ð?@¤ï?Àpï?€=ï?@,ï?@øï?Àìï?ð?ð?ð?ð?ð?ð?€ñï?€ïï?sï?ð?ð?ð?YÍ?@íì?€’î?ÀÎï?ð?ð?õï?ð?ð?ð?ð?Àyï?ð?ð?ð?€•ï?ð?ð?ð?€´ï?€&ï?À÷ï?Þï?@-ï?ÀÔï?ð?ð?ð?ð?ð?ð?Àìï?ð?ðï?Bè?@Óë?Ðï?€ïï?@Ëï?ð?Âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æî?À÷ï?ð?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?=ê?À+í?ð?ð?ð?ð?F·?ü¡?ð?ð?Ñ?°Ø?­?h¬?Àƒã?ßî?Xï?€è?ÀQä?@]ì?ð?€Æï?ð?€ñï?@£ï?ãï?Àçí?Àöï?@vî?ð?ð?ð?ð?ð?ð?ð?Ìï?@ëï?€mî?ð?ð?@•ï?€çï?Àçï?ð?ð?¿ë?ð?ð?ð?ð?ÀÎï?ð?ð?ÀÝï?ÀÚï?€ðï?í?@˜ë?ð?@ ï?€Eí?…æ?À©ä?@Bë?@ í?€Dé?@¢å?ì?€ƒê?í?€ƒì?€›Ò?€¿ë?À»ë?ÀHî?€Éï?ð?À÷ï?ð?ð?ð?ï?^ï?ï?\ï?@”ï?@èï?@ˆî?À6ë?€Ûê?Ùï?9ï?@‡ï?@Hí?€Ñî?€ºï?‘ï?ÀJè?Àçï?Þï?Úì?Pì?ãî?€Óï?ÊÝ?’Æ?¦½?ÿÁ?Â?/Ë?Â?±Í?€UÐ?¯Ê?oÃ?À,ï?@%á?tÓ?€p?›Ø?ư?$¹?n·?@í?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?€çï?ð?€úï?À…ï?ñï?€çï?ÀÏï?ð?ð?ð?Àýï?êï?ð?À‰ï?ð?ð?ð?ð?ð?ð?Àªï?@áï?€àï?€ï?€ÿï?õï?À÷ï?Àìï?ð?Àïî?Àíé?€cî?€ñï?ð?ð?ð?ð?‚ï?ð?ð?ð?ð?ð?ð?ð?Ànï?—î?À½ï?ð?ð?À”é?ð?ð?ð?@Ùï?@ìï?€Vï?€óï?Àÿï?¬ï?ð?€Mï?ð?ð?ð?ð?ð?@ÿï?ð?ð?µï?ð?ð?Àøï?ÀÒï?@çî?À„î?@óî?@`ï?ð?Ëí?À­ï?ð?ð?ð?ð?€ïï?€ï?ð?ð?ð?€£î?ð?ð?ð?§í?€Mï?ñï?ð?ÀÚï?ð?ð?ð?ð?ð?ð?žï?‘í?@Íî?ð?ð?@òï?@åï?ð?ð?ð?€ñï?€ñï?@–ê?ð?@Þï?ð?ð?þï?ð?ð?ð?ð?ð?ð?ïï?ð?ôï?ð?ð?ð?€hï?ð?ð?ð?Àþï?€ñï?ð?À÷ï?€ûï?ð?ð?õï?ð?ð?ð?Àìï?ð?ð?€Èî?€ï?@>ï?€Àï?ð?€Ñï?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýì? í?€¾ï?Àïî?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?´å?€úï?ð?ð?ð?ð?|¡?¤°?ð?À¢ï?Àì?$¹? q?@á?Àãî?Àˆï?´¼?€Úß?€8é?Àaï?€jë?ð?ð?ð?€ðï?ð?Àýï?ð?ð?ð?ð?ð?ãï?ð?ð?€ïï?Àÿï?ð?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?À3ï?ð?@¾ï?ð?ð?ð?ð?ð?€ÿí?ÀŸà?À@î?À¹ì?Çë?À€ì?Øë?bí?@Zî?€¬î?nÆ?Àìê?ãî?€÷í?€&î?@Øï?@©ï?›ï?À`ï?@Hî?À&ï?ÀÝï?€Šî?Ûî?@òï?€ñï?@¼ï?€7í?@£é?kì?Àï?€8í?€í?€Jï?@Uï?€oï?€òî?€}ç?Àbë?@»î?Àzï?@Ýï?@cì?@c?ZÕ?@ê?´Û?€¶Ô?êï?ÀÚæ?€£ç?À¹?IÎ?Ú¸?Б?t±?Ú?@Jé?@Ðï?@kï?@Ùï?ð?ð?ð?ð?ð?@éï?ð?€ðï?ð?€õï?ð?ð?ð?ð?ð?ð?@öï?@òï?@÷ï?€±ï?@¨ï?ð?Àõï?üï?ð?ìï?ð?Àãï?ð?ð?ð?€»ï?ð?ð?ð?€æï?þï?Àÿï?ð?€ÿï?Àšï?€ãï?ð?ãï?Þï?Àßï?Àùï?Àƒï?€¥ä?€Kã?€»ï?@þï?€ãï?ð?Àõï?ð?€Ÿî?ð?ð?ð?ð?ð?ð?ð?€þï?Àâï?9ï?@éï?€Óå?ð?ð?@í?ð?€Öî?€ ï?ÀÔï?À»ï?@Xï?ð?@Æî?€µï?€äï?ð?ð?ð?ð?ð?ð?ð?Àúï?€³ï?ð?ð?»ï?€bï?€Ëí?€Xí?@!ï?À<ï?@Üï?ð?@÷ï?ð?ð?@Ùï?ð?ð?Àøï?ð?@ÿï?ð?€Áï?Àôï?€ÿï?ð?ð?Àìï?Àöï?ð?Àýï?ð?ð?ð?ð?ð?ð?ïï?ð?À÷ï?ð?À­ì?@ ê?ð?ð?€üï?€àï?@œï?@õï?Ïï?@ÿï?ð?@eî?ð?@=î?€Óï?@râ?Àç?ð?@çï?Üï?”ï?Ëî?€ ï?@èï?ÀÍí?@óî?ð?ð?€Ìï?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?ð?ð?Àôï?ãï?@íï?€Zï?€Öï?@Æï?@ùï?ã?@ì?@Üï?@vï?ð?ð?ð?ð?ð?@þï?@»ï?Àûï?ð?ð?@ÿï?ð?ð?ÿï?€¿ï?Àvî?À3î?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?Ýè?vï?ð?ð?ð?ð?ð?ú°?bÈ?ð?¸ß?"Î?1Î?À£?€P?€?eÅ?õè?€Aí?é?ˆÎ?ÀÃà?€|í?€í?ÀÏï?ð?@ýï?ÀÈï?ð?ð?ð?ð?ð?@åï?@öï?ð?þï?@àï?ð?ð?Áï?€ñï?ð?@óï?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ÀÏï?žï?Àbï?€Öï?@ðï?ð?@õï?Àøï?ÀIí?oÕ?€Åà?·ì?þî?€Zî?€ì?@Ûî?‡ï?@Øî?@éî?€ë?€cì?@õî?À¿î?Àï?yï?€ßí?€Yï?@Ûï?@kï?œï?ÀÈï?Üï?ÀÝî?€Ùï?ýï?€˜ï?ð?@àï?€Íî?@î?€ví?€øî?Uë?&ì?Vî?@Lï?Àï?€Fí?@ºí?€Ìî?€Åí?ÀÑî?ÎÞ?É?‚¶?€ôÜ?€®ã?²à?<¥?øœ?‡×?À æ?€%Ý?@×â?€¿ì?@¿í?ÀÇî?À#ì? ç?À ê?1å?€\?™?ÊÉ?ÀRî?€Šé?ð?ð?ð?Àæï?€¬ï?ð?ð?ÀÞï?Àüï?€Ëï?@ðï?€xï?ð?@óï?ð?ð?ð?€ÿï?ð?ð?@òï?ð?Àoï?ÀÔï?€Üï?@ðï?ð?îï?Àøï?þï?ð?ð?ð?ð?ð?À“ï?ð?ð?ð?@þï?@Îï?@øï?@Øï?Àúï?ð?ð?ð?Àòï?ð?Àæï?€îï?€÷ï?ð?€Íï?Ní?€‰é?€¼ï?»ï?@õï?ð?ÀØï?ð?ð?@¨ï?ð?ð?ð?ð?ð?€nï?@—í?@òí?@í?€ßï?ð?ùï?üï?ð?@ÿï?ð?ð?@öï?ð?À;ï?ð?ð?ð?åï?‰ï?ÀÒï?ð?ð?@öï?ð?ð?ð?ð?ð?€–ï?Àòì?fï?—ï?@§í?ð?ð?ð?ð?ð?ð?ð?Eî?ð?ð?ëï?ð?À¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?@ïï?ð?ð?ð?@8î?Ví?Àæï?ð?€gæ?€âî?€ ï?Àþï?@íî?ðî?ð?@×î?ôï?ð?ôï?ð?@lî?€€ï?ð?€Öï?Àõï?Àëï?Àºï?@ºí?ð?ð?Àÿï?ð?ð?Àïï?ÀÔï?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ð?€ëï?ôï?ð?ð?€óï?@Qí?@Ôï?Àòï?€Æï?@ ê?€Åâ?›ï?€÷ï?ðï?ð?ð?ð?ð?ð?ð?ð?€ªï?ð?@ïï?oï?ð?ð?ð?ð?ð?@êï?ð?ð?ð?ð?ð?ð?ÀÔî?Úì?€ké?kí?îï?ð?ð?ð?ð?Àüï?P•?€äÝ?@Nï?¸?°?8?È? ‚?À§?!Þ?Àî?@Êé?Å?@îä?ð?òï?Àÿï?ð?ãï?ð?€—ï?€óï?€$ï?ð?®ï?@Àï?×ï?åï?Àúï?ð?þï?ð?ð?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?Àéï?€úï?@¼ï?@ï?@îï?@µï?ð?ð?Àùï?fî?ÀOï?ÀÆê?À—î?@aî?eæ?@Òî?×í?@Ðì?–ì?@"ï?@šî?@Éë?­Ø?€»Ó?€lÚ?@µé?€•ì?@Çî?@í?uì?@ï?Œï?€¨ï?Àrï?bï?Àûâ?@Rë?À9ï?•ï?€³ï?€Æí?]î?•ë?Àè?@Ãí?@{ï?€vï?ºë?mæ?¡î?@7ï?ð?@»ï?uÉ?–Ê?Àpæ?ÀÄî?±ï?ð?ð?Qã?€f?ØÓ?Àî?í?@œì?@Ìï?@˜ï?@Ûî?@6ì?Ó?fµ? Ì?€’Ù?@©â?º?:Î?€ï?ð?ð?ð?ð?ð?€öï?@ýï?ð?@Tï?ÀÏï?ð?€ôï?ð?€Üï?ð?ð?€ÿï?@ÿï?ûï?Àüï?Æï?@ýï?@wï?Àþï?ð?ð?Àþï?€ýï?€?ï?€öï?€øï?ð?ð?ð?ð?ð?ð?@ÿï?€§ï?@ùï?ð?ð?Àòï?ð?@þï?€ÿï?ð?Àöï?@Àï?€åï?ð?ð?ð?€ÿï?@Àï?Àöï?tï?€/í?@õï?üï?@üï?ÀËï?èï?€òï?ð?ð?ð?ð?ð?ð?@ñä?€£ï?÷î?€î?€Wí?ÀÁí?æï?ÿï?ð?ð?ð?ð?ð?@Ÿï?Àâí?ð?ð?ð?€Üï?€÷ï?ð?ð?ð?€ùï?€—ï?ð?€ëï?€àï?õï?€\ï?À`ï?@Ðï?ð?õï?ð?ð?ð?ð?ð?ð?ð?@´ï?¼ï?€éï?óï?Àùï?@Èï?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*æ?€„å?ÀVï?ð?À·ï?ð?ð?ð?÷ï?î?À€ï?@ï?@dï?@þï?@Œï?€ ç?@?ë?âï?ð?€8î?€àï?@Ãî?€ÿï?ð?ð?ð?@Cï?=ï?ð?€îï?@Ùï?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?ð?ð?÷ï?ð?€üï?@÷ï?€ûï?ð?Ãï?¼ï?€‰ï?ÀØï?@ï?€ï?Àïï?€0ï?Àÿï?ð?ð?ð?ð?ð?ð?ð?Ëî?ð?þï?½ï?€²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?€õï?€àí?úï?ð?ð?ð?ð?ð?÷ï?7Ù?ü¿?€þè?c?D¦?Qâ?€­Ù?X¼?À¢á?ð?ð?ð?ð?ÀŸï?çï?€£í?æï?€;ï?-í?@ßï?À™ï?@’ï?€Àî?€õï?@Uï?@ðï?@–î?ð?ð?ð?ð?€ÿï?@ëï?ð?ð?ð?ð?€Òï?ð?¼î?ÀÆï?€÷ï?€æï?€Ãï?Ìï?Üî?@¨î?ð?ð?@ýï?€§ï?@ßï?@1ì?€æî?ð?Àãí?@üí?¡í?¹í?Àí?@Ûî?tç?zÁ?t?€|Ö?@Üï?ÀÑí?À×í?€Eî?€î?Àßí?ÀÒî?'ï?~í?@xï?@lì?€cï?À&ì?€Bî?Àjï?­ï?€Nî?”ê?Àeì?Àî?@ï?€Õî?Àë?€nî?ñì?€½ì?€Ø?Ïä?€Øï?€†ï?€ÿï?@Áï?€£ï?À³ì?É?(?ˆž?Àmà?À:ï?€Úì?@ãë?žì?À.ï?Qî?@lî?€9è?Ê?€Z?´«?€ºã?âï?Àæï?ÀTï?@¶ï?Àòï?€úï?ð?ð?ð?Àáï?Ýï?ð?ð?@øï?@ÿï?@ëï?ð?õï?@¡ï?@ãï?@ïî?;î?ð?ð?€”ì?ƒï?ÀUí?Àcï?Îî?ð?ð?ð?ð?]í?šî?@¹î?Àçî?@9ï?ð?@¡ï?À¾ï?ð?Àüï?ÀÀï?ð?ð?ð?ð?Àÿï?€½ï?Àåï?ð?wï?@Åï?ð?ð?@Íï?ð?Àïï?Uï?À„ï?€âï?î?@üï?ð?€êï?ÀÀï?ƒï?@ÿï?ð?ÀÇï?óï?Àýï?ð?@;ä?€)ê?òï?äï?”ï?À÷ï?óì?À&ï?€ûï?ð?ð?ð?ð?ð?@öï?ùï?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?€Óî?€Òï?ð?€óï?ð?@éï?@éï?ð?ð?ð?ð?ð?ð?ÀÙï?€›ï?€ìï?€Åï?€îï?ð?üï?ð?ð?ð?€ýï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ºî?Àæ?€5Û?Òî?@;ï?€ôï?ÀÒï?ð?ð?ð?ð?²ï?€Üï?ð?À‹í?€ñë?@µè?Àï?@Ñî?óï?ð?ð?@óï?òï?îï?ð?ÀÅï?Àïï?ð?ð?ð?­ï?ð?ð?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùï?@ôï?€÷ï?ð?Àæï?ð?À¯ï?Àïï?À÷ï?@ê?€ýï?Àíï?ÀÕï?ð?ð?ð?ð?ð?ð?éï?¼ï?ð?@èï?Àúï?@øï?ð?ð?ð?ð?ð?ð?ð?Àþï?@åî?ð?ð?À¿ï?ÀÚî?@eï?@‘ï?@Øï?ð?ð?ð?€Yß?º?‚?Î?€Û?`t?À@ë?€îï?@±ï?ð?ð?ð?€úï?€€î?¸ï?ð?ð?èï?@íï?ð?ð?ð?ð?€ûï?Àõï?ð?÷ï?ð?@üï?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?ð?ð?ð?Àûì?ð?@êï?ð?ð?@êï?€àï?Àäï?€{î?zï?€âï?ÀÒç?øï?À³ï?Àƒï?@‹ì?ûï?]í?€#î?€ñï?ÀHï?@ìï?@:ï?À•é?€Õá?`ã?€´ä?€lÒ?iÖ?€XÚ?@Zã?@Áæ?›î?Àé?Ûì?€*î?@aî?¿î?¾î?@™ï?@êì?Àî?À»ï?ð?€7ì?@iï?ð?@Qî?ð?À7ï?@¤ê?€Ðî?ÀÜî?€Pï?÷î?À[ë?Àøï?@ñï?€”ê?Ä?QÊ?E×?Àe?@îë?ÀCâ?Êã?dÏ?ð?ð?ð?ð?ÀŠï?@qï?ð?ð?ûï?€Óï?Óï?Àôî?úï?óï?€Øï?@×î?€Tï?€£ï?cï?€bê?ð?ï?€®ä?Ï?é?ð?ð?À°ï?€Øï?éï?@ëï?Àªï?zï?@Úî?ð?õï?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?@Þï?€í?€&ì?@ì?Ò±?2?ì¦?=ã?€¤î?Þï?À_æ?†?´¢? ›?h?@÷å?@Vï?€Uï?ÀÝï?ûï?ð?Âï?Úï?ð?ð?€Üï?€Cì?ð?@ÿï?ð?ð?@×è?€žÔ?è¾?€m?€t?À1á?ð?ð?ð?ð?ð?ð?ð?ð?@Zï?®?°?0µ?¦ì?ÀŸî?@ï?Àï?Hï?€™ï?Àîï?@óï?À÷î?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ð?€×í?,·?Àé?€ôï?ð?ð?@õï?ãï?À¡ï?ð?ð?ð?ð?ð?Àï?Tí?@ýï?ÿï?ð?ð?ð?Àuí?À¦ï?ð?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?ð?ð?Àé?@Uï?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?@öï?ð?@þï?ð?ð?ð?€üï?ð?ð?ð?ûï?ð?ð?Ùï?]ï?€ïï?ð?ð?ð?@óï?çï?úï?Àçï?@&ï?€sì?>î?@ªî?ÀÛì?€‰î?€ÿï?€ÿï?ð?êï?ð?ð?ð?Àèï?Íï?ð?Jï?€üï?ð?ð?Àëï?ð?ð?€Tß?`|?°„?ð‘?@b?€Q? v?+Ì?$®?b±?8²?Àï?€üï?Àvï?€€ï?@Áï?ï?€÷î?Àðï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?ð?ð?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?mï?@î?ð?ð?€Êï?@÷ï?@=ï?À}ï?€Êï?ï?@éï?À¸ï?€2ï?Çï?€Àï?@ï?üï?@éï?€_ï?€"ï?hï?À÷ï?@ýï?€ÝÑ?¸?ì¨?‘È?å?Ì?°‚?ê¿?ã×?ÀÂ?€Væ?ï?Üî?€‘ì?€“í?Àòí?•î?ïí?@ï?À3ï?@‹î?Àqí?@Æî?@õï?€æï?€"ï?À4ï?@eî?€´è?À€í?Œï?€dë?øí?À,î?€<ë?Àí?€éâ?-î?À9î?€xé?@‹å?¤æ?À“á?€6Ø?Ђ?•Ð?äï?ð?ð?ð?€¼ï?À”ï?ð?ð?½ï?ùï?€æï?ð?ð?êï?@†ï?€jí?À î?ûí?@ï?@’î?€tï?@¨ì?°? „?€í?×?Àœî?ð?ð?@ùï?ð?@Ûï?Àäï?ÀNï?Àªî?@¶î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Üï?À ï?€‡ë?ÀUê?€Ûè?|º?ÀNê?ùï?@­î?€4á?€xç?.È?€>ß?kï?ï?ÀŽê?€ ï?€Üï?ð?€Êî?ð?ð?ð?€Ûï?ð?€âï?€ˆï?Àúï?À}ï?3Ø?€l? †?l­? Ä?@÷ì?@Dï?€Žï?Àýï?ð?ð?ð?ð?ð?ð?ð?Àwè?€—?7Å?"Ù?@Jï?•ï?ð?ð?Àûï?@pï?ÀÃï?ÀÖï?ïï?@ýï?üï?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ÀÑé?ÀØî?À~ï?À;ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?øî?ûí?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?@ôï?ð?ð?ð?Àþï?ð?@÷ï?ð?ð?@óï?ð?€÷ï?Àôï?ð?@÷ï?ð?ð?Åï?½ï?@…ï?À‡ï?@kî?€8î?ÀVí?€3ï?@îï?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?À´â?¶Î?@¹ë?@üï?ð?ð?ð?ð?ÈÙ?¥?R°?ŽØ?@Lä?$?$?€$Ö?ˆã?l½?€lÒ?ð?ð?ð?Àñï?ð?ð?Àÿï?@ÿï?ð?ð?ð?úï?€öï?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?@ÿï?ôï?¦ï?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}ï?@9í?ð?ð?ð?€ûï?€Mï?cï?€šï?‡ï?ÀHî?Àvï?@¶ï?Eï?€óï?@ýï?@¥ï?€ýï?ð?ýï?€éï?€ïï?€óä?³?@¡? ¿?€§ç?@óï?“ï?€¬Û?ÏÆ?(’?x¶?À­è?@‹î?€dî?Àüî? ï?À"ï?@.ï?lï?@[î?ÀÆî?yì?€çî?À²ï?@Iï?@ôî?À%ï?Ãí?€ñî?€àî?€î?Àwê?á?Ÿâ?ÒÐ?€sÒ?@šâ?@¸ä?Xî?Þï?@åî?€Dâ?ÇÃ?€ûÕ?@ê?ªï?ð?ð?ð?@óï?€ªï?±ï?€ùï?@Ýï?ð?ÀÖï?@åï?ð?ð?ð?Àâï?ð?@Xï?Àéï?ÀÓï?î?@–?â¼?,Î?Àè?ð?ð?ð?ð?ð?@Ýï?€æî?@£î?À|î?!î?Àxî?Üî?@Lï?ð?ð?ð?ð?À—ï?€ýï?@Ýï?€~ï?Àï?€çà?œÌ?€xæ?…î?XÎ?€v?¡? â?ð?Sï?ÀÖï?ð?ð?ð?@ðï?ð?ð?Àöï?ð?Àùï?€èï?ð?Eâ?:?BÓ?€¥Ô?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€uã?€R?€Ú?€Fî?ð?ð?ð?³ï?@‡ï?€cï?@9î?ð?ð?ð?ð?ð?ð?ð?ð?@­ï?Ñí?ð?ð?ð?Ýï?ð?ûï?@½ï?øï?ð?ð?ð?ð?ð?ð?Ïè?ð?ð?@Fê?ð?ð?€ãï?ð?€åï?ð?ð?@ðï?ð?ï?€„ï?@Ùï?ð?ð?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?€àï?Àéï?ð?ð?ð?ð?€õï?@Ûï?ð?€¥ï?@Êï?@‡î?€÷î?ð?@ëî?€Ìî?Îï?ð?ÀÜï?ð?ð?ð?ð?ð?ð?8ì?€Bß?ð?ð?ð?ð?ð?è?Ž?ð?€Lá?”Å?+Â?ħ?ð?ð?ð?À÷ï?æî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ÀÔï?À¾ï?ÀRï?ð?ð?ð?ð?ð?ûï?ð?ð?ð?ð?@Üï?ð?ð?ð?ð?À*ì?ð?Àüï?ð?ùï?€Íï?‚ì?×ï?ð?íï?€Þï?€ï?Àåî?Àqï?À î?ð?@šï?ð?@Ÿï?ð?ð?ûï?À‰æ?E?þí?@üî?@óï?@¿ï?À9è??©å?¢´?€“é?€ì?ÀØî?|í?À‘ï?€²î?€Œì?@ ì?Àƒî?€õï?ð?@Ÿå?ð?@Ýï?@ðï?Æì?À_ï?fï?€íî?À#ë?@Bì?wÚ?n±?~ê?zï?€Ëë?€­é?€Ö? º?€çÛ?À[ï?€üï?€õï?ð?ð?ð?ð?ð?ð?@ˆï?ð?@Rï?€ÿï?ð?ð?€zá?ßÊ?@qæ?@µï?ð?ð?ð?®?Àw?‰Æ?ƒí?ð?ð?ð?ð?¼ï?@¯ï?ð?ð?À÷ï?ð?€¤ï?@Íí?ð?ð?ð?ð?ð?Wï?ì?Àbì?@±ï?&¸?<´?Dª?=Î?äé?ð?ð?ð?ð?ð?ð?ð?Àõï?ëï?ð?@þï?@ ï?ç?(¦?mÖ?À›î?ÀÒï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚é? •?ï?ð?ð?ð?ð?ð?ð?ð?hï?€§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?@óï?ð?ð?ð?ð?€íî?ð?ð?ð?ð?ð?ð?€Êï?ð?ð?ð?ð?ð?ð?ð?Ãï?@Âï?þï?À;ï?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÈï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?Ààï?ð?ð?ð?ð?ð?€àï?ð?ð?ð?ð?ð?ÀÖï?€öï?@üï?ÀÆï?ð?ð?€öï?€}ï?ûï?ÀÑí?Àæï?ð?Àlï?ð?ð?ð?€úï?ð?ð?ð?@öï?ð?€ôï?ð?ð?ð?ð?À¡ë?@™?TÍ?Dï?ð?õä?æº?€/Ó?;É?§À?p¯?›Ç?ð?@åï?ð?¢ï?Àåï?ð?ð?ð?ð?ð?ð?€öï?ð?üï?ð?ð?ð?ð?Àåï?ð?ð?ð?Lé?ð?·ï?ð?ð?ð?À£ï?ð?ð?ð?ð?€óï?ð?ð?ð?ð?€÷ï?€jï?¢ë?ð?ð?ûï?î?@õï?@Ëï?€õï?ð?Àaï?€ˆï?@ïï?@1ï?í?ð?@³ï?Àæë?€ûï?€ ì?€±î?€Ùå?™Ñ?Àüï?ð?Ýï?Àáï?žÓ?€c?ÙÝ?ð?—ï?¼ï?ôé?Pî?À–î?ÀËì?@\è?À¶æ?Àï?Þï?¬î?Àèï?@“ë?ð?Îï?€äï?Hî?À í?Àâí?ôØ?SÉ?à?À#ê?@¢í?€Êí?”¨?(§?hç?ð?ð?ð?@Bï?ð?ð?ð?ð?yï?ÀMï?ð?¼ï?Àìï?@Ùê?€4Û?€Ù?ð?ð?ð?À,î?ÌÔ?D¢?³Ù?ð?ð?€ï?ëï?ð?@õï?ð?ð?ð?ð?ð?@–î?€¯î?Àõí?gî?@ í?î?)ï?ð?€þï?íï?`u?@~?€šé?ð?ð?ð?ð?ð?íï?ð?Àúï?€áî?Àÿï?ð?ÀŒï?@]è?O?×Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üï?@×å?@˜ã?›Ê?Àœì?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7ï?@î?ð?ð?ð?Àýî?À‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?€üï?€7ä?@¢å?€Åî?€Ýî?@%ï?¡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€ùï?ð?ð?ð?ð?ð?ð?ð?@yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?Xï?ð?ð?@ðï?ð?ð?ð?ð?ð?ÿï?À ï?ð?ð?àï?ùï?ð?{ï?£î?@Ïï?ï?ð?ð?ÿï?@¶í?ð?ð?ð?¬ï?6ï?ð?ð?ð?ð?ð? ¼?@è?€æï?ð?ð?Àcï?ÀÒç?½Ì?d»?`r?–?tØ?€½î?€Ðï?ð?âï?€‹ï?ð?ð?ð?ð?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?€8ï?ð?ð?ð?ÀÂï?ð?ð?@Lï?ÀÒï?ñï?Öï?ð?ð?éï?€Sì?ÿï?Àhí?@Æï?@<ï?ùî?H½?@Iæ?ð?€Ëï?ð?€Nê?€Eß?·ë?€´ì?ð?†ï?Àùï?@¢å?€«Ó?ÉÅ?WÉ?„?úÝ?ð?€Aï?aï?@xï?µï?ð?èï?Àsë?‹î?Àkå?€¦Ð?à‹? ß?@»ì?éÎ? ‹?€hÓ? ?à{?~ï?ð?ð?ð?ð?@òï?ð?@Õï?€)å?н?˜Æ?Ì×?í?€õï?€ß?P„? œ?€:ì?ð?@Žï?@Ûï?ð?€=î?—?¨¡?ÑÓ?À2ã?ëï?ð?ð?€Äï?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ð?€þï?ð?Àèï?Àà?8¹?@e?€ZÔ?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?Àkï?€^ï?ñï?Àˆë?@b?€ŒÕ?ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?€jï? ê?€Þí?À[ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?tî?´ï?Àûï?ð?ð?^ï?€Xï?ð?ð?ð?ð?Àfï?ÀÎï?ð?ð?@òï?ð?@ñï?@þï?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•ï?@¯ï?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ãï?Ànî?ð?@Òï?@î?€mï?ð?ð?@øï?ÀVï?€eî?€Íí?€!î?€;ï?@‡ï?Àïï?þï?ð?ð?@kî?ÀÞï?€»ï?€åï?wì?ð?ð?ð?ð?ð?ð?ð?€·ë?àé?€ùï?ð?ð?ÀÏí?€ Ñ?Y?ˆÎ?aÅ?Àhï?Àòï?Àëï?ð?Àšï?‚ï?€¯ê?¼»?è?@‰á?Ÿï?€þï?ð?ÀÒï?®ï?Àóï?öï?ð?À(î?Àüï?ð?ôï?ð?€ï?Àþï?ð?ð?@“ï?ð?ð?ð?@þï?Àêï?€Ùï?ð?ð?@šï?€€ï?Àbï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?@ÿï?€ûï?ð?€Òï?€ìí?@÷ï?ð?ð?ð?ð?€éï?€%ï?@®ï?ð?÷ï?ð?ð?ð?@¥ë?ð?ð?Êï?-ï?€½ï?€_Ô?š¿?@·ï?ð?€ñï?Àøï?@§ï?ð?ÀIè?Ħ?Àèí?ð?ð?Àíé?)À?€Ú?€Ùà?eÓ?ãÑ?@ç?ë?€Úï?×ï?€xï?@|ï?@ãï?ìï?ÀÒî?€í?@‹ï?ÞÌ?Ö³?|£?ê?I? ¢?¦¶?_?€?®?X¸?€à?Àêï?@Zï?”ï?ð?ð?(»?A?¼¡?ºÅ?ÙÙ?€Öî?¡ï?€Àï?ð?ð?ð?€èï?ùï?ÀÝï?ð?ð?@öï?Àúï?Öï?ð?ð?ð?æï?Ⱦ?>?¯?ß?@<ï?ð?ð?ð?ð?ð?ð?ð?€èï?ìï?@aî?èÃ?@€?€ Ó?€2å?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ï?‹ï?@hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€°í?ð?Aï?ð?@ñï?€î?ð?ð?ð?ð?ð?@ôï?@ôï?ð?ð?ð?ð?€jï?€Ëî?@ÿï?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@÷ï?ð?ð?@ãï?€„ï?ð?ð?ð?ð?ð?@òï?ð?ð?€Ïï?@Êï?@¨ï?@öï?ð?ð?ð?ð?ÀÏï?€½ï?‹ï?ð?ð?@òï?Àöï?€¤ï?@÷ï?@¯ï?@tï?Àîï?ð?Àþï?€Çï?ð?ð?ð?ð?çï?ð?€ëï?¿Ë?^È?@þä?kë?(à?¦?³?Qì?€âí?ÀÈï?€¿ï?ð?À­ï?€UÞ?€@×?4¼?W?qé?ð?ð?ð?@Úî?€+ï?€Òï?@Íï?@îï?ñï?€€ï?ð?±ï?ð?€Õï?@+ï?öï?€ÿï?@Íï?ð?€·ï?ð?ð?æï?ð?€ýï?À ï?@âï?Öï?ð?ð?ð?÷ï?ð?ð?ð?Àþï?ïï?Àöï?ð?€ÿï?@ýï?úï?€ëï?ð?À¿ï?@¥ï?@xî?@˜ï?Àáï?ð?ð?úï?ð?ð?@íï?ð?ð?ð?€¢î?ð?ð?@Œî?@çî?À5ï?€=Ö?€f?€Nì?ð?ð?ð?ð?ð?@Sî?À:ë?ð?ð?Èï?@(ç?€dã?À"ë?@ûï?Àqï?@#î?î?ÀQï?ÿï?Êï?€~ï?Èï?@Ìï?Àãï?@ï?€¬ï?@Œã?Àc?€?Àˆê?Þï?€oï?€öï?€éï?@Øï?€»ï?@÷ï?Lï?€Õî?Àï?€lï?@Òï?@×ï?À²ï?óï?ÀÜï?€Ñï?Òï?€ûï?@ùï?À.î?f·?<¾?7ì?sÛ?€_?Àv?Ùà?Àöì?ÀÎï?@Õï?ÀÏï?@uè?ð¤?€X?Àk?Ö²?€Eâ?€Âî?@ãï?€òï?ð?ð?þï?€ùï?À÷ï?À6ï?€ðï?ÀÅï?Îï?ð?öï?€èï?À†æ? s?@ä?ð?€”ï?Àøï?ð?ð?ð?ð?ð?ð?ð?öæ?N?Œ?Àì?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?€ßï?€¹ï?@žî?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àžî?ð?€ßï?ð?ð?€•ï?øï?ð?ð?ð?ð?ð?ð?Àôï?@î?€vÝ?WÃ?«?€0ë?Àúï?ð?ð?ð?ð?ð?€úï?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?€ í?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?Àöï?ð?ð?@ûï?@óï?ð?ð?ð?ð?ûï?Àöï?ð?òï?ð?€Êï?{ï?Àìï?òï?ð?ð?ð?€šï?Àªî?€àï?ð?€ÿï?þï?@ïï?Yï?èï?À|ï?ð?€ôï?Àóï?ð?@÷í?Àïï?@åï?ð?ð?ÿï?€_è?”¾?N??G?i?À,ë?€@Ó?à?ÆÊ?À‰æ?Àâï?€ëà?˜å?ð?ð?ð?À1ì?@ýí?@ôï?@Ùî?@­ï?ð?ð?ð?€þï?@äï?ð?€ñï?]ï?ð?Àòï?À·ï?@çï?ð?ð?ð?ð?ð?ð?úï?€úï?ð?ð?@¶ï?ð?ð?€ïï?@ìï?ð?öï?Àþï?ð?ð?õï?€šï?Àúï?Àÿï?€úï?þï?ð?ð?€ôï?ð?ð?¿ï?ûï?ð?€ÿï?ð?ð?ð?Ààï?@ï?ð?ð?€öï?@÷î?€8Ñ??@Kê?Ôï?ð?€þï?ð?€Ãï?Ñ?µî?È×?²¿?©Â?, ?€sâ?Àòï?ð?€Öï?€`í?Öî?ð?ð?Àýï?ð?ð?ð?@Îï?À¿ï?@¢ï?K×?`q?–Ì?€Ëî?}ï?Ànï?ÀÐï?Àûï?@ÿï?ð?ð?€ûï?ð?øï?@Øï?~ï?xï?¡ï?ð?@ï?‘ï?ð?@Oï?Ànï?@º?D¼?@ ï?€‡Ñ?ÛÓ?Àî?ÀÔï?ð?@Ðï?€ñé?NÑ?1Ç?Ћ?C?€¯Õ?€Úì?À|î?ð?ð?ð?ð?ð?@úï?À|ï?ð?@œï?€zï?€þï?ð?@Þï?Žº?<¤?üÙ?€Ü?Ø×?€]ß?ˆ?€þÓ?@¸ï?ýï?ð?ð?ð?€Çï?ð?ð?ð?ð?ùï?ÝÜ?RÎ?ð?ð?ð?ð?ð?ð?ð?ð?€eè?À1í?ð?ð?À÷ï?@Âî?À“ï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àsî?ð?ð?€õï?Àüï?ð?ð?€¦ï?€ãï?€}ï?ð?ð?@Ãî?À¿í?€øï?Àï?@<ê?)ì?Àåï?À÷ï?ð?Àöï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™ê?@€ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ýï?€«ï?ð?ð?ð?ð?ð?ð?ð?ð?@õï?@üï?ð?ð?ð?@ùï?ð?ð?ð?ð?ùï?Àýï?ð?@éï?úï?€ùï?@ýï?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?Àÿï?€¯ï?ÿï?ð?€ùï?€µî?ð?Óï?ùï?ð?ð?ð?@ñï?ð?ð?Få?œ?ø°?@Iá?€ç?z¹?ð„?ÁÏ?tµ?ŽÚ?ð?ð?ð?Àþï?·î?€Ïï?ð?@¯ï?À÷ï?Àóï?ð?ñï?ð?ð?Àìï?ªï?@þï?Àïï?ð?ð?ð?ð?@ê?Àÿï?¿ï?Àùï?ð?ð?ð?ð?@ùï?ð?€úï?€ÿï?€ëï?Àãï?Àþï?€ìï?ð?ð?ð?@ûï?€ùï?ð?€áï?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?Àþï?ð?Õï?@Lí?ð?Àþï?€þï?@ä?€ÀÕ?@¾ï?Üï?€óï?€Øï?€üï?@ïá?iß?þ»?Z?z¸?€²Þ?’ì?€kï?@ˆï?ð?ð?Àýï?ð?ð?€ñï?€÷ï?uï?€Ýï?ð?€ýï?µï?¢ï?@³ê?´§?à›?¾Ì?@¥ï?€Lï?À ï?Àšï?Àòï?À?ï?Àýï?@æï?ð?ð?@*ï?ð?@lï?Àúï?±ï?€¼ï?ÀÞï?ð?ð?né?EÍ?žå?ÿÏ?@4î?ð?ð?ð?ð?@_ï?@l?uí?ð?@˜ï?ð?ð?Àéï?ð?ð?Aï?ð?Àrï?@«ï?ð?ð?ð?Àyå? q?@„?À3â?À¨ï?ð?ð?ð?ð?€^ç?ÀÛæ?G?À¯ã?ð?ð?õï?Àî?ð?Ààï?ð?ð?ð?ð?ð?ð?×?€d?€¬ï?Õï?ð?ð?ð?ð?ð?ð?ýî?Àáï?ð?Àï?ð?¿î?ÀÌî?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ní?ð?ð?ð?ð?Àéï?Àóï?ð?Àuï?Öî?ð?¸ï?ð?€Žï?À0ï?ð?ð?Àéï?€÷ï?ð?ð?ð?ð?ð?ð?Ìï?@6ï?ð?ð?ð?ð?ð?ð?À?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?ÀÅï?@Íï?@®ï?‚ï?@|ï?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?@¾ï?iï?ð?ð?ð?@óï?ð?ð?€ÿï?ð?í?ð?ð?ð?ð?ð? ‘?€_?€pá?ä¹?óÂ?À›?ð?Àöï?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ìï?ð?ùï?€õï?ð?ð?ð?ð?Àië?€=î?Àwï?ð?ð?ð?€ìï?ð?ð?ð?ð?ð?ð?ð?ð?À¡ï?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?€ïï?õï?ð?ð?ð?ð?ð?À¡ï?ð?ð?@ðï?€Èï?@öï?çï?ð?ð?€üï?€õï?€å?@ï?À¤ï?æï?À¾ï?ð?ð?€Ðå?êË?£Ò?@xâ?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?ð?ð?ð?ð?ð?À·ï?À4â?€}Ö?mÃ?@ƒ?ð?¿î?ð?ð?€²ï?@îï?Àöï?ð?€ÿï?€óï?ð?ð?@¥ï?²ï?À.ï?ÀPï?qï?ÀÈá?€‡Ð?…?„?€ÒÜ?®Ë?¬?ÕÉ?Àî?ð?ð?Ànï?oì?@á?Às?€äï?ð?@³å?ð?ð?À”ï?@òî?ð?ð?@;ï?€£í?ð?Àìï?ð?€…ê?@;ã?ÀÂæ?ÀÐå?Îã?€Tå? Û?Lí?ð?ð?ð?ð?ð?ð?ð?ð?@ì?€ä?€wÚ?T¤?-È?€Ú?p¶?Ó?€çç?ð?ð?ð?ÀLë?€´ï?ð?ð?ÀŠï?€íï?ÀÔç?ð?€ðï?ð?@ñï?À¡à?€é?@^ì?ð?ð?ð?€ ï?ð?ð?ð?ð?ð?ð?ð?ùî?@ùí?³í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóã?Àãí?Àsï?ð?À´ï?ð?€áï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Sï?ð?Àðï?ð?ð?ð?ð?ñî?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?€áï?ð?Àýï?ð?ð?ð?ð?ð?@üï?ð?ð?ýï?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õï?€‹î?ÀEï?ð?Œï?@Œï?ð?ð?@Fî?€éï?ð?ð?ð?ð?ð?@üï?²Ú?€mÛ?ð?ð?ð?ð?Æï?ð?ôï?ùï?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?qî?Æ?@*ì?ð?ð?ð?€9î?ð?ð?ð?ð?ð?€õï?@üï?ð?@Ýï?ð?ðï?ð?ð?¥î?«ï?€Öï?ð?ð?@¾ï?ð?ð?ð?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?@Dï?@äï?Yï?ð?ð?€üï?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?÷ï?ð?ùï?ùï?@Àë?ûØ?¯Ô?°¼?Àp? ?@o?pï?ð?ð?ð?€ðì?óï?ð?ð?ÀÖï?€‘ï?€Öï?ð?@Çï?Óï?Àï?Àêï?À׿?é?@ï?À–í?ï?”î?ûï?ð?ð?ð?ð?@öï?@Áï?ð?ð?ð?ð?ÀLï?ð?øï?€çï?ï?@¹ì?€±Þ?€<Õ?h½?€øî?ð?ð?ð?ð?À×î?ð?äï?€¸ï?@ñï?´î?²ï?ð?ð?@×ï?Àî?Pƒ?v¶?€DÝ?fï?€Fë?€rç?Vï?@!ï?"À?ðÎ?@,è?r·?ÿæ?ð?ð?€úï?À]í?€Qè?®Ï?€ÉÙ?Ç? v?°Í?À‹ç?À–ì?@¤ç? é?@ç?Àï?@ ï?ð?À£ï?@Fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sï?@$æ?ð?ð?ð?€ïï?ð?@÷ï?€&ä? Ê?p?=î?ð?ð?ð?ð?ð?ð?ð?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?üì?ð?Ýï?ð?€àï?ð?ð?@îï?ð?ð?@Zï?@ýï?dî?€aî?Àí?ð?ð?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?€öï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çî?ð?ð?Tï?Àäï?Ààï?€Âï?gï?@‡ï?@0ï?ñï?Àêï?ð?úï?ð?ð?Àï?Àöï?vï?iï?À²ï?ð?ð?Àºï?@á?á?íï?Àï?€ªî?€îì?Èí?À5ï?€ ï?À÷ï?ð?ð?€Íï?€ìì?Aï?@¾î?€îï? |?€!Ó?Ú°?ã?€”ë?Àqâ?@r?@ûï?¡í?4? Ò?êï?ð?€õï?ð?€ƒ×?H¤?À?~Ì? Ü?ÀTî?ð?ï?ð?ð?ÀÎï?ð?ð?À‰ï?zï?Àïï?Úï?Àgî?î?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?À¼ï?ð?ð?ð?ßï?ð?ð?@Úï?@Ùï?ð?€îï?ð?ð?Ëì?И?Ú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¿ì?@Àí?ÀEî?@úï?ð?ð?ð?ð?À>ï?€çï?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?@¹ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ÿï?ð?ð?ð?cï?ð?@¨ï?À¢ï?@‘î?ßï?ð?õï?€vï?ð?óï?ð?ð?ð?ð?@ûï?ð?ð?ð?Uï?Šê?]ì?¶È?ìÔ?óë?tÃ?I?ø“?ç?ßï?ð?ð?Š?fé?üï?ÀÛï?Bï?@Ëã?ð?ð?ð?mï?€äï?Ýï?<ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?À×ï?õï?ð?çï?ð?ð?ð?ð?ð?ð?@Éï?ð?€ßï?€ïï?ð?ð?ð?ð?ð?ð?óï?@ýï?Àóï?ð?@ï?ð?ð?@œí?@Éï?›ï?€üï?À>ï?ÀÃï?€éï?ð?ð?Àî?ÀCï?íï?ð?ð?@×ï?ð?ð?ð?ð?ð?ð?ÀÌï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜï?ð?ð?ð?õï?@‘æ?À3ë?€mÛ?øì?„?@zï?@çï?zï?Úï?ð?Üï?ð?Tì?ð?@êï?òï?ð?ôï?€øï?À—ï?@xï?0á?€U?Ø™?Щ??æ°?ŒÏ?Í?€6Ñ?”?Z?€n?ÂÁ?¨ì?€èï?ð?ûï?@Pê?¸?@d?@@ì?Àëï?À¹ï?ÃØ?D?ص?@†í?€€î?ð?@öï?ÀŽï?€Ûï?jë?@ñï?€yï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?Àýï?ð?ð?üï?ð?ð?ð?ð?ð?ð?Àóï?€åï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?@Öï?@šï?ãï?@µï?ÀÉï?ð?@yï?€Ðï?Öï?ð?ð?Àþï?Àäï?ûï?Àûï?@…í?À5ï?Àíï?åï?@êï?€ÿï?ð?@Ïï?Êï?ð?ïï?Àúï?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àaï?À€è?ãã?€gí?ÐÀ?¨Ÿ?à~?SÌ?ˆÜ?Ànê?Þï?À|ï?@•ï?þï?ÀÅï?Àï?Dï?ð?@üï?€÷ï?€áï?ÿï?åï?@Åï?Àõï?2¼?m?]?€_?ž?è¿?À&î?,Æ?@`?€ýÓ?4Ú?Àæ?À~å?§ê?Þè?Ÿæ?8¢?X’?Õ?ÀLà?@ î?€Ìï?Àdï?@ßï?„ï?ð?Àaï?@‹ì?À&í?@üï?€Âï?Àèì?À ï?ð?Àæï?ð?ð?ð?ð?@éï?@€í?@ î?Àí?€Ïï?ð?€®î?ð?Jî?À}â?€Éê?Ûï?ð?€.ï?€îï?ð?ð?ð?ð?ð?€T×?ÀCã?ð?ð?ð?ð?ð?ð?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?€Íí?@çï?€ùí?€ýï?ð?ð?€þï?À‚ï?÷ï?+ï?@þï?ð?ð?ð?ð?ÀTï?€Ðï?Àðï?@Ëï?ÀÖï?ð?ð?ð?€¥î?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÇï?ð?@·ï?Àÿï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?€•î?@5ê?ð?ð?ùï?ð?ð?ð?ð?ð?€Àï?ð?ð?@âï?ð?ð?@kï?íî?€òï?€öï?Ôï?þï?¸ï?Àõï?nï?ð?ð?ð?ð?ð?Àúî?@Ìï?ð?ð?ð?ð?€ôï?€=Ð? ? ?G?@»á?ûî?@ï?Àòï?ãï?ð?Xè?x¬?8?€4Ú?@ïï?ð?¬å?êº?šÈ?Àï?€Âï?ð?@Áï?€ÿï?€ÿï?@ýï?ÀÅï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?@èï?ð?@ÿï?ð?ð?ð?ð?€óï?ÀSï?þï?ð?ð?@ëï?@Þï?@Þï?ÀÅï?£ï?ð?ð?ð?ð?ð?ð?@¬ï?óï?Ôï?€›ï?@ùï?ÀHï?€ï?@Ëï?@Úï?€mï?@°í?À\ï?€äï?@úï?åï?ýï?ÀÞï?ÀVï?Àúï?ð?Eï?ð?î?ð?“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úï?@$é?Àýæ?€ùÚ?Àëï?ÄÎ?°Ÿ?ùÊ?<¨?x–?°¦?€ƒà?À‹ï?@2ï?€Që?@¿ï?ð?€æï?ð?€úï?—ï?ÀÞï?@úî?@Sï?ÀKï?@ûï?@¤ë?€Z?â³?€œè?@Pì?ÀŒã?Àå?Àë? Ø?ŒÝ?B?З?Ë?À2å?Rï?@Rë?Àdâ?sß?@ªâ?|Ï?ª´?@`?pš?$¿?€Çâ?ð?ð?@·ï?ªï?€Zí?€Ëî?@~è?Àðè?Àëï?ð?ð?@ï?ð?ð?ð?ð?ð?ð?óï?ÀÜï?Àâï?ð?ð?@Kï?ð?Àíî?Àí?@+ï?€ùï?ð?ð?ð?ðí?É?ð?@ÿï?@ÿï?ð?ð?Àîï?7Ì?@Vå?ð?€ýï?ð?ð?ð?ð?ð?€çï?ýï?ð?ð?ð?ð?ð?ð?ð?Àïï?€ùï?ð?@9î?@ î?ð?ð?ð?ð?@®î?€þî?€Öî?ÀÉï?òï?Øï?ð?€•ï?ð?€Cï?åï?ð?ð?ð?ð?ð?ð?ð?éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßî?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNï?ÀÙï?€ÿï?€øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÙï?@ùî?ð?ð?@Öï?ð?€êï?ð?Àúï?@®ï?ð?þï?Àdï?îï?@àï?ð?Àèï?Àÿï?ð?ð?ð?ð?ð?µî?@Qê?€>â?€? ?Ç?@{æ?;ã?,ê?@Xï?@®ï?Ànî?À'ì?ôª?2Â?¸?@'â?Àûï?ð?€´ë?€T?ô ?ûà?ÀËë?€‘ï?Àâï?€xï?ð?ÿï?üí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àøï?€ýï?ð?ð?ëï?€ùï?ð?ð?ð?ð?ð?@óï?ð?ÀÆï?€¨ï?ð?@Ãï?€úï?ð?ð?ð?ð?ÀÁï?Àþï?€Ûï?ªï?dï?Åï?ÀËï?€ÿï?ÀÄï?@àï?@Þí?@ßí?€öï?ð?€÷ï?€ûï?­ï?€¦ï?ï?ð?—ï?lï?@?ï?@pï?Àùï?@úï?€ÿï?ð?Çï?€óï?ð?@ÿï?@þï?ð?ð?ð?ð?ð?ð?€Nï?Àáï?À$ê?€âÒ?„Û?λ?`Â?hª?ܲ?Çï?€yï?Šï?Àÿï?À=ï?­ï?ï?‡ï?ð?§ï?Àeï?À€ï?ÀÜï?€âï?@ï?îµ?À|?8?•?zÖ?ƒë?@ýï?Ààï?À.í?h˜?´µ?ÃÄ?€¬í?õï?€tä?&Ð?@°? ¶?’Á?‚?•À?0¿?À5à?@ï?@÷ï?ÀØï?ð?Àtí?áî?@Íï?€Vì?€‡ï?€Yî?Àví?@ãï?ð?ð?ð?€²ï?Žî?ð?€uï?ÿï?0ì?ï?ð?ð?ð?À®ï?€Üí?•ï?ð?ð?ð?ð?ð?@Ø?ä?ð?ð?ð?ð?ð?€“è?ªÖ?¹Ã?Õà?€jï?äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àï?@ïï?Ñï?ð?@¸ï?íî?¦î?€î?åî?€@ï?ð?@mï?:ï?€Uï?ÀUï?@Õï?ð?@qï?@âï?À^ï?À+ï?ÀÁî?€áï?õï?ð?ð?ð?ð?€þï?ûï?ð?ð?ð?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€í?ë?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?ð?@õï?€êï?@êï?€çï?Àôï?ð?ð?Àéï?€³ï?ð?@îï?îï?ð?ùï?ð?€ïï?ð?€uï?ð?ð?ð?ÀÓï?ÀÒî?€²ä?>?ËÎ?€ií?@:é?€Ö?€†Õ?À±?>??@k?¦Í?€‡î?€ï?ð?ð?À3â?8›?І?Ñ?€W?M?€àÜ?Àêï?@Ýï?€qï?@øï?<¡?\Â?@é?@ýï?æï?@@ï?ð?€ùï?éï?Àôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?Þï?õï?ð?ð?ð?ð?€ûï?ð?ð?ð?@öï?ð?€ìï?ð?ð?Àöï?ð?@üï?ð?ùï?ð?ð?ð?ð?ð?À°ï?@äï?ð?€±ï?Õï?Àçï?ð?€_î?ð?ð?ð?ð?€Ûï?Àøï?ð?@ïï?Pï?ìï?À5ï?ìï?À÷ï?€Øï?@øï?@úï?ð?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?éï?@Ïï?@Óì?hÔ?€”Ó?`±?è’?<±?Zï?ð?@²ï?ÀGï?ýï?óï?ð?@àï?þï?ð?äï?@ùï?Àðï?€³é?€ÝÕ?—?¥?`{?ß?ܳ?€HÛ?pƒ?îº?À~ä?ûí?€qå?È’?,­?P?åÖ?¬é?ð?Ïì?ð?À+á?pˆ?p¦? ¿?}Ë?8?‰?cÃ?»ä?@°ë?À8ï?ð?Àåï?ð?ð?ð?ÀÚî?ð?ð?ð?ð?ð?]î?ð?€uï?À…ï?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àyê?À«ë?@ùï?ð?ð?ð?ð?ð?ð?€ ï?ÌÁ?²Ã?ð?€Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À[î?€ ë?ð?ÀRï?ð?ð?ð?ð?ð?ð?€ðï?€ìï?€ƒî?Àvî?Ñì?~î?îî?ð?ð?ð?ÀÃï?@âï?rï?Àîï?Àíï?€Yï?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?ð?ð?€8ê?ð?ð?Çï?ºî?ð?ð?ð?ð?ð?ð?ð?€Fî?ð?@í?ð?@ìí?@ï?ð?ð?ð?€‡ã?€ Ñ?ð?ð?ð?ð?ð?ð?ð?—ï?ð?ð?ð?ð?ð?ð?@Óï?ð?ð?ð?@ï?ð?ð?ð?ð?€»ï?ð?ð?ð?ð?ð?ð?ð?Ÿî?€gï?ð?À`î?@xå?€dï?Àwï?ð?@Òï?é? ¤?c?Â?@àê?@àï?@±ï?ð?ð?€×?€qÐ?kæ?ð?ÀÚî?@Òï?ð?À„í?@dæ?Ëî?€ï?ð?€èï?€óï?€Üï?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‚ï?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?€Ðï?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?Àtî?@ãï?€Yï?ð?ð?ð?ð?ð?ð?ð?@àï?@âï?@»ï?¾í?0î?ûì?€–ï?ùï?ð?ð?@.ï?”î?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?@šï?×ì?sÉ?œ¶?0ž?€rØ?@…ã?§Ð?/Í?€šì?€ï?ð? ï?€xî?€ûï?ð?ð?ð? x?x¿?€–Ò?ùÚ?ÀÀà?À=é?€’î?€ïï?@vï?@Jâ?@Úì?ð?Àòï?ð?@Úî?€éï?ð?ð?À ï?¸í?ð“?ä£?€xÒ?¨À?Gà?eà?ô¶?à›?f?`q?:Ã?ÒÂ?ÙÉ?€åÔ?ð?À³ï?€Dï?x¢?õË?ÀGæ?ð?ð?ð?@ì?^Á?jÚ?)Ê?kë?€êï?ÀÝï?ð?€Œï?ñï?ð?ð?ð?ð?ð?ð?ÀÝï?ð?ð?ð?ð?ð?ð?ðï?ð?ð?ð?ð?ªï?ð?ð?@æï?ëæ?€ÃÜ?€Üá?6è?@˜î?@)ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€êï?Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?ð?ð?ð?ð?ð?ð?€£ï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€äï?ð?ð?ð?ð?ð?ð?@`ï?€ûï?ð?ð?ð?@óï?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ïï?@dï?ð?ð?ð?ð?ð?ð?@4ì?@zâ?Íê?ð?ð?ð?ð?ð?ð?€Íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@9ï?ð?ð?ð?@éï?ð?ð?ð?ð?ð?ð?ð?ï?ð?Ëï?Àîï?@Éï?§í?@æï?ÀØï?€ZÜ?`¹?¨?€ÕÝ?Àï?Àpî?@ÿï?@Qï?ð?€†Ò?€çë?€eï?Àáï?@éï?îï?ð?ð?ž¿?ð?ð?@üï?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àôï?ð?@”ï?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?€ðï?€ï?ð?€Àî?@ìï?Àñï?Àzí?½ê?ð?@¿ï?À>ì?À©ì?@éï?ð?ð?ð?ð?Àcí?€ëî?ð?À%é?ð?ð?ð?ð?€Ýë?Àýï?ð?ð?ð?ð?€ï?ð?ð?ð?Àáï?ð?€Ûï?À!ì?‡î?ð?ÀÝï?€kï? ?¶Ë?€‘ï?ÀÌï?€¤é?ÒÑ?zÍ?%Ì?ðÏ?Æ?€j?Àýå?@Ñï?ð?€üï?@Öï?ð?ð?ð?ð?€ûï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?¤?ˆ–?€Z?³Å?@{?€j?€^?€þÓ?س?Ñ?€fÜ?"Í?0? å?€éä?€à?¬¯?`ª?€nî?ð?€Ðï?ð?À×ï?ð?ð?ð?ð?ð?ð?ð?ð?!î?@˜ï?ð?Àoì?ð?ð?€þî?ð?ð?ð?ð?ð?ð?ð?ð?áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ïï?ð?ð?@Úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿï?ð?ð?ð?Àöï?Çï?€ïî?Àãï?áï?€,ï?À«î?Àóî?€î?€Þî?ï?Àgï?ð?ð?ð?ïï?€ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?ð?ð?ð?ð?ð?@Ÿï?@Òï?Àõï?ð?ð?êï?ð?ð?ð?ð?ð?ð?ð?ÀËï?ð?ð?ð?€øï?@Žï?ðï?Àï?ð?ð?ð?@æì?ð?ïï?ð?Ëï?lï?*ï?@î?@wä??Àåí?^ï?ð?Àñï?ð?˜¯?2?œÃ?½È?@¨ï?€ï?Çï?@wï?ð?ð?ð?@‘ì?I?@ôæ?ð?ð?€“ï?ð?@Àï?ð?ð?ð?ð?ð?ð?ð?Eì?€5î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ÀÝï?€øï?ð?ð?@÷ï?@Ïî?@÷ï?ð?€xï?@¸î?@[ï?®ï?€9ï?ð?€ î?ð?€´ï?@Pî?ð?ð?€øï?€Ìï?€³î?ð?ð?@Jê?ð?ð?@Æî?@î?ð?ð?úï?€Oï?€øî?ð?@Çï?ð?ð?ð?ÀÎï?ð?@òï?€÷ï?ð?ð?€ì?â?,¦?ÀÞá?eÖ?À|è?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ è?€^?€^?ßÀ?€z?ì«?öÄ?¼ª?8¡?’?cÇ?Îï?ð?ð?ð?@¦é?ð?ð?ð?ð?ð?ð?ð?ð?€yï?ð?€ûï?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?ð?ð?Àúï?ð?ð?ð?ð?ð?òï?ð?ð?@òï?ð?ýï?ð?ð?ð?ð?ð?Äî?ð?€Úí?íï?ð?;ï?€ï?€Ñî?@Ñï?@5ï?^î?“ï?@»ï?ïï?À¹ï?ôï?@é?Àqê?À’è?î?ð?€hê?Àìî?ð?ð?ð?ð?ð?ð?ÀÌî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊï?€àï?@üï?ð?ð?ð?ð?ð?Àýï?ð?ð?ð?ð?ð?ð?Þï?ð?ÀËï?ð?ð?ð?ð?@éï?íï?Çï?€Âî?ÀÏî?€ûï?Àžï?À©ï?ÀÇï?Óî?@«ï?‚Õ?h¬?ï?ð?Úï?yï?€ëï?¨µ?€c?°™?àv?/Í?öÖ?x¦?À±à?@Ãï?ð?íï?ð?éï?æï?€të?@^ï?·Æ?àz?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðï?@Øí?ð?ð?ð?ð?ð?ÀÝï?€ôï?ð?ð?€|î?@ìï?@þï?@ï?æï?€ôï?Àìï?èï?€=î?ð?ð?ð?ð?€öí?ð?ð?ð?aï?@åï?ð?ð?€Äî?ð?ð?ð?@õï?ð?€4í?Oî?ð?Àúï?ð?ð?ð?»î?ð?ð?ð?@Èî?ð?ð?ð?yï?»ë?dÓ?Ààá?“â?€FÑ?@òã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?H²?d¶?@ã?@ã?ç?qã?€"Ø?´©?óÁ?À®å?óå?ÜÆ?p’?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬ï?ð?ð?ð?ð?ì?ð?@øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï?ð?úï?ð?ð?ð?ð?ð?Úï?ð?ð?@Cî?ð?ßï?ð?ð?éï?€Îï?ð?€«î?æï?€µï?€ôï?€ôï?€Yï?€í?@’ï?€¾ï?ï?Àýï?Àõï?Àºï?€_ï?ÀÂï?ûï?¿ï?À<ï?Àõï?À¥ë?€öî?Àäî?î?€ì?Àôï?À‡ï?@¶ï?ð?Æï?^ï?Àôï?ð?Àîï?@îï?ð?€lì?fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?ð?ð?ð?ð?Àkí?€ÿï?ïï?ð?ð?ð?ð?ð?@æï?@Ûî?ð?ð?xî?zï?À'ï?ð?€»ï?€WØ?@Ñà?€‘ï?ð?@ï?@hì?@›ë?¨œ?ÀLì?À(ì?@‰î?ð?ð?@²î?€îã?@éï?€ûï?€ûï?@çï?À(ì?@ªâ?ÎÐ?€‚é?D¨?€4ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?éï?öï?€­î?ð?ð?ð?ð?ð?ð?ð?€Îï?÷ï?€Òï?ÀÍï?€·ï?ð?@øï?ÀÎê?Àµì?Àðï?íï?€?î?ð?@_ï?ð?ð?Àþï?ð?ð?ð?ð?@øï?ð?ð?€§ï?óï?×ï?Âï?ÀÊï?&ï?ð?@ýï?ÀÎï?€ìï?@ºî?ð?šï?ùï?ð?ð?ð?ð?Àì?zÇ?u?@øï?€ýï?ÿÞ?Ð?€`Û?€*Ú?Ʊ?Й?€ßÖ?€Ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?€+Ð?‘?EÅ?¡À? ¸?$?€ æ?À6ì?€™à?<»?@Éè?€Ùî?Àùï?ð?ð?ð?ð?ð?ð?ð?€òï?Àoï?ð?ð?ð?À8ï?ð?ð?ð?ð?ìï?ð?ð?ð?ð?Àµï?ð?ð?ð?ð?øí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ñï?ð?ð?ð?ð?±ï?þï?ð?ð?ð?Žï?€õï?ð?ð?ð?@ýï?ð?ûï?ð?ð?ð?ð?ð?ð?ð?Èï?€Ôï?€ï?@:ì?î?€^í?@óï?Àùî?@éï?ÀŸï?@ïï?@åï?€Øï?€ëï?ÀXï?€Úî?¯ï?@Üï?éï?@Àí?€†ï?€ãï?ìï?ð?@Ýï?±ï?@ºï?ð?ôï?Àúï?ð?ð?ð?ð?ð?Àí?€æ?ÀCë?€“ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÛî?ãî?òí?ð?@ÿï?À´î?ÀÝí?€Üî?€¬î?ÀAî?=ï?Àíï?ð?ð?€hí?€sï?@Þï?À˜ï?8ì?ôÀ?:?À{?”¹?8ã?Àî?€ã?þØ?=Ó?P›?H—?G?È“?€³á?ÀŸï?ð?ð?€Ûî?@ûä?ãë?eí?€ï?‹ç?Þ?é?@Ÿì?|Í?@\ä? ´?•Á?Ðë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?Àüï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?€ï?ð?ð?€ýï?ð?ð?ð?€æï?ð?ð?€Ìï?Àóî?@Sï?ð?Àýï?Àáï?€ÿï?ýï?Rî?Àæï?€Ñï?@ûï?’ï?@åï?€öî?Þï?@ôï?ð?Àûï?jï?ð?@üï?€Ñï?À.í?€Bî?À î?ð?Àï?Œï?ð?@óï?€ôï?–ï?@ní?óï?ð?ð?ºï?ð?Àìï?ð?ð?€Åï?ð?zï?æ?€›Ñ?Á?Kï?ð?ð?ð?ð?ð?Ààï?ð?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ë?‡Ë?I??0? ©?€1ì?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?€^ï?€ï?aì?€ïì?€Úë?ºï?Øï?ð?¼í?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?À’î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?Àçï?€úï?€Þï?Õï?ð?Àûï?ð?Àêî?@îï?ð?€Ýí?õï?ð?ð?ð?ð?ð?ð?Àûï?ð?ÀÉï?À÷ï?@8î?@î?@íï?@æí?@î?€ªï?ÀŽï?€üï?€Íï?€üî?]î?Æî?Àÿï?€ï?Àï?€Zï?€þî?æë?@1ï?@çï?Àôï?çî?Àsî?ÀÎï?À ï?ÀÎï?ð?Àÿï?ð?ð?ð?ð?ð?ð?¦ï?€äï?ï?€äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àáï?À;ï?(ï?[ï?€]ï?€Œï?ÀÀï?€]ï?@ûï?ð?@ÿï?âï?@õï?Ûï?ð?ð?Àûï?€üï?ð?ð?€7ï?€õî?€Ñï?@8ï?€Ùï?î?€ªã?€ž?(?V¶?€ Õ?TÐ?à¹?2?Œ?€Á?€á×?@œé?ð?Àé?€Læ?€€Ö?@öâ?èÊ?)Õ?À í?ð?@Jé?¿?g?Àu?,?0‰?`É?HÔ?€1ß?jï?@ðï?ð?€ÿï?Àüï?ð?ð?ð?ð?xï?@yï?€Îï?ð?Àüï?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?ð?ð?ð?@üï?ð?€ôï?ð?Àüï?ð?ÀÈï?€Úï?ð?@4ï?€æï?€Ðï?À•ï?ÀFï?€äï?ûï?@ï?€Ìï?ÀËî?€4ï?@ÿï?€íï?ð?À¼ï?@×ï?€ï?€ ï?ð?Üï?Àyï?ð?Mï?rî?Àî?ÀEî?@ôï?À|ï?€ˆë?€íï?€îì?@Áï?€^ï?@}ï?«ï?@íï?@üï?ð?ð?Mï?€^î?\Ò?>?À‚å?ð?ð?ð?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?~è?ް?sÅ?ÂÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ÀÅî?ÀAé?À“á?À.ï?Àñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀRï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?ð?ð?ð?ð?ð?ð?@ïï?€œï?@”ï?€‰ì?ð?äï?Àèï?À˜î?ð?ð?ð?ð?ð?ð?@Xì?Ëî?@ï?€ÿï?Šï?À¡î?ÀDï?ï?€Oì?€ãï?@ï?Ûï?ð?@±ï?@ùï?Úï?@qî?ví?Áï?@zï?Hï?ð?€ôï?ð?À÷ï?ð?ð?Àóï?@õï?mï?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?@Íî?@×ï?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àñï?ð?ð?ð?ð?ð?ð?Àÿï?€dï?@ï?ð?ð?ð?ð?ð?ð?ð?€üï?ð?À“ï?À–ï?ð?ð?ð?€êÔ?F?€? …?(¹?hÕ?€ÍØ?€hÒ?€Kß?Ý?@Ñå?@ƒä?õï?@é?À¿?€Àï?À ë?Æ?œ¦? ?à¿?f½?l°?€êã?ÀÔï?@ï?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?Àxï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àæï?@Õï?ýï?ð?ð?ð?Àóï?î?@çï?‹ï?€êï?@ûï?@í?ÀÖì?€óï?æï?À³ï?¤ï?Çî?ìï?ð?ð?ð?æï?Ëï?@üï?@ï?À÷ï?ïï?Àï?ð?@ûï?ÀØï?ð?€Ðï?€Dï?ð?@›ï?€qï?ð?ð?ë?ð?`ï?ð?ð?ð?ð?€1ì?€Âà?—Ú?®¾?@Nâ?@Ïî?ð?ð?ð?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lë?€Èæ?@lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?@fè?€úï?€wï?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?îï?ð?ð?ð?ð?€ãï?™ï?ð?€ïï?@Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?@(ï?Êï?@Žî?€ëî?ÀFï?Àñî?ð?ð?ð?üï?@cî?ð?ð?@ãî?ÀÌï? ï?ð?úï?@ˆï?ð?ð?€Ïï?ôï?ð?€mç?À‚î?€ïï?ð?ð?ð?€óï?ð?ð?ð?ð?ð?Äï?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?ð?Üï?€)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*î?@wï?@®ï?ð?ð?ð?ð?ð?ð?ð?ð?oï?@Çà?@î?ð?ð?€7è?@õâ?¥?@p?9À?pá?Tî?€õí?@Kç?8?@æ?üï?à?€Wä?а?ÖÔ?(¼?|?H? Ã?@¿?€_ë?@áï?ð?ÀFæ?ÀØï?ð?ð?ð?ð?ð?ð?ð?À÷ï?Oï?ð?ð?ð?ð?ð?ð?ð?9ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?ð?ð?Äï?ð?€~ï?€äï?ð?Àì?Àóï?Êï?Àãï?ð?ð?€ï?€Ðï?üï?ð?ð?ð?€oï?üï?ð?ð?€÷ï?€Äï?ð?úï?ð?ð?ð?À¥ï?âï?ð?ð?ð?ð?ÀÛî?ð?ð?ð?@î?µë?úï?sÐ?Àx?=ß?hë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?@`é?€iÛ?€W?8“?è¥?,¦?Æ?0‘?ê¶?@î?€üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àrä?À0ï?1ï?€7ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Äï?ð?Àî?ð?ð?ð?@[ï?ð?ëï?ð?ð?€úï?ð?ð?ð?ëï?@Žï?ð?ð?ð?´ï?ð?ð?ÀPî?Àóï?€ï?ð?@Öï?@oï?Àï?ôï?×ï?€±ï?¸ï?À÷ï?àî?Àðî?€î?gï?@÷ï?ð?ð?À÷ï?¾ï?@çï?ð?@ˆï?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Äï?Àwï?ð?ð?ð?ð?ð?Àôï?@ðï?uí?ÀÚï?€Iï?ãï?”ï?ð?ð?ð?ð?ÀÌï?ð?€¦í?Àï?@ë?€Jå?€¤ì?À–î?@”ï?ð?Bµ?ŠÂ?„µ? ë?Àïç?ð?€ï?ýÉ?áÙ?€Âæ?¬ ?WÀ?hœ?îï?ð?ð?@aï?ð?ð?ð?ð?8ï?ð?ð?ôï?ð?!ï?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?ð?ð?ð?ôï?…ï?À¹ï?€í?šï?À¯î?Àâì?€Rë?@[ë?@-î?€ï?@úï?@¤ï?Iï?ð?@ýï?—ï?ð?@8ï?öï?ð?ð?ð?ð?ð?ð?ð?À5ï?€^ï?ãï?À˜ï?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?€Vì?€GÙ?s?`„?@gí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@ýî?8ï?Øê?€˜×?ض?,Ð?@Pé?€¬î?ð?„î?€îä?€ê?€ùí?Ýï?ð?ð?ð?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À è?€²ï?ð?@íï?ð?ð?ð?ð?ð?ð?î?ð?€ïï?ð?€ùí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€+ì?ð?ð?ð?ð?ð?ð?€Êë?@²ï?@‹ï?@ï?@«î?ªî?€\ï?ð?ð?Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?Àûï?À„î?@Îî?ôï?ãï?ð?ð?@ï?ð?ÀÚï?èï?ð?€Ëï?ð?ð?€ï?ð?ð?ð?À÷ï?ð?ð?ð?ð?€óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@dî?€…í?€ßë?@‹ï?ð?À(ï?À÷ï?@!ï?ð?ð?`ï?À˜î?€ûì?@:í?@ñî?ï?€/ï?@Ìí?Šì?@1ï?ð?€ÚÛ?€m?@‰?€iÓ?€¨Ò?úï?Àôï?8Ÿ?m?ˆ©?~?Àî?ð?ð?ð?ð?ð?ð?ð?ð?@¬ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ð?€¸ï?@Öï?ð?ð?ð?ð?€Ñï?ôï?@õï?ð?ð?À³î?ð?€øï?€oï?ï?@2ï?@¢ï?qï?ð?ï?€î?Tï?Œï?€Cï?€šï?ð?Àóî?ð?@nì?ð?ð?@âï?ð?ð?ð?ñï?@§í?ð?@Ýï?ð?ð?ð?ð?ð?ð?ð?Àèï?€Þ?Ê?€ÒÑ?@÷ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?@`?NË?Àûï?ð?ð?ð?ð?À–ï?€+ä?t×?¼Á?´«?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?ð?”ï?À÷ï?ð?ð?ð?ð?ð?ð?€Ëî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïï?ð?Àëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?5î?€ôï?ð?"ï?@Óî?À§î?€øï?ð?ÀŽï?@Èî?À”è?®ï?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?À`ï?ð?€Øï?€îì?Àmï?ð?@0ï?ð?ð?Åî?€=ï?À’î?Áï?ð?Àãî?@Šï?€çï?@üî?ð?ÀÙé?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?ãï?€ï?€yï?@Åî?@Öï?Àí?@Ÿï?€‡ï?€Õï?@Òï?À'ï?€Úî?@šî?@ ï?@yï?À¿î?Àéì?€ë?À2ê?€çï?€tÞ?H?õÂ?;ì?ÀÛï?€kä?hÈ?ð?@ïï?ð?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?›î?ð?ð?ð?ð?€èï?Êï?À=ï?@ëï?€ ï?ð?@)ï?ð?@ýí?ð?@Åï?@«î?ôí?Àßï?@eï?ð?À§ï?€¯ï?À¬ï?Àúï?@Üï?À#ï?ð?óï?ð?ôï?ð?ð?ÀÑï?ð?ð?ð?Àûï?@wï?ð?lï?ð?ð?ð?ð?ð?€Šã?”?€P?@š?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Bà?€.ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ì?êµ?‘Ô?°¨?o?2²?‘?€j?€MÕ?ð?À â?ð?ð?]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜï?ð?ð?ð?ð?ð?€kî?ð?ð?ôï?ð?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@âï?@ªî?ð?ð?ð?ð?ð?ð?ÀŽï?ð?€cï?ð?ð?ð?@èï?ð?ð?ôï?ð?ð?Äë?ð?@Iï?€î?€àî?ð?ð?€Òî?À÷ï?Àhî?€ï?-ï?@Úï?ð?ð?ð?ð?ð?ð?ð??ï?ð?Àþï?Àâï?ÀØå?ð?ÀLï?ð?@ëï?À”ï?ð?ð?ÀIï?€~ê?è?@\í?€BÖ?Óì?Æï?#ï?À¡ë?ùî?@Üï?ð?ð?ð?ð?ð?ð?À ï?ð?ð?ð?ð?ð?ð?Àâï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?Àûï?@`ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀï?Àœï?À£ï?@•î?/ï?À~ï?‡ï?Òï?Àgí?€·ï?ð?ÀÌä?€„ï?@é?£í?€½ì?Iï?ÀÜî?€ ê?@ã?‰?À ì?äï?¿Í?@Rï?ð?ð?@nï?îÜ?€îé?@½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àiï?ð?ð?ð?ð?Àûï?ôï?€ôî?€êï?@ëï?#ï?üï?ð?ÀRï?€¾ï?Àîï?Àåï?ð?Àúï?ð?Qï?ð?@‰ï?ð?Àï?€Kï?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?€'î?ð?À´ï?ð?ð?ð?ð?@Üï?8—?@Ùë?ð?ð?ð?ð?ôï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À4ä?€Ü?€äÔ?@•?Ê´?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ÀÄï?@Ûë?¹Ý?ÏÄ?*±?:?à?ë?€Jî?Àgî? Ø?ˆÍ?1Ê?bÊ?€—Ü?êï?ð?Àæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@aï?áï?ôï?@óï?ð?ð?ð?À„ï?ð?ð?ð?ð?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?·ï?@î?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Êï?ð?€>î?€ùï?ð?ð?€ï?ôï?Šì?ð?ð?€:í?ð?ð?ð?ð?ð?ð?ð?ð?íï?€”ï?ð?ð?À‡ï?ÀYë?@á?ÀÔî?Àÿë?À¬í?À¸ï?@)í?À|î?€åï?@Ší? ì?Àöí?À}î?ÀÎï?€ ê?€„í?À/í?ð?ð?€Öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Üï?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?€Äï?ð?ð?ð?€Ùï?À_ï?ð?ð?ð?@Þï?€Ûï?ð?ð?ð?5î?]í?Æï?À–ï?ï?@&î?òï?ð?À¹ï?ð?ð?À?î?ë?#ï?€rè?ªï?KÑ?À¼ç?€Vê?€Gê?G?A?^Ù?üß?2?øÄ?ð?€ðï?-ï?@h?€ÛÔ?€¢ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?ð?ð?ð?ð?ð?ð?ð?ð?@«ï?ð?ð?ð?ð?ð?€Ïî?ð?€Äï?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?€*î?À}ì?À î?ð?Æï?Àmï?€ßî?ð?@âï?ð?€ˆï?ð?ð?ð?ð?ð?Îï?ð?ð?ð?ð?ð?ð?€þï?ð?ð?Œå?ð?ð?ð?ð?ð?ð?Àýï?@îï?ôï?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À™î?àã?P‰?€žÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?€oä?ÀSê?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?€þï?ð?€ î?/ë?@sé?ð?€¨ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?ð?ð?ð?ð?ð?ð?ð?úï?€þï?@.í?ð?ð?Òï?@õî?Àuï?ð?ð?ð?ÀÃï?ð?ð?ð?ð?ð?ð?ð?ð?@¡ï?Àdã? ï?ð?ð?À9ì?ð?@˜î?@—í?€Oå?Åî?À5æ?€ùë?Tî?íï?Àëì?€»î?:ï?€ýî?æÖ?€îé?ð?ð?ð?Áï?ð?ð?ð?ð?ð?ð?@§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€”ï?ð?µî?À î?@Ïï?@6î?€÷ï?ð?€ï?€Þï?À»ï?€çï?ð?Yï?ÀÝï?@ÿî?Eî?@@ï?Rî?Ànî?€”é?Àjï?@Yî?ð?€öï?À†î?€÷ê?ð?ð?ð?@¼ï?À%î?·ì?À\î?€tØ?°‚?Ø“?À~?]?³È?@äè?@åï?ð?÷ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€&í?ð?ð?ð?ð?@âï?ð?Àùë?ð?ð?ð?ÀÄï?€÷ï?ÀÑï?€ï?ð?ð?€÷ï?@úï?ð?€ýï?@è?ð?@Õï?ð?ð?ð?À&ï?ð?ð?ð?ýï?ð?ð?€jÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?^î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@1í?Ø?Àõâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ší?ð?ð?€ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?@«î?@¿î?€’Ú?Ûî?ÀDê?ð?ð?ð?ð?À}ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀØî?ð?ð?ð?@\ï?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€âï?ð?ð?øï?@kí?€óï?ð?€óï?Àlï?@¡ê?ð?ð?ð?À¦í?ð?Àõï?ð?@î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?€½ï?ð?ÀÆï?À“ï?À£î?ªï?ð?@©í?ð?ð?ð?ð?ð?ð?ÀŸì?À‹í?•ì?ÀÊï?ð?@»é?À{á?vê?sï?@³ï?@7ë?À¿é?øï?‰î?ð?ð?€óï?À{ï?Àå?€Ó?nÀ?ø©?0?€á×?À?Ç?ð?ð?º²?ð?ð?ð?ð?ð?ð?Ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äï?@—ï?@úï?ð?€Dï?ð?€¯î?ð?ð?ð?ð?ð?ð?ëï?ÀÊï?€âï?Àýæ?€ á?@Æè?€3Ö?Ø?:µ?Ý?YÈ?÷Ì?Àä?"ï?ð?@´ï?ð?ð?ð?€Ñï?ð?Àßè?ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?7á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Iè?€üÔ?T ?b·?>?Àðï?ð?ð?ð?ð?ð?€Zï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?Žï?€âï?ð?@òï?ð?ð?ð?ð?€÷ï?ð?@üï?ð?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?ð?ëî?@ôï?ð?ð?ëï?ð?Àþï?Àï?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?ð?@îï?ð?ð?@’ï?@ôï?@îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?ëï?ð?ð?ð?€–ï?@¦î?ÀEí?Àlí?Àèï?ð?ð?ð?ð?ð?ð?À¥î?Ûë?€Tï?ºï?Àoë?€Õê?xï?wí?@Úë?À©è?Àyç?@óï?ð?ð?ð?Àtï?ð?tî?€tï?€šï??í?€íØ?Pœ?F?@ˆ?@¤ï?ð?ÀCå?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?@Íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?@šî?ð?€*ê?€öÜ?@ å?ÀÇâ?ÀÆå?À/î?Žï?@¢í?ÿå?pµ?äÃ?À\ë?€Ù?(¹?€®ë?ð?@ûï?@\ï?@Éì?,¥?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?ð?ð?ð?Fß?ÀÄï?ð?ð?ð?@Yè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?£Þ?€m?+Ç?ð?ð?ð?ð?ð?€Nï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@–ï?À î?€÷ï?ð?ð?ð?ð?ð?ð?@âï?ð?ëï?óï?€‹ï?ð?À î?ð?ð?ð?ð?ð?ð?ð?€¯ï?ð?@øï?€æï?ëï?–ï?ð?ð?Àûï?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ßï?€.î?ÀÄï?ð?ð?€æï?€ýï?€¼î?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õï?ëï?ð?ð?ð?ð?ð?@ï?ð?ð?€‘ï?@óï?ð?Àzí?žï?Àèï?@ôï?ð?ð?ð?ð?ð?Õï?@Èï?@¹ë?Àkì?Ýë?@]ï?€þî?ð?€þï?€ï?ÀÕä?À•î?Àíï?ð?ð?ð? ê?Àªî?ð?Àíï?ð?€ªé?mÉ?W?–·?·ã?ð?À’é?€ðØ?nÄ?ð?ð?ð?ð?ð?ð?ð?ð?ÀÖï?€Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÒì?ð?ð?ð?ï?Àúï?ð?ð?ð?€¿ï?@Ãï?Àõï?@ ä?€9Ð?–?U?D½?­?ïÇ?€7å? Ú?¯?Vµ?€m?ø ?ÀJï?ð?@óï?€ˆê?|Á?Œ?@ë?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ ï?Àï?ð?ð?ð?°Ã?ð?ð?ð?@$ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¤ï?@®ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?@âï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sí?Àñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?ÀKï?ð?áï?@œï?À£î?ð?ð?ð?ð?ð?Æï?ð?ð?ð?ð?úç?ð?ÀÜï?ð?@šï?ð?ð?ð?ð?ð?mç?ë?ð?€ïï?ð?ð?ð?@äï?ð?@òï?@óï?Àñï?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ÀÈî?ÀPî?ð?ð?ð?ð?ð?ð?Àûï?ð?€÷ï?€›ï?Õï?ãê?À|ë?üì?Àþï?ð?ð?ð?˜ï?Mê?Ø?@•ï?Þï?ð?@ôï?ð?Øï?ð?€ïï?@ôï?€ é?´°?Àa?²?&ã?ð?€„ß?€Ü?€îè?ð?@Ñï?ð?ð?ÀÙï?ð?ð?Àûï?À|ï?Èï?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ÀØï?ð?ð?ð?ð?@ûï?ð?ð?ð?@yï?@¡ï?kë?P£?s?4?S? {?¶?@ôï?@‡ï?€Wï?ÀÆë?ü¡?€Ñ?È—?@ä?ð?@ûï?ð?ð?@úï?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?ðï?ð?ð?Àeï?€òÕ?À×î?ð?@á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ìá?H¨?@6ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?ÀÅî?€ûï?ð?ð?ð?Àùï?ýï?@ýï?ð?ð?ð?ð?ð?€™ï?€˜ï?ð?@ôï?@ÿï?€Œï?ð?€dï?óï?@íï?@ ï?ð?ð?ð?Àêï?€øï?ð?ýï?³ï?zï?Àãï?ð?¸ï?€ìï?ûî?@Üï?Àÿï?ð?@¿ë?€§ï?Àûï?õî?ð?ð?ð?ð?ð?¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?ð?ð?ð?ð?ð?çï?À€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«ï?@ï?Àqï?€’ï?ï?€Îí?@çï?øï?ð?ð?À¢ï?Žï?€­ë?Ôì?Àæï?ð?€õï?ð?ð?ð?ð?ð?@ˆï?€Öæ?@p?ì¶?èš?E??€t?êä?ð?€ÿá?(›?X•? æ?ð?ð?ð?ð?ð?ð?ð?€òï?Xï?ÀÃí?Àëï?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@äí?ð?Àíï?À0é?Ñ?î»?H?à›?ñï?À®ï?ÀÙî?Àÿî?V·?€—Ñ?ø±?`Ñ?B?@?€ˆÓ?€<Ò?@Ðî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?Àöï?ð?ð?ð?@Vì?àÕ?Àâî?ÏÒ?@(á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Zî?V¸?@`à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?Àöï?ð?ð?ð?ÀÝí?€ï?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?@Dï?Àþï?þï?@ìï?ð?÷î?@ôï?ð?@ï?€Óï?Àüï?@÷ï?ð?ð?€ëï?ð?ð?ð?@üï?ð?@ïï?ð?À÷ï?ð?Àúï?À¼î?ÀÕï?ð?@ëï?ð?¤ï?ð?ð?ð?ð?ð?Àîï?Lî?Åï?@žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?ð?ð?ð?ð?ð?ð?@aï?ð?Jî?ð?Àåï?ð?ð?ð?ð?ð?ðï?@èî?@³ï?@ïï?€Éï?ð?ð?ð?ð?ð?ð?ÀÙî?À"à?³?0?Àb?æÃ?àˆ?C?@c? °?€šä?ð?ð?"¼?€Ž?À`æ?@Šî?Àžï?@ˆî?ð?Îï?ð?ð?ð?ð?ð?€žï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùï?@ëë?OÃ?@a?µ?@tì?@Ïï?î?¹ï?šÅ?°Ì?€×?ì¸?€âÑ?VÁ?˜À?Z°?ÆÂ?€GÖ?ôå? ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÂï?Ëï?ð?ð?ð?ð?ß?¢´?2?$?¦æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ïå?Ѐ?ê³?åß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?€ˆï?@Òï?À¡î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?€¯ï?@Òï?€÷ï?ð?ð?€Ìï?î?€ãï?ð?€­î?ÀAî?ï?Àçï?@©ï?€÷ï?€Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬ï?@dì?Åí?Àžì?@>ï?ð?·ï?ð?ð?ð?ð?ð?ð?ð?Àôï?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?ð?ð?ð?ð?ð?ð?@ùï?ð?ð?Àõï?Þï?@àï?ð?ïï?ð?ùï?@eï?À|ï?€÷ï?èï?ð?ð?ð?ð?ð?ð?ïï?@Þ?çÅ?`v?€]?€P??H¹?Àê?€Qç?ð?ð?€÷ã?ÉÚ?ð?@ï?ð?Àúï?ð?ð?ð?ð?ð?À”í?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ãì?ð?@ôï?ð?ð?ð?@ï?(×?@z?P†?Kæ?ð?¸î?îï?€cì? {?ÛÃ?6Ç?€Ç×?€…ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óï?Ôî?ð?ð?ð?ð?5î?àr?–?@Çì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‹ï?€rÜ?Ò×?Ùë?Àýï?ð?ð?ð?ÀÛî?À_ã?ã?§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?À·ï?@_ï?ð?öï?@ÿï?ð?ð?ð?ð?ð?ð?¡ï?³ï?ð?ð?€Ôï?@üï?åï?@•ï?@•ï?€îï?Àßï?ñï?ð?ð?þî?¶ï?€Öï?€Æï?@Sî?Ûï?@Ïï?Èï?Àîï?Qí?ôï?ð?ð?ð?ð?ð?Ôï?@ýï?ð?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?À,ë?Àï?Àqï?€šï?€øï?ð?Àþï?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?Àçï?Àÿï?ð?@öï?Àûï?ìï?€yî?ð?ð?ð?ð?ð?ð?ð?@ÿï?@ùï?@÷ï?@ñï?À÷ï?†ï?@úï?Àçï?ð?€Öï?cï?ð?ð?€Þï?ð?ð?@ïï?ð?ð?ýï?ð?€Ö?Q?D?G?P¬?@…?Ø?ÀÏã?€«ï?Àùï?ð?)ì? t?€Ö?@>ë?ð?@‡ï?€ôï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Áï?€ðï?ð?€ùï?ð?ð?€Kï?€ Ú?€Ø?ÀÏï?Àåï?çí?”è?qÝ?€Z?V?¯Ö?ð?ð?ð?ð?@øï?€Bï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@çï?€Dï?ð?ð?ð?Àîï?¦¾?ºË?#ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍï?€Nä?À¢? Þ?@õâ?@ðí?ÀÎâ?KÛ? É?@þå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Òï?ÿï?ð?Àðï?ð?ð?ð?ð?ð?€ùï?@éï?ð?€Ôï?ð?ð?ÀÜï?Âï?ð?ÀÊï?@Yï?@Æï?¨ï?@ï?€&ï?@6ï?ð?@ï?Àãï?€öï?Rï?ÀFî?@õî?€rï?@/ï?Çï?Lí?Åï?Àæï?€ôï?ð?@”í?@Ñï?Úï?öï?€?ï?ð?ð?@×ï?lî?€×ï?ð?@¹ï?÷ì?Zì?€dí?¸ì?Àæï?Àýï?ð?Àýï?€^î?–î?Àÿï?ð?ð?ð?ð?€õï?À¸ï?”î?ð?@ýï?ð?þï?€Óï?þï?œï?ð?ð?ð?ð?€ßï?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?Àýï?ÀÁï?@¨ï?@úï?ð?ð?ÀCï?@¾ï?ð?ð?ð?@kï?ð?Àúï?À¿ï?ð?@Lë?€Pà? s?Àh?€–?€Ó?:?@?€W?¶È?€íÙ?Àâï?öï?€â?Àq?—Æ?À-æ?@ÿï?À°î?ð?ð?ð?ð?ð?Àûï?ð?ð?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?€Õï?ð?Àýï?Û?P€?€²â?@Íï?@=í?Àòç?Àè? q?†À?ïÉ?„¬?–¾?€Q?ئ?@é?ð?ð?ð?ð?ð?Àòï?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?@Sï?Àï?ð?ð?€¼ê?j?€íå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þï?óï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?—í?@°?b? ®?€v?v? ›?g?æÃ?(—?€úÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿï?€ýï?ð?€þï?€bî?À‚ï?ð?€6ï?€þï?ð?ð?ð?ð?ð?ð?@õï?€éï?Àôï?@ôï?À¹ï?€Ñï?Àåï?@ˆï?€›ï?€Öï?€Àï?@‘ï?€úï?ï?€’ï?€‰ï?ï?Àõï?ð?ÀÀï?€ÿï?@Wï?Ðí?^î?€©ï?@î?€íï?€ûï?Àyï?ÀÃî?ð?ð?€ëï?Àï?@›ï?ßï?€hë?yé?ÀCì?«í?€úì?Tï?ð?ð?ð?ð?ð?ð?@$ï?À×î?@‚î?ð?ð?ð?ð?ð?ÀËï?ð?mï?ð?ð?€bï?€sï?Öï?áï?€óï?€±ï?ð?øï?@ùï?€Ðï?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?€ìï?Àâï?ÀÞï?€þï?ð?ð?ð?@¢ï?@÷ï?ð?ð?ð?@Ùï?ð?ð?ÀÅï?Ùî?Àì?Ø”?A?è–?@a?Ë?i?$?˜É?žé?À÷ï?€§Ô?°µ?@½î?ï?ð?ð?ð?þï?ð?€Êï?Àùï?Àþï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ î?ð?Àìï?íå?²?€lî?ð?ð?Œæ?€ž?J?åÉ?Pƒ?€²Ö?Dí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ìï?@ï?ð?ð?ð?¤Ê?d ?€fî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?Rï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@éî? ª?5Ä?€¡ì?Ì¡? î?pŸ?€ æ?aï?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?÷î?ð?€êï?îï?ð?ð?€ßï?ð?ð?ð?ÀZï?€™î?ð?Àëï?@ï?âï?Ûï?@Êï?@Ÿï?€öï?÷î?ÀQï?ð?€Õï?@Ÿï?€ ï?åî?Àÿî?@oï?ÀÕï?€¢ï?@xï?ÀOï?oï?€î?€.î?€¾ï?@Çï?<î?ÀÌï?€²î?ÀËï?Àëï?@ôî?@Sï?@]å?@ï?ÿï?ð?Àÿï?ð?ð?ð?ð?ð?ð?ð?€ï?@Ôï?€ùï?Üï?ð?€Ðï?ð?ð?ð?ð?…í?ð?Òï?äï?Àýï?ð?ð?Ðï?€Èï?ÀŽï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?ð?ð?÷ï?îï?Ùï?÷ï?ð?ð?ð?øî?@þï?ð?ð?ð?ð?@’î?ð?ð?ð?Àÿï?ÀUæ?[?^?@a?¸ ?ð?@<ç?€–Ñ?@ï?ð?À€ï?ð?ð?ð?ð?ð?[î?ð?ð?ð?ð?üæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sï?€ÂÔ?€üï?ð?€Ü? ?8?¹É?À•î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?/î?€…?Å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.ä?Àçè?¾ï?u?˜­?ÀSí?@Ùï?±?x°?¡Ö?€Ø?à?>Ü?ÀŒì?ÀRï?ð?@µí?@Âë?@Vì?³á?Àõç?ìä?€pá?€ÚÞ? Ä?€žë?€-ï?ð?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ðï?ð?ð?@¯ï?ð?oï?óï?÷ï?Öï?ï?@fï?Íï? î?À¥î?€sï?€àï?ð?@Ûî?À@î?î?€øî?Èî?€ î?Àƒï?Àhï?ð?¾î?Àî?€¥í?cí?@Éì?€íî?ð?€Qï?éï?¤æ?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?þï?À¥ï?Àæï?Àï?@ºï?ï?Àþí?@öï?ð?ð?ð?ð?À¬ï?Àêï?€Êï?ð?ÀÏï?ð?€ï?€®ï?@÷ï?ð?âï?ð?ð?Àõï?îï?ð?ð?ð?ð?@ÿî?ð?À¸ï?ð?ð?ð?ûï?ÀÝï?ð?ð?ð?ð?Üï?ð?ð?ð?ð?ð?ð?@öï?€~è?ñÎ?P?À¿?ð?Àÿï?H»?P?åÆ?€xè?ð?@°ï?ð?ð?ð?ð?@žî?ð?ð?€°ï?ð?@ûï?ð?ð?ð?ð?ð?@öï?ÀÒï?ð?ð?ð?€Þ?Àã?@Äî?‹? z?F?X¨?“?`½?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ÿé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àèï?ð?ð?ð?ð?Ì?@i?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?€ æ?À·ï?<Â?@àì?ð?ð?L?¼½?‘Å?Ÿ?@?R?R?€Û?ÀŒì?jï?€üë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?@ðï?ð?§î?€›ï?"ï? ï?€Ôï?Àåï?@;ì?Àìî?€ïî?÷ï?À¡î?ð?@Üï?€kï?€ï?„î?€Dï?÷ï?€Fï?€Nï?ð?ð?ð?ôï?ð?ð?ë?€[ï?@™ï?@áï?å?Uï?À¢ï?€î?€2ï?lï?ð?ð?ð?ð?ð?Àï?ð?ð?À¦ï?À¼î?€Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?Àµç?€ÿï?Êï?€Êï?ð?ð?ð?ð?@°ï?@ëï?ð?ð?ð?ð?@Áï?ð?ãï?ð?€€ï?ð?÷ï?ÀÚï?Iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ÀÄì?r±? q?—Ø?@Xî?Ð?(?0º?¹?Àœï?ð?€}ë?€S?€™å?€Wï?@wï?€Yï?ð?ð?ð?€Ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ˆï?ð?ð?Ôî?”?d­?h£?ÉÒ?”¢?¸°?À«?€eÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©í?R?€ ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ãï?À&à?€X?Ž?p?t?*²?˜í?ð?ð?ð?€ÐÜ?DÂ?@Sï?À÷ï?ôï?€Iî?ð?ð?ð?ð?ð?Ðï?–ï?ð?ð?iï?ð?¬ï?@Qé?ð?Àþï?ð?@Âï?€ùî?ºî?@µî?À…ï?€ï?¤ï?ð?€Àï?€Uï?@rî?£ï?@'ï?ï?î?ð?ð?@@ï?ð?ð?@Éï?ð?¾ï?@Õë?éï?ð?Xã?ð?€©ï?€Ië?€`î?›ï?ð?ð?ð?@÷ï?èï?ð?ð?Àõï?¸î?Àáï?€mï?€Wï?ð?ð?ð?ð?ð?ð?ð?@òï?@÷ï?Íì?ð?€»ï?îï?ð?ð?ð?ð?ð?ð?@šï?ð?ð?Ààï?@5î?ð?€øï?âï?€‰ï?ð?ð?ð?@îï?ð?ð?ð?@äï?óï?ð?èï?ð?@£ï?€¯à?)Ð?ð«?Àµï?ð?(µ?0‘?—Æ?À´?@€?ð’? ?€ˆÖ?Lî?ð?Pº?0Ž?º»?ãå?ð?@úï?ð?ð?ð?€†ï?îï?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?€öï?ð?ð?@2í?L©?€g?ÚÙ?ŽØ?€c? ~?Ѓ?´£?t®?Àí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áß?0€?€MÑ?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?€à?€ÒÚ?Wæ?€>å?@iæ?À ì?ð?ð?ð?ð?ð?€CÖ?àp?@ë?€›é?€œí?‘î?ð?ÀÒï?ð?ð?ð?Àîî?ôï?ð?àï?@î?ð?ð?À^ï?ð?ÀÛï?ð?Àëï?€þï?@êï?ð?@öï?®ï?ð?îï?@ï?<ï?€|ï?@Ÿî?Eî?ûï?ð?ð?ð?@üï?ð?÷ï?@Hï?@-ï?ð?Àlï?@9î?½ê?@cä?€Qï?€ î?@®í?ð?ð?ð?ð?ð?ð?€#î?ð?ð?À¼ï?gí?@ï?ð?Šï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïî?Àóï?ð?Àöï?ð?ð?ð?ð?Àï?ð?Àaï?ð?Úï?ð?@gï?áï?ð?ð?ð?âï?ð?ð?èï?ð?Àøï?î?Àóï?³ï?ð?ð?ð?À>è?,±?€;é?@Žï?€ñï?è?>?àœ?€Üä?åè?â?p?€Eä?óï?ð?ð?ð?€¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@‰ï?€ûï?@î?ð?€äï?À«ä?H?€d?ι?Џ?„ ?€Rí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ê?Àõï?ð?ð?ð?ð?DÐ?J?ïÊ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?dì?€›æ?€BÞ?à?X±?€üß?ñï?Àöï?ð?€ùï?Àþï?ð?ð?€ûï?ð?À½ï?Þï?ûï?ð?ð?ð?@üï?ìï?ð?:ï?ð?ð?ð?ð?ÀÑï?€ÿï?@ñï?€úï?ð?ð?ð?ð?ð?ð?ð?ð?˜ï?€^ï?ð?€Iï?Àæï?ð?Àòï?ˆï?pï?Ànì?€ë?ÀTè?Àcï?@ßï?€ýï?ð?ð?ð?ð?Àwï?€cï?Àûï?ð?@ší?Àvï?ð?Àûï?ð?@íï?øï?ð?ð?ð?ð?ð?ð?ð?€Žï?@Æï?ÀÞï?€×ï?€óï?ð?ð?ð?ð?æï?õï?Àëï?Àíï?Àêï?€‹ï?ï?ïî?Õî?À¡î?Âï?ð?€éï?€ï?€rï?€Œï?€“í?@ ï?ð?ð?€ ï?€3ê?àÙ?à?ü¥?"ï?€ûï?Àrê?X?8Å?@‡î?@è?‘?‚É?Àdî?ð?ð?ð?Àÿï?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?@éï?Àýï?Ÿï?¤¦??¢?`‘??†³?è£?d­?€Ö?ÀØï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€7æ?@Åï?ð?ð?ð?ð?€wà?8‘?ÀÂë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ëï?CÖ?°?À£é?@Üï?€ìï?€Òè?À°ï?€ëï?€Ôï?ð?ýï?@ôï?€Ñï?ð?ð?ð?€ôï?ðï?èï?@ýï?@žï?@¤ï?€ÿï?ð?ð?Àþï?@Äï?Àøï?ð?Àåï?ð?@ùï?ð?ð?ð?@èï?@Æï?äï?ð?ð?€Öî?ð?ð?@Éï?$î?@äî?Àuï?Àuï?€MÞ?€šï?ð?€Îï?@ˆï?ð?ð?ð?7ï?À·ï?@ï?»ï?@fî?€ï?ð?ð?ð?ÀÐï?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?úï?Àõï?ð?ð?ð?ð?ð?Çï?@ðï?ð?€ÿï?ÀÔï?@Ûï?ÀØï?@Ôï?€Âï?€ýï?÷ï?Àï?@eï?€Qî?@-î?Àtì?€–í?€Ìî?@ïï?‰ï?@¿ï?@Uî?‘Æ?:??Àg?Bº?Õî?@þï?€ïÕ?$?€‚Õ?@¸ç?p“?€äÖ?@Õî?ð?ð?ð?ð?À÷ï?@ðï?@ùï?ð?ð?ð?Àÿï?ð?ð?ð?½ï?þï?àï?@ ?•?Ã?€»×?@¯â?]Ý?€VÕ?€Õ?À»?€W?A?¾?0?Ћ??ëê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ãé?$ì?fï?ëï?ð?ð?ð?ð?Æí?€§Ù??åÆ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À$ï?TÎ?`ˆ?Ï?É?@†æ?@Óï?@Ðï?Àýï?€Ñï?€¿ï?ÀEï?Àéï?ÀÕï?€÷ï?ð?Òï?ùï?@ýï?Õï?€½ï?.ï?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ ï?@Nï?ûî?ð?Àõï?Àûï?ð?€òï?@Yï?À¾î?€„ï?@ˆí?Àgî?@ºå?@_â?€Þ?€ ï?€dë?ð?ð?ð?îï?ï?ð?€´ï?@üî?ð?@Òï?€ƒï?ð?@éï?ð?ð?ð?@åï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àöï?@$ï?€Ïï?÷í?Àßï?@îï?ð?ð?ð?ð?À`ï?@Ìì?À¨æ?øæ?€Ïè?öÝ?€fÒ?“Æ?È®?Àšî?@ê?ô¡?a?Àh?ŠÖ?@}ï?ð?ð?ð?ð?úï?@÷ï?ð?ð?Àýï?ð?ð?ð?ð?›ï?|ï?<ê?s?À¢?€á?Õë?‘ê?úß?À4á?€Éí?Àöï?Öï?€Tî?Àûã?€ž?€?¡?@?PŠ?°—?sÅ?v?®Ó?çï?ð?ð?ð?ð?ð?ð?Àpî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éí?ÀFì?ð?ð?ð?ð?ð?ð?ð?ð?ð? ã?(?Ä­?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?lï?íÂ? å?@lí?·ï?€ïï?€®ï?Àíï?À ä?@dí?À¾î?@Ãï?€Ûï?€Öï?ÀRï?@ï?wï?ð?À2ï?ð?@–ï?€šï?ð?ð?ð?€úï?ð?ð?ð?€ýï?@*ï?ÀÔï?ð?ð?€Àï?~ï?îï?ð?ð?À÷ï?ð?Ôï?ÀØé?€ì?€@ê?€óæ?Àé?Àœå?€|Ú?~¿?ÀÞã?Àzï?ð?ð?ð?ð?Àèï?Ààî?ï?@Æì?ð?ð?ð?ð?Àüï?ÿï?ð?ð?ð?À­ï?ð?ð?ð?ð?ð?ð?ð?ƒï?Àÿï?ð?ð?ð?ð?Àüï?À…ï?*ï?Àãï?€Ùï?±ï?@öï?Äï?ÀÄï?@ûï?·ï?€¦ï?€¸é?;Ü? «?YÎ?J?€ÍÓ?€Û?0Ž?„Ù?Ø–?̲?€së?ð?ð?ð?ð?Àûï?€Íï?ð?ð?ð?ð?@ôï?ð?Àöï?@ãï?€’î?Àá?€e?X?O?¹Ú?@Òä?€ ß?\£?uÄ?@±ã?@cè?$í?€bï?€óï?@î?À+è?§Ñ?>º? x?€Ž?ȱ?(¤?ô£?¦Ø?ÀPä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‘ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@q?Ȫ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Fß?€Û?€×ï?€ãï?Àmî?ÀÊï?@Ìï??ç?€Câ?@Àí?ÀÁï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À,ï?ûï?ð?ð?€ëï?ð?Àéï?ð?ð?cì?€îç?ð?ð?ð?ð?ð?ð?ÀÂï?@Iê?€G×?€5Ö?Àƒà?€Ö?ÿÂ?L·?€ Ø?ð?ð?ð?ð?ð?ð?ì?À­î?Àöí?ð?@ðï?ð?ð?@¶ï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?ð?ð?ð?ð?ð?ð?Àäë?@Aæ?î?@Öí?@Ûî?@Þï?ôï?€’ï?ÀUá?€¯Þ?9Ç? Ž?>?K?àš?€R?¨£?0˜?8Æ?¾Æ?@q?†æ?ð?ð?ð?ð?ð?€ùï?ð?@Õï?ð?ð?ð?ð?ð?@ÿï?ð?Àîï?*»?š? s?b½?’Õ?p“?À"á?”§?°ˆ? ‹?€WØ?Àšç?@›ï?ví?ð?•æ?sÌ?à¯?¼?1å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? å?M?€ÑÙ?Àñï?€Ûï?À¶ï?ÀÂî?—Õ?DÛ?ð?À¤ì?À§ï?ð?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?À4î?Àìï?ÀÝï?Ààï?ð?ð?Òï?ð?ð?ÿï?@|ì?ð?@õí?ð?ð?Àûî?Œï?ª¹?€d?•?:?ʶ?Àóï?€Éï?ð?ð?ð?ïï?@Žì?ð?ð?ð?ÿï?ð?ð?ÀŽî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€“ï?àî?ð?Úï?ð?í?ðË?è™??€dÐ?È?ÀÊï?€]ä?ûÇ?ʶ?8?8??Rß?àÁ?Ъ? s?ð?@ðï?ð?ð?ð?Àÿï?ð?@ùï?ð?ð?ð?ð?ð?ð?ð?ð?ƒã?N½?€üÚ?€?â?€Më?€>ï?@äê?@Vé?ø¡?”É?Ø”?D?C?àª?ð?@¤ï?ÀØï?ÀŒî?@œä?gÓ?K?Hž?ìÌ?Ð? ?€ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¯î?ð?ð?@çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€}í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aî?@³à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†í?0?€ËØ?Lí?@ßå?LÌ? ¤?ð?ð?Õï?ð?ÀÞï?ð?@¬ï?ð?ð?ð?îï?ð?@ªï?Àçï?@çï?`î?@Öï?À·î?ð?ð?ð?ð?ð?Lî?€«ï?ð?ð?ÿï?ð?À–î?Xå?@ùï?Ÿï?ð?ð?Mí?ð?ð?€“ï?ð?ð?ð?ð?@ï?Àêï?ð?ð?@hï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?Cï?À©í?ÀIî?€¯Ý?…Ë?p…?€~?€äØ?@ué?ò²?4¯?aÒ?UÙ?€Ö?È?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?@ýï?ð?ð?@ûï?Àðï?ð?ð?€Þï?·À?Ñï?ð?ð?ð?ð?ð?ÿï?à?P?@˜?$ß?Àí?Aî?ßï?@Ìï?€†í?à¿?x?EÒ?”Æ?¸«?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@’í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€3é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ò?€DÔ?€i?€\?°•?ð?€øï?ð?ï?ð?ð?€úï?ð?Åï?ð?ð?ð?ð?ð?€‚ï?Àÿï?ð?@:ï?“í?ð?ð?ð?ð?ð?ð?Àÿï?ÀJî?€Œï?€öï?@¡ã?0†?æ?À¿ë?ð?ôï?€)î?€ÿï?ð?€ñï?ð?À7ï?ð?ð?€òï?ð?ð?ð?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¦ï?ï?0?`™?€÷ì?„?¼°?"¶?ò±?R?ÀÀã?ð?ð?ð?ð?»ì?@-ï?€úï?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?ð?€öã?€¦ß?ð?ð?ð?ð?ð?ð?€óÒ?l¨?Àe??Àl?pž?Àáï?ÿï?€bï?@˜ï?@Àî?›Ú??ÁÍ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?Àï?€uî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?²É?`•?ã?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ûî?D ?°”?H?t ?€ûï?Ãï?À¸ï?€ïï?Àþï?Àòï?@Öï?ûï?@ýï?@øï?ÀÐï?ð?Àøï?ð?ð?ÀÄî?@oï?€Èï?ð?ð?ð?ð?ð?ð?ð?ð?€Àï?€”ï?@ë?À­ì?Ë×?€S?„«?uÓ?Iè?ð?ð?nî?ð?ð?ð?€üï?Ñí?ð?þï?À¯ï?ð?ð?ðï?éï?€*ï?@Þï?@ï?Àï?ð?ð?ð?ð?ð?ð?ð?€Cî?€ðØ?6? Ç?€-Ü?@óá?€†â?Ð?X?@Îè?€ìÜ?€›ë?ð?ð?ð?@ï?Àºì?œï?@Äï?@.ï?úï?@õï?€×ï?Ìï?Åï?Àöï?Ààï?ð?ð?ð?Rë?Àu?M?À+ä?ôï?ð?ð?@ãï?ð?@&ï?¸? ?¸š?ûä?ÀÖå?€1â?@¿à?å?Ðã?€ò×?Î?‚¼?€»Ú?Ĺ?B?îË?_Î?r³?(?Þã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ßï?€#î?ð?ð?ð?ð?@Ûî?ÀPì?ð?ð?ð?ð?ð?ð?ð?ð?€Õ?M?€;æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñî?À¿è?”?@¢î?€¨î?Àï?ð?€ïï?@,í?@½ï?ð?ªï?€Žï?ð?ð?ð?ð?ð?@ï?À ï?€Óï?ð?ð?@÷ï?@ýï?ð?ð?ð?þï?þï?é?ú¸?@€?$?«Ô?@àí?@óï?@¢ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Öï?€ôï?ð?ð?ð?ð?ð?ð?Ïï?€rç?Ú×?€í?€‡ï?À»ï?@@é?H™?ä¢?H¢?@d?ˆ±?®î?À2ï?.Î?ºÄ?Ûí?ð?ð?ð?ð?@ôï?€ï?€åï?ð?€ûï?€ìï?åï?ð?ÀÚï?ð?ð?ð?ð?Àþï?€™Ó?¤±?þï?ð?ð?ð?€ùï?ð?À}ç?œ¡?P?Œ?ð„?І?©Ð?€Aß?€Aï?¹ë?\ï?ð?€Rï?Yè?ðÅ?k?C?Àœë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Äî?ð?ð?@æï?žî?@Bï?¬ï?ð?ð?ð?ð?ð?ð?ð?ð?€‘â?L?õÀ?fï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýî?À%ê??B?@^á?ÀÕî?Àæï?@èï?€¿ï?ÀÒï?Àúï?ð?ð?ð?ð?Àèï?@éï?ÀKï?ð?ð?ÀYï?€Èï?€aï?5ï?ð?ð?ð?ð?ð?€þï?€Hí?(¦?ÐÓ?@öæ?Àþï?@Œï?ð?ð?€÷ï?€ýï?@úï?€åï?ð?ð?ð?ð?|ï?ð?ð?ð?¿ï?ð?ð?ð?ð?ð?ð?@Öï?€‹ï?%Ö?à…?Ñî?€äï?À¿ï?@ï?Ã?¨“?d­?~°?€âä?øÆ?\?F?_?¨¿?£à?Ÿî?ð?ð?ð?ð?ð?ð?ð?Àùï?îï?ð?ð?ð?ð?àï?ð?ÿï?€2í?H¡?N³?ÀÔå?ôï?ð?€úï?Æï?À×ï?€ï?€¹é? y?°?˜?P¡?¸¤?ÀSï?«ï?ð?ð?@Ïï?ð?€Tì?â?CÎ??€®æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð?ð?€þï?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúí?ð?€Ðï?.î?Âï?ð?ð?Uî?ð?ð?ð?ð?ð?ð?ð?ÿï?€ÂÙ?Ð’?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ºÜ?ܼ?€¶Ü?À€î?À~ï?@ûï?@!ï?ÀÍï?€öï?ð?@Úï?Àìï?@–ï?@Šî?€öï?ð?ÿï?@ïï?@î?eï?ð?ð?ð?Òï?ð?ð?ð?µî?€ßÚ?Á?¿?ð?@eï?ð?ð?Àüï?@Ýï?ð?ð?ð?@åï?ð?Uï?ð?ð?ð?ð?Úï?ÀÓï?€lë?€Ýï?€Ûï?ð?ð?ð?@€ï?€^å?@¾?€œì?Àäï?À†î? Þ? z?€¾Ð?€;Ö?d¬?Œ¬? ?€~?X£?b°?:ï?ð?ð?žï?ÀSî?ð?ÿï?ð?ð?Àâï?ð?ð?ð?ð?ð?Àþï?Àíï?€eç?@Œä?DÁ?€ƒ?(š? Ù?€òß? ¾?€Ù?ð?@ñï?ð?€Üï?ð?À€ï?žå?@Cá?@v? ¦?£Á?p£?4?T§?@ûà?êÔ? Å?ÇÑ?@êá?@ãì?@öî?ð?€éï?Àžï?Óî?€iï?ð?€+Ú?¿?Òº?|£?(?€‰?Ø–?Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æï?€lî?Àî?ð?ð?ð?ð?¾î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À£à?(?V³?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?p”?Ç?cï?ªî?ð?€·ï?À:ê?Îï?Àæï?ð?ð?ð?@]ì?À¢ï?öï?ð?Àìï? ï?ÀŠï?ð?ð?ìï?€Wï?€øï?qï?À¥ç?5Å?I?wé?ð?€²ë?ð?ð?@Òï?ð?@oï?ð?~ï?ð?ð?ð?Àýï?@ï?ð?@²ï?À•î?@Tï?@Þí?À}ï??î?ð?ð?ð?€Ýï?ÀBâ?l¦?€ÉÑ?À?Cè?ð?€Ší?À½å?¦?›?°‘?Ä?€ëà?@ˆë?Æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À°ï?âì?äï?ð?À4ï?€³Ù?€~â?@é?@„í?€í?Àèï?€eí?ÀÅï?€×ï?ð?ð?ð?ð?Àðï?€Õä?ε?€ŠÐ?ÀÎí?ð?€í?Àfà?0?€Ò?@˜å?}Ù?@Tâ?€ÞÛ?€ëÝ?<ï?ÀÀä?ºÀ?€ÄØ?àƒ?•?‚É?¬?X¨?D?@ ï?€‘ï?€Àï?€ó×?P£?$­?O?€¾?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àqâ?ÿÕ?@Ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?ð?@Ÿã?úÆ?.»?H?€Åî?@„ì?@·ï?ð?Àóï?ð?@Òï?ð?Àæï?áï?Àõï?@¤ï?Àõï?ð?ð?À}ï?Xï?À®î?ð?€}ï?ð?@òï?€‘ç?€~Ù?ð?@Bë?@ûï?ð?€õî?ð?€„ï?ð?€»î?ð?ð?ð?@Ïí?ð?ð?€ƒï?ð?€¨î?€âï?áï?@Ùï?@î?@ÿï?ð?ð?@êï?¸˜?Àéï?ð?€ˆï?ð?Àx?r±?€´Þ?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?rï?ÀÀî?ð?ð?ð?Àõï?ð?ÿï?ð?ÀOï?@Uï?€ î?@·î?À'ï?ð?ð?ð?ð?—ï?€Ô?€S?Ò²?|Ò?*Ê?—Í?@á?€”?,«?H ?º²?Â?2?p?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÄí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?,?U?×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€²ï?ð?ð?ð?ð?ð?ð?ö°? q?:?Ní?ÀÖî?ð?ð?òï?ð?ð?ð?ð?ãï?ð?¸î?ÀÈï?€âï?¹ï?ýï?Àëï?ð?áï?ëï?ÀÝí?¢Ò?€‰Ö?Àâï?@¯ï?=î?Àóï?€^ë?€8î?qî?ð?@íï?€;í?ð?Àðï?ð?ð?ð?ð?ð?¡ï?ÀQï?ð?ð?Àãï?€·í?ð?ð?ð?À¬é?8§?€ûï?ð?ð?€úï?UÖ?G?·È?€uè?€åï?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?@ê?ð?ð?ð?ð?Ýï?ÀÔï?ð?ð?ð?ð?ð?:¿?Pž?B?p‹?^¸?ð? Å?”Í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùî?€óí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÝÌ?—Ë?Àa?@@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?@Ûï?ð?ð?ð? î?@iæ?ÇÑ?¼?YÌ?€gæ?ð?ð?ð?ð?Àôï?@Þï?ð?ð?€îï?‹ï?€þï?Àðï?ªï?@Ìï?ÀVï?ð?ð?€æï?Àªî?Ô?zë?ûï?Tí?âí?Àqì?€Mé?€nØ?óì?Ýï?ð?ÀEï?@åï?@×ï?@Üï?ð?ð?ð?ð?{é?Àïï?@’é?€³ï?ð?öí?ð?ð?ð?ð?5ë?Ø’?ð?ð?€Ôî?ð?…ä?€X?K?6º?€6ß?@’ì?@ßï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èï?ð?ð?ð?ð?ð?ð?@¿ï?À8ï?€àï?ð?ð?¨Ã?I?€a?`±?$¥?Ò?$¡?´¥?™Ç?è?ð?‘í?€Äî?€Aï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÀè?€°ê?@Yï?Ûî?@“î?À…ï?@¿ï?Êï?€Èï?@øí?@0í?ð?ð?ð?ð?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôä??P?€~Ú?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?Àóï?ð?ð?ð?ð?@ãí?€vÑ? „?€üÖ?@ßï?ð?Hï?ð?Àðï?€äï?ð?@±î?úî?@–î?€æï?À±ï?@Eæ?@Þï?Àèï?Iï?ð?€´á?€¿Ü?À¡?@Dí?Àºê?í?ÀXê?œÔ?—? ?<ç?@Øï?ð?ð?€4ï?Àþï?Àõï?ð?ð?ð?ð?]î?€Âï?Àî?@Þï?ð?@ñí?€Üï?ð?ð?ð?ð?@eë?_Ì?¼­?€Z?€ôï?ð?ð?À§ï?ð”?Ѐ?P?º?Àmä?(ï?ð?ð?ð?ð?ð?€@í?@Lâ?€Õé?¡ï?ð?€úï?Àí?ð?ð?ÀLï?ð?ð?ð?ð?ð?nè?E?®?˜›?€<Ò?(¬?M?Â?¬¢?Fì?ÀŸì?@Øî?@…ï?€ï?@yí?ð?ð?Àäï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Çï?áï?@Ùí? ï?@úï?ð?ð?ð?ð?ð?€Êî?@jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€šî?€X?`Ã?g?€7Ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?ð?ð?ð?'Ø?0?€òï?Ñï?€›ï?hï?Ùï?ð?ð?Àªï?€±ï?€vï?@˜ï?!ï?€÷ï?ð?ð?@öæ?€õå?€/Ö?ç?À,ë?˜¡?€"à?ð?Àþï?ð?ð?À¶ï?Ìï?ð?ð?|ï?@ûï?ï?Ïï?À±ï?@¾ï?Àóï?ð?€ßî?ð?ð?ð?ð?ð?æï?<¼?H?î»?Àéç?@ÿï?Àoî?@Œë?º?P¥?Ü?Jâ?©ï?Àýï?@dæ?€‚Ô? y?0€?Ä?Àë?@õï?@Rí?€ÿë?ð?ð?ð?ð?ð?ð?@þï?f·??¤×?2È?B³?"À?•Ý?†Ô?Àbá?žÂ?ðŒ?€´Ö?š½?È?€W?€Çî?Àyí?ð?ð?ð?€‘ï?@îí?ð?øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àëï?À˜î?€ î?çî?ë? å?ð?ð?ð?ð?ð?ð?€×í?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥î?lî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¡×?€DÑ?…?Àd?@{?À˜à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?ÀÀï?ð?ð?@ÿï?@/å?+Ã?@Òà?ð?ð?@æï?ð?@þï?Eï?Àsï?ð?ð?ð?ð?€íï?ð?€_ê?‘?€k?4£?ª·?ð?€üï?€Gï?ð?ð?€ï?ð?ð?ð?@Øï?Àñï?ßï?€üï?Àíï?€½ï?€¼ï?€Úï?€èï?ð?ð?ð?ð?ð?@—ì?$±?Àÿï?€ýï?ð?€BÞ?8?|£?è·?€?@†å?ð?ð?ð?ð?ð?ð?ð?ð?€Aä?ÀDï?@î?ð?ð?ð?ð?ð?ð?ð?€íï?€ä?|ª?ÃÂ?ð‰?Éâ?ð?ð?ð?ð?ð?ð?ð?€¼í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€óî?€eê?@ÿï?€ëí?ð?ð?ð?ð?ð?ð?ð?ð?ÀÓî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôî?€³ï?@íí?ð?ð?ð?ð?ð?vï?ð?ð?ð?ð?ð?ð?ð?@xï?é?½Ñ?W? Ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rï?ð?À¥ï?Jå?€ÒØ?ÇÁ?€f?Àï?ð?ð?@üï?vì?ð?ð?ð?ð?ð?ð?ð?@¨ï?óÔ? ?ð?ð?ÀÄí?ð?@üï?€Ûï?ñï?ð?ð?€ÿï?äï?Àqï?ð?@Úï?€Êï?Kï?Àé?Àí?ð?þï?ð?ð?ð?ð?@râ?Àí?€,ï?@…ï?¡à?€ Ó?z³??ÀŽä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßî?ð?ð?À6ï?ð?ð?ð?ð?ÿï?Nì?€kÓ?À®?¤¢?ºÍ?Ò·?´´?€1Ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€œî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?@ì?€ÿï?Àï?ð?ð?ð?ð?ð?ð?ð?ð?@í?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?óï?ð?€,î?ð?ð?ð?ð?ð?@Ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å?<ª?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áï?ð?ð?Rê?YÒ?H—?€×?ð?ð?ð?ð?ð?Àºï?ð?ð?ð?ð?ð?€7ï?€¢å?2?@¯ï?ð?€(å?ð?€Õï?ãï?€ãï?ð?ÀÞï?Àõï?ð?@òï?ð?ð?ïï?@æï?@Ûï?Æí?€óï?Âï?ð?ð?ð?ð?ÀŸï?(¶?‡Õ?€ôç?ÀÑî?Æ?¡? q?€öâ?ð?€xï?ð?ð?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€·Õ?¨Ë?È­?x‘?¸“? ›?€ ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€©î?À¦î?Þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?À î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À8í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?Wí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€tí?ð?@±ë?(?³?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ÀRê?À“è?¸¥?€£ï?@Ãï?Øï?Àêï?ð?ð?ð?ð?ð?ð?áï?@üï?À`ä?H?D?­ä?ð?@öï?ð?ð?ð?ð?ð?@Lï?ð?ð?ð?ð?ð?ð?ð?ð?|ë?€Üï?Àòï?€oï?ð?Àáï?ð?ð??€ÏÕ?€»ç?À"î?GÊ?@Tæ?îæ?âÃ?€?jÆ?8‘?•×?€mí?@üï?ð?ùï?ï?À¹ì?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€€Ð?€S??€ ë?@Úî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí?ð?ð?ð?ð?ð?ýï?ð?ð?ð?ð?ð?ð?–î?@Rî?@>î?ÀŠï?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?Mî?@òï?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Gï?ð?ð?Àží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀIï?ð?ð?åë?Ä»?´©?:Í?@óï?ð?ð?ð?ð?ð?ð?^ï?ÀÅæ?@¹? ç?€úï?ùë?ð?€nï?ð?ð?€ãï?ð?ð?ð?ð?@¢æ?@q?°Ï?Àòï?ð?ð?€ôï?@{ï?€”ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€pí?€ î?Àýï?€õï?ð?ð?ð?.´?%À?º¹?€ÃÞ?yÏ?€9Ò?€%ê?Àã?@5é?5Õ?ÀÃæ?CÂ?@u?©??À?Àúà?À,î? î?@ºï?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ð?.ï?åÐ?ð?=ï? í?€Zí?@üï?ð?ð?ð?ð?ð?ð?ð?Àøì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýï?~í?@Oï?ð?™ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€3ê?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?€«í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æê?ð?hÈ?ð?ð?ð?ð?€0è?WÉ?7Ã?¬«?³×?ð?ð?õï?€õï?€ãï?Àï?@Wï?ð?ð?ð?ð?@¿î? †?Ä¡?J?@òä?ð?ð?€`í?°•?p¨?ð?ð?ð?ð?ð?Àéï?Àä?ð?ð?ð?€Ûï?ð?@ï?€àï?ñï?ð?ð?ð?SÊ? ã?€ûë?È?›ß?š²?0‘?€Bå?À˜á? ²?Ô ?U?ÐÊ?À3á?@æ?€¡Ð?€Ÿí?ð?ð?€eî?ð?ð?ð?ð?ÀÃï?tÒ?<¹?@Êé?@ì?@ î?€îî?ð?€óï?ð?ð?ð?ð?ð?ð?ð?rí?³æ?ð?ð?ð?ð?úï?ð?óí?€…î?@€í?@Ìî?€!î?€˜î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ÀGé?À®î?ð?ð?ð?ð?ð?@Qí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ð?ÀËï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ýì?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Né?d¼?€Ùå?(í?€)á?€qÛ??ŠÏ?vÄ?n?°Ÿ?¸ï?ð?@éï?€-ï?@Àï?@Áï?@òï?€Ûï?ð?ð?ôï?@:ï?QÑ??E?(À?ð?æï?À"ë?½?@+ë?Ààè?ð?ð?ð?êï?€;á?@qå?€üï?ð?ð?ð?ð?ð?ð?ð?ð?€æï?€ßÞ??€ïï?€iß?¡?6?€Y?æ²?€}Ù?:É?`—?P¥?ÀŠê?ð?Àúï?ð?ð?ð?ð?ð?À ë?ø™??@ë?@î?ìì?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À×ê?ð?ð?ð?ð?Öï?@ˆí?ýï?ð?eí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?”í?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?õï?@Yï?ð?€$í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Jî?ð?ð?ð?ð?—í?ð?ð?€4î?ð?ôï?ð?ð?ð?ð?‰ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àgí?€i?–²?è“?ýÝ?€æà?¼?ÀÒê?ð?öï?Úì?ÀÍï?ð?ð?Þï?Kï?€Èï?ôï?×?€¢Ú?˜?g?àÁ? Ô?ÀNï?ð?€”ê?×?*î?ð?ð?ð?€hë?@Ñî?ð?@Yî?ð?ð?ð?ð?€îï?ð?ð?Ô¹?H«?À‰á?¢½?€ñÔ?¸?€ã?›Ü?´??ë?Íí?ܨ?D¤?…æ?€pá?€õï?ð?ð?ð?ð?€dÞ?FÇ?€ƒå?”¦?`q?Ĩ?È·?ô¸?€ßÞ?Àì?Öî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’ì?ð?ð?ð?ð?€Kî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?mî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ùï?ð?€¼ï?@cí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?ð?ð?Áï?@øï?Àôï?ð?ð?ð?@°ï?¿?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€úí?€/Ü?à?@àâ?„¿?F? }?–¹?uï?ð?€»ï?€Üï?ð?ðî?ð?êï?÷ï?@Šï?€ïä?€ž?¨–?€?)Ù?€Aï?ð?Ð?Àk?d¯?@5ï?ð?ð?ð?€Ií?€”í?ð?ð?ð?ð?ð?ð?€Öï?ð?Àœ?‚Ô?B?4¯?OÓ?¬¨?ýÄ?€9×?\¡?¡Ñ?ÀÚî?hµ?àw?€3î?Àå?ŸÚ?Àéï?ð?ð?Õ?(?¼Î?€ùï?jî?x½?@#å?Ê?¸¼?`q?8?pŒ?Ü£?ñÂ?€„à?Àsè?@è?Ýí?€¦î?ð?ð?ð?ð?ð?ð?ð?ð?@«ï?ð?ð?ð?€Dï?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Éï?ð?ð?ð?ð?ð?ð?Iï?À'î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€[é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀŠî?Àæí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@2ï?ð?ð?Àúï?ÀÂì?€Úï?ð?ð?ð?ð?ÀIí?ð?ð?ð?ð?ð?ð?ð?ð?ð?@³ï?ð?€Yç?Ää??]Á?ü ?ìÓ?@+â?Õì?ð?Ì¥?€sÒ?ð?Àaï?úï?ð?€öï?úï?îï?€Ïï?@î? ›?¦Ì?Œ¤?ð½?À<ï?Rï?ª?Àá?ð?€þï?ð?€•ì?À$ì?ð?ð?ð?ð?ð?ð?ð?€é?6?¥?àw?h?@?è¦?¢ì?€å?°“? ”?8˜?€ Ð?€öì?‡Ø?E?ð­?¤è?úÁ?CÐ?ð?ð?+É?t¨?f³?–µ?€è?ð?Þç?€z?@}?€,Û?À…ã?ÀÇã?€éÚ?Y?Y?l¥?ˆÁ?”«??å?$ï?@êî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Eî?À¨ï?À+ê?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ôï?ð?ð?ð?ð?ð?ð?€õï?Àúï? î?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?€Rî?Kï?ð?ð?ð?ð?ð?ð?ð?@–î?Ûï?À3î?ð?ð?ð?ð?ð?ð?ð?ð?ð?¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?ð?ð?ð?ð?@íí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7î?ð?ð?ð?@|à?¯?Ô«?@¬å?€xæ?€žè?ð?À”ï?ð?ð?ð?ð?€Z?€ôï?Ôï?@ãï?ð?ð?ð?èï?ð?ð?^²?ŽÂ?ð?À‰ä?÷Ê?€Ô?€ùï?ð?nï?@òì?€©ï?ð?€çï?ð?€åï?€[í?€ºÖ?QÂ?`¡??(§?õÌ?ð?€½à?€©Ú?”¯?@õä?¶Ã?Ç?ì¦?Àì?À±ä?ð?ð?Õ?~Á?€~à?Àjâ?ð?ð?ð?ð?Àtí?Ö²?@‹ã?@¤î?ð?ð?ð?ð?€—æ?F»?UÄ?¬Ø?|¡?¸º?OÂ?H?Ç?jä?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@²í?À„ï?Íï?€Oï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@šå?ð?€õï?ð?ð?ð?@„î?€@î?ð?ð?ð?ð?ð?€wî?ð?ð?ð?Àæï?€¥í?ð?ð?ð?ð?€êï?À\î?€Ùï?wï?@$ï?À!ï?ð?ð?ð?ð?ð?@Æï?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?ð?ð?ð?ð?ð?€‰î?ð?ð?À/î?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€7á?$µ?HÊ?À,ç?€žï?€ê?@%ï?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?—Å?€ã?@žï?@Üï?€üï?ð?ð?ð?Àêï?@¼ï?à?`‰?€×æ?ð?0¨?0Á?à?ÀVè?ÀØï?@Úë?2ï?€òï?@çë?òç?@·à?¸?0†?0Ý?UË?(?:?€®Ö?:Ð?ŸÕ?€ùì? ã?0“?¤®?ÀFå?V³?U?0„?ð?@Üï?ð?‚î?Àï? ±?@&ì?Àrí?Àòï?øï?ð?ð?ð?ð?€ÂÚ?ð?ð?ð?ð?ð?ð?Àï?–Ó?×Ú?€vâ?@»ä?Àöà?®¾?€vÛ?–æ?€Ðé?€ï×?JÁ?®±?ÀËï?p†?"ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀKè?ð?ð?ð?À»ï?ÀLî?€mï?ð?ð?ð?ð?ð?À\î?Àwï?ð?ð?Àjî?#î?êï?ð?ð?ð?ð?ð?€Gï?’î?ð?ð?ð?ÀŸí?ð?ð?ð?@ôí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€1ï?ð?ð?ð?ð?ð?ð?À,î?@^î?€;ï?@¥ï?ð?ð?ð?ð?ð?ð?€õï?€Kï?ð?ð?ð?ð?ð?ð?ð?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¢æ?E?У?@Ïï?@âï?@÷ï?ð?ð?ð?àä?(³?¼³?€ ß?ð?ƒ?C?FÑ?f?ÚÚ?ð?í?Àaë?@å?f?Ù?XÔ?*°?€«å?ØÕ?€Õ?@â? °?€Ñ?ÝÛ?šÀ?N?V?ðˆ?@Ûï?@Õã?ïï?ð?ð?À¬ä?€\Ô?@î?ñí?ð?ð?ð?ð?ð?Àæ?B?þí?ð?ð?À×î?ð?€Õï?ð?Kï?Àoï?€ùï?óï?ð?€ç?ìÛ?ðÞ?ÀYî?ð?ð?@ïï?€>ä?êÇ?#Ò?€Îá?†Ã?–è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Jï?ð?ð?@&ï?¶ï?ð?ð?ð?ð?ð?ð?ð?èï?ð?ð?ð?À®î?À–ì?ð?ð?ð?ð?ð?ð?ð?€Gï?Bï?ð?ð?Ýï?ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªï?Àäî?@úï?€hî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??Ú?€½ì?ð?Àýï?ð?àï?ð?(’?Èœ?™Ö?â¶?Ø?ÀIå?ð?Á?çÚ?€ï?ð?@Úç?–»?7Ú?N½?TÒ?ð?€Ö?æÄ?æã?˜©?ÀÞâ?€±Ñ?­??X¬?ß?@fá?€Aï?ð?§ï?À¾â?Œ?iÑ?ÜÐ?¨“?0?@Øà?€þï?@»ê?ð?ð?ð?ð?ð?ÍØ?€Ö?€î?ð?Èï?ð?Àýï?ð?ð?ð?Òí?€öï?ï?ð?ð?ð?ð?ð?ð?ðï?€Mï?À(î?@ê?€K×?a?Z?À§ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?@Ôí?¾ï?€yí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À*î?@xï?ð?@eî?À}ì?@ùí?÷ï?ð?ð?ð?ð?À¥ï?€æï?ð?ð?À4ï?øí?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@•î?€ºí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?†¶?€éç?ð?€.ï?ð?Íì?€qß?«?ˆ”?@wá?À ï?è–?µ?ÀYè?ð?@gà?*Ó?@e?Sä?Àðï?€óß?&²?€”á?øÞ?€±×?dÑ?°¨?‘Ä?›?ÀPä?€ùæ?¾?˜½?€XÕ?L×?ÐÓ?€å?ð?ð?@“ï?Àþï?oî?¢Ð?Ð?æÀ?²Ì?€¡ì?€7Ø? ‘?@pî?ð?Àíï?ð?ð?@þï?€þï?@®ï?ð?€Bì?€¨ï?ð?ð?ð?ð?ÿï?@8ï?8ï?€úï?ð?@kï?@Áï?@áï?ãï?ÀIï?€ì?ÀŠï?@æï?Àï?€mï?ð?ð?ð?€Nê?ð?ð?ð?ð?ð?ð?ð?ð?ð?­Ô?‹Ï?€(é?€¸î?À8î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ðï?oç?ð?ð?½ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@hì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?€>ë?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?$¹?ð?ð?ð?î?0Ë?²?Àp?@i?Àûî?ÀDï?€ià?€&Ó? z?š?Ë?@h?°‚??SØ?V?@Dï?€™ï?ð?€ÞÖ?@°á?€€Ð?€p?øœ?²?ð?ï?ð?ð?@õï?€îï?ð?@­ï?@«î?Àýï?ð?@úï?@æî?Àpï?€uï?Âï?@óî?@öî?€Qï?ð?Àcï?Àfï?~ï?£ê?ð?ð?ð?€õï?€Éî?ð?ð?Àµï?€*ì?ð?ð?Àÿï?€üï?êî?î?ÀØí?ÀŽï?@øï?€ã?À?¾Ã?Zî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?€ùá?ð?ð?ð?ð?@ëì?]é?ˆç? â?Àaã?›ë?ð?ð?ð?ð?ÀÞì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ôï?@ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À/ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÊê?Àî?ð?ïï?rî?À{?€QÐ?ð?ð?À¢ï?€æ?@lå?Áí?€ëæ?`¢?€?€vá?€?—ï?Àüï?ð?BÚ? ³?wÛ?Àõï?ð?ð?aî?€§î?ð?î?ð?ð?ð?ð?ð?ð?Àúï?ð?@ðï?ð?ð?ð?@éï?€Úï?Àëï?@ùì?ð?ð?ð?ð?@ƒî?êï?ð?À¸í?€]ï?ð?ð?€üï?€6ï?ð?€$ï?ð?@øî?Àî?€ðê?€Ûï?1Ï?ô½?@Nè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Æí?ð?€?î?Âé?€¹Ð?à­?0?0?“ç?€¾î?ð?ð?@zë?ð?ð?¦î?€®î?ð?ð?ð?ð?ð?–î?ð?ð?ð?€õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àmî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ò?€Ò?@±è?€Ú?hª?p”?¡?ïå?À‰î?‰î?ð?,é?0ˆ?F?€°Ú?ð?ð?€ï?€øÓ?4?€W?Ȥ?€@Ø?0¢?@?.Æ?@_æ?‘æ?€oî?€xÜ?ð?ð?ð?ð?´î?€îî?ð?ð?ð?ð?ð?ï?ð?€ÿï?ð?»ï?Àƒî?î?ýî?ï?€Öî?Eë?ð?ð?ð?ð?ð?Àÿï?@¢î?Àòï?ûï?@ùï?ð?ð?ð?ð?ôî?ÀÒï?@Dî?Ààî?€3í?Àyí?ð?ÀTî?‹Ø?€æÐ?¶?@Ì?óÍ?vÔ?ÉÆ?€V?¨“?"×?À–ï?ð?ð?ð?ð?ð?ð?€Òî?ð?€ýï?ð?@yï?ð?ð?ð?þî?ð?ð?ð?ð?ð?ð?€fÛ?»?Š·?ð„?vî?ð?ð?Ïî?ð?ð?4í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÃî?ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóë?h”?=á?ºÌ?€Ý?ð?²ì?ð?À/ï?€uë?FÂ?Q?€ÅÕ?@uï?ð?ð?Àõï?€{ì?@2ì?$Ì?°œ?€Z?o?œ?ˆ™?¸Ä?€Ù?ð?ð?ð?ð?ð?@ î?ð?ð?ð?€{î?ð?ð?ð?ð?€eï?€î?ð?ð?ð?ð?@øï?@?ï?ð?ð?ð?ð?ð?ð?ï?Àgï?@Ïï?ð?ð?ð?ð?ð?ÀÁï?ð?€ãï?@bï?€éï?ÀØî?ð?€Øï?À°ì?ð?€àï?€ï?@ïï?>ï?ð?@è?nÞ?UÇ?™Ë?€ªî?ð?ð?ð?ð?ð?@Çï?ï?ÿï?ð?Àï?ð?@ýï?€ìï?ÀPê?ð?ð?ð?ð?ð?¨ì?Àhà?@,ï?ÀCê?ð?ð?ð?Ôë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€íï?€ï?Àdï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Úï?ð?ð?@žî?À®î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?ÀÂï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?®?ì?@Þï?@bå?(æ?Ÿà?€ºÔ?€jÔ?æï?@>ï?ð?ð?Àé?€'î??°?bî?ð?ð?ð?ð?ð?€dì?@í?UÑ?œ¤?$Ñ?k?A?à¬?XØ?ð?ð?ð?ð?ð?@¸î?ð?€)ï?À¶ï?ð?ð?À´ï?ð?ÀÄï?@ï?ð?ð?ð?ð?ð?Àî?ð?ð?ð?€óï?ð?ð?ð?ð?ð?€ ï?ð?jï?ð?ð?ð?ð?ð?ð?@rï?À´î?ð?ð?@+ï?À²î?ÀQê?Àïï?ð?ð?€Öî?Àëî?@òï?ð?€ýï?@%à?g?+Á?Ãë?ð?ð?ð?ð?ð?€Æí?@©é?Àëá?@Ý?€Ø?)É?¹Ù?ÝÓ?ÀÏê?€æï?@ßï?ðå?wÚ?@•?¨¥?Àèï?öî?ð?@øî?À³ï?@ëë?[è?@Nï?ð?ð?ð?ð?@ÿï?Àîï?½î?À!ï?€ºï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?øï?ð?€ î?€ìï?ð?Ñì?ð?ð?ð?ð?@þï?Ëí?î?@{î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¥í?ð?ð?ð?ð?ð?ð?ÀÛï?ð?ð?€üï?ð?@eæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?'×?mÈ?€ðï?ð?ð?ð?Àþï?„®? }?ð?ð?ð?ð?€ï?ð?5Ç?°‘?d?-Ñ?€ì?À˜í?ð?ð?ð?ð?ð?ð?Ô?Àt?ð‡?ðƒ?G?mÇ?ð?ð?ð?ð?ð?€Dï?€Àï?€›ï?@èï?€ÿï?€uï?‰ï?@‚î?Àï?€ÿï?ð?ð?ð?@ùï?€ëî?ÀCî?ð?ð?ð?@Çï?ð?ð?ð?ð?ð?ð?ð?ð?€„ï?ð?ð?ð?ð?ð?ð?Àñï?ÿî?@òï?€é?€Ñì?€èï?€•ï?ð?À í?žâ?¡í?ð?ð?ð?Àýï?¥è?ؼ?Q?€kÙ?Àæë?ð?"ï?má?;Ê?ŠÁ?Ä?DÇ?€yÛ?¦Ô?kÄ?˜œ?°Ž?ÀÉå?À°ï?ûï?@ï?dî?}í?€]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸ï?@æî?ð?ð?ð?Úí?Àòí?À,î?¬ï?@‹ë?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¼í?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½æ?9Ï?@hï?ð?ð?ð?€Ïî?4?À¸í?@ìï?ð?ð?ð?ð?ÄÎ?À}? Ò?ð?ð?ð?ð?ð?ð?ð?wê?€(å?€×Õ? ˆ?€Ñ?Àä?ð?ð?ð?ð?ð?¨ï?Àúï?ð?ð?@®î?€ï?cî?ð?ð?Àúï?åï?ð?ð?ð?ð?@òï?ð?@ìï?€[ï?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?6í?†í?Ÿå?À÷ì?ð?ð?ð?@áï?Àðï?Àoí?ð?ð?ð?€ÿï?Àï?ÀZè?€»Ó? Ñ?ô ?D ?0³?@Ì?%ï?Yî?æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?€;í?€}í?@¹í?@†î?ð?ð?À–ï?ñí?Àýí?@ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¤è?K?$È?€Ëå?ð?ð?€þï?¸ê?~º?€ÙØ?ð?ð?ð?ð?ð? œ?ÜÌ?|¶?‹Ì?@Äï?€¯ï?ð?ð?ð?ð?@ïï?€í?ÀÈè?О?R¾?P¥?¶?@šï?€`ï?ð?ð?@¹ï?€Ôï?@üï?@üï?ð?ð?ð?€ÿï?ð?ð?ð?ð?@ðï?'ï?ðî?ÀÎî?qì?€íí?Àí?€¤ï?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?ð?ð?ð?ð?@úï?®ï?ð?@ï?ÀÎî?ýä?ð?ð?ð?ð?ð?Ìî?ÀÜï?Àqï?ð?ð?ð?ð?éî?ÀWï?ºà?v?Àíä?Àüï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ÀÈí?À³ì?Õî?ð?ð?€5î?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¦ï?@vï?ð?ð?ð?ð?ð?ð?ð?ð?ÀAà?€@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Pë?@y?À0è?ð?ð?ð?€»ï?…Ü?4?€få?@ãï?ð?€ï?À,ï?nÊ?®½?@i?€¤?ÀUï?ð?ð?ð?ð?ð?ð?âï?Àyï?€/Û?<«?òÌ?@5à?ð?ð?ð?ð?ðî?ð?ð?Çï?ÀEï?ð?ð?ð?ð?ð?ð?iî?@.ï?@ï?ýï?ï?@ªï?ÀÎï?€Îï?Àï?€þï?¬ï?ð?ð?ð?ð?@þï?€ï?À&ï?Åî?%ï?@wï?Àrï?@Žî?ÀÑï?ð?ð?ð?ð? ê?ð?ð?ð?ð?Àñï?€Ôï?ð?€áî?ð?ð?ð?@Rï?ð?®ï?€%Ø?ð?ð?ð?ð?ð?ð?@úï?@úï?À±ï?ð?ð?ð?ð?@¹í?ð?ð?ð?ð?¥é?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€õí?@›í?ÀÍí?sï?€­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?Àvï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÒÚ?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ê?Èš?€1Ö??@›ê?ð?óê?€õï?ð?=ä?B?Æ?õï?ð?ð?Àöï?€²Õ?6?KÂ?\¦?\¸?€_?ñÍ?€ðÝ?À…æ?€î?ð?ð?ð?ð?ð?ð?ð?ð?ðï?ÀÊç?€W? p?€j?àq?<¥?€$ï?ð?ð?ð?€ðï?@Óï?ð?ð?ð?€²ï?€Vï?À@ï?€çî?Àiî?@Öî?€Äî?€ùî?)ï?€Hî?€'ï?ð?ð?ÀÃï?ð?ãï?€Lï?@ï?Àžï?ð?ð?ð?ð?ð?Àåï?Ýï?@Òï?ð?€(ï?@Ýï?ð?ð?ð?ð?€Ãï?iï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?9Ä?€{é?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îî?ð?ð?ð?@’í?ð?ð?ð?@Þï?À­î?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?ªí?îï?bï?@îï?@Nï?þï?ð?ð?€Àî?ð?ð?ð?ð?ð?ð?ð?€üï?ð?Àyì?À›î?ñï?ð?ð?ð?ð?ð?ð?ð?ð?,ë?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@1è?°†?Æ?€ÌÕ?L?º×?øï?€lï?í?ð?ð?€–Ü?P©?É?€î?ð?ð?ÀÝï?óÂ?@w?°…?¾?@ôì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àcâ?Àƒ?À?›Ð?¹È?Àr?À‰æ?€Kí?ð?ð?ð?ð?;ï?ð?ð?ð?€¡ï?À¿î?€Ýî?@Hï?ð?ð?Àþï?@úï?€ôï?@©ï?ð?ð?ð?ð?€Tï?Àðï?Eï?ð?ð?ÀÁî?ð?ð?ð?ð?ð?ð?ð?ð?ð?€\î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? é?@w?€‡î?À[î?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?ð?ð?ð?í?ð?ð?ð?3í?ð?@ï?ð?Àªí?Cì?Àåì?zí?@[î?€qî?À„î?²ë?ð?ð?ð?ð?ð?¿î?î?€(ï?@œë?ð?ð?ð?ð?ð?ð?ð?ûï?@.æ?@bã?ð?@Ïì?ûë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Xì?'×?C?”?øÃ?:?ÄÂ?@™è?ð?ð?ð?øï?€Ìê?@Vâ?€ðß?¦?€â?ð?ð?Äë?!É?¨ž?C?€FÙ?@jï?€ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?À|ï?ËØ?Œ?€HÜ?*Í?°„? y?¯?­ï?@Ïî?ð?ð?@úï?ð?ð?ð?ð?ð?€Žï?ð?ð?ð?ð?ð?Àßï?€öï?ð?ð?ð?ð?ð?ð?ð?€[î?À0ï?ð?ð?@Ãï?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kï?˜ä?z°?#ï?@Ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?ð?ð?ð?Àì?€9ì?"ì?À‰í?Zï?€ïï?À\î?@5î?@ví?€_î?@Eî?€øï?Àáî?ð?@°ï?@ñï?@î?àï?€öï?@÷î?@±í?œì?@zï?ð?ð?ð?ð?ð?À¡ç?wÖ?@ˆï?ð?@ê?Àùà?Ìä?ÀËî?2î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÝá?`y? ?_À?àu?°?ð?ð?ð?ð?ð?€âï?€Íé?€ª×??õÇ?@xí?@é?@u?2?@Âí?@%î?Sé?€—Ú?€“è?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?žï? Ô?n?’Á?Wâ?Àf?R?€Ûï?ÏÃ?€Ñ?€V?€Ñí?Àôï?ð?ð?ð?ð?ð?ð?ð?Àäï?ð?ð?€úï?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?˜ï?ð?€µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À•í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@pï?ð?ð?ð?ð?ð?ïì?À8î?À3à?€Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Xî?ð?ð?€Óë?€^é?ûê?@_ì?€Éí?€•ì?@Eî?@Éî?À˜î?@íí?ýï?€mï?Àõï?@&ì?@Êî?Þî? ï?Àî?Àiî?@[î?@8î?}ï?€äî?@=í?Àî?ð?ð?ð?dÞ?þï?ð?ð?ð?€7î?@¼ë?µî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øï?$Ú?8Ã?À¹ç?¸ë?ð?ð?ð?ð?ð?ð?ßé?-Ù?QÏ?D»?€ÍÕ?€«Ù?P‹?H–?OÌ?@þï?ð?ð?@óï?@áï?ð?@]ï?@äï?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¡ì?€êï?À+à?@Š?$¬?€úí?€à?€²Ö?òË??¬?{Æ?úí?Öº?@?‚?SÀ?€]à?À_í?AÔ?‡Â?€ûÚ?ï?ð?@úï?Àøï?ð?@pï?ï?ÀÉï?Ùï?@aî?ð?ð?ð?ð?ð?ÀÝï?ßï?@ñî?ÀEî?€ ï?Àï?À¤î?ð?ð?€‚ï?@ï?²ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Òï?€úï?€äî?€çï?ð?ð?ð?ð?ð?ð?ð?€<ï?ð?ð?ð?ð?ð?@ƒï?ð?åî?ð?ð?ð?ð?òï?Àï?Øì?€òÛ?€3Õ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€½ì?ð?ð?sé?@Òæ?€ýï?ð?ð?ð?@×ì?Àaî?€üî?ð?ð?@³í?ð?ð?€çé?€î?ÀŠé?í?@…ï?ð?ð?Šî?€}î?ð?€Ñï?ð?ð?ð?ð?ð?ð?ð?ð?€þï?À€î?ð?ð?ð?ð?ð?€>ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?Ï?€P?€ÎÚ? Ð?ð?€Úï?ð?ð?ð?ð?ð?¿í?ÀÙá?©Ó?T£?Т? ?à?ð?ð?ð?ð?ð?ð?Àµë?Àíî?€¯ï?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?*È?tÁ?µÀ?€Iæ?<æ?ÀÉï?Àóë?ï?@oì?€úé?ÀÏï?À¿ë?ýï?=Ð?÷Æ?fê?±æ?Þ·?G?Àd?]Ï?jï?€Øï?Yï?€£ï?ð?ð?ð?ð?ð?€6ï?Àöí?ÀIï?Àï?@Zï?€Íï?ð?ð?ð?ð?€²ï?€Ûï?ð?ð?—ï?Àþï?ð?ð?À‰î?@Lï?ð?ð?ð?ð?ð?ð?Àúï?ð?ð?ð?€¢ï?€Ûì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@ìï?ð?€àï?ð?ð?Àßï?€–ï?ð?ñî?ð?ð?ð?@Æî?€þï?€^â?X›?€8Ð?À#á?î?ð?ð?ð?ð?ÀËï?À î?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?@%ì?ð?@âí?À(ê?@¬í?\î?Àìî?rï?ð?cí?ÀYî?€¹î?@®î?Àßî?ð?ÀHï?tï?ð?·ï?@Ví?@»ï?ð?ð?ð?ð?ð?ð?ð?@Wï?€ùí?ð?ð?ð?ð?·ë?@¸å?OÊ?Û?hï?ð?ð?ð?@?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? Ð?F?$?¬»?€k?@tå?Àòï?Àøï?ð?ð?ð?ð?€Äï?À~ë?@¬î?@¹?€b?à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üÔ?˜Ç?À ê?ð?ð?ð?ð?ð?ð?ð?À/ê? Î?,Ç?€}ï?€zí?Àï?ÀÕï?ð?ð?–ï?´ï?ð?ð?ð?ð?ð?ð?yï?€î?ÀŸì?@¥î?@žá?3Í?Ì¡?¸›?ãÄ?(›?^?\Ä?ÀÕç?À«?H“?€¬ß?€xæ?ð“?»Â? À?å?‚¿? €?¤£?@äí?€Óï?ð?ð?@ýï?ð?òï?¾ï?Àƒï?@Pï?Àgï?€Gï?@”í?Àï?dï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?€.î?Àšî?Àðì?@ºí?@›í?À¥î?×ê?ðé?©í?@›î?ð?Àôï?Rï?`ï?ð?Àï?ð?ð?ð?ð?@òî?ð?ð?ð?ð?ð?ð?ð?ð?€‚ï?@Öï?Àõï?@ ï?ð?ð?@`å?@<ç?­ç?€¶ä?€Ãç?"ä?¸Ý?ÎÎ?Àï?Àè?€ ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€‡í?Aî?€ëè?€Óä?ð?ð?ð?ð?@(î?Àuï?€cî?@†î?ÀOî?@dî?ð?ð?ð?ð?ð?ð?Àï?ð?ð?ð?@ìï?ð?ð?ð?€üî?ÀÖë?ð?ð?×í?@“ï?˜¡?‚?@ýæ?@äï?ð?ð?ð?í?ð?@=î?@qï?ð?ð?ð?ð?ð?ð?ð?ð?€Ñï?^Ü?â?”Ü?`Ž?ÉÁ?Ë?ð?€äå?ð?ð?ð?ð?@üï?jï?nï?@åî?€­î?Ìï?ð?ÀXï?Àþï?À‚ï?Àmï?€„ï?À³î?ð?ð?ð?@ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?«ï?í?Àçï?ð?Àìë?@*æ?[ï?@ðï?­ï?@×î?À#ï?Àï?ð?ð?¾ï?ð?@"î?ð?€öï?@úï?ÀUï?ð?ð?ð?ð?ð?Àëî?ùï?-ï?ð?»ì?ÀÃé?ä?2í?Àüï?ð?@zë?@°ì?€–Ð?À)ã?Àá?Å?Àz?€Úß?ÀÙé?€Åí?À²î?¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtï?@é?@bï?À…ï?ð?ð?ð?ð?ð?Àøî?®î?Àî?Jî?ð?Dî?ÀÑî?@Ñï?ð?ð?ð?@•í?Àtî?Àéï?€{î?@Oí?€Òî?ð?ð?ð?ð?ð?ð?ð?ð?OÀ?@i?€ùë?ð?ð?ð?ð?ð?ð?§ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ æ?<¿?€Ù×?€^Ô?ð?ð?ð?ð?ð?ð?@Ðï?@ è?€kÖ?F?*¹?€JÛ?ð?€Õï?ð?ð?ð?ð?ð?ð?¨ï?ð?€Åî?ð?ð?ð?çï?€|ã?Àn?D¶?ð?€ï?¯Ñ?@a?À€î?À±ë?@Ûï?1Ò?€ Ú?`˜?À€?È¡? „? s?l¥?zê?€Æï?ð?€Šï?ð?ð?ð?@‘ã?°¾?G? á?`¼?€f?C? t?@t?`~?ÆÎ?²?ø¿?d²? ?âî?@éï?Àgï?ð?ð?Àúï?@Ûï?@Šï?ð?ð?ð?ð?À‚î?@‘ï?€¥ï?Àîî?ð?ð?ð?ð?¨î?@'ï?Àþï?€(ï?€aî?€Uï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À.ï?@+ï?€¯î?€@é?@ä?@‚í?ð?@þï?ð?ð?ð?Àåï?@Tï?Àðï?Àjï?ÀRî?åí?@Öï?ð?ð?ð?À¼ï?ð?ð?ï?Àþï? î?Àµê?Àâè?À†ê?±î?€Eï?ð?@áï?!Í?€6ï?ð?ð?@Uï?@ðæ?€JÖ? ª?P²?‘?Fé?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬å?ð?ð?€%ï?€£è?@¶ï?ð?ð?ð?ð?ð?”ï?€Ôî?Àî?ð?ð?@î?ð?ð?ð?ð?Ýí?@¤î?9í?ð?ð?ð?ð?ëé?@‚í?@ùï?ð?À´ï?ð?:?Àc?€à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?<ï?‘?:?}ì?@|î?ð?ð?ð?ð?ð?ð?ðï?ÀRé?®³?È×?€Q?7À?Q?€Ùï?ð?ð?ð?ð?ð?ð?€çï?!ï?ð?@Ãî?ð?ð?@Šï?€Æ×?Ð?ð?@Ùï?ßí?™ë?€Þï?ÀTæ?Ï?(Ö?€äÖ?@}?EÕ?Œ¿?P†?0Ž?f?®È?À¬ä?àž?€V?C?ø¼?€w?¶¹?×Í?ÀÓá?ð?ð?ð?ð?õè?Àk?¯?®Ð?MÊ?°µ?:º?€\ã?€¤Ö?˜¢?€y?À~?À…?€V?e?m?`z? ?ð?Àôï?…ï?ð?ð?ð?€nï?ð?ð?ð?ð?ð?ð?€í?ð?ð?€Àï?ð?ð?ð?ð?ð?@åî?Æî?ð? î?€Íï?Àï?@~î?@Uî?ð?À!ï?cî?€Ùí?ð?ð?ð?€þï?€,ï?€ï?€¨ï?€íì?@Îè?ÀÄî?ð?ð?ÀÇï?üï?ð?™î?ãï?½ï?@Sï?î?ÀÅë?€ïî?ð?@öî?ÀUï?ð?@Ñï?€-ì?­ë?€Öä?‚ì?À‹é?€ôî?€·î?@gì?À}è?ìâ?òè?\î?€Lï?äï?ð?Íï?@Èï?@]é?@å?ˆ”?Àhã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À6î?@¨ì?ð?ð?ð?Àå?€ûï?ð?ð?ð?ð?ð?ð?€7ï?ð?€î?ð?@öï?¾ï?ð?ð?@Îï?@ï?€ùî?@Ÿî?@ûï?ð?ð?@4ï?®Ê?ð?€ï?žï?¸î?ð?@?ĸ?Ç?@üæ?ð?ð?ð?ð?€Fì?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€fã?ÿÄ? u?€¥?€PÔ?ð?ð?ð?ð?ð?ð?ð?€qî?¶Ò?€\á?¢ê?€±Ñ?@u?ð?ð?ð?ð?ð?ð?ð?@´î?@tï?ð?@Æî?ð?ð?€Uï?MÂ?ÀŸà?ð?ð?íå?ð?@â?G?´? x?€*Ø?®É?ßÐ?Ú?@?€q?@^à?¬¨?0Ÿ?@°î?ãï?9í?À¼ì?@tå?0…?ýÊ?¼?€é?@êî?@þï?@ï?/á?³?€8Ù??Ú?Àa?Ÿ?ð?ð?ÀŸï?ð?ð?ð?ÀNï?À”î?ð?ð?ð?ð?ð?@íí?5î?ð?@vï?ð?ð?ð?@eï?ßï?ð?ð?ð?ð?€¨î?€÷ï?ð?@«ï?€“î?€×î?€™î?@oë?¨ë?ð?ð?ð?ð?ð?éî?‘ï?€tï?€Pé?ð?ð?ð? ï?€‹ï?µï?€Õï?ð?€;ï?Hì?@`è?€cç?€æ?žæ?@gí?Âæ?@åé?@¦î?@ï?À[â?ð?ÀÄí?“é?€ìè?€Pë?€ë?€‚í?€±ï?ºï?€Ÿî?ð?ð?ÀÆî?ð?Ùï?€öï?ÀVá??@¸è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍê?ð?ð?ð?ð?@äé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ð?€äí?ð?ð?ÀÃï?ð?Àí?@tî?@Mî?ûî?ð?@‹í?€î?ð?më?ð?ð?ð?ªÏ?Àøå?WÐ?€Ö?À ì?ð?ð?ð?ð?Àå?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àå?HŸ? ?d¸?€¤?@Öî?ð?ð?ð?ð?ð?ð?ð?€ªé?2ç?¾¾?ë?€öÑ?a?ð¥?¡É?F?jê?ð?@éï?ð?Àéï?nï?Àï?€Ìï?ð?aï?€ùî?À™ï?ð?@üï?€ºÓ?¤¦?À¢ï?ð?ð?‡î?Çî?€Rë?€uÕ?È?(?T´?¬¬?€›â?€ÅÔ?€í?€UØ?D? è?€Øï?@éï?ð?@úî?ð?ð?@rï?@Üç?@yá? Æ?T¤?À`?B?€z?Àþà?¼«?À†?Àk?@v?“?À”ã?òã?Àaî?ð?ð?ð?ð?€ÿï?€íî?€çï?ð?ð?ð?ð?@8ï?ÀŠí?ð?ÀQï?jï?€þî?À4ï?@ï?Üî?áî?€âï?ð?ð?ð?ð?@_î?í?é?€ ê?_ì?€Èë?@í?ð?ð?ð?ð?ð?ð?ð?€îï?öè?€Ûï?ð?€÷ï?µï?î?€lê?@”ê?ê?†é?¦ì?@æï?€ì?@ÿá?Àê?Lí?Àîï?Àùï?ð?^ì?ð?£ï?À²î?€áï?ð?ÀÚæ?Àï?ð?ð?€_ï?ð?ð?xï?ð?Ãì?À¾ï?ÀÑä?€eÕ?à?Øä?RÑ?Ѐ?(§?Aå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Eë?íì?@(ë?øí?Àdî?@Ží?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?@ºï?ð?ÀBï?@®í?Pî?À²í?@¥î?Àqî?ð?ð?ð?ð?ð?ð?ð?ð?€hì?ð?À¸æ?ð?ð?ð?ð?ð?ð?@úï?ð?ð?ð?ð?ð?ð?ð?ð?@âï?°“?€sÛ?Я?ð?ð?ð?ð?ð?ð?ð?ð?ð?Íé?€)Û?€ûÚ?ž?üÕ?€€ï?h×?Àdæ? æ? ã?ð?€âï?>é?ÀÂï?ð?€)í?€•í?@ýï?ð?Àcê?€Û?ð?ð?À~í?¥?˜Þ?@—å?@+ï?¶?@—?PÂ?f³?6°?€Áâ?ÀBä?€ÞÞ?6ç?§Õ?mÀ?@p?Àyâ?@ƒê?@öï?@²ì?ð?Àˆë?€"ß?@ùï?ð?À†ï?€öî?À:î?€‡í?ð?ð?ð?ð?ð?@üî?@á?b¼?Z?>Â?cÉ?pÇ?°?€º?h?mà?€ïï?ð?ð?“ï?@Ûî?ð?ð?@î?ð?ð?ð?ð?ð?ð?€í?ð?ð?ð?ð?ð?ð?Àîï?@9í?Ðî?@ôì?@Çí?€‹ì?Ðî?À²í?Àùï?§ï?@Íï?À=ì?Cè?@Wî?À„ï?€ôï?ýï?ð?ð?ÀËî?À6î?@–é?në?Àí?€Üí?Àzî?Àî?šé?@Ôë?€†é?®ê?ð?Àûï?Àï?ÀÐï?ð?Íï?ð?€ÿï?ð?ð?€Õî?ð?ð?Àlï?ð?@éï?€Bï?ð?öï?Àpï?ð?@ýï?ð?ð?ð?@^ï?Íß?Üë?ð?õï?€áï?ÀCì?À!ë?€à?Àüá?@ç?@Œå?ÛÉ?D?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À^ë?ð?@aï?ÀBì?@|î?À/î?@½ï?ÀÙî?@Jî?@ î?@¸î?À†î?@Øî?€‰ï?@¼î?oî?ÀÝî?ð?ð?ð?ð?€‹î?@Àï?ð?¸ï?@úï?ð?ð?ð?€üá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?1ë?ð?@äî?ð?ÀÂï?Àÿï?ð?ð?ð?ð?ð?€xÙ?z½?€×?€ï?ð?ð?ð?ð?ð?ð?ð?ðî?­?ºº?Óä?â?\º?‡Ä?€Xä?@â?ð?ð?ð?Àeç?€[?^Í?@Ÿæ?ð?@äï?îë?ð?ð?EÈ?…Ò?ÀÈï?€«ï?ø™?“Ä?GÔ?¹à?ûß?€ËÛ?@?è?ÀSï?Š?€ÆÛ?ð?@Øæ?ð?ð?À>ä?À(á?ð?ð?ð?@3î?rï?ð?@|î?@jí?>î?ð?ð?ð?ð?ð?ð?€—ç?@Žà?fÑ?h?V?S?Æ?ßÓ?§?€P?M?žµ?@Ÿâ?ð?ð?ð?€¸ï?Àµí?ð?ð?€&î?ð?ð?ð?ð?ð?ð?@æï?Aë?]î?¸í?Ùî?€÷ï?ð?ð?ð?@ ì?€Xì?€mì?À-ê?€¤î?ð?ð?@úî?ð?ð?€ê?@<ì?€bï?@kí?@qí?Àáí?€øï?€=î?€Pî?ä?ÀŠé?áë?€ì?fè?€ñê?@Èì?À€ì?î?Òï?ð?ð?€è?ð?ð?ð?ð?ð?ð?@Æê?À“í?ð?ð?ð?ð?+ï?ð?€¿ï?@[ï?ð?ð?ð?ð?ð?Âï?@Oì?€™ï?ð?Àýï?ð?@øï?Àvî?hï?ð?€ýï?À’ï?€úï?€çï?÷â? Œ?€k?ÀOì?ð?ð?ð?ð?ð?ð?ð?ð?ûï?ÀQî?@Íï?ð?€_î?€òï?€»í?@ï?Àßì?€ñì?@åï?ð?ð?€ƒî?@Kï?€Üí?@ï?ð?Àýï?Àï?ð?ð?ð?ð?Àyì?ð?ð?À^î?ð?ð?ð?˜±?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?Îï?€è?ð?@™ï?ð?ð?çî?ð?ð?ð?ð?€{ï?"»?ð?ð?ð?ð?ð?ð?ð?ÀŠí?ð?À„ç?Õ?@hæ?ÀVï?Àÿï?ÔÌ?3î?ð?¼ã?Ào?‡?žÕ?€ëØ?ð„? r?*È?`›?uÍ?0Ž?\ ?¡Ò?(ï?ä¡?€bà?€×ê?€öí?ð?ð?"ë?ð?€óï?€ïï?ð?ð?ð?Àúï?»ï?iï?ð?À#ï?€Eï?ð?ð?@ùï?ð?©â?€‘Ù?o?€§Ù?°š??€]?šº?À<î?ð?ð?ð?ð?ð?À|ï?õï?ð?Dî?ð?ð?ð?ð?ð?ð?@ºï?ÿï?ð?ð?€›í?€¤ë?øí?@Êí?ð?À²ë?ð?¶ï?@çï?@»ï?ð?ÿï?€Sï?ð?ð?ð?@«î?€žê?€ªë?À­ì?À;ê?@¸ë?@µë?€åì?€Bï?Éî?Àî?&ì?Àéë?Àî?Àlî?@êë?ð?ð?ð?äï?€6î?ð?ð?ð?ð?"î?€ì?Àòï?À4ï?ð?ð?ð?ð?À í?ð?ð?ð?ð?ð?ð?ð?ð?€‘ï?@î?ï?ð?ð?ð?€Sî?ð?Àþï?ð?ð?‚ï?ÀÝï?@þï?ï?@Vì?AÃ? Š?˜?À‘ì?ð?ð?ð?ð?ð?ð?ð?À³í?Àõï?ð?@tí?@ï?ð?ð?@Ðí?ð?ð?Àuì?@Ìí?Sì?€ïï?€§í?Àéï?@uï?€î?ð?ð?ð?ð?ð?ð?@úí?€ï?ð?ð?ð?ð?ð?ÕÐ?€ ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Ùî?ð?ð?ð?€šï?ð?ð?ð?ð?ð?ð?ð?«Ý?@s?T¡?œ×?ð?ð?ð?ð?ð?ð?@Èë?»Ë?Àh?‘ì?Àûï?€xÒ?ð?Šì?€ß?x®?P ?´¢?€|?à‚?@Ûã?Fë?@Fï?@®ï?ð?@öï?ð?ð?Àîï?ð?ð?ð?Ðï?€éï?€óï?Íî?Ìí?$í? è?—ì?Aí?ð?€Yä?ºÂ?ÀŠâ?€Ñâ? ³?€¯å?àp?Àî?ð?ð?ð?ð?ð?ð?@Òï?ï?öï?À|ï?ð?ð?ð?€äï?Àúï?ð?€âë?âï?ð?ð?ð?ð?ð?>ï?À9í?î?ð?ð?ð?ð?ð?úî?ð?Àöï?ð?ð?ð?Hï?@Xå?€ë?€±ï?€*ë?uí?ð?À­ï?@½í?À8ì?@íì?À¢í?€pî?@ï?Ÿí?ð?ð?€î?Àîì?ð?ð?ð?€eï?@ëì?À¦ï?oë?ð?ùï?ð?ð?ð?Àéî?À-à?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ßï?ð?€ùï?ð?ð?Àòí?@öï?Àâï?@öï?@ãï?Kï?È?ø?@üï?ð?ð?ð?ð?€¤ï?€üí?ð?ð?ð?ãí?Àfí?ð?ð?@‘ï?ð?ð?ð?€–ï?@Xï?À,í?ð?ð?ð?ð?@ï?€÷ï?ð?ð?ð?ð?ð?èî?Àî?ð?ð?ð?ð?x¦?@Ðç?ð?Àõï?@úï?ð?ð?ð?õï?ð?ìï?ð?ð?@ãï?Àîï?ð?ð?ð?ð?ð?ð?ð?€—é?ð‡?˜­?"¿?Éë?ð?ð?ð?ð?Àˆï?@y?€ýï?€ýï?€ËÖ?€äè?€‹Ö?À¼á?t ?W?Àr?@b?ø”?€Ù?@pé?Ààî?À¼ï?ð?ÀÑï?€¨ï?ð?ð?ð?øï?ð?ð?@Ãï?ð?Àïï?@•ï?ðï?@Øï?Àøï?êï?VÆ?@—?h›?ˆ ?€Wß?@ýï?0?TÕ?g?@ïï?@…í?Øï?ð?ð?ð?€Óî?Èî?€Rî?Uï?€âí?îï?Àçï?€íî?Ÿî? î?€Kí?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?ð?Àïï?ð?ð?ð?ð?Àûï?ð?Öí?@î?ð?ð?€Sï?8ï?ÀÐì?@•ï?Àóï?€õï?@üï?ð?ð?€£ï?ÀSì?ð?ð?ð?€<î?0î?ÀÐï?ð?€î?ð?ð?ð?ð?ð?Àüï?9Õ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ñï?Øï?@ýï?üï?ð?ð?ð?ð?€ïï?@—ï?ð?@ßï?šï?ÀNà?8“?@Uä?ð?ð?À“ï?@¥í?€ìï?€þï?ð?ð?ð?ÀBî?Àï?ð?ð?ð?ð?ð?ð?€3ì?ð?€òë?€jî?ð?ð?ð?À3ï?€Øì?ð?ð?ð?ð?ð?ð?À|ì?ð?ð?ð?ð?9Ã?ô±?ð?üï?€<í?Àuï?ð?ð?ð?ð?ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹Ñ?â°?”¾?X?€Øä?ð?ð?ð?í?C?Àc?`Ž?ð?©ï?àà?@jç?@sê?à‡?Àn? ´?H ?à¶?@ã?Àôê?†ï?@úî?"ì?ð?@ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Nï?ð?€IÚ?ÝÁ?¨œ?„?$¨?G?Àaè?Žï?€ Ð?”?@ßë?ð?ð?ð?ð?@Ãï?@šî?ð?ð?ð?òï?À;ï?€Ýí?@Ýï?@úï?€xï?@Pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Áï?Íî?ð?ð?ð?ð?ð?ð?ð?ð?@[ï?€«ï?ð?€þï?@êî?@Ìí?@˜ì?Êî?Uí?ð?ð?ð?ð?ð?Ûë?ÀÐí?@oï?ð?ð?À4í?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?@î?@ãí?Àrí?Tï?@Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àâï?ð?€þï?@úï?ð?Àìï?ð?@Òï?Æï?ð?Ðï?ð?@Üï?€˜í?ÀÄæ?Þç?@há?ÌÊ?ð?€¾ï?€&í?ð?ð?ð?ð?ð?ð?Àaí?À¸í?ð?ð?ð?ð?ð?ð?@Ûì?€:ï?@öï?€Ùï?€«í?ð?ð?ð?@»í?ð?ð?ð?ð?ð?ð?Sì?ð?À«î?ð?ð?À?ì?D¢?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?úï?àt?0™?€S?L¤?@b?Àç?Àöâ?€Y×?@’ç?V?F?xœ?@o?\?„?€mä?*Ù?`€?¶?¥?Ù×?l­?B?˜¢?ýÏ?Ì·?¨•?@yé?€ å?@Ùí?Àï?ÀÁï?ð?@¦ï?€5ï?ð?ð?ð?ð?ð?Àðï?ð?ð?ð?ð?€àê?À)ã? À?p›??€ÃÓ?†å? é?€‹ä?@šè?€!ç?@¯è?ÀÖï?€3Ó?¯?·ä?Œ ?,»?ð?ð?ð?ð?À~ï?ð?ð?ð?ð?ð?@î?ð?€Ýï?€lï?€ªì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¥ï?€ïî?ð?ð?ð?ð?ð?€êï?À7î?¼î?€úî?€Ûí?ð?ð?€Ïï?€­í?@)î?@jí?Àßî?@ïï?ð?ð?ð?ð?@~í?€Øï?ð?€Dî?ð?ð?Àî?ð?ð?ð?)ì?ð?ð?ð?ð?ð?ð?ßï?€ëï?€Lï?À„î?€‚ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?ð?ð?ð?@úï?ð?ìï?Àïï?€üï?Pï?ð?ð?ð?ÈŸ?S?€"ì?€æì?À3ï?ð?ð?ð?ð?ð?ð?@‹ï?€Pï?ð?ð?ð?ð?ð?À¡í?êï?À í?ð?ð?ð?€Ïí?ð?ð?@ì?ð?ð?ð?ð?ð?ð?Fí?„î?@øï?À±î?ð?ÀŸâ?¦Á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€´î?ð?ð?Àñï?ð?ð?ð?ð?À—î?É?­?C?À`?€?´?@å?@(á?€¤æ?òÍ?(¦?@?`s?ØÈ?(?E?غ?©È?@¶î?6?°€?Àþï?€¦ï?Àï?xï?Àìï?@ÿï?@Sï?ð?Àðï?ð?ð?@ôï?ð?ð?ð?ð?ð?ð?Øï?Àeè?€tØ?ŠÚ?Ãá?Àqî?î?@á?‹Ã?˜Ó?@¤ë?¶°?€U?±ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëî?îï?€Iî?@üí?@õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?Àèï?ð?ð?ð?ð?ð?Àî?í?ð?ð?ð?ð?€xî?€Òì?îï?ð?î?ð?ð?€îï?ð?ð?€í?ð?ð?ð?@Êî?ð?ð?Àî?æï?ð?ð?€ î?ð?ð?ð?ð?ð?@ïï?ð?ð?ð?Àkï?ð?€áï?ð?ð?ð?ð?ð?ð?ûï?ð?ð?@üï?ð?ð?ð?ð?Àìï?ÀÐï?ð?€Þí?ð?€ºï?ÀÉï?çï?€þï?ð?Àéï?ð?€lÛ?€çé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?@Dï?ÀÁí?ð?ð?@ýì?ð?@î?ƒî?˜ï?ð?ð?ð?ð?ð?À*ì?ð?ð?ð?ð?Àíï?€s?€Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€îï?ð?ð?ð?ð?ð?ð?ð?ð?Õ?ÖÀ?4¼?Xã?ð?ÀÏï?ð?ð?@^ï?@Eä?€fÞ?9É? Á?œ?€u?€w?€Q?€áÜ?€ÀÜ?àp?ÀYã?@ëï?Àsï?ð?Nï?À›í?@Œî?ð?€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?À*î?€Þí?@eâ?0î?F?¹Ã?2Ð?€»é?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àõï?@î?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ýï?@êï?À¤î?¯î?ð?ð?ð?ð?ð?@ï?€:ï?Àìï?~í?ð?ð?ð?ûî?@ýî?@ ï?À˜ï?ð?€ï?ð?ð?ð?ð?À‚î?€=ï?ð?ð?ð?@áî?ð?=ï?@øï?€ùí?ð?ð?ð?@mí?ð?ð?ð?ð?ð?ð?@ûï?@þì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÉï?=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?,ï?ð?@ôï?@ýï?Àãï?áï?Àëï?öï?ð?Lî?ˆ—?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?€7î?ð?Óí?ð?ð?ð?@þï?ð?ð?ð?ð?ð?ÀÇì?@¾î?À¥ï?ð?ð?ð?Àïâ?à~?€è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îì?ð?ð?ð?ð?ð?ð?€ãï?WÀ?F?*¿?ßË?€ÔÚ?Áï?ð?@íï?ð?€ùï?¨ê?ÀÅç?@Zå?À ã?Àçï?ð?Óï?Àè?À¡â?Úä?À›å?êÞ?¼¶?F?À?Œ¤??|µ?ü³? €?l?Øœ?ßÁ?JÇ?ˆ–?>Ò?øì?ÀWî?4ï?€ ï?ÀÃï?Àùê?€î?ð?ð?ð?›ï?@õï?ð?À†ï?åï?ð?ð?ð?<¡?Àe?R?³Õ?à£?ÞÓ?@;à?V?@›ì?ð?ð?ð?ð?ð?ð?Àtï?ð?ð?@Gí?ð?ð?ð?ð?ð?ð?@òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@„ï?@yï?ð?ð?€¹ï?@î?@ï?Ìï?À÷ï?Zï?›ï?ð?ð?ð?ð?²î?ð?ð?ð?ð?ð?ð?ð?ð?€´ï?›ï?ð?Lï?À%î?ð?ð?ð?ð?ð?ð?@î?Àøï?ð?@Lï?ð?ð?ð?ð?ð?ð?À«ï?À í?@oï?øï?€ìï?€øï?ð?ð?ð?@üï?@êï?@úï?ð?ð?@ðï?õî?äï?øï?@öï?@ÿï?ð?€øï?€6ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?Õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€–í?ð?@–î?ð?ð?ð?ð?@Hå?æØ?ð?@wî?@Ôæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À’î?€X?“?Üà?@1ã?@çé?ð?ð?@€ï?ð?ð?ð?@Úï?ð?ð?ð?Àðï?«?±? „?Àh?2?J´?E?(´?G?®¹? …?à‚?º?Õä?P™?¹Ê?@Wâ?@/ê?@î?Àïï?@ôé?ð?Àì?¶î?ð?ð?ð?@æí?Ìî?Âæ?€Fî?ÀÙï?ð?ð?ð?@®ä?Àc?}?`²? È?ÁÆ?*Á?Àˆ?k?Ä?ð?ð?@úï?ð?ð?ð?ð?ð?ð?Àúí?ð?ð?ð?ð?ð?€úï?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ÀÍî?À$ï?€«ï?€ î?€î?@»ï?ð?ð?@Yí?ð?@Öï?ð?ð?€“î?ð?ð?ð?ð?ð?Àõë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ï?ð?ìë?ð?ð?ð?ð?ð?ð?ÀØï?ð?ð?ð?áî?ð?ð?ð?ð?ð?ð?€Úï?ð?ð?@úï?ð?ÀÏï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€õï?ð?ð?@ýï?ð?Ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¯ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀNç?ð?ð?À5î?î?ð?ð?@ï?øœ?@²ï?Àûï?OÍ?€Pã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?€vî?î?¦°?°Î?€.Ò?cÆ?(Ç?öÙ?äè?ð?ð?€éï?ð?ð?€Øî?Àeè?îë?Àäè?x¡?„?€‰?VÙ?@©â?Œ ?à€?`p?€Ð?pŠ?Ш?MÞ?@?À¾ï?€Üï?@)ì?@+ï?€-î?@Fï?ð?€0ï?@î?€Íï?Àêí?@[ï?Àßì?…Ï?ö¹?ÊË?€¼á?€Îè?€êï?ð?ð?€æ?Þ²?€ýÜ?€KÜ?’Ê?s?ÀQá?Ï?àz?Àa?@8ê?ð?ð?€ÿï?€þï?ð?ÀÚï?ð?ð?€õï?@‘í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À í?kï?€kï?@Áî?…î?ð?ð?ð?ð?À§í?ð?ð?ð?ð?wï?€õï?ð?ð?ð?ð?×ï?ÀÞï?ð?ð?ð?ð?ð?ð?ð?ð?€®ï?ð?¼ï?ð?ð?ð?ð?ð?ð?€õï?@Ëï?ð?@ìï?Àoï?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ñï?€úï?Àìï?ð?ãï?ð?ð?@âï?@ýï?ð?ð?ÀÞï?ü²?€qî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?ð?ð?ð?ð?ð?ð?ð?ð?€ÿï?€ìè?À—î?ð?ð?ð?€êë?ð?€Ãí?@…í?€µÑ?€ÃÙ?ð?€/î?@×ä?À±ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?`?=Ê? Ø?¬á?Àà?Àùå?€²â?Àmå?@Óî?€Áè?Má?€~ï?€Ò?€Ñ?Àfã?‡Â?€<×?€Æå?€ƒÜ?{Ý?0„?K?€7Ø?Qá?Ñ?€? ¹?\°?má?€ÙØ?xÏ?€¥Ö?€Ñá?ôÎ?n½?`¶?qÊ?€ç×?´¤?¶Â?¨ª?`}?Ð?Â?ä£?Ы?€ Ú?ð?ð?ð?ð?ð?@¾ï?Kï?ð?@0î?€ví?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@õï?€Pï?ð?@iï?€Žî?ð?ð?ºï?€Ïî?ð?ð?ð?Àyî? í?ð?À¸ï?€³ï?ð?ð?Àùî?ð?ð?ð?ð?€Åî?ð?À£í?€¢ï?ð?ð?ð?ð?ð?ð?ð?ÀÝï?ð?@Îî?Àñí?ð?ð?ð?ð?À÷ï?À#í?ð?ð?óî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àêï?ð?@ûï?À)î?€Éî?@î?€èï?ð?ð?ð?Àúï?Àüï?ð?.Ý?€,Ò?@Xï?Àbí?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€—í?ð?ð?ð?ð?€må?rÔ?ð?€êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªß? u?DË?Ö±?Á?ÆÁ?ày?€V×?œç?À-ï?€£à?Î?B·?€›Ú?ÉÝ?€ÃÙ?À%è?šÈ?Àh?*º?@rï?ð?ð?î?@Ìê?ˆ–?QÔ?D¤?8?îÀ?$¹?ï?6?p„?ˆ?€½Ô?—?Àc?¨î?@Tï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€8á?t³?È?Àýï?ð?ð?ð?já?|Ê?j´?ÿã?€,Ñ?x?0†?ð?ð?ð?€úï?€¶ï?ð?€½ï?ð?ð?ð?ð?@Kï?ð?ð?ð?ð?ð?ð?ð?ÀQï?uí?ð?ð?Äï?Úí?ÀÛï?ð?@/ê?ûï?@¦ï?ð?ð?Þï?ð?ð?ð?ð?ð?@Åï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Øï?ð?À›î?ð?Àúï?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@§î?ð?ð?ð?ð?ð?˜ï?€^ï?¦ï?ð?€`í?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ùï?ð?€Õï?üï?ð?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¾ï?€ûï?ð?ÀÍï?ð?Àêï?ð?ð?Àÿî?ð?ð?ÀÑï?ð?ð?ð?ð?ð?ð?ð?ð?€ÈÜ?„Ö?ð?@Ðï?ð?ð?ð?@î?´î?€Âî?€vî?ð?ð?€…í?¬«?@´î?ð?ð?ð?ð??Ú¶?äÆ?éå?€Êî?€Íí?ª¶?€]å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÒ?÷À?€ñÑ?@þï?ð?ð?ð?€%ï?(?€$Ó?þÀ?` ?j¸?¶? ‰?n?`?H?Q?€î?ð?ð?ð?ð?ð?ð?€ÿï?ð?ð?€ ï?€èï?ð?ð?ð?ð?ð?ð?ð?@hî?@Üí?ð?€Öï?ð?ÀÅï?@Rï?ð?'ï?@yí?€Uî?ÀÛï?ð?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?ð?ýï?ð?ð?ð?8ï?ð?€³î?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Sî?€Éï?ð?ð?ð?ð?€Àï?ð?€±ï?@>ï?@£î?@k?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€øï?ð?ð?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@lî?€Zï?€jî?ð?Àçï?ð?Àúï?ð?ð?@Ãï?@Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Èï?ð?ÀJí?ð?ð?@íï?ð?ð?ð?ð?ð?ð?ð?„? ?ð×?€õï?ð?ð?ð?ð?:?Æ?€÷æ?Àûç?ð?ð?ð?@>í?ð­? ²?_?€ªà?€óî?ð?ð?ð?ð?ð?ñï?ð?ð?ð?ð?ÀIï?§å?ð?ð?ð?ð?ð?€é?ð?€¦×?O?™À?H?€U?€S?€V?jÁ?@²ï?ð?ð?ð?fï?Àúï?ð?Àïï?ð?ð?kï?ÿï?@ýï?Àéï?À¥ï?ð?ð?ð?€Kï?ð?ð?@þï?@­ï?ÀÍï?Àèï?ð?€“ï?ð?€iï?ð?ð?ð?@ìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ÿï?€âï?@Àï?ð?ð?ð?ð?ð?ð?ð?@Ûí?GÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€àï?Àõï?ð?Ãï?ð?öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?ð?ð?ð?ð?ð?ð?ð?ð?À;î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€cí?Àqï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œí?x˜?Àôâ?@|î?ð?ð?ð?ð?ð?€{×?D?(?€+Ú?@xï?ð?ð?ð?ð?Ûï?¥Þ?€îï?€Þâ?Áâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@æç?è¾?Jî?ð?ð?ð?ð?ð?Òï?ð?ÖÂ?è¼?€¤Û?4?Ð?@b?€R?8?R¸?@ï?ð?ð?À¢ï?ð?@óï?Àóï?€êï?ð?À÷ï?€æï?À—ï?ÀÄî?€­ï?ð?ð?€úï?€îï?ð?ð?@ßï?Àwï?uï?¤ï?ð?ð?Jï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À©ï?Àï?€çï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?öï?€úï?€Èî?ð?Àëï?iï?ð?ð?ð?ð?€Ëï?ð?ð?ÀÉï?À±í?ð?ð?Àòï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€çï?@âï?ð?ð?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ì? î?ð?À&ï?@'ï?ð?ð?@Óï?À$î?À§î?Àˆï?@›î?Óë?@<ê?€Bé?€ûï?ð?ð?Àúï?ð?ð?@(í?@ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€3â?8Á?{í?À}ì?€8î?À7î?@õï?ð?@°ï?À¿å?À<ä?`‚?@\æ?Àûè?ð?ð?ð?ð?ð?€åî?¬í?ð?Àþï?ð?üí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?´ï?@Ôï?ÔÑ?n¸?@ÿï?ð?ð?ð?ð?ð?ð?ð?Í?€gæ?I?€ÔÓ?ˆ£?P?€~?`q?H?ßÉ?€é?ð?@$ï?ð?ð?ýï?öï?ð?Ãï?¤ï?€–ï? ¾?@%æ?úï?ð?ð?Àºî?ð?ð?ð?úï?ÀÝï?@éì?Sï?ð?ùï?@×ï?ð?ð?ð?ð?ð?@kí?@úï?ð?ð?ð?ð?ð?ð?ð?ð?@æï?ð?ð?ð?ð?ð?ð?ð?ð?€Žî?ð?ð?ð?ð?ð?ð?ð?ð?€õï?@Ýï?ð?ð?ð?ð?Àÿï?€ïî?Àï?Àõï?€áï?ð?ð?ð?À®ï?@ƒï?ÀÒï?€„ï?À¿ï?€‡ï?,·?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àúï?Àøï?ð?ð?€¶ï?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àuí?À³ï?ð?ð?øï?@àî?ð?@î?ð?ð?ð?¢ï?øï?À´ï?@ýï?ð?€:ï?òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ôè?à}?¨¶?€‰Ö?@`è?Áã?Àúï?ð?ð?ð?ð?ð?ð?Hª?ä¨?€\?p§?s?@™ç?ð?ð?ð?ð?ð?ð?ð?çï?ÀSí?€ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?»ï?µâ?€.Ò?j?`¥?ð?ð?ð?ð?ð?ð?ð?Àóï?@ ç?.Î? ?–Â?€P?8’?ðŒ?@‹?H?ôÔ?@µí?ð?ð?ð?ÀÙï?ð?@ßï?@*ï?€œï?ä?€?€ðä?€ðï?ð?ð?À®ï?ð?ð?ð?À’ï?ÀÌî?€îî?ð?Àµï?€êï?ð?ð?ð?ð?ð?ð?@Åï?úï?Àµï?ð?ð?€õï?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?@–ï?åï?ð?ð?ð?ð?ð?ð?ð?ð?@Ûï?Ïï?ð?ð?ð?ð?Àï?ÀÓï?ð?ð?ð?ð?ýï?ð?ð?ð?€çï?€kï?ÀTï?€èî?0˜?x‘?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?€ãï?ð?ð?ð?ð?ð?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀXí?@3ê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@"ï?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?)í?Ø?¤ë?€rï?ð?Äï?ð?¼í?ð?ð?ð?ð?ð?ð?P ?qÍ?І?èè?@ïá?À¡ë?ð?ð?ð?ð?ð?ð?ð?ð?ãÆ?Àýï?èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?ð?Àîï?À¿é?ˆ‘?J? Ñ?(?Ý?ð?ð?ð?ð?ð?ð?ð?ð?õë?€Û?B»?Å??6Ø?@qæ?Ò·?ðŒ?@k?Њ?–Ö?Îé?ð?ð?ð?ÀGî?ð?ð?ð?Øê?€[×?€úï?ð?ð?ð?ð?ð?ð?ÀÕï?€ýï?ìï?€üï?ð?@õï?ð?ð?ð?ð?ð?ð?ð?Àõï?ð?ð?€ëï?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ìî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èì?6·?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ëï?ð?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀRá?Àâ?À€å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’ï?€5ï?ð?ð?ð?ð?ð?ð?ð?ð?€Êî?œâ? ?€}?Àqï?ð?ð?@íï?ð?€Oë?ð?ð?ð?ð?ð?Àí?À ?KÇ?Aî?ô²?Àá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@àë?ð?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àÿì?‘ä?€TÒ?Àµ?ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¡ï?ð?ÀKì?Àkì?ýï?@Ìë?ð?ð?ð?ð?Àï?ð?ð?ð?ð?ð?ð?@ßï?@Îï?ð?ð?ð?ð?€„Ý?]?Y?Y?@íà?@Uì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àßï?Ü? Ï?ð?ð?ÀÌî?ð?ð?ð?ð?ð?ð?ð?Àií?`ª?+ï?ð?ð?ð?ð?ð?@æï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?@ûï?€ÿï?@‰å?@Š?HÈ? q? „?G?€k?€Y? ?‰?8?ð‚?f±?€t?Àv?,? z?0Ÿ?šê?ð?ð?Àìï?ð?Àïï?ëï?Àaî?íï?ð?ð?ð?ð?ð?ð?@ûï?Àæî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¸í?€ãë?€Eï?ÀÎï?À<ï?@í?@[î?ð?ð?ð?€ÿï?€ë?÷í?@þï?ð?ð?ð?ð?@ûï?€«ï?ð?ð?ð?Ðï?@w?€ôã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îï?ð?Àßï?Àòï?ð?ð?ð?ð?À°é?ÀÁ?àr?Jµ?Ýí?€¿ï?@Ìï?ð?Àÿï?€™ï?ð?À­î?ÀÏï?ð?â?€­ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ùï?€ôï?€Óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?ð?ð?ð?ð?ð?ð?ð?ð?Íï?€ÿï?€ÿï?èï?ð?ð?ð?ð?ð?ð?êï?ð?ð?Àÿï?Àî?jÓ?È•??W?öÅ?D? q?êÄ?ðŠ?O?€S?\?@Œ?0†?`s?ª? ’?D?f?ÀOæ?ð?€ßï?ð?lï?mï?ð?7ä?€§ï?ð?ð?ð?ð?ð?ð?€Îï?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?Àfï?î?€]ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àýï?€ï?€í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@4ï?€ï?Àÿï?ð?€âï?ð?ð?À‰ï?€§ï?@™ï?ð?óï?©î?„­?$¬?ÀÞí?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?@Òï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àãï?@þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@xï?@Gï?ð?ð?ð?ð?À&î?@ïé?Ä·??L?€à?ð?ð?ð?ð?ð?ð?ôï?ð?ð?Àüï?ð?ð?ð?ð?Àûï?ÿï?eï?ð?ð?ð?ð?ãï?ð?ð?ð?ð?€êï?À(ï?@¿ï?ð?îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¬ï?ÀTë?Àâï?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?@üï?ð?@áï?Èï?ð?Àìï?yï?@úî?Òë?™?Àrà?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?ð?ð?Àøí?ð?ð?ð?ð?€”é?`?Àƒ?€]ê?€Óï?Mî?ð?ð?ð?ð?ð?–ï?@Zê?€âÒ?€]?$?t¦?_ß?vÝ?Àèå?Àî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çï?€ùï?ð?@öï?ð?ð?ð?ð?À‡î?@då?õÄ?¨•?@x?(—?˜ž?àŒ?V?€]?,?,?Àm?€R?J?B?:×?ð?ð?ð?ð?ð?ð?@þï?ð?ð?ð?ð?ð?ð?ð?Àÿï?ºï?@öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ï?@pï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ðï?À3ï?€Oì?@$î?Àóì?@ï?€çí?Qí?@jì?Ùí?@óî?€øï?ð?@öï?€Ùï?ð?îï?ÀÄï?Àýï?Àìï?÷ï?Àýï?ð?ð?ð?Àäï? Í?p‰?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@~ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀCï?€ÿï?ð?@Ðì?ð?ð?ð?ð?´â?xÁ?ð?ð?ð?ð?ð?ð?ð?ð?ð?@š?€Q?€Rà?\?X¸?¤§?`˜?Sã?@é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Kí?”®?©Á?@Éæ?P?j?€R?€i?(?C?Àe?ðŒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À“ï?€“ì?Eè?ð?ð?ð?èí?î?ð?€üï?ðï?À_ë?@÷ï?@2ï?€Ðï?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?€”×?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€^î?ð?À/ï?ð?ð?ð?ð?Àâî?X«?€í?ð?ð?ð?ð?ð?ð?ð?ð?ïï?€pÕ?bÁ?EÂ?€~?Àà?üî?@Ñî?Àåî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?øï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?€ÞÓ?p‡?@&à?€lí?Æ·? }?€Ö?^??Àš?@‹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïï?5í?}ì?»ë?Àžï?ð?çï?ð?ð?ð?ð?ð?€ÿï?À_ê?oî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¹ã?À´?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?‡î?À‡î?€¥í?@Sî?€‚î?@rî?@ î?;ï?€³Õ?€°ß?ð?ð?ð?€.ï?ð?ð?ð?Àôï?ð?ÀKæ?ÄÇ?×? ?¢?€qç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÑï?ð?ð?ð?ð?€íï?ð?@[ï?°‰?€Gß?@¿î?øÑ?è¤?ªÂ?‚´?œ®?d«?ð?ð?ð?ð?Àÿï?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?Èï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?À½î?ÀNé?€eï?ð?ð?ð?ð?Àÿï?Ûï?@ë?ð?ð?@ñí?ð?@ýï?ð?ð?ð?€ýï?ð?àw?€-ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€î?ð?ð?ð?ð?@Æï?ð?ð?ð?ð?ð?ð?ð?Ýî?B?ìí?€Nî?@ï?@Þî?€Lï?ð?ð?ð?ð?ð?´¾?¤¸?@b?@ðâ?ÀCï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Èï?ð?@õï?ð?ð?ð?ð?ð?`Â?€T?sÆ?€ è?Hä?‚?ðŒ?¬¢?€s?ð?ð?ð?ð?@Íï?€ãï?À÷ï?ð?ð?ð?Àçï?ð?ð?ð?ð?\î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?rî?ð?ð?ð?ð?@Æï?*ë?€”ï?ð?ð?ð?€ûï?@áï?ð?@ûï?ð?ð?ð?ð?ð?ð?À;ï?Àï?€Wì?lÃ?Uæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Úï?@Üî?@Àî?Êî?Àõî?À:î?€«î?ð?ð?ð?ð?ð?ð?€­ë?¨Ð?/Ö?ûï?ð?ð?ð?ð?ð?ð?ð?ð?€¯í?€~Ú?€Ø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À†å?À¡á?YÈ?H´? ±?€÷Þ?€ôÜ?ð‹?§Â?ð?ð?ð?ð?àî?€Üï?½ï?ð?@üï?ð?ð?ð?ð?ð?ð?€ï?…ï?ð?ð?ð?ð?ð?ð?ð?ð?À`ï?À)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?¹ï?@@î?ð?ð?ð?ð?ð?ð?Àùï?Àäï?ð?€öï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÅï?ð?€öï?Àfç?&Ê?¶ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?üï?ð?ð?@ïï?@;í?€óï?ð?ð?ð?ð?ð?ð?ëÑ?x?@£î?ð?ð?ð?ð?ð?ð?ð?ð?@ç?G?@më?mï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÕï?€:í?À ì?¯?A?ÈŸ? ?€ ×?ð?ð?ð?ð?€Ýï?Ðï?î?À³ï?ð?€ðï?ð?ð?ð?ð?ð?ð?@•ï?@öï?ð?ð?ð?ð?ð?õï?ð?ð?Àmï?ð?ð?ð?ð?ð?ð?ð?ð?€8î?Àí?€9í?€™í?+î?€Vé?€Üî?ð?ð?ð?@òï?€,ì?€£ï?¶ï?ð?ðï?ð?ð?ð?qï?€(ï?ÀÞï?lê?€Rï?À;ê?@`?Âã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Öï?À|î?ð?ð?ð?ð?ð?€ûï?€IÒ?€¢á?ð?ð?ð?ð?ð?ð?ð?úï?yÙ?@®ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ï?ð?@Îï? ²? ‰?ƒ?XŸ?À*ë?ð?ð?ð?üï?€ùï?ð?õï?ð?ð?ð?@úï?ð?@êï?€ïï?ð?ð?Àÿï?ãï?ð?ð?ð?ð?ð?ð?ð?ð?Öî?ëï?ð?ð?ð?ð?ð?ð?À³î?¯î?ï?ÀÍï?ð?ð?¯ï?@Tï?ð?Éé?@Çì?À’í?öï?ð?ð?Àøï?€/ï?€9ï?¼ï?Àaï?nÙ?WÊ?½Æ?Ò·?¸?Pš?À3â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À3î?À¿ï?ð?ð?ð?ð?Gï?x°?€Ð?@î?Oî?@˜ï?ð?ð?ð?ð?5ï? ?š´?¾ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?ð?ð?ð?ð?€÷ï?üï?ð?ð?ð?ð?ð?ð?@Ïï?¹í?ð?ð?ð?ð?@Ïï?Àxã?ô®?€‡?(?ð‘?€Åí?ð?ð?ð?ð?Àôï?ð?@ðï?ð?ð?ð?ð?ð?ð?ð?¬ï?Ûï?ð?ð?üï?€ýï?ð?Æï?€ûï?Àÿï?ð?ð?Ààï?pï?ð?ð?ð?ð?ð?Àûï?@øì?ð?ð?À¤ï?@mï?ð?ð?ð?ð?äê?ï?þî?@þï?€ÿï?@Yï?@Pï?@Uï?€pì?€?é?ÓÂ?†³?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èï?ð?ð?ð?Ànï?€ñë?ð?À”ï?ð?Àõï?ð?€üÖ?á?ð?ð?ð?ð?ð?ð?ð?€Õ?p…?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀSî?€èÛ?€eÒ?ð?ð?ð?ð?ð?€ðï?ð?ð?€þï?ð?ð?ð?ð?ôï?úï?€ï?€”ï?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¬î?ð?ð?ð?ð?ð?€ê?@Ìï?ð?ð?€Ûï?@”ï?@ðï?ð?ð?ð?ð?ð?ð?ð?À ï?Éï?À…á?v°?à?Àðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àîï?ð?ð?ð?ð?ð?ð?ð?ð?óï?ÀÓï?ð?ð?ð?ð?Àî?£ê?Àíï?úï?À<é?R?É?ð?ð?ð?ð?ð?ð?ð?? ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¿ï?ð?ð?âÆ?@€?ÎÞ?ð?ð?Àîî?ð?ÀÝï?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?ð?ð?€¤ï?©ï?âï?ð?ð?ð?ð?ð?ð?ð?À?î?ð?ð?ð?ð?@Vï?€ä?ð?ð?ð?ð?ð?€½î?ð?ð?ð?ð?ð?ð?ð?€eî?œÑ?@Âæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?Üï?ð?ð?ð?ð?ð?ð?ð?€úï?€ïï?ð?ð?‘ï?´î?ð?*é?ÀFä?cÐ?@9é?ð?ð?ð?ð? ï?À<ã?@`?½ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À7î?åï?¬?BÐ?R?€ÓÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€åï?ð?ð?ð?ð?ð?ð?ð?úï?†ï?ð?Ààï?@üï?ð?Àöî?Àâï?Ãï?@œï?ð?ð?ð?ÀÇï?€Lê?%ê?ð?ð?ð?ð?ð?…ï?ð?ð?ð?ð?ãï?ð?}ì?@£?@Âã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ð?÷ï?@ôï?úï?ð?ÀVì?@yï?và?˜?NÓ?@ë?€sê?Î?(‘?às??ä¬?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ïï?€¼ï?æï?ð?ð?ð?Àèï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¸ï?ð?ð?ð?ð?ð?ì?Ûã?€ÒÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€æï?€ïï?ÀÎï?çï?€ î?ð?ð?ð?€üï?Àì?À5î?ÀÀë?€>ï?@ï?À]ï?ð?ð?ð?ð?ð?ð?ð?@èï?@æ?ļ?HØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?úï?ð?ð?ð?ð?ð?ð?@™ï?ð?òï?@Àæ?Àc?@¢?½É?Àaæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ýï?Àáï?€ñï?ôï?ð?€þï?ð?ð?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þÓ?Àúí?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À÷ï?@îï?ð?Àöï?„ï?ð?ð?ð?ð?ð?ÀSï?ð?ð?ð?ÀÛï?×ï?ð?ð?ð?ð?ð?ð?€Öï?€\Ñ?îÅ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?ýï?Ïï?€’ë?ÐÔ?þÔ?€ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þï?ð?€ôï?ð?ûï?@Hï?ëï?ð?ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Úï?ÊÖ?M??À¿è?ð?ð?@¨ï?ð?ìï?¿ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àåï?Àúï?ð?@Èî?@¾î?ð?ð?ð?ð?ð?…ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÜî?RË?<¤?@ï?ð?ð?ð?ð?ð?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?€þï?ð?ð?ð?ð?Àcí?€ñï?€ýï?ð?€üï?Àêï?ð?ð?€úï?€@î?@s?À‹å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€üï?ð?ð?ð?@þï?@Ôï?ÀÝï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?€þï?ð?ð?Àøï?ð?ð?ð?À¡ï?@à?  ?€~î?ð?ð?€ ï?ïï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?ð?À’ï?@.ï?ÀÄï?ð?ð?ð?@ÿï?€xï?@pï?ð?ð?ð?ð?ð?ÀÅï?ð?ð?ð?ð?ð?ð?Â?Aå?ð?ð?ð?ð?ð?€ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àïê?@Âï?ð?ð?€ðï?€¹ï?ð?Àñï?€®ï?À™ë? Á?€ñî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àóï?À´ï?Àìï?ð?ð?@»ï?ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ýï?€ýï?€þï?ð?ð?ð?€úï?Àòï?Àáï? î?nÝ?0?½?€_?iÈ?ð?ð?Àÿï?€Þï?€¥ï?ð?ð?ð?ð?ð?ð?@ûï?ùï?ð?€Ðï?ð?ð?ð?ð?ð?ð?ð?¯ï?@ßï?ð?Àøì?@`í?@³í?@•ï?Àsî?€dí?Vî?€Îï?Àüï?€Êï?€Sï?€Þî?@<ï?€Ãî?@Íï?@ûï?ð?€òï?ð?ð?ð?uÑ?Þ¿?bï?ð?ð?€íï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@÷ë?@´î?ð?ð?ð?ð?ð?ð?ð?€úï?ð?@óï?ùï?@ ï?À ç?€bÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àþï?@dï?@óï?ð?À¿ï?€ªï?ð?€ýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?@”ï?ð?ð?ð?ð?ð?ð?âï?ÀÓï?ëê?Ö¶?à|?ƒ?¡Ë?ð?ð?€üï?@¥ï?¶ï?ð?ð?ð?ð?ð?€÷ï?@øì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@|ï?€›ï?€‘ï?€šï?€ªì?@ïì?ÀSï?@åï?ð?€)î?èï?ð?ïï?@[ï?ð?rî?¹ï?@¾ï?€‘ï?ð?ð? í?üÉ?€JÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@€ï?ï?ð?ð?ð?@ï?ð?ð?ð?ð?€Éï?@Àî?ð?ð?ð?ð?›Ó?LÊ?÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ð?€îï?@óï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Âï?ð?ð?€ùï?ð?ð?ð?ð?¯ï?Àâï?•Î?@jã?ð?ð?ð?ð?@ðï?ð?ð?ð?ð?ð?Àðï?ð?ð?ð?ð?ð?@ûï?€æï?ð?ð?ð?Öï?ð?€Øï?@Ñí?Àï?žï?€Óï?€Jí?ð?Rï?èî?ð?ð?ð?ð?Àöï?ð?ð?ð?ÀÛï?ð?ð?ð?Àî?ðˆ??@Ù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀWï?À•ï?ð?ð?@æï?‹ï?ð?ð?Àíï?ð?Àõï?[í?ô²?>??@ïá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?ð?ð?Àøï?ð?ð?€¤ï?Àôï?›ï?ð?€îï?ð?@÷ï?èà?À¿é?ð?Àûï?ð?€öï?ð?ð?ð?ð?ð?ð?ð?€ûï?ð?ð?ð?ð?ð?ð?ð?ð?ëï?@øî?ð?™ï?­ï?@ùï?€ï?€Ãï?€ÿï?tï?À©î?ð?ð?ð?ð?À×ï?ð?€eï?ð?ð?ð?ð?ð?€êï?—à?p‹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@úï?Àï?0ï?ð?@ýï?@Åï?€î?ÕÍ?€W?‡?€±ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@óï?ð?@ôï?Ý?€?€\?Ü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞï?ð?ð?ð?@îï?À³ï?ð?ð?ð?ð?ð?ð?Žï?ð?Àíî?ÀMï?ð?ð?ð?ð?@©î?€Žï?ð?ð?ð?ð?ð?@Úî?ð?ð?ð?ð?ð?ð?€æ?$?À†ã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àì?ð?@Žï?úï?î²?€Üå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?œï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€÷ï?ð?ð?ð?ð?ð?ÀQî?_?˜?œ ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê?ð?ð?ÀÏï?€÷ï?ð?ð?ð?ð?ð?ð?ð?@Ãî?ð?Àˆë?@ãï?ð?ð?ð?éî?Àçî?€hï?Àxï?ð?ð?ð?ð?ð?ð?À^ï?ð?ð?@¿ï?ùê?d²?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?@/î?ð?ð?ûï?ëï?@Þï?ð?ð?À9á?Àuä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?ð?€÷ï?ïï?€óï?ð?@¦ï?ð?ð?ð?ð?ð?ð?À\î?ð?ð?ð?À\ï?P‰?ð?ð?ð?ð?ð?ð?ð?ð?ð?gì?ð?@Êï?‡í?ð?ð?ð?ð?€óï?ð?€«ï?ð?€Ìï?€¤ï?™í?ð?ð?ð?€…ï?Hï?ð?ð?ð?tï?@ÿï?€îï?ëï?ïï?À$ï?€óî?Àï?Àûï?ãî?ÐÁ?À-ï?Àúï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@sï?À¼ï?xí?Ðï?€qï?€Èí?ð?@aï?ð?ð?ð?@˜ï?€š×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€áï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ôï?ð?ð?€óï?€ðï?ð?ð?ð?ð?ð?ð?@Œë?G?ÀÞæ?€óï?ð?@îï?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?@Ÿï?ð?ð?ð?ð?@†î?ð?ð?@ôï?xï?@Øï?€ï?ð?ð?aï?öî?ð?ð?ð?ð?€óï?€Ñï?ûï?ûï?@¡ï?ð?ð?€óï?’ß?Xé?€ Ó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À î?ÀUî?@Âî?7î?ð?ëï?ð?ð?ð?ð?FÓ?`‹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ñï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àî?ð?ð?ð?ð?Àkà?ð?@€ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?ð?ãì? ×?ð?ð?ð?@úï?ÀŸï?€vï?ð?ð?©ê?ð?ð?ð?ð?ð?€Ôï?@úï?ð?ð?ð?ð?Õï?…é?µ?¯Ö?=ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€qï?•ï?ð?Àûï?ð?@å?Àùç?ð?ð?À¸ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àçï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?zØ?€bï?@ûï?À¾ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¤ï?ð?ð?ð?ð?ð?ð?ð?€bí?Àì?ð?ð?ð?€è?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?Øë?À?€bã?¸¦?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àíï?ð?ð?ð?€™Ý?À™?ð?ð?ð?ð?@Ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À-î?fá?€¨Ø?€…Ò?nÒ?Ä?€êÓ?€Zì?»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?µï?ð?ð?ð?òï?ð?ð?ð?ð?ð?ð?ð?ð?ôï?ð?ð?ð?ð?ð?ð?ð?ð?@:ï?`?Àz?€Oæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€óï?@‹ï?ð?ð?ð?ð?ð?ð?ð?@í?ð?ð?ð?ð?;î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À–ï?€¡Ò?5Ô?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@â?à‡?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÏê?À;ë?Àë?ùå?€åØ?pŒ?€~?´?€öÙ?Àxá?@eï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àï?@ïï?ð?_á??á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@þî?ð?ð?ð?ð?ð?ôï?Üî?èï?ð?ð?úï?ð?Àïî?ð?ð?ð?ð?€½î?Àëï?ÀŽï?ð?ð?ð?€Ýî?hÉ?p»?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?€Úá? ?@rï?ð?ð?Àåï?ð?ãï?ð?@lï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÞë?€‘Ý?€¸Ð?ð?ð?ð?ð?ð?ð?ð?€Sï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÚï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@{ï?ð?@íï?ð?€µï?ãï?€ë?>·?d×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¼ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À1ï?Àƒï?ð?úï?ð?Àèï?ð?ð?@ªí?@>æ?À0í?Fï?ð?ð?Îï?€.Ý?@3ç?ÀÌà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€§î?€ÕÕ?€Xï?âï?ð?€@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€¬î?ÙÑ?e?H—?;é?ð?ð?ð?ð?ð?€Çå?€úæ?ð?À÷ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼ï?€Øï?ð?ð?ð?ð?ð?@ýï?ð?ð?€óê?s?€ê?ð?ð?ð?@Êï?ð?ð?ð?ð?ð?ð?ÀÚï?@ðï?ð?ð?ð?ð?@äï?ð?¡ï?ð?ð?@ì?€¨î?´ï?€æï?€Ží?€•ë?€ÿî?ÀSî?@¾î?€mî?ð?ð?ð?ð?…à?@­ë?,Á?=î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð? ï?Àáï?Íæ?,­?"À?€ö×?Àýî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ Ø?€Š?€èî?ð?ð?ð?_î?@i?€ í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Çí?À®ï?€ñï?€øî?ð?@¾ï?ôï?Àûï?ð?ð?€’î?½Ç?x ?€Íï?ð?ð?€Êï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Þï?ð?€íï?Àùî?ð?ð?Àí?Àáí?@õï?@ ã?@Íï?ð?ð?Lï?ð?ð?ð?ð?ð?@vã?œÐ?€òä?€äî?ð?ð?ð?ð?ð?ð?@Öè?Àùè?@)ç?@úç?€—ê?Qî?œÙ?l£?„¬?€ß?ð?ð?ð?ð?@îï?ßï?ð?ð?nï?Àùá?wÜ?Ó?€_×?€7Þ?€¿ß?9Ü?€3Û?‚?àÈ?ð?ð?ÀÏä?€c?AÕ?ð?€æï?ð?ð?ð?ð?Àˆï?¥í?ð?ð?ð?ð?õï?ð?ð?ð?ð?ð?ð?ð?ð?ð?À‹ï?ÀÞï?ªï?€Qí?À;ì?>?p‚?¿?€÷ï?Þï?ð?ð?€Ëï?ð?ð?ð?ð?ð?ð?ð?@øï?@õï?€þï?ð?À—ï?ð?Àýï?@ìï?ÀJï?æï?ð?ð?ÀÎì?@Ðí?@ì?@_î?ð?ð?ð?@ÿï?ð?ð?ð?Àüï?îØ? «?€¼Ú?lí?ð?“è?zá?@á?†Ë? †?‚?t¼?gá?ýï?@vï?ÀÎï?@¿ï?Àçï?€Šï?€$ç?€×Õ?€]? ˜?@Ôë?€è?x—?€¦â?éß?Àwî?ð?ÀÇï?ð?èî?@ýï?Àäï?ÀÔï?@ëï?Äï?Àùï?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?€&ï?6Ó?[?¸?€-á?@2ï?ÿï?€÷ï?@ÿï?Àìï?ð?ð?ð?ð?ð?ð?ð?ð?ÿï?ð?Àýï?@øï?ð?ð?Àï?€Žï?€ï?€þï?@øï?ð?Êï?€bà?ÍÔ?€Ýå?@Aë?@îï?Þï?ð?ð?@Æï?@aç? …?κ?€ÿÙ?„?:?€ÑÙ?oê?Àåì?Àïí?Àë?€•Ö?(?€¼×?MÄ?X?tÈ?À·æ? Ã?ëÞ?€Çï?@¡ï?ð?ð?ð?ð?ð?ð?€ñï?À™ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?qï?À›ï?À%ï?@éï?3í?@«?€JÒ?ŸÌ?£? ƒ?@%ì?öï?@ýï?ð?ð?€ýï?@Ñï?€ëï?ð?ð?ð?ð?ð?ð?@äï?ð?ð?ð?ð?Àøï?@´ï?àï?@'ï?@Ûï?€Óï?@úï?@ýï?À=ï?À>á?`¹?̤?€‰Ø?@†ã?ÁÜ?Àæ?€Ù?ˆ?G?P?ä¡??às?Ù?NÂ?H?À]ï?ç?ð?ð?ð?ð?ð?ð?ð?À~ï?ð?ð?ð?ð?ð?ð?ð?ð?@áî?@çï?À¸ì?@þï?€é?V?À²ê?@9î?MÇ?ØÂ?ð?ð?ð?ð?ð?€ÿï?€Ÿï?ð?ð?ð?ð?ð?ð?Àûï?ð?ð?ð?ð?¾ï?Åï?@âï?Àðï?çï?€Äï?¿ï?æï?Àâï?À×ï?t²?;Â?À‚ä?øà?€Ñ?б?€æÓ?ð?ð?ð?ð?€î?ïï?ð?ð?ð?ð?@éï?ð?ÀÙï?ð?€âï?ð?€î?@ï?ð?ð?v»?H³?@°ï?€1è?€×é?ð?À»ï?ð?€üï?ð?€îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ªï?@÷ï?‘ï?€¬ï?€Øï? ï?€dï?@8í?€gï?Àu?_?ô½?³?€cé?ð?ð?ð?À¢ë?€ôï?ð?ð?ð?ð?ð?ð?@#î?ð?@ ì?ð?Àøï?€–ë?ð?ð?ãÒ?@Ùè?¸‘?!È?ð?ð?ÀÎï?€õï?ÀÛí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àðï?€åï?€¸î?@òî?eÎ?1Ä?ð?ð?Àñï?Qï?@\ï?@éï?ð?@õï?À­ï?@í?ð?@_í?Àôï?Àþï?€»î?ð?€þï?@ÿï?À¢í?À„â?”«?jÚ?ÚÔ?€ìï?ð?ð?@¡ï?ôï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?Àáï?@Äï?@éï?ð?ð?ð?ð?Àžï?çî?À÷î?žØ?ð?ð?@Uï?î?Àwï?ð?ð?@ï?€Æî?Àîï?ð?@šî?ð?ÀÙï?ð?ð?ð?ð?€$ç?²¾?€"ì?@Yà?˜›?QÉ?@‘ë?À•ï?ð?Àíï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@íï?€[í?@ÿë?ð?@úï?ð?ð?ð?ð?ð?€™ï?Iï?À´í?f?د? ‹?À»ê?ð?ð?€îï?@Ïï?ÀŠï?Vï?Ëï?À»ï?Øï?èï?@òï?ð?ð?ð?üï?€}ï?Àåî?!Ú?€$ê?“ï?|ß?€¡?4?Ø­?U×?8š?»â?ð?Àêï?ð?@’î?Àíï?ð?ð?ð?ð?ð?Àöï?ýï?õï?@öï?ð?ð?ð?ð?€êï?@Üï?ð?ð?€÷ï?ð?@ôï?Àõï?ð?ð?ùï?À@î?Ó?G?¨‘?\¬?ÀÌå?@Šî?ð?òï?@ï?@ïì?€³ï?€è?@’â?€šï?€ìï?À7ï?@í?ªØ?Ò½?¢?è’?Pé?ÀÐï?À›ï?@Nê?€à?@ è?€Ýì?€\?TÆ?€ãï?@ûï?ð?þï?áï?ð?ð?ð?ð?ð?ð?ð?ð?@éï?åï?ð?ð?ð?@úï?@êï?|ï?ð?ð?@þï?Àùï?€øï?Àÿï?ð?@äï?ÀŽâ? ?€n?Ç?%Ö?@Mè?@`í?À9ê?Ì?€öÔ?kå?ÀÍï?€|î?¤Ö?²¾?ð?Àäï?¾ï?Üï?þï?@îï?¾Õ?¡?€Œì?ð?Àÿï?ÀÛï?ùï?ð?ð?ð?@Íê?À÷ï?€ÿï?ð?ð?ð?ð?ð?ð?À¯î?Àêï?€Ùï?ð?ð?€øï?ð?Àýï?€êï?Xí?€üä?`À?Àp?Ð?D°?Àx?€lÙ?T»?œ¤?"Û?ð?Àkí?~ê?@Þï?ßí?À’é?jà?ð?Ãï?}ï?@Pî?öï?ð?ð?Àóï?@àï?@õï?ð?ð?ð?ð?ð?ð?ð?ð?€½ï?À ã?ÀÒè?@6è?@ å?yÞ?ýÈ?à‰?c? |?œÞ?ð?ð?ð?ð?íï?\¥?„¬?œì?ð?@ë?Àï?ð?ð?ð? ë?Gî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€„î?€¹?€må?€ÛÖ?$?€¹Ó?ê?ð?ð?Àñï?à|?¸±?@wï?€Èï?€%ï?€1í?ð?ð?ð?€õì?ð?ð?ð?ð?ð?ð?ð?@Øï?ð?ð?ð?@äî?VÂ?Í?ü¥?O?Àóï?ð?Àþé?À{â?ð?@¦ê?€¬î?À‰í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@’ï?€ôî?ÀÝï?ð?@3å?€q?›?èÊ?@r??è?Uç?ð?ð?€òï?ÀUë?„©?€mà?Àxë?ÀÁä?@éï?@ñï?Nï?À.ï?ð?ð?ð?ð?Àóï?&Ì?˜“? v?D¾?D¦?+Ø?Ýå?€mæ?Àj?êÍ?À1æ?”ê?è?€×î?Àê?@Tã?é?ð?€úï?@ãï?@øï?üï?€,ä?L¯?_É?€AØ?€]? Î?˜¥?åÓ?@Àî?}î?€<í?@}ï?xï?ð?€þï?€õï?À’ï?ð?Àüï?^â?_Ì? ?¬¡?M?@Éá?À›î?@öî?*î?ÀSë?3ï?@óï?Àüï?€íï?ð?Àüï?@òï?ð?@•ï?ÐÀ?´¨?€HÚ?Àå?€þä?Áî?®î?@tï?@šï?€ìï?€óï?ð?ð?À÷ï?€÷ï?@ãï?Àtî?€§?:?BÕ?žæ?ñä?€¨ì?À)í?À‡î?ÀIï?Àçí?Àëï?öï?@éï?€Úï?ºï?@«ï?À†î?€ Ô?6?´À?:½?€Ö?¯å?€Nä?Àyï?@ì?'ê?æï?@–ê?@þï?€ñï?€åï?Ýï?çï?Éë?n¹?€CÔ?€*ç?€Ý?‚À?Ï?uè?€©ê?@tí?@mï?€·ì?ÀXï?tï?@Ãï?ð?@Õï?íï?—ï?€ïÑ?¸´?µÒ?€›Ü?€3â?Àì?ÀGè?ð?€gä?€Üí?@ïï?ð?ð?ÀŸï?ï?úï?€òÖ?€ß?Àgé?@Fë?`ê?@Uì?Àöï?ð?ð?@ûï?@¡ç?€úÖ?ÒÄ?ãÞ?€Ü?@ê?¢ï?Àïî?ð?ð?ÀÓï?ð?@èï?Œ¹?À?€yá?læ?@Fï?@+ë?‘ï?ð?@ûï?°ï?€à?`?Àf?n?@a?Q??È?€XÒ?UÜ?Àì?Ïì?€õï?ð?ëï?úï?€Aî? ±?k?_À?Àá?¶Ø?Àké?Ààà?Àe?„«?ÔÕ?€æÞ?jæ?€æ?@€ï?€Ëï?€ºï?@òï?@ê? È?@Tâ?€Û?À]è?Ý?U?á?Àoï?Ùâ?Àà?8¤?Á?€ÿæ?€?Ú?Òâ?ð?ÿï?D·?€hÖ?*°?‹Í?(š?†´?e?ÓÊ?à?Àßï?ð?ð?Àr?ð?@Uí?€l?@€?€¶Ø?@ë?`â?`q?È?Ùã?X·?È‘?@íà?ð?ð?ð?@ï?Œ»?„Ì?®Ó?‹Í?2?€ìÒ?T? «?ZÀ?€Z?·?´¦?Œ«?ð?ð?€é?@Üâ?ÀŽì?ð?ðë?ð?ð?€7ß?x·?ÞÚ?À«ç?¿?HÞ?8·?0?|Æ?L¡?G?€–?6³?@•ì?ð–?J?À~?¤Ð?nÔ?€|ï?ð?ð?ð?,Ü?P¦?Òá?€¾ï?ð?ð?Àüï?@šâ?޽?âì?Û?qÄ?<Ä?â?@¯ï?ð?µ? p?H¨? r?ð©?€ÈÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?€âï?€Ø?OÂ? “?D£?À?î?ð?ð?çî?,Ì?^Í?àu?€åÒ?@Wâ?8´?*ë?€:é?€Ùà?6³?@ßã?@*ï?€ì?€Žî?+ï?öï?@*ê?;Õ?GÀ?ˆ–?>?"µ? œ?L¿?ÑÅ?€0î?ð?ð?ð?@ìë? …?µ?Ñ?ìÁ?@î?ð?ð?ð?ð?@áî?@â?@q? ?›Ï?Àþï?ÀÔï?À±ï?ð?ð?ð?9ì?€×Ó?ÀÅë?Àqï?@Èì?À ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€1ê?øÌ?ë?ð?ð?ð?ð?ð?ð?€æÖ?¸¶?ÍÆ?,Í?kÕ?À\ï?lå?@Óå?ð?ð?€ç?Žº?,´?€‘Ò?ð?ð?ð?ð?ð?ð?ð?ð?€}ï?@–è?ñÕ?ªÐ?t©?¾²?Ç?äÎ?П?<©?>?€vØ?É?€áé?ð?ð?ð?ð?¹è??,®?ñÆ?ص?ÀÈë?À€æ?@àë?ð?ð?ð?ð?ð?€‘î?€Çé?€.Ò?^¼?Ø¥?Àj?I?\?mÒ?Àýï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@«î?@ ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Îï?£ï?í?ÀÒî?À™é?¾¼?:°?€´Ð?À_é?€ç?€çí?ð?ð?ð?ð?ð?wË?éÍ?@ã?@4î?À“ä?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?À©ï?€(æ?€œæ?ÀÕç?ÔØ?Ì?OÁ? ®?n¸?&³?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@î?€:Ø?\°?Œ®?^?À=æ?€Æß?À¨î?ð?ð?ð?ð?ð?$?ƒÕ?€bå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€OÝ?TÃ?è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãï?ÀÝ?˜?’?€S?€b??Ìï?ð?ð?ð?ð?ð?TÈ?·Ì?€d?v¹?Së?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?rÃ??f¶?€+ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?þï?@—ê?À'ì?&ì?¦ß?Àvè?OÖ?P»?€a??@w?SÐ?ð?ð?ð?ð?ð?ð?Àlé?X?úÛ? °?”Ë?³?€ï?ÀLâ?G?b½?(ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@òï?À)ç?ä­?„£? x?€gÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À_å?¾×?·Ë? Š?Pƒ?€R?îÇ?~ì?@Å?:´?€ ã?ð?ð?ð?ð?ð?€Öï?@Ùå?–?ÅÉ?ê?Àe??€ëå?cÓ?}? u?€u?@ùë?Õç?€¿Ò?€©í?ð?€âÞ?}Î?ì»?€ïÞ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?©ê?®¾?ÀTå?*ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?bê?„Ò?[É?[É?Ô×?^é?€-ï?@öà?@Ää?ð?ð?ð?ð?ð?@Æï?à«?@¸ï?5Ó?.Ç?¨™?ô®?P?¥Â?ëÈ?ƒÃ?4Ô?2Ï?Àìè?ð?@Yì?Àï?À†è?¤Ö?€þÔ?R·?¤¡?˜ ?Ç?€ÿÕ?€8í?ð?ð?ð?ð?ð?ð?ð?”ã?€¢î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@áï?À¶ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?nÆ?j?ÀŸæ?¦ì?Àçï?ð?ð?`ê?À¾è?ð?ð?ð?ð?ð?@%ï?ر?Rç?ð?ð?ð?€wï?@Àï?À`è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ªï?@µï?@™ã?@hì?@‘ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@øî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ è?¿á?Ö²?b²?H–?H?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€b?¯Æ?à¢?»Ë?0Ù?@§á?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?À ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àkï?€+ï?€\ï?é?àÍ?ʲ?Àä?@Xç?ð?ð?ð?ð?ð?ð?ð?ð?ð?À¢î? ?ÄÙ?€Hî?@Ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Vï?ÞÝ?Àm?€€?Àa?Ô?6ç?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Èï?È?<¯?À³é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Aæ?p¦?”­?®´?į?¼î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?sÎ?¤?@Oì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€òï?þÆ?0?ðŽ?KÏ?ÀÁï?€éï?@êï?Àöï?€ÅÞ?$?à}?°?€l?a?ú±?{Ü?@Òí?ð?ð?ð?ð?ð?ð?ð?ð?„×?ò¿?Eè?Vî?€éï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@(â?@l?H£?œé?ð?ð?ð?Àï?£×?€çÛ?ªØ?ëæ?Àï?ï?К?p”?¸˜?ä´?€ôç?¤Ê?—?¬?€8î?ð?ð?ð?ð?ð?ð?ð?@ï?Àn?@à?€)á?€»ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Œî?Ã?޹?X™? v?ÀLã?ÀÂï?þï?ð?ð?ð?ð?ð?ð?ð?ð?ÀÍæ?€Ù?À[è?€`ï?@èë?@Áã?@`à?@„ì?ð?@Îï?hä?€õã?ð?ð?ð?ð?ð?ð?ð?çì?ßÈ?@xä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Nï?€-á?€MÜ?`r?2?¼Ë?@èî?–Ñ?4Â?€V?À?9Á?4?`‰?˜Î?Àì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Ùê?C?¶³?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ì?0©?Àd?ÛÃ?Ý?ð?ð?ð?ð?€í?sã?€ÔÓ?±Ò?Àä?ò³? Ÿ?@à?7è?@Uç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ýï?(œ?*Ô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ýï?@mã?4?@c?`½?.Ç?€Ü?@ã?À¤ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?@—í?ÉÃ?€Âè?€ìì?kÚ?†Í?@úï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Šë?2µ?€ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀTç?`…?FÛ?ÓÜ?ÀRî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àüï?Àì?ð?À è?€ƒÖ?"¼?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àí? ’?€Þ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?vê?vÁ?:?˜—? ¹?€)ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àtï?ð?€Îï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Më?ض??Ø”?PÓ?À„ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€•ï?4Ë?€r?€ÈÛ?€Íî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßï?€@ß?Š?yÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀÔï?yÃ?à?jº?Ö¿?É×?âÓ?Àcì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@¨å?–?#Ì?@¥ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@ä?"°?â¶?À"æ?Àÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?8í?€eÖ?@e?‰É?€ðï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?¼Ù?½??…ð?t?·^?â¥?æœ@?êÖ€?ä?Øà?–X?T?©Ì?ÒÞ€?è­€?ê´À?í¨À?îY?í?Û€?\€?,?L?>??¬?Ü¢€?åŽÀ?ï¼€?î¢@?ﻀ?ï2À?í?Ê?ÜØ?Ôë?ä€?ê^@?îW?îpÀ?îKÀ?ç•@?一?Ô×€?P?…`?>?Ãx?¸à?¾ä?¥d?ãª?î„À?ïÈ?ïh?î´@?íp@?ê¦À?çº?Ñ)?èH?î°À?éô?ê±€?èÑÀ?ð?ð?ïXÀ?è‚@?íx@?æ@?æy@?ÖÀ?è@?ÝŽ€?eÀ?fÀ?®ø?À6?º?á`@?ÓÏ?Ìê?Ê+?–¸?ª?Å€?Å?ßõ?€P? ¼?ä]À?×V€?ê€?ì €?ím?ë!À?ïfÀ?ïg€?êÇ?Ù›€?ßX€?ï7@?ï5€?ïxÀ?ï©€?ïÒ?ïï@?ð?ð?ïö?ïÒ?ï @?íÀ?é?ꘀ?íb?åâ@?£@?P€?¢ì?Å?Á ?Š??Ãr?àã@?Û4?Ðâ?â)À?ä€@?Õ`€?¬ ?–?¦?M?äá€?î€?­ø?q?ÍÊ??àÕÀ?Þ€?ã-@?äN@?ëóÀ?ïr@?îõ@?á„@?⃀?îï€?ïBÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïôÀ?ï€?ììÀ?í„€?éhÀ?Á?Ãá?ž?ÞÂ?í0À?ìnÀ?él@?‘`?®0?’?u ?±@?Îâ?ÈŠ?Áó?Óß?´^?ã§?êo@?äœ@?¸?£¬?Ã?æßÀ?ïÖ@?íA€?åB@?èú@?íS@?ïÑÀ?î=@?çàÀ?œ?Ü<€?í´€?î:?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÉÀ?îÃÀ?èù?ÑÅ€?ãU@?êB?ë3?Þ €?è`€?áù€?0?|à?x@?¬Ø?{à?™?Ñ?îÀ?îRÀ?Èó?µÂ?‘€?Éâ?›?¡ˆ?ÖÛ€?ézÀ?ïc?ëÎ?èî?í†À?î{@?çûÀ?Òî€?•¨?µ®?æ€?ïË?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?îo€?áJ?¤Ô?Ð]?ï«À?î$€?îÆ?×Ô€?µ ?°€?¸‚?”?Õw?æÀ?å°€?çRÀ?w ?¤\?¢¸?¢¤?ä,À?ßW€?Á8?¸4?â À?îÐ?éFÀ?äÜÀ?éD?ïâ@?êQ?ÕN€?¬P?àš@?éÀ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?éEÀ?ÆA?¨€?ݤ€?äu€?íÍ@?Üq€?àO@?t@?vÀ?}à?áB€?ê*€?Øl€?Á®?„?͈?Ý2?Éô?âØ€?åu?äQ?Ù?ÛŸ?å±À?Þ­€?êeÀ?îºÀ?ð?îc?Ôn?à ?ï–?ïÖ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô?íx?Âä?–€?‚À?äØÀ?í²@?Ç>?ä©@?àÚ?R€?q ?†?I?•?½˜?Ð’€?ÆÑ?†?@?¦h?Ê|?ál?Ýá?Èv?¶ ?Ø!?À/?Üu?Ñ ?ȼ?Å)?âF€?ê‘€?î$@??ÉÐ?|@?Õ€?ê¬À?ëÑ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïo€?è#€?ÑW?±<?Âï?ì€À?Ô€?§?ÐQ?•¸?r€?·?z@?K?m?’8?¸8?l€?“è?¿„?fÀ?Óª?ïG?âÃÀ?¹ì?—P?W€?t ??I?x`?Ùë€?ãÛÀ?µB?Éà?¾?…Ð?Î?³œ?‡€?zà?Á×?×b€?¥¼?Ó?€?âÔ@?ì5€?îFÀ?ê€?Ýÿ?A?ÈÛ?çK€?èËÀ?ïD€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïH@?íî@?åü@?Ðö€?Òa?±:?_?”à?Ñ€?î\À?¹ò?µ¨?Àª?”?æ‰?ïá€?ï+?ä=?äý?Ñ3?@?«ð?2?k?2?ÒÀ?èjÀ?ã_€?Ò?y€?Æh?Æî?o€?Ì?Ò¸?ص€?ØŸ€?ë¬?Üq€?ßa€?ë €?ì°@?è@@?ê»?åKÀ?y@?š0?â€?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?踀?Ð’?Ê?t@?:?A?£¼?ÙŸ€?êÕ€?ë½À?æ!?Óq?§?‡p??²:?áQ@?åÛÀ?ã¤?í À?ïÀ?ð?ð?ð?ð?í·@?ц?–@?Ü?Й?Öª?º?N?ž8?Þò€?åS?ÑC?ä)€?éØ@?Ô†€?Òi?á@?Ñ?Ú*€?ã+?èL?å €?¹(?ËÒ?çù€?ßЀ?¬ì?¸^?Ù?ÈÏ?Ó?¤¼?¥X?â5@?Þo€?Ö?Ðz?æ€?ï—À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïØ€?ì[À?Ýx€?µb?§„?âw@?ï@?êg@?ÒÇ?¨ ?Á0?zà?r ?µö?⸀?êÁ€?ïœÀ?ð?ð?ï @?ð?ð?ð?ð?ð?ïPÀ?ÖC€?ÊC?ì§€?íi€?é*À?éÁ@?ÊÄ?ÏÖ?°†?M?šh?³Ú?Ò»€?çuÀ?í,?é¶€?ã €?í«À?å¦À?Æ=?ÑÊ€?æõ@?ã€?Ú‡€?ØC€?äæ?ê¶?àÙ?Ý›?é@?êÀ?Ú?b?~€?®8?çeÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã@?ëèÀ?ä/@?¸€?Ú!?ð?éÜ?¥ ?¢„?Ðp?êP@?ð?ð?ð?ð?ð?í²?ð?陀?îÆ?ïóÀ?ð?ꎀ?¹:?\?æÜÀ?êgÀ?â©À?Ùñ€?Á‹?è€?çë€?°F?ÒÛ?ÞI€?é“@?æ9€?à7€?Э€?Ì ?ÕR€?Ò»?ßz?èÀ?áÍÀ?î/?í4À?ïJ@?î?ïñ?â—€?Ñé?ïCÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îS@?Ö©?ÏÌ?¶˜?ªl?ꮀ?ì?»L?˜¸?¡ˆ?¸"?áR@?ð?ð?ð?ð?ð?ïí€?îTÀ?â€?솀?îE@?ìW@??ß?äŒ@?p?`?§¸? ?¥¼?Æ+?Œà?R€??’È?–°?Ùû€?äê€?ÒÖ?ж? ?ă?Þé?³?{ ?r€??“ð?¸4?»ô?Μ?»^?ȯ?Ô??Õ¢€?ÓO?Ѫ€?ÉU?c?œ ?äõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ€?ïj@?ï€?ìC?æ/?Í9?0?âi€?ïÀ?Øv?‰?²ú?y?tÀ?©8?Ç??Óh€?ä{@?ï]€?ð?ïg@?ð?ïÝ€?ï%€?îËÀ?íû@?ï€?ïÒÀ?î@?á!@?ä×€?Ýc?¹Ð?Éå?³ž?Ï5?»Z?¬?E? L?¬ð?(?Ú€?ßU?xÀ?æP€?î»?ìÚ€?íÊ?àc€?i€?t ?½Â?Éw?»J?Ý[€?ÖÄ?Ó(€?ë?èó?Æ\?Áï?Û?»‚?Ì?Äß?Â{?¢`?m€?Üz?ïÜ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¨@?ï¦@?îo?éù?ìˆ?ߊ?†`?r`?äV€?ím€?Àv?Ø€?Àm?±?·r?Š?¡L?è÷À?ð?ð?ï0?ïô€?ï›?ð?ð?ïä@?ð?ïÓ?ï@À?ð?ð?ë7?ßh?ê¨À?ð?ì €?ïù?ïÈ?áÉ€?·R?´?ìyÀ?é×?åKÀ?¶?Èà?ãq?Ç&?äÆÀ?îu€?îÀ?ï ?è ?áî€?·2?q ?ÒÆ?è΀?Õ“€?Üé?îç€?ß,€?ä#€?ï®?꬀?¯ä?éD?ç¥?á¯?îw€?çU?íº@?æ?‹ ?|€?ØW?ïí€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ëú?é—?âæ?×?œè?„P?ë¸À?îÀ?» ?µ ?ëŒÀ?çå?¸0?×?«x?Óa?Ƀ?ï½€?ï8?ï’€?ïn€??ïªÀ?ð?ð?ð?ð?ð?ïö@?ï|?ï‘€?î?ïÀ?ïäÀ?îºÀ?ïô?ï’@?ð?ïê?ïÏ€?ï@?í\À?ìóÀ?î«€?êÀ@?å@@?À­?Âü?âPÀ?Û¨€?Ó¤€?©˜?Þ®?î À?íF?ìˆ?â¦@?ìiÀ?îëÀ?èË€?à^@?☀?Ý€?îì?Óå€?|@?á(@?âÀ?í?ÝÁ?æÞÀ?â©@?ËÏ?ËX?î£?á€?è(?îþ€?ï€?Ý]€?à@?ã‰@?¸F?´Þ?ã§À?ï2€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŒ?ì<À?ã:@?éP?Æû?ÒÏ€?î÷?é®@?ÓX?ïâ€?ï%?ÆF?Þ¶?Ñþ?èø?å>À?Ô½€?ïF?ð?ð?ï€?ï§@?ð?ð?ï:€?îÖ€?î¾€?ìÏÀ?ïÇ?îý@?ïè?ð?ð?ð?ð?ïà€?ïÙ€?ð?ïô?ð?ð?ð?ïÐÀ?ëf€?è|À?¿î?‰`?¢?¬´?èÝÀ?ïñÀ??é,?åÈÀ?æL€?É?qÀ?è3€?îò@?î'@?Ü»€?å7?î—À?î‚@?í÷?é¶À?í]@?ã£@?ì@?Ýò€?`@?Î’?èÀ?ì@?âv€?â”?Æ©?Û¦?ï'À?åœÀ?æ@?ïÀ?ìþ€?ä»À?ç‰À?íS€?â€?ð?™˜?å„?ì9@?ï³À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá€?íÝÀ?î&€?ëÒ?ã€?¹ü?J?i?Z€?F?Ï×?ë/@?ï³€?Ö÷€?½Ê?ì™À?ð?ãÒ?ä@À?äÀ?è¦À?îŽÀ?ïä?éB?çgÀ?ð?ð?ï™À?ïì?ïß@?ïÖ@?ïÀ?î¼€?í@?ï¢@?ïÚ@?ïÏ€?ð?ð?ð?ð?ð?ð?ïÌ?ïÂ?ð?ï–@?ð?ð?ð?ð?ï¶@?îÜ€?н?G?ä@€?Íý?àé?×ó?ä?ïÙ€?îÁÀ?í°€?é??ïÙ€?ëUÀ?Ú€?š(?M?k?>?¿’?ᜀ?Áw?} ?~ ?f€?b?Æ?좀?íRÀ?Ëð?㇀?êß?ëO€?ìW€?ïÐ?î*€?íÞ€?ëj@?ìÔ€?Éi?†?åù@?áÎÀ?Óø?æ¸?Á}?ç¾€?ïj@?í?é}€?ð?ï¼À?ïIÀ?ïÀ?ï&À?ì9€?à‘?Þø?’è?ÇŠ?欀?ã^?ìú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïß?î;?è¹€?ëk@?ïK€?à@?`@?¤ì?Ë?Ü?ÖÅ?Òe€?°?Ô!€?í»€?ë2À?»†?é\€?ïäÀ?ïá€?éV?ào@?ï?êk?ê¦@?îU@?î¢À?ã)€?ð?ð?ð?ïø@?ð?ïÐ@?ï?ïˆ@?îF€?ï–€?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ïî€?ð?ð?ð?ð?ð?ð?ð?îúÀ?éó€?ÒÛ€?ïЀ?ï÷?ïI@?ëP@?îÄ?ï8@?î€?îx€?îQÀ?ëá@?í§€?íZ?àx@?ÐË?Þ?ãSÀ?×ó€?¬ ?‘0?äœÀ?ç ?Ó½€?°Ì?Çf?áe?Ô®€?Á¥? Ø?ÑŠ€?§?Ò–?í2@?ïC€?ïVÀ?í@€?îœ?ï?ìþ€?î?× ?^€?vÀ?©l?Œ€?讀?ïˆÀ?ß4?Ì>?æœ?íÜÀ?í9À?ïã@?ïuÀ?ì°€?íó€?ï¢?ïÀ?î1@?ì*€?×_€?¦?Çš?Õb?æˆÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ï ?ê@?àå€?ç €?ê^@?w@?šx?¸¤?qà?´ò?Âx?áÐÀ?ê<À?èí?ë˜À?ínÀ?ê@?²"?B?²Ä?Ñ €?Ñ€?É\?¶š?©|?æÍ?ïÀ?ï5€?ë¹?ÅÉ?ïŠ?ïÂ@?ïè?ïð?ïüÀ?ê´€?ëKÀ??ïÍ@?ïÚ€?ïê€?ð?ð?ïË?ð?ïî@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€?ï3@?ð?ïz@?ï«€?ð?ïè@?îš?îÖÀ?ïå@?ï÷@?ï±€?ï\?î À?í˜À?îª@?ï}€?î¼@?îlÀ?î©?ð?ï¦À?ë?ÁL?`?˜p?•¨?¦€?‘¸?¸P?ßé?ìÞ€?èÚÀ?æ0?åí€?ßò€?Öè€?ØÛ€?΂?¾6?¦h?ž?‘È?œà?”È?Ô¹?N?| ?‡@?Û€?â€?Ú±€?ç9À?ïr@?ïœ?ï?îÁ?ï€?ëÔ?Ûs€?Ä-?è~À?ð?îj€?Ŷ?sà?â?ê ?ï·À?ïÍÀ?ï•@?ìTÀ?ë2?í¯€?ïéÀ?ï„À?ìr€?íÃÀ?êi€?çYÀ?¹˜?¤Ì?âq€?æ@?ä&?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï–€?è¶€?éÜ€?ÚÚ?Øà?âé€?§?ŽÐ?W?½n?ãþ?æv?ì À?îô?îÏ€?ïï?îß@?ä5À?Ñ»?Èm?ÊÛ?á?ÒÙ?·Þ?a@?ê—@?î¢?ëì?êÇÀ?ל€?ïð?ð?ð?ð?ïç€?î-?ìd€?î?í¤@?í?ð?ð?ïá@?ð?ð?ð?ð?ð?ð?ð?ð?ïâ@?ð?ð?ð?ð?ð?ð?ð?ïâ@?ïÞ@?ð?ð?îÝ€?îKÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¾@?îó€?ð?ð?ïý@?ïõ?ïR€?ï”@?ï-À?ì@?ÄÄ?‘x?¸È?Z€?@?×z?Íä?äœÀ?áp€?ÚÄ?×$€?®l?¯h?ëEÀ?ïÞ€?ïî?îŒ@?ë8À?ëÀ?é3?ë£@?íi€?ì€?é¡?åô€?å^@?à‡À?­À?[€?(?|À?Ë?à×À?Ý ?ìu?¢˜?ØE?Æ¡?ËI?G?ã8@?ïIÀ?î÷?í›@?îë@?îZ@?í9@?îc€?íQÀ?ì[À?è?ÌU?˜?Íú?â€?î[@?ë#€?Ë#?q`??Æõ?Þí?åÀ?ä€?ß@€?ãý?Óÿ?íH??ïÆÀ?ï†À?íîÀ?ë<À?ã¯?²Š?êÒ?ä-€?âÀ?ïÚ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï©?îlÀ?ì €?îíÀ?ìÐÀ?Ð?xà?Á?åe€?ëêÀ?îQ€?ïÃ@?ï€?ïú@?ïz€?ê€?îf?ﻀ?éÃ@?Ú €?ʘ?<?ã!€?ÅÒ?Y?¦l?å`À?ïÊÀ?íOÀ?Ò¹€?¹˜?âÓ?í¤À?ï?ÞÕ€?䥀?éLÀ?îÖ?ð?ïîÀ?ïï?ð?ï#?ì‘À?îL€?íÁ?ëá?ï.?ï}?ï÷€?ð?ð?ð?ð?ïï?ð?ð?ïÏÀ?ð?ð?ð?ð?ð?ð?ð?ïà?ð?ð?ð?î!@?ð?ð?ð?ð?ð?ð?ïÝ?ð?ð?ð?ð?ð?ð?ïv€?îa€?îÞ€?ð?ïA?î¥?îÓ?î%?ïu?ïOÀ?ë€?èñÀ?ïÕ€?î'?ê˜?ì)?П?Íø?ð?ð?ð?ïë?éð@?Ó¹?t€?æ€?ïÁ€?ð?ð?ïÒ?ïEÀ?îÁ?ï?îï@?ïÀ?ï€?ï‹@?ï;€?ïŽÀ?ïq?îµ€?çÒ€?³?¼`?äé@?ã€?æ@?êEÀ?ð?ð?æÎ€?æ¶@?ëÎ?ïä?âÀ?ÇM?º¤?ãQÀ?ç?î€@?í/?î@?î¬@?åE?è…€?ì{€?á‰À?´Z?ÁO?êÛÀ?ã`€?ÎO?ç@?ëuÀ?Ú¬?Àg?Ä"?ï_?í‚À?Ñ‚?³¨?Ì?ÔE€?çfÀ?ï3?ïÊ?ïú@?î¹À?æÝ@?Ñ@?»à?áM€?Å?è.?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïç@?ð?ïþ€?éÿÀ?ÃÁ?ÎQ?æ#?æ‚À?ï®À?îñÀ?ïš@?ïÀ€?ð?ï±?è€?îÝ@?ï˜À?ï@?ïP?ïáÀ?î2€?Ú„€?³?´®? X?‰€?â—@?®?¥(?Þ¦?ªä?Ã?Óa€?Ý|€?Þ €?ïõ€?ð?ð?ê˜?Æ?å¾@?ï³À?î[€?Ê6?ÝЀ?æ‰?å€?ð?ï÷@?ïõ?ð?ïÎ@?íŠÀ?ð?îÜ?ì,À?îè?ï±À?ð?ï©€?ð?ð?ï½?ïÕ?ïÈ?ð?ïù€?ïØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¹?ð?ð?ð?ð?ð?ð?ï¼€?ð?ð?ð?ð?ð?ð?ð?ð?ïs€?ïþÀ?ïj@?íD@?î(€?쇀?ìá@?ïlÀ?îÈ?í`@?î#@?ð?ð?ð?ð?ïð€?ãÀ?î[€?ð?ð?ð?ð?ð?ê/@?Ê ?$?ã9@?ê¿?ð?ð?ð?ð?ï–@?ï¤?ïk@?ï—€?ï]€?ïa€?î@?îˆ?ï,€?îð?îæ?ï˜À?ð?ïLÀ?äí€?檀?ìî@?ê@?ïâ?ïkÀ?ï¯?îÝ?îš@?ï(?ïî€?ïT€?íè€?í”?æŠ?ä«€?Ø ?íÀ@?é›À?å»À?Û‰?á@?×d?Ùº€?×ì?Å”?Ì»?æ9@?é¾€?Æ-?æ@?ï]À?åÈ?ê´À?Ó«?Œ?ç–À?ïÍ?èì@?¤D?ÆO?Ð?Ö ?à#?êG€?íÕ@?ð?íV?ÒÐ?_?¶´?ÊE?ì·€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡?ï×?ïÒÀ?ï¹@?ì’€?ÚE€?°ä?ÔŠ?ß°€?êÀ?î­À?íq€?ïÓ@?ï¸?ï‚@?ïÿ@?ïžÀ?ïï?ïî?ïCÀ?ï‰@?îï@?ï,?î§À?ë²À?Õë?^€?Âø?ïñ?Ù9?“`?âk?ëã@?ê„?åØ@?ïû?ﻀ?ëÑ@?îâ?îî?ð?ð?ïÜ@?îR€?ê‚@?îë?ícÀ?âê€?ÞÎ?ð?ãùÀ?ïÃ@?ïè€?ïç@?ð?ð??ïZ?ïä@?뎀?ì¨@?îÓ€?ïâ??ïÜ?ï<@?ïã€?ïà?íÚÀ?ï¾À?ïäÀ?ð?ïî@?ð?ð?ð?ð?ð?ïÿ?ð?ð?ð?ð?í+À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¾€?îL€?ï¶?ïú€?ïs@?í’?ìÌÀ?ïç?êVÀ?î"€?îú€?ïÕÀ??ïÁ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îL@?×Þ?k@?xÀ?â=?ïö@?ð?ïØ?ð?ïé@?ïÀ@??ïÓ€?ïbÀ?ïÀ?ïƒ?ï}€?îò?îÐ@?îÀ?íýÀ?îïÀ?ë@?í €?ïú@?ïÿÀ?ë\@?íá@?î1À?ïˆ?ïäÀ?ïºÀ?î7€?în€?ï}?ï¦?ð?íY?ïÖ@?íN?é?Ì?³°?±2?¿Ì?Þ¼€?å?êp?Ó€?–?† ?‘€?à¶À?çÀ?È?ã¬?ïÛÀ?ïî?ërÀ?é÷@?ȵ?â4À?ï•@?îR@?¾ ?»œ?¸š?ã @?Ô@?á'À?íx@?ïÆ@?ï^?êùÀ?Ë>?¡ì?Ñ €?ëX€?ìiÀ?ïïÀ?ïü€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?è?ç@?ÛÌ€?À/?z€?›¸?§€?Ö™?ë¯À?í„€?î&@?ï¡@?ï¯@?ï÷@?ï£À?ïà€?ïìÀ?ïÛ?ð?ï€?êÜÀ?ëD?ëâÀ?﯀?ïÒ@?ïú?íq@?År?݉?ãGÀ?Â,?ÑV€?ë‡À?ïðÀ?îq@?íIÀ?ïêÀ?ïå?ïÇ??ï¨À?ð?ï…€?ð?ð?ïÚ?ï À?ð??íSÀ?Ȉ?âyÀ?ïí?éV@?ì§?ð?ð?ð?ð?ï΀?íòÀ?ï—?ð?ï|€?î™@?ïí?ï•@?ï@À?ð?ð?ï™?ð?ïÈ?ïÑ?ð?ð?ð?ð?ð?ð?ð?ð?ïá?ïõ?ð?ð?ð?îG€?ï[?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâÀ?ï6?ï>À?ð?ð?ð?ïô??ïUÀ?ì°À?í~@?ïï?ïqÀ?ð?ð?ð?ð?ð?ð?ïÊ?ïý@?ð?ïKÀ?ð?ð?ð?ð?ð?ïÃ@?ð?ïø@?æVÀ?«¨?¬Ø?ç@?ïÅÀ?ð?ð?ð?ï?ð?ï¬?ï“€?ï¡À?ï¢@?ïAÀ?íÇ@?ï?ïq?ï•?ï‡@?ï À?í,À?îéÀ?ïõ?ïÜ@?éå€?퇀?ìƒÀ?ï1@?ïç?ïÏ@?ìnÀ?ê€?èÀ?ë??ï@?ï=€?ï €?ïZ@?ïŠ?è(?â¶À?ãTÀ?ë—À?ä¸À?áy@?îÕ€?ï‡À??è%À?ås?èÙ€?è~À?ç„@?ßz€?ïÊ?ï|À?îõÀ??ïí@?àÀ?Ýí€?ï­?îí?ï„€?Ó¹€?r@?x?Ù ?îÀ?Ðd?Â?æÝ@?éÀ?ïÇ@?îÎÀ?íØÀ?ê)@?ÒÂ?äˆ?ç‚À?è‘@?ïJ@?ïÛ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çü€?´"?2?Âq?é)@?íz??î—À?ï@?ïâ?ïæ€?ïÙ€?ï»À?ïÈ?ð?ð?ï$À?ëÃ?ìW€?íhÀ?ïÿÀ?ïN?ð?ïá@?ÝŒ?‹?Ûž€?ãh€?¢l?çy?ð?ï”@??ïðÀ?ð?ð?ïí?ïÖ?ð?ð?ð?ð?ð?ð?ï¬À?îä€?ï¼€?àK€?¾æ?ïéÀ?ð?ïW@?ïÚ€?ïk€?ï—@?ïÉÀ?íý€?ï4€?î?ïí?ïÂÀ?ïí@?îéÀ?íC€?ï©?ïÒ?ð?ð?ð?ïÈ?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??íÊÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï–?ð?ïñ€?ïáÀ?ïðÀ?ð?ð?ïÆ@?îë€?ð?ð?ð?ï£@?ï³€?ð?ð?ð?ð?ð?ïàÀ?ï´?ð?ð?ð?ð?ð?ð?ïñ?ð?ð?ð?ð?܉€?Õ^?Å·?Æ­?æl@?í‚@?ð?ïw@?îGÀ?ï"À?ï@?ïF?ïF@?ïQ@?îÒ€?îê@?ï$À?îÁ?ípÀ?î”@?ï%?ï×?ïç@?ïB?ïÞ?ïÀ?í|€?îCÀ?î@?ïTÀ?îâÀ?é’@?êÁ@?隀?ì(@?îýÀ?è@?î–@?îÝ?ïw@?î @?ìõ@?íR@?ﮀ?ï2€?äO€?î£@?î“?îÇ€?í<@?íŒ@?îW?íÀ?ï ?éÝÀ?íé€?ït€?ïdÀ?ï ?ïS€?î°€?í@?ìØÀ?íj?ïw€?×D?±„?Èø?e€?°`?è„@?è À?ï?î @?í‘@?ïUÀ?èw?Ø?± ?æ¬?êÈ?êìÀ??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô€?ÑZ€?8?Êx?ë&€?ïÚ?ï˜@?퉀?î´€?ï\À?ïõ@?ï ?îµ€?ï@À?ï°À?î@?ïP€?ïá?뻀?éãÀ?Ù?áÎ@?ì¶€?îÚ?ï¾À?ìð€?ÂØ?Õ›€?À:?ï=€?ïÍÀ?ïê€?ð?ð?ð?îfÀ?ð?ïú@?ïˆ@?ð?ð?ð?ð?ð?ð?ïãÀ?í©?ìûÀ?êß@?ãœ@?Üp€?Ú7€?ï:À?ð?ð?ð?ð?ð?ï±À?ï@?ïë€?îæ@?í¶@?î?îéÀ?ïæ?ïïÀ?ð?îh€?ïe?ð?ð?ð?ð?ïëÀ?ïí?ð?ð?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÍ@?ð?ìLÀ?ïì@?ð?ð?ð?ïã€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïËÀ?ïÖ?ð?ð?ð?ï?îÀ?ïÅ@?ï2@?ð?ð?ð?ð?ïÞ?ïl€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îø@?ð?ð?ê?ç1@?ð?æ>@?¡X?™°?×j?ÑØ€?¹n?ã.€?èþ€?ï@?ïdÀ?ï?ïd@?ïR€?îM@?î§€?ï“À?îø?î€?ëd€?êÀ?ìÀ?ï'?ï’À?ïªÀ?ï›À?ïÀ?ï­@?ïTÀ?îqÀ?ïD@?îç@?îŽ?ï@?ïì?înÀ?êå€?çO?á1€?»Ø?Ü1?èÞ€?ç8@?ì–@?í‹€?éœ?éÛÀ??îY@?íŽ@?èÌ@?í¬À?í À?êMÀ?è€?ëI€?컀?ía€?éÝ€?ìW?í¦@?ë|?í½@?ìe?ìÊ@?êà€?î‘À?ãdÀ?çE@?çŠ?ÕÚ€?Õ¨?ì€?ÛŽ€?ßI€?ê±?æ‚€?ëU€?îö?îµ?ë‘À?К€?Ð ?êŸ@?íÀ?íyÀ??ð?ð?ð?ð?ð?ð?ð?ïæ@?î?ïb@?êÀ?¶ô?jÀ?È›?4?lÀ?ÐÈ€?©?–X?ÞÛ€?íU@?íò€?ïl@?ë €?ï ?ð?ïº@?ì§@?ì—À?鹿?ïíÀ?ï5À?í?ïA?èŒ?ëwÀ?ëç@?Í5?r?Èê?Ö?¿N?å?ï³€?ì¶?ð?ð?ïe€?ïÇ@?ð?ð?îQ€?ð?îÆ€?ïs?ïëÀ?ð?ï¿À?ð?ð?ï5À?ìŽÀ?ì@@?ï—?ï×@?ð?ïÅÀ?îÈ@?ð?ð?ð?ï°?ð?ð?ïu?ï£@?ïà@?ð?ïëÀ?í @?ï×@?ïé@?ð?ð?ð?ð?ð?ð?ð?ð?ïá?ð?ïëÀ?ï×@?ð?ð?ð?ð?ïì€?ð?ð?ð?ð?ð?ïð?ð?ïâÀ?ïë€?ìÀ?ð?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö€?ð?ð?ð?ð?ïç€?î'À?ð?ð?ð?ð?ð?ï·@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ïù€?ïè€?ð?ð?éZ€?ßÝ€?ð?ïÞÀ?ð?ïÂ?ïÿÀ?ïrÀ?Ö«?“?É ?éT@?豈?é‘@?åÀ?ìá@?ð?ð?î¦@?ìÛÀ?î8À?ïd@?îÍÀ?ïaÀ?ï €?ía@?îuÀ?î"À?í÷€?í»?ï5@?ï‘À?ï®?ï¨?ï®?ï‹@?ï À?ï ?ïTÀ?îÃÀ??íY€?î¢À?ïÕÀ?é¯@?è€?åýÀ?ÈÀ?ª¸?Âé?é€?ìeÀ?íT@?ëÈ€?陀?ê €?ì€?í€?ê÷€?ì<@?í-€?íÀ?ë§À?èµÀ?åë€?é[?ëä?íÒ@?íæ€?ì»?ìð@?ëð€?é$À?글?ì¥@?áê?Ô˜€?Õü€?’€?x@?è?íÀ?ç¤?ëz@?ë2€?Þì?Í?êÅ@?îñ?ãW@?t ?ÍS?íßÀ?îv€?îÙ@?ïê@?ð?ð?ð?ð?ð?ð?ïöÀ?îØ€?åœ@?áE?¦¤?ÙÂ?ë'?Òr?Ö?æO?æž?íÅ€?åKÀ?n@?«ä?çv?ï¤À?î2€?îi€?ï1€?îÅ€?ï€?íÀ?Éí?“p?Øñ?ïì?ïÄ€?ï@?ït@?í«À?éÓ?îê?Ì×?”(?‰p?äºÀ?ð?ïì€?ð?ï„@?ð?ð?ïëÀ?ð?ïù€?î]@?ï-€?ï£À?ð?ïÑÀ?ð?ð?ð?ð?ïÙ@?îÈ?ï‘€?ð?ð?ïó@?ïü@?ï*@?ïë€?ð?ïð?ï¶?ð?ð?ïë€?ð?ð?ïëÀ?ð?î–€?ð?ð?ïa?ð?ïËÀ?ð?ð?ð?ð?ð?ð?ð?ïÛ€?ïŸÀ?ð?ð?ð?ïÛ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì?ìøÀ?îÆ@?ïÝÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï’À?ïÀ?ï3@?ïÒ@?ï¾?ð?ìñÀ?±?Øu€?ßX?ð?ð?çq€?ÒL?‘8?u@?Ûš?ë_À?ï²@?ï~€?ïõ€?ð?ð?ð?î‘€?íÈÀ?ïO@?ïR@?ï^?ï:À?ï<@?îìÀ?ï«@?ï—À?ïP€?î7@?ïXÀ?ï—À?ï®?ï§€?ï®??ïVÀ?ï®?ï—€?ïU?ïyÀ?íú@?íÄ@?îF?î$?î§€?Ô;€?Íê?݈?èÇ€?ìl€?íÀ@?í¹€?ì™@?ëµ@?ë9À?ç À?ê¢@?ëí€?ë®@?ìÜ@?í+€?ìk€?ëå?êÀÀ?ìˆ?글?ëD€?ì@?í*?í8€?ìü€?í@?Þ²?å&€?׫?äÂ@?ÃÅ?X?Î)?Ô0€?Õ“?çé€?ìé@?åÓ@?ï‚@?î3€?ç+?šø?ÝÊ?èÈÀ?ÁQ?¡p?äh?ì@?ìà?ïÖ?ð?ð?ð?ð?ð?ïÕ€?äËÀ?ÆÊ?Ä2?p?‰ ?Ù ?áà?è©?íÄ€?ð?ïÄ€?ïì?ï«?Þ±?Ðd€?ëË@?íé?î¨À?ïL€?îÓ@?ï¿?ï°À?ð?Ðt€?ªð?ém@?ð?ï—@?î¾@?ïŠ@?ì?À?ï­@?ïqÀ?ãi?Î3?êBÀ?×2€?Â#?íû@?ïÛ?ð?ð?ð?ð?ð?ð?ï¾€?ð?ð?ð?ð?ð?ïÞÀ?ð?ð?ð?ð?ð?ï¥?í¦?ïò€?ð?ïé?ð?ï÷À?ïÝ@?ïÌÀ?ð?ïò@?ïï@?ïëÀ?ïk?ï×@?ð?ð?ð?ïÉ€?î@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïêÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?éy?îc?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ï°@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ@?ïd?ïï@?ï@€?î×?çu@?éY?éó?Ï?‚ ?âæ?îì€?é”@?”8?a?у€?î€?ð?ïj€?êI@?é€?ð?ï±@?í´@?ï À?î¾?îÃ@?îa?îØÀ?î“€?í˜À?ï@?ï©€?ï®?ï®?ï®?îÈ?ïZ€?ï®?ï®?ï®?ï®?婢?ï¦À?ï_?ï^€?ï“@?ï“€?ïU@?îÕ?ï#€?í¡@?çm@?åa?í)À?éô?êJÀ?럀?ì™@?ì@?ìÛ?ê€?é™?çñ?é €?ëÀ?ì6@?ì¸?ì2@?ì¡€?ëd?ëU@?ê[@?é1@?ç7€?ë?éç?ë£À?ì$€?ìÓ€?ì€?å@?Ô€?ê$À?ï ?Ýð€?¥°?ß°€?ì@?èYÀ?ç˜À?ë—@?æé€?Þb€?îR@?ï±À?ìÙ@?ݼ?¨Œ?Æà?’?éF€?ç‘?ï~À?ð?ð?ð?ð?ð?ð?ãvÀ?›8?Ãí?ßÑ?î7?ï¨@?ï÷@?ïÚ€?ïï@?ð?êÅ?±2??°?é˜@?îÄ€?ï@?î,?î‘€?ïê@?ïÔ€?ïêÀ?ï"À?ÑK€?aÀ?âþ?ï×@?í×À?éŸÀ?îN€?îg€?ïJ€?ïGÀ?ïu?ëy€?Üæ€?Ñ?ìø€?ïI€?îQ@?ï<@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ð?ï«@?ï?ð?ð?ïî€?ï©@?ïÚ@?ïï@?ïÊ€?ð?ð?ð?î§?î—?ïï?ð?ð?ð?ïÿ€?îh@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë?ð?ð?ð?ð?ð?ð?ð?ð?ï­@?ð?ð?ð?ð?ïë?î‘À?ïï?ïõ?ìÞ€?íç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï§À?ïR@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì¾?ïf€?ï§€?å?À{?Ì?×]€?V€?Àk?¹š?ÃY?¥°?èV?ð?îÐ?ïÀ?ï“À?ï]À??ïŸÀ?ï?ï>€?ï@@?ïuÀ?ï@?ïo@?ï®?ï®?ï®?îÉ@?ï8À?ï±€?ï®?ïŒ?ï›@?ï­€?ïyÀ?ïl€?ï¯À?婢?ïv@?ï?ïFÀ?ïWÀ?îúÀ?îÒ€?ìg?í€?ê•?èŽ@?êå@?ë•€?ì €?ëƒÀ?è{À?æÝ?åÅ@?éoÀ?ì@?ì›@?ì?À?íh@?ìU€?çQ?æ¯?ê‘€?äè€?å €?èº?言?é«À?çV?èUÀ?Æ©?ÙÇ?êò?ìì?ì@?×?›h?Êæ?áfÀ?Ìò?ÌÚ?áP€?ë§€?í?íu€??î?ï?Õ*?ßã?êÀ?î—À?ð?ð?ð?ð?ð?ï@?áZ€?`@? 0?é¶?ï¾?ïJÀ?ïÌÀ?ïç?æI@?Åã?±.?Ù?çA?éQ€?íR@?ì€@?íÍ?î €?ïf€?ð?ïf@?ä?°:?Ö"€?î,@?ï‡À?î À?îÜ@?îáÀ?ïx?îî?î¶À?îÛ?í €?çë€?îâ@?çs€?î.?ð?ð?ï?ïê@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé€?ð?ïì?ê™À?îû€?ïÔÀ?ïÎ?îþÀ?î@?ï!€?ï‡À?ð?ï3?î·À?ï.@?ï†À?ïÓÀ?ð?ïë@?ð?ð?ïw@?ïÂ@?îk@?ð?ð?ð?ð?ð?ð?ð?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé€?ð?ð?ïÎ@?ïÊ?îß@?îŽ?íÕ€?ïb€?íÿ@?ëï@?î`?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?ïÉ€?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÇ?ïî?ï¿€?Ô²€?¼?ÒW€?¾h?’?µì?àÀ?îÂ@?ï À?ï?@?ïW€??ï ?ïÀ?î³?ïhÀ?ï À?ï†À?ï?ï?î·€?ï=@?ï¡À?ï²€?ï¯?ïÀ??ï4€?î÷?î|À?ïL@?ïpÀ??鹿?ï«€?ï¡À?ï€?î:À?ï.@?ïMÀ?îM@?ìb@?ì²@?ìù€?ë$@?é…?ìgÀ?í¢@?ì ?ë΀?èVÀ?ë%@?êa?é¢?êÜ?í2@?ìþ€?í‚À?íØ€?èþ?ê>€?æ À?çIÀ?çk@?ê5?èÿ?èm@?èG@?åÀ€?Òù€?¬(?Š?á5@?çŸ@?èt@?¿N?ß—€?æ@?¥ø?°?Äð?¶Æ?:?½ð?â^?îr?î¿?è™?ì€?ïêÀ?ìä@?Й€?ÊR?êÇÀ?îLÀ?ð?ð?ð?ð?ð?ð?í €?´?,?ÍË?ÔÖ€?çõ?ï³€?é€?×W€?q`?¯¼?ßf€?ìæÀ?îTÀ?îêÀ?îBÀ?îá@?êê€?ï·@?ï×@?î•?ÒØ?…à?ט€?í@?î+€?îÏ€?ìÀ?ê¸À?ì2€?ꮀ?ìp€?ï?î@?ézÀ?ì@?ïµ?ïç?î´€?ð?ð?ït@?ï§€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îPÀ?ì£@?ð?ð?ïã€?ïî?ï·€?ïÀ€?ïÜ?ïé@?ïÅ@?ï´?ïçÀ?ïÊÀ?ð?ð?ïþ@?ð?ð?ð?ïùÀ?î À?ïóÀ?ð?ïã@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïê@?ïƒÀ?ïã@?ð?ð?ð?ð?ð?ð?ð?ð?ïÀÀ?ïé€?ïÀÀ?ð?ð?ïñ?ì(@?îi?îÙÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï£À?ð?èU?w`?¦¨?§?àhÀ?ÁÃ?b@?Þ[€?Øî€?íÚ?îÊÀ?î`€??ïbÀ?ï¤À?îÜ?î´?îßÀ?ïa€?ïš?ï^@?ï.?ïA?îŽ@?îÆ€?ïx?î˜À?ï‡À?ï¡?î@?ïÀ?ïPÀ?îÌÀ?ï<@?ï"?ïp€?ï“À?ï€??ï¬@?ï¦À?ï_?ï©À??î?ï À?ï À?í?ã?ë‚?ë߀?í¸?ì½?쎀?ì\€?éìÀ?ìïÀ?è7@?ë@?êPÀ?ëzÀ?í~?è@?Õ›?ê“À?é?è?èR?éŒ?èQ€?è‚@?è#?ç¨?v€?Ö=?Á<?§h?·>?‘è?±|?Ñe?«€?ÆÄ?ëáÀ?ï@?ìê€?Õ¿€?è[?ê0€?º´?Š?ãV?ì’?ð?ð?ð?ð?ð?ð?åo€?“?<?F?‹@?³j?‘Ð?´º?ã]€?ì'@?ï2@?ð?ïo€?ï1€?ïÄ@?îÄ@?ï?ï\@?Ýi€?æ?ð?ïH@?ïr€?ëe@?ëÀ?ëÀ?ça?îâ€?îû@?ï4À?ìâ?ç=€?ë÷À?î.?ï·€??ïÌÀ?ð?ïÕ?ï¸?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í€?î?ð?ï´?î¡@?íY?î?íùÀ?ï?ïÞ@?ïé@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ@?îµ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔ@?ïÅ€?ð?ð?ð?ð?ïÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?î‡@?ïQÀ?ð?ð?ð?ïµ?ïî?ð?ð?ð?ð?ð?ð?ï€?ð?ð?ð?ð?ð?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïË@?ë@@?áÀ?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?çxÀ?ãÀ?êé@?´j?G?Áì?ìÕ@?î°À?ï¯?ïŒ@?ïF@?ð?ï¢@?ïÀ?î²?ïmÀ?ï›@?ïhÀ?ï ?î¾€?îÕÀ?î·@?íJ€?î €?î÷@??ïeÀ?ïÀ?ï-?ïW@??îDÀ?î’À?ïc€?ï[À?ï€?ïGÀ?ï¨?ï¯@?ï¸@?ïÄ@?ï—?îÀ?ïV€?ïÅ?î€?îÀ?íA?îµÀ?êg?ê°@?í1€?í‹@?áÞ@?ât?ê?ë€?èí?éCÀ?êà?é?êò?ä@?æÏ@?ê“@?âY€?ëÒ€?éH?è?@?éZ?Øß?¾Š?”Ð?è€?Øl€?©ä?Ð'€?Çš?V?Á]?§”?Ñ€?Ù­?îÿÀ?î?À?Ïâ?Òô€?½B?ËÍ?íâ€?ð?ð?ð?ð?ð?ëe@?Çž?ð?2?§@?å™@?씀?ïœÀ?ïÈÀ?ð?ï"€?î8€?ð?ï¿€?ïé€?íÖ@?® ?àZ€?ï¿À?î3@?îÓ@?ì3À?íŸÀ?ëÙ?èÔ€?ìß?î¼@?ì¹À?ì”@?à@?æ^@?îF@?ï@?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ï]?ïµ@?ï¢@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?îœ?îúÀ?ð?ï&À?íÙ€?í{À?ìø?ï@?îc€?îÕ?ïÒÀ?ï{@?ð?ïÊ@?ïÀ?îý?ð?ð?ð?ð?îÙ€?ï¾@?ïÒÀ?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îZÀ?ïQ?ð?ð?ð?ïá€?ï×€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé€?ð?ð?ð?ð?ð?ð?ﻀ?ìs?ìþ€?ïn?ð?߸?äQ?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ìîÀ?Ù߀?0?Œ?˜?å/@?íU?îFÀ?íÃ?î^€?îq?ïÑ@?ï€?ïf€?ï­?ïª@?ï®?ïÀ?ïÀ?îÄ€?ï›À?íõÀ?ís?îõ?豈?ï¶À?ï‰?ïU€?î¼?ï´?ï¡@?î›@?î†À?ï~?ï$@?ïÀ?îö€?ïs€?ï½@?ïm@?ï–À?ï¦À?ï À?î”?ïE€?îî@?íà@?ïX?îÀ?ï€?×?Þø€?ä¬?çÀ?íÀ?ëÌ?ë)?ê¶@?è«À?ë.@?èï€?é‘@?éÅÀ?ç~À?ê¶?éwÀ?ëlÀ?æâ€?ç>?áÔ?¤¬?b@?ÇÏ?d@?æ?…0?ëoÀ?í€?ëÀ?ì:@?é7?¸H?»Ö?ÙQ?äd@?¹„?j@?q€?á.À?îµÀ?ð?ð?ð?ð?î»?ªH?™Ø?Ñp€?B?³Ê?ì²€?î–À?îE?ï?ð?ïœÀ?ï·?ïÉ@?ïô@?ð?ír€?®ä?ÀÞ?ï@?ìà@?ë~À?êÀ?ì”À?èÓ@?êw@?ëÀ?Ù,?íPÀ?ï?ëc@?Î?ëá€?ï–À?íZ@?ïÔ€?ð?ð?ð?ð?ð??ð?ïö€?ð?ð?ð?ð?ð?ð?ï·€?ð?ð?ð?ð?ð?ð?ð?ð?ïP@?íj€?ïéÀ?ï €?ï{@?ï @?îª@?ïÜ?ïò?ð?ð?ï€?î™@?ïº@?ït@?ð?ð?ð?ð?ð?ð?íS€?ïÒÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï7€?íÒÀ?ï`?ð?ð?ð?ð?ïÃÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åq€?¦H?W?ݲ?ïâÀ?ßå€?Ĭ?î!@?ð?ð?ð?ð?ð?ð?ï”?Ý*€?–`?•0?çR?ì™@?í/€?í1€?ëÕÀ?í €?ï‡?ï—@?îÛ@?ï\À?ï À?ï™@?ïM?í³@?éâ@?î€?ïd@?ïj?îéÀ?íõ€?ï9À?ï–€?ï?ïHÀ?íÁ€?îÉ€?îô?î½À?ï6€?ï…@?ï@?ï^?î€?ï6?ïº?ï ?ï^@?ïs@?ïî@?ï˜?ïC€?ï@?î@?움?ìÑÀ?×›?‰€?Ø€?é‡@?ë_À?èd@?ê‡@?ê¡@?ê|À?é1?é@?èg?é¦À?ì?èË?ê?ç­?ê›?è`À?æ@À?½°?S?½F?ßc?ìÊÀ?ì€@?íÕÀ?íØ?ë~À?¦p?Æp?ÈÝ?† ?à¿@?î™?ïý€?ï|?ð?ïÀ?ÔÈ?³R?âñ?ìç@?슀?îÞÀ?ï’À?ïS?í\?ïí@?ïª@?ï4À?ìÚ?ï'€?çÀ?c€?ÉÔ?îÔÀ?ïÙ€?íè€?ï€?îo€?îª?î6€?î¦?çÃÀ?ž?’ ?êÀ?ïÍ€?îu?æ`€?ï1À?ïÒÀ?î ?ð?ð?ð?ð?ð?ð?ï…À?ïÈ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ð?ð?ð?ð?ð?ð??î:?îâÀ?ïG?ìùÀ?í«€?ïù?ïÄ€?ï6€?ï¶?ïµ@?ïŒ@?î½?î?ïÌÀ?ïuÀ?ï€À?ï¤À?ð?ð?ð?ð?ð?ð?ð?ïÿ@?îÎ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï³€?﯀?ð?ð?ð?ð?ïéÀ?ð?ð?ð?ï†À?îÕ@?îî€?ïz?ïùÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âÎÀ?v ?Öä€?á†@?hÀ?ÆB?ìèÀ?ð?ð?ð?ïå@?ð?ð?ïà€?áÁ?“x?qÀ?šˆ?â€?äQ€?éõ@?ëQÀ?íÈ€?ïu€?ï£À?ï”À?ïs?ï‘?ï;À?îé@??êõ€?ÞA?åö?홀?áq€?ÞÚ?ìa?íà€?ïO?ïg€?ïÀ?ïÇ€?ïïÀ?ïd€?îÑÀ?ï&À?ï €?î§À?ï(€?ï@?îç?ï@?ï1@?î«À?ïm€?ï„?ïb€?ï’?ï¥@?ïd€??î³?ïl€?ï/€?ì¼€?ìt€?Úµ€?Ú¶€?çø€?îD?ìT€?ë}@?ê"?ì÷€?ì€?êï?éy€?é¼?äõ@?çV?螀?è]?ëDÀ?ç/À?é›?ê±À?Ꞁ?éõ@?ÍG?Ž?Õù?ëK?çÀ?ê¤@?êû€?î6@?ía?çÿ€?ኀ?©t?2?‡Ð?”p?à?å4?䀀?ì_@?ïÓ@?åe€?L?²?Ü3€?ë­?îWÀ?îû?ïp€?í±À?î®@?ïbÀ?ïÀ?ï@À?ïs€?ï@€?í—À?çÿ€?·X?Ö¶?Ôj€?æ¨?î|?ï?ëÓÀ?ãD?×€?Îs?åÌÀ?í[?Öé€?Æv?êC?ïð?ð??í•?ë(@?íÒ@?ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ïØ?îð€?îÙÀ?î`À?ï€@?î§@?îžÀ?ï°?ïæ€?ð?ð?ð?ð?ð?ï×À?îÁ€?ï3?ïÛÀ?ð?ð?ïì?ïæÀ?ð?ð?ð?ð?ð?îÅÀ?ïô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÍ?ð?ï}?îâ?ð??îÖÀ?ï¦@?ïU@?ï–€?ïa€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?âA?Ž?–È?Üð?ï–@?ïë€?îñ@?å@?æt€?Í(?Æ?é5€?Ñæ€?¸p?™?Ñ"?Øà€?Ú­?åú?ëA?è¤@?ïr@?ï@?íj?ï–€?呂?ï’?îÃÀ?í—À?îm@?È÷?èß?îk?î,€?Û*?Ã1?ÇÝ?à?ìÏÀ?î?ï €?ï‘À?ð?ð?ï\?îf?îÀ?îÈ@?íì€?î|€?î¹@?ïX€?ï9@?îÀ?î@?ïOÀ?ï€?ïYÀ?ïžÀ?ï¹@?ïvÀ?ìZ@?ï¯@?ïbÀ?ío@?ís€?í€?ê_??îúÀ?í‚À?ë€?ënÀ?ìPÀ?ëÉ@?éQÀ?èÔ?é»À?ç_À?æÁ@?âÈ?ës?æ(€?å¼€?ìš?êö@?ë—€?æ|€?V€?Á?ê(?æ+@?ãì?æ>À?í™?îñ@?î:À?çe?P?Ñæ?Ô €?¯è?f@?mÀ?ÃX?ãô?ëH€?Õÿ?¯ˆ?Ö\€?Ó?ê €?ï?ï0?ï¥?íÿ@?íÚÀ?ï]@?ív€?ï??ïá@?ïq@?ïl€?Ý?¶D?²è?¸œ?ÒŽ?Î ?¤°?À8?–ˆ?Æ‹?ãÖ€?êÀ?ì@?ï‘€?ð?ð?ïæÀ?ð?ïu?íö@?íí?îÆ?ïæÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?ð?ð?ð?ð?ï[À?ï‚@?ð?îøÀ?ìº@?î©?ð??ï×@?ïõ@?ïø?ð?ð?ð?ð?ð?ð?îÎ?ïœ?ïÜ€?ð?ïú€?ð?ïëÀ?ð?ï߀?ð?ð?ð?îŽ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï>@?ïæÀ?ð?ð?ï€?ï­?ï…€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ïª@?ï.@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö€?ð?ì €?æß?îs?ï±?ð?ê:€?~€?T?Ø'€?ï½@?í›@?ȧ?ÍÛ?Äü?œà?µ$?˱?Ø€?Ô)?Ó3?Þ‰€?ïˆÀ?î£À?êó?î7@?íé€?íMÀ?å±?ê»À?Ýê?È÷?ë‹À?ån€?Ë?Ç5?¢?ƒ@?½?¸þ?Ä}?à½?ãOÀ?îS€?ïð€?ïì?ïÌÀ?ï6?í2?î»À?îI?îÛÀ?ïe€?î€?íƒÀ?íÌ?ïr@?ï“@?ïS€?ï?ïð?ï9@?ïÀ?ë€?ï!À?ïjÀ?ïÙÀ?ïk@?í×@?ï%@?îNÀ?ë'À?Ꟁ?ç €?ëeÀ?ë ?ç]?ê2?éð?ë¦À?ë?êæ@?ç€?éé€?é6À?ëÞ?ê³€?â @?b?¬?³x?å-À?æÀ?ãä€?ã¶@?ê0À?ëºÀ?ê=€?è€?y ?ê›@?Ùõ€?¿Â?Òw€?´Ž?u ?©ô?ÓB€?æV@?ïÍ@?ï€?ï €?ìÏ?ç@?í¡?ç0€?ä\À?ïÀ?ëÔ@?ì4À?êø?Êè?@?yà?¹n?äã?íÙÀ?ïõ€?ì&?ëdÀ?ïÝ@?ïÃ?ð?ð?ð?ð?ð?ð?ïÇ@?îK?ð?ïeÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ídÀ?ï>?ð?ð?ð?ð?ð?ð?ð?ð?ð?îµÀ?ïG@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¨@?ï°€?ïw?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï(?ï¸À?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ïú@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæÀ?ï´€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?ï|À?ð?ð?ð?ð?ð?ð?ð?ð?í?à9€?Ð%?ÐŒ€?Ù(?Ó€?ÕX?ÌÀ?b@?Åô?ç@?ë|À?ä?Ö†€?z?Ú(?ïø?ð?å)À?ÅØ?´¾?ÖÈ€?îûÀ?ìÇ@?ê_@?ícÀ?ëëÀ?è®À?æŒÀ?à߀?œ°?É ?ØE€?Ÿè?v ?¤|?Ý®?íÔ@?ï©@?ï½€?íÀ?ìÁ€?ð?ï€?îÿÀ?ï—€?ï@?î´À?îý?îÚ€?îû€?ïÄ?ïõÀ?ïú@?î¼@?ï’@?ï‚À?ïzÀ?ð?ïðÀ?ïv@?ïd?îd€?î†?ëÐÀ?Ù@€?ÕW? ?êÀ?ëfÀ?éÝÀ?ëQ?êš?ê–@?ì}@?ꦀ?ë7@?êQ@?ë¬@?ë¶?âÍ@?Šà?r`?i?Ù ?æu?çÒ@?æ ?å©À?èi@?ç½@?ê5À?ê?Ä¥?Å«?ïZ@?ëë€?ºÐ?_?@?@?Ë!?‰?~@?êßÀ?ï°À?ï›À?æ?¢?Õþ?îž@?×Ê?èd€?é3?î@?åÖÀ?Àó?Z?Ë¡?á+@?í÷?ð?ïò?äO?ç4À?ï³€?ïâ€?ï«€?ïú€?ð?ð?ï’@?ð?îÎ?âO€?ìMÀ?ð?ð?ïÅ?ï±@?ð?ð?ð?ð?ð?ï×@?ð?ï×À?ð?ð?ð?ð?é«@?ïØ€?ïÈÀ?ð?ð?ð?ð?ð?ïû€?ïÅ€?ð?ï_?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâ?ð?ïæ€?ïà?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ï­@?ð?ð?ïÜ?ïÀ?ï?ïz@?î¼?ïG@?ï@?ïÀ?ïæ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í’€?È·?¦\?½D?žè?Áé?í³?ïØ?ì @?Àì?ÔQ€?¦€?Ì×?Ö€?Æ4?Ýb€?Ü+€?ã£?é´€?ë2?éDÀ?¾:?¯œ?ÏW?ì?èÌ@?èà?ï‘€?ð?ï¦?ïi@?ï@?ï @?ï–@?îï@??ï×?ïõ@?í“?îëÀ?ïJ€?ï¡@?ï/À?ï¾€?ï´?ïó?ï3À?ï2€?ï@?ãP€?ä€?êf€?î©À?î3?îA@?íï@?ìfÀ?ëZ€?è`€?è¼€?êcÀ?êä?éF€?é¥@?í,À?í¥?ì+?áHÀ?ÊR?B?¨À?åÏ€?æžÀ?æÀ?æ¶@?èJ@?ç„?è €?ê[@?é'@?èÆ€?Ìg?Á>?éÐÀ?ïú€?ð?âÀ?4? 8?Ⱦ?ÓL€?Ó.?µ0?äJ@?â|À?¦@?¶(?ìéÀ?ïÓ?é’@?ì†@?ïÖ€?××?¹Ú?Óà?ÁÛ?Ⱦ?ï¬?íñ@?ïP@?éÀ?ð?ð?éÄ€?î‚€?ïæ€??ï¬?ïÙÀ?ïñÀ?è¾@?êà€?ð?ïV@?ï™?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ€?ï\À?îßÀ?ð?ð?ð?ð?ð?ð?ïð@?ð?ï¨À?ï߀?ï³€?ïß@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ï@?î~?îº@?ð?ï‰?ï4?ð?ï9?ð?ð?ï‹€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Å3?p`?Ó?ìÉÀ?ð?ð?á¬@?°Ž?–`?® ?æFÀ?éÛ€?èXÀ?ÆŠ?Ü–€?ÇŠ?¾’?æ@?ä?éZ?ð?ff?ïŒ@?ï‚€?ï?ïÀ?ï„?ï€?ï±@?ïôÀ?ïg?îÙ@?ïp@??ïµ€?ï¼?ïu?ïDÀ?ï€?ïn@?ð?íþ€?íÍ?íäÀ?î€?íË€?ìý?î¥@?ëþ?ê.@?ãÞ€?éD?ëÓÀ?í$@?î ?ìåÀ?ìcÀ?í¯@?íÎ?좀?ãK€?<?N?º¦?ågÀ?çÿ?åËÀ?çÀ?ëpÀ?í.€?êÛ?ê-À?ëã?ë:€?ìA€?íè€?ï6À?ïæÀ?ìD€?Åd?>?aÀ?ÛM?Æ?éÇ€?éÔ@?· ?Æç?Ó›€?Ç<?î¤À?ﺀ?ï|À?ïÕ?ìq€?–?à?ÁA?£€?䛀?Δ?½?ï¬?ð?ïÓ?ïö@?ð?ð?ïû@?ð?ïÀ?ïnÀ?ïNÀ?ð?ï÷@?ïõ@?ïu@?ð?ïü@?ï±?ïú?íWÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïW@?îÕ€?ï´?ð?ð?ð?ð?ð?ð?ð?ð?ï½@?ð?ð?ïW?ïÚ@?î@?ï¦@?ï¯@?ïÂ?ð?ð?ð?ð?ð?ïÚ?ð?ð?ð?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïx@?ð?ð?ð?ð?ð?ð?ð?ð?ð?îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïË€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îB?ÏÇ?¦?íä€?ð?ð?ð?ð?íøÀ?ذ?4?¬´?æ@€?åŒ@?Ìþ?Õ?è³@?âü@?Ðä?ë†@?æ#À?ãŽ?ð?î°@?î¿€?ïA€?ï•€?ï„€?ïˆ?ïa?ï@?ïÜÀ?ð?ð?ïÓ€?ïŸÀ?ïÅ€?ð?ïjÀ?ïö€?ï¨À?ïå€?ïÐ@?îé@?ï*?îŸ@?ìãÀ?í'€?ì}€?ã¹?ìB@?ìDÀ?ë®?ã,€?âÙ@?íU@?ë?ëã€?éñ?ìë€?íu@?îÀ?îüÀ?î-À?¹ü?™H?|à?›ˆ?‰p?2?ÚÂ?èF€?ç!@?çøÀ?çå?é€?ë5À?ëó€?ì?êÄ?êDÀ?éº?ïv@?ïÀ€?ï·@?íNÀ?Éü?v?Äû?Õ ?ä>?ïoÀ?çá?çA@?Ú6€?Ü?éá€?Ôø?ˆ@?ä€?î>À?î¥À?ïJ€?莀?ºÐ?È{?:?Ö2?ïÅ@?ì€?㨀?ð?ïåÀ?ð?ð?ð?ïÞ€?ïÆ@?ïå€?îU€?ï?ð?ð?ï?ï€?ï¥@?ï‰À?ð?ð?ð?ëÛÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÁ€?î‰?ìï?ð?ð?ð?ð?ð?ð?ïä€?ïã€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï”?ð?ð?ð?ð?ð?ð?ð?ð?ï„€?ïë@?ð?ð?ð?ð?ð?ð?ð?î¶?ïÁ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïY€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í€?ÃØ?ÝÜ?ð?ð?ð?ð?ð?ð?¼ ?e?£<?¬<?å‹?êù?Ò>?Ìô?ÝÑ?«¸??æ@?Þ»€?ækÀ?íÀ?îò@?ïº?ï…@?ï§@?îÜÀ?ï"À?ïu@?ï@?ïäÀ?ð?ð?ïé@?ï¯@?ïæ?ð?ï÷€?ï:À?ïÙ@?ïP€?ï¯À?ð?ïÆ€?ï‚€?ï<€?í€@?ë/À?ìî?ëGÀ?ìœ?êõ@?âõ€?èü@?ì;À?êôÀ?ç€?éÒ@?ìµ€?ìûÀ?íN@?îS@?îŒ?ä@?ê€?äÜ@?Ñß??´â?–h?E?Ð×€?åž@?åÏ@?æ!@?退?ì6@?ìè?ì¤@?ë´@?éŸÀ?ë•À?ë;€?ï!À?ïÀ?ï^@?íõ€?Þ=€?a€?»?³Ì?æ2€?ïî@?ð?ïî€?Îþ?œø?ë@?ï@?ã €?x€?Í;?ïü€?îUÀ?ï¶À?á8?ãñ€?ð?ð?ð?ð?ð?ð?ï‰?ïãÀ?ïþ?ïï@?ï€?ð?ð?ð?ð?ï^@?ïóÀ?ïø€?ð?ð?ð?ð?ï=€?ð?ïø€?ïž?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ï½À?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ð?îÏÀ?ïêÀ?ïÍÀ?ïäÀ?ð?ïÚ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¨@?ïjÀ?ð?ð?ð?ð?ð?ð?ð?î?î•?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïåÀ?ïï?ï½@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ€?Óp?x?À?ï—€?ð?ð?ð?ïÙ€?îß@?ëñ€?àõÀ?¡P?$??Îù?ê,À?åW@?¼?q?´?”X?½â?áì@?ãò€?èU@?ï?ð?ï ?鹿??ï—@??ï?ïÒ?ïü?ð?ð?ð?ð?ï”À?ïÕ?ï-?ïT€?îÀ?ï|?ïëÀ?ï €?í²€?îí€?êØ€?ìð€?í©@?ì›?럀?ê³€?ç–À?êæ€?ê?ëa€?í‡À?ìD@?íjÀ?ëM?í`€?î:€?î²À?ï+À?îÆ@?îP€?ìË@?å#À?”ˆ?D?Òm€?ÇH?} ?Ș?èU?äF€?åÀ?çá@?ê»@?êD€?ì@?ìŸ?ë@?ëÎ?ëå?ï?íû?î%@?íB?ÝÒ?™ˆ?º ?åÀ?ï•@?ïÞ€?æ?è&?ï<À?×s?ÓÞ?åe@?éè€?èý@?µ6?¤¬?¨€?ïÕ€?ïÔ€?ïå?ð?ïï@?ïn?ï?ïS?ï¿@?ï-À?ïM?ð?ð?ð?ð?ð?ð?ïÈ€?ð?ïï@?ð?ð?ð?ð?ð?ïÅÀ?ï?ð?ïy€?î?À?ð?ð?ïñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?íæ€??ð?ð?ïó?ð?ð?îî?ïž?ït?ïc?ï €?î9€?ïLÀ?ïÒ@?ï¿À?ïŸ?ð?ð?ïê€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì?ïíÀ?ïæÀ?ð?ïå?ïÈ@?ïé€?ð?ð?ð?ð?ð?ð?ð?ï‚À?ëáÀ?î3À?ð?ð?ð?ð?ð?ð?ê:À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïhÀ?ð?ð?ð?ð?ð?çq?±è?ÝÊ€?ð?ð?ð?ð?ð?ïý@?Ñm€?¼?΋?⸀?å™?âá?Â?rÀ?¤\?>?Ç ?舀?äÍ?í@?ï]À?ï—?ïØ?︀?ï?ïµ€??ïC@?ïP?ï|@?ð?ð?ïæ@?ï·€?ï2?ïÆ@?ìE?í†@?î/€?ï¥À?ïæ@?îó?ï¨?æÓÀ?ê.À?êê@?ë¡€?ë÷€?ëy@?ëš@?éÓ€?èvÀ?èå@?ìfÀ?ìþ?éþÀ?çP?ì€?ì}À?ê¢À?ëÀ€?íð?í¶??îÓ€?îJ?ä €?Ñy?‘Ð?$?Ìí?±:?p`?áB€?ëÀ?ê§À?æ§€?ä'@?æ3À?ë?À?ë€?ír?ëž@?é.?ëŠÀ?ë À?ìfÀ?ë]?í£À?íCÀ?àø?¨°?Ç´?á…@?ê‚€?ïbÀ?è??Ͼ?ÛŒ€?êyÀ?éÀ?Ý€?âêÀ?Óñ?ÐÄ€?Ä?¨|?ì«€?ð?ð?ð?ï™À?ïI€?ïÁ€?ïê€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?íØ?æ@?î€?ï¡À?ð?ð?ð?ð?ð?ð?ð?ð?ï/@?ïª?ð?ð?ð?ð?ïîÀ?ïL?î¬À?îЀ?ï”?ïÀ€?ïý?ð?ï?ð?ïØÀ?ð?ð?ï«À?ïí@?íÙ€?îÍ@?ïäÀ?ð?ð?ð?ð?ð?ð?ïèÀ?ï¹À?ïÆ€?ï§À?îx?ïÉÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïSÀ?íD€?îÖ?ð?ð?ð?ð?ð?î¾À?Ú€?ð?ð?ï6€?î¦À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?äz?£Ô?¼°?‡€?áû€?ð?ð?ð?ð?ð?ð?² ?Çœ? ?ƒ@?Ìò?è€?Õl€?ÔÄ€?±Ì?­p?äbÀ?ãÁÀ?ç„À?î“?îé?ïýÀ?ïæ?î¼€?í«À?îÂÀ?ïÊ?ﻀ?ïû@?ð?ïå?ïh?ïê@?ïR?í @?é;À?î‘À?î8@?ïîÀ??îC?ï/?în@?ê»@?ëXÀ?ê%@?æ÷?ë›@?ê‰À?êÿÀ?è‹@?éP@?î…?ë?å®@?å @?é À?êB?çº@?êùÀ?í»À?î €?ïW€?îç@?ë‡@?ëÆ€?íì?ãú€?ص?Ó|?Âz?ˆ ?Ûð?íE?ìy€?ì@?ê€?æ¾@?æ½@?è?é@?ì¶À?ì?ê(?èÀ?íJ@?ë,À?é߀?ìS@?횀?ìŽÀ?Ö€?Â]?S?¶v?ÔO?Ô‹€?ʘ?åjÀ?ð?ð?ë$€??²~?ê?áø@?Ïe?Ý^€?±²?´>?0?‘È?£¸?Ö®€?ã]À?±ø?Ð\€?ê$@?ïd?ð?ïð?ïŠ?ð?ïÝ?îÇ@?ð?ï–€?ð?ð?ð?ð?ð?ð?ð?ð?ïæ€?ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è?ïq@?ð?ð?ð?ð?ïÓ€?ð?ð?ð?ð?ð?ïÎÀ?ïºÀ?ð?ï:€?ïÜ€?ð?ð?ð?ïÞ€?ï°À?ïßÀ?ïå€?ïé€?ïÃÀ?ïÓÀ?ïæ€?ð?ð?ïpÀ?ìÆ?äE@?êÔÀ?ïÊ?ð?ð?ïí€?ì’@?ð?ð?ð?ð?ð?ð?ïß?îÚ@?î[€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÅÀ?ïäÀ?î”?ð?ïä?ð?ð?ð?Ú?æî€?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì=À?Ï»?ÎX?Ûž?ˆ`?p ?2??áÈ?ð?ð?ð?ð?î=À?ì²€?Þ%?X€?ÆB?°n?œ ?Ù÷€?äÞÀ?È_?°D?Q€?£x?¬T?Ä?Õh?¶2?åªÀ?ï<@?ïÙ€?ïßÀ??í&À?ìð?í?@?îJ?îÀ?ïq?ï„@?ïï@?ð?ïä?ï÷€?ð?ïuÀ?î÷À?ïá@?íû?ìéÀ?î¼?é‹€?ï†À?íÝ@?æu@?î–€?ì´€?í~€?ë@?è ?æ°@?é*@?êÖ@?én?æ”@?åÚ?çÀ?éÌ@?㜀?èŽÀ?ìš?ëç?ëÎ?ëºÀ?ëd€?ì€?çm@?êHÀ?í$?ìêÀ?íGÀ?ìÞ?µb?>?P?ÞЀ?æFÀ?ë=@?ë€?êq@?ë€?êÃÀ?çx€?èvÀ?êœÀ?éÌ@?ì?ìø?ìj@?ç÷@?éA€?éì€?ë,€?îC?íÆ?í#@?ìÀ?ëÁ@?ã“€?Ò÷€?8?±?é†@?îä?ë–€?Ѐ?Ý?â\À?ïÉ€?ï­À?Ì?Ç*?x?å’@?ï?ä€?ÕP€?éPÀ?âv@?ºJ?Úk?èç?ð?ð?ê„À?ì˜?ïð@?îÕÀ?ïØ?ïˆ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êÀ?í‚?ð?ð?ð?ð?ïô?ïЀ?ð?ïãÀ?ð?ð?ð?ð?ð?ïá€?ïö@?ð?ð?ïJÀ?ð?ïé@?ïÉ@?ïW€?ïPÀ?ï”@?ïÿ@?ð?ð?ïò€?íöÀ??ïøÀ?ïÌ€?ð?ð?ï«?ï:€?ïú@?ð?ð?ð?ð?ð?ð?ð?ïÀ€?ï¶€?îk@?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï_?î~€?ð?ð?ð?ð?ì«@?¢|?ëÚ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ð?ð?á"€?Ò€?Îä?àë€?»"?2?ÀÏ?ÎE?׬€?ð?ð?ð?ïÔÀ?Ý–?Z?R€?Q?…@?»>?ÇW?½6?«$?v ?Çê?Ò&€?¯ä?ܤ€?ï @?ïŽ@?îì€?ï4@?íç?î6@?î@?îý?î%?îÑ@?ï~€?ïÕ€?ïõ€?ïé€?ïÝ€?ð?ïF@?î½À?ïþÀ?ïé€?îz?î¼€?îô€?ï…?îx@?ì¼@?ìiÀ?ëÿ@?î°À?íð?éÛ?çà@?æxÀ?èª@?ëÍ€?æT€?èt?çsÀ?ìÏ€?ç8@?é?ëêÀ?è¿À?æK@?èÍ@?ë@?ì·@?êG€?ëè?ë?ë;À?íS@?íf€?¯?g?`@?àD@?ëæ@?ê¼À?ê?ë„?ì”À?ì?ìO€?ç¿@?êNÀ?å=À?êó€?ì?ì‚À?êC€?é;?æ?ߥ?ë$@?í;À?ìÂ@?í'€?ë§À?èK?à”@?ƒ?ظ€?ã¬?ë½@?î­?뢀?Ã?Æv?Èá?ì@?ð?ï¢?àr?ª€?Å ?Üc€?ߣ€?íÊ@?ï…€?ïü?ï”À?î@?ï À?éÞ?ð?ð?ï÷?ð?ïä?ï¨@?ïV?î?ïÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì_@?ì‰@?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ð??ï[?ð?ð?ïÒ€?ïÇ€?ð?ð?ïñ@?ïŒ@?ï½@?ïãÀ?ïÚÀ??ï@?ïó@?ï?î À?ð?ïÇ€?ïªÀ?ïàÀ?ïe?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ@?ð?ïå@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¶?î€?ð?ð?ð?ï=@?Î ?Ýg?ïžÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í™À?ãC€?é*€?íp€?åò€?±8?Ð?Öà€?Èò?ð?ð?ð?ïÝ@?Ãz?Çï?Ïe?ÞO€?0?Ít?ë8@?‡?Ù(?ì3À?ëÀ??ìN?íT?íö?ï:€?ïš?ïS?ïdÀ?ï’€?ï„À?ïÒÀ?ð?ïÕ?ïè€?ï ?î$@?ï@?îÃÀ?ïÎ?ï}@?ïµ€?ï'@?îö@?ï @?ï<À?î€??í@?íÊÀ?í-À?æÌÀ?äð?Ü€?Åa?ìƒ@?îÀÀ?ï€?ëÞ??ëƒ@?éºÀ?æ–?å»À?é;@?餀?ìd€?ì¢?ì{À?í#À?ìò@?î€?ʳ?Ž@?Ò…?ìÓÀ?íÀ?ëu?ì“@?ìhÀ?먀?ê¾@?èÇ?çÁÀ?çÝ€?ì'€?èt?ìúÀ?í†?ì–€?ëÀ?ëÆ@?íh€?î ?îx?æK€?â€?íŽ@?ë“€?árÀ?Áy?àg@?í€?íÿ@?îC?ãÀ?«$?P?ì‹À?ð?ïf€?è‹€?Óy€?¥ü?ºf?Ùº?î€?î¶À?ïþ€?ð?ð?ð?ïÐ?ïÆÀ?ïЀ?ïÚ?ïB€?ï¦@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔ€?í£€?îï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïê?ð?ð?ð?ïCÀ?ï¯À?ð?ï›À?ï’?ð?ïã€?î}À?ï“€?ï–?ð?ïÓ@?í0€?í³€?ï¹À?ð?ïØ@?ïÀ?î¾?í\?ì?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïãÀ?ð?ð?ð?ð?ð?ïÿÀ?ð?ïÆÀ?ð?ð?ð?ð?ïsÀ?ïé?ð?ð?é°À?Èœ?âÿ@?ïò€?ð?ð?ïL?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¥À?êzÀ?í¼À?ØS?íT?âòÀ?ìk€?ð?í­@?Ýÿ€?Â#?½¨?Áè?µ?˲?ÃË?œ˜?à@?ÑR?ÐÍ€?éÈÀ?ï\?îØÀ?î?î´?ïU?︀?ï<?ïwÀ?îv?ï°À?ï•?ïz@?ð?ð?ïé?ïº@?ï)@???ïÀ€?ïé?ïú?îó€?ï¥À?ï¨?íÆÀ?îË€?ï{À?ﺀ?ï?ê¹@?ÛH€?ã­€?Ì~?¸?íO?ï€?íl?íÀ?뙀?ëï@?éŒ@?æÑ?éˆÀ?é?åÅ?é›@?íù?ìv€?í?î ?ìq?ÙÒ?Õ¤?¢Ì?ÎÕ?íë€?ì@?é+À?íÄ@?ë‹?éÿÀ?èþÀ?éý@?âõ?è”@?ê.À?éç?êî€?éÊ@?ì?êêÀ?í?í‹?í(€?í%@?í‚@?îËÀ?ìá€?îsÀ?î@?ã À?ÆX?ëæ?î«€?ï“?äÒ€?ß·€?í‚€?ïlÀ?ð?ïã€?ï¸@?ð?ᯀ?ª?ãZ€?é²?ïæ€?ð?ð?ð?ð?ð?ð?ï­€?ïŸ@?ïº@?ï¿À?ïJ@?ð?ð?ð?ïŸ?ð?ð?ð?ð?ð?ð?ï§€?ï”@?ð?ïüÀ?ï“?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÍÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ?ð?íG?ï|?ï×?ï§@?ïBÀ?ïÏÀ?ð??ð?ð?ïñ€?ïö@?ð?ï6?ï€?ïl€?ð?ð?î¶?ïÈ€?î¨@?ð?ïì€?ïB@?ï…@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î:@?ïDÀ?ïìÀ?ð?ð?ð?ð?ð?ïÏÀ?ï°€?ð?çy?ÙÖ€?é€?ïÀ?ð?ð?ð?îe?ïè?ï”?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïT?î‡À?Úö?ð?Ú ?‰?윀?ïáÀ?çÀ?„p?µ?’ð?ƒP?K?¾ ?²š?„à?³¸?™`?h?~ ?Ùb?P?Ìè?èA?íÀ?î€?ïrÀ?ïO?ïáÀ?ïÆ?ï2€?î^€?ìæ?îR?ï­€?ï‚@?ð?ð?ð?ð?î€?îÿ@?ï À?ïÙ?ï«?î0@?ïÏÀ?ïÔ@?ï@?ïý@?ïÀ€?î»?î{À?íî@?ð?ïa@?ìH?áVÀ?ëC€?Ø\€?ºT?î»À?ëÔ?çr€?çç?ê_À?êE€?뙀?é#?ê"@?ênÀ?æÂ@?ä²À?îÓ€?î€?ìëÀ?ïÀ?îý€??Ûù?²h?X€?¡t?éø€?íª?ì)@?íG@?ê€?çë€?ãË€?銀?ê @?é…À?í€?ìJÀ?ìü€?ë%À?êÝ?é:€?é¡€?éè€?êw€?ëÁÀ?ëÈ?ëW€?î@?î€?ìh@?íÜ@?ìñÀ?Ür€?b@?Ñ%€?ì?€?ï˜??ìð€?«\?\€?Û™?ð?ð?ð?ð?ïð?ì|€?Æ'?‡ ?à"?íJ@?ïq?ïü@?ð?ð?ð?ð?ð?ð?ð?ð?ïð@?ïÑ?ï@?ð?ð?ð?ð?ð?ð?ïÆ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì?í¡À?îû?ïÑ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïYÀ?ï €?ð?ð?ð?ð?ïç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ@?ð?ð?ïeÀ?ï@?ï¨À?ð?ð?ïŸ?ïo@?ïå@?ð?ð?ð?ð?ð?ð?ïA@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ð?ð?ð?ð?ð?ïÔÀ?é‰À?ã?Ñà?ïú€?ïìÀ?ð?ð?ð?ð?ð?î×À?ï«À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í=À?ð?ð?ð?êo€?íÏ@?âQ@?ð?Õ¨?ç3@?ïø@?Öº€?¹â?­ì?šh?¨¼?— ?º¬?Åõ?Ð?Àß?ºÂ?Æ?¼¼?4?•?¶j?Ô¶€?ìÍ?ïf?ï’@??ïÕ€?ï¡À?ï`À?ï?îd@?î@?ï'?ï?ï;À?ïš?ïñ€?ð?ð?ïøÀ?ï5€?ï1?ð?ïö@?ð?ð?ïÙÀ?ï¬?ïì€?ïÛ?컀?íˆ?î”@?î3€?í¡À?ãd€?çþ€?éH€?Ý€?éoÀ?ëX@?é'€?é€?í€?ë•?ìâÀ?í4€?íÅ€?í}€?ë€?ë¬À?îê@?îG@?î¢@?ï³À?ïc?í½À?ìÏ@?Ö÷€?Š ?Ær?ìn€?î“€?îâÀ?ì½@?ênÀ?é€?éO€?í+À?î ?íK@?ë<€?ìžÀ?î€?ë À?î@?ë ?ì“À?íÂÀ?êÊ?ì‡À?ìø€?í[?í™@?îú€?î<@?íž?쬀?ÔÚ€?Ð?”x?ãÉ@?ï?êþÀ?Ô€?¶ž?ßK€?íž@?ð?ï¼?ïá€?ïáÀ?ð?æ¶À?·<?«¸?à€?éú?ïõ@?ïá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïä?ïR€?ð?ð?ð?ð?ð?ð?ð?ïšÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëÒ€?婢?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ?ð?ð?ð?ð?ïÛ@?ð?ð?ð?ï»À?ïЀ?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ïáÀ?ð?ð?ð?ïÔ@?ð?ïÃ@?ð?ð?ð?ð?ð?ïƒ?íçÀ?ç&€?ð?ð?ïû@?èZ@?è‹??îê@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îjÀ?ð?ïŸ?í×?í…À?Û €?³ˆ?î?ä€?ä @?ÝÅ?M?@?·|?¥Ä?›?jÀ? ´?·®?çÎÀ?ïõ@?ð?ð?îu?ïhÀ?ïg@?ï5À?îW€?îw@?í‹€?ïo?ïf?ï@?ïåÀ?ð?ð?ïñ@?ïo€?ïÏ€?ð?ïçÀ?ð?ð?ïÃ@?ï®À?ð?î…€?ïG@?î]?íë€?í‘?ëø@?éû€?âÚ?èÖ?ì­?å¼À?í«À?é@?êz€?êè€?è«À?ë?í{À?îh€?îTÀ?ì¥À?ìhÀ?î ?íx€?îÝÀ?ð?ïå@?ï4€?ï@?ì-@?Ó°?æïÀ?îï€?î=?ëa€?ëÛ€?êh?é÷?æ!À?êõÀ?ïÈ?íî?란?é¾€?ë€?îf?îP€?îv?îxÀ?î³À?íå@?î¬??î—À?îD?ía€?á³?Öˆ€?Û-?Ü×€?…0?»è?Ï? ¼?«d?Î ?äJ@?î>@?ð?ð?âÀ?ÒC?ܤ€?íÚÀ?ð?ïê€?ð?ð?ïá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÃ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï€?îÕÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë‹À?ð?ð?ð?ð?ð?ð?ï À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï—@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?ïº?ïÖ?ð?ð?ð?ð?ð?ð?ï÷À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÕ?ïE?ð?ïÙ@?ð?ð?ïã?ð?ð?éã€?ëh@?ð?ð?ð?ð?ð?ïÉ?ïæ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íí?îŠ@?ð?ð?Ä•?‹@?î?ìÜ@?s€?ÇŽ?Æ?Ò1?â^@?åÜ?ìGÀ?îCÀ?ð?ïï?ïÒ?ïâ€?ïJÀ?ï@?ìâ€?ïe@?ï}À?ïá?ïø@?ïñ€?ð?ï½@?ï8À?ïÚ@?ð?ð?ï¥@?ð?ïÙ€?ïiÀ?ïï?ï)@?ï›@?ï£?ï‡À?îì?ï €?î?ì @?á-?îm@?Ú{?îÀ?ì3?ìÖ@?ì¥?íô€?íˆ?ë)À?ëÏ@?ì˜@?ì±?ëè€?íÀ?ïH€?ïWÀ?ï?ï]€?ïp?ïƒÀ?î‘?ï6€?ï€?îe?ëë@?è’€?ë €?ê€?æÞÀ?åÁ@?ìb@?íº@?ëå@?ì°@?ìQ?쯀?í!?íµÀ?íÀ?ëÝ?íÀ?ì¿@?ìwÀ?므?뙀?ì À?Þˆ€?ˆÐ?¿D?ë"@?Ó®€?¶?íD@?ì}À?ê(À?çú€?ãe€?Z?æ~€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îý@?ï÷@?ð?ð?ð?ð?ð?ï÷€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ@?ëÐÀ?ï×€?ð?ð?ð?ð?ð?ï-@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ð?ð?ð?ð?ð?ð?ïû@?ï„€?ïÿ@?ð?ïçÀ?ð?婢?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï[€?î]€?ð?Øn€?é„@?ïÊ@?ï@?ð?ð?ð?ð?ð?ïÒ@?ïÿ€?ð?ð?ð?ð?ð?ïÞ?ð?ð?ï‡@?ð?ð?ð?ð?ð?ð?ð?ïé?ë3@?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îk?îß@?ð?ð?ð?¿¢?†Ð?î?ïè€?¾.?»ˆ?Ö#?R€?«H?éÀ?î€?íSÀ?æ•@?îO@?ð?ð?ð?ïçÀ?ïÛ€?îÃÀ?ïh?ï*€?ïpÀ?ï·@?ð?ð?ïÜ€?ïŠÀ?îÆ@?ð?ïh@?ïaÀ?ð?ïÌ€?ïÒ€?ïñ?ð?ïöÀ?ð?ïçÀ?ï¶À?îÐ@?îñ?ï&?⥀?î|@?ìp?íTÀ?ëäÀ?ì€@?íñ?ê‚@?í‚?íÏ?ìÀ@?ì €?æÄÀ?ì!@?ëÒÀ?ï?ï?ïpÀ?ï@?ï§@?ïžÀ?ï_À?ìÇ?î€?í#?ì«€?ëèÀ?ëßÀ?ëa?ë[?í ?íÄ€?ígÀ?í=?ì€?ì•?í@?íÌ€?ç?ß]€?Úé?ÛÚ€?Üï€?Üc€?â¾€?à €?Ù¸€?“p?â@?ä€?µ?6?U€?³„?à`À?Ú.?Ã?Y?Çø?ê2@?ïø@?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï½?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï…@?íÀ?ïW@?ð?ð?ð?ð?ï®?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ï?íÓÀ?ð?ð?ð?ð?ïçÀ?ïÒ@?ï½À?ï}?ïá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï€?ð?ð?ð?ïá€?ð?ð?ð?ïðÀ?ïÊÀ?ïà@?ïáÀ?ð?ð?ð?ð?îÀ?ïr@?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ï–@?ð?ð?ð?ð?ïà@?ð?ð?í»€?ð?ð?ð?ïÕÀ?ð?ð?ð?ð?ð?ð?ð?ïÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá€?î»??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î_€?ê€?ð?ð?ð?ð?Á?êd?ð?åZÀ?´.?®x?ê?ëÀ?ïw€?Þ‡€?æ)?íë@?ï*@?îÊ€?ð?ï ?ïL?î÷?ïÌ€?î€À?ïÖ@?ïé@?ð?ïðÀ?ïI?ïZ?ï¾@?ð?ïÒ@?ð?ð?ð?ïà@?ð?ð?ð?ð?ïÈ@?ð?ïjÀ?ð?ïæ€?ð?ð?ð?ïà€?ì’@?çf€?éò?ê'À?è€?è´€?ê8@?î²€?ߎ?æ@?îß?íW@?ð?ïÊ€?ï@?ï/@?îÞ€?îËÀ?î#À?îz€?ï½?íñÀ?ì2@?ç×?êE?é@?éœ@?íÇ?îÜ€?íˆ?ì€?çÜ€?ì@?ìµ?íü€?á[À?¨?Ù ?äàÀ?ÈÖ?gÀ?¦?ê·@?ê!@?çH@?Ãü?Ô?•P?0?‚À?n€?]? Ð?×S€?a€?ì,€?ïùÀ?ïÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÃ@?ïúÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¶€?å'@?ï?ï¾@?ð?ð?ð?ïfÀ?ð?ð?ð?ð?ð?ð?ïû€?ï‹@?ì?ð?î]@?ïõ@?îÅ?ïùÀ?ïôÀ?ï¢@?ð?ï.À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï7?ð?ð?ð?ð?ð?ïà€?ð?ð?ð?ïß@?ï¾À?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ@?ïæ@?ð?ð?ð?ð?ð?ð?ð?ï€?ïà€?ïb?ëû?è,?ð?ð?ð?ï#@?ïBÀ?ï¡@?îf@?ð?ð?ï¬@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ@?ïÎ?ï@€?ä†À?ï¦?ïõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÏÀ?í•€?ï8À?ð?ð?ð?í®?‚?€?îW?Û€?Ò–€?Ÿ?а?ÄZ?X?¶î?äs€?ìá€?ãz€?×(?î"?ï(?ï¯À?ïþ?ïÑÀ?ïÌ?ð?ïÀ?ð?ïðÀ?ð??ï'€?ïµ?ïÓ€?ð?ïñ?ð?ð?ð?ð?ïÂÀ?ï–À?ïû?ïõÀ?ð?ð?ïæÀ?î¤@??ð?ð?ð?ï±À?åI?äl€?ꇀ?êÎ@?çÞ?뮀?ë¹À?ïE??ì>€?ïvÀ?î¶€?ð?ïQ€?ïy€?ï<À?ïT€?ïH€?îò€?î©À?ï8?ïÀ?ï@?í:À?ìœ?ëU@?ìµÀ?íp€?î?ìâ?êä?éQÀ?ì°@?é”@?Ô ?Îs?àu€?å?àRÀ?©ð?ÒN€?àd€?ÁÑ?Öz?ìN?ìø?íe@?éJÀ?ëÏÀ?Ø¡€?4?ˆp?¨|?áß?ìÖ?ð?ð?ð?ð?ð?ð?ïðÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¢À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?í<€?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëöÀ?ï‡?ìŠ?ís€?ï»À?ð?ð?ð?ð?ïý?ïÆ?îH€?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ð?ð?ïðÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï­?ïÁ@?ð?ìO€?ð?ð?ïU?îe€?ï ?ï@?ð?ï+€?ïa@?ïè@?ð?ïMÀ?ï*?ïä@?îêÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï’@?ð?ð?íJ?ìS@?ð?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ïó@?ï^À?ïæ€?ð?ð?ð?ð?é„À? ?·ú?ìã€?¦?<?Ÿp?‚À?¤?J?Ú€?é†@?ØÂ?çÃ?ïÍ@?ïÀ@?ð?ð?ï"@?ð?ïHÀ?ïþÀ?ð?ï±€?ïÍ@??ï‚@?豈?ð?ð?ð?ïÁÀ?ïÁÀ?ð?ð?ïÖÀ?ïË€?ð?ïà@?ð?ð?ð?ïï?ð?ð?ð?ïs€?ïÌ?îõ@?ìæ?ég@?ê@?èj?èF€?î­?ã‘À?Ðt?Å/?Þˆ€?ïe@?ï,?îí€?ïËÀ?ð?ïà@?îØ?ë¸@?ëz€?ë°À?îñ@?írÀ?ìÃÀ?è­€?èœ@?ìÛ@?í¶@?ãÝ@?êR€?ê¯À?ëT€?Ï6?å±À?ï@?ïî€?ïöÀ?îq@?ÄÏ?»à?ç¼€?íS@?êª@?ì?íðÀ?êi€?àw@?¼¶?Î}?æ €?ìk@?áÍ@?éÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ï«@?ïù€?ð?ïh€?ïç?ï&À?ï!?ð?ð?ð?ï @?ð?ð?ð?ð?ïá@?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌ?ð?îì@?ð?ð?ð?ð?ð?ð?ð?ð?좀?èt?ð?ïÎÀ?ïË€?í#?ïö@?ð?ð?ð?ïó@?ïÇ?ïµ?ð?ï³?ð?ð?ð?ð?ð?ð?ïðÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëŸ@?åDÀ?ïë?ð?ð?ð?ð?ï¹€?ð?ð?ð?èêÀ?ëT?î @?ð?ð?ð?ïö?ð?ð?ïíÀ?ï“@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ïÿ?ïü?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï•@?î7?ïî@?ïà@?ð?ð?ð?ð?ì”@?¿`?ásÀ?›8?šø?Ó ?ê¬?æ À?æ@?ð?ï†@?ï~À?î5@?îåÀ?ïö?î7@?î¼?ïéÀ?ìj@?ïNÀ?ïÖ@?ïÌ€?ïûÀ?ð?ð?ð?ð?ïà?ìÀ?ð?ð?ïŸ@?íV@?ëâ@?ð?ð?ð?ïm€?ïU€?ð?ð?ïúÀ?èí?ì™@?ï²€?îÜ?í@?ëÑ?êøÀ?âB€?ÈÞ?U€?ª ?äÍ?êF€?ï?ïÀ€??ïÀ€?ïÆ€?ï‚?íÏ?î2€?íMÀ?î.?í;€?î_À?îö@?îÀ?î²@?í˜@?îý?î‘?â€?í!À?ï‹À?ïù€?ëg€?ás€?ÔZ€?rÀ?Ûô€?íË?í8@?ëÂÀ?ê}?ë@?ì@?àÀ?Á…?½R?êq@?ïØÀ?ð?ð?ð?婢?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??íù@?í_?ïÞ@?ïÊ@?ð?ð?ïð@?ð?ð?ð?ïÌ?ð?ð?ïÀ?ð?ð?ï¼?ïÕ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìµ@?êG?ê*€?ð?ð?ð?ïÅÀ?íKÀ?ð?ð?ð?ía€?î€?ð?ð?ð?ð?îÌ?í¡@?ð?ð?ð?ïìÀ??ïÀ?ð?ð?ïX@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí€?ïûÀ?ð?ð?ëÂÀ?î?ð?ð?ïå@?ð?ð?ïÛÀ?ïü?ïñÀ?ð?ð?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïºÀ?ïÚ@?ï­@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ì €?žø?Èš?êÚÀ?®°?§?—¨?Ñ1€?ð?ë ?ê€?ïå?ð?ï¹??î÷€?ï €?ï*@?ïê€?ð?ð?ï£?ï÷€?ïîÀ?ïü€?ð?ð?ð?ð?î!@?î€?îÙ@?ð?ð?ð?ð?ïÊ?ìc€?îi?ð?ð?ð?ð?ð?ð?ð?ïšÀ?éÛ€?í3@?ïÈ€?ïèÀ?íì?Ѐ?6?Î?¿d?s`?”€?áÑ?îœÀ?ï¼@?ïÃ@?ï°À?ð?ïÀ?í_@?ëÐÀ?ì?ê;?ê…@?îPÀ?îÎ@?ì;À?ï”À?ï{À?ïÈ€?ïÌ€?çÈ?êO@?ï…€?ïÃ@?ïÃ@?ð?ï—À?ìÔ?ªì?¤(?¯ü?qà?ÂÎ?¹?Á’?І€?Èð?Ýñ?äÀ?Ý‘€?é8€?Ë%?`?“ð?Ó‡?ê5€?ï?ïšÀ?ð?ð?ð?ð?ï|?ïû?ð?ïÔÀ?ð?íòÀ?ï7@?î5?ï¾À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î/€?ì¯À?ïþ€?ð?ð?ïð?ï¶@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ?îÖÀ?î&@?îP@?ï{?퀀?ð?ï €?î3€?æ>@?Ó\?Ñ[?æ+À?ð?ïáÀ??ïø?ð?ð?ð?ð?ð?ð?î?í™?ïS@?ï¨À?é5À?ØÃ€?Û*€?ã΀?íc?ïÍ?ð?ð?ð?ð?ð?ð?ð?îÀ?í‚€?ëw?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼À?ð?ð?ð?ð?ð?ï2€?èŒÀ?èê€?ì2€?ïw@?ï2€?êÇ@?ï&@?ïÕ€?î ?ð?ð?ð?ð?ð?ð?ð?îÚ?î—€?ð?ð?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ﺀ?ð?ð?ð?ð?ð?ð?ð?ð?îà?îgÀ?ð?ð?ð?ð?ð?ð?ð?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïß@?ÊH?Í2?íÀ?ß@€?@?ˆà?¦|?¾?(?¥„?ìºÀ?îs?ïãÀ?ð?ð?ïä@?î@?ïÞ€?ï—?ð?ð?ð?ð?ð?ïýÀ?ð?ïÓ?ð?ð?ð?ïò€?ïÇ€?ð?ð?ð?ð?ð?ð?ð?ð?ð??îÿ@?ð?ð?ð?ð?î7À?îí?ì€?ï3€?ï“@?î¶À?å4@?Ö€?ÈÀ?áå?ë€?×?,?¸˜?Êä?Öƒ?ï @?ï¿€?ð?ï³€??í6@?î¹@?ìÌ@?î ?ï À?îmÀ?ì:€?ï@?ï?îAÀ?ï…€?îÇÀ?íŸÀ?ê€?ð?ïÞ@?ïR€?ïª?ïÊÀ?ð?ìÓ€?Õj€?ÁÈ???Ûú?š˜?ºÒ?Ø…€?™Ø?Ô-?çt@?‡`?ÑØ?ï­@?ð?ð?ð?ð?ð?ð?ï߀?ð?ð?ïÀ?ì›?ð?ð?ï9@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íý?Ø&?¶<?åv€?íC€?ìE@?êâÀ?Û ? P?—˜?äÇÀ?ïÎ@?ð?ð?ð?îé?ë¯?ï«€?ð?ð?ð?ð?íg@?êT@?èŒ@?Ûû€? ð?| ?êJ?ð?ð?ð?ð?ð?ð?ð?íî@?Ù½?Ï?èi€?ï´€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íW@?Ò?Þ€?ëO?ìæ€?ꃀ?åQÀ?å¨?ïçÀ?ð?ëï?àÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÉÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï=À?ïP€?î~?î´?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ?”à?Õî?Ð!€?Ò[€?ð?¹?¯Ü?æ»?ï€?ïæÀ?ð?ð?ïÈÀ?î‰?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ï.€?ð?ð?ð?ïê€?ïÉ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?îpÀ?ï¼À?ð?ð?ð?ð?ì³À?ï @?î €?ê«?ïÞ@?ð?ïïÀ?ïU@?ïr?ïL@?ð?ïÜ€?éQ?î€?îÐ?ë€?êÌÀ?åÓ@?ê…À?îÏ?î¯À?ëìÀ?ë˜?ïÅÀ?ïª@?ï@?ï`?î€?ï?ïD€?ïËÀ?ë¹À?î5?ð?ð??ío€?ïå?ï0@?ð?切?ð?ãÄ@?à§@?áø€?Ô2?Ѫ€?ëü€?ÎG?R€?Œð?V?Ý €?ï³@?ð?ð?ð?ð?ð?ð?ð?ð?ïË?ð?ð?ïW@?î¾À?ïE?í™@?ïú€?ï™?ê¼À?å?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ï€?îô€?ïa€?ݼ?w ?r ?Õé€?êÚ€?é#@?»Â?X?s?Âv?íùÀ?ïý?ð?ð?ð?ð?ð?ïЀ?ïaÀ?ïå@?ïú€?ïþ€?뮀?ãC?Ò?q@??qà?·ö?îÀ?ð?ïùÀ?ð?ð?ð?ð?è?ÉÓ?®Ô?Ì^?ïj?ð?ð?ð?ð?ð?îü@?ð?ð?ð?ð?ð?ð?ð?ð?ð?âZ@?ß.€?ï¥@?ð?ð?ð?ð?ð?ð?ð?ïý€?é€?ï‰@?ð?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í×€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ€?ïÞ@?ð?ð?ð?ð?ð?ð?ï@€?ïi?ð?ð?ð?ï€?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëŒÀ?·?:?­Ü?ˆ@?m?6?¥X?¸¦?Ð…€?y@?èl€?î‹?îÞ@?ï?ïÏ@?ïw@?ï3À?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?íS€?ð?ð?ïs?ï@?ïAÀ?ï­@?íØ?ð?ð?ð?ï¾?ïaÀ?ð?ï À?ïš?ð?ð?ä?Ó ?Àe?â²@?Î?ÊØ?Öù?Ûæ€?Îð?ì€?ïÕ€?ïŽÀ?ïX@?íêÀ?î<?îÝ?ï?ïNÀ?ï€?ïœ@?ð?îÙ@?ð?ìö€?íb@?ï¬@?í?íí€?ë×€?îš?ê½À?è­€?áçÀ?à¸?ãt@?ã/À?Ѹ€?·î?ìª?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ï?îÙÀ?îãÀ?î€?îáÀ?éúÀ?¢ˆ?× €?çÀ?íhÀ?ð?ð?ð?ð?ð?ð?ð?ïÑ€?ð?ð?ð?ð?ð?ð?ð?ïÞ@?î¦À?ìÖ€?ìo@?¹ì?¥?×{?ëø@?ð?äÊ?äö€?Ú!€?èI@?ð?ï¸@?ïÛ€?ð?ð?ï¿@?ð?ð?ð?ð?ï³?ïã€?åÈ?‘ˆ?‘(?ÄG?éw€?ëÍ@?ï£À?ð?îü€?ð?ð?ð?ð?ÖÉ?µ?’(?æÏÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÈ€?é-€?ð?ïÚ?ð?ð?ð?ð?ð?ð?ð?ð?ïŸ?ïš?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïL@?ïÝ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ@?ð?ð?ð?ð?ð?ïê€?ð?ï”À?íàÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?æÚÀ?å#À?ð?ð?ð?ð?ìy€?Âá?¸?ã^€?ÑV?À?ÖÑ€?Ðo€?b€?éð@?ïl?ïô?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ð?ð?ð?ï÷@?ïý?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í¤À?ð?ð?ð?îù?ïb€?婢?ïK?ï%@?ï[@?ïÆ€?ð?ïé?ð?ð?ð?ð?éœ@?È]? ¨?Ô»€?îÀ?î €?Î_?Á×?· ?×?îÀ?ïF?ï\@?ï>@?îZ€?ï?ï‘@?ìÀ@?í À???ïë@?îÉ@?ï³@?îŸÀ?îW@?ìÀ?åè?ÛÓ?ÐM?åHÀ?ë+?ï°À?î¿€?à‘@?©ü?²æ?ë‚€?ïÖ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ïø?îË€?ð?ïRÀ?ï*@?èA@?¡8?• ?Ãè?äïÀ?ð?ð?ð?ð?ð?ð?ð?ïˆ?ïx@?ïÞ?ð?ð?ð?ð?ð?ð?î´À?írÀ?ɺ?yÀ?çµ?Þo?¿d?Ó¬€?ë.À?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ïî€?ì?À?¿V?2?о€?àñ?îÙ€?ïê@?ð?ð?ð?ð?ð?ð?ð?Âj?q@?²ø?ç@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€?ð?ð?ð?ð?ð?ð?ð?ð?í?€?ð?îý@?íE?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïk@?ð?ð?ï6À?ï]À?ïÚ€?ð?ð?ð?ð?ð?ð?ð?ð?é€?êÊ@?ð?ð?ð?îÚ?Ì`?lÀ?ß\?ìý@?Ä•?0?»Ì?ÇZ?µä?í€?ïM€?ð?ïÄ€?ð?ð?ð?ð?ð?ð?ï$?ð?ð?ð?ïô€?ïÆ?ï–?ïa€?íÅ@?ï¿?ïö€?ïú@?ð?ð?ð?ïò?ð?ï°À?ð?ð?ï¡€?îÝ€?ð?ð?ïå?ï‡?ï§?ð?ð?ð?ïˆ?ïµ@?ï €?ïü?ð?ïÞ@?ð?ïЀ?æ“@?«@?ÙÀ?íY@??ïþ@?Úˆ€?š€?çÌ?Ý1€?ê@?íï@?î¿@?ï†À?îé@?í€?ï€?ïÞ@?é,@?ð?ð?ïˆ@?ïx?îÓ?í«€?ì«@?ãg€?¿Ø?Ñy?î@?í-@?æÈ@?Øi€?®P??¿\?îòÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ@?àH@?žè?ÜB?îº?ð?ï_€?Õ5€?$?f@?Ñ<€?íÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïe€?ï-€?ïé€?ð?ð?ïÈ€?ïm€?ï?€?åg@?A?–?ÛÍ€?ïË?ð?ð?ïê€?ð?ð?ð?ð?ð?î@À?ÞG?¦8?«Ì?æ2€?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?Ôu?² ?`?àƒ?ïç€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïêÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï#€?îÈ?ð?ð?ð?ð?ð?ð?ïî€?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?ïœÀ?ð?ð?ð?ð?ïÍÀ?ïÁ@?ð?ð?ð?ï©?ð?ð?ð?ð?ð?ð?ð?ð?Ö]?D?åO@?ïÏ€?îC@?à À?Ô ?ÏA?â?¤„?ƒ`?ïÆ€?ïq€?ð?ð?ïÞ@?ð?ð?ð?ð?ï1€?ð?ð?ïïÀ?ð?ð?ð?ð?ï @?ïU?ð?ð?ïÿ?ð?ð?ð?ïÁÀ?ð?ð?ð?ð?ð?ð??ïá€?ð?ð?ð?ï¯?ð?ï­€?ïm@?ð?ïÄ?ïB?ð?î­€?ïÀ€?êñ€?åk@?æê€?ïÊ€?ï€?ì@?Õ*?¹<?Ú¼?ï÷@?ïËÀ?î}@?ëð€?å©@?æÑ?ß3€?ï @?ï¼€?ïÕ?íôÀ?ð?ð?ïî?î?ìh€?Ü­?Éc?a@?åR€?ìä?Ú6€?‘ø?6?$?Ѹ€?ïë?ð?ð?ð?ð?ïü?èZ@?à€?çÝÀ?ð?íË€?Ô€?ˆ°?Á ?ïˆ?ð?ð?î¹À?Ù?•8?Ó€?çë?ïJ€?ð?ð?ð?ð?ð?ð?ð?ïö€?ïô?ï)€?ï??ð?ð?ð?ëR@?Á°?ÐŒ?íTÀ?ð?ð?ð?ð?ð?ð?ð?ïþ€?îf?Þ?ÕU?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?꤀?è½À?ãÿ@?êVÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?ð?ð?ð?ð?ð?ð?ð?ïä?ïø€?ï¥@?ïÿÀ?ð?ð?ð?ð?ð?ïé@?ï~@?ïì?ð?ð?ð?ð?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ïœ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜÀ?ï·?ïLÀ?ð?îY?ð?ð?ð?ð?ð?ï—@?ð?ð?ïôÀ?ð?ï—€?ïˆ?ð?ïE?ï”?ð?ïÕ€?ð?ð?ð?î¨À?ï²?ð?ð?í?Ë,?³>?Â?ïÿ@?ð?ð?ïz€?ï•?Ô-?©˜?§È?¸Ü?ïË@?ð?ïâÀ?ïE@?ð?ð?ïÑ?íÇ€?ð?ïñ?î«?ð?ð?ïÒÀ?ð?ð?ð?ð?ïÌ€?ð?ð?ïáÀ?ï{€?ð?ð?ð?ð?ð?ïãÀ?ð?ð?ð?ð?ð?î…@?ïï@?ð?ð?ð?ð?ï€?ð?ð?ð?ð?ïm?ï߀?ïü?ïU€?ïÍ@?â@?âÀÀ?ð?ð?ïv€?ê¿À?êC@?¢,?ï±€?ïâ€?ì˜À?Ë?Ѐ?ÀÁ?¶?äN@?ïò€?ð?ïþ€?îRÀ?ð?ï£@?íæ?é½@?­4?a?°È?ÙZ€?¨T?0?Ãê?éy@?å@?ãÏÀ?ãS€?Ù߀?Òë€?Øï€?Ô ?Ä‹?æÀ?ð?ð?ð?ð?ð?è~€?k@?t`?É?Ħ?Áç?·¦?æb@?ïüÀ?îÝ?ð?éGÀ???Ÿð?È·?Üë?íÃ?ð?ð?ð?ð?ð?ïî€?ð?ð?ð?ð?ð?ð?ïúÀ?й?¼à?â@?ï¼@?ð?ð?ð?ð?ð?ð?ïðÀ?â‰À?¤D?ÝÍ€?ê‰@?ð?ð?ð?ð?ð?ð?ð?ï÷?îS@?ï‘?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ€?ð?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð??ïÍ?ð?ð?ð?ð?ð?ïø?ïÚÀ?ïü@?ð?ð?ð?ð?ð?ïú€?ï½À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜÀ?ïÜÀ?ï¹À?ð?ð?ð?ï¯?ð?ð?ð?ð?ïvÀ?ð?ïM?ð?ð?ð?ð?ð?ð?ð?ïý€?î[€?Ôb?à¡€?뢀?â•?±?{?â§@?íFÀ?ïõ€?ð?ïú?äV@?Ý¿?ºú?Ø?ð?ð?ïŸ?ï¾À?ïu€?ïØ€?ïË?ïL€?ð?ïï?ð?ïžÀ?ïÅ€?ð?ïðÀ?î¹??ïp?ï¿?ïØ@?ïçÀ?ïÕ?ïÕÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îãÀ?ï„@?ïÂ?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ïÀ€?ïW€?ð?ßi?Ò€?ð?ð?ð?ð?ï#?éä@?ïï@?ïâ@?è7€?äù@?ïþÀ?ïø@?î$À?îÌ?î±?ïÜÀ?î#@?ï €?ð?ð?ð?Ðð?ÌÐ??ð?ð?ð?ð?ð?ïû@?ïÌÀ?ð?ð?ð?ð?ð?ð?ð?ð?ìY?Œ?Üÿ?çi?8?¬$?äù@?ïk@?ð?ïøÀ?ÛJ€?F?T€?6?4?¶Â?ä¢?í;€?ð?ð?ð?ïõ@?ð?ï³€?ð?ð?ð?ð?íÀ?­ ?,?K?èhÀ?ð?ð?ð?ð?ð?ð?ð?ï9@?Ë@??܇?ïì@?ïì€?ð?ð?ð?ð?ð?ð?ð?ïÎ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é}À?ÒU?Ú|?ïV?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö?ïÝ@?ð?ïÿÀ?ï@?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¹À?ð?ð?ð?ð?ð?ï0€?ð?ð?ð?ï¹À?ï©?ïó@?ï~À?ð?ð?ð?ð?ð?ð?ð?ê„@?ÄE?v?Q€?iÀ?@?ÕÛ€?â8À?Úv?Ím?èà?æ«À?l€?Ò®?ð?ð?ï½À?îÀ?ïãÀ?ï@?ïD@?ð?ð?ð?ð?ð?ð?ð?ï’@?ïÌ€?ð?ïý@?ð?ïþÀ?ð?ïõÀ?ïü?鹿?ï¶À?ð?ï»@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï­@?ð?ð?ïÝ?ášÀ?Ù„?ïä?ð?ð?ïÖ?æëÀ?éˆ@?ÃH?½6?ÈV?è?ð?ð?îÏÀ?ïi?ð?ð?ï¶€?ï~À?ïß?îè@?ï €?Æ¥?E?—`?è¡€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¸@?ïÖ@?ð?ð?ð?ïûÀ?æÃ?M?׳€?â–€?šø?âµ€?ð?ïú€?ïäÀ?æØ?â9€?h?Y?â<€?ð?ð?ð?ð?ð?ïÜÀ?ï¹À?ï¹€?ð?ð?ð?Ý€?_€?Ôo?æ?ç–À?æé€?Ü€?ÂÞ?áÿ@?ð?ð?ð?ïÜÀ?ð?ð?ð?ð?ëe?À ?âÓ?éÌÀ?îB?ð?ð?ð?ð?ïú@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ð?ð?íê€?ï²À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïi€?è’?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï΀?ð?ð?ð?ð?ð?ð?ï^€?ïB?ï9?îûÀ?î÷@?ï€?ï€À?ï°À?ï®À?ï¿À?ï¿À?ï¿À?ï¿À?ê@?®à?«„?ékÀ?Ë??·ê?§Ä?îúÀ?ð?ïé€?ïÈ€?ï(@?ë¸@?ïï?ð?ð?ð?ð?ð?ð?ð?ïü?ï&@?ð?îVÀ?ð?ﮀ?ð?ð?ï÷À?ð?ï°@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï{@?ïø?ð?ë\@?ÌØ?ë±@?ï–€??ð?éù€?ÍÕ?gÀ?ÖO?åãÀ?ï¯@?ïé@?ð?ð?ð?ïËÀ?ð?ï®?ïÀ?ð?ð?ð?í ?á8À?ÂØ?ê"À?ïÜÀ?ð?ð?ð?ð?ð?ð?ïÜÀ?ð?ð?ïà@?ð??çÇ€?Ö€?Y??¬à?×l€?€?ÙŠ?å7@?ïû@?ð?ìð?Û:€?­ä?Þ2?ð?î'€?ð?ð?ï~€?ð?ð?ïŠÀ?ð?ð?ïõÀ?ìt?á.@?ÖP€?Ñþ€?ÊÑ?ç„€?ïÿÀ?ð?ð?ð?ð?ì§€?áuÀ?ÉN?vÀ?ª”?²„?¤¸?Û[€?îª@?ð?î}À?ïÀ?ð?ïÝ?ð?ïL@?ð?ð?æS€?K?¾”?­È?Ûy€??ð?ïú@?ð?ð?ð?ð?ð?ïÞ@?ð?ïþ?ð?ð?ð?ð?ð?ïþ€?ïþÀ?ïñ€?ïÈ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï\À?ï5?î$@?îå@?îùÀ?ïJ@?ï®?ï¡À?ï@?ï®?ï®?ï®?ï®?å\?”è?Ò¨€?ÝŸ€?b@?$?ëéÀ?ð?ïþ?ð?ð?ï)@?ð?ð?ð?ð?ð?ð?ð?ð?ð?éc?çR@?ð?ð?ð?ï$@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÆ@?ïHÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¯@?ïÜÀ?ïÚ?îÀ?ïî@?ïÙ€?ïý€?ï÷@?ïú€?ë^€?ë@?îO?ï¾€?ð?ð?ð?ð?ïá€?ïú€?ïé@?ïµ€?îa?ì€?â‡?àÖ€?Æ›?Áè?ªl?ä(À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àÕ@?H?ã§@?ïp?Ô®?v@?h?Íb?è?ð?ð?îWÀ?åö@?¹¢?~À?ì¡?ïY?ìž@?ïQ@?îA€?íñ?äI€?ÓK?Æ?Þ_€?èdÀ?Ù7?®@?Ëí?ê#€?ïx€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??íÑ€?ð?íõ?ð?ð?ð?ð?ïÞ?ð?í?ïÛ€?î.€?íÄ?ïü@?ð?ëö?Ì?€`?Ô-?æ³?æfÀ?ïZ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ?ð?ð?ð?ð?ð?ïü@??ïÝ@?ïÔ@?ïå@?ð?ð?ð?ð?ð?ð?ð?ð?îõ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?ﻀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ??ð?ð?ïÆ@?ð?ï°@?ïP@?ð?ð?ð?ï÷€?ï{À?ð?ð?ð?ð?ïqÀ?ßo?Äð?ê?ï¹€?ï³À?ï¬@?îJ@?ïP@?ï€@?îç€?ï"@?ï ?Þy€?”p?Ò®?ìÿ€?ä•À?W?ˈ?ïè€?ïä@?ï¢?ð?ï=@?ð?ð?ð?ïž?ð?ð?ð?ð?ð?ð?ð?êvÀ?ïÏ@?ð?ð?ïÎÀ?ð?ð?ð?ð?ð?ð?ïìÀ?ð?ð?ð?ð?ð?ð?ïÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï5À?ð?ïòÀ?ï]@?ð?ð?ð?ï߀?ð?ð?ï}@?ïä?ïü@?ïîÀ?ïô€?ïîÀ?ð?ð?ð?ð?ïóÀ?ï€?ð?ïÜ?ïi?ãCÀ?Û€?Ç}?T€?hÀ?íCÀ?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?é#€?’è? À?™?Ä9?ßš€?ïÒ?Ò?½ ?ç(@?ð?Ðj?͸?äA?j?â_€?ð?ð?ð?劀?Õ?Ö±?¡˜?¿$?ÏÄ?íZ@?ìÀ?ìvÀ?ì?ï €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÏ@?ì~À?ð?ð?ïŸ@?ïUÀ?ìO€?È_?žh?ØÛ?ìt€?ð?ð?ï´À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï×@?ð?ð?ð?ð?ð?ð?ïQ@?í{?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïðÀ?ï×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¶€?ï—€?ð?ð?ð?ð?î(€?ßý€?‹p?ºÆ?ëí?ï†À?îÅ@?îSÀ?ï?ïÀ€?ïÀ€?ïP€?éƒ?Óç€?n€?Ýy€?ïñ€?ïþÀ?Ï2?Ç—?î^?ð?ð?ïÛÀ?ïTÀ?îJ@?ì¬À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í@?ð?ð?ð?ð?ð?ð?ð?ïã@?ð?ïãÀ?ïã@?ð?ð?ð?ïã@?ð?ð?ï|À?ð?ð?ð?ð?ïíÀ?ï÷€?ð?ð?ð?ð??ð?ïÃÀ?ð?ð?ð?ð?ð?ïï€?ïô€?ïôÀ?ïò€?îžÀ?ïô€?ïèÀ?ïí?ð?ð?ð?ð?ïúÀ?ï)?ïù@?ïÀ?ïÆ@?̯?°?ð?ð?ð?ð?ïâÀ?ð?ð?ð?ïŠÀ?ð?ð?ð?Âx?b@?á±À?Þ[€?—?8?ê5?ïÀ?~À?åe€?äq?¨?–?†?‹À?Ý´?ïíÀ?ð?ð?ìkÀ?¸x?’?€ð?¬à?Ñ€?çN@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ð?ð?ð?ð?ð?ð?ïáÀ?ì¼?à? ?Ûõ?ï2@?ïñÀ?ï€?ïô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïjÀ?ð?ð?ï<À?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÏ€?ð?ï×€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï™@?ð?ð?ïû€?ïð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ð??ïƒÀ?ð?ð?ïšÀ?ð?ð?ð?ïÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï°@?ð?ßJ?B?Ó ?íë?ãÆ?ÉŸ?±ª?Ðd?æ“€?ïv€?ð?èÝ?– ?ÝÚ?ïáÀ?ð?à(?Ì‹?ð?ïÏ€?ð?ð?ð?ïóÀ?ï€??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÉ@?ð?ð?ð?ïÛ€?ð?ð?ð?ïÃ@?ð?ð?ð?ïz?ð?ð?ð?ð?ïšÀ?ð?ð?ïQ€?ïz?ð?ïáÀ?ïá€?ð?ð?ð?ïôÀ?ð?ð?ð?ï¨À?ïú?ïù@?ï•?ï×À?ð?ð?ð?ð?ïñ?ï¡À?ë(€?ëÕ€?í€?À?ª ?Ê×?ïð?ð?ð?ð?ð?ï…@?ð?ð?ð?ð?ïµÀ?ð?ïè€?Õ€?Æ?°?Šà?•¨?âÁ€?Ìe?v€?Ô5€?ëT@?Ã?Ž0?Þ?î,À?ð?êk€?Øi€?¯È?³è?Ñž€?Úæ€?ïÓ€?ð?ð?ð?ð?ð?ð?ð?ð?ëÀ?ïr?ð?ð?ïÚ?ð?ð?ð?ð?ð?ð?ð?ð?ïc@?ïO@?é–@?ð?ð?ð?ð?ð?ð?ð?ëz@?©?fÀ?«ü?èd?ïùÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïy?ï¿€?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï´@?ïŽ?ð?ð?ð??ð?ð?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè?ð?ï@?ÓÅ€?ÓÑ€?›È?Ѐ?×€?@?b@?á_À?ïYÀ?ð?ìÀ?Ѧ?H?S€?ç§@?ð?î«€?Èœ?µò?ïF@?îsÀ?ð?ïî?ð?ëíÀ?ïçÀ?ï¹€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ð?ð?ïÅ?ð?ïÃ@?ð?ð?ïØ€?ð?ð?ï´@?ïy?ï‰@?ïÚ?ð?ð?îF??ð?ïíÀ?ð?ð?ð?ð?ïÚ?ï3?ð?ïÚ?ð?ïÎ@?ïÍÀ?ð?ð?ð?ð?ð?ïŽÀ?ç²@?èŠ@?â8@?ÏÉ?¡,?©à?ãc?ïSÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?Ìè?žÐ?d?–à?£Ä?´(?æ…@?Ѐ?Ò1?åFÀ?êwÀ?éÜ@?ê%À?ã¢À?F?ð?Ò€?ä“€?ïw@?ïŸÀ?ï¢?ð?ï§€?ï$?ëí@?ïÛ€?ð?ëŠ?ð?ð?ð?ð?ð?ð?ð?ð?ï:€?ð?ð?ð?ïÕ€?â8@?ç@?ð?ð?íÊ@?ð?ð?ð?ð?é”À?æ«À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïãÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïd?ð?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íT@?îÔÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÚ?ï!À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ð?ð?ð?ð?í2@?¶Œ?J?€0?™?¸?êì?ïÅ€?ð?ï·?îø?ÅV?P€?¥ä?ο?ïð?ïæ@?á¾À?ÔÛ?ïÀ€?ïÚ?ï½€?ð?ð?ð?îÅ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí?ïЀ?ð?ð?ð?ð?ïþ?ð?ïÊÀ?ïáÀ?ð?ð?ï²?ð?ð?ð?ïò€?ð?ïÆ?ð?ð?ï‘?ð?ð?ð?ð?ð?ïw@?ïÚ?ð?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ï»À?ï@?äì@?äð€?éã@?À³?ÀÈ?±¢?ÈR?êU@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìå?‰€?äi?ìÀ?æ@?ë'À?à÷@?Ö,€?Ò?â›?ïÉÀ?éAÀ?ßÊ€?ßx?Ѐ?‘x?—°?Ìx?é¯?ð?ð?ð?í¶À?ìÀ?ë£@?ïÉ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?à”@?ïÕ@?ð?ð?ð?íö@?—€?ç=€?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ï}?ð?ð?ð?ð?ïá€?ð?ð?ð?ð?ð?ð?ïj?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ïf?ð?ð?ï÷@?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î™À?ê~?™H?‘˜?ÒÆ€?©ì?l@?«ì?ß“€?ᦀ?ìW€?ï„@?ïFÀ?ç0€?p?a?H?°>?ÒX€?év@?ð?íÍ@?†?f?ܱ€?ëä€?ï°@?ïá€?ð?ï9@?ï*?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïm?ð?ïóÀ?ð?ð?ð?ð?ïH@?ð?ïÕ€?ïè€?ï]@?ïËÀ?ð?ïá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï@?ð?ð?ð?ð?ï@?ïl?ð?îZ?îÛ€?ð?ïfÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïˆÀ?ï©€?ïÚ€?çè€?Ïè?×å€?­¨?Ãû?çW€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û ?<?… ?„?‚ð?Òù€?Ñ¡?q?kÀ?¯ð?Ýc?ímÀ?ïáÀ?Ïõ?>?¹?ï·€?éY€?Óy€?š ?¹$?Æo?°?´(?Þ&?ïýÀ?ð?ïíÀ?ï®?ïý@?ïÇ€?ð?ð?ð?ïçÀ?ð?ï¿?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ã À?ë­?ð?ð?ð?ð?é·À?ã €?Š?ä_@?ïÄ?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?îç@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌÀ?îÑÀ?ì €?ïú?ð?ð?ð?ïíÀ?ð?ð?ð?ïÚ?ð?ï:€?ïè?ð?ð?ð?ì&@?ïš?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá€?ð?ð?ð?ïÈ?îy?à ?á]À?ïªÀ?ë?ætÀ?Ês?R€?x ?Üi?ï ?ïÈ?ð?×j?‡?ÌI?ÈK?¹²?è/@?ð?ïÀ?ïø@?¤ˆ?ƒ?î3À?ð?ð?ð?ð?ïË?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ï.À?ð?ïíÀ?ð?ð?ð?ð?ï²@?ïçÀ?ð?ïµÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îã€?ï,?ïœ?ð?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ?ïµ@?ïáÀ?ïÓÀ?îçÀ?è9?σ?˜€?]€?çó@?ïŸ@?ét€?î ?ð?ð?ð?ð?ð?ð?í?Ë™?¢Ð?¥t?™?ÓA€?à À?ç,À?åŒ@?Ö[€?åÀ?ë'?릀?æ½@?éÝ€?ð?í¦@?ãY@?±ú??“H?à³?Çp?@?ÖC?æÄ€?´¾?}à?½4?ÇÓ?²¼?² ?Я€?Ø€?â @?îÀÀ?ð?ã9?àV?íM€?ð?ð?ï9À?âf?éB€?á÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ï¾?ð?ð?ð?ð?ï±@?ð?çÒ€?Ôù?ÇT?ך?ã/À?èJÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?ïG@?ð?ð?ð?ï±À?ïÜ€?ïÜ?ð?ð?ð?îé@?î×@?ïþÀ?ð?ð?ð?ïÚ?ä1€?äc?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¹?ï¾?î[À?ã@À?Ñí€?µŽ?µ$?æ?ï~€?ïR€?ïHÀ?ä‹€?Þ%?å2?ï"?ð?ïÃ@?ð?æ @?4?Ù3?ð?ð?ð?ïÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ð?ð?ð?ð?ð?ð?ð?ð?ïÃ@?ð?ð?ð?ï¨À?ïM@?ð?ïw?ð?ð?ð?ð?ð?î@?ïÖÀ?îÕ?ð?ð?ð?ïc?ïÁÀ?ð?ð?ð?ïÞ@?ð?ð?ïð€?ï÷?íÒ?îÈÀ?ïî€?êù?ÚØ€?—ø?’X?°–? ?Ã%?ï2@?ð?샀?ãÀ?ã€?á‹€?Óp?ºP?å”À?ff?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ô¨?–?‰??µ?­P?šà?‘(?ˆ ?¢x?Ø}€??Øq?à?¼æ?»ö?çåÀ?å0€?Ò€??å£@?ð?ïÉ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÃ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð€?ïõ?ïÍÀ?ð?ïv@?ð?ð?ïó?ïæÀ?ïÕ?ï³À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï-À?ð?ð?ð?ïçÀ?ïp€?늀?Û$?6?j?ã„@?ïC@?ïzÀ?ïx@?ä€?€p?»\?ÐÆ€?îí@?ð?ïá€?ð?ï„€?în?×2?ÉH?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìcÀ?î˜À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá€?ð?ïÚ?ï´?ïÚ?ïWÀ?ïþ€?ïçÀ?ð??ïçÀ?ð?ïû?ïŸ?î¬À?ð?íóÀ?ð?ïoÀ?ïøÀ?ð?ð?ïÌ@?îð@?ð?ïû€?ð?ïõ@?ð?ïÚ?ï“€?îî?ï×€?íÀ?Þ€?w`?Þ·?ßÖ€?‰à?2?ì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éV@?¡l?8?‰?>?°x?¯l?ÑÙ€?¥?‚ð?R?‘è?»0?“à?gÀ?Á?¤ì?è»@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÚ?ð?ð?ð?ïÛ€?ð?ð?ð?ð?ïÉÀ?ð?ð?ï½€?ï_€?ïÍ?ï-?ï¸@?ïˆÀ?ï±À?î0€?ï@?ï@?ïá€?ð?ð?ð?ð?ð?ïÉ€?ð?ð?ð?ð?ð?ð?ð?ð?ïW@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?ð?ð?ð?ð?ð?ð?ð?ï¹€?ð?ð?ïÚ?ð?îÔÀ?Ôm€?p€?ãpÀ?ïu€?ïm@?îMÀ?æUÀ?·P?ÐT?ÐÓ€?ß8?ܱ?ä¼@?ﻀ?ð?ð?ð?ïã@?ç•?Ù€?Ö$?ï7À?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï·À?ï´?ð?ð?ïçÀ?ð?ð?ð?ð?ï‰@?îñÀ?ïÇ€?ð?ï›À?ð?ï1€?ð?ïÇ?îl@?ïîÀ?ð?ï¼?ð?ð?ïÍ@?ð?ïÀ?ïœ?ïçÀ?ð?ð?ð?îmÀ?îÑ?ð?ð?ð??êF?â«€?Ÿ(?Ø,?âj@?A?`À?‚Ð?ð?æ™À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïœ?ÁÝ?w ?Î2?Ùe?ç@?ß÷€?Ëz?ƒ?J?Ý<?ìÈ?æq@?zà?°?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ïù@?ð?ð?ð?ï߀?ð?ð?ïP@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè@?ïòÀ?ð?ïÿÀ?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ïä@?ïø?ð?ð?î¸@?ïôÀ?î)@?ï@@?ð?îÀ?ð?ïþÀ?ïÿ€?ð?ð??ï–À?ïð@?ïÿÀ?îi?î¨@?í¼?ð?ï±?ï}@?ð?ð?ð?ð?ïì€?ð?îÄ€?é€?îä?ï©@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?îû€?ð?ð?ïy?îó@?îv?ï×€?ð?ð?ïÿ€?íЀ?ïÎÀ?ð?ïý€?Û€?X€? ?[?Ö?ï9À?í'@?é9?ã€?Ä ?E?¹b?æÚ@?ïù€?ð?ð?ð?ï¤@?ì–?ë?À?ïï@?ï0À?è€?Ј€?Þ€?±°?[€?åj@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÂÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ï×€?ð?ð?î @?ï³€?ð?ïõÀ?ïM?ïD?ïõÀ?ð?ï¸?î»À?ð?ð?îO?ïÃ?ïþÀ?ð?ð?ïŸ?ð?ð?ð?ð?ð?ï?ïÊ@?ï2?ð?ïô@?ïö@?ð?êô@?È ?› ?Ü?ð?í9€?åN@?è'@?è@?àÖÀ?á‚@?î À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î"€?Ø;€?«¨?0?d?ÅN?Ð)?h?¿p?ï+?ïà?ð?ð?ð?ð?ð?ð?ï¨À?ð?ð?ï·À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ïè?ð?ð?ïú?ð?ð?ïò€?ïÝ€?ð?ï÷?ïû?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå@?ïW@?ïÞÀ?ð?ïä€?ïlÀ?ïr@?ï…€?îÎ?ï@?ð?ïc?ð?ð?ð?ð?ï‹À?îÁ@?ð?ïó?ïv?ïâ?îJ?ð?ïó?ïÆÀ?ð?ð?ð?ð?ð?ð?ð?î@?ïM€?ïÊ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïUÀ?ï¿@?ð?ð?ïÄÀ?ïÖÀ?ð?ð?ð?ð?ð?ï?î @?ð??éîÀ?Ï ?R€?k€? H?΃?âR€?Ò?´ ?¨ô?ÌÓ?x?Ô ?êŒ?î}@?ëœÀ?åí€?Ôv?ܼ?í£?ï~À?Õh?Í?Ì?Â2?­H?Ó?å߀?ìY€?ð?ð?ð?ð?ð?ð?ð?ïK€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïä€?ð?ð?ð?ð?ð?ð?ïõ@?ïn?ð?î¹@?ïó?ïY?ïS€?ïæÀ?ð?ïÈ?î·€?ïO?î6À?ïð?ð?ð?ð?ï]€?ïì€?ï×@?ï¥@?ïÀ?ïëÀ?ð?ïÉ€?ïЀ?äg€?ÊE?¡@??뙀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åÊ€?¼–?¢p?ãKÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è,@?ï+?ð?ïì€?ð?ð?ð?ð?ð?ð?ð?ï€?ð?ð?ð?ð?ïù€?ð?ð?ð?ï«À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïØ@?ïÈ€?ï‚@?ïÕÀ?î€?ï?ï©À?ïj?ïy?î*À??ïæ@?ïx?ð?ð?ð?ð?ï¾À?ïïÀ?切?ïù€?ð?ð?ð?ð?ð?ïëÀ?ïëÀ?ð?ð?ð?ð?ð?ïòÀ?ïï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î@À?ïôÀ?ð?îV@?ÆÐ?Ð?Z€?‡`?˜˜?hÀ?°|?—ð?Ó*?ßÒ€?ák€?Ó˜€?ä%?ëXÀ?ìA@?Õ½€?ﺀ?Ü&€?n€?D?£?“P?ÆX?¾È?Úe€?î‡@?ï߀?ð?ð?ð?ð?ï²À?ð?ð?ð?ð?ï¼?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïoÀ?ð?ð?ð?î?ïÔ?ð?ïëÀ?ïëÀ?ïÓ@?ð?ð?ïUÀ?îÐ?ï¿@?ïb?ïé@?ð?ð?ð?ï·?ð?îâ€?ð?ð?ï¯@?ð?îRÀ?ïÿÀ?î @?ï—À?ïÕ€?ð?ê¹À?á@?@?¨è?ã*@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëMÀ?×w€?j?·|?îºÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îó?î¦?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ïÁ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓÀ?ð?ð?ð?ï¶@?ï®?ï®?ïÔ?ï}@?ïé@?ïJ€?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ïÒÀ?ïá@?ïÿ@?íâ€?îªÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?ï°€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÏ?ð?ð?ð?ð?ð?ð?ð?ð?íÊÀ?å<?ïXÀ?ï @?ãÀ?ÐÎ?Î>?uÀ?ÀÎ?ãÇÀ?î;À?ëô€?Ïy?ã1@?ë˜?Øá?Ñ´€?@?Ò“€?‡ ?J?u@?–ð?¢À?º ?åè@?ð?íâÀ?鯀?ï·?ï€?ð?ð?ð?ð??ï°€?ð?ð?ð?ð?ïp?ïO?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ïà?ð?ï·À?ïìÀ?ð?ð?ï?îÀÀ?ð?ð?ð?îÕ€?ïíÀ?ð?ð?ð?ð?ð?ð?ïÀ€?ð?ð?ð?ð?ï×€?ï£À??ð?î¸@?ìÜ?ë@?ªL?p?­t?à@?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ïùÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êS€?Ü~€?à@?Ù0?¸T?®ˆ?×Ì?ã€À?Û©€?¶¾?Þâ?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò?énÀ?ð?ð?ð?ð?ð?ð?ïëÀ?ïÜ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ€?ð?ð?ð?ïñÀ?ð?ð?ð?ï¶@?ï®?ï®?îÆ@?ð?ð?ð?ð?ð?ï­?ï€?ð?ð?ïó?ï×€?ð?ð?ð?ïö@?ïˆÀ?ï®?ï¾@?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¿À?ïÅÀ?íà@??ïÎ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÂ?ï]@?ïÙ?ð?ð?ï²@?ïù€?ð?ð?ïã?ï€?ïÛ€?íß@?ïI@?éÒ€?ïv?ín€?™¸?¾Î?®4?ßÉ€?åþ?ï«À?à°@?Òì?Ðx?>?–€?£œ?‰@?½j?ïE€?ïþÀ?ï?ït@?ï8?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï´À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÇ@?ïïÀ?ï߀?ïOÀ?î‚?ïÉ@?ïó?ï9À?îâÀ?ï×€?ð?ï§?ï@?ð?ï÷@?ð?ð?ð?ð?ð?ï^@?ï{€?ð?ð?ð?ð?ð?ïÛ?ï†@?ï@?è‚À?ÃY?Ÿð?Æ·?“P?¤$?ç,À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïè@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î/€?æ¦À?šh?Éø?í/@?ð?ð?ð?åð€?Î*?ƒ@?u ?(?èì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ð?ð?ð?ð?îþ?ð?ð?ð?ð?ï@?ð?ïèÀ?ð?ð?ð?ð?ð?ï¶@?ï®?ï®?ïç€?ð?ð?ð?ð?ð?ïí€?ï²À?ïŸ?ïö@?ïœÀ?ï¨@?ð?ð?ð?ð?ð?ïä@?ï–À?ïÙ@?ïb€?ï>€?ð?ð?ð?ð?ð?ð?ð?ð?ïð?ïÌ?ï?ï¾€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼€?ïÊ€?ð?ð?ï®À?ð?ð?ð?în@?í¶@?ð?ð?î™@?ì'€?íƒ??åN€?Ÿ?N?’È?<?Ï{?ê{€?îZ@?½>?jÀ?ç€?ð?ð?ïG@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ï¿À?ð?ð?ïx€?ï΀?ð?ð?ï €?ïõ€?îí@?ð?ð?ïæ?ð?ð?ð?ð?ï×€?ð?ð?ð?ð?ð?îµ@?Û©?œ?Œ?t ?Ö€?ð?ð?ð?ð?ï¥À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÒF?âÔ@?ð?ð?ð?ð?ð?ïþ€?ï8@?åc€?ÉÅ?ÇÖ?–`?¦P?Æ&?ž?È¿?ïÁ?ëz@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæÀ?ïù€?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í2À?îË@?ð?ð?ð?ð?ð?ï±?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ïø?ïþ@?ïþ@?ïÿ€?ð?ð?ð?ð?ð?ïÅ?ï<?ì?ï–À?ïÝÀ?ð?ïÌÀ?ð?ïˆÀ?í;À?íÀ?æ]?éÍ?ï²?î„À?ídÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ïþÀ?ïþ@?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïØ?ï¼À?ïø?ð?ð?ð?ïø?ïª@?ïä?ð?ð?ï×€?îì€?ð?ï·?ð?ð?ð?ï®À?ð?éq€?ïÀ?ìø€?ï?ì €?뤀?åÀ?Ò«???u ?ÆN?ë¡@?éO€?8?ÆÚ?ïú€?ð?çÑ€?æEÀ?ëÈÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¿À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï~€?ï°À?ï¼?ï×€?ð?ïý€?ïßÀ?îõ€?ïÛ€?î@?îê@?ð?ð?ð?ð?ï@?ð?ð?ð?ïö@?î?ð?ï²€?ð?ð?ð?ã4@?‘p?¡?ëX?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î&€?ä€?àÿÀ?Ï‘?‚`?Ô€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îäÀ?äþ€?Øe€?Ã=?µº?âw€?îŽ@?ï¨@?çc€?Øù€?Ú–€?Þ?ì¬@?ð?ëFÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï4€?ïâÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìõ€?ï&À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¿@?ð?ð?ð?ð?ð?ð?ï×€?ð?ð?ï×€?ð?ð?ð?ð?ð?ð?ð?ïÚ?ïO@?îL@?ìU?ìÓ€?îøÀ?é¹@?î•@?ë @?îÀ?íLÀ?î€?îŸ@?ï@?íàÀ?î2€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô€?ïí?ð?ïQ@?ï·?ïù€?ð?ð?ð?ïö@?ï©@?ï¿À?ï°@?ïïÀ?ð?ï¥À?ð?ïö@?ïüÀ?ð?ð?ð?ï€?î¬?í¯À?î€?ð?á@€?ç‹?ëÜÀ?Ô?j?«(?ÔÔ€?ÃO?$?å±À?ð?ç¶€?(?Â?äB€?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ð?ð?ð?ð?ð?ð?ï×€?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ëð€?ïd@?ð?î¿?ë/@?ï¬@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¿@?ð?ð?ïŸÀ?ïW??Ði€?Ê5?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é£?Ä?®H?ç‡?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï^@?îÇ€?ð?ð?ð?ð?ïÀ?ð?ð?ð?ïü@?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïØ?êb@?ëíÀ?ïÙ€?îÝ€?ï€?ð?ð?ð?ð?ð?ð?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ð?ð?ð?ð?ð?ð?ð?ïþ?ïö?ð?ð?ð?ð?ð?ð?ð?ë?ï(€?ï@€?ï®?î¤À?ﮀ?îÿ€?íá?í@?ïö€?ð?ð?ð?ïý?ïW@?âNÀ?ïDÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÍ€?ï5@?ð?ð?ð?ð?ð?ð?ð?ï÷?切?ïÁ€?ï‹À?ï‚À?îæÀ?îÖ?ïÅ€?îá@?é?í€?ﻀ?ïÿÀ?ì9€?íð@?ð?ð?ð?ïÿ€?íu€?Ö²€?¨¼?›X?4?‡P?Àõ?´„?V€?(?Ä’?ïS€?ïzÀ?¤?Ô^€?ð?ð?ð?ð?ð?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ@?îïÀ?ð?ï÷?ïü@?ð?ï¹?ï‚@?ï@?ïÎ@?ï'@?îV€?îŽÀ?ï?ï @?ï6€?ìuÀ?ç€?îe@?êLÀ?íJ€?ïùÀ?ï`À?ð?ï߀?ï @?êÉ€?í,€?ÄK?Áø?ï2?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ïÿ@?ð?ð?ð?ð?ð?ð?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïF@?îE@?ïÍ@?ð?ð?ð?ð?ð?ð?ïÿ?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì'?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëÏÀ?à+@?Õ»€?ÜO?ïþÀ?ð?ð?ð?ð?ïú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï·@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïç€?ï§€?ïÆ?ï´€?ð?îæ€?ï@?îÀ?ïÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïË?ïÀ?ïÖ@?ïË@?ð?ð?ð?ð?ï×€?ïý€?ï³À?ïÛ€?ïå?ïç?ïQÀ?î?í=@?ì@À?éÍ?ìÁ€?ìµ@?èqÀ?ìò€?ð?ð?ð?ð?ï À?ê¶@?êà€?Üg€?¿x?Z?†p?­4?çJ€?ð?΂?€ð?ë×À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ïê@?ð??ï;@?êí@?ë}?íÀ?ì!À?ꃀ?æg@?ß³?Ô³?¥ø??²°?Y?ž`?ت?í]@?å@?æb@?ïì€?ïN@?íúÀ?×c?³ê?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¾?ð?ð?ð?ð?ð?ð?ð?ïì?ïóÀ?ïð€?ð?ð?ð?ð?ð?ð?ð?í ?ïÕÀ?ð?äŠÀ?ì„@?ð?ð?ëTÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?â-@?¢?Ñ`€?ð?ïµÀ?ð?î@?ïó?ïÅ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕÀ?ð?ð?ïÕÀ?ð?ð?ð?ð?ð?ï§€?ï»À?ð?ð?ð?ð?ïÊ@?ï›@?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ïÅÀ?ð?ïú€?ïqÀ?ïê?ð?ð?ïí?ï²@?ïóÀ?ïúÀ?ð?ð?ð?ï±À?ð?ð?ð?ð?ð?ïù€?ï¾?ïÈ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÅ?î»À?ëÄ?í…€?ð?ïÖ?ð?솀?ì@?ð?ð?ð?ímÀ?ïN@?ð?ð?ïS€?ãàÀ?§¨?…?C?[?©?ágÀ?ïc€?å2@?Í…?šˆ?ê«@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ïî€?ïÓ?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ïC@?ÝÑ?Ͼ?°Æ?ÀC?Ó?È%?ä?æB@?ãï?Ö7€?‡€?»â?«ø?×I€?ï¡À?ïN?í–?Òb?€€?h?×9?ïö€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï5À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îmÀ?Ô¯€?ð?ð?懀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëÇÀ?¤ ?•ø?稀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå?ï—?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ@?ïÉ?ïæ?ïËÀ?ïÞ€?ïÞ€?ïËÀ?ïæ?ð?ïÞ@?íc@?ð?ð?ð?ð?ð?ð?ð?ê‡À?ïK€?ïH€?ïâ@?ïëÀ?ïJ?ïÕ@?ð?ð?ïÍ@?ï·?ïËÀ?ïÌ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïç?îØ@?ï³À?ð?ð?ð?ð?ïæ?ïËÀ?ïËÀ?ïÔ€?ð?ð?ï’€?ê¤@?êùÀ?ð?ð?ð?ð?ïK?åÃ@?ïˆÀ?ð?ð?ð?ð?ð?ð?ï/€?Ò ?m@?e€?R€?·€?Õó??âx@?ª?âô?ïªÀ?ïÅ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?î@?í`€?Þµ€?“°?‘¸?´î?¯¼?ÁH?”p?(?Ú÷€?ïEÀ?íá?æÞ€?…°?¾v?„Ð?| ?^?Έ?ž?’€?ß”€?îìÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å¿?ç>?íµÀ?å8€?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ù ?ÍF?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ïõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï“@?ï›@?ïì?ïò@?ï®?ïÂÀ?ð?ð?ð?ð?ð?ð?ïÀ?ð?ï'€?ï¾À?î€?ð?ïÁÀ?ïú€?ïü€?ïá@?ð?ð?ð?ïÙ@?ï­@?ï«€?ï»À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ï®?ï×?ð?ð?ð?ð?ï×?ï®?ï®?ï»À?ð?ïÕÀ?ð?ð?ï>?ð?ð?ð?ð?ð?íB?ð?ð?ð?ð?ð?ð?ð?ê@?»j?¥À?ÅY??pà?q`?¹?@?æºÀ?ï³@?Ô€?\?ØÊ?ïï€?ð?ð?ð?ð?ð?ð??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï•À?î@?Ýr€?¦ü?×¼?ïò€?î0€?î0@?Â?¯8?®4?Òœ?Ê@?²Š?¼Š?С€??Àj?åÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ð?ð?ð?ð?Ýv€?Ø%€?®ô?â?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëÀ?±h?Z?T?žÈ?ÖÔ€?䪀?ï¦À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïàÀ?ïâÀ?ïø@?ïþ?ïô@?ïú@?ð?ð?ïô@?ï¹À?ï¹À?ï¼@?ï½€?ïÅ€?ð?ð?ð?ð?ïü€?ïÚÀ?ïÍ?ïËÀ?ïø?îô€?ìù€?ï€?ïñ?ï¼?ï»À?ð?ð?ð?ð?ïå?ð?ï÷€?ïÞ@?ïÅ€?ï·À?ï®?ïÒÀ?ïÄ€?ïø@?ð?ð?ïú@?ïô@?ïô@?ïö@?ð?ð?ð?ð?ð?ð?ð?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç%€?»R?@?[?¶?z ?±ð?Ýÿ€?êuÀ?ð?æŽ?Ÿ¨?`?ÍM?ìÅ?ïR@?ð?ð?ð?ð?ð?ð?ï¡?ð?ð?ð?ð?ð?ð?ð?ïñ@?ð?ð?ð?ð?ð?à@?ƒÀ?Ю€?î€?î?î`€?Ù×€?³Ì?¢ø?¯?€P?Öÿ€?˜x?ÐÄ?ë?ï·?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕÀ?ð?ð?ð?ê7@? à?­˜?ìW€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?躀?½?L?Ý?횀?ð?ð?ð?í=@?åM@?í:€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù?ð?ïÞ@?ð?ð?ð?ð?ð?ïÊ?ð?ð?ð?ð?ïëÀ?ïÿÀ?ð?ð?ð?ïó€?ï´@?ï´@?ï´€?ï±@?ïÀ?ïùÀ?ïý?ð?ð?ïÿ€?ïí@?ïÎ@?ïû€?ï>À?îÀ?ïû€?ïï?ïñ€?ïŸ?ï-€?ð?ð?ð?ð?ð?ð?ð?ð?ïÁ?ï´@?ï´@?ïÇ€?ïÇ@?ï÷€?ð?ð?ïý?ïùÀ?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå?ð?ð?ð?ð?îÙ@?Õ=€?а?†? t?k?‰`?ÎÓ?ë«?ïû€?ð?áÜ?}`?Üb?í¹€?ð?ð?ð?ð?ð?ð?ïÄ?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ð?ð?ð?ð?ï€?É?´ª?î€?ïNÀ?êè€?çc@? ?zà?“°?R?(?dÀ?è^À?ï¦À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?È7?Ðz€?ï»?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê‹@?•X?ÃR?Þ??柀?á?×?±ð?Û²€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï,À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ïõ?ïÙ?ð?ð?ð?ð?ïü?ï´@?ð?ïÊ?ïg@?ïœÀ?ï×?ð?ð?ïÖ?íÞ@?î«?ï«À?îÀÀ?ïЀ?ï×€?ï?í¡?îêÀ?îí@?ð?ð?ð?ð?ïh?ð?ð?ð?ð?ð?ïÈ@?ð?ð?ð?ð?ð?ï×?ï®?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕÀ?í(?Ü´€?Ð?À? ?Á8?´â?…ð?¡À?Öi?ì&À?ïŽÀ?Úœ?Ñ2?êªÀ?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïP@?ð?ï?»î?Öþ?ï<€?ê(?ícÀ?ºX?@?ÍU?ÄC?È[?£l?˜€?Ù ?ï¼€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å@?G?ä"À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îiÀ?Òâ€?Ñ?ÁÏ?d@?“¨?Ž?® ?Ù|€?É?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ð?ð?ïÑ?ïÎ@?ïü?ïù@?ï¾@?ï¼@?ïÕÀ?ð?ð?ð?ð?ð?ï¿À?ï—À?ï0?î…?íä@?ï=€?ï¸À?ïcÀ?ïã@?ð?ïð?ïø?ï›@?îï?îÉ€?ï=@?ï9?ð?ð?ð?ïˆ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝÀ?ï®?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìä@?²?lÀ?W?<?Š`?À?·˜?~@?±ð?æÖ@?ìÊ€?­D?çL?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïEÀ?ð?ïö?ÚZ?6?ç^€?ïá?î9À?¥ð?Y€?P?Èo? t?ã€?ïó@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔ€?ÌÀ?Â,?ìl?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ùß?éÜÀ?Úš?R€? ?´¬?èjÀ?Ú°?†?ÈQ?Ûp€?â+?çTÀ?ê7@?ìÌ?ð?ð?ïâÀ?ïÿ€?ì’€?ìÍ@?îJÀ?ëŠ@?æz@?éç€?ð?ð?ï?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÆ@?ï³€?ïö€?ð?ð?ï±À?î¯?ïЀ?ð?ð?ïã€?ð?ï$À?îä?ï À?ïo?ïN?ï×€?ð?ï´?ï÷€?ð?ï»@?ï»À?ð?ð?ð?ð?ïå?îò€?ïj?îÓÀ??ïa€?ð?ð?ð?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ€?ï®?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï €?ã=@?´†?Y?ˆ€?H?o@?[€?eÀ?F?Õ“?ïø?ÕÏ€?Q€?×?ëN@?ð?ð?ð?ð?ð?ï¼€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?샀?Óz?£¬?éÌ@?ææ@?(?ð?§ø??¯¨?Šð?ÀÖ?ïh€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç<?^?àe@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì.À?ë-?ÝE?\€?`?B?t ?¹ô?èÎÀ?ð?à €?¢À?Í)?ÐÃ?ºt?±þ?¢˜?à? D?m@?ÐÞ€?íX?ï€?ï6?ïä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ?ïšÀ?ïº@?ïù@?ð?ïèÀ?ïh?ï‡À?ïëÀ?ð?ð?ð?ð?ð?ð?ï¼@?ïGÀ?ï˜?ð?ï´?ï÷€?ïï?î¿€?ï½@?ð?ð?ð?ð?ï¯À?ïZÀ?ï)?îZÀ?îDÀ?ïÚ€?ð?ð?ð?ð?ð?ð?ð?íØ?ïÃ@?ð?ð?ð?ð?ð?ð?ð?ïÛ@?ï¼€?ïö€?ð?ð?ïÜ€?ïÖÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä?´î?B?s@?æ?áæ€?Z?´®?uà?V?ÚY?ð?ë2@?±?¡À?ç?ïëÀ?ïò€?ð?ð?ïì@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å€?X?@?ÃÞ?¶À?V?n€?×?³N?‡P?·:?Ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ@?ïôÀ?ð?ð?ï>@?˼?>?´ü?ê€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ì€?ÂÅ?Ÿ?¯?½È?Ć?å%€?ð?ð?ï×@?Ô.?œ?ê?ïÚÀ?íÃ?ïu@?ð?ð?ð?ð?ð?ð?ð?ïõ@?ﻀ?ð?ë½€?ïî@?ð?ð?ð??ﻀ?ïÂ?ïž@?ð?ïÇ€?ï@?ïÍ@?ï|@?ïUÀ?ïi@?ð?ð?ð?ð?ð?ð?ð?ð?ïÅÀ?ïó@?ïd?ð?ï@?ð?ïÓ?ð?ð?ð?ð?ïÄÀ?ïµ@?ï<?î“?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ@?í†@?ð?ð?ð?ð?ð?ð?ð?ð?ïæ@?ïÆ@?ïé@?ð?ð?ð?ïû@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?áNÀ?¿J?ÀÇ?î(€?î¯À?°F?‹°?½@?º?‡?t ?p`?6?T?ÉÅ?çs@?è-@?Ç?§`?ÀÊ?çw@?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç­€??Z?† ?µÌ?r??c@?Ô”€?Ðæ?‰0?£?¤È?¶¶??B?‹?à¢@?ïô€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŠÀ?ïËÀ?ð?ð?ð?æ@?‘H?‰€?Û*?ïö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìcÀ?é"À?ïh@?í?íÙ@?ð?ð?ð?ð?î~€?àºÀ?в?® ?ÏÌ?ãô€?ì*€?ë·À?îZ@?ïá?ïý@?ð?ð?ð?ïÍ@?ïÃÀ?ï³?ï÷@?ð?ïîÀ?ïÓ?ïì?ð?ïßÀ?ð?ïõ?ï÷€?ð?ïéÀ?呂?ïáÀ?íÝ?ð?ð?ð?ïà@?ï¢?ï˜??ïö?ð?ð?ïhÀ?îhÀ?íß@?ïÀ?ð?ð?ð?ð?ð?ð?ð?ïÆÀ?ï§€?íöÀ?ïÏ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï´@?ï×À?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ïðÀ?ïú?ð?ð?ð?ð?ð?ð?ð?ð?ï°@??ð?ð?ð?îí@?áâ€?š?o@?—¸?äX?ï½À?äUÀ?ƒ ?q ?ß’€?îÎÀ?ו€?B?‘?ä À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ïþÀ?åä@?S?>?…€?ÖN€?q`?–?¬¸?¡Ø?¢Ø?¦Œ?áf@?ïç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïB?ï¹@?ð?ð?ð?ç”À?|à?v ?ç›À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïòÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï1€?ÏÐ?‰ ?ã €?ð?ð?ï§À?ïÜÀ?ïÑÀ?ð?ð?ï«€?ïžÀ?ïÆ€?ïéÀ?ð?ïõ@?ïÂ@?ïë@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïË?ï®À?ﮀ?ïu@?ïò@?ð?ð?ð?ð?íT?ëH€?ïû?ð?ð?ð?ð?ð?ð?ïÎ?ïy@?ï@?ïÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïy?ïÓ?ð?ïï@?ï–@?呂?ð?ð?ð?ð?ëÖ?ÇI?w?‘h?±?ëü€?ïº?Ù„€?Úî€?ì?pà?£l?èd?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æz?g@?µÆ?Ð1?ÅÅ?Àû?±f?‡@?A?,??±(?¹$?£Ô?À?Áã?íÀ?ïÆÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïû?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?îõ€?ï?ð?ð?ð?ð?ï§€?ß®?• ?ÌË?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ð?ð?ïü@?ïû?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í,€?Ê=?f@?Ò•€?Ú±?å}?ð?ð?ï¢?ð?îæÀ??ïú€?ïþÀ?ð?ïø@?ïë€?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïåÀ?ïË@?ï«À?ï¾€?ïê@?ð?ð?ð?ïãÀ?îÑ@?ås@?æª?ë¿?íp?ð?ð?ð?ð?ïýÀ?ï÷À?ïùÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïãÀ?ï¶?çªÀ?ì—@?å×€?Þú?Ö"€?ºÆ?oÀ?ç„?ê?€?©L?¤ð?¹,?žX?çôÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÏÀ?ã@?T?®ˆ?àƒ@?릀?噀?ä€À?ìŸÀ?ïÌÀ?í…@?æÇ?ÃI?¸^?¡x?? ü?¾N?±?àÛÀ?ïÿÀ?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îöÀ?ïæÀ?ð?ð?ð?ð?ð?ð?ð?æ»?›˜?½p?ï÷€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ïý€?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç¬?â’?í£?ð?ïü?ïôÀ?î‹€?èu?ï…€?ï˜?ïöÀ?ð?ð?ïæÀ?ï™À?ï”À?ð?ð?ð?ð?ï÷€?ð?ð?ïÓ?︀?ð?ð?ð?ð?ïí@?ïË@?ïÇÀ?ï·€?ïðÀ?îù@?ëî@?êÄ?ë7€?é"?å4?ÊI?ÕY€?ïÿ?ð?ð?ð?ð?ð?ð?îÂÀ?ð?ð?ð?ð?ð?ð?ïõÀ?ïä@?ïîÀ?ïô@?ð?ð?ð?ð?ð?ïþ€?ð?ð?ð?ð?ð?ïö?ð?ð?ð?ð?ð?ð??éC?Óú€?Óm?v?±$?ÙO€? $?Ÿ`?ÐG?ÂÅ?Óï€?ï£@?ð?ð?ð?ð?ð?ð?ð?ð?ïW?ïôÀ?ð?îaÀ?à¬À?W€?4?N?2?_?žð?áÂÀ?ã«À?Ñ3€?²î?½"?Þð?å^?é÷?ð?í¡€?é*@?áÀ€?Ä•?”¸?<?³J?‚Ð?°Ú?™X??Õ€?î™?ï¬?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÊ@?鹿?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ç ?®T?îÊ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï'@?È]?«Ü?çIÀ?ð?ïé@?ï°€?í @?Ú3?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¤@?ïÀ?ð?ð?ð?ð?ð?ïÜ€?ïå?ð?ïï?ïØÀ?ïß@?ïÝÀ?æ—€?Öé€?Ñè?ÔÑ€?Ê?³ä?¨´?À¾?ï@?ð?ð?ð?ð?ð?ð?ïL€?ð?ð?ð?ð?ð?ð?ïÄÀ?ï¤@?ï«À?ï»À?ð?ð?ð?ð?ð?ïÁ€?ð?ð?ð?ïÄ€?ç–À?Û&?åÌ?çx€?ïX@?í'€?ç?×¶€?Ñ\€?¬@?w€?S€?£˜?„à?w€?×€?–0?¤?±`?®à?ì¹À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?Â8?,?ƒ@?Á5?Ù½?ÕŸ?ל?¢0?¦´?²2?H?ÁÍ?âŒ@?À?–0?•Ø?×Y€?â€?åî?ïì€?Ꚁ?מ?‚?¥d?x?·?´ ?iÀ?8?åÿ@?ð?ïÄ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âU?X€?çÐÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïVÀ?Êã?¦È?æ’?ïö?éi?Òí?Ï)?ïö@?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ï¤@?ï¾?ð?ð?ð?ð?ð?ð?ï£@?ð?ïÖ?ï®À?ï˜@?ìí?§è?åõÀ?ð?ð?ð?ð?ð?ð?ïü€?ð?ïñ?ïä?ð?ð?ð?ïÜ?ïÎ@?ïÎ@?ïÖ€?ð?ð?ð?ð?ð?ð?ïÿÀ?ïn?ì @?àQ? Ä?…À?Ý<€?èÝ?¸?V€?È?©8?«X?Ò£?Ñr€?x ?(?“?ƒp?êr@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ý€?và?4?´X?æö@?î¦À?ïØÀ?ð?ïõ€?ï‡À?Å’??p?¢ ?³X?ë À?ð?ïº?ìx?ãŠ?¬,?Á¶?ÍÓ??m@?$?y@?å À?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äªÀ?¿:?ëR?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èˆÀ?ár?¸(?H?¸„?v ?§¤?îõ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¸?ïÜ?ð?ð?ð?ð?ð?í£€?ïYÀ?î²€?æ·@?£ü?³œ?éy@?ð?ð?ð?ïØ@?ð?ð?îÞ€?ïÇÀ?ïÂÀ?ð?ð?ð?ïÕ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ì<@?»?€p?Ì¡?è³@?„?r€?³h?x?Îv?°Â?Æ:?ëŽ?ð?ð?î~@?ë?À?ð?ïs€?ï)@?ð?ð?ð?ð?ð?ð?í@?Áó?Ô¬€?ð?ð?ð?ð?ïè@?æDÀ?²H?©?À?Äî?çŽÀ?ð?ï2À?í@?æ$?¾È?(?°F?æJÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞÀ?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïúÀ?ð?ð?ð?ð?ð?ð?å6@?x?ßL?ïá@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Í¢?…`?ÏN?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ïÍÀ?ï™À?ð?ð?ð?ð?ð?ð?ð?ð?ïo€?èÑ@?ãF€?½~?À•?â À?ï€?ð?ïÏ€?ð?ð?ð?ïé?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÂ@?Éö?e?<?U??Ãé?àô€?åO@?áûÀ?gÀ?f@??唀?áb€?a?°°?ì­€?ð?ð?ïX@?ì£@?ð?ïá€?íW?ïµÀ?ð?ïÓ?ð?ð?ð?ð?ë @?£ä?ÝŒ?ð?ð?ï³?ð?í$@?ªÈ?O?š ?Ó/?â?ݦ€?ÝS?â…€?ØÂ?ÄÑ?”ø?Ýk€?Ú„€?Ä?Ø/?ØS?·Š?À?Ù €?ï‚À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙÀ?ïú@?ð?ð?ð?ð?ð?ïÉ?ïó@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï=€?ï¬À?ð?ð?ð?ð?ð?éhÀ?~?o?dÀ?ƒ ?æKÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÆÏ?Âà?ï±À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ï®?ï°€?ð?ð?ð?ð?ð?ð?ð?ð?ä™@?­d?Ág?ë`@?ð?ï…@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?â‹€?ÉÇ?ìÿ€?ï'?ð?Öï?H?r€?Ám?£ø?I?P?8?æË@?çµÀ?¶~?ɦ?ë]?ïü?ð?ð?ð?ï0@?ð?ð?ð?ð?ð?ð?ïÐÀ?ïð@?ð?×.?¦ˆ?ë8?ð?ð?ð?ï}?èYÀ?•(?™`?¥à?Q€?b€?¶†?ì@?ð?ð?ð?ïy@?ßÜ?À?Y?â­@?ïŠ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé€?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï×?ð?ð?ð?ð?ð?ïrÀ?Ô??e€?˜(?Ñæ€?ïÞÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å?Ô'?´(?™@?ìj€?ïÓ?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ï¨@?ï–À?ð?ð?ð?ð?ð?ð?ð?éÅ@?¢L?·†?ØU€?ï?ïÛÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ï÷?ð?ð?ð?ð?Ýi€?Ô©?ð?ð?黀?`?€?ÄŽ?¬?´f?‹?Àb?A?p?Ö€?î¢@?ð?ð?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?íº@?Ô‰?Äœ??®?̨?¾¤?èAÀ?ð?ïøÀ?ïì@?ïò€?êH€?äP?Š`?$?eÀ?Å ?°4?Çw?àÈÀ?ïÀ?ïÓ?ð?ð?ïÓ@?ì€?â'@?w€?gÀ?T€?ް?П€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ïþ€?ð?ð?ð?ð?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?àñ€?—°?J?— ?æ_À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¢@?³ê?é=?ïÜ?ð?ð?ð?ð?ð?ð?ð?ï€?ïøÀ?ï–??ð?ïç€?ð?ð?ð?ð?æC@?¸>?c@?æ±À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îd€?Ô€€?š?Õ߀?Û%?©P?Ìÿ?ïö?é÷?ãå@?@?˜X? ?Ñ=€?æã@?îŸÀ?ïÓÀ?ð?ð?ð?ð?ð?ð?ð?ð?î'€?ïÀ?îŸ?ïÀ?ܹ?ߨ€?è/À?è˜?êù?ëæ€?ï™À?ïâ€?ïõ@?ï¼€?ïÙÀ?æLÀ?Ån?à?Ø×€?í8@?é>€?Øt€?@?cÀ?Ú¶?ä²?ßþ€?áÊ€?ãî?ía@?Ûx€?à¤@?Ëâ?Ë3?Üî€?”?ŠÀ?ì”@?í?â6@?²°?ºp?€?¨Ä?(?¦P?ïÑ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïà€?ïøÀ?ð?ð?ð?ïü?ïø@?ð?ð?ïü?ïü?ð?ïøÀ?ïý@?ð?ð?ð?ð?ïü?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û&€?º ?è@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëæÀ?ÆS?º ?àq?ð?ð?ïÓ?ð?ð?ð?ð?ð?ð?ïû€?ïœ@?ï’@?ð?ïЀ?ð?ð?ï·À?á–?}`?ÞÞ€?ð?ï¸?ð?ïýÀ?ð?ð?ð?ð?ð?ïý@?ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëˆÀ?§ð?ÜW?ð?ïúÀ?æf€?g€?F?œ@?ϳ?ì¥À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÇÀ?îy?ï°@?ïZ€?î¯À?îë?í`€?îö?ï”?ïè?ïç?îßÀ?ä €?§„?J?Q€?Ål?ͪ?•?o?Ôà€?$?,?Ÿ€?£d?{ ?$?±8?R?”X?rà? 8?«´?ïï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ïþÀ?ð?ïù@?ïÿ€?ïâ@?ð?ð?ïp?ïÞÀ?ð?ð?ð?ð?ïÿ€?ïò?ð?ïüÀ?ïüÀ?ð?ïÿ?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ð?ïtÀ?ï…?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë]?tÀ?°?Èh?ï%€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ê?æÖÀ?àVÀ?Ò0?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?ï€@?ïÀ?ð?ïî€?ï¡@?íA?È??âQ?ð?ð?ð?ê=À?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ?ð?ï¦?ð?ð?ð?ïÿ?æÙÀ?˜8? ?b?Ú¨?ð?ïÀ?ï@?ÇÙ?W€?6?±F?Ýü?éÕ?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïôÀ?ïÞ@?ð?ïû€?ï\€?î³€?ïz?î£@?ï½?ïã?â4€?¦˜?6?`?’°?¦ˆ?±¬?Ép?®P?cÀ?×E€?ïý€?ïr@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ïÙ€?ïª?ïüÀ?ïÃÀ?îÀ@?ïÀ?ï?ï'?ïøÀ?ð?ð?ð?ð?ð?ïü?ïû?ïö€?ïóÀ?ïü?ïþ@?ïó@?ïôÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö?ïÝÀ?ïë@?ïöÀ?ð?ïÔ€?î9?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?Âc?—°?T€?±†?ÄW?ãB?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìà€?à)€?ÉW?Z€?À$?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íñÀ?ëOÀ?áŽÀ??€?ê~?ïúÀ?ð?ë”?Õ­?àF?ï΀?ð?ð?ð?ð?ð?ð?ð?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ç3@?¸0??Y?e@?f€?²’?ã ?ð?ïÓ€?ìÌ@?¥8?ƒÐ?@? ?Î?áD€?î•€?ð?ð?ð?ð?ïHÀ?íºÀ?îó@?ð?ð?ð?ïþ@?ïµ@?ïÀ?í„?ï«€?ð?ïü?ÙÞ€?e€?£À?¥ ?œ¸?§\?¾?iÀ??ª¨?¶ä?²„?kÀ?çkÀ?íïÀ?îS?î®À?îàÀ?ïû@?ïý@?ð?ð?ð?ð?ð?ð?ï÷€?ïÿ@?ïÜ?ïø€?ïþ@?ð?ð?ð?ï;À?êR@?îMÀ?ïA€?ïî?ïå?ïø?ïºÀ?ïC@?ïÚ?ïù@?ð?ð?ð?ð?ïî€?ð?ïñ@?ïô?ð?ïÿ?ïí€?ïó€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ïúÀ?ð?ïð€?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øô€?Äß? ?0?2?“¸?Û?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ؘ€?A?é´À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë¸?åÊ€?˜?™?ã3?éÐÀ?ä @? h?§„?íM@?ð?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ?ð?ð?ð?ð?ìÿ€?»4?\?M?F?Ý¥€?èè@?ð?êªÀ?É?U?¤?ÚÓ?äè@?îæÀ?îÀ?ä%@?Ĩ?À£?Ü™€?îÆ€?ïè?ïÎ@??ï*À?îöÀ?ïÞÀ?ð?å €?Áü?ÍÖ?Á¨?Áy?Ô¸?Îý?Ò¿?¾°?U?C?Æ1?•?¹?®t?„à?ëT?í”?ð?ð?ïr@?îó@?ïù@?ð?ð?ð?ð?ð?ð?ï÷€?ïõ?ð?ïîÀ?ïýÀ?ð?ð?ð?ïØÀ?íî€?î5À?íí?ð?ð?ð?ïúÀ?ï÷@?ï2À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïoÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëó?ÖÛ€?ÆŒ?„ð?w ? ?ãq@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€?á]?º?Ñ€?ð?ð?ð?ïyÀ?î±€?ð?ð?ð?ð?ïÓ??¶¶?‚?~à?“¨?çÚÀ?ð?ð?ð?ïŒ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï»?ð?ð?ð?ð?ç¬?¥|??Ðá€?ð?ð?à§?$? ?0?©(?ªÄ?:??ÌK?ì€?ï§@?ï¼À?ïÈÀ?ð?ð?í?ím??ï~?ð?ð?î3?í¬€?ï:À?éQÀ?н?­P?z`?Ép??:?®0?´2?Ñ–?ïK€?ïý€?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï©?îVÀ?ï;?ð?ð?ð?ð?ð?ïû@?ï7?ïŸ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ïå?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïo?ï–@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í\@?æ\À?½¨?‰0?ÊÈ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê¶@?áw€?Ê)?‘°?‡À?è¸@?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ?ì]À?wÀ?e€?ãDÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïL@?ð?ð?ð?ð?ð?Ð1€?\€?¦ ?ê-€?ë>À?å`@?ÎÖ?è?¨h?ÄJ?íhÀ?ïõ?îë?ð?ð?ð?ð?ïñÀ?ïGÀ?ïú@?ïÚ@?ïj?ïV€?ïÀ?ð?ïºÀ?Ûx€?k€?¾?²?¤ô?»â?ÊJ?Ÿ ?Â`?ìÖ?ð?ð?ð?ð?ïÿ@?ïöÀ?ð?ð?ð?ïüÀ?ïÛ€?ïò?ð?ð?ð?ð?ð?ð?ïþ€?ïþÀ?ð?ð?ïÜ?ð?ð?ð?ð?ð?ð?ð?ïüÀ?îÇÀ?ï´?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ€?ïÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïe?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí@?îßÀ?îú@?Çð?£$?î@?ð?ð?ð?ð?ð?ð?ð?ïó€?ïé@?à‡@?wÀ?Ë.?ð?ð?ð?ð?ð?ð?ð?ð?ð?î·€?š?k@?Ó!?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï^?ð?ð?ð?ð?ð?áÂ?Æ“?äê@?è6À?¿ê?ݰ€?»F?t€?œ0?˜¸?Á?隀?ð?ð?ð?ï´?ð?ð?ð?ïï@?ï:€?îã€?ð?ð?ð?ïh@?ÝA?„0?›À?¸?U€?äM?ﮀ?ð?ð?ð?ïþ€?ïý?ð?ð?ð?ïÿ@?ïêÀ?ïçÀ?ð?ïã€?ïü?ð?ð?ð?ïÍ?ï½À?ïe?ð?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ïù?î—€?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ïé€?ßm?èµÀ?ï/€?ïx?ð?ð?ð?ð?ð?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã@?ï%À?ð?ï¼?ïÿ?ïÿ?ð?ïû?ïýÀ?ð?ð?ð?ð?ð?ð?ï´@?ï÷À?ìÜÀ?Òp€?³>?äã€?ð?ð?ð?ð?ð?ïl@?èJÀ?Én?° ?“ð?éÍ€?ï´?ïÑ€?ï½€?ð?ð?ð?ð?ð?îÖ@?¸"?›H?‚ ??$?½È?êb€?ð?ð?ïN€?èÈ?ïƒ@?ð?ð?ð?ð?ð?ð?ð?ï§?ïôÀ?ð?ð?ð?ð?çž@?”@?Â?Û?€?Üø€?Þ €?ã6?æ¦À?Ù?Õ«€?•€?§ô?€?È“?б?å À?î|À?ïT€?ïÓ?ïþ?ïþ?ï÷€?ïü€?ð?ð?ð?í¤?²0?>?Ð&€?ëÆ@?Ý}?›8?À†?Àã?î¡?ï{€?ð?ð?ð?ð?ð?ð?ïÙ€?ï‘€?îï@?ïT?ð?ïý?ïÿ€?ð?ð?ð?ïš@?íôÀ?ï9€?îa?ï÷?ïù€?ð?ïÿÀ?ïúÀ?ð?ð?ð?ð?ïë@?ï±€?ïÏ?ïé@?ï÷@?ð?ð?ð?ð?ð?ð?ïñ€?ïøÀ?ð?ð?ð?ð?ïëÀ?ï×€?ïëÀ?ïæ@?ð?é^?ÉÛ?ÓÈ?àÞ€?ïý@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïLÀ?ð?ïê?ïùÀ?ïùÀ?ð?ð?ïü@?ïüÀ?ð?ð?ð?ð?ð?ð?ï!€?ð?ìÿ?Òš€?àþ?ð?ð?îwÀ?ÞG€?Æÿ?·p?ãŸÀ?ïº@?ïÕ@?ð?ïúÀ?ïÞ@?ïë€?ïô?ð?ð?Ѻ€?Óa€?šP?@?Q€?Ú‘€?ð?ð?Ø9€?º&?ïÇÀ?ð?ð?ð?îbÀ?ç À?ð?ð?ï–À?ð?ð?ð?ð?ð?êÃ@?m€?Æ–?ë@?Ô8?Ìã?Æm?Ù,€?å€?´d?µL?q ?“H?ÔF€?àË@?Û²€?ë„À?ð?ð?ð?ð?ïÓ€?í€?P?sÀ?Â<?â˜@?Ö|?¾8?À™?$?ÔU€?ë€?î©À?ð?ð?ð?ð?ð?ð?ï}?ï­€?îÙ@??ïøÀ?ð?ð?ð?ð?ï €?ï¾À?ïj€?ï=@?ïÌ@?ð?ï“@?ð?ïý€?ïÕÀ?ïøÀ?ð?ð?ð?ð?ð?ï=?îÓ@?ïÄÀ?ð?ð?ð?ïüÀ?ïü?ïù€?ï„À?ïÍ?ð?ð?ð?﯀?îýÀ?ï½?ïà@?ïí@?ð?ð?âl@?í‚À?ïnÀ?ð?ð?ïó€?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïO€?ð?ð?ð?ð?ð?ð?ïØ@?ïð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€?×â?ÝË?×@€?ÄÔ?6?Õ?à7?¹h?ÓF€?ð?ð?ïBÀ?ï×€?ï‘?ï €?ï°À?ð??·z?ض€?_€?¬ô?Ô¾€?ð?ð?Ðû?ºÊ?ß±€?áQ@?îó€?ð?ð?èÚÀ?ì7@?ïý€?ïÀ?ïÎ?ð?ð?ð?ð?éö@?—ˆ?W€?[?ä À?Þ˜€?É“?»?ÇM?ÖA?ÕZ?×.€?µr?¯ ?ça€?î?ï€?ð?ð?ïÿ€?ë?—X?r?Í­?áÀ?Û½€?·®?…ð?¨<?‚À?¢p?Ó€?î€?í€?ïÇÀ?ð?ð?ð?ð?ð?ïùÀ?ï§?ïÒ?ï?ïÙ@?ïöÀ?ð?ð?ð?ð?ð?ïøÀ?ïøÀ?ð?ð?ð?ð?ð?ïùÀ?ð?ð?ïþ@?ð?ï÷€?ð?ïù?ïBÀ?ï3€?ïÿ€?ð?ïñ€?ð?ð?ïû@?ï«À?ïÔÀ?ð?ð?ð?ïd@?ïËÀ?ïÉ€?ïìÀ?ïå€?ïøÀ?ð?ð?ð?ï9€?ïï€?ïç?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâ@?Þs?èÔÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïó?à!? ?Ç•?ºà?[? ?”P?œ?¦„?@?èÅÀ?ïçÀ?ïã?ïÀ?î¾€?ït€?ï‘?ïƒ@?â±@?G?‡?ÔØ?™à?e€?} ?Á?Ö €?ïöÀ?ïÀ@?Ã?Ôó?ì9?ð?ð?ïÎ?ï)À?îÝ@?ð?ð?ð?ð?ð?埀??Ð`?Ȧ?³Ê?¼N?Ìõ?¤\?Ð"€?ß??ÑV€?ìÎÀ?à?ŽÐ?ã?ènÀ?燀?ïö?ï£@?æÆÀ? ?…?Ñ4€?æ´?êÓ?•?ˆ?ÍW?­œ?®D?°?]?„€?‚?f€?˜è?(?¹?u ?Ð?â#€?í?ìá?ð?ïí?ïæ?ïå?ïç€?ïà?ïÑÀ?ï‘€?ï±?ïà@?ïí?ð?ïÓ?ð?ïú€?ïñ€?ïØ?ïå€?ïþÀ?ïü€?ð?ð?ð?ïî?ïø€?ïíÀ?ïÝ?ð?ïä€?ð?ð?ð?ïæ@?ïu@?ï«€?ð?ð?ð?ïüÀ?ïÆ€?ïÀÀ?ïò€?ð?ð?ïÝ€?ïÀ@?ïÎ@?ï§@?ïÁ?ïîÀ?ð?ð?ð?îô€?ïÌÀ?ﻀ?ïï@?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔÀ?ð?ð?ð?ð?ï@?ï?ð?ð?ð?ð?ð?ð?îÌ@?ïyÀ?èÛÀ?×R€?8?±€?´À?Ò®?áqÀ?î{?Ý€?Z?¿ò?í†@??ï‘@?ï|€?ïxÀ?ï>€?ï@?Öç€?¡0?Å?M?y@?®@?Ó€?î™@?å–@?6?¦„?Ûw?ð?ð?ïê€?í!€?ïÓ?ð?ð?ð?ð?ïR€?Ø\€?F?§´?³‚??‚ ?J?àú@?ç@?Ò¯?¡ ?Ù(€?ãžÀ?å€?8?d@?$?¨¼?ãÕÀ?Â,?ã@€?ïT€?⤀?¶X?²Â?Ôå?ìÕ@?æîÀ?¾„?›?Ó?áM?Û’€?Äy?6?w ?† ?w ?~ ?C?Q€?]?«X?$?Ão?Ë^?ìgÀ?ð?ïæ?ï°€?ï¯?ï³?ïÈ?ï¨À?ï½€?﯀?ï¿€?ï©À?ð?ð?ð?ïÅ€?ïæÀ?ïÝÀ?ïÌ@?ïÁ€?ïÙ@?ð?ð?ïÿ@?ïã?ïäÀ?ïÄ@?ï×?ï¤?ïÞ€?ð?ð?ð?ð?ïø?ï%?ïØ?ð?ð?ïþ?ïÞ@?ïá?ïÞÀ?ïï?ð?ï¿€?îð@?îô?ïV€?ïÃÀ?ïò@?ð?ð?ð?ï—€?ïÀ?ïj?ïÀ?ð?ïøÀ?ð?ð?ïÁ?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ@?ð?ïÜÀ?ïøÀ?ð?ð?ð?ð?ð?ð?ð?íò@?ïþ@?ð?ïb@?ÎÆ?ÁH?Æ—?ÉÎ?è@?ê/@?îÁ?ïùÀ?ð?ð?ð?ÙŒ€?Q?ãk@?ï±?ï§?ï®??ï?ï‡?Þ ?¹ú?£t?£4?ÓÔ€?ï×€?Ö0€?ÂÊ?á¼€?ð?ïü@?î=€?ﮀ?ïÔÀ?ïÀ?ð?é€?Ì_?p`?U€?Óº€?±ú?g@?©p?^€?ã¶@?éÇ?â@?Ö΀?Ò'€?åÀ?Ïô?¥?°<?ë9€?èê?ï¡€?æ ?jÀ?¹X?âà?䮀?ï €?ïºÀ?ïÆ€?ëÆ?ÙD€?ê@?îïÀ?ï“@?ïˆÀ?í©?±D?¬\?‡P?ËÐ?š¨?°L?±²?ª0?ÊÜ?³†?¹¼?¸4?Ôò€?ê#@?ff?ï ?ﮀ?ï¾?ïž?ïÉÀ?ï·@?ïÒ@?ï¿€?ïŽ@?ð?ïä€?ï×@?ï¹À?ï¼€?ï·€?ïô@?ïï@?ïìÀ?ð?ïÑ?ïæ?ïÉ€?ïÃÀ?ïÍÀ?ï¼À?ï´À?ïâ@?ð?ð?ð?ð?ð?ï€?ïøÀ?ð?ð?ïê€?ð?ïäÀ?ïÄ?ïà@?ð?ï€?ï\@?ïX€?îÍ€?îè@?ïÖ€?ð?ð?ð?ð?ïþ@?ïdÀ?ïM€?ð?ð?ð?ð?ï,@?ïþ@?ð?ð?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï®@?ïÙÀ?ï½@?ïÂ?ïþ€?ð?ð?ð?ð?ï±À?ð?ð?ð?ð?ð?îë€?ãL@?å3€?ïÒÀ?ïý?ïü€?ð?ð?ð?ð?ð?ð?ïÃ@?Ѩ?[?Y?Í¢?ï0À?呂?ï²À?ïÃÀ?ïÈ@?éI€?Õ΀?°`?…?¬?Û@?í€?“˜?P? ?ã?Ö¶?æËÀ?î¹À?í¿?î_@?âõ?Ô}?†à??„ð?d€?$?´d?âàÀ?̘?f? ?ÁQ?Ðß?éÀ?â€?ÈÄ?å'@?Î ?uÀ?¯ä?î\€?î±€?ð?ïæ?ÑI€?‚ ?è@?ëëÀ?ïøÀ?ïƒ@?ïÀ?ï›À?ëö€?áG@?ïgÀ?ïl@?ï§?ï’?ï€?æ\À?å€?ëö?ì¬À?Ô§?¯X?Å¡?åS@?íM?뻀?Ò €?±r?èK@?¨¨? ?Ò€?í3?ï•À?ï²@?ï½?ïª?ï¾€?ï£À?ï·À?ð?ð?ð?ïº@?ï¢?ïÕ€?ïå?ïø@?ï×?ïÔ@?ïøÀ?ð?ïÌ?ïŸ?ïÂ?ï›À?ïœÀ?ïÂ@?ïÅ@?ïË?ï΀?ïÕ@?ïúÀ?ïè€?ï¥À?î2?ïµÀ?ï°?îÊ@?ï0@?ïÆÀ?ï¼?ïŸÀ?ïµ€?ï¨À?ïo€?ï°?ï§À?ï@?ïï€?ïö€?ð?ïZÀ?ïÖÀ?ïU?ïÀ?ïÖ@?ïä?ï•À?ï^?ð?ð?ïí@?ð?ïñ?ï°@?ï³À?ïû?ïå?ïìÀ?ïøÀ?ïóÀ?ð?ð?ïþ€?ïð@?ïçÀ?ïù@?ð?ïõÀ?ïð€?ïÀ?ïª@?ï”?ï@?ïKÀ?ï™@?ð?ð?ïû@?婢?ï¶€?ïè@?ïx€?ï"À?ïò€?ð?ð?ïíÀ?ïV?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í@?n?g€?–?è1À?ïn€?ïÝÀ?ïèÀ?î7€?Ãú?ÂJ?ÁÚ?<?¥$?ÚG?él€?Ž0?®t?k€?™°?°ê?ç¯À?íy@?éÄ?¸Œ?R?_€?©È?Ý€?»†?eÀ?vÀ?H?ç|@?äó?Ü ?è/À?³Ì?ÖÀ€?̃?N?•?e@?6?t@?d?V?\€?Úm?ÞŽ€?ïmÀ?ð?íð?Ê9?2?Ž?«p??”¸?ìÛÀ?ï'@?ïøÀ?ï ?ïvÀ?ïdÀ?Ù9€?¥œ?êöÀ?ïk?ï¤?ïŒ@?ïÀ?ïB€?îäÀ?ïª@?ﮀ?ï¨@?ì÷€?î2À?ï²?ï›À?î‰À?æŽ@?ࢀ?Ôr€?‹?Ä{?éò?ïÁ@?ï§@?ï§À?ï°À?ï§€?ï¨À?ð?ð?ð?ï°@?ï¥@?ï³?ï¬À?ïÀ?ïÔ@?ïÏÀ?ïò?ð?ïÓ@?ïíÀ?ïË@?ïv?ï¼€?ï§€?ïÔ@?ïÝ@?ï»À?ï¶@?ïØ?ïÃ@?ï³À?î¿@??ïT@?ïO€?ïªÀ?ïÀ@?ïÂ?ïš@?ï£À?ïÖÀ?ïÌ@?ï|?î£@?îÏ€?ïý@?ïö@?ð?ïÄ@?ïü?ïÿ@?ïÉ?î}@?ïÙ€?ïÿÀ?ïÜ€?ð?ð?ð?ð?ïù?ï±@?ïÊ@?ïä@?ïÏÀ?ïá€?ïÑÀ?ïë€?ð?ïÿ€?ïûÀ?ïóÀ?ï߀?ïþÀ?ð?ì…À?ï€?ìÒ?ïbÀ?îîÀ?ïÌ€?îL@?íä€?ïî?ð?ï÷@?ïâ?ïå@?ïäÀ?îwÀ?ïÆ?ïû€?ïþÀ?ïÿ€?ïê@?ïõ€?ð?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å’@?V?ã\?ï?ïg@?íÏÀ?áÔÀ?¬L?Äö?ë#?Ĩ?¸?’°?åJ@?î“€?àM@?¼´?}à?·À?äI?ã/?À·?Y?ºl?áÊ€?œ?`??Ë[?â{À?º?F?¶>?ÚG?äŒ?6?0?Ð?F?,?à?d€?4?4?¼°?äóÀ?ð?ïCÀ?Ñj€?¢ ?V?ÎÖ?ädÀ?î1€?éÃ?àŠÀ?¢¼?•À?â’€?ïÀ?î?î&?ë‘@?ïlÀ?ìS@?ã€?Æ!?ìu@?ï—À?ïc€?ïi€?ï}À?ïzÀ?î@?ïÉ@?ï±À?ï±@?ïœ??ïµ€?ï˜@??ìw@?êp@?ê$@?Ï?eÀ?Ж€?îŠ?ï‰?ï°?ï²@?ïÁ?ï¸À?ïþ@?ïþ€?ïþ@?ïÁ@?ï¬@?ï»À?ïÅ€?ï³?ïÚÀ?ïÎ@?ïæ@?ïÿ€?ïÊ€?ïü?ïÐÀ?ï‚@?ïÉÀ?ï°€?ïÒÀ?ïÆ€?ïõ?ï©€?ï»À?ïÁ?ï¹?ï?ï‹?îPÀ?î€??ïä?ïÇÀ?ï…?ïu?ïð@?î­À?îkÀ?îT?ï¨À?ïz€?îé@?ð?鹿?ï˜@?ïØ@?ï­?ïÀ?ï®@?ïÍÀ?îöÀ?ð?ð?ð?ï¿@?ï»À?ïáÀ?ïÔ€?ïÐ?ïÉ?ïØ@?ïø@?ð?ð?ïèÀ?ïÉ?ïíÀ?ïS@?ïóÀ?ð?îp@?ïSÀ?ïŽÀ?ïï@?ð?ïò@?ïÙ€?ë€?í´@?ð?ïï€?ïß?ïÎ@?ïÜ?ïÛ@?ïö@?ï¾@?îÞ?ïl?ïÏ€?ïã@?ïï?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïZ?·f?À^?ì°@?ï@?ÚŠ€?Ùù€?ï<?æ¯?”ˆ?]€?s?,??‚`?ëA@?ïõ@?ïõ@?Ï#?¸ü?ÕÙ€?hÀ?† ?•ø?<?¤ì?ße€?´ ?M?Ë ?ÌŸ?Ä)?åËÀ?ïRÀ?íL@?¯ô?]?†`?R?Ë0?êœ?ïr?îV@?éÁ@?è‚À?ïÿÀ?æ@À?©,?ÛA?ï€?åæÀ?Âü?äÑ€?îÄ?î:@?ë?ë?ì·€?ï@?îæÀ?ï@?ï??ï`€?ï™?ïu?ï‚€?ïy€?ïIÀ?ï™?ﮀ?ï£À?ï²À?ï¶?ïÌ@?ï¹@?ïA€?íç@?é½@?çÇÀ?Ú?ɵ?Ÿ?§Ô?ìÁ@?ð?ï±@?ïª@?ïÏ@?ï¸À?ïË?ï¹@?ï©@?ï·À?ï“€?ï¹@?ïÄÀ?ï¡À?ï¹€?ïÌ?ïª?ïùÀ?ïßÀ?ïµ@?ïV?ï@?ïv?ïN@?ïÑ@?ï»À?ïÞ?ï©€?ïºÀ?ï²@?ï«?ïÒ€?ï±@?ï®?ï‚@?î†@?î¦@?îæÀ?ï´?ï2@?îÀ?î¨?îÉÀ?îíÀ?ïÓ€?ï}€?ïÉ?ï÷À?ïÞ@?ïÏ?ïÏÀ?婢?ïà?ï×?ï~?ï€?ð?ïñ€?ïÉ€?ì€?ïZ@?ïÅÀ?ïº?ï¹@?ï¯À?ï¨@?ïÛÀ?í@?ïû@?ïü@?ïÿÀ?ïóÀ?ï5À?ï›À?ïA@?ïšÀ?ï€?ï„À?ï÷@?ð?ð?ïð@??ï‚€?ï€??ïë€?î¤@?ío@?ïã€?ïÍÀ?ïøÀ?êt@?ïZÀ?ïø€?ï÷@?ïÚ€?ïä@?ïö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ý@€?]?Ì?Þ%?°8?ã‘@?îŒÀ?îu@?Ò €?‘h?¼”?c@?Ú‰€?ꮀ?ïØ@?è™À?jÀ?N?Àá?—@?®ä?Ün€?í¿?ê?ér@?ð?ð?ïÇ@?ʆ?j@?]?C?¸ü?Ðù?Ô³?ë@?ï€?ä&À?šÀ?—?±`?æS€?îŒ@?åöÀ?ì¥?ïGÀ?î¢À?îž?ïµ€?ìX?ï¡À?ï`À?ï|€?ï´?ï™?ï‚€?ïbÀ?îÕÀ?îï@?î„@?îô@?ïy@?ï?î¬@?îC?îÃ?í'À?í¦?ë·@?îìÀ?ï¤@?ïAÀ?î‡@?íŒ@?çê?Ç??ŠP?å ?ð?ïB€?ï;€?ï|€?ïË€?ïÎÀ?ff?ï³€?ïÇÀ?ïº?ïÆ@?ïÏ?ï¿?ﺀ?ïà@?ï·À?ïÈ?ïè?ïlÀ??ï¹À?îò€?îò?ïž?ï´À?ï½?ï˜@?ï™@?ïƒÀ?鹿?ff?ïºÀ?ïÑ@?ïÕÀ?íéÀ?ïÒ@?ï½@??î]?ïØ@?ï°€?ïÁÀ?婢?ïÍ€?ïÔ?ïÅ?ï¾?ïÁ@?ïÂÀ?ï¹?ï½?婢?ï¿?ïƒ?ïÊ€?ð??ï”@?í5€?îüÀ?ï•@?ï¤@?ïŒ?ï@?ï @?ï€??ïÚ@?ïÿ€?ð?ïö@?ï{@?ïI€?ï­À?ïþ€?ð?ï)À?ð?ð?ïøÀ?ïóÀ?ïÌ?ïÔ?ïÑ@?ïøÀ?ð?ë0À?ìcÀ?ð?ð?íº?é‚À?ïz?ïæ€?ïö€?ïþ@?ð?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ïþÀ?ð?ð?ì­À?›?ãº@?ï€?ï‰?èÐÀ?w€?•?ž0?œ0?Ê?ìÇÀ?æ4@?©`?«(?€ ?ÝÍ?Ýÿ€?ã‚@?ËP?ë@?ð?ïó?ïMÀ?Þâ?¾>?]?]?p ?p?a?~@?6?’@?Ô ?â—@?í5À?¼ ?4?à:À?ïµ?êX@?î?€?ï„€?ï À?ïó?ï¶€?íW@?ï§@?ïÁ@?ïÏ€?ïÁ?ï@À?î?ï?ï³À?ïÀ?ï4?î€?ìê€?ì€?í©€?íÌÀ?íï@?ï[À?ï´@?î€?ïuÀ??ïÊ@?ï¯À?ï©@?ï¡À?íw€?Í|?Ŭ?ênÀ?íµÀ?íÆ€?ï©€?ï×@?ïÈ€?ï ?ïÊ?ïü@?ï¿@?ïã€?ï³?ï•@?ï²@?ïŸ?ïÕ@?ï‰?ïÔ@?ïØ?ïã€?ïµ€?ïËÀ?ìãÀ?ï‰?ï¹@?ï«€?ïI€?îüÀ?ïxÀ?ï‚€?ï@?ïª@?豈?ï„?íîÀ?ïÛ@?ïÌ?ï×@?ïµ?îZ€?ïR€?ïÌ€?ïßÀ?ïÖ?ïº@?ïÍÀ?ïÆ?ïÙ€?ïÏÀ?ï«?ï½À?ï·@?ï²À?ï¦À?ïÓ?ð?ïª?ï…@?ïZÀ?ïyÀ?ï§?ï¡€?ïœ?ï¦??ïµ@?ï™?ïƒ?ï“À?ïï@?ð?ð?ïú@?ïì?ïÿ?ð?ð?í’À?ð?ð?ïøÀ?ïÑ?ï×À?ï×?ïüÀ?ð?ìð€?ï_€?ïò€?ð?îÅ€?ï‹À?ï±À?ïÿ@?ïô@?ïúÀ?ð?ïà€?ïê€?ð?ð?ð?ð?ð?ð?ð?ïý€?ïõ€?ð?ï@?ÓÝ€?_€?€?à?À?ïÃ@?ïØ€?íÄ@?—°?™h?Ñ&?Ó¡?îæ@?âÞ?Ìk?œh?ª¸?Ø€?«ü?|`?‹@?aÀ?ÚY?}€??® ?í€?îõ?ç8À?ãq€?Ð[€?[?Œp?p`?€?¹?W?h@?~ ?[?„°?®@?±Ú?”p?ä¡@?ì–À?ï#€?豈?ïª@?ïçÀ?î˜?î€?ï¥@?ï@?ïX@?ï€À?ïfÀ??î…€?îÏ€?îÞ€?í¨@?í¥?ëã?ïÀ?ï£@?ïl€?ïSÀ?ï´?ïTÀ?ìÊ@?ït?ïµ€?ïtÀ?îÛÀ?î%?îñÀ?ïEÀ?ãšÀ?µŽ?ŽÐ?Ѭ?ëñ€?ïÀ?ï¶€?ïÁÀ?ïÃ@?ïµ?ïš@?ïTÀ?ï·@?ïÞ€?ï@?ïÅ€?ïtÀ?ïÊÀ?ïÀ?ïðÀ?ïЀ?ïÞÀ?ïÒ@?ïÓÀ?îî@?ï“?ïTÀ?ê-À?ä?á–€?Þg€?Ü€?çl€?ïr?豈?ïà@?î@?ïÌ?ï°À?î¡?ïµ?ï×€?ï_@?ïæ?ïÂ?ï¿À?ïÉ?ïÏ€?ïÚ@?ïÌ€?ï»@?ff?﯀?ï´?ï»?ï À?ïÏ?ð?ïºÀ?ïœ@?ï?呂?ï“?ï¡@?ï¢À?ï®?ï¤À?ï´?ï€?ïzÀ?ïo€?ïÆ@?ð?ð?ð?ïë@?ð?ð?ð?ð?îè€?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ê´?ì^€?ð?ð?ïò€?ïô@?ïúÀ?ð?ïâÀ?ïö€?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?é@?{?2?Œà?Õq€?ïì?ïÀ?â]@?`?ˆÀ?À?â‰?ï»?ï?@?à¦@?(?N?H?ÛЀ?íA?áÀ?™à?0??ÒP€?W€?s`?íLÀ?ïƒ@?æì@?Å*?W?‚à?[?¼?î»?ï‚@?ï«À?ïÈÀ?ï@?îÀ?ïËÀ?ï½@?ï‹@?ï€@?ïe€?ï½À?ïÔ?ï’@?î`À?í€?íáÀ?í@?íµ?ïÓ?ïÓ?ïÜ€?î¬?ï?î©€?î‰À?ï˜À?ï¸?ïU?îÁ?î€?î,À?î‘?í#À?ë À?ă?Áq?è3€?ï´?ïÛ€?ïã@?ïu?ïŒ@?ï!À?ï{?ïì@?ïéÀ?ïf?ï‹@?切?ï¸?ïÛ€?ï»@?ï¨?ï—€?ï£?ì7€?ãv?Í ?…Ð?J?•0?ãŽ?îUÀ?îäÀ?í@?ïÅÀ?îèÀ?î˜?îâ@?ïÝ?ïåÀ?ï²À?ï±@?ïÀ€?ï·?ï¼?ïÓ@?ïÛ€?î)@?íÅÀ?ï¼?ïÈ€?ï¯?ïºÀ?ïÖ€?ð?ï±?ï ?ï¬?ï¢À?ï‚€?ï‹@?ï„@?ï®?ïŸÀ?ﮀ?ï±@?ï®@?ïÀ?ïš@?ïÉ@?ïæ€?ïò€?ð?ð?ð?ð?ïðÀ?î÷?î?í"À?îi@??ïòÀ?ð?ð?ïóÀ?ïýÀ?ð?éV?ïÅ?ïùÀ?ïö?ïõ@?ïïÀ?ïó€?ï÷À?ïþÀ?ïñ?ð?ð?ð?ð?ð?ïÿ?ïþÀ?ïü€?ïù?ïøÀ?ØÃ?J?‘H?bÀ?™?ÖÚ€?Ä”?qà?°4?ªt?D?a?À—?îÖ?ï®@?ï%@?æYÀ?¬È?vÀ?ÌŽ?ïAÀ?ïé?é°À?Ú^?¶"?pà?~à?Ê8?¶t?‘ ?»ê?ÝU?ä”À?Y?A?A?n€?k?c?T?]? ?B?w?{@?ª?í?ï‚@?ï¬À?ïà€?î¿?ï€?ï°?ï›@?ï†?鹿?ïS€?ï³?îÛ€?íØ?îì@?ïG?ï @?íÀ?ï’€?ïØ@?ïã?ïç@?ïÞÀ?î®?îÝÀ?ï€?ï‘€?ïãÀ?ïÊ?îu€?ï @?îQÀ?íî?î˜À?îÖ?ìa@?ã?€?Ýò?âó?ârÀ?á€?Ód€?®\?‘?Ú³€?ï€?ï„?ïûÀ?ï¦@?ïµ€?ï ?ïÌ@?ï½??ï¬@?ïÀ?ï˜?ï·@?ï»@?ï´€?ï½€?ï¸À?±Ê?²t?é-€?î €?î{À?ïЀ?îV€?ï®?ïÑ€?ïÑ€?ïèÀ?ïÀ@?ï ?ïÇ@?ïÅ?ïÁ€?ï?ï¶€?í¤?íÀ?ïº@?ïËÀ?ïÏ€?ïµÀ?ïÙÀ?ð?ï5€?îr€?ï”?ï—?ï‡À?ï“?ï™À?ï­??ï´€?ïÁ€?ï`À?ïÄ@?ï?鹿?ïó€?ð?ð?ð?ð?ð?ð?ð?ï-@?ïµ?îËÀ?îÊ?ï$€??ïÎ?ïï?ïýÀ?ð?ð?ð?ïñ?ïþ?ïê@?ïò€?ïò?ïðÀ?ïò@?ð?ð?ð?ð?ð?ð?ïúÀ?ïù@?ïóÀ?ïý@?çN?“@?Z?Š0?u@?Å%?ë¨?Ùµ?Óð?Îa?p?Ãø?íyÀ?ïI€?ïJ@?ïP@?çµ€?¤$?eÀ?Íß?ìò?ïø?ïå€?ïÆ@?ïŠ?ꣀ?Ó@€?¶Š?ºB?–h?¨|?„€?y ?ºÂ?T?`?µJ?îç€?ïŽ?ï½À?ïÆ€?ï<@?ïÑÀ?ï?€?ïc@?ïŸÀ?ïÝ?ïò@?î‡?îi€?ïñ€?ð?ð?îÏ?îW€?ïyÀ?ï À?ïº?ïöÀ?ï¾€?ï"€?î@?ïE€?îü?ïÊ@?ï²À?ïÙ@?ï¼@?ï{À?îw@?ï-@?ïÄ?îA?ïŠÀ?ï±@?îx€?î$À?ï€?íÐ@?ë%À?àU@?¸?×Î?î-€?ïïÀ?ïé€?ï`@?ïd€?îæ€?ìí€?èT@?å4À?ãY?ç@?í¨À??ï!?é³€?Üw?a@?â€?í€?ë™@?ë²€?íÀ?ä@?ìûÀ?ï»À?ïÍ@?ïÓ€?îÊÀ?ïv?îë€?îéÀ?ï„?ï¿?ïµ?ï´@?ï¹?ïÈ€?ïÔ@?ïÐ@?ïÑÀ?ï€?îÄ€?îŸÀ?íÛ?ï¦@?ï®?ï¢@?ï{?ï-?ï9?ï¥@?ï·À?ï­?ï¶?ï–?ï£À?ïšÀ?ïä€?ð?ð?ð?ð?ïìÀ?îÿ?ïä€?ï¿?ïð€?ð?ïì?ï"?ïä?ìÒ€?ïó@?ð?ð?ð?ïþÀ?ïÿ?ïê€?ïø€?ïÿÀ?ïüÀ?ïþÀ?ð?ð?ð?ð?ð?ð?ïüÀ?ïü?ð?íø?†?$?r?p ?†p?æÓ€??î÷À?îóÀ?á ?b€?Œ ?åŠ@?ïÄ€?ï¹@?ïÀ?ïX€?ÕW?‚?p`?Ȳ?åzÀ?ê"?ïÚ€?ïà@?ïâ?ïÈ€?é]?É?°€?¦|?x€?•P?ƒp?]?‡?íPÀ?ï™?ï¶€?ïœÀ?ïE@?ï—€?ï—À?ïT@?ï€?ï&€?îŽ?ïs€?ïýÀ?ð?ð?ïÞ@?î`@?îã@?豈?îä@?ïÍÀ?ï¨À?ïè@?ïÁÀ?ﻀ?ï½?ï?ï?ï­€?ïá€?ïÁ?ïÓ?ï3À??î÷?ï@?ï³À?ïÀ€?îÖ@?îz?î­@?ïV?ïO@?îãÀ?ç/À?¼Ž?]€?ÅÆ?äÌ€?îÓÀ?îûÀ?ä?Ñn€?­„?Ž@?S€?…0?³ê?Õ€?Ëý?’ ?ŸÈ?̺?Æ?¶b?n@?{ ?ߎ€?ëf@?ï@?îÁ@?îÀ?ïH@?ï @?í¸À?ïÏ€?ïº?ï§€?ï§À?ï¾?ï¥?ïË@?ïÊ€?婢?îU@?ï±À?ïª?ï@?î¡?îÐ@?î§@?îe@?ï,À?ïÀ?îƒ@?ï @?鹿?ï§À?ïxÀ?ï¢@?ïªÀ?ïÚ@?ïò?ïÿ?ð?ð?ïëÀ?ïaÀ?ïõ€?ïòÀ?ïö€?ð?ð?ð?ð?Ý3€?ï1À?ð?ð?ð?ð?ð?ïç€?ïû@?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï`€?Ö¡?rà?€°?„ð?¨€?äÀ?婢?ïÔÀ?ïo?Ê?d€?à:À?ï@?呂?ï€?ï³@?×—?Ĥ?§8?Áu?ìeÀ?ïÀ?ïª?ïöÀ?ïÚÀ?ï`À?çx€?Ù?¸ê?Çk?¦Ü?2?e€?¾ò?ë¬À?ï‹€?呂?ï¾@?ﮀ?ï·À?î·@?í­@?ï*À?îë€?ï³À?ïð?ð?ð?ð?ï›À?îQ€?íèÀ?îº@?îè?ïï€?ïá@?ïµ€?ïª@?ïå@?ïÃÀ?ï°??ïÁ@?ïÁ@?ïÎ@?ff?ï§@?î?î À?ïÍ€?ï¾?ïÏÀ?ïr@?ïc@?î]@?ïy?ï¾?ï¹?ïF?è<@?ÎÊ?¸V?¾.?ÇŽ?Êò?Òî€?í<À?îô€?ï³@??ï¡À???ï±@?ï•?ïÉ@?ï‚@?ï#€?ïÏ@?ï¿€?ïmÀ?î\À?ï§?ï™À?ï›À?ï§?ï¶?ï´€?ïp?ïÀ?îæ?íG€?îü?î»@?îù€?ï§?ïY@?ïc€?ï|À?ïS@?ïù@?ð?ð?ïÚ€?îØ@?ïÀ?ï²€?ïò@?ð?ð?ð?ð?Û"?ïú?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïà?àA€?a@?sÀ?| ?xà?ªh?Ú€?ï*À?ïÜ€?í’À?Ýà?¦?¾6?éë?ï±€?îÖ€?î€?Ð~?‡ð?Ãj?±<?ªø?èK@?ï@?ï+€?ï—@?ïíÀ?ïh€?ê À?áP@?‡€?Âg?£L?d@?[€?:?:?}À?”x?èIÀ??ïÈ@?ï^À?ï@@?ïÍ@?ïÓ?ïaÀ?ïÊ@?ïЀ?ïÄ@?ïÉ?îÝ€?ïÑ€?ïÞ€?ï?îÀ??íâ@?ïVÀ?ﻀ?ïÍ@?ïÇ?ïÊ@?ï…@?ï@?ïŠÀ?ï#@??îã€?î½?ï€?ïu€?îŸ@?í‹@?ï1@?ð?ïñÀ?ï¾@?îê€?ï¼À?î%@?ïd€?ïÀÀ?ï…À?îÀ?àÀ€?½? „?‘Ð?ë4?ïª@?ïÇÀ?ïÇ€?ïÀ?ï®À?ï´@?ï¸?ï´?ï¯À?ïÅ€?îý€?ïõ€?ïºÀ?îù€?ë­?î¯@?ïÀ?ïµ@?ï¥À?ï—?ïEÀ?ïÂ@?ïÂ?切?ïd@?ï??ï­€?ï®?ïeÀ?ï©@?ï™?ï¥?ïè?ïä?ïëÀ?ï¤@?í{@?ïÄ@?ïÆ€?ïû?ð?ð?ð?ð?éÀ?é¿?ð?ð?ð?ð?ð?ð?íÕ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?áþ@?Ž0?6?€°?v€?§Ô?™?l€?ß)€?ïDÀ?î®@?îà?çLÀ?ª¬?Úx€?ï–€?ï~À?î¸?Ô„€?ˆ€?Ãi?³z?b?sÀ??Ð?…@?¹>?ÎR?çn?î´?ïºÀ?ï–?ﺀ?ïèÀ?ïãÀ?ï@?Öb?M?’À?n?<?r ?ÙE?ïh?ï´€?ïÜ?îö?ïÓ?ïâ€?ï½@?ï>À?ïÁÀ?ï‚€?ïŒ?î¿€?îÕ€?ïý?ïëÀ?ïé?ïåÀ?ïŒ@?ï]@?îÆ?î€?îþÀ?ïÏÀ?ïÀ?ïÄ@?ïr?î*À?î~€?ï@À?î+€?ï&@?ï¥À?ïÓ€?ï?ïE€?îÀ?ï¹?ïþ@?ïÍ€?ïÜ@?ïò@?îð?ï»À?ï¯?ît€?ï[€?èYÀ?ŽÀ?¢„?íó?ïQ?ï¹À?ïÝ?婢?ï½€?ïÒÀ?ï¸?ï§?ï–@??ï#@?ïæÀ?ï–?ëöÀ?ëöÀ?ã¸À?å$@?ëìÀ?ï&@?ïŸ@?ì‚@?ïÀ?ïZ@?ï@??ïk?ïf?ï«€?ï®?ï@?ï‚À?ïpÀ?ï˜?ï«€?ï²@?ïËÀ?ïÀ?í¹?ï˜?ð?ð?ð?ð?ð?ð?ð?è{À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïœ?à–€?0?2?„À?X€?¸ˆ?ÓJ?”@?¢?çd€?íÕÀ?éz@?î€?ܦ?­ø?² ?áO@?îê@?ïp@?ë‡@?Ãî?|`?†ð?4?™ˆ?Û‹?è?캀?ïÄ?ïš?ïÒ€?ïÚ@?ïºÀ?ïæ@?ïà@?ï?í@?Á?rÀ?¦¤?„Ð?ÑA€?ÁÛ?µô?ãÿÀ?í7@?ïÂ@?ïº?ïÙ€?ïf?ïæ@?ï¹@?ï@?îS@?îœ?î×?îÂÀ?ïÀ?ïßÀ?ïý@?ï—€?ïŸ@?ï™À?î§?ï4@?îçÀ?ï?ïÀ?ï¹À?ïÈ€?ï£?ï ?ï@??ï´@?î)€?ï·À?ïÉ€?ïÅ€?ï#À?ïQ@?îê?ïz@?ïõÀ?ïÀ?ïôÀ?ïï€?ïë@?ï÷À?ï¥@?ï@€?ï˜À?ì¾@?ž?L?y ?Ä?î÷€?îá€?ï”?ïÜ?ïÉ@?ïP@?ïÛ€?ïÈÀ?ïÕ@?ï—@?ï~@?îòÀ?î$@?ì;?èF?ã€?Âp?È=?ßÿ?âa€?ê?í+À?êà€?ëø@?ï®?ï´@?ï¼?ï|@?îè€?ï8?îóÀ?ïo?ï„?ïª?ï®?ï±À?ï¸?âë?èô@?ïá€?힀?îs?ï]€?츀?ï€?ð?ïñ€?切?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¥À?çU@?Ê/?Z?? ? ?¸?±â?¯p?àc@?îñÀ?ï±@?ë™?â"€?Û?Ä2?ÌÅ?éãÀ?ï˜?â€?¶ð?Õ…?³.?X?ç€?ï€?ïZÀ?ï±À?ïÀÀ?ïæ@?ïÜÀ?ï€?ïï?ïíÀ?ï²?í5À?Æï?|?ž¸?‹€?Óñ?Ì•?«Ä?W€?r ?Õ«?î;@?ï(?婢?ïÁ@?ï½À?ïó@?ïÓ?ïç€?ïÚ@?ïö€?ïÍ@?ïåÀ?ïä?ïÖ€?ïÛ€?ïÛ?ïÌÀ?ïÁ?ïª@?ï´?íß?ï<À?ïæÀ?ï^€?ï΀?ïÇ@?ï¿?ï¹??ï¿?îà€?ï€?ï¦?ïµ@?ï¸À?ï¦?ïÏ?ïž@?ï·À?ïÐ@?ï»À?ï¶À?ï›@?ïš@?ï€?ï¸@?ïµ?ïž?íà@?ßK€?¾0?¦è?áˆ?ï’À?ï‹@?ïÊÀ?ð?ï»À?ï„@?ïÂ@?ï@€?ïò€?ï²€?ï«??êÇ€?å?ëöÀ?ãÉ@?剀?í€?ë}@?îg€?î‹€??ïLÀ?î@€?ìbÀ?îÀ?îïÀ?ï€?ïÀ?ï6€?ï0À?ï,@?ï+?ïƒÀ?ï®?ï³À?嬀?áù@?ï‚@?ï¦À?ç«?åF?í2€?ëh?ï‘?ð?ð?ïýÀ?ïö€?ïî?ïþÀ?ð?ð?ð?ð?ïSÀ?ìÛ@?íê?ð?ð?ï…€?êÀ?Üd?4?$?mÀ?× ?´$?¨?雀?ïjÀ??ä?騀?ä%@?Ý)€?°p?ßì€?àê?«T?n?U€?à(?îªÀ?ì‚€?áªÀ?ê­?ï€?ï¡À?ïËÀ?ï€?ïÚ€?ïú@?ïì€?ïüÀ?ïý@?ïã@?ïÉ@?ëS?Д?\?R€?ϰ?½ð?•@?Q€?¸®?äÀ?¬?y@?šÐ?è?ßL?Ð|?>?W€?p€?… ?º:?†€?¦l?軀?ïŸÀ?ïË€??ï§@?ï¾@?ïÙ@?ï`À?ïÛÀ?ïÓ€?ïê?ï¼À?ï–?ïà€?ïûÀ?ð?ïu?ïz€?ïf??ï…?îÒ€?îð@?ï9?ïæÀ?ïË?ï»?ïÎ@?ïÕÀ?婢?ï¹@?íâ€??ïÈ@?ï°€?ï»@?ï£?ï¸@?ïZ€?ïY?ïæ?ïÝ?ïß?ï¿À?ïˆ@?îÙ?ïÆ?︀?ï™À?îH@?ãØ?Õ6€?w?Üâ€?ïk@?ï·?ïô?ð?ï?îú?ïË?ïï€?ð?ïà?ﺀ?ïi?îz?îâ€?߸€?éº@?îíÀ?ï§€?ïG?ï?ïÀ?ïÀ?ï|À?ïo€?î«À?íÒ€?ï ?î‘À?ï0À?ïÁ@?ï{@?ï@?ïyÀ?ï`À?ï©@?ï¡€?ì@€?鹿?ïñÀ?îÚÀ?ï@?ïËÀ?ïú?ï½À?ïOÀ?ïÈÀ??ïÌÀ?ï²À?ïÏ@?ïü?ð?ð?ð?ð?ì¼?æ6??ïs€?î0€?ÓD€?Ë´?¼??u ?Z€?Å?ÛR€?ß4€?ï®@?ï‡@?ë?íÑÀ?ë‰@?ê)€?ß?Ïl?Ñú?κ?`@?Q?˜8? ?é”@?ï¤@?ﻀ?ï?ï‡@?ë>?é“À?ìž@?ï¶@?ïÝ?ïÄ?ï]€?ïéÀ?î®@?ïg€?ëÝ€?Üù€?Ý^€?Ž@?¥8?Ýç€?íe@?íÀ?ê €?åJ€?ä @?àÕ?éc@?Ñ„? ?lÀ?¨Ä?ây€?æh€?´?U€?]?lÀ?Œ`?i@?Ýú?ë?î°@?ï|€?ïÄ?ïA?ïQ?ï À?îê@??ïï@?ïÔ@?ï½?ï×?ïÕ?ïÛ?ïnÀ?ïGÀ?îOÀ?î"@?ð?ïð€?í¦€?îhÀ?ï{€?ïžÀ?ïò?ïà€?ïœ?ïº?ïò€?ï±€?îÀ?íëÀ?ïç@?ïÉÀ?ï»?ïê?ï­@?ïðÀ?ï¤À?îå@?ïÒÀ?ï—?ï×À?îø@?î$À?îå?ï@?ï¤?ïÀ?îQ@?é”À?Èë?„€?ÊÛ?„°?ãÏ?îõ?ï¸À?ïýÀ?ð?î\À?ïx€?ïâÀ?ïý@?ïãÀ?ïÜ?ï·?í«?î€?ìQ@?Ú'?ëÂÀ?ï&?ï1?ïƒÀ?ïaÀ?îá@?ï.À?ï>?ï„À?ï¤À?ï€?ï}?îØÀ?ï.@?ï©À?ïÈÀ?ï¡@?ï™À?ï¸À?ï¶@?ï]?ìì@?ïÕ@?ïïÀ?ìt?æÃ@?âŒÀ?åo€?îÉÀ?ïÂÀ?ïš@?îýÀ?ï?ïÅ@?ïË€?ïþÀ?ð?ð?ð?ð?ïÀ?ëÏ€?ï‰À?ïš@?Ð €?2?†à?rà?™?­˜?Æö?éñ?ïˆ@?ïŸ@?î.À?í¬@?îÀ€?ìÀ?ç#@?® ?´è?D?r ?oÀ?஀?êÊ@?ï¥?î¶€?íÑ€?îÐ?ï‚?ï¿@?ïÓÀ?ïÜ?ïï?ï??â߀?æ`À?ÜÝ?ÖK€?Ól?Çß?Á‡?Äg?¾Š?Ó"€?Ûö€?ÍI?qÀ?¡¬?ßF?ÐÆ?¾¶?e€?‚?]?r?|à?®ˆ?°@?¦,?’?qà?舀?ï€?ïQÀ?ï™?ï–€?ï|@?ïuÀ?îÄ?ïYÀ?ï¶€?ïý@?ïÏÀ?ï€À?îíÀ?ïå€?ïÞÀ?ïÃ?ïÖ@?ï‘@?î‘?íÞÀ?î‹@?í›À?ïf€?ïË@?ïê€?ïë?ïê€?ï€?ï‹€?ïl?ïä€?íÒ?ïÁ€?ïØ€?ïÈÀ?ïâÀ?ð?ïÂÀ?ï–À?ð?î9?ï€?ïyÀ?ïÚÀ?ïÎ?îõÀ?ïÎ@?ï(@?ï«€?ïhÀ?íÁ@?Ú΀?Õô€?¯?Y?°n?íU@?îÊ?î’@?ï?îú€?îÍÀ?ð?ïü@?ïç?ïÈ?ïi?îñ?îÓ@?î@?ì@?æ?í@?íl@?íÄÀ?í‘@?í¹?îX?ï@?ïÉ@?ï¾?ïÅ€?îñÀ?ïðÀ?ï€?ïqÀ?ï^€?ï›@?ï­€?ïƒ@?ïeÀ?êw€?ãþ@?ïJ?ï?í™À?ÕÔ€?§ ?žØ?áÖ€?ê¼?ïÅÀ?ï€?ï ?ïR@?ïO€?ï?ï'?ï?ïá?ð?ð?ð?îÈ@?Ñ•€?E?y@?ɾ?®?é²€?îÌ€?ï @?îÅ€?êå@?é ?ÚÎ?¥Ü?Ó¡?˜P?Ød?çwÀ?í~À?ï?ïZ€?îšÀ?ï1€?ï‹?ïµ?ïU?ïrÀ?ï¬À?íî?è‡@?í€@?Ô’€?[?Û×€? ¼?¦8?ÀÒ?h?¤ø?@?É?ÝÞ?·8?§ø?¡”?ØN?Ý?o€?̰?ÒŸ? 8?m@?`?E?Åò?Û€?Èß?šX?Ö<€?ïk@?ïJ€?ï£À?ï¢@?ï%À?íÒ€?íÜÀ?íÐÀ?îh?î?í½?îq€?î@?î]À?î»À?ï®À?ï¼?ï°€?ïê€?ïü?ïÝ@?ï±€?ï·?îk@?íû@?í‹@?ínÀ?êö€?è¢@?è4@?ìa?ï4À?ì‚?íLÀ?ï?ïg?ïù€?ïå?ïÝ@?ï@?ïî€?îR@?ïÀ?ð?ïï?ït€?îé€?ïd@?îû@?ï„?îÌ?䊀?ã@?ç@?ä<?àzÀ?Ë?Ÿ¸?ˆ?ˆp?á @?ëý?éY€?ï9?ïþÀ?ïëÀ?ïC€?ï ?ïÃ@?ïÅ@?ï÷À?ïb@?îÿ@?íwÀ?êJ@?éÀ?çÊÀ?îÝ€?îßÀ?ï‚À?îV?î@?îŠ@?îµÀ?îé?ï!€?ïÃÀ?ï[?ï“?ï6@?ïm@?ïxÀ?ïg?îì@?ïp?ïŒ@?íiÀ?îÑ?ﮀ?íªÀ?ëÀ?°æ?™h?êÓ@?ï”?ff?ï€?î(?îù?ïl?ïù?ð?ï÷€?ïÀ?ð?ïÿ€?ï@?Ù‘€?Y€?R?¨?¸´?ÍÖ?îw€?ï5?îu€?î]@?ên€?ß$?ÄI?©¨?º¨?ã ?í/À?ï^@?ïX€?ïª@?ï‚?ï]?ï¤?ïF€?î\@?ï…@?ï–@?ïÀ?ê?Áî?¯4?èÀ?Õ»€?r@?ÓA€?ÕW?á~?àp€?’˜?»Ü?Ì^?ï?¨?ÈÂ?ÑJ€?åk€?î3€?ïŠÀ?é\€?àp?v ?«ô?Î}?Õ?cÀ?U€?k@?g€?® ?ãf?Ã7?¬Ø?ÄÒ?¶Ø?æø@?ïQ€?ïLÀ?ï¢À?ïz@??îr@?ï ?î®?í”@?ï”??ï€?ïÂÀ?ïÛÀ?ïK?íÿ€?ï@?ï¹€?ïS€?ïÑ@?ïÞÀ?ïÏ@?ïà?ïÕ?ïÉ@?ïß?ïËÀ?ïÍÀ?ïP€?í½€?æÊ€?éYÀ?ëm€?îvÀ?î߀?ï^À?ïËÀ?ï€??î}À?î¯@?î—À?îÏ@?ïÜÀ?ï¼?ï_@?ï:€?îõ€?ï‡@?î\€?ì?é€?çÂÀ?î@?ìŽÀ?è7À?Ø+€?é}€?æø€?ÚV€?¿6?l@?lÀ?ÑH€?ì‹?ï4@?ï©@?ïú@?ïü?ïï?ïÏ€?ï”À?ïòÀ?ïüÀ?ïô@?ïÏ€?ëÉ@?ç¶?ïLÀ?î&?ìì?ïmÀ?ï‚€?îö€?ï7@?ïSÀ??ï3@?ï\@?î­€?ïs?ï9?ïg@?î+À?îÈ€?î¨À?ï]?ï–À?ï¡€?î“À?í«€?ï:?í£?ëÀ@?³œ?]?`À?Ø*€??ïÀ?ïxÀ?ï?ï]?îè@?ïx?ïÍ?ïýÀ?ð?îä?ð?ïý€?å‡@?‹0?³ò?ã@?…Ð?”ø?æ¤?ïx@?ïÀ?í¿À?îÛ?ëxÀ?çã€?½²?¡?Èw?~`?z ?²?¿>?è›?îñÀ?ïtÀ?ïL?ïa€?îž?ï}?ïL@?îW@?ï„?ï¹À?é"@?ÁO?ÖÇ€?î¥@?îÀ?ã €?îw€?ë'€?ÕÕ€?ݾ€?¸”?®t?®À? ?¢€?Q?¬ˆ?à`À?¹b?]?¡è?£X?Úw?âG?íQ@?î€??ëûÀ?´n?žˆ?°È?Àa?è?ð?˵?¡Ü?i?:?T?P€?]?¾~?^?y@?~ ?t@?A?r€?¦ø?q`?€?ÆŽ?ï?íO?îxÀ?ïÕ€?ï8?îúÀ?îçÀ?ï?À?ï"?î¹?î&?ï«À?îw@?ï‚À?ïÃ?ï«€?ïÃ@?î_?í?îe€?íþ€?ï¼?îkÀ?ï*À?ïµ?ïJ@?ï0@?ï[€?ï×€?ï¬??î3@?ê¤@?æ§À?ìn€?ïâ€?ïË@?ï„?ïÊ?îÇ@?ﮀ?ï}À?í«?ëG?î–?ï‰@?îÆ€?ïé€?ïrÀ?êí@?ç¢@?é>@?ëò@?ëA?î¡À?ëƒ@?äà?è€?î@?ï(€?ï=@?ìï€?á‘?Îì?…ð?¯0?ç°@?ïÑÀ?ïõ€?ï|€?ïú?ïØ€?ïÃ?ï€?ïÞÀ?ïö@?ïñ@?ï×?èÀ?î{?ïv@?é|À?è€?îHÀ?ï²À?ï¦?ïC@?ï«À??ïQ?ïA@?ï¦À?ï4@?ïÈÀ?ï*€?î„@?ï$€?î½À?ïg?ïˆÀ?í«?âV@?ï?îEÀ?ì€?éH?ª?£?ÒÝ€?éªÀ?ïj€?ïå€?ﮀ?ì€?îø€?îü?ïXÀ?ï¾@?ïêÀ?ïð?ï5€?ïƒÀ?ä?³j?¸˜?¾¶?Ìõ?î‹À?ï À?î€?î:?ízÀ?éß@?Ù6€?Ò €?è‚À?Ê ?s@?œ?æè?îí€?îÎ?ïÀ?îeÀ?î¡À?î>?î€?íb?îÊ€?ï_À?ÚÁ€?Üÿ€?ïƒ@?í*@?îâ€?äî@?£?¦¼?®¼?о€?×7?ʧ?ÍN?‰ð?t€?³Ø?—h?[?Õ¢€?Å?„€?â?è+?èóÀ?è€@?©?T?œÈ?Ñ?Ð?áÊ€?êQ€?ë‘€?Þ €?¼À?2?iÀ?ˆ`?Ô{€?¾‚?‰p?Q?gÀ?]?Á#?î€?ëÌ?îÛ?ï©€?ï=@?î/À?îÆÀ?ï_€?ïˆÀ??íŸÀ?îXÀ?ï¾€?î‰@?ïÇ?ïSÀ?ïa?ïU€?ïî?ïå@?ï1€?î€?ïŠ@?î6€?î€?íP?ëÍ?ìò?ïËÀ?ï°€?ïJ€?ï+À?í×@?íj@?éA€?ï’À?ïÅ€?ï @?ï ?îg?ïy€?î?í€?çÚ?ç=À?äÌ€?èc€?ë\€?ëÂÀ?ëh€?è€?îj@?é@?é™À?é@?å]€?êð?î±@?îÕÀ?ï~?ï@?îÍ?î@?ìè€?Ñ?x€?S€?ÆY?é·À?ï`@?ïÜ€?ïï?ff?ï¯À?︀?ï°À?ïëÀ?ïá€?ïÁ@?ì$?ïŸÀ?î±?ì‰?ìÀ?ïxÀ?ï•@?ï‘€?ï½€?ï¥?ï¨@?ï¦À?ïqÀ?ï¶À?ï3@?ï¡€?ï À?î‚À?ï@?î{?í߀?ïC€?î"@?î@?ï€?íö@?îó€?ëÀ?ãìÀ?â‹?âK€?í @?ð?ïù?ïô€?é>À??î„€?ï¹À?ï(?ïú€?ïî@?îß@?ß•€?¨D?¨°?Ã?¢Ø?æŒ@?ïÊÀ?ïf@?î ?íê€?ëº@?åM?ãá€?ÚE€?ãBÀ?¶R?²ì?Ê3?¾Ú?à…?êæ€?î&À?î6?í®@?í³À?ígÀ?éç?êNÀ?ì¦?ïˆ@?ß§?¸‚?éª?ï_@?íC@?èÊ€?ê®@?ÓI?£d?]?›?r ? d?R€?Y€?f€?É;?Л€?à‚@?âÜ€?Û?m?>?Ñe?ìÊÀ?ï=À?ïg@?î¾@?îð?ìÏ@?çw?à±?ÑÉ€?—¸?U?€?€ ?…?Y?Ó^?Á? H?¤t?^€?]?X€?°¼?ãWÀ?æ?ï}À?ï§@?ï À?ï.@?î¬?ï@?ï ?ïˆ?ïÞ?î`?íŽÀ?îê€?îKÀ?î•@?î´€?îîÀ?íþ@?îæ?ïÂ@?ïÒÀ?ï¯?í£À?ì#€?êØÀ?ëU@?êu@?ìÚÀ?ï³€?ïÀ@?ïÎ@?ïÇ@?ïÒÀ?îD€?æU€?ï¡€?ïž?ï @?íÆ?éÛ€?çq?å¦À?ì_?î&À?ä:€?æêÀ?ì%?ïÞÀ?ï@?ì&À?ìø€?îk€?íö€?ï4€?êõÀ?î®?ïx?î¥?ïÆ@?ï@??îP€?í?ÞÆ?Þ €?å:?Ø?ºê?¡?ŒÀ?Z€?$?ÆN?ê?ï€?ï1?ïšÀ?ï"@?ïÄ?ﻀ?ïÑ€?ï@?ï’À?íÖ€?í@?îÅ€?ïnÀ?îî?ï9?ï˜@?ïz€?ï£?ï®À?ï‘?ïŽ?ïŒ@?ï¶€?ï¼?í›À?îD€?îK?ï @?îÔ?ïLÀ?ïQ@?ïu@?îÀ?ïdÀ?ï“@?ï»@?ï®@?ïÆ€?îg?ï€?ð?ð?ïÝ€?ïD?ï˜À?îé?ï´@?ïË€?ï¥À?ï©À?ïE€?êD?r ??Ç3?°â?¸D?ì<?ï_€?îF@?î$€?ì?ë@?èù?å ?Ð&?ÅÃ?È‚?ÙŒ€?ÂE?»h?ÐÑ€?л€?ä@?é2€?à“?æ;À?ç¹@?êÀ?îñ?í·€?È?Îð?ì¾?ïEÀ?Ø€?ÔÐ?î)@?ë‰@?¨h?ÇË?ÝÔ?Ç:?Ç‚?äA?éQ€?ês?æ€À?Ùê€?m@?O?Ët?éG@?î‰À?ì‘€?î4À?ÍD?ÎÍ?éÀ?ï%À?íš@?ëc?ê&À?ë€?î»?ïZ€?ï2À?î?ê?ÙÙ€?¼š?¤X?r?2?«P?Ç??Ò €?®8?Z?H?:?`€?µD?ärÀ?ï ?ïl@?îc?íï?ïõ??ï›À?î’@?ïv€?ïÿÀ?ï†?í¯@?îúÀ?î9?ï´À?ð?ïØ?î­@?íÀ?ìÝ?ìi?îu€?ï€?ïq€?ï?îR@?êG?í·@?ï<@?î6À?ïG?ï?ì’@?åþ€?è @?ê"€?éîÀ?ç¸?æ*À?ë3€?숀?ï¾À?ïÕ@?ê?ïÉÀ?ïË?ï‰?ïÍ€?î?€?íþ?ï’À?ïZ?ï@?íÊ@?ïa?îåÀ?îè?ï¶€??ïÏÀ?îùÀ?ëÒ€?è¿?îÓ?ï_?ï@À?í?ê2?ê÷@?íK€?ê@?Ô0€?‹à?Ä"?ìh?ïõÀ?ï^@?ïŠ@?ïš?ï‘À?ï¼€?ïÖ@?ïY@?ï[?ï¹€?ð?îëÀ?îÀ?î0@?ï€?ï?ï*À?î§?îËÀ?ï À?ï+€?ï;?ïf@?í“À?îNÀ?î4€?ïÀ?îÈ?îË@??ï´€?ãg?ïfÀ?ï,@?îšÀ?ï@?ïÜÀ?ð?ð?ð?ð?êÿ@?ìx€?íÀ?ï)À?ïN?ï‰@?ð?ð?ïè?×Ü€?D?a€?»r?êÌ@?ï€?îõÀ?îèÀ?íu?éË?à/€?¾ð?¥$?`€?³?¶Ì?é>?ël?âÿÀ?Òp?®4?ÏŠ?íØ@?àÇ?Ö€?î±@?í‚@?»Ž?›(?Ã¥?æ?ÚT€?©h?Ñ€?¶z?²Ø?½Ú?ásÀ?²À?kÀ?ÙÁ?ç ?â„À?íô?íï€?îv€?îu?ïb@?ïz€?ï¦@?ï¯@?îc€?ìi€?î>À?ï|?í%?ì€?îå?î€@?êQ@?ÓÞ?¯Ð?¶°?É ?¢¨?e?V€?·h?ç=€?ïRÀ?ï ?ïV€?ï'€?íÀ€?ï;@?îÄÀ?ïu€?îÞ@?íü€?ï†@?ïÇ@?ìÓ€?î¢À?ï@?í’€?î0?íÝ€?ï @?ìIÀ?íÑ€?îÀ?îÕ@?ï߀?ïÀ??ïÔ€?î@?뛀?ëö@?ëÜ@?ë)?í€?ë&?ëb@?ìÓ@?í"€?éù?éˆ?ëK@?íµÀ?ïÊ@?ïÇÀ?îƒ?îi€?ïá?ïì€?﯀?î¸@?íÀ?îW€?ïÔ@?ï´@?ï…€?îsÀ?îÌÀ?ï¶@?ïÛÀ?ïÌ?ïòÀ?ï¿@?ïc?ìƒÀ?în@?ï°€?ï@??ïJ?ð?ð?ïÎ?ï}?î¸@?äöÀ?¼®?pà?2?ÎÑ?í €?ïV@?ïq€?ïO@?ï\@?ff?ì¢À?íQÀ?ïQÀ?ï€?ð?ïŒ?ïd?ïb€?펀?íÝÀ?îR€?î¸?îØ?ï€?î»À?ïz?ï{€?ïQ€?ï!€?îWÀ?î½€?ïm@?ïd?ïH?ï]@?Øõ€?ì¾À?ï À?ïY@?퇀?ïœ@?ð?ð?ð?ïPÀ?ïÃ?ï@?ï}€?ïž@?ï²À?îzÀ?ïœ@?ïó€?ì¥@?¤ì?q@?†p?6?]?Ò¯€?é€?ïv?ïM?îÕ@?í[@?á À?Ë“?¦0?¢è?•?’0?èÂÀ?Ú½€?e@?Û©€?îdÀ?嚀?ÏÌ?y@?@?‰@?’?¸4?Æ?{€?ÀG?ä€?ì|?ìøÀ?î2@??ïƒÀ?ïÀ?ï\À?ï®?ïÓ@?ï{À?ì€?é¼À?é9€?ꆀ?éC€?éZ€?èÀ?ÓË??«¬?Ü2€?Ñà€?àÙ?’è?[€?Q?c?[?}@?š?çÞ?ïÖ@?ïÑ?ï£@?ïÀ?ï^?íß@?îœ@?î.À?ïŒÀ?ï¡€?ïp?î8€?ï@?íDÀ?ïßÀ?ïÀ@?ï$€?íÿ@?ìxÀ?ì#À??ï×€?ïÁ€?ï¯À?ï΀?îÔ€?ð?ïÜ€?ïÌÀ?î°@?ë)?ëÀ?íŒ?é¬À?î ?îÊÀ?í¸€?í?ì@?íˆ?ï-€?îŽ@?ïÊ@?î¢À?íÀ?ïÖ@?ïè€?ïB@?íy@?í´À?îî€?ï=€?ïÙÀ?ïÓÀ?ïÒ@?îÀ?ïŒ@?ï¿?ïÊ?ï¤?ï¼À?ïÀÀ?ï€?ï?ïF?ïŸ?ï½@?ï«@?ð?ïÝ€?ð?í@?ïŸ@?ïz@?ïÌ€?éY?ºò?,?ÚH€?ï%?ï¶?ï£?ëÀ?îÖ€?ïI@?ï“?ï?îù@?ð?ïç€?ï €?ï¶?ïQ?îð?î ?ï6À?ïqÀ?ï?îþ?ï ?ï¨?ïy€?ï\@?ï€?ï@?î¡@?ï}€?ï@?îmÀ?Ñq€?èO@?ï:?î‹À?ì²€?ï¶?ð?ð?ð?ð?ïÝÀ?ï£À?ïqÀ?ïõ?ïÒÀ?ï“À??ïI@?ÎÇ?±,?‘ ?žð?¸Ö?åæ?íF€?ïc€?ï!€?ä¿?L?X€?„`?ª„?í°€?Ý’€?Ò€?ÖÍ€?ᤀ?Ó€?|à?v@???c?`?Ãè?Ý5€?åR€?é΀?ë‘€?ìÑ€?îP?ï¦@?ï€?ïŒ?ïŒÀ?ïz@?ï?íø@?í ?êÜ€?ï €?ߘ?©”?L?|À?‡p?p?_?ÂÍ?ë?Õë?Ì??m€?“(?]???¥$?ë^@?﯀?ïË@?ï´@?ïº?îÉÀ??í?í7€?ï ?îÅ€?îÀ?ífÀ?ìð?ï­€?ff?ï±?ï°?ïÌÀ??ïÖ€?ïxÀ?ïÆ@?ïË€?ïÍ@?îà@?ï…€?ï°?ïÍ€?ﺀ?﯀?ï@€?îž?íõ€?ïq@?ïÎ@?îÀ?íË?îp€?í¤€?ïÓ?ï«€??îø?í¬@?ïùÀ?ð?îãÀ?î-@??íê@?ïÐ?ïµ€?ïÕ€?ð?ï×?í¸€?ïÃ@?ï¨?ïÌ@?ïÀ?ï§?ï¥À?ï½?ïÆÀ?ï¿?ïÃ?ï±@?ïà@?ð?ïþ€?ïúÀ?ïå@?ïÿÀ?ïßÀ?ïëÀ?ï`?ê-@?Õ‹?« ?¬x?Šà?œ˜?êÒ@?ï“?î?în@?ïiÀ?ïI€?ï_@?ïV?îïÀ?ð?ð?ð?ï†@?ïyÀ?î`@?ï?î‹@?îÍ€?ïŠ?ïâ@?ð?ï@?ï?îáÀ?ï4€?ï¦@?î±?ï¸@?ïé@?ð?Ü»?à€?ð?ï!À?í¾€?ïs?ð?ð?ð?ð?ïÎ?ï¸@?ïˆ@?ï¬À?ð?ï?ïÀ?ê?À?¥?É?B?T?…@?¬ä?iÀ?³„?Üú?í1€?ì’@?ã>€?:?€?a?t@?Ë,?í-À?Ù>?]€?Ï?ä€?δ?©<?_€?Ž`?£?®?Áù?@?›?ÑÑ?æe€?ë=?ë„?ît@?ïz@?ïƒ@?ïÀÀ?ï·@?ïÌÀ?ï¤@?ïiÀ?ïhÀ?îÃ?ç6@?À»?¥ð?² ?¹„?ÅW?ÅF?ÅÙ?Ôè€?Ðò€?ëÖ@?夀?t@?ÎH?œx?q ?S€?ãìÀ?ïÇÀ?ï§?ïá?ï¹€?ïÌÀ?ïé€?ïn@?ï¦?î3?ï„?îÌÀ?ìÃÀ?ïq@?ïÐ@?ïâ@?ïâ?ïÖ?ï¤À?ïÕ@?ïœ@?ïÑ€?ïÔ?ïЀ?îi@?ï€?ï¹?ïã?ïÖÀ?ïÙÀ?îž@?î€?íþÀ?ïw?ïÕ@?îq@?í©?î0À?íF?ïÓÀ?ïà@?ïÏ@?ïÂÀ?í·À?ïÀ?ï1€?ïò€?î§?ï’€?ïÝ€?í¼@?ïà?ïç@?ïö@?ïí@?ï½@?î¾@?íÀ?í ?î×€?ïŒÀ?ï¯À?﯀?ïÄÀ??ï­€?ïÄ@?ï¿?ïëÀ?ð?ïøÀ?ïú?ïë€?ïÿ@?ï›?ïä€?îÄ€?ïä€?ï¸?ì‡À?íE?ã€?Z?ãi@?ì$@?ï@?ï”?ïUÀ?ïƒ?ïšÀ?ïY€?ïÀ?ð?ð?ð?ï|?î¢À?î˜À?îõ€?ïa€?ï€?îû€?ïÃÀ?ð?ï?ït?ïTÀ?îàÀ?ï€?îi@?î÷@?ïÁ@?ð?áF?Û+?ð?ï¢À?íÀ?ïÀ?ïî?ïù€?ïð@?ð?ïÓ€?ïZ?ïmÀ?ïB€?ïæ€?切?ïh@?àï?ļ??Šà?ÌÏ?Á8?Ϥ?Ñ—€?Èá?Ân?}`?K?… ?¥?} ?X€?Š`?³ú?Àn?h€?s€?¬?p?”p?ŠP?]?€0?ÃU?À?‘p?åÀ?°v?“X?âÓ€?ìî@?êÀÀ?éù€?í»@?í=?ï ?ï€?ï–@?ï’€?ï“?ï|?ï~@?ï`€?î‹?änÀ?ÕL?¼ ?Ðë€?ç€?í™@?ï À?ë?ב€?“À?ÔÓ€?àÑ€?r?^€?á\À?ïý€?ïö€?ïØ?ï?ïÏ€?ïÝ@?ï´À?ïv??ïšÀ?íiÀ?íªÀ?ïçÀ?ïÜ?ïæ?ïìÀ?ïÈ€?ïç?ïÆ@?ïÏ@?ïÛ?ïè?îÐ@?ïa?ïä?ïÒÀ?ïé?ïÀ?î2@?íø€?îI?ï4@?ïÇ@?î`@?íØ?ïU€?î¢@?ïY€?ï@?ïõ€?ïæ@?îd€?ïm@?ïÕ@?ï?ð?îÆ@?ï?ïôÀ?îÒÀ?î}€?ð?ð?ïàÀ?ïÖ@?ï“€?ïc?îV€?ïn@?î?ï­?﯀?ïµ€??ï¾€?ï¡?ï¨?ïâ?ð?ð?ð?ï§@?ï×?ï΀?ï†?ïä?ï»À?ïòÀ?ïÿ@?ïû?î-€?ª¸?ÕÀ?ïœ@?ïÅ@?ï¯@?ï´€?ïŒ@?ï?ïò?ï¥@?ð?ð?ð?ïq@?î>€?ïT?î¹€?ïN€?ï•€?îËÀ?ïà@?ð?ïÀ?ïL@?îÒ€?ï°€?ìü@?îÈ€?ï²€?ïö@?ð?éç@?Ѧ?êê@?ﻀ?ï‹À?ïîÀ?ï¶?ï×€?ïÛ?ð?ð?ð?ï¼€?ïx?ï ?ï?ïZ?è ?Ñy?cÀ?±ˆ?àïÀ?îQÀ?ìì?ë1€?çË€?ÔŽ€?n€?S€?aÀ?×|€?Á©?š€?«¼?c@?[?q`?$?‚?À?åN?´Ì?Í!?ì@?ëE?èü€?èo?éæ@?ì;@?î€?ïŸ@?ï€?ï„€?ïP€?ï®À?ï¾€?ï@?îÀ?íN@?ÏC?À@?È%?’0?s ?âTÀ?á€?­?—¸?°Z?ÛË?íÇÀ?ïÝ?ïá@?ï±€?ïÍ?ïÌ@??ï @?ïG?îÚ€?ïè€?ïãÀ?ïÝ€?ïÓ?ïä€?ïÜ@?ﮀ?ïˆÀ?婢?ï<À?î¼À?ïÀ?ïÞ?ï×À?ïÜ€?ï`@?îÒÀ?îË€?î=@?ïºÀ?ïª?í‚À?ì@?îÜ@?ïÅÀ?ïÀ?ïÎ?ï`@?ïx?î>À?ïQÀ?ïâ@?ïè@?îì@?ïÃÀ?ï@?îÑ€?ïù@?ï À?í›@?ïœÀ?ïï?ïÕ@?ïÉ@?ïÀ€?ï4?íýÀ?ï•À?î¼€?ï˜@?ïz€?ï³?切?ï´?ï½€?ï©€?ï¥?ð?ð?ð?ð?ð?î¶@?îFÀ?ïç?ïì@?ï³?ï½À?ð?ïÃ?Ò€?Œ?ç¤À?ïÂÀ?ï§?ï†?ïlÀ?ï˜?ïøÀ?ï÷À?ïÔ?ïø?ð?ïÅ??ïÀ€?婢?ïu@?ïÈ€?ïrÀ?ïñ@?ð?ï?ïG€?ïÀ?ïq?î‚?íž@?íõ?ï¯?ð?ëëÀ?ßh?Ñ€?ï€?ï6€?ï@?ïÈ@?ïž?ï!€?ð?ïú€?ï¤À?ï£??îjÀ?ïZ@?îÓ@?ïK@?âôÀ?S?lÀ?a€?¤@?ÅÍ?ß¡€?îÖÀ?î7À?íY€?ë@?ç¨À?æ×?äe€?ë¤?íZ@?åÙ?Ú"?Þ‡€?Þ?Á›?“h?¿¸?Ÿ(?]?“h?«@?X?F?F?g€?P?¥?Y?m€?Äe?˜°?¤ˆ?¾¾?pÀ?”@?ª8?å­À?èB?èGÀ?èü?ål?æò?î„??î|@?î”?ïÀ?î©?ï»@?ïœ@?ë?»Ò?ð?¦ì?È“?°Ð?Ü‚?¨`?0?ר€??ïŒ@?ï?ïÃ@?ïZ€?îÙÀ?ï¥?ï À?ïf€?ïÜÀ?ïÊÀ?ï¹@?ï©€?ï“€?ïo€?ï<@?ï`?ï‘€?ïØ?ïé@?ïê€?ïÞ€?ïá@?ïÐÀ?ïÊ€?ïS€?íÇ?îÕ€?ï¦À?î©À?î/€?íñÀ?ï©@?ï·@?ï?ïËÀ?ï|@?ï@?îÔ?ïë@?ïÛÀ?ïØ@?ïÒ?ïÄ€?ïÛ?ï>€?ï€?ï–€?íÒ€??ïÜ€?ïÏ€?ïìÀ?ïKÀ?îÃ?ï'?îÌÀ?ïOÀ?ï²?﯀?ï¬@?ï­€?ï¢À?ïÎ@?ïÙ@?ïó@?ð?ïò€?ïø?ï”?ïê€?ïüÀ?ïö?ï‘@?ïI@?ð?ð?ïü?ïé€?á@?Øü€?ï˜À?ï¤À?ï¹À?ï¦À?ïÆ@?ð?ïò€?ïÆ@?ï¾@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ﻀ?ïz?ïL@?ïf@?ï„@?툀?ï ?ïà?ð?ìxÀ?éÊ?ÒŸ€?íx€?îå€?èˆ@??ïÁÀ?ïµ?ð?ïø?ï»@?ïº?ïË@?ï{@?îª?íÇÀ?ï`@?Øâ€?©x?iÀ?ªÜ?Íù?Ú€?çø€?çÙ€?ç5?êA?íä€?ì¨@?ì¸@?íe@?ëçÀ?Ô€?Ñ:€?Ð ?|À?b@?T?B?•@?0?z€?°Ä?À¢?Ó‡?›h?¢D?>?`?Îí?Ú\?e@?¢?·ä?ã$À?æ>À?éÀ?é @?éJ@?çæÀ?ëÙ@?îá?î¼@?êYÀ?å@€?Ù‰€?çZÀ?î~?ïI@?ï…?á¿?Ø?l€??»v?¼¢?¹?°?Ò¸?¦(? ?lÀ?ž˜?éæÀ?ïÒ?ï³À?ï*€?ï¾@?î²@?ï„?ïH€?îDÀ?ïþ?ï·À?ïÀ?ï”@??ï•@??ïW€?ïº@?ïÐ@?ï”?ïÄ@?ï±@?î?@?îx€?î[€?íÝ@?îÑ@?ïI?ï¡@?î9€?ïd@?ïj?ïÝ?ïSÀ?ï'?ïï@?ïÀ@?ïpÀ?íÙÀ?ïÚ@?ïù?ïÖ@?ïÝ@?ïÙÀ?ïº@?ïÜ?îíÀ?îÑ€?ï§€?ïÌÀ?ïÇÀ?ïë€?ïå@?îÑ?ï-@?ï|?îÀ?ï??ïoÀ?ï·@?ïÆÀ?ïì€?ïþ€?ð?ð?ð?ïþÀ?ïøÀ?ð?ð?ïÿ?ïþ€?ð?ð?ð?ð?ïÿ?ïÿ?â-?P€?r?ªì?ëg@?ïµÀ?ï¬À?ï«?ï´?ð?ð?ïä€?ïò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ïÛÀ?ïhÀ?ïZÀ?êZÀ?èÁÀ?ïQ?ïØ?ð?ïÙ?îÀ?æ%?àØÀ?ïa@?ê<@?è{?ï‚À?ï¸@?ïÀ?ï}À?ïA?î@?í €?î[€?îÿÀ?ï0€?îQÀ?܈?ªH?‚ ?ÍA?â=@?æïÀ?è?ë@?é„@?íÃ@?ë{?Ùö?ßÑ€?±?ÒÂ?´Ì?Èo?Øx?Ía?²²?¡è?Ï ?¿Þ?`?Œ@?Âø?Ê(?Æë?Ñ€?ØÈ€?­|?°„?¾`?À_?¹ô?±|?•˜?p?Äa?~ ?2?ÙÝ?æT?áH?Ù”?á?èà€?éK@?ëUÀ?èd?é:€?áù?¼þ?—ˆ?Ǿ?å@?ï@?ïŒ?äö?`?p ?ŠP?§P?Ϲ?ÛÆ€?¤ä?®?Ù"€?Ïç?‚@?­D?O?]?Åý?íÆ?ïÒ?ïnÀ?ï«€?îˆ?ï±?ïh?íq?ï@?ïÄ@?ïx€?ï‘?ï?ï«À?ï°€??ï¨À?ïÁ@?ï¶@?ïš@?î«?ïÀ?ï‹?îÜÀ?î³À?ïŠÀ?ïb?îÁ?íc?ï”@?ïÌ€?ï¦?îø@?ïÔÀ?﯀?ïêÀ?ï?ï€?ïkÀ?ïê@?ïðÀ?ïâ€?ïÀ?ïÄÀ?ïó€?îÝ@?îg€?ïª@?ï¯À??ïÀ@?ï±@?î”?ï À?îý?îÕ?ï‘À??鹿?ï¿À?ïù@?ïý?ð?ð?ð?ïøÀ?ïú?ð?ð?ð?ïï?ïù@?ð?ð?ð?ð?ð?ïùÀ?ÝU?s€?• ?¨L?çª?îùÀ?ï¡@?ï›@?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ïQ€?ìå€?ç¡À?îü?ïyÀ?ïæ@?áÛÀ?éð€?äÀ?í_À?ãñ?ï/?îÄ€?íÇ@?ï@?ï¿À?ï€?ïmÀ?ïPÀ?ìY€?îF?îãÀ?ïV@?ï}À?ïLÀ?á€?:?S€?¥´?”?¾.?Ôs?Áœ?Ø@?È?åÄÀ?éM?芀?߀?äu?Çø?Öö?åšÀ?é€?â?ÛÜ€?Òí?»¼?´t?·è?Ä?ç@?ê³À?åT@?У?B?0?,?“@??°?—Ð?ߨ?é|À?íH@?í]?íT?Õÿ?~?Áp?í @?ï²€?îÄ?Ô¯€?’¸?¦ø?s ??v ?•È?Å ?ËÃ?· ?‰@?Þî€?d€?J?à™€?ïÉ@??ï·?ï6?ï.?î‰À?î±À?íø€?ï±À?ï“€?ï‚@?ï©€?ï’@?ï¯?ï¥À?ï§?ïS@?ï?îü€?í?@?ï‹?ï'@?íâ€?ïnÀ?ï£?îÚ€?íLÀ?ïcÀ?îË?鹿?ïÂ@?îc@?ïÝ@?ïÕ@?ïÁ€?îÒÀ?ï¡€?î@?ï ??ï¹€?ï®À?ï›@?ïãÀ?ïŒ?ï?îDÀ?ïØ@?ïÞ?ïÖ?ï¤À?íW€?ï^?îí?ï@?ïš@?ï±???ïö€?ïø€?ð?ð?ð?ð?ïù€?ð?ð?ïÀ?î@?î“À?ïÉ€?ð?ð?ð?ð?ïpÀ?Á¾?È?î@?î»@?ïˆ?ï‘À?ï €?ð?ð?ð?ð?ð?ï½?ï|€?ïùÀ?ð?ð?ð?ð?ð?ð?ð?ïù€?îù@?î@?ïö€?ïž?ïz?íA?Øè€?ïÝ€?ïÖ?ï?ïÀ?ï‚@?ïZ?ïT€?ïpÀ?ïÀ?îã@?ïP@?ï€?îC?ïd@?ï5À?ï`@?ï@?ïa?ì‚€?”ˆ?›Ø?@?W€?‚?–Ð?” ?sà?‚P?Ñ}€?ÕG€?©l?ƒ`?t`?K?»V?ât@?ëÃ?ßÏ?Âý?~€?•È?Í\?Ö?ÚŒ€?×n€?¥Ô?6?a@?Ñ?íÍÀ?ï©@?ì?æÌ€?ž`?Ê ?ÆB?Q?a€?«l? ?lÀ?]?­¼?Ó2?ÐÏ?ÒÔ?Å·?¹Ž?íØÀ?ïÅ@?ﺀ?ïµ€?ïX@?ï%€?î.?îbÀ?ïÙ@?ïÑ?ïkÀ?ïŠ?ïr€?ï‹@?ïN?ïaÀ?ïv?îZ@?ï0?îØ?ïg@?ïF@?ïˆÀ??î™?ï@?ï=À?ï€@?ïxÀ?ï^?ïÈ@?î«À?ïÛ€?ïçÀ?ï×À?îS€?ïÉ?ïi?îu@?ï~@?ï¿@?ï±?ï¾À?ïË€?ïÚ@?ïð@?îÞÀ?ï‚€?ïµ€?ï‡@?íI@?ï3À?ïe@?î8€?ï3€?ï|?ï¢??ïÐ@?ïú€?ïé@?ïò?ð?ïøÀ?ïôÀ?ïÙÀ?ïÀ?î«@?ïK@?ð?ïõ?îìÀ?ïç@?ïËÀ?ïÑ€?ïb@?áÎ?G? ´?ëÀ?î|?î©€?îö€?îÌ€?ð?ð?ïð€?ïø?ð?ï·€?ï€?ïú?ð?ð?ð?ð?ð?ð?ð?ïû@?ïŒ@?ï¾?ð?îÇ@?ï&?ïâ?ìk?ð?ïèÀ?ïWÀ?ïRÀ?ï|À??ï"€?ïJ€?êÿ?ÛÛ€?ï{€?ï¢?ï›?ïxÀ?ïZ€?ïYÀ?íX@?ïG?ï7€?Îb?S?S?y ?Õ€?ä?é0À?·ö?w?äR?î†?Ôw?”¸?‹?aÀ?š0?S?:?L?Ô•?ëî€?îÑ?ïW?çÓÀ?½?Ðá€?¼Š?_?а€?à@?ÃÂ?ºp?’?e€?a€?ãÂÀ?ï¿@?ï¿?ï€?ï­€?ïU@?îàÀ?îjÀ?ïÀ?ﻀ?ïÀ?ï£À??鹿?ï|?ï’?ït@?ïÀ?ï¶À?îæ@?ï¶?îê@?î¢À?î€?ï@?ï~@?ï©€?ï|À?ïU@?ï4À?ï¦?ï\€?ïä@?ïè€?ïÿ@?ïBÀ?ï©À?ïð€?ïÒ€?ï?îÀ?ï¹?ïçÀ?ïãÀ?ïÆ?îí?ï À?ï™@?ï@?ïIÀ?ì˜@?ïO@?ïp€?î•€?ï€?ïž?ï¹@?ï¬?ïÆÀ?ïí@?ïô?ð?ð?ïßÀ?îbÀ?îí?ï³À?ð?ð?ð?ð?ïö?ïJ?îµ@?ï~€?äd@?› ?×E?ïo?ï’À?ï‰@?ï À?ð?ïäÀ?ïŠ?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï–@?ï @?ð?ð?ïÂ@?ð?ð?ð?ïÜ?ï@?ï#@?îæ@?îi@?ïRÀ?îø@?îê@?Ög€?î@?ï€?ï¬?ï€??ïb?ïp?ï«À?ïÀ?ì‘@?Òô?D?D?”(?̓? d?D?ÂF?ÕŽ€?¸Ú?J?b?³H?[?©ø?¿À?ÏÃ?ÛÕ?é@?Ѐ?© ?{?‘Ð?`?Ô“€?ÔT€?b?‚?mÀ?Ë9?îýÀ?ï¤?ï¢@?ïÃÀ?ï¸?ï‡À?î«?ï>À?ï¶@?ïî@?ïä€?ﺀ?ï­À?ï‹??ïÈ€?ï¨@?ï¸À?ïâ€?ï³@?ï¶€?ï @?îV@?ïá@?ï¤@?ïsÀ?ï‚À?ïh€?ïjÀ?ïÍ€?ïºÀ?ï½€?ïé@?ïèÀ?î_?ïU€?ïê€?ïý€?ïÌÀ?î”À?ïÀ?ïÑ?ïø@?ïµ€?îÀ?ïx?ï™?ï¡@?î@?í?ïL€?ïw?î¢?ï§€?ï­??ïä@?ïÿÀ?ïì@?ïÂ?ð?ïó?îË?ï2À?ïó€?ïÿ@?ð?ïÿÀ?ïøÀ?ð?ð?ïûÀ?ï°?æ@?°??ì\À?ï­À?ï¸?ï¾@?ð?ïòÀ?ï×?ïè?ð?ð?ð?ð?ð?ïå€?ïâ€?ïÔ?ïèÀ?ð?ð?ð?ð?ï%À?ð?íf€?ð?ð?ð?ïö€?å&@?ìO@?î`€?ï6À?ïR@?ï:@?îÇ@?îý?Ög?ì@?ïÀ?ïŸ?ï ?ïm€?ï*À?ï À?î—@?îA@?î?àN?K?¦Œ?ÅZ?E?˜Ð?Ø?à?³Æ?¯?žh?u@?ÝX€?Â?Œ@?J?—˜?¡X?k€?i€?\€?„P?Ê?`?Õ? ?P?ãCÀ?ïœ@?ïm€?îl@?ï‘€?ï6À?îÄÀ?îÀ?îÌ?ïÓÀ?ïµÀ?ïáÀ?ïÃ?ï¿À?ï³@?ï€?ï­@?ï±€?ﻀ?ï>À?íZ?í¬À?îÎ?ï±?ïÁ@?ï¾€?ï @?ï‹À?ï–@?ïê€?ïÀ?ïK€?ïÔ€?ïÊ€?îjÀ?îØÀ?ïà@?ïôÀ?ï»?î|?ïÁ@?ïÑ€?ïÀ?îÀ?îÊ€??ï~?ïE€?ícÀ?íÏ€?ïN?ï€?î²@?ï±??ï À?ïV@?ïË€?ïÝÀ?ïç@?ïÓ€?î˜@?îK@?ð?ëü@?ﻀ?ð?ïç€?ïÝ€?ïø?ð?ï±?ãtÀ?ƒ`?¢¨?íZÀ?切?ï^À?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ïÊÀ?ïª??ï¿À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?æ€?é=?ï'?ïK?îÇÀ?îŽ@?îÆ?ïK@?ÚÚ?ÝI?ï€?î’?î°@?î“@?î*?íà?îÿÀ?ïÇ€?ïq€?Ø!€?ɽ?¸?å>À?èD?Ź?Ô•€?á,€?Çù?¤@?I?§X?­€?¡`?ì@?Ûú€?©<?ÉC?¯¼?h?¾J?lÀ?’8?¤¤?½R?ì¯?ï§€?ïÀ?ï£@?ïœ@?îe€?ïG€?î–À?ï¤?ï“?ïZ?ï8?îå??ï«€?ï—?ïZ@?îŒ@?î?îy@?ïœ@?î«@?ïÖÀ?ï}@?ïtÀ?ï£À?ï³@?ï?ïn?ï«@?ï^?ïÏ€?ï¿À?íÜÀ?ï»@?ï\?ïï@?ïÿ@?îí?ï|@?ï£À?ï @?îI??ïEÀ?ïu€?ïk?íä@?ìÀ?îZÀ?ïq€?î¥??ï²@?ï’€?ïÀ?ï„€?ïåÀ?ïßÀ?ï½@?îl€?ïÿ@?ð?ð?ð?ð?ïÞ€?ð?ð?ïí€?ëøÀ?´‚?Å?ï-€?ïî@?ïã€?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ@?ïê@?ïó@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïv?íÙ?ìÀ?ïJ€?ï9?îý?îò€?ïa€?îw€?À?ã€?ïL?ïiÀ?ïW@?ïH?ï"€?î¯À?ï€?ïq€?ï'?Þù€?¨ ?ž°?¾ ?¼4?ÁV?`?®ì?Ò«?½Ô?É‹?èÐÀ?î¥?êèÀ?à´À?Ö¶?Úæ€?Ö/?Ö€?{@?Õ?ï°€?êöÀ?™`?{ ?R?nÀ?]?à•@?︀?ïm@?ﻀ?îÕ@?î#À?ïj?îåÀ?î°À?ï«@?ï€?îß?ïPÀ?ï¤@?ïˆÀ?ïe€?îÐ??îä?ïÐ@?ï·À?î€?í€?îN@?îíÀ?î @?ïÒ@??ï¢À?ïÀ?ï\@?ïÄ?ïŽ@?ïo€?ï:?ï¾€?ï£@?ïÝ@?ï@?ïª?ï|@?îïÀ?í3À?î‡??ï4À?îüÀ?ín€?íˆÀ?ï_@?豈?îƒ@??ï¥?ï|@?ï³€?ï¤??ïÈ@?ð?îiÀ?ïö?ïü?ïéÀ?ïâ?ð?ð?ï÷€?ïÁÀ?婢?ß_?ÇÆ?ê2?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïž@?ïÅÀ?ïQ?ïm?ïu?îôÀ?ïjÀ?ïvÀ?ïW@?Ó€?æs@?ïn€?ï›@?ïj@?î°?ï\@?ïÀ?ï¥@?ïd?îÅ@?áH@?0?i?µÌ?„@?k@?âËÀ?æ˜À?–0?€?ÜL?ìÀ?îU?îÔ@?ï,À?ïÕ€?ï­À?ïØ@?î?ïœÀ?ëßÀ?àÎÀ?w`?߀?ïÎ?ï·À?Ø”€?Ÿ8?ê€?ïÚÀ?ï‰?ï´@?ïµ€?î¤?ï¦@?ï’À?ïÑ?ï ?î)À?î @?î;?î;?îÿ@?ï×?ï¹€?îå€?ïÏ@?ëP?íX€?î$@?íT@?ìÇ?ììÀ?ï+@?ï¾€?ï¾?ï‡@?ïD€?ï¤@??ï«@?﯀?ï§€?ïž@?ï²?ïš@?ïï€?ï—€?ï@?íéÀ?î@?ï&@?ïN@?î?À?ë¹?ï€?ïŽ?ï@?îË€?ïS€?ï¡€??ïØ?ïdÀ?ï_€?ï¾?ïçÀ?î]€?ð?ïü?ïÅ@?ïÕ?ï£?îÚ€?îñ?é<€?ç8À?¡´?£<?莀?ï§?ïâ€?ð?ð?ð?ð?ð?ð?ïÖÀ?ï¹@?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?îò€?î¼€?ð?ð?ð?ð?ð?ð?ð?ð?ïìÀ?ïnÀ?ïN?îòÀ?îàÀ??íÊ€?ï9?à±À?ã¾À?ïä€?ï­@?î»À?ïÀ?ïk?ï”?ï£?ï`?î÷@?â@?˜?f€?P?¾D?åÀ?ïp€?Ñ"?¹v?ì°?ïð€?ïõ@?ïú@?ïé@?ïø@?ï¼@?ïÒ@??ïº?áÛÀ?¿¾?å?ïÝ€?ïí@?âé? à?U?W€?Ñå?ï]€?ï£?ï™@?ïÔÀ?豈?ïÊ@?ï—?ï€?ï°?ï0?î«?îï€?ï¢@?ïÓ?婢?﯀?ï@?îçÀ?í±À?îp@?îÕ?îíÀ?î1€?ï]@?ì@?ìÑ€?íg@?î@?ï/À?ï¿€?ï¦?ï?ï}?ï¦@?ï¤À?ï–?ïxÀ?ïÁ€?ï¯@?ïx@?ï‡À?ït@?ï‚€?ïJ€?ëQÀ?ê·€?ïw@?ï{€?ïs?îÑ€?ïX?ïpÀ?ï€??î,?îâ?ï«?ïž@?î*À?ð?ïü?ï½?ï«€?ï»?ïÅ€?ïj?Ù“?¦D?ÒF€?ï©À??ïÙ?ð?ð?ð?ð?ð?ð?ïÀ?ïŸÀ?ïñÀ?ð?ð?ð?ð?ð?ð?ð?ð?îÞÀ?ïO€?ð?ð?ð?ð?ð?ð?ð?ð?ïàÀ?ïJ@?ï€?ï6@?ï?îò@?í†@?îð€?ë5€?Ö‰?ïâ€?ï¨À?ï@?豈?ï‚À?ïq?ï8@??îÐÀ?ã¶€?Ñ€?ç»?ï0€?ï¢À?â À? ?¦È?¹à?Ò?›¨?{ ?ç5€?ï À?ïÈÀ?ïÿ@?ïÿ?ïïÀ?ð?ïþ@?ï©?ð?ï„?Ðí?ÑÕ?s ?…ð?ì?ï¾?ïð@?ç??c@? ?K?Š ?¼?½?îc@?ïî€?ïÒ?ï¡@?ï¹?ï¶€?ï¹€?ïªÀ?ï¦À?ïÀ?ïŸ?ï‘À?ïÒ€?ïÊ?ïï?îÒ?êbÀ?ïˆ@?ï{?íí€?ïL@?ì‘@?îÚÀ?ï€?ïE€?î’@?îŸ@?í—@??ïÌ€?ï¸?ïÁ?ï¸?ï¾@?ï°?ïl€?ïh@?ïx@?ïªÀ?ï©?ï’?ï{€?ïmÀ?ìŸ@?éj?íøÀ?ïu@?ï¦@?ï˜À?ïp€?ï±À?ï•@?ï…€?ï‡?ï@?ï6À?ïÕ?ïi€?îÕÀ?ð?ïç@?ï£@?ï‹€?ï ?ï?îõÀ?ÊÄ?áV?ïÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï1?ð?ð?ïÆ@?ïË€?îã€?ï/@?ïW€?î€?ïo?ïz€?ï?îMÀ?ç‰À?ì€?îÊÀ?ïšÀ?ï†À?îÕÀ?îÔÀ?îó@?ïy€?ïTÀ?ê*@?£´?D?Ü»?ï3€?ï'€?ï@?å•?—p?Èl?Ü‚€?ëò?ïûÀ?ã@?“ð?ј?í¦?ð?ïîÀ?ïÏÀ?ïã@?ïò?ð?ïíÀ?ï½À?ïSÀ?æ@?«P?ÑŒ?„ð?éÑÀ?ïØ€?ïå?î¦?×,?Ú£€??Q€?f€?µÐ?e€?¡„?èá@?ð?ïë€??ï˜?ï·À?ï—À?ï‘@?ï @?ï·@?ïÃ@?ï¡?ï¶À?ïÇ?ï»?îd@?ïGÀ??ït€?îñ?íÇ@?ï'€?î°À?îò?î+À?ïd?ïe€?ïÆ@?î @?ï©€?ï¯@?ïÓ@?ïÅ@?ï¶À??ï@?ï‹À?ïsÀ?ï…À?ïÈÀ?鹿?ïy€?ïg?ëû€?éå@?ï@?ïw€?ï‡@?ïU@?ï‘?ïxÀ?ï…€?ï†@?ï’À?ï|€?ï›@?ïŽ?îœ@?ïÀ@?ïþÀ?ïï?ïÙ€?ïâ@?ï¼?ï?í߀?Äö?4?é*?ïä@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ï¦@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝ@?ï9?ï‘€?ï}€?ï¯À?ï‘@?ï“@?ï’€?ïm?ï‘@?ìÕ@?í‘@?ïŸÀ?ï”@?ï¯À?ïŸ@?ïÀ?ï?ïq@?ëÔ@?­$?ÓE?éF@?ïj€?ïp€?ïq€?ëÀ?˜Ø?¶?è×€?ïÀ?ïâ€?ïÇ€?ïÅÀ?߀?àð€?Ï;?ëm@?ïÞ?ïû@?ï³€?ïù@?ð?ïëÀ?ïÄÀ?ïÜ€?îŽÀ?Ù?çº@?ïö@?ïÊ€?ïó?ïÀ?ïL?á?`@?Îo?¿|?£ô?Áh?éþ@?ïîÀ?ïÚ?ï±€?ï¼€?ï—À?ïgÀ?ïnÀ?ïs€?îõ@?ï;À?ïdÀ?ïäÀ?ï­À?ï3À?ï•À?ï¬À?îìÀ?îM€?î €?îp?ï%€?ïv?ïÀÀ?ï³?ï˜À?ïœ?î¿€?ïoÀ?ïÏ@?ï²À?ïÄ@?ï°?ï€?ïx@?ï§À?ïÄ€?ï¿@?ïÞÀ?ïß@?ï„À?ïbÀ?ë—@?ì_À?ïb@?ï€?ï†?ï}@?ï¶@?ïÅ€?ïv@??ïŸ@?呂?ï°?ïž@?î²@?ïÄ@?ïçÀ?ð?ð?ïß@?ﺀ?ïŒ@?îÁ?Àÿ?Áp?ïÙÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë@?ï¿€?ð?ð?ð?ï?ïå?ï›@?ð?ð?ð?ð?ð?ït?îÿÀ?îÞ?îÄ?ïÂ@?ïF€?ï“?ïtÀ?ï@?ìÚ€?ì €?ï¦@?ï—€?ï—@?ï—@?ï€?ï}?ï€?áÛÀ??} ?°€?âRÀ?ê@?î€?ï=@?ïƒ?딀?ë7?Æ…?Åì?ç$?îí?ïìÀ?ï÷À?ïã€?îâ?ì¥À?ï©@?î@?í–?ï|@?ïÏ€?ïºÀ?ïôÀ?ð?ð?ð?ð?ïúÀ?ï\?â±@?¼<?œ¨?˜à?ì?ð?ïÙ@?ïï@?ïà@?ïØ@?êÀ?v`?Ų?ã€?°ô?Àº?Y€?·¦?æ…À?ï~€?ïUÀ?ïÏÀ?ï§@?ïšÀ?ïy?ï+À?ï€?Ûþ?ê>?ïù?ïw€?î@€?ïÀ€?ï½?ï¶?ï€?íÅÀ?îÂÀ?ï—?ïL@?ïì@?ï×@?ï°@?ï€?í+@?ïÀ?ïÈ?ïº@?ï®@?ïq?ï›?ïc€?ï”À?ï¤@?ï†?ït?ïxÀ?ïZ?ïF?í’@?ïj??ï´€?ï‹À?ï›?ïˆ@?ï‰À?ïÀ?ï–??ï¬À?ïG€?î—?ï(?ïJ€?ï˜?ï¢À?ïO€?î¼€?îô@?îâ?îÀ?É<?à?À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ?ïÉÀ?ï´À?ï6€?ïÑ@?ïI?ï¹À?ïèÀ?ï©€?ð?ð?ð?ï…À?ïÐ@?ïú@?ð?ï2@?ï¼@?ïÃ@?ï—@?ïÊ@?ï³À?ï«?ïŸÀ?ìë€?ï˜?ï?îí?åŸÀ?¦€?·?ÒU?ã`€?éÀ?ìàÀ?ïKÀ?î߀?ï†À?ï­@?ë2À?ÎÀ?q€?„Ð?»¢?Í£?î#À?ïò?ð?ð?ïß?ï¦@?ïôÀ?ïË€?ï€?ïìÀ?ð?ïÀ?ïá@?ïÞ€?ð?ð?ð?ð?ð?ð?ïã?èÈ@?Ûµ€?¤T?Âó?ï ?ïò?ïI?ï“?ïñ€?ð?íå?¶–?Å—?Âî?È?¨?¥€?y@?r ?q ?]?„@?tÀ??S€?s ?^€?Ñl?êM€?ﮀ?ïÕ@?ïµ€?ïµ@?ï<À?ï<À?äy€?Ñc€?ë?ïãÀ?ï–?ï•@?ïß?ïË@??í½À?î¼@?ïá?ï¸?ïÖ€?ïÚÀ?ïÒ@?ïqÀ?íªÀ?î0€?ï¦@?ïXÀ?ìâ€?îe€?î{À?í“À?î€?ïˆ?ï“€?ïœ?ï€?ï…À?ï@À?ïSÀ??ï‡?ï£?ï}?ïŒÀ?ï}€?ïH€??ï{@?ïS?îí@?î ?ïYÀ?ït?ï™@?︀??ï®?ï}€?îàÀ?îÞ?î^?Ïó?àA€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï·?ïŒ?ïm€?ï €?ïŒ?ïU@?ï7€?èC@?âà?ïÜ€?ð?ð?ð?ð?ð?ð?ð?ï‹?ïy?ð?ð?ïè@?ï¢@?ï^€?ï?ïq€?îÜ@?çl€?À=?àÀ?ï@?ff?ïQÀ?í€?î•@?ïgÀ?婢?ï±?î@À?¸Ä? ?Éè?Ë?䞀?ê?î-€?ð?ð?ð?ð?ïæ@?ð?ïü?ð?ð?ð?ïÏ€?ð?ð?ïüÀ?ï”À?ïüÀ?ð?ð?ð?ïþ?ïÍÀ?ï¸?ç'?Ʋ?°ø?Ï?hÀ??ÛF?ï³€?ïýÀ?ïàÀ?ïÚ€?ïß@?ð?ï=€?ÐH€?A?w€?Ñù€?Çÿ?{ ?eÀ?t€?ªD?ß’?äe@?Ïý?o€?]?Š?±?“°?P?n@?’@?—p?‚€?@?$?H?š(?Ò?€?æÓ€?ïšÀ?︀?ïF?ï_?ïG?ëX?ì €?ïã€?ïà@?ïå€?ïÿ?ïÛÀ?ï3€?îB??îY?ï­À?ïÀ@?ïø?ïö€?ï²À?ïS€?ê߀?í@?î6€?ë÷@?éÀ?éŒ@?éq@?ëD?îó€?ï¡?ï¥À?ï ?í€À?ï¶À?ïÀ?ï‰@?ï’?ïŸÀ?ï“?ï­€?ï€?ïu€?ï€@?ïk?ï€@?ïÀ?íñ?ïŒ?ï£À?ï’€?ï¬À?îýÀ?ï @?ï??ï˜?í€?¶š?ã_?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î®@?ï½?ï…À?ïÀ?ïÀ?ïBÀ?äó?éÿ?ï·À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï\?ð?ï«À?ï”?î¿À?ìx€?ã?Óî?™?µ¨?ì¬À?ïn@?ï­€?îìÀ??îë?ï?î¡À?ï¡À?à{?šp?Ã?í^€?æ]À?àö€?ïöÀ?ïù€?ð?ïï@?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ïë@?ïò?ð?ïó?î5@?ïÀ?îÞ?ð?ð?ð?ïÝ@?ïÒ@?ïï?ïí@?éó@?¸â?¦è?ëÙ?ð?ð?ð?ïù€?ïð€?ïåÀ?ïä?ìp€?¨ä?…°?h?I?šø?¤”?®?¾(?›ø?°d?và?”?œ°?e?wà?A?h?g?X€?\€?F?J?ð?Öƒ€?ë?ïÖ?ï0?ï<À?ï—@?î«?ï€?ïð€?ïÙ?ïß@?ïÝ@?ï¬?ï@?ï @?ï¯@?ï €?ïÆ€?ï`@?ï@À?ïë?ïÛ?í´?í³€?í8?éÛ€?é @?é@?és?é–@?ëÀ?呂?ï•À?ïˆÀ?íÒ€?ïÀ?ï³@?ïo@?ïb?ïq@?ïy@?ï@?ï[?ï??ï'?î7À??î“?ï_À?ï°À?ïÁ€?ï¨À?ïy€?ï°??ï–À?ï˜?égÀ?`?俀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïA@?î5€?î‚€?îÑÀ?îí@?ìyÀ?ësÀ?ïÙ@?ð?ð?ð?ïê€?ïÜ?ð?ð?ð?ð?ð?ð?ï¬À?ï‡?îú?íÛÀ?äœÀ?¿ ?Z€?Ñ÷?ïg?ï@?ï£@?ïb@?ï£?î½?ïI?놀?ï €?Ûã?ÑÚ?ïôÀ?ïrÀ?îqÀ?ïõ?ïø@?ð?ïÅÀ?ïû@?ð?ð?ð?ð?ð?ð?ð?ïø@?ïp@?ð?ð?ï€?í¸@?îà@?ï‘À?ïÔÀ?ð?ð?ïçÀ?ïü?ð?ïÞ@?é?ßœ?ä€?ï?ð?ð?ð?ïþ@?ïì?ïÈ?ïßÀ?ïÈ€?Ά?ËQ?«Ì?ÁØ?ë€?èö@?µJ?”à?„ð?ˆp?e€?v@?Êy?µZ?à?s ?aÀ?W€?(?`€?uà?O?Ì?í2€?ïá?ï¿À?ïÀ?ïj€?ï>À?îý@?ïÅ?ïÌ€?ïè?ïé€?ïú?ïÏ?ïÅ@?ïF€?ï´@?ïÕ@??ð?ïüÀ?ï¡@?ïÀ?ît€?ìÈ@?ê/@?é@?陀?é•À?êûÀ?ïÇ?ïÑÀ?ï‘€?ï›À??ï‚€?ï‡@?î¾€?í…€?ïX€?ï¡À?î½À?ï?ï­?ïP@??ï©?îÌ€?ï“@?ï²??ï£@?ï°?ï˜À??îúÀ??æM?h@?ÔR?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï7?ï—?ïéÀ??îÉ€?îØ@?î÷€?ï&@?ï…€?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï×€?ê]À?®H?ÉÃ?ïú?ïø?ïüÀ?ïÊ€?ïÀ?ï?ï*?ïv?ïK?Ðë€?P?׆€?ïýÀ?ð?ïóÀ?ï´À?ïÚÀ?ï›@?ïÈ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?ïý@?ïÔÀ?ï¹@?ïð@?ð?ð?ïþÀ?ð?ïñ@?ïï€?ïó?ïè€?ïíÀ?ïÓ€?ïÍÀ?ïÜ?ð?ï÷?ïï€?ð?ïÈÀ?ï¢?Ôâ?2?C?e?µb?Üz€?Ø€?™p?X?y ??{?‹?[?h€?j€?à?]?S€?N?$?¿?èêÀ?ïê€?ïXÀ?ïõ?ïò?í‘À?í?ïá€?ïú?ïü@?ïá€?ïÔ@?ïÖÀ?ï @?ïâ?숀?ï0À?ïü?ïíÀ?ïð@?ïÚ€?ïi?ïÀ?éÛ?érÀ?ê À?é§@?í À?ïú@?ïÕ?ff?ï??ï?ï›À?ï~?îs€?ï2@?î_€?ît@?ï}€?ïz€?ï{@??ìä€?íˆ@?ï„@?ï½À?ï°?ï’€?ïSÀ?ïy€?ï­À?ïx@?ìÕ€?²0?c?á¨@?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?îî?îüÀ?ï§@?ïØ@?ð?ð?ï3€?ï?ïI?îÁ@?îç€?ï\?ïø?ð?ð?ð?ð?ð?ð?ïé?ð?ð?ð?ïý@?ç@?Á†?…ð?ìW€?ïÃ@?ïÍ@?ï§€?îúÀ?îª?ïq?ï¶€?ë ?›H?Ѩ?îšÀ?ð?ð?ð?ïüÀ?ïç?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö?îÂ@?ïm@?ïýÀ?ð?ïü?ïÝ@?ïêÀ?ïü?ïö@?ð?ð?ïÿ?ïá@?ð?ïú@?ð?ïóÀ?ïæ?ïñ€?äÝ?šÐ?h€?¢?ÉË? ?·:?c?R?¢h?[?› ?{?«t?e€?e€?X€?]?J?D?àŸ€?ïñ€?ïÞÀ?ïê€?ï÷@?êü?áã?ï²?ïôÀ?ïü€?ïéÀ?ïÑÀ?ï^€?ï€?îGÀ?ëÏ@?ïT@?ð?ð?ïú€?ï¼€?îd?íì@?é@?é @?éw?ê«À?íæ@?ð?ïÙ€?ï«€?ïÄ@?ï€?ï€?ïv@?î€?îÍ€?îï?ïŠ@?ï@?ïQ?ï˜À?ïv€?ï¦?îÀ?ëâÀ?ï¢@?ï›À?ïÅ@?ïÄ?îæ€??ï¿@??è¶À?¦?ì™À?ïóÀ?ïö€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïªÀ?ë9À?ë„?íõ?ïú@?ð?ð?ïù@?ïø?ïï?ïÑ@?ïzÀ?ï‡@?ïú€?ð?ð?ð?ð?ð?ð?ï ?ð?ïÓ?ïÏ@?á°À?>?âý€?ïª?îdÀ?îf@?îøÀ?ïc?î×À?ð?á€?»þ?ê@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï7€?ïÅ?ïó€?ð?ð?ïð@?ïæ€?ð?ïý?ïö@?ïü@?ð?ð?ð?ïù@?ïï?ïê€?ïò€?ïÕ@?ïW@?çíÀ?Ô €?Y€?`?k?Æ?I?k?v`?¡?hÀ?{@?F?pà?–ˆ?P?I?eÀ?l@?$?]€?y?׆€?ïÜÀ?ïý?ïêÀ?ïKÀ?ð?îÀ?ïïÀ?ïø?ïüÀ?ïá?ï½€?ïÁÀ?ïô@?ïÞÀ?ïö@?ð?ï³?ð?ïò€?ïwÀ?ëª@?íÀ?ê}@?é‚À?é½@?î??ð?ð?ïâ€?ï˜@?ﺀ?ï€À?ï´@?ï"?îˆÀ?ï¤?ïy€?ï€?ïm€?ïn?ïŠ?ïm@??ï‡À?ï€?ïs?ï]@?ï»@?ïŒ@?ï#?ïx@?î’?î=À?æt€?Ù'?ïá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ï°À?ïØ?ï¿À?ð?ð?ð?ð?ïãÀ?ï¨@?ïš@?ï`?ï•À?ïùÀ?ð?ð?ïƒ?ð?ð?ð?ð?ð?ð?Û?X€?àË€?îÜ?îC?ï2@?ï£@?ïz@?ï‡@?ð?Íå?¿?©?0?¥ ?פ?Úf?ä«@?îÅÀ?ïg?ï«?ïã@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ@?ï×?ð?ð?ð?ð?ð?ð?ïÿ@?ïÿÀ?ð?ð?ð?ïñ@?ð?ð?ïï?ïÒÀ?ï’€?ïé€?íŒÀ?äÀ?Ãd? 0?“`?§Œ?<?w€?”@?,?’Ø?ƒÐ?w ?w@?l@?0?É„?ï°?ïí€?ïü€?ð?ð?ïÕ@?ïÄ?ïò€?ïþ@?ïЀ?ïé€?ïàÀ?ïßÀ?ïý@?ð?ð?ï½@?ï™@?ï~@?ï}?íÿ€?êN?ê÷À?ë€?êà€?ð?ð?ð?ïÈ€?ïƒ?ï”?ïÀ?ï˜?î“€?îÉÀ?î¹€?îˆ??íìÀ?îkÀ?ï ?ï›À?ïÀ?ïO@?ïÀ?ï@?ï?ïŸ?ïz?ï€?ïÈ??ï€?Ë? „?ëA@?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ð?ð?ð?ï®?ï<€?ïb€?ï†@?ï÷?ð?ð?ï¬@?ð?ð?ð?ð?ð?ð?Ö÷?¹ ?íÑÀ?ð?ð?ïÒ?ïÈ@?ï¼@?ïÇ?ëYÀ?o€?а?²‚?£P?Y?´?Ìœ?Ä_?äÀ?ë?ïPÀ?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ@?ïÞÀ?ð?ð?ïã@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ïþ@?ïÚÀ?ïyÀ?ïõ@?ë»?º°?Ûî?Ùu€?˜P?¢ø?®0?H?lÀ?^?[?Q?|?Îë?ïß@?ïú@?ð?ð?ïüÀ?ï¸?ïÃ?ïõ?ïú€?ïÆ€?ð?ð?ð?ð?ð?ð?ïÙ?ïm@?ïo€?ï`€?ï€?éÄ@?ê°?ï8€?ïZ?ð?ð?ð?ïÁ@?ïr@?ï€?ïE€?îü@?îÀ?ïp@?ï‘@?ïQ@?îr€?îj?ï€?ïg?îšÀ??ïcÀ?ï–@??ï…@?ï}?ïŒÀ?é À?ïÃÀ?ï·@?åÚÀ?ŠÀ?]?ÚI€?ï¾€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ïû@?ð?ð?ð?ïßÀ?ï¿À?ï¿À?ï½@?ïü€?ð?ð?ð?ð?ð?ð?ïÜ?î÷À?ð?ë??‘˜?âæ?ð?ð?ð?ïÙ€?ïâ@?ïç?ï´À?â?Å<?àŠ?¢€?ÓO?ì’@?ï/À?ï8€?ïýÀ?ð?ïþ@?ïè@?ð?ð?ð?ð?ð?îÒ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø€?ð?ïøÀ?ïñ€?ð?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?ð?ïû@?ï•€?á¦@?‚??ž¸?ãb€?ã¾À?›¸?kÀ?Ë?­(?f?™ø?¨è?Ÿx?J?@?jÀ?nÀ? ?Æ£?ï‚@?ð?ïø€?ïÿ@?ïÝ€??ïó@?ïÃ?ïì€?ïÜÀ?ïÒ?ïÛ@?ïþÀ?ð?ð?ïÿÀ?ïþ@?ïâ?ïºÀ?ïÇ?ïÄ@?ê €?í7?ïÎ@?ï¶€?ð?ïò@?ï³À?ïŸÀ?ï?ïs?îÞ?íÂ@?ïd@?îÜ@?îï@?ïM?ïh?ï9?ïyÀ?ï™?ï®À?îwÀ?îÒ?ï @?ï‡À?ï’@?ï@?ï¸?îåÀ?ïO?ê-@?¬H?‡ ?èUÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îQÀ?î¸@?ð?ï´À?Ì?Ôa€?ïê@?ð?ð?ð?ð?ð?ï¦?ï»À?ÏÈ?ž?gÀ?¨d?È]?âç@?ï}À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì5?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ€?ð?ð?ð?ð?ð?ð?ïä€?ïÑ?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ð?ð?ð?ïý?ð?ïû€?ïö@?îp€?¿€?„p?@?ŒP?Ü:?çÀ?Í£?V€?¬?ÂX?–P?‚?†€?r€?b?Æf?ïaÀ?ð?ïå?ïÃ?ï¸?ff?ïî€?ï?ïÀ?ïí€?ïî€?ïûÀ?ï‹?ð?ïÕ€?ï§À?ïüÀ?ð?ð?ð?ð?í€?ï,€?ïò@?ð?ð?ïÜÀ?ï…À?ïEÀ?ïo?ï@??î¡@?ïi€?ï‹?ï3@??îø€?ï‰?ïŽ@?ï¤?ï–@?ïˆ@?ï?ï…?ïˆÀ?ï‹€?ï£?ïd?î(@?ìñ@?Þõ€?Á(?îdÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ€?ïóÀ?ïï?ïüÀ?áæ?ãy@?ïO€?ð?ð?ð?ïËÀ?ïÄ€?ïö@?êúÀ?r ?À—?ÙN?ë/À?çl€?è@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïX?ïÒÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ïø€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ïá?ïóÀ?ð?ïûÀ?ð?ð?ð?ïè?ÛB?Ð?° ?¼Z?áÔ€?Çï?mÀ?s ?”@?ÕA€?ïá?ïá?ï“À?ï€?ïZ€??ïÑ€?ï@?ïø?ïó@?ïÖ@?ð?ïˆ@?ð?ïú?ïö?ïÿ@?ð?ð?ð?ð?ï¸@?ïá?ïýÀ?ð?ð?ïÐ?ïX@?ï/€?îð€?îÁÀ?îêÀ?ï—@?ï†@?ï€?ïˆÀ?ïƒÀ?îç@?ïe?ï«À?ï[€?ï‹?ïœ@?ï~?鹿?ï¡??îÜ@?ï_€?ïk?âm@?ÆF?ç%?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ïè€?ïþ€?åõ@?Û²€?ð?ð?ð?ð?ïÑ?ï¸?ïý?âo?Ò0€?îy?ï?æÀ?àþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ@??ð?ð?ð?ð?ð?ð?ð?ïøÀ?ïøÀ?ð?ð?ð?ï¢?ïp€?ð?ïÜ?ï÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?îÕ€?î1À?Þ?j@?x ?§(?eÀ?P?T€?[?a@?Þˆ€?ïú?ïÂÀ?ïìÀ?ïü€?ï«À?îí?ïî?ïÌ@?ïÙ@?ïö@?ïä€?ïÿÀ?ð?ð?ð?ð?ïùÀ?ï÷€?ð?ïë€?ï¿€?ïê@?ï¾@?ïó@?ð?ð?ïÑ??ïo@?ì­@?î$À?î±?îìÀ?î€?îÈÀ?ï€?ïmÀ?ïuÀ?ïd@?ïZÀ?ï‰?ï’À?ï´À?ï™?ïvÀ?íñÀ?ëg?êr@?êa?äŒÀ?–?éÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔ€??âv?Œp?ì8?ð?ð?ð?ïÔ@?ïÝ@?ïü@?Ô‰€?Ϥ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í0@?ð?ð?ð?ð?ð?ð?ð?ð?è@?ãø€?ð?ð?ï•€?ï×À?ð?ïú@?ïð@?ð?ð?ð?ïð?ïýÀ?ð?ð?ð?ð?ð?ð?ïû?ïö€?ïï?ï´?ãî€?©¤?„@?F?‚@?¬P?꺀?ïÛÀ?ï÷?ì'À?êºÀ?ïç@?ð?ïñÀ?í?ïà€?ð?ï…?íÈ?ïó?ð?ð?ð?ï—À?ï¬?ð?î9@?éþ€?ë„€?êTÀ?ï:?ð?ð?ïà@?ïp€?ío€?íe?î?îÕ?ïw€?îû@?ï €?ï†@?ïv@?ïwÀ?ï~€?ïw@?ïÀ?ï„?ï:@?î΀?çÕ?Æö?¤”?ŒP?L?ç¸À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï…?ï4€?ïøÀ?ïþÀ?îùÀ?îÀ?àZÀ?I?ì2€?ð?ð?ð?ïåÀ?ïÑ@?îÂ?±?gÀ?æDÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êR?ïìÀ?ïù€?ïù€?ïù€?ð?ð?ð?ð?ê6@?ç*€?ð?ïù€?îè?îò€?ïÔ@?ï¬À?ïþÀ?ïù€?ð?ïó?ïü€?ð?ð?ð?ð?ð?ð?ð?ïù€?ð?ïç€?ïã??àÍÀ?«Œ? ?[?y ?é®À?ð?ð?îÀ?í»@?ï¹À?ïöÀ?ïâ@?ïš?ïÀ?ð?ïÊ?îîÀ?ïw?ð?ð?ð?ïg@?î¦À?ï*€?í_@?êé€?ë%?ë#€?ïn?ð?ð?ïå??ìð€?ïjÀ?ï™?ï€?î×€?ïL@?îÄÀ?ïÀ?ïv€?ïe@?ïiÀ?ï²€?ïTÀ?ë’?à^?Ôg€?¢0?(?á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?豈?î€?îù@?ïf?ïdÀ?ê´À?Ç?æÀ?ð?ð?ð?ïÀÀ?ïÚ@?ã??ê(@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïùÀ?ïö€?ïá?ïå€?ïà@?ïþ@?ð?ð?ð?ð?ð?ð?ð?ïÇ?ïó?ïýÀ?ïì€?ïó€?ïíÀ?ïø?ï÷€?ïÒÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÍ€?ïõÀ?ïä€?ïè?ïøÀ?ï£?çBÀ? l?ƒ?m@?‚?¤<?ìK?ð?ð?ïò€?ïî€?ïÊÀ?ïÄ?ï»@?ï¡À??ð?ð?ð?ð?ð?ð?ð?ïÛ?ïÀ€?ï^@?ï@?ïu€?ï­À?ïÆ€?ð?ð?ð?ð?ð???ï(?ïj@?ïv?ï…@?îÈ?ï®@?ï§À?ï³@?ï–€?íË€?åq€?­p?O?‚€?éûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ï¦@?îtÀ?ê@?ÛF?´Œ?º†?ëôÀ?ð?ð?ëò@?åùÀ?§?ˆp?³ð?íü€?ð?ð?ð?ïø€?ïü€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?ð?ð?ð?ð?ð?ð?ïù@?ð?ð?ð?ð?ð?ð?ð?ï¸?ï¶?ð?ïÓ@?ï÷@?ïæ@?ïù@?ïÑ?ïô€?ð?ð?ð?ð?ð?ð?ð?ïö?ïÍ€?ïû?ïÈ€?ïþ@?ð?ï´€?åª?Ë;?¢Ì?§@?ï×?ð?ð?ïá@?ïè?ïÒ€?ïã€?ïÎ?ï˜À?ïó€?ð?ð?ð?ð?ð?ïø?ïîÀ?ïô@?ïÞ@?ï:@?ï?€?ïö?ïÿ?ð?ð?ð?ð?ïÇ?ï˜À?ï€À?ï¡?ï?ï\€?ït?ï“À?ï¨@?ïA€?æ0À?¿4?è‡À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ø€?h€?¨?Ú?Û¦€?¤ì?cÀ?´‚?Á?à9@?ïý?ð?ð?ïÿ€?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïç?ï©?ïü?ïè€?ïþ?ïÿ@?íºÀ?ï'@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ€?ïÌÀ?ïü@?ïÐÀ?ïŒ@?ïY?ᜀ?q?ʉ?ïÞÀ?ð?ð?ïðÀ?ïÅ€?ïò€?ïÀ?ïˆ@?ï‚?ïê@?ð?ð?ð?ð?ð?ð?ð?ð?ïÕÀ?ïìÀ?ð?ï¤@?ïð?ð?ð?ð?ð?ïJ€?î‘@?ïÀ?ï €?ïœ@?ï™??ïŸ@?ï§@?枀?¸l?âjÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í¹À?Ä>?›À?Ód€?פ?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ïú€?ïî€?ð?ð?ïò€?ïù@?ð?ïú€?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ïå?ï6@?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ@?ð?ð?ïù@?ïÁÀ?ï¬À?å @?Óo?ð?ïõ@?ïÒÀ?ï´?ï§À?ïÎ?ï£?ïÍ€?ïí@?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï/@?ð?ð?ð?ð?ð?ïÅ?ïŠÀ?ï?ïf@?ï?ïR@?ïƒÀ?ïŽ?ï·@?Þù€?Òh€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îà@?ð?ð?ð?ð?ð?ð?ð?Õ%?Åm?êÍ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï@?ïù@?ïù@?ð?ïé@?ïä@?ð?ð?ð?ïþ?ïâ?ð?ð?ð?ïû@?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖÀ?ï±€?åÇ@?Ù©?ð?ð?ï?ï€?ï§?ïòÀ?ïÇ?ïíÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕÀ?ð?ð?ð?ð?ð?ð?ïÀ€?ï=?ïi?ï„@?ïœ@?ﻀ?ï»?ï½?ï‚@?Ú/€?®?ï|@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïU@?ð?ð?ð?ð?ð?ïò€?ï§À?Á›?a?áý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá€?ïø€?ïù@?ð?ïý@?ïü?ð?ð?ð?ïÿ@?ïÿ?ð?ð?ð?ï÷@?ïì?ï÷?ïú€?ð?ð?ïÖÀ?ï²@?ï`À?ïÔÀ?ïÐ?ïîÀ?ïø?ïú€?ð?ð?ï»?ïù@?ïe?åÚÀ?¶¾?C?I?£Ü?æCÀ?ð?ïãÀ?ïL?ïÊ@?ïè?ï¾€?ïÇ?ïþ€?ð?ïä@?ð?ï'@?ïõ@?ð?ð?ð?ð?ð?ð?îY?ìÀÀ?ípÀ?í@?쌀?î»@?ð?ð?ïo?î`À?îŠ?î@?ïDÀ?ï~?ïiÀ?ï‘€?ï¶À?âF?áЀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é€?A?ÑQ?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ð?ð?ð?ð?ð?ïp€?ïËÀ?ð?ð?ð?ð?ð?ð?ð?ïú?ð?ð?ð?ïì€?ïä€?ïb€?ï§À?ïÀ€?ï{?ïüÀ?ð?ð?ð?ïÙ??ïŽÀ?ï?Çš?r?x?¬h?ì@?ð?ïü?ïø€?ï¹À?ïÇ?ïÅ?ïé?ïø?ð?ï¾À?ð?ï‹@?ð?ïý@?ïü?ð?ð?ð?ð?î-€?ïª?ð?î—?ï@?ð?ð?ð?ï¦@?ïh?ïlÀ?ï|?ïN?îà@?ï‡À??ïà@?á€? ?æ'?ð?ð?ð?ð?ïú@?ïj?ï²@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?â€?@?¦Ô?鈀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÀ?î”?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ïò@?îš@?î‰@?ï´À?ïÞÀ?ïÁ@?呂?ïÒÀ?ïÝ€?ïÇ€?ïÀ?ïˆÀ?ïˆ@?Ùš?È9?ïê?ïò€?ïÕÀ?ïÕ@?ïìÀ?ïü€?ï´À?ï_?ïÉ€?ð?ð?ð?ð?ð?ïÕÀ?ð?ïÌ€?ð?ï¤À?ïD?í¾?ï¹?îÜ?î*À?ð?ð?ð?ð?ï§€?ïu€?ïX€?ïX?ïsÀ?ïAÀ?ïa€?ï”À?î¾€?Í/?‹À?æúÀ?ð?ï¤@?ï>À?îë@?ïô@?ïÆÀ?ïÃ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãü?§H?ÔÍ€?ï¤À?ð?ð?ð?ð?ð?ð?ïø€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ð?ð?ïn?í?ï?ð?ð?ð?ð?ð?ð?ð?ïñ?ð?ð?ï÷À?ð?ïù@?ï<À?îì?ïÝÀ?ïàÀ?ïÌÀ?ï×€?ïÔ@?ïtÀ?ï¥@?ï­€?ï^À?îú?Ö´?“`?F?<?â±€?ïë?ïÜÀ?ïçÀ?ïìÀ?ïâ€?ïò€?ïóÀ?ï¸@?ïø@?ð?ð?ïú?ïïÀ?ï €?ïï€?ð?ð?ïóÀ?ï×?ìÜ@?ïÒ€?ð?ï¢@?ï×@?ð?ð?ð?ð?ï²À?ïa@?ïn?ïŸ@?ï–€?ïƒ?ïz?íî?Ó߀?oÀ?Ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ãû?d€?ž ?ì?ð?ð?ð?ð?ð?ð?ï@?ïì€?ïþ€?ïý€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íåÀ?ïÕ?ïú€?ïè?ïü?ï¯?ïó?ïÁ@?ï°@?ïæÀ?ï<€?ï™@?ïµÀ?ïW?ïj€?ï|@?ïl€?íT@?±æ?c?Y?Ú€?ï«@?ïÞ€?ð?ð?ïæ€?ð?ïô@?îÝÀ?ð?ð?ð?ïÝ€?ïù€?îYÀ?ïaÀ?ïø?ð?îž@?ïŽÀ?ëÛ?ð?ð?ð?ï•?ï´?ð?ð?ð?ï‹?î—@?î„@?ï‰?ï¢@?ïµ?ïE@?×ò?¯ð?ï €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?íÀ?°œ?à¬?ð?ð?ð?ð?ð?ð?ïÿÀ?ïýÀ?ïþ@?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²?ïz@?ð?ð?ð?ïù€?ïó?ð?ð?ïöÀ?ï£@?ð?ïöÀ?ð?ïÜ?ï§€??îò?ï—À?ïŒÀ?ï¯À?ïÈÀ?ïŽ@?ï—?ï‘€?ïªÀ?äX?“x?ç»À?ïÝÀ?ïñ€?ïù€?ð?ð?ïó@?ï%?ïßÀ?ð?ð?ð?ð?îù@?î3?ï÷@?ï¤À?îøÀ?ï~@?î¤À?ð?ð?ïÐÀ?ïó@?ð?ð?ð?ð?ï4À?ï9@?îï@?î1?êƒ@?ꆀ?ÍG?? ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïg@?ð?ð?ð?ð?ð?ð?ð?ÛÀ€?Ó¥€?ïç€?ð?ìŸÀ?ð?ð?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ïÿ@?ð?ð?ð?ð?ð?ð?ïæ?ð?ð?ð?ïõ€?ïÇ?ï÷@?ð?ïàÀ?ïiÀ?ï¹€?ïÆ@?ï¸@?ï·?ï’À?ïŸ@??ïØ@?Þà?ÍI?ïµÀ?ïï@?ïù€?ð?ð?ï®?ïÿÀ?ïù@?ïýÀ?ð?ïÙ@?ð?ð?ìÇ?âÐ@?ð?ð?ï‚@?îñÀ?ïn€?ð?ïœ@?ïåÀ?ð?ð?ð?ð?ð?ïŠ@?ïx@?ï§À?ïZÀ?Ûð?át??ÉL?îm?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åà@?¬¸?Œp?ìÑ?ð?ïR€?ð?ïç?ïðÀ?ïê€?ïí€?ïò@?ïðÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¥@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïç@?ïÜÀ?ïü@?ð?ð?ïÙ@??ï¦@?ïÁ?ïð€?ïÞÀ?ïæ@?ïìÀ?ïÅ€?ï¶À?ØÚ€?Ä…?ï›À?ï§@?îÞÀ?ï°@?ï·€?ïê@?ð?ïø?ïöÀ?ð?ð?ð?ð?ïïÀ?ï7€?ð?ð?ïH?í)€?ð?ð?ï‰À?ð?ð?ð?ð?ð?ð?ï©?ï?ï¯?è)@?Ó‡€?ËR?Þ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äƒÀ?…À?ؾ?ï”@?ïëÀ?ïà€?ïô€?ïöÀ?ïþ?ð?ïü?ïû@?ïÌ@?ð?ð?ð?ð?ð?ð?ï߀?ð?ïÿ€?îÛ?å„?ÖX€?ÍX?Òj?Äe?ã|@?îU€?ïÂÀ?ïðÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ð?ð?ïЀ?ïì@?ïþÀ?ð?ð?ð?ïì@?ïÂÀ?ï?ïÉÀ?ïô@?ïþÀ?ïä?ïæ€?ï??ªÐ?S€?`@?©D?í‘@?ï“€?í΀?ï÷?ï¥À?ïû@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ííÀ?ï›?ð?ð?ïÌ?ð?ð?ð?ïû?ð?ð?ï^@?ïœ?îƒ?Ùb?¿d?È‹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æJ?† ?Òz?ï«À?ïÿ@?ïú@?ð?ð?ð?ð?ð?ï’À?ð?ð?ð?ð?ð?ï¥À?èP?ÚA€?àJ@?ÖV?¾ž?N?†@?Ê´?ájÀ?îü€?ð?ð?ð?ð?ð?ïú@?ð?ð?ð?ð?ð?ð?ïÚ?ïó€?ð?ð?ð?ð?ð?ð?ïù€?ïÜ?ïÊ€?ïÛÀ?ﻀ?ï¹??ï›À?Û€?…p?ëQ€?ïÌ@?ïë?ïé€?ï%€?ï%€?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð??î9@?ïãÀ?ð?ð?ïO€?ð?ð?ïÈ?íÍ€?ï€?ð?ï™@?ì»À?è=?Á4?çQ@?ð?ð?ð?ð?ð?ïú?ïö@?ïúÀ?ð?ð?ð?ð?ð?ð?ð?â_?Šð?Ø?ïÜÀ?ð?ð?ð?ð?ð?ð?ð?ï­?ð?ð?ð?ïÅ?æÀ?Ñ®€?¨ü?V?«Œ?êÌ€?ïöÀ?ð?ð?ð?ì{@?ëb?ð?ð?ð?ð?ð?ïé€?ïÇ€?ð?ïþ?ï÷€?ð?ð?ïõ€?ïéÀ?ïà€?ïò@?ïò€?ïç@?ï×@?ïì?ïÓ@?à‚€?”0?®$?ì¶€?ïË€?ïÚ?ïæ@?ïAÀ?îØ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü@?íØÀ?ï^À?ð?ð?îž@?ð?ï¯?ìç@?î_À?ïùÀ?ð?î@?â?Íú?Þs?ïü@?ð?ð?ð?ð?ïç@?ïÈ?ïãÀ?ð?ð?ð?ð?ð?ë À?Ño?`€?³?ä•?ïîÀ?ïÿ@?ïú@?ð?ð?ð?îO€?ïÂ@?ïã@?ïü€?ð?ïù€?éó@?“h?­,?è®@?ð?ð?ï@?ÏÎ?ë?À?ð?ð?ð?ð?ð?ï³@?ïàÀ?ð?ïÿ€?ïð@?ïÜ€?ï·€?ï{?ïà?ïªÀ?ï¼À?ïÝ@?ïØ€?ïÒÀ?ï @?è²À?® ?@? ,?Æç?ïX€?ï³@?ïÎÀ?ïÍ?ïÙÀ?ïó?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ïó?ïÍÀ?ï @?îK€?ð?ï.@?ð?ð?ð?ð?ð?ð?ð?ëé?ãŒ?H?·î?éðÀ?ïÙ?ð?ð?ð?îO?å^À?çbÀ?ä@?én?äµ?Üy?¹è?¥0?ß–?ïçÀ?ïø@?ïöÀ?ïð€?ð?ïü?íÐ?ÝÀ€?Ù[€?ÔQ€?Þ€?á@?ÞÂ?Æ"?P?† ?ĺ?ïv€?ëéÀ?Ȭ?Ù€?ïÇ?ð?ïóÀ?ïä€?ïÆ@?î:?ï?ïõ?ð?ïò@?ïˆÀ?ïwÀ?ïò?ïî?ïø€?ïÑ@?ï×?ïºÀ?ï®?ï¼À?ïz@?Øm?Z?°¢?âå?ïF@?ï™?ï½@?ï¼€?ïñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï×€?ï @?ð?ð?ï@?ï„€?ì«€?ð?ð?ð?ð?ð?ð?é?·æ?†à?Âñ?åj@?ìÀ?Ùh?Ðï?ij??D?­ä?Þ1?ï2€?ï…@?ïºÀ?ïˆ@?ãJ€?Õ4? ?í>€?Ç·?c?áT€?Ö·€?îº@?ïØ?ïø?ïð?ïÚ@?ïÏ€?ï˜À?ïÊ?ïê@?ïã€?ïá@?ïè@?ïÂ?ï²À?ïÁ@?ï¹€?ïÄ@?ïÏ?ï¶À?ëm€? t?Á¼?×n?R?èG€?ï|À?ïªÀ?ïÛÀ?ï½€?ïä@?ïÇÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ï™À?ð?ð?ð?ð?Õ€?Ø%€?åÍ€?ï€?ï?ïÙ€?ên?Æ?$?v ?S€?Å(?Ú`€?Ýå€?Ö†?„ð?µê? ¬?ÉÎ?à,?¹¬?íÔ?ïoÀ?ð?ð?ð?ïøÀ?ïèÀ?ïÆ@??ï–?ïÅ€?ïæ@?ï8À?ïÎ@?ï×@?ïÓ@?ï$?î0?呂?àÇÀ?G?âJÀ?çŸ?Å?Ñ|€?îû€?ïB?ïµ@?ïªÀ?ï=€?íò?婢?ï¿?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÃ@?ã?à?œ?‰Ð?ÃZ?¶°?Ôö?á@?Üx€?Øç€?æW@?ð?ð?ð?ïÀ?ïçÀ?ï§À?ï‡À?ïª@?ï¬À?ïÄ€?ïãÀ?ïã€?ïë€?ïË€?ï¼€?ì«@?ÀD?Ï?ïÀ?Æž?Ù?ï€?ï]€?ïÕ?ï{À?ïÐ@?ð?ï3@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÚ?îõ@?æ€?»ò?ÁK?­,?³”?í?ïú?ð?î´?ï<@?ï¶€?ïÇ?ï¯À?ï¦À?ïÀ?ïë@?î¶À?ïÙ?î$€?ïÚÀ?åvÀ?ã¸@?ÞL€?ÏO? ?(?çh€?ïÆ€?ï¶@?ï€?鹿?ð?ð?ïë@?ð?ð?ð?ð?ð?ð?ð?ïú?ð?ïÿÀ?ïçÀ?ïÃ?ï€?ï·?î߀?èN€?ÁÅ?æD€?ï;€?ïõ?ïp?ïZÀ?ïÝ?ïáÀ?ï¤À?îï?ï°€?ïÍ@?ïÂÀ?ïâ?ïÌ?ï¶€?ܲ?²|?ã ?áÊ@?Â<?Â?ïMÀ?ïÝ@?ïÝ?ïÍ@?ïÁ€?ïý€?ð?ð?ð?ïú?ð?ïøÀ?ïú?ð?ð?îô@?ï²@?ïœÀ?ïñ€?ïñÀ?ï¶€?ïçÀ?îà@?î'?Üï€?ž8?áüÀ?ïÀ?ïÌ@?îú?ïÀ?ï’?ïÒ@?鹿?ïÙÀ?ï_À?ïß@?ïÇ@?ïåÀ?ïÉÀ?ïÍ@?ÙR€?ÛÚ€?ëÛ?Ú?R€?Ç?‡P?éÍ€?î¾À?ïÒ€?îÊ?ïÊ?ïÔÀ?ïð@?ïçÀ?ï]?ð?ïú?ð?ïõ?ð?ïóÀ?ï¾€?ï9@?ïÛÀ?ï÷À?ï¿€?ï΀?ïÜÀ?ïÐÀ?ïP€?ëè?Àa?b@?¦ä? Ð?ç @?í×?ïjÀ?êqÀ?í߀?ï΀?ås?î'€?ï²€?ïŽÀ?ëc€?àÿ€?Ô„€?Ð…?‡ ?Ó&€?ï<?í=€?å^@?Ú·€?ï,€?¸H?áÍ@?æò€?ïÜ€?ïÑ€?ïЀ?ïÉ@?ð?ð?îÿ@?ïðÀ?ð?ïçÀ?ïú?ð?ïÿ@?ïä€?ï¦@?ïöÀ?ïÚ@?ïç?ï²€?ïÍ?ïÖ?ïf@?Ñ?Ëæ?͆?ÔÛ€?íSÀ?çZ?Ĥ?ãC€?íL?ë@?ǰ?àï€?ï–€?íV€?ï*À?ïd@?ëÇ€?Í@?ïâ@??ïÙ@?ï½@?ïáÀ?ï+@?ï›À?ï·?ð?ð?ð?ð?ïúÀ?ïˆ@?ï@?ïÔ?ïá€?ïå€?ï¬?í?@?è?׫?U?½*?§p?Áì?Áú?ßê?ëÜÀ?ï¡@?ëÊ€?ï©€?ãR@?Õa?É?â@?î?@?ïpÀ?ï©€?ïç?ð?ïxÀ?î?ïw€?ïIÀ?ïy€?ïÓ@?ïÃ?ï)?ïÅ€?ï¡€?æh€?Û¼?׆€?ÇS?± ?ÏJ?r@?Å?Ü4?ëÑ?ï€?ïy?ì$€?0?f€?B?àa?ïAÀ?ï%€?îh€?ïË?ïÐÀ?îôÀ?ïÀ?ð?ð?ï÷?ïôÀ??ïÒÀ?ï×À?ï„?îQ@?×`?È‹?qÀ?É?×G€?bÀ?Û<€?ïd?ì?©Ø?Ò»€?ïh?ìg@?îˆ?ï¨?ï¯@?ïz@?ï߀?ïì€?ïù?ïö@?ïý€?ïÂ@?ï3@?îñ@?ï÷€?ì˜?°Š?˜?ÖM?Ç„?‰`?ÊÚ?ÓÇ€?ÙŠ?Úi?Äù?s€?Þ,€?ïg?ا?à¬À?ïh?ìÇ?ìò?ï’@?ïÁÀ?ï×À?ï¸?ïç?ïòÀ?ïÓ@?ïøÀ?î!€?è'@?ï•À?ï#€?íõÀ?µò?sà?ßð€?ï°?èæÀ?íz?ï¯@?Ý €?$?àÈÀ?ïÍÀ?è?á:@?ᆀ?æk?›@?À?î3?æY@??í4€?ïÌ€?ïÂ@?îë@?ï“?ï¥À?ïú@?ïà?ﻀ?³ú?ºB?Òì?­?D?¼ ?ìÿÀ?ï6?íÔÀ?ï@?ܽ?Ô°?íã?ïzÀ?ïG€?Ø€?”è?§ ?Çf?ãÏ@?à=À?ïF?ï²@?ïÜÀ?ïéÀ?ïë?ïµÀ?ïÅÀ?ïôÀ?ïæÀ?ïÒ@?È£?—@?q?èVÀ?ïO@?ï„@?îÜ?Ôm?h?åË€??ïšÀ?æd?°.?Þ ?âëÀ?à€?ïmÀ?ï>€?ïÊÀ?ïè€?ïÅ?ïÒ?ïÐÀ?ïî?ïøÀ?ïý?é?㛀?¼œ?Ú¿€?ï!@?îÕ€?ä{?¸º?£l?á1À?î4?ï?샀?½Z?±@?àÀ?àƒ@?åJ€?ï\@?ï™@?ïà@?ïØ€?ïë@?ïêÀ?ïÖ@?ff?ïé?ï÷@?äØÀ?Ï_?žè?}?Ûd€?àÀ?¶¾?Z?ÅÞ?æ×@?îO@?î‡@?í·?ä ?bÀ?±6?²¤?¸>?ÅŒ?±R?ë?ïËÀ?ïÑ€?ïçÀ?ïùÀ?ïâ€?ïêÀ?ïÑÀ?ïú€?ïý?í%À?µN?ʲ?çÜÀ?îç?íi?îcÀ?߀?Áø?¹n?¡4?¿D?k€?Ôm€?Õ—€?ìá@?ï@@??ï†?ïúÀ?ïí@?ïì@?ï9?ïí?ïö?à!@?À±?ëæÀ?îÀ?ï@?ïÀ?ç!?Q€?¹^?æ4À?ä@À?ëc@?ïæ@??î¤À?ïÝ€?ïÝ€?ïè?ï€?ïà?ï @?Ǧ?® ?é-À?ï@?í¯€?ïRÀ?ï’€?Ùº?¨?äÕ@?äÝÀ?íW?ïÂ@?ï–@?ï«?ïVÀ?ê€?ïÜÀ?ïŸ?á€?ʨ?À?³Ê?Ýú?íÇ@?ï–€?ï„€?ïr€?ìÀ?²8?Î.?é)€?êˆ?ïF€?ï’À?ï”?ïÜ@?ï®?ëú?ï*?å§?R€?k€?„°?¸d?½¶?†?Ç?Ñ+€?æŸÀ?ìì@?ë†?ÂP?¬¨?åÀ?êâÀ?ëqÀ?îV€?ì-?êë€?îÍ@?ï@@?ïõ?ïü?às€?Ä*?‘€?œ˜?ãëÀ?¯|?©¤?Ä~?ÐE?æh?ï\?ëÝ€?ïn?î¼?ï¬@?ïÀ?ï>À??î«À?Ø÷€?ÃŒ?€?²?X?³>?æú?îÉ?îK@?î÷@?îîÀ?ïÛÀ?ïá€?ïèÀ?ï¨À?ïª@?ï:@?î €?‰0?áOÀ?éP€?êÀ?îÉ@?ïq?ï§?ïç?ïí?ïî@??ï¾?ìÍ€?ÈQ?Â.?²:?§˜?ç?éÉ?ï„@?ë§@?ïÀ?í·@?ïäÀ?ïëÀ?ïÏ@?ïÙ€?éÝ€?Á ?ݶ?áÀ?ÖÔ?Å/?æÔ?ì@?ï €?ì©@?îïÀ?í·€?ïØ@?ïà@?ïí€?ïê?ãº?Ï×?Ö›€?ß?‚0?b@?’?âÄ€?éh?îÛ?éºÀ?î€@?ïØÀ?ïæ€?ïÒÀ?î²?ï'€?ç{À?ˆp?rÀ?(?Ô'?äË?ïI@?ïm@?呂?ï·?ï°À?ì*@?Ö›€?›?h@?Ǫ?œx?Áo?êq€?í?í;@?ï¹?ïÚ@?áï?C?¤l?8?¹l?éÀ?ê}?ìÀ?ïÅÀ?ï´À?ä?8?Ⱥ?Þ’?Ù€€?â!À?°®?¹l?é€?룀?ìÀ?ïÄ?ï¨?ì„€?¾@?~@?áŽ@?áâ€?åŸÀ?ÚÇ€?x ?ÃÁ?³Ð?ç5À?æ‚@?éû@?í#€?æ©?ß.€?Ñ7?ª¼?¢h?°ê?8?ÃË?fÀ?Ô€?á@€?ØW€?æë?âf?îdÀ?ãŠÀ?¸®?È©?È/?Òì€?Ùž?ëa?ìä?Áu?‚?2?ŽÀ?s@?¥œ?Á•?ÐI?Ò€?Û­€?ãC?ê®@?ïw?ëWÀ?ÐL?B?ÀB?â:?Áˆ?d€?ˆ0?»2?Îã?Õð?ÚT€?ãÞ?è€?ì‘À?ê’À?ê¨À?íA€?ãò€?Ç ?³š?¢T?Ú€?€€?°f?Ÿà?¼@?Æþ?âæÀ?å•À?Û.€?Î?v€?µ?Í?a?À?’°?£ü?‚à?u?“ð?™0?sà?P?P?p ?À?³"?¤,?Àb?Ž@?Ía?™ˆ?ƒ ?»r?‰€?}@?•x? ?ž ?Ø €?¹´?Ìü?Ë<?Z€?\€?Ä›?¬h?¿À?ÙÏ€?â?Îz?lÀ?¶Ò?Å|?Ûs?ë©À?ã@€?Ã?U?‡à?Üç€?ܾ€?ã ?ïK€?åm€?çe€?º^?² ?a@?‡`?ä”?ëÅ@?ïó?êr@?°n?ï!€?âq@?¿P?ÀP?Ñ—€?Æ?Í?“ø?Šð?È‹?³j?éÀÀ?ð?ð?ì?f@?ÐV?ål?èvÀ?æŠ@?Ã?¨,?Ú#€?¹ò?­Œ?ð?ð?ï­À?íÃ?ïÿ€?î·?ì@?Ø?¹ª?‚ ?áO@?êt@?è†?©D?‹P?Ð?ÒS€?Ñ7?Ú ?ᙀ?¹Ü?‘P?¨4?Ò4?ãØ@?ïóÀ?ð?ïÀ@?ÓÆ?¾j?ÐÞ?ï¶?ð?ð?ð?íß?Ë«?Î-?¼F?ÚV?î(À?ð?äR@?Ñ:€?âw€?ár€?áp@?èÂÀ?ð?ð?ð?ð?ð?ð?ð?ð?íÏ@?ç‡@?Ò¬?à=@?ïß@?ð?ð?ëq?è¸?±²?‡Ð?Å„?Ö?Ö‚?ä0€?íÆ@?Øô€?°¬?é?ð?ð?ð?ð?ï3€?ìò€?ãk@?Ù€?É”?Ÿ ?| ?c?»V?”?³?Òú€?Þì€?ð?ð?ð?ïõ@?ʧ?ÊŽ?Âá?êtÀ?êÈ@?ð?ð?ð?ð?é0@?Ü€?¶¤?’8?¡(?ë¨@?ì„?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îàÀ?í0?ïF€?ð?ð?ð?ð?ð?ëûÀ?ï)€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÄ€?é6€?èV€?¹¤?§D?ˆ0?–€?·„?éÅÀ?ì¡€?ð?ð?ð?ð?Ça?­d?߀?îÀ?ê%?ï¨@?ð?ð?ð?ð?ð?ð?ð?ð?ì}€?çÏ?éÀ?ã<@?Ût?ÐT€?ÐV?µ(?á*À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÝB€?Ï+?Ð?³€?͹?Ú¬€?î?ð?ð?ð?ì}€?£ì?ƒ@?’?Ü ?펀?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ì?`?àñÀ?ïbÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íB€?Ög?Òå?Ð?Ï,?« ?Ñ?€?ï½?ð?ð?ð?ÎÁ?_?¡À?â€?çã?¤0?â?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è¨?×?t`?Ùü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îx?ïe?ïq?Ô ?¨œ?Á„?Ç?á>@?Z?Ëã?ð?ð?ð?ð?Ì`?Š0?à ?Ø €?ì(À?îõ@?ð?íäÀ?Ð=?g?çÖ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í1@?¿(?Ê»?èø€?ïì@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÝ€?äþÀ?Ák?Á‚?‰ ?Ô"?ïò€?àa@?á±@?ïŸÀ?ð?ð?ð?Ìs?äm@?Ö½?Í+?¼?ÆË?Ó|?×Ë?ÕÉ€?Ñö?èQ?î@?éZ?ç€?àß@?Û¢?À5?~`?Á°?Ù €?æ­?ð?ð?ð?ð?ð?î]?é“?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îà@?îéÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âã?µ*?¾V?蛀?à߀?ìÿ?ð?æ@?ð?ð?ð?ð?èí€?˜0?Öt€?ð?ð?ð?î‹?ïàÀ?ïö€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó€?ë·€?ïr?ïû?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïËÀ?í1À?àîÀ?àÕ€?Ñ¥?­@?ÒŽ€?ïWÀ?ð?ð?ð?ð?ð?ð?ð?îå@?°Ð?•?ʸ?Ôc?áoÀ?á5€?ê À?ïàÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ?è@À?É?±Ð?ä€?åN€?ð?ð?ð?ð?ð?ð?ð?å€?ð?Ö,?ìK?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íe?ÑÙ€? à?¼?Í(?É,?Àî?á @?ï @?ð?ð?ð?ð?ð?ð?ð?æ@?ÂÕ?ïÐÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å8À?’Ø?Âp?êû@?î ?ï©À??Æç?€`?°?`?Š ?ÈC?å€?ð?ð?ð?ð?ð?ð?ð?Ü=€?‰à?Ù€?è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ€?x ?k@?o?x ?„À?Ü‹?ð?ð?ð?ð?ê¡€?éÊ@?ê7À?ç°?àd@?Ä?Z€?,?ˆ0?æ6@?âŽÀ?Ù?¯„?ìh€?ð?ð?ð?ð?ð?ð?â?4?¢È?áïÀ?ëR?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï)À?æïÀ? ¨?èÀ?´v?·À?—À?Â?äG€?ïÎ@?ð?ð?ð?ð?ð?ð?ð?ï?̶?Ÿà?Õ†?ê"À?è‚À?ð?ì@?îj€?ð?ð?ð?ð?ð?ï€?Áã?å¶À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îi?×´?·?›è?]€?ŸÐ?Ö@€?ïd?åW?í@?é¿@?Ö ?×ì€?Ö’€?·T?Çg?¤ø?­?먀?ð?ð?ð?ð?ð?ð?ð?ð?ð?çh@?í+À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?¾>?©D?¥?äð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãê?“¨?K?¬¸?Ø €?ÖŠ?å)?ã5€?ìõ?ð?ð?ð?ð?ð?ð?ð?íÓÀ?ð?æ«@?Ö–€?Ç?ÐÇ?éT@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í;@?¨?èÁ@?êR?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïD@?Ü´?‹ ?ËÃ?ßñ?ïØ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê£À?ð?í?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëZ€?Ô<€?ëv@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÇÀ?ÝË€?— ?Ûš€?æ”@?èK?îP€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï»?àæÀ?ž¨?‰@?ãâ€?ï»?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îæÀ?—À?„0?«D?çü€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì4€?Îð?_€?Ò]€?íM@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î~@?m?Ñt€?ï¢À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î²À?Ø?°?Ÿ°?眀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡€?Æ’?ј?Éî?Ö3€?¾:?Ýg€?é?á(?ê\À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æÄ? ?Ê3?ì*@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í¶@?×€?î°?ïU€?ïªÀ?è§À?ÊÎ?× €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é/€?Ð÷?Åy?î@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïD?æ=@?Ü’€?Ø)€?Ò€?Ò/€?Ñ€?Âþ?ÎÌ?åÆ@?ïàÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íUÀ?ã À?âºÀ?àƒ?ï¢?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ïaÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðemoslib-000392+dfsg.1/land_sea_mask/LSM_GG_00800000755000175000017500000105606012127406245021654 0ustar amckinstryamckinstry?ÓÕ€?ãüÀ?Ü8?à €?îj@?ï“@?îÛ@?x€?È×?á¢À?ëÀ?ïòÀ?ï÷@?ãÚ€?—È?Ñ€?v ?_€??² ?»4?«”?Ü‹?îM?ìHÀ?ð?é%@?Çù?ïg€?ð?ð?ïü€?ð?ð?çK€?îÀ?ÒÀ€?y ?•Ø?âÝÀ?áÀ?¡è?Ê?ÉÖ?³<?èuÀ?µÚ?¾Ø?è…À?îó€?â@?ïÏÀ?ï€@?Õ6€?ìG?ð?ð?ð?ð?ïø?ð?ð?ð?ì*?‡0?¢$?ìS?ßH?—è?v ?Ø?Ó'?ÁI?¢?ß¹?±®?°?ï†À?áÄ€?ïù?ÚQ?¹¢?íö?ð?ð?ð?ð?ð?ð?ð?ð?ç2€?ÐÌ€?çP€?ëÂ?Q?m?r ?Åš?±j?˜À?á§€?•0?½²?ÒÞ€?߸€?Ïs?äw@?ïÖ@?Ø`€?ÛÜ?ïu€?ð?ð?ð?ð?ð?ð?ð?ð?ð?êiÀ?¼È?Ôm? ?6?Ó¼?_?´?»h?ï%€?Úö?ÈŠ?Ÿp?I?Ý?ØF?Q€?­D?¸¤?ÄÍ?â@?Ñ€?éÅ@?ïK€?ì¯?¯è?è;€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€À?Ü!€?i?ï*À?áµÀ?}`?r?À¹?í€?ï,€?ï3@?ïõ€?ð?é€?©,?ïm@?á;@?²?D?h@?­€?ãƒÀ?íÇ€?ãÆÀ?Ô)€?ç ?Û’?»ª?èf?ºš?è9@?–¨?‰?e€?ªè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï6À?¬œ?j€?€€?ï?Ë„?^€?p ?Úö?ïÒ@?ï{@?ïÉ?éè?æš@?覀?à€?±¨?6?£T?~?Ê?­ ?`?ê“?µÒ?Ò¿€?â ?é @?ߪ?Èb?´Ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?É.?ÈÇ?ä©À?Å?q`?N?±B?é0À?éD?îg€?ï?íÝ€?í÷?îc?㚀?ãÀ?äm€?è|@?¦h?ÒÇ€?Õ?€€?À0?Üž?íK?ïà@?ëÀ? p?Þö€?X?ëB@?ÈŒ?ð?ˆÐ?î×À?ç‘€?éÙ@?Ê™?ÃQ?ð?ð?ð?ð?ð?ð?ð?ð?ìÝ?åµÀ?Á?À$?í À?å˜@?ãÖ@?Ń?ã©?ºÌ?ïrÀ?ïl?íŸ?ï@?í\?éó@?í-À?ëÏ?ïS?îä@?î8À?ï³À?ïÕ€?î‹€?çí?Û߀??Ž€?æ©À?ê€?߬?«è?ׇ?ð?æ(€?îO@?í?æÝ€?ç°€?ÞM€?Ï?í¢€?à?€?½d?ÔC€?å?î@?è ?âÛÀ?Ùí? ˜?í®€?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ál?›Ø?©œ?èÌ€?¤(?ïÕÀ?èP@?îÀ?áaÀ?ïË?ïQ€?ï÷À?îÇÀ?ïö?ïG€?ì@?ï…À?ð?ð?ïù€?ï9?ïÀ?ïï?ï@?ïù@?î#@?á¬À?ë8€?âÒÀ?í@?ë]?å€?èÿ€?І?`À??Úö€?Û(€?C?âN?n€?è?ïO@?ï΀?ë?íïÀ?Æ<?èR@?àÅ@?» ?êM€?ïf€?ï@?ïîÀ?í-@?ë1€?Ò„?íÀ?ð?ð?ð?ð?ð?ð?ð?íáÀ?ì÷€?z@?Óš€?ä†?ë>€?íÀ?µ6?d@?Õõ€?åÓ@?éO€?ÀÔ?ïÞ@?ï¯À?îïÀ?ëê€?íö@?ïú@?ð?ïÿÀ?ïç@?ïúÀ?îù@?ð?ð?ð?ïÿ€?ïå@?ïÒ€?ïÛÀ?íÀ?ð?ïõ?ïòÀ?ïÞ€?ï°€?ïÙ€?ìAÀ?ïÿ@?ïâÀ?ï?ê‘€?áL?¹z?Õˆ??ÚV?ìí@?î'€?ë@?ë1@?ìÂ@?â;À?Ûh€?–?Á—?¼ú??ì€@?ì3@?íá€?ëd€?í)?ØÑ€?y?ì`À?ê¦?l@?Ô«€?å@?äH@?æ¸@?ï#€?îè€?ì@?à À?å @?é‘À?ð?ð?ð?ð?ð?ð?ð?ç¿?îG€?Ö€?Òù?í/À?ï?ï@€?鎀?ì`À?ëÏ€?ìE?Ð!€?~`?„ð?Ô¢?”¨?°l?£ü?ÁÝ?ä¡€?ïž?Ò’?Þ¢?îE€?Èd?êe@?ï™?ï0€?ë"À?ï³€?ì÷?ît@?ïôÀ?ïD?ïz€?ï@?ïð?ïö?ïõ€?ïì@?ï@?ïþ@?ïø?îÑÀ?ïÿ@?ð?ïs@?ð?ï¦?ïÿ€?ïj?í„@?ìc€?ë(?éÆ@?ìÐ?ã€?ïý@?ð?îe@?æ^€?ï÷?ïÿ€?ïõ@?¶À?Çm?ïÀ?ïºÀ?ïi€?î¶@?ïŸ@?ð?ïÿ?ð?ïÿÀ?åÁ€?Ù1?ãö@?ï`?ïØÀ?í‚@?ïÈ?îÜ?ÝR€?ª?ë$@?éà?Èl?éA€?Õ›€?áÞÀ?ãÖÀ?ç„À?äÄ@?Ê)?Ã?î@?ƒ ?˜°?ä¥@?ï‹À?éÕ€?¡,?`À?á´@?ð?ð?ð?ð?ð?ð?ïùÀ?ïÿÀ?íf€?$?ÍH?ëSÀ?î?À?ïµ@?î%À?ëD@??ê¤?î@?îˆ?éÅÀ?ì@?Óé€?ãiÀ?í?ï´?婢?îØ@??ïè@?îÄ€?ïN?æ—@?â?äL@?ïò?ï—?ïw@?é=À?ð?ìe?î‘@?ïè@?ïÎ@?ï*?ïÃ?ð?ï$À?ïõ@?ïçÀ?î×?ð?ïPÀ?î@?ð?ïýÀ?ð?ïŸ@?ïû@?ïþ@?î©?é4@?î•@?ï«?êg?æ°À?îÃ@?ð?îÀ?ïÎÀ?ïùÀ?ïü?ïÍ?ð?ïû?ï @?ð?¨?Ì“?ïÿ€?ð?ð?ð?ð?ð?ð?ïá@?ð?ê­À?ïú€?í´À?í3@?î±À?î[À?ì¿@?ïV?î?îá?â@?Í<?Öx€?Õ¦?îÕ?Øl€?Ö®€?æh?ã@À?íÂ?ï¢À?Õ±€?îSÀ??Òî?æf€?ÞÝ€?ï@?ï\@?àÌÀ?Q?æKÀ?ëF@?ð?ð?ð?ð?ð?ð?åf€?º?`?ïi?ì±@?îÀ?ïl?îN€?ìJ€?í?âå?åÀ?ï@?ï`€?»¨?îÀ?é²À?ïü@?ì»À?ïü@?ï½€?ïoÀ?ï†À?ïä€?íÀ?äj?Ɇ?ï¯@?ïg@?ïÅ?ï€?í?í–@?ïÒ@?îã?îtÀ?ð?ïþ@?ïÞ@?ïú@?ð?ð?ïê?ïô?ïü@?ð?ï!@?ïp@?ð?ïÈ€?ð?ð?ïÂ?ð?îÔÀ?ð?î÷À?ë§@?훀?ð?ð?ïˆ@?ð?ï@?ïú@?ð?ð?ïðÀ?ð?ïô€?ð?ê?ì#À?À&?Ì®?éÅ?ïü@?ïí?ïÉ@?ð?ïì€?ïï@?ð?ð?ïöÀ?ïí@?ïÀ?îK?îá@?êI@?æÂ?Ù¿?êÐ?íS@?é?ïR?ãmÀ?ïÓÀ?ì€?íÜ€?ë1?î¡À?ïA€?îÁ@?í¦À?ë4À?ã4À?í2?ã»?ëÀ?ï‚@?é À?ê€?ïô€?ð?ð?ð?ð?ïó€?ïÎ?­¼?H?Á%?í¤?í¶€?îˆÀ?éð€?ÆŠ??ëyÀ?ì—€?ëY?í®€?ïÅÀ?ïã€?ïT@?ð?ít?ï9€?ï[€?ïõÀ?ïŸ@?ìæ?ï@?ïª?ï¨@?ï£@?ïvÀ?ïY@?î΀?ïñ€?ïåÀ?ïH?îÀ?ï`À?ð?ð?ïû@?ï¨?ïÍ€?ï÷€?ïæ@?ð?îè@?ïÕ?ð?íƒÀ?ì\?ïæ?ð?ð?ð?ïô@?ïÿ?ïæÀ?ð?ïÕÀ?ïç?éÓ@?ð?ïÿ@?ð?ð?ð?ð?ð?ð??ï@?í@À?î$@?çX€?ð?î€@?È?Æ?ð?îý€?ð?ð?ï€?ð?ð?ïh€?ð?ð?ð?ð?ïÒ€?ïìÀ?ð?ð?íî€?îÇ@?Óƒ€?É®?ç¼À?íµÀ?éŠÀ?ç¨@?ï€?ï5€?îðÀ?í|À?î À?î¶€?î³€?î[À?Ö€?Îa?Æ?Âð?Ì„?ì:@?ï¤À?ÕU€?èÇ@?Χ?à¹À?ïÀ?ð?ð?ð?ð?ÕŽ?±„?Ù¤?ç?@?íÿ?îæÀ?æÀ?åÀ?ìÆ@?îG€?ï^?ífÀ?î?ãEÀ?ìï@?ê`€?ì…€?²R?ëï€?êãÀ?ïŸÀ?ïþ@?ïÒÀ?ïð€?ð?ïÖ€?ð?ð?ïÔ@?ïÿÀ?íµÀ?ð?ïá@?ï ?ïn€?ïg@?í(À?ï¿À?ïO?ïí€?ìÍ?ïù?î@?ð?ð?ð?ð?ï߀?ïð€?ð?ïÿ?ïý€?î®À?ïÄ?ïÒÀ?î´?î)?æÿÀ?ï÷À?ïò?ïÿ@?ð?ð?ð?ï[?ï¯?ð?ð?ïÖÀ?ïŒ@?ð?ð?ð?ïýÀ?ïõ€?ïê@?ïæ?ï?ïê@?ï@?Îm?t`?žè?êLÀ?°ø?Ò"€?¶8?ð?ïY@?ï÷À?ð?ïá?ïû?ð?ð?ð?ïþ@?ð?ïò@?ïûÀ?ð?ð?ïè@?ï¹?í¡€?í3À?ìaÀ?î,?íw@?æ*€?íà€?ïÈ@?ï»@?î €?åE@?ìÀ?ëo€?í"@?íö?Þ'€?îÛ€?ï¡?íD€?×\?êä?ïÌ€?îÚ@?ßs?O?çF?î€?ð?ð?ð?Þr?Àê?ï8À?ïù?ïw@?lÀ?kÀ?æ€?î­€?ìz€?îÕ€?íZ@?p?ë?ì6€?êz@?ç_À?í}À?ä¾@?î¸?ïŒ?ïË@?ïÀ?ïÉÀ?ïäÀ?ïþ?ïM€?ïú?ïÝ€?ð?ïü€?î¹€?é|@?ïø€?ï­@?ï0?ï‡@?ï+@?î9€?ïç@?ïø@?ïÞ?ïÀ?ïÖ€?ïû@?ð?ð?ð?ïû?ïÁ€?îÿÀ?ïí?î€?ïQÀ?ïé@?ïéÀ?îÊ@?ït€?îþ?ïÒ€?ìz€?ëV@?íÊ@?ïý@?ï¿@?ïþ€?ïï€?ð?ïÿ€?ð?ïø?îÄÀ?ð?ïö@?ïð@?ð?ð?ïÅ@?ïä?ïû?ïý@?ïþÀ?ëY€?ß&€?ÁW?º?èƒ?îº@?ïõ€?ð?ïú@?ð?ð?ïýÀ?ïÅ@?ð?ïô€?ï½À?ï‡À?ïèÀ?ð?ïùÀ?ð?ïú@?ï³?ï[?îbÀ?ï €?ìŠ@?íÀ?íq@?î?ï«?ÞÛ?ìï?ëá€?é›@?êø?i€?‰P?åÐ@?_?¯ ?Ù΀?¡Ü?å€?ï!@?êW€?á €?´¾?ïäÀ?ð?ð?ïŽÀ?•€?ÃÑ?—@?à…@?ïI@?ï¾€?ìp€?ïg@?în€?•€?íz?ë¦?è¶?æzÀ?ç·€?í?è.@?çC€?î˜?ïÉ?ï¢@?îF€?ïØ?ïu@?îˆ@?ï³À?ð?ï×€?ﺀ?ïóÀ?ïø?ïü?ìŠ?ï£?íˆ?ì*@?ìÀ?컀?ï9?豈?ï±€?ï²À?ït€?ïæ@?ïðÀ?îö@?ïü€?ð?ð?ð?ð?ïý?ð?ïî@?ï]?î¤@?ïò€?ïø€?ïÛÀ?ïÒ?ïØ?ïû@?ïø@?ïàÀ?í~@?ïô?切?íí?ïW?ð?ïþ@?ï°À?ïòÀ?ïÀ?ï‹À?î½@?ïÔ@?ð?ïÓ€?ïj?ïö?ÒH€?ï:?ïù?ð?ð?ï’À?à%€?§?Ât?îÀ?î˜@?í‡@?ð?ïûÀ?ð?ð?ð?ð?îŠÀ?ð?ð?ïI@?ð?ï®?ïÎÀ?ïä€?ïê€?ð?ð?ð?ïÇ@?ïI@?ï«€?íì€?âí?ã#€?ëÀ?í(@?î]@?îýÀ?åÇ?éÀ?ë/?ì¬À?ëÍÀ?q€?É"?^€?àn@?á£À?ä¼€?äh? ?6?ã’@?Ö•€?“`?×É?ð?ð?ð?Î?:?¥,?—È?ëÛ€?í @?ï?ïB€?ë°@?íÀ?E?ìžÀ?ê@?é€?ê@À?䘀?ËC?î•?×ï€?ïò?ïÝ€?ð?ïþ?ï’@?ï‡?ïÆ?ï±@?ïõ@?ïî?ïû?ð?ïû@?ïú?ï¨À?îk?î @?íš?ív@?îÀ?îÌ€?êö@?ïï@?ð?îèÀ?ïöÀ?íú€?ïÿ?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ïö€?ïø@?ïû?ð?ð?ïû@?îM?í´À?ï’€?ïÌÀ?ð?îÁ@?ð?ïý€?ïä€?ïüÀ?ð?ïö@?ïø?ð?ð?á…?Ò¯?Ð>?å€?ïý@?ð?ïþÀ?ãò??® ?ê‹€?î@?î–@?ð?ïë@?ïû@?åO?å€?ç?ïÀ?ð?ð?ð?íH?ï(?ï¼€?ïæ?ïþÀ?ð?ð?ð?ïÇÀ?ïÀ€?ì(À?Ø…€?ÚÄ€?îô€?è:€?ë7€?îö?î¨À?æœ@?éÝÀ?êç?î€?Ø?ÑÀ?íÜ@?í?ï.À?È1?² ?âV@?êÝÀ?ïO@?”?$?äù@?ìJÀ?íN@?í˜?ì¹?훀?í¶@?Âz?­,?Õ¼€?­t? ì?æá?é¢À?ïØ@?ïû@?è>€?ï¿?ïëÀ?ïÞ@?ð?ð?ïÿ@?ð?ï³?ï…À?ï½?ï°€?î¸@?ï“€?ì×À?ëò?íú@?ï§?ïñ€?ïì€?ï,À?ï@?ïy?ïù€?ïÕ€?ïÅÀ?ï€?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ïâ€?ïö@?ï0€?ïÊ€?ï@?îu@?ð?ð?ð?ð?ð?ð?îç€?ð?ïF€?ï”@?ð?ð?ð?í²€?îÃÀ?ïö@?íì@?ìÀ?Ú¢€?ÉŽ?Ðá?u`?äiÀ?áò€?æ@?ïÁÀ?ïd€?ð?íD?¾Ä?ì²À?ÑÉ?Žp?Õ?Ú€?êÀ?ïðÀ?î¾À?êë@?î¾@?ð?ð?ïÑÀ?ï€?ïú@?ïæÀ?ï@?ïý@?ïÉ€?îÀ?î!€?íG@?êÁ?îïÀ?éz?é‚À?î`@?í?’ ?nÀ?ìÚ?êó€?ï›À?êú?µ˜?·l?$?ã¶@?t ?Ü€?íÏ€?ß=€?â@?À5?ê>?éˆ?‰Ð?ÚX?ïß?ïÈ@?ï€?ï3À?ïÅ?ïÀ?ïï€?ê­€?ð?ð?ð?ð?ð?ð?ï–?ïú€?ïö?âÀ?ï€?ïúÀ?ð?ïš?ïé€?툀?ïýÀ?ï9?ï÷@?ïüÀ?ïÿ@?ïß@?îùÀ?ïŸ@?ïw€?ïÓ@?ïøÀ?ð?ì)?ïè€?ð?ð?ï À?ì°À?ïü@?ïà@?ð?ð?ïK€?ï€?ð?ð?îõ€?ð?ïçÀ?ð?ð?ïY€?ð?î.?ïöÀ?î?ïþ?ð?ð?®¬?¤¼?V€?Ö½€?²t?(?¹œ?ï÷@?¾Ô?…p?è‹@?ç-€?æÀ?ìH@?êõ@?¨?¯?ê„?å‹€?ïÀ?ð?ð?ð?ïÒ@?ð?ð?ïýÀ?ïþ€?ïÔÀ?ï‡?ë¢@?Ó…?ëR?ísÀ?íŸ?ëÒ€?î¢@?îöÀ?ï{@??ÐŒ?_?¬ü?îÈ€?îÀ?î*À?ïW@?åh€?ä™À?ê¦? ?R€?c@?ì¯@?ìî?¿?áÚ€?ͳ?à¶@?ï”@?ë‡?ïûÀ?ïÿ?ï.@?ïö?ïù?ïv?ï<@?ï€?ð?ð?î´€?ð?ð?ïÖ€?ð?ð??ïúÀ?ï¥@?ïÍ€?í¼@?ï^?ï9€?ïÆÀ?ð?ð?ï¶€?ð?ð?íE€?ï»À?ïýÀ?ïì@?ïÿ€?ïÿ€?ïñ@?ð?ïþÀ?ð?îì@?ð?ð?ïä?ð?ð?ï<@?ï»?ïøÀ?ïê@?ð?ð?ð?ð?ð?ï«À?ïü?ïô@?ï°@?ð?»B?ç-À?ð?ïÙ@?Þ(?èt@?æŠÀ?ÞZ?Y€?D?àÀ?ìÁ@?ïû?ð?ð?ð?ð?ïû?ð?ð?ï‡À?ïÿ€?ï+?ï€?íŸ@?êÍ?í§@?ëú?íŠ@?îƒ?îk@?í[@??(?ãX?ï€?ï÷€?ïä@?ï"À?ï€?îü?ï?Ü€?³Ü?à¯?Ìø?Ác?åÞÀ?À‡?ÓÒ?êiÀ?åµ@?ï@?ïì?îä?íÝ€?ï:?ïï@?切?ð?ï?ïë€?ð?ïÓ@?ë€?ð?豈?ð?ïd@?ð?ì¨@?ð?ïñ€?ïÀ?ï:?ïâÀ?ïñ@?ïó@?ïõ€?ïl?ï(?ïÏ@?ð?ï¥@?ï½€?ïøÀ?ð?íQ€?ïy@?ð?ïÿ?ð?îÇ€?ïÑ@?ð?ïå€?ð?îP@?ð?ð?ïÓ@?ð?ïóÀ?ïþÀ?ï¦@?ïÈÀ?ﻀ?ð?ð?ð?ïý?ð?ð?ð?ïù?ïü@?ð?¸t?ïáÀ?ð?ïj@?ï¯@?`@?»¢?ëèÀ?X?Ÿ?ãÀ?çI€?ïá?ïË@?ð?ð?îœ?ð?ð?ð?ïÀÀ?î…?ï €?ð?î?è]?îïÀ?ìÞ@?äG?ìÚ?épÀ?ír€?îG€?î*?ïú@?ïPÀ?Ïç?¶H?X?ïú€??ïÌ€?ï{?îT?í?€??î~?Å'?s ?ç†À?ïØ€?Y€?ð?Ù\€?Ül€?Áp?ë]À?ïù?ï?íœ@?îÎÀ?ïU€?ïºÀ?ïÓ@?î‹€?ïê@?ïÚÀ?ï€?ð?ð?ð?î ?ëIÀ?ïª?ï`@?ï €?ð?ïï@?í|?î¼€?ïœÀ?î€?íB@?ïF€??ï€?ïh@?ï@?ï@?ï@?îÓÀ?ïÁ€?ï}@?ï±€?ïßÀ?î,@?ï߀?ð?ð?ð?îùÀ?ì\À?ð?ïï€?ð?Ü€?ïê?î3?ï•@?ï•?ð?ïS€?ïô?ð?ð?ð?ïûÀ?ð?ð?ð?Åô?‹?ð?ð?ð?ÁÒ?ê€?Ò0??X?àT?çd@?ìçÀ?ïå@?ìF€?ï;@?ïá?ð?ïÎ?ïWÀ?éÀ?îÅ@??î’@?éŸÀ?ê‰@?ç7@?éO€?êxÀ?î”?él€?ì–@?íŽ?ïê?ïÞ@?ïY€?æ(@?Ã×?·€?K?áÃÀ?ï©?íqÀ?ï\@?ïµÀ?ït€?ïp@?í§À?íÇ@?í_@?ªT?È?×]?ïïÀ?ßú€?œ?ªh?çÀ?É‘?Út€?¤Ä?æÀ?êGÀ?çæÀ?îÈ€?îê€?ïÄ€?ïqÀ?ïâ@?ïû?ð?ïX€?ð?ï[€??ï®@?ïã@?ïÿÀ?ð?ð?ç`?ïÕ@?ð?ïû@?ïè?ïú@?ïý€?ï×@?îŽ@?ïn?ï™À?ïÀ?ï\À?ïFÀ?ï}€?ï߀?ïL?íƒÀ?í[@?ïÄ@?íõÀ??ð?ï°À?ð?î|€?ìQ@?ïø€?ð?ïõÀ?ð?ïýÀ?ïj@?ìs@?ïêÀ?ïáÀ?å€?í%€?ïßÀ?ð?ð?ð?ïù€?ð?ð?ð?ð?ïý?êe€??ð?ïþÀ?ï¿?áÝ@?†?²ô?¥ì?ð?ð?é`?Êœ?‰à?s?Ç(?³Ö?b€?Š0?…?ê?ïî?íÑÀ?íÔ€?ïUÀ?ïÛ€?ð?ð?ïå?ï÷À?ïù@?îP@?íi?î€?ë[À?ïX?ì¦?é•@?êGÀ?çáÀ?è¡€?êš?êŒ@?íÑÀ?í@?ï?ï@?í€?ï?‘à?„ð?ìÝ?îü@?íý@?íÛ@?îò?æ@??î@?쟀?ìo?îE?îp?é-€?C?Ã@?çœÀ?î=À?¤H?ãÀ?ïÔÀ?ì{€?ª(?éòÀ?íƒ?ïÎÀ?ï³@?íóÀ?îýÀ?ï €?ïM?ï\€?豈?ïôÀ?ð?ð?ð?ï×?ð?ð?ð?ð?ð?ïö@?ïý?ð?ð?ð?í»@?ì²€?ï¶À?ï÷À?ð?ïÕ€?ï›@?ïñ@?ïB€?ïÜ@?ïÀÀ?ïÕ@?îªÀ?ï7€?ï¥À?ïÔ€?ï<?ïÿ@?í€?îk?ïá@??ð?ïýÀ?ïñ€?ð?ï½?ïÿ@?ïý@?ïë@?ïø@?ð?ð?í¾À?ð?ì[?ÒÌ€?ïÿ@?ïó@?ïÿÀ?ð?ïÿ?ð?ï¼À?ï=?ïÚ?ît@?ïÝÀ?ð?ð?ð?ð?ð?ð?î@?ëË€?Õ‚€?Èõ?ï×?ï»?Ñb€?m€?Ô?°’??É?×r?íø€?íÀ?îÓÀ?ïõ?ï½?ð?ð?ð?ï¼@?ï¼À?ïà€?ïî?î €?ïØ@?ïô@?ïS@?ï$À?Ó’€?ˆ ?ï.À?î¼À?ê™À?î—@?îÀ?èñ@?ïn@?îµ@?ï߀?ØI€?·ˆ?í­€?íD@?î΀?ï­À?ïQ?ïÝ@?îzÀ?íö@?î?ï €?îð?ë,?ï…@??Àþ?ïAÀ?í‹@?¤L?æ À?ïé@?ð?Ô‡€?F?î?ïÿ?ð?ïÿÀ?ð?ï|?ïÚ€?ï¼€?ïËÀ?ï×À?ïÈ@?ð?ïý@?ð?ïø€?ïýÀ?ð?ïû€?ïî€?ð?ð?ïÿ€?ð?ð?ð?ïÜÀ?ì<€?ïÈÀ?ð?ð?ð?ð?ïA?ð?ïÀ?î_?ïüÀ?ïÜ?ïÿ@?ïÔ?ïÁ@?ï΀?ï¯?îŸÀ?îÀ?ï»@?ïA€?ïö@?ïû€?ð?ïè?ïÿ€?ïÊÀ?ð?ïÿ?ïÅ€?ïó@?ïð@?ð?ïü?îé€?ëþÀ?ïþÀ?ïþÀ?ïô?î À?ð?ð?ð?ð?ð?ð?ð?ï)@?ï·€?ï•@?ð?ð?ð?ê×€?ð?é)@?çÓ?Ëß?èàÀ?àt€?(?ð?’Ð?nÀ??Àp?ÂÃ?§´?Óž?î=€?ï@?ï§?ïÈ?ì_€?íù@?ð?ïä€?ð?ð?ð?ïd?ïý€?ï;€?ï¿À?ïç?ã @?ä.€?ë!€?ëÿ?îû?î“€?íÀ?ì1?ï>À?î.€?ïù€?ë9@?ë7?î@@?ïˆ@?ïØ@?ï·À?ïßÀ?ï›À?ïó@?ï/@?ì•€?ïb@?ï)?ïÿÀ?ï©€?v€?áµ@?ï«?ÑI€?ÆF?ïï?ïúÀ?ë§€?ÃD?ï§À?ð?ïç€?ï·@?ð?ïý@?ð?ïÎ@?ïù?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ë…@?ð?ð?ïÿÀ?ïï?ð?ð?ïé?ð?ð?ïåÀ?ïÁÀ?ïå€?îú?ð?ïþ?ð?ïÊ@?ð?ð?ï?ïñÀ?ð?ï×?ïíÀ?ïd@?î?ïí@?ï¨@?ïü?ïV@?ïÞ?ïý?ð?ð?ïõÀ?ïñÀ?ï÷À?ð?ï!€?ïï€?ð?ï·?ï‹@?çM€?ð?ð?ïò€?ïþ?ð?ð?ïÛ@?ïï@?ïä€?ð?ð?ï¶€?ïñÀ?ð?ð?ð?íO?ð?ð?ð?ð?ð?î¬?ð?Å1?ë©@?@?Öà€?ŒÀ?Ç»?ë @??ïðÀ?ïù?ï߀?ð?ð?ð?ïô?ð?ð?ð?ï?@?ï·?ï§@?ïâ?ïMÀ?ëÐ?ïS€?î©@?êÄ@?ê'€?éÐ@?î.?íÍ€?ïé@?ïò€?ïŽÀ?ïÇ@?ìOÀ?ïX€?ì+À?ïˆ@?ã+€?íë€?ï@?ê‰À?ïŽ@?ï@?ïü@?ï€@?î À?ê©@?j€?å„À?¬ ?èÉÀ?ìÝ?«L?ìvÀ?ïýÀ?ïò@?ð?ïœ?ð?ïü€?ïß?ïô?ïí?ïúÀ?ï«À?ïê?ð?ïü@?ïè@?ïÛ?ïò@?ïÛÀ?î§€?ïþ?ð?ï.?ïýÀ?ð?ïõ€?ïæ?ï@?ïÉ@?ïõ€?ïÅ€?ï|?ï¿À?ïý€?ð?ð?ð?ïy@?ï’@?ï¯?îË@?ïòÀ?ð?ïô?ïÆ@?ï¼@?îÞ@?ïä€?ïý@?ð?ïåÀ?îÌ€?ïþ€?ïæ@?ïé€?ïö€?íô?é@?ï×€?ð?ð?ð?ï÷@?ïÊÀ?ð?ïÔ?ïé€?ïÏ€?ïÿ?ð?ïàÀ?ì€?ïÊ?ïÚ?ð?ð?ïü?ð?ð?îÒ?ï?ð?ð?ð?ïiÀ?ïå€?ð?Ê1?êØ€?áa@?µR?¥Ð?ìÃ?Þð?ï€?ï·€?ïâÀ?ïå?ð?ð?ïþ€?ïî€?ð?婢?ð?ï¡?ð?ïã€?ïÞ@?ïõÀ?ïÈÀ?ïN@?èkÀ?ìð?ëÝ@?îP@?çÓÀ?îm@?ïÿ€?ïnÀ?ï±?ïÀ?ïT@?ë{€?îÀ?îÐÀ?îÝ€?ìü@?ì±À?ç1€?e?ÐÖ?©?˜°?çè?á?¬¸?C?²ö?O?ÂÅ?ð?ïÕ?ð?ï³@?ïà@?ïõ€?ð?ïú@?ïñÀ?ð?ï·€?ïð€?ïê€?ð?ð?ð?ð?ïô@?ïü?ð?ïå@?ï÷?ì?í€?ïò@?ïÙÀ?ïÙ€?ð?ð?í3À?ë}@?îÝ@?ïö@?ïÿÀ?ð?ð?ïëÀ?ï‹À?ïø@?ïíÀ?ð?ïZ@?ï¿?ð?ð?ð??ïæÀ?ï€?ð?ð?ð?ïúÀ?ð?ïêÀ?ð?í@?ì×€?ïG?íµ?î΀?ð?ï?ð?ïË€?î @?ïØÀ?ð?ï¸?ð?ð?ïù?ð?ð?ïè€?ð?ïà@?ïÅ?èM€?ïüÀ?ïþ?ð?ð?ï@?ïŠ@?ð?ð?ð?ð?ð?íÀ?î‚€?ð?ð?ïæ@?a€?‘¨??ê߀?Ð €?ïö€?ïô@?ð?îæ€?ï]@?ï²@?ð?ïþ@?ð?ð?ð?ð?ð?ð?ï»À?ïñ€?ð?îæ€?ê@?釀?ì|@?îÓ?ä?Ý¥?î)À?í%@?ïn@?î%@?ê>?ï“À?ïs@?éoÀ?î‚€?ã€?ï@?àì?ãt@?ïÃÀ?è(€?Y€?z`?âùÀ?í€?ï+?ç¬@?И€?ÝÅ?æy€?ð?ïõÀ?ï˜@?ïý@?ð?ï“@?íLÀ?ïz€?ïÜ@?ï,?ð?ï+?ï@€?ð?ï°?ð?ð?ð?ï¯?ïÇ€?ð?豈?ïÅ@?çï@?ð?ïæÀ?ïþ?ïá?ì €?ïý@?ïíÀ?íé€?ð?ð?ð?ð?ð?ð?ïý@?ð?ïì?ïùÀ?ïø?ð?ð?ïZÀ?ïù€?ð?ð?ð?ð?ïõÀ?ð?ð?ð?ð?êß@?ïÂÀ?ïóÀ?ð?ïÊ?ð?î§@?ïÀ?ð?ï¡€?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ïø@?ï¾À?ï÷@?ð?ð?ð?ïÀ€?ð?ð?ð?ð?ð?ð?ïŠ?ïŠ@?ð?¶?ç.@?t@?ÖO?ëß@?ïÿ@?ïñ€?ïV€?îŠ?ïæ@?ìÔ€?îê@?ð?ïÜ@?ï}?ìÜ@?ð?ð?ëý?ïþÀ?ïF?ïú@?ïð@?ì €?ï&?ïU?Å?P?Á?ê±€?îz@?îF€?í?ìóÀ?îÄ€?ﮀ?ïN@?ï¤??ïº@?ð?ìPÀ?¥¼?‰?Ûœ?ãT€?åL?ÜÌ€?¶P?³z?áË?ïá?ð?ïÊ€?ïÜ€?ïû@?îµÀ?ïÊ€?ïþ€?ïà@?ïþ?ïÆ@?ð?ð?ïé?ïÏÀ?ð?ð?ïú@?ð?ð?ïùÀ?în?Ïg?ï)€?ð?Èá?€À?ïvÀ?ïþ@?ëÀ?ïñÀ?ð?ð?íN€?éÁ€?s€?±&?ïÛÀ?ð?ð?ð?âÆÀ?äï?ð?ð?ð?ð?ð?ð?ð?ð?ÂÒ?âŽÀ?ÕÕ€?ï\@?àÃ@?ïô?ð?ð?ïý@?ð?ð?ïã?ïÚ@?ïâÀ?ð?ïë€?ð?ð?ïñ€?ïü?ïù@?ð?ïæ@?ïô?ïÿÀ?ïÿÀ?ð?ï×À?ïÿ?ï‹?ð?ð?ïø€?혀?ð?ïÝ€?ïà€?ïÿ€?ð?ïeÀ?ï(À?ð?é@?Ü\€?®|?b?ð?ïý€?ï]€?îÜ?ï¡?ï÷€?ð?ï÷€?ïþ€?ï÷€?ð?ð?ð?ð?ï÷@?ïû@?ïÿ@?ð?ì³?íž?ïâ@?ï4@?ëì?ïz?×ä?ë6À?ê.?îØ€?ï@?ïO@?ï”?î™@?î–??ìÒ€?ïÞÀ?ïÀ?ïÜ?ïþ?Û+€?Ê?²ü?°$?t ?”¸?a€?ì€?ð?ð?ïæ?ïõ?ï¸?ïé?ï?ïl?ï¾@?Ðk€?íBÀ?ïöÀ?ïêÀ?ïí@?婢?ïÿ€?ð?ð?ð?ð?ì%@?á9À?»¤?î@?á?ÐA?îM@?î?ð?ïðÀ?ïú€?ï,€?ïþÀ?Íu?… ?Û€?ð?ð?ð?ïø@?¹L?L?íÎ@?ï°À?ï¤À?ï£À?ïùÀ?ð?ð?ïöÀ?î@?íb@?ïõ?ð?ð?ð?ð?ïÑ?ð?ð?ð?ïü€?ð?ð?ð?ð?ð?ð?ïÐ@?ï‰À?ïÛ?ð?ð?ð?ð?ïü?ïûÀ?ïÿ?ð?ïþ@?ð?ïý€?ï…€?ï÷À?ð?ïÍÀ?îÄÀ?íšÀ?ïí@?ð?ð?ïô€?ê;À?î÷?ð?ïb?ÖÙ€?¼^?Á)?èü?ï?ïÞ@?ïþÀ?ð?ïÿ@?ð?ð?ïÿ@?ð?ïûÀ?ï÷À?ïý€?ð?ð?ð?ïþ@?ïåÀ?ïÿÀ?ï~€?ïÀ?ï”@?ïÇ€?ïÔ€?ï¶À?﯀?×€?©ˆ?ê€?eÀ?¾î?æü€?î-?îÀ?îX?íÛ€?î÷@?ï´€?îÊ€?î$@?ìy?èV?à€?î®?ìM@?§€?§ð?ïæÀ?ïò@?ï²@?ð?ïæ?ð?âg€?退?ïû? ?2?ëÅÀ?ð?ïÞÀ?ð?ïù€?î{@?ð?ð?îÙÀ?î·€?ÒÅ€?²ô?îèÀ?ð??ïü?ð?ïÇ@?—€?âÁÀ?ð?ð?ð?ð?ð?}À?µŽ?ð?ð?ð?î°À?ð?ð?ð?ïë€?ïìÀ?ïÿ?ð?ïL€?ð?ïï@?ïã?ð?ð?ï¾€?ïù?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïä@?ïþ@?ïü@?ï¢?ïb?ï @?ð?ð?ð?î°@?ð?ð? ?ï~?Þ”?·?Ñ?ð?ð?ð?ð?ð?ïô€?ð?ð?ï÷?ïñÀ?ð?ð?ï¿?ð?ïù€?ð?ð?î¿?ïÿ€?îgÀ?ïÉÀ?ï©?ïÚ?ïJ@?íý?ëÏ?@?ïð€?ïÒ@?¿?Üë€?êî?í]€?í6€?êq€?ï<?ëû@?ï?î«?Úm? ¬?܆€?é®?[€?̃?ð?ïÿ?ïoÀ?±d?Û€?’H?Ä¥?ð?ð?Ä…?„ð?ܘ?ïÊ?ïùÀ?ð?ð?ð?ïÔ€?ïý@?Üd€?¤ ?àÜ€?ð?ð?ð?ïË?²^?Ž@?æÈ?ð?ð?ð?ð?ï3@?ï\@?ð?ð?ð?ð?ï0€?ð?ïš?ð?ð?ïûÀ?ïÿ?ïÿÀ?ð?ïØÀ?ð?ð?ð?ð?ïé@?ð?ð?ð?ð?ð?ð?ð?ïý€?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ïýÀ?ïû€?îfÀ?ïý?ï*@?îú€?ð?ð?ïÀ€?ï€?ð?ð?ïú?àÏ€?ïÞ€?¼~?ÒŸ?ïÅ@?ïÜ@?ã—@?Žp?ïô€?ïçÀ?ïæ?豈?ð?ïÛ€?ï¹€?ï•@?ïðÀ?ïßÀ?ï;À?ïc@?ð?ð?ð?ð?ð?ïð€?ï-@?ïþÀ?ïÐ?ïø?ð?ï€?ð?ï‡@?6?ïùÀ?ïÿ@?êþ??éM?æ9€?äÇ?î €?ïØ€?ïóÀ?îÃ@?Æq?p??ê;?ï±@??ëÁÀ?èÀ?ïãÀ?ï´?ïßÀ?ë×À?Ã?°?¦d?ïú?ï@?Ëq??ëÍÀ?ð?ð?ïæ@?ïµÀ?ïþ@?Ò?@?Ú€?Ñ)?íæÀ?ïü€?ïß@?ð?î ?c@?ð?ð?ð?æU€?ïöÀ?ï@?ð?ð?ð?ð?ð?ð?ïþÀ?ïî€?î²€?ð?ïy€?è¿€?ïù?ïý?ð?ð?ð?ð?çÀ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï™À?ð?ð?ð?ïü€?ð?ïþ€?ð?ð?ïï€?ïí€?ïþ€?ð?ïÜ?ð?ïõÀ?ïø?ïó@?ïû?ïëÀ?ð?ª¤??å;À? ”?À?ð?ïÜ@?ï…?ï½?ð?ïþ?ï­?ïþ?ð?ìÀ?ð?ð?ïô€?ïôÀ?ïïÀ?ïý?ð?ïïÀ?ð?ð?ïþ€?ïÿ@?ð?ïÿ@?îÀ?ïñ€?x@?ïÒÀ?ïÞ?àdÀ? ¸?äø€?ï¨À?ïé?ð?ïÒ@?ð?ï„@?Àò?ï€?ïŒ@??ïø@?ïl@?ïÅ@?ïÄ€?À&?g?áB?h?B?Ê©?ïÿ@?ï‚?Ð?ïÕ€?ê=À?ïŠÀ?î4@?ÜÚ€?í9€?â À?ÐK?íW@?î??ð?ð?ð?ï¢?ëºÀ?äV?áø€?ïq?ð?ï¥?ïþ@?íÓ€?ï}€?ï,À?†à?ï&À?ð?ïÜ@?ð?ð?ïú€?ïÝ?ïÏ?ð?ïÿ?ð?ïü?î:@?ïÛ?îg?ïü@?ïÿ?ð?ïþ?ð?ð?ï…€?ð?ïÕ€?ïû@?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå€?ð?ð?ð?ð?ð?ïµ?ëÄ?ð?ð?ïÿ€?ïq@?ïýÀ?ð?ïùÀ?ð?ïý€?å|À?ïñ?ïîÀ?ð?ï?ïdÀ?ïü€?±Ä?¶®?ÝÇ?ð?ïÅ?ïþÀ?ð?ïÞÀ?ð?ð?ð?ïÿ?Óë?ïÿ@?ïÃ@?ð?ð?ïÿ€?ïþ?ïüÀ?ïô@?ïò?ïû@?ïô€?ïï@?ïùÀ?ïý€?ð?ï÷À?ïÝ@?ð?ïüÀ?ïý€?ïÈ@?ð?ïö€?ïÝ€?ð?ð?ð?ð?ï÷@?ïø@?ç€?Ö‚€?cÀ?Z€?ÚÆ?ïà@?ïÕ€?ð?ïvÀ?ï÷?ï°À?ѵ€?ºÊ?¦¸?ß]?Ì?î—€?>?âì€?ïè€?ï<À?½(?¨?ãˆ@?ïöÀ?ð?ïó?ïØ€?ð?ïúÀ?ð?ð?ïöÀ?ð?ð?ð?ð?ï?ïÀ?ïð€?ïÿÀ?ïJÀ?X€?(?ܸ?ïë?ïÀ@?ð?ð?ð?ð?ï€?îª@?ìÌÀ?îâ@?ïðÀ?ïý€?ð?ð?ð?ð?ð?ïô€?ïâÀ?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï„?ð?ð?ïÒ?ð?ð?ïýÀ?ð?ï@?ïý?ïÕ?ïþ€?ïÜÀ?ð?ïï?ïlÀ?ﻀ?¢p?»²?ìÀ?áº?ë9?ð?ëk@?“(?á@?ïÌ€?×Ì€?ð?ïá@?ïý?ïÿÀ?ð?ð?ð?ð?ïú@?ð?ïý@?ð?ð?ð?ïâÀ?ð?ïü€?ïõ?ð?ïÂÀ?ïüÀ?ïúÀ?ïê?ïû€?ïï@?î¢@?ïô€?ï¹€?ð?ð?ïø?ïþ?ïá?ð?ð?ð?ïü@?íó€?ïÀ?s`?0?ç?ïc@?ìã?îÆ@?ïþÀ?ï¹?ï‹@?Ý»?¿ ?¼J?(?é¡À?étÀ?ë²?ÚÍ?Á¨?ð?ïþ€?ð?ìo€?ð?îE@?ïõ€?ð?ð?늀?ïÅ?ïõ€?æ‚?ï€?ïü?ð?ð?çÂ@?Ã?ð?ð?ð?ð?ð?ð?ð?ï;€?ïÕÀ?ï:@?ð?ïï?ï}@?ð?ïú?ð?ïÐ?ïÄÀ?íš@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ€?ïÐ?ïÌ€?îYÀ?ð?ð?ít?ð?ð?ð?ð?ð?ð?ïNÀ?ïó@?ïÆÀ?ïÞ€?ð?ð?ïà€?ïî?ïË?äÝ@?Ðî?Ε?ïÀ?ïúÀ??ï`€?ìk?¼Þ?ïÓ??îé?î§?ð?ð?ð?ð?ï³À?ð?ð?ð?ïý€?ð?ð?ïþ@?ïù@?ð?ð?ïC?ïÉ@?ïþÀ?ï«@?ïÄ@?ïæ?ïöÀ?ïD?ð?ð?ð?ïõÀ?ð?ð?ð?ð?ð?ïwÀ?Öª€?Ó?¥€?¦?ìu?î?ð?ï~€?ïû@?ïý€?ïá@?¤Ô?Íï?ï‘?ëÕ@?T€?Ê ?ïãÀ?»D?Âê?±ö?ë?ïÝ?솀?î@?ï<@?ï¤À?ð?îÓ?ï”À?îj€?ð?ï ?ïú€?ð?î€?ð?ð?ïÀ?Òo?Í^?ïü@?ð?ð?ð?ð?ïx@?ïÀ?ïÛ€?ï?îþ@?îå€?î?ïµ€?ïŸ?ï¨À?ï3À?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ð?ð?ð?ð?ð?ð?ð?ïÜÀ?ð?ð?ð?ð?ð?ïÔ?ïîÀ?ð?ð?ïï€?ïü@?ð?ð?ïÑ€?îØ@?Ïv?à¹À?Æ•?¡$?Êï?ï[?î À?8?âäÀ?îo@?Õt€?ï÷À?ï÷@?ïÛ€?ð?ð?ð?ð?ïü@?ð?ð?ð?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ï÷À?ïÕ?ïß?î¥À?ð?ïî?ïü@?ïç€?ï~€?ï°?ð?ð?ð?ð?ð?ð?ïà?Î[?—€?ä`?ï¨@?ïÊ@?ï×À?ð?ð?àsÀ?åÄÀ?é/À?ïF@?íµ€?ïéÀ?ð?ð?ïø€?À?¹Ü?Ƭ?ƒð?‘È?¶\?½ê?ìÀ?§À?ï`À?ìD€?¿ð?ëá?ð?ïýÀ?ð?ïÛ€?ð?ï”À?ï¤À?ïà€?ð?ð?ð?ëÃÀ?ë9?îdÀ?ð?ð?ð?ð?ð?ïì@?î¥@?ð?ð?ð?ð?ð?ð?ð?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï›À?ð?ïú€?ð?ð?ð?ð?ïÿÀ?ð?ð?ð?ê_?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ïì@?ð?ï€?ï·?ï·?ï ?Àõ?v?¿?îÈ€?ïv?ÎÒ?îø€?ïõ@?ð?ð?ïÌ@?ïÍ@?ð?ð?ð?ð?ð?ð?ð?ð?ïàÀ?ïá?ïøÀ?ð?ð?ð?ð?ïôÀ?ïì@?ìâÀ?ìÍ€?îYÀ?î"?ð?ïêÀ?ð?ïú€?ïÌ@?ï‘@?îá?ïôÀ?ð?ïÓ?ïâÀ?ïôÀ?íÂ@?Ø®?Ù=€?ºÂ?­¼?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?²Ì?J?ã*@?åÝÀ?Ä@?® ?ät€?ïüÀ?ð?ð?ð?ð?ð?ïÿ€?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ð?ð?ð?ïã€?ïÿÀ?ð?ð?ð?ð?ð?ïå@?í%?ð?ïØ?ï±À?ï½@?ï·€?ïRÀ?ïó€?îÀ?ï ?ïÖ€?ïÊ€?îÊ?ð?ð?íЀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâ€?ð?ð?í¯À?ð?ïS@?ïÄ€?‘`?Å ?ð?í߀?Ò?í‹À?îó@?æÀ?ïá?ï}?é%? ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïc@?ð?ïþ?ð?ïÿ?ïp@?ïý€?ìÝ?ïôÀ?ïñ@?ð?ïû€?ð?ð?îwÀ?í¡@?îí@?ïã@?ïð?ï²À?ïÿ?ð?ÐO€?ÀŒ?寀?ÓF?‹à?æÑ@?ð?ð?ð?ð?ð?ð?ð?ð?çæ€?f@?ïôÀ?ð?ð?ð?ïz?ì–@?îm@?îT?ð?ð?ð?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€@?î˜À?ïùÀ?ï_€?ð?ð?ï©?ïX€?呂?ìð@?ï~?îý@?︀?ï@?ïÇ@?ïþÀ?ïb€?ï…@?ð?ð?ð?ïòÀ?ï€?ð?ð?ïåÀ?ð?ð?ð?ïZ?ï9@?ð?ð?ïñ€?ð?ïÿÀ?ð?ïÖÀ?ïŒ@?î0€?N?¶²?r?ëW€?Ûâ?ߌ€?Û\€?æì?žX?ìõÀ?ïõ@?ð?ð?ï«À?ïü@?ïö@?ð?ð?ð?ð?ð?ð?ïù?ð?ïú@?ïõÀ?ïÞ€?ï¶?ï7@?ïŸÀ?ð?ïóÀ?ï€@?ïó€?ïüÀ?î¿À?ï@?î•?îõÀ?í¹@?ïþÀ?ï8À?³?zà?ï¿€?ïá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è=€?À&?º6?·°?¿’?Õ?ïûÀ?ð?ïû?ð?ð?ð?鯀?ï¥@?ð?ð?ïâÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö?ð?ð?ð?ð?ð?ïc?ð?ï“À?ïþÀ?í®?ïøÀ?ïù€?ð?ïÌÀ?ð?ïò@?ï©€?ï®@?ïÇ€?﯀?ï“€?ï@?í†?ïÿ@?ïÕ@?ïè@?ð?ïÄ€?ð?ð?ð?ïæ€?ïô@?ð?ð?ð?ï¢?ð?ð?ï6À?ï@?ïy?ð?ïÚ?îÈ€?æ”À?ïa€?Æ?¤À?éPÀ?ïT€?Ùˆ?Žp?‹p?‚@?Îæ?ïÀ?ð?ð?ïæ@?ïÿÀ?ð?ð?ï§€?ïÛ€?ð?ð?ïä€?ïþ€?ïô€??ïfÀ?îS?ï]À?ïD€?ïÃÀ?ï*À?ð?ïì€?ïþ€?ï\@?ïŽÀ?ïÇÀ?ð?ïÿ@?êl€?0?@?Õ²€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î­€?ÚÕ?ð?ð?çÙ@?Ô€?jÀ?^?ëuÀ?ïù€?ð?ð?ð?ð?ð?ð?ïÒ@?ïþ€?ïc@?ïüÀ?ïº?ð?ð?ð?ð?ð?ð?ð?ð?ïÚÀ?ð?ð?ïë?ïß?ð?ð?ð?î@À?ïP@?ﮀ?ï•?îu@?ïý€?ð?ð?ïü?ï+€?ï€?ïÀ?ïºÀ?í`?çC@?ïÐÀ?î6@?ïùÀ?ð?ð?ð?ð?ïü€?ð?ð?ð?ïù€?ïþ?ïÿ€?ïð€?ð?ð?ïó?ïy?ï)?îÜ@?îÆ@?îAÀ?íîÀ?ìH?è†@??·~?ì¹€?W€?ïð?íU@?ïÞÀ?ð?ð?ð?ð?ð?ð?ð?ï¹€?ð?ïêÀ?ïð@?ïõ€?ï<À?î‹À?ïë@?ï/?ïÖ?ï—?ð?ïøÀ?ïò?ð?ïS?ïá?ð?çqÀ?o@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïçÀ?ì??áŠÀ?êÜ@?ð?ð?ð?ð?ð?ìí@?æ¹€?îg@?ð?íÀ?íŠ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ê¿@?ï<À?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?êÏÀ?ð?ð?ð?ïû€?ïÞÀ?ð?ð?ìß@?ìÌ?ï÷À?îÊÀ?ïÎÀ?ïç?ð?ð?ð?ï*@?ïÙ?íp@?íý€?êoÀ?î­À?îÀÀ?ïf€?í<@?ïî?ïõ?ð?ð?ð?ð?ïü€?ð?ð?ïÿ€?ïö@?ïï?ï?ïü@?ïÙ@?ïñ@?ïò€?îÝ?îÀ?ïÊÀ?ïë?í®À?ïŸ@?ê|?ëGÀ?n€?j€?›0?Ë?ëp?ê À?ð?ïþÀ?ïá€?ïìÀ?ïû@?ð?ð?ïÿ@?ð?ð?ïü@?ï;€?ð?ïñ?ïì?ï€?ïøÀ?ï»?ïùÀ?ïÏ?ïá€?ïÿ€?ïÿÀ?ð?ïþ?Øa?êiÀ?ïÿ€?ð?ïü@?ð?ð?îº?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îæ€?æ…?ð?ïŒ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è|@?„À?à›?ïÇÀ?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷À?ð?ð?ïô€?ð?í}@?ïë@?ïò€?ð?ïÿ?ïþ€?î?ð?ð?ð?ïÿ?ïÖ?ïâ?ï¿@?ð?ïþÀ?ð?ïêÀ?ïò@?ïæ?ïãÀ?ð?ð?ïõ?ïÿÀ?ïú@?ïþ€?ïä@?ïþ€?ïÀ?íÈ€?ïÕÀ?ð?ð?ï€?îª?îxÀ?î?ê?ð?ì%@?ï±?ï?¯,?‹?í_€?Ê4?Á·?ð?ð?ð?ð?ïý?ïú?ð?ð?ð?ïp€?ð?ïÕÀ?ð?ïúÀ?ã0?ÐZ?á‰?ëù@?ÙŽ€?Øj€?§„?ïÿÀ?ì¨À?í @?ïû@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ïä?í;€?欀?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?ð?ð?ïÚ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ð?ï?ïýÀ?ð?ïø?ð?ð?ﮀ?ïÕÀ?ïŒÀ?ï~€?ïnÀ?ð?ïâ?ïÕ€?ïûÀ?ï΀?ïþ€?ð?ïÄ?ð?ð?ï˜@?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ïÏ?ð?ð?ð?ïšÀ?ïŒÀ?î3@?ð?ï]@?é@?ïþÀ?ð?ð?ëÃ@?™0??‰0?ëX?±š?çÐÀ?ð?ð?ð?í…À?ïü?ð?ïÿ€?ð?ð?ð?îÚÀ?ïsÀ?Õæ€?ÉX?í…À?¿"?Ð|?£Ô?i@?’°?w?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¦À?ð?ál?ïÄÀ?ð?ð?ð?ð?ïû@?ð?ð?ð?ð?ð?Û°?èõ€?ð?ð?í?ð?ð?ð?ð?ð?ð?ð?ð?ïñ€??ïÿ?ð?ð?ïå?ð?ï÷?ïÌ@?ïé€?ï€@?ïï?îè€?ïæÀ??ð?ð?ïú?ð?ð?ð?ð?ð?ì>À?îz?ïÚ?ð?ð?ïK€?ð?ïþ€?ð?ïý@?ï™À?ð?ð?ïæÀ?ïð@?ïÉÀ?ð?ïÀ?ïÐ?ð?ð?ïî?Y?„`?‚?é—€?î6À?åF@?ï¸À?ïü€?ð?î«@?ð?ð?ð?ïÀ?ïý€?ïþ€?Å>?Â2?ï…€?â¡À? ?³?b?ã?ð?ïä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïê€?ï·@?ïö?pà?ð?ð?ð?ð?ð?ïè?ð?ð?ð?ð?ð?ð?»À?œ€?¨t?Í”?ï„?ð?ð?ð?ð?ð?ð?ð?ð?ï:?ð?ð?ð?ð?ïú?ïý?ïÒ€?ï¹€?ïh@?ïÎ@?ï†À?ï£À?ï×À?ïQ@?ï @?ïö?îÂ@?ïÆ@?î°€?íÒÀ?í¯À?íWÀ?ïe€?ð?ïË@?íÑ@?ð?ð?ïÔ?ð?ïŠ?ïžÀ?ï¬@?ïù?ð?ð?ð?ð?ïô?ï“€?ð?ïS@?ð?ï@?ïöÀ?îö€?2?a€?±X?ä€?ÕW?ëî€?ïü@?ð?ïã?ïþ?ð?ð?ð?ð?îAÀ?ïé?Á+?ïý?”È?·À?r?œ?ï‰?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŠÀ?ð?Ö?Øc€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ô~?´ò?(?Ò?èb@?¡|?Ëå?ר?å?€?Ûù?Ѽ?Ò€?¶”?ð?ïý?ð?ð?ð?ð?ï×À?ïÍ@?ï@?ïß@?îÎÀ?ïà?ïšÀ??ï7@?ï@?ïc@?î›@?íÕ@?ï™@?îì@?îÌÀ?ïÕ€?ïø€?ï÷?ïýÀ?ï³€?ïû?ïôÀ?ïÙÀ?ïß?ïð€?ïêÀ?ïú@?ð?切?ð?ïË@?ï¿?ïö?ï¹?ïôÀ?ð?ð?ð?ð?Ò‚?à¥@?ïò?§(?ìB?ð?ð?ð?ð?ð?ð?ïû€?ïÙÀ?íN€?ßÕ€?°?`?í+€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê^À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âjÀ?â÷@?ãpÀ?ð?ð?”?æ`?î?í9À?ïü?ïq?ïø€?ð?î§@?ïð?ïî@?ïæÀ?ï¼À?ï ?ïMÀ?ïÔ@?ð?ïå€?ïë@?ð?îH€?íZ€?ëÙÀ?ð?ð?îÓÀ?ð?ï?ï‚€?ð?ð?ð?ïÿ@?ïò?ð?ð?ïÔ@?ð?ï߀?ïþ?ïþ?ð?ïj?ï-€?ïã@?ï½À?²`?Øš€?ë À? ??ÀË?èÈ€?8?î&@?ð?ïÆÀ?ð?ð?ð?ð?ïÄÀ?èŸÀ?àÔ?S€?µ¸?y ?À)?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ì@?ð?ð?¢Ð?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?…p?Á'?츀?ï¬?ïôÀ?ïÀ?ïý@?ïç?ïü@?ïÜ€?ð?ïêÀ?ð?ð?ð?豈?ïä€?îº@?ïþ€?ïW€?ï´@?îÊ?ëÜ€?ð?î÷@?ïU?ïó?ð?ð?ïô€?ð?ð?ð?ð?ð?ïôÀ?ïóÀ?ïµ€?ï÷?ïó@?î@?é-€?ï ?ìöÀ?€@? ?ï]?³þ?4?Çå?î@?ð?ïúÀ?ïÿ€?ïÿÀ?ð?ïÄ€?ä2@?iÀ?Õ”?írÀ?æä@?Ê ?a€?žP?€ð?ïóÀ?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëí?ð?ð?ð?ð?³>?ïOÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ø?8?í\?ï.À?éò€?ï0À?ïó?ï¼€?ð?ïÿ@?ð?ïéÀ?ïû@?ïø@?ï’@?ïÃÀ?ïÿ€?ïú?étÀ?ã¡@?Öà?mÀ?ïúÀ?ð?ïþ€?íø@?ïý€?ïÚ@?ïÔ?ð?ð?ð?ð?í´?ïÿ@?ïâ@?í@?ìî€?î°€?íÌ@?ä½À?¡Ü?:?b@?“à?Ò7€?‡?‚?ͱ?ð?ð?ïù€?ð?ð?ïò?è €?qà?°¶?Ô?€?´œ?U€?·n?èw@?íÀ?Øc€??„?¶p?M?ß„?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâÀ?ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îq?ð?ð?ð?ð?ð?妀?Öf€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç€?áÂÀ?A?ï…€?ïÖ?ïù@?ïù@?ïû@?ïÝ@?ïÔ€?ïC@?ïí@?ð?ïÏ€?ï´À?ëXÀ?ÐÄ?ï#?îÀ?ïÉ@?ït@?ð?ïý€?ï¸?ð?ð?ð?ð?ï%€?Ô€?Y?t`?åå?… ?×;?³^?ïù€?ïû@?ïçÀ?ð?ð?ïö€?ïÿ€?’p?ïö€?ð?ïõÀ?¼?Ÿ@?âä€?ïâ€?ß!€?Ð?³„?¿Î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ï¢À?ï´€?ð?ð?ë?Àá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í–À?ï½À?ïå€?înÀ?ïÔ?ïûÀ?ð?î@?ð?ïø€?ð?ïñ@?Ò„€?ŒÀ?Ãn?ïï@?ïúÀ?ïd€?ð?ð?ïý@?ïÖ?ïÝ€?ð?ð?ä#€?â*?î±?•È? ?P€?ìC@?–¨?ïñ?ð?ï›@?ïö@?ïÏ@?ïÚÀ?ïþÀ?íÓ?ïü€?ïÞ€?è???†Ð?¸œ?­à?º<?Ôè?å–€?ë9À?Ét?z`?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ð?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïR?ïR€?ïë@?î}À?ð?ð?ï¿?º²?êP€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îj€?—?ì_À?ïì@?ïÊ?ïã?ï’€?ïö@??ð?ïƒ?ð?׃€?•?éK??ïûÀ?ïþ€?ïö€?ð?ïÒ€?í¤À?îëÀ?ð?çÀ?é˜?Ðj€?ÀN?ØÉ?¤¼?M?ƒ0? ??äp@?ð?ïý@?ð?ð?ð?ï+@?ë$€?¿¾?Ò€?é@€?íæ€?ð?ïð€?Ù7€?}@?àìÀ?•€?ä'?áZ€?î%@?ìI€?â~À?å"À?§8?ß?›0?p ?t€?ïÇ€?ð?ð?ð?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?ð?ð?ð?ð??6?ïŽ?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?êÀ?–@?Ðq?ï÷@?ï÷€?ïî@?ïü?ï§À?ï)@?ïÿ@?ï¬?£?Û)€?힀?éjÀ?ïà@?ìAÀ?ï¦@?ð?ïÙ@?ïY?îØ@?ð?Él?×é€?ï}?´^?ÙB?ïñ?ð?ð?ïÞ€?ð?ð?ï°@?ð?ïÓ?ïý@?ïÿ?•8?¡˜?qÀ?6?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ïÿÀ?ïÿ€?îa@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îW@?ð?ð?ð?ð?ð?ÑL?\?Þ?ïüÀ?ð?ð?ð?ð?ïÿ€?ð?ð?Š?±H?ïè@?ïóÀ?ïœ?î{?ïSÀ?ïö€?í€?´?å`@?è΀?j?í¼?ð?ïüÀ?ïü@?ï¹À?ïÊ€?ïT€?ïð@?ð?Ý€?áyÀ?î*À?i@??ë8@?ïù@?ì¿À?ீ?ï€?îï€?ïÁ?ïù?냀?Ÿ?žø?­Ð?€@?¼Ì?\€?A?¨t?™ˆ?í7€?ïý?ïB€?ïÙÀ?ð?ð?ð?ð?ð?ð?ïë€?î€?ï€?ð?ð?ïÀ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï.€?ð?ð?ïÚ?ð?ð?ð?Èš?Ú4€?ð?ð?ð?ïýÀ?ð?ïÑ?å-@?·È?íøÀ?ïò@?îÀ?ïô€?ïþÀ?ë\À?ãxÀ?îi?ïÁ€?ïÿ€?ïø?ïîÀ?ï‡@?íã€?ð?ð?Ä!?íæ?Ûÿ€?a€?¡¨?ï]?ð?ð?ï¯?ïJÀ?ïÃ?ð?ïÿ€?Ñ/€?p ? d?ÌN?ã?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ïXÀ?ï‡@?ð?ð?ïý@?ïR@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï»?í)?ð?ð?ð?ð?ð?îº@?ã:€?¤?ïÖ€?ð?ð?ï ?ÝE€?º?ïÕÀ?ïÎ@?ïûÀ?ð?ìæ€?f@?È?ïùÀ?ïÿÀ?ð?ð?ð?ð?íÀ?ïR?ïö@?äü€?Â?å€?åu€?ϰ?8?†€?ãM?ï@?î“€?ïþ€?ïÿ€?ð?ð?Ïi?ÁO?Ër?ïý@?ïï@?ð?ð?î€?ïâ€?ð?ð?ð?íЀ?íæ€?ð?ð?ð?ð?ð?ï.?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë¼€?ð?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îy?ïž@?ð?ð?ð?ð?ð?ð?ð?ä?í×?ánÀ?£´??ïá?ï]?ï²?ð?î`À??… ?pÀ?îê?É«?îÔ?ð?íÿ@?íŒ@?íºÀ?ð?ð?é°À?¢t?Ûµ?¡@?Þ?\€?h€?¡(?Ȱ?ïþ?ïûÀ?ð??žÈ?ÃU?íU€?ð?ð?ð?ð?ëå@?ð?ï @?ï±À??ð?ð?ð?ð?ð?ð?ð?î÷À?ð?ð?ð?ð?ïÿÀ?ð?ð?ð?ð?ïý@?ï¦?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î}€?ð?ïó?ð?än€?ð?ð?ð?ð?æ²À?è–€?$?0?×?ïÝ@?ïp€?ïû@?Öâ?¬Ä?€p?ŸÐ?ì^€?®œ?œè?ð?îÑ@?ï­À?ð?ïÿÀ?ã_@?—h?’à?´\?³"?Üý?Ó€?ÇØ?ð??í«?Y€?Ôï?Z€??†p?a€?ØK?íÀ?ð?ð?ð?ïû€?ï¤À?ïÃ@?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë)€?ð?ïí@?ï@?ð?ïÇ?ð?ï•€?ð?ïÞ€?îõÀ?ï²@?ð?ð?ïÄÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ð?ï±€?ïôÀ?ïñ€?ð?ð?ïôÀ?ð?ð?ä[@?¾Ž?æ=@?ï÷À?ð?ð?ð?^€?ï?ïüÀ?ïð€?Þf?Â?“Ø?î€?ÑÜ?îG@?ïÀ?èå@?Ñ•€?[?Ò>€?2?ÛØ€?Úù?á€?˜X?$?2?ë«?ï€?¤?Þ5?íë€?ð?í‚€?ïü€?ð?ð?ÄR?Ö?wÀ?Ð7?á¢@?³¤??Þã?ð?ð?ð?ïü@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïW?ð?ïÿÀ?ð?ð?ð?ïÀ?îÿ@?ï@@?ïþ?ï{@?ð?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ@?îª?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÂ@?æœ@?ïÒ@?íÀ?Ä?§H?|à?需?²‚?@?Å?í5@?ÎÁ?C?ãN@?Ç?¢,?ÓÓ?†P???‹?âÿÀ?ïp?µ<?Í…?Ñp?ƒÐ?ëÜ€?îþ€?ð?ã’À?ér€?ïì@?ïï?ïðÀ?ïà?ð?ð?ïù?î÷@?Á ?áWÀ?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï|€?ïÿÀ?ð?ð?ð?ïáÀ?îçÀ?ð?ð?îÀ?ð?ïh@?ïú?ð?ð?ð?î‘@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?d@?0?ëƒ@?Ýô?ì€?œ??î8€?ߤ€?¨ì?? ?¨T?§8?ân€?ìf€?ì‹€?:?×?è+?ïô?ÐÀ€?·Â?î À?ìR€?îÙ@?îØ@?ð?ïû?ð?ïþ@?ï÷À?ð?ð?ð?ïÈ@?í´À?îP@?ë5?Ö—€?¡P?ð?ð?ð?ð?ð?ð?ð?ð?ð?î €?ïÚ€?èÅÀ?ï÷?ð?ð?ð?ð?íóÀ?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?ïéÀ?ð?ð?ð?ð?ð?î¯?ð?ð?ð?ð?ð?ð?ð?ð?ð?â·?à±?ïý@?¹¾?£,?Ÿ8?ìxÀ?Æ?Á¨?‚ ?ð?ê À? ?šH?Ñx€?¢?í6@?ï÷À?ï€?ïî?ð?ï§À?ïQÀ?ïh?ï·À?ï¼@?î„@?ïW@?ð?ê_?ð?ð?ð?ÜA€?Ïç?ï€?ð?ð?ð?ð?ëY€?ð?ð?ð?ð?ï@?稀?²?£¤?ÅÂ?ïÍ@?íÏÀ?ïÔ@?ïÿ?ð?îa?ïõ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î´€?ð?ð?ð?ð?ð?îß@?ð?ð?ð?ð?ð?ð?ð?ð?ð?„?¿¸?å À?A?K?Ñ|€?îÀ?Ôç€?²Œ?ïð€?¦H?”H?­À?R€?î¸À?˜ð??Á·?ïã?ï/À?ï¢?ð?ïG€?ïþ?î¤À?î@?ìÚ€?ð?ð?ï@?ïÀ?ð?ï}@?ï|€?îCÀ?æM?šÈ?h?ëRÀ?ð?ð?ïà@?ð?ð?ð?ð?ð?îmÀ?ïÿÀ?î²?ïá?ð?ð?ïÀ€?ï…?ð?ð?ð?ïæ€?ïJÀ?îý@?ð?ð??ð?ð?ð?ð?ð?ð?î®?ð?ð?ïFÀ?ð?ïŒ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ù\?ïC€?í?Í‚?p@?ïÄ@?îC@?Æç?X?D?Âô?îÄÀ?ð?í{€?Ìñ?·²?B?l??¼X?ïÿÀ?ð?ïý€?ïûÀ?ï·À?ï?À?ïþ€?ïÚ€?ð?ïÉ€?ð?ïÍ?ïï@?ïíÀ?ð?ïçÀ?ï[€?í?îéÀ?ëÄ€?ïÝ@?ío@??ã À?ïõÀ?îs?Þ9€?ÀÆ?Ë?ë%À?ÑP€?Ñ¥€?îÛ€?ïš?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ìñÀ?ï@?ïà?ï@?îëÀ?ð?ð?ð?ï€?ð?ð?ð?á;À?ð?ð?ð?ð?ð?ð?ð?ð?ð?é)€?êh€?ïž?À…?ïñ@?ïû€?Ö!?ÄN?Ý?ð?ð?în€?R€?¢?¶?ïÈÀ?ïñÀ?ïý€?ïÒ?ï™@?ð?ï“?ï.€?î…À?ïÆ@?ð?ð?ïð?ïô@?ð?ïìÀ?ï€?éä€?ð?ïÒÀ?ï¡À?ð?îz?ëÈ?ð?ð?ïö€?ð?ð?ð?ï€?ïüÀ?ð?ð?ð?î~€?îäÀ?ïÞÀ?ð?ð?ð?ïþ@?ï½?ð?ð?ð?í–@?ïÏ@?ð?ð?ð?ð?ð?ð?ð?êŽÀ?¬´?í?îœ?ר?ÂÍ?ð?ã@?P?¨$?t ?žP?Ñþ€?é‹À?ð?ð?ð?ïê?(?¨|? ?æa@?ð?ïn@?ð?ïT?ï+€?ï#@?ïy?ïº@?ïp?ï~@?ï¤@?ð?ð?ð?ïC@?ð?ï†?ïÎ?ð?ð?ð?ð?ð?p`?î(À?ð?ð?ð?ð?ð?ð?î0€?ììÀ?î‘@?íI@?îË@?︀?ïƒ?ïb?í´€?ð?ð?ît€?鉀?äÙ€?îã@?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ëæ?z?Z€?ëd€?ð?íU€?Φ?ë À?‘¨?Ö‹?áÿÀ?ìA@?ð?ð?ð?ð?ï×@?à?ÑÈ€?Í?W?@?åÇ?ï¶€?ïÿ@?ð?ð?ð?ïÿ@?ð?ð?ïý?ð?ïì?ïë@?ð?ð?ð?ï×€?ð?ð?ð?ð?ð?ïó€?ð?ð?ë @?£È?ïÿ@?ð?ïÁ?ð?ð?ð?í?À?ëÀ?ïX@?ï|?î¹?ð?ïûÀ?íó?îá€?ïì@?ïº?ð?ïû€?ð?ð?ð?ð?îÀ?ð?ð?ð?ð?ð?ð?¤?ć?ØF€?ïø€?ð??×µ? ?éâ€?ð?ð?ïFÀ?ð?ð?ð?ïþ?§È?æò€?ä ?ã-@?î'€?šp??§X?æÂ??X?ékÀ?ïçÀ?ïÿ?ïu?ï,€?ï1?ïòÀ?ð?ïÜ€?ïôÀ?ïu€?ï€?ð?ð?ïÙ€?ð?îËÀ?ð?ð?ð?ïþ?ïÙÀ?ïù€?ï„?ï§€?ð?éMÀ?ƒ€?ÈD?ë´€?ð?ð?ð?ð?ð?ïÇ?ç³?ð?ï?íóÀ?ïÀ?ð?ð?ïË?ïï@?ï÷?ëj€?ð??–Ð?ïn€?ïêÀ?ïëÀ?ð?ð?ð?ïë@?¯Ô?l€??€?ä÷@?ð?ð?à³À?Å6?Ôç?ïý@?ð?ïó?ð?ïbÀ?îû€?î5€?P?¥Ä?²š?½œ?Ñ“€?½î?¾Z?¿î?êý?³ ?… ?¡?D?âb€?{à?ð?îà?ïþ@?ï÷À?îÁ@?ïLÀ?ï©À?ïk€?ï\@?ïÿ€?ïû@?ð?ð?îš@?íÑ@?í%@?ë=?ìÓ?ï}€?ð?ïñ?ïôÀ?ïœ?ð?ï¾€?ï€@?íË?èx@?ï~À?Ú°€?Çf?zÀ?ªà?ð?ð?ð?ð?ð?ð?ì·@?íRÀ?ïê€?ð?ð?îfÀ?ï²@?ð?í¦€?î“À?ð?æa@?ïs@?ì€? ?ãÇ?ð?ï…?ð?ð?ð?ïÞ@?ÙÑ€?ÙÓ?(?ð?ð?ð?Õ0€?ãN?¥ ?é@?ð?ð?ï»@?ï8?ïÞ€?j€?Õ;€?îé€?ë°@?µÎ?¢¼?ÐÃ?¶`?¦?¸B?·Ž?Îw?ð?ï'@?†à?Ð5€?Ðt?Ø€€?v`?t ?,?b@?¢p?­Ô? ?Æ5?ï®@?ð?ï¡À?ð?ð?ï•€?ï·€?ð?ï¼À?ï¬@?ïs@?î“À?îÊ€?ï[?ð?ï@?î@?ð?ï’@??ï|€?ë ?íÊ€?î°À?ìÀ?íg@?ëÕ€?èk?ìÕÀ?ïéÀ?ïž?è1À?áD€?ð?ð?ð?ð?ð?í™?îì€?ð?ð?ð?ð?ð?ï…À?îÀ?í–€?ïÅÀ?ð?ï\?îòÀ?ë2€?ð?ð?ï:À?ð?ð?ð?ÁN?Ðä?ØÖ€?ð?ð?ïµÀ?äv€?¹4?å1€?Ùç?çz?ï(?ïý?îÑ€?îÚÀ?ï!@?ä=€?ëÌ? ¸?–p?˜h?Õí€?ÜA€?¿ª?z?ä@?ì§À?“h?å+À?ﺀ?í÷?ð?ì–@?×o?c?H?Ä#?´$?N??J?ã7?ð?ï·?ï*€?ð?ïò@?ï/@?ïñ@?ïñ€?î”À?î€?îÀ?ìÏ?ë¬À??ïû€?ïý@?èË€?íºÀ?ìÂ?êMÀ?ïà?æù?ï¹€?ïéÀ?î‚?ïe@?ì¹À?ïú€?ð?ïôÀ?ïr€?ês?ê6À?Ú€€?ÝS€?”?ãÙ?ð?ð?ð?îDÀ?î£À?îЀ?îfÀ?ï†À?íºÀ?î”À?ï—?ð?îŒÀ?ïÌÀ?ð?Üø€?ð?ïà@?ð?ð?íÀ?î~?ïç€?ð?ïý@?áä€?ð?ð?æ4?á˜@?Ъ€?¶?à_?æ?ÚŠ?¡?Â?¸ò?»?“°?Óž?ȃ?îÄ?ïZÀ?ïîÀ?ïú€?ïÄÀ?ïá?ï9€?î¾À?ç€?§„?…à?ÐW??k€?ÙB€?ð?ð?ï€?ïw@?ïþ@?ð?ëç?ïòÀ?î?ìó@?ïô@?ïÁÀ?ïi€?ð?î€?Ꞁ?ìVÀ?îÚ?í¯?íÐ?ïV?ð?ï³À?ð?ìÛ@?ïºÀ?ð?çf?ð?ð?ð?ïMÀ?ð?ïeÀ?ïþÀ?ïÇ@?ï=?Ü΀?N?ïs@?ïñ??ð?îg@?ð?ð?ïÀ?ïB€?ð?î‘À?ð?ð?îLÀ?ð?Ô\?ïá@?îÌÀ?ïÿ?ïÎ?ïüÀ?ð?ð?ð?“??Ç5?ð?æ*€?]?Y€?¢?Ùá€?¬Ì?â-€?q?8?‘?Ó²€?î'@?î‡?ð?ïÿ@?ïý@?ïîÀ?ïÊÀ?gÀ?q?_?êˆÀ?¤ø?:?0?ç:€?ïÿ@?ïô€?ïî@?ïj@?ï@??ð?ð?ð?ð?ð?ïü€?ïû€?ð?ð?îãÀ?ïþÀ?îª?î1À?ð?ð?î?ð?ïÍÀ?îÀ?ð?ð?ëË?ï€?ð?ïûÀ?ð?ð?ïÚ@?ïü?ïð?ïÒ@?ïØ?êtÀ?Þ^?ÖÃ?ð?ð?ð?ð?ð?ïòÀ?ï—?ïú?íä?î?ð?ð?íÞ€?ð?ä­@?ï@?ð?ð?ð?ïÈ€?ð?ð?ð?ã?Ó°?æP€?Ì?w ?¸î?k€? ?\??‰à?á#@??ïÕ@?ïÑ@?ïÿ?ð?ð?ð?ì;À?f@?ä»@?Ó?æ\?q?ܺ?ïí€?ð?ð?ð?ï)@?ïã@?ð?ð?ð?ïþ?ïè?ð?ð?ïÉ@?ï7€?ð?ìG@?ïû?ð?ïõÀ?ï@?ð?ïùÀ?ïK?ïØ?ïú?ð?ð?ïÀ?ïÀ?ð?ð?ïßÀ?ïþ@?ð?ï÷@?ïä@?ïÁ€?ïõÀ?ïß@?Áù?ð?ð?ð?ð?ð?ð?ð?ïç@?îÛ?ð?ð?ð??ïÀ?ð?Ó‹?í³?ïþÀ?ð?ð?î@?ð?ð?ãæ€?:?,?éF€?ï¸À?ïU€?ïÌ€?ð?í©€?Ó€?`?ŠP? ?™°?‘ˆ?ˆ?‘?`?Õå€?Éû?íÀ?ì¤À?ìh€?ð?î€?ï À?ð?À’?ƒ@?šø?½Î?±`?$?°0?ð?ð?ïI@?îõ@?ð?ð?ïïÀ?ð?ð?ð?ïÿ@?ïq€?îÜ€?ï΀?îÀ?ï ?ïOÀ?ð?ïîÀ?ïÿ?ð?ð?ïÀ@?îÚÀ?ð?ð?ï €?ð?ï—@?ð?ð?ïô?ïú?ð?ïþÀ?ð?ïÀ?ïí€?ïâ€?â2€?å<À?ð?ð?ð?ð?ð?ð?ð?ïü@?ð?ð?ïë@?îÿ@?ð?ìOÀ?é°?îl@?ãä?ð?ð?ð?ð?ð?Ú$€?`?Ô´€?ßõ?âè?Ý?Ì?ÚZ€?âÀ?À‡?ä€?ÔÑ€?Õ€?Ä$?Ôà?×?Ð?¦?„`?hÀ?Þg€?¨X?í߀?ï¿@?ëy?¢Ø?Û2?ïÿ?¼?€À??@?Ú?Q?ÐŽ€?Ç–??êµ@?ïíÀ?ï¤À?ï–??ð?ð?ð?ð?ïó?îÚÀ?ïý€?ï“À?ïÆ€?îÅ?ð?ïH@?ð?ïT€?ïª@?ïí?ð?ð?î¼€?ð?ð?ï À?ï»@?ð?ð?ïý?ð?ð?ïÿÀ?ïÿ€?ïf@?ð?ð?ïú?Ï^?ímÀ?îé€?ïa€?ð?ð?ð?ð?ð?ð?ð?ð??ïý€?ð?ð?ð?ð?ð?ïâ@?ð?ð?ð?ð?ïú?dÀ?<?á±@?Õ®€?ÛK?çé@?ˆÀ?°n?¸¦?C?ãYÀ?ð?Ù*?Ó€?:?ªˆ?܃?Ë ?‘Ø?†`?k?ð?ïòÀ?ð?î$€?ð?ð?ð?ð?ï¬?ïe@?ïÕÀ?ï À?ï߀?ð?ð?ïÞ@?ð?îÿÀ?ð?ï&€?ð?ð?ï’@?ïЀ?ïìÀ?ð?ïŸ@?ð?ð?ð?ïþÀ?ïçÀ?ä|@?ï0?ð?ïœ?ïÆ?ìÉÀ?Z?Æ?ð?ð?ð?ïê€?ð?ð?ð?ð?ð?ð?îËÀ?ï†?ð?ïû€?ð?ïþ€?ð?ð?í#?ð?ð?ð?ð?âr?€p?š0?£ˆ?¤À?³??Š ?|?µð?˜?¢ô?âÀ@?ƒÀ?N?t?ì[@?ïÊ?ð?ïµ@?ï¯@?ð?ð?ð?ð?ð?ïÈÀ?ï?ð?ð?ð?ð?ð?ïM@?ïù@?ð?ïú€?ð?ïBÀ?ð?íâÀ?ï÷À?ï‘€?ð?ð?ð?ð?æÖ@?ïÜ€?ð?ïÿ@?ð?슀?а?¶Æ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÚ€?ð?ð?ð?ð?Ï?ï\?î8€?î¬@?ð?Þš€?‘0?Y?â €?š ?ç@?Ò'?0?±¾?À?áD@?†@?xÀ?‚ð??p?ïû?ïò@?ïx@?î¦À?ïæ@?ïü€?ïè?ïÿ@?ïû@?ð?îïÀ?ïÿ€?ð?ð?ð?ð?ïp@?ïÄ?ð?ð?ïô?ïú@?ð?íüÀ?ï&?ï‹@?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?4?{à?ïüÀ?ð?ï]€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ€?ð?ð?ð?â-€?ïÿ€?ï#€?ð?ð?ä’?¾?~ ?íW@?é´?ð?ïú€?ð?ïô?ìp€?à?ð?v@?áÀ?ïÉ@?ð?ð?ð?ï–€?î@?ð?ïÿÀ?ï´@?îµÀ?ï)?ï-@?ð?ð?ð?ð?ð?ð?ð?ð?ïñ@?ð?î¥?ïÿ@?ï«?ð?ïÿ@?ïÿ€?ïíÀ?ïüÀ?ïÿ€?ïX€?ð?Ûè?Ô?ð?ð?ð?ïü@?ïý@?ïÿ@?ð?ð?ð?ð?ð?ïëÀ?ïÌ@?ð?ï5À?ïö@?ð?ð?ð?ÕÄ?ïÖ€?ð?ïE@?î¦?èö€?î€?ïø?$?ÁÄ?äù?4?Àm?ïÕÀ?ð?ð?ð?ð?É¢?iÀ?ìÆ@?ð?¶r?²>?oÀ?ÂT?€?M??Ãÿ?ð?ïáÀ?ïø?ïú@?ïºÀ?ïÿ@?ð?îê@?ïß?îû€?íÅ@?ïEÀ?ð?ïßÀ?ð?ð?ð?ð?ð?ð?ð?ï‘€?ïý€?ïÿ@?ð?ð?ð?ð?ïµ@?ïÿ?ð?ï€À?ï¸?í ?ïþ@?ð?ð?ð?ð?ïñ@?ð?ïþ@?ð?ð?ð?î~?ð?ð?ð??ð?ð?ð?ïö?éu?ð?ð?ð?éu@?à­?ïãÀ?ïq?œ˜?Ô³€?ð?ð?æí?è?ïå€?ð?ð?ïþ@?ï§€?Å4?éM@?ð?ïú?æ¶€?Ó[?±î?A?F?`€?Þ?ð?ïþ@?ïëÀ?ï½?êŸÀ?ïÿ€?ïÀ?ïýÀ?îÆ?ïòÀ?ïµÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïu?ð?ð?ð?ïýÀ?ð?ïû€?ïsÀ?ïÛ?ð?ï¤@?ð?ð?ð?ð?ïþÀ?ð?ïÿ?ïâÀ?ð?ïÿÀ?ð?ð?ð?ïÌ?ïþ?ïû?ïÄ€?ð?ïõ€?ð?ïo@?ð?ð?ð?ð?ïÆÀ?€`?è"@?ï ?ð?ð?í~?w`?0?Øí€?î4@?ð?ð?îw?ïÿ?ð?ð?ð?ð?ð?ïø?ë?¶?îÕÀ?ð?ð?íÒ@?Õ­€?K?¢P?²ž??t`?V€?sÀ?M??©Œ?ë6?ð?ïÑÀ?í(@?æ À?ïø€?ð?ï³?ïr?ïÚÀ?ð?ð?ïøÀ?ïüÀ?ïóÀ?ïý@?ð?ð?ð?ï÷€?ð?ð?ð?ïù?ð?ï1À?ð?ïõ@?ð?ïí??‚@?ð?ïù@?í%?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ?ð?ïô?ð?ð?ð?ïa?ð?ïï?»ô?,?Ë4?ð?îGÀ?ð?îY€?ÛQ€?ïõÀ?ìc@?ð?ð?ð?ð?ð?ð?ð?ð?ïôÀ?ð?ð?ð?ð?×?Ê?ð?ð?ð?ïö?º6?…À??Ó?t?M?š ??±~?U?m?ð?ïÿÀ??ïå@?ïôÀ?ï÷@?ïÿÀ?ï÷@?ïÿ?ð?ð?ð?ïJÀ?ð?ð?ð?ð?ð?ð?ïì?ð?ð?ð?ïR@?ð?ïú?ð?ð?çÀ?ì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï&?©<?ïÿÀ?ð?ð?ð?Êù?·j?ð?ð?ïå@?ð?ð?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö?ð?ð?ð?ï¸?âø€?xà?†`?A?˜Ø?m€?\?Z€?L?[€?cÀ?F?q ?ð?ïýÀ?î÷?ïý@?ð?ð?ï€?ïÿ@?ð?ð?ð?ïC@?ð?ð?ð?ð?ð?ïU?ïGÀ?íg@?ï?ð?îþ@?ð?ïý?ïê?ð?²Þ?’ ?ð?ð?ð?ð?ð?ð?ð?ð?ïá@?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ff?ð?é,@?î€?ï9@?ð?ï’À?d?šà?Ç ?î@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ð?ð?ð?ïú@?ïü?åŽ@?ƒ ?(?€°?o€??(?ð?ð?ð?ð?ïÿ€?ð?ïé?ð?ïï@?ð?ð?ï<@?ïùÀ?ð?ð?ð?ð?íÄ?ï©À?ïöÀ?ïñ@?ð?ð?ïð@?ïíÀ?ïþÀ?îé€?˜ ?ä<€?ð?ð?ð?ð?ð?ð?ð?ïW@?ð?ð?ð?ð?ð?ð?ð?ïw@?ï“€?ð?áM€?Ðz?ð?ð?ð?æÝ?¦?°ì? 4?äq€?íð@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïØ@?ð?ð?ð?ð?ð?ð?ð?ì·?nÀ?Ð3€?Ìk??¬?<?0?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îa?í2€?ïÿ?ïò@?ïø@?ì?@?ð?ïÿ@?ð?ð?Ø€?l?ïà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î–€?ð?ï€?ïÜÀ?ïë@?î÷@?í£@?ï~€?ð?ð?ÈW?c@?ãê@?ïä@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ð?ð?´°?½¸?â3?–X?xà?,?ï€?ð?ïí?ïþ€?ïü€?ð?î¡@?ð?ð?ð?ïü€?ð?ð?ð?ð?ïþ@?ïÙ?ð?ï€?ïÿ€?ïþÀ?ïÊÀ?ð?ð?ïê€?íø?å“@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì?ð?ð?ð?îeÀ?ð?ð?ïü€?Ç,?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ€?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?á)@??W?{@?ƒà?ð?ð?ïû?ïþ@?ïù?ïõ@?ð?ïÝ@?ð?ð?ð?ïø€?ð?ð?ï{@?ïÛ?ïÆ€?í–€?ïC?ïÌÀ?ïþ?ïX?ï?ßÇ?Õ•€?ް?é#?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî€?ð?퉀?ï™À?ïå?îè€?ð?ð?í´€?îî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ïø?Ñ €?k?ð?ð?ïâ?ð?ïÿ@?ð?ï´@?ï³€?ð?ð?ð?îÏ?ð?ð?íÆ?ð?ïh?ð?ïüÀ?ð?ï@?¹`?`À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ïø€?ïþ€?în@?Òƒ?‡€?êÜ?ã?ƒ€?Ãï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?ïé?ð?ïñÀ?ð?ð?ð?ð?ð?ïÚÀ?ïêÀ?ð?Ô­??ð?ð?ð?ð?îÒ?ð?ð?ð?ïÛ@?ïò€?ï9À?î€?ð?îF€?ï]À?ïˆ?ð?ð?ð?éS@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ë_À?Ðw?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ð?ï€?ïû?ð?ð?ð?ð?ð?ð?ð?ð?æ¹@?B?˜˜?ð?ïô€?ïä€?ð?ð?ð?ð?ð?ð?ïÏ?ð?ï[À?ð?ïý@?ð?ð?ð?ð?ð?‘?çµ€?ð?ð?ð?ð?ð?ð?ð?ïÇ@?ïÅ€?ð?ïÙ?ïö€?ïø€?ìBÀ?Ô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò?ïÀ€?ïÛÀ?ïîÀ?ð?ð?ð?ð?ïìÀ?ð?ïþ?ï³À?¾þ?ƒp?ç8?ïÙ€?ïÙÀ?ð?ð?ìÛÀ?ïóÀ?ð?ð?ïïÀ?í€?îb@?ì¤À?ïã@?ïí€?îF@?îÒ@?ï÷@?ð?\€?í½À?ð?ð?ð?ð?ð?ð?ð?ïðÀ?ï÷@?ï¨@?ð?ïÿÀ?Øì?6?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ïö€?ð?ïù@?ïÊ?ïÅ@?ð?Û €?ð?ïö@?ïÿ€?ð?ð?ïÿ€?ð?ïýÀ?ð?ïø?ï`?ïd@?ïh€?ïûÀ?ð?ïÜ?ð?ð?ì&?ž°?ð?ð?ð?ð?ð?ð?ï³@?ð?ð?ïü@?ïõ@?×W€?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ€?ð?ïù€?ïúÀ?ï™À?ð?ïøÀ?ïáÀ?ð?¼Ð?ð?ð?ïÿÀ?ð?ð?íH@?ïù€?ïÿ€?ïë@?ïÄÀ?ïý@?ïºÀ?ïÉ@?ï"?ïý@?ïõ€?ï^€?í\?ïÅÀ?ð?ð?ð?ð?ð?íq€?î¸@?ïä@?ð?ï?×À€?ïþ?ïü@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ@?ð?ð?ð?ð?ð?ð?ð?ð?ïåÀ?{ ?ïý?ð?ð?ð?ïý@?ð?ð?ÛŒ?ïÿÀ?îð?ð?íú€?ð?ïûÀ?ð?ð?âÉ€?Ø!?ï?ð?ð?ð?ð?ð?ð?ïø?î¹?ï¬@?ð?ð?ð?ð?ð?ð?ð?î…@?êã@?Ð4€?sÀ?€p?á@?ëo?ð?ð?ð?ð?ð?ïí€??ð?ð?ïý€?ð?ïõ€?ð?ïî@?åì€?í??ð?ïÿ€?ð?ð?ïý?ð?ð?ïÿ€?ð?ïý€?ð?ð?ïÑ?ð?î ?™À?ïø@?ð?ð?ð?ð?ð?ð?èÆ?p€?ïÎ@?ïÝÀ?ïþ@?ð?ð?ð?íñ@?¸¤?è?íÔÀ?ð?à‡@?ïû?ð?ð?ïí?ð?ð?ïË@?ï÷€?ð?ïá@?îÀ??î4?ïý€?ïÁ€?ð?ïö€?ð?ïúÀ?ïþ€?ð?íë@?ïm@?ï)@?íT€?ð?ée@?Ã~?×P€?ð?íÝ?»Ê?·œ?Éy?„P?Õõ€?ð?ïÌ@?ïþÀ?²$?£Ä?±6?œ ?¿?à)?á©?ïå?ð?ïwÀ?ïîÀ?ïû€?ð?ïø?ð?ïï@?ïúÀ?¿l?T€?ï¬?ð?ð?ð?ð?ïÿ@?ïÿ?ïÿÀ?ïžÀ?ð?ì²@?ï÷€?ïë@?ð?à"?Z?U€?¶?í€?ð?ð?ïÿ?ï“À?ð?ð?ð?ïåÀ?ïæÀ?ï@?Õ?ïå@?ð?ïü@?ð?ð?ð?ð?ï¸À?ïÅ?ï«€?ïÙ€?ï €?îÈÀ?ïõÀ?ïË€?ïõ@?ï?î·@?ï[À?ï@?ãï@?b?¦´?ïø€?ïñ€?ïû€?ð?ð?ð?ð?ð?ïÿ?ï×@?ð?ð?îÓ?0?ÓM€?ð?ïå?ïˆÀ?îeÀ?ïR@?ï´?éì€?Ƽ?î)?ÔC€?°ž?È«?ï·?î¹@?ð?ð?ð?ïöÀ?ð?ïþ?ï×€?ïú€?ïïÀ?ð?ê@€?]?r ?p?¾Þ?ß?¾Š?å³?L?ð?ï ?ð?†ð?ð?î”@?ð?ëÝ€?ð?ð?ð?豈?î+?ïC?çï€?Ó™?w`?<?Ð?ºâ?àÀ?ïù@?±ú?ï?íâ€?ð?ïU@?ð?ð?ð?ð?ï À?럀?¥0?ß6€?ð?íÀ?È\?â?Ö9€?ç‰?ê0@?ì§@?ð?ïÿ€?ïþ?ð?Û?íz@?áX€?™P?î4@?îë€?è2@?ïkÀ?¹n?¤˜?Êu?ïJ?ð?ð?ïý€?ð?ÆÐ?Š`?êü@?ÆÖ?ØJ€?í–?Þ?¸À?Ö€?ïm€?ïï€?ð?ð?ð?Þ?í­À?ëÌ?Ð[?W€?Ä»?â7@?î«?ï÷@?ïÉÀ?í'?ïÿ?ê!€?ïV€?ïð??Ö‚?è¼€?ïÓ?ïÿ€?æ€?ëQÀ?¢8?]€?ªH?Á?á#?èÌ€?íe@?èSÀ?ïþ€?ïó€?å@??Èi?ì–?î@?ïä?ð?ïð?ë~À?Öš?­?æÐÀ?ð?ï×@?ïÏ@?ïÖ?é­@?(?¶è?¤À?Ú€?î?ì€?ð?íâ@?ˆ€?•à?¿¶?ìõÀ?ï–@?ïïÀ?[??`À?É]?ä©À?ïî€?ïêÀ?Æ“?D?Ñ;€?´>?°Ü?ÝÄ?å @?æö€?Þ?`?‚`?™X?Üh€?å"@?î$À?â¬@?¬d?D?ÜÈ€?š?Û[€?µ¤?’?—˜?Y?™ø?¢ ?L?¸Œ?¾Ä?µR?‰P?Î?áÜ?×–?ï\€?¼h?R?«\?ª ?¼8?ð?Ì”?êüÀ?ï4€?H?̪?¯´?Õ6?À|?ð?æ_@?€?ð?ð?Äo?ên?ì+@?ð?Û’€?ç1?î7@?ð?ð?ð?ð?é³À?æf€?ð?í€?Ë’?ÕP€?êÀ?ð?Ý9?ä?ð?ð?ïx€?â@?·?À’?«?ÉÂ?ð?ð?‘°?bÀ?æ€?ì?ð?ð?ð?ð?ïv@?ìÀ?é)À?ãäÀ?âV@?²ô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïG?à~?8?žp?ÐÛ?ð?ð?à{@?Ú—€?¸Ž?èjÀ?ܨ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïH€?ëê€?ؼ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ïã@?ìç?ÍÈ?•È?Ãý?º&?î²@?ð?ð?»Š?ð?àÀ?Ö¡€?劀?êg?ð?ð?힀?Õ[?Òh€?ìs@?ð?ð?ð?ï×@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?˜ ?c@?€€?ïñ@?ð?ð?ð?ï¿?’ð?¡è?Ì=?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èQ€? ?Ô€?ð?ð?ð?ð?Ã:?Ëa?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ó €?W?€Ð?îõ€?ð?àÖ@?¾®?Öë€?¼~?¬ä?êš?ð?ð?ð?ܽ?¹¤?íÜ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éz?»À?¸?Þe?•È?¸2?¼$?ð?ð?ð?ð?ï÷À?ð?ð?ïÊ€?ì|À?ð?ð?ð?Òè€?Ý7?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÒÈ?‘è?æ €?ï€?ð?ð?ð?ð?í˜@?à€?Ô'?ìE?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Õ9€?_?ïû?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?“Ð?$?´ì?ìù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?’¨?ã"?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÂO?uà??±¨?ÂÀ?ÏG?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÊ?ɪ?ÄŠ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²À?é@?ð?éÒÀ?Â6?ÙÁ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝ?ÜŽ€?ß]?å¯À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðemoslib-000392+dfsg.1/land_sea_mask/r160_xx_199403020000755000175000017500000004070412127406245022374 0ustar amckinstryamckinstry>~?ûÿ ¿þ7ßÿÀþÿ>üÿpGóÿþ W¿ÿü€ÿø<ÿü@ð`ãÿÿà€ü— ÿÿàüpùwÿàÀÿðæÀÿÿøþÿÿÀÿÀ xÀÿø ÿþpÃ>ü?ÿà ÿÿðòtº?ÿðÿÿþÀ;øÃüÿà€ïÿÿÿø€ÿŠ?àÿÿÀ€ïÿÿÿýÿä@ƒ?øÿÿ@ÀïÿÿÿÿÿþàÃ?üÿÿ@À{ÿÿÿÿÿÿà þÿŽüÿÿÀþ@s¿ÿÿÿÿÿÿÿ¿ÿóÿŸñ0Ãðÿÿÿ€{¿ÿÿÿÿÿÿÿÿ€?ÿÿÿ÷´ÁàÿþÿÂ?ÿ¿ÿÿÿÿÿÿÿÿÀ?ÿÿÿða=ÀðÿøÿøŸÿóÿÿÿÿÿÿÿÿÿðÿÿÿÿï÷Ü'à?ÿ€ÿü¿ÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿüð?ÿ€?ÿxÿÿïÿÿÿÿÿÿÿÿÿþÿÿÿŸÿÿü øÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿþ?ÿÿðÎÿðx?ÇðÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽÿÿÿüÿÿ¨äÿ€ø?Ïòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì>àÿøÏùÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÞðÿðÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿ€t?À?ãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿà€øþ?ûÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿûÿþ€ðþ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿüÿÿ€ø~ðþ?ÿÿÿÿÿÿÿÿÿÿÿÿþø?ÿ¿ÿÿùÿÿ€ü<øó?ÿÿÿÿÿÿÿÿÿÿÿÿü?ûÿÿÿÿÿü øÿÿÿÿÿÿÿÿÿÿÿÿÿþþÀ?ÿÿÿÿàÂÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàpþÿÿÿÏÿÀá€ËÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿÿÿÿà?óÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿøàÿÿÿÿÿðÿÀ‚ÿÿÿÿÿÿÿÿÿÿÿÿÿðð_ÿÿÿßðÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàà2_ÿÿÿÿþÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàð@ÿÿÿÿÿÿànÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀ€ÿÿÿÿÿÀÿðxÿÿÿÿÿÿÿÿÿÿÿßÿÿü€ÿÿÿÿÿþÿÿ€<@ÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿø?ÿÿÿÿÿÿÿÿÀ˜ÙÿÿÿÿÿÿÿÿÿÿÿþÿÿùxÿÿÿÿÿÿÿÿÀ8ÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿà¿ÿÿÿ×ÿüÿÿ€<ÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿØ#ÿÿÿüÿÃÿÿþ~ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿØÿÿÿý?ÿãÿÿþ~?ÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿøÿÿÿÿ¿ÿóÿÿþ8þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØÿÿÿÿÿÿ÷ÿÿø}ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿÿÿûÿÿÿÿÿ Ïÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿæÿÿÿÿÿÿÿÿà†ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæ?ÿÿÿÿÿÿÿÂ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿä ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäÿÿÿÿÿÿþxÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿþÿÿðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿà@ÿÿÿÿÿçÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿÿù‡ÿÿøÿÿÿÿùÃÿðŸÿï÷ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿü0ÿøÇÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿüƒÿÿöÿçÿÿÁïÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü`ÿÿÏÿãÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿüâÿÿœøáÿÿ€ÿƒÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿýã÷ü0ðøÿÿÿÁÿßÿÿÿÿÿÿÿÿÿÿÿþðÿÿÿÿÿùóøàþx?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿØàÿÿÿÿÿøÿÿðÿþ<þ?àÿÿÿ¿ÿÿÿÿÿÿÿÿ€Àÿÿÿÿÿùøðÿþÿ€?àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýóÿðÿøƒÿãüþÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÀ?þ0ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿüÿÀ`ÿÿÿÿÿÿÿÿðÿàÓÁÿÿÿþÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿ?ü 0<ÿÿÿàÿÿÿÿÿÿÿÿÿÿñpÿÿÿÿÿÿÿÿàÿÀAàÿÿÿþÿÿÿÿÿÿÿÿÿÿüpÿÿÿÿÿÿÿüüÿÿïðÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿð?üðÿÿÿðÿÿÿÿÿÿÿÿÿÿþ<ÿÿÿÿÿÿÿÿÀ?ø0ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÀ?ð þ€{ÿÿÿãÿÿÿÿÿÿÿÿûÿÿÿø€Àÿÿÿÿÿÿÿÿ~ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøøÿÿÿÿÿÿÿÿðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€?€ÿÿÿÿÿÿÿÿ€ ÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøðàÿÿÿÿÿÿÿðïÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀpÿÿÿÿÿÿÿüÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ6ÿÿÿÿÿÿÿ€ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàv?ÿÿÿÿÿÿðÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿÿÁÿãÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿþxÿÿÿÿÿÿÿÿïÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ÿÿÿü8ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ïÿÿð8ÿÿÿÿÿÿÿÿñÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿà<?ÿÿÿÿÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿÿÿÿþãÿÿà<ÿÿÿÿÿÿÿÿøÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿüqÿÿàÿÿÿÿÿÿÿÿøÿþ?ÿÿÿÿÿÿÿÿÿÿÿüÿÿà ÿÿÿÿÿÿÿÿÿÿÿÿÐÿÿÿÿÿÿÿÿÿÿÿÿüÿð€ÿÿÿÿÿÿÿÿÿÿ‡ÿÿð0ÿÿÿÿÿÿÿÿÿÿøÀ ?ÿðÿÿÿÿÿÿÿÿÿÿ‡ÿÿðxÿÿÿÿÿÿÿÿÿÿà€ÿðÿÿÿÿÿÿÿÿÿÿÃÿÿÿüÿÿÿÿÿÿÿÿÿÿÁ€ÿàÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿÿ€ÿðÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿüÿàÀÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿüÿÿÿÿàÿà!ðÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿÿÿÿï€ÿð<?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿþÿÿÿ†ÿðü?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿþÿÿÿøøÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿàp`ÿàà€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿüÿÿàà`ÿàààÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÀÿÿøÿÿÀàÿðàø?ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÀÿÿðÿÿàÿüÿÀ À?ÿÿÿÿÿÿÿÿÿÿÿàÿÿ€ÿàÿÿð?ÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿ€ÿÿøÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿøÿ€Ïÿüÿÿ€ÿÿÿÿÿÿÿÿÿÿÿðÿàþÿþxÿ€ÿÿÿÿÿÿÿÿÿÿÿø?ÿà?øÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿþÿ?øÿÿ?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿøøÿÿ€ÿÀÿÿÿÿÿÿüÿÿÿÿÿÿŸàøÿÿ€ÀÿÀÿÿÿÿÿþ?ÿÿÿÿÿÞø?ÿ€ _Àÿÿÿÿÿþÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿà€ðÿŒÀ ÿÿÿÿÿÿÿÿÿÿÿÿð?€ðþÈÀ~øÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ðø hÀÿÿŽ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€àpÐàüÿÿ€ÿÿÿÿÿÿÿ¿ÿÿ¿ÿÿÿ€ä`€BpáþÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿ†?›ÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿþ€~ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿþ€^ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÿÿÿþ?ÿÿóÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøxÿÿÿÿÜÿüÿÿÿÿÿÿÿÿÿø€|Àÿÿÿÿÿ€ÿøÿÿÿÿÿÿÿÿÿðø|?€ÿÿÿÿÿÀàÿÿÿÿÿýÿÿàx|ÿÿÿÿÿàÿÿÿÿÿýÿÿà<ÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÀþÿÿÿÿÿðÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿðÿÿÿÿÿÿþÇÿÿÿÿÿÿðÿÿÿÿÿÿÿüñÿÿ€@?ÿÿÿÿÿøÿýÿÿÿÿÿðøÿÿð`ÿÿÿÿÿøÿýÿÿÿÿÿàþÿþÿÿÿÿÿÿðÿÿÿÿþÿÀüþÿÿÿÿÿÿÿÿÿÿÿþÿ€|þÀøÿÿÿÿÿÿÿ`ÿÿÿÿþÿ€?ü@øÿÿÿÿÿÿÿüÿÿÿÿþ?ÿ? ?øx8ÿÿÿÿÿÿÿþÿÿÿÿÿÿü?Ð?ø>€ÿÿÿÿÿÿÿþ@ÿÿÿÿÿüàø3<<ÿàÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿøà8ÿüÿÿÿÿÿÿÿÿÿÀÿÿÿßÿøà€ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿßÿðà€?ÿ€ÿÿÿÿÿÿÿÿÿðÿÿÿßÿðà€ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿïÿðÿñà ÿÿÿÿÿÿÿÿÿÿÿÿÿïÿð>ÿø0ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿøüÿðÿÿÿÿÿÿÿÿÿ€ÿÿÿ÷ÿðþþøÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÀ ü<?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøNx?ÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿïø0€ÿÿÿÿÿÿÿÿþÿÿÿÿïü@ÿÿÿÿÿÿÿÿüÿÿÿÿïþÿÿÿÿÿÿÿÿøÿÿÿÿçü ÿÿÿÿÿÿÿÿðÿÿÿÿïü<ÿÿÿÿÿÿÿÿàÿÿÿÿïþÿÀÿÿÿÿÿÿÿÿàÿÿÿÿÿþÿ€<ÿÿÿÿÿÿÿÿ€ÿÿÿÿ÷þÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÇÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþ×þ?€ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÿÿ€?€ßÿÿÿÿÿÿ€ÿÿÿÿÿüþÿÿÀ?€ïÿÿÿÿÿÿ€ÿÿÿÿÿøþ?ÿÿð?€ÿÿÿÿÿÿÿ€ÿÿÿÿÿàþÿÿÿüÀÿÿÿÿÿÿÿ€ÿÿÿÿÿ€üÿÿÿþÿÀ0ÿÿÿÿÿÿÿ€ÿÿÿÿÿüÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿþüÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿüüÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿü?ÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿü€?ÿÿÿÿÿàÿÿÿÿ€þÿÿÿÿÿÿþ@?ÿÿÿÿÿÀÿÿÿÿ€þÿÿÿÿÿÿþ0?ÿÿÿÿÿÀÿÿÿÿÀüÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÀüÿÿÿÿÿÿÿàÿÿÿÿÀÿÿÿÿ€øÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþøÿÿÿÿÿÿÿøÿÿÿþÿÿÿøÿÿÿÿÿÿÿüÿÿÿüÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿ?ÿÿ€ÿÿÿÿÿÿÿðÿÿÿþ?ÿÿÿÿÿÿÿÿÿðÿÿÿü?ÿþÿÿÿÿÿÿÿàÿÿÿôÿþÿÿÿÿÿÿÿàÿÿÿðÿüÿÿøÿÿÿàÿÿÿàÿøÿÿ@ÿÿÿÀÿÿÿàÿ€ÿ€ÿÿÿÀÿÿÿàÿàÿðÿüÿÿþ?øÂgÿÿ€ÿÿÿÀ€ø?ÿø?ÿþxÿÿ0ÿÿðŸÿð?ÿÿ€ÿÿÿÿøÿàÀÿÿ€ÿð€ÿÿøÿ€Ðÿÿø7ðÿÿðøÿøÿ0ÿð#ÿÿðàÿà¿ðÀ¿ü€ÿð€ðð>ÿà|ÿÀÿ€À€øÿÿàÿÀÿÀÿÀÀàààð€€ 0`€àøÿž~üÿÿÿÿð ÿàÿÿÿÿÿð ÿàÿÿÿÿþ€ÿÿàÿÿÿÿÿÿðÀÿÿÁÿÿÿÿÿÿü àÿÿþ?ÿÿÿÿÿÿ€~÷ÿÿÿþÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÀ?€Wÿÿÿÿÿÿÿÿÿÿÿÿðÿ€ÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÿÿÿÿ Ùøÿÿÿÿÿÿÿÿÿÿÿ€ ÿÿàÿÿÿÿÿÿÿÿÿÿÿð(ÿþÿÿÿÿÿÿÿÿÿÿþÿõÿÿÀÿÿÿÿÿÿÿÿÿÿÀÿÿÿøÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÿÿÿÿÿø?ÿÿÿàÿÿÿÿÿÿÿÿÿ€Oÿÿþð?ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿ°?ÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÀ?ÿÿÿÿÿÿÿðŸÿÿðÿÿÿÿÿÿÿðÿÿø?ÿÿÿÿÿÿþÿÿó™ÿÿÿÿÿÿþÿÿøÿÿÿÿÿÿÀÿÿàÿÿÿÿÿþ?ÿþ?ÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðemoslib-000392+dfsg.1/land_sea_mask/r160_xx_197909300000755000175000017500000004070412127406245022406 0ustar amckinstryamckinstry>~?ûÿ ¿þ7ßÿÀþÿ>üÿpGóÿþ W¿ÿü€ÿø<ÿü@ð`ãÿÿà€ü— ÿÿàüpùwÿàÀÿðæÀÿÿøþÿÿÀÿÀ xÀÿø ÿþpÃ>ü?ÿà ÿÿðòtº?ÿðÿÿþÀ;øÃüÿà€ïÿÿÿø€ÿŠ?àÿÿÀ€ïÿÿÿýÿä@ƒ?øÿÿ@ÀïÿÿÿÿÿþàÃ?üÿÿ@À{ÿÿÿÿÿÿà þÿŽüÿÿÀþ@s¿ÿÿÿÿÿÿÿ¿ÿóÿŸñ0Ãðÿÿÿ€{¿ÿÿÿÿÿÿÿÿ€?ÿÿÿ÷´ÁàÿþÿÂ?ÿ¿ÿÿÿÿÿÿÿÿÀ?ÿÿÿða=ÀðÿøÿøŸÿóÿÿÿÿÿÿÿÿÿðÿÿÿÿï÷Ü'à?ÿ€ÿü¿ÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿüð?ÿ€?ÿxÿÿïÿÿÿÿÿÿÿÿÿþÿÿÿŸÿÿü øÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿþ?ÿÿðÎÿðx?ÇðÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽÿÿÿüÿÿ¨äÿ€ø?Ïòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì>àÿøÏùÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÞðÿðÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿ€t?À?ãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿà€øþ?ûÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿûÿþ€ðþ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿüÿÿ€ø~ðþ?ÿÿÿÿÿÿÿÿÿÿÿÿþø?ÿ¿ÿÿùÿÿ€ü<øó?ÿÿÿÿÿÿÿÿÿÿÿÿü?ûÿÿÿÿÿü øÿÿÿÿÿÿÿÿÿÿÿÿÿþþÀ?ÿÿÿÿàÂÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàpþÿÿÿÏÿÀá€ËÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿÿÿÿà?óÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿøàÿÿÿÿÿðÿÀ‚ÿÿÿÿÿÿÿÿÿÿÿÿÿðð_ÿÿÿßðÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàà2_ÿÿÿÿþÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàð@ÿÿÿÿÿÿànÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀ€ÿÿÿÿÿÀÿðxÿÿÿÿÿÿÿÿÿÿÿßÿÿü€ÿÿÿÿÿþÿÿ€<@ÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿø?ÿÿÿÿÿÿÿÿÀ˜ÙÿÿÿÿÿÿÿÿÿÿÿþÿÿùxÿÿÿÿÿÿÿÿÀ8ÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿà¿ÿÿÿ×ÿüÿÿ€<ÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿØ#ÿÿÿüÿÃÿÿþ~ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿØÿÿÿý?ÿãÿÿþ~?ÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿøÿÿÿÿ¿ÿóÿÿþ8þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØÿÿÿÿÿÿ÷ÿÿø}ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿÿÿûÿÿÿÿÿ Ïÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿæÿÿÿÿÿÿÿÿà†ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæ?ÿÿÿÿÿÿÿÂ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿä ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäÿÿÿÿÿÿþxÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿþÿÿðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿà@ÿÿÿÿÿçÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿÿù‡ÿÿøÿÿÿÿùÃÿðŸÿï÷ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿü0ÿøÇÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿüƒÿÿöÿçÿÿÁïÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü`ÿÿÏÿãÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿüâÿÿœøáÿÿ€ÿƒÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿýã÷ü0ðøÿÿÿÁÿßÿÿÿÿÿÿÿÿÿÿÿþðÿÿÿÿÿùóøàþx?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿØàÿÿÿÿÿøÿÿðÿþ<þ?àÿÿÿ¿ÿÿÿÿÿÿÿÿ€Àÿÿÿÿÿùøðÿþÿ€?àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýóÿðÿøƒÿãüþÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÀ?þ0ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿüÿÀ`ÿÿÿÿÿÿÿÿðÿàÓÁÿÿÿþÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿ?ü 0<ÿÿÿàÿÿÿÿÿÿÿÿÿÿñpÿÿÿÿÿÿÿÿàÿÀAàÿÿÿþÿÿÿÿÿÿÿÿÿÿüpÿÿÿÿÿÿÿüüÿÿïðÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿð?üðÿÿÿðÿÿÿÿÿÿÿÿÿÿþ<ÿÿÿÿÿÿÿÿÀ?ø0ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÀ?ð þ€{ÿÿÿãÿÿÿÿÿÿÿÿûÿÿÿø€Àÿÿÿÿÿÿÿÿ~ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøøÿÿÿÿÿÿÿÿðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€?€ÿÿÿÿÿÿÿÿ€ ÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøðàÿÿÿÿÿÿÿðïÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀpÿÿÿÿÿÿÿüÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ6ÿÿÿÿÿÿÿ€ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàv?ÿÿÿÿÿÿðÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿÿÁÿãÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿþxÿÿÿÿÿÿÿÿïÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ÿÿÿü8ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ïÿÿð8ÿÿÿÿÿÿÿÿñÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿà<?ÿÿÿÿÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿÿÿÿþãÿÿà<ÿÿÿÿÿÿÿÿøÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿüqÿÿàÿÿÿÿÿÿÿÿøÿþ?ÿÿÿÿÿÿÿÿÿÿÿüÿÿà ÿÿÿÿÿÿÿÿÿÿÿÿÐÿÿÿÿÿÿÿÿÿÿÿÿüÿð€ÿÿÿÿÿÿÿÿÿÿ‡ÿÿð0ÿÿÿÿÿÿÿÿÿÿøÀ ?ÿðÿÿÿÿÿÿÿÿÿÿ‡ÿÿðxÿÿÿÿÿÿÿÿÿÿà€ÿðÿÿÿÿÿÿÿÿÿÿÃÿÿÿüÿÿÿÿÿÿÿÿÿÿÁ€ÿàÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿÿ€ÿðÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿüÿàÀÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿüÿÿÿÿàÿà!ðÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿÿÿÿï€ÿð<?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿþÿÿÿ†ÿðü?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿþÿÿÿøøÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿàp`ÿàà€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿüÿÿàà`ÿàààÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÀÿÿøÿÿÀàÿðàø?ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÀÿÿðÿÿàÿüÿÀ À?ÿÿÿÿÿÿÿÿÿÿÿàÿÿ€ÿàÿÿð?ÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿ€ÿÿøÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿøÿ€Ïÿüÿÿ€ÿÿÿÿÿÿÿÿÿÿÿðÿàþÿþxÿ€ÿÿÿÿÿÿÿÿÿÿÿø?ÿà?øÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿþÿ?øÿÿ?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿøøÿÿ€ÿÀÿÿÿÿÿÿüÿÿÿÿÿÿŸàøÿÿ€ÀÿÀÿÿÿÿÿþ?ÿÿÿÿÿÞø?ÿ€ _Àÿÿÿÿÿþÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿà€ðÿŒÀ ÿÿÿÿÿÿÿÿÿÿÿÿð?€ðþÈÀ~øÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ðø hÀÿÿŽ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€àpÐàüÿÿ€ÿÿÿÿÿÿÿ¿ÿÿ¿ÿÿÿ€ä`€BpáþÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿ†?›ÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿþ€~ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿþ€^ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÿÿÿþ?ÿÿóÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøxÿÿÿÿÜÿüÿÿÿÿÿÿÿÿÿø€|Àÿÿÿÿÿ€ÿøÿÿÿÿÿÿÿÿÿðø|?€ÿÿÿÿÿÀàÿÿÿÿÿýÿÿàx|ÿÿÿÿÿàÿÿÿÿÿýÿÿà<ÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÀþÿÿÿÿÿðÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿðÿÿÿÿÿÿþÇÿÿÿÿÿÿðÿÿÿÿÿÿÿüñÿÿ€@?ÿÿÿÿÿøÿýÿÿÿÿÿðøÿÿð`ÿÿÿÿÿøÿýÿÿÿÿÿàþÿþÿÿÿÿÿÿðÿÿÿÿþÿÀüþÿÿÿÿÿÿÿÿÿÿÿþÿ€|þÀøÿÿÿÿÿÿÿ`ÿÿÿÿþÿ€?ü@øÿÿÿÿÿÿÿüÿÿÿÿþ?ÿ? ?øx8ÿÿÿÿÿÿÿþÿÿÿÿÿÿü?Ð?ø>€ÿÿÿÿÿÿÿþ@ÿÿÿÿÿüàø3<<ÿàÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿøà8ÿüÿÿÿÿÿÿÿÿÿÀÿÿÿßÿøà€ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿßÿðà€?ÿ€ÿÿÿÿÿÿÿÿÿðÿÿÿßÿðà€ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿïÿðÿñà ÿÿÿÿÿÿÿÿÿÿÿÿÿïÿð>ÿø0ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿøüÿðÿÿÿÿÿÿÿÿÿ€ÿÿÿ÷ÿðþþøÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÀ ü<?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøNx?ÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿïø0€ÿÿÿÿÿÿÿÿþÿÿÿÿïü@ÿÿÿÿÿÿÿÿüÿÿÿÿïþÿÿÿÿÿÿÿÿøÿÿÿÿçü ÿÿÿÿÿÿÿÿðÿÿÿÿïü<ÿÿÿÿÿÿÿÿàÿÿÿÿïþÿÀÿÿÿÿÿÿÿÿàÿÿÿÿÿþÿ€<ÿÿÿÿÿÿÿÿ€ÿÿÿÿ÷þÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÇÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþ×þ?€ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÿÿ€?€ßÿÿÿÿÿÿ€ÿÿÿÿÿüþÿÿÀ?€ïÿÿÿÿÿÿ€ÿÿÿÿÿøþ?ÿÿð?€ÿÿÿÿÿÿÿ€ÿÿÿÿÿàþÿÿÿüÀÿÿÿÿÿÿÿ€ÿÿÿÿÿ€üÿÿÿþÿÀ0ÿÿÿÿÿÿÿ€ÿÿÿÿÿüÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿþüÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿüüÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿü?ÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿü€?ÿÿÿÿÿàÿÿÿÿ€þÿÿÿÿÿÿþ@?ÿÿÿÿÿÀÿÿÿÿ€þÿÿÿÿÿÿþ0?ÿÿÿÿÿÀÿÿÿÿÀüÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÀüÿÿÿÿÿÿÿàÿÿÿÿÀÿÿÿÿ€øÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþøÿÿÿÿÿÿÿøÿÿÿþÿÿÿøÿÿÿÿÿÿÿüÿÿÿüÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿ?ÿÿ€ÿÿÿÿÿÿÿðÿÿÿþ?ÿÿÿÿÿÿÿÿÿðÿÿÿü?ÿþÿÿÿÿÿÿÿàÿÿÿôÿþÿÿÿÿÿÿÿàÿÿÿðÿüÿÿøÿÿÿàÿÿÿàÿøÿÿ@ÿÿÿÀÿÿÿàÿ€ÿ€ÿÿÿÀÿÿÿàÿàÿðÿüÿÿþ?øÂgÿÿ€ÿÿÿÀ€ø?ÿø?ÿþxÿÿ0ÿÿðŸÿð?ÿÿ€ÿÿÿÿøÿàÀÿÿ€ÿð€ÿÿøÿ€Ðÿÿø7ðÿÿðøÿøÿ0ÿð#ÿÿðàÿà¿ðÀ¿ü€ÿð€ðð>ÿà|ÿÀÿ€À€øÿÿàÿÀÿÀÿÀÀàààð€€ 0`€àøÿž~üÿÿÿÿð ÿàÿÿÿÿÿð ÿàÿÿÿÿþ€ÿÿàÿÿÿÿÿÿðÀÿÿÁÿÿÿÿÿÿü àÿÿþ?ÿÿÿÿÿÿ€~÷ÿÿÿþÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÀ?€Wÿÿÿÿÿÿÿÿÿÿÿÿðÿ€ÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÿÿÿÿ Ùøÿÿÿÿÿÿÿÿÿÿÿ€ ÿÿàÿÿÿÿÿÿÿÿÿÿÿð(ÿþÿÿÿÿÿÿÿÿÿÿþÿõÿÿÀÿÿÿÿÿÿÿÿÿÿÀÿÿÿøÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÿÿÿÿÿø?ÿÿÿàÿÿÿÿÿÿÿÿÿ€Oÿÿþð?ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿ°?ÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÀ?ÿÿÿÿÿÿÿðŸÿÿðÿÿÿÿÿÿÿðÿÿø?ÿÿÿÿÿÿþÿÿó™ÿÿÿÿÿÿþÿÿøÿÿÿÿÿÿÀÿÿàÿÿÿÿÿþ?ÿþ?ÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðemoslib-000392+dfsg.1/land_sea_mask/LSM_GG_02560000755000175000017500001250560012127406245021662 0ustar amckinstryamckinstry?uà?¬Œ?ƒ ?­ø?Ã?å^@?î(@?ï‹À?èHÀ?ÐÕ€?¹.?Ë–?Öt?ß6?Ûú€?¼&?„`?šð?á–À?ì9?ãZÀ?ìµ€?íTÀ?éF€?êŸ@?è À?ÀR?Ä?çèÀ?êÿ€?íÎÀ?í²À?ïñ€?é€?ê–?¾L?‹À?Ó(?⸀?ç…€?é?ï¸@?îÔÀ?ïéÀ?ð?ð?íã@?ãG€?Ê’?Þ£€?ê8@?ïó?ïoÀ?ð?ð?ð?ð?ð?ë×€?~?™(?Òx?ÄÂ?å{@?ØL€?çàÀ?ë?î@?ð?ð?ð?ïõ@?ïy@?ï5?éЀ?Äë?•?ÁJ?äÀ?êœÀ?íü@?éöÀ?î­À?ïú@?ð?ïË@?îØ?ïýÀ?ïÿ?æó@?Áz?ä¶À??çK€?á?é?ìÛÀ?ß´€?ïö€?ïð@?ð?ð?ï÷À?æ'€?ÝN€?ãÀ?Ô‹€?ß}?È…?¾Ô?W?@? ¤?Í?A?ÇÄ?Æv?è~€?î €?ïÙÀ?ïô€?ð?ïà€?ð?ð?èg@?îSÀ?êyÀ?ÜC€?¸?æL€?ê¿@??ê×?ï|À?í½€?ð?î€?ð?ï÷€?ð?ð?ïz?Ꟁ?ð?í ?ã ?î'?Ï}?À€?é°?èò@?¼*?¡?(?c€?Ðt€?Õc€?´î?©Œ??² ?­ ?8?ÀŽ?ÒI?˧?Ü?ïÏ€?ë+€?ïÀ?ï À?ï–€?êP€?ï}?ð?ð?íÊÀ?ê8€?åó@?¹.?Àú?ï£?ïqÀ?ïeÀ?ð?ð?ð?ð?ð?ð?ð?ïû?ð?ð?ð?ð?ð?ð?ï@?ð?äc€?éT@?ë’@?ïç?ð?Þ €??´h?Îh?~?Ã?à?à?É<?Ñ{?æPÀ?¿J?Å{?³¾?³ì?å?ë¡@?­¼?¾¤?é„?ç7À?Ѐ?é-?äm?ëø?îà€?éÃÀ?æ€?í»À?ïó?ïïÀ?ïÂ@?êOÀ?²ä?å€?î€?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïôÀ?ð?ð?ð?ð?ð?ð?ð?îo€?ç¦?ð?ð?ð?ᆀ?J?®ø?•Ø?Š€?]?×a€?ÖE€?ä~À?½–?Çï?ÐN?Ñ7?çd@?ÝÉ?ÈC?²ð?îÝ?ð?Ís?Ó?ês@?ï½@?ÖO€?ÐÒ€?áX€?àÑ?Þ1€?Û¹€?í`?ð?ð?ïÇÀ?í΀?¾~?áQ?ïú?ïÔ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ð?ð?ð?ð?ð?ð?ð?í ?ïú€?ìÓ€?ç À?Þ€?¢À?U?×8?äÑÀ?Ü™€?àÊ?Ðð?¶?Ó¼?À©?p ?Æî?Ü„?½ô?Ðâ?Ãb?Ü„?áÀ?®?—x?È•?뇀?掀?× ?`@?·L?“¨?ãìÀ?îÔÀ?ïÅ?î²À?ÝÅ€?Ý?à`À?ãÀ?ï¾@?ð?ð?ð?ï¶@?éˆ@?ÂÂ?Öø?ïÈ??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÅ@?è1@?ä€?ŒÐ?¸¶?Íá?¼?ä]€?ä@?é>@?íÉÀ?ð?阀?|`?€ ?b?“@?ÃÓ?‰ ?ŸÐ?Âi?âQ?ß3€?îl@?æ¯@?ä×€?á²@?”€?ë&?ï??ð?ð?ïÀ?âÊ?ïç?å$€?ï¡À?ïô€?ïûÀ?ín?ëÞ?âýÀ?–ˆ?Îã?îÀ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é{À?ì^€?Èe?Ú&?è{@?å¿@?æüÀ?äPÀ?Î…?ì:@?ï{@?éH€?tÀ?£Œ?À ?°Œ?Ó¢?ð?íT@?ït?™€?ŽP??aÀ?’ ?p ?á¿€?í€?îw@?ïü@?ï(?åÀ?çzÀ?ïé€?ég€?ï@@?í…?ëãÀ?ãe?µæ?âl€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç¼€?¤(?âÆ?î±€?ì˜?ë’À?ëd@?Ïõ?}?Ñr?£|?I?ã‹À?î¢À?îú?Óè?ß}€?×Ö€?<?æ°?æŽ@?°V?¸´?×?èOÀ?ï:@?ï¢À?íp@?߀?í)?ïÀ?ïö€?ìm@?ÜŽ€?Ù ?¶ ?Ôƒ?ì¬À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë÷@?Àñ?—?·p?Ü?ð?ëåÀ?í¶?ð?ëÄ€?Å^?°\?³œ?ŠÀ?_€?Á4?áâ@?Ñõ€?ë³À?íÀ?ÖL?–H?·L?Ä+?èÑÀ?ë@?ÆÙ?ÊP?¹r?ƒà?é@?ïÖ@?ð?ë-€?áy€?åFÀ?âæ?ë@?ïüÀ?î€?í€?ÜS? ?Б?î À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï8@?ßH?¿?W?]€?Ò¿?ì¹?Ö‰?äÀ?îN?Ðu€?âÅ@?w`?k?Óo?ïí€?ïü@?ãüÀ?€0?Ä“?å½À?êd?ÓO€?éÀ?ïÿ?å4@?ÛÙ?ëq@?Ït?Êc?ívÀ?ëã€?á&@?ê¿€?îd@?ïPÀ?î”?ð?ð?î$?Ù8€?ª0?è²À?ïÍ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì @?¡t?¸†?› ?¾N?Ú?í®?ïØÀ?Ðm€?Õ.?ç‰À?€@?ð?Är?äã€?ÓH?¼b?‘€?Ń?§h?­Ø?Èè?Û7?‚?¹~?ËC?æ!€?Þu€?Û#€?ïwÀ?Á?ª,?Úè€?Ëø?Áì?à¯À?çl€?î{@?ï°À?ð?ïôÀ?ë$?ÊH?x€?ëð€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè?У€?ʃ?É?âM?é€?çZ?ÑÝ?ï¨?ÞZ?|À?m?€`?Z?¶?³D?§Ä?Û/€?í„À?ëßÀ?ºš?­t?¶?Ú ?ÒÕ?Æó?¾h?Ýa?Û€?¼?Žà?‡Ð?Å)?æ¸À?Ûœ€?î6€?éß@?ïæ@?ð?àå@?³î?ÁŸ?ä<?î À?îÀ?ï7@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÁ€?æ€?ÞÉ?È?¸$?é€@?îF€?Õ8€?ÈÚ?Ös€?ÅR?~ ?”Ð?†à?ÆÁ?íöÀ?ëì@?½|?¡¨?T€?Îì?Úa€?Ѐ?á?€?áG@?Ÿ ?‡p?áÀ?Ð?Ûj?¸?ÏÒ?ãp?›?ëì@?äÿ€?ãÝ?îª?çC€?ìH@?×@?F?É?Ç:?Ù?ß³€?èU€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìN?Ò¸€?‘?Õ7€?êî?Å4?f?–Ð?Ã?³r?p?z@?È ?¯È?íòÀ??ã>€?Ñâ€?†0?„°?Ô¯?ïÿ?ïÃ@?Ãû?™¸?y ?} ?Ɇ?³ä?œÀ?Ñ›?Ël?w@?”?ÃF?̤?æ¶@?ï÷@?ð?ïùÀ?ì¡?êô@?Å?Úê€?ëÿ?íÉ@?ïÚ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÈÀ?ïc?î¼?Å+?Õ$?Ò«?L?[€?b?à¿€?ð?Ô?m€?¨Œ?±n?™H?Ѐ?ïó@?ï×À?ï©À?é@?Î%?ß+?Þ’?·°?¦x?¢8?×è?ïô?èï@?ëÑ?²?Òè?Øš?´ê?È?¼(?…p?Ñ ?Ão?¯?â6À?ïÅ€?åÃÀ?ɵ?ÖÄ€?æ5@?îmÀ?ï‰@?ï·?í¨À?íPÀ?ïì€?î¤@?Û?<?ɧ?åh@?í)€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í—À?ãÀÀ?Ãô?Ú‰?fÀ?r ?’°?ÁO?ÂÃ?áu@?î°€?îùÀ?È›?‚0?¼d?®?¤ô?áj?蟀?ë‚?ï @?ïøÀ?ë+?î€@?ïôÀ?ïí€?à‹@?š ?Ú€?î&?íx?Øv€?Ð$€?âW?Ôá?¤œ?èÜ€?Ý/?áÁ€?Ñ?ÞÅ€?êÑ?í&À?¡X?ÜÌ?é€?éµÀ?íM?á]€?Öä?Ü?âø?×[€?Ùv€?Ð'€?ì³@?Ó­€?¨ì?æë?îþ?íÁ€?íŽÀ?é~?î/€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î‡À?ß?€?À¾?ÆŽ?–?Öø€?ë€?ïG€?ð?í©€?ßé€?¡?Œ ?¦Ô?c€?Ñ<?æÛÀ?â|À?×€?ë‹@?éœÀ?ïÕ?ð?ð?ð?ïñ€?ð?ð?ð?î@?à›@?Áf?ç*À?Æ‹?Û§?¾?q ?d€?šÐ?ÚB€?àÜ@?æ[@?Í|?Êw?ê*@?í¤@?ï”À?Öž€?G?äÔ@?ঀ?ÖP€?¿|?Üç?áæ?è–@?æ?ð?Ô²?„°?ÀÙ?`?ìª?ã€?½@?®?µœ?Ã6?‰P?Ùñ?Ñ4€?Òé?¶°?’à?DZ?æX@?ïÃ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íô€?áR@?ºŠ?‘@?å³?ïß@?ð?íDÀ?ÜÖ€?³?m?>?[?Ñ7€?â'@?ì–€?ð?ï À?ð?îsÀ?í¡€?ïKÀ?ïõ@?ïã@?ïû@?ïë€?ð?ð?ð?î±À?àâ€?Ê?ÞU?ð?ì0@?ê—€?àd€?é&@?ÄB?¡p?Z€?«`?¡À?å¬À?ÍË?æ*À?îí?ð?í?»B?Ö!€?ï @?íè@?ÚÌ?”P?Þ€?æÿ@?èJ?îò€?Öº?È?Ö‹?â–€?ïØ?áÞ€?Ä?ªð?ÍE?ä”À?éÁ?äaÀ?Åÿ?~`?ž ?àr?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïO€?îc€?ë;€? ¤?åÀ?ð?ïúÀ?è%€?¶?¨è?¾²?@?l€?ÝH€?í,À?ð?ð?ð?ð?ïj@?ïžÀ?î”À?í¼À?ð?ïÝ?ïnÀ?ï«?ð?ïðÀ?ð?ð?ð?î€?Ö~?‰À?»Ø?æéÀ?ð?ï¶€?ð?ärÀ?ï“À?Ù2€?×y?ä0€?Ö„?Àî?Y€?o@?Ü6€?íE@?ïR?è—@?îR?ìý€?ïâÀ?ïwÀ?ïþÀ?ì¼€?Æô?×™€?g€?{`?è±?ïí€?ί?Ük€?ïßÀ?à­€?Û„?ð?ð?íþ?ïVÀ?êZÀ?ïå?ð?ð?ð?èºÀ?Äú?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï©À?êÂÀ?èS€?ÔÂ?¹0?à¨À?ð?ð?ê|?ªl?tÀ?V€?¹–?ä|?ï£À?ïe?ð?ïë@?ïë@?ð?ð?ïá?ïÆ@?ꀀ?ï+À?ïÔ€?èÞ€?ã”?îe?ï—@?ïú€?ïë@?ð?åJ@? ?ÓŒ?ï÷€?éJ?å @?äXÀ?Ø‘?¨È?•`?àN?ïïÀ?í+À?µê?v€?Ëù?Ô×€?Íý?ã @?ê5?ìÀ?߀?áïÀ?Ò€?ºZ?Åm?×€?Øü€?±?àæ?ï¾?ç‚?ÇQ?ïBÀ?ïø@?ï/À?ð?ð?ð?îf?ïô@?ð?ãh@?Z?\€?à¨@?ïÚÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îïÀ?êì?×?Óv?Ëñ?¦|?€ ?ã‚@?ï”À?ék€?Ðt€?b@?p@?@?¾ò?Úd?î~€?ïàÀ?ïÝ€?ï¿€?ïg?ïð€?ð?ð?ïÔ?ïéÀ?ëÀ?Ùä€?äh?å€?åÓ?íoÀ?çº???àÂ?È2?‘ð? ?ÐP€?¦l?h?:?Àf?§?>?©L?Ä^?pÀ?ê>?ïÇÀ?äDÀ?ð?°?¹Ü?£@?×Y€?Ôò€?’à?Óz€?å­€?Ü=€?î ?ëlÀ?èØ?âï@?è\?èÀ?Í)?ü?êa@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï À?îÓ€?å²@?Î?©T?Ïy?ìEÀ?î4?Ðý€?žÀ?€ ?š0?ÙÀ?îÀ?ïé?ï™?ïÔÀ?ïÛ€?ïâ@?ïâ@?ð?ïð?îK?ås@?àÝ@?å?î?í@?ïÀ?ç3@?ìü?íð?ÂJ?Î?êKÀ?‡°?«ä?Ñ’€?¡H?Ì•?ìßÀ?ïÍ?îyÀ?Üp?Ñ+?Ön€?dÀ?Œð?¾V?W€?›?y ? ?À³?—˜?¡$?á*@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡@?éK€?å?Òø?Ë¢?ìÒÀ?íƒÀ?ã‰@?p@?­?žð?¡<?ÔÊ€?èŠ@?ï€À?ð?ï}@?ïM€?ð?ï¿?ïå?ìi€?ìšÀ?ꘀ?é…@?ì €?íD€?îH@?ï­@?ìü€?î“@?ÐÂ?âª@?ÈG?¹?z@?£?µœ?™?Ïe?×r?¾l?®ø?ì¼€?ð?ð?ïÜ€?íÚÀ?ïÿ@?ÝÅ?„ð?Ã"?ÓK€?ä¶?Î?t ?è'À?ïÊ€?êO?æÂ€?Åd? t?Ͼ?¿Ú?„?q ?Ôï?ïW@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íã@?îÏÀ?ï?æÓÀ?ÑÙ?ÓŠ?ê)?îi@?Ü{€?Žð?Ãó?°Î?[€?°?ØB€?ãìÀ?å1?ë0€?ì?çB?îÀ?ïÛÀ?ïÀ?ï€?ï×À?ï6?ï\À?î’€?íû@?퀀?ïH€?î@?íÃ@?îgÀ?í¢À?îu€?íÕ€?ä½€?Ír?¥T?àl??ìB@?Üú?ã?éÀ?â¯@?×I€?¦ˆ?Üm€?æÒÀ?Åy?Á*?¤@?’(?Øï?ïåÀ?ëm@?£è?•ð?é_?ð?ð?ïñ€?ïí@?ð?ð?éÇÀ?jÀ?²f?Õ›?îZ€?Üü€?ÛE?ìé€?ïQÀ?í%À?ÅM?Þ΀?îA@?ð?ð?éç?“ ?°r?éÞ€?ïîÀ?ål@?½j?äê€?í:€?á;À?êv@?æ–?ß ?R€?‹p?Ò €?í„À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îŽ?ï[€?áPÀ?äõ@?ïI@?ë±À?ÐÚ€?´Â?åv@?îB?äøÀ?¦P?Ñ €?éNÀ?ªÈ?°²?R?‡€?u ?ëv?ð?ïÁ€?ï¼€?íÊ€?ìl?î°À?î@?ìD@?ìOÀ?ï¹À??îã@?ìîÀ?ížÀ?îIÀ?î§@?íy?î€?ïf?ï—€?ï‘@?ê}?×K?Ö%?ë'€?ï?ï³@??æÂ?îÀ?ïÞ?ïª?ê—?Â?³X?ˆ?ßÍ?éÀ?ç1@?ä?ã"@?ªd?–?—@?ÑV€?ßK?¤?д?ð?ð?ð?ï÷€?ïZ@?ï[?è(?Ýi€?è€?¿”?ÝЀ?à%?ç@?Ú*€?œ¸?Áÿ?æ¯?ïîÀ?à€?Æ?Þó?ï?ð?ïûÀ?Óõ€?ãK?ð?í#€?Æ?é@€?ïDÀ?ð?æ@À?ë'@?ð?ïþ€?×5€?ÂÊ?è @?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÆÀ?銀?è¼?í&À?ä¯@?ÕÚ€?±?ß?ïœ?îî€?Ò›?Ž ?àñÀ?àL@?Ô²€?ƒà?ÈB?Ä7?ÙÎ?¾ˆ?äÐÀ?ð?ïK€?ë7?îÛ@?ì)€?ë?ë@?îEÀ?ì‘€?ïø?ïÄÀ?ï¾@?ïØ€?ïu?îÞÀ?ï‘?ï ?ë1?îü@?î½@?ìþ?åÁ@?êÀ@?î>@?ëÀ@?íŒÀ?ïÀ?ï|À?íM@?ïq€?ï?À?ïƒ?ïâÀ?îã€?æÿ?äD?á'€?å9@?ìµ€?êÀ?ã»@?æ?Ô¹€?¾æ?Ç?Ž ?c@?Úí?ð?ïý@?ï·À?ï ?íM€?à€?æa€?ï—€?îÖÀ?ÖÀ?æOÀ?Æ?Þ0?Å2?â)À?íÜ?èÀ?£´?å¾?М?ãQ?ï ?ë7?ÕÌ€?à³?è€?çõ@?é°À?Žp?˜`?ìÅ€?ïþ€?à¦@?ß­?ëÜ€?ï@?ð?íI?àçÀ?ä À?áû?à“?¼Œ?ß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íu€?és€?á@?ì€?ç,À?{à?¡p?ëa?ïó?Þ €?àÀ?ïÍ@?ïë€?î @?‰P?…p?Ú€?–€?ßÒ?ªx?L?å¿€??ïl€?î‘@?î§??îåÀ?ìš?îWÀ?ëRÀ?î¶À?ïä@?︀?ï €?ï @?î“@??ì½@?î§À?î$À?ëF@?滀?îk€?ï5€?îs€?î €?íŠ@?ïw€?ð?íÈÀ?î¡?ïÒ?ïz?îÉ?î9€?ïãÀ?ð?îrÀ?ïÝ€?íg?éÀ?Ú?ÜÆ?ÝG?“x?‘Ð?Õî€?ä]€?èþ€?ìŠÀ?çÑ@?×=?»–?Âß?ï’À?ð?ïí?ï÷€?ï@?Óh?ìc?ï“?ïØ@?êó?íY@?íCÀ?Ý‘?åÇ€?äš?áþ€?í³?èO?Ü3?ìЀ?î;À?íB€?ïVÀ?åÉ€?Íê?îu?Ñ?Й?ð?ïøÀ?åç€?Û}€?í}À?ð?ð?ìà€?Ň?ÁÁ?툀?ì@€?à'?w?Ø¢€?í ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïYÀ?ìõÀ?ßi?ìÁÀ?×€?Ïr?í»?ð?í1?t@?é€??ï@?ïçÀ?ÅÂ??àÆ@?©P?Ã?ä€@?îlÀ?â5€?«Ü?É=?ï?ï}€?ïsÀ?î€?ï±@?î—€?î<@?í?ïJ@?ïÂÀ?ï·@?ï?ï%À?ëUÀ?í4À?í@?æ}€?å³?ï¼€?ïZ?ë>À?ï?ï|À?ïÇ@?ïüÀ?ð?ïè?ï¶€?ï€?ð?ï¾@?íùÀ?îï€?ï¥@?ïò@?ï²@?ïÀ?ïÊÀ?ïì€?ïüÀ?íè?îì@?ð?ê@?⛀?æ}À?Ý»€?‚@??À´?äX€?ïlÀ?ï{À?ï*?íO@?äÇ?ܬ€?ç@?ìò@?Ý€?¸x?À?ï³?ïÿÀ?ð?ð?ïÈÀ?ÞÖ€?º²?êZ€?ïÄ@?ïÁ@?ï@?îˆ?ï€?ê]€?ìµÀ?ï*?î€?Э?îoÀ?íW?à€@?¥4?Ó‚?ê\@?ë‹@?í]À?í`À?‰0?ãÜÀ?àCÀ?×?ïâÀ?ð?ïØÀ?ÂË?åÀ?íwÀ?ð?ïˆ?ä1À?æ@?çS?ét€?îÊ€?ï À?âÎÀ?²€?´È?ã«À?î«@?íg?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïI€?ï‘@?ð?ïé@?îv?ç‚€?× €?ÈJ?—P?ï€?îÂÀ?ïÒÀ?îU€? x?© ?ï€?ïÜ€?ïÜ@?ëT?uÀ?åë€?èæ€?Ó»?ìÕÀ?ä_€?ï1?ï!?æd€?ÀC?áÀ?ïxÀ?ï¿?ïû€?ïüÀ?ïÅ€?ì/€?íÈÀ?ïð@?ïm@?ð?ïÙ?î7@?î¯?ì²?îÜ?ïY?îh€?íç€?êâ?ï À?ð?ð?ð?ð?ð?ð?ð?ïRÀ?ï²@?ð?î€?ïö@?ïá@?ï¸@?ïÀÀ?ïÞ?ïÀÀ?ð?ð?ïÿ@?î]@?ð?ð?éu?ïÏ€?Ô„€?,?­”?Ò?B?ƒ`?žp?å€?î¹@?îÌ€?ëÍÀ?ìñÀ?â.À?Þr?ïN€?ï@?äµ?Ðý?›°?Ð?ëÀ?ïé@?ïÈÀ?ïR?µb?á>@?îÏ@?ï\@?îc?ìæ€?ï`@?ï4?í~?ï9€?ï#@?ï?Ö€?ê©@?íò@?éƒ?‚`?Õ3€?îm?ëE?æ|?Ÿˆ?èÀ?Ò^€?ÚØ€?ð?ï²À?ïÎ@?ÜÅ€?ëè@?ïHÀ?ð?ïl€?ìÙÀ?ïµ€?í+À?ë¿À?ð?íu?ëÊ€?×k€?š@?Y?Äv?çI?ë?ä5€?îe€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èN€?í»À?ïû€?ð?ð?èèÀ?·à?ת€?â~À?î@?ð?Ö?£ð?äÝ@?ïï€?ð?ïçÀ?ÝI?ÐÉ€?ïùÀ?ê¦?¨h?å @?í«?ìí?íØÀ?ïÞ?ïµ@?ßF€?íÇ?ïÉ?ï“À?ð?ïó?í<?ï©€?ïó?ð?ð?ï9À?í]?îË?ïˆ?í±€?íÎ?íü€?ð?ïÀ?í†?ð?ð?ïçÀ?ð?ð?ð?ð?ïç@?ï¢?ð?ï]@?ð?ï´?ï³À?îÖ€?ïÊ?ïö@?ï{@?ð?î‘@?ïè?ï©À?ïæ?ì÷@?ð?èõ€?Ö$€?ëC?ÑM€?ßj€?êW@?ß‹?Ü ?á€?çŒ?îý€?ëœ@?í½@?ë €?êÖ€?ï@?í€?íc@?éb€?äæ?Î ?€0?©ø?μ?à?’Ø?Y?Äg?ïæÀ?èÎ@?âÏ??’ˆ?ÚV€?â|€?ãÇ?ì@?ín@?ð?ïù?ïá?îuÀ?í6?ë(@?ê·€?ì×À?îû€?¾?r ?äßÀ?Ð?‰°?Ò)?î”?êü@?Ða€?Ùf€?ï¬?î]?î@?ì`À?Ù´?ï×?ð?ïû€?î«€?ïÑ?ïý@?ð?ð?ïö?êE?蜀?ä/@?è^€?µ¤?©?æ$€?Ù?Û&?æa?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î)@?ê€?è[€?ì¡?ð?î¼@?Ø\€?¢à?»8?É?±^?ÑÞ?a@?£ð?Ó³€?æð?ïö@?ê¡À?«T?ä*€?ïjÀ?ïÌ€?ï3@?ï?ë€?²ò?ê}@?ï\À?æ€À?á$@?Ú?ë*€?ì«@?ïÄ@?è€?Ìå?ïÞ?ï«À?ïÄ?ïôÀ?ð?î–?îw@?îÓ€?ð?ïò€?ïÅ€?íM@?ït?ïÃ?î“€?ëb€?íÇ?ï·€?ï‚?î‚@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ï,@?ð?ïó?ïÄ@?ïœ@?ïú€?ïì@?ð?ï¥@?ï)?ð?ð?ð?î?ï @?ïû€?Û>?<?ä?í›?ï}@?ïRÀ?튀?í¸?ä…?ì €?ë…À?ìpÀ?ë™?êÀ?ëy@?ìo€?ë£@?âã@?é¨?ë‚À?êu€?çÚ@?ÓÄ€?€?Å?Öi?×€?dž?fÀ? ?å÷?ß?_?áå€?âf€?Ä ?J?Úë€?¢ ?Ü@€?ê@?îãÀ?ïúÀ?ïúÀ?ïÏ?ë·À?ïÈ?ï´?íø?ë³€?êî€?êü@?í@?«œ? ?j? ?˜?íÀ€?ïê@?ï´€?ãÓÀ?^€?Ñ…€?Ó?èô€?çG€?ä?ï>@?ï»À?ð?ïG@?íB€?ê°€?ïè€?ð?ï €?î6€?íÈ@?î @?ì3?ÚR€?Ð,€?Îå?Ü…?ì4À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëä@?ï<€?èþ?»˜?ëã?ð?çæÀ?Ð?Ãk?³à?Ð3?Ñ»€?ç¹€?Ùx?×ã€?äÀ?ânÀ?È{?ˆ€?Û/€?è!À?è:€?äJ@?fÀ?J?ØË€?ï À?ï»À?ð?ïß@?ïÀ?η?Ú•€?î¾À?î_@?ï À?ìÉÀ?î4€?ï/@?ïÏ€?êÁ€?á1?ìš@?ïÚÀ?ïLÀ?ïÓ€?ïŽ?î°?í„€?ï¸?ð?ï@?í €?ìëÀ?í³@?í3À?î@??ïW@?ï³À?ð?ï9?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïšÀ?ïâ€?ð?ð?ð?ð?ïê@?ïË@?ð?ïQ€?ï¹@?ð?ð?ð?î7?î{€?ð?ï €?âj@?í&À?ï»À?ïî?îµ?ì8€?ìa@?åå€?ìÙ€?íZ@?ìz€?èâ€?ë¹€?ìÈ?ê·?ìâ?ë ?ëP@?ë¹?ë€À?é‡@?åå€?âó?êÀ?î:@?ï?ïÀ?ío€?ã€?¬P? ¨?–ð?Ƈ?§¬?Ëk?à®À?ãÍ@?ê=À?ä€?è<€?Û€?ã@?¶æ?† ?Ú€?êä€?ìâÀ?í[À?çZ?ìê€?í€?íc@?íM€?î|À?ë’€?îÇ€?ëË@?ìÐÀ?ä?·>?¥Ô?¨ ?šè?ës@?ïª?ï¹À?é€?©P?åzÀ?í€?í¤À?íÍÀ?î™@?ïã?ïüÀ?ï‡?êt@?ëê@?êX?îÈ?ï©€?ð?ïéÀ?ï:€?í^À?éâ€?çg?Üq?ÔD€?q€?–(?âE@?Ýv€?Ð:€?âØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åƒ?ë9@?ï€?½x?äÀ?íTÀ?éŠÀ?x€?¡ô?k@?‘Ø?’h?É?ßm?éø?ã7?ëË€?è&À?è€?ïs€?íÓ€?Ñß?Š€?“0?©d?V€?Õ“€?i?Î ?ìï€?ï-€?ïÍ?ï7À?î€?ÁL?Ó¹?îï€?ïZ€?ïLÀ?ïÎ@?ïÅ?ïÒ€?ï?êå?á›@?ë…?ïY@?타?îÀ?îÏ€?î‚?ï*À?ïÓ€?ð?ð?ð?ï÷€?ð?ïÔ?ïê@?ïÖÀ?ð?ð?ð?ï\€?ïÞ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÇ?ð?ð?î²?îLÀ?î†@??ïãÀ?ð?ïø€?ê­€?í^À?ð?ð?ð?ð?ïÖ€?ïÜ€?ð?ïB?ï7€?íèÀ?î÷À?ïÁ@?ïÚÀ?ïíÀ?ïR€?ïE?ít@?ì»?éÀÀ?ì×À?ìË@?ð?ïÕÀ?îµ@?í6À?í€?ínÀ?í«?ï*@?îø@?íò@?æ%?Ûª€?<?–˜?ÊÊ?æÙ€?ê¤À?ë"@?éR?ê–?ëD€?ç7À?çÀ?æ@?Õ$?áÈÀ?Ü`?ªh?0?×%€?³Ð?<?¥0?£ì?¾¤?¬?³â?à?ï©À?îýÀ?ìÜ@?í€?îÞ@?ìX?îÈ@?íG?êHÀ?ÎÑ?¢ˆ?²?†?ê|?ïŒ?ïÕÀ?ï À?ßÉ€?2?¼¸?ã_À?ãã€?îªÀ?îß@?îµ€?ï6@?î&À?îf?ìO@?à À?ì„À?î«?ïå?ïÚ@?ëCÀ?çâÀ?ìÇ€?ël€?íæ?黀?Âh?·r?ༀ?êÙ@?ëÀ?äB€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìè@?é@?è0€?Ô?Ð?±8?Ù߀?Ö»€?C?ƒ°?Û‘?Ñ÷?Ö €?æ½€?ãÃ?ï’@?é¡À?ïé€?ïæÀ?î¾?èÁÀ?à6?¡? ˆ?~?Ô¹?êêÀ?ÁË?ܹ€?îb?ï@?é<€?è@?îNÀ?¬L?ä¨À?ïàÀ?îêÀ?ð?ïS?ïX€?ïÊ?ï–@?îì@?é.€?é'À?ïðÀ?ïÈÀ?ï+?èn@?îÀ?ð?ð?ïô?ð?ð?ð?ð?ð?ð?ð?ïÈÀ?ð?ð?ïé@?ï•?îÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï#€?ð?ïé?ïý?ïù?ïÎÀ?ï@?éf€?ð?ð?ð?ð?ð?ð?ïÏÀ?ð?ð?íöÀ?ð?ð?ïö?ð?ð?ï{?ð?ð?ïßÀ?ïº@?ëŸ@?î“?î>€?ð?ð?ð?ïðÀ?ð?îÚ€?îM@?ï‚@?î€?íêÀ?昀?éËÀ?´l?ÁÊ?¸Œ?Ú΀?Ô.?µ?›?8?à!€?íÇ€?ï€?î ?ï?íîÀ?êò?ë@?ëÆ€?ê¼À?ì5€?ìK€?í!@?ïx?ížÀ?ì»À?èÀ?áäÀ?Ð7€?Ü~€?Þ?¨??Ô<€?Én?½Ð?ê?ÊŒ?Î×?ÜÖ?ëº?ïw?ð?ï[À?ë€?ï)€?îº?ì!@?ëp€?êÍ@?î‚?î-?îw@?íÀ?ík€?ènÀ?Ò_?‡Ð?¢ø?êú€?î²?î³@?ìœ@?âM?¨?[€?Áè?ÕÂ?Þå€?â¿@?æ€?è°?æÃ€?Þï€?èÍ€?ÝÔ?ÚÈ€?ï ?ï°?îõ?ð?ïH?ïq€?î‹?êÀÀ?æ)?éÒÀ?ÐÆ?áqÀ?ïB€?Új?äS€?æ…@?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îè€?æ†?ë§À?ï|À?ïû@?éd?àÁ?Ć?—°?Óö€?åž@?á!?ìÅ€?í…À?ï,À?쀀?îÀ@?ï‡@?ïŽÀ?ï?íAÀ?çÕ?ãÊ€?à˜@?ás@? ??W€?Í5?ã~À?åàÀ?à»?Ó€?ˆ`?åe€??í¥?êæ€?ëo@?î×À?Ày?éP?ï©@?ï»À?ï€?ïáÀ?ïÖ€?ïÜÀ?ïÇÀ?ï¾@?ïº?ê ?ç‘?é€?ï©@?é¹@?ë«€?ïÿ€?ìŸ@?ïÎ?ïÄ@?ï´?ïÏ@?ð?ïê@?ïõÀ?ï?ïë?ð?ð?ï‰@?î'€?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè@?ïò€?ð?ð?î›@?î‹€?ð?ïý@?ïï?ð?ïÄÀ?ì§?ï×@?ð?ð?ð?ð?ð?ï÷€?ï¼@?ð?ïö@?î^?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‡?îç€?ìm?î€?ð?ð?ð?ïˆ@?íh?ï.À?îÓ€?í@?ëlÀ?ì@?ê;?ç"?ÙB?±Æ?ÇÃ?×8?ÖÔ?²°?‘ˆ?­°?âÖ@?ç—À?°®?êL@?ð?îR@?ë€?럀?é5€?Ü=?±6?ÈC?ëg?îÞ@?ﻀ?ð?ïû@?ïû@?ï¬?í¹@?ír?íÁ@?í¢À?í.?î=€?ï­À?îj€?ïæÀ?ð?ð?ð?ð?ïéÀ?é8À?Ñæ€?¿”?«0?ƒ ?³¦?sà?ÑÐ?ä‚@?ßv€?â]?æöÀ?ï¾€?ã @? ?æ‹À?²º?àÛ@?ç€?ÓW€?Ù¾?îŸ?ïÀ?ì¡?쪀?ê¥?ìkÀ?ê€?ìh?èØ€?èÝ@?íqÀ?íó€?êçÀ?æ`À?ãÁÀ?Ô>?ÐT?—?ã³?Åo?Ð €?技?é-À?é/€?Ó%?Ì­?ŽP?ØË?é­€?àh?Öz€?§¨?ÔÁ?Ø•€?Â-?Ç€?â³@?ìˆ@?ïiÀ?ïÉÀ?î€?îu€?ï±€?ì½?ì?æ@À?ÑB?áÐ?îRÀ?ïC@?Ó¹€?ã¢?îÝ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í€?ÑP?´,?Ì?æA€?çGÀ?ë€?ìÁ@?ïv@?îú?îR€?ïc?ïî?ïÛÀ?în@?ç[€?ê„€?ì«@?ï"€?î)€?ã\€?Ó€?ÁW?¥ ?V?æt@?áX? ?X?£°?³Ö?íÞ@?ð?ïò@?ï¤À?ÜŒ€?…?‚€?¾Œ?ëg@?ìS?ìð@?í³@?êB€?x ?æ½À?î÷À?êÀ?ïÒ€?ïÂ@?ïâ€?ï“@?ïèÀ?ïñ?ïö?ð?îÕ?îf?ë€?ïB@?íª@?é²À?éP@?ê•À?ï8À?ï±?îÞ€?ð?ð?ïÜ?ïÀ@?ïj€?ïã?ð?ïÊ@?ïè€?ïc€?ïn?ð?ð?ð?ð?ð?ïë@?ð?ð?ð?ð?ð?ð?ð?ð?îY€?ð?ð?ð?ïõ€?ïîÀ?ïåÀ?ë>@?ï±À?ð?ïò?ð?ð?ð?ð?ð?ð?îõÀ?îâ?ð?ïõ@?ïï?ð?ð?ð?ð?ð?ð?ð?ï»@?íÀ?ì+€?ï©@?ð??îFÀ?ëÀ?ëO€?ì˜@?ì ?é·?ëü@?í`€?ëm€?èï?߀?ãµÀ?î`€?ð?ð?ï÷À??ë·@?ìæ@?(?Í?ð?ð?ð?ð?ïð€?ð?ïû?èÊ@?Ða€??àÀ?ïuÀ?ïÆ€?ïO€?ïê@?ïü€?ð?ð?ð?ïè?ð?î@?ìíÀ?í~@?ïûÀ?ïó?ïáÀ?ð?ïâÀ?ï´?ð?ð?ï²@?ïå@?ð?îK?Ø|€?8?¿†?áBÀ?äé@?áá€?àØ@?âÂÀ?ê¡€?îúÀ?ï¨@?ð?îê€?áßÀ?ê<€?àm€?ï4À?ð?ïV€?à,À?ÌÁ?T?Ùë?æ€?æå€?î;À?îl?ê¶?èÆÀ?ì?êÐ?íL@?á¼?ä®?è;À?ìÄ?å?À?áx€?¼?xÀ?á?À?í@?és@?Ðg?¬Ä?â®À?å•À?ëNÀ?æ‡@?Ã2?¸À?ã¡@?ï?ï?åu?Ê?u@?™ ?ÐÒ€??×·?à2€?ì@?îK€?ï°?ï|?ïû@??íÙ€?é€?èw@?Ç?ÂW?äˆ?ÔÜ?а?årÀ?ïï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íKÀ?Ùü€?‹p?À]?ÖU?Ì«?æ @?ïcÀ?ïU?î @?ï‡?î§À?ï=€?ïT?ïù?îî€?å-@?ÛЀ?íÎÀ?ë€?î"À?í@?ë­?ëÐÀ?ìð@?ë @?Úá?z€?© ?ïÌ@?æ1@? À?¹f?ª„?ƒ?¬h?È+?àÌÀ?ïõ€?ïõ€?ïÇ?íÙ@?é/?˃?Ù~?ë:?îw?ï€?éI@?k?½Ü?ÿ?Õ€?Û ?ìò@?ïß?ïã€?ïƒ?ïÊ€?ð?îûÀ?ï˜?íõ€?éµ€?ïÖ?ï?ïÚ@?ïõÀ?ìS@?íÂÀ?ïÉ€?í¨@?ï…?ð?ð?ïù€?îw@?ï¬?ïÌ?ïÕ?ïDÀ?ï‰@?îÉ?ïïÀ?ïÙÀ?ð?ð?ð?ð?ð?ð?ïõ€?ð?ð?ð?ð?ð?í”À?ïB@?ïý?ð?ð?ð?ím?î;€?ïê€?ð?ð?ð?ð?ð?ð?ð?ð?î À?ïìÀ?ð?ð?ïšÀ?ïÀ?ð?ð?ð?ïöÀ?ïÖ?ï´?íe€?îÀ?í£@?ïv@?ïçÀ?ëÁÀ?è´€?ëxÀ?ë÷@?ét?뛀?ìø€?íÁ@?ì?飀?ä ?â?å#À?ð?ð?ð?ð?ð?ð?ð?í=À?ÄÐ?ÇP?ï€?ïó@?ï÷@?ð?ð?ð?ð?ð?ïè?Ù)€?¥?¤x?¿`?Ùè€?ïL@?ïð?ï€?ï¡?ïù@?ïÃÀ?ïj?îý@???íÁ€?ï˜??îû@?ð?ð?ïéÀ?ð?ïý?ð?ð?ïò@?ïü@?ïú@?ð?ïÏÀ?ïÇ?ãU@?Â…?ÖD?ìÜ@?ì;€?á¥@?è2?îýÀ?ïg€?ïÝÀ?ïñ€?ïé?ïT€??ìá?îÕ?ïA?ð?îò?íüÀ?ïm€?ãa@?Ð5€?Æ—?ËŠ?x`?ä@?í~À?éÍ?äÉ€?ìu€?ëÀ?âØÀ?³?ÄO?áÇ?ë_€?íèÀ?㙀? ø?Õ!?Úy?í?À?íª@?êv€?ÒÜ?Ĩ?æe@?ê@?ëí@?éJ?ÈŽ?ê°À?ÆÅ?Ì%?í8?ïä@?íÉÀ?âÀ?,?®Ì?Ù€?Ä-?à€?äy?ìÜ€??ïÓ?ïT@?ïçÀ?îo€?èê?¼Ú?œ˜?Q€?¦D?åè?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼@?×2€?È|?ã@?åè€?ã¨?íý?îÂ?í¨€?î€?ï5À?ï|€?î"À?ïw€?ð?ïN@?î&@?ì@?íU@?î€@?è¶?çŠ?í›@?ïÀ?î„€?ëSÀ?ì.€?ì×€?×±?½?Çð?¾?À?ÈÒ?¬ä?@?¼¬?åÍ€?Ò €?ˆ@?ÑŸ€?ÏÖ?à£?ë“€?Ô?âä?ï€?ïõ@?ï÷?ïþ€?ïô@?îº@?ïq€?Ö2?}€?êÍ€?íNÀ?ïEÀ?îŽ?ç@?ª0?åT??êÅ€?Éc?ï€?ïõ@?ïÆ??ï”?ï…@?îàÀ?ï€?ìÉ?ë€?ï¿À?ð?ïÉ@?èt?ëäÀ?ëÙ€?ïí@?ïO@?ïõ€?ð?ï#@?ïW@?ïm€?ïâ@?ïu€?ïW€?ï_@?î=À?î+€?î\À?îõ€?ð?ð?ïÂ?ïŸ?ï½€?ð?ïê@?ï¬À?ïï@?ïH€??ïÓ€?ï3@?î?ï@?ð?ð?ð?ïÊÀ?ï¿€?ëÞ@?ïõ@?ïÊ€?ð?ïñ€?ð?ð?ð?ð?ïÂÀ?í¾?ím?î?ð?ð?ð?ð?ð?ð?ð?ïü?î~@?î§?ë @?íg€?ë(À?îÏ?î›À?î˜À?íÊ?æ ?å¼À?ì4€?ê@?Þi€?éù€?ë…?íº?èx@?æk€?çÞ?è+€?ïÕ?ð?ð?ð?ð?ð?ð?ð?ïÀ?ê‚À?îM@?ïb@?ð?ð?ð?ð?ïûÀ?ï¼@?ð?ð?ð?ë•@?¿L?Ç"?ïs?ïæÀ?ð?ï–@?ïç?ïó@?ïÕ€?ð?ïý€?ïþ€?ï§?ð?ð?ï ?ïó?ð?ïÒ€?ð?ð?ð?ð?ð?ïôÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ï<?ë=À?è´@?í ?çí?ê@?ïñ@?ï@?íß?ï¯@?îý?î£?ìdÀ?î½?ïû?ïË€?ïÌ@?ï’À?îB€?åkÀ?îÏ€?íû@?ï€?ïNÀ?îÑÀ?ÔV?ÜÆ€?ìÀ?æx@?ä€?ÞS€?Äå?Ù?æÜ?åØÀ?Ì|?º:?ž?«”?Ð@?¬0?ž(?ž˜?×A?èí?é5€?Æ?À~?án?ïœÀ?î@?í@?Õ]€?êÍ€?è.@?á@?ì¿€?ïi?ë?æ¾€?ÁÌ?¥„?²²?ËB?Å_?á„@?ç¬@?íI@?í‹À?î @?îÇÀ?í<À?â±@?Ää?‰@?Àb?Õˆ?Ù2€?ïW@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î•€?ð?ð?ð?ïý@?í1€?ãæÀ?É ?Æ®?Ò©€?ÒÅ€?Ø•€?å €?î À?êq@?é©@?ï¡?ïÓ@?ï@?ï9?ïÀ?ïä?îÏ€?ïß@?ïÛÀ?ïê@?îæ?êœ?î€?íèÀ?ì‰?ì‰À?íÒ@?í—À?ì½?ì±€?Üp€?@?à8€?ð?å€?€À?Ðó?èý@?éÀ?éæ@?×¥?à`@?ïÚ@?ïÛ@?ï'@?ï—€?æ6@?ï€?ïê?ïö€?ïù@?豈?ï¶?ï|@?ïñÀ?ï(?â@?îzÀ??í €?îøÀ?ëÑÀ?¤Ð?ç€?ïøÀ?ïÓ?×€?êá@?ïÁ?ïÙÀ?ï•À?ï\€?ïqÀ?ïÇ@?ïè@?îÐÀ?ì%?íà@?ç½@?é;À?æÅ€?ç¦?ë?ìíÀ?îAÀ?ï‘?ïÍÀ?ïü?ïC?ïS@?îó€?ï—€?ð?ï\@?êíÀ?ír€?î©€?îØ€?ð?ïÏ@?ï€?ïÍ€?ð?ïÚ?ïøÀ?ï€?ï €?îH€?í×@?î¾À?î’?îZÀ?ð?ð?ð?ð?ïã@?ì¦@?í€?ð?ð?ð?ð?ð?ð?ð?ï‰?îm?ð?ð?î ?ïê€?ð?ð?ïê€?ïø?ð?ð?ïB?ëÖÀ?èi€?ç®@?ê1À?íò?ð?ï±@?ës€?ê€?à˜€?àVÀ?ê\€?ì/@?àì?æt€?ëøÀ?í¨À?ì}À?준?ìP@?ë8?ïÀ?ï¾À?ï¬?ð?ð?ð?ð?ð?ð?ïõ@?ïЀ?ïã@?ð?ð?ïñ€?ïûÀ?ïÔ?ð?ð?ð?ð?ð?í`€?Ði?Ç«?ïs?ð?ð?ð?ð?ð?ïú€?ð?ï¶?ð?ïò€?ð?ð?î8À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ìñ€?î@?ïí€?ð?ð?ïü€?ê€?ç"À?íÅ@?ï ?î§@?ïî?ï»?ï…À?îÑ€?î0@?îÅ€?î?ïºÀ?ï߀?îÂ?ïÏ@?ïË€?åB€?îÂÀ?ì|?çÕ?íFÀ?ëÃ@?Ý?€P?p?i?6?¶?ã€?×g€?ße?æb€?Él?„ ?@?’à?«¼?䣀?æ¼€?Ë*?g@?Ê?ï\@?îN€?îŸÀ?îñ€?æî€?í»@?æC€?à?ŧ?é €?í™À?ïä?íZ?Áv?ÄÇ?”0?Ö€?Û€?Éó?×t€?è¯?ì€?íM€?îìÀ?îÀ?îg€?è¢À?Ô?“˜?t?Ö5€?êð€?åøÀ?ïÞ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è‡@?íÍ?íò€?ä“@?Õ?©?©d?µš?À?Új?æD€?êë?îÀ?ïÀ?ퟀ?ìƒ@?ïÒ?ïÒ?î½@?퉀?ï¢?îu€?èü@?æ À?ð?ð?ìû@?ï¡À?íd?é¿€?íu@?êoÀ?îŽ@?íñ€?ìT?ìƒÀ?éÀ?ÀÝ?ØS?ïòÀ?î¥À?ͧ?©ô?Û1?î½?ð?î~@?æT@?ëb?ïÅÀ?ïõ@?ïä@?ïp€?ï¹À?î…?ïõ@?î?@?îÉ€?ïûÀ?ïŒÀ?ïç€?ïÌ@?ï}À?ïiÀ?ïG€?ï}?îóÀ?è?ì @?çÌÀ?Ùþ?ïs@?ï²€?äý?î ?ïõ@?ïÓ€?ïÑ€?ïÚ?ï—@?ï4?ïÁ€?ïI?ë€?ê@?è>€?ïÛ@?ð?î%@?êÒÀ?íT€?ï÷@?îvÀ?î@?ï€?ïÝÀ?îE€?îY@?ïó€?ïÆ@?îå@?íBÀ?ï΀?ï¾?ð?ð?ð?ïP@?î¯?îÄ@?ï•€?ð?ïïÀ?ð?ð?ð?îp€?îB€?ïÆÀ?ð?ð?ð?ïñ?ïÀ?è.?íÙ€?ð?ïÍÀ?ð?ð?ð?ð?ð?î0€?ð?ð?ð?ïo?ïá€?ïøÀ?ð?ð?ïý@?ð?ïäÀ?îhÀ?í?éô?è‰?ë?íßÀ?ð?ð??í‡À?é£@?èã€?í»À?é“À?䪀?çQ?ë½?î%?íi@?ð??ì €?í=À??ïü€?ï¶@?ïõ@?ï7À?ïö€?ð?ð?ð?ð?ð?ïó@?ð?ð?ïÍÀ?ð?ð?ð?ïÁ@?ïÚ€?ð?ð?ï¢?àÃ@?¨?Æ\?ë#€?ð?ð?ïÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?豈?ïøÀ?ð?ð?ïž?é—@?ëeÀ?ïŸ@?ð?ð?ð?í(?솀?î~€?잀?ëN€?îDÀ?ïô?ï1€?ï]?ìö€?ìšÀ?î߀?î(€?ïË€?ï€?ï»?ï¬@?î©@?ï&?ï?íÛÀ?ë…€?س?ð?Y?€?Éû?É0?¡Ü?½0?Ø#?îMÀ?îâ?èç€?æ ?¼?k@?³¨?¾Ä?¼"?ä)€?çï€?ãØ?Ýî€?íÀ?ï:À?íh@?ïj?ïB€?ïÀ?ïaÀ?Ø…?£è?äÐÀ?î@?î‘€?ïä?ï–€?Óÿ?<?¿?î^€?ï2?à@?äîÀ?Ú€?í§?ïYÀ?ïk€?ï@?ï­@?ï˜À?éÀ?Þ‰?ÐÇ€??žè?ä³@?çø?å&€?é^@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç @?½d?ÃŽ?†P?q`?f@?×E€?êL@?ê>?ìYÀ?ëä€?î?ï‚?ïyÀ?îÎÀ?ï{€?ïê€?ïÒÀ?ïÐ?ï=€?ï€??ð?ð?ïÅÀ?ìÙ?æùÀ?äËÀ?çßÀ?çå@?íö€?ïw@?ïÃ@?ïÐÀ?ï§?ﮀ?ïÖ€?ã,À?äV€?åÁÀ?§Ü?•Ð?ã%€?îx@?î€À?ï~?îø?èE€?홀?ïö@?ï€?ïª@?ï´€?ï)?ï9?ï_€?ï€?ï°€?ïù€?íÕ€?ïCÀ?ð?ïö@?ï¾?ð?íyÀ?ï@?ïUÀ?îçÀ?îò€?îØ?è€?¨L?ÀË?ìèÀ?ï=@?ï·À?âÐÀ?ã¶À?ìd€?ïÂÀ?ïð€?ïÉ€?ïì?î¤?ïô@?ïÃÀ?íÉ?ì?åD€?ï¶À?ð?ð?îÏ?í­?ï1?ï¢À?ð?î¥?îà@?ð?ïýÀ?ïüÀ?ïG€?ïwÀ?ïà@?î€?ï!€?ïÅÀ?ïâÀ?ï¡?ïã?ð?ð?ð?ïæ@?ïÞ@?ð?ð?ð?ð?ð?ð?ï¢@?ïJ?ð?ð?ð?ð?ð?ð?ïð€?æà€?ëF@?ïêÀ?ïõÀ?ð?ð?ð?ð?ð?ïñ€?ð?ð?ð?ï¿€?ð?î=?ïÕ@?ð?ð?ð?ð?ð?ð?ïµ€?îÀ?솀?ê>À?ìê€?î‰@?ð?ð?ð?ð?ïäÀ?ì?ìÉ@?î<€?ê³@?ê8€?ì?íØ€?ð?ïI?î@?ð?ð?îæÀ?ïÀ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?î”@?î5À?ð?ð?ð?ð?ð?ð?ï¼@?ï%€?ï+€?ð?ð?ð?ð?î:?Çê?J?Þ¼?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë@?ïšÀ?ð?ð?ð?ïè€?ë_?îµ@?ïø@?ð?ï´@?ð?îÎ@?íQ?ìï@?ì À?ê.?îœ@?ï?@?ïÈÀ?ïÕ?íëÀ?é3?ì[À?ç¤À?ïKÀ?ï,€?ëõ?î¹€?ï•€?ëCÀ?ìž?êÀ?í“€?ïo€??îÅÀ?éÏÀ?æ+?åî?é €?ìr€?ì½?âm?Äá?ã@?î?î6À?î?ð?ï|@?î?êI?î…?ïÇÀ?ìÇ€?î@?çõ@?ì]€?¤?éX@?îï€?ï?î%€?ï?ï-@?ïäÀ?ð?ì~@?·n?Òó?ï€?ïwÀ?îy€?î»?ïŒÀ?ç8À?{?Ǹ?ï5??ÙN€?œH?˜x?Þ}?ê`@?ëÆ?î(@?ïe€?îü?îã?ïš?î+?í=À?á0?a€?l€?臀?ì?è:?éÀ?î\?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç†@?¬?ÇÏ?椀?ëí@?ëC?ïº@?íõÀ?ë‡À?îbÀ?îï€?ï@?ï¢?ïæ€?ï\@?ïÐÀ?îŒ?ïŠ?ïÿ@?ð?ïô@?ï‰?ïýÀ?í‰?ê”À?íiÀ?ìæ?ï+@?ïÒ?ïØ@?ìü?ð?ð?ïî@?ëÊ?˜?éï?äh@?¬8?Ä*?ïù?ïå@?íR€?ïæ€?î³€?ìÚ?ï“@?ïË€?ð?ð?ïØ@?ï³?ï1@?ïœ@??ð?ïàÀ?ð?ð?ïy€?ïô€?ïèÀ?ïèÀ?ï©À??ïiÀ?îðÀ?î)@?îÓ@?ÊO?æ¦À?ï¸@?ïÀ?ï|?îŸ?ïø@?ì×@?íü€?ï€À?ð?ð?ê@?îÒÀ?ïÞ@?ïsÀ?ë>?ïs@?ïÑ?ïþÀ?îÌ?îµ?îŸÀ?ë €?í½?ï.@?ïô?ð?ð?ïr@?ïÚÀ?ïøÀ?ïK?î¼€?ïO?ïè€?ï}€?ïß?ð?ð?ð?ïäÀ?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã€?æb€?íg@?ï«?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îSÀ?ïü?ð?ð?ð?ð?ð?ð?î÷€?ð?ð?ïº@?î΀?íP?ïâÀ?ð?ð?ð?ïÀ?îyÀ?í@?ëf@?ð?ð?ð?ð?ð?婢?ì0@?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ï%@?îêÀ?ð?ð?ïõ@?ïö?ïä€?ð?ð?ð?ð?ð?ïì€?ï°@?ð?ð?ð?ð?ð?ð?åò@?d?Œ??› ?ìÀ?ïØ?ïÿ?ïÿÀ?ïà€?ïò@?ïü?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¤@?ï©?íj?ð?ð?ð?îË?ï½?ð?ï§À?ð?ð?ï¶À?ì@?ìH€?í-À?í‰?í)?î€?ï/€?îE€?îk@?è‚À?ã—@?ía@?î ?îÌ?ï>?ïq€?ï?î‚?ìà@?í'À?í¼€?íF?îè@?îÈ@?ìTÀ?ç‰@?é €?黀?îN?ížÀ?î€?è^À?àø@?ïÀ?ìâ@?îá@?ïR?îé?ìÊ?îÁ?îbÀ?î¢?í®€?êû€?íF@?îûÀ?â2À?é?ï”?ïp?ïW@?ïÏ€?ïª@?ïÙ@?ð?ð?ä¡€?ê¾@?î™@?îí@?îÀ?íð€?îÜ@?ì-?`@?“€?à‚À?ÛÎ?š?ÐÛ€?îÊÀ?íÚÀ?ïœ@?ïÏ?ï#?î`?îû€?ð?î|?äé?Ý­€?¶†?6?¿@?êó@?씀?ì•€?îÀ?ïäÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ù–€?¾’?êyÀ?ï ?ìì@?ë¤@?î©?ëè@?ìó@?î^?ï™À?ïäÀ?ï¾?ï¨À?îÃÀ?îÇ?ï3À?îä@?îÒÀ?ïô@?ïq€?îó€?ëaÀ?æÀ?ßš?æ@?ì]?êD@?ïÑ€?íˆ?ïã€?ï²À?ï¼?ïô@?í¨?™X?™¨?È×?íÙ@?â,@?Ò­?ã'€?ïÓ€?ð?ïø@?ïò€?ð?ìò?ï€?ð?ïø@?ïÕ?ï±À?ïå@?ït@?ïðÀ?ð?ï²@?ð?ïâ€?ïÇÀ?ð?ð?ïâÀ?ïÞ?ï À?ë£À?èB?ë ?ì©À?Þ+€?É“?íî?ï–?ïÒ€?ïÀ€?ï?ï•@?ïÒ?ïÊ€?î8@?íŠÀ?ïÓ?í À?ï:À?ë©?íYÀ?ì*€?ï????ïã@?ïÔ?ïoÀ?íÃ@?íºÀ?í€?î@?ïp@?ð?ð?ïí?ð?ïü@??ï—?ïÛ@?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ð?ð?ð?ð?ïZ€?îâ€?çu€?ïy?ïá€?ï®À?ð?ð?ïƒ?ïË@?ïâÀ?ð?ð?ð?ð?ð?ð?ïBÀ?ï?ï€?ïúÀ?ð?ð?ð?ð?îSÀ?ð?ð?ð?ð?í¤À?íå@??ï§?ï(À?ﮀ?îp@?î&€?ï3?ð?ð?ð?ð?ð?ð?íЀ?ïÁ€?ð?ð?ð?ð?ïV@?ï‘@?ð?ð?ïô€?ïö@?ð?ð?ð?ïÅÀ?ð?ï?ïË€?ïç@?ð?ïú@?ð?îû€?ïù€?ïèÀ?ð?ð?ð?ð?ð?è‹?Ø.?î¦?è!€?Ù˜?¥0?ÚÎ?ãŽÀ?ï @?ïÌ?ð?ð?ïø@?ð?ð?ïÙ@??ð??ð?ð?ð?ïð@?ð?ïò@?ïü@?ð?ð?ð?ïÏ@?ð?ð?ð?ð?ïï?ð?ïí@?ð?ïø@?ïÙÀ?îÓ@?î¯?î€À?ïG?î„À?í+?í^?íÅ?îv€?èØÀ?ꀀ?æ³À?ïO€?îÔ€?ïfÀ?í!@?ác@?Î'?ã²À?îªÀ?î‹À?îc€?íçÀ?ìDÀ?ç—À?ç¯@?胀?ë±@?í¶À?ïI€?ïèÀ?çÐ?ÜN€?ïš?ï?ïÊ?ïp?íà@?î@?î©À?î€?ïÀ?ìè€?î‰?ìu€?í”À?ê<€?ír€?ï@?ïà€?ïv?ïÖ@?îN?ït?ì“?îÀ?ìkÀ?í¾@?îØÀ?èø@?ê@??îÀ?Ð?› ?íŠ?ï@@?ÞÉ€?î«@?ï€?ï??îw@?í©?ïàÀ?ïX€?ï`À?çäÀ?ãþ@?Öâ?¡`?á³?ê€?ìö€?ëÀ?ïè€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êT€? ˜?ŽÐ?â8?î…À?ïÅ€?ïu€?ìú?êÌ?í?ì[À?íÙÀ?ïÉ€?ïÀ@?ï@?î¸?ë"À?íÚ€?íÂ@?î@€?éÚ@?ï*@?婢?ìS@?è¢À?æ€?åßÀ?Ñÿ?Ä5?á ?ïg@?ïRÀ?îFÀ?í«€?ð?îÒ@?Óþ?s ?È?¡?Îû?ïZÀ?ï•?ïÀ?ð?ïÚ€?ïÙ€?ð?ð?ð?ì‡À?ïèÀ?ïô€?ð?ïô€?ð?ï—?ïÔ?í´@?îäÀ?î¿@?ïl?ï.@?ïÜÀ?ïô@?ïÊ@?ï&€?éç@?ì?éˆ@?ç€?Ü€?ÛA?»Ä?Ù €?îÕ?ïð€?ïÇ€??ï…@?ï²€?ïŒ?ïØ€?ï¿À?îû@?íá?î]@?ïUÀ?ï €?îP?îˆ?è¡@?ëý@?íÀ?ïf@?ïÂ?îf?ï €?ïø@?ïð€?ìñ?îä?ïî€?ð?ð?ð?ð?ð?ï—@?ï×?ïá?ïÍ€?ïô€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ?ïŸ@?ïÝ?ïè€?ïþ?ð?ð?ð?ð?ð?ï‘À?î+€?ï]À?éx€?í €?ï@?ð?ð?ð?ð?ïì€?ï¯?ïø@?ð?ð?ð?ð?ð?ð?ïÑ@?ð?ïùÀ?ð?ð?ð?ïÀ?ïPÀ?í†@?ð?ð?ð?ð?ð?î.@?êßÀ?èG?ì€?î"@?í€?ð?ð?ð?ð?ð?ð?ð?íô€?ïQ@?ð?ð?ð?ð?ð??ïô@?ï²@?ð?ð?ð?ð?ð?ïþ?ð?ïõ@?ï €?ïùÀ?ïõ€?ïp€?ð?ð?ïüÀ?ð?ð?ïé€?ð?ð?ð?ëi?×¶?ïŽÀ?ð?ïÀ?Ó€?Ð?ϳ?á ?„à?¢°?Û€€?ÚÑ?ã÷?ïí€?ð?ð?ð?ð?ð?ð?ð?ïö@?ïþ?ð?ð?ïö€?ð?ïæÀ?ïÝÀ?ïì€?ïß?ïÝ?îw€?ð?ð?ð?ð?ð?ïà€?ð?ð?ð?ð?ïè€?ï¼?ï™@?ð?ð?ï`@?í|À?ïgÀ?ïH?ï^@?ïX?í¼À?îF?èÕ€?ÜÞ€?¾r?ˆ?â€?ì¼@?æJ@?ç7€?ëóÀ?ì«€?îWÀ?êV€?å!@?ê¬@?î{€?î¢?ïZ?ï&?îÂ?è‚@?ï3@?ï·?ïÝ?ï0@?ê~?éÂÀ?îA€?ì3@?ìÁ?î@?ìE@?éøÀ?ìÉ?ï@?ïÅÀ?í6@?îIÀ?ïÀ?íË?íÞÀ?î@?ì0@?ë'À?îÖ?æQÀ?áÔÀ?í\?牀?é]@?Ћ?à?ä¦@?ìÝ@?醀?¢?Òe€?é5À?íØ@?çÔ@?éÝ€?ï§€?婢?ï‡À?ïÝ@?î@?åè€?áÕ@?ë À?쇀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ€?ïç@?ð?ïz€?ïÀ?Ìh?ð?½0?S€?»?ļ?X?Án?åVÀ?ë0?í…€?ï\?îËÀ?æ™@?ëÎ@?ï @?ï·€?îm€?îj€?í¸@?íz@?ïL€?ï^€?ïÔ€?íñ@?íá?æ‘?ë?í À?ä'?æÑ€?í³€?æ¶À?×h?D?¬€?Î*?âÁ?êÇ@?åÊ@?Ј?| ?Þæ€?î€?èx@?åh?î¼@?ïO€?ïê€?ïe@?î^€?ï7€?ïÄ?ð?ïø@?ìÈ@?ïô€?ïùÀ?îW€?ìñ€?ìû?ïî?í9€?ïè?î%@?ïý@?ïø@?ïó?ïô@?íÇ?îF€?êÀ?íÀ?íêÀ?ï¿@?ð?î»@?ì?æâ@?ë•€?ð?ïö@?ïÒ?î‡À?ï»À?ï'@?ï´@?ïÍ€?ï›@?î¥@?íÆ€?ì˜?ís@?ï•€?ïÀ?î÷À?î÷?é?À?ïŒÀ?ð?ï®@?î†À?ïÔ?ïî€?ð?ïè?ð?ð?ð?ð?ð?ð?ð?ïèÀ?ïq@?ïäÀ?ð?ï´€?ð?ð?ð?ð?ð?ð?ð?ïö@?ïóÀ?ð?ï^€?ïn€?ï€?ð?ð??ïì€?ð?ð?﯀?î<@?íP€?ëó€?ãœ@?ïT?ïð€?ð?ð?ð?ïð€?ïÿ?ïô@?ð?ð?ð?ð?ð?ð?ïÉÀ?ïÛ?ð?ð?ï‰À?ïò€?ð?ïö@?íæ?ïÀ?ïó€?ð?ð?ð?ð?ïé?îh@?éàÀ?ìy?ïß@?ð?ð?ð?ð?ð?ð?ð?î‘À?ï¢@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îµÀ?ïÕ€?ð?î5?ïýÀ?ïàÀ?ïæÀ?ïõÀ?î @?áò?èúÀ?ð?ð?ð?ð?íÛÀ?ïÛ@?ð?ð?ï/@?ÝH?ľ?ákÀ?ïÈ€?ëJ€?½R?´¦?ÕÃ?ì@?ïÞ@?ïÿ?ð?ð?ïþÀ?ïô@?ð?ð?ïâÀ?ð?ïº?ð?ð?ï€?ïU?ïø@?ïï€?ïèÀ?ð?ð?ïú€?ð?ð?ïø@?ð?ð?ïÌ?ïlÀ?ïÃÀ?ð?ïå?ïÈ@?ð?ïü?ïü@?ð?ïó?ï@?îº?í??íþÀ?âF€?ÝF?Ós€?ä†À?ל€?\€?°€?æ?«P?ã»@?êˆ@?ëK€?ìŸÀ?íÀ?â/?ê®À?î1€?íº@?í¨?î €?ï€?îÐ@?ï$@?ïa@?ïÍ@?íì?ît?íÃÀ?î¦À?î7?ìÓÀ?ëKÀ?êR@?è?îM?ïX?ïk?îŒ@?í!€?îUÀ?îçÀ?ïeÀ?î€À?íz@?íl€?î:@?êî€?ËK?ÓÏ€?ܲ€?Á>?u`?ão@?ﺀ?ïùÀ?ï²€?Ûi?áu@?ê€?è²?ß©€?ÇL?è¸?ëæ@?îä@?ïÃÀ?ç6@?Äg?>?çá€?îjÀ?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í§?äbÀ?ïÀ?è.@?Ê5?y ?Ò?äŽ@?Ì÷?B?¶~?ʱ?ÍÂ?Å`?ßþ€?é?ÔŠ?Ÿ0?å©?íaÀ?êà?íC@?îgÀ?î[?éž?ë€?í´@?ïÇ@?îù€?íú?åG@?äÀ?âð€?í%@?ï¾À?ï&@?îÎÀ?í2À?í2€?èö@?îÈÀ?èy@?âˆÀ?æsÀ?çÈ?ê*À?Ÿà?«´?胀??ï9@?ïm?î&€?ïô?ï£?ïŒ@?ïÅ@?íÛÀ?ï°€?ï£?ð?ïºÀ?íu€?îKÀ?ïô?ï@?íƒ@?ïßÀ?ìW@?î?ï“€?ïð?ïú@?ð?ð?ð?ð?îÄÀ?ëX€?éñÀ?ïé€?ïj@?ïÀ?ïÌ€?ï±À?ïÓ€??ïÁÀ?ï¨À?ïé€?ïÝ€?ïÊÀ?ïr@?ïI€?îJ@?ïzÀ?ïØ€?ð?ïëÀ?ïMÀ?íâ@?îÁ€?ïÏ?ïpÀ?ïóÀ?ïÑ€?ïÌ€?ꥀ?íš@?îÞÀ?ð?ð?ð?ïøÀ?ïç?ð?ïóÀ?ð?ð?ð?ð?ð?ð?ïïÀ?ï¯À?ð?ïóÀ?ï9€?ïvÀ?ï·?ïíÀ?ð?ð?îW€?ð?ð?î÷?ï¾?ð?ð?鹿?ï@?ð?ïú€?ïo@?ð?ð?ð?ï„€?ì§À?ë¯@?ïK@?åþ@?í2€?ï#@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ïØ@?ð?ð?ð?ïÚÀ?ï«@?ï¹@?ð?ð?ï·À?í…@?ð?ð?ð?ï«À?î¦@?ë™À?é@?ð?ð?ð?ð?ð?ïý€?ïú@?ð?ð?íq?ð?ð?ð?ð?ð?ð?ð?ð?ï`À?ð?ð?ð?ïÀ?ð?ð?ð?ï÷?íÕ€?ð?ï’@?î…€?ï¨?íÜ€?ï–€?ï±€?ë}€?›@?ê„À?ð?ð?ð?ð?ð?ð?ï˜?ïõ?í¨€?Þa?‡ ?0?¥Ü?â,€?ïï?ð?ð?ð?ïú€?ï²À?ïc€?ð?ð?ð?ð?ð?ïñÀ?ï¥?ïîÀ?ð?ð?ð?ð?ð?ð?ïË?î€?ð?ð?ð?ïç@?ïN@?ð?ð?ð?ð?ïý?ð?ð?ïçÀ?ï,À?ï¯?ð??ïù?ð?ïßÀ?ð?ïá€?ð?ð?î¿?ït?íÍ@?ïyÀ?ð?í?ïÆ?í´?ãù@?Ðf?¢È?ÑE?ÍE?ç©?ê:À?ëë?ì?î¹À?ìâ€?ëi€?éb€?åˆ?í@?îÀ?ï9?ï,€?ïOÀ?ïÁÀ?ïÀ?î6@?ï€?îõ€?î€?ëÄ@?è„€?ä‹À?êž?ëí@?íX€?î…€?ï‰@?ïWÀ?ï7?ï€?îl@?ï)?ì3@?ì7?ß‚?ìX€?î À?îl@?઀?ÛD€?Ü’?Üe?½€?ºÜ?ë}?ï¹À?î»À?ëú?ïv?îï€?ëhÀ?áêÀ?Çá?Öç?í ?ï—?í€?à3?q@?¸@?é6@?í€?íSÀ?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²?éì@?èˆÀ?àç?Íq? ?Ѧ€?éí?ëÉ?å¯À?}`?å´?éÕÀ?é„€?ìù€?ï§@?ï@?îÈÀ?É‚?ÆÁ?ìx€?ïH€?îÏÀ?êûÀ?í7€?ípÀ?í†@?ìå€?îâÀ?íëÀ?îî@?è;?ÁŒ?K?µ?ì‹€?ïÈÀ?ï*@?ï…€?ê¿@?ï1À?ì°?îV?æ†@?é€?ìÛÀ?çM€?E?èF?ïÞÀ?ïÀ?ïX?ïë@?ïÕ@?íý@?ïþÀ?ïþ€?ïÇÀ?ïóÀ?ïÕ€?ð?ð?î“?ìÀ?íÀ?í†À?íqÀ?ïó?ð?í_@?ïãÀ?ïø?ð?ïô?ð?ð?ïv@?ïò€?ïÒÀ?íŽ@?ìu?ï?ïˆ@?ïÔ@?ï›À?ï¦À?ð?ïë@?ï€?ïb?ïë??ï¿@?ïóÀ?ï‰À?î…€?ïp?ï#@?ï«À?ïå€?î˜À?ìÌ€?ï,?ð?ð?ïë?ïî@?ïòÀ?íP?ïþ?ï @?ïßÀ?íóÀ?ð?ïÓ€?ï(?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïˆ?ïö@?ïÀ?ï×?ïùÀ?ð?ïóÀ?ð?ïJ?ïÛ€?ï¶À?ïL@?ð?ð?ð?îÜ?ï–?ð?ð?ï÷@?ï£@?ð?ïÏ?ïE€?îJ?ïºÀ?æw€?ì@?ïùÀ?ï1?ïÛ?ð?ð?ð?ïà@?ïî@?ð?ïÝÀ?ð?ð?ï¶À?ïÇ@?ïóÀ?ïË@?ïç€?ïþÀ?ïù€?ïô€?ð?ïçÀ?ð?ð?ð?ð?ïÄ?ïÏ@?ð?ð?ïË€?înÀ?ê!€?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÍÀ?î•?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î—€?ï¨À?ð?ïóÀ?ïTÀ?î?ë¼?ð?îÄ?î¨@?îÎ?ìþÀ?ïl?ð?ïCÀ?Ò?×`€?ã®@?Ô2?èhÀ?ð?ð?ð?î À?Þn€?×€?± ?Í$?éZÀ?ï @?ð?ïü?ïø?î’€?ð?ð?ð?ð?ð?ð?ïéÀ?ï¥@??ïò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?ð?ïÿ?ð?ð?ð?ïb@?ïá€?ïÕÀ?ð?ïç€?ð?ð?ð?ð?ï߀?ð?ï£À?îB@?íü€?ì¸?ëŸÀ??ïÔÀ?ï@?Ÿ?½?å&@?ÑH€?îv?ë™?çÅ@?î£À?îcÀ?îgÀ?ì?é€?èÀ?ížÀ?ìê?åc?íäÀ?íÈ€?ï?îè?îx€?ïA?ïFÀ?ïÉ@?îîÀ?î´?îäÀ?ï—€?í9?ìü€?îñ€?êQ€?îÀ?î]@?î€?ïÂ?î‹?ï|?ï@?ïEÀ?ï4?éåÀ?ÀÈ?é5?ä€?¾?ì‚À?Øâ?­œ?¤„?ºB?Êõ?‡p?®T?Ñt?æÈ€?ïãÀ?ë*À?íA?ïŸ@?ïñ€?îÊ€?ë–@?ÙP?@?£„?æù@?íéÀ?Óó€?À2?y ?ÚC€?ëØ?ïØ€?ïÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ€?Ô—€?Áu?ÊL?À?@?Ý€?Õ¥?Ù=?çè€?àÝ?î–@?ïÂ@?ï¼?ïmÀ?î•@?ïP@?ïÁ@?ì¨À?Ðr?À?Ù=?ì€?íiÀ?ï½@?ì!@?í½@?é´?î€?îÌ?î$?ï×@?ïµ€?×2?¸Š?êt??í¿€?íÈÀ?ì@?îP@?ëg@?æÛ@?ìÌÀ?î)?îÒ€?èÑ?š€?½~?Íz?Ç6?ݾ?ïÁ?ï?ïÀ?ïì@?ïóÀ?ï½@?î€?ï˜?ïÙ?ïóÀ?ïþ€?ï¼À?ï?@?ïÃ@?ïô?ïD€?îó€?ð?ð?ð?îŠ?îÊÀ?ð?ïÙ€?ð?ð?ïü?ï«?ïà@?ïý?îq?ìC@?ïäÀ?ï€À?ð?ïÕ?ïÀ€?ï×@?ïüÀ?ï@?ïK?ï€?ïÓ€?ïÇ?ïçÀ?îì@?îC€?ï­€?ï¶€?ïV€?î3€?í‰?ï¾?ïüÀ?ð?ð?ïì€?ïšÀ?ïË@?í3À?ï’À?ïÀ?ï?ð?ð?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ïô?ð?ð?ð?ï£?ïÆ€?ï”@?ï€@?ïyÀ?ð?ð?ï–€?íü?ï]€?ð?ïüÀ?ïz@?ïc@?î¬?ìŒ?ïÀ?ï@?ì€?â)À?îÓ€?ï`À?ïæ?ð?ð?ïç€?ï[À?ïé?ð?ïö@?ð?ð?ïïÀ?îñÀ?ð?ð?ïç€?ï?ïÈ€?ïã€?ð?ð?ïª@?ð?ð?ð?ïÀÀ?ð?ð?ð?ïãÀ?ï‹?íà€?íÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïãÀ?ïü?ð?ïü??ï߀?ïôÀ?ïÿ@?ð?ï|€?ï÷?íü€?ð?ïÖ@?îi@?í?íí@?æ:À?îÙÀ?î¶@?îî?è)€?îR@?ïwÀ?ð?éÀ?¡ ?ÐB?ð?ð?ð?ð?Ñý€?D?‡ ?äN@?ëX@?ð?ð?ð?ð?ð?ïý€?ð?ð?ð?ïá€?ïo€?ð?ð?ïêÀ?ïéÀ?ð?ïø?ð?ð?ïÉ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ï„?îÌ@?ïÛ€?ïì?ïü?ïïÀ?ð?ïü?ð?ð?ð?ïüÀ?î`?í`À?íè@?ïÄ@?ïà?äK?²t?àä€?áf@?ç¼€?î3?áö?ìþ@?îj?îX?ïÛ€??즀?êÀ?ë ?é@@?í<@?ìŒ@?í9À?íÑ?îö€?ï À?ïá?ïË@?ïuÀ?ëwÀ?ì›À?ï ?ïŠ?î‚À??îN@?í?ìÐ@?ë €?ê.@?íE?îoÀ?ïu€?ïÀ?îÂÀ?ïè?ïœ@?í¶?ê×À?á‚?ÆÏ?豈?ín?ær€?ÆÈ?‚p?àŽ?ïÀ?êÑÀ?éœÀ?í¯À?ïŒ@?ð?î"?Õq€?î”?îú?ð?ï€?èN€?¤$?Ç—?ål?Ð[?©P?ç(@?ìº?ï1À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é–@?álÀ?’¸?¡ ?Ý2?ëŸ?î‘?ïCÀ?ï¿?ï³?ïâ@?豈?ï@?ïaÀ?ìÃÀ?ÕÞ?h?ÔV?êgÀ?ïÔ@?èìÀ?ë¿??î(€?ìÈ€?îÇ?î^?íü?ìÅ?ï@?æµÀ??➀?í@?ï€?íû?îôÀ?î@?ìt€?îQ@?ìº@?ìÚ?íž?íñÀ?íe@?î@?˜Ø?iÀ?å>?ìá?Ú.?Ì•? @?å@?ïÛ?îQ@?ïœ@?ï À?ï÷@?ïîÀ?ï,@?î°À?îO@?ïûÀ?ï÷@?ï´€?ïù@?ð?ð?ð?ï¨À?ïcÀ?ð?ð?ð?ð?í÷À?ð?ð?ð?ð?ð?ð?ïü€?ïe?îüÀ?ëJ?î«?ïD?ð?ï÷@?ïÆÀ?ïì@?ïÙ@?ïr€?ï–?ïïÀ?ïd?ïÐ?ï_€?ïH€?ïÈÀ?ïÀ?ï¯À?ïS?ïÌ@?î¿€?ï_À?î7€?ïÒÀ?ð??ï¶€?ïõ@?ï—€?ïf?í?ï¾€?ïó?ï¼À?î±@?ð?ð?ïû€?ïÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ï?ïÔ?ð?ïlÀ?ð?ð?ð?ð?ïá@?ï÷€?ï{@?ð?ïù@?ï×À?ïÍ€?íÖÀ?ï¦@?ð?ð?ð?ð?ïò€?î߀?î6À?îÙ?í†?ïÆ@?ïÎ@?íX@?Ûú?îv?ï{À?ð?ï°€?ð?ð?ïå€?ð?ïîÀ?ïù@?ð?ïæ?ð?ð?ð?ð?ð?ï9€?ð?ð?ïºÀ?ïþÀ?ð?îØ@?ð?ð?ð?ð?ð?ïîÀ?ð?ïþÀ?ï‰@?ît€?îÿÀ?í’?ìí€?íTÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïê@?ð?ð?ïæ?ð?ð?ï/@?ï¼€?ïü€?ï?íê@?ë]@?ì¥À?î;À?ð?ï/?êô?ê´?ë/@?å³@?ÞO?äÁ?ì€?âÊ@?¨T?Ò~€?å??î8€?Ü?s€?<?Û?ïÿÀ?ïûÀ?ð?ï À?ïþÀ?èÀ?Ú|?îl€?ð?ð?ï €?ï’?ï2@?ïu€?ï°@?ïmÀ?ïú€?ð?ð?ð?ð?ð?ð?ïÐÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï§À?ïë@?ïÈ?ð?ð?ïûÀ?ð?ð?ð?ð?ïó?ð?ð?ïÏ?ï?îl?ïÀ@?ï¶€?ï+À?îþ€?çÛ@?íiÀ?ï:€?ïb€?é¬@?ë}@?î_@?íŸÀ?ïd€?íbÀ?êÃ@?êþ€?ìã€?ê€?éÀ?ëè@?í@?ìÌ@?ï€?îh?ï"?ï?ï @?ï@?ï’@?î4€?î€?íY?í…?í³€?ïÈ?ìa?æ÷@?íå@?êkÀ?é@?êÎ?èL€?ë¿À?î€?í¡?î°?ï‘À?ïõÀ?ïE@?í?¹ü?Ü?îã@?ïå€?ð?ít€?Ù €?“?åöÀ?ïÿ€?ïÌ@?í9?éƒ?èâÀ?îVÀ?í\?æk?Æð?ã«@?îX€?ï£@?ïô?íÏ?ì;€?áS?¹þ?¨?‚Ð?¢€?èÀ?æ®@?èá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÀ?ÕÝ€?j€?ʱ?ÖÂ?ã÷?ï,?ïÀ?ïb€?ï°?ïñ@?ï½@?ïÛ@?ïž?ïõÀ?ff?æÀ?¡<?ά?çÀ?î¬??í9@?ì/@?ìm@?îK@?îj?î¸À?ï{À?ï:€?íâ?í5@?ìü@?±x?Ô"€?ïó@?ïÂ?ï½À?â@?è€?îá@?ìý€?éd?î@?êÀ?í=?ëí@?ìk€?î1€?Ðí€?´\?Á`?ä|À?íªÀ?ï‡@?뉀?ë’€?ìí?ïF@?ï @?îõ?îú@?ð?ð?ïê@?ð?ð?ð?ï÷€?ð?ð?ð?ð?ïtÀ?ïãÀ?ð?ð?ð?ð?îf€?ð?ð?ð?ïÏ@?ïæ€?ïýÀ?ð?ð?ð?íþ?隀?îöÀ?ð?ð?ï¡@?ïà?ïÉ@?ï?ï¡@?ï>?ïŽÀ?ïc?ï±À?ð?ï\?ïP@?ï€À?ìè@?î!?ïÈ@?ïË?íëÀ?ï±€?ï:@?ï5@?ïÇÀ?ïì€?ïB@?ïN?ìÀ?ïì?ð?ð?ï`€?îÀ?íà€?î€?ï´@?ð?ð?ð?ð?ð?ð?ð?ð?ï @?ð?ð?ð?ïê€?ï÷@?ð?ð?ð?ð?ð?ïèÀ?ð?ð?ð?ð?ïþ?ïÞ?ïc@?îÈ?ð?ï×?ï½?ð?ïó?ïÏ?ï{?ìz?î¯À?æD?ì2?íø?ïÄ?ìP€?æ!?í™À?ð?ð?ð?ð?ïó€?ð?ð?ð?ð?ð?ð?ï‰?ð?ð?ð?ï÷À?ð?ð?ï÷@?ïH?î%À?îT?鹿?ð?ð?ð?ð?ïó?ð?ïÔ@?ð?ð?ð?ð?ïÚ€?îSÀ?íû?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ïF@?ïÙ€?ð?ð?êÍÀ?ç@?ð?ën€?í”@?ÈK?˜¸?ÙÕ€?é×À?×?™P?ϳ?Ú}€?É“?Êò?Øf€?ƒ@?Ø¿€?ï³?ð?ïà?ïr€?ïR€?ð?ð?ð?ð?ð?ð?ð?ï´@?ïÝ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ïîÀ?ð?ð?ï÷À?ïï?ï÷@?ð?ï÷€?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¿?ïÁ€?ï¹@?ï–@?îÆ?îMÀ?ïØ@?ïw?ìò€?îÀ?ê`?ì&@?ꔀ?îh€?îC€?îÀ?íÂÀ?툀?í@?é†À?å@?ëç@?ì—?í¾?í`€?íKÀ?ïÞ?ï¨?ïc€?ïÀ?ï @?íí€?î7À?êÖ€?éÄÀ?ä €?è‚@?ì¨?ìÀ?éö?éþÀ?ë‚@?ëB?í\€?ìñÀ?î€?íí@?íÆ?í€?ï’?Úã€?äVÀ?îÚ€?ïc€?ð?ïáÀ?ïÙ?Ü€?ÙÛ€?í?€?ìù?Û €?ß»€?ÔG€?á{À?íñ€?ëi€?ï@?ï À?ïø?ï÷À?ïÞ€?îù€?ï @?î–€?á-À?`?{à?ç.@?ßÏ€?é1À?îS@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÙ€?ßr?³&?åzÀ?ïc?ï3À?ïA€?îÍ?ð?ð?ð?ïh€?éI@?°º?­ô?ì1À?éÚ@?ëÈ?í*À?í¯@?í,€?ì-À?êP€?ía€?íµ@?îò@?î–À?ïF@?ï“?Ûˆ?¿f?íÀ@?ïô€?ïG?îó@?대?ì@À?ë<@?é´?í?ì À?î€?íF?í¡€?î_@?ì”?íô@?æ¶@?¤€?ê!€?îÞ€?ïT€?ïW€?î:À?ìÀ?ï•À?ð?ïM€?ð?ð?ð?ïë@?ïw€?ïã€?ð?ïæ@?ïø@?ð?ïÕ?ï¶?ïõ@?ð?ð?ð?ïø@?í @?ð?ïÌ?ð?ïÌÀ?î¼€?ð?ð?ð?ïg€?êÜ@?éP€?ð?ð?ïó?ð?ï¹?ëÝÀ?ï€?ïÅ?ïQ€?ï•?ï?€?îÄ€?ïO€?îµ€?ïM€??ì”À?íÊ?ê??íM@?îØ?ï«?ï`€?ï‚?ï’€?ð?ïûÀ?ïä€?ív@?ïÄ@?ð?ï}?ð?ïì€?ï€?ïþÀ?îŒ?íÿ€?îqÀ?ï_?ð?ð?íÔÀ?î“€?íí€?î>€?ï?ð?ïæ€?ïîÀ?ð?ïó?ïó?ïø@?ð?ð?ï¸@?ïÔÀ?ð?ð?ïîÀ?ï~€?îÛÀ?ïÊ€?ï`À?ïæ?ïÒ€?ïø@?ïáÀ?ïÙ@?ïîÀ?ïs?ï?@?îõ@?ì«?í?ëÎ@?즀?î˜À?îÀ?êg€?ìâ@?ð?ð?ïó€?ïó?ð?ïü@?ð?ð?ð?ð?î˜?ð?ð?ð?ð?ð?ð?ð?îáÀ?îßÀ?ïæ?ð?ð?ð?ð?ð?ï`@?ïáÀ?ð?ð?ï±?ð?ð?ð?ï5?ìs?î?ð?ð?ð?ð?ï÷€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ð?ïêÀ?ïÇÀ?ð?ï @?ïÈ?ð?ð?ð?ð?ïûÀ?ï@?íà?ëØ?á0?™(?³^?ïÍ@?ð?ïeÀ?ïßÀ?ï€?ð?ð?ð?ð?ð?ð?ïš@?ïèÀ?ð?ð?ð?ð?ð?ð?ð?ð?ï«@?ð?ð?ð?ð?ð?ð?ïä@?ïó?ð?ð?ïßÀ?ïã€?ï€?ïV?ïïÀ?ïâ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ít?ïÖ€?ëÜ€?îËÀ?ê À?èÃ@?îã?ì¿€?èÒ?ë¡€?ìŽ?îC€?íÀ?îU@??ê@?èüÀ?êl?íZ€?çî€?ëí@?ë€?î&?ï(€?ï×?ïà€?ïB€?ïd@?ï•€?î}?í¸?å/@?éë?å_€?ç^À?çÖ?ãw€?Þ-€?ã @?çQÀ?ë@?í_À?íÀ?ìÊ@?ã ?ã¿À?ßþ?šX? ø?äHÀ?î±À?ï@?ï?áÀ?ít€?åÀ?Õ½?”ø?¼ð?¨?²t?i?³N?äC€?íñ@?ïŠ@?ïÌ€?ï €?ïs?ï·À?ïÀ?îJ?ï?çKÀ?·>?a@?Ó°?è_@?ï®@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êjÀ?Ь?Ë`?è½?êêÀ?í¶€??ìÛ€?î^@?ïÀ?ëí@?Ë3?v ?¡?Åq?Ú!€?çáÀ?å{À?î›@?çÍ?íž?움?í½À?ë€?í£@?îÀ?ïÀ?î?ï'?âz?«€?É?ì§@?ï@?ï%?ï0?í?í×À?ìÞÀ?î×À?î¿À?îÈÀ?æY?î€?î¸?é.À?ìÎ?ßÍ€?ìL?ï0?î*?çú€?îAÀ?ïµ@??ïŠ@?íî€?îÄ@?ïË@?ï‡À?ïý€?ï®@?ï²?ð?ï¼@?ïá€?ïHÀ?ð?ð?ï^€?ïA@?ïˆ?ïÙ@?ïæ€?ï²@?ð?ïÀ@?íO€?ïÌ€?ð?ð?ð?ïþ@?î?ïnÀ?ð?ð?íÐ?éSÀ?ëf@?ïn€?îÜ@?îf@?îYÀ?íÜ?ë7€?é\À?íç?펀?ëüÀ?ï]?ï€?í‰@?íP€?éÀ?îŸ@?íE@?ïwÀ?ï\?ïó?ï‹À?î!À?íð€?ï;?ïP€?îÍÀ?ïC€?í¿À?îp@?ð?ð?ïö€?ð?ð?ð?ð?ð?ð?ð?îâ€?îì?ï€?ïbÀ?ð?ð?ð?ð?ð?ïÿ€?ï‚À?ï“À?ï÷À?ð?ïð€?ïÿ@?ð?ð?ð?ð?ð?ð?ïÃ@?ï¹?ïÔ@?ï’?ïñ?ï¹@?ïw€?ïÐ@?ïyÀ?î”@?íê?íÀ?ì˜?í¥?ìG€?î?í\€?ë£@?íò?ì?ëJ@?ê*??ïåÀ?ï¿@?ïJ€?ïÃ@?ïæ?ïÝ€?ð?ð?ï—À?ï¥@?ï•@?ð?ð?ð?ï²?ð?ïÄÀ?ï9?ð?ð?ð?ð?ð?ð?ïdÀ?ï?À?ð?ð?ïâÀ?ð?ð?î À?ìÏ@?ï¼@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ï‚€?ïæ?ð?ð?ïç?ï÷?ð?ð?ï÷@?ð?ï?ïÈ?ïZ?ï§?ç×@?È ?½œ?ÊB?«ì?[?¤0?í”@?ïc€?î¿?ïù?ïí@?ð?ð?ð?ð?ð?ð?îÑ@?ïã@?ð?ð?ð?ð?ð?ð?ð?ð?ï…@?ð?ð?ð?ð?ð?ð?ïî@?ð?ïæ?ð?ïÁ?ïW@?ík?ïð@?ïÇ?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïi€?ð?ð?ð?혀?ïõ€?ëQ?ïš?ï?ïÑ@?ïS@?îR@?ê·?í"À?î±€?ï7?í?ì^€?íÝÀ?渀?çë@?躀?ìÑ@?ì£@?î?íÿÀ?îæÀ?ïÀ?ïá?îø@?ïÍ@?ïÖÀ?ïŸÀ?ê5À?ë`@?í?âw?ê…@?èÖ@?è€?êÐ?ëŽÀ?ë¯?ê_€?ê9À?çÀ?æá?éÞ?Æþ?ãU@?æÐ?é·€?ïœ?ç ?ƒ0?ÓÉ€?ì €?ï6€?Í)?c@?Çð?X?Äk?ßô€?ì÷?ï«€?ï¾€?êú@?è¨?ít€?ð?ïz€?횀?â\@?©ø?»ò?ì9@?ï§?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ëÚ€?Ô€?Çí?ÈK?Íë?ìC@?ïö@?ïŽ@?ê~@?ϱ?²?‰`?Õž?äÉÀ?è«€?ã³@?îÍ?íÓ€?ëuÀ?í#À?é9?î«À?îº@?ï–€?î¸@?î*€?ë­€?Î?ªÄ?µz?è@?î·€?ï,€?ìïÀ?êš@?êò€?éfÀ?ì´À?í2@?ä€?é'À?ìI€?ìyÀ??ê?àÀ?ç7@?ç?î,€?ï@?ïÀ?ïÎ@?ïµÀ?ð?ï΀?ïØ?í`@?ð?ïò?ïüÀ?ïiÀ?ïó?ð?ï÷@?ïó?ïÁ@?ïó?ð?ïæÀ?ï’€?ï7À?ïb@?ï¿?ð?ïîÀ?íü€?ð?ð?ð?ð?ð?ð?îÍ@?ï5€?î‘€?ïì€?íxÀ?èÏ?ïd€?ïÀ?ï÷@?ïú@?ïú@?ï¿À?ï2À?ìÀ?ï:€?ï @?ï@?ï—?ïÆÀ?ïù€?ïr?ï€?ípÀ?íÄ€?ï<€?ð?ð?ï²@?ï½À?ð?ïë€?ïê€?ïãÀ?ï߀?íÊ?î?ð?ïÀ?ð?ïê@?ïyÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ð?ð?ï¡@?ï¿?ï€?îØ?ï1?ïÖ?ð?ð?éx@?î¾€?îc?ð?ïüÀ?ï?ð?ð?ïô€?ï±À?ïê@?ïž@?ïW€?î¬@?î(À?ïo€?ï€?ï¡@?îõ?ï+€?ï;?ïÏ€?ïÃ@?ïá€?움?é1€?æõ@?êëÀ?ëm@?í&@?í]?îZ?ïù€?ð?ð?îâ€?ï°€?ð?ð?ð?ð?ïÀ?ð?ïÎ@?鹿?ð?ð?ð?ð?ð?ïI?ð?ð?ïÂ@?ð?ð?ï!€?í£?ð?ïÝ€?ð?ð?ð?ð?ïîÀ?ð?ð?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ï°?íå@?ïÐ@?ïê@?ð?ð?ïù€?ïöÀ?ð?ð?ð?ð?ð?îâ?ïîÀ?ê³€?²‚?Ø™?ß!€?éÚÀ?Þ“?Åè?¬8?fÀ?Âõ?æÞÀ?éâ?ð?îB€?ïÝ€?ï?ïý?ð?ð?ð?ð?ïø€?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï”@?ð?ð?ð?ð?ïÙ@?ð?ïÔÀ?ï‡@?ïÎ@?ï?ï­€?ïv?ïûÀ?ïÜ€?ïë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ïù€?ï¶€?î…?ïó?ïÚ@?ï{À?ãí€?ß´€?îq@?î§€?ïµ€?ï@?îÃ?î¼À?ìU@?ì@?í€?íE@?ïS?ía?í À?í;?í9À?î€@?ïU@?ï•?ïÛÀ?ïMÀ?ëé@?ÚA?èÖÀ?êÀ?íÀ?î1À?èn@?êõ?í ?ê?ç7?î €?ì€?ê·À?ëá?ÒØ?™à?å€?é©?e?(?˜¸?ÈÑ?­Ð?ãÅ?ÊT?ÁÔ?Â?ë¶À?ï{€?ïä€?îü€?Ö?Õë€?ìOÀ?ïÚÀ?ì-@?Þë?¢\??ã1?î@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îP@?ä*€?¡p?£€?Î`?Ùú?µL?˜X?×µ€?á%?í>À?ïz?îöÀ?ïI?í…?ï„À?î·@?ë1@?ê€?íŸÀ??î—@?ì¬À?Ú×€?h@?ßO?ï|@?ïû€?ëÆ??è±À?ç°@?æM?ç?æ%À?í{À?è À?ëiÀ?ìDÀ?ë€?êÃ@?ëB?ìr€?ë6?ï6?ïæÀ?ï0€?í‰@?í€?ï÷@?ïi@?ïðÀ?ï­?í›À?îªÀ?ïv?ï‚À?ï €?ïÝ@?ïL@?ð?ð?ð?ð?ïòÀ?ï«?ð?ï÷@?ð?ð?ð?ïÆ€?îï@?ð?ð?ïì?ð?ð?ð?ï<@?ïê?ïžÀ?înÀ?ì@?ꀀ?ð?ïýÀ?ð?ïì€?ïé€?ïÚÀ?î›@??ï!?ï @?îË?îs€?ï À?îJ@?íp?ð?ï2@?î3€?ﮀ?ïô?ð?ïýÀ?ð?ïúÀ?ð?ï÷@?ï¶À?ïºÀ?ïÜÀ?ïb€?ì²À?ïL@?îŸÀ?ð?ïù@?ïËÀ?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ïýÀ?ïà@?ïó?ï€À?îÀ?ïÙ@?ð?êõ?é€?è„€?íË€?î@?ï?ïU€?ð?ð?ïæ?ï1?ïåÀ?ïÒ?ïàÀ?ï<@??ï…À?ïZ@?ï7À?ïB?ï|À?ïýÀ?ïþ?ïÿÀ?ïî€?ð?éø@?î¨@?îõ?ïé@?ïýÀ?ì`À?ë¢?ïâ€?íû@?í“€?ïl€?ï €?ð?ïî€?ð?ï¸?ð?ð?ð?ð?ïú@?ð?ïû€?ð?ð?ð?ð?ð?鹿?ð?ïÄ€?íÀ?ð??ð?ð?ð?ð?ð?ïòÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïì@?ïåÀ?îÐ?î5€?ï×@?ïµ€?ïù€?ð?ïåÀ?ïù€?ïá?ð?ð?ïòÀ?ïòÀ?ïÿ€?ïð?ð?ð?â €?¨Ø?Ûp?¹f?h€?æâ@?éÀ?æäÀ?ð?ð?ð?íù€?îüÀ??ï?ð?ð?ð?ïõ?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ïè@?ïÈ€?ï@?ð?ð?î}€?ð?ð?ð?ð?ð?ð?ïåÀ?ïåÀ?ï™?ﮀ?ïÊ?ïu@?ïðÀ?ïÁÀ?ð?ð?ð?ð?ïº?ð?ð?ð?ð?ð?ð?ð?î³€?í†@?ï—@?ï¶@?ïúÀ?ï„À?ëŽ@?ç@?íµ@?ëâ€?í-€?ïÀ?í¯?ëa@?îò€?íf?íR?è?À?êœ@?í´€?ì^À?î­À?í£€?í €?í«@?í €?ïH?ì@?å%?©ô?êM€?ìÝ@?ãô?ì.€?êS€?í À?íp?èÄ€?áèÀ?ëÀ?îÎ?è€?î:À?ëuÀ?¡Ì?Žð?Ë»?N?”è?¼Ê?Ί?lÀ?Ç¢?°Z?áë€?ïÀ?ïe?ïeÀ?ì]@?ÎÚ?Ô]€?åð?ë‚À?¶J?¹X?å€?îÐÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ìç€?à‘@?D?zÀ?Ï#?áY€?êa?íì?ï@?ïÙÀ?ï˜À?íE@?î¹?î6À?ïr?ìÇ?쥀?î“À?ì­€?îš@?Þz€?Y?¼?ï€?ïþÀ?îÕÀ?íŽÀ?íq€?ë€?è À?ãš?êf€?ã€?çQÀ?â?í??ëë?í'À?í,À?îÏ@?é“€?äD?á5@?ï?îG€?îþÀ?ï—€?ír€?ï­?ï%@?ï¸?ïÚ@?îöÀ?ìYÀ?ï=?ïZ@?ð?ð?ïò€?ð?ïí?ï€?ð?ïÁ@?ïý@?îzÀ?ð?ð?ð?ð?ïæ?ï$@?î @?î$€?ïVÀ?îÕÀ?ð?ð?ïü€?ï'À?ð?ð?ï·À?îÎ@?ìO€?ïú?ð?ïö€?ï…À?íW?î_@?í?êqÀ?ê¼€?êÜ€?ê@?ïÀ?ï]@?ï>€?ïX@?ï»?ï¤À?ï|€?ïþÀ?ïÑ€?ïÒ€?ïõ?ïëÀ?ï÷?ïü@?ï÷?ïÞ@?ïªÀ?ïf€?ïX@?ð?í/@?ïhÀ?ð?ð?ð?ð?ïç@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²@?ïP€?ï«€?ïù€?ëÂ@?êåÀ?î’À?ïÕ€?ïÔ€?ð?ð?ð?ð?ïÃ@?ï›?ð?ï÷?ïª@?ïÑ?ïÈ€?ïÚ@?ïÜ?ð?ï÷?ïÌ@?ïò€?ïý@?ð?ïê@?ð?ë0À?îì?îƒ?ï×€?ð?ð?îöÀ?éË€?êÒ@?íd€?ìø?ìùÀ?ïð?ð?ð?ïÊ?ð?ð?ïâ?ï?À?ï™?ï@?ïpÀ?ï€?ïÚ€?ïŸÀ?ð?ð?ð?ï+€?íà€?ïC€?쌀?î…?ð?ð?ð?ð?ð?ïÉÀ?ð?ð?ð?ð?ïÖ?ï¿?îù€?ìÇÀ?ã“€?êA€?ð?ï¿@?îôÀ?ð?ïï€?ð?ð?ð?ð?ïñ@?ïà€?ð?ïÕ@?ð?ð?ïR?â?ëïÀ?ïÿ€?ê7@?Û6?ëØ€?î*À?ð?ð?ð?ïÆÀ?íO?ïá€?ð?ð?ð?ð?ï—@?ïò€?ïüÀ?ïõÀ?ð?ð?ïê@?ð?ð?ð?ð?ð?ïÝ€?ïÕ?ïÚ@?ð?ð?ð?ð?ïÅ@?ð?ð?ð?ð?ïû€?ï!À?ïâ@?ï@?ï¸?ï?ïm?ïõ?ïÔÀ?ð?ï×€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïm?ïpÀ?ï×€?í´€?ð?ï{?ïŒ@?íï?ï.@?ïÃ@?ç{?ìS€?îá@?í.À?í΀?ïÀ?ê·@?Õp€?Ø€?à¿À?îDÀ?ïø€?ï<@?êÖ?ï€?ïW€?î€?ìr@?ê?ì€?一?éd@?é€@?éöÀ?ël@?Õ7€?ìÓ€?îAÀ?é-À?ìÁ@?ïk?ïp@?ëC?×?½Š?t ?$?åDÀ?î€?ß??<?¸à?¦ä?€P?¾?¥h?áŽÀ?Ò?ìb@?ïã@??â½?“ð?Ç~?Ѩ€?Œ`?Ó?ïs€?ð?ð?ð?ð?ð?ð?ð?ð?î¬@?å3À?Ã>?•h?ÑÎ?æ&@?ëì€?ï|?î“@?ïÜ?ï¶€?ïu€?î:@?êå€?îq?ïF€?ï©?ìg€?îµ@?ï ?æò?ð?˜€?ëþ@?ï/€?ï ?ìR€?ìsÀ?îW?è¬À?ë|?ê ?ä×@?æ€?Û߀?ìó€?íÙ@?ìÛ@?ì6À?ìÒ€?èÞ€?䌀?å“?æý?僀?ïÑ€?ïW€?ï4@?ïà€?ïÒ@?ïªÀ?ïÖ€?ï4@?îl?íŠ@?î?À?ï±€?ïò€?ïöÀ?ïžÀ?ïx?ïÕÀ?ïD?î€?ï×@?ïõÀ?ð?ð?ð?ï×€?ð?ïé€?îØ?ð?ïzÀ?ï„À?ð?ïû?îá@?ïøÀ?ð?ïò€?ïü?ï«@?ïs?éHÀ?íæÀ?ïùÀ?ïÛ@?ìŠÀ?ìŠÀ?íV?ê&?ëÍ?á(?í @?ë¾?í—À?î@?ìŸ@?ï.€?ï$€?ï€?ï€?ïñ?îNÀ?ïü@?ïö@?ïz@?ïÃÀ?ð?ð?ð?ï5?ð?ð?ï^?íÍ?ð?ïé€?ïÞÀ?î‰?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïç@?ïà@?ïÝ?ïØ?ìTÀ?ìyÀ?ð?ð?ïèÀ?ð?ð?ð?ï§À?ïþ?ïÝ€?ï÷?ï·€?ïÅÀ?ïò€?ïò€?ð?ïî?ð?ïò?ïò€?ïù@?ïðÀ?ïëÀ?ïÍÀ?ð?îÉ€?ëù€?ï¿€?ïò€?ð?ï÷?ï߀?îâ€?îå@?íAÀ?ïY@?î€?ï–€?ð?ð?ð?ð?ð?ïõ@?ï7@?ï‘À?ïû@?ïò€?ð?ð?íõ€?ïêÀ?ïÿÀ?ð?ï‰@?ïú?îÀ?ïÏ?î‚À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïЀ?ïÀ?ïù@?ïÅ?Çê?Íû?èf@?îN€?ï»À?ïð?ï÷?ïõ@?ð?ð?ð?ð?ð?ð?ïÿ€?ïÑ@?ïÆ€?ìÞ?ÛÏ?‚p?w@?ÐÁ€?ï?Ê•?ìTÀ?íFÀ?ï«?ï¨?î—À?ïþ@?ïü?ì§€?ïû?ð?ð?ïïÀ?ð?ïü€?ð?ð?ð?ð?ð?ï³?ð?ð?ð?ð?ð?íç?îZÀ?ïÀ?ð?ð?ð?ð?ð?ð?ï×@?îVÀ?ð?ð?ð?ïý@?ïÀ?ï`À?îe@?ïé€?ïØ?ïÍ@?ïöÀ?ïî?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÅ?ïþ?ð?ïÒÀ?ïíÀ?íì@?îþÀ?ï¢À?ïL?ïô€?í8?Ü`€?ÜÞ€?í8À?í'À?ë£À?Õí?ã­?ê€?íûÀ?î\@?íB?íŠ?íòÀ?î€?ïÿÀ?ïeÀ?î3€?ê7€?çI@?àª?èE€?æÁÀ?ì¾À?í€?ë„À?ë¥À?íéÀ?íÞ@?äy€?ë3?î=@?ãÕ€?`?š`?胀?âs?gÀ?Ûä€?ÇP?ƒp?èð€?ï€?å€?Õç?Ëø?Þµ?âÎ@?‰?`À?Ì?çY@?íê@?ï{@?ÞJ€?8?Î?žX?¾Ì?è,?ï€?ð?ð?ð?ð?ð?ð?ð?ï2@?äß?u@?É¿?Á„?Ñ4?çÌÀ?êt€?íÁ@?ï??ï×€?ïÆ?ïð@?ì@?îC@?ïÆ€?ïÕÀ?î@?ïFÀ?íÛ?ìo€?ãX?é@?ïª@?ì¶À?éÇ@?鿀?ë„@?è€?çNÀ?êN€?é @?ã]?áˆÀ?éî@?é΀?îh€??è?ì?Û€?ƾ?ç÷@?î @?ï_€?ë’@?ïÙÀ?ï<@?ïòÀ?ïÃ@?ð?îõ?ïÀ?ïõ?ïàÀ?í”À?ïé€?ïð€?ïË@?ï€?î1€?î6@?í»@?ïÀ?ï €?îõÀ?ï›?ð?ïè?îÿ@?ïÊ?ï7@?ïÈÀ?ïÀ?ï¨@?ïÅÀ?ð?ïù@?ïò€?ð?ïñÀ?ð?ð?ð?ïe€?î €?îPÀ?呂?ïž?ïå€??æ»@?íÀ?äm@?çjÀ?톀?ìÛ€?ê€?ìmÀ?íÞ@?ï§?ï?ïy€?ïc@?îý€?ïÂ@?îè@?îÄ€?íØ?ïÅÀ?ð?ïå?íÌ@?ïG€?ð?ð?íV€?ïÊ?ð?î‡À?ï‚À?ï}À?ïä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé?ð?ð?ð?ð?ð?ïòÀ?ð?í—À?ëÀ?î)?ïûÀ?ïöÀ?ïòÀ?ð?ð?ð?ïõ@?︀?ïÑ?ð?ï÷@?ð?ð?ïì€?ï@?ð?ð?ïÙ@?ïÜ?ïö?ïÛÀ?ð?ð?ð?ìA@?ï·@?ï÷@?ïðÀ?ïâÀ?ï÷?ïV€?ïÓ€?î+À?ïJ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïà€?ð?ïÉÀ?ïÜ@?ïØ?ïæ€?ïš@?îØ@?ïÍ@?î²À?îó?ð?ð?ï×@?î§€?ïö@?ð?ð?ð?ð?ïî@?î²@?èË@?îYÀ?ìå?ð?ïî?ïTÀ?¦|?áÚ?ð?ð?ï1€?ïÄ@?ð?ð?ð?ð?ð?ð?ð?ð?ïÅ@?îOÀ?â@?£P?|À?ãÀ?í€?îÁ€?íÌ€?îl€?î™@?îþ@?îÀ?íÍ@?ïV@?ð?ð?ïÈ@?ïþ?ïàÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïUÀ?íè?ð?ð?ð?ð?ð?ð?ïÁ@?ð?ð?ð?ð?ð?ïò@?ïê?ïÛ€?ï¼À?ð?ð?ï»?ïçÀ?ï@?ï¤@?ð?ð?ð?ð?ð?ð?ð?ð?ð?îxÀ?ïi@?ïÀ?ï€@?ï†?ï?ï7?ïö€?îøÀ?î?ï?ìÏ€?ºú?ȸ?ß^?Ù×€?ä©@?í©À?îsÀ?çÄ@?í?ìæÀ?ï(?îœ?ïsÀ?ï@?ï¼€?ï”?ê@?åS@?ì@?ìÿÀ?í@?íÌ@?íÀ?éT@?íú@?ép€?é«@?ê1?ì?ç"€?¿R?z?c?î ?Ë+?“ ?í£€?ï@?ïw@?ï0€?ï6€?ï*?ïë?å¦À?­„?¢x?Ö€?äÂ?§Œ?µ?Ê?èX€?ð?ð?ð?ð?ð?ð?ð?ð?é£@?j?Y€?Ëg?·d?Æô?ëe@?ìãÀ?ï—€?ï|@?ïÀ?ï€?ïS€?ïó@?î0€?ï|?ï°À?îÀ?ïã?ï.À?îj?íÀ@?êO@?¹>?M?çÊ@?íK?ì$À?æ9€?è@?áµ€?ç‹À?äÕ@?èé?ãŠÀ?á@?çŒÀ?ê½@?×é?êæ?î€?룀?î߀?ç@?´¨?®?îE€?ï?@?î0€?ï±À?ïÚ@?ï@À?ïj@?ïä@?ïšÀ?îùÀ?ð?ïç@?ï²?í|€?î$€?ïÇ€?í÷?îïÀ?ïÍ@?ïÐ?í À?îÚ@?︀?ïè?ï%€?î`?ï€?ïª@?ï·€?ï}?ï’€?ð?ð?ð?ïé?ð?ïé?ð?ïðÀ?ð?ð?ð?ð?ïq@?í~?î0€?ï¨@?îÙ@?ð?ï×?ì@?í€?ç)À?íÿ?îj€?îÁ?ï£?ïöÀ?ð?ð?ïÜ?íi€?ïÀ?ïCÀ?ïO€?íÓ€?î›À?ï´À?ïÃÀ?ð?ï4À?î»?îð@?ïÛ€?ïé?ï?À?ë @?î>€??ð?ï¾@?ïë€?ð?ð?ð?ï“À?ïÍ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ð?ïë@?ð?ïð??ïÖ€?ïø€?ð?ð?ïò@?ïù?ð?ð?ïü@?ð?ð?ð?ð?ïØÀ?ï¹À?ïÞ€?ð?ð?êû?ïÑ€?ïò@?ð?ïï€?ï‘€?ïrÀ?ð?î^@?ì³À?ïè€?ïå@?ð?ï¥?ï÷À?ð?ïä@?ð?ð?ð?ð?ð?ïû@?ïg€?ïÍ€?ïç?ï‡@?ïÿÀ?ïh@?ïœÀ?ïöÀ?ð?ð?ï^@?ïþ@?ð?ð?ïò@?ð?éa?Æw?¶´?c?ÆÓ?àe?ð?ð?âšÀ?Ô|€?Ôû€?ð?ïÜ€?îãÀ?ï×?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ïЀ?Ù €?Ž?ᤀ?í±?ì‰À?ìµ@?ï£@?ïà@?ìÞ@?í‘€?ì@?ïç@?ð?ð?ð?ï¡€?ïè€?ïh@?ð?ð?ð?ð?ð?ð?ð?îy@?îŽ@?ð?ð?ð?î.€?ï‚?ð?ð?ð?ð?ð?ïÝ?ð?ð?ïÛ€?îóÀ?ïjÀ?î>€?ïó€?ïu@?ïr€?ïï€?ð?ð?ð?ð?ïÒ??ïFÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïsÀ?ïÚ?ïˆ?ï„@?ð?ïßÀ?ïû€?ìð@?ïùÀ?íÿÀ?íH€?Ì?©\?³(?áºÀ?éØ@?ë½€?é„€?ápÀ?ëÀ?éµ@?èH€?îÞ€?ï¾?í‘€?îºÀ?ïî?í:€?ç?è§@?ë)€?ë{?é8À?ëÇÀ?íîÀ?ä@?ëU€?ìÏÀ?í‚€?êÌÀ?í\€?ÒÉ€?ÅÞ?ÅÈ?Ź?ì)?îS@?î(?ïM?îž?ï­@?ïHÀ?î7À?Õ€?ŸÐ?Ô‹?׌€?[€?×ë?ë¨@?ð?ð?ð?ð?ð?ð?ð?í@?ÏÉ?·h?U€?Ï?êB?é[?çÍ@?í@?ë4€?í?ï|@?ï€?鹿?îïÀ?ïý?îí?ï€?ïÀ?ìëÀ?í@?é}€?T€?d€?ì À?î‚€?ë¨@?眀?çp?æg@?è‚À?çL@?æ²@?Ôž€?è?îà?Ó.?‡?ÈÕ?çÛÀ?ï?ïx@?ï´@?릀?²:?åÃÀ?ïµÀ?ïü?çµÀ?ïË€?ïò@?ïä€?ð?ïã@?ð?ð?ïÊ€?ð?ïðÀ?ílÀ?í\€?ïÀ?ïåÀ?îË€?ïù@?îl@??ïÿÀ?ïþÀ?ïòÀ?ïð€?ð?ð?ïtÀ?ïâ@?ð?ïú?ð?ð?ð?ð?ïöÀ?ïöÀ?ð?ð?ð?ïµ?ï×À?ﻀ?ï‚@?îEÀ?î>€?ìÀ?ìÃ@?ëpÀ?ëù?ì@?ën?ì@?ìµ@??ïmÀ?î€?ïL€?ïxÀ?ïKÀ?ç1À?ï(À?ïz@?ïë€?ð?ð?ð?ð?ð?î€?ìB?ï“?ïÿ€?ïc@?ë£À?í¬?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò?ð?ð?ð?ïý?ð?ð?ð?ð?ð?ð?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïä€?ïí@?ð?ïñ?ï€?ïúÀ?ð?ð?ð?ð?ïô€?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?îÔ?í2@?ë„À?ë?ï*@?ïÿ?ïä€?ð?ïû€?ï0€?ð?ð?ï¨?í‘€?ïýÀ?ïê@?ð?ïñ@?ïÿ?ð?ð?ïßÀ?ïÛ?ï˜À?ïû€?ð?ð?ð?ïöÀ?ð?ð?ïÿÀ?ïûÀ?ð?ð?ð?ð?ï’?ð?ð?ïæÀ?ð?ï\À?Ë‹?°?íˆ?ïÿ€?ß«€?s ?×¥€?í»?ïõ@?ð?ð?ð?ð?ð?ð?ð?ïú?ð?í?Ñ€?(?Ê+?ì€?í°@?ìƒ?ïØ?ï<?îHÀ?î&?í=@?ïÀ?ð?ð?ð?ïô€?ï×€?ïu?ð?ïß?ïÃ@?î)€?ï&?ìÏ@?áÿ?èÀ?ï—?î¹€?íÜÀ?ïå€?ï@@?ïñÀ?îÑÀ?ð?ð?ð?ð?ð?ð?ð?î»@?êÜ@?ï­€?îCÀ?豈?ïñ@?íV€?ïûÀ?ï¶@?ïc@?ïëÀ?ð?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ð?ï˜@?îW€?îK€?ì\?íÀ?çU@?ÜØ€?½?ìÀ?ïEÀ?í@?íÂÀ?å¥?åj?ë@?ë!@?êeÀ?îT@?îê?î¬?î€?ï{€?ïX@?ꪀ?ë@?ì[À?ê@?掀?çn@?ë@?ëº?éX@?îD€?î‡À?ëf€?åN?z?³°?î&À?ïŸ?í½À?îZ?î ?í–À?îy€?ï—€?ãí@?¤ü?Z€? ?Á´?¤X?á@?î8@?ð?ïå€?ë­@?ïU?ð?ïÇ@?èï€?£Œ?а?2?±°?å6@?í³?íd?íá@?î`?íô€?î„?ïuÀ?ë¿@?ï2?ï­€?î|€?îÙ?î?纀?í°?í»À?í"@?ÒS€?Û˜€?ì‡À?î €?ïb@?ìÔ?î=€?í}?ìñ€?ëç@?í^?ëã€?îo@?ëÏÀ?ç?¹t?Ý(€?ïÎ@?î1À?ì«?ê±À?ãÌÀ?ïsÀ?íc€?ïêÀ?ï¢@?ïì€?ïçÀ?ïñ€?ð?ð?ð?ï°?ïö@?ð?ð?ïÐÀ?îR€?ïÙ?ïö@?ïö@?ïÖÀ?ï‹@?ï¹À?ïÚÀ?ïê@?ïÙ?ïˆÀ?ïÖ€?ð?ïâÀ?ïª@?ïö@?ð?ð?ïë€?ð?ð?ð?ð?ð?ð?ï@?ïý€?îK€?é?À?î­€?ïÀ€?í1@?íÅ€?íÀ?í ?ïo€?ïY@?ïI€?ïµ@?î¶€?íh@?îª?ïá?î_À?ì¼?ê¥?îÍ@?î¹?î>@?î@?îï€?îè?ð?ïÞ?ð?ð?ð?ð?ð?ï÷À?ïiÀ?ð?ïñ€?ïÙ?îÅ@?îM?ð?ï¯À?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïb€?ïöÀ?ð?ð?ïÇ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïä€?íD@?ì6?íÁ?îÌÀ?ð?ð?ð?ð?ð?ð?ïb?ïª@?ð?ð?ð?î1€?ð?ð?ð?ð?ð?ïÙ@?ð?ïÐ?ïÝÀ?ï­@?ïì@?ïô€?ïö@?ð?ð?ð?ð?ï@?ð?ï×?ð?ïç€?ð?ð?ð?ð?ð?ð?ð?ð?á?Ë‘?ì€?Ä¿?d@?Ä‚?î8€?ïë€?ð?ð?ï¾€?ï«À?ïþ@?ð?ð?ð?ïüÀ?ï|?á„@?¡œ?Á7?è€?àž€?édÀ?æ¾?ìÀ?í<?ïÝ€?ð?ð?ð?ð?ð?ð?ð?ð?ïNÀ?îSÀ?ð?ð?í³€?Ðg?à‡À?âž?êòÀ?ìЀ?à‰?Ûj€?á?îR€?ïÒ?î$€?ð?ð?ð?ð?ð?ð?ð?ð?íÁÀ?ï?ïéÀ?ï¦À?ï‚@?î€?ïËÀ?ïÔ@?îþ€?ð?ïÛ@?ïíÀ?ïøÀ?ð?ïê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔ@?ïAÀ?ïù€?ïà@?ð?ïå@?ìJ€?ê_?éò€?Ô€?Ðê€?ß1?åP€?ì\?îå?íFÀ?ï+€?颀?è[€?í€?í=?ê$?í€?î?îõ@?ï,€?íÑÀ?í¦À?ïF?ìô?ìÎÀ?áœ@?í€?ì¯?è3?é¡?简?ë¿À?êÄÀ?í(€?î¤À?ë»@?ºF?˜?Ý"?î?í0@?ë€?ì€?í·À?ê4?íþ@?ï”@?î»?îÄ€?ê¥@?Þ©?Ñ0?š¨?ß?å@?ä•€?à˜@?é=À?ð?ð?ì¦À?Ó±?š˜?¦t?ãB?ìuÀ?ë@?îþÀ?íP€?îfÀ?ïyÀ?íÀ?ìj@?ët€?îH@?î—À?ïS?îÂ@?î€?í%À?ëªÀ?ë×?æz@?Ð3€?“(?s?D?Ïð?èi@?ï¶@?ïÂ?íÉ@?ï@?ï<À?í?é]€?å,€?âÁÀ?ãÙ€?ìÂ?ìo?Ü%?Î×?îî@?ï€?ï?îÓÀ?îù€?ï<À?ïx@?ï-?ëÓ?é¸À?ïú@?ð?ïà@?ð?ð?ïý€?ïÏ?ï¤@?ïÅÀ?îz?î#?ïÀ?ïÊÀ?ð?ð?ð?ïå@?ð?ð?ð?ð?ïâ?ð?ï?ï?ïø@?ð?ð?ïÒ?ð?ïÈ?ð?ð?ð?ð?ïÈ@?í @?ì“€?é@?êê€?씀?îœÀ?è²€?í?ê÷€?îÓ@?ð?ïÞ€?ïÛ€?ð?ïø@?ï¨@?ð?ï£À?ïóÀ?ï­?í=€?í\@??ïÛ@?ï†À?ï÷?ïà€?ð?ð?ï¬?ð?ïå€?ð?ð?ð?ð?ð?ï´À?ð?íû@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî@?î€?î¤@?í\@?î<@?ð?ï©€?ð?ð?ð?îÌ@?ì½@?î•À?î?íI@?íœ?í=@?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íO€?î©À?ð?ð?ð?ð?ð?ð?ïê?ïÀ?ïö@?ð?ïÂ@?ïâÀ?ð?ð?ð?ð?ï«À?îã€?ïZÀ?ïÀ?ð?ð?ð?ïö@?ïã?ð?ð?ð?ð?æf€?° ?³>?±ª?»`?ãŠ?ï†@?ð?ð?ð?î*?ï›@?íw?ãw@?ß?㦀?﯀?쨀?Ö€?¡?·Æ?L?Ê”?î¿À?åDÀ?ëxÀ?ížÀ?çÞ?ï›@?ð?ð?ïÝÀ?ï¬@?ð?ð?ð?ð?ð?ð?ïz€?ïá?ïô@?Ôr?Þ—€?ï+?ï{?ïÙÀ?ë{À?Ôï€?¤?ÃÎ?Ý–€?í¸@?릀?ï°À?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?î•À?ï(@?î«@?ïŸ?î£?ïÀ?ï¶?ð?ï*€?îÌ€?ïý€?ð?ï¤?ð?ð?ð?ð?ïêÀ?ð?ð?ð?ð?ð?ð?äúÀ?ïÁÀ?ï¨À?ð?ïÛÀ?í#?检?ð?ïô€?ð?ïÉ?ð?ïm€?î%@?ìØ?îø?îsÀ?ê¶@?íy?î‚€?éã?ëË@?í¬À?ïJ@?î×@?îí@?ì@?ì´?êwÀ?ël@?îZ@?ï@?ê«€?ä€?î²@?íÐÀ?ìj@?ëÍ@?î¾À?íBÀ?áÁ?‘°?°ä?ëJ?ëA?êý@?ë&€?ê¹€?êl@?ì4@?ð?ïáÀ?ïFÀ?îå€?í?“À?U€?Òâ€?°ì?µ¬?p ?®¸?ʼ?ãú@?ìà?íª?ê/?Ã?Ѐ?¦ü?‹0?Úú?åR?ë@?îH?ì½@?ï5À?î¬À?íz€?타?í­€?î@?î?îI€?íD€?íÝ?쉀?î:@?ë¹€?ëø€?í€?Ñø?¦¤?Ø¢?¢X?ª@?Åõ?ä€?ì˜?ê>@?è,@?ÚÕ?Æ+?Œp?d@?Åj?ã(@?ên@?였?´?Ú-?å„?ïü?ïóÀ?ï¾€?豈?ïñ€?îþ?âª@?ã¡À?ï@?ïK?ïÀ?ï©€?ïÀ€?ïÃ@?ð?ð??ïî?ð?ð?ïi€?ïÒ?ð?ð?ð?ð?ð?ïã?ð?ïçÀ?ð?ï€?ï]@?í@?îé@?îÀ?ð?ï6?ð?ð?ð?ð?ïôÀ?îž@?ï@?îþ?î¹?ï3@?í±€?í®@?î¼@?ïSÀ?ì©€?ì\@?éü€?í@?ð?ïr?ïÔ?ï?ïiÀ?ïçÀ?ð?ð?ïö@?ð?ïö@?íƒÀ?ê}€??ï¤?ïø?ð?ð?ïN€?ïð?ð?ïë€?ð?ð?ð?ð?ð?ïøÀ?ð?í ?înÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïK@?ïïÀ?ïÊ?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?îDÀ?ïòÀ?ïGÀ?ï_@?î×À?îG€?ð?ð?ð?î8?íaÀ?ïƒ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îš?ì¢@?ï3@?ð?ð?ï÷?ð?ï1?îï@?îЀ?ï€?ð?ð?ð?ð?ð?ïä?ï@?ð?ïÀ?íá€?îö@?îz€?ï#?ð?ð?ð?ð?ð?ð?ð?ãàÀ?‚à?y@?åŸ@?ð?ð?ïâ@?î[À?ç=?Íé?é]À?²$?äÆÀ?Ò§?»??Ð@?æ À?è›À?†P?ÜB?åZ€?ë{?èã€?í'?ð?ð?ïÞ?îß?íÀ?ð?ð?ð?ð?ïIÀ?í…€?ìV€?ïßÀ?äž@?’°?ã÷€?ëD€?ïp?î1??Ú€?Í‘?Æ ?¦è?¸?Û_?ê`À?îQ?íN@?ïÛ?îU@?ð?ð?ïû€?ð?ïÖ@?ï*€?ïcÀ?íÀ?ï§À?í‡À?ìãÀ?îìÀ?ìÞÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ïu?ð?ð?ïà€?ð?ïì€?ïï?ï—À?ïØ?ï´€?îßÀ?ï¹€?ï½À?ð?ï¶€?ïø?ìÝÀ?í;@?ð?ð?îµÀ?îå?îÏ@?î@?í“?ìã?î€?ìþ@?룀?ìi€?í›@?ï8@?ì@?ï+À?ï5?íJ@?ß½?ïü?ïÒ?éÐ?èw€?î<€?ïe?ì‰À?îj€?í!À?íÖ@?ÑW€?‡0?â€?î—À?ë2?ém?ë<?ê´€?í‚?ï?ïé€?îöÀ?íµ@?ì®À?À?°0?ÐB?€?àò@?s@?@?ÑŽ?뎀?ëÖ@?æ¼?Ž`?Ôƒ€?S€?ÕI€?äÍ?î¹€?íV?ì?îD€?îô?í8@?êÀ?캀?í`?ì¿?ì<À?ìs€?ìØ?í«À?íLÀ?ïf?îa@?î€?è À?8?™X?–x?·r?Óˆ€?¹Ê?–?fÀ?Y?©X?ÌÍ?æq@?åÀ?ï€?çJ€?ïà?ïÒÀ?ï¾@?ïÊÀ?îæ@?ïÑÀ?ð?ï…?î4?ꉀ?펀?ìò@?ïÖ?ïÆÀ?ï«À?ð?ïÚ@?ð?ð?ð?ïà€?ð?ïÂÀ?ïñ€?ð?ð?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÓÀ?îì€?ð?ð?ð?ïå@?ï‰?ð?ïëÀ?îÅ?ï<?ï@@?ð?ïÀ?íÀ@?ìm?ìû€?í»@?ë–À?ëñ€?é½€?î6@?ïŒ?î«?ï€?ïÖÀ?ïñ?ïö@?ð?ð?ïçÀ?ð?ïö@?ð?îã@?ìM€?îÉÀ?ï‹@?ï)?ï6?ï2?ïï?ïö@?î˜À?ïú€?ïÀ€?ïÊ€?ï.?ï¨À?ð?ï@?ï·@?ì"@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïË@?ïú@?ïçÀ?ïñ€?ð?ð?ð?ïÔ?ïD@?ð?ïñ€?ïÏ@?î\À?ï¥À?ï™?ïòÀ?ð?ïü@?îS?î–?î@?îx?î“À?î®@?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï2€?ï?îq€?ïü?ð?ð?ï¨@?îê@?ïÀ?ïï?ïõ€?ð?ïö@?ð?ïÊ€?ïì€?ð?îæ?ð?ð?ïÿ€?ïí@?í€?îR@?íK@?î&€?ð?ð?ïñ€?ïÀ?ïžÀ?ìä?³?0?á|@?ð?ð?éˆ?ÀX?ÍŽ?Á3?Çc?¾Š?²r?§°?ª ?Þ€?âSÀ?žP?Q?àA?àÀ?Ë„?âÑ€?ð?ïÿ?ï³À?îÊ€?éÂ@?ï@?ð?ð?ð?ð?ê•?íº@?í5À?Îü?ÅÞ?î@?ïÍÀ?ëV?Ò?Ï¢?ËW?Çg?¢l?µ>?ž`?i€?ÀW?Úÿ€?î€@?ç,@?èÎÀ?ïÑÀ?ïþ?ïÿ€?ïîÀ?ïTÀ?ïÀ@?íEÀ?éð€?ï>À?ì{€?î@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¥@?î¬@?ï @?ð?ð?ïû@?ïwÀ?ïÿÀ?î6@?é˜À?îÌ?ï¡€?ïÁ€?ð?ïà€?ï??ï®@?ð?ïû@?í@?îÑ€?îÈ€?îh@?å’À?é‹€?ík€?í À?ëšÀ?éV?í²?ìxÀ?îÒ?ïZÀ?ë×€?î@À?ï¨@?ìý@?é\€?ï‘?î¡?íÞ€?íð@?ìO@?í @?íÙ@?Îm?›(?à@?íû€?í­?êÎÀ?ë¨?ëÀ?ëÖ€?ïY€?ïu?ïeÀ?íV€?ê!?¯ô?ÉS?ê?Á<?~à?ÅU?ßX?Î(?¦?Ú¿?æ§€?í@?íÑ@?íÁ@?î‡@?îZ€?î9@?äòÀ?ì×?ì…?è<@?êJ@?ëF?뢀?î€?í7€?æî?ã?éx?Ô¡€?£Ì?Õ(€?Þ ?åó€?ÜJ?Ìç?ÞA€?î…À?ïèÀ?ð?ð?ïøÀ?ïÎ?ï”?ð?ïÜ@?ï¡€?ïÙ?ïóÀ?ïÒ@?ð?ïû@?ì€?êG€?î À?ð?ð?ð?ïÄ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï³À?ð?ð?ïè?ïö@?ð?ð?ð?ð?ð?ì@?ð?ð?ð?ð?ð?ð?ð?ð?ït€?ï²@?ïæ@?ð?ïë?íQ€?îÅ€?í@?îJ@?íÀ?î„?ï@?îºÀ?ïð@?ïâÀ?ïì€?ïöÀ?ïñ€?ïÍÀ?ð?ï­@?ï@?ïÙ€?ð?ïÌ?ìÚ?홀?ï!À?ï×@?ïà€?ð?ïß@?ïp@?ï³€?ïí@?ïýÀ?ï£À?ïŒ?ïÞ?ï‹À?ð?ð??ï €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ïà€?ð?ïô?ïö€?î)€?ïæ@?ð?ð?ð?ð?ð?ð?ï?ï߀?îE?ð?ð?îñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïR€??ð?ïô@?í¬?ïG?ïn€?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð??ê³?ë7€?êÞÀ?튀?è×@?íç@?ìd?ê„€?ÁÇ?ª?Üi?Ùù€?îÀ?ð?ð?étÀ?×{€?£H?R?â(À?ð?ð?ð?ÝÁ?]?Γ?ð?ï©À?ïЀ?îÏÀ?éßÀ?ïû@?ð?ð?èõÀ?ÑÈ€?ßr€?éR@?Çc?¸h?å½À?è€?Çó?\€?]?h@?iÀ?©ä?é@?ð?ð?ïí@?ï°?ïê?ï,@?ïs?è€?î„@?ð?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï…?íÖ@?ð?ð?ð?ïû@?ïý€?ïô@?ïû@?퀀?ïû@?ð?ð?ïÝ?ï·?ïö@?ï¦À?î§À?﯀?ïö@?ïtÀ?ï(@?êá@?ÕÒ€?â¼À?æk@?ë‘À?ë€?ï’À?ïà€?ï•À?ï1À?ï??ï±À?îÜÀ?î\À?ì;?ïÎ@?切?î€?î£À?ïƒÀ?í¦@?ëßÀ?˦?k@?l€?¶?é±À?ì£À?îL€?í?éÐ?éw@?í€?ïŠ@?í/?ïz@?îâ@?ï%À?±’?ßK?îÊ@?Þ¾?e€?Y€?C?·b?Ãy?å°@?î?îÿÀ?íÀ?ëï@?ëœ@?ê'?Щ?ç(@?èŒ?é@?Ýs?¶”?ꣀ?îí@?ä»À?ê~?ëá@?僀?åG@?·4?©4?¡Ð?䃀?ï:€?ð?ð?ð?ð?î´@?ìiÀ?ïÄÀ?ð?ïÀ?ï&€?ð?ï¹€?ïû@?ð??ï±€?ïë@?ïû?ï¦?îÆ€?í=€?ì €?ï€?ð?ïõÀ?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïåÀ?ð?ð?ïø@?ð?ïÜ?éò€?ïF?ð?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ï×€?ð?ïð€?ð?ð?í¿À?êêÀ?îW@?î@?ïïÀ?ïøÀ?ïgÀ?ïÕ@?鹿?ïàÀ?ð?ð?ïø@?ïçÀ?ïíÀ?ïb€?ïú€?ïíÀ?ïÖ@?ï_@?ïž@?îi€?ëN@?ì@?ïä€?ïç€?ïo?ïµÀ?ïî?ïã€?ï·€?ïžÀ?ï”@?ïõÀ?ïô@?ï’À?ïð€?ð?ïèÀ?íöÀ?î•€?ïõ€?ïÍ€?ïWÀ?ð?ð?ð?ð?ð?ð?ï´À?ïÖ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ@?îµ€?í—?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?îêÀ?îˆÀ?ð?ð?î\?ïi€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?îH@?î{€?ï½À?ð?ð?îg?ï¡?ð?ïò@?ð?ð?ð?ð?ð?ð?ð?îÝÀ?Û•€?²T?Ž ?¢Ø?Ò¤?`?Ä,?„@?ÊÆ?‚Ð?±î?Ê~?àŒ€?íŽ?èL€?à—@?â1?ج?T€?à,À?ï߀?ïÁÀ?ð?ïµ?Üô€?è?×›?Ð?߸?ïâ@?î¹À?ï5?îPÀ?ìgÀ?î»À?ïõÀ?ïÀ?ïÞ@?ê €?î­À?ëdÀ?ÀŽ?à?Ò©€?Ôv€?§? ?Ûí€?í¢?ï¿€?ïf?ï-?ê_?ìµ€?ï³@?éÖ@?ﮀ?ïô@?ð?ð?ïU€?ð?ð?ð?ð?ð?ð?ð?ïåÀ?ð?ð?ð?ð?ð?ð?î?鹿?ð?ð?ð?ïõÀ?ïõÀ?ïúÀ?ï(À?ïÕÀ?ï?îû@?ïÕ?ï–@?ï€?ïÙ?ïu€?éBÀ?Ì ?Ì‘?Ñä?Þî?ê€?è_À?é€?ë{@?çÈÀ?îî€?ë4€?êÞ€?îÿ@?îzÀ?ï™À?îö@?î…@?ïÛÀ?îs€?ï€?ïø@?îÀ?íA@?ìi@?åúÀ?0?‹°?×]?îè@?ïM€?îºÀ?íÓ€?ë8@?î)@?ê\@?î²À?ï@?ìXÀ?ï•À?ïÝ@?îÀ?àž?q€?Õ•?îõÀ?í_À?âÝÀ?¨,?ÉÉ?˜0?߀?ì4@?ïn?힀?îW?î…@?Û^€?Žà?áÒ€?í¼À?àS@?² ?Ñ€?é0À?é|@?ìq?ëk€?é'?Ø €?·$?’?Þ€?Õ?éë?ïù€?ïü?ð?ï¿@?èlÀ?´Ž?ïÿ€?î¹?ïÀ?ï7À?ï«@?ï­?ïÇ?ïÓ€?ïù@?îê?ï?ï½À?ïí€?ïïÀ?îÿ@?êC€?à‡?ïD?ð?ïÌ@?ïÑ@?ð?ð?î©€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ïC€?ï…?ïÍ€?ïº?ïýÀ?ð?ð?ïõ€?ð?ïCÀ?áL?ïf@?ïç€?îÞÀ?ð?ïÏÀ?ïú?ð?ð?ð?ð?ð?ï??ð?ïæ?ð?í+À?íô€?ï?íOÀ?ð?ïõ@??ïÀ?ïàÀ?ð?ïõÀ?ð?ïüÀ?ð?ð?ï³?ð?ïéÀ?ïÒÀ?ïô?ð?ïãÀ?ï‘€?î?ëJÀ?ï“€?ï¸?ï€?ïd@?ïŽ?ïì@?ïÛÀ?ï$À?ïÚ€?ïù€?ð?ð?ð?ï†?ïõÀ?ëÄÀ?ïÔ@?ïa?ð?ð?ð?ð?ð?ð?ð?ð?ï?îâ?ð?í€À?ì(?ë…?êä@?ïûÀ?ð?ïü?ïÛ@?ð?ð?ð?ð?ð?ð?ð?ï×@?ï.€?îö€?ïð€?ï>@?ïM€?ð?ð?ð?ð?ð?ð?ð?îÊ€?ïYÀ?ð?ð?ð?ð?ïü@?ð?ð?ð?ð?ð?ð?ïªÀ?ïwÀ?ï>À?îÀ?ï¥?ð?ïÍ€?íy?íã€?ï–?ð?ð?ïžÀ?îœÀ?îƒ?ïý@?ïÔ?ð?ïðÀ?ïÄ@?ð?ð?ð?ð?ð?Û¾€?c?Å ?Õ€?³ª?¥t?½¾?îe€?ï5À?ð?ð?è‘À?±?×ù€?Üð?ƒÀ?Ö¯€?ç\?Ï?ØC?æ€?á•€?ìŠ?äe@?ê]?ì,@?ì¥?î^À?ïúÀ??µ@?ŒÀ?~`?È{?îÃ?éº@?á«@?î(?äc€?ïñÀ?ïúÀ?ïÆÀ?ïó?ïúÀ?ð?ïÿ?ð?ð?ð?ð?ð?ð?ð?ïÏ?ð?ð?ð?ð?ï¿?ð?ï÷À?ïø@?ïý€?îc?íbÀ?ð?ð?ð?ïð€?îQ?î²@?ï€?ïñÀ?ï•€?êýÀ?æÍÀ?ì À?Í?é¦@?îsÀ?îI€?ì<€?ìÀ?îEÀ?ïL@?ëì?î@?îÒ@?ìh@?ëú?ë§?êòÀ?îz@?ê©€?îl€?îÑÀ?ï€?í @?ïg?ïâ€?ï(?îÚ€?ï0?Õ„€?Ó8?½6?°Ö?ì?îtÀ?î³?íA€?í¾?îv?î¸?îM?îÀ?ë@?ì.€?ïM@?ï6À?åw€?æ.€?ä߀?«d?M?Ó-?æ/@?ï(À?ïB@?ëçÀ?Û^€?$?Î?€p?ÉF?ê6À?í»@?îöÀ?î¯?áœÀ?k?×'€?ë×?ã|?ç˜À?îØ@?á¯?å<À?ì?ë`@?Õü€?Œ ?ÉH?è¿?ÜÄ?âO?ë¶À?ð?ï­?ì¿À?ï:À?̹?ï@?ï[@?ïŠ@?îÎ@?ïþ?å¨@?î²€?ð?îÅÀ?ï–À?ïW€?íAÀ?ïë@?ð?ð?雀?Ç.?ׄ?ïÍ€?ð?ð?ð?ïÊÀ?îBÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ@?ïXÀ?ïÛ€?ï@?ð?ð?ïÍ€?ïþ@?ð?ð?ð?ð?í{À?éÀ?ïì€?ïø@?ð?ð?ïìÀ?ïW?ïó@?ïå€?ð?ð?ïõ€?ïè€?ïC€?î¹?ïü?ï«À?ïƒ?îß@?í`@??ïº@?ï÷?ïÉ€?ï‚@?ïæ@?ð?ïæ?ð?ïù?ð?ð?ï¡€??ïmÀ?ïC?ïÕ€?ð?ïÙ@?ð?ð?î?ì À?î;À?ïÎÀ?ïäÀ?ï”@?ïÓ?ïÎÀ?ð?ð?ïð€?ð?ð?ð?ð?ï“€?î®À?î`€?ð?ð?ð?ïN€?í%À?í¡?í{@?í®€?íЀ?íþ€?î®À?íi@?íc?ð?ð?îÀ?î£@?ð?ð?ïü€?ð?ð?ð?ð?ð?ð?ï¿@?î…À?ï,€?ð?ð?ïæ?ïÖ€?ð?ð?ð?ïø@?ð?ð?ð?îÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¨?îÈ@?îã€?ïP€??ð?ð?ïk?ï´À?ï2@?ïz@?ð?ð?ïÆÀ?ï@?ð?ð?ð?ð?î´€?Ú¡?y@?³¤?êN@?ð?ïõÀ?ð?îâÀ?µä?J?¯è?¸æ?²è?žx?h@?»(?Ô?¥Ä?Ø¢?ïÚ@?ìQ@?éf@?ïh@?îx?ÆU?‰?Øæ?œh?Ѐ?ê3@?áë?å›@?àS?îu€?íH€?ïê?ï²€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïúÀ?ð?ïø@?ïü?ïô@?î“?ïÀ?ïb€?ïÏ?éäÀ?Ú“?édÀ?ëæ?íÿ€?íó?ï$@?îá?í%€?îS@?îJ€?íU?ì@?ì™À?êC@?àÌÀ?íë@?醀?ì€?ïª?ïö?ï¢@?ïz€?ìƒ?ð?ð?ïáÀ?ïÏ?î»@?î€?î €?ßg?U?–?áÌ€?í´?î?íÃ@?í®?îÙ@?ïÖ€??ï³@?ïá?ð?ð?ïò@?î§@?ï!€?íÔ€?áþÀ?À?ÜÝ?é;À?è:€?íž?ïš?îÀ?æ7À?ǹ?¤ˆ?ÌI?à{?ä«€?éÞ€?ܾ?¡¬?Þ^?æÌ@?Ø?€?À?±¶?çŸ@?îY€?ï½@?ïà?ÜÓ€?ëÖ@?ë>?ëË?ÑÍ?N?”È?Èl?ÇQ?c€?…Ð?×½€?ïð€?ï©@?ìS?ïô€?çR@?ç @?ï¶?ï¹?ð?ïÀ?äs?î€?ïð€?î.?îµ€?ïj€?îÐ?ïõÀ?ïæÀ?ð?ð?è}€?æR@?ï¸@?ð?ï‡À?ïâÀ?ïð€?ïð€?ð?ð?ð?ð?ð?ð?ð?ð?ï?ïhÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?î6@?ë¶@?éƒ@?ït@?ïô@?ð?ïø@?ïu€?ïz?ïÀ?ïè€?ð?ïõÀ?ïý€?ð?ïT?î-@?ït?î–€?î4€?í‚À?í§?î¤?ïV?ïÉ€?ïÛÀ?ð?ïèÀ?ð?ð?ð?ð?ïÉÀ?ïÞ@?ïÎÀ?ï¿€?ï³À?ð?ð?ïìÀ?ïã€?ïÌ@?ïèÀ?ï8À?ì;À?ïüÀ?ïä@?ð?ïø@?ð?ð?ïÎÀ?ð?ð?ð?ïÞÀ?ïþ?ð?ð?î“@?ì\À?ì/?ìœ?í-@?ïÿ@?ð?ð?ïã€?ð?ïð€?ð?ïÞ?ïì?ð?ð?ï?ï)À?ïø@?ð?ð?ð?ð?ð?ð?ïÿ@?îþ?îÝ?ïþ€?ð?ð?ïý@?ð?ï€?ïú@?ð?ð?ïý€?ïõ€?ïó?ïý@?ï"?ïù€?ð?ð?ïÌ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï,?ð?ð?ð?ð?ð?ïd@?ïØ?ï€?ïT?ïý€?ð?ð?ð?ð?àaÀ?¢t?Ç'?ì€?ð?ð?ð?ð?ç~€?d?áÙ@?é˜À?ë~?ð?ì,À?ÛG?uÀ?ß?Þo€?½J?¨?áñ@?ã€?Üö?ä’@?ê[@?ff?ïîÀ?ïÿ?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÉÀ?ïúÀ?ð?ïÌ@?ð?ð?ð?ð?ð?ïõÀ?ð?ð?ï ?ïû@?ð?ð?ïí@?ïý€?ïþÀ?ð?ïs€?ï}À?ì9€?î.À?ïG?í@?î1À?îj@?ì}@?ï²?ïL€?ï¡@?ë‹À?æa@?à€?ï¸?éð@?í¡€?ï”?ï§?ïéÀ?ïŽ?îå€?ï(@?îÀ?ïú€?îò@?ïC€?ï¿?ëáÀ?ìnÀ?}€?j@?Ö@?ï6?îu@?ï–@?ì]À?ï§€?ïhÀ?ïÛÀ?ïð€?ð?ïô@?ïÃ?ïÁÀ?ï„?í ?ëdÀ?ë^€?íŒ@?êy€?ë‰À?ï$?ïË?îŒÀ?ë•@?Ú­€?ˆ ?äe€?Ï:?§ô?ë£@?î|?ã-?Š?ˆ0?ªl?ã<@?ìa€?ì“?ïÀ?ê†?ìò@?ìâÀ?눀?¿8?²æ?áæ€? ?¤\?Èu?r ?àÒ€?ï @?ïü?ïŽ?ïŸ@?ï²€?ëS@?ð?ïë€?ð?ï´À?ð?ð?ïò€?ìýÀ?ï(@?ìö€?îÄÀ?ïõ€?ïÀ?ït@?ð?ïÑÀ?ïb?ïn@?îÜ€?ìˆ@?ïP?ïò€?ð?ïþ€?ï[@?ð?ð?ð?ð?ð?ð?ï÷€?î£?ï£À?ð?ð?ð?ð?ð?ð?ð?ïÔ?î€?íš?ð?í¸@?ð?ð?ð?ïõ€?î¬À?ïÛÀ?ïüÀ?ïüÀ?ð?ð?ï¡?ïÉ€?ïƒ@?ïÞ€?îÓ€?í@?í¯À?ìÈÀ?ìhÀ?ï]?îÀ?î«€?ï7?ïÎ?ïÙ?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ï²@?ï{À?ïÉ€?ð?ð?ð?ð?î§€?ìŠ?í4€?î.?îˆ@?ïÅÀ?ð?ð?ð?ð?ð?ïë?ï÷€?ïõÀ?ð?ð?ï À?ð?ïšÀ??ïð€?ð?ð?ð?ð?ïÑ€?ð?ð?ð?ð?ð?éØ?ïGÀ?ð?ð?ð?ð?ð?ð?ïËÀ?ï"€?ïâ€?ð?ïÎÀ?ð?ð?ïó@?ð?ïÝÀ?ïj?ï1?ï€?ïÙ€?ïÀ?ïÖ€?î À?ïø@?ð?ð?ïí?ïb?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï»À?ð?ïû@?ð?ð?ð?ïþ?ï€?î÷À?ï«À?ð?ð?ð?ð?ç΀?¼Ò?Ñ8?欀?ð?ð?ð?ð?ïÎ?ïØ?ë??æÕ€?ß?è6?é!€?âWÀ?çÀÀ?º^?² ?Ü÷€?éD?à ?Y€?E?àÜ@?éÏ?ßû?êê@?Ù€?ìÕ€?ïæ?ïûÀ?ïúÀ?ï‰À?ïÑ€?ð?ïÉ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïúÀ?ð?ïæ@?ð?ð?ð?ð?ð?ïÿ?ï?ïˆ?ð?ð?ð?ïöÀ?ï7À?ïÒÀ?ï—€?ï?ïj?ê4?í¬€?î(?íø€?ëW@?ê¨@?ï¬@?í€?îN€?ê*?ëêÀ?â:@?Ó5€?í’€?îv€?îŸ?îv€?í½@?íñ?îu?îÀ?ïZ?íGÀ?îL?ï ??ïn€?ÆØ?:?ãù?ï?ïì?ï1À?ï ?ï°À?ð?ïø@?ï'?ïã?ïÈ@?ïâÀ?ï@?ï'@?ïZÀ?ï¡@?í€À?î”?îý€?ïV?ï€?ï­À?ï)À?îŠÀ?ÛÜ?:?E?²T?Å’?²ˆ?àyÀ?í¸?ë(@?Çq?Ñ»?Íj?¾>?•0?êZ?Ô€?¦D?ÏR?ìšÀ??îl?î–@?ì¡€?í~€?ìs€?¼°?Ý)€?á€?¯¨?ì+?îW€?ÍÆ?Ý“€?ï1À?ð?ð?ï<?ïë?ï?ïàÀ?ïB€?ï²?ïW?ð?ïî?ï€?ë@?ï–@?î±€?ïô€?ð?ð?ïÙ?ï}À?ì¥@?ð?ïÿ€?ïV@?ð?íâ@?íý@?í€@?æõÀ?ï‚€?ð?ð?ð?ð?ð?ð?ð?ïè@?îZ@?îÍ@?ð?ð?ð?ð?ð?ð?ð?ì¡@?ìe@?ð?ïý?ð?ð?ïÌ?ïþÀ?îÝÀ?îç@?ïö?ïÙ€?ïÕ@?ð?ïï€?ïíÀ?ï5?î¢À?íÀ?í°@?î—€?ïÀ?ïyÀ?ïnÀ?înÀ?ë8?ïd?í¤À?쌀?ëÝ?ï5À?ð?ð?ð?ð?ïÿ@?ð?ïë@?ð?ð?ïÅ?ð?ð?ð?ð?ð?í¾?îq?ïó?îtÀ?ï?ð?ïÿÀ?ïÖ@?ð?ð?ð?ð?ïÖ€?ïõÀ?ð?ïG@?ï÷À?ð?ð?ð?ïÇ?ïÿÀ?ð?ïó?ïô?ïç€?ð?ð?ð?ïã€?è?誀??ð?ð?ð?ð?ð?ï×?ïD€?ð?ð?ïõ@?ð?ð?ð?ð?ð?ïÿ?ð?ïÕÀ?ïÀ?ïdÀ?ïó?ïõÀ?ð?ð?ð?ï»?ï‹€?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ï«À??ï×?ï‘À?ïµÀ?ð?ð?ïI?ïŒÀ?ï¶À?ð?ð?ð?ð?èF@?± ?Ö?ð?ð?ïÿÀ?ð?ïÌ?ïþ?ïð€?ï§?îŠ?Í÷?(?Õe€?ìµ@?êÿÀ?àÀ?¥À?¡œ?ìP?ëF€?ìR€?Ü®€?]?Ÿp?æå?á™?åûÀ?È©?ë]@?ð?ð?ð?ïÿ?ïÇ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïúÀ?ð?ð?ð?ð?ïõÀ?ïšÀ?ïý@?ïr@?ïø@?ïõÀ?ï·@?ï¥?îJ@?ð?ïM@?ïÛ?ï@?ìk@?ì¸?î+À?í=?áZ@?àê@?íç@?ï6@?î1@?îÉÀ?í€?ÏF?æ\À?ìúÀ?î¨À?ïn€?ï_€?ê?å¸@?í¾À?îÎ@?ï1??ïYÀ?ïmÀ?ïÏ?îý€?á%?}`?kÀ?^?l€?@?д?ïùÀ?ïÅÀ?íÍÀ?í¬€?ï´À?ïd@?ïÓÀ?ï΀?ïú?ð?ïÃ@?ïÿ€?í†@?î?À?ïZÀ?ì@?ìÕ@?îßÀ?ï¸À?îÂ@?îy?ï-À?ë§À?à€?–à?ÇY?½z?áÀÀ?äT€?ï?ëÀ?ïi?ð?ð?Ü?Í ?؇?èv@?çûÀ?œÀ?²²?í@?í @?èÖÀ?ë;@?êÖ?îOÀ?ì@?È?Â*?ÅT?†à?ë@?îÀ?ïá@?Ýä?Õ¯?î×?ïó@?ïr?ð?ïê€?ïÚÀ?ï÷À?ïƒÀ?ï—?ï€?î£?ð?ïm€?î@?é™@?ïÆ@?ð?ð?ð?ïÚÀ?îÀ?î¼À?íeÀ?ð?ïäÀ?î€?ð?ï§?ð?ð?ð?çw€?ð?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ïçÀ?îû?ð?ð?ð?ïãÀ?ïá@?íÀ?éÖ?ìø?ïÑ€?ð?ð?ïø?ð?ð?ïÓÀ?îÿÀ?î`?ïV?î”À?ïU?ð?ð?ï߀?ð?ï•@?îc?íb€?ï©?ï‚À?ï¡?ð?ð?ð?ïÊ?ïùÀ?ïþ€?ð?ï‹@?îJ?î@?ð?ð?ð?ïð€?ð?ð?ð?ïë@?ïè@?ð?ð?ð?ð?ð?ïû?ïhÀ?í]€?ð?ïoÀ??ïÿ?ïð@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¤?ð?ïø@?ïã?ð?ïø@?ð?ð?ð?ð?ïÊ?ð?ð?ì€?ìtÀ?íËÀ?ê,À?íÞ€?ð?ð?ð?ð?ï߀?ð?ïþ?ï÷À?ð?ïó?ð?ð?ð?ð?ð?ïó?ïüÀ?ð?ð?ï'@?íX@?ïí?ð?ïïÀ?ïœ@?ï×€?ð?ïõ@?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïK@?îáÀ?ïÀ€?ïWÀ?ð?ïä€?ïè@?ïí€?ð?ïÚ@?ð?ë@?¶ê?6?Ý?ïöÀ?ð?ð?ïõ€?ïó?ï÷€?ð?ð?ð?ë’?³?A?a€?韀?ð?î¯À?áÀ?¡À?äå?ãX€?Ê?Ö\?éË?Òþ?ÖŒ?ã¹@?î&À?îØ@?ïÇ@?ð?ð?ð?ð?ð?ïÚ@?ï2?ïŒÀ?ð?ï¬@?ï¸À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ð?ï×?î€?îø@?ïó@?ð?ð?ï‡?ïÓ@?ð?ïÜÀ?ïû?ð?ï›?îÂ@?ïh@?êu@?ëî?ï@?ï'?ì?îŠ@?ïJ@?í?èÉ€?àJ@?å%@?ë9@?í’@?ëu€?îŒ@?ée€?äá@?ê @?î?@?î&€?îOÀ?í¶À?ì-@?ïÝ€?ï’€?ï À?઀?â]?íÓÀ?ìW?ØN€?¯Ô?f€?p`?T€?ÃH?ïñ?ï6?ìÑÀ?ïC€?ï´À?ïÌÀ?ð?ff?ïôÀ?ï÷?ï À?ïÕ@?î^À?ìü@?îmÀ?ïÀ?îf@?îÌ€?ïP?ïŸ@?ïÀ?íT@?îõÀ?í©?é€?¿(?À?·6?±d?Ôé?ëÀ?í?ï³?ïå?ïê@?ìÿ?„0?ÚÉ?ââ?ï%@?ã2@?x@?Õ€?ï"@?ëÇ@?é,@?ê)€?îú?èE€?Ô¿?Øo?ïk€?ð?ïÒÀ?ïå€?ï‘?î˜?î›@?ï’?ð?í¡€?ï;À?ïÀ?ïL@?î@À?îÙ€?ð?ð?ît€?ï‹À?ïÜ@?ïÈ?ð?ð?ïûÀ?ïnÀ?ëB€?íÀ?ïäÀ?ïïÀ?îŸ@?ð?ïâ€?ïí?ïÄ€?ï™@?ð?é@?ï×?ð?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ï1@?ï®?ð?ð?ïø€?ﻀ?ì?ð?ð?ð?ð?ð?ïüÀ?ïýÀ?ð?ïÊ?î>À?ïJ€?ï>€?ï{@?ð?ïë€?ïÔ@?ïÎ?ïïÀ?ð?ï!À?ïï?ïæ€?ï÷€?ð?ïÇ@?ð?ïTÀ?ï¡@?ïçÀ?ïÎ@?ïÕÀ?ð?ïÒ€?îj€?ïû@?ð?ð?ïÒÀ?ïú€?ï§?ð?ïÔ?ïõ@?ïïÀ?ð?ð?ð?ð?ïú@?îï€?ì¡€?ïÛ@?ð?ïM?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î÷€?ð?ïÔ@?ïÁÀ?ïÇ@?ð?ð?ð?ð?ïÜÀ?ð?ð?ð?î€?íâ@?ïó€?ð?ð?ð?ð?ð?ð?ð?ð?ïÄ€?ïôÀ?ð?ð?ð?ïø?ïïÀ?ð?ð?ð?ð?ïõ@?ï‘À?îÌ€?ð?ïè€?îÑ?ïÜ@?ï­@?ïò€?ïâ@?ð?ï\?ï–@?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?ð?ïâÀ?ïå?ïû?ïÙÀ?ïÙÀ?ð?ð?í?À>?Ù€?ï×À?ïßÀ?ð?ð?ïí?ð?ïº?ï”À?ð?ð?ìT?ÓJ€?¨Ü?e€?ÅD?åT@?îö€?èÀ?Ëõ?V€?‰°?ÉÖ?®È?žˆ?ç,?Ú ?çU@?éî@?åQ@?îb@?ð?ð?ð?ð?ïì€?ð?ð?ï@À?ï÷€?ð?ð?ìg€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?ð?ï¬?îŸÀ?î¿À?î_À?ìÅ€?ïê€?ï•€?ïä@?ïú€?ð?ïò@?ï˜@?îì€?îó@?çÀ?è¿€?í €?ïc?îã?ë¼?í ?íœ?ës?èû@?áÎ@?ëÃ?íù@?íªÀ?í|@?ë€?ç«€?íÞ€?íwÀ?ímÀ?ít@?톀?ï€?í­?ïÓ€?î@?ï—?ï¤À?ïú€?ï@À?ï·€?ïi@?ï%?äÑÀ?¦?¯œ?ƒ?U€?C?²z?ð?ïøÀ?ïå?ïj?îûÀ?ï*@?ïÍ€?ð?ïïÀ?ï™À?ïØ?ïã@?ï?îªÀ?îç@?îÀ?íâÀ?î%?îõ@??í=@?ìíÀ?îpÀ?éÑÀ?áø?Ç¿?(?¡Ä?Þ €?è¡?îy€?íÁ@?ïê@?ïø?Ù“?êÅÀ?î÷€?ï>?ì–À?à·@?Ð3?îšÀ?îÉ@?î0À?íï€?îµ@?ÛÎ?´ú?Ýô?ð?ð?ïì@?ð?ð?ïâ@?ïÁÀ?ïØ€?ð?î”?í•@?îŸ@?ï@?ír@?ïZÀ?ï¼@?íú€?îÀ?ð?ð?ï¦@?ð?ð?ð?ïé@?ïö@?ïÁ?ð?ð?ð?ð?ð?ð?ð?ïø€?ïáÀ?ï«€?íÒ@?ï €?ð?ïÃ?î€?îŽ@?ïÖ€?ð?ð?ð?ð?ð?îw?ïã@?ð?ð?ð?îu@?ï"?ð?ð?ð?ð?ïÏ€?ïø?ïâ@?ï¯@?ï§@?ï@?ï,@?îr€?ð?ïÈ€?ï'€?ï¼À?ïõÀ?ïáÀ?ïÕ@?ð?ïÿ€?ïÀ?ïÕÀ?ï÷@?ïÚÀ?ï²€?ïn@?ïL@?í-€?ï*€?ïßÀ?ïÅ?ï2À?ïK€?ð?ïî?îb€?î¡€?ð?ð?ïx€?ï¿?ð?ïâ@?ïÚ@?ð?ð?ð?í†@?ïiÀ?îm€?ð?ð?ð?ð?ð?ð?ð?ïü@?ïðÀ?ð?ð?ð?ï÷À?î5À?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ﻀ?ê°À?éSÀ?ïQ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ïÚ@?ð?ïò€?ð?ïúÀ?ïïÀ?ð?ïä@?íÀ?ð?ïh€?ï›?ïø€?ïæ€?ïhÀ?ð?ð?ð?ï¿€?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïä??ïð?ð?ï߀?ð?ð?ð?Ü@?ç©À?ð?ð?ð?ð?ð?ïýÀ?îw@?íd€?îLÀ?î¹€?ã2€?ã4€?n@??Ûò?ïª@?î\€?⛀?²N?ŠÀ?\€?µ ?³¤?W?ÒÄ?Ê¢?Ù¸€?Þx?ßë?ìW?ï‚@?ð?ð?ï+?ïó€?ï÷@?ð?ð?ð?ïÿ€?ïõÀ?ïA@?ê`@?ð?ð?ð?ð?ï–À?ð?ð?ð?ð?ð?ï€?ð?îù@?îòÀ?îö@?ï@?ïµÀ?ïÂ?ïú@?ïâ@?ð?ïd€?ìJ@?ël@?ìô€?ç±?ç1?ë¬@?íîÀ?ï@?í?î€?êœ@?ì;?ç=@?ëÎ?éÌ?ìùÀ?ê^@?êw@?í@?îÕ@?íðÀ?ì¾€?퀀?ìW?ëâ@?ì@?ê@?î)€?î?ïÿÀ?ïy@?ïù€?ïˆÀ?ï?ï€?ï„À?ïÿ@?ëø€?µ’?,?À‰?Ô«€?ÃJ?‘ ?x@?¹Ì?è©?ð?îs?è@?í‡?î¢?ïÆÀ?ï/@?ïæÀ?ï¬@?î`?ïÀÀ?îƒÀ?íK€?íä€?îM€?ëNÀ?î ?íÅ€?ïd@?ìÌÀ?ìÀ??í£@?Ùi?º‚?“Ø?žX?×À€?ä+?íÈ€?îl?ï¢À?è?“°?W€?æ½?ð?î¹€?ßÜ€?§t?·.?Õ€?âô?ïk@?îã€?á@?¹®?»X?€p?Ù<?ï’?ï”@?ïõ@?ï»À?ð?ð?ð?ïÛÀ?ï€?íЀ?î ?ìº@?íŒ?íá@?ìR?îÀ?í³@?ïÀ?ïÝ?ð?ð?î-?íq€?ïè€?ïå@?îê?ïÑ€?î?ð?ð?ð?ïò€?ð?ð?ð?î|€?î”?ï£À?îx€?íò€?íð@?ï@?ï€?íÕ€?ìØ€?ï™@?ð?ð?ð?ïÛ€?ï?ïm€?íäÀ?î$@?í±À?ð?ð?ð?ð?ïü?ð?ð?ð?ð?ïÁÀ?ëý€?îË@?î2€?ð?ïå?ð?ð?ï·@?ïÓÀ?ïßÀ?ð?ï@?íÝÀ?ï„@?ï8À?ïPÀ?ð?ïÚ?ìÀ?ê“€??ï €?ïx@?î@?ï:@?ïÌÀ?íöÀ?ï€?ï€?î—?ï;@?ï×€?ïå?ïÆ€?ïæÀ?ð?ð?ð?ïéÀ?íb€?ï¬À?îÕÀ?ïø?ð?ð?ïò€?ïñ€?ð?ð?ð?ïÌ€?ð?ïÞ?îA?î^?ïÊ€?ð?ïïÀ?ð?ð?ð?ð?ï×€?ð?ð?ïÉ@?ð?ïïÀ?ê8?Ù¾€?èúÀ?꺀?ð?ð?ð?ïùÀ?ð?ï¡@?ð?ïÆ@?ïûÀ?ð?ï§€?ï'€?ð?ïÄÀ?ïïÀ?ð?ï‹€?ïú?ð?ð?ï‘?ïå?ð?ïÁÀ?ð?ð?ïîÀ?ïñ?ð?ð?ð?ï´€?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?í¼€?ï×?ð?ð?ïøÀ?ð?ï¤@?ïÝ?ð?ð?ïñ@?àƒ€?€0? Ð?îï€?ð?ð?ð?ð?ð?ïè@?ïÂ@?ð?ð?â’€?´?ËK?¡´?Ó6?Á?ìÞ@?îœ?è€?È?F?€??”è?4?¹?̆?äv?ÞÃ?ä,@?ê?ïŠ?ï=@?ïzÀ?ïQ€?ïú€?ð?ð?ð?ïõ@?ð?ïõ@?蟀?ëØ@?íö?í+@?ð?ð?ð?ð?ð?ð?ð?ïü€?ïþ?ïê€?íì@?ëó@?ïÀ?í€?ïOÀ?ð?ïï@?ï¾@?ïï?îü?ïÀ?è¬@?àå€?瘀?èw€?ê¹€?î—€?íp?ë@?êÍÀ?êó@?ë?î ?ì­?í0@?í—?ìÀ?ì£?í‚@?î-À?î|@?íï?è¯@?ëÍ?î†@?í±@?ï„?ïÀÀ?ïÛ€?ð?ð?ï€?ïJ€?ï€À?ï{€?ïÂ?ïùÀ?åÐÀ?Åê?Çí?¸ú?¥œ?F?ÚÚ€?ë?ð?ï@?åõ?ëî@?ì,@?ï€?îÏ@?ï²À?ïj€?ïÊ?ïý@?ïã€?îf?ìj@?íÀ?í+@?ëÙ€?ë>@?ïv@?èX€?í}?î €?í™À?êŒÀ?Ø€?¨t?‰p?β?ä*À?æç€?ï¸?ìbÀ?á,À?Öb?f?m@?ë€?ð?ê€?ÒÏ?¶â?èû?é€?ÕR€?ì@?ï@?ÐL€?Ñ‘€?ð?ï2€?ïø?ïà?ð?ð??î€?ëô@?ëýÀ?î΀?ïô@?ï¦@??ï\?î¸@?ïü?ï‹À?ï\?ð?ð?ï¹À?ï¬?ïç€?íRÀ?ï{€?ïü?ïÏ?ïû@?ð??ïö@?ð?ð?îv€?ïiÀ?ð?ð?ð?ð?ïüÀ?ïuÀ?ð?ð?ïñ€?ìð@?ë@?ïø?ïàÀ?ïH?ìG€?î?ïý?ïÒ?îÚ?î&@?ï?ï÷?î @?í£À?ð?ð?ð?ð?ïÌ€?êT@?ëÛ€?ì.€?îH@?î(@?íî?ï6€?ï]@?ï|?ï¬@?ïG€?í?ìâ?î€?íÿ@?ï‘€?ïŽ?ïG?ïŒ?ï£À?ïã€?îÇ@?î4@?ï€?ïïÀ?ï«@?íÞ€?ïX??î“@?ï]€?ïd€?î@@?íLÀ?ï«?ïÓ€?ïë?ï÷?í¾@?ï@@?ïÞ€?ï?ï_?ïÞ€?ð?ïë?ïkÀ?ïp€?î¥À?ïÄ€?ð?ð?ïü?ìi€?îPÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï}?ð?ïèÀ?ï?À?à³?î¢?ëp@?ð?ð?ð?ï$À?ð?ð?ð?ð?ïõ@?èz€?Üø?ïôÀ?ð?ð?ïõ@?ï¢À?ï©@?ï±€?ï@?ïÚ@?ï@?ïü?ï;?ïý€?ð?ð?ð?ð?ïk@?ïÀ?ï”@?ïí?ïè@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?î\@?Ù:€?<?¿?ïÚ@?ð?ð?ð?ð?ð?ïçÀ?ð?ð?ð?É?´’?êB€?éÄÀ?ê“À?Ú €?Æ^?Œ`??r`?¤ä?lÀ?¾`?ãé€?æú@?Þ¹€?ì €?銀?횀?ï_€?ïàÀ?ïm€?ïø?ïô@?ïô@?íßÀ?ïú@?ï±À?ïáÀ?ì5?ïþÀ?ð?ïq€?ð?ð?ð?ð?ïú€?ð?ð?ï€?ï·€?îi@?éÅÀ?ï΀?ïþ?ï?ïþ?îÕ?ïÑ@?ïu€?îX€?ï!@?îi€?æÒ€?é™?ía?ê1?é6?ê<?éé@?êdÀ?éÜ€?êÏÀ?ëÀ?çÀ?ë @?ç“?êú@?ï@?ífÀ?ìîÀ?êµ€?èÉ€?ìµÀ?ëÓÀ?î ?ï’À?ï€?îÌ@?ì€?ïÿ@?ð?ð?ð?ïÂ?ïù?ï¶@?ï @?ï¼À?ïì€?ç³@?ÒÅ?4?W?`@?Ä»?î…€?íÂÀ?ï€?ïU?ît€?ìä@?ì–?ï&@?ïö?ïëÀ?ïU?ïä?ïæÀ?ï߀?ð?í~€?ï'@?îT?ïsÀ?îÅ€?î’?ê÷€?î—?í±?ï@?ï?íÈ€?ã?x@?´Z?Ì[?áq@?à?ð?ïæ€?ïå€?ïý@?Û:€?ÈÑ?ð?ãy?ë€?ãÀ?Üâ?ì΀?ÔM?¡?Ò€?Ư?½˜?¨ô??æ9À?ïõ@?ð?ð?ð?ð?ïÖ@?îÀ?ìûÀ?ïÀ??ïÞ€?ï5À?î€?ï|@?ï@?ïvÀ?ïþ€?ïìÀ?ï¶€?ïîÀ?ïä@?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?€?ïýÀ?ð?ï?íS@?ð?ð?ð?ð?ð?ð?ï¼?ð?ð?ð?ð?ì$€?×K€?æ>À?êçÀ?î:?ïÀ@?ï½À?ð?ð?ð?ð?ï@?îD€?ïÓ@?ïÞ?ð?ð?ð?ð?ïî?ì€?ï?í?펀?îÇ€?ïm@?ï?ï}?ïá?ï3À?ïOÀ?í‘À?íV?톀?ìX?íY?îS€?ï5?îjÀ?ïЀ?ï3À?ï£@?ð?íá€?ïü€?ð?ð?ïô@?ï÷@?ï:€?ï&@?ï—@?îÆÀ?ﮀ?ïÌ€?êN@?í"€?ïŒÀ?ïÀ?ïù?î@?î»?ð?ð?ð?ð?îñ@?ïUÀ?ð?ð?ð?ïÝ€?î§?ð?ð?ð?ìÝ€?åb€?ïn?︀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï\@?ð?î?í @?ìŽÀ?ë.?ïmÀ?íê?ð?ð??ïÜ?ð?ð?ð?ð?ïé?âÒ@?Ó¾€?ïp€?ï÷@?ïÔÀ?ï‚À?ïr€?ìo?î‘€?ïÙ@?ð?ð?ï`@?ï¦@?ð?ð?ð?ð?ð?ï~€?ïb€?ïöÀ?ð?ð?ð?ïÚ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?Þ¬?6?¤Ä?î:€?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ïé@?²~?Ò¸?‹@?µì?âø?麀?Э€?ÕQ?ÈÀ?µf??©Ô?Ö§€?èé@?Ü—?âŸÀ?ä€?î€?éš@?îó?ïó?ïÒ€?ï÷@?ïõ€?î@?ê_?ëÀ?íZÀ?ïU@?ïèÀ?íÀ?ð?ð?ïÆ€?ð?ïú@?ð?ï“À?ïÍ€?ð?ïì?ï¨?ïó€?ç@?æÚ@?êg€?ï™?îÀ?íß@?ïŽ?ïs@?î:€??î–À?ï!?ïÝ€?í|À?é§À?íFÀ?ì’À?ëß?ê$?åð€?ã®À?ì1À?êu€?êÀ?ë €?éÒ€?ê®@?ìåÀ?íí€?ïX€?ïúÀ?íº?é?é?@?ê„À?ég?ê €?îÞÀ?íêÀ?î?íŒ?ï@€?ïÏÀ?ð?ð?ð?ð?ï«€?ïÆ??ïÀ?îÜ?ë$@?ð?êÌ@?Õ¾€?Ôr?ÕÆ?ÉÀ?§Ì?<?ª”?ä®?ï­?î€?ïø€?ïi?ïe?îdÀ?î!?ìÿ?ë>@?î¥?îñÀ?ïw€?ï~?ïy€?ïíÀ?ð?ð?ïÀÀ?ïõ?ïëÀ?ïô@?ð?ì´?é~@?ìÞÀ?íâ?ð?ï˜?ïn€?íB@?Ó€?¼Ü?¦Ô?<?ˆ ?Ã@?Ù6€?Û?Æ?ÅË?ÂÈ?îÀ?ïûÀ?ïÈ?ïÎ@?ïÌÀ?æ@?Æ6?ð?ä€?Ív?Ô±?Òá?à8À?Å6?¶º?Á|?M?¸Ð?–Ð?Ø?Ý»?×Ï?ë"À?ïË€?ïã@?ïÇ@?ïu?î"À?ïîÀ?ï¸@?ïÀ€?îæ?í2@?ïÜÀ?ï«?îÐ?ïH€?ïd€?ï½@?ïì?ï¸@?ïúÀ?ð?ïåÀ?ïúÀ?ð?ð?ð?ð?ð?ï{?ï+?ð?ïR@?î(?ïÀ?ïîÀ?ï/?îA?ïè€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡@?ægÀ?ëH€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ï÷@?ïÿ€?ï??ìì€?ïãÀ?í»À?í±À?íŽ@?íÏÀ?îa€?ïµ@?ï¤À?ð?ïÀ?ík?î7€?ï@?ïu?ï«€?ïF@?ïu€?îy?ï@?îÂÀ?ïº@?ïÀ?îÀ?ïr?ð?ð?ð?ïîÀ?îº?åž?Ø%?ꀀ?éÇ?ïúÀ?ï×?ð?ïP?ï§€?ð?í§À?î”?ð?ð?ïà@?ð?ïÌ€?îÞ€?îü€?ð?ð?ð?ïÈ@?ïÝ@?ïÃ?é±€?ëg@?ïúÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¦À?ïš@?ð?ïÙ@?ï¼?îÜÀ??îZ€?îÈ?ð?ð?ï @?ï÷@?ð?ð?ð?ð?ïåÀ?Ë™?Ý‹€?ï÷@?ð?ð?ï[@?í†À?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔÀ?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ð?ð?ð?ï“@?ð?ð?ð?ð?ð?ð?ð?î1?È”?¾L?Ó½€?êC@?Ÿ?ë©@?ð?ð?ïÿ€?ð?ð?î¤À?ïÖ@?ìu@?ð?ð?ߨ€?»ž?ÔO€?”?“ˆ?Ù`€?ä¼@?Ø+€?×l€?‰?šp?d@?¶z?¼Ø?°?À9?ØÅ?âÿ@?Æ×?ÖÙ€?é›@?çƒ?ï(€?ïØ@?ï×À?ïã@?ïú@?î­@?è]@?íå€?ì½?ï €?ïô€?ïO€?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ï?ï†?ïø@?îí@?ïÀ?ï?ïú@??ïýÀ?îÌ€?ëuÀ?íI?ïî?îiÀ?âb@?ëÜ€?í;?ì¶À?ç¦À?ï}À?înÀ?ío@?ãÅ€?æà@?î@?ë:€?è\€?ìk@?ìkÀ?ì˜À?íC?ìz€?ïh@?ìÄ?éÐ@?è~?èÙ@?ë{@?ëdÀ?æ¿@?ì €?ç_@?êO?î4@?íw@?ïo@?ïô€?ïk€?ïë€?ð?ïô€?ï…@?ïªÀ?ìn€?é…?ìÉÀ?ïþ€?ïµ?ïæ?ïºÀ?ïÆ€?ï˜?îY€?Î;?’`?¸œ?Õé€?éÕ@?î9?ïÀ?ïhÀ?ïù@?î”@??íã€?íZÀ?å´À?çØÀ?î‘À?îì@?ï£À?ïk@?í6@?ïÔ@?ïû€?ïþ@?ï÷@?ïîÀ?í)€?ïåÀ?ïäÀ?ìZÀ?ív?ì@?îÇÀ?ï8@?ð?íª€?î6?í{À?èY?ãF@?¡p?»ü?Ú1?î…À?êƒ@?ïz€?ìm@?°Ø?ݱ€?ìs?ë¼€?å΀?ï»?ïå@?îrÀ?§œ?´Ö?è’?îWÀ?Îæ??Õ$?Ñ”?˜?¡P?Ë?±º?ÜÏ€?ê\À?ïZ€?Ù?«ü?èßÀ?ïì@?ð?ð?ï¾€?ïó€?ï‘À?ïÃ?ï €?ïîÀ?ð?ïrÀ?íN?ïä€?ïÎÀ?ïÅ@?îÀ?ð?ïØ?ð?ð?ð?ð?ð?ð?ïÑÀ?ð?ð?ð?ï„À?îJÀ?ð?ïú€?ð?ïü?ïNÀ?呂?îp?ï­?ïæ@?ð?ð?ïô€?ð?ð?ð?ð?ð?ð?ð?æÿ@?ãR€?ð?ð?ð?ð?ð?ïý@?ï¸@?ð?ï•@?ð?ð?ð?ð?ð?ð?ïý@?ï÷À?ïþ?ïç@?ð?ð?í‚À?ìé@?î€?î]€?ïZ@?îäÀ?îáÀ?ïØÀ?ï{À?ï'?î|?ï`€?îg@?ï[À?ïÁ?ï¦?ïÉ?ïÌ?ï?îä?ð?ð?ï?îÒ€?ð?ï³€?îÌ?î&@?æÉ€?ãÕ?ê5€?í·?ïÍ?ïv€?ð?ð?ð?ìñÀ?ä1@?î{@?ð?ð?ð?ð?ïÎ@?ïÑ@?îò?ïÝ?ð?ð?ï(€?ì@?ff?êÎÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá?ïü€?ð?ïjÀ?ð?îù€?îÊ€?íä?îÎÀ?ð?ð?ï¸À?ð?ïÀ?ïÊ?ïÿ@?ð?çð€?P€?çÚ€?ð?ð?ïñ?ïã@?ïÏ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔ?ãÕ@?ãó@?ì @?ï9@?îö?ïp@?ð?ð?ð?ð?ð?ð?ð?ïN€?âìÀ?Ú?Ö ?z ?Ë?\€??P?æË@?ð?ð?ï÷À?ð?ð?ð?ïõ@?쮀?ä¸?èM@?Òa?© ?´ì?‘x?ÞD€?æ€?ÛÓ€?´b?  ?† ?[€?³Ð?»€?º°?Õ©?î)@?ð?ï·€?ð?ïù@?ïâ?ïý€?íR@?ë‰@?ë@?èœ@?ï€?îp?ïÚ€?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ïÈ?ïã@?ìe@?ï߀?ð?ð?ïÛ€?ïþ€?îxÀ?î=À?ìÀ?î›@?ç¨À?ìÿ@?îYÀ?í“?ïÞ?æ{€?æ1@?ï$@?ín?ït€?ð?ï)?è @?ìE@?èsÀ?è^@?êÂ@?ëä@?ë?ì ?î[@?îÖ?è/@?ëðÀ?è•?î1?êpÀ?ê°À?â/€?ä@?êãÀ?ëQ@?ë‹€?îÏ€?ïi€?ï;€?ïP@?îì@?ï€@?ï²@?î“@?î¾€?îh@?ï!?ï¶?ìÏ€?ï?ï?ï=?ï÷À?É­?¢\?é÷À?í˜À?è–À?ëN€?ïƒ@?ïÍ@?ï?ìÑ?î?ì]€?îu?í¦€?íw€?ï%À?îÔ€?ëí€?똀?àú€?âx€?ï`À?ïÝÀ?ïîÀ?ïGÀ?ê7€?ï?ïVÀ?îÿ€?ì‘@?î×?ð?îÓ?ï€?í ?ï´€?í-?ëy€?ïb@?í8@?馀?Ð?a@?–?ߊ€?ì]?ð?ì-?éD?ÚÊ€?¤0?´6?t ?é`À?ï—?ïÝ€?ð?ãü?¾ª?¦?«?è8?ïg?ìr@?åÉ?¾ð?Ä+?âÃÀ?éÒ@?Ý@€?”€?¸–?׋€?èÑÀ?ï¼€?ï{@?î'À?í‹?åÕ@?ê@?ïÑÀ?ïÝ?îñ@?íG?ï[€?ïÀ?í¯€?ïm€?ïëÀ?ð?ð?ð?ïÞÀ?ð?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?îšÀ?ð?ð?ð?ð?ï÷€?ïG?ïêÀ?ð?ï4?ï­€?ð?ïü?îþ@?ï?@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ?î@@?í¡À?ð?ð?ð?ð?ð?ð?ð?ð?ïV@?ð?ð?ïÝ€?ð?ð?ð?ð?ïýÀ?ïU@?ïûÀ?ð?ïê?ï€?ïÀ?ïXÀ?ïô€?ïæ€?ïÑ@?ïÀ?î~?ï,À?ï%À?ïú@?ï½@?ïŽÀ?ïE@?îñÀ?ï €?ïÈÀ?ï²À?ïÚ€?ð?ð?ð?ïŽ?ï€?îªÀ?îã@?î)@?îÿ€?ï?îÏ?î4À??ïÖ@?ð?ð?íÀ?ím?ð?ð?ð?ð?ð?ð?ïÔÀ?ï«?ïz€?ï=€?ð?ð?ð?ïàÀ?ïû€?ë‡À?ê@?ð?ð?ïó?ð?ð?ð?ïé?ï’€?ð?ð?ð?ð?ð?ïñ€?ð?ï½À?ð?ïY?ïõ@?êô?ë]@?ð?ð?ï÷?ð?ï×€?ð?ð?ïå?Î?ê›?ïúÀ?ð?ïå?ïÏ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïäÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Üê?ìû€?ïú@?ð?ð?ð?ð?ð?ð?ïíÀ?ð?ïÈ?鹿?ð?ð?ð?å8€?Ñd€?·°?Õ2€?Ø%?µ’?à ?×\?฀?ð?ð?ð?ð?ð?ð?ïŽ?Õò?Çn?¾®?¸D?а?$?°\?”x? ?Ž ?‡0?‡ð?Ñs?ëÀ?îô@?ï€?ïù€?ìÉÀ?ï8À?ëù?îGÀ?îR?ï¨?ï4@?ï5À?ïÝ€?ïÉ@?ïŽÀ?ïÞ?ð?ð?ð?ð?ð?ð?ð?ïÐ@?ð?ð?ð?ï÷@?ð?ð?ð?ïñ€?î}?ïz@?í‹?ï^@?ï]?îáÀ?îŠÀ?ïo?í¡€?ì$@?ìë@?ç„?îÂÀ?ð?îÝ@?ï-À?í,À?ì´@?é³À?ê‘À?è€?èA@?îi€?ït?ãåÀ?燀?î›?æÿÀ?îô?ìl€?ë,À?ê{?é@?êZÀ?ê À?ë·€?í<À?íÀ?íÕ@?ë±€?í·€?ï @?îÅ?íÅ?ïOÀ?ïVÀ?ï½€?î?ìø@?îë@?ïaÀ?ïë€?ï"@? Ä?á@?ï ?îmÀ?팀?îÆ@?îy?ìœ?í?î¿@?îpÀ?íÐ?íÌ@?î,?íÑ@?ïµ@?ïiÀ?éE€?ã¶?î~€?ïÀ?ïßÀ?ïý?ï­?íÈ@?í¤À?ìö?èÜÀ?Þe?è0?î„À?ï @?î9À?î0À?ìBÀ?ïwÀ?ï€?íS@?êÚ?Þ¿?ÅK?¾ø?ä¤À?ß+€?ê-€?튀?îï@?ïÄ€?ï7?Ò®€?B?Õ$€?ÜQ€?êdÀ?ð?ïý€?ð?êW@?Í1?a@?s?¿$?äß@?î¥@?ïÙÀ?êãÀ?äïÀ?îÜ€?ïc€?ï€?ï€?ÖÂ?ß3?ï€?ð?ïð?îÏ@?îÀ?î&?ïe?îµ@?íË?îª@?î<€?ìÁ€?êo?í€?íñ@?ï°?ïƒ?ð?ð?ð?ð?ð?ï<€?ïg@?ïý@?ïõ@?ïñ?ð?ð?ð?ð?ð?ð?ïÀÀ?ï?@?ïÃÀ?ð?ð?ð?ð?ï²@?ï~À?ï§?ð?ïª?ð?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ€?á)€?ëË@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¾?ð?ð?ð?ð?ï€?ï×€?ïé?ï¶?îÁ€?ï€?ïºÀ?ï¾À?ð?ïÀ€?ï0À?ï×À?ï ?ïå?ïûÀ?î}€?ï¼€?ïI@?ï²€??ï‚?ìÒ?í»€?ìîÀ?ð?ïñ€?ïŸÀ?îâ€?îHÀ?ïÃ?ïM?ïþ@?ð?ï?î$?ï)À??ð?ï÷@?îíÀ?î³À?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÓÀ?ï‘@?ïé?ð?ïù@?ð?ï·À?ïžÀ?ê À?ï9@?ï*À?ï¿€?îe@?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï½À?ð?ð?ïê€?ïò@?êMÀ?ë¤?ð?ð?ð?ð?ð?ð?ð?åˆ@?¡8?Óê?ï=?ïùÀ?ð?ïÿ?ïüÀ?ïæÀ?ïñ?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô€?ð?ð?ð?ð?ð?ð?îÑ@?î›@?ïÿ€?ïÍÀ?ïó?ð?ð?ð?ð?ïýÀ?ïÝÀ?ð?ð?ð?ïú@?ð?ð?ãÇ@?â‰?Ä×?̳?ì?ð?ë?ˆà?Ž0?ÚD?Ó?ð?ð?ð?ïñ€?ð?ïÕ?èÀ?Õ€?ÜÊ?·V?› ?à?½B?íÁÀ?êX€?ÌR?Û°€?éÕÀ?ïÏ€?é€?ï¶À?ìî€??ëŽ?êz@?í€?î¯@?ï@?ﺀ?ï•@?ïë?ïÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ð?ð?ïö??ïëÀ?ð?ð?ï÷€?îøÀ?ïà€?í‚?î§@?ï=@?ïä?ïk?ïÇÀ?íiÀ?ì€?îwÀ?ì1À?ð?ð?ð?ï¤@?çØ?ìî@?ê]À?é­@?à[€?è=À?éÐ@?á¯À?ãò€?í#À?ïU?ê€?íw€?é€?áy?é–À?íiÀ?ìòÀ?êPÀ?ìC?ëÅ?éº?åEÀ?ët?îó?ï@?ïÈÀ?ïû@?î½€?îò€?ï/?ïR?í±€?î“?ï›?ð?Ø•€?©ð?î¼€?ïÕÀ?íY€?êTÀ?æÙ@?ìÏ€?à>@?è;À?î/€?ì‚@?çù?ïL@?ïŠ@?ïnÀ?ï@?î¥@?êù@?î÷€?ï´À?ïú?ð?ïÚÀ?îm€?îÐÀ?àj@?âÎ@?âUÀ?æÖ€?ì}?ì¡@?ïâ€?ïÍ?ïÀ?îµÀ?åÀ?ÛB€?êÚÀ?ï-?é$?«x?•€?Á‚?é•@?îw?î–€?î\€?î?ïÙÀ?Õr€??g?[€?é?ð?ïÝ@?ð?ïW€?áv?†0?œh?² ?Ãv?çl€?éë@?â˜?ï¾€?íÓ@?ï=À?îª@?îk€?ïF@?ë @?íÀ?ï<?ï@?ëZÀ?ï¦?îÏ€?í¾?ïc€?ïŒÀ?ï>€?îA?ï ?íè@?íä€?íb?íß@?î€?ï–À?ïã@?ð?ïÕ?ð?ð?ïô€?ð?ð?ïé?ð?ð?ð?î À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïèÀ?ð?ïîÀ?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å`À?êü€?î]À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï3€?ít€?ïï€?ï€?ï’@?ï'€?î©@?ïf?ïžÀ?ïÛ€?ïà@?ïá?ïë?ð??ïs?îœ?ï)?ð?ð?ð?ï@?ï…@?ïÔÀ?ïÃÀ?ð?ð?ð?ïj€?îø€?îì€?ïÂÀ?ð?ð?ïZ?î½@?ìÏ?ð?ïÀ?ð?ï{€?ïB@?ïÁ€?ï?îã@?ï7?ð?ð?ð?ð?ïô€?ïá@?ïó?ï«@?ð?ïø@?ð?ïñ€?ï§?îÂÀ?ïÝ€?ïîÀ?ð?ïó€?ïîÀ?ïù€?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïF?ç €?ïøÀ?ð?ð?ð?ð?ð?çŠ@?`?ÃZ?æ’@?ï÷€?ð?ð?ð?ð?ïóÀ?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô€?ï–?ï~?ï˜@?ï«?î­À?ïÀ?ï €?ïV@?ïÇ€?ð?ð?ð?ð?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éº?àÜ@?å5?ïê€?ìa€?éÇ?åQ? €?¬t?Í?äà?,?Ã[?ð?ð?ð?ð?ð?ð?æ™À?Õ}?µÚ?ÜÛ€?Óª€?lÀ?(?ãß@?êš?„P?Óó€?çüÀ?éå@?è9€?í~@?îñÀ?ìL€?íŸ@?îeÀ?ë˜À?í\€?ï[À?ï¼?ïáÀ?ïð@?ïú@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÕ@?îB@?ï4@?ð?ïX€?í½€?ïîÀ?ð?ð?ïÔÀ?ï„?îË@?íô?î@@?ï@?ïâ@?ïÏ@?ï]?ïš@?ð?ï>@?êÁ?ïV@?ïˆ?î‘À?îŽÀ?ã?Úv?î/@?Øê?Ò¨?ï'€?îñÀ?ëí€?êÔ?îy€?ë~À?íê@?ì›?íü?ïÌ€?íÉ€?ìb€?ï1?ê¦@?íÙÀ?îœ@?ê @?êeÀ?îr@?ï©?ïy@?ï?ïÀ?ïÏ€?ïQÀ?ïÌ@?ð?Ø ?qà?¡”?ívÀ?î0?êf€?åTÀ?ê0@?è§À?ëÁ€?í.?î @?ï×À?îï@?ïµ?îÛ€?ï–@?îÒ€?ïY€?ï¼À?ï]À?î«?ïõÀ?ïµ@?ïØ@?ï€?îÑÀ?é\€?ì€?ëÕ?íöÀ?îPÀ?îñ?ïá?ð?î+?âM€?Ý‚€?íÀ?ïu?ïÍÀ?ç ?ì¯À?àÀ?°Ô?ÐÝ?éèÀ?í€?ð?ìË@?î’€?ï„?à4À?©H?‘0?ì¶?ïô€?ïÓÀ?ð?î€?îËÀ?¥à?“p?°œ?åõ?îÝÀ?îb@?ì·@?ïÝ€?ïp€?ï÷@?ð?ïý€?ïÂÀ?ï§@?ïæ@?ïã?ìI€?îw€?ï<@?îªÀ?ïe€?ïC€?î½À?ïQÀ?ï«@?ïP@?ï…?ïƒ@?ï[?ïë@?ïô€?ïÿ€?ð?ï÷@?ïì?ð?ïþ?ð?ð?ïÿ€?ð?ð?ð?ð?ð?ð?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïà€?ï÷€?ð?ð?ïô€?ð?ð?ð?ð?ð?ð?ð?ð?ð?í @?ê½À?ë­À?ì„À?ïå@?ï€?ï«À?ïýÀ?ïù€?ïõ@?ð?ð?ð?ð?ïN€?ïøÀ?ð?ð?ï}À?ïÀ?ï÷@?ð?ð?ïd@?ïR@?ïÞ?ð?ïÌÀ?ïÿ?ïë@?ï€?îŠ?ð?ð?ð?î°€?î@€?ï•€?ïÌ?î7?ïoÀ?ïªÀ?ï‰À?ïÓ€?ï½@?ïã@?ït@?ï“?îºÀ?ï‹?ïÿ€?ïýÀ?ï#?ëó@?ïh?ì€?í¸À?ïˆ@?îЀ?ïý@?ð?ïþ@?ïô€?íË€?ïô€?ð?ð?ð?ð?ð?ð?ð?ïñ€?ð?ð?ï?ïN€?ïö?ð?ï÷€?ð?ð?ð?ïþ?ï¿@?ff?ïñ€?ïò€?ð?ïô€?ð?ð?ð?ð?ð?ð?ïé?ð?íò?ð?ð?ð?ð?ð?èÿ@?Ö”€?”(?á¬?îá?ð?ð?ð?ïà@?ð?ïô€?ð?ð?ð?ð?ð?ïù€?ïýÀ?ð?ð?ð?ð?ïX€?ïÃ?ïÍ@?ïP€?îäÀ?ïõÀ?ð?ð?ïø€?î|À?íúÀ?î§?ïþÀ?ð?ïQ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îõ€?ìòÀ?ì?ë­À?åC@?ÖU€?ï-€?ë´À?¯ˆ?œ?ï™@?ð?ïÛ@?ïìÀ?ïg@?ç ?Ü ?{?2?w?Óˆ€?Õ\?ÉÚ?Ð?Ææ?é‹À?Æ?s@?ÕH?ÜJ?êÛ?îÒ€?îê?îËÀ?ì‡?îÀ?î@?ïl@?ïéÀ?ïó?ïþ?ïú@?ïí@?ï•?îø€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü@?ï2?ð?ï†@?ïÛÀ?ïö?ï¿@?ð?ð?ïô€?ïÉ@?íéÀ?ïó@?ï]?ïÀ?ð?ð?ð?ð?ïö€?ð?ð?ïÞ€?ïû@?í8?å@?Ç„?ी?Â,?g?tà?êM€?ïyÀ?îy?î¯?îÏÀ?ïC?îÁ€?ê€?êäÀ?î¬@?îÉ€?îV€?íã@??í?îI€?èv?ê¿@?îb?ï{À?ïî?ìLÀ?îÏ?îö@?ïÎ?ïëÀ?ð?ÚÜ€?ÜÈ€?ËÏ?Â0??ê‰@?î¯À?íÞ?íp?î‹?ï½À?ïñ€?îæ€?ï[?ïâÀ?ï±€?ïÒ@?ïê?îê@?í@?ïí?ïíÀ?ïÀ?ïTÀ?íW€?ï‘À?îp?ì°@?ïšÀ?ïìÀ?í}€?ï €??î®À?ïz€?î¹?î¾À?î|À?ëøÀ?ïæÀ?î¨À?ïe€?ïÉ€?ïÂÀ?ïÀ?ï¸?Ñ? ?Ó•?èS?ïÀ?ï÷@?ï÷@?ïX?ã@?Ú÷€?æÃÀ?éÏ€?îÀ?ï÷@?ïìÀ?ð?ð?é·À?æ!@?èF@?ÈI?Â>?Û:?ã‡@?ïi?ð?ð?ïæ@?ïý@?ð?ï×€?ïþ@?ð?ïÒ?ïÏ@?ïÑ?ïW@?ïy€?ï%?ï €?ïN@?ïo€?ïÚ?ï·@?ï€?ïE?ïk€?î×À?ïÄ€?ïÙÀ?ð?ïï@?ð?ð?ð?ð?ð?ð?ð?ï€@?ð?ð?î‰?î7€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ï¾@?ï½€?ïö?ð?ï×À?ð?ð?ïã@?ð?ð?ð?ð?ð?é?ð?ð?ïî?ð?ïÀ?ð?ï×?ð?ð?ïô€?ð?ð?ð?ð?ð?ð?ð?ï¬@?ïýÀ?ð?ð?ïú@?ïâ€?ï!€?ïÊ€?í@?ï§@?î¼?ël?ï€?ð?ð?ï„€?ð?î°?ïŽ@?ïÀ?ï?î‹?ï.?îÖ@?ï„€?ïô€?î¼?ïÁ€?ê&À?íº€?î?ïXÀ?îv?ï¾À?î}@?ïb€?îGÀ?é“?è-À?ïí€?ï8@?îó@?ïOÀ??ð?î.?ï“€?ï•€?ð?ð?ð?ð?ð?ð?ð?ð?ï|€?ï¬À?ë±€?ëT?ïðÀ?ð?ð?ð?ð?ð??ïºÀ?îî€?îT?î–?îâ?ïã@?ð?ð?ð?ð?ð?ð?ð?íX@?ïá@?ð?ð?ð?î¹?ÊÉ?¡L?Öð€?ïË€?ð?ð?ð?ïÚ€??íR@?ð?ïà@?ïã@?ïþ@?ð?ð?ð?ð?ð?ð?ð?ï•@?ï@?ð?ïàÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïbÀ?íå@?ð?ð?ï%@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ïýÀ?ïö€?ïR?ï À?îC@?ìA@?ì ?ïì@?×%?Ó?ð?ï¥@?Æ5?<?ì]€?ð?ï÷?ïË€?Øå?\?Õ?Îç?€Ð?x@?@?…°?Åú?k€?Á?<?X€?ÞÙ€?Õ}€?b?Ë8?ët@?éÇ@?ï¸@?îÞ?ïÚ€?ïµ?ð?ï»?ð?ð?ð?ð?ð?íêÀ?î*@?ï‡À?ð?ï¹€?ï?ð?ð?ð?ð?ð?ð?ï¢@?îÜ@?ï÷€?ï@?ð?ð?ð?ïå€?ïõÀ?íwÀ?ð?ïÆ?ïÍÀ?ï„À?ï1À?ïÝ€?ïï€?ï¯@?ïðÀ?ð?ïÔ?ð?ï˜@?ïíÀ?é?ÞB€?Ñ€?åt?æzÀ?±–?áõ€?ê €?ïÔ€?ílÀ?ì«€?îjÀ?ë®@?ê©À?ì @?îlÀ?ê™?èz@?ævÀ?î”@?éì@?æ¢@?çÓ€?è£À?é7€?ï‰@?ï†À?ïå€?ïá?ïî?ð?ï¦@?ïì€?â½€?Ûé€?çw@?˜@?Y€?ã<€?ïñ@?ì €?î¶À?î¨À??ð?ïî?ïÞ?ïÀ?ï‰@??ï‘??ëv?î×À?ï“À?î€?ï@?îÇÀ??ï=À?ëo€?î€?Ꟁ?î?ï%À?ï`@?ïÀ?ï—À?ï À?ïXÀ?ï¦À?ïÙ€?î}@?î7€?ïÀ?ï¤À?ð?ð?í@?Ãn?Õ3€?í(€?ì²€?ð?ð?ð?ãõ@?8?Ðz?êêÀ?ïË€?ð?ïõ@?ïÝ€?ð?ïì@?ð?ð?ð?âp?Î?än?äœ?îÉ?ð?ð?ïô@?ïš?ð?ï@?ïü?ð?ð?ð?ï+€?î'€?ï!@?ïQÀ?ïÝ?切?ïp€?ï|?ï¨@?ï€?î1@?íõ€?ï?îÀ?î/€?î"À??ð?ð?îá€?ïéÀ?ð?ð?ïd@?ï ?ï§€?ð?ð?îÆ@?ï÷?ð?ïô@?ïù@?ïé€?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ïþ€?ð?ð?ð?ð?ð?ð?ï³€?î]€?ïÞÀ?ïýÀ?ïÿ?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ïÝ?ç½€?ð?ï÷@?ð?ð?ð?ð?ï×@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ïÃ?ð?ð?ð?ï•?ï²À?ï€?í(??ï*?ì€??î¥À?ð?ð?ï—€?ï|À?ï?ð?ïÉÀ?ïÆÀ?ïÆÀ?í€?ïÈ@?ï‘?ï€?ïÉ€?î$?ïl@?ï<€?í¨?ï?€?ïL?ïO?ïd@?ï €?î¸?îþ€?îž@?ð?íFÀ?í=?ïi@?ð?ïò€?í?í0€?íw?í–@?î„€?ïZÀ?ð?ð?ð?ð?ð?ï¶€?ïÿ@?î ?ë™?ëVÀ?ïvÀ?ð?ð?ïî@?ïZÀ?ïw@?切?ì5À?î4€?ð?ïÆÀ?ïó€?ïþ?ïñ@?ð?ð?ð?ð?ð?切?í­@?ï§À?ð?ï¶?Ø9€?ÀI?çÀ?ïÝ?ð?ð?ð?ð?ð?ï@?ë¼À?ð?ï÷?ïý?ð?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÎÀ?ïÿÀ?ð?ï~?ïÆ€?ð?ïþ@?ï3?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï7@?ï @?ïÇÀ?ð?ð?ð?îzÀ?î6?ä_@?Ô€?ð?ð?Óò?ºf?îx@?ð?ïÃ@?éÀ?(?³J?²P?ˆà?©0?ª„?† ?§`?£$?¹?†À?ØØ€?©t?(?ز€?âô€?ìø€?êÕ€?îÿ€?ð?ïÝ?ïêÀ?ï÷@?ïÇ@?ïæ€?ïu€?ïô@?ïd@?êD€?ìp@?î1@?ïñ€?ï?ïÿ€?ð?ð?ð?ð?ð?ð?ï®?îC€?ð?îˆ@?ð?ð?ïý?ïý?ï¤?ïŠÀ?ïú@?ïþÀ?ð?ïU@?ð?ïe?î4€?íU€?ï‘€??ï³?ð?ð?ï<À?ïÀ?æq?ÛM?çà?ë‰?¼š?ªt?ÔX?ï,@?ì÷?î‚?와?ìo@?ëë€?î?ìÍ@?íÔ@?ëîÀ?ì¨À?í¡À?î @?íÀ?íØ€?ìÞ€?ìa€?î~?î|?ï«?îO@?îÀ?ïý€?ð?ï¿À?ð?ïÙ?Þ%€?g@?uà?·<?ìô@?îÛ€?ïÄ@?ê}@?ë³@?ïЀ?ï§@?ïã?ff?ﻀ?ï·€?ïÝ?ïÉ?ï·??ï?ïºÀ?ï´@?ïâ€?ï«À?ïk€?ï@?êˆ@?ï<?ï!€?ëÕÀ?ï?î¿À?ï«?ï‹@?ïB?îô€?í¶?ïë€?ï¤À?ð?î{?ï¦?ïëÀ?ï¦@?éò@?Á<?¾?ê%À?í¬?ð?ð?ïûÀ?ïS?Å"??ë @?ïø@?ð?ïðÀ?ð?ïïÀ?ï£@?ð?ð?ï0€?×í€?Øž€?íÝÀ?îqÀ?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ïy@?î=@?ï;€?ïá?ï¬@?ï?ï¸À?ïÅ€?ð?ï«€?ïþÀ?ïßÀ?ï­À?ð?ïÐÀ?ïsÀ?ð?ð?ð?ð?ð?ïú?ð?ïñ?ïÉ@?ð?ð?ïý?ð?ïÃ@?ï´€?ð?ï÷?ïÏ@?ð?ð?ð?ïú@?ïý?ð?ð?ïã@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ïï?í+À?çq?îÿ@?ð?ïá€?ï¿?ïµ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?ð?ïâÀ?î?îï?îc€?îT?ïö@?ïêÀ?ð?ð?ð?ïÛ€?ïÔÀ?ð?ð?ð?ïöÀ?ïý?ï[?ï @?ï›@?ð?ï8?ïáÀ?ïÆ@?ïÉÀ?ïf?ïÞ€?ì?ïÁÀ?î5À?ïB?ïÀ?îiÀ?ïÏ€?î¸À?ïÀ?ïÃÀ?î|€?ï&€?ïô?ïäÀ?ð?ï×À?ff?ð?ïóÀ?îäÀ?ð?ð?ð?ð?ïÙ?ð?ð?ð?ð?ð?ïÄÀ?ìf@?ï7@?ð?ïóÀ?ï€?ð?ï÷?ïóÀ?ïà€?ïq@?ï@?ð?ïÝ€?ïÆ€?ð?ïàÀ?ð?ð?ð?ð?ð?ïü@?îV?ëüÀ?ïÛ€?ÜP€?ÑÀ?ëê@?îIÀ?ïÑ@?ð?ïöÀ?ð?ð?ð?ð?ïóÀ?ïô?íÈÀ?í¹@?ïz@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ@?ïû@?ð?ð?ð?ð?ð?ð?ð?ð?ð?îNÀ?ð?ð?ïÎ@?ï­@?ð?îV@?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?é @?ð?ð?ð?ð?ð?é €?éK?ð?á?ëÉ€?ð?ë°@??Â:?ï¬?ð?ð?Ý€?´`?—?x?,?¢?ƒ?ºX?”X?ÂÌ?ØZ?Ì?Ã#?£„?®L?†Ð?Ó,€?C?¾Â?ãý?è¢?ìt@?ð?ð?îT?ï?ï €?ï„@?ï²?ï'@?ï±?ïÍ@?ï9?ïi?ìN?í8?ð?í£À?ð?ð?ð?ð?ð?ïØ€?ï÷?﯀?ð?ð?ð?ð?ð?ïçÀ?ð?ð?ïÀ?ï?À?ïf@?ð?ïú?ð?ïØ€?ï²@?ï2À?ïo€?ï•@?ï·€?ïú@?ð?ïì€?ïêÀ?ïöÀ?åš?à^À?íÀ?ïÀ?ÚÞ€?À?Úx€?ïØ@?ïJ?ëA?ì?ì?íH€?î÷À?ë@?îeÀ?îÆÀ?í®€?î§€?íÌ?êê€?îÀ?ìW?ëç€?ì…À?ïu€?ï?ïÀ?ëì?ï{€?ð?ð?ï÷?ï…À?ð?ên€?Àí?¿º?“ð?ê†?ïI@?ï @?í²€?ïÓÀ?ï¾€?ïU@?ïÚ€?ïÉ€?ïÅ€?ïêÀ?ïú?ïçÀ?ï™?ï¸?ïß?ïõ?ïÍÀ?ïЀ?ï?ïàÀ?ï΀?ïó@?ïD@?ïb?ï@?ïóÀ?îÕÀ?ìÖ@?ëž@?ïÇ?ï@?ïà€?ïÆÀ?îñ@?ïa@?ð?ð?ð?ï­€??ïÅ?준?¦?˜˜?ÛS€?íÓ€?ð?ð?ïÏÀ?äÁ€?×R?Çå?xà?ÐÈ€?èŒ?ï¾?ð?ð?ð?ïú@?ïã@?ï¿€?ð?îùÀ?Üæ€?c?Áb?æ5€?쮀?ï6@?ï@?ï£?ïû@?ïæ€?ð?ð?ð?ð?ïï?ï©À?ð?ð?ïÊÀ?ïðÀ?ð?ïæ€?ï;?ïÛ€?ð?ï‘À?ïÐ?ïû@?ð?ð?ð?ð?ð?ð?ð?íñÀ?ïé?ïêÀ?ïï€?ð?ï¢@?ï:À?ï¢?ïz@?ïæ@?ð?ð?ð?ð?ð?ïÕ€?ïù@?ð?ð?ð?ð?ð?ïíÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïéÀ?îž@?ïä€?ð?ð?ð?ð?ð?ð?ð?ïðÀ?ð?ð?ïþÀ?覀?ìš?ï‚?ïÍ?ïç?ð?ð?ð?ïÞÀ?ð?ð?ð?ïÞ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê¡?î:@?ð?ð?ð?ïð€?î‚€?ï”@?ïŒ?ïÛ€?ð?鹿?ïíÀ?ð?ð?ïú?ð?ïõ?ïÕ€?ð?ïçÀ?ïºÀ?ïªÀ?ïÇ?ïµÀ?ð?ïöÀ?ï_€?î!À?ï¾@?ïˆ@?ïÀ?îÔÀ?ð?ïù@?íù@?ï?ï€?ï;€?ïN@?îÎ?î±À?î‚@?ïw@?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ð?ð?íL@?ïþÀ?ïó@?ð?ïíÀ?ïæ?ïõÀ?ïþ@?ïs?ìC€?ï=€?ð?ð?îÏ@?ð?ð?ð?ð?ï¸@?ï§€?ð?ð?ð?ð?ïÚ?ïÞÀ?ð?ð?ð?ð?ï¯@?ä<?Ü€?ËÇ?¸²?çv€?ïþÀ?ïÀ?ïa€?ð?ð?ð?ï­€?ïñ€?ð?ð?ïú€?豈?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¬@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïx€?ï‹À?ð?ð?îä@?î}@?ïç€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìØ?ð?ð?ð?ð?ï÷@?ì€?剀?ìÁÀ?Íe?åíÀ?ð?íó?±þ?¯0?ï{€?ï¢?ê£À?©(?£´?±Æ?’X?¨À?I?»È?©@?ÑÇ?Â&?Ñ@€?Þw?½?x ?x€?{?Û¶?ìY@?î+?ï–€?ïý?ïý€??îS€?ïI€?ïæ€?ð?ïêÀ?ï[@?ï5@?í{À?ïÄ@?ïû@?ð?ð?ï8?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï–€?ïóÀ?ïíÀ?ïöÀ?ï„À?ﺀ?ï–À?ïú?ëª?ë©À?íªÀ?ïy?ïÃÀ?îÓ@?ï:@?ï§?ê›@?á©@?ên@?ì/€?êt?ê¥À?È;?î€??ìU€?í…?ë=@?î€?ï¢À?íAÀ?ï/€?ëd@?ë´?çßÀ?î–@?î1?îÀ€?ìÝ@?í @?îE?ïäÀ?ïÀ@?ïÀ€?ï´@?ð?ïú€?ð?ð?ï~@?ð?ð?íÀ€?Èð?¸ò?Û¼?ð?ïù€?ï•À?ï`€?ï.?ïÜÀ?ï˜À?ïð€?ïk?ïÓ?ïç€?ïíÀ?ïíÀ?ïø?ï»@?í/?ì¨@?ïrÀ?í“À?î0?ìF@?ïËÀ?ïù@?ïì€?ïžÀ?îØ@?ïó@?ï¼€?ïpÀ?îs€?ð?ð?ï±?ïâ€?ïJ@?îé€?ï—€?ïç@?ð?ïíÀ?ïÈ@?ê­€?Íx?¡8?g?Þ~€?éÝ@?ï±€?蚀?Ñ)€?uà?Ã?ê€?é¼?ïò@?ïÉ@?í¯?ï¯?ð?ð?ð?ïf€?éÀ?ÓH€?Ÿ¸?Å??ãðÀ?èíÀ?ð?ð?ð?ïâ@?ï¡À?ð?ï–@?ïê?ð?ð?ð?ð?ïÏ€?ïÍ@?ïã@?ï÷?ð?ïŸ@?ï À?ï¿?ïÜ?ï¼À?ð?ïÌ€?ïh€?ð?ð?ð?ð?ð?ð?ï÷@?îs?ïá?ï‹?ï‘?íù?ïÔ?ð?ïØ€?ïþ@?ð?ð?ï÷?ïÏ@?ð?ð?ïÿ€?ïÊÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ïãÀ?ïÂ?ð?ï’À?ïÈÀ?ð?ð?ð?ïñ@?ïÒ€?ïèÀ?ð?ð?ð?ï÷?ð?é?íkÀ?ïäÀ?ïý?ïÛ€?ïá€?ïá€?ïíÀ?ïÉ@?ð?ïý?ï²€?ð?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïýÀ?ð?ð?ïô?ïõÀ?î—@?îËÀ?ïo@?îÉ?ï½@?îx@?ð?ð?ð?ïíÀ?ð?ï΀?ïØ€?ïíÀ?ïý€?ïòÀ?ð?ïôÀ?ïÊ?ï÷À?ïÊ@?ïù@?ï¸@?ïw€?ï—??ï»?ð?ð?ï´€?îë@?ï9?ﺀ?ï³€?ïö€?ï¡?ï›À?ð?ïÛ€?ïä€?ð?ð?ð?ð?ð?ð?ð?ð?îqÀ?îßÀ?ïà@?ïÁ@?ï—€?ïÞÀ?ð?ïV@?ð?î•€?êà@?î~?îXÀ?ï?ïÉ@?ð?ð?ð?ïØ?ï×À?ð?ïû@?îG@?ï=À?è]€?åò€?ð?ð?ð?ð?ïÿÀ?ê—@?áå?è$€?ïq€?ïú€?ï|@?îô€?ð?ïíÀ?ð?ð?ð?ð?ð?ð?ïúÀ?ïþ@?ð?ð?ïíÀ?ð?ð?ïþ?ð?ð?ð?ð?ð?ð?ð?îÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÅÀ?ð?ïx?îM?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë“À?ð?ð?ð?ï'À?ë·€?ëæ€?ëû€?à?À?Âê?ïÀ?ïö@?Ô™€?§è?ï,€?çÙÀ?¶n?¯´?¿@?˜ð?™?xÀ?$?…À?bÀ?ËP?ç€?ï`À?ïøÀ?ð?ï÷?ïü€?ì{?îþ?ïý@?ïóÀ?ð?ïñÀ?î#@?îx?ïûÀ?ï‹?ð?ïóÀ?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ð?ð?ð?ïà€?ï´@?ð?ð?ð?ïú€?ï©@?ïÿ€?ïá?îÍ@?ð?ïÿ@?ïò€?ï<?ï®?ïMÀ?î©@?îC?ï÷?æ„À?âÁ@?ák€?ìXÀ?îqÀ?æÀ?áÀ?ï’?í´@?ì0À?é @?êG€?ë°€?í$À?ç@?è?뺀?ퟀ?í¬€?ïÉ€?îª?ì?ëÀ?ìŠ?ï?ïý?婢?îÓÀ?ïß@?ïÛ?ð?ð?ð?ð?ïÞÀ?ð?ãÍ€?”¸?ä¶?á¡€?íp?︀?îN@?î)€?î–À?ïW€?ï(@?ïw€?ï°€??ìÀ?ï­@?ïz@?鹿?ï¯?ïJÀ?ï›@?ëä?ëèÀ?çÀ?ï—@?ïêÀ?ï’?ïûÀ?îÚÀ?ïâ?ïþ€?ð?ð?ïé€?ï×@?ïWÀ?ï™@?ïˆ?ï€?ï¿€?ïbÀ?ï)@?ë.€?à€@?ßå?ÕÛ?ã€?Ó6?…Ð?ÈÌ?ÉŸ?‘`??{à?¶¬?Óz?àP@?ê„?ïþ@?ð?ð?ïêÀ?ïú?ïŒ@?äÜÀ?­$?Ðà€?ã-€?ï?ð?ïÍÀ?ð?ð?ïÀ?ð?ïçÀ?ïº?ï§À?ð?ïÆ€?ð?ïú?ð?ð?ïü?ïÃ@?ð?ð?ïó?ïÆ€?ïÊ€?ïÅ€?ï÷?ð?ð?ð??ð?ð?ð?ð?ð?ð?î÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŸ@?ð?ð?ð?ìmÀ?ïêÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ï×À?ïœ?ð?ð?ð?ð?ïÛ€?ð?ïâÀ?ïöÀ?ð?ð?ð?ð?ð?ð?èì?ïÞÀ?ï¤@?ïÝ€?ï΀?ïÛ€?ð?ï÷?ð?ð?îóÀ?ï™?ð?ð?ð?ïÙ€?ð?ð?ð?ð?ð?ð?ð?ð?ïv?ð?ð?ï˜À?ð?îå€?ïN€?îÕ?ï À?ï,€?ïíÀ?ïãÀ?ð?ð?ð?ð?ïí@?ð?ïýÀ?ïõ@?ï¾À?ïá€?ïðÀ?ïn?îä€?í²€?ïˆ?ð?ð?ïèÀ?ïßÀ?ï«?ï€?ïyÀ?ïý€?ð?îÌ?ï]À?ï×À?ð?ïÔÀ?ïã@?ïÆ?ð?ð?ð?ð?ð?ð?ð?ïù?ð?ð?ð?ð?ï÷?ï±@?ïäÀ?ïý?ïæÀ?ïóÀ?ð?ð?ð?ð?ð?ð?ïïÀ?ï[À?ð?ð?ð?ð?ïí@?ð?ð?ïkÀ?ï5À?à@?å$?ð?ð?ð?ð?ð?ð?ïü@?ï•À?ð?íã@?íg?ïý€?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ïÑ@?ïü€?ð?ïêÀ?ïóÀ?ð?ïí@?ïó?ð?ð?ð?ð?ð?ð?ï‘@?ï¢À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÑÀ?ð?í-€?ð?ð?ð?ð?ð?ð?ð?ïVÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î@?í @?ð?ð?ð?ÊÉ?ê‡?ð?å[?\?Üï€?¸?’@?œ(?ãå?éŠÀ?í“€?ï¡???î.€?îv@?ïü?ïðÀ?ïú?ïü?ïÕ€?ï0€?ïÚ@?íÀ?î1À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïðÀ?ïá€?ïáÀ?ð?ð?ð?ð?ï^?ïß?ð?ï±?ð?ïñÀ?ê€?ïë?ïÉ€?ëý@?ð?ð?ïýÀ?ð?ïÛ?ïè@?îd@?ïs€?ïù?ço?ë?ÛG€?íå@?ïhÀ?èJ€?Ó§€?îU€?íi?êì@?êœÀ?ç`€?宀?éR@?é€?ë @?é-€?å7À?éôÀ?î×À?î¡À?î>@?îÀ?îÉÀ?切?ð?ïÞ€?ïçÀ?ïñ€?ïú?ïë?ïpÀ?ïhÀ?ð?ïÆ€?î‹€?îÔÀ?ëVÀ?ï7€?î%?ï9@?ï0€?í_@?ì²À?ïZ@?ï??ï„?ïi€?ï“À?☀?åD€?î?@?í•@??ï²?ïÃ?ïñ€?ï @?é„?ì+?ï€?ï«€?ïk€?ïÁ??ï»?ï”?ð?ïÌ?ïˆ?ï¹?ïC?ïž@?ï@À?ï7À?ï&€?í;?Û’?žP?ÃR?í¿À?茀?• ?x ?Þh?ë?é›À?ð?ð?ïýÀ?ð?ð?×Q€?ÆŒ?sà?ßÎ?ï÷?ð?ïÿ@?ïÿ€?ð?ð?ð?ð?ïŒ@??ïÓÀ?ïñ?ð?ð?ð?ð?ïñ€?ïó@?ï–?ïô€?ïÿ€?ïÛ?ïóÀ?ïë@?ïûÀ?ïýÀ?ð?ð?ð?ïÞ€?ïY?ð?ð?ð?ð?ð?ð?ïx?ð?ïóÀ?ïú€?ïÿ€?ð?ð?ð?ïì€?ð?ð?ð?ï÷?ð?ð?ð?è(@?ð?ïâ€?ð?ð?ð?ð?ð?ð?ïþ@?ïá€?ïÞ€?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ïóÀ?ð?ð?ð?äü?ð?ïéÀ?ïÉ?ï’?ïô€?ïï€?ï¤À?ïó@?ð?ï€?íáÀ?ð?ð?ð?ï×€?ï÷?ð?ð?ð?ð?ð?ï@?ïñ@?ïñÀ?ð?ð?ð?ð?ïô?ï’@?ïø?ð?ð?ð?ð?ïæ@?ð?ïíÀ?ð?ï„@?ïì€?ï¿?ïÑÀ?ï`À?ïzÀ?í\€?îŒ@?ï‚@?ï(À?ï–À?ïÕ€?ï§À?ïm€?ïÚÀ?ïž@?ïz€?ïáÀ?ïöÀ?ïú?ð?ï:?ï:À?ïI?ð?ð?ï~?ïñÀ?ï°À?ð?ð?ð?ð?ð?ïýÀ?ð?ïÏ€?ð?ïÿ€?ïÞ€?ïÕ@?ð?ïäÀ?ïýÀ?ð?ð?ð?ïú?ëé€?ð?ð?ïï?ð?ð?ð?ð?ð?îî€?ïÀ?ïˆ@?ð?ð?àŒ?ïMÀ?ð?ð?ð?ð?ð?ð?ïþ@?ïÚÀ?ïÀ?ïZ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‰?ïÃÀ?ïþ@?ïûÀ?ð?ð?ð?ð?ð?ïâ@?ð?ð?ð?ï½@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²@?îЀ?íË€?ð?ð?ð?ð?ð?ð?ð?ïO@?ð?ð?ð?ð?ð?ð?ð?ð?í¬À?éÁ@?í«@?ð?ð?ð?ìº@?o?µž?ïÜ?ð?ë¼À?b@?ÈŒ?؆?}@?¸f?袀?Ü)€?Ñé?â?éÄÀ?î3À?ë^€?ïæ?ð?ïÇ?îSÀ?î'?ïíÀ?ïî€?ï(@?ïó@?îwÀ?îFÀ?ð?ïa€?ð?ð?ð?ð?ð?ð?ð?ð?ïñ?ï½@?ð?ð?ð?ð?ïø@?ð?ð?ïý?íúÀ?ìª@?ï¼€?ïý@?ïr@?îÀ?ïáÀ?î^@?ï7€?ï…?ïûÀ?ð?ï|€?îÂ@?ìó@?ïh€?îÀ?Ù?é€?ï?äkÀ?ËÉ?ïßÀ?ëÀ?ì+@?ëW?í?êÏ@?í<@?îv@?í˜@?ì*@?ê…?ì¸?ë¹€?ë¤?ìr?ì @?î„À?íÊ@?ï•€?ï¶?ð?ïö@?ïiÀ?ï"€?ïþ@?ïº@?ïøÀ?ïÊ€?ï‰?ïòÀ?ïé€?î΀?îj?ïÌ€?ì¿@?ì?ê8@?íI?ïÅ@?ï—€?îÒÀ?ì6€?åKÀ?îý€?îd@?ï*À?ïÀ?éˆÀ?ìAÀ?ïã?ïÓ€?îR€?ï€?î€?ï"@?ï³?ïöÀ?ï±?ï·@?ïÌÀ?ïî@?ï`À?îÄ@?î®@?ï±€?í @?ìP€?îÒ€?îÂÀ?á&€?h€??åÁ?ïæ?Ô›€?°v?Î4?ïô?ïµ€?åÀÀ?æLÀ?èá@?áIÀ?Ü€?Ô™?áQ?ð?ð?ïð@?ïõ€?ïö€?ð?ð?ð?ð?ð?ïh€?ð?ð?ð?ð?ð?ïö@?ð?ï«@?ïâ@?ïÙ@?ïS€?ï÷?ïö@?ïû?ð?ð?ð?ï@?ð?ð?ïþÀ?ïì?ð?ð?ïóÀ?ð?ïí@?ð?ð?ïÇÀ?ïû€?ïï?ð?ïÒ€?ïò?ïÞ€?ð?ð?ð?ð?ð?ð?îA@?ï§?ïg€?ï.€?ð?ð?ð?ð?ð?ïï€?ï÷?ð?ð?ð?ð?ð?ð?ð?ïü@?ïú€?ð?ð?ï÷?ïö@?ïâ@?ð?ð?ð?ïÈ€?æŽ?íF€?ïi€?ï÷?ïêÀ?ï³@?ïÜÀ?ïÏ?ïøÀ?ð?îè?í?ð?ð?ð?ïåÀ?ï©@?ð?ð?ð?ð?ïï?ïŒ@?ïú?ð?ð?ð?ïü@?ïð?ïâ@?ïü@?ð?ð?ð?ïô?ïš?ï{?ïµ€?ð?ïóÀ?î΀?ï½À?ð?ïÛ€?ð?ïq?î$@?îù?ïQ€?ð?ð?ïï?ð?ïáÀ?ïË€?ïå@?ïêÀ?ð?ð?ð?ð?ð?ï‘?ï€?î€?î‹€?îÅ@?íÏ?ï|€?ð?ïöÀ?ï÷?ð?ð?ð?ð?ð?ð?ïÊ?ð?ð?ïÒ€?í€?ïž@?ïòÀ?ïŸ@?ð?ã=€?©?é`?ð?ïÝÀ?ïæ€?ïþ@?ð?ïóÀ?ð?ð?ð?ïï?ð?ð?í|@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îé@?ïø?ï½@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö€?ï÷?ð?ï‚@?ï±@?ï]À?ïl€?ð?ïÒ€?ð?ð?ïáÀ?ï¤À?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìf@?ï¼@?ð?ð?ð?ïÔ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ?éŽ?î™À?ð?ð?ð?ð?ì§?K?­ô?ïvÀ?ð?ï|@?¯Ì?½?ãÛ€?³Ü?ÙÊ?ìõ?쯀?é¥À?è€?åè@?æÇ€?î­À?ïþ?ð?ﮀ?ïî€?ïú?ð?ð?ð?ïï?ï_À?ïÉ@?í™@?ð?ð?ð?ð?ð?ð?ð?ð?ïG?ïá€?î„€?ð?ð?ð?ð?ï“€?ïè?ïçÀ?ð?ïÛ€?ïóÀ?ð?ïì€?ð?ïú?ð?ïâÀ?ïû?ïr€?ð?ïý?ïh@?îÀ?ïI€?ïÛ€?áŽ?ÑW€?íIÀ?è)€?è!€?ëÊ?ì €?è€?ë$@?êµÀ?êy?ã-@?æ5€?錀?íÖÀ?ìÀÀ?ì~?ëûÀ?í À?ífÀ?îòÀ?ìÇ@?íWÀ?ïˆÀ?ïâÀ?ï´@?ïðÀ?ïû?ð?ï¬À?ïú?ïý€?ïk?ï®?í/À?í?ï®@?ïh?í—@?íû@?î€?럀?ïÀ?ïÊ?íÀ?ïDÀ?í™À?íÊ@?î…@?ï´?ïsÀ?îK@?ïŽ?ïÒ@?ïøÀ?í×?ï]À?ï™?ïÏ?ï¦?îà€?í}€?êà?éÃ?éŸÀ?蜀?ëò€?çF€?êØ?íc?ëÕ@?é?ì!@?ÙÙ€?‰ð?ÒU?ï@?èÀ?ƒ@?K?Å?蟀?ãž@?æ€??]€?`?ÂÑ?è‘À?ïö@?ð?ïù€?ð?ïßÀ?ïÆ@?ð?ð?ð?ð?ð?ïü@?ïW€?ï²?ð?ð?ð?ð?ïö@?ð?ïâÀ?ï¾?ïã?ïì€?ð?ð?ð?ïì€?ïó?ð?ð?ïÿ€?ð?ð?ï)À?ïù€?ð?ð?ð?ð?ð?ð?ð?ïù€?ïù€?ïË?ð?ð?ïÌ?ïò€?ð?ï߀?ïæ?ïæ?ð?ïõÀ?ïÒ€?ïÃ?ëý?ê)€?ð?ð?ð?ð?ïïÀ?ð?ð?ð?ð?ïó?î €?ð?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ð?ð?ð?é@?ï„@?ï«€?ïü@?ïó?ð?ïæ?ïè?ïå@?ïµ€?îæ?ïÊÀ??ð?ïÿ@?ïý€?ð?ïê?ð?ð?ð?ð??ïäÀ?ð?ð?ð?ð?ð?ïÐ@?ïÆ€?ï‘À?ïg€?ïüÀ?ï§@?ïÕÀ?ð?ï¿@?ð?ð?ï;@?ï¾@?ïÏ€?ïøÀ?ïß@?ð?ð?ð?ïýÀ?ïâ?ð?îë@?ï¿@?ïŸ?ïó?îr€?ïq€?ð?ïÏ€?ïÙ?íç@?ïÏ€?ïÒ€?ð?ïÿÀ?ïÿÀ?ð?ïÑÀ?ð?ð?ð?ïé@?ïû@?ï5€?î @?ïÇ?ð?ïÏ€?ð?ð?ð?ïò@?ïø€?ð?ð?ð?ïö@?ð?ð?ïã?ð?êK@?ïÿÀ?ð?á~?æ?@?ïçÀ?ï?ïê?íÖ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï˜?ð?ð?ð?ð?ïÙ?ïÒ€?ð?ð?ð?ð?ïÌ?ï‚À?ïþÀ?ð?ï¨?ï?ï•@?ï¿?ð?ð?ð?ð?ð?ð?ð?ï¶?ïì€?ð?ïµ@?ïµ€?â3À?ê;?ïË@?ïì€?ð?ïÂ@?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îP?ïÙ@?ïé@?ð?ð?î8À?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ë\€?è´€?ïÈ@?ð?ð?ð?ð?ð?à¹?ÈY?ð?ð?ð?ÙÍ€?‰?Ñ}?‚?²Z?ÖV?ëN€?ï'À?ï1€?íÅÀ?ÓW?é?êâ?ïâ€?ïÄÀ?ïÝ€?ð?ð?ïö@??ïâÀ?î€?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïq@?ïÙ@?ïïÀ?îòÀ?切?ð?ð?ïõ?ï?ð?ïïÀ?ð?ð?ð?í@?ïó?ïŸ?ð?ð?ð?ïßÀ?ð?ïö@?ïïÀ?ð?ïø@?ï¯?ïò€?ð?ëì€?î/?ð?ïæ@?ïïÀ?îÕ?é_€?èÀ?éˆ@?ì®?îC?î]?쯀?æÍ€?ì9@?ì?@?èz@?ì €?îIÀ?æÃ?Áï?è¥À?êgÀ?î=€?î¯?ïx@?ïž@?ð?ð?ïÿÀ?ïß?ï§@?ð?ï0À?ï¾?ï@?ï<€?ïC@?ïP@?ïã?ïg€?ìåÀ?èð€?ëó@?í@?ïaÀ?î‰À?îƒÀ?ï@?íS€?îÅÀ?îq@?îæ€?î”?ì¨?í‰À?ï³@?ïÌ€?î‚€?éü@?íAÀ?îÒ?ïÕ?éó?ÃM?–8?­@?¹B?Œ°?s€?®@?Èê?ªx?˜ˆ?…à?˜È?êê€?ïx?Ñ‚?ÜÇ€?¾‚?S€?ÒF€?ʘ?t ?p`?ÀÑ?ê•?ð?ð?ð?ð?ð?ð?ïâÀ?ð?ð?ð?ð?ð?ïé@?ð?ð?鹿?ð?ð?ð?ð?ð?ð?ïö@?ð?ïã?ð??ïó?ï•?ð?ïä€?ïé@?ð?ïð@?ð?ð?ïæ@?ð?ð?ïx?ð?ð?ð?ð?ð?ïâÀ?ð?ð?ð?ïÉ€?ð?ïÞ€?ï¯@?ïÅ@?ïüÀ?ïÑ?ð?ïöÀ?ïé@?ð?ð?í0@?ì¯@?ï„?ïæ€?ð?ð?ð?ð?ð?ð?ïzÀ?ïÅ@?ïÑ?ð?ð?ð?ð?ð?ð?ð?ð?ï~@?ï €?ï§@?ïó€?ð?ð?ì?À?ì|?ð?ð?ð?ð?ïæ?ï}@?ïàÀ??ð?ïé@?ð?ï6€?ð?îæÀ?ï¸@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïx?ð?ð?ð?ïk?ï@?ïË?î°?ï„À?ï(€?îë@?ï—€?ð?ï¢?íŸ?ïˆ?ð?ïóÀ?ð?ð?ð?ð?ïÓÀ?ï™@?ð?ð?ð?ð?ï[À?ï‰?ð?ð?ð?î­À?îiÀ?ï?ïâÀ?ïÏ@?ïý?ïßÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?îò?ê¬@?î?ïö@?ð?ð?ïÀ@?ïÐÀ?ð?ð?ïÈÀ?ð?ð?ïôÀ?ïãÀ?í$À?ð?ïìÀ?ïé@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ð?ð?ð?ïö@?ïã?ð?ð?ï•?ð?ð?ð?ð?ð?ïù€?ïâÀ?ð?ð?ïöÀ?ð?ð?ð?ð?ïó?ð?ð?ïö@?ð?ïé@?ð?ï¼@?ð?ï1€?ï½À?ï«€?ïb@?ïR@?ïæ?ð?ïñÀ?ï¦@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïçÀ?ïñÀ?ð?ð?ð?ð?ð?ð?î˜@?íP€?ínÀ??îT?îP€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?î’?èŒ?çã@?ð?ð?ð?ð?ð?ð?ß´€?ÉÄ?ð?ïÆ?ð?çï€? @?­l?Ëñ?çÛ?îÏÀ?îv?âíÀ?Ñî?àü?í"À?î¶@?ïîÀ?ì@?ð?ð?ð?ïâÀ?ì‹À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?ð?ð?ïüÀ?ïì€?ð?ï²€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?ð?ï¯@?ïó?ð?ï¢?ïÉ?ð?ïâ@?ïö€?ð?ð?ð?ð?ð?ð?ï“@?èœÀ?ãÁ€?îV@?í ?ë^?ìˆ@?ì…?êhÀ?ëìÀ?ëÖ@?îE?ï1@?á\€?¾”?æ €?ïY?î!À?íµ€?îC@?ï{€?ð?ïüÀ?ï­À?î÷€?îý€?ï_À?ïT?ïä@?ïˆ?ïEÀ?î³@?ïã@?ïë?ïüÀ?ïÐ@?ìç€?è·À?ìWÀ?í‰À?îÀ?ïJ€?ë§?ìö?ïã@?ï@?ï˜À?ïI?î!@?í#€?è5?ìÀ?î€?î™@?îö?ïà@?ïê@?æ?¶œ?à€?ë€?âiÀ?À|?Ó£?ï}@?ì•€?êÏ?æ3?°²?¬0?ÂM?¾ˆ?I?À\?ÚÝ?:?á@?ï?ï'?ïí?ð?ð?ð?ð?ð?ð?ð?ïù€?ð?ð?ð?ð?ð?ïö@?ð?ð?ð?ð?ð?ð?ð?ïé@?ïïÀ?ïó?ïÁÀ?ïñ@?ïô@?ð?ïû?ïé@?ïö@?ð?ð?ïý?ð?ïD@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïm€?ïó@?ïé?ð?ïþ@?ïï€?îÐ@?ïì€?ïû?ð?ïö@?ïè@?ïâÀ?ïö@?ð?ë1@?Ü}?ã;€?ð?ð?ð?ïö@?ð?ð?ïïÀ?ð?ìØ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?呂?îö?ïÎÀ?ð?êEÀ?ð?ð?îµÀ?ïî@?ð?ï?ïwÀ?ïŽÀ?ïí€?îñ?î¯@?ð?ï–€?ï€??ï…?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ïÝ?ð?ð?ð?ï›À?ïÜÀ?ïÀ?î(?îÀ?ï®?íS@?ïN€?ð?ð?ïR€?ð?ð?ð?ï¥@?ð?ð?ð?ïö@?ïö@?ïüÀ?ð?ïÜ€?ïÅÀ?ïÁ€?ï’À?ð?ð?ð?ïÌ?ïé@?ð?ð?ïù€?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ïã?ð?îR€?ëu?î¢À?ð?ð?ïïÀ?ïòÀ?ïÅÀ?ïžÀ?ð?ð?ð?ïû?ïÈ?ëD@?ð?ð?ïó?ð?ä¿?阀?ïÙ€?ð?ïâÀ?ïÕÀ?ð?ï^À?ð?ïÀ?ïâÀ?ï?ë?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó@?ð?ð?ð?ïì€?ï€?ð?ïË€??ïEÀ?ï”À?ï߀?ð?é¯@?ïË@?ï­€?ïg€?ï¿@?ð?ð?ð?ð?ð?ð?ïó?ïÁ@?ïÔ?ð?ð?ð?ð?ð?ð?ð?ï±€?ï´?î+À?ì+€?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï›@?è»?ïZ?ð?ð?ð?ð?ð?ð?Ò„?Óö€?ð?íÀ?Ûç?æ»@?¤¬?¼L?¹0?dz?ä“?ï @?íg@?â»@?ÉÈ?ÌC?ê¬À?ìhÀ?ë§@?ï*À?ð?ð?ïù€?ï‘?ð?ð?ð?ð?ð?ð?ð?ð?ïñ@?ð?ð?ïüÀ?ï¥@?ð?ð?ð?ï4À?ð?ð?ïã?ð?ð?ð?ð?ð?ð?ï÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï €?ïÕÀ?îúÀ?ïAÀ?ïÒ€?ð?ð?ð?ð?ïÌ?î*€?á¨@?ãm€?éú?î‹À?îR€?í²€?î @?íÊ€?îå€?î@?î£?îÊ€?ì@@?ã´@?ì£@?îb€?î€?ïÒ€?ð?î‰?îs@?ï@?ï×@?ïù@?ïÆ?ïÝÀ?ï~À?ï¬@?ïì@?íó?ï ?ð?ïþ@?ïžÀ?ð?ïµÀ?ï²@?ëÀ?ìæ@?ìÀ?ìÖ@?íâ@?íŠ@?ï&À?îð@?ï-@?ï]€?íõ?í/€?ëØÀ?íT€?í¡?ïÕ@?îÿ€?çw@?à€?o? ?¾H?ʶ?¶¢?Õ‹?ëŠ?î?Þ•?jÀ?lÀ?éƒÀ?îï@?í€?îä?ì@?æÍ@?Þ€?æ×?æe?Èà?Ÿ ?Àõ?ìF?ãS€?Ýó€?ð?ð?ð?ï”À?ïÏ@?ïì€?ð?ð?ð?ð?ð?ïÅ€?ïæ?ïì€?ïÉÀ?ð?ïæ?ïé@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ïÀ?ïP?ð?ïó?ð?ð?ð?ð?ï߀?ð?ð?ð?ð?ð?ïk@?ïÓÀ?ð?ð?ð?ð?ïí?ïž@?ð?ð?ð?ïö@?ïé@?ïã?ð?ð?ïæ?ï½?ð?ð?ïé@?ïö@?ïÄ@?çR?íN@?êX?ï߀?ïïÀ?ð?ð?ïó?ð?ïÁ€?ð?ð?ð?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ï(?îÓ€?íw?éû@?ð?ð?í+?ï·@?ð?ïè??ï^?ïÿ@?ïÔÀ?ï®?ð?ð?îsÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ@?ð?ð?ð?ð?ïËÀ?ï†?ìï@?íT?ïÒ?ïB€?î:@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïyÀ?ïû@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ïÞ€?ð?ð?ð?ð?므?éé?ï@?ð?ï¾À?ïF?ð?ï>€?ï¯?ïø@?ïd€?ïì€?ð?ïýÀ?ð?ð?ð?î?ð?î>?àRÀ?ïT@?ð?ïÏ@?ïö@?ï¼?î¢?îpÀ?ìù?ð?ïþ€?ïž@?ïx?ð?ð?ï²@?ð?ïd€?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ïì@?ð?ð?ð?ð?ð?ïæ?ï}À?ïˆ@?ïò@?ï߀?ïì€?éÅ@?Ëß?ê¦À?ï÷À?ð?ïõ?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ð?ïn?ï¥@?ð?ï¸À?ð?ð?ð?ð?ð?ð?ïÿ@?în?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ïïÀ?î.À?èÿ?ìHÀ?ð?ð?ð?ð?ð?ð?ï¯À?½?ß™€?ð?ÛE?uÀ?½ü?Z?ªÀ?¦?£¨?Ý\€?çÒ€?ï3@?íF?Ä?Ò;€?ï À?ïO€?ïè€?ïÀ?ïÿ?ïì€??ð?ð?ð?ïûÀ?ð?ð?ð?ïâÀ?î§@?ð?ð?ïïÀ?ð?ð?ð?ïù€?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ïžÀ?ï@?ïÿ?ïâ€??ð?ð?ð?îHÀ?íü?í,?ÏT?áj€?ëÙ?ë@€?ï6À?ï+?ëþÀ?ìƒ@?ïF@?ìM€?îÜ@?ïÀ?íÎÀ?ìôÀ?äeÀ?ì±?ïÀ?îç@?婢?ï€?íý?íL@?íÁ€?ïÀ?îé€?ï€?ï›@?ïõ€?ð?ïäÀ?êØ€?ïÜ?ï2À?ï„€?ïö@?ð?îñ@?ïT@?îc€?í6@?ï[À?î9€?íxÀ?îx@?îÆ?ïÄ?ïp€?îÂ@?í À?î_€?ïÙ@?ïÈÀ?î¤@?×?• ?¹°?ß6€?ì@?ïÏ€?ð?ï @?âM?€?o€?ÁZ?ÑO?x?ØÈ€?ë€?êm€?í?ïÃ?îì?î!À?íÎÀ?íx@?èÅ@?À²?—ð?Ÿð?U€?äéÀ?ð?ð?ð?ð?ð?ð?ð?ï’?ð?ð?ð?ïÀ?ï6À?ð?ïÜ@?ïù€?ï}À?ïî€?ïî€?ð?ð?ð?ð?ïö@?ð?ð?ïè@?ïó?ð?ð?îe@?ïûÀ?ïüÀ?ïâÀ?ð?ïæ@?ïù€?ð?ïÜ@?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ïì€?ïÜ€?ð?ð?ð?ð?ð?ð?ïâÀ?ð?ð?ïÉ?ð?ð?ð?ïö@?ð?í+?ë+À?í4@?ïÄ?ïé@?ð?ð?ïê?ð?ïç?ï¿À?ïð?ð?ð?ð?ð?ð?ð?ïÀ?ëäÀ?îãÀ?ëoÀ?ìÀ?îaÀ?ïÔ€?ð?ïÅ€?ð?ð?ð?ð?ð?ð?ð?ð?ïq€?íø€?ð?ð?ð?ïÞ@?ïÉ?ïtÀ?ï>?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ï€?ï<À?í€?ï¾À?ï²@?ïI?ï €?ð?ð?ð?ð?ð?ð?ð?ð?îµÀ?ï8€?ð?ð?ïÖ?ïö@?ï÷€??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ê4€?ïæ?ïæ?ð?êåÀ?ê³?ð?ïLÀ?ð?ï\@?ì”@?ïwÀ?ð?î€?ï¿@?ð?ð?ð?ð?ï²@?ð?ð?ð?ï1€?ïÀ?ïÖ?ð?ï;€?îÆ@?ð?ð?ð?ð?ð?ð?ð?ïé€?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ïî?ïó?ð?ð?ð?ïÜ€?í¹@?ïæ?呂?ïÉ?ïc@?çQÀ?ê?ïã?ð?ïÜ€?ïñ?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ïæ?ï‹?ð?ïó?ïk@?ïÁ€?ïç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?î¢@?ëÞ?èÝÀ?ï @?ð?ð?ð?ð?ð?ð?ð?ë§@?ä1€?ïÕ?½6?›Ð?—?Ñ"?çùÀ?ïÕÀ?ãª?Íp?â?ð?ð?ïûÀ?ïýÀ?ïù€?ð?ð?ð?îÿ@?ïñ?î*?ð?ð?ïÀ?îóÀ?ïÙ€?ï~@?ð?ð?ð?ð?ð?ð?ð?ïâÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî€?ð?ð?ð?ïé@?ð?ï’?ð?ïÏ@?ïÇÀ?ïê€?ïûÀ?ð?ð?ð?ð?ïâ??ð?ïïÀ?ïæ@?ð?êÖ@?å¹?îfÀ?îl@?ìwÀ?î ?ìT?îÌÀ?í…€?ëÇÀ?ݰ?Ì%?¦œ?¿Ö?Ñ??îc?íš?îµ@?í`€?ì¼€?íÓÀ?î·€?ï¨@?ïµ@?ïÂ@?ìç@?îX€?èB?æ{@?îÁÀ?ïÅ€?ïQÀ?ïÒÀ?í9À?ïˆ?ên?ì?åxÀ?æ‚?ïL??ï#€?ìë@?×9€?îd@?ï@?ï’@?ð?ï_€?Îð?¾?ãU?îT€?ïÚ@?ð?ï¼?ð?ð?ìÀ?‘8?T?ÎC?çb@?íÃ@?îû€?ìÁ€?î˜@?ïáÀ?ïÜ€?ïÄÀ?íD€?æð@?Ì?Ǻ?†€?Ûµ?ãê?ëMÀ?è/?×Û?Ý9€?ç…?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ï2@?ð?ð?ð?ïö@?ð?ï×@?ïñ?ð?ð?ïþÀ?ð?ð?ïö@?ïâÀ?ïê@?ð?ï•?ïÜ€?ð?ð?ð?ð?ïó?ïª@?ïJ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï§À?ïö@?ð?ð?ð?ð?ð?ð?ï÷€?ïüÀ?ð?ïÖ€?ð?ï¼?ïé@?ð?ð?ð?ð?ð?ïö@?ï¸À?ïú@?ïÅ€?ì©€?ïÊ€?ð?ïïÀ?ïõ€?ï¶?ïÛ@?ïá@?ïØÀ?ð?ð?ð?ð?ð?ð?ð?ãÅ@?î @?ïû€?î’@?î÷€?í!?ëfÀ?ð?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?îVÀ?îØÀ?ð?ð?ð?ïÊ?ïó?ð?ð?ð?ð?ð?ïù€?ïG€?ð?ð?ï¿?ð?ïó?ð?ï%@?îí@?ïó@?ð?ð?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïªÀ?ïì€?ïì€?ð?ï߀?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êzÀ?Ý€?ë‡?ï•?ð?︀?ïó?ð?ð?ð?ð?ð?íÀ?ï²@?ï”?ï€?ð?ïö@?ï‹€? ?ìqÀ?ìõÀ?ð?ð?î~?ïÀ?í€?ïúÀ?ð?ð?ð?ð?ð?î@?ï‘€?ð?ð?ïæ?ï¿@?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ïì€?ð?ïþ€?ð?ïó?ïö@?ð?ïì€?ff?ï¯?ïŠ@?ð?ï˜@?ïÜÀ?ïD@?ð?ï ?ïa?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¸À?ï?ð?ð?ïâÀ?ï–€?ïÑÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ð?ïÏ€?î}@?íÌ?ð?ð?ð?ð?ð?ð?ð?ð?ïn?ÕÞ€?Ìœ?és?kÀ?B?à¿?×?ÑŒ€?¬?⻀?ð?ð?ð?ð?ïüÀ?ï¹€?ïÜ@?ï´@?î(@?ïèÀ?ïÓÀ?ëD?ï߀?ï¸À?ïÕ?ï;@?îf@?ïæÀ?ïïÀ?ï-€?ïµ€?ï@?îÓ?ð?ð?ð?ð?ð?ð?ïã?ð?ð?ð?ð?ð?ïÔ?ð?ð?îa€?ïï@?ð?ïù@?ïâÀ?ï€?ïÜ?ïWÀ?íp?ïïÀ?ð?ð?ð?ïõ?ïMÀ?ï`À?ë¢@?ì?ð?ð?î‡?íq€?íIÀ?ìmÀ?í[?íŽÀ?îà?î/?¾"?£X?é‹?ïä?î?îcÀ?ìÓ€?ím?î€?íx€?îºÀ?îÝ?íà@?î—@?ïi€?íkÀ?î6€?í?ìp€?î5À?ïlÀ?ï~€?ïÉ€?íº?ê—€?ìN€?ï9@?í£À?ïÑ€?ïO?íY€?î^@?íoÀ?ìrÀ?ìÝ?ß5€?×€?í}À?ïžÀ?ïö@?ïýÀ?ïÄÀ?í…@?ïç?ì{€?ËÍ?>?8?Â&?ëÉ€?ï€?ëšÀ?í1@?ç?ír@?ï,À??îÑ?ëj€?ã@?ºR?“ˆ?Û½€?切?ð?ïì€?ð?ð?ïù€?ïÛÀ?ïù€?ð?ð?ð?ð?ïâÀ?ïñ@?ð?ð?ð?ïó?ð?ïÕÀ?ð?ïü?ïó?ïç€?ï߀?ð?ï\€?ïúÀ?ð?ð?îe@?î @?ïÏ@?íµ?ïT@?íÓÀ?ï0€?ð?ð?ð?ð?îí?íg?îB?ï¸À?ïq?ï?ð?ð?ð?ïÇ@?ð?ð?ð?ïœ@?ð?ð?ð?ð?ð?ð?ïö@?ïÐÀ?ïÛÀ?ð?îïÀ?ï>€?ð?ð?ð?切?ð?ð?ïì€?ïd€?îÝÀ?ïê?ïÛ@?ìëÀ?ïö@?ð?ð?ï¼À?ï‡?ï“À?ïà@?ïö@?ð?ïÙ?ð?ïé@?ð?ïÕ@?èñÀ?à»À?ïó?ïüÀ?ï]?ï¨À?ï€?î€?í>?ïü?ïö@?ð?ð?ð?ð?ð?ð?ð?ï³?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ïé@?ð?ð?ïóÀ?ïu€?ï¸À?ð?ð?ïâ@?ð?ïæ?ïÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ï2À?ï@€?ïÐ?ïù€?ïÀ€?ïæ?ð?ïó?ð?ð?ð?ð?ð?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïš@?ç¢À?Ò$?ãXÀ?î@?îÙ€?ïtÀ?ð?ïÅ€?ð?ð?ð?ð?ð?îü€?ïÒ€?ð?ð?â×?çÁ?é†@?ì?ð?ï÷À?ð?ð?ð?ïË?ð?ïé@?ïú?ð?ð?ï¼À?ïßÀ?ð?ð?ð?ð?ïé€?ï¶€?ð?ð?ïé@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÅ€?ð?ïì€?ð?ïö@?ïØ€?ð?ïó?ïÓ€?ïÃÀ?ïïÀ?é¨À?ì0@?ïÖ?ð?ïö@?ð?ð?ð?ð?ð?ð?ð?ï¥@?ð??ð?ïÏ€?ð?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îù€?ð?ð?ð?í»?ïÀ?ïJ@?ð?ïØ@?ð?ð?ð?ð?ð?ÚV€?ɱ?âyÀ?•0?v?çzÀ?ð?ïÀ?쯀?Ý£€?ïqÀ?ð?ð?ð?ïÒÀ?ïèÀ?í¶€?ìÑ?îøÀ?ïo?ïÓÀ?í›?ïÜ€?ï„À?ïã?ï&À?æ¨@?ïÎÀ?ïí?ïD?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?èr@?ð?ð?ð?ð?ð?ð?îòÀ?ê]€?ð?ð?ð?ïù€?ïíÀ?ð?ì€?ï €?ïüÀ?ïüÀ?ïù€?ïö@?ïúÀ?î…?ÜÚ€?î8@?ïÒ€?ï¥À?î‚€?ëk?í²À?í €?îc@?îî@?é€?Í?ǰ?°„?È?àÊ€?ã€?íq?í@?î"?ìL€?ëÀ?í€?ë_À?î.@?ïÀ?ïª?íÂ?íæ€?ïiÀ?ìõ?íÒ?î@@?ïq@?ïèÀ?ïÔÀ?ïQ?ï>?ï¥@?ïÞ@?îí?ïŠ@?îÊ€?ïÙ?ïÉ?ïÏ@?ë•€?Ú®?ï­@?ïó?ð?ð?ïâÀ?ë!?Ýê€?É…?Æ)?¾(?R€?¾?îÀ?ï‘@?ï¸À?ïl?ïó?îÕ?êh@?îÀ@?íÞÀ?ïÈ@?ê+?Óq?Õ?P€?×i€?èV@?îæÀ?ð?ïó?ïÅÀ?ð?ïð€?ð?ð?ïýÀ?ïÛÀ?ïó?ð?ïÚÀ?ï}?ð?ð?ð?ð?ð?ð?ïý€?ð?ï}@?ïÖ?ïÿ€?ìÂ@?ç1?ð?ïW€?ï-€?îÖ?ïßÀ?ð?ïÌ@??ïæ?ð?ð?ð?ð?ï;@?ïN@?ïñ€?ï!?ï7À?î??ð?ð?ì¢@?ïª?ïÌ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¦?ïÉ€?ïÜ@?ð?î§@?ïì€?ð?ð?ïµ€??ï‘À?ïïÀ?ïÞÀ?ïbÀ?æ”À?åÚÀ?Þ™€?îPÀ?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ïÙ?ï„?ïq€?ë €?墀?ïa€?ð?ïæ??ð?ð?ð?î€?ín€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îö?ïÀ?ïù€?ïÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïe@?ïæ@?ï&?ïù€?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‹À?ê¸À?ð?ð?ð?ð?ð?ï@?ïù€?ð?ð?ð?ð?ð?ïù?ð??ïñ€?ð?é!À?ð?îâ?ð?ð?ð?ð?ð?ïŽÀ?ïØÀ?ïZ€?ïö@?ïÙ?ð?ð?ð?ð?ð?ïß@?ïÁ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ïc€?ð?ï²?ëÒ€?ï‘@?ð?ð?ïã?ð?ïø?ð?ð?ð?ð?ð?ïÞÀ?î)@?ïÌ?ð?ð?ð?ïÒ€?ïì€?ð?ð?ð?ð?ð?ð?ð?îó€?ð?ð?ð?ð?ð?ïÿÀ?íã€?ï®?ï¹?ïÀ?ïuÀ?ð?ð?ð?ð?éÀ?C?à¦@?èj€?|À?J?Ϭ?ïù€?ïì€?먀?å­?ï=À?ïÿ?ð?ïüÀ?ïù€?ïA?ïäÀ?ð?ð?ð?î3€?ï—@?ð?ð?ð?ïñ€?îs€?ïÜ@?ïû?îÒÀ?ï…?ð?ð?ïì?ð?ïÒÀ?ð?ð?ïZ€?ì(?ì@?î?ð?ð?ð?ð?ð?ð?ð?í.À?êï@?ëmÀ?î•@?ð?ð?ð?ð?ïó?ð?ïù€?ð?ïö@?ïí€?ï¼À?î=?ì5€?êé€?íæ€?ïQ?îö€??ïé@?蛀?Æ_?`À?c@?À=?jÀ?¦Ð?žø?Ö[?ìÖ€?êÀ?í À?îKÀ?ï_@?ì0?í@?îM?ïC€?ïÅ€?ìÕÀ?ë]€?ì À?ìó€?ì¢@?ì@?î—?ïCÀ?ïä€?ïÇ?î!€?í@?ï(€?ï'€?ïA€?ïÝ?ð?ïˆ?îV?Û×€?íÛÀ?ï½À?ïüÀ?ð?ð?ð?ð?ïÒ€?éô@?èÖ€?—8?} ?°?§ˆ?ßz?ÒH€?Ï%?Ö”?à€?Ø‚€?Ù¢?âЀ?å»?ç?Öž€?çQ€?Ý`€?¼?µ<?Ü €?é«À?ïæ@?ïÙ?ïõ@?ï²€?ï#À?ïÄÀ?ïÀ?ð?ð?ð?îÑ@?ïâÀ?ï²@?ïö@?ð?ïé@?ð?ð?ïÀ?ð?ï3À?ìï?íñ?ï߀?ð?ð?ð?ð?ð?ïÜ@?ïÏ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?ï3À?îÃ?ð?ð?ïö@?ïæ€?ïÏ@?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ€?ð?ïïÀ?ïù€?ïÒÀ?ï¿?ï!@?ð?ïñ€?ð?ﺀ?ï¤@?îûÀ?ïâÀ?ïðÀ?ï…€?èÃÀ?ïì€?ï’@?ð?ð?ð?ð?î6€?ëØÀ?æ¢?Ý<?íF@?îÅÀ?îÏ@?ëø@?ïó?ð?ð?ð?ð?ð?ïöÀ?ïé@?ïÙ@?ð?ð?ëÝ?îÀ?ð?ð?ð?ð?ð?ð?ï¸À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïa?ïwÀ?ð?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ï’?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÂ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è’À?äÿ@?ïÏ€?ð?ð?ïÜ@?ð?ïÒ€?ïó€?ïƒÀ?ð?ïßÀ?ïù€?ïó@?ð?ð?ð?ð?ïßÀ?ð?ïé@?ð?ð?ð?ð?ïã?ð?ïµ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï·€?ð?ïì€?ïWÀ?ïk?ïæ@?ð?ð?ð?ï§?ð?ð?ð?ð?ð?íï€?í?ïx?ð?ð?ð?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ïÈ?ð?ð?ð?ð?ð?îB@?ï¹€?ð?ð?ð?ð?ð?ð?ð?îRÀ?É?Üg€?ð?Þ‘€? ô?©°?¢Ü?í»À?ð?ëù€?é €?ïù€?ïíÀ?ð?ð?ïà??ð?ïñ€?ïÏ€?ïÅ€?ïàÀ?ïÚ@?ð?ð?ð?ð?ð?ð?ï×€?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïìÀ?ïì€?ïüÀ?ïù€?ïÏ€?ïû@?ïó?ð?ð?ð?ï‘@?îŒÀ?ïR€?äN@?íü?îP?ï¿@?ïé@?ï¯?è·À?§t?d€?©P?ââ?к?X€?Z?:?ç(@?ëŠ@?ìÀ?ïv?î‚?ï ???îÒ?ìÓ€?í€?îo?í®@?î|?ï?í¦€?똀?ï“À?ï¢?ï‡?ìò€?í€?ïüÀ?ï…€?îù€?ï¶?ð?ïÊ@?Ø·€?ì`?ïüÀ?ð?îëÀ?ïžÀ?ïÜ€?ïö@?ïþ€?ï«À?îÛ@?Ôë?«?:?”À?È?ÕÏ€?ÞE€?¥´?à'À?í$€?êD?‚ ?©4?Êý?ê!?í»?î¤?ï¨@?ð?ð?ïí@?ïö?ð?ð?ï@?ïš@?ð?ïâ€?ïì@?ïù€?ð?ï€?éK@??ï@?ì_€?ïþ@?ð?ð?ïÈ@?ð?ð?ð?ð?ð?ï¸À?ï¿@?ð?ð?ð?ð?ð?ð?ì`?çã@?ìý@?î‚@?ïÖ€?ï÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ï^@?ð?ð?ð?ïö@?ïË€?ïòÀ?ð?ïîÀ?îÀ?ìn?î1€?ëX€?ï‰@?î’?é•À?ïû?ð?ïë?ïþ@?ð?ëã?á'?½¾?b?Ñj€?èv€?ï“€?ïö@?ïö€??ìÁ@?ð?ð?ð?ð?ð?ïì@?ð?ð?ð?ð?ð?íWÀ?í€?ð?ð?ð?ð?é:À?Ø?Ç]?ä6@?æÀÀ?ì ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ïË?ëØ@?í§@?ì¸?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ð?ð?ð?ð?ð?ð?í?é @?ìBÀ?绀??ð?ð?ð?î‚@?éI?ïû@?ïÂ@?ïú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëùÀ?ð?ð?ð?ð?ð?ð?ïÕ@?ïô@?ïâ€?ð?ð?ï¼€?ïì@?ð?ð?ð?ð?ð?ð?ð?ïØÀ?ð?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ð?ïþ@?ï¹€?ïåÀ?ð?ð?ð?ïú@?ïüÀ?ð?ð?ïï€?ïö@?ïØÀ?ð?ïó?ð?ïòÀ?ð?ð?ð?ïÔ€?ïý?ïâ?ïÚ€?ð?ïØÀ?ð?ð?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ïš@?îÀ?ë”À??ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?ïé€?ð?ð?ð?ð?ïÍÀ?ð?îùÀ?îÙ@?ð?ï÷?ïô?ð?ð?ð?ð?ìäÀ?š(?¬4?î¤@?ï€?ÖH?–`?^?¦¤?½ê?2?åi@?ð?ïù@?ð?ð?ð?ð?ð?ï+À?îç?ïõ€?ïÝ€?ð?ïüÀ?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ïß@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ð?ïù€?ïÐ?ïÄ@?ïû?ïüÀ?ð?ð?ð?ï\€?íž@?î´@?ï À?í?ïjÀ?ï9À?ïì@?í­€?Û߀?Ðz?Øã€?¡à?Ãô?Û²€?ìõ?ä•€?Ýÿ? T?—?«´?一?îJ€?í_€?ïÀ?ï@?ï{@?ï=?î—@?íW@?ëÅ€?îŽ?êÅÀ?íúÀ?î²?ï¼€?ïD€?ï1À?íÀ?ìð€?ïà@?ïÅ?î©@?îl€?ï­@?ï‘€?ïÕ@?ï<@?ëüÀ?èâ€?ï÷?ïåÀ?ïï€?îdÀ?ï‚@?ð?ïõÀ?ïçÀ?ïÕ€?ïJ€??·>?Ö¹€?ßs€?Ä?¹š?Ù«€?Ó>?Á?ÖÉ?îá@?Ñ”€?•à?æ?ïÖ?ð?ð?ð?ð?ïÿ€?ïÇÀ?ð?ð?ïç€?ï}À?ð?ð?ïØ€?ð?ïý?çW€?ìZ@?ïö@?ïÀ?ïì@?ð?ïù€?ïÄÀ?ïâ€?ïÚ€?ïâ€?ð?ïù€?ïì@?ï÷€?ïeÀ?ï?@?ð?ð?ð?ð?ð?ïÖÀ?ïþ€?ð?îžÀ?ïÁ@?ïÞ€?ïÚ?ð?ð?ð?ð?ð?ð?ð?ïö@?ð?ð?ð?ð?ð?ð?ð?ïü€?ïù@?ïö@?ïö?íã€?çï?Î;?Î ?àj€?ëÇ€?ïã@?ð?ð?ð?ì€?ßè€?ÂÔ?†`?@?zÀ?åÏ€?ì¼@?ï¦?ï{À?ïÌ€?ïÿÀ?ïÀ?íù@?ë€?èç?ï@?ïð@?ð?ïù€?ð?ð?ð?ð?ð?ïé@?í4À?í¦@?îj€?ì"@?áº@?v@?Ç%?ïóÀ?ïÇ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù?î-?Ëî?Õ)?ו?ì’?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïß?ð?ð?ð?ð?ð?êeÀ?ÆG?ÀÜ?Ý€?Ø€?âúÀ?á|@?Ùš€?Ô÷€?Êé?Õ}?ï?ïÕ€?í„?àWÀ?çý?î]À?ïó?ð?ïì@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå€?ïÜ@?ð?ïö@??ï¤À?ïÑ@?ð?ð?ð?ð?ï©?ïÛ@?ð?ð?ð?ð?ïÒ?ð?ð?ð?ïß@?ð?ð?ïö@?ð?ð?ïïÀ?ð?ð?ð?ð?ð?ïÞ€?ïé?ð?ð?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïéÀ?ïé€?ïÕ@?ïä€?ïú@?ð?ïè€?ïx€?ïŠ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï´@?é™?íWÀ?ïo?ïÎÀ?ð?ð?ïèÀ?ð?ïE@?ð?ð?ïr@?îà€?ïÿ€?ð?ð?ð?ð?ïôÀ?ð?î4?îü@?ï#?ï*?ïÞ@?ð?ð?ð?ð?àv?Ñ€?글?¿Ú?ÚÔ€?ÃM?‚€?€P?ß©€?ð?ð?ï}À?ﺀ?ð?ð?ð?ï^@?ï_€?ïþ€?îÔ?ï>€?ï#@??ïÒÀ?îÛÀ?ïö@?ð?ð?ð?ð?ð?ð?ïÒ@?ìÀ?ð?ïù€?ïö@?ïô€?ïÿ@?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì@?ð?ð?ïö@?ï§À?ïÿ€?ð?ð?ð?ð?ð?ï @?êµ?ïM@?ð?ì@@?îœ?ïÝ@?ïåÀ?ïä?îo?ï÷?ë3À?å6?î£@?îº@?ï°@?ï˜?î±@?ã:@?Õ;?à¶À?ëþ€?ëÀ?ÛÐ?ãË€?êÖ@?í‡?î@?îâ@?ïåÀ?ïD€?ï?ïLÀ?ï`À?ïS€?îõÀ?îÚ€??ïG?ïÀ?î„À?ï\À?ï,€?îa@?ïß@?ï¶€?ï§?ïŠ?îãÀ?ì¡€?í_?ïî€?ïï€?ïÿ@?ïQÀ?îÞ?ïÈ?ïh?ïê@?ï»?ð?ð?ïþ?ïþÀ?ÜG?Ùÿ?Ù ?ÉÖ?Ë)?Î'?$?ÄÐ?ï9À?À?™È?¿x?fÀ?o€?Ç¿?ìàÀ?ð?ð?ð?ð?ð?ïø@?ð?ïò€?ïõÀ?ïõ?ð?ð?ïï@?ð?ïò€?íÓ?ïù@?ïõÀ?ð?ð?휀?í‹€?ï“À?ïò€?ïõÀ?ï·€?ïþ€?ïÖ€?ïÃ@?ïåÀ?ð?ïÛ?ð?ð?ð?ð?ð?ïÐÀ?ïï@?ð?ð?î<À?ð?ïÃ@?ï§?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ?ð?ïÛ?切?ð?ïáÀ?ç3À?Ä?¤0?Ûö?æ›?ãÐÀ?ç÷€?á7À?ãSÀ?Î%?{@?œ¸?ãÀ?îï@?ï‘€?ïÆÀ??ð?ð?ïå?îB@?é•@?é@?ï†À?ïÙ?ïï?ïý€?ð?ð?ð?î×@?ä€?ëÕ€?íì@?âV@?·’?­$?ÒÇ€?ð?ð?ð?ïö?ïï@?ð?ð?ð?ð?ð?ð?ð?ï§À?àâ€?Û$?Õe€?ÐO€?ì°À?ì@?ð?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ð?ð?ð?ð?ð?ð?ð?ð?ð?î±?Ю€?–Ð?ä“À?ïH@?ð?ð?ð?ïŒ?ïAÀ?ì¾@?ï¹€?ð?ïï?ð?ð?ïn€?¬°?åî@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÐÀ?ïÐÀ?ð?ð?ð?ð?ð?ð?ïêÀ?ð?ð?ð?ð?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå?ð?ð?ð?ð?ð?ïå?ð?ð?ïÔ@?ð?ð?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ïû@?ïü?ïö?ð?ð?ð?ð?ð?ð?ð?ð?ï+@?îµ?ìæ?ìäÀ?ï @?ï¡À?ð?ð?ï”?ïN?ï<@?ïú?ð?î±?îÔÀ?ð?ð?ð?ð?ð?ïý@?ï]?ïà?í¡€?ð?ð?ïÞ?ð?ð?ð?ð?îÀ?»\?„@?å@?(?Å?s ?Ñ–€?p`?I?âq@?îÐ?ïè@?îÑ@?ïËÀ?ð?ð?ð?ð?ïþ€?íÈ€?ïÀ@?ð?ð?ïå?ïï@?ïå?ð?ïï@?ð?ð?ð?ïù@?ïù@?ïù@?ïýÀ?ïñ€?ð?ïø@?ïúÀ?ïÓ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î×€?ïÝ?ð?ïúÀ?ïëÀ?ð?ð?ïø@?ïè@?ïþ€?î3@?î€?ð?ïµ?îÀ?ãª@?ïòÀ?ð?ïÄÀ?ïZÀ?î÷?ïëÀ?îdÀ?í‘@?î?ï²@?ïm?ïï?ïï@?ïÍ€?ï½À?íÄÀ?éµ@?í€?î¨?àv€?Õ…?Ü´€?຀?çsÀ?ëËÀ?î»?ïe€?é6À?áX?íá@?î‡@?îm€?îƒ@?î?ï[@?ï ?ìÝ@?îËÀ?ï6€?ïxÀ?ï¨?ïºÀ?çÞ@?î@?ð?ïô@?ï×À?ïù@?ïåÀ?í€?íh€?î@?ï‹À?ï™?ð?ïë?ïzÀ?î©€?ïƒ?ï @?â$@?Ð?ßR€?踀?ÖÉ€?N?×n€?ì>€?åQ€?Ú ?S€?ºÌ?ëì?ð?ð?ð?ð?ïâÀ?ïh?ïëÀ?ï¡À?ð?ð?ïõÀ?ð?ïôÀ?î®@?ïM@?ð?ð?ð?ï±À?ëC?ì3@?ï‰@?î-€?íÀ?îç@?ïÿ€?ï0?ï²@?ì•€?ç4€?ï;€?ð?ð?ð?ïµÀ?ïÍ@?ð?ïÂ?ïK?ïgÀ?ï7€?ïÜ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ?ïùÀ?ï¤?ï~@?ïuÀ?çñ?ÍX?I?Ç ?å´?î¿?áŸÀ?³d?v ?à€À?ì?îüÀ?切?ïÒ€?ïð€?ð?ïëÀ?ï¨?ïÇ?ïýÀ?ïÑ@?ï@?ïd€?ïáÀ?ïñÀ?ð?ð?ð?í±@?æc?èè@?áé€?®?V?Ùš€?ïù@?ð?ï—€?ð?ð?ïï?ïý?ð?ð?ð?ð?è·À?µÊ?ÈÉ?±®?áùÀ?î[?ïy?ïj€?ïh@?ïÊ?ï½À?ð?ð?ð?ïÍ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æÀ€?p ?ã4@?ïþ@?ð?ð?ð?ïé?ïšÀ?ïM?ïÔÀ?ð?ð?ïö?ð?ð?ïþ?çÀ@?ç…?ð?ïû@?ð?ð?ð?ð?ïë€?é2À?ïx€?ð?ï¹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïƒÀ?ïø€?ð?ð?ïÙ@?ï°À?ïü€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè€?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ð?ð?ð?ïëÀ?ïáÀ?ïÛ?ð?ð?ð?ïò€?ïü€?ð?ïö?ïˆ??ê›@?îñÀ?ï]?ð?ïâ?íŸÀ?í†?î+€?íâÀ?íßÀ?í«@?íG€?ð?ð?ïù@?ð?ïÿ@?ïÜÀ?ïò€?ð?îDÀ?ïÀ@?ð?ïˆ@?ï4@?ð?ð?ð?ï¢?Õ[?¨ô??e@?Ú?Ã6?ç¥@?ð?ïõÀ?ï À?ï¶€?îŸÀ?ï¼@?îq@?î@?í®?îË@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ð?ïÚÀ?ð?ð?ïÕ?íP@?ð?ïô€?ð?ïƒ?ð?ï¾?ïÀ?ï…À?ïê€?î@?ï}@?ïä@?ïÐÀ?ïëÀ?ïž?ïÄ?ïm@?îâ€?î?ïå?ï…À?ì¶€?îl@?ïmÀ?ïÙ@?ïëÀ?ïÍ?ä°À?Ý@?ÁŸ?­@?ÐZ?Å[?µ®?Ç´?ÐÍ€?Û¸?ä(?͘?Ž?äÞÀ?îöÀ?ïJ@?î:À?ìh?ë‘€?ïLÀ?íÊ@?íå€?ïëÀ?îÀ?ïa@?îË?ïÒÀ?ïê?íz€?ïáÀ?ï×À?ð?îí?îg@?ïû€?î¬À?êî€?ì—À?î°@?ïS?ìÄ?í%À?íf@?æ—@?ïÀ?ð?ëj@?êm?è9@?ײ?Õ€?»Ú?ÍÅ?ãù€?Ýú€?êD€?Òé?6?¼T?ëv€?ð?ð?ð?ð?ð?ïò€?ï)€?ð?ð?ð?ð?ïÐÀ?ïö@?ï˜?ð?ïÞ@?ïõÀ?ïá€?ïÚÀ?î±€?ïÈ@?ïGÀ?ð?éÊ€?ïÊ@?ïýÀ?î@?ÙN?»€?Çš?îN@?î}€?ð?ð?ï×€?ð?ïá€?ð?ð?ð?ïZ@?îŠÀ?ð?ï¸?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ï¿À?ð?ð?ð?ð?ð?ïÛÀ??ê?èF@?ë?Ñ=?Õø?ìT€?ð?ð?ð?âõÀ?¢8?Ô€?Ñ?Ħ?Ũ?í¶?ð?ï|@?ïÍ€?ïæ?ð?ð?ïì@?ï³À?ð?ð?ð?ð?î›À?ìÏ?ïºÀ?ï•@?ð?ð?ïá€?àÐÀ?»4?•Ø?®X?Òi€?Ô%€?å÷À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Û4€?µ?U€?¦È?ÖZ€?íw€?î?ïð?ïÞ@?ï“@?ïH?îþÀ?ïÞÀ?ï×€?îå?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå?ð?ð?é6€?Å0?ìWÀ?ïÒ?ïóÀ?ð?ð?ïî€?ð?ð?ïçÀ?ð?ð?ð?ð?ïò€?ð?ð?ïÀ?ð?ïúÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?ë®@?ïo?ð?ïÇ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ð?ð?ð?ïö?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ïù€?ð?ð?ð?ð?ð?ð?ïÑ?ïa@?ïëÀ?ð?ïõÀ?ð?ð?ð?ð?ïè€?ïò?ð?ïÝ?î©€?ì>@?í@?íZ?íJ@?ïÈ@?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ïá€?ð?ï€?ëÀ?ïÀ?îQ?ð?ð?ð?ð?ð?ð?ïÑ€?Ú ?§¼?¼²?ÐR?³ ?²ò?Õy€?”H?­,?æÞ?ð?ð?ïSÀ?ïØ?ïð?ïÕ?ð?ïü€?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÃ@?ð?ð?ð?ð?ïõ@?ïý@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ€?ì¨?ïñ?ð?ð?ð?ð?îM??ïEÀ?ï¡€?ït?ï–€?ï‘€?ï¬À?îÔ€?ï»?ïÙÀ?ïéÀ?ïÙ?ïÙ€?ð?ïö?ïWÀ?ïs?ïhÀ?ïí@?ð?ãP@?§Ô?p ?w ?­Ø?æý€?ë°À?á8@?¸ ?m€?ÇP?¹Œ?²ö?ê/€?ïÀ?îª@?îZ@?îŠ@?ì?íþ@?ïeÀ?íP@?îB€?î-@?ï:À?îN?éy?í8?ð?ð?ïº?ïå?ï@?ï\€?îx€?ëRÀ?î$€?íÜ?îg?ì‚À?î/À?ï?ë0À?í}@?àÙ?Ú¢?ç©À?è•À?î=@?ïx€?îÜ?î§€?æ3€?ÊÃ?­H?ãV€?ïá@?ð?ð?ð?ð?ï™À?ïÑ?ð?ð?ð?ï²€?ïô€?ð?ï¿À?ð?ïáÀ?ïÍ@?ð?ï„€?íÍÀ?íÀ?î ?î*À?îkÀ?î¶@?ï¥À?îKÀ?Å ?»²?íÅÀ?Õ÷€?ê €?ïóÀ?ð?ð?ð?ð?ð?ï×€?ïÝ?ïÀ?î&@?îÀ?ïô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïF€?ìØ?íúÀ?ë+?éb@?ÐÝ€?Æ`?äG€?ïÿ€?ïõÀ?ïÉÀ?âa?èÀ?Ѳ€?Ó\€?ì8€?ï÷?ïÔ@?îWÀ?èç?ïÖ?ð?ð?ïÀÀ?îP@?ð?ïÿ€?ð?ïÚÀ?ð?ïÿ€?ïø?ïìÀ?ïõÀ?ïû€?î{?¹?Šð?…à?±Ê?¦à?èçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??§Ü?É[?·J?l@?ã À?î€?ð?ð?ð?ð?ff?ïÀ?ï–@?ï“@?ð?ïÆÀ?ïëÀ?ïÓÀ?ïý?ð?ð?ð?ð?ð?ïÿ@?ð?ð?ð?ð?ð?äæ@?í#€??ï€?ï³?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö?ð?ð?ð?ïÎ@?îê€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ð?ïÃ?ìe€?ïr@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè?ð?ð?ð?ð?ð?ïö?ð?ð?ð?ð?ð?ð?ïü@?ð?ð?ð?ð?ïï@?ð?ïíÀ?ïï@?ð?ð?ð?ð?ð?ð?ïÐÀ?ïƒ?ï!?ï¡?ïÀ?î À?ë§@?íö@?ïÀ?ïê?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âE@?v@?êo@?ï7@?ð?ð?ð?ð?ð?ïüÀ?Û=€??¾N?ÛÝ?îDÀ?ÉK?²Ú?ãuÀ?Êp?h@?é©€?ð?ð?ð?ïõÀ?ïö?ð?ð?ð?ïù@?ð?ð?ð?ð?ïý€?ð?ïê€?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ï›?ïò€?ïò€?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íU@?ïÕÀ?ð?ïï@?ð?ð?ïŒ@?ïð@?ïß@?ï@?ïë?î&€?ïM€?ïD€?ïÀ?ïT€?ïÔ@?ð?ïýÀ?ï€?ïáÀ?ð?ð?ð?ð?ïÙ@?î’À?ѵ?·°?A?¶z?Ú¹€?ï À?ïÿ@?ïf@?èÀ?M?Ðû€?½^?ϰ?éû?ìÃ@?íN?îF€?ï–@?ï,€?ï@?ïC€?ïµÀ?ïÿ@?힀?é€À?îs@?îÍ?î€À??î‰À?ï–?î}?îB@?îKÀ?ïqÀ?ï€?î@?ëo@?êl€?ç°€?áh?ÓŒ€?¾l?¯(?á]@?âê?í €?ïÊÀ?ïµÀ?ï†À?æ_@?ÑÍ€?ª°?~`?ë€?í @?ï¨?ð?ð?ð?ð?ïÀ@?îÿ?ïÏ@?ïþ?ïù@?ïßÀ?ð?ïÔ@?ð?ð?ð?ð?ïï@?ïùÀ?ð?ð??îú?ð?ï¦@?íu€?ÁÕ?Áž?ÇJ?à4À?ïŽÀ?ð?ð?ð?ð?ð?ð?ïí?ï ?îà?î»?îO€?í»?îÀ?ï;?îí?ð?ð?ð?ð?ð?ð?ïÀ€?ïá@?ð?ïnÀ?ì—€?ïˆ?â·€?Ô¶€?ª¸?â{?ïö€?âi€?Ðç?àS?ë÷À?ð?ï£?î±€?ïÔ@?ð?ð?ð?ð?ïõÀ?ïïÀ?ð?ï¹?ïÍ€?ð?ïõÀ?ð?ð?î£À?Ú?:?“¸?³ö?Ï?ìÒ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éº@?u ? ?¨?Úè?îÝÀ?ð?ð?ð?ð?ï§€?ïG@?ï”?î¤@?ð?ð?ð?ð?ð?ð?ð?ïß@?ïŒ@?ð?ïó@?ïÆ€?îü?ð?ð?ð?ïÄ@?ïD?ð?ð?ïDÀ?ï•À?ïú?ð?ð?ð?ð?ð?ð?ð?ð?ê¿?ïøÀ?ð?î@?åu?ð?ð?ïá€?ïÁ€?ð?ð?ð?ð?ïõÀ?ð?ð?ï@?ï¯?ïÊ?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ïÔ@?ð?ð?ð?ð?ð?ð?ïëÀ?ïéÀ?ð?ð?ð?ð?ð?ð?ð?ï×À?ïï?ïŸ?ïß?ïe@?î§À?ïÓ@?ð?î7À?îÀ?îV€?ï«?ïïÀ?ï‰À?ð?ð?ð?ð?ð?ð?ð?ð?ç£@?Åó?ï‹À?ð?ð?ð?ð?ð?ð?ãï@?U?ÃÛ?ð?ên@?¬$?š ?Ü(€??c?í÷€?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï`@?ð?ð?ð?ð?ð?ð?ïü€?ð?ïê€?îÉÀ?ïþ@?ïñ€?ïÕ?ð?ð?ïùÀ?ïÊ?ð?ð?ð?ð?ð?ð?ð?ð?ïè@?ð?ð?ð?ð?ïà?êŸ@?î3?ïö?ð?ïëÀ?ïõÀ?ïì€?îèÀ?ïjÀ?ïà?ð?ïëÀ?ïè@?ïæ?ïÅ?îµÀ?ïr@?ïnÀ?ð?ïé@?ï@?ð?ð?î“@?ð?ïï?ïPÀ?Þò€?ÞÚ?¢P?é(€?èT€?ïù@?ïÇ€?ïÕÀ?ì1€?h@?rÀ?äWÀ?Á˜?Çq?ê1@?ís@?ï€?î´€?ï@?îñ?íÞ€?íÀ?ï-À?íT@?îñ?ïüÀ?ïÊ?æõ€?ï À?ïü@?ïÏ?ïÖ€?ìzÀ?îb@?ï;?îÔÀ?îŠ?ìh?íŽÀ?î À?ßË?±?É0?ëñÀ?î¾?ï€?ì‡@?è@?߀?Â?¤ ?íÀ?î›@?ïØ?ïîÀ?ð?ð?ð?ð?ïÏ€?ð?ð?ð?ï:€?ð?ï×?îäÀ?ïK?ð?ð?ð?ë?á €?ë÷@?ð?ð?ð?ð?ð?æ¿@?<? ´?Ö&€?í ?ð?ð?ð?ð?ð?ïË@?ïÔ?ï¤?ð?ð?ð?ïõ€?ð?ï@?í¼À?ïÖ@?ð?ð?ð?ð?ð?ïä@?ï¨@?ïq€?ï—€?îÉÀ?î ?æ¥@?ƒ`?¤Œ?ÝÝ?Ð:?¾(?å?îÄ?ð?ð?ð?ð?ð?ð?ïÙÀ?ð?ð?ð?ïõ€?ð?ð?ïîÀ?ð?ïÖ€?Ó]?’ ?Ï:?í/@?èª?íÀ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç-@?Ó1?ð?ð?ð?ð?ð?ð?ïî€?ð?ïõ@?ïüÀ?íë€?ïÛ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïß@?ï«@?ð?ïæ€?ð?ïò@?ð?ð?ð?ð?ïàÀ?ïf@?ð?ð?ð?ð?ð?ð?ð?ð?êð?ïÒ?ð?ð?ð?ð?ð?ð?ïþ@?ïá?ïŸÀ?ïv?ïÏ€?ïÿ€?ïÕ@?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ïë@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îM@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÚ?ð?ð?ð?ð?ð?ð?ð?ïö€?ð?ð?ð?ð?ð?ð?ïÿ@?ïÔ?ð?ïù?ð?ï€?ð?ð?ð?î,€?ïr@?ï!€?î?ï1À?ð?ïÃ@?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íéÀ?îú€?ð?ð?ð?ð?ð?ð?âÓÀ?Œ?H?ÂË?ïCÀ?ï÷@?ëwÀ?ÇF?¡d?¡l?Ú^?±@?º¼?Ë?ð?ïÅ@?ïë@?ð?ﺀ?ï*?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îàÀ?ïõ€?ð?ð?ð?ð?ð?ð?ð?ïúÀ?ïÜÀ?ïé€?ìv€?ê?ð?ï°€?ð?ð?ð?ð??ð?ð?ð?ïù?ð?ïõ€?ð?ð?ð?ð?ð?ð?íðÀ?íæ?ï¥À?ð?ð?ïÿ@?ïáÀ?íš?íæÀ?ïå€?ïž@?ïçÀ?ð?ïù?ï‹@?ï¯?ïÑ€?ïÀ?ìöÀ?îæ@?ð?ïê€?ïáÀ?ï×?ïr?ï]?ïé?îM?êD?J?ߥ€?ïç€?ð?ð?ï·@?ïÌ@?å¿?Э€?ïjÀ?î†?çõ@?ëÀ?âÑ?í@?ì<@?ïÀ?ïnÀ?ïH?í‚€?è“À?îd@?ïö@?ïq?ïj@?íy?éÜÀ?ð?ïôÀ?ïhÀ?ïÊ?ï¡À?ï3À?ëmÀ?î]?ãi€?á[€?Ñ¿€?ª„?L?,?Ö§€?í÷À?í¬À?ít?ÔÔ€?ÏL?f?Ãd?îÒ@?ïí€?ð?ïù?ïâÀ?ïÚÀ?ð?ð??ð?ð?ð?ïG€?ïø€?ïÿ€?ïc€?ïó€?ð?ð?î?¾¢?£°?Ý€?íÛ@?ïü?ïòÀ?ð?ï•À?ØJ€?~À? ?Ú?éŸ@?ïøÀ?ïòÀ?ð?ð?ð?ð?ð?ïâÀ?ð?ð?ð?ð?ð?ð?ï½€?í7À?ï¹À?ð?ð?ð?ð?ïë?íÅ?íØÀ?ít€?íDÀ?ïØ@?âšÀ?Ê6?í@?ð?ð?ð?ð?ð?ï4À?ð?ïë@?ïõ€?ïÿ€?ïòÀ?ð?ð?ð?ï­@?ïÕ€?Úi€?¯¤?¡¼?íVÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?´š?”?o€?U?Í?ëE?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?î‰À??ð?ð?ð?ð?ïðÀ?ï˜@?ð?ð?ð?ð?ð?ð?ï÷?ï´?ð?ïý€?ïî?ð?ð?ð?ï^€?î€?ïô€?ïÍ@?ð?ï–@?ï??ïÓ?ïû@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ïÿ€?ð?ïî@?ï˜?ïè€?ð?ï­@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ïò@?ð?ð?ð?ð?ð?ï¶?ð?ïôÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ïçÀ?ïû@?ïî€?ð?ïõÀ?ð?ïá?ïó?ïô?ïÞÀ?ï³€?ï:@?ð?ïò@?ïçÀ?ð?ð?ð?îˆ?ð?ð?ð?ð?ï›À?ï–€?ð?ð?ð?ð?ð?ð?ð?éC?q ?Ó²?ïàÀ?ð?ð?ïQ?ãÀ?Ç·?Ï?Г?Ód€?”à?<?Ó7?ð?ïl€?ïÇ@?ð?ïüÀ?ïä@?ð?ð?ð?ð?ð?ð?ð?ïå@?ð?ïá?ð?ð?ð?ïßÀ?ð?ð?ð?ïù€?ïè?ð?ð?ð?ïZ?ïì?ð?ïô@?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÚ?ð?ð?ð?ð?ð?ð?ïÿÀ?í8€?íÛ@?ð?ð?ð?ï³@?ïAÀ?ð?ïÆ€?ï—@?ïþÀ?ïû@?ïÛ€?ïz@?ïý€?ð?ð?î@?î€?ð?ï¨?êÚ€?ð?îÿÀ?äÞ?í¡?á£@?và?ëÜ?ð?ïü€?ïò@?ð?ì:€?Å“?ÔÞ€?‰À?èÒ?ð?ï©@?ïõ€?îE€?ð?íó?ê&À?æ»?ét€?Ü6?ÎÄ?íš?ð?ï8À?îâ?ïú€?íê€?ï‘@?ð?ïö€?ïõÀ?ï6À?ì•€?íÃÀ?í@?æç@?µÆ?‡à?U?ã;@?ïY€?ë ?ãK?u ?“°?Q€?Õù?ïþÀ?ð?ð?ð?ïý@?ï]@?ð?ð??ð?ï]@?í³À?îŠÀ?ï·€?ïïÀ?ð?ïñÀ?ëWÀ?×6?·P?âiÀ?ð?ð?ð?ð?ð?å_@?¸"?u ?¸?æY€?ï5€?îã@?ïy?ï¾À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë@?î/€?î.€?î @?ì¡@?íÞ?í5?îÀ?ïæ@?ð?ð?ð?ð?Ý>?Ç„?íÁ?ð?ð?ð?ð?ð?ð?ð?ïÅ@?ð?ïlÀ?î¿À?îÆ@?ïþ?ïŸ@?ï°@?ëî€?®ð?ß,€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïåÀ?æ¼€?ë—€?ãúÀ?ÚK€?í;€?íóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‚À?ï?ïø?ð?ð?ï‘€?ïé?ï·@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï-?ïRÀ?ä\@?ã@?ì??îƒ?î®À?ï”@?îÞ?ïB@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÖÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÊ?ï‘@?ð?ïçÀ?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ï‚€?ï!€?ð?ð?ï‘@?ð?ð?ð?ïÌ?ï€?ï ?ï³€?îx@?í¥@?ð?ð?ïë@?î¥À?ð?ð?ð?ð?ð?ï`?ïÈ?ð?ð?ð?ð?ð?î¦?Ï?êºÀ?ïô€?ð?ïçÀ?ð?ð?í€?ïÀ?ÊÕ?¥ä?h@?ÂG?ÛM?ïUÀ?îØ€?ï?ïù?ïeÀ?ïÎ@?ïÛ@?ð?ð?ð?ð?ð?ð?ïû€?ïŠÀ?ïÚ@?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ïÖ?ð?ð?ð?îE?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù?ð?ð?ð?ð?ð?ð?ð?ð?î@?ð?ð?ïù?ð?ïÝÀ?ð?ð?︀?ïp?ïÆ€?ïá@?ï©À?ïîÀ?ð?ð?ð?ìö?ð?ð?ïk?ïÝ€?î@?íL@?ïÐ?Õ<?@?íú?ð?ïÝ€?ð?ïô€?â}@?ãµÀ?ð?Ï.?êZ@?ð?ïõÀ?ïîÀ?îß@?ßî?·¨?y€?›8?°?²ð?ï›?ð?ïsÀ?ïÀ?ïùÀ?íã@?ïº@?ïò€?ïÎÀ?î-?êkÀ?îÀ?æ7@?Â??ÈD?êLÀ?ÝÞ? ð?Œ?ÚD?Ú¡?¨x?§ü?¹\?±æ?0?ᨀ?ð?ð?ð?ð?ð?ïý?ð?ð?ð?êÏ@?Ê?³þ?Òê?Û7€?ï4À?ïõÀ?隀?µÆ?Ð?ð?ð?ð?ïÇ€?ð?ð?æxÀ?°h?ÑÛ€?ä,?ïÜ@?ð?ð??ð?ïÅ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ïÇ€?âL@?Æ?È<?ꪀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ€?ï?ïyÀ?ïÇ?è¢À?8?±È?îþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá?ïH€?íÀ?ëT?ï!?ïÍÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€?ïT€?ïò@?ð?ð?ð?ïc?îÀ?ð?ð?ð?ð?ð?ð?ï À?ð?ð?ð?ïõ€?ð?ïçÀ?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¹?îü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ïÚÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ€?í8À?ð?ð?ïk@?éþÀ?ïý€?ð?ð?ïò@?ï¥À?î›@?îo€?ëøÀ?ík€?îº@??ð?ð?ð?ð?ð?ï À?ïÙ?ïò@?ïîÀ?ð?ëI?ïó?ð?ð?ð?ð?ð?ð?ð?ð?êl€?ëõ€?ïõÀ?ð?ð?ð?ì À?о€?¡ð?Îa?˜x?ë €?ï]À?ð?ïÍ?ïôÀ?ï“À?ïÐ?ð?àQ@?´Ò?¡ä?暀?ïå?ïý€?ð?ïÿ@?ïê@?ïº?ïþ€?ïù€?ð?ð?íÜ@?ïý?ð?ð?ïñÀ?婢?婢?ïü€?ð?ð?ïä€?ïÿ?ð?ð?ð?ïõÀ?ð?ï©€?ð?ð?ð?ïè@?ïñÀ??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ð?ïþ€?ð?ð?îÜ?îÝÀ?ïþ€?ð?ð?ð?ð?ð?ïù?ï%@?ï³?ð?ð?ð?ð?ð?ð?îT@?íâ@?ð?ð?ïB?ïK?ïƒ@?ïp@?µ°?jÀ?éïÀ?ð?ïù?ïõ€?ïýÀ?ïþÀ?ïÿÀ?ð?ÚU€?§˜?ëþÀ?ð?ð?ïò@?Ü?±Ø?Öj?Þ¼€?Õü?Æ?ÐÖ€?éÇÀ?í€?ïä@?ïÝ€?ïŸÀ?切?ï?@?ïç€?ïî@?ï7?ï?îÅ@?î¥@?Ç<?²Ú?B?J?ÈÁ?Ýü€?îÛ?ïú@?ï@?ï”@?ï”@?ï~€?ê`€?ã±?ã0À?èœ@?á’@?ã<À?Ö‡€?Ü‚?íê€?ð?ð?ð?ð?ð?ð?ð?ð?ïû?Í’?x@?Ëq?ÈÙ?~€?¾(?w`?¶®?ëÏ@?ð?ïù€?ìÿÀ?ð?ð?ð?ÑÛ€?§ˆ?Æy?Ͱ?èØ?ïÙ€?ïù?ï–?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ïã@?ð?ï´€?ð?ð?ð?ð?ïú@?ßÇ?E?Æš?á¹À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ?ï?¿ê?«¤?ßé?îfÀ?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ï@?ïö?ïX?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í2?ïíÀ?ð?ð?ð?ð?íÕÀ?ïâÀ?ð?ð?ð?ð?ð?ð?ïøÀ?ïÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã@?ﻀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ð?ð?ð?ð?ð?ð?ð?ïù?ð?ð?ð?ïßÀ?ïø?ï¼@?ð?ð?ð?ð?ð?ð?ïýÀ?ï¨@?ð?ï©À?ïh?ð?ð?ð?ïêÀ?ïÜ?ð?ð?ð?ïÀ?ï¬?ïýÀ?ð?ð?ï€?ð?ð?ð?ð?ð?ð?ïâÀ?ïõÀ?ð?é?ÉT?Øu?îfÀ?ïÅÀ?îs€?á—€?ªX?Ú8€?ï…€?íå@?ïÇ?ï®?ïâ€?ð?ð?é?ä?ßh€?´L?µÚ?ï£À?ð?ð?ð?ïØ@?ï?î£À?ïÔÀ?ï)?ïã@?ïøÀ??ïC@?ð?ð??ð?ï§€?ïO€?ï…€?ïñ€?ð?ïF@?ð?ð?ïÀ?ïå@?ð?ïÃÀ?ð?ð?ð?î¯?ïî@?ï¢?ïœ?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?ïú@?ïî?ð?ð?ï À?î’?ïû€?îÓÀ?ïýÀ?ð?ð?ð?ð?ïÝÀ?ïò@?ð?ïßÀ?ð?ð?ð?ð?î À?ïÖ?ð?ð?îg€?îp?ïŒ?ïI€?Ìì?Á^?ï÷@?ð?ð?ð?ð?ð?ð?ð?ã8€?îh?ð?ð?ð?ð?î¼À?ëì?îb?ïõ@?ð?ïÏ@?ï2À?î·€?î?ïw?ïû€?ð?î¤?ï¨@?ïú€?ïI@?ïé?î¬@?ï’€?ï~@?Ña?¢è?ì[@?ï€?ï‡@?ïñ€?ð?ï­?ð?ï®À?ï@?ïÔÀ?ï—€?îSÀ?ð?ð?ï€?ð?ð?︀?ïÜ?ð?ïñÀ?ð?ïs€?ïæÀ?ïè@?ïþ€?ïü@?Êð?£°?Þü?Ü]€?~€?¼Ä?Ä!?ìs??íè€?ïí?ïÿÀ?ï—€?å:€?P?‰0?~€?·²?Ùà?îK?ï<À?ð?ïõ@?ð?ð?ïï?ð?ð?ï‰@?ïõ@?ïÅ?ïÿÀ?ð?ïã@?ï°À?ð?ð?ð?ð?룀?ÈG?Š ?Ûh€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïê€?ð?ð?äâ@?(?|?œ ?Ýt?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï0€?ïáÀ?ïø?î"@?ïî?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÈ@?î±?ï%€?ï=@?ð?ð?ïÑ@??ï©€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü@?íÙ?äýÀ?ßÌ?Ö'€?ëŽÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ?ð?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ïã@?ïñ€?ð?ð?ïî?ïø@?ï~À?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ïæÀ?ïÑ@?ïÉ?îÒ@?ïŽÀ?ïÓ@?ïè@?ð?ð?ð?ð?ð?í«€?ð?ï¿@?ð?ð?ð?ïñ@?ï¹€?ï>€?ïéÀ?îl@?ð?ð?ïã@?ïñ?ïù€?ïS?í˜?ð?ð?ð?ð?ð?ï‘À?íd@?ãÀ?™?@?°¬?Ðä€?¥\?Ûö?êt?ëŒ?êL?å|€?ïª@?ïz?ð?åÁ?˜ø?µB?ï0?ð?ð?ð?ð?ïWÀ?í¥?ð?ïõ@?îO€?ïü€?ð?ïì?ð?ð?ïøÀ?ð?ð?ð?ï%€?ïÿÀ?ð?ïô€?ð?ï6€?ïr€?ïþ?ð?ïô@?ð?ð?ð?ïå@?ð?ïÔÀ?ð?ð?ð?ð?ïØ@?ð?ð?ïü€?ïÄÀ?ð?ïù€?ïÛ@?ïõ@?ð?ð?ð?ïü€?ïd€?ïÌÀ?ïØ€?ð?ï÷@?ïú@?ï¼À?ï??ïÚÀ?ïØ€?ð?ð?ïÅ?ïýÀ?ð?ð?ïõ@?ð?ð?ð?ð?ð?îk€?ïÂÀ?ð?ð?ï«À?ï€?ï–À?Øl€?´ž?ïÍ?ð?ð?ð?ð?ð?ð?èÀ?íø?ïÿÀ?çó€?áÔ?æ=@?ÈV? Ð?Ët?ín?ð?ïÔÀ?îx@?ê–?ìì?ïó?ð?ïÐ@?ïÌ@?ð?ïÿ@?ïüÀ?ð?ïÞ?ïÚ€?ïÜ?ïn?Ãf?Ù5€?ï ?ïÈ@?îÓÀ?ð?ïë?ïõ@?ïÞÀ?ð?ð?ï@?ïý€?ïê€?ï”@?ïÿ€?ð?ï±?ï»?ï=€?ïŸ?ï€?ï‘?ïžÀ?ïØÀ?ð?ð?ïÂÀ?à”?Ö2?ð?å×@?b?†€?Ç?ç±€?ï@@?ïò€?ï—À?ïõ@?ïÏ@?â_€?”Ø?¹¤?æm€?éV?ï€?î-?ð?ð?ð?ð?ð?ð?ïZ@?ïÎ?ïýÀ?ïÁ€?ïê€?ð?ïì€?ïõ@?ð?í$À?Æ‘?°Ê?îû@?ïÃ@?ïŒÀ??ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ÕÑ?P?æF€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¿?ð?ð?ïi??ïWÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ€?îô@?ð?ð?ïê@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝÀ?ð?í3?ÜÔ€?Àz?²È?ã»À?ïöÀ?ïú@?ð?ïü€?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?í•À?î¸@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã@?ð?ð?ð?ð?ïúÀ?ïì€?ïýÀ?ð?ð?ð?ð?ïõ@?ð?ð?ïõ@?ð?ð?ð?ïüÀ?ð?ïëÀ?ïüÀ?ïõ@?ð?ð?ð?ð?ïÜÀ?ïc€?ð?ð?ð?ð?ïõ@?ïúÀ?ïáÀ?ï±?ïïÀ?ð?ð?ïÉ@?ïÙ?ïî?ð?ï­@?ð?ð?ïê€?ð?ð?ð?ï)€?àw€?¡¬?ª?èTÀ?×3€?ÇD?°¬?Ë]?éÀ??³h?yÀ?îg€?ð?ð?ð?ð?ëg@?ï€?ïð@?ïü€?ïé?ï7À?ð?ð?ð?ð?ð?ïê€?ð?ð?í>À?ïÓ€?ïü€?ïçÀ?ð?ð?ð?ð?ð?ð?ïñÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÃ?ð?ð?ð?ð??ð?ïøÀ?ð?ð?ð?ð?ð?ð?ïù@?ïö?ïî?ïú@?ïû?ð?ð?ð?ð?ð?ïû?ïø€?ð?ïñ€?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïnÀ?ïü?ð?ð?ïã@?ï4@?×´€?ÔC?ïê€?ï²À?ð?ð?ïõ@?ð?î»?ã€?è&@?àÀ? ?©ä?Þ?ïI@?ð?ð?ð?ï¶€?ïN€?﯀?ð?ð?ð?ð?ð?ïì@?ð?ð?îî@?ï¢?ïN@?èà@?´d?¶ ?ìñ€?ð?ï¦À?îÀ?ï±€?ð?ð?ïî@?ð?ð?ïõ€?ð?ð?ï}?ïê€?î¸À?ï®À?ïê€?ïJ@?ïëÀ?ï:À?ïZ€?ïÛÀ?ð?ïh@?ïµ@?à?ÃX?ï€?Üi?·X?åÊÀ?ð?ð?ð?ð?ïhÀ?æ)@?Ñé€?Òp€?Ää?˜ ?ãt?í¦@?î«À?ð?ð?ð?ð?ð?ð?ïú€?ð?ï_À?ð?ï™?ïÁ@?ïƒÀ?ð?ð?ð?枀?–?ÍJ?â(€?áˆ?ß?Ý–?Ùâ€?æõ@?ï€?ð?ð?ð?ð?ïõ@?ïÔÀ?ð?ð?ð?ð?ð?ð?ìåÀ?Ã9?s?íw€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ápÀ?ïï€?ð?ð?ð?ð?îs€?ïx€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÆ?ïµ@?ð?ð?ð?ð?ïøÀ?ð?ð?ïÂÀ?ð?ì­€?ïâ?ð?ð?ð?êS?ð?ïøÀ?ð?ïÒ€?ïØ@?ïÞÀ?ïîÀ?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï>?á0?æn?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ïõ@?ð?ð?ïî?ïêÀ?ïå@?ïûÀ?ïã@?ï÷@?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ð?ð?ð?ð?ð?ïÊ?ïú€?ð?ð?ïú€?íÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ï¿@?ð?ð?ð?×Ç€?(?£Ô?Æu?ï.?ãL€?¥`?z`?ÐÕ?n@?ãu@?ð?ð?ð?ð?ð?ï?ï-?ð?ð?ï¸?ï÷@?ïëÀ?ð?ð?ïë@?ð?ð?ð?ï¢@?ïæÀ?ïü@?ïñ€?ð?ð?ð?ð?ð?ïÑ@?êí?ïê€?ïŸ?ð?ð?ð?ð?ð?ð?ð?ïõ@?ð?ïØ@?ð?ïè€?ïöÀ?ïé?ð?ï߀?ð?ð?ð?ð?ð?ïî?ð?ï}@?ïïÀ?ð?ð?ð?ð?ð?ð?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ð?ð?ïÊ€?ícÀ?ð?ð?ïü€?ð?æ²?Ÿð?êý€?ïËÀ?ïÜ?ï×€?ð?ï©À?ð?à?Ùï€?ü?ÃÒ?ÞÍ€?ìê?ïý?ïž?ïŒÀ?ð?ð?ïý?ïÿ@?ð?ð?ð?ïá?ïóÀ?ïs€?ï•À?ð?ð?ð?ï¢À?ï}€?î‹À?ÞÀ?°t?„?ÉÊ?ï§€?ï€?ïüÀ?ïÔ?ï?ïÂ@?ïD?ï‘?ïý@?ïê€?ð?ð?ð?ï%À?ð?ï·€?ïÚ€?ïÛÀ?ïì?ïó@?ïê@?ð?ð?ð?ìº?Úñ€?è?’h?èç@?Éq?±Æ?èNÀ?ïî@?ð?ð?ïø@?ï€?ð?ì@?¶Ê?¬ ?î„@?ð?ï”@?ð?ð?ð?ïû?ð?ïÊ?ïÙ@?ïc?ð?ïŒ@?îè?ï”?ð?ð?ð?í÷?ÂK?H?Ñm€?ë©@?ð?ð?ð?ð?ð?îr?ãK€?àÚ@?·\?í@?ð?ð?ð?îà@?ï6€?ð?ï{À?ïù@?ïñ€?ð?ð?ð?ð?ð?íÀ?º¬?A?åbÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìt?ïÿ@?ð?ïî?ï…À?ïò@?ï™@?î/À?鹿?ð?ð?ð?ð?ð?ð?ð?ïó@?ð?ð?ð?ð?ð?ð?îi?ð?ð?ð?ïô€?ïE€?ð?ð?ð?ð?婢?í3À?ï£À?ï÷?ïý€?ð?ï?À?ïÉ€?ïÍÀ?ð?ð?ð?ïê€?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ïÊ?ð?ïm@?ð?ð?ð?ð?ð?ð?ï¢@?ï³À?ïø@?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ïÛ@?ï‚€?îä@?ïÀ?ï|À?î÷À?ïi?ð?ð?ð?ð?ï»À?ð?ð?ïí@?ïù€?ð?ð?ïs€?ï²?ð?ð?ð?ð?ïõ@?ïý@?ð?ð?ïî?ð?îf?ïÈ?ð?ð?ð?ð?ð?æÛ@?b?eÀ?Õ™€?ã €?Å?‘À?ÔЀ?ð?ïõ@?ð?ïî?ð?ð?ïþ@?ð?ð?ïøÀ?ð?ïü€?ð?ïñ€?ï×€?ð?ïøÀ?ïøÀ?ïü€?ð?ð?ð?ð?ð?æ:À?ï|@?ï„?ð?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô€?ï½€?ïóÀ?ïõ@?ïæÀ?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ïÿÀ?ïþÀ?ð?ð?ïõ@?ïøÀ?ð?ð?ð?ð?ð?ð?ïÍÀ?ïµ@?ð?ð?ïôÀ?ð?ïá€?ïõ@?ïê€?ð?ïøÀ?ð?ð?ï%€?àÕÀ?êÂ@?ï—À?ïØ@?ïð€?ïâ€?ïú@?ð?ïä?áÐÀ?¾€?‘Ð?Å?ãæ€?ïÞ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïðÀ?ð?ïô@?ï @?ïõ@?ð?ïñ?ïô@?éo?ã_À?ÙÍ€?Ï?ƒP?¸?ï¿€?ïHÀ?ï@?ð?ð?ïã@?í|€?ïù€?ïÿÀ?ð?ð?ïÂÀ?ð?ð?ð?ïÔ?ð?ï—€?ï›@?îÛ€?î˜@?ð?ë@?â €?À~?j?D?Á ?ÃÁ?`?Õì?àÀ?ìÄÀ?ïÎ@?ïê@?ð?ïtÀ?ç¦@?ѹ?†?ÌV?ïã@?ð?íŒÀ?ð?ð?ð?ï¨@?î-À?ïwÀ?ð?ð?ð?ïãÀ?ð?ð?ïú@?ð?ð?ð?îs@?ãŽ?Ö²€?ˈ?Ê-?¿Š?Ž ?ã¨À?ïë€?ð?ð?ð?ð?ð?ð?ð?ð?ïp@?ãÀ?⊀?±´?–¨?u ?T€?Ò+€?êºÀ?ð?ð?ð?îî@?î¾@?ð?ð?ïÜ?ïyÀ?ïÍ€?ð?ð?ð?ð?ð?ð?ãÀ?Âé?ð?àJÀ?ëÀ?ð?ð?ð?ïpÀ?í+@?ð?ð?ð?ð?ð?ð?ð?ð?î¬@?în@?í0@?íØ?ïì@?ð?ð?ð?ð?ð?ïÞ?ð?ð?ð?ð?ð?ð?èÀ?ëz€?ïÏ?ïð@?ð?ð?ð?ïñÀ?ïØ€?ïÑ@?ð?ð?ð?ïé@?ï¯@?ïøÀ?ð?ïÊ€?ï¸?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ïâ€?ð?ïú@?ð?ð?ð?ð?ð?ð?ð?ïõ@?ð?ð?ï¸À?î¸À?ï˜?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@??ïo?ð?ð?ï™??ð?ð?ð?íÒ@?ð?ï’?ð?ð?ð?ð?ð?ð?ér@??è?Π?ÝO?ÜÆ€?Ò ?ð?ð?ð?ïñ€?ð?ïÊ?ð?ïà@?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ã%@?Ñ'?ìu?ïñ?ð?ð?ð?ïºÀ?ï#À?ð?ð?ð?ð?ð?ð?ïõ@?ïõ@?ð?ïÀ?ïí€?ð?ïøÀ?ð?ð?ïÞ@?î§À?ïÒÀ?ïú@?ð?ð?ð?ï»À?ïö€?ð?ð?ð?ð?ð?ïü€?ð?ð?ð?ð?ð?ï@€?ð?ð?ð?ïæÀ?ï‘?ð?ð?ïq@?ïÚ€?ï¸?ïOÀ?ð?ïøÀ?ð?ïÊ?ï^@?ï¿@?ð?ð?ð?ð?ïï@?î5À?ìÆ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÃÀ?ïøÀ?ïö?î¢À?ía€?áè@?Þ?ÓÜ€?Â?C?¹t?¬ø?j?r€?ëÒ@?ð?ð?ð?ð?ì—?ï³@?ïó?ð?ð?ïÔÀ?ð?ð?ð?ð?婢?ð?ït?ïÔ?ïЀ?ï½€?׃?}@?Àq?Ô·?ë«À?é€?p@?<?Ôì?ì3@?ð?ð?ð?ð?ïÿ@?êï@?Èo?$?Ïn?ï±@?ð?é߀?è‚?î÷@?ﺀ?ï‰@?ïÖ?ï¥À?í®?å@?â ?Ó¬€?ã½@?ë¹?ïÌÀ?ð?â³€?É?¶?Ð+?áÜ@?ìD?ï¤?ï§€?îÔ@?ïþ?ïê@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î`@?êz?á¸@?䇀?ìC€?ê?áó@?êZÀ?ïø€?ð?ð?ð?ð?í\€?ï•€?ð?ð?ð?ð?ð?í@?æä?îØ€?ïõ@?ïÜ@?ïýÀ?î @?ÈØ?„p?íÙÀ?ïÕ€?ïwÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?î1À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?îs€?ìŠÀ?î«?ï’?ïð@?ïÆ€?ïô€?î3À?î‘À?ð?ð?ïÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïZ@?ð?ð?ð?ð?ïîÀ?ïž@?ð?ïû?ïú@?ð?ð?ð?ð?ð?ìoÀ?ïç€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ï©?ï À?î·?éöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?íi?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ïø€?ð?ð?æè@?â€?è_€?ïí@?ïúÀ?ï8@?ð?ð?ð?ð?î€?îà?ï6À?ð?ï5€?ï«?ïõ?ð?ïÝÀ?ã²À?Š?æåÀ?ßð?Ý?Ùw€?ð?ð?ïÚ€?ï»À?ð?ð?ð?ïø@?ð?ð?ïøÀ?ïâ€?ï±€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ð?îö?Ô€?ã—?ïüÀ?ð?ð?ð?ï€?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ïÊ?ð?ïó€?ïèÀ?ð?ïù€?ïÿ@?ï÷€?ïô@?ïÜÀ?ïñ€?ïè?ïæÀ?ð?ïÅ?ïè?ð?ð?ð?ð?ï|@?ïð@?ð?ð?ð?ïf@?ð?ð?î„À?ð?ð?ïñ€?ð?ïû€?ð?ï°@?ïý@?ïñ€?ð?ð?ïû€?ïõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ïï@?ð?ïþ€?ïñ€?ï¼@?è:@?àá€?áÏ€?Ô^?²Ì?çå€?ïóÀ?ïÍÀ?ð?ð?ð?ïÛ?ð?ð?ð?ïÁ@?ïH?ï¾€?ïîÀ?ð?ïûÀ?ï£@?ïÔ@?ïeÀ?ð?ç €?´Æ?Á×?îT?ï½À?ïý@?ÆÍ?x?Ã&?ßÛ€?ð?ð?ïý?ïa@?ç4?ï»?âOÀ?Š?Õ€?ïôÀ?ð?ð?îÆ€?î|?ï“?ëú€?æˆ?î€?ÖÇ?‚p?Ç?¼@?Ëò?à>À?àt?Âã?ÈŽ?©Œ?Æ®?å´@?éÜÀ?ïÀ?ð?ïûÀ?ïý?ð?ð?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ï¶?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ïÍÀ?ð?ð?ïõ@?ð?ð?ð?èÞÀ?ì1@?ð?ð?ïÍÀ?ð?ïõ@?ïA?ï÷€?ð?é €?ÞK?±v?È÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïyÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íè?ï€?ð?ïé?ð?ïŠÀ?ïìÀ?ð?ð?ð?ð?ð?ï€?ïßÀ?ïøÀ?îå@?ïM?ð?ïn?îr?ïï?ïÀ?ïØ@?ð?ð?ð?ð?ïÜ?ð?ìn€?ï¿@?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ï÷@?ï†@?ï®?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï­À?í„€?ïg€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‰@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïS?ïºÀ?ð?ï €?î€?íÿ€?î¹?îÜ€?ïùÀ?ï’À?ïò@?ïýÀ?ìß@?ïTÀ?ïù?ð?ð?ð?ð?ïg?ð?ïù?í@?ð?ð?ï;@?ð?ð?ïãÀ?ð?è?§@?¥Ø?쥀?ïú@?ð?ð?ð?ï³À?êã?î‚À?ð?ð?ð?íÕ?ïä?ﺀ?ïv?ÛÖ?à:À?ïë@?îu?ìL@?½æ?êÀ?ð?ïÂÀ?ïË€?ïžÀ?ð?ïã@?ïæ?îmÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï_À?ð?ð?í߀?ïM@?ï¥À?ð?ð?ïñ€?ð?ïü€?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïó?ð?ïæ€?ïô€?ð?ð?ð?ïî?ð?ð?ïû€?ï¿@?ð?ïàÀ?ïñÀ?ð?ð?ï÷€?ð?ð?îr€?ï×@?ð?ð?ð?ð?ð?ð?ïõ@?ïÿ€?í‹À?ï¸@?ð?ï*?ï?ð?ð?ïë@?ïâ€?ïï?ð?ð?ïÔÀ?ð?ð?ï@?ïà€?îù@?ïü€?ð?ð?ð?ð?ð?ïü@?ï@?ïÔ?ïñ€?ïõ@?ïü@?ïÓÀ?ð?îû@?ïþ€?ïÛ?ð?ïÀ?ïÊÀ?éSÀ?×4?ÆK?†°?œ@?ìÞÀ?ð?ð?ð?ð?ïÜ?ïÞÀ?ï=À?ð?îá@?ï‚@?ïð@?ð?íÀ?ïÀ€?ð?ð?ð?ïý@?íE€?¾~?¥,?Ýù?ï™À?ð?Í ?4?ãQ€?î±À?ïŠ@?í @?À¶?·â?Õ?ít@?¡ ?$?ß €?ïŠ@?ð?ð?ð?î¢?ïM€?ÒÈ€?Í?ÚK?Ñ€?¹"??O?Ær?ÕÕ€?ìœ?ïª?êD?êo@?ìÀ?î8@?ïÅ?ïËÀ?ð?ð?îê€??ð?ð?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?î¼À?ïÕ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àˆ€?í­@?ð?ð?ð?ïú@?ð?ð?ïÿ?ì(À?Î?·?‚0?ë ?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ïç€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î @?ïø@?ð?ïó?ð?ð?ïqÀ?ð?ð?ïþ?ð?ð?ïü?ïy?ð?ï™À?îz?ì…?ê"?ð?ð?ð?ð?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îç?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïm€?ïƒÀ?ð?ð?ïp€?ð?ïø@?ð?ïó?ï#À?ï ?ïaÀ?ïo@?ð?ïú?ï?ð?ïøÀ?ð?ð?î @?ïÑ?ï©À?ïþÀ?ïä€?ïû€?ïn€?ð?ð?ð?í3€?×Í?Ÿ(?ê/@?ð?ð?ð?ï0?ì§€?ïg?ð?ð?ð?ð?ïõ€?ð?ïÿ?è!À?ª?߀?ïðÀ?ïúÀ?ð?â(?ø?ín?ð?ï¯À?ïü@?ð?ð?î²?ï¹€?ïü@?ð?ê@?ð?ïü@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?ïã?ïý€?ê©€?î8€??ïý€?ïû@?ïÉ@?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïâÀ?ïá?ï÷À?ïƒ?ï±@?ïù€?ð?ð?ð?ð?ï¹€?ïžÀ?ïþ@?ïÿ@?ïÌÀ?ïN@?ð?ð?ð?ð?ð?ð?ð?ïÛ€?ï„?ïü@?ð?ð?ð?ð?ïЀ?ð?î0€?ð?ïý??ïÎÀ?ð?ïÂ?ð?ïñ€?ð?ïøÀ?ïøÀ?ð?ð?ïø@?ð?ïøÀ?ð?ð?ïå@?ïý€?ð?ð?ð?ð?ïèÀ?ï¯?ð?ïñ€?ïûÀ?ïÀ?ð?ð?î-À?ïº@?ïùÀ?ïøÀ?ïô?ïôÀ?íL?ƒ?ÜM€?ð?ð?ð?ð?ïÅÀ?í«€?ð?ï³@?ïõ??ð?ð?ïê@?ïL?ð?ð?ïØ?ï?ïð?Ô߀?Ð~?Ú¼?ªÌ?Ö?ª¤?Ùƒ€?ð?ïØ?Ð’?gÀ?³ ?îý?ç3@?ÛÇ?B?µÚ?äø€?ð?ïæ€?ð?ð?ð?æÀ?4?Á?¯D?ªØ?ÍÆ?m@?ãý@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ€??ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?ïÛ€?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ð?ð?ð?îý?ï÷?ð?ï?ïù@?ïÄ€?ïñ€?ð?ð?ï²@?ï½@?ïö@?îS?åi€?]?¾0?Ör€?ïö@?ð?ð?ïþ@?îè?ï´À?ïºÀ?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÆÀ?í€?ïÂ?îv?ð?ð?ì:?ð?ð?î¯?ïøÀ?ð?ïíÀ?ð?ð?ð?ïÚÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ïÙ?ð?ïß@?ïé@?ï7@?í½€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ€?ïn@?ð?ð?ð?ð?ð?ð?ð?ïÊ€?ïáÀ?ð?ð?ïíÀ?ð?ð?ð?ð?ð?ïyÀ?ð?ð?ð?ïz€?ð?ï¯À?ð?ð?ð?ð?ïŸÀ?ð?ð?ð?ïÖ€?ð?ð?ð?ð?ð?ïì€?ïðÀ?ð?ïR@?ïÄ@?ï]À?ð?ïË@?ÞØ€?¥À?¬Ø?ç??ïºÀ?ìþÀ?äç€?⎀?â˜?î]€?ïé?ïûÀ?ð?ð?ð?èÀ?Ç¿?–˜?£l?áî?ïyÀ?ïÃÀ?ï„?ìþÀ?Ò€?ð?ð?ð?ïü@?ïþ@?ïíÀ?ïõ?ïõ?ð?ë–?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü@?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¢À?ð?ïé@?ï´À?ð?ð?ð?ð?ð?ð?ð?ïõ?ð?ð?ð?ð?ïÞ@?ð?ï‹€?ïü@?ð?ïü@?ïú€?ïøÀ?ð?ïð@?ïý€?ïõ?ïü@?ïøÀ?ð?ïÍ?ïøÀ?î€?ï¼€?ïÄ?ïôÀ?ï¿?ïý€?ïÅÀ?ð?ïê?ð?ïíÀ?ð?ð?ïâÀ?ïù@?ð?ð?ïþÀ?ïÙ@?ð?ïÛ€?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ïù@?ð?ð?ð?ïñ€?î@?ïä?î²@?ï@?ïÂ@?äC?x ?æ.À?ï¯À?ïÀ??ï@?ìWÀ?î<À?ï @?îž@?ïS@?ï€?ð?ð?ð?ïÅÀ?ï5€?ïï?ïz@?ïf@?ïÙ€?O?Ô~€?í€?Üç€?Ñ×?ïü?ð?âò?Ñ=€?ð?é‘?Î=?¢T?Î?î-€?ï¢À?ð?ïñ€?ïô@?ð?çø@?§\?€ ?–X?á"À?Ýe?îw€?ð?ïº?ïø@?ð?ð?ð?ï—?ï¾?ð?ïö@?ð?ð?ð?ð?ð?ð?ïÛÀ?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ïâÀ?ð?ïÝ?ïèÀ?ð?ð?ïì€?ð?ð?ï€?éò€?€?…`?âœ?íŽÀ?ð?ð?ïÉÀ?ïY?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ@?ìÌ€?ï@?ï¾?ïá?ïø@?ð?ð?ð?ð?ð?ïÍ€?îÍ?ïº?ð?ð?ïèÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ïæÀ?ð?ïf€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ïÝ?ð?ð?ð?ð?ï @?ïø@?ð?ð?ï¾À?ð?ï}À?ïå€?ïÙ@?ð?ð?îe?ð?ð?ïõ@?ð?婢?ð?ð?ð?ð?ð?ð?ïú@?ð?ð?ð?ð?ð?ð?æÀ?ÈÃ?ê˜@?ïO@?å€?É/?ŠÀ?«?Æ6?æ€?îô@?ð?ð?ð?Ýï?ع€?ð?ïÕ@?ïî€?ð?Ñ¡€?ãlÀ?ð?ð?ð?ïþ?ï*@?ïƒÀ?ð?ð?ïì€?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?ïÕÀ?ð?ð?ð?ð?ïÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï2€?ïì€?ð?ð?ð?ð?ð?ïÂ?ïü?ð?ï€?ïô€?ð?ïð€?ïÙ@?ð?î÷€?ïÝ?ð?ð?îŽ?ïø@?ð?ð?ïü?ï*?ð?ð?ï|?ð?ï¢À?ï@?í€?îè@?ï*?ð?ð?ïæÀ?ð?ï5À?ð?ð?ð?ð?ð?ð?ð?ð?ïÅÀ?ð?ïÝ?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÍ€?ð?ð?ð?ð?ïÙ?ïÙ?é<?ìA?çvÀ?ïô@?ë(À?¶F?¹z?i@?ÞÜ?ð?î°?ï€?î{À?ïhÀ?ïÓ@?îÀÀ?ð?ð?î–?ð??ð?ïð€?ð?ïþ?î‡@?îä€?ïü?ï?èýÀ?“?¸j?¹?¥T?W€?Ó9?ïs@?Ú.?ÐÝ€?0?ít€?ï¥?ã5€?ˆp?Ì®?é@?îwÀ?ï?ð?ð?à0À?Ñ-?´¦?…P?^€?É1?çp€?ÕS€?ïäÀ?ð?ð?ïU@?ð?ð?ð?ð?ð?ð?ïh€?îo€?ï5À?ð??ë“@?ì™@?ï·@?îI?ð?ð?ïTÀ?ð?ð?ð?ð?ð?ð?îS@?ð?ïú€?ïûÀ?ð?ð?ð?ï®@?ïèÀ?ï¶?ð?ïM€?ï¹€?ð?ð?ð?îž@?ð?ð?ð?ð?ð?ð?ð?î“À?Ø ?và?}€?‘h?æF€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?í&?î]@?í@?ð?ð?ð?ð?ïºÀ?ïì€?ð?ð?ïÑ@?ïÑ@?ð?ð?ð?ïÈÀ?ïó?ð?ð?ð?ð?ð?ð?èö@?ïÙ?ð?ð?ð?ð?ð?ï@?ïì€?ð?ïâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïY€?ð?ð?ï²?ïÿ@?ïx?îÀ?ïÿ@?ð?ð?ïÒ?ï0€?ð?ð?ïÿ@?ð?ð?ð?ð?ð?ð?ïÁÀ?ð?ïë@?ïÛ€?ð?ïG€?Ú‰€?äø€?Þ«?º*?¢8?àò?Þw€?¢<? ?€?P€?ç.@?ïd@?ð?ð?ð?áÆ@?²`?ç~@?ïü?ïÁÀ?ïäÀ?í"?§¨?ÞË?ð?íiÀ?ïÁÀ?ð?ð?ïÿÀ?ïç@?ïäÀ?äò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ïÿ€?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?ït?ïòÀ?ð?ïÿÀ?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ï©À?ïÿÀ?ð?ð?ð?ð?ïý@?ð?ïåÀ?íû?ï?ïÙ@?ïü?î@?ð?ïð€?ïâÀ?ïÂ?ïø@?ð?ïü?ð?ð?ð?îaÀ?ï²À?ð?ïø@?ð?ð?ð?ð?ð?ð?ï@?îà?ð?ð?ð?ïø@?ïÙ?ð?ïÍ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ë«€?ÚH?ïòÀ?Ýä?Þ„?Å‘?¨?¡t?îÉ?ïHÀ?婢?ï€?ð?ïA@?ð?ïë€?ï:@?îV?í#@?ïÁÀ?ïü?ïÝ?ð?ï¹À?ð?ïô@?ð?ﮀ?ï @?íJ?ä—À?W€?Çs?£D?t?ÅU?k€?g@?f€?c€?µÂ?æî@?ßU€?¼¼?¨t?àÅ?ëÓ€?î[À?ð?íŠÀ?âž?â~€?Ѐ?ª$?¿°?¤|?Âq?ëS€?ð?ï³€??ð?ð?ð?ð?ð?ïh€?í¯?ð?ð?ð?ïØ@?Ú²?íå€?ð?ð?ð?ð?ïÕ@?ð?ð?ð?ð?ð?íî@?ê?ìD€?ëÆ€?﯀?ð?ð?ð?ð?ïGÀ?çÀ?à*€?à÷À?î¾€?ð?ð?ð?ïäÀ?ð?ð?ð?ð?ð?ð?ð?çO€?’x?‰ ?·¢?ïÅÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î×€?î‘À?ïÝ?ïÂÀ?ð?ð?îë€?ïð€?ð?ð?ð?ð?ð?ð?ïü?ï:À?ïý€?ð?ð?ð?ð?ð?ð?ícÀ?ð?ð?ð?ïÑ@?ð?ð?ï¦À?ð?ï?í/À?ï—@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ@?ð?ïØ?ï²@?ïö?ð?íƒ?ï¾?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïùÀ?ð?ð?ð?ï‹@?î[À?ð?ð?ïø€?ïnÀ?ï±?ð?ð?ïÕ@?ð?ï9@?ð?ð?ð?ð?ð?ð?ð?ð?îû@?ïäÀ?ð?ð?ï°?ïý€?ï€?ã ?d?Ù‰€?Ç?V€?²Æ?éš@?ï£@?ï«?ïí€?ð?ïø@?él€?Â+?À–?ï@?ð?ïèÀ?ï¡€?Ы?ÅÆ?í&€?ï»?ï¾?ïÚ€?ïø@?ïwÀ?ïý€?ïÙ?î[?ïì€?ð?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ïö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð€?ð?ïAÀ?ï¥À?ïç€?ï­@?ïóÀ?ï?ð?ïá?î‹À?ï„À?ïèÀ?ïî€?ð?ð?ð?ïàÀ?ð?ïð€?ð?ï¨À?íž?îä@?ð?í²?ð?ïèÀ?ïü?ð?ð?ïø€?ð?ð?ð?ïð€?ð?ïÕ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î_€?êF?×?ï®@?ìn?¿`?z?ª$?¥ ?°¢?Ë?ú?çzÀ?ïQ€?ð?ïÝ?ïý?ï›@?ð?ð?ï¿À?î €?ï<€?ð?ð?ð?ð?ïá@?ð?ð?ïèÀ?ïÑ€?ð?ïø@?¼È?:?T?W€?k@?¥0?„Ð?ÙÈ€?îò@?Çî?¿ ?¶h?äË€?è¿?è÷?è?ï™?èŸÀ?èÀ?Ü4?—H?Ð#?Õ)?à0À?ëæ?ð?ï<À?ïÔ?ïûÀ?ï´À?ð?ð?ð?îYÀ?éû?ì÷@?呂?ð?î@?í„@?ï@?ð?ð?ïá?ïá?ð?ð?ð?ð?ð?ï²@?ëó€?í™?îµ@?íaÀ?ïï€?ð?ð?ïá?ð?ï°?äSÀ?ÓG?çr€?ïÉ€?ð?ð?ïô@?ïó€?ð?ð?ð?ð?ð?ð?ð?è£À?й?ïá?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í÷€?ïs@?ïû?îo?ïü?ïÕ@?ð?ð?ð?ïÆÀ?ïˆÀ?ïÍ€?ï?@??ð?ð?ð?ð?ð?ð?ïî€?ïÍ?ïô@?ð?ïE€?ð?ïÍ€?ð?ð?ð?ð?ïä?îk€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ@?ð?ð?ïÅÀ?ð?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èq€?ïv@?ð?ð?ïý€?ð?ð?ð?ð?ð?ð?ð?ð?ï±?ð?ð?ð?ïÀ?ð?ð?ð?îØ?îÖ@?ð?ïÚ€?ïèÀ?ïÒÀ?ïñÀ?ï¦À?ïäÀ?ïð€?ïå?ïX€?ð?ð?ð?ð?ð?ð??îçÀ?ð?ð?ð?ð?ð?ð?ð?èI@?•`?W€?g@?âÀ?ï–?îЀ?ïó€?ïû?ïæ@?ð?ð?èÀ?,?(?c€?åé€?ïèÀ?ð?ïá€?æ?¶ž?Ǥ?íßÀ?ïü?ï­@?ð?ïÙ@?ïöÀ?ð?ð?ð?ð?ï·@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ïäÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ï€?ð?ð?ð?ð?ð?ïò€?ð?ïû?ïô@?ïÁ?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïE€?ð?ï¨?ð?ï-€?ð?ïü?îjÀ?ïó€?ï÷?ï–?ïø@?ïNÀ?ï€?ïî€?ïð€?ïÙ@?ïø@?ïäÀ?ïø@?ï—?ð?ð?ï†?ð?ð?ïl?ð?ð?îÌÀ?ð?ïÅ@?ïº?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?îk€?çR@?ê@À?ÕÛ?êèÀ?ïô@?Ë9?¼´?Òz€?º¶??r ?ÓE€?æÔ?ï•@?ï¶@?ë•€?ï"?ï²@?ð?ïý€?ïï?ð?ð?ïá?ïñÀ?ð?ï&@?ïø@?ï ?ï*?ð?ïº?å“À?wÀ?ÊŸ?Üo€?äm@?Éï?І€?ÚË€?äiÀ?â¡€?ì‚@?Ô€?Ì\?Ã?Ї€?é#?ìb€?àä@?Ùa?éÐ?îK?Õ"€?Ϧ?x ?·¶?µô?Ô €?çF@?ïô@?ð?ð?ï#?îFÀ?ð?ð?ð?æÀ?îð€?ïî€?ïô@?ð?ð?ïÌÀ?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÉ€?ïÙ?ïðÀ?ð?ð?ïM?ð?ð?í8À?ïÜÀ?ð?ð?ð?ð?ð?ð?ð?ç¾?Öt?ð?ð?ð?ð?ð?ð?ð?êº?ÑØ€?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ïÕ€??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?î?íß?ð?ð?ð?ð?ð?ð?ï)@?ï€?ð?ïeÀ?ð?ïÍ?ïõÀ?ð?ïö?ïÒÀ?ð??îp€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?ïÑ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í@?ð?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëX@?îˆÀ?ïàÀ?ð?ïë@?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ð?ð?ð?ð?ð?ð?ð?îoÀ?ð?ð?ï©€?ïô@?ð?ïð€?ð?ïô@?ð?ïX@?ð?ð?ïx?ï®@?ð?ð?ð?ð?ïe?ð?ð?ð?ð?ð?ð?ð?ð?é¥@?ážÀ?á®@?ˆà?W€?o?®à?áÓ?îOÀ?ì@?ïV?ï³?ïÌ?ïh@?íq€?ïì€?Ïä?ÛP€? ?Ãi?í×?ð?ð?è@?H?n€?à¡€?é?íR?ïOÀ?ïü?ï}€?ïAÀ?ïÝ?ïù€?íjÀ?ï—?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ïø@?ð?ð?ð?ð?ð?ïü?ï@?ð?ï}?ï¦À?ï6€?ïý?ð?ð?ïì€?ð?ð?ð?ð?ð?ïÙ@?ïÍ€?ð?ð?ïù?ïß@?ð?î ?ïü?ð?ïú€?ïˆÀ?îÀ?íJÀ?í;@?îð?ð?ð?ïø@?ïó@?ïÉ€?ïU?ïÕ@?îo€?îà€?ð?ð?ïÌ@?ïÎÀ?ï£?ï@?ï²À?ïü?ïü?ð?ð?ïü?ï{À?ð?ð?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?îïÀ?ð?ì÷@?ä¡À?À?Ûï?æÃ?ŒP?äÀ?ïÃÀ?切?îÀ?ð?ïÍÀ?ïÎÀ?ï“?ï•À?ïA€?ï½À?ïÑ€?ïL@?ï€?ïÀ?ð?ð?ï²@?ïÑ@?í.À?¯ô?L?ß`€?ïcÀ?ï¢À?ïð€?ð?ïÅÀ?ïG@?¶¦? ?f?Ð'?Û·?ï?ð?ïÕ@?íÈ€?Äw?Ìe?ÌÇ?¦ä?Î`?‚p?bÀ?»?Í@?ÒV€?ïí@?ïžÀ?ïý€?ïþ€?ð?î<€?é®?î À?îÀ?ëö?äë€?ïäÀ?ïà?îó€?ï\€?ï=À?ð?ð?ð?ð?ïþ@?ð?ð?ð?ï5À?ð?î²€?í±@?ð?ð?ð?ð?ð?íô@?è€?îØ?ïô@?ð?ð?ð?ð?ð?ëÌ@?Ñ-?ë@?ð?ïô@?ð?ð?ð?ð?ï€?Àg?Ô€?ð?ïû@?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ@?ïÑ@?ï²@?ïø@?íó@?î€?ìþ?ï»?ð?ð?ð?îø?ïø?ïMÀ?í¹?ïÔ€?ïO€?ï£?ïâ€?ð?ïÏÀ?ïÛ€?ð?ï×@?îÅ?ï¶?ïàÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ïá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î ?î3?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îƒ?ð?ïô@?ïþÀ?ï¢@?ïô@?ïëÀ?ïèÀ?ð?ð?ð?ïá@?ï±@?ð?ð?ð?ïÝ?ïÝ?ð?ïø@?ð?ð?ð?ï6€?ïð€?ð?ð?ð?ð?ð?ï~€?î¹À?¾ª?ÔÓ€?âñ@?³ò??‰@?²>?Ò€?ºÊ?Úr€?ê{@?ïø?ïÀ?ï«€?ð?ëÙ@?³À?¾.?ÒŸ?ï2À?ïø@?ïšÀ?ïô@?êþ@?{À?Óê?ë0À?ïíÀ?ð?ïÝ?îÔ€?ïø@?ïúÀ?ïóÀ?ïÁÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ïø@?ð?ð?ð?ð?ïÙ?ð?ïü?ð?ð?ïì€?ð?ð?ð?ð?ð?ïð€?ð?ð?ïþ@?ð?ð?ð?ð?ð?ïÉ€?ïäÀ?ð?ð?ð?ð?ð?ð?ð?ð?îà@?ð?ïü?îæ@?呂?ï—?ïÌ€?ð?ïç@?ïúÀ??ïEÀ?ð?ð?ð?ð?ï÷À?ïõ€?ð?ïø@?ïžÀ?îЀ?ïèÀ?ïïÀ?ïQ@?ï}@?ï†@?ï¢@?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ê^?ÒÞ?Ó/?«?Ë?Ô_?©?ãWÀ?ï À?ïß?ïÝ?ïÿ€?ïÁ€?ï‘€?ïì@?ï’?婢?ð?ð?ð?ﺀ?呂?ð?ï²@?ïÉ€?ïä€?â³? ?ÈS?³¤?{?´?âFÀ?ï<€?ïô@?ð?èÇÀ?t€?á©?ð?ïð€?Õº€?Ü?q€??ª¼?±‚?­d?•è?£¼?–°?Á}?ç•€?ïÑ@?ïßÀ?ï¿€?ð?îüÀ?ï ?ïÅÀ?ð?ð?ð?îi@?î«?î²?ïú?ð?ð?ð?ð?ð?ïv?íÈ?ð?ï¾?ïèÀ?ð?ìþ?ïÀ?ð?ð?ð?ð?ð?ð?ð?ïõ@?ð?ð?ð?ð?ð?ð?ð?ËD?ÝÀ?ð?ð?ð?ð?ð?ð?ð?ìÌ€?å:?ábÀ?P?ÃÂ?î4À?ïi@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÿÀ?ð?ïèÀ?ï‡@?ð?ð?ð?ð?ð?ð?ð?îWÀ?îÀ?îcÀ?íÃÀ?îÕ?ïÛ@?íµ?î]@?ïg€?îi?ïÅÀ?ïõ@?ð?ït?ð?ïÝ?ïÀ?ïÕ@?ïÉ€??ïeÀ?ïÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëÆ@?êe@?ïü?ïh@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï}€?ï@?ð?ð?ð?ð?ð?ð?ï½€?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞÀ?ð?ð?ð?ð?ð?ïñÀ?ð?ïø@?ïºÀ?ïô@?ð?ð?ð?ïî€?ïŒ@?ð?ð?ïð€?ð?ð?ð?ð?ïÍ€?ïø@?ð?ï\?ð?ð?ð?ð?ï¨@?ï?ï€?îó@?¢Œ?ݬ?ï4À?ï]€?íVÀ?ã?åb?ÕL€?Ÿh?Ý?ïÀ?ï›?ð?ð?ð?âÙÀ?¨?¹?àLÀ?ž˜?½@?ëc?ï½À?ïÑ€?íeÀ?ð?îzÀ?ÖÒ?ì߀?ð?ïð€?ï€?ïÑ€?ïö@?ïð€?ïÛ?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ïÍ€?ð?ð?ð?ð?ð?ð?ð?ïì€?ð?ð?ð?ð?ð?ð?ïË@?ð?ð?ïø@?ïô@?ð?ð?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ïð€?ïèÀ?ïô@?ïþ?ïu€?ïÂÀ?ïÁÀ?ð?ð?î¿€?ð?ð?ð?ð?ð?ïå€?ïð€?ð?ð?ïÛ?ïê€?ïæ€?ï‘À?ï\À?ï€?ïð€?ð?ïq?ð?ï\?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÃÀ?íÿ@?êæ@?ÇÑ?Ñ>?åJ@?îí€?ð?ïy€?î„À?ïÑ@?ïü€?ïü€?ð?ð?ïÍ€?îÕÀ?ð?ð?ð?ð?ð?å†?¶$?ŒÀ? Ì?¥È?–°?M?Ð$€?Ów€?¿ö?Ú/?£Ø?º¬?ÏV?êÁÀ?ï&À?ëáÀ?°(?Ì~?±\?ÆÄ?Ûu€?ï:€?î¸À?²Ä?ã"€?èbÀ?ð?âô?O?³¬?¸L?ÓÒ?Ÿ ?rÀ?š°?¿ä?Ûª€?㪀?ìЀ?î?ð?ïÅÀ?ïø@?ïü@?ïã?ð?ð?ïî€?ð?ð?ïú@?ð?ð?ð?ïð€?î{€?ïÀ?ï_@?ï®@?ð?ð?ïmÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è›À?ëÕ@?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?â?  ?¨¬?í‹€?ð?ïèÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îã@?ëöÀ?ð?ð?ïŸ?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ï„?ï1€?íéÀ?íH€?ïg@?ï@?ïº@?ð?ð?ð?ð?ïØ?ïb?ïI@?ïô@?ð?ïð€?ïÄ@?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïèÀ?ð?ð?ð?ð?ð?ç–À?ïÉ€?ð?ð?ïÕ@?ïU??ð?ð?ð?ð?ð?ð?ð?ð?ð?뉀?í•@?í¼?ð?ï,€?ì’€?ï*€?ð?ð?ð?ð?ëT€?µà?ÜÍ€?ð?ð?ð?ð?ð?ð?ð?ð?ï—@?ï¦?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ïá?ð?ð?ï\À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïU€?îê€?ïèÀ?ð?ïô@?ì(€?èv@?ïWÀ?ït?ï›?ïÙ?ï+€?èµÀ?Ûó€?g@?²b?ÙZ?î\?ïÝÀ?ïžÀ?ð?ð?ï(À?¥˜?Ôâ€?ÑÕ?Åe?áà?íÚ€?ð?ï@?ï©€?ïú@?ð?èãÀ?°?åö€?îÀ?î¢?ð?ð?ïò€?ïèÀ?ï×@?ïò€?ïð€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ?îÿ€?ïÝ?ð?ð?ð?ð?ð?ð?ð?ïJ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÁÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ïø@?ð?ð?ïŽ@?ï8€?ð?ïi€?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ@?ïA@?ïð€?ïz?î)€?î?À?ìKÀ?î€?ï£?ð?ð??ð?ïÆ@?í·€?ïÙ??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îoÀ?ð?ð?ð?ð?ïþ?ïˆ@?çZ@?ÍÐ?¥¸?¯$?s€?×þ€?غ?â‹?Ê^?±r?Ýó€?îY?ï›?ð??ï¶?ï€?ïÙ?ð?ð?ð?î"€?¤ô?ŠÀ?ª€?ÃÌ?ÍÖ?ã³@?å•€?ía?ï×€?ïË€?ç¸À?ÙH?êt?ï¯@?ïèÀ?ïê@?ð?îCÀ?ïàÀ?ð?ð?ïá?ïäÀ?æ±@?é£@? ??ÑN€?×\€?ºf?®€?à?àÝ?G?œ0?º?¡ü?±„?§Œ?¦?@?Åã?Çä?ÎÚ?Ð/€?Û€?êÞ@?ï²@?ïÍ€?릀?©?Åv?ã!À?îµ€?ð?ð?ð?ð?í‹€?Õa€?ÜÙ€?èP€?Ç ?åW@?ïä€?ð?ð?î¿À?ï,@?ïø@?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ð?ð?ð?ð?ð?ïô@?婢?ïà?ð?ð?ð?ð?ð?ð?îl?ï‹€?ð?ð?ëÄ@?à²@?ÎÏ?Ë ?Ýy€?åËÀ?í£?ê2?î¸?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï ?ïîÀ?ð?ïÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïèÀ?ð?ð?ð?ð?ð?ð?ð?ð?ï“?ï¶?ð?ïèÀ?ð?ð?ð?ð?ïÕ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ïd€?î5€?ð?ð?ð?ð?ð?ð?ð?ð?îŒ@?Ù­?ѳ?è‹€?ð?ð?ð?ð?ð?ð?ð?ð?ï@?ð?ð?ïèÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïr@?ð?ð?ð?ð?ïð€?ï9€?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ï5?ð?ïÉ€?ïûÀ?ð?ï½À?ïú@?ïÉÀ?ð?ëT?Þ¤?¼2?—¸?“à?Ôð?í„À?ïè@?ïØ€?ïèÀ?ïL?î@?ð?Â?ßó€?éhÀ?í4€?ïô@?ïá?ïÙ@?ïß@?ï³?ð?ð?Ëj?¨l?ì.€?ð?ð?ïô@?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŽÀ?ð?ï›?ð?ð?ð?ð?ïèÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïçÀ?ð?ïÿ€?îÿ€?ð?ð?î³€?ï2@?ï¼€?ï×À?îÀ?í?î?ð?îëÀ?ëæ??ïÂ@?ð?ð?ð?ð?ð?ð?î<?íe@?ð?îÀ?ëuÀ?ð?ð?ð?ïÝ?ð?ík@?î°€?ð?ð?ð?ð?ð?ð??ð?ð?ð?ð?ïá?ð?ïú@?ï°€?íÞ?ï°€?ð?ïèÀ?ïp?ï@?Àæ?ç À?îø?ï&@?ïèÀ?é«@?Úö€?Ø+€?Ùß?Ú¡?ÊÝ?È\?¼H?á?íð?ï¸@?ð?ïø@?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ê8À?Á'?«\?Èp?• ?¤¤?“p??k@?©D?Ù?¸¢?×Ì€?ía@?ê¨@?ßa€?ÉU?ï#À?ð?ð?ê×?ε?Ø?îa€?ïø€?ïá?ð?ïD?îKÀ?ð?ð?ð?ð?ð?ïø@?ïÍ€?ð?ð?ð?ï6À?ï:?ïkÀ?ð?ð?ïÀ?ð?ð?ïàÀ?îÔÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïäÀ?ð?ð?î €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²À?ð?ð?ð?ð?ð?ð?ð?ð?ïä@?ð?ð?ð?ïü?ïÆ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï´?ï‘À?ð?ð?ð?ï€?î¶À?ïø@?îŠÀ?ìæÀ?ð?ð?ïY?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï•?ð?ð?ïð€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÅÀ?ð?ð?ð?ð?ïÙ?ït@?ð?ïäÀ?ï"@?ð?ð?ð?ïá?ïaÀ?ï @?ïí?ï›?ð?ï¶€?ï›?ïU?íyÀ?îß?í©@?Ïè?¥ì?ê}@?î@?î`€?ð?ï?ïý€?ïÌ?©|?à ?ÕN€?ïY€?ïÁÀ?鹿?ð?ïô@?ð?ïð€?ïí€?ð?ìø?D?®?í¤@?ð?ð?ð?ïº?ð?ïô@?ïº?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?îìÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ@?ð?ð?ïö?ïô@?ð?ð?ð?ð?ð?ð?ïð€?ð?ïø@?ïü?ð?ïéÀ?ïø@?ïð€?ð?ð?ïäÀ?ï?ï €?ëË€?îü€?ï<€?츀?ð?î¾?î"?ïÔ€?íd€?í‚À?îo€?ð?ð?ïø@?ð?ïâ€?íÀ?ï“@?ð?呂?ëµ@?ïø@?ð?îû@?ïÅÀ?呂?ï½?ïç@?ð?îà@?îs@?î‡@?ð?ïð€?ï_?ð?ð?ð?ð?ïÍ€?ïùÀ?ïî@?ïö?ï>À?ï€?ïð€?ð?îÿ@?íHÀ?È[?Ðl€?ïu€?ì €?Äõ?ž?Æœ?îq@?ð?ð?ð?ïø@?ïèÀ?ð?ð?ð?ð?ð?ïð€?ð?ïèÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?énÀ?s`?_?¬0?¾b?Žà?}@?…`?W€?Ú@€??›è?t€?Åv?ÒÐ?¸¨?‘È?ш?ð?ð?ð?ï?ìø€?渀?ïª@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î1€?ïðÀ?ð?ïäÀ?ìÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ@?ð?ð?ïâ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå@?ð?ð?ð?ïÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ïÉ€?ð?ð?ð?ð?ð?ð?ð?ð?ï¾?ïÕ@?ð?ð?ïß@?ï¶?ïø@?ï'€?ï0@?ï@€?ïÀ?î?î\?îúÀ?ï@?ío@?îG@?ïèÀ?îø?î¥?îÈÀ?ð?ð?ð?ïã?ïÇÀ?îïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ïd@?ïÕ@?ïø@?îE?ï@?ïð€?ð?ð?ð?ð?ïô@?ïð€?ð?ð?ð?ð?ð?ð?ð?ð?ïÅÀ?ð?ð?ïäÀ?ð?ð?ïø@?ïÙ@?ð?ïÙ@?ïì€?ð?ð?îMÀ?ëøÀ?ð?ïÅÀ?ïÝ?ï²@?ïº?îíÀ?ïH€?ï°?èÉ?Æÿ?’x??àQ?ïR@?ð?ð?ï]€?ïàÀ?ï¿@?ÍÝ?¨À?| ?¯Ø?ï/?ïˆÀ?ïƒÀ?ïÉÀ?ï|?ð?ïø@?ïÝ?ïû@?ïÙ?éÉ@?¸T?ȸ?ïZ€?ïþ@?ð?ï¾?ïó€?ð?ïÝ?ð?ð?ð?ð?ð?ð?ð?ð?ïƒÀ?ëA@?í»€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïòÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïèÀ?ð?ð?ïü?ð?ïèÀ?ï)À?ïø@?ð?ð?ï‘€?ïûÀ?î\?ïèÀ?í&@?ïï€?ð?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ?ïÆ@?ð?ð?ð?í`À?ð?ð?î=€?ïô@?îÀ?ð?ð?ïµ?ï´À?ð?î À?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïôÀ?ïžÀ?ð?ð?ð?ð?égÀ?ß@€?ÆÀ??Äô?ÑŒ?±à?îÝ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç$À?„?€0?yÀ?Ç[?½¸?4?Âv?Â?°¦?áÕÀ?ïÙ?ð?ð?ð?ð?ïa?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïwÀ?ð?ïÑ€?ð?ð?ð?ð?ï—?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïèÀ?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ?ï×@?ð?ð?ïð€?ð?ð?ð?ïä@?ïû?ð?ð?ð?ð?ð?ï&€?ð?ïwÀ?íîÀ?ïÀ?ð?ïY@?ïÚ€?ïe?ï•À?ïÕ@?ïÀ?îˆ@?îÅ@?ï¾?ïø@?ïå@?ð?ïæ€?ð?ì @?ëC@?í?èÌ@?íù€?ì1À?ï™?êY?îó€?ð?ð?ð?ð?ïø€?ð?ð?ð?ï-À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ït@?ïLÀ?ð?ð?ð?ð?ð?ïÍ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÿ?ïü?ïô@?ï¾?ïû?ð?ð?ð?ð?ïð€?ð?ð?íù€?ïŽ?ð?ð?ïÌÀ?ïÁÀ?ï?ð?ï¸@?ïX€?é­?Éü?v@?æá€?ï&@?ð?ïÝ?ïÀ?ð?豈?È|?À?´†?¸ö?È×?ßj?ãpÀ?ÊD?Óœ?í±€?ï÷?ð?ïäÀ?ïô@?ð?ï³?ïÙ@?íö€?äu€?ê@?Âü?ÙK€?ïÌ€?ð?ð?ï«€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?ïì€?îoÀ??ð?ð?ð?ð?ð?î’À?ïèÀ?ïø@?ð?ð?ð?îà?ïõ@?ð?ð?ï/À?ïÖÀ?ïó?ïàÀ?ïc@?ïu€?î†À?ð?ïø€?ð?ð?ð?ïPÀ?타?ð?ð?ð??ïË@?ð?ð?ð?ð?ïÒÀ?ð?ð?ð?ïæÀ?ð?ð?ï¨?í¶€?îVÀ?ïø€?ð?ð?ð?ïð€?ïÂ?ð?íÎ@?ït?ïö?ð?ï?ïô@?ð?ð?ð?ïc€?ìbÀ?èÌ?ÝM?L?èE€?êå@? t?ÀL?æ4@?í2@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?´H?$?g@?äa€?å™@?ç(À?çÜ€?âo@?Ï’?Æ?o?© ??°¶?×t?ä?æR@?Ä?ÐÓ€?ð?ïð€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï.?ïÿ€?ð?ð?ð?ð?íy@?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ïÙ@?ð?ð?ïÀ?îœ@?ð?ð?ïýÀ?ð?ïø@?ïäÀ?ïå@?ïý@?ï1À?ìâ@?ïèÀ?ð?ð?ïô@?ïô@?ïàÀ?îÅ?ïÀ?婢?ïÆÀ?í„€?ïÅ@?ïÿ€?ð?ïÅÀ?ï%€?ï ?ïI?ð?î\@?ïò@?ím@?ïäÀ?î7@?èÈ€?ïXÀ?ïšÀ?îe?êB€?ïÜ?ïü?ïäÀ?ïÅÀ?ð?ð?î­À?ï*@?ïÿ€?ð?ð?ïð€?ð?ð?íÀ?í€?îª?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?ð?ïá?ïô@?ïý@?ð?ð?ð?ð?ð?ïø@?íyÀ?ï…?ð?ð?îý?ïÒ?ïI@?ïe@?ïÝ?ïÅÀ?ïN@?ÆF?W€?Æý?ï„?ïç€?ð?ïp?ïÄÀ?í­À?ç?V?Ó¿€?íûÀ?î0À?ïõ?ð?ð?ð?ï·@?ìz€?åj€?ï€?ïò?ïàÀ?ïð€?ïì€?ïx?çOÀ?Ù?é’€?ÚZ?à’@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ïô?îƒÀ?ïU?ï&€?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ïá?ð?ï‹@?ð?ïv?îò@?ð?ð?î:?êé@?ì¶@?ïì€?ïàÀ?ïóÀ?î@?ð?ð?ïÛ@?ð?ð?ð?ïì@?ð?ð?ð?ð?ïì€?ïý@?ð?ð?ð?îV@?ïì€?ïÿ?ír?ïú€?ïæÀ?îÕ?ð?ð?ïàÀ?ïîÀ?ïì€?ïî€?ïa€?ð?ï¬À?ïô@?ïð€?ð?ð?ïô@?ð?ï?â?ÊŒ?`?Š@?Â?ïãÀ?ð?ç«?ɦ?ʾ?Õ?Ïœ?Ó?Žp?Q€?ÆÏ?è‡?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è’À?ˆ€?‹@?³ô?Û®?Õ€?Ò!?Â.?w?é®@?ïú?ï…À?à|À?©ì?ÕE€?ð?ïÞÀ?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïs@?ð?ð?ð?ð?ï‡?ï€@?ð?ð?ð?ð?ïm@?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ð?íH€?ïÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ð?ïø@?ð?ð?ð?ïç?ð?ð?ð?ð?ð?ð?ïÇ?ïäÀ?íT@?ì¥À?í.À?íž@?ð?î`@?îsÀ?ï½€?ð?ï¿@?ïø@?ï€?ïü?ïÝ?ï2À?î‰À?ïh€?ïäÀ?ïá?ï´@?î!@?ïú?ïð€?ïá?ïô@?ð?ïÍ€?îŸ@?ïõ@?ð?ïì€?ð?ð?ð?ð?ð?ïøÀ?ð?ð?è%€?ãÄ€?çú@?îµÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í¯À?îÔ€?ïÀ?ð?ïì€?î÷€?íü?í×À?îH€?í¸À?í)?î]@?ïèÀ?ð?ð?í@??ïá?ïº?ïÝ?ïW@?âñ?P?•À?ÐÙ?íZ@?ïÒ@?êw€?âÛ€?á#€?Î0?¥$?P?Ù1?ï.@?ð?ð?ð?ïü?îñ@?ð?ïô@?î?ïô@?á¯?ë‹À?ï-@?ïî@?çÀ?Øì€?ÕQ?Š?Т?\€?ž@?ïÍ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð€?ï¼?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïM€?ð?ð?ïô@?ð?ð?ð?ð?ð?ï¾?ð?ð?ð?ï#@?ïþ?ï{@?ð?ð?ïø?ïì€?ïü?îE€?ïÖÀ?ïÕ@?ï¢À?ïì€?ïÊ@?ï¾?ïÙ@?îµ€?ïö?ïð€?ð?ð?ïôÀ?ïÐÀ?ð?ð?ïð€?îl?íÓ?îr@?ïe?ð?ð?ïy@?ï'€?ïØÀ?ï´?ïÒ?ï"€?ïü?î0À?ïäÀ?ïê€?ð?ï¤À?ïí@?ð?ïì€?ð?ð?ïø@?ð?ð?ð?ìt€?ãÜ?¦Ø?<?à|@?ð?ð?ð?ð?ð?ð?ð?ï±@?î³@?ìe€?︀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ës?Äþ?«€?³d?Õø€?ÇÐ?€@?8?ãî€?ï?ïÑÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø€?î±?í÷À?î‰À?ð?ð?î˜À?ï“?ð?ð?ð?ïô€?ð?ð?ð?ïïÀ?ð?ð?ð?ïë?ïà€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ïn@?ð?ïÇ@?ð?ð?ð??ïë??ð?ð?ð?ïø€?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¸@?ïÝ@?ìv?ï&?î€?ïÀ?ìQ@?ïg?ï½@?ï¿À?ï±À?ïð?ïðÀ?ïb?ïïÀ?ïbÀ?ïÞ€?ïf@?ïžÀ?íÀ?ï£?ïz@?ïfÀ?ë @?ì'À?ïú?ïÛ€?ð?ïNÀ?ï„?ð?ïÆÀ?ï ?ð?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ïóÀ?ïô?ïÀ?ïh@?ïÍ?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ@?ð?ïëÀ?ð?ïå€?ï'@?ï^À?îùÀ?î€?î–@?ï¡€?ð?ð?ï²@?ï9?ïø?ð?ð?ð?ð?ïø€?ïå@?ïö@?ð?ïÝ€?ê…€?ð?ð?ï’?î•À?îâ?Ýù?ªt?wà?0?¼È?Þ§?êe?ßV?Ì ?°R?—?ð?Áô?µ.?j€?z@?à•?î²?ð?ð?ïÄ?éä?äò€?ÅŒ?Α?Ò”€?îÀ?ð?íh@?Ðp€?È?Ìï?Õ5?œÈ?Ê»?°?š(?£Œ?éà@?íÀ?ïÒ€?ð?ïà€?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@€?ð?ð?ð?ð?ïø?ð?ð?ïþ?ð?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŽÀ?ð?ð?ð?ð?ð?ð?ð?ï߀?ð?ïø?ð?ïÃ@?ïƒ@?ï«€?ï»À?ïÑ?ïâ?ï¾@?ïü@?ð?ï—€?ïq€?ïBÀ?ð?ð?ð?ïÀ?í»@?ïïÀ?ð?ïê?ð?ð?ïù@?ïï@?ïN€?î*@?ð?ð?ïQÀ?ï/À?ïÛÀ?íÀ?îÜ€?ï ?ì´?ïý€?ð?ï´À?ïþ€?ð?ð?ïb?ì{?ð?ð?ð?ð?ïg€?ïüÀ?ïà@?ð?ð?ïø?ï¯?ð?ì†@?×$?»<?ŽÀ?ãQ@?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çŸ?¤˜?Ò?ïÞ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ïUÀ?ïô@?íz?êÿ€?ð?âK€?ï‚€?îÀ?ïü@?îN€?íð€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï_€?í×@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæÀ?ð?ð?ð?ð?ð?ð?ð?ïr@?ïm@?ïù?ð?êt€?ïçÀ?ïø?ð?ía€?î¶@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ð?íÔÀ?ïD?ïÏ@?ïÿ@?ï߀?î}€?ï™À?ëÎÀ?ïÚ@?î×€?ï@?ïh€?ï À?ï¯?î€?í|€?ïÊ?ïÚ?ï×€?ïóÀ?î¯@?ï§À?ï?ïÿ@?ïxÀ?îÿ?ð?ð?ïÿ?ï?íŸÀ?ïÕ?ï²?îà€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ïîÀ?ð?ïïÀ?îØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï @?ï'@?ïB€?ïUÀ?ï@?ïø?ð?ð?ð?ð?ð?ð?ïõ€?ïø?ïê@?ï·@?ð?ð?ð?ð?ïÿ€?ð?ð?ð?ïþ@?ïãÀ?ïË€?îÁ?î±À?ïŸÀ?ð?ïý€?í÷€?LJ?_?§Ô?ÀÍ?Ç?Ø?Q??É€?P?Ê*?í@?ïÍ?ïà€?Ý"€?Þç?Î\?Ìü?éÀ?àIÀ?ÒÎ?â¿?ïôÀ?ïé?ä À?ÏB?“¸?—˜?o@?„@?° ?åÔ@?ïë@?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ï¼@?ïb@?ïÇ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö€?ïû@?ïüÀ?ð?ð?ð?ð?ð?ð?ï߀?ð?ð?ð?îý?ïü?ïŽÀ?ïzÀ?ïËÀ?ïº@?ïŽ@?ï€À?îÀ?ï×€?ïëÀ?ï‚€?ï?ð?ð?ïóÀ?ð?ð?ïQ?ïù@?ïp€?ïw@?ð?ð?ïÐ?ïþ@?ð?ïø€?ïû€?íæ€?ïÈ@?ìöÀ?ð?îá€?ï¸À?ëÏÀ?ï÷?ð?í€?ïõ@?îüÀ?îÑ€?ío@?ïL€?ïóÀ?ïþ€?ïø?ð?ð?ï!€?ìv?¼Œ?ÈÈ?ïŒ@?ð?ð?ð?ïº@?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê+À?¨?Ïv?œà?ä"€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï΀?ð?ð?ð?ïS€?ïcÀ?Ðw?æ¿€?ïm€?î‹€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð€?ð?ð?ð?ð?ð?ð?ð?ïû@?ïØ@?ïv@?îCÀ?ïÀ?ð?ð?ïÕ?ïâ@?ïŠÀ?ïz@?ð?ð?ð?ð?ð?ð?ð?ír€?íÀ?îA@?îôÀ?ð?ð?íH@?ð?éî@?ïÏ€?íb€?ïÀ?ð?ïžÀ?ïçÀ?ï߀?ð?ï¨À?ïÀ?ïb@?î‡À?îo?îì€?ïÇ€?ï£?í&?ïB€?ð?ïõ?ïôÀ?ð?ïé€?ð?ïë€?ïïÀ?ïÇ@?ï·@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï5À?î×À?ï·?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï`?î–@?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ð?îãÀ?îõÀ?ð?ð?ð?ð?áÀ?Y€?P?P?U€?²ü?Â?ã6€?ÏÅ?¾?ØF€?µ"?äG€?ær?ë­@?ð?ï@?»j?áŠ@?ïÝÀ?é6? Ì?•x?à?ÈZ?º$?^€?·H?â/@?îë?ï¢?ï³À?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ€?ð?ï»@?ï£?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?ïÖÀ?ïà€?ïü?ð?ð?ð?ð?ïË@?ð?îL?ï«?ïh?ð?ïãÀ?ï‡@?êC?îÌÀ?ïó?îû€?ïâÀ?ð?ð?î!@?ð?ð?ð?ð?ð?ïãÀ?ï„?ï«€?ïþ€?ð?î¿À?ð?ï½€?ïÀ@?ð?ð?ïÂÀ?ïð@?ð?ïÃ@?ð?ð?ïé?ð?ð?ð?ð?ïl?ëó?ð?ï}??ð?ð?ð?ð?ïü?ëF€?Þ¤€?ÏØ?4?Ι?ë³€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìQ?áé€?Ȱ?À?ï(@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¦?î@?î'€?ð?î§@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ð?ð?ð?ð?ð?ïÑÀ?ïä€?ï‘?ð?ð?ïãÀ?ð?ïøÀ?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë?íD€?ïz?ì6€?í€À?ï€?ïò€?ð?ð?ð?ïþ€?ïÀ?ïô@?ð?ïÊ?ï€?ï¿@?ïÕÀ?ïM@?ï"€?ïÿÀ?ï5€?ð?ð?ïø?ïÞÀ?î€?ð?í?èˆ@?è ?ï¿@?ïßÀ?ð?ð?ð?ð?ïÀ€?ð?ð?ð?ð?ð?ð?ï÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ð?ïâ?î‘@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ€?ïœ@?ï¯À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ€?é>@?ê³€?ð?ð?ð?ë?„?M?Ó‡€?Ø]? ?£?Ø”€?éÖÀ?ð?æ+?ã€?™°?ØP€?ïZÀ?ï@?ãÑ€?éÝ€?Ó4€?–Ø?âe@?Ê€?@?C?´8?Ç ?êÁ@?ïçÀ?ïóÀ?ð?é?ïÄ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?îèÀ?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïM@?ð?ïý€?ïá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¯?ð?ïø?ð?ïë?ï¶?ï–À?ïd@?ïçÀ?ð?îÀ?ïg€?ïëÀ?ïÄ?ïõ€?ïïÀ?ð?ïýÀ?ï}À?ïø?ïü?ð?ð?ð?ð?ïÀ?ïëÀ?ïü?ð?ð?ð?ïø?ïÇ@?ð?ïü?ð?ïü?ïL@?ïÙ@?ïþ@?ïëÀ?ð?ïø?ï÷€?ð?î^À?ð?í ?ïïÀ?ð?ð?ð?ëƒÀ?îÚÀ?ïü?êÀ?¯?†à?ÒQ?æ ?ïÛ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ_À?Ô·€?§|?áW€?ïÛ€?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?êG@?îßÀ?ï?ï°€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?îþÀ?ð?ð?ð?ïå€?ð?ð?ïV?ð?ð?ð?ð?ëÌ?ïi@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïZ@?ïË€?ð?ð?ð?ð?ï@?ï÷€?ð?ð?ð?ïóÀ?ï‡À?ï–€?ïÖ€?ïoÀ?ï·À?ïÒ?ï­À?ï¦??ïª?ïc@?ï»@?ï}@??ïEÀ?ï9@?î´@?í³?ìž@?î¯@?ð?ð?ïø?ð?ï¸@?ïå@?ï?ïú@?ð?ð?ð?ð?ð?ïàÀ??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ïÖ@?ð?ïÞ@?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïEÀ?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕ€?ï»@?î}@?ïHÀ?ïÍ€?ï@?ï²€?î×?ð?ð?ð?ð?ð?ð?ï£?îÃ?ë¹@?às€?ãhÀ?ì&@?ïIÀ?ï@?ð?О?”ð?ØŽ?ÃÔ?¢ ?Ûq€?ìš?èO?ð?ð?è^?ÀÞ?ÔJ?ð?ÞÉ?­?j?’X?“¨?¢¸?I?¬è?²¾?ì·€?ïëÀ?ð?ìC@?最?ð?ð?ð?ð?ð?ð?ït?ð?ð?ð?ð?ð?îìÀ?ð?ð?ð?ð?ð?ð?ð?îÀ?ð?ïâ?ïÊ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ€?ïïÀ?ð?ð?ð?ïó?ïy?ð?ïÄ?ïû@?îèÀ?ð?îm@?î§€?îÀ?ïø?îÂÀ?îÀ€?ïóÀ?î%€?ï:?ïIÀ?ïÛ€?ð?ïÿ@?ïÕÀ?ð?ïÀ?ï¬À?ïþ€?ð?ð?ïü?ïëÀ?ïëÀ?ð?ð?ïø?ð?ï?ð?ï|@?ï4?ð?ð?ïª@?ï¿À?îè@?ð?ð?ð?ïø?ð?ð?ð?ëÀ@?íuÀ?ÈI?“h?®ô?é€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì+?Ûú€?ÖÅ?âý€?Ú'€?ÌJ?…€?šØ?Ñ ?â™?åmÀ?߯€?Â~?U?ªä?ì&?ì€?ïÛ€?ð?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ý;€?î±@?ï¦À?î”À?ïË@?ð?ð?ð?ð?ð?ð?ð?îÕ@?ï¼?ïû@?ïôÀ?ð?î¾?îÐ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò?ïAÀ?îóÀ?í®€?ïâÀ?ð?ïïÀ?ï÷À?î>À?ïù€?ïq@?ïÐ@?ð?ð?ïÇ@?ð?ð?ð?ð?ð?ìÀ?ïÞ?ð?ð?ð?ð?ð?ð?î‘@?îÀ?ï€?ïð€?ï³@?ï´@?ï™?ï)@?ïëÀ?ïÇ?ï“€?ïÓÀ?ïÖÀ?îh@?ï½À?ïš?î0À?îô?îoÀ?ïï@?íï@?ï›À?ïý€?ð?ïÿ€?ïÿÀ?ïË€?ïý@?ð?ïì@?ï³@?ïÅ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïË€?ïÕÀ?ð?ð?ð?ð?ð?ð?ð?ïª?î’€?í©€?ëø?ð?ïþ@?ïý€?ïØ?ïÝ@?ï¾?ïT?ð?ð?ï×€?ïN€?ï¡?î?í=?î±?ì(@?í@?îúÀ?àË@?ïM?ï®À?ïçÀ?âw@??Ö?´Ì?Çe?á¾?Ùt?ï{€?ð?ïã@?ÓS€?°D?âÂÀ?… ?:?·&?ã¼€?ïë€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïçÀ?ð?ïÏ@?ð?ð?ð?ð?ð?ð?ð?ð?ð??ïóÀ?ð?ð?ð?ð?ïø?ïéÀ?ï?ïa@?î?ïø?îÅ?ïg?ï¦À?íß?ìw?í„€?ïë?îá@?ïY?îN@?ïÛ@?ïóÀ??ï!?ïÒ?ð?îøÀ?ð?ïü?ð?ð?ð?ïëÀ?ð?ð?ð?ð?ð?ï¶À?ì†?ïú@?îê@?ð?ð?ïé?ïï@?ð?ð?ð?ð?ð?ð?ïÿÀ?ïT€?ç]€?ÁI?ÊÃ?Íh?L?¦ø?ç«?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çõ@?×p€?Ã?Ò?ì ?ð?ð?ð?ð?ïÛ?Ñç€?Э?ïôÀ?ïø?ð?ð?ð?ð?ð?ïç€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë€?î]€?ð?ð?î`€?ïõ@?ð?ð?ð?ð?ð?ð?ïP?ð?ð?ïí@?ð?ï¬À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îþ€?ð?ð?ð?ð?ð?ð?ìÖ?ð?ð?ð?ð?ð?ð?ð?í;?îT@?ïÅ?ï?ï@??ï(€?î¦À?ﺀ?ð?ð?ïã€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ€?ïéÀ?ïÎ?î>?îÐ@?îôÀ?ï¨@?ïï€?ð?ð?ïø?ïí€?ïæ?îÔ?ïø?îIÀ?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ïùÀ?ïû€?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?í@?î[À?ïfÀ?ï÷À?ïU€?ð?ð?îà@?ïÃ@?ïÔ€?ï$€?ï?îÐÀ?í/?ë¡?îõÀ?ï€?ï£@?ï?ï$€?ï;@?í`?ïN@?ð?ìÿ?Ù(?S?³`?‚?Ô €?ÕÚ€?ïT?ïÝ€?æu?8?Ða?ïü@?ð?ð?ð?ïÏ@?ð?ð?ð?ð?ð?ð?ï·?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¯?ï´?ïëÀ?ð?ïóÀ?ð?ð?ï߀?ïr€?ïÛ?ïëÀ?ð?ïZ?ð?ïÔ?ïÏÀ?ïÀ€?ï<€?ïhÀ?ïß?ïRÀ?ï?ð?ïü?ïÊ€?ïôÀ?ïp?ïrÀ?ï„?ð?ïê@?切?ð?ïX?ïÓ€?ïüÀ?ío?ð?ð?ïŽÀ?ïëÀ?ð?ð?ð?ð?ïÒ€?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?榀?Ëq?ªh?`?j?¡d?âvÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë%?϶?ïj?ð?ð?ð?ð?ð?ð?ë€?ãgÀ?ÓÄ€?²ò?µÞ?á'À?ð?ïù€?ïÞ?ð?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÐ@?ð?ïN@?ïÏÀ?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ìÑÀ?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï­?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïðÀ?ì`?ð?ð?ïO@?ïªÀ?íb?îý€?ð?ð?ïÐ?ïo?ïR@?ëv@?ïË@?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ïý€?ð?ð?ï7@?ï_€?ïçÀ?ï–À?í±À??ïø?íÝ€?îàÀ?ð?ïÏ€?ïA@?ï4€?ïSÀ?ï@?îû@?ï@?îì?ïô€?ï“€?ð?ïÀ?ïú?ï™À?ìBÀ?ïø?ïóÀ?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ïè€?ïè€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï\?î´À?ï?îÂ@?ïs?ïôÀ?î@?ï’€?ïž?ïÖ€?ïô@?ï;À?íå??îØ?ï€?îò@?ï¸À?ì+?íW@?ëÙ€?ëŸÀ?ë¨À?ì›À?î,€?Ó—?@?ÂÅ?æ€?ð?ï½@?Õj?‡p?çî?ð?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŒ@?ð?ð?ð?ð?ïøÀ?ïg@?ïæ?豈??ïïÀ?ï¿@?ð?ð?ïs?ïó@?îô@?ïÏÀ?ïÎ?íþ@?홀?î:À?ïØ?ïñ€?ï•?ð?ïø€?ïÜÀ?ïóÀ?ï¯?ð?ïçÀ?ï…@?ï«?ð?ð?ð?ð?ïïÀ?ð?ð?ïó?ï¸?ð?ð?ð?ïü?ï΀?ïø?ð?ï¹?ð?ð?ð?ð?ð?ð?îRÀ?Îo?:??^€?çÊ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïšÀ?ÀŸ?âÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ïìÀ?ïì€?Ë?O?’?q@?§ð?ìØ€?ïð@?êç€?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâ@?ïü?ð?ð?ð?ð?ð?ð?îZ€?ïó?ð?ïø€?ð?ïþ€?ï€@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?婢?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïN?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìS@?ï©?ð?ïTÀ?ï™@?îÀ?îØ€?ð?ð??ï$?ïð€?î÷€?í?ïÅ?ïó?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïô?ï÷?ð?ïíÀ?î¿?ï€?í½@?ð?ïf@?ð?ï£?ð?ïëÀ?ð?ð?ïa€?ï?ê{€?çD@?í=À?Úö?Ü9?ìÃ@?ï €?îe€?íð€?ìâ?ïŸ?ïò?ð?ð?ð?ð?ð?ð?ð?ð?ï·@?ð?ð?ð?ð?ð?ð?ð?ð?ïãÀ?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ïþ€?îÅ?ïšÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ€?ïA€?ïw?ïö@?ï}?ï À?ï@?ï†À?î:À?íº@?ïå€?îå€?ïPÀ?ð?ìÿ@?횀?ïÑ?ë—€?ïÍ?ï1@?îa@?ìó@?ï-?çÞ@?åÀ?ç@?´”?¡`?¢h?ìo€?ëœ?ï€?ÁZ?Ä>?ïÖ?ð?ð?ð?å=@?ëè?ï˜À?ïÒÀ?ï*€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îú€?ð?ð?ð?ð?ð?ïûÀ?ð?ïÝ€?ï@?ïðÀ?ïä@?ï!€?ïý€?ïù@?ð?ï_À?ï€?ï²À?ï€?ï—€?ð?ïÿ€?ïãÀ?ð?í ?ï+?鹿?ï°À?ð?ð?ïÔÀ?ï”À?ð?ïóÀ?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?ð?ð?ï¢?ð?ð?ð?ð?ð?ð?Û÷?C?Û¶€?ïý€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çU@?¸R?Ø+€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê}€?ér€?î<À?çÀ?á²€?Ó0€?Z€?œ?Ôó?Ý`?ê@?â@?µ–?m@?‹À?äu€?ð?î¶@?å#@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ï[€?ï/À?ïö@?ð?ð?ð?ð?îÁÀ?ïVÀ?ïö@?ï€?ð?ð?ð?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?á+À?í?ïÃ@?ð?ð?ð?ð?ð?ð?ïø?ï·@?ð?ð?ð?ð?ð?ð?ïïÀ?ð?ð?ð?ïø?ð?ð?ëÝ€?ïëÀ?ð?î¢@?íÄ@?ð?ð?ð?îÇ@?ï¢@?ïãÀ?îa€?ïìÀ?ð?íR?î²?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ï§?ï™@?ïçÀ?ð?ï^À?ìc@?甀?í€?ê?ïóÀ?ïjÀ?ï»@?îÛ€?ïì€?ï¨@?ë­€?í|@?ï?íHÀ?ï©À?êÒ?íy€?ð?ð?î°?ë€?îÞ?ì–@?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ï×@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ïÀ?ïQÀ?ïÈ?î÷À?ïIÀ?î©?ïÃ@?ïÛ€?ï À?î,À?îÙÀ?ïk€?î9€?åDÀ?î@?ë3?è΀?ï«À?ìº@?â€?çÏ@?ê?ìM€?ß'€?±°?4?•?å–€?ä¼?â?‚ð?¨¬?銀?ð?ð?ð?ÕÕ€?¯ˆ?È'?âÏÀ?ï„À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïº@?ï¸À?ïù€?ð?ð?ð?ïø?ïøÀ?î±@?ïû?î.@?ð?ð?ð?ð?ð?ï@?ïÓ€?ï¢À?ð?ð?ð?ïëÀ?íã@?ï5@?ê À?ð?ï\?ïò€?î?ïÀ?ð?ð?ð?ð?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ïÇ@?ð?ð?ð?ð?ð?ïû?ð?ð?ð?ð?ð?ïe@?¿ð??퀀?ð?ð?ð?ð?ð?ð?ïø?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ï¿@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïxÀ?ë>€?éIÀ?áç?ÊÅ?`@?ºD?ïßÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõÀ?ê ?âÀ€?Ü €?À?D?Ïu?ê¢?î†?îDÀ?ð?ïþ?çû@?ã¸À?Ü €?àÖ?ãÀ?êÝ€?ïÿÀ?ð?ï@?îåÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ïý€?ïé@?ïçÀ?ïÀ?ï8€?îÈ€?í]@?ío@?ï€?ïý€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è~@?ïÿ@?ïí€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëq@?ð?ð?í€?ïT@?ð?ï߀?ïø€?ïW@?ï:?îßÀ?îb€?ð?ð?ï@?ïê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@??ï¯?î£@?ð?ï´@?í‘@?çcÀ?ëå€?í΀?íœ?åX?íÁ@?ë?è)€?æé€?î¨@?î ?ç[?îÑ?ì·À?ì›À?î2€?î€??í!€?ï߀?ð?ð?ïi€?ï£?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ïóÀ?ð?ïÐ?ïü@?ïúÀ?ïÂ?ïøÀ?î•€??ïóÀ?ïß?︀?ï‚@?ïj?ï»@?ïÇ@?ïØÀ?ð?ïø?íë?îqÀ?ï^?ïZÀ?ï΀?ïÇ€?îÔ€?îû€?ïëÀ?ð?ð?ï¶@?ïò@?ï×?ì¾?ëü?ïY@?ìí?ï-À?ïö?Ü?Ú¼?å(?î߀?î?¹L?@?²”?Ô’?–p?ÑÄ€?ïü@?ïÞ?ïý€?Ù§€?M?Ëé?ð?ð?ð?ð?ð?ð?ïû@?ïüÀ?ð?ð?ð?ð?ï¿@?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ïû@?ïþ€?ð?ð?ð?ð?ð?ïý€?ð?ïá@?ïö@?ð?ï÷À?ð?ð?ð?ð?ð?ð?ð?ï«À?ð?ìÀ?ìS€?íú@?ïl?ïþ?ïÃ?ð?ïT@?ð?ð?ïëÀ?ð?ï³@?ïÿ?ð?ð?ð?ð?ð?ïïÀ?ïü?ð?ð?ïü?ð?ð?ð?ð?ïü?ïî?ð?ð?æ™?”?Ÿ8?ï“?ð?ð?ïü?ð?ð?ð?ð?ð?ïóÀ?ïø?ð?ð?ð?ð?ð?ð?ì?ïm?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïòÀ?èñ?ͪ?Ñ ?ïŸ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÀ?ê@?ïÄ@?ð?ð?í²@?ð?ð?ð?îöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ïß?ð?ð?í•À?èÓ@?ë7À?잀?ð?ïL?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù€?ïs@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë(€?ïýÀ?ïñ?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ïù€?ïù€?ð?ð?ïЀ?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ï÷@?í€?ð?î«À?ìz@?ð?ð?ð?ïØ€?ï–?î«?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î<@?á“?îïÀ?îzÀ?ð?ïæ?ð?í?ð?ïîÀ?íe?îÚ?êa@?êu?ꦀ?ì‚?ï…?ð?ð?ïÀÀ?ïO€?ï[À?ð?ïF?ïé?Ø €?ÖŽ?í @?ð?ð?ð?ï÷À?ï÷À?ð?ð?ð?ð?ð?ð?ð?ð?ïÝ€?ï²@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ï±À?ð?ï@?ïñ?îAÀ?ï×À?î†?ï¦@?ïÙ@?ð?îÿ€?ïû?ð?ð?ð?ð?ð?ï/€?îÀ?ïîÀ?ïÜ@?î§€?ï¤@?豈?î @?î ?é1À?éÕ€?ï»??ïï?ï÷@?ð?í‡@?é¹À?íŽ@?ð?ð?ð?ïó?ïÓ@?呂?ï«€?ïw?éÔÀ?Ñm€?¯H?u ?Œ?Q€?r`?{?j?ÂA?P?°Ì?î-@?ð?ð?ä»À?³h?ï*À?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïÔ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îéÀ?îz?ð?ð?ð?ð?ð?ïê€?ð?ê…À?ï7?ð?ï`?ð?ð?ïÔÀ?ð?ïЀ?ïÂ?ïÀ?ï÷@?ð?ð?ï÷@?ïûÀ?ïø@?ð?ﺀ?êJÀ?ï€?ïÔ€?ï_€?ð?ð?ð?ð?ïè@?îc€?ð?ð?ð?ð?ïù@?ð?ð?ï@?Å”?åW?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îHÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï=À?àc€?Æ5?ÝE?îD@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ï €?ð?ð?í\?îì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ð?ð?ð?ð?ð?ïý?îo€?î;@?ìZ?áL@?ïûÀ?ï¡À?ïúÀ?ð?ð?ð?ð?ïÀ@?ïÀ?ï²€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïéÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í‹€?ïeÀ?ï@?ð?ð?ð?ïÿ?ïV€?îIÀ?ïõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙÀ?ð?ï»?ïÝ€?ð?ïþÀ?ïý?íx@?ïó?íüÀ?ï©À?ïó?ïÌ@?ë~€?îîÀ?ð?ð?ð?ð?îA?ð?ïó?ð?ð?îv€?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ï¾?ð?﯀?ïì€?ïÙ?ïO€?îž@?î°@?ïšÀ?ð?ð?îž?ïÀ?ð?ð?ð?ð?ð?ð?ð?íÉ?ì`@?íX@?ë‹@?ï<@?ð?ïñ@?éÝ@?æ5€?å®@?ëG?ïâ@?ïˆ@?ïÇÀ?ì¾?élÀ?ïGÀ?ïÝ€??ð?ð?ð?ïЀ?ïƒ?èc€?ßp?É!?°¢?<?»v?A?’à?Õ€?¿†?A?âJ?ð?ð?é0@?Þ+€?ð?ð?ð?ð?ð?ð?ð?ð?ï$@?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ï¿@?ï©€?ïûÀ?ð?ï‹@?ïÇÀ?ï÷@?îrÀ?ð?ð?ð?ð?ð?ïÁÀ?ð?ð?ð?ï[@?ïÔÀ?ïÜ@?ïŠ@?æE?åý€?ï#€?äzÀ?ݳ€?ßÝ€?Òh€?ä¢@?઀?Îó?ÖÚ€?Ø€?êa?îæ@?ð?ïÇÀ?ﻀ?ïü€?ð?ð?ïîÀ?ïáÀ?ð?î:@?ÔÉ€?Ä8?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÑ?ïí€?ð?ð?ì¦À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éÀ?åû@?à8@? x?ÓG€?¾²?èf@?ð?ð?ð?ð?ïö@?ï¯@?ð?ð?ð?ð?ð?ð?ð?ð?ïê€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïê€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìž?î{?ïýÀ?ïQ?ïö?ïÿ?ï{@?ïÚ?ð?ð?ð?ð?ð?ïó?ï÷@?ð?ð?ð?ð?ð?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔÀ?ð?ïÁ@?ï €?ð?ïîÀ?î?ïÀ?ï”À?ïQÀ?ï€?ïÜ@?ð?ð?ð?ð?ïÇÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ïm@?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ï{@?ð?ïÞ€?ð?ð?ïéÀ?îW?î—?îÿ@?írÀ?î€?î™@?ð?ð?ð?ð?ð?ð?ð?ð?ï€?îÌ€?í]€?ïj€?ï´€?ë¯À?ï?èR@?ê‹@?î€?ér?ëE?ìs@?áÝ@?åµ?î®@?ð?ð?ð?ð?ð?ð?ï¯@?íbÀ??è§À?ï_@?çïÀ?Ôë?Ѻ?Z?2?„ð?U€?Ëc?ïå€?ð?í™@?»T?À(?ï“@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ï©€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïO?ð?ð?ð?ïÀ?ð?ïó?ð?ïhÀ?ïéÀ?ð?ï?æ#€?áÜ@?ëÀ?ê`À?ïã@?ïÇ€?î{?ï€?îÝ@?äè€?Þh€?»Ì?2?™ ?ÞŒ€?ïâÀ?ïs€?áÔ@?Øë€?ì @?ð?ð?ïñ?ïºÀ?ì4€?ã€?Ö¤?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??îЀ?ï¯@?ð?ëõÀ?×F?ð?ð?ð?ð?ð?ï\?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èf@?ÒG€?ÆÐ?íV@?ð?ð?ï•À?ð?ð?ð?ï¸À?î×@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ïê€?ð?ð?ð?ð?ð?î›?í>@?îõ€?ïü?ð?ïö€?ïò?ð?ð?ð?ð?ð?ð?ð?ð?ïë€?ð?ïýÀ?ï€?ð?îK€?ð?ïeÀ?ð?ð?ð?ð?ð?ð?ð?ð?ï²@?ð?ð?ï§?î×À?ïЀ?ð?ð?ð?ï„À?í¼€?ï˜@?ð?ïS€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ð?ïæ?ð?ð?ïæÀ?ïæÀ?ð?ï÷@?ïÚ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïàÀ?ï}?ð?ð?ïæ?ïß@?ð?ð?ð?ð?ð?ð?ð?ïc?ï@?ð?ð?ïÚ@?ïñ?ï”@?ð?î @?í‡@?ííÀ?ïd?ð?ð?ïÝ€?ð?ð?ð?ð?ð?ð?ï€?ï ?ì³?í×€?î´€?ëËÀ?íò€?ïK@?ð?îT€?îé@?íª@?êz€?çÍ@?ï·?ð?ð?ð?ð?ð?ê‰À?ìê@?îj?ð?ð?ð?ïæ?ìv?ß"?³ð?˜?‚€?ãU?ïr€?ð?êÜ?͵?¡8?@?â¹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï«€?ð?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îY@?ï4À?ð?ð?ð?ð?ï~@?ð?ïÇÀ?ð?ð?ð?ð?ð?ïûÀ?ïó@?ï”?Þ'€?ëÀ?áÏ€?ÐÍ?½ò?Ìè?Ò‡?äW@?Ñ,€?ç ?ì·@?ï¿@?阀?Øè€?¹®?Z?ƒ0?Øæ€?Âu?Ã{?î,?ð?ð?îá?îP@?ëŒÀ?•@?¿¢?í0?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íîÀ?í/@?îÀ?ð?ð?ïß?Ù΀?ë{À?ð?ð?ð?ïøÀ?áüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îGÀ?Û0€?—¸?~@?Ù€?ïú@?ð?ïÎÀ?ð?ð?ð?ð?ï¦@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ï÷@?ïê€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í»À?îH?ïù@?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ð?ïþÀ?ïê€?ð?ï¨À?ð?ï²@?ð?ï¾@?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ï¿@?ïû@?ïò€?ð?ï²@?ð?ð?ïò@?ð?ïÔÀ?ð??ï!@?ð?ð?ð?ð?ð?ð?ð?ïÂ?ï‹€?ïAÀ?î+?ïwÀ?ï÷@?ð?ð?ïÿ@?ïÿ@?ï9@?î¸?ï¤?ð?ïó?ïüÀ?ð?ï\?ð?ð?ð?ð?ïþÀ?ïúÀ?ð?ð?ïÌ@?ïþ?ð?ð?ð?ð?ð?ð?ð?ï8À?ïÉ@?ð?ð?ï¢?ïó?ïðÀ?ï @?î¼@?ïîÀ?ïûÀ?ï÷?ïîÀ?ð?ð?ð?ïüÀ?ð?ð?ïüÀ?ïf€?ïè@?î€@?í1@?ëþÀ?ék@?ïWÀ?ð?ïi?ð?ð?îT@?î?éj€?ãÊ@?ê¦À?ïáÀ?ïñ€?ð?ð?ïä?íõÀ?ï3À?ï…€?ð?ïáÀ?ð?ð?è:À?ß©€?A?(?(?Q€?‚@?Èš?ê£?ð?ï(@?Ý?ÑÈ€?ÅŠ?ì<€?ð?ð?ð?ïûÀ?ð?ï€?ïÀ?ð?ð?ð?í?î¹€?ïè€?ð?ïw€?ï*@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í3?î„@?ð?ð?ð?ð?ð?ð?ïÔÀ?ð?ï÷@?ð?ïþ€?ïЀ?ï½@?ï‘À?îJ?ÒØ?•˜??uà?|€?Ú:?Ø8?ÀÈ?J?²Ö?¡ˆ?(?ÐÜ€?î€?ð?ïÔÀ?ìz€?íð@?Ö?§,?›à?æAÀ?ïûÀ?ïê€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¿@?ïò€?ïÀ?ð?ð?ð?ãzÀ?Áw?ï–@?ð?ð?í¤?áÖÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íå@?±Â?Ÿ?讀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï”À?í’@?ï­?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ïõ@?ð?ð?ð?ð?ð?ïù?ð?ï€?ð??ïÔÀ?ï”?ïJ€?ï„?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éX@?ïþ@?ð?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë)À?ãØÀ?íÐ@?ð?ð?ïê€?ð?ð?ð?ð?ð?ð?ïçÀ?ð?ð?ïØ?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò?ïPÀ?ï&@?í:€?îÞ@?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ð?ð?ïú€?ïØ?ï€?î«€?ëÃ?íÈ?ê€À?ïÓ@?ð?ð?ð?ð?ð?ïõ€?îO?à À?æ€?ï3À?ïä@?ð?ïÖ@?ï÷@?ð?ð?ïæ?ð?ð?ð?ï¿À?è%@?®,?Z€?6?Âî?•à?·&?êÖ€?ð?èÛ€?ÅÍ?ßÏ?ä*@?ï·?ð?ïЀ?ð?ð?ïÔÀ?ïT€?ð?ð?ð?ð?ﻀ?ïâ€?ïù?ð?ð?ð?îüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²€?ïžÀ?呂??ן€?d€?2?2?–¸?C?@?Á?ï@?ï¿€?î$À?ï.?êÀ?‚p?šˆ?„?Æ”?Òû?¼h?å²?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï›@?ïü@?ð?ð?ð?ï´?ÈÀ?ë?ð?ð?å÷@?æŒ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ávÀ?ÑØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?îÀ?ïô€?ð?ð?ð?ð?ð?ïîÀ?ï÷@?ï÷@?ð?ð?ð?ð?ð?ð?ð?ï¡?ï©€?ïä€?ð?ïÒ@?ïÉ?ïôÀ?ïl?ð?ïÅÀ?ï@?ï÷@?ïÜ??ïþ?ð?ð?ð?ð?ïÝ€?ïáÀ?ð?ð?ð?ï?ï@?ð?ïü€?ð?ï¥@?ïæ?ïÛ€?ð?ð?ð?ð?ð?èÚ?î‘€?ïýÀ?îÄÀ?ïz@?ð?ð?ð?ð?ð?ð?ð?ï|?ïØ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ïÑ€?ï*À?ï‘@?ïñ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÍ?ï`@?ï¯?ï€?ïÀ?î]?ì?î‹@?ïó?ð?ð?ð?ð?ï5?ïÉÀ?íÛ?å€?í®?ïý?ïÿ@?ïþ€?ïõ@?ð?ð?ð?ð?ð?ð?ð?î°À?ãZ?h€?4?cÀ?’p?Àš?뺀?ð?é&@?¡ ?¦0?Œ?ä‹@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïðÀ?îÌÀ?ì¶?ïÀ?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?íø€?ð?ð?ïª?êÃÀ?Û7?×®?µæ?v€?ín@?ïý€?ì@?ï`À?în@?Ò÷?ÑÒ? ?®h?¾?‡P?Û€?Ж?î©À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï`À?ð?ð?ð?ð?ð?ëš@?É«?ì€@?ð?Ù?ìñ€?ïäÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í«@?§À?›à?ë@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï߀?ïõ@?ð?ð?ð?ð?ïÏ@?í×€?îÊÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÊÀ?ð?ï³€?ï²@?ð?ð?ð?î‚€?îd?ï߀?ð?ð?ð?ð?ð?ïæ?ð?ï÷@?ð?ð?ïó?ï¿@?ð?ïæ?ð?ïß?îW?ð?ïè@?î À?ï‚À?ð?ïß@?ïÙ?ð?ð?ï=À?ð?ð?ð?ð?ð?ð?ð??ïF€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îË@?ð?îÀ?ï`€?ïû?ïЀ?ïá@?ïû?ð?ð?ð?ð?ð?ïê€?ï­@?î³?îSÀ?ïê€?ï‹€?ð?ïû?ïþ@?ð?ð?ð?ð?ð?ïz?ïÚÀ?åÀ?×â€?T?Ð?Ø?«?œ?2?2?Z?ˆp?ÉÆ?æ›?ð?ð?ã(@?‘?âe@?ð?ð?ð?ïª?ð?ð?ïú@?ð?ð?ð?ð?ð?ð?ð?鹿?ð?ð?ð?ð?ð?ïÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïèÀ?ï@?ïýÀ?ë€?Õ†€?®|?Âæ?ïÒ?ð?ïö?î À?ï¿@?Ù‰€?D?,?Á‡?Ñ÷€?ç$€?‘?§4?¡Ì?Z?Ðá?Ôé?³?Ûó?îR@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïQ?ïýÀ?ð?ð?ð?ð?ð?èÎ?Ê?éÀ?ËÏ?  ?Û6€?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?á?ÐЀ?ç €?ì#@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ð?ð?ð?ð?ïõ@?ìd@?ïã@?ïð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ï\??ïæ?ð?ð?ïõ@?ïœÀ??ï÷@?ð?ð?ïd@?îƒ?ïÌ@?ïê€?îé@?ïä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?ïýÀ?ïù€?ï¡À?ð?ð?ð?ð?ð?ð?ïÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ìð@?êÀ?í.?ï˜@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð€?ð?ð?ð?ï,@?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïzÀ?ð?ï9@?ï°@?ð?ï÷?ð?ð?ï÷@?ï÷@?ð?ð?ï@?ð?î¬À?ï©€?ï»?ð?ïê€?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ï|?ån@?¶ð?(?·à?Š`?c?½?Äh?Ŷ?éÀÀ?ð?ð?éÊÀ?H? H?Ü ?æ×À?ð?ì/?ð?ð?ïÂÀ?ïýÀ?ð?ð?ð?ð?ð?ð?ïá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?ëy€?Õ€?–à?Ññ€?åR€?ïñ?ï{@?ìÞ?ïÌ@?èX€?…?²Ò?¹Ô?•h?½¸?àè?ÙQ?p@?¦ ?¨ ?ã@?èD?îÕ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¿@?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïj€?ïó€?ð?ð?ð?ð?ð?îÀÀ?¾8?˜°?P€?ç„À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëÏÀ?׳?J?­ˆ?ßf€?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ïd€?ïЀ?ïkÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ð?ð?ð?ð?ð?ïîÀ?ð?ïÁ@?ïÅÀ?ïx@?ð?ð?ð?ð?ï–?î]€?ïº@?ïê€?ð?ïö@?í„?ï²@?ï…À?ï×€?ï÷@?ïÐ?ïê€?îéÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï˜À?ïòÀ?êö@?ìîÀ?ïÅ?î €?ïÀ?ð?ï¿@?ð?ð?ð?ð?ð?ð?ð?ð?ð?îËÀ?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ð?ð?ð?﯀?ï¾€?ð?ð?ð?ð?ð?ð?ð?ð?ïÈÀ?ð?ð?ïì€?ïó?ï1€?ïù€?ïÎ@?ð?ð?ð?ð?ï À?îë?ï’À?ïûÀ?ïîÀ?ï{€?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ïÇÀ?Ç?e€?‘?¯\?A?ŽÀ?߀?îjÀ?è?ð?ð?ïî@?ä@?v ?Ù ?ð?ïü?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?î€?í´@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?íy€?ð?ð?ï÷@?ð?ð?ð?ï£?ëp€?šp?Ž?æýÀ?ð?ïþ?îè@?ð?ï‡?Î??¹ü?r ?H?äØ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð€?î¢?ï?ð?ð?ð?ð?ð?ä­€?u ?½â?ï#€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î ?Ñ €?U€?¡X?âH?îŽ?ð?ð?ð?ð?ð?ð?î´@?ä§€?帀?ïe€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îý?ïæ€??ð?ï÷@?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²?ïX?ð?ð?ð?ïÔÀ?ïóÀ?ð?ï]À?ïõ@?ïÛ@?ïóÀ?ïõ@?ï«À?ð?ð?ð?ï¬À?îÅ?ïáÀ?ïæ?ïáÀ?íú€?ïèÀ?ïâ@?ïÇ€?ïÌ@?ïÍ@?ïßÀ?íx?ïù€?ïÛ@?ð?ð?ð?ð?ð?ð?ïÇÀ?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îN€?ëÙ?íQ€?îÏÀ?ï@?ï­@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ïó?ð?ð?ïùÀ?ïê€?ïýÀ?ïÛ@?íú@?ïŽ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïï@?ï÷@?ïê€?ð?ïÝ€?ï˜@?ïûÀ?ï²@?ð?ð?ïÀ?ï@?ð?ð?ð?ïï€?ïûÀ?ð?ð?ï߀?ïýÀ?ð?ð?ð?ï½?ãK@?~?d€?]?¦ä?‘Ð?à/À?íî€?ð?ð?ð?ïùÀ?Úd€?¦D?å2@?íú@?ð?î³€?ð?ïîÀ?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ï÷@?ïB@?Þ<?àÚ@?ð?ð?îŽÀ?î@?ëz@?ã{@?@?P€?ÀÎ?ï0@?ð?ð?ð?ð?ð?ï´€?ï&?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?îò€?ð?ð?ð?ð?ð?ï@?«°?Úo?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïR€?ÝU€?à?¹¬?çÀ?ìZ€?îî@?ð?ìÍ€?廀?â¡€?ź?P?ቀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ï†?ïÿ@?ð?ïÝ€?ð?ð?ð?ð?ð?ð?ð?ð?ïÇÀ?ð?ï¿€?ïô€?ð?ð?ð?ïz@?ïØ€?ð?ï´€?ï¹À?ï¹À?ïË€?ð?ï­?ï|@?ï @?ïÙ@?ïÿ@?ï…@?ï/€?ïê€?ïæ?ï¾@?íÛ?íMÀ?ïÀ@?ïûÀ?î˜À?ïÏÀ?ï“€?íÜ€?ïÙ€?ð?ïæ?ð?ð?ð?î»?ïáÀ?ïû?ð?ïo?ð?ð?ð?ð?ï­À?ïW€?ï»À?ð?ð?ð?ïÙ?ïÀ?í˜?ë=?êÊÀ?íëÀ?ïæ?ð?ð?ð?îå@?ïÏ@?îæ?ð?ð?ð?ð?ð?ð?ð?ï¡?ïô?ï÷@?ð?ð?ïê€?ð?ð?ïï€?ïç?ð?ï‹@?ð?ð?ð?ð?ð?ïô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¸@?ïù€?ð?ð?ïp@?ï¥@?ð?ð?ð?ð?ï¬À?ïS@?ð?ð?ð?ð?ï`€?ð?ð?ïó?ïó?ïñ@?ð?é”@?å~À?ª$?›¸?À›?h@?e?ºb?æ|À?æ@?ïÿ@?ð?íØ@?Ñ8?N?Ü„€?î‚€?ð?ïûÀ?ïÀ€?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë£@?ï?ð?ð?ð?Ýz?,?´8?ä À?ïÝ€?ð?ä™?㬀?îöÀ?¡?Z?~ ?®ˆ?°”?§¬?§h?߯?ð?ð?ð?ð?ð?ð?ð?ïÔÀ?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïØ@?ïY@?ð?ð?ð?ð?ïí€?ÔÀ?`?æÏ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íh?½¨?}À?ªt?¬?ܳ?¶>?Æó?•Ð?ƒ@?<?Òé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ïýÀ?î€?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ@?ð?ð?ð?ð?ïЀ?ïûÀ?ï”?ï¤@?ï—€?ï»?îúÀ?ïÀ?ïÌ?ï£À?í£@?ï?ð?ï ?ï¡€?ïûÀ?ïîÀ?ð?ïý@?ï@?îÀ€?ïFÀ?ï©@?ð?îsÀ?îù?ïÔÀ?ð?ï÷@?ð?ï À?íƒÀ?ð?ï”À?ïò?ï§À?îw€?ïÌ@?ð?ð?ð?ë”?ï@?ïáÀ?ïÄ?ëp@?ëü€?ìŽ@?îá?ð?ð?ð?ð?ð?ï߀?ïz@?íŒÀ?ìÀ?ïïÀ?ð?ð?ð?ð?ð?ð?ïì€?ïä?î,€?ï¶€?ð?ð?ð?ïâ@?ïÖ?ï1?ï¿@?ð?ð?ð?ð?ð?ð?ð?ïl?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ïó?ïuÀ?ï8?ð?ð?ð?ð?ð?ï ?ð?ð?ð?ð?ð?ïò€?ð?ð?ïîÀ?ï­À?îÅ€?ð?䪀?Ñ?A?–˜?e€?ÒÖ?À?†à?”x?ãNÀ?ïõ€?ð?ëúÀ?Å?rÀ?²†?ìÀ?î„?î‡@?ð?ð?ð?ð?ïûÀ?ð?ïÊ?ïÛ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í²€?î À?ð?ð?ïÙ?埀?‡°?Ïà?ì¢?ïûÀ?ïú@?ï¹@?ï_@?¢Ô?v ?Æ ?Ïÿ?¿š?@?Ñ€? °?µV?à§@?ï#?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïzÀ?ï`?ïb€?ï÷€?ð?ð?êÉ?@?É•?í¬@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ïØÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í€?Ðk€?Î?¶Š?È®?ˆÐ?a@?Z?cÀ?ßZ?•p?°?îó@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?ïQ€?ð?ïS@?ïã?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ïó?ï¡€?ïáÀ?ïù€?ïì€?ï¥@?ïÔÀ?ïó?ïÒÀ?ïÒ€?ïÀ?ï–@?ïè@?ï‚@?ï¶À?ð?ð?ïÐ?îù??î°À?ï=@?ïìÀ?ï÷À?ï«À?ïß?ïòÀ?ï]À?ìë?î)?ï¼?î´@?ïa?ïê€?ïîÀ?ï²€?îk@?ð?ð?ð?ï§À?ïì?îó@?ïÀ?ï„À?ëH@?ê’€?é@?ì ?ì}@?íYÀ?ï‘?ïê€?ð?ð?ð?ð?ð?ð?ð?ï³€?ï@??ï @?ïD?ð?ð?ð?ð?ð?ð?ï×?ïÁ@?ð?ð?ð?ð?ïÝ@?ï#@??ïë@?ïy?ïq?ï÷@?ïJ€?ð?ð?ïñ?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ð?ïþ?ïþ@?ð?ð?ð?ð?ð?ï§À?ïÚ@?ð?ð?ð?ð?î?ð?ð?ð?ïþ?ïC@?íÀÀ?à{€?“Ø?‡ð?Z?¢?ï?A?a@?ο?î&À?ïûÀ?àÖ? ?ºÀ?ë¸À?ð?ïЀ?ï÷À?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÓ?ð?ð?ïûÀ?î*À?µ\?äVÀ?ð?ð?ð?ìµ?Q?‚P?ÐË€?‘ ?®T?ì¡?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î÷À?ïõ?ð?ð?ð?Ü€?‡ð?àD?ïð@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïUÀ?î&À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ?Ì¡?¿ ?ã€?íeÀ?Ÿ ?|?q@?8?Õu€?ç]?2?Ý;?è-?ïA?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‰@?ï@?ð?ïîÀ?ð?ð?ð?ð?î4À?ïÝ€?ð?ïé@?ð?ð?ð?ïæ?ð?ð?ð?ð?ï‰À?ï¶€?ï+À?ïûÀ?ï²@?ïÁ@?ï´€?ïæ??ï¥@?ï§€?ïä?ïú@?ï^??ï©@?ð?ï×?ï~€?ïj€?î³€?îÀ?ïHÀ?íØ@?ï~À?ïÀ?ff?ïÁÀ?ï”?ïfÀ?îê?í_@?î<?î?ï°À?ï£À?ïdÀ?ï%?ïáÀ?îé€?ïÁ@?ï6€?ï¬@?ïO€?ï5€?èô@?éË@?ïÚ@?ð?ð?ïÀ?ï¼@?ð?ïûÀ?ïûÀ?ð?ð?ð?ð?ð?ïä€?ï™@?ð?ï¢À?ïú@?ð?ð?ïã@?ð?ð?ð?ð?ð?ê?ï¼@?ð?ïÝ€?ïîÀ?ïÎÀ?ð?ð?ð?ïù€?ïZ@?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?ð?ð?ð?ï÷@?ïó?ï¯@?ïù€?ï²@?ð?ð?ð?ð?îø€?ï €?ïÑ€?ð?ð?ð?ð?ï»?ð?ð?ð?ð?ð?î4À?Ùý€?V?A?A?‘Ð?a@?àÀ?ð?çK?¢<?Çð?î"?ïã@?ð?î±?ïýÀ?ð?ð?ð?ð?ð?ïûÀ?îå€?ð?ð?ð?ð?ð?è?î@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïžÀ?Óé?·@?âZ€?ð?ð?åÎ@?2?xà?‰?^€?µš?Øç€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?︀?ð?ð?ð?ð?íЀ?ª¨?‚ ?£´?çÐ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éÀ?Át?ìf€?ëdÀ?Y?H?ÞÁ€?ïÒÀ?ç¥?W?¹^?¹L?Öp?Ýõ€?ä/€?çê€?æN?îiÀ?ð?ð?ïp@?ð?ïñ?ïü@?îã?è­?é ?ïÐ@?ìÛ?ê?çy€?á\?ÐV€?îx?ïß@?ð?ð?î(@?ï÷€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¸?ð?ð?ïý@?ïý@?ïµ@?ð?ïuÀ?ð?ð?ï÷@?ïÝ€?ï€?ï×?ïpÀ?ï©€?îµÀ?ï‡@?ï‘€?ï´@?ï?ð?îã?îÞ?í?ï€?ïî€?ïºÀ?îv@?íÛÀ?ïRÀ?ïó?ï?ï[@?î:?í¸@?í€?ìùÀ?í³@?ì€?ï:À?ï]@?ï½??ïî@?é[€?ïýÀ?ð?ð?ð?ð?ïé?ð?ð?ð?ïê€?ð?ð?ïæ?ð?ï“?ïù€?ï”?ïæ?ï1@?ï€?î|?ïñÀ?ð?ð?ð?ð?ð?ï‘@?ï™?ïì€?ïáÀ?ï÷@?ïö€?ïúÀ?ïþÀ?ïŠ@?ïè@?ï¶€?ïù€?ð?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïm@?ð??ð?ïê€?ïûÀ?ï?ð?ïáÀ?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïM@?á*€?ÒW?’X?n?Q€?×Ð?ð?ï×À?×?V€?[€?ÀÁ?áÍÀ?ï­€?ð?ð?ð?ð?ð?ð?ð?ïýÀ?î€?ð?ð?ïö€?ð?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ïó?ïó?ïÔÀ?ð?ð?ð?îú€?æ‘€?´:?£`?ëz?ïþÀ?ÒF?G?¥0?¥ˆ? ?m?é'€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŒÀ?ïf€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïr€?ï¤À?ð?ð?ð?ð?ßù?È@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ú´?ïÀ?ïæ@?¿Ê?2?l?fÀ?Û€?ï¸À?ð?èÆ@?±N?Õu?×ô?ß½?ÒI?¸¸?Áó?Àè?Q€?G?º|?^?ã:€?ï‰À?ð?îÜ?ìö€?ð?ïÌ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï©À?ð?ð?ï±À?ïÄ?ïô@?ïó?ïû€?ïD?ïîÀ?îª@?ïãÀ?ïô@?ïã€?ïÏ?ë ?îÜ?î—?ïJ@?ï÷?ïc€?ð?ïûÀ?ï†?î§À?îZ€?î??îÚ@?ï?ï÷@?ð?î„À?ï@?ð?ð?ð?ïô@?ïw€?ï2??íÀ?ï\€?ï÷@?ï™@?ïìÀ?ç<€?î[À?ïõ@?ï@?î*€?ï™@?ïÒ€?ï¿@?ð?ð?ð?ð?ð?ð?ïZÀ?ïv@?ð?ð?ìò@?ïø@?ìú€?ïªÀ?ð?ð?ð?ïîÀ?ð?ð?ð?ð?ð?ïÝ€?ï÷@?ïø@?ïë@?ï?ïÇ?ïì@?ïè@?ð?ï÷@?ïãÀ?ð?ð?ð?ï©€?ïz@?ïòÀ?ð?ð?ð?ð?﯀?豈?ïûÀ?ïÑÀ?ð?ð?ïó?ð?ï÷@??ïë@?ð?ïîÀ?ð?ð?ð?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ïyÀ?ã²€?ÄP?’X?Õ›?é^€?×J?á5€?ð?ð?ê¹?ÀÁ?Æ'?êH@?ï°@?îÇ?ð?ïÉ€?ð?ð?ð?ï–@?ð?ð?ï¢?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë€?ïÅ€?ð?ð?ìlÀ?£`?Ó¢?ÒD?§?ˆà?Ó €?¦°?µ4?S€?«È?¡?ïJ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íº?î]@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïa€?ð?ð?ð?ð?íd€?¬h?ÄÚ?ïv?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëkÀ?íh?ç@?w€?A?A?A?dÀ?á½€?ïøÀ?ð?ð?î§À?³d?Çe?߉€?í7€?퀀?ïVÀ?ð?ð?ð?ð?ð?ð?ð?ïÔÀ?ð?ïÙ?ð?ð?ð?ïùÀ?ïÀÀ?ï¹?ð?ð?ìè@?ìÀ?ï©€?ïä€?ï €?ïƒ@?ï¬À?ï°@?î–?ï_?ïCÀ?ïª@?î+€?ï‹?ð?ïÝ€?ïÃÀ?ïé€?ïØ€?ïUÀ?ïž@?îÞ?ïÌ@?í’€?ï±@?ð?ð?ð?ð?ï÷@?ïÔÀ?ïÌ?ð?î´€?ì€?ïþ?ï»?ïí?çi€?î÷€?ïÀ?ð?îH€?ïq?ïÀ?ïX@?ï«À?ïê€?ð?ïûÀ?ïó?ïè@??ð?ð?ð?ð?ð?î…@?ð?ïk@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ@?ïùÀ?ïï€?è‹?ï?ïè€?ïÆ€?ïÔÀ?ð?ð?ð?ð?ð?ð?ð?ï¦?ð?ïþ?ïÇÀ?ð?îÏ?ïÝ€?ð?ïâ€?ð?ð?ïNÀ?ð?ð?ïòÀ?ïý?ï€?ð?ð?ð?ð?ïñ@?ïùÀ?ð?ð?ð?ð?ð?ïï?íÒ@?êiÀ?À?ȼ?ïuÀ?ð?×Å€?I?r@?z?¹È?a@?‡À?Õ¬€?ìÿ@?ð?ð?Ô»?A?@?ßô€?ïþ?ïƒ@?ï?ff?ð?ð?ð?îw??ð?ð?ð?ï÷€?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ï¹À?ïþ?ð?ð?ë×À?Š@?“ð?©˜?| ?i€?Ë#?ê?­œ?v ?¸h?§?Dz?ïõ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÅÀ?ïÊ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïl?ð?ð?ð?ð?ð?àÌ?D?âÂ?ïT@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?à=À?£ ?}À?¥4?2?H?ŒÀ?¥ì?Ðm?î¾@?ð?ð?ð?ð?åT@?z ?§ˆ?êÊÀ?íT€?ïÖÀ?ïðÀ?íÀ?ïÞÀ?ð?ð?ð?ïæ?ð?ð?ïæ?ïm?ð?ð?ïä?îáÀ?ð?ð?ïÀ?è$@?ì´€?ð?ïüÀ?ïù?ï´@?ïŠÀ?ï=?ï«À?ï[?ï@?ïù@?î\À?ïÎ@?ð?ð?ï€?ï*€?í˜À?ïLÀ?ïx€?ï)?îÉ@?îäÀ?ð?ð?ð?ïuÀ?ð?ïüÀ?ð?ð?ð?ð?쪀?í*?ï§?ïüÀ?èjÀ?îl€?ïžÀ?ïU€?éî@?ï#@?ï½€?ïÿ@?ð?ð?ð?ð?ð?ïò?î­À?ð?ð?ﻀ?î³À?îV?î ?ï‰@?ï¯À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ïÿÀ?ïû?ë?ï½€?ïÇÀ?ïÓÀ?ïó?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ï«?ð?ïßÀ?ïñ?ïH€?îW€?ïõ@?ïò@?ð?ïê€?ïó?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ïòÀ?í’?ïÔÀ?ð?ïîÀ?ð?ïîÀ?í°@?Ö†€?¶Æ?žx?ë}À?ð?ïô€?ÐÔ?‘Ð?Äç?À?q`?A?°?Í?éA?ð?ÖJ€?Äæ?š0?d€?Ôæ?豈?ïÅÀ?ð?ð?ð?ð?ð?ïÙ@?ïó?ð?ð?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?ïæ@?ïûÀ?ð?ð?ç”@?h@?”?$?½â?ãl?ÂÅ?a@?,?2?’ˆ?®ø?Ÿ?ìb?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îªÀ?ð?ð?ð?ð?ð?ïÊ@?Ô?6?Ér?é[À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô?åƒ?Ïl?âÍÀ?æ_@?åY@?ã•À?æ°?ï@@?ð?ð?ð?ð?ð?ð?àñÀ?˜@?å”À?êŠ?ëª?í½@?ï€?ïþÀ?ìº?ï‡?ð?ð?ð?ð?ï\?ï÷@?ð?ï÷@?ïê?ï3€?ð?ð?ïÝ€?ïÒÀ?ð?ï÷@?ïíÀ?ð?ïØÀ?ð?ïÀ?ïûÀ?ð?ïØ?ïƒ?ïü?ð?ïì€?îÜ€?î¶À?ï€?ïœ@?îÑ€?ç€?ïó?ïÀ?ïîÀ?ð?ð?ïûÀ?ïù€?ï€?ïúÀ?ïç€?ð?ï@?ð?ï½€?ï€?î €?ë @?èlÀ?í)@?ï„À?î€?ì2?ð?ð?ð?ð?ð?ð?ð?ð?î @?ïé€?ð?ð?ïå€?ìd@?ï9À?î…@?ð?ïz@?ïÌ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ïù€?ïù€?ïÙ@?ïûÀ?ð?ð?ð?ð?ð?ï9@?ïÌ@?ð?ï]?ð?ïÙ?ð?ïúÀ?îý€?ï€?ð?ð?ð?ð?ïî€?ïê€?ð?ð?ïò?ïO?ð?îç@?ïÀ?ï–?ð?ïæ?ð?ïá€?ï±À?îC€?äÉ@?•ð?Ü®€?ð?ïîÀ?ê'€?a@?q@?e@?Š?ÞA€?îF@?ìL@?Ø|€?ÐO€?íÛ€?ïì€?ð?ð?ð?ð?ïÀ?ð?ïÔÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡@?ïù@?ïºÀ?ìê@?ð?èÏÀ?À?ã@?A?V€?¶Ö?· ?~@?Ã?ì2?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïX@?ë@?ð?ð?ð?ð?ð?ð?Æ?J?J?¢,?ëÆ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í†?ä €?ÚË€?ÈU?e?§”?½?Þ€?èç€?ïõ@?ð?ð?ð?ï÷@?ð?ð?ð?ï–@?ïýÀ?ð?ï¥@?ïÛ@?ïæ@?ð?ð?ð?ð?ð?ï÷@?ð?ð?ïÿ€?ïà?ð?ð?ð?ð?ð?ï®?ïæ?ïîÀ?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îë€?ð?îQ?ï’?ð?ð?ïû@?ï®@?ï?îj@?éwÀ?è¾À?êùÀ?ê`@?ïèÀ?ïìÀ?ð?ð?ð?ð?ð?ð?ð?î7@?ïñ?ð?ð?íVÀ?îÁ€?ï÷€?ð?ïÌ@?ïÝ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïU@?ï…?ï÷@?ïûÀ?ïœÀ?ïÔÀ?ð?ð?ð?ð?ð?ð?ïÙ@?ïþ?ïÖÀ?ïЀ?ïÌ@?ïÀ?ïÇÀ?ï?ïö€?ï…€?ïüÀ?ð?ð?ïü?ð?ïþ?ïO?ï“?ï0?ïßÀ?ì?ìÈ€?ï÷€?ð?ð?ïŽÀ?î~?é*?Ùi€??£<?±r?í@?ï¶€?ï÷@?ãg€??Öí?ím?î€?½p?ÕZ€?ïÒ@?ð?ð?ð?ð?ïó?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ï?ð?ê €?A?Z?Æ‹?«°? €?¥8?¦¬?€À?`?ãfÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?èå?ð?ð?ð?ð?ð?ð?Ó €?Ø0€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô€?ÛH?”P?ç·€?ð?ïó?ïÝ€?ïð?ï”À?ïûÀ?ð?ïÔÀ?ð?ð?ð?ïó?ð?ïù€?ð?ð?ð?ð?ï÷@?ïÒÀ?ïù€?ð?ïX?î€?ïõ@?ð?ð?ð?ð?ïî€?ï߀?ïì€?ïó?ð?ï÷@?ð?ï÷@?ð?ð?ð?ð?ð?ð?ïЀ?ïS@?ð?ð?ð?ð?ï¿@?ð?ïè@?îàÀ?í£@?ï¼?î @?íX€?å5?ê¥À?ð?ïì€?ð?ð?ð?ð?ð?ð?ïÎ@?ïw?ï×?î–À?ð?îÀ?ï‚À?ï½?ð?ð?ð?ð?ï5?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒÀ?ïÎ@?ð?ð?ð?ð?ð?ð?ïÀ?ïîÀ?ð?ïù€?ð?ïîÀ?ïÔÀ?ïâ@?ïÁ€?ï‚À?ï9@?ï?îšÀ?î'@?îSÀ?ï«€?ïëÀ?ï„?î}?ïë??ïO?ïB@?ï~?ð?ð?ð?îé€?æZ?µ^?X€?tà?Å?ï>?ï‘À?ð?×€?Ö—?ð?å€?,?ád?ð?ð?ð?ð?ð?ð?ð?ïí@?ïñ€?ï÷@?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?èù€?8?•?G?‘(?Œ ?Q€?§Ü?¢Ø?°ˆ?Êþ?ï¹€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÀ?ëu@?ð?ð?ð?ð?ð?ð?êN€?à?ãH@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íôÀ?ÅE?†Ð?ÝT€?î_À?ïÍ@?é‚?ãt??ïá@?ïÔ@?ïù?ï÷€?ïÛ?ïþ@?ï|À?ð?ïýÀ?ð?ð?ï÷@?ïØ€?ïó?ï÷@?ð?ð?ïê@?ïá€?ïLÀ?ð?ð?ð?ð?ïÞ€?ïèÀ?ð?ð?ïî€?ð?ð?ð?ð?ð?ð?ð?ï—€?ï°?ïV€?ð?ð?ïî€??ð?ð?ð?ð?í·À?ïf@?ï½@?ï;@?ïÁ€?åî€?ç>À?ï–À?ï @?ïÍ€?ë½€?ð?ð?ð?ð?ð?îÙÀ?ï]À?ïã€?ïƒÀ?î?ð?ïî€?ð?ð?ð?ð?ïÒ?ð?ð?ð?ð?ïÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè@?ïý€?ð?ð?ïòÀ?ïâ@?ïá€?ï²À?ïØ€?ïòÀ?ïøÀ?ð?ð?ïí@??îÌ€?íüÀ?쌀?ì€?èíÀ?îg€?ïP€?ï߀?î¤À?ëî€?îw?æ‚€?µ.? ??Æ??ï«€?ð?íÖ?µÞ?A?ã)À?Ô@?φ?íU@?ð?ð?ð?ð?ð?ïþ€?ï÷€?ïî€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïµÀ?ïåÀ?ïó?àT@?|À?ÐÄ€?ÞÁ€?ä†@?îKÀ?í‰À?é´€?æB?ç?Ù+€?Ѐ?Ž?B?°6?¸à?s ?A?`?Äf?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éJ€?ë1À?î3?ð?ð?ð?ð?ð?ð?ð?ð?æž?ËQ?Á“?ï½À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê3€?É¡?T€?,?—Ð?ÀO?Ãð?ëL@?ïØÀ?ïÞ€?ïð@?ïÀ?ï¡?ï¯?ïÉ?ïI?ï÷@?ïßÀ?ïÓÀ?ð?ð?ï¾€?ï÷@?ð?ïþ?ï{?ïâÀ?î‚€?î¿?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?îÑ@?ﻀ?î@?ð?ð?ð?ð?ð?ð?ïÚ@?ïfÀ?í @?ïˆÀ?豈?íø?î}?隀?âkÀ?ØÎ€?Ü@?ï»À?æz€?ð?ð?ð?ð?ïî€?ð?ï€?ð?ï§?îÏ@?ð?ð?ïô@?ï?ð?ð?ï¸?ð?ð?ð?ð?ïü@?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïG?ï’?ïb?íÙ@?ïß@?ïó?ð?ð?ð?ð?ð??ï­À?ìæ@?ìLÀ?ש?ì‚?ä2@?Ø¿?»ˆ?Ä‹?¥¸?<?çõ€?ïõ?Ôþ?z@?ÎÀ?îÜ€?ð?ð?ð?ð?ð?ð?ð?ïá€?ð?ð?ð?ïòÀ?ð?ð?ð?ð?ïÿ?î²??ï @?ÑÓ?Y€?ÙÁ€?ë€?ïµÀ?é˜À?Øø?ÛK€?ßr€?ïÀ?ð?ð?ï—€?ïH€?ãv?¦P?Š0?¾„?sÀ?2?«ì?ÌË?¦ ?A?âù€?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëc@?ë¤?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í6?Й?žˆ?îÝ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÀ?ð?Ì”?á¨@?çÀÀ?îÎÀ?ïæ@?ï©?ïÒ@?ïä?ð?ì@?é€?î4?ï§?ð?ïÝ?ð?ð?ïÁ?ï€?ï?ïû€?ïi?ïËÀ?ð?íŠ?ï@?ð?ð?ð?ð?ïî€?ïòÀ?ð?ð??ð?ïÀ?ïÂÀ?ð?ð?ð?ïþ@?ïV?ïv€?ïóÀ?ð?ð?ð?ð?ð?ð?î¡À?ëê?íÏ@?ë’?ëý€?ê]?êa@?ë0€?â€?Òo€?¹˜?å?ïxÀ?ð?ð?ð?ð?ð?ð?ï€@?ïO?ïÚ@?íÀ?ð?ð?ð?ð?ð?ð?ïµÀ?ð?ð?ð?ð?ïõ@?ïÃ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïê@?ð?ð?ð?ð?ïõ@?ïƒ@?ï@?ïë€?ïå?ïÐ?ïº@?ïï€?ïé@?ïò?ï9À?ð?ï´?ïÍ€?ï!?ëš@?éqÀ?½ì?Ù¨€?´4?«,?æó€?q ?ÅA?¸P?:?çS@?ï…?ð?ð?ð?ð?ïû€?ð?ï«?ïß@?ð?ð?ð?ð?ï÷@?ð?ð?ïú@?ïë€?ïE?èé@?Ò3€?Z?ÓI€?îúÀ?èÿ?áÕ@?˜Ð?­,?áï€?ëeÀ?ìÞÀ?ï×@?îÞÀ?ï½€?ïàÀ?éjÀ?æË@?Û€?;?²ð?x`?v ?‚p?ÃI?W€?s`?Ä9?…à?Ó‹€?îB@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îi€?ên@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?°l?Ä7?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Þ?[?áÀ?ïÛ€?ïåÀ?ïãÀ?îÀ?ð?ïÌ€?ï²@?áN€?Þt?ï¢@?ï+€?ïÕ@?ð?ð?ï¤@?ï[À?ïð€?ïÿ€?ð?ð?ð?ð?ïþ€?ïÎÀ?ð?ð?ð?ïøÀ?ïä@?ð?ð?ð?ð?ð?ð?ð?ð?ïñÀ?ï²?ïÍÀ?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ï€?âýÀ?å €?æ™À?å!@?ãN@?ÝÜ?ת€?°4?t@?Ù›?ð?ð?ð?ð?ð?ð?ð?ïò@?í¸?íð?묀?ïÙ@?ð?ð?ð?ð?ïT?ï€@?ï®?ð?ð?ð?ð?ïá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê ?ï¶À?ð?ð?ð?ð?ð?ð?ð?ï–€?ìù@?ïs€?ï À?ît@?ï¶€?î@?ð?ïh@?ïÛÀ?îµ@?í3À?é?×®?Ĭ?0?… ?i?Í™?›P?¥<?µ?àX@?Ⱦ?<?ã@?ð?ð?ð?ð?ð?ð?ð?ïï@?ïþÀ?ïØÀ?ð?ð?ð?ð?ð?ð?ð?ïåÀ?ïÓ€?ïÖÀ?ã@?n€?Ã?Ú¥?ØË?A?ÑØ?³$?š?¶ª?ÈŠ?Ù›?íÞ@?ïì@?îo?ïúÀ?ïº?ë©€?×k€?¢@??ª(?Âè?jÀ?²?îÅ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íTÀ?ïè@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?Ë ?ƒð?ëäÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì–@? ?r@?à€?ï?ð?ï@?ï_À?ïÚ?ï?âfÀ?ÒÖ€?í<À?ïç?ïÑ€?ï—?ð?ïç?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÂÀ?ïè@?ïã@?ïý?ïú@?ïåÀ?ð?ï¾@?ïê@?ð?ð?íÑ@?å À?ëEÀ?ð?ïÀ?ïï@?ð?ð?ð?ð?ë½@?à&@?È?Çÿ?Ç?Ô†€?¹^?¡8?ÒY?ïç@?ð?ð?ð?ð?ð?ð?ð?ì À?ï^?ïâ@?ïàÀ?ð?ïÑ@?ïèÀ?ð?ïÍ?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïb?îÔ?ïø€?ð?ð?îÜ€?ð?ð?ëÈ@?âT?̓?Ö±€?ëJÀ?ã2À?íÜ?îéÀ?ïŽ@?êd?æLÀ?ÑC€?µj?º,?¡H?A?$?Ú°€?È•?¶N?£Œ?ÁI?ë5€?ð?ð?ð?ð?ð?ïý?ïú@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï)À?ëKÀ?Åp?à?Ó?ÚÀ€?Ò€?Â?Éf?`?x@?ãÀ?ס?l@?‡?‰ ?¯ø?Ò×€?âV?Ý¿?ì¡€?ïQ€?ïo@?ç@À?Ïž?:?Q€?²ü?€?• ?Ð?°N?…0?Ò%?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞÀ?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î®@?î}À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âŸ?†?ælÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð?ßÖ?–?Êß?î#?ïî?ïÓÀ?ïô€?ïl?åaÀ?p?ãBÀ?ïüÀ?ïk@?ì €?ïØ@?ïü@?ïò@?ïö?ïÿ@?ïá€?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïÃ@?ïÌ@?ï¼?ï‰À?ïÛ€?ð?ï×€?ïÖ?ïß@?ïù?ð?ð?ð?ïþ@?ð?ð?ìÒ@?ð?ð?ïö?ïD@?ékÀ?ð?iÀ?é/À?ð?ïÅ€?ð?ð?ð?ð?ï%?ìýÀ?ïr?ïî?ð?ð?ð?ð?ð?ð?ï&À?ï3€?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?î™@?ï@?ï}À?ïé@?ð?í%€?ÑÜ€?’°?‰à?\€?áÿ?ï€?àÀ?«„?R?Êì?Ãé?ÀŽ?ÑÍ?¡?jÀ?ˆP?éq€?ïõ€?ïï€?ð?ð?ïû€?ð?ð?ð?ïö?ïï?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ìÀ?p?}À?Ó·€?ã†À?çø@?ìòÀ?ïõÀ?ð?ð?ïïÀ?ïà?ÐÓ€?W?B?B?áò€?ïÓ?ð?ï÷€?ïE€?倀?Ý¿?·f?¦t?s`?Ðr?΃?z?q ?á?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îhÀ?ð?ð?ð?ïíÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îñ€?í¦€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æy€?” ?É]?îzÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åá?S€?ÆÀ?èª@?ï-?æ²?Íå?N?ÀÉ?ïd?ð?ð?ïâÀ?ð?ï÷€?ïû?ïý€?ï½€?ïîÀ?ð?ð?ð?ïò€?ð?ð?ï¯?ïí€?ïêÀ?ïË€?îY@??ï"€?ï×€?ïõÀ?ïó€?ïê€?ð?ð?ð?î–À?ï–À?ïöÀ?ï×€?ð?ïò€?ï¡€?ð?ì+€? L?ÈJ?îO€?ïÀ?ïÒ@?ð?ð?ð?íA?ïÙ@?ð?ïg?ï¯?ð?ð?ð?ð?ð?ïÌÀ?ï @?ïûÀ?ð?ð?ïú@?ïy@?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï™À?ïT€?îo@?ïp@?ìY€?Üh?ËÅ?§d?f?„P?çìÀ?çø@?Ƥ?Ÿ?P?ш€?׺€?à…À?©Ì?φ?ïEÀ?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ïø?ÒY€?à@?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ïj?Ư?R€?…?Á³?ê??ïÕ€?ïñ?ïý?ïÜ?ï˜?×ü€?à?­Ì?ÖË€?¹æ?F?¹x?휀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ïéÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í‚?ïð@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëªÀ?ݽ€?ïü@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éò?éÈ€?ÓZ?´ä?g€?žØ?µú??ð?ïÁ?ð?îì€?ïgÀ?ð?ïå?ïþ?ï÷À?ð?ï}€?ð?ð?ð?ð?ð?ð?ï³€?ïàÀ?ð?ð?ïo?íŸ@?î+@?ïûÀ?ïP@?ð?ð?ð?ð?ïú@?ïÓ@?ïj?ïn@?ïC€?ï¨@?ï’?ãöÀ? ð?:?Ú¿?éò?í@?ð?ð?ï÷?ìº?ï7€?ð?ð?ïò€?ð?îK€?ð?ð?ð?ïèÀ?ïŒÀ?ð?ð?ð?ïf€?ïÖÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼?îçÀ?ä @?}À?ÖÈ?î@?Òú€? ? ´?]?»Ž?Ów€?• ?†ð?Ö?î?ð?ð?ð?ð?ïé€?ð?ït€?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ïé€?ð?ð?ð?ð?é°À?¬È?èà@?ïú@?ð?ð?ð?ð?ð?ð?ïŸ?Ú±€?Æ?}À?¢ˆ??¨”?±?æ³€?婢?ð?ïuÀ?îw@?í¬À?è¯?ë?Ãc?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ð?ïÙ?í§?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë@?d@?ÎS?è?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?É|?… ?Æ™?ÛC?ð?ï÷?ïÄ?ïÙ€?ð?ïÜ?ð?ð?ïë?ð?ð?ïé€?ïÞ@?ð?ð?婢?ð?ð?ïìÀ?íç€?ï÷?ï³€?ð?ð?ï^@?ð?ð?ð?ð?ð?ð?ð?ð?ïý?îÀ?ïg€?ïVÀ?é!@?À?†`?Û–€?媀?ïÝÀ?ð?ð?ð?íà€?ð?ð?ð?ð?íéÀ?ð?ð?ð?ï×?ï}À?ð?ð?ð?îÎ@?ï¯À?ïÿ@?ð?ð?ïÊ@?ïÏ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?êA€?É4?¦Ü?Ó•€?ÆÀ?–H?‡ ?‹°?Ôw€?Ñ­?† ?v?èB?ð?ð?ð?ð?ð?ë!?éa?ïH?ïÀ?ïÁ?ïî?ð?ïøÀ?ïÒ€?ïò€?ïñ€?ïÜ?ð?ð?ð?ð?ð?ð?çØ€?›À?êjÀ?ð?ð?ð?ð?ð?ð?ïý@?â9À?¥´?† ?‚À?Ý€?în?ïî?ïÙ?ïØÀ?ð?ïC€?îË@?ê @?ÒÀ€?†P?³b?áÆÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íc?îÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íáÀ?Ž ?(?„@?ãy€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷À?î€?êªÀ?ˆÐ?âÀ?ïÿ?ï@?îï?ïÞ€?ð?ð?ð?ï¼€?ð?ð?ït€?ð?ïâÀ?ð?ð?ð?ð?ð?ïÓ€?íÅÀ?ï¤@?ð?ð?ð?ð?ïê?ð?ð?ð?ð?ð?ïø?ï¥@?ïp€?äQ?å‰?ß?¹B? ”?­È?àT€?ïO€?ð?ð?íã€?ð?ð?ð?ð?íÞ€?íí@?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ïÈ€?ï5@?ï‹@?ï¤@?ïR@?ïo?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç@€?ªì?·?ã»@?냀?í€?î6@?ç?À?eÀ?q ?æâ?ð?ãÐÀ?m€?ÍÏ?ïk@?ð?ð?ð?ð?ð?ð?ïß?ïÿ€?ï|À?ïØ€?ï÷?ï¸@?ïþ€?ï÷@?ï§?ïò€?ïÊ?ð?ïÓ?ð?ð?ð?ïÿ@?àGÀ?À€?íI?ï÷?ð?ð?ï@?ïò@?ð?ï–À?Ô?O? x?d€?â?ÚÖ€?Ôé?ɨ?»T?Á¼?Ѥ€?Ñ ?º ?Γ?æ‰@?çØÀ?Ö‘?Â~?ßÄ€?àíÀ?äË?ÓÈ?‘Ð?ƒP?žx?ãÕ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïW@?íÿ?ð?ð?ð?ð?ð?ïÀ?íÀ?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïI€?°¾?§Ð?êu?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïô?êƒ?Ø­€?ïº?ï2@?ï€?ð?ï’@?ïø?ì@?ïî?ð?ð?ïÇ@?ïe€?ð?ð?ð?ð?ð?ð?ïÝ?íÀ@?ð?ï¸@?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ì¨À?Àâ?0?Ñø?ë¥?ð?ïÊ?î?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¸?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïiÀ?Ø?Æ)?éÀ??ïj?ïË?îÇ?Òÿ?®T?ƒ@?¥¤??å…@?ð?ïm€?Ëx?`?×Ñ€?ïÙ@?ð?ð?ð?ð?ð?ð?ï€?ïú€?ïê€?ð?ïÿÀ?ïé€?ï¯?ð?ð?ïå?ð?ð?ð?ïð?ð?ð?ë™À?w ?Ü?ïê€?ð?ð?ð?ð?ð?ð?ìÅ@?Ç?¡ì?™Ð??D?§ð?ÂP?ç¿À?ð?ïú?ïû@?ð?ð?ð?íó?Ú‡€?–?P?°”?ëÓ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?î?ð?ð?ð?ð?î¹?îÕ@?ð?í«?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Э?R?×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î$À?œˆ?˱?êÎÀ?ï ?ïÆ?ïÅ@?ïƒÀ?ïõ@?ïä?ð?ð?ð?ð?ð?ð?ïî?ïò€?ïî?ïb€?ð?ð?î$@?ïÅ€?ïÎ@?ï@@?î­€?ïÛ@?ð?ð?ð?ð?ð?ð?ïý€?íq?à ?Ø €?çÀ?ïëÀ?ð?í|?ïö@?ð?ð?ï÷?ð?ð?ïÅ€?ð?ð?ð?ð?ð?ï‚?ïÜ?ð?ð?ð?ð?ï΀?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ?î3@?Ãð?æÀ?ïþ€?ïÙÀ?ïÔ€?ï×@?äO€?±œ?‰Ð?• ?ßÞ?ä®@?»?B?m?Z€?Í?䦀?ïª?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï³€?ð?ð?ð?ð?ð?ð?ïÌ€?ð?ð?ïù@?àäÀ?Ð'?ìíÀ?ï߀?ïø€?ïã€?ïõ@?ïÔÀ??ïÅ€?î£À?È‚?¨x?à?j?ãQ@?ð?ð?ð?ð?ï÷@?ï¡@?ð?îÖ€?ãšÀ?Ío?§<?£|?çЀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ïû€?ïý?ïþ€?ïà€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î@?ð?ð?ð?íÑ€?îØÀ?ð?ð?í”@?ïtÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?å€?¹~?°,?îë€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼À?à?ÄË?­À?M?­(?ì¿À?íå@?ð?ð?îå@?ïÄ@?ïº@?ï÷À?ð?ïÜ?ð?ïö€?ï«?î¡€?ï¶€?ïé€?ð?ð?ïû€?î²€?î´À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø€?ïÓ€?Õp€?Òœ?İ?ëûÀ?ð?í¼À?ïÉ?ð?ð?ï×€?ð?ï¸?ð?ð?ð?ð?ð?ð?ï“À?ð?ð?ð?ð?ð?ïz?ð?ìÀ?ð?ð?ð?ð?ð?ð?ïc€?î À?Ç|?ä€?ïo€?ð?ð?î!?Ñ ?:?—p?¯ì? ?­è?—?qà?“À?N?³¼?<?Éc?ë…À?ð?ð?ð?ð?íÏÀ?ïçÀ?ð?ð?ð?ð?ð?ïñ@?ð?ð?ð?ð?ð?ð?ð?ð?ïrÀ?Ö»€?Ñ €?²Ú?$?±Z?ÆÐ?°„?½Z?î»À?ð?ï¿À?ð?ð?ð?ð?ï@?å5€?ìÄÀ?˜h?v ?P?¸Œ?`?¨?Ö9€?ÉT?éÈÀ?îúÀ?ð?ð?ð?ð?ð?ð?ð?ïò€?ì¸@?ʉ?šX?F?ÔÄ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó€?ïí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ïï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î,€?ïþ@?ð?îU@?î£@?ð?ð?ð?ð?íÖ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î €?Åâ?g€?Û6?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èEÀ?$?‡ ?ëýÀ?î€?ïÀ?ð?ïß@?ï9?ï¿€?ï×?ïà€?ð?ïÁ?ïé€?ï÷À??ïý@?ïðÀ?ï÷?ï÷?ïï?ïœ?ï?@?ï­?ð?ð?ð?ï•À?î€?ï’À?ð?ð?ïë?ܲ?C?0?àn?ð?î@?îtÀ?ð?ð?ïø€?ïþ€?ð?ïðÀ?ð?ð?ï’@?ïô@?ð?ï,€?ð?ð?ð?ð?ïÀ?ï¯À?ð?é)€?ïÚ€?î?îÙÀ?ï€?ð?ð?ð?ï–À?ç”@?¡„?Ì’?çj@?íüÀ?æœ@?Çw?Ú¹€?î€?ç!?Ë?ÐÅ?Àÿ?€?È?î˜À?ð?ð?ð?î@?ïø?ð?ï÷?ð?ð?ð?ïï@?ð?ð?ð?ð?ð?ð?ïéÀ?ì,À?ïj?îy€?ïæ?ë6?Óƒ€?ˆ ?ÉÜ?Ûå?àíÀ?îÃ?í«@?âPÀ?äµ€?ïáÀ?ð?ï¹@?ð?ïû€?ïå?ð?ïœÀ?Õš?Ûò?kÀ?^?¡ø?à€?åõÀ?âä?Ûµ?ªp?b?ÎÊ?í»@?ë‚À?æ“@?â—€?ãF€?ì„À?íô@?ê‹€?ïf?ë©€?騀?íì@?ݱ?á €?â@?êœ@?Øá?¼Š?åJ@?ãî?⢀?Þn€?¯”?—ˆ?¶Ú? D?8?y@?²??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?î€?î€?îp€?ð?ð?ð?ð?ð?îg?ïØ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÿÀ?ÖR€?¢Ø?ì:À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ï©€?îF€?Ö­€?å.€?ï¦À?îk?ï¸?ïù?íÿ€?ìGÀ?ïó?ð?ð?ïÓ?ð?ð?î€?í#?ïÓ?ð?ð?ïî?ï&@?ïïÀ?ï¥?ï¦À?ð??î(€?ð?ð?ï”?êE?Ì“?^?B?Ák?ïò€?ð?ìÀ?ïû€?ð?ð?ï×?ð?ïp@?ïîÀ?ð?ï ?ð?ð?ïûÀ?ð?íô@?ï"@?ð?îЀ?îö€?î‡@?ï>@?îÀ?ïŸ?ïú€?îKÀ?ïÂ?ð?ð?ð?ïÁ@?êû€?¿€?¨œ?šÀ?(?è¨@?ð?ïûÀ?îÀ?ìù€?«Ì?“°?«?Ôj?ãÔ?ëÀ?ía€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ@?èú@?îò@?ïî?ð?ð?ìö@?æÄÀ?í@?ïÏ?ð?î8€?íö€?ïj?ïæÀ?ð?ïâÀ?ïë@?ð?ð?ð?ð?ð?ïÒ@?äî?„À?Šð?Í=?ì€@?ð?豈?ë?ݺ?®|?Öã?´Ò?É?Ñ;?»T?È@?ë`?í`?§\?°v?®x?½(?`€??~@?¹ò?ë)@?é˜?ëü€?äm?»6?ƒ0?(?º?@?€€?îv?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ð?ï÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î6À?ïë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€?Ák?Á÷?éŒÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ð?ï΀?ð?ð?ð?ð?ð?ïÀ?×â€?¤Ô?4?Øí?ïS€?î$@?ïÅ€?ð?ïÊ?ïëÀ?ïç@?ï¦?ïÓ?ð?ïé€?ïóÀ?ï÷?ï(À?ï΀?ï÷?ð?ð?ð?ïå?ïy?î®À?ïæ?ð?ïû€?ð?ïäÀ?ëå?·?ŠÀ?í?ïò@?ìžÀ?ïh@?ð?ï+@?î–€?ð?ïÔ?ð?ð?îó@?ð?ð?ð?ð?ë À?ïùÀ?ð?îÙ€?ïé€?ï÷?îà€?ïñ@?ï÷?ïò€?ð?î@?ï¹€?ð?ð?ð?ï´?ÑË?³¬?ï'?ð?ï×€?îÀ?ê€?r?¶B?ê,?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ð?ïó€?ð?ð?ð?ïë?ïÅ€?ïÈ€?ïÕ?ïé€?ð?ï€?îï?íïÀ?îL?ïˆ?ïçÀ?ð?ð?ð?ð?ð?ï³€?׆?B?²Ø?Íb?Å’?¤?³¾?Ñ €?Ò:?@?À8?gÀ?{?uÀ?p`?¶"?zà?¢L?ï@€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãh@?¬ ?îO@?ð?ð?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?î[?˜È?€ ?°?>?Ãû?ï?îr€?ï÷@?ï÷?ïÊ?ïò€?ð?ð?ð?ïÜ€?ð?ïõÀ?ð?ï¶€?îã@?ïèÀ?ïÛÀ?ï9?ï&@?ï¶?ïî?ïÿ@?ï¦À?ï.?ïàÀ?îf@?Þ¹€?©„?ëÀ?ï¤?î×@?ìä€?ïÈ@?îSÀ?çЀ?ïZ@?ï@?ïüÀ?ð?î)€?ì=@?ð?ð?ï™@?ð?ð?ð?ð?ð?ð??ïá€?ïÓ?îß?ïk?ïêÀ?î4€?ð?ð?ð?ð?ê¯@?º@?˜8??ð?ð?îø@?ï?ÊÇ?B?¥@?à@?ï‚?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïç@?ïÃ@?ð?ð?ð?ð?ð?ð?ïú?ïR?ïñ@?ð?ð?ð?ð?ïˆ?ïÝ€?ï÷@?ð?ð?ð?ð?ð?ïø@?ÍÛ?œ?R?‚??¡´?¶Þ?o€?P?ÍË?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ïü€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÆ€?‡P?`€?´D?t`?ßã?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼€?ð?ð?ð?ð?ð?ïy€?ç¤@?àtÀ?ä@?×ÿ?…€?ím@?ð?ïò€?ð?ð?ð?ïî?ïÞ€?ïô€?ïÿ€?ð?ï³@?ïòÀ?ïô@?ïÇ@?ïä€?ïÿÀ?ïÂ@?ï|À?ïÛ€?ð?ïü€?ïê€?í¶?ï @?É?½|?ï9€?ïä?îjÀ?ì€?îó€?ï@?â8@?âìÀ?î|€?ïŒ?ð?ð?ïÀ?ð?ïê€?ïÄ?ïà€?ð?ð?ð?ð?ïê€?ïÕ?ï€?î€?ïü@?î¡À?ïx@?îÀ?ð?ð?ð?ð?ïò@?ìï@?¶,?Ø?îÅ@?ð?ïì@?ïÿ€?ð?åV@??µö?ÙÀ€?èm@?ïäÀ?ð?ð?ð?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?î“€?è»?î×À?ð?ð?ð?ð?ð?ïÛ@?ïþ?ïyÀ?îbÀ?îdÀ?ï‹?ð?ïÿÀ?Ò?R€?B?°\?Âä? ?à@?±j?g@?át€?ð?ïÚ?ïC€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔ?ïN€?ð?ð?ð?ïÕ?ï/@?ï…€?ï§?ïÛ?ï΀?ï€?ì½À?ïÓ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÁÀ?îÀ?íëÀ?ïÛ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ÉÛ?Y?¹^?Ä(?–h?ì%?ð?ð?ð?ð?ð?ð?ð?ï¨@?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÏÀ?ð?ð?ïû€?ð?ð?ð?ð?ð?ï¤@?çl@?Ùê?Å×??éÒ?ïú@?ï΀?ð?ð?ïò€?ïò€?ð?ð?ïÞ€?ïÀ?ïâ@?ï?ïü@?ïÐ?ïÏ?êZ@?ïà@?ïâ@?î¹€??ïú€?ð?ï.€?ë½?Ây?ØH€?í®?ïÃ@?ì®?í‰À?ë€?íM€?ÌÝ?Ͳ?ë¶€?î¨À?ïò€?ð?ï¬?ï?ïÿÀ?ð?ð?ð?ð?ð?ð?ït@?èÖ@?ïþÀ?ëc@?îR?ïüÀ?ð?íÛ?ð?ð?ð?ð?ð?ð?ê\?º¼?B?Ї?ïõ@?ïûÀ?í?ð?ïüÀ?Ø®€?R?R?i?Ó•€?áÎ@?èX?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?îÿ?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ð?ð?ð?ð?ïý@?ïÖÀ?ÃÝ?B?J?C?¯|?^?œH?¸´?¼„?¾?ÂÓ?š(?é®?ïv@?ìM?í‚@?î€?í¶À?ï¯@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í?æ…À?éî@?ï@?î@?îXÀ?îË?ïä€?ð?ð?ïî?ï¡@?îP@?ïè?ïùÀ?ð?ð?ð?ð?ð?ïà€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø€?í€?ïØÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ø„?t ?a@?`?€p?ä†?ð?ïà€?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ð?ï÷?ð?ð?ð?ð?ð?êrÀ?À)?$?㟀?ïÈÀ?ïù€?ïªÀ?ïŒÀ?ð?ïõÀ?ïé€?ï¹?ïV@?îá?îH@?îÀ?ïå@?ï÷€?ïC€?ëÌ?ï¡€?ð?ð?ïl@?ï©À?ßÁ€?Úc€?¼°?æi?çÜÀ?èNÀ?ì˜À?ê¥@?Þ€?P?P?á À?ïµ€?ð?ð?ð?ïÐÀ?ïH?ð?ï÷?ð?ð?ð?ð?ïÿ€?ï?ï¼@?ïÊ?ïÅ?ïë@?ð?îÃÀ?îù@?ïå?ð?ð?ð?ð?ð?í4€?Ôç€?oÀ?Ôm€?Åš?ïq€?ïò€?ð?ïÿ@?ëH@?…?™à?Ò-?è%@?ïª?ð?ð?ð?ð?ð?ïý€?íæ€?ãâ€?ß?éÇ€?ïˆ?ð?ïüÀ?ë*À?îÂÀ?ð?ð?ï¡€?ï³€?ð?ïíÀ?ï÷@?ð?ð?ïµÀ?Ýß?4?Š ?±?•8?b@?²~?à^@?ºV?gÀ?eÀ?A?›p?°ä?Èx?ë´€?ì’€?ï¬?ð?ð?ïõÀ?í_@?ïVÀ?ïë@?ð?ï©€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÀ?í!@?ï@?ïýÀ?îîÀ?ð?ð?ð?ð?ð?ïÿ€??ï“€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îV€?ïn?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä#€?]€?¯p??áïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ú?ω?ïÂ@?ïý€?ïÑ€?ï—?ïÎÀ?ïØ@?ïü@?ïÛ?ð?ïÉÀ?ï ?ïÄ@?ïk@?ï¾@?î–À?ð?ð?ð?ïÈ@?ê¢À?æ @?†à?Õé€?á­€?ç)?êh€?Íh?Òê€?ïú@?ð?ð?ð?ð?ïË€?ïö@?ïå?ð?ð?ïµ@?ïÚ@?ïvÀ?ïCÀ?ïÜ?ïÀÀ?ïí€?ïÒ?ïòÀ??ï€?ï0@?ð?ð?ð?ð?ð?ð?îÆÀ?Ò? ?å·@?ç–@?ïý?ï@?ïd?Ü?¥Ô?B?Ð?á‰?æ–@?ïÒ€?ð??çâÀ?Õ#? ?¦Ä?Ò €?ìâ@?ïþ@?î€?é|?ì¸@?ð?ð?ð?ïå?ð?ð?ð?ð?åŽ?­ä?s@?Ç$?°ü?’0?„ ?¡T?Ój?ÖÄ€?Ì?ØÐ€?³Z?’À?›?Ï^?¹P?¼´?Ëh?ÍÕ?î{?ë–À?ð?ð?ð?ð?ïï?íö@?í˜?ð?ïZ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï­@?ï…À?î[@?îd@?ì@?ä@?ëŒ@?ð?ð?ð?ð?ð?ð?ð?í£À?ï•€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï%€?í©@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è@?£´?ËÄ?¸z?B?b€?R€?¡Ô?îoÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¿€?ð?ð?ð?ð?ïÇ€?ævÀ?i€?uÀ?è¥@?ïÐ@?ïïÀ?ïS?ïè?ð?ð?ð?ïÄ?ï€?ð?ïõÀ?ð?ïâÀ?ð?ï±À?ð?ð?謀?•Ø?ºD??R€?°ž?Á¹?•È?ßÙ?ð?ð?ë4@?ð?ð?ð?îˆ@?ïþ@?ð?ð?ð?ïí€?ïÆ@?ïä@?ïò@?ïà?ïõÀ?ïØ@?ïí€?ïÿ?ð?ïy@?ð?ð?ð?ð?ð?ð?ïù?ïX@?ɵ?B?Ù"€?ð?ïöÀ?ïþ?ïÌ€?Ï€?¢?Ò4€?Ô/€?£€?ͨ?ìï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é@?èÌÀ?í*?ê@€?ï(@?î¿?îpÀ?ìå€?î¡?ïìÀ?ð?ð?ð?ï@?íË€?Ë»??Ã÷?²”?hÀ?æ«À?ð?ïý?ð?ð?ð?ð?ð?ð?î@?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í€?ë£@?éÀ?ï*@?ï¶@?ìó?ïf@?ð?ð?ð?ð?ð?ð?ð?ð?ð?î=À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï3À?î¢?î?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?â €?Ø‚€?‰€?[€?¹J?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ïÿ€?ììÀ?ä€?Èv?>?Òz?ð?ð?ïÏ?ïõ?ð?íò€?è×À?ï«@?ð?ð?ð?ïöÀ?ïæ?ïþ?ïøÀ?ïä€?ð?Ô‡?Ùy?ïÿ@?ð?îL@?ïâ?ð?ð?ïÏ?ð?ð?ð?ð?ð?ð?ïöÀ?ïð@?ïøÀ?ï÷À?ïä@?ïš?îü@?ïj?ìµ@??ð?ïö?ð?ð?ð?ð?ð?í¶€?Ų?(?Ê&?ï@?ð?ð?ë®À? ?Ž0?«0?Â,?ëPÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì~@?ïY€?ð?ð?ð?ð?ð?ð?ï‰@?ð?ð?ð?ð?ð?ïÿ?æ|€?Üs?Èc?½0?Ä„?²”?È}?Ç5?×&€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î4€?î©À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ëx?êÀ?ð?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í˜?ï5@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïD?ð?ït@?îEÀ?ð?ð?ð?ð?ð?ð?ï^À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¼?ëT@?áÂ@?Ã7?g?Û€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ïä@?ð?ð?ð?ð?ïj@?é`@?á6?ÁÆ?„à? Œ?é‹€?ð?ð?ïðÀ?ïØ€?ï­@?ï±À?ð?ð?ð?ïÛÀ?ïöÀ?ð?ð?ï÷?ïé?ï»?Ι?Ò€?ïWÀ?ð?ï÷€?ë6?ð?ïûÀ?ï…À?ïÙ€?ïÛ?ïÿ?î¢À?ïí€?ïï?ïì@?ï?ïßÀ?ïßÀ?ïì@?ïø@?ð?ïý@?ëÃÀ?í“À?ð?ï÷€?ð?ð?ð?ð?ð?ïú€?Ùí€?”¸?ë¶@?ë,@?ïF€?ï+€?Ò­€?Õ €?›À?®Œ?^€?Àv?ëòÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íu€?ïM@?ð?ð?ïµ@?ð?ð?ð?ð?ð?ð?ð?ð?áé@?U€?Æ?‰À?2?Á]?Í.?¢€?×¼€?Y?„?ÓÞ?î{@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?íÍ@?ïÙ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïç@?ïá€?ïHÀ?íá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó@?ìž@?ïü€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ï@?ð?ð?í\À?ïÎ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í‚€?âÿ€?“?ÊÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ@?ïý@?ð?ð?ð?ð?ï?à…@?¶¬??¨?îõ?ð?ïÿ€?ð?ð?ð?ïâ?ï´?ð?ïÿ@?ð?ð?ð?ïÿÀ?ïr@?îX€?Þ²€?£L?í€?ð?ïúÀ?æ¶@?ð?ïßÀ?ïÿ@?ïöÀ?ð?ïÿ?ïî€?ï¿€?ð?ð?ð?ð?ð?ïÿÀ??ï™?ð?ð?í!€?ïí@?ïÐ?ïïÀ?ð?ð?ð?ð?ð?è@?Ç?Úš?Úå€?êª?ÞO€?´¬? ¬?i?½?ê2€?ð?ïe€?î?ð?ð?ïÐ?ð?ð?ð?ð?ð?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãÂ@?Ñš€?Òù€? ?Íê?îï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö€?î4€?îOÀ?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ìI€?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïjÀ?ì[@?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?î¶€?ð?ð?︀?í À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï”?ð?ð?àr€??8?§Ô??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷À?ïÚ@?ïû€?àjÀ?çd?íä@?ïø@?ïÜ?切?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ïæ?ïþ€?ïÁ€?Ú €?I?‚ ?| ?ãUÀ?ð?ð?ïç@?ð?ð?ð?ð?ð?ð?ï^À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìWÀ?ïÍÀ?ïÂ?ïì?ïÇ@?ð?ïø@?ð?ð?î³@?¯<?Ó+€?ìÑ€?ã@?è‰@?»r?Þ?æùÀ?ÃŒ? ?’€?¨|?¦¨?ã}À?ïÓ@?ð?ð?ð?ïáÀ?ï:@?ï}?ï>€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãl€?2?›È?Ü«?í À?îè?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?픀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï«€?íÌÀ?íé€?ìÚÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?în?î!?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ïæÀ?ð?ï©€?ìÔ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í›À?ïæ?ð?ïÅ€?àô@?˜?‘À?±"?â¥À?ïîÀ?ï«À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëó€?ÑX€?¸¦?¯d?X?Ök?í?ïê@??ð?ï±€?ï­@?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ã¥À??Q€?0?c€?×>?ïÁ€?ð?ð?ð?ïý€?ð?ïï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì_À?îŽÀ?ïj?îå@?ï@?ïí€?ïðÀ?ð?ð?ð?Îz?q ?À4?Éë?àü@?îüÀ?Ù"?Ý3?éßÀ?ä_?âG?ä­?Û €?Úó€?Ëý? ?Ä)?×Z?×I?âõ@?îk@?ïz€?ïÚ@?í¬À?ïHÀ?ð?ïû€?ð?ïù@?ïý€?ð?ïöÀ?ð?ð?ð?ð?ð?ð?î¿€?¸.?¾?Ñ<€?©@?ä À?ð?ð?ïè€?ï9?ïÐ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïXÀ?íÏ€?ïþ€?ð?ï€?ïÇÀ?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?îЀ?ìE?îW@?ð?íÁ€?ï.€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îü?íÄ@?ïùÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?ï?ð?ð?íÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æQ@?‡?iÀ?Ú­€?ð?ð?ð?ð?ð?ð?î”À?éÕ@?éJÀ?å%?Õÿ?¯H?°Ä?ïÚ@?ð?íW?ïí€?ð?ð?ð?ð?ïò€?ïÿ€?ð?ð?ð?ð?ð?áMÀ?B?Ãe?¸’?p ?Ÿ€?ãýÀ?ïöÀ?ð?ð?ïŸÀ?åï@?áÀ?æÚ€?ð?ð?ð?ð?ð?ð?ð?ïÍ@?ð?ð?ð?ð?ð?íw€?ìü€?î“?ïª?ïæ€?ð?ð?ð?ð?ð?Í6?ºv?ص?ÙQ?Ì·?}`?Ù9?Üi?Ì—?áèÀ?íÈ?Æ%?ÌÂ?²†? ?ÏŽ?µì?à7€?äêÀ?îÀ?ïV@?ïïÀ?íô€?ìx€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é€?H?¤0?âf€?잀?ì‚À?ëú?í´€?ín?ï)?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?ïv€?ïùÀ?ð?ð?ð?ð?ïû€?ð?ð?ð?ï°À?îV€?ìü?íT@?ïÑ€?ïò€?î#@?î[?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ@?î>@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æz?ën@?ð?ð?ð?ð?ð?ïû€?ð?ïú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íê€?ïý€?ð?îF??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÜ@?ܱ?‚Ð?ÖZ?ð?ð?ð?ð?ïî?èQ€?¯¬?a?ìHÀ?ð?ð?ïöÀ?ïúÀ?ïí@?ïÚÀ?ï™@?ï_@?ïß?ïßÀ?ð?ð?ð?ð?ìt@?`?ÚC€?»Ä?Ž0?Ë»?ïè€?ð?ð?í©@?°(?Û€?ð?ð?ð?ð?ð?ð?ïï?ä•@?æ €?ð?ð?ð?ð?ío€?í¬@?ð?ð?ït€?ïÌ€?ð?ð?ð?ïÀ?Ù}€?Ø?ïò@?é?¬ø?Ç?‰ ?Çð?Â?èR?ç&?Ìl?†ð?±d?»L?Õ<€?Þ–€?Ô ?Í>?îw@?ð?ïÿ€?ï%@?ï¡€?ð?ð?ð?ð?ð?é@?ÌË?¸`?É??È.?ìÀ?îJÀ?ïÑ?ïõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï.@?í&À?èH€?ð?ð?ð?ð?ïüÀ?ïú?ð?îÈ@?í@?ï‹À?î÷@?î:À?î=€?íØÀ?ï©€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê†À?í ?ð?ð?ð?ð?ð?ð?ïŠ?ì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌ€?ïû€?ð?ð?ïÒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î#À?ïú?ð?ð?íxÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?â×À?µ¨?æÃ@?îØ?í¾À?âÅÀ?Ú£€?´ò?¤ ?¬h?âí?ï¿À?ïý?ïí€?î €?ïø?ïÒ?ïÏ@?ïÄ?ïöÀ?ð?ð?ð?ïñÀ?ïç@?æû@?4?à?bÀ?w?B?ž?슀?ð?ï ?ìŸ@?°?਀?î~À?í¬À?ï/@?ð?ð?ð?ð?ì×?ØÇ€?èm@?ïÍ@?ïöÀ?ð?í€?ïCÀ?ð?ð?ð?ð?ð?ð?ð?ïü€?áU€?| ?ëÞ@?ïÊÀ?¸È?  ?D?± ?°ô?Ù€?à9À?yÀ?@?‚ð?Úð€?ïJÀ?ð?ïü?ïû€?ð?ð?ð?ð?ð?ð?ç?4?V?‘€?Áõ?ï2@?ï<?ìvÀ?í@?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù?뚀?ð?ð?ð?ð?ð?ïÓÀ?î€?îV@?ð?ïÏÀ?íЀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?í|?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí€?ð?ð?î5À?ïÌ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷À?ð?ïöÀ?ïä€?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í’À?ïö?ð?ð?ð?ð?î·@?ïý€?ð?ð?î`@?îù€?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä"À?0?¯t?“À?Ý+€?ì`À?ç?À?È@?ff?ð?ïöÀ?î@?î‚?ïé?ð?ð?ï‘€?ð?ð?ïÛ@?ïé€?ïâ€?Ú?â>À?c€?}à?³¼?Ö€?ëG?ïÍ@?ïˆ?ê!?‘Ø?™è?–°?Ì’?ëÙÀ?ð?ð?ð?ð?îµ@?æË@?în€?ïÍ@?ïÆ?ï@?î,À?ð?ð?ð?ð?ïò@?ïÒ?ð?ïÉ€?Ìü?‹?Ø~€?ëÕÀ?¨ô?Ô¹€?½È?ÌJ?d€?áF@?Ð*?Ã?äyÀ?æP€?ä“€?L?_€?Ù ?íÁÀ?一?ì5?ð?ð?ð?ð?ð?ð?à^@?Y?wÀ?Ñ?ÍÊ?½¸?¤ì?‚ ?d€?V?¡Ì?»Œ?ê•À?íŽÀ?íe@?î¾?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïóÀ?íÏ?ð?ð?ð?ð?ð?î¿?ïÀÀ?ð?ð?ïÔ?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ€?ïº@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ïTÀ?ð?ïZÀ?íÁ€?ïè€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÉ€?ð?ð?ð?ð?îÀ?ð?ïò@?ð?ð?ð?ð?ì~?Á«?á”?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í@?’H?Œ ?°?¥¸?–ð?T€?S€??äÎ@?ïè@?ð?ï@?ïöÀ?ïÒ?ð?ïé?ð?ð?ïU€?ïí@?ïó?é•À?ŠP?‘À?Ù3?®¼?kÀ?…à?°?Ã'?讀?ïY@?ð?èO@?S€?ÓÆ€?â@?ð?ð?ð?ð?ïþ€?íJ€?ï€?ìm?î»@?ïÉ€?ð?ð?ð?ð?ð?ïÛ@?ð?ïäÀ?¿b?Óy€?Ó-??¥”?·\?p`?·P?T?©x?Ùí€?æ €?¼j?ØÌ?î?€?ïù€?Öz€?Ï¥?í·@?éJ?är€?îuÀ?ð?ð?ð?ð?×Q€?p ? ?ã”@?ï?@?îõÀ?·È?ÀÙ?àk?™°?ÊÚ?”@?Ã?B?,?³ž?Á ?Â'?ë%?ï‹€?îÉÀ?î?ð?ï×@?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï)€?ï0À?ð?ð?ð?ð?ïH?ï(€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î<@?ï•?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¹@?î2?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î@?ð?ð?ð?ð?ëó?ïð€?ïû€?ð?ð?ð?ð?îU€?ÜE€?ë•À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï½À?à9À?¯,?«ü?éG?ìH?Ê?«ü?éÉÀ?ð?ï®?ð?ïöÀ?ð?ïH@?ïúÀ?ð?ð?ð?ïã@?Ûó€?Âo?ÓÛ€?“X?ŒÐ?„À?¯ð?Ö9?æø@?ïô?ïý@?ÒF€?g?µ?éù€?ð?ð?ð?ð?î ?ëâ€?î˜?ð?ð?ð?ð?ð?ð?ð?ð?ïŒÀ?îvÀ?µ?Ê”?ŸX?p?˜ ?Ø‘?Ö/€?à?ƒp?X€?¬ü?À…?Ç÷?Ó¿?î«?Ô‰??Þ•?ïOÀ?Ç–?į?ê¾?ð?ð?ïú?Ö¢€?Ë5?ä€?ïE?è`?Ö€?Ò.€?è°€?¢À?{@?{ ?žˆ?¢$?Æò?ÖU?Ú?ã“?í€?ìÂÀ?ïÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?ï?À?ïiÀ?ð?ïÿÀ?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï’@?ð?ð?ð?ð?ð?ð?ð?ïüÀ?î¤?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è¥?î‰?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÒ?ïæ?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î(?ð?ð?ð?ð?í{€?í±?ïÓÀ?ð?ð?ð?ð?ð?ïð?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?﯀?ð?ë-@?í…À?æ÷€?²?U€?Á¡?±î?Âf?Þi€?å»@?íÈ?ð?ìW@?…°?Ë´?ïÇÀ?ð?ïe?ïÍ@?ð?ïÛ@?ïöÀ?ïé?ïí€?ïÈÀ?ïZ@?ܽ€?–?žh?·b?±Ô?¥¼?äy@?ïä€?éWÀ?>?j€?Ök€?ïò@?ð?ïý€?ð?îòÀ?ê#€?îQ?ð?ð?ð?ð?ð?ð?ð?ð?ï€?Ü9?,?4?¿’?ªÔ?p ?b€?W€?Ó˜?ï]@?ì›?áp€?à?•x?’H?âG@?ß&€?íq@?âÔ?B?@?Ôí€?ãT?»î?À ?í¹?ð?îÏÀ?¹Œ?Âk?Áß?µD?Þ¥?ïB@?ð?êh€?p`?‘0?Ñf?ä™?ç«?èÀ?á ?½˜?_€?M? ¸?±Â?‹?Ä.?¼?Ó€?í¢À?ïä€?ïòÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î)?îu@?íê@?êRÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ïÿÀ?ï€?ì{À?ïˆ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔ?ïÀ?ð?ð?ð?ð?ï®?îD?ï À?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïOÀ?ï%€?í}À?ï­?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïñ@?íü?ð?ð?ð?ð?ïû€?ï\@?î@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îƒÀ?ð?ð?ð?ð?â?^?Ói?çÖ@?ã;À?ço€?ï÷€?ïn€?ð?ð?ð?ð?ð?í6À?‰?R€?U€?èÆ@?ð?ïÞ@?ïò@?ð?ð?ð?ïñ€?ïü?ð?ð?ãö€?S?h@?­ì?¥T?çÃÀ?ð?à]€?Í ?çª@?烀?ïù@?ð?ïŒÀ?ìx€?ïî@?ï±À?ð?ð?ïn@?ð?ïé?ï¹€?èe?Æä?®è?Ù‰€?^?B?ˆ?B?ÙF?ð?ì¾€?ØÚ€?ã?²ø?Í©?â:@?îÇÀ?ϧ?ј? ¤?Ýä?鮀?á%?ê€?ð?ï•?ÅÈ?m@?Ù€?ÈÈ?æ3@?ð?ð?ð?ð?ð?íÙ@?Öï?Å?ã|@?î?ð?ð?ð?ð?ð?íÿ€?¹Ì?µX?g@?È?ØÍ?‰°?µ¼?‘¨?Å'?µ:?¬¬?ß4€?êl@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î}?îv€?ð?ïÍ?ïl€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëlÀ?ïf@?ïöÀ?ð?ð?ð?ð?ð?ïs?îI?ð?ð?ð?ð?ð?ð?ð?íÀ?ð?ð?îu?ð?ð?ïo€?ð?ð?ð?ð?ð?ï½@?ìß?ïêÀ??ïJ€??ïÂ@?ïôÀ?ð?ð?ð?ð?ð?ð?ï×@?ïTÀ?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïµ@?íÞ€?ïñ?ð?ð?ð?ð?ð?ð?îg?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÈ@?Ý<€?i?>?ÍW?æO€?嚀?Þ?€?æ‘À?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î.€?‰`?g?Ü?ïÏ@?ïžÀ?ïöÀ?ïò@?ð?ð?ð?ïí€?ïðÀ?ïüÀ?ãÙÀ?ÚÙ?fÀ?¨¼?Òç?ï¹?îÀ?Ã]?…°?²þ?æ³?ì†À?ïÌÀ?ïÍ@?í¥@?í`À?ð?ð?ïý@?ëÅ?ð?ì5?ÚU?`€?À—?â”À?¼â?B?œH?áUÀ?ãò?Ýg€?éå?éÒ?Öö€?Ðò?Â×?⬀?Ñ1€?…€?¨H?ÑZ€?ð?ïöÀ?ïú€?îç?î€?èB? ?­P?åÈÀ?î@?æs€?ïG@?ïöÀ?ð?ð?ð?ð?ïJ@?ç‘€?ìJ€?ð?ð?ð?ð?ð?ð?ð?ð?ÑV€?}@?·ž?Ìh?Ï¡?¿¤?†p?H?¶¶?Íü?Ó?€?ÚŒ?ßR€?à.À?Ñ“€?·‚?× ?ç¤@?¥€?±?Î}??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïéÀ?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?âƒ@?ð?ð?ð?ð?ð?ð?íË?îq@?ï}À?ð?ð?ð?ð?ð?ð?îQ?ïÀ?ð?ð?íð€?ïi€?íí@?îŽ?ð?ð?ð?ð?ð?ð?ï!?î¨@?ð?ð?ï^?ïa€?ï À?ïŸ@?ð?ð?ð?ð?ð?ïãÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïJ??ð?ð?ð?ð?ð?ð?ð?îÌ@?ï’@?ð?ïVÀ?í8À?ï&@?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ï«À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çi@?âQ?ç @?ïÇÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?á @?Á'?­(?î5?ï:@?ïÓ€?ïßÀ?ð?ð?ð?ð?ï€?äº?Ýf?(?|à?’?Ò÷?î‘À?æ0?B?³ˆ?ÐH?Ô~?îÐÀ?ïþÀ?ë×@?í²?ìY?ë“€?Ô¿€?Ô€?¨?z@?³Ö?åœ?×Ê€?µj?·À?”0?ÆÑ?ïÅ€?×c?çœÀ?ÄŒ?T€?ã‹€?ß ?Ê¡?6?[€?p ?ã €?ïÇ€?ïE@?îàÀ?ð?ïz@?ïï@?Òî€?Õ_?í?ì¡?ïã@?ð?ð?ð?ð?ð?ð?ð?Û5?å%?ïÛÀ?ð?ð?ð?ð?ð?ïý€?ð?î'?èšÀ?í–€?ïö€?ð?ð?éP?À+?B?´<?ßå?çµÀ?íÍÀ?ð?타?Ê¿?P?6?ÛŽ€?î€?`À?™`?äœ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÉ@?ð?ð?ð?ð?î÷?í™?ì]€?ð?ð?ð?ð?ð?ð?ð?î˜À?ï4?ð?ð?ð?ï΀?íK€?ïó?ð?ð?ð?ð?ð?ð?ð?ð?îÙ@?î—À?ð?ð?ð?ð?í¿€?ð?ð?ð?ð?í­À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïK@?î»À?ð?ð?ð?ð?ð?ð?ð?ïø?í²€?í£@??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ît?ï’?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÏA?U€?:?âÀ?ïö?ïÖ@?ïÞ€??ð?ð?ð?èP@?>?ºX?È?íø?á?~?®€?_€?¸@?é @?ïÇ€?ìÜ@?íŽÀ?è^?±¾?¨l?às€?Ñ?¼"?à–@?íI@?ݪ€?Î?å"?ã–À?ÀB?ÃÏ?ÐÑ€?·"?¹ˆ?Óø?íá?â´€?èŽ@?ïÎ@?ð?ï²€?í¾@?Ë,?Ü×€?î>À?ìü€?ð?ð?ð?ð?ð?ð?ð?å?| ?ºÂ?íh?ð?ð?îÝÀ?ð?ð?ïÝÀ?ð?ïé?ì±@?îÂ?ïn?ïá€?ïßÀ?ð?ïÆ€?éºÀ?åº?ì?ð?ð?ð?ð?ïï@?ë[À?Ô÷?Ça?×l?Ðj?ƒ ?× ?íX@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@?ïû€?ð?ð?î?ïàÀ?ïÿÀ?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¦@?와?îÝÀ?ð?ð?ð?ð?ïÀ?ïø@?ð?ð?ð?îý@?ïm?ð?ð?ð??ìÉ@?ïìÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ït€?îò€?ð?îV?î–€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÅ?³@?Ô&€?ï½@?ï¨À?ïBÀ?ð?ð?ïø€?ïŒÀ?Ä0?@?¼’?Û?¼z?\?ð?Òk€?ð?ââ€?2?º’?°Ø??ÎÍ?ïRÀ?ïò€?ïùÀ?è°À?Üi€?œ`?æA?Â?b€?ÊŒ?ï¡À?è}€?Ü€?Ìd?å@?Õò€?àÀ?ÍÚ?²R?¤p?šØ?Úí€?ÊÃ?íb@?ð?ð?ïÂÀ?ìþ@?ÓN? ?©T?Ô?Â^?b€?áÔ@?ïÿ?ìÀ?îüÀ?ð?ïø?ïñ?ð?ð?ð?ã˜?I?ä €?î À?ïòÀ?ïÈÀ?ð?ïÿÀ?ïzÀ?ð?ð?ð?ð?ï@?ï±@?ð?ïD@?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ï(@?ìšÀ?î­?êd?Õ¡€?“?ËD?ï¨À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î•@?ì8€?ï·?ð?îxÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô?툀?íüÀ?ï:À?ï @?íï€?ì^À?íî?íá?ð?ð?ð?ð?ð?ð?ï/€?îÆ€?ð?ð?ð?ïÒÀ?ìC€?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îµ?íIÀ?î“@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê)?›h?Ëw?ï¹@?ïZÀ?îÓÀ?ð?ð?︀?蘀?¿ä?œ`?p ?㛀?ìÒÀ?Ë?°È?~?p ?ã»À?î?êÄ?Ò•?Ô?ƒ?b€?Õg?ð?ïs@?æw?Ë'?À?ãÞ?Ü?Îñ?îÅÀ?ÎQ?»`?`À?¿´?Þ ?êÚ€?Ââ?r ?R€?R€?Š?Ùr€?í¸À?ïÐ@?ð??×N€? `? ?Ѓ€?ä×À?ï €?îÁÀ?èT?ä¼@?ÍÍ?±D?æò?ìƒ?ð?í;?ìL@?íß?íN@?ïú?ð?ð?ïê?îЀ?Òï? ?éB?ð?ð?ïÙ@?ð?ð?ð?ð?ð?ð?ïÕ€?ð?ð?ð?ï@?ð?ð?ð?ï¿€?ð?ð?ð?ð?ð?ïÛ?îÀ?ï|?ï ?íï?Û–?߬?ï ?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïºÀ?î?í›?í©?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í”@?ïÑ?ð?ð?ð?ð?í0€?ð?éÁ@?ëÒ@?ð?ð?ð?ð?ð?ð?í§€?ð?ð?ð?îÀ?ï>€?î(À?ïžÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?Î?R?æ"À?ð?ïä@?ïý€?í•?ÃI?a@?ÁÃ?ë÷?ïî€?è?€?£?uÀ?B?”È?éž?ëÀ?ïâ€?ïþÀ?åØ@?×+€?ïÒÀ?Ó‡€??4?ÄO?ëÀ?̘?¶?‚ð?P??Ö?Ûœ€?èyÀ?ð?ä:À?×€?ë=@?ï†À?ð?é?ááÀ?Ð?¥0?Ö†€?ìú@?î©?êý?Ú»?Ù­?éÃ@?ìŽ?ï}@?× ??¨?ã‘À?ïà@?ïR€?ïq€?ìËÀ?ê¹À?ìJ@?êµ?ð?ð?ð?ïü@?ï?ëãÀ?ì$?ð?ð?ð?ï¼À?ð?ð?ð?ð?ð?ð?ì@?ï©À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î@?íï@?ï¡€?ëÀ?ÚÑ€?8?Âj?íñÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï…@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼€?íTÀ?ì¼À?ïî€?ð?ð?ð?ð?ð?ð?ð?ð?ð?íµÀ?í†@?îÎÀ?ð?ð?ð?ïå?î?î΀?ð?ïß?ï)@?ð?ð?ð?ð?ð?íç€?î¡À?ð?ð?ð?í@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï–@?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åµ?» ?ìÃ@?ïK?ïù@?æÇ@?Ç:?ïÓÀ?ï‚€?ïh?݈?O?B?±Š?ïÐÀ?ïô€?ð?ð?ë“€?¦Ä?Ç'?Ö+€?S€? ´?0?ž¸?ãJ€?Ãþ?Ã2?à7?Õ €?8?×8€?åû?ð?ïž@?ﮀ?á€?g@?R€?B?Ý€?â1?îÍ?ð?ïù€?ð?ð?ï¼À?ð?ð?ïÈ@?Ú—?fÀ?”À?¹z?éÌ€?îZ€?ïCÀ?Þ½€?´È?è˜?ð?ïø@?ð?íÒ?îý@?îÀ?í­@?í{?ð?ð?ð?ïö?ð?ïÈÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïä@?ïáÀ?í°€?ëÅ@?ì=@?ì}€?ë;€?ç?Üc€?Ü?‹ ?´V?é˜À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ð?í3€?ï×€?ð?ð?ï—€?í)€?ð?ï€?îè€?ð?ð?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïç@?í“@?ð?ïýÀ?ð?ð?ð?ð?ð?îy€?í;€?ïFÀ?ð?ð?ð?ð?ð?ïG@?ïf€?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?îÈ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ€?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ît@?Ã?r`?Çï?êh?çdÀ?Å/?Ý€?ïä?î2À?ï'À?î7À?¦¼?¥°?«h?ŽÐ?à(?çû?ïþ?ð?ð?å€?µR?²ö?f?º"?èK?ð?èÞ?×?ï¾?ïý€?ð?ð?ïÈÀ?í:@?®(?c?£¬?Þa€?ÕW€?Ý÷?æ €?ï|?ð?ð?è+À?Ë:?2?´œ?¶\?Á~?ë^?ï’?ïõ@?ÜŸ€?êòÀ?ïðÀ?ïÞ@?ð?îK@?ï$À?î§€?ð?íÄ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ïЀ?ð?ð?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¥À?ï“À?íÊÀ?íÀ?ëª?î(?ð?ð?ïÿ?ïÔ€?ð?ð?ïë€?ê>À?ÖŸ?y€?£<?ä[À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¹À?ì“€?ð?ð?ð?çê€?éÀ?ä?íN@?ð?ð?ïó€?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ím?í¹À?íØ?î@?íeÀ?í­€?ífÀ?íÚ?î·?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¿€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì%À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëíÀ?ìH€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ô€?G?U?àЀ?ïµ€?ï3?î„€?ï+?ݱ?(?‡ ?º®?w`?Ó4?¶p?ë\@?ð?ïò@?ê#@?l?ÇJ?¥h?é¡@?ìî?ï™À?ìÀ?é¶€?êh€?í@?ð?ð?ð?ð?ïÀ?¶Ö?_?È?pÀ?ä`À?êÿÀ?ïÜ?í`€?Ã:?Ù·?ð?ð?ð?ëœÀ?ì‹À?ï$€?ð?ð?îšÀ?î•@?ð?ð?ë[€?ïØÀ?ð?ð?ð?ð?ð?ð?ð?ïó€?î¤@?î?î€??ï@?îÀ?ïzÀ?ïõ@?ïÀ?ï?ð?ð?ïñ?íQ?íCÀ?íê?íc€?놀?ìlÀ?ð?ð?ìz€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïHÀ?ä…?œ˜?³þ?íÀ?ff?ï=@?îR@?îFÀ?îÇ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÃÀ?î…À?âxÀ?éÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í´À?ð?ð?ð?ð?ïÊÀ?ïÓ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëí?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÒ€?äìÀ?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íy?¨H?ßK?ïú?ïßÀ?ð?ð?íl€?¸?e€?]€?V€?P€?É?î¸?ð?áŠ?µ$?ÉZ?çR?ÆK?ÝÌ?Úh€?¢<?â-€?ð?ð?ð?ð?ð?ð?ßÕ?f@?ʨ?„°?É?¹p?ÄÃ?ééÀ?ïÓÀ?æÀ?Ÿ?鬀?ð?ð?ð?ð?ð?ð?ð?ï?ïVÀ?ïöÀ?ð?ë™@?ïe€?ð?ð?ð?ð?ð?ð?ð?ï߀?îwÀ?ï”À?ïû€?ð?ïê?ï–?ïÒ?ï’À?ïÃÀ?ï?ïBÀ?ëÀ?ì»@?îê@?ð?íF?îü?ð?ð?ð?ð?áÀ?ï¥?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å€À?|À?’€?ÕJ?ê«@?î?ð?í6€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïý?îÅ€?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îeÀ?êîÀ?ç:À?ð?ð?ïÄ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íY@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î&?í€?ïµ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ@?Õ.€?×Ó?ð?ð?ð?ï÷?í-?Ó‹?µ:?ÓK?P€?Ñ^?îµÀ?ï[À?Ýê€?Z?Ð?Òª€?¦,?ƒ?ã À?ÐÁ?¦x?•È?q€?Úd€?ïû@?ð?ð?ì²À?⬀?ð?Ø5?‰°?ŠÀ?‡ð?|@?“h?¥¬?Òõ?Õ€??À ?ëQÀ?ð?ïg?ïíÀ?ð?ð?ïã?ïá?ð?ð?ïâÀ?ìâ€?ïoÀ?ð?ð?ð?ï€?ï±@?ï°€?ï_€?î³@?ï!?ï@?ïl@?ï‚?ï^€?ïÕ€?ïðÀ?ïÞÀ?ï¹À?í—?ë¤@?ïK?ð?ïû?ð?î¹?ð?ð?ð?ð?ð?ë§€?ïï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð?ÅY??º¢?Ý«€?èV?ï»@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ê-?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?åH@?ë&À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íZ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì?í À?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ïü@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ ?Q?B?Ò{€?ïú€?ð?ð?ð?ïÝÀ?Ï¡?o?ÑÚ?}À?æ€?ð?ïÒÀ?å•@?áå?Ñ?Ù¥?à¾@?¯”?’°?B?I?Òn?˜à?ê=À?ïÕÀ?ï€?ð?Ñ~?¼?à›@?…Ð?~ ?Êÿ?Ò¾?ïD?ïš@?ïå€?ð?ð?ïD?ï­?ð?ð?íÈ€?ïD@?ð?ð?ð?ïû€?ï@?ï±€?ïsÀ?ïx@?ð?ïä@?ï½?î±@?ï¥?ð?ïÞ@?ï?ïQ?ïŒÀ?í?ð?ð?ð?ð?ð?ïÀ?ï?ð?ð?ïù€?î­@?ì:À?ïÚ?ð?ð?ï¹@?ï^À?î€?îP?í}@?í­?î¸?îçÀ?í @?âÒ@?Ñ€?³ú?éÕÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷€?ïÅ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì•@?á]À?ïÅ@?ð?ð?ð?ïÚ€?íñ@?èÂ@?éT€?èÀ?àÚ?ã¬À?ä<@?í?@?ð?ð?ð?ð?ð?íô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íŠÀ?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íI@?î·À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?á"@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Îà?§°?î‚€?ð?ïò@?ïü@?é=?•À?–ø?²`?ÎR?éê?ð?ð?ï´@?ì¤@?À³?Îd?ì.?ﻀ?è¤@?Áé?”€?V?“˜?ãK€?·2?äº@?ð?ï€?ð?ás@?в?e€?â ?ïõÀ?ïó@?ð?ïuÀ?îØ@?ï…@?ïÃÀ?îP€?ï1?ð?ð?ð?ð?ïû€?ð?ð?ð?ïþÀ?ð?ïý?ïÿ@?ð?ð?ð?ð?ïü€?ïè?ïÍ@?ì{@?ð?ð?ð?ð?ð?ð?î«À?ï÷@?ð?î¿?ïÔÀ?îŠ@?ïéÀ?ð?ð?ïý@?ï“€?ð?î·@?ïï@?ïþÀ?ï_?ï<À?êÓÀ?ï ?ï @?ÙÄ?t?¨?à©@?ïî€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î×@?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë€?ïú?îÀ?ïI?éÅ@?Øâ?Æý?x?Ãæ?ë¨?ï¾?ïÊ?ð?ð?í8?ð?ð?ð?ï‹@?í¬@?ïý€?ð?ð?ð?ð?ð?ð?îE€?ïˆ@?ð?ð?ïïÀ?ïÍÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè@?í÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éþÀ?êø€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í©€?¢ˆ?â¹?ï°?è«À?Û€?¢p?°’?Ò•?ïû@?îÂ@?î¯À?ð?ín€?ÛÝ€?B?Àp?íÌ€?ð?ð?ïÀ?Â?§Ä?:?ª?ÆÑ?¿Ú?“€?”@?Án?ç)À?ï£À?êã€?îÐ?ž¸?e@?:?$?æc€?ð?ïÍ@?ð?ð?ð?î£@?ïs@?î^?ð?ð?ð?ð?ð?ð?ï€?ï²€?ïû€?ïüÀ?ð?ïÜÀ?îþÀ?îB€?íè?î©?î|À?î @?î€?쨀?ï­€?ð?ð?ð?ð?ð?ð?ï¯À?îìÀ?ïÖ€?îó@?ð?îÊÀ?ïý€?ð?ð?ð?ð?ï…€?ïG@?î°€?ïs€?ï@?î€?ìB?ï²€?ð?î…@?åß@?¢ü?x ?U€?›Ø?–À?©à??“¸?ÔÚ€?éÄ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÕÀ?ð?ð?ð?îc€?îÆ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êÜ€?àA€?àR?¨t?½–?í&À?ïŠ?ð?ð?í9À?ð?ð?ð?ís?ïûÀ?ð?ð?ð?ð?ð?í¤€?ð?ð?ð?ð?ð?ð?îº@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë¿?ïÀÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç¹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ú¢€?R€?¯4?r`?¡Ä?º–?ƒà?¢È?ïI@?ð?îM?ïê€?ïâ@?îÉÀ?Ö€?‡?e@?ã¶À?ð?ð?ð?ï<?êÝ€?á¹@?ÒÄ?N?B?J?4?Æ?Ä3?n@?M?Ç?Ö;?ãÀ?:???×X?ð?ð?ð?ð?ð?ð?ïöÀ?î„À?ð?ð?ð?ïû€?ïÿ€?ð?ð?ð?ð?ð?ð?ïï?î@?ð?ð?ð?ð?ð?ð?íÀ?ð?ð?ð?ð?ð?ð?ð?ð?îÕÀ?ï À?ïU@?ð?ï^À?ð?ð?ð?ð?ð?ïŒ?îò?ð?î?îj@?ï?îb?ð?ð??í×À?ítÀ?íÜ?çë?æ¯@?ï9€?ës€?ï.À?ìQ€?ã €?ÑÆ€?{À?”ˆ?ç¤À?ð?ð?ð?ð?ð?ð?ð?ð?îh?ïÕ?ð?ïÛ@?ð?ð?ð?ð?ð?ð?ì>€?ð?ð?ð?ð?ð?ð?ð?ð?«`?Þà€?ïb@?ð?îŒ@?íx?ð?ð?ð?í@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?ï=@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íðÀ?ï‰?ð?ð?ð?ïöÀ?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èdÀ?ˆ€?6?âÕ?ízÀ?ÕÆ€?‚ ?ƒð?‚à?4?Çr?îC?ð?ëHÀ?ïÍ€?ïú?ïÑ@?ïÅÀ?áR€?R€?È ?è‡À?ïu?ð?ð?ð?ð?ð?ð?ïÀ?ã?Òì€?M?±´?„p?«ø?‹Ð?´?…à?¤L?@?‚Ð?ç{€?ð?ð?ð?ð?ð?ð?ïØ€?ï?@?ð?ïø@?ïöÀ?ïÉÀ?ï?ð?ð?ð?ð?ð?î³À?î4À?ïî?ð?ð?ð?ð?ï’À?î@?ï€?ð?ð?ïþ€?ïù€?ð?ð?ð?ð?ï?ïÅ?ï?ï½€?ï¨??ð?ð?ð?ð?ð?ð?ð?ð?ï?î¶€?î*@?ð?ð?ð?î(À?ïÛ?ð?ïð?îû?ð?î—€?î¸?ð?í§@?ð?ê}?âÆ€?»b?¡è?ä/À?ïû€?ð?ð?ð?ð?ð?ð?ïì@?íŠ?ð?ð?ð?î#?ïR€?í“@?ê´@?ï‹€?ꛀ?ð?ð?ð?ð?ð?ð?ìp@?Ù€?¾‚?ï«?î À?ëRÀ?ð?ð?ð?ð?ìsÀ?îk@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïeÀ?ï?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ@?ð?ð?ïã?îk@?íî@?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÚÀ?ïì?ð?ð?ð?ð?ð?ïû€?ïû€?îõ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í_€?»Ø?Øq?ð?ïç@?í?ìÂ@?ìG@?éò€?Ò?w`?ëßÀ?ï–@?ï»@?ð?ð?ð?æ7?î?ÎÜ?>?ÂÌ?·ò?ìu€?ð?ð?ð?ð?ð?ð?îX@?ëÀ?è³@?Ô±?ËÔ?Æn?kÀ?`@?p ?â<€?ð?ð?ð?ð?ð?ð?ï$@?ð?ð?îô@?ï·?ïû?ð?ð?ïÄ?ïÛ€?ð?îö?ïˆÀ?ð?ïû€?ð?ð?ð?ð?ð?í~@?ð?ð?ð?ïÌ€?ïû?ð?ð?ð?ð?ïøÀ?ï£?ïÐÀ?ïŸ?ð?ï¦?ïÕÀ?ð?ð?ð?ð?ð?ð?ð?ﺀ?ð?îuÀ?ïú€?ïò@?îöÀ?íúÀ?î8À?èé?îÒÀ?ïï@?ð?í ?ï@?îá€?ï½€?ð?ð?ð?ëÀ?Æü?‰€?ß"?îÎÀ?ð?ð?ð?ð?ð?ð?î¸À?èáÀ?ác€?ÑG?Ñî?Å?¸t?²Ô?ÏS?ΰ?áÓ?ëá@?ð?í?á·@?Ð €?©œ?æ2À?íi€?ï?À?ð?ïö€?ïÜÀ?ð?î¥?ã­?í­À?ð?ð?ð?ð?ð?ïý?ïÿ@?ð?ïÐ@?îÊ@?ïa@?ïù@?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?îÀÀ?ïúÀ?ð?î®À?ìdÀ?ð?ð?ð?ð?ð?ð?ígÀ?íñÀ?íÀ?íö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ímÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ð?ð?ð?ð?ð?ç[@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Øõ€?¤¸?ê`€?ð?ð?ð?ïz@?ð?ïƒ?½0?Øæ€?ïÿÀ?ð?ð?ð?ð??ïü@?å¬?B?ŒÐ?—À?ÀZ?ä@?íÀ??ð?ð?ð?ð?ð?ð?ð?çÁÀ?¿º?S€?©ì?™X?6?k€?s ?0?Ü„?ð?ïû€?ð?ð?ð?ð?ï`?ð?ïé?ïö?ïÿÀ?ð?ïöÀ?ï€@?ï|€?ît?îÉ@?ïfÀ?ð?ð?ð?ð?ð?ï÷@??îÖ@?î?@?ð?ð?ð?ïb@?ïÍ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö€?ïV@?ïu@?ð?ð?ð?ð?ð?ð?ð?ð?î1À?ïüÀ?ï"?ë€?ä¹@?îÄ?ïû@?ïƒ@?ð?ïþ?Ýû?äôÀ??ð?ð?ð?ð?ð?î@@?Ù´?¡Ì?À±?ãp€?ï>€?ð?ð?íX€?áÛ€?Ë?N?8?Ó’?º¤?°P?àÿÀ?ç×€?äˆ@?Úö?Ör€?ÆB?±À?®„?Ƚ?íÎ?ï÷@?ð?ð?ð?ïJ€?í4€?ï9??ïÝ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íx€?îÅ€?ð?ð?ð?î”?í&€?íÀ?í+€?îÃ?ïæ?í³@?î±€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î[@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êkÀ?å"@?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ¹@?Š`?²†?é¾€?ð?ð?ð?ð?ð?êµ@?’ ?ÔŠ€?ïÃÀ?ïÇÀ?ð?ð?ð?ð?ð?éB?ÖQ?ð?ð?ð?ð?ð?ð?ð?ð?ð?î:?æÇÀ?éÏ@?Ü_?”à?®ì?Òç?6?x€?äg€?ð?ð?ð?ð?ð?ð?ï^?ð?ïÖ€?ïöÀ?ð?ð?î‘€?î²À?î €?ï|€?ð?ð?ïû€?ïð@?ïÝ@?ð?ð?ð?ð?ð?îƒÀ?ð?ð?ð?ïcÀ?ïÛÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼@?în€?î[@?ìÀ?æô?ï¹@?ð?ð?ð?ïý€?ìò@?ïÁ€?î$À?ð?ð?ð?ð?ð?ïÈ?î À?ÜQ?»^?°ª?Ü?Üï€?°<?C?àP?æFÀ?î€?ï{@?í¡@?íÊÀ?ïi@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìïÀ?ð?ð?ð?ð?ð?ð?ð?ïö?ïù@?ïj€?ë~@?í^?îÀ?ï¬À?ð?ð?ð?ð?ð?ð?ð?ï€@?î$?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä€?Ý‘?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é?€?§ø?§`?çJÀ?ð?ð?ð?ð?î•À?ß.? œ?±l?ì‡À?ïÿ€?ð?ð?ð?ð?ð?ãu?Ã?Öý€?¶è?ë®À?ð?ð?ð?ð?ð?ð?ð?ð?ï]À?ç3€?Ù€?[€?µ ?»Ú?g?m@?â0?îÖ?ï•?ïé€?ð?ð?ð?ï €?ð?ïû€?ð?ð?ï¼?ï¶@?ïéÀ?ïE?ð?ð?ð?ð?ð?ð?ð?ï^À?ð?îéÀ?íËÀ?ì°@?î??î+€?îö@?ï¸À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï'@?î½€?í°@?åCÀ?èR€?ð?ð?ð?ð?ð?ð?ï€?î­€?ï”?ð?ð?ð?ð?ï>À?ïþ@?íS@?ê€?“?~€?àþ@?§°?í,À?îk?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÂ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?íÎÀ?íí€?ퟀ?í À?ìÚ@?ï[?ð?îÁ€?íìÀ?ì´€?íû?î€?íL€?ïö€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒ@?ï €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?á?Ú??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éûÀ?²Ú?°º?Ö³?ìR?ð?ð?ð?ð?åËÀ?Å?K?Öä€?ïÓÀ?ð?ð?ð?ﻀ?ïÜ?àR€?¡˜?Ô;?­p?ë©?ð?ï¿€?ð?ð?ð?ð?ð?ð?îÕ?ë?çp€?Ö/?ÈG?b?§l?¼¶?íò€?ïï€?ïì?ð?ð?ï¶À?î„@?ð?ð?ïÜÀ?ð?ð?ð?ïÃ@?ïú?ð?ð?ð?ð?ð?ïÀ?î$À?î„À?î¨?ïr€?ïÁ?î¹@?ï?ïc?îP€?ï¶@?ð?ð?ð?ð?ð?ð?ð?ð?ï @?ð?ð?ð?ïÛÀ?ï¹€?ð?ð?ð?ff?ïÒ?ï°À?ïæ?ïàÀ?îä€?ïvÀ?è=À?ïþ@?ð?ð?ð?ð?ð?ïù?ïF€?ð?ï@?ïùÀ?ð?ð?ð?ð?ïL€?ïâ?ïÀ?Èå?Ò€?Ø€??Û4?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íT?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝ€?í¢?ì9À?í®€?ï´€?ïõÀ?ð?ïÓÀ?ï¡@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïu?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì;@?Øy?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë³€?·î?Î[?î¼@?ð?ð?ð?ð?ï€?Ü%€?–?âí€?ïæ€?ïø?ð?ï:@?ï@?æÑ?¶?q`?v@?åýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¿€?ßå€?¸ì?¿„?Œà?æÝ@?ïì@?ð?ð?ð?ð?ïP@?ïþ@?ð?ð?ïð€?ïR@?ïí€?ð?ð?ð?ð?ð?ð?ð?ï7À?ï@?ïê€?ïÞ@?ïþÀ?ïRÀ?îÿÀ?ð?ïÔ@?ïá@?ï~€?ï_€?ïÙ@?ï¸@?ïï€?ð?ð?ð?ð?ð?ïÚ?îñ€?ï@?ï3@?îy?ï@?ïH?ï8@?î•?ï3€?ð?ïþ€?ïü@?ð?î΀?ð?ìøÀ?ð?ð?ð?ð?ð?ð?ïÅÀ?ïü@?ð?ï?ïÿÀ?ð?ð?ð?ï€?ï¼À?ð?ïÏ€?Ò€?Ì3?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ïÏ@?ïË€?ð?ð?ð?ð?ð?î³@?ð?ð?ð?ð?ð?ïW€?éáÀ?ïõ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îM?í‘?ï(À?ïç@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ïäÀ?ï¦?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?㉀?ä€?ïð@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë}€?Â$? ?°X?ÛÇ€?îû?ð?îì@?îÒ€?ð?ð?å€?ÒÞ?ïé@?ïþ€?ð?ð?ïô?ç@??—°?2?¾ö?£?i?Q€?Š ?Œp?°À?gÀ?Ãù?Ö-?â¢?êÛ@?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïö@?检?¹l?t@?[€?R€?w?×=€?ï€?ð?ð?ð?ð?ð?ï…€?ð?ð?ð?ð?ïõ@?îê€?ïÎÀ?ïëÀ?îÉÀ?î{@?îƒÀ?î‚À?ïŒ@?îLÀ?ïÿ?ïÊÀ?ïÀ?î§À?ï¡€?ð?ïØ?ïí@?ð?ï,?ï?ï;?ï3?ïA€?ïÿ@?ð?ð?ð?ð?ð?ð?ïÄÀ?îñ?ð?ïã@?ïý€?ïÞÀ?î ?ð?ð?ð?ð?ð?ïDÀ?ï¤?ïw?ïÜ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?á?@?Ý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?îFÀ?ð?ð?ð?ð?ð?ì]À?îÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï1À?í7À?î'?îCÀ?îìÀ?툀?î%€?ï_?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï³À?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?Òý€?ï#@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë?¹?´@?á,?ËÏ?ç–@?ð?îê€?êÏ@?ï¶@?ð?ï€?à @?2?‚?Ü„€?îKÀ?ð?ð?ð?ïŽÀ?Ý–€?«t?s ?P?†?¡Œ?u ?åÀ?î”À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÄ?ïäÀ?ïÉ€?ã3?8?«¨?½˜?ÆI?̾?ÝÇ?ì?ð?ð?ð?ð?ð?î€?ïá@?ð?ð?ð?ï±À?ð?ï¶€?îdÀ?îm?ï‡@?ïÏ@?ïü?ïÀ?îý@?ïà€??îÍÀ?îö?ð?ð?ð?ïè€?îû?ïâ@?ïz€?ïÒ?ïà€?ïÿ@?ïá€?ï~?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå€?ïþ?î­€?ïï?ð?ð?ð?ð?ð?ï%@?ïÝ€?ð?ïÈ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìJ?À?ãÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¨?îÔÀ?ð?ð?ð?ð?í¾À?ð?ð?ð?ð?ïl?ìÍ?ð?ð?ð?ð?ð?ð?ð?ïü?ï…?í\À?íˆ?î2?ï?í:@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïS??ð?ð?ð?ð?ð?ð?ð?ð?ïí@?ïå€?ð?ë©?ì‚À?î'@?îl@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÞÀ?ïý@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÇ?äJ@?µ8?G?Æ7?‹`?šH?¶R?ÖR?èq€?ð?ï@?î±À?ð?ð?ï¨?Ðc?Ýo?¯L?€ ?Ȱ?éø@?ïÊÀ?ð?ð?ï;?ÆB?w??ÅÕ?é€?î@?ïq@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?﯀?ïvÀ?ìf@?ÆG?[€?¥T?‘?½ˆ?æ¼€?Ö2€?ÁÞ?íÀ@?ï¿@?ð?ð?ð?ð?ïí€?ð?ð?ð?ð?ð?ð?îÌ@?î|À?î›À?ïíÀ?ð?ð?ð?ð?ïä@?ïÒ?ïù€?ïý€?ïÒ?ð?ð?ð?ð?ð?ïÿ?ïÀ?ïÏ?ï €?ð?ð?ï‹?ïØ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖÀ?îÁ@?ð?ð?ð?ð?ð?ð?ïí@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?Õ–?·?å¬À?îÐ?î6@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?ð?ð?ð?ð?î†À?îæ@?î“€?ï^@??í?À?ë ?ëÔÀ?ì0€?였?î®?ïÖ@?ð?ïÔ@?ìò?ïZ€?ð?ð?ð?ð?ð?ð?îu€?íí@?íÚ@??ì @?ïj€?ð?ð?ð?ð?ð?ð?ð?ïû€?ïÿ@?çœ@?Áü?î9€?ïî€?íŸ?ìq?ëô@?ï±@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çÆ@?Í?,?Y??œ¨?’È?Œ`?×ß?îñ€?ð?ð?ð?ð?ïÒ@?íç@?è+@?ê%€?ƒ`?hÀ?ܶ?îoÀ?ð?ð?ãö€?Ó€?Øy€?Q€?v?Ôù?ïÃ@?ð?ïêÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¢@?ï–€?ç’€?–x?–€?{€?ÐG€?Ò?»?…Ð?g?tÀ?I?ÿ?í¼À?ï*?îÂÀ?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¹À?îä?ï©À?ð?ð?ïˆ@?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ïù€?ð?ð?îï@?ïQÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï€?èæ€?Ù¹€?@?µ*?ÅZ?íè?îÒ?îÚ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÍ?ïø@?ð?ð?ð?íæ€?î@?í €?ëfÀ?ì¦@??ïÿ@?ï°?î(À?íÚ€?ì¥@?íÄÀ?î À?î_?ð?ïÒ?ï‚@?ð?ð?ð?îH@?ídÀ?ï¹À?ð?ïÿ€?înÀ?íÄÀ?ì[À?ïFÀ?ð?ïþÀ?ð?ð?ð?ð?ð?ê“?Ù ?厀?ð?ï?êY@?Þø?ßj€?èÑ€?îo?ë€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÒ€?Ù,?o@?„À?Á?¨h?à6À?ð?ð?ð?ð?ð?ð?ïpÀ?ê¬À?Ùå€?×Ã?‰À?¹f?åÂ?íé€?êÁ@?¯ ?ÃØ?ì=@?ïç@?êÐ?èG€?Ù–?äé@?îxÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?ð?ð?æA€?·¬?q ?×Ô€?ÝI€?ç/@?ãB€?Çw?Ðí?B?R€?4?¼?ì¥@?ïð€?ïÿÀ?ð?ð?ð?ð?ð?ïþÀ?ð?ð?ïúÀ?ð?ð?ð?ïû€?ð?ð?ïb?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïúÀ?ïÆÀ?ï÷À?ð?ïx?ï`À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ïÿ?ð?ð?îl€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÔ@?ïôÀ?ð?ð?ð?ð?ð?ð?î`€?ëë?ì¸À?Û•€?áàÀ?ïæ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼À?í??ð?ð?ð?ì4€?퀀?éB?ëh€?ì À?íµ€?ìN€?í.?îz?îq€?íî€?î€??ïG@?î—À?ïÿ€?íB€?ëâ?î#@?îSÀ?ï?@?ïÀ?íŽ@?íÜ@?î?î1À?îq?ï¢À?íþ€?ì‚À?ìëÀ?ð?ð?ð?ð?婢?Ô?éŠ?ð?ð?ð?ð?î'€?éÌ@?æû?ìÛ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í‚À?Ë¿?©?éê€?Ô,??Ñ€?ð?ð?ð?ð?ð?ð?ð?ð?ïÄ@?è¦?È`?´†?ºò?Ð@€?Òù?Ôð?™?R?C?ß‘€?ï€?ð?ð?ð?ïzÀ?î™?î·@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï ?ïË@?ìÒ€?Ê?f@?b€?åR@?á¸À?¬ô?¤0?:?Û–€?îV?Ãh?}à?g@?®8?î@?Û4€?íÆ?â}€?J?•°?ÐË?íQ@?ð?ð?ð?ï¿À?ïNÀ?ïÂ@?ïý?ï®À?ïØ€?ïò@?î @?ð?ð?ð?ð?ð?ð?ïüÀ?ï×À?ïä@?ð?ð?îÜ?îÜÀ?îØ?ï+€?ï À?ð?ïòÀ?ïK?îð@?ï€?ð??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì@?ð?ïL?î€?ïä@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?ð?ð?ð?ð?ð?ð?ïÄ€??ð?ð?ð?ð?ð?ð?ð?ì}À?ì'€?Ûù?Â?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íö?ð?ð?ð?ë·@?èY€?êv@?îz@?ð?ð?ï–?ícÀ?íÀ?î*À?ï´À?ïô?îè@?ð?îj?ð?ð?ï!?ì^@?îpÀ?ïñ@?í0?îÓ?îÙ?ð?ð?ï?í´@?î°€?î©?ïu?î;À?ð?ð?ð?ð??ïý@?ð?ð?ð?ð?ð?îLÀ?ð?ð?ð?ð?ð?ð?ð?ð?ï¤?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êŒÀ?Á]?Èl?ë1@?‚P?–?í#À?ð?ð?ð?ð?ð?ð?ð?ð?ëh@?ê•€?äÖÀ?Ð=€?Á?ÐT€?Õ³€?Áø?U€?•¸?[€?æ%?ð?ð?ð?ð?ð?ð?ð?ïÝ@?éÌ€?îß@?îíÀ?ï·À?ð?ð?ð?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?é×@?ÞÉ?ä!@?ßú?oÀ?Öâ€?Ýè?ff?ð?ï?ï€?ë'@?áè@?ãú€?áùÀ?Ú*?äñ?ï@?Õ`€?$?[€?·¢?ÜÒ€?ç@?áA?¬P?tÀ?¸f?áÀ?ì±À?ï³?ï?ïO@?ð?ïû€?ïâ?ïñÀ?ïóÀ?ï@?îì?î?î}À?ï©?ïÀ?ð?ð?ð?ïuÀ?ð?ð?ð?ð?ï ?î5@?ï?ð?ïOÀ?ï³?î>À?ð?ð?ð?ð?î×?î`@?îØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï×@?ïŽ?íˆÀ?ï¶€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ï À?ð?ð?ð?ð?ð?ð?ïC?ï?ð?ï€??ð?ð?ð?ð?î×€?îÜÀ?ï•@?çæ€?À¸?«`?ái@?ð?ð?ð?ð?ð?ð?ð?ð?î£?ï6@?ð?ð?ð?ð?ð?ð?ð?ð?ð?îì?ìô€?ïç@?ð?ë•À?è½À?ïÿ€?ï]?ïc?î’€?ï3À?ïãÀ?îK@?î’@?î«€?ïÎ?ð?ð?îþ?ï¡À?ð?ð?ì²@??ìÂ?êx@?í6€?ð?ð?ð?ð?ð?îb?ï×@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï+?ë$À?ð?ð?ð?ð?ð?ð?ïð€?ìL€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê+@?²?6?Ê$?2?ã:@?ð?ïÖ€?ð?ð?ð?ð?ð?ð?ð?ð?äý?ã´@?§Ø?‹P?›?K?åÅÀ?ð?ð?ð?ð?ð?ð?ð?ï?ï?ïQÀ?ð?ð?ð?ð?ð?ð?ð?î™@?ð?ð?ð?ïõ€?ð?îîÀ?½ˆ?Ïž?ìŸ@?á"?è @?å'?âK@?åÜ@?âü€?ã%À?äÀ@?ïîÀ?ïúÀ?í.?àÆ?³?åEÀ?è*€?æøÀ?Óÿ?H?U€?X€?¢¬?•`?Z€?Äî?ïæ@?ïö€?ïé@?ð?ð?ïû€?ð?ð?ð?ð??ï©?ð?î½@?ïo€?ïS@?ïÀ?ïX€?ï=€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îh?îZ?ï©À?ð?ð?ï@?î‹À?ð?ð?ð?ð?ð?ð?ð?ð?ï¹?ð?ð?ð?ð?ð?î·?í®À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÙ@?ð?ïÕÀ?îè€?ð?ð?ïÛ€?ïÿ€?ï'€?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?è¢?àÑ€?­P?Šð?’˜?Üä?áÇÀ?ëI?ð?ð?ð?ð?ð?ð?íg?î¡@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï›?íw@?ïçÀ?ëå@?äô?íuÀ?íý?î@?ïô?ïg@?ïêÀ?ð?î9€?î@?îÀ?îQ@?î#@?ît@?ïø?ð?í ?ïK?ð?ð?ï_€?ì$??ð?ð?ð?ð?ð?ð?ð?ð?ð?ïv@?ïç?íô?ð?ð?ð?ð?ð?ìÀ?àÀ?Ýv?É?Ô!€?ê3@?ð?ð?ð?ð?ð?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëå?º\?0?U?ª\?Æ?ƶ?äV@?ïéÀ?ïû€?ïû€?ð?ð?ð?ð?ð?î€À?íâ@?ð?ã£?j€?»v? è?kÀ?Ç(?ïFÀ?ð?ï¿€?ïÏ€?îBÀ?îÄÀ?î­À?ï„€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ïQ@?ð?ð?ïï?ïä@?æ³@?o€?âr€?Ï?W€?¾Ì?¿ ?v@??°~?Ñu?Ñ?<?¸´?r ?r`?ƒ`?l€?‚p?B?[€?U€?Ï·?S€?o€?¥?~@?Å–?ï„À?ð?ïè€?ï#€?ïá€?ïç@?ð?ïD?ïß?ð?ï÷À?í¿€?î ?ð?ï?ïB€?î¡@?ð?ïW?îú€?ð?ð?ð?ïû€?ïfÀ?ïŽ?ð?ð?ð?ð?ïî@?ïô@?íé€?îéÀ?î˜@?îô?íÖ?ð?ð?ð?ð?ð?ð?ð?ð?ï`À?ð?ï:?ð?ð?ïöÀ?í¾?ïê€?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ïj€?ð?ð?í«?ð?ï^?ïÍ@?ð?ð?ð?ïÄ?ð?ð?ð?ï À?ð?ð?ð?ð?ïÒ?çŽ@?Ü|€?ãÐÀ?é_€?ÔS€?~€?`?íÀ?ð?ð?î|€?íñ€?î @?î0?î_€??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í¡?ë¬À?êŸÀ?ì“@?ìóÀ?í ?î€?íz€?ë?íQ?ìš?íÃÀ?ï@?ïê@?ïñ?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ïå?ìeÀ?îÒ@?î;€?ïŽÀ?ð?ð?ð?ð?ð?ð?ð?ä@?âÞ€?í+@?ð?ð?ð?ð?ãu?¸Ì?«Ì?w`?Ò?äï@?äUÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì+À?Á•?y`?J?Ï??æ€?ïÌÀ?ð?ð?ð?ð?ð?ð?ð?ð?î·€?Ѐ?T?Ð[€?Ó?} ?Àž?îþ?íÑ€?íÉ@?îã@?ï©@?ïû€?ð?ïþÀ?ïù€?ï³?ïÄ?ð?ð?ð?ð?ð?ð?ð?ïÀ?ïŒÀ?ë@?î©€??âáÀ?¬$?ä €?ƒ ?£?¬´?© ??Àt?ÓN?ÛÅ€?±ê?€?¢H?Üó€?äÊ@?ä‘?z?6?’p?¤€?â¸@?È?ÖZ€?µ®?é=À?ð?ð?ð?ð?ð?ïû€?ð?ïÍ@?ï£À?ð?ïñ€?ïH@?ï^€?ï€?íË?îk€?îÔÀ?ïæÀ?ð?ð?ð?ð?ð?ð?ð?ïÎ?ïÿ@?ð?ð?ð?ð?ð?ð?ïÍ@?ð?ð?îq@?î@?呂?ím@?ìé€?î…?ð?ð?íé€?ê.À?íM?î•?î•À?ï߀?ð?íÀ?ð?ï¥À?ð?ð?ïé€?ð?ð?ð?ð?ïØ@?ïÀ?ð?ð?í³€?ð?ïóÀ?ï@?ð?ð?ð?ð?ð?ï'€?ð?ïžÀ?ïÀ?ð?ð?ð?éÀ?áÝ€?àÝ@?åd€?âG@?åÚ@?â?Ü?Ñ €?C?Š?ÎØ?ï @?대?ì…€?î??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?ëx?é`À?åz?ï4?ð?ð?ð?ð?îœ?ïG€?ï€?íÊÀ?íè€?íwÀ?î?€?ïÃÀ?ð?ð?ð?ð?ð?ð?ð?í}?ï´À?ð?ï?ï£?ð?ð?ð?ð?ð?ð?ïZÀ?Òt€?ì£@?ð?ð?ï›@?íÃÀ?ïw€?Ã7?»&?q ?Ó—€?ç À?ï6À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€?Æ?o€?$?Ï ?·‚?ë¢?ð?ð?ð?ð?ð?ð?ð?ð?éFÀ?µÚ?‰à?Ý?€?µV?盀?îZ@?ð?ð?ð?ð?ð?ïþ@?ïuÀ?ïñ€?ð?ð?ð?ð?ð?ï!À?ï¾€?ð?ð?î€?î€?ð?íø?æŸÀ?…ð?c@?çñ??´Ö?Æz?W€?°´?Ó>€?À†?_€?ߣ€?à0@?Ü߀?œ`?›¨?€?¶’?ÊM?œ¨?¼À?èbÀ?î•@?ç²À?Ðþ?ª?¡x?‰P?[€?­?Î(?äP€?®˜?áÀ?y`?ˆÀ?ÕS?ïò€?ï@?î€?ð?ð?ð?ð?ð?ð?îÌ@?îx€?îÙ€?î?îá?ïµ@?ïÿ@?îå@?ïä€?ïN?ï?ï[À?ï €?ïQ€?ï:€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?îW€?îæ€?ïÿ€?îO@?ì~À?ê€?뢀?íº€?ê'À?éð€?ì@?ïâÀ?ïÍ@?ìÙ?ïX?î>€?ïŠ?ïU€?ïÄ@?ð?ð?ï©?ð?ïê€?ïÀ?ð?ð?í{?ð?ï@?ïÚ€?ð?ð?ð?ïÎ?ð?ïJÀ?îg€?ð?ï!€??ð?íy?äàÀ?å€?è€?îP@?ð?ð?íFÀ?ï†@?å“?0?Î/?È ?ªÐ?ʲ?éˆ?ë@?ç€?å•€?í•?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïJ€?í²€?éwÀ?êŠÀ?鯀?ì\€?ð?ð?ð?ð?ð?î²À?î#@?ï@?îu@?î¿€?ï÷@?î:@?î4€?ð?ð?ð?ð?ð?ð?ïÛÀ?íe€?ð?ïîÀ?ð?ð?îŸÀ?îJÀ??ð?ð?ð?ïØ?ð?ð?ð?î„@?ï@?ë³?€°?ÖŠ?ð?ð?ð?ð?ð?íÛ€?îç?ð?î¢À?ë0À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íç?Êú??ÊÃ?È?ïÀ?ð?ð?ð?ð?ð?ð?ð?í€?ÑH€?·,?À?Ø‹€?éÕÀ?ﻀ?ð?ïÖ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?î³?ð?ð?ð?ð?ï„À?ëï€?Ï?|À?Ú—?ìx€?áu€?¯à?²’?Üp€?Ó¨€?éó?åÈÀ?áä?Þ½€?ºj?Ô€?¾8?ű?S€?½´?Üó?ÊÞ?ê ?îŸÀ?ð?ð?ð?ï®À?ì×€?ç½@?l@?‘À?¼?±º?ß-?Û€?l€?g?áW€?éö€?µ?¹?‰€?¿€?ÌY?Ãb?æ¶€?ð?éÏ?ìÞ?ð?ïí€?ð?ð?ïÄÀ?ï;€?ïÞ€?ð?ð?ïö?ï€?î9À?ïöÀ?ïä?ïA€?ïÿ@?ð?ð?ïþ@?ïû@?ïC@?î´€?ï×@?ïöÀ?ð?ï”À?ï…?ïÿ@?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï6À?îï?î¨?æ#?ë@?î0?욀?îw?ð?ït€?ïA@?ïý@?ð?ð?ï©?呂?ð?îâ?ïQÀ?ï™@?î6€?ð?ï@?ïÝ€?ð?ð?ð?ïöÀ?ð?ð?ïÆ€?ïGÀ?ð?í¼?ïôÀ?ëÀ?ëÀ?眀?ì €?îfÀ?ï¯À?ð?ïW?ïz@?×]?ä¥?îð?î@@?ë¢?â_?Æ2?¥?(??ç€?ì`À?ïˆÀ?í´?îiÀ?ïb?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä:€?í?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï*À?î"?î<?î@?ð?ï¡€?íñ@?î=?ï @?ð?ð?ð?ð?î*€?í¶€?ìò@?îi?íýÀ?íš@?ïÌ€?ð?ð?ð?ð?ð?í@?ð?ð?ð?ð?ïÛ?ÃÚ?ª?é@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?àA?Œ ?ìð?ÅÃ?~à?é?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ß0€?B?p@?ŵ?Õô?æ%À?ïÕ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡@?ð?ïá?îÖÀ?ð?ð?ð?ð?çý?Êå?µt?î€?ïÆ?ïx€?à~€?¢È?æ›@?ð?ð?ï7?Ô€?àãÀ?ÔÉ? t?ɼ?‹ð?w?³ú?‰ ?Þ†?æH@?î×@?ïé?ïz€?ð?ð?ð?ð?îs€?Êr?Y€?±ü?§|?×é€?¸Ú?~?c?b€?¤|?œ?w?y`?À?:?»Ö?£Ø?b€?Ù ?ð?ïí€?ð?ð?ð?ð?ïû€?ð?ïx€?ïóÀ?ð?ð?ð?ð?ð?ïì€?í–?ïÙ@?︀?îÎÀ?ï°À?ð?ð?ð?ð?ï¼€?ï"?îßÀ?ï_@?ïÝÀ?îÌ@?íT@?îÌ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïåÀ?ïÁÀ?ð?ïÜ@?ë›?ã@?ä`?í·€?ïù€?ð?ð?ð?ð?ð?ð?ï'À?ïÂ?ïâ@?ïº?ïF@?î1@?ëu?îØ€?îî?ð?ð?ð?ï©À?ð?ð?ð?ï-@?ïŠ?îw@?ë€?êK@?é‰@?í‡À?ìÁ?ï´@?ï‘€?ð?ï¶@?èH@?Ø;?î,@?ð?ð?ð?ð?ïÀ?ç@?Ûo?´D?·&?ºx?érÀ?ð?ð?ïÿ?íú@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëÿ?ëb€?ð?ð?ï?ä<@?íT€?ïЀ?ð?ð?ð?ð?ð?ð?ð?îkÀ?ïÀ?íø€?ð?ð?ïÿ@?î]@?ð?ð?ð?ð?ïó@?ëè@?ïÎ@?ïšÀ?îCÀ?ð?ð?ð?ð?ïÿ?ê&À?ð?í[?ð?ð?î›@?ð?ëõ?}À?R€?ß@?ï.À?ð?ð?ð?ð?ð?ïÈ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë(À?§ð?Ùä€?äÅ€?Ϙ?ïåÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?äÇÀ??ا€?ÞÆ€?¡L??¹`?ßÌ?ﮀ?ð?ð?ð?ð?ð?ð?ð?îÆÀ?ð?ïn?ð?ï‹@?îØÀ?ð?ð?ïÞ?èúÀ?—8?Ãa?ð?ð?ð?ï¾@?îô€?ïïÀ?ï°À?æxÀ?Òb?³ü?Ô"€?Ö?—Ø?f?Ì€?Ëz?¬8?P?¹Ú?ë €?âVÀ?˜?R€??§ˆ?ª ?v`?ÉÅ?È?àoÀ?ît@?ð?ð?ð?ð?ï@?Ã??°R?ÊË?ÒÙ?À×?£¤?w ?ÔÛ€?æ@?ÔÈ?™˜?tÀ?€P?tÀ?@?p ?¦œ?»t?€0?R€?4?tà?Õ‰€?ð?ïöÀ?ïËÀ?ïª?ð?ð?ð?ï¢@?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ïð@?îPÀ?ð?ð?îü?ïý@?ð?ð?ð?ð?ð?ð?ï€?î„€?ïvÀ?ï—?íàÀ?ïÿ@?ïÙ?î`@?î ?îl@?ð?ïñ€?îë@?í¥?íÓÀ?ð?ð?ð?ð?ð?ïJ€?ï#@?îª?呂?ïjÀ?í¯@?ç1À?ï(?ð?ð?ð?ïO@?ïú@?ð?ïÃ@?ïhÀ?ïÊ€?ïÌ?ï?@?ïø@?îÀ?뚀?êÓ?ð?ïô?ïR@?ï‘€?ð?ïû€?ïÕÀ?ì°?ê5?ææ€?çU€?î@?ì1@?ïhÀ?ì¬?îoÀ?î€?êi?á*€?áÜ?êj?í´?îa€?ïÔ?ïé?ð?ïéÀ??ï—?ä>?åÀ?À ?¨Ì?ëÀ?ð?ð?ð?ïÇ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïP€?å©À?ïúÀ?ð?ð?ïç?ãR€?îˆÀ?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ïu?îS?ï¬@?ð?îÊ@?ïæÀ?ð?ð?ð?î¡?í‚À?îz?ð?î[À?ïÂÀ?ð?ð?ð?íyÀ?Ä_?îôÀ?ð?îF@?í×@?ìö€?î¹À?äXÀ?A?Ñþ?Ô£?íõÀ?ð?ð?ð?ð?ð?ð?ìbÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í¸À?å@?Äì?4?±„?®è?iÀ?@?åõ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì@€?ÐM€?Í‘?쇀?îàÀ?Ø(?á@?ð?ð?ð?ð?ð?ð?ð?ð?ï‘@?ïQ@?ï€@?ïþ@?ïž?îVÀ?ð?ð?ï’À?ã@?ÉŽ?ï²@?ð?ð?ç=@?ð?é:?Ù&€?¯`?†?±¶?ˆÐ?áð@?ßZ?Ô€€?ÓÁ€?Ú,? ?‹0?Š€?Æd?è‘?Ñ3?A?ºÆ?íÀ€?ð?ð?ð?ïþÀ?î€?À†?R€?k€?Ê?Ö€?Æb?ѧ?ï„?ë?ïÊ?îX@?Þæ€?¸?@?Ç?Ø€?Ã?…`?Æ#?ð?ð?ï$À?ïÿ€?ð?ð?ð?ïô€?î›?ïÚ@?ð?ð?ð?ð?ð?ð?îõ@?ìòÀ?ð?ð?ïyÀ?ï €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²@?î0À?ît@?ïþ@?ð?îôÀ?í§À?î€?ï&À?îæ@?ëx€?í@?îç€?ð?ð?ð?ð?ð?ð??î¢À?îÔ@?ì.€?ë,€?ð?ð?ð?ïá?ï@?ð?ïÚÀ?ï@?ïë€?ïø@?ïÂÀ?íQ€?ïÀ?éó@?åä@?éJ€?蛀?éÀ?íö€?í_@?讀?èn@?ìp@?ï[À?è@@?îz@?ï_@?è:@?ê°À?éÇ@?å7À?ç6€?é‹@?â)À?îIÀ?ï|€?ï¢À?îû@?ð?ð?ð?ïaÀ?ïµÀ?ð?ï?ï»?çm?i€?ͯ?ïÈ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÐ?ïÚ€?ð?ð?ð?ð?ænÀ?íw@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÌÀ?ð?ïú@?î/@?ð?ð?ð?îN@?ð?îØÀ?í!€?î?î%?îh?ð?ð?è€?ã?ïî@?ïr?êc€?ï‘À?î±?î—À?æŸ?Ç­?Ï·?•?À§?½T?âq@?ð?ð?ð?ð?ð?íY?ço€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ4? ´?Å ?Â~?áJ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ç»À?Òù?ÉŸ?âB@?äcÀ??8?U€?Ð%?ï¿@?ð?ïí€?ïä@?ð?ïí€?ïý?ïÒ?ïëÀ?ïä@?ð?ïÚ@?ïó@?ï?ïüÀ?ð?ïØ€?ì€?©ø?ãaÀ?ð?ð?ð?ð?ð?ïÀ?èÀ?ª¼?Ë5?‘P?n@? ?A?Ì~?Øu?ܳ€?Ö€?Ó߀?å@?ç?¡œ?Þ§€?ål€?î¹@?ïü@?ïsÀ?ï?ð?ð?îó@?âQ€?ÑÔ?Ã?›8?Ä?Ïå?¹F?¦ô?†°?¾n?„?Ùé?ï{?î¢À?ìÇ?ïÄ?ð?ïù?ïâ@?ð?ïòÀ?î‡?ïF€?ð?ð?ð?ð?ð?ï±@?î)€?ì„@?î¿@?ïÿÀ?îó@?ïb€?ï}€?îÉÀ?î¬?î]À?î¹@?îá@?ïù?ð?ð?ð?ð?ð?ð?ð?ïþ?ï1@?ï À?îG?îo?îÉ?ìÖ@?ìž@?ï>?ð?ð?ð?ð?ð?ïþ€?ïí@?ð?ð?êçÀ?íä?ð?ð?ð?ïå?ï1?íÝ?í€?ïÀ?î…À?îQ?îÜ€?èS?ç³?î~À?è½?âÀ?Ú¤€?æÝ@?å?À?î•€?ïÞ?ïÐÀ?ï°?î–À?æl?ð?îb?í¶À?îÎ@?ï¢À?ïéÀ?éí€?íŽÀ?ï‡?ð?ð?ï?À?ð?ð?ð?ï"@?ð?ïö€?ì›@?ïåÀ?êÒÀ?Çe?¦`?Ãl?Ì­?}?Õ~??ïÌ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì@?ð?ð?ð?îþ?îƒ?í{@?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï&À?ï@?ð?ð?ï&?í©À?ï÷?îA?íR?íü@?ï@?ïÑ€?ð?ï,À?ð?ð?ð?íï€?ð?ð?ð?ìËÀ?Ü#?îð€?èIÀ?éô?éÂ?ð?ð?ð?ð?ð?ð?îD@?îßÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î0?Ô€?¬|?¶B?Ñœ€?@?æi?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ð?î?×T?ïãÀ?èï€?¥?R€?ÐX?äÀ?¿Ô?B?µ?îÐ@?ð?ð?ïá€?î~?ïw?îl?îÍ?ï†À?ð?ð?îÿ€?îÏ@?ïm€?ï±À?ð?ïö?àÊ€?Òm?íå€?ð?ð?ð?æåÀ?ä]@?ë€?èÁ€?à`€?>?k?l?y?›X?u ?j@?Šð?Ò÷?Ìã?Û–€?í9À?åÕÀ?î¯?æ1@?Ù×€?à?ÑÕ€?îK€?ð?ð?ð?ïù€?ï‹?îÊ€?ð?ð?ð?ð?ïh?éfÀ?á(@?Òû??w?c?Úk?ÐF€?Ð'€?³Ì?³?d€?g?r`??<?ÒÓ€?âÎ@?ã¼@?ð?ð?ð?ð?ð?ð?ð?ïT€??ïñÀ?ð?ð?ð?ð?ð?ïÞÀ?îIÀ?ìÂ@?ïû?ï©@?ïÌÀ?ïÜ@?ð?ð?ð?ﺀ?îqÀ?î?ï€?ð?ð?ð?ð?ï›?ìD?ëˆ?ê§€?éçÀ?ê‘@?ë1€?è€?ìÀ?ë`À?呂?ð?ð?ïò@?ð?ð?ð?ð?ïò@?îÍ?äø@?íTÀ?ïÿÀ?ð?ïÌ@?ïßÀ?ð?î²@?éÀ?é@?çì€?ç—?êÝ@?ïÂ@?ï÷?î’@?ä@?í1€?íK@?ï-€?ïî?ð?呂?ïô@?ð?ç×€?ð?ð?ï…€?îÕÀ?ïìÀ?ï¾À?êðÀ?ïq?ïÚ€?ð?ð?ïAÀ?ð?ð?ï¢@?ï–À?ð?ïø?ïÕ@?ï ?æ†?á4?ãÌ?ë9€?ï8?êö€?×+?ÉÎ?Â4?°?|`?Ò:€?ìü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì­@?í@?ë@?ëV@?î¥@?ï @?ïlÀ?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÔÀ?ð?ð?îaÀ?íL?î%€?íÛ?í¡@?ïÿ?îÃÀ?ï¹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌÀ?ï…@?ð?ì€?ímÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èÀ?c€?×U€?½*?«|?ì˜À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èm?Ñ©€?áO€?ÄS?¢ ?á&€?íßÀ?ÓY?‰P?Ó?áñ€?㥀?ÚM?ã΀?ïx€?ïñ@?ì>À?é™@?ïø?ð?ìïÀ?íà€?ï—À?ð?ð?ì€?͈?ßT€?ð?ð?ð?ã ?‚€?ÄU?íÙÀ?î?@?ïí€?Õ€?d@?¹Ê?С?¿š?z ?Ðk?êU?뚀?éBÀ?ìX@?ê#@?߀?Ô|€?>?Œ?×·€?êÀ?ïð€?ð?í&@?ì/À?ï·À?è™À?ž ?Æ_?í2?ïÎ?ð?ïå@?î¿À?îpÀ?í}@?ìDÀ?ïÅ?ð?ð?ð?ð?ð?ð?ð?ê©À?Ùw?«Œ?±œ?È6?×—?µJ?ƒÐ?¸L??R?q ?ø?ÖÀ?ä¹À?ð?ð?ð?ï©À?ïhÀ?ïBÀ?ð?ð??î‘?ð?ð?ð?ð?ð?ð?ð?î-À?îU?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?íkÀ?î?ì}€?íª€?ì¸À?ë @?ïç@?îH?ð?ïü?îó@?ï@?ïºÀ?êù€?êjÀ?îi@?ï—?ïù€?ð?ïø?ï±À?ð?ïú€?ì&?í{?í?ã,@?ê`@?êm?ìÒ@?î3@?ï@?æÏÀ?éÎ@?ìZ@?쟀?êØ€?íË@?ð?ð?ïý?æ6?ïøÀ?ð?ð?ïø@?ð?ð?ð?ð?í*@?ïÀ?ð?ð?ïþÀ?ïÌÀ?ïÑ€?í/€?ï @?ïÿÀ?ð?ïã@?ï3€?ð?ð?ïé€?ïû€?ð?ð?ð?ïAÀ?ç-À?í@?ïúÀ?ð?ïöÀ?ð?ð??íï€?戀?ç‡?éó€?î{?í?ßú€?¤Ì?Ð\?ï8€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìýÀ?ð?ð?ì…€?ì_À?íñÀ?íº?ð?îЀ?îi€?îÀ?ìé?íÆ@?îMÀ?îr€?ïÀ?ïî€?ïø?î•À?î?îÇ?ï¨?ð?ð?ð?ð?ð?î=€?î,À?ð?ð?îp@?ð?ð?ð?ð?ð?è­€?ïYÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?êì€?îÆÀ?îH?ð?ð?ï±À?ð?ð?ð?ð?ð?ð?ð?ð?Ù+€?š°?°<?˱?ëÐ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êŸ?²6?±|?²4?e€?Úþ?ã[€?ä@?Ñ¡€?²î?Ô—?åÓÀ?äÔÀ?íT€?ð?ð?ð?êªÀ?Í}?Û’?ìâ?î¨@?ð?ìk€?k€?Þô€?ð?ð?ð?Ú€?Q€?§ ?î]€?ï‘€?îÀ?É‚?ÃH?Ô,?Ü€?âu@?Û|?ç0€?ÝÏ?ìŠÀ?ï«À?Ëý?ÂV?é@?ïõ?êM@?ï¹€?ð?ïþ€?ãOÀ?Ú–?íž?ð?ïñ€?ð?ï€?îÅ@?ï€?ïù€?îú?í^@?íß?ï4À?ïô€?ïêÀ?ð?ð?ð?ð?ð?íë@?ä?À?Û€?Ð?k@?¸?]?¨X?àü@?Å?œ ?œ8?R€?4?˜H?Ü”€?ïk@?ð?ð?ð?ï?ï€?î¹?ð?ð?ï.?î#@?ð?ð?ð?ð?ð?ð?ð?ð?ìe@?ê!?î@?íA€?ìfÀ?ð?ð?ð?ð?ð?ð?íd@?ëäÀ?ë¬À?ë°?ëõ@?î¿@?ïÈ@?ð?ïÿ@?îÑ@?ïÿÀ?ð?ïÿ?èÙ?ì\?îù@?ï€?îÀ?ì¶?íJ?ð?ï®@?îô€?î]?åâÀ?éÀÀ?é€?ìnÀ?ì3À?çm€?èe?ê<À?ìù@?ì@?ï À?ïÀ??ð?ð?ïñ€?çÅ@?ð?ð?ð?ð?ð?ð?ð?î,?ê.?î=@?ð?ð?ð?ð?ð?ìÜ?ð?ïË€?ï¹€?ïg?ïÿ?ð?ð?ð?ð?ð?ð?ï@?ì?퀀?ð?ïû€?ïí€?ð?ð?ï|À?î<À?ïpÀ?ð?ð?ïð€?ï¦?ïþ€?ïñ€?í?Òƒ€?,?Ñ.?îÝÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‹?íÿ?ð?ð?íxÀ?î¶@?ít@?îî€?ë¿?ì4?î|?ð?ð?ð?ð?ïÐÀ?îlÀ?î*@?îº?ïÀ€?ð?ð?î£?ï!€?ð?ð?ð?ð?ð?ímÀ?ð?ð?ï:?î€?ð?ð?ð?ð?Û·?î­?ð?ð?ð?ð?ïØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?çÒÀ?ä'@?ïÿ?é'?ð?ð?ð?ï‚@?ïÀ?ð?ð?ð?ð?ð?ì)À?†?B?ªP?èð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ã3€?­?A?â`?ð?îÍ€?ä€?áì€?Ôf? H?x@?ä1?ð?î5À?Š ?Љ?íî?ð?ïüÀ?Ü-€?ª@?Ðï€?é*?æ€?Ë@?Ðv€?Óñ?¿6?ªÌ?Úß?â!À?e?ç$€?îçÀ?În?äu€?ìÈÀ?ð?ï€?ð?ð?ð?îö?ð?ïßÀ?ð?ð?ð?ð?ïò@?ð?ï€?ïÀÀ?ï?ð?ð?ð?ð?ð?ð?ð?ð?ï€?ãd€?ÃH?¶À?g?Á÷?Ê?S€?B?Ã'?ꪀ?ð?ð?ð?ð?ð?ð?ð?î €?ïüÀ?ð?ïäÀ?î À?ð?ïò@?ð?ð?ð?ð?ð?ïìÀ?ì@?ïû?ð?ð?ï1À?êC?íe@?ïC€?îƒÀ?ð?î@?êû@?ð?ïÒ@?ï@?ïÕ@?ïG?ð?ð?ïÐÀ?ï5?ð?ð?ð?ï©?ìzÀ?èã?ës?ël?í8?éw@?ê€?ïÀ?éÌ@?ë$€?ìžÀ?í®?ìÑÀ?íÃÀ?ì À?ê‚€?î.€?íÕ?ìš?ìµ@?ïG?ð?ð?ð?ð?í4?îÚ?ð?ð?ð?ð?ð?ð?ïZ€?ìý€?ïô@??ð?ð?ð?ð?ïý€?ì.@?ð?ïqÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïí€?ï~À?î™?ïÀ?ð?ð?ð?ð?ïý@?îÇ?ïâÀ?ïöÀ?ð?ð?ïíÀ?ï@?ïß?ïö?ï+À?ïc@?ãt@?´à? ?h?Ý!€?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íî?íˆÀ?ïý@?ï4À?íüÀ?í(?ð?ïµ?íÌ@?ð?ð?í‹À?ëç?î@€?ïÿ@?îr@?íÃÀ?í#?íJÀ?î€?î?îX?ïÒÀ?ð?ð?ð?ð?ð?ð?ð?í¨@?ïúÀ?ð?ð?ð?ð?ð?ð?ð?Ö5?åt€?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ð?ð?ï‹À?í‰À?ð?ð?ð?ð?ïXÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïü?Û €?Ód?îi?ð?ð?ð?ð?ð?ð?ð?ð?äÀ?Û’€?ß®€?´?Æ;?­8?Ôš?í@?éÀ@?È4?éuÀ?ð?ïÏ@?ÝË?Ú €?”?>?•˜?wÀ?‘(?¨D?Ú!?Þ)€?”à?ŒÐ?Ëó?áj@?î¦?ð?ð?ïÅ@?준?ð?ï÷€?ïãÀ?ïò@?ð?ïò@?ð?ð?ð?ð?ï‘€?ïÒ?ï¨À?î¿À?î«?ï—@?ïÊÀ?îõ@?ìëÀ?î¼À?îgÀ?íRÀ?é?Ì1?ž8?“H?0?Ÿ¸?ÝÁ?Þ.?¯d?‰P?´?ë"?ð?ð?ð?ð?ð?ð?ð?ð?îëÀ?ïú?ð?ff?ï…À?ð?ð?ð?ð?ð?ð?ð?ï@?ë¼@?ð?ð?ð?ð?ð?íçÀ?îXÀ?îj@?îU€?ê‚@?íi?ð?ð?ïÒ?ïu€?ïü€?ð?ð?ï?ïÿ€?ð?ð?ð?ð?ð?ïÊ€?ë×À?ål?ê“@?í@?î#@?ë @?ì)?ï×€?ð?ï€?ï^À?î-À?í«À?êFÀ?ëú?îé?ïñ€?î(?ïù€?ð?ð?ð?î0?íZ€?ð?ð?ð?ð?ð?î#À?ía€?êN@?ïð€?ï¹@?ï΀?ð?ð?ð?ð?îa?áï?ï÷@?ïö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¨À?ï¤@??ð?ð?ð?ð?îû@?ïå?ð?ð?ð?ð?ïöÀ?ïØ@?ïä@?ïü@?ïE@?ïÝ?ïŒÀ?é@?§Ä?h€?f€?Ý€?ï¹@?ð?ð?ð?ð?ð?ð?ð?ð?íý?í#?ïßÀ?ð?îPÀ?ð?î€?ð?ð?îü@?îU@?ð?ð?ð?ìªÀ?ì_À?ìÒ?ð?ð?ï‡?ð?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?ïÈ?íÄ€?ïU€?ð?ð?ð?ð?ð?ð?á€?Éõ?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïêÀ?ð?ïé?ð?ïä@?ïR@?ð?ð?ð?ð?ð?ð?ð?ð?í7€?¬Œ?Š€?‹`?”?Ľ?ë‡@?ð?ð?ð?ð?ð?ð?ð?ãÀ?B?Ó1?ð?ëÌ€?K?X?ëPÀ?îí@?æC?âç?Õé? ?}`?ƒÐ?Z?H?P?ƒ?Ô%?㣀?ç§?í¦@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑÀ?ð?ï>?î?í@?퉀?ëWÀ?ì@?îÕÀ?ð?î²€?î ?àW€?³V?ð??Ú!€?êÄ?å*À?Î ?ëØ?€0?@?eÀ?w?ä…À?ð?ï?À?ð?ð?ð?ð?ð?ð?ïËÀ?î ?îÐ@?ïõ?î»@?ð?ð?ð?ð?ï¶€?ï%À?îÓ?ïN@?ìÎ?ït?ð?ð?ð?ð?ð?ð?ð?ï¬@?ì¡?í¡€?ð?ð?ð?ð?ð?ð?ð?ïï?îï€?ð?ïé?ð?ð?ð?ð?ïJ€?î@?ìJ€?î€À?ïÄÀ?ëx€?ìa€?ï{@?ð?ïž?î@?ì­À?ìÇÀ?íX€?íî@?íó@?îœ?ï@?îÍ?ð?ð?ð?í(À?î!€?ð?ð?ð?ð?ï]€?ìõ?î¥À?ð?튀?ð?ð?ð?ð?ð?ð?ð?ì ?Õ,€?ïm€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ð?ð?ð?ð?ð?ïyÀ?ð?ð?ïÛ@?ð?ð?ïöÀ?îl€?ð?ð?ïöÀ?ð?ïû€?ð?é;À?¶à?èK@?ð?ð?ð?ð?ð?ïÿ€??î,@?ï@?ð?ð?ð?îy@?îõ€?ïZÀ?ð?ð?ð?ï¡À?ð?ð?ð?î`À?ð?ïˆ?í3?ð?ð?ð?ð?ð?î0?ïÿ@?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?î@?î÷?ð?ð?ð?ð?ð?Ör€?Éà?ïÿÀ?ð?ïÿ@?ïö€?ï±À?ð?ð?ð?ïöÀ?ð?ð?ï?À?ï¢@?ïð€?ð?ð?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Áþ?`@?A?¸"?R€?œ?ä]À?ïöÀ?ð?ð?ð?ð?ð?äâÀ?‘x?O?à—À?ð?ìS€?ŒP?t€?äž@?âV@?Ño€?áí€?åØ?b€?d@?y`?±"?ׄ?è¡?î?@?ï‚€?ð?ïÙÀ?ïÓ@?ïÞÀ?ï€?ð?ð?ð?ð?ïò€?ð?ð?ïæ€?ð?ð?ïÍ€?ï@?ïb@?ïÀ?ïj?îø@?ð?èâ?Ñ…€?–¨?•à? ü?…0?¼æ?ïçÀ?ê À?¥€?Ù?0?<?]€?ãÄ@?ð?î„À?ïßÀ?ð?ïû€?ð?ð?ïc€?î@?ï»@?îj@?ï8@?îq€?ïh€?ð?ïÆ?î¾?íü@?ï@?î¿€?î?îÔÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î°À?ïÕ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î!€?îP@?ïö?ð?ð?ï¸?ï;?îÀ?înÀ?ïÀ?î?ð?ð?ð?ð?ð?ð?î À?íG@?ð?ð?ð?ð?îPÀ?íå€?ïh?ïüÀ?ïÿÀ?ì¿@?ð?ð?ð?ð?ð?ð?ð?ï4?áíÀ?êc@?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ€?ð?ð?ð?ð?ð?ð?ð?ïî€?ïNÀ?ð?ïí€?ð?ð?ð?ïû€?ð?ð?ïò@?ïö?ï­À?ð?ïä@?ïò@?ì·?ÕÈ?4?Ç?ï5€?ð?ð?ð?ïÔ€?îY?ï·À?ïÀ?ð?ð?ð?ð?î@À?îQÀ?ïü€?ð?ð?ð?ð?ð?ð?ð?î˜?ïi€?ð?í€?ïÄÀ?ð?ð?ð?ð?ï³@?îyÀ?íÞÀ?ð?ð?ð?ð?ð?ð?ð?ð?íÈ@?ð?ð?ð?ð?ð?ÙS€?v`?çÀ?ð?ï¨??ì—À?ð?ð?ð?ð?ð?ð?ïã€?ïó@?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è€?0?× €?Í?î”?ð?ð?ð?ð?ã‡À?kÀ?[€?b€? ?èH@?ð?ä€?…?Ñ<?ß^?ã2?Ù^?€À?s ?$?:?`@?µÔ?ÙP?í€?ìÁ?îª?ïbÀ?îÀ?îB?ïÒÀ?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÁ€?îõ?ð?ð?È?§X?w ?T?B?4?ÁI?áJ@?íÁ?é¹À?·À?R?ÌÝ?Ñ9?ð?ð?ð?ð?ð?ð?ïòÀ?î¦@?ð?ð?ð?ð?ð?îÂ@?ï@?íÉÀ?ïä@?ïÿÀ?ïìÀ?îI@?îŒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?îH@?îâ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îg@?ï@?îþ@?ð?ïŽ@?îÀ?îÕ@?íD@?îH?îº@?í5À?ð?ð?ð?ð?ð?ð?ïŸÀ?íu?î6@?ïü€?ð?ð?ð?î-@?ð?ð?ð?ï€?í€?ð?ð?ð?ð?ð?ð?ð?ð?íË?éò@?﯀?îÎÀ?ï,À?ïÅÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ€?ïþ€?ïû€?ïû€?ïû€?ð?ïÛ@?ïò@?ð?ïé€?ïÍ?ïi€?ïó@?ïÛÀ?ï½€?ð?ïi@?ê†?á €?à?â€?Ñ €??è??ð?ð?ð?ë@?ï€?ð?ð?ð?ð?ð?ð?îZ@?íÚ?ïàÀ?ð?ð?ð?ð?ð?ð?ð?í¬?ïž@?ï×@?î@?î*?íð@?îé€?ð?ð?ð?ð?î€?ð?ð?ð?ð?ð?ð?ð?ð?î €?ð?ð?ð?ð?ð?éo€?Œ?åô?ð?ð?ïè@?î"?ð?ð?ð?ð?ð?ð?ð?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ü”?Æ›?B?‹`?Ìõ?Õê?튀?ëæ€?í`?íkÀ?ßË€?°?€?e€?H?x?ë€@?ír?èh€?¡Ì?s€?и?ɾ?èø@?Öp€?¥?·?[€?•¨?–Ð?…Ð?±Ò?ÅM?­`?Ò€?ÆO?èk€?ï ?î0?î?î€?ïû@?ï6@?ïÈÀ?ïÞÀ?ð?ð?ð?ïò@?ð?ð?ð?ð?ð?ð?ïÔÀ?ï»?ïÝ@?Ú®€?ÂO?s ?¶ž?¨ ?½H?Ƙ?Î+?ÔŽ?Ôd?ÊW?Õ ?Ý·€?Ù‰?Ùš?ïcÀ?é™À?ç6?²œ?Ñ÷€?Àa?>?~?¢œ?çª?ð?ð?ð?ð?ð?ïf?ï'€?ð?ð?ð?ð?ð?ð?ïL€?ïî?ïí€?ïè?ïÕ€?ìõ€?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?îkÀ?ïÀ?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ïz€?ð?ïö@?ífÀ?ð?ð?ð?ïý€??ìê€?팀?ï©?î5?ï–€?ð?ð?ð?ð?ð?ð?ì€?ï¦?ïÉÀ?îB@?ïî€?ð?ð?îA?ï@?ð?ð?ïð€?슀?ð?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ì·?ìé?íZ@?î«€?ï0À?ït€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ïù@?ïù?ïò@?ð?ïé?ïy@?ïóÀ?ïË€?ïý€?ð?ð?﯀?ïò@?ð?ð?ï@?Àî?å€?îþ?êø?íkÀ?îô€?ð?ð?ð?ð?ð?ð?ð?îi?ïî@?îp@?ð?ð?ð?ð?ð?ð?ïü?íOÀ?ïÁ@?í™?ïù€?ð?ð?î!À?ïˆ@?ð?ð?ï¨?îX?ð?ð?ð?ð?ð?ð?ð?ïù€?í@?ïD?íÛ@?î"À?ï€?ð?ì+€?ž@?Ô”?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïíÀ?ð?ð?ïí€?ð?ð?ð?ð?ð?ð?îÂÀ?°¨?ÇR?B?R€?Ö}?Ðh€?Òé€?É?Ò—?³Ò?ˆÀ?È??ˆ?µî?¢ ?ª<?´:?P€?¹4?”?¹d?$?‹°?¯Œ?$?‚p?½f?Ðu€?]€?Üh€?å¶?Ù‡?ì«@?îã€?ï ??ð?ï€?ïÀ?ï?ïç?ïë@?ð?ð?ð?ð?ïð@?ïô@?ð?ð?ð?ð?ð?ð?ïéÀ?æT?É´?® ?”À?Ñÿ€?Ñ*€?çw?ïý?ïþ€?ïþ€?ð?ïé?ð?ëÀ?¿ö?Ù8?êøÀ?®`??p ?¿4?åÇÀ?ïþ@?ð?ð?ð?ð?ïÅÀ?ð?ð?ð?ð?ð?ð??îÀ?ð?ïöÀ?ïi@?íb€?î·?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÌÀ?ïì@?ð?ð?ð?ð?ð?ð?ð?ï@?í8?î{@?î?îôÀ?ï©€?ð?ð?ïá?íš?îGÀ?ïx?ïÆ@?îvÀ?ï˜À?ïz?ïË?ð?ð?ð?ï˜@?ìG?ï‡@?ð?ð?ï„À?ïe?ð?ð?îâ€?î’À?ð?ð?ð?î1@?îê@?ð?ð?ð?ð?ð?ð?ïü?ïø€?ïõ?ð?ïýÀ?îfÀ?ð?î³@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ïò@?ð?ð?ð?ð?ïû€?ïÍ?ïÍ€?ïû€?ïöÀ?ïß@?ïøÀ?ïí€?ïöÀ?ïÂÀ?ïÚ€?ï¢?ð?ð?ïöÀ?ïÿ€?Ú €?Ϻ?ê«@?îø€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã€?í À?îçÀ?ð?îV?ð?ð?ð?ð?íß@?ð?ð?îL?í À?ð?ð?ð?ð?ð?ð?ð?ð?íSÀ?îý@?ð?ð?ïì€?ð?é6@?… ?é—?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?íi@?H?ä“@?U?˜?ÖÊ€?íÓ@?êu?å®@?î„€?Ø?È~?´V?} ?Ï‚?r`?ŽÐ?n?p ?:?‘8?çb€?æÿ?‡p?†ð?ía@?ïÉ€?ï×?ïÀ?ï‘€?ïOÀ?ïâ?ïÀ?ï#€?ð?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ï¸À?Ú,€??}€?Ò1?ÚÆ?ëë€?ê§À?æ&€?Íþ?˜°?¢P?åÄ€?ç$@?¹ð?R€?¶’?ç€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îøÀ?ïÕ?îµ?îM??ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÔ@?î²À?ð?ð?ð?ð?ð?ð?ð?ï€?ïdÀ?î€?ð?ð?ð?ð?ïöÀ?îX€?ì @?ï€?ð?ð?ïïÀ?î¸@?ð?ð?ïïÀ?ð?ð?ïÿÀ?ìïÀ?ïy€?ð?ð?ð?ï>@?ïÝ?ð?ïïÀ?î‹@?îÔ?ð?ð?ð?ï¸À?íA@?ð?ð?ð?ð?ð?ð?ïö@?ð?ð?ð?îã?ïU€?ð?îã@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï×À?ð?ð?ð?ïû€?ð?ð?ð?ð?ïöÀ?ïöÀ?ïËÀ?ïý?ïå€?ëä€?ïþ€?ïºÀ?ïÊ@?ïÞ@?ïú?ïû€?ð?ïü€?ïÊ?ð?åœ@?¦<?ìä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïž?ï€?ð?ð?îðÀ?î@?ð?ð?ð?î)À?ð?ð?íÝ@?î2€?ï`€?ð?ð?ð?ð?ð?ð?ð?íz?ð?ð?ð?ð?ð?ïüÀ?Ñ€?Í]?ãÿ€?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÂ?à?Àí?•¨?°¶?®ø?ç‘À?ð?ïøÀ?ïÝÀ?í÷@?ïð@?ïÝ?í×@?¾æ?àYÀ?Óu?¤|?$?¥t?V€?m@?¯?ëÍ€?Öä€?Ÿp?ÙM?ïÀ?ïš@?ïZ?ïÓ€?ïŒ?ïÀ?î3?ïë@?ð?îˆÀ?ð?ð?ïÚ€?îÙÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ïø@?ð?ï$À?ŠÀ?4?œ€?î×?ëÀ?p`?µ&?O?ŽÀ?Òþ€?ê-€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ïÊ€?ïÏÀ?îÖ€?ï½€?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïËÀ?ïí?ïì€?î:@?î€?î±?ð?ð?ð?ð?ð?ð?ï‰?ï$@?ï=€?ïÝ€?íÕ@?ð?ð?ð?ð?ï@?í¶€?î’€?ïx€?ï¿À?ð?ï[€?ïû€?ð?ð?ð?ð?îí€?î?ïp@?ð?ð?ð?ð?ïf?ïUÀ?ð?ïÀ?ïò?îê€?︀?ð?ð?ð?í@?î"€?ð?ð?ð?ð?ð?ð?ð?ð?ïЀ?í?ïü?ð?ï(?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÝ?ïç€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÒÀ?ï¥À?ïýÀ?ïöÀ?ð?ïí€?ï¿À?ï“€?ïÂ?ïÿÀ?ïâ?ð?î¹€?¢l?ÑÔ?ïÂÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í½?î ?ïý?ð?íæ€?ð?ð?ð?ð?ï΀?ð?ð?ð?ð?ð?ð?ð?í @?î?ï“@?ð?ð?ð?ð?èË?ž ?…À?èµ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í›?ð?ð?ð?ð?ð?ð?ð?ð?ð?àx€?`@?¥?Ô¦€?Ü›?å}@?íIÀ?ð?ïô@?ð?ð?ð?èBÀ?â]€?ßh€?Ý;€?ÖØ€?Ñ‹€?îš@?ï/?îÔ@?ç@À?Û¡€?Ò8€?Ð3€?Øæ€?Ù9€?Øb?‹?Í©?¬¨?[€?B?R€?xÀ?x`?{ ?…à?§Ì?}À?³>?Ù»?¯`?Ȉ?ë+À?î{€?ïœ@?ïëÀ?ïƒ?ï•À?ìøÀ?æé€?ë€?ï1À?ð?ð?ð?ïöÀ?ïšÀ?ð?ð?ï˜À?ïÞ?ð?ð?ð?ð?áÛ?Äd?¹â??Îô?ÛI€?°4?ÐL€?âd?»®?œÈ?é}@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï;@?ð?ð?îÁ?ï]?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ïû€?ïÔ€?ïô@?ð?ï÷€?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ï€?ð?ð?ð?ïÁ@?í€?ïT€?î @?ïÍÀ?ï¬?ïäÀ?ïÇ@?ïÐ?ð?ð?ð?ð?íÁ€?ïêÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¢@?ïL@?ð?ð?ð?î€?íƒ@?ð?ð?ð?ð?ð?ð?ð?îl@?î?ï’À?ïù@?ð?ï$À?ð?ð?ð?ð?ð?ð?ð?ð?î×@?ìØ?î@?ð?ð?ïìÀ?ð?ð?ð?ð?ïû€?ïÞ@?ïþÀ?ïü€?ïÿ?ð?ïì@?ï¼?ïÂÀ?ïßÀ?ï߀?ïû€?ïû€?ïû€?ð?ð?ïù@?ͬ?ëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ïÚ?î!?ð?îÁ@?îâÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îM@?ð?î@?ï}@?ð?ð?ð?ð?êœÀ?Àˆ?ßÓ?ð?ð?ïÿ€?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë·À?ð?ð?ð?ð?ð?ð?ð?ð?îöÀ?çƒ?{à?B?ˆ@?W?ç-@?ð?ð?ïß?ï÷À?ð?ð?ð?ð?ð?ð?ïŒÀ?ð?ð?ð?ïé?ïßÀ?ìÜ@?âP@?àgÀ?ÛÖ€?Å ?³Â?¡„??J?›p?†P?µ?´ð?‡°?•¸?v ?½ª? ?Ö1?Ç<?V?w ?“€?åì€?ìN?ìx€?î¢À?íA€?ëÀ?îEÀ?êh@?êP@?ïYÀ?ð?ð?ð?ïLÀ?ï…À?ïR€?ï‡À?婢?ïzÀ?ïÿ€?ð?ð?ð?ì?y ?‘X?½J?Íø?á·€?Àð? ?T?»,??ð?ð?ïû€?ð?ð?ð?ð?îÀ?ïõ€?ð?ð?íÐ@?ﺀ?ð?ð?ð?ð?ð?ð?ð?ïê€?ïè@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí€?î+À?íÿ?ïf€?ð?ð?ð?í…@?ïé@?ï0?îº?ð?ð?ïZÀ?ïÌ?ð?ð?ð?ð?ð?ïá@?í=€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï9@?ð?ð?îj?ï€?ð?ð?ð?ð?ð?ð?ð?ð?îSÀ?ð?ð?ð?ï@À?îÐÀ?ð?ð?ð?ð?ð?ð?ð?ï½?ï'@?ïí€?ð?ïò?ð?ïü@?ïöÀ?ð?ð?ð?ð?ïþ?ïä@?ð?ð?ð?ïæÀ?ïÖ€?í³À?ïÿ€?ïí€?ïí€?ïû€?ïí€?ð?ïû€?ð?Þ%€?ß²?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îO@?ð?ï&€?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îï?îþ€?ð?ð?íÐ?ð?ð?ð?ð?ð?Ý«€?Ñà?ïë€?ð?àý@?ß›€?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ò¼€?‚?p@?k€?±†?ƪ?Ó?âpÀ?î»@?ð?ìTÀ?ìÉÀ?îL€?ð?ð?ð?ïßÀ?ð?ð?ð?ð?ð?ÞF?›p?£<?Á¶?¢?B?g?p?R?›8?h?¨ ?¶b?ÖP?¥X?´°?– ?€ ?`À?£p?ׂ?ë™@?ƒà?`@?àY?í¶À?ëi€?ìý?ïj?ïì?î\@?ïÌ@?ð?ì?ïxÀ?ð?ð?ð?ð?ï£?ëC@?éh@?ߨ€?è-@?ï @?ð?ð?ð?ð?ï×@?ãtÀ?ž`?ˆ°?u@?À‚?®P?\€?±ì?¥ˆ?±?Ô€?²®?g?ä¢?ð?ð?ð?ð?ð?ð?ïú€?ï?ð?ð?ð?ï“@?íÿ€?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ï‰@?î+À?í®À?î`?îW@?í_€?îpÀ?ð?ïÛ€?ð?ð?ð?íù?ð?ïà?ï÷?ð?ð?îÇÀ?ï…@?ð?ð?ð?ð?ð?ïéÀ?í@?ïî@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÓÀ?ïZ@?ð?í&€?ð?ð?ð?ð?ð?ð?ð?ð?ïà@?îÀ?ð?ð?ð?ïŽÀ?ïqÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ïû€?ð?ïÏ@?ïù€?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ïöÀ?ïßÀ?ïû€?ï?ð?ð?ð?Û–?¸.?î¶À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¹@?ð?ï€?ïS@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï…@?è–?ð?ð?ï`?íÝÀ?î‚@?ð?ð?ð?ê,À?² ?ç¿À?ð?ïw?Í?ض€?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÑÀ?íÀ?î À?îP€?Üð€?Ì¿?q?¨Ð?Ê?“à?¥°?¢è?É?ß÷?íÀ?ð?ð?ïó€?ïú?ð?ð?ïó@?íl?ïJ@?ïË?í‘À?“h?V€?@?M??<?T€?ÔR€?Þ!?Ô2€?“ ?›p?P?Ù@€?€€?Ùž€?È)?Òÿ?ïÑ?ïöÀ?ìñ@?îg€?îå?îT@?ïkÀ?ïk@?ð?ï©?î{€?ïÀ?îöÀ?í@?î‹À?ëÌÀ?äL@?¶v?š?²6?ÒØ€?ã+?ë €?ïí€?ð?ð?ð?å]À?ÁŽ?»|?Ì?Ö/€?ÅÛ?²„?ã€?Ô¬??w? X?Ä?íH?ð?ð?ïöÀ?ïù?ïýÀ?ð?ï#@?ð?ð?ð?ïû€?íý@?îËÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í|À?ïê?ð?ïû?ïÁ@?ïWÀ?îãÀ?ð?ð?ð?ð?ð?í^?ð?ð?ð?ð?ïÜ€?ïM@?ï½À?ð?ð?ð?ð?ð?î×À?ﺀ?î]?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îä@?ïé?í½€?ð?ð?ð?ð?ð?ð?ð?ð?ð?î1€?ð?ð?ïàÀ?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ïù€?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ïí€?ïüÀ?ïß?ïã@?ð?ïä@?ð?ð?ð?ð?ïû€?ð?ð?ð?ïà€?Ø(?°D?áÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìhÀ?ì4?îÓ@?ð?ð?ð?ð?íyÀ?ð?ð?ïì?ïò@?Ú£€?͆?ï0À?ð?éýÀ?à+À?×7€?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï€?Ù??§°?Ô"€?ßo€?ã‰?ä‡@?æ?ì¼À?ë~€?ä?îu?ð?ê)?ãŽÀ?èÀ?ëã?ÐÁ€?°?àrÀ?ÈÏ?­?Çf?ßl€?ä_À?ב€?ÒÊ?·–?L? ?Òá€?ؽ€?Âf?_?”¸?6?x@?Òj€?ÚF€?Òx?Ѿ?Ó€?á–€?ä7?Ê?¶š?f@?‹P?ı?» ?±<?Ïó?£,?†ð?­°?–?a€?·?¾\?а?æø€?î@?éŒÀ?ä€?¼¨?´n?Í+?ëÐ@?ïû€?ð?ð?ïêÀ?î À?ëR€?êÀ€?æµ@?ã@?»ø?w ?å7?ð?ð?ð?ïöÀ?팀?œ8?‚@? ”?ƒp?Ñô?â¼À?Ëü?ƒ€?×,?ãÿ?žÀ?Â>?$?ÊÂ?ïµ@?ð?ð?ïÖ€?ð?ð?ï’?ï§@?ð?ð?ï—?ï @?ìÒ@?ïÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï½?ï`?ïpÀ?ð?ð?ð?îÝ?ï!?ð?ð?ð?ð?ï¿@?í­?ííÀ?ïX@?ð?ð?ð?ð?ï À?ð?ð?ð?ð?ð?ð?ïÀ?ð?î®@?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?îö@?ð?í¤€?ð?ð?ð?ð?ð?ð?ð?ð?ïö€?î0@?ð?ð?ï<@?ïü@?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ïý€?ð?ð?ð?ð?ð?ð?ïø?ïþÀ?ð??ð?ð?ð?ïä?ïû@?ïü€?ð?ð?ð?ï€?ð?ð?ïí€?ïû€?ð?ð?ï|?Â…?Õÿ€?ï&À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï³@?áƒ@?ïD€?ð?ð?ð?ð?ïýÀ?Þª?æãÀ?ëR@?ßp€?íïÀ?æúÀ?Î?è4?ð?ð?ð?ì1?î`À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûu€?‚?y ?¢h?²¶?Ø‚€?àá@?Â1?Ц?ãNÀ?È?Ùƒ€?ïÚ?ÛÉ?í€?î/@?Ùå€?àÈÀ?ì–@?êŽ@?Ç?Ϫ?ä—@?ï£À?ð?ï²€?縀?æ€?æ€@?Ùâ€?Þµ?À?ÓG?„P?ÀW?¡Ì?ÑÑ€?ã’€?éÀ?êbÀ?íeÀ?éh@?Á­?H?L?€@?~@?¶@?ëG€?ïä@?ð?ð?ð?ð?ïý@?ëã?×΀?² ?Àì?ì£@?ð?ð?ð?ïìÀ?×ó€?—X?ÃO?bÀ? ?Ã6?È;?Ú]€?¾Ü?À(?°(?Þ"€?ÐA€?Y?ä€?ð?ð?ð?ð?ð?ð?ï;À?ð??ï;?ïô?í@?î @?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï}?ïü€?ð?ïï€?î7?ð?ð?ð?ïå€?î¾?ï€?ð?ð?ð?ï*À?ëì@?ïS@?ð?ïO?ï·À?ð?ð?ð?ï/À?ïûÀ?ð?ð?ð?ð?ð?î»À?ð?íä€?ð?ð?ïü€?ïÕ€?ð?ð?ð?ð?ïÌÀ?ð?ð?ïYÀ?ð?î3€?î2À?ð?ð?ð?ð?ð?ð?ð?î@?ï©€?ð?ð?ïq?ð?ð?ð?ð?ð?ð?ð?ð?ïùÀ?ïò?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ïßÀ?îÎ@?î¯?îõ@?ïâÀ?ð?ð?îø€?ð?ð?ð?ð?ïí€?ð?és?o?ÅÔ?í¥À?íÃÀ?î@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íZÀ?ï“?ð?ð?ð?ð?ð?ãG?§¬?ë?è?îØ@?ð?ð?ïK?ïá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê×@?—0?Q€?|€?? ð?“Ð?Î-?Ô»?Ò™€?êx?æ@?Ùî€?ÆØ?Ä?µ¢?H?ˆ?²š?·?Àä?×'?ÑÍ?É$?µ?Y?Ô€?ík€?ïøÀ?ïE€?ã €?Êé?d@?ü?ëõ?ïÌÀ?ïó€?ïJ?ï?ïõÀ?ëªÀ?Ò»€?Ú?íå?ð?ð?ð?íUÀ?¼l?С?«€?ˆ`?‚p?s ?È<?¼€?ð?hÀ?–?D?•Ð?¶\?R?ª ?Á¤?Ë\?æw? ?B?ÁN?¯”?©X?Ïþ?ïêÀ?ð?ð?ð?ð?ð?ïÄ@?ï·€?îª?ð?ï<À?íÌÀ?î›À?ïÖ€?ïˆ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ïöÀ?ïÐ?îuÀ?ï7À?ï €?îÆÀ?ïÍ€?ð?ﮀ??îû€?ïý?ð?ï÷€?ï@?î˜À?ïìÀ?ï1À?ð?ð?ïŒ?ïù€?ð?ð?ï@?ï¼€?ð?ð?ð?ð?ï?ï™@?ð?ï¢À?î1À?ï}@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îø€?î‚À?ð?ð?ð?ð?ð?îƒÀ?íõÀ?ð?ð?ð?îä€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ïú?ð?ð?ð?ïþ€?ð?ð?ð?ð?혀?ïb€?ﺀ?î“?ï%À?ð?ïÒÀ?î?ï?ð?ð?ð?ð?ïû€?ïò@?ð?ð?Ú8?Ãî?ï ?íä€?î'À?ïÿ@?ð?ð?ð?ð?ï£À?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î-?ð?ð?ð?ð?ð?ð?ÑŽ?ãNÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï@?ÎF?`?”¨?v€?ÎÃ?Ôe€?Ôµ€?’À?œØ?Þ€?ë À?ð?ê?Ñã?¬Ì?°?¿”?È ?Âo?ÑB?Û¿?‘ ?F?ÚE€?ïhÀ?ïæ?ð?ð?ð?íBÀ?ø?Ôð?ÒS?µp?R€?«<?Ç!?o?Ô€?Ï?ÊN?T?Ùú€?˰?“°?¬?B?‚Ð?ç0?ð?ð?ð?ð?ïó@?ð?ïìÀ?ð?ð?îÛ@?îŒÀ?îï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ﻀ?ïLÀ?ð?ð?ïH€?ð?ð?ïÙ€?ð?ð?ð?ïþÀ?í¬@?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?ïY€?ð?ð?ð?ð?îÞ@?îÿ?ð?ð?ð?îx@?ï#@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îT€?ð?ð?ð?ïÒ?ï¼À?ìæÀ?ð?ð?ð?豈?ï±@?ð?ð?ð?ð?ð?ð?ð?ïý@?ð?ð?ïóÀ?ïû€?ð?ð?ïø@?ð?ïú@?ïø@?ï×À?áåÀ?ë@€??ïü€?ïò@?ð?ð?ð?ï€?ïÌ@?ð?ð?ð?ð?ð?ïý@?çÀ?–˜?S?ê˜@?ð?ì³@?î@?îxÀ?ï™À?ï–?îå€?íæ?ïä@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ïí€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ïú€?ð?ð?éy?ì=?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑÀ?ÖK€?íº@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?à?À? ?m€?[€?¬P?æ@?Ꙁ?ïýÀ?çr?ÊR?äÃÀ?ð?ð?èä?—À?p ?\??b€?j@?ÏÉ?ï@?ð?ð?ð?ïÒ?èj@?à€?³‚?Ër?Ý?„Ð?[€?Ñ8?í¬€?îÅ?ÞÇ€?O?ÔV?B?¡L?G?µÆ?¿Ð?Ô&?ïø?ð?ð?ïò@?ïú@?ïßÀ?ð?ð?ð?ï @?ð?í-À?ïÈÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïnÀ?ïî@?ð?ð?ïu@?ð?ð?ïðÀ?ïIÀ?îÎ@?îIÀ?îÒÀ?ïÃ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïk€?ð?ð?ð?ð?ð?îaÀ?ïö@?ð?ð?ïþ?ïP@?î­??ïà?ð?ð?ð?ð?ð?ð?ð?îã?î¦@?ï}@?ð?ð?ð?ïû€?î À?ï´€?ð?ð?ð?ïZ@?ïø?ð?ð?ð?ð?ð?ð?ð?ïþ?ð?ð?ð?ð?ð?ð?ð?ï¨@?áj?Ú?ݳ?è4À?ïÝ€?ïï€?ð?ð?ð?ð?ð?ð?ï<€?ï6€?ïi€?ð?ïò@?ð?ç©€?²?ÛI?ð?ð?ð?ð?ïÿÀ?ïÜ?ð?ïäÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÎÀ?ï?ð?ð?ìá€?îÝ?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ð?ð?ð?ð?ïð?Ëw?ÖH€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?èÎ@?¶ú?q€?Ø?ï“@?ì?­,?©P?éÐÀ??ç_?°À?¯”?©t?nÀ?U?B?ÚÀ?é,€?ìÀ?îî@?ïð€?ð?è6À?Ìv?u@?Ä!?Õ‹?¦è?Ê[?>?‡0?U€?k@?0?b€?­4?†0?›Ð?í´?ð?ïÛ@?ð?ð?ð?ð?ð?ð?ïÍ€?ð?î?ï#?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îð@?ð?ð?ïCÀ?ð?ð?ïØ?ïÇ€?ð?ïð€?ïv@?ïþ?ð?îûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îä?ïÜÀ?ð?ð?ð?ð?ð?ð?îZ€?ïÁ@?ð?ð?ð?ð?ð?ï?ïF?ð?ð?ð?ð?ð?ð?í\?îË€?ð?ð?ð?ïX€?ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë€?ð?ð?ð?ð?íÛ?ä=À?Ý&€?îÀ?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï\€?îÅÀ?ïû€?ì_€?»–?•Ð?ì$€?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?ð?ð?ð?ð?ïò@?ïÛÀ?ð?î?ï@?ð?ð?ð?ð?ð?ð?ð?ïñ@??ð?ð?ð?ð?ð?ìhÀ?ÓÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ@?ìÒ@?Ó€?¢ô?¡(?Ãã?õ?€p?¾œ?6?Î?ݘ€?µè?m€?¨ ?–H?²(?È@?Ø3?â€?í߀?ã€?¬´?g?B?×/€?Ý€?¼P?|@?:?ŒP?\?¤ø?ݨ?ð?ð?ïû€?ï¶À?ð?ïø?ð?ð?ð?ð?íì?ï›À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÐ@?î@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?í©À?ð?ð?ð?ð?ð?ð?ïÀ?ïO?ïÖÀ?ð?ð?ð?ð?ð?îLÀ?ð?ð?ð?ð?ð?ð?ï%?ï€?ïÀ?ð?ð?ð?ïr?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïZÀ?ïüÀ?ð?ð?ïöÀ?íƒÀ?àÖ@?ê´€?íû@?ïò@?ð?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ïM€?ìµ?É>?Õ‡?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìÓ@?ï×À?ð?ð?ïI@?ïü€?ïÿ€?ð?ïÄ?îÀ?ð?ïå?ïa?ð?ð?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ð?î@?Êú?ë¶@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï³À?íL€?é«@?€p?j?fÀ?³?±?¯?ÜC€?Êš?·Ì?и?š?ƒ0?Ó€?Ò_?º¶? ?P?µÆ?¬d?Ž€?Ýa?æø?¬h?œ0?п€?(? ?Z€?›Ø?ê‹@?ð?ïò@?ï³À?ïæ€?ïã@?ð?ð?ïù?ð?ïù@?í†À??ïŸ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?îÅ€?íÉ€?îÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îä@?ïÏ@?î«€?ï×€?ð?ð?ð?ð?ï @?ð?ð?ð?ð?ð?ð?ïôÀ?î€?ð?ð?ð?ð?ïý€?ïà€?í£?ïò@?ï €?ïó€?ð?ð?ï?@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å€@?è €?éùÀ?ð?ð?ð?ð?ð?ïùÀ?ï7@?ïÿ?ð?ð?ð?ð?ð?ïŒ?æu?¶à?¯Ä?ïå€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í@?ð?ïøÀ?ïþ?ïû€?ð?ð?í™?Ôq?ï @?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íT€?q@?êi€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî€?î"?íX@?íòÀ?ï÷@?ç‡?—à?”ˆ?¤|?—?@?©8?¾.?ÅH?{ ?¥`?Ñ?íü?Þö€?R€?€ ?—ø?•Ø?`?:?j€??b€?:?Ø7€?ð?ð?ð?î3À?îl€?ð?ð?ïmÀ?ï@?îà@?îN@?ð?îžÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ïü€?î¯À?íŽ?ívÀ??î{?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í´?ð?ïÿ@?ï?€?ð?ð?ð?ð?ï@?îÛ?ïÕ€?ð?ð?ð?ð?ïZ€?ï§@?ð?ð?ð?ð?ïýÀ?ï×€?îH?ïßÀ?ïé?ð?ð?ð?îø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö?ïô?ïüÀ?í]À?Ü·?ïŽ?î€?ð?ð?ð?ð?ð?ïЀ?ð?ð?ïÈÀ?ð?ð?ð?ð?êû€?¬0?Æ~?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êO€?äE@?ð?ï À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ït?°Ô?É?ï À?ð?î€?ï<?ð?ï€?ïþÀ?ïó?íŽ?í@?íÁ?ïä@?ð?ð?ð?ßê€?Ë?@?T?ºä?æ@?ã€?é@?Ùª?Ãõ?áCÀ?Ý)?Úê€?ˆà?‡0?0?°š?¡D?Ó*?ð?èI?B?З€?ÊB?¹ ?´š?c€?Á(?™?t€?”0?g@?»à?çn€?ð?ï÷€?ï³?ð?ð?ð?ïÿ@?ð?ï@?ïxÀ?ð?îÝÀ?ð?ð?ð?ð?ð?ð?ï0À?ïÈ?ð?ï¶@?ð?ð?ð?ð?ïÅ?ï?î¬@?î‚@?îoÀ?ïsÀ?ð?î˜@?ïè€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îë?î¾À?ð?ð?ï?ð?ð?ð?ð?î¹?ïüÀ?ð?ð?ð?ð?ïÀ?ïØ€?ïú?ð?ð?ð?ð?ïÈÀ?î<?ïÒ€?ïù?ï߀?ð?ïöÀ?îé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú?ïþÀ?íÎ?îíÀ?ð?ïüÀ?ïþÀ?ð?ð?ð?ð?ï߀?ïê€?ð?ð?ð?ïé?ïÝ€?ï«À?Ì*?Ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€?ìò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íOÀ?µà?¨0?ï@?ð?ð?îZ@?î€?î`@?î@?îBÀ?ïé€?îd?ïö€?ð?ð?ð?ð?ã ?Öe€?µâ?Ìk?ᨀ?æ#?ä€?¤Œ?s@?ÓC€?ïá@?äÓÀ?Ùn?Íe?aÀ?x ?©l?±†?¨|?d€?ã6€?ð?ëU@?§Ô?³†?œ˜?¾š?à?@?¸ô?6?´¸?ïµ?ð?ïó@?ïí€?ïò@?ïò@?ïü@?ð?ï^@?ï¹?ð?îÀ?ï?ï À?ð?ï{?ïÀ?ð?ð?ï+À?ïÀ?ð?ð?ð?ð?ð?îÊ€?ïû?ð?í‹?ð?ð?ð?ïê€?íw?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÔ?ïÒ€?ð?ð?ï³?ð?ð?ð?ïnÀ?ïÓ€?ð?ð?ð?ð?ïá?ï @?ð?ïø@?ð?ð?ð?ð?ïÍ?íö?ïú€?ï²@?îçÀ?ð?ð?ï?@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?î¬?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô€?ç=À?B?Þ2€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÜX€?2?Ý?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?î¶@?í±@?ïÿ€?ð?ð?ð?ð?æ6@?J??žˆ?,?¢?²â??Ð'?và?V?Ò€?²0?µ ?Åe?á@?ïÃ?ð?ð?ïÚÀ?æZÀ?çS€?ÓM?Ø÷€?à€? ?äÕ@?ÄH?É.?ë>À?ð?ð?âÀ@?kÀ?,?0?ç€?ð?ïü@?ï¦@?ïò?ïñ@?ïP@?ï&?îz€?ï€?ð?ïÝÀ?ïÌ@?ïw?ð?ð?ïÚÀ?ï;À?ïî€?ð?ïÓ€?ð?ð?ð?ïâ?îÜ?ï΀?ð?ð?î½À?ð?ð?ð?ï‚À?î0À?îÀ?ïÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ïˆ?ð?ð?ð?ð?ð?ï9@?îç@?ïò@?ïþ@?ð?ð?ð?ï@?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?îž@?ïü?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ïËÀ?ÏY?b€?È"?î€@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æi?ä¯@?ð?ð?ð?ð?ð?ïÛ€?ïb?îÆ€?ïòÀ?ð?ð?ð?ð?ð?ð?ç°@?q ?®?¢ð?‚?ŸØ?A?ÔÆ?îØÀ?Ø?«,?Þ‰€?îD@?ï À?ïÀ?ï±€?íî@?ïé?ð?ð?ð?ð?ð?ïyÀ?ïÌ?ïäÀ?å5?ìâÀ?㌀?[€?Ùõ?îÊ€?ð?ð?즀?¼Î?E?™Ø?–P?ì@?ð?ïóÀ?ï¯?ð?ïÛ?ïr€?ï¼€?ïÀ?ð?ð?ð?ð?ð?ð?ïì?îq@?î¯@?ïZÀ?ïU€?ï¦À??îy€?î}?ïü@?ð?ð?ð?îÜ€?ð?ð?ï¼?ï@À?í‰@?ð?íz?î÷À?î¿?ïÍÀ?ïø€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?íæ?ð?ð?ð?ð?ð?ï'?îú€?ïÝÀ?ð?ð?ïé?ïû@?ð?î³?ïþ?ïû€?ð?ð?ð?ð?ð?ð?ïÿ€?ïü@?ïõ€?ð?ð?î¯?ð?ïöÀ?ð?ð?ïú€?ïü@?ð?ð?ïÁÀ?ïÀ?ï…€?ï!@?ïeÀ?ð?á¸@??Úô?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï„À?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?î»?´V?Ýê?ð?ð?ð?ð?ïë€?í±€?ïµÀ?ð?ð?ð?ð?ð?ð?ð?ð?é,?‹Ð?Ã;?¯0?Ò¼€?ð?ëÊ€?ÁZ?¯?æ{?î/À?îÜ€?ð?ð?ð?ïîÀ?ð?ð?ð?ð?ð?ð?ïðÀ?ð?ð?ð?ë‘@?±N?ÕÝ?퇀?ð?ð?ð?Ü’€?Õ;?ð?ð?ï’@?ïü?ð?ð?ð?ï¼@?ïy€?ð?ð?ð?ð?ð?ï_@?ï¬À?ïM€?îÍ?î‘À?îP€?ïI@?ð?ð?ð?ð?ð?ïR@?ï‘@?ð?ð?ä§@?ïí€?ì€?ïo@?îËÀ?ïA?ïúÀ?ï=€?îã€?ð?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ€?ïöÀ?ð?ð?ð?ïú€?ï0?î‘À?ïÔ?ð?ð?ïû€?ð?ð?ï€?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ïé?ïîÀ?ð?ð?î2?ð?ð?ð?ð?ð?ïÉ€?ïÖ@?ï@?ï¥À?ïû€?ð?î«@?ÚÒ?æÀ?›È?ö?ì{À?ð?ð?ð?ð?ð?ð?ð?ìi@?ïù?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ïÓ?ïÀ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ï?ÛÌ€?ïûÀ?ð?ð?ïú?í¹@?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë;€?6?\?8?´¦?e?á°À?ï1?ð?áÅ@?ÐQ?ïŠ?ð?ð?ð?ð?ð?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ïä€?ä“€?Ùˆ€?d?âŠ?ð?ð?ð?ð?æ‰À?¤ü?˜ˆ?‘ø?çÅÀ?ð?ð?ïs@?ïåÀ?ð?ð?ð?ïï€?ð?ð?ïßÀ?ð?ð?ð?ïï?ïœ@?ïV?ï¨À?îªÀ?ð?ð?ð?ð?ð?ïÿ@?îÀ?ïô?î£?îÀÀ?íæ?ï?ï.?ï$@?ïcÀ?ïˆ@?îÆ@?ð?ïî?ï^À?ï*À?ð?ï]€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï-?ïÝ@?îé@?ð?ð?ð?ð?ð?ð?ïl?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?îa€?ïâ€?ð?ïÛ?ð?ð?ïû€?ïþ?ï‘@?ïú@?ð?ð?ð?êÏ?Á?€`?ç?ð?ð?ð?ð?ð?ð?ð?ð?ìh€?ïô@?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÝŒ?Ò?ð?ð?ð?î4@?ï±@?ð?ð?ð?ð?ð?ð?ð?ð?ï_€?íäÀ?é£?B?°d?ɾ?à¨@?ícÀ?î-€?ð?ë7?nÀ?È?å-@?îl€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í¾@?²€?y€?ð?iÀ?é[€?ð?ð?ð?ð?ë¡?J?„à?œ€?‰?I?jÀ?Üõ?Ùp€?Ïs?ð?ð?ïê?ð?ïû€?ð?ð?ï߀?ï÷?ð?ð?ïÛ@?ð?ð?ð?ð?ð?ð?ïÀ?ð?ð?ð?ð?ð?ï;€?ï™À?ì›À?ð?ð?ð?îŠ?ð?ð?ð?î?ïo@?ïË€?ïç€?ð?ð?ð?ï¤?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌ?ïm€?ïà?ïH@?ïð?ð?ð?ð?ð?ð?ï”?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îmÀ?ïã@?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?æQÀ?°À?ì•À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÈÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?ð?ð?ð?ï­?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í}@?°¢?ãK@?ð?ð??ð?ð?ð?ð?ð?ð?ð??í±€?îÁ@?ïûÀ?î¹€?™˜?Ä’?êß@?ïÞÀ?ð?ï¼@?ð?ïï?¾$?B?`?µæ?¯Ô?ã–€?Ñ÷?} ?Q?Ý'?ïý€?ï¥À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè?Òn?ÖÌ€?Þ2?§L?îo?ïí€?ð?ð?ð?ì™@?¡H?Å? (?ºæ?Á"?ÚA€?Òy€?c€?ßú?ð?ð?ð?ð?ð?ï¿€?ð?ð?ïò@?ïò@?ïí@?ïûÀ?ïàÀ?ïÉ@?ï>€?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÛ@?îÈ@?èC?ð?ð?ïÅ?îÜ?î«@?ï¶@?ð?ê€?ïÀ?ïðÀ?ï¹À?ð?ð?ð?ð?ð?ï»?ð?ð?ð?ð?ïÍ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò@?ð?ð?ð?ð?ï`À?ð?îñÀ?ïý€?ïý€?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ïÀ?ïçÀ?ïý@?ð?ð?ð?ð?ïÞ@?ï,?ï%@?ïu@?ïäÀ?ð?á;À?Òi?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ï÷À?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïµ€?ïà€?ð?ð?ïd?ïý@?ï§€?ð?ð?ð?î?ð?ð?ð?ïÅ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î@?âêÀ?àª@?ïý@?ïÊÀ?ð?ð?ð?ð?îµ€?î ?îD€?îiÀ?ïQÀ?ð?ð?ð?îq€?Âw?Ïû?ì€?ð?ð?ð?ð?ð?Ê¢?(?Q€?·¶?§è?ä@?èL?ïâ?ï÷?ä?o@?Ó¼€?î¾@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è€?{€?Ðx€?ØÉ€?Š?è@?ð?ð?ð?ð?ð?Ò+?Àß?Õp?¿’?´Ô?F? |?ð?°˜?ˆ?f@?“°?a€?P€?R€?Í—?ïŽ?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ï«€?ïû€?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?îÿ@?îõ?ïã€?ï¶@?ï™@?ïþ€?ïÀ?î‰À?ïï€?ð?ï~€?îŠ?îþ?îvÀ?ïÍ@?ð?ð?ð?ïìÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï“À?ð?îöÀ?ïý@?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÄ?îÍÀ?ïìÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÝÀ?ïÀ?ïR@?âœ?ÚI€?ð?ð?ð?ð?ð?ïý?ïç@?ïÒ?ð?ð?ïþ€?ïý?ð?ð?ð?ïú€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïm?îÀ?î°€?îÀÀ?ïÿ@?ïvÀ?ð?ð?ïû€?ð?ð?ð?ï~@?îî@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?éâ?ïg@?îF@?ð?ð?ð?ïú€?ïª?ð?ð?ð?ð?ð?ð?ð?ð?à €?Ÿ@?äË€?ï™?ð?ð?ð?ð?ð?Òé?P€?ÎÄ?ãÐÀ?ãæ€?ïÜ@?ð?ð?ð?ïú@?á°À?— ?:?¾˜?éØ?ï§@?ð?ð?ð?ð?ð?ð?ïä@?ïöÀ?ð?ð?ð?ð?ð?ïå@?ì€?µ?L?ëë?ð?ð?ð?ð?ð?ì­?í:?î‰À?ÖV€??[€?´ ?f@?F?R€?p ?F?(?àÈ@?ïÿ@?ð?ð?ð?ð?ïD€?ïðÀ?ïû€?ð?ïí€?ð?ð?ï'À?ïÃÀ?ïè€?ïÒ€?ïÿÀ?ïÍ@?ïì?ð?ð?ð?ð?ïI?ð?ïí€?ð?ïþ@?ï»À?ï£?î~€?ï‹?ð?ïÉÀ?ïW?ð?ïå?ð?ïöÀ?ð?ð?ï–À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ïÿ@?ïßÀ?ïä@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ûz€?>?ç§?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÍ@?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì™@?ïC?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íƒ?ïý@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?ïµÀ?ëï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö?Ö?®x?Þ¶€?ïÀ?ïû€?ð?ð?ð?ð?ð?â€?• ?Ñ4€?î?ð?ð?ð?ð?ð?ð?í"€?×ë?ë À?áÕÀ?Ûd?å@?ï ?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ïé€?ð?ð?ð?ï€?è†?²à?åM€?ð?ð?ð?ð?ð?ð?ð?ïé?ïÉ@?áý€?$?àÆ€?½l?©¨?kÀ?[€?V€?2?B?p ?ÚS€?ïäÀ?ð?ð?ð?ïò@?ð?ïû€?ïöÀ?ïöÀ?ïÛ@?ïû€?ð?ïéÀ?ð?ïßÀ?ïíÀ?ïôÀ?ïe@?ð?ð?ð?ïk?ïÜÀ?ð?ïë?ð?ïä@?ï§À?ï+€?ì”?ïø€?ð?ð?ï?ð?ï©€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïàÀ?îõ@?ïT?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí€?ïû€?ïöÀ?ïþÀ?îî?ð?ïé?ïc€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßÎ?½Ú?ïMÀ?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ð?ð?ð?ð?ð?ð?ïù@?ïö@?ïÒ?ïöÀ?ð?ð?ð?ïò@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ï×À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é€?à¬?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íX?³6?Ô €?áÒ?î$?î§À?ïŽÀ?ð?ð?ð?îÙÀ?îñ?ïD@?§ˆ?và?¼L?Ú…€?èé?î°€?ð?ð?ð?ð?ð?ð?êø?ìÀ?ð?îŠ@?îÛ@?êÙ€?î'?ïÉ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïˆÀ?ëç€?ÕÄ?m?Q€?é!€?ð?ð?ð?ð?ð?ð?ïï€?ïð@?ð?åú@?$?ßl?ëYÀ?•@?ÁÊ?Ê?2?M?k?L?Þ€?ïù@?ð?ð?î­À?ïáÀ?ð?ïöÀ?ïû€?ïò@?ïò@?ð?ïu?ïÒ?ïá@?è_?æd?ïñÀ?ïû€?ð?ð?ï €?ïC€?ð?ï½€?ð?ð?ïÃ?ï°À?îo?îÛ@?ïýÀ?ïÝ@?ïÑ€?ïv?ïÁÀ?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?ð?ð?ð?ð?ïû€?ïû€?ð?ïP?ïÀ?ð?ïé€?ð?ð?ð?ð?ð?ïþÀ?ïa@?ïk?ïs?ð?ð?â?×$€?ð?ð?ð?ïû€?ïé?ð?ð?ð?ð?ð?ð?ïþ?ð?ð?ð?ð?ð?ð?ïÿ@?ïþÀ?ïöÀ?ïÕ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëà@?íš@?î‰?ï.?î¹€?ïÆ€?ï,À?ï¤@?ð?îî@?íSÀ?îL@?í¶@?î¢?îÖ@?ëyÀ?é;À?æYÀ?å`€?ïÀ?ïú€?ïùÀ?ð?ïû€?ð?ð?ð?ïð@?ím@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?ßÜ€?‡ ?» ?݈€?ïÀ?ìÈ€?ïe€?ïw@?îm@?ïG?ð?ð?ç«@?Ø­€?êe€?r@?R€?à²?íy?îÀ?ð?ð?ð?ð?ð?ð?ð?íV?ï´€?ð?ð?ð?ïò@?ï¤?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî@?àó@?ÅÚ?ÁŠ?ü?ïê?ð?ð?ð?ð?ð?ð?ð?ð?ð?êƒÀ?Z?Â-?ÝW€?¸€?Ÿð?Ä(?xÀ?R€?•à?tÀ?0??Z?R€?(??(?B?G?kÀ?(?[?Îê?èG@?ð?ð?ð?ð?ð?ïöÀ?ïßÀ?ð?ð?ïöÀ?îØ?ïtÀ?ã?¡?ÞË€?ï@?ð?ð?ï¡À?ïH@?ïZ@?ð?ð?ð?ïôÀ?ïï€?íÞ€?íÃÀ?ïq?ð?ð?ï¨@?ïí€?ð?ð?ð?ð?ð?ð?ïÁ€?í®@?ïÝ?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì@?ïüÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÞ?ïD?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïW€?ïö?ï×À?ð?ð?ð?ð?ð?ïÿ@?î·À?ï.?ð?ïöÀ?ïö@?ð?ð?ïý?ð?ï³€?ïŠÀ?ïû?ïþ?ïå@?ïx?ï’?æ’@??çl€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ð?ð?ð?ð?ð?ïû€?ïû€?ð?ïû€?ð?ïóÀ?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÖ@?ïS€?ð?ïõÀ?îÞÀ?ð?ð?ï‡À?ïöÀ?îr@?ð?ð?ð?ð?ð?ï–@?ð?ð?ð?ð?ïÍ@?ïA€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìN€?´„?¼ˆ?ØB€?è&?íOÀ?æ.€?ï:@?ð?ð?ð?ð?ð?ð?ð?áò?Çå?³??‡°?‰p?…°?àd?ïï@?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ïª@?í@?ïü@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ç®@?Þe€?“È?æO?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ð?Ú?¹N?Ók?Àì?t ?†€?I?ŒP?‰?aÀ?X€?gÀ?X€?8?xÀ?š€?ÔÉ€?í¥@?ð?ð?ð?ð?ð?ð?ïñ€?ïû€?ïæ@?ïñ?èö€?ÐÜ?½ä?èõ?ïôÀ?ð?ð?ï´@?ïÑÀ?ð?ð?ð?ð?ï­€??îq@?ïœ@?ï³@?ï½€?豈?ð?ð?ð?ð?ð?ð?ð?ïÅ@?ï΀?ïý?ïË@?ïß@?ð?ð?ï÷?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??ïÆÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï’@?ð?ïÑ?ïæ€?ð?ð?ð?ð?ï@?ï×?ð?ð?ð?ð?ð?ð?ïùÀ?ð?ð?ð?ð??ïAÀ?ï0?ï ?Øm?²H?å@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ï÷?ï×€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ï¶?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÄ€?ï2À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïA€?Ê?›H?ê@?íC?ïöÀ?ït?ïâÀ?î_À?î%?ð?ð?ð?ð?ð?ð?ð?í=@?Ð?Ÿ0?°°?Â>?ãÀ?Ú?èõ@?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?èm@?Ú¯€?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïù@?ð?ï¬@?ìm€?Ï\?¸’?¾–?@?ì˜?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÝÌ?]?߉?Õ‚?Ùö?pÀ?ª$?Ñû?äå€?¶ò??f€?{?lÀ?„@?iÀ??v@?R?±~?Ùe?ëë€?ïýÀ?ð?ð?ð?îõÀ?ïÂÀ?ïì@?ïïÀ?ð?ìïÀ?ã¤À?Û÷€?ïÔ?ð?ð?ð?ï×€?ð?ð?ð?ïò€?ï™?ïÞ?ï`À?ïs@?ð?ï¬À?ïè@?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïÿ@?ð?ð?ð?豈?ïÙ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï8À?ð?ð?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ïê@?ïþÀ?ð?ï‘?»?äÜÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ï÷?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‘?èÖ€?Öá?Û–€??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¯À?ïMÀ?ïW@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê©?Ñt€?¹~??ïû€?ð?ð?ð?ð?ì…€?ïºÀ?ð?ð?ð?ð?ð?ð?èÙ?x?“à?á*€?Ó€?Å“?í°€?ïö€?ï’?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?陀?ël?ð?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îŒ?ÛM?Ç¡?à?Ú€?šp?(?Òa€?ïà@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëJÀ?¶0?°?•?Ê ?²~?‰?~ ?Ó@€?ë.?æQÀ?Ùr€?Ó\?š@?P€?M?Â<?8?Ÿ?N?(?À?Õ¶€?è€@?ð?ð?ð?ð?ð?ïÎÀ?ïó?ð?î?í¤À?ïû€?ð?ð?ð?ïÌÀ?ïïÀ?ð?ð?ð?ð?ïîÀ?ð?ïý@?ïÁ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ïÏ€?ð?ð?ð?ï?ï@?ïø€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï†@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êì€?,?é¿€?ð?ð?ð?ð?ð?ð?ð?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ð?ïþ@?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?à—À?å²À?ïâÀ?ð?ð?ð?ð?ð?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¾@?ï&?ð?ð?ð?ð?ð?ð?ð?ð?ï¤À?çÓ?à€?«ˆ?B?å`€?ð?ð?ð?ð?ïB?ð?íã@?ð?ð?ð?ð?ð?ð?ï«@?ÃÐ?—Ð?`?áŸ?ïð€?êMÀ?ºä?ãÎ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?êžÀ?¯´?£ ?‰ ?ìu@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïe€?èDÀ??¢À?(?o€?’?‘P?,?µ ?Ã?ÁI??k€?‘P?˜à?d?¡à?áŠ@?ï€@?ð?ð?ï¸À?ïh?ïЀ?ð?ïÿ€?ï÷?ð?ð?ð?ð?ð?ð?ð?ïþ€?ð?ð?ð?ð?ïÈ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïd€?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï–À?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?å“À?ë4€?ð?ð?ð?ð?ïò€?ï÷@?íÊÀ?ì½@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?è“?é´@?ð?ð?ð?ð?ð?ð?ïÿ?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïJ€?ï·?ð?ð?ð?ð?ð?ïw€?ã@?Áº?ÏK?ï­?ð?ð?ð?ð?îÀ?ð?ï÷@?ð?ð?ð?ð?ë’?ð?ëB?Æ3?ïüÀ?ð?ð?ãö@?ïN@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãðÀ?º?Ït?ïõ?ð?ð?ï÷?ð?ð?ð?ð?ð?ï÷?ð?ð?ï±@?ï‘@?Á—?ˆÀ?¥À?†€?²ü?Ø”€?Ýf€?‚P?k?°R? ?—?ð?°Š?³d?(?„ð?A??´?ë™À?ð?ð?ï΀?ð?ð?ïó??ïL@?ï0@?ïÊ@?ð?ð?ð?ïî?ïl€?ïÜÀ?ð?ð?ð?ð?ð?ð?ï÷@?ïÞÀ?ð?ð?ïø?ï €?ð?ð?ð?ð?ð?ð?ð?ð?îÿÀ?î”@?ï·?ïŒ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï×€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïQÀ?ð?ð?ð?ð?ð?ïÿ@?ïê@?ð?ð?ð?ð?ð?ð?ð?ð?â‘?éÕ€?ð?ð?ð?ð?ð?ð?ð?ï¨À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïØÀ?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?ð?ð?ð?ð?ï À?ëƒ@?ð?ð?ð?ð?ð?ð?ð?ð?îò@?ï¸?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î½À?ïç€?ð?ð?ð?ë0€?Èù?Ï ?ï¹À?ð?ð?ð?ð?ïã?ð?ð?ð?ð?ð?ð?î”?ð?îòÀ?€à?´Þ?ïù€?ð?ð?ï«À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í €?ããÀ?æ|?î@@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå?ïÄÀ?ïÃ?ÕH?ºT?Û?ˆ°?æ¾À?ð?ïþÀ?à@?³¸?ƒ ?P?}@?(?X?šø?Þ½?³Ö?r?Ú–€?î¬@?ð?ð?ð?ð?ð?ð?ïë€?ïóÀ?ït€?ð?ð?ð?ð?ïÿ€?ïÅ€?ð?ð?ð?ð?ð?ð?ïû?ïg€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï—@?íÁÀ?ïq@?ï¸?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‡@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áp€?á €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ïú€?ï„€?ð?ð?ð?ð?ð?ð?ð?ïÕ€?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ï‡?ï À?ð?í_?Á&?Æ‚?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?è_@?š@?è0@?ð?ð?ð?ð?ïÅ€?ð?ð?ð?ïá?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ïèÀ?ïñ€?ð?ð?ð?ð?ïá€?ï÷?ð?ð?ï÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïú@?Åq?™ ?å²€?í‚À?ꔀ?Úx?´ö?¦ø?T€?f€?H?s€?G?ź?ë?À?ð?ð?ð?ïmÀ?ð?ð?ð?ð?ïJ?ì¯@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïuÀ?ïÀ?ð?ïÿÀ?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ír€?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ?ð?ð?îêÀ?ïì€?ïö?ð?ïŽ?ð?ð?ð?ð?ð?îÍ@?ïÏÀ?ð?ð?ð?ð?ð?ð?ïó€?ïn€?ïï?ð?ð?ð?ð?ð?äˆ?ˆ@?,?M?¹4?î7@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïðÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¼@?î@?ÏÑ?±¼?îvÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ßr?¸?æ„?ð?ð?ð?ð?ð?ð?ïÚ€?ïßÀ?ð?ïí€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ð?ð?è³?\?Ž?Š`?™?šˆ?[?R?G?x?k?p ?L?{?¥?ì­€?ð?ð?ïå€?ïý€?ð?ð?ïò€?î0À?í€?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?îí@?ð?ð?ïÿ@?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÝ?ïh€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡€?íB@?ï]À?ï€?èŠ@?é¡@?î¶€?çz€?í‡À?ð?ð?ð?ð?ïý€?æÔ€?ï³@?ð?ð?ð?ð?ð?ð?ïò€?ïäÀ?ï÷?ð?ð?ð?ð?ð?Ì??Ȉ?îö@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì—?ÙÁ€?ã”?ð?ïÿ@?î@?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ï|À?½ì?áùÀ?ð?ð?ð?ð?ð?ð?ð?ïþ?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?ð?ï÷?ð?ð?ë~€?è?,?¦(?ß¿€?>??(?–X?‘x?t?“°?Ž?‚?yÀ? ?„0?xÀ?ìEÀ?ð?ð?ïú?ïø€?ð?ïï@?ïãÀ?í"À?ä@@?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ï+À?ïyÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïð@?î¸@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé@?è8@?ëîÀ?ï…€?ïŸ?ð?ð?ð?ïÝ€?ïô@?ð?ð?ð?ð?ïú@?ëXÀ?ëê?ð?ð?ð?ð?ð?ð?ïü€?ï½À?ïj@?ð?ð?ð?ð?ð?·b?áÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí?ïþÀ?ïóÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï’À?ð?ð?ï>€?ð?ð?ð?ð?ð?ð?ãQ€?”P?Ûw€?íG@?ï>À?ï €?ð?ð?ð?ï‹?ð?ð?íÌ?ð?ð?æí€?¾L?î¾€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ïæÀ?ïÊ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ?ð?ï÷?ï®?ïü€?ð?ð?ð?ð?ð?ð?ð?ïéÀ?ð?ð?ð?ð?ï÷€?ã@?Ê?]€?b?”?B?‹?Çj?¨`?†€?m@?^?€?”Ð?P?Åá?@?g?ç?ð?ïâ@?ïùÀ?ð?ïâÀ?ì-À?ð?ð?çªÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ïò@?ð?ð?ð?ð?ð?ð?ð?î»@?îÀ?ï9?ïÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷À?ï ?îÂÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïa@?ï†@?ð?ð?ð?ïÜ?ð?ð?ð?ïG?ïÖ@?ï{À?ð?ð?ï@À?ïe€?Æ×?³~?î&€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ï[€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïœÀ?ïü€?ïÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î©€??ð?ð?ð?ð?ð?ïäÀ?ð?å©?Œ0? Ì?îu?ïW?ï?î¢?î‘À?ð?ð?ð?ð?ï¡?ð?ð?Ù€?Q€?ÁÏ?éäÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù?ð?ï÷?ï¼€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷?ð?ð?ð?ïæÀ?î'€?ç7À?ȶ?d@?A?Σ?ºð?v€?g@?b€?áÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ï·?ð?ð?ð?ð?ï÷@?ï¯?ð?ð?ð?ð?ð?ð?ïÝ@?ï„@?îÍ€?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íx?íÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ð?ð?ð?ïÀÀ?ð?ð?ïû?ï`À?ïQ?í\À?ì•€?º|?Þ]€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¶@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïòÀ?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îx@?ð?ð?ð?ð?ð?î©À?×Y?‡€?¦D?ë>?í!?ëÛ@?ï¿À?ð?ð?ð?ð?ð?ð?ï2À?îW€?¼è?‘ˆ?±v?¶ ?’?Å‚?ÖE?åç€?ïy€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÊ?ð?ð?ïí€?ïÿ?ð?ð?ð?ð?è½?Ù?©à?˜È?[?Ÿ€?G?ˆÀ?B?ŒÀ?B?ÖB€?ð?ð?ð?ð?ð?ð?ð?ð?ïò€?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ïÃÀ??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?î­€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì°€?ìý€?íh€?éçÀ?ï@?ï%?ð?ïùÀ?ïÜ€?î¹?ïc€?ð?ð?ð?ð?ïö?ïê€?ð?ð?ïÜ?ïò€?ïß@?ïóÀ?ð?ï¦@?ð?ð?ð?ð?ð?ï±À?Ï9?ª ?ë À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìh€?ïý?ð?ð?íú?ð?ð?ð?ð?ð?íl@?–À?Òô€?ïé?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è¶À?c€?°&?è€?ƒ ?@?w?µ?Ö?ï>@?í¯À?ïÜ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì?ïþÀ?ð?ð?ð?ð?ð?ð?èÑ@?×u€?µÆ?‚Ð?Ðø€?À;?K?¸ˆ?`À?P€?m?ƒ ?Õž?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï½À?îÍÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÿ@?æ=€?ïV?ð?ïZ€?ð?ï?èt@?ëË@?ì'@?ëÊ@?ï @?í÷À?î«€?ð?ð?ïò€?ð?ð?ï€?ð?ïò€?ð?ð?ï÷?ð?ð?ð?ð?ð?ð?èY@?<?ß’€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìé@?ï¶€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïù?ï&€?ð?ïûÀ?î?ð?ð?ð?ð?ð?ìK€?»Ð?x?ì,@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ø?±þ?Òê??8?–@?U€?ÂÅ?Å ?›ˆ?Å`?ê?ïÛ€?ïþ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï”?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?äÀ?—Ð?ÒU€?í]€?ÑY?4?T€?°?›È?€ð?J?d€?B?Üß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¾@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÍÀ?ëˆ@?êÊ@?ïø?ð?ð?ð?ïûÀ?ì£À?ﮀ?ïý?ð?ð?ïçÀ?íI@?ïK?í‘À?ëþÀ?ð?ð?ð?ð?ð?ïò€?ð?ð?ð?ð?ð?ð?ð?ﺀ?ÒQ€?Àþ?îÅÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?îÄÀ?ð?îûÀ?ï„@?ð?ð?ð?ð?ð?ð?èV€?s ?ß~€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ?Àå?Ž ?àX@?¿z?©d?´T?©X?àý?î/À?ïÂ@?îš@?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?ï×€?ïå?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íeÀ?Ó”€?„À?r ??ÜQ€?ïf€?ãÕ€?X€?8?Õg€?ÏÝ?<?Ùž€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î×€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïn?î¢?í¼€?én@?íñ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êf€?ëàÀ?îÔ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþÀ?×=?ÞN€?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î½@?î6?îÅ€?í=€?ï-?ð?ï€?í²@?íЀ?í«@?ëï@?šØ?Êü?ë-€?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïø€?ð?ê€?I?r ?ãå@?Ü?:??Á{?ê À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïï?ïö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï³€?ð?î À?´?[?E?Úû?ï:@?âÀ?¦L?ˆ ?ºj?¤”?@?¿P?¹È?¦€?Ë:?ð?ð?ð?ð?ð?ð?ð?ïÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÑ€?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï=?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î~€?ð?ð?ïï?ï‰@?íD?éÊÀ?îî@?ð?ð?ð?ð?ð?ð?ð?ïþ@?ë÷€?í²?ïä@?ð?î©À?ïô@?ð?ïÿ@?ð?ð?ð?ð?ð?ð?èÀ?€? ¬?ìcÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÅ@?ð?ð?ð?ð?ð?ð?ð?ð?ï›À?ï€?íL€?í?ï @?ïÜ@?ð?ð?ä@?Œ?Ç1?í‚€?ð?ïÿ?ï.?íÄ€?îã@?ð?ð?ð?ð?ð?ð?è©À?6?Z?·?Û¢€?ì @?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŸÀ?ð?ð?ð?ð?ð?ï÷@?ð?ð?ë6@?’˜?0?ˆ ?Ë?èn?ì“@?Ö?ÄU?Êc?zà?éƒ@?ð?ð?ð?ð?ð?ïµÀ?ïî€?ð?ð?ð?ð?ð?ïî€?ð?ð?ð?ð?ïö€?î­?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î~@?ïÀ?ð?ð?ð?ð?ð?íÀ?ê¢À?ï¡@?ð?ïûÀ?ð?ð?ïó?ïN€?ïA?ï>?ïˆ@?ð?ð?ïš@?ð?ð?ïæ€?ð?ïü@?ï9?ïmÀ?ï:€?å@?ÓÛ€?ﮀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï–?î@?ïü?ð?ð?ð?ð?ïe@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë\@?†À?ã.?ìÛ@?íÞ€?îëÀ?ïÀ?ïÜ€?ð?ð?ð?ð?ð?ð?ïûÀ?Ùï€?p?Ú€?»~?íå€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ïÀ?µä?ŒÀ?V?R?Õ€?î=?ßb? ü?_? @?A?“à?îU€?ð?ð?ð?ð?ð?ïÏÀ?ïûÀ?ï÷@?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?îk?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï­€?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïö@?îÀ?ð?ð?ð?ð?ð?ð?ð?ïà?íÒ?ð?ð?ð?ð?ð?ïñ@?ïøÀ?ïñ€?ïûÀ?ð?ð?ð?ð?ð?ð?ïÂÀ?ïý€?ïý@?ð?ì@?åÎ@?ãV€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï:À?ïÀ?î•@?îX@??î@?ì?ïÐÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïs@?× €?z@?å¹?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îªÀ?«?Ê??äÀ?áWÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ß„?âJÀ?Ä?½˜?Ã-?à\@?Ë?Q€?‰ ?,?Á­?ð?ð?ð?ð?ð?ð?îú€?ïÈ?ïH@?ð?ð?íœ?ð?ð?ð?ð?ð?ð?ð?ïÇ@?îÓÀ?ïÒ€?ð?ð?ð?ð?ð?ð?ð?ïÁÀ?ïü€?ð?ïÉ€?ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï€?î@?ïß@?ð?ð?ð?ð?ð?ð?ð?ð?ï€?ï{@?ð?ïá@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî€?ð?ï÷€?ên€?ÏE?À?Ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?ïC@?ìˆÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ا€?àÑ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è@?Þ¤?ï@?ï§À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïr€?í³À?ípÀ?àJ@?L?µv?ƒP?0?Ð;€?ð?ð?ð?ð?ð?ð?ïw@?ï«€?íà€?ï@€?ð?ð?ïåÀ?ð?ð?ð?ð?ð?ð?ð?ïþ?ï@?ð?ð?ð?ð?ð?ð?ð?ïÓ@?ïü€?ð?ð?îY?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀ?ìÊ?와?ìçÀ?í¤À?í)À?çÅ€?íñ?ð?ð?ð?ð?ð?íØ?ìJÀ?ïöÀ?ï¾€?ïåÀ?ð?ð?ð?ð?ð?ïà€?ï}À?ï%?ïê@?í„À?ìÏ@?ð?ïä@?É}?×£?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ï€?íä?ð?ð?ð?ð?ð?ð?ð?ð?Ý÷?Àt?ìä€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïùÀ?áÊÀ?Ì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïº?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÚ@?á§À?]?n€?„À?@?ሀ?ð?ð?ð?ð?ð?ïî€?ïü?ð?ïá€?ð?ð?ð?ð?ï÷@?ð?ï÷@?ïô€?ïá€?ð?ð?ð?ïÓÀ?ïÝ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î²À?ï÷€?ð?ð?ð?ð?ð?ð?ð?ð?ð?íL€?ïn?ïûÀ?ð?ð?ð?ï‰?ìçÀ?ì?ïµ€?ð?îÚ@?ïî€?ïú€?ð?ïÀ?ð?ð?ð?ð?ï@?ï­€?ð?ð?î@?àÜ€?à…?Ü6€?Ý6€?Õx?Ò»€?ÉÃ? P?ëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î@?ï‘€?ð?ð?ð?ð?ð?ð?ïµ@?¸Æ?¶4?ì²@?ï´À?ïÜ?ïé?ð?ð?ð?ð?ð?ð?æo?´ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ïÕ€?âÔÀ?±r?’ ?gÀ?æW@?ð?ð?ð?ð?ð?ïÔÀ?ð?ð?ïê€?ð?ð?ð?ð?ð?ð?ð?ïèÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã?î…?ð?ð?ð?ð?ð?ð?ð?ð?î=€?í©€?ïa@?ïA?ïtÀ?ð?ð?ð?ð?ð?ð?îZ@?éÀ?鯀?ëÏÀ?ïì€?ð?ð?ð?ï¥@?ïà?ïLÀ?îô@?îN€?æÀ?ÑÆ€?žØ?è|€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï°@?íÍ@?ð?ð?ð?ð?ð?ð?ëÊ@?¡X?±?î@?îi@?î=À?ï³€?ð?ð?ð?ð?ð?ïûÀ?Ûð€?âÎÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïfÀ?í0À?ð?ð?ð?ð?ð?ð?í}€?æÌ€?‰0?v`?Ö`?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ€?ïÛ@?î×?ïö€?ð?ð?ð?ïæ?ïæ?ð?ï¿@?ï®?ïÝ€?ð?ð?ð?ð?îªÀ?ð?ð?ð?ð?ð?ð?ð?ð?ì²À?ð?ð?ð?ïÑ€?îì€?ïù€?ð?ð?ð?ð?ïç@?îa?ïûÀ?ð?ð?ð?ïÈ?ï9€?ï=À?í¯€?ì€?åoÀ?â ?€?êi@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý@?ïó?ïîÀ?ð?ð?ð?ð?ïä?í#?ïúÀ?ð?ïý@?ð?ïîÀ?ð?îM€?ű?§„?ï±@?ð?ð?ð?ð?ð?ð?ð?ð?ï À?»Ö?¢L?îÎ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï‘@?â@?Ç!?L?A?ঀ?ð?ð?ð?ð?ð?ð?ð?ïÝ€?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ïçÀ?ïûÀ?呂?ï?ï/@?ïÊ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î«€?ïãÀ?ð?ð?ð?ð?ð?ð?ì]€?íbÀ?ïçÀ?ð?ð?ïê€?ïë€?ïLÀ?ïÓ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ï@?í|?Ü8?½ð?±Ì?â €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ@?ð?ïì€?ïÐ@?ïýÀ?ð?ð?ð?ïÄ?í°€?êØ?íoÀ?ð?ïû€?ïO?âP@?N?’˜?ê‹?ð?ð?ð?ð?ð?ð?ð?ð?æCÀ?·„??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ð?ð?鮀?y€?–(?ä-@?ð?ð?ð?îî?ð?ïÙ@?ð?ïûÀ?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ïÁ?ï4À?ïË€?ïÙ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï•?ï/€?ð?ð?ð?ð?ð?ð?çP?ïîÀ?ïþ@?ð?ð?ð?ð?ð?îò@?ð?ð?ð?ïîÀ?ïê€?ð?ð?ð?ð?ð?ì€?¿Ž?ÃÊ?︀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ð?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ïê€?ð?ï×@?ïè@?ð?ð?ð?ð?ï©?í—?îEÀ?í®?è8?Ø(?–Ø?ÐÖ€?ð?ð?ð?ð?ð?ð?ð?ð?ÕR€?…€?âÅÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÎÀ?å8À?¡„?˜?ºà?ä\@?ð?ð?ð?î@€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²À?ïM?ïó?ð?ïîÀ?ð?ð?ð?ð?ð?ð?ï=€?ï±€?ð?ð?ð?ð?ð?ì?ãº?ïW€?ð?ð?ð?ð?ð?ð?ïXÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïžÀ?âÄ€?°˜?c@?ìR€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ð?ïô?ð?ð?ï°@?îa@?íÓÀ?튀?ëÉ€?ÜH€?ÂB?G?‘ø?á²?ï¿@?ð?ð?ð?ìÉ?åã@?ÛÀ?Ð?Q€?Ž`?Ì?ïQ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïûÀ?ð?ð?ð?ð?ïô@?ð?ð?ð?ð?ð?ïñ?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÏ€?ð?ð?ï߀?ïÀ?ð?ð?ïþÀ?ÖÐ?ÈÂ?Ы?Q€?Ú“€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔÀ?îµÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïåÀ?ïÇÀ?ð?ï÷@?ð?ïÝ€?ïÀ?îÓ?ïÀ?ï»À?îÄ@?ð?ð?ð?ð?ï?îƒÀ?ìo@?áQÀ?ï»?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïЀ?ï*€?ãÀ@?c@?W€?ëø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ð?ïê€?ïúÀ?ïûÀ?ïûÀ?ïáÀ?ì?ï“?à¢@?›H?A?©p?áÀ?ë!€?Þ9€?–¨?³?q@?¡ä?ä’€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí@?ï÷@?ïÓ€?ïì€?ïù€?ð?ïó?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ï–€?â2À?‘?(?ä[?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ïW€?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÙ@?ïЀ?ïö?ïü€?ïýÀ?îø?î¿?ð?ð?ð?ð?î«?íÒÀ?íé€?ë @?î­@?îÖ@?î‘?î¤À?ïÔ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?í|€?Ü„€?¥”?è×?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ï¾?ïûÀ?ïîÀ?ïþ@?æ×?X€?ÅZ?µB?Þž?¾z?íT@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïê€?ïç€?ïûÀ?ï÷@?ð?ð?ð?ïä?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áó@?>?¥„?îË€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïáÀ?ïô€?ð?ð??ï1€?ð?ð?ð?ð?ð?ð?ï„@?ï²@?ð?ð?ð?ïæ?ï^€?ð?ð?ð?ð?ð?ð?ð?ð?ïÝ€?î?€?½œ?á’À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÄÀ?ð?ïûÀ?ï{À?æ €?¼ü??Ï1?Ëg?Ç^?í•€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïù€?ð?ïó?ð?ð?ð?îá@?ïó?ð?ïõ@?ïì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æÔ@??Q€?,?J?í?ð?ð?ïÀ?ï÷@?ð?ïþ@?ïú?ïêÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïýÀ?ð?îè@?ïÜÀ?îï@?ð?ð?ð?ð?ð?ð?ï^?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?écÀ?¡x?Å$?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÔÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ïñ@?Ñ €?Á,?ÒÕ?è×@?ïÆ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ð?ð?ð?ïó?ð?ïH?ïîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÇÀ?æ¢?L?¦|?ï.À?ð?ð?ð?ð?ïê€?ïôÀ?ïî?ïß@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¥@?ð?ð?ð?íú€?ï[À?ï¸À?ð?ð?ð?ð?ð?ïúÀ?îÿÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èp€?\?µ.?î€?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êå?쌀?ð?ïûÀ?ð?ð?ï¡€?ïñ?ð?ð?ð?ï÷@?ïê€?È\?Ðj?ï¼?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ïÜ€?ïæ?ð?ð?ïá@?ïû€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ïó?ð?ð?ð?ð?ïÀ?ê@?eÀ?F??ÑŒ€?ð?ð?ð?ð?îð?ïÅÀ?ïñ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îÀÀ?ï?ïþ€?ð?ð?ð?ð?ð?ïª@?îûÀ?ïãÀ?ð?ð?ð?ð?ð?ð?ïýÀ?ïÅÀ?ð?ð?ð?ð?ð?ð?ð?éÁ?æõ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îõ?í*À?ð?ð?ð?ð?ïß@?ð?ð?ð?ïÁ?ð?í?¡X?ä^À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïýÀ?ïç?ïÚ@?ð?ð?ð?ïñ€?ï°À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ïë@?ïáÀ?ïhÀ?æwÀ?¸Z?·h?•à?ä0€?ð?ð?ð?ð?ð?ï¾?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï´@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ïÝ€?ð?ïd?ìK?ìw€?ìçÀ?ï<@?ïÒ€?îœ?ìYÀ?îx?î?ð?ð?ïé@?ïºÀ?ï@?îà€??î±€?îb€?ïý?ï÷@?ð?ï®?ð?ð?ð?ð?ísÀ?¤?̶?ïßÀ?ð?ð?ð?ïï€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î|?êÌ@?ïz€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ïó?ð?ï.À?ï÷@?ä^?É?ïä?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡À?ïT€?ï‹?ïë€?ð?ïÆ?ïÙ@?ïØ€?ð?ïâ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû€?ð?ïß?ð?ð?ð?ð?ð?ð?ð?ïé€?ïÇÀ?ï˜@?îw€?Ø=?ŸP?0?åT@?ð?ð?ð?ï|@?ïðÀ?ï•@?ð?ð?ð?ð?ð?ð?ð?ï÷@?îÞ€?ê¢?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìgÀ?ïü€?ïo?ï€?í6?ë¥?ë!?íH?ï??ïú@?ïþ?î×À?ï/€?ð?ð?ð?í³?ïï@?ïµ€?î?îÏÀ?ð?ð?ð?ð?ð?ð?êÔ€?Î ?W?䉀?ð?ð?ð?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïè?ïR€?î ?ï;?íû@?ïòÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?íà@?ð?ð?ð?ð?ð?ï5?Òú€?Äã?ïøÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ð?ïó?ïÓ€?ð?ïý€?ï©€?ï­À?ï÷@?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?îÀ?ï¥À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡?ð?áª?þ?ïçÀ?ð?ð?ð?ð?ïò@?ïöÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ïø?ì}@?ïã@?ï„?ïå@?ï:?ï«?îÁ@?ð?ð?ï&@?î¹€?ïï?ð?ð?ïîÀ?ð?ïq@?ï•€?ð?ð?ïÅ€?ïLÀ?ï¥@?ïê€?ð?ð?ð?ë{?”°?£Ì?噀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ïÓ€?ð?ð?ð?ð?ð?ïÛ@?îàÀ?ð?ð?ð?ïÊ@?ïÙ€?ð?ð?ð?ð?ð?ïó?ð?ï¸À?¿?:?q€?ãh?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÊÀ?ð?ð?ð?ïÅ@?ð?ð?ï£À?ð?ï÷@?ð?ð?ð?í?’è?Ó»?ð?ð?ð?ð?ð?ïþ€?ïñ€?ð?ð?ð?ð?ð?ð?ð?ïê€?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ð?ð?ð?ð?ï¯?ð?ð?îfÀ?î:À?ï£À?ï}?ï\€?ïqÀ?ï@€?ï<À?ð?îa?îûÀ?ð?ð?ð?ð?ð?ð?ð?ïÇÀ?ïÝ€?ð?ð?ð?ð?ð?ð?ð?ð?áF?‘À?ãÉ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï×?îy?ð?ð?ð?ïÝ€?ï–€?ïß@?ð?ð?ïûÀ?ïÏÀ?ð?ð?ïü@?㢀?Y€?E?¡l?î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ð?ð?ð?ð?ïù€?ïù€?ð?ð?ïÊ€?ï®?ð?ï¸@?ð?ïîÀ?ð?ð?ð?ï3?¯(?4?äÃ?ð?ð?ð?ï÷@?ïó?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ïþ?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ï"À?ï÷@?ï÷€?îÀ?ï`€?ï·À?ïù€?ïO?ï„?ð?ð?îùÀ?îÆ?ïþ€?ð?ð?ð?ð?ð?ï¥À?ð?ïB?ð?ð?ð?ð?ð?ð?ð?ð?êË€?Äo?ªØ?ë À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ïÂÀ?ï–À?ïÞ?ð?ð?ïë@?ïÝ€?î¥?Ø\€?z€?Q€?áÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ð?ï÷@?é?”Ð?~@?Ãk?ïÊ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïûÀ?ð?ïÊÀ?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ïù@?ï§À?ï÷@?ïÉ@?íUÀ?ï;?ïü€?ð?ð?ð?ð?ï]@?îÁ€?ïÇ?ð?ð?ð?ð?ð?ð?ì7À?ïó?ð?ð?ð?ð?ð?ð?ð?ïî€?æÁ?¦è?×§€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû@?ïþÀ?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ïŒ@?ìïÀ?ïû?ïŸ@?ð?ïD€?Ðò€?¨x?î³€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïz@?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ð?ð?ð?ïîÀ?ð?ð?ð?ïê?ïÿ?ð?ïÔÀ?ð?ð?ð?ð?ï @?ÙŽ€?yà?‰ð?¢Ô?êB?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï£?ë×@?ð?ð?ð?ð?ïó?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?îÕÀ?ï¿?ð?íy?ï"@?ïñ€?ð?ð?ð?ð?ïÐÀ?í¸?ï@?ï'€?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ïí€?ð?ð?ð?ï¶€?ð?é@?©T?¥¼?îÆ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?ïÚ@?ð?ð?ð?ïj@?ð?ð?ð?ð?ð?îÎ?ï×?ïóÀ?ïß@?ð?à3À?^?ퟀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÌ@?ð?ð?ð?ð?ð?ï÷@?ð?ð?ð?ð?ð?ï1@?ð?ð?ð?ð?ð?ð?ï÷À?ïïÀ?ð?ð?ð?ð?ð?ð?î€?Ó¬€?å½@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë³À?ïç€?ð?ð?ïêÀ?íÁ€?ïèÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¼@?ïÝ€?ï×?í#?ïà@?ïü?ð?ð?ð?ï€?íÖ€?ïz@?ïó€?ïâ@?ï€?îÿ?ïõ@?ð?ð?ï÷@?ð?ð?ð?ï_?ïq@?ð?ð?ïìÀ?ì‘?ÈÃ?åÏ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïkÀ?ïþ?ð?ð?ð?ð?ï7À?ð?ð?ð?ï–€?ïó?ïÒ€?ïÔÀ?ð?ð?ì?´<?A?ìÐ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïæ?ð?ð?ð?ð?ð?ð?ð?ð?ïó?ð?ïÀ?ïê€?ð?í§@?ïó?ð?ð?ð?ð?ð?ð?ð?ïÀ?îÀ?ð?ïÌ@?ð?ð?ï‘À?¶ ?y ?è÷€?ð?ð?ïü?ð?ð?ð?ïûÀ?ð?ð?ð?ð?çe@?ïÕ€?ð?ïê€?îÜ@?äf?îþ@?ð?ð?ït?ð?ïó?ð?ð?ïYÀ?ïM€??ïÌ@?ï=?í&€?ïX?ð?ð?ð?ï±?îz?ïä@?ïê@?ð?ð?ð?ïûÀ?ð?ïûÀ?ïè@?ï¶€?ïÛÀ?ïÐÀ?îý?ï À?îÇ?ê¸?ïóÀ?ï“À?å?X€?Ò?ïú?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ïºÀ?ïÛ?îÒ€?ì6€?ïòÀ?ïT€?ì¤À?ïè@?ï×?ïÔ€?ð?ð?ð?ð?ïÿ@?Ø¥?ç À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?ð?ð?ð?ïó?ð?ïó?ð?ð?ð?ð?ð?ð?ð?ð?çQÀ? ?A?ábÀ?ïî?ð?ð?ï÷?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿÀ?ïÿÀ?ð?ð?ð?ïÔ@?ïýÀ?ïV?ï?ð?ð?ïÿ@?ïT@?ï¯À?ï¹@?íYÀ?ï«?ð?ð?ð?ëM@?ï÷À?ïý€?ð?ð?ð?ð?ïûÀ?ïÌ@?ïè@?ïýÀ?ð?ïåÀ?ï¶?ð?ð?ð?é¹€?ÔÎ?àž€?×?€?l€?è4€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì\€?é®À?ï@?î-€?î@?ð?ð?ïãÀ?ð?ð?ð?ð?ð?çô€?à?Ù³€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¥@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¿€?ïè@?ð?ð?ð?ð?ð?ß0€?æ¿€?ð?ï©€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïõ@?ïýÀ?ð?ð?ïÔÀ?ð?ð?ð?ð?êÔ?È;?âP€?ð?ð?ð?ð?ïûÀ?ï¤À?í=@?ð?ð?ð?ïy?èÙ@?ð?ð?ð?ð?ð?ð?ï×?ïÌ?ð?ð?ïûÀ?ð?ð?ð?ð?ïw@?Þ¬€?Ÿp?á,?•8?Å-?ï<@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŸ?ï¥?ð?ð?ð?ð?ìê@?·¤?ÀJ?ï•@?ð?ð?ïïÀ?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïë?ð?ð?ð?ð?ð?ï#À?¬ø?ä°€?ïóÀ?ð?ïÓ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ïo@?ð?ð?ð?ð?ïÿ?ï¹?íE@?ïЀ?ð?ð?ð?å¿€?îb@?ð?ð?ð?ð?ð?ð?ïî?ð?ð?ð?ð?ð?ð?ïò@?ãl@?ɸ?àÁÀ? ?ßÊ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïû?ð?ð?ïÛ€?ë¨À?Ƚ?äY€?ð?ð?ð?ð?ð?ïëÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¡À?îÀ?íŸ?íê@?æ¯?ï@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâÀ?ïøÀ?ð?ð?ïãÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ïû@?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ç™À?q€?à À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¦À?ð?ð?ð?ð?ð?ð?ð?ð?ï?ìR@?î€À?ð?ð?ð?ð?î€?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áÍ@?³F?Ôi?p?’`?ì@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ïïÀ?ïïÀ?ïý?ð?ð?ênÀ?²‚?ÈÇ?ïã?ïýÀ?ð?ð?ð?ïô?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íMÀ?ܱ?ÁÓ?¦@?ƒà?p ?à?À•?ç‹?ï8€?ïn?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïßÀ?ï·@?ïÿ@?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?Ô¾€?(?Õ*€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü?ð?ð?ð?ïóÀ?ð?ïŽÀ?ð?ð?ð?ð?ð?ð?ð?ð?í»À?î@?ð?ð?ð?ð?ïå@?î‚@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïé@?î1€?Ó?ÏÉ?—?å€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÀ?ÀN?¼–?î¬@?ïÕ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í_@?ìá€?î¾@?ì†À?㣀?Ô΀? ?—?¸P?¹Œ?âz@?â?ï €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô€?ì¼€?ï&?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï«?ïÛ€?ïçÀ?ð?è@?B?Ò·€?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ð?îàÀ?ð?ð?ð?ð?ð?ð?ïø?ð?ê¾€?ïóÀ?ð?ð?ïü?ð?ïóÀ?íø?ð?ð?ð?ð?ð?ï;@?ïê@?ï[?ïÆ€?ð?ð?ð?í@?횀?Ç5?ä˜À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïëÀ?ð?ð?ð?í@?ÅÆ?Å¡?îü@?ïù€?ð?ð?ï·@?ð?ïÛ?ð?ï¡À?ïË@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î À?àØ?žø?uÀ?”?`@?y`?ØF?íë?ð?ð?ð?ð?ð?ð?ð?î]@?ïv?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïW€?éü?ïì?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î´À?ð?ð?ð?ïšÀ?ïø?ïïÀ?ïs€?Ø&€?À?ïïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì'€??ïø€?ð?ïü?ð?ï›@?î4@?ð?ð?ï÷?ïR@?êúÀ?êùÀ?ïÀ?ïªÀ?ïü?ð?ïí€?íò€?Ò.?á8À?à›@?ï?À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èÛ€?»F?Ô¼€?ï¿€?ïßÀ?ð?ð??ð?ïÐ?ð?ïþ?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êðÀ?â9@?±?Àæ?î €?ð?ð?ð?ð?ð?ð?ð?ë‚€?ç^@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íØ€??ïš?ð?ð?ïø?ìþÀ?Ðú€?4?Ô=?ï±€?ð?ð?ïø?ïÛ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï³?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íf?ï?ï1€?ïï@?ð?ð?ïã@?쇀?ïØ@?ïßÀ?ì%@?ç»À?æDÀ?ï/?ð?ð?ð?ð?îv€?Þ1€?×Ô€?Ë‚?Ïû?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïË?â@@?¥ì?ÑS€?ïu€?ð?ð?ð?ïð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è!À?|`?x ?Ö?€?éÇ@?ð?ð?ð?ð?ð?ïU?Â\?æ†?ð?ïø?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï†À?ð?ïÏ€?ð?ð?ð?ð?ïÞ@?ð?ð?ð?ð?ïï@?Õù€?æS@?ïí€?ï×€?ð?ð?ð?ð?ï™À?ð?ð?ð?ð?ð?ð?ïÛ€?ð?ð?ð?ð?ð?ïóÀ?ï߀?ïø?ð?ïŸÀ?ð?ð?ïø?ëÀÀ?í]€??ï/?ð?éy@?í?îû??ï?ïþÀ?ð?ð?ð?ð?ð?ð?áƒÀ?ë‹?Ú–€?vÀ?X€?äk@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ïxÀ?ïô€?錀?ѱ?:?o?ÍŽ?çý@?ï‡?ð?ð?ð?ïõ€?ïð€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï±?Ô€?‚€?ÖM?ïüÀ?ð?ð?ð?ïi?å;À?{`?è¹À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îR€?ð?ð?ïû@?ï?ð?ï¿@?ð?ï°€?ïÚ?ïó€?ð??æê?©@?v ?h@?®X?ãè@?ïþ@?ïü?ð?ï·@?ð?ð?ïЀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïFÀ?ïü?ð?ïö@?ïÀ?ð?ð?ïþ@?í¸?í4?îù€?ð?æ@?ï’À?ð?ð?ïî€?ï[?ð?ð?ð?ð?ð?ð?颀?ä’€?”x?Ù¡€?ï©À?ð?ð?ð?ð?ð?ð?ð?ïõÀ?í„?ìgÀ?ïF?é;À?ìÊÀ?ïÛ?îÖ@?è @?äU@?žø?À7?kÀ?’è?ïô@?ð?ð?ð?ð?ð?ïüÀ?ïÜ€?ð?ð?ð?îù€?ä´@?äfÀ?Ýz€?Ö8?Øú€?à…@?ä+€?ß?ã€?Ù]€?‹?c@?âù?ð?ð?ë|?Ï?S€?Û¬?ð?ð?ïÓ€?ð?ð?ð?ð?ð?í@?ïþ?ð?ð?ð?ð?ð?ð?ïø@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïR?îÈ€?ïú@?ïÏ?í³?ï¶@?àQÀ?P?À+?î†?ð?ï¦À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ð?ïóÀ?ïø?ð?ð?ï…€?ð?ïü?ïÒ€?ïC?ïü?ïêÀ?ð?ð?ïºÀ?ìÀ?í#À?çsÀ?ð?ð?ð?ð?ïÿ€?ïû€?ð?ð?ð?ð?ïü?æÃ?Š@?Âá?ÔV?íÀ?ïÏ€?ð?ð?îU@?íÊ@?ìFÀ?Þt€?„p?€°?¨d?<?iÀ?Äz?Î6?Z€?@?ä¤@?îBÀ?ð?ð?ïé€?ïÿ€?ï³?ïÃ@?ð?ïþ€?ïÌÀ?Ôj?T?h@?d@?X€?Ê?ïÿÀ?î1€?Ä·??è½@?åÀ?ï3À?ð?ð?ï·?ð?îÞ@?ïÁÀ?ï¹€?ï¤À?ïË@?ïæ@?ð?ð?ïÿ@?ïóÀ?ïû€?ð?ð?ð?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îè@?ë-?¸D?@?w@?r@?Þ“€?î€?ïÏ@?ïïÀ?ð?ð?ï¦À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý€?ïÿ€?ð?ð?ð?ï>?ïq@?ï›@?ïý?ð?ð?ð?ïá?ï2À?Öå?ãÖ@?ïö?ï÷€?ð?ïë€?ïå?ð?ð?ð?ð?íòÀ?Çp?¦?éÐÀ?íëÀ?Ùy?®Ä?ƒ?À*?ëß?ð?î©À?ïè@?ð?ð?î?Ø\€?É?_?Á<?í|€?Õ €?`@?x ?éJÀ?Çp?á­€?ïÅ€?ð?ïŠÀ?ð?ð?ð?ð?ð?ð?ïé@?ïšÀ?ïÓ€?ïe?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø?ïëÀ?î÷À?ãvÀ?×{€?¬,?ä€?ïø?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïéÀ?ð?ïÏ@?ïî€?ð?ð?ð?ïß@?ïЀ?î%À?ïÇ@?ï×€?ïÏ€?ð?ð?ð?áÀ?ªx?»¸?Ã,?ç¹@?îø@?ïþ€?ï¸?ïô?ïý€?ë}@?Ô¦?†@?©„?šð?Ô€?æ„?çJ@?è×€?ç~€?ÓU?± ?Ò&€?‘x?Þ?é^€?Âñ?½–?ïÕ?ïÙ?ï²?ð?ð?ð?ð?ð?ð?ð?ð?ï¾€?ïú?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÀÀ?ïÖÀ?í)@?ð?ïNÀ?ÏÎ?¶&?àâÀ?Õw?s ?ær€?ð?ð?ïü?ð?ð?ïê@?ð?îÿÀ?ïð€?ð?ð?ð?ð?ð?ð?ð?ïá?ïú?ð?ð?ð?ð?ð??ïè€?ï¬?ïÉÀ?ïÒ@?ïô@?ïø@?ïô@?ð?ïê€?éÜ€?Ëå?~ ?ÔZ?¿:?Âè?Ø”?Ã@?\€?[?W€?˜Ð?Ѭ€?¦¤?W€?Ó?ï<À?æšÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïä€?ï§€?ð?ð?ð?ð?ð?ð?ð?ïô@?ð?ð?ï^?ïù@?ïk?îÑ@?ð?å€? d?šÀ?èD€?ïÀ?âc?‡ ?ÒÄ€?ïÁÀ?ð?ð?ð?ïèÀ?ð?ïþ€?ð?ïü?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï²@?ïÝ?ï¼€?ïÄ?ïÕ?ïà?ff?ï½À?ï@?ïä?ïè€?ïþÀ?ï,?È;?É´?߀?ág€?Æ„?Ü#€?Ç?×7€?ïø@?ð?ð?ð?ð?ð?î’€?ïô@?ð?ð?î¼€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î?ïÀ?ð?ð?îÑÀ?ËG?ÊP?ï8À?îý€?Ðn€?æÚ?ïü?ð?îÁ€?ïÍ€?ð?ð?ð?ìÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¶@?ïÇ@?ïÑ@??ïÎ@?ï¡À?ïâ?ï3€?ïe@?ïÀ?íÀ?횀?º?Ù&?áL?Ýù€?¼²?v ?䦀?ð?ð?ð?ð?ï&@?타?ð?ð?ð?ïäÀ?ïTÀ?ð?ïá?ïý€?ï—?ï"€?ð?ìë@?ï?ð?ïì@?ë„@?ð?ð?éé@?H?Úp€?íý€?Ôô€?aÀ?«˜?Â?ïÀ?ïü?ð?ð?ð?îYÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïó€?ïÿ@?ïä?ïÝ?ïÝ?îö€?ï À?ë_À?…ð?Äw?ïßÀ?ð?ð?ð?ð?ð?ïô@?ïö?ð?ð?ð?ïçÀ?ïv€?ïöÀ?ï°?î;€?ð??ïäÀ?ïì€?ð?îº@?ð?ïô@?æ?hÀ?Õþ€?çžÀ?šp?Â?Öá€?ð?ð?ïÕ@?ïø@?ï6€?ïµ?ïû?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá?ïì€?ð?ð?ð?ïð€?ð?ïzÀ?ï‹@?îµÀ?æ„€?Ìà?,?ëï@?ð?ïþ€?ïÛ?ïÉ@?ïÀ?ï`À?ïú@?ð?ïØÀ?ïô@?ï¥?î?ð?ïï?ïú@?ïô@?ïÿ?íõÀ?ð?ð?ïø?ïäÀ?ð?ܹ€?¼”?çŸ@?·À?Õë?ÀS?ª„?éÀ?ïäÀ?ð?ïø@?ïà@?ïì?ïð€?ïý?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ï&??ï¾?ð?ð?ð?ð?ð?ð?ïßÀ?ïX@?ï@?îÌ?ÝÉ?º??ð?ïê@?ï@?ïl€?îÍ€?î’À?ð?ð?ïpÀ?ïr@?ï2€?ïô@?ð?ìØ€?ï£@?ð?ïñ€?ïõ?ð?ð?ð?ð?ð?Õ ?ÙÓ€?ëR?Þ-?á?¢ ?Ÿ?î€?ï¼?ð?ð?ï½@?ð?ð?ïÕ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïá?í€?ì³@?ï„?ð?ïü?ð?ïø@?ð?ð?ð?ð?ïØ?ïºÀ?ï?íþ?É¿?›0? ?O?á?ð?ð?ð?ïô@?îv@?ïÍ@?ïÝ?ïÊ€?ï ?ïâÀ?ïÇ€?ïØ€?ð?ïw@?ï¢@?ð?ð?ð?ð?ð?ð?ð?î–@?Õq€?Éj?îg@?ïqÀ?ç€?€À?@? Ø?¥T?ËI?ïm?ïË€?ïyÀ?ð?ð?íº?ïð€?ð?ð?ð?ð?ð?ð?ïø@?ð?ð?ïÁÀ?ð?ð?ð?ð?ð?ð?ïü?ïE€?婢?ïü?ð?ð?ð?ð?ð?ïð€?ð?ð?ð?ïê€?ïÕ@?îq@?á7€?k@?Ÿ?•X?çŸÀ?ð?ð?ð?呂?ð?îÀ@?ïÖ@?ïþÀ?ïäÀ?ï˜À?ìÀ?ï§€?ïšÀ?î÷À?ï•À?ð?ï^@?êU@?ä¼€?ã@?á7?Õn?”X?íâÀ?ð?îÝÀ?åDÀ?Í)?ƒ0?Á®?ëÙ@?è€?Ŷ?ïI?ð?ïü?ð?ïø@?ïÙ@?ïÕ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïì€?ïø@?ð?ð?ð?ð?ð?ïð@?ïâ€?ﮀ?ð?ð?ïô@?ð?ïô@?ïï?ð?ð?ð?ð?ïØÀ?å†@?‘¨?´ö?Öd?çÀ€?î¢?ïÀ?ð?ï„@?è®À?íò€?ï€?߈€?Õ^€?ì@?ïÙ?ï¿À?ïÒÀ?îÀ?Ûf€?w`?·ø?í¦À?ïô@?ï¾?ë5?ï!À?ëº?îÀ?ð?à€?éO€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïI@?ð?ð?ð?ð?ïêÀ?ð?ïü?ï“?ð?ð?ð?ïø@?ïø@?ïõÀ?ïø@?ïð?ð?ð?îí@?Ђ?§P?½”?Æ ?Öå€?ì€?ï4€?î€?Ù?p?Ö§€?ÝÖ?ïÓ@?ï×€?ïŒÀ?à€?dÀ?Õ߀?ð?ð?ïË?ïï@?ïÕÀ?ð?ð?ïüÀ?Ö?¡?í•@?ð?ð?ð?ïö?ð?ð?ð?ð?ð?ð?çL€?ïÄ?ïØ@?ð?ð?ð?ð?ð?ð?ð?ð?ïÅÀ?ï€?ï›?ï…€?ð?ð?ð?ð?ïô@?ð?ïü?ïô@?ïöÀ?ìRÀ?⎀?À¸?{@? ?Ù+?Ï“?ް?Ô–?à‹@?¿N?p?âŸÀ?ð?ð?áò?ïwÀ?ð?îk€?ð?á†?k€?ä5?ð?ð?ð?ïÏ€?íÛ@?ð?ð?ð?ð?ð?î/À?豈?ívÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïöÀ?ð?îÎÀ?í<€?çMÀ?ïŠÀ?îã?íÛ@?éB@?ãØ?Ùq€?Ç~?ˆ€?½Ü?W€?Îi?ì1@?ïå€?ð?ð?ïsÀ?ð?ð?㣀?ʬ?ÇG?Õ?ð?ð?ê¨À?îÅ?ï¶@?ð??ð?ð?ïûÀ?îµ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÈÀ?ËB?¨t?£(?‰?—ˆ?¬ä?W€?y@?c€?Å´?ç7À?ïú@?ð?ð?ð?ð?ï²@?»¬?Ö ?ð?ïÕ@?ìKÀ?ïÉ€?îÙ€?ð?ð?ð?ð?å,À?éÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïø@?ÞÁ?á?uà?Þu€?“Ð?ð?ÚN€?ì.À?ð?ð?ð?äÏ@?´6?èÀ?ð?íÉ€?îv@?í’?ï>€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÐÀ?ïï?ð?ð?ð?ð?ßW€?³ø?c€?h@?Ö—€?½¸?Ò©€?ïê@?ð?ï@?Ë?Õæ?ï½@?ð?æMÀ?îå@?îQ€?ï¿€?ð?ïß@?ïê?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïü€?ï@?îË?ð?ð?ï%À?ÁÚ?>?¤ì?c€?Ãû?V€?”?²d?ß?Ã~??2?ÇÉ?ïøÀ?ð?å?2?Ü"€?ð?ð?ì†À?îЀ?ìû@?ïº?ïý?ïÿ@?ð?ð?ð?ð?ð?ð?ð?ïü€?ð?ð?ð?ïB@?ð?ï,À?î»@?ïàÀ?í¨€?Á>?§D?í€?æ@?Í?S€?¨?Òˆ€?àXÀ?çÉ@?“è?›è?î@?ê›@?Ø?Å ?ºÒ?6?ä¥@?ð?í²@?²ò?æ?ð?ëÀ?ê€?ï€?ç}@?ï€?ð?ð?ð?ð?ð?ð?ð?ð?ïñ€?ð?ð?ð?è7?Äù?âë@?î5€?ïñÀ?îM@?äd@? ì?x?ìÀ?ð?ïá?ê,À?ëÿ€??ð?îñ@?™h?¸8?ð?ï¢?âž?ìÀ?×ß?Åñ?è¾À?ï@?ØR?å @?ð?äm@?êÛ?ï.?í›À?ï€?ð?ð?ð?ïÔÀ?ïýÀ?ïßÀ?ð?ïÕ@?ð?ð?ð?ð?è@?·ê?Ê??¸º?à?ïê€?îØ€?ï{@?ïâÀ?ïê€?ð?ï&À?™8?±¸?äÀ?ïØ@?ïíÀ?ï€?ï9?Û¸?°ˆ?Í6?T?Ô^?í/€?ÖY?ëd€?ï¢@?ï›@?ð?ð?ð?ð?ð?ïô?ð?ïö€?ïà@?ïù€?ð?ð?ð?ï€?“?£?ë€?ïû?î€?é©@?í`À?ïà@?ëøÀ?¢<?ã›?ïõ@?ð?îÍÀ?ð?ï¦@?ÐÇ€?¨ü?ë´@?È—?Ê%?ë?ïi?ïjÀ?ð?ð?ð?ð?ð?ð?ð?ð?ïüÀ?ïú€?ð?ð?ð?í§@?ˆ?·X?áz?ïÿ@?îÀ?îÀ?îö?ïË€?Ú&?Ÿè?•¸?ëò@?ï¼€?ïÍ€?ïê@?ð?álÀ?ÒŽ€?î?ÔK?Ã&?é³€?ïã@?îN@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï«@?ð?ð?ð?ð?êÆ?Ñí?ì‘À?µÈ?àXÀ?îñÀ?è‰?ïê@?ï@?îI€?Í?ÚЀ?í¦À?ïÀÀ?ïL?îZ€?ê@?ˆà?Ò;€?é“@?»Ì?Ø€?îaÀ?î¢@?îÀ€?ð?ð?ð?ð?ð?ð?ð?ïÜ?ð?ïû?ïûÀ?ð?ð?ïÀ?Ò“?ÔÐ?îq@?¹ž?µÜ?ꔀ?êÚ@?ð?ê€?Ó€€?Êh?§D?à<À??î€?îz€?ï•€?ê@?̆?àÿ€?ëØÀ?Ài?ÔE?ïÑÀ?ï?ï?ïã@?ïã@?ïøÀ?ð?ð?ð?ð?ð?ð?ïí@?ïÞÀ?ð?ð?ð?ê€?Çl?™ ?½ü?ë*?îfÀ?Ó·€?P?kÀ?Â?ê&@?휀?íZÀ?ì]€?î¤À?ì¸?z ?P?±H?ß“€?Ĭ?ÒA?ïƒÀ?í­À?ð?ïÅ@?ïáÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æÀ?wà? ?L?¸?Šà?Þä€?íê@?îZ@?ë¡€?î7?î—?ì?å,€?Üô€?Ǹ?ªè?Ÿ0?¸?À?H?ÊÃ?îo?ïò@?ï’€?ï»?ïçÀ?ð?ð?ð?ð?ð?ð?ð?ïþ?ï3@?ð?ð?ÿ? ?Ú?êl@?îÖ?ìþ€?ë'€?îzÀ?ïGÀ?åÌ€?Æ?2?o€?Ť?´t?§Ì?ÑÓ?Ãï?äh?ï¾€?îá?íDÀ?ï¦?ð?ïø@?ïèÀ?ïõÀ?ð?ð?ï·€?ïk€?ïù?ïÑÀ?ïý?ð?Ѐ?Ò€?î¡@?ïš@?ç›À?ï2€?ì-@?ïõÀ?éI?p ?£8?Š?Íw?ßû?Ì¡?àëÀ?êèÀ?ïÀ?ï~À?ïî@?ïÂÀ?ïö€?ïÔÀ?ïò@?ï©À?ð?ð?ëÐ?ïî@?ïÓÀ?ð?ïq@?ÈV?H?â¡€?îò?íY?îÀ?ï‘À?ð?î6À?îÁ@?± ? Ø?Û?âó?ÚÀ?çüÀ?ï"?î÷€?î!?ïüÀ?ð?ïù@?ïù@?ð?ð?ð?ïö?ð?ð?ð?çƒ@?p€?K?àK€?ë€?ì§€?ê΀?îG?ïo?ïó€?ð?äÖ?P€?L?ÕÑ€?ç€?Ù!€?î?ï¨À?ïì€?ï±?ïè€?ð?ïù@?ïè?í›@?ïí?ð?ð?ïÈ€?ç©?Êc?ǧ?<?Ç^?ìK?é΀?ïî@?ïë€?ïá@?ïa@?ïêÀ?ïñ@?ÐÞ?Ÿà?à?âG@?ä|€?ë.À?ï5@?ï¾À?ïäÀ?ð?ð?ð?ï×€?äð?ã,?ð?ð?àÛ€?[?à¼@?íT@?î:@?ð?ï¯?ð?ð?ï;?çäÀ? ¸?(?Ø €?æãÀ?áý?ç{€?ï‘@?îü?ï%€?ïê€?ïD@?ð?ð?ð?ð?ïvÀ?ð?ììÀ?¯?£Ü?ƒà?Æ6?âÉ?á{@?ï @?ð?ð?ïµ?è?˜ø?’Ø?å!?ìà€?çK@?é¥@?ïï@?ï„€?î0?î’?ð?ð?ð?ð?ïëÀ?ð?ïï@?ä¶? ü?·?³f?¦?ÝË€?è.?å³À?¼ˆ?Óu?é À?éª?éa@?ìèÀ?ï²À?雀?é÷?á7?êï@?ð?ïù@?ïê€?ïñ?ïû€?ð?ìÚ?»ä?À„?±²?‹P?å9€?™Ð?Õ}€?µ(?ÒÞ?ç€?ïÌÀ?î\À?ë€?ïÀ?ïæ€?ïÀ?ð?ïý?ïê€?ïÙ€?ïÀ€?ð?ð?ì6?¿š?{ ??Ç-?Æa?Í6?ë¼À?ïÅ€?î€À?í°@?ë€?î^€?ïïÀ?ïù€?ð?ïâÀ?ïð?ð?ïì€?ð?ïþ€?ï@?ëŸ@?X?•ð?¸’?à^À?ìtÀ?îÀ?ï ?ïðÀ?íÓÀ?ïJ€?ð?ïÜ€?ð?ïüÀ?ð?ð?ð?ïïÀ?ð?ïÿÀ?í/@?~ ?¸Ð?á¦@?àáÀ?⚀?ç?ïX@?î€?îËÀ?ïZÀ?ð?ð?ïì€?ð?ð?ð?ïÀ?ïð€?ïßÀ?ï¥@?å€?Üb€?åd€?ã?ì»@?ë?íç@?î§€?ïÌ€?íì?íR@?ïé@?ïó?ð?ï²@?ïÒ€?ïÁÀ?ï˜À?ïmÀ?çÔÀ?°L?~À?À;?qÀ?á@?ç€?âc€?쬀?ð?é÷?ìÝ?ïì@?îä?ï•@?ð?ïö@?ïæ?ïÏ€?ï‹@?ïö@?ïø€?ÝÌ€? ?4?Z?æ?ÖZ?­ ?Â&?á&À?æp?êY@?í6À?ð?ìÎ@?å]?ï¸?ë$?ìI@?ï†À?ð?ïÒÀ?ïßÀ?ïé?ïG@?àFÀ?Z€?‹?é¶À?çï@?â&À?Õæ?Õ?é€?ê²À?èw€?ð?íL€?ïw€?ï4@?ïÞ?ï#€?ïÑ@?ïüÀ?ïù€?ï¼?ïÙ@?ï€?È?ׄ€?Ѐ?Ù€?›h?Öü?æ²@?ç €?ê=?鹿?꬀?ä¿€?ëkÀ?ïùÀ?ïÉ?ð?ð?ïK€?ð?ïF€?ïá?²Þ?½,?Úï€?âÇ@?éÓ@?î³€?êÛ@?ë?였?ïû?ïì€?ð?ð?ïÿ@?ï=@?軀?Ýi€?n€? ô?s`?á‚@?Ø«€?æF€?î~@?éõ€?è?ìü?ïë?ïö@?ïê?ïóÀ?ïàÀ?Õ?N?Ç*?¹¸?{`?ÐÊ?á ?å@?Ꟁ?ï €?ï߀?ïøÀ?ð?ïú€?ïú€?ïß?ìgÀ? ?¶"?ä?âúÀ?í—€?ë×À?ëžÀ?ï{À?ð?ð?ïìÀ?ïÔ€?ë(€?a?„`?ƒ°?{?—ˆ?e@?aÀ?Ó®?Ò€?Ñó€?ê×@?ê¿€?î7€?ïêÀ?ð?ð?ïð?ïïÀ?í½@?º$?­?ÜA?ä€?ײ€?é €?à_À?¢´?Ã?Ø‚€?ÜŸ?ä³?åhÀ?ä)?ïf@?ïXÀ?ïçÀ?ï×À?ïäÀ?ïH€?Úz€?²ò?Éã?å)@?âí?ä‰?éo@?ܹ€?¡t?°X?Ú߀?á€?âf?æé€?étÀ?ð?ïè€?ï–?ïâ@?ïíÀ?è¼@?ê\?¶4?$?Öâ€?Ïý?ÑŽ?ß?Ç ?d€? `?¡|?i?¸ ?àHÀ?êº@?ä}@?äu@?çÀ?ìŒÀ?îÿ€?䚀?Þ×?ÀÙ?›?‰p?ƒ?t€?–?’?¹ê?Î}?Ñ €?êa?ç À?ì7?ÜÎ?ã©?Ó"€?è»?ït€?ë€? Ì?Š€?Ⱥ?Ë?Öæ€?ß—?çª?Û›?çRÀ?Úá€?垀?íÃ@?îâ?è;?· ?Øq€?å·À?åûÀ?è¤??Ù]€?ɦ?ÑÝ€?좀?ït@?ã¯@?a@?ˆp?àÀ€?éV€?áY@?â?Ü›€?ÜÜ?ïÏ€?뜀?ïÕ€?ï±?Ý€?E?ƒð?Âz?¬À?V?”H?­ ?ΰ?Ùb?àé@?âˆ?߈€?áÀ?é½@??ï²€?îVÀ?åð?¨Ì?¸*?áF?⪀?¤Ü?Š`?ª?˜à?‚À?°?Ðé?Þ?æ¥À?ë³À?í@?ì @?ì¹?êrÀ?êXÀ?ï÷À?ëÝ@?Ú“?ω? œ?ÂÄ?g@?‚À?Ò(?áR€??6?»þ?× ?Ý!€?å0€?ê@?æ ?æ_À?ë•@?ã€?ä„À?Øx€?ć?¼’? €???´~?p€?«d?Û ?à?@?è/À?Óó€?Òz€?Ç·?´?„0?©Ð?Àc?È ?Ä? d?«Ì?Š`?—ø?k€?y`?˜ð?±®?U?>?•È?€ ?˜X?a?Àè?Ís?®L?–?µ¢?w?,?gÀ?‹à?4?°@?±Ð?°š?eÀ?„`?³?Ýj€?Ât?f€?8?¡´?Çl?Çl?³^?>?ÇR?×Ì€?¿t?šè?º¸?J?°ì?T€?ˆà?Ù—?Èf?Œ€?vÀ?¸”?q@?Œ?v?Ѐ?æ\?Ýž€?â«€?Û`?«ø?¡ ?½F?½€?ߨ?ë]€?Ûì€?Ìî? h?S€?(?ƒ0?Úç€?¢°?âL@?ï?ð?ÜM€?êI€?ÅÉ?[€?Žð?ãx€?×e€?Ô"€?Û¬€?ïI€?ð?ï…@?¿¸?Ý_?ʬ?T?h?©$?áY@?Ù5€?èd?ïÉ€?ð?ð?Û^€?¤$?çÚÀ?ܦ€?[?P?Я?|`?j@?³?£?S€?…à?Ü?çÅ?ð?ð?ð?ïë€?³$?Z€?n@?Å—?ð?ïþ@?Û€?À?èÝ€?È¿?¿T?îÞ€?ìe?Ñ©€?–€?¤´?ד€?ã=@?ˆ`?Ðw€? ,?à_@?ð?ð?ð?ð?êJÀ?j@?¦´?Æÿ?×o€?Õ‘?Åõ?×·€?¶Ð?™`?¨l?©„?º?½à?ð?ð??èÀ?ã÷À?îü@?ð?îÚ@?î<€?ð?ð?é@À?cÀ?Æ?àc@?è€?Ø*?`€?Çf?ÚQ€?ʤ?§è?Ï??ãŒ@?`€?P€?¼?ÉE?Öï?ïD?ð?ð?ð?ð?Ú;?G?Ña?éA@?ïý€?ð?ð?ïøÀ?â¸?t@?çà@?æF@?§Ô?e€?g?Ðl?åj?ïm?äÿ€?ÑI€?í@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í½?ÐQ€?ŽP?Z?äž@?ð?ð?ð?è?`@?´ª?ÍÏ?è@?¯h?̧?ç]€?â<€?ØÛ€?²?q@?䮀?ë‡?åd€?æž@?ê€?è¿?ïè€?çB€?À.?©P?i@?µ¶?“P?Ƹ?Ѿ€?ìõÀ?ð?ð?ð?ð?êž?€0?«ì?z`?Ê‚?ð?ð?ð?ð?ð?ð?ïü€?ì(?ÀÒ?Ëí?îÏÀ?êZ@?ì À?è{?ïsÀ?ð?ð?ï ?Ê?pà?Ñ?áYÀ?Ýk€?ݘ€?àЀ?ì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ì:@?㣀?Åé?±?ÚP€?í€?ð?ð?ð?ï-?êA??Ö1?m€?ä×@?äaÀ?Ë|?í@?ð?ð?ê°€?Ç?à’À?ð?ð?ð?ð?ð?ð?ð?ð?îö@?ãã€?ß!?ÃÏ?†?º˜?„À? ?¼p?Â?ß6€?ð?ð?ð?ð?ð?Þ×?À×?à¿@?´`?ì)€?ð?ð?ð?ð?ð?ð?âOÀ?È0?y ?>?W?åá@?ð?ð?ð?ð?ð?ð?ð?ë…€?ë÷@?ïî@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?êr?åô€?ð?ð?ð?ð?ð?ð?ð?ð?íÀ?Ü?Ý&€?áïÀ?å¹À?è\€?ïû€?ð?î€@?ð?ð?ð?ð?çË€?Æ9?×S€?è´€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð??î@?ê-?Ó€?á°@?Çe?Ðã€?çÌ@?Ô?³’?æ(À?ÒÞ€?Ý?ð?ð?ð?ð?ð?ð?çŠ@?¢?•ˆ?Ú?²z?ÈÃ?몀?ìÜÀ?ëF?ïè€?ð?ð?ð?ð?ð?ïþ@?ïü@?ëÚ@?Ó€?¿?®0? ?S€?u`?ÂÌ?ëq?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïý?ïk@?èÀ?Ë?O?»„?ºÞ?ìjÀ?æÖÀ?é_€?ð?ð?ð?ð?ð?ð?ð?ÄI?Àn?Ò¶€?ð?æô@?ã+€?ïË@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÐ?ïà€?í£€?åûÀ?à†?èð@?å‡?Ø—€?ÑK?°D?‘¨?°8?ˆà?æd€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ä>À?­Ô?Àq?Ù²€?߀?߀?èÊ@?ð?ð?ð?ð?ð?ð?ð?Ç?l@?Ç(?Úá€?îû@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÉ€?íÀ?éa@?ëu€?¼n?àÁ€?ê À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?è¼€?ë=€?Ü3€?wÀ?X?Ã}?íÃ?ð?ð?ð?ð?ð?ð?æÂ?¸t?á“€?ïù@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïØ@?Ìô?Åõ?î¤À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïå?àî@?ÔJ?ʨ?Çb?ŽÀ?Âp?Ë®?p€?W€?¤ ?êX?ð?ð?ð?ð?ð?ð?îÎ?çØÀ?Ó€?à«À?W?Ô?îo€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê!@?ÕÄ?‡À?p?è2€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïþ?ïÿÀ?ð?ïXÀ?í«?ï÷€?ïˆÀ?Õª?¹‚?u ?i@?”@?°‚?k@?tÀ?ºX?îàÀ?ð?ð?ð?ð?ð?ð?ð?ì´@?Þ}€?Óq€?¿Ž?¹p?î—À?ézÀ?È@?µv?ïf@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ@?æŠ?§<?‚P?S?Þš€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïdÀ?ä¤?ÛË€?ÍF?v ?’x?[?@?ÆÌ?ë}€?è5€?¼º?ä€?ð?ð?ð?ð?ð?ð?ð?æ,À?Ð_?ÜÉ€?å¼À?Ö]€?ãq€?“ø?–ø?åì@?î…@?á$À?¦ ?îŸ?ð?êO?Ìv?§4?“@?Å–?ïûÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?éÀ?¤è?â‘À?×ð€?çn@?ï߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï$€?è @?Ò?^?¬ä?Ø"?ïYÀ?íÂ@?Æ–?ãjÀ?ð?ð?ð?ð?ð?ð?ð?ð?ºT?Ö³?므?p ?0?…0?‘ð?à™?ð?éš?ßÝ€?à@@?ÌX?À??‡`?ª$?Û€?î¸?ð?ïýÀ?ïsÀ?ïü€?ð?ð?ð?í?ÔZ€?â,@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ä €?îóÀ?ïúÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïâ?ÔË€?Þ›?é˜À?â'?å?ð?ð?ð?Ñê?ëuÀ?ð?ð?ð?ð?ð?ð?ð?à΀?^€?ãÈÀ?ð?éh@?ê±€?Ú6?Òç?Õ¢?ÒÙ?Ó¤€?ä¡€?äþ?â“?êK?éÀ?ãè€?ð?ð?ð?ð?ð?ï˜À?ì™@?íÕ€?äC€?Ð’€?Ô€?›(?Çœ?Öê?ì €?ë¦À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê–?ïº@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ë%@?±?‰Ð?¼î?Û€?ð?ð?ð?ð?ð?í°?ð?ð?ð?ð?ð?ð?ð?ð?Öñ€? Ø?èS@?ïÒÀ?ð?ð?ð?ð?ð?ð?îÀ?ï!?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èæÀ?î~?ïÒ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï¯@??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï©?ëHÀ?Ùv?È-?¿þ?“È?ŒÀ?˜Ð?ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é€?š8?Ô…€?»d?Ì?߸?å®?èK?íÀ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í¨@?í†@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?îµ?ð?íÅ@?à.@?€@?⥀?ç €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìºÀ?‰Ð?Ú<?ð?ísÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÿ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?å”À?º ?>?ºÖ?ÕC€?î•?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïô€?¼ª?˜À?è±À?ï¨?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìøÀ?Ö?¾†?¹`?ìÝ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ð{€?çâ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÀ?ÝX?¹F?ÍZ?Ì™?Ê ?Ó’?Öý€?…à?B?â~@?ï´€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Öè€?Ám?Óe?ìîÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áÂÀ?l€?€?ÁB?í·À?ð?ð?ð?ð?ð?â<??ÉU?Õy€?ïEÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ü?Á“?è¦@?ïùÀ?ï$@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æ%@?j€?Øš?ð?ð?ð?ð?ð?퀀?Ñ.€?Ö`€?ÑÙ?Ô?æÿ€?ê«@?êº?Г€?Ú?ÞP€?ä5À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ý£?ÍÕ?×?€?ß|€?ïê@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïŠÀ?Ù8?gÀ?xà?Õ^€?ï•?ð?ð?ð?ð?ð?ï÷€?ð?ð?ð?ð?ð?ð?Ûù?ÈV?—?à“€?ä³€?ÜØ?ÓÌ€?Ê ?Ö?ïÀ?î«À?çs@?ÛD€?³ö?ìu@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÑE?Ü•€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íÿÀ?裀?¢T?«´?âz@?½ ?Ʊ?ÄU?éÜ?ì#?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïç€?í+€?ð?ð?ð?ð?ð?ÝÕ?ì#€?ð?ð?îÚ@?ãýÀ?éd@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï@€?Çi?»ê?ïaÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é4€?Á?ÂÛ?Å”?8?Ôá€?ïù€?éäÀ?ßÉ€?Ô€?©,?äú€?Æ‚?Ë?çØ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïž@?ïë@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ätÀ?Ú €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïã@?çÏÀ?‹ ?‚?ω?ä}?ïßÀ?ð?ð?ð?ð?í#?ä€?ÝØ€?ÜŒ?Ó?âÓ€?¤d?è@?å«@?a?å¶?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é‡@?F?±à?é'?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îW@?µz?ž ?Ê?Ól?è!?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?í@À?éÏÀ?Ü ?Ù0€?éü?䨀?å$€?™ˆ?Î?îúÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çq@?Œ?ßw€??ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëì?Õê€?ÀX?•h?ÐW€?åÎ@?é²@?ïÐ@?ïþ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ê@€?ÝO?ìà@?ð?×ð€?P€?몀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïí@?Ð?ã›?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÞÞ€?˳?ïÕ@?êH€?îÆ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?é×?ëE€?ÕÚ?çVÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?€?Õ€?” ?è)€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?îôÀ?èâ€?¾°?sÀ?¥?ݰ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï*?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïî?à×@?•Ð?Í?æ3À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?æa@?¥Ü?‰?@?ʉ?àtÀ?ìŽ?ï €?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?çv€?°¾?ÙÕ€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áé?„?»ü?«ø?è߀?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ès?ªD?X?çƒ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðu?×x?äÀ?åÞ@?ïÚÀ?í¼À?îØ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ëšÀ?ÆË?Ê-?êß?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?áÄÀ?×ÿ€?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?î¤@?Òõ€?Šp?ãÁ@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?á„@?¤”?²p?‡ ?@?ÖO€?ê@?âÀ?à΀?Íà?ïþÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÖ€?èºÀ?Ïâ?q?Ù}?éHÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ãW?á?À?äp@?àç€?ìóÀ?ã@?Òy?ˆ?Ér?ð?ð?ð?ïÇ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?èÎ?Äb?Ó?ï?@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?íøÀ?Ù’?ã€@?ð?ð?ð?ð?ð?î^@?ᦀ?o@?¯ð?à‡?èç@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ìT@?Ò±€?·ê?åƒ?×o?¥”?³?¯Ð?í€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïÛ?ð?ð?ð?ð?ð?ð?ð?íFÀ?Ö€?Äv?R?m@?Ù³€?ìì€?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ïo?æs€?ïÂÀ?ð?ïäÀ?ïÅÀ?îÁ@?î8À?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?혀?êÇ@?é)@?æ¯À?åg?äòÀ?ää@?är?߀?ïÀ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ðemoslib-000392+dfsg.1/land_sea_mask/ksm_xx_lsm0p5deg0000755000175000017500000007735212127406245023374 0ustar amckinstryamckinstryÿÿüÿÿÿÿüÿÿÿÿðÿÿÿÿÿàÿÿÿÿÿÿð?ÿÿÿÿÿÿùðÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿ€ÀÃÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿø€?à?øÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿüüÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿøÿü?ðÿ?ÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÀÿÿ€>?øÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿ€|þàüÿïÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿþü`À?ÿþÿÿÿÿÿÿÿÿÿÿÿÿüððàÿðÿÿÿÿÿÿÿÿÿÿÿÿÀøÿÿàÿÿÿÿÿÿÿÿÿÿÿÿà€ÿÿ€øðÿÿóàÿÿÿÿÿÿÿÿÿÿÿüøÏÿÿÿàÿÀ?øðÿÿÿÿÿÿÿÿÿÿ€øÿÿÿÿÿàÿÀÿÿøøpÿïÿÿÿÿÿÿÿÿÿÿÀÀÿÿÿÿÿÿÀþüÿÀüÿÿÿ€ÿÿÿÿÿÿÿÿÿþÿÿÿÿÿü€|ÿÿÿÿÿÿÿÿÿ€ðÿÿÿÿÿÀÿþ?ÀÿÿÿÿÿÿÿÿþàÿÿÿÿÿþÿðàÿÿÀüàüüÿÿÿÿÿÿÿþ€?ÿÿÿÿÿÿÿÿÿÿÀÿÿðüüƒûÿþ?ÿÿÿÿÿÿÿð>?À?ÿÿÿÿÿÿÿÿÿÿøàÿßÿÿüÿ8ûÿÀ?ÿÿÿÿÿÿÿàþ?Â?ÃÿÿÿÿÿÿÿÿÿÿÿÀÿ÷àÿÿÿ~þ0÷ÿÿà?ÿÿÿÿÿÿÿàÿ?ýÿÿÿÿÿÿÿÿÿÿÿàqÁÿÿø~ÿÿÿ |ýÿÿÿ€1ÿÿÿÿÿÿÿðÀÿÏÿýÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿð€ÿÿÿþÿÿÿÿàÿÿÿÿÿøøÿøÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿàÿÿÿÿÿþÿÿÿÿÿÿð ÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÀÿÿÿüÿþÇÿÿ€ÿÿÿÿÿÿÿÀÿÿÿÀ€ÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿøÿÿÿÿÿÀÿû?ÿÿÿðàðÿÿÀÿÿÿÿÿÿ€ÿÿÿ€p?ø?Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿøÿÿÿøÿƒð?öüÿÿÿÿÿÿøÿÿÿÿÿø pÿÿÿ?çïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿðxÿ‡ðÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿxÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀ¿ÿðýÿøÿÿÿÿÿÿÿÿÿÿÿààÿÿÿÿÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ?ÿŸüÀÿÿÿÿÿÿüÿÿÿÿÿÿàpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿøÿÿàÿÿÿÿøÿÿÿÿÁÿ€ÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÀÇÿøÿÿÿÿà?ÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿðÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿðÿ‡ðÿÿÿÿ8àÿðÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÄÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿüÎÿÃÀÿÿÿ€ÿøÿÿàÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÏÀÿŸàÿÿÿÿøÿÿàÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøçÿüÿþÿàÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðþÿþ?ÿþÿ?ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿþ ÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿà?ŽÿøÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþpàÿðÿÿàÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿþÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿüÏþÿðÿÿàÿùüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀxÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿ€ÿàÿÿàÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€`ÿÿ€ÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿðÿðÿàÿÿðþÿ˜pÿÿÿÿÿÿùÿÿÿàÿø€ñÇðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøüÿøÿÿÿÿÿÿÿÿÿÿàÿüÀÁÿÀþÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàøøÿÿÿÿÿÿÿÿÿÿüÿÿàÀÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€øâßÿÿÿÿÿÿÿÿÿþÿÿÿð€À ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüsÿÿÿÿÿÿÿïÿþÿÿÿøðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ü'ÿÿÿÿÿÿÿÿÿÿøÿÿÿøð|?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿþpÿÿÿÿÿÿÿÿÿÿÿÿÿÿøàxxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿàÿøàÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿüàyÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿðÿÿÿÿÿÿÿÿÿÿøÿÿÿÿø0?ÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÏÿÿÿÿÿþÿð@ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀùü8<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÀÿÀÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿøø~?óÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿã€ÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿüð?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÂÿÿÿÿÿÿÿGÿÿÿð?ÿÿÿÿÿð?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿî|ÿÿÿÿÿÿþCÿÿÿúÿÿÿÿÿ€ðÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿî|ÿÿÿÿÿÿÿcÿÿÿøÿÿÿÿÿ€ðÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿÿÿÿÿþ8ÿÿÿÿÿÿÿùÿÿÿüÿÿÿÿÿ€ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÆ0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€?ÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿá€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÇÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿƒÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇ=ÿÿÿÿÿÿÿÿþÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡€ÿÿÿÿÿÿÿþÿÿÿÿÿÀp€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿ„Ÿÿÿÿÿÿÿßÿÿÿÿÿþøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ„Ÿÿÿÿÿÿÿÿþÿÿÿüÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿøÿÿÿûø?øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ ÿÿÿÿÿÿÿÿàÿÿÿÿþvÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿƒÿÿÿÿþÿÿÿÿÿÿÿü~ÿÿðÿŸÿÿøaÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿßÿÿÿÿþÿÿÿÿÿÿÿøÿÿÀ?þÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿûÿÿÿÿ£ÿÿÿÿÿÿð>ÿÿ?üÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÀÿÿÿýüÿÿÿ‹ÿÿÿàÿþÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿Àÿÿÿÿÿÿÿÿÿ‡ÀÿÿãðÿÿÿÿÿÿÀÿüÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÏÃÿÿÿÿÿÁÿÿÿÀÿþÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿ‡üÿüÿ<ðÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿÿÿÿÿç€ÿðüüðÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxÀÿÿÿÿÿÿÿÿÿÿÿÿàÿÿþ!øÿÿÿ?ÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿüæÿÿÿÿÿÿÿÿÿø?ÿàÿÿþ þÿÿ€ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð@ÿÿÿÿÿÿÿÿÿŸÀÿÿàÿÿø ?€ÿÿ€ÿ€ÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿçÿÿÀÿÿÀ0àÿÿÿûÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð@ÿÿþÿÿÿÿÿÿÿÿÿþÿÿÀpùÿ?ÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿàðÿÿÿÿÿÿÿÿÿÿÿÿøÿÿ€0Àüÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ðÿÿÿÿÿÿÿÿÿÿÿÿðÿÿpÀ~ÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþpÿÿÿÿÿÿÿÿÿÿÿðÿÿ@>ÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÀÿÿÀƒÿÿÿýÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?€à?ÿÿÿÿÿÿÿÿÿÿÿÀÿÿ6ÿÿÿÿïÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÀÿÿÿÿÿÿÿÿÿÿþ@ÿþ ÿÿÿÿïðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüpààÿÿÿÿÿÿÿÿÿÿÿÿü8 ÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøàÀÿÿÿÿÿÿÿÿÿÿÿøÿüxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀàÀÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€àÀÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÀÿÿÿÿÿÿÿÿÿÿÿ ÿÿüpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€üÿÿÿÿÿÿÿÿÿÿþÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÀÿÿÿÿÿÿÿÿÿÿüÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€½€ÿÿÿÿÿÿÿÿÿðÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀxÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿü>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿþÿÿÿÿÿþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿüÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðçÿÿÿÿÿÿÿüÿÿÿÿÿÿàÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðãÿÿÿÿÿÿÿüÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀaÿÿÿÿÿÿßøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðaÿÿÿÿÿð|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð8ÿÿÿÿà0<ÿÿÿÿÿÿÿÿÿÿßÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð ÿÿþ?ÿÿÿÿÿÿÿÿÿÿùÿÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿüÿÿÿÿÿÿÿÿÿÿÿðÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿüÿÿÿÿÿÿÿÿÿÿÿðÿÿÿð¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿøÿÿÿÿÿÿÿÿÿÿÿøÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿÿüÿÿÿÿÿÿÿÿÿÿÿø?ÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿüÿÿÿÿÿÿÿÿÿÿÿü?ÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÁÿÿüÿÿÿÿÿÿÿÿÿÿÿüÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿøÿÿÿÿÿÿÿÿÿÿÿþÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿø0`ÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿðp?ÿøÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÀ`ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿ€`ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿø@ÿøÇÀÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÀÿøøÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿþ¿ÿÿþÿÿÿÿÿø€ÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿü?ÿÿüÿÿþÿüà€ÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿø?ÿÿü?ÿÿüÿüÀàÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿð?ÿÿøÿÿø @ÿþ€àÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿð?ÿÿàÿÿð<`ÿÿ€øÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿð?ÿÿÀÿÿð<ÿÿ€?€üÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÀ?ÿÿ€ÿÿð8 ÿáÿþÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿ€ÿÿÿÿøxÿÿÿ@8ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿþÿüÿÿüxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿüÿøÿÿþxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÀÿøŸÿÿxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ€ÿàÿÿ€ð‡þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÀàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿøÿ€ÿÿÀpÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿáÿàÿ€ÿÿà0ÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿ€ÿÿà4?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿùüÿ€ÿÿàÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿýàÿ€¿ÿà ?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ€ÿà `?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿà €Èÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿà0€Œ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ€`€¿?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸþ~À?ÿðàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü~<ÀÀ¿ÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü|8à@¿ÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü8À yøÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø8à€x?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðà€øÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðð€|ÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàðÀpÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿàðp0pÿÿÿÿøÿÿà?ÿÿÿÿÿÿÿÿÿÿÀ@xp0ÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÀ|üÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿ€ð~üÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿø>øÿÿÿÿÿÿ€@ÿÿÿÿÿÿÿÿÿx>ðÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿþ>ðÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿàÿÿÿÿÿÿÿÿøÿðÿÿÿÿÿÿàÿÿÿÿÿÿÿÿàó€ÿðÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÀù€ÿø€ÿÿÿÿÿÿøÿÿÿÿÿÿÿÿü?ÿü8@€ÿÿÿÿÿÿðÿÿÿÿÿÿÿþþ?ÿð€€ÿÿÿÿÿÿÿðÿÿÿÿÿ‡ÿüÿÿðÿÿÿÿÿÿÿøÿÿÿÿïÿøÿð` ÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿðÿážøÿÿÿÿÿÿÿþðÿÿÿÿÿÿð?€ÿÁøøÿÿÿÿÿÿÿÿþÿÿÿÿÿÿà?ØÿðxÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÀüÿð8Àÿÿÿÿÿÿÿÿÿ`ÿÿÿÿÿÿÿ€ü‚ÿƒ˜x|ÿðÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿð˜?ÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿðœÿÿÀÿÿÿÿÿÿÿÿÿÿðÿÿÿÿïÿþðŒÿÿà ÿÿÿÿÿÿÿÿÿÿøÿÿÿïÿþð„ÿð€ÿÿÿÿÿÿÿÿÿÿþÿÿÿïÿüp€ÿð ÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿïÿüÿþ<ÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿçÿþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿ÷ÿþÿÀÿþÿÿÿÿÿÿÿÿÿÿà?ÿÿÿûÿþÿÀÿþÿÿÿÿÿÿÿÿÿÿàÿÿÿûþøÿ?ÿÿÿÿÿÿÿÿÿÿàÿÿÿýÿþ|ð ~€ÿÿÿÿÿÿÿÿÿÿÀÿÿÿßÿÿ08>À ÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿ€àà€ÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿóÿÀÀðÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿ€ÿÿÿÿÿÿÿÿÿþÿÿÿÿûÿÀÿÿÿÿÿÿÿÿÿüÿÿÿÿûÿ€ÿÿÿÿÿÿÿÿÿüÿÿÿÿûÿÀ8ÿÿÿÿÿÿÿÿÿøÿÿÿÿûÿÀ0ÿÀÿÿÿÿÿÿÿÿÿø?ÿÿÿÿûÿÀ0ÿ€ÿÿÿÿÿÿÿÿÿà?ÿÿÿÿûÿÀ8ÿÿÿÿÿÿÿÿÿÿàÿÿÿÿýÿÀøÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÀøÿÀÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÀøÿÿà?ÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÀø?ÿÿ€àûÿÿÿÿÿÿÿàÿÿÿÿÿÿÿ€ð?ÿÿààùÿÿÿÿÿÿÿàÿÿÿÿÿÿÿðÿÿÿððÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿüðÿÿÿþ?ðÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿðàÿÿÿÿ?ø?ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÀàÿÿÿÿÿøÿÿÿÿÿÿÿÀÿÿÿÿÿÀàÿÿÿÿÿøÿÿÿÿÿÿÿ€ÿÿÿÿÿàÿÿÿÿÿøÿÿÿÿÿÿÿ€?ÿÿÿÿþÀÿÿÿÿÿþÿÿÿÿÿÿÿ€ÿÿÿÿüÀÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿüÀÿÿÿÿÿÿÿÀ@ÿÿÿÿÿÿÿÿÿÿÿþÿ€ÿÿÿÿÿÿÿà ÿÿÿÿÿÿþÿÿÿÿþÿ€ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿþÿÿÿÿþÿ€ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿüÿÿÿÿþÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿ€ÿÿÿÿþÿÿÿÿÿÿÿÿÿüÿÿÿÿÿüÿÿÿÿþþÿÿÿÿÿÿÿÿþÿÿÿÿÿðÿÿÿÿþþÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÀÿÿÿÿð|ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿ€ÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿþÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿþÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿþÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿþÿÿÿÿ€ÿÿÿÿÿÿÿÿÿà?ÿÿÿÿþÿÿÿ€ÿÿÿÿÿÿÿÿÿð?ÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿüÿÿþÿÿÿÿÿÿÿÿÿà?ÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿà?ÿÿÿÿðÿÿüÿÿÿÿÿÿÿÿÿàÿÿÿÿÀÿÿøÿÿÿÿÿÿÿÿÿàÿÿÿÿÀÿÿðÿÿÿÿÿÿÿÿÿÀÿÿÿÿ€ÿÿàÿÿÿ€?ÿÿÿÿÀ?ÿÿÿÿÿÿÀÿÿðÿÿÿÿ€?ÿÿÿþÿÿÿÿ€ÿÿÿÿÿÿÿþÿþÿÿïÿÿþÿÿÿüÿàÿÏÿÿþÿÿÿø€üÿÿüÿÿÿóð8ÿÿüÿÿÿøÿÿøÿÿÿü!ÿÿøÿÿÿüÿÿøÿÿÿþÿÿðÿÿÿþÿð€ÿÿÿü?ÿøÿÿÿøžøÿÿÿððÿÿðÀÿÿðÀÿÿðÀÿÿð1€c€ÿüà?€øÿü€ð ÿüð ÿþ€à ÿþÀÿü?ÿüþÿüþ ÿðüÿÀøÿÀp?ÿÀÿàÿø?ÿø?ÿà ÿÀ0?ÿ€ÿ€þüüðþ üïçÏÀ?ðð üGàÀàcÀÿ€>ÿÿàðÿÿÀÿÀÿÿÿÿ€üÿøþ'ÿàÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿûŸÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿ€ÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÀÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€pÿ€€ÿÀÿÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþùÿÿøïÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿáÿùÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿ˜€ÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿemoslib-000392+dfsg.1/land_sea_mask/r160_xx_199408230000755000175000017500000004070412127406245022404 0ustar amckinstryamckinstry>~?ûÿ ¿þ7ßÿÀþÿ>üÿpGóÿþ W¿ÿü€ÿø<ÿü@ð`ãÿÿà€ü— ÿÿàüpùwÿàÀÿðæÀÿÿøþÿÿÀÿÀ xÀÿø ÿþpÃ>ü?ÿà ÿÿðòtº?ÿðÿÿþÀ;øÃüÿà€ïÿÿÿø€ÿŠ?àÿÿÀ€ïÿÿÿýÿä@ƒ?øÿÿ@ÀïÿÿÿÿÿþàÃ?üÿÿ@À{ÿÿÿÿÿÿà þÿŽüÿÿÀþ@s¿ÿÿÿÿÿÿÿ¿ÿóÿŸñ0Ãðÿÿÿ€{¿ÿÿÿÿÿÿÿÿ€?ÿÿÿ÷´ÁàÿþÿÂ?ÿ¿ÿÿÿÿÿÿÿÿÀ?ÿÿÿða=ÀðÿøÿøŸÿóÿÿÿÿÿÿÿÿÿðÿÿÿÿï÷Ü'à?ÿ€ÿü¿ÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿüð?ÿ€?ÿxÿÿïÿÿÿÿÿÿÿÿÿþÿÿÿŸÿÿü øÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿþ?ÿÿðÎÿðx?ÇðÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽÿÿÿüÿÿ¨äÿ€ø?Ïòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì>àÿøÏùÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÞðÿðÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿ€t?À?ãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿà€øþ?ûÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿûÿþ€ðþ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿüÿÿ€ø~ðþ?ÿÿÿÿÿÿÿÿÿÿÿÿþø?ÿ¿ÿÿùÿÿ€ü<øó?ÿÿÿÿÿÿÿÿÿÿÿÿü?ûÿÿÿÿÿü øÿÿÿÿÿÿÿÿÿÿÿÿÿþþÀ?ÿÿÿÿàÂÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàpþÿÿÿÏÿÀá€ËÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿÿÿÿà?óÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿøàÿÿÿÿÿðÿÀ‚ÿÿÿÿÿÿÿÿÿÿÿÿÿðð_ÿÿÿßðÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàà2_ÿÿÿÿþÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàð@ÿÿÿÿÿÿànÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀ€ÿÿÿÿÿÀÿðxÿÿÿÿÿÿÿÿÿÿÿßÿÿü€ÿÿÿÿÿþÿÿ€<@ÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿø?ÿÿÿÿÿÿÿÿÀ˜ÙÿÿÿÿÿÿÿÿÿÿÿþÿÿùxÿÿÿÿÿÿÿÿÀ8ÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿà¿ÿÿÿ×ÿüÿÿ€<ÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿØ#ÿÿÿüÿÃÿÿþ~ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿØÿÿÿý?ÿãÿÿþ~?ÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿøÿÿÿÿ¿ÿóÿÿþ8þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØÿÿÿÿÿÿ÷ÿÿø}ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿÿÿûÿÿÿÿÿ Ïÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿæÿÿÿÿÿÿÿÿà†ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæ?ÿÿÿÿÿÿÿÂ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿä ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäÿÿÿÿÿÿþxÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿþÿÿðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿà@ÿÿÿÿÿçÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿÿù‡ÿÿøÿÿÿÿùÃÿðŸÿï÷ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿü0ÿøÇÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿüƒÿÿöÿçÿÿÁïÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü`ÿÿÏÿãÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿüâÿÿœøáÿÿ€ÿƒÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿýã÷ü0ðøÿÿÿÁÿßÿÿÿÿÿÿÿÿÿÿÿþðÿÿÿÿÿùóøàþx?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿØàÿÿÿÿÿøÿÿðÿþ<þ?àÿÿÿ¿ÿÿÿÿÿÿÿÿ€Àÿÿÿÿÿùøðÿþÿ€?àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýóÿðÿøƒÿãüþÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÀ?þ0ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿüÿÀ`ÿÿÿÿÿÿÿÿðÿàÓÁÿÿÿþÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿ?ü 0<ÿÿÿàÿÿÿÿÿÿÿÿÿÿñpÿÿÿÿÿÿÿÿàÿÀAàÿÿÿþÿÿÿÿÿÿÿÿÿÿüpÿÿÿÿÿÿÿüüÿÿïðÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿð?üðÿÿÿðÿÿÿÿÿÿÿÿÿÿþ<ÿÿÿÿÿÿÿÿÀ?ø0ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÀ?ð þ€{ÿÿÿãÿÿÿÿÿÿÿÿûÿÿÿø€Àÿÿÿÿÿÿÿÿ~ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøøÿÿÿÿÿÿÿÿðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€?€ÿÿÿÿÿÿÿÿ€ ÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøðàÿÿÿÿÿÿÿðïÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀpÿÿÿÿÿÿÿüÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ6ÿÿÿÿÿÿÿ€ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàv?ÿÿÿÿÿÿðÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿÿÁÿãÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿþxÿÿÿÿÿÿÿÿïÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ÿÿÿü8ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ïÿÿð8ÿÿÿÿÿÿÿÿñÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿà<?ÿÿÿÿÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿÿÿÿþãÿÿà<ÿÿÿÿÿÿÿÿøÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿüqÿÿàÿÿÿÿÿÿÿÿøÿþ?ÿÿÿÿÿÿÿÿÿÿÿüÿÿà ÿÿÿÿÿÿÿÿÿÿÿÿÐÿÿÿÿÿÿÿÿÿÿÿÿüÿð€ÿÿÿÿÿÿÿÿÿÿ‡ÿÿð0ÿÿÿÿÿÿÿÿÿÿøÀ ?ÿðÿÿÿÿÿÿÿÿÿÿ‡ÿÿðxÿÿÿÿÿÿÿÿÿÿà€ÿðÿÿÿÿÿÿÿÿÿÿÃÿÿÿüÿÿÿÿÿÿÿÿÿÿÁ€ÿàÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿÿ€ÿðÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿüÿàÀÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿüÿÿÿÿàÿà!ðÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿÿÿÿï€ÿð<?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿþÿÿÿ†ÿðü?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿþÿÿÿøøÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿàp`ÿàà€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿüÿÿàà`ÿàààÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÀÿÿøÿÿÀàÿðàø?ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÀÿÿðÿÿàÿüÿÀ À?ÿÿÿÿÿÿÿÿÿÿÿàÿÿ€ÿàÿÿð?ÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿ€ÿÿøÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿøÿ€Ïÿüÿÿ€ÿÿÿÿÿÿÿÿÿÿÿðÿàþÿþxÿ€ÿÿÿÿÿÿÿÿÿÿÿø?ÿà?øÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿþÿ?øÿÿ?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿøøÿÿ€ÿÀÿÿÿÿÿÿüÿÿÿÿÿÿŸàøÿÿ€ÀÿÀÿÿÿÿÿþ?ÿÿÿÿÿÞø?ÿ€ _Àÿÿÿÿÿþÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿà€ðÿŒÀ ÿÿÿÿÿÿÿÿÿÿÿÿð?€ðþÈÀ~øÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ðø hÀÿÿŽ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€àpÐàüÿÿ€ÿÿÿÿÿÿÿ¿ÿÿ¿ÿÿÿ€ä`€BpáþÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿ†?›ÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿþ€~ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿþ€^ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÿÿÿþ?ÿÿóÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøxÿÿÿÿÜÿüÿÿÿÿÿÿÿÿÿø€|Àÿÿÿÿÿ€ÿøÿÿÿÿÿÿÿÿÿðø|?€ÿÿÿÿÿÀàÿÿÿÿÿýÿÿàx|ÿÿÿÿÿàÿÿÿÿÿýÿÿà<ÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÀþÿÿÿÿÿðÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿðÿÿÿÿÿÿþÇÿÿÿÿÿÿðÿÿÿÿÿÿÿüñÿÿ€@?ÿÿÿÿÿøÿýÿÿÿÿÿðøÿÿð`ÿÿÿÿÿøÿýÿÿÿÿÿàþÿþÿÿÿÿÿÿðÿÿÿÿþÿÀüþÿÿÿÿÿÿÿÿÿÿÿþÿ€|þÀøÿÿÿÿÿÿÿ`ÿÿÿÿþÿ€?ü@øÿÿÿÿÿÿÿüÿÿÿÿþ?ÿ? ?øx8ÿÿÿÿÿÿÿþÿÿÿÿÿÿü?Ð?ø>€ÿÿÿÿÿÿÿþ@ÿÿÿÿÿüàø3<<ÿàÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿøà8ÿüÿÿÿÿÿÿÿÿÿÀÿÿÿßÿøà€ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿßÿðà€?ÿ€ÿÿÿÿÿÿÿÿÿðÿÿÿßÿðà€ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿïÿðÿñà ÿÿÿÿÿÿÿÿÿÿÿÿÿïÿð>ÿø0ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿøüÿðÿÿÿÿÿÿÿÿÿ€ÿÿÿ÷ÿðþþøÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÀ ü<?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøNx?ÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿïø0€ÿÿÿÿÿÿÿÿþÿÿÿÿïü@ÿÿÿÿÿÿÿÿüÿÿÿÿïþÿÿÿÿÿÿÿÿøÿÿÿÿçü ÿÿÿÿÿÿÿÿðÿÿÿÿïü<ÿÿÿÿÿÿÿÿàÿÿÿÿïþÿÀÿÿÿÿÿÿÿÿàÿÿÿÿÿþÿ€<ÿÿÿÿÿÿÿÿ€ÿÿÿÿ÷þÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÇÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþ×þ?€ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÿÿ€?€ßÿÿÿÿÿÿ€ÿÿÿÿÿüþÿÿÀ?€ïÿÿÿÿÿÿ€ÿÿÿÿÿøþ?ÿÿð?€ÿÿÿÿÿÿÿ€ÿÿÿÿÿàþÿÿÿüÀÿÿÿÿÿÿÿ€ÿÿÿÿÿ€üÿÿÿþÿÀ0ÿÿÿÿÿÿÿ€ÿÿÿÿÿüÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿþüÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿüüÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿü?ÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿü€?ÿÿÿÿÿàÿÿÿÿ€þÿÿÿÿÿÿþ@?ÿÿÿÿÿÀÿÿÿÿ€þÿÿÿÿÿÿþ0?ÿÿÿÿÿÀÿÿÿÿÀüÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÀüÿÿÿÿÿÿÿàÿÿÿÿÀÿÿÿÿ€øÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþøÿÿÿÿÿÿÿøÿÿÿþÿÿÿøÿÿÿÿÿÿÿüÿÿÿüÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿ?ÿÿ€ÿÿÿÿÿÿÿðÿÿÿþ?ÿÿÿÿÿÿÿÿÿðÿÿÿü?ÿþÿÿÿÿÿÿÿàÿÿÿôÿþÿÿÿÿÿÿÿàÿÿÿðÿüÿÿøÿÿÿàÿÿÿàÿøÿÿ@ÿÿÿÀÿÿÿàÿ€ÿ€ÿÿÿÀÿÿÿàÿàÿðÿüÿÿþ?øÂgÿÿ€ÿÿÿÀ€ø?ÿø?ÿþxÿÿ0ÿÿðŸÿð?ÿÿ€ÿÿÿÿøÿàÀÿÿ€ÿð€ÿÿøÿ€Ðÿÿø7ðÿÿðøÿøÿ0ÿð#ÿÿðàÿà¿ðÀ¿ü€ÿð€ðð>ÿà|ÿÀÿ€À€øÿÿàÿÀÿÀÿÀÀàààð€€ 0`€àøÿž~üÿÿÿÿð ÿàÿÿÿÿÿð ÿàÿÿÿÿþ€ÿÿàÿÿÿÿÿÿðÀÿÿÁÿÿÿÿÿÿü àÿÿþ?ÿÿÿÿÿÿ€~÷ÿÿÿþÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÀ?€Wÿÿÿÿÿÿÿÿÿÿÿÿðÿ€ÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÿÿÿÿ Ùøÿÿÿÿÿÿÿÿÿÿÿ€ ÿÿàÿÿÿÿÿÿÿÿÿÿÿð(ÿþÿÿÿÿÿÿÿÿÿÿþÿõÿÿÀÿÿÿÿÿÿÿÿÿÿÀÿÿÿøÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÿÿÿÿÿø?ÿÿÿàÿÿÿÿÿÿÿÿÿ€Oÿÿþð?ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿ°?ÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÀ?ÿÿÿÿÿÿÿðŸÿÿðÿÿÿÿÿÿÿðÿÿø?ÿÿÿÿÿÿþÿÿó™ÿÿÿÿÿÿþÿÿøÿÿÿÿÿÿÀÿÿàÿÿÿÿÿþ?ÿþ?ÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðemoslib-000392+dfsg.1/land_sea_mask/r160_xx_199308040000755000175000017500000004070412127406245022402 0ustar amckinstryamckinstry>~?ûÿ ¿þ7ßÿÀþÿ>üÿpGóÿþ W¿ÿü€ÿø<ÿü@ð`ãÿÿà€ü— ÿÿàüpùwÿàÀÿðæÀÿÿøþÿÿÀÿÀ xÀÿø ÿþpÃ>ü?ÿà ÿÿðòtº?ÿðÿÿþÀ;øÃüÿà€ïÿÿÿø€ÿŠ?àÿÿÀ€ïÿÿÿýÿä@ƒ?øÿÿ@ÀïÿÿÿÿÿþàÃ?üÿÿ@À{ÿÿÿÿÿÿà þÿŽüÿÿÀþ@s¿ÿÿÿÿÿÿÿ¿ÿóÿŸñ0Ãðÿÿÿ€{¿ÿÿÿÿÿÿÿÿ€?ÿÿÿ÷´ÁàÿþÿÂ?ÿ¿ÿÿÿÿÿÿÿÿÀ?ÿÿÿða=ÀðÿøÿøŸÿóÿÿÿÿÿÿÿÿÿðÿÿÿÿï÷Ü'à?ÿ€ÿü¿ÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿüð?ÿ€?ÿxÿÿïÿÿÿÿÿÿÿÿÿþÿÿÿŸÿÿü øÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿþ?ÿÿðÎÿðx?ÇðÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽÿÿÿüÿÿ¨äÿ€ø?Ïòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì>àÿøÏùÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÞðÿðÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿ€t?À?ãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿà€øþ?ûÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿûÿþ€ðþ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿüÿÿ€ø~ðþ?ÿÿÿÿÿÿÿÿÿÿÿÿþø?ÿ¿ÿÿùÿÿ€ü<øó?ÿÿÿÿÿÿÿÿÿÿÿÿü?ûÿÿÿÿÿü øÿÿÿÿÿÿÿÿÿÿÿÿÿþþÀ?ÿÿÿÿàÂÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàpþÿÿÿÏÿÀá€ËÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿÿÿÿà?óÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿøàÿÿÿÿÿðÿÀ‚ÿÿÿÿÿÿÿÿÿÿÿÿÿðð_ÿÿÿßðÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàà2_ÿÿÿÿþÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàð@ÿÿÿÿÿÿànÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀ€ÿÿÿÿÿÀÿðxÿÿÿÿÿÿÿÿÿÿÿßÿÿü€ÿÿÿÿÿþÿÿ€<@ÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿø?ÿÿÿÿÿÿÿÿÀ˜ÙÿÿÿÿÿÿÿÿÿÿÿþÿÿùxÿÿÿÿÿÿÿÿÀ8ÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿà¿ÿÿÿ×ÿüÿÿ€<ÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿØ#ÿÿÿüÿÃÿÿþ~ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿØÿÿÿý?ÿãÿÿþ~?ÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿøÿÿÿÿ¿ÿóÿÿþ8þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØÿÿÿÿÿÿ÷ÿÿø}ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿÿÿûÿÿÿÿÿ Ïÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿæÿÿÿÿÿÿÿÿà†ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæ?ÿÿÿÿÿÿÿÂ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿä ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäÿÿÿÿÿÿþxÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿþÿÿðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿà@ÿÿÿÿÿçÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿÿù‡ÿÿøÿÿÿÿùÃÿðŸÿï÷ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿü0ÿøÇÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿüƒÿÿöÿçÿÿÁïÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü`ÿÿÏÿãÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿüâÿÿœøáÿÿ€ÿƒÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿýã÷ü0ðøÿÿÿÁÿßÿÿÿÿÿÿÿÿÿÿÿþðÿÿÿÿÿùóøàþx?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿØàÿÿÿÿÿøÿÿðÿþ<þ?àÿÿÿ¿ÿÿÿÿÿÿÿÿ€Àÿÿÿÿÿùøðÿþÿ€?àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýóÿðÿøƒÿãüþÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÀ?þ0ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿüÿÀ`ÿÿÿÿÿÿÿÿðÿàÓÁÿÿÿþÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿ?ü 0<ÿÿÿàÿÿÿÿÿÿÿÿÿÿñpÿÿÿÿÿÿÿÿàÿÀAàÿÿÿþÿÿÿÿÿÿÿÿÿÿüpÿÿÿÿÿÿÿüüÿÿïðÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿð?üðÿÿÿðÿÿÿÿÿÿÿÿÿÿþ<ÿÿÿÿÿÿÿÿÀ?ø0ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÀ?ð þ€{ÿÿÿãÿÿÿÿÿÿÿÿûÿÿÿø€Àÿÿÿÿÿÿÿÿ~ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøøÿÿÿÿÿÿÿÿðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€?€ÿÿÿÿÿÿÿÿ€ ÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøðàÿÿÿÿÿÿÿðïÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀpÿÿÿÿÿÿÿüÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ6ÿÿÿÿÿÿÿ€ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàv?ÿÿÿÿÿÿðÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿÿÁÿãÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿþxÿÿÿÿÿÿÿÿïÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ÿÿÿü8ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ïÿÿð8ÿÿÿÿÿÿÿÿñÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿà<?ÿÿÿÿÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿÿÿÿþãÿÿà<ÿÿÿÿÿÿÿÿøÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿüqÿÿàÿÿÿÿÿÿÿÿøÿþ?ÿÿÿÿÿÿÿÿÿÿÿüÿÿà ÿÿÿÿÿÿÿÿÿÿÿÿÐÿÿÿÿÿÿÿÿÿÿÿÿüÿð€ÿÿÿÿÿÿÿÿÿÿ‡ÿÿð0ÿÿÿÿÿÿÿÿÿÿøÀ ?ÿðÿÿÿÿÿÿÿÿÿÿ‡ÿÿðxÿÿÿÿÿÿÿÿÿÿà€ÿðÿÿÿÿÿÿÿÿÿÿÃÿÿÿüÿÿÿÿÿÿÿÿÿÿÁ€ÿàÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿÿ€ÿðÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿüÿàÀÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿüÿÿÿÿàÿà!ðÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿÿÿÿï€ÿð<?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿþÿÿÿ†ÿðü?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿþÿÿÿøøÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿàp`ÿàà€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿüÿÿàà`ÿàààÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÀÿÿøÿÿÀàÿðàø?ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÀÿÿðÿÿàÿüÿÀ À?ÿÿÿÿÿÿÿÿÿÿÿàÿÿ€ÿàÿÿð?ÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿ€ÿÿøÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿøÿ€Ïÿüÿÿ€ÿÿÿÿÿÿÿÿÿÿÿðÿàþÿþxÿ€ÿÿÿÿÿÿÿÿÿÿÿø?ÿà?øÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿþÿ?øÿÿ?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿøøÿÿ€ÿÀÿÿÿÿÿÿüÿÿÿÿÿÿŸàøÿÿ€ÀÿÀÿÿÿÿÿþ?ÿÿÿÿÿÞø?ÿ€ _Àÿÿÿÿÿþÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿà€ðÿŒÀ ÿÿÿÿÿÿÿÿÿÿÿÿð?€ðþÈÀ~øÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ðø hÀÿÿŽ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€àpÐàüÿÿ€ÿÿÿÿÿÿÿ¿ÿÿ¿ÿÿÿ€ä`€BpáþÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿ†?›ÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿþ€~ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿþ€^ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÿÿÿþ?ÿÿóÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøxÿÿÿÿÜÿüÿÿÿÿÿÿÿÿÿø€|Àÿÿÿÿÿ€ÿøÿÿÿÿÿÿÿÿÿðø|?€ÿÿÿÿÿÀàÿÿÿÿÿýÿÿàx|ÿÿÿÿÿàÿÿÿÿÿýÿÿà<ÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÀþÿÿÿÿÿðÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿðÿÿÿÿÿÿþÇÿÿÿÿÿÿðÿÿÿÿÿÿÿüñÿÿ€@?ÿÿÿÿÿøÿýÿÿÿÿÿðøÿÿð`ÿÿÿÿÿøÿýÿÿÿÿÿàþÿþÿÿÿÿÿÿðÿÿÿÿþÿÀüþÿÿÿÿÿÿÿÿÿÿÿþÿ€|þÀøÿÿÿÿÿÿÿ`ÿÿÿÿþÿ€?ü@øÿÿÿÿÿÿÿüÿÿÿÿþ?ÿ? ?øx8ÿÿÿÿÿÿÿþÿÿÿÿÿÿü?Ð?ø>€ÿÿÿÿÿÿÿþ@ÿÿÿÿÿüàø3<<ÿàÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿøà8ÿüÿÿÿÿÿÿÿÿÿÀÿÿÿßÿøà€ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿßÿðà€?ÿ€ÿÿÿÿÿÿÿÿÿðÿÿÿßÿðà€ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿïÿðÿñà ÿÿÿÿÿÿÿÿÿÿÿÿÿïÿð>ÿø0ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿøüÿðÿÿÿÿÿÿÿÿÿ€ÿÿÿ÷ÿðþþøÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÀ ü<?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøNx?ÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿïø0€ÿÿÿÿÿÿÿÿþÿÿÿÿïü@ÿÿÿÿÿÿÿÿüÿÿÿÿïþÿÿÿÿÿÿÿÿøÿÿÿÿçü ÿÿÿÿÿÿÿÿðÿÿÿÿïü<ÿÿÿÿÿÿÿÿàÿÿÿÿïþÿÀÿÿÿÿÿÿÿÿàÿÿÿÿÿþÿ€<ÿÿÿÿÿÿÿÿ€ÿÿÿÿ÷þÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÇÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþ×þ?€ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÿÿ€?€ßÿÿÿÿÿÿ€ÿÿÿÿÿüþÿÿÀ?€ïÿÿÿÿÿÿ€ÿÿÿÿÿøþ?ÿÿð?€ÿÿÿÿÿÿÿ€ÿÿÿÿÿàþÿÿÿüÀÿÿÿÿÿÿÿ€ÿÿÿÿÿ€üÿÿÿþÿÀ0ÿÿÿÿÿÿÿ€ÿÿÿÿÿüÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿþüÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿüüÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿü?ÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿü€?ÿÿÿÿÿàÿÿÿÿ€þÿÿÿÿÿÿþ@?ÿÿÿÿÿÀÿÿÿÿ€þÿÿÿÿÿÿþ0?ÿÿÿÿÿÀÿÿÿÿÀüÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÀüÿÿÿÿÿÿÿàÿÿÿÿÀÿÿÿÿ€øÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþøÿÿÿÿÿÿÿøÿÿÿþÿÿÿøÿÿÿÿÿÿÿüÿÿÿüÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿ?ÿÿ€ÿÿÿÿÿÿÿðÿÿÿþ?ÿÿÿÿÿÿÿÿÿðÿÿÿü?ÿþÿÿÿÿÿÿÿàÿÿÿôÿþÿÿÿÿÿÿÿàÿÿÿðÿüÿÿøÿÿÿàÿÿÿàÿøÿÿ@ÿÿÿÀÿÿÿàÿ€ÿ€ÿÿÿÀÿÿÿàÿàÿðÿüÿÿþ?øÂgÿÿ€ÿÿÿÀ€ø?ÿø?ÿþxÿÿ0ÿÿðŸÿð?ÿÿ€ÿÿÿÿøÿàÀÿÿ€ÿð€ÿÿøÿ€Ðÿÿø7ðÿÿðøÿøÿ0ÿð#ÿÿðàÿà¿ðÀ¿ü€ÿð€ðð>ÿà|ÿÀÿ€À€øÿÿàÿÀÿÀÿÀÀàààð€€ 0`€àøÿž~üÿÿÿÿð ÿàÿÿÿÿÿð ÿàÿÿÿÿþ€ÿÿàÿÿÿÿÿÿðÀÿÿÁÿÿÿÿÿÿü àÿÿþ?ÿÿÿÿÿÿ€~÷ÿÿÿþÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÀ?€Wÿÿÿÿÿÿÿÿÿÿÿÿðÿ€ÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÿÿÿÿ Ùøÿÿÿÿÿÿÿÿÿÿÿ€ ÿÿàÿÿÿÿÿÿÿÿÿÿÿð(ÿþÿÿÿÿÿÿÿÿÿÿþÿõÿÿÀÿÿÿÿÿÿÿÿÿÿÀÿÿÿøÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÿÿÿÿÿø?ÿÿÿàÿÿÿÿÿÿÿÿÿ€Oÿÿþð?ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿ°?ÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÀ?ÿÿÿÿÿÿÿðŸÿÿðÿÿÿÿÿÿÿðÿÿø?ÿÿÿÿÿÿþÿÿó™ÿÿÿÿÿÿþÿÿøÿÿÿÿÿÿÀÿÿàÿÿÿÿÿþ?ÿþ?ÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðemoslib-000392+dfsg.1/land_sea_mask/r160_xx_199109170000755000175000017500000004070412127406245022405 0ustar amckinstryamckinstry>~?ûÿ ¿þ7ßÿÀþÿ>üÿpGóÿþ W¿ÿü€ÿø<ÿü@ð`ãÿÿà€ü— ÿÿàüpùwÿàÀÿðæÀÿÿøþÿÿÀÿÀ xÀÿø ÿþpÃ>ü?ÿà ÿÿðòtº?ÿðÿÿþÀ;øÃüÿà€ïÿÿÿø€ÿŠ?àÿÿÀ€ïÿÿÿýÿä@ƒ?øÿÿ@ÀïÿÿÿÿÿþàÃ?üÿÿ@À{ÿÿÿÿÿÿà þÿŽüÿÿÀþ@s¿ÿÿÿÿÿÿÿ¿ÿóÿŸñ0Ãðÿÿÿ€{¿ÿÿÿÿÿÿÿÿ€?ÿÿÿ÷´ÁàÿþÿÂ?ÿ¿ÿÿÿÿÿÿÿÿÀ?ÿÿÿða=ÀðÿøÿøŸÿóÿÿÿÿÿÿÿÿÿðÿÿÿÿï÷Ü'à?ÿ€ÿü¿ÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿüð?ÿ€?ÿxÿÿïÿÿÿÿÿÿÿÿÿþÿÿÿŸÿÿü øÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿþ?ÿÿðÎÿðx?ÇðÿÿÿÿÿÿÿÿÿÿÿÿÿÿŽÿÿÿüÿÿ¨äÿ€ø?Ïòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì>àÿøÏùÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÞðÿðÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿ€t?À?ãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿà€øþ?ûÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿûÿþ€ðþ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿüÿÿ€ø~ðþ?ÿÿÿÿÿÿÿÿÿÿÿÿþø?ÿ¿ÿÿùÿÿ€ü<øó?ÿÿÿÿÿÿÿÿÿÿÿÿü?ûÿÿÿÿÿü øÿÿÿÿÿÿÿÿÿÿÿÿÿþþÀ?ÿÿÿÿàÂÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàpþÿÿÿÏÿÀá€ËÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿÿÿÿà?óÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿøàÿÿÿÿÿðÿÀ‚ÿÿÿÿÿÿÿÿÿÿÿÿÿðð_ÿÿÿßðÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàà2_ÿÿÿÿþÿàgƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿàð@ÿÿÿÿÿÿànÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀ€ÿÿÿÿÿÀÿðxÿÿÿÿÿÿÿÿÿÿÿßÿÿü€ÿÿÿÿÿþÿÿ€<@ÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿø?ÿÿÿÿÿÿÿÿÀ˜ÙÿÿÿÿÿÿÿÿÿÿÿþÿÿùxÿÿÿÿÿÿÿÿÀ8ÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿà¿ÿÿÿ×ÿüÿÿ€<ÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿØ#ÿÿÿüÿÃÿÿþ~ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿØÿÿÿý?ÿãÿÿþ~?ÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿøÿÿÿÿ¿ÿóÿÿþ8þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØÿÿÿÿÿÿ÷ÿÿø}ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿÿÿûÿÿÿÿÿ Ïÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿæÿÿÿÿÿÿÿÿà†ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæ?ÿÿÿÿÿÿÿÂ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿä ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäÿÿÿÿÿÿþxÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿþÿÿðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿà@ÿÿÿÿÿçÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿÿù‡ÿÿøÿÿÿÿùÃÿðŸÿï÷ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿü0ÿøÇÿ÷ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿüƒÿÿöÿçÿÿÁïÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü`ÿÿÏÿãÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿüâÿÿœøáÿÿ€ÿƒÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿýã÷ü0ðøÿÿÿÁÿßÿÿÿÿÿÿÿÿÿÿÿþðÿÿÿÿÿùóøàþx?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿØàÿÿÿÿÿøÿÿðÿþ<þ?àÿÿÿ¿ÿÿÿÿÿÿÿÿ€Àÿÿÿÿÿùøðÿþÿ€?àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýóÿðÿøƒÿãüþÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÀ?þ0ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿüÿÀ`ÿÿÿÿÿÿÿÿðÿàÓÁÿÿÿþÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿ?ü 0<ÿÿÿàÿÿÿÿÿÿÿÿÿÿñpÿÿÿÿÿÿÿÿàÿÀAàÿÿÿþÿÿÿÿÿÿÿÿÿÿüpÿÿÿÿÿÿÿüüÿÿïðÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿð?üðÿÿÿðÿÿÿÿÿÿÿÿÿÿþ<ÿÿÿÿÿÿÿÿÀ?ø0ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÀ?ð þ€{ÿÿÿãÿÿÿÿÿÿÿÿûÿÿÿø€Àÿÿÿÿÿÿÿÿ~ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøøÿÿÿÿÿÿÿÿðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€?€ÿÿÿÿÿÿÿÿ€ ÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøðàÿÿÿÿÿÿÿðïÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀpÿÿÿÿÿÿÿüÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ6ÿÿÿÿÿÿÿ€ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàv?ÿÿÿÿÿÿðÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿøÿÿÿÿÿÁÿãÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿþxÿÿÿÿÿÿÿÿïÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ÿÿÿü8ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ïÿÿð8ÿÿÿÿÿÿÿÿñÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿà<?ÿÿÿÿÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿÿÿÿþãÿÿà<ÿÿÿÿÿÿÿÿøÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿüqÿÿàÿÿÿÿÿÿÿÿøÿþ?ÿÿÿÿÿÿÿÿÿÿÿüÿÿà ÿÿÿÿÿÿÿÿÿÿÿÿÐÿÿÿÿÿÿÿÿÿÿÿÿüÿð€ÿÿÿÿÿÿÿÿÿÿ‡ÿÿð0ÿÿÿÿÿÿÿÿÿÿøÀ ?ÿðÿÿÿÿÿÿÿÿÿÿ‡ÿÿðxÿÿÿÿÿÿÿÿÿÿà€ÿðÿÿÿÿÿÿÿÿÿÿÃÿÿÿüÿÿÿÿÿÿÿÿÿÿÁ€ÿàÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿÿ€ÿðÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿ€ÿÿÿÿÿÿÿÿüÿàÀÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿüÿÿÿÿàÿà!ðÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÀÿÿÿÿÿÿï€ÿð<?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿþÿÿÿ†ÿðü?ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿþÿÿÿøøÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿàp`ÿàà€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿüÿÿàà`ÿàààÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÀÿÿøÿÿÀàÿðàø?ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÀÿÿðÿÿàÿüÿÀ À?ÿÿÿÿÿÿÿÿÿÿÿàÿÿ€ÿàÿÿð?ÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿ€ÿÿøÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿð?ÿøÿ€Ïÿüÿÿ€ÿÿÿÿÿÿÿÿÿÿÿðÿàþÿþxÿ€ÿÿÿÿÿÿÿÿÿÿÿø?ÿà?øÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿþÿ?øÿÿ?ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿøøÿÿ€ÿÀÿÿÿÿÿÿüÿÿÿÿÿÿŸàøÿÿ€ÀÿÀÿÿÿÿÿþ?ÿÿÿÿÿÞø?ÿ€ _Àÿÿÿÿÿþÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿàøÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿà€ðÿŒÀ ÿÿÿÿÿÿÿÿÿÿÿÿð?€ðþÈÀ~øÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ðø hÀÿÿŽ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€àpÐàüÿÿ€ÿÿÿÿÿÿÿ¿ÿÿ¿ÿÿÿ€ä`€BpáþÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿ†?›ÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿþ€~ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿþ€^ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÿÿÿþ?ÿÿóÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøxÿÿÿÿÜÿüÿÿÿÿÿÿÿÿÿø€|Àÿÿÿÿÿ€ÿøÿÿÿÿÿÿÿÿÿðø|?€ÿÿÿÿÿÀàÿÿÿÿÿýÿÿàx|ÿÿÿÿÿàÿÿÿÿÿýÿÿà<ÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÀþÿÿÿÿÿðÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿðÿÿÿÿÿÿþÇÿÿÿÿÿÿðÿÿÿÿÿÿÿüñÿÿ€@?ÿÿÿÿÿøÿýÿÿÿÿÿðøÿÿð`ÿÿÿÿÿøÿýÿÿÿÿÿàþÿþÿÿÿÿÿÿðÿÿÿÿþÿÀüþÿÿÿÿÿÿÿÿÿÿÿþÿ€|þÀøÿÿÿÿÿÿÿ`ÿÿÿÿþÿ€?ü@øÿÿÿÿÿÿÿüÿÿÿÿþ?ÿ? ?øx8ÿÿÿÿÿÿÿþÿÿÿÿÿÿü?Ð?ø>€ÿÿÿÿÿÿÿþ@ÿÿÿÿÿüàø3<<ÿàÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿøà8ÿüÿÿÿÿÿÿÿÿÿÀÿÿÿßÿøà€ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿßÿðà€?ÿ€ÿÿÿÿÿÿÿÿÿðÿÿÿßÿðà€ÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿïÿðÿñà ÿÿÿÿÿÿÿÿÿÿÿÿÿïÿð>ÿø0ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿøüÿðÿÿÿÿÿÿÿÿÿ€ÿÿÿ÷ÿðþþøÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿðÀ ü<?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøNx?ÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿïø0€ÿÿÿÿÿÿÿÿþÿÿÿÿïü@ÿÿÿÿÿÿÿÿüÿÿÿÿïþÿÿÿÿÿÿÿÿøÿÿÿÿçü ÿÿÿÿÿÿÿÿðÿÿÿÿïü<ÿÿÿÿÿÿÿÿàÿÿÿÿïþÿÀÿÿÿÿÿÿÿÿàÿÿÿÿÿþÿ€<ÿÿÿÿÿÿÿÿ€ÿÿÿÿ÷þÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÇÿ<ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþ×þ?€ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿþÿÿ€?€ßÿÿÿÿÿÿ€ÿÿÿÿÿüþÿÿÀ?€ïÿÿÿÿÿÿ€ÿÿÿÿÿøþ?ÿÿð?€ÿÿÿÿÿÿÿ€ÿÿÿÿÿàþÿÿÿüÀÿÿÿÿÿÿÿ€ÿÿÿÿÿ€üÿÿÿþÿÀ0ÿÿÿÿÿÿÿ€ÿÿÿÿÿüÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿþüÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿüüÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿðøÿÿÿÿÿü?ÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿü€?ÿÿÿÿÿàÿÿÿÿ€þÿÿÿÿÿÿþ@?ÿÿÿÿÿÀÿÿÿÿ€þÿÿÿÿÿÿþ0?ÿÿÿÿÿÀÿÿÿÿÀüÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÀüÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÀüÿÿÿÿÿÿÿàÿÿÿÿÀÿÿÿÿ€øÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþøÿÿÿÿÿÿÿøÿÿÿþÿÿÿøÿÿÿÿÿÿÿüÿÿÿüÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿÿÿÀÿÿÿÿÿÿÿðÿÿÿÿ?ÿÿ€ÿÿÿÿÿÿÿðÿÿÿþ?ÿÿÿÿÿÿÿÿÿðÿÿÿü?ÿþÿÿÿÿÿÿÿàÿÿÿôÿþÿÿÿÿÿÿÿàÿÿÿðÿüÿÿøÿÿÿàÿÿÿàÿøÿÿ@ÿÿÿÀÿÿÿàÿ€ÿ€ÿÿÿÀÿÿÿàÿàÿðÿüÿÿþ?øÂgÿÿ€ÿÿÿÀ€ø?ÿø?ÿþxÿÿ0ÿÿðŸÿð?ÿÿ€ÿÿÿÿøÿàÀÿÿ€ÿð€ÿÿøÿ€Ðÿÿø7ðÿÿðøÿøÿ0ÿð#ÿÿðàÿà¿ðÀ¿ü€ÿð€ðð>ÿà|ÿÀÿ€À€øÿÿàÿÀÿÀÿÀÀàààð€€ 0`€àøÿž~üÿÿÿÿð ÿàÿÿÿÿÿð ÿàÿÿÿÿþ€ÿÿàÿÿÿÿÿÿðÀÿÿÁÿÿÿÿÿÿü àÿÿþ?ÿÿÿÿÿÿ€~÷ÿÿÿþÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÀ?€Wÿÿÿÿÿÿÿÿÿÿÿÿðÿ€ÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿxÿÿÿÿÿÿÿÿÿÿÿÿ Ùøÿÿÿÿÿÿÿÿÿÿÿ€ ÿÿàÿÿÿÿÿÿÿÿÿÿÿð(ÿþÿÿÿÿÿÿÿÿÿÿþÿõÿÿÀÿÿÿÿÿÿÿÿÿÿÀÿÿÿøÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿðÿÿÿÿÿÿÿÿÿø?ÿÿÿàÿÿÿÿÿÿÿÿÿ€Oÿÿþð?ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿ°?ÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÀ?ÿÿÿÿÿÿÿðŸÿÿðÿÿÿÿÿÿÿðÿÿø?ÿÿÿÿÿÿþÿÿó™ÿÿÿÿÿÿþÿÿøÿÿÿÿÿÿÀÿÿàÿÿÿÿÿþ?ÿþ?ÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿþÿÿÿÿÿÿÿøÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðemoslib-000392+dfsg.1/land_sea_mask/LSM_GG_00480000755000175000017500000031740012127406245021655 0ustar amckinstryamckinstryÃ?Àâ?:¼?@ìá?@í?@æê?¤?€1Ø?€×?µ?Oß? ®?ì?À»ì?øï?ZØ?@±ï?ð?øï?ð?À;ï?@óï?€&í?ÒØ?@yà?bÐ?`«?ýÜ?Àíë?À«ï?€j? ë?ð?ð?ð?ð?ð?Àºì?0?:Ñ?d¾?À”?G?«ç?0¡? ¢?h›?€P?€FÒ?gÛ?è?FÍ?®Å?@:ì?ð?ð?ð?ð?ð?ð?ð?d»?@ëï?@?‘Ú?@õï?Ìï?€ùï?/Ô?ÀNè?€¨é?°? ”?@ î?×î?€ÄÔ?€lÔ?zï?Ôë?€[?‘?ð?ð?ð?ð?ð?°ï?r·?À2è?€§?à˜?6È?@èä?­ï?Àaï?@í?€Mî?€`Ù?Ëá?¬ ?€Þ?ÊÌ? s?Ø›?€¿ï?€Òß?@Ÿà?€÷ç?€è?T­?€zÜ?€Þ?@Qî?ð?ð?ð?ð?ð?@ní?ÙÇ?@Qî??@Úê?€¾è?RØ?Àùï?@×ï?°î?€î?€ÿï?½ï?òï?ÀÂï?€¬ï?PÁ?‹?áÅ?€ßì?@ñæ?ÕÖ?¸´?í?À*ï?À:ì?V°? ¤?€¤å?@oî?€‚ï?Àž?Àüå?ð?ð?ð?ð?@î?ð?Œ¶?€è?ªï?¥Ê?gÉ?þÀ?å?€~î?À¡ï?À|ï?À“í?€ï?€öï?Úï?Àï?ð?ð?ð?€ôï?»ì?ð?€Ïî?ð?ëï?mï?€ ï?€êì?à«?ðˆ?€Ýá?ÜÑ?À“æ?À°î?@\ì?Ààí?Àkä?¸š? ˆ?€ò×?þ·?æÇ?yß?€—ë?@Uê?€–ê? |?€`ì? s?ÝÛ?€¤Ü?Àóë?Àï?Û?˜ë?pï?ð?ð?ð?ð?€¿ì?ìÏ?@†?€Oá?@ì?Tî?Àxê?À=î?:î?€VÕ?€Ø?À†?@Úì?€éï?Qî?@œï?ÀÌì?@í?À­ï?@×ï?@‰ï?Îè?@kë?@Sï?ÀÔï?5ï?€`ï?@Õï?ÀŸî?ð?€¼ì?ð?1ï?çï?þï?mé?ôï?Àæ?Ÿè?@î?Ýï?þï?@öï?@èï?@çï?™É?Jï?€þï?€þï?ð?ð?@ûï?Àqë?ÿï?@í?À4ï?òî?€Þì?@ôê?@l?ÝÑ?@úà?ô´?Û?€Óî?ÌØ?Wï?`y?€Šè?€í?€Wî?¨“?2è?ð?ð?ð?ð?°â?œ?À—í?fí?€Ãí?ÀÛî?í?@ãà?Àã?Ï?@Áî?€Óî?@Æì?€í?@+î?æî?@Üí?Àðè?ÀÑï?€Àï?@¦ì?Üî?À®ï?Àçï?ð?@­ï?ð?ð?Àþï?ð?ð?äç?ð?@úï?ð?ð?ñï?ð?À6î?ð?ð?ð?@üï?ð?ð?@ï?î?ð?ð?@ï?ÀJã?ð?Àñï?ð?ìï?ð?@æï?Àåï?@þï?@í?€TÙ?„´?@õê?À®ê?ÀÞî?ÀÍï?@eî?@'è?@Öí?@}î?€úà?‹?hæ?@à?Wï?€Oî?ð?ð?ð?€¿ä?€l?ä?WË?åÓ?À–á?Àpì?€Uï?ÔÈ?@Áï?À%í?@í?XÐ?@%í?eï?@ôï?Àùï?Àèï?À‹î?«ï?€¿î?€ïï?@«ï?À»ï?Œí?…ï?€vï?€Ûï?À7ï?ð?Àoï?@úï?ð?@üï?ï?Àãï?õè?Zè?@ýï?ð?ð?Àþï?À¾ï?ÀÔï?@÷ï?Qî?€ÿï?ð?ð?@ôï?ð?€³ì?€Ù?ìÉ?À{?šï?ð?€Ñï?ð?ð?ð?÷ï?õï?ð?ð?ï?Àzí?@ î?@·ë?@<í?Àï?À³ì?À8ë?¬ê?€Íê?€Qà?Ïí?€+Ô?@ì?€Óï?†Ð?ÀAé?ð?ð?@ðç?€‹ï?sÃ?@'â?À¾ï?€Ýî?Àzí?Àî?Rè?À¨è?€Oì?€3é?À§ï?²í?€õï?À6ï?ð?@Õî?ÿï?@øï?@¦í?@Fí?@×ê?ÀŠî?ÀÈï?@Ïï?€sï?ð?@üï?ð?ð?ð?ð?@ßï?Àèï?Íï?@Âï?@îï?öï?€=í?äï?-î?@öï?€Aï?Àíï?€Ëï?@ƒî?ð?Àùï?@¹á?¤ï?ð?€üï?€à?€)ï?€•í?@úï?üï?ð?€Èî?ð?jï?€áï?€Ûï?úï?ð?½ï?@~ï?@Úï?€Uí?@tå?çì?ÀÞë?Lè?@Ží?Óë?À1ç?<Í?€ß?õÒ?óÁ?@Lã?Õá?ð?€+ï?,·?€•ì?@Þî?lî?@Kí?+Í?*Á?À°í?@Îç?@æë?µã?ÀÛí?ÀEë?ð?€¼ï?Ïï?€îï?Ààï?üï?€Íï?€Ûï?ÀJë?@!ì?À×ï?@Àï?í?Àßï?ð?€øï?€î?ð?ð?ð?ð?ð?ð?ð?ðï?À4ï?ð?@êí?Ÿï?ð?@ðï?î?ð?€Žï?ÿï?Uï?€ýï?ð?ô¼?¤¸?ÿï?€·ä?@ å?€Dâ?@Iè?Ëï?ð?Àìï?2î?NÁ?À¸ï?ð?€òï?@ï?@<ï?€Õï?Àìï?ð?@®ï?4ë?Àîî?Àzî?€éé?@Øî?Àë?@Oé?@–î?غ?€"ë?@Äï?8—?ì¿?@Øè?Àæ?€å?@Þê?—è?*¾?ë?@eå?€!ï?À¿ï?Àðï?€í?@®ï?ð?ùï?@Áï?Àüï?€—ï?À×ï?@þï?Àìï?@‹î?èï?ð?ºï?íî?À‰ï?Àoï?ð?@ƒï?Àuï?À×î?@Mì?@âï?ð?@.ï?ð?ð?ð?ð?À×ï?€¯ï?½ï?·î?ÀÏï?@‡í?À£?œ½?hí? ?¿Î?€Öà?@ì?¶²?€Ò?@ˆã?@÷ï?ð?€ðï?Àõï?þï?Àþï?À²ï?#å?ÀÍì?À î?Àñê?Àï?5ï?ÏÃ? ?ÀÍê?‹î?€Ïì?€Hç?Çà?€EÙ? œ?ÎÌ?nß?ä¡?|ê?d±?*Ê?À¥å?€¹î?Àóî?Ýì?€¢ï?;ï?€Êï?ð?ð?@Õï?À…ì?ð?@›î?@õï?€Æî?€âï?@åï?€ýï?€Ñï?ð?€)ï?€ñï?ð?ð?€âï?€íï?@3í?ð?àï?Àûï?€þï?Àêï?€ðï?ð?ð?ð?€¦ï?@ðï?€{î?ªÊ?ñï?ð?€NÖ?ö¸?@mè?Àšî?Àõï?ð?ð?ð?€Àï?Àôï?€öï?‘é?€Ãí?@˜è?è?Àæí?ÀSï?€1æ?N?@lî?Øï?Àï?@uî?€°î?€­Ù?€ñï?¦Æ?Ô?xž?Œ?èï?„ï?@—ï?ïï?€ûï?ð?@wî?€yï?ð?ð?%ï?ð?€øï?@–ï?À«í?À®ï?ÀÁî?€vî?@sî?@ðï?Åê?Àï?ð?(ï?ãï?€çï?ð?ð?@Hï?ð?ð?æÛ?@Ùí?ð?ð?€þï?ð?ð?ð?ð?À~î?Àæ?€ÿï?À í?ÇÁ?Õ?»?5â?€ï?@”î?€òï?ð?ð?À³í?íî?@†ä?@ï?ÀÊí?@Fì?€xê?€Pç?Äí?ð?€jê?ì?€;Ò?ùï?@îæ?€nï?îï?Àiì?€îï?ÀFà?ìÕ?Vµ?@¾ï?@î?€«Ø?ÀÊï?@Íï?@ î?€ï?@}ï?Àüï?Àþï?ð?ð?ð?ð?ð?Àóï?€÷ï?@þï?€Òî?Àâï?€÷ï?€«ï?Àˆï?Àtï?ÀÎï?Àöï?@Žï?‰ï?À&ï?@„ï?€…í?íï?€ûï?ð?Àï?€ÿï?²ï?@àï?ð?@¿ï?áé?eï?¨ï?ð?ð?@Íï?ð?€ªî?òï?ð?ð?@ÿï?ÀWï?Àá?éï?Ë?8ž?N?ÏÏ?@g?Àƒî?Úî?@ûï?@úï?ð?€Ñï?õï?€¼ï?Éï?øï?€.í?¹?Àœî?À>ê?ôì?†é?sí?€Tï?r¸?@§í?€%ï?@Ýï?€>ï?€‘í?€ï?Õî?À!ï?@úä?@?€±ï??À¼î?€©ï?²Ì?ð?@Üï?þï?€åï?Æï?€·ï?ð?@æï?ýï?@ýï?‘ï?ð?Àüï?Ðï?ð?@îï?ýï?@íï?æï?@ÿï?ð?ð?€èï?òî?Àãï?íï?€îï?€ ï?@¦ï?Àˆï?@çï?€ïï?Àþï?À)ï?@Ûï?ÀVî?À¤ï?ãï?ê?ð?ë?€¿ï?ð?üï?Àúï?ð?€4ï?ð?ð?çï?ð?ÀÔï?ð?ð?Èí?€Éí?€ÂÔ?S?Àä?À›ï?Àõï?€ìï?€ÿï?ð?óï?¼ï?Àûï?Öí?À¹ï?€së?Àií?@Üë?€ué?ÀÔì?À|í?¯ï?ÀÐï?€Ù?Àaî?€]ï?Àï?²ï?ÀŽï?Ðï?@Çï?Nï?¿Ò?0–?˜Ÿ? p?ðí?Ü?ð?ð?ð?ð?€îï?ÀÝï?@üï?ð?ð?@öï? ï?€èï?€Qâ?€øï?À‹í?ð?€Æï?½ê?ð?1ï?€nï?ð?ð?ð?@sî?Àéï?Àºï?@àï?€©ï?€ˆï?@ÿï?ð?Àéï?ð?Àµï?€Îï?ð?Àéï?ÀMï?ð?Àæï?ð?Àýï?ýï?Àúï?À•ï?€,ë?ð?ð?ð?@«ï?Dï?ð?ð?ð?ð?ð?¸¶?Àîê?€=í?@ôï?ð?Àôï?@ÿï?ð?ð?ð?íï?Àßï?ð?@Lã?@lí?ÀŒî?Àœî?ÀÐî?Àï?@hï?@ ï?€jí?€Fï?Àí?ÀUä?L±?Àêç?Àï?Ö×?ø—?€ïï?Àîï?@ÿï?€öï?Ùì?Àï?€ï?ð?À0ï?qî?ð?ð?€«ï?@Oï?@Žï?ë?ð?{ï?Åï?@ëê?@þï?À•î?ð?ð?ð?ð?ôï?îï?ð?ð?Àpï?÷ï?ð?ð?ôï?€øï?ð?ð?ð?dï?ð?@Æï?€÷î?@ÿï?÷ï?ð?ð?ð?ð?ð?ð?ð?€¶ï?€òï?ð?@çî?ð?ð?ð?ð?@´ï?ð?B?€wÐ?H?@Þï?Àýï?@—ï?ÀSî?@ùï?@éî?€öï?gï?ð?ð?@:í?@üï?€ûï?žë?€Õî?_?î±?¨œ?¯í?Àdî?@áë?À]î?‘í?Úï?À‚æ?@ýï?€ é?êÐ?P×?X×?€Üë?ð?ÀŸï?@õï?€óï?Uí?À’ï?@Sâ?@Îï?€™ï?Àèï?ð?@õï?@÷ï?€­í?ië?à¾?€ë?úï?ýï?’ï?ê?H?,¸?àï?€þï?Ààå?FÑ?€ï?€ðï?ð?ð?€õï?ÀIà?@øï?ð?Àýï?@ýï?@oï?@íï?ð?ð?ð?Õï?¡î?Àþï?ð?ð?ïï?Àþï?ð?ð?ð?€ñï?ýï?€¹ì?€«î?€«î?@üï?€ï?€©ï?@ðè?Þ±?ü°?À÷è?À5ï?€õî?Àþï?ð?ð?Àþï?ð?ð?€þï?€ýï?@þï?ƒï?@Äï?¦ï?€µî?@ï?X¯?Ä?ÁÇ?<í?Àî?@¬î?åï?@.ì?€ÿì?€åé?°â?€Ü?ð?ð?€žî?À«î?@c?üï?°Â?@ã?Àäï?ð?@Ýï?ÀWî?@Fï?ð?Àþï?!ï?@é?ð?ð?ð?@¦ã?€ê?ð?ð?Àbï?ÀÉï?ð?Àÿï?€hï?Àöî?@åï?ð?@þï?Ààï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ðï?@ýï?ð?Àï?üï?§ï?@÷ï?ð?ð?ï?¼é?ñê?à€?€‰ï?ÀÇï?ð?ÀÀï?÷ï?€Ûï?@³ï?ð?ð?Àòï?ð?€˜ï?@ßï?Úï?€âï?@î?Àmà?ñï?fã?@ùï?€NÖ?tÀ?€˜ï?@fï?Ö?uä?Ô ?Àëï?€cï?@‘ï?ð?€¶Ò?@®î?ð?ð?ð?@¢á?€n?ð?Ôï?ð?ð?ð?ð?@vï?ð?ð?ð?ð?@Ãï?ð?ð?Àøï?ð?ð?ð?ð?ð?ð?ð?ð?ð?âï?ð?ð?ð?ð?ð?Àúï?ð?Àßï?€ÿï?€úï?ð?À¿ï?(?´£?ð?Àï?@÷ï?ð?@üï?ÿï?ÀŸï?ð?€Øï?ð?ð?Àïï?ð?ð?ð?@hí?@Áæ?@Üï?!à?•Ä?€ï?ð?€tï?@£ï?„?±É?Àï?Àêï?ð?Iç?u? ?€Èï?@ðé?Üß?@Tî?€2ä?˜ ?@ï?¥ï?À~ï?ð?ð?ð?ð?ð?€Aí?÷ï?€8â?€þï?@éï?ð?ð?½ï?@´ï?€øï?À´í?ð?ð?@õï?€jï?ð?ð?ð?ð?ð?ð?ð?ð?€ôï?ð?ð?ð?ð?@îï?€ÿï?ð?Àìï?Oî?к?€çë?@ÿï?ÀÂã? …?À=æ?ì?Àmï?ÀNî?ð?ð?üï?Àüï?ð?€ëï?üï?ÀÉï?ï?Àþï?€üï?Àãï?€hï?€øï?À÷ï?€ïï?ð?úï?€Gï?@Äê?0?€Ù?@çî?€¢ï?Àºï?`¥??h?Ã?@¿ä?À°ê?ÀOâ?¶Ä?ÀÂï?ð?€£ï?@×ï?ð?€{ï?@‰ï?Àãï?øï?ð?ð?À¨æ?ð?€Ûï?ð?ð?€Šï?Àøï?]ï?àï?@úï?€Öï?ð?ð?ð?ð?ð?ð?ð?ðï?þï?ð?ð?€ï?ð?ð?ð?€oï?Àïï?@úï?ÀÅï?@yï?ð?ŸÞ?Àî?@î?¬?@÷ï?À|?@xî?êï?ð?ð?ð?€úï?ð?úï?ð?@Þï?ð?ð?€ßï?€èî?€<ï?ôï?€”ï?Ôï?€¹ï?ÿï?ð?ð?Àtï?€ÊÛ?ܪ?€®ï?Êï?@¸ï?€ï?€Dî?@îï?€Êï?êï?@þï?I?q?€P?¨?PÕ?øê?ìÉ?@Cà?@ã?Àï?ð?ð?@Èï?@ðï?ð?ð?@{î?Ðï?ð?ð?ð?ð?ð?ð?ð?ð?þï?ð?ð?ð?ð?Àþï?ð?¦ï?”ï?ð?ð?ð?@ïï?ð?@jî?ð?ð?€öï?ð?ð?ð?Àxï?³ï?€ïï?@íî?@d?˜˜?@Íï?À?Àüï?ð?“Í?¾ï?ð?ð?Àdï?ð?ð?ð?ðï?ð?ýï?ð?ýï?@Öí?@î?Óî?@äï?@wì?À¶ï?ÀÈî?‚ï?ÀÎï?ï?€®Þ?æ?™?à‚?ð?ð?ð?ð?ð?€çí?ëæ?ð?ð?ÀEî?€„ï?ð?ð?Àuï?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?¡ï?ð?ð?ð?·ï?€#í?Îï?@Ùï?À…ï?Àäï?@Êï?úï?ð?@Žï?ð?ð?ð?ð?€Áï?@;ï?@ýï?ð?Àøï?@°ï?yÑ?¸?|¨?Àýî?€æ?@úï?ÎÏ?@Þå?ð?ð?€Øï?ð?ð?ð?ð?ð?ð?ð?œï?@ ï?ûï?€ìï?Wï?€cï?@yí?Àóî?@¿ï?Àçï?@ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?@Qî?@å?À[ë?ðï?@òï?ð?ð?@‚î?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À9î?ð?Òï?€;ï?çï?ð?ð?@ï?€Éï?Þï?@2ï?Ôï?éï?æï?ð?ð?ð?ð?ð?ð?ð?ð?ªï?€Aï?ï?î?€xï?€ÒÚ?ÿÀ?ð?ð?ð?ð?ð?ð?@Õï?€úï?€üï?ÀØï?@åí?Àðî?Àºï?€î?ð?@yî?öï?ð?€^Ö?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@˜ï?íå?Ò?ð?ð?ð?î?€Yï?Ûî?ÀÊï?ð?ð?ð?ð?ð?Àõï?€°ï?ð?ð?ð?ð?ð?ð?@ñï?ð?@úï?ð?ð?€›ì?@ï?€õï?ð?ð?@ñî?Àôî?Àê?9ï?À³ï?ð?ð?ð?ð?ÿï?ð?€ÿï?€íï?€þï?@øï?»ï?@?î?îï?£í?€‹í?”¯?„?ÚÆ?ð?Àÿï?@øï?ð?Àþï?ð?Àþï?@©î?íï?€ï?€Èï?@øï?üê?ð?ð?Àžï?¬¥?ð?€þï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Й?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?@÷ï?@ðï?«ï?€þï?ð?ð?ð?@ùï?ð?€çï?ð?ð?ð?ð?ð?ð?ÀIï?ð?ð?@Þï?zí?ð?÷à?Üï?ð?ð¨?G?à‘?€²æ?€‚Ú?ð?ð?€`ï?ð?ð?ð?ð?ð?À•é?,?ÀÈî?t¯?8¨?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Óé?H®?ð?ð?ð?ð?ð?ð?ð?‘?yï?JÚ?ð?ð?ð?ð?ð?À{ï?€ûï?ð?À¸ï?¨ï?ÀÊï?@‡ï?@èï?Äï?€îî?ð?ð?ð?ð?À¦í?ˆï?ð?ð?ð?À÷ï?Àüï?@Æï?ð?€ûï?€§ï?ð?ð?éï?€¯ê?gÐ?Àüï?–?þï?ð?ð?ð?ð?Ùí?€ÜÝ?€’Ó?À ç?@n?À–ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€.×?€f?€è?à“?¾Â?@ëâ?rÃ?eÂ?ð?ð?ð?ð?€õï?€âï?€Ôî?ð?€“î?€Ìî?@|ï?À\ï?À­î?×ï?ð?Àþï?€oï?ð?@Þï?»ï?éï?€”ï?ð?ð?À¯ï?ð?ð?ð?Àl?ºÒ?»?æ»?ð?cï?ð?ð?çï?”Å?9Û? €?0œ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€ÈÓ?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€öï?@¾ï?îï?@ùï?ð?€¬ï?ð?ðï?þï?ð?ð?Àï?@ í?@úï?€úï?€´ï?ð?ð?ð?@Öï?ð?úï?@Ðï?@}î?@Àî?ÀSï?€=è?2Å?ô¸?éÊ?ð?õï?ð?ð?X®?L´? ·?`¢?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Àùï?@ÿï?ð?ð?ð?ð?ð?ð?ð?ð?ð?€l?²ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?Ê?ÀÖï?@‚î?€ñï?ð?Àýï?âï?õï?ÀRî?€¸ï?@»?:Ñ?ð?€Ÿï?Àýï?ð?ð?ð?€Xï?çï?îÁ?@Rä?«?½?à{?ÀÂì?@þï?@ýï?ð?€‡à?Á?óä?€]?ð¢?€œÚ?:Ü?]Â?¡?€üà?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?À›ï?ð?@¦ï?ð?<¦?€Lî?ð?ð?ð?ð?ð?ð?ð?ð?€\?€·ï?Àï?@žï?ð?@Ìï?ð?Àõï?†±?€Jâ?Àùï?Àèï?ð?ãï?ð?ð?Å?À…é?ˆ”?@ í?Ä?:?€ñï?@ñì?ð?Àå?ð?€íí? Õ?@í?L«?x?ð?ð?ð?ð?ð?ð?ð?€pï?ð?ð?åï?ÿï?€cï?ð?€Qï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?@üï?ð?ð?ð?ð?ð?f?€üÔ?@æî? †?€ÿï?¸½??À%ã?Ðï?Àä?€Üì?š·?2Þ?ÀÁî?ð?ð?Àëï?ð?ð?Àï?@€î?×å?ß?ð?ð?ð?ð?ð?Kï?Àµá?Iï?@æã?ð?ð?ð?ð?ÀÔî?ð?ð?ð?ð?ð?ð?ð?ð?ð?@œï?ð?ð?õï?ð?ð?ð?ð?ð?ð??Àûï?Ø?ª?À}î?{Â?€ëØ?tÖ?@ïï?€³ï?ð?€óï?Àðï?€Çï?ð?€<ï?ð?@¾ï?@¿í?"½?ð?ð?@ÿï?ð?ð?´á?@àê?Õï?`ï?Àöï?ð?ð?€4ï?€‰î?À|ï?ð?ð?ð?ð?@6ï?ð?À•ï?ð?ð?ð?ð?ð?ð?å?€ßï?€óï?Ñì?€êÜ?ð?7è?@Š?€T?2?Àþï?•ï?ð?@7ï?ð?ð?ð?ð?@”ï?ð?À/ï?Ÿï?@ôî?Àï?€ì? Á?ð?€þï?ð?ð?¼í?ð?ð?ÀMî?ð?ð?ð?Àæï?ð?ð?ð?ð?ð?ð?ð?Œ¦?­?¨Ú?óï?1Â?‡î?•?€Äé?ð?ð?(?@•?A?ð?€çï?€Wï?@9ï?ï?lï?ï?ð?ð?ð?“ï?ð?ð?Àþï?q?™Á?ð?ð?ð?ð?@„ë?€Ní?@ãï?€<í?€]ï?€Sî?€ûï?ð?ƒï?ð?ð?ð?ð?ð?šÜ?À1ï?ð?€ëÜ?à¤?TÌ?@òï? ï?ð?ð?ñá?^º?ê?Ö?€RØ??@Âî?ßï?.ï?@‹ï?ÀHï?€Øî?@ñî?ð?ð?ÀŸï?ð?ð?ð?@uï?ð?@ï?€ˆê?ð?ð?ð?À9ì?ð?À•î?À€î?ð?‡ï?²ï?€½ï?8Ô?0€?ð?€èì?ð?ð??‚?ð?(ï??,?€æï?ð?@ýï?ð?@Þé?€Ý?4Í?M? Þ?@Òï?rº?I?8?W?R?…?â?€ðï?@íï?À9ï?ð?€Àï?@¼ï?ð?ð?À%ï?@Së?€þï?ÀXï?Àsï?Àñï?€Šî?&ì?(è?Àç?ÀŒ?ð?ð?ð?@®í?€‰ï?ð?ð?Àoï?@“î?Æï?¢ï?€Þè?ð?±ï?ð?ð?€†Ù?ð?€Õï?´¸?(?Àîç?€!ï?@&î?@Râ?Àüí?@Ûè?P?@`?€WÛ?C?€Ãë?“?Àûï?@"ï?@zì? ‘?ÛÂ?´?€P? ½?ð?tï?ð?@6ï?ð?×î?@öí?À˜ì?Àíï?€ýï?Àbí?Àõé?ßï?äî?þï?@`ï?€òï?À×ï?tï?€Ðî?¡Õ?h“?D?ð?À¿î?1ï?Àï?Àï?ð?ð?§ï?ð?€ÿï?ð?€jï?Àöï?ð?Ô?€jØ?ð?0?€¼î?€wå?H? ?ø±?@ºë?@ãï?ð?€bï?@cï? ‘?€Âî??W?ï?ð?€ï?€–î?Ààï?ð?Óï?ð?€üï?€¨ï?À)ï?Àî?Âï?€@í?‰î?€ùî?ð?ð?ð?ýï?¿ï?ð?@öï?â?€üï?ð?ð?ð?[ï?À#î?œï?ð?ð?8Õ?ð?ð?îï?ð?:Å?˜¥?Ààï?;Á?ü×?˜™?I??O?d?°œ?Îè? ï?ð?ð?ð?@€?(?€Üê?¯Ç?ð?ð?@jï?ð?€þï?@îï?ð?Àtï?ð?À“î?€úï?Àlî?ð?@ ï?@mî?ð?@ßî?ð?ð?ð?ð?ÀÖï?@Þï?÷ï?}Ã?ð?ð?ð?ð?Àûï?ð?€«ê?ð?€[ë?@—í?ð?ð?ð?Ú?UÁ?€eá?€ã?@(á?€ñâ?×?€Ò?ØÅ?XÓ? ±?X¨?kÚ?€î?@í?€ãÜ?@æ??€]Û?aÒ?H¡??€Cë?êï?kï?ð?ð?ð?€éî?øî?@´î?ð?ð?¢ï?ïï?Àðï?@Ïî?ð?ð?ð?@ýï?ð?Îï?Àvï?Œï?€ýï?¸§?ð?ð?ð?ð?ð?ð?ð?ð?ð?ÀËï?@ûï?ð?ð?Àÿï?;Ê?ì­?Àÿá?Ä ??:Ï?@ æ?8Æ?,?Љ?€ìï?@öï?ð?ð?ð?€ïï?@]ï?ð?ð?ð?@Pï?ð?ð?îï?Àdï?@Îï?ð?ð?0ï?@üï?ð?@ðï?`…?€U?ð?ð?ð?ð?ð?ð?ð?Àÿï?ð?ð?ð?ð?€úï?ð??r?±Í?ìï?€/Ô?œ¼?ð?@k?À°é?ˆï?€Þï?€¤ï?ûï?ð?Õï?úï?ð?ð?ð?ð?ð?ð?Àçî?@±ï?ð?ð?ï?ð?€ýï?zÄ?ð?ð?ýï?ð?ð?ð?ð?€üï?ð?ð?ð?ð?€ùï?·ï?uî?€øï?hœ?Ô?Pº?ð?ð?ð?€Ó?ð?¦¶?‚?¢³?ð…?A?ð?Àöï?@©ï?ð?@çî?@ï?€î?ð?ð?ð?ð?ð?ð?€ýï?ð?ð?ð?@ðï?ñï?€Æï?@ÿï?ð?ð?Àþï?ð?ð?ð?‹î?€¸ï?€Oï?Àøì?€…ï?@ï?ð?ð?(²?@[ï?ÀØï?4©? ~?ð?ð?Àûï?ð?ð?ð?ZÞ?ð?@üï?ôÃ?m?@j?`€??0?®?ð?€øï? Å?€Àï?€úï?@Êï?ð?€Hï?ð?€úï?ð?@Îï?ð?ð?@èï?kï?@ýï?Þï?@Hí?D§?ð?@×ï?ð?ð?@åï?ð?ð?ð?ð?ð?ð?ð?ÀÜï?dÉ?ð?Àÿï?€ï?Ч?@Áï?ð?ð?ð?ð?ð?ð?ð?ð?Gê?ð?€ÿï? Ï?Þ¹?€'ï?0ƒ?€e?€¼Þ?Àÿï?@¼ï?@Õï?ð?ð?ð?€Ãï?ð?ð?ð?ð?ð?ð?À„ï?ð?ð?Àîæ?€Üì?ð?ð?ð?ð?€Ûï?ð?ð?ð?ð?@wï?ð?XŸ?ÀÁî?ð?¨æ?Ä®?ð?ð?ð?Àþï?ð?ð?ð?ð?ð?ð?Àûï?ð?@òï?@ûï? °?,?(?6?€i?ð?ð?@ÿï?ýï?ð?ð?Ñï?€øï?ð?ð?€áí?ÿï?ð?ð?€ýï?Íï?@?ð?ð?ð?ð?ð?ð?ð?ð?ð?ï?Àhï?ƒ?Ö´?Àˆï?Àÿï? ?G?€­ï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?×ï?ÀÞï?`u?€èÕ?€g?ð?@×ï?ð?ð?ð?ð?@¨ï?ð?ð?€Ûï?ëï?€éï?À®ï?¶ï?€ôï?#ë?ð?ð?ð?ð?ð?ð?ð?ð?ð?€Êï?ð?¶¿?,¡?Àõï?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?ð?€þï?ð?ð?ð??ûð ÿ@€"pÿÿÿÿÿÿ\¿ÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð¿ßÿÿÿÿÿÿÿÿì?ÿÿÿÿÿà?ÿÿÿÿÿÿÿÿßüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü#ÿáÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ„`?ÊÿÿÀüÿðÿÿÿÿÿÿÿÿÿú€À"þÿÿ€ðÿÿÿÿÿüÀÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀõÿ¿ÿÿÿÿÿÿÿÿÿ€Àÿÿð4ÿÿðÿÿÿÿÿÿÿÿ÷ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ=ÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüx>(ÿÿÿðøÿüÿÿÿÿÿÿÿ7üpþ° ŸÿÀÿÿ‚ÿÿÿÿÿÿü?øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüƒýÿÿÿÿÿÿÿßÿÿÿÿ?ðÿÿúÿÿðøÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÀÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿü=ÿÿøÿþ;=þ€ÀÿÿèÀà?ÿÿÿÿÿ€@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿü?ÿÿÿÿÿðÿÿÿàÿÿàÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿü;ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿïÿÿÿÿÿÿÿÿÿïàÿÿßÿø?ÿüÿÿÿÿðÿÿ€?ÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€71ÿÿÿÿÿÿÿðÿÿÿÿÿ˜à`àÿÿÿþÿÿððÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿáðÿÿð ÿÀ ÿÿ€sÿÿƒþ?ÿüàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ߀ð?øÿÿÿÿàÿÿþÿø?ÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàþ ÿÐcÿÿ‹ÿÿÿïÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð @àØáÿÿÿÿÿüÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿ¿ÿÿÿàÿû€ÿã0ÿÿÿ‡ÿ€ÿÿßwÿÿÿþo‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿ{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿðÏð?ÿÿàÿÿÿÿÿÿÿÿÿƒÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿðÿ‡€ÿÿÿ€ÿÿˆ7ÿÿÿÿú€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿø€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀøÿÿ?ÿÿÿÿÿÿÿÿÿŸÿÿþÿþÿÿÿÿÿÿÿÿåÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿçÿ°€ÿàð?ÿÿÿý‡ÿÿÀð?ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ÷Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷øþÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿþÿþÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿøÿÿÿÿÿÿüÇÿÿà?ü ?ýÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€7¿ÿÿÿÿÿÿÿÿÿÿÿþÿïÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðxa¿ÿÿüùþÿÿÿÿüßÿÿðøþÿÿÿÿöàÿïÿÿÿÿÿÿÿÿÿÿÿÿþwÿÿÿÿÿÿÿÿÿÿÿÿýýßÿÿÿðàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿ¿ÿÿÿþÿÿÿÿÿÿÿÀoýÀÿÿÿÿÈ¿ñð~?ÿÿÿÿþÿÿÿüÿüÿÿÿÿÿøÿçÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿüyýÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿé¿ÿÿÿÿÿÿÿüÿÿÿÿÿ€ÿÿÿÿø=ÿÿÿÿþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ïÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ßÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿþÿÿÿÿÿàÿÿÿðýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£ÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿ¿þ÷ÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿlÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÇwÿÿÿÿÿ€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿýÿÿÿÿÿÿÿÿÿû¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿç÷ÿÿÿÿþàÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþoÀGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿðÿÿÿÿÿÿÿÿ/ÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿ·ÿðùÿÿÿÿÿþºÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿþ|Ÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿îÿxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿð'ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿþÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ðÿÿÿÿÿþßÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ1Àÿÿÿÿÿÿÿÿÿÿÿßÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü€ˆ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿóÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿþÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀÿ÷ÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“ÿÿ?€À?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÇÿÿÿÿÿÿÿÿÿïÿÿþÿÿÿÿÿÿÿÿÿ˜ÿøÿ¹ÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€ÿÿÿÿÿÿÿÿÿÿÿûÿÿÿàÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿàÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèðÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÀ?ÿøÿ@ÿÿÀÿÿÿÿÿÿÿÿÿÿÿñÿàðÎÿÿÿßÿÿÿÿÿÿÿÿÿŸÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿüÿÿÒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿûÿÿðÿÿàÿÿÿÿÿÿÿÿÿÿÿóÿ€<ü8ÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÏóÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿùÿÿÿÿÿÿÿû¡?ÿÿÿÿÿÿûÿÿÀaÀÿïÿüðÿÿÀÿÿÿÿÿÿÿÿÿÿÿ÷üïŸßÿÿÿÿÿûÿÿü`ÿÿÿÿø7?€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà>_ÿÿÿÿýÿÿÿÿÿÿÿÿþÿÿÿÿÿÿøÿð`ÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿï ÿÿßÿÿÿÀ?ÿÿÿÿÿïüÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðŸÿÿûüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ€<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿþþÿ{ÿÿø_ðÿÿÿÿÿÿÿÿÿÿÓ@ýÿ3ÿÿÿÿøÿÿÿÿÿÿðÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ<ÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÌ€?ÿÿÿÿüð'ÿÿÿÿÿÿÿÿÿ ¿ÿÿÿÿüÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ0þ?ÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿøþÿÿÿÿÏÿÿøðÿÿÿÿÿÿÿÿÿ€~ÿÿÿÿÿüÿÿÿÿÿÿÿ€ÿÿÿÿûÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿþûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿüÿðÿÿÿÿáÿÿþàýïÿÿÿÿÿÿövÿÿÿÿÿþÿÿÿÿÿÿÿþÿÿÿÿÿÿÿ£à?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿ¿ÿÿÿÿ×ÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿøÿüÿïßÿÀÿÿþÀ ¿ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿøÿ¿ÿÿÿÿþÿÿÿÿÿÿÿ„ÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿàÿîÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿà?ÿÿÀÿïïÿƒ?ÿÿüþÿÿÿÿÿÿøÀ?ÿÿÿÿÿð?ÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÀÿùßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ÷€øÿóÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿýïÿÿÿÿÿÿûÇ?þÿÿÿÿÿÿà?ÿÿøÿÿ«ÿÿÿÿÿÿðÿÿÿÿÿÿÿø?ÿÿÿÿÿ€ÿÿÿÿÿÿ÷ÿ€ÿ÷ŸÿÿÿÿÿÇ_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿ€ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿ€?ÿÿüÿƒƒÿÿÿÿÿÿ€îÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ~ÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿþÿÿÿÿÿ?ÿÿü8?ÿÿÿÿÿ@Çÿÿÿÿÿÿþ ÿÿÿÿàÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿýÿÿ?·ÿ†?ÿÿûø?ÿãøÿÿÿÿÿ€?ÿÿÿÿÿÿÿðÿÿÿþÏÿÿÿÿÿÿüÿÿÿÿÿ¿ÿÿð/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûøÿÿþ?ÿÿÿçÿÿÏÿÿÿÿÿ÷ÿüÿÿðÿÿÀ?øÿÿÿÿÿðÿÿÿÿÿÿÿÀÿÿÿÿø?Ïÿÿÿÿÿÿàÿÿÿÿÿÿßÿ~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿñÿÿÿÿÿÿðÿÿ€þÿÿÿÿÿüÿÿÿÿÿÿÿÀÿþ|ýÿÿÿÿþÿÿïÿÿþÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýàÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïïÿÿÿÿÿÿÿ÷ÿÿÿóüðàÿñÿÿüÿÿÿÿÿÿÿÀÿøŸ÷ÿÿÿÿÿÿðÿÿÿïþÿÿ>Ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿóÿÿÿÿüOÿÿÿÿÿýüø|0ÿÿüOÿÚÿÿÿÿÿÿÿÀ €¿ÿÿïñÿÿÿ ÿÿþïÿÿÿ?wÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ð€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿ¿ÿÿÿøÿþÿÿÿÿÿà>?ÿþÿÀÿÿÿÿÿÿÿ€ÿÿÿÿýÿÿþÿÿîÿÿïÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿ¿ÿÿÿÿÿýÿÿàï÷ÿßÿëÿÿÿÀàÿÿÿÿÿÿï?ßÿÿÿýÿÿþÿÿ÷±ÿÿÛÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿþÿÿÿÿÿðÇÿß¿ÿÿü øÿÿð°ÿÿÿÿÿü/ÿÿÿÿÿÿÿøÿÿÿí½þßÿÿÿ_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñü?þÿÿÿý?ÿÃÿ¿ÿøð‘ÿüÀ?ÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿþý¿ÿÿÿ×ãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿü¿øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿçÿýÿñÿÿÿÿ€?ÀÁÿÿ@?ÿÿÿÿÿÀÿÿÿÿÿÿÿÿ€ÿÿÿÿÿ÷ÿÿïùûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÁÿÿÿÿóŸÿÿÿÿÿð€üÿÀ?ÿÿÿÿÿà?ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿŸ¿û¿yûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿOÿÿÿçþùü?ÿÿýÿà>ðÿü€ÿðÿÿÿÿÿà€ÿÿÿÿÿÿÿÿÿ€ÿÿÿßÿGÿÿÿü#ÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿøÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüÿÿÿÿÿÿþÿÿÿÿóÿ€ðÿÿÿððÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿ¿ÿ÷7ÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÀÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿûÿÿÿÿÿþðÿÿÿøðÿÿÿÿÿàÿÿÿÿÿÿÿÿÿ€ýÿ~ãÿ?ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿàÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿìÿøÿÿÿÿÿßÿÿûÿÿÿàÿÿÿþ`ÿÿÿÿÿàÿÿÿÿÿÿÿÿþ?ýß?ÿ¯ÿ'ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ý!ÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿüÿÿýÿÿÿÿÿþÿÿü@ÿÿÿÿàðÿÿÿÿÀÿÿÿÿÿÿÿÿþÿÿþ?øÿÿð?ÿ_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿðÿÿÿÿÿÿúÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÀßÿûÿÿýÿîþþÿýðÿÿÿÿ€0?ÿÿÿÿ€þÿÿÿÿÿÿÿþÿÿ¿ÿðÿø?ÿOÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÀÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿoÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñ€ÿÿÿÿÿÿ÷ÿÿÿïÿÿÿðÿÿÿÿÀÿÿÿÿ€ÿÿÿÿÿÿÿÿþÿÿÿÿÿÿðÿ¼ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØ3ÿÿïÿÿÿÿÿÿÿïÿÿÿàÿ¿ÿÿþûÿþÿÿÿÿÿÿÿþßÿÿÿÿÿüÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<ÿÿÿÿÿÿ€?¿ÿÿÿÿÿÿÿÿÁïüÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùüÿÿÿÿÿÿÿùÿÿ?ÿûÿÿàû¿ÿÿÿóþ/ÿÿÿÿÿÿ¿ÿÿÿÿßÿÿÿÿÿþÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþx?ÿÿÿÿÿø<ŸÿÿÿÿÿÿÿÏÿü_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûùÔÿÿ÷ÿÿÿÀÿÿÿÿþ€ŸÿþÿÿÿÿÿÿÿÿÿÐßÿÿÿÿÏÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿßÿðÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿüÿÿÿÿÿÿÿÿÿÿ{Ÿÿïÿÿ÷€ÿýûÿÿü ÿþ@ÿÿÿýÿÿÿÿÿøÿÿÿÀþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿóð??ÿÿÿÿÿÿÿÿüÿÿ@áŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿþûÏÿßÿÿÿÿçßÿÿø€ð€ÿÿÿÿÿÿÿÿÿþ€ÿÿ ÿÀÿÿÿ/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÀüŸ¿ÿÿÿÿÿÿøÿþDÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§ÿÿÿÿÿÿÿ×ûGþÍÿÿÿþþÿÿÿüÿø€?ÿÿûÿÿÿÿÿÿ€ÿðçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÞüÿŸÿÿÿÿÿÿø>þüüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçóÿçÿ¿ÿÿÿþçùÿÿü<<ø€ŸÿÿÿÿÿÿÿÿÿÀ<ç÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿüüîÿÿÿÿÿÿðþ`ÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿ?ÿÿþÿÿÿÿÿü~àÿÿþÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿøÿðÿÿÿÿþÀø>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿýÿÿþÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿøÿðÿÿÿÿ€|à?ÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿûÿþÿÿÿÿÿüÿ€ÿÿÿþÿÿÿÿÿ|?ÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿüÿøÿÿà?ÿðÿÿÿÿƒøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿþÿÿÿÿÿüÿÀÿÿþþüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(ÿàÿàÿÿÿÿÿàxÿÿï÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ?÷ÿÿÿÿÿþÿÿÿÿÿÿÿðÿÿüþÿÿøÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúÿÿÿÀðÿÿÿÿÿà?ÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿ€ÿð ?ÿÿ€ðÿÿÐÇÿÿÁÿÿÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð€ÿÿƒðñÿÿÿÿ×÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿúÿøÿþà?¿ÿÿÿáÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿ€ÿùÿøÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿðÿÿ€ðùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿÿÿÿÿàÿûÿÿÿÿÿÿÿÿÿÀ€ÿÀÿûÿà ?ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿñ€àø üÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿðÿÿÿÿðÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿýàþÐøüûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿüÿ€ÿÿÿð€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿàÏ€wüþáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿøÿÿÿÿÿÿÿÿÿü'ÿÿø>ÿÿð€À?ÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÀüÿð~aÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿŸÿÿÿøÿÿŸÿÿÿÿÿÿÿüçÿÿø~ ÿÿâÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿ€?üÿÀ~aÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿøþÿÿÿÿÿÿÿÿÿø?ÿÿðþÿÿäÿðÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿ€ÿø~€~@?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ{ÿÿÿøàÿÿÿÿÿûÿÿÿÿÿÿÿà9ü?ßÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÀ ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿÷ÿ¿Ÿý÷ÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿà/üÿÿØÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿ€þ7óÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿçÿÿÿÿÿÿÿð ûÿÿÿÿÿÿÿÿÿûÿÿÀoüÿ°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿà?ø ;óÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿþüÿþÿóÿÿÿÿÿÿü?ÿÿ€ÿÀÿÿ°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿþpÿ€ 3ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿûÿýÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿøÿþÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿþðÿÀ3ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿóÿÿÿÿÿÿÿÿÿ€É þ?ÿÿÿÿÿÿÿÿüÿÿüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿø`ÿÎÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ™ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀrÿÏÿÿÿÿÿÿÿÿ@ÿø?øçüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿðÇüðÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿëÿÿÿÿÿÿÿûÿÿÿÿÿÿÿþÀÿÿwÿÿÿùÿÿÿ€ ÿÿàðóøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿàÿ ù¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷¿ÿÿÿû÷ÿÿÿÿÿ¿ÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿô3ÿðäÓüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿà=øý?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿüÿÿýÿÿÿÿÿÿÿÿÿüÿüßÃÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÀ}Ð~}ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿüÿþߟÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷Àÿÿÿÿÿÿÿÿÿÿÿÿø€ÿþ‡€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøpÿÿÿÿà `Wÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿìûð?ÿþð³€ùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿððÿÿÿÿðècÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿàÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿüÿøÏÿð?~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðpÿÿÿÿøðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿüÿ€ðþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÝÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¾ÿÀø0À?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿþÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÀÿýÿÿÿÿÿÿÿÿýÿÿÿÿüÿüÿøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÀ‚€ÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÏÿ¿ïÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿüÿÿÿà¿ÿø ÿüÿƒÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿ€Àÿÿÿ|@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ½ÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿûÿÿÿþ7ÿÿý¿ÿÿðÿþÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóÒÿÀÀÿÿþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøþçþü?ÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÏÿÿÿ~?ÿÿñÿ€ÿÿÀÿþÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‚ÿàÀÿÿþÀ=€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüÿüÿÿñÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ¨ÿÿàÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÀÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿüüÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿïÿÿÿÿÿÿþÿ|ÿÿàÿÿ€¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüÀÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿðxÿÿÿÿÿÿÿÿÿÿÿàÿ÷ÿÿÿÿÿÿÿÿÿÿÿüÿÿÿ€ÿÿàÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÀÿÿÿ€ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿþÿÿÿÿÿÿÿÿàÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€¿ÿàÿÿÿÀÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ°?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀüßÿþÿÿÿÿÿÿÿÿÏÀÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿ€ÿÿðÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþH>ÿÿÿýÿÿ/ÿÿÿãàÿÿÿÿÿòÿÿÿÿÿÿÿÿÿÿ€ÿÿðÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþðþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿþ?ÿÿÿÿÿ¿ÿÿÿð0ÿÿÿûÿþÿÿÿÞwÿÿÿÿÿÿÿÿàÿÿÿÿÀ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?þ`_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï?€ÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿïûÿÿÿÿÿÿ€ÿÿàÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàMÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ð?þ@0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ¯ÀÿÿÿÿÿÿÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÀÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?àþ0 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþà?ÿÿÿÿÿÿoÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ/ÿÿÀÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿ?àü@Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ_â?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿàÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?àøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿ¿ýÿÿÿÿÿÿÿ?ÿ€ÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþðð˜ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿ¯ÿÿÿÿÿÿÿÿÿüü{ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñoÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð ðÿÿø¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøø€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿçÿÿûÿÿÿÿÿÿÿÿø=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøGàÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¼ÿ÷ÿþÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðü ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿü÷ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþßÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿùÿÿÿÿÿÿÿÿÿÿü?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿàü`àÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?Ãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿðþÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàü€þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿ?àþäÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€üàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿàþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð8?ýðà@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿÿÿßÿÿÿÿüçà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ€ÿÅÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿïÿ¿ÿÿÿÿøüï€@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ€Ààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿáÿÿÿÿÿÿÿÿûÿÿÿÿ¿ÿø€ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÀ€ð/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?àÿøØ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀðÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþøÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀ@ÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿø8ÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀ?áÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿüÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿ]ÿÿüÿÿÀÿüÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€òÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿô?ÿÿÿÿÿÿÿúüÿƒÿÿþÿÿÿùþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿàÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿüý?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿýÿÿÿÿÿÿÿÿÿÿøÿÿÇ€ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôÿÿÿÿÿÿïÿÿÿÿÿ?ÿÿÿÿÿÿÿñÿÿÿøÀÿÿÿÿÿÿÿÿÿÿùÿÿøÿÿÿüÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿóýÿüèÿÿÿéÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÏÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿçÿÿÿàpáͰÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€ÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ_ÿø€ÿÿÿÿÿ÷ÿÿÿÿÿÿÿà/‡ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Àþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿðÿÿÿÿÿ÷ÿÿÿÿÿÿÿÀ à?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿþÿÿÿÿÿÿþÿÿÿ xàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿ‚ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÎùÿÿþÿÿÿÿÿÿÿÿÿÿÿñ ðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿüÿÿÿÿÿ÷?ÿÿÿÿÿÿÿÿÿº?þŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿàÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿó<ÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿ?ÿÿÿÿÿÿÿÿü?ñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?Çÿÿÿÿÿÿÿÿÿÿÿÿÿÿñ€<ÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿðÿÿþÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÂ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøûè¸ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÀÿÿÿÿÿÿÿþÿÿÿÿùÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿßÿÿÿÿÿÿïÿÿÿÿÿø;Àþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü©ÿÿÿÿÿÿûøÿÿÿÿøÿÿÿÿÿÿÿÿÿÀÿÿÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿð ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿƒ‚ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü>ÿÿÿÿÿÿûøÿÿÿÿˆÿÿÿÿÿÿÿÿÿÇÿÿÿÿÿÏßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀXÿÿÿÿÿÿÿÿÿÿÿÿ€Ï?ÿÿÿÿÿÿÿÿÿþ¿ÿÿÿÿÿÿÿÿÿÿÿàÿ€ÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿú€0|ÿÿÿÿÿÿÿÿÿÿÿ÷þ)œ?ÿÿÿÿÿÿÿþÿø?ÿÿÿÿÿÿÿÿÿÿÿÀÿà?ÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿàÿÀìÿÿÿÿÿÿøÿÿÿþÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?€ÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€}ÿÿÿÿÿÿÿÿÿÿÿÀÿÿïÿÿÿÿÿÿÿøÿÿÿÿüÿÿÿÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿü< ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿàÿÿÿÿÿÿÿÿÿÿèÿÿ@ÿÿÿÿÿÿÿÿÿÀ9ÿÿÿÿÿÿÿÿÿÿÀ?ûÅÿÿÿÿÿÿÿðÿÿÿÿüÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø>€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈÿðÿÿÿÿÿÿÿÿÿûÿøÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿûÀàÿÿÿÿÿÿÿà?ÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿà? ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆ ÿðÀÿÿÿïÿÿÿïøÿÿÀÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿø~@ÿÿÿÿÿÿÿÀÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0ÿðÀÿÿÿÿÿÿÿÿüÿþÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿø|ÿÿÿÿÿÿÏÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€À ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ`ÿðøÿÿÿÿþÿÿàÿàÿÿÿÿÿÿ÷ÿÿÀ?ÿÿÿÿÿÿÿÿÿø8ÿÿÿÿÿÿ€ÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?à ÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿðÿçÿÿÿÿÿÿÿßüÿÿÿÿÿÿàÿÀÿÿÿÿÿÿÿÿÿðÿÿÿÿÿàÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿàÿÿÿÿÿÿÿÿÿÈüÿÿÿÿÿÿÿ€ÿàÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿðÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÀÿÀÿÿÿÇÿÿÿÿÿŒðÿÿÿÿÿÿÿ€ÿøÿÿÿÿÿÿÿÿÿðÿÿÿÿÿú?ÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÀÿÿÿ€Áÿÿÿÿþàÿÿÿÿÿÿøÿþÿÿÿÿÿÿÿÿÿàÿÿÿÿÿü?ÿÿÿÿüxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿøÿÿÿÿàÀÿÿÿÿÿÿàÿÿ€ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿøÿÿÿÿÿü_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿàÿÿÿÿÀø¬ÿÿÿü ÿ€ÿÿàÿÿÿÿÿÿÿÿàÿÿÿÿÿøÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿƒÿÀ ÿÿÿÿÀÿÿñãÿÿÿðÿÿÿàÿÿÿÿÿÿÿÿ?ÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿþ¿ÿ0ÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿ‡ÿÇùÿÿÿÿ€?ÿÿÿÿÿÿÿÿÀÿÿàÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý?üÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€ÿÿàÿÿÿÿÿÿþÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ð?ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÀ€ÿðÿÿÿÿÿÿþÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿüÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿà€ÿøÿÿÿÿÿÿüÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿà€ÿüÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Æðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿþxÿÿÿÿÿüÿÿÿÿÿÿÿÿà€ÿþÿÿÿÿÿþ?ÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿøÿÿÿÿÿþÿÿÿÿÿÿÿÿà€ÿÿ€7ÿÿÿÿÿÿ?ÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøø0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÕ€ÿÿÿÿÿÿÿàÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿ/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð|ÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿðÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÀÿÿ€ÿÿÿÿÿÿ?ÿà?ÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàäÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÿàÿÿÿÿÿÿÿÿÐÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿ€ÿÿÿ€ÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿìÀÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿàÿÿÿ€ÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿàÿÿÿÿÿÿÿð¿ÿàÿÿÿÿÿÿüÿÿÿüÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿþ€ÿü÷ÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ0ÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÀÿÿùÿÿÜÿøÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÀ7ÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüzÿÿÿÿÿÿøÀÿÿàÿÿþðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿà?àÿðÿÿ¾@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿþÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿà?à?øüÿÿ~C±ÿÿÿÿÿÿÿÿÿÿÿþÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿüÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿïÿÿÿÀÀ?øÿÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿðÿàÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿ€Àðÿþ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÀÿàÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÀÀð ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿþÿðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿð?ÿÿÿÿÿÿàÀàÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðàÿøÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿþðÀøÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿ€ÿøÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿüð?Àþ?ÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàþÿøÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÀÿÿÿÿÿü?Àþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ8ÿðÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùçÿÿÿÿÿÿü€þÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæ0ÿþÿà?ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùóÿÿÿÿÿÿþ€|ÿø?ÿÿÿÿÿÿÿÿÿÿÿçÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùðÿÿÿÿÿÿÿ`ÿÌÿÿÿþÿÿÿÿÿþ_ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿ€ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùø¿ÿÿÿÿÿÿàÿ÷€ÿÿ÷ÿÿÿÿÿÿÿüÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÀÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùøÿÿÿÿÿÿàÿÿ€ ÿÿ÷ÿÿÿÿÿÿÿÿŸÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿàþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûøÿÿÿÿÿüÀ08@ÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿàüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÌxÿÿÿÿÿø €û€ÿ ÿÿ¿ÿÿÿÿÿÿÿÿÿþÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöÿÿðü¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðpÿÿÿÿÿðÿðÿãÿÿ÷ÿÿÿÿÿÿÿÿÿüÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€Ÿÿø?ü¿ÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø ÿÿÿÿÿðÿàÿá€ßÿÿûÿÿÿÿÿÿÿÿÿþÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ<ƒÿüü_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü`€ÿÿÿÿÿàÿààÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿþÿü_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀÿÿÿÿÿàÿà?¸ÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿþÿþÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€ÿÿÿÿþèà?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€ÿÿÿÿøøðÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿþÿ ÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿô3Àÿÿÿø€ž_üàà7Àÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæÿÿ€ ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú?ÿÿðþÿÿýÀà@ Ïþÿþ|ÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû?þÿÿÿÿÿÿÿ€þÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿ€ÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?øÿÿÿÿÿÿÿþøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿ€?ÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿþ@€ø?àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿðÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿ€ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿ€áÿÿþ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿ€€ÿÿÿÿÿÿÿÿÀÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿüàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÀÿÿÿÿÿÿÿÿÿàÿÀðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿåàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøàÄÿÿÿÿÿÿÿÿÿÀüðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿè?ÿÿÿþaÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÀ?Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ¸ÿÿÿ÷þaÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð÷€ÿüàüHÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿüØ€ÿððÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€/ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€š<ŸàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ„?ÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàOÿ?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿüÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿàôüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþðÀü?Cÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿþÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø;þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€(?ÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿü)ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿ?ÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïøþ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ`?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàøþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿþ8 ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ`øþ7ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÀ~÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿?€ÐþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿø þ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?À`þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿgÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà€þ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿüÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿø@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþy?ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ† ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿŸÿÿÿˆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿwÿÿÿÿð?€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿoÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?Àÿÿÿÿÿÿÿÿÿÿÿÿþô~}žÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿððÿÿÿÿÿÿÿÿÿÿÿÿüÀŸüÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿ¿ÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿðûÿÿÿÿÿÿÿÿÿÿÿÿþöÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿ¿ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿ°ýÿÿÿÿÿÿÿÿÿÿÿÿü!€ÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿŸÿÿÿ€þÿÿÿÿÿÿÿÿÿÿÿÿøÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ£ÿÿßÿÿÿÀ~ÿÿÿÿÿÿÿÿÿÿÿÿàÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?€ÿÿÿÿÿÿÿÿÿÿÿÀÿà ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøþÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿÿÿÿÿøÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüþÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ@àÿÿÿÿÿÿÿÿÿÿøÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ>ÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€àÿÿÿÿÿÿÿÿÿÿàÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ>ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýàÿÿÿÿÿÿÿÿÿÿ ÿð˜ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŒÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ðÿÿÿÿÿÿÿÿÿÿ€øp?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿðÿÿÿÿÿÿÿÿÿÿü ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿøÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðüÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàü?ÿÿÿÿÿÿÿÿþüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿüîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿàýƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿþ?Ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿð?÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü€@ÿÀÿÿÿÿÿÿÿÿþïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿðÈÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿü€?àÿÿÿÿÿÿÿÿþÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿÿÿÿÿÿþÿ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿñÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿÿÿÿþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿù8Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüðÿÿÿÿÿÿÿÿÿ€þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿø<Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿÿ€þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüxÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøø_ÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþxÀ#ÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàüÿÿÿÿÿÿÿþ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿþ|Àþø0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð@üÿÿÿÿÿÿÿüxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿþ|Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€àþÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿxÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀàÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿøÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿü0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿøÿàÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿùàÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿðÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðàÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿüÿø÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÀ ÿÿÿÿÿÿü ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿþ¿ÿüðÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÀðÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?€øÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€üÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€>ÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€?ÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð€ÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ?ÿÿÿÿÿøó°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿà ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿È~ÿÿÿÿÿøÿÿÀ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿž<ÿÿÿÿÿøþÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ«ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŒ ÿÿÿÿÿøø ÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþŸÿßÿÿÿÿÿÿÿÿÿÿÿÿÿ¡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿððÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿßÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý pÿÿÿÿÿø?ÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿŸÿÿÿÿÿÿÿÿÿÿÿo¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü0ÿÿÿÿÿüÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿŸÿÿÿÿÿÿÿÿÿÿþÏ€ÿÿÿÿÿÿÿÿÿÿÿÿïÿÿ@ÿÿÿÿÿü€ÿÿ@?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÏÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÃÿüÿÿÿÿÿüˆ ÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿþÀÿÿÿÿÿÿþà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿþü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€þÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿø> ÿÿÿÿÿÿÿþÿÀÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€øÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿ€8ÿÿÿÿÿÿ?ÿþÿÀ_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿüÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿúÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿò€ÿÿÿÿÿÿÿÿýÿ€ÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÀÿöÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿðÿÿÿÿàÿôÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿü`ÿÿÿÿÿÿðÿàÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿðÀxÿÿÿÿÿÿøÿàà<pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿ@?ÿÿÿÿÿÿÿÿàÿÀüÿÿÿÿÿÿüÿÿÀþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿàÿÀþÿÿÿÿÿüÿÿÀ?ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿàÿ€€þ?ÿÿÿÿÿüÿÿàÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿàÿ€hÿÿÿÿÿþÿÿàÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÀþ`ÿÿÿÿÿÿÿÿàÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð_ÿÿÿÿÿÿÿÿÀþÿÿÿÿÿÿÿÿÀGÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿàGÿÿÿÿÿÿÿÿàþÿÿÿÿÿÀÿþÀ'ÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿàø?ÿÿÿÿÿüÿþÀ0ÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿþ€ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿðà„ÿÿÿÿÿÿ¿ÿÿü€?€¿ÿóxøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø@üÿÿÿÿ÷ÿÿÿÿþ?ðÿü`üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿüøÿÿÿÿÿÿÿÿÿÿþüxøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿþøÿÿÿûÿÿÿÿÿþì8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿþ?øÿÿÿûÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿ?øÿÿÿûÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿþÿûÿÿÿÿÿÿÿ€þ?ÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿüÿùÿÿÿÿÿÿÿàþÿÿýÿÿÿÿÿüÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿðÿÿÿÿÿÿüÿùÿÿÿÿÿÿÿàþÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿüÿùÿÿÿÿÿÿÿð?ü?ÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿüÿÿÿÿÿÿüÿðÿÿÿÿÿÿÿø?üÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿàÿÿÿÿÿÿðÿÀÿÿÿÿÿÿþ?øÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ø?ÿüÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿ€ÿÿÿÿþüÿÿÿÿÿÿÿÀ¿àÿðÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿ€ÿÿÿÿüü?ÿÿÿÿÿÿÿÀÿÀÀÿÿÿà @€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€ÿÿÿÿÿÿÿÀ?ÿÿÿÿÄ?ÿÿÿÿÿÿÿàÿÀÿÿÿüÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿ€?ÿÿÿÿ€?ÿÿÿÿÿÿÿàÿÀÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý ÿÿÿÿÿüÿÿÿÿ€ÿÿÿÿÿ÷ÿðÿ€ÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿðÿ¿ÿÿ€?ÿÿÿÿÿÿÿøÿ€?ÿÿÿÿÿÿ0ÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿøÿ€ÿÿÿÿÿÿð`?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿð ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÀÿÿÿÿ€ÿÿÿÿÿÿÿü'Ðÿÿÿÿÿÿð@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿþÿÿÿÿ€ÿÿÿÿÿÿÿü3Àÿÿÿÿÿÿð ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿüÿÿÿÿ€ÿÿÿÿÿÿÿþÀÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿøÿÿÿÿ€ÿÿÿÿÿÿÿþÀÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿðÿÿÿÿ€ÿÿÿÿÿÿÿþãÀÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿþÿÿÿÿ€ÿÿÿÿÿÿÿÿßÎ@ÿÿÿÿÿà? ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿøÿÿÿÿ€ÿÿÿÿÿÿÿþC†~@ÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿàÿÿÿÿ€ÿ÷ÿÿÿÿÿÿxÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÀÿƒÿÿÿÿÿÿ<ÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿ€ÿÿÿÿÀÿÿÿÿÿÿÿÿÿà-€ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿüÿÿÿÿ€/ÿÿà ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‡þÿÿÿ€ÿÿþÿÿÿ€€?ÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçàÿÿÿ€ÿÿÿ¿ÿÿÿ€€ÿÿÀ'ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàþ?ÿÿÿ€ ÿÿŸÿÿþˆÿÿÀ;ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð|?ÿÿÿ€ ÿÿÿÿÿÿ™?¿ÿà9 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿþƒ?ßÿÀ xÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿðÿÿÿÿÿÿÿÿþÀ€ûÿÀøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿàÀÿÿþþÿÿÿþ!€ñÿÀðoÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ðÿÿþþÿÿÿþ €xÀðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@àÿÿþü?ÿÿÿþà'€8?À€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðàÿÿþü?ÿÿÿüà'À€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßð?ÿàÿÿþø?ÿÿÿøÀ=€€ÿ€øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßüÿÿàÿÿþøÿÿÿàÀ=€߀ÿƒÿü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿàÿÿþøÿÿÿ€¹ ÿÀ¿ÿßÿü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ<ÿÿÿàÿÿþ ðÿÿÿ 9ÿàÿÿßÿüÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿþðÿÿü {ÿàÿÿßÿþàÁÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿþðÿsÿðÿÿßÿÿÿðþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿðàÿ€0vL@ÿðÿÿÿÿÿøÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿààÿðtD@¿øÿÿÿÿÿÿ¿ÿƒ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿààÿ€íàÏü?ÿÿÿÿÿÿÿÿ°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÀÀàþéàˆÏþ?ÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÀ àþèÀÿ€ ?ÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿýÿÿøÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÀpðøðpÿÀ€?ÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀxöàtxÀÿàÿÿÿ‡ÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿ÷ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿüøþ€8 x?àÿøÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿþøüÿpü?üãüÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøþÿàü?ÿÿ€þÿŸÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøþÿ€/ø7ýÿ€ÿÿÿÿÿÿÿÿÿÿÿò?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿüðÿÿ€>?üÿÿ_ßÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøàÿÿÀ>üø?ßÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿ€Àÿÿþø?ÏÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿàÿ€?Àÿ¿üü?ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÀ?€{ÿþ¾?ÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿàÿà€Pÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿàÀ Hÿ>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿ€ÿà à Þÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿà ðÿîÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà0ø ÿŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿàÿÀ ÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿþÿÀÿÀ€ÿˆÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿþÿÀà?ÀÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿüÿðoÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿü|?üÀ?Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿøÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?þøÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø÷€ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿ¿ÿÿÿÿÿÿÿø?ÿÿö€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð ?ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÀÿÿà@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÌ?ÿàÿÿðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿúwÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÀ?ÿðÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿàÿð_ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿà<ÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿðÿøÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿ×ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿøÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€üÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿøÿøÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿþÿøÿøÿÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿüøÿðÀÿÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿþÿÿÿÿÿÿÿø?ÿÿðÀ?ÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿðÿ€ÿð@ÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿàÿàÿøÿÿ€@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿðÿøÿÿÿ@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿ€ÿøÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿßÿÿÿÿÿþÿøÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿþþÿø oÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿü?ÿø?ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿøÀ?ÿ?þÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿ»ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð ?ŸÀþÿÿÿÿð0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿäÿÿÿÿÿðpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿ€ÿÜÿÿÿÿÿà ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@ÿÿÿÿÿöÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿþÿû@ÿ€Àÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€?ÿÿÿÿÿôÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿøÿý@?€àÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþà?ÿÿÿÿÿôÿÿÿÿÿÿÿþÍóÿÿÿÿÿÿÿäýèÀþ?ÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿÿÿüÿÿÿÿÿÿÿÿÿþäÿÿÿÿÿÿïÿÜ€ûþ@ÿÿÿÿÿÿþpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿüÿÿÿÿÿÿÿÿþÿÿ?ÿÿÿÿÿïÿ¼Àÿþÿÿÿÿÿÿÿpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿþÿÿÿÿÿÿÿÿüÿÿÿÿÿÿïÿÿÿ|àÿþÁðÿÿÿÿÿÿÿ€€< ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþp?ÿý¨ÿÿ?ÿÿÿÿÀOÿ0xÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿßü ?ÿÿÈÿÿÿÿÿÿÀÿÿð€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûþø ÿÿÐÿÿÿÿÿÿÀÿÿÿàðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿþþÿÿÿÿÿÿÿðÿÿøÿÿÿÿÿç€ÀÀpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ?ÿÿÿÿÿãÿÿÿÿÿÿÿÿÿÿÿ_ÿÿÿÿÿÿàÿÿüÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿóÿÿÿÿÿÿÿÿûÿÀÿÿÿÿÿÿÀ‡ÿÿþ?ÿÿÿÿÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿøÿÿÿÿÿÿ€àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸÿÿÿÿÿÿÿÿøÿÿÿÿÿ߀ð ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúýøÿÿÿÿÿÿßÿÿÿÿÿÿÿÿþÿÿÿÿÿþÿÿø ÿÿÿÿÿÿ€€x4ÿÿÿÿÿÿÿÿÿÿÿãÿÿÿÿÿÿÿÿþÿüÿÿÿÿÿÿßÿÿÿÿÿÿÿÿþÿÿÿÿÿüÿð ÿÿÿÿÿ€0 €þ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¸@ÿÿÿÿÿÿçÿÿÿÿÿÿÿÿÿüÿÿÿÿÿø?ÿøÿÿÿÿÿ€xÿ°A€ÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿùøÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿþÿÿÿÿÿð?ÿü?ÿÿÿÿþÀCÿð€ÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿð€?ÿÿÀ_ÿÿÿÿüàÿÿÿøÀÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿóÿàÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿàÀÿÿÀÿÿÿÿüñÿhÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿÿÿÿÿÿïÿçÿüÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÀàÿÿÀÿÿÿÿðÿþH?ÿØ@ÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿïÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÀ`ÿÿÀ0ÿÿÿÿàÿø€ÿøpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿ¿ÿÿ@ÿÿÿÿÿïóÿÿÿÿÿÿÿüÿüÿÿÿÿÿ€ ÿÿàðÿÿÿÿÀÿà= ÿøðþÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿ÷ï?ÿÿàÿÿÿÿßûÿÿÿÿÿÿÿüÿüÿÿÿÿÿÿÿÿáøÿÿÿÿàï@<ðÿøÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿýÿÿÿÿøÿÿÿÿÿûÿÿÿÿÿÿÿüÿüÿÿÿÿÿüÿÿùøÿÿÿÿàÿ€øÿàðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýàýÿÿÿÿÿøÿÿÿÿÿýÿÿÿÿÿÿÿýÿüÿÿÿüÿÿøÿÿÿÿðÿà/ÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ð_þÿþÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýBþÿÿøÿÿÿœÿÿÿÿàÿà?ÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüþÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÀÿÿÿ—ÿÿÿÿÀ?ÿðýÿÿø¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿûÿÿÿÿÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿçÿÿÿÿÀã°÷ýÿÿÿ€`ÿÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿûÿÿÿÿÿÿÿûÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€@ÿÿãÿÿÿÿÀÃøàÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿßÿûÿÿÿÿÿÿÿÿÿüÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ ÿÿñƒ€ýÿÿ€ƒüÿþßÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿð¸?ÿ€_ÃüÁ7ÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïûÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿïÿÿÿÿÿà#ÿÀÇüàÿÿÿÿÿÿÿð€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿßÿÿþÿÿÀÿÀÃüà@€¿ÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿþÿÿàüÀÁüÀ€ÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿþÿÿðàÀÀþÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿüÿÿà€À ÿÿÿÿÿÿÿø ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿ÷ÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿüÿàÀ?€ÿÿÿÿÿÿüŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿøÿàÀ~€ÿÿÿÿÿÿÿÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿð?ÿàÀp`ÿÿÿÿÿÿÿ€Ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿïÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿàÿàÀs`ÿÿÿÿÿÿÀÄÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿàÿàÀÀÿÿÿÿÿÿÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿâÿàÀ@_ÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõÀÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÂÿàÀàÿÿÿÿÿà ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀààÀÿÿÿÿÿà?€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ6à€ÿÿÿÿÿü?ÿøÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€`ÿÿÿÿÿÿÿøàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø;ÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÀÿàpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿ€8ÿÿÿÿÿÿüÿ€xÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜ÿÿÿÿÿÿÿü><ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈÿà@ÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿþÿÿƒÿÿÿÿÿÿà?ÿðÀÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿþÿÿƒÿÿÿÿÿÿðÿðü ÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿøÿÿùÿðÿÿ¿ÿÿÿÀ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿþñÿÿÿÿÿÿøÿÿÿÿïðÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿYÿÿÿÿÿÿðÿÿÿÿøÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿXÿÿÿÿÿÿðÿÿÿÿø ÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿøþÿÿÿÿÿðÿÿÿø ÿÿÿÿßÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿ¼þÿÿÿÿÿðáÿþü€ÿÿÿþÿü€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿßÿÜþ?ÿÿÿÿòÿÿþÿÿÿÿü`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿ¿ÿþ?ÿÿÿÿÿðÿÿþÿÿ÷üÿ€À8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿþ?ïÿÿÿÿð?ÿÿø xR~?Àÿÿðÿ€à ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿþ÷ÿÿÿÿðü|û_Àü„°ðÿ„ÿ€ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿýÿûÏŸÿÿÿÿÿð8÷ÇÉÿù€ÿàÿàÿÀ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿñŸÿÿÿÿÿÿøgÿ¡ÿøÿ€ÿðÿà ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿã¿ÿÿÿÿÿÿøðþÿðÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿÿÿÿÿüðÿÀ÷ FÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÇÿÿÿÿÿÿÿü€€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿü?þ?þÁ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿü?ÀüÿÀð€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿïÿÿÿãÿÿÿþðøÿðø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿþððÿà@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿøàÿð0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÀ`ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÀ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿàxÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿà`0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿàÿÿÿÿÿÿÿÿÿßÿïÿÿøÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÏÿÿøÿÿÿÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿàð€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿßÿÿüÿÿÿàøä€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿü?ÿÿÿàø€@€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿàð€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿàèÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿàÿ„ààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿà 0ÿß8?à?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿà€ÿÿÿ8?ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿà€¿ÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿàÀÿÿÿÿððÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿààÿÿÿÿà?øÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿààÿÿÿÿà?ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿàGðÿÿÿÿ ?øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿàðÿÿÿþ?üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿà?ðÿÿÿþøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿà¿øÿÿÿÿ@øÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿðÿø`ÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ_ÿÿÿðÿø ø?ÿÿÿþ0üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿøüÿÿÿþ?ü ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿøþÿÿÿÿøþpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿøÿøÿÿ?ÿÿÿøÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø ÿøÿÿ€?ÿÿÿðÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð ÿüÿÿœ?ÿÿÿø?ÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿüÿÿþ¿ÿÿÿü?ÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿðÿþÿÿÿÿÿÿÿÿ?ÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿàßÿþÿÿÿÿÿÿÿÿ€ÿÿàÿÿÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÜÿÿÿÿÿÿÿÿÀÿÿàÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÌ?ÿÿÿÿÿÿÿÿðÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€=ÿÿÌÿÿÿÿÿÿÿÿøÿÿÿ@ÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßþÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßþÿÿÿà?ÿÿÿÿÿÿÿÿÿÀÿÿÿ€ €ÿÿÿOÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿàŸÿÿÿÿÿÿÿÿÿàÿÿÿ€ÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÇÿÿÿÿÿÿÿüÿÿÿàGÿÿÿÿÿÿÿÿÿÿðÿÿÿ€|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿð?ÿÿÿàãÿÿÿÿÿÿÿÿÿÿüÿÿÿÀ@ì€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿà?ÿÿÿÀáÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿà€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿþÿÿÿ€ñÿÿÿÿÿÿÿÿÿÿÿàÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿøÿÿÿÿ€óÿÿÿÿÿÿÿÿÿÿÿàÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÀÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿð ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿø`~ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿð@?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿðàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßøûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßüûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿà ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿˆÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÌ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿþ?ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿþ?ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿþðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿ€ÿùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà?ùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿàÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿ?øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúÿÿÿÿÿÿÿÿÿÿÿÿø€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿðGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿýÿðGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿø—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿüŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿø_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ¿ÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿðÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷àÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷`ÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿý@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿ?ÿÿÿÿÿÿÿñÀÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿþ?ÿÿÿÿÿÿÿñ€?ÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿá?ÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿç?ÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÄÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ„ÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿóÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿþ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿþ€ÿÿÿÿÿÿÿüÿÿÿÿÿÿÿ÷ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿþ€ÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿÿÿÿÿÿàÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÌÿÿÿÿÿÿÿÀÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿˆÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÀÿÿïÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿpÿÿÿÿÿÿþÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿýàÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿýÀÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÀ/ÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿç?ÿÿÿÿÿþ?ø?ÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿào¸ð?ÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø±|€?ÿÿü@€àÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿüÿð?ÿÿøÁÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÏÿÿü_ù@ÿÿð€sÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÇÿÿøÀÿÿcÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÀ?ÿð€ÿþaÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿàÿÀ?üãÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿü€háÿÿÿÿÿÿÿÿðÿÿïÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿþüÿÿÿÿÿÿÿÿÿÿÿ€ßÿÿÿÿÿÿÿþüÿÿÿÿÿÿÿÿÿÿÿ€_ÿÿÿÿÿÿÿþ|ÿÿÿÿÿÿÿÿÿÿÿ€øÿÿÿÿÿÿÿü~ÿÿÿÿÿÿÿÿÿÿÿ€èÿÿÿÿÿÿÿø>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿøˆÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿðˆÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿðŒÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿðîÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿðvÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿðþÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿà,ÿÿÿÿÿÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿ€ð>ÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿûÿþ€ø|ÿÿÿÿÿÿÿÿÿÿÿþüÿáÿøÿÿüÿÿÿÿÿÿÿÿÿÿþüÿóÿðÿÿüÿÿÿÿÿÿÿÿÿÿø@ÿÇÿàÿÿüÿÿÿÿÿÿÿÿÿÿàÿÀÿÿøÿÿÿÿÿÿÿÿÿÿ`-þÿøÿÿÿÿÿÿÿÿÿàÿÿàÿÿÿÿÿÿÿïüÿÿ0ÿÿÿÿÿÿÿÿèÿüÿÿÿÿÿÿÿèÿøÿÿÿÿÿÿÿðÿüÿÿÿÿÿÿÿÿð€€ÿüÿÿÿÿÿÿÿÿà€€?üÿÿÿÿÿÿÿÿàÀøÿÿÿÿÿÿÿÿÀ€ðûÿÿÿÿÿÿÿ àðÿÿÿÿÿÿÿÿà€ðÿÿÿÿÿÿÿÿà€xÀÿÿÿÿÿÿßÿàÀÀ~?€ÿÿÿÿÿÿÿàñÿÀ~|Ïÿÿÿÿÿ€þÿÿÀ~üÿßÿÿÿÿÿ€ÿÿÀÿô\ÿÿÿÿÿÿÀÿÿÀÿøÏÿÿÿÿÿÀÿÿÀÿüÏÿÿÿÿÿÀÿÀÿøÿÿÿÿÿÀÿÿÀÿðÿÿÿÿÿÀÿÿ€ÿðÿÿÿÿÿù€ÿÿ€ÿÀÿÿÿÿÿùÀÿÿ€ÿ€ÿÿÿÿÿûÀÿþ€?ÿÿÿÿÿÿÁÀÿûÿÿÿÿÿÿÿø?óÿþ?ÿÿÿÿÿøâÿø 731 M OF IMAGE SPECTRUM AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022098 WAVELENGTH SPREAD (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022099 MEAN DIRECTION AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022100 DIRECTION SPREAD AT LOW WAVE NUMBERS(WAVELENGTH > 731 M) DEGREE 0 0 9 DEGREE 0 3 022101 TOTAL ENERGY (WAVELENGTH > 731M) AT LOW WAVE NUMBERS NUMERIC 0 0 31 NUMERIC 0 10 022120 TIDE STATION AUTOMATED WATER LEVEL CHECK CODE TABLE 22120 0 0 5 CODE TABLE 22120 0 2 022121 TIDE STATION MANUAL WATER LEVEL CHECK CODE TABLE 22121 0 0 5 CODE TABLE 22121 0 2 022122 TIDE STATION AUTOMATED METEOROLOGICAL DATA CHECK CODE TABLE 22122 0 0 5 CODE TABLE 22122 0 2 022123 TIDE STATION MANUAL METEOROLOGICAL DATA CHECK CODE TABLE 22123 0 0 5 CODE TABLE 22123 0 2 022141 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 2 0 15 K 2 5 022150 (CBS) NUMBER OF 18 HZ VALID POINTS FOR KU BAND NUMERIC 0 0 10 NUMERIC 0 4 022151 (CBS) KU BAND OCEAN RANGE M 3 0 31 M 3 10 022152 (CBS) STD OF 18 HZ KU BAND OCEAN RANGE M 3 0 16 M 3 5 022153 (CBS) NUMBER OF 18 HZ VALID POINTS FOR S BAND NUMERIC 0 0 10 NUMERIC 0 4 022154 (CBS) S BAND OCEAN RANGE M 3 0 31 M 3 10 022155 (CBS) STD OF 18 HZ S BAND OCEAN RANGE M 3 0 16 M 3 5 022156 (CBS) KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022157 (CBS) STD 18HZ KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022158 (CBS) S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022159 (CBS) STD 18HZ S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022160 (CBS) NORMALIZED INVERSE WAVE AGE NUMERIC 6 0 21 NUMERIC 6 7 022161 (CBS) WAVE SPECTRA M**4 4 0 27 M**4 4 9 022192 SPECTRAL PERIOD S 2 0 13 022193 MEAN WAVENUMBER 1/M 5 0 15 022194 PEAK WAVENUMBER 1/M 5 0 15 022195 MEAN WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022196 PEAK WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022197 DIRECTION SPREAD DEGREE 1 0 13 022198 VARIANCE SPECTRAL DENSITY M**2*S/RAD 4 0 18 022199 CORRELATION COEFF OF SIMULATED FG AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022200 CORRELATION COEFF OF SIMULATED BF AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022201 CORRELATION COEFF OF OCEAN WAVE FG AND EXTRACTED WAVE SPECTRUM NUMERIC 4 -10000 15 022202 ERROR BETWEEN FIRST GUESS AND OBSERVED SAR NUMERIC 5 0 21 022203 ERROR BETWEEN SIMULATED AND OBSERVED SAR NUMERIC 5 0 21 022204 MEAN PERIOD OF WAVES SECOND 2 0 13 022205 SPECTRAL DENSITY M**2*S/RAD 4 0 25 022206 PEAK PERIOD OF WAVES SECOND 2 0 13 022207 MEAN WAVE PERIOD S 1 0 10 022208 PEAK PERIOD OF 1D SPECTRA S 1 0 10 022209 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 13 022210 MEAN SQUARE SLOPE OF WAVES NUMERIC 4 -10000 14 022211 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 17 022243 STANDARD DEVIATION SIGNIFICANT WAVE HEIGHT M 2 0 10 023001 ACCIDENT EARLY NOTIFICATION - ARTICLE APPLICABLE CODE TABLE 23001 0 0 3 CODE TABLE 23001 0 1 023002 ACTIVITY OR FACILITY INVOLVED IN INCIDENT CODE TABLE 23002 0 0 5 CODE TABLE 23002 0 2 023003 TYPE OF RELEASE CODE TABLE 23003 0 0 3 CODE TABLE 23003 0 1 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 23004 0 0 3 CODE TABLE 23004 0 1 023005 CAUSE OF INCIDENT CODE TABLE 23005 0 0 2 CODE TABLE 23005 0 1 023006 INCIDENT SITUATION CODE TABLE 23006 0 0 3 CODE TABLE 23006 0 1 023007 CHARACTERISTICS OF RELEASE CODE TABLE 23007 0 0 3 CODE TABLE 23007 0 1 023008 STATE OF CURRENT RELEASE CODE TABLE 23008 0 0 2 CODE TABLE 23008 0 1 023009 STATE OF EXPECTED RELEASE CODE TABLE 23009 0 0 2 CODE TABLE 23009 0 1 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 23016 0 0 2 CODE TABLE 23016 0 1 023017 FLOW DISCHARGE OF MAJOR RECIPIENT M**3/S 6 0 20 M**3/S 6 7 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 23018 0 0 3 CODE TABLE 23018 0 1 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 M 0 6 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 M 0 6 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 M 0 8 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 M/S 1 4 023024 MAIN TRANSPORT SPEED IN WATER M/S 2 0 13 M/S 2 4 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 M/S 2 4 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 23031 0 0 2 CODE TABLE 23031 0 1 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 23032 0 0 2 CODE TABLE 23032 0 1 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 Bq -11 9 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 Bq -11 9 024003 COMPOSITION OF RELEASE CODE TABLE 24003 0 0 5 CODE TABLE 24003 0 2 024004 ELEMENT NAME CCITTIA5 0 0 16 CHARACTER 0 2 024005 ISOTOPE MASS NUMERIC 0 0 9 NUMERIC 0 3 024011 DOSE mSv 2 0 32 mSv 2 10 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME OF ARRIVAL) mSv 2 0 32 mSv 2 10 024013 GAMMA DOSE IN AIR ALONG THE MAIN TRANSPORT PATH (DEFINED LOCATIO mSv 2 0 32 mSv 2 10 024021 AIR CONCENTRATION (OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA) Bq/M**3 2 0 32 Bq/M**3 2 10 024022 CONCENTRATION IN PRECIPITATION (OF NAMES ISOTOPE TYPE) Bq/L 2 0 32 BQ L-1 2 10 024023 PULSE RATE OF BETA RADIATION 1/S 1 0 14 1/S 1 4 024024 PULSE RATE OF GAMMA RADIATION 1/S 1 0 14 1/S 1 4 025001 RANGE-GATE LENGTH M -1 0 6 M -1 2 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 NUMERIC 0 2 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 NUMERIC 0 3 025004 ECHO PROCESSING CODE TABLE 25004 0 0 2 CODE TABLE 25004 0 1 025005 ECHO INTEGRATION CODE TABLE 25005 0 0 2 CODE TABLE 25005 0 1 025006 Z TO R CONVERSION CODE TABLE 25006 0 0 3 CODE TABLE 25006 0 1 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 NUMERIC 0 4 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 NUMERIC 2 3 025009 CALIBRATION METHOD FLAG TABLE 25009 0 0 4 FLAG TABLE 25009 0 2 025010 CLUTTER TREATMENT CODE TABLE 25010 0 0 4 CODE TABLE 25010 0 2 025011 GROUND OCCULTATION CORRECTION (SCREENING) CODE TABLE 25011 0 0 2 CODE TABLE 25011 0 1 025012 RANGE ATTENUATION CORRECTION CODE TABLE 25012 0 0 2 CODE TABLE 25012 0 1 025013 BRIGHT-BAND CORRECTION FLAG TABLE 25013 0 0 2 FLAG TABLE 25013 0 1 025014 AZIMUTH CLUTTER CUT-OFF (SEE NOTE 1) NUMERIC 0 0 12 NUMERIC 0 4 025015 RADOME ATTENUATION CORRECTION FLAG TABLE 25015 0 0 2 FLAG TABLE 25015 0 1 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 dB/M 5 2 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 25017 0 0 2 FLAG TABLE 25017 0 1 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 NUMERIC 7 2 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 NUMERIC 2 3 025020 MEAN SPEED ESTIMATION CODE TABLE 25020 0 0 2 CODE TABLE 25020 0 1 025021 WIND COMPUTATION ENHANCEMENT FLAG TABLE 25021 0 0 8 FLAG TABLE 25021 0 3 025025 BATTERY VOLTAGE V 1 0 9 V 1 3 025026 (CBS) BATTERY VOLTAGE (LARGE RANGE) V 1 0 12 V 1 4 025028 (CBS) OPERATOR OR MANUFACTURER DEFINED PARAMETER NUMERIC 1 -16384 15 NUMERIC 1 5 025030 RUNNING MEAN SEA-SURFACE TEMPERATURE USAGE CODE TABLE 25030 0 0 2 CODE TABLE 25030 0 1 025032 WIND PROFILER MODE INFORMATION CODE TABLE 25032 0 0 2 CODE TABLE 25032 0 1 025033 WIND PROFILER SUBMODE INFORMATION* CODE TABLE 25033 0 0 2 CODE TABLE 25033 0 1 025034 WIND PROFILER QUALITY CONTROL TEST RESULTS* FLAG TABLE 25034 0 0 4 FLAG TABLE 25034 0 2 025036 ATMOSPHERICS LOCATION METHOD CODE TABLE 25036 0 0 4 CODE TABLE 25036 0 2 025040 CO2 WIND PRODUCT DERIVATION CODE TABLE 25040 0 0 4 CODE TABLE 25040 0 2 025041 MOVING PLATFORM DIRECTION REPORTING METHOD CODE TABLE 25041 0 0 2 CODE TABLE 25041 0 1 025042 MOVING PLATFORM SPEED REPORTING METHOD CODE TABLE 25042 0 0 2 CODE TABLE 25042 0 1 025043 WAVE SAMPLING INTERVAL (TIME) S 4 0 15 S 4 5 025044 WAVE SAMPLING INTERVAL (SPACE) M 2 0 14 M 2 5 025045 HIRS CHANNEL COMBINATION FLAG TABLE 25045 0 0 21 FLAG TABLE 25045 0 7 025046 MSU CHANNEL COMBINATION FLAG TABLE 25046 0 0 5 FLAG TABLE 25046 0 2 025047 SSU CHANNEL COMBINATION FLAG TABLE 25047 0 0 4 FLAG TABLE 25047 0 2 025048 AMSU-A CHANNEL COMBINATION FLAG TABLE 25048 0 0 16 FLAG TABLE 25048 0 6 025049 AMSU-B CHANNEL COMBINATION FLAG TABLE 25049 0 0 6 FLAG TABLE 25049 0 2 025051 AVHRR CHANNEL COMBINATION FLAG TABLE 25051 0 0 7 FLAG TABLE 25051 0 3 025052 (CBS) LOG-10 OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA NUMERIC 4 0 15 NUMERIC 4 5 025053 OBSERVATION QUALITY FLAG TABLE 25053 0 0 12 FLAG TABLE 25053 0 4 025054 SSMIS SUBFRAME ID NEMBER NUMERIC 0 0 5 NUMERIC 0 2 025055 MULTIPLEXER HOUSEKEEPING K 2 0 16 K 2 5 025060 SOFTWARE IDENTIFICATION (SEE NOTE 2) NUMERIC 0 0 14 NUMERIC 0 5 025061 SOFTWARE IDENTIFICATION AND VERSION NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 025065 ORIENTATION CORRECTION (AZIMUTH) DEGREE 2 -1000 11 DEGREE 2 4 025066 ORIENTATION CORRECTION (ELEVATION) DEGREE 2 -1000 11 DEGREE 2 4 025067 RADIOSONDE RELEASE POINT PRESSURE CORRECTION PA 0 -8000 14 PA 0 4 025068 NUMBER OF ARCHIVE RECOMPUTES NUMERIC 0 0 7 NUMERIC 0 3 025069 FLIGHT LEVEL PRESSURE CORRECTIONS FLAG TABLE 25069 0 0 8 FLAG TABLE 25069 0 3 025070 MAJOR FRAME COUNT NUMERIC 0 0 4 NUMERIC 0 2 025071 FRAME COUNT NUMERIC 0 0 5 NUMERIC 0 2 025075 SATELLITE ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 NUMERIC 0 2 025076 LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER) FOR ATOVS LOG (1/M) 8 0 30 LOG (1/M) 8 10 025077 BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS NUMERIC 5 -100000 18 NUMERIC 5 7 025078 BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS NUMERIC 5 0 17 NUMERIC 5 6 025079 ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS W/M**2 4 0 24 W/M**2 4 8 025080 ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS M 10 0 14 M 10 5 025085 FRACTION OF CLEAR PIXELS IN HIRS FOV NUMERIC 0 0 7 NUMERIC 0 3 025086 DEPTH CORRECTION INDICATOR CODE TABLE 25086 0 0 2 CODE TABLE 25086 0 1 025091 STRUCTURE CONSTANT OF THE REFRACTION INDEX (CN2) dB 3 -18192 13 dB 3 5 025092 ACOUSTIC PROPAGATION VELOCITY M/S 2 28000 14 M/S 2 5 025093 RASS COMPUTATION CORRECTION FLAG TABLE 25093 0 0 8 FLAG TABLE 25093 0 3 025095 ALTIMETER STATE FLAG FLAG TABLE 25095 0 0 2 FLAG TABLE 25095 0 1 025096 RADIOMETER STATE FLAG FLAG TABLE 25096 0 0 5 FLAG TABLE 25096 0 2 025097 THREE DIMENSIONAL ERROR ESTIMATE OF THE NAVIGATOR ORBIT CODE TABLE 25097 0 0 4 CODE TABLE 25097 0 2 025100 XBT/XCTD FALL RATE EQUATION COEFFICIENT A NUMERIC 5 0 20 NUMERIC 5 6 025101 XBT/XCTD FALL RATE EQUATION COEFFICIENT B NUMERIC 5 -500000 21 NUMERIC 5 6 025102 (CBS) NUMBER OF MISSING LINES EXCLUDING DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025103 (CBS) NUMBER OF DIRECTIONAL BINS NUMERIC 0 0 8 NUMERIC 0 3 025104 (CBS) NUMBER OF WAVE-LENGTH BINS NUMERIC 0 0 8 NUMERIC 0 3 025107 (CBS) FIRST WAVE-LENGTH BIN M 3 0 29 M 3 9 025108 (CBS) LAST WAVE-LENGTH BIN M 3 0 29 M 3 9 025111 (CBS) NUMBER OF INPUT DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025120 (CBS) RA2-L2-PROCESSING FLAG CODE TABLE 25120 0 0 2 CODE TABLE 25120 0 1 025121 (CBS) RA2-L2-PROCESSING QUALITY % 0 0 7 % 0 3 025122 (CBS) HARDWARE CONFIGURATION FOR RF CODE TABLE 25122 0 0 2 CODE TABLE 25122 0 1 025123 (CBS) HARDWARE CONFIGURATION FOR HPA CODE TABLE 25123 0 0 2 CODE TABLE 25123 0 1 025124 (CBS) MWR L2 PROCESSING FLAG CODE TABLE 25124 0 0 2 CODE TABLE 25124 0 1 025125 (CBS) MWR L2-PROCESSING QUALITY % 0 0 7 % 0 3 025126 (CBS) MODEL DRY TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025127 (CBS) INVERTED BAROMETER CORRECTION M 3 -32768 16 M 3 5 025128 (CBS) MODEL WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025129 (CBS) MWR DERIVED WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025130 (CBS) RA2 IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025131 (CBS) IONOSPHERIC CORRECTION FROM DORIS ON KU BAND M 3 -32768 16 M 3 5 025132 (CBS) IONOSPHERIC CORRECTION FROM MODEL ON KU BAND M 3 -32768 16 M 3 5 025133 (CBS) SEA STATE BIAS CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025134 (CBS) RA2 IONOSPHERIC CORRECTION ON S BAND M 3 -32768 16 M 3 5 025135 (CBS) IONOSPHERIC CORRECTION FROM DORIS ON S BAND M 3 -32768 16 M 3 5 025136 (CBS) IONOSPHERIC CORRECTION FROM MODEL ON S BAND M 3 -32768 16 M 3 5 025137 (CBS) SEA STATE BIAS CORRECTION ON S BAND M 3 -32768 16 M 3 5 025138 (CBS) AVERAGE SIGNAL TO NOISE RATION NUMERIC 0 -2048 12 NUMERIC 0 4 025192 START CHANNEL NUMERIC 0 0 14 025193 END CHANNEL NUMERIC 0 0 14 025194 CHANNEL SCALE FACTOR NUMERIC 0 0 6 025197 ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 025198 LOG (TEMP-RAD CENTRAL WAVE NUMBER) 1/M 8 0 30 025199 BANDWIDTH CORRECTION COEFFICIENT 1 NUMERIC 4 -10000 15 025200 BANDWIDTH CORRECTION COEFFICIENT 2 NUMERIC 5 0 17 025201 ALBEDO-RAD SOLAR FILTERED IRRADIANCE NUMERIC 4 0 24 025202 ALBEDO-RAD EQUIVALENT FILTER WIDTH NUMERIC 10 0 14 025203 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 25081 0 0 31 025204 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 25082 0 0 31 025205 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 25083 0 0 31 025206 FOV QUALITY FLAGS FOR ATOVS FLAG TABLE 25084 0 0 31 026001 PRINCIPAL TIME OF DAILY READING IN UTC OF MAXIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026002 PRINCIPAL TIME OF DAILY READING IN UTC OF MINIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026003 TIME DIFFERENCE MINUTE 0 -1440 12 MINUTE 0 4 026010 HOURS INCLUDED FLAG TABLE 26010 0 0 26 FLAG TABLE 26010 0 9 026020 DURATION OF PRECIPITATION MINUTE 0 0 11 MINUTE 0 4 026193 YEAR YEAR 0 0 12 026194 MONTH MONTH 0 0 4 026195 DAY DAY 0 0 6 026196 HOUR HOUR 0 0 5 026197 MINUTE MINUTE 0 0 6 026198 SECOND SECOND 0 0 6 026200 LOCATION WITHIN ASSIMILATION WINDOW IN TIME NUMERIC 6 0 20 026201 HOURS INCLUDED FLAG TABLE 26201 0 0 26 027001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027003 ALTERNATE LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027004 ALTERNATE LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 NUMERIC 0 5 027021 SATELLITE SUBLOCATION DIMENSION NUMERIC 0 0 16 NUMERIC 0 5 027031 IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THE EARTH'S C M 2 -1073741824 31 M 2 10 027035 (VAL) LENGTH OF PHENOMENON M -3 0 13 M -3 4 027080 (CBS) VIEWING AZIMUTH ANGLE DEGREE TRUE 2 0 16 DEGREE TRUE 0 5 027193 SOLAR AZIMUTH DEGREE TRUE 2 0 16 028001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028003 ALTERNATE LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028004 ALTERNATE LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028031 IN DIRECTION 90 DEGREES EAST, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 028035 (VAL) WIDTH OF PHENOMENON M -3 0 13 M -3 4 029001 PROJECTION TYPE CODE TABLE 29001 0 0 3 CODE TABLE 29001 0 1 029002 CO-ORDINATE GRID TYPE CODE TABLE 29002 0 0 3 CODE TABLE 29002 0 1 030001 PIXEL VALUE (4 BITS) NUMERIC 0 0 4 NUMERIC 0 2 030002 PIXEL VALUE (8 BITS) NUMERIC 0 0 8 NUMERIC 0 3 030004 PIXEL VALUE (16 BITS) NUMERIC 0 0 16 NUMERIC 0 5 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 NUMERIC 0 4 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 NUMERIC 0 4 030031 PICTURE TYPE CODE TABLE 30031 0 0 4 CODE TABLE 30031 0 2 030032 COMBINATION WITH OTHER DATA FLAG TABLE 30032 0 0 16 FLAG TABLE 30032 0 6 030193 POSITION NUMBER ALONG SCAN NUMERIC 0 0 8 031000 SHORT DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 1 NUMERIC 0 1 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 31021 0 0 6 CODE TABLE 31021 0 2 031031 DATA PRESENT INDICATOR FLAG TABLE 31031 0 0 1 FLAG TABLE 31031 0 1 031192 DATA PRESENT INDICATOR NUMERIC 0 0 1 033001 RESERVED 033002 QUALITY INFORMATION CODE TABLE 33002 0 0 2 CODE TABLE 33002 0 1 033003 QUALITY INFORMATION CODE TABLE 33003 0 0 3 CODE TABLE 33003 0 1 033004 RESERVED 033005 QUALITY INFORMATION (AWS DATA) FLAG TABLE 33005 0 0 30 FLAG TABLE 33005 0 10 033006 INTERNAL MEASUREMENT STATUS INFORMATION (AWS) CODE TABLE 33006 0 0 3 CODE TABLE 33006 0 1 033007 PER CENT CONFIDENCE % 0 0 7 % 0 3 033015 DATA QUALITY CHECK INDICATOR CODE TABLE 33015 0 0 6 CODE TABLE 33015 0 2 033020 QUALITY CONTROL INDICATION OF FOLLOWING VALUE CODE TABLE 33020 0 0 3 CODE TABLE 33020 0 1 033021 QUALITY OF FOLLOWING VALUE CODE TABLE 33021 0 0 2 CODE TABLE 33021 0 1 033022 QUALITY OF BUOY SATELLITE TRANSMISSION CODE TABLE 33022 0 0 2 CODE TABLE 33022 0 1 033023 QUALITY OF BUOY LOCATION CODE TABLE 33023 0 0 2 CODE TABLE 33023 0 1 033024 STATION ELEVATION QUALITY MARK (FOR MOBILE STATIONS) CODE TABLE 33024 0 0 4 CODE TABLE 33024 0 2 033025 ACARS INTERPOLATED VALUES CODE TABLE 33025 0 0 3 CODE TABLE 33025 0 1 033026 MOISTURE QUALITY CODE TABLE 33026 0 0 6 CODE TABLE 33026 0 2 033027 LOCATION QUALITY CLASS (RANGE OF RADIUS OF 66 % CONFIDENCE) CODE TABLE 33027 0 0 3 CODE TABLE 33027 0 1 033030 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 33030 0 0 24 FLAG TABLE 33030 0 8 033031 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 33031 0 0 24 FLAG TABLE 33031 0 8 033032 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 33032 0 0 24 FLAG TABLE 33032 0 8 033033 FIELD OF VIEW QUALITY FLAGS FOR ATOVS FLAG TABLE 33033 0 0 24 FLAG TABLE 33033 0 8 033035 MANUAL/AUTOMATIC QUALITY CONTROL CODE TABLE 33035 0 0 4 CODE TABLE 33035 0 2 033036 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 % 0 3 033037 WIND CORRELATION ERROR FLAG TABLE 33037 0 0 20 FLAG TABLE 33037 0 7 033038 QUALITY FLAGS FOR GROUND-BASED GNSS DATA FLAG TABLE 33038 0 0 10 FLAG TABLE 33038 0 4 033039 (CBS) QUALITY FLAGS FOR RADIO OCCULTATION DATA FLAG TABLE 33039 0 0 16 FLAG TABLE 33039 0 6 033040 CONFIDENCE INTERVAL % 0 0 7 PERCENT 0 3 033041 ATTRIBUTE OF FOLLOWING VALUE CODE TABLE 33041 0 0 2 CODE TABLE 33041 0 1 033042 (CBS) TYPE OF LIMIT REPRESENTED BY FOLLOWING VALUE CODE TABLE 33042 0 0 3 CODE TABLE 33042 0 1 033043 (CBS) AST CONFIDENCE FLAG TABLE 33043 0 0 8 FLAG TABLE 33043 0 3 033044 (CBS) ASAR QUALITY INFORMATION FLAG TABLE 33044 0 0 15 FLAG TABLE 33044 0 5 033045 (CBS) PROBABILITY OF FOLLOWING EVENT % 0 0 7 % 0 3 033046 (CBS) CONDITIONAL PROBABILITY OF FOLLOWING EVENT WITH RESPECT TO % 0 0 7 % 0 3 033047 (CBS) MEASUREMENT CONFIDENCE DATA FLAG TABLE 33047 0 0 31 FLAG TABLE 33047 0 11 033048 (CBS) CONFIDENCE MEASURE OF SAR INVERSION CODE TABLE 33048 0 0 2 CODE TABLE 33048 0 1 033049 (CBS) CONFIDENCE MEASURE OF WIND RETRIEVAL CODE TABLE 33049 0 0 2 CODE TABLE 33049 0 1 033050 GLOBAL GTSPP QUALITY FLAG CODE TABLE 33050 0 0 4 CODE TABLE 33050 0 2 033052 (CBS) S BAND OCEAN RETRACKING QUALITY FLAG TABLE 33052 0 0 21 FLAG TABLE 33052 0 7 033053 (CBS) KU BAND OCEAN RETRACKING QUALITY FLAG TABLE 33053 0 0 21 FLAG TABLE 33053 0 7 033192 GQIS FLAG QUAL CODE TABLE 0 0 2 033193 GQIS QUAL INDEX % 0 0 7 033194 QIS QUAL INDEX LOC % 0 0 7 033195 GQIS QUAL INDEX RAD % 0 0 7 033196 GQIS QUAL INDEX SPECT % 0 0 7 033197 GQIS SYSTEC SOND QUAL CODE TABLE 0 0 24 033198 MINIMUM COST NUMERIC 4 0 14 033199 1D VAR TOTAL PRECIPITABLE WATER RETRIEVED ERROR(S) KG/M**2 2 0 11 033200 ANALYSIS REPORT EVENTS FLAG TABLE 33200 0 0 31 033201 ANALYSIS REPORT STATUS EVENT FLAG TABLE 33201 0 0 13 033202 ANALYSIS DATUM EVENT FLAGS (1) FLAG TABLE 33202 0 0 31 033203 ANALYSIS DATUM EVENT FLAGS (2) FLAG TABLE 33203 0 0 11 033204 ANALYSIS DATUM STATUS FLAGS FLAG TABLE 33204 0 0 21 033205 VARIATIONAL ANALYSIS BLACK LIST FLAG CODE TABLE 33205 0 0 4 033206 VARIATIONAL ANALYSIS QUALITY CONTROL FLAG CODE TABLE 33206 0 0 4 033207 VARIATIONAL ANALYSIS DEPARTURE FLAG CODE TABLE 33207 0 0 4 033208 VARIATIONAL ANALYSIS FIRST QUESS CHECK FLAG CODE TABLE 033208 0 0 4 033209 VARIATIONAL ANALYSIS FINAL FLAG CODE TABLE 33209 0 0 4 033210 INCREMENTAL VARIATIONAL ANALYSIS UPDATE NUMBER NUMERIC 0 0 7 033211 MINIMISATION SIMULATION NUMBER NUMERIC 0 0 10 033212 1D VAR ITERATION NUMBER NUMERIC 0 0 10 033213 1D VAR RADIANCE COST NUMERIC 1 -1000 11 033214 1D VAR ERROR(S) FLAG TABLE 33214 0 0 11 033215 DIRECTIONAL SKILL NUMERIC 1 -4096 13 033216 1D VAR SURFACE TYPE QUALITY CONTROL CODE TABLE 33216 0 0 3 033217 1D VAR FAILURE INDICATOR CODE TABLE 33217 0 0 2 033218 1D VAR ESTIMATE OF SCATTERING NUMERIC 2 0 12 033219 SSMI INDIPENDENT SCATTERING INDEX NUMERIC 2 -50000 16 033220 VARIATIONAL ANALYSIS REPORT EVENTS (1) FLAG TABLE 33220 0 0 31 033221 VARIATIONAL ANALYSIS SYNOP EVENTS (2) FLAG TABLE 33221 0 0 31 033222 VARIATIONAL ANALYSIS AIREP EVENTS (2) FLAG TABLE 33222 0 0 31 033223 VARIATIONAL ANALYSIS SATOB EVENTS (2) FLAG TABLE 33223 0 0 31 033224 VARIATIONAL ANALYSIS DRIBU EVENTS (2) FLAG TABLE 33224 0 0 31 033225 VARIATIONAL ANALYSIS TEMP EVENTS (2) FLAG TABLE 33225 0 0 31 033226 VARIATIONAL ANALYSIS PILOT EVENTS (2) FLAG TABLE 33226 0 0 31 033227 VARIATIONAL ANALYSIS SATEM/TOVS EVENTS (2) FLAG TABLE 33227 0 0 31 033228 VARIATIONAL ANALYSIS PAOB EVENTS (2) FLAG TABLE 33228 0 0 31 033229 VARIATIONAL ANALYSIS SCATTEROMETER EVENTS (2) FLAG TABLE 33229 0 0 31 033230 VARIATIONAL ANALYSIS RAW RADIANCES EVENTS (2) FLAG TABLE 33230 0 0 31 033231 PRESAT SUMMARY FLAGS FLAG TABLE 33231 0 0 6 033232 REPORT BLACK LIST EVENTS FLAG TABLE 33232 0 0 31 033233 VARIATIONAL ANALYSIS REPORT STATUS FLAG TABLE 33233 0 0 31 033234 VARIATIONAL ANALYSIS DATUM STATUS FLAG TABLE 33234 0 0 31 033236 VARIATIONAL ANALYSIS DATUM EVENTS (1) FLAG TABLE 33236 0 0 31 033237 VARIATIONAL ANALYSIS SYNOP DATUM EVENTS (2) FLAG TABLE 033237 0 0 31 033238 VARIATIONAL ANALYSIS AIREP DATUM EVENTS (2) FLAG TABLE 033238 0 0 31 033239 VARIATIONAL ANALYSIS SATOB DATUM EVENTS (2) FLAG TABLE 033239 0 0 31 033240 VARIATIONAL ANALYSIS DRIBU DATUM EVENTS (2) FLAG TABLE 033240 0 0 31 033241 GROSS ERROR PROBABILITY NUMERIC 3 0 10 033242 GROSS ERROR INDICATOR CODE TABLE 33242 0 0 2 033243 VARIATIONAL ANALYSIS TEMP DATUM EVENTS (2) FLAG TABLE 33243 0 0 31 033244 VARIATIONAL ANALYSIS PILOT DATUM EVENTS (2) FLAG TABLE 033244 0 0 31 033245 VARIATIONAL ANALYSIS SATEM/TOVS DATUM EVENTS (2) FLAG TABLE 33245 0 0 31 033246 VARIATIONAL ANALYSIS PAOB DATUM EVENTS (2) FLAG TABLE 33246 0 0 31 033247 VARIATIONAL ANALYSIS SCATTEROMETER DATUM EVENTS (2) FLAG TABLE 33247 0 0 31 033248 VARIATIONAL ANALYSIS RAW RADIANCES DATUM EVENTS (2) FLAG TABLE 33248 0 0 31 033249 DATUM BLACK LIST EVENTS FLAG TABLE 33249 0 0 31 033250 PROBABILITY OF GROSS ERROR NUMERIC 6 0 20 033251 RANGE OF POSSIBLE VALUES NUMERIC 2 0 14 033252 MANUAL-AUTOMATIC QUALITY CONTROL CODE TABLE 33252 0 0 4 033253 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 033254 WIND CORRELATION METHOD FLAG TABLE 33254 0 0 20 035000 FM AND REGIONAL CODE NUMBER CODE TABLE 35000 0 0 10 CODE TABLE 35000 0 3 035001 TIME-FRAME FOR MONITORING CODE TABLE 35001 0 0 3 CODE TABLE 35001 0 1 035011 NUMBER OF REPORTS ACTUALLY RECEIVED NUMERIC 0 0 14 NUMERIC 0 4 035021 BULLETIN BEING MONITORED (TTAAII) CCITTIA5 0 0 48 CHARACTER 0 6 035022 BULLETIN BEING MONITORED (YYGGGG) CCITTIA5 0 0 48 CHARACTER 0 6 035023 BULLETIN BEING MONITORED (CCCC) CCITTIA5 0 0 32 CHARACTER 0 4 035024 BULLETIN BEING MONITORED (BBB) CCITTIA5 0 0 24 CHARACTER 0 3 035030 DISCREPANCIES IN THE AVAILABILITY OF EXPECTED DATA CODE TABLE 35030 0 0 4 CODE TABLE 35030 0 1 035031 QUALIFIER ON MONITORING RESULTS CODE TABLE 35031 0 0 7 CODE TABLE 35031 0 2 035032 CAUSE OF MISSING DATA CODE TABLE 35032 0 0 4 CODE TABLE 35032 0 1 035033 OBSERVATION AND COLLECTION DEFICIENCIES CODE TABLE 35033 0 0 7 CODE TABLE 35033 0 2 035034 STATISTICAL TRENDS FOR AVAILABILITY OF DATA (DURING THE SURVEY P CODE TABLE 35034 0 0 3 CODE TABLE 35034 0 1 035035 REASON FOR TERMINATION CODE TABLE 35035 0 0 5 CODE TABLE 35035 0 2 049193 SAR INVERSION QC FLAGS FLAG TABLE 49193 0 0 15 049194 ALTIMETER WAVE HEIGHT QC FLAFS FLAG TABLE 49194 0 0 15 062190 STATISTICS APPLICATION CODE TABLE 62190 0 0 8 062191 TYPE OF STATISTICS CODE TABLE 62191 0 0 8 063190 APPLICATION DERIVING SUBSTITUTE OR ALTERNATIVE VALUE CODE TABLE 63190 0 0 8 emoslib-000392+dfsg.1/bufrtables/B0000000000098013001.TXT0000755000175000017500000072313312127406245022253 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 CHARACTER 0 3 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000004 BUFR/CREX MASTER TABLE CCITTIA5 0 0 16 CHARACTER 0 2 000005 BUFR/CREX EDITION NUMBER CCITTIA5 0 0 24 CHARACTER 0 3 000006 BUFR MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000007 CREX MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000008 BUFR LOCAL TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 CHARACTER 0 1 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 CHARACTER 0 2 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 CHARACTER 0 3 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000015 UNITS NAME CCITTIA5 0 0 192 CHARACTER 0 24 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000017 UNITS SCALE CCITTIA5 0 0 24 CHARACTER 0 3 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 CHARACTER 0 10 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 CHARACTER 0 3 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 48 CHARACTER 0 6 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 NUMERIC 0 2 001002 WMO STATION NUMBER NUMERIC 0 0 10 NUMERIC 0 3 001003 WMO REGION NUMBER/GEOGRAPHICAL AREA CODE TABLE 1003 0 0 3 CODE TABLE 1003 0 1 001004 WMO REGION SUB-AREA (SEE NOTE 9) NUMERIC 0 0 3 NUMERIC 0 1 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 NUMERIC 0 5 001006 AIRCRAFT FLIGHT NUMBER CCITTIA5 0 0 64 CHARACTER 0 8 001007 SATELLITE IDENTIFIER CODE TABLE 1007 0 0 10 CODE TABLE 1007 0 4 001008 AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION CCITTIA5 0 0 64 CHARACTER 0 8 001009 TYPE OF COMMERCIAL AIRCRAFT CCITTIA5 0 0 64 CHARACTER 0 8 001010 STATIONARY BUOY PLATFORM IDENTIFIER; E.G. C-MAN BUOYS CCITTIA5 0 0 64 CHARACTER 0 8 001011 SHIP OR MOBILE LAND STATION IDENTIFIER CCITTIA5 0 0 72 CHARACTER 0 9 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM* M/S 0 0 10 M/S 0 3 001014 PLATFORM DRIFT SPEED (HIGH PRECISION) M/S 2 0 10 M/S 2 4 001015 STATION OR SITE NAME CCITTIA5 0 0 160 CHARACTER 0 20 001018 SHORT STATION OR SITE NAME CCITTIA5 0 0 40 CHARACTER 0 5 001019 LONG STATION OR SITE NAME CCITTIA5 0 0 256 CHARACTER 0 32 001020 WMO REGION SUB-AREA NUMERIC 0 0 4 NUMERIC 0 2 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 NUMERIC 0 4 001022 NAME OF FEATURE (SEE NOTE 11) CCITTIA5 0 0 224 CHARACTER 0 28 001023 OBSERVATION SEQUENCE NUMBER NUMERIC 0 0 9 NUMERIC 0 3 001025 STORM IDENTIFIER CCITTIA5 0 0 24 CHARACTER 0 3 001026 WMO STORM NAME CCITTIA5 0 0 64 CHARACTER 0 8 001027 WMO LONG STORM NAME CCITTIA5 0 0 80 CHARACTER 0 10 001030 NUMERICAL MODEL IDENTIFIER CCITTIA5 0 0 128 CHARACTER 0 16 001031 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE (SEE NOTE 10) CODE TABLE 1031 0 0 16 CODE TABLE 1031 0 5 001032 GENERATING APPLICATION CODE TABLE 1032 0 0 8 CODE TABLE 1032 0 3 001033 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 1033 0 0 8 CODE TABLE 1033 0 3 001034 IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE CODE TABLE 1034 0 0 8 CODE TABLE 1034 0 3 001035 ORIGINATING CENTRE COMMON CODE TABLE C-11 0 0 16 COMMON CODE TABLE C-11 0 5 001036 AGENCY IN CHARGE OF OPERATING THE OBSERVING PLATFORM CODE TABLE 1036 0 0 20 CODE TABLE 1036 0 7 001037 SIGMET SEQUENCE IDENTIFIER CCITTIA5 0 0 24 CHARACTER 0 3 001041 ABSOLUTE PLATFORM VELOCITY - FIRST COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001042 ABSOLUTE PLATFORM VELOCITY - SECOND COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001043 ABSOLUTE PLATFORM VELOCITY - THIRD COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001050 PLATFORM TRANSMITTER ID NUMBER NUMERIC 0 0 17 NUMERIC 0 6 001051 PLATFORM TRANSMITTER ID NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001060 AIRCRAFT REPORTING POINT (BEACON IDENTIFIER) CCITTIA5 0 0 64 CHARACTER 0 8 001062 SHORT ICAO LOCATION INDICATOR CCITTIA5 0 0 32 CHARACTER 0 4 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 CHARACTER 0 8 001064 RUNWAY DESIGNATOR CCITTIA5 0 0 32 CHARACTER 0 4 001065 ICAO REGION IDENTIFIER CCITTIA5 0 0 256 CHARACTER 0 32 001075 TIDE STATION IDENTIFICATION CCITTIA5 0 0 40 CHARACTER 0 5 001080 SHIP LINE NUMBER ACCORDING TO SOOP CCITTIA5 0 0 32 CHARACTER 0 4 001081 RADIOSONDE SERIAL NUMBER CCITTIA5 0 0 160 CHARACTER 0 20 001082 RADIOSONDE ASCENSION NUMBER (SEE NOTE 12) NUMERIC 0 0 14 NUMERIC 0 4 001083 RADIOSONDE RELEASE NUMBER (SEE NOTE 12) NUMERIC 0 0 3 NUMERIC 0 1 001085 OBSERVING PLATFORM MANUFACTURER'S MODEL CCITTIA5 0 0 160 CHARACTER 0 20 001086 OBSERVING PLATFORM MANUFACTURER'S SERIAL NUMBER CCITTIA5 0 0 256 CHARACTER 0 32 001087 WMO MARINE OBSERVING PLATFORM EXTENDED IDENTIFIER NUMERIC 0 0 23 NUMERIC 0 7 001090 TECHNIQUE FOR MAKING UP INITIAL PERTURBATIONS CODE TABLE 1090 0 0 8 CODE TABLE 1090 0 3 001091 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 10 NUMERIC 0 4 001092 TYPE OF ENSEMBLE FORECAST CODE TABLE 1092 0 0 8 CODE TABLE 1092 0 3 001093 BALLOON LOT NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001094 WBAN NUMBER NUMERIC 0 0 17 NUMERIC 0 5 001095 OBSERVER IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 001096 STATION ACQUISITION CCITTIA5 0 0 160 CHARACTER 0 20 001101 STATE IDENTIFIER CODE TABLE 1101 0 0 10 CODE TABLE 1101 0 3 001102 NATIONAL STATION IDENTIFIER NUMERIC 0 0 30 NUMERIC 0 9 001124 GRID POINT IDENTIFIER NUMERIC 0 0 24 NUMERIC 0 8 001144 SNAPSHOT IDENTIFIER NUMERIC 0 0 31 NUMERIC 0 10 001192 MODEL VERSION NUMBER CODE TABLE 001192 0 0 8 001193 SIGMA_0 SIMULATION METHOD CODE TABLE 1193 0 0 4 001194 CARRIER BALLOON/AIRCRAFT IDENTIFIER CCITTIA5 0 0 72 001195 MOBIL LAND STATION IDENTIFIER CCITTIA5 0 0 72 001196 CONSTANT LEVEL BALLOON IDENTIFIER CCITTIA5 0 0 72 001197 RTP - PLATFORM TYPE CODE TABLE 1197 0 0 10 001198 ITP - DECK ID CODE TABLE 1198 0 0 10 001199 DUP - DUPLICATE STATUS CODE TABLE 1199 0 0 4 001201 GENERATING APPLICATION CODE TABLE 1201 0 0 8 001205 SATELLITE IDENTIFIER CODE TABLE 1205 0 0 10 001208 VELOCITY OF PLATFORM, X M/S 5 -1073741824 31 001209 VELOCITY OF PLATFORM, Y M/S 5 -1073741824 31 001210 VELOCITY OF PLATFORM, Z M/S 5 -1073741824 31 001211 ORIGIN OF SEA SURFACE ANALYSIS CCITTIA5 0 0 160 CHARACTER 0 20 001220 RADAR COMPOSITE NAME CCITTIA5 0 0 160 CHARACTER 0 20 002001 TYPE OF STATION CODE TABLE 2001 0 0 2 CODE TABLE 2001 0 1 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 2002 0 0 4 FLAG TABLE 2002 0 2 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 2003 0 0 4 CODE TABLE 2003 0 2 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUREMENT OR TYPE OF C CODE TABLE 2004 0 0 4 CODE TABLE 2004 0 2 002005 PRECISION OF TEMPERATURE OBSERVATION K 2 0 7 K 2 3 002011 RADIOSONDE TYPE CODE TABLE 2011 0 0 8 CODE TABLE 2011 0 3 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 2012 0 0 4 CODE TABLE 2012 0 2 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 2013 0 0 4 CODE TABLE 2013 0 2 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM USED CODE TABLE 2014 0 0 7 CODE TABLE 2014 0 3 002015 RADIOSONDE COMPLETENESS CODE TABLE 2015 0 0 4 CODE TABLE 2015 0 2 002016 RADIOSONDE CONFIGURATION FLAG TABLE 2016 0 0 5 FLAG TABLE 2016 0 2 002019 SATELLITE INSTRUMENTS CODE TABLE 2019 0 0 11 CODE TABLE 2019 0 4 002020 SATELLITE CLASSIFICATION CODE TABLE 2020 0 0 9 CODE TABLE 2020 0 3 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2021 0 0 9 FLAG TABLE 2021 0 3 002022 SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2022 0 0 8 FLAG TABLE 2022 0 3 002023 SATELLITE DERIVED WIND COMPUTATION METHOD CODE TABLE 2023 0 0 4 CODE TABLE 2023 0 2 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2024 0 0 4 CODE TABLE 2024 0 2 002025 SATELLITE CHANNEL(S) USED IN COMPUTATION FLAG TABLE 2025 0 0 25 FLAG TABLE 2025 0 9 002026 CROSS TRACK RESOLUTION M 2 0 12 M 2 4 002027 ALONG TRACK RESOLUTION M 2 0 12 M 2 4 002028 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 M 0 6 002029 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 M 0 6 002030 METHOD OF CURRENT MEASUREMENT CODE TABLE 2030 0 0 3 CODE TABLE 2030 0 1 002031 DURATION AND TIME OF CURRENT MEASUREMENT CODE TABLE 2031 0 0 5 CODE TABLE 2031 0 2 002032 INDICATOR FOR DIGITIZATION CODE TABLE 2032 0 0 2 CODE TABLE 2032 0 1 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 2033 0 0 3 CODE TABLE 2033 0 1 002034 DROGUE TYPE CODE TABLE 2034 0 0 5 CODE TABLE 2034 0 2 002035 CABLE LENGTH M 0 0 9 M 0 3 002036 BUOY TYPE CODE TABLE 2036 0 0 2 CODE TABLE 2036 0 1 002037 METHOD OF TIDAL OBSERVATION CODE TABLE 2037 0 0 3 CODE TABLE 2037 0 1 002038 METHOD OF WATER TEMPERATURE AND/OR SALINITY MEASUREMENT CODE TABLE 2038 0 0 4 CODE TABLE 2038 0 2 002039 METHOD OF WET-BULB TEMPERATURE MEASUREMENT CODE TABLE 2039 0 0 3 CODE TABLE 2039 0 1 002040 METHOD OF REMOVING VELOCITY AND MOTION OF PLATFORM FROM CURRENT CODE TABLE 2040 0 0 4 CODE TABLE 2040 0 2 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 2041 0 0 6 CODE TABLE 2041 0 2 002042 INDICATOR FOR SEA SURFACE CURRENT SPEED CODE TABLE 2042 0 0 2 CODE TABLE 2042 0 1 002044 INDICATOR FOR METHOD OF CALCULATING SPECTRAL WAVE DATA CODE TABLE 2044 0 0 4 CODE TABLE 2044 0 2 002045 INDICATOR FOR TYPE OF PLATFORM CODE TABLE 2045 0 0 4 CODE TABLE 2045 0 2 002046 WAVE MEASUREMENT INSTRUMENTATION CODE TABLE 2046 0 0 4 CODE TABLE 2046 0 2 002048 SATELLITE SENSOR INDICATOR CODE TABLE 2048 0 0 4 CODE TABLE 2048 0 2 002049 GEOSTATIONARY SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2049 0 0 8 FLAG TABLE 2049 0 3 002050 GEOSTATIONARY SOUNDER SATELLITE CHANNELS USED FLAG TABLE 2050 0 0 20 FLAG TABLE 2050 0 7 002051 INDICATOR TO SPECIFY OBSERVING METHOD FOR EXTREME TEMPERATURES CODE TABLE 2051 0 0 4 CODE TABLE 2051 0 2 002052 GEOSTATIONARY IMAGER SATELLITE CHANNELS USED FLAG TABLE 2052 0 0 6 FLAG TABLE 2052 0 2 002053 GOES-I/M BRIGHTNESS TEMPERATURE CHARACTERISTICS CODE TABLE 2053 0 0 4 CODE TABLE 2053 0 2 002054 GOES-I/M SOUNDINGS PARAMETER CHARACTERISTICS CODE TABLE 2054 0 0 4 CODE TABLE 2054 0 2 002055 GEOSTATIONARY SOUNDINGS STATISTICAL PARAMETERS CODE TABLE 2055 0 0 4 CODE TABLE 2055 0 2 002056 GEOSTATIONARY SOUNDINGS ACCURACY STATISTICS CODE TABLE 2056 0 0 4 CODE TABLE 2056 0 2 002057 ORIGIN OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2057 0 0 4 CODE TABLE 2057 0 2 002058 VALID TIMES OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2058 0 0 4 CODE TABLE 2058 0 2 002059 ORIGIN OF ANALYSIS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2059 0 0 4 CODE TABLE 2059 0 2 002060 ORIGIN OF SURFACE INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2060 0 0 4 CODE TABLE 2060 0 2 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 2061 0 0 3 CODE TABLE 2061 0 1 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 2062 0 0 4 CODE TABLE 2062 0 2 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 DEGREE 2 5 002064 AIRCRAFT ROLL ANGLE QUALITY CODE TABLE 2064 0 0 2 CODE TABLE 2064 0 1 002065 ACARS GROUND RECEIVING STATION CCITTIA5 0 0 40 CHARACTER 0 5 002066 RADIOSONDE GROUND RECEIVING SYSTEM CODE TABLE 2066 0 0 6 CODE TABLE 2066 0 2 002067 RADIOSONDE OPERATING FREQUENCY Hz -5 0 15 Hz -5 5 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 2070 0 0 4 CODE TABLE 2070 0 2 002071 SPECTROGRAPHIC WAVELENGTH M 13 0 30 M 13 10 002080 BALLOON MANUFACTURER CODE TABLE 2080 0 0 6 CODE TABLE 2080 0 2 002081 TYPE OF BALLOON CODE TABLE 2081 0 0 5 CODE TABLE 2081 0 2 002082 WEIGHT OF BALLOON KG 3 0 12 KG 3 4 002083 TYPE OF BALLOON SHELTER CODE TABLE 2083 0 0 4 CODE TABLE 2083 0 2 002084 TYPE OF GAS USED IN BALLOON CODE TABLE 2084 0 0 4 CODE TABLE 2084 0 2 002085 AMOUNT OF GAS USED IN BALLOON KG 3 0 13 KG 3 4 002086 BALLOON FLIGHT TRAIN LENGTH M 1 0 10 M 1 4 002091 ENTRY SENSOR 4/20 MA A 4 0 10 A 4 3 002095 TYPE OF PRESSURE SENSOR CODE TABLE 2095 0 0 5 CODE TABLE 2095 0 2 002096 TYPE OF TEMPERATURE SENSOR CODE TABLE 2096 0 0 5 CODE TABLE 2096 0 2 002097 TYPE OF HUMIDITY SENSOR CODE TABLE 2097 0 0 5 CODE TABLE 2097 0 2 002098 TYPE OF WAVE SENSOR CODE TABLE 2098 0 0 4 CODE TABLE 2098 0 2 002099 POLARISATION CODE TABLE 2099 0 0 3 CODE TABLE 2099 0 1 002100 RADAR CONSTANT dB 1 0 12 dB 1 4 002101 TYPE OF ANTENNA CODE TABLE 2101 0 0 4 CODE TABLE 2101 0 2 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 M 0 3 002103 RADOME FLAG TABLE 2103 0 0 2 FLAG TABLE 2103 0 1 002104 ANTENNA POLARISATION CODE TABLE 2104 0 0 4 CODE TABLE 2104 0 2 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 dB 0 2 002106 3-DB BEAMWIDTH DEGREE 1 0 6 DEGREE 1 2 002107 SIDELOBE SUPPRESSION dB 0 0 6 dB 0 2 002108 CROSSPOL DISCRIMINATION (ON AXIS) dB 0 0 6 dB 0 2 002109 ANTENNA SPEED (AZIMUTH) DEGREE/S 2 0 12 DEGREE/S 2 4 002110 ANTENNA SPEED (ELEVATION) DEGREE/S 2 0 12 DEGREE/S 2 4 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 DEGREE 1 4 002112 RADAR LOOK ANGLE DEGREE 1 0 12 DEGREE 1 4 002113 NUMBER OF AZIMUTH LOOKS NUMERIC 0 0 4 NUMERIC 0 2 002114 ANTENNA EFFECTIVE SURFACE AREA M**2 0 0 15 M**2 0 5 002115 TYPE OF SURFACE OBSERVING EQUIPMENT CODE TABLE 2115 0 0 5 CODE TABLE 2115 0 2 002116 PERCENTAGE OF 320 MHZ BAND PROCESSED % 0 0 7 % 0 3 002117 PERCENTAGE OF 80 MHZ BAND PROCESSED % 0 0 7 % 0 3 002118 PERCENTAGE OF 20 MHZ BAND PROCESSED % 0 0 7 % 0 3 002119 RA-2 INSTRUMENT OPERATIONS CODE TABLE 2119 0 0 3 CODE TABLE 2119 0 1 002120 OCEAN WAVE FREQUENCY Hz 3 0 10 Hz 3 4 002121 MEAN FREQUENCY Hz -8 0 7 Hz -8 3 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 Hz -6 3 002123 PEAK POWER W -4 0 7 W -4 3 002124 AVERAGE POWER W -1 0 7 W -1 3 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 Hz -1 3 002126 PULSE WIDTH S 7 0 6 S 7 2 002127 RECEIVER INTERMEDIATE FREQUENCY Hz -6 0 7 Hz -6 3 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 Hz -5 2 002129 MINIMUM DETECTABLE SIGNAL dB 0 -150 5 dB 0 3 002130 DYNAMIC RANGE dB 0 0 7 dB 0 3 002131 SENSITIVITY TIME CONTROL (STC) FLAG TABLE 2131 0 0 2 FLAG TABLE 2131 0 1 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 DEGREE 2 5 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 002136 RANGE PROCESSED BY RANGE ATTENUATION CORRECTION M -3 0 16 M -3 5 002140 SATELLITE RADAR BEAM AZIMUTH ANGLE DEGREE 0 0 9 DEGREE 0 3 002141 MEASUREMENT TYPE CCITTIA5 0 0 24 CHARACTER 0 3 002142 OZONE INSTRUMENT SERIAL NUMBER/ IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 002143 OZONE INSTRUMENT TYPE CODE TABLE 2143 0 0 7 CODE TABLE 2143 0 3 002144 LIGHT SOURCE TYPE FOR BREWER SPECTRO PHOTOMETER CODE TABLE 2144 0 0 4 CODE TABLE 2144 0 2 002145 WAVE LENGTH SETTING FOR DOBSON INSTRUMENTS CODE TABLE 2145 0 0 4 CODE TABLE 2145 0 2 002146 SOURCE CONDITIONS FOR DOBSON INSTRUMENTS CODE TABLE 2146 0 0 4 CODE TABLE 2146 0 2 002148 DATA COLLECTION AND/OR LOCATION SYSTEM CODE TABLE 2148 0 0 5 CODE TABLE 2148 0 2 002149 TYPE OF DATA BUOY CODE TABLE 2149 0 0 6 CODE TABLE 2149 0 2 002150 TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER CODE TABLE 2150 0 0 6 CODE TABLE 2150 0 2 002151 RADIOMETER IDENTIFIER CODE TABLE 2151 0 0 11 CODE TABLE 2151 0 4 002152 SATELLITE INSTRUMENT USED IN DATA PROCESSING(6) FLAG TABLE 2152 0 0 31 FLAG TABLE 2152 0 10 002153 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 Hz -8 8 002154 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 Hz -8 8 002156 PERCENTAGE OF VALID KU OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002157 PERCENTAGE OF VALID S OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002158 RA-2 INSTRUMENT FLAG TABLE 2158 0 0 9 FLAG TABLE 2158 0 3 002159 MWR INSTRUMENT FLAG TABLE 2159 0 0 8 FLAG TABLE 2159 0 3 002160 WAVE LENGTH OF THE RADAR CODE TABLE 2160 0 0 4 CODE TABLE 2160 0 2 002163 HEIGHT ASSIGNMENT METHOD CODE TABLE 2163 0 0 4 CODE TABLE 2163 0 2 002164 TRACER CORRELATION METHOD CODE TABLE 2164 0 0 3 CODE TABLE 2164 0 1 002166 RADIANCE TYPE CODE TABLE 2166 0 0 4 CODE TABLE 2166 0 2 002167 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2167 0 0 4 CODE TABLE 2167 0 2 002168 HYDROSTATIC PRESSURE OF LOWER END OF CABLE (THERMISTOR STRING) PA -3 0 16 KPA 0 5 002169 ANEMOMETER TYPE CODE TABLE 2169 0 0 4 CODE TABLE 2169 0 2 002172 PRODUCT TYPE FOR RETRIEVED ATMOSPHERIC GASES CODE TABLE 2172 0 0 8 CODE TABLE 2172 0 3 002173 SQUARE OF THE OFF NADIR ANGLE (7) DEGREE2 4 0 10 DEGREE2 4 4 002174 MEAN ACROSS TRACK PIXEL NUMBER NUMERIC 0 0 9 NUMERIC 0 3 002175 METHOD OF PRECIPITATION MEASUREMENT CODE TABLE 2175 0 0 4 CODE TABLE 2175 0 2 002176 METHOD OF STATE OF GROUND MEASUREMENT CODE TABLE 2176 0 0 4 CODE TABLE 2176 0 2 002177 METHOD OF SNOW DEPTH MEASUREMENT CODE TABLE 2177 0 0 4 CODE TABLE 2177 0 2 002178 METHOD OF LIQUID CONTENT MEASUREMENT OF PRECIPITATION CODE TABLE 2178 0 0 4 CODE TABLE 2178 0 2 002179 TYPE OF SKY CONDITION ALGORITHM CODE TABLE 2179 0 0 4 CODE TABLE 2179 0 2 002180 MAIN PRESENT WEATHER DETECTING SYSTEM CODE TABLE 2180 0 0 4 CODE TABLE 2180 0 2 002181 SUPPLEMENTARY PRESENT WEATHER SENSOR FLAG TABLE 2181 0 0 21 FLAG TABLE 2181 0 7 002182 VISIBILITY MEASUREMENT SYSTEM CODE TABLE 2182 0 0 4 CODE TABLE 2182 0 2 002183 CLOUD DETECTION SYSTEM CODE TABLE 2183 0 0 4 CODE TABLE 2183 0 2 002184 TYPE OF LIGHTNING DETECTION SENSOR CODE TABLE 2184 0 0 4 CODE TABLE 2184 0 2 002185 METHOD OF EVAPORATION MEASUREMENT CODE TABLE 2185 0 0 4 CODE TABLE 2185 0 2 002186 CAPABILITY TO DETECT PRECIPITATION PHENOMENA FLAG TABLE 2186 0 0 30 FLAG TABLE 2186 0 10 002187 CAPABILITY TO DETECT OTHER WEATHER PHENOMENA FLAG TABLE 2187 0 0 18 FLAG TABLE 2187 0 6 002188 CAPABILITY TO DETECT OBSCURATION FLAG TABLE 2188 0 0 21 FLAG TABLE 2188 0 7 002189 CAPABILITY TO DISCRIMINATE LIGHTNING STRIKES FLAG TABLE 2189 0 0 12 FLAG TABLE 2189 0 4 002190 LAGRANGIAN DRIFTER SUBMERGENCE (% TIME SUBMERGED) % 0 0 7 % 0 3 002192 SAR AZIMUTH ANGLE DEGREE 0 0 9 002193 1D VAR SATELLITE CHANNEL(S) USED FLAG TABLE 2193 0 0 28 002194 CONSTANT LEVEL BALLOON TYPE CODE TABLE 2194 0 0 4 002195 TYPE OF SATELLITE INSTRUMENTATION CODE TABLE 2195 0 0 4 002196 SATELLITE CLASSIFICATION CODE TABLE 2196 0 0 9 002197 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 002198 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 002199 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2199 0 0 4 002200 LATITUDINAL RESOLUTION DEGREE 5 0 25 002201 LONGITUDINAL RESOLUTION DEGREE 5 0 25 002202 SIMULATED DATA PROCESSING TECHNIQUE USED FLAG TABLE 2202 0 0 4 002205 LATITUDINAL RESOLUTION DEGREE 3 0 9 002206 LONGITUDINAL RESOLUTION DEGREE 3 0 9 002207 TYPE OF SCAN CODE TABLE 2207 0 0 3 002220 DATA PRODUCER CODE TABLE 2220 0 0 9 002221 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 002222 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 002223 TOVS/ATOVS/AVHRR CHANNEL NUMBER CODE TABLE 2223 0 0 6 002231 HEIGHT ASSIGNMENT METHOD CODE TABLE 2231 0 0 4 002232 TRACER CORRELATION METHOD CODE TABLE 2232 0 0 3 002240 TYPE OF TERMODYNAMIC SENSING CODE TABLE 2240 0 0 8 002241 TYPE OF ROCKET MOTOR CODE TABLE 2241 0 0 3 002242 TYPE OF WIND SENSING EQUIPMENT CODE TABLE 2242 0 0 8 002243 TERMODYNAMIC CORRECTION TECHNIQUE CODE TABLE 2243 0 0 3 002244 WIND CORRECTION TECHNIQUE CODE TABLE 2244 0 0 3 002245 METHOD OF REDUCING OF DATA CODE TABLE 2245 0 0 4 002251 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2251 0 0 4 002252 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2252 0 0 31 002253 HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2253 0 0 8 002254 RADIANCE TYPE CODE TABLE 2254 0 0 4 004001 YEAR YEAR 0 0 12 YEAR 0 4 004002 MONTH MONTH 0 0 4 MONTH 0 2 004003 DAY DAY 0 0 6 DAY 0 2 004004 HOUR HOUR 0 0 5 HOUR 0 2 004005 MINUTE MINUTE 0 0 6 MINUTE 0 2 004006 SECOND SECOND 0 0 6 SECOND 0 2 004007 SECONDS WITHIN A MINUTE (MICROSECOND ACCURACY) SECOND 6 0 26 S 6 8 004011 TIME INCREMENT YEAR 0 -1024 11 YEAR 0 4 004012 TIME INCREMENT MONTH 0 -1024 11 MONTH 0 4 004013 TIME INCREMENT DAY 0 -1024 11 DAY 0 4 004014 TIME INCREMENT HOUR 0 -1024 11 HOUR 0 4 004015 TIME INCREMENT MINUTE 0 -2048 12 MINUTE 0 4 004016 TIME INCREMENT SECOND 0 -4096 13 SECOND 0 4 004017 REFERENCE TIME PERIOD FOR ACCUMULATED OR EXTREME DATA MINUTE 0 -1440 12 MINUTE 0 4 004021 TIME PERIOD OR DISPLACEMENT YEAR 0 -1024 11 YEAR 0 4 004022 TIME PERIOD OR DISPLACEMENT MONTH 0 -1024 11 MONTH 0 4 004023 TIME PERIOD OR DISPLACEMENT DAY 0 -1024 11 DAY 0 4 004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -2048 12 HOUR 0 4 004025 TIME PERIOD OR DISPLACEMENT MINUTE 0 -2048 12 MINUTE 0 4 004026 TIME PERIOD OR DISPLACEMENT SECOND 0 -4096 13 SECOND 0 4 004031 DURATION OF TIME RELATING TO FOLLOWING VALUE HOUR 0 0 8 HOUR 0 3 004032 DURATION OF TIME RELATING TO FOLLOWING VALUE MINUTE 0 0 6 MINUTE 0 2 004041 TIME DIFFERENCE, UTC -LMT (SEE NOTE 6) MINUTE 0 -1440 12 MINUTE 0 4 004043 DAY OF THE YEAR DAY 0 0 9 DAY 0 3 004051 PRINCIPAL TIME OF DAILY READING OF MAXIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004052 PRINCIPAL TIME OF DAILY READING OF MINIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004053 NUMBER OF DAYS WITH PRECIPITATION EQUAL TO OR MORE THAN 1 MM NUMERIC 0 0 6 NUMERIC 0 2 004059 TIMES OF OBSERVATION USED TO COMPUTE THE REPORTED MEAN VALUES FLAG TABLE 4059 0 0 6 FLAG TABLE 4059 0 2 004065 SHORT TIME INCREMENT MINUTE 0 -128 8 MINUTE 0 2 004073 SHORT TIME PERIOD OR DISPLACEMENT DAY 0 -128 8 DAY 0 2 004074 SHORT TIME PERIOD OR DISPLACEMENT HOUR 0 -128 8 HOUR 0 2 004075 SHORT TIME PERIOD OR DISPLACEMENT MINUTE 0 -128 8 MINUTE 0 2 004080 AVERAGING PERIOD FOR FOLLOWING VALUE CODE TABLE 4080 0 0 4 CODE TABLE 4080 0 2 004086 LONG TIME PERIOD OR DISPLACEMENT SECOND 0 -8192 15 SECOND 0 5 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005015 LATITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005016 LATITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005023 SUN TO SATELLITE AZIMUTH DIFFERENCE DEGREE 1 -1800 12 DEGREE 1 4 005030 DIRECTION (SPECTRAL) DEGREE 0 0 12 DEGREE 0 4 005031 ROW NUMBER NUMERIC 0 0 12 NUMERIC 0 4 005033 PIXEL SIZE ON HORIZONTAL - 1 M -1 0 16 M -1 5 005034 ALONG TRACK ROW NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005036 SHIP TRANSECT NUMBER ACCORDING TO SOOP NUMERIC 0 0 7 NUMERIC 0 2 005040 ORBIT NUMBER NUMERIC 0 0 24 NUMERIC 0 8 005041 SCAN LINE NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005042 CHANNEL NUMBER NUMERIC 0 0 6 NUMERIC 0 2^M 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005044 SATELLITE CYCLE NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005060 Y ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005061 Z ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005193 ALONG TRACK ROW NUMBER AT 50 KM NUMERIC 0 0 10 NUMERIC 0 4 005194 ALONG TRACK ROW NUMBER AT 25 KM NUMERIC 0 0 11 NUMERIC 0 4 005195 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 7 NUMERIC 0 3 005196 SCAN ANGLE DEGREE 1 -1800 12 DEGREE 1 4 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 M 2 10 005232 DIRECTION (SPECTRAL) DEGREE 2 0 16 DEGREE 2 5 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006015 LONGITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006016 LONGITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006021 DISTANCE M -1 0 13 M -1 4 006030 WAVE NUMBER (SPECTRAL) RAD/M 5 0 13 RAD/M 5 4 006031 COLUMN NUMBER NUMERIC 0 0 12 NUMERIC 0 4 006033 PIXEL SIZE ON HORIZONTAL - 2 M -1 0 16 M -1 5 006034 CROSS-TRACK CELL NUMBER NUMERIC 0 0 7 NUMERIC 0 3 006040 RADIUS OF CONFIDENCE M 0 0 13 M 0 4 006193 CROSS TRACK CELL NUMBER AT 50 KM NUMERIC 0 0 6 NUMERIC 0 2 006194 CROSS TRACK CELL NUMBER AT 25 KM NUMERIC 0 0 7 NUMERIC 0 3 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 M 2 10 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 ADS/M 5 4 007001 HEIGHT OF STATION (SEE NOTE 1) M 0 -400 15 M 0 5 007002 HEIGHT OR ALTITUDE M -1 -40 16 M -1 5 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 007004 PRESSURE PA -1 0 14 PA -1 5 007005 HEIGHT INCREMENT M 0 -400 12 M 0 4 007006 HEIGHT ABOVE STATION M 0 0 15 M 0 5 007007 HEIGHT M 0 -1000 17 M 0 6 007008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 007009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 007010 FLIGHT LEVEL M 0 -1024 16 FT -1 5 007012 GRID POINT ALTITUDE M 2 -50000 20 M 2 7 007021 ELEVATION (SEE NOTE 2) DEGREE 2 -9000 15 DEGREE 2 5 007022 SOLAR ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 007024 SATELLITE ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007025 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007026 SATELLITE ZENITH ANGLE DEGREE 4 -900000 21 DEGREE 4 7 007030 HEIGHT OF STATION GROUND ABOVE MEAN SEA LEVEL (SEE NOTE 3) M 1 -4000 17 M 1 5 007031 HEIGHT OF BAROMETER ABOVE MEAN SEA LEVEL (SEE NOTE 4) M 1 -4000 17 M 1 5 007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) M 2 0 16 M 2 5 007033 HEIGHT OF SENSOR ABOVE WATER SURFACE (SEE NOTE 6) M 1 0 12 M 1 4 007040 IMPACT PARAMETER (SEE NOTE 8) M 1 62000000 22 M 1 8 007061 DEPTH BELOW LAND SURFACE M 2 0 14 M 2 5 007062 DEPTH BELOW SEA/WATER SURFACE M 1 0 17 M 1 6 007063 DEPTH BELOW SEA/WATER SURFACE M 2 0 20 M 2 7 007064 REPRESENTATIVE HEIGHT OF SENSOR ABOVE STATION (SEE NOTE 7) M 0 0 4 M 0 2 007065 WATER PRESSURE PA -3 0 17 PA 0 6 007070 DROGUE DEPTH M 0 0 10 M 0 4 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 M 2 10 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8001 0 0 7 FLAG TABLE 8001 0 3 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 8002 0 0 6 CODE TABLE 8002 0 2 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 8003 0 0 6 CODE TABLE 8003 0 2 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 8004 0 0 3 CODE TABLE 8004 0 1 008005 METEOROLOGICAL ATTRIBUTE SIGNIFICANCE CODE TABLE 8005 0 0 4 CODE TABLE 8005 0 2 008006 OZONE VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8006 0 0 9 FLAG TABLE 8006 0 3 008007 DIMENSIONAL SIGNIFICANCE CODE TABLE 8007 0 0 4 CODE TABLE 8007 0 2 008008 RADIATION VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8008 0 0 9 FLAG TABLE 8008 0 3 008009 DETAILED PHASE OF FLIGHT CODE TABLE 8009 0 0 4 CODE TABLE 8009 0 2 008010 SURFACE QUALIFIER (TEMPERATURE DATA) CODE TABLE 8010 0 0 5 CODE TABLE 8010 0 2 008011 METEOROLOGICAL FEATURE CODE TABLE 8011 0 0 6 CODE TABLE 8011 0 2 008012 LAND/SEA QUALIFIER CODE TABLE 8012 0 0 2 CODE TABLE 8012 0 1 008013 DAY/NIGHT QUALIFIER CODE TABLE 8013 0 0 2 CODE TABLE 8013 0 1 008014 QUALIFIER FOR RUNWAY VISUAL RANGE CODE TABLE 8014 0 0 4 CODE TABLE 8014 0 2 008016 CHANGE QUALIFIER OF A TREND-TYPE FORECAST OR AN AERODROME FORECA CODE TABLE 8016 0 0 3 CODE TABLE 8016 0 1 008017 QUALIFIER OF THE TIME WHEN THE FORECAST CHANGE IS EXPECTED CODE TABLE 8017 0 0 2 CODE TABLE 8017 0 1 008018 SEAWINDS LAND/ICE SURFACE TYPE FLAG TABLE 8018 0 0 17 FLAG TABLE 8018 0 6 008019 QUALIFIER FOR FOLLOWING CENTRE IDENTIFIER CODE TABLE 8019 0 0 4 CODE TABLE 8019 0 2 008020 TOTAL NUMBER OF MISSING ENTITIES (WITH RESPECT TO ACCUMULATION O NUMERIC 0 0 16 NUMERIC 0 5 008021 TIME SIGNIFICANCE CODE TABLE 8021 0 0 5 CODE TABLE 8021 0 2 008022 TOTAL NUMBER (WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 NUMERIC 0 5 008023 FIRST ORDER STATISTICS CODE TABLE 8023 0 0 6 CODE TABLE 8023 0 2 008024 DIFFERENCE STATISTICS CODE TABLE 8024 0 0 6 CODE TABLE 8024 0 2 008025 TIME DIFFERENCE QUALIFIER CODE TABLE 8025 0 0 4 CODE TABLE 8025 0 2 008026 MATRIX SIGNIFICANCE CODE TABLE 8026 0 0 6 CODE TABLE 8026 0 2 008029 REMOTLY SENSED SURFACE TYPE CODE TABLE 8029 0 0 8 CODE TABLE 8029 0 3 008030 MANUAL ON CODES (VOLUME I.1, SECTION C) CODE TABLE FROM WHICH DA NUMERIC 0 0 13 NUMERIC 0 4 008031 DATA CATEGORY CREX TABLE A NUMERIC 0 0 8 NUMERIC 0 3 008033 METHOD OF DERIVATION OF PERCENTAGE CONFIDENCE CODE TABLE 8033 0 0 7 CODE TABLE 8033 0 3 008035 TYPE OF MONITORING EXERCISE CODE TABLE 8035 0 0 3 CODE TABLE 8035 0 1 008036 TYPE OF CENTRE OR STATION PERFORMING MONITORING CODE TABLE 8036 0 0 3 CODE TABLE 8036 0 1 008039 TIME SIGNIFICANCE ( AVIATION FORECAST) CODE TABLE 8039 0 0 6 CODE TABLE 8039 0 2 008040 FLIGHT LEVEL SIGNIFICANCE CODE TABLE 8040 0 0 6 CODE TABLE 8040 0 2 008041 DATA SIGNIFICANCE CODE TABLE 8041 0 0 5 CODE TABLE 8041 0 2 008042 EXTENDED VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8042 0 0 18 FLAG TABLE 8042 0 6 008043 ATMOSPHERIC CHEMICAL OR PHISICAL CONSTITUENT TYPE CODE TABLE 8043 0 0 8 CODE TABLE 8043 0 3 008044 CAS REGISTRY NUMBER CCITTIA5 0 0 88 CHARACTERS 0 11 008045 PARTICULATE MATTER CHARACTERIZATION CODE TABLE 8045 0 0 8 CODE TABLE 8045 0 3 008049 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008050 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8050 0 0 4 CODE TABLE 8050 0 2 008051 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8051 0 0 3 CODE TABLE 8051 0 1 008052 CONDITION FOR WHICH NUMBER OF DAYS OF OCCURRENCE FOLLOWS CODE TABLE 8052 0 0 5 CODE TABLE 8052 0 2 008053 DAY OF OCCURRENCE QUALIFIER CODE TABLE 8053 0 0 2 CODE TABLE 8053 0 1 008054 QUALIFIER FOR WIND SPEED OR WIND GUST CODE TABLE 8054 0 0 3 CODE TABLE 8054 0 1 008060 SAMPLE SCANNING MODE SIGNIFICANCE CODE TABLE 8060 0 0 4 CODE TABLE 8060 0 2 008065 SUN-GLINT INDICATOR CODE TABLE 8065 0 0 2 CODE TABLE 8065 0 1 008066 SEMI-TRANSPARENCY INDICATOR CODE TABLE 8066 0 0 2 CODE TABLE 8066 0 1 008070 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8070 0 0 4 CODE TABLE 8070 0 2 008072 PIXEL(S) TYPE CODE TABLE 8072 0 0 3 CODE TABLE 8072 0 1 008074 ALTIMETER ECHO TYPE CODE TABLE 8074 0 0 2 CODE TABLE 8074 0 1 008075 ASCENDING/DESCENDING ORBIT QUALIFIER CODE TABLE 8075 0 0 2 CODE TABLE 8075 0 1 008076 TYPE OF BAND CODE TABLE 8076 0 0 6 CODE TABLE 8076 0 2 008077 RADIOMETER SENSED SURFACE TYPE CODE TABLE 8077 0 0 7 CODE TABLE 8077 0 3 008079 PRODUCT STATUS CODE TABLE 8079 0 0 4 CODE TABLE 8079 0 2 008080 QUALIFIER FOR GTSPP QUALITY FLAG CODE TABLE 8080 0 0 6 CODE TABLE 8080 0 2 008081 TYPE OF EQUIPMENT CODE TABLE 8081 0 0 6 CODE TABLE 8081 0 2 008082 (CBS) ARTIFICIAL CORRECTION OF SENSOR HEIGHT TO ANOTHER VALUE CODE TABLE 8082 0 0 3 CODE TABLE 8082 0 1 008083 NOMINAL VALUE INDICATOR FLAG TABLE 8083 0 0 15 FLAG TABLE 8083 0 5 008085 BEAM IDENTIFIER CODE TABLE 8085 0 0 3 CODE TABLE 8085 0 1 008090 DECIMAL SCALE NUMERIC 0 -127 8 NUMERIC 0 3 008193 TIME QUALIFIER CODE TABLE 8193 0 0 6 CODE TABLE 8193 0 2 008194 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8194 0 0 4 CODE TABLE 8194 0 2 008195 DATA TYPE CODE TABLE 8195 0 0 7 CODE TABLE 8195 0 3 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008222 GENERATOR SIGNIFICANCE CODE TABLE 8222 0 0 4 CODE TABLE 8222 0 2 008223 LAND/ICE SURFACE FLAG FLAG TABLE 8223 0 0 7 FLAG TABLE 8223 0 3 008224 LAND/SEA FRACTION NUMERIC 3 0 10 NUMERIC 3 4 008225 GHRSST SURFACE TYPE FLAG TABLE 8225 0 0 5 FLAG TABLE 8225 0 2 010001 HEIGHT OF LAND SURFACE M 0 -400 15 M 0 5 010002 HEIGHT M -1 -40 16 M -1 5 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 010004 PRESSURE PA -1 0 14 PA -1 5 010007 HEIGHT M 0 -1000 17 M 0 6 010008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 010009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 010010 MINIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010011 MAXIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010031 IN DIRECTION OF THE NORTH POLE, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 010032 SATELLITE DISTANCE TO EARTH'S CENTRE M 1 0 27 M 2 9 010033 ALTITUDE (PLATFORM TO ELLIPSOID) M 1 0 27 M 2 9 010034 EARTH RADIUS M 1 0 27 M 2 9 010035 EARTH'S LOCAL RADIUS OF CURVATURE M 1 62000000 22 M 1 8 010036 GEOID UNDULATION (SEE NOTE 4) M 2 -15000 15 M 2 6 010040 NUMBER OF RETRIEVED LAYERS NUMERIC 0 0 10 NUMERIC 0 4 010050 STANDARD DEVIATION ALTITUDE M 2 0 16 M 2 5 010051 PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010052 ALTIMETER SETTING (QNH) PA -1 0 14 PA -1 5 010060 PRESSURE CHANGE PA -1 -1024 11 PA -1 4 010061 3-HOUR PRESSURE CHANGE PA -1 -500 10 PA -1 4 010062 24-HOUR PRESSURE CHANGE PA -1 -1000 11 PA -1 4 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 10063 0 0 4 CODE TABLE 10063 0 2 010064 SIGMET CRUISING LEVEL CODE TABLE 10064 0 0 3 CODE TABLE 10064 0 1 010070 INDICATED AIRCRAFT ALTITUDE M 0 -400 16 M 0 5 010080 VIEWING ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 010081 ALTITUDE OF COG ABOVE REFERENCE ELLIPSOID M 3 0 31 M 3 10 010082 INSTANTANEOUS ALTITUDE RATE MS-1 3 -65536 17 MS-1 3 6 010083 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM PLATFORM DATA DEGREE**2 2 0 16 DEGREE**2 2 5 010084 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM WAVEFORM DATA DEGREE**2 2 0 16 DEGREE**2 2 5 010085 MEAN SEA SURFACE HEIGHT M 3 -131072 18 M 3 6 010086 GEOID'S HEIGHT M 3 -131072 18 M 3 6 010087 OCEAN DEPTH/LAND ELEVATION M 1 -131072 18 M 3 6 010088 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 1 M 3 -32768 16 M 3 5 010089 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 2 M 3 -32768 16 M 3 5 010090 LONG PERIOD TIDE HEIGHT M 3 -32768 16 M 3 5 010091 TIDAL LOADING HEIGHT M 3 -32768 16 M 3 5 010092 SOLID EARTH TIDE HEIGHT M 3 -32768 16 M 3 5 010093 GEOCENTRIC POLE TIDE HEIGHT M 3 -32768 16 M 3 5 010095 HEIGHT OF ATMOSPHERE USED M 0 0 16 M 0 5 010096 MEAN DYNAMIC TOPOGRAPHY M 3 -131072 18 010097 MEAN SEA SURFACE HEIGHT FROM ALTIMETER ONLY M 3 -131072 18 010098 LOADING TIDE HEIGHT GEOCENTRIC OCEAN TIDE SOLUTION 1 M 4 -2000 12 010099 LOADING TIDE HEIGHT GEOCENTRIC OCEAN TIDE SOLUTION 2 M 4 -2000 12 010100 NON-EQUILIBRIUM LONG PERIOD TIDE HEIGHT M 4 -2000 12 010101 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM WAVEFORM DATA DEGREE**2 2 -32768 16 DEGREE**2 2 5 010195 HEIGHT(HIGH ACCURACY) M 1 -4096 20 010196 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 010197 ANEMOMETER HEIGHT M 0 0 9 011001 WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011002 WIND SPEED M/S 1 0 12 M/S 1 4 011003 U-COMPONENT M/S 1 -4096 13 M/S 1 4 011004 V-COMPONENT M/S 1 -4096 13 M/S 1 4 011005 W-COMPONENT PA/S 1 -512 10 PA/S 1 4 011006 W-COMPONENT M/S 2 -4096 13 M/S 2 4 011010 WIND DIRECTION ASSOCIATED WITH WIND SPEED WHICH FOLLOWS DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011012 WIND SPEED AT 10 M M/S 1 0 12 M/S 1 4 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011014 WIND SPEED AT 5 M M/S 1 0 12 M/S 1 4 011016 EXTREME COUNTERCLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011017 EXTREME CLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011019 STEADINESS OF WIND (6) % 0 0 7 % 0 3 011021 RELATIVE VORTICITY 1/S 9 -65536 17 1/S 9 6 011022 DIVERGENCE 1/S 9 -65536 17 1/S 9 6 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 M**2/S -2 6 011030 EXTENDED DEGREE OF TURBULENCE CODE TABLE 11030 0 0 6 CODE TABLE 0 2 011031 DEGREE OF TURBULENCE CODE TABLE 11031 0 0 4 CODE TABLE 11031 0 2 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 M -1 5 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 M -1 5 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 M/S 1 4 011035 VERTICAL GUST ACCELERATION M/S**2 2 -8192 14 M/S**2 2 5 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST SPEED M/S 1 0 10 M/S 1 4 011037 TURBULENCE INDEX CODE TABLE 11037 0 0 6 CODE TABLE 11037 0 2 011038 TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11038 0 0 5 CODE TABLE 11038 0 2 011039 EXTENDED TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11039 0 0 6 CODE TABLE 11039 0 2 011040 MAXIMUM WIND SPEED (MEAN WIND) M/S 1 0 12 M/S 1 4 011041 MAXIMUM WIND GUST SPEED M/S 1 0 12 M/S 1 4 011042 MAXIMUM WIND SPEED (10-MIN MEAN WIND) M/S 1 0 12 M/S 1 4 011043 MAXIMUM WIND GUST DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011044 MEAN WIND DIRECTION FOR SURFACE - 1500 M (5000 FEET) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011045 MEAN WIND SPEED FOR SURFACE - 1500 M (5000 FEET) M/S 1 0 12 M/S 1 4 011046 MAXIMUM INSTANTANEOUS WIND SPEED M/S 1 0 12 M/S 1 4 011047 MAXIMUM INSTANTANEOUS WIND SPEED OVER 10 MINUTES M/S 1 0 12 M/S 1 4 011049 STANDARD DEVIATION OF WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011050 STANDARD DEVIATION OF HORIZONTAL WIND SPEED M/S 1 0 12 M/S 1 4 011051 STANDARD DEVIATION OF VERTICAL WIND SPEED M/S 1 0 8 M/S 1 3 011052 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 13 M/S 2 5 011053 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 DEGREE TRUE 2 5 011054 MEAN WIND DIRECTION FOR 1500 M - 3000 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011055 MEAN WIND SPEED FOR 1500 M - 3000 M M/S 1 0 12 M/S 1 4 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 M/S 1 4 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 M/S 1 4 011070 DESIGNATOR OF THE RUNWAY AFFECTED BY WIND SHEAR (INCLUDING ALL) CCITTIA5 0 0 32 CHARACTER 0 4 011071 TURBULENT VERTICAL MOMENTUM FLUX M**2/S**2 3 -128 14 M**2/S**2 3 5 011072 TURBULENT VERTICAL BUOYANCY FLUX KM/S 3 -128 11 KM/S 3 4 011073 TURBULENT KINETIC ENERGY M**2/S**2 2 -1024 13 M**2/S**2 2 4 011074 DISSIPATION ENERGY M**2/S**2 2 -1024 10 M**2/S**2 2 4 011075 MEAN TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011076 PEAK TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011077 REPORTING INTERVAL OR AVERAGING TIME FOR EDDY DISSIPATION RATE S 0 0 12 S 0 4 011081 MODEL WIND DIRECTION AT 10M DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 011082 MODEL WIND SPEED AT 10M M/S 2 0 14 M/S 2 4 011083 WIND SPEED KM/HOUR 0 0 9 KM/HOUR 0 3 011084 WIND SPEED KNOT 0 0 8 KNOT 0 3 011085 MAXIMUM WIND GUST SPEED KM/HOUR 0 0 9 KM/HOUR 0 3 011086 MAXIMUM WIND GUST SPEED KNOT 0 0 8 KNOT 0 3 011095 U COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011096 V COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011097 WIND SPEED FROM ALTIMETER M/S 2 0 12 011098 WIND SPEED FROM RADIOMETER M/S 2 0 12 011192 U - COMPONENT AT 10 M M/S 1 -4096 13 M/S 1 4^M 011193 V - COMPONENT AT 10 M M/S 1 -4096 13 M/S 1 4^M 011194 W - COMPONENT AT 10 M M/S 1 -4096 13 M/S 1 4^M 011195 STEADINESS OF WIND % 0 0 7 % 0 3 011196 FRICTION VELOCITY M/S 5 0 19 011201 HORIZONTAL LINE OF SIGHT COMPONENT M/S 1 -4096 13 011210 1D VAR WIND SPEED RETREIVED ERRO(S) M/S 2 0 12 011211 WIND SPEED INDEPENDENT ESTIMATE OF ERROR(S) M/S 2 0 12 011220 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 12 011221 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 011230 MAXIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011231 MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011232 MINIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011233 HIGHEST GUST DURING THE 10 MINUTE PERIOD PRECEDING OBSERVATION M/S 1 -4096 13 M/S 1 4^M 012001 TEMPERATURE/DRY-BULB TEMPERATURE K 1 0 12 C 1 3 012002 WET-BULB TEMPERATURE K 1 0 12 C 1 3 012003 DEW-POINT TEMPERATURE K 1 0 12 C 1 3 012004 DRY-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012005 WET-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012006 DEW-POINT TEMPERATURE AT 2 M K 1 0 12 C 1 3 012007 VIRTUAL TEMPERATURE K 1 0 12 C 1 3 012011 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012012 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012013 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 1 0 12 C 1 3 012014 MAXIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012015 MINIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012016 MAXIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012017 MINIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012021 MAXIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012022 MINIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012023 TEMPERATURE C 0 -99 8 C 0 2 012024 DEW POINT TEMPERATURE C 0 -99 8 C 0 2 012030 SOIL TEMPERATURE K 1 0 12 C 1 3 012049 TEMPERATURE CHANGE OVER SPECIFIED PERIOD K 0 -30 6 C 0 2 012051 STANDARD DEVIATION TEMPERATURE K 1 0 10 C 1 3 012052 HIGHEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012053 LOWEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012061 SKIN TEMPERATURE K 1 0 12 C 1 3 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 C 1 3 012063 BRIGHTNESS TEMPERATURE K 1 0 12 C 1 3 012064 INSTRUMENT TEMPERATURE K 1 0 12 K 1 4 012065 STANDARD DEVIATION BRIGHTNESS TEMPERATURE K 1 0 12 K 1 4 012070 WARM LOAD TEMPERATURE K 2 0 16 K 2 5 012071 COLDEST CLUSTER TEMPERATURE K 1 0 12 K 1 4 012072 RADIANCE WM**(-2)SR**(-1) 6 0 31 WM**(-2)SR**(-1) 6 9 012073 TEMPERATURE K 2 0 16 K 1 4 012075 SPECTRAL RADIANCE WM**(-3)SR**(-1) -3 0 16 WM**(-3)SR**(-1) -3 5 012076 RADIANCE WM**(-2)SR**(-1) 3 0 16 WM**(-2)SR**(-1) 3 5 012080 BRIGHTNESS TEMPERATURE REAL PART K 2 -10000 16 K 2 5 012081 BRIGHTNESS TEMPERATURE IMAGINARY PART K 2 -10000 16 K 2 5 012082 PIXEL RADIOMETRIC ACCURACY K 2 0 12 K 2 4 012101 TEMPERATURE/DRY-BULB TEMPERATURE K 2 0 16 C 2 4 012102 WET-BULB TEMPERATURE K 2 0 16 C 2 4 012103 DEW-POINT TEMPERATURE K 2 0 16 C 2 4 012104 DRY-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012105 WEB-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012106 DEW-POINT TEMPERATURE AT 2M K 2 0 16 C 2 4 012107 VIRTUAL TEMPERATURE K 2 0 16 C 2 4 012111 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012112 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012113 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 2 0 16 C 2 4 012114 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012115 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012116 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012117 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012118 MAXIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012119 MINIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012121 GROUND MINIMUM TEMPERATURE K 2 0 16 C 2 4 012122 GROUND MINIMUM TEMPERATURE OF THE PRECEDING NIGHT K 2 0 16 C 2 4 012130 SOIL TEMPERATURE K 2 0 16 C 2 4 012151 STANDARD DEVIATION OF DAILY MEAN TEMPERATURE K 2 0 12 C 2 4 012152 HIGHEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012153 LOWEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012161 SKIN TEMPERATURE K 2 0 16 C 2 4 012162 EQUIVALENT BLACK BODY TEMPERATURE K 2 0 16 C 2 4 012163 BRIGHTNESS TEMPERATURE K 2 0 16 C 2 4 012164 INSTRUMENT TEMPERATURE K 2 0 16 K 2 5 012165 DIRECT SUN BRIGHTNESS TEMPERATURE K 0 0 23 K 0 7 012166 SNAPSHOT ACCURACY K 1 -4000 13 K 1 4 012167 RADIOMETRIC ACCURACY (PURE POLARISATION) K 1 0 9 K 1 3 012168 RADIOMETRIC ACCURACY ( CRESS POLARISATION ) K 1 0 9 K 1 3 012171 COLDEST CLUSTER TEMPERATURE K 2 0 16 K 2 5 012180 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012181 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012182 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012183 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012184 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012185 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012186 MEAN NADIR SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012187 MEAN DUAL VIEW SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012188 INTERPOLATED 23.8 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 012189 INTERPOLATED 36.5 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 012193 COLDEST CLUSTER TEMPERATURE K 1 0 12 012194 RADIANCE W/M**2*STER*M**(-1) 6 0 31 012195 SPECTRAL RADIANCE W/M**2*STER*M**(-1) 10 0 31 012196 RADIANCE W/M**2*STER 3 0 16 012197 MAXIMUM TEMPERATURE AT 2M, PAST 3 HOURS K 1 0 12 012198 MINIMUM TEMPERATURE AT 2M, PAST 3 HOURS K 1 0 12 012199 MAXIMUM TEMPERATURE AT 2M, PAST 6 HOURS K 1 0 12 012200 MINIMUM TEMPERATURE AT 2M, PAST 6 HOURS K 1 0 12 012201 BRIGHTNES TEMPERATURE OR STOKES PARAMETER K 3 -271300 20 013001 SPECIFIC HUMIDITY KG/KG 5 0 14 KG/KG 5 5 013002 MIXING RATIO KG/KG 5 0 14 KG/KG 5 5 013003 RELATIVE HUMIDITY % 0 0 7 % 0 3 013004 VAPOUR PRESSURE PA -1 0 10 PA -1 4 013005 VAPOUR DENSITY KG/M**3 3 0 7 KG/M**3 3 3 013006 MIXING HEIGHTS M -1 -40 16 M -1 5 013007 MINIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013008 MAXIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013009 RELATIVE HUMIDITY % 1 -1000 12 % 1 4 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT KG/M**2 1 -1 14 KG/M**2 1 5 013012 DEPTH OF FRESH SNOW M 2 -2 12 M 2 4 013013 TOTAL SNOW DEPTH M 2 -2 16 M 2 5 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGED RATE) KG/(M**2)S 4 0 12 KG/(M**2)S 4 4 013015 SNOWFALL (AVERAGED RATE) M/S 7 0 12 M/S 7 4 013016 PRECIPITABLE WATER KG/M**2 0 0 7 KG/M**2 0 3 013019 TOTAL PRECIPITATION PAST 1 HOUR KG/M**2 1 -1 14 KG/M**2 1 4 013020 TOTAL PRECIPITATION PAST 3 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013021 TOTAL PRECIPITATION PAST 6 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013022 TOTAL PRECIPITATION PAST 12 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013023 TOTAL PRECIPITATION PAST 24 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013031 EVAPOTRANSPIRATION KG/M**2 0 0 7 KG/M**2 0 3 013032 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 8 KG/M**2 1 3 013033 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 10 KG/M**2 1 4 013038 SUPERADIABATIC INDICATOR CODE TABLE 13038 0 0 2 CODE TABLE 13038 0 1 013039 TERRAIN TYPE (ICE/SNOW) CODE TABLE 13039 0 0 3 CODE TABLE 13039 0 1 013040 SURFACE FLAG CODE TABLE 13040 0 0 4 CODE TABLE 13040 0 2 013041 PASQUILL-GIFFORD STABILITY CATEGORY CODE TABLE 13041 0 0 4 CODE TABLE 13041 0 2 013042 PARCEL LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013043 BEST LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013044 K INDEX K 0 -30 8 K 0 3 013045 KO INDEX K 0 -30 8 K 0 3 013046 MAXIMUM BUOYANCY K 0 -30 8 K 0 3 013047 MODIFIED SHOWALTER STABILITY INDEX K 0 -60 6 C 0 2 013048 WATER FRACTION % 1 0 10 % 1 4 013051 FREQUENCY GROUP, PRECIPITATION CODE TABLE 13051 0 0 4 CODE TABLE 13051 0 2 013052 HIGHEST DAILY AMOUNT OF PRECIPITATION KG/M**2 1 -1 14 KG/M**2 1 5 013055 INTENSITY OF PRECIPITATION KG/(M**2)S 4 0 8 MM H-1 1 3 013056 CHARACTER AND INTENSITY OF PRECIPITATION CODE TABLE 13056 0 0 4 CODE TABLE 13056 0 2 013057 TIME OF BEGINNING OR END OF PRECIPITATION CODE TABLE 13057 0 0 4 CODE TABLE 13057 0 2 013058 SIZE OF PRECIPITATING ELEMENT M 4 0 7 MM 1 3 013059 NUMBER OF FLASHES (THUNDERSTORM) NUMERIC 0 0 7 NUMERIC 0 3 013060 TOTAL ACCUMULATED PRECIPITATION KG/M**2 1 -1 17 KG/M**2 1 5 013071 UPSTREAM WATER LEVEL M 2 0 14 M 2 5 013072 DOWNSTREAM WATER LEVEL M 2 0 14 M 2 4 013073 MAXIMUM WATER LEVEL M 2 0 14 M 2 4 013080 WATER PH pH 1 0 10 pH 1 3 013081 WATER CONDUCTIVITY S M-1 3 0 14 S M-1 3 4 013082 WATER TEMPERATURE K 1 0 12 K 1 4 013083 DISSOLVED OXYGEN KG/M**3 6 0 15 KG/M**3 6 5 013084 TURBIDITY LUMEN 0 0 14 LUMEN 0 4 013085 OXYDATION REDUCTION POTENTIAL (ORP) V 3 0 14 V 3 4 013090 RADIOMETER WATER VAPOUR CONTENT KG/M**2 1 0 10 KG/M**2 1 4 013091 RADIOMETER LIQUID CONTENT KG/M**2 2 0 8 KG/M**2 2 3 013093 CLOUD OPTICAL THICKNESS NUMERIC 0 0 8 NUMERIC 0 3 013095 TOTAL COLUMN WATER VAPOUR KG/M**2 4 0 19 KG/M**2 4 6 013096 MWR WATER VAPOUR CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013097 MWR LIQUID WATER CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013098 INTEGRATED WATER VAPOUR DENSITY KG/M**2 8 0 30 KG/M**2 8 10 013192 RELATIVE HUMIDITY AT 2 M % 0 0 8 013193 RELATIVE HUMIDITY % 0 0 8 013194 TOTAL COLUMN WATER KG/M**2 2 0 11 013195 RAIN RATE KG/M**2HOUR 0 0 5 013196 ANTECEDENT PRECIPITATION INDEX KG/M**2 0 0 7 013197 TOTAL COLUMN WATER VAPOUR KG/M**2 1 0 10 013198 RAIN FLAG CODE TABLE 13198 0 0 3 013199 SPECIFIC HUMIDITY AT 2 M KG/KG 5 0 14 013201 CLOUD LIQUID WATER KG/KG 7 0 14 013202 TYPE OF SURFACE CODE TABLE 13202 0 0 8 013203 1D VAR ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013204 SSMI INDEPENDENT ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013205 CLOUD LIQUID WATER PATH KG/M**2 4 0 14 013206 TOTAL PRECIPITATION ICE CONTENT KG/M**2 6 0 14 013207 TOTAL CLOUD LIQUID WATER KG/M**2 6 0 14 013208 SURFACE RAIN RATE ( INSTANTANEOUS ) KG/M**2*S 5 0 17 013209 RAIN POSSIBILITY NUMERIC 0 -256 9 013210 1D VAR CLOUD LIQUID WATER PATH RETRIEVED ERROR(S) KG/M**2 4 0 14 013211 TOTAL PRECIPITABLE WATER INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 2 0 11 013212 CLOUD LIQUID WATER PATH INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 4 0 14 013230 CONVECTIVE PRECIPITATION KG/M**2 1 -1 14 013231 LARGE SCALE PRECIPITATION KG/M**2 1 -1 14 013240 AIR DENSITY KG/M**3 3 0 10 013241 CONVECTIVE AVAILABLE POTENTIAL ENERGY J/KG 1 0 17 014001 LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014002 LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014003 SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014004 SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014011 NET LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014012 NET LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014013 NET SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014014 NET SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014015 NET RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 -16384 15 J/M**2 -4 5 014016 NET RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 J/M**2 -4 5 014017 INSTANTANEOUS LONG-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014018 INSTANTANEOUS SHORT-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014019 SURFACE ALBEDO % 0 0 7 % 0 3 014020 GLOBAL SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014021 GLOBAL SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014022 DIFFUSE SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014023 DIFFUSE SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014024 DIRECT SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014025 DIRECT SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014026 ALBEDO AT THE TOP OF CLOUDS % 0 0 7 % 0 3 014027 ALBEDO % 0 0 7 % 0 3 014028 GLOBAL SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014029 DIFFUSE SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD J/M**2 -2 0 16 J/M**2 -2 5 014030 DIRECT SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014031 TOTAL SUNSHINE MINUTE 0 0 11 MINUTE 0 4 014032 TOTAL SUNSHINE HOUR 0 0 10 HOUR 0 4 014033 TOTAL SUNSHINE % 0 0 9 % 0 3 014034 SUNSHINE OVER PERIOD SPECIFIED MINUTE 0 0 11 MINUTE 0 4 014042 BI-DIRECTIONAL REFLECTANCE % 0 0 7 % 0 3 014045 CHANNEL RADIANCE (W/M**2)*(1/SR)*(1/CM) 0 0 11 WM-2SR-1CM-1 0 4 014046 SCALED IASI RADIANCE (W/M**2)*(1/SR)*(1/M) 0 -5000 16 (W/M**2)*(1/SR)*(1/M) 0 5 014047 SCALED MEAN AVHRR RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014048 SCALED STANDARD DEVIATION RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014050 EMISSIVITY (SEE NOTE 5) % 1 0 10 % 1 4 014051 DIRECT SOLAR RADIATION INTEGRATED OVER LAST HOUR J/M**2 -3 0 14 JM-2 -3 4 014055 SOLAR ACTIVITY INDEX NUMERIC 0 -32768 16 NUMERIC 0 5 014061 (VAL) INSTANTANEOUS LONG-WAVE RADIATION W/M**2 0 -512 10 W/M**2 0 4 014062 (VAL) INSTANTANEOUS SHORT-WAVE RADIATION W/M**2 0 -2048 12 W/M**2 0 4 015001 TOTAL OZONE DU 0 0 10 DU 0 4 015002 AIR MASS (SLANT PATH AT 22 KM) NUMERIC 2 0 10 NUMERIC 2 3 015003 MEASURED OZONE PARTIAL PRESSURE (SOUNDING) PA 4 0 9 NBAR 0 3 015004 OZONE SOUNDING CORRECTION FACTOR NUMERIC 3 0 11 NUMERIC 3 4 015005 OZONE P DU 0 0 10 DU 0 3 015008 SCALED MIXING RATIO NUMERIC 0 0 10 NUMERIC 0 4 015011 LOG 10 OF INTEGRATED ELECTRON DENSITY LOG (1/M2) 3 14000 13 LOG (M-2) 3 4 015012 TOTAL ELECTRON COUNT PER SQUARE METER 1/M**2 -16 0 6 1/M**2 -16 2 015015 MAXIMUM IMAGE SPECTRAL COMPONENT BEFORE NORMALIZATION NUMERIC 0 0 31 NUMERIC 0 10 015020 INTEGRATED 03 DENSITY KG/M**2 8 0 21 KG/M**2 8 7 015021 INTEGRATED MASS DENSITY KG/M**2 11 0 31 KG/M**2 11 10 015024 OPTICAL DEPTH NUMERIC 4 0 24 NUMERIC 4 8 015025 TYPE OF POLLUTANT CODE TABLE 15025 0 0 4 CODE TABLE 15025 0 2 015026 CONCENTRATION OF POLLUTANT MOLMOL-1 9 0 9 MOLMOL-1 9 3 015027 CONCENTRATION OF POLLUTANT KG/M3 9 0 10 KG/M3 9 4 015030 AEROSOL CONTAMINATION INDEX NUMERIC 2 -1000 12 NUMERIC 2 4 015031 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 10000 15 M 4 5 015032 ESTIMATED ERROR IN ATMOSPHERIC PATH DELAY M 4 0 10 M 4 4 015033 DIFFERENCE IN PATH DELAYS FOR LIMB VIEWS AT EXTREMES OF SCAN M 5 -10000 15 M 5 5 015034 ESTIMATED ERROR IN PATH DELAY DIFFERENCE M 5 0 14 M 5 5 015035 COMPONENT OF ZENITH PATH DELAY DUE TO WATER VAPOUR M 4 0 14 M 4 5 015036 ATMOSPHERIC REFRACTIVITY (SEE NOTE 5) N-UNITS 3 0 19 N-UNITS 3 6 015037 BENDING ANGLE RADIANS 8 -100000 23 RADIANS 8 7 015202 INTEGRATED ELECTRON DENSITY 1/M**2 3 13000 12 015231 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 0 15 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 19001 0 0 6 CODE TABLE 19001 0 2 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 M -2 4 019003 WIND SPEED THRESHOLD M/S 0 0 8 M/S 0 3 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 M -2 4 019005 DIRECTION OF MOTION OF FEATURE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 019006 SPEED OF MOTION OF FEATURE M/S 2 0 14 M/S 2 5 019007 EFFECTIVE RADIUS OF FEATURE M -3 0 12 M -3 4 019008 VERTICAL EXTENT OF CIRCULATION CODE TABLE 19008 0 0 3 CODE TABLE 19008 0 1 019009 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD (LA M -3 0 12 M -3 4 019010 METHOD FOR TRACKING THE CENTRE OF SYNOPTIC FEATURE CODE TABLE 19010 0 0 4 CODE TABLE 19010 0 2 019100 TIME INTERVAL TO CALCULATE THE MOVEMENT OF THE TROPICAL CYCLONE CODE TABLE 19100 0 0 4 CODE TABLE 19100 0 2 019101 ACCURACY OF THE POSITION OF THE CENTRE OF THE TROPICAL CYCLONE CODE TABLE 19101 0 0 4 CODE TABLE 19101 0 2 019102 SHAPE AND DEFINITION OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19102 0 0 3 CODE TABLE 19102 0 1 019103 DIAMETER OF MAJOR AXIS OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19103 0 0 4 CODE TABLE 19103 0 2 019104 CHANGE IN CHARACTER OF THE EYE DURING THE 30 MINUTES CODE TABLE 19104 0 0 4 CODE TABLE 19104 0 2 019105 DISTANCE BETWEEN THE END OF SPIRAL BAND AND THE CENTRE CODE TABLE 19105 0 0 4 CODE TABLE 19105 0 2 019106 IDENTIFICATION NUMBER OF TROPICAL CYCLONE NUMERIC 0 0 7 NUMERIC 0 3 019107 TIME INTERVAL OF THE TROPICAL CYCLONE ANALYSIS CODE TABLE 19107 0 0 4 CODE TABLE 19107 0 2 019108 ACCURACY OF GEOGRAPHICAL POSITION OF THE TROPICAL CYCLONE CODE TABLE 19108 0 0 3 CODE TABLE 19108 0 1 019109 MEAN DIAMETER OF THE OVERCAST CLOUD OF THE TROPICAL CYCLONE CODE TABLE 19109 0 0 4 CODE TABLE 19109 0 2 019110 APPARENT 24-HOUR CHANGE IN INTENSITY OF TROPICAL CYCLONE CODE TABLE 19110 0 0 4 CODE TABLE 19110 0 2 019111 CURRENT INTENSITY (CI) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019112 DATA TROPICAL (DT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019113 CLOUD PATTERN TYPE OF THE DT- NUMBER CODE TABLE 19113 0 0 4 CODE TABLE 19113 0 2 019114 MODEL EXPECTED TROPICAL (MET) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019115 TREND OF PAST 24-HOUR CHANGE (+: DEVELOPED, -: WEAKENED) NUMERIC 1 -30 6 NUMERIC 1 2 019116 PATTERN TROPICAL (PT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019117 CLOUD PICTURE TYPE OF THE PT- NUMBER CODE TABLE 19117 0 0 3 CODE TABLE 19117 0 1 019118 FINAL TROPICAL (T) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019119 TYPE OF THE FINAL T-NUMBER CODE TABLE 19119 0 0 3 CODE TABLE 19119 0 1 019150 TYPHOON INTERNATIONAL COMMON NUMBER (TYPHOON COMMITTEE) CCITTIA5 0 0 32 CHARACTER 0 4 020001 HORIZONTAL VISIBILITY M -1 0 13 M -1 4 020002 VERTICAL VISIBILITY M -1 0 7 M -1 3 020003 PRESENT WEATHER (SEE NOTE 1) CODE TABLE 20003 0 0 9 CODE TABLE 20003 0 3 020004 PAST WEATHER (1) (SEE NOTE 2) CODE TABLE 20004 0 0 5 CODE TABLE 20004 0 2 020005 PAST WEATHER (2) (SEE NOTE 2) CODE TABLE 20005 0 0 5 CODE TABLE 20005 0 2 020008 CLOUD DISTRIBUTION FOR AVIATION CODE TABLE 20008 0 0 5 CODE TABLE 20008 0 2 020009 GENERAL WEATHER INDICATOR (TAF/METAR) CODE TABLE 20009 0 0 4 CODE TABLE 20009 0 2 020010 CLOUD COVER (TOTAL) % 0 0 7 % 0 3 020011 CLOUD AMOUNT CODE TABLE 20011 0 0 4 CODE TABLE 20011 0 2 020012 CLOUD TYPE CODE TABLE 20012 0 0 6 CODE TABLE 20012 0 2 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 M -1 4 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 M -1 4 020015 PRESSURE AT BASE OF CLOUD PA -1 0 14 PA -1 5 020016 PRESSURE AT TOP OF CLOUD PA -1 0 14 PA -1 5 020017 CLOUD TOP DESCRIPTION CODE TABLE 20017 0 0 4 CODE TABLE 20017 0 2 020018 TENDENCY OF RUNWAY VISUAL RANGE CODE TABLE 20018 0 0 2 CODE TABLE 20018 0 1 020019 SIGNIFICANT PRESENT OR FORECAST WEATHER CCITTIA5 0 0 72 CHARACTER 0 9 020020 SIGNIFICANT RECENT WEATHER PHENOMENA CCITTIA5 0 0 32 CHARACTER 0 4 020021 TYPE OF PRECIPITATION FLAG TABLE 20021 0 0 30 FLAG TABLE 20021 0 10 020022 CHARACTER OF PRECIPITATION CODE TABLE 20022 0 0 4 CODE TABLE 20022 0 2 020023 OTHER WEATHER PHENOMENA FLAG TABLE 20023 0 0 18 FLAG TABLE 20023 0 6 020024 INTENSITY OF PHENOMENA CODE TABLE 20024 0 0 3 CODE TABLE 20024 0 1 020025 OBSCURATION FLAG TABLE 20025 0 0 21 FLAG TABLE 20025 0 7 020026 CHARACTER OF OBSCURATION CODE TABLE 20026 0 0 4 CODE TABLE 20026 0 2 020027 PHENOMENA OCCURRENCE FLAG TABLE 20027 0 0 9 FLAG TABLE 20027 0 3 020028 EXPECTED CHANGE IN INTENSITY CODE TABLE 20028 0 0 3 CODE TABLE 20028 0 1 020029 RAIN FLAG CODE TABLE 20029 0 0 2 CODE TABLE 20029 0 1 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 M 2 3 020032 RATE OF ICE ACCRETION CODE TABLE 20032 0 0 3 CODE TABLE 20032 0 1 020033 CAUSE OF ICE ACCRETION FLAG TABLE 20033 0 0 4 FLAG TABLE 20033 0 2 020034 SEA ICE CONCENTRATION CODE TABLE 20034 0 0 5 CODE TABLE 20034 0 2 020035 AMOUNT AND TYPE OF ICE CODE TABLE 20035 0 0 4 CODE TABLE 20035 0 2 020036 ICE SITUATION CODE TABLE 20036 0 0 5 CODE TABLE 20036 0 2 020037 ICE DEVELOPMENT CODE TABLE 20037 0 0 5 CODE TABLE 20037 0 2 020038 BEARING OF ICE EDGE (SEE NOTE 3) DEGREE TRUE 0 0 12 DEGREE TRUE 0 3 020039 ICE DISTANCE M -1 0 13 M -1 4 020040 EVOLUTION OF DRIFT OF SNOW CODE TABLE 20040 0 0 4 CODE TABLE 20040 0 2 020041 AIRFRAME ICING CODE TABLE 20041 0 0 4 CODE TABLE 20041 0 2 020042 AIRFRAME ICING PRESENT CODE TABLE 20042 0 0 2 CODE TABLE 20042 0 1 020043 PEAK LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020044 AVERAGE LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020045 SUPERCOOLED LARGE DROPLET (SLD) CONDITIONS CODE TABLE 20045 0 0 2 CODE TABLE 20045 0 2 020048 EVOLUTION OF FEATURE CODE TABLE 20048 0 0 4 CODE TABLE 20048 2 2 020050 CLOUD INDEX CODE TABLE 20050 0 0 8 CODE TABLE 20050 0 3 020051 AMOUNT OF LOW CLOUDS % 0 0 7 % 0 3 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 % 0 3 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 % 0 3 020054 TRUE DIRECTION FROM WHICH CLOUDS ARE MOVING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 020055 STATE OF SKY IN TROPICS CODE TABLE 20055 0 0 4 CODE TABLE 20055 0 2 020056 CLOUD PHASE CODE TABLE 20056 0 0 3 CODE TABLE 20056 0 1 020059 MINIMUM HORIZONTAL VISIBILITY M -1 0 9 M -1 3 020060 PREVAILING HORIZONTAL VISIBILITY M -1 0 10 M -1 4 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 M 0 4 020062 STATE OF THE GROUND (WITH OR WITHOUT SNOW) CODE TABLE 20062 0 0 5 CODE TABLE 20062 0 2 020063 SPECIAL PHENOMENA CODE TABLE 20063 0 0 10 CODE TABLE 20063 0 4 020065 SNOW COVER (SEE NOTE 4) % 0 0 7 % 0 3 020066 MAXIMUM DIAMETER OF HAILSTONES M 3 0 8 M 3 3 020067 DIAMETER OF DEPOSIT M 3 0 9 M 3 3 020070 MINIMUM NUMBER OF ATMOSPHERICS NUMERIC 0 0 7 NUMERIC 0 3 020071 ACCURACY OF FIX AND RATE OF ATMOSPHERICS CODE TABLE 20071 0 0 4 CODE TABLE 20071 0 2 020081 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020082 AMOUNT SEGMENT CLOUD FREE % 0 0 7 % 0 3 020083 AMOUNT OF SEGMENT COVERED BY SCENE % 0 0 7 % 0 3 020085 GENERAL CONDITION OF RUNWAY CODE TABLE 20085 0 0 4 CODE TABLE 20085 0 1 020086 RANWAY DEPOSITS CODE TABLE 20086 0 0 4 CODE TABLE 20086 0 1 020087 RUNWAY CONTAMINATION CODE TABLE 20087 0 0 4 CODE TABLE 20087 0 1 020088 DEPTH OF RANWAY DEPOSITS M 3 0 12 M 3 4 020089 RUNWAY FRICTION COEFICIENT CODE TABLE 20089 0 0 7 CODE TABLE 20089 0 2 020090 SPECIAL CLOUDS CODE TABLE 20090 0 0 4 CODE TABLE 20090 0 2 020091 VERTICAL VISIBILITY FEET -2 0 10 FEET -2 3 020092 HEIGHT OF BASE OF CLOUD FEET -2 0 10 FEET -2 3 020095 ICE PROBABILITY NUMERIC 3 0 10 NUMERIC 3 4 020096 ICE AGE ("A" PARAMETER) dB 2 -4096 13 dB 2 4 020101 LOCUST (ACRIDIAN) NAME CODE TABLE 20101 0 0 4 CODE TABLE 20101 0 2 020102 LOCUST (MATURITY) COLOR CODE TABLE 20102 0 0 4 CODE TABLE 20102 0 2 020103 STAGE OF DEVELOPMENT OF LOCUSTS CODE TABLE 20103 0 0 4 CODE TABLE 20103 0 2 020104 ORGANIZATION STATE OF SWARM OR BAND OF LOCUSTS CODE TABLE 20104 0 0 4 CODE TABLE 20104 0 2 020105 SIZE OF SWARM OR BAND OF LOCUSTS AND DURATION OF PASSAGE OF SWARMCODE TABLE 20105 0 0 4 CODE TABLE 20105 0 2 020106 LOCUST POPULATION DENSITY CODE TABLE 20106 0 0 4 CODE TABLE 20106 0 2 020107 DIRECTION OF MOVEMENTS OF LOCUST SWARM CODE TABLE 20107 0 0 4 CODE TABLE 20107 0 2 020108 EXTENT OF VEGETATION CODE TABLE 20108 0 0 4 CODE TABLE 20108 0 2 020192 SPECIAL PHENOMENA CODE TABLE 020192 0 0 14 020193 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020194 AMOUNT OF SEGMENT CLOUD FREE % 0 0 7 % 0 3 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 PA -1 5 020249 SEA-ICE FRACTION NUMERIC 2 0 7 NUMERIC 2 3 020250 CALCULATED SURFACE TYPE CODE TABLE 20250 0 0 5 020251 ICE AGE CODE TABLE 20251 0 0 3 020252 ICE EDGE CODE TABLE 20252 0 0 3 020253 SURFACE TYPE CODE TABLE 20253 0 0 3 020254 ICE CONCENTRATION % 0 0 7 021001 HORIZONTAL REFLECTIVITY dB 0 -64 7 dB 0 3 021002 VERTICAL REFLECTIVITY dB 0 -64 7 dB 0 3 021003 DIFFERENTIAL REFLECTIVITY dB 1 -5 7 dB 1 3 021005 LINEAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021006 CIRCULAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION M/S 0 -128 8 M/S 0 3 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION M/S 0 -128 8 M/S 0 3 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION M/S 0 -128 8 M/S 0 3 021014 DOPPLER MEAN VELOCITY (RADIAL) M/S 1 -4096 13 M/S 1 4 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 0 8 M/S 1 3 021021 ECHO TOPS M -3 0 4 M -3 2 021030 SIGNAL TO NOISE RATIO dB 0 -32 8 dB 0 3 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT KG/M**2 0 0 7 KG/M**2 0 3 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 M/S 7 4 021041 BRIGHT-BAND HEIGHT M -2 0 8 M -2 3 021051 SIGNAL POWER ABOVE 1 MW dB 0 -256 8 dB 0 3 021062 BACKSCATTER dB 2 -5000 13 dB 2 4 021063 RADIOMETRIC RESOLUTION (NOISE VALUE) % 1 0 10 % 1 4 021064 CLUTTER NOISE ESTIMATE NUMERIC 0 0 8 NUMERIC 0 3 021065 MISSING PACKET COUNTER NUMERIC 0 -127 8 NUMERIC 0 3 021066 WAVE SCATTEROMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21066 0 0 12 FLAG TABLE 21066 0 4 021067 WIND PRODUCT CONFIDENCE DATA FLAG TABLE 21067 0 0 13 FLAG TABLE 21067 0 5 021068 RADAR ALTIMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21068 0 0 8 FLAG TABLE 21068 0 3 021069 SST PRODUCT CONFIDENCE DATA FLAG TABLE 21069 0 0 10 FLAG TABLE 21069 0 4 021070 SST PRODUCT CONFIDENCE DATA (SADIST-2) FLAG TABLE 21070 0 0 23 FLAG TABLE 21070 0 6 021071 PEAKINESS NUMERIC 0 0 16 NUMERIC 0 5 021072 SATELLITE ALTIMETER CALIBRATION STATUS FLAG TABLE 21072 0 0 4 FLAG TABLE 21072 0 2 021073 SATELLLITE ALTIMETER INSTRUMENT MODE FLAG TABLE 21073 0 0 9 FLAG TABLE 21073 0 3 021075 IMAGE SPECTRUM INTENSITY NUMERIC 0 0 8 NUMERIC 0 3 021076 REPRESENTATION OF INTENSITIES CODE TABLE 21076 0 0 3 CODE TABLE 21076 0 1 021077 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 M 3 5 021078 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 M 3 3 021079 ALTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 M 3 4 021080 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 M 3 4 021081 OPEN LOOP CORRECTION (HEIGHT-TIME LOOP) M 3 0 10 M 3 4 021082 OPEN LOOP CORRECTION (AUTO GAIN CONTROL) dB 3 -3000 14 dB 3 5 021083 WARM TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021084 COLD TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021085 ATSR SEA SURFACE TEMPERATURE ACROSS- TRACK BAND NUMBER NUMERIC 0 0 4 NUMERIC 0 2 021086 NUMBER OF PIXELS IN NADIR ONLY, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021087 NUMBER OF PIXELS IN DUAL VIEW, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021088 WET BACKSCATTER dB 2 -5000 13 dB 2 4 021091 RADAR SIGNAL DOPPLER SPECTRUM 0TH MOMENT dB 0 -100 8 dB 0 3 021092 RASS SIGNAL DOPPLER SPECTRUM 0TH MOMENT, REFERRING TO RASS SIGNA dB 0 -100 8 dB 0 3 021093 Ku BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021094 S BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021101 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 NUMERIC 0 1 021102 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 NUMERIC 0 1 021103 TOTAL NUMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 NUMERIC 0 2 021104 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 3 -30000 15 NUMERIC 3 5 021105 NORMALIZED RADAR CROSS-SECTION dB 2 -10000 14 dB 2 5 021106 KP VARIANCE COEFFICIENT (ALPHA) NUMERIC 3 0 14 NUMERIC 3 5 021107 KP VARIANCE COEFFICIENT (BETA) NUMERIC 8 0 16 NUMERIC 8 5 021109 SEAWINDS WIND VECTOR CELL QUALITY FLAG TABLE 21109 0 0 17 FLAG TABLE 21109 0 6 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021114 KP VARIANCE COEFFICENT (GAMMA) dB 3 -140000 18 dB 3 6 021115 SEAWINDS SIGMA-0 QUALITY FLAG TABLE 21115 0 0 17 FLAG TABLE 21115 0 6 021116 SEAWINDS SIGMA-0 MODE FLAG TABLE 21116 0 0 17 FLAG TABLE 21116 0 6 021117 SIGMA-0 VARIANCE QUALITY CONTROL NUMERIC 2 0 16 NUMERIC 2 5 021118 ATTENUATION CORRECTION ON SIGMA-0 dB 2 -10000 14 dB 2 5 021119 WIND SCATTEROMETER GEOPHYSICAL MODEL FUNCTION CODE TABLE 21119 0 0 6 CODE TABLE 21119 0 2 021120 PROBABILITY OF RAIN NUMERIC 3 0 10 NUMERIC 3 4 021121 SEAWINDS NOF* RAIN INDEX NUMERIC 0 0 8 NUMERIC 0 3 021122 ATTENUATION CORRECTION OF SIGMA-0 (FROM TB) dB 2 -10000 14 dB 2 5 021123 SEAWINDS NORMALIZED RADAR CROSS SECTION dB 2 -30000 15 dB 2 5 021128 NUMBER OF VALID POINTS PER SECOND USED TO DERIVE PREVIOUS PARAME NUMERIC 0 0 8 NUMERIC 0 3 021130 SPECTRUM TOTAL ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021131 SPECTRUM MAX ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021132 DIRECTION OF SPECTRUM MAX ON HIGHER RESOLUTION GRID DEGREE 3 0 19 DEGREE 3 6 021133 WAVE-LENGTH OF SPECTRUM MAX ON HIGHER RESOLUTION GRID M 3 0 29 M 3 9 021134 RANGE RESOLUTION OF CRESS COVARIANCE SPECTRUM RAD/M 3 0 19 RAD/M 3 6 021135 REAL PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021136 IMAGINARY PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021137 KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021138 STD KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021139 KU BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -2048 12 dB 2 4 021140 S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021141 STD S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021142 S BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -1024 11 dB 2 4 021143 KU BAND RAIN ATTENUATION dB 2 -1073741824 31 dB 2 10 021144 ALTIMETER RAIN FLAG FLAG TABLE 21144 0 0 2 FLAG TABLE 21144 0 1 021145 KU BAND AUTOMATIC GAIN CONTROL dB 2 0 13 021146 RMS KU BAND AUTOMATIC GAIN CONTROL dB 2 0 8 021147 NUMBER OF VALID POINTS FOR KU BAND AUTOMATIC GAIN CONTROL NUMERIC 0 0 5 021150 BEAM COLLOCATION CODE TABLE 21150 0 0 2 CODE TABLE 21150 0 1 021151 ESTIMATED ERROR IN SIGMA0 AT 40DEG INCIDENCE ANGLE dB 2 0 9 dB 2 3 021152 SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -80 7 dB/DEG 2 3 021153 ESTIMATED ERROR IN SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -40 6 dB/DEG 2 3 021154 SOIL MOISTURE SENSITIVITY dB 2 0 12 dB 2 4 021155 WIND VECTOR CELL QUALITY FLAG TABLE 21155 0 0 24 FLAG TABLE 21155 0 8 021156 BACKSCATTER DISTANCE NUMERIC 1 -4096 13 NUMERIC 1 4 021157 LOSS PER UNIT LENGTH OF ATMOSPHERE USED dB/M 10 0 22 dB/M 10 7 021158 ASCAT kp ESTIMATE QUALITY CODE TABLE 21158 0 0 2 CODE TABLE 21158 0 1 021159 ASCAT SIGMA-0 USABILITY CODE TABLE 21159 0 0 2 CODE TABLE 21159 0 1 021160 ASCAT USE OF SYNTHETIC DATA NUMERIC 3 0 10 NUMERIC 3 4 021161 ASCAT SYNTHETIC DATA QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021162 ASCAT SATELLITE ORBIT AND ATTITUDE QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021163 ASCAT SOLAR ARRAY REFLECTION CONTAMINATION NUMERIC 3 0 10 NUMERIC 3 4 021164 ASCAT TELEMETRY PRESENCE AND QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021165 ASCAT EXTRAPOLATED REFERENCE FUNCTION PRESENCE NUMERIC 3 0 10 NUMERIC 3 4 021166 ASCAT LAND FRACTION NUMERIC 3 0 10 NUMERIC 3 4 021169 ICE PRESENCE INDICATOR CODE TABLE 0 0 2 021170 C BAND CORRECTED OCEAN BACKSCATTER COEFICIENT dB 2 -32768 16 021171 RMS C BAND CORRECTED OCEAN BACKSCATTER COEFICIENT dB 2 -32768 16 021172 C BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -2048 12 021173 C BAND AUTOMATIC GAIN CONTROL dB 2 0 13 021174 RMS C BAND AUTOMATIC GAIN CONTROL dB 2 0 9 021175 NUMBER OF VALID POINTS FOR C BAND AUTOMATIC GAIN CONTROL NUMERIC 0 0 10 021192 RADAR BACK SCATTER dB 2 -5000 13 021193 NOISE FIGURE % 0 0 7 021194 BACKGROUND NOISE LEVEL NUMERIC 0 0 8 021195 MISSING PACKET COUNTER NUMERIC 0 -127 8 021196 UWA PRODUCT CONFIDENCE FLAG TABLE 21196 0 0 12 021197 UWI PRODUCT CONFIDENCE FLAG TABLE 21197 0 0 12 021198 URA PRODUCT CONFIDENCE FLAG TABLE 21198 0 0 8 021199 UAT PRODUCT CONFIDENCE FLAG TABLE 21199 0 0 7 021200 MWI PRODUCT CONFIDENCE FLAG TABLE 21200 0 0 15 021201 PEAKINESS NUMERIC 0 0 16 021202 ALTIMETER CALIBRATION STATUS FLAG TABLE 21202 0 0 4 021203 ALTIMETER INSTRUMENT MODE FLAG TABLE 21203 0 0 9 021204 MULTI/SINGLE VIEW DIFFERENCE K 2 -512 10 021205 SPECTRAL INTENSITY NUMERIC 0 0 8 021206 REPRESENTATION OF INTENSITY CODE TABLE 21206 0 0 3 021207 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 021208 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 021209 LTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 021210 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 021211 OPEN LOOP CORRECTION (HTL) M 3 0 10 021212 OPEN LOOP CORRECTION (AGC) dB 3 -3000 14 021213 AMBIGUITY REMOVAL CONFIDENCE % 0 0 7 021214 UAT QUALITY SUMMARY CODE TABLE 21214 0 0 3 021215 UAT ACROSS-TRACK BAND NO. NUMERIC 0 0 4 021222 DOPPLER SPECTRUM 0 TH MOMENT (AMPLITUDE) dB 0 0 7 021225 PRESCAT PRODUCT CONFIDENCE FLAG TABLE 21225 0 0 6 021226 BACKSCATER DISTANCE NUMERIC 1 -4096 13 021227 GLARE ANGLE CODE TABLE 21227 0 6 6 021230 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 021231 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 021232 TOTAL NMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 021233 NUMBER OF SIGMA-0 USABLE FOR WIND NUMERIC 0 0 5 021234 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 1 -10000 14 021235 WIND VECTOR CELL QUALITY FLAG FLAG TABLE 21235 0 0 3 021236 NUMBER OF FORE-BEAM SIGMA-0 NUMERIC 1 0 6 021237 NUMBER OF MID-BEAM V-POL SIGMA-0 NUMERIC 1 0 6 021238 NUMBER OF MID-BEAM H-POL SIGMA-0 NUMERIC 1 0 6 021239 NUMBER OF AFT-BEAM SIGMA-0 NUMERIC 1 0 6 021240 NORMALIZED RADAR CROSS SECTION NUMERIC 2 -10000 14 021241 Kp VARIANCE COEFFICIENT (ALPHA) NUMERIC 5 0 14 021242 Kp VARIANCE COEFFICIENT (BETHA) NUMERIC 6 0 16 021243 Kp VARIANCE COEFFICIENT (GAMMA) NUMERIC 6 0 16 021244 SIGMA-0 QUALITY FLAG FLAG TABLE 21244 0 0 15 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022005 DIRECTION OF SEA SURFACE CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022011 PERIOD OF WAVES S 0 0 6 S 0 2 022012 PERIOD OF WIND WAVES S 0 0 6 S 0 2 022013 PERIOD OF SWELL WAVES S 0 0 6 S 0 2 022021 HEIGHT OF WAVES M 1 0 10 M 1 4 022022 HEIGHT OF WIND WAVES M 1 0 10 M 1 4 022023 HEIGHT OF SWELL WAVES M 1 0 10 M 1 4 022025 STANDARD DEVIATION WAVE HEIGHT M 2 0 10 M 2 4 022026 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT M 2 0 10 M 2 4 022031 SPEED OF CURRENT M/S 2 0 13 M/S 2 4 022032 SPEED OF SEA SURFACE CURRENT M/S 2 0 13 M/S 2 4 022035 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 2 0 14 M 2 4 022036 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 2 0 14 M 2 4 022037 TIDAL ELEVATION WITH RESPECT TO NATIONAL LAND DATUM M 3 -10000 15 M 3 5 022038 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 3 -10000 15 M 3 5 022039 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 12 M 3 4 022040 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 14 M 3 5 022041 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 1 0 12 K 1 4 022042 SEA/WATER TEMPERATURE K 1 0 12 K 1 4 022043 SEA/WATER TEMPERATURE K 2 0 15 K 2 5 022044 SOUND VELOCITY M/S 1 0 14 M/S 1 5 022045 SEA/WATER TEMPERATURE K 3 0 19 K 3 6 022049 SEA SURFACE TEMPERATURE K 2 0 15 K 2 5 022050 STANDARD DEVIATION SEA-SURFACE TEMPERATURE K 2 0 8 K 2 3 022055 FLOAT CYCLE NUMBER NUMERIC 0 0 10 NUMERIC 0 3 022056 DIRECTION OF PROFILE CODE TABLE 22056 0 0 2 CODE TABLE 22056 0 1 022059 SEA SURFACE SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022060 LAGRANGIAN DRIFTER DROGUE STATUS CODE TABLE 22060 0 0 3 CODE TABLE 22060 0 1 022061 STATE OF THE SEA CODE TABLE 22061 0 0 4 CODE TABLE 22061 0 2 022062 SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022063 TOTAL WATER DEPTH M 0 0 14 M 0 5 022064 SALINITY PART PER THOUSAND 3 0 17 PART PER THOUSAND 3 6 022065 WATER PRESSURE PA -3 0 17 PA -3 6 022066 WATER CONDUCTIVITY S M-1 6 0 26 S M-1 6 8 022067 INSTRUMENT TYPE FOR WATER TEMPERATURE PROFILE MEASUREMENT CODE TABLE 22067 0 0 10 CODE TABLE 22067 0 4 022068 WATER TEMPERATURE PROFILE RECORDER TYPES CODE TABLE 22068 0 0 7 CODE TABLE 22068 0 3 022069 SPECTRAL WAVE DENSITY M2HZ-1 3 0 22 M2HZ-1 3 7 022070 SIGNIFICANT WAVE HEIGHT M 2 0 13 M 2 4 022071 SPECTRAL PEAK WAVE PERIOD S 1 0 9 S 1 3 022072 SPECTRAL PEAK WAVE LENGTH M 0 0 13 M 0 4 022073 MAXIMUM WAVE HEIGHT M 2 0 13 M 2 4 022074 AVERAGE WAVE PERIOD S 1 0 9 S 1 3 022075 AVERAGE WAVE LENGTH M 0 0 13 M 0 4 022076 DIRECTION FROM WHICH DOMINANT WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022077 DIRECTIONAL SPREAD OF DOMINANT WAVE DEGREE 0 0 9 DEGREE 0 3 022078 DURATION OF WAVE RECORD S 0 0 12 S 0 4 022079 LENGTH OF WAVE RECORD M 0 0 16 M 0 5 022080 WAVEBAND CENTRAL FREQUENCY Hz 3 0 10 Hz 3 4 022081 WAVEBAND CENTRAL WAVE NUMBER 1/M 5 0 13 1/M 5 4 022082 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE DENSITY M**2S 2 0 20 M**2S 2 7 022083 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE NUMBER M**3 2 0 20 M**3 2 7 022084 BAND CONTAINING MAXIMUM NON- DIRECTIONAL SPECTRAL WAVE DENSITY NUMERIC 0 0 7 NUMERIC 0 3 022085 SPECTRAL WAVE DENSITY RATIO NUMERIC 0 0 7 NUMERIC 0 3 022086 MEAN DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022087 PRINCIPAL DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022088 FIRST NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022089 SECOND NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022090 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S 2 0 20 M**2S 2 7 022091 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**3 2 0 20 M**3 2 7 022092 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S/RAD 2 0 20 M**2S/RAD 2 7 022093 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**4 2 0 20 M**4 2 7 022094 TOTAL NUMBER OF WAVE BANDS NUMERIC 0 0 7 NUMERIC 0 3 022095 DIRECTIONAL SPREAD OF INDIVIDUAL WAVES DEGREE 0 0 8 DEGREE 0 3 022096 SPECTRAL BAND WIDTH 1/S 3 0 4 1/S 3 2 022097 MEAN WAVELENGTH > 731 M OF IMAGE SPECTRUM AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022098 WAVELENGTH SPREAD (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022099 MEAN DIRECTION AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022100 DIRECTION SPREAD AT LOW WAVE NUMBERS(WAVELENGTH > 731 M) DEGREE 0 0 9 DEGREE 0 3 022101 TOTAL ENERGY (WAVELENGTH > 731M) AT LOW WAVE NUMBERS NUMERIC 0 0 31 NUMERIC 0 10 022120 TIDE STATION AUTOMATED WATER LEVEL CHECK CODE TABLE 22120 0 0 5 CODE TABLE 22120 0 2 022121 TIDE STATION MANUAL WATER LEVEL CHECK CODE TABLE 22121 0 0 5 CODE TABLE 22121 0 2 022122 TIDE STATION AUTOMATED METEOROLOGICAL DATA CHECK CODE TABLE 22122 0 0 5 CODE TABLE 22122 0 2 022123 TIDE STATION MANUAL METEOROLOGICAL DATA CHECK CODE TABLE 22123 0 0 5 CODE TABLE 22123 0 2 022141 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 2 0 15 K 2 5 022150 NUMBER OF 18 HZ VALID POINTS FOR KU BAND NUMERIC 0 0 10 NUMERIC 0 4 022151 KU BAND OCEAN RANGE M 3 0 31 M 3 10 022152 STD OF 18 HZ KU BAND OCEAN RANGE M 3 0 16 M 3 5 022153 NUMBER OF 18 HZ VALID POINTS FOR S BAND NUMERIC 0 0 10 NUMERIC 0 4 022154 S BAND OCEAN RANGE M 3 0 31 M 3 10 022155 STD OF 18 HZ S BAND OCEAN RANGE M 3 0 16 M 3 5 022156 KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022157 STD 18HZ KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022158 S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022159 STD 18HZ S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022160 NORMALIZED INVERSE WAVE AGE NUMERIC 6 0 21 NUMERIC 6 7 022161 WAVE SPECTRA M**4 4 0 27 M**4 4 9 022162 RMS OF 20Hz KU BAND OCEAN RANGE M 3 0 16 022163 NUMBER OF 20Hz VALID POINTS FOR KU BAND NUMERIC 0 0 10 022164 RMS 20Hz KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022165 NUMBER OF 20Hz VALID POINTS FOR KU BAND SIGNIFICANT WAVE HEIGHT NUMERIC 0 0 10 022166 KU BAND NET INSTRUMENTAL CORRECTION FOR SIGNIFICANT WAVE HEIGHT M 3 -1000 11 022167 NUMBER OF VALID POINTS FOR KU BAND BACKSCATTER NUMERIC 0 0 10 022168 C BAND OCEAN RANGE M 3 0 31 022169 RMS OF C BAND OCEAN RANGE M 3 0 16 022170 NUMBER OF 20Hz VALID POINTS FOR C BAND NUMERIC 0 0 10 022171 C BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022172 RMS 20Hz C BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022173 NUMBER OF 20Hz VALID POINTS FOR C BAND NUMERIC 0 0 10 022174 C BAND NET INSTRUMENTAL CORRECTION FOR SIGNIFICANT WAVE HEIGHT M 3 -1000 11 022175 NUMBER OF VALID POINTS FOR C BAND BACKSCATTER NUMERIC 0 0 10 022186 DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 022187 DIRECTIONAL SPREAD OF WAVES DEGREE 0 0 9 022191 SPECTRAL DENSITY M**2*S/RAD 2 0 20 022192 SPECTRAL PERIOD S 2 0 13 022193 MEAN WAVENUMBER 1/M 5 0 15 022194 PEAK WAVENUMBER 1/M 5 0 15 022195 MEAN WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022196 PEAK WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022197 DIRECTION SPREAD DEGREE 1 0 13 022198 VARIANCE SPECTRAL DENSITY M**2*S/RAD 4 0 18 022199 CORRELATION COEFF OF SIMULATED FG AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022200 CORRELATION COEFF OF SIMULATED BF AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022201 CORRELATION COEFF OF OCEAN WAVE FG AND EXTRACTED WAVE SPECTRUM NUMERIC 4 -10000 15 022202 ERROR BETWEEN FIRST GUESS AND OBSERVED SAR NUMERIC 5 0 21 022203 ERROR BETWEEN SIMULATED AND OBSERVED SAR NUMERIC 5 0 21 022204 MEAN PERIOD OF WAVES SECOND 2 0 13 022205 SPECTRAL DENSITY M**2*S/RAD 4 0 25 022206 PEAK PERIOD OF WAVES SECOND 2 0 13 022207 MEAN WAVE PERIOD S 1 0 10 022208 PEAK PERIOD OF 1D SPECTRA S 1 0 10 022209 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 13 022210 MEAN SQUARE SLOPE OF WAVES NUMERIC 4 -10000 14 022211 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 17 022243 STANDARD DEVIATION SIGNIFICANT WAVE HEIGHT M 2 0 10 023001 ACCIDENT EARLY NOTIFICATION ARTICLE APPLICABLE CODE TABLE 23001 0 0 3 CODE TABLE 23001 0 1 023002 ACTIVITY OR FACILITY INVOLVED IN INCIDENT CODE TABLE 23002 0 0 5 CODE TABLE 23002 0 2 023003 TYPE OF RELEASE CODE TABLE 23003 0 0 3 CODE TABLE 23003 0 1 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 23004 0 0 3 CODE TABLE 23004 0 1 023005 CAUSE OF INCIDENT CODE TABLE 23005 0 0 2 CODE TABLE 23005 0 1 023006 INCIDENT SITUATION CODE TABLE 23006 0 0 3 CODE TABLE 23006 0 1 023007 CHARACTERISTICS OF RELEASE CODE TABLE 23007 0 0 3 CODE TABLE 23007 0 1 023008 STATE OF CURRENT RELEASE CODE TABLE 23008 0 0 2 CODE TABLE 23008 0 1 023009 STATE OF EXPECTED RELEASE CODE TABLE 23009 0 0 2 CODE TABLE 23009 0 1 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 23016 0 0 2 CODE TABLE 23016 0 1 023017 FLOW DISCHARGE OF MAJOR RECIPIENT M**3/S 6 0 20 M**3/S 6 7 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 23018 0 0 3 CODE TABLE 23018 0 1 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 M 0 6 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 M 0 6 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 M 0 8 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 M/S 1 4 023024 MAIN TRANSPORT SPEED IN WATER M/S 2 0 13 M/S 2 4 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 M/S 2 4 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 23031 0 0 2 CODE TABLE 23031 0 1 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 23032 0 0 2 CODE TABLE 23032 0 1 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 Bq -11 9 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 Bq -11 9 024003 COMPOSITION OF RELEASE CODE TABLE 24003 0 0 5 CODE TABLE 24003 0 2 024004 ELEMENT NAME CCITTIA5 0 0 16 CHARACTER 0 2 024005 ISOTOPE MASS NUMERIC 0 0 9 NUMERIC 0 3 024011 DOSE mSv 2 0 32 mSv 2 10 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME OF ARRIVAL) mSv 2 0 32 mSv 2 10 024013 GAMMA DOSE IN AIR ALONG THE MAIN TRANSPORT PATH (DEFINED LOCATIO mSv 2 0 32 mSv 2 10 024021 AIR CONCENTRATION (OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA) Bq/M**3 2 0 32 Bq/M**3 2 10 024022 CONCENTRATION IN PRECIPITATION (OF NAMES ISOTOPE TYPE) Bq/L 2 0 32 BQ L-1 2 10 024023 PULSE RATE OF BETA RADIATION 1/S 1 0 14 1/S 1 4 024024 PULSE RATE OF GAMMA RADIATION 1/S 1 0 14 1/S 1 4 025001 RANGE-GATE LENGTH M -1 0 6 M -1 2 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 NUMERIC 0 2 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 NUMERIC 0 3 025004 ECHO PROCESSING CODE TABLE 25004 0 0 2 CODE TABLE 25004 0 1 025005 ECHO INTEGRATION CODE TABLE 25005 0 0 2 CODE TABLE 25005 0 1 025006 Z TO R CONVERSION CODE TABLE 25006 0 0 3 CODE TABLE 25006 0 1 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 NUMERIC 0 4 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 NUMERIC 2 3 025009 CALIBRATION METHOD FLAG TABLE 25009 0 0 4 FLAG TABLE 25009 0 2 025010 CLUTTER TREATMENT CODE TABLE 25010 0 0 4 CODE TABLE 25010 0 2 025011 GROUND OCCULTATION CORRECTION (SCREENING) CODE TABLE 25011 0 0 2 CODE TABLE 25011 0 1 025012 RANGE ATTENUATION CORRECTION CODE TABLE 25012 0 0 2 CODE TABLE 25012 0 1 025013 BRIGHT-BAND CORRECTION FLAG TABLE 25013 0 0 2 FLAG TABLE 25013 0 1 025014 AZIMUTH CLUTTER CUT-OFF (SEE NOTE 1) NUMERIC 0 0 12 NUMERIC 0 4 025015 RADOME ATTENUATION CORRECTION FLAG TABLE 25015 0 0 2 FLAG TABLE 25015 0 1 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 dB/M 5 2 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 25017 0 0 2 FLAG TABLE 25017 0 1 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 NUMERIC 7 2 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 NUMERIC 2 3 025020 MEAN SPEED ESTIMATION CODE TABLE 25020 0 0 2 CODE TABLE 25020 0 1 025021 WIND COMPUTATION ENHANCEMENT FLAG TABLE 25021 0 0 8 FLAG TABLE 25021 0 3 025025 BATTERY VOLTAGE V 1 0 9 V 1 3 025026 BATTERY VOLTAGE (LARGE RANGE) V 1 0 12 V 1 4 025028 OPERATOR OR MANUFACTURER DEFINED PARAMETER NUMERIC 1 -16384 15 NUMERIC 1 5 025029 CALIBRATION METHOD FLAG TABLE 25029 0 0 6 FLAG TABLE 25029 0 2 025030 RUNNING MEAN SEA-SURFACE TEMPERATURE USAGE CODE TABLE 25030 0 0 2 CODE TABLE 25030 0 1 025032 WIND PROFILER MODE INFORMATION CODE TABLE 25032 0 0 2 CODE TABLE 25032 0 1 025033 WIND PROFILER SUBMODE INFORMATION* CODE TABLE 25033 0 0 2 CODE TABLE 25033 0 1 025034 WIND PROFILER QUALITY CONTROL TEST RESULTS* FLAG TABLE 25034 0 0 4 FLAG TABLE 25034 0 2 025036 ATMOSPHERICS LOCATION METHOD CODE TABLE 25036 0 0 4 CODE TABLE 25036 0 2 025040 CO2 WIND PRODUCT DERIVATION CODE TABLE 25040 0 0 4 CODE TABLE 25040 0 2 025041 MOVING PLATFORM DIRECTION REPORTING METHOD CODE TABLE 25041 0 0 2 CODE TABLE 25041 0 1 025042 MOVING PLATFORM SPEED REPORTING METHOD CODE TABLE 25042 0 0 2 CODE TABLE 25042 0 1 025043 WAVE SAMPLING INTERVAL (TIME) S 4 0 15 S 4 5 025044 WAVE SAMPLING INTERVAL (SPACE) M 2 0 14 M 2 5 025045 HIRS CHANNEL COMBINATION FLAG TABLE 25045 0 0 21 FLAG TABLE 25045 0 7 025046 MSU CHANNEL COMBINATION FLAG TABLE 25046 0 0 5 FLAG TABLE 25046 0 2 025047 SSU CHANNEL COMBINATION FLAG TABLE 25047 0 0 4 FLAG TABLE 25047 0 2 025048 AMSU-A CHANNEL COMBINATION FLAG TABLE 25048 0 0 16 FLAG TABLE 25048 0 6 025049 AMSU-B CHANNEL COMBINATION FLAG TABLE 25049 0 0 6 FLAG TABLE 25049 0 2 025050 PRINCIPAL COMPONENT SCORE NUMERIC 4 -131072 18 025051 AVHRR CHANNEL COMBINATION FLAG TABLE 25051 0 0 7 FLAG TABLE 25051 0 3 025052 LOG-10 OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA NUMERIC 4 0 15 NUMERIC 4 5 025053 OBSERVATION QUALITY FLAG TABLE 25053 0 0 12 FLAG TABLE 25053 0 4 025054 SSMIS SUBFRAME ID NEMBER NUMERIC 0 0 5 NUMERIC 0 2 025055 MULTIPLEXER HOUSEKEEPING K 2 0 16 K 2 5 025060 SOFTWARE IDENTIFICATION (SEE NOTE 2) NUMERIC 0 0 14 NUMERIC 0 5 025061 SOFTWARE IDENTIFICATION AND VERSION NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 025062 DATABASE IDENTIFICATION NUMERIC 0 0 14 NUMERIC 0 5 025065 ORIENTATION CORRECTION (AZIMUTH) DEGREE 2 -1000 11 DEGREE 2 4 025066 ORIENTATION CORRECTION (ELEVATION) DEGREE 2 -1000 11 DEGREE 2 4 025067 RADIOSONDE RELEASE POINT PRESSURE CORRECTION PA 0 -8000 14 PA 0 4 025068 NUMBER OF ARCHIVE RECOMPUTES NUMERIC 0 0 7 NUMERIC 0 3 025069 FLIGHT LEVEL PRESSURE CORRECTIONS FLAG TABLE 25069 0 0 8 FLAG TABLE 25069 0 3 025070 MAJOR FRAME COUNT NUMERIC 0 0 4 NUMERIC 0 2 025071 FRAME COUNT NUMERIC 0 0 5 NUMERIC 0 2 025075 SATELLITE ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 NUMERIC 0 2 025076 LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER) FOR ATOVS LOG (1/M) 8 0 30 LOG (1/M) 8 10 025077 BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS NUMERIC 5 -100000 18 NUMERIC 5 7 025078 BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS NUMERIC 5 0 17 NUMERIC 5 6 025079 ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS W/M**2 4 0 24 W/M**2 4 8 025080 ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS M 10 0 14 M 10 5 025081 INCIDENCE ANGLE DEGREE 3 0 17 DEGREE 3 6 025082 AZIMUTH ANGLE DEGREE 3 0 19 DEGREE 3 6 025083 FARADEY ROTATIONAL ANGLE DEGREE 3 0 19 DEGREE 3 6 025084 GEOMETRIC ROTATIONAL ANGLE DEGREE 5 0 26 DEGREE 5 8 025085 FRACTION OF CLEAR PIXELS IN HIRS FOV NUMERIC 0 0 7 NUMERIC 0 3 025086 DEPTH CORRECTION INDICATOR CODE TABLE 25086 0 0 2 CODE TABLE 25086 0 1 025090 ORBIT STATE FLAG CODE TABLE 25090 0 0 4 CODE TABLE 25090 0 2 025091 STRUCTURE CONSTANT OF THE REFRACTION INDEX (CN2) dB 3 -18192 13 dB 3 5 025092 ACOUSTIC PROPAGATION VELOCITY M/S 2 28000 14 M/S 2 5 025093 RASS COMPUTATION CORRECTION FLAG TABLE 25093 0 0 8 FLAG TABLE 25093 0 3 025095 ALTIMETER STATE FLAG FLAG TABLE 25095 0 0 2 FLAG TABLE 25095 0 1 025096 RADIOMETER STATE FLAG FLAG TABLE 25096 0 0 5 FLAG TABLE 25096 0 2 025097 THREE DIMENSIONAL ERROR ESTIMATE OF THE NAVIGATOR ORBIT CODE TABLE 25097 0 0 4 CODE TABLE 25097 0 2 025098 ALTIMETER DATA QUALITY FLAG FLAG TABLE 25098 0 0 9 FLAG TABLE 25098 0 3 025099 ALTIMETER CORRECTION QUALITY FLAG TABLE 25099 0 0 9 FLAG TABLE 25099 0 3 025100 XBT/XCTD FALL RATE EQUATION COEFFICIENT A NUMERIC 5 0 20 NUMERIC 5 6 025101 XBT/XCTD FALL RATE EQUATION COEFFICIENT B NUMERIC 5 -500000 21 NUMERIC 5 6 025102 NUMBER OF MISSING LINES EXCLUDING DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025103 NUMBER OF DIRECTIONAL BINS NUMERIC 0 0 8 NUMERIC 0 3 025104 NUMBER OF WAVE-LENGTH BINS NUMERIC 0 0 8 NUMERIC 0 3 025105 FIRST DIRECTIONAL BIN DEGREES 3 0 19 025106 DIRECTIONAL BIN STEP DEGREES 3 0 19 025107 FIRST WAVE-LENGTH BIN M 3 0 29 M 3 9 025108 LAST WAVE-LENGTH BIN M 3 0 29 M 3 9 025110 IMAGE PROCESSING SUMMARY FLAG TABLE 25110 0 0 10 025111 NUMBER OF INPUT DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025120 RA2-L2-PROCESSING FLAG CODE TABLE 25120 0 0 2 CODE TABLE 25120 0 1 025121 RA2-L2-PROCESSING QUALITY % 0 0 7 % 0 3 025122 HARDWARE CONFIGURATION FOR RF CODE TABLE 25122 0 0 2 CODE TABLE 25122 0 1 025123 HARDWARE CONFIGURATION FOR HPA CODE TABLE 25123 0 0 2 CODE TABLE 25123 0 1 025124 MWR L2 PROCESSING FLAG CODE TABLE 25124 0 0 2 CODE TABLE 25124 0 1 025125 MWR L2-PROCESSING QUALITY % 0 0 7 % 0 3 025126 MODEL DRY TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025127 INVERTED BAROMETER CORRECTION M 3 -32768 16 M 3 5 025128 MODEL WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025129 MWR DERIVED WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025130 RA2 IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025131 IONOSPHERIC CORRECTION FROM DORIS ON KU BAND M 3 -32768 16 M 3 5 025132 IONOSPHERIC CORRECTION FROM MODEL ON KU BAND M 3 -32768 16 M 3 5 025133 SEA STATE BIAS CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025134 RA2 IONOSPHERIC CORRECTION ON S BAND M 3 -32768 16 M 3 5 025135 IONOSPHERIC CORRECTION FROM DORIS ON S BAND M 3 -32768 16 M 3 5 025136 IONOSPHERIC CORRECTION FROM MODEL ON S BAND M 3 -32768 16 M 3 5 025137 SEA STATE BIAS CORRECTION ON S BAND M 3 -32768 16 M 3 5 025138 AVERAGE SIGNAL TO NOISE RATION NUMERIC 0 -2048 12 NUMERIC 0 4 025140 START CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025141 END CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025142 CHANNEL SCALE FACTOR NUMERIC 0 0 6 NUMERIC 0 2 025143 LINEAR COEFFICIENT NUMERIC 6 -5000000 24 NUMERIC 6 8 025150 SATELLITE INTENSITY ANALYSIS METHOD OF TROPICAL CYCLONE CODE TABLE 25150 0 0 4 CODE TABLE 25150 2 2 025160 KU BAND INSTRUMENTAL CORRECTION M 4 -120000 18 025161 C BAND INSTRUMENTAL CORRECTION M 4 -120000 18 025162 SEA STATE BIAS CORRECTION ON C BAND M 4 -6000 13 025163 ALTIMETER IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 025164 RADIOMETER WET M 4 -5000 13 025174 SMOS INFORMATION FLAG FLAG TABLE 25174 0 0 14 FLAG TABLE 25174 0 5 025193 ATTENUATION CORRECTION ON SIGMA0 dB 3 0 14 025194 MAJOR FRAME COUNT NUMERIC 0 0 4 025197 ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 025198 LOG (TEMP-RAD CENTRAL WAVE NUMBER) 1/M 8 0 30 025199 BANDWIDTH CORRECTION COEFFICIENT 1 NUMERIC 4 -10000 15 025200 BANDWIDTH CORRECTION COEFFICIENT 2 NUMERIC 5 0 17 025201 ALBEDO-RAD SOLAR FILTERED IRRADIANCE NUMERIC 4 0 24 025202 ALBEDO-RAD EQUIVALENT FILTER WIDTH NUMERIC 10 0 14 025203 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 25203 0 0 31 025204 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 25204 0 0 31 025205 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 25205 0 0 31 025206 FOV QUALITY FLAGS FOR ATOVS FLAG TABLE 25206 0 0 31 025207 COMPASS AZIMUTH ANGLE DEGREE 2 0 16 026001 PRINCIPAL TIME OF DAILY READING IN UTC OF MAXIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026002 PRINCIPAL TIME OF DAILY READING IN UTC OF MINIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026003 TIME DIFFERENCE MINUTE 0 -1440 12 MINUTE 0 4 026010 HOURS INCLUDED FLAG TABLE 26010 0 0 26 FLAG TABLE 26010 0 9 026020 DURATION OF PRECIPITATION MINUTE 0 0 11 MINUTE 0 4 026193 YEAR YEAR 0 0 12 026194 MONTH MONTH 0 0 4 026195 DAY DAY 0 0 6 026196 HOUR HOUR 0 0 5 026197 MINUTE MINUTE 0 0 6 026198 SECOND SECOND 0 0 6 026200 LOCATION WITHIN ASSIMILATION WINDOW IN TIME NUMERIC 6 0 20 026201 HOURS INCLUDED FLAG TABLE 26201 0 0 26 027001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027003 ALTERNATE LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027004 ALTERNATE LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027010 FOOTPRINT AXIS 1 M -1 0 14 M -1 5 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 NUMERIC 0 5 027021 SATELLITE SUBLOCATION DIMENSION NUMERIC 0 0 16 NUMERIC 0 5 027031 IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THE EARTH'S C M 2 -1073741824 31 M 2 10 027080 VIEWING AZIMUTH ANGLE DEGREE TRUE 2 0 16 DEGREE TRUE 0 5 027193 SOLAR AZIMUTH DEGREE TRUE 2 0 16 028001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028003 ALTERNATE LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028004 ALTERNATE LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028010 FOOTPRINT AXIS 2 M -1 0 14 M -1 5 028031 IN DIRECTION 90 DEGREES EAST, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 029001 PROJECTION TYPE CODE TABLE 29001 0 0 3 CODE TABLE 29001 0 1 029002 CO-ORDINATE GRID TYPE CODE TABLE 29002 0 0 3 CODE TABLE 29002 0 1 030001 PIXEL VALUE (4 BITS) NUMERIC 0 0 4 NUMERIC 0 2 030002 PIXEL VALUE (8 BITS) NUMERIC 0 0 8 NUMERIC 0 3 030004 PIXEL VALUE (16 BITS) NUMERIC 0 0 16 NUMERIC 0 5 030010 NUMBER OF GRID POINTS NUMERIC 0 0 13 NUMERIC 0 4 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 NUMERIC 0 4 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 NUMERIC 0 4 030031 PICTURE TYPE CODE TABLE 30031 0 0 4 CODE TABLE 30031 0 2 030032 COMBINATION WITH OTHER DATA FLAG TABLE 30032 0 0 16 FLAG TABLE 30032 0 6 030193 POSITION NUMBER ALONG SCAN NUMERIC 0 0 8 031000 SHORT DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 1 NUMERIC 0 1 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 31021 0 0 6 CODE TABLE 31021 0 2 031031 DATA PRESENT INDICATOR FLAG TABLE 31031 0 0 1 FLAG TABLE 31031 0 1 031192 DATA PRESENT INDICATOR NUMERIC 0 0 1 033002 QUALITY INFORMATION CODE TABLE 33002 0 0 2 CODE TABLE 33002 0 1 033003 QUALITY INFORMATION CODE TABLE 33003 0 0 3 CODE TABLE 33003 0 1 033005 QUALITY INFORMATION (AWS DATA) FLAG TABLE 33005 0 0 30 FLAG TABLE 33005 0 10 033006 INTERNAL MEASUREMENT STATUS INFORMATION (AWS) CODE TABLE 33006 0 0 3 CODE TABLE 33006 0 1 033007 PER CENT CONFIDENCE % 0 0 7 % 0 3 033009 RELATIVE ERROR % 6 0 20 % 0 7 033015 DATA QUALITY CHECK INDICATOR CODE TABLE 33015 0 0 6 CODE TABLE 33015 0 2 033020 QUALITY CONTROL INDICATION OF FOLLOWING VALUE CODE TABLE 33020 0 0 3 CODE TABLE 33020 0 1 033021 QUALITY OF FOLLOWING VALUE CODE TABLE 33021 0 0 2 CODE TABLE 33021 0 1 033022 QUALITY OF BUOY SATELLITE TRANSMISSION CODE TABLE 33022 0 0 2 CODE TABLE 33022 0 1 033023 QUALITY OF BUOY LOCATION CODE TABLE 33023 0 0 2 CODE TABLE 33023 0 1 033024 STATION ELEVATION QUALITY MARK (FOR MOBILE STATIONS) CODE TABLE 33024 0 0 4 CODE TABLE 33024 0 2 033025 ACARS INTERPOLATED VALUES CODE TABLE 33025 0 0 3 CODE TABLE 33025 0 1 033026 MOISTURE QUALITY CODE TABLE 33026 0 0 6 CODE TABLE 33026 0 2 033027 LOCATION QUALITY CLASS (RANGE OF RADIUS OF 66 % CONFIDENCE) CODE TABLE 33027 0 0 3 CODE TABLE 33027 0 1 033028 SNAPSHOT OVERALL QUALITY CODE TABLE 22028 0 0 3 CODE TABLE 22028 0 1 033030 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 33030 0 0 24 FLAG TABLE 33030 0 8 033031 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 33031 0 0 24 FLAG TABLE 33031 0 8 033032 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 33032 0 0 24 FLAG TABLE 33032 0 8 033033 FIELD OF VIEW QUALITY FLAGS FOR ATOVS FLAG TABLE 33033 0 0 24 FLAG TABLE 33033 0 8 033035 MANUAL/AUTOMATIC QUALITY CONTROL CODE TABLE 33035 0 0 4 CODE TABLE 33035 0 2 033036 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 % 0 3 033037 WIND CORRELATION ERROR FLAG TABLE 33037 0 0 20 FLAG TABLE 33037 0 7 033038 QUALITY FLAGS FOR GROUND-BASED GNSS DATA FLAG TABLE 33038 0 0 10 FLAG TABLE 33038 0 4 033039 QUALITY FLAGS FOR RADIO OCCULTATION DATA FLAG TABLE 33039 0 0 16 FLAG TABLE 33039 0 6 033040 CONFIDENCE INTERVAL % 0 0 7 PERCENT 0 3 033041 ATTRIBUTE OF FOLLOWING VALUE CODE TABLE 33041 0 0 2 CODE TABLE 33041 0 1 033042 TYPE OF LIMIT REPRESENTED BY FOLLOWING VALUE CODE TABLE 33042 0 0 3 CODE TABLE 33042 0 1 033043 AST CONFIDENCE FLAG TABLE 33043 0 0 8 FLAG TABLE 33043 0 3 033044 ASAR QUALITY INFORMATION FLAG TABLE 33044 0 0 15 FLAG TABLE 33044 0 5 033045 PROBABILITY OF FOLLOWING EVENT % 0 0 7 % 0 3 033046 CONDITIONAL PROBABILITY OF FOLLOWING EVENT WITH RESPECT TO SPECI % 0 0 7 % 0 3 033047 MEASUREMENT CONFIDENCE DATA FLAG TABLE 33047 0 0 31 FLAG TABLE 33047 0 11 033048 CONFIDENCE MEASURE OF SAR INVERSION CODE TABLE 33048 0 0 2 CODE TABLE 33048 0 1 033049 CONFIDENCE MEASURE OF WIND RETRIEVAL CODE TABLE 33049 0 0 2 CODE TABLE 33049 0 1 033050 GLOBAL GTSPP QUALITY FLAG CODE TABLE 33050 0 0 4 CODE TABLE 33050 0 2 033052 S BAND OCEAN RETRACKING QUALITY FLAG TABLE 33052 0 0 21 FLAG TABLE 33052 0 7 033053 KU BAND OCEAN RETRACKING QUALITY FLAG TABLE 33053 0 0 21 FLAG TABLE 33053 0 7 033060 GQISFLAGQUAL-INDIVIDUAL IASI-SYSTEM QUALITY FLAG CODE TABLE 33060 0 0 2 CODE TABLE 33060 0 1 033061 GQISQUALINDEX - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033062 GQISQUALINDEXLOC - INDICATOR FOR GEOMETRIC QUALITY INDEX % 0 0 7 % 0 3 033063 GQISQUALINDEXRAD - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033064 GQISQUALINDEXSPECT - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033065 GQISSYSTECSONDQUAL - OUTPUT OF SYSTEM TEC QUALITY FUNCTION NUMERIC 0 0 24 NUMERIC 0 24 033066 SBUV TOTAL OZONE QUALITY CODE TABLE 33066 0 0 4 CODE TABLE 33066 0 2 033067 SBUV PROFILE OZONE QUALITY CODE TABLE 33067 0 0 4 CODE TABLE 33067 0 2 033070 TOTAL OZONE QUALITY CODE TABLE 33070 0 0 4 CODE TABLE 33070 0 2 033071 PROFILE OZONE QUALITY CODE TABLE 33071 0 0 4 CODE TABLE 33071 0 2 033191 ECMWF WAM QC INDICATOR CODE TABLE 033191 0 0 2 033192 TEM1 CONFIDENCE % 0 0 7 033193 DATA QUALITY 3 BIT CODE CODE TABLE 33193 0 0 3 033194 DATA QUALITY 2 BIT CODE CODE TABLE 33194 0 0 2 033195 ECMWF SAR QC INDICATOR CODE TABLE 33195 0 0 5 033196 ECMWF WAM QC INDICATOR CODE TABLE 33196 0 0 2 033197 ECMWF SAR INVERSION QC INDICATOR CODE TABLE 33197 0 0 3 033198 MINIMUM COST NUMERIC 4 0 14 033199 1D VAR TOTAL PRECIPITABLE WATER RETRIEVED ERROR(S) KG/M**2 2 0 11 033200 ANALYSIS REPORT EVENTS FLAG TABLE 33200 0 0 31 033201 ANALYSIS REPORT STATUS EVENT FLAG TABLE 33201 0 0 13 033202 ANALYSIS DATUM EVENT FLAGS (1) FLAG TABLE 33202 0 0 31 033203 ANALYSIS DATUM EVENT FLAGS (2) FLAG TABLE 33203 0 0 11 033204 ANALYSIS DATUM STATUS FLAGS FLAG TABLE 33204 0 0 21 033205 VARIATIONAL ANALYSIS BLACK LIST FLAG CODE TABLE 33205 0 0 4 033206 VARIATIONAL ANALYSIS QUALITY CONTROL FLAG CODE TABLE 33206 0 0 4 033207 VARIATIONAL ANALYSIS DEPARTURE FLAG CODE TABLE 33207 0 0 4 033208 VARIATIONAL ANALYSIS FIRST QUESS CHECK FLAG CODE TABLE 33208 0 0 4 033209 VARIATIONAL ANALYSIS FINAL FLAG CODE TABLE 33209 0 0 4 033210 INCREMENTAL VARIATIONAL ANALYSIS UPDATE NUMBER NUMERIC 0 0 7 033211 MINIMISATION SIMULATION NUMBER NUMERIC 0 0 10 033212 1D VAR ITERATION NUMBER NUMERIC 0 0 10 033213 1D VAR RADIANCE COST NUMERIC 1 -1000 11 033214 1D VAR ERROR(S) FLAG TABLE 33214 0 0 11 033215 DIRECTIONAL SKILL NUMERIC 1 -4096 13 033216 1D VAR SURFACE TYPE QUALITY CONTROL CODE TABLE 33216 0 0 3 033217 1D VAR FAILURE INDICATOR CODE TABLE 33217 0 0 2 033218 1D VAR ESTIMATE OF SCATTERING NUMERIC 2 0 12 033219 SSMI INDIPENDENT SCATTERING INDEX NUMERIC 2 -50000 16 033220 VARIATIONAL ANALYSIS REPORT EVENTS (1) FLAG TABLE 33220 0 0 31 033221 VARIATIONAL ANALYSIS SYNOP EVENTS (2) FLAG TABLE 33221 0 0 31 033222 VARIATIONAL ANALYSIS AIREP EVENTS (2) FLAG TABLE 33222 0 0 31 033223 VARIATIONAL ANALYSIS SATOB EVENTS (2) FLAG TABLE 33223 0 0 31 033224 VARIATIONAL ANALYSIS DRIBU EVENTS (2) FLAG TABLE 33224 0 0 31 033225 VARIATIONAL ANALYSIS TEMP EVENTS (2) FLAG TABLE 33225 0 0 31 033226 VARIATIONAL ANALYSIS PILOT EVENTS (2) FLAG TABLE 33226 0 0 31 033227 VARIATIONAL ANALYSIS SATEM/TOVS EVENTS (2) FLAG TABLE 33227 0 0 31 033228 VARIATIONAL ANALYSIS PAOB EVENTS (2) FLAG TABLE 33228 0 0 31 033229 VARIATIONAL ANALYSIS SCATTEROMETER EVENTS (2) FLAG TABLE 33229 0 0 31 033230 VARIATIONAL ANALYSIS RAW RADIANCES EVENTS (2) FLAG TABLE 33230 0 0 31 033231 PRESAT SUMMARY FLAGS FLAG TABLE 33231 0 0 6 033232 REPORT BLACK LIST EVENTS FLAG TABLE 33232 0 0 31 033233 VARIATIONAL ANALYSIS REPORT STATUS FLAG TABLE 33233 0 0 31 033234 VARIATIONAL ANALYSIS DATUM STATUS FLAG TABLE 33234 0 0 31 033236 VARIATIONAL ANALYSIS DATUM EVENTS (1) FLAG TABLE 33236 0 0 31 033237 VARIATIONAL ANALYSIS SYNOP DATUM EVENTS (2) FLAG TABLE 33237 0 0 31 033238 VARIATIONAL ANALYSIS AIREP DATUM EVENTS (2) FLAG TABLE 33238 0 0 31 033239 VARIATIONAL ANALYSIS SATOB DATUM EVENTS (2) FLAG TABLE 33239 0 0 31 033240 VARIATIONAL ANALYSIS DRIBU DATUM EVENTS (2) FLAG TABLE 33240 0 0 31 033241 GROSS ERROR PROBABILITY NUMERIC 3 0 10 033242 GROSS ERROR INDICATOR CODE TABLE 33242 0 0 2 033243 VARIATIONAL ANALYSIS TEMP DATUM EVENTS (2) FLAG TABLE 33243 0 0 31 033244 VARIATIONAL ANALYSIS PILOT DATUM EVENTS (2) FLAG TABLE 33244 0 0 31 033245 VARIATIONAL ANALYSIS SATEM/TOVS DATUM EVENTS (2) FLAG TABLE 33245 0 0 31 033246 VARIATIONAL ANALYSIS PAOB DATUM EVENTS (2) FLAG TABLE 33246 0 0 31 033247 VARIATIONAL ANALYSIS SCATTEROMETER DATUM EVENTS (2) FLAG TABLE 33247 0 0 31 033248 VARIATIONAL ANALYSIS RAW RADIANCES DATUM EVENTS (2) FLAG TABLE 33248 0 0 31 033249 DATUM BLACK LIST EVENTS FLAG TABLE 33249 0 0 31 033250 PROBABILITY OF GROSS ERROR NUMERIC 6 0 20 033251 RANGE OF POSSIBLE VALUES NUMERIC 2 0 14 033252 MANUAL-AUTOMATIC QUALITY CONTROL CODE TABLE 33252 0 0 4 033253 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 033254 WIND CORRELATION METHOD FLAG TABLE 33254 0 0 20 035000 FM AND REGIONAL CODE NUMBER CODE TABLE 35000 0 0 10 CODE TABLE 35000 0 3 035001 TIME-FRAME FOR MONITORING CODE TABLE 35001 0 0 3 CODE TABLE 35001 0 1 035011 NUMBER OF REPORTS ACTUALLY RECEIVED NUMERIC 0 0 14 NUMERIC 0 4 035021 BULLETIN BEING MONITORED (TTAAII) CCITTIA5 0 0 48 CHARACTER 0 6 035022 BULLETIN BEING MONITORED (YYGGGG) CCITTIA5 0 0 48 CHARACTER 0 6 035023 BULLETIN BEING MONITORED (CCCC) CCITTIA5 0 0 32 CHARACTER 0 4 035024 BULLETIN BEING MONITORED (BBB) CCITTIA5 0 0 24 CHARACTER 0 3 035030 DISCREPANCIES IN THE AVAILABILITY OF EXPECTED DATA CODE TABLE 35030 0 0 4 CODE TABLE 35030 0 1 035031 QUALIFIER ON MONITORING RESULTS CODE TABLE 35031 0 0 7 CODE TABLE 35031 0 2 035032 CAUSE OF MISSING DATA CODE TABLE 35032 0 0 4 CODE TABLE 35032 0 1 035033 OBSERVATION AND COLLECTION DEFICIENCIES CODE TABLE 35033 0 0 7 CODE TABLE 35033 0 2 035034 STATISTICAL TRENDS FOR AVAILABILITY OF DATA (DURING THE SURVEY P CODE TABLE 35034 0 0 3 CODE TABLE 35034 0 1 035035 REASON FOR TERMINATION CODE TABLE 35035 0 0 5 CODE TABLE 35035 0 2 040001 SURFACE SOIL MOISTURE (MS) % 1 0 10 % 1 4 040002 ESTIMATED ERROR IN SURFACE SOIL MOISTURE % 1 0 10 % 1 4 040003 MEAN SURFACE SOIL MOISTURE NUMERIC 3 0 10 NUMERIC 3 4 040004 RAIN FALL DETECTION NUMERIC 3 0 10 NUMERIC 3 4 040005 SOIL MOISTURE CORRECTION FLAG FLAG TABLE 40005 0 0 8 FLAG FLAG TABLE 40005 0 3 040006 SOIL MOISTURE PROCESSING FLAG FLAG TABLE 40006 0 0 16 FLAG FLAG TABLE 40006 0 5 040007 SOIL MOISTURE QUALITY % 1 0 10 % 1 4 040008 FROZEN LAND SURFACE FRACTION % 1 0 10 % 1 4 040009 INUNDATION AND WETLAND FRACTION % 1 0 10 % 1 4 040010 TOPOGRAPHIC COMPLEXITY % 1 0 10 % 1 4 040011 INTERPOLATION FLAG FLAG TABLE 40011 0 0 8 FLAG TABLE 40011 0 3 040012 RADIOMETER DATA QUALITY FLAG FLAG TABLE 40012 0 0 8 FLAG TABLE 40012 0 3 040013 RADIOMETER BRIGHTNESS TEMPERATURE INTERPOLATION FLAG CODE TABLE 40013 0 0 3 040014 HIGH FREQUENCY FLUCTUATIONS OF THE SEA SURFACE TOPOGRAPHY CORRECTM 4 -3000 13 040018 GLACAVGLMAGLLS - AVERAGE OF IMAGER MEASUREMENTS W/(M**2 SR M**-1) 6 0 24 040019 GLACVARLMAGLLS - VARIANCE OF IMAGER MEASUREMENTS W/(M**2 SR M**-1) 6 0 24 040020 GQISFLAGQUALDETAILED - QUALITY FLAG FOR THE SYSTEM FLAG TABLE 40020 0 0 17 040021 FRACTION OF WEIGHTED AVHRR PIXEL IN IASI FOV COVERED WITH SNOW/IC% 0 0 7 040022 NUMBER OF MISSING, BAD OR FAILED AVHRR PIXELS NUMERIC 0 0 7 040192 CLOUD FORMATION AND HEIGHT ASSIGNMENT FLAG TABLE 40192 0 0 16 040193 INSTRUMENT DETECTING CLOUDS FLAG TABLE 40193 0 0 16 040194 VALIDATION FLAG FOR IASI LEVEL 1 PRODUCT FLAG TABLE 40194 0 0 16 040195 QUALITY AND COMPLETENESS OF RETRIEVAL CODE TABLE 40195 0 0 4 040196 RETRIEVAL CHOICE INDICATOR FLAG TABLE 40196 0 0 8 040197 SATELLITE MANOEUVRE INDICATOR CODE TABLE 40197 0 0 3 040198 SELECTION OF BACKGROUND STATE CODE TABLE 40198 0 0 3 040199 INTEGRATED N2O DENSITY KG/M**2 6 0 16 040200 INTEGRATED CO DENSITY KG/M**2 7 0 16 040201 INTEGRATED CH4 DENSITY KG/M**2 6 0 16 040202 INTEGRATED CO2 DENSITY KG/M**2 3 0 16 040203 COLD/WARM LOAD FLAG FLAG TABLE 40203 0 0 12 040210 OCEANSAT2 SIGMA_0 FLAG FLAG TABLE 40210 0 0 25 049193 SAR INVERSION QC FLAGS FLAG TABLE 49193 0 0 15 049194 ALTIMETER WAVE HEIGHT QC FLAFS FLAG TABLE 49194 0 0 15 055003 DATA EXTRACTION INDICATOR FLAG TABLE 55003 0 0 8 emoslib-000392+dfsg.1/bufrtables/C0000000000098006001.TXT0000755000175000017500000103003112127406245022243 0ustar amckinstryamckinstry001003 0008 0000 01 ATARCTICA 0001 01 REGION I 0002 01 REGION II 0003 01 REGION III 0004 01 REGION IV 0005 01 REGION V 0006 01 REGION VI 0007 01 MISSING VALUE 001007 0132 0001 01 ERS 1 0002 01 ERS 2 0003 01 METOP-1 0004 01 METOP-2 0005 01 METOP-3 0020 01 SPOT1 0021 01 SPOT2 0022 01 SPOT3 0023 01 SPOT4 0040 01 OERSTED 0041 01 CHAMP 0042 01 TERRASAR-X 0050 01 METEOSAT 3 0051 01 METEOSAT 4 0052 01 METEOSAT 5 0053 01 METEOSAT 6 0054 01 METEOSAT 7 0055 01 METEOSAT 8 0056 01 METEOSAT 9 0057 01 METEOSAT 10 0058 01 METEOSAT 1 0059 01 METEOSAT 2 0060 01 ENVISAT 0070 01 METEOSAT 11 0120 01 ADEOS 0121 01 ADEOS II 0150 01 GMS 3 0151 01 GMS 4 0152 01 GMS 5 0171 01 MTSAT-1R 0172 01 MTSAT-2 0200 01 NOAA 8 0201 01 NOAA 9 0202 01 NOAA 10 0203 01 NOAA 11 0204 01 NOAA 12 0205 01 NOAA 14 0206 01 NOAA 15 0207 01 NOAA 16 0208 01 NOAA 17 0209 01 NOAA 18 0220 01 LANDSAT 5 0221 01 LANDSAT 4 0222 01 LANDSAT 7 0240 01 DMSP 7 0241 01 DMSP 8 0242 01 DMSP 9 0243 01 DMSP 10 0244 01 DMSP 11 0245 01 DMSP 12 0246 01 DMSP 13 0247 01 DMSP 14 0248 01 DMSP 15 0249 01 DMSP 16 0250 01 GOES 6 0251 01 GOES 7 0252 01 GOES 8 0253 01 GOES 9 0254 01 GOES 10 0255 01 GOES 11 0256 01 GOES 12 0257 01 GOES 13 0258 01 GOES 14 0259 01 GOES 15 0260 01 JASON-1 0261 01 JASON-2 0281 01 QUIKSCAT 0282 01 TRMM 0283 01 CORIOLIS 0285 01 DMSP17 0310 01 GOMS 1 0311 01 GOMS 2 0320 01 METEOR 2-21 0321 01 METEOR 3-5 0322 01 METEOR 3M-1 0323 01 METEOR 3M-2 0341 01 RESURS 01-4 0430 01 INSAT 1B 0431 01 INSAT 1C 0432 01 INSAT 1D 0450 01 INSAT 2A 0451 01 INSAT 2B 0452 01 INSAT 2E 0470 01 INSAT 3A 0471 01 INSAT 3D 0472 01 INSAT 3E 0500 01 FY-1C 0501 01 FY-1D 0510 01 FY-2 0512 01 FY-2B 0513 01 FY-2C 0514 01 FY-2D 0700 01 TIROS M (ITOS 1) 0701 01 NOAA 1 0702 01 NOAA 2 0703 01 NOAA 3 0704 01 NOAA 4 0705 01 NOAA 5 0706 01 NOAA 6 0707 01 NOAA 7 0708 01 TIROS-N 0710 01 GOES (SMS 1) 0711 01 GOES (SMS 2) 0720 01 TOPEX 0721 01 GFO (GEOSAT FOLLOW ON) 0722 01 GRACE A 0723 01 GRACE B 0731 01 GOES 1 0732 01 GOES 2 0733 01 GOES 3 0734 01 GOES 4 0735 01 GOES 5 0740 01 COSMIC-1 0741 01 COSMIC-2 0742 01 COSMIC-3 0743 01 COSMIC-4 0744 01 COSMIC-5 0745 01 COSMIC-6 0763 01 NIMBUS 3 0764 01 NIMBUS 4 0765 01 NIMBUS 5 0766 01 NIMBUS 6 0767 01 NIMBUS 7 0780 01 ERBS 0781 01 UARS 0782 01 EARTH PROBE 0783 01 TERRA 0784 01 AQUA 0785 01 AURA 0800 01 SUNSAT 0820 01 SAC-C 1023 01 MISSIN VALUE 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001031 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001033 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 001035 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001090 0005 0000 01 LAF (LAGGED-AVERAGE FORECASTING) 0001 01 BREEDING 0002 01 SINGULAR VECTOR 0003 01 MULTIPLE ANALYSIS CYCLE 0255 01 MISSING VALUE 001092 0005 0000 01 UNPERTURBED HIGH-RESOLUTION CONTROL FORECAST 0001 01 UNPERTURBED LOW-RESOLUTION CONTROL FORECAST 0002 01 NEGATIVELY PERTURBED FORECAST 0003 01 POSITIVELY PERTURBED FORECAST 0255 01 MISSING VALUE 002001 0004 0000 01 AUTOMATIC STATION 0001 01 MANNED STATION 0002 01 HYBRID, BOTH MANNED AND AUTOMATIC 0003 01 MISSING VALUE 002002 0004 0000 01 MEASURED IN M S-1 UNLESS OTHERWISE INDICATED 0001 01 CERTIFIED INSTRUMENTS 0002 01 ORIGINALY MEASURED IN KNOTS 0003 01 ORIGINALY MEASURED IN KM/H 002003 0012 0000 01 PRESSURE INSTRUMENT ASSOCIATED WITH WIND-MEASURING EQUIPMENT 0001 01 OPTICAL THEODOLITE 0002 01 RADIO THEODOLITE 0003 01 RADAR 0004 01 VLF-OMEGA 0005 01 LORAN C 0006 01 WIND PROFILER 0007 01 SATELLITE NAVIGATION 0008 01 RADIO-ACOUSTIC SOUNDING SYSTEM (RASS) 0009 01 SODAR 0014 02 PRESSURE INSTRUMENT ASSOCIATED WITH WIND MEASUREMENT EQUIPME NT BUT PRESSURE ELEMENT FAILED DURING ASCENT 0015 01 MISSING VALUE 002004 0011 0000 01 USA OPEN PAN EVAPORIMETER (WITHOUT COVER) 0001 01 USA OPEN PAN EVAPORIMETER (MESH COVERED) 0002 01 GGI-300 EVAPORIMETER (SUNKEN) 0003 01 20 M**2 TANK 0004 01 OTHERS 0005 01 RICE 0006 01 WHEAT 0007 01 MAIZE 0008 01 SORGHUM 0009 01 OTHER CROPS 0015 01 MISSING VALUE 002011 0054 0000 01 RESERVED 0001 01 RESERVED 0002 01 NO RADIOSONDE-PASSIVE TARGET(E.G.REFLECTOR) 0003 01 NO RADIOSONDE-ACTIVE TARGET(E.G.TRANSPONDER) 0004 01 NO RADIOSONDE-PASSIVE TEMPERATURE-HUMIDITY PROFILER 0005 01 NO RADIOSONDE-ACTIVE TEMPERATURE-HUMIDITY PROFILER 0006 01 NO RADIOSONDE-RADIO ACOUSTIC SOUNDER 0009 01 NO RADIOSONDE-SYSTEM UNKNOWN OR NOT SPECIFIED 0010 01 RS VIZ TYPE A (USA) 0011 01 RS VIZ TYPE B (USA) 0012 01 RS SDC (SPACE DATA CORPORATION-USA) 0013 01 ASTOR (NO LONGER MADE-AUSTRALIA) 0014 01 VIZ MARK I MICROSONDE(USA) 0015 01 EEC COMPANY TYPE 23 (USA) 0016 01 ELIN (AUSTRIA) 0017 01 GRAW G. (GERMANY) 0019 01 GRAW M60 (GERMANY) 0020 01 INDIAN MET SERVICE MK3 (INDIA) 0021 01 VIZ/JIN YANG MARK I MICROSONDE(SOUTH KOREA) 0022 01 MEISEI RS2-80 (JAPAN) 0023 01 MESURAL FMO 1950A (FRANCE) 0024 01 MESURAL FMO 19455A (FRANCE) 0025 01 MESURAL MH73A (FRANCE) 0026 01 METEOLABOR BASORA (SWITZERLAND) 0027 01 AVK-MRZ (USSR) 0028 01 METEORIT MARZ2-1 (USSR) 0029 01 METEIRIT MARZ2-2 (USSR) 0030 01 OKI RS2-80 (JAPAN) 0031 01 VIZ/VALCOM TYPE A PRESSURE-COMMUTATED(CANADA) 0032 01 SHANGAI RADIO (CHINA) 0033 01 UK MET OFFICE MK3( UK) 0034 01 VINOHRADY(CZECHOSLOVAKIA) 0035 01 VAISALA RS18 (FINLAND) 0036 01 VAISALA RS21 (FINLAND) 0037 01 VAISALA RS80 (FINLAND) 0038 01 VIZ LOCATE (LORAN-C)(USA) 0039 01 SPRENGER E076 (GERMANY) 0040 01 SPRENGER E084 (GERMANY) 0041 01 SPRENGER E085 (GERMANY) 0042 01 SPRENGER E086 (GERMANY) 0043 01 AIR IS -4A-1680 (UK) 0044 01 AIR IS -4A-1680 X (UK) 0045 01 RS MSS(USA) 0046 01 AIR IS -4A-403(USA) 0047 01 MEISLEI RS2-91(JAPAN) 0048 01 VALCOM(CANADA) 0049 01 VIZ MARK II(USA) 0060 01 VAISALA RS80/MICROCORA (FINLAND) 0061 01 VAISALA RS80/DIGCORA OR MARWIN (FINLAND) 0062 01 VAISALA RS80/PCCORA (FINLAND) 0063 01 VAISALA RS80/STAR (FINLAND) 0064 03 ORBITAL,SCIENCE CORPORATION,SPACE DATA DIVISION,TRANSPONDER RADIOSONDE,TYPE 909-11-XX,WHERE XX CORRECPOND TO THE MODEL OF THE INSTRUMENT 0065 01 VIZ TRANSPONDER RADIOSONDE,MODEL NUMBER 1499-520(USA) 0255 01 MISSING VALUE 002012 0001 0000 01 TO BE DEVELOPED 002013 0009 0000 01 NO CORRECTION 0001 01 CIMO SOLAR CORRECTED AND CIMO INFRARED CORRECTED 0002 01 CIMO SOLAR CORRECTED AND IFRARED CORRECTED 0003 01 CIMO SOLAR CORRECTED ONLY 0004 02 SOLAR AND INFRARED CORRECTED AUTOMATICALLY BY RADIOSONDE SY STEM 0005 01 SOLAR CORRECTED AUTOMATICALLY BY RADIOSONDE SYSTEM 0006 01 SOLAR AND INFRARED CORRECTED AS SPECIFIED BY COUNTRY 0007 01 SOLAR CORRECTED AS SPECIFIED BY COUNTRY 0015 01 MISSING VALUE 002014 0050 0000 01 NO WINDFINDING 0001 01 AUTOMATIC WITH AUXILIARY OPTICAL DIRECTION FINDING 0002 01 AUTOMATIC WITH AUXILIARY RADIO DIRECTION FINDING 0003 01 AUTOMATIC WITH AUXILIARY RANGING 0004 01 NOT USED 0005 01 AUTOMATIC WITH MULTIPLE VLF-OMEGA SIGNALS 0006 01 AUTOMATIC CROSS CHAIN LORAN-C 0007 01 AUTOMATIC WITH AUXILIARY WIND PROFILER 0008 01 AUTOMATIC SATELLITE NAVIGATION 0019 01 TRACKING TECHNIQUE NOT SPECIFIED 0020 01 VESSEL STOPPED 0021 01 VESSEL DIVERTED FROM ORIGINAL DESTINATION 0022 01 VESSEL'S ARRIVAL DELAYED 0023 01 CONTAINER DAMAGED 0024 01 POWER FAILURE TO CONTAINER 0029 01 OTHER PROBLEMS 0030 01 MAJOR POWER PROBLEMS 0031 01 UPS INOPERATIVE 0032 01 RECEIVER HARDWARE PROBLEMS 0033 01 RECEIVER SOFTWARE PROBLEMS 0034 01 PROCESSOR HARDWARE PROBLEMS 0035 01 PROCESSOR SOFTWARE PROBLEMS 0036 01 NAVAID SYSTEM DAMAGED 0037 01 SHORTAGE OF LIFTING GAS 0039 01 OTHER PROBLEMS 0040 01 MECHANICAL DEFECT 0041 01 MATERIAL DEFECT (HAND LAUNCHER) 0042 01 POWER FAILURE 0043 01 CONTROL FAILURE 0044 01 PNEUMATIC/HYDRAULIC FAILURE 0045 01 OTHER PROBLEMS 0046 01 COMPRESSOR PROBLEMS 0047 01 BALLOON PROBLEMS 0048 01 BALLOON RELEASE PROBLEMS 0049 01 LAUNCHER DAMAGED 0050 01 R/S RECEIVER ANTENNA DEFECT 0051 01 NAVAID ANTENNA DEFECT 0052 01 R/S RECEIVER CABLING (ANTENNA DEFECT) 0053 01 NAVAID ANTENNA CABLING DEFECT 0059 01 OTHER PROBLEMS 0060 01 ASAP COMMUNICATIONS DEFECT 0061 01 COMMUNICATIONS FACILITY REJECTED DATA 0062 01 NO POWER AT TRANSMITTINGANTENN 0063 01 ANTENNA CABLE BROKEN 0064 01 ANTENNA CABLE DEFECT 0065 01 MESSAGE TRANSMITTED POWER BELOW NORMAL 0069 01 OTHER PROBLEMS 0070 01 ALL SYSTEMS IN NORMAL OPERATION 0099 01 STATUS OF SYSTEM AND ITS COMPONENTS NOT SPECIFIED 0127 01 MISSING VALUE 002015 0006 0001 01 PRESSURE ONLY RADIOSONDE 0002 01 PRESSURE ONLY RADIOSONDE PLUS TRANSPONDER 0003 01 PRESSURE ONLY RADIOSONDE PLUS RADAR REFLECTOR 0004 01 NO PRESSURE RADIOSONDE PLUS TRANSPONDER 0005 01 NO PRESSURE RADIOSONDE PLUS RADAR REFLECTOR 0015 01 MISSING VALUE 002016 0004 0001 01 TRAIN REGULATOR 0002 01 LIGHT UNIT 0003 01 PARACHUTE 0004 01 ROOFTOP RELEASE 002019 0296 0010 02 BNSC RADIOMETER AATSR ADVANCED ALONG TRACK SCANNIN G RADIOMETER 0011 02 BNSC RADIOMETER ATSR ALONG TRACK SCANNING RADIOME TER 0012 02 BNSC RADIOMETER ATSR-2 ALONG TRACK SCANNING RADIOME TER -2 0013 01 BNSC RADIOMETER MWR MICROWAVE RADIOMETER 0030 01 CNES COMMUNICATIONS ARGOS 0040 01 CNES LIDAR LASER REFLECTORS 0041 02 CNES LIDAR DORIS DOPPLER ORBITOGRAPHY AND RADIO-POSIT IONING INTEGRATED BY SATELLITE 0042 02 CNES LIDAR DORIS-NG DOPPLER ORBITOGRAPHY AND RAD IO-POSITIONING INTEGRATED BY SATELLITE-NG 0047 03 CNES RADAR ALTIMETERS POSEIDON-1 (SSALT-1) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (S INGLE FREQUENCY SOLID STATE RADAR ALTIMETER) 0048 03 CNES RADAR ALTIMETERS POSEIDON-2 (SSALT-2) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (D UAL FREQUENCY SOLID STATE RADAR ALTIMETER) 0050 01 CNES IMAGER RADIOMETER ATSR/M ATSR/M 0051 01 CNES HIGH RESOLUTION OPTICAL IMAGERS HRG 0052 01 CNES RADIOMETER HRV HIGH RESOLUTION VISIBLE 0053 02 CNES RADIOMETER HRVIR HIGH RESOLUTION VISIBLE AND INFRA-RED 0054 02 CNES RADIOMETER SCARAB/MV2 SCANNER FOR EARTH'S RADIATION BUDGET 0055 01 CNES RADIOMETER POLDER POLDER 0060 01 CNES SPECTROMETER VEGETATION VEGETATION 0061 01 CNES SPECTROMETER WINDII WINDII 0080 01 CSA COMMUNICATIONS RADARSAT DTT 0081 01 CSA COMMUNICATIONS RADARSAT TTC 0085 02 CSA RADAR SAR (CSA) SYNTHETIC APERTURE RADAR (CS A) 0090 02 CSA RADIOMETER MOPITT MEASUREMENTS OF POLLUTION IN THE TROPOSPHERE 0091 02 CSA CHEMISTRY INSTRUMENTS OSIRIS OPTICAL SPECTROGRAPH AND INFRA-RED IMAGING SYSTEM 0097 01 CSIRO RADIOMETER PANCHROMATIC IMAGER 0098 02 CRCSS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPS RECEIVER 0102 02 DLR RADIOMETER CHAMP GPS SOUNDER GPS TURBORO GUE SPACE RECEIVER (TRSR) 0103 01 UNKNOWN 0116 03 DLR MAGNETOMETER IGOR CHAMP GRAVITY PACKAGE (ACCELEROMETE R+GPS) INTEGRATED GPS AND OCCULTATION RECEIVER STAR AC CELEROMETER 0117 03 DLR MAGNETOMETER CHAMP MAGNETOMETRY PACKAGE (1 SCALAR +2 VECTOR MAGNETOMETER) OVERHAUSER MAGNETOMETER (OVM) AN D FLUXGATE MAGNETOMETER (FGM) 0120 02 ESA COMMUNICATIONS ENVISAT COMMS COMMUNICATIONS PACKA 30 GE ON ENVISAT 0121 02 ESA COMMUNICATIONS ERS COMMS COMMUNICATION PACKAG E FOR ERS 0130 01 ESA LIDARS ALADIN ATMOSPHERIC LASER DOPPLER INSTRUMENT 0131 01 ESA LIDARS ATLID ATMOSPHERIC LIDAR 0140 02 ESA RADAR AMI/SAR/IMAGE ACTIVE MICROWAVE INSTRUMENTA TION. IMAGE MODE 0141 02 ESA RADAR AMI/SAR/WAVE ACTIVE MICROWAVE INSTRUMENTA TION. WAVE MODE 0142 02 ESA RADAR AMI/SCATTEROMETER ACTIVE MICROWAVE INS TRUMENTATION. WIND MODE 0143 01 ESA RADAR ASAR ASAR 0144 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (IMAGE MODE) 0145 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (WAVE MODE) 0146 01 ESA CLOUD PROFILE AND RAIN RADARS CPR CLOUD RADAR 0147 01 ESA RADAR RA-2/MWR RADAR ALTIMETER - 2 0148 01 ESA RADAR RA/MWR RADAR ALTIMETER 0150 01 ESA SCATTEROMETERS SCATTEROMETER SCATTEROMETER 0161 02 ESA RADIOMETER MIPAS MICHELSON INTERFEROMETRIC PA SSIVE ATMOSPHERE SOUNDER 0162 02 ESA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E MWR-2 MICROWAVE RADIOMETER-2 0163 03 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS SOPRANO SUB- MILIMETRE OBSERVATION OF PROCESSES IN THE ABSORPTION NOTEWOR THY FOR OZONE 0170 02 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS GOME I GLOB AL OZONE MONITORING EXPERIMENT 0172 02 ESA SPECTROMETER GOMOS GLOBAL OZONE MONITORING BY O CCULTATION OF STARS 0174 02 ESA SPECTROMETER MERIS MEDIUM RESOLUTION IMAGING SP ECTROMETER 0175 02 ESA SPECTROMETER SCIAMACHY SCANNING IMAGING ABS ORPTION SPECTROMETER FOR ATMOSPHERIC CARTOGRAPHY 0181 02 EUMETSAT COMMUNICATIONS METEOSAT COMMS COMMUNICATIO NS PACKAGE FOR METEOSAT 0182 02 EUMETSAT COMMUNICATIONS MSG COMMS COMMUNICATIO NS PACKAGE FOR MSG 0190 02 ESA/ EUMETSAT SCATTEROMETERS ASCAT ADVANCED SCATTE ROMETER 0200 02 EUMETSAT RADIOMETER GERB GEOSTATIONARY EARTH RADIATION BUDGET 0202 02 ESA/ EUMETSAT RADIOMETER GRAS GNSS RECEIVER F OR ATMOSPHERIC SOUNDING 0203 02 EUMETSAT RADIOMETER MHS MICROWAVE HUMIDITY S OUNDER 0205 02 EUMETSAT RADIOMETER MVIRI METEOSAT VISIBLE AND INFRA-RED IMAGER 0207 02 EUMETSAT RADIOMETER SEVIRI SPINNING ENHANCED VI SIBLE AND INFRARED IMAGER 0208 02 EUMETSAT IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRI VIRI 0220 02 ESA/ EUMETSAT SPECTROMETER GOME-2 GLOBAL OZONE MO 60 NITORING EXPERIMENT - 2 0221 03 CNES/ EUMETSAT ATMOSPHERIC TEMPERATURE AND HUMIDITY S OUNDERS IASI INFRA-RED ATMOSPHERIC SOUNDING INTERFEROME TER 0240 02 CAST COMMUNICATIONS DCP DATA COLLECTION PLATFORM TRA NSPONDER 0245 01 CAST RADIOMETER CCD HIGH RESOLUTION CCD CAMERA 0246 02 INPE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS HSB HUMIDITY SOUNDER/BRAZIL 0248 02 INPE IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) OBA OBSERVADOR BRASILEIRO DA AMAZONIA 0250 01 CAST RADIOMETER WFI WIDE FIELD IMAGER 0255 02 CAST SPECTROMETER IRMSS INFRA RED MULTI SPECTRAL SCA NNER 0260 01 ISRO PRECISION ORBIT BSS & FSS TRANSPONDERS 0261 01 ISRO PRECISION ORBIT DRT-S&R 0262 02 ISRO COMMUNICATIONS INSAT COMMS COMMUNICATIONS PACKA GE FOR INSAT 0268 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS HR-PAN HIGH RESOLUT ION PANCHROMATIC CAMERA 0269 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MSMR MULTIFREQUENCY SCANNING MICROWAVE RADIOMETER 0270 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VHRR VERY HIGH RESOLUTION RADIOMETER 0271 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WIFS WIDE FIELD SENSOR 0275 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS AWIFS ADVANCED WID E FIELD SENSOR 0276 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-I LINEAR IMAGI NG SELF SCANNER - I 0277 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-II LINEAR IMAGI NG SELF SCANNER - II 0278 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-III LINE AR IMAGING SELF SCANNER - III 0279 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-IV LINEAR IMAGI NG SELF SCANNER - IV 0284 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS PAN PANCHROMATIC SENSOR 0285 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MOS MODULAR OPTO-ELECTRONIC SCANNER 0286 02 ISRO OCEAN COLOUR INSTRUMENTS OCM OCEAN COLOUR MONITOR 0290 02 JMA COMMUNICATIONS MTSAT COMMS COMMUNICATIONS PACKA GE FOR MTSAT 0294 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT -1R IMAGER/MTSAT 0295 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT IMAGER/MTSAT 0296 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS VISSR (GMS4) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS4) 0300 01 NASA LIDARS GLAS GEOSCIENCE LASER ALTIMETER SYSTEM 0301 01 NASA PRECISION ORBIT LRA LASER RETROREFLECTOR ARRAY 0302 01 NASA LIDARS MBLA MULTI BEAM LASER ALTIMETER 0309 02 NASA CLOUD PROFILE AND RAIN RADARS CPR (CLOUDSAT) CLOU 90 D PROFILING RADAR 0312 01 NASA RADAR NSCAT NASA SCATTEROMETER 0313 01 NASA RADAR SEAWINDS ADEOS II - NASA SCATTEROMETER 0330 02 NASA EARTH RADIATION BUDGET RADIOMETER ACRIM ACTI VE CAVITY RADIOMETER IRRADIANCE MONITOR 0334 02 NASA TOTAL AND PROFILE OZONE BUV BACKSCATTER ULTRAVIO LET INSTRUMENT 0336 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ALI ADVANCED LAN D IMAGER 0347 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ASTER ADVANCED SPA CEBORNE THERMAL EMISSION AND REFLECTION RADIOMETER 0348 02 NASA EARTH RADIATION BUDGET RADIOMETER CERES-2 CLOU D AND THE EARTH'S RADIANT ENERGY SYSTEM 0351 02 CONAE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPSD R GPS DEMONSTRATION RECEIVER 0353 02 NASA TOTAL AND PROFILE OZONE HIRDLS HIGH RESOLUTION DYNA MICS LIMB SOUNDER 0354 02 NASA TOTAL AND PROFILE OZONE HRDI HIGH RESOLUTION DOPP LER IMAGER 0356 01 NASA RADIOMETER LIS LIGHTNING IMAGING SENSOR 0358 02 NASA MAGNETIC FIELD, AUROAL IMAGERYSCINTILLATION BOUNDARY PEM PARTICLE ENVIRONMENT MONITOR 0359 02 NASA OCEAN COLOUR INSTRUMENTS SEAWIFS SEA-VIEWING WIDE FIELD-OF-VIEW SENSOR 0360 02 NASA EARTH RADIATION BUDGET RADIOMETER SUSIM (UARS) SOLAR ULTRAVIOLET IRRADIANCE MONITOR 0363 02 NASA TOTAL AND PROFILE OZONE SBUV/1 SOLAR BACKSCATTER UL TRAVIOLET 1 INSTRUMENT 0365 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) TMI TRMM MICROWAVE IMAGER 0366 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) JMR JASON-1 MICROWAVE RADIOMETER 0369 02 NASA TOTAL AND PROFILE OZONE LIMS LIMB INFRARED MONITO R OF THE STRATOSPHERE 0370 02 NASA TOTAL AND PROFILE OZONE LRIR LIMB RADIANCE INVERS ION RADIOMETER INSTRUMENT 0371 02 NASA TOTAL AND PROFILE OZONE EPIC EARTH POLYCHROMATIC IMAGING CAMERA 0372 02 NASA EARTH RADIATION BUDGET RADIOMETER NISTAR NIST ADVANCED RADIOMETER 0373 02 NASA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y PLASMA-MAG 0374 01 NASA OTHER XPS XUV PHOTOMETER SYSTEM 0375 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRS VISIBLE INFRA-RED SCANNER 0376 03 CNES MULTIPLE DIRECTION/POLARISATION RADIOMETERS POLD ER II POLARIZATION AND DIRECTIONALITY OF THE EARTH'S R EFLECTANCE - II 0377 02 NASA EARTH RADIATION BUDGET RADIOMETER TIM TOTA L IRRADIANCE MONITOR 0379 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WFC WIDE FIELD CAMERA 0382 02 NASA SPECTRO-RADIOMETER CLAES CRYOGENIC LIMB ARRAY ETALON SPECTROMETER 0383 02 NASA SPECTRO-RADIOMETER HALOE HALOGEN OCCULTATION EXPERIMENT 0384 02 NASA SPECTRO-RADIOMETER ISAMS IMPROVED STRATOSPHER 120 IC AND MESOSPHERIC SOUNDER 0385 02 NASA SPECTRO-RADIOMETER MISR MULTI-ANGLE IMAGING SPECTRORADIOMETER 0386 01 NASA SPECTRO-RADIOMETER MLS MICROWAVE LIMB SOUNDER 0387 02 NASA SPECTRO-RADIOMETER MLS (EOS-AURA) MICROWAVE LIMB SOUNDER (EOS-AURA) 0389 02 NASA SPECTRO-RADIOMETER MODIS MODERATE-RESOLUTION IMAGING SPECTRORADIOMETER 0393 02 NASA GRAVITY HAIRS HIGH ACCURACY INTER-SATELLITE RANGIN G SYSTEM 0394 02 NASA TOTAL AND PROFILE OZONE OMI OZONE MEASURING INST RUMENT 0395 02 NASA RADIOMETER ATMOSPHERIC CORRECTOR ATMOSPHERIC CORRECTOR 0396 01 NASA RADIOMETER HYPERION HYPERSPECTRAL IMAGER 0399 02 NASA SPECTRO-RADIOMETER SAGE I STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-I 0400 02 NASA SPECTRO-RADIOMETER SAGE II STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-II 0401 02 NASA SPECTRO-RADIOMETER SAGE III STRATOSPHERI C AEROSOL AND GAS EXPERIMENT-III 0402 02 NASA SPECTRO-RADIOMETER SAMS STRATOSPHERIC AND ME SOSPHERIC SOUNDER 0403 02 NASA SPECTRO-RADIOMETER SAM II STRATOSPHERIC AEROSO L MEASUREMENT II 0404 02 NASA SPECTRO-RADIOMETER IRIS INFRARED INTERFEROME TER SPECTROMETER 0405 02 NASA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GIFT S GEOSYNCHRONOUS IMAGING FOURIER TRANSFORM SPECTROMETER 0420 01 NASA SPECTROMETER AIRS ATMOSPHERIC INFRA-RED SOUNDER 0426 02 NASA SPECTROMETER SOLSTICE SOLAR STELLAR IRRADI ANCE COMPARISON EXPERIMENT 0430 02 NASA SPECTROMETER TES TROPOSHPERIC EMISSION SPECTR OMETER 0431 02 NASA SPECTROMETER TOMS TOTAL OZONE MAPPING SPECTROM ETER 0450 02 JAXA COMMUNICATIONS ADEOS COMMS COMMUNICATIONS PACKA GE FOR ADEOS 0451 02 JAXA COMMUNICATIONS DCS (JAXA) DATA COLLECTION SYST EM (JAXA) 0453 02 JAXA COMMUNICATIONS GMS COMMS COMMUNICATIONS PACKA GE ON GMS 0454 02 JAXA COMMUNICATIONS JERS-1 COMMS COMMUNICATIONS PACKA GE FOR JERS-1 0460 01 JAXA LIDAR RIS RETROREFLECTOR IN SPACE 0461 01 JAXA RADAR PR PRECIPITATION RADAR 0462 02 JAXA IMAGING MICROWAVE RADARS SAR SYNTETIC APE RTURE RADAR 0470 02 JAXA IMAGING MICROWAVE RADARS PALSAR PHASED ARRAY TYPE L-BAND SYNTHETIC APERTURE RADAR 0479 02 JAXA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) AMSR-E ADVANCED MICROWAVE SCANNING RADIOMETER-EOS 0480 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS PRISM (ALOS) PANC HROMATIC REMOTE-SENSING INSTRUMENT FOR STEREO MAPPING 0481 02 JAXA RADIOMETER AMSR ADVANCED MICROWAVE SCANNING 150 RADIOMETER 0482 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR ADVANCED VIS IBLE AND NEAR INFRARED RADIOMETER 0483 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR-2 ADVANCED VIS IBLE AND NEAR INFRA-RED RADIOMETER TYPE 2 0484 01 JAXA IMAGER GLI GLOBAL IMAGER 0485 02 JAXA RADIOMETER MESSR MULTISPECTRAL ELECTRONIC SEL F SCANNING RADIOMETER 0486 01 JAXA RADIOMETER MSR MICROWAVE SCANNING RADIOMETER 0487 02 JAXA RADIOMETER OCTS OCEAN COLOR AND TEMPERATURE S CANNER 0488 01 JAXA RADIOMETER OPS OPTICAL SENSOR 0489 02 JAXA SPECTRO-RADIOMETER VISSR (GMS5) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS5) 0490 02 JAXA RADIOMETER VTIR VISIBLE AND THERMAL INFRA-RE D RADIOMETER 0510 02 JAXA SPECTROMETER ILAS-I IMOROVED LIMB ATOMOSPHIRIC S PECTROMETER 0511 02 JAXA SPECTROMETER ILAS-II IMPROVED LIMB ATOMOSPHIRIC S PECTROMETER 0512 02 JAXA SPECTROMETER IMG INFEROMETRIC MONITOR OF GREE NHOUSE GASES 0514 02 JAXA SPACE ENVIRONMENT SEM SPACE ENVIRONMENT MO NITOR (JAXA) 0515 02 JAXA TOTAL AND PROFILE OZONE SOFIS SOLAR OCCULTATION FO URIER TRANSFORM SPECTROMETER FOR INCLINED ORBIT SATELLITE 0540 02 NOAA COMMUNICATIONS DCS (NOAA) DATA COLLECTION SYST EM (NOAA) 0541 02 NOAA COMMUNICATIONS GOES COMMS COMMUNICATIONS PACKA GE ON GOES 0542 02 NOAA COMMUNICATIONS LANDSAT COMMS COMMUNICATIONS PACKA GE FOR LANDSAT 0543 02 NOAA COMMUNICATIONS NOAA COMMS COMMUNICATIONS PACKA GE FOR NOAA 0544 01 NOAA COMMUNICATIONS S&R (GOES) SEARCH AND RESCUE 0545 01 NOAA COMMUNICATIONS S&R (NOAA) SEARCH AND RESCUE 0546 01 NOAA COMMUNICATIONS WEFAX WEATHER FACSIMILE 0547 02 NOAA SPECTROMETER SEM(GOES) SPACE ENVIRONMENT MO NITOR 0550 01 NOAA MAGNETIC FIELD SSM SPECIAL SENSOR MAGNETOMETER 0551 02 NOAA MAGNETIC FIELD SSJ/4 SPECIAL SENSOR PRECIPITATING PLASMA MONITOR 0552 02 NOAA SPACE ENVIRONMENT SSIES-2 SPECIAL SENSOR IONOS PHERIC PLASMA DRIFT/SCINTILLATION METER 0553 02 NOAA SPACE ENVIRONMENT SSB/X-2 SPECIAL SENSOR GAMMA RAY PARTICLE DECTECTOR 0570 02 NOAA RADIOMETER AMSU-A ADVANCED MICROWAVE SOUNDING UNIT-A 0574 02 NOAA RADIOMETER AMSU-B ADVANCED MICROWAVE SOUNDING UNIT-B 0580 02 NOAA RADIOMETER ATOVS (HIRS/3 + AMSU + AVHRR/3) ADVA NCED TIROS OPERATIONAL VERTICAL SOUNDER 0590 02 NOAA RADIOMETER AVHRR/2 ADVANCED VERY HIGH RESOLUTIO 180 N RADIOMETER/2 0591 02 NOAA RADIOMETER AVHRR/3 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/3 0592 02 NOAA RADIOMETER AVHRR/4 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/4 0600 02 NOAA RADIOMETER ERBE EARTH'S RADIATION BUDGET EXP ERIMENT 0601 01 NOAA RADIOMETER ETM+ ENHANCED THEMATIC MAPPER 0605 02 NOAA RADIOMETER HIRS/2 HIGH RESOLUTION INFRA-RED SO UNDER/2 0606 02 NOAA RADIOMETER HIRS/3 HIGH RESOLUTION INFRA-RED SO UNDER/3 0607 02 NOAA RADIOMETER HIRS/4 HIGH RESOLUTION INFRA-RED SO UNDER/4 0615 01 NOAA RADIOMETER IMAGER IMAGER 0616 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIIR S VISIBLE/INFRARED IMAGER RADIOMETER SUITE 0620 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS CRIR S/NP CROSS TRACK INFRA-RED SOUNDER/NPOESS 0621 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS ATMS ADVANCED TECHNOLOGY MICROWAVE SOUNDER 0622 01 NOAA RADIOMETER MSS MULTISPECTRAL SCANNING SYSTEM 0623 01 NOAA RADIOMETER MSU MICROWAVE SOUNDING UNIT 0624 02 NOAA RADIOMETER SBUV/2 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/2 0625 02 NOAA RADIOMETER SBUV/3 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/3 0626 01 NOAA RADIOMETER SOUNDER SOUNDER 0627 01 NOAA RADIOMETER SSU STRATOSPHERIC SOUNDING UNIT 0628 01 NOAA RADIOMETER TM THEMATIC MAPPER 0629 02 NOAA RADIOMETER TOVS (HIRS/2 + MSU + SSU) TIRO S OPERATIONAL VERTICAL SOUNDER 0630 01 NOAA RADIOMETER VAS VISSR ATMOSPHERIC SOUNDER 0631 01 NOAA RADIOMETER SSZ 0645 01 NOAA SPECTROMETER SEM SPACE ENVIRONMENT MONITOR 0650 02 NRSCC RADIOMETER MVIRSR (10 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0651 02 NRSCC RADIOMETER MVIRSR (3 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0652 02 NRSCC RADIOMETER MVIRSR (5 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0670 01 NSAU RADAR RLSBO SIDE LOOKING MICROWAVE RADAR 0680 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS MSU-EU MULTI-SPECTR AL RADIOMETER WITH HIGH RESOLUTION 0681 02 NSAU IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MSU- UM VISIBLE MULTI-SPECTRAL RADIOMETER 0682 01 NSAU RADIOMETER RM-08 IMAGING MICROWAVE RADIOMETER 0683 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-UMS STEREO RADIO 210 METER WITH HIGH RESOLUTION 0684 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-VR VISIBLE RADI OMETER WITH HIGH RESOLUTION 0685 01 NSAU RADIOMETER TRASSER 0700 02 ROSCOSMOS COMMUNICATIONS KONDOR-2 DATA COLLECT ION AND TRANSMISSION SYSTEM 0701 01 ROSCOSMOS COMMUNICATIONS BRK 0710 01 ROSCOSMOS LIDAR ALISSA BACKSCATTER LIDAR 0712 01 ROSCOSMOS LIDAR BALKAN-2 LIDAR 0715 01 ROSCOSMOS LIDAR MK-4 0716 01 ROSCOSMOS LIDAR MK-4M 0730 01 ROSCOSMOS RADAR GREBEN RADAR ALTIMETER 0731 01 ROSCOSMOS RADAR SAR-10 SYNTETIC APERTURE RADAR 0732 01 ROSCOSMOS RADAR SAR-3 SYNTETIC APERTURE RADAR 0733 01 ROSCOSMOS RADAR SAR-70 SYNTETIC APERTURE RADAR 0740 01 ROSCOSMOS RADAR SLR-3 SIDE LOOKING RADAR 0745 01 ROSCOSMOS RADAR TRAVERS SAR 0750 02 ROSCOSMOS RADIOMETER 174-K TEMPERATURE AND HUMI DITY PROFILER 0751 02 ROSCOSMOS RADIOMETER BTVK SCANNING TELEVISION RADIOMETER 0752 02 ROSCOSMOS RADIOMETER CHAIKA SCANNING IR RADIOMET ER 0753 02 ROSCOSMOS RADIOMETER DELTA-2 MULTISPECTRAL MICROW AVE SCANNER 0755 02 ROSCOSMOS RADIOMETER IKAR-D MULTISPECTRAL MICROW AVE SCANNER 0756 02 ROSCOSMOS RADIOMETER IKAR-N MULTISPECTRAL MICROW AVE SCANNER 0757 02 ROSCOSMOS RADIOMETER IKAR-P MULTISPECTRAL MICROW AVE SCANNER 0760 01 ROSCOSMOS RADIOMETER ISP 0761 02 ROSCOSMOS RADIOMETER KFA-1000 PHOTOGRAPHIC CAMERA 0762 01 ROSCOSMOS RADIOMETER KFA-200 PHOTOGRAPHIC CAMERA 0763 02 ROSCOSMOS RADIOMETER KFA-3000 PHOTOGRAPHIC CAMERA 0770 01 ROSCOSMOS RADIOMETER KLIMAT SCANNING IR RADIOMETER 0771 02 ROSCOSMOS RADIOMETER KLIMAT-2 SCANNING IR RADIOMETER 0775 01 ROSCOSMOS RADIOMETER MIRAS 0776 01 ROSCOSMOS RADIOMETER MIVZA 0777 02 ROSCOSMOS RADIOMETER MIVZA-M MICROWAVE SCANNING R 240 ADIOMETER 0780 01 ROSCOSMOS RADIOMETER MR-2000 0781 01 ROSCOSMOS RADIOMETER MR-2000M 0785 02 ROSCOSMOS RADIOMETER MR-900 SCANNING TELEPHOTOME TER 0786 02 ROSCOSMOS RADIOMETER MR-900B SCANNING VISUAL BAND TELEPHOTOMETER 0790 02 ROSCOSMOS RADIOMETER MSU-E MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0791 02 ROSCOSMOS RADIOMETER MSU-E1 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0792 02 ROSCOSMOS RADIOMETER MSU-E2 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0793 01 ROSCOSMOS RADIOMETER MSU-M 0794 02 ROSCOSMOS RADIOMETER MSU-S MULTISPECTRAL MEDIUM RESOLUTION SCANNER 0795 02 ROSCOSMOS RADIOMETER MSU-SK MULTISPECTRAL MEDIUM RESOLUTION CONICAL SCANNER 0796 02 ROSCOSMOS RADIOMETER MSU-V MULTISPECTRAL HIGH R ESOLUTION CONICAL SCANNER 0810 02 ROSCOSMOS RADIOMETER MTZA SCANNING MICROWAVE R ADIOMETER 0815 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) MZOAS SCANNING MICROWAVE RADIO METER 0820 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) R-225 SINGLE CHANNEL MICROWAVE RADIOMETER 0821 01 ROSCOSMOS RADIOMETER R-400 0822 02 ROSCOSMOS RADIOMETER R-600 SINGLE CHANNEL MICRO WAVE RADIOMETER 0830 02 ROSCOSMOS RADIOMETER RMS RADIATION MEASUREMEN T SYSTEM 0835 01 ROSCOSMOS RADIOMETER TV CAMERA 0836 01 ROSCOSMOS RADIOMETER SILVA 0840 02 ROSCOSMOS SPECTRO-RADIOMETER SROSMO SPECTRORADIO METER FOR OCEAN MONITORING 0850 02 ROSCOSMOS SPECTROMETER BUFS-2 BACKSCATTER SPECTROM ETER/2 0851 02 ROSCOSMOS SPECTROMETER BUFS-4 BACKSCATTER SPECTROM ETER/4 0855 02 ROSCOSMOS SPECTROMETER ISTOK-1 INFRA-RED SPECTROMET ER 0856 02 ROSCOSMOS SPECTROMETER SFM-2 SPECTROMETER TO MEAS URE DIRECT SOLAR RADIATION 0857 01 ROSCOSMOS SPECTROMETER DOPI 0858 01 ROSCOSMOS SPECTROMETER KGI-4 0859 01 ROSCOSMOS SPECTROMETER OZON-M 0860 01 ROSCOSMOS SPECTROMETER RMK-2 0900 02 NOAA RADIOMETER MAXIE MAGNETOSPHERIC ATMOSPHERIC X -RAY IMAGING EXPERIMENT 0901 01 NOAA RADIOMETER OLS OPERATIONAL LINESCAN SYSTEM 270 0905 02 NOAA RADIOMETER SSM/I MISSION SENSOR MICROWAVE IMA GER 0906 02 NOAA RADIOMETER SSM/T-1 MISSION SENSOR MICROWAVE TEM PERATURE SOUNDER 0907 02 NOAA RADIOMETER SSM/T-2 MISSION SENSOR MICROWAVE WAT ER VAPOR SOUNDER 0908 02 NOAA RADIOMETER SSMIS SPECIAL SENSOR MICROWAVE IMA GER SOUNDER 0910 01 NOAA RADIOMETER SXI SOLAR X-RAY IMAGER 0930 02 NOAA SPECTROMETER EHIC ENERGETIC HEAVY ION COMPOSIT ION EXPERIMENT 0931 01 NOAA SPECTROMETER X-RAY ASTRONOMY PAYLOAD 0932 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) IVIS SR (FY-2) IMPROVED MULTISPECTRAL VISIBLE AND INFRA-RED SCA N RADIOMETER (5 CHANNELS) 0933 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IRAS INFRARED ATMOSPHERIC SOUNDER 0934 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWAS MICROWAVE ATMOSPHERIC SOUNDER 0935 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IMWA S IMPROVED MICROWAVE ATMOSPHERIC SOUNDER 0936 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWHS MICROWAVE HUMIDITY SOUNDER 0937 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MVIR S MODERATE RESOLUTION VISIBLE AND INFRARED IMAGING SPECTRO RADIOMETER 0938 02 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MWRI MICROWAVE RADIATION IMAGER 0940 02 ROSCOSMOS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDER S MTVZA-OK SCANNING MICROWAVE RADIOMETER 0941 02 CNES ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS SAPH IR 0944 01 NOAA RADAR ALTIMETERS ALT ALTIMETER 0945 02 NOAA EARTH RADIATION BUDGET RADIOMETER TSIS TOTA L SOLAR IRRADIANCE SENSOR 0946 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) CMIS CONICAL-SCANNING MICROWAVE IMAGER/SOUNDER 0947 02 NOAA TOTAL AND PROFILE OZONE OMPS OZONE MAPPING AND PR OFILER SUITE 0948 03 NOAA SPACE ENVIRONMENT ATMOSPHERIC TEMPERATURE AND HUMIDI TY SOUNDERS GPSOS GLOBAL POSITIONING SYSTEM OCCULTATION SE NSOR 0949 02 NOAA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y SESS SPACE ENVIRONMENTAL SENSOR SUITE 0950 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRR MULTISPECTRAL VISIBLE AND INFRA-RED SCAN RADIOMETER (10 CHANNELS 0951 01 NRSCC TOTAL AND PROFILE OZONE TOM TOTAL OZONE MAPPER 0952 01 NRSCC TOTAL AND PROFILE OZONE OP OZONE PROFILER 2047 01 MISSING VALUE 296 002020 0024 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 (TIROS, NOAA-6 TO NOAA-13) 0003 01 TIROS 2 (NOAA-14 ONWARDS) 0010 01 EOS 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0261 01 JASON 0271 01 GMS 0272 01 MTSAT 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME (MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME (MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME (MSG) 0351 01 GOMS 0380 01 FY-1 0381 01 FY-2 0401 01 GPS 0402 01 GLONASS 0403 01 GALILEO 0511 01 MISSING VALUE 002021 0008 0001 01 HIGH RESOLUTION INFRA RED SOUNDER (HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU ) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 002022 0005 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 AUTOMATED STATISTICAL REGRESSION 0003 01 CLEAR PATH 0004 01 PARTLY CLOUDY PATH 0005 01 CLOUDY PATH 002023 0008 0000 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE WATER VAPOUR CHANNEL 0001 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE INFRARED CHANNEL 0002 01 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE VISIBLE CHANNEL 0003 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN WATER VAPOUR CHANNEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0004 02 WIND DERIVED FROM MOTION OBSERVED IN COMBINATION OF SPECTRAL CHANNELS 0005 02 WIND DERIVED FROM MOTION OBSERVED IN THE WATER VAPOUR CHANNEL IN CLEAR AIR 0006 01 WIND DERIVED FROM MOTION OBSERVED IN THE OZONE CHANNEL 0007 01 WIND DERIVED FROM MOTION OBSERVED IN WATER VAPOUR CHANNEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0008 01 WIND DERIVED FROM ALTIMETER 0009 01 WIND DERIVED FROM RADIOMETER 0013 01 ROOT MEAN SQUARE 0015 01 MISSING VALUE 002024 0003 0001 01 TABLE WITH FULL RANGE OF HUMIDITY VARIATION IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002025 0016 0001 01 RESERVED 0002 01 HIRS 0003 01 MSU 0006 01 HIRS 0007 01 MSU 0010 01 HIRS(1, 2, 3, 8,9, 16, 17) 0011 01 HIRS(1, 2, 3, 9, 17) 0012 01 MSU 0015 01 HIRS 0016 01 HIRS 0017 01 MSU 0018 01 SKINTK(OCEAN ONLY) 0021 01 HIRS 0022 01 SSU 0023 01 MSU (3 ,4) 0025 01 MISSING 002030 0007 0001 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0002 01 GEK (GEOMAGNETIC ELECTRO KINETOGRAPH) 0003 01 SHIPS'S SET AND DRIFT DETERMINED BY FIXES 3-6 HOURS APART 0004 02 SHIPS'S SET AND DRIFT DETERMINED BY MORE THAN 6 HOURS BUT LESS THAN 12 HOURS APART 0005 01 DRIFT OF BUOY 0006 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0007 01 MISSIN VALUE 002031 0021 0000 01 RESERVED 0001 01 INSTANTANEOUS 0002 01 AVERAGED OVER 3 MINUTES OR LESS 0003 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0004 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0005 01 INSTANTANEOUS 0006 01 AVERAGED OVER 3 MINUTES OR LESS 0007 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0008 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0009 01 VECTOR OR DOPPLER CURRENT PROFILLING METHOD NOT USED 0010 01 RESERVED 0011 01 1 HOUR OR LESS 0012 01 MORE THAN 1 HOUR BUT 2 AT THE MOST 0013 01 MORE THAN 2 HOUR BUT 4 AT THE MOST 0014 01 MORE THAN 4 HOUR BUT 8 AT THE MOST 0015 01 MORE THAN 8 HOUR BUT 12 AT THE MOST 0016 01 MORE THAN 12 HOUR BUT 18 AT THE MOST 0017 01 MORE THAN 18 HOUR BUT 24 AT THE MOST 0018 01 RESERVED 0019 01 DRIFT METHOD NOT USED 0031 01 MISSING 002032 0004 0000 02 VALUES AT SELECTED DEPTHS (DATA POINTS FIXED BY THE INSTRUME NT OR SELECTED BY ANY OTHER METHOD) 0001 02 VALUES AT SIGNIFICANT DEPTHS (DATA POINTS TAKEN FROM TRACES AT SIGNIFICANT DEPTHS) 0002 01 RESERVED 0003 01 MISSING VALUE 002033 0005 0000 01 NO SALINITY MEASURED 0001 01 IN SITU SENSOR, ACCURACY BETTER THAN 0.02 % 0002 01 IN SITU SENSOR, ACCURACY LESS THAN 0.02 % 0003 01 SAMPLE ANALYSIS 0007 01 MISSING VALUE 002034 0007 0000 01 UNSPECIFIED DROGUE 0001 01 HOLEY SOCK 0002 01 TRISTAR 0003 01 WINDOW SHADE 0004 01 PARACHUTE 0005 01 NON-LAGRANGIAN SEA ANCHOR 0031 01 MISSING VALUE 002036 0004 0000 01 DRIFTING BUOY 0001 01 FIXED BUOY 0002 01 RESERVED 0003 01 MISSING VALUE 002037 0007 0000 01 REASERVED 0001 01 MANUAL READING FROM VERTICAL TIDE STAFF 0002 01 MANUAL READING FROM SINGLE AUTOMATIC RECORDER AT STATION 0003 01 MANUAL READING FROM MULTIPLE AUTOMATIC RECORDERS AT STATION 0004 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITHOUT LEVEL REFERENCE CHECK 0005 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITH LEVEL REFERENCE CHECK,OR MULTIPLE AUTOMATIC RECORDERS 0007 01 MISSING 002038 0012 0000 01 SHIP INTAKE 0001 01 BUCKET 0002 01 HULL CONTACT SENSOR 0003 01 REVERSING TERMOMETER 0004 01 STD/CTD SENSOR 0005 01 MECHANICAL BT 0006 01 EXPANDABLE BT 0007 01 DIGITAL BT 0008 01 THERMISTOR CHAIN 0009 01 INFRARED SCANNER 0010 01 MICROWAVE SCANNER 0015 01 MISSING VALUE 002039 0005 0000 01 MEASURED WET-BULB TEMPERATURE 0001 01 ICED BULB MEASURED WET-BULB TEMPERATURE 0002 01 COMPUTED WET-BULB TEMPERATURE 0003 01 ICED BULB COMPUTED WET-BULB TEMPERATURE 0007 01 MISSING VALUE 002041 0005 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMSILATIO N MANUALLY MODIFIED 0063 01 MISSING VALUE 002040 0008 0000 01 SHIPS MOTION REMOVED BY AVARAGING 0001 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0002 01 SHIPS MOTION NOT REMOVED 0003 01 SHIPS MOTION REMOVED BY AVERAGING 0004 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0005 01 SHIPS MOTION NOT REMOVED 0006 01 DOPPLER CURRENT PROFILING METHOD NOT USED 0015 01 MISSING VALUE 002041 0006 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMILATION MANUALLY MODIFIED 0010 01 INFORMATION BASED ON THE NUMERICAL WEATHER PREDICTION 0063 01 MISSING VALUE 002044 0006 0000 01 RESERVED 0001 01 LONGUET-HIGGINS (1964) 0002 01 LONGUET-HIGGINS (F3 METHOS) 0003 01 MAXIMUM LIKELIHOOD METHOD 0004 01 MAXIMUM ENTROPY METHOD 0015 01 MISSING VALUE 002045 0005 0000 01 SEA STATION 0001 01 AUTOMATIC DATA BUOY 0002 01 AIRCRAFT 0003 01 SATELLITE 0015 01 MISSING VALUE 002046 0004 0000 01 RESERVED 0001 01 HEAVE SENSOR 0002 01 SLOPE SENSOR 0015 01 MISSING VALUE 002048 0012 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A 0004 01 AMSU-B 0005 01 AVHRR 0006 01 SSMI 0007 01 NSCAT 0008 01 SEA WINDS 0009 01 POSEIDON ALTIMETER 0010 01 JMR (JASON MICROWAVE RADIOMETER) 0015 01 MISSING VALUE 002049 0004 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 SIMULTANIOUS PHISICAL RETRIEVAL 0003 01 CLEAR SOUNDING 0004 01 CLOUDY COUNDING 002050 0019 0001 01 CHANNEL 1 14.71 MICROMETERS 0002 01 CHANNEL 2 14.37 MICROMETERS 0003 01 CHANNEL 3 14.06 MICROMETERS 0004 01 CHANNEL 4 13.64 MICROMETERS 0005 01 CHANNEL 5 13.37 MICROMETERS 0006 01 CHANNEL 6 12.66 MICROMETERS 0007 01 CHANNEL 7 12.02 MICROMETERS 0008 01 CHANNEL 8 11.03 MICROMETERS 0009 01 CHANNEL 9 9.71 MICROMETERS 0010 01 CHANNEL 10 7.43 MICROMETERS 0011 01 CHANNEL 11 7.02 MICROMETERS 0012 01 CHANNEL 12 6.51 MICROMETERS 0013 01 CHANNEL 13 4.57 MICROMETERS 0014 01 CHANNEL 14 4.52 MICROMETERS 0015 01 CHANNEL 15 4.45 MICROMETERS 0016 01 CHANNEL 16 4.13 MICROMETERS 0017 01 CHANNEL 17 3.98 MICROMETERS 0018 01 CHANNEL 18 3.74 MICROMETERS 0019 01 CHANNEL 19 0.969 MICROMETERS 002051 0004 0001 01 MAXIMUM/MINIMUM THERMOMETERS 0002 01 AUTOMATED INSTRUMENT 0003 01 THERMOGRAPH 0015 01 MISSING VALUE 002052 0005 0001 01 CHANNEL 1 0.55-.75 MICROMETERS 0002 01 CHANNEL 2 3.9 MICROMETERS 0003 01 CHANNEL 3 6.7 MICROMETERS 0004 01 CHANNEL 4 10.7 MICROMETERS 0005 01 CHANNEL 5 12.0 MICROMETERS 002053 0005 0000 01 OBSERVED BRIGHTNESS TEMPERATURES 0001 01 BRIGHTNESS TEMPERATURE WITH BIAS CORRECTION APPLIED 0002 01 BRIGHTNESS TEMPERATURE CALCULATED FROM FIRST GUESS 0003 01 BRIGHTNESS TEMPERATURE CALCULATED FROM SOUNDING 0015 01 MISSING VALUE 002054 0006 0000 01 PARAMETER DERIVED USING OBSERVED SOUNDER BRIGHTNESS TEMPERATURES 0001 01 PARAMETER DERIVED USING OBSERVED IMAGER BRIGHTNESS TEMPERATURES 0002 01 PARAMETER DERIVED USING FIRST GUESS INFORMATION 0003 01 PARAMETER DERIVED USING NMC ANALYSIS INFORMATION 0004 01 PARAMETER DERIVED USING RADIOSONDE INFORMATION 0015 01 MISSING VALUE 002055 0010 0000 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS RADIOSONDE 0001 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS FIRST GUESS 0002 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS FIRST GUESS 0003 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS RETRIEVAL 0004 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS FORST GUESS 0005 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS IMAGER 0006 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS SOUNDER 0007 01 STATISTICS GENERATED FOR RADIOSONDE 0008 01 STATISTICS GENERATED FOR FIRST GUESS 002056 0006 0000 01 SUMS OF DIFFERENCE 0001 01 SUMS OF SQUARED DIFFERENCES 0002 01 SAMPLE SIZE 0003 01 MINIMUM DIFFERENCE 0004 01 MAXIMUM DIFFERENCE 0015 01 MISSING VALUE 002057 0007 0000 01 NESTED GRID MODEL (NMG) 0001 01 AVIATION MODEL(AVN) 0002 01 MEDIUM RANGE FORECAST (MRF) MODEL 0003 01 GLOBAL DATA ASSIMILATION SYSTEM (GDAS) FORECAST MODEL 0004 01 PRIOR SOUNDINGS (WITHIN 3 HOURS OF CURRENT TIME) 0005 01 CLIMATOLOGY 002058 0005 0000 01 12 HOUR AND 18 HOUR 0001 01 18 HOUR AND 24 HOUR 0002 01 6 HOUR AND 12 HOUR 0003 01 GREATER THAN 24 HOUR 0015 01 MISSING VALUE 002059 0005 0000 01 NCEP NESTED GRID MODEL ANALYSIS 0001 01 NCEP AVIATION MODEL ANALYSIS 0002 01 NCEP MEDIUM RANGE FORECAST MODEL ANALYSIS 0003 01 NCEP GLOBAL DATA ASSIMILATION SYSTEM FORECAST MODEL ANALYSIS 0015 01 MISSING VALUE 002060 0007 0000 01 CURRENT SURFACE HOURLY REPORTS 0001 01 CURRENT SHIP REPORTS 0002 01 CURRENT BUOY REPORTS 0003 01 ONE HOUR OLD SURFACE HOURLY REPORTS 0004 01 ONE HOUR SHIP OLD REPORTS 0005 01 ONE HOUR BUOY OLD REPORTS 0015 01 MISSING VALUE 002061 0003 0000 01 INERTIAL NAVIGATOR SYSTEM 0001 01 OMEGA 0007 01 MISSING VALUE 002062 0007 0000 01 ASDAR 0001 01 ASDAR(ACARS ALSO AVAILABLE BUT NOT OPERATIVE) 0002 01 ASDAR(ACARS ALSO AVAILABLE AND OPERATIVE) 0003 01 ACARS 0004 01 ACARS(ASDAR ALSO AVALILABLE BUT NOT OPERATIVE) 0005 01 ACARS(ASDAR ALSO AVAILABLE AND OPERATIVE) 0015 01 MISSING VALUE 002064 0004 0000 01 GOOD 0001 01 BAD 0002 01 RESERVED 0003 01 MISSING VALUE 002066 0004 0000 01 TRS 2000 0001 01 IMS 1500C 0062 01 OTHER 0063 01 MISSING VALUE 002070 0013 0000 01 ACTUAL LOCATION IN SECONDS 0001 01 ACTUAL LOCATION IN MINUTES 0002 01 ACTUAL LOCATION IN DEGREES 0003 01 ACTUAL LOCATION IN DECIDEGREES 0004 01 ACTUAL LOCATION OM CENTIDEGREES 0005 01 REFERENCED TO CHECKPOINT IN SECONDS 0006 01 REFERENCED TO CHECKPOINT IN MINUTES 0007 01 REFERENCED TO CHECKPOINT IN DEGREES 0008 01 REFERENCED TO CHECKPOINT IN DECIDEGREES 0009 01 REFERENCED TO CHECKPOINT IN CENTIDEGREES 0010 01 ACTUAL LOCATION IN TENTHS OF A MINUTE 0011 01 REFERENCED TO CHECKPOINT IN TENTHS OF A MINUTE 0015 01 MISSING VALUE 002080 0005 0000 01 KAYSAM 0001 01 TOTEX 0002 01 KKS 0062 01 OTHER 0063 01 MISSING VALUE 002081 0009 0000 01 GP26 0001 01 GP28 0002 01 GP30 0003 01 HM26 0004 01 HM28 0005 01 HM30 0006 01 SV16 0030 01 OTHER 0031 01 MISSING VALUE 002083 0006 0000 01 HIGH BAY 0001 01 LOW BAY 0002 01 BALLOON INFLATION LAUNCH SYSTEM (BILS) 0003 01 ROOF-TOP BILS 0014 01 OTHER 0015 01 MISSING VALUE 002084 0005 0000 01 HYDROGEN 0001 01 HELIUM 0002 01 NATURAL GAS 0014 01 OTHER 0015 01 MISSING VALUE 002095 0005 0000 01 CAPACITANCE ANEROID 0001 01 DERIVED FROM GPS 0002 01 RESISTIVE STRAIN GAUGE 0030 01 OTHER 0031 01 MISSING VALUE 002096 0005 0000 01 ROD THERMISTOR 0001 01 BEAD THERMISTOR 0002 01 CAPACITANCE BEAD 0030 01 OTHER 0031 01 MISSING VALUE 002097 0008 0000 01 VIZ MARK II CARBON HYGRISTOR 0001 01 VIZ B2 HYGRISTOR 0002 01 VAISALA A-HUMICAP 0003 01 VAISALA H-HUMICAP 0004 01 CAPACITANCE SENSOR 0005 01 VAISALA RS90 0030 01 OTHER 0031 01 MISSING VALUE 002098 0005 0000 01 HH POLARISATION 0001 01 VV POLARISATION 0002 01 HV POLARISATION REAL VALUED COMPONENT 0003 01 HV POLARISATION IMAGINARY VALUED COMPONENT 0007 01 MISSING VALUE 002101 0010 0000 01 CENTRE FRONT-FED PARABOLOID 0001 01 OFFSET FRONT-FED PARABOLOID 0002 01 CENTRE CASSEGRAIN PARABOLOID 0003 01 OFFSET CASSEGRAIN PARABOLOID 0004 01 PLANAR ARRAY 0005 01 COAXIAL-COLLINEAR ARRAY 0006 01 YAGI ELEMENTS ARRAY 0007 01 MICROSTRIP 0014 01 OTHER 0015 01 MISSING VALUE 002103 0002 0001 01 RADAR ANTENNA IS PROTECTED BY A RADOME 0002 01 MISSING VALUE 002104 0007 0000 01 HORIZONTAL POLARISATION 0001 01 VERTICAL POLARISATION 0002 01 RIGHT CIRCULAR POLARISATION 0003 01 LEFT CIRCULAR POLARSZATION 0004 01 HORIZONTAL AND VERTICAL POLARISATION 0005 01 RIGHT AND LEFT CIRCULAR POLARISATION 0015 01 MISSING VALUE 002115 0007 0000 01 PDB 0001 01 RSOIS 0002 01 ASOS 0003 01 PSYCHROMETER 0004 01 F420 0030 01 OTHER 0031 01 MISSING VALUE 002119 0008 0000 01 INTERMEDIATE FREQUENCY CALIBRATION MODE (IFCAL) 0001 01 BUILT-IN TEST EQUIPMENT DIGITAL (BITE DGT) 0002 01 BUILT-IN TEST EQUIPMENT RADIO FREQUENCY (BITE RF) 0003 01 PRESET TRACKING (PSET TRK) 0004 01 PRESET LOOP OUT 0005 01 ACQUISITION 0006 01 TRACKING 0007 01 MISSING VALUE 002131 0001 0001 01 STC OPERATIONAL 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROPHOTOMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED FOR FUTURE USE 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002216 0017 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG(1) 0015 01 SLICES PER COMPOSITE FLAG(2) 0016 01 SLICES PER COMPOSITE FLAG(3) 0017 01 MISSING VALUE 002131 0002 0001 01 STC OPERATIONAL 0003 01 MISSING VALUE 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN, ATTENUATOR #0 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002145 0009 0000 01 WAVELENGTH AD ORDINARY SETTING 0001 01 WAVELENGTH BD ORDINARY SETTING 0002 01 WAVELENGTH CD ORDINARY SETTING 0003 01 WAVELENGTH CC' ORDINARY SETTING 0004 01 WAVELENGTH AD FOCUSSING IMAGE 0005 01 WAVELENGTH BD FOCUSSING IMAGE 0006 01 WAVELENGTH CD FOCUSSING IMAGE 0007 01 WAVELENGTH CC' FOCUSSING IMAGE 0015 01 MISSING VALUE 002146 0011 0000 01 ON DIRECT SUN 0001 01 ON DIRECT MOON 0002 01 ON BLUE ZENITH SKY 0003 01 ON ZENITH CLOUD (UNIFORM STRATIFIED LAYER OF SMALL OPACITY) 0004 01 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF MEDIUM OPACITY) 0005 01 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF LARGE OPACITY) 0006 01 ON ZENITH CLOUD (HIGHLY VARIABLE OPACITY, WITH OR WITOUT PRECIPITATION) 0007 01 ON ZENITH CLOUD (FOG) 0008 01 ON ZENITH HAZE 0009 01 ON DIRECT SUN THROUGH THIN CLOUD, FOG OR HAZE 0015 01 MISSING VALUE 002148 0006 0000 01 RESERVED 0001 01 ARGOS 0002 01 GPS 0003 01 GOES DCP 0004 01 METEOSAT DCP 0031 01 MISSING VALUE 002149 0022 0000 01 UNSPECIFIED DRIFTING BUOY 0001 01 STANDARD LAGRANGIAN DRIFTER (GLOBAL DRIFTER PROGRAMME) 0002 01 STANDARD FGGE TYPE DRIFTING BUOY 0003 01 WIND MEASURING FGGE TYPE DRIFTING BUOY 0004 01 ICE FLOAT 0008 01 UNSPECIFIED SUB-SURFACE FLOAT 0009 01 SOFAR 0010 01 ALACE 0011 01 MARVOR 0012 01 RAFOS 0016 01 UNSPECIFIED MOORED BUOY 0017 01 NOMAD 0018 01 3-METRE DISCUS 0019 01 10-12-METRE DISCUS 0020 01 ODAS 30 SERIES 0021 01 ATLAS (E.G. TAO AREA) 0022 01 TRITON BUOY 0023 01 RESERVED 0024 01 OMNIDIRECTIONAL WAVERIDER 0025 01 DIRECTIONAL WAVERIDER 0026 01 SUB-SURFACE ARGO FLOAT 0063 01 MISSING VALUE 002150 0055 0000 01 RESERVED 0001 01 HIRS 1 0002 01 HIRS 2 0003 01 HIRS 3 0004 01 HIRS 4 0005 01 HIRS 5 0006 01 HIRS 6 0007 01 HIRS 7 0008 01 HIRS 8 0009 01 HIRS 9 0010 01 HIRS 10 0011 01 HIRS 11 0012 01 HIRS 12 0013 01 HIRS 13 0014 01 HIRS 14 0015 01 HIRS 15 0016 01 HIRS 16 0017 01 HIRS 17 0018 01 HIRS 18 0019 01 HIRS 19 0020 01 HIRS 20 0021 01 MSU 1 0022 01 MSU 2 0023 01 MSU 3 0024 01 MSU 4 0025 01 SSU 1 0026 01 SSU 2 0027 01 SSU 3 0028 01 AMSU-A 1 0029 01 AMSU-A 2 0030 01 AMSU-A 3 0031 01 AMSU-A 4 0032 01 AMSU-A 5 0033 01 AMSU-A 6 0034 01 AMSU-A 7 0035 01 AMSU-A 8 0036 01 AMSU-A 9 0037 01 AMSU-A 10 0038 01 AMSU-A 11 0039 01 AMSU-A 12 0040 01 AMSU-A 13 0041 01 AMSU-A 14 0042 01 AMSU-A 15 0043 01 AMSU-B 1 0044 01 AMSU-B 2 0045 01 AMSU-B 3 0046 01 AMSU-B 4 0047 01 AMSU-B 5 0048 01 AVHRR 1 0049 01 AVHRR 2 0050 01 AVHRR 3A 0051 01 AVHRR 3B 0052 01 AVHRR 4 0053 01 AVHRR 5 0063 01 MISSING VALUE 002151 0009 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A1-1 0004 01 AMSU-A1-2 0005 01 AMSU-A2 0006 01 AMSU-B 0007 01 AVHRR 2047 01 MISSING VALUE 002152 0011 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 002158 0008 0001 01 MISMATCH IN RED VEC HPA 0002 01 MISMATCH IN RED VEC RFSS 0003 01 PTR CALIBRATION BAND 320 MHZ (KU) 0004 01 PTR CALIBRATION BAND 80 MHZ (KU) 0005 01 PTR CALIBRATION BAND 20 MHZ (KU) 0006 01 PTR CALIBRATION BAND 160 MHZ (S) 0007 01 KU FLIGHT CALIBRATION PARAMETERS AVAILABLE 0008 01 S FLIGHT CALIBRATION PARAMETERS AVAILABLE 002159 0005 0001 01 TEMPERATURE INCONSISTENCY 0002 01 DATA IS MISSING 0003 01 REDUNDANCY CHANNEL 0004 01 POWER BUS PROTECTION 0005 01 OVERVOLTAGE/OVERLOAD PROTECTION 002163 0015 0000 01 AUTO EDITOR 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002164 0004 0000 01 LP - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0007 01 MISSING VALUE 002166 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 008035 0000 0000 01 GLOBAL 0001 01 REGIONAL 0002 01 NATIONAL 0003 01 SPECIAL 0004 01 BILATERAL 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING0015 01 MISSING VALUE 002167 0004 0000 01 METHOD NOT DEFINE 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002169 0004 0000 01 CUP ROTOR 0001 01 PROPELLER ROTOR 0002 01 WIND OBSERVATION THROUGH AMBIENT NOISE (WOTAN) 0015 01 MISSING VALUE 002172 0003 0001 01 RETRIEVAL FROM A NADIR SOUNDING 0002 01 RETRIEVAL FROM A LIMB SOUNDING 0255 01 MISSING VALUE 002175 0009 0000 01 MANUAL MEASUREMENT 0001 01 TIPPING BUCKET METHOD 0002 01 WEIGHING METHOD 0003 01 OPTICAL METHOD 0004 01 PRESSURE METHOD 0005 01 FLOAT METHOD 0006 01 DROP COUNTER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002176 0006 0000 01 MANUAL OBSERVATION 0001 01 VIDEO CAMERA METHOD 0002 01 INFRA-RED METHOD 0003 01 LASER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002177 0005 0000 01 MANUAL OBSERVATION 0001 01 ULTRASONIC METHOD 0002 01 VIDEO CAMERA METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002178 0005 0000 01 MANUAL OBSERVATION 0001 01 OPTICAL METHOD 0002 01 CAPACITIVE METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002179 0006 0000 01 MANUAL OBSERVATION 0001 01 VAISALA ALGORITHM 0002 01 ASOS (FAA) ALGORITHM 0003 01 AWOS (CANADA) ALGORITHM 0014 01 OTHER 0015 01 MISSING VALUE 002180 0008 0000 01 MANUAL OBSERVATION 0001 02 OPTICAL SCATTER SYSTEM COMBINED WITH PRECIPITATION OCCURRENCE SENSING SYSTEM 0002 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF VISIBLE LIGHT 0003 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF INFRARED LIGHT 0004 01 INFRARED LIGHT EMITTING DIODE (IRED) SYSTEM 0005 01 DOPPLER RADAR SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002181 0005 0001 01 RAIN DETECTOR 0002 01 FREEZING RAIN SENSOR 0003 01 ICE DETECTION SENSOR 0004 01 HAIL AND ICE PELLET SENSOR 0020 01 OTHER 002182 0007 0000 01 MANUAL MEASUREMENT 0001 01 TRANSMISSOMETER SYSTEM (BASE > 25) 0002 01 TRANSMISSOMETER SYSTEM (BASE < 25 M) 0003 01 FORWARD SCATTER SYSTEM 0004 01 BACK SCATTER SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002183 0009 0000 01 MANUAL OBSERVATION 0001 01 CEILOMETER SYSTEM 0002 01 INFRARED CAMERA SYSTEM 0003 01 MICROWAVE VISUAL CAMERA SYSTEM 0004 01 SKY IMAGER SYSTEM 0005 01 VIDEO TIME LAPSED CAMERA SYSTEM 0006 01 MICRO PULSE LIDAR (MPL) SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002184 0008 0000 01 MANUAL OBSERVATION 0001 01 LIGHTNING IMAGING SENSOR 0002 01 ELECTRICAL STORM IDENTIFICATION SENSOR 0003 01 MAGNETIC FINDER SENSOR 0004 01 LIGHTNING STRIKE SENSOR 0005 01 FLASH COUNTER 0014 01 OTHER 0015 01 MISSING VALUE 002185 0007 0000 01 MANUAL MEASUREMENT 0001 01 BALANCED FLOATING METHOD 0002 01 PRESSURE METHOD 0003 01 ULTRASONIC METHOD 0004 01 HYDRAULIC METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002186 0023 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 002187 0011 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 002188 0010 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 002189 0004 0001 01 MANUAL OBSERVATION 0002 01 ALL LIGHTNING STRIKES WITHOUT DISCRIMINATION 0003 01 LIGHTNING STRIKES CLOUD TO GROUND ONLY 0004 02 ALL LIGHTNING STRIKES WITH DISCRIMINATION BETWEEN CLOUD TO GROUND AND CLOUD TO CLOUD 002194 0002 0000 01 FGGE 0015 01 MISSING VALUE 002196 0017 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 ( TIROS NOAA 6 TO NOAA 13) 0003 01 TIROS 2 ( NOAA-14 ONWARD) 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0271 01 GMS 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME(MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME(MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME(MSG) 0351 01 GOMS 0381 01 FY-2 0512 01 MISSING VALUE 002199 0004 0000 01 RESERVED 0001 01 TABLE WITH FULL RANGE OF HUMMIDITY VALUES IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002231 0015 0000 01 RESERVED 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002232 0004 0000 01 P - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0003 01 MISSING VALUE 002251 0004 0000 01 METHOD NOT DEFINED 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002252 0012 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 0031 01 ALL BITS SET - MISSING VALUE 002254 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 004059 0005 0001 01 00 UTC 0002 01 06 UTC 0003 01 12 UTC 0004 01 18 UTC 0005 01 OTHER HOURS 008001 0007 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT LEVEL, TEMPERATURE AND/OR RELATIVE HUMIDITY 0006 01 SIGNIFICANT LEVEL, WIND 0007 01 MISSING VALUE 008002 0013 0000 02 OBSERVING RULES FOR BASE OF LOWEST CLOUD AND CLOUD TYPES OF FM 12-IX EXT. SYNOP AND FM 13-IX EXT. SHIP APPLY 0001 01 FIRST NON - CB SIGNIFICANT LAYER 0002 01 SECOND NON - CB SIGNIFICANT LAYER 0003 01 THIRD NON - CB SIGNIFICANT LAYER 0004 01 CUMULONIMBUS LAYER 0005 01 CEILING 0006 01 CLOUD NOT DETECTED BELOW THE FOLLOWING HEIGHT(S) 0007 01 LOW CLOUD 0008 01 MIDDLE CLOUD 0009 01 HIGH CLOUD 0010 02 CLOUD LAYER WITH BASE BELOW THE STATION LEVEL AND TOP ABOVE THE STATION LEVEL 0011 01 CLOUD LAYER WITH BASE AND TOP BELOW THE STATION LEVEL 0063 01 MISSING VALUE 008003 0009 0000 01 SURFACE 0001 01 BASE OF SATELLITE SOUNDING 0002 01 CLOUD TOP 0003 01 TROPOPAUSE 0004 01 PRECIPITABLE WATER 0005 01 SOUNDING RADIANCES 0006 01 MEAN TEMPERATURES 0007 01 OZON 0063 01 MISSING VALUE 008004 0006 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING(DES) 0007 01 MISSING VALUE 008005 0005 0000 01 RESERVED 0001 01 STORM CENTRE 0002 01 OUTER LIMIT OR EDGE OF STORM 0003 01 LOCATION OF MAXIMUM WIND 0004 01 LOCATION OF STORM IN THE PERTURBED ANALYSIS 0005 01 LOCATION OF STORM IN THE ANALYSIS 0015 01 MISSING VALUE 008006 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 PROMINENT MAXIMUM LEVEL 0005 01 PROMINENT MINIMUM LEVEL 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008007 0005 0000 01 POINT 0001 01 LINE 0002 01 AREA 0003 01 VOLUME 0015 01 MISSING VALUE 008008 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 LEVEL OF BETA RADIATION MAXIMUM 0005 01 LEVEL OF GAMMA RADIATION MAXIMUM 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008009 0016 0000 01 LEVEL FLIGHT, ROUTINE OBSERVATION, UNSTEADY 0001 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED, UNSTEADY 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING (DES) 0007 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0008 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0009 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0010 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0011 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0012 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0013 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0014 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0015 01 MISSING VALUE 008010 0013 0000 01 RESERVED 0001 01 BARE SOIL 0002 01 BARE ROCK 0003 01 LAND GRASS COVER 0004 01 WATER (LAKE, SEA) 0005 01 FLOOD WATER UNDERNEATH 0006 01 SNOW 0007 01 ICE 0008 01 RUNWAY OR ROAD 0009 01 SHIP OR PLATFORM DECK IN STEEL 0010 01 SHIP OR PLATFORM DECK IN WOOD 0011 01 SHIP OR PLATFORM DECK PARTLY COVERED WITH RUBBER MAT 0031 01 MISSING VALUE 008011 0026 0000 01 QUASI-STATIONARY FRONT AT THE SURFACE 0001 01 QUASI-STATIONARY FRONT ABOVE THE SURFACE 0002 01 WARM FRONT AT THE SURFACE 0003 01 WARM FRONT ABOVE THE SURFACE 0004 01 COLD FRONT AT THE SURFACE 0005 01 COLD FRONT ABOVE THE SURFACE 0006 01 OCCLUSION 0007 01 INSTABILITY LINE 0008 01 INTERTROPICAL FRONT 0009 01 CONVERGENCE LINE 0010 01 JET STREAM 0011 01 CLOUD CLEAR 0012 01 CLOUD 0013 01 TURBULENCE 0014 01 STORM 0015 01 AIRFRAME ICING 0016 01 PHENOMENON 0017 01 VOLCANO 0018 01 ATMOSPHERICS 0020 01 SPECIAL CLOUDS 0021 01 THUNDERSTORM (VAL) 0022 01 TROPICAL CYCLONE (VAL) 0023 01 MOUNTAIN WAVE (VAL) 0024 01 DUSTSTORM (VAL) 0025 01 SANDSTORM (VAL) 0063 01 MISSING VALUE 008012 0004 0000 01 LAND 0001 01 SEA 0002 01 RESERVED 0003 01 MISSING VALUE 008013 0004 0000 01 NIGHT 0001 01 DAY 0002 01 RESERVED 0003 01 MISSING VALUE 008014 0010 0000 01 10-MINUTE MEAN VALUE - NORMAL VALUE 0001 01 10-MINUTE MEAN VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0002 01 10-MINUTE MEAN VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0003 01 ONE MINUTE MINIMUM VALUE - NORMAL VALUE 0004 01 ONE MINUTE MINIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0005 01 ONE MINUTE MINIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0006 01 ONE MINUTE MAXIMUM VALUE - NORMAL VALUE 0007 01 ONE MINUTE MAXIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0008 01 ONE MINUTE MAXIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0015 01 MISSING VALUE 008016 0005 0000 01 NOSIG 0001 01 BECMG 0002 01 TEMPO 0003 01 FM 0007 01 MISSING VALUE 008017 0004 0000 01 FM 0001 01 TL 0002 01 AT 0003 01 MISSING VALUE 008018 0005 0001 01 LAND IS PRESENT 0002 01 SURFACE ICE MAP INDICATES ICE IS PRESENT 0011 01 ICE MAP DATA NOT AVAILABLE 0012 01 ATTENUATION MAP DATA NOT AVAILABLE 0017 01 MISSING VALUE 008021 0028 0000 01 RESERVED 0001 01 TIME SERIES 0002 01 TIME AVERAGED 0003 01 ACCUMULATED 0004 01 FORECAST 0005 01 FORECAST TIME SERIES 0006 01 FORECAST TIME AVERAGED 0007 01 FORECAST ACCUMULATED 0008 01 ENSEMBLE MEAN 0009 01 ENSEMBLE MEAN TIME SERIES 0010 01 ENSEMBLE MEAN TIME AVERAGED 0011 01 ENSEMBLE MEAN ACCUMULATED 0012 01 ENSEMBLE MEAN FORECAST 0013 01 ENSEMBLE MEAN FORECAST TIME SERIES 0014 01 ENSEMBLE MEAN FORECAST AVERAGED 0015 01 ENSEMBLE MEAN FORECAST ACCUMULATED 0016 01 ANALYSIS 0017 01 START OF PHENOMENON 0018 01 RADIOSONDE LAUNCH TIME 0019 01 START OF ORBIT 0020 01 END OF ORBIT 0021 01 TIME OF ASCENDING NODE 0022 01 TIME OF OCCURENCE OF WIND SHIFT 0027 01 FIRST GUESS --NOT WMO ENTRY 0028 01 START OF SCAN --NOT WMO ENTRY 0029 01 END OF SCAN --NOT WMO ENTRY 0031 01 MISSING VALUE 008023 0010 0002 01 MAXIMUM VALUE 0003 01 MINIMUM VALUE 0004 01 MEAN VALUE 0005 01 MEDIAN VALUE 0006 01 MODAL VALUE 0007 01 MEAN ABSOLUTE ERROR 0009 01 BEST ESTIMATE OF STANDARD DEVIATION (N-1) 0010 01 STANDARD DEVIATION 0011 01 HARMONIC MEAN 0012 01 ROOT MEAN SQUARE VECTOR ERROR 0013 01 ROOT-MEAN-SQUARE 0032 01 PROBABILITY OF GROSS ERROR 0033 01 PRESCRIBED OBSERVATION ERROR 0034 01 PERSISTENCE OBSERVATION ERROR 0035 01 FINAL OBSERVATION ERROR 0036 01 REPRESENTATIVNESS OBSERVATION ERROR 0063 01 MISSING 008024 0012 0002 01 OBSERVED MINUS MAXIMUM 0003 01 OBSERVED MINUS MINIMUM 0004 01 OBSERVED MINUS MEAN 0005 01 OBSERVED MINUS MEDIAN 0006 01 OBSERVED MINUS MODE 0011 01 OBSERVED MINUS CLIMATOLOGY (ANOMALY) 0012 01 OBSERVED MINUS ANALYZED VALUE 0013 01 OBSERVED MINUS INITIALISED ANALYZED VALUE 0014 01 OBSERVED MINUS FORECAST VALUE 0021 01 OBSERVED MINUS INTERPOLATED VALUE 0022 01 OBSERVED MINUS HYDROSTATICALLY CALCULATED VALUE 0032 01 OBSERVED MINUS FIRST GUESS 0033 01 OBSERVED MINUS ANALYSIS 0034 01 OBSERVED MINUS INITIALIZED ANALYSIS 0063 01 MISSING 008025 0005 0000 02 UNIVERSAL TIME COORDINATED (UTC) MINUS LOCAL STANDARD TIME (LST) 0001 01 LOCAL STANDARD TIME 0002 01 UNIVERSAL TIME COORDINATED (UTC) MINUS SATELLITE CLOCK 0005 01 TIME DIFFERENCE FROM EDGE OF PROCESSING SEGMENT 0015 01 MISSING 008026 0005 0000 01 AVERAGING KERNEL MATRIX 0001 01 CORRELATION MATRIX 0002 01 LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L FROM C=LLT) 0003 01 INVERSE LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L**-1) 0063 01 MISSING VALUE 008027 0007 0000 01 ASSUME NO PARTICULAR MATRIX GEOMETRY 0001 01 DIAGONAL MATRIX 0002 01 TRIDIAGONAL MATRIX 0003 01 MULTI-DIAGONAL MATRIX (GENERAL CASE: DIAGONAL AND ABOVE) 0004 01 LOWER TRIANGULAR MATRIX 0005 01 SYMETRICAL MATRIX 0063 01 MISSING VALUE 008029 0005 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 ENCLOSED SEA OR LAKE 0002 01 CONTINENTAL ICE 0003 01 LAND 0255 01 MISSING 008033 0004 0000 01 RESERVED 0001 01 PERCENTAGE CONFIDENCE CALCULATED USING CLOUD FRACTION 0002 01 PERCENTAGE CONFIDENCE CALCULATED USING STANDARD DEVIATION OF TEMPERATURE 0003 02 PERCENTAGE CONFIDENCE CALCULATED USING PROBABILITY OF THE CLOUD CONTAMINATION 0004 01 PERCENTAGE CONFIDENCE CALCULATED USING NORMALITY OF DISTRIBUTION 0127 01 MISSING 008035 0008 0000 01 GLOBAL 0001 01 REGIONAL 0002 01 NATIONAL 0003 01 SPECIAL 0004 01 BILATERAL 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING 008036 0008 0000 01 WMO SECRETARIAT 0001 01 WMO 0002 01 RSMC 0003 01 NMC 0004 01 RTH 0005 01 OBSERVING SITE 0006 01 OTHER 0007 01 MISSING 008039 0008 0000 01 ISSUE TIME OF FORECAST 0001 01 TIME OF COMMNENCEMENT OF PERIOD OF THE FORECAST 0002 01 TIME OF ENDING OF PERIOD OF THE FORECAST 0003 01 FORECSAT TIME OF MAXIMUM TEMPERATURE 0004 01 FORECSAT TIME OF MINIMUM TEMPERATURE 0005 01 TIME OF BEGINNING OF THE FORECAST 0006 01 TIME OF ENDING OF THE FORECAST 0063 01 MISSING VALUE 008040 0044 0000 01 HIGH RESOLUTION DATA SAMPLE 0001 01 WITHIN 20 HPA OF SURFACE 0002 02 PRESSURE LESS THAN 10 HPA (I.E., 9, 8, 7, ETC.) WHEN NO OTHER REASON APPLIES 0003 01 BASE PRESSURE LEVEL FOR STABILITY INDEX 0004 01 BEGIN DOUBTFUL TEMPERATURE, HEIGHT DATA 0005 01 BEGIN MISSING DATA (ALL ELEMENTS) 0006 01 BEGIN MISSING RH DATA 0007 01 BEGIN MISSING TEMPERATURE DATA 0008 02 HIGHEST LEVEL REACHED BEFORE BALLOON DESCENT BECAUSE OF ICING OR TURBULENCE 0009 01 END DOUBTFUL TEMPERATURE, HEIGHT DATA 0010 01 END MISSING DATA (ALL ELEMENTS) 0011 01 END MISSING RH DATA 0012 01 END MISSING TEMPERATURE DATA 0013 01 ZERO DEGREES C CROSSING(S) FOR RADAT 0014 01 STANDARD PRESSURE LEVEL 0015 01 OPERATOR ADDED LEVEL 0016 01 OPERATOR DELETED LEVEL 0017 01 BALLOON RE-ASCENDED BEYOND PREVIOUS HIGHEST ASCENT LEVEL 0018 01 SIGNIFICANT RH LEVEL 0019 01 RH LEVEL SELECTION TERMINATED 0020 01 SURFACE LEVEL 0021 01 SIGNIFICANT TEMPERATURE LEVEL 0022 01 MANDATORY TEMPERATURE LEVEL 0023 01 FLIGHT TERMINATION LEVEL 0024 01 TROPOPAUSE(S) 0025 01 AIRCRAFT REPORT 0026 01 INTERPOLATED (GENERATED) LEVEL 0027 01 MANDATORY WIND LEVEL 0028 01 SIGNIFICANT WIND LEVEL 0029 01 MAXIMUM WIND LEVEL 0030 01 INCREMENTAL WIND LEVEL (FIXED REGIONAL) 0031 01 INCREMENTAL HEIGHT LEVEL (GENERATED) 0032 01 WIND TERMINATION LEVEL 0033 01 PRESSURE 100 TO 110 HPA, WHEN NO OTHER REASON APPLIES 0040 01 SIGNIFICANT THERMODYNAMIC LEVEL (INVERSION) 0041 01 SIGNIFICANT RH LEVEL ( PER NCDC CRITERIA) 0042 01 SIGNIFICANT TEMPERATURE LEVEL (PER NCDC) 0043 01 BEGIN MISSING WIND DATA 0044 01 END MISSING WIND DATA 0060 01 LEVEL OF 80-KNOT ISOTACH ABOVE JET 0061 01 LEVEL OF 80-KNOT ISOTACH BELOW JET 0062 01 OTHER 0063 01 MISSING VALUE 008041 0009 0000 01 PARENT SITE 0001 01 OBSERVATION SITE 0002 01 BALLOON MANUFACTURE DATE 0003 01 BALLOON LAUNCH POINT 0004 01 SURFACE OBSERVATION 0005 01 SURFACE OBSERVATION DISPLACEMENT FROM LAUNCH POINT 0006 01 FLIGHT LEVEL OBSERVATION 0007 01 FLIGHT LEVEL TERMINATION POINT 0031 01 MISSING VALUE 008042 0014 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT TEMPERATURE LEVEL 0006 01 SIGNIFICANT HUMIDITY LEVEL 0007 01 SIGNIFICANT WIND LEVEL 0008 01 BEGINNING OF MISSING TEMPERATURE DATA 0009 01 END OF MISSING TEMPERATURE DATA 0010 01 BEGINNING OF MISSING HUMIDITY DATA 0011 01 END OF MISSING HUMIDITY DATA 0012 01 BEGINNING OF MISSING WIND DATA 0013 01 END OF MISSING WIND DATA 0018 01 ALL 18 MISSING 008043 0000 01 OZONE, O3,10028-15-6 0001 01 WATER VAPOUR, H2O, 7732-18-5 0002 01 METHANE, CH4, 74-82-8 0003 01 CARBON DIOXIDE, CO2, 37210-16-5 0004 01 CARBON MONOXIDE, CO, 630-08-0 0005 01 NITROGEN DIOXIDE, NO2, 10102-44-0 0006 01 NITROUS OXIDE, N2O, 10024-97-2 0007 01 FORMALDEHYDE, HCHO, 50-00-0 0008 01 SULFUR DIOXIDE, SO2, 7446-09-5 0009 01 BROMINE OXIDE, BRO, 15656-19-6 0010 01 CHLORINE DIOXIDE, OCLO, 10049-04-4 0011 01 NITROGEN MONOXIDE, NO, 10102-43-9 0012 01 AMMONIA, NH3, 7664-41-7 0025 01 PARTICULATE MATTER < 1.0 MICRONS 0026 01 PARTICULATE MATTER < 2.5 MICRONS 0027 01 PARTICULATE MATTER < 10 MICRONS 0028 01 AEROSOLS GENERIC 0029 01 SMOKE GENERIC 0030 01 CRUSTAL MATERIAL (GENERIC DUST) 0031 01 VOLCANIC ASH 0255 01 MISSING 008050 0011 0000 01 RESERVED 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MAXIMUM TEMPERATURE 0008 01 MINIMUM TEMPERATURE 0009 01 WIND 0015 01 MISSING VALUE 008051 0007 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MISSING VALUE 008052 0026 0000 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 10 M/S 0001 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 20 M/S 0002 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 30 M/S 0003 01 MAXIMUM TEMPERATURE LESS THAN 273.2 K 0004 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 298.2 K 0005 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 303.2 K 0006 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 308.2 K 0007 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 313.2 K 0008 01 MINIMUM TEMPERATURE LESS THAN 273.2 K 0009 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 273.2 K 0010 01 PRECIPITATION EQUAL TO OR MORE THAN 1.0 KG/M**2 0011 01 PRECIPITATION EQUAL TO OR MORE THAN 5.0 KG/M**2 0012 01 PRECIPITATION EQUAL TO OR MORE THAN 10.0 KG/M**2 0013 01 PRECIPITATION EQUAL TO OR MORE THAN 50.0 KG/M**2 0014 01 PRECIPITATION EQUAL TO OR MORE THAN 100.0 KG/M**2 0015 01 PRECIPITATION EQUAL TO OR MORE THAN 150.0 KG/M**2 0016 01 SNOW DEPTH MORE THAN 0.0 M 0017 01 SNOW DEPTH MORE THAN 0.01 M 0018 01 SNOW DEPTH MORE THAN 0.10 M 0019 01 SNOW DEPTH MORE THAN 0.50 M 0020 01 HORIZONTAL VISIBILITY LESS THAN 50 M 0021 01 HORIZONTAL VISIBILITY LESS THAN 100 M 0022 01 HORIZONTAL VISIBILITY LESS THAN 1000 M 0023 01 HAIL 0024 01 THUNDERSTORM 0031 01 MISSING VALUE 008053 0004 0000 01 VALUE OCCURED ON ONLY ONE DAY IN THE MONTH 0001 01 VALUE OCCURED ON MORE THAN ONE DAY IN THE MONTH 0002 01 RESERVED 0003 01 MISSING VALUE 008054 0003 0000 01 WIND SPEED OR GUST IS AS REPORTED 0001 01 WIND SPEED IS GREATER THAN THAT REPRTED (P IN METAR/TAF/SPECI) 0007 01 MISSING VALUE 008060 0008 0000 01 RESERVED 0001 01 RANGE 0002 01 AZIMUTH 0003 01 HORIZONTAL 0004 01 VERTICAL 0005 01 NORTH/SOUTH 0006 01 EAST/WEST 0015 01 MISSING VALUE 008065 0004 0000 01 NO SUN-GLINT 0001 01 SUN-GLINT 0002 01 RESERVED 0003 01 MISSING VALUE 008066 0004 0000 01 OPAQUE 0001 01 SEMI-TRANSPARENT 0002 01 RESERVED 0003 01 MISSING VALUE 008070 0006 0000 01 RESERVED 0001 01 RESERVED 0002 02 EARTH LOCATED INSTRUMENT COUNTS, CALIBRATION COEFFICIENTS AND HOUSEKEEPING (LEVEL 1B) 0003 01 EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1C) 0004 02 MAPPED TO A COMMON FOOTPRINT, EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1D) 0015 01 MISSING VALUE 008072 0004 0000 01 MIXED 0001 01 CLEAR 0002 01 CLOUDY 0007 01 MISSING VALUE 008074 0004 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 NON-OCEAN LIKE 0002 01 RESERVED 0003 01 MISSING VALUE 008075 0004 0000 01 ASCENDING ORBIT 0001 01 DESCENDING ORBIT 0002 01 RESERVED 0003 01 MISSING VALUE 008076 0003 0000 01 KU 0001 01 C 0063 01 MISSING VALUE 008077 0007 0000 01 LAND 0001 01 SEA 0002 01 COASTAL 0003 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0004 01 ENCLOSED SEA OR LAKE 0005 01 CONTINENTAL ICE 0127 01 MISSING VALUE 008079 0009 0000 01 NORMAL ISSUE 0001 01 CORRECTION TO A PREVIOUSLY ISSUED PRODUCT (COR) 0002 01 AMANDMENT TO A PREVIOUSLY ISSUED PRODUCT *AMD) 0003 01 CORRECTION TO A PREVIOUSLY ISSUED AMENDED PRODUCT (COR AMD) 0004 01 CANCELLATION OD A PREVIOUSLY ISSUED PRODUCT (CNL) 0005 01 NO PRODUCT AVAILABLE (NIL) 0006 01 SPECIAL REPORT ( SPECI) 0007 01 CORRECTED SPECIAL REPORT (SPECI COR) 0015 01 MISSING VALUE 008080 0009 0000 01 TOTAL WATER PRESSURE PROFILE 0001 01 TOTAL WATER TEMPERATURE PROFILE 0002 01 TOTAL WATER SALINITY PROFILE 0003 01 TOTAL WATER CONDUCTIVITY PROFILE 0010 01 WATER PRESSURE AT A LEVEL 0011 01 WATER TEMPERATURE AT A LEVEL 0012 01 SALINITY AT A LEVEL 0020 01 POSITION 0063 01 MISSING VALUE 008081 0005 0000 01 SENSOR 0001 01 TRANSMITTER 0002 01 RECEIVER 0003 01 OBSERVING PLATFORM 0063 01 MISSING VALUE 008082 0003 0000 01 SENSOR HEIGHT IS NOT MODIFIED 0001 01 SENSOR HEIGHT IS MODIFIED TO STANDARD LEVEL 0007 01 MISSING VALUE 008083 0009 0001 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) 0002 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABOVE WATER SURFACE 0003 01 ADJUSTED WITH RESPECT TO STANDARD SURFACE ROUGHNESS 0004 01 ADJUSTED WITH RESPECT TO WIND SPEED 0005 01 ADJUSTED WITH RESPECT TO TEMPERATURE 0006 01 ADJUSTED WITH RESPECT TO PRESSURE 0007 01 ADJUSTED WITH RESPECT TO HUMIDITY 0008 01 ADJUSTED WITH RESPECT TO EVAPORATION 0009 01 ADJUSTED WITH RESPECT TO WETTING LOSSES 008085 0004 0000 01 FORE BEAM 0001 01 MID BEAM 0002 01 AFT BEAM 0003 01 RESERVED 0004 01 RESERVED 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING VALUE 008193 0007 0000 01 START TIME OF ORBIT 0001 01 END TIME OF ORBIT 0002 01 TIME OF ASCENDING NODE 0003 01 ASSIMILATION TIME 0004 01 START TIME OF ASSIMILATION 0005 01 END TIME OF ASSIMLATION 0063 01 MISSING 008195 0032 0001 01 FIRST GUESS 0002 01 ANALYSIS 0003 01 INITIALISED ANALYSIS 0004 01 OI ANALYSIS 0005 01 3 D VARIATIONAL ANALYSIS 0006 01 4 D VARIATIONAL ANALYSIS 0007 01 3 D VARIATIONAL GRADIENTS 0008 01 4 D VARIATIONAL GRADIENTS 0009 01 FORECAST 0010 01 CONTROL FORECAST 0011 01 PERTURBED FORECAST 0012 01 ERRORS IN FIRST GUESS 0013 01 ERRORS IN ANALYSIS 0014 01 CLUSTER MEANS 0015 01 CLUSTER STANDARD DEVIATIONS 0016 01 FORECAST PROBABILITIES 0017 01 ENSEMBLE MEANS 0018 01 ENSEMBLE STANDARD DEVIATIONS 0019 01 FORECAST ACCUMULATIONS 0020 01 CLIMATOLOGY 0021 01 CLIMATE SIMULATION 0030 01 OBSERVATIONS 0031 01 QUALITY CONTROL 0032 01 DIFFERENCE STATISTICS 0040 01 IMAGE DATA 0050 01 SENSITIVITY GRADIENTS 0051 01 TRAJECTORY FORECAST 0052 01 SENSITIVITY FORECAST 0060 01 PERTURBED ANALYSIS 0061 01 PERTURBATION 0062 01 SINGULAR VECTOR 0127 01 MISSING VALUE 010063 0010 0000 02 INCREASING, THEN DECREASING: ATMOSPHERIC PRESURE THE SAME OR HIGHER THAN 3 HOURS AGO (OR 24 HOURS AGO ) 0001 01 INCREASING, THEN STEADY; OR INCREASING; THEN MORE SLOWLY 0002 01 INCREASING (STEADILY OR UNSTEADILY ) 0003 01 DECREASING OR STEADY, THEN INCREASING; RAPIDLY 0004 02 STEADY; ATMOSPHERIC PRESSURE THE SAME AS 3 HOURS AGO (OR 24 HOURS) 0005 02 DECREASING; THEN INCREASING; ATMOSPHERIC PRESSURE THE SAME O R LOWER THAN 3 HOURS AGO 0006 02 DECREASING, THEN STEADY; OR DECREASING, DECREASING MORE SLOW LY 0007 01 DECREASING (STEADILY OR UNSTEADELY ) 0008 02 STEADY OR INCREASING, THEN DECREASING; OR DECREASING, THEN DECREASING MORE RAPIDLY 0015 01 MISSING 010064 0004 0000 01 SUBSONIC 0001 01 TRANSONIC 0002 01 SUPERSONIC 0007 01 MISSING VALUE 011031 0009 0000 01 NIL IN CLOUD 0001 01 SLIGHT IN CLOUD 0002 01 MODERATE IN CLOUD 0003 01 SEVERE IN CLOUD 0004 01 NIL IN CLEAR AIR 0005 01 SLIGHT IN CLEAR AIR 0006 01 MODERATE IN CLEAR AIR 0007 01 SEVERE IN CLEAR AIR 0015 01 MISSING VALUE 011037 0030 0000 01 AVE <0.1 PEAK <0.1 0001 01 AVE <0.1 0.1 <= PEAK <0.2 0002 01 0.1 <= AVE <0.2 0.1 <= PEAK <0.2 0003 01 AVE <0.1 0.2 <= PEAK <0.3 0004 01 0.1 <= AVE <0.2 0.2 <= PEAK <0.3 0005 01 0.2 <= AVE <0.3 0.2 <= PEAK <0.3 0006 01 AVE <0.1 0.3 <= PEAK <0.4 0007 01 0.1 <= AVE <0.2 0.3 <= PEAK <0.4 0008 01 0.2 <= AVE <0.3 0.3 <= PEAK <0.4 0009 01 0.3 <= AVE <0.4 0.3 <= PEAK <0.4 0010 01 AVE <0.1 0.4 <= PEAK <0.5 0011 01 0.1 <= AVE <0.2 0.4 <= PEAK <0.5 0012 01 0.2 <= AVE <0.3 0.4 <= PEAK <0.5 0013 01 0.3 <= AVE <0.4 0.4 <= PEAK <0.5 0014 01 0.4 <= AVE <0.5 0.4 <= PEAK <0.5 0015 01 AVE <0.1 0.5 <= PEAK <0.8 0016 01 0.1 <= AVE <0.2 0.5 <= PEAK <0.8 0017 01 0.2 <= AVE <0.3 0.5 <= PEAK <0.8 0018 01 0.3 <= AVE <0.4 0.5 <= PEAK <0.8 0019 01 0.4 <= AVE <0.5 0.5 <= PEAK <0.8 0020 01 0.5 <= AVE <0.8 0.5 <= PEAK <0.8 0021 01 AVE <0.1 0.8 <= PEAK 0022 01 0.1 <= AVE <0.2 0.8 <= PEAK 0023 01 0.2 <= AVE <0.3 0.8 <= PEAK 0024 01 0.3 <= AVE <0.4 0.8 <= PEAK 0025 01 0.4 <= AVE <0.5 0.8 <= PEAK 0026 01 0.5 <= AVE <0.8 0.8 <= PEAK 0027 01 0.8 <= AVE 0.8 <= PEAK 0028 01 NIL NIL 0063 01 MISSING VALUE 011038 0017 0000 01 MIN < 1 0001 01 1 <= MIN < 2 0002 01 2 <= MIN < 3 0003 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0015 01 NO TIMING INFORMATION AVAILABLE 0031 01 MISSING VALUE 011039 0016 0000 01 1 <= MIN < 2 0001 01 2 <= MIN < 3 0002 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0060 01 NO TIMING INFORMATION AVAILABLE 0063 01 MISSING VALUE 013038 0004 0000 01 NOT SUPERADIABATIC 0001 01 SUPERADIABATIC 0002 01 RESERVED 0003 01 MISSING VALUE 013039 0003 0000 01 SEA ICE 0001 01 SNOW ON LAND 0007 01 MISSING VALUE 013040 0009 0000 01 LAND 0001 01 RESERVED 0002 01 NEAR COAST 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 DESERT 0015 01 MISSING VALUE 013041 0010 0001 01 A 0002 01 A-B 0003 01 B 0004 01 B-C 0005 01 C 0006 01 D 0007 01 E 0008 01 F 0009 01 G 0015 01 MISSING VALUE 013051 0008 0000 01 SMALLER THAN ANY VALUE IN THE 30 YEARS PERIOD 0001 01 IN THE FIRST QUINTILE 0002 01 IN THE SECOND QUINTILE 0003 01 IN THE THIRD QUINTILE 0004 01 IN THE FOURTH QUINTILE 0005 01 IN THE FIFTH QUINTILE 0006 01 GREATER THAN ANY VALUE IN THE 30 YEAR PERIOD 0015 01 MISSING VALUE 013056 0010 0000 01 NO PRECIPITATION 0001 01 LIGHT INTERMITTENT 0002 01 MODERATE INTERMITTENT 0003 01 HEAVY INTERMITTENT 0004 01 VERY HEAVY INTERMITTENT 0005 01 LIGHT CONTINUOUS 0006 01 MODERATE CONTINUOUS 0007 01 VERY HEAVY CONTINUOUS 0009 01 VARIABLE-ALTERNATIVELY LIGHT AND HEAVY 0015 01 MISSING VALUE 013057 0011 0000 01 NO PRECIPITATION 0001 01 WITHIN THE LAST HOUR 0002 01 1 TO 2 HOURS AGO 0003 01 2 TO 3 HOURS AGO 0004 01 3 TO 4 HOURS AGO 0005 01 4 TO 5 HOURS AGO 0006 01 5 TO 6 HOURS AGO 0007 01 6 TO 8 HOURS AGO 0008 01 8 TO 10 HOURS AGO 0009 01 MORE THAN 10 HOURS AHO 0015 01 MISSING VALUE 013202 0007 0000 01 LAND 0001 01 VEGETATION 0003 01 MULTI-YEAR ICE 0004 01 POSSIBLE ICE OR FIRST YEAR ICE 0005 01 OCEAN 0006 01 COASTLINE 0015 01 MISSING 015025 0000 0000 01 OZONE 0015 01 MISSING VALUE 019001 0007 0000 01 DEPRESSION OR LOW (EXTRATROPICAL) 0001 01 TROPICAL DEPRESSION 0002 01 TROPICAL STORM 0003 01 SEVERE TROPICAL STORM 0004 01 TYPHOON 0010 01 DUST/SANDSTORM 0063 01 MISSING VALUE 019008 0005 0000 01 RESERVED 0001 01 SHALLOW (TOP OF CIRCULATION BELOW 700-HPA LEVEL 0002 01 MEDIUM(TOP BETWEEN 700-HPA AND 400-HPA) 0003 01 DEEP(TOP ABOVE 400-HPA LEVEL 0007 01 MISSING VALUE 019010 0004 0000 01 RESERVED 0001 01 MINIMUM VALUE OF SEA LEVEL PRESSURE 0002 01 MAXIMUM VALUE OF 850 HPA RELATIVE VORTICITY 0015 01 MISSING VALUE 020003 0250 0000 01 CLOUD DEVELOPMENT NOT OBSERVED OR NOT OBSERVABLE 0001 01 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED 0002 01 STATE OF SKY ON THE WHOLE UNCHANGED 0003 01 CLOUDS GENERALLY FORMING OR DEVELOPING 0004 02 VISIBILITY REDUCED BY SMOKE, E.G. VELDT OR FOREST FIRES, IN DUSTRIAL SMOKE OR VOLCANIC ASHES 0005 01 HAZE 0006 02 WIDESPREAD DUST IN SUSPENSION IN THE AIR, NOT RAISED BY WIND AT OR NEAR THE STATION AT THE TIME OF OBSERVATION 0007 04 DUST OR SEND RAISED BY WIND AT OR NEAR THE STATION AT THE TI ME OF OBSERVATION, BUT NO WELL-DEVELOPED DUST WHRIL(S) OR SA ND WHRIL(S), AND NO DUSTSTORM OR SANDSTORM SEEN; OR, IN THE CASE OF SHIPS, BLOWING SPRAY AT THE STATION 0008 03 WELL-DEVELOPED DUST WHRIL(S) OR SAND WHRILS SEEN AT OR NEAR THE STATION DURING THE PRECEDING HOUR OR AT THE SAME TIME OF OBSERVATION, BUT NO DUSTSTORM OR SANDSTORM 0009 02 DUSTSTORM OR SANDSTORM WITHIN SIGHT AT THE TIME OF OBSERVATI ON, OR AT THE STATION DURING THE PRECEDING HOR 0010 01 MIST 0011 02 PACHES SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0012 03 MORE OR LESS CONTINUOUS SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0013 01 LIGHTNING VISIBLE, NO THUNDER HEARD 0014 02 PRECIPITATION WITHIN SIGHT, NOT REACHING THE GROUND OR THE SURFACE OF THE SEA 0015 03 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, BUT DISTANT, I.E. ESTIMATED TO BE MORE THAN 5 KM FROM THE STATION 0016 02 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, NEAR TO, BUT NOT AT THE STATION 0017 02 THUNDERSTORM, BUT NO PRECIPITATION AT THE TIME OF OBSERVATIO N 0018 02 SQUALLS AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDI NG HOUR OR AT THE TIME OF OBSERVATION 0019 02 FUNNEL CLOUD(S) AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0020 03 DRIZZEL (NOT FREEZING) OR SNOW GRAINS NOT FALLING AS SHOWERS ; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVAT IONS 0021 02 RAIN (NOT FREEZING) NOT FALLING AS SHOWER(S); DURING THE PRE ECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0022 02 SNOW NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0023 02 RAIN AND SNOW OR ICE PELLETS NOT FALLING AS SHOWER(S); DURIN G THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0024 02 FREEZING DRIZZEL OR FREEZING RAIN NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0025 02 SHOWER(S) OF RAIN; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0026 02 SHOWER(S) OF SNOW, OR OF RAIN AND SNOW; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0027 02 SHOWER(S) OF HAIL, OR OF RAIN AND HAIL; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0028 02 FOG OR ICE FOG; DURING THE PRECEDING HOUR BUT NOT AT THE TIM E OF OBSERVATION 0029 02 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION); DURING THE PRE CEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0030 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS DECREASED DURI NG THE PRECEDING HOURS 0031 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHA NGE DURING THE PRECEDING HOUR 0032 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS I NCEASED DURING THE PRECEDING HOUR 0033 02 SEVERE DUSTSTORM OR SANDSTORM HAS DECREASED DURING THE PREC EDING HOURS 0034 02 SEVERE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0035 02 SEVERE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS INCREASED DUR ING THE PRECEDING HOUR 0036 02 SLIGHT OR MODERATE DRIFTING SNOW GENERALLY LOW (BELOW EYE LE VEL) 0037 01 HEAVY DRIFTING SNOW GENERALY LOW (BELOW EYE LEVEL) 0038 02 SLIGHT OR MODERATE BLOWING SNOW GENERALLY HIGH (ABOVE EYE LE VEL) 0039 01 HEAVY BLOWING SNOW GENERALY HIGH (ABOVE EYE LEVEL) 0040 03 FOG OR ICE FOG AT A DISTANCE AT THE TIME OF OBSERVATION, BUT NOT AT THE STATION DURING THE PRECEDING HOUR, THE FOG OR IC E FOG EXTENDING TO A LEVEL ABOVE THAT OF THE OBSERVER 0041 01 FOG OR ICE FOG IN PATCHES 0042 02 FOG OR ICE FOG, SKY VISIBLE,HAS BECOME THINNER DURING THE PR ECEDING HOUR 0043 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BECOME THINNER DURING THE PRECEDING HOUR 0044 02 FOG OR ICE FOG, SKY VISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0045 02 FOG OR ICE FOG, SKY INVISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0046 02 FOG OR ICE FOG, SKY VISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0047 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0048 01 FOG, DEPOSITING RIME, SKY VISIBLE 0049 01 FOG, DEPOSITING RIME, SKY INVISIBLE 0050 02 DRIZZLE, NOT FREEZING, INTERMITTENT;SLIGHT AT TIME OF OBSERV ATION 0051 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;SLIGHT AT TIME OF OBSERV ATION 0052 02 DRIZZLE, NOT FREEZING, INTERMITTENT;MODERATE AT TIME OF OBSE RVATION 0053 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;MODERATE AT TIME OF OBSE RVATION 0054 02 DRIZZLE, NOT FREEZING, INTERMITTENT;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0055 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0056 01 DRIZZLE, FREEZING, SLIGHT 0057 01 DRIZZLE, FREEZING, MODERATE OR HEAVY (DENSE) 0058 01 DRIZZLE AND RAIN, SLIGHT 0059 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0060 01 RAIN,NOT FREEZING,INTERMITTENT;SLIGHT AT TIME OF OBSERVATION 0061 01 RAIN,NOT FREEZING,CONTINUOUS ;SLIGHT AT TIME OF OBSERVATION 0062 02 RAIN,NOT FREEZING,INTERMITTENT;MODERATE AT TIME OF OBSERVATI ON 0063 02 RAIN,NOT FREEZING,CONTINUOUS ;MODERATE AT TIME OF OBSERVATI ON 0064 02 RAIN, NOT FREEZING, INTERMITTENT;HEAVY AT TIME OF OBSERVATIO ON 0065 01 RAIN, NOT FREEZING, CONTINUOUS;HEAVY AT TIME OF OBSERVATION 0066 01 RAIN, FREEZING, SLIGHT 0067 01 RAIN, FREEZING, MODERATE OR HEAVY 0068 01 RAIN OR DRIZZLE AND SNOW, LIGHT 0069 01 RAIN OR DRIZZLE AND SNOW, MODERATE OR HEAVY 0070 02 INTERMITTENT FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0071 02 CONTINUOUS FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0072 02 INTERMITTENT FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0073 02 CONTINUOUS FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0074 02 INTERMITTENT FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0075 02 CONTINUOUS FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0076 01 DIAMOND DUST (WITH OR WITHOUT FOG) 0077 01 SNOW GRAINS (WITH OR WITHOUT FOG) 0078 01 ISOLATED STAR-LIKE SNOW CRYSTALS (WITH OR WITHOUT FOG) 0079 01 ICE PELLETS 0080 01 RAIN SHOWER(S), SLIGHT 0081 01 RAIN SHOWER(S), MODERATE OR HEAVY 0082 01 RAIN SHOWER(S), VIOLENT 0083 01 SHOWER(S) OF RAIN AND SNOW MIXED, SLIGHT 0084 01 SHOWER(S) OF RAIN AND SNOW MIXED, MODERATE OR HEAVY 0085 01 SNOW SHOWER(S), SLIGHT 0086 01 SNOW SHOWER(S), MODERATE OR HEAVY 0087 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, SLIGHT 0088 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, MODERATE OR HEAVY 0089 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, SLIGHT 0090 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, MODERATE OR HEAVY 0091 02 SLIGHT RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0092 02 MODERATE OR HEAVY RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0093 03 SLIGHT SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TIME OF OBSER VATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TI ME OF OBSERVATION 0094 03 MODERATE OR HEAVY SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TI ME OF OBSERVATION, THUNDERSTORM DURING PRECEDING HOUR BUT NO T AT TIME OF OBSERVATION 0095 03 THUNDERSTORM, SLIGHT OR MODERATE, WITHOUT HAIL, BUT WITH RAI N AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM DURING TH E PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0096 02 THUNDERSTORM, SLIGHT OR MODERATE,WITH HAIL AT TIME OF OBSERV ATION, THUNDERSTORM AT TIME OF OBSERVATION 0097 02 THUNDERSTORM, HEAVY, WITHOUT HAIL BUT WITH RAIN AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0098 02 THUNDERSTORM COMBINED WITH DUSTSTORM OR SANDSTORM AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0099 02 THUNDERSTORM, HEAVY, WITH HAIL AT TIME OF OBSERVATION, THUND ERSTORM AT TIME OF OBSERVATION 0100 01 NO SIGNIFICANT WEATHER OBSERVED 0101 02 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED DURIN G THE PAST HOUR 0102 01 STATE OF SKY ON THE WHOLE UNCHANGED DURING THE PAST HOUR 0103 01 CLOUDS GENERALLY FORMING OR DEVELOPING DURING THE PAST HOUR 0104 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY EQUAL TO, OR GREATER THAN 1KM 0105 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY LESS THAN 1KM 0110 01 MIST 0111 01 DIAMOND DUST 0112 01 DISTANT LIGHTING 0118 01 SQUALLS 0120 01 FOG 0121 01 PRECIPITATION 0122 01 DRIZZLE (NOT FREEZING) OR SNOW GRAINS 0123 01 RAIN (NOT FREEZING) 0124 01 SNOW 0125 01 FREEZING DRIZZLE OR FREEZING RAIN 0126 01 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION) 0127 01 BLOWING OR DRIFTING SNOW OR SAND 0128 02 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY EQUAL TO, OR GR ATER THAN, 1KM 0129 01 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY LESS THAN 1 KM 0130 01 FOG 0131 01 FOG OR ICE FOG, IN PATCHES 0132 01 FOG OR ICE FOG, HAS BECOME THINNER DURING PAST HOUR 0133 01 FOG OR ICE FOG, NO APPRECIABLE CHANGE DURING PAST HOUR 0134 01 FOG OR ICE FOG, HAS BECUNOR BECOME THICKER DURING PAST HOUR 0135 01 FOG, DEPOSITION RIME 0140 01 PRECIPITATION 0141 01 PRECIPITATION SLIGHT OR MODERATE 0142 01 PRECIPITATION, HEAVY 0143 01 LIQUID PRECIPITATION, SLIGHT OR MODERATE 0144 01 LIQUID PRECIPITATION, HEAVY 0145 01 SOLID PRECIPITATION, SLIGHT OR MODERATE 0146 01 SOLID PRECIPITATION, HEAVY 0147 01 FREEZING PRECIPITATION, SLIGHT OR MODERATE 0148 01 FREEZING PRECIPITATION, HEAVY 0150 01 DRIZZLE 0151 01 DRIZZLE, NOT FREEZING, SLIGHT 0152 01 DRIZZLE, NOT FREEZING, MODERATE 0153 01 DRIZZLE, NOT FREEZING, HEAVY 0154 01 DRIZZLE, FREEZING, SLIGHT 0155 01 DRIZZLE, FREEZING, MODERATE 0156 01 DRIZZLE, FREEZING, HEAVY 0157 01 DRIZZLE AND RAIN, SLIGHT 0158 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0160 01 RAIN 0161 01 RAIN, NOT FREEZING, SLIGHT 0162 01 RAIN, NOT FREEZING, MODERATE 0163 01 RAIN, NOT FREEZING, HEAVY 0164 01 RAIN, FREEZING, SLIGHT 0165 01 RAIN, FREEZING, MODERATE 0166 01 RAIN, FREEZING, HEAVY 0167 01 RAIN (OR DRIZZLE) AND SNOW, SLIGHT 0168 01 RAIN (OR DRIZZLE) AND SNOW, MODERATE AND HEAVY 0170 01 SNOW 0171 01 SNOW, SLIGHT 0172 01 SNOW, MODERATE 0173 01 SNOW, HEAVY 0174 01 ICE PELLETS, SLIGHT 0175 01 ICE PELLETS, MODERATE 0176 01 ICE PELLETS, HEAVY 0180 01 SHOWER(S) OR INTERMITTENT PRECIPITATION 0181 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, SLIGHT 0182 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, MODERATE 0183 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, HEAVY 0184 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, VIOLENT 0185 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, SLIGHT 0186 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, MODERATE 0187 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, HEAVY 0190 01 THUNDERSTORM 0191 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH NO PRECIPITATION 0192 02 THUNDERSTORM, SLIGHT OR MODERATE, WITH RAIN SHOWERS AND/OR S NOW SHOWERS 0193 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH HAIL 0194 01 THUNDERSTORM, HEAVY, WITH NO PRECIPITATION 0195 01 THUNDERSTORM, HEAVY, WITH RAIN SHOWERS AND/OR SNOW SHOWERS 0196 01 THUNDERSTORM, HEAVY, WITH HAIL 0204 01 VOLCANIC ASH SUSPENDED IN THE AIR ALOFT 0206 01 THICK DUST HAZE, VISIBILITY LESS THAN 1 KM 0207 01 BLOWING SPRAY AT THE STATION 0208 01 DRIFTING DUST (SAND) 0209 01 WALL OF DUST OR SAND IN DISTANCE (LIKE HABOOB) 0210 01 SNOW HAZE 0211 01 WHITEOUT 0213 01 LIGHTING, CLOUD TO SURFACE 0217 01 DRY THUNDERSTORM 0219 02 TORNADO CLOUD (DESTRUCTIVE AT OR WITHIN SIGHT OF THE STATION DURING PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0220 01 DEPOSITION OF VOLCANIC ASH 0221 01 DEPOSITION OF DUST OR SAND 0222 01 DEPOSITION OF DEW 0223 01 DEPOSITION OF WET SNOW 0224 01 DEPOSITION OF SOFT RIME 0225 01 DEPOSITION OF HARD RIME 0226 01 DEPOSITION OF HOAR FROST 0227 01 DEPOSITION OF GLAZE 0228 01 DEPOSITION OF ICE CRUST (ICE SLICK) 0230 01 DUSTSTORM OR SANDSTORM WITH TEMPERATURE BELOW 0 C DEGREES 0239 02 BLOWING SNOW, IMPOSSIBLE TO DETERMINE WHETHER SNOW IS FALLIN G OR NOT 0241 01 FOG ON SEA 0242 01 FOG IN VALLEYS 0243 01 ARCTIC OR ANTARCTIC SEA SMOKE 0244 01 STEAM FOG (SEA,LAKE OR RIVER) 0245 01 STEAM FOG (LAND) 0246 01 FOG OVER ICE OR SNOW COVER 0247 01 DENCE FOG VISIBILITY 60-90 M 0248 01 DENCE FOG VISIBILITY 30-60 M 0249 01 DENCE FOG VISIBILITY LESS THAN 30 M 0250 01 DRIZZLE, RATE OF FALL LESS THAN 0.10 MM/H 0251 01 DRIZZLE, RATE OF FALL 0.10 - .19 MM/H 0252 01 DRIZZLE, RATE OF FALL 0.20 - .39 MM/H 0253 01 DRIZZLE, RATE OF FALL 0.40 - .79 MM/H 0254 01 DRIZZLE, RATE OF FALL 0.80 - 1.59 MM/H 0255 01 DRIZZLE, RATE OF FALL 1.60 - 3.19 MM/H 0256 01 DRIZZLE, RATE OF FALL 3.20 - 6.39 MM/H 0257 01 DRIZZLE, RATE OF FALL 6.40 MM/H OR MORE 0259 01 DRIZZLE AND SNOW 0260 01 RAIN, RATE OF FALL LESS THAN 1.0 MM/H 0261 01 RAIN, RATE OF FALL 1.0 - 1.9 MM/H 0262 01 RAIN, RATE OF FALL 2.0 - 3.9 MM/H 0263 01 RAIN, RATE OF FALL 4.0 - 7.9 MM/H 0264 01 RAIN, RATE OF FALL 8.0 - 15.9 MM/H 0265 01 RAIN, RATE OF FALL 16.0 - 31.9 MM/H 0266 01 RAIN, RATE OF FALL 32.0 - 63.9 MM/H 0267 01 RAIN, RATE OF FALL 64.0 MM/H OR MORE 0270 01 SNOW, RATE OF FALL LESS THAN 1.0 CM/H 0271 01 SNOW, RATE OF FALL 1.0 - 1.9 CM/H 0272 01 SNOW, RATE OF FALL 2.0 - 3.9 CM/H 0273 01 SNOW, RATE OF FALL 4.0 - 7.9 CM/H 0274 01 SNOW, RATE OF FALL 8.0 - 15.9 CM/H 0275 01 SNOW, RATE OF FALL 16.0 - 31.9 CM/H 0276 01 SNOW, RATE OF FALL 32.0 - 63.9 CM/H 0277 01 SNOW, RATE OF FALL 64.0 CM/H OR MORE 0278 01 SNOW OR ICE CRISTAL PRECIPITATION FROM A CLEAR SKY 0279 01 WET SNOW, FREEZING ON CONTACT 0280 01 PRECIPITATION OF RAIN (WW= 87-99) 0281 01 PRECIPITATION OF RAIN,FREEZING (WW= 80-82) 0282 01 PRECIPITATION OF RAIN AND SNOW MIXED 0283 01 PRECIPITATION OF SNOW 0284 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL 0285 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN 0286 02 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN AND S NOW MIXED 0287 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH SNOW 0288 01 PRECIPITATION OF HAIL 0289 01 PRECIPITATION OF HAIL, WITH RAIN 0290 01 PRECIPITATION OF HAIL, WITH RAIN AND SNOW MIXED 0291 01 PRECIPITATION OF HAIL, WITH SNOW 0292 01 SHOWER(S) OR THUNDERSTORM OVER SEA 0293 01 SHOWER(S) OR THUNDERSTORM OVER MOUNTAINS 0508 02 NO SIGNIFICANT PHENOMENA TO REPORT, PRESENT AND PAST WEATHER OMITTED 0509 02 NOT OBSERVED, NO DATA AVAILABLE, PRESENT AND PAST WEATHER OM ITTED 0510 01 PRESENT AND PAST WEATHER MISSING, BUT EXPECTED 0511 01 MISSING VALUE 020004 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020005 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020008 0019 0000 01 SKY CLEAR 0001 01 FEW 0002 01 SCATTERED 0003 01 BROKEN 0004 01 OVERCAST 0005 01 RESERVED 0006 01 SCATTERED/BROKEN (MANY FORECASTS USE SCATTERED/BROKEN 0007 01 BROKEN/OVERCAST (BROKEN/OVERCAST FOLLOWED BY CLOUD TYPE(S)) 0008 01 ISOLATED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0009 01 ISOLATED EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0010 01 OCCASIONAL (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0011 01 OCCASIONAL EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0012 01 FREQUENT (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0013 02 DENSE (USED ON AVIATION CHARTS TO DESCRIBE CLOUD THAT WOULD CAUSE SUDDEN CHANGES IN VISIBILITY (LESS THAN 1000M)) 0014 01 LAYERS 0015 01 OBSCURED (OBSC) 0016 01 EMBEDDED (EMBD) 0017 01 FREQUENT EMBEDDED 0031 01 MISSING VALUE 020009 0006 0000 01 RESERVED 0001 01 NSC MIL SIGNIFICANT CLOUD 0002 01 CAVOK 0003 01 SKC SKY CLEAR 0004 01 NSW NIL SIGNIFICANT WEATHER 0015 01 MISSING VALUE 020011 0011 0000 01 0 0 0001 01 1 OKTA OR LESS, BUT NOT ZERO 1/10 OR LESS, BUT NOT ZERO 0002 01 2 OKTAS 2/10 - 3/10 0003 01 3 OKTAS 4/10 0004 01 4 OKTAS 5/10 0005 01 5 OKTAS 6/10 0006 01 6 OKTAS 7/10 - 8/10 0007 01 7 OKTAS OR MORE,BUT NOT 8 OKTAS9/10 OR MORE, BUT NOT 10/10 0008 01 8 OKTAS 10/10 0009 01 SKY OBSCURED BY FOG AND OR OTHER METEOROLOGICAL PHENOMENA 0015 02 CLOUD COVE IS INDISCERNIBLE FOR REASONS OTHER THAN FOG OR OT HER METEOROLOGICAL PHENOMENA, OR OBSERVATION IS NOT MADE 020012 0045 0000 01 CIRRUS (CI)...............CI 0001 01 CIRROCUMULUS (CC).........CC 0002 01 CIRROSTRATUS (CS).........CS 0003 01 ALTOCUMULUS (AC).........AC 0004 01 ALTOSTRATUS (AS).........AS 0005 01 NIMBOSTRATUS (NS).........NS 0006 01 STRATOCUMULUS(SC).........SC 0007 01 STRATUS (ST).........ST 0008 01 CUMULUS (CU).........CU 0009 01 CUMULONIMBUS (CB).........CB 0010 01 NO CH CLOUDS 0011 02 CIRRUS FIBRATUS, SOMETIMES UNCINUS, NOT PROGRESSIVELY INADIN G THE SKY 0012 04 CIRRUS SPISSATUS, IN PATCHES OR ENTANGLED SHEAVES, WHICH USU ALLY DO NOT INCREASE AND SOMETIMES SEEM TO BE THE REMAINS OF THE UPPER PART OF A CUMULONIMBUS; OR CIRRUS CASTELLANUS OR FLOCCUS 0013 01 CIRRUS SPISSATUS CUMULONIMBOGENITUS 0014 02 CIRRUS UNCINUS OR FIBRATUS,OR BOTH, PROGRESSIVELY INVADING T HE SKY ; THEY GENERALLY THICKEN AS A WHOLE 0015 04 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL DOES NOT REACH 45 DEGREES ABOVE THE HORIZON 0016 05 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL EXTENDS MORE THAN 45 DEGR REES ABOVE THE HORIZON, WITHOUT THE SKY BEING TOTALLY COVERE D 0017 01 CIRROSTRATUS COVERING THE WHOLE SKY 0018 02 CIRROSTRATUS NOT PROGRESSIVELY INVADING THE SKY AND NOT ENTI RELY COVERING IT 0019 02 CIRROCUMULUS ALONE, OR CIRROCUMULUS PREDOMINANT AMONG THE CH CLOUDS 0020 01 NO CM CLOUDS 0021 01 ALTOSTRATUS TRANSLUCIDUS 0022 01 ALTOSTRATUS OPACUS OR NIMBOSTRATUS 0023 01 ALTOCUMULUS TRANSLUCIDUS AT A SINGLE LEVEL 0024 02 PATCHES (OFTEN LENTICULARIS) OF ALTOCUMULUS TRANSLUCIDUS, CO NTINUALLY CHANGING AND OCCURING AT ONE OR MORE LEVELS 0025 04 ALTOCUMULUS TRANSLUCIDUS IN BANDS, OR ONE OR MORE LAYERS OF ALTOCUMULUS TRANSLUCIDUS OR OPACUS, PROGRESSIVELY INVADING T HE SKY; THESE ALTOCUMULUS CLOUDS GENERALLY THICKEN AS A WHOL E 0026 01 ALTOCUMULUS CUMULOGENITUS (OR CUMULONIMBOGENITUS) 0027 04 ALTOCUMULUS TRANSLUCIDUS OR OPACUS IN TWO OR MORE LAYERS, OR ALTOCUMULUS OPACUS IN A SINGLE LAYER, NOT PROGRESSIVELY INV ADING THE SKY, OR ALTOCUMULUS WITH ALTOSTRATUS OR NIMBOSTRAT US 0028 01 ALTOCUMULUS CASTELLANUS OR FLOCUS 0029 01 ALTOCUMULUS OF CHAOTIC SKY, GENERALLY AT SEVERAL LEVELS 0030 01 NO CL CLOUDS 0031 02 CUMULUS HUMILIS OR CUMULUS FRACTUS OTHER THAN OF BAD WEATHER , OR BOTH 0032 03 CUMULUS MEDIOCRIS OR CONGESTUS, WITH OR WITHOUT CUMULUS OF S PECIES FRACTUS OR HUMULIS OR STRATOCUMULUS, ALL HAVING THEIR BASES AT THE SAME LEVEL 0033 02 CUMULONIMBUS CALVUS, WITH OR WITHOUT CUMULUS, STRATOCUMULUS OR STRATUS 0034 01 STRATOCUMULUS CUMULOGENITUS 0035 01 STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGENITUS 0036 02 STRATUS NEBULOSUS OR STRATUS FRACTUS OTHER THAN OF BAD WEATH ER, OR BOTH 0037 02 STRATUS FRACTUS OR CUMULUS FRACTUS OF BAD WEATHER, OR BOTH (PANNUS), USUALLY BELOW ALTOSTRATUS OR NIMBOSTRATUS 0038 02 CUMULUS AND STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGEN ITUS, WITH BASES AT DIFFERENT LEVELS 0039 03 CUMULONIMBUS CAPILLATUS (OFTEN WITH AN ANVIL), WITH OR WITHO UT CUMULONIMBUS CALVUS, CUMULUS, STRATOCUMULUS, STRATUS OR P ANNUS 0059 02 CLOUD NOT VISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDSTO RM, OR OTHER ANALOGOUS PHENOMENA 0060 03 CH CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0061 03 CM CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0062 02 CL CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA 0063 01 MISSING VALUE 020017 0011 0000 01 ISOLATED CLOUD OR FRAGMENTS OF CLOUD 0001 01 CONTINUOUS CLOUD 0002 01 BROKEN CLOUD - SMALL BREAKS, FLAT TOPS 0003 01 BROKEN CLOUD - LARGE BREAKS, FLAT TOPS 0004 01 CONTINUOUS CLOUD 0005 01 BROKEN CLOUD - SMALL BREAKS, UNDULATED TOPS 0006 01 BROKEN CLOUD - LARGE BREAKS, UNDULATED TOPS 0007 02 CONTINUOUS OR ALMOST CONTINUOUS WAVES WITH TOWERING CLOUDS A BOVE THE TOP OF THE LAYER 0008 02 GROUPS OF WAVES WITH TOWERING CLOUDS ABOVE THE TOP OF THE LA YER 0009 01 TWO OR MORE LAYERS AT DIFFERENT LEVELS 0015 01 MISSING VALUE 020018 0004 0000 01 INCREASING (U) 0001 01 DECREASING (D) 0002 01 NO DISTINCT CHANGE (N) 0003 01 MISSING VALUE 020021 0024 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 0030 01 ALL 30 MISSING VALUE 020022 0007 0000 01 NO PRECIPITATION 0001 01 CONTINUOUS 0002 01 INTERMITTENT 0003 01 SHOWER 0004 01 NOT REACHING GROUND 0005 01 DEPOSITION 0015 01 MISSING VALUE 020023 0012 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 0012 01 WATER-SPOUT 020024 0007 0000 01 NO PHENOMENA 0001 01 LIGHT 0002 01 MODERATE 0003 01 HEAVY 0004 01 VIOLENT 0005 01 SEVERE (VAL) 0007 01 MISSING VALUE 020025 0011 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 0021 01 ALL 21 MISSING VALUE 020026 0014 0000 01 NO CHANGE 0001 01 SHALLOW 0002 01 PATCHES 0003 01 PARTIAL 0004 01 FREEZING 0005 01 LOW DRIFTING 0006 01 BLOWING 0007 01 INCREASING 0008 01 DECREASING 0009 01 IN SUSPENSION IN THE AIR 0010 01 WALL 0011 01 DENSE 0012 01 WHITEOUT 0015 01 MISSING VALUE 020027 0007 0001 01 AT TIME OF OBSERVATION 0002 01 IN PAST HOUR 0003 01 IN TIME PERIOD FOR PAST WEATHER W1W2 0004 01 IN TIME PERIOD SPECIFIED 0006 01 BELOW STATION LEVEL 0007 01 AT THE STATION 0008 01 IN THE VICINITY 0009 01 ALL 9 MISSING VALUE 020029 0004 0000 01 NO RAIN 0001 01 RAIN 0002 01 RESERVED 0003 01 MISSING VALUE 020032 0006 0000 01 ICE NOT BUILDING UP 0001 01 ICE BUILDING UP SLOWLY 0002 01 ICE BUILDING UP QUICKLY 0003 01 ICE MELTING OR BREAKING UP SLOWLY 0004 01 ICE MELTING OR BREAKING UP RAPIDLY 0007 01 MISSING VALUE 020033 0004 0001 01 ICING FROM OCEAN SPRAY 0002 01 ICING FROM FOG 0003 01 ICING FROM RAIN 0004 01 MISSING VALUE 020034 0012 0000 01 NO SEA ICE IN SIGHT 0001 02 SHIP IN OPEN LEAD MORE THAN 1.0 NAUTICAL MILE WIDE, OR SHIP IN FAST ICE WITH BOUNDARY BEYOND LIMIT OF VISIBILITY 0002 04 SEA ICE PRESENT IN CONCETRATION LESS THAN 3/10 (3/8), OPEN W ATER OR VERY OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0003 03 4/10 TO 6/10 (3/8 TO LESS THAN 6/8) ,OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0004 03 7/10 TO 8/10 (6/8 TO LESS THAN 7/8), CLOSE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN IC E OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0005 04 9/10 OR MORE, BUT NOT 10/10 (7/8 TO LESS THAN 8/8), VERY CLO SE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVAT ION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDG E 0006 03 STRIPS AND PATCHES OF PACK ICE WITH OPEN WATER BETWEEN, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SH IP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0007 04 STRIPS AND PATCHES OF CLOSE OR VERY CLOSE PACK ICE WITH AREA S OF LESSER CONCENTRATION BETWEEN, SEA ICE CONCETRATION IS N OT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0. 5 NAUTICAL MILE OF ICE EDGE 0008 04 FAST ICE WITH OPEN WATER,VERY OPEN OR OPEN PACK ICE TO SEAWA RD OF THE ICE BOUNDARY, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0009 04 FAST ICE CLOSE OR VERY CLOSE PACK ICE TO SEAWARD OF THE ICE BOUNDARY, SEA ICE CONCETRATION IS NOT UNIFORM IN THE OBSERVA TION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE ED GE 0014 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY, O R BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0015 01 MISSING VALUE 020035 0012 0000 01 NO ICE OF LAND ORIGIN 0001 01 1-5 ICEBERGS, NO GROWLERS OR BERGY BITS 0002 01 6-10 ICEBERGS, NO GROWLERS OR BERGY BITS 0003 01 11-20 ICEBERGS, NO GROWLERS OR BERGY BITS 0004 01 UP TO AND INCLUDING 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0005 01 MORE THAN 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0006 01 1-5 ICEBERGS, WITH GROWLERS AND BERGY BITS 0007 01 6-10 ICEBERGS, WITH GROWLERS AND BERGY BITS 0008 01 11-20 ICEBERGS, WITH GROWLERS AND BERGY BITS 0009 02 MORE THAN 20 ICEBERGS,WITH GROWLERS AND BERGY BITS - A MAJOR HAZARD TO NAVIGATION 0014 02 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY SEA ICE IS VISIBLE 0015 01 MISSING VALUE 020036 0012 0000 01 SHIP IN OPEN WATER WITH FLOATING ICE IN SIGHT 0001 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS IMPROVING 0002 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS NOT CHANGING 0003 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS WORSENING 0004 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS IMPROVING 0005 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS NOT CHANGING 0006 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE FORMING AND FLOES FREEZING TOGETHAR 0007 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER SLIGHT PRESSURE 0008 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER MODERATE OR SEVERE PRESSURE 0009 01 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. SHIP BESET. 0030 01 UNABLE TO REPORT, BECAUSE OF DARKNESS OR LACK OF VISIBILITY 0031 01 MISSING VALUE 020037 0012 0000 01 NEW ICE ONLY (FRAZIL ICE, GREASE ICE, SLUSH, SHUGA) 0001 01 NILAS OR ICE RIND, LESS THAN 10 CM THICK 0002 01 YOUNG ICE(GREY ICE, GREY-WHITE ICE 0003 01 PREDOMINANTLY NEW AND/OR YOUNG ICE WITH SOME FIRST-YEAR ICE 0004 01 PREDOMINANTLY THIN FIRST-YEAR ICE WITH SOME NEW AND/OR YOUNG ICE 0005 01 ALL THIN FIRST-YEAR ICE (30-70 CM THICK) 0006 02 PREDOMINANTLY MEDIUM FIRST-YEAR ICE (70-120 CM THICK) AND THICK FIRST-YEAR ICE (>120 CM 0007 01 ALL MEDIUM AND THICK FIRST-YEAR ICE 0008 02 PREDOMINANTLY MEDIUM AND THICK FIRST-YEAR ICE WITH SOME OLD ICE (USUALLY MORE THAN 2 METRES THICK) 0009 01 PREDOMINANTLY OLD ICE 0030 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY ICE OF LAND ORIGIN IS VISIBLE OR BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0031 01 MISSING VALUE 020040 0009 0000 01 DRIFT SNOW ENDED BEFORE THE HOUR OF OBSERVATION 0001 01 INTENSITY DIMINISHING 0002 01 NO CHANGE 0003 01 INTENSITY INCREASING 0004 01 CONTINUES, APART FROM INTERRUPTION LASTING LESS THAN 30 MINUTES 0005 01 GENERAL DRIFT SNOW HAS BECOME DRIFT SNOW NEAR THE GROUND 0006 01 DRIFT SNOW NEAR THE GROUND HAS BECOME GENERAL DRIFT SNOW 0007 01 DRIFT SNOW HAS STARTED AGAIN AFTER AN INTERRUPTION OF MORE THAN 30 MINUTES 0015 01 MISSING VALUE 020041 0011 0000 01 NO ICING 0001 01 LIGHT ICING 0002 01 LIGHT ICING IN CLOUD 0003 01 LIGHT ICING IN PRECIPITATION 0004 01 MODERATE ICING 0005 01 MODERATE ICING IN CLOUD 0006 01 MODERATE ICING IN PRECIPITATION 0007 01 SEVERE ICING 0008 01 SEVERE ICING IN CLOUD 0009 01 SEVERE ICING IN PRECIPITATION 0015 01 MISSING VALUE 020042 0004 0000 01 NO ICING 0001 01 ICING PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020045 0004 0000 01 NO SLD CONDITIONS PRESENT 0001 01 SLD CONDITIONS PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020050 0010 0000 01 RESERVED 0001 01 1ST LOW CLOUD 0002 01 2ND LOW CLOUD 0003 01 3RD LOW CLOUD 0004 01 1ST MEDIUM CLOUD 0005 01 2ND MEDIUM CLOUD 0006 01 3RD MEDIUM CLOUD 0007 01 1ST HIGH CLOUD 0008 01 2ND HIGH CLOUD 0255 01 MISSING VALUE 020055 0011 0000 01 CUMULUS, IF ANY, ARE QUITE SMALL 0001 01 CUMULUS OF INTERMEDIATE SIZE 0002 01 SWELLING CUMULUS 0003 01 SWELLING CUMULUS WITH TOWERS 0004 01 SWELLING CUMULUS WITH TOWERS HAVING PRONOUNCED TILT 0005 01 TALL CUMULUS CONGESTUS 0006 01 ISOLATED CUMULONIMBUS 0007 01 NUMEROUS CUMULONIMBUS 0008 01 CONTINUOUS DENSE MIDDLE CLOUDS 0009 01 CONTINUOUS SHEETS OF MIDDLE CLOUDS 0015 01 MISSING VALUE 020056 0005 0000 01 UNKNOWN 0001 01 WATER 0002 01 ICE 0003 01 MIXED 0007 01 MISSING VALUE 020062 0021 0000 02 SURFACE OF GROUND DRY (WITHOUT CRACKS AND NO APPRECIABLE AMOUNT OF DUST OR LOOSE SAND) 0001 01 SURFACE OF GROUND MOIST 0002 02 SURFACE OF GROUND WET (STANDING WATER IN SMALL OR LARGE POOLS ON SURFACE) 0003 01 FLOODED WITHOUT SNOW 0004 01 SURFACE OF GROUND FROZEN MEASURABLE ICE 0005 01 GLAZE ON GROUND COVER 0006 01 LOOSE DRY DUST OR SAND NOT COVERING GROUND COMPLETELY 0007 01 THIN COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0008 02 MODERATE OR THICK COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0009 01 EXTREMELY DRY WITH CRACKS 0010 01 GROUND PREDOMINANTLY COVERED BY ICE 0011 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING LESS THAN ONE-HALF OF THE GROUND 0012 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING AT LEAST ONE-HALF OF THE GROUND BUT GROUND NOT COMPLETELY COVERED 0013 01 EVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND COMPLETELY 0014 02 UNEVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND WITH SNOW OR COMPLETELY MEASURABLE ICE 0015 01 LOOSE DRY SNOW COVERING LESS THAN ONE-HALF OF THE GROUND COVER 0016 02 LOOSE DRY SNOW COVERING AT LEAST ONE-HALF OF THE GROUND (BUT NOT COMPLETELY) 0017 01 EVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0018 01 UNEVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0019 01 SNOW COVERING GROUND COMPLETELY; DEEP DRIFTS 0031 01 MISSING VALUE 020063 0001 0000 01 TO BE DEVELOPED 020071 0011 0000 01 NO ASSESSMENT NO ASSESSMENT 0001 01 LESS THAN 50 KM LESS THAN 1 PER SECOND 0002 01 BETWEEN 50 AND 200 KM LESS THAN 1 PER SECOND 0003 01 MORE THAN 200 KM LESS THAN 1 PER SECOND 0004 01 LESS THAN 50 KM 1 OR MORE PER SECOND 0005 01 BETWEEN 50 AND 200 KM 1 OR MORE PER SECOND 0006 01 MORE THAN 200 KM 1 OR MORE PER SECOND 0007 01 LESS THANK 50 KM RATE SO RAPID NUMBER CANNOT BE COUNTED 0008 01 BETWEEN 50 AND 200 KM RATE SO RAPID NUMBER CANNOT BE COUNTED 0009 01 MORE THAN 200 KM RATE SO RAPID NUMBER CANNOT BE COUNTED 0015 01 MISSING VALUE 020086 0008 0000 01 CLEAR AND DRY 0001 01 DAMP 0005 01 WET SNOW 0006 01 SLUSH 0007 01 ICE 0008 01 COMPACTED OR ROLLED SNOW 0009 01 FROZEN RUTS OR RIDGES 0015 01 MISSING VALUE 020090 0007 0000 01 RESERVED 0001 01 NACREOUS CLOUDS 0002 01 NOCTILUCENT CLOUDS 0003 01 CLOUDS FROM WATERFALLS 0004 01 CLOUDS FROM FIRES 0005 01 CLOUDS FROM VULCANIC ERUPTIONS 0015 01 MISSING VALUE 020101 0010 0001 01 SCHISTOCERCA GREGARIA 0002 01 LOCUSTA MIGRATORIA 0003 01 NOMADACRIS SEPTEMFASCIATA 0004 01 OEDALEUS SENAGALENSIS 0005 01 ANRACRIDIUM SPP 0006 01 OTHER LOCUST 0007 01 OTHER GRASSHOPPERS 0008 01 ITHER CRICKETS 0009 01 SPODOPTERA EXEMPTA 0015 01 MISSING VALUE 020102 0011 0000 01 GREEN 0001 01 GREEN AND BLACK 0002 01 BLACK 0003 01 YELLOW AND BLACK 0004 01 STRAW/GREY 0005 01 PINK 0006 01 DARK RED/BROWN 0007 01 MIXED RED AND YELLOW 0008 01 YELLOW 0009 01 OTHER 0015 01 MISSING VALUE 020151 0003 0000 01 FIRST YEAR ICE 0001 01 MULTI YEAR ICE 0007 01 MISSING 020252 0003 0000 01 NO EDGE 0001 01 EDGE PRESENT 0007 01 MISSING 020253 0007 0000 01 LAND 0001 01 VEGETATION COVERED LAND 0002 01 RESERVED 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 MISSING 021066 0011 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLINH WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIC VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF IN-PHASE AND QUADRATURE OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION =< MMCC VALUE 021067 0012 0001 01 NO FOREBEAM CALCULATION 0002 01 NO MIDBEAM CALCULATION 0003 01 NO AFTBEAM CALCULATION 0004 01 FOREBEAM ARCING DETECTED 0005 01 MID ARCING DETECTED 0006 01 AFTBEAM ARCING DETECTED 0007 01 ANY BEAM NOISE CONTENT ABOVE OR EQUAL TO TRESHOLD 0008 01 LAND (ANY LAND IN CELL FOOTPRINT) 0009 01 AUTONOMOUS AMBIGUITY REMOVAL NOT USED 0010 01 METEOROLOGICAL BACKGROUND NOT USED 0011 01 MINIMUM RESIDUAL EXCEEDED TRESHOLD 0012 01 FRAME CHECKSUM ERROR DETECTED 021068 0007 0001 01 STANDARD DEVIATION OF WIND SPEED OUTSIDE MMCC LIMIT 0002 01 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT OUTSIDE MMCC LIMIT 0003 01 STANDARD DEVIATION OF ALTITUDE OUTSIDE MMCC LIMIT 0004 01 MEAN PEAKINESS OUTSIDE MMCC LIMIT 0005 01 FRAME CHECKSUM ERROR DETECTED 0006 01 HEIGHT-TIME LOOP TIME CONSTANT CORRECTION NOT PERFORMED 0007 01 NOT ENOUGH MEASUREMENTS ( N< 10) 021069 0009 0001 01 12.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0002 01 11.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0003 01 3.7 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0004 01 1.6 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0005 02 CLOUD IDENTIFICATION USED 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST 0006 02 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST USED DYNAMIC TRESHOLD 0007 01 SUN GLINT DETECTED BY 1.6 MICROMETERS REFLECTANCE CLOUD TEST 0008 01 3.7 MICROMETERS USED IN SEA-SURFACE TEMPERATURE RETRIEVAL 0009 02 SEA-SURFACE TEMPERATURE DERIVATION USED DAYTIME DATA (NIGHT-TIME IF ZERO) 021070 0024 0001 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0002 01 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMBERING 0003 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0004 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0005 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0006 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0007 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0008 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0009 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0010 01 -18 DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL (ONE BIT PER 10-ARCMIN CELL) 0011 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0011 01 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMBERING 0012 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0013 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0014 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0015 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0016 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0017 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0018 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0019 01 NADIR VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0020 01 FORWARD VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0021 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS ACQUIRED WHEN ERS PLATFORM NOT IN YAW-STEERING MODE 0022 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS FOR WHICH PRODUCT CONFIDENCE DATA SHOW QUALITY IS POOR OR UNKNOWN 0023 01 MISSING VALUE 021072 0003 0001 01 HEIGHT ERROR CORRECTION APPLIED INSTEAD OF OPEN LOOP CALIBRATION 0002 01 MICROWAVE SOUNDER USED FOR TROPOSPHERE CORRECTION 0003 01 AGC OUTPUT CORRECTION APPLIED INSTED OF OPEN LOOP CALIBRATION 021073 0008 0001 01 BLANK DATA RECORD 0002 01 TEST 0003 01 CALIBRATION (CLOSED LOOP) 0004 01 BITE 0005 01 ACQUISITION ON ICE 0006 01 ACQUISITION ON OCEAN 0007 01 TRACKING ON ICE 0008 01 TRACKING ON OCEAN 021076 0004 0000 01 LINEAR 0001 01 LOGARITHMIC (BASE E) 0002 01 LOGARITHMIC (BASE 10) 0007 01 MISSING VALUE 021109 0008 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA0- FOR WIND RETRIEVAL 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0017 01 MISSING VALUE 021115 0011 0001 01 SIGMA-0 MEASUREMENT IS NOT USABLE 0002 01 SIGNAL TO NOISE RATIO IS LOW 0003 01 SIGMA-0 IS NEGATIVE 0004 01 SIGMA-0 IS OUTSIDE OF ACCEPTABLE RANGE 0005 01 SCATTEROMETER PULSE QUALITY IS NOT ACCEPTABLE 0006 01 SIGMA-0 CELL LOCATION ALGORITHM DOES NOT CONVERGE 0007 01 FREQUENCY SHIFT LIES BEYOND THE RANGE OF THE X FACTOR TABLE 0008 01 SPACECRAFT TEMPERATURE IS BEYOND CALIBRATION COEFFICIENT RANGE 0009 01 NO APPLICABLE ATTITUDE RECORDS WERE FOUND FOR THIS SIGMA-0 0010 01 INTERPOLATED EPHEMERIS DATA ARE NOT ACCEPTABLE FOR THIS SIGMA-0 0017 01 MISSING VALUE 021116 0016 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG (1) 0015 01 SLICES PER COMPOSITE FLAG (2) 0016 01 SLICES PER COMPOSITE FLAG (3) 021119 0014 0000 01 RESERVED 0001 01 SASS 0002 01 SASS2 0003 01 NSCAT0 0004 01 NSCAT1 0005 01 NSCAT2 0006 01 QSCAT0 0007 01 QSCAT1 0031 01 CMOD1 0032 01 CMOD2 0033 01 CMOD3 0034 01 CMOD4 0035 01 CMOD5 0064 01 MISSING VALUE 021144 0001 0001 01 RAIN 021150 0004 0000 01 DATA FROM SINGLE GROUND STATION (NO CO-LOCATION) 0001 01 DATA FROM MULTIPLE GROUND STATION (CO-LOCATED DATA) 0002 01 RESERVED 0003 01 MISSING VALUE 021155 0016 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA-0 FOR WIND RETRIEVAL 0003 01 ANY BEAM NOISE CONTENT ABOVE TRESHOLD 0004 01 PRODUCT MONITORING NOT USED 0005 01 PRODUCT MONITORING FLAG 0006 01 KNMI QUALITY CONTROL FAILS 0007 01 VARIATIONAL QUALITY CONTROL FAILS 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0013 01 RAIN FLAG FOR THE WIND VECTOR CELL IS NOT USABLE 0014 01 RAIN FLAG ALGORITHM DETECTS RAIN 0015 01 NO METEOROLOGICAL BACKGROUND USED 0016 01 DATA ARE REDUNDANT 021158 0004 0000 01 ACCEPTABLE 0001 01 NOT ACCEPTABLE 0002 01 RESERVED 0003 01 MISSING VALUE 021159 0004 0000 01 GOOD 0001 01 USABLE 0002 01 BAD 0003 01 MISSING VALUE 021169 0004 0000 01 NO ICE PRESENT 0001 01 ICE PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 021196 0012 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLING WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIED VALUE 0007 01 INPUT DATA MEAN AND STANDARD DEVIATION OF I AND Q OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VCALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION <= MMCC VALUE 0012 01 MISSING VALUE 021199 0007 0001 01 3.7 MICRO CHANNEL USED IN ASST DERIVATION 0002 01 ASST DERIVATION USED DATTIME DATA 0003 02 COMPARISON OF ASST AGAINST PREVIOUS EQUIVALENT PASS PERFORMED 0004 02 COMPARISON OF ASST AGAINST WEEKLY AVERAGE OF ASST PERFORMED 0005 01 0006 02 COMPARISON OF RATE OF CHANGE OF ASST AGAINST STATIC TRESHOLD PERFORMED 0007 01 MISSING VALUE 022056 0004 0000 01 UPWARDS PROFILE 0001 01 DOWNWARDS PROFILE 0002 01 HORIZONTAL 0003 01 MISSING VALUE 022060 0004 0000 01 DROGUE IS DETACHED 0001 01 DROGUE IS ATTACHED 0002 01 DROGUE STATUS UNKNOWN 0007 01 MISSING VALUE 022061 0011 0000 01 CALM (GLASSY) HEIGHT 0 M 0001 01 CALM (RIPPLED) HEIGHT 0 - 0.1 M 0002 01 SMOOTH (WAVELETS) HEIGHT 0.1 - 0.5 M 0003 01 SLIGHT HEIGHT 0.5 - 1.5 M 0004 01 MODERATE HEIGHT 1.25 - 2.5 M 0005 01 ROUGH HEIGHT 2.5 - 4 M 0006 01 VERY ROUGH HEIGHT 4 - 6 M 0007 01 HIGH HEIGHT 6 - 9 M 0008 01 VERY HIGH HEIGHT 9 -14 M 0009 01 PHENOMANAL HEIGHT OVER 14 M 0015 01 MISSING VALUE 022067 0001 0000 01 SEE COMMON CODE TABLE C3 022068 0001 0000 01 SEE COMMON CODE TABLE C4 022120 0013 0000 01 GOOD DATA 0001 01 MAXIMUM (HIGH) WATER LEVEL LIMIT EXCEEDED 0002 01 MINIMUM (LOW) WATER LEVEL LIMIT EXCEEDED 0003 01 RATE OF CHANGE LIMIT FOR WATER LEVEL EXCEEDED 0004 01 FLAT LIMIT FOR WATER LEVEL EXCEEDED 0005 01 OBSERVED MINUS PREDICTED WATER LEVEL VALUE LIMIT EXCEEDED 0006 02 OBSERVED VALUE FROM PRIMARY WATER LEVEL SENSOR MINUS BACKUP WATER LEVEL SENSOR 0007 01 VALUE EXCEEDED SPECIFIED TOLERANCE FROM EXPECTED VALUE 0008 01 WATER LEVEL QA PARAMETER (SIGMAS AND/OR OUTLIERS) LIMITS EXCEEDED 0009 01 SEA TEMPERATURE OUTSIDE OF EXPECTED RANGE 0010 01 MULTIPLE QC CHECKS (ABOVE) FAILED 0011 01 NO AUTOMATED WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022121 0009 0000 01 OPERATIONAL 0001 01 POSSIBLE CLOGGING PROBLEM OR OTHERWISE DEGRADED WATE LEVEL DATA 0002 01 POSSIBLE DATUM SHIFT 0003 01 UNKNOWN STATUS OF WATER LEVEL SENSOR 0004 01 SUSPECTED OR KNOWN SEA TEMPERATURE SENSOR PROBLEM 0005 01 MULTIPLE POSSIBLE PROBLEMS (ABOVE) 0006 01 BAD DATA- DO NOT DISSEMINATE 0007 01 NO MANUAL WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022122 0008 0000 01 GOOD DATA FROM ALL SENSORS 0001 01 WIND DIRECTION OUTSIDE OF ALLOWABLE RANGE 0002 01 WIND SPEED OUTSIDE OF EXPECTED RANGE 0003 01 BAROMETRIC PRESSURE OUTSIDE OF EXPECTED RANGE 0004 01 AIR TEMPERATURE OUTSIDE OF EXPECTED RANGE 0005 01 MULTIPLE SENSOR FAILED QC CHECKS 0006 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022123 0009 0000 01 OPERATIONAL 0001 01 SUSPECTED OR KNOWN PROBLEM WITH WIND SENSOR 0002 01 SUSPECTED OR KNOWN PROBLEM WITH BAROMETRIC PRESSURE SENSOR 0003 01 SUSPECTED OR KNOWN PROBLEM WITH AIR TEMPERATURE SENSOR 0004 01 UNKNOWN STATUS OF ALL SENSORS 0005 01 SUSPECTED OR KNOWN PROBLEMS WITH MULTIPLE SENSORS 0006 01 BAD DATA - DO NOT DISSEMINATE 0007 01 NO MANUAL METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022252 0006 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MAGNOLIA CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 023001 0005 0000 01 RESERVED 0001 01 ARTICLES 1 AND 2 0002 01 ARTICLE 3 0003 01 ARTICLE 5.2 0007 01 MISSING VALUE 023002 0016 0000 01 RESERVED 0001 01 NUCLEAR REACTOR ON GROUND 0002 01 NUCLEAR REACTOR ON SEA 0003 01 NUCLEAR REACTOR IN SPACE 0004 01 NUCLEAR FULE FACILITY 0005 01 RADIOACTIVE WASTE MANAGMENT FACITILY 0006 01 TRANSPORT OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0007 01 STORAGE OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0008 01 MANUFACTURE OF RADIO-ISOTOPES 0009 01 USE OF RADIO-ISOTOPES 0010 01 STORAGE OF RADIO-ISOTOPES 0011 01 DISPOSAL OF RADIO-ISOTOPS 0012 01 TRANSPORT OF RADIO-ISOTOPES 0013 01 USE OF RADIO-ISOTOPES FOR POWER GENERATION 0030 01 OTHER 0031 01 MISSING VALUE 023003 0008 0000 01 NO RELEASE 0001 01 RELEASE TO ATMOSPHERE 0002 01 RELEASE TO WATER 0003 01 RELEASE TO BOTH ATMOSPHERE AND WATER 0004 01 EXPECTED RELEASE TO ATMOSPHERE 0005 01 EXPECTED RELEASE TO WATER 0006 01 EXPECTED RELEASE TO BOTH ATMOSPHERE AND WATER 0007 01 MISSING VALUE 023004 0006 0000 01 NO COUNTERMEASURE 0001 01 EVACUATION 0002 01 SHELTERING 0003 01 PROPHILAXIS 0004 01 WATER 0007 01 MISSING VALUE 023005 0004 0000 01 INCIDENT STAT DOES NOT UNDERSTAND WHAT HAPPENED 0001 01 INCIDENT STATE KNOWS THE CAUSE OF THE INCIDENT 0002 01 RESERVED 0003 01 MISSING VALUE 023006 0008 0000 01 NO IMPROVEMENT 0001 01 UNSTABLE 0002 01 NO DETERIORATION 0003 01 IMPROVING 0004 01 STABLE 0005 01 DETERIORATING 0006 01 RESERVED 0007 01 MISSING VALUE 023007 0005 0000 01 NO RELEASE 0001 01 RELEASE HAS STOPPED 0002 01 RELEASE 0003 01 RELEASE IS CONTINUING 0007 01 MISSING VALUE 023008 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023009 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023016 0004 0000 01 NO SIGNIFICANT TOXIC HEALTH EFFECT 0001 01 SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT POSSIBLE 0002 01 RESERVED 0003 01 MISSING VALUE 023018 0006 0000 01 RELEASE NO LONGER OCCURRING 0001 01 RELEASE STILL OCCURRING 0002 01 RELEASE EXPECTED TO INCREASE IN NEXT SIX HOURS 0003 01 RELEASE EXPECTED TO REMAIN CONSTANT IN NEXT SIX HOURS 0004 01 RELEASE EXPECTED TO DECREASE IN NEXT SIX HOURS 0007 01 MISSING VALUE 023031 0004 0000 01 PLUME WILL NOT ENCOUNTER RAIN IN INCIDENT STATE 0001 01 PLUME WILL ENCOUNTER RAIN IN INCIDENT STATE 0002 01 RESERVED 0003 01 MISSING VALUE 023032 0004 0000 01 NO SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0001 01 ANTICIPATED SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0002 01 RESERVED 0003 01 MISSING VALUE 024003 0005 0000 01 NOBLE GASES 0001 01 IODINES 0002 01 CAESIUM 0003 01 TRANSURANICS 0031 01 MISSING VALUE 025004 0004 0000 01 INCOHERENT 0001 01 COHERENT (DOPPLER) 0002 01 RESERVED 0003 01 MISSING VALUE 025005 0004 0000 01 LOGATITHM - 2.5 DB 0001 01 LINEAR 0002 01 SPECIAL 0003 01 MISSING VALUE 025006 0005 0000 01 ZH TO R CONVERSION 0001 01 (ZH, ZDR) TO (NO.DO) TO R 0002 01 (Z(F1),Z(F2)) TO ATTENUATION TO R 0006 01 OTHER 0007 01 MISSING VALUE 025009 0004 0001 01 NONE 0002 01 CALIBRATION TARGET OR SIGNAL 0003 01 AGAINST RAINGAGES 0004 01 AGAINST OTHER INSTRUMENTS (DISTROMETER-ATTENUATION) 025010 0008 0000 01 NONE 0001 01 MAP 0002 01 INSERTION OF HIGHER ELEVATION DATA AND MAP 0003 01 ANALYSIS OF FLUCTUATING LOGARITHM SIGNAL (CLUTTER DETECTION) 0004 01 EXTRACTION OF FLUCTUATING PART OF LINEAR SIGNAL (CLUTTER SUPPRESSION) 0005 01 CLUTTER SUPPRESSION DOPPLER 0006 01 MULTIPARAMETER ANALYSIS 0015 01 MISSING VALUE 025011 0004 0000 01 NONE 0001 01 MAP OF CORRECTION FACTORS 0002 01 INTERPOLATION (AZIMUTH OR ELEVATION) 0003 01 MISSING VALUE 025012 0004 0000 01 HARDWARE 0001 01 SOFTWARE 0002 01 HARDWARE AND SOFTWARE 0003 01 MISSING VALUE 025013 0001 0001 01 BRIGHT BAND CORRECTION 025015 0001 0001 01 RADOME ATTENUATION CORRECTION 025017 0001 0001 01 PRECIPITATION ATTENUATION CORRECTION 025020 0004 0000 01 FTT (FAST FOURIER TRANSFORM 0001 01 PPP (PULSE PAIR PROCESSING 0002 01 VPC (VECTOR-PHASE CHANGE) 0003 01 MISSING VALUE 025021 0005 0001 01 SIMPLE AVERAGE 0002 01 CONSENSUS AVERAGE 0003 01 MEDIAN CHECK 0004 01 VERTICAL CONSISTENCY CHECK 0005 01 OTHER 025030 0004 0000 01 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE USAGE CRITERIA NOT MET 0001 01 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE DATA NOT AVAILABLE 0002 01 RUNNING MEAN SEA-SURFACE TEMPERATURE USED AS PREDICTOR 0003 01 MISSING VALUE 025032 0004 0000 01 RESERVED 0001 01 DATA FROM LOW MODE 0002 01 DATA FROM HIGH MODE 0003 01 MISSING VALUE 025033 0004 0000 01 WIND PROFILER OPERATING IN SUBMODE A 0001 01 WIND PROFILER OPERATING IN SUBMODE B 0002 01 RESERVED 0003 01 MISSING VALUE 025034 0004 0001 01 TEST A PERFORMED AND FAILED 0002 01 TEST B PERFORMED AND FAILED 0003 01 TEST RESULTS INCONCLUSIVE 025036 0004 0000 02 NETWORK OF SEVERAL DIRECTION-FINDERS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0001 02 NETWORK OF SEVERAL ARRIVAL-TIME STATIONS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0006 01 SINGLE STATION RANGE BEARING TECHNIQUE 0015 01 MISSING VALUE 025040 0010 0000 01 NON-SPECIFIC MODE 0001 01 FIRST GUESS DATA 0002 01 CLOUD DATA 0003 01 AVERAGE VECTOR DATA 0004 01 PRIMARY DATA 0005 01 GUESS DATA 0006 01 VECTOR DATA 0007 01 TRACER DATA; THE IMAGE 0008 01 TRACER DATA TO NEXT IMAGE 0015 01 MISSING VALUE 025041 0004 0000 01 DIRECTION ORIGINALLY REPORTED IN TRUE DEGREES 0001 01 DIRECTION ORIGINALLY REPORTED USING CODE TABLE 0700, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025042 0004 0000 01 SPEED ORIGINALLY REPORTED IN METERS PER SECOND 0001 01 SPEED ORIGINALLY REPORTED USING CODE TABLE 2251, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025045 0020 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 0016 01 CHANNEL 16 PRESENT - (SET TO 1 PRESENT) 0017 01 CHANNEL 17 PRESENT - (SET TO 1 PRESENT) 0018 01 CHANNEL 18 PRESENT - (SET TO 1 PRESENT) 0019 01 CHANNEL 19 PRESENT - (SET TO 1 PRESENT) 0020 01 CHANNEL 20 PRESENT - (SET TO 1 PRESENT) 025046 0004 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 025047 0003 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 025048 0015 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 025049 0005 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 025051 0006 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 025053 0006 0001 01 GOOD 0002 01 REDUNDANT 0003 01 QUESTIONABLE 0004 01 BAD 0005 01 EXPERIMENTAL 0006 01 PRECIPITATING 025069 0007 0001 01 SMOOTHED 0002 01 BASELINE ADJUSTED 0003 01 NORMALIZED TIME INTERVAL 0004 01 OUTLIER CHECKED 0005 01 PLAUSIBILITY CHECKED 0006 01 CONSISTENCY CHECKED 0007 01 INTERPOLATED 025086 0004 0000 01 DEPTHS ARE NOT CORRECTED 0001 01 DEPTHS ARE CORRECTED 0002 01 RESERVED 0003 01 MISSING VALUE 025093 0003 0001 01 NO CORRECTION 0002 01 VERTICAL VELOCITY CORRECTION 0007 01 ALL CORRECTIONS 025095 0001 0001 02 ALTIMETER OPERATING (SET TO 0 IF NOMINAL, SET TO BACKUP) 025096 0004 0001 01 MODE INDICATOR (0 IF MODE 2, 1 IF MODE 1) 0002 03 MODE 1 CALIBRATION SEQUENCE INDICATOR (0 IF NORMAL DATA TAKING EITHER MODE 1 OR 2, 1 IF MODE 1 CALIBRATION SEQUENCE) BITS 3 AND 4 INDICATE ACTIVE 23.8 GHZ CHANNEL 0003 01 CHANNEL 2 (0 IF ON, 1 IF OFF) 0004 01 CHANNEL 3 (0 IF ON, 1 IF OFF) 025097 0011 0000 01 RANGES BETWEEN 0 AND 30 CM 0001 01 RANGES BETWEEN 30 AND 60 CM 0002 01 RANGES BETWEEN 60 AND 90 CM 0003 01 RANGES BETWEEN 90 AND 120 CM 0004 01 RANGES BETWEEN 120 AND 150 CM 0005 01 RANGES BETWEEN 150 AND 180 CM 0006 01 RANGES BETWEEN 180 AND 210 CM 0007 01 RANGES BETWEEN 210 AND 240 CM 0008 01 RANGES BETWEEN 240 AND 270 CM 0009 01 RANGES LARGER THAN 270 CM 0015 01 MISSING VALUE 025098 0008 0001 01 KU BAND RANGE 0002 01 C BAND RANGE 0003 01 KU BAND SWH 0004 01 C BAND SWH 0005 01 KU BAND SCATTEROMETER COEFFICIENT 0006 01 C BAND SCATTEROMETER COEFFICIENT 0007 01 OFF NADIR ANGLE FROM KU BAND WVEFORM PARAMETERS 0008 01 OFF NADIR FROM PLATFORM 025099 0006 0001 01 KU BAND RANGE INSTRUMENTAL CORRECTION 0002 01 C BAND RANGE INSTRUMENTAL CORRECTION 0003 01 KU BAND SWH INSTRUMENTAL CORRECTION 0004 01 C BAND SWH INSTRUMENTAL CORRECTION 0005 01 KU BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 0006 01 C BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 025110 0006 0001 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING DEFAULT PARAMETERS 0002 01 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING RAW DATA ANALYSIS RESULTS 0003 01 ANTENNA ELEVATION PATTERN CORRECTION APPLIED 0004 01 NOMINAL CHIRP REPLICA USED 0005 01 RECONSTRUCTED CHIRP USED 0006 01 SLANT RANGE TO GROUND RANGE CONVERSION APPLIED 025120 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025122 0004 0000 01 HARDWARE CONFIGURATION FOR RF IS A 0001 01 HARDWARE CONFIGURATION FOR RF IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025123 0004 0000 01 HARDWARE CONFIGURATION FOR HPA IS A 0001 01 HARDWARE CONFIGURATION FOR HPA IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025124 0004 0000 01 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025144 0014 0001 01 PIXEL IS AFFECTED BY RFI EFFECTS 0002 01 PIXEL IS LOCATED IN THE HEXAGONAL ALIAS DIRECTION CENTRED ON SUN ALIAS 0003 01 PIXEL IS CLOSE TO THE BORDER DELIMITING THE EXTENDED ALIAS FREE ZONE 0004 01 PIXEL IS INSIDE THE EXTENDED ALIAS FREE ZONE 0005 01 PIXEL IS INSIDE THE EXCLUSIVE OF ALIAS FREE ZONE 0006 01 PIXEL IS LOCATED IN ZONE WHERE A MOON ALIAS WAS RECONSTRUCTED 0007 01 PIXEL IS LOCATED IN ZONE WHERE SUN REFLECTION HAS BEEN DETECTED 0008 01 PIXEL IS LOCATED IN ZONE WHERE SUN ALIAS WAS RECONSTRUCTED 0009 02 FLAT TARGET TRANSFORMATION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0010 02 SCENE HAS BEEN COMBINED WITH AN ADJUSTMENT SCENE IN OPOSITE POLARISATION DURING IMAGE RECONSTRUCTION TO ACCOUNT FOR CROSS-POLARISATION LEAKAGE 0011 02 DIRECT MOON CORRECTION HAS BENN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0012 02 REFLECTED SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION IF THIS PIXEL 0013 02 DIRECT SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS IMAGE 026010 0025 0001 01 0100 INCLUDED 0002 01 0200 INCLUDED 0003 01 0300 INCLUDED 0004 01 0400 INCLUDED 0005 01 0500 INCLUDED 0006 01 0600 INCLUDED 0007 01 0700 INCLUDED 0008 01 0800 INCLUDED 0009 01 0900 INCLUDED 0010 01 1000 INCLUDED 0011 01 1100 INCLUDED 0012 01 1200 INCLUDED 0013 01 1300 INCLUDED 0014 01 1400 INCLUDED 0015 01 1500 INCLUDED 0016 01 1600 INCLUDED 0017 01 1700 INCLUDED 0018 01 1800 INCLUDED 0019 01 1900 INCLUDED 0020 01 2000 INCLUDED 0021 01 2100 INCLUDED 0022 01 2200 INCLUDED 0023 01 2300 INCLUDED 0024 01 2400 INCLUDED 0025 01 UNKNOWN MIXTURE OF HOURS 029001 0006 0000 01 GNOMONIC PROJECTION 0001 01 POLAR STEREOGRAPHIC PROJECTION 0002 01 LAMBERT'S CONFORMAL CONIC PROJECTION 0003 01 MERCATOR'S PROJECTION 0004 01 SCANNING CONE (RADAR) 0007 01 MISSING VALUE 029002 0004 0000 01 CARTESIAN 0001 01 POLAR 0002 01 OTHER 0007 01 MISSING VALUE 030031 0013 0000 01 PPI 0001 01 COMPOSITE 0002 01 CAPPI 0003 01 VERTICAL SECTION 0004 01 ALPHANUMERIC DATA 0005 01 MAP OF SUBJECT CLUTTER 0006 01 MAP 0007 01 TEST PICTURE 0008 01 COMMENTS 0009 01 MAP OF GROUND OCCULTATION 0010 01 MAP OF RADAR BEAM HEIGHT 0014 01 OTHER 0015 01 MISSING VALUE 030032 0009 0001 01 MAP 0002 01 SATELLITE IR 0003 01 SATELLITE VIS 0004 01 SATELLITE WV 0005 01 SATELLITE MULTISPECTRAL 0006 01 SYNOPTIC OBSERVATIONS 0007 01 FORECAST PARAMETERS 0008 01 LIGHTNING DATA 0015 01 OTHER DATA 031021 0004 0001 01 1 BIT INDICATOR OF QUALITY, 0= GOOD; 1=SUSPECT OR BAD 0002 02 2 BIT INDICATOR OF QUALITY, 0= GOOD; 1= SLIGHTLY SUSPECTED; 2= HIGHLY SUSPECTED; 3=BAD 0007 01 PERCENTAGE CONFIDENCE 0063 01 MISSING VALUE 031031 0001 0001 01 DATA NOT PRESENT 033002 0004 0000 01 DATA NOT SUSPECT 0001 01 DATA SUSPECT 0002 01 RESERVED 0003 01 MISSING VALUE 033003 0005 0000 01 DATA NOT SUSPECT 0001 01 DATA SLIGHTLY SUSPECT 0002 01 DATA HIGHTLY SUSPECT 0003 01 DATA CONSIDERED UNFIT FOR USE 0007 01 MISSING VALUE 033005 0023 0001 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0002 01 PRESSURE DATA SUSPECT 0003 01 WIND DATA SUSPECT 0004 01 DRY-BULB TEMPERATURE DATA SUSPECT 0005 01 WET-BULB TEMPERATURE DATA SUSPECT 0006 01 HUMIDITY DATA SUSPECT 0007 01 GROUND TEMPERATURE DATA SUSPECT 0008 01 SOIL TEMPERATURE (DEPTH 1) DATA SUSPECT 0009 01 SOIL TEMPERATURE (DEPTH 2) DATA SUSPECT 0010 01 SOIL TEMPERATURE (DEPTH 3) DATA SUSPECT 0011 01 SOIL TEMPERATURE (DEPTH 4) DATA SUSPECT 0012 01 SOIL TEMPERATURE (DEPTH 5) DATA SUSPECT 0013 01 CLOUD DATA SUSPECT 0014 01 VISIBILITY DATA SUSPECT 0015 01 PRESENT WEATHER DATA SUSPECT 0016 01 LIGHTNING DATA SUSPECT 0017 01 ICE DEPOSIT DATA SUSPECT 0018 01 PRECIPITATION DATA SUSPECT 0019 01 STATE OF GROUND DATA SUSPECT 0020 01 SNOW DATA SUSPECT 0021 01 WATER CONTENT DATA SUSPECT 0022 01 EVAPORATION/EVAPOTRANSPIRATION DATA SUSPECT 0023 01 SUNSHINE DATA SUSPECT 033006 0005 0000 01 SELF-CHECK OK 0001 01 AT LEAST ONE WARNING ACTIVE, NO ALARMS 0002 01 AT LEAST ONE ALARM ACTIVE 0003 01 SENSOR FAILURE 0007 01 MISSING VALUE 033015 0016 0000 01 PASSED ALL CHECKS 0001 01 MISSING-DATA CHECK 0002 01 DESCENDING/REASCENDING BALLOON CHECK 0003 01 DATA PLAUSIBILITY CHECK (ABOVE LIMITS) 0004 01 DATA PLAUSIBILITY CHECK (BELOW LIMITS) 0005 01 SUPERADIABATIC LAPSE RATE CHECK 0006 01 LIMITING ANGLES CHECK 0007 01 ASCENSION RATE CHECK 0008 01 EXCESSIVE CHANGE FROM PREVIOUS FLIGHT 0009 01 BALLOON OVERHEAD CHECK 0010 01 WIND SPEED CHECK 0011 01 WIND DIRECTION CHECK 0012 01 DEPENDENCY CHECK 0013 01 DATA VALID BUT MODIFIED 0014 01 DATA OUTLIER CHECK 0063 01 MISSING DATA 033020 0008 0000 01 GOOD 0001 01 INCONSISTENT 0002 01 DOUBTFUL 0003 01 WRONG 0004 01 NOT CHECKED 0005 01 HAS BEEN CHECKED 0006 01 RESERVED 0007 01 MISSING VALUE 033021 0004 0000 01 WITHIN LIMITS 0001 01 OUTSIDE LIMITS 0002 01 RESERVED 0003 01 MISSING VALUE 033022 0004 0000 01 GOOD (SEVERAL IDENTICAL REPORTS HAVE BEEN RECEIVED) 0001 01 DUBIOUS (NO IDENTICAL REPORT HAVE BEEN RECEIVED) 0002 01 RESERVED 0003 01 MISSING VALUE 033023 0004 0000 01 RELIABLE (LOCATION WAS MADE OVER TWO SATELLITE PASSES) 0001 01 LATEST KNOWN (NO LOCATION OVER CORRESPONDING PASS) 0002 01 DUBIOUS 0003 01 MISSING VALUE 033024 0010 0000 01 RESERVED 0001 01 EXELLENT - WITHIN 3 METRES 0002 01 GOOD - WITHIN 10 METRES 0003 01 FAIR - WITHIN 20 METRES 0004 01 POOR - MORE THAN 20 METRES 0005 01 EXELLENT -WITHIN 10 FEET 0006 01 GOOD WITHIN-30 FEET 0007 01 FAIR WITHIN 60 FEET 0008 01 POOR - MORE THAN 60 FEET 0015 01 MISSING VALUE 033025 0005 0000 01 TIME INTERPOLATED, LATITUDE AND LONGITUDE REPORTED 0001 01 TIME REPORTED, LATITUDE AND LONGITUDE INTERPOLATED 0002 01 TIME, LATITUDE AND LONGITUDE INTERPOLATED 0003 01 TIME, LATITUDE AND LONGITUDE REPORTED 0007 01 MISSING VALUE 033026 0010 0000 01 NORMAL OPERATIONS - MEASUREMENT MODE 0001 01 NORMAL OPERATIONS - NON-MEASUREMENT MODE 0002 01 SMALL RH 0003 01 HUMIDITY ELEMENT IS WET 0004 01 HUMIDITY ELEMENT IS CONTAMINATED 0005 01 HEATER FAIL 0006 01 HEATER FAIL AND WET/CONTAMINATED HUMIDITY ELEMENT 0007 01 SINGLE VALIDITY BAD 0008 01 NUMERIC ERROR 0063 01 MISSING VALUE 033027 0005 0000 01 RADIUS >= 1500 M 0001 01 500 M <= RADIUS < 1500 M 0002 01 250 M <= RADIUS < 500 M 0003 01 RADIUS < 250 M 0007 01 MISSING VALUE 033028 0006 0000 01 RESERVED 0001 01 NOMINAL 0002 01 DEGRADED BY SW ERROR; ANY ERROR REPORTED BY THE ALGORITHMS 0003 01 DEGRADED BY INSTRUMENT ERROR 0004 01 DEGRADED BY CORRUPTED/MISSING ADF 0007 01 MISSING 033030 0007 0001 01 DO NOT USE SCAN FOR PRODUCT GENERATION 0002 01 TIME SEQUENCE ERROR DETECTED WITH THIS SCAN 0003 01 DATA GAP PRECEDES THIS SCAN 0004 01 NO CALIBRATION 0005 01 NO EARTH LOCATION 0006 01 FIRST GOOD TIME FOLLOWING A CLOCK UPDATE 0007 01 INSTRUMENT STATUS CHANGED WITH THIS SCAN 033031 0021 0001 01 TIME FIELD IS BAD BUT CAN PROBABLY BE INFERRED FROM THE PREVIOUS GOOD TIME 0002 01 TIME FIELD IS BAD AND CANÂ~@~YT BE INFERRED FROM THE PREVIOUS GOOD TIME 0003 04 THIS RECORD STARTS A SEQUENCE THAT IS INCONSISTENT WITH PREVIOUS TIMES (I.E. THERE IS A TIME DISCONTINUITY). THIS MAY OR MAY NOT BE ASSOCIATED WITH A SPACECRAFT CLOCK UPDATE (SEE SCAN LINE STATUS FLAGS FOR ATOVS) 0004 02 START OF A SEQUENCE THAT APPARENTLY REPEATS SCAN TIMES THAT HAVE BEEN PREVIOUSLY ACCEPTED 0005 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD TIME 0006 03 SCAN LINE WAS CALIBRATED USING FEWER THAN THE PREFERRED NUMBER OF SCAN LINES BECAUSE OF PROXIMATY TO START OR END OF DATA OR TO A DATA GAP 0007 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD OR INSUFFICIENT PRT DATA 0008 01 SCAN LINE WAS CALIBRATED BUT WITH MARGINAL PRT DATA 0009 01 SOME UNCALIBRATED CHANNELS ON THIS SCAN 0010 01 UNCALIBRATED DUE TO INSTRUMENT MODE 0011 01 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR OF SPACE VIEW 0012 01 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR OF BLACK BODY 0013 01 NOT EARTH LOCATED BECAUSE OF BAD TIME 0014 03 EARTH LOCATION QUESTIONABLE BECAUSE OF QUESTIONABLE TIME CODE (SEE TIME PROBLEM CODE BITS) 0015 02 EARTH LOCATION QUESTIONABLE - ONLY MARGINAL AGREEMENT WITH REASONABLENESS CHECK 0016 01 EARTH LOCATION QUESTIONABLE - FAILS REASONABLENESS CHECK 0017 01 EARTH LOCATION QUESTIONABLE BECAUSE OF ANTENNA POSITION CHECK 0018 01 SCAN LINE CALIBRATION COLD BLACK BODY 0019 01 SCAN LINE CALIBRATION WARM BLACK BODY 0020 01 SCAN LINE CALIBRATION SPACE VIEW 0021 01 EARTH VIEW 033032 0006 0001 01 NO GOOD BLACKBODY COUNTS FOR SCAN LINE 0002 01 NO GOOD SPACE VIEW COUNTS FOR THIS LINE 0003 01 NO GOOD PRTS FOR THIS LINE 0004 01 SOME BAD BLACKBODY VIEW COUNTS FOR THIS LINE 0005 01 SOME BAD SPACE VIEW COUNTS FOR THIS LINE 0006 01 SOME BAD PRT TEMPS ON THIS LINE 033033 0023 0001 01 SET IF SECONDARY CALIBRATION USED 0002 02 BRIGHTNESS TEMPERATURE IN CHANNEL 1 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0003 02 BRIGHTNESS TEMPERATURE IN CHANNEL 2 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0004 02 BRIGHTNESS TEMPERATURE IN CHANNEL 3 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0005 02 BRIGHTNESS TEMPERATURE IN CHANNEL 4 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0006 02 BRIGHTNESS TEMPERATURE IN CHANNEL 5 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0007 02 BRIGHTNESS TEMPERATURE IN CHANNEL 6 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0008 02 BRIGHTNESS TEMPERATURE IN CHANNEL 7 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0009 02 BRIGHTNESS TEMPERATURE IN CHANNEL 8 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0010 02 BRIGHTNESS TEMPERATURE IN CHANNEL 9 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0011 02 BRIGHTNESS TEMPERATURE IN CHANNEL 10 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0012 02 BRIGHTNESS TEMPERATURE IN CHANNEL 11 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0013 02 BRIGHTNESS TEMPERATURE IN CHANNEL 12 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0014 02 BRIGHTNESS TEMPERATURE IN CHANNEL 13 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0015 02 BRIGHTNESS TEMPERATURE IN CHANNEL 14 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0016 02 BRIGHTNESS TEMPERATURE IN CHANNEL 15 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0017 02 BRIGHTNESS TEMPERATURE IN CHANNEL 16 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0018 02 BRIGHTNESS TEMPERATURE IN CHANNEL 17 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0019 02 BRIGHTNESS TEMPERATURE IN CHANNEL 18 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0020 02 BRIGHTNESS TEMPERATURE IN CHANNEL 19 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0021 02 BRIGHTNESS TEMPERATURE IN CHANNEL 20 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0022 01 SET IF ALL CHANNELS ARE MISSING 0023 01 SUSPECT 033035 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 0006 01 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND NOT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033037 0020 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0020 01 AUTOEDITOR FLAGGED VECTORS 033038 0009 0001 01 TOTAL ZENITH DELAY QUALITY IS CONSIDERED POOR 0002 01 GALILEO SATELLITES USED 0003 01 GLONASS SATELLITES USED 0004 01 GPS SATELLITES USED 0005 01 METEOROLOGICAL DATA APPLIED 0006 01 ATMOSPHERIC LOADING CORRECTION APPLIED 0007 01 OCEAN TIDE LOADING APPLIED 0008 01 CLIMATE QUALITY DATA PROCESSING 0009 01 NEAR-REAL TIME DATA PROCESSING 033039 0009 0001 01 NON-NOMINAL QUALITY 0002 01 OFFLINE PRODUCT 0003 01 ASCENDING OCCULTATION FLAG 0004 01 EXCESS PHASE PROCESSING NON-NOMINAL 0005 01 BENDING ANGLE PROCESSING NON-NOMINAL 0006 01 REFRACTIVITY PROCESSING NON-NOMINAL 0007 01 METEOROLOGICAL PROCESSING NON-NOMINAL 0014 01 BACKGROUND PROFILE NON-NOMINAL 0015 01 BACKGROUND (I.E. NOT RETRIEVED) PROFILE PRESENT 033041 0004 0000 01 THE FOLLOWING VALUE IS THE TRUE VALUE 0001 02 THE FOLLOWING VALUE IS HIGHER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE LOWER LIMIT OF THE INSTRUMENT) 0002 02 THE FOLLOWING VALUE IS LOWER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE HIGHER LIMIT OF THE INSTRUMENT) 0003 01 MISSING VALUE 033042 0005 0000 01 EXCLUSIVE LOWER LIMIT (>) 0001 01 INCLUSIVE LOWER LIMIT (>=) 0002 01 EXCLUSIVE UPPER LIMIT (<) 0003 01 INCLUSIVE UPPER LIMIT (=<) 0007 01 MISSING VALUE 033043 0004 0001 02 SEA MDS. NADIR ONLY SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED 0002 02 SEA MDS. DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED. 0003 01 NADIR VIEW CONTAINS DAY TIME DATA 0004 01 FORWARD VIEW CONTAINS DAY TIME DATA 033044 0014 0001 01 INPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0002 01 INPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0003 01 NUMBER OF INPUT DATA GAPS > THRESHOLD VALUE 0004 01 PERCENTAGE OF MISSING LINES > THRESHOLD VALUE 0005 01 DOPPLER CENTROID UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VALUE 0006 01 DOPPLER AMBIGUITY ESTIMATE UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VALUE 0007 01 OUTPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0008 01 OUTPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0009 01 CHIRP RECONSTRUCTION FAILED OR IS OF LOW QUALITY FLAG 0010 01 DATA SET MISSING 0011 01 INVALID DOWNLINK PARAMETERS 0012 02 AZIMUTH CUT-OFF ITERATION COUNT. THE AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0013 02 AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0014 03 PHASE INFORMATION CONFIDENCE MEASURE. THE IMAGINARY SPECTRAL PEAK IS LESS THAN A MINIMUM THRESHOLD, OR THE ZERO LAG SHIFT IS GREATER THAN A MINIMUM THRESHOLD 033047 0026 0001 01 ERROR DETECTED AND ATTEMPTS TO RECOVER MADE 0002 01 ANOMALY IN ON-BOARD DATA HANDLING (OBDH) VALUE DETECTED 0003 01 ANOMALY IN ULTRA STABLE OSCILLATOR PROCESSING (USOP) VALUE DETECTED 0004 01 ERRORS DETECTED BY ON-BOARD COMPUTER 0005 01 AUTOMATIC GAIN CONTROL (AGC) OUT OF RANGE 0006 01 RX DELAY FAULT. RX DISTANCE OUT OF RANGE 0007 01 WAVE FORM SAMPLES FAULT IDENTIFIER. ERROR 0012 01 BRIGHTNESS TEMPERATURE (CHANNEL 1) OUT OF RANGE 0013 01 BRIGHTNESS TEMPERATURE (CHANNEL 2) OUT OF RANGE 0014 01 RESERVED 0015 01 KU OCEAN RETRACKING ERROR 0016 01 S OCEAN RETRACKING ERROR 0017 01 KU ICE 1 RETRACKING ERROR 0018 01 S ICE 1 RETRACKING ERROR 0019 01 KU ICE 2 RETRACKING ERROR 0020 01 S ICE 2 RETRACKING ERROR 0021 01 KU SEA ICE RETRACKING ERROR 0022 01 ARITHMETIC FAULT ERROR 0023 01 METEO DATA STATE. NO MAP 0024 01 METEO DATA STATE. 1 MAP 0025 01 METEO DATA STATE 2 MAPS DEGRADED 0026 01 METEO DATA STATE 2 MAPS NOMINAL 0027 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, SEVERAL ERRORS 0028 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, WARNING DETECTED 0029 01 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, SEVERAL ERRORS 0030 01 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, WARNING DETECTED 033048 0004 0000 01 INVERSION SUCCESSFUL 0001 01 INVERSION NOT SUCCESSFUL 0002 01 RESERVED 0003 01 MISSING VALUE 033049 0004 0000 01 EXTERNAL WIND DIRECTION USED DURING INVERSION 0001 01 EXTERNAL WIND DIRECTION NOT USED DURING INVERSION 0002 01 RESERVED 0003 01 MISSING VALUE 033050 0008 0000 01 UNQUALIFIED 0001 01 CORRECT VALUE (ALL CHECKS PASSED) 0002 01 PROBABLY GOOD BUT VALUE INCONSISTENT WITH STATISTICS (DIFFER FROM CLIMATOLOGY) 0003 01 PROBABLY BAD (SPIKE, GRADIENT, Â~E IF OTHER TESTS PASSED) 0004 02 BAD VALUE, IMPOSSIBLE VALUE (OUT OF SCALE, VERTICAL INSTABILITY, CONSTANT PROFILE) 0005 01 VALUE MODIFIED DURING QUALITY CONTROL 0008 01 INTERPOLATED VALUE 0015 01 MISSING VALUE 033052 0020 0001 01 DATA BLOCK 1 INVALID (S BAND) 0002 01 DATA BLOCK 2 INVALID (S BAND) 0003 01 DATA BLOCK 3 INVALID (S BAND) 0004 01 DATA BLOCK 4 INVALID (S BAND) 0005 01 DATA BLOCK 5 INVALID (S BAND) 0006 01 DATA BLOCK 6 INVALID (S BAND) 0007 01 DATA BLOCK 7 INVALID (S BAND) 0008 01 DATA BLOCK 8 INVALID (S BAND) 0009 01 DATA BLOCK 9 INVALID (S BAND) 0010 01 DATA BLOCK 10 INVALID (S BAND) 0011 01 DATA BLOCK 11 INVALID (S BAND) 0012 01 DATA BLOCK 12 INVALID (S BAND) 0013 01 DATA BLOCK 13 INVALID (S BAND) 0014 01 DATA BLOCK 14 INVALID (S BAND) 0015 01 DATA BLOCK 15 INVALID (S BAND) 0016 01 DATA BLOCK 16 INVALID (S BAND) 0017 01 DATA BLOCK 17 INVALID (S BAND) 0018 01 DATA BLOCK 18 INVALID (S BAND) 0019 01 DATA BLOCK 19 INVALID (S BAND) 0020 01 DATA BLOCK 20 INVALID (S BAND) 033053 0020 0001 01 DATA BLOCK 1 INVALID (KU BAND) 0002 01 DATA BLOCK 2 INVALID (KU BAND) 0003 01 DATA BLOCK 3 INVALID (KU BAND) 0004 01 DATA BLOCK 4 INVALID (KU BAND) 0005 01 DATA BLOCK 5 INVALID (KU BAND) 0006 01 DATA BLOCK 6 INVALID (KU BAND) 0007 01 DATA BLOCK 7 INVALID (KU BAND) 0008 01 DATA BLOCK 8 INVALID (KU BAND) 0009 01 DATA BLOCK 9 INVALID (KU BAND) 0010 01 DATA BLOCK 10 INVALID (KU BAND) 0011 01 DATA BLOCK 11 INVALID (KU BAND) 0012 01 DATA BLOCK 12 INVALID (KU BAND) 0013 01 DATA BLOCK 13 INVALID (KU BAND) 0014 01 DATA BLOCK 14 INVALID (KU BAND) 0015 01 DATA BLOCK 15 INVALID (KU BAND) 0016 01 DATA BLOCK 16 INVALID (KU BAND) 0017 01 DATA BLOCK 17 INVALID (KU BAND) 0018 01 DATA BLOCK 18 INVALID (KU BAND) 0019 01 DATA BLOCK 19 INVALID (KU BAND) 0020 01 DATA BLOCK 20 INVALID (KU BAND) 033060 0004 0000 01 PARAMETER=GOOD 0001 01 PARAMETER=BAD 0002 01 PARAMETER=RESERVED 0003 01 MISSING 033195 0004 0000 01 DEALIASING NOT USED 0001 01 DEALIASING USED 0002 01 RESERVED 0003 01 MISSING 033205 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033206 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033207 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033208 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033209 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033220 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 REPORT REJECTED THROUGH THE NAMELIST 0017 01 MODEL SUR. TOO FAR FROM STAT. ALT. 0018 01 MISSING STATION ALTITUDE 0019 01 REPORT OVER SEA 0020 01 REPORT OVER LAND 0021 01 REDUNDANT REPORT 0022 01 TIME OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 HORIZONTAL POSITION OUT OF RANGE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 BAD REPORTING PRACTICE 0029 01 ALL DATA REJECTED 0030 01 NO DATA IN THE REPORT 033221 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033222 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033223 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033224 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033225 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033226 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033227 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033228 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033229 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 THINNED REPORT 033230 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033232 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 BLACKLISTED DUE TO DISTANCE FROM REF. POINT 0015 01 BLACKLISTED DUE TO MODEL OROGRAPHY 0016 01 BLACKLISTED DUE TO LAND/SEA MASK 0017 01 STATION ALTITUDE BLACKLISTED 0018 01 LONGITUDE BLACKLISTED 0019 01 LATITUDE BLACKLISTED 0020 01 TIME BLACKLISTED 0021 01 DATE BLACKLISTED 0022 01 INSTRUMENT TYPE BLACKLISTED 0023 01 CODE TYPE BLACKLISTED 0024 01 STATION ID BLACKLISTED 0025 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0026 01 BLACKLISTED DUE TO OBSERVED VALUE 0027 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE NAME BLACKLISTED 0030 01 MONTHLY MONITORING 033233 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 REPORT BLACK LISTED 0028 01 REPORT REJECTED 0029 01 REPORT PASSIVE 0030 01 REPORT ACTIVE 033234 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 DATUM BLACK LISTED 0028 01 DATUM REJECTED 0029 01 DATUM PASSIVE 0030 01 DATUM ACTIVE 033236 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 DATUM REJECTED DUE TO REJECTED REPORT 0006 01 COMBINED FLAGGING 0007 01 DATUM REJECTED DUE TO NAMELIST 0008 01 VERTICAL COORDINATE CHANGE FROM Z TO P 0009 01 VERTICAL CONSISTENCY CHECK 0010 01 LEVEL SELECTION 0011 01 MULTI LEVEL CHECK 0012 01 TOO MANY SURFACE DATA/LEVELS 0013 01 DUPLICATED DATUM/LEVEL 0014 01 NOT AN ANALYSIS VARIABLE 0015 01 REPORT OVER SEA 0016 01 REPORT OVER LAND 0017 01 REDUNDANT LEVEL 0018 01 REDUNDANT DATUM 0019 01 TOO BIG OBSERVATION ERROR 0020 01 TOO BIG DEPARTURE IN ASSIMILATION 0021 01 TOO BIG FIRST GUESS DEPARTURE 0022 01 REFERENCE LEVEL POSITION OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 BAD REPORTING PRACTICE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 MISSING FIRST GUESS VALUE 0029 01 MISSING OBSERVED VALUE 0030 01 MISSING VERTICAL COORDINATE 033237 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033238 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033239 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033240 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033243 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033244 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033245 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 LAYER FORMED BY SUMMING UP 0029 01 LAYER FORMED BY THINNING UP 0030 01 NOT PREDEFINED LAYER 033246 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033247 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033248 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033249 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0025 01 BLACKLISTED DUE TO OBSERVED VALUE 0026 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0027 01 BLACKLISTED DUE TO DISTANCE FROM REFERENCE POINT 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE BLACKLISTED 0030 01 PRESSURE BLACKLISTED 033252 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 0006 01 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND NOT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033254 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 035000 0011 0011 01 000-099 INTERNATIONAL FM CODES 0001 01 100-199 RA I CODES 0002 01 200-299 RA II CODES 0003 01 300-399 RA III CODES 0004 01 400-499 RA IV CODES 0005 01 500-599 RA V CODES 0006 01 600-699 RA VI CODES 0007 01 700-799 ANTARCTIC CODES 0008 01 800-999 RESERVED 0009 01 1000-1022 NOT USED 1023 01 MISSING VALUE 035001 0004 0000 01 REAL TIME 0001 01 NEAR-REAL TIME 0002 01 NON-REAL TIME 0007 01 MISSING VALUE 035030 0010 0000 01 NO DISCREPANCIES 0001 02 NON-COMPLIANCE WITH STANDARD AND RECOMMENDED PRACTICES AND PROCEDURES INCLUDINGTHOSE OF MONITORING 0002 01 CATALOGUES OF METEOROLOGICAL BULLETINS NOT UPDATED IN A TIMELY MANNER 0003 01 INCORRECT ROUTEING DIRECTORIES 0004 01 LACK OF FLEXIBILITY IN THE ROUTEING ARRANGEMENTS 0005 01 DEFICIENCIES IN THE OPERATION OF GTS CENTRES AND CIRCUITS 0006 01 LOSS OF DATA OR DELAYS IN RELAYING DATA ON THE GTS 0007 01 ROUTEING OF DATA DIFFERENT FROM THE ROUTEING PROVIDED IN THE PLAN 0008 01 VARIOUS MALPRACTICES 0015 01 MISSING VALUE 035031 0020 0001 01 SUFFICIENT AND ALL OF ACCEPTABLE QUALITY 0002 01 SUFFICIENT BUT PARTLY OF ACCEPTABLE QUALITY 0003 01 INSUFFICIENT BUT ALL OF ACCEPTABLE QUALITY 0004 01 INSUFFICIENT AND OF UNACCEPTABLE QUALITY 0005 01 SOME MESSAGES NOT COMPLETE 0006 01 SUSPECT OR WRONGLY CODED GROUPS COULD NOT BE INTERPRETED CONFIDENTLY 0007 01 GROSS CODING ERRORS 0008 01 TRANSMISSION SEQUENTIAL ORDER NOT OBSERVED 0009 01 REPORT COMPLETELY GARBLED AND THUS DISCARDED 0010 01 DEFICIENCIES IDENTIFIED AND RECTIFIED 0011 01 DEFICIENCIES IDENTIFIED BUT NOT RECTIFIED 0012 01 DEFICIENCIES NOT IDENTIFIED 0013 01 MEASURING ERRORS 0014 01 MUTUAL INCONSISTENCY 0015 01 TEMPORAL INCONSISTENCY 0016 01 FORECAST ERROR 0017 01 BIAS 0018 01 IMPROVE SYSTEM OF QUALITY CONTROL 0019 01 EXPAND TRAINING PROGRAMMES 0123 01 MISSING VALUE 035032 0010 0001 01 DATA GROUPS MISSING DUE TO RADIO FADING 0002 01 DATA GROUPS MISSING DUE TO OUTAGE OF CENTRE 0003 01 DATA GROUPS MISSING DUE TO OUTAGE OF CIRCUIT 0004 01 NON-IMPLEMENTATION OR MAINTENANCE OF REQUIRED RBSN DENSITY 0005 01 SHORTAGE OF QUALIFIED STAFF TO MAN STATIONS 0006 01 LACK OF CONSUMABLES 0007 01 INSTRUMENT FAILURE 0008 01 NON-ADHERENCE TO TELECOMMUNICATION PROCEDURES 0009 01 SOME OBSERVING PROGRAMMES CEASED 0015 01 MISSING VALUE 035033 0012 0001 01 NO DEFICIENCY 0002 01 OBSERVATIONS NOT MADE REGULARLY 0003 01 OBSERVATIONS NOT MADE AT RIGHT TIME 0004 01 OBSERVATIONS MADE BUT NOT DISSEMINATED 0005 01 OBSERVATIONS MADE AND SENT TO INCORRECT USERS 0006 01 COLLECTION NOT RECEIVED 0007 01 COLLECTION TRANSMITTED LATE 0008 01 COLLECTION NOT TRANSMITTED 0009 01 DIFFICULTIES IN HF PROPAGATION AND SELECTION OF SUITABLE FREQUENCY 0010 01 DIFFICULTIES IN MAINTENANCE OF COMMUNICATION EQUIPMENT AT REMOTE STATIONS 0011 01 NO ALTERNATIVE ARRANGEMENT FOR ROUTEING METEOROLOGICAL OBSERVATION 0123 01 MISSING VALUE 035034 0007 0001 01 SLIGHT IMPROVEMENT 0002 01 SIGNIFICANT IMPROVEMENT 0003 01 MOST SIGNIFICANT IMPROVEMENT 0004 01 STEADY 0005 01 DECREASING 0006 01 EFFORTS REQUIRED TO IMPROVE NIGHT-TIME OBSERVATIONS 0007 01 MISSING VALUE 033035 0016 0000 01 RESERVED 0001 01 BALLOON BURST 0002 01 BALLOON FORCED DOWN BY ICING 0003 01 LEAKING OR FLOATING BALLOON 0004 01 WEAK OR FADING SIGNAL 0005 01 BATTERY FAILURE 0006 01 GROUND EQUIPMENT FAILURE 0007 01 SIGNAL INTERFERENCE 0008 01 RADIOSONDE FAILURE 0009 01 EXCESSIVE MISSING DATA FRAMES 0010 01 RESERVED 0011 01 EXCESSIVE MISSING TEMPERATURE 0012 01 EXCESSIVE MISSING PRESSURE 0013 01 USER TERMINATED 0030 01 OTHER 0031 01 MISSING VALUE 040011 0004 0001 01 MEAN SEA SURFACE (MSS) INTERPOLATION FLAG 0002 01 OCEAN TIDE SOLUTION 1 INTERPOLATION FLAG (0= 4 POINTS OVER OCEAN, 1=LESS THAN 4 POINTS) 0003 01 OCEAN TIDE SOLUTION 2 INTERPOLATION FLAG (0= 4 POINTS OVER OCEAN, 1=LESS THAN 4 POINTS) 0004 01 METEOROLOGICAL DATA INTERPOLATION FLAG (0= 4 POINTS OVER OCEAN, 1=LESS THAN 4 POINTS) 040012 0003 0001 01 18.7 GHZ BRIGHTNESS TEMPERATURE 0002 01 23.8 GHZ BRIGHTNESS TEMPERATURE 0003 01 34 GHZ BRIGHTNESS TEMPERATURE 040013 0005 0000 01 INTERPOLATION WITH NO GAP BETWEEN JMR DATA 0001 01 INTERPOLATION WITH GAP BETWEEN JMR DATA 0002 01 EXTRAOLATION OF JMR DATA 0003 01 FAILURE OF EXTRAPOLATION AND INTERPOLATION 0007 01 MISSING VALUE 049194 0014 0001 01 PASSED QUALITY CONTROL 0002 01 OUTSIDE TIME WINDOW 0003 01 ABOVE LAND 0004 01 OUTSIDE ENTIRE GRID 0005 01 WAVE HEIGHT OUT OF RANGE 0006 01 TOO HIGH ALONG TRACK JUMP 0007 01 TOO SHORT ALONG TRACK JUMP 0008 01 TOO HIGH ALONG TRACK VARIANCE 0009 01 OUTSIDE CONFIDENCE LIMIT 0010 01 DOUBLE OBSERVATION 0011 01 PEAKINESS ABOVE THRESHOLD 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED 049193 0014 0001 01 EXELLENT (COST LESS THAN 0.1) 0002 01 GOOD (COST LESS THAN 0.5) 0003 01 QUESTIONABLE (COST LARGER THAN 0.5) 0004 01 RESULTS UNTABLE 0005 01 OBSERVED SAR SPECTRUM REJECTED 0006 01 WAM FIRST GUESS REJECTED 0007 01 SIMULATED SAR REJECTED 0008 01 NO AZIMUTH CUT-OFF ADJUSTMENT 0009 01 RESERVED 0010 01 RESERVED 0011 01 RESERVED 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED emoslib-000392+dfsg.1/bufrtables/C0000000000098000000.TXT0000755000175000017500000103071612127406245022246 0ustar amckinstryamckinstry001003 0008 0000 01 ATARCTICA 0001 01 REGION I 0002 01 REGION II 0003 01 REGION III 0004 01 REGION IV 0005 01 REGION V 0006 01 REGION VI 0007 01 MISSING VALUE 001007 0132 0001 01 ERS 1 0002 01 ERS 2 0003 01 METOP-1 0004 01 METOP-2 0005 01 METOP-3 0020 01 SPOT1 0021 01 SPOT2 0022 01 SPOT3 0023 01 SPOT4 0040 01 OERSTED 0041 01 CHAMP 0042 01 TERRASAR-X 0050 01 METEOSAT 3 0051 01 METEOSAT 4 0052 01 METEOSAT 5 0053 01 METEOSAT 6 0054 01 METEOSAT 7 0055 01 METEOSAT 8 0056 01 METEOSAT 9 0057 01 METEOSAT 10 0058 01 METEOSAT 1 0059 01 METEOSAT 2 0060 01 ENVISAT 0070 01 METEOSAT 11 0120 01 ADEOS 0121 01 ADEOS II 0150 01 GMS 3 0151 01 GMS 4 0152 01 GMS 5 0171 01 MTSAT-1R 0172 01 MTSAT-2 0200 01 NOAA 8 0201 01 NOAA 9 0202 01 NOAA 10 0203 01 NOAA 11 0204 01 NOAA 12 0205 01 NOAA 14 0206 01 NOAA 15 0207 01 NOAA 16 0208 01 NOAA 17 0209 01 NOAA 18 0220 01 LANDSAT 5 0221 01 LANDSAT 4 0222 01 LANDSAT 7 0240 01 DMSP 7 0241 01 DMSP 8 0242 01 DMSP 9 0243 01 DMSP 10 0244 01 DMSP 11 0245 01 DMSP 12 0246 01 DMSP 13 0247 01 DMSP 14 0248 01 DMSP 15 0249 01 DMSP 16 0250 01 GOES 6 0251 01 GOES 7 0252 01 GOES 8 0253 01 GOES 9 0254 01 GOES 10 0255 01 GOES 11 0256 01 GOES 12 0257 01 GOES 13 0258 01 GOES 14 0259 01 GOES 15 0260 01 JASON-1 0261 01 JASON-2 0281 01 QUIKSCAT 0282 01 TRMM 0283 01 CORIOLIS 0285 01 DMSP17 0310 01 GOMS 1 0311 01 GOMS 2 0320 01 METEOR 2-21 0321 01 METEOR 3-5 0322 01 METEOR 3M-1 0323 01 METEOR 3M-2 0341 01 RESURS 01-4 0430 01 INSAT 1B 0431 01 INSAT 1C 0432 01 INSAT 1D 0450 01 INSAT 2A 0451 01 INSAT 2B 0452 01 INSAT 2E 0470 01 INSAT 3A 0471 01 INSAT 3D 0472 01 INSAT 3E 0500 01 FY-1C 0501 01 FY-1D 0510 01 FY-2 0512 01 FY-2B 0513 01 FY-2C 0514 01 FY-2D 0700 01 TIROS M (ITOS 1) 0701 01 NOAA 1 0702 01 NOAA 2 0703 01 NOAA 3 0704 01 NOAA 4 0705 01 NOAA 5 0706 01 NOAA 6 0707 01 NOAA 7 0708 01 TIROS-N 0710 01 GOES (SMS 1) 0711 01 GOES (SMS 2) 0720 01 TOPEX 0721 01 GFO (GEOSAT FOLLOW ON) 0722 01 GRACE A 0723 01 GRACE B 0731 01 GOES 1 0732 01 GOES 2 0733 01 GOES 3 0734 01 GOES 4 0735 01 GOES 5 0740 01 COSMIC-1 0741 01 COSMIC-2 0742 01 COSMIC-3 0743 01 COSMIC-4 0744 01 COSMIC-5 0745 01 COSMIC-6 0763 01 NIMBUS 3 0764 01 NIMBUS 4 0765 01 NIMBUS 5 0766 01 NIMBUS 6 0767 01 NIMBUS 7 0780 01 ERBS 0781 01 UARS 0782 01 EARTH PROBE 0783 01 TERRA 0784 01 AQUA 0785 01 AURA 0800 01 SUNSAT 0820 01 SAC-C 1023 01 MISSIN VALUE 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001031 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001033 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 001035 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001090 0005 0000 01 LAF (LAGGED-AVERAGE FORECASTING) 0001 01 BREEDING 0002 01 SINGULAR VECTOR 0003 01 MULTIPLE ANALYSIS CYCLE 0255 01 MISSING VALUE 001092 0005 0000 01 UNPERTURBED HIGH-RESOLUTION CONTROL FORECAST 0001 01 UNPERTURBED LOW-RESOLUTION CONTROL FORECAST 0002 01 NEGATIVELY PERTURBED FORECAST 0003 01 POSITIVELY PERTURBED FORECAST 0255 01 MISSING VALUE 002001 0004 0000 01 AUTOMATIC STATION 0001 01 MANNED STATION 0002 01 HYBRID, BOTH MANNED AND AUTOMATIC 0003 01 MISSING VALUE 002002 0004 0000 01 MEASURED IN M S-1 UNLESS OTHERWISE INDICATED 0001 01 CERTIFIED INSTRUMENTS 0002 01 ORIGINALY MEASURED IN KNOTS 0003 01 ORIGINALY MEASURED IN KM/H 002003 0012 0000 01 PRESSURE INSTRUMENT ASSOCIATED WITH WIND-MEASURING EQUIPMENT 0001 01 OPTICAL THEODOLITE 0002 01 RADIO THEODOLITE 0003 01 RADAR 0004 01 VLF-OMEGA 0005 01 LORAN C 0006 01 WIND PROFILER 0007 01 SATELLITE NAVIGATION 0008 01 RADIO-ACOUSTIC SOUNDING SYSTEM (RASS) 0009 01 SODAR 0014 02 PRESSURE INSTRUMENT ASSOCIATED WITH WIND MEASUREMENT EQUIPME NT BUT PRESSURE ELEMENT FAILED DURING ASCENT 0015 01 MISSING VALUE 002004 0011 0000 01 USA OPEN PAN EVAPORIMETER (WITHOUT COVER) 0001 01 USA OPEN PAN EVAPORIMETER (MESH COVERED) 0002 01 GGI-300 EVAPORIMETER (SUNKEN) 0003 01 20 M**2 TANK 0004 01 OTHERS 0005 01 RICE 0006 01 WHEAT 0007 01 MAIZE 0008 01 SORGHUM 0009 01 OTHER CROPS 0015 01 MISSING VALUE 002011 0054 0000 01 RESERVED 0001 01 RESERVED 0002 01 NO RADIOSONDE-PASSIVE TARGET(E.G.REFLECTOR) 0003 01 NO RADIOSONDE-ACTIVE TARGET(E.G.TRANSPONDER) 0004 01 NO RADIOSONDE-PASSIVE TEMPERATURE-HUMIDITY PROFILER 0005 01 NO RADIOSONDE-ACTIVE TEMPERATURE-HUMIDITY PROFILER 0006 01 NO RADIOSONDE-RADIO ACOUSTIC SOUNDER 0009 01 NO RADIOSONDE-SYSTEM UNKNOWN OR NOT SPECIFIED 0010 01 RS VIZ TYPE A (USA) 0011 01 RS VIZ TYPE B (USA) 0012 01 RS SDC (SPACE DATA CORPORATION-USA) 0013 01 ASTOR (NO LONGER MADE-AUSTRALIA) 0014 01 VIZ MARK I MICROSONDE(USA) 0015 01 EEC COMPANY TYPE 23 (USA) 0016 01 ELIN (AUSTRIA) 0017 01 GRAW G. (GERMANY) 0019 01 GRAW M60 (GERMANY) 0020 01 INDIAN MET SERVICE MK3 (INDIA) 0021 01 VIZ/JIN YANG MARK I MICROSONDE(SOUTH KOREA) 0022 01 MEISEI RS2-80 (JAPAN) 0023 01 MESURAL FMO 1950A (FRANCE) 0024 01 MESURAL FMO 19455A (FRANCE) 0025 01 MESURAL MH73A (FRANCE) 0026 01 METEOLABOR BASORA (SWITZERLAND) 0027 01 AVK-MRZ (USSR) 0028 01 METEORIT MARZ2-1 (USSR) 0029 01 METEIRIT MARZ2-2 (USSR) 0030 01 OKI RS2-80 (JAPAN) 0031 01 VIZ/VALCOM TYPE A PRESSURE-COMMUTATED(CANADA) 0032 01 SHANGAI RADIO (CHINA) 0033 01 UK MET OFFICE MK3( UK) 0034 01 VINOHRADY(CZECHOSLOVAKIA) 0035 01 VAISALA RS18 (FINLAND) 0036 01 VAISALA RS21 (FINLAND) 0037 01 VAISALA RS80 (FINLAND) 0038 01 VIZ LOCATE (LORAN-C)(USA) 0039 01 SPRENGER E076 (GERMANY) 0040 01 SPRENGER E084 (GERMANY) 0041 01 SPRENGER E085 (GERMANY) 0042 01 SPRENGER E086 (GERMANY) 0043 01 AIR IS -4A-1680 (UK) 0044 01 AIR IS -4A-1680 X (UK) 0045 01 RS MSS(USA) 0046 01 AIR IS -4A-403(USA) 0047 01 MEISLEI RS2-91(JAPAN) 0048 01 VALCOM(CANADA) 0049 01 VIZ MARK II(USA) 0060 01 VAISALA RS80/MICROCORA (FINLAND) 0061 01 VAISALA RS80/DIGCORA OR MARWIN (FINLAND) 0062 01 VAISALA RS80/PCCORA (FINLAND) 0063 01 VAISALA RS80/STAR (FINLAND) 0064 03 ORBITAL,SCIENCE CORPORATION,SPACE DATA DIVISION,TRANSPONDER RADIOSONDE,TYPE 909-11-XX,WHERE XX CORRECPOND TO THE MODEL OF THE INSTRUMENT 0065 01 VIZ TRANSPONDER RADIOSONDE,MODEL NUMBER 1499-520(USA) 0255 01 MISSING VALUE 002012 0001 0000 01 TO BE DEVELOPED 002013 0009 0000 01 NO CORRECTION 0001 01 CIMO SOLAR CORRECTED AND CIMO INFRARED CORRECTED 0002 01 CIMO SOLAR CORRECTED AND IFRARED CORRECTED 0003 01 CIMO SOLAR CORRECTED ONLY 0004 02 SOLAR AND INFRARED CORRECTED AUTOMATICALLY BY RADIOSONDE SY STEM 0005 01 SOLAR CORRECTED AUTOMATICALLY BY RADIOSONDE SYSTEM 0006 01 SOLAR AND INFRARED CORRECTED AS SPECIFIED BY COUNTRY 0007 01 SOLAR CORRECTED AS SPECIFIED BY COUNTRY 0015 01 MISSING VALUE 002014 0050 0000 01 NO WINDFINDING 0001 01 AUTOMATIC WITH AUXILIARY OPTICAL DIRECTION FINDING 0002 01 AUTOMATIC WITH AUXILIARY RADIO DIRECTION FINDING 0003 01 AUTOMATIC WITH AUXILIARY RANGING 0004 01 NOT USED 0005 01 AUTOMATIC WITH MULTIPLE VLF-OMEGA SIGNALS 0006 01 AUTOMATIC CROSS CHAIN LORAN-C 0007 01 AUTOMATIC WITH AUXILIARY WIND PROFILER 0008 01 AUTOMATIC SATELLITE NAVIGATION 0019 01 TRACKING TECHNIQUE NOT SPECIFIED 0020 01 VESSEL STOPPED 0021 01 VESSEL DIVERTED FROM ORIGINAL DESTINATION 0022 01 VESSEL'S ARRIVAL DELAYED 0023 01 CONTAINER DAMAGED 0024 01 POWER FAILURE TO CONTAINER 0029 01 OTHER PROBLEMS 0030 01 MAJOR POWER PROBLEMS 0031 01 UPS INOPERATIVE 0032 01 RECEIVER HARDWARE PROBLEMS 0033 01 RECEIVER SOFTWARE PROBLEMS 0034 01 PROCESSOR HARDWARE PROBLEMS 0035 01 PROCESSOR SOFTWARE PROBLEMS 0036 01 NAVAID SYSTEM DAMAGED 0037 01 SHORTAGE OF LIFTING GAS 0039 01 OTHER PROBLEMS 0040 01 MECHANICAL DEFECT 0041 01 MATERIAL DEFECT (HAND LAUNCHER) 0042 01 POWER FAILURE 0043 01 CONTROL FAILURE 0044 01 PNEUMATIC/HYDRAULIC FAILURE 0045 01 OTHER PROBLEMS 0046 01 COMPRESSOR PROBLEMS 0047 01 BALLOON PROBLEMS 0048 01 BALLOON RELEASE PROBLEMS 0049 01 LAUNCHER DAMAGED 0050 01 R/S RECEIVER ANTENNA DEFECT 0051 01 NAVAID ANTENNA DEFECT 0052 01 R/S RECEIVER CABLING (ANTENNA DEFECT) 0053 01 NAVAID ANTENNA CABLING DEFECT 0059 01 OTHER PROBLEMS 0060 01 ASAP COMMUNICATIONS DEFECT 0061 01 COMMUNICATIONS FACILITY REJECTED DATA 0062 01 NO POWER AT TRANSMITTINGANTENN 0063 01 ANTENNA CABLE BROKEN 0064 01 ANTENNA CABLE DEFECT 0065 01 MESSAGE TRANSMITTED POWER BELOW NORMAL 0069 01 OTHER PROBLEMS 0070 01 ALL SYSTEMS IN NORMAL OPERATION 0099 01 STATUS OF SYSTEM AND ITS COMPONENTS NOT SPECIFIED 0127 01 MISSING VALUE 002015 0006 0001 01 PRESSURE ONLY RADIOSONDE 0002 01 PRESSURE ONLY RADIOSONDE PLUS TRANSPONDER 0003 01 PRESSURE ONLY RADIOSONDE PLUS RADAR REFLECTOR 0004 01 NO PRESSURE RADIOSONDE PLUS TRANSPONDER 0005 01 NO PRESSURE RADIOSONDE PLUS RADAR REFLECTOR 0015 01 MISSING VALUE 002016 0004 0001 01 TRAIN REGULATOR 0002 01 LIGHT UNIT 0003 01 PARACHUTE 0004 01 ROOFTOP RELEASE 002019 0296 0010 02 BNSC RADIOMETER AATSR ADVANCED ALONG TRACK SCANNIN G RADIOMETER 0011 02 BNSC RADIOMETER ATSR ALONG TRACK SCANNING RADIOME TER 0012 02 BNSC RADIOMETER ATSR-2 ALONG TRACK SCANNING RADIOME TER -2 0013 01 BNSC RADIOMETER MWR MICROWAVE RADIOMETER 0030 01 CNES COMMUNICATIONS ARGOS 0040 01 CNES LIDAR LASER REFLECTORS 0041 02 CNES LIDAR DORIS DOPPLER ORBITOGRAPHY AND RADIO-POSIT IONING INTEGRATED BY SATELLITE 0042 02 CNES LIDAR DORIS-NG DOPPLER ORBITOGRAPHY AND RAD IO-POSITIONING INTEGRATED BY SATELLITE-NG 0047 03 CNES RADAR ALTIMETERS POSEIDON-1 (SSALT-1) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (S INGLE FREQUENCY SOLID STATE RADAR ALTIMETER) 0048 03 CNES RADAR ALTIMETERS POSEIDON-2 (SSALT-2) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (D UAL FREQUENCY SOLID STATE RADAR ALTIMETER) 0050 01 CNES IMAGER RADIOMETER ATSR/M ATSR/M 0051 01 CNES HIGH RESOLUTION OPTICAL IMAGERS HRG 0052 01 CNES RADIOMETER HRV HIGH RESOLUTION VISIBLE 0053 02 CNES RADIOMETER HRVIR HIGH RESOLUTION VISIBLE AND INFRA-RED 0054 02 CNES RADIOMETER SCARAB/MV2 SCANNER FOR EARTH'S RADIATION BUDGET 0055 01 CNES RADIOMETER POLDER POLDER 0060 01 CNES SPECTROMETER VEGETATION VEGETATION 0061 01 CNES SPECTROMETER WINDII WINDII 0080 01 CSA COMMUNICATIONS RADARSAT DTT 0081 01 CSA COMMUNICATIONS RADARSAT TTC 0085 02 CSA RADAR SAR (CSA) SYNTHETIC APERTURE RADAR (CS A) 0090 02 CSA RADIOMETER MOPITT MEASUREMENTS OF POLLUTION IN THE TROPOSPHERE 0091 02 CSA CHEMISTRY INSTRUMENTS OSIRIS OPTICAL SPECTROGRAPH AND INFRA-RED IMAGING SYSTEM 0097 01 CSIRO RADIOMETER PANCHROMATIC IMAGER 0098 02 CRCSS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPS RECEIVER 0102 02 DLR RADIOMETER CHAMP GPS SOUNDER GPS TURBORO GUE SPACE RECEIVER (TRSR) 0103 01 UNKNOWN 0116 03 DLR MAGNETOMETER IGOR CHAMP GRAVITY PACKAGE (ACCELEROMETE R+GPS) INTEGRATED GPS AND OCCULTATION RECEIVER STAR AC CELEROMETER 0117 03 DLR MAGNETOMETER CHAMP MAGNETOMETRY PACKAGE (1 SCALAR +2 VECTOR MAGNETOMETER) OVERHAUSER MAGNETOMETER (OVM) AN D FLUXGATE MAGNETOMETER (FGM) 0120 02 ESA COMMUNICATIONS ENVISAT COMMS COMMUNICATIONS PACKA GE ON ENVISAT 0121 02 ESA COMMUNICATIONS ERS COMMS COMMUNICATION PACKAG E FOR ERS 0130 01 ESA LIDARS ALADIN ATMOSPHERIC LASER DOPPLER INSTRUMENT 0131 01 ESA LIDARS ATLID ATMOSPHERIC LIDAR 0140 02 ESA RADAR AMI/SAR/IMAGE ACTIVE MICROWAVE INSTRUMENTA TION. IMAGE MODE 0141 02 ESA RADAR AMI/SAR/WAVE ACTIVE MICROWAVE INSTRUMENTA TION. WAVE MODE 0142 02 ESA RADAR AMI/SCATTEROMETER ACTIVE MICROWAVE INS TRUMENTATION. WIND MODE 0143 01 ESA RADAR ASAR ASAR 0144 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (IMAGE MODE) 0145 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (WAVE MODE) 0146 01 ESA CLOUD PROFILE AND RAIN RADARS CPR CLOUD RADAR 0147 01 ESA RADAR RA-2/MWR RADAR ALTIMETER - 2 0148 01 ESA RADAR RA/MWR RADAR ALTIMETER 0150 01 ESA SCATTEROMETERS SCATTEROMETER SCATTEROMETER 0161 02 ESA RADIOMETER MIPAS MICHELSON INTERFEROMETRIC PA SSIVE ATMOSPHERE SOUNDER 0162 02 ESA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E MWR-2 MICROWAVE RADIOMETER-2 0163 03 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS SOPRANO SUB- MILIMETRE OBSERVATION OF PROCESSES IN THE ABSORPTION NOTEWOR THY FOR OZONE 0170 02 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS GOME I GLOB AL OZONE MONITORING EXPERIMENT 0172 02 ESA SPECTROMETER GOMOS GLOBAL OZONE MONITORING BY O CCULTATION OF STARS 0174 02 ESA SPECTROMETER MERIS MEDIUM RESOLUTION IMAGING SP ECTROMETER 0175 02 ESA SPECTROMETER SCIAMACHY SCANNING IMAGING ABS ORPTION SPECTROMETER FOR ATMOSPHERIC CARTOGRAPHY 0181 02 EUMETSAT COMMUNICATIONS METEOSAT COMMS COMMUNICATIO NS PACKAGE FOR METEOSAT 0182 02 EUMETSAT COMMUNICATIONS MSG COMMS COMMUNICATIO NS PACKAGE FOR MSG 0190 02 ESA/ EUMETSAT SCATTEROMETERS ASCAT ADVANCED SCATTE ROMETER 0200 02 EUMETSAT RADIOMETER GERB GEOSTATIONARY EARTH RADIATION BUDGET 0202 02 ESA/ EUMETSAT RADIOMETER GRAS GNSS RECEIVER F OR ATMOSPHERIC SOUNDING 0203 02 EUMETSAT RADIOMETER MHS MICROWAVE HUMIDITY S OUNDER 0205 02 EUMETSAT RADIOMETER MVIRI METEOSAT VISIBLE AND INFRA-RED IMAGER 0207 02 EUMETSAT RADIOMETER SEVIRI SPINNING ENHANCED VI SIBLE AND INFRARED IMAGER 0208 02 EUMETSAT IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRI VIRI 0220 02 ESA/ EUMETSAT SPECTROMETER GOME-2 GLOBAL OZONE MO NITORING EXPERIMENT - 2 0221 03 CNES/ EUMETSAT ATMOSPHERIC TEMPERATURE AND HUMIDITY S OUNDERS IASI INFRA-RED ATMOSPHERIC SOUNDING INTERFEROME TER 0240 02 CAST COMMUNICATIONS DCP DATA COLLECTION PLATFORM TRA NSPONDER 0245 01 CAST RADIOMETER CCD HIGH RESOLUTION CCD CAMERA 0246 02 INPE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS HSB HUMIDITY SOUNDER/BRAZIL 0248 02 INPE IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) OBA OBSERVADOR BRASILEIRO DA AMAZONIA 0250 01 CAST RADIOMETER WFI WIDE FIELD IMAGER 0255 02 CAST SPECTROMETER IRMSS INFRA RED MULTI SPECTRAL SCA NNER 0260 01 ISRO PRECISION ORBIT BSS & FSS TRANSPONDERS 0261 01 ISRO PRECISION ORBIT DRT-S&R 0262 02 ISRO COMMUNICATIONS INSAT COMMS COMMUNICATIONS PACKA GE FOR INSAT 0268 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS HR-PAN HIGH RESOLUT ION PANCHROMATIC CAMERA 0269 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MSMR MULTIFREQUENCY SCANNING MICROWAVE RADIOMETER 0270 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VHRR VERY HIGH RESOLUTION RADIOMETER 0271 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WIFS WIDE FIELD SENSOR 0275 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS AWIFS ADVANCED WID E FIELD SENSOR 0276 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-I LINEAR IMAGI NG SELF SCANNER - I 0277 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-II LINEAR IMAGI NG SELF SCANNER - II 0278 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-III LINE AR IMAGING SELF SCANNER - III 0279 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-IV LINEAR IMAGI NG SELF SCANNER - IV 0284 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS PAN PANCHROMATIC SENSOR 0285 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MOS MODULAR OPTO-ELECTRONIC SCANNER 0286 02 ISRO OCEAN COLOUR INSTRUMENTS OCM OCEAN COLOUR MONITOR 0290 02 JMA COMMUNICATIONS MTSAT COMMS COMMUNICATIONS PACKA GE FOR MTSAT 0294 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT -1R IMAGER/MTSAT 0295 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT IMAGER/MTSAT 0296 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS VISSR (GMS4) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS4) 0300 01 NASA LIDARS GLAS GEOSCIENCE LASER ALTIMETER SYSTEM 0301 01 NASA PRECISION ORBIT LRA LASER RETROREFLECTOR ARRAY 0302 01 NASA LIDARS MBLA MULTI BEAM LASER ALTIMETER 0309 02 NASA CLOUD PROFILE AND RAIN RADARS CPR (CLOUDSAT) CLOU D PROFILING RADAR 0312 01 NASA RADAR NSCAT NASA SCATTEROMETER 0313 01 NASA RADAR SEAWINDS ADEOS II - NASA SCATTEROMETER 0330 02 NASA EARTH RADIATION BUDGET RADIOMETER ACRIM ACTI VE CAVITY RADIOMETER IRRADIANCE MONITOR 0334 02 NASA TOTAL AND PROFILE OZONE BUV BACKSCATTER ULTRAVIO LET INSTRUMENT 0336 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ALI ADVANCED LAN D IMAGER 0347 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ASTER ADVANCED SPA CEBORNE THERMAL EMISSION AND REFLECTION RADIOMETER 0348 02 NASA EARTH RADIATION BUDGET RADIOMETER CERES-2 CLOU D AND THE EARTH'S RADIANT ENERGY SYSTEM 0351 02 CONAE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPSD R GPS DEMONSTRATION RECEIVER 0353 02 NASA TOTAL AND PROFILE OZONE HIRDLS HIGH RESOLUTION DYNA MICS LIMB SOUNDER 0354 02 NASA TOTAL AND PROFILE OZONE HRDI HIGH RESOLUTION DOPP LER IMAGER 0356 01 NASA RADIOMETER LIS LIGHTNING IMAGING SENSOR 0358 02 NASA MAGNETIC FIELD, AUROAL IMAGERYSCINTILLATION BOUNDARY PEM PARTICLE ENVIRONMENT MONITOR 0359 02 NASA OCEAN COLOUR INSTRUMENTS SEAWIFS SEA-VIEWING WIDE FIELD-OF-VIEW SENSOR 0360 02 NASA EARTH RADIATION BUDGET RADIOMETER SUSIM (UARS) SOLAR ULTRAVIOLET IRRADIANCE MONITOR 0363 02 NASA TOTAL AND PROFILE OZONE SBUV/1 SOLAR BACKSCATTER UL TRAVIOLET 1 INSTRUMENT 0365 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) TMI TRMM MICROWAVE IMAGER 0366 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) JMR JASON-1 MICROWAVE RADIOMETER 0369 02 NASA TOTAL AND PROFILE OZONE LIMS LIMB INFRARED MONITO R OF THE STRATOSPHERE 0370 02 NASA TOTAL AND PROFILE OZONE LRIR LIMB RADIANCE INVERS ION RADIOMETER INSTRUMENT 0371 02 NASA TOTAL AND PROFILE OZONE EPIC EARTH POLYCHROMATIC IMAGING CAMERA 0372 02 NASA EARTH RADIATION BUDGET RADIOMETER NISTAR NIST ADVANCED RADIOMETER 0373 02 NASA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y PLASMA-MAG 0374 01 NASA OTHER XPS XUV PHOTOMETER SYSTEM 0375 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRS VISIBLE INFRA-RED SCANNER 0376 03 CNES MULTIPLE DIRECTION/POLARISATION RADIOMETERS POLD ER II POLARIZATION AND DIRECTIONALITY OF THE EARTH'S R EFLECTANCE - II 0377 02 NASA EARTH RADIATION BUDGET RADIOMETER TIM TOTA L IRRADIANCE MONITOR 0379 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WFC WIDE FIELD CAMERA 0382 02 NASA SPECTRO-RADIOMETER CLAES CRYOGENIC LIMB ARRAY ETALON SPECTROMETER 0383 02 NASA SPECTRO-RADIOMETER HALOE HALOGEN OCCULTATION EXPERIMENT 0384 02 NASA SPECTRO-RADIOMETER ISAMS IMPROVED STRATOSPHER IC AND MESOSPHERIC SOUNDER 0385 02 NASA SPECTRO-RADIOMETER MISR MULTI-ANGLE IMAGING SPECTRORADIOMETER 0386 01 NASA SPECTRO-RADIOMETER MLS MICROWAVE LIMB SOUNDER 0387 02 NASA SPECTRO-RADIOMETER MLS (EOS-AURA) MICROWAVE LIMB SOUNDER (EOS-AURA) 0389 02 NASA SPECTRO-RADIOMETER MODIS MODERATE-RESOLUTION IMAGING SPECTRORADIOMETER 0393 02 NASA GRAVITY HAIRS HIGH ACCURACY INTER-SATELLITE RANGIN G SYSTEM 0394 02 NASA TOTAL AND PROFILE OZONE OMI OZONE MEASURING INST RUMENT 0395 02 NASA RADIOMETER ATMOSPHERIC CORRECTOR ATMOSPHERIC CORRECTOR 0396 01 NASA RADIOMETER HYPERION HYPERSPECTRAL IMAGER 0399 02 NASA SPECTRO-RADIOMETER SAGE I STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-I 0400 02 NASA SPECTRO-RADIOMETER SAGE II STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-II 0401 02 NASA SPECTRO-RADIOMETER SAGE III STRATOSPHERI C AEROSOL AND GAS EXPERIMENT-III 0402 02 NASA SPECTRO-RADIOMETER SAMS STRATOSPHERIC AND ME SOSPHERIC SOUNDER 0403 02 NASA SPECTRO-RADIOMETER SAM II STRATOSPHERIC AEROSO L MEASUREMENT II 0404 02 NASA SPECTRO-RADIOMETER IRIS INFRARED INTERFEROME TER SPECTROMETER 0405 02 NASA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GIFT S GEOSYNCHRONOUS IMAGING FOURIER TRANSFORM SPECTROMETER 0420 01 NASA SPECTROMETER AIRS ATMOSPHERIC INFRA-RED SOUNDER 0426 02 NASA SPECTROMETER SOLSTICE SOLAR STELLAR IRRADI ANCE COMPARISON EXPERIMENT 0430 02 NASA SPECTROMETER TES TROPOSHPERIC EMISSION SPECTR OMETER 0431 02 NASA SPECTROMETER TOMS TOTAL OZONE MAPPING SPECTROM ETER 0450 02 JAXA COMMUNICATIONS ADEOS COMMS COMMUNICATIONS PACKA GE FOR ADEOS 0451 02 JAXA COMMUNICATIONS DCS (JAXA) DATA COLLECTION SYST EM (JAXA) 0453 02 JAXA COMMUNICATIONS GMS COMMS COMMUNICATIONS PACKA GE ON GMS 0454 02 JAXA COMMUNICATIONS JERS-1 COMMS COMMUNICATIONS PACKA GE FOR JERS-1 0460 01 JAXA LIDAR RIS RETROREFLECTOR IN SPACE 0461 01 JAXA RADAR PR PRECIPITATION RADAR 0462 02 JAXA IMAGING MICROWAVE RADARS SAR SYNTETIC APE RTURE RADAR 0470 02 JAXA IMAGING MICROWAVE RADARS PALSAR PHASED ARRAY TYPE L-BAND SYNTHETIC APERTURE RADAR 0479 02 JAXA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) AMSR-E ADVANCED MICROWAVE SCANNING RADIOMETER-EOS 0480 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS PRISM (ALOS) PANC HROMATIC REMOTE-SENSING INSTRUMENT FOR STEREO MAPPING 0481 02 JAXA RADIOMETER AMSR ADVANCED MICROWAVE SCANNING RADIOMETER 0482 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR ADVANCED VIS IBLE AND NEAR INFRARED RADIOMETER 0483 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR-2 ADVANCED VIS IBLE AND NEAR INFRA-RED RADIOMETER TYPE 2 0484 01 JAXA IMAGER GLI GLOBAL IMAGER 0485 02 JAXA RADIOMETER MESSR MULTISPECTRAL ELECTRONIC SEL F SCANNING RADIOMETER 0486 01 JAXA RADIOMETER MSR MICROWAVE SCANNING RADIOMETER 0487 02 JAXA RADIOMETER OCTS OCEAN COLOR AND TEMPERATURE S CANNER 0488 01 JAXA RADIOMETER OPS OPTICAL SENSOR 0489 02 JAXA SPECTRO-RADIOMETER VISSR (GMS5) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS5) 0490 02 JAXA RADIOMETER VTIR VISIBLE AND THERMAL INFRA-RE D RADIOMETER 0510 02 JAXA SPECTROMETER ILAS-I IMOROVED LIMB ATOMOSPHIRIC S PECTROMETER 0511 02 JAXA SPECTROMETER ILAS-II IMPROVED LIMB ATOMOSPHIRIC S PECTROMETER 0512 02 JAXA SPECTROMETER IMG INFEROMETRIC MONITOR OF GREE NHOUSE GASES 0514 02 JAXA SPACE ENVIRONMENT SEM SPACE ENVIRONMENT MO NITOR (JAXA) 0515 02 JAXA TOTAL AND PROFILE OZONE SOFIS SOLAR OCCULTATION FO URIER TRANSFORM SPECTROMETER FOR INCLINED ORBIT SATELLITE 0540 02 NOAA COMMUNICATIONS DCS (NOAA) DATA COLLECTION SYST EM (NOAA) 0541 02 NOAA COMMUNICATIONS GOES COMMS COMMUNICATIONS PACKA GE ON GOES 0542 02 NOAA COMMUNICATIONS LANDSAT COMMS COMMUNICATIONS PACKA GE FOR LANDSAT 0543 02 NOAA COMMUNICATIONS NOAA COMMS COMMUNICATIONS PACKA GE FOR NOAA 0544 01 NOAA COMMUNICATIONS S&R (GOES) SEARCH AND RESCUE 0545 01 NOAA COMMUNICATIONS S&R (NOAA) SEARCH AND RESCUE 0546 01 NOAA COMMUNICATIONS WEFAX WEATHER FACSIMILE 0547 02 NOAA SPECTROMETER SEM(GOES) SPACE ENVIRONMENT MO NITOR 0550 01 NOAA MAGNETIC FIELD SSM SPECIAL SENSOR MAGNETOMETER 0551 02 NOAA MAGNETIC FIELD SSJ/4 SPECIAL SENSOR PRECIPITATING PLASMA MONITOR 0552 02 NOAA SPACE ENVIRONMENT SSIES-2 SPECIAL SENSOR IONOS PHERIC PLASMA DRIFT/SCINTILLATION METER 0553 02 NOAA SPACE ENVIRONMENT SSB/X-2 SPECIAL SENSOR GAMMA RAY PARTICLE DECTECTOR 0570 02 NOAA RADIOMETER AMSU-A ADVANCED MICROWAVE SOUNDING UNIT-A 0574 02 NOAA RADIOMETER AMSU-B ADVANCED MICROWAVE SOUNDING UNIT-B 0580 02 NOAA RADIOMETER ATOVS (HIRS/3 + AMSU + AVHRR/3) ADVA NCED TIROS OPERATIONAL VERTICAL SOUNDER 0590 02 NOAA RADIOMETER AVHRR/2 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/2 0591 02 NOAA RADIOMETER AVHRR/3 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/3 0592 02 NOAA RADIOMETER AVHRR/4 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/4 0600 02 NOAA RADIOMETER ERBE EARTH'S RADIATION BUDGET EXP ERIMENT 0601 01 NOAA RADIOMETER ETM+ ENHANCED THEMATIC MAPPER 0605 02 NOAA RADIOMETER HIRS/2 HIGH RESOLUTION INFRA-RED SO UNDER/2 0606 02 NOAA RADIOMETER HIRS/3 HIGH RESOLUTION INFRA-RED SO UNDER/3 0607 02 NOAA RADIOMETER HIRS/4 HIGH RESOLUTION INFRA-RED SO UNDER/4 0615 01 NOAA RADIOMETER IMAGER IMAGER 0616 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIIR S VISIBLE/INFRARED IMAGER RADIOMETER SUITE 0620 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS CRIR S/NP CROSS TRACK INFRA-RED SOUNDER/NPOESS 0621 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS ATMS ADVANCED TECHNOLOGY MICROWAVE SOUNDER 0622 01 NOAA RADIOMETER MSS MULTISPECTRAL SCANNING SYSTEM 0623 01 NOAA RADIOMETER MSU MICROWAVE SOUNDING UNIT 0624 02 NOAA RADIOMETER SBUV/2 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/2 0625 02 NOAA RADIOMETER SBUV/3 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/3 0626 01 NOAA RADIOMETER SOUNDER SOUNDER 0627 01 NOAA RADIOMETER SSU STRATOSPHERIC SOUNDING UNIT 0628 01 NOAA RADIOMETER TM THEMATIC MAPPER 0629 02 NOAA RADIOMETER TOVS (HIRS/2 + MSU + SSU) TIRO S OPERATIONAL VERTICAL SOUNDER 0630 01 NOAA RADIOMETER VAS VISSR ATMOSPHERIC SOUNDER 0631 01 NOAA RADIOMETER SSZ 0645 01 NOAA SPECTROMETER SEM SPACE ENVIRONMENT MONITOR 0650 02 NRSCC RADIOMETER MVIRSR (10 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0651 02 NRSCC RADIOMETER MVIRSR (3 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0652 02 NRSCC RADIOMETER MVIRSR (5 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0670 01 NSAU RADAR RLSBO SIDE LOOKING MICROWAVE RADAR 0680 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS MSU-EU MULTI-SPECTR AL RADIOMETER WITH HIGH RESOLUTION 0681 02 NSAU IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MSU- UM VISIBLE MULTI-SPECTRAL RADIOMETER 0682 01 NSAU RADIOMETER RM-08 IMAGING MICROWAVE RADIOMETER 0683 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-UMS STEREO RADIO METER WITH HIGH RESOLUTION 0684 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-VR VISIBLE RADI OMETER WITH HIGH RESOLUTION 0685 01 NSAU RADIOMETER TRASSER 0700 02 ROSCOSMOS COMMUNICATIONS KONDOR-2 DATA COLLECT ION AND TRANSMISSION SYSTEM 0701 01 ROSCOSMOS COMMUNICATIONS BRK 0710 01 ROSCOSMOS LIDAR ALISSA BACKSCATTER LIDAR 0712 01 ROSCOSMOS LIDAR BALKAN-2 LIDAR 0715 01 ROSCOSMOS LIDAR MK-4 0716 01 ROSCOSMOS LIDAR MK-4M 0730 01 ROSCOSMOS RADAR GREBEN RADAR ALTIMETER 0731 01 ROSCOSMOS RADAR SAR-10 SYNTETIC APERTURE RADAR 0732 01 ROSCOSMOS RADAR SAR-3 SYNTETIC APERTURE RADAR 0733 01 ROSCOSMOS RADAR SAR-70 SYNTETIC APERTURE RADAR 0740 01 ROSCOSMOS RADAR SLR-3 SIDE LOOKING RADAR 0745 01 ROSCOSMOS RADAR TRAVERS SAR 0750 02 ROSCOSMOS RADIOMETER 174-K TEMPERATURE AND HUMI DITY PROFILER 0751 02 ROSCOSMOS RADIOMETER BTVK SCANNING TELEVISION RADIOMETER 0752 02 ROSCOSMOS RADIOMETER CHAIKA SCANNING IR RADIOMET ER 0753 02 ROSCOSMOS RADIOMETER DELTA-2 MULTISPECTRAL MICROW AVE SCANNER 0755 02 ROSCOSMOS RADIOMETER IKAR-D MULTISPECTRAL MICROW AVE SCANNER 0756 02 ROSCOSMOS RADIOMETER IKAR-N MULTISPECTRAL MICROW AVE SCANNER 0757 02 ROSCOSMOS RADIOMETER IKAR-P MULTISPECTRAL MICROW AVE SCANNER 0760 01 ROSCOSMOS RADIOMETER ISP 0761 02 ROSCOSMOS RADIOMETER KFA-1000 PHOTOGRAPHIC CAMERA 0762 01 ROSCOSMOS RADIOMETER KFA-200 PHOTOGRAPHIC CAMERA 0763 02 ROSCOSMOS RADIOMETER KFA-3000 PHOTOGRAPHIC CAMERA 0770 01 ROSCOSMOS RADIOMETER KLIMAT SCANNING IR RADIOMETER 0771 02 ROSCOSMOS RADIOMETER KLIMAT-2 SCANNING IR RADIOMETER 0775 01 ROSCOSMOS RADIOMETER MIRAS 0776 01 ROSCOSMOS RADIOMETER MIVZA 0777 02 ROSCOSMOS RADIOMETER MIVZA-M MICROWAVE SCANNING R ADIOMETER 0780 01 ROSCOSMOS RADIOMETER MR-2000 0781 01 ROSCOSMOS RADIOMETER MR-2000M 0785 02 ROSCOSMOS RADIOMETER MR-900 SCANNING TELEPHOTOME TER 0786 02 ROSCOSMOS RADIOMETER MR-900B SCANNING VISUAL BAND TELEPHOTOMETER 0790 02 ROSCOSMOS RADIOMETER MSU-E MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0791 02 ROSCOSMOS RADIOMETER MSU-E1 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0792 02 ROSCOSMOS RADIOMETER MSU-E2 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0793 01 ROSCOSMOS RADIOMETER MSU-M 0794 02 ROSCOSMOS RADIOMETER MSU-S MULTISPECTRAL MEDIUM RESOLUTION SCANNER 0795 02 ROSCOSMOS RADIOMETER MSU-SK MULTISPECTRAL MEDIUM RESOLUTION CONICAL SCANNER 0796 02 ROSCOSMOS RADIOMETER MSU-V MULTISPECTRAL HIGH R ESOLUTION CONICAL SCANNER 0810 02 ROSCOSMOS RADIOMETER MTZA SCANNING MICROWAVE R ADIOMETER 0815 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) MZOAS SCANNING MICROWAVE RADIO METER 0820 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) R-225 SINGLE CHANNEL MICROWAVE RADIOMETER 0821 01 ROSCOSMOS RADIOMETER R-400 0822 02 ROSCOSMOS RADIOMETER R-600 SINGLE CHANNEL MICRO WAVE RADIOMETER 0830 02 ROSCOSMOS RADIOMETER RMS RADIATION MEASUREMEN T SYSTEM 0835 01 ROSCOSMOS RADIOMETER TV CAMERA 0836 01 ROSCOSMOS RADIOMETER SILVA 0840 02 ROSCOSMOS SPECTRO-RADIOMETER SROSMO SPECTRORADIO METER FOR OCEAN MONITORING 0850 02 ROSCOSMOS SPECTROMETER BUFS-2 BACKSCATTER SPECTROM ETER/2 0851 02 ROSCOSMOS SPECTROMETER BUFS-4 BACKSCATTER SPECTROM ETER/4 0855 02 ROSCOSMOS SPECTROMETER ISTOK-1 INFRA-RED SPECTROMET ER 0856 02 ROSCOSMOS SPECTROMETER SFM-2 SPECTROMETER TO MEAS URE DIRECT SOLAR RADIATION 0857 01 ROSCOSMOS SPECTROMETER DOPI 0858 01 ROSCOSMOS SPECTROMETER KGI-4 0859 01 ROSCOSMOS SPECTROMETER OZON-M 0860 01 ROSCOSMOS SPECTROMETER RMK-2 0900 02 NOAA RADIOMETER MAXIE MAGNETOSPHERIC ATMOSPHERIC X -RAY IMAGING EXPERIMENT 0901 01 NOAA RADIOMETER OLS OPERATIONAL LINESCAN SYSTEM 0905 02 NOAA RADIOMETER SSM/I MISSION SENSOR MICROWAVE IMA GER 0906 02 NOAA RADIOMETER SSM/T-1 MISSION SENSOR MICROWAVE TEM PERATURE SOUNDER 0907 02 NOAA RADIOMETER SSM/T-2 MISSION SENSOR MICROWAVE WAT ER VAPOR SOUNDER 0908 02 NOAA RADIOMETER SSMIS SPECIAL SENSOR MICROWAVE IMA GER SOUNDER 0910 01 NOAA RADIOMETER SXI SOLAR X-RAY IMAGER 0930 02 NOAA SPECTROMETER EHIC ENERGETIC HEAVY ION COMPOSIT ION EXPERIMENT 0931 01 NOAA SPECTROMETER X-RAY ASTRONOMY PAYLOAD 0932 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) IVIS SR (FY-2) IMPROVED MULTISPECTRAL VISIBLE AND INFRA-RED SCA N RADIOMETER (5 CHANNELS) 0933 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IRAS INFRARED ATMOSPHERIC SOUNDER 0934 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWAS MICROWAVE ATMOSPHERIC SOUNDER 0935 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IMWA S IMPROVED MICROWAVE ATMOSPHERIC SOUNDER 0936 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWHS MICROWAVE HUMIDITY SOUNDER 0937 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MVIR S MODERATE RESOLUTION VISIBLE AND INFRARED IMAGING SPECTRO RADIOMETER 0938 02 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MWRI MICROWAVE RADIATION IMAGER 0940 02 ROSCOSMOS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDER S MTVZA-OK SCANNING MICROWAVE RADIOMETER 0941 02 CNES ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS SAPH IR 0944 01 NOAA RADAR ALTIMETERS ALT ALTIMETER 0945 02 NOAA EARTH RADIATION BUDGET RADIOMETER TSIS TOTA L SOLAR IRRADIANCE SENSOR 0946 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) CMIS CONICAL-SCANNING MICROWAVE IMAGER/SOUNDER 0947 02 NOAA TOTAL AND PROFILE OZONE OMPS OZONE MAPPING AND PR OFILER SUITE 0948 03 NOAA SPACE ENVIRONMENT ATMOSPHERIC TEMPERATURE AND HUMIDI TY SOUNDERS GPSOS GLOBAL POSITIONING SYSTEM OCCULTATION SE NSOR 0949 02 NOAA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y SESS SPACE ENVIRONMENTAL SENSOR SUITE 0950 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRR MULTISPECTRAL VISIBLE AND INFRA-RED SCAN RADIOMETER (10 CHANNELS 0951 01 NRSCC TOTAL AND PROFILE OZONE TOM TOTAL OZONE MAPPER 0952 01 NRSCC TOTAL AND PROFILE OZONE OP OZONE PROFILER 2047 01 MISSING VALUE 002020 0024 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 (TIROS, NOAA-6 TO NOAA-13) 0003 01 TIROS 2 (NOAA-14 ONWARDS) 0010 01 EOS 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0261 01 JASON 0271 01 GMS 0272 01 MTSAT 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME (MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME (MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME (MSG) 0351 01 GOMS 0380 01 FY-1 0381 01 FY-2 0401 01 GPS 0402 01 GLONASS 0403 01 GALILEO 0511 01 MISSING VALUE 002021 0008 0001 01 HIGH RESOLUTION INFRA RED SOUNDER (HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU ) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 002022 0005 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 AUTOMATED STATISTICAL REGRESSION 0003 01 CLEAR PATH 0004 01 PARTLY CLOUDY PATH 0005 01 CLOUDY PATH 002023 0012 0000 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE WATER VAPOUR CHANNEL 0001 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE INFRARED CHAN NEL 0002 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE VISIBLE CHANN EL 0003 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN WATER VAPOUR CHAN NEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0004 02 WIND DERIVED FROM MOTION OBSERVED IN COMBINATION OF SPECTRA L CHANNELS 0005 02 WIND DERIVED FROM MOTION OBSERVED IN THE WATER VAPOUR CHANN EL IN CLEAR AIR 0006 01 WIND DERIVED FROM MOTION OBSERVED IN THE OZONE CHANNEL 0007 02 WIND DERIVED FROM MOTION OBSERVED IN WATER VAPOUR CHANNEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0008 01 WIND DERIVED FROM ALTIMETER 0009 01 WIND DERIVED FROM RADIOMETER 0013 01 ROOT MEAN SQUARE 0015 01 MISSING VALUE 002024 0003 0001 01 TABLE WITH FULL RANGE OF HUMIDITY VARIATION IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002025 0016 0001 01 RESERVED 0002 01 HIRS 0003 01 MSU 0006 01 HIRS 0007 01 MSU 0010 01 HIRS(1, 2, 3, 8,9, 16, 17) 0011 01 HIRS(1, 2, 3, 9, 17) 0012 01 MSU 0015 01 HIRS 0016 01 HIRS 0017 01 MSU 0018 01 SKINTK(OCEAN ONLY) 0021 01 HIRS 0022 01 SSU 0023 01 MSU (3 ,4) 0025 01 MISSING 002030 0007 0001 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0002 01 GEK (GEOMAGNETIC ELECTRO KINETOGRAPH) 0003 01 SHIPS'S SET AND DRIFT DETERMINED BY FIXES 3-6 HOURS APART 0004 02 SHIPS'S SET AND DRIFT DETERMINED BY MORE THAN 6 HOURS BUT LE SS THAN 12 HOURS APART 0005 01 DRIFT OF BUOY 0006 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0007 01 MISSIN VALUE 002031 0021 0000 01 RESERVED 0001 01 INSTANTANEOUS 0002 01 AVERAGED OVER 3 MINUTES OR LESS 0003 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0004 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0005 01 INSTANTANEOUS 0006 01 AVERAGED OVER 3 MINUTES OR LESS 0007 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0008 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0009 01 VECTOR OR DOPPLER CURRENT PROFILLING METHOD NOT USED 0010 01 RESERVED 0011 01 1 HOUR OR LESS 0012 01 MORE THAN 1 HOUR BUT 2 AT THE MOST 0013 01 MORE THAN 2 HOUR BUT 4 AT THE MOST 0014 01 MORE THAN 4 HOUR BUT 8 AT THE MOST 0015 01 MORE THAN 8 HOUR BUT 12 AT THE MOST 0016 01 MORE THAN 12 HOUR BUT 18 AT THE MOST 0017 01 MORE THAN 18 HOUR BUT 24 AT THE MOST 0018 01 RESERVED 0019 01 DRIFT METHOD NOT USED 0031 01 MISSING 002032 0004 0000 02 VALUES AT SELECTED DEPTHS (DATA POINTS FIXED BY THE INSTRUME NT OR SELECTED BY ANY OTHER METHOD) 0001 02 VALUES AT SIGNIFICANT DEPTHS (DATA POINTS TAKEN FROM TRACES AT SIGNIFICANT DEPTHS) 0002 01 RESERVED 0003 01 MISSING VALUE 002033 0005 0000 01 NO SALINITY MEASURED 0001 01 IN SITU SENSOR, ACCURACY BETTER THAN 0.02 % 0002 01 IN SITU SENSOR, ACCURACY LESS THAN 0.02 % 0003 01 SAMPLE ANALYSIS 0007 01 MISSING VALUE 002034 0007 0000 01 UNSPECIFIED DROGUE 0001 01 HOLEY SOCK 0002 01 TRISTAR 0003 01 WINDOW SHADE 0004 01 PARACHUTE 0005 01 NON-LAGRANGIAN SEA ANCHOR 0031 01 MISSING VALUE 002036 0004 0000 01 DRIFTING BUOY 0001 01 FIXED BUOY 0002 01 RESERVED 0003 01 MISSING VALUE 002037 0007 0000 01 REASERVED 0001 01 MANUAL READING FROM VERTICAL TIDE STAFF 0002 01 MANUAL READING FROM SINGLE AUTOMATIC RECORDER AT STATION 0003 01 MANUAL READING FROM MULTIPLE AUTOMATIC RECORDERS AT STATION 0004 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITHOUT LEVEL REFERENCE CHECK 0005 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITH LEVEL REFERENCE CHECK,OR MULTIPLE AUTOMATIC RECORDERS 0007 01 MISSING 002038 0012 0000 01 SHIP INTAKE 0001 01 BUCKET 0002 01 HULL CONTACT SENSOR 0003 01 REVERSING TERMOMETER 0004 01 STD/CTD SENSOR 0005 01 MECHANICAL BT 0006 01 EXPANDABLE BT 0007 01 DIGITAL BT 0008 01 THERMISTOR CHAIN 0009 01 INFRARED SCANNER 0010 01 MICROWAVE SCANNER 0015 01 MISSING VALUE 002039 0005 0000 01 MEASURED WET-BULB TEMPERATURE 0001 01 ICED BULB MEASURED WET-BULB TEMPERATURE 0002 01 COMPUTED WET-BULB TEMPERATURE 0003 01 ICED BULB COMPUTED WET-BULB TEMPERATURE 0007 01 MISSING VALUE 002041 0005 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMSILATIO N MANUALLY MODIFIED 0063 01 MISSING VALUE 002040 0008 0000 01 SHIPS MOTION REMOVED BY AVARAGING 0001 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0002 01 SHIPS MOTION NOT REMOVED 0003 01 SHIPS MOTION REMOVED BY AVERAGING 0004 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0005 01 SHIPS MOTION NOT REMOVED 0006 01 DOPPLER CURRENT PROFILING METHOD NOT USED 0015 01 MISSING VALUE 002041 0006 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMILATION MANUALLY MODIFIED 0010 01 INFORMATION BASED ON THE NUMERICAL WEATHER PREDICTION 0063 01 MISSING VALUE 002044 0006 0000 01 RESERVED 0001 01 LONGUET-HIGGINS (1964) 0002 01 LONGUET-HIGGINS (F3 METHOS) 0003 01 MAXIMUM LIKELIHOOD METHOD 0004 01 MAXIMUM ENTROPY METHOD 0015 01 MISSING VALUE 002045 0005 0000 01 SEA STATION 0001 01 AUTOMATIC DATA BUOY 0002 01 AIRCRAFT 0003 01 SATELLITE 0015 01 MISSING VALUE 002046 0004 0000 01 RESERVED 0001 01 HEAVE SENSOR 0002 01 SLOPE SENSOR 0015 01 MISSING VALUE 002048 0012 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A 0004 01 AMSU-B 0005 01 AVHRR 0006 01 SSMI 0007 01 NSCAT 0008 01 SEA WINDS 0009 01 POSEIDON ALTIMETER 0010 01 JMR (JASON MICROWAVE RADIOMETER) 0015 01 MISSING VALUE 002049 0004 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 SIMULTANIOUS PHISICAL RETRIEVAL 0003 01 CLEAR SOUNDING 0004 01 CLOUDY COUNDING 002050 0019 0001 01 CHANNEL 1 14.71 MICROMETERS 0002 01 CHANNEL 2 14.37 MICROMETERS 0003 01 CHANNEL 3 14.06 MICROMETERS 0004 01 CHANNEL 4 13.64 MICROMETERS 0005 01 CHANNEL 5 13.37 MICROMETERS 0006 01 CHANNEL 6 12.66 MICROMETERS 0007 01 CHANNEL 7 12.02 MICROMETERS 0008 01 CHANNEL 8 11.03 MICROMETERS 0009 01 CHANNEL 9 9.71 MICROMETERS 0010 01 CHANNEL 10 7.43 MICROMETERS 0011 01 CHANNEL 11 7.02 MICROMETERS 0012 01 CHANNEL 12 6.51 MICROMETERS 0013 01 CHANNEL 13 4.57 MICROMETERS 0014 01 CHANNEL 14 4.52 MICROMETERS 0015 01 CHANNEL 15 4.45 MICROMETERS 0016 01 CHANNEL 16 4.13 MICROMETERS 0017 01 CHANNEL 17 3.98 MICROMETERS 0018 01 CHANNEL 18 3.74 MICROMETERS 0019 01 CHANNEL 19 0.969 MICROMETERS 002051 0004 0001 01 MAXIMUM/MINIMUM THERMOMETERS 0002 01 AUTOMATED INSTRUMENT 0003 01 THERMOGRAPH 0015 01 MISSING VALUE 002052 0005 0001 01 CHANNEL 1 0.55-.75 MICROMETERS 0002 01 CHANNEL 2 3.9 MICROMETERS 0003 01 CHANNEL 3 6.7 MICROMETERS 0004 01 CHANNEL 4 10.7 MICROMETERS 0005 01 CHANNEL 5 12.0 MICROMETERS 002053 0005 0000 01 OBSERVED BRIGHTNESS TEMPERATURES 0001 01 BRIGHTNESS TEMPERATURE WITH BIAS CORRECTION APPLIED 0002 01 BRIGHTNESS TEMPERATURE CALCULATED FROM FIRST GUESS 0003 01 BRIGHTNESS TEMPERATURE CALCULATED FROM SOUNDING 0015 01 MISSING VALUE 002054 0006 0000 02 PARAMETER DERIVED USING OBSERVED SOUNDER BRIGHTNESS TEMPERAT URES 0001 02 PARAMETER DERIVED USING OBSERVED IMAGER BRIGHTNESS TEMPERATU RES 0002 01 PARAMETER DERIVED USING FIRST GUESS INFORMATION 0003 01 PARAMETER DERIVED USING NMC ANALYSIS INFORMATION 0004 01 PARAMETER DERIVED USING RADIOSONDE INFORMATION 0015 01 MISSING VALUE 002055 0009 0000 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS RADIOSONDE 0001 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS FIRST GUESS 0002 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS FIRST GUESS 0003 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS RETRIEVAL 0004 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS FORST GUESS 0005 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS IMAGER 0006 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS SOUNDER 0007 01 STATISTICS GENERATED FOR RADIOSONDE 0008 01 STATISTICS GENERATED FOR FIRST GUESS 002056 0006 0000 01 SUMS OF DIFFERENCE 0001 01 SUMS OF SQUARED DIFFERENCES 0002 01 SAMPLE SIZE 0003 01 MINIMUM DIFFERENCE 0004 01 MAXIMUM DIFFERENCE 0015 01 MISSING VALUE 002057 0006 0000 01 NESTED GRID MODEL (NMG) 0001 01 AVIATION MODEL(AVN) 0002 01 MEDIUM RANGE FORECAST (MRF) MODEL 0003 01 GLOBAL DATA ASSIMILATION SYSTEM (GDAS) FORECAST MODEL 0004 01 PRIOR SOUNDINGS (WITHIN 3 HOURS OF CURRENT TIME) 0005 01 CLIMATOLOGY 002058 0005 0000 01 12 HOUR AND 18 HOUR 0001 01 18 HOUR AND 24 HOUR 0002 01 6 HOUR AND 12 HOUR 0003 01 GREATER THAN 24 HOUR 0015 01 MISSING VALUE 002059 0005 0000 01 NCEP NESTED GRID MODEL ANALYSIS 0001 01 NCEP AVIATION MODEL ANALYSIS 0002 01 NCEP MEDIUM RANGE FORECAST MODEL ANALYSIS 0003 01 NCEP GLOBAL DATA ASSIMILATION SYSTEM FORECAST MODEL ANALYSIS 0015 01 MISSING VALUE 002060 0007 0000 01 CURRENT SURFACE HOURLY REPORTS 0001 01 CURRENT SHIP REPORTS 0002 01 CURRENT BUOY REPORTS 0003 01 ONE HOUR OLD SURFACE HOURLY REPORTS 0004 01 ONE HOUR SHIP OLD REPORTS 0005 01 ONE HOUR BUOY OLD REPORTS 0015 01 MISSING VALUE 002061 0003 0000 01 INERTIAL NAVIGATOR SYSTEM 0001 01 OMEGA 0007 01 MISSING VALUE 002062 0007 0000 01 ASDAR 0001 01 ASDAR(ACARS ALSO AVAILABLE BUT NOT OPERATIVE) 0002 01 ASDAR(ACARS ALSO AVAILABLE AND OPERATIVE) 0003 01 ACARS 0004 01 ACARS(ASDAR ALSO AVALILABLE BUT NOT OPERATIVE) 0005 01 ACARS(ASDAR ALSO AVAILABLE AND OPERATIVE) 0015 01 MISSING VALUE 002064 0004 0000 01 GOOD 0001 01 BAD 0002 01 RESERVED 0003 01 MISSING VALUE 002066 0004 0000 01 TRS 2000 0001 01 IMS 1500C 0062 01 OTHER 0063 01 MISSING VALUE 002070 0013 0000 01 ACTUAL LOCATION IN SECONDS 0001 01 ACTUAL LOCATION IN MINUTES 0002 01 ACTUAL LOCATION IN DEGREES 0003 01 ACTUAL LOCATION IN DECIDEGREES 0004 01 ACTUAL LOCATION OM CENTIDEGREES 0005 01 REFERENCED TO CHECKPOINT IN SECONDS 0006 01 REFERENCED TO CHECKPOINT IN MINUTES 0007 01 REFERENCED TO CHECKPOINT IN DEGREES 0008 01 REFERENCED TO CHECKPOINT IN DECIDEGREES 0009 01 REFERENCED TO CHECKPOINT IN CENTIDEGREES 0010 01 ACTUAL LOCATION IN TENTHS OF A MINUTE 0011 01 REFERENCED TO CHECKPOINT IN TENTHS OF A MINUTE 0015 01 MISSING VALUE 002080 0005 0000 01 KAYSAM 0001 01 TOTEX 0002 01 KKS 0062 01 OTHER 0063 01 MISSING VALUE 002081 0009 0000 01 GP26 0001 01 GP28 0002 01 GP30 0003 01 HM26 0004 01 HM28 0005 01 HM30 0006 01 SV16 0030 01 OTHER 0031 01 MISSING VALUE 002083 0006 0000 01 HIGH BAY 0001 01 LOW BAY 0002 01 BALLOON INFLATION LAUNCH SYSTEM (BILS) 0003 01 ROOF-TOP BILS 0014 01 OTHER 0015 01 MISSING VALUE 002084 0005 0000 01 HYDROGEN 0001 01 HELIUM 0002 01 NATURAL GAS 0014 01 OTHER 0015 01 MISSING VALUE 002095 0005 0000 01 CAPACITANCE ANEROID 0001 01 DERIVED FROM GPS 0002 01 RESISTIVE STRAIN GAUGE 0030 01 OTHER 0031 01 MISSING VALUE 002096 0005 0000 01 ROD THERMISTOR 0001 01 BEAD THERMISTOR 0002 01 CAPACITANCE BEAD 0030 01 OTHER 0031 01 MISSING VALUE 002097 0008 0000 01 VIZ MARK II CARBON HYGRISTOR 0001 01 VIZ B2 HYGRISTOR 0002 01 VAISALA A-HUMICAP 0003 01 VAISALA H-HUMICAP 0004 01 CAPACITANCE SENSOR 0005 01 VAISALA RS90 0030 01 OTHER 0031 01 MISSING VALUE 002098 0005 0000 01 HH POLARISATION 0001 01 VV POLARISATION 0002 01 HV POLARISATION REAL VALUED COMPONENT 0003 01 HV POLARISATION IMAGINARY VALUED COMPONENT 0007 01 MISSING VALUE 002101 0010 0000 01 CENTRE FRONT-FED PARABOLOID 0001 01 OFFSET FRONT-FED PARABOLOID 0002 01 CENTRE CASSEGRAIN PARABOLOID 0003 01 OFFSET CASSEGRAIN PARABOLOID 0004 01 PLANAR ARRAY 0005 01 COAXIAL-COLLINEAR ARRAY 0006 01 YAGI ELEMENTS ARRAY 0007 01 MICROSTRIP 0014 01 OTHER 0015 01 MISSING VALUE 002103 0002 0001 01 RADAR ANTENNA IS PROTECTED BY A RADOME 0002 01 MISSING VALUE 002104 0007 0000 01 HORIZONTAL POLARISATION 0001 01 VERTICAL POLARISATION 0002 01 RIGHT CIRCULAR POLARISATION 0003 01 LEFT CIRCULAR POLARSZATION 0004 01 HORIZONTAL AND VERTICAL POLARISATION 0005 01 RIGHT AND LEFT CIRCULAR POLARISATION 0015 01 MISSING VALUE 002115 0007 0000 01 PDB 0001 01 RSOIS 0002 01 ASOS 0003 01 PSYCHROMETER 0004 01 F420 0030 01 OTHER 0031 01 MISSING VALUE 002119 0008 0000 01 INTERMEDIATE FREQUENCY CALIBRATION MODE (IFCAL) 0001 01 BUILT-IN TEST EQUIPMENT DIGITAL (BITE DGT) 0002 01 BUILT-IN TEST EQUIPMENT RADIO FREQUENCY (BITE RF) 0003 01 PRESET TRACKING (PSET TRK) 0004 01 PRESET LOOP OUT 0005 01 ACQUISITION 0006 01 TRACKING 0007 01 MISSING VALUE 002131 0001 0001 01 STC OPERATIONAL 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROPHOTOMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED FOR FUTURE USE 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN, ATTENUATOR #0 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002145 0009 0000 01 WAVELENGTH AD ORDINARY SETTING 0001 01 WAVELENGTH BD ORDINARY SETTING 0002 01 WAVELENGTH CD ORDINARY SETTING 0003 01 WAVELENGTH CC' ORDINARY SETTING 0004 01 WAVELENGTH AD FOCUSSING IMAGE 0005 01 WAVELENGTH BD FOCUSSING IMAGE 0006 01 WAVELENGTH CD FOCUSSING IMAGE 0007 01 WAVELENGTH CC' FOCUSSING IMAGE 0015 01 MISSING VALUE 002146 0011 0000 01 ON DIRECT SUN 0001 01 ON DIRECT MOON 0002 01 ON BLUE ZENITH SKY 0003 01 ON ZENITH CLOUD (UNIFORM STRATIFIED LAYER OF SMALL OPACITY) 0004 02 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF MED IUM OPACITY) 0005 02 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF LAR GE OPACITY) 0006 02 ON ZENITH CLOUD (HIGHLY VARIABLE OPACITY, WITH OR WITOUT PRE CIPITATION) 0007 01 ON ZENITH CLOUD (FOG) 0008 01 ON ZENITH HAZE 0009 01 ON DIRECT SUN THROUGH THIN CLOUD, FOG OR HAZE 0015 01 MISSING VALUE 002148 0006 0000 01 RESERVED 0001 01 ARGOS 0002 01 GPS 0003 01 GOES DCP 0004 01 METEOSAT DCP 0031 01 MISSING VALUE 002149 0022 0000 01 UNSPECIFIED DRIFTING BUOY 0001 01 STANDARD LAGRANGIAN DRIFTER (GLOBAL DRIFTER PROGRAMME) 0002 01 STANDARD FGGE TYPE DRIFTING BUOY 0003 01 WIND MEASURING FGGE TYPE DRIFTING BUOY 0004 01 ICE FLOAT 0008 01 UNSPECIFIED SUB-SURFACE FLOAT 0009 01 SOFAR 0010 01 ALACE 0011 01 MARVOR 0012 01 RAFOS 0016 01 UNSPECIFIED MOORED BUOY 0017 01 NOMAD 0018 01 3-METRE DISCUS 0019 01 10-12-METRE DISCUS 0020 01 ODAS 30 SERIES 0021 01 ATLAS (E.G. TAO AREA) 0022 01 TRITON BUOY 0023 01 RESERVED 0024 01 OMNIDIRECTIONAL WAVERIDER 0025 01 DIRECTIONAL WAVERIDER 0026 01 SUB-SURFACE ARGO FLOAT 0063 01 MISSING VALUE 002150 0055 0000 01 RESERVED 0001 01 HIRS 1 0002 01 HIRS 2 0003 01 HIRS 3 0004 01 HIRS 4 0005 01 HIRS 5 0006 01 HIRS 6 0007 01 HIRS 7 0008 01 HIRS 8 0009 01 HIRS 9 0010 01 HIRS 10 0011 01 HIRS 11 0012 01 HIRS 12 0013 01 HIRS 13 0014 01 HIRS 14 0015 01 HIRS 15 0016 01 HIRS 16 0017 01 HIRS 17 0018 01 HIRS 18 0019 01 HIRS 19 0020 01 HIRS 20 0021 01 MSU 1 0022 01 MSU 2 0023 01 MSU 3 0024 01 MSU 4 0025 01 SSU 1 0026 01 SSU 2 0027 01 SSU 3 0028 01 AMSU-A 1 0029 01 AMSU-A 2 0030 01 AMSU-A 3 0031 01 AMSU-A 4 0032 01 AMSU-A 5 0033 01 AMSU-A 6 0034 01 AMSU-A 7 0035 01 AMSU-A 8 0036 01 AMSU-A 9 0037 01 AMSU-A 10 0038 01 AMSU-A 11 0039 01 AMSU-A 12 0040 01 AMSU-A 13 0041 01 AMSU-A 14 0042 01 AMSU-A 15 0043 01 AMSU-B 1 0044 01 AMSU-B 2 0045 01 AMSU-B 3 0046 01 AMSU-B 4 0047 01 AMSU-B 5 0048 01 AVHRR 1 0049 01 AVHRR 2 0050 01 AVHRR 3A 0051 01 AVHRR 3B 0052 01 AVHRR 4 0053 01 AVHRR 5 0063 01 MISSING VALUE 002151 0009 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A1-1 0004 01 AMSU-A1-2 0005 01 AMSU-A2 0006 01 AMSU-B 0007 01 AVHRR 2047 01 MISSING VALUE 002152 0011 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 002158 0008 0001 01 MISMATCH IN RED VEC HPA 0002 01 MISMATCH IN RED VEC RFSS 0003 01 PTR CALIBRATION BAND 320 MHZ (KU) 0004 01 PTR CALIBRATION BAND 80 MHZ (KU) 0005 01 PTR CALIBRATION BAND 20 MHZ (KU) 0006 01 PTR CALIBRATION BAND 160 MHZ (S) 0007 01 KU FLIGHT CALIBRATION PARAMETERS AVAILABLE 0008 01 S FLIGHT CALIBRATION PARAMETERS AVAILABLE 002159 0005 0001 01 TEMPERATURE INCONSISTENCY 0002 01 DATA IS MISSING 0003 01 REDUNDANCY CHANNEL 0004 01 POWER BUS PROTECTION 0005 01 OVERVOLTAGE/OVERLOAD PROTECTION 002163 0015 0000 01 AUTO EDITOR 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002164 0004 0000 01 LP - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0007 01 MISSING VALUE 002166 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 002167 0004 0000 01 METHOD NOT DEFINE 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002169 0004 0000 01 CUP ROTOR 0001 01 PROPELLER ROTOR 0002 01 WIND OBSERVATION THROUGH AMBIENT NOISE (WOTAN) 0015 01 MISSING VALUE 002172 0003 0001 01 RETRIEVAL FROM A NADIR SOUNDING 0002 01 RETRIEVAL FROM A LIMB SOUNDING 0255 01 MISSING VALUE 002175 0009 0000 01 MANUAL MEASUREMENT 0001 01 TIPPING BUCKET METHOD 0002 01 WEIGHING METHOD 0003 01 OPTICAL METHOD 0004 01 PRESSURE METHOD 0005 01 FLOAT METHOD 0006 01 DROP COUNTER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002176 0006 0000 01 MANUAL OBSERVATION 0001 01 VIDEO CAMERA METHOD 0002 01 INFRA-RED METHOD 0003 01 LASER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002177 0005 0000 01 MANUAL OBSERVATION 0001 01 ULTRASONIC METHOD 0002 01 VIDEO CAMERA METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002178 0005 0000 01 MANUAL OBSERVATION 0001 01 OPTICAL METHOD 0002 01 CAPACITIVE METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002179 0006 0000 01 MANUAL OBSERVATION 0001 01 VAISALA ALGORITHM 0002 01 ASOS (FAA) ALGORITHM 0003 01 AWOS (CANADA) ALGORITHM 0014 01 OTHER 0015 01 MISSING VALUE 002180 0008 0000 01 MANUAL OBSERVATION 0001 02 OPTICAL SCATTER SYSTEM COMBINED WITH PRECIPITATION OCCURRENCE SENSING SYSTEM 0002 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF VISIBLE LIGHT 0003 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF INFRARED LIGHT 0004 01 INFRARED LIGHT EMITTING DIODE (IRED) SYSTEM 0005 01 DOPPLER RADAR SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002181 0005 0001 01 RAIN DETECTOR 0002 01 FREEZING RAIN SENSOR 0003 01 ICE DETECTION SENSOR 0004 01 HAIL AND ICE PELLET SENSOR 0020 01 OTHER 002182 0007 0000 01 MANUAL MEASUREMENT 0001 01 TRANSMISSOMETER SYSTEM (BASE > 25) 0002 01 TRANSMISSOMETER SYSTEM (BASE < 25 M) 0003 01 FORWARD SCATTER SYSTEM 0004 01 BACK SCATTER SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002183 0009 0000 01 MANUAL OBSERVATION 0001 01 CEILOMETER SYSTEM 0002 01 INFRARED CAMERA SYSTEM 0003 01 MICROWAVE VISUAL CAMERA SYSTEM 0004 01 SKY IMAGER SYSTEM 0005 01 VIDEO TIME LAPSED CAMERA SYSTEM 0006 01 MICRO PULSE LIDAR (MPL) SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002184 0008 0000 01 MANUAL OBSERVATION 0001 01 LIGHTNING IMAGING SENSOR 0002 01 ELECTRICAL STORM IDENTIFICATION SENSOR 0003 01 MAGNETIC FINDER SENSOR 0004 01 LIGHTNING STRIKE SENSOR 0005 01 FLASH COUNTER 0014 01 OTHER 0015 01 MISSING VALUE 002185 0007 0000 01 MANUAL MEASUREMENT 0001 01 BALANCED FLOATING METHOD 0002 01 PRESSURE METHOD 0003 01 ULTRASONIC METHOD 0004 01 HYDRAULIC METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002186 0023 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 002187 0011 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 002188 0010 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 002189 0004 0001 01 MANUAL OBSERVATION 0002 01 ALL LIGHTNING STRIKES WITHOUT DISCRIMINATION 0003 01 LIGHTNING STRIKES CLOUD TO GROUND ONLY 0004 02 ALL LIGHTNING STRIKES WITH DISCRIMINATION BETWEEN CLOUD TO GROUND AND CLOUD TO CLOUD 002194 0002 0000 01 FGGE 0015 01 MISSING VALUE 002196 0017 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 ( TIROS NOAA 6 TO NOAA 13) 0003 01 TIROS 2 ( NOAA-14 ONWARD) 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0271 01 GMS 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME(MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME(MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME(MSG) 0351 01 GOMS 0381 01 FY-2 0512 01 MISSING VALUE 002199 0004 0000 01 RESERVED 0001 01 TABLE WITH FULL RANGE OF HUMMIDITY VALUES IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002216 0017 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG(1) 0015 01 SLICES PER COMPOSITE FLAG(2) 0016 01 SLICES PER COMPOSITE FLAG(3) 0017 01 MISSING VALUE 002231 0015 0000 01 RESERVED 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMU M GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002232 0004 0000 01 P - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0003 01 MISSING VALUE 002251 0004 0000 01 METHOD NOT DEFINED 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002252 0012 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 0012 01 MULTI-CHANNEL SCANNING RADIOMETER 002254 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 004059 0005 0001 01 00 UTC 0002 01 06 UTC 0003 01 12 UTC 0004 01 18 UTC 0005 01 OTHER HOURS 008001 0007 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT LEVEL, TEMPERATURE AND/OR RELATIVE HUMIDITY 0006 01 SIGNIFICANT LEVEL, WIND 0007 01 MISSING VALUE 008002 0013 0000 02 OBSERVING RULES FOR BASE OF LOWEST CLOUD AND CLOUD TYPES OF FM 12-IX EXT. SYNOP AND FM 13-IX EXT. SHIP APPLY 0001 01 FIRST NON - CB SIGNIFICANT LAYER 0002 01 SECOND NON - CB SIGNIFICANT LAYER 0003 01 THIRD NON - CB SIGNIFICANT LAYER 0004 01 CUMULONIMBUS LAYER 0005 01 CEILING 0006 01 CLOUD NOT DETECTED BELOW THE FOLLOWING HEIGHT(S) 0007 01 LOW CLOUD 0008 01 MIDDLE CLOUD 0009 01 HIGH CLOUD 0010 02 CLOUD LAYER WITH BASE BELOW THE STATION LEVEL AND TOP ABOVE THE STATION LEVEL 0011 01 CLOUD LAYER WITH BASE AND TOP BELOW THE STATION LEVEL 0063 01 MISSING VALUE 008003 0009 0000 01 SURFACE 0001 01 BASE OF SATELLITE SOUNDING 0002 01 CLOUD TOP 0003 01 TROPOPAUSE 0004 01 PRECIPITABLE WATER 0005 01 SOUNDING RADIANCES 0006 01 MEAN TEMPERATURES 0007 01 OZON 0063 01 MISSING VALUE 008004 0006 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING(DES) 0007 01 MISSING VALUE 008005 0007 0000 01 RESERVED 0001 01 STORM CENTRE 0002 01 OUTER LIMIT OR EDGE OF STORM 0003 01 LOCATION OF MAXIMUM WIND 0004 01 LOCATION OF STORM IN THE PERTURBED ANALYSIS 0005 01 LOCATION OF STORM IN THE ANALYSIS 0015 01 MISSING VALUE 008006 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 PROMINENT MAXIMUM LEVEL 0005 01 PROMINENT MINIMUM LEVEL 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008007 0005 0000 01 POINT 0001 01 LINE 0002 01 AREA 0003 01 VOLUME 0015 01 MISSING VALUE 008008 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 LEVEL OF BETA RADIATION MAXIMUM 0005 01 LEVEL OF GAMMA RADIATION MAXIMUM 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008009 0016 0000 01 LEVEL FLIGHT, ROUTINE OBSERVATION, UNSTEADY 0001 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED, UNSTEADY 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING (DES) 0007 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0008 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0009 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0010 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0011 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0012 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0013 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0014 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0015 01 MISSING VALUE 008010 0013 0000 01 RESERVED 0001 01 BARE SOIL 0002 01 BARE ROCK 0003 01 LAND GRASS COVER 0004 01 WATER (LAKE, SEA) 0005 01 FLOOD WATER UNDERNEATH 0006 01 SNOW 0007 01 ICE 0008 01 RUNWAY OR ROAD 0009 01 SHIP OR PLATFORM DECK IN STEEL 0010 01 SHIP OR PLATFORM DECK IN WOOD 0011 01 SHIP OR PLATFORM DECK PARTLY COVERED WITH RUBBER MAT 0031 01 MISSING VALUE 008011 0026 0000 01 QUASI-STATIONARY FRONT AT THE SURFACE 0001 01 QUASI-STATIONARY FRONT ABOVE THE SURFACE 0002 01 WARM FRONT AT THE SURFACE 0003 01 WARM FRONT ABOVE THE SURFACE 0004 01 COLD FRONT AT THE SURFACE 0005 01 COLD FRONT ABOVE THE SURFACE 0006 01 OCCLUSION 0007 01 INSTABILITY LINE 0008 01 INTERTROPICAL FRONT 0009 01 CONVERGENCE LINE 0010 01 JET STREAM 0011 01 CLOUD CLEAR 0012 01 CLOUD 0013 01 TURBULENCE 0014 01 STORM 0015 01 AIRFRAME ICING 0016 01 PHENOMENON 0017 01 VOLCANO 0018 01 ATMOSPHERICS 0020 01 SPECIAL CLOUDS 0021 01 THUNDERSTORM (VAL) 0022 01 TROPICAL CYCLONE (VAL) 0023 01 MOUNTAIN WAVE (VAL) 0024 01 DUSTSTORM (VAL) 0025 01 SANDSTORM (VAL) 0063 01 MISSING VALUE 008012 0004 0000 01 LAND 0001 01 SEA 0002 01 RESERVED 0003 01 MISSING VALUE 008013 0004 0000 01 NIGHT 0001 01 DAY 0002 01 RESERVED 0003 01 MISSING VALUE 008014 0010 0000 01 10-MINUTE MEAN VALUE - NORMAL VALUE 0001 02 10-MINUTE MEAN VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0002 02 10-MINUTE MEAN VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF R VR (M) 0003 01 ONE MINUTE MINIMUM VALUE - NORMAL VALUE 0004 02 ONE MINUTE MINIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSM ENT OF RVR (P) 0005 02 ONE MINUTE MINIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0006 01 ONE MINUTE MAXIMUM VALUE - NORMAL VALUE 0007 02 ONE MINUTE MAXIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESS MENT OF RVR (P) 0008 02 ONE MINUTE MAXIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0015 01 MISSING VALUE 008016 0005 0000 01 NOSIG 0001 01 BECMG 0002 01 TEMPO 0003 01 FM 0007 01 MISSING VALUE 008017 0004 0000 01 FM 0001 01 TL 0002 01 AT 0003 01 MISSING VALUE 008018 0005 0001 01 LAND IS PRESENT 0002 01 SURFACE ICE MAP INDICATES ICE IS PRESENT 0011 01 ICE MAP DATA NOT AVAILABLE 0012 01 ATTENUATION MAP DATA NOT AVAILABLE 0017 01 MISSING VALUE 008021 0032 0000 01 RESERVED 0001 01 TIME SERIES 0002 01 TIME AVERAGED 0003 01 ACCUMULATED 0004 01 FORECAST 0005 01 FORECAST TIME SERIES 0006 01 FORECAST TIME AVERAGED 0007 01 FORECAST ACCUMULATED 0008 01 ENSEMBLE MEAN 0009 01 ENSEMBLE MEAN TIME SERIES 0010 01 ENSEMBLE MEAN TIME AVERAGED 0011 01 ENSEMBLE MEAN ACCUMULATED 0012 01 ENSEMBLE MEAN FORECAST 0013 01 ENSEMBLE MEAN FORECAST TIME SERIES 0014 01 ENSEMBLE MEAN FORECAST AVERAGED 0015 01 ENSEMBLE MEAN FORECAST ACCUMULATED 0016 01 ANALYSIS 0017 01 START OF PHENOMENON 0018 01 RADIOSONDE LAUNCH TIME 0019 01 START OF ORBIT 0020 01 END OF ORBIT 0021 01 TIME OF ASCENDING NODE 0022 01 TIME OF OCCURENCE OF WIND SHIFT 0023 01 MONITORING PERIOD 0024 01 AGREED TIME LIMIT FOR REPORT RECEPTION 0025 01 NOMINAL REPORTING TIME 0026 01 TIME OF LAST KNOWN POSITION 0027 01 FIRST GUESS --NOT WMO ENTRY 0028 01 START OF SCAN --NOT WMO ENTRY 0029 01 END OF SCAN --NOT WMO ENTRY 0030 01 RESERVED 0031 01 MISSING VALUE 008023 0017 0002 01 MAXIMUM VALUE 0003 01 MINIMUM VALUE 0004 01 MEAN VALUE 0005 01 MEDIAN VALUE 0006 01 MODAL VALUE 0007 01 MEAN ABSOLUTE ERROR 0009 01 BEST ESTIMATE OF STANDARD DEVIATION (N-1) 0010 01 STANDARD DEVIATION 0011 01 HARMONIC MEAN 0012 01 ROOT MEAN SQUARE VECTOR ERROR 0013 01 ROOT-MEAN-SQUARE 0032 01 PROBABILITY OF GROSS ERROR 0033 01 PRESCRIBED OBSERVATION ERROR 0034 01 PERSISTENCE OBSERVATION ERROR 0035 01 FINAL OBSERVATION ERROR 0036 01 REPRESENTATIVNESS OBSERVATION ERROR 0063 01 MISSING 008024 0015 0002 01 OBSERVED MINUS MAXIMUM 0003 01 OBSERVED MINUS MINIMUM 0004 01 OBSERVED MINUS MEAN 0005 01 OBSERVED MINUS MEDIAN 0006 01 OBSERVED MINUS MODE 0011 01 OBSERVED MINUS CLIMATOLOGY (ANOMALY) 0012 01 OBSERVED MINUS ANALYZED VALUE 0013 01 OBSERVED MINUS INITIALISED ANALYZED VALUE 0014 01 OBSERVED MINUS FORECAST VALUE 0021 01 OBSERVED MINUS INTERPOLATED VALUE 0022 01 OBSERVED MINUS HYDROSTATICALLY CALCULATED VALUE 0032 01 OBSERVED MINUS FIRST GUESS 0033 01 OBSERVED MINUS ANALYSIS 0034 01 OBSERVED MINUS INITIALIZED ANALYSIS 0063 01 MISSING 008025 0005 0000 02 UNIVERSAL TIME COORDINATED (UTC) MINUS LOCAL STANDARD TIME (LST) 0001 01 LOCAL STANDARD TIME 0002 01 UNIVERSAL TIME COORDINATED (UTC) MINUS SATELLITE CLOCK 0005 01 TIME DIFFERENCE FROM EDGE OF PROCESSING SEGMENT 0015 01 MISSING 008026 0005 0000 01 AVERAGING KERNEL MATRIX 0001 01 CORRELATION MATRIX 0002 02 LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L FROM C=LL T) 0003 02 INVERSE LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L** -1) 0063 01 MISSING VALUE 008027 0007 0000 01 ASSUME NO PARTICULAR MATRIX GEOMETRY 0001 01 DIAGONAL MATRIX 0002 01 TRIDIAGONAL MATRIX 0003 01 MULTI-DIAGONAL MATRIX (GENERAL CASE: DIAGONAL AND ABOVE) 0004 01 LOWER TRIANGULAR MATRIX 0005 01 SYMETRICAL MATRIX 0063 01 MISSING VALUE 008029 0005 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 ENCLOSED SEA OR LAKE 0002 01 CONTINENTAL ICE 0003 01 LAND 0255 01 MISSING 008033 0006 0000 01 RESERVED 0001 01 PERCENTAGE CONFIDENCE CALCULATED USING CLOUD FRACTION 0002 02 PERCENTAGE CONFIDENCE CALCULATED USING STANDARD DEVIATION OF TEMPERATURE 0003 02 PERCENTAGE CONFIDENCE CALCULATED USING PROBABILITY OF THE CLOUD CONTAMINATION 0004 02 PERCENTAGE CONFIDENCE CALCULATED USING NORMALITY OF DISTRIBU TION 0127 01 MISSING 008035 0008 0000 01 GLOBAL 0001 01 REGIONAL 0002 01 NATIONAL 0003 01 SPECIAL 0004 01 BILATERAL 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING 008036 0008 0000 01 WMO SECRETARIAT 0001 01 WMO 0002 01 RSMC 0003 01 NMC 0004 01 RTH 0005 01 OBSERVING SITE 0006 01 OTHER 0007 01 MISSING 008039 0008 0000 01 ISSUE TIME OF FORECAST 0001 01 TIME OF COMMNENCEMENT OF PERIOD OF THE FORECAST 0002 01 TIME OF ENDING OF PERIOD OF THE FORECAST 0003 01 FORECSAT TIME OF MAXIMUM TEMPERATURE 0004 01 FORECSAT TIME OF MINIMUM TEMPERATURE 0005 01 TIME OF BEGINNING OF THE FORECAST 0006 01 TIME OF ENDING OF THE FORECAST 0063 01 MISSING VALUE 008040 0043 0000 01 HIGH RESOLUTION DATA SAMPLE 0001 01 WITHIN 20 HPA OF SURFACE 0002 02 PRESSURE LESS THAN 10 HPA (I.E., 9, 8, 7, ETC.) WHEN NO OTHER REASON APPLIES 0003 01 BASE PRESSURE LEVEL FOR STABILITY INDEX 0004 01 BEGIN DOUBTFUL TEMPERATURE, HEIGHT DATA 0005 01 BEGIN MISSING DATA (ALL ELEMENTS) 0006 01 BEGIN MISSING RH DATA 0007 01 BEGIN MISSING TEMPERATURE DATA 0008 02 HIGHEST LEVEL REACHED BEFORE BALLOON DESCENT BECAUSE OF ICING OR TURBULENCE 0009 01 END DOUBTFUL TEMPERATURE, HEIGHT DATA 0010 01 END MISSING DATA (ALL ELEMENTS) 0011 01 END MISSING RH DATA 0012 01 END MISSING TEMPERATURE DATA 0013 01 ZERO DEGREES C CROSSING(S) FOR RADAT 0014 01 STANDARD PRESSURE LEVEL 0015 01 OPERATOR ADDED LEVEL 0016 01 OPERATOR DELETED LEVEL 0017 01 BALLOON RE-ASCENDED BEYOND PREVIOUS HIGHEST ASCENT LEVEL 0018 01 SIGNIFICANT RH LEVEL 0019 01 RH LEVEL SELECTION TERMINATED 0020 01 SURFACE LEVEL 0021 01 SIGNIFICANT TEMPERATURE LEVEL 0022 01 MANDATORY TEMPERATURE LEVEL 0023 01 FLIGHT TERMINATION LEVEL 0024 01 TROPOPAUSE(S) 0025 01 AIRCRAFT REPORT 0026 01 INTERPOLATED (GENERATED) LEVEL 0027 01 MANDATORY WIND LEVEL 0028 01 SIGNIFICANT WIND LEVEL 0029 01 MAXIMUM WIND LEVEL 0030 01 INCREMENTAL WIND LEVEL (FIXED REGIONAL) 0031 01 INCREMENTAL HEIGHT LEVEL (GENERATED) 0032 01 WIND TERMINATION LEVEL 0033 01 PRESSURE 100 TO 110 HPA, WHEN NO OTHER REASON APPLIES 0040 01 SIGNIFICANT THERMODYNAMIC LEVEL (INVERSION) 0041 01 SIGNIFICANT RH LEVEL ( PER NCDC CRITERIA) 0042 01 SIGNIFICANT TEMPERATURE LEVEL (PER NCDC) 0043 01 BEGIN MISSING WIND DATA 0044 01 END MISSING WIND DATA 0060 01 LEVEL OF 80-KNOT ISOTACH ABOVE JET 0061 01 LEVEL OF 80-KNOT ISOTACH BELOW JET 0062 01 OTHER 0063 01 MISSING VALUE 008041 0009 0000 01 PARENT SITE 0001 01 OBSERVATION SITE 0002 01 BALLOON MANUFACTURE DATE 0003 01 BALLOON LAUNCH POINT 0004 01 SURFACE OBSERVATION 0005 01 SURFACE OBSERVATION DISPLACEMENT FROM LAUNCH POINT 0006 01 FLIGHT LEVEL OBSERVATION 0007 01 FLIGHT LEVEL TERMINATION POINT 0031 01 MISSING VALUE 008042 0013 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT TEMPERATURE LEVEL 0006 01 SIGNIFICANT HUMIDITY LEVEL 0007 01 SIGNIFICANT WIND LEVEL 0008 01 BEGINNING OF MISSING TEMPERATURE DATA 0009 01 END OF MISSING TEMPERATURE DATA 0010 01 BEGINNING OF MISSING HUMIDITY DATA 0011 01 END OF MISSING HUMIDITY DATA 0012 01 BEGINNING OF MISSING WIND DATA 0013 01 END OF MISSING WIND DATA 008043 0021 0000 01 OZONE, O3,10028-15-6 0001 01 WATER VAPOUR, H2O, 7732-18-5 0002 01 METHANE, CH4, 74-82-8 0003 01 CARBON DIOXIDE, CO2, 37210-16-5 0004 01 CARBON MONOXIDE, CO, 630-08-0 0005 01 NITROGEN DIOXIDE, NO2, 10102-44-0 0006 01 NITROUS OXIDE, N2O, 10024-97-2 0007 01 FORMALDEHYDE, HCHO, 50-00-0 0008 01 SULFUR DIOXIDE, SO2, 7446-09-5 0009 01 BROMINE OXIDE, BRO, 15656-19-6 0010 01 CHLORINE DIOXIDE, OCLO, 10049-04-4 0011 01 NITROGEN MONOXIDE, NO, 10102-43-9 0012 01 AMMONIA, NH3, 7664-41-7 0025 01 PARTICULATE MATTER < 1.0 MICRONS 0026 01 PARTICULATE MATTER < 2.5 MICRONS 0027 01 PARTICULATE MATTER < 10 MICRONS 0028 01 AEROSOLS GENERIC 0029 01 SMOKE GENERIC 0030 01 CRUSTAL MATERIAL (GENERIC DUST) 0031 01 VOLCANIC ASH 0255 01 MISSING 008050 0011 0000 01 RESERVED 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MAXIMUM TEMPERATURE 0008 01 MINIMUM TEMPERATURE 0009 01 WIND 0015 01 MISSING VALUE 008051 0007 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MISSING VALUE 008052 0026 0000 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 10 M/S 0001 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 20 M/S 0002 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 30 M/S 0003 01 MAXIMUM TEMPERATURE LESS THAN 273.2 K 0004 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 298.2 K 0005 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 303.2 K 0006 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 308.2 K 0007 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 313.2 K 0008 01 MINIMUM TEMPERATURE LESS THAN 273.2 K 0009 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 273.2 K 0010 01 PRECIPITATION EQUAL TO OR MORE THAN 1.0 KG/M**2 0011 01 PRECIPITATION EQUAL TO OR MORE THAN 5.0 KG/M**2 0012 01 PRECIPITATION EQUAL TO OR MORE THAN 10.0 KG/M**2 0013 01 PRECIPITATION EQUAL TO OR MORE THAN 50.0 KG/M**2 0014 01 PRECIPITATION EQUAL TO OR MORE THAN 100.0 KG/M**2 0015 01 PRECIPITATION EQUAL TO OR MORE THAN 150.0 KG/M**2 0016 01 SNOW DEPTH MORE THAN 0.0 M 0017 01 SNOW DEPTH MORE THAN 0.01 M 0018 01 SNOW DEPTH MORE THAN 0.10 M 0019 01 SNOW DEPTH MORE THAN 0.50 M 0020 01 HORIZONTAL VISIBILITY LESS THAN 50 M 0021 01 HORIZONTAL VISIBILITY LESS THAN 100 M 0022 01 HORIZONTAL VISIBILITY LESS THAN 1000 M 0023 01 HAIL 0024 01 THUNDERSTORM 0031 01 MISSING VALUE 008053 0004 0000 01 VALUE OCCURED ON ONLY ONE DAY IN THE MONTH 0001 01 VALUE OCCURED ON MORE THAN ONE DAY IN THE MONTH 0002 01 RESERVED 0003 01 MISSING VALUE 008054 0003 0000 01 WIND SPEED OR GUST IS AS REPORTED 0001 02 WIND SPEED IS GREATER THAN THAT REPRTED (P IN METAR/TAF/SPEC I) 0007 01 MISSING VALUE 008060 0008 0000 01 RESERVED 0001 01 RANGE 0002 01 AZIMUTH 0003 01 HORIZONTAL 0004 01 VERTICAL 0005 01 NORTH/SOUTH 0006 01 EAST/WEST 0015 01 MISSING VALUE 008065 0004 0000 01 NO SUN-GLINT 0001 01 SUN-GLINT 0002 01 RESERVED 0003 01 MISSING VALUE 008066 0004 0000 01 OPAQUE 0001 01 SEMI-TRANSPARENT 0002 01 RESERVED 0003 01 MISSING VALUE 008070 0006 0000 01 RESERVED 0001 01 RESERVED 0002 02 EARTH LOCATED INSTRUMENT COUNTS, CALIBRATION COEFFICIENTS AND HOUSEKEEPING (LEVEL 1B) 0003 01 EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1C) 0004 02 MAPPED TO A COMMON FOOTPRINT, EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1D) 0015 01 MISSING VALUE 008072 0004 0000 01 MIXED 0001 01 CLEAR 0002 01 CLOUDY 0007 01 MISSING VALUE 008074 0004 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 NON-OCEAN LIKE 0002 01 RESERVED 0003 01 MISSING VALUE 008075 0004 0000 01 ASCENDING ORBIT 0001 01 DESCENDING ORBIT 0002 01 RESERVED 0003 01 MISSING VALUE 008076 0003 0000 01 KU 0001 01 C 0063 01 MISSING VALUE 008077 0007 0000 01 LAND 0001 01 SEA 0002 01 COASTAL 0003 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0004 01 ENCLOSED SEA OR LAKE 0005 01 CONTINENTAL ICE 0127 01 MISSING VALUE 008079 0009 0000 01 NORMAL ISSUE 0001 01 CORRECTION TO A PREVIOUSLY ISSUED PRODUCT (COR) 0002 01 AMANDMENT TO A PREVIOUSLY ISSUED PRODUCT *AMD) 0003 01 CORRECTION TO A PREVIOUSLY ISSUED AMENDED PRODUCT (COR AMD) 0004 01 CANCELLATION OD A PREVIOUSLY ISSUED PRODUCT (CNL) 0005 01 NO PRODUCT AVAILABLE (NIL) 0006 01 SPECIAL REPORT ( SPECI) 0007 01 CORRECTED SPECIAL REPORT (SPECI COR) 0015 01 MISSING VALUE 008080 0009 0000 01 TOTAL WATER PRESSURE PROFILE 0001 01 TOTAL WATER TEMPERATURE PROFILE 0002 01 TOTAL WATER SALINITY PROFILE 0003 01 TOTAL WATER CONDUCTIVITY PROFILE 0010 01 WATER PRESSURE AT A LEVEL 0011 01 WATER TEMPERATURE AT A LEVEL 0012 01 SALINITY AT A LEVEL 0020 01 POSITION 0063 01 MISSING VALUE 008081 0005 0000 01 SENSOR 0001 01 TRANSMITTER 0002 01 RECEIVER 0003 01 OBSERVING PLATFORM 0063 01 MISSING VALUE 008082 0003 0000 01 SENSOR HEIGHT IS NOT MODIFIED 0001 01 SENSOR HEIGHT IS MODIFIED TO STANDARD LEVEL 0007 01 MISSING VALUE 008083 0009 0001 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABO VE LOCAL GROUND (OR DECK OF MARINE PLATFORM) 0002 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABO VE WATER SURFACE 0003 01 ADJUSTED WITH RESPECT TO STANDARD SURFACE ROUGHNESS 0004 01 ADJUSTED WITH RESPECT TO WIND SPEED 0005 01 ADJUSTED WITH RESPECT TO TEMPERATURE 0006 01 ADJUSTED WITH RESPECT TO PRESSURE 0007 01 ADJUSTED WITH RESPECT TO HUMIDITY 0008 01 ADJUSTED WITH RESPECT TO EVAPORATION 0009 01 ADJUSTED WITH RESPECT TO WETTING LOSSES 008085 0008 0000 01 FORE BEAM 0001 01 MID BEAM 0002 01 AFT BEAM 0003 01 RESERVED 0004 01 RESERVED 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING VALUE 008193 0007 0000 01 START TIME OF ORBIT 0001 01 END TIME OF ORBIT 0002 01 TIME OF ASCENDING NODE 0003 01 ASSIMILATION TIME 0004 01 START TIME OF ASSIMILATION 0005 01 END TIME OF ASSIMLATION 0063 01 MISSING 008195 0032 0001 01 FIRST GUESS 0002 01 ANALYSIS 0003 01 INITIALISED ANALYSIS 0004 01 OI ANALYSIS 0005 01 3 D VARIATIONAL ANALYSIS 0006 01 4 D VARIATIONAL ANALYSIS 0007 01 3 D VARIATIONAL GRADIENTS 0008 01 4 D VARIATIONAL GRADIENTS 0009 01 FORECAST 0010 01 CONTROL FORECAST 0011 01 PERTURBED FORECAST 0012 01 ERRORS IN FIRST GUESS 0013 01 ERRORS IN ANALYSIS 0014 01 CLUSTER MEANS 0015 01 CLUSTER STANDARD DEVIATIONS 0016 01 FORECAST PROBABILITIES 0017 01 ENSEMBLE MEANS 0018 01 ENSEMBLE STANDARD DEVIATIONS 0019 01 FORECAST ACCUMULATIONS 0020 01 CLIMATOLOGY 0021 01 CLIMATE SIMULATION 0030 01 OBSERVATIONS 0031 01 QUALITY CONTROL 0032 01 DIFFERENCE STATISTICS 0040 01 IMAGE DATA 0050 01 SENSITIVITY GRADIENTS 0051 01 TRAJECTORY FORECAST 0052 01 SENSITIVITY FORECAST 0060 01 PERTURBED ANALYSIS 0061 01 PERTURBATION 0062 01 SINGULAR VECTOR 0127 01 MISSING VALUE 010063 0010 0000 02 INCREASING, THEN DECREASING: ATMOSPHERIC PRESURE THE SAME OR HIGHER THAN 3 HOURS AGO (OR 24 HOURS AGO ) 0001 01 INCREASING, THEN STEADY; OR INCREASING; THEN MORE SLOWLY 0002 01 INCREASING (STEADILY OR UNSTEADILY ) 0003 01 DECREASING OR STEADY, THEN INCREASING; RAPIDLY 0004 02 STEADY; ATMOSPHERIC PRESSURE THE SAME AS 3 HOURS AGO (OR 24 HOURS) 0005 02 DECREASING; THEN INCREASING; ATMOSPHERIC PRESSURE THE SAME O R LOWER THAN 3 HOURS AGO 0006 02 DECREASING, THEN STEADY; OR DECREASING, DECREASING MORE SLOW LY 0007 01 DECREASING (STEADILY OR UNSTEADELY ) 0008 02 STEADY OR INCREASING, THEN DECREASING; OR DECREASING, THEN DECREASING MORE RAPIDLY 0015 01 MISSING 010064 0004 0000 01 SUBSONIC 0001 01 TRANSONIC 0002 01 SUPERSONIC 0007 01 MISSING VALUE 011031 0009 0000 01 NIL IN CLOUD 0001 01 SLIGHT IN CLOUD 0002 01 MODERATE IN CLOUD 0003 01 SEVERE IN CLOUD 0004 01 NIL IN CLEAR AIR 0005 01 SLIGHT IN CLEAR AIR 0006 01 MODERATE IN CLEAR AIR 0007 01 SEVERE IN CLEAR AIR 0015 01 MISSING VALUE 011037 0030 0000 01 AVE <0.1 PEAK <0.1 0001 01 AVE <0.1 0.1 <= PEAK <0.2 0002 01 0.1 <= AVE <0.2 0.1 <= PEAK <0.2 0003 01 AVE <0.1 0.2 <= PEAK <0.3 0004 01 0.1 <= AVE <0.2 0.2 <= PEAK <0.3 0005 01 0.2 <= AVE <0.3 0.2 <= PEAK <0.3 0006 01 AVE <0.1 0.3 <= PEAK <0.4 0007 01 0.1 <= AVE <0.2 0.3 <= PEAK <0.4 0008 01 0.2 <= AVE <0.3 0.3 <= PEAK <0.4 0009 01 0.3 <= AVE <0.4 0.3 <= PEAK <0.4 0010 01 AVE <0.1 0.4 <= PEAK <0.5 0011 01 0.1 <= AVE <0.2 0.4 <= PEAK <0.5 0012 01 0.2 <= AVE <0.3 0.4 <= PEAK <0.5 0013 01 0.3 <= AVE <0.4 0.4 <= PEAK <0.5 0014 01 0.4 <= AVE <0.5 0.4 <= PEAK <0.5 0015 01 AVE <0.1 0.5 <= PEAK <0.8 0016 01 0.1 <= AVE <0.2 0.5 <= PEAK <0.8 0017 01 0.2 <= AVE <0.3 0.5 <= PEAK <0.8 0018 01 0.3 <= AVE <0.4 0.5 <= PEAK <0.8 0019 01 0.4 <= AVE <0.5 0.5 <= PEAK <0.8 0020 01 0.5 <= AVE <0.8 0.5 <= PEAK <0.8 0021 01 AVE <0.1 0.8 <= PEAK 0022 01 0.1 <= AVE <0.2 0.8 <= PEAK 0023 01 0.2 <= AVE <0.3 0.8 <= PEAK 0024 01 0.3 <= AVE <0.4 0.8 <= PEAK 0025 01 0.4 <= AVE <0.5 0.8 <= PEAK 0026 01 0.5 <= AVE <0.8 0.8 <= PEAK 0027 01 0.8 <= AVE 0.8 <= PEAK 0028 01 NIL NIL 0063 01 MISSING VALUE 011038 0017 0000 01 MIN < 1 0001 01 1 <= MIN < 2 0002 01 2 <= MIN < 3 0003 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0015 01 NO TIMING INFORMATION AVAILABLE 0031 01 MISSING VALUE 011039 0016 0000 01 1 <= MIN < 2 0001 01 2 <= MIN < 3 0002 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0060 01 NO TIMING INFORMATION AVAILABLE 0063 01 MISSING VALUE 013038 0004 0000 01 NOT SUPERADIABATIC 0001 01 SUPERADIABATIC 0002 01 RESERVED 0003 01 MISSING VALUE 013039 0003 0000 01 SEA ICE 0001 01 SNOW ON LAND 0007 01 MISSING VALUE 013040 0009 0000 01 LAND 0001 01 RESERVED 0002 01 NEAR COAST 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 DESERT 0015 01 MISSING VALUE 013041 0010 0001 01 A 0002 01 A-B 0003 01 B 0004 01 B-C 0005 01 C 0006 01 D 0007 01 E 0008 01 F 0009 01 G 0015 01 MISSING VALUE 013051 0008 0000 01 SMALLER THAN ANY VALUE IN THE 30 YEARS PERIOD 0001 01 IN THE FIRST QUINTILE 0002 01 IN THE SECOND QUINTILE 0003 01 IN THE THIRD QUINTILE 0004 01 IN THE FOURTH QUINTILE 0005 01 IN THE FIFTH QUINTILE 0006 01 GREATER THAN ANY VALUE IN THE 30 YEAR PERIOD 0015 01 MISSING VALUE 013056 0010 0000 01 NO PRECIPITATION 0001 01 LIGHT INTERMITTENT 0002 01 MODERATE INTERMITTENT 0003 01 HEAVY INTERMITTENT 0004 01 VERY HEAVY INTERMITTENT 0005 01 LIGHT CONTINUOUS 0006 01 MODERATE CONTINUOUS 0007 01 VERY HEAVY CONTINUOUS 0009 01 VARIABLE-ALTERNATIVELY LIGHT AND HEAVY 0015 01 MISSING VALUE 013057 0011 0000 01 NO PRECIPITATION 0001 01 WITHIN THE LAST HOUR 0002 01 1 TO 2 HOURS AGO 0003 01 2 TO 3 HOURS AGO 0004 01 3 TO 4 HOURS AGO 0005 01 4 TO 5 HOURS AGO 0006 01 5 TO 6 HOURS AGO 0007 01 6 TO 8 HOURS AGO 0008 01 8 TO 10 HOURS AGO 0009 01 MORE THAN 10 HOURS AHO 0015 01 MISSING VALUE 013202 0007 0000 01 LAND 0001 01 VEGETATION 0003 01 MULTI-YEAR ICE 0004 01 POSSIBLE ICE OR FIRST YEAR ICE 0005 01 OCEAN 0006 01 COASTLINE 0015 01 MISSING 015025 0002 0000 01 OZONE 0015 01 MISSING VALUE 019001 0007 0000 01 DEPRESSION OR LOW (EXTRATROPICAL) 0001 01 TROPICAL DEPRESSION 0002 01 TROPICAL STORM 0003 01 SEVERE TROPICAL STORM 0004 01 TYPHOON 0010 01 DUST/SANDSTORM 0063 01 MISSING VALUE 019008 0005 0000 01 RESERVED 0001 01 SHALLOW (TOP OF CIRCULATION BELOW 700-HPA LEVEL 0002 01 MEDIUM(TOP BETWEEN 700-HPA AND 400-HPA) 0003 01 DEEP(TOP ABOVE 400-HPA LEVEL 0007 01 MISSING VALUE 019010 0004 0000 01 RESERVED 0001 01 MINIMUM VALUE OF SEA LEVEL PRESSURE 0002 01 MAXIMUM VALUE OF 850 HPA RELATIVE VORTICITY 0015 01 MISSING VALUE 020003 0250 0000 01 CLOUD DEVELOPMENT NOT OBSERVED OR NOT OBSERVABLE 0001 01 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED 0002 01 STATE OF SKY ON THE WHOLE UNCHANGED 0003 01 CLOUDS GENERALLY FORMING OR DEVELOPING 0004 02 VISIBILITY REDUCED BY SMOKE, E.G. VELDT OR FOREST FIRES, IN DUSTRIAL SMOKE OR VOLCANIC ASHES 0005 01 HAZE 0006 02 WIDESPREAD DUST IN SUSPENSION IN THE AIR, NOT RAISED BY WIND AT OR NEAR THE STATION AT THE TIME OF OBSERVATION 0007 04 DUST OR SEND RAISED BY WIND AT OR NEAR THE STATION AT THE TI ME OF OBSERVATION, BUT NO WELL-DEVELOPED DUST WHRIL(S) OR SA ND WHRIL(S), AND NO DUSTSTORM OR SANDSTORM SEEN; OR, IN THE CASE OF SHIPS, BLOWING SPRAY AT THE STATION 0008 03 WELL-DEVELOPED DUST WHRIL(S) OR SAND WHRILS SEEN AT OR NEAR THE STATION DURING THE PRECEDING HOUR OR AT THE SAME TIME OF OBSERVATION, BUT NO DUSTSTORM OR SANDSTORM 0009 02 DUSTSTORM OR SANDSTORM WITHIN SIGHT AT THE TIME OF OBSERVATI ON, OR AT THE STATION DURING THE PRECEDING HOR 0010 01 MIST 0011 02 PACHES SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0012 03 MORE OR LESS CONTINUOUS SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0013 01 LIGHTNING VISIBLE, NO THUNDER HEARD 0014 02 PRECIPITATION WITHIN SIGHT, NOT REACHING THE GROUND OR THE SURFACE OF THE SEA 0015 03 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, BUT DISTANT, I.E. ESTIMATED TO BE MORE THAN 5 KM FROM THE STATION 0016 02 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, NEAR TO, BUT NOT AT THE STATION 0017 02 THUNDERSTORM, BUT NO PRECIPITATION AT THE TIME OF OBSERVATIO N 0018 02 SQUALLS AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDI NG HOUR OR AT THE TIME OF OBSERVATION 0019 02 FUNNEL CLOUD(S) AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0020 03 DRIZZEL (NOT FREEZING) OR SNOW GRAINS NOT FALLING AS SHOWERS ; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVAT IONS 0021 02 RAIN (NOT FREEZING) NOT FALLING AS SHOWER(S); DURING THE PRE ECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0022 02 SNOW NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0023 02 RAIN AND SNOW OR ICE PELLETS NOT FALLING AS SHOWER(S); DURIN G THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0024 02 FREEZING DRIZZEL OR FREEZING RAIN NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0025 02 SHOWER(S) OF RAIN; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0026 02 SHOWER(S) OF SNOW, OR OF RAIN AND SNOW; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0027 02 SHOWER(S) OF HAIL, OR OF RAIN AND HAIL; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0028 02 FOG OR ICE FOG; DURING THE PRECEDING HOUR BUT NOT AT THE TIM E OF OBSERVATION 0029 02 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION); DURING THE PRE CEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0030 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS DECREASED DURI NG THE PRECEDING HOURS 0031 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHA NGE DURING THE PRECEDING HOUR 0032 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS I NCEASED DURING THE PRECEDING HOUR 0033 02 SEVERE DUSTSTORM OR SANDSTORM HAS DECREASED DURING THE PREC EDING HOURS 0034 02 SEVERE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0035 02 SEVERE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS INCREASED DUR ING THE PRECEDING HOUR 0036 02 SLIGHT OR MODERATE DRIFTING SNOW GENERALLY LOW (BELOW EYE LE VEL) 0037 01 HEAVY DRIFTING SNOW GENERALY LOW (BELOW EYE LEVEL) 0038 02 SLIGHT OR MODERATE BLOWING SNOW GENERALLY HIGH (ABOVE EYE LE VEL) 0039 01 HEAVY BLOWING SNOW GENERALY HIGH (ABOVE EYE LEVEL) 0040 03 FOG OR ICE FOG AT A DISTANCE AT THE TIME OF OBSERVATION, BUT NOT AT THE STATION DURING THE PRECEDING HOUR, THE FOG OR IC E FOG EXTENDING TO A LEVEL ABOVE THAT OF THE OBSERVER 0041 01 FOG OR ICE FOG IN PATCHES 0042 02 FOG OR ICE FOG, SKY VISIBLE,HAS BECOME THINNER DURING THE PR ECEDING HOUR 0043 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BECOME THINNER DURING THE PRECEDING HOUR 0044 02 FOG OR ICE FOG, SKY VISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0045 02 FOG OR ICE FOG, SKY INVISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0046 02 FOG OR ICE FOG, SKY VISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0047 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0048 01 FOG, DEPOSITING RIME, SKY VISIBLE 0049 01 FOG, DEPOSITING RIME, SKY INVISIBLE 0050 02 DRIZZLE, NOT FREEZING, INTERMITTENT;SLIGHT AT TIME OF OBSERV ATION 0051 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;SLIGHT AT TIME OF OBSERV ATION 0052 02 DRIZZLE, NOT FREEZING, INTERMITTENT;MODERATE AT TIME OF OBSE RVATION 0053 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;MODERATE AT TIME OF OBSE RVATION 0054 02 DRIZZLE, NOT FREEZING, INTERMITTENT;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0055 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0056 01 DRIZZLE, FREEZING, SLIGHT 0057 01 DRIZZLE, FREEZING, MODERATE OR HEAVY (DENSE) 0058 01 DRIZZLE AND RAIN, SLIGHT 0059 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0060 01 RAIN,NOT FREEZING,INTERMITTENT;SLIGHT AT TIME OF OBSERVATION 0061 01 RAIN,NOT FREEZING,CONTINUOUS ;SLIGHT AT TIME OF OBSERVATION 0062 02 RAIN,NOT FREEZING,INTERMITTENT;MODERATE AT TIME OF OBSERVATI ON 0063 02 RAIN,NOT FREEZING,CONTINUOUS ;MODERATE AT TIME OF OBSERVATI ON 0064 02 RAIN, NOT FREEZING, INTERMITTENT;HEAVY AT TIME OF OBSERVATIO ON 0065 01 RAIN, NOT FREEZING, CONTINUOUS;HEAVY AT TIME OF OBSERVATION 0066 01 RAIN, FREEZING, SLIGHT 0067 01 RAIN, FREEZING, MODERATE OR HEAVY 0068 01 RAIN OR DRIZZLE AND SNOW, LIGHT 0069 01 RAIN OR DRIZZLE AND SNOW, MODERATE OR HEAVY 0070 02 INTERMITTENT FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0071 02 CONTINUOUS FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0072 02 INTERMITTENT FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0073 02 CONTINUOUS FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0074 02 INTERMITTENT FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0075 02 CONTINUOUS FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0076 01 DIAMOND DUST (WITH OR WITHOUT FOG) 0077 01 SNOW GRAINS (WITH OR WITHOUT FOG) 0078 01 ISOLATED STAR-LIKE SNOW CRYSTALS (WITH OR WITHOUT FOG) 0079 01 ICE PELLETS 0080 01 RAIN SHOWER(S), SLIGHT 0081 01 RAIN SHOWER(S), MODERATE OR HEAVY 0082 01 RAIN SHOWER(S), VIOLENT 0083 01 SHOWER(S) OF RAIN AND SNOW MIXED, SLIGHT 0084 01 SHOWER(S) OF RAIN AND SNOW MIXED, MODERATE OR HEAVY 0085 01 SNOW SHOWER(S), SLIGHT 0086 01 SNOW SHOWER(S), MODERATE OR HEAVY 0087 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, SLIGHT 0088 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, MODERATE OR HEAVY 0089 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, SLIGHT 0090 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, MODERATE OR HEAVY 0091 02 SLIGHT RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0092 02 MODERATE OR HEAVY RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0093 03 SLIGHT SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TIME OF OBSER VATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TI ME OF OBSERVATION 0094 03 MODERATE OR HEAVY SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TI ME OF OBSERVATION, THUNDERSTORM DURING PRECEDING HOUR BUT NO T AT TIME OF OBSERVATION 0095 03 THUNDERSTORM, SLIGHT OR MODERATE, WITHOUT HAIL, BUT WITH RAI N AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM DURING TH E PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0096 02 THUNDERSTORM, SLIGHT OR MODERATE,WITH HAIL AT TIME OF OBSERV ATION, THUNDERSTORM AT TIME OF OBSERVATION 0097 02 THUNDERSTORM, HEAVY, WITHOUT HAIL BUT WITH RAIN AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0098 02 THUNDERSTORM COMBINED WITH DUSTSTORM OR SANDSTORM AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0099 02 THUNDERSTORM, HEAVY, WITH HAIL AT TIME OF OBSERVATION, THUND ERSTORM AT TIME OF OBSERVATION 0100 01 NO SIGNIFICANT WEATHER OBSERVED 0101 02 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED DURIN G THE PAST HOUR 0102 01 STATE OF SKY ON THE WHOLE UNCHANGED DURING THE PAST HOUR 0103 01 CLOUDS GENERALLY FORMING OR DEVELOPING DURING THE PAST HOUR 0104 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY EQUAL TO, OR GREATER THAN 1KM 0105 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY LESS THAN 1KM 0110 01 MIST 0111 01 DIAMOND DUST 0112 01 DISTANT LIGHTING 0118 01 SQUALLS 0120 01 FOG 0121 01 PRECIPITATION 0122 01 DRIZZLE (NOT FREEZING) OR SNOW GRAINS 0123 01 RAIN (NOT FREEZING) 0124 01 SNOW 0125 01 FREEZING DRIZZLE OR FREEZING RAIN 0126 01 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION) 0127 01 BLOWING OR DRIFTING SNOW OR SAND 0128 02 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY EQUAL TO, OR GR ATER THAN, 1KM 0129 01 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY LESS THAN 1 KM 0130 01 FOG 0131 01 FOG OR ICE FOG, IN PATCHES 0132 01 FOG OR ICE FOG, HAS BECOME THINNER DURING PAST HOUR 0133 01 FOG OR ICE FOG, NO APPRECIABLE CHANGE DURING PAST HOUR 0134 01 FOG OR ICE FOG, HAS BECUNOR BECOME THICKER DURING PAST HOUR 0135 01 FOG, DEPOSITION RIME 0140 01 PRECIPITATION 0141 01 PRECIPITATION SLIGHT OR MODERATE 0142 01 PRECIPITATION, HEAVY 0143 01 LIQUID PRECIPITATION, SLIGHT OR MODERATE 0144 01 LIQUID PRECIPITATION, HEAVY 0145 01 SOLID PRECIPITATION, SLIGHT OR MODERATE 0146 01 SOLID PRECIPITATION, HEAVY 0147 01 FREEZING PRECIPITATION, SLIGHT OR MODERATE 0148 01 FREEZING PRECIPITATION, HEAVY 0150 01 DRIZZLE 0151 01 DRIZZLE, NOT FREEZING, SLIGHT 0152 01 DRIZZLE, NOT FREEZING, MODERATE 0153 01 DRIZZLE, NOT FREEZING, HEAVY 0154 01 DRIZZLE, FREEZING, SLIGHT 0155 01 DRIZZLE, FREEZING, MODERATE 0156 01 DRIZZLE, FREEZING, HEAVY 0157 01 DRIZZLE AND RAIN, SLIGHT 0158 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0160 01 RAIN 0161 01 RAIN, NOT FREEZING, SLIGHT 0162 01 RAIN, NOT FREEZING, MODERATE 0163 01 RAIN, NOT FREEZING, HEAVY 0164 01 RAIN, FREEZING, SLIGHT 0165 01 RAIN, FREEZING, MODERATE 0166 01 RAIN, FREEZING, HEAVY 0167 01 RAIN (OR DRIZZLE) AND SNOW, SLIGHT 0168 01 RAIN (OR DRIZZLE) AND SNOW, MODERATE AND HEAVY 0170 01 SNOW 0171 01 SNOW, SLIGHT 0172 01 SNOW, MODERATE 0173 01 SNOW, HEAVY 0174 01 ICE PELLETS, SLIGHT 0175 01 ICE PELLETS, MODERATE 0176 01 ICE PELLETS, HEAVY 0180 01 SHOWER(S) OR INTERMITTENT PRECIPITATION 0181 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, SLIGHT 0182 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, MODERATE 0183 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, HEAVY 0184 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, VIOLENT 0185 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, SLIGHT 0186 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, MODERATE 0187 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, HEAVY 0190 01 THUNDERSTORM 0191 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH NO PRECIPITATION 0192 02 THUNDERSTORM, SLIGHT OR MODERATE, WITH RAIN SHOWERS AND/OR S NOW SHOWERS 0193 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH HAIL 0194 01 THUNDERSTORM, HEAVY, WITH NO PRECIPITATION 0195 01 THUNDERSTORM, HEAVY, WITH RAIN SHOWERS AND/OR SNOW SHOWERS 0196 01 THUNDERSTORM, HEAVY, WITH HAIL 0204 01 VOLCANIC ASH SUSPENDED IN THE AIR ALOFT 0206 01 THICK DUST HAZE, VISIBILITY LESS THAN 1 KM 0207 01 BLOWING SPRAY AT THE STATION 0208 01 DRIFTING DUST (SAND) 0209 01 WALL OF DUST OR SAND IN DISTANCE (LIKE HABOOB) 0210 01 SNOW HAZE 0211 01 WHITEOUT 0213 01 LIGHTING, CLOUD TO SURFACE 0217 01 DRY THUNDERSTORM 0219 02 TORNADO CLOUD (DESTRUCTIVE AT OR WITHIN SIGHT OF THE STATION DURING PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0220 01 DEPOSITION OF VOLCANIC ASH 0221 01 DEPOSITION OF DUST OR SAND 0222 01 DEPOSITION OF DEW 0223 01 DEPOSITION OF WET SNOW 0224 01 DEPOSITION OF SOFT RIME 0225 01 DEPOSITION OF HARD RIME 0226 01 DEPOSITION OF HOAR FROST 0227 01 DEPOSITION OF GLAZE 0228 01 DEPOSITION OF ICE CRUST (ICE SLICK) 0230 01 DUSTSTORM OR SANDSTORM WITH TEMPERATURE BELOW 0 C DEGREES 0239 02 BLOWING SNOW, IMPOSSIBLE TO DETERMINE WHETHER SNOW IS FALLIN G OR NOT 0241 01 FOG ON SEA 0242 01 FOG IN VALLEYS 0243 01 ARCTIC OR ANTARCTIC SEA SMOKE 0244 01 STEAM FOG (SEA,LAKE OR RIVER) 0245 01 STEAM FOG (LAND) 0246 01 FOG OVER ICE OR SNOW COVER 0247 01 DENCE FOG VISIBILITY 60-90 M 0248 01 DENCE FOG VISIBILITY 30-60 M 0249 01 DENCE FOG VISIBILITY LESS THAN 30 M 0250 01 DRIZZLE, RATE OF FALL LESS THAN 0.10 MM/H 0251 01 DRIZZLE, RATE OF FALL 0.10 - .19 MM/H 0252 01 DRIZZLE, RATE OF FALL 0.20 - .39 MM/H 0253 01 DRIZZLE, RATE OF FALL 0.40 - .79 MM/H 0254 01 DRIZZLE, RATE OF FALL 0.80 - 1.59 MM/H 0255 01 DRIZZLE, RATE OF FALL 1.60 - 3.19 MM/H 0256 01 DRIZZLE, RATE OF FALL 3.20 - 6.39 MM/H 0257 01 DRIZZLE, RATE OF FALL 6.40 MM/H OR MORE 0259 01 DRIZZLE AND SNOW 0260 01 RAIN, RATE OF FALL LESS THAN 1.0 MM/H 0261 01 RAIN, RATE OF FALL 1.0 - 1.9 MM/H 0262 01 RAIN, RATE OF FALL 2.0 - 3.9 MM/H 0263 01 RAIN, RATE OF FALL 4.0 - 7.9 MM/H 0264 01 RAIN, RATE OF FALL 8.0 - 15.9 MM/H 0265 01 RAIN, RATE OF FALL 16.0 - 31.9 MM/H 0266 01 RAIN, RATE OF FALL 32.0 - 63.9 MM/H 0267 01 RAIN, RATE OF FALL 64.0 MM/H OR MORE 0270 01 SNOW, RATE OF FALL LESS THAN 1.0 CM/H 0271 01 SNOW, RATE OF FALL 1.0 - 1.9 CM/H 0272 01 SNOW, RATE OF FALL 2.0 - 3.9 CM/H 0273 01 SNOW, RATE OF FALL 4.0 - 7.9 CM/H 0274 01 SNOW, RATE OF FALL 8.0 - 15.9 CM/H 0275 01 SNOW, RATE OF FALL 16.0 - 31.9 CM/H 0276 01 SNOW, RATE OF FALL 32.0 - 63.9 CM/H 0277 01 SNOW, RATE OF FALL 64.0 CM/H OR MORE 0278 01 SNOW OR ICE CRISTAL PRECIPITATION FROM A CLEAR SKY 0279 01 WET SNOW, FREEZING ON CONTACT 0280 01 PRECIPITATION OF RAIN (WW= 87-99) 0281 01 PRECIPITATION OF RAIN,FREEZING (WW= 80-82) 0282 01 PRECIPITATION OF RAIN AND SNOW MIXED 0283 01 PRECIPITATION OF SNOW 0284 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL 0285 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN 0286 02 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN AND S NOW MIXED 0287 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH SNOW 0288 01 PRECIPITATION OF HAIL 0289 01 PRECIPITATION OF HAIL, WITH RAIN 0290 01 PRECIPITATION OF HAIL, WITH RAIN AND SNOW MIXED 0291 01 PRECIPITATION OF HAIL, WITH SNOW 0292 01 SHOWER(S) OR THUNDERSTORM OVER SEA 0293 01 SHOWER(S) OR THUNDERSTORM OVER MOUNTAINS 0508 02 NO SIGNIFICANT PHENOMENA TO REPORT, PRESENT AND PAST WEATHER OMITTED 0509 02 NOT OBSERVED, NO DATA AVAILABLE, PRESENT AND PAST WEATHER OM ITTED 0510 01 PRESENT AND PAST WEATHER MISSING, BUT EXPECTED 0511 01 MISSING VALUE 020004 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020005 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020008 0019 0000 01 SKY CLEAR 0001 01 FEW 0002 01 SCATTERED 0003 01 BROKEN 0004 01 OVERCAST 0005 01 RESERVED 0006 01 SCATTERED/BROKEN (MANY FORECASTS USE SCATTERED/BROKEN 0007 01 BROKEN/OVERCAST (BROKEN/OVERCAST FOLLOWED BY CLOUD TYPE(S)) 0008 02 ISOLATED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0009 02 ISOLATED EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE C LOUD TYPE CB) 0010 02 OCCASIONAL (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TY PE CB) 0011 02 OCCASIONAL EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0012 02 FREQUENT (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0013 02 DENSE (USED ON AVIATION CHARTS TO DESCRIBE CLOUD THAT WOULD CAUSE SUDDEN CHANGES IN VISIBILITY (LESS THAN 1000M) 0014 01 LAYERS 0015 01 OBSCURED (OBSC) 0016 01 EMBEDDED (EMBD) 0017 01 FREQUENT EMBEDDED 0031 01 MISSING VALUE 020009 0006 0000 01 RESERVED 0001 01 NSC MIL SIGNIFICANT CLOUD 0002 01 CAVOK 0003 01 SKC SKY CLEAR 0004 01 NSW NIL SIGNIFICANT WEATHER 0015 01 MISSING VALUE 020011 0011 0000 01 0 0 0001 01 1 OKTA OR LESS, BUT NOT ZERO 1/10 OR LESS, BUT NOT ZERO 0002 01 2 OKTAS 2/10 - 3/10 0003 01 3 OKTAS 4/10 0004 01 4 OKTAS 5/10 0005 01 5 OKTAS 6/10 0006 01 6 OKTAS 7/10 - 8/10 0007 01 7 OKTAS OR MORE,BUT NOT 8 OKTAS9/10 OR MORE, BUT NOT 10/10 0008 01 8 OKTAS 10/10 0009 01 SKY OBSCURED BY FOG AND OR OTHER METEOROLOGICAL PHENOMENA 0015 02 CLOUD COVE IS INDISCERNIBLE FOR REASONS OTHER THAN FOG OR OT HER METEOROLOGICAL PHENOMENA, OR OBSERVATION IS NOT MADE 020012 0045 0000 01 CIRRUS (CI)...............CI 0001 01 CIRROCUMULUS (CC).........CC 0002 01 CIRROSTRATUS (CS).........CS 0003 01 ALTOCUMULUS (AC).........AC 0004 01 ALTOSTRATUS (AS).........AS 0005 01 NIMBOSTRATUS (NS).........NS 0006 01 STRATOCUMULUS(SC).........SC 0007 01 STRATUS (ST).........ST 0008 01 CUMULUS (CU).........CU 0009 01 CUMULONIMBUS (CB).........CB 0010 01 NO CH CLOUDS 0011 02 CIRRUS FIBRATUS, SOMETIMES UNCINUS, NOT PROGRESSIVELY INADIN G THE SKY 0012 04 CIRRUS SPISSATUS, IN PATCHES OR ENTANGLED SHEAVES, WHICH USU ALLY DO NOT INCREASE AND SOMETIMES SEEM TO BE THE REMAINS OF THE UPPER PART OF A CUMULONIMBUS; OR CIRRUS CASTELLANUS OR FLOCCUS 0013 01 CIRRUS SPISSATUS CUMULONIMBOGENITUS 0014 02 CIRRUS UNCINUS OR FIBRATUS,OR BOTH, PROGRESSIVELY INVADING T HE SKY ; THEY GENERALLY THICKEN AS A WHOLE 0015 04 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL DOES NOT REACH 45 DEGREES ABOVE THE HORIZON 0016 05 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL EXTENDS MORE THAN 45 DEGR REES ABOVE THE HORIZON, WITHOUT THE SKY BEING TOTALLY COVERE D 0017 01 CIRROSTRATUS COVERING THE WHOLE SKY 0018 02 CIRROSTRATUS NOT PROGRESSIVELY INVADING THE SKY AND NOT ENTI RELY COVERING IT 0019 02 CIRROCUMULUS ALONE, OR CIRROCUMULUS PREDOMINANT AMONG THE CH CLOUDS 0020 01 NO CM CLOUDS 0021 01 ALTOSTRATUS TRANSLUCIDUS 0022 01 ALTOSTRATUS OPACUS OR NIMBOSTRATUS 0023 01 ALTOCUMULUS TRANSLUCIDUS AT A SINGLE LEVEL 0024 02 PATCHES (OFTEN LENTICULARIS) OF ALTOCUMULUS TRANSLUCIDUS, CO NTINUALLY CHANGING AND OCCURING AT ONE OR MORE LEVELS 0025 04 ALTOCUMULUS TRANSLUCIDUS IN BANDS, OR ONE OR MORE LAYERS OF ALTOCUMULUS TRANSLUCIDUS OR OPACUS, PROGRESSIVELY INVADING T HE SKY; THESE ALTOCUMULUS CLOUDS GENERALLY THICKEN AS A WHOL E 0026 01 ALTOCUMULUS CUMULOGENITUS (OR CUMULONIMBOGENITUS) 0027 04 ALTOCUMULUS TRANSLUCIDUS OR OPACUS IN TWO OR MORE LAYERS, OR ALTOCUMULUS OPACUS IN A SINGLE LAYER, NOT PROGRESSIVELY INV ADING THE SKY, OR ALTOCUMULUS WITH ALTOSTRATUS OR NIMBOSTRAT US 0028 01 ALTOCUMULUS CASTELLANUS OR FLOCUS 0029 01 ALTOCUMULUS OF CHAOTIC SKY, GENERALLY AT SEVERAL LEVELS 0030 01 NO CL CLOUDS 0031 02 CUMULUS HUMILIS OR CUMULUS FRACTUS OTHER THAN OF BAD WEATHER , OR BOTH 0032 03 CUMULUS MEDIOCRIS OR CONGESTUS, WITH OR WITHOUT CUMULUS OF S PECIES FRACTUS OR HUMULIS OR STRATOCUMULUS, ALL HAVING THEIR BASES AT THE SAME LEVEL 0033 02 CUMULONIMBUS CALVUS, WITH OR WITHOUT CUMULUS, STRATOCUMULUS OR STRATUS 0034 01 STRATOCUMULUS CUMULOGENITUS 0035 01 STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGENITUS 0036 02 STRATUS NEBULOSUS OR STRATUS FRACTUS OTHER THAN OF BAD WEATH ER, OR BOTH 0037 02 STRATUS FRACTUS OR CUMULUS FRACTUS OF BAD WEATHER, OR BOTH (PANNUS), USUALLY BELOW ALTOSTRATUS OR NIMBOSTRATUS 0038 02 CUMULUS AND STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGEN ITUS, WITH BASES AT DIFFERENT LEVELS 0039 03 CUMULONIMBUS CAPILLATUS (OFTEN WITH AN ANVIL), WITH OR WITHO UT CUMULONIMBUS CALVUS, CUMULUS, STRATOCUMULUS, STRATUS OR P ANNUS 0059 02 CLOUD NOT VISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDSTO RM, OR OTHER ANALOGOUS PHENOMENA 0060 03 CH CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0061 03 CM CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0062 02 CL CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA 0063 01 MISSING VALUE 020017 0011 0000 01 ISOLATED CLOUD OR FRAGMENTS OF CLOUD 0001 01 CONTINUOUS CLOUD 0002 01 BROKEN CLOUD - SMALL BREAKS, FLAT TOPS 0003 01 BROKEN CLOUD - LARGE BREAKS, FLAT TOPS 0004 01 CONTINUOUS CLOUD 0005 01 BROKEN CLOUD - SMALL BREAKS, UNDULATED TOPS 0006 01 BROKEN CLOUD - LARGE BREAKS, UNDULATED TOPS 0007 02 CONTINUOUS OR ALMOST CONTINUOUS WAVES WITH TOWERING CLOUDS A BOVE THE TOP OF THE LAYER 0008 02 GROUPS OF WAVES WITH TOWERING CLOUDS ABOVE THE TOP OF THE LA YER 0009 01 TWO OR MORE LAYERS AT DIFFERENT LEVELS 0015 01 MISSING VALUE 020018 0004 0000 01 INCREASING (U) 0001 01 DECREASING (D) 0002 01 NO DISTINCT CHANGE (N) 0003 01 MISSING VALUE 020021 0024 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 0030 01 ALL 30 MISSING VALUE 020022 0007 0000 01 NO PRECIPITATION 0001 01 CONTINUOUS 0002 01 INTERMITTENT 0003 01 SHOWER 0004 01 NOT REACHING GROUND 0005 01 DEPOSITION 0015 01 MISSING VALUE 020023 0012 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 0012 01 WATER-SPOUT 020024 0007 0000 01 NO PHENOMENA 0001 01 LIGHT 0002 01 MODERATE 0003 01 HEAVY 0004 01 VIOLENT 0005 01 SEVERE (VAL) 0007 01 MISSING VALUE 020025 0011 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 0021 01 ALL 21 MISSING VALUE 020026 0014 0000 01 NO CHANGE 0001 01 SHALLOW 0002 01 PATCHES 0003 01 PARTIAL 0004 01 FREEZING 0005 01 LOW DRIFTING 0006 01 BLOWING 0007 01 INCREASING 0008 01 DECREASING 0009 01 IN SUSPENSION IN THE AIR 0010 01 WALL 0011 01 DENSE 0012 01 WHITEOUT 0015 01 MISSING VALUE 020027 0007 0001 01 AT TIME OF OBSERVATION 0002 01 IN PAST HOUR 0003 01 IN TIME PERIOD FOR PAST WEATHER W1W2 0004 01 IN TIME PERIOD SPECIFIED 0006 01 BELOW STATION LEVEL 0007 01 AT THE STATION 0008 01 IN THE VICINITY 020029 0004 0000 01 NO RAIN 0001 01 RAIN 0002 01 RESERVED 0003 01 MISSING VALUE 020032 0006 0000 01 ICE NOT BUILDING UP 0001 01 ICE BUILDING UP SLOWLY 0002 01 ICE BUILDING UP QUICKLY 0003 01 ICE MELTING OR BREAKING UP SLOWLY 0004 01 ICE MELTING OR BREAKING UP RAPIDLY 0007 01 MISSING VALUE 020033 0004 0001 01 ICING FROM OCEAN SPRAY 0002 01 ICING FROM FOG 0003 01 ICING FROM RAIN 0004 01 MISSING VALUE 020034 0012 0000 01 NO SEA ICE IN SIGHT 0001 02 SHIP IN OPEN LEAD MORE THAN 1.0 NAUTICAL MILE WIDE, OR SHIP IN FAST ICE WITH BOUNDARY BEYOND LIMIT OF VISIBILITY 0002 04 SEA ICE PRESENT IN CONCETRATION LESS THAN 3/10 (3/8), OPEN W ATER OR VERY OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0003 03 4/10 TO 6/10 (3/8 TO LESS THAN 6/8) ,OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0004 03 7/10 TO 8/10 (6/8 TO LESS THAN 7/8), CLOSE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN IC E OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0005 04 9/10 OR MORE, BUT NOT 10/10 (7/8 TO LESS THAN 8/8), VERY CLO SE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVAT ION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDG E 0006 03 STRIPS AND PATCHES OF PACK ICE WITH OPEN WATER BETWEEN, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SH IP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0007 04 STRIPS AND PATCHES OF CLOSE OR VERY CLOSE PACK ICE WITH AREA S OF LESSER CONCENTRATION BETWEEN, SEA ICE CONCETRATION IS N OT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0. 5 NAUTICAL MILE OF ICE EDGE 0008 04 FAST ICE WITH OPEN WATER,VERY OPEN OR OPEN PACK ICE TO SEAWA RD OF THE ICE BOUNDARY, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0009 04 FAST ICE CLOSE OR VERY CLOSE PACK ICE TO SEAWARD OF THE ICE BOUNDARY, SEA ICE CONCETRATION IS NOT UNIFORM IN THE OBSERVA TION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE ED GE 0014 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY, O R BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0015 01 MISSING VALUE 020035 0012 0000 01 NO ICE OF LAND ORIGIN 0001 01 1-5 ICEBERGS, NO GROWLERS OR BERGY BITS 0002 01 6-10 ICEBERGS, NO GROWLERS OR BERGY BITS 0003 01 11-20 ICEBERGS, NO GROWLERS OR BERGY BITS 0004 01 UP TO AND INCLUDING 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0005 01 MORE THAN 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0006 01 1-5 ICEBERGS, WITH GROWLERS AND BERGY BITS 0007 01 6-10 ICEBERGS, WITH GROWLERS AND BERGY BITS 0008 01 11-20 ICEBERGS, WITH GROWLERS AND BERGY BITS 0009 02 MORE THAN 20 ICEBERGS,WITH GROWLERS AND BERGY BITS - A MAJOR HAZARD TO NAVIGATION 0014 02 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY SEA ICE IS VISIBLE 0015 01 MISSING VALUE 020036 0012 0000 01 SHIP IN OPEN WATER WITH FLOATING ICE IN SIGHT 0001 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS IMPROVING 0002 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS NOT CHANGING 0003 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS WORSENING 0004 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS IMPROVING 0005 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS NOT CHANGING 0006 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE FORMING AND FLOES FREEZING TOGETHAR 0007 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER SLIGHT PRESSURE 0008 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER MODERATE OR SEVERE PRESSURE 0009 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. SHIP BESET. 0030 01 UNABLE TO REPORT, BECAUSE OF DARKNESS OR LACK OF VISIBILITY 0031 01 MISSING VALUE 020037 0012 0000 01 NEW ICE ONLY (FRAZIL ICE, GREASE ICE, SLUSH, SHUGA) 0001 01 NILAS OR ICE RIND, LESS THAN 10 CM THICK 0002 01 YOUNG ICE(GREY ICE, GREY-WHITE ICE 0003 01 PREDOMINANTLY NEW AND/OR YOUNG ICE WITH SOME FIRST-YEAR ICE 0004 02 PREDOMINANTLY THIN FIRST-YEAR ICE WITH SOME NEW AND/OR YOUNG ICE 0005 01 ALL THIN FIRST-YEAR ICE (30-70 CM THICK) 0006 02 PREDOMINANTLY MEDIUM FIRST-YEAR ICE (70-120 CM THICK) AND THICK FIRST-YEAR ICE (>120 CM 0007 01 ALL MEDIUM AND THICK FIRST-YEAR ICE 0008 02 PREDOMINANTLY MEDIUM AND THICK FIRST-YEAR ICE WITH SOME OLD ICE (USUALLY MORE THAN 2 METRES THICK) 0009 01 PREDOMINANTLY OLD ICE 0030 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY ICE OF LAND ORIGIN IS VISIBLE OR BECAUSE SHIP I S MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0031 01 MISSING VALUE 020040 0009 0000 01 DRIFT SNOW ENDED BEFORE THE HOUR OF OBSERVATION 0001 01 INTENSITY DIMINISHING 0002 01 NO CHANGE 0003 01 INTENSITY INCREASING 0004 02 CONTINUES, APART FROM INTERRUPTION LASTING LESS THAN 30 MINU TES 0005 01 GENERAL DRIFT SNOW HAS BECOME DRIFT SNOW NEAR THE GROUND 0006 01 DRIFT SNOW NEAR THE GROUND HAS BECOME GENERAL DRIFT SNOW 0007 02 DRIFT SNOW HAS STARTED AGAIN AFTER AN INTERRUPTION OF MORE T HAN 30 MINUTES 0015 01 MISSING VALUE 020041 0011 0000 01 NO ICING 0001 01 LIGHT ICING 0002 01 LIGHT ICING IN CLOUD 0003 01 LIGHT ICING IN PRECIPITATION 0004 01 MODERATE ICING 0005 01 MODERATE ICING IN CLOUD 0006 01 MODERATE ICING IN PRECIPITATION 0007 01 SEVERE ICING 0008 01 SEVERE ICING IN CLOUD 0009 01 SEVERE ICING IN PRECIPITATION 0015 01 MISSING VALUE 020042 0004 0000 01 NO ICING 0001 01 ICING PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020045 0004 0000 01 NO SLD CONDITIONS PRESENT 0001 01 SLD CONDITIONS PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020050 0010 0000 01 RESERVED 0001 01 1ST LOW CLOUD 0002 01 2ND LOW CLOUD 0003 01 3RD LOW CLOUD 0004 01 1ST MEDIUM CLOUD 0005 01 2ND MEDIUM CLOUD 0006 01 3RD MEDIUM CLOUD 0007 01 1ST HIGH CLOUD 0008 01 2ND HIGH CLOUD 0255 01 MISSING VALUE 020055 0011 0000 01 CUMULUS, IF ANY, ARE QUITE SMALL 0001 01 CUMULUS OF INTERMEDIATE SIZE 0002 01 SWELLING CUMULUS 0003 01 SWELLING CUMULUS WITH TOWERS 0004 01 SWELLING CUMULUS WITH TOWERS HAVING PRONOUNCED TILT 0005 01 TALL CUMULUS CONGESTUS 0006 01 ISOLATED CUMULONIMBUS 0007 01 NUMEROUS CUMULONIMBUS 0008 01 CONTINUOUS DENSE MIDDLE CLOUDS 0009 01 CONTINUOUS SHEETS OF MIDDLE CLOUDS 0015 01 MISSING VALUE 020056 0005 0000 01 UNKNOWN 0001 01 WATER 0002 01 ICE 0003 01 MIXED 0007 01 MISSING VALUE 020062 0021 0000 02 SURFACE OF GROUND DRY (WITHOUT CRACKS AND NO APPRECIABLE AMOUNT OF DUST OR LOOSE SAND) 0001 01 SURFACE OF GROUND MOIST 0002 02 SURFACE OF GROUND WET (STANDING WATER IN SMALL OR LARGE POOLS ON SURFACE) 0003 01 FLOODED WITHOUT SNOW 0004 01 SURFACE OF GROUND FROZEN MEASURABLE ICE 0005 01 GLAZE ON GROUND COVER 0006 01 LOOSE DRY DUST OR SAND NOT COVERING GROUND COMPLETELY 0007 02 THIN COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLET ELY 0008 02 MODERATE OR THICK COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0009 01 EXTREMELY DRY WITH CRACKS 0010 01 GROUND PREDOMINANTLY COVERED BY ICE 0011 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING LESS THAN ONE-HALF OF THE GROUND 0012 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING AT LEAST ONE-HALF OF THE GROUND BUT GROUND NOT COMPLETELY COVERED 0013 01 EVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND COMPLETELY 0014 02 UNEVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND WITH SNOW OR COMPLETELY MEASURABLE ICE 0015 02 LOOSE DRY SNOW COVERING LESS THAN ONE-HALF OF THE GROUND COV ER 0016 02 LOOSE DRY SNOW COVERING AT LEAST ONE-HALF OF THE GROUND (BUT NOT COMPLETELY) 0017 01 EVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0018 01 UNEVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0019 01 SNOW COVERING GROUND COMPLETELY; DEEP DRIFTS 0031 01 MISSING VALUE 020063 0001 0000 01 TO BE DEVELOPED 020071 0011 0000 01 NO ASSESSMENT NO ASSESSMENT 0001 01 LESS THAN 50 KM LESS THAN 1 PER SECOND 0002 01 BETWEEN 50 AND 200 KM LESS THAN 1 PER SECOND 0003 01 MORE THAN 200 KM LESS THAN 1 PER SECOND 0004 01 LESS THAN 50 KM 1 OR MORE PER SECOND 0005 01 BETWEEN 50 AND 200 KM 1 OR MORE PER SECOND 0006 01 MORE THAN 200 KM 1 OR MORE PER SECOND 0007 02 LESS THANK 50 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0008 02 BETWEEN 50 AND 200 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0009 02 MORE THAN 200 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0015 01 MISSING VALUE 020086 0008 0000 01 CLEAR AND DRY 0001 01 DAMP 0005 01 WET SNOW 0006 01 SLUSH 0007 01 ICE 0008 01 COMPACTED OR ROLLED SNOW 0009 01 FROZEN RUTS OR RIDGES 0015 01 MISSING VALUE 020090 0007 0000 01 RESERVED 0001 01 NACREOUS CLOUDS 0002 01 NOCTILUCENT CLOUDS 0003 01 CLOUDS FROM WATERFALLS 0004 01 CLOUDS FROM FIRES 0005 01 CLOUDS FROM VULCANIC ERUPTIONS 0015 01 MISSING VALUE 020101 0010 0001 01 SCHISTOCERCA GREGARIA 0002 01 LOCUSTA MIGRATORIA 0003 01 NOMADACRIS SEPTEMFASCIATA 0004 01 OEDALEUS SENAGALENSIS 0005 01 ANRACRIDIUM SPP 0006 01 OTHER LOCUST 0007 01 OTHER GRASSHOPPERS 0008 01 ITHER CRICKETS 0009 01 SPODOPTERA EXEMPTA 0015 01 MISSING VALUE 020102 0011 0000 01 GREEN 0001 01 GREEN AND BLACK 0002 01 BLACK 0003 01 YELLOW AND BLACK 0004 01 STRAW/GREY 0005 01 PINK 0006 01 DARK RED/BROWN 0007 01 MIXED RED AND YELLOW 0008 01 YELLOW 0009 01 OTHER 0015 01 MISSING VALUE 020151 0003 0000 01 FIRST YEAR ICE 0001 01 MULTI YEAR ICE 0007 01 MISSING 020252 0003 0000 01 NO EDGE 0001 01 EDGE PRESENT 0007 01 MISSING 020253 0008 0000 01 LAND 0001 01 VEGETATION COVERED LAND 0002 01 RESERVED 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 MISSING 021066 0011 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLINH WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIC VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF IN-PHASE AND QUADRATURE OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION =< MMCC VALUE 021067 0012 0001 01 NO FOREBEAM CALCULATION 0002 01 NO MIDBEAM CALCULATION 0003 01 NO AFTBEAM CALCULATION 0004 01 FOREBEAM ARCING DETECTED 0005 01 MID ARCING DETECTED 0006 01 AFTBEAM ARCING DETECTED 0007 01 ANY BEAM NOISE CONTENT ABOVE OR EQUAL TO TRESHOLD 0008 01 LAND (ANY LAND IN CELL FOOTPRINT) 0009 01 AUTONOMOUS AMBIGUITY REMOVAL NOT USED 0010 01 METEOROLOGICAL BACKGROUND NOT USED 0011 01 MINIMUM RESIDUAL EXCEEDED TRESHOLD 0012 01 FRAME CHECKSUM ERROR DETECTED 021068 0007 0001 01 STANDARD DEVIATION OF WIND SPEED OUTSIDE MMCC LIMIT 0002 02 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT OUTSIDE MMCC L IMIT 0003 01 STANDARD DEVIATION OF ALTITUDE OUTSIDE MMCC LIMIT 0004 01 MEAN PEAKINESS OUTSIDE MMCC LIMIT 0005 01 FRAME CHECKSUM ERROR DETECTED 0006 01 HEIGHT-TIME LOOP TIME CONSTANT CORRECTION NOT PERFORMED 0007 01 NOT ENOUGH MEASUREMENTS ( N< 10) 021069 0009 0001 01 12.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0002 01 11.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0003 01 3.7 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0004 01 1.6 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0005 02 CLOUD IDENTIFICATION USED 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST 0006 02 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST USED DYNAMIC TRESHOLD 0007 01 SUN GLINT DETECTED BY 1.6 MICROMETERS REFLECTANCE CLOUD TEST 0008 01 3.7 MICROMETERS USED IN SEA-SURFACE TEMPERATURE RETRIEVAL 0009 02 SEA-SURFACE TEMPERATURE DERIVATION USED DAYTIME DATA (NIGHT-TIME IF ZERO) 021070 0024 0001 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0002 02 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMB ERING 0003 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0004 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0005 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0006 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0007 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0008 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0009 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0010 02 -18 DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL (ONE BIT PER 10-ARCMIN CELL) 0011 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0011 02 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMB ERING 0012 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0013 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0014 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0015 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0016 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0017 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0018 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0019 01 NADIR VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0020 01 FORWARD VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0021 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS ACQUIRED WHEN ERS PLATFORM NOT IN YAW-STEERING MODE 0022 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS FOR WHIC H PRODUCT CONFIDENCE DATA SHOW QUALITY IS POOR OR UNKNOWN 0023 01 MISSING VALUE 021072 0003 0001 02 HEIGHT ERROR CORRECTION APPLIED INSTEAD OF OPEN LOOP CALIBRA TION 0002 01 MICROWAVE SOUNDER USED FOR TROPOSPHERE CORRECTION 0003 02 AGC OUTPUT CORRECTION APPLIED INSTED OF OPEN LOOP CALIBRATIO N 021073 0008 0001 01 BLANK DATA RECORD 0002 01 TEST 0003 01 CALIBRATION (CLOSED LOOP) 0004 01 BITE 0005 01 ACQUISITION ON ICE 0006 01 ACQUISITION ON OCEAN 0007 01 TRACKING ON ICE 0008 01 TRACKING ON OCEAN 021076 0004 0000 01 LINEAR 0001 01 LOGARITHMIC (BASE E) 0002 01 LOGARITHMIC (BASE 10) 0007 01 MISSING VALUE 021109 0008 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA0- FOR WIND RETRIEVAL 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0017 01 MISSING VALUE 021115 0011 0001 01 SIGMA-0 MEASUREMENT IS NOT USABLE 0002 01 SIGNAL TO NOISE RATIO IS LOW 0003 01 SIGMA-0 IS NEGATIVE 0004 01 SIGMA-0 IS OUTSIDE OF ACCEPTABLE RANGE 0005 01 SCATTEROMETER PULSE QUALITY IS NOT ACCEPTABLE 0006 01 SIGMA-0 CELL LOCATION ALGORITHM DOES NOT CONVERGE 0007 01 FREQUENCY SHIFT LIES BEYOND THE RANGE OF THE X FACTOR TABLE 0008 02 SPACECRAFT TEMPERATURE IS BEYOND CALIBRATION COEFFICIENT RAN GE 0009 01 NO APPLICABLE ATTITUDE RECORDS WERE FOUND FOR THIS SIGMA-0 0010 02 INTERPOLATED EPHEMERIS DATA ARE NOT ACCEPTABLE FOR THIS SIGM A-0 0017 01 MISSING VALUE 021116 0016 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG (1) 0015 01 SLICES PER COMPOSITE FLAG (2) 0016 01 SLICES PER COMPOSITE FLAG (3) 021119 0014 0000 01 RESERVED 0001 01 SASS 0002 01 SASS2 0003 01 NSCAT0 0004 01 NSCAT1 0005 01 NSCAT2 0006 01 QSCAT0 0007 01 QSCAT1 0031 01 CMOD1 0032 01 CMOD2 0033 01 CMOD3 0034 01 CMOD4 0035 01 CMOD5 0064 01 MISSING VALUE 021144 0001 0001 01 RAIN 021150 0004 0000 01 DATA FROM SINGLE GROUND STATION (NO CO-LOCATION) 0001 01 DATA FROM MULTIPLE GROUND STATION (CO-LOCATED DATA) 0002 01 RESERVED 0003 01 MISSING VALUE 021155 0016 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA-0 FOR WIND RETRIEVAL 0003 01 ANY BEAM NOISE CONTENT ABOVE TRESHOLD 0004 01 PRODUCT MONITORING NOT USED 0005 01 PRODUCT MONITORING FLAG 0006 01 KNMI QUALITY CONTROL FAILS 0007 01 VARIATIONAL QUALITY CONTROL FAILS 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0013 01 RAIN FLAG FOR THE WIND VECTOR CELL IS NOT USABLE 0014 01 RAIN FLAG ALGORITHM DETECTS RAIN 0015 01 NO METEOROLOGICAL BACKGROUND USED 0016 01 DATA ARE REDUNDANT 021158 0004 0000 01 ACCEPTABLE 0001 01 NOT ACCEPTABLE 0002 01 RESERVED 0003 01 MISSING VALUE 021159 0004 0000 01 GOOD 0001 01 USABLE 0002 01 BAD 0003 01 MISSING VALUE 021169 0004 0000 01 NO ICE PRESENT 0001 01 ICE PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 021196 0012 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLING WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIED VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF I AND Q OUT OF RAN GE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VCALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION <= MMCC VALUE 0012 01 MISSING VALUE 021199 0007 0001 01 3.7 MICRO CHANNEL USED IN ASST DERIVATION 0002 01 ASST DERIVATION USED DATTIME DATA 0003 02 COMPARISON OF ASST AGAINST PREVIOUS EQUIVALENT PASS PERFORMED 0004 02 COMPARISON OF ASST AGAINST WEEKLY AVERAGE OF ASST PERFORMED 0005 01 0006 02 COMPARISON OF RATE OF CHANGE OF ASST AGAINST STATIC TRESHOLD PERFORMED 0007 01 MISSING VALUE 022056 0004 0000 01 UPWARDS PROFILE 0001 01 DOWNWARDS PROFILE 0002 01 HORIZONTAL 0003 01 MISSING VALUE 022060 0004 0000 01 DROGUE IS DETACHED 0001 01 DROGUE IS ATTACHED 0002 01 DROGUE STATUS UNKNOWN 0007 01 MISSING VALUE 022061 0011 0000 01 CALM (GLASSY) HEIGHT 0 M 0001 01 CALM (RIPPLED) HEIGHT 0 - 0.1 M 0002 01 SMOOTH (WAVELETS) HEIGHT 0.1 - 0.5 M 0003 01 SLIGHT HEIGHT 0.5 - 1.5 M 0004 01 MODERATE HEIGHT 1.25 - 2.5 M 0005 01 ROUGH HEIGHT 2.5 - 4 M 0006 01 VERY ROUGH HEIGHT 4 - 6 M 0007 01 HIGH HEIGHT 6 - 9 M 0008 01 VERY HIGH HEIGHT 9 -14 M 0009 01 PHENOMANAL HEIGHT OVER 14 M 0015 01 MISSING VALUE 022067 0001 0000 01 SEE COMMON CODE TABLE C3 022068 0001 0000 01 SEE COMMON CODE TABLE C4 022120 0013 0000 01 GOOD DATA 0001 01 MAXIMUM (HIGH) WATER LEVEL LIMIT EXCEEDED 0002 01 MINIMUM (LOW) WATER LEVEL LIMIT EXCEEDED 0003 01 RATE OF CHANGE LIMIT FOR WATER LEVEL EXCEEDED 0004 01 FLAT LIMIT FOR WATER LEVEL EXCEEDED 0005 01 OBSERVED MINUS PREDICTED WATER LEVEL VALUE LIMIT EXCEEDED 0006 02 OBSERVED VALUE FROM PRIMARY WATER LEVEL SENSOR MINUS BACKUP WATER LEVEL SENSOR 0007 01 VALUE EXCEEDED SPECIFIED TOLERANCE FROM EXPECTED VALUE 0008 02 WATER LEVEL QA PARAMETER (SIGMAS AND/OR OUTLIERS) LIMITS EXC EEDED 0009 01 SEA TEMPERATURE OUTSIDE OF EXPECTED RANGE 0010 01 MULTIPLE QC CHECKS (ABOVE) FAILED 0011 01 NO AUTOMATED WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022121 0009 0000 01 OPERATIONAL 0001 02 POSSIBLE CLOGGING PROBLEM OR OTHERWISE DEGRADED WATE LEVEL D ATA 0002 01 POSSIBLE DATUM SHIFT 0003 01 UNKNOWN STATUS OF WATER LEVEL SENSOR 0004 01 SUSPECTED OR KNOWN SEA TEMPERATURE SENSOR PROBLEM 0005 01 MULTIPLE POSSIBLE PROBLEMS (ABOVE) 0006 01 BAD DATA- DO NOT DISSEMINATE 0007 01 NO MANUAL WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022122 0008 0000 01 GOOD DATA FROM ALL SENSORS 0001 01 WIND DIRECTION OUTSIDE OF ALLOWABLE RANGE 0002 01 WIND SPEED OUTSIDE OF EXPECTED RANGE 0003 01 BAROMETRIC PRESSURE OUTSIDE OF EXPECTED RANGE 0004 01 AIR TEMPERATURE OUTSIDE OF EXPECTED RANGE 0005 01 MULTIPLE SENSOR FAILED QC CHECKS 0006 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022123 0009 0000 01 OPERATIONAL 0001 01 SUSPECTED OR KNOWN PROBLEM WITH WIND SENSOR 0002 01 SUSPECTED OR KNOWN PROBLEM WITH BAROMETRIC PRESSURE SENSOR 0003 01 SUSPECTED OR KNOWN PROBLEM WITH AIR TEMPERATURE SENSOR 0004 01 UNKNOWN STATUS OF ALL SENSORS 0005 01 SUSPECTED OR KNOWN PROBLEMS WITH MULTIPLE SENSORS 0006 01 BAD DATA - DO NOT DISSEMINATE 0007 01 NO MANUAL METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022252 0006 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MAGNOLIA CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 023001 0005 0000 01 RESERVED 0001 01 ARTICLES 1 AND 2 0002 01 ARTICLE 3 0003 01 ARTICLE 5.2 0007 01 MISSING VALUE 023002 0016 0000 01 RESERVED 0001 01 NUCLEAR REACTOR ON GROUND 0002 01 NUCLEAR REACTOR ON SEA 0003 01 NUCLEAR REACTOR IN SPACE 0004 01 NUCLEAR FULE FACILITY 0005 01 RADIOACTIVE WASTE MANAGMENT FACITILY 0006 01 TRANSPORT OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0007 01 STORAGE OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0008 01 MANUFACTURE OF RADIO-ISOTOPES 0009 01 USE OF RADIO-ISOTOPES 0010 01 STORAGE OF RADIO-ISOTOPES 0011 01 DISPOSAL OF RADIO-ISOTOPS 0012 01 TRANSPORT OF RADIO-ISOTOPES 0013 01 USE OF RADIO-ISOTOPES FOR POWER GENERATION 0030 01 OTHER 0031 01 MISSING VALUE 023003 0008 0000 01 NO RELEASE 0001 01 RELEASE TO ATMOSPHERE 0002 01 RELEASE TO WATER 0003 01 RELEASE TO BOTH ATMOSPHERE AND WATER 0004 01 EXPECTED RELEASE TO ATMOSPHERE 0005 01 EXPECTED RELEASE TO WATER 0006 01 EXPECTED RELEASE TO BOTH ATMOSPHERE AND WATER 0007 01 MISSING VALUE 023004 0006 0000 01 NO COUNTERMEASURE 0001 01 EVACUATION 0002 01 SHELTERING 0003 01 PROPHILAXIS 0004 01 WATER 0007 01 MISSING VALUE 023005 0004 0000 01 INCIDENT STAT DOES NOT UNDERSTAND WHAT HAPPENED 0001 01 INCIDENT STATE KNOWS THE CAUSE OF THE INCIDENT 0002 01 RESERVED 0003 01 MISSING VALUE 023006 0008 0000 01 NO IMPROVEMENT 0001 01 UNSTABLE 0002 01 NO DETERIORATION 0003 01 IMPROVING 0004 01 STABLE 0005 01 DETERIORATING 0006 01 RESERVED 0007 01 MISSING VALUE 023007 0005 0000 01 NO RELEASE 0001 01 RELEASE HAS STOPPED 0002 01 RELEASE 0003 01 RELEASE IS CONTINUING 0007 01 MISSING VALUE 023008 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023009 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023016 0004 0000 01 NO SIGNIFICANT TOXIC HEALTH EFFECT 0001 01 SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT POSSIBLE 0002 01 RESERVED 0003 01 MISSING VALUE 023018 0006 0000 01 RELEASE NO LONGER OCCURRING 0001 01 RELEASE STILL OCCURRING 0002 01 RELEASE EXPECTED TO INCREASE IN NEXT SIX HOURS 0003 01 RELEASE EXPECTED TO REMAIN CONSTANT IN NEXT SIX HOURS 0004 01 RELEASE EXPECTED TO DECREASE IN NEXT SIX HOURS 0007 01 MISSING VALUE 023031 0004 0000 01 PLUME WILL NOT ENCOUNTER RAIN IN INCIDENT STATE 0001 01 PLUME WILL ENCOUNTER RAIN IN INCIDENT STATE 0002 01 RESERVED 0003 01 MISSING VALUE 023032 0004 0000 01 NO SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0001 02 ANTICIPATED SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOUR S 0002 01 RESERVED 0003 01 MISSING VALUE 024003 0005 0000 01 NOBLE GASES 0001 01 IODINES 0002 01 CAESIUM 0003 01 TRANSURANICS 0031 01 MISSING VALUE 025004 0004 0000 01 INCOHERENT 0001 01 COHERENT (DOPPLER) 0002 01 RESERVED 0003 01 MISSING VALUE 025005 0004 0000 01 LOGATITHM - 2.5 DB 0001 01 LINEAR 0002 01 SPECIAL 0003 01 MISSING VALUE 025006 0005 0000 01 ZH TO R CONVERSION 0001 01 (ZH, ZDR) TO (NO.DO) TO R 0002 01 (Z(F1),Z(F2)) TO ATTENUATION TO R 0006 01 OTHER 0007 01 MISSING VALUE 025009 0004 0001 01 NONE 0002 01 CALIBRATION TARGET OR SIGNAL 0003 01 AGAINST RAINGAGES 0004 01 AGAINST OTHER INSTRUMENTS (DISTROMETER-ATTENUATION) 025010 0008 0000 01 NONE 0001 01 MAP 0002 01 INSERTION OF HIGHER ELEVATION DATA AND MAP 0003 01 ANALYSIS OF FLUCTUATING LOGARITHM SIGNAL (CLUTTER DETECTION) 0004 02 EXTRACTION OF FLUCTUATING PART OF LINEAR SIGNAL (CLUTTER SUP PRESSION) 0005 01 CLUTTER SUPPRESSION DOPPLER 0006 01 MULTIPARAMETER ANALYSIS 0015 01 MISSING VALUE 025011 0004 0000 01 NONE 0001 01 MAP OF CORRECTION FACTORS 0002 01 INTERPOLATION (AZIMUTH OR ELEVATION) 0003 01 MISSING VALUE 025012 0004 0000 01 HARDWARE 0001 01 SOFTWARE 0002 01 HARDWARE AND SOFTWARE 0003 01 MISSING VALUE 025013 0001 0001 01 BRIGHT BAND CORRECTION 025015 0001 0001 01 RADOME ATTENUATION CORRECTION 025017 0001 0001 01 PRECIPITATION ATTENUATION CORRECTION 025020 0004 0000 01 FTT (FAST FOURIER TRANSFORM 0001 01 PPP (PULSE PAIR PROCESSING 0002 01 VPC (VECTOR-PHASE CHANGE) 0003 01 MISSING VALUE 025021 0005 0001 01 SIMPLE AVERAGE 0002 01 CONSENSUS AVERAGE 0003 01 MEDIAN CHECK 0004 01 VERTICAL CONSISTENCY CHECK 0005 01 OTHER 025030 0004 0000 02 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE USAGE CRITERIA NOT MET 0001 02 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE DATA N OT AVAILABLE 0002 01 RUNNING MEAN SEA-SURFACE TEMPERATURE USED AS PREDICTOR 0003 01 MISSING VALUE 025032 0004 0000 01 RESERVED 0001 01 DATA FROM LOW MODE 0002 01 DATA FROM HIGH MODE 0003 01 MISSING VALUE 025033 0004 0000 01 WIND PROFILER OPERATING IN SUBMODE A 0001 01 WIND PROFILER OPERATING IN SUBMODE B 0002 01 RESERVED 0003 01 MISSING VALUE 025034 0003 0001 01 TEST A PERFORMED AND FAILED 0002 01 TEST B PERFORMED AND FAILED 0003 01 TEST RESULTS INCONCLUSIVE 025036 0004 0000 02 NETWORK OF SEVERAL DIRECTION-FINDERS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0001 02 NETWORK OF SEVERAL ARRIVAL-TIME STATIONS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0006 01 SINGLE STATION RANGE BEARING TECHNIQUE 0015 01 MISSING VALUE 025040 0010 0000 01 NON-SPECIFIC MODE 0001 01 FIRST GUESS DATA 0002 01 CLOUD DATA 0003 01 AVERAGE VECTOR DATA 0004 01 PRIMARY DATA 0005 01 GUESS DATA 0006 01 VECTOR DATA 0007 01 TRACER DATA; THE IMAGE 0008 01 TRACER DATA TO NEXT IMAGE 0015 01 MISSING VALUE 025041 0004 0000 01 DIRECTION ORIGINALLY REPORTED IN TRUE DEGREES 0001 01 DIRECTION ORIGINALLY REPORTED USING CODE TABLE 0700, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025042 0004 0000 01 SPEED ORIGINALLY REPORTED IN METERS PER SECOND 0001 01 SPEED ORIGINALLY REPORTED USING CODE TABLE 2251, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025045 0020 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 0016 01 CHANNEL 16 PRESENT - (SET TO 1 PRESENT) 0017 01 CHANNEL 17 PRESENT - (SET TO 1 PRESENT) 0018 01 CHANNEL 18 PRESENT - (SET TO 1 PRESENT) 0019 01 CHANNEL 19 PRESENT - (SET TO 1 PRESENT) 0020 01 CHANNEL 20 PRESENT - (SET TO 1 PRESENT) 025046 0004 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 025047 0003 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 025048 0015 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 025049 0005 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 025051 0006 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 025053 0006 0001 01 GOOD 0002 01 REDUNDANT 0003 01 QUESTIONABLE 0004 01 BAD 0005 01 EXPERIMENTAL 0006 01 PRECIPITATING 025069 0007 0001 01 SMOOTHED 0002 01 BASELINE ADJUSTED 0003 01 NORMALIZED TIME INTERVAL 0004 01 OUTLIER CHECKED 0005 01 PLAUSIBILITY CHECKED 0006 01 CONSISTENCY CHECKED 0007 01 INTERPOLATED 025086 0004 0000 01 DEPTHS ARE NOT CORRECTED 0001 01 DEPTHS ARE CORRECTED 0002 01 RESERVED 0003 01 MISSING VALUE 025093 0003 0001 01 NO CORRECTION 0002 01 VERTICAL VELOCITY CORRECTION 0007 01 ALL CORRECTIONS 025095 0001 0001 02 ALTIMETER OPERATING (SET TO 0 IF NOMINAL, SET TO BACKUP) 025096 0004 0001 01 MODE INDICATOR (0 IF MODE 2, 1 IF MODE 1) 0002 03 MODE 1 CALIBRATION SEQUENCE INDICATOR (0 IF NORMAL DATA TAKI NG EITHER MODE 1 OR 2, 1 IF MODE 1 CALIBRATION SEQUENCE) BIT S 3 AND 4 INDICATE ACTIVE 23.8 GHZ CHANNEL 0003 01 CHANNEL 2 (0 IF ON, 1 IF OFF) 0004 01 CHANNEL 3 (0 IF ON, 1 IF OFF) 025097 0011 0000 01 RANGES BETWEEN 0 AND 30 CM 0001 01 RANGES BETWEEN 30 AND 60 CM 0002 01 RANGES BETWEEN 60 AND 90 CM 0003 01 RANGES BETWEEN 90 AND 120 CM 0004 01 RANGES BETWEEN 120 AND 150 CM 0005 01 RANGES BETWEEN 150 AND 180 CM 0006 01 RANGES BETWEEN 180 AND 210 CM 0007 01 RANGES BETWEEN 210 AND 240 CM 0008 01 RANGES BETWEEN 240 AND 270 CM 0009 01 RANGES LARGER THAN 270 CM 0015 01 MISSING VALUE 025098 0008 0001 01 KU BAND RANGE 0002 01 C BAND RANGE 0003 01 KU BAND SWH 0004 01 C BAND SWH 0005 01 KU BAND SCATTEROMETER COEFFICIENT 0006 01 C BAND SCATTEROMETER COEFFICIENT 0007 01 OFF NADIR ANGLE FROM KU BAND WVEFORM PARAMETERS 0008 01 OFF NADIR FROM PLATFORM 025099 0006 0001 01 KU BAND RANGE INSTRUMENTAL CORRECTION 0002 01 C BAND RANGE INSTRUMENTAL CORRECTION 0003 01 KU BAND SWH INSTRUMENTAL CORRECTION 0004 01 C BAND SWH INSTRUMENTAL CORRECTION 0005 01 KU BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 0006 01 C BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 025110 0006 0001 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING DEFAULT PARAMETERS 0002 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING RAW DATA ANALYSIS RESULTS 0003 01 ANTENNA ELEVATION PATTERN CORRECTION APPLIED 0004 01 NOMINAL CHIRP REPLICA USED 0005 01 RECONSTRUCTED CHIRP USED 0006 01 SLANT RANGE TO GROUND RANGE CONVERSION APPLIED 025120 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025122 0004 0000 01 HARDWARE CONFIGURATION FOR RF IS A 0001 01 HARDWARE CONFIGURATION FOR RF IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025123 0004 0000 01 HARDWARE CONFIGURATION FOR HPA IS A 0001 01 HARDWARE CONFIGURATION FOR HPA IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025124 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025144 0013 0001 01 PIXEL IS AFFECTED BY RFI EFFECTS 0002 02 PIXEL IS LOCATED IN THE HEXAGONAL ALIAS DIRECTION CENTRED ON SUN ALIAS 0003 02 PIXEL IS CLOSE TO THE BORDER DELIMITING THE EXTENDED ALIAS F REE ZONE 0004 01 PIXEL IS INSIDE THE EXTENDED ALIAS FREE ZONE 0005 01 PIXEL IS INSIDE THE EXCLUSIVE OF ALIAS FREE ZONE 0006 02 PIXEL IS LOCATED IN ZONE WHERE A MOON ALIAS WAS RECONSTRUCTE D 0007 02 PIXEL IS LOCATED IN ZONE WHERE SUN REFLECTION HAS BEEN DETEC TED 0008 01 PIXEL IS LOCATED IN ZONE WHERE SUN ALIAS WAS RECONSTRUCTED 0009 02 FLAT TARGET TRANSFORMATION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0010 03 SCENE HAS BEEN COMBINED WITH AN ADJUSTMENT SCENE IN OPOSITE POLARISATION DURING IMAGE RECONSTRUCTION TO ACCOUNT FOR CROS S-POLARISATION LEAKAGE 0011 02 DIRECT MOON CORRECTION HAS BENN PERFORMED DURING IMAGE RECON STRUCTION OF THIS PIXEL 0012 02 REFLECTED SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION IF THIS PIXEL 0013 02 DIRECT SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS IMAGE 026010 0025 0001 01 0100 INCLUDED 0002 01 0200 INCLUDED 0003 01 0300 INCLUDED 0004 01 0400 INCLUDED 0005 01 0500 INCLUDED 0006 01 0600 INCLUDED 0007 01 0700 INCLUDED 0008 01 0800 INCLUDED 0009 01 0900 INCLUDED 0010 01 1000 INCLUDED 0011 01 1100 INCLUDED 0012 01 1200 INCLUDED 0013 01 1300 INCLUDED 0014 01 1400 INCLUDED 0015 01 1500 INCLUDED 0016 01 1600 INCLUDED 0017 01 1700 INCLUDED 0018 01 1800 INCLUDED 0019 01 1900 INCLUDED 0020 01 2000 INCLUDED 0021 01 2100 INCLUDED 0022 01 2200 INCLUDED 0023 01 2300 INCLUDED 0024 01 2400 INCLUDED 0025 01 UNKNOWN MIXTURE OF HOURS 029001 0006 0000 01 GNOMONIC PROJECTION 0001 01 POLAR STEREOGRAPHIC PROJECTION 0002 01 LAMBERT'S CONFORMAL CONIC PROJECTION 0003 01 MERCATOR'S PROJECTION 0004 01 SCANNING CONE (RADAR) 0007 01 MISSING VALUE 029002 0004 0000 01 CARTESIAN 0001 01 POLAR 0002 01 OTHER 0007 01 MISSING VALUE 030031 0013 0000 01 PPI 0001 01 COMPOSITE 0002 01 CAPPI 0003 01 VERTICAL SECTION 0004 01 ALPHANUMERIC DATA 0005 01 MAP OF SUBJECT CLUTTER 0006 01 MAP 0007 01 TEST PICTURE 0008 01 COMMENTS 0009 01 MAP OF GROUND OCCULTATION 0010 01 MAP OF RADAR BEAM HEIGHT 0014 01 OTHER 0015 01 MISSING VALUE 030032 0009 0001 01 MAP 0002 01 SATELLITE IR 0003 01 SATELLITE VIS 0004 01 SATELLITE WV 0005 01 SATELLITE MULTISPECTRAL 0006 01 SYNOPTIC OBSERVATIONS 0007 01 FORECAST PARAMETERS 0008 01 LIGHTNING DATA 0015 01 OTHER DATA 031021 0004 0001 01 1 BIT INDICATOR OF QUALITY, 0= GOOD; 1=SUSPECT OR BAD 0002 02 2 BIT INDICATOR OF QUALITY, 0= GOOD; 1= SLIGHTLY SUSPECTED; 2= HIGHLY SUSPECTED; 3=BAD 0007 01 PERCENTAGE CONFIDENCE 0063 01 MISSING VALUE 031031 0001 0001 01 DATA NOT PRESENT 033002 0004 0000 01 DATA NOT SUSPECT 0001 01 DATA SUSPECT 0002 01 RESERVED 0003 01 MISSING VALUE 033003 0005 0000 01 DATA NOT SUSPECT 0001 01 DATA SLIGHTLY SUSPECT 0002 01 DATA HIGHTLY SUSPECT 0003 01 DATA CONSIDERED UNFIT FOR USE 0007 01 MISSING VALUE 033005 0023 0001 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0002 01 PRESSURE DATA SUSPECT 0003 01 WIND DATA SUSPECT 0004 01 DRY-BULB TEMPERATURE DATA SUSPECT 0005 01 WET-BULB TEMPERATURE DATA SUSPECT 0006 01 HUMIDITY DATA SUSPECT 0007 01 GROUND TEMPERATURE DATA SUSPECT 0008 01 SOIL TEMPERATURE (DEPTH 1) DATA SUSPECT 0009 01 SOIL TEMPERATURE (DEPTH 2) DATA SUSPECT 0010 01 SOIL TEMPERATURE (DEPTH 3) DATA SUSPECT 0011 01 SOIL TEMPERATURE (DEPTH 4) DATA SUSPECT 0012 01 SOIL TEMPERATURE (DEPTH 5) DATA SUSPECT 0013 01 CLOUD DATA SUSPECT 0014 01 VISIBILITY DATA SUSPECT 0015 01 PRESENT WEATHER DATA SUSPECT 0016 01 LIGHTNING DATA SUSPECT 0017 01 ICE DEPOSIT DATA SUSPECT 0018 01 PRECIPITATION DATA SUSPECT 0019 01 STATE OF GROUND DATA SUSPECT 0020 01 SNOW DATA SUSPECT 0021 01 WATER CONTENT DATA SUSPECT 0022 01 EVAPORATION/EVAPOTRANSPIRATION DATA SUSPECT 0023 01 SUNSHINE DATA SUSPECT 033006 0005 0000 01 SELF-CHECK OK 0001 01 AT LEAST ONE WARNING ACTIVE, NO ALARMS 0002 01 AT LEAST ONE ALARM ACTIVE 0003 01 SENSOR FAILURE 0007 01 MISSING VALUE 033015 0016 0000 01 PASSED ALL CHECKS 0001 01 MISSING-DATA CHECK 0002 01 DESCENDING/REASCENDING BALLOON CHECK 0003 01 DATA PLAUSIBILITY CHECK (ABOVE LIMITS) 0004 01 DATA PLAUSIBILITY CHECK (BELOW LIMITS) 0005 01 SUPERADIABATIC LAPSE RATE CHECK 0006 01 LIMITING ANGLES CHECK 0007 01 ASCENSION RATE CHECK 0008 01 EXCESSIVE CHANGE FROM PREVIOUS FLIGHT 0009 01 BALLOON OVERHEAD CHECK 0010 01 WIND SPEED CHECK 0011 01 WIND DIRECTION CHECK 0012 01 DEPENDENCY CHECK 0013 01 DATA VALID BUT MODIFIED 0014 01 DATA OUTLIER CHECK 0063 01 MISSING DATA 033020 0008 0000 01 GOOD 0001 01 INCONSISTENT 0002 01 DOUBTFUL 0003 01 WRONG 0004 01 NOT CHECKED 0005 01 HAS BEEN CHECKED 0006 01 RESERVED 0007 01 MISSING VALUE 033021 0004 0000 01 WITHIN LIMITS 0001 01 OUTSIDE LIMITS 0002 01 RESERVED 0003 01 MISSING VALUE 033022 0004 0000 01 GOOD (SEVERAL IDENTICAL REPORTS HAVE BEEN RECEIVED) 0001 01 DUBIOUS (NO IDENTICAL REPORT HAVE BEEN RECEIVED) 0002 01 RESERVED 0003 01 MISSING VALUE 033023 0004 0000 01 RELIABLE (LOCATION WAS MADE OVER TWO SATELLITE PASSES) 0001 01 LATEST KNOWN (NO LOCATION OVER CORRESPONDING PASS) 0002 01 DUBIOUS 0003 01 MISSING VALUE 033024 0010 0000 01 RESERVED 0001 01 EXELLENT - WITHIN 3 METRES 0002 01 GOOD - WITHIN 10 METRES 0003 01 FAIR - WITHIN 20 METRES 0004 01 POOR - MORE THAN 20 METRES 0005 01 EXELLENT -WITHIN 10 FEET 0006 01 GOOD WITHIN-30 FEET 0007 01 FAIR WITHIN 60 FEET 0008 01 POOR - MORE THAN 60 FEET 0015 01 MISSING VALUE 033025 0005 0000 01 TIME INTERPOLATED, LATITUDE AND LONGITUDE REPORTED 0001 01 TIME REPORTED, LATITUDE AND LONGITUDE INTERPOLATED 0002 01 TIME, LATITUDE AND LONGITUDE INTERPOLATED 0003 01 TIME, LATITUDE AND LONGITUDE REPORTED 0007 01 MISSING VALUE 033026 0010 0000 01 NORMAL OPERATIONS - MEASUREMENT MODE 0001 01 NORMAL OPERATIONS - NON-MEASUREMENT MODE 0002 01 SMALL RH 0003 01 HUMIDITY ELEMENT IS WET 0004 01 HUMIDITY ELEMENT IS CONTAMINATED 0005 01 HEATER FAIL 0006 01 HEATER FAIL AND WET/CONTAMINATED HUMIDITY ELEMENT 0007 01 SINGLE VALIDITY BAD 0008 01 NUMERIC ERROR 0063 01 MISSING VALUE 033027 0005 0000 01 RADIUS >= 1500 M 0001 01 500 M <= RADIUS < 1500 M 0002 01 250 M <= RADIUS < 500 M 0003 01 RADIUS < 250 M 0007 01 MISSING VALUE 033028 0006 0000 01 RESERVED 0001 01 NOMINAL 0002 01 DEGRADED BY SW ERROR; ANY ERROR REPORTED BY THE ALGORITHMS 0003 01 DEGRADED BY INSTRUMENT ERROR 0004 01 DEGRADED BY CORRUPTED/MISSING ADF 0007 01 MISSING 033030 0007 0001 01 DO NOT USE SCAN FOR PRODUCT GENERATION 0002 01 TIME SEQUENCE ERROR DETECTED WITH THIS SCAN 0003 01 DATA GAP PRECEDES THIS SCAN 0004 01 NO CALIBRATION 0005 01 NO EARTH LOCATION 0006 01 FIRST GOOD TIME FOLLOWING A CLOCK UPDATE 0007 01 INSTRUMENT STATUS CHANGED WITH THIS SCAN 033031 0021 0001 02 TIME FIELD IS BAD BUT CAN PROBABLY BE INFERRED FROM THE PREV IOUS GOOD TIME 0002 02 TIME FIELD IS BAD AND CANÂ~@~YT BE INFERRED FROM THE PREVIOU S GOOD TIME 0003 04 THIS RECORD STARTS A SEQUENCE THAT IS INCONSISTENT WITH PREV IOUS TIMES (I.E. THERE IS A TIME DISCONTINUITY). THIS MAY OR MAY NOT BE ASSOCIATED WITH A SPACECRAFT CLOCK UPDATE (SEE S CAN LINE STATUS FLAGS FOR ATOVS) 0004 02 START OF A SEQUENCE THAT APPARENTLY REPEATS SCAN TIMES THAT HAVE BEEN PREVIOUSLY ACCEPTED 0005 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD TIME 0006 03 SCAN LINE WAS CALIBRATED USING FEWER THAN THE PREFERRED NUMB ER OF SCAN LINES BECAUSE OF PROXIMATY TO START OR END OF DAT A OR TO A DATA GAP 0007 02 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD OR INSUFFICIENT PRT DATA 0008 01 SCAN LINE WAS CALIBRATED BUT WITH MARGINAL PRT DATA 0009 01 SOME UNCALIBRATED CHANNELS ON THIS SCAN 0010 01 UNCALIBRATED DUE TO INSTRUMENT MODE 0011 02 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR O F SPACE VIEW 0012 02 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR O F BLACK BODY 0013 01 NOT EARTH LOCATED BECAUSE OF BAD TIME 0014 03 EARTH LOCATION QUESTIONABLE BECAUSE OF QUESTIONABLE TIME CODE (SEE TIME PROBLEM CODE BITS) 0015 02 EARTH LOCATION QUESTIONABLE - ONLY MARGINAL AGREEMENT WITH REASONABLENESS CHECK 0016 01 EARTH LOCATION QUESTIONABLE - FAILS REASONABLENESS CHECK 0017 02 EARTH LOCATION QUESTIONABLE BECAUSE OF ANTENNA POSITION CHEC K 0018 01 SCAN LINE CALIBRATION COLD BLACK BODY 0019 01 SCAN LINE CALIBRATION WARM BLACK BODY 0020 01 SCAN LINE CALIBRATION SPACE VIEW 0021 01 EARTH VIEW 033032 0006 0001 01 NO GOOD BLACKBODY COUNTS FOR SCAN LINE 0002 01 NO GOOD SPACE VIEW COUNTS FOR THIS LINE 0003 01 NO GOOD PRTS FOR THIS LINE 0004 01 SOME BAD BLACKBODY VIEW COUNTS FOR THIS LINE 0005 01 SOME BAD SPACE VIEW COUNTS FOR THIS LINE 0006 01 SOME BAD PRT TEMPS ON THIS LINE 033033 0023 0001 01 SET IF SECONDARY CALIBRATION USED 0002 02 BRIGHTNESS TEMPERATURE IN CHANNEL 1 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0003 02 BRIGHTNESS TEMPERATURE IN CHANNEL 2 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0004 02 BRIGHTNESS TEMPERATURE IN CHANNEL 3 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0005 02 BRIGHTNESS TEMPERATURE IN CHANNEL 4 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0006 02 BRIGHTNESS TEMPERATURE IN CHANNEL 5 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0007 02 BRIGHTNESS TEMPERATURE IN CHANNEL 6 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0008 02 BRIGHTNESS TEMPERATURE IN CHANNEL 7 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0009 02 BRIGHTNESS TEMPERATURE IN CHANNEL 8 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0010 02 BRIGHTNESS TEMPERATURE IN CHANNEL 9 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0011 02 BRIGHTNESS TEMPERATURE IN CHANNEL 10 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0012 02 BRIGHTNESS TEMPERATURE IN CHANNEL 11 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0013 02 BRIGHTNESS TEMPERATURE IN CHANNEL 12 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0014 02 BRIGHTNESS TEMPERATURE IN CHANNEL 13 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0015 02 BRIGHTNESS TEMPERATURE IN CHANNEL 14 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0016 02 BRIGHTNESS TEMPERATURE IN CHANNEL 15 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0017 02 BRIGHTNESS TEMPERATURE IN CHANNEL 16 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0018 02 BRIGHTNESS TEMPERATURE IN CHANNEL 17 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0019 02 BRIGHTNESS TEMPERATURE IN CHANNEL 18 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0020 02 BRIGHTNESS TEMPERATURE IN CHANNEL 19 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0021 02 BRIGHTNESS TEMPERATURE IN CHANNEL 20 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0022 01 SET IF ALL CHANNELS ARE MISSING 0023 01 SUSPECT 033035 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PA SSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DE LETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FA ILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE -INSERTED 0006 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND N OT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033037 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 033038 0009 0001 01 TOTAL ZENITH DELAY QUALITY IS CONSIDERED POOR 0002 01 GALILEO SATELLITES USED 0003 01 GLONASS SATELLITES USED 0004 01 GPS SATELLITES USED 0005 01 METEOROLOGICAL DATA APPLIED 0006 01 ATMOSPHERIC LOADING CORRECTION APPLIED 0007 01 OCEAN TIDE LOADING APPLIED 0008 01 CLIMATE QUALITY DATA PROCESSING 0009 01 NEAR-REAL TIME DATA PROCESSING 033039 0009 0001 01 NON-NOMINAL QUALITY 0002 01 OFFLINE PRODUCT 0003 01 ASCENDING OCCULTATION FLAG 0004 01 EXCESS PHASE PROCESSING NON-NOMINAL 0005 01 BENDING ANGLE PROCESSING NON-NOMINAL 0006 01 REFRACTIVITY PROCESSING NON-NOMINAL 0007 01 METEOROLOGICAL PROCESSING NON-NOMINAL 0014 01 BACKGROUND PROFILE NON-NOMINAL 0015 01 BACKGROUND (I.E. NOT RETRIEVED) PROFILE PRESENT 033041 0004 0000 01 THE FOLLOWING VALUE IS THE TRUE VALUE 0001 02 THE FOLLOWING VALUE IS HIGHER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE LOWER LIMIT OF THE INSTRUMENT) 0002 02 THE FOLLOWING VALUE IS LOWER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE HIGHER LIMIT OF THE INSTRUMENT) 0003 01 MISSING VALUE 033042 0005 0000 01 EXCLUSIVE LOWER LIMIT (>) 0001 01 INCLUSIVE LOWER LIMIT (>=) 0002 01 EXCLUSIVE UPPER LIMIT (<) 0003 01 INCLUSIVE UPPER LIMIT (=<) 0007 01 MISSING VALUE 033043 0004 0001 02 SEA MDS. NADIR ONLY SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED 0002 02 SEA MDS. DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED. 0003 01 NADIR VIEW CONTAINS DAY TIME DATA 0004 01 FORWARD VIEW CONTAINS DAY TIME DATA 033044 0014 0001 01 INPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0002 01 INPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0003 01 NUMBER OF INPUT DATA GAPS > THRESHOLD VALUE 0004 01 PERCENTAGE OF MISSING LINES > THRESHOLD VALUE 0005 02 DOPPLER CENTROID UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VA LUE 0006 02 DOPPLER AMBIGUITY ESTIMATE UNCERTAIN. CONFIDENCE MEASURE < S PECIFIC VALUE 0007 01 OUTPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0008 01 OUTPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0009 01 CHIRP RECONSTRUCTION FAILED OR IS OF LOW QUALITY FLAG 0010 01 DATA SET MISSING 0011 01 INVALID DOWNLINK PARAMETERS 0012 02 AZIMUTH CUT-OFF ITERATION COUNT. THE AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0013 02 AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0014 03 PHASE INFORMATION CONFIDENCE MEASURE. THE IMAGINARY SPECTRAL PEAK IS LESS THAN A MINIMUM THRESHOLD, OR THE ZERO LAG SHIFT IS GREATER THAN A MINIMUM THRESHOLD 033047 0026 0001 01 ERROR DETECTED AND ATTEMPTS TO RECOVER MADE 0002 01 ANOMALY IN ON-BOARD DATA HANDLING (OBDH) VALUE DETECTED 0003 02 ANOMALY IN ULTRA STABLE OSCILLATOR PROCESSING (USOP) VALUE D ETECTED 0004 01 ERRORS DETECTED BY ON-BOARD COMPUTER 0005 01 AUTOMATIC GAIN CONTROL (AGC) OUT OF RANGE 0006 01 RX DELAY FAULT. RX DISTANCE OUT OF RANGE 0007 01 WAVE FORM SAMPLES FAULT IDENTIFIER. ERROR 0012 01 BRIGHTNESS TEMPERATURE (CHANNEL 1) OUT OF RANGE 0013 01 BRIGHTNESS TEMPERATURE (CHANNEL 2) OUT OF RANGE 0014 01 RESERVED 0015 01 KU OCEAN RETRACKING ERROR 0016 01 S OCEAN RETRACKING ERROR 0017 01 KU ICE 1 RETRACKING ERROR 0018 01 S ICE 1 RETRACKING ERROR 0019 01 KU ICE 2 RETRACKING ERROR 0020 01 S ICE 2 RETRACKING ERROR 0021 01 KU SEA ICE RETRACKING ERROR 0022 01 ARITHMETIC FAULT ERROR 0023 01 METEO DATA STATE. NO MAP 0024 01 METEO DATA STATE. 1 MAP 0025 01 METEO DATA STATE 2 MAPS DEGRADED 0026 01 METEO DATA STATE 2 MAPS NOMINAL 0027 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, SEVERAL ERRORS 0028 02 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, WARNING DETECT ED 0029 02 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, SEVERAL ERR ORS 0030 02 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, WARNING DET ECTED 033048 0004 0000 01 INVERSION SUCCESSFUL 0001 01 INVERSION NOT SUCCESSFUL 0002 01 RESERVED 0003 01 MISSING VALUE 033049 0004 0000 01 EXTERNAL WIND DIRECTION USED DURING INVERSION 0001 01 EXTERNAL WIND DIRECTION NOT USED DURING INVERSION 0002 01 RESERVED 0003 01 MISSING VALUE 033050 0008 0000 01 UNQUALIFIED 0001 01 CORRECT VALUE (ALL CHECKS PASSED) 0002 02 PROBABLY GOOD BUT VALUE INCONSISTENT WITH STATISTICS (DIFFER FROM CLIMATOLOGY) 0003 01 PROBABLY BAD (SPIKE, GRADIENT, Â~E IF OTHER TESTS PASSED) 0004 02 BAD VALUE, IMPOSSIBLE VALUE (OUT OF SCALE, VERTICAL INSTABILITY, CONSTANT PROFILE) 0005 01 VALUE MODIFIED DURING QUALITY CONTROL 0008 01 INTERPOLATED VALUE 0015 01 MISSING VALUE 033052 0020 0001 01 DATA BLOCK 1 INVALID (S BAND) 0002 01 DATA BLOCK 2 INVALID (S BAND) 0003 01 DATA BLOCK 3 INVALID (S BAND) 0004 01 DATA BLOCK 4 INVALID (S BAND) 0005 01 DATA BLOCK 5 INVALID (S BAND) 0006 01 DATA BLOCK 6 INVALID (S BAND) 0007 01 DATA BLOCK 7 INVALID (S BAND) 0008 01 DATA BLOCK 8 INVALID (S BAND) 0009 01 DATA BLOCK 9 INVALID (S BAND) 0010 01 DATA BLOCK 10 INVALID (S BAND) 0011 01 DATA BLOCK 11 INVALID (S BAND) 0012 01 DATA BLOCK 12 INVALID (S BAND) 0013 01 DATA BLOCK 13 INVALID (S BAND) 0014 01 DATA BLOCK 14 INVALID (S BAND) 0015 01 DATA BLOCK 15 INVALID (S BAND) 0016 01 DATA BLOCK 16 INVALID (S BAND) 0017 01 DATA BLOCK 17 INVALID (S BAND) 0018 01 DATA BLOCK 18 INVALID (S BAND) 0019 01 DATA BLOCK 19 INVALID (S BAND) 0020 01 DATA BLOCK 20 INVALID (S BAND) 033053 0020 0001 01 DATA BLOCK 1 INVALID (KU BAND) 0002 01 DATA BLOCK 2 INVALID (KU BAND) 0003 01 DATA BLOCK 3 INVALID (KU BAND) 0004 01 DATA BLOCK 4 INVALID (KU BAND) 0005 01 DATA BLOCK 5 INVALID (KU BAND) 0006 01 DATA BLOCK 6 INVALID (KU BAND) 0007 01 DATA BLOCK 7 INVALID (KU BAND) 0008 01 DATA BLOCK 8 INVALID (KU BAND) 0009 01 DATA BLOCK 9 INVALID (KU BAND) 0010 01 DATA BLOCK 10 INVALID (KU BAND) 0011 01 DATA BLOCK 11 INVALID (KU BAND) 0012 01 DATA BLOCK 12 INVALID (KU BAND) 0013 01 DATA BLOCK 13 INVALID (KU BAND) 0014 01 DATA BLOCK 14 INVALID (KU BAND) 0015 01 DATA BLOCK 15 INVALID (KU BAND) 0016 01 DATA BLOCK 16 INVALID (KU BAND) 0017 01 DATA BLOCK 17 INVALID (KU BAND) 0018 01 DATA BLOCK 18 INVALID (KU BAND) 0019 01 DATA BLOCK 19 INVALID (KU BAND) 0020 01 DATA BLOCK 20 INVALID (KU BAND) 033060 0004 0000 01 PARAMETER=GOOD 0001 01 PARAMETER=BAD 0002 01 PARAMETER=RESERVED 0003 01 MISSING 033195 0004 0000 01 DEALIASING NOT USED 0001 01 DEALIASING USED 0002 01 RESERVED 0003 01 MISSING 033205 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033206 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033207 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033208 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033209 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033220 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 REPORT REJECTED THROUGH THE NAMELIST 0017 01 MODEL SUR. TOO FAR FROM STAT. ALT. 0018 01 MISSING STATION ALTITUDE 0019 01 REPORT OVER SEA 0020 01 REPORT OVER LAND 0021 01 REDUNDANT REPORT 0022 01 TIME OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 HORIZONTAL POSITION OUT OF RANGE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 BAD REPORTING PRACTICE 0029 01 ALL DATA REJECTED 0030 01 NO DATA IN THE REPORT 033221 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033222 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033223 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033224 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033225 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033226 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033227 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033228 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033229 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 THINNED REPORT 033230 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033232 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 BLACKLISTED DUE TO DISTANCE FROM REF. POINT 0015 01 BLACKLISTED DUE TO MODEL OROGRAPHY 0016 01 BLACKLISTED DUE TO LAND/SEA MASK 0017 01 STATION ALTITUDE BLACKLISTED 0018 01 LONGITUDE BLACKLISTED 0019 01 LATITUDE BLACKLISTED 0020 01 TIME BLACKLISTED 0021 01 DATE BLACKLISTED 0022 01 INSTRUMENT TYPE BLACKLISTED 0023 01 CODE TYPE BLACKLISTED 0024 01 STATION ID BLACKLISTED 0025 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0026 01 BLACKLISTED DUE TO OBSERVED VALUE 0027 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE NAME BLACKLISTED 0030 01 MONTHLY MONITORING 033233 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 REPORT BLACK LISTED 0028 01 REPORT REJECTED 0029 01 REPORT PASSIVE 0030 01 REPORT ACTIVE 033234 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 DATUM BLACK LISTED 0028 01 DATUM REJECTED 0029 01 DATUM PASSIVE 0030 01 DATUM ACTIVE 033236 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 DATUM REJECTED DUE TO REJECTED REPORT 0006 01 COMBINED FLAGGING 0007 01 DATUM REJECTED DUE TO NAMELIST 0008 01 VERTICAL COORDINATE CHANGE FROM Z TO P 0009 01 VERTICAL CONSISTENCY CHECK 0010 01 LEVEL SELECTION 0011 01 MULTI LEVEL CHECK 0012 01 TOO MANY SURFACE DATA/LEVELS 0013 01 DUPLICATED DATUM/LEVEL 0014 01 NOT AN ANALYSIS VARIABLE 0015 01 REPORT OVER SEA 0016 01 REPORT OVER LAND 0017 01 REDUNDANT LEVEL 0018 01 REDUNDANT DATUM 0019 01 TOO BIG OBSERVATION ERROR 0020 01 TOO BIG DEPARTURE IN ASSIMILATION 0021 01 TOO BIG FIRST GUESS DEPARTURE 0022 01 REFERENCE LEVEL POSITION OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 BAD REPORTING PRACTICE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 MISSING FIRST GUESS VALUE 0029 01 MISSING OBSERVED VALUE 0030 01 MISSING VERTICAL COORDINATE 033237 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033238 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033239 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033240 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033243 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033244 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033245 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 LAYER FORMED BY SUMMING UP 0029 01 LAYER FORMED BY THINNING UP 0030 01 NOT PREDEFINED LAYER 033246 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033247 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033248 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033249 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0025 01 BLACKLISTED DUE TO OBSERVED VALUE 0026 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0027 01 BLACKLISTED DUE TO DISTANCE FROM REFERENCE POINT 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE BLACKLISTED 0030 01 PRESSURE BLACKLISTED 033252 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PA SSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DE LETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FA ILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE -INSERTED 0006 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND N OT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND M ANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033254 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 035000 0011 0011 01 000-099 INTERNATIONAL FM CODES 0001 01 100-199 RA I CODES 0002 01 200-299 RA II CODES 0003 01 300-399 RA III CODES 0004 01 400-499 RA IV CODES 0005 01 500-599 RA V CODES 0006 01 600-699 RA VI CODES 0007 01 700-799 ANTARCTIC CODES 0008 01 800-999 RESERVED 0009 01 1000-1022 NOT USED 1023 01 MISSING VALUE 035001 0004 0000 01 REAL TIME 0001 01 NEAR-REAL TIME 0002 01 NON-REAL TIME 0007 01 MISSING VALUE 035030 0010 0000 01 NO DISCREPANCIES 0001 02 NON-COMPLIANCE WITH STANDARD AND RECOMMENDED PRACTICES AND PROCEDURES INCLUDINGTHOSE OF MONITORING 0002 02 CATALOGUES OF METEOROLOGICAL BULLETINS NOT UPDATED IN A TIME LY MANNER 0003 01 INCORRECT ROUTEING DIRECTORIES 0004 01 LACK OF FLEXIBILITY IN THE ROUTEING ARRANGEMENTS 0005 01 DEFICIENCIES IN THE OPERATION OF GTS CENTRES AND CIRCUITS 0006 01 LOSS OF DATA OR DELAYS IN RELAYING DATA ON THE GTS 0007 02 ROUTEING OF DATA DIFFERENT FROM THE ROUTEING PROVIDED IN THE PLAN 0008 01 VARIOUS MALPRACTICES 0015 01 MISSING VALUE 035031 0020 0001 01 SUFFICIENT AND ALL OF ACCEPTABLE QUALITY 0002 01 SUFFICIENT BUT PARTLY OF ACCEPTABLE QUALITY 0003 01 INSUFFICIENT BUT ALL OF ACCEPTABLE QUALITY 0004 01 INSUFFICIENT AND OF UNACCEPTABLE QUALITY 0005 01 SOME MESSAGES NOT COMPLETE 0006 02 SUSPECT OR WRONGLY CODED GROUPS COULD NOT BE INTERPRETED CON FIDENTLY 0007 01 GROSS CODING ERRORS 0008 01 TRANSMISSION SEQUENTIAL ORDER NOT OBSERVED 0009 01 REPORT COMPLETELY GARBLED AND THUS DISCARDED 0010 01 DEFICIENCIES IDENTIFIED AND RECTIFIED 0011 01 DEFICIENCIES IDENTIFIED BUT NOT RECTIFIED 0012 01 DEFICIENCIES NOT IDENTIFIED 0013 01 MEASURING ERRORS 0014 01 MUTUAL INCONSISTENCY 0015 01 TEMPORAL INCONSISTENCY 0016 01 FORECAST ERROR 0017 01 BIAS 0018 01 IMPROVE SYSTEM OF QUALITY CONTROL 0019 01 EXPAND TRAINING PROGRAMMES 0123 01 MISSING VALUE 035032 0010 0001 01 DATA GROUPS MISSING DUE TO RADIO FADING 0002 01 DATA GROUPS MISSING DUE TO OUTAGE OF CENTRE 0003 01 DATA GROUPS MISSING DUE TO OUTAGE OF CIRCUIT 0004 01 NON-IMPLEMENTATION OR MAINTENANCE OF REQUIRED RBSN DENSITY 0005 01 SHORTAGE OF QUALIFIED STAFF TO MAN STATIONS 0006 01 LACK OF CONSUMABLES 0007 01 INSTRUMENT FAILURE 0008 01 NON-ADHERENCE TO TELECOMMUNICATION PROCEDURES 0009 01 SOME OBSERVING PROGRAMMES CEASED 0015 01 MISSING VALUE 035033 0012 0001 01 NO DEFICIENCY 0002 01 OBSERVATIONS NOT MADE REGULARLY 0003 01 OBSERVATIONS NOT MADE AT RIGHT TIME 0004 01 OBSERVATIONS MADE BUT NOT DISSEMINATED 0005 01 OBSERVATIONS MADE AND SENT TO INCORRECT USERS 0006 01 COLLECTION NOT RECEIVED 0007 01 COLLECTION TRANSMITTED LATE 0008 01 COLLECTION NOT TRANSMITTED 0009 02 DIFFICULTIES IN HF PROPAGATION AND SELECTION OF SUITABLE FRE QUENCY 0010 02 DIFFICULTIES IN MAINTENANCE OF COMMUNICATION EQUIPMENT AT RE MOTE STATIONS 0011 02 NO ALTERNATIVE ARRANGEMENT FOR ROUTEING METEOROLOGICAL OBSER VATION 0123 01 MISSING VALUE 035034 0007 0001 01 SLIGHT IMPROVEMENT 0002 01 SIGNIFICANT IMPROVEMENT 0003 01 MOST SIGNIFICANT IMPROVEMENT 0004 01 STEADY 0005 01 DECREASING 0006 01 EFFORTS REQUIRED TO IMPROVE NIGHT-TIME OBSERVATIONS 0007 01 MISSING VALUE 033035 0016 0000 01 RESERVED 0001 01 BALLOON BURST 0002 01 BALLOON FORCED DOWN BY ICING 0003 01 LEAKING OR FLOATING BALLOON 0004 01 WEAK OR FADING SIGNAL 0005 01 BATTERY FAILURE 0006 01 GROUND EQUIPMENT FAILURE 0007 01 SIGNAL INTERFERENCE 0008 01 RADIOSONDE FAILURE 0009 01 EXCESSIVE MISSING DATA FRAMES 0010 01 RESERVED 0011 01 EXCESSIVE MISSING TEMPERATURE 0012 01 EXCESSIVE MISSING PRESSURE 0013 01 USER TERMINATED 0030 01 OTHER 0031 01 MISSING VALUE 040011 0004 0001 01 MEAN SEA SURFACE (MSS) INTERPOLATION FLAG 0002 02 OCEAN TIDE SOLUTION 1 INTERPOLATION FLAG (0= 4 POINTS OVER O CEAN, 1=LESS THAN 4 POINTS) 0003 02 OCEAN TIDE SOLUTION 2 INTERPOLATION FLAG (0= 4 POINTS OVER O CEAN, 1=LESS THAN 4 POINTS) 0004 02 METEOROLOGICAL DATA INTERPOLATION FLAG (0= 4 POINTS OVER OCE AN, 1=LESS THAN 4 POINTS) 040012 0003 0001 01 18.7 GHZ BRIGHTNESS TEMPERATURE 0002 01 23.8 GHZ BRIGHTNESS TEMPERATURE 0003 01 34 GHZ BRIGHTNESS TEMPERATURE 040013 0005 0000 01 INTERPOLATION WITH NO GAP BETWEEN JMR DATA 0001 01 INTERPOLATION WITH GAP BETWEEN JMR DATA 0002 01 EXTRAOLATION OF JMR DATA 0003 01 FAILURE OF EXTRAPOLATION AND INTERPOLATION 0007 01 MISSING VALUE 049194 0014 0001 01 PASSED QUALITY CONTROL 0002 01 OUTSIDE TIME WINDOW 0003 01 ABOVE LAND 0004 01 OUTSIDE ENTIRE GRID 0005 01 WAVE HEIGHT OUT OF RANGE 0006 01 TOO HIGH ALONG TRACK JUMP 0007 01 TOO SHORT ALONG TRACK JUMP 0008 01 TOO HIGH ALONG TRACK VARIANCE 0009 01 OUTSIDE CONFIDENCE LIMIT 0010 01 DOUBLE OBSERVATION 0011 01 PEAKINESS ABOVE THRESHOLD 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED 049193 0014 0001 01 EXELLENT (COST LESS THAN 0.1) 0002 01 GOOD (COST LESS THAN 0.5) 0003 01 QUESTIONABLE (COST LARGER THAN 0.5) 0004 01 RESULTS UNTABLE 0005 01 OBSERVED SAR SPECTRUM REJECTED 0006 01 WAM FIRST GUESS REJECTED 0007 01 SIMULATED SAR REJECTED 0008 01 NO AZIMUTH CUT-OFF ADJUSTMENT 0009 01 RESERVED 0010 01 RESERVED 0011 01 RESERVED 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED emoslib-000392+dfsg.1/bufrtables/links.sh0000755000175000017500000001027612127406245021274 0ustar amckinstryamckinstry#!/bin/sh ln -fs B0000000000098013001.TXT B0000000000099010001.TXT ln -fs C0000000000098013001.TXT C0000000000099010001.TXT ln -fs D0000000000098013001.TXT D0000000000099010001.TXT ln -fs B0000000000098013001.TXT B0000000000089011255.TXT ln -fs C0000000000098013001.TXT C0000000000089011255.TXT ln -fs D0000000000098013001.TXT D0000000000089011255.TXT ln -fs B0000000000098013001.TXT B0000000000078011007.TXT ln -fs C0000000000098013001.TXT C0000000000078011007.TXT ln -fs D0000000000098013001.TXT D0000000000078011007.TXT ln -fs B0000000000098013001.TXT B0000000000089012001.TXT ln -fs C0000000000098013001.TXT C0000000000089012001.TXT ln -fs D0000000000098013001.TXT D0000000000089012001.TXT ln -fs B0000000000098013001.TXT B0000000000078011008.TXT ln -fs C0000000000098013001.TXT C0000000000078011008.TXT ln -fs D0000000000098013001.TXT D0000000000078011008.TXT ln -fs B0000000000098013001.TXT B0000000000034011001.TXT ln -fs C0000000000098013001.TXT C0000000000034011001.TXT ln -fs D0000000000098013001.TXT D0000000000034011001.TXT ln -fs B0000000000098013001.TXT B0000000000254010001.TXT ln -fs C0000000000098013001.TXT C0000000000254010001.TXT ln -fs D0000000000098013001.TXT D0000000000254010001.TXT ln -fs B0000000000098013001.TXT B0000000000000007000.TXT ln -fs C0000000000098013001.TXT C0000000000000007000.TXT ln -fs D0000000000098013001.TXT D0000000000000007000.TXT ln -fs B0000000000098013001.TXT B0000000000000008000.TXT ln -fs C0000000000098013001.TXT C0000000000000008000.TXT ln -fs D0000000000098013001.TXT D0000000000000008000.TXT ln -fs B0000000000098013001.TXT B0000000000000009000.TXT ln -fs C0000000000098013001.TXT C0000000000000009000.TXT ln -fs D0000000000098013001.TXT D0000000000000009000.TXT ln -fs B0000000000098013001.TXT B0000000000000010000.TXT ln -fs C0000000000098013001.TXT C0000000000000010000.TXT ln -fs D0000000000098013001.TXT D0000000000000010000.TXT ln -fs B0000000000098013001.TXT B0000000000000011000.TXT ln -fs C0000000000098013001.TXT C0000000000000011000.TXT ln -fs D0000000000098013001.TXT D0000000000000011000.TXT ln -fs B0000000000098013001.TXT B0000000000000012000.TXT ln -fs C0000000000098013001.TXT C0000000000000012000.TXT ln -fs D0000000000098013001.TXT D0000000000000012000.TXT ln -fs B0000000000098013001.TXT B0000000000000013000.TXT ln -fs C0000000000098013001.TXT C0000000000000013000.TXT ln -fs D0000000000098013001.TXT D0000000000000013000.TXT ln -fs B0000000000098013001.TXT B0000000000098012001.TXT ln -fs C0000000000098013001.TXT C0000000000098012001.TXT ln -fs D0000000000098013001.TXT D0000000000098012001.TXT ln -fs B0000000000098013001.TXT B0000000000098012000.TXT ln -fs C0000000000098013001.TXT C0000000000098012000.TXT ln -fs D0000000000098013001.TXT D0000000000098012000.TXT ln -fs B0000000000098013001.TXT B0000000000098011001.TXT ln -fs C0000000000098013001.TXT C0000000000098011001.TXT ln -fs D0000000000098013001.TXT D0000000000098011001.TXT ln -fs B0000000000098013001.TXT B0000000000098011000.TXT ln -fs C0000000000098013001.TXT C0000000000098011000.TXT ln -fs D0000000000098013001.TXT D0000000000098011000.TXT ln -fs B0000000000098013001.TXT B0000000000098010001.TXT ln -fs C0000000000098013001.TXT C0000000000098010001.TXT ln -fs D0000000000098013001.TXT D0000000000098010001.TXT ln -fs B0000000000098013001.TXT B0000000000098009001.TXT ln -fs C0000000000098013001.TXT C0000000000098009001.TXT ln -fs D0000000000098013001.TXT D0000000000098009001.TXT ln -fs B0000000000098013001.TXT B0000000000098008001.TXT ln -fs C0000000000098013001.TXT C0000000000098008001.TXT ln -fs D0000000000098013001.TXT D0000000000098008001.TXT ln -fs B0000000000098013001.TXT B0000000000098007001.TXT ln -fs C0000000000098013001.TXT C0000000000098007001.TXT ln -fs D0000000000098013001.TXT D0000000000098007001.TXT ln -fs B0000000000098013001.TXT B0000000000034013001.TXT ln -fs C0000000000098013001.TXT C0000000000034013001.TXT ln -fs D0000000000098013001.TXT D0000000000034013001.TXT ln -fs B0000000000098013001.TXT B0000000000059003003.TXT ln -fs C0000000000098013001.TXT C0000000000059003003.TXT ln -fs D0000000000098013001.TXT D0000000000059003003.TXT ln -fs B0000000000098014001.TXT B0000000000000014000.TXT ln -fs C0000000000098014001.TXT C0000000000000014000.TXT ln -fs D0000000000098014001.TXT D0000000000000014000.TXT emoslib-000392+dfsg.1/bufrtables/C0000000000098013001.TXT0000755000175000017500000103045512127406245022253 0ustar amckinstryamckinstry001003 0008 0000 01 ATARCTICA 0001 01 REGION I 0002 01 REGION II 0003 01 REGION III 0004 01 REGION IV 0005 01 REGION V 0006 01 REGION VI 0007 01 MISSING VALUE 001007 0132 0001 01 ERS 1 0002 01 ERS 2 0003 01 METOP-1 0004 01 METOP-2 0005 01 METOP-3 0020 01 SPOT1 0021 01 SPOT2 0022 01 SPOT3 0023 01 SPOT4 0040 01 OERSTED 0041 01 CHAMP 0042 01 TERRASAR-X 0050 01 METEOSAT 3 0051 01 METEOSAT 4 0052 01 METEOSAT 5 0053 01 METEOSAT 6 0054 01 METEOSAT 7 0055 01 METEOSAT 8 0056 01 METEOSAT 9 0057 01 METEOSAT 10 0058 01 METEOSAT 1 0059 01 METEOSAT 2 0060 01 ENVISAT 0070 01 METEOSAT 11 0120 01 ADEOS 0121 01 ADEOS II 0150 01 GMS 3 0151 01 GMS 4 0152 01 GMS 5 0171 01 MTSAT-1R 0172 01 MTSAT-2 0200 01 NOAA 8 0201 01 NOAA 9 0202 01 NOAA 10 0203 01 NOAA 11 0204 01 NOAA 12 0205 01 NOAA 14 0206 01 NOAA 15 0207 01 NOAA 16 0208 01 NOAA 17 0209 01 NOAA 18 0220 01 LANDSAT 5 0221 01 LANDSAT 4 0222 01 LANDSAT 7 0240 01 DMSP 7 0241 01 DMSP 8 0242 01 DMSP 9 0243 01 DMSP 10 0244 01 DMSP 11 0245 01 DMSP 12 0246 01 DMSP 13 0247 01 DMSP 14 0248 01 DMSP 15 0249 01 DMSP 16 0250 01 GOES 6 0251 01 GOES 7 0252 01 GOES 8 0253 01 GOES 9 0254 01 GOES 10 0255 01 GOES 11 0256 01 GOES 12 0257 01 GOES 13 0258 01 GOES 14 0259 01 GOES 15 0260 01 JASON-1 0261 01 JASON-2 0281 01 QUIKSCAT 0282 01 TRMM 0283 01 CORIOLIS 0285 01 DMSP17 0310 01 GOMS 1 0311 01 GOMS 2 0320 01 METEOR 2-21 0321 01 METEOR 3-5 0322 01 METEOR 3M-1 0323 01 METEOR 3M-2 0341 01 RESURS 01-4 0430 01 INSAT 1B 0431 01 INSAT 1C 0432 01 INSAT 1D 0450 01 INSAT 2A 0451 01 INSAT 2B 0452 01 INSAT 2E 0470 01 INSAT 3A 0471 01 INSAT 3D 0472 01 INSAT 3E 0500 01 FY-1C 0501 01 FY-1D 0510 01 FY-2 0512 01 FY-2B 0513 01 FY-2C 0514 01 FY-2D 0700 01 TIROS M (ITOS 1) 0701 01 NOAA 1 0702 01 NOAA 2 0703 01 NOAA 3 0704 01 NOAA 4 0705 01 NOAA 5 0706 01 NOAA 6 0707 01 NOAA 7 0708 01 TIROS-N 0710 01 GOES (SMS 1) 0711 01 GOES (SMS 2) 0720 01 TOPEX 0721 01 GFO (GEOSAT FOLLOW ON) 0722 01 GRACE A 0723 01 GRACE B 0731 01 GOES 1 0732 01 GOES 2 0733 01 GOES 3 0734 01 GOES 4 0735 01 GOES 5 0740 01 COSMIC-1 0741 01 COSMIC-2 0742 01 COSMIC-3 0743 01 COSMIC-4 0744 01 COSMIC-5 0745 01 COSMIC-6 0763 01 NIMBUS 3 0764 01 NIMBUS 4 0765 01 NIMBUS 5 0766 01 NIMBUS 6 0767 01 NIMBUS 7 0780 01 ERBS 0781 01 UARS 0782 01 EARTH PROBE 0783 01 TERRA 0784 01 AQUA 0785 01 AURA 0800 01 SUNSAT 0820 01 SAC-C 1023 01 MISSIN VALUE 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001031 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001033 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 001035 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001090 0005 0000 01 LAF (LAGGED-AVERAGE FORECASTING) 0001 01 BREEDING 0002 01 SINGULAR VECTOR 0003 01 MULTIPLE ANALYSIS CYCLE 0255 01 MISSING VALUE 001092 0005 0000 01 UNPERTURBED HIGH-RESOLUTION CONTROL FORECAST 0001 01 UNPERTURBED LOW-RESOLUTION CONTROL FORECAST 0002 01 NEGATIVELY PERTURBED FORECAST 0003 01 POSITIVELY PERTURBED FORECAST 0255 01 MISSING VALUE 002001 0004 0000 01 AUTOMATIC STATION 0001 01 MANNED STATION 0002 01 HYBRID, BOTH MANNED AND AUTOMATIC 0003 01 MISSING VALUE 002002 0004 0000 01 MEASURED IN M S-1 UNLESS OTHERWISE INDICATED 0001 01 CERTIFIED INSTRUMENTS 0002 01 ORIGINALY MEASURED IN KNOTS 0003 01 ORIGINALY MEASURED IN KM/H 002003 0012 0000 01 PRESSURE INSTRUMENT ASSOCIATED WITH WIND-MEASURING EQUIPMENT 0001 01 OPTICAL THEODOLITE 0002 01 RADIO THEODOLITE 0003 01 RADAR 0004 01 VLF-OMEGA 0005 01 LORAN C 0006 01 WIND PROFILER 0007 01 SATELLITE NAVIGATION 0008 01 RADIO-ACOUSTIC SOUNDING SYSTEM (RASS) 0009 01 SODAR 0014 02 PRESSURE INSTRUMENT ASSOCIATED WITH WIND MEASUREMENT EQUIPME NT BUT PRESSURE ELEMENT FAILED DURING ASCENT 0015 01 MISSING VALUE 002004 0011 0000 01 USA OPEN PAN EVAPORIMETER (WITHOUT COVER) 0001 01 USA OPEN PAN EVAPORIMETER (MESH COVERED) 0002 01 GGI-300 EVAPORIMETER (SUNKEN) 0003 01 20 M**2 TANK 0004 01 OTHERS 0005 01 RICE 0006 01 WHEAT 0007 01 MAIZE 0008 01 SORGHUM 0009 01 OTHER CROPS 0015 01 MISSING VALUE 002011 0054 0000 01 RESERVED 0001 01 RESERVED 0002 01 NO RADIOSONDE-PASSIVE TARGET(E.G.REFLECTOR) 0003 01 NO RADIOSONDE-ACTIVE TARGET(E.G.TRANSPONDER) 0004 01 NO RADIOSONDE-PASSIVE TEMPERATURE-HUMIDITY PROFILER 0005 01 NO RADIOSONDE-ACTIVE TEMPERATURE-HUMIDITY PROFILER 0006 01 NO RADIOSONDE-RADIO ACOUSTIC SOUNDER 0009 01 NO RADIOSONDE-SYSTEM UNKNOWN OR NOT SPECIFIED 0010 01 RS VIZ TYPE A (USA) 0011 01 RS VIZ TYPE B (USA) 0012 01 RS SDC (SPACE DATA CORPORATION-USA) 0013 01 ASTOR (NO LONGER MADE-AUSTRALIA) 0014 01 VIZ MARK I MICROSONDE(USA) 0015 01 EEC COMPANY TYPE 23 (USA) 0016 01 ELIN (AUSTRIA) 0017 01 GRAW G. (GERMANY) 0019 01 GRAW M60 (GERMANY) 0020 01 INDIAN MET SERVICE MK3 (INDIA) 0021 01 VIZ/JIN YANG MARK I MICROSONDE(SOUTH KOREA) 0022 01 MEISEI RS2-80 (JAPAN) 0023 01 MESURAL FMO 1950A (FRANCE) 0024 01 MESURAL FMO 19455A (FRANCE) 0025 01 MESURAL MH73A (FRANCE) 0026 01 METEOLABOR BASORA (SWITZERLAND) 0027 01 AVK-MRZ (USSR) 0028 01 METEORIT MARZ2-1 (USSR) 0029 01 METEIRIT MARZ2-2 (USSR) 0030 01 OKI RS2-80 (JAPAN) 0031 01 VIZ/VALCOM TYPE A PRESSURE-COMMUTATED(CANADA) 0032 01 SHANGAI RADIO (CHINA) 0033 01 UK MET OFFICE MK3( UK) 0034 01 VINOHRADY(CZECHOSLOVAKIA) 0035 01 VAISALA RS18 (FINLAND) 0036 01 VAISALA RS21 (FINLAND) 0037 01 VAISALA RS80 (FINLAND) 0038 01 VIZ LOCATE (LORAN-C)(USA) 0039 01 SPRENGER E076 (GERMANY) 0040 01 SPRENGER E084 (GERMANY) 0041 01 SPRENGER E085 (GERMANY) 0042 01 SPRENGER E086 (GERMANY) 0043 01 AIR IS -4A-1680 (UK) 0044 01 AIR IS -4A-1680 X (UK) 0045 01 RS MSS(USA) 0046 01 AIR IS -4A-403(USA) 0047 01 MEISLEI RS2-91(JAPAN) 0048 01 VALCOM(CANADA) 0049 01 VIZ MARK II(USA) 0060 01 VAISALA RS80/MICROCORA (FINLAND) 0061 01 VAISALA RS80/DIGCORA OR MARWIN (FINLAND) 0062 01 VAISALA RS80/PCCORA (FINLAND) 0063 01 VAISALA RS80/STAR (FINLAND) 0064 03 ORBITAL,SCIENCE CORPORATION,SPACE DATA DIVISION,TRANSPONDER RADIOSONDE,TYPE 909-11-XX,WHERE XX CORRECPOND TO THE MODEL OF THE INSTRUMENT 0065 01 VIZ TRANSPONDER RADIOSONDE,MODEL NUMBER 1499-520(USA) 0255 01 MISSING VALUE 002012 0001 0000 01 TO BE DEVELOPED 002013 0009 0000 01 NO CORRECTION 0001 01 CIMO SOLAR CORRECTED AND CIMO INFRARED CORRECTED 0002 01 CIMO SOLAR CORRECTED AND IFRARED CORRECTED 0003 01 CIMO SOLAR CORRECTED ONLY 0004 02 SOLAR AND INFRARED CORRECTED AUTOMATICALLY BY RADIOSONDE SY STEM 0005 01 SOLAR CORRECTED AUTOMATICALLY BY RADIOSONDE SYSTEM 0006 01 SOLAR AND INFRARED CORRECTED AS SPECIFIED BY COUNTRY 0007 01 SOLAR CORRECTED AS SPECIFIED BY COUNTRY 0015 01 MISSING VALUE 002014 0050 0000 01 NO WINDFINDING 0001 01 AUTOMATIC WITH AUXILIARY OPTICAL DIRECTION FINDING 0002 01 AUTOMATIC WITH AUXILIARY RADIO DIRECTION FINDING 0003 01 AUTOMATIC WITH AUXILIARY RANGING 0004 01 NOT USED 0005 01 AUTOMATIC WITH MULTIPLE VLF-OMEGA SIGNALS 0006 01 AUTOMATIC CROSS CHAIN LORAN-C 0007 01 AUTOMATIC WITH AUXILIARY WIND PROFILER 0008 01 AUTOMATIC SATELLITE NAVIGATION 0019 01 TRACKING TECHNIQUE NOT SPECIFIED 0020 01 VESSEL STOPPED 0021 01 VESSEL DIVERTED FROM ORIGINAL DESTINATION 0022 01 VESSEL'S ARRIVAL DELAYED 0023 01 CONTAINER DAMAGED 0024 01 POWER FAILURE TO CONTAINER 0029 01 OTHER PROBLEMS 0030 01 MAJOR POWER PROBLEMS 0031 01 UPS INOPERATIVE 0032 01 RECEIVER HARDWARE PROBLEMS 0033 01 RECEIVER SOFTWARE PROBLEMS 0034 01 PROCESSOR HARDWARE PROBLEMS 0035 01 PROCESSOR SOFTWARE PROBLEMS 0036 01 NAVAID SYSTEM DAMAGED 0037 01 SHORTAGE OF LIFTING GAS 0039 01 OTHER PROBLEMS 0040 01 MECHANICAL DEFECT 0041 01 MATERIAL DEFECT (HAND LAUNCHER) 0042 01 POWER FAILURE 0043 01 CONTROL FAILURE 0044 01 PNEUMATIC/HYDRAULIC FAILURE 0045 01 OTHER PROBLEMS 0046 01 COMPRESSOR PROBLEMS 0047 01 BALLOON PROBLEMS 0048 01 BALLOON RELEASE PROBLEMS 0049 01 LAUNCHER DAMAGED 0050 01 R/S RECEIVER ANTENNA DEFECT 0051 01 NAVAID ANTENNA DEFECT 0052 01 R/S RECEIVER CABLING (ANTENNA DEFECT) 0053 01 NAVAID ANTENNA CABLING DEFECT 0059 01 OTHER PROBLEMS 0060 01 ASAP COMMUNICATIONS DEFECT 0061 01 COMMUNICATIONS FACILITY REJECTED DATA 0062 01 NO POWER AT TRANSMITTINGANTENN 0063 01 ANTENNA CABLE BROKEN 0064 01 ANTENNA CABLE DEFECT 0065 01 MESSAGE TRANSMITTED POWER BELOW NORMAL 0069 01 OTHER PROBLEMS 0070 01 ALL SYSTEMS IN NORMAL OPERATION 0099 01 STATUS OF SYSTEM AND ITS COMPONENTS NOT SPECIFIED 0127 01 MISSING VALUE 002015 0006 0001 01 PRESSURE ONLY RADIOSONDE 0002 01 PRESSURE ONLY RADIOSONDE PLUS TRANSPONDER 0003 01 PRESSURE ONLY RADIOSONDE PLUS RADAR REFLECTOR 0004 01 NO PRESSURE RADIOSONDE PLUS TRANSPONDER 0005 01 NO PRESSURE RADIOSONDE PLUS RADAR REFLECTOR 0015 01 MISSING VALUE 002016 0004 0001 01 TRAIN REGULATOR 0002 01 LIGHT UNIT 0003 01 PARACHUTE 0004 01 ROOFTOP RELEASE 002019 0296 0010 02 BNSC RADIOMETER AATSR ADVANCED ALONG TRACK SCANNIN G RADIOMETER 0011 02 BNSC RADIOMETER ATSR ALONG TRACK SCANNING RADIOME TER 0012 02 BNSC RADIOMETER ATSR-2 ALONG TRACK SCANNING RADIOME TER -2 0013 01 BNSC RADIOMETER MWR MICROWAVE RADIOMETER 0030 01 CNES COMMUNICATIONS ARGOS 0040 01 CNES LIDAR LASER REFLECTORS 0041 02 CNES LIDAR DORIS DOPPLER ORBITOGRAPHY AND RADIO-POSIT IONING INTEGRATED BY SATELLITE 0042 02 CNES LIDAR DORIS-NG DOPPLER ORBITOGRAPHY AND RAD IO-POSITIONING INTEGRATED BY SATELLITE-NG 0047 03 CNES RADAR ALTIMETERS POSEIDON-1 (SSALT-1) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (S INGLE FREQUENCY SOLID STATE RADAR ALTIMETER) 0048 03 CNES RADAR ALTIMETERS POSEIDON-2 (SSALT-2) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (D UAL FREQUENCY SOLID STATE RADAR ALTIMETER) 0050 01 CNES IMAGER RADIOMETER ATSR/M ATSR/M 0051 01 CNES HIGH RESOLUTION OPTICAL IMAGERS HRG 0052 01 CNES RADIOMETER HRV HIGH RESOLUTION VISIBLE 0053 02 CNES RADIOMETER HRVIR HIGH RESOLUTION VISIBLE AND INFRA-RED 0054 02 CNES RADIOMETER SCARAB/MV2 SCANNER FOR EARTH'S RADIATION BUDGET 0055 01 CNES RADIOMETER POLDER POLDER 0060 01 CNES SPECTROMETER VEGETATION VEGETATION 0061 01 CNES SPECTROMETER WINDII WINDII 0080 01 CSA COMMUNICATIONS RADARSAT DTT 0081 01 CSA COMMUNICATIONS RADARSAT TTC 0085 02 CSA RADAR SAR (CSA) SYNTHETIC APERTURE RADAR (CS A) 0090 02 CSA RADIOMETER MOPITT MEASUREMENTS OF POLLUTION IN THE TROPOSPHERE 0091 02 CSA CHEMISTRY INSTRUMENTS OSIRIS OPTICAL SPECTROGRAPH AND INFRA-RED IMAGING SYSTEM 0097 01 CSIRO RADIOMETER PANCHROMATIC IMAGER 0098 02 CRCSS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPS RECEIVER 0102 02 DLR RADIOMETER CHAMP GPS SOUNDER GPS TURBORO GUE SPACE RECEIVER (TRSR) 0103 01 UNKNOWN 0116 03 DLR MAGNETOMETER IGOR CHAMP GRAVITY PACKAGE (ACCELEROMETE R+GPS) INTEGRATED GPS AND OCCULTATION RECEIVER STAR AC CELEROMETER 0117 03 DLR MAGNETOMETER CHAMP MAGNETOMETRY PACKAGE (1 SCALAR +2 VECTOR MAGNETOMETER) OVERHAUSER MAGNETOMETER (OVM) AN D FLUXGATE MAGNETOMETER (FGM) 0120 02 ESA COMMUNICATIONS ENVISAT COMMS COMMUNICATIONS PACKA GE ON ENVISAT 0121 02 ESA COMMUNICATIONS ERS COMMS COMMUNICATION PACKAG E FOR ERS 0130 01 ESA LIDARS ALADIN ATMOSPHERIC LASER DOPPLER INSTRUMENT 0131 01 ESA LIDARS ATLID ATMOSPHERIC LIDAR 0140 02 ESA RADAR AMI/SAR/IMAGE ACTIVE MICROWAVE INSTRUMENTA TION. IMAGE MODE 0141 02 ESA RADAR AMI/SAR/WAVE ACTIVE MICROWAVE INSTRUMENTA TION. WAVE MODE 0142 02 ESA RADAR AMI/SCATTEROMETER ACTIVE MICROWAVE INS TRUMENTATION. WIND MODE 0143 01 ESA RADAR ASAR ASAR 0144 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (IMAGE MODE) 0145 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (WAVE MODE) 0146 01 ESA CLOUD PROFILE AND RAIN RADARS CPR CLOUD RADAR 0147 01 ESA RADAR RA-2/MWR RADAR ALTIMETER - 2 0148 01 ESA RADAR RA/MWR RADAR ALTIMETER 0150 01 ESA SCATTEROMETERS SCATTEROMETER SCATTEROMETER 0161 02 ESA RADIOMETER MIPAS MICHELSON INTERFEROMETRIC PA SSIVE ATMOSPHERE SOUNDER 0162 02 ESA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E MWR-2 MICROWAVE RADIOMETER-2 0163 03 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS SOPRANO SUB- MILIMETRE OBSERVATION OF PROCESSES IN THE ABSORPTION NOTEWOR THY FOR OZONE 0170 02 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS GOME I GLOB AL OZONE MONITORING EXPERIMENT 0172 02 ESA SPECTROMETER GOMOS GLOBAL OZONE MONITORING BY O CCULTATION OF STARS 0174 02 ESA SPECTROMETER MERIS MEDIUM RESOLUTION IMAGING SP ECTROMETER 0175 02 ESA SPECTROMETER SCIAMACHY SCANNING IMAGING ABS ORPTION SPECTROMETER FOR ATMOSPHERIC CARTOGRAPHY 0181 02 EUMETSAT COMMUNICATIONS METEOSAT COMMS COMMUNICATIO NS PACKAGE FOR METEOSAT 0182 02 EUMETSAT COMMUNICATIONS MSG COMMS COMMUNICATIO NS PACKAGE FOR MSG 0190 02 ESA/ EUMETSAT SCATTEROMETERS ASCAT ADVANCED SCATTE ROMETER 0200 02 EUMETSAT RADIOMETER GERB GEOSTATIONARY EARTH RADIATION BUDGET 0202 02 ESA/ EUMETSAT RADIOMETER GRAS GNSS RECEIVER F OR ATMOSPHERIC SOUNDING 0203 02 EUMETSAT RADIOMETER MHS MICROWAVE HUMIDITY S OUNDER 0205 02 EUMETSAT RADIOMETER MVIRI METEOSAT VISIBLE AND INFRA-RED IMAGER 0207 02 EUMETSAT RADIOMETER SEVIRI SPINNING ENHANCED VI SIBLE AND INFRARED IMAGER 0208 02 EUMETSAT IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRI VIRI 0220 02 ESA/ EUMETSAT SPECTROMETER GOME-2 GLOBAL OZONE MO NITORING EXPERIMENT - 2 0221 03 CNES/ EUMETSAT ATMOSPHERIC TEMPERATURE AND HUMIDITY S OUNDERS IASI INFRA-RED ATMOSPHERIC SOUNDING INTERFEROME TER 0240 02 CAST COMMUNICATIONS DCP DATA COLLECTION PLATFORM TRA NSPONDER 0245 01 CAST RADIOMETER CCD HIGH RESOLUTION CCD CAMERA 0246 02 INPE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS HSB HUMIDITY SOUNDER/BRAZIL 0248 02 INPE IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) OBA OBSERVADOR BRASILEIRO DA AMAZONIA 0250 01 CAST RADIOMETER WFI WIDE FIELD IMAGER 0255 02 CAST SPECTROMETER IRMSS INFRA RED MULTI SPECTRAL SCA NNER 0260 01 ISRO PRECISION ORBIT BSS & FSS TRANSPONDERS 0261 01 ISRO PRECISION ORBIT DRT-S&R 0262 02 ISRO COMMUNICATIONS INSAT COMMS COMMUNICATIONS PACKA GE FOR INSAT 0268 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS HR-PAN HIGH RESOLUT ION PANCHROMATIC CAMERA 0269 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MSMR MULTIFREQUENCY SCANNING MICROWAVE RADIOMETER 0270 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VHRR VERY HIGH RESOLUTION RADIOMETER 0271 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WIFS WIDE FIELD SENSOR 0275 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS AWIFS ADVANCED WID E FIELD SENSOR 0276 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-I LINEAR IMAGI NG SELF SCANNER - I 0277 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-II LINEAR IMAGI NG SELF SCANNER - II 0278 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-III LINE AR IMAGING SELF SCANNER - III 0279 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-IV LINEAR IMAGI NG SELF SCANNER - IV 0284 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS PAN PANCHROMATIC SENSOR 0285 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MOS MODULAR OPTO-ELECTRONIC SCANNER 0286 02 ISRO OCEAN COLOUR INSTRUMENTS OCM OCEAN COLOUR MONITOR 0290 02 JMA COMMUNICATIONS MTSAT COMMS COMMUNICATIONS PACKA GE FOR MTSAT 0294 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT -1R IMAGER/MTSAT 0295 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT IMAGER/MTSAT 0296 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS VISSR (GMS4) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS4) 0300 01 NASA LIDARS GLAS GEOSCIENCE LASER ALTIMETER SYSTEM 0301 01 NASA PRECISION ORBIT LRA LASER RETROREFLECTOR ARRAY 0302 01 NASA LIDARS MBLA MULTI BEAM LASER ALTIMETER 0309 02 NASA CLOUD PROFILE AND RAIN RADARS CPR (CLOUDSAT) CLOU D PROFILING RADAR 0312 01 NASA RADAR NSCAT NASA SCATTEROMETER 0313 01 NASA RADAR SEAWINDS ADEOS II - NASA SCATTEROMETER 0330 02 NASA EARTH RADIATION BUDGET RADIOMETER ACRIM ACTI VE CAVITY RADIOMETER IRRADIANCE MONITOR 0334 02 NASA TOTAL AND PROFILE OZONE BUV BACKSCATTER ULTRAVIO LET INSTRUMENT 0336 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ALI ADVANCED LAN D IMAGER 0347 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ASTER ADVANCED SPA CEBORNE THERMAL EMISSION AND REFLECTION RADIOMETER 0348 02 NASA EARTH RADIATION BUDGET RADIOMETER CERES-2 CLOU D AND THE EARTH'S RADIANT ENERGY SYSTEM 0351 02 CONAE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPSD R GPS DEMONSTRATION RECEIVER 0353 02 NASA TOTAL AND PROFILE OZONE HIRDLS HIGH RESOLUTION DYNA MICS LIMB SOUNDER 0354 02 NASA TOTAL AND PROFILE OZONE HRDI HIGH RESOLUTION DOPP LER IMAGER 0356 01 NASA RADIOMETER LIS LIGHTNING IMAGING SENSOR 0358 02 NASA MAGNETIC FIELD, AUROAL IMAGERYSCINTILLATION BOUNDARY PEM PARTICLE ENVIRONMENT MONITOR 0359 02 NASA OCEAN COLOUR INSTRUMENTS SEAWIFS SEA-VIEWING WIDE FIELD-OF-VIEW SENSOR 0360 02 NASA EARTH RADIATION BUDGET RADIOMETER SUSIM (UARS) SOLAR ULTRAVIOLET IRRADIANCE MONITOR 0363 02 NASA TOTAL AND PROFILE OZONE SBUV/1 SOLAR BACKSCATTER UL TRAVIOLET 1 INSTRUMENT 0365 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) TMI TRMM MICROWAVE IMAGER 0366 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) JMR JASON-1 MICROWAVE RADIOMETER 0369 02 NASA TOTAL AND PROFILE OZONE LIMS LIMB INFRARED MONITO R OF THE STRATOSPHERE 0370 02 NASA TOTAL AND PROFILE OZONE LRIR LIMB RADIANCE INVERS ION RADIOMETER INSTRUMENT 0371 02 NASA TOTAL AND PROFILE OZONE EPIC EARTH POLYCHROMATIC IMAGING CAMERA 0372 02 NASA EARTH RADIATION BUDGET RADIOMETER NISTAR NIST ADVANCED RADIOMETER 0373 02 NASA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y PLASMA-MAG 0374 01 NASA OTHER XPS XUV PHOTOMETER SYSTEM 0375 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRS VISIBLE INFRA-RED SCANNER 0376 03 CNES MULTIPLE DIRECTION/POLARISATION RADIOMETERS POLD ER II POLARIZATION AND DIRECTIONALITY OF THE EARTH'S R EFLECTANCE - II 0377 02 NASA EARTH RADIATION BUDGET RADIOMETER TIM TOTA L IRRADIANCE MONITOR 0379 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WFC WIDE FIELD CAMERA 0382 02 NASA SPECTRO-RADIOMETER CLAES CRYOGENIC LIMB ARRAY ETALON SPECTROMETER 0383 02 NASA SPECTRO-RADIOMETER HALOE HALOGEN OCCULTATION EXPERIMENT 0384 02 NASA SPECTRO-RADIOMETER ISAMS IMPROVED STRATOSPHER IC AND MESOSPHERIC SOUNDER 0385 02 NASA SPECTRO-RADIOMETER MISR MULTI-ANGLE IMAGING SPECTRORADIOMETER 0386 01 NASA SPECTRO-RADIOMETER MLS MICROWAVE LIMB SOUNDER 0387 02 NASA SPECTRO-RADIOMETER MLS (EOS-AURA) MICROWAVE LIMB SOUNDER (EOS-AURA) 0389 02 NASA SPECTRO-RADIOMETER MODIS MODERATE-RESOLUTION IMAGING SPECTRORADIOMETER 0393 02 NASA GRAVITY HAIRS HIGH ACCURACY INTER-SATELLITE RANGIN G SYSTEM 0394 02 NASA TOTAL AND PROFILE OZONE OMI OZONE MEASURING INST RUMENT 0395 02 NASA RADIOMETER ATMOSPHERIC CORRECTOR ATMOSPHERIC CORRECTOR 0396 01 NASA RADIOMETER HYPERION HYPERSPECTRAL IMAGER 0399 02 NASA SPECTRO-RADIOMETER SAGE I STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-I 0400 02 NASA SPECTRO-RADIOMETER SAGE II STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-II 0401 02 NASA SPECTRO-RADIOMETER SAGE III STRATOSPHERI C AEROSOL AND GAS EXPERIMENT-III 0402 02 NASA SPECTRO-RADIOMETER SAMS STRATOSPHERIC AND ME SOSPHERIC SOUNDER 0403 02 NASA SPECTRO-RADIOMETER SAM II STRATOSPHERIC AEROSO L MEASUREMENT II 0404 02 NASA SPECTRO-RADIOMETER IRIS INFRARED INTERFEROME TER SPECTROMETER 0405 02 NASA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GIFT S GEOSYNCHRONOUS IMAGING FOURIER TRANSFORM SPECTROMETER 0420 01 NASA SPECTROMETER AIRS ATMOSPHERIC INFRA-RED SOUNDER 0426 02 NASA SPECTROMETER SOLSTICE SOLAR STELLAR IRRADI ANCE COMPARISON EXPERIMENT 0430 02 NASA SPECTROMETER TES TROPOSHPERIC EMISSION SPECTR OMETER 0431 02 NASA SPECTROMETER TOMS TOTAL OZONE MAPPING SPECTROM ETER 0450 02 JAXA COMMUNICATIONS ADEOS COMMS COMMUNICATIONS PACKA GE FOR ADEOS 0451 02 JAXA COMMUNICATIONS DCS (JAXA) DATA COLLECTION SYST EM (JAXA) 0453 02 JAXA COMMUNICATIONS GMS COMMS COMMUNICATIONS PACKA GE ON GMS 0454 02 JAXA COMMUNICATIONS JERS-1 COMMS COMMUNICATIONS PACKA GE FOR JERS-1 0460 01 JAXA LIDAR RIS RETROREFLECTOR IN SPACE 0461 01 JAXA RADAR PR PRECIPITATION RADAR 0462 02 JAXA IMAGING MICROWAVE RADARS SAR SYNTETIC APE RTURE RADAR 0470 02 JAXA IMAGING MICROWAVE RADARS PALSAR PHASED ARRAY TYPE L-BAND SYNTHETIC APERTURE RADAR 0479 02 JAXA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) AMSR-E ADVANCED MICROWAVE SCANNING RADIOMETER-EOS 0480 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS PRISM (ALOS) PANC HROMATIC REMOTE-SENSING INSTRUMENT FOR STEREO MAPPING 0481 02 JAXA RADIOMETER AMSR ADVANCED MICROWAVE SCANNING RADIOMETER 0482 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR ADVANCED VIS IBLE AND NEAR INFRARED RADIOMETER 0483 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR-2 ADVANCED VIS IBLE AND NEAR INFRA-RED RADIOMETER TYPE 2 0484 01 JAXA IMAGER GLI GLOBAL IMAGER 0485 02 JAXA RADIOMETER MESSR MULTISPECTRAL ELECTRONIC SEL F SCANNING RADIOMETER 0486 01 JAXA RADIOMETER MSR MICROWAVE SCANNING RADIOMETER 0487 02 JAXA RADIOMETER OCTS OCEAN COLOR AND TEMPERATURE S CANNER 0488 01 JAXA RADIOMETER OPS OPTICAL SENSOR 0489 02 JAXA SPECTRO-RADIOMETER VISSR (GMS5) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS5) 0490 02 JAXA RADIOMETER VTIR VISIBLE AND THERMAL INFRA-RE D RADIOMETER 0510 02 JAXA SPECTROMETER ILAS-I IMOROVED LIMB ATOMOSPHIRIC S PECTROMETER 0511 02 JAXA SPECTROMETER ILAS-II IMPROVED LIMB ATOMOSPHIRIC S PECTROMETER 0512 02 JAXA SPECTROMETER IMG INFEROMETRIC MONITOR OF GREE NHOUSE GASES 0514 02 JAXA SPACE ENVIRONMENT SEM SPACE ENVIRONMENT MO NITOR (JAXA) 0515 02 JAXA TOTAL AND PROFILE OZONE SOFIS SOLAR OCCULTATION FO URIER TRANSFORM SPECTROMETER FOR INCLINED ORBIT SATELLITE 0540 02 NOAA COMMUNICATIONS DCS (NOAA) DATA COLLECTION SYST EM (NOAA) 0541 02 NOAA COMMUNICATIONS GOES COMMS COMMUNICATIONS PACKA GE ON GOES 0542 02 NOAA COMMUNICATIONS LANDSAT COMMS COMMUNICATIONS PACKA GE FOR LANDSAT 0543 02 NOAA COMMUNICATIONS NOAA COMMS COMMUNICATIONS PACKA GE FOR NOAA 0544 01 NOAA COMMUNICATIONS S&R (GOES) SEARCH AND RESCUE 0545 01 NOAA COMMUNICATIONS S&R (NOAA) SEARCH AND RESCUE 0546 01 NOAA COMMUNICATIONS WEFAX WEATHER FACSIMILE 0547 02 NOAA SPECTROMETER SEM(GOES) SPACE ENVIRONMENT MO NITOR 0550 01 NOAA MAGNETIC FIELD SSM SPECIAL SENSOR MAGNETOMETER 0551 02 NOAA MAGNETIC FIELD SSJ/4 SPECIAL SENSOR PRECIPITATING PLASMA MONITOR 0552 02 NOAA SPACE ENVIRONMENT SSIES-2 SPECIAL SENSOR IONOS PHERIC PLASMA DRIFT/SCINTILLATION METER 0553 02 NOAA SPACE ENVIRONMENT SSB/X-2 SPECIAL SENSOR GAMMA RAY PARTICLE DECTECTOR 0570 02 NOAA RADIOMETER AMSU-A ADVANCED MICROWAVE SOUNDING UNIT-A 0574 02 NOAA RADIOMETER AMSU-B ADVANCED MICROWAVE SOUNDING UNIT-B 0580 02 NOAA RADIOMETER ATOVS (HIRS/3 + AMSU + AVHRR/3) ADVA NCED TIROS OPERATIONAL VERTICAL SOUNDER 0590 02 NOAA RADIOMETER AVHRR/2 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/2 0591 02 NOAA RADIOMETER AVHRR/3 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/3 0592 02 NOAA RADIOMETER AVHRR/4 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/4 0600 02 NOAA RADIOMETER ERBE EARTH'S RADIATION BUDGET EXP ERIMENT 0601 01 NOAA RADIOMETER ETM+ ENHANCED THEMATIC MAPPER 0605 02 NOAA RADIOMETER HIRS/2 HIGH RESOLUTION INFRA-RED SO UNDER/2 0606 02 NOAA RADIOMETER HIRS/3 HIGH RESOLUTION INFRA-RED SO UNDER/3 0607 02 NOAA RADIOMETER HIRS/4 HIGH RESOLUTION INFRA-RED SO UNDER/4 0615 01 NOAA RADIOMETER IMAGER IMAGER 0616 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIIR S VISIBLE/INFRARED IMAGER RADIOMETER SUITE 0620 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS CRIR S/NP CROSS TRACK INFRA-RED SOUNDER/NPOESS 0621 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS ATMS ADVANCED TECHNOLOGY MICROWAVE SOUNDER 0622 01 NOAA RADIOMETER MSS MULTISPECTRAL SCANNING SYSTEM 0623 01 NOAA RADIOMETER MSU MICROWAVE SOUNDING UNIT 0624 02 NOAA RADIOMETER SBUV/2 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/2 0625 02 NOAA RADIOMETER SBUV/3 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/3 0626 01 NOAA RADIOMETER SOUNDER SOUNDER 0627 01 NOAA RADIOMETER SSU STRATOSPHERIC SOUNDING UNIT 0628 01 NOAA RADIOMETER TM THEMATIC MAPPER 0629 02 NOAA RADIOMETER TOVS (HIRS/2 + MSU + SSU) TIRO S OPERATIONAL VERTICAL SOUNDER 0630 01 NOAA RADIOMETER VAS VISSR ATMOSPHERIC SOUNDER 0631 01 NOAA RADIOMETER SSZ 0645 01 NOAA SPECTROMETER SEM SPACE ENVIRONMENT MONITOR 0650 02 NRSCC RADIOMETER MVIRSR (10 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0651 02 NRSCC RADIOMETER MVIRSR (3 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0652 02 NRSCC RADIOMETER MVIRSR (5 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0670 01 NSAU RADAR RLSBO SIDE LOOKING MICROWAVE RADAR 0680 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS MSU-EU MULTI-SPECTR AL RADIOMETER WITH HIGH RESOLUTION 0681 02 NSAU IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MSU- UM VISIBLE MULTI-SPECTRAL RADIOMETER 0682 01 NSAU RADIOMETER RM-08 IMAGING MICROWAVE RADIOMETER 0683 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-UMS STEREO RADIO METER WITH HIGH RESOLUTION 0684 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-VR VISIBLE RADI OMETER WITH HIGH RESOLUTION 0685 01 NSAU RADIOMETER TRASSER 0700 02 ROSCOSMOS COMMUNICATIONS KONDOR-2 DATA COLLECT ION AND TRANSMISSION SYSTEM 0701 01 ROSCOSMOS COMMUNICATIONS BRK 0710 01 ROSCOSMOS LIDAR ALISSA BACKSCATTER LIDAR 0712 01 ROSCOSMOS LIDAR BALKAN-2 LIDAR 0715 01 ROSCOSMOS LIDAR MK-4 0716 01 ROSCOSMOS LIDAR MK-4M 0730 01 ROSCOSMOS RADAR GREBEN RADAR ALTIMETER 0731 01 ROSCOSMOS RADAR SAR-10 SYNTETIC APERTURE RADAR 0732 01 ROSCOSMOS RADAR SAR-3 SYNTETIC APERTURE RADAR 0733 01 ROSCOSMOS RADAR SAR-70 SYNTETIC APERTURE RADAR 0740 01 ROSCOSMOS RADAR SLR-3 SIDE LOOKING RADAR 0745 01 ROSCOSMOS RADAR TRAVERS SAR 0750 02 ROSCOSMOS RADIOMETER 174-K TEMPERATURE AND HUMI DITY PROFILER 0751 02 ROSCOSMOS RADIOMETER BTVK SCANNING TELEVISION RADIOMETER 0752 02 ROSCOSMOS RADIOMETER CHAIKA SCANNING IR RADIOMET ER 0753 02 ROSCOSMOS RADIOMETER DELTA-2 MULTISPECTRAL MICROW AVE SCANNER 0755 02 ROSCOSMOS RADIOMETER IKAR-D MULTISPECTRAL MICROW AVE SCANNER 0756 02 ROSCOSMOS RADIOMETER IKAR-N MULTISPECTRAL MICROW AVE SCANNER 0757 02 ROSCOSMOS RADIOMETER IKAR-P MULTISPECTRAL MICROW AVE SCANNER 0760 01 ROSCOSMOS RADIOMETER ISP 0761 02 ROSCOSMOS RADIOMETER KFA-1000 PHOTOGRAPHIC CAMERA 0762 01 ROSCOSMOS RADIOMETER KFA-200 PHOTOGRAPHIC CAMERA 0763 02 ROSCOSMOS RADIOMETER KFA-3000 PHOTOGRAPHIC CAMERA 0770 01 ROSCOSMOS RADIOMETER KLIMAT SCANNING IR RADIOMETER 0771 02 ROSCOSMOS RADIOMETER KLIMAT-2 SCANNING IR RADIOMETER 0775 01 ROSCOSMOS RADIOMETER MIRAS 0776 01 ROSCOSMOS RADIOMETER MIVZA 0777 02 ROSCOSMOS RADIOMETER MIVZA-M MICROWAVE SCANNING R ADIOMETER 0780 01 ROSCOSMOS RADIOMETER MR-2000 0781 01 ROSCOSMOS RADIOMETER MR-2000M 0785 02 ROSCOSMOS RADIOMETER MR-900 SCANNING TELEPHOTOME TER 0786 02 ROSCOSMOS RADIOMETER MR-900B SCANNING VISUAL BAND TELEPHOTOMETER 0790 02 ROSCOSMOS RADIOMETER MSU-E MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0791 02 ROSCOSMOS RADIOMETER MSU-E1 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0792 02 ROSCOSMOS RADIOMETER MSU-E2 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0793 01 ROSCOSMOS RADIOMETER MSU-M 0794 02 ROSCOSMOS RADIOMETER MSU-S MULTISPECTRAL MEDIUM RESOLUTION SCANNER 0795 02 ROSCOSMOS RADIOMETER MSU-SK MULTISPECTRAL MEDIUM RESOLUTION CONICAL SCANNER 0796 02 ROSCOSMOS RADIOMETER MSU-V MULTISPECTRAL HIGH R ESOLUTION CONICAL SCANNER 0810 02 ROSCOSMOS RADIOMETER MTZA SCANNING MICROWAVE R ADIOMETER 0815 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) MZOAS SCANNING MICROWAVE RADIO METER 0820 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) R-225 SINGLE CHANNEL MICROWAVE RADIOMETER 0821 01 ROSCOSMOS RADIOMETER R-400 0822 02 ROSCOSMOS RADIOMETER R-600 SINGLE CHANNEL MICRO WAVE RADIOMETER 0830 02 ROSCOSMOS RADIOMETER RMS RADIATION MEASUREMEN T SYSTEM 0835 01 ROSCOSMOS RADIOMETER TV CAMERA 0836 01 ROSCOSMOS RADIOMETER SILVA 0840 02 ROSCOSMOS SPECTRO-RADIOMETER SROSMO SPECTRORADIO METER FOR OCEAN MONITORING 0850 02 ROSCOSMOS SPECTROMETER BUFS-2 BACKSCATTER SPECTROM ETER/2 0851 02 ROSCOSMOS SPECTROMETER BUFS-4 BACKSCATTER SPECTROM ETER/4 0855 02 ROSCOSMOS SPECTROMETER ISTOK-1 INFRA-RED SPECTROMET ER 0856 02 ROSCOSMOS SPECTROMETER SFM-2 SPECTROMETER TO MEAS URE DIRECT SOLAR RADIATION 0857 01 ROSCOSMOS SPECTROMETER DOPI 0858 01 ROSCOSMOS SPECTROMETER KGI-4 0859 01 ROSCOSMOS SPECTROMETER OZON-M 0860 01 ROSCOSMOS SPECTROMETER RMK-2 0900 02 NOAA RADIOMETER MAXIE MAGNETOSPHERIC ATMOSPHERIC X -RAY IMAGING EXPERIMENT 0901 01 NOAA RADIOMETER OLS OPERATIONAL LINESCAN SYSTEM 0905 02 NOAA RADIOMETER SSM/I MISSION SENSOR MICROWAVE IMA GER 0906 02 NOAA RADIOMETER SSM/T-1 MISSION SENSOR MICROWAVE TEM PERATURE SOUNDER 0907 02 NOAA RADIOMETER SSM/T-2 MISSION SENSOR MICROWAVE WAT ER VAPOR SOUNDER 0908 02 NOAA RADIOMETER SSMIS SPECIAL SENSOR MICROWAVE IMA GER SOUNDER 0910 01 NOAA RADIOMETER SXI SOLAR X-RAY IMAGER 0930 02 NOAA SPECTROMETER EHIC ENERGETIC HEAVY ION COMPOSIT ION EXPERIMENT 0931 01 NOAA SPECTROMETER X-RAY ASTRONOMY PAYLOAD 0932 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) IVIS SR (FY-2) IMPROVED MULTISPECTRAL VISIBLE AND INFRA-RED SCA N RADIOMETER (5 CHANNELS) 0933 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IRAS INFRARED ATMOSPHERIC SOUNDER 0934 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWAS MICROWAVE ATMOSPHERIC SOUNDER 0935 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IMWA S IMPROVED MICROWAVE ATMOSPHERIC SOUNDER 0936 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWHS MICROWAVE HUMIDITY SOUNDER 0937 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MVIR S MODERATE RESOLUTION VISIBLE AND INFRARED IMAGING SPECTRO RADIOMETER 0938 02 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MWRI MICROWAVE RADIATION IMAGER 0940 02 ROSCOSMOS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDER S MTVZA-OK SCANNING MICROWAVE RADIOMETER 0941 02 CNES ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS SAPH IR 0944 01 NOAA RADAR ALTIMETERS ALT ALTIMETER 0945 02 NOAA EARTH RADIATION BUDGET RADIOMETER TSIS TOTA L SOLAR IRRADIANCE SENSOR 0946 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) CMIS CONICAL-SCANNING MICROWAVE IMAGER/SOUNDER 0947 02 NOAA TOTAL AND PROFILE OZONE OMPS OZONE MAPPING AND PR OFILER SUITE 0948 03 NOAA SPACE ENVIRONMENT ATMOSPHERIC TEMPERATURE AND HUMIDI TY SOUNDERS GPSOS GLOBAL POSITIONING SYSTEM OCCULTATION SE NSOR 0949 02 NOAA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y SESS SPACE ENVIRONMENTAL SENSOR SUITE 0950 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRR MULTISPECTRAL VISIBLE AND INFRA-RED SCAN RADIOMETER (10 CHANNELS 0951 01 NRSCC TOTAL AND PROFILE OZONE TOM TOTAL OZONE MAPPER 0952 01 NRSCC TOTAL AND PROFILE OZONE OP OZONE PROFILER 2047 01 MISSING VALUE 002020 0024 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 (TIROS, NOAA-6 TO NOAA-13) 0003 01 TIROS 2 (NOAA-14 ONWARDS) 0010 01 EOS 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0261 01 JASON 0271 01 GMS 0272 01 MTSAT 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME (MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME (MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME (MSG) 0351 01 GOMS 0380 01 FY-1 0381 01 FY-2 0401 01 GPS 0402 01 GLONASS 0403 01 GALILEO 0511 01 MISSING VALUE 002021 0008 0001 01 HIGH RESOLUTION INFRA RED SOUNDER (HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU ) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 002022 0005 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 AUTOMATED STATISTICAL REGRESSION 0003 01 CLEAR PATH 0004 01 PARTLY CLOUDY PATH 0005 01 CLOUDY PATH 002023 0012 0000 01 RESERVED 0001 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE INFRARED CHANNEL 0002 01 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE VISIBLE CHANNEL 0003 01 WIND DERIVED FROM CLOUD MOTION OBSERVED IN WATER VAPOUR CHANNEL 0004 02 WIND DERIVED FROM MOTION OBSERVED IN COMBINATION OF SPECTRAL CHANNELS 0005 02 WIND DERIVED FROM MOTION OBSERVED IN THE WATER VAPOUR CHANNEL IN CLEAR AIR 0006 01 WIND DERIVED FROM MOTION OBSERVED IN THE OZONE CHANNEL 0007 01 WIND DERIVED FROM MOTION OBSERVED IN WATER VAPOUR CHANNEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0008 01 WIND DERIVED FROM ALTIMETER 0009 01 WIND DERIVED FROM RADIOMETER 0013 01 ROOT MEAN SQUARE 0015 01 MISSING VALUE 002024 0003 0001 01 TABLE WITH FULL RANGE OF HUMIDITY VARIATION IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002025 0016 0001 01 RESERVED 0002 01 HIRS 0003 01 MSU 0006 01 HIRS 0007 01 MSU 0010 01 HIRS(1, 2, 3, 8,9, 16, 17) 0011 01 HIRS(1, 2, 3, 9, 17) 0012 01 MSU 0015 01 HIRS 0016 01 HIRS 0017 01 MSU 0018 01 SKINTK(OCEAN ONLY) 0021 01 HIRS 0022 01 SSU 0023 01 MSU (3 ,4) 0025 01 MISSING 002030 0007 0001 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0002 01 GEK (GEOMAGNETIC ELECTRO KINETOGRAPH) 0003 01 SHIPS'S SET AND DRIFT DETERMINED BY FIXES 3-6 HOURS APART 0004 02 SHIPS'S SET AND DRIFT DETERMINED BY MORE THAN 6 HOURS BUT LE SS THAN 12 HOURS APART 0005 01 DRIFT OF BUOY 0006 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0007 01 MISSIN VALUE 002031 0021 0000 01 RESERVED 0001 01 INSTANTANEOUS 0002 01 AVERAGED OVER 3 MINUTES OR LESS 0003 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0004 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0005 01 INSTANTANEOUS 0006 01 AVERAGED OVER 3 MINUTES OR LESS 0007 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0008 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0009 01 VECTOR OR DOPPLER CURRENT PROFILLING METHOD NOT USED 0010 01 RESERVED 0011 01 1 HOUR OR LESS 0012 01 MORE THAN 1 HOUR BUT 2 AT THE MOST 0013 01 MORE THAN 2 HOUR BUT 4 AT THE MOST 0014 01 MORE THAN 4 HOUR BUT 8 AT THE MOST 0015 01 MORE THAN 8 HOUR BUT 12 AT THE MOST 0016 01 MORE THAN 12 HOUR BUT 18 AT THE MOST 0017 01 MORE THAN 18 HOUR BUT 24 AT THE MOST 0018 01 RESERVED 0019 01 DRIFT METHOD NOT USED 0031 01 MISSING 002032 0004 0000 02 VALUES AT SELECTED DEPTHS (DATA POINTS FIXED BY THE INSTRUME NT OR SELECTED BY ANY OTHER METHOD) 0001 02 VALUES AT SIGNIFICANT DEPTHS (DATA POINTS TAKEN FROM TRACES AT SIGNIFICANT DEPTHS) 0002 01 RESERVED 0003 01 MISSING VALUE 002033 0005 0000 01 NO SALINITY MEASURED 0001 01 IN SITU SENSOR, ACCURACY BETTER THAN 0.02 % 0002 01 IN SITU SENSOR, ACCURACY LESS THAN 0.02 % 0003 01 SAMPLE ANALYSIS 0007 01 MISSING VALUE 002034 0007 0000 01 UNSPECIFIED DROGUE 0001 01 HOLEY SOCK 0002 01 TRISTAR 0003 01 WINDOW SHADE 0004 01 PARACHUTE 0005 01 NON-LAGRANGIAN SEA ANCHOR 0031 01 MISSING VALUE 002036 0004 0000 01 DRIFTING BUOY 0001 01 FIXED BUOY 0002 01 RESERVED 0003 01 MISSING VALUE 002037 0007 0000 01 REASERVED 0001 01 MANUAL READING FROM VERTICAL TIDE STAFF 0002 01 MANUAL READING FROM SINGLE AUTOMATIC RECORDER AT STATION 0003 01 MANUAL READING FROM MULTIPLE AUTOMATIC RECORDERS AT STATION 0004 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITHOUT LEVEL REFERENCE CHECK 0005 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITH LEVEL REFERENCE CHECK,OR MULTIPLE AUTOMATIC RECORDERS 0007 01 MISSING 002038 0012 0000 01 SHIP INTAKE 0001 01 BUCKET 0002 01 HULL CONTACT SENSOR 0003 01 REVERSING TERMOMETER 0004 01 STD/CTD SENSOR 0005 01 MECHANICAL BT 0006 01 EXPANDABLE BT 0007 01 DIGITAL BT 0008 01 THERMISTOR CHAIN 0009 01 INFRARED SCANNER 0010 01 MICROWAVE SCANNER 0015 01 MISSING VALUE 002039 0005 0000 01 MEASURED WET-BULB TEMPERATURE 0001 01 ICED BULB MEASURED WET-BULB TEMPERATURE 0002 01 COMPUTED WET-BULB TEMPERATURE 0003 01 ICED BULB COMPUTED WET-BULB TEMPERATURE 0007 01 MISSING VALUE 002041 0005 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMSILATIO N MANUALLY MODIFIED 0063 01 MISSING VALUE 002040 0008 0000 01 SHIPS MOTION REMOVED BY AVARAGING 0001 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0002 01 SHIPS MOTION NOT REMOVED 0003 01 SHIPS MOTION REMOVED BY AVERAGING 0004 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0005 01 SHIPS MOTION NOT REMOVED 0006 01 DOPPLER CURRENT PROFILING METHOD NOT USED 0015 01 MISSING VALUE 002041 0006 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMILATION MANUALLY MODIFIED 0010 01 INFORMATION BASED ON THE NUMERICAL WEATHER PREDICTION 0063 01 MISSING VALUE 002044 0006 0000 01 RESERVED 0001 01 LONGUET-HIGGINS (1964) 0002 01 LONGUET-HIGGINS (F3 METHOS) 0003 01 MAXIMUM LIKELIHOOD METHOD 0004 01 MAXIMUM ENTROPY METHOD 0015 01 MISSING VALUE 002045 0005 0000 01 SEA STATION 0001 01 AUTOMATIC DATA BUOY 0002 01 AIRCRAFT 0003 01 SATELLITE 0015 01 MISSING VALUE 002046 0004 0000 01 RESERVED 0001 01 HEAVE SENSOR 0002 01 SLOPE SENSOR 0015 01 MISSING VALUE 002048 0012 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A 0004 01 AMSU-B 0005 01 AVHRR 0006 01 SSMI 0007 01 NSCAT 0008 01 SEA WINDS 0009 01 POSEIDON ALTIMETER 0010 01 JMR (JASON MICROWAVE RADIOMETER) 0015 01 MISSING VALUE 002049 0004 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 SIMULTANIOUS PHISICAL RETRIEVAL 0003 01 CLEAR SOUNDING 0004 01 CLOUDY COUNDING 002050 0019 0001 01 CHANNEL 1 14.71 MICROMETERS 0002 01 CHANNEL 2 14.37 MICROMETERS 0003 01 CHANNEL 3 14.06 MICROMETERS 0004 01 CHANNEL 4 13.64 MICROMETERS 0005 01 CHANNEL 5 13.37 MICROMETERS 0006 01 CHANNEL 6 12.66 MICROMETERS 0007 01 CHANNEL 7 12.02 MICROMETERS 0008 01 CHANNEL 8 11.03 MICROMETERS 0009 01 CHANNEL 9 9.71 MICROMETERS 0010 01 CHANNEL 10 7.43 MICROMETERS 0011 01 CHANNEL 11 7.02 MICROMETERS 0012 01 CHANNEL 12 6.51 MICROMETERS 0013 01 CHANNEL 13 4.57 MICROMETERS 0014 01 CHANNEL 14 4.52 MICROMETERS 0015 01 CHANNEL 15 4.45 MICROMETERS 0016 01 CHANNEL 16 4.13 MICROMETERS 0017 01 CHANNEL 17 3.98 MICROMETERS 0018 01 CHANNEL 18 3.74 MICROMETERS 0019 01 CHANNEL 19 0.969 MICROMETERS 002051 0004 0001 01 MAXIMUM/MINIMUM THERMOMETERS 0002 01 AUTOMATED INSTRUMENT 0003 01 THERMOGRAPH 0015 01 MISSING VALUE 002052 0005 0001 01 CHANNEL 1 0.55-.75 MICROMETERS 0002 01 CHANNEL 2 3.9 MICROMETERS 0003 01 CHANNEL 3 6.7 MICROMETERS 0004 01 CHANNEL 4 10.7 MICROMETERS 0005 01 CHANNEL 5 12.0 MICROMETERS 002053 0005 0000 01 OBSERVED BRIGHTNESS TEMPERATURES 0001 01 BRIGHTNESS TEMPERATURE WITH BIAS CORRECTION APPLIED 0002 01 BRIGHTNESS TEMPERATURE CALCULATED FROM FIRST GUESS 0003 01 BRIGHTNESS TEMPERATURE CALCULATED FROM SOUNDING 0015 01 MISSING VALUE 002054 0006 0000 02 PARAMETER DERIVED USING OBSERVED SOUNDER BRIGHTNESS TEMPERAT URES 0001 02 PARAMETER DERIVED USING OBSERVED IMAGER BRIGHTNESS TEMPERATU RES 0002 01 PARAMETER DERIVED USING FIRST GUESS INFORMATION 0003 01 PARAMETER DERIVED USING NMC ANALYSIS INFORMATION 0004 01 PARAMETER DERIVED USING RADIOSONDE INFORMATION 0015 01 MISSING VALUE 002055 0009 0000 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS RADIOSONDE 0001 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS FIRST GUESS 0002 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS FIRST GUESS 0003 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS RETRIEVAL 0004 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS FORST GUESS 0005 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS IMAGER 0006 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS SOUNDER 0007 01 STATISTICS GENERATED FOR RADIOSONDE 0008 01 STATISTICS GENERATED FOR FIRST GUESS 002056 0006 0000 01 SUMS OF DIFFERENCE 0001 01 SUMS OF SQUARED DIFFERENCES 0002 01 SAMPLE SIZE 0003 01 MINIMUM DIFFERENCE 0004 01 MAXIMUM DIFFERENCE 0015 01 MISSING VALUE 002057 0006 0000 01 NESTED GRID MODEL (NMG) 0001 01 AVIATION MODEL(AVN) 0002 01 MEDIUM RANGE FORECAST (MRF) MODEL 0003 01 GLOBAL DATA ASSIMILATION SYSTEM (GDAS) FORECAST MODEL 0004 01 PRIOR SOUNDINGS (WITHIN 3 HOURS OF CURRENT TIME) 0005 01 CLIMATOLOGY 002058 0005 0000 01 12 HOUR AND 18 HOUR 0001 01 18 HOUR AND 24 HOUR 0002 01 6 HOUR AND 12 HOUR 0003 01 GREATER THAN 24 HOUR 0015 01 MISSING VALUE 002059 0005 0000 01 NCEP NESTED GRID MODEL ANALYSIS 0001 01 NCEP AVIATION MODEL ANALYSIS 0002 01 NCEP MEDIUM RANGE FORECAST MODEL ANALYSIS 0003 01 NCEP GLOBAL DATA ASSIMILATION SYSTEM FORECAST MODEL ANALYSIS 0015 01 MISSING VALUE 002060 0007 0000 01 CURRENT SURFACE HOURLY REPORTS 0001 01 CURRENT SHIP REPORTS 0002 01 CURRENT BUOY REPORTS 0003 01 ONE HOUR OLD SURFACE HOURLY REPORTS 0004 01 ONE HOUR SHIP OLD REPORTS 0005 01 ONE HOUR BUOY OLD REPORTS 0015 01 MISSING VALUE 002061 0003 0000 01 INERTIAL NAVIGATOR SYSTEM 0001 01 OMEGA 0007 01 MISSING VALUE 002062 0007 0000 01 ASDAR 0001 01 ASDAR(ACARS ALSO AVAILABLE BUT NOT OPERATIVE) 0002 01 ASDAR(ACARS ALSO AVAILABLE AND OPERATIVE) 0003 01 ACARS 0004 01 ACARS(ASDAR ALSO AVALILABLE BUT NOT OPERATIVE) 0005 01 ACARS(ASDAR ALSO AVAILABLE AND OPERATIVE) 0015 01 MISSING VALUE 002064 0004 0000 01 GOOD 0001 01 BAD 0002 01 RESERVED 0003 01 MISSING VALUE 002066 0004 0000 01 TRS 2000 0001 01 IMS 1500C 0062 01 OTHER 0063 01 MISSING VALUE 002070 0013 0000 01 ACTUAL LOCATION IN SECONDS 0001 01 ACTUAL LOCATION IN MINUTES 0002 01 ACTUAL LOCATION IN DEGREES 0003 01 ACTUAL LOCATION IN DECIDEGREES 0004 01 ACTUAL LOCATION OM CENTIDEGREES 0005 01 REFERENCED TO CHECKPOINT IN SECONDS 0006 01 REFERENCED TO CHECKPOINT IN MINUTES 0007 01 REFERENCED TO CHECKPOINT IN DEGREES 0008 01 REFERENCED TO CHECKPOINT IN DECIDEGREES 0009 01 REFERENCED TO CHECKPOINT IN CENTIDEGREES 0010 01 ACTUAL LOCATION IN TENTHS OF A MINUTE 0011 01 REFERENCED TO CHECKPOINT IN TENTHS OF A MINUTE 0015 01 MISSING VALUE 002080 0005 0000 01 KAYSAM 0001 01 TOTEX 0002 01 KKS 0062 01 OTHER 0063 01 MISSING VALUE 002081 0009 0000 01 GP26 0001 01 GP28 0002 01 GP30 0003 01 HM26 0004 01 HM28 0005 01 HM30 0006 01 SV16 0030 01 OTHER 0031 01 MISSING VALUE 002083 0006 0000 01 HIGH BAY 0001 01 LOW BAY 0002 01 BALLOON INFLATION LAUNCH SYSTEM (BILS) 0003 01 ROOF-TOP BILS 0014 01 OTHER 0015 01 MISSING VALUE 002084 0005 0000 01 HYDROGEN 0001 01 HELIUM 0002 01 NATURAL GAS 0014 01 OTHER 0015 01 MISSING VALUE 002095 0005 0000 01 CAPACITANCE ANEROID 0001 01 DERIVED FROM GPS 0002 01 RESISTIVE STRAIN GAUGE 0030 01 OTHER 0031 01 MISSING VALUE 002096 0005 0000 01 ROD THERMISTOR 0001 01 BEAD THERMISTOR 0002 01 CAPACITANCE BEAD 0030 01 OTHER 0031 01 MISSING VALUE 002097 0008 0000 01 VIZ MARK II CARBON HYGRISTOR 0001 01 VIZ B2 HYGRISTOR 0002 01 VAISALA A-HUMICAP 0003 01 VAISALA H-HUMICAP 0004 01 CAPACITANCE SENSOR 0005 01 VAISALA RS90 0030 01 OTHER 0031 01 MISSING VALUE 002098 0005 0000 01 HH POLARISATION 0001 01 VV POLARISATION 0002 01 HV POLARISATION REAL VALUED COMPONENT 0003 01 HV POLARISATION IMAGINARY VALUED COMPONENT 0007 01 MISSING VALUE 002101 0010 0000 01 CENTRE FRONT-FED PARABOLOID 0001 01 OFFSET FRONT-FED PARABOLOID 0002 01 CENTRE CASSEGRAIN PARABOLOID 0003 01 OFFSET CASSEGRAIN PARABOLOID 0004 01 PLANAR ARRAY 0005 01 COAXIAL-COLLINEAR ARRAY 0006 01 YAGI ELEMENTS ARRAY 0007 01 MICROSTRIP 0014 01 OTHER 0015 01 MISSING VALUE 002103 0002 0001 01 RADAR ANTENNA IS PROTECTED BY A RADOME 0002 01 MISSING VALUE 002104 0007 0000 01 HORIZONTAL POLARISATION 0001 01 VERTICAL POLARISATION 0002 01 RIGHT CIRCULAR POLARISATION 0003 01 LEFT CIRCULAR POLARSZATION 0004 01 HORIZONTAL AND VERTICAL POLARISATION 0005 01 RIGHT AND LEFT CIRCULAR POLARISATION 0015 01 MISSING VALUE 002115 0007 0000 01 PDB 0001 01 RSOIS 0002 01 ASOS 0003 01 PSYCHROMETER 0004 01 F420 0030 01 OTHER 0031 01 MISSING VALUE 002119 0008 0000 01 INTERMEDIATE FREQUENCY CALIBRATION MODE (IFCAL) 0001 01 BUILT-IN TEST EQUIPMENT DIGITAL (BITE DGT) 0002 01 BUILT-IN TEST EQUIPMENT RADIO FREQUENCY (BITE RF) 0003 01 PRESET TRACKING (PSET TRK) 0004 01 PRESET LOOP OUT 0005 01 ACQUISITION 0006 01 TRACKING 0007 01 MISSING VALUE 002131 0001 0001 01 STC OPERATIONAL 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROPHOTOMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED FOR FUTURE USE 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN, ATTENUATOR #0 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002145 0009 0000 01 WAVELENGTH AD ORDINARY SETTING 0001 01 WAVELENGTH BD ORDINARY SETTING 0002 01 WAVELENGTH CD ORDINARY SETTING 0003 01 WAVELENGTH CC' ORDINARY SETTING 0004 01 WAVELENGTH AD FOCUSSING IMAGE 0005 01 WAVELENGTH BD FOCUSSING IMAGE 0006 01 WAVELENGTH CD FOCUSSING IMAGE 0007 01 WAVELENGTH CC' FOCUSSING IMAGE 0015 01 MISSING VALUE 002146 0011 0000 01 ON DIRECT SUN 0001 01 ON DIRECT MOON 0002 01 ON BLUE ZENITH SKY 0003 01 ON ZENITH CLOUD (UNIFORM STRATIFIED LAYER OF SMALL OPACITY) 0004 02 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF MED IUM OPACITY) 0005 02 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF LAR GE OPACITY) 0006 02 ON ZENITH CLOUD (HIGHLY VARIABLE OPACITY, WITH OR WITOUT PRE CIPITATION) 0007 01 ON ZENITH CLOUD (FOG) 0008 01 ON ZENITH HAZE 0009 01 ON DIRECT SUN THROUGH THIN CLOUD, FOG OR HAZE 0015 01 MISSING VALUE 002148 0006 0000 01 RESERVED 0001 01 ARGOS 0002 01 GPS 0003 01 GOES DCP 0004 01 METEOSAT DCP 0031 01 MISSING VALUE 002149 0022 0000 01 UNSPECIFIED DRIFTING BUOY 0001 01 STANDARD LAGRANGIAN DRIFTER (GLOBAL DRIFTER PROGRAMME) 0002 01 STANDARD FGGE TYPE DRIFTING BUOY 0003 01 WIND MEASURING FGGE TYPE DRIFTING BUOY 0004 01 ICE FLOAT 0008 01 UNSPECIFIED SUB-SURFACE FLOAT 0009 01 SOFAR 0010 01 ALACE 0011 01 MARVOR 0012 01 RAFOS 0016 01 UNSPECIFIED MOORED BUOY 0017 01 NOMAD 0018 01 3-METRE DISCUS 0019 01 10-12-METRE DISCUS 0020 01 ODAS 30 SERIES 0021 01 ATLAS (E.G. TAO AREA) 0022 01 TRITON BUOY 0023 01 RESERVED 0024 01 OMNIDIRECTIONAL WAVERIDER 0025 01 DIRECTIONAL WAVERIDER 0026 01 SUB-SURFACE ARGO FLOAT 0063 01 MISSING VALUE 002150 0055 0000 01 RESERVED 0001 01 HIRS 1 0002 01 HIRS 2 0003 01 HIRS 3 0004 01 HIRS 4 0005 01 HIRS 5 0006 01 HIRS 6 0007 01 HIRS 7 0008 01 HIRS 8 0009 01 HIRS 9 0010 01 HIRS 10 0011 01 HIRS 11 0012 01 HIRS 12 0013 01 HIRS 13 0014 01 HIRS 14 0015 01 HIRS 15 0016 01 HIRS 16 0017 01 HIRS 17 0018 01 HIRS 18 0019 01 HIRS 19 0020 01 HIRS 20 0021 01 MSU 1 0022 01 MSU 2 0023 01 MSU 3 0024 01 MSU 4 0025 01 SSU 1 0026 01 SSU 2 0027 01 SSU 3 0028 01 AMSU-A 1 0029 01 AMSU-A 2 0030 01 AMSU-A 3 0031 01 AMSU-A 4 0032 01 AMSU-A 5 0033 01 AMSU-A 6 0034 01 AMSU-A 7 0035 01 AMSU-A 8 0036 01 AMSU-A 9 0037 01 AMSU-A 10 0038 01 AMSU-A 11 0039 01 AMSU-A 12 0040 01 AMSU-A 13 0041 01 AMSU-A 14 0042 01 AMSU-A 15 0043 01 AMSU-B 1 0044 01 AMSU-B 2 0045 01 AMSU-B 3 0046 01 AMSU-B 4 0047 01 AMSU-B 5 0048 01 AVHRR 1 0049 01 AVHRR 2 0050 01 AVHRR 3A 0051 01 AVHRR 3B 0052 01 AVHRR 4 0053 01 AVHRR 5 0063 01 MISSING VALUE 002151 0009 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A1-1 0004 01 AMSU-A1-2 0005 01 AMSU-A2 0006 01 AMSU-B 0007 01 AVHRR 2047 01 MISSING VALUE 002152 0011 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 002158 0008 0001 01 MISMATCH IN RED VEC HPA 0002 01 MISMATCH IN RED VEC RFSS 0003 01 PTR CALIBRATION BAND 320 MHZ (KU) 0004 01 PTR CALIBRATION BAND 80 MHZ (KU) 0005 01 PTR CALIBRATION BAND 20 MHZ (KU) 0006 01 PTR CALIBRATION BAND 160 MHZ (S) 0007 01 KU FLIGHT CALIBRATION PARAMETERS AVAILABLE 0008 01 S FLIGHT CALIBRATION PARAMETERS AVAILABLE 002159 0005 0001 01 TEMPERATURE INCONSISTENCY 0002 01 DATA IS MISSING 0003 01 REDUNDANCY CHANNEL 0004 01 POWER BUS PROTECTION 0005 01 OVERVOLTAGE/OVERLOAD PROTECTION 002163 0015 0000 01 AUTO EDITOR 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002164 0004 0000 01 LP - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0007 01 MISSING VALUE 002166 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 002167 0004 0000 01 METHOD NOT DEFINE 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002169 0004 0000 01 CUP ROTOR 0001 01 PROPELLER ROTOR 0002 01 WIND OBSERVATION THROUGH AMBIENT NOISE (WOTAN) 0015 01 MISSING VALUE 002172 0003 0001 01 RETRIEVAL FROM A NADIR SOUNDING 0002 01 RETRIEVAL FROM A LIMB SOUNDING 0255 01 MISSING VALUE 002175 0009 0000 01 MANUAL MEASUREMENT 0001 01 TIPPING BUCKET METHOD 0002 01 WEIGHING METHOD 0003 01 OPTICAL METHOD 0004 01 PRESSURE METHOD 0005 01 FLOAT METHOD 0006 01 DROP COUNTER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002176 0006 0000 01 MANUAL OBSERVATION 0001 01 VIDEO CAMERA METHOD 0002 01 INFRA-RED METHOD 0003 01 LASER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002177 0005 0000 01 MANUAL OBSERVATION 0001 01 ULTRASONIC METHOD 0002 01 VIDEO CAMERA METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002178 0005 0000 01 MANUAL OBSERVATION 0001 01 OPTICAL METHOD 0002 01 CAPACITIVE METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002179 0006 0000 01 MANUAL OBSERVATION 0001 01 VAISALA ALGORITHM 0002 01 ASOS (FAA) ALGORITHM 0003 01 AWOS (CANADA) ALGORITHM 0014 01 OTHER 0015 01 MISSING VALUE 002180 0008 0000 01 MANUAL OBSERVATION 0001 02 OPTICAL SCATTER SYSTEM COMBINED WITH PRECIPITATION OCCURRENCE SENSING SYSTEM 0002 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF VISIBLE LIGHT 0003 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF INFRARED LIGHT 0004 01 INFRARED LIGHT EMITTING DIODE (IRED) SYSTEM 0005 01 DOPPLER RADAR SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002181 0005 0001 01 RAIN DETECTOR 0002 01 FREEZING RAIN SENSOR 0003 01 ICE DETECTION SENSOR 0004 01 HAIL AND ICE PELLET SENSOR 0020 01 OTHER 002182 0007 0000 01 MANUAL MEASUREMENT 0001 01 TRANSMISSOMETER SYSTEM (BASE > 25) 0002 01 TRANSMISSOMETER SYSTEM (BASE < 25 M) 0003 01 FORWARD SCATTER SYSTEM 0004 01 BACK SCATTER SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002183 0009 0000 01 MANUAL OBSERVATION 0001 01 CEILOMETER SYSTEM 0002 01 INFRARED CAMERA SYSTEM 0003 01 MICROWAVE VISUAL CAMERA SYSTEM 0004 01 SKY IMAGER SYSTEM 0005 01 VIDEO TIME LAPSED CAMERA SYSTEM 0006 01 MICRO PULSE LIDAR (MPL) SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002184 0008 0000 01 MANUAL OBSERVATION 0001 01 LIGHTNING IMAGING SENSOR 0002 01 ELECTRICAL STORM IDENTIFICATION SENSOR 0003 01 MAGNETIC FINDER SENSOR 0004 01 LIGHTNING STRIKE SENSOR 0005 01 FLASH COUNTER 0014 01 OTHER 0015 01 MISSING VALUE 002185 0007 0000 01 MANUAL MEASUREMENT 0001 01 BALANCED FLOATING METHOD 0002 01 PRESSURE METHOD 0003 01 ULTRASONIC METHOD 0004 01 HYDRAULIC METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002186 0023 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 002187 0011 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 002188 0010 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 002189 0004 0001 01 MANUAL OBSERVATION 0002 01 ALL LIGHTNING STRIKES WITHOUT DISCRIMINATION 0003 01 LIGHTNING STRIKES CLOUD TO GROUND ONLY 0004 02 ALL LIGHTNING STRIKES WITH DISCRIMINATION BETWEEN CLOUD TO GROUND AND CLOUD TO CLOUD 002194 0002 0000 01 FGGE 0015 01 MISSING VALUE 002196 0017 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 ( TIROS NOAA 6 TO NOAA 13) 0003 01 TIROS 2 ( NOAA-14 ONWARD) 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0271 01 GMS 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME(MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME(MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME(MSG) 0351 01 GOMS 0381 01 FY-2 0512 01 MISSING VALUE 002199 0004 0000 01 RESERVED 0001 01 TABLE WITH FULL RANGE OF HUMMIDITY VALUES IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002216 0017 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG(1) 0015 01 SLICES PER COMPOSITE FLAG(2) 0016 01 SLICES PER COMPOSITE FLAG(3) 0017 01 MISSING VALUE 002231 0015 0000 01 RESERVED 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMU M GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002232 0004 0000 01 P - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0003 01 MISSING VALUE 002251 0004 0000 01 METHOD NOT DEFINED 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002252 0012 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 0012 01 MULTI-CHANNEL SCANNING RADIOMETER 002254 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 004059 0005 0001 01 00 UTC 0002 01 06 UTC 0003 01 12 UTC 0004 01 18 UTC 0005 01 OTHER HOURS 008001 0007 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT LEVEL, TEMPERATURE AND/OR RELATIVE HUMIDITY 0006 01 SIGNIFICANT LEVEL, WIND 0007 01 MISSING VALUE 008002 0013 0000 02 OBSERVING RULES FOR BASE OF LOWEST CLOUD AND CLOUD TYPES OF FM 12-IX EXT. SYNOP AND FM 13-IX EXT. SHIP APPLY 0001 01 FIRST NON - CB SIGNIFICANT LAYER 0002 01 SECOND NON - CB SIGNIFICANT LAYER 0003 01 THIRD NON - CB SIGNIFICANT LAYER 0004 01 CUMULONIMBUS LAYER 0005 01 CEILING 0006 01 CLOUD NOT DETECTED BELOW THE FOLLOWING HEIGHT(S) 0007 01 LOW CLOUD 0008 01 MIDDLE CLOUD 0009 01 HIGH CLOUD 0010 02 CLOUD LAYER WITH BASE BELOW THE STATION LEVEL AND TOP ABOVE THE STATION LEVEL 0011 01 CLOUD LAYER WITH BASE AND TOP BELOW THE STATION LEVEL 0063 01 MISSING VALUE 008003 0009 0000 01 SURFACE 0001 01 BASE OF SATELLITE SOUNDING 0002 01 CLOUD TOP 0003 01 TROPOPAUSE 0004 01 PRECIPITABLE WATER 0005 01 SOUNDING RADIANCES 0006 01 MEAN TEMPERATURES 0007 01 OZON 0063 01 MISSING VALUE 008004 0006 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING(DES) 0007 01 MISSING VALUE 008005 0007 0000 01 RESERVED 0001 01 STORM CENTRE 0002 01 OUTER LIMIT OR EDGE OF STORM 0003 01 LOCATION OF MAXIMUM WIND 0004 01 LOCATION OF STORM IN THE PERTURBED ANALYSIS 0005 01 LOCATION OF STORM IN THE ANALYSIS 0015 01 MISSING VALUE 008006 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 PROMINENT MAXIMUM LEVEL 0005 01 PROMINENT MINIMUM LEVEL 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008007 0005 0000 01 POINT 0001 01 LINE 0002 01 AREA 0003 01 VOLUME 0015 01 MISSING VALUE 008008 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 LEVEL OF BETA RADIATION MAXIMUM 0005 01 LEVEL OF GAMMA RADIATION MAXIMUM 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008009 0016 0000 01 LEVEL FLIGHT, ROUTINE OBSERVATION, UNSTEADY 0001 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED, UNSTEADY 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING (DES) 0007 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0008 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0009 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0010 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0011 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0012 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0013 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0014 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0015 01 MISSING VALUE 008010 0013 0000 01 RESERVED 0001 01 BARE SOIL 0002 01 BARE ROCK 0003 01 LAND GRASS COVER 0004 01 WATER (LAKE, SEA) 0005 01 FLOOD WATER UNDERNEATH 0006 01 SNOW 0007 01 ICE 0008 01 RUNWAY OR ROAD 0009 01 SHIP OR PLATFORM DECK IN STEEL 0010 01 SHIP OR PLATFORM DECK IN WOOD 0011 01 SHIP OR PLATFORM DECK PARTLY COVERED WITH RUBBER MAT 0031 01 MISSING VALUE 008011 0026 0000 01 QUASI-STATIONARY FRONT AT THE SURFACE 0001 01 QUASI-STATIONARY FRONT ABOVE THE SURFACE 0002 01 WARM FRONT AT THE SURFACE 0003 01 WARM FRONT ABOVE THE SURFACE 0004 01 COLD FRONT AT THE SURFACE 0005 01 COLD FRONT ABOVE THE SURFACE 0006 01 OCCLUSION 0007 01 INSTABILITY LINE 0008 01 INTERTROPICAL FRONT 0009 01 CONVERGENCE LINE 0010 01 JET STREAM 0011 01 CLOUD CLEAR 0012 01 CLOUD 0013 01 TURBULENCE 0014 01 STORM 0015 01 AIRFRAME ICING 0016 01 PHENOMENON 0017 01 VOLCANO 0018 01 ATMOSPHERICS 0020 01 SPECIAL CLOUDS 0021 01 THUNDERSTORM (VAL) 0022 01 TROPICAL CYCLONE (VAL) 0023 01 MOUNTAIN WAVE (VAL) 0024 01 DUSTSTORM (VAL) 0025 01 SANDSTORM (VAL) 0063 01 MISSING VALUE 008012 0004 0000 01 LAND 0001 01 SEA 0002 01 RESERVED 0003 01 MISSING VALUE 008013 0004 0000 01 NIGHT 0001 01 DAY 0002 01 RESERVED 0003 01 MISSING VALUE 008014 0010 0000 01 10-MINUTE MEAN VALUE - NORMAL VALUE 0001 02 10-MINUTE MEAN VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0002 02 10-MINUTE MEAN VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF R VR (M) 0003 01 ONE MINUTE MINIMUM VALUE - NORMAL VALUE 0004 02 ONE MINUTE MINIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSM ENT OF RVR (P) 0005 02 ONE MINUTE MINIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0006 01 ONE MINUTE MAXIMUM VALUE - NORMAL VALUE 0007 02 ONE MINUTE MAXIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESS MENT OF RVR (P) 0008 02 ONE MINUTE MAXIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0015 01 MISSING VALUE 008016 0005 0000 01 NOSIG 0001 01 BECMG 0002 01 TEMPO 0003 01 FM 0007 01 MISSING VALUE 008017 0004 0000 01 FM 0001 01 TL 0002 01 AT 0003 01 MISSING VALUE 008018 0005 0001 01 LAND IS PRESENT 0002 01 SURFACE ICE MAP INDICATES ICE IS PRESENT 0011 01 ICE MAP DATA NOT AVAILABLE 0012 01 ATTENUATION MAP DATA NOT AVAILABLE 0017 01 MISSING VALUE 008021 0032 0000 01 RESERVED 0001 01 TIME SERIES 0002 01 TIME AVERAGED 0003 01 ACCUMULATED 0004 01 FORECAST 0005 01 FORECAST TIME SERIES 0006 01 FORECAST TIME AVERAGED 0007 01 FORECAST ACCUMULATED 0008 01 ENSEMBLE MEAN 0009 01 ENSEMBLE MEAN TIME SERIES 0010 01 ENSEMBLE MEAN TIME AVERAGED 0011 01 ENSEMBLE MEAN ACCUMULATED 0012 01 ENSEMBLE MEAN FORECAST 0013 01 ENSEMBLE MEAN FORECAST TIME SERIES 0014 01 ENSEMBLE MEAN FORECAST AVERAGED 0015 01 ENSEMBLE MEAN FORECAST ACCUMULATED 0016 01 ANALYSIS 0017 01 START OF PHENOMENON 0018 01 RADIOSONDE LAUNCH TIME 0019 01 START OF ORBIT 0020 01 END OF ORBIT 0021 01 TIME OF ASCENDING NODE 0022 01 TIME OF OCCURENCE OF WIND SHIFT 0023 01 MONITORING PERIOD 0024 01 AGREED TIME LIMIT FOR REPORT RECEPTION 0025 01 NOMINAL REPORTING TIME 0026 01 TIME OF LAST KNOWN POSITION 0027 01 FIRST GUESS --NOT WMO ENTRY 0028 01 START OF SCAN --NOT WMO ENTRY 0029 01 END OF SCAN --NOT WMO ENTRY 0030 01 RESERVED 0031 01 MISSING VALUE 008023 0017 0002 01 MAXIMUM VALUE 0003 01 MINIMUM VALUE 0004 01 MEAN VALUE 0005 01 MEDIAN VALUE 0006 01 MODAL VALUE 0007 01 MEAN ABSOLUTE ERROR 0009 01 BEST ESTIMATE OF STANDARD DEVIATION (N-1) 0010 01 STANDARD DEVIATION 0011 01 HARMONIC MEAN 0012 01 ROOT MEAN SQUARE VECTOR ERROR 0013 01 ROOT-MEAN-SQUARE 0032 01 PROBABILITY OF GROSS ERROR 0033 01 PRESCRIBED OBSERVATION ERROR 0034 01 PERSISTENCE OBSERVATION ERROR 0035 01 FINAL OBSERVATION ERROR 0036 01 REPRESENTATIVNESS OBSERVATION ERROR 0063 01 MISSING 008024 0015 0002 01 OBSERVED MINUS MAXIMUM 0003 01 OBSERVED MINUS MINIMUM 0004 01 OBSERVED MINUS MEAN 0005 01 OBSERVED MINUS MEDIAN 0006 01 OBSERVED MINUS MODE 0011 01 OBSERVED MINUS CLIMATOLOGY (ANOMALY) 0012 01 OBSERVED MINUS ANALYZED VALUE 0013 01 OBSERVED MINUS INITIALISED ANALYZED VALUE 0014 01 OBSERVED MINUS FORECAST VALUE 0021 01 OBSERVED MINUS INTERPOLATED VALUE 0022 01 OBSERVED MINUS HYDROSTATICALLY CALCULATED VALUE 0032 01 OBSERVED MINUS FIRST GUESS 0033 01 OBSERVED MINUS ANALYSIS 0034 01 OBSERVED MINUS INITIALIZED ANALYSIS 0063 01 MISSING 008025 0005 0000 02 UNIVERSAL TIME COORDINATED (UTC) MINUS LOCAL STANDARD TIME (LST) 0001 01 LOCAL STANDARD TIME 0002 01 UNIVERSAL TIME COORDINATED (UTC) MINUS SATELLITE CLOCK 0005 01 TIME DIFFERENCE FROM EDGE OF PROCESSING SEGMENT 0015 01 MISSING 008026 0005 0000 01 AVERAGING KERNEL MATRIX 0001 01 CORRELATION MATRIX 0002 02 LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L FROM C=LL T) 0003 02 INVERSE LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L** -1) 0063 01 MISSING VALUE 008027 0007 0000 01 ASSUME NO PARTICULAR MATRIX GEOMETRY 0001 01 DIAGONAL MATRIX 0002 01 TRIDIAGONAL MATRIX 0003 01 MULTI-DIAGONAL MATRIX (GENERAL CASE: DIAGONAL AND ABOVE) 0004 01 LOWER TRIANGULAR MATRIX 0005 01 SYMETRICAL MATRIX 0063 01 MISSING VALUE 008029 0005 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 ENCLOSED SEA OR LAKE 0002 01 CONTINENTAL ICE 0003 01 LAND 0255 01 MISSING 008033 0006 0000 01 RESERVED 0001 01 PERCENTAGE CONFIDENCE CALCULATED USING CLOUD FRACTION 0002 02 PERCENTAGE CONFIDENCE CALCULATED USING STANDARD DEVIATION OF TEMPERATURE 0003 02 PERCENTAGE CONFIDENCE CALCULATED USING PROBABILITY OF THE CLOUD CONTAMINATION 0004 02 PERCENTAGE CONFIDENCE CALCULATED USING NORMALITY OF DISTRIBU TION 0127 01 MISSING 008035 0008 0000 01 GLOBAL 0001 01 REGIONAL 0002 01 NATIONAL 0003 01 SPECIAL 0004 01 BILATERAL 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING 008036 0008 0000 01 WMO SECRETARIAT 0001 01 WMO 0002 01 RSMC 0003 01 NMC 0004 01 RTH 0005 01 OBSERVING SITE 0006 01 OTHER 0007 01 MISSING 008039 0008 0000 01 ISSUE TIME OF FORECAST 0001 01 TIME OF COMMNENCEMENT OF PERIOD OF THE FORECAST 0002 01 TIME OF ENDING OF PERIOD OF THE FORECAST 0003 01 FORECSAT TIME OF MAXIMUM TEMPERATURE 0004 01 FORECSAT TIME OF MINIMUM TEMPERATURE 0005 01 TIME OF BEGINNING OF THE FORECAST 0006 01 TIME OF ENDING OF THE FORECAST 0063 01 MISSING VALUE 008040 0043 0000 01 HIGH RESOLUTION DATA SAMPLE 0001 01 WITHIN 20 HPA OF SURFACE 0002 02 PRESSURE LESS THAN 10 HPA (I.E., 9, 8, 7, ETC.) WHEN NO OTHER REASON APPLIES 0003 01 BASE PRESSURE LEVEL FOR STABILITY INDEX 0004 01 BEGIN DOUBTFUL TEMPERATURE, HEIGHT DATA 0005 01 BEGIN MISSING DATA (ALL ELEMENTS) 0006 01 BEGIN MISSING RH DATA 0007 01 BEGIN MISSING TEMPERATURE DATA 0008 02 HIGHEST LEVEL REACHED BEFORE BALLOON DESCENT BECAUSE OF ICING OR TURBULENCE 0009 01 END DOUBTFUL TEMPERATURE, HEIGHT DATA 0010 01 END MISSING DATA (ALL ELEMENTS) 0011 01 END MISSING RH DATA 0012 01 END MISSING TEMPERATURE DATA 0013 01 ZERO DEGREES C CROSSING(S) FOR RADAT 0014 01 STANDARD PRESSURE LEVEL 0015 01 OPERATOR ADDED LEVEL 0016 01 OPERATOR DELETED LEVEL 0017 01 BALLOON RE-ASCENDED BEYOND PREVIOUS HIGHEST ASCENT LEVEL 0018 01 SIGNIFICANT RH LEVEL 0019 01 RH LEVEL SELECTION TERMINATED 0020 01 SURFACE LEVEL 0021 01 SIGNIFICANT TEMPERATURE LEVEL 0022 01 MANDATORY TEMPERATURE LEVEL 0023 01 FLIGHT TERMINATION LEVEL 0024 01 TROPOPAUSE(S) 0025 01 AIRCRAFT REPORT 0026 01 INTERPOLATED (GENERATED) LEVEL 0027 01 MANDATORY WIND LEVEL 0028 01 SIGNIFICANT WIND LEVEL 0029 01 MAXIMUM WIND LEVEL 0030 01 INCREMENTAL WIND LEVEL (FIXED REGIONAL) 0031 01 INCREMENTAL HEIGHT LEVEL (GENERATED) 0032 01 WIND TERMINATION LEVEL 0033 01 PRESSURE 100 TO 110 HPA, WHEN NO OTHER REASON APPLIES 0040 01 SIGNIFICANT THERMODYNAMIC LEVEL (INVERSION) 0041 01 SIGNIFICANT RH LEVEL ( PER NCDC CRITERIA) 0042 01 SIGNIFICANT TEMPERATURE LEVEL (PER NCDC) 0043 01 BEGIN MISSING WIND DATA 0044 01 END MISSING WIND DATA 0060 01 LEVEL OF 80-KNOT ISOTACH ABOVE JET 0061 01 LEVEL OF 80-KNOT ISOTACH BELOW JET 0062 01 OTHER 0063 01 MISSING VALUE 008041 0009 0000 01 PARENT SITE 0001 01 OBSERVATION SITE 0002 01 BALLOON MANUFACTURE DATE 0003 01 BALLOON LAUNCH POINT 0004 01 SURFACE OBSERVATION 0005 01 SURFACE OBSERVATION DISPLACEMENT FROM LAUNCH POINT 0006 01 FLIGHT LEVEL OBSERVATION 0007 01 FLIGHT LEVEL TERMINATION POINT 0031 01 MISSING VALUE 008042 0013 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT TEMPERATURE LEVEL 0006 01 SIGNIFICANT HUMIDITY LEVEL 0007 01 SIGNIFICANT WIND LEVEL 0008 01 BEGINNING OF MISSING TEMPERATURE DATA 0009 01 END OF MISSING TEMPERATURE DATA 0010 01 BEGINNING OF MISSING HUMIDITY DATA 0011 01 END OF MISSING HUMIDITY DATA 0012 01 BEGINNING OF MISSING WIND DATA 0013 01 END OF MISSING WIND DATA 008043 0021 0000 01 OZONE, O3,10028-15-6 0001 01 WATER VAPOUR, H2O, 7732-18-5 0002 01 METHANE, CH4, 74-82-8 0003 01 CARBON DIOXIDE, CO2, 37210-16-5 0004 01 CARBON MONOXIDE, CO, 630-08-0 0005 01 NITROGEN DIOXIDE, NO2, 10102-44-0 0006 01 NITROUS OXIDE, N2O, 10024-97-2 0007 01 FORMALDEHYDE, HCHO, 50-00-0 0008 01 SULFUR DIOXIDE, SO2, 7446-09-5 0009 01 BROMINE OXIDE, BRO, 15656-19-6 0010 01 CHLORINE DIOXIDE, OCLO, 10049-04-4 0011 01 NITROGEN MONOXIDE, NO, 10102-43-9 0012 01 AMMONIA, NH3, 7664-41-7 0025 01 PARTICULATE MATTER < 1.0 MICRONS 0026 01 PARTICULATE MATTER < 2.5 MICRONS 0027 01 PARTICULATE MATTER < 10 MICRONS 0028 01 AEROSOLS GENERIC 0029 01 SMOKE GENERIC 0030 01 CRUSTAL MATERIAL (GENERIC DUST) 0031 01 VOLCANIC ASH 0255 01 MISSING 008050 0011 0000 01 RESERVED 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MAXIMUM TEMPERATURE 0008 01 MINIMUM TEMPERATURE 0009 01 WIND 0015 01 MISSING VALUE 008051 0007 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MISSING VALUE 008052 0026 0000 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 10 M/S 0001 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 20 M/S 0002 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 30 M/S 0003 01 MAXIMUM TEMPERATURE LESS THAN 273.2 K 0004 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 298.2 K 0005 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 303.2 K 0006 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 308.2 K 0007 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 313.2 K 0008 01 MINIMUM TEMPERATURE LESS THAN 273.2 K 0009 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 273.2 K 0010 01 PRECIPITATION EQUAL TO OR MORE THAN 1.0 KG/M**2 0011 01 PRECIPITATION EQUAL TO OR MORE THAN 5.0 KG/M**2 0012 01 PRECIPITATION EQUAL TO OR MORE THAN 10.0 KG/M**2 0013 01 PRECIPITATION EQUAL TO OR MORE THAN 50.0 KG/M**2 0014 01 PRECIPITATION EQUAL TO OR MORE THAN 100.0 KG/M**2 0015 01 PRECIPITATION EQUAL TO OR MORE THAN 150.0 KG/M**2 0016 01 SNOW DEPTH MORE THAN 0.0 M 0017 01 SNOW DEPTH MORE THAN 0.01 M 0018 01 SNOW DEPTH MORE THAN 0.10 M 0019 01 SNOW DEPTH MORE THAN 0.50 M 0020 01 HORIZONTAL VISIBILITY LESS THAN 50 M 0021 01 HORIZONTAL VISIBILITY LESS THAN 100 M 0022 01 HORIZONTAL VISIBILITY LESS THAN 1000 M 0023 01 HAIL 0024 01 THUNDERSTORM 0031 01 MISSING VALUE 008053 0004 0000 01 VALUE OCCURED ON ONLY ONE DAY IN THE MONTH 0001 01 VALUE OCCURED ON MORE THAN ONE DAY IN THE MONTH 0002 01 RESERVED 0003 01 MISSING VALUE 008054 0003 0000 01 WIND SPEED OR GUST IS AS REPORTED 0001 02 WIND SPEED IS GREATER THAN THAT REPRTED (P IN METAR/TAF/SPEC I) 0007 01 MISSING VALUE 008060 0008 0000 01 RESERVED 0001 01 RANGE 0002 01 AZIMUTH 0003 01 HORIZONTAL 0004 01 VERTICAL 0005 01 NORTH/SOUTH 0006 01 EAST/WEST 0015 01 MISSING VALUE 008065 0004 0000 01 NO SUN-GLINT 0001 01 SUN-GLINT 0002 01 RESERVED 0003 01 MISSING VALUE 008066 0004 0000 01 OPAQUE 0001 01 SEMI-TRANSPARENT 0002 01 RESERVED 0003 01 MISSING VALUE 008070 0006 0000 01 RESERVED 0001 01 RESERVED 0002 02 EARTH LOCATED INSTRUMENT COUNTS, CALIBRATION COEFFICIENTS AND HOUSEKEEPING (LEVEL 1B) 0003 01 EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1C) 0004 02 MAPPED TO A COMMON FOOTPRINT, EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1D) 0015 01 MISSING VALUE 008072 0004 0000 01 MIXED 0001 01 CLEAR 0002 01 CLOUDY 0007 01 MISSING VALUE 008074 0004 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 NON-OCEAN LIKE 0002 01 RESERVED 0003 01 MISSING VALUE 008075 0004 0000 01 ASCENDING ORBIT 0001 01 DESCENDING ORBIT 0002 01 RESERVED 0003 01 MISSING VALUE 008076 0003 0000 01 KU 0001 01 C 0063 01 MISSING VALUE 008077 0007 0000 01 LAND 0001 01 SEA 0002 01 COASTAL 0003 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0004 01 ENCLOSED SEA OR LAKE 0005 01 CONTINENTAL ICE 0127 01 MISSING VALUE 008079 0009 0000 01 NORMAL ISSUE 0001 01 CORRECTION TO A PREVIOUSLY ISSUED PRODUCT (COR) 0002 01 AMANDMENT TO A PREVIOUSLY ISSUED PRODUCT *AMD) 0003 01 CORRECTION TO A PREVIOUSLY ISSUED AMENDED PRODUCT (COR AMD) 0004 01 CANCELLATION OD A PREVIOUSLY ISSUED PRODUCT (CNL) 0005 01 NO PRODUCT AVAILABLE (NIL) 0006 01 SPECIAL REPORT ( SPECI) 0007 01 CORRECTED SPECIAL REPORT (SPECI COR) 0015 01 MISSING VALUE 008080 0009 0000 01 TOTAL WATER PRESSURE PROFILE 0001 01 TOTAL WATER TEMPERATURE PROFILE 0002 01 TOTAL WATER SALINITY PROFILE 0003 01 TOTAL WATER CONDUCTIVITY PROFILE 0010 01 WATER PRESSURE AT A LEVEL 0011 01 WATER TEMPERATURE AT A LEVEL 0012 01 SALINITY AT A LEVEL 0020 01 POSITION 0063 01 MISSING VALUE 008081 0005 0000 01 SENSOR 0001 01 TRANSMITTER 0002 01 RECEIVER 0003 01 OBSERVING PLATFORM 0063 01 MISSING VALUE 008082 0003 0000 01 SENSOR HEIGHT IS NOT MODIFIED 0001 01 SENSOR HEIGHT IS MODIFIED TO STANDARD LEVEL 0007 01 MISSING VALUE 008083 0009 0001 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABO VE LOCAL GROUND (OR DECK OF MARINE PLATFORM) 0002 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABO VE WATER SURFACE 0003 01 ADJUSTED WITH RESPECT TO STANDARD SURFACE ROUGHNESS 0004 01 ADJUSTED WITH RESPECT TO WIND SPEED 0005 01 ADJUSTED WITH RESPECT TO TEMPERATURE 0006 01 ADJUSTED WITH RESPECT TO PRESSURE 0007 01 ADJUSTED WITH RESPECT TO HUMIDITY 0008 01 ADJUSTED WITH RESPECT TO EVAPORATION 0009 01 ADJUSTED WITH RESPECT TO WETTING LOSSES 008085 0008 0000 01 FORE BEAM 0001 01 MID BEAM 0002 01 AFT BEAM 0003 01 RESERVED 0004 01 RESERVED 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING VALUE 008193 0007 0000 01 START TIME OF ORBIT 0001 01 END TIME OF ORBIT 0002 01 TIME OF ASCENDING NODE 0003 01 ASSIMILATION TIME 0004 01 START TIME OF ASSIMILATION 0005 01 END TIME OF ASSIMLATION 0063 01 MISSING 008195 0032 0001 01 FIRST GUESS 0002 01 ANALYSIS 0003 01 INITIALISED ANALYSIS 0004 01 OI ANALYSIS 0005 01 3 D VARIATIONAL ANALYSIS 0006 01 4 D VARIATIONAL ANALYSIS 0007 01 3 D VARIATIONAL GRADIENTS 0008 01 4 D VARIATIONAL GRADIENTS 0009 01 FORECAST 0010 01 CONTROL FORECAST 0011 01 PERTURBED FORECAST 0012 01 ERRORS IN FIRST GUESS 0013 01 ERRORS IN ANALYSIS 0014 01 CLUSTER MEANS 0015 01 CLUSTER STANDARD DEVIATIONS 0016 01 FORECAST PROBABILITIES 0017 01 ENSEMBLE MEANS 0018 01 ENSEMBLE STANDARD DEVIATIONS 0019 01 FORECAST ACCUMULATIONS 0020 01 CLIMATOLOGY 0021 01 CLIMATE SIMULATION 0030 01 OBSERVATIONS 0031 01 QUALITY CONTROL 0032 01 DIFFERENCE STATISTICS 0040 01 IMAGE DATA 0050 01 SENSITIVITY GRADIENTS 0051 01 TRAJECTORY FORECAST 0052 01 SENSITIVITY FORECAST 0060 01 PERTURBED ANALYSIS 0061 01 PERTURBATION 0062 01 SINGULAR VECTOR 0127 01 MISSING VALUE 010063 0010 0000 02 INCREASING, THEN DECREASING: ATMOSPHERIC PRESURE THE SAME OR HIGHER THAN 3 HOURS AGO (OR 24 HOURS AGO ) 0001 01 INCREASING, THEN STEADY; OR INCREASING; THEN MORE SLOWLY 0002 01 INCREASING (STEADILY OR UNSTEADILY ) 0003 01 DECREASING OR STEADY, THEN INCREASING; RAPIDLY 0004 02 STEADY; ATMOSPHERIC PRESSURE THE SAME AS 3 HOURS AGO (OR 24 HOURS) 0005 02 DECREASING; THEN INCREASING; ATMOSPHERIC PRESSURE THE SAME O R LOWER THAN 3 HOURS AGO 0006 02 DECREASING, THEN STEADY; OR DECREASING, DECREASING MORE SLOW LY 0007 01 DECREASING (STEADILY OR UNSTEADELY ) 0008 02 STEADY OR INCREASING, THEN DECREASING; OR DECREASING, THEN DECREASING MORE RAPIDLY 0015 01 MISSING 010064 0004 0000 01 SUBSONIC 0001 01 TRANSONIC 0002 01 SUPERSONIC 0007 01 MISSING VALUE 011031 0009 0000 01 NIL IN CLOUD 0001 01 SLIGHT IN CLOUD 0002 01 MODERATE IN CLOUD 0003 01 SEVERE IN CLOUD 0004 01 NIL IN CLEAR AIR 0005 01 SLIGHT IN CLEAR AIR 0006 01 MODERATE IN CLEAR AIR 0007 01 SEVERE IN CLEAR AIR 0015 01 MISSING VALUE 011037 0030 0000 01 AVE <0.1 PEAK <0.1 0001 01 AVE <0.1 0.1 <= PEAK <0.2 0002 01 0.1 <= AVE <0.2 0.1 <= PEAK <0.2 0003 01 AVE <0.1 0.2 <= PEAK <0.3 0004 01 0.1 <= AVE <0.2 0.2 <= PEAK <0.3 0005 01 0.2 <= AVE <0.3 0.2 <= PEAK <0.3 0006 01 AVE <0.1 0.3 <= PEAK <0.4 0007 01 0.1 <= AVE <0.2 0.3 <= PEAK <0.4 0008 01 0.2 <= AVE <0.3 0.3 <= PEAK <0.4 0009 01 0.3 <= AVE <0.4 0.3 <= PEAK <0.4 0010 01 AVE <0.1 0.4 <= PEAK <0.5 0011 01 0.1 <= AVE <0.2 0.4 <= PEAK <0.5 0012 01 0.2 <= AVE <0.3 0.4 <= PEAK <0.5 0013 01 0.3 <= AVE <0.4 0.4 <= PEAK <0.5 0014 01 0.4 <= AVE <0.5 0.4 <= PEAK <0.5 0015 01 AVE <0.1 0.5 <= PEAK <0.8 0016 01 0.1 <= AVE <0.2 0.5 <= PEAK <0.8 0017 01 0.2 <= AVE <0.3 0.5 <= PEAK <0.8 0018 01 0.3 <= AVE <0.4 0.5 <= PEAK <0.8 0019 01 0.4 <= AVE <0.5 0.5 <= PEAK <0.8 0020 01 0.5 <= AVE <0.8 0.5 <= PEAK <0.8 0021 01 AVE <0.1 0.8 <= PEAK 0022 01 0.1 <= AVE <0.2 0.8 <= PEAK 0023 01 0.2 <= AVE <0.3 0.8 <= PEAK 0024 01 0.3 <= AVE <0.4 0.8 <= PEAK 0025 01 0.4 <= AVE <0.5 0.8 <= PEAK 0026 01 0.5 <= AVE <0.8 0.8 <= PEAK 0027 01 0.8 <= AVE 0.8 <= PEAK 0028 01 NIL NIL 0063 01 MISSING VALUE 011038 0017 0000 01 MIN < 1 0001 01 1 <= MIN < 2 0002 01 2 <= MIN < 3 0003 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0015 01 NO TIMING INFORMATION AVAILABLE 0031 01 MISSING VALUE 011039 0016 0000 01 1 <= MIN < 2 0001 01 2 <= MIN < 3 0002 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0060 01 NO TIMING INFORMATION AVAILABLE 0063 01 MISSING VALUE 013038 0004 0000 01 NOT SUPERADIABATIC 0001 01 SUPERADIABATIC 0002 01 RESERVED 0003 01 MISSING VALUE 013039 0003 0000 01 SEA ICE 0001 01 SNOW ON LAND 0007 01 MISSING VALUE 013040 0009 0000 01 LAND 0001 01 RESERVED 0002 01 NEAR COAST 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 DESERT 0015 01 MISSING VALUE 013041 0010 0001 01 A 0002 01 A-B 0003 01 B 0004 01 B-C 0005 01 C 0006 01 D 0007 01 E 0008 01 F 0009 01 G 0015 01 MISSING VALUE 013051 0008 0000 01 SMALLER THAN ANY VALUE IN THE 30 YEARS PERIOD 0001 01 IN THE FIRST QUINTILE 0002 01 IN THE SECOND QUINTILE 0003 01 IN THE THIRD QUINTILE 0004 01 IN THE FOURTH QUINTILE 0005 01 IN THE FIFTH QUINTILE 0006 01 GREATER THAN ANY VALUE IN THE 30 YEAR PERIOD 0015 01 MISSING VALUE 013056 0010 0000 01 NO PRECIPITATION 0001 01 LIGHT INTERMITTENT 0002 01 MODERATE INTERMITTENT 0003 01 HEAVY INTERMITTENT 0004 01 VERY HEAVY INTERMITTENT 0005 01 LIGHT CONTINUOUS 0006 01 MODERATE CONTINUOUS 0007 01 VERY HEAVY CONTINUOUS 0009 01 VARIABLE-ALTERNATIVELY LIGHT AND HEAVY 0015 01 MISSING VALUE 013057 0011 0000 01 NO PRECIPITATION 0001 01 WITHIN THE LAST HOUR 0002 01 1 TO 2 HOURS AGO 0003 01 2 TO 3 HOURS AGO 0004 01 3 TO 4 HOURS AGO 0005 01 4 TO 5 HOURS AGO 0006 01 5 TO 6 HOURS AGO 0007 01 6 TO 8 HOURS AGO 0008 01 8 TO 10 HOURS AGO 0009 01 MORE THAN 10 HOURS AHO 0015 01 MISSING VALUE 013202 0007 0000 01 LAND 0001 01 VEGETATION 0003 01 MULTI-YEAR ICE 0004 01 POSSIBLE ICE OR FIRST YEAR ICE 0005 01 OCEAN 0006 01 COASTLINE 0015 01 MISSING 015025 0002 0000 01 OZONE 0015 01 MISSING VALUE 019001 0007 0000 01 DEPRESSION OR LOW (EXTRATROPICAL) 0001 01 TROPICAL DEPRESSION 0002 01 TROPICAL STORM 0003 01 SEVERE TROPICAL STORM 0004 01 TYPHOON 0010 01 DUST/SANDSTORM 0063 01 MISSING VALUE 019008 0005 0000 01 RESERVED 0001 01 SHALLOW (TOP OF CIRCULATION BELOW 700-HPA LEVEL 0002 01 MEDIUM(TOP BETWEEN 700-HPA AND 400-HPA) 0003 01 DEEP(TOP ABOVE 400-HPA LEVEL 0007 01 MISSING VALUE 019010 0004 0000 01 RESERVED 0001 01 MINIMUM VALUE OF SEA LEVEL PRESSURE 0002 01 MAXIMUM VALUE OF 850 HPA RELATIVE VORTICITY 0015 01 MISSING VALUE 020003 0250 0000 01 CLOUD DEVELOPMENT NOT OBSERVED OR NOT OBSERVABLE 0001 01 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED 0002 01 STATE OF SKY ON THE WHOLE UNCHANGED 0003 01 CLOUDS GENERALLY FORMING OR DEVELOPING 0004 02 VISIBILITY REDUCED BY SMOKE, E.G. VELDT OR FOREST FIRES, IN DUSTRIAL SMOKE OR VOLCANIC ASHES 0005 01 HAZE 0006 02 WIDESPREAD DUST IN SUSPENSION IN THE AIR, NOT RAISED BY WIND AT OR NEAR THE STATION AT THE TIME OF OBSERVATION 0007 04 DUST OR SEND RAISED BY WIND AT OR NEAR THE STATION AT THE TI ME OF OBSERVATION, BUT NO WELL-DEVELOPED DUST WHRIL(S) OR SA ND WHRIL(S), AND NO DUSTSTORM OR SANDSTORM SEEN; OR, IN THE CASE OF SHIPS, BLOWING SPRAY AT THE STATION 0008 03 WELL-DEVELOPED DUST WHRIL(S) OR SAND WHRILS SEEN AT OR NEAR THE STATION DURING THE PRECEDING HOUR OR AT THE SAME TIME OF OBSERVATION, BUT NO DUSTSTORM OR SANDSTORM 0009 02 DUSTSTORM OR SANDSTORM WITHIN SIGHT AT THE TIME OF OBSERVATI ON, OR AT THE STATION DURING THE PRECEDING HOR 0010 01 MIST 0011 02 PACHES SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0012 03 MORE OR LESS CONTINUOUS SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0013 01 LIGHTNING VISIBLE, NO THUNDER HEARD 0014 02 PRECIPITATION WITHIN SIGHT, NOT REACHING THE GROUND OR THE SURFACE OF THE SEA 0015 03 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, BUT DISTANT, I.E. ESTIMATED TO BE MORE THAN 5 KM FROM THE STATION 0016 02 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, NEAR TO, BUT NOT AT THE STATION 0017 02 THUNDERSTORM, BUT NO PRECIPITATION AT THE TIME OF OBSERVATIO N 0018 02 SQUALLS AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDI NG HOUR OR AT THE TIME OF OBSERVATION 0019 02 FUNNEL CLOUD(S) AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0020 03 DRIZZEL (NOT FREEZING) OR SNOW GRAINS NOT FALLING AS SHOWERS ; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVAT IONS 0021 02 RAIN (NOT FREEZING) NOT FALLING AS SHOWER(S); DURING THE PRE ECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0022 02 SNOW NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0023 02 RAIN AND SNOW OR ICE PELLETS NOT FALLING AS SHOWER(S); DURIN G THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0024 02 FREEZING DRIZZEL OR FREEZING RAIN NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0025 02 SHOWER(S) OF RAIN; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0026 02 SHOWER(S) OF SNOW, OR OF RAIN AND SNOW; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0027 02 SHOWER(S) OF HAIL, OR OF RAIN AND HAIL; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0028 02 FOG OR ICE FOG; DURING THE PRECEDING HOUR BUT NOT AT THE TIM E OF OBSERVATION 0029 02 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION); DURING THE PRE CEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0030 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS DECREASED DURI NG THE PRECEDING HOURS 0031 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHA NGE DURING THE PRECEDING HOUR 0032 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS I NCEASED DURING THE PRECEDING HOUR 0033 02 SEVERE DUSTSTORM OR SANDSTORM HAS DECREASED DURING THE PREC EDING HOURS 0034 02 SEVERE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0035 02 SEVERE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS INCREASED DUR ING THE PRECEDING HOUR 0036 02 SLIGHT OR MODERATE DRIFTING SNOW GENERALLY LOW (BELOW EYE LE VEL) 0037 01 HEAVY DRIFTING SNOW GENERALY LOW (BELOW EYE LEVEL) 0038 02 SLIGHT OR MODERATE BLOWING SNOW GENERALLY HIGH (ABOVE EYE LE VEL) 0039 01 HEAVY BLOWING SNOW GENERALY HIGH (ABOVE EYE LEVEL) 0040 03 FOG OR ICE FOG AT A DISTANCE AT THE TIME OF OBSERVATION, BUT NOT AT THE STATION DURING THE PRECEDING HOUR, THE FOG OR IC E FOG EXTENDING TO A LEVEL ABOVE THAT OF THE OBSERVER 0041 01 FOG OR ICE FOG IN PATCHES 0042 02 FOG OR ICE FOG, SKY VISIBLE,HAS BECOME THINNER DURING THE PR ECEDING HOUR 0043 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BECOME THINNER DURING THE PRECEDING HOUR 0044 02 FOG OR ICE FOG, SKY VISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0045 02 FOG OR ICE FOG, SKY INVISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0046 02 FOG OR ICE FOG, SKY VISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0047 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0048 01 FOG, DEPOSITING RIME, SKY VISIBLE 0049 01 FOG, DEPOSITING RIME, SKY INVISIBLE 0050 02 DRIZZLE, NOT FREEZING, INTERMITTENT;SLIGHT AT TIME OF OBSERV ATION 0051 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;SLIGHT AT TIME OF OBSERV ATION 0052 02 DRIZZLE, NOT FREEZING, INTERMITTENT;MODERATE AT TIME OF OBSE RVATION 0053 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;MODERATE AT TIME OF OBSE RVATION 0054 02 DRIZZLE, NOT FREEZING, INTERMITTENT;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0055 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0056 01 DRIZZLE, FREEZING, SLIGHT 0057 01 DRIZZLE, FREEZING, MODERATE OR HEAVY (DENSE) 0058 01 DRIZZLE AND RAIN, SLIGHT 0059 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0060 01 RAIN,NOT FREEZING,INTERMITTENT;SLIGHT AT TIME OF OBSERVATION 0061 01 RAIN,NOT FREEZING,CONTINUOUS ;SLIGHT AT TIME OF OBSERVATION 0062 02 RAIN,NOT FREEZING,INTERMITTENT;MODERATE AT TIME OF OBSERVATI ON 0063 02 RAIN,NOT FREEZING,CONTINUOUS ;MODERATE AT TIME OF OBSERVATI ON 0064 02 RAIN, NOT FREEZING, INTERMITTENT;HEAVY AT TIME OF OBSERVATIO ON 0065 01 RAIN, NOT FREEZING, CONTINUOUS;HEAVY AT TIME OF OBSERVATION 0066 01 RAIN, FREEZING, SLIGHT 0067 01 RAIN, FREEZING, MODERATE OR HEAVY 0068 01 RAIN OR DRIZZLE AND SNOW, LIGHT 0069 01 RAIN OR DRIZZLE AND SNOW, MODERATE OR HEAVY 0070 02 INTERMITTENT FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0071 02 CONTINUOUS FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0072 02 INTERMITTENT FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0073 02 CONTINUOUS FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0074 02 INTERMITTENT FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0075 02 CONTINUOUS FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0076 01 DIAMOND DUST (WITH OR WITHOUT FOG) 0077 01 SNOW GRAINS (WITH OR WITHOUT FOG) 0078 01 ISOLATED STAR-LIKE SNOW CRYSTALS (WITH OR WITHOUT FOG) 0079 01 ICE PELLETS 0080 01 RAIN SHOWER(S), SLIGHT 0081 01 RAIN SHOWER(S), MODERATE OR HEAVY 0082 01 RAIN SHOWER(S), VIOLENT 0083 01 SHOWER(S) OF RAIN AND SNOW MIXED, SLIGHT 0084 01 SHOWER(S) OF RAIN AND SNOW MIXED, MODERATE OR HEAVY 0085 01 SNOW SHOWER(S), SLIGHT 0086 01 SNOW SHOWER(S), MODERATE OR HEAVY 0087 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, SLIGHT 0088 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, MODERATE OR HEAVY 0089 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, SLIGHT 0090 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, MODERATE OR HEAVY 0091 02 SLIGHT RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0092 02 MODERATE OR HEAVY RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0093 03 SLIGHT SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TIME OF OBSER VATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TI ME OF OBSERVATION 0094 03 MODERATE OR HEAVY SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TI ME OF OBSERVATION, THUNDERSTORM DURING PRECEDING HOUR BUT NO T AT TIME OF OBSERVATION 0095 03 THUNDERSTORM, SLIGHT OR MODERATE, WITHOUT HAIL, BUT WITH RAI N AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM DURING TH E PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0096 02 THUNDERSTORM, SLIGHT OR MODERATE,WITH HAIL AT TIME OF OBSERV ATION, THUNDERSTORM AT TIME OF OBSERVATION 0097 02 THUNDERSTORM, HEAVY, WITHOUT HAIL BUT WITH RAIN AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0098 02 THUNDERSTORM COMBINED WITH DUSTSTORM OR SANDSTORM AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0099 02 THUNDERSTORM, HEAVY, WITH HAIL AT TIME OF OBSERVATION, THUND ERSTORM AT TIME OF OBSERVATION 0100 01 NO SIGNIFICANT WEATHER OBSERVED 0101 02 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED DURIN G THE PAST HOUR 0102 01 STATE OF SKY ON THE WHOLE UNCHANGED DURING THE PAST HOUR 0103 01 CLOUDS GENERALLY FORMING OR DEVELOPING DURING THE PAST HOUR 0104 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY EQUAL TO, OR GREATER THAN 1KM 0105 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY LESS THAN 1KM 0110 01 MIST 0111 01 DIAMOND DUST 0112 01 DISTANT LIGHTING 0118 01 SQUALLS 0120 01 FOG 0121 01 PRECIPITATION 0122 01 DRIZZLE (NOT FREEZING) OR SNOW GRAINS 0123 01 RAIN (NOT FREEZING) 0124 01 SNOW 0125 01 FREEZING DRIZZLE OR FREEZING RAIN 0126 01 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION) 0127 01 BLOWING OR DRIFTING SNOW OR SAND 0128 02 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY EQUAL TO, OR GR ATER THAN, 1KM 0129 01 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY LESS THAN 1 KM 0130 01 FOG 0131 01 FOG OR ICE FOG, IN PATCHES 0132 01 FOG OR ICE FOG, HAS BECOME THINNER DURING PAST HOUR 0133 01 FOG OR ICE FOG, NO APPRECIABLE CHANGE DURING PAST HOUR 0134 01 FOG OR ICE FOG, HAS BECUNOR BECOME THICKER DURING PAST HOUR 0135 01 FOG, DEPOSITION RIME 0140 01 PRECIPITATION 0141 01 PRECIPITATION SLIGHT OR MODERATE 0142 01 PRECIPITATION, HEAVY 0143 01 LIQUID PRECIPITATION, SLIGHT OR MODERATE 0144 01 LIQUID PRECIPITATION, HEAVY 0145 01 SOLID PRECIPITATION, SLIGHT OR MODERATE 0146 01 SOLID PRECIPITATION, HEAVY 0147 01 FREEZING PRECIPITATION, SLIGHT OR MODERATE 0148 01 FREEZING PRECIPITATION, HEAVY 0150 01 DRIZZLE 0151 01 DRIZZLE, NOT FREEZING, SLIGHT 0152 01 DRIZZLE, NOT FREEZING, MODERATE 0153 01 DRIZZLE, NOT FREEZING, HEAVY 0154 01 DRIZZLE, FREEZING, SLIGHT 0155 01 DRIZZLE, FREEZING, MODERATE 0156 01 DRIZZLE, FREEZING, HEAVY 0157 01 DRIZZLE AND RAIN, SLIGHT 0158 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0160 01 RAIN 0161 01 RAIN, NOT FREEZING, SLIGHT 0162 01 RAIN, NOT FREEZING, MODERATE 0163 01 RAIN, NOT FREEZING, HEAVY 0164 01 RAIN, FREEZING, SLIGHT 0165 01 RAIN, FREEZING, MODERATE 0166 01 RAIN, FREEZING, HEAVY 0167 01 RAIN (OR DRIZZLE) AND SNOW, SLIGHT 0168 01 RAIN (OR DRIZZLE) AND SNOW, MODERATE AND HEAVY 0170 01 SNOW 0171 01 SNOW, SLIGHT 0172 01 SNOW, MODERATE 0173 01 SNOW, HEAVY 0174 01 ICE PELLETS, SLIGHT 0175 01 ICE PELLETS, MODERATE 0176 01 ICE PELLETS, HEAVY 0180 01 SHOWER(S) OR INTERMITTENT PRECIPITATION 0181 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, SLIGHT 0182 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, MODERATE 0183 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, HEAVY 0184 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, VIOLENT 0185 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, SLIGHT 0186 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, MODERATE 0187 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, HEAVY 0190 01 THUNDERSTORM 0191 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH NO PRECIPITATION 0192 02 THUNDERSTORM, SLIGHT OR MODERATE, WITH RAIN SHOWERS AND/OR S NOW SHOWERS 0193 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH HAIL 0194 01 THUNDERSTORM, HEAVY, WITH NO PRECIPITATION 0195 01 THUNDERSTORM, HEAVY, WITH RAIN SHOWERS AND/OR SNOW SHOWERS 0196 01 THUNDERSTORM, HEAVY, WITH HAIL 0204 01 VOLCANIC ASH SUSPENDED IN THE AIR ALOFT 0206 01 THICK DUST HAZE, VISIBILITY LESS THAN 1 KM 0207 01 BLOWING SPRAY AT THE STATION 0208 01 DRIFTING DUST (SAND) 0209 01 WALL OF DUST OR SAND IN DISTANCE (LIKE HABOOB) 0210 01 SNOW HAZE 0211 01 WHITEOUT 0213 01 LIGHTING, CLOUD TO SURFACE 0217 01 DRY THUNDERSTORM 0219 02 TORNADO CLOUD (DESTRUCTIVE AT OR WITHIN SIGHT OF THE STATION DURING PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0220 01 DEPOSITION OF VOLCANIC ASH 0221 01 DEPOSITION OF DUST OR SAND 0222 01 DEPOSITION OF DEW 0223 01 DEPOSITION OF WET SNOW 0224 01 DEPOSITION OF SOFT RIME 0225 01 DEPOSITION OF HARD RIME 0226 01 DEPOSITION OF HOAR FROST 0227 01 DEPOSITION OF GLAZE 0228 01 DEPOSITION OF ICE CRUST (ICE SLICK) 0230 01 DUSTSTORM OR SANDSTORM WITH TEMPERATURE BELOW 0 C DEGREES 0239 02 BLOWING SNOW, IMPOSSIBLE TO DETERMINE WHETHER SNOW IS FALLIN G OR NOT 0241 01 FOG ON SEA 0242 01 FOG IN VALLEYS 0243 01 ARCTIC OR ANTARCTIC SEA SMOKE 0244 01 STEAM FOG (SEA,LAKE OR RIVER) 0245 01 STEAM FOG (LAND) 0246 01 FOG OVER ICE OR SNOW COVER 0247 01 DENCE FOG VISIBILITY 60-90 M 0248 01 DENCE FOG VISIBILITY 30-60 M 0249 01 DENCE FOG VISIBILITY LESS THAN 30 M 0250 01 DRIZZLE, RATE OF FALL LESS THAN 0.10 MM/H 0251 01 DRIZZLE, RATE OF FALL 0.10 - .19 MM/H 0252 01 DRIZZLE, RATE OF FALL 0.20 - .39 MM/H 0253 01 DRIZZLE, RATE OF FALL 0.40 - .79 MM/H 0254 01 DRIZZLE, RATE OF FALL 0.80 - 1.59 MM/H 0255 01 DRIZZLE, RATE OF FALL 1.60 - 3.19 MM/H 0256 01 DRIZZLE, RATE OF FALL 3.20 - 6.39 MM/H 0257 01 DRIZZLE, RATE OF FALL 6.40 MM/H OR MORE 0259 01 DRIZZLE AND SNOW 0260 01 RAIN, RATE OF FALL LESS THAN 1.0 MM/H 0261 01 RAIN, RATE OF FALL 1.0 - 1.9 MM/H 0262 01 RAIN, RATE OF FALL 2.0 - 3.9 MM/H 0263 01 RAIN, RATE OF FALL 4.0 - 7.9 MM/H 0264 01 RAIN, RATE OF FALL 8.0 - 15.9 MM/H 0265 01 RAIN, RATE OF FALL 16.0 - 31.9 MM/H 0266 01 RAIN, RATE OF FALL 32.0 - 63.9 MM/H 0267 01 RAIN, RATE OF FALL 64.0 MM/H OR MORE 0270 01 SNOW, RATE OF FALL LESS THAN 1.0 CM/H 0271 01 SNOW, RATE OF FALL 1.0 - 1.9 CM/H 0272 01 SNOW, RATE OF FALL 2.0 - 3.9 CM/H 0273 01 SNOW, RATE OF FALL 4.0 - 7.9 CM/H 0274 01 SNOW, RATE OF FALL 8.0 - 15.9 CM/H 0275 01 SNOW, RATE OF FALL 16.0 - 31.9 CM/H 0276 01 SNOW, RATE OF FALL 32.0 - 63.9 CM/H 0277 01 SNOW, RATE OF FALL 64.0 CM/H OR MORE 0278 01 SNOW OR ICE CRISTAL PRECIPITATION FROM A CLEAR SKY 0279 01 WET SNOW, FREEZING ON CONTACT 0280 01 PRECIPITATION OF RAIN (WW= 87-99) 0281 01 PRECIPITATION OF RAIN,FREEZING (WW= 80-82) 0282 01 PRECIPITATION OF RAIN AND SNOW MIXED 0283 01 PRECIPITATION OF SNOW 0284 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL 0285 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN 0286 02 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN AND S NOW MIXED 0287 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH SNOW 0288 01 PRECIPITATION OF HAIL 0289 01 PRECIPITATION OF HAIL, WITH RAIN 0290 01 PRECIPITATION OF HAIL, WITH RAIN AND SNOW MIXED 0291 01 PRECIPITATION OF HAIL, WITH SNOW 0292 01 SHOWER(S) OR THUNDERSTORM OVER SEA 0293 01 SHOWER(S) OR THUNDERSTORM OVER MOUNTAINS 0508 02 NO SIGNIFICANT PHENOMENA TO REPORT, PRESENT AND PAST WEATHER OMITTED 0509 02 NOT OBSERVED, NO DATA AVAILABLE, PRESENT AND PAST WEATHER OM ITTED 0510 01 PRESENT AND PAST WEATHER MISSING, BUT EXPECTED 0511 01 MISSING VALUE 020004 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020005 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020008 0019 0000 01 SKY CLEAR 0001 01 FEW 0002 01 SCATTERED 0003 01 BROKEN 0004 01 OVERCAST 0005 01 RESERVED 0006 01 SCATTERED/BROKEN (MANY FORECASTS USE SCATTERED/BROKEN 0007 01 BROKEN/OVERCAST (BROKEN/OVERCAST FOLLOWED BY CLOUD TYPE(S)) 0008 02 ISOLATED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0009 02 ISOLATED EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE C LOUD TYPE CB) 0010 02 OCCASIONAL (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TY PE CB) 0011 02 OCCASIONAL EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0012 02 FREQUENT (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0013 02 DENSE (USED ON AVIATION CHARTS TO DESCRIBE CLOUD THAT WOULD CAUSE SUDDEN CHANGES IN VISIBILITY (LESS THAN 1000M) 0014 01 LAYERS 0015 01 OBSCURED (OBSC) 0016 01 EMBEDDED (EMBD) 0017 01 FREQUENT EMBEDDED 0031 01 MISSING VALUE 020009 0006 0000 01 RESERVED 0001 01 NSC MIL SIGNIFICANT CLOUD 0002 01 CAVOK 0003 01 SKC SKY CLEAR 0004 01 NSW NIL SIGNIFICANT WEATHER 0015 01 MISSING VALUE 020011 0011 0000 01 0 0 0001 01 1 OKTA OR LESS, BUT NOT ZERO 1/10 OR LESS, BUT NOT ZERO 0002 01 2 OKTAS 2/10 - 3/10 0003 01 3 OKTAS 4/10 0004 01 4 OKTAS 5/10 0005 01 5 OKTAS 6/10 0006 01 6 OKTAS 7/10 - 8/10 0007 01 7 OKTAS OR MORE,BUT NOT 8 OKTAS9/10 OR MORE, BUT NOT 10/10 0008 01 8 OKTAS 10/10 0009 01 SKY OBSCURED BY FOG AND OR OTHER METEOROLOGICAL PHENOMENA 0015 02 CLOUD COVE IS INDISCERNIBLE FOR REASONS OTHER THAN FOG OR OT HER METEOROLOGICAL PHENOMENA, OR OBSERVATION IS NOT MADE 020012 0045 0000 01 CIRRUS (CI)...............CI 0001 01 CIRROCUMULUS (CC).........CC 0002 01 CIRROSTRATUS (CS).........CS 0003 01 ALTOCUMULUS (AC).........AC 0004 01 ALTOSTRATUS (AS).........AS 0005 01 NIMBOSTRATUS (NS).........NS 0006 01 STRATOCUMULUS(SC).........SC 0007 01 STRATUS (ST).........ST 0008 01 CUMULUS (CU).........CU 0009 01 CUMULONIMBUS (CB).........CB 0010 01 NO CH CLOUDS 0011 02 CIRRUS FIBRATUS, SOMETIMES UNCINUS, NOT PROGRESSIVELY INADIN G THE SKY 0012 04 CIRRUS SPISSATUS, IN PATCHES OR ENTANGLED SHEAVES, WHICH USU ALLY DO NOT INCREASE AND SOMETIMES SEEM TO BE THE REMAINS OF THE UPPER PART OF A CUMULONIMBUS; OR CIRRUS CASTELLANUS OR FLOCCUS 0013 01 CIRRUS SPISSATUS CUMULONIMBOGENITUS 0014 02 CIRRUS UNCINUS OR FIBRATUS,OR BOTH, PROGRESSIVELY INVADING T HE SKY ; THEY GENERALLY THICKEN AS A WHOLE 0015 04 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL DOES NOT REACH 45 DEGREES ABOVE THE HORIZON 0016 05 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL EXTENDS MORE THAN 45 DEGR REES ABOVE THE HORIZON, WITHOUT THE SKY BEING TOTALLY COVERE D 0017 01 CIRROSTRATUS COVERING THE WHOLE SKY 0018 02 CIRROSTRATUS NOT PROGRESSIVELY INVADING THE SKY AND NOT ENTI RELY COVERING IT 0019 02 CIRROCUMULUS ALONE, OR CIRROCUMULUS PREDOMINANT AMONG THE CH CLOUDS 0020 01 NO CM CLOUDS 0021 01 ALTOSTRATUS TRANSLUCIDUS 0022 01 ALTOSTRATUS OPACUS OR NIMBOSTRATUS 0023 01 ALTOCUMULUS TRANSLUCIDUS AT A SINGLE LEVEL 0024 02 PATCHES (OFTEN LENTICULARIS) OF ALTOCUMULUS TRANSLUCIDUS, CO NTINUALLY CHANGING AND OCCURING AT ONE OR MORE LEVELS 0025 04 ALTOCUMULUS TRANSLUCIDUS IN BANDS, OR ONE OR MORE LAYERS OF ALTOCUMULUS TRANSLUCIDUS OR OPACUS, PROGRESSIVELY INVADING T HE SKY; THESE ALTOCUMULUS CLOUDS GENERALLY THICKEN AS A WHOL E 0026 01 ALTOCUMULUS CUMULOGENITUS (OR CUMULONIMBOGENITUS) 0027 04 ALTOCUMULUS TRANSLUCIDUS OR OPACUS IN TWO OR MORE LAYERS, OR ALTOCUMULUS OPACUS IN A SINGLE LAYER, NOT PROGRESSIVELY INV ADING THE SKY, OR ALTOCUMULUS WITH ALTOSTRATUS OR NIMBOSTRAT US 0028 01 ALTOCUMULUS CASTELLANUS OR FLOCUS 0029 01 ALTOCUMULUS OF CHAOTIC SKY, GENERALLY AT SEVERAL LEVELS 0030 01 NO CL CLOUDS 0031 02 CUMULUS HUMILIS OR CUMULUS FRACTUS OTHER THAN OF BAD WEATHER , OR BOTH 0032 03 CUMULUS MEDIOCRIS OR CONGESTUS, WITH OR WITHOUT CUMULUS OF S PECIES FRACTUS OR HUMULIS OR STRATOCUMULUS, ALL HAVING THEIR BASES AT THE SAME LEVEL 0033 02 CUMULONIMBUS CALVUS, WITH OR WITHOUT CUMULUS, STRATOCUMULUS OR STRATUS 0034 01 STRATOCUMULUS CUMULOGENITUS 0035 01 STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGENITUS 0036 02 STRATUS NEBULOSUS OR STRATUS FRACTUS OTHER THAN OF BAD WEATH ER, OR BOTH 0037 02 STRATUS FRACTUS OR CUMULUS FRACTUS OF BAD WEATHER, OR BOTH (PANNUS), USUALLY BELOW ALTOSTRATUS OR NIMBOSTRATUS 0038 02 CUMULUS AND STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGEN ITUS, WITH BASES AT DIFFERENT LEVELS 0039 03 CUMULONIMBUS CAPILLATUS (OFTEN WITH AN ANVIL), WITH OR WITHO UT CUMULONIMBUS CALVUS, CUMULUS, STRATOCUMULUS, STRATUS OR P ANNUS 0059 02 CLOUD NOT VISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDSTO RM, OR OTHER ANALOGOUS PHENOMENA 0060 03 CH CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0061 03 CM CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0062 02 CL CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA 0063 01 MISSING VALUE 020017 0011 0000 01 ISOLATED CLOUD OR FRAGMENTS OF CLOUD 0001 01 CONTINUOUS CLOUD 0002 01 BROKEN CLOUD - SMALL BREAKS, FLAT TOPS 0003 01 BROKEN CLOUD - LARGE BREAKS, FLAT TOPS 0004 01 CONTINUOUS CLOUD 0005 01 BROKEN CLOUD - SMALL BREAKS, UNDULATED TOPS 0006 01 BROKEN CLOUD - LARGE BREAKS, UNDULATED TOPS 0007 02 CONTINUOUS OR ALMOST CONTINUOUS WAVES WITH TOWERING CLOUDS A BOVE THE TOP OF THE LAYER 0008 02 GROUPS OF WAVES WITH TOWERING CLOUDS ABOVE THE TOP OF THE LA YER 0009 01 TWO OR MORE LAYERS AT DIFFERENT LEVELS 0015 01 MISSING VALUE 020018 0004 0000 01 INCREASING (U) 0001 01 DECREASING (D) 0002 01 NO DISTINCT CHANGE (N) 0003 01 MISSING VALUE 020021 0024 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 0030 01 ALL 30 MISSING VALUE 020022 0007 0000 01 NO PRECIPITATION 0001 01 CONTINUOUS 0002 01 INTERMITTENT 0003 01 SHOWER 0004 01 NOT REACHING GROUND 0005 01 DEPOSITION 0015 01 MISSING VALUE 020023 0012 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 0012 01 WATER-SPOUT 020024 0007 0000 01 NO PHENOMENA 0001 01 LIGHT 0002 01 MODERATE 0003 01 HEAVY 0004 01 VIOLENT 0005 01 SEVERE (VAL) 0007 01 MISSING VALUE 020025 0011 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 0021 01 ALL 21 MISSING VALUE 020026 0014 0000 01 NO CHANGE 0001 01 SHALLOW 0002 01 PATCHES 0003 01 PARTIAL 0004 01 FREEZING 0005 01 LOW DRIFTING 0006 01 BLOWING 0007 01 INCREASING 0008 01 DECREASING 0009 01 IN SUSPENSION IN THE AIR 0010 01 WALL 0011 01 DENSE 0012 01 WHITEOUT 0015 01 MISSING VALUE 020027 0007 0001 01 AT TIME OF OBSERVATION 0002 01 IN PAST HOUR 0003 01 IN TIME PERIOD FOR PAST WEATHER W1W2 0004 01 IN TIME PERIOD SPECIFIED 0006 01 BELOW STATION LEVEL 0007 01 AT THE STATION 0008 01 IN THE VICINITY 020029 0004 0000 01 NO RAIN 0001 01 RAIN 0002 01 RESERVED 0003 01 MISSING VALUE 020032 0006 0000 01 ICE NOT BUILDING UP 0001 01 ICE BUILDING UP SLOWLY 0002 01 ICE BUILDING UP QUICKLY 0003 01 ICE MELTING OR BREAKING UP SLOWLY 0004 01 ICE MELTING OR BREAKING UP RAPIDLY 0007 01 MISSING VALUE 020033 0004 0001 01 ICING FROM OCEAN SPRAY 0002 01 ICING FROM FOG 0003 01 ICING FROM RAIN 0004 01 MISSING VALUE 020034 0012 0000 01 NO SEA ICE IN SIGHT 0001 02 SHIP IN OPEN LEAD MORE THAN 1.0 NAUTICAL MILE WIDE, OR SHIP IN FAST ICE WITH BOUNDARY BEYOND LIMIT OF VISIBILITY 0002 04 SEA ICE PRESENT IN CONCETRATION LESS THAN 3/10 (3/8), OPEN W ATER OR VERY OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0003 03 4/10 TO 6/10 (3/8 TO LESS THAN 6/8) ,OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0004 03 7/10 TO 8/10 (6/8 TO LESS THAN 7/8), CLOSE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN IC E OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0005 04 9/10 OR MORE, BUT NOT 10/10 (7/8 TO LESS THAN 8/8), VERY CLO SE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVAT ION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDG E 0006 03 STRIPS AND PATCHES OF PACK ICE WITH OPEN WATER BETWEEN, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SH IP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0007 04 STRIPS AND PATCHES OF CLOSE OR VERY CLOSE PACK ICE WITH AREA S OF LESSER CONCENTRATION BETWEEN, SEA ICE CONCETRATION IS N OT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0. 5 NAUTICAL MILE OF ICE EDGE 0008 04 FAST ICE WITH OPEN WATER,VERY OPEN OR OPEN PACK ICE TO SEAWA RD OF THE ICE BOUNDARY, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0009 04 FAST ICE CLOSE OR VERY CLOSE PACK ICE TO SEAWARD OF THE ICE BOUNDARY, SEA ICE CONCETRATION IS NOT UNIFORM IN THE OBSERVA TION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE ED GE 0014 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY, O R BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0015 01 MISSING VALUE 020035 0012 0000 01 NO ICE OF LAND ORIGIN 0001 01 1-5 ICEBERGS, NO GROWLERS OR BERGY BITS 0002 01 6-10 ICEBERGS, NO GROWLERS OR BERGY BITS 0003 01 11-20 ICEBERGS, NO GROWLERS OR BERGY BITS 0004 01 UP TO AND INCLUDING 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0005 01 MORE THAN 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0006 01 1-5 ICEBERGS, WITH GROWLERS AND BERGY BITS 0007 01 6-10 ICEBERGS, WITH GROWLERS AND BERGY BITS 0008 01 11-20 ICEBERGS, WITH GROWLERS AND BERGY BITS 0009 02 MORE THAN 20 ICEBERGS,WITH GROWLERS AND BERGY BITS - A MAJOR HAZARD TO NAVIGATION 0014 02 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY SEA ICE IS VISIBLE 0015 01 MISSING VALUE 020036 0012 0000 01 SHIP IN OPEN WATER WITH FLOATING ICE IN SIGHT 0001 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS IMPROVING 0002 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS NOT CHANGING 0003 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS WORSENING 0004 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS IMPROVING 0005 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS NOT CHANGING 0006 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE FORMING AND FLOES FREEZING TOGETHAR 0007 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER SLIGHT PRESSURE 0008 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER MODERATE OR SEVERE PRESSURE 0009 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. SHIP BESET. 0030 01 UNABLE TO REPORT, BECAUSE OF DARKNESS OR LACK OF VISIBILITY 0031 01 MISSING VALUE 020037 0012 0000 01 NEW ICE ONLY (FRAZIL ICE, GREASE ICE, SLUSH, SHUGA) 0001 01 NILAS OR ICE RIND, LESS THAN 10 CM THICK 0002 01 YOUNG ICE(GREY ICE, GREY-WHITE ICE 0003 01 PREDOMINANTLY NEW AND/OR YOUNG ICE WITH SOME FIRST-YEAR ICE 0004 02 PREDOMINANTLY THIN FIRST-YEAR ICE WITH SOME NEW AND/OR YOUNG ICE 0005 01 ALL THIN FIRST-YEAR ICE (30-70 CM THICK) 0006 02 PREDOMINANTLY MEDIUM FIRST-YEAR ICE (70-120 CM THICK) AND THICK FIRST-YEAR ICE (>120 CM 0007 01 ALL MEDIUM AND THICK FIRST-YEAR ICE 0008 02 PREDOMINANTLY MEDIUM AND THICK FIRST-YEAR ICE WITH SOME OLD ICE (USUALLY MORE THAN 2 METRES THICK) 0009 01 PREDOMINANTLY OLD ICE 0030 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY ICE OF LAND ORIGIN IS VISIBLE OR BECAUSE SHIP I S MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0031 01 MISSING VALUE 020040 0009 0000 01 DRIFT SNOW ENDED BEFORE THE HOUR OF OBSERVATION 0001 01 INTENSITY DIMINISHING 0002 01 NO CHANGE 0003 01 INTENSITY INCREASING 0004 02 CONTINUES, APART FROM INTERRUPTION LASTING LESS THAN 30 MINU TES 0005 01 GENERAL DRIFT SNOW HAS BECOME DRIFT SNOW NEAR THE GROUND 0006 01 DRIFT SNOW NEAR THE GROUND HAS BECOME GENERAL DRIFT SNOW 0007 02 DRIFT SNOW HAS STARTED AGAIN AFTER AN INTERRUPTION OF MORE T HAN 30 MINUTES 0015 01 MISSING VALUE 020041 0011 0000 01 NO ICING 0001 01 LIGHT ICING 0002 01 LIGHT ICING IN CLOUD 0003 01 LIGHT ICING IN PRECIPITATION 0004 01 MODERATE ICING 0005 01 MODERATE ICING IN CLOUD 0006 01 MODERATE ICING IN PRECIPITATION 0007 01 SEVERE ICING 0008 01 SEVERE ICING IN CLOUD 0009 01 SEVERE ICING IN PRECIPITATION 0015 01 MISSING VALUE 020042 0004 0000 01 NO ICING 0001 01 ICING PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020045 0004 0000 01 NO SLD CONDITIONS PRESENT 0001 01 SLD CONDITIONS PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020050 0010 0000 01 RESERVED 0001 01 1ST LOW CLOUD 0002 01 2ND LOW CLOUD 0003 01 3RD LOW CLOUD 0004 01 1ST MEDIUM CLOUD 0005 01 2ND MEDIUM CLOUD 0006 01 3RD MEDIUM CLOUD 0007 01 1ST HIGH CLOUD 0008 01 2ND HIGH CLOUD 0255 01 MISSING VALUE 020055 0011 0000 01 CUMULUS, IF ANY, ARE QUITE SMALL 0001 01 CUMULUS OF INTERMEDIATE SIZE 0002 01 SWELLING CUMULUS 0003 01 SWELLING CUMULUS WITH TOWERS 0004 01 SWELLING CUMULUS WITH TOWERS HAVING PRONOUNCED TILT 0005 01 TALL CUMULUS CONGESTUS 0006 01 ISOLATED CUMULONIMBUS 0007 01 NUMEROUS CUMULONIMBUS 0008 01 CONTINUOUS DENSE MIDDLE CLOUDS 0009 01 CONTINUOUS SHEETS OF MIDDLE CLOUDS 0015 01 MISSING VALUE 020056 0005 0000 01 UNKNOWN 0001 01 WATER 0002 01 ICE 0003 01 MIXED 0007 01 MISSING VALUE 020062 0021 0000 02 SURFACE OF GROUND DRY (WITHOUT CRACKS AND NO APPRECIABLE AMOUNT OF DUST OR LOOSE SAND) 0001 01 SURFACE OF GROUND MOIST 0002 02 SURFACE OF GROUND WET (STANDING WATER IN SMALL OR LARGE POOLS ON SURFACE) 0003 01 FLOODED WITHOUT SNOW 0004 01 SURFACE OF GROUND FROZEN MEASURABLE ICE 0005 01 GLAZE ON GROUND COVER 0006 01 LOOSE DRY DUST OR SAND NOT COVERING GROUND COMPLETELY 0007 02 THIN COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLET ELY 0008 02 MODERATE OR THICK COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0009 01 EXTREMELY DRY WITH CRACKS 0010 01 GROUND PREDOMINANTLY COVERED BY ICE 0011 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING LESS THAN ONE-HALF OF THE GROUND 0012 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING AT LEAST ONE-HALF OF THE GROUND BUT GROUND NOT COMPLETELY COVERED 0013 01 EVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND COMPLETELY 0014 02 UNEVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND WITH SNOW OR COMPLETELY MEASURABLE ICE 0015 02 LOOSE DRY SNOW COVERING LESS THAN ONE-HALF OF THE GROUND COV ER 0016 02 LOOSE DRY SNOW COVERING AT LEAST ONE-HALF OF THE GROUND (BUT NOT COMPLETELY) 0017 01 EVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0018 01 UNEVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0019 01 SNOW COVERING GROUND COMPLETELY; DEEP DRIFTS 0031 01 MISSING VALUE 020063 0001 0000 01 TO BE DEVELOPED 020071 0011 0000 01 NO ASSESSMENT NO ASSESSMENT 0001 01 LESS THAN 50 KM LESS THAN 1 PER SECOND 0002 01 BETWEEN 50 AND 200 KM LESS THAN 1 PER SECOND 0003 01 MORE THAN 200 KM LESS THAN 1 PER SECOND 0004 01 LESS THAN 50 KM 1 OR MORE PER SECOND 0005 01 BETWEEN 50 AND 200 KM 1 OR MORE PER SECOND 0006 01 MORE THAN 200 KM 1 OR MORE PER SECOND 0007 02 LESS THANK 50 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0008 02 BETWEEN 50 AND 200 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0009 02 MORE THAN 200 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0015 01 MISSING VALUE 020086 0008 0000 01 CLEAR AND DRY 0001 01 DAMP 0005 01 WET SNOW 0006 01 SLUSH 0007 01 ICE 0008 01 COMPACTED OR ROLLED SNOW 0009 01 FROZEN RUTS OR RIDGES 0015 01 MISSING VALUE 020090 0007 0000 01 RESERVED 0001 01 NACREOUS CLOUDS 0002 01 NOCTILUCENT CLOUDS 0003 01 CLOUDS FROM WATERFALLS 0004 01 CLOUDS FROM FIRES 0005 01 CLOUDS FROM VULCANIC ERUPTIONS 0015 01 MISSING VALUE 020101 0010 0001 01 SCHISTOCERCA GREGARIA 0002 01 LOCUSTA MIGRATORIA 0003 01 NOMADACRIS SEPTEMFASCIATA 0004 01 OEDALEUS SENAGALENSIS 0005 01 ANRACRIDIUM SPP 0006 01 OTHER LOCUST 0007 01 OTHER GRASSHOPPERS 0008 01 ITHER CRICKETS 0009 01 SPODOPTERA EXEMPTA 0015 01 MISSING VALUE 020102 0011 0000 01 GREEN 0001 01 GREEN AND BLACK 0002 01 BLACK 0003 01 YELLOW AND BLACK 0004 01 STRAW/GREY 0005 01 PINK 0006 01 DARK RED/BROWN 0007 01 MIXED RED AND YELLOW 0008 01 YELLOW 0009 01 OTHER 0015 01 MISSING VALUE 020151 0003 0000 01 FIRST YEAR ICE 0001 01 MULTI YEAR ICE 0007 01 MISSING 020252 0003 0000 01 NO EDGE 0001 01 EDGE PRESENT 0007 01 MISSING 020253 0008 0000 01 LAND 0001 01 VEGETATION COVERED LAND 0002 01 RESERVED 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 MISSING 021066 0011 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLINH WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIC VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF IN-PHASE AND QUADRATURE OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION =< MMCC VALUE 021067 0012 0001 01 NO FOREBEAM CALCULATION 0002 01 NO MIDBEAM CALCULATION 0003 01 NO AFTBEAM CALCULATION 0004 01 FOREBEAM ARCING DETECTED 0005 01 MID ARCING DETECTED 0006 01 AFTBEAM ARCING DETECTED 0007 01 ANY BEAM NOISE CONTENT ABOVE OR EQUAL TO TRESHOLD 0008 01 LAND (ANY LAND IN CELL FOOTPRINT) 0009 01 AUTONOMOUS AMBIGUITY REMOVAL NOT USED 0010 01 METEOROLOGICAL BACKGROUND NOT USED 0011 01 MINIMUM RESIDUAL EXCEEDED TRESHOLD 0012 01 FRAME CHECKSUM ERROR DETECTED 021068 0007 0001 01 STANDARD DEVIATION OF WIND SPEED OUTSIDE MMCC LIMIT 0002 02 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT OUTSIDE MMCC L IMIT 0003 01 STANDARD DEVIATION OF ALTITUDE OUTSIDE MMCC LIMIT 0004 01 MEAN PEAKINESS OUTSIDE MMCC LIMIT 0005 01 FRAME CHECKSUM ERROR DETECTED 0006 01 HEIGHT-TIME LOOP TIME CONSTANT CORRECTION NOT PERFORMED 0007 01 NOT ENOUGH MEASUREMENTS ( N< 10) 021069 0009 0001 01 12.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0002 01 11.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0003 01 3.7 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0004 01 1.6 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0005 02 CLOUD IDENTIFICATION USED 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST 0006 02 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST USED DYNAMIC TRESHOLD 0007 01 SUN GLINT DETECTED BY 1.6 MICROMETERS REFLECTANCE CLOUD TEST 0008 01 3.7 MICROMETERS USED IN SEA-SURFACE TEMPERATURE RETRIEVAL 0009 02 SEA-SURFACE TEMPERATURE DERIVATION USED DAYTIME DATA (NIGHT-TIME IF ZERO) 021070 0024 0001 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0002 02 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMB ERING 0003 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0004 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0005 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0006 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0007 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0008 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0009 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0010 02 -18 DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL (ONE BIT PER 10-ARCMIN CELL) 0011 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0011 02 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMB ERING 0012 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0013 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0014 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0015 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0016 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0017 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0018 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0019 01 NADIR VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0020 01 FORWARD VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0021 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS ACQUIRED WHEN ERS PLATFORM NOT IN YAW-STEERING MODE 0022 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS FOR WHIC H PRODUCT CONFIDENCE DATA SHOW QUALITY IS POOR OR UNKNOWN 0023 01 MISSING VALUE 021072 0003 0001 02 HEIGHT ERROR CORRECTION APPLIED INSTEAD OF OPEN LOOP CALIBRA TION 0002 01 MICROWAVE SOUNDER USED FOR TROPOSPHERE CORRECTION 0003 02 AGC OUTPUT CORRECTION APPLIED INSTED OF OPEN LOOP CALIBRATIO N 021073 0008 0001 01 BLANK DATA RECORD 0002 01 TEST 0003 01 CALIBRATION (CLOSED LOOP) 0004 01 BITE 0005 01 ACQUISITION ON ICE 0006 01 ACQUISITION ON OCEAN 0007 01 TRACKING ON ICE 0008 01 TRACKING ON OCEAN 021076 0004 0000 01 LINEAR 0001 01 LOGARITHMIC (BASE E) 0002 01 LOGARITHMIC (BASE 10) 0007 01 MISSING VALUE 021109 0008 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA0- FOR WIND RETRIEVAL 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0017 01 MISSING VALUE 021115 0011 0001 01 SIGMA-0 MEASUREMENT IS NOT USABLE 0002 01 SIGNAL TO NOISE RATIO IS LOW 0003 01 SIGMA-0 IS NEGATIVE 0004 01 SIGMA-0 IS OUTSIDE OF ACCEPTABLE RANGE 0005 01 SCATTEROMETER PULSE QUALITY IS NOT ACCEPTABLE 0006 01 SIGMA-0 CELL LOCATION ALGORITHM DOES NOT CONVERGE 0007 01 FREQUENCY SHIFT LIES BEYOND THE RANGE OF THE X FACTOR TABLE 0008 02 SPACECRAFT TEMPERATURE IS BEYOND CALIBRATION COEFFICIENT RAN GE 0009 01 NO APPLICABLE ATTITUDE RECORDS WERE FOUND FOR THIS SIGMA-0 0010 02 INTERPOLATED EPHEMERIS DATA ARE NOT ACCEPTABLE FOR THIS SIGM A-0 0017 01 MISSING VALUE 021116 0016 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG (1) 0015 01 SLICES PER COMPOSITE FLAG (2) 0016 01 SLICES PER COMPOSITE FLAG (3) 021119 0014 0000 01 RESERVED 0001 01 SASS 0002 01 SASS2 0003 01 NSCAT0 0004 01 NSCAT1 0005 01 NSCAT2 0006 01 QSCAT0 0007 01 QSCAT1 0031 01 CMOD1 0032 01 CMOD2 0033 01 CMOD3 0034 01 CMOD4 0035 01 CMOD5 0064 01 MISSING VALUE 021144 0001 0001 01 RAIN 021150 0004 0000 01 DATA FROM SINGLE GROUND STATION (NO CO-LOCATION) 0001 01 DATA FROM MULTIPLE GROUND STATION (CO-LOCATED DATA) 0002 01 RESERVED 0003 01 MISSING VALUE 021155 0016 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA-0 FOR WIND RETRIEVAL 0003 01 ANY BEAM NOISE CONTENT ABOVE TRESHOLD 0004 01 PRODUCT MONITORING NOT USED 0005 01 PRODUCT MONITORING FLAG 0006 01 KNMI QUALITY CONTROL FAILS 0007 01 VARIATIONAL QUALITY CONTROL FAILS 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0013 01 RAIN FLAG FOR THE WIND VECTOR CELL IS NOT USABLE 0014 01 RAIN FLAG ALGORITHM DETECTS RAIN 0015 01 NO METEOROLOGICAL BACKGROUND USED 0016 01 DATA ARE REDUNDANT 021158 0004 0000 01 ACCEPTABLE 0001 01 NOT ACCEPTABLE 0002 01 RESERVED 0003 01 MISSING VALUE 021159 0004 0000 01 GOOD 0001 01 USABLE 0002 01 BAD 0003 01 MISSING VALUE 021169 0004 0000 01 NO ICE PRESENT 0001 01 ICE PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 021196 0012 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLING WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIED VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF I AND Q OUT OF RAN GE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VCALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION <= MMCC VALUE 0012 01 MISSING VALUE 021199 0007 0001 01 3.7 MICRO CHANNEL USED IN ASST DERIVATION 0002 01 ASST DERIVATION USED DATTIME DATA 0003 02 COMPARISON OF ASST AGAINST PREVIOUS EQUIVALENT PASS PERFORMED 0004 02 COMPARISON OF ASST AGAINST WEEKLY AVERAGE OF ASST PERFORMED 0005 01 0006 02 COMPARISON OF RATE OF CHANGE OF ASST AGAINST STATIC TRESHOLD PERFORMED 0007 01 MISSING VALUE 022056 0004 0000 01 UPWARDS PROFILE 0001 01 DOWNWARDS PROFILE 0002 01 HORIZONTAL 0003 01 MISSING VALUE 022060 0004 0000 01 DROGUE IS DETACHED 0001 01 DROGUE IS ATTACHED 0002 01 DROGUE STATUS UNKNOWN 0007 01 MISSING VALUE 022061 0011 0000 01 CALM (GLASSY) HEIGHT 0 M 0001 01 CALM (RIPPLED) HEIGHT 0 - 0.1 M 0002 01 SMOOTH (WAVELETS) HEIGHT 0.1 - 0.5 M 0003 01 SLIGHT HEIGHT 0.5 - 1.5 M 0004 01 MODERATE HEIGHT 1.25 - 2.5 M 0005 01 ROUGH HEIGHT 2.5 - 4 M 0006 01 VERY ROUGH HEIGHT 4 - 6 M 0007 01 HIGH HEIGHT 6 - 9 M 0008 01 VERY HIGH HEIGHT 9 -14 M 0009 01 PHENOMANAL HEIGHT OVER 14 M 0015 01 MISSING VALUE 022067 0001 0000 01 SEE COMMON CODE TABLE C3 022068 0001 0000 01 SEE COMMON CODE TABLE C4 022120 0013 0000 01 GOOD DATA 0001 01 MAXIMUM (HIGH) WATER LEVEL LIMIT EXCEEDED 0002 01 MINIMUM (LOW) WATER LEVEL LIMIT EXCEEDED 0003 01 RATE OF CHANGE LIMIT FOR WATER LEVEL EXCEEDED 0004 01 FLAT LIMIT FOR WATER LEVEL EXCEEDED 0005 01 OBSERVED MINUS PREDICTED WATER LEVEL VALUE LIMIT EXCEEDED 0006 02 OBSERVED VALUE FROM PRIMARY WATER LEVEL SENSOR MINUS BACKUP WATER LEVEL SENSOR 0007 01 VALUE EXCEEDED SPECIFIED TOLERANCE FROM EXPECTED VALUE 0008 02 WATER LEVEL QA PARAMETER (SIGMAS AND/OR OUTLIERS) LIMITS EXC EEDED 0009 01 SEA TEMPERATURE OUTSIDE OF EXPECTED RANGE 0010 01 MULTIPLE QC CHECKS (ABOVE) FAILED 0011 01 NO AUTOMATED WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022121 0009 0000 01 OPERATIONAL 0001 02 POSSIBLE CLOGGING PROBLEM OR OTHERWISE DEGRADED WATE LEVEL D ATA 0002 01 POSSIBLE DATUM SHIFT 0003 01 UNKNOWN STATUS OF WATER LEVEL SENSOR 0004 01 SUSPECTED OR KNOWN SEA TEMPERATURE SENSOR PROBLEM 0005 01 MULTIPLE POSSIBLE PROBLEMS (ABOVE) 0006 01 BAD DATA- DO NOT DISSEMINATE 0007 01 NO MANUAL WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022122 0008 0000 01 GOOD DATA FROM ALL SENSORS 0001 01 WIND DIRECTION OUTSIDE OF ALLOWABLE RANGE 0002 01 WIND SPEED OUTSIDE OF EXPECTED RANGE 0003 01 BAROMETRIC PRESSURE OUTSIDE OF EXPECTED RANGE 0004 01 AIR TEMPERATURE OUTSIDE OF EXPECTED RANGE 0005 01 MULTIPLE SENSOR FAILED QC CHECKS 0006 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022123 0009 0000 01 OPERATIONAL 0001 01 SUSPECTED OR KNOWN PROBLEM WITH WIND SENSOR 0002 01 SUSPECTED OR KNOWN PROBLEM WITH BAROMETRIC PRESSURE SENSOR 0003 01 SUSPECTED OR KNOWN PROBLEM WITH AIR TEMPERATURE SENSOR 0004 01 UNKNOWN STATUS OF ALL SENSORS 0005 01 SUSPECTED OR KNOWN PROBLEMS WITH MULTIPLE SENSORS 0006 01 BAD DATA - DO NOT DISSEMINATE 0007 01 NO MANUAL METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022252 0006 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MAGNOLIA CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 023001 0005 0000 01 RESERVED 0001 01 ARTICLES 1 AND 2 0002 01 ARTICLE 3 0003 01 ARTICLE 5.2 0007 01 MISSING VALUE 023002 0016 0000 01 RESERVED 0001 01 NUCLEAR REACTOR ON GROUND 0002 01 NUCLEAR REACTOR ON SEA 0003 01 NUCLEAR REACTOR IN SPACE 0004 01 NUCLEAR FULE FACILITY 0005 01 RADIOACTIVE WASTE MANAGMENT FACITILY 0006 01 TRANSPORT OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0007 01 STORAGE OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0008 01 MANUFACTURE OF RADIO-ISOTOPES 0009 01 USE OF RADIO-ISOTOPES 0010 01 STORAGE OF RADIO-ISOTOPES 0011 01 DISPOSAL OF RADIO-ISOTOPS 0012 01 TRANSPORT OF RADIO-ISOTOPES 0013 01 USE OF RADIO-ISOTOPES FOR POWER GENERATION 0030 01 OTHER 0031 01 MISSING VALUE 023003 0008 0000 01 NO RELEASE 0001 01 RELEASE TO ATMOSPHERE 0002 01 RELEASE TO WATER 0003 01 RELEASE TO BOTH ATMOSPHERE AND WATER 0004 01 EXPECTED RELEASE TO ATMOSPHERE 0005 01 EXPECTED RELEASE TO WATER 0006 01 EXPECTED RELEASE TO BOTH ATMOSPHERE AND WATER 0007 01 MISSING VALUE 023004 0006 0000 01 NO COUNTERMEASURE 0001 01 EVACUATION 0002 01 SHELTERING 0003 01 PROPHILAXIS 0004 01 WATER 0007 01 MISSING VALUE 023005 0004 0000 01 INCIDENT STAT DOES NOT UNDERSTAND WHAT HAPPENED 0001 01 INCIDENT STATE KNOWS THE CAUSE OF THE INCIDENT 0002 01 RESERVED 0003 01 MISSING VALUE 023006 0008 0000 01 NO IMPROVEMENT 0001 01 UNSTABLE 0002 01 NO DETERIORATION 0003 01 IMPROVING 0004 01 STABLE 0005 01 DETERIORATING 0006 01 RESERVED 0007 01 MISSING VALUE 023007 0005 0000 01 NO RELEASE 0001 01 RELEASE HAS STOPPED 0002 01 RELEASE 0003 01 RELEASE IS CONTINUING 0007 01 MISSING VALUE 023008 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023009 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023016 0004 0000 01 NO SIGNIFICANT TOXIC HEALTH EFFECT 0001 01 SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT POSSIBLE 0002 01 RESERVED 0003 01 MISSING VALUE 023018 0006 0000 01 RELEASE NO LONGER OCCURRING 0001 01 RELEASE STILL OCCURRING 0002 01 RELEASE EXPECTED TO INCREASE IN NEXT SIX HOURS 0003 01 RELEASE EXPECTED TO REMAIN CONSTANT IN NEXT SIX HOURS 0004 01 RELEASE EXPECTED TO DECREASE IN NEXT SIX HOURS 0007 01 MISSING VALUE 023031 0004 0000 01 PLUME WILL NOT ENCOUNTER RAIN IN INCIDENT STATE 0001 01 PLUME WILL ENCOUNTER RAIN IN INCIDENT STATE 0002 01 RESERVED 0003 01 MISSING VALUE 023032 0004 0000 01 NO SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0001 02 ANTICIPATED SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOUR S 0002 01 RESERVED 0003 01 MISSING VALUE 024003 0005 0000 01 NOBLE GASES 0001 01 IODINES 0002 01 CAESIUM 0003 01 TRANSURANICS 0031 01 MISSING VALUE 025004 0004 0000 01 INCOHERENT 0001 01 COHERENT (DOPPLER) 0002 01 RESERVED 0003 01 MISSING VALUE 025005 0004 0000 01 LOGATITHM - 2.5 DB 0001 01 LINEAR 0002 01 SPECIAL 0003 01 MISSING VALUE 025006 0005 0000 01 ZH TO R CONVERSION 0001 01 (ZH, ZDR) TO (NO.DO) TO R 0002 01 (Z(F1),Z(F2)) TO ATTENUATION TO R 0006 01 OTHER 0007 01 MISSING VALUE 025009 0004 0001 01 NONE 0002 01 CALIBRATION TARGET OR SIGNAL 0003 01 AGAINST RAINGAGES 0004 01 AGAINST OTHER INSTRUMENTS (DISTROMETER-ATTENUATION) 025010 0008 0000 01 NONE 0001 01 MAP 0002 01 INSERTION OF HIGHER ELEVATION DATA AND MAP 0003 01 ANALYSIS OF FLUCTUATING LOGARITHM SIGNAL (CLUTTER DETECTION) 0004 02 EXTRACTION OF FLUCTUATING PART OF LINEAR SIGNAL (CLUTTER SUP PRESSION) 0005 01 CLUTTER SUPPRESSION DOPPLER 0006 01 MULTIPARAMETER ANALYSIS 0015 01 MISSING VALUE 025011 0004 0000 01 NONE 0001 01 MAP OF CORRECTION FACTORS 0002 01 INTERPOLATION (AZIMUTH OR ELEVATION) 0003 01 MISSING VALUE 025012 0004 0000 01 HARDWARE 0001 01 SOFTWARE 0002 01 HARDWARE AND SOFTWARE 0003 01 MISSING VALUE 025013 0001 0001 01 BRIGHT BAND CORRECTION 025015 0001 0001 01 RADOME ATTENUATION CORRECTION 025017 0001 0001 01 PRECIPITATION ATTENUATION CORRECTION 025020 0004 0000 01 FTT (FAST FOURIER TRANSFORM 0001 01 PPP (PULSE PAIR PROCESSING 0002 01 VPC (VECTOR-PHASE CHANGE) 0003 01 MISSING VALUE 025021 0005 0001 01 SIMPLE AVERAGE 0002 01 CONSENSUS AVERAGE 0003 01 MEDIAN CHECK 0004 01 VERTICAL CONSISTENCY CHECK 0005 01 OTHER 025030 0004 0000 02 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE USAGE CRITERIA NOT MET 0001 02 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE DATA N OT AVAILABLE 0002 01 RUNNING MEAN SEA-SURFACE TEMPERATURE USED AS PREDICTOR 0003 01 MISSING VALUE 025032 0004 0000 01 RESERVED 0001 01 DATA FROM LOW MODE 0002 01 DATA FROM HIGH MODE 0003 01 MISSING VALUE 025033 0004 0000 01 WIND PROFILER OPERATING IN SUBMODE A 0001 01 WIND PROFILER OPERATING IN SUBMODE B 0002 01 RESERVED 0003 01 MISSING VALUE 025034 0003 0001 01 TEST A PERFORMED AND FAILED 0002 01 TEST B PERFORMED AND FAILED 0003 01 TEST RESULTS INCONCLUSIVE 025036 0004 0000 02 NETWORK OF SEVERAL DIRECTION-FINDERS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0001 02 NETWORK OF SEVERAL ARRIVAL-TIME STATIONS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0006 01 SINGLE STATION RANGE BEARING TECHNIQUE 0015 01 MISSING VALUE 025040 0010 0000 01 NON-SPECIFIC MODE 0001 01 FIRST GUESS DATA 0002 01 CLOUD DATA 0003 01 AVERAGE VECTOR DATA 0004 01 PRIMARY DATA 0005 01 GUESS DATA 0006 01 VECTOR DATA 0007 01 TRACER DATA; THE IMAGE 0008 01 TRACER DATA TO NEXT IMAGE 0015 01 MISSING VALUE 025041 0004 0000 01 DIRECTION ORIGINALLY REPORTED IN TRUE DEGREES 0001 01 DIRECTION ORIGINALLY REPORTED USING CODE TABLE 0700, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025042 0004 0000 01 SPEED ORIGINALLY REPORTED IN METERS PER SECOND 0001 01 SPEED ORIGINALLY REPORTED USING CODE TABLE 2251, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025045 0020 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 0016 01 CHANNEL 16 PRESENT - (SET TO 1 PRESENT) 0017 01 CHANNEL 17 PRESENT - (SET TO 1 PRESENT) 0018 01 CHANNEL 18 PRESENT - (SET TO 1 PRESENT) 0019 01 CHANNEL 19 PRESENT - (SET TO 1 PRESENT) 0020 01 CHANNEL 20 PRESENT - (SET TO 1 PRESENT) 025046 0004 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 025047 0003 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 025048 0015 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 025049 0005 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 025051 0006 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 025053 0006 0001 01 GOOD 0002 01 REDUNDANT 0003 01 QUESTIONABLE 0004 01 BAD 0005 01 EXPERIMENTAL 0006 01 PRECIPITATING 025069 0007 0001 01 SMOOTHED 0002 01 BASELINE ADJUSTED 0003 01 NORMALIZED TIME INTERVAL 0004 01 OUTLIER CHECKED 0005 01 PLAUSIBILITY CHECKED 0006 01 CONSISTENCY CHECKED 0007 01 INTERPOLATED 025086 0004 0000 01 DEPTHS ARE NOT CORRECTED 0001 01 DEPTHS ARE CORRECTED 0002 01 RESERVED 0003 01 MISSING VALUE 025093 0003 0001 01 NO CORRECTION 0002 01 VERTICAL VELOCITY CORRECTION 0007 01 ALL CORRECTIONS 025095 0001 0001 02 ALTIMETER OPERATING (SET TO 0 IF NOMINAL, SET TO BACKUP) 025096 0004 0001 01 MODE INDICATOR (0 IF MODE 2, 1 IF MODE 1) 0002 03 MODE 1 CALIBRATION SEQUENCE INDICATOR (0 IF NORMAL DATA TAKI NG EITHER MODE 1 OR 2, 1 IF MODE 1 CALIBRATION SEQUENCE) BIT S 3 AND 4 INDICATE ACTIVE 23.8 GHZ CHANNEL 0003 01 CHANNEL 2 (0 IF ON, 1 IF OFF) 0004 01 CHANNEL 3 (0 IF ON, 1 IF OFF) 025097 0011 0000 01 RANGES BETWEEN 0 AND 30 CM 0001 01 RANGES BETWEEN 30 AND 60 CM 0002 01 RANGES BETWEEN 60 AND 90 CM 0003 01 RANGES BETWEEN 90 AND 120 CM 0004 01 RANGES BETWEEN 120 AND 150 CM 0005 01 RANGES BETWEEN 150 AND 180 CM 0006 01 RANGES BETWEEN 180 AND 210 CM 0007 01 RANGES BETWEEN 210 AND 240 CM 0008 01 RANGES BETWEEN 240 AND 270 CM 0009 01 RANGES LARGER THAN 270 CM 0015 01 MISSING VALUE 025098 0008 0001 01 KU BAND RANGE 0002 01 C BAND RANGE 0003 01 KU BAND SWH 0004 01 C BAND SWH 0005 01 KU BAND SCATTEROMETER COEFFICIENT 0006 01 C BAND SCATTEROMETER COEFFICIENT 0007 01 OFF NADIR ANGLE FROM KU BAND WVEFORM PARAMETERS 0008 01 OFF NADIR FROM PLATFORM 025099 0006 0001 01 KU BAND RANGE INSTRUMENTAL CORRECTION 0002 01 C BAND RANGE INSTRUMENTAL CORRECTION 0003 01 KU BAND SWH INSTRUMENTAL CORRECTION 0004 01 C BAND SWH INSTRUMENTAL CORRECTION 0005 01 KU BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 0006 01 C BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 025110 0006 0001 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING DEFAULT PARAMETERS 0002 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING RAW DATA ANALYSIS RESULTS 0003 01 ANTENNA ELEVATION PATTERN CORRECTION APPLIED 0004 01 NOMINAL CHIRP REPLICA USED 0005 01 RECONSTRUCTED CHIRP USED 0006 01 SLANT RANGE TO GROUND RANGE CONVERSION APPLIED 025120 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025122 0004 0000 01 HARDWARE CONFIGURATION FOR RF IS A 0001 01 HARDWARE CONFIGURATION FOR RF IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025123 0004 0000 01 HARDWARE CONFIGURATION FOR HPA IS A 0001 01 HARDWARE CONFIGURATION FOR HPA IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025124 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025144 0013 0001 01 PIXEL IS AFFECTED BY RFI EFFECTS 0002 02 PIXEL IS LOCATED IN THE HEXAGONAL ALIAS DIRECTION CENTRED ON SUN ALIAS 0003 02 PIXEL IS CLOSE TO THE BORDER DELIMITING THE EXTENDED ALIAS F REE ZONE 0004 01 PIXEL IS INSIDE THE EXTENDED ALIAS FREE ZONE 0005 01 PIXEL IS INSIDE THE EXCLUSIVE OF ALIAS FREE ZONE 0006 02 PIXEL IS LOCATED IN ZONE WHERE A MOON ALIAS WAS RECONSTRUCTE D 0007 02 PIXEL IS LOCATED IN ZONE WHERE SUN REFLECTION HAS BEEN DETEC TED 0008 01 PIXEL IS LOCATED IN ZONE WHERE SUN ALIAS WAS RECONSTRUCTED 0009 02 FLAT TARGET TRANSFORMATION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0010 03 SCENE HAS BEEN COMBINED WITH AN ADJUSTMENT SCENE IN OPOSITE POLARISATION DURING IMAGE RECONSTRUCTION TO ACCOUNT FOR CROS S-POLARISATION LEAKAGE 0011 02 DIRECT MOON CORRECTION HAS BENN PERFORMED DURING IMAGE RECON STRUCTION OF THIS PIXEL 0012 02 REFLECTED SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION IF THIS PIXEL 0013 02 DIRECT SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS IMAGE 026010 0025 0001 01 0100 INCLUDED 0002 01 0200 INCLUDED 0003 01 0300 INCLUDED 0004 01 0400 INCLUDED 0005 01 0500 INCLUDED 0006 01 0600 INCLUDED 0007 01 0700 INCLUDED 0008 01 0800 INCLUDED 0009 01 0900 INCLUDED 0010 01 1000 INCLUDED 0011 01 1100 INCLUDED 0012 01 1200 INCLUDED 0013 01 1300 INCLUDED 0014 01 1400 INCLUDED 0015 01 1500 INCLUDED 0016 01 1600 INCLUDED 0017 01 1700 INCLUDED 0018 01 1800 INCLUDED 0019 01 1900 INCLUDED 0020 01 2000 INCLUDED 0021 01 2100 INCLUDED 0022 01 2200 INCLUDED 0023 01 2300 INCLUDED 0024 01 2400 INCLUDED 0025 01 UNKNOWN MIXTURE OF HOURS 029001 0006 0000 01 GNOMONIC PROJECTION 0001 01 POLAR STEREOGRAPHIC PROJECTION 0002 01 LAMBERT'S CONFORMAL CONIC PROJECTION 0003 01 MERCATOR'S PROJECTION 0004 01 SCANNING CONE (RADAR) 0007 01 MISSING VALUE 029002 0004 0000 01 CARTESIAN 0001 01 POLAR 0002 01 OTHER 0007 01 MISSING VALUE 030031 0013 0000 01 PPI 0001 01 COMPOSITE 0002 01 CAPPI 0003 01 VERTICAL SECTION 0004 01 ALPHANUMERIC DATA 0005 01 MAP OF SUBJECT CLUTTER 0006 01 MAP 0007 01 TEST PICTURE 0008 01 COMMENTS 0009 01 MAP OF GROUND OCCULTATION 0010 01 MAP OF RADAR BEAM HEIGHT 0014 01 OTHER 0015 01 MISSING VALUE 030032 0009 0001 01 MAP 0002 01 SATELLITE IR 0003 01 SATELLITE VIS 0004 01 SATELLITE WV 0005 01 SATELLITE MULTISPECTRAL 0006 01 SYNOPTIC OBSERVATIONS 0007 01 FORECAST PARAMETERS 0008 01 LIGHTNING DATA 0015 01 OTHER DATA 031021 0004 0001 01 1 BIT INDICATOR OF QUALITY, 0= GOOD; 1=SUSPECT OR BAD 0002 02 2 BIT INDICATOR OF QUALITY, 0= GOOD; 1= SLIGHTLY SUSPECTED; 2= HIGHLY SUSPECTED; 3=BAD 0007 01 PERCENTAGE CONFIDENCE 0063 01 MISSING VALUE 031031 0001 0001 01 DATA NOT PRESENT 033002 0004 0000 01 DATA NOT SUSPECT 0001 01 DATA SUSPECT 0002 01 RESERVED 0003 01 MISSING VALUE 033003 0005 0000 01 DATA NOT SUSPECT 0001 01 DATA SLIGHTLY SUSPECT 0002 01 DATA HIGHTLY SUSPECT 0003 01 DATA CONSIDERED UNFIT FOR USE 0007 01 MISSING VALUE 033005 0023 0001 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0002 01 PRESSURE DATA SUSPECT 0003 01 WIND DATA SUSPECT 0004 01 DRY-BULB TEMPERATURE DATA SUSPECT 0005 01 WET-BULB TEMPERATURE DATA SUSPECT 0006 01 HUMIDITY DATA SUSPECT 0007 01 GROUND TEMPERATURE DATA SUSPECT 0008 01 SOIL TEMPERATURE (DEPTH 1) DATA SUSPECT 0009 01 SOIL TEMPERATURE (DEPTH 2) DATA SUSPECT 0010 01 SOIL TEMPERATURE (DEPTH 3) DATA SUSPECT 0011 01 SOIL TEMPERATURE (DEPTH 4) DATA SUSPECT 0012 01 SOIL TEMPERATURE (DEPTH 5) DATA SUSPECT 0013 01 CLOUD DATA SUSPECT 0014 01 VISIBILITY DATA SUSPECT 0015 01 PRESENT WEATHER DATA SUSPECT 0016 01 LIGHTNING DATA SUSPECT 0017 01 ICE DEPOSIT DATA SUSPECT 0018 01 PRECIPITATION DATA SUSPECT 0019 01 STATE OF GROUND DATA SUSPECT 0020 01 SNOW DATA SUSPECT 0021 01 WATER CONTENT DATA SUSPECT 0022 01 EVAPORATION/EVAPOTRANSPIRATION DATA SUSPECT 0023 01 SUNSHINE DATA SUSPECT 033006 0005 0000 01 SELF-CHECK OK 0001 01 AT LEAST ONE WARNING ACTIVE, NO ALARMS 0002 01 AT LEAST ONE ALARM ACTIVE 0003 01 SENSOR FAILURE 0007 01 MISSING VALUE 033015 0016 0000 01 PASSED ALL CHECKS 0001 01 MISSING-DATA CHECK 0002 01 DESCENDING/REASCENDING BALLOON CHECK 0003 01 DATA PLAUSIBILITY CHECK (ABOVE LIMITS) 0004 01 DATA PLAUSIBILITY CHECK (BELOW LIMITS) 0005 01 SUPERADIABATIC LAPSE RATE CHECK 0006 01 LIMITING ANGLES CHECK 0007 01 ASCENSION RATE CHECK 0008 01 EXCESSIVE CHANGE FROM PREVIOUS FLIGHT 0009 01 BALLOON OVERHEAD CHECK 0010 01 WIND SPEED CHECK 0011 01 WIND DIRECTION CHECK 0012 01 DEPENDENCY CHECK 0013 01 DATA VALID BUT MODIFIED 0014 01 DATA OUTLIER CHECK 0063 01 MISSING DATA 033020 0008 0000 01 GOOD 0001 01 INCONSISTENT 0002 01 DOUBTFUL 0003 01 WRONG 0004 01 NOT CHECKED 0005 01 HAS BEEN CHECKED 0006 01 RESERVED 0007 01 MISSING VALUE 033021 0004 0000 01 WITHIN LIMITS 0001 01 OUTSIDE LIMITS 0002 01 RESERVED 0003 01 MISSING VALUE 033022 0004 0000 01 GOOD (SEVERAL IDENTICAL REPORTS HAVE BEEN RECEIVED) 0001 01 DUBIOUS (NO IDENTICAL REPORT HAVE BEEN RECEIVED) 0002 01 RESERVED 0003 01 MISSING VALUE 033023 0004 0000 01 RELIABLE (LOCATION WAS MADE OVER TWO SATELLITE PASSES) 0001 01 LATEST KNOWN (NO LOCATION OVER CORRESPONDING PASS) 0002 01 DUBIOUS 0003 01 MISSING VALUE 033024 0010 0000 01 RESERVED 0001 01 EXELLENT - WITHIN 3 METRES 0002 01 GOOD - WITHIN 10 METRES 0003 01 FAIR - WITHIN 20 METRES 0004 01 POOR - MORE THAN 20 METRES 0005 01 EXELLENT -WITHIN 10 FEET 0006 01 GOOD WITHIN-30 FEET 0007 01 FAIR WITHIN 60 FEET 0008 01 POOR - MORE THAN 60 FEET 0015 01 MISSING VALUE 033025 0005 0000 01 TIME INTERPOLATED, LATITUDE AND LONGITUDE REPORTED 0001 01 TIME REPORTED, LATITUDE AND LONGITUDE INTERPOLATED 0002 01 TIME, LATITUDE AND LONGITUDE INTERPOLATED 0003 01 TIME, LATITUDE AND LONGITUDE REPORTED 0007 01 MISSING VALUE 033026 0010 0000 01 NORMAL OPERATIONS - MEASUREMENT MODE 0001 01 NORMAL OPERATIONS - NON-MEASUREMENT MODE 0002 01 SMALL RH 0003 01 HUMIDITY ELEMENT IS WET 0004 01 HUMIDITY ELEMENT IS CONTAMINATED 0005 01 HEATER FAIL 0006 01 HEATER FAIL AND WET/CONTAMINATED HUMIDITY ELEMENT 0007 01 SINGLE VALIDITY BAD 0008 01 NUMERIC ERROR 0063 01 MISSING VALUE 033027 0005 0000 01 RADIUS >= 1500 M 0001 01 500 M <= RADIUS < 1500 M 0002 01 250 M <= RADIUS < 500 M 0003 01 RADIUS < 250 M 0007 01 MISSING VALUE 033028 0006 0000 01 RESERVED 0001 01 NOMINAL 0002 01 DEGRADED BY SW ERROR; ANY ERROR REPORTED BY THE ALGORITHMS 0003 01 DEGRADED BY INSTRUMENT ERROR 0004 01 DEGRADED BY CORRUPTED/MISSING ADF 0007 01 MISSING 033030 0007 0001 01 DO NOT USE SCAN FOR PRODUCT GENERATION 0002 01 TIME SEQUENCE ERROR DETECTED WITH THIS SCAN 0003 01 DATA GAP PRECEDES THIS SCAN 0004 01 NO CALIBRATION 0005 01 NO EARTH LOCATION 0006 01 FIRST GOOD TIME FOLLOWING A CLOCK UPDATE 0007 01 INSTRUMENT STATUS CHANGED WITH THIS SCAN 033031 0021 0001 02 TIME FIELD IS BAD BUT CAN PROBABLY BE INFERRED FROM THE PREV IOUS GOOD TIME 0002 02 TIME FIELD IS BAD AND CANÂ~@~YT BE INFERRED FROM THE PREVIOU S GOOD TIME 0003 04 THIS RECORD STARTS A SEQUENCE THAT IS INCONSISTENT WITH PREV IOUS TIMES (I.E. THERE IS A TIME DISCONTINUITY). THIS MAY OR MAY NOT BE ASSOCIATED WITH A SPACECRAFT CLOCK UPDATE (SEE S CAN LINE STATUS FLAGS FOR ATOVS) 0004 02 START OF A SEQUENCE THAT APPARENTLY REPEATS SCAN TIMES THAT HAVE BEEN PREVIOUSLY ACCEPTED 0005 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD TIME 0006 03 SCAN LINE WAS CALIBRATED USING FEWER THAN THE PREFERRED NUMB ER OF SCAN LINES BECAUSE OF PROXIMATY TO START OR END OF DAT A OR TO A DATA GAP 0007 02 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD OR INSUFFICIENT PRT DATA 0008 01 SCAN LINE WAS CALIBRATED BUT WITH MARGINAL PRT DATA 0009 01 SOME UNCALIBRATED CHANNELS ON THIS SCAN 0010 01 UNCALIBRATED DUE TO INSTRUMENT MODE 0011 02 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR O F SPACE VIEW 0012 02 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR O F BLACK BODY 0013 01 NOT EARTH LOCATED BECAUSE OF BAD TIME 0014 03 EARTH LOCATION QUESTIONABLE BECAUSE OF QUESTIONABLE TIME CODE (SEE TIME PROBLEM CODE BITS) 0015 02 EARTH LOCATION QUESTIONABLE - ONLY MARGINAL AGREEMENT WITH REASONABLENESS CHECK 0016 01 EARTH LOCATION QUESTIONABLE - FAILS REASONABLENESS CHECK 0017 02 EARTH LOCATION QUESTIONABLE BECAUSE OF ANTENNA POSITION CHEC K 0018 01 SCAN LINE CALIBRATION COLD BLACK BODY 0019 01 SCAN LINE CALIBRATION WARM BLACK BODY 0020 01 SCAN LINE CALIBRATION SPACE VIEW 0021 01 EARTH VIEW 033032 0006 0001 01 NO GOOD BLACKBODY COUNTS FOR SCAN LINE 0002 01 NO GOOD SPACE VIEW COUNTS FOR THIS LINE 0003 01 NO GOOD PRTS FOR THIS LINE 0004 01 SOME BAD BLACKBODY VIEW COUNTS FOR THIS LINE 0005 01 SOME BAD SPACE VIEW COUNTS FOR THIS LINE 0006 01 SOME BAD PRT TEMPS ON THIS LINE 033033 0023 0001 01 SET IF SECONDARY CALIBRATION USED 0002 02 BRIGHTNESS TEMPERATURE IN CHANNEL 1 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0003 02 BRIGHTNESS TEMPERATURE IN CHANNEL 2 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0004 02 BRIGHTNESS TEMPERATURE IN CHANNEL 3 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0005 02 BRIGHTNESS TEMPERATURE IN CHANNEL 4 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0006 02 BRIGHTNESS TEMPERATURE IN CHANNEL 5 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0007 02 BRIGHTNESS TEMPERATURE IN CHANNEL 6 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0008 02 BRIGHTNESS TEMPERATURE IN CHANNEL 7 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0009 02 BRIGHTNESS TEMPERATURE IN CHANNEL 8 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0010 02 BRIGHTNESS TEMPERATURE IN CHANNEL 9 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0011 02 BRIGHTNESS TEMPERATURE IN CHANNEL 10 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0012 02 BRIGHTNESS TEMPERATURE IN CHANNEL 11 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0013 02 BRIGHTNESS TEMPERATURE IN CHANNEL 12 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0014 02 BRIGHTNESS TEMPERATURE IN CHANNEL 13 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0015 02 BRIGHTNESS TEMPERATURE IN CHANNEL 14 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0016 02 BRIGHTNESS TEMPERATURE IN CHANNEL 15 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0017 02 BRIGHTNESS TEMPERATURE IN CHANNEL 16 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0018 02 BRIGHTNESS TEMPERATURE IN CHANNEL 17 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0019 02 BRIGHTNESS TEMPERATURE IN CHANNEL 18 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0020 02 BRIGHTNESS TEMPERATURE IN CHANNEL 19 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0021 02 BRIGHTNESS TEMPERATURE IN CHANNEL 20 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0022 01 SET IF ALL CHANNELS ARE MISSING 0023 01 SUSPECT 033035 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PA SSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DE LETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FA ILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE -INSERTED 0006 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND N OT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033037 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 033038 0009 0001 01 TOTAL ZENITH DELAY QUALITY IS CONSIDERED POOR 0002 01 GALILEO SATELLITES USED 0003 01 GLONASS SATELLITES USED 0004 01 GPS SATELLITES USED 0005 01 METEOROLOGICAL DATA APPLIED 0006 01 ATMOSPHERIC LOADING CORRECTION APPLIED 0007 01 OCEAN TIDE LOADING APPLIED 0008 01 CLIMATE QUALITY DATA PROCESSING 0009 01 NEAR-REAL TIME DATA PROCESSING 033039 0009 0001 01 NON-NOMINAL QUALITY 0002 01 OFFLINE PRODUCT 0003 01 ASCENDING OCCULTATION FLAG 0004 01 EXCESS PHASE PROCESSING NON-NOMINAL 0005 01 BENDING ANGLE PROCESSING NON-NOMINAL 0006 01 REFRACTIVITY PROCESSING NON-NOMINAL 0007 01 METEOROLOGICAL PROCESSING NON-NOMINAL 0014 01 BACKGROUND PROFILE NON-NOMINAL 0015 01 BACKGROUND (I.E. NOT RETRIEVED) PROFILE PRESENT 033041 0004 0000 01 THE FOLLOWING VALUE IS THE TRUE VALUE 0001 02 THE FOLLOWING VALUE IS HIGHER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE LOWER LIMIT OF THE INSTRUMENT) 0002 02 THE FOLLOWING VALUE IS LOWER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE HIGHER LIMIT OF THE INSTRUMENT) 0003 01 MISSING VALUE 033042 0005 0000 01 EXCLUSIVE LOWER LIMIT (>) 0001 01 INCLUSIVE LOWER LIMIT (>=) 0002 01 EXCLUSIVE UPPER LIMIT (<) 0003 01 INCLUSIVE UPPER LIMIT (=<) 0007 01 MISSING VALUE 033043 0004 0001 02 SEA MDS. NADIR ONLY SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED 0002 02 SEA MDS. DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED. 0003 01 NADIR VIEW CONTAINS DAY TIME DATA 0004 01 FORWARD VIEW CONTAINS DAY TIME DATA 033044 0014 0001 01 INPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0002 01 INPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0003 01 NUMBER OF INPUT DATA GAPS > THRESHOLD VALUE 0004 01 PERCENTAGE OF MISSING LINES > THRESHOLD VALUE 0005 02 DOPPLER CENTROID UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VA LUE 0006 02 DOPPLER AMBIGUITY ESTIMATE UNCERTAIN. CONFIDENCE MEASURE < S PECIFIC VALUE 0007 01 OUTPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0008 01 OUTPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0009 01 CHIRP RECONSTRUCTION FAILED OR IS OF LOW QUALITY FLAG 0010 01 DATA SET MISSING 0011 01 INVALID DOWNLINK PARAMETERS 0012 02 AZIMUTH CUT-OFF ITERATION COUNT. THE AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0013 02 AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0014 03 PHASE INFORMATION CONFIDENCE MEASURE. THE IMAGINARY SPECTRAL PEAK IS LESS THAN A MINIMUM THRESHOLD, OR THE ZERO LAG SHIFT IS GREATER THAN A MINIMUM THRESHOLD 033047 0026 0001 01 ERROR DETECTED AND ATTEMPTS TO RECOVER MADE 0002 01 ANOMALY IN ON-BOARD DATA HANDLING (OBDH) VALUE DETECTED 0003 02 ANOMALY IN ULTRA STABLE OSCILLATOR PROCESSING (USOP) VALUE D ETECTED 0004 01 ERRORS DETECTED BY ON-BOARD COMPUTER 0005 01 AUTOMATIC GAIN CONTROL (AGC) OUT OF RANGE 0006 01 RX DELAY FAULT. RX DISTANCE OUT OF RANGE 0007 01 WAVE FORM SAMPLES FAULT IDENTIFIER. ERROR 0012 01 BRIGHTNESS TEMPERATURE (CHANNEL 1) OUT OF RANGE 0013 01 BRIGHTNESS TEMPERATURE (CHANNEL 2) OUT OF RANGE 0014 01 RESERVED 0015 01 KU OCEAN RETRACKING ERROR 0016 01 S OCEAN RETRACKING ERROR 0017 01 KU ICE 1 RETRACKING ERROR 0018 01 S ICE 1 RETRACKING ERROR 0019 01 KU ICE 2 RETRACKING ERROR 0020 01 S ICE 2 RETRACKING ERROR 0021 01 KU SEA ICE RETRACKING ERROR 0022 01 ARITHMETIC FAULT ERROR 0023 01 METEO DATA STATE. NO MAP 0024 01 METEO DATA STATE. 1 MAP 0025 01 METEO DATA STATE 2 MAPS DEGRADED 0026 01 METEO DATA STATE 2 MAPS NOMINAL 0027 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, SEVERAL ERRORS 0028 02 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, WARNING DETECT ED 0029 02 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, SEVERAL ERR ORS 0030 02 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, WARNING DET ECTED 033048 0004 0000 01 INVERSION SUCCESSFUL 0001 01 INVERSION NOT SUCCESSFUL 0002 01 RESERVED 0003 01 MISSING VALUE 033049 0004 0000 01 EXTERNAL WIND DIRECTION USED DURING INVERSION 0001 01 EXTERNAL WIND DIRECTION NOT USED DURING INVERSION 0002 01 RESERVED 0003 01 MISSING VALUE 033050 0008 0000 01 UNQUALIFIED 0001 01 CORRECT VALUE (ALL CHECKS PASSED) 0002 02 PROBABLY GOOD BUT VALUE INCONSISTENT WITH STATISTICS (DIFFER FROM CLIMATOLOGY) 0003 01 PROBABLY BAD (SPIKE, GRADIENT, Â~E IF OTHER TESTS PASSED) 0004 02 BAD VALUE, IMPOSSIBLE VALUE (OUT OF SCALE, VERTICAL INSTABILITY, CONSTANT PROFILE) 0005 01 VALUE MODIFIED DURING QUALITY CONTROL 0008 01 INTERPOLATED VALUE 0015 01 MISSING VALUE 033052 0020 0001 01 DATA BLOCK 1 INVALID (S BAND) 0002 01 DATA BLOCK 2 INVALID (S BAND) 0003 01 DATA BLOCK 3 INVALID (S BAND) 0004 01 DATA BLOCK 4 INVALID (S BAND) 0005 01 DATA BLOCK 5 INVALID (S BAND) 0006 01 DATA BLOCK 6 INVALID (S BAND) 0007 01 DATA BLOCK 7 INVALID (S BAND) 0008 01 DATA BLOCK 8 INVALID (S BAND) 0009 01 DATA BLOCK 9 INVALID (S BAND) 0010 01 DATA BLOCK 10 INVALID (S BAND) 0011 01 DATA BLOCK 11 INVALID (S BAND) 0012 01 DATA BLOCK 12 INVALID (S BAND) 0013 01 DATA BLOCK 13 INVALID (S BAND) 0014 01 DATA BLOCK 14 INVALID (S BAND) 0015 01 DATA BLOCK 15 INVALID (S BAND) 0016 01 DATA BLOCK 16 INVALID (S BAND) 0017 01 DATA BLOCK 17 INVALID (S BAND) 0018 01 DATA BLOCK 18 INVALID (S BAND) 0019 01 DATA BLOCK 19 INVALID (S BAND) 0020 01 DATA BLOCK 20 INVALID (S BAND) 033053 0020 0001 01 DATA BLOCK 1 INVALID (KU BAND) 0002 01 DATA BLOCK 2 INVALID (KU BAND) 0003 01 DATA BLOCK 3 INVALID (KU BAND) 0004 01 DATA BLOCK 4 INVALID (KU BAND) 0005 01 DATA BLOCK 5 INVALID (KU BAND) 0006 01 DATA BLOCK 6 INVALID (KU BAND) 0007 01 DATA BLOCK 7 INVALID (KU BAND) 0008 01 DATA BLOCK 8 INVALID (KU BAND) 0009 01 DATA BLOCK 9 INVALID (KU BAND) 0010 01 DATA BLOCK 10 INVALID (KU BAND) 0011 01 DATA BLOCK 11 INVALID (KU BAND) 0012 01 DATA BLOCK 12 INVALID (KU BAND) 0013 01 DATA BLOCK 13 INVALID (KU BAND) 0014 01 DATA BLOCK 14 INVALID (KU BAND) 0015 01 DATA BLOCK 15 INVALID (KU BAND) 0016 01 DATA BLOCK 16 INVALID (KU BAND) 0017 01 DATA BLOCK 17 INVALID (KU BAND) 0018 01 DATA BLOCK 18 INVALID (KU BAND) 0019 01 DATA BLOCK 19 INVALID (KU BAND) 0020 01 DATA BLOCK 20 INVALID (KU BAND) 033060 0004 0000 01 PARAMETER=GOOD 0001 01 PARAMETER=BAD 0002 01 PARAMETER=RESERVED 0003 01 MISSING 033195 0004 0000 01 DEALIASING NOT USED 0001 01 DEALIASING USED 0002 01 RESERVED 0003 01 MISSING 033205 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033206 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033207 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033208 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033209 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033220 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 REPORT REJECTED THROUGH THE NAMELIST 0017 01 MODEL SUR. TOO FAR FROM STAT. ALT. 0018 01 MISSING STATION ALTITUDE 0019 01 REPORT OVER SEA 0020 01 REPORT OVER LAND 0021 01 REDUNDANT REPORT 0022 01 TIME OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 HORIZONTAL POSITION OUT OF RANGE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 BAD REPORTING PRACTICE 0029 01 ALL DATA REJECTED 0030 01 NO DATA IN THE REPORT 033221 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033222 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033223 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033224 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033225 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033226 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033227 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033228 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033229 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 THINNED REPORT 033230 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033232 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 BLACKLISTED DUE TO DISTANCE FROM REF. POINT 0015 01 BLACKLISTED DUE TO MODEL OROGRAPHY 0016 01 BLACKLISTED DUE TO LAND/SEA MASK 0017 01 STATION ALTITUDE BLACKLISTED 0018 01 LONGITUDE BLACKLISTED 0019 01 LATITUDE BLACKLISTED 0020 01 TIME BLACKLISTED 0021 01 DATE BLACKLISTED 0022 01 INSTRUMENT TYPE BLACKLISTED 0023 01 CODE TYPE BLACKLISTED 0024 01 STATION ID BLACKLISTED 0025 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0026 01 BLACKLISTED DUE TO OBSERVED VALUE 0027 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE NAME BLACKLISTED 0030 01 MONTHLY MONITORING 033233 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 REPORT BLACK LISTED 0028 01 REPORT REJECTED 0029 01 REPORT PASSIVE 0030 01 REPORT ACTIVE 033234 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 DATUM BLACK LISTED 0028 01 DATUM REJECTED 0029 01 DATUM PASSIVE 0030 01 DATUM ACTIVE 033236 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 DATUM REJECTED DUE TO REJECTED REPORT 0006 01 COMBINED FLAGGING 0007 01 DATUM REJECTED DUE TO NAMELIST 0008 01 VERTICAL COORDINATE CHANGE FROM Z TO P 0009 01 VERTICAL CONSISTENCY CHECK 0010 01 LEVEL SELECTION 0011 01 MULTI LEVEL CHECK 0012 01 TOO MANY SURFACE DATA/LEVELS 0013 01 DUPLICATED DATUM/LEVEL 0014 01 NOT AN ANALYSIS VARIABLE 0015 01 REPORT OVER SEA 0016 01 REPORT OVER LAND 0017 01 REDUNDANT LEVEL 0018 01 REDUNDANT DATUM 0019 01 TOO BIG OBSERVATION ERROR 0020 01 TOO BIG DEPARTURE IN ASSIMILATION 0021 01 TOO BIG FIRST GUESS DEPARTURE 0022 01 REFERENCE LEVEL POSITION OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 BAD REPORTING PRACTICE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 MISSING FIRST GUESS VALUE 0029 01 MISSING OBSERVED VALUE 0030 01 MISSING VERTICAL COORDINATE 033237 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033238 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033239 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033240 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033243 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033244 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033245 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 LAYER FORMED BY SUMMING UP 0029 01 LAYER FORMED BY THINNING UP 0030 01 NOT PREDEFINED LAYER 033246 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033247 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033248 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033249 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0025 01 BLACKLISTED DUE TO OBSERVED VALUE 0026 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0027 01 BLACKLISTED DUE TO DISTANCE FROM REFERENCE POINT 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE BLACKLISTED 0030 01 PRESSURE BLACKLISTED 033252 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PA SSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DE LETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FA ILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE -INSERTED 0006 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND N OT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND M ANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033254 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 035000 0011 0011 01 000-099 INTERNATIONAL FM CODES 0001 01 100-199 RA I CODES 0002 01 200-299 RA II CODES 0003 01 300-399 RA III CODES 0004 01 400-499 RA IV CODES 0005 01 500-599 RA V CODES 0006 01 600-699 RA VI CODES 0007 01 700-799 ANTARCTIC CODES 0008 01 800-999 RESERVED 0009 01 1000-1022 NOT USED 1023 01 MISSING VALUE 035001 0004 0000 01 REAL TIME 0001 01 NEAR-REAL TIME 0002 01 NON-REAL TIME 0007 01 MISSING VALUE 035030 0010 0000 01 NO DISCREPANCIES 0001 02 NON-COMPLIANCE WITH STANDARD AND RECOMMENDED PRACTICES AND PROCEDURES INCLUDINGTHOSE OF MONITORING 0002 02 CATALOGUES OF METEOROLOGICAL BULLETINS NOT UPDATED IN A TIME LY MANNER 0003 01 INCORRECT ROUTEING DIRECTORIES 0004 01 LACK OF FLEXIBILITY IN THE ROUTEING ARRANGEMENTS 0005 01 DEFICIENCIES IN THE OPERATION OF GTS CENTRES AND CIRCUITS 0006 01 LOSS OF DATA OR DELAYS IN RELAYING DATA ON THE GTS 0007 02 ROUTEING OF DATA DIFFERENT FROM THE ROUTEING PROVIDED IN THE PLAN 0008 01 VARIOUS MALPRACTICES 0015 01 MISSING VALUE 035031 0020 0001 01 SUFFICIENT AND ALL OF ACCEPTABLE QUALITY 0002 01 SUFFICIENT BUT PARTLY OF ACCEPTABLE QUALITY 0003 01 INSUFFICIENT BUT ALL OF ACCEPTABLE QUALITY 0004 01 INSUFFICIENT AND OF UNACCEPTABLE QUALITY 0005 01 SOME MESSAGES NOT COMPLETE 0006 02 SUSPECT OR WRONGLY CODED GROUPS COULD NOT BE INTERPRETED CON FIDENTLY 0007 01 GROSS CODING ERRORS 0008 01 TRANSMISSION SEQUENTIAL ORDER NOT OBSERVED 0009 01 REPORT COMPLETELY GARBLED AND THUS DISCARDED 0010 01 DEFICIENCIES IDENTIFIED AND RECTIFIED 0011 01 DEFICIENCIES IDENTIFIED BUT NOT RECTIFIED 0012 01 DEFICIENCIES NOT IDENTIFIED 0013 01 MEASURING ERRORS 0014 01 MUTUAL INCONSISTENCY 0015 01 TEMPORAL INCONSISTENCY 0016 01 FORECAST ERROR 0017 01 BIAS 0018 01 IMPROVE SYSTEM OF QUALITY CONTROL 0019 01 EXPAND TRAINING PROGRAMMES 0123 01 MISSING VALUE 035032 0010 0001 01 DATA GROUPS MISSING DUE TO RADIO FADING 0002 01 DATA GROUPS MISSING DUE TO OUTAGE OF CENTRE 0003 01 DATA GROUPS MISSING DUE TO OUTAGE OF CIRCUIT 0004 01 NON-IMPLEMENTATION OR MAINTENANCE OF REQUIRED RBSN DENSITY 0005 01 SHORTAGE OF QUALIFIED STAFF TO MAN STATIONS 0006 01 LACK OF CONSUMABLES 0007 01 INSTRUMENT FAILURE 0008 01 NON-ADHERENCE TO TELECOMMUNICATION PROCEDURES 0009 01 SOME OBSERVING PROGRAMMES CEASED 0015 01 MISSING VALUE 035033 0012 0001 01 NO DEFICIENCY 0002 01 OBSERVATIONS NOT MADE REGULARLY 0003 01 OBSERVATIONS NOT MADE AT RIGHT TIME 0004 01 OBSERVATIONS MADE BUT NOT DISSEMINATED 0005 01 OBSERVATIONS MADE AND SENT TO INCORRECT USERS 0006 01 COLLECTION NOT RECEIVED 0007 01 COLLECTION TRANSMITTED LATE 0008 01 COLLECTION NOT TRANSMITTED 0009 02 DIFFICULTIES IN HF PROPAGATION AND SELECTION OF SUITABLE FRE QUENCY 0010 02 DIFFICULTIES IN MAINTENANCE OF COMMUNICATION EQUIPMENT AT RE MOTE STATIONS 0011 02 NO ALTERNATIVE ARRANGEMENT FOR ROUTEING METEOROLOGICAL OBSER VATION 0123 01 MISSING VALUE 035034 0007 0001 01 SLIGHT IMPROVEMENT 0002 01 SIGNIFICANT IMPROVEMENT 0003 01 MOST SIGNIFICANT IMPROVEMENT 0004 01 STEADY 0005 01 DECREASING 0006 01 EFFORTS REQUIRED TO IMPROVE NIGHT-TIME OBSERVATIONS 0007 01 MISSING VALUE 033035 0016 0000 01 RESERVED 0001 01 BALLOON BURST 0002 01 BALLOON FORCED DOWN BY ICING 0003 01 LEAKING OR FLOATING BALLOON 0004 01 WEAK OR FADING SIGNAL 0005 01 BATTERY FAILURE 0006 01 GROUND EQUIPMENT FAILURE 0007 01 SIGNAL INTERFERENCE 0008 01 RADIOSONDE FAILURE 0009 01 EXCESSIVE MISSING DATA FRAMES 0010 01 RESERVED 0011 01 EXCESSIVE MISSING TEMPERATURE 0012 01 EXCESSIVE MISSING PRESSURE 0013 01 USER TERMINATED 0030 01 OTHER 0031 01 MISSING VALUE 040011 0004 0001 01 MEAN SEA SURFACE (MSS) INTERPOLATION FLAG 0002 02 OCEAN TIDE SOLUTION 1 INTERPOLATION FLAG (0= 4 POINTS OVER O CEAN, 1=LESS THAN 4 POINTS) 0003 02 OCEAN TIDE SOLUTION 2 INTERPOLATION FLAG (0= 4 POINTS OVER O CEAN, 1=LESS THAN 4 POINTS) 0004 02 METEOROLOGICAL DATA INTERPOLATION FLAG (0= 4 POINTS OVER OCE AN, 1=LESS THAN 4 POINTS) 040012 0003 0001 01 18.7 GHZ BRIGHTNESS TEMPERATURE 0002 01 23.8 GHZ BRIGHTNESS TEMPERATURE 0003 01 34 GHZ BRIGHTNESS TEMPERATURE 040013 0005 0000 01 INTERPOLATION WITH NO GAP BETWEEN JMR DATA 0001 01 INTERPOLATION WITH GAP BETWEEN JMR DATA 0002 01 EXTRAOLATION OF JMR DATA 0003 01 FAILURE OF EXTRAPOLATION AND INTERPOLATION 0007 01 MISSING VALUE 049194 0014 0001 01 PASSED QUALITY CONTROL 0002 01 OUTSIDE TIME WINDOW 0003 01 ABOVE LAND 0004 01 OUTSIDE ENTIRE GRID 0005 01 WAVE HEIGHT OUT OF RANGE 0006 01 TOO HIGH ALONG TRACK JUMP 0007 01 TOO SHORT ALONG TRACK JUMP 0008 01 TOO HIGH ALONG TRACK VARIANCE 0009 01 OUTSIDE CONFIDENCE LIMIT 0010 01 DOUBLE OBSERVATION 0011 01 PEAKINESS ABOVE THRESHOLD 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED 049193 0014 0001 01 EXELLENT (COST LESS THAN 0.1) 0002 01 GOOD (COST LESS THAN 0.5) 0003 01 QUESTIONABLE (COST LARGER THAN 0.5) 0004 01 RESULTS UNTABLE 0005 01 OBSERVED SAR SPECTRUM REJECTED 0006 01 WAM FIRST GUESS REJECTED 0007 01 SIMULATED SAR REJECTED 0008 01 NO AZIMUTH CUT-OFF ADJUSTMENT 0009 01 RESERVED 0010 01 RESERVED 0011 01 RESERVED 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED emoslib-000392+dfsg.1/bufrtables/bufr2txt_tables.f0000755000175000017500000003544212127406245023103 0ustar amckinstryamckinstry PROGRAM BUFR2TXT_TABLES C C**** *BUFR2TXT_TABLES* C C C PURPOSE. C -------- C Unpacks input bufr tables in bufr form and creates C text version of bufr tables and binary bufr tables C used by bufr software. C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C CALL BUFREX C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/07/97. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096 ,JSEC3= 4, 1 JSEC4=2,JELEM=160000,JSUBS=400,JCVAL=150 ,JBUFL=512000, 2 JBPW = 32,JTAB =3000,JCTAB=3000,JCTST=3000,JCTEXT=6000, 3 JWORK=4096000,JKEY=46) C PARAMETER (KELEM=80000) PARAMETER (KVALS=360000) C DIMENSION KBUFF(JBUFL) DIMENSION KBUFR(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) DIMENSION KEY (JKEY),KREQ(2) C REAL*8 VALUES(KVALS),VALUE(KVALS) DIMENSION KTDLST(JELEM),KTDEXP(JELEM),KRQ(KELEM) REAL*8 RQV(KELEM) DIMENSION KDATA(200),KBOXR(JELEM*4) REAL*8 VALS(KVALS) C CHARACTER*256 CF,COUT,CARG(4) CHARACTER*64 CNAMES(KELEM),CBOXN(JELEM*4) CHARACTER*24 CUNITS(KELEM),CBOXU(JELEM*4) CHARACTER*80 CVALS(KVALS) CHARACTER*80 CVAL(KVALS) CHARACTER*80 YENC REAL*8 EPS, RVIND c C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C Missing value indicator C NBYTPW=JBPW/8 RVIND=1.7E38 nvind=2147483647 EPS=10.E-10 NPACK=0 N=0 OO=.FALSE. C C Input file name C C Get input and output file name. C NARG=IARGC() c IF(NARG.NE.2) THEN print*,'Usage -- bufr2txt_tables -i infile ' stop END IF c do 101 j=1,narg call getarg(j,carg(j)) 101 continue c if(carg(1).ne.'-i'.and.carg(1).ne.'-I'.or. 1 carg(2).eq.' ') then print*,'Usage -- bufr2txt_tables -i inpfile ' stop end if c cf=carg(2) ii=index(cf,' ') c KRQL=0 NR=0 KREQ(1)=0 KREQ(2)=0 C C* 1.2 OPEN FILE CONTAINING BUFR DATA. C ------------------------------- 120 CONTINUE C IRET=0 CALL PBOPEN(IUNIT,CF(1:ii),'r',IRET) IF(IRET.EQ.-1) STOP 'open failed' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' C C ----------------------------------------------------------------- C* 2. SET REQUEST FOR EXPANSION. C -------------------------- 200 CONTINUE C C C C ----------------------------------------------------------------- C* 3. READ BUFR MESSAGE. C ------------------ 300 CONTINUE C IERR=0 KBUFL=0 C IRET=0 CALL PBBUFR(IUNIT,KBUFF,JBUFL,KBUFL,IRET) IF(IRET.EQ.-1) THEN c IF(N.NE.0) GO TO 600 print*,'Number of messages ',n STOP 'EOF' END IF IF(IRET.EQ.-2) STOP 'File handling problem' IF(IRET.EQ.-3) STOP 'Array too small for product' C N=N+1 print*,'----------------------------------',n KBUFL=KBUFL/nbytpw+1 C C ----------------------------------------------------------------- C* 4. EXPAND BUFR MESSAGE. C -------------------- 400 CONTINUE C CALL BUS012(KBUFL,KBUFF,KSUP,KSEC0,KSEC1,KSEC2,KERR) IF(KERR.NE.0) THEN PRINT*,'Error in BUS012: ',KERR PRINT*,' BUFR MESSAGE NUMBER ',N,' CORRUPTED.' KERR=0 GO TO 300 END IF C IF(KSUP(6).GT.1) THEN KEL=JWORK/KSUP(6) IF(KEL.GT.KELEM) KEL=KELEM ELSE KEL=KELEM END IF C CALL BUFREX(KBUFL,KBUFF,KSUP,KSEC0 ,KSEC1,KSEC2 ,KSEC3 ,KSEC4, 1 KEL,CNAMES,CUNITS,KVALS,VALUES,CVALS,IERR) C print*,'ierr=',ierr IF(IERR.NE.0) call exit(2) C C* 5. Create text and binary Bufr tables C ---------------------------------- 500 continue c CALL BUSEL(KTDLEN,KTDLST,KTDEXL,KTDEXP,KERR) IF(KERR.NE.0) CALL EXIT(2) c CALL BUTABLES(KSUP,KSEC1,KTDLEN,KTDLST,KTDEXL,KTDEXP, 1 VALUES,CVALS,KERR) if(kerr.ne.0) call exit(2) c GO TO 300 C ----------------------------------------------------------------- C 810 CONTINUE C WRITE(*,'(1H ,A)') 'OPEN ERROR ON INPUT FILE' GO TO 900 C 800 CONTINUE C IF(iret.EQ.-1) THEN print*,'Number of records processed ',n ELSE print*,' BUFR : error= ',ierr END IF C 900 CONTINUE C CALL PBCLOSE(IUNIT,IRET) CALL PBCLOSE(IUNIT1,IRET) C END SUBROUTINE BUTABLES(KSUP,KSEC1,KTDLEN,KTDLST,KTDEXL,KTDEXP, 1 VALUES,CVALS,KERR) C C**** *BUTABLES* C C C PURPOSE. C -------- C Create text and binary Bufr tables from Bufr data. C C C** INTERFACE. C ---------- C C CALL BUTABLES(KSEC1,KTDLEN,KTDLST,KTDEXL,KTDEXP, C KVALS,VALUES,CVALS,KERR) C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C CALL BUSEL C CALL BUFREX C CALL BUFREN C CALL BUPRS0 C CALL BUPRS1 C CALL BUPRS2 C CALL BUPRS3 C CALL BUPRT C CALL BUUKEY C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/09/87. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H,Y) C dimension ksec1(*),ktdlst(*),ktdexp(*),ksup(*) real*8 values(*), rvind character*80 cvals(*) c character*120 crec character*256 YFNAME character*21 YTABB,YTABC,YTABD C C ------------------------------------------------------------------ C* 1. Initialize constants and variables. C ----------------------------------- 100 continue C C Missing value indicator C IREP=0 RVIND=1.7E38 NVIND=2147483647 c C BUFR EDITION 2 NAMING CONVENTION C C BXXXXXYYZZ , CXXXXXYYZZ , DXXXXXYYZZ C C B - BUFR TABLE 'B' C C - BUFR TABLE 'C' C D - BUFR TABLE 'D' C XXXXX - ORIGINATING CENTRE C YY - VERSION NUMBER OF MASTER TABLE C USED( CURRENTLY 2 ) C ZZ - VERSION NUMBER OF LOCAL TABLE USED C C BUFR EDITION 3 NAMING CONVENTION C C BWWWXXXYYZZ , CWWWXXXYYZZ , DWWWXXXYYZZ C C B - BUFR TABLE 'B' C C - BUFR TABLE 'C' C D - BUFR TABLE 'D' C WWW - ORIGINATING SUB-CENTRE C XXX - ORIGINATING CENTRE C YY - VERSION NUMBER OF MASTER TABLE C USED( CURRENTLY 2 ) C ZZ - VERSION NUMBER OF LOCAL TABLE USED C C C BUFR EDITION 4 NAMING CONVENTION C C BSSSWWWWWXXXXXYYYZZZ , CSSSWWWWWXXXXXYYYZZZ , DSSSWWWWWXXXXXYYYZZZ C C B - BUFR TABLE 'B' C C - BUFR TABLE 'C' C D - BUFR TABLE 'D' C SSS - MASTER TABLE C WWWWWW - ORIGINATING SUB-CENTRE C XXXXXX - ORIGINATING CENTRE C YYY - VERSION NUMBER OF MASTER C TABLE USED( CURRENTLY 12 ) C ZZZ - VERSION NUMBER OF LOCAL TABLE USED IXX=KSEC1(3) IYY=KSEC1(15) IZZ=KSEC1(08) IF(KSEC1(2).EQ.3) THEN IWW=KSEC1(16) ISS=KSEC1(14) ELSEIF(KSEC1(2).EQ.4) THEN IWW=KSEC1(16) ISS=KSEC1(14) ELSE IWW=0 ISS=0 END IF C C IF STANDARD TABLES USED, USE ECMWF ORIGINATING CENTRE ID C IF(KSEC1(8).EQ.0.OR.KSEC1(8).EQ.255) THEN IXX=98 IWW=0 IZZ=0 ENDIF C if(ksec1(2).ge.3) then WRITE(YTABB,'(A1,I3.3,2(I5.5),I3.3,I3.3)') 1 'B',ISS,IWW,IXX,IYY,IZZ WRITE(YTABC,'(A1,I3.3,2(I5.5),I3.3,I3.3)') 1 'C',ISS,IWW,IXX,IYY,IZZ WRITE(YTABD,'(A1,I3.3,2(I5.5),I3.3,I3.3)') 1 'D',ISS,IWW,IXX,IYY,IZZ iend=20 else WRITE(YTABB,'(A1,I5.5,I2.2,I2.2)') 'B',IXX,IYY,IZZ WRITE(YTABC,'(A1,I5.5,I2.2,I2.2)') 'C',IXX,IYY,IZZ WRITE(YTABD,'(A1,I5.5,I2.2,I2.2)') 'D',IXX,IYY,IZZ iend=10 end if C if(ksec1(7).eq.1.or.ksec1(17).eq.1) then C C Bufr table B C yfname=YTABB(1:iend)//'.TXT' PRINT*,'BUFR Tables to be created ',yfname open(unit=67,file=yfname,status='unknown',iostat=ios,err=500) C c c 1.1 Find replication factors if any c do 101 i=1,ktdexl if(ktdexp(i).eq.031001.or.ktdexp(i).eq.031002) then irep=nint(values(i)) go to 102 end if 101 continue c 102 continue c c 1.2 Find first F descriptor c 120 continue c do 121 i=1,ktdexl if(ktdexp(i).eq.000010) then ist=i go to 122 end if 121 continue c 122 continue c do 201 i=1,irep crec=' ' c c F DESCRIPTOR TO BE ADDED OR DEFINED C icv=nint(values(ist)/1000) ! index to cval array iln=nint(values(ist))-icv*1000 ! length if chatacter string crec(2:2)=cvals(icv)(1:iln) c c X DESCRIPTOR TO BE ADDED OR DEFINED c icv=nint(values(ist+1)/1000) ! index to cval array iln=nint(values(ist+1))-icv*1000 ! length if chatacter string crec(3:4)=cvals(icv)(1:iln) c c Y DESCRIPTOR TO BE ADDED OR DEFINED c icv=nint(values(ist+2)/1000) ! index to cval array iln=nint(values(ist+2))-icv*1000 ! length if chatacter string crec(5:7)=cvals(icv)(1:iln) c c ELEMENT NAME, LINE 1 c icv=nint(values(ist+3)/1000) ! index to cval array iln=nint(values(ist+3))-icv*1000 ! length if chatacter string crec(9:40)=cvals(icv)(1:iln) c c ELEMENT NAME, LINE 2 c icv=nint(values(ist+4)/1000) ! index to cval array iln=nint(values(ist+4))-icv*1000 ! length if chatacter string crec(41:72)=cvals(icv)(1:iln) c c UNITS NAME c icv=nint(values(ist+5)/1000) ! index to cval array iln=nint(values(ist+5))-icv*1000 ! length if chatacter string crec(74:97)=cvals(icv)(1:iln) if(crec(74:83).eq.'CODE TABLE'.or. 1 crec(74:83).eq.'FLAG TABLE') then crec(85:90)=crec(2:7) end if c c UNITS SCALE SIGN c icv=nint(values(ist+6)/1000) ! index to cval array iln=nint(values(ist+6))-icv*1000 ! length if character string yscale(1:1)=cvals(icv)(1:iln) if(yscale(1:1).eq.'+') yscale(1:1)=' ' c c UNITS SCALE c icv=nint(values(ist+7)/1000) ! index to cval array iln=nint(values(ist+7))-icv*1000 ! length if chatacter string iii=101 do 112 ii=iln,1,-1 crec(iii:iii)=cvals(icv)(ii:ii) if(cvals(icv)(ii:ii).ne.' ') iii=iii-1 112 continue crec(iii:iii)=yscale(1:1) c c UNITS REFERENCE SIGN c icv=nint(values(ist+8)/1000) ! index to cval array iln=nint(values(ist+8))-icv*1000 ! length if chatacter string yref(1:1)=cvals(icv)(1:iln) if(yref(1:1).eq.'+') yref(1:1)=' ' c c UNITS REFERENCE VALUE c icv=nint(values(ist+9)/1000) ! index to cval array iln=nint(values(ist+9))-icv*1000 ! length if chatacter string iii=114 do 111 ii=iln,1,-1 crec(iii:iii)=cvals(icv)(ii:ii) if(cvals(icv)(ii:ii).ne.' ') iii=iii-1 111 continue crec(iii:iii)=yref(1:1) c c ELEMENT DATA WIDTH c icv=nint(values(ist+10)/1000) ! index to cval array iln=nint(values(ist+10))-icv*1000 ! length if chatacter string iii=118 do 113 ii=iln,1,-1 crec(iii:iii)=cvals(icv)(ii:ii) if(cvals(icv)(ii:ii).ne.' ') iii=iii-1 113 continue c ist=ist+11 print*,crec write(67,'(a)',iostat=ios,err=400) crec c 201 continue c close(67) C elseif(ksec1(7).eq.2.or.ksec1(17).eq.2) then C C Bufr table D C yfname=YTABD(1:iend)//'.TXT' PRINT*,'BUFR Table to be created ',yfname open(unit=68,file=yfname,status='unknown',iostat=ios,err=500) c ist=8 irep=1 if(ktdexp(8).eq.31001.or.ktdexp(8).eq.31002) then irep=nint(values(8)) ist=9 end if c inc=0 do 301 i=1,irep crec=' ' c c F DESCRIPTOR TO BE ADDED OR DEFINED C icv=nint(values(ist)/1000) ! index to cval array iln=nint(values(ist))-icv*1000 ! length if chatacter string crec(2:2)=cvals(icv)(1:iln) c c X DESCRIPTOR TO BE ADDED OR DEFINED c inc=inc+1 icv=nint(values(ist+inc)/1000) ! index to cval array iln=nint(values(ist+inc))-icv*1000 ! length if chatacter string crec(3:4)=cvals(icv)(1:iln) c c Y DESCRIPTOR TO BE ADDED OR DEFINED c inc=inc+1 icv=nint(values(ist+inc)/1000) ! index to cval array iln=nint(values(ist+inc))-icv*1000 ! length if chatacter string crec(5:7)=cvals(icv)(1:iln) c c Number of sequences c inc=inc+1 irep1=nint(values(ist+inc)) write(crec(8:10),'(i3)') irep1 c c First in sequence c inc=inc+1 icv=nint(values(ist+inc)/1000) ! index to cval array iln=nint(values(ist+inc))-icv*1000 ! length if chatacter string crec(12:17)=cvals(icv)(1:iln) c write(*,'(a)') crec write(68,'(a)') crec c do 302 j=1,irep1-1 crec=' ' inc=inc+1 icv=nint(values(ist+inc)/1000) ! index to cval array iln=nint(values(ist+inc))-icv*1000 ! length if chatacter string crec(12:17)=cvals(icv)(1:iln) write(*,'(a)') crec write(68,'(a)') crec 302 continue c ist=ist+inc+1 inc=0 c 301 continue c close(68) return c else kerr=1 print*,'Not known table.' call exit(2) end if c return c 400 continue c print*,'Write error ',ios return c 500 continue c print*,'Open error ',ios return end emoslib-000392+dfsg.1/bufrtables/B0000000000098006000.TXT0000755000175000017500000045313012127406245022251 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 000005 BUFR EDITION NUMBER CCITTIA5 0 0 24 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 000015 UNITS NAME CCITTIA5 0 0 192 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 000017 UNITS SCALE CCITTIA5 0 0 24 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 48 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 001002 WMO STATION NUMBER NUMERIC 0 0 10 001003 WMO REGION NUMBER/GEOGRAPHICAL AREA CODE TABLE 001003 0 0 3 001004 WMO REGION SUB-AREA NUMERIC 0 0 3 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 001006 AIRCRAFT FLIGHT NUMBER CCITTIA5 0 0 64 001007 SATELLITE IDENTIFIER CODE TABLE 001007 0 0 10 001008 AIRCRAFT REGISTRATION NUMBER CCITTIA5 0 0 64 001009 TYPE OF COMMERCIAL AIRCRAFT CCITTIA5 0 0 64 001010 STATIONARY BUOY PLATFORM IDENTIFIER(C-MAN BUOYS) CCITTIA5 0 0 64 001011 SHIP OR MOBILE LAND STATION IDENTIFIER CCITTIA5 0 0 72 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM DEGREE TRUE 0 0 9 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM M/S 0 0 10 001014 PLATFORM DRIFT SPEED (HIGH PRECISION) M/S 2 0 10 001015 STATION OR SITE NAME CCITTIA5 0 0 160 001018 SHORT STATION OR SITE NAME CCITTIA5 0 0 40 001019 LONG STATION OR SITE NAME CCITTIA5 0 0 256 001020 WMO REGION SUB-AREA NUMERIC 0 0 4 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 001022 NAME OF FEATURE CCITTIA5 0 0 224 001023 OBSERVATION SEQUENCE NUMBER NUMERIC 0 0 9 001025 STORM IDENTIFIER CCITTIA5 0 0 24 001026 WMO STORM NAME CCITTIA5 0 0 64 001027 WMO LONG STORM NAME CCITTIA5 0 0 80 001031 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 001031 0 0 16 001032 GENERATING APPLICATION CODE TABLE 001032 0 0 8 001033 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 001033 0 0 8 001034 IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE CODE TABLE 001034 0 0 8 001035 ORIGINATING CENTRE CODE TABLE 001035 0 0 16 001036 AGENCY IN CHARGE OF OPERATING THE OBSERVING PLATFORM CODE TABLE 001036 0 0 20 001037 SIGMET SEQUENCE NUMBER CCITTIA5 0 0 24 001041 ABSOLUTE PLATFORM VELOCITY - FIRST COMPONENT M/S 5 -1073741824 31 001042 ABSOLUTE PLATFORM VELOCITY - SECOND COMPONENT M/S 5 -1073741824 31 001043 ABSOLUTE PLATFORM VELOCITY - THIRD COMPONENT M/S 5 -1073741824 31 001050 PLATFORM TRANSMITTER ID NUMBER NUMERIC 0 0 17 001051 PLATFORM TRANSMITTER ID NUMBER CCITTIA5 0 0 96 001060 AIRCRAFT REPORTING POINT(BEACON IDENTIFIER) CCITTIA5 0 0 64 001062 SHORT ICAO LOCATION INDICATOR CCITTIA5 0 0 32 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 001064 RUNWAY DESIGNATOR CCITTIA5 0 0 32 001065 ICAO REGION IDENTIFIER CCITTIA5 0 0 256 001075 TIDE STATION IDENTIFICATION CCITTIA5 0 0 40 001080 SHIP LINE NUMBER ACCORDING TO SOOP CCITTIA5 0 0 32 001085 OBSERVING PLATFORM MANUFACTURER'S MODEL CCITTIA5 0 0 160 001086 OBSERVING PLATFORM MANUFACTURER'S SERIAL NUMBER CCITTIA5 0 0 256 001090 TECHNIQUE FOR MAKING UP INITIAL PERTURBATIONS CODE TABLE 001090 0 0 8 001091 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 10 001092 TYPE OF ENSEMBLE FORECAST CODE TABLE 001092 0 0 8 001095 SOFTWARE IDENTIFICATION AND VERSION NUMBER CCITTIA5 0 0 112 001096 ACQUISITION STATION IDENTIFIER CCITTIA5 0 0 160 001192 MODEL VERSION NUMBER CODE TABLE 1192 0 0 8 001193 SIGMA_0 SIMULATION METHOD CODE TABLE 1193 0 0 4 001194 CARRIER BALLOON/AIRCRAFT IDENTIFIER CCITTIA5 0 0 72 001195 MOBIL LAND STATION IDENTIFIER CCITTIA5 0 0 72 001196 CONSTANT LEVEL BALLOON IDENTIFIER CCITTIA5 0 0 72 001197 RTP - PLATFORM TYPE CODE TABLE 1197 0 0 10 001198 ITP - DECK ID CODE TABLE 1198 0 0 10 001199 DUP - DUPLICATE STATUS CODE TABLE 1199 0 0 4 001201 GENERATING APPLICATION CODE TABLE 1201 0 0 8 001205 SATELLITE IDENTIFIER CODE TABLE 1205 0 0 10 001208 VELOCITY OF PLATFORM, X M/S 5 -1073741824 31 001209 VELOCITY OF PLATFORM, Y M/S 5 -1073741824 31 001210 VELOCITY OF PLATFORM, Z M/S 5 -1073741824 31 002001 TYPE OF STATION CODE TABLE 002001 0 0 2 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 002002 0 0 4 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 002003 0 0 4 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUREMENT CODE TABLE 002004 0 0 4 002005 PRECISION OF TEMPERATURE OBSERVATION K 2 0 7 002011 RADIOSONDE TYPE CODE TABLE 002011 0 0 8 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 002012 0 0 4 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 002013 0 0 4 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM USED CODE TABLE 002014 0 0 7 002015 RADIOSONDE COMPLETENESS CODE TABLE 002015 0 0 4 002019 SATELLITE INSTRUMENTS CODE TABLE 002019 0 0 11 002020 SATELLITE CLASSIFICATION CODE TABLE 002020 0 0 9 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 002021 0 0 9 002022 SATELLITE DATA PROCESSING TECHNIQUE USED FLAG TABLE 002022 0 0 8 002023 SATELLITE DERIVED WIND COMPUTATION METHOD CODE TABLE 002023 0 0 4 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 002024 0 0 4 002025 SATELLITE CHANNEL(S) USED IN COMPUTATION FLAG TABLE 002025 0 0 25 002026 CROSS TRACK RESOLUTION M 2 0 12 002027 ALONG TRACK RESOLUTION M 2 0 12 002028 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 002029 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 002030 METHOD OF CURRENT MEASUREMENT CODE TABLE 002030 0 0 3 002031 DURATION AND TIME OF CURRENT MEASUREMENT CODE TABLE 002031 0 0 5 002032 INDICATOR FOR DIGITIZATION CODE TABLE 002032 0 0 2 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 002033 0 0 3 002034 DROGUE TYPE CODE TABLE 002034 0 0 5 002035 CABLE LENGTH M 0 0 9 002036 BUOY TYPE CODE TABLE 002036 0 0 2 002037 METHOD OF TIDAL OBSERVATION CODE TABLE 002037 0 0 3 002038 METHOD OF SEA-SURFACE TEMPERATURE MEASUREMENT CODE TABLE 002038 0 0 4 002039 METHOD OF WET-BULB TEMPERATURE MEASUREMENT CODE TABLE 002039 0 0 3 002040 METHOD OF REMOVING VELOCITY AND MOTION OF PLATFORM FROM CURRENT CODE TABLE 002040 0 0 4 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 002041 0 0 6 002044 INDICATOR FOR METHOD OF CALCULATING SPECTRAL WAVE DATA CODE TABLE 002044 0 0 4 002045 INDICATOR FOR TYPE OF PLATFORM CODE TABLE 002045 0 0 4 002046 WAVE MEASUREMENT INSTRUMENTATION CODE TABLE 002046 0 0 4 002048 SATELLITE SENSOR INDICATOR CODE TABLE 002048 0 0 4 002049 GEOSTATIONARY SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 002049 0 0 8 002050 GEOSTATIONARY SOUNDER SATELLITE CHANNELS USED FLAG TABLE 002050 0 0 20 002051 INDICATOR TO SPECIFY OBSERVING METHOD FOR EXTREME TEMPERATURES CODE TABLE 002051 0 0 4 002052 GEOSTATIONARY IMAGER SATELLITE CHANNELS USED FLAG TABLE 002052 0 0 6 002053 GOES-I/M BRIGHTNESS TEMPERATURE CHARACTERISTICS CODE TABLE 002053 0 0 4 002054 GOES-I/M SOUNDINGS PARAMETER CHARACTERISTICS CODE TABLE 002054 0 0 4 002055 GEOSTATIONARY SOUNDINGS STATISTICAL PARAMETERS CODE TABLE 002055 0 0 4 002056 GEOSTATIONARY SOUNDINGS ACCURACY STATISTICS CODE TABLE 002056 0 0 4 002057 ORIGIN OF FIRST GUESS INFORMATION CODE TABLE 002057 0 0 4 002058 VALID TIMES OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 002058 0 0 4 002059 ORIGIN OF ANALYSIS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 002059 0 0 4 002060 ORIGIN OF SURFACE INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 002060 0 0 4 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 002061 0 0 3 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 002062 0 0 4 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 002064 AIRCRAFT ROLL ANGLE QUALITY CODE TABLE 002064 0 0 2 002065 ACARS GROUND RECEIVING STATION CCITTIA5 0 0 40 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 002070 0 0 4 002091 ENTRY SENSOR 4/20 mA A 0 4 10 002100 RADAR CONSTANT dB 1 0 12 002101 TYPE OF ANTENNA CODE TABLE 002101 0 0 4 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 002103 RADOME FLAG TABLE 002103 0 0 2 002104 ANTENNA POLARISATION CODE TABLE 002104 0 0 4 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 002106 3-dB BEAMWIDTH DEGREE 1 0 6 002107 SIDELOBE SUPPRESSION dB 0 0 6 002108 CROSSPOL DISCRIMINATION(ON AXIS) dB 0 0 6 002109 ANTENNA SPEED (AZIMUTH) DEGREE/S 2 0 12 002110 ANTENNA SPEED (ELEVATION) DEGREE/S 2 0 12 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 002112 RADAR LOOK ANGLE DEGREE 1 0 12 002113 NUMBER OF AZIMUTH LOOKS NUMERIC 0 0 4 002114 ANTENNA EFFECTIVE SURFACE AREA M**2 0 0 15 002116 PERCENTAGE OF 320 MHZ BAND PROCESSED % 0 0 7 002117 PERCENTAGE OF 80 MHZ BAND PROCESSED % 0 0 7 002118 PERCENTAGE OF 20 MHZ BAND PROCESSED % 0 0 7 002119 RA-2 INSTRUMENT OPERATIONS CODE TABLE 002119 0 0 3 002121 MEAN FREQUENCY Hz -8 0 7 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 002123 PEAK POWER W -4 0 7 002124 AVERAGE POWER W -1 0 7 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 002126 PULSE WIDTH S 7 0 6 002127 RECEIVER INTERMEDIATE FREQUENCY Hz -6 0 7 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 002129 MINIMUM DETECTABLE SIGNAL dB 0 -150 5 002130 DYNAMIC RANGE dB 0 0 7 002131 SENSITIVITY TIME CONTROL FLAG TABLE 002131 0 0 2 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 002136 RANGE PROCESSED BY RANGE ATTENUATION CORRECTION M -3 0 16 002140 SATELLITE RADAR BEAM AZIMUTH ANGLE DEGREE 0 0 9 002141 MEASUREMENT TYPE CCITTIA5 0 0 24 002142 OZONE INSTRUMENT SERIAL NUMBER/IDENTIFICATION CCITTIA5 0 0 32 002143 OZONE INSTRUMENT TYPE CODE TABLE 002143 0 0 7 002144 LIGHT SOURCE TYPE FOR BREWER SPECTROPHOTOMETER CODE TABLE 002144 0 0 4 002145 WAVE LENGTH SETTING FOR DOBSON INSTRUMENTS CODE TABLE 002145 0 0 4 002146 SOURCE CONDITIONS FOR DOBSON INSTRUMENTS CODE TABLE 002146 0 0 4 002148 DATA COLLECTION AND/OR LOCATION SYSTEM CODE TABLE 002148 0 0 5 002149 TYPE OF DATA BUOY CODE TABLE 002149 0 0 6 002150 TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER CODE TABLE 002150 0 0 6 002151 RADIOMETER IDENTIFIER CODE TABLE 002151 0 0 11 002152 SATELLITE INSTRUMENT USED IN DATA PROCESSING FLAG TABLE 002152 0 0 31 002153 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 002154 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 002156 PERCENTAGE OF VALID KU OCEAN RETRACKER MEASUREMENTS % 0 0 7 002157 PERCENTAGE OF VALID S OCEAN RETRACKER MEASUREMENTS % 0 0 7 002158 RA-2 INSTRUMENT FLAG TABLE 002158 0 0 9 002159 MWR INSTRUMENT FLAG TABLE 002159 0 0 8 002160 ASCENDING/DESCENDING ORBIT DESIGNATOR CODE TABLE 002160 0 0 2 002163 HEIGHT ASSIGNMENT METHOD CODE TABLE 002163 0 0 4 002164 TRACER CORRELATION METHOD CODE TABLE 002164 0 0 3 002166 RADIANCE TYPE CODE TABLE 002166 0 0 4 002167 RADIANCE COMPUTATIONAL METHOD CODE TABLE 002167 0 0 4 002168 HYDROSTATIC PRESSURE OF LOWER END OF CABLE (THERMISTOR STRING) PA -3 0 16 002169 ANEMOMETER TYPE CODE TABLE 002169 0 0 4 002172 PRODUCT TYPE FOR RETRIEVED ATMOSPHERIC GASES CODE TABLE 002172 0 0 8 002173 SQUARE OF THE OFF NADIR ANGLE DEGREE**2 4 0 10 002174 MEAN ACROSS TRACK PIXEL NUMBER NUMERIC 0 0 9 002175 METHOD OF PRECIPITATION MEASUREMENT CODE TABLE 002175 0 0 4 002176 METHOD OF STATE OF GROUND MEASUREMENT CODE TABLE 002176 0 0 4 002177 METHOD OF SNOW DEPTH MEASUREMENT CODE TABLE 002177 0 0 4 002178 METHOD OF LIQUID CONTENT MEASUREMENT OF PRECIPITATION CODE TABLE 002178 0 0 4 002179 TYPE OF SKY CONDITION ALGORITHM CODE TABLE 002179 0 0 4 002180 MAIN PRESENT WEATHER DETECTING SYSTEM CODE TABLE 002180 0 0 4 002181 SUPPLEMENTARY PRESENT WEATHER SENSOR FLAG TABLE 002181 0 0 21 002182 VISIBILITY MEASUREMENT SYSTEM CODE TABLE 002182 0 0 4 002183 CLOUD DETECTION SYSTEM CODE TABLE 002183 0 0 4 002184 TYPE OF LIGHTNING DETECTION SENSOR CODE TABLE 002184 0 0 4 002185 METHOD OF EVAPORATION MEASUREMENT CODE TABLE 002185 0 0 4 002186 CAPABILITY TO DETECT PRECIPITATION PHENOMENA FLAG TABLE 002186 0 0 30 002187 CAPABILITY TO DETECT OTHER WEATHER PHENOMENA FLAG TABLE 002187 0 0 18 002188 CAPABILITY TO DETECT OBSCURATION FLAG TABLE 002188 0 0 21 002189 CAPABILITY TO DISCRIMINATE LIGHTNING STRIKES FLAG TABLE 002189 0 0 12 002190 LAGRANGIAN DRIFTER SUBMERGENCE (% TIME SUBMERGED) % 0 0 7 002192 SAR AZIMUTH ANGLE DEGREE 0 0 9 002193 1D VAR SATELLITE CHANNEL(S) USED FLAG TABLE 2193 0 0 28 002194 CONSTANT LEVEL BALLOON TYPE CODE TABLE 2194 0 0 4 002195 TYPE OF SATELLITE INSTRUMENTATION CODE TABLE 2195 0 0 4 002196 SATELLITE CLASSIFICATION CODE TABLE 2196 0 0 9 002197 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 002198 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 002199 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2199 0 0 4 002201 SIMULATED SATELLITE INSTRUMENT FLAG TABLE 2201 0 0 4 002202 SIMULATED DATA PROCESSING TECHNIQUE USED FLAG TABLE 2202 0 0 4 002220 DATA PRODUCER CODE TABLE 2220 0 0 9 002221 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 002222 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 002223 TOVS/ATOVS/AVHRR CHANNEL NUMBER CODE TABLE 2223 0 0 6 002231 HEIGHT ASSIGNMENT METHOD CODE TABLE 2231 0 0 4 002232 TRACER CORRELATION METHOD CODE TABLE 2232 0 0 3 002240 TYPE OF TERMODYNAMIC SENSING CODE TABLE 2240 0 0 8 002241 TYPE OF ROCKET MOTOR CODE TABLE 2241 0 0 3 002242 TYPE OF WIND SENSING EQUIPMENT CODE TABLE 2242 0 0 8 002243 TERMODYNAMIC CORRECTION TECHNIQUE CODE TABLE 2243 0 0 3 002244 WIND CORRECTION TECHNIQUE CODE TABLE 2244 0 0 3 002245 METHOD OF REDUCING OF DATA CODE TABLE 2245 0 0 4 002251 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2251 0 0 4 002252 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2252 0 0 31 002253 HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2253 0 0 8 002254 RADIANCE TYPE CODE TABLE 2254 0 0 4 004001 YEAR YEAR 0 0 12 004002 MONTH MONTH 0 0 4 004003 DAY DAY 0 0 6 004004 HOUR HOUR 0 0 5 004005 MINUTE MINUTE 0 0 6 004006 SECOND SECOND 0 0 6 004007 SECOND WITHIN MINUTE SECOND 6 0 26 004011 TIME INCREMENT YEAR 0 -1024 11 004012 TIME INCREMENT MONTH 0 -1024 11 004013 TIME INCREMENT DAY 0 -1024 11 004014 TIME INCREMENT HOUR 0 -1024 11 004015 TIME INCREMENT MINUTE 0 -2048 12 004016 TIME INCREMENT SECOND 0 -4096 13 004017 REFERENCE TIME PERIOD FOR ACCUMULATED OR EXTREME DATA MINUTE 0 -1440 12 004021 TIME PERIOD OR DISPLACEMENT YEAR 0 -1024 11 004022 TIME PERIOD OR DISPLACEMENT MONTH 0 -1024 11 004023 TIME PERIOD OR DISPLACEMENT DAY 0 -1024 11 004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -2048 12 004025 TIME PERIOD OR DISPLACEMENT MINUTE 0 -2048 12 004026 TIME PERIOD OR DISPLACEMENT SECOND 0 -4096 13 004031 DURATION OF TIME RELATING TO FOLLOWING VALUE HOUR 0 0 8 004032 DURATION OF TIME RELATING TO FOLLOWING VALUE MINUTE 0 0 6 004041 TIME DIFFERENCE, UTC-LMT MINUTE 0 -1440 12 004043 DAY OF THE YEAR DAY 0 0 9 004051 PRINCIPAL TIME OF DAILY READING OF MAXIMUM TEMPERATURE HOUR 0 0 5 004052 PRINCIPAL TIME OF DAILY READING OF MINIMUM TEMPERATURE HOUR 0 0 5 004053 NUMBER OF DAYS WITH PRECIPITATION EQUAL TO OR MORE THAN 1 MM NUMERIC 0 0 6 004065 SHORT TIME INCREMENT MINUTE 0 -128 8 004073 SHORT TIME PERIOD OR DISPLACEMENT DAY 0 -128 8 004074 SHORT TIME PERIOD OR DISPLACEMENT HOUR 0 -128 8 004075 SHORT TIME PERIOD OR DISPLACEMENT MINUTE 0 -128 8 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 005030 DIRECTION (SPECTRAL) DEGREE 0 0 12 005031 ROW NUMBER NUMERIC 0 0 12 005033 PIXEL SIZE ON HORIZONTAL-1 M -1 0 16 005034 ALONG TRACK ROW NUMBER NUMERIC 0 0 11 005036 SHIP TRANSECT NUMBER ACCORDING TO SOOP NUMERIC 0 0 7 005040 ORBIT NUMBER NUMERIC 0 0 24 005041 SCAN LINE NUMBER NUMERIC 0 0 8 005042 CHANNEL NUMBER NUMERIC 0 0 6 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 005193 ALONG TRACK ROW NUMBER AT 50 KM NUMERIC 0 0 10 005194 ALONG TRACK ROW NUMBER AT 25 KM NUMERIC 0 0 11 005195 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 7 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 005232 DIRECTION (SPECTRAL) DEGREE 2 0 16 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 006021 DISTANCE M -1 0 13 006030 WAVE NUMBER (SPECTRAL) RAD/M 5 0 13 006031 COLUMN NUMBER NUMERIC 0 0 12 006033 PIXEL SIZE ON HORIZONTAL-2 M -1 0 16 006034 CROSS TRACK CELL NUMBER NUMERIC 0 0 7 006040 RADIUS OF CONFIDENCE M 0 0 13 006193 CROSS TRACK CELL NUMBER AT 50 KM NUMERIC 0 0 6 006194 CROSS TRACK CELL NUMBER AT 25 KM NUMERIC 0 0 7 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 007001 HEIGHT OF STATION M 0 -400 15 007002 HEIGHT OR ALTITUDE M -1 -40 16 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 007004 PRESSURE PA -1 0 14 007005 HEIGHT INCREMENT M 0 -400 12 007006 HEIGHT ABOVE STATION M 0 0 15 007007 HEIGHT M 0 -1000 17 007008 GEOPOTENTIAL M**2/S**2 0 -10000 20 007009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 007010 FLIGHT LEVEL M 0 -1024 16 007021 ELEVATION DEGREE 2 -9000 15 007022 SOLAR ELEVATION DEGREE 2 -9000 15 007024 SATELLITE ZENITH ANGLE DEGREE 2 -9000 15 007025 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 007030 HEIGHT OF STATION GROUND ABOVE MEAN SEA LEVEL M 1 -4000 17 007031 HEIGHT OF BAROMETER ABOVE MEAN SEA LEVEL M 1 -4000 17 007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND ( OR DECK OF MARINE PLATFORM M 2 0 16 007033 HEIGHT OF SENSOR ABOVE WATER SURFACE M 1 0 12 007061 DEPTH BELOW LAND SURFACE M 2 0 14 007062 DEPTH BELOW SEA/WATER SURFACE M 1 0 17 007064 HEIGHT ABOVE STATION (SENSOR HEIGHT ARTIFICIALLY CORRECTED) (SEE M 0 0 4 007070 DROGUE DEPTH M 0 0 10 007190 HEIGHT INCREMENT M 1 -1024 12 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 008001 0 0 7 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 008002 0 0 6 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 008003 0 0 6 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 008004 0 0 3 008005 METEOROLOGICAL ATTRIBUTE SIGNIFICANCE CODE TABLE 008005 0 0 4 008006 OZONE VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 008006 0 0 9 008007 DIMENSIONAL SIGNIFICANCE CODE TABLE 008007 0 0 4 008008 RADIATION VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 008008 0 0 9 008009 DETAILED PHASE OF FLIGHT CODE TABLE 008009 0 0 4 008010 SURFACE QUALIFIER (TEMPERATURE DATA) CODE TABLE 008010 0 0 5 008011 METEOROLOGICAL FEATURE CODE TABLE 008011 0 0 6 008012 LAND/SEA QUALIFIER CODE TABLE 008012 0 0 2 008013 DAY/NIGHT QUALIFIER CODE TABLE 008013 0 0 2 008014 QUALIFIER FOR RUNWAY VISUAL RANGE CODE TABLE 008014 0 0 4 008016 CHANGE QUALIFIER OF A TREND-TYPE FORECAST OR AN AERODROME FORECA CODE TABLE 008016 0 0 3 008017 QUALIFIER OF THE TIME WHEN THE FORECAST CHANGE IS EXPECTED CODE TABLE 008017 0 0 2 008018 SEAWINDS LAND/ICE SURFACE TYPE FLAG TABLE 008018 0 0 17 008019 QUALIFIER FOR FOLLOWING CENTRE IDENTIFIER CODE TABLE 008019 0 0 4 008020 TOTAL NUMBER OF MISSING ENTITIES (WITH RESPECT TO ACCUMULATION O NUMERIC 0 0 16 008021 TIME SIGNIFICANCE CODE TABLE 008021 0 0 5 008022 TOTAL NUMBER(WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 008023 FIRST ORDER STATISTICS CODE TABLE 008023 0 0 6 008024 DIFFERENCE STATISTICS CODE TABLE 008024 0 0 6 008025 TIME DIFFERENCE QUALIFIER CODE TABLE 008025 0 0 4 008029 REMOTELY SENSED SURFACE TYPE CODE TABLE 008029 0 0 8 008030 MANUAL ON CODES (VOLUME I.1 SECTION C CODE TABLE FROM WHICH DATA NUMERIC 0 0 13 008031 DATA CATEGORY CREX TABLE A NUMERIC 0 0 8 008033 METHOD OF DERIVATION OF PERCENTAGE CONFIDENCE CODE TABLE 008033 0 0 7 008035 TYPE OF MONITORING EXERCISE CODE TABLE 008035 0 0 3 008036 TYPE OF CENTRE OR STATION PERFORMING MONITORING CODE TABLE 008036 0 0 3 008050 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 008050 0 0 4 008051 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 008051 0 0 3 008052 CONDITION FOR WHICH NUMBER OF DAYS OF OCCURRENCE FOLLOWS CODE TABLE 008052 0 0 5 008053 DAY OF OCCURRENCE QUALIFIER CODE TABLE 008053 0 0 2 008059 TIMES OF OBSERVATION USED TO COMPUTE THE REPORTED MEAN VALUES FLAG TABLE 008059 0 0 6 008060 SAMPLE SCANNING MODE SIGNIFICANCE CODE TABLE 008060 0 0 4 008070 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 008070 0 0 4 008072 PIXEL(S) TYPE CODE TABLE 008072 0 0 3 008074 ALTIMETER ECHO TYPE CODE TABLE 008074 0 0 2 008075 ASCENDING/DESCENDING ORBIT QUALIFIER CODE TABLE 008075 0 0 2 008076 TYPE OF BAND CODE TABLE 008076 0 0 6 008080 QUALIFIER FOR GTSSPP QUALITY FLAG CODE TABLE 008080 0 0 6 008081 TYPE OF EQUIPMENT CODE TABLE 8081 0 0 6 008082 ARTIFICIAL CORRECTION OF SENSOR HEIGHT TO ANOTHER VALUE CODE TABLE 8082 0 0 3 008193 TIME QUALIFIER CODE TABLE 8193 0 0 6 008194 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8194 0 0 4 008195 DATA TYPE CODE TABLE 8195 0 0 7 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 008222 GENERATOR SIGNIFICANCE CODE TABLE 8222 0 0 4 008223 LAND/ICE SURFACE FLAG FLAG TABLE 8223 0 0 7 008224 LAND/SEA FRACTION NUMERIC 3 0 10 010001 HEIGHT OF LAND SURFACE M 0 -400 15 010002 HEIGHT M -1 -40 16 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 010004 PRESSURE PA -1 0 14 010007 HEIGHT M 0 -1000 17 010008 GEOPOTENTIAL M**2/S**2 0 -10000 20 010009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 010010 MINIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 010011 MAXIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 010031 IN DIRECTION OF THE NORTH POLE, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 010032 SATELLITE DISTANCE TO EARTH CENTRE M 1 0 27 010033 ALTITUDE (PLATFORM TO ELLIPSOID) M 1 0 27 010034 EARTH RADIUS M 1 0 27 010040 NUMBER OF RETRIEVED LAYERS NUMERIC 0 0 10 010050 STANDARD DEVIATION ALTITUDE M 2 0 16 010051 PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 010052 ALTIMETER SETTING (QNH) PA -1 0 14 010060 PRESSURE CHANGE PA -1 -1024 11 010061 3 HOUR PRESSURE CHANGE PA -1 -500 10 010062 24 HOUR PRESSURE CHANGE PA -1 -1000 11 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 010063 0 0 4 010064 SIGMET CRUISING LEVEL CODE TABLE 010064 0 0 3 010070 INDICATED AIRCRAFT ALTITUDE M 0 -400 16 010080 VIEWING ZENITH ANGLE DEGREE 2 -9000 15 010081 ALTITUDE OF COG ABOVE REFERENCE ELLIPSOID M 3 0 31 010082 INSTANTANEOUS ALTITUDE RATE M/S 3 -65536 17 010083 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM PLATFORM DATA DEGREE**2 2 0 16 010084 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM WAVEFORM DATA DEGREE**2 2 0 16 010085 MEAN SEA SURFACE HEIGHT M 3 -131072 18 010086 GEOID HEIGHT M 3 -131072 18 010087 OCEAN DEPTH/LAND ELEVATION M 1 -131072 18 010088 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 1 M 3 -32768 16 010089 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 2 M 3 -32768 16 010090 LONG PERIOD TIDE HEIGHT M 3 -32768 16 010091 TIDAL LOADING HEIGHT M 3 -32768 16 010092 SOLID EARTH TIDE HEIGHT M 3 -32768 16 010093 GEOCENTRIC POLE TIDE HEIGHT M 3 -32768 16 010195 HEIGHT(HIGH ACCURACY) M 1 -4096 20 010196 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 010197 ANEMOMETER HEIGHT M 0 0 9 011001 WIND DIRECTION DEGREE TRUE 0 0 9 011002 WIND SPEED M/S 1 0 12 011003 U-COMPONENT M/S 1 -4096 13 011004 V-COMPONENT M/S 1 -4096 13 011005 W-COMPONENT PA/S 1 -512 10 011006 W-COMPONENT M/S 2 -4096 13 011010 WIND DIRECTION ASSOCIATED WITH WIND SPEED WHICH FOLLOWS DEGREE TRUE 0 0 9 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 011012 WIND SPEED AT 10 M M/S 1 0 12 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 011014 WIND SPEED AT 5 M M/S 1 0 12 011016 EXTREME COUNTERCLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 011017 EXTREME CLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 011019 STEADINESS OF WIND % 0 0 7 011021 RELATIVE VORTICITY 1/S 9 -65536 17 011022 DIVERGENCE 1/S 9 -65536 17 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 011031 DEGREE OF TURBULENCE CODE TABLE 011031 0 0 4 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 011035 VERTICAL GUST ACCELERATION M/S**2 2 -8192 14 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST SPEED M/S 1 0 10 011037 TURBULENT INDEX CODE TABLE 011037 0 0 6 011038 TIME OF OCCURANCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 011038 0 0 5 011039 EXTENDED TIME OF OCCURENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 011039 0 0 6 011040 MAXIMUM WIND SPEED (MEAN WIND) M/S 1 0 12 011041 MAXIMUM WIND SPEED (GUSTS) M/S 1 0 12 011042 MAXIMUM WIND SPEED (10 MIN MEAN WIND) M/S 1 0 12 011043 MAXIMUM WIND GUST DIRECTION DEGREE TRUE 0 0 9 011044 MEAN WIND DIRECTION FOR SURFACE - 1500 M (5000 FEET) DEGREE TRUE 0 0 9 011045 MEAN WIND SPEED FOR SURFACE - 1500 M (5000 FEET) M/S 1 0 12 011046 MAXIMUM INSTANTANEOUS WIND SPEED M/S 1 0 12 011047 MAXIMUM INSTANTANEOUS WIND SPEED OVER 10 MINUTES M/S 1 0 12 011049 STANDARD DEVIATION OF WIND DIRECTION DEGREE TRUE 0 0 9 011050 STANDARD DEVIATION OF HORIZONTAL WIND SPEED M/S 1 0 12 011051 STANDARD DEVIATION OF VERTICAL WIND SPEED M/S 1 0 8 011052 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 13 011053 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 011070 DESIGNATOR OF THE RUNWAY AFFECTED BY WIND SHEAR (INCLUDING ALL) CCITTIA5 0 0 32 011071 TURBULENT VERTICAL MOMENTUM FLUX M**2/S**2 3 -128 14 011072 TURBULENT VERTICAL BUOYANCY FLUX KM/S 3 -128 11 011073 TURBULENT KINETIC ENERGY M**2/S**2 2 -1024 13 011074 DISSIPATION ENERGY M**2/S**2 2 -1024 10 011075 MEAN TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 011076 PEAK TURBULENCE INTENSITY (EDDY DISSIPATION RATE) m**(2/3)/S 2 0 8 011077 REPORTING INTERVAL OR AVERAGING TIME FOR EDDY DISSIPATION RATE SECOND 0 0 12 011081 MODEL WIND DIRECTION AT 10M DEGREE TRUE 2 0 16 011082 MODEL WIND SPEED AT 10M M/S 2 0 14 011095 U COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 011096 V COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 011192 U - COMPONENT AT 10 M M/S 1 -4096 13 011193 V - COMPONENT AT 10 M M/S 1 -4096 13 011194 W - COMPONENT AT 10 M M/S 1 -4096 13 011195 STEADINESS OF WIND % 0 0 7 011196 FRICTION VELOCITY M/S 5 0 19 011201 HORIZONTAL LINE OF SIGHT COMPONENT M/S 1 -4096 13 011210 1D VAR WIND SPEED RETREIVED ERRO(S) M/S 2 0 12 011211 WIND SPEED INDEPENDENT ESTIMATE OF ERROR(S) M/S 2 0 12 011220 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 12 011221 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 011230 MAXIMUM MEAN WIND SPEED M/S 1 -4096 13 011231 MEAN WIND SPEED M/S 1 -4096 13 011232 MINIMUM MEAN WIND SPEED M/S 1 -4096 13 011233 HIGHEST GUST DURING THE 10 MINUTE PERIOD PRECEDING OBSERVATION M/S 1 -4096 13 012001 TEMPERATURE/DRY BULB TEMPERATURE K 1 0 12 012002 WET BULB TEMPERATURE K 1 0 12 012003 DEW POINT TEMPERATURE K 1 0 12 012004 DRY BULB TEMPERATURE AT 2M K 1 0 12 012005 WET BULB TEMPERATURE AT 2M K 1 0 12 012006 DEW POINT TEMPERATURE AT 2M K 1 0 12 012007 VIRTUAL TEMPERATURE K 1 0 12 012011 MAXIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 012012 MINIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 012013 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 1 0 12 012014 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 1 0 12 012015 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 1 0 12 012016 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 1 0 12 012017 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 1 0 12 012021 MAXIMUM TEMPERATURE AT 2M K 2 0 16 012022 MINIMUM TEMPERATURE AT 2M K 2 0 16 012030 SOIL TEMPERATURE K 1 0 12 012051 STANDARD DEVIATION TEMPERATURE K 1 0 10 012052 HIGHEST DAILY MEAN TEMPERATURE K 1 0 12 012053 LOWEST DAILY MEAN TEMPERATURE K 1 0 12 012061 SKIN TEMPERATURE K 1 0 12 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 012063 BRIGHTNESS TEMPERATURE K 1 0 12 012064 INSTRUMENT TEMPERATURE K 1 0 12 012065 STANDARD DEVIATION BRIGHTNESS TEMPERATURE K 1 0 12 012070 WARM LOAD TEMPERATURE K 2 0 16 012071 COLDEST CLUSTER TEMPERATURE K 1 0 12 012072 RADIANCE WM**(-2)SR**(-1) 6 0 31 012073 TEMPERATURE K 2 0 16 012075 SPECTRAL RADIANCE WM**(-3)SR**(-1) -3 0 16 012076 RADIANCE WM**(-2)SR**(-1) 3 0 16 012101 TEMPERATURE/DRY BULB TEMPERATURE K 2 0 16 012102 WET BULB TEMPERATURE K 2 0 16 012103 DEW POINT TEMPERATURE K 2 0 16 012104 DRY BULB TEMPERATURE AT 2M K 2 0 16 012105 WET BULB TEMPERATURE AT 2M K 2 0 16 012106 DEW POINT TEMPERATURE AT 2M K 2 0 16 012107 VIRTUAL TEMPERATURE K 2 0 16 012111 MAXIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 012112 MINIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 012113 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 2 0 16 012114 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 012115 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 012116 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 012117 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 012118 MAXIMUM TEMPERATURE AT HEIGHT SPECIFIED PAST 24 HOURS K 2 0 16 012119 MINIMUM TEMPERATURE AT HEIGHT SPECIFIED PAST 24 HOURS K 2 0 16 012130 SOIL TEMPERATURE K 2 0 16 012151 STANDARD DEVIATION OF DAILY MEAN TEMPERATURE K 2 0 12 012152 HIGHEST DAILY MEAN TEMPERATURE K 2 0 16 012153 LOWEST DAILY MEAN TEMPERATURE K 2 0 16 012161 SKIN TEMPERATURE K 2 0 16 012162 EQUIVALENT BLACK BODY TEMPERATURE K 2 0 16 012163 BRIGHTNESS TEMPERATURE K 2 0 16 012164 INSTRUMENT TEMPERATURE K 2 0 16 012171 COLDEST CLUSTER TEMPERATURE K 2 0 16 012180 AVERAGED 12 MICRON BT for ALL CLEAR PIXELS AT NADIR K 2 0 16 012181 AVERAGED 11 MICRON BT for ALL CLEAR PIXELS AT NADIR K 2 0 16 012182 AVERAGED 3.7 MICRON BT for ALL CLEAR PIXELS AT NADIR K 2 0 16 012183 AVERAGED 12 MICRON BT for ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 012184 AVERAGED 11 MICRON BT for ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 012185 AVERAGED 3.7 MICRON BT for ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 012186 MEAN NADIR SEA SURFACE TEMPERATURE K 2 0 16 012187 MEAN DUAL VIEW SEA SURFACE TEMPERATURE K 2 0 16 012188 INTERPOLATED 23.8 GHZ BRIGHTNESS T FROM MWR K 2 0 16 012189 INTERPOLATED 36.5 GHZ BRIGHTNESS T FROM MWR K 2 0 16 012193 COLDEST CLUSTER TEMPERATURE K 1 0 12 012194 RADIANCE W/M**2*STER*M**(-1) 6 0 31 012195 SPECTRAL RADIANCE W/M**2*STER*M**(-1) 10 0 31 012196 RADIANCE W/M**2*STER 3 0 16 012197 MAXIMUM TEMPERATURE AT 2M, PAST 3 HOURS K 1 0 12 012198 MINIMUM TEMPERATURE AT 2M, PAST 3 HOURS K 1 0 12 012199 MAXIMUM TEMPERATURE AT 2M, PAST 6 HOURS K 1 0 12 012200 MINIMUM TEMPERATURE AT 2M, PAST 6 HOURS K 1 0 12 013001 SPECIFIC HUMIDITY KG/KG 5 0 14 013002 MIXING RATIO KG/KG 5 0 14 013003 RELATIVE HUMIDITY % 0 0 7 013004 VAPOUR PRESSURE PA -1 0 10 013005 VAPOUR DENSITY KG/M**3 3 0 7 013006 MIXING HEIGHT M -1 -40 16 013007 MINIMUM RELATIVE HUMIDITY % 0 0 7 013008 MAXIMUM RELATIVE HUMIDITY % 0 0 7 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT KG/M**2 1 -1 14 013012 DEPTH OF FRESH SNOW M 2 -2 12 013013 TOTAL SNOW DEPTH M 2 -2 16 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGE RATE) KG/(M**2)S 4 0 12 013015 SNOWFALL (AVERAGE RATE) M/S 7 0 12 013016 PRECIPITABLE WATER KG/M**2 0 0 7 013019 TOTAL PRECIPITATION PAST 1 HOUR KG/M**2 1 -1 14 013020 TOTAL PRECIPITATION PAST 3 HOURS KG/M**2 1 -1 14 013021 TOTAL PRECIPITATION PAST 6 HOURS KG/M**2 1 -1 14 013022 TOTAL PRECIPITATION PAST 12 HOURS KG/M**2 1 -1 14 013023 TOTAL PRECIPITATION PAST 24 HOURS KG/M**2 1 -1 14 013031 EVAPOTRANSPIRATION KG/M**2 0 0 7 013032 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 8 013033 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 10 013038 SUPERADIABATIC INDICATOR CODE TABLE 013038 0 0 2 013039 TERRAIN TYPE (ICE/SNOW) CODE TABLE 013039 0 0 3 013040 SURFACE FLAG CODE TABLE 013040 0 0 4 013041 PASQUILL-GIFFORD STABILITY CATEGORY CODE TABLE 013041 0 0 4 013042 PARCEL LIFTED INDEX (TO 500 hPa) K 0 -20 6 013043 BEST LIFTED INDEX (TO 500 hPa) K 0 -20 6 013051 FREQUENCY GROUP, PRECIPITATION CODE TABLE 013051 0 0 4 013052 HIGHEST DAILY AMOUNT OF PRECIPITATION KG/M**2 1 -1 14 013055 INTENSITY OF PRECIPITATION KG/(M**2)S 4 0 8 013058 SIZE OF PRECIPITATING ELEMENT M 4 0 7 013059 NUMBER OF FLASHES (THUNDERSTORM) NUMERIC 0 0 7 013060 TOTAL ACCUMULATED PRECIPITATION KG/M**2 1 -10 17 013071 UPSTREAM WATER LEVEL M 2 0 14 013072 DOWNSTREAM WATER LEVEL M 2 0 14 013073 MAXIMUM WATER LEVEL M 2 0 14 013080 WATER PH pH 1 0 10 013081 WATER CONDUCTIVITY SIEMENS/M 3 0 14 013082 WATER TEMPERATURE K 1 0 12 013083 DISSOLVED OXYGEN KG/M**3 6 0 15 013084 TURBIDITY LUMEN 0 0 14 013085 OXYDATION REDUCTION POTENTIAL (ORP) V 3 0 14 013090 RADIOMETER WATER VAPOUR CONTENT KG/M**2 1 0 10 013091 RADIOMETER LIQUID CONTENT KG/M**2 2 0 8 013093 CLOUD OPTICAL THICKNESS NUMERIC 0 0 8 013095 TOTAL COLUMN WATER VAPOUR KG/M**2 4 0 19 013096 MWR WATER VAPOUR CONTENT KG/M**2 2 0 14 013097 MWR LIQUID WATER CONTENT KG/M**2 2 0 14 013098 INTEGRATED WATER VAPOUR DENSITY KG/M**2 8 0 30 013192 RELATIVE HUMIDITY AT 2 M % 0 0 8 013193 RELATIVE HUMIDITY % 0 0 8 013194 TOTAL COLUMN WATER KG/M**2 2 0 11 013195 RAIN RATE KG/M**2HOUR 0 0 5 013196 ANTECEDENT PRECIPITATION INDEX KG/M**2 0 0 7 013197 TOTAL COLUMN WATER VAPOUR KG/M**2 1 0 10 013198 RAIN FLAG CODE TABLE 13198 0 0 3 013199 SPECIFIC HUMIDITY AT 2 M KG/KG 5 0 14 013201 CLOUD LIQUID WATER KG/KG 7 0 14 013202 TYPE OF SURFACE CODE TABLE 13202 0 0 8 013203 1D VAR ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013204 SSMI INDEPENDENT ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013205 CLOUD LIQUID WATER PATH KG/M**2 4 0 14 013206 TOTAL PRECIPITATION ICE CONTENT KG/M**2 6 0 14 013207 TOTAL CLOUD LIQUID WATER KG/M**2 6 0 14 013208 SURFACE RAIN RATE ( INSTANTANEOUS ) KG/M**2*S 5 0 17 013209 RAIN POSSIBILITY NUMERIC 0 -256 9 013210 1D VAR CLOUD LIQUID WATER PATH RETRIEVED ERROR(S) KG/M**2 4 0 14 013211 TOTAL PRECIPITABLE WATER INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 2 0 11 013212 CLOUD LIQUID WATER PATH INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 4 0 14 013230 CONVECTIVE PRECIPITATION KG/M**2 1 -1 14 013231 LARGE SCALE PRECIPITATION KG/M**2 1 -1 14 013233 FRACTION OF TOTAL PRECIPITATION IN SOLID FORM (SNOW) M 4 0 18 013240 AIR DENSITY KG/M**3 3 0 10 014001 LONG-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014002 LONG-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014003 SHORT-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014004 SHORT-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014011 NET LONG-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014012 NET LONG-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014013 NET SHORT-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014014 NET SHORT-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014015 NET RADIATION INTEGRATED OVER 24HOURS J/M**2 -4 -16384 15 014016 NET RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 014017 INSTANTANEOUS LONG-WAVE RADIATION J/M**2 -3 -2048 12 014018 INSTANTANEOUS SHORT-WAVE RADIATION J/M**2 -3 -2048 12 014019 SURFACE ALBEDO % 0 0 7 014020 GLOBAL SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014021 GLOBAL RADIATION INTEGRATED OVERPERIOD SPECIFIED J/M**2 -4 0 15 014022 DIFFUSE SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014023 DIFFUSE SOLAR RADIATION INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 014024 DIRECT SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014025 DIRECT SOLAR RADIATION INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 014026 ALBEDO AT THE TOP OF CLOUD % 0 0 7 014027 ALBEDO % 0 0 7 014028 GLOBAL SOLAR RADIATION INTEGRATED OVERPERIOD SPECIFIED J/M**2 -2 0 16 014029 DIFFUSE SOLAR RADIATION INTEGRATED OVERPERIOD SPECIFIED J/M**2 -2 0 16 014030 DIRECT SOLAR RADIATION INTEGRATED OVERPERIOD SPECIFIED J/M**2 -2 0 16 014031 TOTAL SUNSHINE MINUTE 0 0 11 014032 TOTAL SUNSHINE HOUR 0 0 10 014033 TOTAL SUNSHINE % 0 0 9 014034 SUNSHINE OVER PERIOD SPECIFIED MINUTE 0 0 11 014042 BIDIRECTIONAL REFLECTANCE % 0 0 7 014045 CHANNEL RADIANCE (W/M**2)*(1/SR)*CM 0 0 11 014050 EMISSIVITY % 1 0 10 014051 DIRECT SOLAR RADIATION INTEGRATED OVER LAST HOUR J/M**2 -3 0 14 014055 SOLAR ACTIVITY INDEX NUMERIC 0 -32768 16 015001 OZONE DOBSON 0 0 10 015002 AIR MASS (SLANT PATH AT 22 KM) NUMERIC 2 0 10 015003 MEASURED OZONE PARTIAL PRESSURE (SOUNDING) PA 4 0 9 015004 OZONE SOUNDING CORRECTION FACTOR NUMERIC 3 0 11 015005 OZONE P DU 0 0 10 015011 LOG 10 OF INTEGRATED ELECTRON DENSITY LOG(1/M**2) 3 14000 13 015015 MAXIMUM IMAGE SPECTRAL COMPONENT BEFORE NORMALIZATION NUMERIC 0 0 31 015020 INTEGRATED OZONE DENSITY KG/M**2 8 0 21 015031 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 10000 15 015032 ESTIMATED ERROR IN ATMOSPHERIC PATH DELAY M 4 0 10 015033 DIFFERENCE IN PATH DELAYS FOR LIMB VIEWS AT EXTREME OF SCAN M 5 -10000 15 015034 ESTIMATED ERROR IN PATH DELAY DIFFERENCE M 5 0 14 015035 COMPONENT OF ZENITH PATH DELAY DUE TO WATER VAPOUR M 4 0 14 015202 INTEGRATED ELECTRON DENSITY 1/M**2 3 13000 12 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 019001 0 0 6 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 019003 WIND SPEED THRESHOLD M/S 0 0 8 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 019005 DIRECTION OF MOTION OF FEATURE DEGREE TRUE 0 0 9 019006 SPEED OF MOTION OF FEATURE M/S 2 0 14 019007 EFFECTIVE RADIUS OF FEATURE M -3 0 12 019008 VERTICAL EXTENT OF CIRCULATION CODE TABLE 019008 0 0 3 019009 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -3 0 12 019010 METHOD FOR TRACKING THE CENTRE OF SYNOPTIC FEATURE CODE TABLE 019010 0 0 4 020001 HORIZONTAL VISIBILITY M -1 0 13 020002 VERTICAL VISIBILITY M -1 0 7 020003 PRESENT WEATHER CODE TABLE 020003 0 0 9 020004 PAST WEATHER (1) CODE TABLE 020004 0 0 5 020005 PAST WEATHER (2) CODE TABLE 020005 0 0 5 020008 CLOUD DISTRIBUTION FOR AVIATION CODE TABLE 020008 0 0 5 020009 GENERAL WEATHER INDICATOR (TAF/METAR) CODE TABLE 020009 0 0 4 020010 CLOUD COVER (TOTAL) % 0 0 7 020011 CLOUD AMOUNT CODE TABLE 020011 0 0 4 020012 CLOUD TYPE CODE TABLE 020012 0 0 6 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 020015 PRESSURE AT BASE OF CLOUD PA -1 0 14 020016 PRESSURE AT TOP OF CLOUD PA -1 0 14 020017 CLOUD TOP DESCRIPTION CODE TABLE 020017 0 0 4 020018 TENDENCY OF RUNWAY VISUAL RANGE CODE TABLE 020018 0 0 2 020019 SIGNIFICANT PRESENT OR FORECAST WEATHER CCITTIA5 0 0 72 020020 SIGNIFICANT RECENT WEATHER PHENOMENA CCITTIA5 0 0 32 020021 TYPE OF PRECIPITATION FLAG TABLE 020021 0 0 30 020022 CHARACTER OF PRECIPITATION CODE TABLE 020022 0 0 4 020023 OTHER WEATHER PHENOMENA FLAG TABLE 020023 0 0 18 020024 INTENSITY OF PHENOMENA CODE TABLE 020024 0 0 3 020025 OBSCURATION FLAG TABLE 020025 0 0 21 020026 CHARACTER OF OBSCURATION CODE TABLE 020026 0 0 4 020027 PHENOMENA OCCURRENCE FLAG TABLE 020027 0 0 9 020028 EXPECTED CHANGE IN INTENSITY CODE TABLE 020028 0 0 3 020029 RAIN FLAG CODE TABLE 020029 0 0 2 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 020032 RATE OF ICE ACCRETION CODE TABLE 020032 0 0 3 020033 CAUSE OF ICE ACCRETION FLAG TABLE 020033 0 0 4 020034 SEA ICE CONCENTRATION CODE TABLE 020034 0 0 5 020035 AMOUNT AND TYPE OF ICE CODE TABLE 020035 0 0 4 020036 ICE SITUATION CODE TABLE 020036 0 0 5 020037 ICE DEVELOPMENT CODE TABLE 020037 0 0 5 020038 BEARING OF ICE EDGE DEGREE TRUE 0 0 12 020039 ICE DISTANCE M -1 0 13 020041 AIRFRAME ICING CODE TABLE 020041 0 0 4 020042 AIRFRAME ICING PRESENT CODE TABLE 020042 0 0 2 020043 PEAK LIQUID WATER CONTENT KG/M**3 4 0 7 020044 AVERAGE LIQUID WATER CONTENT KG/M**3 4 0 7 020045 SUPERCOOLED LARGE DROPLET (SDL) CONDITIONS CODE TABLE 020045 0 0 2 020051 AMOUNT OF LOW CLOUDS % 0 0 7 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 020062 STATE OF THE GROUND (WITH OR WITHOUT SNOW) CODE TABLE 020062 0 0 5 020063 SPECIAL PHENOMENA CODE TABLE 020063 0 0 10 020065 SNOW COVER % 0 0 7 020070 MINIMUM NUMBER OF ATMOSPHERICS NUMERIC 0 0 7 020071 ACCURACY OF FIX AND RATE OF ATMOSPHERICS CODE TABLE 020071 0 0 4 020081 CLOUD AMOUNT IN SEGMENT % 0 0 7 020082 AMOUNT SEGMENT CLOUD FREE % 0 0 7 020090 SPECIAL CLOUDS CODE TABLE 020090 0 0 4 020192 SPECIAL PHENOMENA CODE TABLE 20192 0 0 14 020193 CLOUD AMOUNT IN SEGMENT % 0 0 7 020194 AMOUNT OF SEGMENT CLOUD FREE % 0 0 7 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 020250 CALCULATED SURFACE TYPE CODE TABLE 20250 0 0 5 020251 ICE AGE CODE TABLE 20251 0 0 3 020252 ICE EDGE CODE TABLE 20252 0 0 3 020253 SURFACE TYPE CODE TABLE 20253 0 0 3 020254 ICE CONCENTRATION % 0 0 7 021001 HORIZONTAL REFLECTIVITY dB 0 -64 7 021002 VERTICAL REFLECTIVITY dB 0 -64 7 021003 DIFFERENTIAL REFLECTIVITY dB 1 -5 7 021005 LINEAR DEPOLARISATION RATIO dB 0 -65 6 021006 CIRCULAR DEPOLARISATION RATIO dB 0 -65 6 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION M/S 0 -128 8 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION M/S 0 -128 8 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION(VZ) M/S 0 -128 8 021014 DOPPLER MEAN VELOCITY RADIAL M/S 1 -4096 13 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 0 8 021021 ECHO TOPS M -3 0 4 021030 SIGNAL TO NOISE RATIO dB 0 -32 8 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT KG/M**2 0 0 7 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 021041 BRIGHT-BAND HEIGHT M -2 0 8 021051 SIGNAL POWER ABOVE 1 mW dB 0 -256 8 021062 BACKSCATTER dB 2 -5000 13 021063 RADIOMETRIC RESOLUTION (NOISE VALUE) % 1 0 10 021064 CLUTTER NOISE ESTIMATE NUMERIC 0 0 8 021065 MISSING PACKET COUNTER NUMERIC 0 -127 8 021066 WAVE SCATTEROMETER PRODUCT CONFIDENCE FLAG TABLE 021066 0 0 12 021067 WIND PRODUCT CONFIDENCE DATA FLAG TABLE 021067 0 0 13 021068 RADAR ALTIMETER PRODUCT CONFIDENCE DATA FLAG TABLE 021068 0 0 8 021069 SST PRODUCT CONFIDENCE DATA FLAG TABLE 021069 0 0 10 021070 SST PRODUCT CONFIDENCE DATA (SADIST 2) FLAG TABLE 021070 0 0 23 021071 PEAKINESS NUMERIC 0 0 16 021072 SATELLITE ALTIMETER CALIBRATION STATUS FLAG TABLE 021072 0 0 4 021073 SATELLITE ALTIMETER INSTRUMENT MODE FLAG TABLE 021073 0 0 9 021075 IMAGE SPECTRUM INTENSITY NUMERIC 0 0 8 021076 REPRESENTATION OF INTENSITIES CODE TABLE 021076 0 0 3 021077 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 021078 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 021079 ALTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 021080 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 021081 OPEN LOOP CORRECTION (HEIGHT-TIME LOOP) M 3 0 10 021082 OPEN LOOP CORRECTION (AUTO GAIN CONTROL) dB 3 -3000 14 021083 WARM TARGET CALIBRATION NUMERIC 0 0 16 021084 COLD TARGET CALIBRATION NUMERIC 0 0 16 021085 ATSR SEA SURFACE TEMPERATURE ACROSS-TRACK BAND NUMBER NUMERIC 0 0 4 021086 NUMBER OF PIXELS IN NADIR ONLY, AVERAGE NUMERIC 0 0 9 021087 NUMBER OF PIXELS IN DUAL VIEW, AVERAGE NUMERIC 0 0 9 021091 RADAR SIGNAL DOPPLER SPECTRUM 0th MOMENT dB 0 -100 8 021092 RASS SIGNAL DOPPLER SPECTRUM 0th MOMENT dB 0 -100 8 021101 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 021102 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 021103 TOTAL NUMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 021104 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 3 -30000 15 021105 NORMALIZED RADAR CROSS-SECTION dB 2 -10000 14 021106 KP VARIANCE COEFFICIENT (ALPHA) NUMERIC 3 0 14 021107 KP VARIANCE COEFFICIENT (BETA) NUMERIC 8 0 16 021109 SEAWINDS WIND VECTOR CELL QUALITY FLAG TABLE 021109 0 0 17 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 021114 KP VARIANCE COEFFICENT (GAMMA) dB 3 -140000 18 021115 SEAWINDS SIGMA-0 QUALITY FLAG TABLE 021115 0 0 17 021116 SEAWINDS SIGMA-0 MODE FLAG TABLE 021116 0 0 17 021117 SIGMA-0 VARIANCE QUALITY CONTROL NUMERIC 2 0 16 021118 ATTENUATION CORRECTION ON SIGMA-0 dB 2 -10000 14 021119 WIND SCATTEROMETER GEOPHYSICAL MODEL FUNCTION CODE TABLE 021119 0 0 6 021120 PROBABILITY OF RAIN NUMERIC 3 0 10 021121 SEAWIND NOF RAIN INDEX NUMERIC 0 0 8 021122 ATTENUATION CORRECTION ON SIGMA-0 (FROM tB) dB 2 -10000 14 021123 SEAWINDS NORMALIZED RADAR CROSS SECTION dB 2 -30000 15 021128 NUMBER OF VALID POINTS PER SECOND USED TO DERIVE PREVIOUS PARAME NUMERIC 0 0 8 021130 SPECTRUM TOTAL ENERGY NUMERIC 6 0 28 021131 SPECTRUM MAX ENERGY NUMERIC 6 0 28 021132 DIRECTION OF SPECTRUM MAX ON HIGHER RESOLUTION GRID DEGREES 3 0 19 021133 WAVELENGHT OF SPECTRUM MAX ON HIGHER RESOLUTION GRID M 3 0 29 021134 RANGE RESOLUTION OF CROSS COVARIANCE SPECTRUM RAD/M 3 0 19 021135 REAL PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 021136 IMAGINARY PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 021137 KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT DB 2 -32768 16 021138 STD KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT DB 2 -32768 16 021139 KU BAND NET INSTRUMENTAL CORRECTION FOR ACG DB 2 -2048 12 021140 S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT DB 2 -32768 16 021141 STD S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT DB 2 -32768 16 021142 S BAND NET INSTRUMENTAL CORRECTION FOR ACG DB 2 -1024 11 021143 KU BAND RAIN ATTENUATION DB 2 -1073741824 31 021144 ALTIMETER RAIN FLAG FLAG TABLE 021144 0 0 2 021192 RADAR BACK SCATTER dB 2 -5000 13 021193 NOISE FIGURE % 0 0 7 021194 BACKGROUND NOISE LEVEL NUMERIC 0 0 8 021195 MISSING PACKET COUNTER NUMERIC 0 -127 8 021196 UWA PRODUCT CONFIDENCE FLAG TABLE 21196 0 0 12 021197 UWI PRODUCT CONFIDENCE FLAG TABLE 21197 0 0 12 021198 URA PRODUCT CONFIDENCE FLAG TABLE 21198 0 0 8 021199 UAT PRODUCT CONFIDENCE FLAG TABLE 21199 0 0 7 021200 MWI PRODUCT CONFIDENCE FLAG TABLE 21200 0 0 15 021201 PEAKINESS NUMERIC 0 0 16 021202 ALTIMETER CALIBRATION STATUS FLAG TABLE 21202 0 0 4 021203 ALTIMETER INSTRUMENT MODE FLAG TABLE 21203 0 0 9 021204 MULTI/SINGLE VIEW DIFFERENCE K 2 -512 10 021205 SPECTRAL INTENSITY NUMERIC 0 0 8 021206 REPRESENTATION OF INTENSITY CODE TABLE 21206 0 0 3 021207 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 021208 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 021209 LTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 021210 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 021211 OPEN LOOP CORRECTION (HTL) M 3 0 10 021212 OPEN LOOP CORRECTION (AGC) dB 3 -3000 14 021213 AMBIGUITY REMOVAL CONFIDENCE % 0 0 7 021214 UAT QUALITY SUMMARY CODE TABLE 21214 0 0 3 021215 UAT ACROSS-TRACK BAND NO. NUMERIC 0 0 4 021222 DOPPLER SPECTRUM 0 TH MOMENT (AMPLITUDE) dB 0 0 7 021225 PRESCAT PRODUCT CONFIDENCE FLAG TABLE 21225 0 0 6 021226 BACKSCATER DISTANCE NUMERIC 1 -4096 13 021230 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 021231 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 021232 TOTAL NMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 021233 NUMBER OF SIGMA-0 USABLE FOR WIND NUMERIC 0 0 5 021234 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 1 -10000 14 021235 WIND VECTOR CELL QUALITY FLAG FLAG TABLE 21235 0 0 3 021236 NUMBER OF FORE-BEAM SIGMA-0 NUMERIC 1 0 6 021237 NUMBER OF MID-BEAM V-POL SIGMA-0 NUMERIC 1 0 6 021238 NUMBER OF MID-BEAM H-POL SIGMA-0 NUMERIC 1 0 6 021239 NUMBER OF AFT-BEAM SIGMA-0 NUMERIC 1 0 6 021240 NORMALIZED RADAR CROSS SECTION NUMERIC 2 -10000 14 021241 Kp VARIANCE COEFFICIENT (ALPHA) NUMERIC 5 0 14 021242 Kp VARIANCE COEFFICIENT (BETHA) NUMERIC 6 0 16 021243 Kp VARIANCE COEFFICIENT (GAMMA) NUMERIC 6 0 16 021244 SIGMA-0 QUALITY FLAG FLAG TABLE 21244 0 0 15 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 9 022011 PERIOD OF WAVES S 0 0 6 022012 PERIOD OF WIND WAVES S 0 0 6 022013 PERIOD OF SWELL WAVES S 0 0 6 022021 HEIGHT OF WAVES M 1 0 10 022022 HEIGHT OF WIND WAVES M 1 0 10 022023 HEIGHT OF SWELL WAVES M 1 0 10 022025 STANDARD DEVIATION WAVE HEIGHT M 2 0 10 022026 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT M 2 0 10 022031 SPEED OF CURRENT M/S 2 0 13 022035 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 2 0 14 022036 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 2 0 14 022037 TIDAL ELEVATION WITH RESPECT TO NATIONAL LAND DATUM M 3 -10000 15 022038 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 3 -10000 15 022039 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 12 022040 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 14 022041 SEA-SURFACE TEMPERATURE(15-DAY RUNNING MEAN) K 1 0 12 022042 SEA/WATER TEMPERATURE K 1 0 12 022043 SEA/WATER TEMPERATURE K 2 0 15 022044 SOUND VELOCITY M/S 1 0 14 022045 SEA/WATER TEMPERATURE K 3 0 19 022050 STANDARD DEVIATION SEA SURFACE TEMPERATURE K 2 0 8 022055 FLOAT CYCLE NUMBER NUMERIC 0 0 10 022056 DIRECTION OF PROFILE CODE TABLE 022056 0 0 2 022060 LAGRANGIAN DRIFTER DROGUE STATUS CODE TABLE 022060 0 0 3 022061 STATE OF THE SEA CODE TABLE 022061 0 0 4 022062 SALINITY PART PER THOUSAND 2 0 14 022063 TOTAL WATER DEPTH M 0 0 14 022064 SALINITY PART PER THOUSAND 3 0 17 022065 WATER PRESSURE PA -3 0 17 022066 WATER CONDUCTIVITY S M-1 6 0 26 022067 INSTRUMENT TYPE FOR WATER TEMPERATURE PROFILE MEASUREMENT CODE TABLE 022067 0 0 10 022068 WATER TEMPERATURE PROFILE RECORDER TYPES CODE TABLE 022068 0 0 7 022070 SIGNIFICANT WAVE HEIGHT M 2 0 13 022071 SPECTRAL PEAK WAVE PERIOD S 1 0 9 022072 SPECTRAL PEAK WAVE LENGTH M 0 0 13 022073 MAXIMUM WAVE HEIGHT M 2 0 13 022074 AVERAGE WAVE PERIOD S 1 0 9 022075 AVERAGE WAVE LENGTH M 0 0 13 022076 DIRECTION FROM WHICH DOMINANT WAVES ARE COMING DEGREE TRUE 0 0 9 022077 DIRECTIONAL SPREAD OF DOMINANT WAVE DEGREE 0 0 9 022078 DURATION OF WAVE RECORD S 0 0 12 022079 LENGTH OF WAVE RECORD M 0 0 16 022080 WAVEBAND CENTRAL FREQUENCY Hz 3 0 10 022081 WAVEBAND CENTRAL WAVE NUMBER 1/M 5 0 13 022082 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE DENSITY M**2S 2 0 20 022083 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE NUMBER M**3 2 0 20 022084 BAND CONTAINING MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE DENSITY NUMERIC 0 0 7 022085 SPECTRAL WAVE DENSITY RATIO NUMERIC 0 0 7 022086 MEAN DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 022087 PRINCIPAL DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 022088 FIRST NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 022089 SECOND NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 022090 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S 2 0 20 022091 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**3 2 0 20 022092 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S/RAD 2 0 20 022093 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**4 2 0 20 022094 TOTAL NUMBER OF WAVE BANDS NUMERIC 0 0 7 022095 DIRECTIONAL SPREAD OF INDIVIDUAL WAVES DEGREE 0 0 8 022096 SPECTRAL BAND WIDTH 1/S 3 0 4 022097 MEAN WAVELENGTH > 731 M OF IMAGE SPECTRUM AT LOW WAVE NUMBERS M 0 0 14 022098 WAVELENGTH SPREAD (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS M 0 0 14 022099 MEAN DIRECTION AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE TRUE 0 0 9 022100 DIRECTION SPREAD AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE 0 0 9 022101 TOTAL ENERGY (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS NUMERIC 0 0 31 022120 TIDE STATION AUTOMATED WATER LEVEL CHECK CODE TABLE 022120 0 0 5 022121 TIDE STATION MANUAL WATER LEVEL CHECK CODE TABLE 022121 0 0 5 022122 TIDE STATION AUTOMATED METEOROLOGICAL DATA CHECK CODE TABLE 022122 0 0 5 022123 TIDE STATION MANUAL METEOROLOGICAL DATA CHECK CODE TABLE 022123 0 0 5 022141 SEA SURFACE TEMPERATURE (15 DAY RUNNING MEAN) K 2 0 15 022150 NUMBER OF 18 HZ VALID POINTS FOR KU BAND NUMERIC 0 0 10 022151 KU BAND OCEAN RANGE M 3 0 31 022152 STD OF 18 HZ KU BAND OCEAN RANGE M 3 0 16 022153 NUMBER OF 18 HZ VALID POINTS FOR S BAND NUMERIC 0 0 10 022154 S BAND OCEAN RANGE M 3 0 31 022155 STD OF 18 HZ S BAND OCEAN RANGE M 3 0 16 022156 KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022157 STD 18 HZ KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022158 S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022159 STD 18 HZ S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022160 NORMALIZED INVERSE WAVE AGE NUMERIC 6 0 21 022161 WAVE SPECTRA M**4 4 0 27 022192 SPECTRAL PERIOD S 2 0 13 022193 MEAN WAVENUMBER 1/M 5 0 15 022194 PEAK WAVENUMBER 1/M 5 0 15 022195 MEAN WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022196 PEAK WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022197 DIRECTION SPREAD DEGREE 1 0 13 022198 VARIANCE SPECTRAL DENSITY M**2*S/RAD 4 0 18 022199 CORRELATION COEFF OF SIMULATED FG AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022200 CORRELATION COEFF OF SIMULATED BF AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022201 CORRELATION COEFF OF OCEAN WAVE FG AND EXTRACTED WAVE SPECTRUM NUMERIC 4 -10000 15 022202 ERROR BETWEEN FIRST GUESS AND OBSERVED SAR NUMERIC 5 0 21 022203 ERROR BETWEEN SIMULATED AND OBSERVED SAR NUMERIC 5 0 21 022204 MEAN PERIOD OF WAVES SECOND 2 0 13 022205 SPECTRAL DENSITY M**2*S/RAD 4 0 25 022206 PEAK PERIOD OF WAVES SECOND 2 0 13 022207 MEAN WAVE PERIOD S 1 0 10 022208 PEAK PERIOD OF 1D SPECTRA S 1 0 10 022209 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 13 022210 MEAN SQUARE SLOPE OF WAVES NUMERIC 4 -10000 14 022211 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 17 022243 STANDARD DEVIATION SIGNIFICANT WAVE HEIGHT M 2 0 10 023001 ACCIDENT EARLY NOTIFICATION-ARTICLE APPLICABLE CODE TABLE 023001 0 0 3 023002 ACTIVITY OR FACILITY INVOLVED INCIDENT CODE TABLE 023002 0 0 5 023003 TYPE OF RELEASE CODE TABLE 023003 0 0 3 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 023004 0 0 3 023005 CAUSE OF INCIDENT CODE TABLE 023005 0 0 2 023006 INCIDENT SITUATION CODE TABLE 023006 0 0 3 023007 CHARACTERISTICS OF RELEASE CODE TABLE 023007 0 0 3 023008 STATE OF CURRENT RELEASE CODE TABLE 023008 0 0 2 023009 STATE OF EXPECTED RELEASE CODE TABLE 023009 0 0 2 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 023016 0 0 2 023017 FLOW DISCHARGE OF MAJOR RECIPIENT M**3/S 6 0 20 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 023018 0 0 3 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 023024 MAIN TRANSPORT SPEED WATER M/S 2 0 13 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 023031 0 0 2 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 023032 0 0 2 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 024003 COMPOSITION OF RELEASE CODE TABLE 024003 0 0 5 024004 ELEMENT NAME CCITTIA5 0 0 16 024005 ISOTOPE MASS NUMERIC 0 0 9 024011 DOSE mSv 2 0 32 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME OF ARRIVAL) mSv 2 0 32 024013 GAMMA DOSE IN AIR ALONG THE MAIN TRANSPORT PATH(DEFINED LOCATION mSv 2 0 32 024021 AIR CONCENTRATION(OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA Bq/M**3 2 0 32 024022 CONCENTRATION IN PRECIPITATION ( OF NAMED ISOTOPE TYPE) Bq/L 2 0 32 024023 PULSE RATE OF BETA RADIATION 1/S 1 0 14 024024 PULSE RATE OF GAMMA RADIATION 1/S 1 0 14 025001 RANGE-GATE LENGTH M -1 0 6 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 025004 ECHO PROCESSING CODE TABLE 025004 0 0 2 025005 ECHO INTEGRATION CODE TABLE 025005 0 0 2 025006 Z TO R CONVERSION CODE TABLE 025006 0 0 3 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 025009 CALIBRATION METHOD FLAG TABLE 025009 0 0 4 025010 CLUTTER TREATMENT CODE TABLE 025010 0 0 4 025011 GROUND OCCULTATION CORRECTION (SCREENING) CODE TABLE 025011 0 0 2 025012 RANGE ATTENUATION CORRECTION CODE TABLE 025012 0 0 2 025013 BRIGHT-BAND CORRECTION FLAG TABLE 025013 0 0 2 025014 AZIMUTH CLUTTER CUT-OFF NUMERIC 0 0 12 025015 RADOME ATTENUATION CORRECTION FLAG TABLE 025015 0 0 2 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 025017 0 0 2 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 025020 MEAN SPEED ESTIMATION CODE TABLE 025020 0 0 2 025021 WIND COMPUTATION ENHANCEMENT FLAG TABLE 025021 0 0 8 025025 BATTERY VOLTAGE V 1 0 9 025026 BATTERY VOLTAGE (LARGE RANGE) V 1 0 12 025028 OPERATOR OR MANUFACTURER DEFINED PARAMETER NUMERIC 1 -16384 15 025030 RUNNING MEAN SEA-SURFACE TEMPERATURE USAGE CODE TABLE 025030 0 0 2 025032 WIND PROFILER MODE INFORMATION CODE TABLE 025032 0 0 2 025033 WIND PROFILER SUBMODE INFORMATION CODE TABLE 025033 0 0 2 025034 WIND PROFILER QUALITY CONTROL TEST RESULTS FLAG TABLE 025034 0 0 4 025036 ATMOSPHERICS LOCATION METHOD CODE TABLE 025036 0 0 4 025040 CO2 WIND PRODUCT DERIVATION CODE TABLE 025040 0 0 4 025041 MOVING PLATFORM DIRECTION REPORTING METHOD CODE TABLE 025041 0 0 2 025042 MOVING PLATFORM SPEED REPORTING METHOD CODE TABLE 025042 0 0 2 025043 WAVE SAMPLING INTERVAL (TIME) S 4 0 15 025044 WAVE SAMPLING INTERVAL (SPACE) M 2 0 14 025045 HIRS CHANNEL COMBINATION FLAG TABLE 025045 0 0 21 025046 MSU CHANNEL COMBINATION FLAG TABLE 025046 0 0 5 025047 SSU CHANNEL COMBINATION FLAG TABLE 025047 0 0 4 025048 AMSU-A CHANNEL COMBINATION FLAG TABLE 025048 0 0 16 025049 AMSU-B CHANNEL COMBINATION FLAG TABLE 025049 0 0 6 025051 AVHRR CHANNEL COMBINATION FLAG TABLE 025051 0 0 7 025053 OBSERVATION QUALITY FLAG TABLE 025053 0 0 12 025050 PRINCIPAL COMPONENT SCORE NUMERIC 4 -131072 18 025054 SSMIS SUBFRAME ID NUMBER NUMERIC 0 0 5 025055 MULTIPLEX HOUSEKEEPING K 2 0 16 025060 SOFTWARE IDENTIFICATION NUMERIC 0 0 14 025061 SOFTWARE IDENTIFICATION CCITTIA5 0 0 96 025070 MAJOR FRAME COUNT NUMERIC 0 0 4 025071 FRAME COUNT NUMERIC 0 0 5 025075 SATELLITE ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 025076 LOG_10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER) FOR ATOVS LOG (1/M) 8 0 30 025077 BANDWIDTH CORRECTION COEFFICIENT 1 for ATOVS NUMERIC 5 -100000 18 025078 BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS NUMERIC 5 0 17 025079 ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS W/M**2 4 0 24 025080 ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS M 10 0 14 025085 FRACTION OF CLEAR PIXELS IN HIRS FOV NUMERIC 0 0 7 025086 DEPTH CORRECTION INDICATOR CODE TABLE 025086 0 0 2 025091 STRUCTURE CONSTANT OF THE REFRACTION INDEX (Cn2) dB 3 -18192 13 025092 ACOUSTIC PROPAGATION VELOCITY M/S 2 28000 14 025093 RASS COMPUTATIONAL CORRECTION FLAG TABLE 025093 0 0 8 025095 ALTIMETER STATE FLAG FLAG TABLE 025095 0 0 2 025096 RADIOMETER STATE FLAG FLAG TABLE 025096 0 0 5 025097 THREE DIMENSIONAL ERROR ESTIMATE OF THE NAVIGATOR ORBIT CODE TABLE 025097 0 0 4 025100 XBT/XCTD FALL RATE EQUATION COEFFICIENT A NUMERIC 5 0 20 025101 XBT/XCTD FALL RATE EQUATION COEFFICIENT B NUMERIC 5 -500000 21 025102 NUMBER OF MISSING LINES EXCLUDING DATA GAPS NUMERIC 0 0 8 025103 NUMBER OF DIRECTIONAL BINS NUMERIC 0 0 8 025104 NUMBER OF WAVELENGHT BINS NUMERIC 0 0 8 025105 FIRST DIRECTIONAL BIN DEGREES 3 0 19 025106 DIRECTIONAL BIN STEP DEGREES 3 0 19 025107 FIRST WAVELENGHT BIN M 3 0 29 025108 LAST WAVELENGHT BIN M 3 0 29 025110 IMAGE PROCESSING SUMMARY FLAG TABLE 025110 0 0 10 025111 NUMBER OF INPUT DATA GAPS NUMERIC 0 0 8 025120 RA2_L2_PROCESSING FLAG CODE TABLE 025120 0 0 2 025121 RA2_L2_PROCESSING QUALITY % 0 0 7 025122 HARDWARE CONFIGURATION FOR RF CODE TABLE 025122 0 0 2 025123 HARDWARE CONFIGURATION FOR HPA CODE TABLE 025123 0 0 2 025124 MWR L2 PROCESSING FLAG CODE TABLE 025124 0 0 2 025125 MWR L2 PROCESSING QUALITY % 0 0 7 025126 MODEL DRY TROPOSPHERIC CORRECTION M 3 -32768 16 025127 SEA SURFACE HEIGHT CORRECTION DUE TO PRESSURE LOADING M 3 -32768 16 025128 MODEL WET TROPOSPHERIC CORRECTION M 3 -32768 16 025129 MWR DERIVED WET TROPOSPHERIC CORRECTION M 3 -32768 16 025130 RA2 IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 025131 IONOSPHERIC CORRECTION FROM DORIS ON KU BAND M 3 -32768 16 025132 IONOSPHERIC CORRECTION FROM MODEL ON KU BAND M 3 -32768 16 025133 SEA STATE BIAS CORRECTION ON KU BAND M 3 -32768 16 025134 RA2 IONOSPHERIC CORRECTION ON S BAND M 3 -32768 16 025135 IONOSPHERIC CORRECTION FROM DORIS ON S BAND M 3 -32768 16 025136 IONOSPHERIC CORRECTION FROM MODEL ON S BAND M 3 -32768 16 025137 SEA STATE BIAS CORRECTION ON S BAND M 3 -32768 16 025138 AVERAGE SIGNAL TO NOISE RATIO NUMERIC 0 -2048 12 025193 ATTENUATION CORRECTION ON SIGMA0 dB 3 0 14 025194 MAJOR FRAME COUNT NUMERIC 0 0 4 025197 ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 025198 LOG (TEMP-RAD CENTRAL WAVE NUMBER) 1/M 8 0 30 025199 BANDWIDTH CORRECTION COEFFICIENT 1 NUMERIC 4 -10000 15 025200 BANDWIDTH CORRECTION COEFFICIENT 2 NUMERIC 5 0 17 025201 ALBEDO-RAD SOLAR FILTERED IRRADIANCE NUMERIC 4 0 24 025202 ALBEDO-RAD EQUIVALENT FILTER WIDTH NUMERIC 10 0 14 025203 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 25081 0 0 31 025204 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 25082 0 0 31 025205 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 25083 0 0 31 025206 FOV QUALITY FLAGS FOR ATOVS FLAG TABLE 25084 0 0 31 026001 PRINCIPAL TIME OF DAILY READING IN UTC OF MAXIMUM TEMPERATURE HOUR 1 0 12 026002 PRINCIPAL TIME OF DAILY READING IN UTC OF MINIMUM TEMPERATURE HOUR 1 0 12 026003 TIME DIFFERENCE MINUTE 0 -1440 12 026010 HOURS INCLUDED FLAG TABLE 026010 0 0 26 026020 DURATION OF PRECIPITATION MINUTE 0 0 11 026193 YEAR YEAR 0 0 12 026194 MONTH MONTH 0 0 4 026195 DAY DAY 0 0 6 026196 HOUR HOUR 0 0 5 026197 MINUTE MINUTE 0 0 6 026198 SECOND SECOND 0 0 6 026200 LOCATION WITHIN ASSIMILATION WINDOW IN TIME NUMERIC 6 0 20 026201 HOURS INCLUDED FLAG TABLE 26201 0 0 26 027001 LATITUDE(HIGH ACCURACY) DEGREE 5 -9000000 25 027002 LATITUDE(COARSE ACCURACY) DEGREE 2 -9000 15 027003 ALTERNATE LATITUDE DEGREE 2 -9000 15 027004 ALTERNATE LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 027021 SATELLITE SUBLOCATION DIMENSION NUMERIC 0 0 16 027031 IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THE EARTH'S C M 2 -1073741824 31 027035 LENGTH OF PHENOMENON M -3 0 13 027080 VIEWING AZIMUTH ANGLE DEGREE TRUE 2 0 16 027193 SOLAR AZIMUTH DEGREE TRUE 2 0 16 028001 LONGITUDE(HIGH ACCURACY) DEGREE 5 -18000000 26 028002 LONGITUDE(COARSE ACCURACY) DEGREE 2 -18000 16 028003 ALTERNATE LONGITUDE DEGREE 2 -18000 16 028004 ALTERNATE LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 028031 IN DIRECTION 90 DEGREES EAST,DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 028035 WIDTH OF PHENOMENON M -3 0 13 029001 PROJECTION TYPE CODE TABLE 029001 0 0 3 029002 COORDINATE GRID TYPE CODE TABLE 029002 0 0 3 030001 PIXEL VALUE(4 BITS) NUMERIC 0 0 4 030002 PIXEL VALUE(8 BITS) NUMERIC 0 0 8 030004 PIXEL VALUE(16 BITS) NUMERIC 0 0 16 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 030031 PICTURE TYPE CODE TABLE 030031 0 0 4 030032 COMBINATION WITH OTHER DATA FLAG TABLE 030032 0 0 16 030193 POSITION NUMBER ALONG SCAN NUMERIC 0 0 8 031000 SHORT DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 1 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 031021 0 0 6 031031 DATA PRESENT INDICATOR FLAG TABLE 031031 0 0 1 031192 DATA PRESENT INDICATOR NUMERIC 0 0 1 033002 QUALITY INFORMATION CODE TABLE 033002 0 0 2 033003 QUALITY INFORMATION CODE TABLE 033003 0 0 3 033005 QUALITY INFORMATION (AWS DATA) FLAG TABLE 033005 0 0 30 033006 INTERNAL MEASUREMENT STATUS INFORMATION (AWS) CODE TABLE 033006 0 0 3 033007 % CONFIDENCE % 0 0 7 033020 QUALITY CONTROL INDICATION OF FOLLOWING VALUE CODE TABLE 033020 0 0 3 033021 QUALITY OF FOLLOWING VALUE CODE TABLE 033021 0 0 2 033022 QUALITY OF BUOY SATELLITE TRANSMISSION CODE TABLE 033022 0 0 2 033023 QUALITY OF BUOY LOCATION CODE TABLE 033023 0 0 2 033024 STATION ELEVATION QUALITY MARK (FOR MOBILE STATION) CODE TABLE 033024 0 0 4 033025 ACARS INTERPOLATED VALUES CODE TABLE 033025 0 0 3 033026 MIXING RATIO QUALITY CODE TABLE 033026 0 0 6 033027 LOCATION QUALITY CLASS (RANGE OF RADIUS OF 66% CONFIDENCE) CODE TABLE 033027 0 0 3 033030 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 033030 0 0 24 033031 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 033031 0 0 24 033032 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 033032 0 0 24 033033 FIELD OF VIEW QUALITY FLAGS FOR ATOVS FLAG TABLE 033033 0 0 24 033035 MANUAL/AUTOMATIC QUALITY CONTROL CODE TABLE 033035 0 0 4 033036 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 033037 WIND CORRELATION ERROR FLAG TABLE 033037 0 0 20 033038 QUALITY FLAG FOR GROUND BASED GNSS DATA FLAG TABLE 033038 0 0 10 033040 CONFIDENCE INTERVAL % 0 0 7 033041 ATTRIBUTE OF FOLLOWING VALUE CODE TABLE 033041 0 0 2 033043 AST CONFIDENCE FLAG TABLE 033043 0 0 8 033044 ASAR QUALITY INFORMATION FLAG TABLE 033044 0 0 15 033047 MEASUREMENT CONFIDENCE DATA FLAG TABLE 033047 0 0 31 033048 CONFIDENCE MEASURE OF SAR INVERSION CODE TABLE 033048 0 0 2 033049 CONFIDENCE MEASURE OF WIND RETIEVAL CODE TABLE 033049 0 0 2 033050 GLOBAL GTSPP QUALITY FLAG CODE TABLE 033050 0 0 4 033051 ASAR QUALITY INFORMATION FLAG TABLE 033051 0 0 15 033052 S BAND OCEAN RETRACKING QUALITY FLAG TABLE 033052 0 0 21 033053 KU BAND OCEAN RETRACKING QUALITY FLAG TABLE 033053 0 0 21 033054 DATA EXTRACTION INDICATOR FLAG TABLE 033054 0 0 8 033192 TEM1 CONFIDENCE % 0 0 7 033193 DATA QUALITY 3 BIT CODE CODE TABLE 33193 0 0 3 033194 DATA QUALITY 2 BIT CODE CODE TABLE 33194 0 0 2 033195 ECMWF SAR QC INDICATOR CODE TABLE 33195 0 0 5 033196 ECMWF WAM QC INDICATOR CODE TABLE 33196 0 0 2 033197 ECMWF SAR INVERSION QC INDICATOR CODE TABLE 33197 0 0 3 033198 MINIMUM COST NUMERIC 4 0 14 033199 1D VAR TOTAL PRECIPITABLE WATER RETRIEVED ERROR(S) KG/M**2 2 0 11 033200 ANALYSIS REPORT EVENTS FLAG TABLE 33200 0 0 31 033201 ANALYSIS REPORT STATUS EVENT FLAG TABLE 33201 0 0 13 033202 ANALYSIS DATUM EVENT FLAGS (1) FLAG TABLE 33202 0 0 31 033203 ANALYSIS DATUM EVENT FLAGS (2) FLAG TABLE 33203 0 0 11 033204 ANALYSIS DATUM STATUS FLAGS FLAG TABLE 33204 0 0 21 033205 VARIATIONAL ANALYSIS BLACK LIST FLAG CODE TABLE 33205 0 0 4 033206 VARIATIONAL ANALYSIS QUALITY CONTROL FLAG CODE TABLE 33206 0 0 4 033207 VARIATIONAL ANALYSIS DEPARTURE FLAG CODE TABLE 33207 0 0 4 033208 VARIATIONAL ANALYSIS FIRST QUESS CHECK FLAG CODE TABLE 033208 0 0 4 033209 VARIATIONAL ANALYSIS FINAL FLAG CODE TABLE 33209 0 0 4 033210 INCREMENTAL VARIATIONAL ANALYSIS UPDATE NUMBER NUMERIC 0 0 7 033211 MINIMISATION SIMULATION NUMBER NUMERIC 0 0 10 033212 1D VAR ITERATION NUMBER NUMERIC 0 0 10 033213 1D VAR RADIANCE COST NUMERIC 1 -1000 11 033214 1D VAR ERROR(S) FLAG TABLE 33214 0 0 11 033215 DIRECTIONAL SKILL NUMERIC 1 -4096 13 033216 1D VAR SURFACE TYPE QUALITY CONTROL CODE TABLE 33216 0 0 3 033217 1D VAR FAILURE INDICATOR CODE TABLE 33217 0 0 2 033218 1D VAR ESTIMATE OF SCATTERING NUMERIC 2 0 12 033219 SSMI INDIPENDENT SCATTERING INDEX NUMERIC 2 -50000 16 033220 VARIATIONAL ANALYSIS REPORT EVENTS (1) FLAG TABLE 33220 0 0 31 033221 VARIATIONAL ANALYSIS SYNOP EVENTS (2) FLAG TABLE 33221 0 0 31 033222 VARIATIONAL ANALYSIS AIREP EVENTS (2) FLAG TABLE 33222 0 0 31 033223 VARIATIONAL ANALYSIS SATOB EVENTS (2) FLAG TABLE 33223 0 0 31 033224 VARIATIONAL ANALYSIS DRIBU EVENTS (2) FLAG TABLE 33224 0 0 31 033225 VARIATIONAL ANALYSIS TEMP EVENTS (2) FLAG TABLE 33225 0 0 31 033226 VARIATIONAL ANALYSIS PILOT EVENTS (2) FLAG TABLE 33226 0 0 31 033227 VARIATIONAL ANALYSIS SATEM/TOVS EVENTS (2) FLAG TABLE 33227 0 0 31 033228 VARIATIONAL ANALYSIS PAOB EVENTS (2) FLAG TABLE 33228 0 0 31 033229 VARIATIONAL ANALYSIS SCATTEROMETER EVENTS (2) FLAG TABLE 33229 0 0 31 033230 VARIATIONAL ANALYSIS RAW RADIANCES EVENTS (2) FLAG TABLE 33230 0 0 31 033231 PRESAT SUMMARY FLAGS FLAG TABLE 33231 0 0 6 033232 REPORT BLACK LIST EVENTS FLAG TABLE 33232 0 0 31 033233 VARIATIONAL ANALYSIS REPORT STATUS FLAG TABLE 33233 0 0 31 033234 VARIATIONAL ANALYSIS DATUM STATUS FLAG TABLE 33234 0 0 31 033236 VARIATIONAL ANALYSIS DATUM EVENTS (1) FLAG TABLE 33236 0 0 31 033237 VARIATIONAL ANALYSIS SYNOP DATUM EVENTS (2) FLAG TABLE 033237 0 0 31 033238 VARIATIONAL ANALYSIS AIREP DATUM EVENTS (2) FLAG TABLE 033238 0 0 31 033239 VARIATIONAL ANALYSIS SATOB DATUM EVENTS (2) FLAG TABLE 033239 0 0 31 033240 VARIATIONAL ANALYSIS DRIBU DATUM EVENTS (2) FLAG TABLE 033240 0 0 31 033241 GROSS ERROR PROBABILITY NUMERIC 3 0 10 033242 GROSS ERROR INDICATOR CODE TABLE 33242 0 0 2 033243 VARIATIONAL ANALYSIS TEMP DATUM EVENTS (2) FLAG TABLE 33243 0 0 31 033244 VARIATIONAL ANALYSIS PILOT DATUM EVENTS (2) FLAG TABLE 033244 0 0 31 033245 VARIATIONAL ANALYSIS SATEM/TOVS DATUM EVENTS (2) FLAG TABLE 33245 0 0 31 033246 VARIATIONAL ANALYSIS PAOB DATUM EVENTS (2) FLAG TABLE 33246 0 0 31 033247 VARIATIONAL ANALYSIS SCATTEROMETER DATUM EVENTS (2) FLAG TABLE 33247 0 0 31 033248 VARIATIONAL ANALYSIS RAW RADIANCES DATUM EVENTS (2) FLAG TABLE 33248 0 0 31 033249 DATUM BLACK LIST EVENTS FLAG TABLE 33249 0 0 31 033250 PROBABILITY OF GROSS ERROR NUMERIC 6 0 20 033251 RANGE OF POSSIBLE VALUES NUMERIC 2 0 14 033252 MANUAL-AUTOMATIC QUALITY CONTROL CODE TABLE 33252 0 0 4 033253 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 033254 WIND CORRELATION METHOD FLAG TABLE 33254 0 0 20 035000 FM AND REGIONAL CODE NUMBER CODE TABLE 035000 0 0 10 035001 TIME-FRAME FOR MONITORING CODE TABLE 035001 0 0 3 035011 NUMBER OF REPORTS ACTUALLY RECEIVED NUMERIC 0 0 14 035021 BULLETIN BEING MONITORED (TTAAII) CCITTIA5 0 0 48 035022 BULLETIN BEING MONITORED (YYGGGG) CCITTIA5 0 0 48 035023 BULLETIN BEING MONITORED (CCCC) CCITTIA5 0 0 32 035024 BULLETIN BEING MONITORED (BBB) CCITTIA5 0 0 24 035030 DISCREPANCIES IN THE AVAILABILITY OF EXPECTED DATA CODE TABLE 035030 0 0 4 035031 QUALIFIER ON MONITORING RESULTS CODE TABLE 035031 0 0 7 035032 CAUSE OF MISSING DATA CODE TABLE 035032 0 0 4 035033 OBSERVATION AND COLLECTION DEFICIENCIES CODE TABLE 035033 0 0 7 035034 STATISTICAL TRENDS FOR AVAILABILITY OF DATA (DURING THE SURVEY P CODE TABLE 035034 0 0 3 049193 SAR INVERSION QC FLAGS FLAG TABLE 49193 0 0 15 049194 ALTIMETER WAVE HEIGHT QC FLAFS FLAG TABLE 49194 0 0 15 062190 STATISTICS APPLICATION CODE TABLE 62190 0 0 8 062191 TYPE OF STATISTICS CODE TABLE 62191 0 0 8 063190 APPLICATION DERIVING SUBSTITUTE OR ALTERNATIVE VALUE CODE TABLE 63190 0 0 8 emoslib-000392+dfsg.1/bufrtables/D0000000000098014001.TXT0000755000175000017500000026500112127406245022251 0ustar amckinstryamckinstry 300002 2 000002 000003 300003 3 000010 000011 000012 300004 9 300003 000013 000014 000015 000016 000017 000018 000019 000020 300010 4 300003 101000 031001 000030 301001 2 001001 001002 301002 3 001003 001004 001005 301003 3 001011 001012 001013 301004 4 001001 001002 001015 002001 301005 2 001035 001034 301011 3 004001 004002 004003 301012 2 004004 004005 301013 3 004004 004005 004006 301014 3 102002 301011 301012 301021 2 005001 006001 301022 3 005001 006001 007001 301023 2 005002 006002 301024 3 005002 006002 007001 301025 3 301023 004003 301012 301026 7 301021 004003 004003 004004 004004 004005 004005 301027 5 008007 101000 031001 301028 008007 301028 8 008040 033042 007010 101000 031002 301023 019007 008040 301031 5 301001 002001 301011 301012 301022 301032 5 301001 002001 301011 301012 301024 301033 5 001005 002001 301011 301012 301021 301034 5 001005 002001 301011 301012 301023 301035 7 001005 001012 001013 002001 301011 301012 301023 301036 5 301003 002001 301011 301012 301023 301037 6 301001 002011 002012 301011 301012 301022 301038 6 301001 002011 002012 301011 301012 301024 301039 6 301003 002011 002012 301011 301012 301023 301040 6 301003 002011 002012 301011 301012 301024 301041 5 001007 002021 002022 301011 301012 301042 2 301041 301021 301043 5 001007 002023 301011 301013 301021 301044 5 001007 002024 301011 301013 301021 301045 9 301011 301012 201138 202131 004006 201000 202000 304030 304031 301046 10 001007 001012 002048 021119 025060 202124 002026 002027 202000 005040 301047 15 001007 025060 001033 001034 001012 301045 002021 301011 301012 201138 202131 004006 201000 202000 301023 301048 14 002104 002121 002113 002026 002027 002111 002140 202127 001013 202126 007001 202000 025010 021064 301049 5 002111 002112 021062 021063 021065 301051 6 001006 002061 301011 301012 301021 008004 301055 7 001005 002001 301011 301012 301021 001012 001014 301062 3 101000 031001 301001 301065 8 001006 001008 002001 002002 002005 002062 002070 002065 301066 6 301011 301013 301023 007004 002064 008004 301070 3 002143 002142 002144 301071 5 001007 001031 002020 002028 002029 301072 4 301071 301011 301013 301021 301074 4 002143 002142 002145 002146 301075 6 301001 001015 301024 008021 301011 301012 301076 3 002011 002143 002142 301089 2 001101 001102 301090 6 301004 301011 301012 301021 007030 007031 301091 10 002180 002181 002182 002183 002184 002179 002186 002187 002188 002189 301092 9 001011 001003 002001 301011 301012 301021 007030 007031 033024 301093 3 301036 007030 007031 301110 5 301001 001011 002011 002014 002003 301111 6 301001 001011 002011 002013 002014 002003 301112 5 001006 002011 002013 002014 002003 301113 3 008021 301011 301013 301114 5 301021 007030 007031 007007 033024 301120 4 301001 001094 002011 301121 301121 5 008041 301122 301021 007031 007007 301122 7 301011 301012 201135 202130 004006 202000 201000 301123 33 102002 008041 001062 301001 001094 002011 001018 001095 025061 025068 001082 001083 001081 002067 002066 002014 025067 025065 025066 002095 002096 002097 002016 002083 002080 002081 001093 002084 002085 002086 002082 008041 301011 301125 6 001033 001034 025060 001007 002019 001012 301193 5 001007 001031 002196 002221 002222 301194 9 001194 001012 001013 002011 002012 301011 301012 301023 007001 301195 9 001195 001012 001013 002011 002012 301011 301012 301023 007001 301196 7 301003 002011 002012 301011 301012 301023 007001 301197 9 001006 001008 002061 002062 002002 002005 002070 002063 002001 301198 9 001011 001012 001013 002011 002012 301011 301012 301023 007001 301200 2 001032 033194 301201 2 101003 033193 301202 2 001031 001032 301237 12 001007 001012 002021 301011 004004 004005 201138 202131 004006 201000 202000 301023 301238 14 002104 002121 002113 002026 002027 002111 002192 202127 001013 202126 007001 202000 025010 021194 301239 5 002111 002112 021192 021193 021195 301240 5 201131 202129 022021 201000 202000 301241 5 201141 202130 007001 201000 202000 301242 6 021207 021208 021209 021210 021211 021212 301250 4 301193 301011 301013 301021 302001 4 010004 010051 010061 010063 302002 5 010004 007004 010003 010061 010063 302003 9 011011 011012 012004 012006 013003 020001 020003 020004 020005 302004 7 020010 008002 020011 020013 020012 020012 020012 302005 4 008002 020011 020012 020013 302006 4 010004 010051 010062 010063 302011 3 302001 302003 302004 302012 3 302002 302003 302004 302013 5 302006 302003 101000 031001 302005 302021 3 022001 022011 022021 302022 3 022002 022012 022022 302023 3 022003 022013 022023 302024 3 302022 101002 302023 302031 4 302001 010062 007004 010009 302032 4 007032 012101 012103 013003 302033 2 007032 020001 302034 2 007032 013023 302035 8 302032 302033 302034 007032 302004 101000 031001 302005 302036 7 105000 031001 008002 020011 020012 020014 020017 302037 3 020062 013013 012113 302038 4 020003 004024 020004 020005 302039 2 004024 014031 302040 4 007032 102002 004024 013011 302041 7 007032 004024 004024 012111 004024 004024 012112 302042 11 007032 002002 008021 004025 011001 011002 008021 103002 004025 011043 011041 302043 7 302038 101002 302039 302040 302041 302042 007032 302044 3 004024 002004 013033 302045 7 004024 014002 014004 014016 014028 014029 014030 302046 3 004024 004024 012049 302047 3 102003 008002 020054 302048 5 005021 007021 020012 005021 007021 302049 7 008002 020011 020013 020012 020012 020012 008002 302050 31 008041 005021 007005 202130 006021 202000 008041 201131 202129 002115 010004 002115 013003 202000 201000 002115 011001 011002 002115 102002 012101 004024 002115 012103 012102 101003 020012 020011 020013 101002 020003 302051 12 010004 010051 007004 010003 012004 012051 012016 012017 013004 102004 008051 008020 302052 7 007032 007033 012101 002039 012102 012103 013003 302053 3 007032 007033 020001 302054 9 302052 302053 007033 302034 007032 302004 101000 031001 302005 302055 8 020031 020032 020033 020034 020035 020036 020037 020038 302056 4 002038 007063 022043 007063 302057 3 302056 302021 302024 302058 8 007032 007033 004024 004024 012111 004024 004024 012112 302059 12 007032 007033 002002 008021 004025 011001 011002 008021 103002 004025 011043 011041 302060 4 302038 302040 302058 302059 302062 24 302001 302052 302053 007033 101000 031000 302034 007032 101000 031001 302005 008002 101000 031000 302055 101000 031000 302056 101000 031000 302021 101000 031000 302024 302063 8 302038 101000 031000 302040 101000 031000 302058 302059 302066 16 020023 020024 020027 020054 020023 020027 020054 020025 020026 020027 020040 020066 020027 020021 020067 020027 302069 4 007032 007033 033041 020001 302070 8 007032 007033 011001 011002 011043 011041 011016 011017 302071 14 007032 007033 008021 004025 011001 011002 008021 103002 004025 011043 011041 004025 011016 011017 302072 5 007032 007033 012101 012103 013003 302073 7 020010 105004 008002 020011 020012 033041 020013 302074 4 020003 004025 020004 020005 302075 5 008021 004025 013055 013058 008021 302076 7 020021 020022 026020 020023 020024 020025 020026 302077 8 007032 007033 004025 012111 012112 007032 004025 012112 302078 4 002176 020062 002177 013013 302079 5 007032 002175 002178 004025 013011 302080 3 002185 004025 013033 302081 2 004025 014031 302082 7 004025 014002 014004 014016 014028 014029 014030 302083 8 004025 008023 010004 011001 011002 012101 013003 008023 302084 41 302031 302072 103000 031000 101005 307063 007061 101000 031000 302069 007032 007033 105000 031000 020031 020032 002038 022043 302021 101000 031000 302078 012113 101000 031000 302004 105000 031001 008002 020011 020012 033041 020013 302036 101000 031000 302047 008002 101000 031000 302048 302085 63 105000 031000 020003 103002 004024 020004 020005 101000 031000 302175 102000 031000 004025 302076 102000 031000 004025 013059 007032 007033 008021 004025 011001 011002 008021 103003 004025 011043 011041 004025 011016 011017 302077 007033 302041 106000 031000 007032 002175 002178 102005 004024 013011 007032 103000 031000 002185 101002 302044 102000 031000 101002 302039 102000 031000 101002 302045 101000 031000 302046 101000 031000 302083 302089 8 020101 020102 020103 020104 020105 020106 020107 020108 302175 5 008021 004025 013155 013058 008021 302205 5 201131 202129 022021 201000 202000 302206 9 302205 201130 202129 022011 201000 202000 022001 011001 011002 302207 5 022193 022194 022195 022196 022197 302250 5 102000 031001 020193 020194 020012 303001 3 007003 011001 011002 303002 3 007004 011001 011002 303003 4 007004 010003 012001 012003 303004 6 007004 010003 012001 012003 011001 011002 303011 4 007003 008001 011001 011002 303012 4 007004 008001 011001 011002 303013 7 007004 008001 010003 012001 013003 011001 011002 303014 7 007004 008001 010003 012001 012003 011001 011002 303021 4 007004 007004 204007 031021 303022 3 303021 010003 204000 303023 3 303021 012001 204000 303024 3 303021 013016 204000 303025 5 002025 204007 031021 012063 204000 303026 6 007004 008003 204007 031021 012001 204000 303027 5 007004 204007 031021 010003 204000 303031 6 007004 008003 007021 007022 008012 012061 303032 2 020011 020016 303033 2 020010 020016 303040 18 008041 004025 004026 301021 301122 201131 202129 025069 007004 013003 202000 201000 002013 012101 010009 102002 008040 035035 303041 8 002152 002023 007004 011001 011002 002153 002154 012071 303050 7 004086 008042 007004 005015 006015 011001 011002 303051 7 004086 008042 007004 005015 006015 011061 011062 303052 7 004086 008042 007009 005015 006015 011001 011002 303053 7 004086 008042 007009 005015 006015 011061 011062 303054 10 004086 008042 007004 010009 005015 006015 012101 012103 011001 011002 303249 7 002252 104000 031001 002199 007004 007004 013003 303250 8 002252 002023 007004 011001 011002 002197 002198 012193 303251 8 002252 105000 031001 002254 002251 002197 002198 012063 303252 8 002252 105000 031001 002254 002251 002197 002198 012194 304001 5 008003 010004 012001 011001 011002 304002 4 008003 010004 011001 011002 304003 2 008003 012001 304004 4 008003 010004 020010 012001 304005 4 002024 007004 007004 013003 304006 3 014001 014001 014003 304011 27 002163 002164 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002163 007004 012001 304030 3 027031 028031 010031 304031 3 001041 001042 001043 304032 5 002153 002154 020081 020082 020012 304033 8 002152 002166 002167 002153 002154 012075 012076 012063 304034 9 102004 027001 028001 007022 005043 020010 020016 033003 010040 304035 15 002153 002154 012063 008001 012063 008001 012063 008001 008003 012063 008003 012063 008003 012063 008003 304036 12 020082 008012 020082 008012 020081 008003 020081 008003 020081 008003 020081 008003 304228 3 005217 006217 007217 304229 3 001208 001209 001210 304250 27 002231 002232 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002231 007004 012001 305003 5 301012 004065 101000 031001 305001 305006 6 013072 013082 013019 012001 013073 013060 305007 6 301029 301012 004065 101000 031001 305006 305008 2 305006 012030 305009 6 301029 301012 004065 101000 031001 305008 305011 6 301029 301012 004065 101000 031001 305010 305018 8 301029 301012 004065 103000 031001 305008 305016 305017 306001 5 002032 102000 031001 007062 022042 306002 3 002031 022004 022031 306003 4 002002 011011 011012 012004 306004 7 002032 002033 103000 031001 007062 022043 022062 306005 6 002031 103000 031001 007062 022004 022031 306006 3 306003 306002 022063 306007 6 001012 001014 306008 004024 027003 028003 306008 3 002034 002035 002036 306019 8 001075 301011 301012 022042 022120 022121 004015 004065 306020 4 306024 102006 022038 022039 306021 7 001075 301011 301012 022122 022123 012001 303002 306022 5 001075 301011 301012 022038 022039 306023 8 001015 301023 301011 301012 022038 022039 022120 022121 306024 8 001075 301011 301012 022042 022120 022121 004025 004015 306025 4 306019 102006 022038 022039 307001 2 301031 302011 307002 2 301032 302011 307003 4 307001 101000 031001 302005 307004 4 307002 101000 031001 302005 307005 3 307001 101004 302005 307006 3 307002 101004 302005 307007 2 301031 302012 307008 2 301032 302012 307009 2 301031 302013 307011 16 001063 002001 301011 301012 301024 007006 011001 011016 011017 011002 011041 007006 012001 012003 010052 020009 307012 5 103000 031001 008023 005021 020001 307013 8 106000 031001 001064 008014 020061 008014 020061 020018 307014 3 101000 031001 020019 307015 4 101000 031001 302005 020002 307016 3 101000 031001 020020 307017 3 101000 031001 011070 307018 16 008016 102000 031001 008017 301012 104000 031001 007006 011001 011002 011041 020009 101000 031001 020001 307014 307020 3 307011 307014 307016 307021 9 307011 307012 307013 307014 307015 307016 307017 307018 307015 307022 31 001015 301011 301012 301022 008021 004025 010004 012001 013003 033038 008022 106025 002020 001050 005021 007021 015031 015032 008060 015033 015034 008060 015033 015034 015035 201131 202129 013016 202000 201000 015011 307030 2 015001 015002 307031 7 008022 008023 015001 008023 015001 008023 015002 307041 7 301001 001015 301022 301011 301012 301070 307030 307042 9 301001 001015 301022 301011 301012 008021 004025 301070 307031 307043 7 301001 001015 301024 301011 301012 301074 307030 307045 25 001063 008079 002001 301011 301012 301024 007032 011001 011016 011017 008054 011083 011084 011002 008054 011085 011086 011041 008054 007032 012023 012024 007032 010052 020009 307046 5 020060 Metar/speci visibility 102000 031001 005021 020059 307047 9 105000 Metar/speci clouds 031001 008002 020011 020012 020013 020092 020002 020091 307048 25 008016 102000 031001 008017 301012 112000 031000 007032 011001 008054 011083 011084 011002 008054 011085 011086 011041 008054 007032 020009 101000 031000 020060 307014 307047 307049 4 102000 031000 022043 022021 307050 14 101000 031000 020085 102000 031001 001064 020085 105000 031001 001064 020086 020087 020088 020089 307052 12 001063 008039 301011 301012 008079 008039 301011 start of forecast 301012 008039 301011 end of forecast 301012 301024 307053 16 007032 011001 008054 011083 011084 011002 008054 011085 011086 011041 008054 007032 020009 020060 307014 307047 307054 13 007032 008039 004003 004004 008023 012023 008039 004003 004004 008023 012023 008023 007032 307055 9 033045 008016 008039 004003 301012 008039 004003 301012 307053 307056 6 307052 Aerodrome forecast 307053 307054 101000 031001 307055 307059 12 307045 Full METAR/SPECI 307046 307013 307014 307047 307016 307017 307049 307050 101000 031001 307048 Trend forecast 307060 2 007061 012030 307061 3 301031 101005 307060 307062 3 301032 101005 307060 307063 2 007061 012130 307071 67 301090 004074 004023 008023 010004 010051 007004 010009 007032 012101 002051 004051 012118 004052 012119 013004 008023 012151 007032 102005 008050 008020 014032 014033 008050 008020 102018 008052 008022 007032 008053 004003 012152 008053 004003 012153 008053 004003 008023 012101 008053 004003 008023 012101 008023 007032 002002 008053 004003 011046 008053 004003 004004 004023 007032 013060 013051 004053 008050 008020 102006 008052 008022 008053 004003 013052 007032 307072 38 004001 004001 004002 004003 004004 004074 004022 008023 010004 010051 007004 010009 007032 012101 002051 004051 012118 004052 012119 013004 012151 007032 014032 008023 004001 004001 004002 004003 004004 004022 007032 008023 013060 004053 008023 102008 008050 008020 307073 2 307071 307072 307079 30 301090 SYNOP data and marine data from costal stations 302031 302035 302036 101000 031000 302047 008002 101000 031000 302048 302037 102000 031000 022061 020058 101000 031000 302056 101000 031000 302055 302043 302044 101000 031001 302045 101000 031000 302046 307080 13 301090 BUFR template for synoptic reports 302031 302035 302036 302047 008002 302048 302037 302043 302044 101002 302045 302046 307081 24 301090 BUFR template for synoptic reports RA I 302031 302035 302036 302047 008002 302048 302037 012122 013056 013057 020101 020102 020103 020104 020105 020106 020107 020108 302043 302044 101002 302045 302046 307082 15 301090 BUFR template for synoptic reports RA II 302031 302035 302036 302047 008002 302048 302037 012121 012122 302043 302044 101002 302045 302046 307083 14 301090 BUFR template for synoptic reports RA III 302031 302035 302036 302047 008002 302048 302037 012122 302043 302044 101002 302045 302046 307084 17 301090 BUFR template for synoptic reports RA IV 302031 302035 302036 302047 008002 302048 302037 020055 101000 031000 205001 302043 302044 101002 302045 302046 307086 11 301090 BUFR template for synoptic reports RA VI 302031 302035 302036 008002 302037 302066 302043 302044 101002 302045 307090 13 301092 BUFR template for synoptic reports from mobile land stations 302031 302035 302036 302047 008002 302048 302037 302043 302044 101002 302045 302046 307091 66 301089 301090 008010 301091 302001 007004 010009 302072 103000 031000 101005 307063 007061 101000 031000 302069 007032 007033 105000 031000 020031 020032 002038 022043 302021 101000 031000 302078 101000 031000 302073 101000 031000 302074 101000 031000 302075 102000 031000 004025 302076 302071 302077 007033 101000 031000 302079 007032 101000 031000 302080 101000 031000 302081 101000 031000 302082 102000 031000 004025 013059 101000 031000 302083 033005 033006 307092 62 301089 Surface obs drom N-minute period 301090 008010 301091 004015 004065 125000 031001 010004 302070 302072 007032 012101 103000 031000 101005 307063 007061 101000 031000 302069 007032 007033 101000 031000 302073 101000 031000 302076 102000 031000 013055 013058 102000 031000 020031 020032 101000 031000 302078 102000 031000 302079 007032 101000 031000 302080 101000 031000 302081 101000 031000 302083 102000 031000 004025 013059 101000 031000 302083 033005 033006 307093 21 223000 236000 101000 031001 031031 001033 001032 008083 101000 031001 223255 108000 031001 223000 237000 001033 001032 008083 101000 031001 223255 307096 8 301090 301089 008010 301091 302084 302085 033005 033006 308001 3 301033 302011 022042 308002 3 301034 302011 022042 308003 3 301035 302011 022042 308004 3 301036 302011 022042 308005 2 308004 302024 308006 8 010004 010061 010063 011001 011002 012004 013003 022042 308007 4 301055 302011 007062 022042 308008 84 001003 BUOY 001020 001005 002001 002036 002149 301011 301012 008021 301011 301012 008021 301021 027004 028004 007030 001051 002148 001012 001014 002040 033022 033023 033027 022063 302021 302022 302023 008081 025026 008081 025026 008081 025026 008081 002034 022060 007070 002190 025086 002035 002168 020031 002038 306004 002030 306005 007031 008081 012064 302001 008081 007032 007033 012101 012103 013003 007032 007033 008082 007033 002169 002002 008021 004025 011001 011002 008021 004025 011043 011041 008082 007033 007032 004024 013011 007032 008021 004024 014021 008021 025028 025028 025028 308009 7 301093 302001 302054 008002 302055 302057 302060 308010 16 001011 TRACKOB template 113000 031001 301011 301012 301021 004080 022049 004080 022059 004080 022005 002042 022032 002042 004080 308011 27 001011 Climat ship 002001 301011 301012 301023 007030 007031 004074 004023 008023 010051 007032 007033 012101 013004 007032 007033 302056 008023 004003 004004 004023 007032 013060 013051 004053 007032 308012 28 004001 Monthly normals from an ocean weather station 004001 004002 004003 004004 004074 004022 008023 010051 007032 007033 012101 013002 007032 007033 302056 008023 004001 004001 004002 004003 004004 004022 007032 008023 013060 004053 008023 308013 2 308011 308012 309001 4 301037 101000 031001 303011 309002 4 301038 101000 031001 303011 309003 4 301037 101000 031001 303012 309004 4 301038 101000 031001 303012 309005 5 301037 302004 101000 031001 303013 309006 5 301038 302004 101000 031001 303013 309007 5 301037 302004 101000 031001 303014 309008 5 301038 302004 101000 031001 303014 309011 4 301039 101000 031001 303011 309012 4 301039 101000 031001 303012 309013 5 301039 302004 101000 031001 303013 309014 5 301039 302004 101000 031001 303014 309015 4 301040 101000 031001 303011 309016 4 301040 101000 031001 303012 309017 5 301040 302004 101000 031001 303013 309018 5 301040 302004 101000 031001 303014 309019 5 301031 002003 101000 031001 303011 309020 8 301031 002003 104000 031001 007003 011003 011004 011005 309030 8 015004 015005 104000 031001 004015 008006 007004 015003 309031 8 015004 015005 104000 031001 004025 008006 007004 015003 309040 3 301075 301076 309030 309042 4 307042 301075 301076 309030 309050 9 301110 301113 301114 101000 031002 303050 101000 031001 303051 309051 9 301110 301113 301114 101000 031002 303052 101000 031001 303053 309052 11 301111 301113 301114 302049 022043 101000 031002 303054 101000 031001 303051 309053 9 301112 301113 301114 101000 031002 303054 101000 031001 303051 309054 27 301001 001011 301011 301012 301021 007030 007031 007007 004023 004059 115000 031001 008001 008023 007004 010009 012101 012103 008023 011001 011002 008023 011019 008050 008020 008050 008020 309060 4 301123 301121 302050 303040 309061 21 301120 008041 301122 201131 202129 025069 007004 202000 201000 033007 033035 033015 013009 033007 033035 033015 002013 012101 033007 033035 033015 309062 19 301120 008041 301122 005001 033035 033015 006001 033035 033015 007007 033035 033015 011003 033035 033015 011004 033035 033015 033007 309063 19 301120 008041 301122 005001 033035 033015 006001 033035 033015 007007 033035 033015 011003 033035 033015 011004 033035 033015 033007 309064 26 301120 008041 301122 201131 202129 104002 025069 007004 033035 033015 013003 033035 033015 202000 201000 104002 002013 012101 033035 033015 012103 033035 033015 010009 033035 033015 309065 18 301120 008041 301122 005001 033035 033015 006001 033035 033015 007007 033035 033015 011003 033035 033015 011004 033035 033015 309066 18 301120 008041 301122 008040 201131 202129 025069 007004 013003 202000 201000 002013 012101 012103 010009 010007 011002 011001 309194 5 301194 302004 101000 031001 303014 309195 5 301195 302004 101000 031001 303014 309196 5 301196 302004 101000 031001 303014 309198 5 301198 302004 101000 031001 303014 310001 5 301042 303031 303032 101026 303025 310002 5 301042 303031 303032 101009 303023 310003 5 301042 303031 303032 101006 303023 310004 5 301042 303031 303032 101003 303024 310005 6 301042 303031 303033 101000 031001 303025 310006 6 301042 303031 303033 101000 031001 303023 310007 6 301042 303031 303033 101000 031001 303024 310008 8 310011 101019 310012 002150 025079 025080 033032 014045 310009 3 310011 101015 310012 310010 3 310011 101005 310012 310011 45 008070 001033 001034 008070 001033 001034 001007 002048 005040 025075 201133 005041 201000 005043 025070 033030 033031 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 202126 007001 202000 007024 005021 007025 005022 033033 002151 012064 002151 012064 002151 012064 002151 012064 310012 10 002150 025076 025077 025078 033032 201132 202129 012063 202000 201000 310013 62 001007 005040 004001 004002 004003 004004 004005 004006 005001 006001 007025 005043 025085 201131 202129 002150 008023 008072 014027 008072 014027 002150 008023 008072 014027 008072 014027 002150 008023 008072 014027 008072 014027 202000 201000 201132 202129 002150 008023 008072 012063 008072 012063 002150 008023 008072 012063 008072 012063 008023 008072 012063 008072 012063 002150 008023 008072 012063 008072 012063 202000 201000 310014 3 301072 303041 304011 310015 13 301072 007024 010002 303041 101003 304032 002152 002024 007004 007004 013003 101003 304033 310016 13 301072 007024 010002 303041 101012 304032 002152 002024 007004 007004 013003 101012 304033 310019 68 001007 002019 301011 301013 301023 007025 008021 007025 008021 007025 008021 008029 005040 008075 008003 010004 008003 207002 015001 207000 033070 015030 207002 020081 207000 008003 033042 007004 207002 015001 207000 008003 113021 007004 007004 207002 008021 015005 008021 015005 033007 207000 008026 101020 025143 008026 008043 109015 007004 008090 207006 015008 207000 008090 207002 033007 207000 008043 033071 108008 202124 201107 002071 201000 202000 207002 020081 207000 310020 6 310022 301011 301013 301021 304034 310021 310021 10 108000 031001 201131 202129 007004 007004 202000 201000 015020 010002 310022 4 001007 002019 001033 002172 310023 17 301072 030021 030022 008012 007024 007025 010002 101012 304032 105002 002152 002024 007004 007004 013003 101012 304033 310024 17 301072 030021 030022 008012 007024 007025 010002 101003 304032 105002 002152 002024 007004 007004 013003 101003 304033 310025 61 001007 008021 004001 004002 004003 004004 004005 201138 202131 004006 202000 201000 201132 005041 201000 201129 005043 201000 005002 006002 013040 020029 104024 005042 012163 021083 021084 115003 004001 004002 004003 201142 202131 004026 202000 201000 005001 006001 201138 202129 007001 202000 201000 008021 004001 004002 004003 004004 004005 005040 101003 012070 025054 101004 025055 008007 104028 005002 006002 002111 005021 310026 82 310022 025060 008021 301011 301012 201138 202131 004006 202000 201000 033039 033007 304030 304031 002020 001050 202127 304030 202000 304031 201133 202131 004016 202000 201000 301021 304030 010035 005021 010036 113000 031002 301021 005021 108000 031001 002121 007040 015037 008023 201125 015037 201000 008023 033007 108000 031002 007007 015036 008023 201123 015036 201000 008023 033007 116000 031002 007009 010004 012001 013001 008023 201120 010004 201000 201122 012001 201000 201123 013001 201000 008023 033007 008003 007009 010004 008023 201120 010004 201000 008023 033007 310027 12 301071 301011 301013 301021 030021 030022 010002 304036 002152 002167 101011 304035 310029 12 110000 031001 201138 202130 007004 007004 202000 201000 015020 010002 012101 013098 310030 6 310022 301011 301013 301021 304034 310029 310050 14 310051 310052 101000 031002 310053 101004 310054 020010 310052 101015 310053 310052 101005 310053 310051 16 001007 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 007025 005022 102009 002151 012064 310052 12 002019 301011 301012 202131 201138 004006 201000 202000 301021 007024 005021 005043 310053 6 201134 005042 201000 025076 033032 012163 310054 13 201134 005042 201000 025076 033032 201131 202129 102002 008023 014027 008023 202000 201000 310055 8 310051 310052 102020 025076 025052 101000 031002 025050 310060 53 001007 001033 002019 002020 301011 301012 207003 004006 207000 304030 301021 007024 005021 007025 005022 008075 201133 005041 201000 005045 005043 005040 010001 201129 007002 201000 202127 201125 021166 201000 202000 008012 020010 020014 002165 033075 107003 008076 006029 006029 025140 025141 033076 033077 008076 033078 033003 104000 031002 201133 005042 201000 014044 310193 5 301250 303250 302250 303249 303251 310194 5 301250 303250 302250 303249 303252 310195 3 301250 303250 304250 310196 3 301250 303249 303251 310226 39 310022 025060 008021 301011 301012 201138 202131 004006 202000 201000 033039 033007 304030 304031 002020 001050 202127 304030 202000 304031 201133 202131 004016 202000 201000 301021 304030 010035 005021 010036 107000 031002 301021 005021 103000 031001 002121 007040 015037 311001 9 301051 007002 012001 011001 011002 011031 011032 011033 020041 311002 4 301065 301066 311003 311004 311003 5 010070 011001 011002 012001 013002 311004 18 101000 031000 011034 101000 031000 011035 101000 031000 011075 101000 031000 011076 101000 031000 033025 101000 031000 033026 311005 13 001008 001023 301021 301011 301013 007010 008009 011001 011002 011031 011036 012101 033025 311006 6 007010 011001 011002 002064 012101 012103 311007 7 007010 301021 011001 011002 002064 012101 012103 311008 8 001008 301011 301013 301021 008004 101000 031001 311006 311009 8 001008 301011 301013 301021 008004 101000 031001 311007 311193 16 301197 301011 301012 301023 008004 007004 008021 011001 011002 011031 011034 011035 012001 012003 013003 020041 312001 2 301043 304001 312002 2 301043 304002 312003 2 301042 304003 312004 2 301042 304004 312005 2 301042 020014 312006 2 301044 304005 312007 2 301042 304006 312010 6 001007 005040 002021 005041 004001 004043 312011 9 202131 201149 004006 201000 202126 010002 202000 005043 005053 312012 6 202129 201132 101019 012063 201000 202000 312013 6 005042 202129 201135 012063 201000 202000 312014 8 312010 312011 105056 301023 005042 005052 312012 312013 312015 10 109011 301023 005042 005052 202129 201132 101004 012063 202000 201000 312016 3 312010 312011 312015 312017 10 109008 301023 005042 005052 202129 201132 101003 012063 202000 201000 312018 3 312010 312011 312017 312019 13 301047 301048 015015 029002 021076 106012 201129 006030 201000 102012 005030 021075 021066 312020 11 301047 301048 015015 029002 021076 104012 006030 102012 005030 021075 021066 312021 6 301047 101003 301049 011012 011011 021067 312022 15 301047 008022 011012 011050 022070 022026 312041 010050 021068 021071 021072 021073 312042 021062 015011 312023 7 301047 103003 008022 012061 022050 021069 021085 312024 11 312020 008060 008022 008060 008022 025014 022101 022097 022098 022099 022100 312025 11 312019 008060 008022 008060 008022 025014 022101 022097 022098 022099 022100 312026 19 301046 301011 301013 301023 312031 101004 312030 021110 301023 321027 021111 301023 321027 021112 301023 321027 021113 301023 321027 312027 9 301047 105009 301023 007021 012061 007021 012061 021085 021070 312028 26 301046 301011 301013 301023 008025 201136 004006 201000 312031 312032 101004 312030 101002 312033 021110 301023 321028 021111 301023 321028 021112 301023 321028 021113 301023 321028 312030 13 201130 202129 011012 202000 201000 011052 201135 202130 011011 202000 201000 011053 021104 312031 8 005034 006034 021109 011081 011082 021101 021102 021103 312032 4 021120 021121 013055 021122 312033 4 002104 008022 012063 012065 312041 5 201141 202130 007001 201000 202000 312042 6 021077 021078 021079 021080 021081 021082 312045 21 001007 002019 001096 025061 005040 301011 301013 301021 007002 012180 012181 012182 012183 012184 012185 002174 021086 012186 021087 012187 033043 312050 23 001007 002019 001096 025061 005040 301011 301013 301021 007025 005022 010080 027080 008003 007004 013093 008003 201131 202129 007004 007004 202000 201000 013095 312051 48 001007 002019 001096 025061 005040 008075 301011 301013 301021 001012 201131 001013 201000 010032 010033 010034 007002 008012 025110 025111 025102 002104 025103 025104 025105 025106 025107 025108 002111 002121 002026 002027 021130 021131 021132 021133 021064 025014 021134 107018 005030 105024 201130 006030 201000 021135 021136 033044 312052 77 001007 002019 001096 025061 005040 025120 025121 025124 025125 025122 025123 301011 301013 301021 007002 002119 033047 010081 010082 010083 010084 002116 002117 002118 002156 002157 014055 022150 022151 022152 022153 022154 022155 022156 022157 022158 022159 021137 021138 021139 021140 021141 021142 010085 010086 010087 010088 010089 010090 010091 010092 010093 011002 025126 025127 025128 025129 025130 025131 025132 025133 025134 025135 025136 025137 013096 013097 011095 011096 012188 012189 002158 002159 033052 033053 021143 021144 312053 54 001007 002019 001096 025061 005040 008075 301011 301013 301021 001012 201131 001013 201000 010032 010033 010034 007002 008012 025110 025111 025102 002104 025103 025104 025105 025106 025107 025108 011001 011002 022160 025138 201130 202129 022021 202000 201000 033048 033049 002026 002027 021130 021131 021132 021133 025014 106036 005030 104024 201130 006030 201000 022161 033044 312055 5 005033 005040 006034 010095 021157 312056 11 025060 001032 011082 011081 020095 020096 021155 201133 021101 021102 201000 312057 12 201130 202129 011012 202000 201000 201131 202129 011011 202000 201000 021156 021104 312058 8 301125 301011 301013 301021 312055 021150 101003 321030 312059 4 312056 101000 031001 312057 312060 20 025060 025062 040001 040002 021062 021151 021152 021153 021154 021062 021062 040003 040004 040005 040006 040007 020065 040008 040009 040010 312061 3 312058 312060 312059 312070 27 001007 002019 001144 001124 030010 301011 301013 301021 007012 015012 012165 012166 012167 012168 027010 028010 002099 013048 025081 025082 025083 025084 012080 012081 012082 025174 033028 312200 10 301237 301238 029002 021206 104012 006232 102012 005232 021205 021196 312201 6 301237 101003 301239 011012 011011 021197 312202 13 301237 008022 011012 011050 301240 022243 301241 010050 021198 021201 021202 021203 301242 312203 8 301237 008022 012061 022050 021204 021199 021214 021215 312204 12 312201 001031 011012 011011 021200 021213 004004 008021 004024 055003 011012 011011 312207 3 312202 301202 033191 312208 17 301202 008022 008021 301011 301013 301023 302205 011002 001007 002021 301011 301013 301023 001032 001192 302205 011002 312209 11 301202 001192 301011 301013 301023 302206 104000 022192 102000 005232 022191 312210 13 312202 021192 015202 301011 004004 004005 201138 202131 004006 201000 202000 304228 304229 312211 19 301046 301011 301013 301023 312031 101004 312030 021110 101004 312212 021111 101004 312212 021112 101004 312212 021113 101004 312212 312212 2 301023 321027 313009 4 021001 101000 031001 021001 313010 4 021036 101000 031001 021036 313031 5 006002 006012 101000 031002 030001 313032 5 005002 005012 101000 031002 313031 313041 13 006002 110000 031001 104000 031001 006012 101000 031012 030001 006012 101000 031001 030001 313042 5 005002 005012 101000 031002 313041 313043 17 006002 005002 005012 112000 031001 110000 031001 104000 031001 006012 101000 031011 030001 006012 101000 031001 030001 315001 5 001011 301011 301012 301023 306001 315002 5 001011 301011 301012 301023 306004 315003 25 001087 001085 001086 002036 002148 002149 022055 022056 022067 301011 301012 301021 008080 033050 109000 031002 007065 008080 033050 022045 008080 033050 022064 008080 033050 316001 10 301011 004004 301023 001021 002041 019001 010051 019002 019003 019004 316002 15 008021 004001 004002 004003 004004 004005 001033 008021 004001 004002 004003 004004 004005 007002 007002 316003 12 110000 031001 008011 008007 104000 031001 005002 006002 010002 011002 008007 008011 316004 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 011031 008007 008011 316005 10 108000 031001 008005 008007 005002 006002 001026 019001 008007 008005 316006 14 112000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020011 020012 008007 008011 316007 12 110000 031001 008011 008007 104000 031001 005002 006002 019005 019006 008007 008011 316008 13 111000 031001 008001 008007 008023 103000 031001 005002 006002 010002 008023 008007 008001 316009 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020041 008007 008011 316010 9 107000 031001 008011 008007 001022 005002 006002 008007 008011 316011 19 117000 031001 008011 001022 008007 102000 031001 005002 006002 008021 004001 004002 004003 004004 004005 020090 008021 008007 008011 316020 5 001023 001025 001027 301011 301012 316021 23 301023 002041 019001 019007 019005 019006 019008 008005 010004 008005 010004 019007 008005 008021 004075 011040 019007 105004 005021 005021 102002 019003 019004 316022 24 001032 002041 019001 019010 118000 031001 008021 004014 008005 301023 019005 019006 010004 011041 008021 004075 011040 019008 105004 005021 005021 102002 019003 019004 316026 2 316020 316021 316030 10 301014 001037 010064 008019 001062 008019 001065 008019 001062 008019 316031 8 008021 301011 301012 301027 019005 019006 020028 008021 316032 5 008021 301011 301012 301027 008021 316033 7 008021 301011 301012 101000 031001 301027 008021 316034 17 008079 316030 008011 001022 008007 301023 008007 020090 316031 101000 031000 316032 101000 031001 316033 008011 008079 316035 9 008079 316030 008011 020023 020021 020008 316031 008011 008079 316036 13 008079 316030 008011 001027 316031 101000 031000 316032 101000 031001 316033 008011 008079 316037 7 008079 316030 008011 011031 316031 008011 008079 316038 8 008079 316030 008011 020041 020021 316031 008011 008079 316039 7 008079 316030 008011 020024 316031 008011 008079 316040 6 316030 008079 301014 001037 010064 008079 316050 16 301001 301011 301012 002160 008005 005002 006002 008005 019100 019005 019006 019101 019102 019103 019104 019105 316052 29 301005 301011 301012 001007 025150 122000 031001 001027 019150 019106 008005 005002 006002 008005 019107 019005 019006 019108 019109 019110 019111 019112 019113 019114 019115 019116 019117 019118 019119 318001 2 301025 024011 318003 4 301026 024005 024004 024021 318004 6 301025 004023 013011 024005 024004 024022 321001 6 002101 002114 002105 002106 002107 002121 321003 4 021051 021014 021017 021030 321004 5 301031 002003 101000 031001 321003 321005 12 025004 002121 002122 002123 002124 002125 002126 002127 002128 002129 002130 002131 321006 4 025001 025002 025003 025005 321007 8 025009 025010 025011 025012 025013 025015 025016 025017 321008 3 025006 025007 025008 321009 2 025018 025019 321010 13 002101 007002 002102 002103 002104 002105 002106 002107 002108 002109 002110 002132 002133 321011 3 030031 030032 029002 321012 3 101000 031001 002135 321021 15 002003 002101 201130 002106 201000 201132 202130 002121 202000 201000 201133 202129 025001 202000 201000 321022 11 007007 204001 031021 011001 204000 011002 204001 031021 011006 204000 021030 321023 9 007007 021091 021030 202129 021014 201129 021017 202000 201000 321024 7 007007 204001 031021 012007 011006 204000 021030 321025 17 007007 021091 021030 202129 021014 201129 021017 202000 201000 021092 021030 025092 201129 202129 021017 202000 201000 321026 10 007007 204001 031021 012007 025091 011071 011072 011073 011074 204000 321027 18 021118 202129 201132 002112 201000 201131 002111 201000 202000 002104 021105 021106 021107 021114 021115 021116 008018 021117 321028 18 021118 202129 201132 002112 201000 201131 002111 201000 202000 002104 021123 021106 021107 021114 021115 021116 008018 021117 321030 18 008085 202129 201131 002111 201000 202000 002134 021062 021063 021158 021159 021160 021161 021162 021163 021164 021165 021166 340001 45 001007 001031 002019 002020 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 007024 005021 007025 005022 005043 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 033060 033061 033062 033063 033064 033065 101010 340002 101087 340003 002019 025051 101007 340004 340002 3 025140 025141 025142 340003 5 104100 201136 005042 201000 014046 340004 9 005060 005061 025085 105006 005042 025142 014047 025142 014048 340005 94 001007 002019 001096 025061 005044 005040 001030 301011 301012 004007 005001 006001 008029 008074 008077 040011 025097 025095 025098 025099 021144 025096 040012 040013 021169 022151 022162 022163 025160 025133 022156 022164 022165 022166 021137 021138 022167 021139 021118 021145 021146 021147 022168 022169 022170 025161 025162 022171 022172 022173 022174 021170 021171 022175 021172 021118 021173 021174 021175 102003 002153 012063 013090 013091 007002 011097 011098 007002 011095 011096 010096 010081 010082 010083 010101 025132 025163 025126 025128 025164 010085 010097 010086 010087 010092 010088 010089 010098 010099 010090 010100 010093 025127 040014 340007 57 001007 001031 002019 002020 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 007024 005021 007025 005022 005043 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 103003 025140 025141 033060 033061 033062 033063 033064 033065 040020 101010 340002 101087 340003 002019 025051 101007 340004 020081 008029 020083 008029 040018 040019 040021 040022 340008 70 001007 001031 002019 002020 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 007024 005021 007025 005022 005043 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 103003 025140 025141 033060 033061 033062 033063 033064 033065 040020 101010 340002 104000 031002 201136 005042 201000 014046 108003 025140 025141 040015 040016 025062 101000 031002 040017 002019 025051 101007 340004 020081 008029 020083 008029 040018 040019 040021 040022 340009 23 001007 001031 002019 002020 301011 301013 005040 201136 005041 201000 025071 005001 005001 006001 006001 107064 106032 008012 008013 008065 008072 013039 040015 340010 97 001007 002019 001096 025061 005044 005040 001030 301011 301012 004007 301021 008029 008074 008077 040011 025097 025095 025098 025099 021144 025096 040012 040013 021169 040023 040024 040025 022151 022162 022163 025160 025133 022156 022164 022165 022166 021137 021138 022167 021139 021118 021145 021146 021147 022168 022169 022170 025161 025162 022171 022172 022173 022174 021170 021171 022175 021172 021118 021173 021174 021175 102003 002153 012063 013090 013091 007002 011097 011098 007002 011095 011096 010096 010081 010082 010083 010101 025132 025163 025126 025128 025164 010085 010097 010086 010087 010092 010088 010089 010098 010099 010090 010100 010093 025127 040014 010102 emoslib-000392+dfsg.1/bufrtables/C0000000000098014001.TXT0000755000175000017500000103137012127406245022251 0ustar amckinstryamckinstry001003 0008 0000 01 ANTARCTICA 0001 01 REGION I 0002 01 REGION II 0003 01 REGION III 0004 01 REGION IV 0005 01 REGION V 0006 01 REGION VI 0007 01 MISSING VALUE 001007 0132 0001 01 ERS 1 0002 01 ERS 2 0003 01 METOP-1 0004 01 METOP-2 0005 01 METOP-3 0020 01 SPOT1 0021 01 SPOT2 0022 01 SPOT3 0023 01 SPOT4 0040 01 OERSTED 0041 01 CHAMP 0042 01 TERRASAR-X 0050 01 METEOSAT 3 0051 01 METEOSAT 4 0052 01 METEOSAT 5 0053 01 METEOSAT 6 0054 01 METEOSAT 7 0055 01 METEOSAT 8 0056 01 METEOSAT 9 0057 01 METEOSAT 10 0058 01 METEOSAT 1 0059 01 METEOSAT 2 0060 01 ENVISAT 0070 01 METEOSAT 11 0120 01 ADEOS 0121 01 ADEOS II 0150 01 GMS 3 0151 01 GMS 4 0152 01 GMS 5 0171 01 MTSAT-1R 0172 01 MTSAT-2 0200 01 NOAA 8 0201 01 NOAA 9 0202 01 NOAA 10 0203 01 NOAA 11 0204 01 NOAA 12 0205 01 NOAA 14 0206 01 NOAA 15 0207 01 NOAA 16 0208 01 NOAA 17 0209 01 NOAA 18 0220 01 LANDSAT 5 0221 01 LANDSAT 4 0222 01 LANDSAT 7 0240 01 DMSP 7 0241 01 DMSP 8 0242 01 DMSP 9 0243 01 DMSP 10 0244 01 DMSP 11 0245 01 DMSP 12 0246 01 DMSP 13 0247 01 DMSP 14 0248 01 DMSP 15 0249 01 DMSP 16 0250 01 GOES 6 0251 01 GOES 7 0252 01 GOES 8 0253 01 GOES 9 0254 01 GOES 10 0255 01 GOES 11 0256 01 GOES 12 0257 01 GOES 13 0258 01 GOES 14 0259 01 GOES 15 0260 01 JASON-1 0261 01 JASON-2 0281 01 QUIKSCAT 0282 01 TRMM 0283 01 CORIOLIS 0285 01 DMSP17 0310 01 GOMS 1 0311 01 GOMS 2 0320 01 METEOR 2-21 0321 01 METEOR 3-5 0322 01 METEOR 3M-1 0323 01 METEOR 3M-2 0341 01 RESURS 01-4 0430 01 INSAT 1B 0431 01 INSAT 1C 0432 01 INSAT 1D 0450 01 INSAT 2A 0451 01 INSAT 2B 0452 01 INSAT 2E 0470 01 INSAT 3A 0471 01 INSAT 3D 0472 01 INSAT 3E 0500 01 FY-1C 0501 01 FY-1D 0510 01 FY-2 0512 01 FY-2B 0513 01 FY-2C 0514 01 FY-2D 0700 01 TIROS M (ITOS 1) 0701 01 NOAA 1 0702 01 NOAA 2 0703 01 NOAA 3 0704 01 NOAA 4 0705 01 NOAA 5 0706 01 NOAA 6 0707 01 NOAA 7 0708 01 TIROS-N 0710 01 GOES (SMS 1) 0711 01 GOES (SMS 2) 0720 01 TOPEX 0721 01 GFO (GEOSAT FOLLOW ON) 0722 01 GRACE A 0723 01 GRACE B 0731 01 GOES 1 0732 01 GOES 2 0733 01 GOES 3 0734 01 GOES 4 0735 01 GOES 5 0740 01 COSMIC-1 0741 01 COSMIC-2 0742 01 COSMIC-3 0743 01 COSMIC-4 0744 01 COSMIC-5 0745 01 COSMIC-6 0763 01 NIMBUS 3 0764 01 NIMBUS 4 0765 01 NIMBUS 5 0766 01 NIMBUS 6 0767 01 NIMBUS 7 0780 01 ERBS 0781 01 UARS 0782 01 EARTH PROBE 0783 01 TERRA 0784 01 AQUA 0785 01 AURA 0800 01 SUNSAT 0820 01 SAC-C 1023 01 MISSIN VALUE 001031 0218 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001033 0218 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 001035 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 001090 0005 0000 01 LAF (LAGGED-AVERAGE FORECASTING) 0001 01 BREEDING 0002 01 SINGULAR VECTOR 0003 01 MULTIPLE ANALYSIS CYCLE 0255 01 MISSING VALUE 001092 0005 0000 01 UNPERTURBED HIGH-RESOLUTION CONTROL FORECAST 0001 01 UNPERTURBED LOW-RESOLUTION CONTROL FORECAST 0002 01 NEGATIVELY PERTURBED FORECAST 0003 01 POSITIVELY PERTURBED FORECAST 0255 01 MISSING VALUE 002001 0004 0000 01 AUTOMATIC STATION 0001 01 MANNED STATION 0002 01 HYBRID, BOTH MANNED AND AUTOMATIC 0003 01 MISSING VALUE 002002 0004 0000 01 MEASURED IN M S-1 UNLESS OTHERWISE INDICATED 0001 01 CERTIFIED INSTRUMENTS 0002 01 ORIGINALY MEASURED IN KNOTS 0003 01 ORIGINALY MEASURED IN KM/H 002003 0012 0000 01 PRESSURE INSTRUMENT ASSOCIATED WITH WIND-MEASURING EQUIPMENT 0001 01 OPTICAL THEODOLITE 0002 01 RADIO THEODOLITE 0003 01 RADAR 0004 01 VLF-OMEGA 0005 01 LORAN C 0006 01 WIND PROFILER 0007 01 SATELLITE NAVIGATION 0008 01 RADIO-ACOUSTIC SOUNDING SYSTEM (RASS) 0009 01 SODAR 0014 02 PRESSURE INSTRUMENT ASSOCIATED WITH WIND MEASUREMENT EQUIPME NT BUT PRESSURE ELEMENT FAILED DURING ASCENT 0015 01 MISSING VALUE 002004 0011 0000 01 USA OPEN PAN EVAPORIMETER (WITHOUT COVER) 0001 01 USA OPEN PAN EVAPORIMETER (MESH COVERED) 0002 01 GGI-300 EVAPORIMETER (SUNKEN) 0003 01 20 M**2 TANK 0004 01 OTHERS 0005 01 RICE 0006 01 WHEAT 0007 01 MAIZE 0008 01 SORGHUM 0009 01 OTHER CROPS 0015 01 MISSING VALUE 002011 0054 0000 01 RESERVED 0001 01 RESERVED 0002 01 NO RADIOSONDE-PASSIVE TARGET(E.G.REFLECTOR) 0003 01 NO RADIOSONDE-ACTIVE TARGET(E.G.TRANSPONDER) 0004 01 NO RADIOSONDE-PASSIVE TEMPERATURE-HUMIDITY PROFILER 0005 01 NO RADIOSONDE-ACTIVE TEMPERATURE-HUMIDITY PROFILER 0006 01 NO RADIOSONDE-RADIO ACOUSTIC SOUNDER 0009 01 NO RADIOSONDE-SYSTEM UNKNOWN OR NOT SPECIFIED 0010 01 RS VIZ TYPE A (USA) 0011 01 RS VIZ TYPE B (USA) 0012 01 RS SDC (SPACE DATA CORPORATION-USA) 0013 01 ASTOR (NO LONGER MADE-AUSTRALIA) 0014 01 VIZ MARK I MICROSONDE(USA) 0015 01 EEC COMPANY TYPE 23 (USA) 0016 01 ELIN (AUSTRIA) 0017 01 GRAW G. (GERMANY) 0019 01 GRAW M60 (GERMANY) 0020 01 INDIAN MET SERVICE MK3 (INDIA) 0021 01 VIZ/JIN YANG MARK I MICROSONDE(SOUTH KOREA) 0022 01 MEISEI RS2-80 (JAPAN) 0023 01 MESURAL FMO 1950A (FRANCE) 0024 01 MESURAL FMO 19455A (FRANCE) 0025 01 MESURAL MH73A (FRANCE) 0026 01 METEOLABOR BASORA (SWITZERLAND) 0027 01 AVK-MRZ (USSR) 0028 01 METEORIT MARZ2-1 (USSR) 0029 01 METEIRIT MARZ2-2 (USSR) 0030 01 OKI RS2-80 (JAPAN) 0031 01 VIZ/VALCOM TYPE A PRESSURE-COMMUTATED(CANADA) 0032 01 SHANGAI RADIO (CHINA) 0033 01 UK MET OFFICE MK3( UK) 0034 01 VINOHRADY(CZECHOSLOVAKIA) 0035 01 VAISALA RS18 (FINLAND) 0036 01 VAISALA RS21 (FINLAND) 0037 01 VAISALA RS80 (FINLAND) 0038 01 VIZ LOCATE (LORAN-C)(USA) 0039 01 SPRENGER E076 (GERMANY) 0040 01 SPRENGER E084 (GERMANY) 0041 01 SPRENGER E085 (GERMANY) 0042 01 SPRENGER E086 (GERMANY) 0043 01 AIR IS -4A-1680 (UK) 0044 01 AIR IS -4A-1680 X (UK) 0045 01 RS MSS(USA) 0046 01 AIR IS -4A-403(USA) 0047 01 MEISLEI RS2-91(JAPAN) 0048 01 VALCOM(CANADA) 0049 01 VIZ MARK II(USA) 0060 01 VAISALA RS80/MICROCORA (FINLAND) 0061 01 VAISALA RS80/DIGCORA OR MARWIN (FINLAND) 0062 01 VAISALA RS80/PCCORA (FINLAND) 0063 01 VAISALA RS80/STAR (FINLAND) 0064 03 ORBITAL,SCIENCE CORPORATION,SPACE DATA DIVISION,TRANSPONDER RADIOSONDE,TYPE 909-11-XX,WHERE XX CORRECPOND TO THE MODEL OF THE INSTRUMENT 0065 01 VIZ TRANSPONDER RADIOSONDE,MODEL NUMBER 1499-520(USA) 0255 01 MISSING VALUE 002012 0001 0000 01 TO BE DEVELOPED 002013 0009 0000 01 NO CORRECTION 0001 01 CIMO SOLAR CORRECTED AND CIMO INFRARED CORRECTED 0002 01 CIMO SOLAR CORRECTED AND IFRARED CORRECTED 0003 01 CIMO SOLAR CORRECTED ONLY 0004 02 SOLAR AND INFRARED CORRECTED AUTOMATICALLY BY RADIOSONDE SY STEM 0005 01 SOLAR CORRECTED AUTOMATICALLY BY RADIOSONDE SYSTEM 0006 01 SOLAR AND INFRARED CORRECTED AS SPECIFIED BY COUNTRY 0007 01 SOLAR CORRECTED AS SPECIFIED BY COUNTRY 0015 01 MISSING VALUE 002014 0050 0000 01 NO WINDFINDING 0001 01 AUTOMATIC WITH AUXILIARY OPTICAL DIRECTION FINDING 0002 01 AUTOMATIC WITH AUXILIARY RADIO DIRECTION FINDING 0003 01 AUTOMATIC WITH AUXILIARY RANGING 0004 01 NOT USED 0005 01 AUTOMATIC WITH MULTIPLE VLF-OMEGA SIGNALS 0006 01 AUTOMATIC CROSS CHAIN LORAN-C 0007 01 AUTOMATIC WITH AUXILIARY WIND PROFILER 0008 01 AUTOMATIC SATELLITE NAVIGATION 0019 01 TRACKING TECHNIQUE NOT SPECIFIED 0020 01 VESSEL STOPPED 0021 01 VESSEL DIVERTED FROM ORIGINAL DESTINATION 0022 01 VESSEL'S ARRIVAL DELAYED 0023 01 CONTAINER DAMAGED 0024 01 POWER FAILURE TO CONTAINER 0029 01 OTHER PROBLEMS 0030 01 MAJOR POWER PROBLEMS 0031 01 UPS INOPERATIVE 0032 01 RECEIVER HARDWARE PROBLEMS 0033 01 RECEIVER SOFTWARE PROBLEMS 0034 01 PROCESSOR HARDWARE PROBLEMS 0035 01 PROCESSOR SOFTWARE PROBLEMS 0036 01 NAVAID SYSTEM DAMAGED 0037 01 SHORTAGE OF LIFTING GAS 0039 01 OTHER PROBLEMS 0040 01 MECHANICAL DEFECT 0041 01 MATERIAL DEFECT (HAND LAUNCHER) 0042 01 POWER FAILURE 0043 01 CONTROL FAILURE 0044 01 PNEUMATIC/HYDRAULIC FAILURE 0045 01 OTHER PROBLEMS 0046 01 COMPRESSOR PROBLEMS 0047 01 BALLOON PROBLEMS 0048 01 BALLOON RELEASE PROBLEMS 0049 01 LAUNCHER DAMAGED 0050 01 R/S RECEIVER ANTENNA DEFECT 0051 01 NAVAID ANTENNA DEFECT 0052 01 R/S RECEIVER CABLING (ANTENNA DEFECT) 0053 01 NAVAID ANTENNA CABLING DEFECT 0059 01 OTHER PROBLEMS 0060 01 ASAP COMMUNICATIONS DEFECT 0061 01 COMMUNICATIONS FACILITY REJECTED DATA 0062 01 NO POWER AT TRANSMITTINGANTENN 0063 01 ANTENNA CABLE BROKEN 0064 01 ANTENNA CABLE DEFECT 0065 01 MESSAGE TRANSMITTED POWER BELOW NORMAL 0069 01 OTHER PROBLEMS 0070 01 ALL SYSTEMS IN NORMAL OPERATION 0099 01 STATUS OF SYSTEM AND ITS COMPONENTS NOT SPECIFIED 0127 01 MISSING VALUE 002015 0006 0001 01 PRESSURE ONLY RADIOSONDE 0002 01 PRESSURE ONLY RADIOSONDE PLUS TRANSPONDER 0003 01 PRESSURE ONLY RADIOSONDE PLUS RADAR REFLECTOR 0004 01 NO PRESSURE RADIOSONDE PLUS TRANSPONDER 0005 01 NO PRESSURE RADIOSONDE PLUS RADAR REFLECTOR 0015 01 MISSING VALUE 002016 0004 0001 01 TRAIN REGULATOR 0002 01 LIGHT UNIT 0003 01 PARACHUTE 0004 01 ROOFTOP RELEASE 002019 0296 0010 02 BNSC RADIOMETER AATSR ADVANCED ALONG TRACK SCANNIN G RADIOMETER 0011 02 BNSC RADIOMETER ATSR ALONG TRACK SCANNING RADIOME TER 0012 02 BNSC RADIOMETER ATSR-2 ALONG TRACK SCANNING RADIOME TER -2 0013 01 BNSC RADIOMETER MWR MICROWAVE RADIOMETER 0030 01 CNES COMMUNICATIONS ARGOS 0040 01 CNES LIDAR LASER REFLECTORS 0041 02 CNES LIDAR DORIS DOPPLER ORBITOGRAPHY AND RADIO-POSIT IONING INTEGRATED BY SATELLITE 0042 02 CNES LIDAR DORIS-NG DOPPLER ORBITOGRAPHY AND RAD IO-POSITIONING INTEGRATED BY SATELLITE-NG 0047 03 CNES RADAR ALTIMETERS POSEIDON-1 (SSALT-1) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (S INGLE FREQUENCY SOLID STATE RADAR ALTIMETER) 0048 03 CNES RADAR ALTIMETERS POSEIDON-2 (SSALT-2) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (D UAL FREQUENCY SOLID STATE RADAR ALTIMETER) 0050 01 CNES IMAGER RADIOMETER ATSR/M ATSR/M 0051 01 CNES HIGH RESOLUTION OPTICAL IMAGERS HRG 0052 01 CNES RADIOMETER HRV HIGH RESOLUTION VISIBLE 0053 02 CNES RADIOMETER HRVIR HIGH RESOLUTION VISIBLE AND INFRA-RED 0054 02 CNES RADIOMETER SCARAB/MV2 SCANNER FOR EARTH'S RADIATION BUDGET 0055 01 CNES RADIOMETER POLDER POLDER 0060 01 CNES SPECTROMETER VEGETATION VEGETATION 0061 01 CNES SPECTROMETER WINDII WINDII 0080 01 CSA COMMUNICATIONS RADARSAT DTT 0081 01 CSA COMMUNICATIONS RADARSAT TTC 0085 02 CSA RADAR SAR (CSA) SYNTHETIC APERTURE RADAR (CS A) 0090 02 CSA RADIOMETER MOPITT MEASUREMENTS OF POLLUTION IN THE TROPOSPHERE 0091 02 CSA CHEMISTRY INSTRUMENTS OSIRIS OPTICAL SPECTROGRAPH AND INFRA-RED IMAGING SYSTEM 0097 01 CSIRO RADIOMETER PANCHROMATIC IMAGER 0098 02 CRCSS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPS RECEIVER 0102 02 DLR RADIOMETER CHAMP GPS SOUNDER GPS TURBORO GUE SPACE RECEIVER (TRSR) 0103 01 UNKNOWN 0116 03 DLR MAGNETOMETER IGOR CHAMP GRAVITY PACKAGE (ACCELEROMETE R+GPS) INTEGRATED GPS AND OCCULTATION RECEIVER STAR AC CELEROMETER 0117 03 DLR MAGNETOMETER CHAMP MAGNETOMETRY PACKAGE (1 SCALAR +2 VECTOR MAGNETOMETER) OVERHAUSER MAGNETOMETER (OVM) AN D FLUXGATE MAGNETOMETER (FGM) 0120 02 ESA COMMUNICATIONS ENVISAT COMMS COMMUNICATIONS PACKA GE ON ENVISAT 0121 02 ESA COMMUNICATIONS ERS COMMS COMMUNICATION PACKAG E FOR ERS 0130 01 ESA LIDARS ALADIN ATMOSPHERIC LASER DOPPLER INSTRUMENT 0131 01 ESA LIDARS ATLID ATMOSPHERIC LIDAR 0140 02 ESA RADAR AMI/SAR/IMAGE ACTIVE MICROWAVE INSTRUMENTA TION. IMAGE MODE 0141 02 ESA RADAR AMI/SAR/WAVE ACTIVE MICROWAVE INSTRUMENTA TION. WAVE MODE 0142 02 ESA RADAR AMI/SCATTEROMETER ACTIVE MICROWAVE INS TRUMENTATION. WIND MODE 0143 01 ESA RADAR ASAR ASAR 0144 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (IMAGE MODE) 0145 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (WAVE MODE) 0146 01 ESA CLOUD PROFILE AND RAIN RADARS CPR CLOUD RADAR 0147 01 ESA RADAR RA-2/MWR RADAR ALTIMETER - 2 0148 01 ESA RADAR RA/MWR RADAR ALTIMETER 0150 01 ESA SCATTEROMETERS SCATTEROMETER SCATTEROMETER 0161 02 ESA RADIOMETER MIPAS MICHELSON INTERFEROMETRIC PA SSIVE ATMOSPHERE SOUNDER 0162 02 ESA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E MWR-2 MICROWAVE RADIOMETER-2 0163 03 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS SOPRANO SUB- MILIMETRE OBSERVATION OF PROCESSES IN THE ABSORPTION NOTEWOR THY FOR OZONE 0170 02 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS GOME I GLOB AL OZONE MONITORING EXPERIMENT 0172 02 ESA SPECTROMETER GOMOS GLOBAL OZONE MONITORING BY O CCULTATION OF STARS 0174 02 ESA SPECTROMETER MERIS MEDIUM RESOLUTION IMAGING SP ECTROMETER 0175 02 ESA SPECTROMETER SCIAMACHY SCANNING IMAGING ABS ORPTION SPECTROMETER FOR ATMOSPHERIC CARTOGRAPHY 0181 02 EUMETSAT COMMUNICATIONS METEOSAT COMMS COMMUNICATIO NS PACKAGE FOR METEOSAT 0182 02 EUMETSAT COMMUNICATIONS MSG COMMS COMMUNICATIO NS PACKAGE FOR MSG 0190 02 ESA/ EUMETSAT SCATTEROMETERS ASCAT ADVANCED SCATTE ROMETER 0200 02 EUMETSAT RADIOMETER GERB GEOSTATIONARY EARTH RADIATION BUDGET 0202 02 ESA/ EUMETSAT RADIOMETER GRAS GNSS RECEIVER F OR ATMOSPHERIC SOUNDING 0203 02 EUMETSAT RADIOMETER MHS MICROWAVE HUMIDITY S OUNDER 0205 02 EUMETSAT RADIOMETER MVIRI METEOSAT VISIBLE AND INFRA-RED IMAGER 0207 02 EUMETSAT RADIOMETER SEVIRI SPINNING ENHANCED VI SIBLE AND INFRARED IMAGER 0208 02 EUMETSAT IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRI VIRI 0220 02 ESA/ EUMETSAT SPECTROMETER GOME-2 GLOBAL OZONE MO NITORING EXPERIMENT - 2 0221 03 CNES/ EUMETSAT ATMOSPHERIC TEMPERATURE AND HUMIDITY S OUNDERS IASI INFRA-RED ATMOSPHERIC SOUNDING INTERFEROME TER 0240 02 CAST COMMUNICATIONS DCP DATA COLLECTION PLATFORM TRA NSPONDER 0245 01 CAST RADIOMETER CCD HIGH RESOLUTION CCD CAMERA 0246 02 INPE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS HSB HUMIDITY SOUNDER/BRAZIL 0248 02 INPE IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) OBA OBSERVADOR BRASILEIRO DA AMAZONIA 0250 01 CAST RADIOMETER WFI WIDE FIELD IMAGER 0255 02 CAST SPECTROMETER IRMSS INFRA RED MULTI SPECTRAL SCA NNER 0260 01 ISRO PRECISION ORBIT BSS & FSS TRANSPONDERS 0261 01 ISRO PRECISION ORBIT DRT-S&R 0262 02 ISRO COMMUNICATIONS INSAT COMMS COMMUNICATIONS PACKA GE FOR INSAT 0268 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS HR-PAN HIGH RESOLUT ION PANCHROMATIC CAMERA 0269 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MSMR MULTIFREQUENCY SCANNING MICROWAVE RADIOMETER 0270 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VHRR VERY HIGH RESOLUTION RADIOMETER 0271 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WIFS WIDE FIELD SENSOR 0275 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS AWIFS ADVANCED WID E FIELD SENSOR 0276 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-I LINEAR IMAGI NG SELF SCANNER - I 0277 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-II LINEAR IMAGI NG SELF SCANNER - II 0278 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-III LINE AR IMAGING SELF SCANNER - III 0279 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-IV LINEAR IMAGI NG SELF SCANNER - IV 0284 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS PAN PANCHROMATIC SENSOR 0285 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MOS MODULAR OPTO-ELECTRONIC SCANNER 0286 02 ISRO OCEAN COLOUR INSTRUMENTS OCM OCEAN COLOUR MONITOR 0290 02 JMA COMMUNICATIONS MTSAT COMMS COMMUNICATIONS PACKA GE FOR MTSAT 0294 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT -1R IMAGER/MTSAT 0295 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT IMAGER/MTSAT 0296 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS VISSR (GMS4) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS4) 0300 01 NASA LIDARS GLAS GEOSCIENCE LASER ALTIMETER SYSTEM 0301 01 NASA PRECISION ORBIT LRA LASER RETROREFLECTOR ARRAY 0302 01 NASA LIDARS MBLA MULTI BEAM LASER ALTIMETER 0309 02 NASA CLOUD PROFILE AND RAIN RADARS CPR (CLOUDSAT) CLOU D PROFILING RADAR 0312 01 NASA RADAR NSCAT NASA SCATTEROMETER 0313 01 NASA RADAR SEAWINDS ADEOS II - NASA SCATTEROMETER 0330 02 NASA EARTH RADIATION BUDGET RADIOMETER ACRIM ACTI VE CAVITY RADIOMETER IRRADIANCE MONITOR 0334 02 NASA TOTAL AND PROFILE OZONE BUV BACKSCATTER ULTRAVIO LET INSTRUMENT 0336 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ALI ADVANCED LAN D IMAGER 0347 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ASTER ADVANCED SPA CEBORNE THERMAL EMISSION AND REFLECTION RADIOMETER 0348 02 NASA EARTH RADIATION BUDGET RADIOMETER CERES-2 CLOU D AND THE EARTH'S RADIANT ENERGY SYSTEM 0351 02 CONAE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPSD R GPS DEMONSTRATION RECEIVER 0353 02 NASA TOTAL AND PROFILE OZONE HIRDLS HIGH RESOLUTION DYNA MICS LIMB SOUNDER 0354 02 NASA TOTAL AND PROFILE OZONE HRDI HIGH RESOLUTION DOPP LER IMAGER 0356 01 NASA RADIOMETER LIS LIGHTNING IMAGING SENSOR 0358 02 NASA MAGNETIC FIELD, AUROAL IMAGERYSCINTILLATION BOUNDARY PEM PARTICLE ENVIRONMENT MONITOR 0359 02 NASA OCEAN COLOUR INSTRUMENTS SEAWIFS SEA-VIEWING WIDE FIELD-OF-VIEW SENSOR 0360 02 NASA EARTH RADIATION BUDGET RADIOMETER SUSIM (UARS) SOLAR ULTRAVIOLET IRRADIANCE MONITOR 0363 02 NASA TOTAL AND PROFILE OZONE SBUV/1 SOLAR BACKSCATTER UL TRAVIOLET 1 INSTRUMENT 0365 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) TMI TRMM MICROWAVE IMAGER 0366 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) JMR JASON-1 MICROWAVE RADIOMETER 0369 02 NASA TOTAL AND PROFILE OZONE LIMS LIMB INFRARED MONITO R OF THE STRATOSPHERE 0370 02 NASA TOTAL AND PROFILE OZONE LRIR LIMB RADIANCE INVERS ION RADIOMETER INSTRUMENT 0371 02 NASA TOTAL AND PROFILE OZONE EPIC EARTH POLYCHROMATIC IMAGING CAMERA 0372 02 NASA EARTH RADIATION BUDGET RADIOMETER NISTAR NIST ADVANCED RADIOMETER 0373 02 NASA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y PLASMA-MAG 0374 01 NASA OTHER XPS XUV PHOTOMETER SYSTEM 0375 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRS VISIBLE INFRA-RED SCANNER 0376 03 CNES MULTIPLE DIRECTION/POLARISATION RADIOMETERS POLD ER II POLARIZATION AND DIRECTIONALITY OF THE EARTH'S R EFLECTANCE - II 0377 02 NASA EARTH RADIATION BUDGET RADIOMETER TIM TOTA L IRRADIANCE MONITOR 0379 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WFC WIDE FIELD CAMERA 0382 02 NASA SPECTRO-RADIOMETER CLAES CRYOGENIC LIMB ARRAY ETALON SPECTROMETER 0383 02 NASA SPECTRO-RADIOMETER HALOE HALOGEN OCCULTATION EXPERIMENT 0384 02 NASA SPECTRO-RADIOMETER ISAMS IMPROVED STRATOSPHER IC AND MESOSPHERIC SOUNDER 0385 02 NASA SPECTRO-RADIOMETER MISR MULTI-ANGLE IMAGING SPECTRORADIOMETER 0386 01 NASA SPECTRO-RADIOMETER MLS MICROWAVE LIMB SOUNDER 0387 02 NASA SPECTRO-RADIOMETER MLS (EOS-AURA) MICROWAVE LIMB SOUNDER (EOS-AURA) 0389 02 NASA SPECTRO-RADIOMETER MODIS MODERATE-RESOLUTION IMAGING SPECTRORADIOMETER 0393 02 NASA GRAVITY HAIRS HIGH ACCURACY INTER-SATELLITE RANGIN G SYSTEM 0394 02 NASA TOTAL AND PROFILE OZONE OMI OZONE MEASURING INST RUMENT 0395 02 NASA RADIOMETER ATMOSPHERIC CORRECTOR ATMOSPHERIC CORRECTOR 0396 01 NASA RADIOMETER HYPERION HYPERSPECTRAL IMAGER 0399 02 NASA SPECTRO-RADIOMETER SAGE I STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-I 0400 02 NASA SPECTRO-RADIOMETER SAGE II STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-II 0401 02 NASA SPECTRO-RADIOMETER SAGE III STRATOSPHERI C AEROSOL AND GAS EXPERIMENT-III 0402 02 NASA SPECTRO-RADIOMETER SAMS STRATOSPHERIC AND ME SOSPHERIC SOUNDER 0403 02 NASA SPECTRO-RADIOMETER SAM II STRATOSPHERIC AEROSO L MEASUREMENT II 0404 02 NASA SPECTRO-RADIOMETER IRIS INFRARED INTERFEROME TER SPECTROMETER 0405 02 NASA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GIFT S GEOSYNCHRONOUS IMAGING FOURIER TRANSFORM SPECTROMETER 0420 01 NASA SPECTROMETER AIRS ATMOSPHERIC INFRA-RED SOUNDER 0426 02 NASA SPECTROMETER SOLSTICE SOLAR STELLAR IRRADI ANCE COMPARISON EXPERIMENT 0430 02 NASA SPECTROMETER TES TROPOSHPERIC EMISSION SPECTR OMETER 0431 02 NASA SPECTROMETER TOMS TOTAL OZONE MAPPING SPECTROM ETER 0450 02 JAXA COMMUNICATIONS ADEOS COMMS COMMUNICATIONS PACKA GE FOR ADEOS 0451 02 JAXA COMMUNICATIONS DCS (JAXA) DATA COLLECTION SYST EM (JAXA) 0453 02 JAXA COMMUNICATIONS GMS COMMS COMMUNICATIONS PACKA GE ON GMS 0454 02 JAXA COMMUNICATIONS JERS-1 COMMS COMMUNICATIONS PACKA GE FOR JERS-1 0460 01 JAXA LIDAR RIS RETROREFLECTOR IN SPACE 0461 01 JAXA RADAR PR PRECIPITATION RADAR 0462 02 JAXA IMAGING MICROWAVE RADARS SAR SYNTETIC APE RTURE RADAR 0470 02 JAXA IMAGING MICROWAVE RADARS PALSAR PHASED ARRAY TYPE L-BAND SYNTHETIC APERTURE RADAR 0479 02 JAXA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) AMSR-E ADVANCED MICROWAVE SCANNING RADIOMETER-EOS 0480 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS PRISM (ALOS) PANC HROMATIC REMOTE-SENSING INSTRUMENT FOR STEREO MAPPING 0481 02 JAXA RADIOMETER AMSR ADVANCED MICROWAVE SCANNING RADIOMETER 0482 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR ADVANCED VIS IBLE AND NEAR INFRARED RADIOMETER 0483 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR-2 ADVANCED VIS IBLE AND NEAR INFRA-RED RADIOMETER TYPE 2 0484 01 JAXA IMAGER GLI GLOBAL IMAGER 0485 02 JAXA RADIOMETER MESSR MULTISPECTRAL ELECTRONIC SEL F SCANNING RADIOMETER 0486 01 JAXA RADIOMETER MSR MICROWAVE SCANNING RADIOMETER 0487 02 JAXA RADIOMETER OCTS OCEAN COLOR AND TEMPERATURE S CANNER 0488 01 JAXA RADIOMETER OPS OPTICAL SENSOR 0489 02 JAXA SPECTRO-RADIOMETER VISSR (GMS5) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS5) 0490 02 JAXA RADIOMETER VTIR VISIBLE AND THERMAL INFRA-RE D RADIOMETER 0510 02 JAXA SPECTROMETER ILAS-I IMOROVED LIMB ATOMOSPHIRIC S PECTROMETER 0511 02 JAXA SPECTROMETER ILAS-II IMPROVED LIMB ATOMOSPHIRIC S PECTROMETER 0512 02 JAXA SPECTROMETER IMG INFEROMETRIC MONITOR OF GREE NHOUSE GASES 0514 02 JAXA SPACE ENVIRONMENT SEM SPACE ENVIRONMENT MO NITOR (JAXA) 0515 02 JAXA TOTAL AND PROFILE OZONE SOFIS SOLAR OCCULTATION FO URIER TRANSFORM SPECTROMETER FOR INCLINED ORBIT SATELLITE 0540 02 NOAA COMMUNICATIONS DCS (NOAA) DATA COLLECTION SYST EM (NOAA) 0541 02 NOAA COMMUNICATIONS GOES COMMS COMMUNICATIONS PACKA GE ON GOES 0542 02 NOAA COMMUNICATIONS LANDSAT COMMS COMMUNICATIONS PACKA GE FOR LANDSAT 0543 02 NOAA COMMUNICATIONS NOAA COMMS COMMUNICATIONS PACKA GE FOR NOAA 0544 01 NOAA COMMUNICATIONS S&R (GOES) SEARCH AND RESCUE 0545 01 NOAA COMMUNICATIONS S&R (NOAA) SEARCH AND RESCUE 0546 01 NOAA COMMUNICATIONS WEFAX WEATHER FACSIMILE 0547 02 NOAA SPECTROMETER SEM(GOES) SPACE ENVIRONMENT MO NITOR 0550 01 NOAA MAGNETIC FIELD SSM SPECIAL SENSOR MAGNETOMETER 0551 02 NOAA MAGNETIC FIELD SSJ/4 SPECIAL SENSOR PRECIPITATING PLASMA MONITOR 0552 02 NOAA SPACE ENVIRONMENT SSIES-2 SPECIAL SENSOR IONOS PHERIC PLASMA DRIFT/SCINTILLATION METER 0553 02 NOAA SPACE ENVIRONMENT SSB/X-2 SPECIAL SENSOR GAMMA RAY PARTICLE DECTECTOR 0570 02 NOAA RADIOMETER AMSU-A ADVANCED MICROWAVE SOUNDING UNIT-A 0574 02 NOAA RADIOMETER AMSU-B ADVANCED MICROWAVE SOUNDING UNIT-B 0580 02 NOAA RADIOMETER ATOVS (HIRS/3 + AMSU + AVHRR/3) ADVA NCED TIROS OPERATIONAL VERTICAL SOUNDER 0590 02 NOAA RADIOMETER AVHRR/2 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/2 0591 02 NOAA RADIOMETER AVHRR/3 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/3 0592 02 NOAA RADIOMETER AVHRR/4 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/4 0600 02 NOAA RADIOMETER ERBE EARTH'S RADIATION BUDGET EXP ERIMENT 0601 01 NOAA RADIOMETER ETM+ ENHANCED THEMATIC MAPPER 0605 02 NOAA RADIOMETER HIRS/2 HIGH RESOLUTION INFRA-RED SO UNDER/2 0606 02 NOAA RADIOMETER HIRS/3 HIGH RESOLUTION INFRA-RED SO UNDER/3 0607 02 NOAA RADIOMETER HIRS/4 HIGH RESOLUTION INFRA-RED SO UNDER/4 0615 01 NOAA RADIOMETER IMAGER IMAGER 0616 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIIR S VISIBLE/INFRARED IMAGER RADIOMETER SUITE 0620 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS CRIR S/NP CROSS TRACK INFRA-RED SOUNDER/NPOESS 0621 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS ATMS ADVANCED TECHNOLOGY MICROWAVE SOUNDER 0622 01 NOAA RADIOMETER MSS MULTISPECTRAL SCANNING SYSTEM 0623 01 NOAA RADIOMETER MSU MICROWAVE SOUNDING UNIT 0624 02 NOAA RADIOMETER SBUV/2 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/2 0625 02 NOAA RADIOMETER SBUV/3 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/3 0626 01 NOAA RADIOMETER SOUNDER SOUNDER 0627 01 NOAA RADIOMETER SSU STRATOSPHERIC SOUNDING UNIT 0628 01 NOAA RADIOMETER TM THEMATIC MAPPER 0629 02 NOAA RADIOMETER TOVS (HIRS/2 + MSU + SSU) TIRO S OPERATIONAL VERTICAL SOUNDER 0630 01 NOAA RADIOMETER VAS VISSR ATMOSPHERIC SOUNDER 0631 01 NOAA RADIOMETER SSZ 0645 01 NOAA SPECTROMETER SEM SPACE ENVIRONMENT MONITOR 0650 02 NRSCC RADIOMETER MVIRSR (10 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0651 02 NRSCC RADIOMETER MVIRSR (3 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0652 02 NRSCC RADIOMETER MVIRSR (5 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0670 01 NSAU RADAR RLSBO SIDE LOOKING MICROWAVE RADAR 0680 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS MSU-EU MULTI-SPECTR AL RADIOMETER WITH HIGH RESOLUTION 0681 02 NSAU IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MSU- UM VISIBLE MULTI-SPECTRAL RADIOMETER 0682 01 NSAU RADIOMETER RM-08 IMAGING MICROWAVE RADIOMETER 0683 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-UMS STEREO RADIO METER WITH HIGH RESOLUTION 0684 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-VR VISIBLE RADI OMETER WITH HIGH RESOLUTION 0685 01 NSAU RADIOMETER TRASSER 0700 02 ROSCOSMOS COMMUNICATIONS KONDOR-2 DATA COLLECT ION AND TRANSMISSION SYSTEM 0701 01 ROSCOSMOS COMMUNICATIONS BRK 0710 01 ROSCOSMOS LIDAR ALISSA BACKSCATTER LIDAR 0712 01 ROSCOSMOS LIDAR BALKAN-2 LIDAR 0715 01 ROSCOSMOS LIDAR MK-4 0716 01 ROSCOSMOS LIDAR MK-4M 0730 01 ROSCOSMOS RADAR GREBEN RADAR ALTIMETER 0731 01 ROSCOSMOS RADAR SAR-10 SYNTETIC APERTURE RADAR 0732 01 ROSCOSMOS RADAR SAR-3 SYNTETIC APERTURE RADAR 0733 01 ROSCOSMOS RADAR SAR-70 SYNTETIC APERTURE RADAR 0740 01 ROSCOSMOS RADAR SLR-3 SIDE LOOKING RADAR 0745 01 ROSCOSMOS RADAR TRAVERS SAR 0750 02 ROSCOSMOS RADIOMETER 174-K TEMPERATURE AND HUMI DITY PROFILER 0751 02 ROSCOSMOS RADIOMETER BTVK SCANNING TELEVISION RADIOMETER 0752 02 ROSCOSMOS RADIOMETER CHAIKA SCANNING IR RADIOMET ER 0753 02 ROSCOSMOS RADIOMETER DELTA-2 MULTISPECTRAL MICROW AVE SCANNER 0755 02 ROSCOSMOS RADIOMETER IKAR-D MULTISPECTRAL MICROW AVE SCANNER 0756 02 ROSCOSMOS RADIOMETER IKAR-N MULTISPECTRAL MICROW AVE SCANNER 0757 02 ROSCOSMOS RADIOMETER IKAR-P MULTISPECTRAL MICROW AVE SCANNER 0760 01 ROSCOSMOS RADIOMETER ISP 0761 02 ROSCOSMOS RADIOMETER KFA-1000 PHOTOGRAPHIC CAMERA 0762 01 ROSCOSMOS RADIOMETER KFA-200 PHOTOGRAPHIC CAMERA 0763 02 ROSCOSMOS RADIOMETER KFA-3000 PHOTOGRAPHIC CAMERA 0770 01 ROSCOSMOS RADIOMETER KLIMAT SCANNING IR RADIOMETER 0771 02 ROSCOSMOS RADIOMETER KLIMAT-2 SCANNING IR RADIOMETER 0775 01 ROSCOSMOS RADIOMETER MIRAS 0776 01 ROSCOSMOS RADIOMETER MIVZA 0777 02 ROSCOSMOS RADIOMETER MIVZA-M MICROWAVE SCANNING R ADIOMETER 0780 01 ROSCOSMOS RADIOMETER MR-2000 0781 01 ROSCOSMOS RADIOMETER MR-2000M 0785 02 ROSCOSMOS RADIOMETER MR-900 SCANNING TELEPHOTOME TER 0786 02 ROSCOSMOS RADIOMETER MR-900B SCANNING VISUAL BAND TELEPHOTOMETER 0790 02 ROSCOSMOS RADIOMETER MSU-E MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0791 02 ROSCOSMOS RADIOMETER MSU-E1 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0792 02 ROSCOSMOS RADIOMETER MSU-E2 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0793 01 ROSCOSMOS RADIOMETER MSU-M 0794 02 ROSCOSMOS RADIOMETER MSU-S MULTISPECTRAL MEDIUM RESOLUTION SCANNER 0795 02 ROSCOSMOS RADIOMETER MSU-SK MULTISPECTRAL MEDIUM RESOLUTION CONICAL SCANNER 0796 02 ROSCOSMOS RADIOMETER MSU-V MULTISPECTRAL HIGH R ESOLUTION CONICAL SCANNER 0810 02 ROSCOSMOS RADIOMETER MTZA SCANNING MICROWAVE R ADIOMETER 0815 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) MZOAS SCANNING MICROWAVE RADIO METER 0820 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) R-225 SINGLE CHANNEL MICROWAVE RADIOMETER 0821 01 ROSCOSMOS RADIOMETER R-400 0822 02 ROSCOSMOS RADIOMETER R-600 SINGLE CHANNEL MICRO WAVE RADIOMETER 0830 02 ROSCOSMOS RADIOMETER RMS RADIATION MEASUREMEN T SYSTEM 0835 01 ROSCOSMOS RADIOMETER TV CAMERA 0836 01 ROSCOSMOS RADIOMETER SILVA 0840 02 ROSCOSMOS SPECTRO-RADIOMETER SROSMO SPECTRORADIO METER FOR OCEAN MONITORING 0850 02 ROSCOSMOS SPECTROMETER BUFS-2 BACKSCATTER SPECTROM ETER/2 0851 02 ROSCOSMOS SPECTROMETER BUFS-4 BACKSCATTER SPECTROM ETER/4 0855 02 ROSCOSMOS SPECTROMETER ISTOK-1 INFRA-RED SPECTROMET ER 0856 02 ROSCOSMOS SPECTROMETER SFM-2 SPECTROMETER TO MEAS URE DIRECT SOLAR RADIATION 0857 01 ROSCOSMOS SPECTROMETER DOPI 0858 01 ROSCOSMOS SPECTROMETER KGI-4 0859 01 ROSCOSMOS SPECTROMETER OZON-M 0860 01 ROSCOSMOS SPECTROMETER RMK-2 0900 02 NOAA RADIOMETER MAXIE MAGNETOSPHERIC ATMOSPHERIC X -RAY IMAGING EXPERIMENT 0901 01 NOAA RADIOMETER OLS OPERATIONAL LINESCAN SYSTEM 0905 02 NOAA RADIOMETER SSM/I MISSION SENSOR MICROWAVE IMA GER 0906 02 NOAA RADIOMETER SSM/T-1 MISSION SENSOR MICROWAVE TEM PERATURE SOUNDER 0907 02 NOAA RADIOMETER SSM/T-2 MISSION SENSOR MICROWAVE WAT ER VAPOR SOUNDER 0908 02 NOAA RADIOMETER SSMIS SPECIAL SENSOR MICROWAVE IMA GER SOUNDER 0910 01 NOAA RADIOMETER SXI SOLAR X-RAY IMAGER 0930 02 NOAA SPECTROMETER EHIC ENERGETIC HEAVY ION COMPOSIT ION EXPERIMENT 0931 01 NOAA SPECTROMETER X-RAY ASTRONOMY PAYLOAD 0932 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) IVIS SR (FY-2) IMPROVED MULTISPECTRAL VISIBLE AND INFRA-RED SCA N RADIOMETER (5 CHANNELS) 0933 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IRAS INFRARED ATMOSPHERIC SOUNDER 0934 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWAS MICROWAVE ATMOSPHERIC SOUNDER 0935 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IMWA S IMPROVED MICROWAVE ATMOSPHERIC SOUNDER 0936 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWHS MICROWAVE HUMIDITY SOUNDER 0937 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MVIR S MODERATE RESOLUTION VISIBLE AND INFRARED IMAGING SPECTRO RADIOMETER 0938 02 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MWRI MICROWAVE RADIATION IMAGER 0940 02 ROSCOSMOS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDER S MTVZA-OK SCANNING MICROWAVE RADIOMETER 0941 02 CNES ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS SAPH IR 0944 01 NOAA RADAR ALTIMETERS ALT ALTIMETER 0945 02 NOAA EARTH RADIATION BUDGET RADIOMETER TSIS TOTA L SOLAR IRRADIANCE SENSOR 0946 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) CMIS CONICAL-SCANNING MICROWAVE IMAGER/SOUNDER 0947 02 NOAA TOTAL AND PROFILE OZONE OMPS OZONE MAPPING AND PR OFILER SUITE 0948 03 NOAA SPACE ENVIRONMENT ATMOSPHERIC TEMPERATURE AND HUMIDI TY SOUNDERS GPSOS GLOBAL POSITIONING SYSTEM OCCULTATION SE NSOR 0949 02 NOAA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y SESS SPACE ENVIRONMENTAL SENSOR SUITE 0950 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRR MULTISPECTRAL VISIBLE AND INFRA-RED SCAN RADIOMETER (10 CHANNELS 0951 01 NRSCC TOTAL AND PROFILE OZONE TOM TOTAL OZONE MAPPER 0952 01 NRSCC TOTAL AND PROFILE OZONE OP OZONE PROFILER 2047 01 MISSING VALUE 002020 0024 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 (TIROS, NOAA-6 TO NOAA-13) 0003 01 TIROS 2 (NOAA-14 ONWARDS) 0010 01 EOS 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0261 01 JASON 0271 01 GMS 0272 01 MTSAT 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME (MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME (MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME (MSG) 0351 01 GOMS 0380 01 FY-1 0381 01 FY-2 0401 01 GPS 0402 01 GLONASS 0403 01 GALILEO 0511 01 MISSING VALUE 002021 0008 0001 01 HIGH RESOLUTION INFRA RED SOUNDER (HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU ) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 002022 0005 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 AUTOMATED STATISTICAL REGRESSION 0003 01 CLEAR PATH 0004 01 PARTLY CLOUDY PATH 0005 01 CLOUDY PATH 002023 0012 0000 01 RESERVED 0001 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE INFRARED CHANNEL 0002 01 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE VISIBLE CHANNEL 0003 01 WIND DERIVED FROM CLOUD MOTION OBSERVED IN WATER VAPOUR CHANNEL 0004 02 WIND DERIVED FROM MOTION OBSERVED IN COMBINATION OF SPECTRAL CHANNELS 0005 02 WIND DERIVED FROM MOTION OBSERVED IN THE WATER VAPOUR CHANNEL IN CLEAR AIR 0006 01 WIND DERIVED FROM MOTION OBSERVED IN THE OZONE CHANNEL 0007 02 WIND DERIVED FROM MOTION OBSERVED IN WATER VAPOUR CHANNEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0008 01 WIND DERIVED FROM ALTIMETER 0009 01 WIND DERIVED FROM RADIOMETER 0013 01 ROOT MEAN SQUARE 0015 01 MISSING VALUE 002024 0003 0001 01 TABLE WITH FULL RANGE OF HUMIDITY VARIATION IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002025 0016 0001 01 RESERVED 0002 01 HIRS 0003 01 MSU 0006 01 HIRS 0007 01 MSU 0010 01 HIRS(1, 2, 3, 8,9, 16, 17) 0011 01 HIRS(1, 2, 3, 9, 17) 0012 01 MSU 0015 01 HIRS 0016 01 HIRS 0017 01 MSU 0018 01 SKINTK(OCEAN ONLY) 0021 01 HIRS 0022 01 SSU 0023 01 MSU (3 ,4) 0025 01 MISSING 002030 0007 0001 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0002 01 GEK (GEOMAGNETIC ELECTRO KINETOGRAPH) 0003 01 SHIPS'S SET AND DRIFT DETERMINED BY FIXES 3-6 HOURS APART 0004 02 SHIPS'S SET AND DRIFT DETERMINED BY MORE THAN 6 HOURS BUT LESS THAN 12 HOURS APART 0005 01 DRIFT OF BUOY 0006 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0007 01 MISSIN VALUE 002031 0021 0000 01 RESERVED 0001 01 INSTANTANEOUS 0002 01 AVERAGED OVER 3 MINUTES OR LESS 0003 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0004 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0005 01 INSTANTANEOUS 0006 01 AVERAGED OVER 3 MINUTES OR LESS 0007 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0008 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0009 01 VECTOR OR DOPPLER CURRENT PROFILLING METHOD NOT USED 0010 01 RESERVED 0011 01 1 HOUR OR LESS 0012 01 MORE THAN 1 HOUR BUT 2 AT THE MOST 0013 01 MORE THAN 2 HOUR BUT 4 AT THE MOST 0014 01 MORE THAN 4 HOUR BUT 8 AT THE MOST 0015 01 MORE THAN 8 HOUR BUT 12 AT THE MOST 0016 01 MORE THAN 12 HOUR BUT 18 AT THE MOST 0017 01 MORE THAN 18 HOUR BUT 24 AT THE MOST 0018 01 RESERVED 0019 01 DRIFT METHOD NOT USED 0031 01 MISSING 002032 0004 0000 02 VALUES AT SELECTED DEPTHS (DATA POINTS FIXED BY THE INSTRUME NT OR SELECTED BY ANY OTHER METHOD) 0001 02 VALUES AT SIGNIFICANT DEPTHS (DATA POINTS TAKEN FROM TRACES AT SIGNIFICANT DEPTHS) 0002 01 RESERVED 0003 01 MISSING VALUE 002033 0005 0000 01 NO SALINITY MEASURED 0001 01 IN SITU SENSOR, ACCURACY BETTER THAN 0.02 % 0002 01 IN SITU SENSOR, ACCURACY LESS THAN 0.02 % 0003 01 SAMPLE ANALYSIS 0007 01 MISSING VALUE 002034 0007 0000 01 UNSPECIFIED DROGUE 0001 01 HOLEY SOCK 0002 01 TRISTAR 0003 01 WINDOW SHADE 0004 01 PARACHUTE 0005 01 NON-LAGRANGIAN SEA ANCHOR 0031 01 MISSING VALUE 002036 0004 0000 01 DRIFTING BUOY 0001 01 FIXED BUOY 0002 01 RESERVED 0003 01 MISSING VALUE 002037 0007 0000 01 REASERVED 0001 01 MANUAL READING FROM VERTICAL TIDE STAFF 0002 01 MANUAL READING FROM SINGLE AUTOMATIC RECORDER AT STATION 0003 01 MANUAL READING FROM MULTIPLE AUTOMATIC RECORDERS AT STATION 0004 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITHOUT LEVEL REFERENCE CHECK 0005 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITH LEVEL REFERENCE CHECK,OR MULTIPLE AUTOMATIC RECORDERS 0007 01 MISSING 002038 0012 0000 01 SHIP INTAKE 0001 01 BUCKET 0002 01 HULL CONTACT SENSOR 0003 01 REVERSING TERMOMETER 0004 01 STD/CTD SENSOR 0005 01 MECHANICAL BT 0006 01 EXPANDABLE BT 0007 01 DIGITAL BT 0008 01 THERMISTOR CHAIN 0009 01 INFRARED SCANNER 0010 01 MICROWAVE SCANNER 0015 01 MISSING VALUE 002039 0005 0000 01 MEASURED WET-BULB TEMPERATURE 0001 01 ICED BULB MEASURED WET-BULB TEMPERATURE 0002 01 COMPUTED WET-BULB TEMPERATURE 0003 01 ICED BULB COMPUTED WET-BULB TEMPERATURE 0007 01 MISSING VALUE 002040 0008 0000 01 SHIPS MOTION REMOVED BY AVARAGING 0001 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0002 01 SHIPS MOTION NOT REMOVED 0003 01 SHIPS MOTION REMOVED BY AVERAGING 0004 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0005 01 SHIPS MOTION NOT REMOVED 0006 01 DOPPLER CURRENT PROFILING METHOD NOT USED 0015 01 MISSING VALUE 002041 0006 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMILATION MANUALLY MODIFIED 0010 01 INFORMATION BASED ON THE NUMERICAL WEATHER PREDICTION 0063 01 MISSING VALUE 002044 0006 0000 01 RESERVED 0001 01 LONGUET-HIGGINS (1964) 0002 01 LONGUET-HIGGINS (F3 METHOS) 0003 01 MAXIMUM LIKELIHOOD METHOD 0004 01 MAXIMUM ENTROPY METHOD 0015 01 MISSING VALUE 002045 0005 0000 01 SEA STATION 0001 01 AUTOMATIC DATA BUOY 0002 01 AIRCRAFT 0003 01 SATELLITE 0015 01 MISSING VALUE 002046 0004 0000 01 RESERVED 0001 01 HEAVE SENSOR 0002 01 SLOPE SENSOR 0015 01 MISSING VALUE 002048 0012 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A 0004 01 AMSU-B 0005 01 AVHRR 0006 01 SSMI 0007 01 NSCAT 0008 01 SEA WINDS 0009 01 POSEIDON ALTIMETER 0010 01 JMR (JASON MICROWAVE RADIOMETER) 0015 01 MISSING VALUE 002049 0004 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 SIMULTANIOUS PHISICAL RETRIEVAL 0003 01 CLEAR SOUNDING 0004 01 CLOUDY COUNDING 002050 0019 0001 01 CHANNEL 1 14.71 MICROMETERS 0002 01 CHANNEL 2 14.37 MICROMETERS 0003 01 CHANNEL 3 14.06 MICROMETERS 0004 01 CHANNEL 4 13.64 MICROMETERS 0005 01 CHANNEL 5 13.37 MICROMETERS 0006 01 CHANNEL 6 12.66 MICROMETERS 0007 01 CHANNEL 7 12.02 MICROMETERS 0008 01 CHANNEL 8 11.03 MICROMETERS 0009 01 CHANNEL 9 9.71 MICROMETERS 0010 01 CHANNEL 10 7.43 MICROMETERS 0011 01 CHANNEL 11 7.02 MICROMETERS 0012 01 CHANNEL 12 6.51 MICROMETERS 0013 01 CHANNEL 13 4.57 MICROMETERS 0014 01 CHANNEL 14 4.52 MICROMETERS 0015 01 CHANNEL 15 4.45 MICROMETERS 0016 01 CHANNEL 16 4.13 MICROMETERS 0017 01 CHANNEL 17 3.98 MICROMETERS 0018 01 CHANNEL 18 3.74 MICROMETERS 0019 01 CHANNEL 19 0.969 MICROMETERS 002051 0004 0001 01 MAXIMUM/MINIMUM THERMOMETERS 0002 01 AUTOMATED INSTRUMENT 0003 01 THERMOGRAPH 0015 01 MISSING VALUE 002052 0005 0001 01 CHANNEL 1 0.55-.75 MICROMETERS 0002 01 CHANNEL 2 3.9 MICROMETERS 0003 01 CHANNEL 3 6.7 MICROMETERS 0004 01 CHANNEL 4 10.7 MICROMETERS 0005 01 CHANNEL 5 12.0 MICROMETERS 002053 0005 0000 01 OBSERVED BRIGHTNESS TEMPERATURES 0001 01 BRIGHTNESS TEMPERATURE WITH BIAS CORRECTION APPLIED 0002 01 BRIGHTNESS TEMPERATURE CALCULATED FROM FIRST GUESS 0003 01 BRIGHTNESS TEMPERATURE CALCULATED FROM SOUNDING 0015 01 MISSING VALUE 002054 0006 0000 01 PARAMETER DERIVED USING OBSERVED SOUNDER BRIGHTNESS TEMPERATURES 0001 01 PARAMETER DERIVED USING OBSERVED IMAGER BRIGHTNESS TEMPERATURES 0002 01 PARAMETER DERIVED USING FIRST GUESS INFORMATION 0003 01 PARAMETER DERIVED USING NMC ANALYSIS INFORMATION 0004 01 PARAMETER DERIVED USING RADIOSONDE INFORMATION 0015 01 MISSING VALUE 002055 0010 0000 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS RADIOSONDE 0001 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS FIRST GUESS 0002 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS FIRST GUESS 0003 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS RETRIEVAL 0004 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS FORST GUESS 0005 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS IMAGER 0006 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS SOUNDER 0007 01 STATISTICS GENERATED FOR RADIOSONDE 0008 01 STATISTICS GENERATED FOR FIRST GUESS 002056 0006 0000 01 SUMS OF DIFFERENCE 0001 01 SUMS OF SQUARED DIFFERENCES 0002 01 SAMPLE SIZE 0003 01 MINIMUM DIFFERENCE 0004 01 MAXIMUM DIFFERENCE 0015 01 MISSING VALUE 002057 0007 0000 01 NESTED GRID MODEL (NMG) 0001 01 AVIATION MODEL(AVN) 0002 01 MEDIUM RANGE FORECAST (MRF) MODEL 0003 01 GLOBAL DATA ASSIMILATION SYSTEM (GDAS) FORECAST MODEL 0004 01 PRIOR SOUNDINGS (WITHIN 3 HOURS OF CURRENT TIME) 0005 01 CLIMATOLOGY 002058 0005 0000 01 12 HOUR AND 18 HOUR 0001 01 18 HOUR AND 24 HOUR 0002 01 6 HOUR AND 12 HOUR 0003 01 GREATER THAN 24 HOUR 0015 01 MISSING VALUE 002059 0005 0000 01 NCEP NESTED GRID MODEL ANALYSIS 0001 01 NCEP AVIATION MODEL ANALYSIS 0002 01 NCEP MEDIUM RANGE FORECAST MODEL ANALYSIS 0003 01 NCEP GLOBAL DATA ASSIMILATION SYSTEM FORECAST MODEL ANALYSIS 0015 01 MISSING VALUE 002060 0007 0000 01 CURRENT SURFACE HOURLY REPORTS 0001 01 CURRENT SHIP REPORTS 0002 01 CURRENT BUOY REPORTS 0003 01 ONE HOUR OLD SURFACE HOURLY REPORTS 0004 01 ONE HOUR SHIP OLD REPORTS 0005 01 ONE HOUR BUOY OLD REPORTS 0015 01 MISSING VALUE 002061 0003 0000 01 INERTIAL NAVIGATOR SYSTEM 0001 01 OMEGA 0007 01 MISSING VALUE 002062 0007 0000 01 ASDAR 0001 01 ASDAR(ACARS ALSO AVAILABLE BUT NOT OPERATIVE) 0002 01 ASDAR(ACARS ALSO AVAILABLE AND OPERATIVE) 0003 01 ACARS 0004 01 ACARS(ASDAR ALSO AVALILABLE BUT NOT OPERATIVE) 0005 01 ACARS(ASDAR ALSO AVAILABLE AND OPERATIVE) 0015 01 MISSING VALUE 002064 0004 0000 01 GOOD 0001 01 BAD 0002 01 RESERVED 0003 01 MISSING VALUE 002066 0004 0000 01 TRS 2000 0001 01 IMS 1500C 0062 01 OTHER 0063 01 MISSING VALUE 002070 0013 0000 01 ACTUAL LOCATION IN SECONDS 0001 01 ACTUAL LOCATION IN MINUTES 0002 01 ACTUAL LOCATION IN DEGREES 0003 01 ACTUAL LOCATION IN DECIDEGREES 0004 01 ACTUAL LOCATION OM CENTIDEGREES 0005 01 REFERENCED TO CHECKPOINT IN SECONDS 0006 01 REFERENCED TO CHECKPOINT IN MINUTES 0007 01 REFERENCED TO CHECKPOINT IN DEGREES 0008 01 REFERENCED TO CHECKPOINT IN DECIDEGREES 0009 01 REFERENCED TO CHECKPOINT IN CENTIDEGREES 0010 01 ACTUAL LOCATION IN TENTHS OF A MINUTE 0011 01 REFERENCED TO CHECKPOINT IN TENTHS OF A MINUTE 0015 01 MISSING VALUE 002080 0005 0000 01 KAYSAM 0001 01 TOTEX 0002 01 KKS 0062 01 OTHER 0063 01 MISSING VALUE 002081 0009 0000 01 GP26 0001 01 GP28 0002 01 GP30 0003 01 HM26 0004 01 HM28 0005 01 HM30 0006 01 SV16 0030 01 OTHER 0031 01 MISSING VALUE 002083 0006 0000 01 HIGH BAY 0001 01 LOW BAY 0002 01 BALLOON INFLATION LAUNCH SYSTEM (BILS) 0003 01 ROOF-TOP BILS 0014 01 OTHER 0015 01 MISSING VALUE 002084 0005 0000 01 HYDROGEN 0001 01 HELIUM 0002 01 NATURAL GAS 0014 01 OTHER 0015 01 MISSING VALUE 002095 0005 0000 01 CAPACITANCE ANEROID 0001 01 DERIVED FROM GPS 0002 01 RESISTIVE STRAIN GAUGE 0030 01 OTHER 0031 01 MISSING VALUE 002096 0005 0000 01 ROD THERMISTOR 0001 01 BEAD THERMISTOR 0002 01 CAPACITANCE BEAD 0030 01 OTHER 0031 01 MISSING VALUE 002097 0008 0000 01 VIZ MARK II CARBON HYGRISTOR 0001 01 VIZ B2 HYGRISTOR 0002 01 VAISALA A-HUMICAP 0003 01 VAISALA H-HUMICAP 0004 01 CAPACITANCE SENSOR 0005 01 VAISALA RS90 0030 01 OTHER 0031 01 MISSING VALUE 002098 0005 0000 01 HH POLARISATION 0001 01 VV POLARISATION 0002 01 HV POLARISATION REAL VALUED COMPONENT 0003 01 HV POLARISATION IMAGINARY VALUED COMPONENT 0007 01 MISSING VALUE 002101 0010 0000 01 CENTRE FRONT-FED PARABOLOID 0001 01 OFFSET FRONT-FED PARABOLOID 0002 01 CENTRE CASSEGRAIN PARABOLOID 0003 01 OFFSET CASSEGRAIN PARABOLOID 0004 01 PLANAR ARRAY 0005 01 COAXIAL-COLLINEAR ARRAY 0006 01 YAGI ELEMENTS ARRAY 0007 01 MICROSTRIP 0014 01 OTHER 0015 01 MISSING VALUE 002103 0002 0001 01 RADAR ANTENNA IS PROTECTED BY A RADOME 0002 01 MISSING VALUE 002104 0007 0000 01 HORIZONTAL POLARISATION 0001 01 VERTICAL POLARISATION 0002 01 RIGHT CIRCULAR POLARISATION 0003 01 LEFT CIRCULAR POLARSZATION 0004 01 HORIZONTAL AND VERTICAL POLARISATION 0005 01 RIGHT AND LEFT CIRCULAR POLARISATION 0015 01 MISSING VALUE 002115 0007 0000 01 PDB 0001 01 RSOIS 0002 01 ASOS 0003 01 PSYCHROMETER 0004 01 F420 0030 01 OTHER 0031 01 MISSING VALUE 002119 0008 0000 01 INTERMEDIATE FREQUENCY CALIBRATION MODE (IFCAL) 0001 01 BUILT-IN TEST EQUIPMENT DIGITAL (BITE DGT) 0002 01 BUILT-IN TEST EQUIPMENT RADIO FREQUENCY (BITE RF) 0003 01 PRESET TRACKING (PSET TRK) 0004 01 PRESET LOOP OUT 0005 01 ACQUISITION 0006 01 TRACKING 0007 01 MISSING VALUE 002131 0001 0001 01 STC OPERATIONAL 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROPHOTOMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED FOR FUTURE USE 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002216 0017 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG(1) 0015 01 SLICES PER COMPOSITE FLAG(2) 0016 01 SLICES PER COMPOSITE FLAG(3) 0017 01 MISSING VALUE 002131 0002 0001 01 STC OPERATIONAL 0003 01 MISSING VALUE 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN, ATTENUATOR #0 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002145 0009 0000 01 WAVELENGTH AD ORDINARY SETTING 0001 01 WAVELENGTH BD ORDINARY SETTING 0002 01 WAVELENGTH CD ORDINARY SETTING 0003 01 WAVELENGTH CC' ORDINARY SETTING 0004 01 WAVELENGTH AD FOCUSSING IMAGE 0005 01 WAVELENGTH BD FOCUSSING IMAGE 0006 01 WAVELENGTH CD FOCUSSING IMAGE 0007 01 WAVELENGTH CC' FOCUSSING IMAGE 0015 01 MISSING VALUE 002146 0011 0000 01 ON DIRECT SUN 0001 01 ON DIRECT MOON 0002 01 ON BLUE ZENITH SKY 0003 01 ON ZENITH CLOUD (UNIFORM STRATIFIED LAYER OF SMALL OPACITY) 0004 01 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF MEDIUM OPACITY) 0005 01 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF LARGE OPACITY) 0006 01 ON ZENITH CLOUD (HIGHLY VARIABLE OPACITY, WITH OR WITOUT PRECIPITATION) 0007 01 ON ZENITH CLOUD (FOG) 0008 01 ON ZENITH HAZE 0009 01 ON DIRECT SUN THROUGH THIN CLOUD, FOG OR HAZE 0015 01 MISSING VALUE 002148 0006 0000 01 RESERVED 0001 01 ARGOS 0002 01 GPS 0003 01 GOES DCP 0004 01 METEOSAT DCP 0031 01 MISSING VALUE 002149 0022 0000 01 UNSPECIFIED DRIFTING BUOY 0001 01 STANDARD LAGRANGIAN DRIFTER (GLOBAL DRIFTER PROGRAMME) 0002 01 STANDARD FGGE TYPE DRIFTING BUOY 0003 01 WIND MEASURING FGGE TYPE DRIFTING BUOY 0004 01 ICE FLOAT 0008 01 UNSPECIFIED SUB-SURFACE FLOAT 0009 01 SOFAR 0010 01 ALACE 0011 01 MARVOR 0012 01 RAFOS 0016 01 UNSPECIFIED MOORED BUOY 0017 01 NOMAD 0018 01 3-METRE DISCUS 0019 01 10-12-METRE DISCUS 0020 01 ODAS 30 SERIES 0021 01 ATLAS (E.G. TAO AREA) 0022 01 TRITON BUOY 0023 01 RESERVED 0024 01 OMNIDIRECTIONAL WAVERIDER 0025 01 DIRECTIONAL WAVERIDER 0026 01 SUB-SURFACE ARGO FLOAT 0063 01 MISSING VALUE 002150 0055 0000 01 RESERVED 0001 01 HIRS 1 0002 01 HIRS 2 0003 01 HIRS 3 0004 01 HIRS 4 0005 01 HIRS 5 0006 01 HIRS 6 0007 01 HIRS 7 0008 01 HIRS 8 0009 01 HIRS 9 0010 01 HIRS 10 0011 01 HIRS 11 0012 01 HIRS 12 0013 01 HIRS 13 0014 01 HIRS 14 0015 01 HIRS 15 0016 01 HIRS 16 0017 01 HIRS 17 0018 01 HIRS 18 0019 01 HIRS 19 0020 01 HIRS 20 0021 01 MSU 1 0022 01 MSU 2 0023 01 MSU 3 0024 01 MSU 4 0025 01 SSU 1 0026 01 SSU 2 0027 01 SSU 3 0028 01 AMSU-A 1 0029 01 AMSU-A 2 0030 01 AMSU-A 3 0031 01 AMSU-A 4 0032 01 AMSU-A 5 0033 01 AMSU-A 6 0034 01 AMSU-A 7 0035 01 AMSU-A 8 0036 01 AMSU-A 9 0037 01 AMSU-A 10 0038 01 AMSU-A 11 0039 01 AMSU-A 12 0040 01 AMSU-A 13 0041 01 AMSU-A 14 0042 01 AMSU-A 15 0043 01 AMSU-B 1 0044 01 AMSU-B 2 0045 01 AMSU-B 3 0046 01 AMSU-B 4 0047 01 AMSU-B 5 0048 01 AVHRR 1 0049 01 AVHRR 2 0050 01 AVHRR 3A 0051 01 AVHRR 3B 0052 01 AVHRR 4 0053 01 AVHRR 5 0063 01 MISSING VALUE 002151 0009 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A1-1 0004 01 AMSU-A1-2 0005 01 AMSU-A2 0006 01 AMSU-B 0007 01 AVHRR 2047 01 MISSING VALUE 002152 0011 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 002158 0008 0001 01 MISMATCH IN RED VEC HPA 0002 01 MISMATCH IN RED VEC RFSS 0003 01 PTR CALIBRATION BAND 320 MHZ (KU) 0004 01 PTR CALIBRATION BAND 80 MHZ (KU) 0005 01 PTR CALIBRATION BAND 20 MHZ (KU) 0006 01 PTR CALIBRATION BAND 160 MHZ (S) 0007 01 KU FLIGHT CALIBRATION PARAMETERS AVAILABLE 0008 01 S FLIGHT CALIBRATION PARAMETERS AVAILABLE 002159 0005 0001 01 TEMPERATURE INCONSISTENCY 0002 01 DATA IS MISSING 0003 01 REDUNDANCY CHANNEL 0004 01 POWER BUS PROTECTION 0005 01 OVERVOLTAGE/OVERLOAD PROTECTION 002163 0015 0000 01 AUTO EDITOR 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002164 0004 0000 01 LP - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0007 01 MISSING VALUE 002166 0009 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0005 01 APODIZED 0006 01 UNAPODIZED 0007 01 RECONSTRUCTED 0008 01 CLOUD CLEARED 002167 0004 0000 01 METHOD NOT DEFINE 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002169 0004 0000 01 CUP ROTOR 0001 01 PROPELLER ROTOR 0002 01 WIND OBSERVATION THROUGH AMBIENT NOISE (WOTAN) 0015 01 MISSING VALUE 002172 0003 0001 01 RETRIEVAL FROM A NADIR SOUNDING 0002 01 RETRIEVAL FROM A LIMB SOUNDING 0255 01 MISSING VALUE 002175 0009 0000 01 MANUAL MEASUREMENT 0001 01 TIPPING BUCKET METHOD 0002 01 WEIGHING METHOD 0003 01 OPTICAL METHOD 0004 01 PRESSURE METHOD 0005 01 FLOAT METHOD 0006 01 DROP COUNTER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002176 0006 0000 01 MANUAL OBSERVATION 0001 01 VIDEO CAMERA METHOD 0002 01 INFRA-RED METHOD 0003 01 LASER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002177 0005 0000 01 MANUAL OBSERVATION 0001 01 ULTRASONIC METHOD 0002 01 VIDEO CAMERA METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002178 0005 0000 01 MANUAL OBSERVATION 0001 01 OPTICAL METHOD 0002 01 CAPACITIVE METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002179 0006 0000 01 MANUAL OBSERVATION 0001 01 VAISALA ALGORITHM 0002 01 ASOS (FAA) ALGORITHM 0003 01 AWOS (CANADA) ALGORITHM 0014 01 OTHER 0015 01 MISSING VALUE 002180 0008 0000 01 MANUAL OBSERVATION 0001 02 OPTICAL SCATTER SYSTEM COMBINED WITH PRECIPITATION OCCURRENCE SENSING SYSTEM 0002 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF VISIBLE LIGHT 0003 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF INFRARED LIGHT 0004 01 INFRARED LIGHT EMITTING DIODE (IRED) SYSTEM 0005 01 DOPPLER RADAR SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002181 0005 0001 01 RAIN DETECTOR 0002 01 FREEZING RAIN SENSOR 0003 01 ICE DETECTION SENSOR 0004 01 HAIL AND ICE PELLET SENSOR 0020 01 OTHER 002182 0007 0000 01 MANUAL MEASUREMENT 0001 01 TRANSMISSOMETER SYSTEM (BASE > 25) 0002 01 TRANSMISSOMETER SYSTEM (BASE < 25 M) 0003 01 FORWARD SCATTER SYSTEM 0004 01 BACK SCATTER SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002183 0009 0000 01 MANUAL OBSERVATION 0001 01 CEILOMETER SYSTEM 0002 01 INFRARED CAMERA SYSTEM 0003 01 MICROWAVE VISUAL CAMERA SYSTEM 0004 01 SKY IMAGER SYSTEM 0005 01 VIDEO TIME LAPSED CAMERA SYSTEM 0006 01 MICRO PULSE LIDAR (MPL) SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002184 0008 0000 01 MANUAL OBSERVATION 0001 01 LIGHTNING IMAGING SENSOR 0002 01 ELECTRICAL STORM IDENTIFICATION SENSOR 0003 01 MAGNETIC FINDER SENSOR 0004 01 LIGHTNING STRIKE SENSOR 0005 01 FLASH COUNTER 0014 01 OTHER 0015 01 MISSING VALUE 002185 0007 0000 01 MANUAL MEASUREMENT 0001 01 BALANCED FLOATING METHOD 0002 01 PRESSURE METHOD 0003 01 ULTRASONIC METHOD 0004 01 HYDRAULIC METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002186 0023 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 002187 0011 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 002188 0010 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 002189 0004 0001 01 MANUAL OBSERVATION 0002 01 ALL LIGHTNING STRIKES WITHOUT DISCRIMINATION 0003 01 LIGHTNING STRIKES CLOUD TO GROUND ONLY 0004 02 ALL LIGHTNING STRIKES WITH DISCRIMINATION BETWEEN CLOUD TO GROUND AND CLOUD TO CLOUD 002194 0002 0000 01 FGGE 0015 01 MISSING VALUE 002196 0017 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 ( TIROS NOAA 6 TO NOAA 13) 0003 01 TIROS 2 ( NOAA-14 ONWARD) 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0271 01 GMS 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME(MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME(MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME(MSG) 0351 01 GOMS 0381 01 FY-2 0512 01 MISSING VALUE 002199 0004 0000 01 RESERVED 0001 01 TABLE WITH FULL RANGE OF HUMMIDITY VALUES IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002207 0003 0000 01 AFR SCAN 0001 01 FORWARD AFT SCAN 0007 01 MISSING VALUE 002231 0015 0000 01 RESERVED 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002232 0004 0000 01 P - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0003 01 MISSING VALUE 002251 0004 0000 01 METHOD NOT DEFINED 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002252 0012 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 0031 01 ALL BITS SET - MISSING VALUE 002254 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 004059 0005 0001 01 00 UTC 0002 01 06 UTC 0003 01 12 UTC 0004 01 18 UTC 0005 01 OTHER HOURS 008001 0007 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT LEVEL, TEMPERATURE AND/OR RELATIVE HUMIDITY 0006 01 SIGNIFICANT LEVEL, WIND 0007 01 MISSING VALUE 008002 0013 0000 02 OBSERVING RULES FOR BASE OF LOWEST CLOUD AND CLOUD TYPES OF FM 12-IX EXT. SYNOP AND FM 13-IX EXT. SHIP APPLY 0001 01 FIRST NON - CB SIGNIFICANT LAYER 0002 01 SECOND NON - CB SIGNIFICANT LAYER 0003 01 THIRD NON - CB SIGNIFICANT LAYER 0004 01 CUMULONIMBUS LAYER 0005 01 CEILING 0006 01 CLOUD NOT DETECTED BELOW THE FOLLOWING HEIGHT(S) 0007 01 LOW CLOUD 0008 01 MIDDLE CLOUD 0009 01 HIGH CLOUD 0010 02 CLOUD LAYER WITH BASE BELOW THE STATION LEVEL AND TOP ABOVE THE STATION LEVEL 0011 01 CLOUD LAYER WITH BASE AND TOP BELOW THE STATION LEVEL 0063 01 MISSING VALUE 008003 0009 0000 01 SURFACE 0001 01 BASE OF SATELLITE SOUNDING 0002 01 CLOUD TOP 0003 01 TROPOPAUSE 0004 01 PRECIPITABLE WATER 0005 01 SOUNDING RADIANCES 0006 01 MEAN TEMPERATURES 0007 01 OZON 0063 01 MISSING VALUE 008004 0006 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING(DES) 0007 01 MISSING VALUE 008005 0005 0000 01 RESERVED 0001 01 STORM CENTRE 0002 01 OUTER LIMIT OR EDGE OF STORM 0003 01 LOCATION OF MAXIMUM WIND 0004 01 LOCATION OF STORM IN THE PERTURBED ANALYSIS 0005 01 LOCATION OF STORM IN THE ANALYSIS 0015 01 MISSING VALUE 008006 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 PROMINENT MAXIMUM LEVEL 0005 01 PROMINENT MINIMUM LEVEL 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008007 0005 0000 01 POINT 0001 01 LINE 0002 01 AREA 0003 01 VOLUME 0015 01 MISSING VALUE 008008 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 LEVEL OF BETA RADIATION MAXIMUM 0005 01 LEVEL OF GAMMA RADIATION MAXIMUM 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008009 0016 0000 01 LEVEL FLIGHT, ROUTINE OBSERVATION, UNSTEADY 0001 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED, UNSTEADY 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING (DES) 0007 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0008 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0009 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0010 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0011 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0012 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0013 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0014 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0015 01 MISSING VALUE 008010 0013 0000 01 RESERVED 0001 01 BARE SOIL 0002 01 BARE ROCK 0003 01 LAND GRASS COVER 0004 01 WATER (LAKE, SEA) 0005 01 FLOOD WATER UNDERNEATH 0006 01 SNOW 0007 01 ICE 0008 01 RUNWAY OR ROAD 0009 01 SHIP OR PLATFORM DECK IN STEEL 0010 01 SHIP OR PLATFORM DECK IN WOOD 0011 01 SHIP OR PLATFORM DECK PARTLY COVERED WITH RUBBER MAT 0031 01 MISSING VALUE 008011 0026 0000 01 QUASI-STATIONARY FRONT AT THE SURFACE 0001 01 QUASI-STATIONARY FRONT ABOVE THE SURFACE 0002 01 WARM FRONT AT THE SURFACE 0003 01 WARM FRONT ABOVE THE SURFACE 0004 01 COLD FRONT AT THE SURFACE 0005 01 COLD FRONT ABOVE THE SURFACE 0006 01 OCCLUSION 0007 01 INSTABILITY LINE 0008 01 INTERTROPICAL FRONT 0009 01 CONVERGENCE LINE 0010 01 JET STREAM 0011 01 CLOUD CLEAR 0012 01 CLOUD 0013 01 TURBULENCE 0014 01 STORM 0015 01 AIRFRAME ICING 0016 01 PHENOMENON 0017 01 VOLCANO 0018 01 ATMOSPHERICS 0020 01 SPECIAL CLOUDS 0021 01 THUNDERSTORM (VAL) 0022 01 TROPICAL CYCLONE (VAL) 0023 01 MOUNTAIN WAVE (VAL) 0024 01 DUSTSTORM (VAL) 0025 01 SANDSTORM (VAL) 0063 01 MISSING VALUE 008012 0004 0000 01 LAND 0001 01 SEA 0002 01 RESERVED 0003 01 MISSING VALUE 008013 0004 0000 01 NIGHT 0001 01 DAY 0002 01 RESERVED 0003 01 MISSING VALUE 008014 0010 0000 01 10-MINUTE MEAN VALUE - NORMAL VALUE 0001 01 10-MINUTE MEAN VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0002 01 10-MINUTE MEAN VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0003 01 ONE MINUTE MINIMUM VALUE - NORMAL VALUE 0004 01 ONE MINUTE MINIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0005 01 ONE MINUTE MINIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0006 01 ONE MINUTE MAXIMUM VALUE - NORMAL VALUE 0007 01 ONE MINUTE MAXIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0008 01 ONE MINUTE MAXIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0015 01 MISSING VALUE 008016 0005 0000 01 NOSIG 0001 01 BECMG 0002 01 TEMPO 0003 01 FM 0007 01 MISSING VALUE 008017 0004 0000 01 FM 0001 01 TL 0002 01 AT 0003 01 MISSING VALUE 008018 0005 0001 01 LAND IS PRESENT 0002 01 SURFACE ICE MAP INDICATES ICE IS PRESENT 0011 01 ICE MAP DATA NOT AVAILABLE 0012 01 ATTENUATION MAP DATA NOT AVAILABLE 0017 01 MISSING VALUE 008021 0028 0000 01 RESERVED 0001 01 TIME SERIES 0002 01 TIME AVERAGED 0003 01 ACCUMULATED 0004 01 FORECAST 0005 01 FORECAST TIME SERIES 0006 01 FORECAST TIME AVERAGED 0007 01 FORECAST ACCUMULATED 0008 01 ENSEMBLE MEAN 0009 01 ENSEMBLE MEAN TIME SERIES 0010 01 ENSEMBLE MEAN TIME AVERAGED 0011 01 ENSEMBLE MEAN ACCUMULATED 0012 01 ENSEMBLE MEAN FORECAST 0013 01 ENSEMBLE MEAN FORECAST TIME SERIES 0014 01 ENSEMBLE MEAN FORECAST AVERAGED 0015 01 ENSEMBLE MEAN FORECAST ACCUMULATED 0016 01 ANALYSIS 0017 01 START OF PHENOMENON 0018 01 RADIOSONDE LAUNCH TIME 0019 01 START OF ORBIT 0020 01 END OF ORBIT 0021 01 TIME OF ASCENDING NODE 0022 01 TIME OF OCCURENCE OF WIND SHIFT 0027 01 FIRST GUESS --NOT WMO ENTRY 0028 01 START OF SCAN --NOT WMO ENTRY 0029 01 END OF SCAN --NOT WMO ENTRY 0031 01 MISSING VALUE 008023 0017 0002 01 MAXIMUM VALUE 0003 01 MINIMUM VALUE 0004 01 MEAN VALUE 0005 01 MEDIAN VALUE 0006 01 MODAL VALUE 0007 01 MEAN ABSOLUTE ERROR 0009 01 BEST ESTIMATE OF STANDARD DEVIATION (N-1) 0010 01 STANDARD DEVIATION 0011 01 HARMONIC MEAN 0012 01 ROOT MEAN SQUARE VECTOR ERROR 0013 01 ROOT-MEAN-SQUARE 0032 01 VECTOR MEAN 0033 01 PRESCRIBED OBSERVATION ERROR 0034 01 PERSISTENCE OBSERVATION ERROR 0035 01 FINAL OBSERVATION ERROR 0036 01 REPRESENTATIVNESS OBSERVATION ERROR 0063 01 MISSING 008024 0012 0002 01 OBSERVED MINUS MAXIMUM 0003 01 OBSERVED MINUS MINIMUM 0004 01 OBSERVED MINUS MEAN 0005 01 OBSERVED MINUS MEDIAN 0006 01 OBSERVED MINUS MODE 0011 01 OBSERVED MINUS CLIMATOLOGY (ANOMALY) 0012 01 OBSERVED MINUS ANALYZED VALUE 0013 01 OBSERVED MINUS INITIALISED ANALYZED VALUE 0014 01 OBSERVED MINUS FORECAST VALUE 0021 01 OBSERVED MINUS INTERPOLATED VALUE 0022 01 OBSERVED MINUS HYDROSTATICALLY CALCULATED VALUE 0032 01 OBSERVED MINUS FIRST GUESS 0033 01 OBSERVED MINUS ANALYSIS 0034 01 OBSERVED MINUS INITIALIZED ANALYSIS 0063 01 MISSING 008025 0005 0000 02 UNIVERSAL TIME COORDINATED (UTC) MINUS LOCAL STANDARD TIME (LST) 0001 01 LOCAL STANDARD TIME 0002 01 UNIVERSAL TIME COORDINATED (UTC) MINUS SATELLITE CLOCK 0005 01 TIME DIFFERENCE FROM EDGE OF PROCESSING SEGMENT 0015 01 MISSING 008026 0005 0000 01 AVERAGING KERNEL MATRIX 0001 01 CORRELATION MATRIX 0002 01 LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L FROM C=LLT) 0003 01 INVERSE LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L**-1) 0063 01 MISSING VALUE 008027 0007 0000 01 ASSUME NO PARTICULAR MATRIX GEOMETRY 0001 01 DIAGONAL MATRIX 0002 01 TRIDIAGONAL MATRIX 0003 01 MULTI-DIAGONAL MATRIX (GENERAL CASE: DIAGONAL AND ABOVE) 0004 01 LOWER TRIANGULAR MATRIX 0005 01 SYMETRICAL MATRIX 0063 01 MISSING VALUE 008029 0005 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 ENCLOSED SEA OR LAKE 0002 01 CONTINENTAL ICE 0003 01 LAND 0255 01 MISSING 008033 0004 0000 01 RESERVED 0001 01 PERCENTAGE CONFIDENCE CALCULATED USING CLOUD FRACTION 0002 01 PERCENTAGE CONFIDENCE CALCULATED USING STANDARD DEVIATION OF TEMPERATURE 0003 02 PERCENTAGE CONFIDENCE CALCULATED USING PROBABILITY OF THE CLOUD CONTAMINATION 0004 01 PERCENTAGE CONFIDENCE CALCULATED USING NORMALITY OF DISTRIBUTION 0127 01 MISSING 008035 0008 0000 01 GLOBAL 0001 01 REGIONAL 0002 01 NATIONAL 0003 01 SPECIAL 0004 01 BILATERAL 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING 008036 0008 0000 01 WMO SECRETARIAT 0001 01 WMO 0002 01 RSMC 0003 01 NMC 0004 01 RTH 0005 01 OBSERVING SITE 0006 01 OTHER 0007 01 MISSING 008039 0008 0000 01 ISSUE TIME OF FORECAST 0001 01 TIME OF COMMNENCEMENT OF PERIOD OF THE FORECAST 0002 01 TIME OF ENDING OF PERIOD OF THE FORECAST 0003 01 FORECSAT TIME OF MAXIMUM TEMPERATURE 0004 01 FORECSAT TIME OF MINIMUM TEMPERATURE 0005 01 TIME OF BEGINNING OF THE FORECAST 0006 01 TIME OF ENDING OF THE FORECAST 0063 01 MISSING VALUE 008040 0043 0000 01 HIGH RESOLUTION DATA SAMPLE 0001 01 WITHIN 20 HPA OF SURFACE 0002 02 PRESSURE LESS THAN 10 HPA (I.E., 9, 8, 7, ETC.) WHEN NO OTHER REASON APPLIES 0003 01 BASE PRESSURE LEVEL FOR STABILITY INDEX 0004 01 BEGIN DOUBTFUL TEMPERATURE, HEIGHT DATA 0005 01 BEGIN MISSING DATA (ALL ELEMENTS) 0006 01 BEGIN MISSING RH DATA 0007 01 BEGIN MISSING TEMPERATURE DATA 0008 02 HIGHEST LEVEL REACHED BEFORE BALLOON DESCENT BECAUSE OF ICING OR TURBULENCE 0009 01 END DOUBTFUL TEMPERATURE, HEIGHT DATA 0010 01 END MISSING DATA (ALL ELEMENTS) 0011 01 END MISSING RH DATA 0012 01 END MISSING TEMPERATURE DATA 0013 01 ZERO DEGREES C CROSSING(S) FOR RADAT 0014 01 STANDARD PRESSURE LEVEL 0015 01 OPERATOR ADDED LEVEL 0016 01 OPERATOR DELETED LEVEL 0017 01 BALLOON RE-ASCENDED BEYOND PREVIOUS HIGHEST ASCENT LEVEL 0018 01 SIGNIFICANT RH LEVEL 0019 01 RH LEVEL SELECTION TERMINATED 0020 01 SURFACE LEVEL 0021 01 SIGNIFICANT TEMPERATURE LEVEL 0022 01 MANDATORY TEMPERATURE LEVEL 0023 01 FLIGHT TERMINATION LEVEL 0024 01 TROPOPAUSE(S) 0025 01 AIRCRAFT REPORT 0026 01 INTERPOLATED (GENERATED) LEVEL 0027 01 MANDATORY WIND LEVEL 0028 01 SIGNIFICANT WIND LEVEL 0029 01 MAXIMUM WIND LEVEL 0030 01 INCREMENTAL WIND LEVEL (FIXED REGIONAL) 0031 01 INCREMENTAL HEIGHT LEVEL (GENERATED) 0032 01 WIND TERMINATION LEVEL 0033 01 PRESSURE 100 TO 110 HPA, WHEN NO OTHER REASON APPLIES 0040 01 SIGNIFICANT THERMODYNAMIC LEVEL (INVERSION) 0041 01 SIGNIFICANT RH LEVEL ( PER NCDC CRITERIA) 0042 01 SIGNIFICANT TEMPERATURE LEVEL (PER NCDC) 0043 01 BEGIN MISSING WIND DATA 0044 01 END MISSING WIND DATA 0060 01 LEVEL OF 80-KNOT ISOTACH ABOVE JET 0061 01 LEVEL OF 80-KNOT ISOTACH BELOW JET 0062 01 OTHER 0063 01 MISSING VALUE 008041 0009 0000 01 PARENT SITE 0001 01 OBSERVATION SITE 0002 01 BALLOON MANUFACTURE DATE 0003 01 BALLOON LAUNCH POINT 0004 01 SURFACE OBSERVATION 0005 01 SURFACE OBSERVATION DISPLACEMENT FROM LAUNCH POINT 0006 01 FLIGHT LEVEL OBSERVATION 0007 01 FLIGHT LEVEL TERMINATION POINT 0031 01 MISSING VALUE 008042 0014 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT TEMPERATURE LEVEL 0006 01 SIGNIFICANT HUMIDITY LEVEL 0007 01 SIGNIFICANT WIND LEVEL 0008 01 BEGINNING OF MISSING TEMPERATURE DATA 0009 01 END OF MISSING TEMPERATURE DATA 0010 01 BEGINNING OF MISSING HUMIDITY DATA 0011 01 END OF MISSING HUMIDITY DATA 0012 01 BEGINNING OF MISSING WIND DATA 0013 01 END OF MISSING WIND DATA 0018 01 ALL 18 MISSING 008043 21 0000 01 OZONE, O3,10028-15-6 0001 01 WATER VAPOUR, H2O, 7732-18-5 0002 01 METHANE, CH4, 74-82-8 0003 01 CARBON DIOXIDE, CO2, 37210-16-5 0004 01 CARBON MONOXIDE, CO, 630-08-0 0005 01 NITROGEN DIOXIDE, NO2, 10102-44-0 0006 01 NITROUS OXIDE, N2O, 10024-97-2 0007 01 FORMALDEHYDE, HCHO, 50-00-0 0008 01 SULFUR DIOXIDE, SO2, 7446-09-5 0009 01 BROMINE OXIDE, BRO, 15656-19-6 0010 01 CHLORINE DIOXIDE, OCLO, 10049-04-4 0011 01 NITROGEN MONOXIDE, NO, 10102-43-9 0012 01 AMMONIA, NH3, 7664-41-7 0025 01 PARTICULATE MATTER < 1.0 MICRONS 0026 01 PARTICULATE MATTER < 2.5 MICRONS 0027 01 PARTICULATE MATTER < 10 MICRONS 0028 01 AEROSOLS GENERIC 0029 01 SMOKE GENERIC 0030 01 CRUSTAL MATERIAL (GENERIC DUST) 0031 01 VOLCANIC ASH 0255 01 MISSING 008050 0011 0000 01 RESERVED 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MAXIMUM TEMPERATURE 0008 01 MINIMUM TEMPERATURE 0009 01 WIND 0015 01 MISSING VALUE 008051 0007 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MISSING VALUE 008052 0026 0000 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 10 M/S 0001 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 20 M/S 0002 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 30 M/S 0003 01 MAXIMUM TEMPERATURE LESS THAN 273.2 K 0004 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 298.2 K 0005 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 303.2 K 0006 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 308.2 K 0007 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 313.2 K 0008 01 MINIMUM TEMPERATURE LESS THAN 273.2 K 0009 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 273.2 K 0010 01 PRECIPITATION EQUAL TO OR MORE THAN 1.0 KG/M**2 0011 01 PRECIPITATION EQUAL TO OR MORE THAN 5.0 KG/M**2 0012 01 PRECIPITATION EQUAL TO OR MORE THAN 10.0 KG/M**2 0013 01 PRECIPITATION EQUAL TO OR MORE THAN 50.0 KG/M**2 0014 01 PRECIPITATION EQUAL TO OR MORE THAN 100.0 KG/M**2 0015 01 PRECIPITATION EQUAL TO OR MORE THAN 150.0 KG/M**2 0016 01 SNOW DEPTH MORE THAN 0.0 M 0017 01 SNOW DEPTH MORE THAN 0.01 M 0018 01 SNOW DEPTH MORE THAN 0.10 M 0019 01 SNOW DEPTH MORE THAN 0.50 M 0020 01 HORIZONTAL VISIBILITY LESS THAN 50 M 0021 01 HORIZONTAL VISIBILITY LESS THAN 100 M 0022 01 HORIZONTAL VISIBILITY LESS THAN 1000 M 0023 01 HAIL 0024 01 THUNDERSTORM 0031 01 MISSING VALUE 008053 0004 0000 01 VALUE OCCURED ON ONLY ONE DAY IN THE MONTH 0001 01 VALUE OCCURED ON MORE THAN ONE DAY IN THE MONTH 0002 01 RESERVED 0003 01 MISSING VALUE 008054 0003 0000 01 WIND SPEED OR GUST IS AS REPORTED 0001 01 WIND SPEED IS GREATER THAN THAT REPRTED (P IN METAR/TAF/SPECI) 0007 01 MISSING VALUE 008060 0008 0000 01 RESERVED 0001 01 RANGE 0002 01 AZIMUTH 0003 01 HORIZONTAL 0004 01 VERTICAL 0005 01 NORTH/SOUTH 0006 01 EAST/WEST 0015 01 MISSING VALUE 008065 0004 0000 01 NO SUN-GLINT 0001 01 SUN-GLINT 0002 01 RESERVED 0003 01 MISSING VALUE 008066 0004 0000 01 OPAQUE 0001 01 SEMI-TRANSPARENT 0002 01 RESERVED 0003 01 MISSING VALUE 008070 0006 0000 01 RESERVED 0001 01 RESERVED 0002 02 EARTH LOCATED INSTRUMENT COUNTS, CALIBRATION COEFFICIENTS AND HOUSEKEEPING (LEVEL 1B) 0003 01 EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1C) 0004 02 MAPPED TO A COMMON FOOTPRINT, EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1D) 0015 01 MISSING VALUE 008072 0004 0000 01 MIXED 0001 01 CLEAR 0002 01 CLOUDY 0007 01 MISSING VALUE 008074 0004 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 NON-OCEAN LIKE 0002 01 RESERVED 0003 01 MISSING VALUE 008075 0004 0000 01 ASCENDING ORBIT 0001 01 DESCENDING ORBIT 0002 01 RESERVED 0003 01 MISSING VALUE 008076 0003 0000 01 KU 0001 01 C 0063 01 MISSING VALUE 008077 0007 0000 01 LAND 0001 01 SEA 0002 01 COASTAL 0003 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0004 01 ENCLOSED SEA OR LAKE 0005 01 CONTINENTAL ICE 0127 01 MISSING VALUE 008079 0009 0000 01 NORMAL ISSUE 0001 01 CORRECTION TO A PREVIOUSLY ISSUED PRODUCT (COR) 0002 01 AMANDMENT TO A PREVIOUSLY ISSUED PRODUCT *AMD) 0003 01 CORRECTION TO A PREVIOUSLY ISSUED AMENDED PRODUCT (COR AMD) 0004 01 CANCELLATION OD A PREVIOUSLY ISSUED PRODUCT (CNL) 0005 01 NO PRODUCT AVAILABLE (NIL) 0006 01 SPECIAL REPORT ( SPECI) 0007 01 CORRECTED SPECIAL REPORT (SPECI COR) 0015 01 MISSING VALUE 008080 0009 0000 01 TOTAL WATER PRESSURE PROFILE 0001 01 TOTAL WATER TEMPERATURE PROFILE 0002 01 TOTAL WATER SALINITY PROFILE 0003 01 TOTAL WATER CONDUCTIVITY PROFILE 0010 01 WATER PRESSURE AT A LEVEL 0011 01 WATER TEMPERATURE AT A LEVEL 0012 01 SALINITY AT A LEVEL 0020 01 POSITION 0063 01 MISSING VALUE 008081 0005 0000 01 SENSOR 0001 01 TRANSMITTER 0002 01 RECEIVER 0003 01 OBSERVING PLATFORM 0063 01 MISSING VALUE 008082 0003 0000 01 SENSOR HEIGHT IS NOT MODIFIED 0001 01 SENSOR HEIGHT IS MODIFIED TO STANDARD LEVEL 0007 01 MISSING VALUE 008083 0009 0001 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) 0002 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABOVE WATER SURFACE 0003 01 ADJUSTED WITH RESPECT TO STANDARD SURFACE ROUGHNESS 0004 01 ADJUSTED WITH RESPECT TO WIND SPEED 0005 01 ADJUSTED WITH RESPECT TO TEMPERATURE 0006 01 ADJUSTED WITH RESPECT TO PRESSURE 0007 01 ADJUSTED WITH RESPECT TO HUMIDITY 0008 01 ADJUSTED WITH RESPECT TO EVAPORATION 0009 01 ADJUSTED WITH RESPECT TO WETTING LOSSES 008085 0004 0000 01 FORE BEAM 0001 01 MID BEAM 0002 01 AFT BEAM 0003 01 RESERVED 0004 01 RESERVED 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING VALUE 008193 0007 0000 01 START TIME OF ORBIT 0001 01 END TIME OF ORBIT 0002 01 TIME OF ASCENDING NODE 0003 01 ASSIMILATION TIME 0004 01 START TIME OF ASSIMILATION 0005 01 END TIME OF ASSIMLATION 0063 01 MISSING 008195 0032 0001 01 FIRST GUESS 0002 01 ANALYSIS 0003 01 INITIALISED ANALYSIS 0004 01 OI ANALYSIS 0005 01 3 D VARIATIONAL ANALYSIS 0006 01 4 D VARIATIONAL ANALYSIS 0007 01 3 D VARIATIONAL GRADIENTS 0008 01 4 D VARIATIONAL GRADIENTS 0009 01 FORECAST 0010 01 CONTROL FORECAST 0011 01 PERTURBED FORECAST 0012 01 ERRORS IN FIRST GUESS 0013 01 ERRORS IN ANALYSIS 0014 01 CLUSTER MEANS 0015 01 CLUSTER STANDARD DEVIATIONS 0016 01 FORECAST PROBABILITIES 0017 01 ENSEMBLE MEANS 0018 01 ENSEMBLE STANDARD DEVIATIONS 0019 01 FORECAST ACCUMULATIONS 0020 01 CLIMATOLOGY 0021 01 CLIMATE SIMULATION 0030 01 OBSERVATIONS 0031 01 QUALITY CONTROL 0032 01 DIFFERENCE STATISTICS 0040 01 IMAGE DATA 0050 01 SENSITIVITY GRADIENTS 0051 01 TRAJECTORY FORECAST 0052 01 SENSITIVITY FORECAST 0060 01 PERTURBED ANALYSIS 0061 01 PERTURBATION 0062 01 SINGULAR VECTOR 0127 01 MISSING VALUE 010063 0010 0000 02 INCREASING, THEN DECREASING: ATMOSPHERIC PRESURE THE SAME OR HIGHER THAN 3 HOURS AGO (OR 24 HOURS AGO ) 0001 01 INCREASING, THEN STEADY; OR INCREASING; THEN MORE SLOWLY 0002 01 INCREASING (STEADILY OR UNSTEADILY ) 0003 01 DECREASING OR STEADY, THEN INCREASING; RAPIDLY 0004 02 STEADY; ATMOSPHERIC PRESSURE THE SAME AS 3 HOURS AGO (OR 24 HOURS) 0005 02 DECREASING; THEN INCREASING; ATMOSPHERIC PRESSURE THE SAME O R LOWER THAN 3 HOURS AGO 0006 02 DECREASING, THEN STEADY; OR DECREASING, DECREASING MORE SLOW LY 0007 01 DECREASING (STEADILY OR UNSTEADELY ) 0008 02 STEADY OR INCREASING, THEN DECREASING; OR DECREASING, THEN DECREASING MORE RAPIDLY 0015 01 MISSING 010064 0004 0000 01 SUBSONIC 0001 01 TRANSONIC 0002 01 SUPERSONIC 0007 01 MISSING VALUE 011031 0009 0000 01 NIL IN CLOUD 0001 01 SLIGHT IN CLOUD 0002 01 MODERATE IN CLOUD 0003 01 SEVERE IN CLOUD 0004 01 NIL IN CLEAR AIR 0005 01 SLIGHT IN CLEAR AIR 0006 01 MODERATE IN CLEAR AIR 0007 01 SEVERE IN CLEAR AIR 0015 01 MISSING VALUE 011037 0030 0000 01 AVE <0.1 PEAK <0.1 0001 01 AVE <0.1 0.1 <= PEAK <0.2 0002 01 0.1 <= AVE <0.2 0.1 <= PEAK <0.2 0003 01 AVE <0.1 0.2 <= PEAK <0.3 0004 01 0.1 <= AVE <0.2 0.2 <= PEAK <0.3 0005 01 0.2 <= AVE <0.3 0.2 <= PEAK <0.3 0006 01 AVE <0.1 0.3 <= PEAK <0.4 0007 01 0.1 <= AVE <0.2 0.3 <= PEAK <0.4 0008 01 0.2 <= AVE <0.3 0.3 <= PEAK <0.4 0009 01 0.3 <= AVE <0.4 0.3 <= PEAK <0.4 0010 01 AVE <0.1 0.4 <= PEAK <0.5 0011 01 0.1 <= AVE <0.2 0.4 <= PEAK <0.5 0012 01 0.2 <= AVE <0.3 0.4 <= PEAK <0.5 0013 01 0.3 <= AVE <0.4 0.4 <= PEAK <0.5 0014 01 0.4 <= AVE <0.5 0.4 <= PEAK <0.5 0015 01 AVE <0.1 0.5 <= PEAK <0.8 0016 01 0.1 <= AVE <0.2 0.5 <= PEAK <0.8 0017 01 0.2 <= AVE <0.3 0.5 <= PEAK <0.8 0018 01 0.3 <= AVE <0.4 0.5 <= PEAK <0.8 0019 01 0.4 <= AVE <0.5 0.5 <= PEAK <0.8 0020 01 0.5 <= AVE <0.8 0.5 <= PEAK <0.8 0021 01 AVE <0.1 0.8 <= PEAK 0022 01 0.1 <= AVE <0.2 0.8 <= PEAK 0023 01 0.2 <= AVE <0.3 0.8 <= PEAK 0024 01 0.3 <= AVE <0.4 0.8 <= PEAK 0025 01 0.4 <= AVE <0.5 0.8 <= PEAK 0026 01 0.5 <= AVE <0.8 0.8 <= PEAK 0027 01 0.8 <= AVE 0.8 <= PEAK 0028 01 NIL NIL 0063 01 MISSING VALUE 011038 0017 0000 01 MIN < 1 0001 01 1 <= MIN < 2 0002 01 2 <= MIN < 3 0003 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0015 01 NO TIMING INFORMATION AVAILABLE 0031 01 MISSING VALUE 011039 0016 0000 01 1 <= MIN < 2 0001 01 2 <= MIN < 3 0002 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0060 01 NO TIMING INFORMATION AVAILABLE 0063 01 MISSING VALUE 013038 0004 0000 01 NOT SUPERADIABATIC 0001 01 SUPERADIABATIC 0002 01 RESERVED 0003 01 MISSING VALUE 013039 0003 0000 01 SEA ICE 0001 01 SNOW ON LAND 0007 01 MISSING VALUE 013040 0009 0000 01 LAND 0001 01 RESERVED 0002 01 NEAR COAST 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 DESERT 0015 01 MISSING VALUE 013041 0010 0001 01 A 0002 01 A-B 0003 01 B 0004 01 B-C 0005 01 C 0006 01 D 0007 01 E 0008 01 F 0009 01 G 0015 01 MISSING VALUE 013051 0008 0000 01 SMALLER THAN ANY VALUE IN THE 30 YEARS PERIOD 0001 01 IN THE FIRST QUINTILE 0002 01 IN THE SECOND QUINTILE 0003 01 IN THE THIRD QUINTILE 0004 01 IN THE FOURTH QUINTILE 0005 01 IN THE FIFTH QUINTILE 0006 01 GREATER THAN ANY VALUE IN THE 30 YEAR PERIOD 0015 01 MISSING VALUE 013056 0010 0000 01 NO PRECIPITATION 0001 01 LIGHT INTERMITTENT 0002 01 MODERATE INTERMITTENT 0003 01 HEAVY INTERMITTENT 0004 01 VERY HEAVY INTERMITTENT 0005 01 LIGHT CONTINUOUS 0006 01 MODERATE CONTINUOUS 0007 01 VERY HEAVY CONTINUOUS 0009 01 VARIABLE-ALTERNATIVELY LIGHT AND HEAVY 0015 01 MISSING VALUE 013057 0011 0000 01 NO PRECIPITATION 0001 01 WITHIN THE LAST HOUR 0002 01 1 TO 2 HOURS AGO 0003 01 2 TO 3 HOURS AGO 0004 01 3 TO 4 HOURS AGO 0005 01 4 TO 5 HOURS AGO 0006 01 5 TO 6 HOURS AGO 0007 01 6 TO 8 HOURS AGO 0008 01 8 TO 10 HOURS AGO 0009 01 MORE THAN 10 HOURS AHO 0015 01 MISSING VALUE 013202 0007 0000 01 LAND 0001 01 VEGETATION 0003 01 MULTI-YEAR ICE 0004 01 POSSIBLE ICE OR FIRST YEAR ICE 0005 01 OCEAN 0006 01 COASTLINE 0015 01 MISSING 015025 0000 0000 01 OZONE 0015 01 MISSING VALUE 019001 0007 0000 01 DEPRESSION OR LOW (EXTRATROPICAL) 0001 01 TROPICAL DEPRESSION 0002 01 TROPICAL STORM 0003 01 SEVERE TROPICAL STORM 0004 01 TYPHOON 0010 01 DUST/SANDSTORM 0063 01 MISSING VALUE 019008 0005 0000 01 RESERVED 0001 01 SHALLOW (TOP OF CIRCULATION BELOW 700-HPA LEVEL 0002 01 MEDIUM(TOP BETWEEN 700-HPA AND 400-HPA) 0003 01 DEEP(TOP ABOVE 400-HPA LEVEL 0007 01 MISSING VALUE 019010 0004 0000 01 RESERVED 0001 01 MINIMUM VALUE OF SEA LEVEL PRESSURE 0002 01 MAXIMUM VALUE OF 850 HPA RELATIVE VORTICITY 0015 01 MISSING VALUE 020003 0250 0000 01 CLOUD DEVELOPMENT NOT OBSERVED OR NOT OBSERVABLE 0001 01 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED 0002 01 STATE OF SKY ON THE WHOLE UNCHANGED 0003 01 CLOUDS GENERALLY FORMING OR DEVELOPING 0004 02 VISIBILITY REDUCED BY SMOKE, E.G. VELDT OR FOREST FIRES, IN DUSTRIAL SMOKE OR VOLCANIC ASHES 0005 01 HAZE 0006 02 WIDESPREAD DUST IN SUSPENSION IN THE AIR, NOT RAISED BY WIND AT OR NEAR THE STATION AT THE TIME OF OBSERVATION 0007 04 DUST OR SEND RAISED BY WIND AT OR NEAR THE STATION AT THE TI ME OF OBSERVATION, BUT NO WELL-DEVELOPED DUST WHRIL(S) OR SA ND WHRIL(S), AND NO DUSTSTORM OR SANDSTORM SEEN; OR, IN THE CASE OF SHIPS, BLOWING SPRAY AT THE STATION 0008 03 WELL-DEVELOPED DUST WHRIL(S) OR SAND WHRILS SEEN AT OR NEAR THE STATION DURING THE PRECEDING HOUR OR AT THE SAME TIME OF OBSERVATION, BUT NO DUSTSTORM OR SANDSTORM 0009 02 DUSTSTORM OR SANDSTORM WITHIN SIGHT AT THE TIME OF OBSERVATI ON, OR AT THE STATION DURING THE PRECEDING HOR 0010 01 MIST 0011 02 PACHES SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0012 03 MORE OR LESS CONTINUOUS SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0013 01 LIGHTNING VISIBLE, NO THUNDER HEARD 0014 02 PRECIPITATION WITHIN SIGHT, NOT REACHING THE GROUND OR THE SURFACE OF THE SEA 0015 03 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, BUT DISTANT, I.E. ESTIMATED TO BE MORE THAN 5 KM FROM THE STATION 0016 02 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, NEAR TO, BUT NOT AT THE STATION 0017 02 THUNDERSTORM, BUT NO PRECIPITATION AT THE TIME OF OBSERVATIO N 0018 02 SQUALLS AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDI NG HOUR OR AT THE TIME OF OBSERVATION 0019 02 FUNNEL CLOUD(S) AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0020 03 DRIZZEL (NOT FREEZING) OR SNOW GRAINS NOT FALLING AS SHOWERS ; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVAT IONS 0021 02 RAIN (NOT FREEZING) NOT FALLING AS SHOWER(S); DURING THE PRE ECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0022 02 SNOW NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0023 02 RAIN AND SNOW OR ICE PELLETS NOT FALLING AS SHOWER(S); DURIN G THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0024 02 FREEZING DRIZZEL OR FREEZING RAIN NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0025 02 SHOWER(S) OF RAIN; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0026 02 SHOWER(S) OF SNOW, OR OF RAIN AND SNOW; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0027 02 SHOWER(S) OF HAIL, OR OF RAIN AND HAIL; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0028 02 FOG OR ICE FOG; DURING THE PRECEDING HOUR BUT NOT AT THE TIM E OF OBSERVATION 0029 02 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION); DURING THE PRE CEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0030 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS DECREASED DURI NG THE PRECEDING HOURS 0031 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHA NGE DURING THE PRECEDING HOUR 0032 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS I NCEASED DURING THE PRECEDING HOUR 0033 02 SEVERE DUSTSTORM OR SANDSTORM HAS DECREASED DURING THE PREC EDING HOURS 0034 02 SEVERE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0035 02 SEVERE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS INCREASED DUR ING THE PRECEDING HOUR 0036 02 SLIGHT OR MODERATE DRIFTING SNOW GENERALLY LOW (BELOW EYE LE VEL) 0037 01 HEAVY DRIFTING SNOW GENERALY LOW (BELOW EYE LEVEL) 0038 02 SLIGHT OR MODERATE BLOWING SNOW GENERALLY HIGH (ABOVE EYE LE VEL) 0039 01 HEAVY BLOWING SNOW GENERALY HIGH (ABOVE EYE LEVEL) 0040 03 FOG OR ICE FOG AT A DISTANCE AT THE TIME OF OBSERVATION, BUT NOT AT THE STATION DURING THE PRECEDING HOUR, THE FOG OR IC E FOG EXTENDING TO A LEVEL ABOVE THAT OF THE OBSERVER 0041 01 FOG OR ICE FOG IN PATCHES 0042 02 FOG OR ICE FOG, SKY VISIBLE,HAS BECOME THINNER DURING THE PR ECEDING HOUR 0043 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BECOME THINNER DURING THE PRECEDING HOUR 0044 02 FOG OR ICE FOG, SKY VISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0045 02 FOG OR ICE FOG, SKY INVISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0046 02 FOG OR ICE FOG, SKY VISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0047 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0048 01 FOG, DEPOSITING RIME, SKY VISIBLE 0049 01 FOG, DEPOSITING RIME, SKY INVISIBLE 0050 02 DRIZZLE, NOT FREEZING, INTERMITTENT;SLIGHT AT TIME OF OBSERV ATION 0051 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;SLIGHT AT TIME OF OBSERV ATION 0052 02 DRIZZLE, NOT FREEZING, INTERMITTENT;MODERATE AT TIME OF OBSE RVATION 0053 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;MODERATE AT TIME OF OBSE RVATION 0054 02 DRIZZLE, NOT FREEZING, INTERMITTENT;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0055 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0056 01 DRIZZLE, FREEZING, SLIGHT 0057 01 DRIZZLE, FREEZING, MODERATE OR HEAVY (DENSE) 0058 01 DRIZZLE AND RAIN, SLIGHT 0059 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0060 01 RAIN,NOT FREEZING,INTERMITTENT;SLIGHT AT TIME OF OBSERVATION 0061 01 RAIN,NOT FREEZING,CONTINUOUS ;SLIGHT AT TIME OF OBSERVATION 0062 02 RAIN,NOT FREEZING,INTERMITTENT;MODERATE AT TIME OF OBSERVATI ON 0063 02 RAIN,NOT FREEZING,CONTINUOUS ;MODERATE AT TIME OF OBSERVATI ON 0064 02 RAIN, NOT FREEZING, INTERMITTENT;HEAVY AT TIME OF OBSERVATIO ON 0065 01 RAIN, NOT FREEZING, CONTINUOUS;HEAVY AT TIME OF OBSERVATION 0066 01 RAIN, FREEZING, SLIGHT 0067 01 RAIN, FREEZING, MODERATE OR HEAVY 0068 01 RAIN OR DRIZZLE AND SNOW, LIGHT 0069 01 RAIN OR DRIZZLE AND SNOW, MODERATE OR HEAVY 0070 02 INTERMITTENT FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0071 02 CONTINUOUS FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0072 02 INTERMITTENT FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0073 02 CONTINUOUS FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0074 02 INTERMITTENT FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0075 02 CONTINUOUS FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0076 01 DIAMOND DUST (WITH OR WITHOUT FOG) 0077 01 SNOW GRAINS (WITH OR WITHOUT FOG) 0078 01 ISOLATED STAR-LIKE SNOW CRYSTALS (WITH OR WITHOUT FOG) 0079 01 ICE PELLETS 0080 01 RAIN SHOWER(S), SLIGHT 0081 01 RAIN SHOWER(S), MODERATE OR HEAVY 0082 01 RAIN SHOWER(S), VIOLENT 0083 01 SHOWER(S) OF RAIN AND SNOW MIXED, SLIGHT 0084 01 SHOWER(S) OF RAIN AND SNOW MIXED, MODERATE OR HEAVY 0085 01 SNOW SHOWER(S), SLIGHT 0086 01 SNOW SHOWER(S), MODERATE OR HEAVY 0087 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, SLIGHT 0088 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, MODERATE OR HEAVY 0089 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, SLIGHT 0090 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, MODERATE OR HEAVY 0091 02 SLIGHT RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0092 02 MODERATE OR HEAVY RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0093 03 SLIGHT SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TIME OF OBSER VATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TI ME OF OBSERVATION 0094 03 MODERATE OR HEAVY SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TI ME OF OBSERVATION, THUNDERSTORM DURING PRECEDING HOUR BUT NO T AT TIME OF OBSERVATION 0095 03 THUNDERSTORM, SLIGHT OR MODERATE, WITHOUT HAIL, BUT WITH RAI N AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM DURING TH E PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0096 02 THUNDERSTORM, SLIGHT OR MODERATE,WITH HAIL AT TIME OF OBSERV ATION, THUNDERSTORM AT TIME OF OBSERVATION 0097 02 THUNDERSTORM, HEAVY, WITHOUT HAIL BUT WITH RAIN AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0098 02 THUNDERSTORM COMBINED WITH DUSTSTORM OR SANDSTORM AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0099 02 THUNDERSTORM, HEAVY, WITH HAIL AT TIME OF OBSERVATION, THUND ERSTORM AT TIME OF OBSERVATION 0100 01 NO SIGNIFICANT WEATHER OBSERVED 0101 02 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED DURIN G THE PAST HOUR 0102 01 STATE OF SKY ON THE WHOLE UNCHANGED DURING THE PAST HOUR 0103 01 CLOUDS GENERALLY FORMING OR DEVELOPING DURING THE PAST HOUR 0104 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY EQUAL TO, OR GREATER THAN 1KM 0105 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY LESS THAN 1KM 0110 01 MIST 0111 01 DIAMOND DUST 0112 01 DISTANT LIGHTING 0118 01 SQUALLS 0120 01 FOG 0121 01 PRECIPITATION 0122 01 DRIZZLE (NOT FREEZING) OR SNOW GRAINS 0123 01 RAIN (NOT FREEZING) 0124 01 SNOW 0125 01 FREEZING DRIZZLE OR FREEZING RAIN 0126 01 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION) 0127 01 BLOWING OR DRIFTING SNOW OR SAND 0128 02 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY EQUAL TO, OR GR ATER THAN, 1KM 0129 01 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY LESS THAN 1 KM 0130 01 FOG 0131 01 FOG OR ICE FOG, IN PATCHES 0132 01 FOG OR ICE FOG, HAS BECOME THINNER DURING PAST HOUR 0133 01 FOG OR ICE FOG, NO APPRECIABLE CHANGE DURING PAST HOUR 0134 01 FOG OR ICE FOG, HAS BECUNOR BECOME THICKER DURING PAST HOUR 0135 01 FOG, DEPOSITION RIME 0140 01 PRECIPITATION 0141 01 PRECIPITATION SLIGHT OR MODERATE 0142 01 PRECIPITATION, HEAVY 0143 01 LIQUID PRECIPITATION, SLIGHT OR MODERATE 0144 01 LIQUID PRECIPITATION, HEAVY 0145 01 SOLID PRECIPITATION, SLIGHT OR MODERATE 0146 01 SOLID PRECIPITATION, HEAVY 0147 01 FREEZING PRECIPITATION, SLIGHT OR MODERATE 0148 01 FREEZING PRECIPITATION, HEAVY 0150 01 DRIZZLE 0151 01 DRIZZLE, NOT FREEZING, SLIGHT 0152 01 DRIZZLE, NOT FREEZING, MODERATE 0153 01 DRIZZLE, NOT FREEZING, HEAVY 0154 01 DRIZZLE, FREEZING, SLIGHT 0155 01 DRIZZLE, FREEZING, MODERATE 0156 01 DRIZZLE, FREEZING, HEAVY 0157 01 DRIZZLE AND RAIN, SLIGHT 0158 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0160 01 RAIN 0161 01 RAIN, NOT FREEZING, SLIGHT 0162 01 RAIN, NOT FREEZING, MODERATE 0163 01 RAIN, NOT FREEZING, HEAVY 0164 01 RAIN, FREEZING, SLIGHT 0165 01 RAIN, FREEZING, MODERATE 0166 01 RAIN, FREEZING, HEAVY 0167 01 RAIN (OR DRIZZLE) AND SNOW, SLIGHT 0168 01 RAIN (OR DRIZZLE) AND SNOW, MODERATE AND HEAVY 0170 01 SNOW 0171 01 SNOW, SLIGHT 0172 01 SNOW, MODERATE 0173 01 SNOW, HEAVY 0174 01 ICE PELLETS, SLIGHT 0175 01 ICE PELLETS, MODERATE 0176 01 ICE PELLETS, HEAVY 0180 01 SHOWER(S) OR INTERMITTENT PRECIPITATION 0181 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, SLIGHT 0182 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, MODERATE 0183 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, HEAVY 0184 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, VIOLENT 0185 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, SLIGHT 0186 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, MODERATE 0187 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, HEAVY 0190 01 THUNDERSTORM 0191 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH NO PRECIPITATION 0192 02 THUNDERSTORM, SLIGHT OR MODERATE, WITH RAIN SHOWERS AND/OR S NOW SHOWERS 0193 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH HAIL 0194 01 THUNDERSTORM, HEAVY, WITH NO PRECIPITATION 0195 01 THUNDERSTORM, HEAVY, WITH RAIN SHOWERS AND/OR SNOW SHOWERS 0196 01 THUNDERSTORM, HEAVY, WITH HAIL 0204 01 VOLCANIC ASH SUSPENDED IN THE AIR ALOFT 0206 01 THICK DUST HAZE, VISIBILITY LESS THAN 1 KM 0207 01 BLOWING SPRAY AT THE STATION 0208 01 DRIFTING DUST (SAND) 0209 01 WALL OF DUST OR SAND IN DISTANCE (LIKE HABOOB) 0210 01 SNOW HAZE 0211 01 WHITEOUT 0213 01 LIGHTING, CLOUD TO SURFACE 0217 01 DRY THUNDERSTORM 0219 02 TORNADO CLOUD (DESTRUCTIVE AT OR WITHIN SIGHT OF THE STATION DURING PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0220 01 DEPOSITION OF VOLCANIC ASH 0221 01 DEPOSITION OF DUST OR SAND 0222 01 DEPOSITION OF DEW 0223 01 DEPOSITION OF WET SNOW 0224 01 DEPOSITION OF SOFT RIME 0225 01 DEPOSITION OF HARD RIME 0226 01 DEPOSITION OF HOAR FROST 0227 01 DEPOSITION OF GLAZE 0228 01 DEPOSITION OF ICE CRUST (ICE SLICK) 0230 01 DUSTSTORM OR SANDSTORM WITH TEMPERATURE BELOW 0 C DEGREES 0239 02 BLOWING SNOW, IMPOSSIBLE TO DETERMINE WHETHER SNOW IS FALLIN G OR NOT 0241 01 FOG ON SEA 0242 01 FOG IN VALLEYS 0243 01 ARCTIC OR ANTARCTIC SEA SMOKE 0244 01 STEAM FOG (SEA,LAKE OR RIVER) 0245 01 STEAM FOG (LAND) 0246 01 FOG OVER ICE OR SNOW COVER 0247 01 DENCE FOG VISIBILITY 60-90 M 0248 01 DENCE FOG VISIBILITY 30-60 M 0249 01 DENCE FOG VISIBILITY LESS THAN 30 M 0250 01 DRIZZLE, RATE OF FALL LESS THAN 0.10 MM/H 0251 01 DRIZZLE, RATE OF FALL 0.10 - .19 MM/H 0252 01 DRIZZLE, RATE OF FALL 0.20 - .39 MM/H 0253 01 DRIZZLE, RATE OF FALL 0.40 - .79 MM/H 0254 01 DRIZZLE, RATE OF FALL 0.80 - 1.59 MM/H 0255 01 DRIZZLE, RATE OF FALL 1.60 - 3.19 MM/H 0256 01 DRIZZLE, RATE OF FALL 3.20 - 6.39 MM/H 0257 01 DRIZZLE, RATE OF FALL 6.40 MM/H OR MORE 0259 01 DRIZZLE AND SNOW 0260 01 RAIN, RATE OF FALL LESS THAN 1.0 MM/H 0261 01 RAIN, RATE OF FALL 1.0 - 1.9 MM/H 0262 01 RAIN, RATE OF FALL 2.0 - 3.9 MM/H 0263 01 RAIN, RATE OF FALL 4.0 - 7.9 MM/H 0264 01 RAIN, RATE OF FALL 8.0 - 15.9 MM/H 0265 01 RAIN, RATE OF FALL 16.0 - 31.9 MM/H 0266 01 RAIN, RATE OF FALL 32.0 - 63.9 MM/H 0267 01 RAIN, RATE OF FALL 64.0 MM/H OR MORE 0270 01 SNOW, RATE OF FALL LESS THAN 1.0 CM/H 0271 01 SNOW, RATE OF FALL 1.0 - 1.9 CM/H 0272 01 SNOW, RATE OF FALL 2.0 - 3.9 CM/H 0273 01 SNOW, RATE OF FALL 4.0 - 7.9 CM/H 0274 01 SNOW, RATE OF FALL 8.0 - 15.9 CM/H 0275 01 SNOW, RATE OF FALL 16.0 - 31.9 CM/H 0276 01 SNOW, RATE OF FALL 32.0 - 63.9 CM/H 0277 01 SNOW, RATE OF FALL 64.0 CM/H OR MORE 0278 01 SNOW OR ICE CRISTAL PRECIPITATION FROM A CLEAR SKY 0279 01 WET SNOW, FREEZING ON CONTACT 0280 01 PRECIPITATION OF RAIN (WW= 87-99) 0281 01 PRECIPITATION OF RAIN,FREEZING (WW= 80-82) 0282 01 PRECIPITATION OF RAIN AND SNOW MIXED 0283 01 PRECIPITATION OF SNOW 0284 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL 0285 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN 0286 02 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN AND S NOW MIXED 0287 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH SNOW 0288 01 PRECIPITATION OF HAIL 0289 01 PRECIPITATION OF HAIL, WITH RAIN 0290 01 PRECIPITATION OF HAIL, WITH RAIN AND SNOW MIXED 0291 01 PRECIPITATION OF HAIL, WITH SNOW 0292 01 SHOWER(S) OR THUNDERSTORM OVER SEA 0293 01 SHOWER(S) OR THUNDERSTORM OVER MOUNTAINS 0508 02 NO SIGNIFICANT PHENOMENA TO REPORT, PRESENT AND PAST WEATHER OMITTED 0509 02 NOT OBSERVED, NO DATA AVAILABLE, PRESENT AND PAST WEATHER OM ITTED 0510 01 PRESENT AND PAST WEATHER MISSING, BUT EXPECTED 0511 01 MISSING VALUE 020004 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020005 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020008 0019 0000 01 SKY CLEAR 0001 01 FEW 0002 01 SCATTERED 0003 01 BROKEN 0004 01 OVERCAST 0005 01 RESERVED 0006 01 SCATTERED/BROKEN (MANY FORECASTS USE SCATTERED/BROKEN 0007 01 BROKEN/OVERCAST (BROKEN/OVERCAST FOLLOWED BY CLOUD TYPE(S)) 0008 01 ISOLATED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0009 01 ISOLATED EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0010 01 OCCASIONAL (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0011 01 OCCASIONAL EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0012 01 FREQUENT (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0013 02 DENSE (USED ON AVIATION CHARTS TO DESCRIBE CLOUD THAT WOULD CAUSE SUDDEN CHANGES IN VISIBILITY (LESS THAN 1000M)) 0014 01 LAYERS 0015 01 OBSCURED (OBSC) 0016 01 EMBEDDED (EMBD) 0017 01 FREQUENT EMBEDDED 0031 01 MISSING VALUE 020009 0006 0000 01 RESERVED 0001 01 NSC MIL SIGNIFICANT CLOUD 0002 01 CAVOK 0003 01 SKC SKY CLEAR 0004 01 NSW NIL SIGNIFICANT WEATHER 0015 01 MISSING VALUE 020011 0011 0000 01 0 0 0001 01 1 OKTA OR LESS, BUT NOT ZERO 1/10 OR LESS, BUT NOT ZERO 0002 01 2 OKTAS 2/10 - 3/10 0003 01 3 OKTAS 4/10 0004 01 4 OKTAS 5/10 0005 01 5 OKTAS 6/10 0006 01 6 OKTAS 7/10 - 8/10 0007 01 7 OKTAS OR MORE,BUT NOT 8 OKTAS9/10 OR MORE, BUT NOT 10/10 0008 01 8 OKTAS 10/10 0009 01 SKY OBSCURED BY FOG AND OR OTHER METEOROLOGICAL PHENOMENA 0015 02 CLOUD COVE IS INDISCERNIBLE FOR REASONS OTHER THAN FOG OR OT HER METEOROLOGICAL PHENOMENA, OR OBSERVATION IS NOT MADE 020012 0045 0000 01 CIRRUS (CI)...............CI 0001 01 CIRROCUMULUS (CC).........CC 0002 01 CIRROSTRATUS (CS).........CS 0003 01 ALTOCUMULUS (AC).........AC 0004 01 ALTOSTRATUS (AS).........AS 0005 01 NIMBOSTRATUS (NS).........NS 0006 01 STRATOCUMULUS(SC).........SC 0007 01 STRATUS (ST).........ST 0008 01 CUMULUS (CU).........CU 0009 01 CUMULONIMBUS (CB).........CB 0010 01 NO CH CLOUDS 0011 02 CIRRUS FIBRATUS, SOMETIMES UNCINUS, NOT PROGRESSIVELY INADIN G THE SKY 0012 04 CIRRUS SPISSATUS, IN PATCHES OR ENTANGLED SHEAVES, WHICH USU ALLY DO NOT INCREASE AND SOMETIMES SEEM TO BE THE REMAINS OF THE UPPER PART OF A CUMULONIMBUS; OR CIRRUS CASTELLANUS OR FLOCCUS 0013 01 CIRRUS SPISSATUS CUMULONIMBOGENITUS 0014 02 CIRRUS UNCINUS OR FIBRATUS,OR BOTH, PROGRESSIVELY INVADING T HE SKY ; THEY GENERALLY THICKEN AS A WHOLE 0015 04 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL DOES NOT REACH 45 DEGREES ABOVE THE HORIZON 0016 05 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL EXTENDS MORE THAN 45 DEGR REES ABOVE THE HORIZON, WITHOUT THE SKY BEING TOTALLY COVERE D 0017 01 CIRROSTRATUS COVERING THE WHOLE SKY 0018 02 CIRROSTRATUS NOT PROGRESSIVELY INVADING THE SKY AND NOT ENTI RELY COVERING IT 0019 02 CIRROCUMULUS ALONE, OR CIRROCUMULUS PREDOMINANT AMONG THE CH CLOUDS 0020 01 NO CM CLOUDS 0021 01 ALTOSTRATUS TRANSLUCIDUS 0022 01 ALTOSTRATUS OPACUS OR NIMBOSTRATUS 0023 01 ALTOCUMULUS TRANSLUCIDUS AT A SINGLE LEVEL 0024 02 PATCHES (OFTEN LENTICULARIS) OF ALTOCUMULUS TRANSLUCIDUS, CO NTINUALLY CHANGING AND OCCURING AT ONE OR MORE LEVELS 0025 04 ALTOCUMULUS TRANSLUCIDUS IN BANDS, OR ONE OR MORE LAYERS OF ALTOCUMULUS TRANSLUCIDUS OR OPACUS, PROGRESSIVELY INVADING T HE SKY; THESE ALTOCUMULUS CLOUDS GENERALLY THICKEN AS A WHOL E 0026 01 ALTOCUMULUS CUMULOGENITUS (OR CUMULONIMBOGENITUS) 0027 04 ALTOCUMULUS TRANSLUCIDUS OR OPACUS IN TWO OR MORE LAYERS, OR ALTOCUMULUS OPACUS IN A SINGLE LAYER, NOT PROGRESSIVELY INV ADING THE SKY, OR ALTOCUMULUS WITH ALTOSTRATUS OR NIMBOSTRAT US 0028 01 ALTOCUMULUS CASTELLANUS OR FLOCUS 0029 01 ALTOCUMULUS OF CHAOTIC SKY, GENERALLY AT SEVERAL LEVELS 0030 01 NO CL CLOUDS 0031 02 CUMULUS HUMILIS OR CUMULUS FRACTUS OTHER THAN OF BAD WEATHER , OR BOTH 0032 03 CUMULUS MEDIOCRIS OR CONGESTUS, WITH OR WITHOUT CUMULUS OF S PECIES FRACTUS OR HUMULIS OR STRATOCUMULUS, ALL HAVING THEIR BASES AT THE SAME LEVEL 0033 02 CUMULONIMBUS CALVUS, WITH OR WITHOUT CUMULUS, STRATOCUMULUS OR STRATUS 0034 01 STRATOCUMULUS CUMULOGENITUS 0035 01 STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGENITUS 0036 02 STRATUS NEBULOSUS OR STRATUS FRACTUS OTHER THAN OF BAD WEATH ER, OR BOTH 0037 02 STRATUS FRACTUS OR CUMULUS FRACTUS OF BAD WEATHER, OR BOTH (PANNUS), USUALLY BELOW ALTOSTRATUS OR NIMBOSTRATUS 0038 02 CUMULUS AND STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGEN ITUS, WITH BASES AT DIFFERENT LEVELS 0039 03 CUMULONIMBUS CAPILLATUS (OFTEN WITH AN ANVIL), WITH OR WITHO UT CUMULONIMBUS CALVUS, CUMULUS, STRATOCUMULUS, STRATUS OR P ANNUS 0059 02 CLOUD NOT VISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDSTO RM, OR OTHER ANALOGOUS PHENOMENA 0060 03 CH CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0061 03 CM CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0062 02 CL CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA 0063 01 MISSING VALUE 020017 0011 0000 01 ISOLATED CLOUD OR FRAGMENTS OF CLOUD 0001 01 CONTINUOUS CLOUD 0002 01 BROKEN CLOUD - SMALL BREAKS, FLAT TOPS 0003 01 BROKEN CLOUD - LARGE BREAKS, FLAT TOPS 0004 01 CONTINUOUS CLOUD 0005 01 BROKEN CLOUD - SMALL BREAKS, UNDULATED TOPS 0006 01 BROKEN CLOUD - LARGE BREAKS, UNDULATED TOPS 0007 02 CONTINUOUS OR ALMOST CONTINUOUS WAVES WITH TOWERING CLOUDS A BOVE THE TOP OF THE LAYER 0008 02 GROUPS OF WAVES WITH TOWERING CLOUDS ABOVE THE TOP OF THE LA YER 0009 01 TWO OR MORE LAYERS AT DIFFERENT LEVELS 0015 01 MISSING VALUE 020018 0004 0000 01 INCREASING (U) 0001 01 DECREASING (D) 0002 01 NO DISTINCT CHANGE (N) 0003 01 MISSING VALUE 020021 0024 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 0030 01 ALL 30 MISSING VALUE 020022 0007 0000 01 NO PRECIPITATION 0001 01 CONTINUOUS 0002 01 INTERMITTENT 0003 01 SHOWER 0004 01 NOT REACHING GROUND 0005 01 DEPOSITION 0015 01 MISSING VALUE 020023 0012 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 0012 01 WATER-SPOUT 020024 0007 0000 01 NO PHENOMENA 0001 01 LIGHT 0002 01 MODERATE 0003 01 HEAVY 0004 01 VIOLENT 0005 01 SEVERE (VAL) 0007 01 MISSING VALUE 020025 0011 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 0021 01 ALL 21 MISSING VALUE 020026 0014 0000 01 NO CHANGE 0001 01 SHALLOW 0002 01 PATCHES 0003 01 PARTIAL 0004 01 FREEZING 0005 01 LOW DRIFTING 0006 01 BLOWING 0007 01 INCREASING 0008 01 DECREASING 0009 01 IN SUSPENSION IN THE AIR 0010 01 WALL 0011 01 DENSE 0012 01 WHITEOUT 0015 01 MISSING VALUE 020027 0007 0001 01 AT TIME OF OBSERVATION 0002 01 IN PAST HOUR 0003 01 IN TIME PERIOD FOR PAST WEATHER W1W2 0004 01 IN TIME PERIOD SPECIFIED 0006 01 BELOW STATION LEVEL 0007 01 AT THE STATION 0008 01 IN THE VICINITY 0009 01 ALL 9 MISSING VALUE 020029 0004 0000 01 NO RAIN 0001 01 RAIN 0002 01 RESERVED 0003 01 MISSING VALUE 020032 0006 0000 01 ICE NOT BUILDING UP 0001 01 ICE BUILDING UP SLOWLY 0002 01 ICE BUILDING UP QUICKLY 0003 01 ICE MELTING OR BREAKING UP SLOWLY 0004 01 ICE MELTING OR BREAKING UP RAPIDLY 0007 01 MISSING VALUE 020033 0004 0001 01 ICING FROM OCEAN SPRAY 0002 01 ICING FROM FOG 0003 01 ICING FROM RAIN 0004 01 MISSING VALUE 020034 0012 0000 01 NO SEA ICE IN SIGHT 0001 02 SHIP IN OPEN LEAD MORE THAN 1.0 NAUTICAL MILE WIDE, OR SHIP IN FAST ICE WITH BOUNDARY BEYOND LIMIT OF VISIBILITY 0002 04 SEA ICE PRESENT IN CONCETRATION LESS THAN 3/10 (3/8), OPEN W ATER OR VERY OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0003 03 4/10 TO 6/10 (3/8 TO LESS THAN 6/8) ,OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0004 03 7/10 TO 8/10 (6/8 TO LESS THAN 7/8), CLOSE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN IC E OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0005 04 9/10 OR MORE, BUT NOT 10/10 (7/8 TO LESS THAN 8/8), VERY CLO SE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVAT ION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDG E 0006 03 STRIPS AND PATCHES OF PACK ICE WITH OPEN WATER BETWEEN, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SH IP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0007 04 STRIPS AND PATCHES OF CLOSE OR VERY CLOSE PACK ICE WITH AREA S OF LESSER CONCENTRATION BETWEEN, SEA ICE CONCETRATION IS N OT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0. 5 NAUTICAL MILE OF ICE EDGE 0008 04 FAST ICE WITH OPEN WATER,VERY OPEN OR OPEN PACK ICE TO SEAWA RD OF THE ICE BOUNDARY, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0009 04 FAST ICE CLOSE OR VERY CLOSE PACK ICE TO SEAWARD OF THE ICE BOUNDARY, SEA ICE CONCETRATION IS NOT UNIFORM IN THE OBSERVA TION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE ED GE 0014 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY, O R BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0015 01 MISSING VALUE 020035 0012 0000 01 NO ICE OF LAND ORIGIN 0001 01 1-5 ICEBERGS, NO GROWLERS OR BERGY BITS 0002 01 6-10 ICEBERGS, NO GROWLERS OR BERGY BITS 0003 01 11-20 ICEBERGS, NO GROWLERS OR BERGY BITS 0004 01 UP TO AND INCLUDING 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0005 01 MORE THAN 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0006 01 1-5 ICEBERGS, WITH GROWLERS AND BERGY BITS 0007 01 6-10 ICEBERGS, WITH GROWLERS AND BERGY BITS 0008 01 11-20 ICEBERGS, WITH GROWLERS AND BERGY BITS 0009 02 MORE THAN 20 ICEBERGS,WITH GROWLERS AND BERGY BITS - A MAJOR HAZARD TO NAVIGATION 0014 02 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY SEA ICE IS VISIBLE 0015 01 MISSING VALUE 020036 0012 0000 01 SHIP IN OPEN WATER WITH FLOATING ICE IN SIGHT 0001 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS IMPROVING 0002 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS NOT CHANGING 0003 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS WORSENING 0004 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS IMPROVING 0005 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS NOT CHANGING 0006 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE FORMING AND FLOES FREEZING TOGETHAR 0007 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER SLIGHT PRESSURE 0008 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER MODERATE OR SEVERE PRESSURE 0009 01 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. SHIP BESET. 0030 01 UNABLE TO REPORT, BECAUSE OF DARKNESS OR LACK OF VISIBILITY 0031 01 MISSING VALUE 020037 0012 0000 01 NEW ICE ONLY (FRAZIL ICE, GREASE ICE, SLUSH, SHUGA) 0001 01 NILAS OR ICE RIND, LESS THAN 10 CM THICK 0002 01 YOUNG ICE(GREY ICE, GREY-WHITE ICE 0003 01 PREDOMINANTLY NEW AND/OR YOUNG ICE WITH SOME FIRST-YEAR ICE 0004 01 PREDOMINANTLY THIN FIRST-YEAR ICE WITH SOME NEW AND/OR YOUNG ICE 0005 01 ALL THIN FIRST-YEAR ICE (30-70 CM THICK) 0006 02 PREDOMINANTLY MEDIUM FIRST-YEAR ICE (70-120 CM THICK) AND THICK FIRST-YEAR ICE (>120 CM 0007 01 ALL MEDIUM AND THICK FIRST-YEAR ICE 0008 02 PREDOMINANTLY MEDIUM AND THICK FIRST-YEAR ICE WITH SOME OLD ICE (USUALLY MORE THAN 2 METRES THICK) 0009 01 PREDOMINANTLY OLD ICE 0030 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY ICE OF LAND ORIGIN IS VISIBLE OR BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0031 01 MISSING VALUE 020040 0009 0000 01 DRIFT SNOW ENDED BEFORE THE HOUR OF OBSERVATION 0001 01 INTENSITY DIMINISHING 0002 01 NO CHANGE 0003 01 INTENSITY INCREASING 0004 01 CONTINUES, APART FROM INTERRUPTION LASTING LESS THAN 30 MINUTES 0005 01 GENERAL DRIFT SNOW HAS BECOME DRIFT SNOW NEAR THE GROUND 0006 01 DRIFT SNOW NEAR THE GROUND HAS BECOME GENERAL DRIFT SNOW 0007 01 DRIFT SNOW HAS STARTED AGAIN AFTER AN INTERRUPTION OF MORE THAN 30 MINUTES 0015 01 MISSING VALUE 020041 0011 0000 01 NO ICING 0001 01 LIGHT ICING 0002 01 LIGHT ICING IN CLOUD 0003 01 LIGHT ICING IN PRECIPITATION 0004 01 MODERATE ICING 0005 01 MODERATE ICING IN CLOUD 0006 01 MODERATE ICING IN PRECIPITATION 0007 01 SEVERE ICING 0008 01 SEVERE ICING IN CLOUD 0009 01 SEVERE ICING IN PRECIPITATION 0015 01 MISSING VALUE 020042 0004 0000 01 NO ICING 0001 01 ICING PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020045 0004 0000 01 NO SLD CONDITIONS PRESENT 0001 01 SLD CONDITIONS PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020050 0010 0000 01 RESERVED 0001 01 1ST LOW CLOUD 0002 01 2ND LOW CLOUD 0003 01 3RD LOW CLOUD 0004 01 1ST MEDIUM CLOUD 0005 01 2ND MEDIUM CLOUD 0006 01 3RD MEDIUM CLOUD 0007 01 1ST HIGH CLOUD 0008 01 2ND HIGH CLOUD 0255 01 MISSING VALUE 020055 0011 0000 01 CUMULUS, IF ANY, ARE QUITE SMALL 0001 01 CUMULUS OF INTERMEDIATE SIZE 0002 01 SWELLING CUMULUS 0003 01 SWELLING CUMULUS WITH TOWERS 0004 01 SWELLING CUMULUS WITH TOWERS HAVING PRONOUNCED TILT 0005 01 TALL CUMULUS CONGESTUS 0006 01 ISOLATED CUMULONIMBUS 0007 01 NUMEROUS CUMULONIMBUS 0008 01 CONTINUOUS DENSE MIDDLE CLOUDS 0009 01 CONTINUOUS SHEETS OF MIDDLE CLOUDS 0015 01 MISSING VALUE 020056 0005 0000 01 UNKNOWN 0001 01 WATER 0002 01 ICE 0003 01 MIXED 0007 01 MISSING VALUE 020062 0021 0000 02 SURFACE OF GROUND DRY (WITHOUT CRACKS AND NO APPRECIABLE AMOUNT OF DUST OR LOOSE SAND) 0001 01 SURFACE OF GROUND MOIST 0002 02 SURFACE OF GROUND WET (STANDING WATER IN SMALL OR LARGE POOLS ON SURFACE) 0003 01 FLOODED WITHOUT SNOW 0004 01 SURFACE OF GROUND FROZEN MEASURABLE ICE 0005 01 GLAZE ON GROUND COVER 0006 01 LOOSE DRY DUST OR SAND NOT COVERING GROUND COMPLETELY 0007 01 THIN COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0008 02 MODERATE OR THICK COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0009 01 EXTREMELY DRY WITH CRACKS 0010 01 GROUND PREDOMINANTLY COVERED BY ICE 0011 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING LESS THAN ONE-HALF OF THE GROUND 0012 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING AT LEAST ONE-HALF OF THE GROUND BUT GROUND NOT COMPLETELY COVERED 0013 01 EVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND COMPLETELY 0014 02 UNEVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND WITH SNOW OR COMPLETELY MEASURABLE ICE 0015 01 LOOSE DRY SNOW COVERING LESS THAN ONE-HALF OF THE GROUND COVER 0016 02 LOOSE DRY SNOW COVERING AT LEAST ONE-HALF OF THE GROUND (BUT NOT COMPLETELY) 0017 01 EVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0018 01 UNEVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0019 01 SNOW COVERING GROUND COMPLETELY; DEEP DRIFTS 0031 01 MISSING VALUE 020063 0001 0000 01 TO BE DEVELOPED 020071 0011 0000 01 NO ASSESSMENT NO ASSESSMENT 0001 01 LESS THAN 50 KM LESS THAN 1 PER SECOND 0002 01 BETWEEN 50 AND 200 KM LESS THAN 1 PER SECOND 0003 01 MORE THAN 200 KM LESS THAN 1 PER SECOND 0004 01 LESS THAN 50 KM 1 OR MORE PER SECOND 0005 01 BETWEEN 50 AND 200 KM 1 OR MORE PER SECOND 0006 01 MORE THAN 200 KM 1 OR MORE PER SECOND 0007 01 LESS THANK 50 KM RATE SO RAPID NUMBER CANNOT BE COUNTED 0008 01 BETWEEN 50 AND 200 KM RATE SO RAPID NUMBER CANNOT BE COUNTED 0009 01 MORE THAN 200 KM RATE SO RAPID NUMBER CANNOT BE COUNTED 0015 01 MISSING VALUE 020086 0008 0000 01 CLEAR AND DRY 0001 01 DAMP 0005 01 WET SNOW 0006 01 SLUSH 0007 01 ICE 0008 01 COMPACTED OR ROLLED SNOW 0009 01 FROZEN RUTS OR RIDGES 0015 01 MISSING VALUE 020090 0007 0000 01 RESERVED 0001 01 NACREOUS CLOUDS 0002 01 NOCTILUCENT CLOUDS 0003 01 CLOUDS FROM WATERFALLS 0004 01 CLOUDS FROM FIRES 0005 01 CLOUDS FROM VULCANIC ERUPTIONS 0015 01 MISSING VALUE 020101 0010 0001 01 SCHISTOCERCA GREGARIA 0002 01 LOCUSTA MIGRATORIA 0003 01 NOMADACRIS SEPTEMFASCIATA 0004 01 OEDALEUS SENAGALENSIS 0005 01 ANRACRIDIUM SPP 0006 01 OTHER LOCUST 0007 01 OTHER GRASSHOPPERS 0008 01 ITHER CRICKETS 0009 01 SPODOPTERA EXEMPTA 0015 01 MISSING VALUE 020102 0011 0000 01 GREEN 0001 01 GREEN AND BLACK 0002 01 BLACK 0003 01 YELLOW AND BLACK 0004 01 STRAW/GREY 0005 01 PINK 0006 01 DARK RED/BROWN 0007 01 MIXED RED AND YELLOW 0008 01 YELLOW 0009 01 OTHER 0015 01 MISSING VALUE 020151 0003 0000 01 FIRST YEAR ICE 0001 01 MULTI YEAR ICE 0007 01 MISSING 020252 0003 0000 01 NO EDGE 0001 01 EDGE PRESENT 0007 01 MISSING 020253 0007 0000 01 LAND 0001 01 VEGETATION COVERED LAND 0002 01 RESERVED 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 MISSING 021066 0011 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLINH WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIC VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF IN-PHASE AND QUADRATURE OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION =< MMCC VALUE 021067 0012 0001 01 NO FOREBEAM CALCULATION 0002 01 NO MIDBEAM CALCULATION 0003 01 NO AFTBEAM CALCULATION 0004 01 FOREBEAM ARCING DETECTED 0005 01 MID ARCING DETECTED 0006 01 AFTBEAM ARCING DETECTED 0007 01 ANY BEAM NOISE CONTENT ABOVE OR EQUAL TO TRESHOLD 0008 01 LAND (ANY LAND IN CELL FOOTPRINT) 0009 01 AUTONOMOUS AMBIGUITY REMOVAL NOT USED 0010 01 METEOROLOGICAL BACKGROUND NOT USED 0011 01 MINIMUM RESIDUAL EXCEEDED TRESHOLD 0012 01 FRAME CHECKSUM ERROR DETECTED 021068 0007 0001 01 STANDARD DEVIATION OF WIND SPEED OUTSIDE MMCC LIMIT 0002 01 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT OUTSIDE MMCC LIMIT 0003 01 STANDARD DEVIATION OF ALTITUDE OUTSIDE MMCC LIMIT 0004 01 MEAN PEAKINESS OUTSIDE MMCC LIMIT 0005 01 FRAME CHECKSUM ERROR DETECTED 0006 01 HEIGHT-TIME LOOP TIME CONSTANT CORRECTION NOT PERFORMED 0007 01 NOT ENOUGH MEASUREMENTS ( N< 10) 021069 0009 0001 01 12.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0002 01 11.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0003 01 3.7 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0004 01 1.6 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0005 02 CLOUD IDENTIFICATION USED 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST 0006 02 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST USED DYNAMIC TRESHOLD 0007 01 SUN GLINT DETECTED BY 1.6 MICROMETERS REFLECTANCE CLOUD TEST 0008 01 3.7 MICROMETERS USED IN SEA-SURFACE TEMPERATURE RETRIEVAL 0009 02 SEA-SURFACE TEMPERATURE DERIVATION USED DAYTIME DATA (NIGHT-TIME IF ZERO) 021070 0024 0001 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0002 01 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMBERING 0003 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0004 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0005 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0006 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0007 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0008 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0009 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0010 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0011 01 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMBERING 0012 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0013 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0014 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0015 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0016 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0017 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0018 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0019 01 NADIR VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0020 01 FORWARD VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0021 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS ACQUIRED WHEN ERS PLATFORM NOT IN YAW-STEERING MODE 0022 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS FOR WHICH PRODUCT CONFIDENCE DATA SHOW QUALITY IS POOR OR UNKNOWN 0023 01 MISSING VALUE 021072 0003 0001 01 HEIGHT ERROR CORRECTION APPLIED INSTEAD OF OPEN LOOP CALIBRATION 0002 01 MICROWAVE SOUNDER USED FOR TROPOSPHERE CORRECTION 0003 01 AGC OUTPUT CORRECTION APPLIED INSTED OF OPEN LOOP CALIBRATION 021073 0008 0001 01 BLANK DATA RECORD 0002 01 TEST 0003 01 CALIBRATION (CLOSED LOOP) 0004 01 BITE 0005 01 ACQUISITION ON ICE 0006 01 ACQUISITION ON OCEAN 0007 01 TRACKING ON ICE 0008 01 TRACKING ON OCEAN 021076 0004 0000 01 LINEAR 0001 01 LOGARITHMIC (BASE E) 0002 01 LOGARITHMIC (BASE 10) 0007 01 MISSING VALUE 021109 0008 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA0- FOR WIND RETRIEVAL 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0017 01 MISSING VALUE 021115 0011 0001 01 SIGMA-0 MEASUREMENT IS NOT USABLE 0002 01 SIGNAL TO NOISE RATIO IS LOW 0003 01 SIGMA-0 IS NEGATIVE 0004 01 SIGMA-0 IS OUTSIDE OF ACCEPTABLE RANGE 0005 01 SCATTEROMETER PULSE QUALITY IS NOT ACCEPTABLE 0006 01 SIGMA-0 CELL LOCATION ALGORITHM DOES NOT CONVERGE 0007 01 FREQUENCY SHIFT LIES BEYOND THE RANGE OF THE X FACTOR TABLE 0008 01 SPACECRAFT TEMPERATURE IS BEYOND CALIBRATION COEFFICIENT RANGE 0009 01 NO APPLICABLE ATTITUDE RECORDS WERE FOUND FOR THIS SIGMA-0 0010 01 INTERPOLATED EPHEMERIS DATA ARE NOT ACCEPTABLE FOR THIS SIGMA-0 0017 01 MISSING VALUE 021116 0016 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG (1) 0015 01 SLICES PER COMPOSITE FLAG (2) 0016 01 SLICES PER COMPOSITE FLAG (3) 021119 0014 0000 01 RESERVED 0001 01 SASS 0002 01 SASS2 0003 01 NSCAT0 0004 01 NSCAT1 0005 01 NSCAT2 0006 01 QSCAT0 0007 01 QSCAT1 0031 01 CMOD1 0032 01 CMOD2 0033 01 CMOD3 0034 01 CMOD4 0035 01 CMOD5 0064 01 MISSING VALUE 021144 0001 0001 01 RAIN 021150 0004 0000 01 DATA FROM SINGLE GROUND STATION (NO CO-LOCATION) 0001 01 DATA FROM MULTIPLE GROUND STATION (CO-LOCATED DATA) 0002 01 RESERVED 0003 01 MISSING VALUE 021155 0016 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA-0 FOR WIND RETRIEVAL 0003 01 ANY BEAM NOISE CONTENT ABOVE TRESHOLD 0004 01 PRODUCT MONITORING NOT USED 0005 01 PRODUCT MONITORING FLAG 0006 01 KNMI QUALITY CONTROL FAILS 0007 01 VARIATIONAL QUALITY CONTROL FAILS 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0013 01 RAIN FLAG FOR THE WIND VECTOR CELL IS NOT USABLE 0014 01 RAIN FLAG ALGORITHM DETECTS RAIN 0015 01 NO METEOROLOGICAL BACKGROUND USED 0016 01 DATA ARE REDUNDANT 021158 0004 0000 01 ACCEPTABLE 0001 01 NOT ACCEPTABLE 0002 01 RESERVED 0003 01 MISSING VALUE 021159 0004 0000 01 GOOD 0001 01 USABLE 0002 01 BAD 0003 01 MISSING VALUE 021169 0004 0000 01 NO ICE PRESENT 0001 01 ICE PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 021196 0012 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLING WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIED VALUE 0007 01 INPUT DATA MEAN AND STANDARD DEVIATION OF I AND Q OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VCALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION <= MMCC VALUE 0012 01 MISSING VALUE 021199 0007 0001 01 3.7 MICRO CHANNEL USED IN ASST DERIVATION 0002 01 ASST DERIVATION USED DATTIME DATA 0003 02 COMPARISON OF ASST AGAINST PREVIOUS EQUIVALENT PASS PERFORMED 0004 02 COMPARISON OF ASST AGAINST WEEKLY AVERAGE OF ASST PERFORMED 0005 01 0006 02 COMPARISON OF RATE OF CHANGE OF ASST AGAINST STATIC TRESHOLD PERFORMED 0007 01 MISSING VALUE 021227 0034 0000 01 RESERVED 0001 01 0-2 DEGREES 0002 01 3-4 DEGREES 0003 01 5-6 DEGREES 0004 01 7-6 DEGREES 0005 01 9-6 DEGREES 0006 01 11-12 DEGREES 0007 01 13-14 DEGREES 0008 01 15-16 DEGREES 0009 01 17-18 DEGREES 0010 01 19-20 DEGREES 0011 01 21-22 DEGREES 0012 01 23-24 DEGREES 0013 01 25-26 DEGREES 0014 01 27-28 DEGREES 0015 01 29-30 DEGREES 0016 01 31-32 DEGREES 0017 01 33-34 DEGREES 0018 01 35-36 DEGREES 0019 01 37-38 DEGREES 0020 01 39-40 DEGREES 0021 01 41-42 DEGREES 0022 01 43-44 DEGREES 0023 01 45-46 DEGREES 0024 01 47-48 DEGREES 0025 01 49-50 DEGREES 0026 01 51-52 DEGREES 0027 01 53-54 DEGREES 0028 01 55-56 DEGREES 0029 01 57-58 DEGREES 0030 01 59-60 DEGREES 0031 01 > 60 DEGREES 0032 01 INVALID 0064 01 MISSING VALUE 022056 0004 0000 01 UPWARDS PROFILE 0001 01 DOWNWARDS PROFILE 0002 01 HORIZONTAL 0003 01 MISSING VALUE 022060 0004 0000 01 DROGUE IS DETACHED 0001 01 DROGUE IS ATTACHED 0002 01 DROGUE STATUS UNKNOWN 0007 01 MISSING VALUE 022061 0011 0000 01 CALM (GLASSY) HEIGHT 0 M 0001 01 CALM (RIPPLED) HEIGHT 0 - 0.1 M 0002 01 SMOOTH (WAVELETS) HEIGHT 0.1 - 0.5 M 0003 01 SLIGHT HEIGHT 0.5 - 1.5 M 0004 01 MODERATE HEIGHT 1.25 - 2.5 M 0005 01 ROUGH HEIGHT 2.5 - 4 M 0006 01 VERY ROUGH HEIGHT 4 - 6 M 0007 01 HIGH HEIGHT 6 - 9 M 0008 01 VERY HIGH HEIGHT 9 -14 M 0009 01 PHENOMANAL HEIGHT OVER 14 M 0015 01 MISSING VALUE 022067 0001 0000 01 SEE COMMON CODE TABLE C3 022068 0001 0000 01 SEE COMMON CODE TABLE C4 022120 0013 0000 01 GOOD DATA 0001 01 MAXIMUM (HIGH) WATER LEVEL LIMIT EXCEEDED 0002 01 MINIMUM (LOW) WATER LEVEL LIMIT EXCEEDED 0003 01 RATE OF CHANGE LIMIT FOR WATER LEVEL EXCEEDED 0004 01 FLAT LIMIT FOR WATER LEVEL EXCEEDED 0005 01 OBSERVED MINUS PREDICTED WATER LEVEL VALUE LIMIT EXCEEDED 0006 02 OBSERVED VALUE FROM PRIMARY WATER LEVEL SENSOR MINUS BACKUP WATER LEVEL SENSOR 0007 01 VALUE EXCEEDED SPECIFIED TOLERANCE FROM EXPECTED VALUE 0008 01 WATER LEVEL QA PARAMETER (SIGMAS AND/OR OUTLIERS) LIMITS EXCEEDED 0009 01 SEA TEMPERATURE OUTSIDE OF EXPECTED RANGE 0010 01 MULTIPLE QC CHECKS (ABOVE) FAILED 0011 01 NO AUTOMATED WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022121 0009 0000 01 OPERATIONAL 0001 01 POSSIBLE CLOGGING PROBLEM OR OTHERWISE DEGRADED WATE LEVEL DATA 0002 01 POSSIBLE DATUM SHIFT 0003 01 UNKNOWN STATUS OF WATER LEVEL SENSOR 0004 01 SUSPECTED OR KNOWN SEA TEMPERATURE SENSOR PROBLEM 0005 01 MULTIPLE POSSIBLE PROBLEMS (ABOVE) 0006 01 BAD DATA- DO NOT DISSEMINATE 0007 01 NO MANUAL WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022122 0008 0000 01 GOOD DATA FROM ALL SENSORS 0001 01 WIND DIRECTION OUTSIDE OF ALLOWABLE RANGE 0002 01 WIND SPEED OUTSIDE OF EXPECTED RANGE 0003 01 BAROMETRIC PRESSURE OUTSIDE OF EXPECTED RANGE 0004 01 AIR TEMPERATURE OUTSIDE OF EXPECTED RANGE 0005 01 MULTIPLE SENSOR FAILED QC CHECKS 0006 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022123 0009 0000 01 OPERATIONAL 0001 01 SUSPECTED OR KNOWN PROBLEM WITH WIND SENSOR 0002 01 SUSPECTED OR KNOWN PROBLEM WITH BAROMETRIC PRESSURE SENSOR 0003 01 SUSPECTED OR KNOWN PROBLEM WITH AIR TEMPERATURE SENSOR 0004 01 UNKNOWN STATUS OF ALL SENSORS 0005 01 SUSPECTED OR KNOWN PROBLEMS WITH MULTIPLE SENSORS 0006 01 BAD DATA - DO NOT DISSEMINATE 0007 01 NO MANUAL METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022252 0006 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MAGNOLIA CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 023001 0005 0000 01 RESERVED 0001 01 ARTICLES 1 AND 2 0002 01 ARTICLE 3 0003 01 ARTICLE 5.2 0007 01 MISSING VALUE 023002 0016 0000 01 RESERVED 0001 01 NUCLEAR REACTOR ON GROUND 0002 01 NUCLEAR REACTOR ON SEA 0003 01 NUCLEAR REACTOR IN SPACE 0004 01 NUCLEAR FULE FACILITY 0005 01 RADIOACTIVE WASTE MANAGMENT FACITILY 0006 01 TRANSPORT OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0007 01 STORAGE OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0008 01 MANUFACTURE OF RADIO-ISOTOPES 0009 01 USE OF RADIO-ISOTOPES 0010 01 STORAGE OF RADIO-ISOTOPES 0011 01 DISPOSAL OF RADIO-ISOTOPS 0012 01 TRANSPORT OF RADIO-ISOTOPES 0013 01 USE OF RADIO-ISOTOPES FOR POWER GENERATION 0030 01 OTHER 0031 01 MISSING VALUE 023003 0008 0000 01 NO RELEASE 0001 01 RELEASE TO ATMOSPHERE 0002 01 RELEASE TO WATER 0003 01 RELEASE TO BOTH ATMOSPHERE AND WATER 0004 01 EXPECTED RELEASE TO ATMOSPHERE 0005 01 EXPECTED RELEASE TO WATER 0006 01 EXPECTED RELEASE TO BOTH ATMOSPHERE AND WATER 0007 01 MISSING VALUE 023004 0006 0000 01 NO COUNTERMEASURE 0001 01 EVACUATION 0002 01 SHELTERING 0003 01 PROPHILAXIS 0004 01 WATER 0007 01 MISSING VALUE 023005 0004 0000 01 INCIDENT STAT DOES NOT UNDERSTAND WHAT HAPPENED 0001 01 INCIDENT STATE KNOWS THE CAUSE OF THE INCIDENT 0002 01 RESERVED 0003 01 MISSING VALUE 023006 0008 0000 01 NO IMPROVEMENT 0001 01 UNSTABLE 0002 01 NO DETERIORATION 0003 01 IMPROVING 0004 01 STABLE 0005 01 DETERIORATING 0006 01 RESERVED 0007 01 MISSING VALUE 023007 0005 0000 01 NO RELEASE 0001 01 RELEASE HAS STOPPED 0002 01 RELEASE 0003 01 RELEASE IS CONTINUING 0007 01 MISSING VALUE 023008 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023009 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023016 0004 0000 01 NO SIGNIFICANT TOXIC HEALTH EFFECT 0001 01 SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT POSSIBLE 0002 01 RESERVED 0003 01 MISSING VALUE 023018 0006 0000 01 RELEASE NO LONGER OCCURRING 0001 01 RELEASE STILL OCCURRING 0002 01 RELEASE EXPECTED TO INCREASE IN NEXT SIX HOURS 0003 01 RELEASE EXPECTED TO REMAIN CONSTANT IN NEXT SIX HOURS 0004 01 RELEASE EXPECTED TO DECREASE IN NEXT SIX HOURS 0007 01 MISSING VALUE 023031 0004 0000 01 PLUME WILL NOT ENCOUNTER RAIN IN INCIDENT STATE 0001 01 PLUME WILL ENCOUNTER RAIN IN INCIDENT STATE 0002 01 RESERVED 0003 01 MISSING VALUE 023032 0004 0000 01 NO SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0001 01 ANTICIPATED SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0002 01 RESERVED 0003 01 MISSING VALUE 024003 0005 0000 01 NOBLE GASES 0001 01 IODINES 0002 01 CAESIUM 0003 01 TRANSURANICS 0031 01 MISSING VALUE 025004 0004 0000 01 INCOHERENT 0001 01 COHERENT (DOPPLER) 0002 01 RESERVED 0003 01 MISSING VALUE 025005 0004 0000 01 LOGATITHM - 2.5 DB 0001 01 LINEAR 0002 01 SPECIAL 0003 01 MISSING VALUE 025006 0005 0000 01 ZH TO R CONVERSION 0001 01 (ZH, ZDR) TO (NO.DO) TO R 0002 01 (Z(F1),Z(F2)) TO ATTENUATION TO R 0006 01 OTHER 0007 01 MISSING VALUE 025009 0004 0001 01 NONE 0002 01 CALIBRATION TARGET OR SIGNAL 0003 01 AGAINST RAINGAGES 0004 01 AGAINST OTHER INSTRUMENTS (DISTROMETER-ATTENUATION) 025010 0008 0000 01 NONE 0001 01 MAP 0002 01 INSERTION OF HIGHER ELEVATION DATA AND MAP 0003 01 ANALYSIS OF FLUCTUATING LOGARITHM SIGNAL (CLUTTER DETECTION) 0004 01 EXTRACTION OF FLUCTUATING PART OF LINEAR SIGNAL (CLUTTER SUPPRESSION) 0005 01 CLUTTER SUPPRESSION DOPPLER 0006 01 MULTIPARAMETER ANALYSIS 0015 01 MISSING VALUE 025011 0004 0000 01 NONE 0001 01 MAP OF CORRECTION FACTORS 0002 01 INTERPOLATION (AZIMUTH OR ELEVATION) 0003 01 MISSING VALUE 025012 0004 0000 01 HARDWARE 0001 01 SOFTWARE 0002 01 HARDWARE AND SOFTWARE 0003 01 MISSING VALUE 025013 0001 0001 01 BRIGHT BAND CORRECTION 025015 0001 0001 01 RADOME ATTENUATION CORRECTION 025017 0001 0001 01 PRECIPITATION ATTENUATION CORRECTION 025020 0004 0000 01 FTT (FAST FOURIER TRANSFORM 0001 01 PPP (PULSE PAIR PROCESSING 0002 01 VPC (VECTOR-PHASE CHANGE) 0003 01 MISSING VALUE 025021 0005 0001 01 SIMPLE AVERAGE 0002 01 CONSENSUS AVERAGE 0003 01 MEDIAN CHECK 0004 01 VERTICAL CONSISTENCY CHECK 0005 01 OTHER 025030 0004 0000 01 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE USAGE CRITERIA NOT MET 0001 01 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE DATA NOT AVAILABLE 0002 01 RUNNING MEAN SEA-SURFACE TEMPERATURE USED AS PREDICTOR 0003 01 MISSING VALUE 025032 0004 0000 01 RESERVED 0001 01 DATA FROM LOW MODE 0002 01 DATA FROM HIGH MODE 0003 01 MISSING VALUE 025033 0004 0000 01 WIND PROFILER OPERATING IN SUBMODE A 0001 01 WIND PROFILER OPERATING IN SUBMODE B 0002 01 RESERVED 0003 01 MISSING VALUE 025034 0004 0001 01 TEST A PERFORMED AND FAILED 0002 01 TEST B PERFORMED AND FAILED 0003 01 TEST RESULTS INCONCLUSIVE 025036 0004 0000 02 NETWORK OF SEVERAL DIRECTION-FINDERS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0001 02 NETWORK OF SEVERAL ARRIVAL-TIME STATIONS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0006 01 SINGLE STATION RANGE BEARING TECHNIQUE 0015 01 MISSING VALUE 025040 0010 0000 01 NON-SPECIFIC MODE 0001 01 FIRST GUESS DATA 0002 01 CLOUD DATA 0003 01 AVERAGE VECTOR DATA 0004 01 PRIMARY DATA 0005 01 GUESS DATA 0006 01 VECTOR DATA 0007 01 TRACER DATA; THE IMAGE 0008 01 TRACER DATA TO NEXT IMAGE 0015 01 MISSING VALUE 025041 0004 0000 01 DIRECTION ORIGINALLY REPORTED IN TRUE DEGREES 0001 01 DIRECTION ORIGINALLY REPORTED USING CODE TABLE 0700, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025042 0004 0000 01 SPEED ORIGINALLY REPORTED IN METERS PER SECOND 0001 01 SPEED ORIGINALLY REPORTED USING CODE TABLE 2251, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025045 0020 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 0016 01 CHANNEL 16 PRESENT - (SET TO 1 PRESENT) 0017 01 CHANNEL 17 PRESENT - (SET TO 1 PRESENT) 0018 01 CHANNEL 18 PRESENT - (SET TO 1 PRESENT) 0019 01 CHANNEL 19 PRESENT - (SET TO 1 PRESENT) 0020 01 CHANNEL 20 PRESENT - (SET TO 1 PRESENT) 025046 0004 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 025047 0003 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 025048 0015 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 025049 0005 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 025051 0006 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 025053 0006 0001 01 GOOD 0002 01 REDUNDANT 0003 01 QUESTIONABLE 0004 01 BAD 0005 01 EXPERIMENTAL 0006 01 PRECIPITATING 025069 0007 0001 01 SMOOTHED 0002 01 BASELINE ADJUSTED 0003 01 NORMALIZED TIME INTERVAL 0004 01 OUTLIER CHECKED 0005 01 PLAUSIBILITY CHECKED 0006 01 CONSISTENCY CHECKED 0007 01 INTERPOLATED 025086 0004 0000 01 DEPTHS ARE NOT CORRECTED 0001 01 DEPTHS ARE CORRECTED 0002 01 RESERVED 0003 01 MISSING VALUE 025093 0003 0001 01 NO CORRECTION 0002 01 VERTICAL VELOCITY CORRECTION 0007 01 ALL CORRECTIONS 025095 0001 0001 02 ALTIMETER OPERATING (SET TO 0 IF NOMINAL, SET TO BACKUP) 025096 0004 0001 01 MODE INDICATOR (0 IF MODE 2, 1 IF MODE 1) 0002 03 MODE 1 CALIBRATION SEQUENCE INDICATOR (0 IF NORMAL DATA TAKING EITHER MODE 1 OR 2, 1 IF MODE 1 CALIBRATION SEQUENCE) BITS 3 AND 4 INDICATE ACTIVE 23.8 GHZ CHANNEL 0003 01 CHANNEL 2 (0 IF ON, 1 IF OFF) 0004 01 CHANNEL 3 (0 IF ON, 1 IF OFF) 025097 0011 0000 01 RANGES BETWEEN 0 AND 30 CM 0001 01 RANGES BETWEEN 30 AND 60 CM 0002 01 RANGES BETWEEN 60 AND 90 CM 0003 01 RANGES BETWEEN 90 AND 120 CM 0004 01 RANGES BETWEEN 120 AND 150 CM 0005 01 RANGES BETWEEN 150 AND 180 CM 0006 01 RANGES BETWEEN 180 AND 210 CM 0007 01 RANGES BETWEEN 210 AND 240 CM 0008 01 RANGES BETWEEN 240 AND 270 CM 0009 01 RANGES LARGER THAN 270 CM 0015 01 MISSING VALUE 025098 0008 0001 01 KU BAND RANGE 0002 01 C BAND RANGE 0003 01 KU BAND SWH 0004 01 C BAND SWH 0005 01 KU BAND SCATTEROMETER COEFFICIENT 0006 01 C BAND SCATTEROMETER COEFFICIENT 0007 01 OFF NADIR ANGLE FROM KU BAND WVEFORM PARAMETERS 0008 01 OFF NADIR FROM PLATFORM 025099 0006 0001 01 KU BAND RANGE INSTRUMENTAL CORRECTION 0002 01 C BAND RANGE INSTRUMENTAL CORRECTION 0003 01 KU BAND SWH INSTRUMENTAL CORRECTION 0004 01 C BAND SWH INSTRUMENTAL CORRECTION 0005 01 KU BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 0006 01 C BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 025110 0006 0001 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING DEFAULT PARAMETERS 0002 01 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING RAW DATA ANALYSIS RESULTS 0003 01 ANTENNA ELEVATION PATTERN CORRECTION APPLIED 0004 01 NOMINAL CHIRP REPLICA USED 0005 01 RECONSTRUCTED CHIRP USED 0006 01 SLANT RANGE TO GROUND RANGE CONVERSION APPLIED 025120 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025122 0004 0000 01 HARDWARE CONFIGURATION FOR RF IS A 0001 01 HARDWARE CONFIGURATION FOR RF IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025123 0004 0000 01 HARDWARE CONFIGURATION FOR HPA IS A 0001 01 HARDWARE CONFIGURATION FOR HPA IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025124 0004 0000 01 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025144 0014 0001 01 PIXEL IS AFFECTED BY RFI EFFECTS 0002 01 PIXEL IS LOCATED IN THE HEXAGONAL ALIAS DIRECTION CENTRED ON SUN ALIAS 0003 01 PIXEL IS CLOSE TO THE BORDER DELIMITING THE EXTENDED ALIAS FREE ZONE 0004 01 PIXEL IS INSIDE THE EXTENDED ALIAS FREE ZONE 0005 01 PIXEL IS INSIDE THE EXCLUSIVE OF ALIAS FREE ZONE 0006 01 PIXEL IS LOCATED IN ZONE WHERE A MOON ALIAS WAS RECONSTRUCTED 0007 01 PIXEL IS LOCATED IN ZONE WHERE SUN REFLECTION HAS BEEN DETECTED 0008 01 PIXEL IS LOCATED IN ZONE WHERE SUN ALIAS WAS RECONSTRUCTED 0009 02 FLAT TARGET TRANSFORMATION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0010 02 SCENE HAS BEEN COMBINED WITH AN ADJUSTMENT SCENE IN OPOSITE POLARISATION DURING IMAGE RECONSTRUCTION TO ACCOUNT FOR CROSS-POLARISATION LEAKAGE 0011 02 DIRECT MOON CORRECTION HAS BENN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0012 02 REFLECTED SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION IF THIS PIXEL 0013 02 DIRECT SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS IMAGE 026010 0025 0001 01 0100 INCLUDED 0002 01 0200 INCLUDED 0003 01 0300 INCLUDED 0004 01 0400 INCLUDED 0005 01 0500 INCLUDED 0006 01 0600 INCLUDED 0007 01 0700 INCLUDED 0008 01 0800 INCLUDED 0009 01 0900 INCLUDED 0010 01 1000 INCLUDED 0011 01 1100 INCLUDED 0012 01 1200 INCLUDED 0013 01 1300 INCLUDED 0014 01 1400 INCLUDED 0015 01 1500 INCLUDED 0016 01 1600 INCLUDED 0017 01 1700 INCLUDED 0018 01 1800 INCLUDED 0019 01 1900 INCLUDED 0020 01 2000 INCLUDED 0021 01 2100 INCLUDED 0022 01 2200 INCLUDED 0023 01 2300 INCLUDED 0024 01 2400 INCLUDED 0025 01 UNKNOWN MIXTURE OF HOURS 029001 0006 0000 01 GNOMONIC PROJECTION 0001 01 POLAR STEREOGRAPHIC PROJECTION 0002 01 LAMBERT'S CONFORMAL CONIC PROJECTION 0003 01 MERCATOR'S PROJECTION 0004 01 SCANNING CONE (RADAR) 0007 01 MISSING VALUE 029002 0004 0000 01 CARTESIAN 0001 01 POLAR 0002 01 OTHER 0007 01 MISSING VALUE 030031 0013 0000 01 PPI 0001 01 COMPOSITE 0002 01 CAPPI 0003 01 VERTICAL SECTION 0004 01 ALPHANUMERIC DATA 0005 01 MAP OF SUBJECT CLUTTER 0006 01 MAP 0007 01 TEST PICTURE 0008 01 COMMENTS 0009 01 MAP OF GROUND OCCULTATION 0010 01 MAP OF RADAR BEAM HEIGHT 0014 01 OTHER 0015 01 MISSING VALUE 030032 0009 0001 01 MAP 0002 01 SATELLITE IR 0003 01 SATELLITE VIS 0004 01 SATELLITE WV 0005 01 SATELLITE MULTISPECTRAL 0006 01 SYNOPTIC OBSERVATIONS 0007 01 FORECAST PARAMETERS 0008 01 LIGHTNING DATA 0015 01 OTHER DATA 031021 0004 0001 01 1 BIT INDICATOR OF QUALITY, 0= GOOD; 1=SUSPECT OR BAD 0002 02 2 BIT INDICATOR OF QUALITY, 0= GOOD; 1= SLIGHTLY SUSPECTED; 2= HIGHLY SUSPECTED; 3=BAD 0007 01 PERCENTAGE CONFIDENCE 0063 01 MISSING VALUE 031031 0001 0001 01 DATA NOT PRESENT 033002 0004 0000 01 DATA NOT SUSPECT 0001 01 DATA SUSPECT 0002 01 RESERVED 0003 01 MISSING VALUE 033003 0005 0000 01 DATA NOT SUSPECT 0001 01 DATA SLIGHTLY SUSPECT 0002 01 DATA HIGHTLY SUSPECT 0003 01 DATA CONSIDERED UNFIT FOR USE 0007 01 MISSING VALUE 033005 0023 0001 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0002 01 PRESSURE DATA SUSPECT 0003 01 WIND DATA SUSPECT 0004 01 DRY-BULB TEMPERATURE DATA SUSPECT 0005 01 WET-BULB TEMPERATURE DATA SUSPECT 0006 01 HUMIDITY DATA SUSPECT 0007 01 GROUND TEMPERATURE DATA SUSPECT 0008 01 SOIL TEMPERATURE (DEPTH 1) DATA SUSPECT 0009 01 SOIL TEMPERATURE (DEPTH 2) DATA SUSPECT 0010 01 SOIL TEMPERATURE (DEPTH 3) DATA SUSPECT 0011 01 SOIL TEMPERATURE (DEPTH 4) DATA SUSPECT 0012 01 SOIL TEMPERATURE (DEPTH 5) DATA SUSPECT 0013 01 CLOUD DATA SUSPECT 0014 01 VISIBILITY DATA SUSPECT 0015 01 PRESENT WEATHER DATA SUSPECT 0016 01 LIGHTNING DATA SUSPECT 0017 01 ICE DEPOSIT DATA SUSPECT 0018 01 PRECIPITATION DATA SUSPECT 0019 01 STATE OF GROUND DATA SUSPECT 0020 01 SNOW DATA SUSPECT 0021 01 WATER CONTENT DATA SUSPECT 0022 01 EVAPORATION/EVAPOTRANSPIRATION DATA SUSPECT 0023 01 SUNSHINE DATA SUSPECT 033006 0005 0000 01 SELF-CHECK OK 0001 01 AT LEAST ONE WARNING ACTIVE, NO ALARMS 0002 01 AT LEAST ONE ALARM ACTIVE 0003 01 SENSOR FAILURE 0007 01 MISSING VALUE 033015 0016 0000 01 PASSED ALL CHECKS 0001 01 MISSING-DATA CHECK 0002 01 DESCENDING/REASCENDING BALLOON CHECK 0003 01 DATA PLAUSIBILITY CHECK (ABOVE LIMITS) 0004 01 DATA PLAUSIBILITY CHECK (BELOW LIMITS) 0005 01 SUPERADIABATIC LAPSE RATE CHECK 0006 01 LIMITING ANGLES CHECK 0007 01 ASCENSION RATE CHECK 0008 01 EXCESSIVE CHANGE FROM PREVIOUS FLIGHT 0009 01 BALLOON OVERHEAD CHECK 0010 01 WIND SPEED CHECK 0011 01 WIND DIRECTION CHECK 0012 01 DEPENDENCY CHECK 0013 01 DATA VALID BUT MODIFIED 0014 01 DATA OUTLIER CHECK 0063 01 MISSING DATA 033020 0008 0000 01 GOOD 0001 01 INCONSISTENT 0002 01 DOUBTFUL 0003 01 WRONG 0004 01 NOT CHECKED 0005 01 HAS BEEN CHECKED 0006 01 RESERVED 0007 01 MISSING VALUE 033021 0004 0000 01 WITHIN LIMITS 0001 01 OUTSIDE LIMITS 0002 01 RESERVED 0003 01 MISSING VALUE 033022 0004 0000 01 GOOD (SEVERAL IDENTICAL REPORTS HAVE BEEN RECEIVED) 0001 01 DUBIOUS (NO IDENTICAL REPORT HAVE BEEN RECEIVED) 0002 01 RESERVED 0003 01 MISSING VALUE 033023 0004 0000 01 RELIABLE (LOCATION WAS MADE OVER TWO SATELLITE PASSES) 0001 01 LATEST KNOWN (NO LOCATION OVER CORRESPONDING PASS) 0002 01 DUBIOUS 0003 01 MISSING VALUE 033024 0010 0000 01 RESERVED 0001 01 EXELLENT - WITHIN 3 METRES 0002 01 GOOD - WITHIN 10 METRES 0003 01 FAIR - WITHIN 20 METRES 0004 01 POOR - MORE THAN 20 METRES 0005 01 EXELLENT -WITHIN 10 FEET 0006 01 GOOD WITHIN-30 FEET 0007 01 FAIR WITHIN 60 FEET 0008 01 POOR - MORE THAN 60 FEET 0015 01 MISSING VALUE 033025 0005 0000 01 TIME INTERPOLATED, LATITUDE AND LONGITUDE REPORTED 0001 01 TIME REPORTED, LATITUDE AND LONGITUDE INTERPOLATED 0002 01 TIME, LATITUDE AND LONGITUDE INTERPOLATED 0003 01 TIME, LATITUDE AND LONGITUDE REPORTED 0007 01 MISSING VALUE 033026 0010 0000 01 NORMAL OPERATIONS - MEASUREMENT MODE 0001 01 NORMAL OPERATIONS - NON-MEASUREMENT MODE 0002 01 SMALL RH 0003 01 HUMIDITY ELEMENT IS WET 0004 01 HUMIDITY ELEMENT IS CONTAMINATED 0005 01 HEATER FAIL 0006 01 HEATER FAIL AND WET/CONTAMINATED HUMIDITY ELEMENT 0007 01 SINGLE VALIDITY BAD 0008 01 NUMERIC ERROR 0063 01 MISSING VALUE 033027 0005 0000 01 RADIUS >= 1500 M 0001 01 500 M <= RADIUS < 1500 M 0002 01 250 M <= RADIUS < 500 M 0003 01 RADIUS < 250 M 0007 01 MISSING VALUE 033028 0006 0000 01 RESERVED 0001 01 NOMINAL 0002 01 DEGRADED BY SW ERROR; ANY ERROR REPORTED BY THE ALGORITHMS 0003 01 DEGRADED BY INSTRUMENT ERROR 0004 01 DEGRADED BY CORRUPTED/MISSING ADF 0007 01 MISSING 033030 0007 0001 01 DO NOT USE SCAN FOR PRODUCT GENERATION 0002 01 TIME SEQUENCE ERROR DETECTED WITH THIS SCAN 0003 01 DATA GAP PRECEDES THIS SCAN 0004 01 NO CALIBRATION 0005 01 NO EARTH LOCATION 0006 01 FIRST GOOD TIME FOLLOWING A CLOCK UPDATE 0007 01 INSTRUMENT STATUS CHANGED WITH THIS SCAN 033031 0021 0001 01 TIME FIELD IS BAD BUT CAN PROBABLY BE INFERRED FROM THE PREVIOUS GOOD TIME 0002 01 TIME FIELD IS BAD AND CANÂ~@~YT BE INFERRED FROM THE PREVIOUS GOOD TIME 0003 04 THIS RECORD STARTS A SEQUENCE THAT IS INCONSISTENT WITH PREVIOUS TIMES (I.E. THERE IS A TIME DISCONTINUITY). THIS MAY OR MAY NOT BE ASSOCIATED WITH A SPACECRAFT CLOCK UPDATE (SEE SCAN LINE STATUS FLAGS FOR ATOVS) 0004 02 START OF A SEQUENCE THAT APPARENTLY REPEATS SCAN TIMES THAT HAVE BEEN PREVIOUSLY ACCEPTED 0005 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD TIME 0006 03 SCAN LINE WAS CALIBRATED USING FEWER THAN THE PREFERRED NUMBER OF SCAN LINES BECAUSE OF PROXIMATY TO START OR END OF DATA OR TO A DATA GAP 0007 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD OR INSUFFICIENT PRT DATA 0008 01 SCAN LINE WAS CALIBRATED BUT WITH MARGINAL PRT DATA 0009 01 SOME UNCALIBRATED CHANNELS ON THIS SCAN 0010 01 UNCALIBRATED DUE TO INSTRUMENT MODE 0011 01 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR OF SPACE VIEW 0012 01 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR OF BLACK BODY 0013 01 NOT EARTH LOCATED BECAUSE OF BAD TIME 0014 03 EARTH LOCATION QUESTIONABLE BECAUSE OF QUESTIONABLE TIME CODE (SEE TIME PROBLEM CODE BITS) 0015 02 EARTH LOCATION QUESTIONABLE - ONLY MARGINAL AGREEMENT WITH REASONABLENESS CHECK 0016 01 EARTH LOCATION QUESTIONABLE - FAILS REASONABLENESS CHECK 0017 01 EARTH LOCATION QUESTIONABLE BECAUSE OF ANTENNA POSITION CHECK 0018 01 SCAN LINE CALIBRATION COLD BLACK BODY 0019 01 SCAN LINE CALIBRATION WARM BLACK BODY 0020 01 SCAN LINE CALIBRATION SPACE VIEW 0021 01 EARTH VIEW 033032 0006 0001 01 NO GOOD BLACKBODY COUNTS FOR SCAN LINE 0002 01 NO GOOD SPACE VIEW COUNTS FOR THIS LINE 0003 01 NO GOOD PRTS FOR THIS LINE 0004 01 SOME BAD BLACKBODY VIEW COUNTS FOR THIS LINE 0005 01 SOME BAD SPACE VIEW COUNTS FOR THIS LINE 0006 01 SOME BAD PRT TEMPS ON THIS LINE 033033 0023 0001 01 SET IF SECONDARY CALIBRATION USED 0002 02 BRIGHTNESS TEMPERATURE IN CHANNEL 1 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0003 02 BRIGHTNESS TEMPERATURE IN CHANNEL 2 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0004 02 BRIGHTNESS TEMPERATURE IN CHANNEL 3 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0005 02 BRIGHTNESS TEMPERATURE IN CHANNEL 4 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0006 02 BRIGHTNESS TEMPERATURE IN CHANNEL 5 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0007 02 BRIGHTNESS TEMPERATURE IN CHANNEL 6 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0008 02 BRIGHTNESS TEMPERATURE IN CHANNEL 7 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0009 02 BRIGHTNESS TEMPERATURE IN CHANNEL 8 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0010 02 BRIGHTNESS TEMPERATURE IN CHANNEL 9 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0011 02 BRIGHTNESS TEMPERATURE IN CHANNEL 10 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0012 02 BRIGHTNESS TEMPERATURE IN CHANNEL 11 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0013 02 BRIGHTNESS TEMPERATURE IN CHANNEL 12 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0014 02 BRIGHTNESS TEMPERATURE IN CHANNEL 13 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0015 02 BRIGHTNESS TEMPERATURE IN CHANNEL 14 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0016 02 BRIGHTNESS TEMPERATURE IN CHANNEL 15 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0017 02 BRIGHTNESS TEMPERATURE IN CHANNEL 16 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0018 02 BRIGHTNESS TEMPERATURE IN CHANNEL 17 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0019 02 BRIGHTNESS TEMPERATURE IN CHANNEL 18 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0020 02 BRIGHTNESS TEMPERATURE IN CHANNEL 19 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0021 02 BRIGHTNESS TEMPERATURE IN CHANNEL 20 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0022 01 SET IF ALL CHANNELS ARE MISSING 0023 01 SUSPECT 033035 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 0006 01 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND NOT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033037 0020 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 033038 0009 0001 01 TOTAL ZENITH DELAY QUALITY IS CONSIDERED POOR 0002 01 GALILEO SATELLITES USED 0003 01 GLONASS SATELLITES USED 0004 01 GPS SATELLITES USED 0005 01 METEOROLOGICAL DATA APPLIED 0006 01 ATMOSPHERIC LOADING CORRECTION APPLIED 0007 01 OCEAN TIDE LOADING APPLIED 0008 01 CLIMATE QUALITY DATA PROCESSING 0009 01 NEAR-REAL TIME DATA PROCESSING 033039 0009 0001 01 NON-NOMINAL QUALITY 0002 01 OFFLINE PRODUCT 0003 01 ASCENDING OCCULTATION FLAG 0004 01 EXCESS PHASE PROCESSING NON-NOMINAL 0005 01 BENDING ANGLE PROCESSING NON-NOMINAL 0006 01 REFRACTIVITY PROCESSING NON-NOMINAL 0007 01 METEOROLOGICAL PROCESSING NON-NOMINAL 0014 01 BACKGROUND PROFILE NON-NOMINAL 0015 01 BACKGROUND (I.E. NOT RETRIEVED) PROFILE PRESENT 033041 0004 0000 01 THE FOLLOWING VALUE IS THE TRUE VALUE 0001 02 THE FOLLOWING VALUE IS HIGHER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE LOWER LIMIT OF THE INSTRUMENT) 0002 02 THE FOLLOWING VALUE IS LOWER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE HIGHER LIMIT OF THE INSTRUMENT) 0003 01 MISSING VALUE 033042 0005 0000 01 EXCLUSIVE LOWER LIMIT (>) 0001 01 INCLUSIVE LOWER LIMIT (>=) 0002 01 EXCLUSIVE UPPER LIMIT (<) 0003 01 INCLUSIVE UPPER LIMIT (=<) 0007 01 MISSING VALUE 033043 0004 0001 02 SEA MDS. NADIR ONLY SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED 0002 02 SEA MDS. DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED. 0003 01 NADIR VIEW CONTAINS DAY TIME DATA 0004 01 FORWARD VIEW CONTAINS DAY TIME DATA 033044 0014 0001 01 INPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0002 01 INPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0003 01 NUMBER OF INPUT DATA GAPS > THRESHOLD VALUE 0004 01 PERCENTAGE OF MISSING LINES > THRESHOLD VALUE 0005 01 DOPPLER CENTROID UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VALUE 0006 01 DOPPLER AMBIGUITY ESTIMATE UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VALUE 0007 01 OUTPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0008 01 OUTPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0009 01 CHIRP RECONSTRUCTION FAILED OR IS OF LOW QUALITY FLAG 0010 01 DATA SET MISSING 0011 01 INVALID DOWNLINK PARAMETERS 0012 02 AZIMUTH CUT-OFF ITERATION COUNT. THE AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0013 02 AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0014 03 PHASE INFORMATION CONFIDENCE MEASURE. THE IMAGINARY SPECTRAL PEAK IS LESS THAN A MINIMUM THRESHOLD, OR THE ZERO LAG SHIFT IS GREATER THAN A MINIMUM THRESHOLD 033047 0026 0001 01 ERROR DETECTED AND ATTEMPTS TO RECOVER MADE 0002 01 ANOMALY IN ON-BOARD DATA HANDLING (OBDH) VALUE DETECTED 0003 01 ANOMALY IN ULTRA STABLE OSCILLATOR PROCESSING (USOP) VALUE DETECTED 0004 01 ERRORS DETECTED BY ON-BOARD COMPUTER 0005 01 AUTOMATIC GAIN CONTROL (AGC) OUT OF RANGE 0006 01 RX DELAY FAULT. RX DISTANCE OUT OF RANGE 0007 01 WAVE FORM SAMPLES FAULT IDENTIFIER. ERROR 0012 01 BRIGHTNESS TEMPERATURE (CHANNEL 1) OUT OF RANGE 0013 01 BRIGHTNESS TEMPERATURE (CHANNEL 2) OUT OF RANGE 0014 01 RESERVED 0015 01 KU OCEAN RETRACKING ERROR 0016 01 S OCEAN RETRACKING ERROR 0017 01 KU ICE 1 RETRACKING ERROR 0018 01 S ICE 1 RETRACKING ERROR 0019 01 KU ICE 2 RETRACKING ERROR 0020 01 S ICE 2 RETRACKING ERROR 0021 01 KU SEA ICE RETRACKING ERROR 0022 01 ARITHMETIC FAULT ERROR 0023 01 METEO DATA STATE. NO MAP 0024 01 METEO DATA STATE. 1 MAP 0025 01 METEO DATA STATE 2 MAPS DEGRADED 0026 01 METEO DATA STATE 2 MAPS NOMINAL 0027 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, SEVERAL ERRORS 0028 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, WARNING DETECTED 0029 01 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, SEVERAL ERRORS 0030 01 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, WARNING DETECTED 033048 0004 0000 01 INVERSION SUCCESSFUL 0001 01 INVERSION NOT SUCCESSFUL 0002 01 RESERVED 0003 01 MISSING VALUE 033049 0004 0000 01 EXTERNAL WIND DIRECTION USED DURING INVERSION 0001 01 EXTERNAL WIND DIRECTION NOT USED DURING INVERSION 0002 01 RESERVED 0003 01 MISSING VALUE 033050 0008 0000 01 UNQUALIFIED 0001 01 CORRECT VALUE (ALL CHECKS PASSED) 0002 01 PROBABLY GOOD BUT VALUE INCONSISTENT WITH STATISTICS (DIFFER FROM CLIMATOLOGY) 0003 01 PROBABLY BAD (SPIKE, GRADIENT, Â~E IF OTHER TESTS PASSED) 0004 02 BAD VALUE, IMPOSSIBLE VALUE (OUT OF SCALE, VERTICAL INSTABILITY, CONSTANT PROFILE) 0005 01 VALUE MODIFIED DURING QUALITY CONTROL 0008 01 INTERPOLATED VALUE 0015 01 MISSING VALUE 033052 0020 0001 01 DATA BLOCK 1 INVALID (S BAND) 0002 01 DATA BLOCK 2 INVALID (S BAND) 0003 01 DATA BLOCK 3 INVALID (S BAND) 0004 01 DATA BLOCK 4 INVALID (S BAND) 0005 01 DATA BLOCK 5 INVALID (S BAND) 0006 01 DATA BLOCK 6 INVALID (S BAND) 0007 01 DATA BLOCK 7 INVALID (S BAND) 0008 01 DATA BLOCK 8 INVALID (S BAND) 0009 01 DATA BLOCK 9 INVALID (S BAND) 0010 01 DATA BLOCK 10 INVALID (S BAND) 0011 01 DATA BLOCK 11 INVALID (S BAND) 0012 01 DATA BLOCK 12 INVALID (S BAND) 0013 01 DATA BLOCK 13 INVALID (S BAND) 0014 01 DATA BLOCK 14 INVALID (S BAND) 0015 01 DATA BLOCK 15 INVALID (S BAND) 0016 01 DATA BLOCK 16 INVALID (S BAND) 0017 01 DATA BLOCK 17 INVALID (S BAND) 0018 01 DATA BLOCK 18 INVALID (S BAND) 0019 01 DATA BLOCK 19 INVALID (S BAND) 0020 01 DATA BLOCK 20 INVALID (S BAND) 033053 0020 0001 01 DATA BLOCK 1 INVALID (KU BAND) 0002 01 DATA BLOCK 2 INVALID (KU BAND) 0003 01 DATA BLOCK 3 INVALID (KU BAND) 0004 01 DATA BLOCK 4 INVALID (KU BAND) 0005 01 DATA BLOCK 5 INVALID (KU BAND) 0006 01 DATA BLOCK 6 INVALID (KU BAND) 0007 01 DATA BLOCK 7 INVALID (KU BAND) 0008 01 DATA BLOCK 8 INVALID (KU BAND) 0009 01 DATA BLOCK 9 INVALID (KU BAND) 0010 01 DATA BLOCK 10 INVALID (KU BAND) 0011 01 DATA BLOCK 11 INVALID (KU BAND) 0012 01 DATA BLOCK 12 INVALID (KU BAND) 0013 01 DATA BLOCK 13 INVALID (KU BAND) 0014 01 DATA BLOCK 14 INVALID (KU BAND) 0015 01 DATA BLOCK 15 INVALID (KU BAND) 0016 01 DATA BLOCK 16 INVALID (KU BAND) 0017 01 DATA BLOCK 17 INVALID (KU BAND) 0018 01 DATA BLOCK 18 INVALID (KU BAND) 0019 01 DATA BLOCK 19 INVALID (KU BAND) 0020 01 DATA BLOCK 20 INVALID (KU BAND) 033060 0004 0000 01 PARAMETER=GOOD 0001 01 PARAMETER=BAD 0002 01 PARAMETER=RESERVED 0003 01 MISSING 033075 0005 0001 01 GAP IN RAW DATA RECORD DATA DETECTED 0002 01 RECORDED TIME IS NOT IN SEQUENCE 0003 01 LAMDA MONITORED CALCULATION CANNOT BE CALCULATED 0004 02 THE MEASURED TEMPERATURE OF ANY INSTRUMENT COMPONENT IS OUTSIDE THE ALLOWABLE RANGE 0005 02 AT LEAST ONE OF THE MONITORED INSTRUMENT TEMPERATURES HAS DRIFTED MORE THAN A SPECIFIED TOLERANCE VALUE 033076 0002 0001 01 LUNAR INTRUSION ON FIRST DEEP SPACE VIEW 0002 01 LUNAR INTRUSION ON SECOND DEEP SPACE VIEW 033077 0012 0001 01 DEGRADED SDR QUALITY 0002 01 INVALID SDR QUALITY 0003 01 INVALID SDR GEOLOCATION INFORMATION 0004 01 DEGRADED RADIOMETRIC CALIBRATION 0005 01 INVALID RADIOMETRIC CALIBRATION 0006 01 DEGRADED SPECTRAL CALIBRATION 0007 01 INVALID SPECTRAL CALIBRATION 0008 01 FRINGE COUNT ERROR DETECTED AND CORRECTED 0009 01 DAy/NIGHT INDICATOR 0010 01 INVALID RDR DATA 0011 01 SIGNIFICANT FRINGE COUNT ERROR DETECTED 0012 01 BIT TRIM FAILED 033078 0005 0000 01 NOMINAL- ALTITUDE AND EPHEMERIS DATA AVAILABLE 0001 01 MISSING AT MOST A SMALL GAP OF ALTITUDE AND EPHEMERIS 0002 02 MISSING MORE THAN A SMALL GAP OF ALTITUDE AND EPHEMERIS DATA, BUT NO MORE THAN A GRANULE BOUNDARY 0003 01 MISSING MORE THAN GRANULE BOUNDARY OF ALTITUDE AND EPHEMERIS 0015 01 MISSING VALUE 033195 0004 0000 01 DEALIASING NOT USED 0001 01 DEALIASING USED 0002 01 RESERVED 0003 01 MISSING 033205 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033206 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033207 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033208 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033209 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033220 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 REPORT REJECTED THROUGH THE NAMELIST 0017 01 MODEL SUR. TOO FAR FROM STAT. ALT. 0018 01 MISSING STATION ALTITUDE 0019 01 REPORT OVER SEA 0020 01 REPORT OVER LAND 0021 01 REDUNDANT REPORT 0022 01 TIME OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 HORIZONTAL POSITION OUT OF RANGE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 BAD REPORTING PRACTICE 0029 01 ALL DATA REJECTED 0030 01 NO DATA IN THE REPORT 033221 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033222 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033223 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033224 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033225 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033226 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033227 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033228 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033229 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 THINNED REPORT 033230 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033232 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 BLACKLISTED DUE TO DISTANCE FROM REF. POINT 0015 01 BLACKLISTED DUE TO MODEL OROGRAPHY 0016 01 BLACKLISTED DUE TO LAND/SEA MASK 0017 01 STATION ALTITUDE BLACKLISTED 0018 01 LONGITUDE BLACKLISTED 0019 01 LATITUDE BLACKLISTED 0020 01 TIME BLACKLISTED 0021 01 DATE BLACKLISTED 0022 01 INSTRUMENT TYPE BLACKLISTED 0023 01 CODE TYPE BLACKLISTED 0024 01 STATION ID BLACKLISTED 0025 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0026 01 BLACKLISTED DUE TO OBSERVED VALUE 0027 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE NAME BLACKLISTED 0030 01 MONTHLY MONITORING 033233 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 REPORT BLACK LISTED 0028 01 REPORT REJECTED 0029 01 REPORT PASSIVE 0030 01 REPORT ACTIVE 033234 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 DATUM BLACK LISTED 0028 01 DATUM REJECTED 0029 01 DATUM PASSIVE 0030 01 DATUM ACTIVE 033236 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 DATUM REJECTED DUE TO REJECTED REPORT 0006 01 COMBINED FLAGGING 0007 01 DATUM REJECTED DUE TO NAMELIST 0008 01 VERTICAL COORDINATE CHANGE FROM Z TO P 0009 01 VERTICAL CONSISTENCY CHECK 0010 01 LEVEL SELECTION 0011 01 MULTI LEVEL CHECK 0012 01 TOO MANY SURFACE DATA/LEVELS 0013 01 DUPLICATED DATUM/LEVEL 0014 01 NOT AN ANALYSIS VARIABLE 0015 01 REPORT OVER SEA 0016 01 REPORT OVER LAND 0017 01 REDUNDANT LEVEL 0018 01 REDUNDANT DATUM 0019 01 TOO BIG OBSERVATION ERROR 0020 01 TOO BIG DEPARTURE IN ASSIMILATION 0021 01 TOO BIG FIRST GUESS DEPARTURE 0022 01 REFERENCE LEVEL POSITION OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 BAD REPORTING PRACTICE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 MISSING FIRST GUESS VALUE 0029 01 MISSING OBSERVED VALUE 0030 01 MISSING VERTICAL COORDINATE 033237 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033238 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033239 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033240 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033243 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033244 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033245 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 LAYER FORMED BY SUMMING UP 0029 01 LAYER FORMED BY THINNING UP 0030 01 NOT PREDEFINED LAYER 033246 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033247 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033248 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033249 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0025 01 BLACKLISTED DUE TO OBSERVED VALUE 0026 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0027 01 BLACKLISTED DUE TO DISTANCE FROM REFERENCE POINT 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE BLACKLISTED 0030 01 PRESSURE BLACKLISTED 033252 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 0006 01 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND NOT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033254 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 035000 0011 0011 01 000-099 INTERNATIONAL FM CODES 0001 01 100-199 RA I CODES 0002 01 200-299 RA II CODES 0003 01 300-399 RA III CODES 0004 01 400-499 RA IV CODES 0005 01 500-599 RA V CODES 0006 01 600-699 RA VI CODES 0007 01 700-799 ANTARCTIC CODES 0008 01 800-999 RESERVED 0009 01 1000-1022 NOT USED 1023 01 MISSING VALUE 035001 0004 0000 01 REAL TIME 0001 01 NEAR-REAL TIME 0002 01 NON-REAL TIME 0007 01 MISSING VALUE 035030 0010 0000 01 NO DISCREPANCIES 0001 02 NON-COMPLIANCE WITH STANDARD AND RECOMMENDED PRACTICES AND PROCEDURES INCLUDINGTHOSE OF MONITORING 0002 01 CATALOGUES OF METEOROLOGICAL BULLETINS NOT UPDATED IN A TIMELY MANNER 0003 01 INCORRECT ROUTEING DIRECTORIES 0004 01 LACK OF FLEXIBILITY IN THE ROUTEING ARRANGEMENTS 0005 01 DEFICIENCIES IN THE OPERATION OF GTS CENTRES AND CIRCUITS 0006 01 LOSS OF DATA OR DELAYS IN RELAYING DATA ON THE GTS 0007 01 ROUTEING OF DATA DIFFERENT FROM THE ROUTEING PROVIDED IN THE PLAN 0008 01 VARIOUS MALPRACTICES 0015 01 MISSING VALUE 035031 0020 0001 01 SUFFICIENT AND ALL OF ACCEPTABLE QUALITY 0002 01 SUFFICIENT BUT PARTLY OF ACCEPTABLE QUALITY 0003 01 INSUFFICIENT BUT ALL OF ACCEPTABLE QUALITY 0004 01 INSUFFICIENT AND OF UNACCEPTABLE QUALITY 0005 01 SOME MESSAGES NOT COMPLETE 0006 01 SUSPECT OR WRONGLY CODED GROUPS COULD NOT BE INTERPRETED CONFIDENTLY 0007 01 GROSS CODING ERRORS 0008 01 TRANSMISSION SEQUENTIAL ORDER NOT OBSERVED 0009 01 REPORT COMPLETELY GARBLED AND THUS DISCARDED 0010 01 DEFICIENCIES IDENTIFIED AND RECTIFIED 0011 01 DEFICIENCIES IDENTIFIED BUT NOT RECTIFIED 0012 01 DEFICIENCIES NOT IDENTIFIED 0013 01 MEASURING ERRORS 0014 01 MUTUAL INCONSISTENCY 0015 01 TEMPORAL INCONSISTENCY 0016 01 FORECAST ERROR 0017 01 BIAS 0018 01 IMPROVE SYSTEM OF QUALITY CONTROL 0019 01 EXPAND TRAINING PROGRAMMES 0123 01 MISSING VALUE 035032 0010 0001 01 DATA GROUPS MISSING DUE TO RADIO FADING 0002 01 DATA GROUPS MISSING DUE TO OUTAGE OF CENTRE 0003 01 DATA GROUPS MISSING DUE TO OUTAGE OF CIRCUIT 0004 01 NON-IMPLEMENTATION OR MAINTENANCE OF REQUIRED RBSN DENSITY 0005 01 SHORTAGE OF QUALIFIED STAFF TO MAN STATIONS 0006 01 LACK OF CONSUMABLES 0007 01 INSTRUMENT FAILURE 0008 01 NON-ADHERENCE TO TELECOMMUNICATION PROCEDURES 0009 01 SOME OBSERVING PROGRAMMES CEASED 0015 01 MISSING VALUE 035033 0012 0001 01 NO DEFICIENCY 0002 01 OBSERVATIONS NOT MADE REGULARLY 0003 01 OBSERVATIONS NOT MADE AT RIGHT TIME 0004 01 OBSERVATIONS MADE BUT NOT DISSEMINATED 0005 01 OBSERVATIONS MADE AND SENT TO INCORRECT USERS 0006 01 COLLECTION NOT RECEIVED 0007 01 COLLECTION TRANSMITTED LATE 0008 01 COLLECTION NOT TRANSMITTED 0009 01 DIFFICULTIES IN HF PROPAGATION AND SELECTION OF SUITABLE FREQUENCY 0010 01 DIFFICULTIES IN MAINTENANCE OF COMMUNICATION EQUIPMENT AT REMOTE STATIONS 0011 01 NO ALTERNATIVE ARRANGEMENT FOR ROUTEING METEOROLOGICAL OBSERVATION 0123 01 MISSING VALUE 035034 0007 0001 01 SLIGHT IMPROVEMENT 0002 01 SIGNIFICANT IMPROVEMENT 0003 01 MOST SIGNIFICANT IMPROVEMENT 0004 01 STEADY 0005 01 DECREASING 0006 01 EFFORTS REQUIRED TO IMPROVE NIGHT-TIME OBSERVATIONS 0007 01 MISSING VALUE 035035 0016 0000 01 RESERVED 0001 01 BALLOON BURST 0002 01 BALLOON FORCED DOWN BY ICING 0003 01 LEAKING OR FLOATING BALLOON 0004 01 WEAK OR FADING SIGNAL 0005 01 BATTERY FAILURE 0006 01 GROUND EQUIPMENT FAILURE 0007 01 SIGNAL INTERFERENCE 0008 01 RADIOSONDE FAILURE 0009 01 EXCESSIVE MISSING DATA FRAMES 0010 01 RESERVED 0011 01 EXCESSIVE MISSING TEMPERATURE 0012 01 EXCESSIVE MISSING PRESSURE 0013 01 USER TERMINATED 0030 01 OTHER 0031 01 MISSING VALUE 040011 0004 0001 01 MEAN SEA SURFACE (MSS) INTERPOLATION FLAG 0002 01 OCEAN TIDE SOLUTION 1 INTERPOLATION FLAG (0= 4 POINTS OVER OCEAN, 1=LESS THAN 4 POINTS) 0003 01 OCEAN TIDE SOLUTION 2 INTERPOLATION FLAG (0= 4 POINTS OVER OCEAN, 1=LESS THAN 4 POINTS) 0004 01 METEOROLOGICAL DATA INTERPOLATION FLAG (0= 4 POINTS OVER OCEAN, 1=LESS THAN 4 POINTS) 040012 0003 0001 01 18.7 GHZ BRIGHTNESS TEMPERATURE 0002 01 23.8 GHZ BRIGHTNESS TEMPERATURE 0003 01 34 GHZ BRIGHTNESS TEMPERATURE 040013 0005 0000 01 INTERPOLATION WITH NO GAP BETWEEN JMR DATA 0001 01 INTERPOLATION WITH GAP BETWEEN JMR DATA 0002 01 EXTRAOLATION OF JMR DATA 0003 01 FAILURE OF EXTRAPOLATION AND INTERPOLATION 0007 01 MISSING VALUE 040203 0012 0001 01 WARM LOAD IS CHANGING TOO RAPIDLY 0002 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 6.8 GHz CHANNEL 0003 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 10.7 GHz CHANNEL 0004 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 18.7 GHz CHANNEL 0005 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 23.8 GHz CHANNEL 0006 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 37.0 GHz CHANNEL 0007 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 6.8 GHz CHANNEL 0008 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 10.7 GHz CHANNEL 0009 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 18.7 GHz CHANNEL 0010 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 23.8 GHz CHANNEL 0011 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 37.0 GHz CHANNEL 0012 01 ALL MISSING VALUE 049194 0014 0001 01 PASSED QUALITY CONTROL 0002 01 OUTSIDE TIME WINDOW 0003 01 ABOVE LAND 0004 01 OUTSIDE ENTIRE GRID 0005 01 WAVE HEIGHT OUT OF RANGE 0006 01 TOO HIGH ALONG TRACK JUMP 0007 01 TOO SHORT ALONG TRACK JUMP 0008 01 TOO HIGH ALONG TRACK VARIANCE 0009 01 OUTSIDE CONFIDENCE LIMIT 0010 01 DOUBLE OBSERVATION 0011 01 PEAKINESS ABOVE THRESHOLD 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED 049193 0014 0001 01 EXELLENT (COST LESS THAN 0.1) 0002 01 GOOD (COST LESS THAN 0.5) 0003 01 QUESTIONABLE (COST LARGER THAN 0.5) 0004 01 RESULTS UNTABLE 0005 01 OBSERVED SAR SPECTRUM REJECTED 0006 01 WAM FIRST GUESS REJECTED 0007 01 SIMULATED SAR REJECTED 0008 01 NO AZIMUTH CUT-OFF ADJUSTMENT 0009 01 RESERVED 0010 01 RESERVED 0011 01 RESERVED 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED emoslib-000392+dfsg.1/bufrtables/C0000000000098002001.TXT0000755000175000017500000103071612127406245022251 0ustar amckinstryamckinstry001003 0008 0000 01 ATARCTICA 0001 01 REGION I 0002 01 REGION II 0003 01 REGION III 0004 01 REGION IV 0005 01 REGION V 0006 01 REGION VI 0007 01 MISSING VALUE 001007 0132 0001 01 ERS 1 0002 01 ERS 2 0003 01 METOP-1 0004 01 METOP-2 0005 01 METOP-3 0020 01 SPOT1 0021 01 SPOT2 0022 01 SPOT3 0023 01 SPOT4 0040 01 OERSTED 0041 01 CHAMP 0042 01 TERRASAR-X 0050 01 METEOSAT 3 0051 01 METEOSAT 4 0052 01 METEOSAT 5 0053 01 METEOSAT 6 0054 01 METEOSAT 7 0055 01 METEOSAT 8 0056 01 METEOSAT 9 0057 01 METEOSAT 10 0058 01 METEOSAT 1 0059 01 METEOSAT 2 0060 01 ENVISAT 0070 01 METEOSAT 11 0120 01 ADEOS 0121 01 ADEOS II 0150 01 GMS 3 0151 01 GMS 4 0152 01 GMS 5 0171 01 MTSAT-1R 0172 01 MTSAT-2 0200 01 NOAA 8 0201 01 NOAA 9 0202 01 NOAA 10 0203 01 NOAA 11 0204 01 NOAA 12 0205 01 NOAA 14 0206 01 NOAA 15 0207 01 NOAA 16 0208 01 NOAA 17 0209 01 NOAA 18 0220 01 LANDSAT 5 0221 01 LANDSAT 4 0222 01 LANDSAT 7 0240 01 DMSP 7 0241 01 DMSP 8 0242 01 DMSP 9 0243 01 DMSP 10 0244 01 DMSP 11 0245 01 DMSP 12 0246 01 DMSP 13 0247 01 DMSP 14 0248 01 DMSP 15 0249 01 DMSP 16 0250 01 GOES 6 0251 01 GOES 7 0252 01 GOES 8 0253 01 GOES 9 0254 01 GOES 10 0255 01 GOES 11 0256 01 GOES 12 0257 01 GOES 13 0258 01 GOES 14 0259 01 GOES 15 0260 01 JASON-1 0261 01 JASON-2 0281 01 QUIKSCAT 0282 01 TRMM 0283 01 CORIOLIS 0285 01 DMSP17 0310 01 GOMS 1 0311 01 GOMS 2 0320 01 METEOR 2-21 0321 01 METEOR 3-5 0322 01 METEOR 3M-1 0323 01 METEOR 3M-2 0341 01 RESURS 01-4 0430 01 INSAT 1B 0431 01 INSAT 1C 0432 01 INSAT 1D 0450 01 INSAT 2A 0451 01 INSAT 2B 0452 01 INSAT 2E 0470 01 INSAT 3A 0471 01 INSAT 3D 0472 01 INSAT 3E 0500 01 FY-1C 0501 01 FY-1D 0510 01 FY-2 0512 01 FY-2B 0513 01 FY-2C 0514 01 FY-2D 0700 01 TIROS M (ITOS 1) 0701 01 NOAA 1 0702 01 NOAA 2 0703 01 NOAA 3 0704 01 NOAA 4 0705 01 NOAA 5 0706 01 NOAA 6 0707 01 NOAA 7 0708 01 TIROS-N 0710 01 GOES (SMS 1) 0711 01 GOES (SMS 2) 0720 01 TOPEX 0721 01 GFO (GEOSAT FOLLOW ON) 0722 01 GRACE A 0723 01 GRACE B 0731 01 GOES 1 0732 01 GOES 2 0733 01 GOES 3 0734 01 GOES 4 0735 01 GOES 5 0740 01 COSMIC-1 0741 01 COSMIC-2 0742 01 COSMIC-3 0743 01 COSMIC-4 0744 01 COSMIC-5 0745 01 COSMIC-6 0763 01 NIMBUS 3 0764 01 NIMBUS 4 0765 01 NIMBUS 5 0766 01 NIMBUS 6 0767 01 NIMBUS 7 0780 01 ERBS 0781 01 UARS 0782 01 EARTH PROBE 0783 01 TERRA 0784 01 AQUA 0785 01 AURA 0800 01 SUNSAT 0820 01 SAC-C 1023 01 MISSIN VALUE 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001031 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001033 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 001035 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001090 0005 0000 01 LAF (LAGGED-AVERAGE FORECASTING) 0001 01 BREEDING 0002 01 SINGULAR VECTOR 0003 01 MULTIPLE ANALYSIS CYCLE 0255 01 MISSING VALUE 001092 0005 0000 01 UNPERTURBED HIGH-RESOLUTION CONTROL FORECAST 0001 01 UNPERTURBED LOW-RESOLUTION CONTROL FORECAST 0002 01 NEGATIVELY PERTURBED FORECAST 0003 01 POSITIVELY PERTURBED FORECAST 0255 01 MISSING VALUE 002001 0004 0000 01 AUTOMATIC STATION 0001 01 MANNED STATION 0002 01 HYBRID, BOTH MANNED AND AUTOMATIC 0003 01 MISSING VALUE 002002 0004 0000 01 MEASURED IN M S-1 UNLESS OTHERWISE INDICATED 0001 01 CERTIFIED INSTRUMENTS 0002 01 ORIGINALY MEASURED IN KNOTS 0003 01 ORIGINALY MEASURED IN KM/H 002003 0012 0000 01 PRESSURE INSTRUMENT ASSOCIATED WITH WIND-MEASURING EQUIPMENT 0001 01 OPTICAL THEODOLITE 0002 01 RADIO THEODOLITE 0003 01 RADAR 0004 01 VLF-OMEGA 0005 01 LORAN C 0006 01 WIND PROFILER 0007 01 SATELLITE NAVIGATION 0008 01 RADIO-ACOUSTIC SOUNDING SYSTEM (RASS) 0009 01 SODAR 0014 02 PRESSURE INSTRUMENT ASSOCIATED WITH WIND MEASUREMENT EQUIPME NT BUT PRESSURE ELEMENT FAILED DURING ASCENT 0015 01 MISSING VALUE 002004 0011 0000 01 USA OPEN PAN EVAPORIMETER (WITHOUT COVER) 0001 01 USA OPEN PAN EVAPORIMETER (MESH COVERED) 0002 01 GGI-300 EVAPORIMETER (SUNKEN) 0003 01 20 M**2 TANK 0004 01 OTHERS 0005 01 RICE 0006 01 WHEAT 0007 01 MAIZE 0008 01 SORGHUM 0009 01 OTHER CROPS 0015 01 MISSING VALUE 002011 0054 0000 01 RESERVED 0001 01 RESERVED 0002 01 NO RADIOSONDE-PASSIVE TARGET(E.G.REFLECTOR) 0003 01 NO RADIOSONDE-ACTIVE TARGET(E.G.TRANSPONDER) 0004 01 NO RADIOSONDE-PASSIVE TEMPERATURE-HUMIDITY PROFILER 0005 01 NO RADIOSONDE-ACTIVE TEMPERATURE-HUMIDITY PROFILER 0006 01 NO RADIOSONDE-RADIO ACOUSTIC SOUNDER 0009 01 NO RADIOSONDE-SYSTEM UNKNOWN OR NOT SPECIFIED 0010 01 RS VIZ TYPE A (USA) 0011 01 RS VIZ TYPE B (USA) 0012 01 RS SDC (SPACE DATA CORPORATION-USA) 0013 01 ASTOR (NO LONGER MADE-AUSTRALIA) 0014 01 VIZ MARK I MICROSONDE(USA) 0015 01 EEC COMPANY TYPE 23 (USA) 0016 01 ELIN (AUSTRIA) 0017 01 GRAW G. (GERMANY) 0019 01 GRAW M60 (GERMANY) 0020 01 INDIAN MET SERVICE MK3 (INDIA) 0021 01 VIZ/JIN YANG MARK I MICROSONDE(SOUTH KOREA) 0022 01 MEISEI RS2-80 (JAPAN) 0023 01 MESURAL FMO 1950A (FRANCE) 0024 01 MESURAL FMO 19455A (FRANCE) 0025 01 MESURAL MH73A (FRANCE) 0026 01 METEOLABOR BASORA (SWITZERLAND) 0027 01 AVK-MRZ (USSR) 0028 01 METEORIT MARZ2-1 (USSR) 0029 01 METEIRIT MARZ2-2 (USSR) 0030 01 OKI RS2-80 (JAPAN) 0031 01 VIZ/VALCOM TYPE A PRESSURE-COMMUTATED(CANADA) 0032 01 SHANGAI RADIO (CHINA) 0033 01 UK MET OFFICE MK3( UK) 0034 01 VINOHRADY(CZECHOSLOVAKIA) 0035 01 VAISALA RS18 (FINLAND) 0036 01 VAISALA RS21 (FINLAND) 0037 01 VAISALA RS80 (FINLAND) 0038 01 VIZ LOCATE (LORAN-C)(USA) 0039 01 SPRENGER E076 (GERMANY) 0040 01 SPRENGER E084 (GERMANY) 0041 01 SPRENGER E085 (GERMANY) 0042 01 SPRENGER E086 (GERMANY) 0043 01 AIR IS -4A-1680 (UK) 0044 01 AIR IS -4A-1680 X (UK) 0045 01 RS MSS(USA) 0046 01 AIR IS -4A-403(USA) 0047 01 MEISLEI RS2-91(JAPAN) 0048 01 VALCOM(CANADA) 0049 01 VIZ MARK II(USA) 0060 01 VAISALA RS80/MICROCORA (FINLAND) 0061 01 VAISALA RS80/DIGCORA OR MARWIN (FINLAND) 0062 01 VAISALA RS80/PCCORA (FINLAND) 0063 01 VAISALA RS80/STAR (FINLAND) 0064 03 ORBITAL,SCIENCE CORPORATION,SPACE DATA DIVISION,TRANSPONDER RADIOSONDE,TYPE 909-11-XX,WHERE XX CORRECPOND TO THE MODEL OF THE INSTRUMENT 0065 01 VIZ TRANSPONDER RADIOSONDE,MODEL NUMBER 1499-520(USA) 0255 01 MISSING VALUE 002012 0001 0000 01 TO BE DEVELOPED 002013 0009 0000 01 NO CORRECTION 0001 01 CIMO SOLAR CORRECTED AND CIMO INFRARED CORRECTED 0002 01 CIMO SOLAR CORRECTED AND IFRARED CORRECTED 0003 01 CIMO SOLAR CORRECTED ONLY 0004 02 SOLAR AND INFRARED CORRECTED AUTOMATICALLY BY RADIOSONDE SY STEM 0005 01 SOLAR CORRECTED AUTOMATICALLY BY RADIOSONDE SYSTEM 0006 01 SOLAR AND INFRARED CORRECTED AS SPECIFIED BY COUNTRY 0007 01 SOLAR CORRECTED AS SPECIFIED BY COUNTRY 0015 01 MISSING VALUE 002014 0050 0000 01 NO WINDFINDING 0001 01 AUTOMATIC WITH AUXILIARY OPTICAL DIRECTION FINDING 0002 01 AUTOMATIC WITH AUXILIARY RADIO DIRECTION FINDING 0003 01 AUTOMATIC WITH AUXILIARY RANGING 0004 01 NOT USED 0005 01 AUTOMATIC WITH MULTIPLE VLF-OMEGA SIGNALS 0006 01 AUTOMATIC CROSS CHAIN LORAN-C 0007 01 AUTOMATIC WITH AUXILIARY WIND PROFILER 0008 01 AUTOMATIC SATELLITE NAVIGATION 0019 01 TRACKING TECHNIQUE NOT SPECIFIED 0020 01 VESSEL STOPPED 0021 01 VESSEL DIVERTED FROM ORIGINAL DESTINATION 0022 01 VESSEL'S ARRIVAL DELAYED 0023 01 CONTAINER DAMAGED 0024 01 POWER FAILURE TO CONTAINER 0029 01 OTHER PROBLEMS 0030 01 MAJOR POWER PROBLEMS 0031 01 UPS INOPERATIVE 0032 01 RECEIVER HARDWARE PROBLEMS 0033 01 RECEIVER SOFTWARE PROBLEMS 0034 01 PROCESSOR HARDWARE PROBLEMS 0035 01 PROCESSOR SOFTWARE PROBLEMS 0036 01 NAVAID SYSTEM DAMAGED 0037 01 SHORTAGE OF LIFTING GAS 0039 01 OTHER PROBLEMS 0040 01 MECHANICAL DEFECT 0041 01 MATERIAL DEFECT (HAND LAUNCHER) 0042 01 POWER FAILURE 0043 01 CONTROL FAILURE 0044 01 PNEUMATIC/HYDRAULIC FAILURE 0045 01 OTHER PROBLEMS 0046 01 COMPRESSOR PROBLEMS 0047 01 BALLOON PROBLEMS 0048 01 BALLOON RELEASE PROBLEMS 0049 01 LAUNCHER DAMAGED 0050 01 R/S RECEIVER ANTENNA DEFECT 0051 01 NAVAID ANTENNA DEFECT 0052 01 R/S RECEIVER CABLING (ANTENNA DEFECT) 0053 01 NAVAID ANTENNA CABLING DEFECT 0059 01 OTHER PROBLEMS 0060 01 ASAP COMMUNICATIONS DEFECT 0061 01 COMMUNICATIONS FACILITY REJECTED DATA 0062 01 NO POWER AT TRANSMITTINGANTENN 0063 01 ANTENNA CABLE BROKEN 0064 01 ANTENNA CABLE DEFECT 0065 01 MESSAGE TRANSMITTED POWER BELOW NORMAL 0069 01 OTHER PROBLEMS 0070 01 ALL SYSTEMS IN NORMAL OPERATION 0099 01 STATUS OF SYSTEM AND ITS COMPONENTS NOT SPECIFIED 0127 01 MISSING VALUE 002015 0006 0001 01 PRESSURE ONLY RADIOSONDE 0002 01 PRESSURE ONLY RADIOSONDE PLUS TRANSPONDER 0003 01 PRESSURE ONLY RADIOSONDE PLUS RADAR REFLECTOR 0004 01 NO PRESSURE RADIOSONDE PLUS TRANSPONDER 0005 01 NO PRESSURE RADIOSONDE PLUS RADAR REFLECTOR 0015 01 MISSING VALUE 002016 0004 0001 01 TRAIN REGULATOR 0002 01 LIGHT UNIT 0003 01 PARACHUTE 0004 01 ROOFTOP RELEASE 002019 0296 0010 02 BNSC RADIOMETER AATSR ADVANCED ALONG TRACK SCANNIN G RADIOMETER 0011 02 BNSC RADIOMETER ATSR ALONG TRACK SCANNING RADIOME TER 0012 02 BNSC RADIOMETER ATSR-2 ALONG TRACK SCANNING RADIOME TER -2 0013 01 BNSC RADIOMETER MWR MICROWAVE RADIOMETER 0030 01 CNES COMMUNICATIONS ARGOS 0040 01 CNES LIDAR LASER REFLECTORS 0041 02 CNES LIDAR DORIS DOPPLER ORBITOGRAPHY AND RADIO-POSIT IONING INTEGRATED BY SATELLITE 0042 02 CNES LIDAR DORIS-NG DOPPLER ORBITOGRAPHY AND RAD IO-POSITIONING INTEGRATED BY SATELLITE-NG 0047 03 CNES RADAR ALTIMETERS POSEIDON-1 (SSALT-1) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (S INGLE FREQUENCY SOLID STATE RADAR ALTIMETER) 0048 03 CNES RADAR ALTIMETERS POSEIDON-2 (SSALT-2) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (D UAL FREQUENCY SOLID STATE RADAR ALTIMETER) 0050 01 CNES IMAGER RADIOMETER ATSR/M ATSR/M 0051 01 CNES HIGH RESOLUTION OPTICAL IMAGERS HRG 0052 01 CNES RADIOMETER HRV HIGH RESOLUTION VISIBLE 0053 02 CNES RADIOMETER HRVIR HIGH RESOLUTION VISIBLE AND INFRA-RED 0054 02 CNES RADIOMETER SCARAB/MV2 SCANNER FOR EARTH'S RADIATION BUDGET 0055 01 CNES RADIOMETER POLDER POLDER 0060 01 CNES SPECTROMETER VEGETATION VEGETATION 0061 01 CNES SPECTROMETER WINDII WINDII 0080 01 CSA COMMUNICATIONS RADARSAT DTT 0081 01 CSA COMMUNICATIONS RADARSAT TTC 0085 02 CSA RADAR SAR (CSA) SYNTHETIC APERTURE RADAR (CS A) 0090 02 CSA RADIOMETER MOPITT MEASUREMENTS OF POLLUTION IN THE TROPOSPHERE 0091 02 CSA CHEMISTRY INSTRUMENTS OSIRIS OPTICAL SPECTROGRAPH AND INFRA-RED IMAGING SYSTEM 0097 01 CSIRO RADIOMETER PANCHROMATIC IMAGER 0098 02 CRCSS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPS RECEIVER 0102 02 DLR RADIOMETER CHAMP GPS SOUNDER GPS TURBORO GUE SPACE RECEIVER (TRSR) 0103 01 UNKNOWN 0116 03 DLR MAGNETOMETER IGOR CHAMP GRAVITY PACKAGE (ACCELEROMETE R+GPS) INTEGRATED GPS AND OCCULTATION RECEIVER STAR AC CELEROMETER 0117 03 DLR MAGNETOMETER CHAMP MAGNETOMETRY PACKAGE (1 SCALAR +2 VECTOR MAGNETOMETER) OVERHAUSER MAGNETOMETER (OVM) AN D FLUXGATE MAGNETOMETER (FGM) 0120 02 ESA COMMUNICATIONS ENVISAT COMMS COMMUNICATIONS PACKA GE ON ENVISAT 0121 02 ESA COMMUNICATIONS ERS COMMS COMMUNICATION PACKAG E FOR ERS 0130 01 ESA LIDARS ALADIN ATMOSPHERIC LASER DOPPLER INSTRUMENT 0131 01 ESA LIDARS ATLID ATMOSPHERIC LIDAR 0140 02 ESA RADAR AMI/SAR/IMAGE ACTIVE MICROWAVE INSTRUMENTA TION. IMAGE MODE 0141 02 ESA RADAR AMI/SAR/WAVE ACTIVE MICROWAVE INSTRUMENTA TION. WAVE MODE 0142 02 ESA RADAR AMI/SCATTEROMETER ACTIVE MICROWAVE INS TRUMENTATION. WIND MODE 0143 01 ESA RADAR ASAR ASAR 0144 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (IMAGE MODE) 0145 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (WAVE MODE) 0146 01 ESA CLOUD PROFILE AND RAIN RADARS CPR CLOUD RADAR 0147 01 ESA RADAR RA-2/MWR RADAR ALTIMETER - 2 0148 01 ESA RADAR RA/MWR RADAR ALTIMETER 0150 01 ESA SCATTEROMETERS SCATTEROMETER SCATTEROMETER 0161 02 ESA RADIOMETER MIPAS MICHELSON INTERFEROMETRIC PA SSIVE ATMOSPHERE SOUNDER 0162 02 ESA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E MWR-2 MICROWAVE RADIOMETER-2 0163 03 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS SOPRANO SUB- MILIMETRE OBSERVATION OF PROCESSES IN THE ABSORPTION NOTEWOR THY FOR OZONE 0170 02 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS GOME I GLOB AL OZONE MONITORING EXPERIMENT 0172 02 ESA SPECTROMETER GOMOS GLOBAL OZONE MONITORING BY O CCULTATION OF STARS 0174 02 ESA SPECTROMETER MERIS MEDIUM RESOLUTION IMAGING SP ECTROMETER 0175 02 ESA SPECTROMETER SCIAMACHY SCANNING IMAGING ABS ORPTION SPECTROMETER FOR ATMOSPHERIC CARTOGRAPHY 0181 02 EUMETSAT COMMUNICATIONS METEOSAT COMMS COMMUNICATIO NS PACKAGE FOR METEOSAT 0182 02 EUMETSAT COMMUNICATIONS MSG COMMS COMMUNICATIO NS PACKAGE FOR MSG 0190 02 ESA/ EUMETSAT SCATTEROMETERS ASCAT ADVANCED SCATTE ROMETER 0200 02 EUMETSAT RADIOMETER GERB GEOSTATIONARY EARTH RADIATION BUDGET 0202 02 ESA/ EUMETSAT RADIOMETER GRAS GNSS RECEIVER F OR ATMOSPHERIC SOUNDING 0203 02 EUMETSAT RADIOMETER MHS MICROWAVE HUMIDITY S OUNDER 0205 02 EUMETSAT RADIOMETER MVIRI METEOSAT VISIBLE AND INFRA-RED IMAGER 0207 02 EUMETSAT RADIOMETER SEVIRI SPINNING ENHANCED VI SIBLE AND INFRARED IMAGER 0208 02 EUMETSAT IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRI VIRI 0220 02 ESA/ EUMETSAT SPECTROMETER GOME-2 GLOBAL OZONE MO NITORING EXPERIMENT - 2 0221 03 CNES/ EUMETSAT ATMOSPHERIC TEMPERATURE AND HUMIDITY S OUNDERS IASI INFRA-RED ATMOSPHERIC SOUNDING INTERFEROME TER 0240 02 CAST COMMUNICATIONS DCP DATA COLLECTION PLATFORM TRA NSPONDER 0245 01 CAST RADIOMETER CCD HIGH RESOLUTION CCD CAMERA 0246 02 INPE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS HSB HUMIDITY SOUNDER/BRAZIL 0248 02 INPE IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) OBA OBSERVADOR BRASILEIRO DA AMAZONIA 0250 01 CAST RADIOMETER WFI WIDE FIELD IMAGER 0255 02 CAST SPECTROMETER IRMSS INFRA RED MULTI SPECTRAL SCA NNER 0260 01 ISRO PRECISION ORBIT BSS & FSS TRANSPONDERS 0261 01 ISRO PRECISION ORBIT DRT-S&R 0262 02 ISRO COMMUNICATIONS INSAT COMMS COMMUNICATIONS PACKA GE FOR INSAT 0268 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS HR-PAN HIGH RESOLUT ION PANCHROMATIC CAMERA 0269 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MSMR MULTIFREQUENCY SCANNING MICROWAVE RADIOMETER 0270 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VHRR VERY HIGH RESOLUTION RADIOMETER 0271 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WIFS WIDE FIELD SENSOR 0275 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS AWIFS ADVANCED WID E FIELD SENSOR 0276 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-I LINEAR IMAGI NG SELF SCANNER - I 0277 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-II LINEAR IMAGI NG SELF SCANNER - II 0278 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-III LINE AR IMAGING SELF SCANNER - III 0279 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-IV LINEAR IMAGI NG SELF SCANNER - IV 0284 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS PAN PANCHROMATIC SENSOR 0285 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MOS MODULAR OPTO-ELECTRONIC SCANNER 0286 02 ISRO OCEAN COLOUR INSTRUMENTS OCM OCEAN COLOUR MONITOR 0290 02 JMA COMMUNICATIONS MTSAT COMMS COMMUNICATIONS PACKA GE FOR MTSAT 0294 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT -1R IMAGER/MTSAT 0295 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT IMAGER/MTSAT 0296 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS VISSR (GMS4) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS4) 0300 01 NASA LIDARS GLAS GEOSCIENCE LASER ALTIMETER SYSTEM 0301 01 NASA PRECISION ORBIT LRA LASER RETROREFLECTOR ARRAY 0302 01 NASA LIDARS MBLA MULTI BEAM LASER ALTIMETER 0309 02 NASA CLOUD PROFILE AND RAIN RADARS CPR (CLOUDSAT) CLOU D PROFILING RADAR 0312 01 NASA RADAR NSCAT NASA SCATTEROMETER 0313 01 NASA RADAR SEAWINDS ADEOS II - NASA SCATTEROMETER 0330 02 NASA EARTH RADIATION BUDGET RADIOMETER ACRIM ACTI VE CAVITY RADIOMETER IRRADIANCE MONITOR 0334 02 NASA TOTAL AND PROFILE OZONE BUV BACKSCATTER ULTRAVIO LET INSTRUMENT 0336 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ALI ADVANCED LAN D IMAGER 0347 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ASTER ADVANCED SPA CEBORNE THERMAL EMISSION AND REFLECTION RADIOMETER 0348 02 NASA EARTH RADIATION BUDGET RADIOMETER CERES-2 CLOU D AND THE EARTH'S RADIANT ENERGY SYSTEM 0351 02 CONAE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPSD R GPS DEMONSTRATION RECEIVER 0353 02 NASA TOTAL AND PROFILE OZONE HIRDLS HIGH RESOLUTION DYNA MICS LIMB SOUNDER 0354 02 NASA TOTAL AND PROFILE OZONE HRDI HIGH RESOLUTION DOPP LER IMAGER 0356 01 NASA RADIOMETER LIS LIGHTNING IMAGING SENSOR 0358 02 NASA MAGNETIC FIELD, AUROAL IMAGERYSCINTILLATION BOUNDARY PEM PARTICLE ENVIRONMENT MONITOR 0359 02 NASA OCEAN COLOUR INSTRUMENTS SEAWIFS SEA-VIEWING WIDE FIELD-OF-VIEW SENSOR 0360 02 NASA EARTH RADIATION BUDGET RADIOMETER SUSIM (UARS) SOLAR ULTRAVIOLET IRRADIANCE MONITOR 0363 02 NASA TOTAL AND PROFILE OZONE SBUV/1 SOLAR BACKSCATTER UL TRAVIOLET 1 INSTRUMENT 0365 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) TMI TRMM MICROWAVE IMAGER 0366 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) JMR JASON-1 MICROWAVE RADIOMETER 0369 02 NASA TOTAL AND PROFILE OZONE LIMS LIMB INFRARED MONITO R OF THE STRATOSPHERE 0370 02 NASA TOTAL AND PROFILE OZONE LRIR LIMB RADIANCE INVERS ION RADIOMETER INSTRUMENT 0371 02 NASA TOTAL AND PROFILE OZONE EPIC EARTH POLYCHROMATIC IMAGING CAMERA 0372 02 NASA EARTH RADIATION BUDGET RADIOMETER NISTAR NIST ADVANCED RADIOMETER 0373 02 NASA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y PLASMA-MAG 0374 01 NASA OTHER XPS XUV PHOTOMETER SYSTEM 0375 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRS VISIBLE INFRA-RED SCANNER 0376 03 CNES MULTIPLE DIRECTION/POLARISATION RADIOMETERS POLD ER II POLARIZATION AND DIRECTIONALITY OF THE EARTH'S R EFLECTANCE - II 0377 02 NASA EARTH RADIATION BUDGET RADIOMETER TIM TOTA L IRRADIANCE MONITOR 0379 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WFC WIDE FIELD CAMERA 0382 02 NASA SPECTRO-RADIOMETER CLAES CRYOGENIC LIMB ARRAY ETALON SPECTROMETER 0383 02 NASA SPECTRO-RADIOMETER HALOE HALOGEN OCCULTATION EXPERIMENT 0384 02 NASA SPECTRO-RADIOMETER ISAMS IMPROVED STRATOSPHER IC AND MESOSPHERIC SOUNDER 0385 02 NASA SPECTRO-RADIOMETER MISR MULTI-ANGLE IMAGING SPECTRORADIOMETER 0386 01 NASA SPECTRO-RADIOMETER MLS MICROWAVE LIMB SOUNDER 0387 02 NASA SPECTRO-RADIOMETER MLS (EOS-AURA) MICROWAVE LIMB SOUNDER (EOS-AURA) 0389 02 NASA SPECTRO-RADIOMETER MODIS MODERATE-RESOLUTION IMAGING SPECTRORADIOMETER 0393 02 NASA GRAVITY HAIRS HIGH ACCURACY INTER-SATELLITE RANGIN G SYSTEM 0394 02 NASA TOTAL AND PROFILE OZONE OMI OZONE MEASURING INST RUMENT 0395 02 NASA RADIOMETER ATMOSPHERIC CORRECTOR ATMOSPHERIC CORRECTOR 0396 01 NASA RADIOMETER HYPERION HYPERSPECTRAL IMAGER 0399 02 NASA SPECTRO-RADIOMETER SAGE I STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-I 0400 02 NASA SPECTRO-RADIOMETER SAGE II STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-II 0401 02 NASA SPECTRO-RADIOMETER SAGE III STRATOSPHERI C AEROSOL AND GAS EXPERIMENT-III 0402 02 NASA SPECTRO-RADIOMETER SAMS STRATOSPHERIC AND ME SOSPHERIC SOUNDER 0403 02 NASA SPECTRO-RADIOMETER SAM II STRATOSPHERIC AEROSO L MEASUREMENT II 0404 02 NASA SPECTRO-RADIOMETER IRIS INFRARED INTERFEROME TER SPECTROMETER 0405 02 NASA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GIFT S GEOSYNCHRONOUS IMAGING FOURIER TRANSFORM SPECTROMETER 0420 01 NASA SPECTROMETER AIRS ATMOSPHERIC INFRA-RED SOUNDER 0426 02 NASA SPECTROMETER SOLSTICE SOLAR STELLAR IRRADI ANCE COMPARISON EXPERIMENT 0430 02 NASA SPECTROMETER TES TROPOSHPERIC EMISSION SPECTR OMETER 0431 02 NASA SPECTROMETER TOMS TOTAL OZONE MAPPING SPECTROM ETER 0450 02 JAXA COMMUNICATIONS ADEOS COMMS COMMUNICATIONS PACKA GE FOR ADEOS 0451 02 JAXA COMMUNICATIONS DCS (JAXA) DATA COLLECTION SYST EM (JAXA) 0453 02 JAXA COMMUNICATIONS GMS COMMS COMMUNICATIONS PACKA GE ON GMS 0454 02 JAXA COMMUNICATIONS JERS-1 COMMS COMMUNICATIONS PACKA GE FOR JERS-1 0460 01 JAXA LIDAR RIS RETROREFLECTOR IN SPACE 0461 01 JAXA RADAR PR PRECIPITATION RADAR 0462 02 JAXA IMAGING MICROWAVE RADARS SAR SYNTETIC APE RTURE RADAR 0470 02 JAXA IMAGING MICROWAVE RADARS PALSAR PHASED ARRAY TYPE L-BAND SYNTHETIC APERTURE RADAR 0479 02 JAXA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) AMSR-E ADVANCED MICROWAVE SCANNING RADIOMETER-EOS 0480 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS PRISM (ALOS) PANC HROMATIC REMOTE-SENSING INSTRUMENT FOR STEREO MAPPING 0481 02 JAXA RADIOMETER AMSR ADVANCED MICROWAVE SCANNING RADIOMETER 0482 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR ADVANCED VIS IBLE AND NEAR INFRARED RADIOMETER 0483 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR-2 ADVANCED VIS IBLE AND NEAR INFRA-RED RADIOMETER TYPE 2 0484 01 JAXA IMAGER GLI GLOBAL IMAGER 0485 02 JAXA RADIOMETER MESSR MULTISPECTRAL ELECTRONIC SEL F SCANNING RADIOMETER 0486 01 JAXA RADIOMETER MSR MICROWAVE SCANNING RADIOMETER 0487 02 JAXA RADIOMETER OCTS OCEAN COLOR AND TEMPERATURE S CANNER 0488 01 JAXA RADIOMETER OPS OPTICAL SENSOR 0489 02 JAXA SPECTRO-RADIOMETER VISSR (GMS5) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS5) 0490 02 JAXA RADIOMETER VTIR VISIBLE AND THERMAL INFRA-RE D RADIOMETER 0510 02 JAXA SPECTROMETER ILAS-I IMOROVED LIMB ATOMOSPHIRIC S PECTROMETER 0511 02 JAXA SPECTROMETER ILAS-II IMPROVED LIMB ATOMOSPHIRIC S PECTROMETER 0512 02 JAXA SPECTROMETER IMG INFEROMETRIC MONITOR OF GREE NHOUSE GASES 0514 02 JAXA SPACE ENVIRONMENT SEM SPACE ENVIRONMENT MO NITOR (JAXA) 0515 02 JAXA TOTAL AND PROFILE OZONE SOFIS SOLAR OCCULTATION FO URIER TRANSFORM SPECTROMETER FOR INCLINED ORBIT SATELLITE 0540 02 NOAA COMMUNICATIONS DCS (NOAA) DATA COLLECTION SYST EM (NOAA) 0541 02 NOAA COMMUNICATIONS GOES COMMS COMMUNICATIONS PACKA GE ON GOES 0542 02 NOAA COMMUNICATIONS LANDSAT COMMS COMMUNICATIONS PACKA GE FOR LANDSAT 0543 02 NOAA COMMUNICATIONS NOAA COMMS COMMUNICATIONS PACKA GE FOR NOAA 0544 01 NOAA COMMUNICATIONS S&R (GOES) SEARCH AND RESCUE 0545 01 NOAA COMMUNICATIONS S&R (NOAA) SEARCH AND RESCUE 0546 01 NOAA COMMUNICATIONS WEFAX WEATHER FACSIMILE 0547 02 NOAA SPECTROMETER SEM(GOES) SPACE ENVIRONMENT MO NITOR 0550 01 NOAA MAGNETIC FIELD SSM SPECIAL SENSOR MAGNETOMETER 0551 02 NOAA MAGNETIC FIELD SSJ/4 SPECIAL SENSOR PRECIPITATING PLASMA MONITOR 0552 02 NOAA SPACE ENVIRONMENT SSIES-2 SPECIAL SENSOR IONOS PHERIC PLASMA DRIFT/SCINTILLATION METER 0553 02 NOAA SPACE ENVIRONMENT SSB/X-2 SPECIAL SENSOR GAMMA RAY PARTICLE DECTECTOR 0570 02 NOAA RADIOMETER AMSU-A ADVANCED MICROWAVE SOUNDING UNIT-A 0574 02 NOAA RADIOMETER AMSU-B ADVANCED MICROWAVE SOUNDING UNIT-B 0580 02 NOAA RADIOMETER ATOVS (HIRS/3 + AMSU + AVHRR/3) ADVA NCED TIROS OPERATIONAL VERTICAL SOUNDER 0590 02 NOAA RADIOMETER AVHRR/2 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/2 0591 02 NOAA RADIOMETER AVHRR/3 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/3 0592 02 NOAA RADIOMETER AVHRR/4 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/4 0600 02 NOAA RADIOMETER ERBE EARTH'S RADIATION BUDGET EXP ERIMENT 0601 01 NOAA RADIOMETER ETM+ ENHANCED THEMATIC MAPPER 0605 02 NOAA RADIOMETER HIRS/2 HIGH RESOLUTION INFRA-RED SO UNDER/2 0606 02 NOAA RADIOMETER HIRS/3 HIGH RESOLUTION INFRA-RED SO UNDER/3 0607 02 NOAA RADIOMETER HIRS/4 HIGH RESOLUTION INFRA-RED SO UNDER/4 0615 01 NOAA RADIOMETER IMAGER IMAGER 0616 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIIR S VISIBLE/INFRARED IMAGER RADIOMETER SUITE 0620 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS CRIR S/NP CROSS TRACK INFRA-RED SOUNDER/NPOESS 0621 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS ATMS ADVANCED TECHNOLOGY MICROWAVE SOUNDER 0622 01 NOAA RADIOMETER MSS MULTISPECTRAL SCANNING SYSTEM 0623 01 NOAA RADIOMETER MSU MICROWAVE SOUNDING UNIT 0624 02 NOAA RADIOMETER SBUV/2 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/2 0625 02 NOAA RADIOMETER SBUV/3 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/3 0626 01 NOAA RADIOMETER SOUNDER SOUNDER 0627 01 NOAA RADIOMETER SSU STRATOSPHERIC SOUNDING UNIT 0628 01 NOAA RADIOMETER TM THEMATIC MAPPER 0629 02 NOAA RADIOMETER TOVS (HIRS/2 + MSU + SSU) TIRO S OPERATIONAL VERTICAL SOUNDER 0630 01 NOAA RADIOMETER VAS VISSR ATMOSPHERIC SOUNDER 0631 01 NOAA RADIOMETER SSZ 0645 01 NOAA SPECTROMETER SEM SPACE ENVIRONMENT MONITOR 0650 02 NRSCC RADIOMETER MVIRSR (10 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0651 02 NRSCC RADIOMETER MVIRSR (3 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0652 02 NRSCC RADIOMETER MVIRSR (5 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0670 01 NSAU RADAR RLSBO SIDE LOOKING MICROWAVE RADAR 0680 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS MSU-EU MULTI-SPECTR AL RADIOMETER WITH HIGH RESOLUTION 0681 02 NSAU IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MSU- UM VISIBLE MULTI-SPECTRAL RADIOMETER 0682 01 NSAU RADIOMETER RM-08 IMAGING MICROWAVE RADIOMETER 0683 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-UMS STEREO RADIO METER WITH HIGH RESOLUTION 0684 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-VR VISIBLE RADI OMETER WITH HIGH RESOLUTION 0685 01 NSAU RADIOMETER TRASSER 0700 02 ROSCOSMOS COMMUNICATIONS KONDOR-2 DATA COLLECT ION AND TRANSMISSION SYSTEM 0701 01 ROSCOSMOS COMMUNICATIONS BRK 0710 01 ROSCOSMOS LIDAR ALISSA BACKSCATTER LIDAR 0712 01 ROSCOSMOS LIDAR BALKAN-2 LIDAR 0715 01 ROSCOSMOS LIDAR MK-4 0716 01 ROSCOSMOS LIDAR MK-4M 0730 01 ROSCOSMOS RADAR GREBEN RADAR ALTIMETER 0731 01 ROSCOSMOS RADAR SAR-10 SYNTETIC APERTURE RADAR 0732 01 ROSCOSMOS RADAR SAR-3 SYNTETIC APERTURE RADAR 0733 01 ROSCOSMOS RADAR SAR-70 SYNTETIC APERTURE RADAR 0740 01 ROSCOSMOS RADAR SLR-3 SIDE LOOKING RADAR 0745 01 ROSCOSMOS RADAR TRAVERS SAR 0750 02 ROSCOSMOS RADIOMETER 174-K TEMPERATURE AND HUMI DITY PROFILER 0751 02 ROSCOSMOS RADIOMETER BTVK SCANNING TELEVISION RADIOMETER 0752 02 ROSCOSMOS RADIOMETER CHAIKA SCANNING IR RADIOMET ER 0753 02 ROSCOSMOS RADIOMETER DELTA-2 MULTISPECTRAL MICROW AVE SCANNER 0755 02 ROSCOSMOS RADIOMETER IKAR-D MULTISPECTRAL MICROW AVE SCANNER 0756 02 ROSCOSMOS RADIOMETER IKAR-N MULTISPECTRAL MICROW AVE SCANNER 0757 02 ROSCOSMOS RADIOMETER IKAR-P MULTISPECTRAL MICROW AVE SCANNER 0760 01 ROSCOSMOS RADIOMETER ISP 0761 02 ROSCOSMOS RADIOMETER KFA-1000 PHOTOGRAPHIC CAMERA 0762 01 ROSCOSMOS RADIOMETER KFA-200 PHOTOGRAPHIC CAMERA 0763 02 ROSCOSMOS RADIOMETER KFA-3000 PHOTOGRAPHIC CAMERA 0770 01 ROSCOSMOS RADIOMETER KLIMAT SCANNING IR RADIOMETER 0771 02 ROSCOSMOS RADIOMETER KLIMAT-2 SCANNING IR RADIOMETER 0775 01 ROSCOSMOS RADIOMETER MIRAS 0776 01 ROSCOSMOS RADIOMETER MIVZA 0777 02 ROSCOSMOS RADIOMETER MIVZA-M MICROWAVE SCANNING R ADIOMETER 0780 01 ROSCOSMOS RADIOMETER MR-2000 0781 01 ROSCOSMOS RADIOMETER MR-2000M 0785 02 ROSCOSMOS RADIOMETER MR-900 SCANNING TELEPHOTOME TER 0786 02 ROSCOSMOS RADIOMETER MR-900B SCANNING VISUAL BAND TELEPHOTOMETER 0790 02 ROSCOSMOS RADIOMETER MSU-E MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0791 02 ROSCOSMOS RADIOMETER MSU-E1 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0792 02 ROSCOSMOS RADIOMETER MSU-E2 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0793 01 ROSCOSMOS RADIOMETER MSU-M 0794 02 ROSCOSMOS RADIOMETER MSU-S MULTISPECTRAL MEDIUM RESOLUTION SCANNER 0795 02 ROSCOSMOS RADIOMETER MSU-SK MULTISPECTRAL MEDIUM RESOLUTION CONICAL SCANNER 0796 02 ROSCOSMOS RADIOMETER MSU-V MULTISPECTRAL HIGH R ESOLUTION CONICAL SCANNER 0810 02 ROSCOSMOS RADIOMETER MTZA SCANNING MICROWAVE R ADIOMETER 0815 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) MZOAS SCANNING MICROWAVE RADIO METER 0820 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) R-225 SINGLE CHANNEL MICROWAVE RADIOMETER 0821 01 ROSCOSMOS RADIOMETER R-400 0822 02 ROSCOSMOS RADIOMETER R-600 SINGLE CHANNEL MICRO WAVE RADIOMETER 0830 02 ROSCOSMOS RADIOMETER RMS RADIATION MEASUREMEN T SYSTEM 0835 01 ROSCOSMOS RADIOMETER TV CAMERA 0836 01 ROSCOSMOS RADIOMETER SILVA 0840 02 ROSCOSMOS SPECTRO-RADIOMETER SROSMO SPECTRORADIO METER FOR OCEAN MONITORING 0850 02 ROSCOSMOS SPECTROMETER BUFS-2 BACKSCATTER SPECTROM ETER/2 0851 02 ROSCOSMOS SPECTROMETER BUFS-4 BACKSCATTER SPECTROM ETER/4 0855 02 ROSCOSMOS SPECTROMETER ISTOK-1 INFRA-RED SPECTROMET ER 0856 02 ROSCOSMOS SPECTROMETER SFM-2 SPECTROMETER TO MEAS URE DIRECT SOLAR RADIATION 0857 01 ROSCOSMOS SPECTROMETER DOPI 0858 01 ROSCOSMOS SPECTROMETER KGI-4 0859 01 ROSCOSMOS SPECTROMETER OZON-M 0860 01 ROSCOSMOS SPECTROMETER RMK-2 0900 02 NOAA RADIOMETER MAXIE MAGNETOSPHERIC ATMOSPHERIC X -RAY IMAGING EXPERIMENT 0901 01 NOAA RADIOMETER OLS OPERATIONAL LINESCAN SYSTEM 0905 02 NOAA RADIOMETER SSM/I MISSION SENSOR MICROWAVE IMA GER 0906 02 NOAA RADIOMETER SSM/T-1 MISSION SENSOR MICROWAVE TEM PERATURE SOUNDER 0907 02 NOAA RADIOMETER SSM/T-2 MISSION SENSOR MICROWAVE WAT ER VAPOR SOUNDER 0908 02 NOAA RADIOMETER SSMIS SPECIAL SENSOR MICROWAVE IMA GER SOUNDER 0910 01 NOAA RADIOMETER SXI SOLAR X-RAY IMAGER 0930 02 NOAA SPECTROMETER EHIC ENERGETIC HEAVY ION COMPOSIT ION EXPERIMENT 0931 01 NOAA SPECTROMETER X-RAY ASTRONOMY PAYLOAD 0932 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) IVIS SR (FY-2) IMPROVED MULTISPECTRAL VISIBLE AND INFRA-RED SCA N RADIOMETER (5 CHANNELS) 0933 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IRAS INFRARED ATMOSPHERIC SOUNDER 0934 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWAS MICROWAVE ATMOSPHERIC SOUNDER 0935 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IMWA S IMPROVED MICROWAVE ATMOSPHERIC SOUNDER 0936 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWHS MICROWAVE HUMIDITY SOUNDER 0937 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MVIR S MODERATE RESOLUTION VISIBLE AND INFRARED IMAGING SPECTRO RADIOMETER 0938 02 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MWRI MICROWAVE RADIATION IMAGER 0940 02 ROSCOSMOS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDER S MTVZA-OK SCANNING MICROWAVE RADIOMETER 0941 02 CNES ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS SAPH IR 0944 01 NOAA RADAR ALTIMETERS ALT ALTIMETER 0945 02 NOAA EARTH RADIATION BUDGET RADIOMETER TSIS TOTA L SOLAR IRRADIANCE SENSOR 0946 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) CMIS CONICAL-SCANNING MICROWAVE IMAGER/SOUNDER 0947 02 NOAA TOTAL AND PROFILE OZONE OMPS OZONE MAPPING AND PR OFILER SUITE 0948 03 NOAA SPACE ENVIRONMENT ATMOSPHERIC TEMPERATURE AND HUMIDI TY SOUNDERS GPSOS GLOBAL POSITIONING SYSTEM OCCULTATION SE NSOR 0949 02 NOAA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y SESS SPACE ENVIRONMENTAL SENSOR SUITE 0950 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRR MULTISPECTRAL VISIBLE AND INFRA-RED SCAN RADIOMETER (10 CHANNELS 0951 01 NRSCC TOTAL AND PROFILE OZONE TOM TOTAL OZONE MAPPER 0952 01 NRSCC TOTAL AND PROFILE OZONE OP OZONE PROFILER 2047 01 MISSING VALUE 002020 0024 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 (TIROS, NOAA-6 TO NOAA-13) 0003 01 TIROS 2 (NOAA-14 ONWARDS) 0010 01 EOS 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0261 01 JASON 0271 01 GMS 0272 01 MTSAT 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME (MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME (MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME (MSG) 0351 01 GOMS 0380 01 FY-1 0381 01 FY-2 0401 01 GPS 0402 01 GLONASS 0403 01 GALILEO 0511 01 MISSING VALUE 002021 0008 0001 01 HIGH RESOLUTION INFRA RED SOUNDER (HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU ) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 002022 0005 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 AUTOMATED STATISTICAL REGRESSION 0003 01 CLEAR PATH 0004 01 PARTLY CLOUDY PATH 0005 01 CLOUDY PATH 002023 0012 0000 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE WATER VAPOUR CHANNEL 0001 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE INFRARED CHAN NEL 0002 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE VISIBLE CHANN EL 0003 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN WATER VAPOUR CHAN NEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0004 02 WIND DERIVED FROM MOTION OBSERVED IN COMBINATION OF SPECTRA L CHANNELS 0005 02 WIND DERIVED FROM MOTION OBSERVED IN THE WATER VAPOUR CHANN EL IN CLEAR AIR 0006 01 WIND DERIVED FROM MOTION OBSERVED IN THE OZONE CHANNEL 0007 02 WIND DERIVED FROM MOTION OBSERVED IN WATER VAPOUR CHANNEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0008 01 WIND DERIVED FROM ALTIMETER 0009 01 WIND DERIVED FROM RADIOMETER 0013 01 ROOT MEAN SQUARE 0015 01 MISSING VALUE 002024 0003 0001 01 TABLE WITH FULL RANGE OF HUMIDITY VARIATION IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002025 0016 0001 01 RESERVED 0002 01 HIRS 0003 01 MSU 0006 01 HIRS 0007 01 MSU 0010 01 HIRS(1, 2, 3, 8,9, 16, 17) 0011 01 HIRS(1, 2, 3, 9, 17) 0012 01 MSU 0015 01 HIRS 0016 01 HIRS 0017 01 MSU 0018 01 SKINTK(OCEAN ONLY) 0021 01 HIRS 0022 01 SSU 0023 01 MSU (3 ,4) 0025 01 MISSING 002030 0007 0001 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0002 01 GEK (GEOMAGNETIC ELECTRO KINETOGRAPH) 0003 01 SHIPS'S SET AND DRIFT DETERMINED BY FIXES 3-6 HOURS APART 0004 02 SHIPS'S SET AND DRIFT DETERMINED BY MORE THAN 6 HOURS BUT LE SS THAN 12 HOURS APART 0005 01 DRIFT OF BUOY 0006 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0007 01 MISSIN VALUE 002031 0021 0000 01 RESERVED 0001 01 INSTANTANEOUS 0002 01 AVERAGED OVER 3 MINUTES OR LESS 0003 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0004 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0005 01 INSTANTANEOUS 0006 01 AVERAGED OVER 3 MINUTES OR LESS 0007 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0008 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0009 01 VECTOR OR DOPPLER CURRENT PROFILLING METHOD NOT USED 0010 01 RESERVED 0011 01 1 HOUR OR LESS 0012 01 MORE THAN 1 HOUR BUT 2 AT THE MOST 0013 01 MORE THAN 2 HOUR BUT 4 AT THE MOST 0014 01 MORE THAN 4 HOUR BUT 8 AT THE MOST 0015 01 MORE THAN 8 HOUR BUT 12 AT THE MOST 0016 01 MORE THAN 12 HOUR BUT 18 AT THE MOST 0017 01 MORE THAN 18 HOUR BUT 24 AT THE MOST 0018 01 RESERVED 0019 01 DRIFT METHOD NOT USED 0031 01 MISSING 002032 0004 0000 02 VALUES AT SELECTED DEPTHS (DATA POINTS FIXED BY THE INSTRUME NT OR SELECTED BY ANY OTHER METHOD) 0001 02 VALUES AT SIGNIFICANT DEPTHS (DATA POINTS TAKEN FROM TRACES AT SIGNIFICANT DEPTHS) 0002 01 RESERVED 0003 01 MISSING VALUE 002033 0005 0000 01 NO SALINITY MEASURED 0001 01 IN SITU SENSOR, ACCURACY BETTER THAN 0.02 % 0002 01 IN SITU SENSOR, ACCURACY LESS THAN 0.02 % 0003 01 SAMPLE ANALYSIS 0007 01 MISSING VALUE 002034 0007 0000 01 UNSPECIFIED DROGUE 0001 01 HOLEY SOCK 0002 01 TRISTAR 0003 01 WINDOW SHADE 0004 01 PARACHUTE 0005 01 NON-LAGRANGIAN SEA ANCHOR 0031 01 MISSING VALUE 002036 0004 0000 01 DRIFTING BUOY 0001 01 FIXED BUOY 0002 01 RESERVED 0003 01 MISSING VALUE 002037 0007 0000 01 REASERVED 0001 01 MANUAL READING FROM VERTICAL TIDE STAFF 0002 01 MANUAL READING FROM SINGLE AUTOMATIC RECORDER AT STATION 0003 01 MANUAL READING FROM MULTIPLE AUTOMATIC RECORDERS AT STATION 0004 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITHOUT LEVEL REFERENCE CHECK 0005 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITH LEVEL REFERENCE CHECK,OR MULTIPLE AUTOMATIC RECORDERS 0007 01 MISSING 002038 0012 0000 01 SHIP INTAKE 0001 01 BUCKET 0002 01 HULL CONTACT SENSOR 0003 01 REVERSING TERMOMETER 0004 01 STD/CTD SENSOR 0005 01 MECHANICAL BT 0006 01 EXPANDABLE BT 0007 01 DIGITAL BT 0008 01 THERMISTOR CHAIN 0009 01 INFRARED SCANNER 0010 01 MICROWAVE SCANNER 0015 01 MISSING VALUE 002039 0005 0000 01 MEASURED WET-BULB TEMPERATURE 0001 01 ICED BULB MEASURED WET-BULB TEMPERATURE 0002 01 COMPUTED WET-BULB TEMPERATURE 0003 01 ICED BULB COMPUTED WET-BULB TEMPERATURE 0007 01 MISSING VALUE 002041 0005 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMSILATIO N MANUALLY MODIFIED 0063 01 MISSING VALUE 002040 0008 0000 01 SHIPS MOTION REMOVED BY AVARAGING 0001 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0002 01 SHIPS MOTION NOT REMOVED 0003 01 SHIPS MOTION REMOVED BY AVERAGING 0004 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0005 01 SHIPS MOTION NOT REMOVED 0006 01 DOPPLER CURRENT PROFILING METHOD NOT USED 0015 01 MISSING VALUE 002041 0006 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMILATION MANUALLY MODIFIED 0010 01 INFORMATION BASED ON THE NUMERICAL WEATHER PREDICTION 0063 01 MISSING VALUE 002044 0006 0000 01 RESERVED 0001 01 LONGUET-HIGGINS (1964) 0002 01 LONGUET-HIGGINS (F3 METHOS) 0003 01 MAXIMUM LIKELIHOOD METHOD 0004 01 MAXIMUM ENTROPY METHOD 0015 01 MISSING VALUE 002045 0005 0000 01 SEA STATION 0001 01 AUTOMATIC DATA BUOY 0002 01 AIRCRAFT 0003 01 SATELLITE 0015 01 MISSING VALUE 002046 0004 0000 01 RESERVED 0001 01 HEAVE SENSOR 0002 01 SLOPE SENSOR 0015 01 MISSING VALUE 002048 0012 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A 0004 01 AMSU-B 0005 01 AVHRR 0006 01 SSMI 0007 01 NSCAT 0008 01 SEA WINDS 0009 01 POSEIDON ALTIMETER 0010 01 JMR (JASON MICROWAVE RADIOMETER) 0015 01 MISSING VALUE 002049 0004 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 SIMULTANIOUS PHISICAL RETRIEVAL 0003 01 CLEAR SOUNDING 0004 01 CLOUDY COUNDING 002050 0019 0001 01 CHANNEL 1 14.71 MICROMETERS 0002 01 CHANNEL 2 14.37 MICROMETERS 0003 01 CHANNEL 3 14.06 MICROMETERS 0004 01 CHANNEL 4 13.64 MICROMETERS 0005 01 CHANNEL 5 13.37 MICROMETERS 0006 01 CHANNEL 6 12.66 MICROMETERS 0007 01 CHANNEL 7 12.02 MICROMETERS 0008 01 CHANNEL 8 11.03 MICROMETERS 0009 01 CHANNEL 9 9.71 MICROMETERS 0010 01 CHANNEL 10 7.43 MICROMETERS 0011 01 CHANNEL 11 7.02 MICROMETERS 0012 01 CHANNEL 12 6.51 MICROMETERS 0013 01 CHANNEL 13 4.57 MICROMETERS 0014 01 CHANNEL 14 4.52 MICROMETERS 0015 01 CHANNEL 15 4.45 MICROMETERS 0016 01 CHANNEL 16 4.13 MICROMETERS 0017 01 CHANNEL 17 3.98 MICROMETERS 0018 01 CHANNEL 18 3.74 MICROMETERS 0019 01 CHANNEL 19 0.969 MICROMETERS 002051 0004 0001 01 MAXIMUM/MINIMUM THERMOMETERS 0002 01 AUTOMATED INSTRUMENT 0003 01 THERMOGRAPH 0015 01 MISSING VALUE 002052 0005 0001 01 CHANNEL 1 0.55-.75 MICROMETERS 0002 01 CHANNEL 2 3.9 MICROMETERS 0003 01 CHANNEL 3 6.7 MICROMETERS 0004 01 CHANNEL 4 10.7 MICROMETERS 0005 01 CHANNEL 5 12.0 MICROMETERS 002053 0005 0000 01 OBSERVED BRIGHTNESS TEMPERATURES 0001 01 BRIGHTNESS TEMPERATURE WITH BIAS CORRECTION APPLIED 0002 01 BRIGHTNESS TEMPERATURE CALCULATED FROM FIRST GUESS 0003 01 BRIGHTNESS TEMPERATURE CALCULATED FROM SOUNDING 0015 01 MISSING VALUE 002054 0006 0000 02 PARAMETER DERIVED USING OBSERVED SOUNDER BRIGHTNESS TEMPERAT URES 0001 02 PARAMETER DERIVED USING OBSERVED IMAGER BRIGHTNESS TEMPERATU RES 0002 01 PARAMETER DERIVED USING FIRST GUESS INFORMATION 0003 01 PARAMETER DERIVED USING NMC ANALYSIS INFORMATION 0004 01 PARAMETER DERIVED USING RADIOSONDE INFORMATION 0015 01 MISSING VALUE 002055 0009 0000 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS RADIOSONDE 0001 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS FIRST GUESS 0002 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS FIRST GUESS 0003 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS RETRIEVAL 0004 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS FORST GUESS 0005 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS IMAGER 0006 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS SOUNDER 0007 01 STATISTICS GENERATED FOR RADIOSONDE 0008 01 STATISTICS GENERATED FOR FIRST GUESS 002056 0006 0000 01 SUMS OF DIFFERENCE 0001 01 SUMS OF SQUARED DIFFERENCES 0002 01 SAMPLE SIZE 0003 01 MINIMUM DIFFERENCE 0004 01 MAXIMUM DIFFERENCE 0015 01 MISSING VALUE 002057 0006 0000 01 NESTED GRID MODEL (NMG) 0001 01 AVIATION MODEL(AVN) 0002 01 MEDIUM RANGE FORECAST (MRF) MODEL 0003 01 GLOBAL DATA ASSIMILATION SYSTEM (GDAS) FORECAST MODEL 0004 01 PRIOR SOUNDINGS (WITHIN 3 HOURS OF CURRENT TIME) 0005 01 CLIMATOLOGY 002058 0005 0000 01 12 HOUR AND 18 HOUR 0001 01 18 HOUR AND 24 HOUR 0002 01 6 HOUR AND 12 HOUR 0003 01 GREATER THAN 24 HOUR 0015 01 MISSING VALUE 002059 0005 0000 01 NCEP NESTED GRID MODEL ANALYSIS 0001 01 NCEP AVIATION MODEL ANALYSIS 0002 01 NCEP MEDIUM RANGE FORECAST MODEL ANALYSIS 0003 01 NCEP GLOBAL DATA ASSIMILATION SYSTEM FORECAST MODEL ANALYSIS 0015 01 MISSING VALUE 002060 0007 0000 01 CURRENT SURFACE HOURLY REPORTS 0001 01 CURRENT SHIP REPORTS 0002 01 CURRENT BUOY REPORTS 0003 01 ONE HOUR OLD SURFACE HOURLY REPORTS 0004 01 ONE HOUR SHIP OLD REPORTS 0005 01 ONE HOUR BUOY OLD REPORTS 0015 01 MISSING VALUE 002061 0003 0000 01 INERTIAL NAVIGATOR SYSTEM 0001 01 OMEGA 0007 01 MISSING VALUE 002062 0007 0000 01 ASDAR 0001 01 ASDAR(ACARS ALSO AVAILABLE BUT NOT OPERATIVE) 0002 01 ASDAR(ACARS ALSO AVAILABLE AND OPERATIVE) 0003 01 ACARS 0004 01 ACARS(ASDAR ALSO AVALILABLE BUT NOT OPERATIVE) 0005 01 ACARS(ASDAR ALSO AVAILABLE AND OPERATIVE) 0015 01 MISSING VALUE 002064 0004 0000 01 GOOD 0001 01 BAD 0002 01 RESERVED 0003 01 MISSING VALUE 002066 0004 0000 01 TRS 2000 0001 01 IMS 1500C 0062 01 OTHER 0063 01 MISSING VALUE 002070 0013 0000 01 ACTUAL LOCATION IN SECONDS 0001 01 ACTUAL LOCATION IN MINUTES 0002 01 ACTUAL LOCATION IN DEGREES 0003 01 ACTUAL LOCATION IN DECIDEGREES 0004 01 ACTUAL LOCATION OM CENTIDEGREES 0005 01 REFERENCED TO CHECKPOINT IN SECONDS 0006 01 REFERENCED TO CHECKPOINT IN MINUTES 0007 01 REFERENCED TO CHECKPOINT IN DEGREES 0008 01 REFERENCED TO CHECKPOINT IN DECIDEGREES 0009 01 REFERENCED TO CHECKPOINT IN CENTIDEGREES 0010 01 ACTUAL LOCATION IN TENTHS OF A MINUTE 0011 01 REFERENCED TO CHECKPOINT IN TENTHS OF A MINUTE 0015 01 MISSING VALUE 002080 0005 0000 01 KAYSAM 0001 01 TOTEX 0002 01 KKS 0062 01 OTHER 0063 01 MISSING VALUE 002081 0009 0000 01 GP26 0001 01 GP28 0002 01 GP30 0003 01 HM26 0004 01 HM28 0005 01 HM30 0006 01 SV16 0030 01 OTHER 0031 01 MISSING VALUE 002083 0006 0000 01 HIGH BAY 0001 01 LOW BAY 0002 01 BALLOON INFLATION LAUNCH SYSTEM (BILS) 0003 01 ROOF-TOP BILS 0014 01 OTHER 0015 01 MISSING VALUE 002084 0005 0000 01 HYDROGEN 0001 01 HELIUM 0002 01 NATURAL GAS 0014 01 OTHER 0015 01 MISSING VALUE 002095 0005 0000 01 CAPACITANCE ANEROID 0001 01 DERIVED FROM GPS 0002 01 RESISTIVE STRAIN GAUGE 0030 01 OTHER 0031 01 MISSING VALUE 002096 0005 0000 01 ROD THERMISTOR 0001 01 BEAD THERMISTOR 0002 01 CAPACITANCE BEAD 0030 01 OTHER 0031 01 MISSING VALUE 002097 0008 0000 01 VIZ MARK II CARBON HYGRISTOR 0001 01 VIZ B2 HYGRISTOR 0002 01 VAISALA A-HUMICAP 0003 01 VAISALA H-HUMICAP 0004 01 CAPACITANCE SENSOR 0005 01 VAISALA RS90 0030 01 OTHER 0031 01 MISSING VALUE 002098 0005 0000 01 HH POLARISATION 0001 01 VV POLARISATION 0002 01 HV POLARISATION REAL VALUED COMPONENT 0003 01 HV POLARISATION IMAGINARY VALUED COMPONENT 0007 01 MISSING VALUE 002101 0010 0000 01 CENTRE FRONT-FED PARABOLOID 0001 01 OFFSET FRONT-FED PARABOLOID 0002 01 CENTRE CASSEGRAIN PARABOLOID 0003 01 OFFSET CASSEGRAIN PARABOLOID 0004 01 PLANAR ARRAY 0005 01 COAXIAL-COLLINEAR ARRAY 0006 01 YAGI ELEMENTS ARRAY 0007 01 MICROSTRIP 0014 01 OTHER 0015 01 MISSING VALUE 002103 0002 0001 01 RADAR ANTENNA IS PROTECTED BY A RADOME 0002 01 MISSING VALUE 002104 0007 0000 01 HORIZONTAL POLARISATION 0001 01 VERTICAL POLARISATION 0002 01 RIGHT CIRCULAR POLARISATION 0003 01 LEFT CIRCULAR POLARSZATION 0004 01 HORIZONTAL AND VERTICAL POLARISATION 0005 01 RIGHT AND LEFT CIRCULAR POLARISATION 0015 01 MISSING VALUE 002115 0007 0000 01 PDB 0001 01 RSOIS 0002 01 ASOS 0003 01 PSYCHROMETER 0004 01 F420 0030 01 OTHER 0031 01 MISSING VALUE 002119 0008 0000 01 INTERMEDIATE FREQUENCY CALIBRATION MODE (IFCAL) 0001 01 BUILT-IN TEST EQUIPMENT DIGITAL (BITE DGT) 0002 01 BUILT-IN TEST EQUIPMENT RADIO FREQUENCY (BITE RF) 0003 01 PRESET TRACKING (PSET TRK) 0004 01 PRESET LOOP OUT 0005 01 ACQUISITION 0006 01 TRACKING 0007 01 MISSING VALUE 002131 0001 0001 01 STC OPERATIONAL 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROPHOTOMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED FOR FUTURE USE 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN, ATTENUATOR #0 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002145 0009 0000 01 WAVELENGTH AD ORDINARY SETTING 0001 01 WAVELENGTH BD ORDINARY SETTING 0002 01 WAVELENGTH CD ORDINARY SETTING 0003 01 WAVELENGTH CC' ORDINARY SETTING 0004 01 WAVELENGTH AD FOCUSSING IMAGE 0005 01 WAVELENGTH BD FOCUSSING IMAGE 0006 01 WAVELENGTH CD FOCUSSING IMAGE 0007 01 WAVELENGTH CC' FOCUSSING IMAGE 0015 01 MISSING VALUE 002146 0011 0000 01 ON DIRECT SUN 0001 01 ON DIRECT MOON 0002 01 ON BLUE ZENITH SKY 0003 01 ON ZENITH CLOUD (UNIFORM STRATIFIED LAYER OF SMALL OPACITY) 0004 02 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF MED IUM OPACITY) 0005 02 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF LAR GE OPACITY) 0006 02 ON ZENITH CLOUD (HIGHLY VARIABLE OPACITY, WITH OR WITOUT PRE CIPITATION) 0007 01 ON ZENITH CLOUD (FOG) 0008 01 ON ZENITH HAZE 0009 01 ON DIRECT SUN THROUGH THIN CLOUD, FOG OR HAZE 0015 01 MISSING VALUE 002148 0006 0000 01 RESERVED 0001 01 ARGOS 0002 01 GPS 0003 01 GOES DCP 0004 01 METEOSAT DCP 0031 01 MISSING VALUE 002149 0022 0000 01 UNSPECIFIED DRIFTING BUOY 0001 01 STANDARD LAGRANGIAN DRIFTER (GLOBAL DRIFTER PROGRAMME) 0002 01 STANDARD FGGE TYPE DRIFTING BUOY 0003 01 WIND MEASURING FGGE TYPE DRIFTING BUOY 0004 01 ICE FLOAT 0008 01 UNSPECIFIED SUB-SURFACE FLOAT 0009 01 SOFAR 0010 01 ALACE 0011 01 MARVOR 0012 01 RAFOS 0016 01 UNSPECIFIED MOORED BUOY 0017 01 NOMAD 0018 01 3-METRE DISCUS 0019 01 10-12-METRE DISCUS 0020 01 ODAS 30 SERIES 0021 01 ATLAS (E.G. TAO AREA) 0022 01 TRITON BUOY 0023 01 RESERVED 0024 01 OMNIDIRECTIONAL WAVERIDER 0025 01 DIRECTIONAL WAVERIDER 0026 01 SUB-SURFACE ARGO FLOAT 0063 01 MISSING VALUE 002150 0055 0000 01 RESERVED 0001 01 HIRS 1 0002 01 HIRS 2 0003 01 HIRS 3 0004 01 HIRS 4 0005 01 HIRS 5 0006 01 HIRS 6 0007 01 HIRS 7 0008 01 HIRS 8 0009 01 HIRS 9 0010 01 HIRS 10 0011 01 HIRS 11 0012 01 HIRS 12 0013 01 HIRS 13 0014 01 HIRS 14 0015 01 HIRS 15 0016 01 HIRS 16 0017 01 HIRS 17 0018 01 HIRS 18 0019 01 HIRS 19 0020 01 HIRS 20 0021 01 MSU 1 0022 01 MSU 2 0023 01 MSU 3 0024 01 MSU 4 0025 01 SSU 1 0026 01 SSU 2 0027 01 SSU 3 0028 01 AMSU-A 1 0029 01 AMSU-A 2 0030 01 AMSU-A 3 0031 01 AMSU-A 4 0032 01 AMSU-A 5 0033 01 AMSU-A 6 0034 01 AMSU-A 7 0035 01 AMSU-A 8 0036 01 AMSU-A 9 0037 01 AMSU-A 10 0038 01 AMSU-A 11 0039 01 AMSU-A 12 0040 01 AMSU-A 13 0041 01 AMSU-A 14 0042 01 AMSU-A 15 0043 01 AMSU-B 1 0044 01 AMSU-B 2 0045 01 AMSU-B 3 0046 01 AMSU-B 4 0047 01 AMSU-B 5 0048 01 AVHRR 1 0049 01 AVHRR 2 0050 01 AVHRR 3A 0051 01 AVHRR 3B 0052 01 AVHRR 4 0053 01 AVHRR 5 0063 01 MISSING VALUE 002151 0009 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A1-1 0004 01 AMSU-A1-2 0005 01 AMSU-A2 0006 01 AMSU-B 0007 01 AVHRR 2047 01 MISSING VALUE 002152 0011 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 002158 0008 0001 01 MISMATCH IN RED VEC HPA 0002 01 MISMATCH IN RED VEC RFSS 0003 01 PTR CALIBRATION BAND 320 MHZ (KU) 0004 01 PTR CALIBRATION BAND 80 MHZ (KU) 0005 01 PTR CALIBRATION BAND 20 MHZ (KU) 0006 01 PTR CALIBRATION BAND 160 MHZ (S) 0007 01 KU FLIGHT CALIBRATION PARAMETERS AVAILABLE 0008 01 S FLIGHT CALIBRATION PARAMETERS AVAILABLE 002159 0005 0001 01 TEMPERATURE INCONSISTENCY 0002 01 DATA IS MISSING 0003 01 REDUNDANCY CHANNEL 0004 01 POWER BUS PROTECTION 0005 01 OVERVOLTAGE/OVERLOAD PROTECTION 002163 0015 0000 01 AUTO EDITOR 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002164 0004 0000 01 LP - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0007 01 MISSING VALUE 002166 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 002167 0004 0000 01 METHOD NOT DEFINE 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002169 0004 0000 01 CUP ROTOR 0001 01 PROPELLER ROTOR 0002 01 WIND OBSERVATION THROUGH AMBIENT NOISE (WOTAN) 0015 01 MISSING VALUE 002172 0003 0001 01 RETRIEVAL FROM A NADIR SOUNDING 0002 01 RETRIEVAL FROM A LIMB SOUNDING 0255 01 MISSING VALUE 002175 0009 0000 01 MANUAL MEASUREMENT 0001 01 TIPPING BUCKET METHOD 0002 01 WEIGHING METHOD 0003 01 OPTICAL METHOD 0004 01 PRESSURE METHOD 0005 01 FLOAT METHOD 0006 01 DROP COUNTER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002176 0006 0000 01 MANUAL OBSERVATION 0001 01 VIDEO CAMERA METHOD 0002 01 INFRA-RED METHOD 0003 01 LASER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002177 0005 0000 01 MANUAL OBSERVATION 0001 01 ULTRASONIC METHOD 0002 01 VIDEO CAMERA METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002178 0005 0000 01 MANUAL OBSERVATION 0001 01 OPTICAL METHOD 0002 01 CAPACITIVE METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002179 0006 0000 01 MANUAL OBSERVATION 0001 01 VAISALA ALGORITHM 0002 01 ASOS (FAA) ALGORITHM 0003 01 AWOS (CANADA) ALGORITHM 0014 01 OTHER 0015 01 MISSING VALUE 002180 0008 0000 01 MANUAL OBSERVATION 0001 02 OPTICAL SCATTER SYSTEM COMBINED WITH PRECIPITATION OCCURRENCE SENSING SYSTEM 0002 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF VISIBLE LIGHT 0003 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF INFRARED LIGHT 0004 01 INFRARED LIGHT EMITTING DIODE (IRED) SYSTEM 0005 01 DOPPLER RADAR SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002181 0005 0001 01 RAIN DETECTOR 0002 01 FREEZING RAIN SENSOR 0003 01 ICE DETECTION SENSOR 0004 01 HAIL AND ICE PELLET SENSOR 0020 01 OTHER 002182 0007 0000 01 MANUAL MEASUREMENT 0001 01 TRANSMISSOMETER SYSTEM (BASE > 25) 0002 01 TRANSMISSOMETER SYSTEM (BASE < 25 M) 0003 01 FORWARD SCATTER SYSTEM 0004 01 BACK SCATTER SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002183 0009 0000 01 MANUAL OBSERVATION 0001 01 CEILOMETER SYSTEM 0002 01 INFRARED CAMERA SYSTEM 0003 01 MICROWAVE VISUAL CAMERA SYSTEM 0004 01 SKY IMAGER SYSTEM 0005 01 VIDEO TIME LAPSED CAMERA SYSTEM 0006 01 MICRO PULSE LIDAR (MPL) SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002184 0008 0000 01 MANUAL OBSERVATION 0001 01 LIGHTNING IMAGING SENSOR 0002 01 ELECTRICAL STORM IDENTIFICATION SENSOR 0003 01 MAGNETIC FINDER SENSOR 0004 01 LIGHTNING STRIKE SENSOR 0005 01 FLASH COUNTER 0014 01 OTHER 0015 01 MISSING VALUE 002185 0007 0000 01 MANUAL MEASUREMENT 0001 01 BALANCED FLOATING METHOD 0002 01 PRESSURE METHOD 0003 01 ULTRASONIC METHOD 0004 01 HYDRAULIC METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002186 0023 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 002187 0011 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 002188 0010 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 002189 0004 0001 01 MANUAL OBSERVATION 0002 01 ALL LIGHTNING STRIKES WITHOUT DISCRIMINATION 0003 01 LIGHTNING STRIKES CLOUD TO GROUND ONLY 0004 02 ALL LIGHTNING STRIKES WITH DISCRIMINATION BETWEEN CLOUD TO GROUND AND CLOUD TO CLOUD 002194 0002 0000 01 FGGE 0015 01 MISSING VALUE 002196 0017 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 ( TIROS NOAA 6 TO NOAA 13) 0003 01 TIROS 2 ( NOAA-14 ONWARD) 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0271 01 GMS 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME(MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME(MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME(MSG) 0351 01 GOMS 0381 01 FY-2 0512 01 MISSING VALUE 002199 0004 0000 01 RESERVED 0001 01 TABLE WITH FULL RANGE OF HUMMIDITY VALUES IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002216 0017 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG(1) 0015 01 SLICES PER COMPOSITE FLAG(2) 0016 01 SLICES PER COMPOSITE FLAG(3) 0017 01 MISSING VALUE 002231 0015 0000 01 RESERVED 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMU M GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002232 0004 0000 01 P - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0003 01 MISSING VALUE 002251 0004 0000 01 METHOD NOT DEFINED 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002252 0012 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 0012 01 MULTI-CHANNEL SCANNING RADIOMETER 002254 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 004059 0005 0001 01 00 UTC 0002 01 06 UTC 0003 01 12 UTC 0004 01 18 UTC 0005 01 OTHER HOURS 008001 0007 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT LEVEL, TEMPERATURE AND/OR RELATIVE HUMIDITY 0006 01 SIGNIFICANT LEVEL, WIND 0007 01 MISSING VALUE 008002 0013 0000 02 OBSERVING RULES FOR BASE OF LOWEST CLOUD AND CLOUD TYPES OF FM 12-IX EXT. SYNOP AND FM 13-IX EXT. SHIP APPLY 0001 01 FIRST NON - CB SIGNIFICANT LAYER 0002 01 SECOND NON - CB SIGNIFICANT LAYER 0003 01 THIRD NON - CB SIGNIFICANT LAYER 0004 01 CUMULONIMBUS LAYER 0005 01 CEILING 0006 01 CLOUD NOT DETECTED BELOW THE FOLLOWING HEIGHT(S) 0007 01 LOW CLOUD 0008 01 MIDDLE CLOUD 0009 01 HIGH CLOUD 0010 02 CLOUD LAYER WITH BASE BELOW THE STATION LEVEL AND TOP ABOVE THE STATION LEVEL 0011 01 CLOUD LAYER WITH BASE AND TOP BELOW THE STATION LEVEL 0063 01 MISSING VALUE 008003 0009 0000 01 SURFACE 0001 01 BASE OF SATELLITE SOUNDING 0002 01 CLOUD TOP 0003 01 TROPOPAUSE 0004 01 PRECIPITABLE WATER 0005 01 SOUNDING RADIANCES 0006 01 MEAN TEMPERATURES 0007 01 OZON 0063 01 MISSING VALUE 008004 0006 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING(DES) 0007 01 MISSING VALUE 008005 0007 0000 01 RESERVED 0001 01 STORM CENTRE 0002 01 OUTER LIMIT OR EDGE OF STORM 0003 01 LOCATION OF MAXIMUM WIND 0004 01 LOCATION OF STORM IN THE PERTURBED ANALYSIS 0005 01 LOCATION OF STORM IN THE ANALYSIS 0015 01 MISSING VALUE 008006 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 PROMINENT MAXIMUM LEVEL 0005 01 PROMINENT MINIMUM LEVEL 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008007 0005 0000 01 POINT 0001 01 LINE 0002 01 AREA 0003 01 VOLUME 0015 01 MISSING VALUE 008008 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 LEVEL OF BETA RADIATION MAXIMUM 0005 01 LEVEL OF GAMMA RADIATION MAXIMUM 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008009 0016 0000 01 LEVEL FLIGHT, ROUTINE OBSERVATION, UNSTEADY 0001 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED, UNSTEADY 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING (DES) 0007 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0008 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0009 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0010 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0011 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0012 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0013 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0014 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0015 01 MISSING VALUE 008010 0013 0000 01 RESERVED 0001 01 BARE SOIL 0002 01 BARE ROCK 0003 01 LAND GRASS COVER 0004 01 WATER (LAKE, SEA) 0005 01 FLOOD WATER UNDERNEATH 0006 01 SNOW 0007 01 ICE 0008 01 RUNWAY OR ROAD 0009 01 SHIP OR PLATFORM DECK IN STEEL 0010 01 SHIP OR PLATFORM DECK IN WOOD 0011 01 SHIP OR PLATFORM DECK PARTLY COVERED WITH RUBBER MAT 0031 01 MISSING VALUE 008011 0026 0000 01 QUASI-STATIONARY FRONT AT THE SURFACE 0001 01 QUASI-STATIONARY FRONT ABOVE THE SURFACE 0002 01 WARM FRONT AT THE SURFACE 0003 01 WARM FRONT ABOVE THE SURFACE 0004 01 COLD FRONT AT THE SURFACE 0005 01 COLD FRONT ABOVE THE SURFACE 0006 01 OCCLUSION 0007 01 INSTABILITY LINE 0008 01 INTERTROPICAL FRONT 0009 01 CONVERGENCE LINE 0010 01 JET STREAM 0011 01 CLOUD CLEAR 0012 01 CLOUD 0013 01 TURBULENCE 0014 01 STORM 0015 01 AIRFRAME ICING 0016 01 PHENOMENON 0017 01 VOLCANO 0018 01 ATMOSPHERICS 0020 01 SPECIAL CLOUDS 0021 01 THUNDERSTORM (VAL) 0022 01 TROPICAL CYCLONE (VAL) 0023 01 MOUNTAIN WAVE (VAL) 0024 01 DUSTSTORM (VAL) 0025 01 SANDSTORM (VAL) 0063 01 MISSING VALUE 008012 0004 0000 01 LAND 0001 01 SEA 0002 01 RESERVED 0003 01 MISSING VALUE 008013 0004 0000 01 NIGHT 0001 01 DAY 0002 01 RESERVED 0003 01 MISSING VALUE 008014 0010 0000 01 10-MINUTE MEAN VALUE - NORMAL VALUE 0001 02 10-MINUTE MEAN VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0002 02 10-MINUTE MEAN VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF R VR (M) 0003 01 ONE MINUTE MINIMUM VALUE - NORMAL VALUE 0004 02 ONE MINUTE MINIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSM ENT OF RVR (P) 0005 02 ONE MINUTE MINIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0006 01 ONE MINUTE MAXIMUM VALUE - NORMAL VALUE 0007 02 ONE MINUTE MAXIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESS MENT OF RVR (P) 0008 02 ONE MINUTE MAXIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0015 01 MISSING VALUE 008016 0005 0000 01 NOSIG 0001 01 BECMG 0002 01 TEMPO 0003 01 FM 0007 01 MISSING VALUE 008017 0004 0000 01 FM 0001 01 TL 0002 01 AT 0003 01 MISSING VALUE 008018 0005 0001 01 LAND IS PRESENT 0002 01 SURFACE ICE MAP INDICATES ICE IS PRESENT 0011 01 ICE MAP DATA NOT AVAILABLE 0012 01 ATTENUATION MAP DATA NOT AVAILABLE 0017 01 MISSING VALUE 008021 0032 0000 01 RESERVED 0001 01 TIME SERIES 0002 01 TIME AVERAGED 0003 01 ACCUMULATED 0004 01 FORECAST 0005 01 FORECAST TIME SERIES 0006 01 FORECAST TIME AVERAGED 0007 01 FORECAST ACCUMULATED 0008 01 ENSEMBLE MEAN 0009 01 ENSEMBLE MEAN TIME SERIES 0010 01 ENSEMBLE MEAN TIME AVERAGED 0011 01 ENSEMBLE MEAN ACCUMULATED 0012 01 ENSEMBLE MEAN FORECAST 0013 01 ENSEMBLE MEAN FORECAST TIME SERIES 0014 01 ENSEMBLE MEAN FORECAST AVERAGED 0015 01 ENSEMBLE MEAN FORECAST ACCUMULATED 0016 01 ANALYSIS 0017 01 START OF PHENOMENON 0018 01 RADIOSONDE LAUNCH TIME 0019 01 START OF ORBIT 0020 01 END OF ORBIT 0021 01 TIME OF ASCENDING NODE 0022 01 TIME OF OCCURENCE OF WIND SHIFT 0023 01 MONITORING PERIOD 0024 01 AGREED TIME LIMIT FOR REPORT RECEPTION 0025 01 NOMINAL REPORTING TIME 0026 01 TIME OF LAST KNOWN POSITION 0027 01 FIRST GUESS --NOT WMO ENTRY 0028 01 START OF SCAN --NOT WMO ENTRY 0029 01 END OF SCAN --NOT WMO ENTRY 0030 01 RESERVED 0031 01 MISSING VALUE 008023 0017 0002 01 MAXIMUM VALUE 0003 01 MINIMUM VALUE 0004 01 MEAN VALUE 0005 01 MEDIAN VALUE 0006 01 MODAL VALUE 0007 01 MEAN ABSOLUTE ERROR 0009 01 BEST ESTIMATE OF STANDARD DEVIATION (N-1) 0010 01 STANDARD DEVIATION 0011 01 HARMONIC MEAN 0012 01 ROOT MEAN SQUARE VECTOR ERROR 0013 01 ROOT-MEAN-SQUARE 0032 01 PROBABILITY OF GROSS ERROR 0033 01 PRESCRIBED OBSERVATION ERROR 0034 01 PERSISTENCE OBSERVATION ERROR 0035 01 FINAL OBSERVATION ERROR 0036 01 REPRESENTATIVNESS OBSERVATION ERROR 0063 01 MISSING 008024 0015 0002 01 OBSERVED MINUS MAXIMUM 0003 01 OBSERVED MINUS MINIMUM 0004 01 OBSERVED MINUS MEAN 0005 01 OBSERVED MINUS MEDIAN 0006 01 OBSERVED MINUS MODE 0011 01 OBSERVED MINUS CLIMATOLOGY (ANOMALY) 0012 01 OBSERVED MINUS ANALYZED VALUE 0013 01 OBSERVED MINUS INITIALISED ANALYZED VALUE 0014 01 OBSERVED MINUS FORECAST VALUE 0021 01 OBSERVED MINUS INTERPOLATED VALUE 0022 01 OBSERVED MINUS HYDROSTATICALLY CALCULATED VALUE 0032 01 OBSERVED MINUS FIRST GUESS 0033 01 OBSERVED MINUS ANALYSIS 0034 01 OBSERVED MINUS INITIALIZED ANALYSIS 0063 01 MISSING 008025 0005 0000 02 UNIVERSAL TIME COORDINATED (UTC) MINUS LOCAL STANDARD TIME (LST) 0001 01 LOCAL STANDARD TIME 0002 01 UNIVERSAL TIME COORDINATED (UTC) MINUS SATELLITE CLOCK 0005 01 TIME DIFFERENCE FROM EDGE OF PROCESSING SEGMENT 0015 01 MISSING 008026 0005 0000 01 AVERAGING KERNEL MATRIX 0001 01 CORRELATION MATRIX 0002 02 LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L FROM C=LL T) 0003 02 INVERSE LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L** -1) 0063 01 MISSING VALUE 008027 0007 0000 01 ASSUME NO PARTICULAR MATRIX GEOMETRY 0001 01 DIAGONAL MATRIX 0002 01 TRIDIAGONAL MATRIX 0003 01 MULTI-DIAGONAL MATRIX (GENERAL CASE: DIAGONAL AND ABOVE) 0004 01 LOWER TRIANGULAR MATRIX 0005 01 SYMETRICAL MATRIX 0063 01 MISSING VALUE 008029 0005 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 ENCLOSED SEA OR LAKE 0002 01 CONTINENTAL ICE 0003 01 LAND 0255 01 MISSING 008033 0006 0000 01 RESERVED 0001 01 PERCENTAGE CONFIDENCE CALCULATED USING CLOUD FRACTION 0002 02 PERCENTAGE CONFIDENCE CALCULATED USING STANDARD DEVIATION OF TEMPERATURE 0003 02 PERCENTAGE CONFIDENCE CALCULATED USING PROBABILITY OF THE CLOUD CONTAMINATION 0004 02 PERCENTAGE CONFIDENCE CALCULATED USING NORMALITY OF DISTRIBU TION 0127 01 MISSING 008035 0008 0000 01 GLOBAL 0001 01 REGIONAL 0002 01 NATIONAL 0003 01 SPECIAL 0004 01 BILATERAL 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING 008036 0008 0000 01 WMO SECRETARIAT 0001 01 WMO 0002 01 RSMC 0003 01 NMC 0004 01 RTH 0005 01 OBSERVING SITE 0006 01 OTHER 0007 01 MISSING 008039 0008 0000 01 ISSUE TIME OF FORECAST 0001 01 TIME OF COMMNENCEMENT OF PERIOD OF THE FORECAST 0002 01 TIME OF ENDING OF PERIOD OF THE FORECAST 0003 01 FORECSAT TIME OF MAXIMUM TEMPERATURE 0004 01 FORECSAT TIME OF MINIMUM TEMPERATURE 0005 01 TIME OF BEGINNING OF THE FORECAST 0006 01 TIME OF ENDING OF THE FORECAST 0063 01 MISSING VALUE 008040 0043 0000 01 HIGH RESOLUTION DATA SAMPLE 0001 01 WITHIN 20 HPA OF SURFACE 0002 02 PRESSURE LESS THAN 10 HPA (I.E., 9, 8, 7, ETC.) WHEN NO OTHER REASON APPLIES 0003 01 BASE PRESSURE LEVEL FOR STABILITY INDEX 0004 01 BEGIN DOUBTFUL TEMPERATURE, HEIGHT DATA 0005 01 BEGIN MISSING DATA (ALL ELEMENTS) 0006 01 BEGIN MISSING RH DATA 0007 01 BEGIN MISSING TEMPERATURE DATA 0008 02 HIGHEST LEVEL REACHED BEFORE BALLOON DESCENT BECAUSE OF ICING OR TURBULENCE 0009 01 END DOUBTFUL TEMPERATURE, HEIGHT DATA 0010 01 END MISSING DATA (ALL ELEMENTS) 0011 01 END MISSING RH DATA 0012 01 END MISSING TEMPERATURE DATA 0013 01 ZERO DEGREES C CROSSING(S) FOR RADAT 0014 01 STANDARD PRESSURE LEVEL 0015 01 OPERATOR ADDED LEVEL 0016 01 OPERATOR DELETED LEVEL 0017 01 BALLOON RE-ASCENDED BEYOND PREVIOUS HIGHEST ASCENT LEVEL 0018 01 SIGNIFICANT RH LEVEL 0019 01 RH LEVEL SELECTION TERMINATED 0020 01 SURFACE LEVEL 0021 01 SIGNIFICANT TEMPERATURE LEVEL 0022 01 MANDATORY TEMPERATURE LEVEL 0023 01 FLIGHT TERMINATION LEVEL 0024 01 TROPOPAUSE(S) 0025 01 AIRCRAFT REPORT 0026 01 INTERPOLATED (GENERATED) LEVEL 0027 01 MANDATORY WIND LEVEL 0028 01 SIGNIFICANT WIND LEVEL 0029 01 MAXIMUM WIND LEVEL 0030 01 INCREMENTAL WIND LEVEL (FIXED REGIONAL) 0031 01 INCREMENTAL HEIGHT LEVEL (GENERATED) 0032 01 WIND TERMINATION LEVEL 0033 01 PRESSURE 100 TO 110 HPA, WHEN NO OTHER REASON APPLIES 0040 01 SIGNIFICANT THERMODYNAMIC LEVEL (INVERSION) 0041 01 SIGNIFICANT RH LEVEL ( PER NCDC CRITERIA) 0042 01 SIGNIFICANT TEMPERATURE LEVEL (PER NCDC) 0043 01 BEGIN MISSING WIND DATA 0044 01 END MISSING WIND DATA 0060 01 LEVEL OF 80-KNOT ISOTACH ABOVE JET 0061 01 LEVEL OF 80-KNOT ISOTACH BELOW JET 0062 01 OTHER 0063 01 MISSING VALUE 008041 0009 0000 01 PARENT SITE 0001 01 OBSERVATION SITE 0002 01 BALLOON MANUFACTURE DATE 0003 01 BALLOON LAUNCH POINT 0004 01 SURFACE OBSERVATION 0005 01 SURFACE OBSERVATION DISPLACEMENT FROM LAUNCH POINT 0006 01 FLIGHT LEVEL OBSERVATION 0007 01 FLIGHT LEVEL TERMINATION POINT 0031 01 MISSING VALUE 008042 0013 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT TEMPERATURE LEVEL 0006 01 SIGNIFICANT HUMIDITY LEVEL 0007 01 SIGNIFICANT WIND LEVEL 0008 01 BEGINNING OF MISSING TEMPERATURE DATA 0009 01 END OF MISSING TEMPERATURE DATA 0010 01 BEGINNING OF MISSING HUMIDITY DATA 0011 01 END OF MISSING HUMIDITY DATA 0012 01 BEGINNING OF MISSING WIND DATA 0013 01 END OF MISSING WIND DATA 008043 0021 0000 01 OZONE, O3,10028-15-6 0001 01 WATER VAPOUR, H2O, 7732-18-5 0002 01 METHANE, CH4, 74-82-8 0003 01 CARBON DIOXIDE, CO2, 37210-16-5 0004 01 CARBON MONOXIDE, CO, 630-08-0 0005 01 NITROGEN DIOXIDE, NO2, 10102-44-0 0006 01 NITROUS OXIDE, N2O, 10024-97-2 0007 01 FORMALDEHYDE, HCHO, 50-00-0 0008 01 SULFUR DIOXIDE, SO2, 7446-09-5 0009 01 BROMINE OXIDE, BRO, 15656-19-6 0010 01 CHLORINE DIOXIDE, OCLO, 10049-04-4 0011 01 NITROGEN MONOXIDE, NO, 10102-43-9 0012 01 AMMONIA, NH3, 7664-41-7 0025 01 PARTICULATE MATTER < 1.0 MICRONS 0026 01 PARTICULATE MATTER < 2.5 MICRONS 0027 01 PARTICULATE MATTER < 10 MICRONS 0028 01 AEROSOLS GENERIC 0029 01 SMOKE GENERIC 0030 01 CRUSTAL MATERIAL (GENERIC DUST) 0031 01 VOLCANIC ASH 0255 01 MISSING 008050 0011 0000 01 RESERVED 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MAXIMUM TEMPERATURE 0008 01 MINIMUM TEMPERATURE 0009 01 WIND 0015 01 MISSING VALUE 008051 0007 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MISSING VALUE 008052 0026 0000 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 10 M/S 0001 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 20 M/S 0002 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 30 M/S 0003 01 MAXIMUM TEMPERATURE LESS THAN 273.2 K 0004 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 298.2 K 0005 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 303.2 K 0006 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 308.2 K 0007 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 313.2 K 0008 01 MINIMUM TEMPERATURE LESS THAN 273.2 K 0009 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 273.2 K 0010 01 PRECIPITATION EQUAL TO OR MORE THAN 1.0 KG/M**2 0011 01 PRECIPITATION EQUAL TO OR MORE THAN 5.0 KG/M**2 0012 01 PRECIPITATION EQUAL TO OR MORE THAN 10.0 KG/M**2 0013 01 PRECIPITATION EQUAL TO OR MORE THAN 50.0 KG/M**2 0014 01 PRECIPITATION EQUAL TO OR MORE THAN 100.0 KG/M**2 0015 01 PRECIPITATION EQUAL TO OR MORE THAN 150.0 KG/M**2 0016 01 SNOW DEPTH MORE THAN 0.0 M 0017 01 SNOW DEPTH MORE THAN 0.01 M 0018 01 SNOW DEPTH MORE THAN 0.10 M 0019 01 SNOW DEPTH MORE THAN 0.50 M 0020 01 HORIZONTAL VISIBILITY LESS THAN 50 M 0021 01 HORIZONTAL VISIBILITY LESS THAN 100 M 0022 01 HORIZONTAL VISIBILITY LESS THAN 1000 M 0023 01 HAIL 0024 01 THUNDERSTORM 0031 01 MISSING VALUE 008053 0004 0000 01 VALUE OCCURED ON ONLY ONE DAY IN THE MONTH 0001 01 VALUE OCCURED ON MORE THAN ONE DAY IN THE MONTH 0002 01 RESERVED 0003 01 MISSING VALUE 008054 0003 0000 01 WIND SPEED OR GUST IS AS REPORTED 0001 02 WIND SPEED IS GREATER THAN THAT REPRTED (P IN METAR/TAF/SPEC I) 0007 01 MISSING VALUE 008060 0008 0000 01 RESERVED 0001 01 RANGE 0002 01 AZIMUTH 0003 01 HORIZONTAL 0004 01 VERTICAL 0005 01 NORTH/SOUTH 0006 01 EAST/WEST 0015 01 MISSING VALUE 008065 0004 0000 01 NO SUN-GLINT 0001 01 SUN-GLINT 0002 01 RESERVED 0003 01 MISSING VALUE 008066 0004 0000 01 OPAQUE 0001 01 SEMI-TRANSPARENT 0002 01 RESERVED 0003 01 MISSING VALUE 008070 0006 0000 01 RESERVED 0001 01 RESERVED 0002 02 EARTH LOCATED INSTRUMENT COUNTS, CALIBRATION COEFFICIENTS AND HOUSEKEEPING (LEVEL 1B) 0003 01 EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1C) 0004 02 MAPPED TO A COMMON FOOTPRINT, EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1D) 0015 01 MISSING VALUE 008072 0004 0000 01 MIXED 0001 01 CLEAR 0002 01 CLOUDY 0007 01 MISSING VALUE 008074 0004 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 NON-OCEAN LIKE 0002 01 RESERVED 0003 01 MISSING VALUE 008075 0004 0000 01 ASCENDING ORBIT 0001 01 DESCENDING ORBIT 0002 01 RESERVED 0003 01 MISSING VALUE 008076 0003 0000 01 KU 0001 01 C 0063 01 MISSING VALUE 008077 0007 0000 01 LAND 0001 01 SEA 0002 01 COASTAL 0003 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0004 01 ENCLOSED SEA OR LAKE 0005 01 CONTINENTAL ICE 0127 01 MISSING VALUE 008079 0009 0000 01 NORMAL ISSUE 0001 01 CORRECTION TO A PREVIOUSLY ISSUED PRODUCT (COR) 0002 01 AMANDMENT TO A PREVIOUSLY ISSUED PRODUCT *AMD) 0003 01 CORRECTION TO A PREVIOUSLY ISSUED AMENDED PRODUCT (COR AMD) 0004 01 CANCELLATION OD A PREVIOUSLY ISSUED PRODUCT (CNL) 0005 01 NO PRODUCT AVAILABLE (NIL) 0006 01 SPECIAL REPORT ( SPECI) 0007 01 CORRECTED SPECIAL REPORT (SPECI COR) 0015 01 MISSING VALUE 008080 0009 0000 01 TOTAL WATER PRESSURE PROFILE 0001 01 TOTAL WATER TEMPERATURE PROFILE 0002 01 TOTAL WATER SALINITY PROFILE 0003 01 TOTAL WATER CONDUCTIVITY PROFILE 0010 01 WATER PRESSURE AT A LEVEL 0011 01 WATER TEMPERATURE AT A LEVEL 0012 01 SALINITY AT A LEVEL 0020 01 POSITION 0063 01 MISSING VALUE 008081 0005 0000 01 SENSOR 0001 01 TRANSMITTER 0002 01 RECEIVER 0003 01 OBSERVING PLATFORM 0063 01 MISSING VALUE 008082 0003 0000 01 SENSOR HEIGHT IS NOT MODIFIED 0001 01 SENSOR HEIGHT IS MODIFIED TO STANDARD LEVEL 0007 01 MISSING VALUE 008083 0009 0001 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABO VE LOCAL GROUND (OR DECK OF MARINE PLATFORM) 0002 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABO VE WATER SURFACE 0003 01 ADJUSTED WITH RESPECT TO STANDARD SURFACE ROUGHNESS 0004 01 ADJUSTED WITH RESPECT TO WIND SPEED 0005 01 ADJUSTED WITH RESPECT TO TEMPERATURE 0006 01 ADJUSTED WITH RESPECT TO PRESSURE 0007 01 ADJUSTED WITH RESPECT TO HUMIDITY 0008 01 ADJUSTED WITH RESPECT TO EVAPORATION 0009 01 ADJUSTED WITH RESPECT TO WETTING LOSSES 008085 0008 0000 01 FORE BEAM 0001 01 MID BEAM 0002 01 AFT BEAM 0003 01 RESERVED 0004 01 RESERVED 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING VALUE 008193 0007 0000 01 START TIME OF ORBIT 0001 01 END TIME OF ORBIT 0002 01 TIME OF ASCENDING NODE 0003 01 ASSIMILATION TIME 0004 01 START TIME OF ASSIMILATION 0005 01 END TIME OF ASSIMLATION 0063 01 MISSING 008195 0032 0001 01 FIRST GUESS 0002 01 ANALYSIS 0003 01 INITIALISED ANALYSIS 0004 01 OI ANALYSIS 0005 01 3 D VARIATIONAL ANALYSIS 0006 01 4 D VARIATIONAL ANALYSIS 0007 01 3 D VARIATIONAL GRADIENTS 0008 01 4 D VARIATIONAL GRADIENTS 0009 01 FORECAST 0010 01 CONTROL FORECAST 0011 01 PERTURBED FORECAST 0012 01 ERRORS IN FIRST GUESS 0013 01 ERRORS IN ANALYSIS 0014 01 CLUSTER MEANS 0015 01 CLUSTER STANDARD DEVIATIONS 0016 01 FORECAST PROBABILITIES 0017 01 ENSEMBLE MEANS 0018 01 ENSEMBLE STANDARD DEVIATIONS 0019 01 FORECAST ACCUMULATIONS 0020 01 CLIMATOLOGY 0021 01 CLIMATE SIMULATION 0030 01 OBSERVATIONS 0031 01 QUALITY CONTROL 0032 01 DIFFERENCE STATISTICS 0040 01 IMAGE DATA 0050 01 SENSITIVITY GRADIENTS 0051 01 TRAJECTORY FORECAST 0052 01 SENSITIVITY FORECAST 0060 01 PERTURBED ANALYSIS 0061 01 PERTURBATION 0062 01 SINGULAR VECTOR 0127 01 MISSING VALUE 010063 0010 0000 02 INCREASING, THEN DECREASING: ATMOSPHERIC PRESURE THE SAME OR HIGHER THAN 3 HOURS AGO (OR 24 HOURS AGO ) 0001 01 INCREASING, THEN STEADY; OR INCREASING; THEN MORE SLOWLY 0002 01 INCREASING (STEADILY OR UNSTEADILY ) 0003 01 DECREASING OR STEADY, THEN INCREASING; RAPIDLY 0004 02 STEADY; ATMOSPHERIC PRESSURE THE SAME AS 3 HOURS AGO (OR 24 HOURS) 0005 02 DECREASING; THEN INCREASING; ATMOSPHERIC PRESSURE THE SAME O R LOWER THAN 3 HOURS AGO 0006 02 DECREASING, THEN STEADY; OR DECREASING, DECREASING MORE SLOW LY 0007 01 DECREASING (STEADILY OR UNSTEADELY ) 0008 02 STEADY OR INCREASING, THEN DECREASING; OR DECREASING, THEN DECREASING MORE RAPIDLY 0015 01 MISSING 010064 0004 0000 01 SUBSONIC 0001 01 TRANSONIC 0002 01 SUPERSONIC 0007 01 MISSING VALUE 011031 0009 0000 01 NIL IN CLOUD 0001 01 SLIGHT IN CLOUD 0002 01 MODERATE IN CLOUD 0003 01 SEVERE IN CLOUD 0004 01 NIL IN CLEAR AIR 0005 01 SLIGHT IN CLEAR AIR 0006 01 MODERATE IN CLEAR AIR 0007 01 SEVERE IN CLEAR AIR 0015 01 MISSING VALUE 011037 0030 0000 01 AVE <0.1 PEAK <0.1 0001 01 AVE <0.1 0.1 <= PEAK <0.2 0002 01 0.1 <= AVE <0.2 0.1 <= PEAK <0.2 0003 01 AVE <0.1 0.2 <= PEAK <0.3 0004 01 0.1 <= AVE <0.2 0.2 <= PEAK <0.3 0005 01 0.2 <= AVE <0.3 0.2 <= PEAK <0.3 0006 01 AVE <0.1 0.3 <= PEAK <0.4 0007 01 0.1 <= AVE <0.2 0.3 <= PEAK <0.4 0008 01 0.2 <= AVE <0.3 0.3 <= PEAK <0.4 0009 01 0.3 <= AVE <0.4 0.3 <= PEAK <0.4 0010 01 AVE <0.1 0.4 <= PEAK <0.5 0011 01 0.1 <= AVE <0.2 0.4 <= PEAK <0.5 0012 01 0.2 <= AVE <0.3 0.4 <= PEAK <0.5 0013 01 0.3 <= AVE <0.4 0.4 <= PEAK <0.5 0014 01 0.4 <= AVE <0.5 0.4 <= PEAK <0.5 0015 01 AVE <0.1 0.5 <= PEAK <0.8 0016 01 0.1 <= AVE <0.2 0.5 <= PEAK <0.8 0017 01 0.2 <= AVE <0.3 0.5 <= PEAK <0.8 0018 01 0.3 <= AVE <0.4 0.5 <= PEAK <0.8 0019 01 0.4 <= AVE <0.5 0.5 <= PEAK <0.8 0020 01 0.5 <= AVE <0.8 0.5 <= PEAK <0.8 0021 01 AVE <0.1 0.8 <= PEAK 0022 01 0.1 <= AVE <0.2 0.8 <= PEAK 0023 01 0.2 <= AVE <0.3 0.8 <= PEAK 0024 01 0.3 <= AVE <0.4 0.8 <= PEAK 0025 01 0.4 <= AVE <0.5 0.8 <= PEAK 0026 01 0.5 <= AVE <0.8 0.8 <= PEAK 0027 01 0.8 <= AVE 0.8 <= PEAK 0028 01 NIL NIL 0063 01 MISSING VALUE 011038 0017 0000 01 MIN < 1 0001 01 1 <= MIN < 2 0002 01 2 <= MIN < 3 0003 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0015 01 NO TIMING INFORMATION AVAILABLE 0031 01 MISSING VALUE 011039 0016 0000 01 1 <= MIN < 2 0001 01 2 <= MIN < 3 0002 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0060 01 NO TIMING INFORMATION AVAILABLE 0063 01 MISSING VALUE 013038 0004 0000 01 NOT SUPERADIABATIC 0001 01 SUPERADIABATIC 0002 01 RESERVED 0003 01 MISSING VALUE 013039 0003 0000 01 SEA ICE 0001 01 SNOW ON LAND 0007 01 MISSING VALUE 013040 0009 0000 01 LAND 0001 01 RESERVED 0002 01 NEAR COAST 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 DESERT 0015 01 MISSING VALUE 013041 0010 0001 01 A 0002 01 A-B 0003 01 B 0004 01 B-C 0005 01 C 0006 01 D 0007 01 E 0008 01 F 0009 01 G 0015 01 MISSING VALUE 013051 0008 0000 01 SMALLER THAN ANY VALUE IN THE 30 YEARS PERIOD 0001 01 IN THE FIRST QUINTILE 0002 01 IN THE SECOND QUINTILE 0003 01 IN THE THIRD QUINTILE 0004 01 IN THE FOURTH QUINTILE 0005 01 IN THE FIFTH QUINTILE 0006 01 GREATER THAN ANY VALUE IN THE 30 YEAR PERIOD 0015 01 MISSING VALUE 013056 0010 0000 01 NO PRECIPITATION 0001 01 LIGHT INTERMITTENT 0002 01 MODERATE INTERMITTENT 0003 01 HEAVY INTERMITTENT 0004 01 VERY HEAVY INTERMITTENT 0005 01 LIGHT CONTINUOUS 0006 01 MODERATE CONTINUOUS 0007 01 VERY HEAVY CONTINUOUS 0009 01 VARIABLE-ALTERNATIVELY LIGHT AND HEAVY 0015 01 MISSING VALUE 013057 0011 0000 01 NO PRECIPITATION 0001 01 WITHIN THE LAST HOUR 0002 01 1 TO 2 HOURS AGO 0003 01 2 TO 3 HOURS AGO 0004 01 3 TO 4 HOURS AGO 0005 01 4 TO 5 HOURS AGO 0006 01 5 TO 6 HOURS AGO 0007 01 6 TO 8 HOURS AGO 0008 01 8 TO 10 HOURS AGO 0009 01 MORE THAN 10 HOURS AHO 0015 01 MISSING VALUE 013202 0007 0000 01 LAND 0001 01 VEGETATION 0003 01 MULTI-YEAR ICE 0004 01 POSSIBLE ICE OR FIRST YEAR ICE 0005 01 OCEAN 0006 01 COASTLINE 0015 01 MISSING 015025 0002 0000 01 OZONE 0015 01 MISSING VALUE 019001 0007 0000 01 DEPRESSION OR LOW (EXTRATROPICAL) 0001 01 TROPICAL DEPRESSION 0002 01 TROPICAL STORM 0003 01 SEVERE TROPICAL STORM 0004 01 TYPHOON 0010 01 DUST/SANDSTORM 0063 01 MISSING VALUE 019008 0005 0000 01 RESERVED 0001 01 SHALLOW (TOP OF CIRCULATION BELOW 700-HPA LEVEL 0002 01 MEDIUM(TOP BETWEEN 700-HPA AND 400-HPA) 0003 01 DEEP(TOP ABOVE 400-HPA LEVEL 0007 01 MISSING VALUE 019010 0004 0000 01 RESERVED 0001 01 MINIMUM VALUE OF SEA LEVEL PRESSURE 0002 01 MAXIMUM VALUE OF 850 HPA RELATIVE VORTICITY 0015 01 MISSING VALUE 020003 0250 0000 01 CLOUD DEVELOPMENT NOT OBSERVED OR NOT OBSERVABLE 0001 01 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED 0002 01 STATE OF SKY ON THE WHOLE UNCHANGED 0003 01 CLOUDS GENERALLY FORMING OR DEVELOPING 0004 02 VISIBILITY REDUCED BY SMOKE, E.G. VELDT OR FOREST FIRES, IN DUSTRIAL SMOKE OR VOLCANIC ASHES 0005 01 HAZE 0006 02 WIDESPREAD DUST IN SUSPENSION IN THE AIR, NOT RAISED BY WIND AT OR NEAR THE STATION AT THE TIME OF OBSERVATION 0007 04 DUST OR SEND RAISED BY WIND AT OR NEAR THE STATION AT THE TI ME OF OBSERVATION, BUT NO WELL-DEVELOPED DUST WHRIL(S) OR SA ND WHRIL(S), AND NO DUSTSTORM OR SANDSTORM SEEN; OR, IN THE CASE OF SHIPS, BLOWING SPRAY AT THE STATION 0008 03 WELL-DEVELOPED DUST WHRIL(S) OR SAND WHRILS SEEN AT OR NEAR THE STATION DURING THE PRECEDING HOUR OR AT THE SAME TIME OF OBSERVATION, BUT NO DUSTSTORM OR SANDSTORM 0009 02 DUSTSTORM OR SANDSTORM WITHIN SIGHT AT THE TIME OF OBSERVATI ON, OR AT THE STATION DURING THE PRECEDING HOR 0010 01 MIST 0011 02 PACHES SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0012 03 MORE OR LESS CONTINUOUS SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0013 01 LIGHTNING VISIBLE, NO THUNDER HEARD 0014 02 PRECIPITATION WITHIN SIGHT, NOT REACHING THE GROUND OR THE SURFACE OF THE SEA 0015 03 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, BUT DISTANT, I.E. ESTIMATED TO BE MORE THAN 5 KM FROM THE STATION 0016 02 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, NEAR TO, BUT NOT AT THE STATION 0017 02 THUNDERSTORM, BUT NO PRECIPITATION AT THE TIME OF OBSERVATIO N 0018 02 SQUALLS AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDI NG HOUR OR AT THE TIME OF OBSERVATION 0019 02 FUNNEL CLOUD(S) AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0020 03 DRIZZEL (NOT FREEZING) OR SNOW GRAINS NOT FALLING AS SHOWERS ; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVAT IONS 0021 02 RAIN (NOT FREEZING) NOT FALLING AS SHOWER(S); DURING THE PRE ECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0022 02 SNOW NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0023 02 RAIN AND SNOW OR ICE PELLETS NOT FALLING AS SHOWER(S); DURIN G THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0024 02 FREEZING DRIZZEL OR FREEZING RAIN NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0025 02 SHOWER(S) OF RAIN; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0026 02 SHOWER(S) OF SNOW, OR OF RAIN AND SNOW; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0027 02 SHOWER(S) OF HAIL, OR OF RAIN AND HAIL; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0028 02 FOG OR ICE FOG; DURING THE PRECEDING HOUR BUT NOT AT THE TIM E OF OBSERVATION 0029 02 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION); DURING THE PRE CEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0030 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS DECREASED DURI NG THE PRECEDING HOURS 0031 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHA NGE DURING THE PRECEDING HOUR 0032 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS I NCEASED DURING THE PRECEDING HOUR 0033 02 SEVERE DUSTSTORM OR SANDSTORM HAS DECREASED DURING THE PREC EDING HOURS 0034 02 SEVERE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0035 02 SEVERE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS INCREASED DUR ING THE PRECEDING HOUR 0036 02 SLIGHT OR MODERATE DRIFTING SNOW GENERALLY LOW (BELOW EYE LE VEL) 0037 01 HEAVY DRIFTING SNOW GENERALY LOW (BELOW EYE LEVEL) 0038 02 SLIGHT OR MODERATE BLOWING SNOW GENERALLY HIGH (ABOVE EYE LE VEL) 0039 01 HEAVY BLOWING SNOW GENERALY HIGH (ABOVE EYE LEVEL) 0040 03 FOG OR ICE FOG AT A DISTANCE AT THE TIME OF OBSERVATION, BUT NOT AT THE STATION DURING THE PRECEDING HOUR, THE FOG OR IC E FOG EXTENDING TO A LEVEL ABOVE THAT OF THE OBSERVER 0041 01 FOG OR ICE FOG IN PATCHES 0042 02 FOG OR ICE FOG, SKY VISIBLE,HAS BECOME THINNER DURING THE PR ECEDING HOUR 0043 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BECOME THINNER DURING THE PRECEDING HOUR 0044 02 FOG OR ICE FOG, SKY VISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0045 02 FOG OR ICE FOG, SKY INVISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0046 02 FOG OR ICE FOG, SKY VISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0047 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0048 01 FOG, DEPOSITING RIME, SKY VISIBLE 0049 01 FOG, DEPOSITING RIME, SKY INVISIBLE 0050 02 DRIZZLE, NOT FREEZING, INTERMITTENT;SLIGHT AT TIME OF OBSERV ATION 0051 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;SLIGHT AT TIME OF OBSERV ATION 0052 02 DRIZZLE, NOT FREEZING, INTERMITTENT;MODERATE AT TIME OF OBSE RVATION 0053 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;MODERATE AT TIME OF OBSE RVATION 0054 02 DRIZZLE, NOT FREEZING, INTERMITTENT;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0055 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0056 01 DRIZZLE, FREEZING, SLIGHT 0057 01 DRIZZLE, FREEZING, MODERATE OR HEAVY (DENSE) 0058 01 DRIZZLE AND RAIN, SLIGHT 0059 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0060 01 RAIN,NOT FREEZING,INTERMITTENT;SLIGHT AT TIME OF OBSERVATION 0061 01 RAIN,NOT FREEZING,CONTINUOUS ;SLIGHT AT TIME OF OBSERVATION 0062 02 RAIN,NOT FREEZING,INTERMITTENT;MODERATE AT TIME OF OBSERVATI ON 0063 02 RAIN,NOT FREEZING,CONTINUOUS ;MODERATE AT TIME OF OBSERVATI ON 0064 02 RAIN, NOT FREEZING, INTERMITTENT;HEAVY AT TIME OF OBSERVATIO ON 0065 01 RAIN, NOT FREEZING, CONTINUOUS;HEAVY AT TIME OF OBSERVATION 0066 01 RAIN, FREEZING, SLIGHT 0067 01 RAIN, FREEZING, MODERATE OR HEAVY 0068 01 RAIN OR DRIZZLE AND SNOW, LIGHT 0069 01 RAIN OR DRIZZLE AND SNOW, MODERATE OR HEAVY 0070 02 INTERMITTENT FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0071 02 CONTINUOUS FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0072 02 INTERMITTENT FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0073 02 CONTINUOUS FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0074 02 INTERMITTENT FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0075 02 CONTINUOUS FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0076 01 DIAMOND DUST (WITH OR WITHOUT FOG) 0077 01 SNOW GRAINS (WITH OR WITHOUT FOG) 0078 01 ISOLATED STAR-LIKE SNOW CRYSTALS (WITH OR WITHOUT FOG) 0079 01 ICE PELLETS 0080 01 RAIN SHOWER(S), SLIGHT 0081 01 RAIN SHOWER(S), MODERATE OR HEAVY 0082 01 RAIN SHOWER(S), VIOLENT 0083 01 SHOWER(S) OF RAIN AND SNOW MIXED, SLIGHT 0084 01 SHOWER(S) OF RAIN AND SNOW MIXED, MODERATE OR HEAVY 0085 01 SNOW SHOWER(S), SLIGHT 0086 01 SNOW SHOWER(S), MODERATE OR HEAVY 0087 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, SLIGHT 0088 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, MODERATE OR HEAVY 0089 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, SLIGHT 0090 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, MODERATE OR HEAVY 0091 02 SLIGHT RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0092 02 MODERATE OR HEAVY RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0093 03 SLIGHT SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TIME OF OBSER VATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TI ME OF OBSERVATION 0094 03 MODERATE OR HEAVY SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TI ME OF OBSERVATION, THUNDERSTORM DURING PRECEDING HOUR BUT NO T AT TIME OF OBSERVATION 0095 03 THUNDERSTORM, SLIGHT OR MODERATE, WITHOUT HAIL, BUT WITH RAI N AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM DURING TH E PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0096 02 THUNDERSTORM, SLIGHT OR MODERATE,WITH HAIL AT TIME OF OBSERV ATION, THUNDERSTORM AT TIME OF OBSERVATION 0097 02 THUNDERSTORM, HEAVY, WITHOUT HAIL BUT WITH RAIN AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0098 02 THUNDERSTORM COMBINED WITH DUSTSTORM OR SANDSTORM AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0099 02 THUNDERSTORM, HEAVY, WITH HAIL AT TIME OF OBSERVATION, THUND ERSTORM AT TIME OF OBSERVATION 0100 01 NO SIGNIFICANT WEATHER OBSERVED 0101 02 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED DURIN G THE PAST HOUR 0102 01 STATE OF SKY ON THE WHOLE UNCHANGED DURING THE PAST HOUR 0103 01 CLOUDS GENERALLY FORMING OR DEVELOPING DURING THE PAST HOUR 0104 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY EQUAL TO, OR GREATER THAN 1KM 0105 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY LESS THAN 1KM 0110 01 MIST 0111 01 DIAMOND DUST 0112 01 DISTANT LIGHTING 0118 01 SQUALLS 0120 01 FOG 0121 01 PRECIPITATION 0122 01 DRIZZLE (NOT FREEZING) OR SNOW GRAINS 0123 01 RAIN (NOT FREEZING) 0124 01 SNOW 0125 01 FREEZING DRIZZLE OR FREEZING RAIN 0126 01 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION) 0127 01 BLOWING OR DRIFTING SNOW OR SAND 0128 02 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY EQUAL TO, OR GR ATER THAN, 1KM 0129 01 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY LESS THAN 1 KM 0130 01 FOG 0131 01 FOG OR ICE FOG, IN PATCHES 0132 01 FOG OR ICE FOG, HAS BECOME THINNER DURING PAST HOUR 0133 01 FOG OR ICE FOG, NO APPRECIABLE CHANGE DURING PAST HOUR 0134 01 FOG OR ICE FOG, HAS BECUNOR BECOME THICKER DURING PAST HOUR 0135 01 FOG, DEPOSITION RIME 0140 01 PRECIPITATION 0141 01 PRECIPITATION SLIGHT OR MODERATE 0142 01 PRECIPITATION, HEAVY 0143 01 LIQUID PRECIPITATION, SLIGHT OR MODERATE 0144 01 LIQUID PRECIPITATION, HEAVY 0145 01 SOLID PRECIPITATION, SLIGHT OR MODERATE 0146 01 SOLID PRECIPITATION, HEAVY 0147 01 FREEZING PRECIPITATION, SLIGHT OR MODERATE 0148 01 FREEZING PRECIPITATION, HEAVY 0150 01 DRIZZLE 0151 01 DRIZZLE, NOT FREEZING, SLIGHT 0152 01 DRIZZLE, NOT FREEZING, MODERATE 0153 01 DRIZZLE, NOT FREEZING, HEAVY 0154 01 DRIZZLE, FREEZING, SLIGHT 0155 01 DRIZZLE, FREEZING, MODERATE 0156 01 DRIZZLE, FREEZING, HEAVY 0157 01 DRIZZLE AND RAIN, SLIGHT 0158 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0160 01 RAIN 0161 01 RAIN, NOT FREEZING, SLIGHT 0162 01 RAIN, NOT FREEZING, MODERATE 0163 01 RAIN, NOT FREEZING, HEAVY 0164 01 RAIN, FREEZING, SLIGHT 0165 01 RAIN, FREEZING, MODERATE 0166 01 RAIN, FREEZING, HEAVY 0167 01 RAIN (OR DRIZZLE) AND SNOW, SLIGHT 0168 01 RAIN (OR DRIZZLE) AND SNOW, MODERATE AND HEAVY 0170 01 SNOW 0171 01 SNOW, SLIGHT 0172 01 SNOW, MODERATE 0173 01 SNOW, HEAVY 0174 01 ICE PELLETS, SLIGHT 0175 01 ICE PELLETS, MODERATE 0176 01 ICE PELLETS, HEAVY 0180 01 SHOWER(S) OR INTERMITTENT PRECIPITATION 0181 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, SLIGHT 0182 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, MODERATE 0183 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, HEAVY 0184 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, VIOLENT 0185 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, SLIGHT 0186 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, MODERATE 0187 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, HEAVY 0190 01 THUNDERSTORM 0191 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH NO PRECIPITATION 0192 02 THUNDERSTORM, SLIGHT OR MODERATE, WITH RAIN SHOWERS AND/OR S NOW SHOWERS 0193 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH HAIL 0194 01 THUNDERSTORM, HEAVY, WITH NO PRECIPITATION 0195 01 THUNDERSTORM, HEAVY, WITH RAIN SHOWERS AND/OR SNOW SHOWERS 0196 01 THUNDERSTORM, HEAVY, WITH HAIL 0204 01 VOLCANIC ASH SUSPENDED IN THE AIR ALOFT 0206 01 THICK DUST HAZE, VISIBILITY LESS THAN 1 KM 0207 01 BLOWING SPRAY AT THE STATION 0208 01 DRIFTING DUST (SAND) 0209 01 WALL OF DUST OR SAND IN DISTANCE (LIKE HABOOB) 0210 01 SNOW HAZE 0211 01 WHITEOUT 0213 01 LIGHTING, CLOUD TO SURFACE 0217 01 DRY THUNDERSTORM 0219 02 TORNADO CLOUD (DESTRUCTIVE AT OR WITHIN SIGHT OF THE STATION DURING PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0220 01 DEPOSITION OF VOLCANIC ASH 0221 01 DEPOSITION OF DUST OR SAND 0222 01 DEPOSITION OF DEW 0223 01 DEPOSITION OF WET SNOW 0224 01 DEPOSITION OF SOFT RIME 0225 01 DEPOSITION OF HARD RIME 0226 01 DEPOSITION OF HOAR FROST 0227 01 DEPOSITION OF GLAZE 0228 01 DEPOSITION OF ICE CRUST (ICE SLICK) 0230 01 DUSTSTORM OR SANDSTORM WITH TEMPERATURE BELOW 0 C DEGREES 0239 02 BLOWING SNOW, IMPOSSIBLE TO DETERMINE WHETHER SNOW IS FALLIN G OR NOT 0241 01 FOG ON SEA 0242 01 FOG IN VALLEYS 0243 01 ARCTIC OR ANTARCTIC SEA SMOKE 0244 01 STEAM FOG (SEA,LAKE OR RIVER) 0245 01 STEAM FOG (LAND) 0246 01 FOG OVER ICE OR SNOW COVER 0247 01 DENCE FOG VISIBILITY 60-90 M 0248 01 DENCE FOG VISIBILITY 30-60 M 0249 01 DENCE FOG VISIBILITY LESS THAN 30 M 0250 01 DRIZZLE, RATE OF FALL LESS THAN 0.10 MM/H 0251 01 DRIZZLE, RATE OF FALL 0.10 - .19 MM/H 0252 01 DRIZZLE, RATE OF FALL 0.20 - .39 MM/H 0253 01 DRIZZLE, RATE OF FALL 0.40 - .79 MM/H 0254 01 DRIZZLE, RATE OF FALL 0.80 - 1.59 MM/H 0255 01 DRIZZLE, RATE OF FALL 1.60 - 3.19 MM/H 0256 01 DRIZZLE, RATE OF FALL 3.20 - 6.39 MM/H 0257 01 DRIZZLE, RATE OF FALL 6.40 MM/H OR MORE 0259 01 DRIZZLE AND SNOW 0260 01 RAIN, RATE OF FALL LESS THAN 1.0 MM/H 0261 01 RAIN, RATE OF FALL 1.0 - 1.9 MM/H 0262 01 RAIN, RATE OF FALL 2.0 - 3.9 MM/H 0263 01 RAIN, RATE OF FALL 4.0 - 7.9 MM/H 0264 01 RAIN, RATE OF FALL 8.0 - 15.9 MM/H 0265 01 RAIN, RATE OF FALL 16.0 - 31.9 MM/H 0266 01 RAIN, RATE OF FALL 32.0 - 63.9 MM/H 0267 01 RAIN, RATE OF FALL 64.0 MM/H OR MORE 0270 01 SNOW, RATE OF FALL LESS THAN 1.0 CM/H 0271 01 SNOW, RATE OF FALL 1.0 - 1.9 CM/H 0272 01 SNOW, RATE OF FALL 2.0 - 3.9 CM/H 0273 01 SNOW, RATE OF FALL 4.0 - 7.9 CM/H 0274 01 SNOW, RATE OF FALL 8.0 - 15.9 CM/H 0275 01 SNOW, RATE OF FALL 16.0 - 31.9 CM/H 0276 01 SNOW, RATE OF FALL 32.0 - 63.9 CM/H 0277 01 SNOW, RATE OF FALL 64.0 CM/H OR MORE 0278 01 SNOW OR ICE CRISTAL PRECIPITATION FROM A CLEAR SKY 0279 01 WET SNOW, FREEZING ON CONTACT 0280 01 PRECIPITATION OF RAIN (WW= 87-99) 0281 01 PRECIPITATION OF RAIN,FREEZING (WW= 80-82) 0282 01 PRECIPITATION OF RAIN AND SNOW MIXED 0283 01 PRECIPITATION OF SNOW 0284 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL 0285 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN 0286 02 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN AND S NOW MIXED 0287 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH SNOW 0288 01 PRECIPITATION OF HAIL 0289 01 PRECIPITATION OF HAIL, WITH RAIN 0290 01 PRECIPITATION OF HAIL, WITH RAIN AND SNOW MIXED 0291 01 PRECIPITATION OF HAIL, WITH SNOW 0292 01 SHOWER(S) OR THUNDERSTORM OVER SEA 0293 01 SHOWER(S) OR THUNDERSTORM OVER MOUNTAINS 0508 02 NO SIGNIFICANT PHENOMENA TO REPORT, PRESENT AND PAST WEATHER OMITTED 0509 02 NOT OBSERVED, NO DATA AVAILABLE, PRESENT AND PAST WEATHER OM ITTED 0510 01 PRESENT AND PAST WEATHER MISSING, BUT EXPECTED 0511 01 MISSING VALUE 020004 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020005 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020008 0019 0000 01 SKY CLEAR 0001 01 FEW 0002 01 SCATTERED 0003 01 BROKEN 0004 01 OVERCAST 0005 01 RESERVED 0006 01 SCATTERED/BROKEN (MANY FORECASTS USE SCATTERED/BROKEN 0007 01 BROKEN/OVERCAST (BROKEN/OVERCAST FOLLOWED BY CLOUD TYPE(S)) 0008 02 ISOLATED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0009 02 ISOLATED EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE C LOUD TYPE CB) 0010 02 OCCASIONAL (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TY PE CB) 0011 02 OCCASIONAL EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0012 02 FREQUENT (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0013 02 DENSE (USED ON AVIATION CHARTS TO DESCRIBE CLOUD THAT WOULD CAUSE SUDDEN CHANGES IN VISIBILITY (LESS THAN 1000M) 0014 01 LAYERS 0015 01 OBSCURED (OBSC) 0016 01 EMBEDDED (EMBD) 0017 01 FREQUENT EMBEDDED 0031 01 MISSING VALUE 020009 0006 0000 01 RESERVED 0001 01 NSC MIL SIGNIFICANT CLOUD 0002 01 CAVOK 0003 01 SKC SKY CLEAR 0004 01 NSW NIL SIGNIFICANT WEATHER 0015 01 MISSING VALUE 020011 0011 0000 01 0 0 0001 01 1 OKTA OR LESS, BUT NOT ZERO 1/10 OR LESS, BUT NOT ZERO 0002 01 2 OKTAS 2/10 - 3/10 0003 01 3 OKTAS 4/10 0004 01 4 OKTAS 5/10 0005 01 5 OKTAS 6/10 0006 01 6 OKTAS 7/10 - 8/10 0007 01 7 OKTAS OR MORE,BUT NOT 8 OKTAS9/10 OR MORE, BUT NOT 10/10 0008 01 8 OKTAS 10/10 0009 01 SKY OBSCURED BY FOG AND OR OTHER METEOROLOGICAL PHENOMENA 0015 02 CLOUD COVE IS INDISCERNIBLE FOR REASONS OTHER THAN FOG OR OT HER METEOROLOGICAL PHENOMENA, OR OBSERVATION IS NOT MADE 020012 0045 0000 01 CIRRUS (CI)...............CI 0001 01 CIRROCUMULUS (CC).........CC 0002 01 CIRROSTRATUS (CS).........CS 0003 01 ALTOCUMULUS (AC).........AC 0004 01 ALTOSTRATUS (AS).........AS 0005 01 NIMBOSTRATUS (NS).........NS 0006 01 STRATOCUMULUS(SC).........SC 0007 01 STRATUS (ST).........ST 0008 01 CUMULUS (CU).........CU 0009 01 CUMULONIMBUS (CB).........CB 0010 01 NO CH CLOUDS 0011 02 CIRRUS FIBRATUS, SOMETIMES UNCINUS, NOT PROGRESSIVELY INADIN G THE SKY 0012 04 CIRRUS SPISSATUS, IN PATCHES OR ENTANGLED SHEAVES, WHICH USU ALLY DO NOT INCREASE AND SOMETIMES SEEM TO BE THE REMAINS OF THE UPPER PART OF A CUMULONIMBUS; OR CIRRUS CASTELLANUS OR FLOCCUS 0013 01 CIRRUS SPISSATUS CUMULONIMBOGENITUS 0014 02 CIRRUS UNCINUS OR FIBRATUS,OR BOTH, PROGRESSIVELY INVADING T HE SKY ; THEY GENERALLY THICKEN AS A WHOLE 0015 04 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL DOES NOT REACH 45 DEGREES ABOVE THE HORIZON 0016 05 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL EXTENDS MORE THAN 45 DEGR REES ABOVE THE HORIZON, WITHOUT THE SKY BEING TOTALLY COVERE D 0017 01 CIRROSTRATUS COVERING THE WHOLE SKY 0018 02 CIRROSTRATUS NOT PROGRESSIVELY INVADING THE SKY AND NOT ENTI RELY COVERING IT 0019 02 CIRROCUMULUS ALONE, OR CIRROCUMULUS PREDOMINANT AMONG THE CH CLOUDS 0020 01 NO CM CLOUDS 0021 01 ALTOSTRATUS TRANSLUCIDUS 0022 01 ALTOSTRATUS OPACUS OR NIMBOSTRATUS 0023 01 ALTOCUMULUS TRANSLUCIDUS AT A SINGLE LEVEL 0024 02 PATCHES (OFTEN LENTICULARIS) OF ALTOCUMULUS TRANSLUCIDUS, CO NTINUALLY CHANGING AND OCCURING AT ONE OR MORE LEVELS 0025 04 ALTOCUMULUS TRANSLUCIDUS IN BANDS, OR ONE OR MORE LAYERS OF ALTOCUMULUS TRANSLUCIDUS OR OPACUS, PROGRESSIVELY INVADING T HE SKY; THESE ALTOCUMULUS CLOUDS GENERALLY THICKEN AS A WHOL E 0026 01 ALTOCUMULUS CUMULOGENITUS (OR CUMULONIMBOGENITUS) 0027 04 ALTOCUMULUS TRANSLUCIDUS OR OPACUS IN TWO OR MORE LAYERS, OR ALTOCUMULUS OPACUS IN A SINGLE LAYER, NOT PROGRESSIVELY INV ADING THE SKY, OR ALTOCUMULUS WITH ALTOSTRATUS OR NIMBOSTRAT US 0028 01 ALTOCUMULUS CASTELLANUS OR FLOCUS 0029 01 ALTOCUMULUS OF CHAOTIC SKY, GENERALLY AT SEVERAL LEVELS 0030 01 NO CL CLOUDS 0031 02 CUMULUS HUMILIS OR CUMULUS FRACTUS OTHER THAN OF BAD WEATHER , OR BOTH 0032 03 CUMULUS MEDIOCRIS OR CONGESTUS, WITH OR WITHOUT CUMULUS OF S PECIES FRACTUS OR HUMULIS OR STRATOCUMULUS, ALL HAVING THEIR BASES AT THE SAME LEVEL 0033 02 CUMULONIMBUS CALVUS, WITH OR WITHOUT CUMULUS, STRATOCUMULUS OR STRATUS 0034 01 STRATOCUMULUS CUMULOGENITUS 0035 01 STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGENITUS 0036 02 STRATUS NEBULOSUS OR STRATUS FRACTUS OTHER THAN OF BAD WEATH ER, OR BOTH 0037 02 STRATUS FRACTUS OR CUMULUS FRACTUS OF BAD WEATHER, OR BOTH (PANNUS), USUALLY BELOW ALTOSTRATUS OR NIMBOSTRATUS 0038 02 CUMULUS AND STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGEN ITUS, WITH BASES AT DIFFERENT LEVELS 0039 03 CUMULONIMBUS CAPILLATUS (OFTEN WITH AN ANVIL), WITH OR WITHO UT CUMULONIMBUS CALVUS, CUMULUS, STRATOCUMULUS, STRATUS OR P ANNUS 0059 02 CLOUD NOT VISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDSTO RM, OR OTHER ANALOGOUS PHENOMENA 0060 03 CH CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0061 03 CM CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0062 02 CL CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA 0063 01 MISSING VALUE 020017 0011 0000 01 ISOLATED CLOUD OR FRAGMENTS OF CLOUD 0001 01 CONTINUOUS CLOUD 0002 01 BROKEN CLOUD - SMALL BREAKS, FLAT TOPS 0003 01 BROKEN CLOUD - LARGE BREAKS, FLAT TOPS 0004 01 CONTINUOUS CLOUD 0005 01 BROKEN CLOUD - SMALL BREAKS, UNDULATED TOPS 0006 01 BROKEN CLOUD - LARGE BREAKS, UNDULATED TOPS 0007 02 CONTINUOUS OR ALMOST CONTINUOUS WAVES WITH TOWERING CLOUDS A BOVE THE TOP OF THE LAYER 0008 02 GROUPS OF WAVES WITH TOWERING CLOUDS ABOVE THE TOP OF THE LA YER 0009 01 TWO OR MORE LAYERS AT DIFFERENT LEVELS 0015 01 MISSING VALUE 020018 0004 0000 01 INCREASING (U) 0001 01 DECREASING (D) 0002 01 NO DISTINCT CHANGE (N) 0003 01 MISSING VALUE 020021 0024 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 0030 01 ALL 30 MISSING VALUE 020022 0007 0000 01 NO PRECIPITATION 0001 01 CONTINUOUS 0002 01 INTERMITTENT 0003 01 SHOWER 0004 01 NOT REACHING GROUND 0005 01 DEPOSITION 0015 01 MISSING VALUE 020023 0012 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 0012 01 WATER-SPOUT 020024 0007 0000 01 NO PHENOMENA 0001 01 LIGHT 0002 01 MODERATE 0003 01 HEAVY 0004 01 VIOLENT 0005 01 SEVERE (VAL) 0007 01 MISSING VALUE 020025 0011 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 0021 01 ALL 21 MISSING VALUE 020026 0014 0000 01 NO CHANGE 0001 01 SHALLOW 0002 01 PATCHES 0003 01 PARTIAL 0004 01 FREEZING 0005 01 LOW DRIFTING 0006 01 BLOWING 0007 01 INCREASING 0008 01 DECREASING 0009 01 IN SUSPENSION IN THE AIR 0010 01 WALL 0011 01 DENSE 0012 01 WHITEOUT 0015 01 MISSING VALUE 020027 0007 0001 01 AT TIME OF OBSERVATION 0002 01 IN PAST HOUR 0003 01 IN TIME PERIOD FOR PAST WEATHER W1W2 0004 01 IN TIME PERIOD SPECIFIED 0006 01 BELOW STATION LEVEL 0007 01 AT THE STATION 0008 01 IN THE VICINITY 020029 0004 0000 01 NO RAIN 0001 01 RAIN 0002 01 RESERVED 0003 01 MISSING VALUE 020032 0006 0000 01 ICE NOT BUILDING UP 0001 01 ICE BUILDING UP SLOWLY 0002 01 ICE BUILDING UP QUICKLY 0003 01 ICE MELTING OR BREAKING UP SLOWLY 0004 01 ICE MELTING OR BREAKING UP RAPIDLY 0007 01 MISSING VALUE 020033 0004 0001 01 ICING FROM OCEAN SPRAY 0002 01 ICING FROM FOG 0003 01 ICING FROM RAIN 0004 01 MISSING VALUE 020034 0012 0000 01 NO SEA ICE IN SIGHT 0001 02 SHIP IN OPEN LEAD MORE THAN 1.0 NAUTICAL MILE WIDE, OR SHIP IN FAST ICE WITH BOUNDARY BEYOND LIMIT OF VISIBILITY 0002 04 SEA ICE PRESENT IN CONCETRATION LESS THAN 3/10 (3/8), OPEN W ATER OR VERY OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0003 03 4/10 TO 6/10 (3/8 TO LESS THAN 6/8) ,OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0004 03 7/10 TO 8/10 (6/8 TO LESS THAN 7/8), CLOSE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN IC E OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0005 04 9/10 OR MORE, BUT NOT 10/10 (7/8 TO LESS THAN 8/8), VERY CLO SE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVAT ION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDG E 0006 03 STRIPS AND PATCHES OF PACK ICE WITH OPEN WATER BETWEEN, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SH IP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0007 04 STRIPS AND PATCHES OF CLOSE OR VERY CLOSE PACK ICE WITH AREA S OF LESSER CONCENTRATION BETWEEN, SEA ICE CONCETRATION IS N OT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0. 5 NAUTICAL MILE OF ICE EDGE 0008 04 FAST ICE WITH OPEN WATER,VERY OPEN OR OPEN PACK ICE TO SEAWA RD OF THE ICE BOUNDARY, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0009 04 FAST ICE CLOSE OR VERY CLOSE PACK ICE TO SEAWARD OF THE ICE BOUNDARY, SEA ICE CONCETRATION IS NOT UNIFORM IN THE OBSERVA TION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE ED GE 0014 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY, O R BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0015 01 MISSING VALUE 020035 0012 0000 01 NO ICE OF LAND ORIGIN 0001 01 1-5 ICEBERGS, NO GROWLERS OR BERGY BITS 0002 01 6-10 ICEBERGS, NO GROWLERS OR BERGY BITS 0003 01 11-20 ICEBERGS, NO GROWLERS OR BERGY BITS 0004 01 UP TO AND INCLUDING 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0005 01 MORE THAN 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0006 01 1-5 ICEBERGS, WITH GROWLERS AND BERGY BITS 0007 01 6-10 ICEBERGS, WITH GROWLERS AND BERGY BITS 0008 01 11-20 ICEBERGS, WITH GROWLERS AND BERGY BITS 0009 02 MORE THAN 20 ICEBERGS,WITH GROWLERS AND BERGY BITS - A MAJOR HAZARD TO NAVIGATION 0014 02 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY SEA ICE IS VISIBLE 0015 01 MISSING VALUE 020036 0012 0000 01 SHIP IN OPEN WATER WITH FLOATING ICE IN SIGHT 0001 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS IMPROVING 0002 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS NOT CHANGING 0003 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS WORSENING 0004 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS IMPROVING 0005 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS NOT CHANGING 0006 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE FORMING AND FLOES FREEZING TOGETHAR 0007 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER SLIGHT PRESSURE 0008 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER MODERATE OR SEVERE PRESSURE 0009 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. SHIP BESET. 0030 01 UNABLE TO REPORT, BECAUSE OF DARKNESS OR LACK OF VISIBILITY 0031 01 MISSING VALUE 020037 0012 0000 01 NEW ICE ONLY (FRAZIL ICE, GREASE ICE, SLUSH, SHUGA) 0001 01 NILAS OR ICE RIND, LESS THAN 10 CM THICK 0002 01 YOUNG ICE(GREY ICE, GREY-WHITE ICE 0003 01 PREDOMINANTLY NEW AND/OR YOUNG ICE WITH SOME FIRST-YEAR ICE 0004 02 PREDOMINANTLY THIN FIRST-YEAR ICE WITH SOME NEW AND/OR YOUNG ICE 0005 01 ALL THIN FIRST-YEAR ICE (30-70 CM THICK) 0006 02 PREDOMINANTLY MEDIUM FIRST-YEAR ICE (70-120 CM THICK) AND THICK FIRST-YEAR ICE (>120 CM 0007 01 ALL MEDIUM AND THICK FIRST-YEAR ICE 0008 02 PREDOMINANTLY MEDIUM AND THICK FIRST-YEAR ICE WITH SOME OLD ICE (USUALLY MORE THAN 2 METRES THICK) 0009 01 PREDOMINANTLY OLD ICE 0030 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY ICE OF LAND ORIGIN IS VISIBLE OR BECAUSE SHIP I S MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0031 01 MISSING VALUE 020040 0009 0000 01 DRIFT SNOW ENDED BEFORE THE HOUR OF OBSERVATION 0001 01 INTENSITY DIMINISHING 0002 01 NO CHANGE 0003 01 INTENSITY INCREASING 0004 02 CONTINUES, APART FROM INTERRUPTION LASTING LESS THAN 30 MINU TES 0005 01 GENERAL DRIFT SNOW HAS BECOME DRIFT SNOW NEAR THE GROUND 0006 01 DRIFT SNOW NEAR THE GROUND HAS BECOME GENERAL DRIFT SNOW 0007 02 DRIFT SNOW HAS STARTED AGAIN AFTER AN INTERRUPTION OF MORE T HAN 30 MINUTES 0015 01 MISSING VALUE 020041 0011 0000 01 NO ICING 0001 01 LIGHT ICING 0002 01 LIGHT ICING IN CLOUD 0003 01 LIGHT ICING IN PRECIPITATION 0004 01 MODERATE ICING 0005 01 MODERATE ICING IN CLOUD 0006 01 MODERATE ICING IN PRECIPITATION 0007 01 SEVERE ICING 0008 01 SEVERE ICING IN CLOUD 0009 01 SEVERE ICING IN PRECIPITATION 0015 01 MISSING VALUE 020042 0004 0000 01 NO ICING 0001 01 ICING PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020045 0004 0000 01 NO SLD CONDITIONS PRESENT 0001 01 SLD CONDITIONS PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020050 0010 0000 01 RESERVED 0001 01 1ST LOW CLOUD 0002 01 2ND LOW CLOUD 0003 01 3RD LOW CLOUD 0004 01 1ST MEDIUM CLOUD 0005 01 2ND MEDIUM CLOUD 0006 01 3RD MEDIUM CLOUD 0007 01 1ST HIGH CLOUD 0008 01 2ND HIGH CLOUD 0255 01 MISSING VALUE 020055 0011 0000 01 CUMULUS, IF ANY, ARE QUITE SMALL 0001 01 CUMULUS OF INTERMEDIATE SIZE 0002 01 SWELLING CUMULUS 0003 01 SWELLING CUMULUS WITH TOWERS 0004 01 SWELLING CUMULUS WITH TOWERS HAVING PRONOUNCED TILT 0005 01 TALL CUMULUS CONGESTUS 0006 01 ISOLATED CUMULONIMBUS 0007 01 NUMEROUS CUMULONIMBUS 0008 01 CONTINUOUS DENSE MIDDLE CLOUDS 0009 01 CONTINUOUS SHEETS OF MIDDLE CLOUDS 0015 01 MISSING VALUE 020056 0005 0000 01 UNKNOWN 0001 01 WATER 0002 01 ICE 0003 01 MIXED 0007 01 MISSING VALUE 020062 0021 0000 02 SURFACE OF GROUND DRY (WITHOUT CRACKS AND NO APPRECIABLE AMOUNT OF DUST OR LOOSE SAND) 0001 01 SURFACE OF GROUND MOIST 0002 02 SURFACE OF GROUND WET (STANDING WATER IN SMALL OR LARGE POOLS ON SURFACE) 0003 01 FLOODED WITHOUT SNOW 0004 01 SURFACE OF GROUND FROZEN MEASURABLE ICE 0005 01 GLAZE ON GROUND COVER 0006 01 LOOSE DRY DUST OR SAND NOT COVERING GROUND COMPLETELY 0007 02 THIN COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLET ELY 0008 02 MODERATE OR THICK COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0009 01 EXTREMELY DRY WITH CRACKS 0010 01 GROUND PREDOMINANTLY COVERED BY ICE 0011 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING LESS THAN ONE-HALF OF THE GROUND 0012 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING AT LEAST ONE-HALF OF THE GROUND BUT GROUND NOT COMPLETELY COVERED 0013 01 EVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND COMPLETELY 0014 02 UNEVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND WITH SNOW OR COMPLETELY MEASURABLE ICE 0015 02 LOOSE DRY SNOW COVERING LESS THAN ONE-HALF OF THE GROUND COV ER 0016 02 LOOSE DRY SNOW COVERING AT LEAST ONE-HALF OF THE GROUND (BUT NOT COMPLETELY) 0017 01 EVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0018 01 UNEVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0019 01 SNOW COVERING GROUND COMPLETELY; DEEP DRIFTS 0031 01 MISSING VALUE 020063 0001 0000 01 TO BE DEVELOPED 020071 0011 0000 01 NO ASSESSMENT NO ASSESSMENT 0001 01 LESS THAN 50 KM LESS THAN 1 PER SECOND 0002 01 BETWEEN 50 AND 200 KM LESS THAN 1 PER SECOND 0003 01 MORE THAN 200 KM LESS THAN 1 PER SECOND 0004 01 LESS THAN 50 KM 1 OR MORE PER SECOND 0005 01 BETWEEN 50 AND 200 KM 1 OR MORE PER SECOND 0006 01 MORE THAN 200 KM 1 OR MORE PER SECOND 0007 02 LESS THANK 50 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0008 02 BETWEEN 50 AND 200 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0009 02 MORE THAN 200 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0015 01 MISSING VALUE 020086 0008 0000 01 CLEAR AND DRY 0001 01 DAMP 0005 01 WET SNOW 0006 01 SLUSH 0007 01 ICE 0008 01 COMPACTED OR ROLLED SNOW 0009 01 FROZEN RUTS OR RIDGES 0015 01 MISSING VALUE 020090 0007 0000 01 RESERVED 0001 01 NACREOUS CLOUDS 0002 01 NOCTILUCENT CLOUDS 0003 01 CLOUDS FROM WATERFALLS 0004 01 CLOUDS FROM FIRES 0005 01 CLOUDS FROM VULCANIC ERUPTIONS 0015 01 MISSING VALUE 020101 0010 0001 01 SCHISTOCERCA GREGARIA 0002 01 LOCUSTA MIGRATORIA 0003 01 NOMADACRIS SEPTEMFASCIATA 0004 01 OEDALEUS SENAGALENSIS 0005 01 ANRACRIDIUM SPP 0006 01 OTHER LOCUST 0007 01 OTHER GRASSHOPPERS 0008 01 ITHER CRICKETS 0009 01 SPODOPTERA EXEMPTA 0015 01 MISSING VALUE 020102 0011 0000 01 GREEN 0001 01 GREEN AND BLACK 0002 01 BLACK 0003 01 YELLOW AND BLACK 0004 01 STRAW/GREY 0005 01 PINK 0006 01 DARK RED/BROWN 0007 01 MIXED RED AND YELLOW 0008 01 YELLOW 0009 01 OTHER 0015 01 MISSING VALUE 020151 0003 0000 01 FIRST YEAR ICE 0001 01 MULTI YEAR ICE 0007 01 MISSING 020252 0003 0000 01 NO EDGE 0001 01 EDGE PRESENT 0007 01 MISSING 020253 0008 0000 01 LAND 0001 01 VEGETATION COVERED LAND 0002 01 RESERVED 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 MISSING 021066 0011 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLINH WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIC VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF IN-PHASE AND QUADRATURE OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION =< MMCC VALUE 021067 0012 0001 01 NO FOREBEAM CALCULATION 0002 01 NO MIDBEAM CALCULATION 0003 01 NO AFTBEAM CALCULATION 0004 01 FOREBEAM ARCING DETECTED 0005 01 MID ARCING DETECTED 0006 01 AFTBEAM ARCING DETECTED 0007 01 ANY BEAM NOISE CONTENT ABOVE OR EQUAL TO TRESHOLD 0008 01 LAND (ANY LAND IN CELL FOOTPRINT) 0009 01 AUTONOMOUS AMBIGUITY REMOVAL NOT USED 0010 01 METEOROLOGICAL BACKGROUND NOT USED 0011 01 MINIMUM RESIDUAL EXCEEDED TRESHOLD 0012 01 FRAME CHECKSUM ERROR DETECTED 021068 0007 0001 01 STANDARD DEVIATION OF WIND SPEED OUTSIDE MMCC LIMIT 0002 02 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT OUTSIDE MMCC L IMIT 0003 01 STANDARD DEVIATION OF ALTITUDE OUTSIDE MMCC LIMIT 0004 01 MEAN PEAKINESS OUTSIDE MMCC LIMIT 0005 01 FRAME CHECKSUM ERROR DETECTED 0006 01 HEIGHT-TIME LOOP TIME CONSTANT CORRECTION NOT PERFORMED 0007 01 NOT ENOUGH MEASUREMENTS ( N< 10) 021069 0009 0001 01 12.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0002 01 11.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0003 01 3.7 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0004 01 1.6 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0005 02 CLOUD IDENTIFICATION USED 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST 0006 02 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST USED DYNAMIC TRESHOLD 0007 01 SUN GLINT DETECTED BY 1.6 MICROMETERS REFLECTANCE CLOUD TEST 0008 01 3.7 MICROMETERS USED IN SEA-SURFACE TEMPERATURE RETRIEVAL 0009 02 SEA-SURFACE TEMPERATURE DERIVATION USED DAYTIME DATA (NIGHT-TIME IF ZERO) 021070 0024 0001 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0002 02 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMB ERING 0003 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0004 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0005 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0006 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0007 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0008 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0009 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0010 02 -18 DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL (ONE BIT PER 10-ARCMIN CELL) 0011 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0011 02 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMB ERING 0012 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0013 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0014 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0015 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0016 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0017 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0018 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0019 01 NADIR VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0020 01 FORWARD VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0021 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS ACQUIRED WHEN ERS PLATFORM NOT IN YAW-STEERING MODE 0022 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS FOR WHIC H PRODUCT CONFIDENCE DATA SHOW QUALITY IS POOR OR UNKNOWN 0023 01 MISSING VALUE 021072 0003 0001 02 HEIGHT ERROR CORRECTION APPLIED INSTEAD OF OPEN LOOP CALIBRA TION 0002 01 MICROWAVE SOUNDER USED FOR TROPOSPHERE CORRECTION 0003 02 AGC OUTPUT CORRECTION APPLIED INSTED OF OPEN LOOP CALIBRATIO N 021073 0008 0001 01 BLANK DATA RECORD 0002 01 TEST 0003 01 CALIBRATION (CLOSED LOOP) 0004 01 BITE 0005 01 ACQUISITION ON ICE 0006 01 ACQUISITION ON OCEAN 0007 01 TRACKING ON ICE 0008 01 TRACKING ON OCEAN 021076 0004 0000 01 LINEAR 0001 01 LOGARITHMIC (BASE E) 0002 01 LOGARITHMIC (BASE 10) 0007 01 MISSING VALUE 021109 0008 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA0- FOR WIND RETRIEVAL 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0017 01 MISSING VALUE 021115 0011 0001 01 SIGMA-0 MEASUREMENT IS NOT USABLE 0002 01 SIGNAL TO NOISE RATIO IS LOW 0003 01 SIGMA-0 IS NEGATIVE 0004 01 SIGMA-0 IS OUTSIDE OF ACCEPTABLE RANGE 0005 01 SCATTEROMETER PULSE QUALITY IS NOT ACCEPTABLE 0006 01 SIGMA-0 CELL LOCATION ALGORITHM DOES NOT CONVERGE 0007 01 FREQUENCY SHIFT LIES BEYOND THE RANGE OF THE X FACTOR TABLE 0008 02 SPACECRAFT TEMPERATURE IS BEYOND CALIBRATION COEFFICIENT RAN GE 0009 01 NO APPLICABLE ATTITUDE RECORDS WERE FOUND FOR THIS SIGMA-0 0010 02 INTERPOLATED EPHEMERIS DATA ARE NOT ACCEPTABLE FOR THIS SIGM A-0 0017 01 MISSING VALUE 021116 0016 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG (1) 0015 01 SLICES PER COMPOSITE FLAG (2) 0016 01 SLICES PER COMPOSITE FLAG (3) 021119 0014 0000 01 RESERVED 0001 01 SASS 0002 01 SASS2 0003 01 NSCAT0 0004 01 NSCAT1 0005 01 NSCAT2 0006 01 QSCAT0 0007 01 QSCAT1 0031 01 CMOD1 0032 01 CMOD2 0033 01 CMOD3 0034 01 CMOD4 0035 01 CMOD5 0064 01 MISSING VALUE 021144 0001 0001 01 RAIN 021150 0004 0000 01 DATA FROM SINGLE GROUND STATION (NO CO-LOCATION) 0001 01 DATA FROM MULTIPLE GROUND STATION (CO-LOCATED DATA) 0002 01 RESERVED 0003 01 MISSING VALUE 021155 0016 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA-0 FOR WIND RETRIEVAL 0003 01 ANY BEAM NOISE CONTENT ABOVE TRESHOLD 0004 01 PRODUCT MONITORING NOT USED 0005 01 PRODUCT MONITORING FLAG 0006 01 KNMI QUALITY CONTROL FAILS 0007 01 VARIATIONAL QUALITY CONTROL FAILS 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0013 01 RAIN FLAG FOR THE WIND VECTOR CELL IS NOT USABLE 0014 01 RAIN FLAG ALGORITHM DETECTS RAIN 0015 01 NO METEOROLOGICAL BACKGROUND USED 0016 01 DATA ARE REDUNDANT 021158 0004 0000 01 ACCEPTABLE 0001 01 NOT ACCEPTABLE 0002 01 RESERVED 0003 01 MISSING VALUE 021159 0004 0000 01 GOOD 0001 01 USABLE 0002 01 BAD 0003 01 MISSING VALUE 021169 0004 0000 01 NO ICE PRESENT 0001 01 ICE PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 021196 0012 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLING WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIED VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF I AND Q OUT OF RAN GE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VCALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION <= MMCC VALUE 0012 01 MISSING VALUE 021199 0007 0001 01 3.7 MICRO CHANNEL USED IN ASST DERIVATION 0002 01 ASST DERIVATION USED DATTIME DATA 0003 02 COMPARISON OF ASST AGAINST PREVIOUS EQUIVALENT PASS PERFORMED 0004 02 COMPARISON OF ASST AGAINST WEEKLY AVERAGE OF ASST PERFORMED 0005 01 0006 02 COMPARISON OF RATE OF CHANGE OF ASST AGAINST STATIC TRESHOLD PERFORMED 0007 01 MISSING VALUE 022056 0004 0000 01 UPWARDS PROFILE 0001 01 DOWNWARDS PROFILE 0002 01 HORIZONTAL 0003 01 MISSING VALUE 022060 0004 0000 01 DROGUE IS DETACHED 0001 01 DROGUE IS ATTACHED 0002 01 DROGUE STATUS UNKNOWN 0007 01 MISSING VALUE 022061 0011 0000 01 CALM (GLASSY) HEIGHT 0 M 0001 01 CALM (RIPPLED) HEIGHT 0 - 0.1 M 0002 01 SMOOTH (WAVELETS) HEIGHT 0.1 - 0.5 M 0003 01 SLIGHT HEIGHT 0.5 - 1.5 M 0004 01 MODERATE HEIGHT 1.25 - 2.5 M 0005 01 ROUGH HEIGHT 2.5 - 4 M 0006 01 VERY ROUGH HEIGHT 4 - 6 M 0007 01 HIGH HEIGHT 6 - 9 M 0008 01 VERY HIGH HEIGHT 9 -14 M 0009 01 PHENOMANAL HEIGHT OVER 14 M 0015 01 MISSING VALUE 022067 0001 0000 01 SEE COMMON CODE TABLE C3 022068 0001 0000 01 SEE COMMON CODE TABLE C4 022120 0013 0000 01 GOOD DATA 0001 01 MAXIMUM (HIGH) WATER LEVEL LIMIT EXCEEDED 0002 01 MINIMUM (LOW) WATER LEVEL LIMIT EXCEEDED 0003 01 RATE OF CHANGE LIMIT FOR WATER LEVEL EXCEEDED 0004 01 FLAT LIMIT FOR WATER LEVEL EXCEEDED 0005 01 OBSERVED MINUS PREDICTED WATER LEVEL VALUE LIMIT EXCEEDED 0006 02 OBSERVED VALUE FROM PRIMARY WATER LEVEL SENSOR MINUS BACKUP WATER LEVEL SENSOR 0007 01 VALUE EXCEEDED SPECIFIED TOLERANCE FROM EXPECTED VALUE 0008 02 WATER LEVEL QA PARAMETER (SIGMAS AND/OR OUTLIERS) LIMITS EXC EEDED 0009 01 SEA TEMPERATURE OUTSIDE OF EXPECTED RANGE 0010 01 MULTIPLE QC CHECKS (ABOVE) FAILED 0011 01 NO AUTOMATED WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022121 0009 0000 01 OPERATIONAL 0001 02 POSSIBLE CLOGGING PROBLEM OR OTHERWISE DEGRADED WATE LEVEL D ATA 0002 01 POSSIBLE DATUM SHIFT 0003 01 UNKNOWN STATUS OF WATER LEVEL SENSOR 0004 01 SUSPECTED OR KNOWN SEA TEMPERATURE SENSOR PROBLEM 0005 01 MULTIPLE POSSIBLE PROBLEMS (ABOVE) 0006 01 BAD DATA- DO NOT DISSEMINATE 0007 01 NO MANUAL WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022122 0008 0000 01 GOOD DATA FROM ALL SENSORS 0001 01 WIND DIRECTION OUTSIDE OF ALLOWABLE RANGE 0002 01 WIND SPEED OUTSIDE OF EXPECTED RANGE 0003 01 BAROMETRIC PRESSURE OUTSIDE OF EXPECTED RANGE 0004 01 AIR TEMPERATURE OUTSIDE OF EXPECTED RANGE 0005 01 MULTIPLE SENSOR FAILED QC CHECKS 0006 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022123 0009 0000 01 OPERATIONAL 0001 01 SUSPECTED OR KNOWN PROBLEM WITH WIND SENSOR 0002 01 SUSPECTED OR KNOWN PROBLEM WITH BAROMETRIC PRESSURE SENSOR 0003 01 SUSPECTED OR KNOWN PROBLEM WITH AIR TEMPERATURE SENSOR 0004 01 UNKNOWN STATUS OF ALL SENSORS 0005 01 SUSPECTED OR KNOWN PROBLEMS WITH MULTIPLE SENSORS 0006 01 BAD DATA - DO NOT DISSEMINATE 0007 01 NO MANUAL METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022252 0006 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MAGNOLIA CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 023001 0005 0000 01 RESERVED 0001 01 ARTICLES 1 AND 2 0002 01 ARTICLE 3 0003 01 ARTICLE 5.2 0007 01 MISSING VALUE 023002 0016 0000 01 RESERVED 0001 01 NUCLEAR REACTOR ON GROUND 0002 01 NUCLEAR REACTOR ON SEA 0003 01 NUCLEAR REACTOR IN SPACE 0004 01 NUCLEAR FULE FACILITY 0005 01 RADIOACTIVE WASTE MANAGMENT FACITILY 0006 01 TRANSPORT OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0007 01 STORAGE OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0008 01 MANUFACTURE OF RADIO-ISOTOPES 0009 01 USE OF RADIO-ISOTOPES 0010 01 STORAGE OF RADIO-ISOTOPES 0011 01 DISPOSAL OF RADIO-ISOTOPS 0012 01 TRANSPORT OF RADIO-ISOTOPES 0013 01 USE OF RADIO-ISOTOPES FOR POWER GENERATION 0030 01 OTHER 0031 01 MISSING VALUE 023003 0008 0000 01 NO RELEASE 0001 01 RELEASE TO ATMOSPHERE 0002 01 RELEASE TO WATER 0003 01 RELEASE TO BOTH ATMOSPHERE AND WATER 0004 01 EXPECTED RELEASE TO ATMOSPHERE 0005 01 EXPECTED RELEASE TO WATER 0006 01 EXPECTED RELEASE TO BOTH ATMOSPHERE AND WATER 0007 01 MISSING VALUE 023004 0006 0000 01 NO COUNTERMEASURE 0001 01 EVACUATION 0002 01 SHELTERING 0003 01 PROPHILAXIS 0004 01 WATER 0007 01 MISSING VALUE 023005 0004 0000 01 INCIDENT STAT DOES NOT UNDERSTAND WHAT HAPPENED 0001 01 INCIDENT STATE KNOWS THE CAUSE OF THE INCIDENT 0002 01 RESERVED 0003 01 MISSING VALUE 023006 0008 0000 01 NO IMPROVEMENT 0001 01 UNSTABLE 0002 01 NO DETERIORATION 0003 01 IMPROVING 0004 01 STABLE 0005 01 DETERIORATING 0006 01 RESERVED 0007 01 MISSING VALUE 023007 0005 0000 01 NO RELEASE 0001 01 RELEASE HAS STOPPED 0002 01 RELEASE 0003 01 RELEASE IS CONTINUING 0007 01 MISSING VALUE 023008 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023009 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023016 0004 0000 01 NO SIGNIFICANT TOXIC HEALTH EFFECT 0001 01 SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT POSSIBLE 0002 01 RESERVED 0003 01 MISSING VALUE 023018 0006 0000 01 RELEASE NO LONGER OCCURRING 0001 01 RELEASE STILL OCCURRING 0002 01 RELEASE EXPECTED TO INCREASE IN NEXT SIX HOURS 0003 01 RELEASE EXPECTED TO REMAIN CONSTANT IN NEXT SIX HOURS 0004 01 RELEASE EXPECTED TO DECREASE IN NEXT SIX HOURS 0007 01 MISSING VALUE 023031 0004 0000 01 PLUME WILL NOT ENCOUNTER RAIN IN INCIDENT STATE 0001 01 PLUME WILL ENCOUNTER RAIN IN INCIDENT STATE 0002 01 RESERVED 0003 01 MISSING VALUE 023032 0004 0000 01 NO SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0001 02 ANTICIPATED SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOUR S 0002 01 RESERVED 0003 01 MISSING VALUE 024003 0005 0000 01 NOBLE GASES 0001 01 IODINES 0002 01 CAESIUM 0003 01 TRANSURANICS 0031 01 MISSING VALUE 025004 0004 0000 01 INCOHERENT 0001 01 COHERENT (DOPPLER) 0002 01 RESERVED 0003 01 MISSING VALUE 025005 0004 0000 01 LOGATITHM - 2.5 DB 0001 01 LINEAR 0002 01 SPECIAL 0003 01 MISSING VALUE 025006 0005 0000 01 ZH TO R CONVERSION 0001 01 (ZH, ZDR) TO (NO.DO) TO R 0002 01 (Z(F1),Z(F2)) TO ATTENUATION TO R 0006 01 OTHER 0007 01 MISSING VALUE 025009 0004 0001 01 NONE 0002 01 CALIBRATION TARGET OR SIGNAL 0003 01 AGAINST RAINGAGES 0004 01 AGAINST OTHER INSTRUMENTS (DISTROMETER-ATTENUATION) 025010 0008 0000 01 NONE 0001 01 MAP 0002 01 INSERTION OF HIGHER ELEVATION DATA AND MAP 0003 01 ANALYSIS OF FLUCTUATING LOGARITHM SIGNAL (CLUTTER DETECTION) 0004 02 EXTRACTION OF FLUCTUATING PART OF LINEAR SIGNAL (CLUTTER SUP PRESSION) 0005 01 CLUTTER SUPPRESSION DOPPLER 0006 01 MULTIPARAMETER ANALYSIS 0015 01 MISSING VALUE 025011 0004 0000 01 NONE 0001 01 MAP OF CORRECTION FACTORS 0002 01 INTERPOLATION (AZIMUTH OR ELEVATION) 0003 01 MISSING VALUE 025012 0004 0000 01 HARDWARE 0001 01 SOFTWARE 0002 01 HARDWARE AND SOFTWARE 0003 01 MISSING VALUE 025013 0001 0001 01 BRIGHT BAND CORRECTION 025015 0001 0001 01 RADOME ATTENUATION CORRECTION 025017 0001 0001 01 PRECIPITATION ATTENUATION CORRECTION 025020 0004 0000 01 FTT (FAST FOURIER TRANSFORM 0001 01 PPP (PULSE PAIR PROCESSING 0002 01 VPC (VECTOR-PHASE CHANGE) 0003 01 MISSING VALUE 025021 0005 0001 01 SIMPLE AVERAGE 0002 01 CONSENSUS AVERAGE 0003 01 MEDIAN CHECK 0004 01 VERTICAL CONSISTENCY CHECK 0005 01 OTHER 025030 0004 0000 02 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE USAGE CRITERIA NOT MET 0001 02 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE DATA N OT AVAILABLE 0002 01 RUNNING MEAN SEA-SURFACE TEMPERATURE USED AS PREDICTOR 0003 01 MISSING VALUE 025032 0004 0000 01 RESERVED 0001 01 DATA FROM LOW MODE 0002 01 DATA FROM HIGH MODE 0003 01 MISSING VALUE 025033 0004 0000 01 WIND PROFILER OPERATING IN SUBMODE A 0001 01 WIND PROFILER OPERATING IN SUBMODE B 0002 01 RESERVED 0003 01 MISSING VALUE 025034 0003 0001 01 TEST A PERFORMED AND FAILED 0002 01 TEST B PERFORMED AND FAILED 0003 01 TEST RESULTS INCONCLUSIVE 025036 0004 0000 02 NETWORK OF SEVERAL DIRECTION-FINDERS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0001 02 NETWORK OF SEVERAL ARRIVAL-TIME STATIONS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0006 01 SINGLE STATION RANGE BEARING TECHNIQUE 0015 01 MISSING VALUE 025040 0010 0000 01 NON-SPECIFIC MODE 0001 01 FIRST GUESS DATA 0002 01 CLOUD DATA 0003 01 AVERAGE VECTOR DATA 0004 01 PRIMARY DATA 0005 01 GUESS DATA 0006 01 VECTOR DATA 0007 01 TRACER DATA; THE IMAGE 0008 01 TRACER DATA TO NEXT IMAGE 0015 01 MISSING VALUE 025041 0004 0000 01 DIRECTION ORIGINALLY REPORTED IN TRUE DEGREES 0001 01 DIRECTION ORIGINALLY REPORTED USING CODE TABLE 0700, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025042 0004 0000 01 SPEED ORIGINALLY REPORTED IN METERS PER SECOND 0001 01 SPEED ORIGINALLY REPORTED USING CODE TABLE 2251, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025045 0020 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 0016 01 CHANNEL 16 PRESENT - (SET TO 1 PRESENT) 0017 01 CHANNEL 17 PRESENT - (SET TO 1 PRESENT) 0018 01 CHANNEL 18 PRESENT - (SET TO 1 PRESENT) 0019 01 CHANNEL 19 PRESENT - (SET TO 1 PRESENT) 0020 01 CHANNEL 20 PRESENT - (SET TO 1 PRESENT) 025046 0004 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 025047 0003 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 025048 0015 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 025049 0005 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 025051 0006 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 025053 0006 0001 01 GOOD 0002 01 REDUNDANT 0003 01 QUESTIONABLE 0004 01 BAD 0005 01 EXPERIMENTAL 0006 01 PRECIPITATING 025069 0007 0001 01 SMOOTHED 0002 01 BASELINE ADJUSTED 0003 01 NORMALIZED TIME INTERVAL 0004 01 OUTLIER CHECKED 0005 01 PLAUSIBILITY CHECKED 0006 01 CONSISTENCY CHECKED 0007 01 INTERPOLATED 025086 0004 0000 01 DEPTHS ARE NOT CORRECTED 0001 01 DEPTHS ARE CORRECTED 0002 01 RESERVED 0003 01 MISSING VALUE 025093 0003 0001 01 NO CORRECTION 0002 01 VERTICAL VELOCITY CORRECTION 0007 01 ALL CORRECTIONS 025095 0001 0001 02 ALTIMETER OPERATING (SET TO 0 IF NOMINAL, SET TO BACKUP) 025096 0004 0001 01 MODE INDICATOR (0 IF MODE 2, 1 IF MODE 1) 0002 03 MODE 1 CALIBRATION SEQUENCE INDICATOR (0 IF NORMAL DATA TAKI NG EITHER MODE 1 OR 2, 1 IF MODE 1 CALIBRATION SEQUENCE) BIT S 3 AND 4 INDICATE ACTIVE 23.8 GHZ CHANNEL 0003 01 CHANNEL 2 (0 IF ON, 1 IF OFF) 0004 01 CHANNEL 3 (0 IF ON, 1 IF OFF) 025097 0011 0000 01 RANGES BETWEEN 0 AND 30 CM 0001 01 RANGES BETWEEN 30 AND 60 CM 0002 01 RANGES BETWEEN 60 AND 90 CM 0003 01 RANGES BETWEEN 90 AND 120 CM 0004 01 RANGES BETWEEN 120 AND 150 CM 0005 01 RANGES BETWEEN 150 AND 180 CM 0006 01 RANGES BETWEEN 180 AND 210 CM 0007 01 RANGES BETWEEN 210 AND 240 CM 0008 01 RANGES BETWEEN 240 AND 270 CM 0009 01 RANGES LARGER THAN 270 CM 0015 01 MISSING VALUE 025098 0008 0001 01 KU BAND RANGE 0002 01 C BAND RANGE 0003 01 KU BAND SWH 0004 01 C BAND SWH 0005 01 KU BAND SCATTEROMETER COEFFICIENT 0006 01 C BAND SCATTEROMETER COEFFICIENT 0007 01 OFF NADIR ANGLE FROM KU BAND WVEFORM PARAMETERS 0008 01 OFF NADIR FROM PLATFORM 025099 0006 0001 01 KU BAND RANGE INSTRUMENTAL CORRECTION 0002 01 C BAND RANGE INSTRUMENTAL CORRECTION 0003 01 KU BAND SWH INSTRUMENTAL CORRECTION 0004 01 C BAND SWH INSTRUMENTAL CORRECTION 0005 01 KU BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 0006 01 C BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 025110 0006 0001 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING DEFAULT PARAMETERS 0002 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING RAW DATA ANALYSIS RESULTS 0003 01 ANTENNA ELEVATION PATTERN CORRECTION APPLIED 0004 01 NOMINAL CHIRP REPLICA USED 0005 01 RECONSTRUCTED CHIRP USED 0006 01 SLANT RANGE TO GROUND RANGE CONVERSION APPLIED 025120 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025122 0004 0000 01 HARDWARE CONFIGURATION FOR RF IS A 0001 01 HARDWARE CONFIGURATION FOR RF IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025123 0004 0000 01 HARDWARE CONFIGURATION FOR HPA IS A 0001 01 HARDWARE CONFIGURATION FOR HPA IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025124 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025144 0013 0001 01 PIXEL IS AFFECTED BY RFI EFFECTS 0002 02 PIXEL IS LOCATED IN THE HEXAGONAL ALIAS DIRECTION CENTRED ON SUN ALIAS 0003 02 PIXEL IS CLOSE TO THE BORDER DELIMITING THE EXTENDED ALIAS F REE ZONE 0004 01 PIXEL IS INSIDE THE EXTENDED ALIAS FREE ZONE 0005 01 PIXEL IS INSIDE THE EXCLUSIVE OF ALIAS FREE ZONE 0006 02 PIXEL IS LOCATED IN ZONE WHERE A MOON ALIAS WAS RECONSTRUCTE D 0007 02 PIXEL IS LOCATED IN ZONE WHERE SUN REFLECTION HAS BEEN DETEC TED 0008 01 PIXEL IS LOCATED IN ZONE WHERE SUN ALIAS WAS RECONSTRUCTED 0009 02 FLAT TARGET TRANSFORMATION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0010 03 SCENE HAS BEEN COMBINED WITH AN ADJUSTMENT SCENE IN OPOSITE POLARISATION DURING IMAGE RECONSTRUCTION TO ACCOUNT FOR CROS S-POLARISATION LEAKAGE 0011 02 DIRECT MOON CORRECTION HAS BENN PERFORMED DURING IMAGE RECON STRUCTION OF THIS PIXEL 0012 02 REFLECTED SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION IF THIS PIXEL 0013 02 DIRECT SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS IMAGE 026010 0025 0001 01 0100 INCLUDED 0002 01 0200 INCLUDED 0003 01 0300 INCLUDED 0004 01 0400 INCLUDED 0005 01 0500 INCLUDED 0006 01 0600 INCLUDED 0007 01 0700 INCLUDED 0008 01 0800 INCLUDED 0009 01 0900 INCLUDED 0010 01 1000 INCLUDED 0011 01 1100 INCLUDED 0012 01 1200 INCLUDED 0013 01 1300 INCLUDED 0014 01 1400 INCLUDED 0015 01 1500 INCLUDED 0016 01 1600 INCLUDED 0017 01 1700 INCLUDED 0018 01 1800 INCLUDED 0019 01 1900 INCLUDED 0020 01 2000 INCLUDED 0021 01 2100 INCLUDED 0022 01 2200 INCLUDED 0023 01 2300 INCLUDED 0024 01 2400 INCLUDED 0025 01 UNKNOWN MIXTURE OF HOURS 029001 0006 0000 01 GNOMONIC PROJECTION 0001 01 POLAR STEREOGRAPHIC PROJECTION 0002 01 LAMBERT'S CONFORMAL CONIC PROJECTION 0003 01 MERCATOR'S PROJECTION 0004 01 SCANNING CONE (RADAR) 0007 01 MISSING VALUE 029002 0004 0000 01 CARTESIAN 0001 01 POLAR 0002 01 OTHER 0007 01 MISSING VALUE 030031 0013 0000 01 PPI 0001 01 COMPOSITE 0002 01 CAPPI 0003 01 VERTICAL SECTION 0004 01 ALPHANUMERIC DATA 0005 01 MAP OF SUBJECT CLUTTER 0006 01 MAP 0007 01 TEST PICTURE 0008 01 COMMENTS 0009 01 MAP OF GROUND OCCULTATION 0010 01 MAP OF RADAR BEAM HEIGHT 0014 01 OTHER 0015 01 MISSING VALUE 030032 0009 0001 01 MAP 0002 01 SATELLITE IR 0003 01 SATELLITE VIS 0004 01 SATELLITE WV 0005 01 SATELLITE MULTISPECTRAL 0006 01 SYNOPTIC OBSERVATIONS 0007 01 FORECAST PARAMETERS 0008 01 LIGHTNING DATA 0015 01 OTHER DATA 031021 0004 0001 01 1 BIT INDICATOR OF QUALITY, 0= GOOD; 1=SUSPECT OR BAD 0002 02 2 BIT INDICATOR OF QUALITY, 0= GOOD; 1= SLIGHTLY SUSPECTED; 2= HIGHLY SUSPECTED; 3=BAD 0007 01 PERCENTAGE CONFIDENCE 0063 01 MISSING VALUE 031031 0001 0001 01 DATA NOT PRESENT 033002 0004 0000 01 DATA NOT SUSPECT 0001 01 DATA SUSPECT 0002 01 RESERVED 0003 01 MISSING VALUE 033003 0005 0000 01 DATA NOT SUSPECT 0001 01 DATA SLIGHTLY SUSPECT 0002 01 DATA HIGHTLY SUSPECT 0003 01 DATA CONSIDERED UNFIT FOR USE 0007 01 MISSING VALUE 033005 0023 0001 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0002 01 PRESSURE DATA SUSPECT 0003 01 WIND DATA SUSPECT 0004 01 DRY-BULB TEMPERATURE DATA SUSPECT 0005 01 WET-BULB TEMPERATURE DATA SUSPECT 0006 01 HUMIDITY DATA SUSPECT 0007 01 GROUND TEMPERATURE DATA SUSPECT 0008 01 SOIL TEMPERATURE (DEPTH 1) DATA SUSPECT 0009 01 SOIL TEMPERATURE (DEPTH 2) DATA SUSPECT 0010 01 SOIL TEMPERATURE (DEPTH 3) DATA SUSPECT 0011 01 SOIL TEMPERATURE (DEPTH 4) DATA SUSPECT 0012 01 SOIL TEMPERATURE (DEPTH 5) DATA SUSPECT 0013 01 CLOUD DATA SUSPECT 0014 01 VISIBILITY DATA SUSPECT 0015 01 PRESENT WEATHER DATA SUSPECT 0016 01 LIGHTNING DATA SUSPECT 0017 01 ICE DEPOSIT DATA SUSPECT 0018 01 PRECIPITATION DATA SUSPECT 0019 01 STATE OF GROUND DATA SUSPECT 0020 01 SNOW DATA SUSPECT 0021 01 WATER CONTENT DATA SUSPECT 0022 01 EVAPORATION/EVAPOTRANSPIRATION DATA SUSPECT 0023 01 SUNSHINE DATA SUSPECT 033006 0005 0000 01 SELF-CHECK OK 0001 01 AT LEAST ONE WARNING ACTIVE, NO ALARMS 0002 01 AT LEAST ONE ALARM ACTIVE 0003 01 SENSOR FAILURE 0007 01 MISSING VALUE 033015 0016 0000 01 PASSED ALL CHECKS 0001 01 MISSING-DATA CHECK 0002 01 DESCENDING/REASCENDING BALLOON CHECK 0003 01 DATA PLAUSIBILITY CHECK (ABOVE LIMITS) 0004 01 DATA PLAUSIBILITY CHECK (BELOW LIMITS) 0005 01 SUPERADIABATIC LAPSE RATE CHECK 0006 01 LIMITING ANGLES CHECK 0007 01 ASCENSION RATE CHECK 0008 01 EXCESSIVE CHANGE FROM PREVIOUS FLIGHT 0009 01 BALLOON OVERHEAD CHECK 0010 01 WIND SPEED CHECK 0011 01 WIND DIRECTION CHECK 0012 01 DEPENDENCY CHECK 0013 01 DATA VALID BUT MODIFIED 0014 01 DATA OUTLIER CHECK 0063 01 MISSING DATA 033020 0008 0000 01 GOOD 0001 01 INCONSISTENT 0002 01 DOUBTFUL 0003 01 WRONG 0004 01 NOT CHECKED 0005 01 HAS BEEN CHECKED 0006 01 RESERVED 0007 01 MISSING VALUE 033021 0004 0000 01 WITHIN LIMITS 0001 01 OUTSIDE LIMITS 0002 01 RESERVED 0003 01 MISSING VALUE 033022 0004 0000 01 GOOD (SEVERAL IDENTICAL REPORTS HAVE BEEN RECEIVED) 0001 01 DUBIOUS (NO IDENTICAL REPORT HAVE BEEN RECEIVED) 0002 01 RESERVED 0003 01 MISSING VALUE 033023 0004 0000 01 RELIABLE (LOCATION WAS MADE OVER TWO SATELLITE PASSES) 0001 01 LATEST KNOWN (NO LOCATION OVER CORRESPONDING PASS) 0002 01 DUBIOUS 0003 01 MISSING VALUE 033024 0010 0000 01 RESERVED 0001 01 EXELLENT - WITHIN 3 METRES 0002 01 GOOD - WITHIN 10 METRES 0003 01 FAIR - WITHIN 20 METRES 0004 01 POOR - MORE THAN 20 METRES 0005 01 EXELLENT -WITHIN 10 FEET 0006 01 GOOD WITHIN-30 FEET 0007 01 FAIR WITHIN 60 FEET 0008 01 POOR - MORE THAN 60 FEET 0015 01 MISSING VALUE 033025 0005 0000 01 TIME INTERPOLATED, LATITUDE AND LONGITUDE REPORTED 0001 01 TIME REPORTED, LATITUDE AND LONGITUDE INTERPOLATED 0002 01 TIME, LATITUDE AND LONGITUDE INTERPOLATED 0003 01 TIME, LATITUDE AND LONGITUDE REPORTED 0007 01 MISSING VALUE 033026 0010 0000 01 NORMAL OPERATIONS - MEASUREMENT MODE 0001 01 NORMAL OPERATIONS - NON-MEASUREMENT MODE 0002 01 SMALL RH 0003 01 HUMIDITY ELEMENT IS WET 0004 01 HUMIDITY ELEMENT IS CONTAMINATED 0005 01 HEATER FAIL 0006 01 HEATER FAIL AND WET/CONTAMINATED HUMIDITY ELEMENT 0007 01 SINGLE VALIDITY BAD 0008 01 NUMERIC ERROR 0063 01 MISSING VALUE 033027 0005 0000 01 RADIUS >= 1500 M 0001 01 500 M <= RADIUS < 1500 M 0002 01 250 M <= RADIUS < 500 M 0003 01 RADIUS < 250 M 0007 01 MISSING VALUE 033028 0006 0000 01 RESERVED 0001 01 NOMINAL 0002 01 DEGRADED BY SW ERROR; ANY ERROR REPORTED BY THE ALGORITHMS 0003 01 DEGRADED BY INSTRUMENT ERROR 0004 01 DEGRADED BY CORRUPTED/MISSING ADF 0007 01 MISSING 033030 0007 0001 01 DO NOT USE SCAN FOR PRODUCT GENERATION 0002 01 TIME SEQUENCE ERROR DETECTED WITH THIS SCAN 0003 01 DATA GAP PRECEDES THIS SCAN 0004 01 NO CALIBRATION 0005 01 NO EARTH LOCATION 0006 01 FIRST GOOD TIME FOLLOWING A CLOCK UPDATE 0007 01 INSTRUMENT STATUS CHANGED WITH THIS SCAN 033031 0021 0001 02 TIME FIELD IS BAD BUT CAN PROBABLY BE INFERRED FROM THE PREV IOUS GOOD TIME 0002 02 TIME FIELD IS BAD AND CANÂ~@~YT BE INFERRED FROM THE PREVIOU S GOOD TIME 0003 04 THIS RECORD STARTS A SEQUENCE THAT IS INCONSISTENT WITH PREV IOUS TIMES (I.E. THERE IS A TIME DISCONTINUITY). THIS MAY OR MAY NOT BE ASSOCIATED WITH A SPACECRAFT CLOCK UPDATE (SEE S CAN LINE STATUS FLAGS FOR ATOVS) 0004 02 START OF A SEQUENCE THAT APPARENTLY REPEATS SCAN TIMES THAT HAVE BEEN PREVIOUSLY ACCEPTED 0005 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD TIME 0006 03 SCAN LINE WAS CALIBRATED USING FEWER THAN THE PREFERRED NUMB ER OF SCAN LINES BECAUSE OF PROXIMATY TO START OR END OF DAT A OR TO A DATA GAP 0007 02 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD OR INSUFFICIENT PRT DATA 0008 01 SCAN LINE WAS CALIBRATED BUT WITH MARGINAL PRT DATA 0009 01 SOME UNCALIBRATED CHANNELS ON THIS SCAN 0010 01 UNCALIBRATED DUE TO INSTRUMENT MODE 0011 02 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR O F SPACE VIEW 0012 02 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR O F BLACK BODY 0013 01 NOT EARTH LOCATED BECAUSE OF BAD TIME 0014 03 EARTH LOCATION QUESTIONABLE BECAUSE OF QUESTIONABLE TIME CODE (SEE TIME PROBLEM CODE BITS) 0015 02 EARTH LOCATION QUESTIONABLE - ONLY MARGINAL AGREEMENT WITH REASONABLENESS CHECK 0016 01 EARTH LOCATION QUESTIONABLE - FAILS REASONABLENESS CHECK 0017 02 EARTH LOCATION QUESTIONABLE BECAUSE OF ANTENNA POSITION CHEC K 0018 01 SCAN LINE CALIBRATION COLD BLACK BODY 0019 01 SCAN LINE CALIBRATION WARM BLACK BODY 0020 01 SCAN LINE CALIBRATION SPACE VIEW 0021 01 EARTH VIEW 033032 0006 0001 01 NO GOOD BLACKBODY COUNTS FOR SCAN LINE 0002 01 NO GOOD SPACE VIEW COUNTS FOR THIS LINE 0003 01 NO GOOD PRTS FOR THIS LINE 0004 01 SOME BAD BLACKBODY VIEW COUNTS FOR THIS LINE 0005 01 SOME BAD SPACE VIEW COUNTS FOR THIS LINE 0006 01 SOME BAD PRT TEMPS ON THIS LINE 033033 0023 0001 01 SET IF SECONDARY CALIBRATION USED 0002 02 BRIGHTNESS TEMPERATURE IN CHANNEL 1 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0003 02 BRIGHTNESS TEMPERATURE IN CHANNEL 2 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0004 02 BRIGHTNESS TEMPERATURE IN CHANNEL 3 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0005 02 BRIGHTNESS TEMPERATURE IN CHANNEL 4 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0006 02 BRIGHTNESS TEMPERATURE IN CHANNEL 5 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0007 02 BRIGHTNESS TEMPERATURE IN CHANNEL 6 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0008 02 BRIGHTNESS TEMPERATURE IN CHANNEL 7 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0009 02 BRIGHTNESS TEMPERATURE IN CHANNEL 8 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0010 02 BRIGHTNESS TEMPERATURE IN CHANNEL 9 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0011 02 BRIGHTNESS TEMPERATURE IN CHANNEL 10 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0012 02 BRIGHTNESS TEMPERATURE IN CHANNEL 11 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0013 02 BRIGHTNESS TEMPERATURE IN CHANNEL 12 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0014 02 BRIGHTNESS TEMPERATURE IN CHANNEL 13 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0015 02 BRIGHTNESS TEMPERATURE IN CHANNEL 14 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0016 02 BRIGHTNESS TEMPERATURE IN CHANNEL 15 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0017 02 BRIGHTNESS TEMPERATURE IN CHANNEL 16 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0018 02 BRIGHTNESS TEMPERATURE IN CHANNEL 17 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0019 02 BRIGHTNESS TEMPERATURE IN CHANNEL 18 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0020 02 BRIGHTNESS TEMPERATURE IN CHANNEL 19 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0021 02 BRIGHTNESS TEMPERATURE IN CHANNEL 20 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0022 01 SET IF ALL CHANNELS ARE MISSING 0023 01 SUSPECT 033035 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PA SSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DE LETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FA ILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE -INSERTED 0006 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND N OT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033037 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 033038 0009 0001 01 TOTAL ZENITH DELAY QUALITY IS CONSIDERED POOR 0002 01 GALILEO SATELLITES USED 0003 01 GLONASS SATELLITES USED 0004 01 GPS SATELLITES USED 0005 01 METEOROLOGICAL DATA APPLIED 0006 01 ATMOSPHERIC LOADING CORRECTION APPLIED 0007 01 OCEAN TIDE LOADING APPLIED 0008 01 CLIMATE QUALITY DATA PROCESSING 0009 01 NEAR-REAL TIME DATA PROCESSING 033039 0009 0001 01 NON-NOMINAL QUALITY 0002 01 OFFLINE PRODUCT 0003 01 ASCENDING OCCULTATION FLAG 0004 01 EXCESS PHASE PROCESSING NON-NOMINAL 0005 01 BENDING ANGLE PROCESSING NON-NOMINAL 0006 01 REFRACTIVITY PROCESSING NON-NOMINAL 0007 01 METEOROLOGICAL PROCESSING NON-NOMINAL 0014 01 BACKGROUND PROFILE NON-NOMINAL 0015 01 BACKGROUND (I.E. NOT RETRIEVED) PROFILE PRESENT 033041 0004 0000 01 THE FOLLOWING VALUE IS THE TRUE VALUE 0001 02 THE FOLLOWING VALUE IS HIGHER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE LOWER LIMIT OF THE INSTRUMENT) 0002 02 THE FOLLOWING VALUE IS LOWER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE HIGHER LIMIT OF THE INSTRUMENT) 0003 01 MISSING VALUE 033042 0005 0000 01 EXCLUSIVE LOWER LIMIT (>) 0001 01 INCLUSIVE LOWER LIMIT (>=) 0002 01 EXCLUSIVE UPPER LIMIT (<) 0003 01 INCLUSIVE UPPER LIMIT (=<) 0007 01 MISSING VALUE 033043 0004 0001 02 SEA MDS. NADIR ONLY SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED 0002 02 SEA MDS. DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED. 0003 01 NADIR VIEW CONTAINS DAY TIME DATA 0004 01 FORWARD VIEW CONTAINS DAY TIME DATA 033044 0014 0001 01 INPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0002 01 INPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0003 01 NUMBER OF INPUT DATA GAPS > THRESHOLD VALUE 0004 01 PERCENTAGE OF MISSING LINES > THRESHOLD VALUE 0005 02 DOPPLER CENTROID UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VA LUE 0006 02 DOPPLER AMBIGUITY ESTIMATE UNCERTAIN. CONFIDENCE MEASURE < S PECIFIC VALUE 0007 01 OUTPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0008 01 OUTPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0009 01 CHIRP RECONSTRUCTION FAILED OR IS OF LOW QUALITY FLAG 0010 01 DATA SET MISSING 0011 01 INVALID DOWNLINK PARAMETERS 0012 02 AZIMUTH CUT-OFF ITERATION COUNT. THE AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0013 02 AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0014 03 PHASE INFORMATION CONFIDENCE MEASURE. THE IMAGINARY SPECTRAL PEAK IS LESS THAN A MINIMUM THRESHOLD, OR THE ZERO LAG SHIFT IS GREATER THAN A MINIMUM THRESHOLD 033047 0026 0001 01 ERROR DETECTED AND ATTEMPTS TO RECOVER MADE 0002 01 ANOMALY IN ON-BOARD DATA HANDLING (OBDH) VALUE DETECTED 0003 02 ANOMALY IN ULTRA STABLE OSCILLATOR PROCESSING (USOP) VALUE D ETECTED 0004 01 ERRORS DETECTED BY ON-BOARD COMPUTER 0005 01 AUTOMATIC GAIN CONTROL (AGC) OUT OF RANGE 0006 01 RX DELAY FAULT. RX DISTANCE OUT OF RANGE 0007 01 WAVE FORM SAMPLES FAULT IDENTIFIER. ERROR 0012 01 BRIGHTNESS TEMPERATURE (CHANNEL 1) OUT OF RANGE 0013 01 BRIGHTNESS TEMPERATURE (CHANNEL 2) OUT OF RANGE 0014 01 RESERVED 0015 01 KU OCEAN RETRACKING ERROR 0016 01 S OCEAN RETRACKING ERROR 0017 01 KU ICE 1 RETRACKING ERROR 0018 01 S ICE 1 RETRACKING ERROR 0019 01 KU ICE 2 RETRACKING ERROR 0020 01 S ICE 2 RETRACKING ERROR 0021 01 KU SEA ICE RETRACKING ERROR 0022 01 ARITHMETIC FAULT ERROR 0023 01 METEO DATA STATE. NO MAP 0024 01 METEO DATA STATE. 1 MAP 0025 01 METEO DATA STATE 2 MAPS DEGRADED 0026 01 METEO DATA STATE 2 MAPS NOMINAL 0027 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, SEVERAL ERRORS 0028 02 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, WARNING DETECT ED 0029 02 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, SEVERAL ERR ORS 0030 02 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, WARNING DET ECTED 033048 0004 0000 01 INVERSION SUCCESSFUL 0001 01 INVERSION NOT SUCCESSFUL 0002 01 RESERVED 0003 01 MISSING VALUE 033049 0004 0000 01 EXTERNAL WIND DIRECTION USED DURING INVERSION 0001 01 EXTERNAL WIND DIRECTION NOT USED DURING INVERSION 0002 01 RESERVED 0003 01 MISSING VALUE 033050 0008 0000 01 UNQUALIFIED 0001 01 CORRECT VALUE (ALL CHECKS PASSED) 0002 02 PROBABLY GOOD BUT VALUE INCONSISTENT WITH STATISTICS (DIFFER FROM CLIMATOLOGY) 0003 01 PROBABLY BAD (SPIKE, GRADIENT, Â~E IF OTHER TESTS PASSED) 0004 02 BAD VALUE, IMPOSSIBLE VALUE (OUT OF SCALE, VERTICAL INSTABILITY, CONSTANT PROFILE) 0005 01 VALUE MODIFIED DURING QUALITY CONTROL 0008 01 INTERPOLATED VALUE 0015 01 MISSING VALUE 033052 0020 0001 01 DATA BLOCK 1 INVALID (S BAND) 0002 01 DATA BLOCK 2 INVALID (S BAND) 0003 01 DATA BLOCK 3 INVALID (S BAND) 0004 01 DATA BLOCK 4 INVALID (S BAND) 0005 01 DATA BLOCK 5 INVALID (S BAND) 0006 01 DATA BLOCK 6 INVALID (S BAND) 0007 01 DATA BLOCK 7 INVALID (S BAND) 0008 01 DATA BLOCK 8 INVALID (S BAND) 0009 01 DATA BLOCK 9 INVALID (S BAND) 0010 01 DATA BLOCK 10 INVALID (S BAND) 0011 01 DATA BLOCK 11 INVALID (S BAND) 0012 01 DATA BLOCK 12 INVALID (S BAND) 0013 01 DATA BLOCK 13 INVALID (S BAND) 0014 01 DATA BLOCK 14 INVALID (S BAND) 0015 01 DATA BLOCK 15 INVALID (S BAND) 0016 01 DATA BLOCK 16 INVALID (S BAND) 0017 01 DATA BLOCK 17 INVALID (S BAND) 0018 01 DATA BLOCK 18 INVALID (S BAND) 0019 01 DATA BLOCK 19 INVALID (S BAND) 0020 01 DATA BLOCK 20 INVALID (S BAND) 033053 0020 0001 01 DATA BLOCK 1 INVALID (KU BAND) 0002 01 DATA BLOCK 2 INVALID (KU BAND) 0003 01 DATA BLOCK 3 INVALID (KU BAND) 0004 01 DATA BLOCK 4 INVALID (KU BAND) 0005 01 DATA BLOCK 5 INVALID (KU BAND) 0006 01 DATA BLOCK 6 INVALID (KU BAND) 0007 01 DATA BLOCK 7 INVALID (KU BAND) 0008 01 DATA BLOCK 8 INVALID (KU BAND) 0009 01 DATA BLOCK 9 INVALID (KU BAND) 0010 01 DATA BLOCK 10 INVALID (KU BAND) 0011 01 DATA BLOCK 11 INVALID (KU BAND) 0012 01 DATA BLOCK 12 INVALID (KU BAND) 0013 01 DATA BLOCK 13 INVALID (KU BAND) 0014 01 DATA BLOCK 14 INVALID (KU BAND) 0015 01 DATA BLOCK 15 INVALID (KU BAND) 0016 01 DATA BLOCK 16 INVALID (KU BAND) 0017 01 DATA BLOCK 17 INVALID (KU BAND) 0018 01 DATA BLOCK 18 INVALID (KU BAND) 0019 01 DATA BLOCK 19 INVALID (KU BAND) 0020 01 DATA BLOCK 20 INVALID (KU BAND) 033060 0004 0000 01 PARAMETER=GOOD 0001 01 PARAMETER=BAD 0002 01 PARAMETER=RESERVED 0003 01 MISSING 033195 0004 0000 01 DEALIASING NOT USED 0001 01 DEALIASING USED 0002 01 RESERVED 0003 01 MISSING 033205 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033206 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033207 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033208 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033209 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033220 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 REPORT REJECTED THROUGH THE NAMELIST 0017 01 MODEL SUR. TOO FAR FROM STAT. ALT. 0018 01 MISSING STATION ALTITUDE 0019 01 REPORT OVER SEA 0020 01 REPORT OVER LAND 0021 01 REDUNDANT REPORT 0022 01 TIME OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 HORIZONTAL POSITION OUT OF RANGE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 BAD REPORTING PRACTICE 0029 01 ALL DATA REJECTED 0030 01 NO DATA IN THE REPORT 033221 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033222 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033223 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033224 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033225 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033226 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033227 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033228 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033229 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 THINNED REPORT 033230 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033232 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 BLACKLISTED DUE TO DISTANCE FROM REF. POINT 0015 01 BLACKLISTED DUE TO MODEL OROGRAPHY 0016 01 BLACKLISTED DUE TO LAND/SEA MASK 0017 01 STATION ALTITUDE BLACKLISTED 0018 01 LONGITUDE BLACKLISTED 0019 01 LATITUDE BLACKLISTED 0020 01 TIME BLACKLISTED 0021 01 DATE BLACKLISTED 0022 01 INSTRUMENT TYPE BLACKLISTED 0023 01 CODE TYPE BLACKLISTED 0024 01 STATION ID BLACKLISTED 0025 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0026 01 BLACKLISTED DUE TO OBSERVED VALUE 0027 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE NAME BLACKLISTED 0030 01 MONTHLY MONITORING 033233 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 REPORT BLACK LISTED 0028 01 REPORT REJECTED 0029 01 REPORT PASSIVE 0030 01 REPORT ACTIVE 033234 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 DATUM BLACK LISTED 0028 01 DATUM REJECTED 0029 01 DATUM PASSIVE 0030 01 DATUM ACTIVE 033236 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 DATUM REJECTED DUE TO REJECTED REPORT 0006 01 COMBINED FLAGGING 0007 01 DATUM REJECTED DUE TO NAMELIST 0008 01 VERTICAL COORDINATE CHANGE FROM Z TO P 0009 01 VERTICAL CONSISTENCY CHECK 0010 01 LEVEL SELECTION 0011 01 MULTI LEVEL CHECK 0012 01 TOO MANY SURFACE DATA/LEVELS 0013 01 DUPLICATED DATUM/LEVEL 0014 01 NOT AN ANALYSIS VARIABLE 0015 01 REPORT OVER SEA 0016 01 REPORT OVER LAND 0017 01 REDUNDANT LEVEL 0018 01 REDUNDANT DATUM 0019 01 TOO BIG OBSERVATION ERROR 0020 01 TOO BIG DEPARTURE IN ASSIMILATION 0021 01 TOO BIG FIRST GUESS DEPARTURE 0022 01 REFERENCE LEVEL POSITION OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 BAD REPORTING PRACTICE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 MISSING FIRST GUESS VALUE 0029 01 MISSING OBSERVED VALUE 0030 01 MISSING VERTICAL COORDINATE 033237 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033238 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033239 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033240 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033243 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033244 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033245 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 LAYER FORMED BY SUMMING UP 0029 01 LAYER FORMED BY THINNING UP 0030 01 NOT PREDEFINED LAYER 033246 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033247 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033248 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033249 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0025 01 BLACKLISTED DUE TO OBSERVED VALUE 0026 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0027 01 BLACKLISTED DUE TO DISTANCE FROM REFERENCE POINT 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE BLACKLISTED 0030 01 PRESSURE BLACKLISTED 033252 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PA SSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DE LETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FA ILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE -INSERTED 0006 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND N OT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND M ANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033254 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 035000 0011 0011 01 000-099 INTERNATIONAL FM CODES 0001 01 100-199 RA I CODES 0002 01 200-299 RA II CODES 0003 01 300-399 RA III CODES 0004 01 400-499 RA IV CODES 0005 01 500-599 RA V CODES 0006 01 600-699 RA VI CODES 0007 01 700-799 ANTARCTIC CODES 0008 01 800-999 RESERVED 0009 01 1000-1022 NOT USED 1023 01 MISSING VALUE 035001 0004 0000 01 REAL TIME 0001 01 NEAR-REAL TIME 0002 01 NON-REAL TIME 0007 01 MISSING VALUE 035030 0010 0000 01 NO DISCREPANCIES 0001 02 NON-COMPLIANCE WITH STANDARD AND RECOMMENDED PRACTICES AND PROCEDURES INCLUDINGTHOSE OF MONITORING 0002 02 CATALOGUES OF METEOROLOGICAL BULLETINS NOT UPDATED IN A TIME LY MANNER 0003 01 INCORRECT ROUTEING DIRECTORIES 0004 01 LACK OF FLEXIBILITY IN THE ROUTEING ARRANGEMENTS 0005 01 DEFICIENCIES IN THE OPERATION OF GTS CENTRES AND CIRCUITS 0006 01 LOSS OF DATA OR DELAYS IN RELAYING DATA ON THE GTS 0007 02 ROUTEING OF DATA DIFFERENT FROM THE ROUTEING PROVIDED IN THE PLAN 0008 01 VARIOUS MALPRACTICES 0015 01 MISSING VALUE 035031 0020 0001 01 SUFFICIENT AND ALL OF ACCEPTABLE QUALITY 0002 01 SUFFICIENT BUT PARTLY OF ACCEPTABLE QUALITY 0003 01 INSUFFICIENT BUT ALL OF ACCEPTABLE QUALITY 0004 01 INSUFFICIENT AND OF UNACCEPTABLE QUALITY 0005 01 SOME MESSAGES NOT COMPLETE 0006 02 SUSPECT OR WRONGLY CODED GROUPS COULD NOT BE INTERPRETED CON FIDENTLY 0007 01 GROSS CODING ERRORS 0008 01 TRANSMISSION SEQUENTIAL ORDER NOT OBSERVED 0009 01 REPORT COMPLETELY GARBLED AND THUS DISCARDED 0010 01 DEFICIENCIES IDENTIFIED AND RECTIFIED 0011 01 DEFICIENCIES IDENTIFIED BUT NOT RECTIFIED 0012 01 DEFICIENCIES NOT IDENTIFIED 0013 01 MEASURING ERRORS 0014 01 MUTUAL INCONSISTENCY 0015 01 TEMPORAL INCONSISTENCY 0016 01 FORECAST ERROR 0017 01 BIAS 0018 01 IMPROVE SYSTEM OF QUALITY CONTROL 0019 01 EXPAND TRAINING PROGRAMMES 0123 01 MISSING VALUE 035032 0010 0001 01 DATA GROUPS MISSING DUE TO RADIO FADING 0002 01 DATA GROUPS MISSING DUE TO OUTAGE OF CENTRE 0003 01 DATA GROUPS MISSING DUE TO OUTAGE OF CIRCUIT 0004 01 NON-IMPLEMENTATION OR MAINTENANCE OF REQUIRED RBSN DENSITY 0005 01 SHORTAGE OF QUALIFIED STAFF TO MAN STATIONS 0006 01 LACK OF CONSUMABLES 0007 01 INSTRUMENT FAILURE 0008 01 NON-ADHERENCE TO TELECOMMUNICATION PROCEDURES 0009 01 SOME OBSERVING PROGRAMMES CEASED 0015 01 MISSING VALUE 035033 0012 0001 01 NO DEFICIENCY 0002 01 OBSERVATIONS NOT MADE REGULARLY 0003 01 OBSERVATIONS NOT MADE AT RIGHT TIME 0004 01 OBSERVATIONS MADE BUT NOT DISSEMINATED 0005 01 OBSERVATIONS MADE AND SENT TO INCORRECT USERS 0006 01 COLLECTION NOT RECEIVED 0007 01 COLLECTION TRANSMITTED LATE 0008 01 COLLECTION NOT TRANSMITTED 0009 02 DIFFICULTIES IN HF PROPAGATION AND SELECTION OF SUITABLE FRE QUENCY 0010 02 DIFFICULTIES IN MAINTENANCE OF COMMUNICATION EQUIPMENT AT RE MOTE STATIONS 0011 02 NO ALTERNATIVE ARRANGEMENT FOR ROUTEING METEOROLOGICAL OBSER VATION 0123 01 MISSING VALUE 035034 0007 0001 01 SLIGHT IMPROVEMENT 0002 01 SIGNIFICANT IMPROVEMENT 0003 01 MOST SIGNIFICANT IMPROVEMENT 0004 01 STEADY 0005 01 DECREASING 0006 01 EFFORTS REQUIRED TO IMPROVE NIGHT-TIME OBSERVATIONS 0007 01 MISSING VALUE 033035 0016 0000 01 RESERVED 0001 01 BALLOON BURST 0002 01 BALLOON FORCED DOWN BY ICING 0003 01 LEAKING OR FLOATING BALLOON 0004 01 WEAK OR FADING SIGNAL 0005 01 BATTERY FAILURE 0006 01 GROUND EQUIPMENT FAILURE 0007 01 SIGNAL INTERFERENCE 0008 01 RADIOSONDE FAILURE 0009 01 EXCESSIVE MISSING DATA FRAMES 0010 01 RESERVED 0011 01 EXCESSIVE MISSING TEMPERATURE 0012 01 EXCESSIVE MISSING PRESSURE 0013 01 USER TERMINATED 0030 01 OTHER 0031 01 MISSING VALUE 040011 0004 0001 01 MEAN SEA SURFACE (MSS) INTERPOLATION FLAG 0002 02 OCEAN TIDE SOLUTION 1 INTERPOLATION FLAG (0= 4 POINTS OVER O CEAN, 1=LESS THAN 4 POINTS) 0003 02 OCEAN TIDE SOLUTION 2 INTERPOLATION FLAG (0= 4 POINTS OVER O CEAN, 1=LESS THAN 4 POINTS) 0004 02 METEOROLOGICAL DATA INTERPOLATION FLAG (0= 4 POINTS OVER OCE AN, 1=LESS THAN 4 POINTS) 040012 0003 0001 01 18.7 GHZ BRIGHTNESS TEMPERATURE 0002 01 23.8 GHZ BRIGHTNESS TEMPERATURE 0003 01 34 GHZ BRIGHTNESS TEMPERATURE 040013 0005 0000 01 INTERPOLATION WITH NO GAP BETWEEN JMR DATA 0001 01 INTERPOLATION WITH GAP BETWEEN JMR DATA 0002 01 EXTRAOLATION OF JMR DATA 0003 01 FAILURE OF EXTRAPOLATION AND INTERPOLATION 0007 01 MISSING VALUE 049194 0014 0001 01 PASSED QUALITY CONTROL 0002 01 OUTSIDE TIME WINDOW 0003 01 ABOVE LAND 0004 01 OUTSIDE ENTIRE GRID 0005 01 WAVE HEIGHT OUT OF RANGE 0006 01 TOO HIGH ALONG TRACK JUMP 0007 01 TOO SHORT ALONG TRACK JUMP 0008 01 TOO HIGH ALONG TRACK VARIANCE 0009 01 OUTSIDE CONFIDENCE LIMIT 0010 01 DOUBLE OBSERVATION 0011 01 PEAKINESS ABOVE THRESHOLD 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED 049193 0014 0001 01 EXELLENT (COST LESS THAN 0.1) 0002 01 GOOD (COST LESS THAN 0.5) 0003 01 QUESTIONABLE (COST LARGER THAN 0.5) 0004 01 RESULTS UNTABLE 0005 01 OBSERVED SAR SPECTRUM REJECTED 0006 01 WAM FIRST GUESS REJECTED 0007 01 SIMULATED SAR REJECTED 0008 01 NO AZIMUTH CUT-OFF ADJUSTMENT 0009 01 RESERVED 0010 01 RESERVED 0011 01 RESERVED 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED emoslib-000392+dfsg.1/bufrtables/D0000000000098002001.TXT0000755000175000017500000033000212127406245022240 0ustar amckinstryamckinstry 300002 2 000002 000003 300003 3 000010 000011 000012 300004 9 300003 000013 000014 000015 000016 000017 000018 000019 000020 300010 4 300003 101000 031001 000030 301001 2 001001 001002 301002 3 001003 001004 001005 301003 3 001011 001012 001013 301011 3 004001 004002 004003 301012 2 004004 004005 301013 3 004004 004005 004006 301021 2 005001 006001 301022 3 005001 006001 007001 301023 2 005002 006002 301024 3 005002 006002 007001 301025 3 301023 004003 301012 301026 7 301021 004003 004003 004004 004004 004005 004005 301031 5 301001 002001 301011 301012 301022 301032 5 301001 002001 301011 301012 301024 301033 5 001005 002001 301011 301012 301021 301034 5 001005 002001 301011 301012 301023 301035 7 001005 001012 001013 002001 301011 301012 301023 301036 5 301003 002001 301011 301012 301023 301037 6 301001 002011 002012 301011 301012 301022 301038 6 301001 002011 002012 301011 301012 301024 301039 6 301003 002011 002012 301011 301012 301023 301040 6 301003 002011 002012 301011 301012 301024 301041 5 001007 002021 002022 301011 301012 301042 2 301041 301021 301043 5 001007 002023 301011 301013 301021 301044 5 001007 002024 301011 301013 301021 301051 6 001006 002061 301011 301012 301021 008004 301062 3 101000 031001 301001 301194 9 001194 001012 001013 002011 002012 301011 301012 301023 007001 301195 9 001195 001012 001013 002011 002012 301011 301012 301023 007001 301196 7 301003 002011 002012 301011 301012 301023 007001 301197 9 001006 001008 002061 002062 002002 002005 002070 002063 002001 301200 2 001032 033194 301201 2 101003 033193 301202 2 001031 001032 301237 12 001007 001012 002021 301011 004004 004005 201138 202131 004006 201000 202000 301023 301238 14 002104 002121 002113 002026 002027 002111 002192 202127 001013 202126 007001 202000 025010 021194 301239 5 002111 002112 021192 021193 021195 301240 5 201131 202129 022021 201000 202000 301241 5 201141 202130 007001 201000 202000 301242 6 021207 021208 021209 021210 021211 021212 302001 4 010004 010051 010061 010063 302002 5 010004 007004 010003 010061 010063 302003 9 011011 011012 012004 012006 013003 020001 020003 020004 020005 302004 7 020010 008002 020011 020013 020012 020012 020012 302005 4 008002 020011 020012 020013 302011 3 302001 302003 302004 302012 3 302002 302003 302004 302021 3 022001 022011 022021 302022 3 022002 022012 022022 302023 3 022003 022013 022023 302024 3 302022 101002 302023 302205 5 201131 202129 022021 201000 202000 302206 9 302205 201130 202129 022011 201000 202000 022001 011001 011002 302207 5 022193 022194 022195 022196 022197 303001 3 007003 011001 011002 303002 3 007004 011001 011002 303003 4 007004 010003 012001 012003 303004 6 007004 010003 012001 012003 011001 011002 303011 4 007003 008001 011001 011002 303012 4 007004 008001 011001 011002 303013 7 007004 008001 010003 012001 013003 011001 011002 303014 7 007004 008001 010003 012001 012003 011001 011002 303021 4 007004 007004 204007 031021 303022 3 303021 010003 204000 303023 3 303021 012001 204000 303024 3 303021 013016 204000 303025 5 002025 204007 031021 012063 204000 303026 6 007004 008003 204007 031021 012001 204000 303027 5 007004 204007 031021 010003 204000 303031 6 007004 008003 007021 007022 008012 012061 303032 2 020011 020016 304001 5 008003 010004 012001 011001 011002 304002 4 008003 010004 011001 011002 304003 2 008003 012001 304004 4 008003 010004 020010 012001 304005 4 002024 007004 007004 013003 304006 3 014001 014001 014003 304228 3 005217 006217 007217 304229 3 001208 001209 001210 306001 5 002032 102000 031001 007062 022042 306002 3 002031 022004 022031 306003 4 002002 011011 011012 012004 306004 7 002032 002033 103000 031001 007062 022043 022062 306005 6 002031 103000 031001 007062 022004 022031 306006 3 306003 306002 022063 306007 6 001012 001014 306008 004024 027003 028003 306008 3 002034 002035 002036 307001 2 301031 302011 307002 2 301032 302011 307003 4 307001 101000 031001 302005 307004 4 307002 101000 031001 302005 307005 3 307001 101004 302005 307006 3 307002 101004 302005 307007 2 301031 302012 307008 2 301032 302012 308001 3 301033 302011 022042 308002 3 301034 302011 022042 308003 3 301035 302011 022042 308004 3 301036 302011 022042 308005 2 308004 302024 308006 8 010004 010061 010063 011001 011002 012004 013003 022042 309001 4 301037 101000 031001 303011 309002 4 301038 101000 031001 303011 309003 4 301037 101000 031001 303012 309004 4 301038 101000 031001 303012 309005 5 301037 302004 101000 031001 303013 309006 5 301038 302004 101000 031001 303013 309007 5 301037 302004 101000 031001 303014 309008 5 301038 302004 101000 031001 303014 309011 4 301039 101000 031001 303011 309012 4 301039 101000 031001 303012 309013 5 301039 302004 101000 031001 303013 309014 5 301039 302004 101000 031001 303014 309015 4 301040 101000 031001 303011 309016 4 301040 101000 031001 303012 309017 5 301040 302004 101000 031001 303013 309018 5 301031 302004 101000 031001 303014 309019 5 301031 002003 101000 031001 303011 309020 8 301031 002003 104000 031001 007003 011003 011004 011005 309194 5 301194 302004 101000 031001 303014 309195 5 301195 302004 101000 031001 303014 309196 5 301196 302004 101000 031001 303014 310001 5 301042 303031 303032 101026 303025 310002 5 301042 303031 303032 101009 303023 310003 5 301042 303031 303032 101006 303023 310004 5 301042 303031 303032 101003 303024 311001 9 301051 007002 012001 011001 011002 011031 011032 011033 020041 311193 16 301197 301011 301012 301023 008004 007004 008021 011001 011002 011031 011034 011035 012001 012003 013003 020041 312001 2 301043 304001 312002 2 301043 304002 312003 2 301042 304003 312004 2 301042 304004 312005 2 301042 020014 312006 2 301044 304005 312007 2 301042 304006 312010 6 001007 005040 002021 005041 004001 004043 312011 9 202131 201149 004006 201000 202126 010002 202000 005043 005053 312012 6 202129 201132 101019 012063 201000 202000 312013 6 005033 202129 201135 012063 201000 202000 312014 8 312010 312011 105056 301023 005042 005052 312012 312013 312015 10 109011 301023 005042 005052 202129 201132 101004 012063 202000 201000 312016 3 312010 312011 312015 312017 10 109008 301023 005042 005052 202129 201132 101003 012063 202000 201000 312018 3 312010 312011 312017 312200 10 301237 301238 029002 021206 104012 006232 102012 005232 021205 021196 312201 6 301237 101003 301239 011012 011011 021197 312202 13 301237 008022 011012 011050 301240 022243 301241 010050 021198 021201 021202 021203 301242 312203 8 301237 008022 012061 022050 021204 021199 021214 021215 312204 12 312201 001031 011012 011011 021200 021213 004004 008021 004024 055003 011012 011011 312207 3 312202 301202 033191 312208 17 301202 008022 008021 301011 301013 301023 302205 011002 001007 002021 301011 301013 301023 001032 001192 302205 011002 312209 11 301202 001192 301011 301013 301023 302206 104000 022192 102000 005232 022191 312210 13 312202 021192 015202 301011 004004 004005 201138 202131 004006 201000 202000 304228 304229 313009 4 021001 101000 031001 021001 313010 4 021036 101000 031001 021036 313031 5 006002 006012 101000 031002 030001 313032 5 005002 005012 101000 031002 313031 313041 10 006002 006012 106000 031001 101000 031011 030001 101000 031001 030001 313042 5 005002 005012 101000 031002 313041 315001 5 001011 301011 301012 301023 306001 315002 5 001011 301011 301012 301023 306004 316001 10 301011 004004 301023 001021 002041 019001 010051 019002 019003 019004 318001 2 301025 024011 318003 4 301026 024005 024004 024021 318004 6 301025 004023 013011 024005 024004 024022 321001 6 002101 002114 002105 002106 002107 002121 321003 4 021051 021014 021017 025030 321004 5 301031 002003 101000 031001 321003 321005 12 025004 002121 002122 002123 002124 002125 002126 002127 002128 002129 002130 002131 321006 4 025001 025002 025003 025005 321007 8 025009 025010 025011 025012 025013 025015 025016 025017 321008 3 025006 025007 025008 321009 2 025018 025019 321010 13 002101 007002 002102 002103 002104 002105 002106 002107 002108 002109 002110 002132 002133 321011 3 030031 030032 029002 321012 3 101000 031001 002135 emoslib-000392+dfsg.1/bufrtables/B0000000000098000000.TXT0000755000175000017500000015416612127406245022252 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 000005 BUFR EDITION NUMBER CCITTIA5 0 0 24 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 000015 UNITS NAME CCITTIA5 0 0 192 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 000017 UNITS SCALE CCITTIA5 0 0 24 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 40 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 001002 WMO STATION NUMBER NUMERIC 0 0 10 001003 WMO REGION NUMBER NUMERIC 0 0 3 001004 WMO REGION SUB-AREA NUMERIC 0 0 3 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 001006 AIRCRAFT IDENTIFIER CCITTIA5 0 0 64 001007 SATELLITE IDENTIFIER CODE TABLE 001007 0 0 10 001008 AIRCRAFT REGISTRATION NUMBER CCITTIA5 0 0 64 001011 SHIP'S CALL SIGN CCITTIA5 0 0 72 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM DEGREE TRUE 0 0 9 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM M/S 0 0 10 001014 PLATFORM DRIFT SPEED(HIGH PRECISION M/S 2 0 10 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 001031 GENERATING CENTRE CODE TABLE 001031 0 0 16 001032 GENERATING APPLICATION CODE TABLE 001032 0 0 8 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 001192 MODEL VERSION NUMBER CODE TABLE 001192 0 0 8 001193 SIGMA_0 SIMULATION METHOD CODE TABLE 001193 0 0 4 001194 CARRIER BALLOON/AIRCRAFT IDENTIFIER CCITTIA5 0 0 72 001195 MOBIL LAND STATION IDENTIFIER CCITTIA5 0 0 72 001201 GENERATING APPLICATION CODE TABLE 001201 0 0 8 001208 VELOCITY OF PLATFORM, X M/S 5 -1073741824 31 001209 VELOCITY OF PLATFORM, Y M/S 5 -1073741824 31 001210 VELOCITY OF PLATFORM, Z M/S 5 -1073741824 31 002001 TYPE OF STATION CODE TABLE 002001 0 0 2 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 002002 0 0 4 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 002003 0 0 4 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUEMENT OR TYPE OF CR CODE TABLE 002004 0 0 4 002005 PRECISION OF TEMTERATURE OBS. K 2 0 7 002011 RADIOSONDE TYPE CODE TABLE 002011 0 0 8 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 002012 0 0 4 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 002013 0 0 4 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM CODE TABLE 002014 0 0 7 002015 RADIOSONDE COMPLETNESS CODE TABLE 002015 0 0 4 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 002021 0 0 9 002022 SATELLITE DATA PROCESSING TECHNIQUE USED FLAG TABLE 002022 0 0 8 002023 CLOUD MOTION COMPUTATIONAL METHOD CODE TABLE 002023 0 0 4 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 002024 0 0 4 002025 SATELLITE CHANNEL FLAG TABLE 002025 0 0 25 002026 CROSS TRACK RESOLUTION M 2 0 12 002027 ALONG TRACK RESOLUTION M 2 0 12 002031 METHOD OF CURRENT MEASUREMENT CODE TABLE 002031 0 0 5 002032 INDICATOR FOR DIGITIZATION CODE TABLE 002032 0 0 2 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 002033 0 0 3 002034 DROGUE TYPE CODE TABLE 002034 0 0 5 002035 CABLE LENGTH M 0 0 9 002036 BUOY TYPE CODE TABLE 002036 0 0 2 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 002041 0 0 6 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 002061 0 0 3 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 002062 0 0 4 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 002070 0 0 4 002101 TYPE OF ANTENNA CODE TABLE 002101 0 0 4 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 002103 RADOME FLAG TABLE 002103 0 0 2 002104 ANTENNA POLARISATION CODE TABLE 002104 0 0 4 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 002106 3-dB BEAMWIDTH DEGREE 1 0 6 002107 SIDELOBE SUPPRESION dB 0 0 6 002108 CROSSPOL DISCRIMINATION(ON AXIS) dB 0 0 6 002109 ANTENNA SPEED(AZIMUTH) DEGREE/S 2 0 12 002110 ANTENNA SPEED(ELEVATION) DEGREE/S 2 0 12 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 002112 RADAR TARGET AZIMUTH ANGLE DEGREE 1 0 12 002113 NO. OF AZIMUTH LOOKS NUMERIC 0 0 4 002114 ANTENNA EFFECTIVE SRFACE AREA M**2 0 0 15 002121 MEAN FREQUENCY Hz -8 0 7 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 002123 PEAK POWER W -4 0 7 002124 AVERAGE POWER W -1 0 7 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 002126 PULSE WIDTH S 7 0 6 002127 RECEIVER INTERMEDIATEFREQUENCY (IF) Hz -6 0 7 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 002129 MINIMUM DETECTABLE SIGNAL(MDS) dB 0 -150 5 002130 DYNAMIC RANGE dB 0 0 7 002131 SENSITIVITY TIME CONTROL(STC) FLAG TABLE 002131 0 0 2 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 002192 SAR AZIMUTH ANGLE DEGREE 0 0 9 004001 YEAR YEAR 0 0 12 004002 MONTH MONTH 0 0 4 004003 DAY DAY 0 0 6 004004 HOUR HOUR 0 0 5 004005 MINUTE MINUTE 0 0 6 004006 SECOND SECOND 0 0 6 004011 TIME INCREMENT YEARS 0 -1024 11 004012 TIME INCREMENT MONTHS 0 -1024 11 004013 TIME INCREMENT DAYS 0 -1024 11 004014 TIME INCREMENT HOURS 0 -1024 11 004015 TIME INCREMENT MINUTES 0 -2048 12 004016 TIME INCREMENT SECONDS 0 -4096 13 004021 TIME PERIOD OR DISPLACEMENT YEARS 0 -1024 11 004022 TIME PERIOD OR DISPLACEMENT MONTHS 0 -1024 11 004023 TIME PERIOD OR DISPLACEMENT DAYS 0 -1024 11 004024 TIME PERIOD OR DISPLACEMENT HOURS 0 -1024 11 004025 TIME PERIOD OR DISPLACEMENT MINUTES 0 -2048 12 004026 TIME PERIOD OR DISPLACEMENT SECONDS 0 -4096 13 004043 DAY OF THE YEAR DAY 0 0 9 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 005031 ROW NUMBER NUMERIC 0 0 12 005033 PIXEL SIZE ON HORIZONTAL-1 M -1 0 16 005040 ORBIT NUMBER NUMERIC 0 0 24 005041 SCAN LINE NUMBER NUMERIC 0 0 8 005042 CHANNEL NUMBER NUMERIC 0 0 6 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 005232 DIRECTION (SPECTRAL) DEGREE 0 0 12 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 006021 DISTANCE M -1 0 13 006031 COLUMN NUMBER NUMERIC 0 0 12 006033 PIXEL SIZE ON HORIZONTAL-2 M -1 0 16 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 007001 HEIGHT OF STATION M 0 -400 15 007002 HEIGHT OR ALTITUDE M -1 -40 16 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 007004 PRESSURE PA -1 0 14 007005 HEIGHT INCREMENT M 0 -400 12 007006 HEIGHT ABOVE STATION M 0 0 15 007021 ELEVATION DEGREE 2 -9000 15 007022 SOLAR ELEVATION DEGREE 2 -9000 15 007061 DEPTH BELOW LAND SURFACE M 2 0 14 007062 DEPTH BELOW SEA SURFACE M 1 0 17 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 008001 0 0 7 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 008002 0 0 6 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 008003 0 0 6 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 008004 0 0 3 008011 HORIZONTAL SIGNIFICANCE CODE TABLE 008011 0 0 6 008012 LAND/SEA QUALIFIER CODE TABLE 008012 0 0 2 008021 TIME SIGNIFICANCE CODE TABLE 008021 0 0 5 008022 TOTAL NUMBER(WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 008023 FIRST ORDER STATISTICS CODE TABLE 008023 0 0 6 008024 DIFFERENCE STATISTICS CODE TABLE 008024 0 0 6 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 008222 GENERATOR SIGNIFICANCE CODE TABLE 008222 0 0 4 010001 HEIGHT OF LAND SURFACE M 0 -400 15 010002 HEIGHT M -1 -40 16 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 010004 PRESSURE PA -1 0 14 010050 STD.DEV. ALTITUDE M 2 0 16 010051 PRESSURE REDUCED TO MSL PA -1 0 14 010052 ALTIMETER SETTING (QNH) PA -1 0 14 010060 PRESSURE CHANGE PA -1 -1024 11 010061 3 HOUR PRESSURE CHANGE PA -1 -500 10 010062 24 HOUR PRESSURE CHANGE PA -1 -500 10 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 010063 0 0 4 010195 HEIGHT(HIGH ACCURACY) M 1 -4096 20 011001 WIND DIRECTION DEGREE TRUE 0 0 9 011002 WIND SPEED M/S 1 0 12 011003 U-COMPONENT M/S 1 -4096 13 011004 V-COMPONENT M/S 1 -4096 13 011005 W-COMPONENT PA/S 1 -512 10 011006 W-COMPONENT M/S 2 -4096 13 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 011012 WIND SPEED AT 10 M M/S 1 0 12 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 011014 WIND SPEED AT 5 M M/S 1 0 12 011021 RELATIVE VORTICITY 1/S 9 -65536 17 011022 DIVERGENCE 1/S 9 -65536 17 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 011031 DEGREE OF TURBULENCE CODE TABLE 011031 0 0 4 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 011035 VERTICAL GUST ACCELERATION M/S 2 -8192 14 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST M/S 1 0 10 011041 MAXIMUM WIND SPEED (GUSTS) M/S 1 0 12 011042 MAXIMUM WIND SPEED (10 MIN MEAN WIND) M/S 1 0 12 011050 STD.DEV. WIND SPEED M/S 1 0 12 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 011192 U - COMPONENT AT 10 M M/S 1 -4096 13 011193 V - COMPONENT AT 10 M M/S 1 -4096 13 011194 W - COMPONENT AT 10 M M/S 1 -4096 13 012001 TEMPERATURE/DRY BULB TEMPERATURE K 1 0 12 012002 WET BULB TEMPERATURE K 1 0 12 012003 DEW POINT TEMPERATURE K 1 0 12 012004 DRY BULB TEMPERATURE AT 2M K 1 0 12 012005 WET BULB TEMPERATURE AT 2M K 1 0 12 012006 DEW POINT TEMPERATURE AT 2M K 1 0 12 012007 VIRTUAL TEMPERATURE K 1 0 12 012011 MAXIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 012012 MINIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 012013 GROUND MINIMUM TEMPERATURE PAST 12 HOURS K 1 0 12 012014 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 1 0 12 012015 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 1 0 12 012016 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 1 0 12 012017 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 1 0 12 012030 SOIL TEMPERATURE K 1 0 12 012061 SKIN TEMPERATURE K 1 0 12 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 012063 BRIGHTNESS TEMPERATURE K 1 0 12 013001 SPECIFIC HUMIDITY G/G 5 0 14 013002 MIXING RATIO G/G 5 0 14 013003 RELATIVE HUMIDITY % 0 0 7 013004 VAPOUR PRESSURE PA -1 0 10 013005 VAPOUR DENSITY G/M**3 0 0 7 013006 MIXING HEIGHT M -1 -40 16 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT M 4 -1 14 013012 DEPTH OF FRESH SNOW M 2 0 12 013013 TOTAL SNOW DEPTH M 2 0 16 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGE RATE) M/S 7 0 12 013015 SNOWFALL (AVERAGE RATE) M/S 1 0 10 013016 PRECIPITABLE WATER M 3 0 7 013019 TOTAL PRECIPITATION PAST 1 HOUR M 4 -1 14 013020 TOTAL PRECIPITATION PAST 3 HOURS M 4 -1 14 013021 TOTAL PRECIPITATION PAST 6 HOURS M 4 -1 14 013022 TOTAL PRECIPITATION PAST 12 HOURS M 4 -1 14 013023 TOTAL PRECIPITATION PAST 24 HOURS M 4 -1 14 013031 EVAPOTRANSPIRATION M 3 0 7 013032 EVAPORATION/EVAPOTRANSPIRATION M 4 0 8 013041 PASQUILL-GILLFORD STABILITY CATEGORY CODE TABLE 013041 0 0 4 013192 RELATIVE HUMUDITY AT 2 M % 0 0 8 013193 RELATIVE HUMIDITY % 0 0 8 014001 LONG WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014002 LONG WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014003 SHORT WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014004 SHORT WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014011 NET LONG WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014012 NET LONG WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014013 NET SHORT WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014014 NET SHORT WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014015 NET RADIATION INTEGRATED OVER 24HOURS J/M**2 -4 -16384 15 014016 NET RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 014017 INSTANTANEOUS LONG-WAVE RADIATION J/M**2 -3 -2048 12 014018 INSTANTANEOUS SHORT-WAVE RADIATION J/M**2 -3 -2048 12 014020 GLOBAL SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014021 GLOBAL RADIATION INTEGRATED OVERPERIOD SPECIFIED J/M**2 -4 0 15 014022 DIFFUSE SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014023 DIFFUSE SOLAR RADIATION INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 014024 DIRECT SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014025 DIRECT SOLAR RADIATION INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 014031 TOTAL SUNSHINE MINUTES 0 0 6 014032 TOTAL SUNSHINE HOURS 0 0 10 015001 OZON DOBSON 0 0 10 015202 INTEGRATED ELECTRON DENSITY LOG/M**2 3 13000 12 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 019001 0 0 6 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 019003 WIND SPEED THRESHOLD M/S 0 0 8 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 020001 HORIZONTAL VISIBILITY M -1 0 13 020002 VERTICAL VISIBILITY M -1 0 7 020003 PRESENT WEATHER CODE TABLE 020003 0 0 8 020004 PAST WEATHER (1) CODE TABLE 020004 0 0 4 020005 PAST WEATHER (2) CODE TABLE 020005 0 0 4 020010 CLOUD COVER (TOTAL) % 0 0 7 020011 CLOUD AMOUNT CODE TABLE 020011 0 0 4 020012 CLOUD TYPE CODE TABLE 020012 0 0 6 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 020016 PRESSURE AT THE TOP OF CLOUD PA -1 0 14 020017 CLOUD TOP DESCRIPTION CODE TABLE 020017 0 0 4 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 020032 RATE OF ICE ACCRETION CODE TABLE 020032 0 0 3 020033 CAUSE OF ICE ACCRETION FLAG TABLE 020033 0 0 4 020034 SEA ICE CONCETRATION CODE TABLE 020034 0 0 5 020035 AMOUNT AND TYPE OF ICE CODE TABLE 020035 0 0 4 020036 ICE SITUATION CODE TABLE 020036 0 0 5 020037 ICE DEVELOPMENT CODE TABLE 020037 0 0 5 020038 BEARING OF THE ICE EDGE DEGREE TRUE 1 0 12 020039 ICE DISTANCE M -1 0 13 020041 AIRFRAME ICING CODE TABLE 020041 0 0 4 020051 AMOUNT OF LOW CLOUDS % 0 0 7 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 020062 STATE OF GROUND (WITH OR WITHOUT SNOW) CODE TABLE 020062 0 0 5 020063 SPECIAL PHENOMENA CODE TABLE 020063 0 0 10 020192 SPECIAL PHENOMENA CODE TABLE 020192 0 0 14 021001 HORIZONTAL REFLECTIVITY(ZH) dB 0 -64 7 021002 VERTICAL REFLECTIVITY(ZV) dB 0 -64 7 021003 DIFFERENTIAL REFLECTIVITY(ZDR) dB 1 -5 7 021005 LINEAR DEPOLARISATION RATIO(LDR) dB 0 -65 6 021006 CIRCULAR DEPOLARIZATION RATIO(CDR) dB 0 -65 6 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION(VX) M/S 0 -128 8 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION(VY) M/S 0 -128 8 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION(VZ) M/S 0 -128 8 021014 DOPPLER MEAN VELOCITY RADIAL M/S 1 -4096 13 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 -4096 8 021021 ECHO TOPS M -3 0 4 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT(VIL) KG/M**2 0 0 7 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 021041 BRIGHT-BAND HEIGHT M -2 0 8 021051 SIGNAL POWER ABOVE ONE MW dB 0 -256 8 021192 RADAR BACK SCATTER dB 2 -5000 13 021193 NOISE FIGURE % 0 0 7 021194 BACKGROUND NOISE LEVEL NUMERIC 0 0 8 021195 MISSING PACKET COUNTER NUMERIC 0 -127 8 021196 UWA PRODUCT CONFIDENCE FLAG TABLE 021196 0 0 12 021197 UWI PRODUCT CONFIDENCE FLAG TABLE 021197 0 0 12 021198 URA PRODUCT CONFIDENCE FLAG TABLE 021198 0 0 8 021199 UAT PRODUCT CONFIDENCE FLAG TABLE 021199 0 0 7 021200 MWI PRODUCT CONFIDENCE FLAG TABLE 021200 0 0 15 021201 PEAKINESS NUMERIC 0 0 16 021202 ALTIMETER CALIBRATION STATUS FLAG TABLE 021202 0 0 4 021203 ALTIMETER INSTRUMENT MODE FLAG TABLE 021203 0 0 9 021204 MULTI/SINGLE VIEW DIFFERENCE K 2 -512 10 021205 SPECTRAL INTENSITY NUMERIC 0 0 8 021206 REPRESENTATION OF INTENSITY CODE TABLE 021206 0 0 3 021207 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 021208 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 021209 LTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 021210 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 021211 OPEN LOOP CORRECTION (HTL) M 3 0 10 021212 OPEN LOOP CORRECTION (AGC) dB 3 -3000 14 021213 AMBIGUITY REMOVAL CONFIDENCE % 0 0 7 021214 UAT QUALITY SUMMARY CODE TABLE 021214 0 0 3 021215 UAT ACROSS-TRACK BAND NO. NUMERIC 0 0 4 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 12 022011 PERIOD OF WAVES S 0 0 6 022012 PERIOD OF WIND WAVES S 0 0 6 022013 PERIOD OF SWELL WAVES S 0 0 6 022021 HEIGHT OF WAVES M 1 0 10 022022 HEIGHT OF WIND WAVES M 1 0 10 022023 HEIGHT OF SWELL WAVES M 1 0 10 022031 SPEED OF CURRENT M/S 2 0 13 022042 SEA TEMPERATURE K 1 0 12 022043 SEA TEMPERATURE K 2 0 15 022044 SOUND VELOCITY M/S 1 0 14 022050 STANDARD DEVIATION SEA SURFACE TEMPERATURE K 2 0 8 022061 STATE OF SEA CODE TABLE 022061 0 0 4 022062 SALINITY %. 3 0 14 022063 TOTAL WATER DEPTH M 0 0 14 022243 STANDARD DEVIATION SIGNIFICANT WAVE HEIGHT M 2 0 10 023001 ACCIDENT EARLEY NOTIFICATION-ARTICLE APPLICABLE CODE TABLE 023001 0 0 3 023002 ACTIVITY OR FACILITY INVOLVED ININCIDENT CODE TABLE 023002 0 0 5 023003 TYPE OF RELEASE CODE TABLE 023003 0 0 3 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 023004 0 0 3 023005 COUSE OF INCIDENT CODE TABLE 023005 0 0 2 023006 INCIDENT SITUATION CODE TABLE 023006 0 0 3 023007 CHARACTERISTIC OF RELEASE CODE TABLE 023007 0 0 3 023008 STATE OF CURRENT RELEASE CODE TABLE 023008 0 0 2 023009 STATE OF EXPECTED RELEASE CODE TABLE 023009 0 0 2 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEATH EFFECT CODE TABLE 023016 0 0 2 023017 FLOW DISCHARGE OF MAJOR RECEPIENT M**3/S 6 0 20 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 023018 0 0 3 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 023024 MAIN TRANSPORT SPEED WATER M/S 2 0 13 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 023031 0 0 2 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 023032 0 0 2 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 024003 COMPOSITION OF RELEASE CODE TABLE 024003 0 0 5 024004 ELEMENT NAME CCITTIA5 0 0 16 024005 ISOTOPE MASS NUMERIC 0 0 9 024011 DOSE mSv 2 0 32 024012 TRAJECTORY DOSE IN AIR ALONG THEMAIN TRANSPORT PATH(DEFINED LOCA mSv 2 0 32 024013 GAMMA DOSE IN AIR ALONG THE MAINTRANSPORT PATH(DEFINED LOCATION mSv 2 0 32 024021 AIR CONCENTRATION(OF NAMED ISOTOP TYPE INCLUDING GROSS BETA Bq/M**3 2 0 32 024022 CONCENTRATION IN PRECIPITATION ( OF NAMED ISOTOP TYPE) Bq/L 2 0 32 025001 RANGE-GATE LENGTH M -1 0 6 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 025004 ECHO PROCESSING CODE TABLE 025004 0 1 2 025005 ECHO INTEGRATION CODE TABLE 025005 0 0 2 025006 Z TO R CONVERSION CODE TABLE 025006 0 0 3 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 025009 CALIBRATION METHOD FLAG TABLE 025009 0 0 4 025010 CLUTTER TREATMENT CODE TABLE 025010 0 0 4 025011 GROUND ACCULTATION CORRECTION(SCREENING) CODE TABLE 025011 0 0 2 025012 RANGE ATTENUATION CORRECTION CODE TABLE 025012 0 0 2 025013 BRIGHT-BAND CORRECTION FLAG TABLE 025013 0 0 2 025014 AZIMUTH CLUTTER CUT-OFF NUMERIC 025014 0 0 12 025015 RADOM ATTENUATION CORRECTION FLAG TABLE 025015 0 0 2 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 025017 0 0 2 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 025020 MEAN SPEED ESTIMATION CODE TABLE 025020 0 0 2 025021 WIND COMPUTATION EHANCEMENT FLAG TABLE 025021 0 0 8 025030 SIGNAL TO NOISE RATIO dB 0 -32 8 027001 LATITUDE(HIGH ACCURACY) DEGREE 5 -9000000 25 027002 LATITUDE(COARSE ACCURACY) DEGREE 2 -9000 15 027003 ALTERNATE LATITUDE DEGREE 2 -9000 15 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 028001 LONGITUDE(HIGH ACCURACY) DEGREE 5 -18000000 26 028002 LONGITUDE(COARSE ACCURACY) DEGREE 2 -18000 16 028003 ALTERNATE LONGITUDE DEGREE 2 -18000 16 029001 PROJECTION TYPE CODE TABLE 029001 0 0 3 029002 COORDINATE GRID TYPE CODE TABLE 029002 0 0 3 030001 PIXEL VALUE(4 BITS) NUMERIC 0 0 4 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 030031 PICTURE TYPE CODE TABLE 030031 0 0 4 030032 COMBINATION WITH OTHER DATA FLAG TABLE 030032 0 0 16 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 031021 0 0 6 031031 DATA PRESENT INDICATOR FLAG TABLE 031031 0 0 1 031192 DATA PRESENT INDICATOR NUMERIC 0 0 1 033001 QUALITY INFORMATION AS A 1 BIT FLAG FLAG TABLE 033001 0 0 1 033002 QUALITY INFORMATION AS A 2 BIT F FLAG TABLE 033002 0 0 2 033003 QUALITY INFORMATION AS A 3 BIT F FLAG TABLE 033003 0 0 3 033004 QUALITY INFORMATION AS A 4 BIT F FLAG TABLE 033004 0 0 4 033007 % CONFIDENCE % 0 0 7 033191 ECMWF WAM QC INDICATOR CODE TABLE 033191 0 0 2 033193 DATA QUALITY 3 BIT CODE CODE TABLE 033193 0 0 3 033194 DATA QUALITY 2 BIT CODE CODE TABLE 033194 0 0 2 033200 ANALYSIS REPORT EVENTS FLAG TABLE 033200 0 0 31 033201 ANALYSIS REPORT STATUS FLAGS FLAG TABLE 033201 0 0 13 033202 ANALYSIS DATUM EVENT FLAGS (1) FLAG TABLE 033202 0 0 31 033203 ANALYSIS DATUM EVENT FLAGS (2) FLAG TABLE 033203 0 0 11 033204 ANALYSIS DATUM STATUS FLAGS FLAG TABLE 033204 0 0 21 033210 INCREMENTAL VARIATIONAL ANALYSISUPDATE NUMBER NUMERIC 0 0 7 033211 MINIMISATION SIMULATION NUMBER NUMERIC 0 0 10 033212 1D VAR ITERRATION NUMBER NUMERIC 0 0 10 033213 1D VAR RADIANCE COST NUMERIC 1 -1000 11 033214 1D VAR ERROR(S) FLAG TABLE 033214 0 0 11 033231 PRESAT SUMMARY FLAGS FLAG TABLE 033231 0 0 6 062190 STATISTICS APPLICATION CODE TABLE 062190 0 0 8 062191 TYPE OF STATISTICS CODE TABLE 062191 0 0 8 063190 APPLICATION DERIVING SUBSTITUTE OR ALTERNATIVE VALUE CODE TABLE 063190 0 0 8 063191 Q/C APPLICATION CODE TABLE 063191 0 0 8 063192 % CONFIDENCE % 0 0 7 emoslib-000392+dfsg.1/bufrtables/Makefile.in0000755000175000017500000000451412127406245021663 0ustar amckinstryamckinstry# # Makefile for bufrtables # R64 = reals ARCH = arch CNAME = comp LIB = depl A64 = plat # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # SOURCES.F= LINKS= B0000000000099010001.TXT \ D0000000000098011000.TXT \ D0000000000078011007.TXT \ B0000000000098011000.TXT \ B0000000000098010000.TXT \ B0000000000089011255.TXT \ B0000000000078011007.TXT \ D0000000000099010001.TXT \ D0000000000089012001.TXT \ D0000000000078011008.TXT \ D0000000000034011001.TXT \ B0000000000089012001.TXT \ B0000000000078011008.TXT \ B0000000000034011001.TXT \ B0000000000254010001.TXT \ D0000000000254010001.TXT \ B0000000000000007000.TXT \ D0000000000000007000.TXT \ B0000000000000008000.TXT \ D0000000000000008000.TXT \ B0000000000000009000.TXT \ D0000000000000009000.TXT \ B0000000000000010000.TXT \ D0000000000000010000.TXT \ B0000000000000011000.TXT \ D0000000000000011000.TXT \ B0000000000000012000.TXT \ D0000000000000012000.TXT \ B0000000000098007001.TXT \ D0000000000098007001.TXT \ B0000000000098008001.TXT \ D0000000000098008001.TXT \ B0000000000098009001.TXT \ D0000000000098009001.TXT \ B0000000000098010001.TXT \ D0000000000098010001.TXT \ B0000000000098011001.TXT \ D0000000000098011001.TXT \ B0000000000098012001.TXT \ D0000000000098012001.TXT # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.c) # # all: links bufr2txt_tables bufr_split_tables txt2bufr_tables links: ./links.sh bufr2txt_tables: bufr2txt_tables.f $(FC) $(FFLAGS) -o bufr2txt_tables bufr2txt_tables.f $(LIBRARY) bufr_split_tables: bufr_split_tables.f $(FC) $(FFLAGS) -o bufr_split_tables bufr_split_tables.f $(LIBRARY) txt2bufr_tables: txt2bufr_tables.f $(FC) $(FFLAGS) -o txt2bufr_tables txt2bufr_tables.f $(LIBRARY) clean: \rm -f $(LINKS) *.o \rm -f bufr2txt_tables; \rm -f bufr_split_tables; \rm -f txt2bufr_tables emoslib-000392+dfsg.1/bufrtables/B0000000000098002001.TXT0000755000175000017500000023117012127406245022244 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 000005 BUFR EDITION NUMBER CCITTIA5 0 0 24 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 000015 UNITS NAME CCITTIA5 0 0 192 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 000017 UNITS SCALE CCITTIA5 0 0 24 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 48 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 001002 WMO STATION NUMBER NUMERIC 0 0 10 001003 WMO REGION NUMBER/GEOGRAPHICAL AREA NUMERIC 0 0 3 001004 WMO REGION SUB-AREA NUMERIC 0 0 3 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 001006 AIRCRAFT IDENTIFIER CCITTIA5 0 0 64 001007 SATELLITE IDENTIFIER CODE TABLE 1007 0 0 10 001008 AIRCRAFT REGISTRATION NUMBER CCITTIA5 0 0 64 001011 SHIP'S CALL SIGN CCITTIA5 0 0 72 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM DEGREE TRUE 0 0 9 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM M/S 0 0 10 001014 PLATFORM DRIFT SPEED(HIGH PRECISION M/S 2 0 10 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 001022 VULCANO NAME CCITTIA5 0 0 160 001025 STORM IDENTIFIER CCITTIA5 0 0 24 001026 WMO STORM NAME CCITTIA5 0 0 64 001031 GENERATING CENTRE CODE TABLE 1031 0 0 16 001032 GENERATING APPLICATION CODE TABLE 1032 0 0 8 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 001192 MODEL VERSION NUMBER CODE TABLE 1192 0 0 8 001193 SIGMA_0 SIMULATION METHOD CODE TABLE 1193 0 0 4 001194 CARRIER BALLOON/AIRCRAFT IDENTIFIER CCITTIA5 0 0 72 001195 MOBIL LAND STATION IDENTIFIER CCITTIA5 0 0 72 001196 CONSTANT LEVEL BALLOON IDENTIFIER CCITTIA5 0 0 72 001197 RTP - PLATFORM TYPE CODE TABLE 1197 0 0 10 001198 ITP - DECK ID CODE TABLE 1198 0 0 10 001199 DUP - DUPLICATE STATUS CODE TABLE 1199 0 0 4 001201 GENERATING APPLICATION CODE TABLE 1201 0 0 8 001205 SATELLITE IDENTIFIER CODE TABLE 1205 0 0 10 001208 VELOCITY OF PLATFORM, X M/S 5 -1073741824 31 001209 VELOCITY OF PLATFORM, Y M/S 5 -1073741824 31 001210 VELOCITY OF PLATFORM, Z M/S 5 -1073741824 31 002001 TYPE OF STATION CODE TABLE 2001 0 0 2 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 2002 0 0 4 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 2003 0 0 4 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUEMENT OR TYPE OF CR CODE TABLE 2004 0 0 4 002005 PRECISION OF TEMPERATURE OBSERVATION K 2 0 7 002011 RADIOSONDE TYPE CODE TABLE 2011 0 0 8 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 2012 0 0 4 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 2013 0 0 4 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM CODE TABLE 2014 0 0 7 002015 RADIOSONDE COMPLETNESS CODE TABLE 2015 0 0 4 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2021 0 0 9 002022 SATELLITE DATA PROCESSING TECHNIQUE USED FLAG TABLE 2022 0 0 8 002023 CLOUD MOTION COMPUTATIONAL METHOD CODE TABLE 2023 0 0 4 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2024 0 0 4 002025 SATELLITE CHANNEL(S) USED IN COMPUTATION FLAG TABLE 2025 0 0 25 002026 CROSS TRACK RESOLUTION M 2 0 12 002027 ALONG TRACK RESOLUTION M 2 0 12 002030 METHOD OF CURRENT MEASUREMENT CODE TABLE 2030 0 0 3 002031 DURATION AND TIME OF CURRENT MEASUREMENT CODE TABLE 2031 0 0 5 002032 INDICATOR FOR DIGITIZATION CODE TABLE 2032 0 0 2 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 2033 0 0 3 002034 DROGUE TYPE CODE TABLE 2034 0 0 5 002035 CABLE LENGTH M 0 0 9 002036 BUOY TYPE CODE TABLE 2036 0 0 2 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 2041 0 0 6 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 2061 0 0 3 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 2062 0 0 4 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 002064 AIRCRAFT ROLL ANGLE QUALITY CODE TABLE 002064 0 0 2 002065 ACARS GROUND RECEIVING STATION CCITTIA5 0 0 40 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 2070 0 0 4 002101 TYPE OF ANTENNA CODE TABLE 2101 0 0 4 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 002103 RADOME FLAG TABLE 2103 0 0 2 002104 ANTENNA POLARISATION CODE TABLE 2104 0 0 4 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 002106 3-dB BEAMWIDTH DEGREE 1 0 6 002107 SIDELOBE SUPPRESION dB 0 0 6 002108 CROSSPOL DISCRIMINATION(ON AXIS) dB 0 0 6 002109 ANTENNA SPEED(AZIMUTH) DEGREE/S 2 0 12 002110 ANTENNA SPEED(ELEVATION) DEGREE/S 2 0 12 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 002112 RADAR LOOK ANGLE DEGREE 1 0 12 002113 NUMBER OF AZIMUTH LOOKS NUMERIC 0 0 4 002114 ANTENNA EFFECTIVE SRFACE AREA M**2 0 0 15 002121 MEAN FREQUENCY Hz -8 0 7 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 002123 PEAK POWER W -4 0 7 002124 AVERAGE POWER W -1 0 7 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 002126 PULSE WIDTH S 7 0 6 002127 RECEIVER INTERMEDIATE FREQUENCY Hz -6 0 7 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 002129 MINIMUM DETECTABLE SIGNAL dB 0 -150 5 002130 DYNAMIC RANGE dB 0 0 7 002131 SENSITIVITY TIME CONTROL FLAG TABLE 2131 0 0 2 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 002192 SAR AZIMUTH ANGLE DEGREE 0 0 9 002193 1D VAR SATELLITE CHANNEL(S) USED FLAG TABLE 2193 0 0 28 002194 CONSTANT LEVEL BALLOON TYPE CODE TABLE 2194 0 0 4 002195 TYPE OF SATELLITE INSTRUMENTATION CODE TABLE 2195 0 0 4 002196 SATELLITE CLASSIFICATION CODE TABLE 2196 0 0 9 002197 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 002198 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 002199 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2199 0 0 4 002201 SIMULATED SATELLITE INSTRUMENT FLAG TABLE 2201 0 0 4 002202 SIMULATED DATA PROCESSING TECHNIQUE USED FLAG TABLE 2202 0 0 4 002220 DATA PRODUCER CODE TABLE 2220 0 0 9 002221 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 002222 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 002223 TOVS/ATOVS/AVHRR CHANNEL NUMBER CODE TABLE 2223 0 0 6 002231 HEIGHT ASSIGNMENT METHOD CODE TABLE 2231 0 0 4 002232 TRACER CORRELATION METHOD CODE TABLE 2232 0 0 3 002251 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2251 0 0 4 002252 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2252 0 0 31 002253 HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2253 0 0 8 002254 RADIANCE TYPE CODE TABLE 2254 0 0 4 004001 YEAR YEAR 0 0 12 004002 MONTH MONTH 0 0 4 004003 DAY DAY 0 0 6 004004 HOUR HOUR 0 0 5 004005 MINUTE MINUTE 0 0 6 004006 SECOND SECOND 0 0 6 004011 TIME INCREMENT YEAR 0 -1024 11 004012 TIME INCREMENT MONTH 0 -1024 11 004013 TIME INCREMENT DAY 0 -1024 11 004014 TIME INCREMENT HOUR 0 -1024 11 004015 TIME INCREMENT MINUTE 0 -2048 12 004016 TIME INCREMENT SECOND 0 -4096 13 004021 TIME PERIOD OR DISPLACEMENT YEAR 0 -1024 11 004022 TIME PERIOD OR DISPLACEMENT MONTH 0 -1024 11 004023 TIME PERIOD OR DISPLACEMENT DAY 0 -1024 11 004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -1024 11 004025 TIME PERIOD OR DISPLACEMENT MINUTE 0 -2048 12 004026 TIME PERIOD OR DISPLACEMENT SECOND 0 -4096 13 004043 DAY OF THE YEAR DAY 0 0 9 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 005031 ROW NUMBER NUMERIC 0 0 12 005033 PIXEL SIZE ON HORIZONTAL-1 M -1 0 16 005040 ORBIT NUMBER NUMERIC 0 0 24 005041 SCAN LINE NUMBER NUMERIC 0 0 8 005042 CHANNEL NUMBER NUMERIC 0 0 6 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 005193 ALONG TRACK ROW NUMBER AT 50 KM NUMERIC 0 0 10 005194 ALONG TRACK ROW NUMBER AT 25 KM NUMERIC 0 0 11 005195 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 7 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 005232 DIRECTION (SPECTRAL) DEGREE 2 0 16 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 006021 DISTANCE M -1 0 13 006031 COLUMN NUMBER NUMERIC 0 0 12 006033 PIXEL SIZE ON HORIZONTAL-2 M -1 0 16 006193 CROSS TRACK CELL NUMBER AT 50 KM NUMERIC 0 0 6 006194 CROSS TRACK CELL NUMBER AT 25 KM NUMERIC 0 0 7 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 007001 HEIGHT OF STATION M 0 -400 15 007002 HEIGHT OR ALTITUDE M -1 -40 16 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 007004 PRESSURE PA -1 0 14 007005 HEIGHT INCREMENT M 0 -400 12 007006 HEIGHT ABOVE STATION M 0 0 15 007010 FLIGHT LEVEL M 0 -1024 16 007021 ELEVATION DEGREE 2 -9000 15 007022 SOLAR ELEVATION DEGREE 2 -9000 15 007061 DEPTH BELOW LAND SURFACE M 2 0 14 007062 DEPTH BELOW SEA SURFACE M 1 0 17 007190 HEIGHT INCREMENT M 1 -1024 12 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8001 0 0 7 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 8002 0 0 6 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 8003 0 0 6 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 8004 0 0 3 008005 SURFACE SYNOPTIC FEATURE SIGNIFICANCE CODE TABLE 8005 0 0 4 008007 DIMENSIONAL SIGNIFICANCE CODE TABLE 8007 0 0 4 008011 HORIZONTAL SIGNIFICANCE CODE TABLE 8011 0 0 6 008012 LAND/SEA QUALIFIER CODE TABLE 8012 0 0 2 008021 TIME SIGNIFICANCE CODE TABLE 8021 0 0 5 008022 TOTAL NUMBER(WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 008023 FIRST ORDER STATISTICS CODE TABLE 8023 0 0 6 008024 DIFFERENCE STATISTICS CODE TABLE 8024 0 0 6 008193 TIME QUALIFIER CODE TABLE 8193 0 0 0 008194 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8070 0 0 4 008195 DATA TYPE CODE TABLE 8195 0 0 7 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 008222 GENERATOR SIGNIFICANCE CODE TABLE 8222 0 0 4 008223 LAND/ICE SURFACE FLAG FLAG TABLE 8223 0 0 7 010001 HEIGHT OF LAND SURFACE M 0 -400 15 010002 HEIGHT M -1 -40 16 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 010004 PRESSURE PA -1 0 14 010050 STANDARD DEVIATION ALTITUDE M 2 0 16 010051 PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 010052 ALTIMETER SETTING (QNH) PA -1 0 14 010060 PRESSURE CHANGE PA -1 -1024 11 010061 3 HOUR PRESSURE CHANGE PA -1 -500 10 010062 24 HOUR PRESSURE CHANGE PA -1 -1000 11 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 10063 0 0 4 010195 HEIGHT(HIGH ACCURACY) M 1 -4096 20 010196 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 011001 WIND DIRECTION DEGREE TRUE 0 0 9 011002 WIND SPEED M/S 1 0 12 011003 U-COMPONENT M/S 1 -4096 13 011004 V-COMPONENT M/S 1 -4096 13 011005 W-COMPONENT PA/S 1 -512 10 011006 W-COMPONENT M/S 2 -4096 13 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 011012 WIND SPEED AT 10 M M/S 1 0 12 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 011014 WIND SPEED AT 5 M M/S 1 0 12 011021 RELATIVE VORTICITY 1/S 9 -65536 17 011022 DIVERGENCE 1/S 9 -65536 17 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 011031 DEGREE OF TURBULENCE CODE TABLE 11031 0 0 4 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 011035 VERTICAL GUST ACCELERATION M/S 2 -8192 14 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST M/S 1 0 10 011037 TURBULENT INDEX CODE TABLE 011037 0 0 6 011038 TIME OF OCCURANCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 011038 0 0 5 011039 EXTENDED TIME OF OCCURENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 011039 0 0 6 011040 MAXIMUM WIND SPEED (MEAN WIND) M/S 1 0 12 011041 MAXIMUM WIND SPEED (GUSTS) M/S 1 0 12 011042 MAXIMUM WIND SPEED (10 MIN MEAN WIND) M/S 1 0 12 011049 STANDARD DEVIATION WIND DIRECTION DEGREE TRUE 0 0 9 011050 STANDARD DEVIATION WIND SPEED M/S 1 0 12 011051 STANDARD DEVIATION W COMPONENT M/S 1 0 8 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 011192 U - COMPONENT AT 10 M M/S 1 -4096 13 011193 V - COMPONENT AT 10 M M/S 1 -4096 13 011194 W - COMPONENT AT 10 M M/S 1 -4096 13 011201 HORIZONTAL LINE OF SIGHT COMPONENT M/S 1 -4096 13 011210 1D VAR WIND SPEED RETREIVED ERRO(S) M/S 2 0 12 011211 WIND SPEED INDEPENDENT ESTIMATE OF ERROR(S) M/S 2 0 12 011220 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 12 011221 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 012001 TEMPERATURE/DRY BULB TEMPERATURE K 1 0 12 012002 WET BULB TEMPERATURE K 1 0 12 012003 DEW POINT TEMPERATURE K 1 0 12 012004 DRY BULB TEMPERATURE AT 2M K 1 0 12 012005 WET BULB TEMPERATURE AT 2M K 1 0 12 012006 DEW POINT TEMPERATURE AT 2M K 1 0 12 012007 VIRTUAL TEMPERATURE K 1 0 12 012011 MAXIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 012012 MINIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 012013 GROUND MINIMUM TEMPERATURE PAST 12 HOURS K 1 0 12 012014 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 1 0 12 012015 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 1 0 12 012016 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 1 0 12 012017 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 1 0 12 012030 SOIL TEMPERATURE K 1 0 12 012061 SKIN TEMPERATURE K 1 0 12 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 012063 BRIGHTNESS TEMPERATURE K 1 0 12 012193 COLDEST CLUSTER TEMPERATURE K 1 0 12 012194 RADIANCE W/M**2*STER*M**(-1) 6 0 31 013001 SPECIFIC HUMIDITY KG/KG 5 0 14 013002 MIXING RATIO KG/KG 5 0 14 013003 RELATIVE HUMIDITY % 0 0 7 013004 VAPOUR PRESSURE PA -1 0 10 013005 VAPOUR DENSITY KG/M**3 3 0 7 013006 MIXING HEIGHT M -1 -40 16 013009 RELATIVE HUMIDITY % 1 -1000 12 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT KG/M**2 1 -1 14 013012 DEPTH OF FRESH SNOW M 2 -2 12 013013 TOTAL SNOW DEPTH M 2 -2 16 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGE RATE) KG/(M**2)S 4 0 12 013015 SNOWFALL (AVERAGE RATE) M/S 7 0 12 013016 PRECIPITABLE WATER KG/M**2 0 0 7 013019 TOTAL PRECIPITATION PAST 1 HOUR KG/M**2 1 -1 14 013020 TOTAL PRECIPITATION PAST 3 HOURS KG/M**2 1 -1 14 013021 TOTAL PRECIPITATION PAST 6 HOURS KG/M**2 1 -1 14 013022 TOTAL PRECIPITATION PAST 12 HOURS KG/M**2 1 -1 14 013023 TOTAL PRECIPITATION PAST 24 HOURS KG/M**2 1 -1 14 013031 EVAPOTRANSPIRATION KG/M**2 0 0 7 013032 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 8 013041 PASQUILL-GILLFORD STABILITY CATEGORY CODE TABLE 13041 0 0 4 013192 RELATIVE HUMIDITY AT 2 M % 0 0 8 013193 RELATIVE HUMIDITY % 0 0 8 013194 TOTAL COLUMN WATER KG/M**2 2 0 11 013195 RAIN RATE KG/M**2HOUR 0 0 5 013196 ANTECEDENT PRECIPITATION INDEX KG/M**2 0 0 7 013197 TOTAL COLUMN WATER VAPOUR KG/M**2 1 0 10 013198 RAIN FLAG CODE TABLE 13198 0 0 3 013199 SPECIFIC HUMIDITY AT 2 M KG/KG 5 0 14 013201 CLOUD LIQUID WATER KG/KG 7 0 14 013202 TYPE OF SURFACE CODE TABLE 13202 0 0 8 013203 1D VAR ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013204 SSMI INDEPENDENT ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013205 CLOUD LIQUID WATER PATH KG/M**2 4 0 14 013210 1D VAR CLOUD LIQUID WATER PATH RETRIEVED ERROR(S) KG/M**2 4 0 14 013211 TOTAL PRECIPITABLE WATER INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 2 0 11 013212 CLOUD LIQUID WATER PATH INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 4 0 14 014001 LONG-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014002 LONG-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014003 SHORT-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014004 SHORT-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014011 NET LONG-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014012 NET LONG-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014013 NET SHORT-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014014 NET SHORT-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014015 NET RADIATION INTEGRATED OVER 24HOURS J/M**2 -4 -16384 15 014016 NET RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 014017 INSTANTANEOUS LONG-WAVE RADIATION J/M**2 -3 -2048 12 014018 INSTANTANEOUS SHORT-WAVE RADIATION J/M**2 -3 -2048 12 014020 GLOBAL SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014021 GLOBAL RADIATION INTEGRATED OVERPERIOD SPECIFIED J/M**2 -4 0 15 014022 DIFFUSE SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014023 DIFFUSE SOLAR RADIATION INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 014024 DIRECT SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014025 DIRECT SOLAR RADIATION INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 014031 TOTAL SUNSHINE MINUTE 0 0 11 014032 TOTAL SUNSHINE HOUR 0 0 10 015001 OZON DOBSON 0 0 10 015202 INTEGRATED ELECTRON DENSITY 1/M**2 3 13000 12 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 19001 0 0 6 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 019003 WIND SPEED THRESHOLD M/S 0 0 8 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 019005 DIRECTION OF MOTION OF FEATURE DEGREE TRUE 0 0 9 019006 SPEED OF MOTION OF FEATURE M/S 2 0 14 019007 EFFECTIVE RADIUS OF FEATURE M -3 0 12 019008 VERTICAL EXTENT OF CIRCULATION CODE TABLE 19008 0 0 3 019009 EFFECTIVE RADIUS WITH RESPECT TOWIND SPEEDS ABOVE TRESHOLD M -3 0 12 020001 HORIZONTAL VISIBILITY M -1 0 13 020002 VERTICAL VISIBILITY M -1 0 7 020003 PRESENT WEATHER CODE TABLE 20003 0 0 9 020004 PAST WEATHER (1) CODE TABLE 20004 0 0 5 020005 PAST WEATHER (2) CODE TABLE 20005 0 0 5 020010 CLOUD COVER (TOTAL) % 0 0 7 020011 CLOUD AMOUNT CODE TABLE 20011 0 0 4 020012 CLOUD TYPE CODE TABLE 20012 0 0 6 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 020016 PRESSURE AT THE TOP OF CLOUD PA -1 0 14 020017 CLOUD TOP DESCRIPTION CODE TABLE 20017 0 0 4 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 020032 RATE OF ICE ACCRETION CODE TABLE 20032 0 0 3 020033 CAUSE OF ICE ACCRETION FLAG TABLE 20033 0 0 4 020034 SEA ICE CONCETRATION CODE TABLE 20034 0 0 5 020035 AMOUNT AND TYPE OF ICE CODE TABLE 20035 0 0 4 020036 ICE SITUATION CODE TABLE 20036 0 0 5 020037 ICE DEVELOPMENT CODE TABLE 20037 0 0 5 020038 BEARING OF THE ICE EDGE DEGREE TRUE 0 0 12 020039 ICE DISTANCE M -1 0 13 020041 AIRFRAME ICING CODE TABLE 20041 0 0 4 020051 AMOUNT OF LOW CLOUDS % 0 0 7 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 020062 STATE OF GROUND (WITH OR WITHOUT SNOW) CODE TABLE 20062 0 0 5 020063 SPECIAL PHENOMENA CODE TABLE 20063 0 0 10 020192 SPECIAL PHENOMENA CODE TABLE 20192 0 0 14 020193 CLOUD AMOUNT IN SEGMENT % 0 0 7 020194 AMOUNT OF SEGMENT CLOUD FREE % 0 0 7 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 020250 CALCULATED SURFACE TYPE CODE TABLE 20250 0 0 5 020251 ICE AGE CODE TABLE 20251 0 0 3 020252 ICE EDGE CODE TABLE 20252 0 0 3 020253 SURFACE TYPE CODE TABLE 20253 0 0 3 020254 ICE CONCENTRATION % 0 0 7 021001 HORIZONTAL REFLECTIVITY dB 0 -64 7 021002 VERTICAL REFLECTIVITY dB 0 -64 7 021003 DIFFERENTIAL REFLECTIVITY dB 1 -5 7 021005 LINEAR DEPOLARISATION RATIO dB 0 -65 6 021006 CIRCULAR DEPOLARIZATION RATIO dB 0 -65 6 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION M/S 0 -128 8 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION M/S 0 -128 8 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION(VZ) M/S 0 -128 8 021014 DOPPLER MEAN VELOCITY RADIAL M/S 1 -4096 13 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 -4096 8 021021 ECHO TOPS M -3 0 4 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT KG/M**2 0 0 7 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 021041 BRIGHT-BAND HEIGHT M -2 0 8 021051 SIGNAL POWER ABOVE 1 mW dB 0 -256 8 021192 RADAR BACK SCATTER dB 2 -5000 13 021193 NOISE FIGURE % 0 0 7 021194 BACKGROUND NOISE LEVEL NUMERIC 0 0 8 021195 MISSING PACKET COUNTER NUMERIC 0 -127 8 021196 UWA PRODUCT CONFIDENCE FLAG TABLE 21196 0 0 12 021197 UWI PRODUCT CONFIDENCE FLAG TABLE 21197 0 0 12 021198 URA PRODUCT CONFIDENCE FLAG TABLE 21198 0 0 8 021199 UAT PRODUCT CONFIDENCE FLAG TABLE 21199 0 0 7 021200 MWI PRODUCT CONFIDENCE FLAG TABLE 21200 0 0 15 021201 PEAKINESS NUMERIC 0 0 16 021202 ALTIMETER CALIBRATION STATUS FLAG TABLE 21202 0 0 4 021203 ALTIMETER INSTRUMENT MODE FLAG TABLE 21203 0 0 9 021204 MULTI/SINGLE VIEW DIFFERENCE K 2 -512 10 021205 SPECTRAL INTENSITY NUMERIC 0 0 8 021206 REPRESENTATION OF INTENSITY CODE TABLE 21206 0 0 3 021207 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 021208 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 021209 LTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 021210 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 021211 OPEN LOOP CORRECTION (HTL) M 3 0 10 021212 OPEN LOOP CORRECTION (AGC) dB 3 -3000 14 021213 AMBIGUITY REMOVAL CONFIDENCE % 0 0 7 021214 UAT QUALITY SUMMARY CODE TABLE 21214 0 0 3 021215 UAT ACROSS-TRACK BAND NO. NUMERIC 0 0 4 021222 DOPPLER SPECTRUM 0 TH MOMENT (AMPLITUDE) dB 0 0 7 021225 PRESCAT PRODUCT CONFIDENCE FLAG TABLE 21225 0 0 6 021226 BACKSCATER DISTANCE NUMERIC 1 -4096 13 021230 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 021231 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 021232 TOTAL NMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 021233 NUMBER OF SIGMA-0 USABLE FOR WIND NUMERIC 0 0 5 021234 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 1 -10000 14 021235 WIND VECTOR CELL QUALITY FLAG FLAG TABLE 21235 0 0 3 021236 NUMBER OF FORE-BEAM SIGMA-0 NUMERIC 1 0 6 021237 NUMBER OF MID-BEAM V-POL SIGMA-0 NUMERIC 1 0 6 021238 NUMBER OF MID-BEAM H-POL SIGMA-0 NUMERIC 1 0 6 021239 NUMBER OF AFT-BEAM SIGMA-0 NUMERIC 1 0 6 021240 NORMALIZED RADAR CROSS SECTION NUMERIC 2 -10000 14 021241 Kp VARIANCE COEFFICIENT (ALPHA) NUMERIC 5 0 14 021242 Kp VARIANCE COEFFICIENT (BETHA) NUMERIC 6 0 16 021243 Kp VARIANCE COEFFICIENT (GAMMA) NUMERIC 6 0 16 021244 SIGMA-0 QUALITY FLAG FLAG TABLE 21244 0 0 15 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 12 022011 PERIOD OF WAVES S 0 0 6 022012 PERIOD OF WIND WAVES S 0 0 6 022013 PERIOD OF SWELL WAVES S 0 0 6 022021 HEIGHT OF WAVES M 1 0 10 022022 HEIGHT OF WIND WAVES M 1 0 10 022023 HEIGHT OF SWELL WAVES M 1 0 10 022025 STANDARD DEVIATION WAVE HEIGHT M 2 0 10 022031 SPEED OF CURRENT M/S 2 0 13 022042 SEA TEMPERATURE K 1 0 12 022043 SEA TEMPERATURE K 2 0 15 022044 SOUND VELOCITY M/S 1 0 14 022050 STANDARD DEVIATION SEA SURFACE TEMPERATURE K 2 0 8 022061 STATE OF SEA CODE TABLE 22061 0 0 4 022062 SALINITY %. 3 0 14 022063 TOTAL WATER DEPTH M 0 0 14 022192 SPECTRAL PERIOD S 2 0 13 022193 MEAN WAVENUMBER 1/M 5 0 15 022194 PEAK WAVENUMBER 1/M 5 0 15 022195 MEAN WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022196 PEAK WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022197 DIRECTION SPREAD DEGREE 1 0 13 022198 VARIANCE SPECTRAL DENSITY M**2*S/RAD 4 0 18 022199 CORRELATION COEFF OF SIMULATED FG AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022200 CORRELATION COEFF OF SIMULATED BF AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022201 CORRELATION COEFF OF OCEAN WAVE FG AND EXTRACTED WAVE SPECTRUM NUMERIC 4 -10000 15 022202 ERROR BETWEEN FIRST GUESS AND OBSERVED SAR NUMERIC 5 0 21 022203 ERROR BETWEEN SIMULATED AND OBSERVED SAR NUMERIC 5 0 21 022204 MEAN PERIOD OF WAVES SECOND 2 0 13 022205 SPECTRAL DENSITY M**2*S/RAD 4 0 25 022206 PEAK PERIOD OF WAVES SECOND 2 0 13 022207 MEAN WAVE PERIOD S 1 0 10 022208 PEAK PERIOD OF 1D SPECTRA S 1 0 10 022209 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 13 022210 MEAN SQUARE SLOPE OF WAVES NUMERIC 4 -10000 14 022243 STANDARD DEVIATION SIGNIFICANT WAVE HEIGHT M 2 0 10 023001 ACCIDENT EARLY NOTIFICATION-ARTICLE APPLICABLE CODE TABLE 23001 0 0 3 023002 ACTIVITY OR FACILITY INVOLVED ININCIDENT CODE TABLE 23002 0 0 5 023003 TYPE OF RELEASE CODE TABLE 23003 0 0 3 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 23004 0 0 3 023005 COUSE OF INCIDENT CODE TABLE 23005 0 0 2 023006 INCIDENT SITUATION CODE TABLE 23006 0 0 3 023007 CHARACTERISTICS OF RELEASE CODE TABLE 23007 0 0 3 023008 STATE OF CURRENT RELEASE CODE TABLE 23008 0 0 2 023009 STATE OF EXPECTED RELEASE CODE TABLE 23009 0 0 2 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 23016 0 0 2 023017 FLOW DISCHARGE OF MAJOR RECEPIENT M**3/S 6 0 20 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 23018 0 0 3 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 023024 MAIN TRANSPORT SPEED WATER M/S 2 0 13 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 23031 0 0 2 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 23032 0 0 2 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 024003 COMPOSITION OF RELEASE CODE TABLE 24003 0 0 5 024004 ELEMENT NAME CCITTIA5 0 0 16 024005 ISOTOPE MASS NUMERIC 0 0 9 024011 DOSE mSv 2 0 32 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME) mSv 2 0 32 024013 GAMMA DOSE IN AIR ALONG THE MAINTRANSPORT PATH(DEFINED LOCATION mSv 2 0 32 024021 AIR CONCENTRATION(OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA Bq/M**3 2 0 32 024022 CONCENTRATION IN PRECIPITATION ( OF NAMED ISOTOPE TYPE) Bq/L 2 0 32 025001 RANGE-GATE LENGTH M -1 0 6 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 025004 ECHO PROCESSING CODE TABLE 25004 0 0 2 025005 ECHO INTEGRATION CODE TABLE 25005 0 0 2 025006 Z TO R CONVERSION CODE TABLE 25006 0 0 3 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 025009 CALIBRATION METHOD FLAG TABLE 25009 0 0 4 025010 CLUTTER TREATMENT CODE TABLE 25010 0 0 4 025011 GROUND ACCULTATION CORRECTION(SCREENING) CODE TABLE 25011 0 0 2 025012 RANGE ATTENUATION CORRECTION CODE TABLE 25012 0 0 2 025013 BRIGHT-BAND CORRECTION FLAG TABLE 25013 0 0 2 025014 AZIMUTH CLUTTER CUT-OFF NUMERIC 0 0 12 025015 RADOM ATTENUATION CORRECTION FLAG TABLE 25015 0 0 2 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 25017 0 0 2 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 025020 MEAN SPEED ESTIMATION CODE TABLE 25020 0 0 2 025021 WIND COMPUTATION EHANCEMENT FLAG TABLE 25021 0 0 8 025030 SIGNAL TO NOISE RATIO dB 0 -32 8 025032 WIND PROFILER MODE INFORMATION CODE TABLE 25032 0 0 2 025033 NOAA WIND PROFILER SUBMODE INFORMATION CODE TABLE 25033 0 0 2 025034 NOAA WIND PROFILER QUALITY CONTROL TEST RESULTS FLAG TABLE 25034 0 0 4 025193 ATTENUATION CORRECTION ON SIGMA0 dB 3 0 14 025194 MAJOR FRAME COUNT NUMERIC 0 0 4 025197 ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 025198 LOG (TEMP-RAD CENTRAL WAVE NUMBER) 1/M 8 0 30 025199 BANDWIDTH CORRECTION COEFFICIENT 1 NUMERIC 4 -10000 15 025200 BANDWIDTH CORRECTION COEFFICIENT 2 NUMERIC 5 0 17 025201 ALBEDO-RAD SOLAR FILTERED IRRADIANCE NUMERIC 4 0 24 025202 ALBEDO-RAD EQUIVALENT FILTER WIDTH NUMERIC 10 0 14 025203 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 25081 0 0 31 025204 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 25082 0 0 31 025205 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 25083 0 0 31 025206 FOV QUALITY FLAGS FOR ATOVS FLAG TABLE 25084 0 0 31 026193 YEAR YEAR 0 0 12 026194 MONTH MONTH 0 0 4 026195 DAY DAY 0 0 6 026196 HOUR HOUR 0 0 5 026197 MINUTE MINUTE 0 0 6 026198 SECOND SECOND 0 0 6 026200 LOCATION WITHIN ASSIMILATION WINDOW IN TIME NUMERIC 6 0 20 027001 LATITUDE(HIGH ACCURACY) DEGREE 5 -9000000 25 027002 LATITUDE(COARSE ACCURACY) DEGREE 2 -9000 15 027003 ALTERNATE LATITUDE DEGREE 2 -9000 15 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 027193 SOLAR AZIMUTH DEGREE TRUE 2 0 16 028001 LONGITUDE(HIGH ACCURACY) DEGREE 5 -18000000 26 028002 LONGITUDE(COARSE ACCURACY) DEGREE 2 -18000 16 028003 ALTERNATE LONGITUDE DEGREE 2 -18000 16 029001 PROJECTION TYPE CODE TABLE 29001 0 0 3 029002 CO-ORDINATE GRID TYPE CODE TABLE 29002 0 0 2 030001 PIXEL VALUE(4 BITS) NUMERIC 0 0 4 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 030031 PICTURE TYPE CODE TABLE 30031 0 0 4 030032 COMBINATION WITH OTHER DATA FLAG TABLE 30032 0 0 16 030193 POSITION NUMBER ALONG SCAN NUMERIC 0 0 8 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 31021 0 0 6 031031 DATA PRESENT INDICATOR FLAG TABLE 31031 0 0 1 031192 DATA PRESENT INDICATOR NUMERIC 0 0 1 033002 QUALITY INFORMATION TABLE CODE TABLE 33002 0 0 2 033003 QUALITY INFORMATION TABLE CODE TABLE 33003 0 0 3 033007 % CONFIDENCE % 0 0 7 033191 ECMWF WAM QC INDICATOR CODE TABLE 033191 0 0 2 033193 DATA QUALITY 3 BIT CODE CODE TABLE 33193 0 0 3 033194 DATA QUALITY 2 BIT CODE CODE TABLE 33194 0 0 2 033195 ECMWF SAR QC INDICATOR CODE TABLE 33195 0 0 5 033196 ECMWF WAM QC INDICATOR CODE TABLE 33196 0 0 2 033197 ECMWF SAR INVERSION QC INDICATOR CODE TABLE 33197 0 0 3 033198 MINIMUM COST NUMERIC 4 0 14 033199 1D VAR TOTAL PRECIPITABLE WATER RETRIEVED ERROR(S) KG/M**2 2 0 11 033200 ANALYSIS REPORT EVENTS FLAG TABLE 33200 0 0 31 033201 ANALYSIS REPORT STATUS EVENT FLAG TABLE 33201 0 0 13 033202 ANALYSIS DATUM EVENT FLAGS (1) FLAG TABLE 33202 0 0 31 033203 ANALYSIS DATUM EVENT FLAGS (2) FLAG TABLE 33203 0 0 11 033204 ANALYSIS DATUM STATUS FLAGS FLAG TABLE 33204 0 0 21 033205 VARIATIONAL ANALYSIS BLACK LIST FLAG CODE TABLE 33205 0 0 4 033206 VARIATIONAL ANALYSIS QUALITY CONTROL FLAG CODE TABLE 33206 0 0 4 033207 VARIATIONAL ANALYSIS DEPARTURE FLAG CODE TABLE 33207 0 0 4 033208 VARIATIONAL ANALYSIS FIRST QUESSCHECK FLAG CODE TABLE 33208 0 0 4 033209 VARIATIONAL ANALYSIS FINAL FLAG CODE TABLE 33209 0 0 4 033210 INCREMENTAL VARIATIONAL ANALYSISUPDATE NUMBER NUMERIC 0 0 7 033211 MINIMISATION SIMULATION NUMBER NUMERIC 0 0 10 033212 1D VAR ITERRATION NUMBER NUMERIC 0 0 10 033213 1D VAR RADIANCE COST NUMERIC 1 -1000 11 033214 1D VAR ERROR(S) FLAG TABLE 33214 0 0 11 033215 DIRECTIONAL SKILL NUMERIC 1 -4096 13 033216 1D VAR SURFACE TYPE QUALITY CONTROL CODE TABLE 33216 0 0 3 033217 1D VAR FAILURE INDICATOR CODE TABLE 33217 0 0 2 033218 1D VAR ESTIMATE OF SCATTERING NUMERIC 2 0 12 033219 SSMI INDIPENDENT SCATTERING INDEX NUMERIC 2 -50000 16 033220 VARIATIONAL ANALYSIS REPORT EVENTS (1) FLAG TABLE 33220 0 0 31 033221 VARIATIONAL ANALYSIS SYNOP EVENTS (2) FLAG TABLE 33221 0 0 31 033222 VARIATIONAL ANALYSIS AIREP EVENTS (2) FLAG TABLE 33222 0 0 31 033223 VARIATIONAL ANALYSIS SATOB EVENTS (2) FLAG TABLE 33223 0 0 31 033224 VARIATIONAL ANALYSIS DRIBU EVENTS (2) FLAG TABLE 33224 0 0 31 033225 VARIATIONAL ANALYSIS TEMP EVENTS (2) FLAG TABLE 33225 0 0 31 033226 VARIATIONAL ANALYSIS PILOT EVENTS (2) FLAG TABLE 33226 0 0 31 033227 VARIATIONAL ANALYSIS SATEM/TOVS EVENTS (2) FLAG TABLE 33227 0 0 31 033228 VARIATIONAL ANALYSIS PAOB EVENTS (2) FLAG TABLE 33228 0 0 31 033229 VARIATIONAL ANALYSIS SCATTEROMETER EVENTS (2) FLAG TABLE 33229 0 0 31 033230 VARIATIONAL ANALYSIS RAW RADIANCES EVENTS (2) FLAG TABLE 33230 0 0 31 033231 PRESAT SUMMARY FLAGS FLAG TABLE 33231 0 0 6 033232 REPORT BLACK LIST EVENTS FLAG TABLE 33232 0 0 31 033233 VARIATIONAL ANALYSIS REPORT STATUS FLAG TABLE 33233 0 0 31 033234 VARIATIONAL ANALYSIS DATUM STATUS FLAG TABLE 33234 0 0 31 033236 VARIATIONAL ANALYSIS DATUM EVENTS (1) FLAG TABLE 33236 0 0 31 033237 VARIATIONAL ANALYSIS SYNOP DATUMEVENTS (2) FLAG TABLE 33237 0 0 31 033238 VARIATIONAL ANALYSIS AIREP DATUMEVENTS (2) FLAG TABLE 33238 0 0 31 033239 VARIATIONAL ANALYSIS SATOB DATUMEVENTS (2) FLAG TABLE 33239 0 0 31 033240 VARIATIONAL ANALYSIS DRIBU DATUMEVENTS (2) FLAG TABLE 33240 0 0 31 033241 GROSS ERROR PROBABILITY NUMERIC 3 0 10 033242 GROSS ERROR INDICATOR CODE TABLE 33242 0 0 2 033243 VARIATIONAL ANALYSIS TEMP DATUM EVENTS (2) FLAG TABLE 33243 0 0 31 033244 VARIATIONAL ANALYSIS PILOT DATUMEVENTS (2) FLAG TABLE 33244 0 0 31 033245 VARIATIONAL ANALYSIS SATEM/TOVS DATUM EVENTS (2) FLAG TABLE 33245 0 0 31 033246 VARIATIONAL ANALYSIS PAOB DATUM EVENTS (2) FLAG TABLE 33246 0 0 31 033247 VARIATIONAL ANALYSIS SCATTEROMETER DATUM EVENTS (2) FLAG TABLE 33247 0 0 31 033248 VARIATIONAL ANALYSIS RAW RADIANCES DATUM EVENTS (2) FLAG TABLE 33248 0 0 31 033249 DATUM BLACK LIST EVENTS FLAG TABLE 33249 0 0 31 033250 PROBABILITY OF GROSS ERROR NUMERIC 6 0 20 033251 RANGE OF POSSIBLE VALUES NUMERIC 2 0 14 033252 MANUAL-AUTOMATIC QUALITY CONTROL CODE TABLE 33252 0 0 4 033253 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 033254 WIND CORRELATION METHOD FLAG TABLE 33254 0 0 20 055003 DATA EXTRACTION INDICATOR FLAG TABLE 55003 0 0 8 062190 STATISTICS APPLICATION CODE TABLE 62190 0 0 8 062191 TYPE OF STATISTICS CODE TABLE 62191 0 0 8 063190 APPLICATION DERIVING SUBSTITUTE OR ALTERNATIVE VALUE CODE TABLE 63190 0 0 8 emoslib-000392+dfsg.1/bufrtables/D0000000000098006001.TXT0000755000175000017500000050133512127406245022255 0ustar amckinstryamckinstry 300002 2 000002 000003 300003 3 000010 000011 000012 300004 9 300003 000013 000014 000015 000016 000017 000018 000019 000020 300010 4 300003 101000 031001 000030 301001 2 001001 001002 301002 3 001003 001004 001005 301003 3 001011 001012 001013 301011 3 004001 004002 004003 301012 2 004004 004005 301013 3 004004 004005 004006 301021 2 005001 006001 301022 3 005001 006001 007001 301023 2 005002 006002 301024 3 005002 006002 007001 301025 3 301023 004003 301012 301026 7 301021 004003 004003 004004 004004 004005 004005 301029 3 001018 002001 301011 301030 4 001018 002001 301011 301024 301031 5 301001 002001 301011 301012 301022 301032 5 301001 002001 301011 301012 301024 301033 5 001005 002001 301011 301012 301021 301034 5 001005 002001 301011 301012 301023 301035 7 001005 001012 001013 002001 301011 301012 301023 301036 5 301003 002001 301011 301012 301023 301037 6 301001 002011 002012 301011 301012 301022 301038 6 301001 002011 002012 301011 301012 301024 301039 6 301003 002011 002012 301011 301012 301023 301040 6 301003 002011 002012 301011 301012 301024 301041 5 001007 002021 002022 301011 301012 301042 2 301041 301021 301043 5 001007 002023 301011 301013 301021 301044 5 001007 002024 301011 301013 301021 301045 9 301011 301012 201138 202131 004006 201000 202000 304030 304031 301046 10 001007 001012 002048 021119 025060 202124 002026 002027 202000 005040 301047 15 001007 025060 001033 001034 001012 301045 002021 301011 301012 201138 202131 004006 201000 202000 301023 301048 14 002104 002121 002113 002026 002027 002111 002140 202127 001013 202126 007001 202000 025010 021064 301049 5 002111 002112 021062 021063 021065 301051 6 001006 002061 301011 301012 301021 008004 301055 7 001005 002001 301011 301012 301021 001012 001014 301062 3 101000 031001 301001 301065 8 001006 001008 002001 002002 002005 002062 002070 002065 301066 6 301011 301013 301023 007004 002064 008004 301070 3 002143 002142 002144 301071 5 001007 001031 002020 002028 002029 301072 4 301071 301011 301013 301021 301074 4 002143 002142 002145 002146 301075 6 301001 001015 301022 008021 301011 301012 301076 3 002011 002143 002142 301193 5 001007 001031 002196 002221 002222 301194 9 001194 001012 001013 002011 002012 301011 301012 301023 007001 301195 9 001195 001012 001013 002011 002012 301011 301012 301023 007001 301196 7 301003 002011 002012 301011 301012 301023 007001 301197 9 001006 001008 002061 002062 002002 002005 002070 002063 002001 301198 9 001011 001012 001013 002011 002012 301011 301012 301023 007001 301200 2 001032 033194 301201 2 101003 033193 301202 2 001031 001032 301237 12 001007 001012 002021 301011 004004 004005 201138 202131 004006 201000 202000 301023 301238 14 002104 002121 002113 002026 002027 002111 002192 202127 001013 202126 007001 202000 025010 021194 301239 5 002111 002112 021192 021193 021195 301240 5 201131 202129 022021 201000 202000 301241 5 201141 202130 007001 201000 202000 301242 6 021207 021208 021209 021210 021211 021212 301250 4 301193 301011 301013 301021 302001 4 010004 010051 010061 010063 302002 5 010004 007004 010003 010061 010063 302003 9 011011 011012 012004 012006 013003 020001 020003 020004 020005 302004 7 020010 008002 020011 020013 020012 020012 020012 302005 4 008002 020011 020012 020013 302006 4 010004 010051 010062 010063 302011 3 302001 302003 302004 302012 3 302002 302003 302004 302013 5 302006 302003 101000 031001 302005 302021 3 022001 022011 022021 302022 3 022002 022012 022022 302023 3 022003 022013 022023 302024 3 302022 101002 302023 302051 12 010004 010051 007004 010003 012004 012051 012016 012017 013004 102004 008051 008020 302205 5 201131 202129 022021 201000 202000 302206 9 302205 201130 202129 022011 201000 202000 022001 011001 011002 302207 5 022193 022194 022195 022196 022197 302250 5 102000 031001 020193 020194 020012 303001 3 007003 011001 011002 303002 3 007004 011001 011002 303003 4 007004 010003 012001 012003 303004 6 007004 010003 012001 012003 011001 011002 303011 4 007003 008001 011001 011002 303012 4 007004 008001 011001 011002 303013 7 007004 008001 010003 012001 013003 011001 011002 303014 7 007004 008001 010003 012001 012003 011001 011002 303021 4 007004 007004 204007 031021 303022 3 303021 010003 204000 303023 3 303021 012001 204000 303024 3 303021 013016 204000 303025 5 002025 204007 031021 012063 204000 303026 6 007004 008003 204007 031021 012001 204000 303027 5 007004 204007 031021 010003 204000 303031 6 007004 008003 007021 007022 008012 012061 303032 2 020011 020016 303033 2 020010 020016 303041 8 002152 002023 007004 011001 011002 002153 002154 012071 303249 7 002252 104000 031001 002199 007004 007004 013003 303250 8 002252 002023 007004 011001 011002 002197 002198 012193 303251 8 002252 105000 031001 002254 002251 002197 002198 012063 303252 8 002252 105000 031001 002254 002251 002197 002198 012194 304001 5 008003 010004 012001 011001 011002 304002 4 008003 010004 011001 011002 304003 2 008003 012001 304004 4 008003 010004 020010 012001 304005 4 002024 007004 007004 013003 304006 3 014001 014001 014003 304011 27 002163 002164 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002163 007004 012001 304030 3 027031 028031 010031 304031 3 001041 001042 001043 304032 5 002153 002154 020081 020082 020012 304033 8 002152 002166 002167 002153 002154 012075 012076 012063 304034 9 102004 027001 028001 007022 005043 020010 020016 033003 010040 304228 3 005217 006217 007217 304229 3 001208 001209 001210 304250 27 002231 002232 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002231 007004 012001 306001 5 002032 102000 031001 007062 022042 306002 3 002031 022004 022031 306003 4 002002 011011 011012 012004 306004 7 002032 002033 103000 031001 007062 022043 022062 306005 6 002031 103000 031001 007062 022004 022031 306006 3 306003 306002 022063 306007 6 001012 001014 306008 004024 027003 028003 306008 3 002034 002035 002036 306023 8 001015 301023 301011 301012 022038 022039 022120 022121 307001 2 301031 302011 307002 2 301032 302011 307003 4 307001 101000 031001 302005 307004 4 307002 101000 031001 302005 307005 3 307001 101004 302005 307006 3 307002 101004 302005 307007 2 301031 302012 307008 2 301032 302012 307009 2 301031 302013 307011 16 001063 002001 301011 301012 301024 007006 011001 011016 011017 011002 011041 007006 012001 012003 010052 020009 307012 5 103000 031001 008023 005021 020001 307013 8 106000 031001 001064 008014 020061 008014 020061 020018 307014 3 101000 031001 020019 307015 8 101000 031001 302005 008002 020011 020012 020013 020002 307016 3 101000 031001 020020 307017 3 101000 031001 020020 307018 18 008016 102000 031001 008017 301012 104000 031001 007006 011001 011002 011041 020009 101000 031001 020001 101000 031001 020019 307020 3 307011 307014 307016 307021 9 307011 307012 307013 307014 307015 307016 307017 307018 307015 307030 2 015001 015002 307031 7 008022 008023 015001 008023 015001 008023 015002 307041 7 301001 001015 301022 301011 301012 301070 307030 307042 9 301001 001015 301022 301011 301012 008021 004025 301070 307031 307043 7 301001 001015 301024 301011 301012 301074 307030 307060 2 007061 012030 307061 3 301031 101005 307060 307062 3 301032 101005 307060 307063 2 007061 012130 308001 3 301033 302011 022042 308002 3 301034 302011 022042 308003 3 301035 302011 022042 308004 3 301036 302011 022042 308005 2 308004 302024 308006 8 010004 010061 010063 011001 011002 012004 013003 022042 308007 4 301055 302011 007062 022042 309001 4 301037 101000 031001 303011 309002 4 301038 101000 031001 303011 309003 4 301037 101000 031001 303012 309004 4 301038 101000 031001 303012 309005 5 301037 302004 101000 031001 303013 309006 5 301038 302004 101000 031001 303013 309007 5 301037 302004 101000 031001 303014 309008 5 301038 302004 101000 031001 303014 309011 4 301039 101000 031001 303011 309012 4 301039 101000 031001 303012 309013 5 301039 302004 101000 031001 303013 309014 5 301039 302004 101000 031001 303014 309015 4 301040 101000 031001 303011 309016 4 301040 101000 031001 303012 309017 5 301040 302004 101000 031001 303013 309018 5 301040 302004 101000 031001 303014 309019 5 301031 002003 101000 031001 303011 309020 8 301031 002003 104000 031001 007003 011003 011004 011005 309030 8 015004 015005 104000 031001 004015 008006 007004 015003 309040 3 301075 301076 309030 309042 4 307042 301075 301076 309030 309194 5 301194 302004 101000 031001 303014 309195 5 301195 302004 101000 031001 303014 309196 5 301196 302004 101000 031001 303014 309198 5 301198 302004 101000 031001 303014 310001 5 301042 303031 303032 101026 303025 310002 5 301042 303031 303032 101009 303023 310003 5 301042 303031 303032 101006 303023 310004 5 301042 303031 303032 101003 303024 310005 6 301042 303031 303033 101000 031001 303025 310006 6 301042 303031 303033 101000 031001 303023 310007 6 301042 303031 303033 101000 031001 303024 310008 8 310011 101019 310012 002150 025079 025080 033032 014045 310009 3 310011 101015 310012 310010 3 310011 101005 310012 310011 45 008070 001033 001034 008070 001033 001034 001007 002048 005040 025075 201133 005041 201000 005043 025070 033030 033031 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 202126 007001 202000 007024 005021 007025 005022 033033 002151 012064 002151 012064 002151 012064 002151 012064 310012 10 002150 025076 025077 025078 033032 201132 202129 012063 202000 201000 310013 62 001007 005040 004001 004002 004003 004004 004005 004006 005001 006001 007025 005043 025085 201131 202129 002150 008023 008072 014027 008072 014027 002150 008023 008072 014027 008072 014027 002150 008023 008072 014027 008072 014027 202000 201000 201132 202129 002150 008023 008072 012063 008072 012063 002150 008023 008072 012063 008072 012063 008023 008072 012063 008072 012063 002150 008023 008072 012063 008072 012063 202000 201000 310014 3 301072 303041 304011 310015 13 301072 007024 010002 303041 101003 304032 002152 002024 007004 007004 013003 101003 304033 310016 13 301072 007024 010002 303041 101012 304032 002152 002024 007004 007004 013003 101012 304033 310020 6 310022 301011 301013 301021 304034 310021 310021 10 108000 031001 201131 202129 007004 007004 202000 201000 015020 010002 310022 4 001007 002019 001033 002172 310023 17 301072 030021 030022 008012 007024 007025 010002 101012 304032 105002 002152 002024 007004 007004 013003 101012 304033 310024 17 301072 030021 030022 008012 007024 007025 010002 101003 304032 105002 002152 002024 007004 007004 013003 101003 304033 310050 14 310051 310052 101000 031002 310053 101004 310054 020010 310052 101015 310053 310052 101004 310053 310051 16 001007 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 007025 005022 102009 002151 012064 310052 12 002019 301011 301012 202131 201138 004006 201000 202000 301021 007024 005021 005043 310053 6 201134 005042 201000 025076 033032 012163 310054 13 201134 005042 201000 025076 033032 201131 202129 102002 008023 014027 008023 202000 201000 310055 8 310051 310052 102020 025076 025051 101000 031002 025050 310193 5 301250 303250 302250 303249 303251 310194 5 301250 303250 302250 303249 303252 310195 3 301250 303250 304250 310196 3 301250 303249 303251 311001 9 301051 007002 012001 011001 011002 011031 011032 011033 020041 311002 4 301065 301066 311003 311004 311003 5 010070 011001 011002 012001 013002 311004 18 101000 031000 011034 101000 031000 011035 101000 031000 011075 101000 031000 011076 101000 031000 033025 101000 031000 033026 311193 16 301197 301011 301012 301023 008004 007004 008021 011001 011002 011031 011034 011035 012001 012003 013003 020041 312001 2 301043 304001 312002 2 301043 304002 312003 2 301042 304003 312004 2 301042 304004 312005 2 301042 020014 312006 2 301044 304005 312007 2 301042 304006 312010 6 001007 005040 002021 005041 004001 004043 312011 9 202131 201149 004006 201000 202126 010002 202000 005043 005053 312012 6 202129 201132 101019 012063 201000 202000 312013 6 005033 202129 201135 012063 201000 202000 312014 8 312010 312011 105056 301023 005042 005052 312012 312013 312015 10 109011 301023 005042 005052 202129 201132 101004 012063 202000 201000 312016 3 312010 312011 312015 312017 10 109008 301023 005042 005052 202129 201132 101003 012063 202000 201000 312018 3 312010 312011 312017 312020 11 301047 301048 015015 029002 021076 104012 006030 102012 005030 021075 021066 312021 6 301047 101003 301049 011012 011011 021067 312022 15 301047 008022 011012 011050 022070 022026 312041 010050 021068 021071 021072 021073 312042 021062 015011 312023 7 301047 103003 008022 012061 022050 021069 021085 312024 11 312020 008060 008022 008060 008022 025014 022101 022097 022098 022099 022100 312026 19 301046 301011 301013 301023 312031 101004 312030 021110 301023 321027 021111 301023 321027 021112 301023 321027 021113 301023 321027 312027 9 301047 105009 301023 007021 012061 007021 012061 021085 021070 312028 26 301046 301011 301013 301023 008025 201136 004006 201000 312031 312032 101004 312030 101002 312033 021110 301023 321028 021111 301023 321028 021112 301023 321028 021113 301023 321028 312030 13 201130 202129 011012 202000 201000 011052 201135 202130 011011 202000 201000 011053 021104 312031 8 005034 006034 021109 011081 011082 021101 021102 021103 312032 4 021120 021121 013055 021122 312033 4 002104 008022 012063 012065 312041 5 201141 202130 007001 201000 202000 312042 6 021077 021078 021079 021080 021081 021082 312200 10 301237 301238 029002 021206 104012 006232 102012 005232 021205 021196 312201 6 301237 101003 301239 011012 011011 021197 312202 13 301237 008022 011012 011050 301240 022243 301241 010050 021198 021201 021202 021203 301242 312203 8 301237 008022 012061 022050 021204 021199 021214 021215 312204 12 312201 001031 011012 011011 021200 021213 004004 008021 004024 055003 011012 011011 312207 3 312202 301202 033191 312208 17 301202 008022 008021 301011 301013 301023 302205 011002 001007 002021 301011 301013 301023 001032 001192 302205 011002 312209 11 301202 001192 301011 301013 301023 302206 104000 022192 102000 005232 022191 312210 13 312202 021192 015202 301011 004004 004005 201138 202131 004006 201000 202000 304228 304229 312211 19 301046 301011 301013 301023 312031 101004 312030 021110 101004 312212 021111 101004 312212 021112 101004 312212 021113 101004 312212 312212 2 301023 321027 313009 4 021001 101000 031001 021001 313010 4 021036 101000 031001 021036 313031 5 006002 006012 101000 031002 030001 313032 5 005002 005012 101000 031002 313031 313041 13 006002 110000 031001 104000 031001 006012 101000 031012 030001 006012 101000 031001 030001 313042 5 005002 005012 101000 031002 313041 313043 16 006002 005002 005012 112000 031001 110000 031001 104000 031001 006012 101000 031011 030001 101000 031001 030001 315001 5 001011 301011 301012 301023 306001 315002 5 001011 301011 301012 301023 306004 316001 10 301011 004004 301023 001021 002041 019001 010051 019002 019003 019004 316002 15 008021 004001 004002 004003 004004 004005 001033 008021 004001 004002 004003 004004 004005 007002 007002 316003 12 110000 031001 008011 008007 104000 031001 005002 006002 010002 011002 008007 008011 316004 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 011031 008007 008011 316005 10 108000 031001 008005 008007 005002 006002 001026 019001 008007 008005 316006 14 112000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020011 020012 008007 008011 316007 12 110000 031001 008011 008007 104000 031001 005002 006002 019005 019006 008007 008011 316008 13 111000 031001 008001 008007 008023 103000 031001 005002 006002 010002 008023 008007 008001 316009 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020041 008007 008011 316010 9 107000 031001 008011 008007 001022 005002 006002 008007 008011 316011 19 116000 031001 008011 001022 008007 102000 031001 005002 006002 008021 004001 004002 004003 004004 004005 020090 008021 008007 008011 318001 2 301025 024011 318003 4 301026 024005 024004 024021 318004 6 301025 004023 013011 024005 024004 024022 321001 6 002101 002114 002105 002106 002107 002121 321003 4 021051 021014 021017 021030 321004 5 301031 002003 101000 031001 321003 321005 12 025004 002121 002122 002123 002124 002125 002126 002127 002128 002129 002130 002131 321006 4 025001 025002 025003 025005 321007 8 025009 025010 025011 025012 025013 025015 025016 025017 321008 3 025006 025007 025008 321009 2 025018 025019 321010 13 002101 007002 002102 002103 002104 002105 002106 002107 002108 002109 002110 002132 002133 321011 3 030031 030032 029002 321012 3 101000 031001 002135 321021 15 002003 002101 201130 002106 201000 201132 202130 002121 202000 201000 201133 202129 025001 202000 201000 321022 11 010007 204001 031021 011001 204000 011002 204001 031021 011006 204000 021030 321023 9 007007 021091 021030 202129 021014 201129 021017 202000 201000 321024 7 007007 204002 031021 012007 011006 204000 021030 321025 17 007007 021091 021030 202129 021014 201129 021017 202000 201000 021092 021030 025092 201129 202129 021017 202000 201000 321026 10 010007 204001 031021 012007 025091 011071 011072 011073 011074 204000 321027 18 021118 202129 201132 002112 201000 201131 002111 201000 202000 002104 021105 021106 021107 021114 021115 021116 008018 021117 321028 18 021118 202129 201132 002112 201000 201131 002111 201000 202000 002104 021123 021106 021107 021114 021115 021116 008018 021117 emoslib-000392+dfsg.1/bufrtables/D0000000000098013001.TXT0000755000175000017500000025140612127406245022254 0ustar amckinstryamckinstry 300002 2 000002 000003 300003 3 000010 000011 000012 300004 9 300003 000013 000014 000015 000016 000017 000018 000019 000020 300010 4 300003 101000 031001 000030 301001 2 001001 001002 301002 3 001003 001004 001005 301003 3 001011 001012 001013 301004 4 001001 001002 001015 002001 301005 2 001035 001034 301011 3 004001 004002 004003 301012 2 004004 004005 301013 3 004004 004005 004006 301014 3 102002 301011 301012 301021 2 005001 006001 301022 3 005001 006001 007001 301023 2 005002 006002 301024 3 005002 006002 007001 301025 3 301023 004003 301012 301026 7 301021 004003 004003 004004 004004 004005 004005 301027 5 008007 101000 031001 301028 008007 301028 8 008040 033042 007010 101000 031002 301023 019007 008040 301031 5 301001 002001 301011 301012 301022 301032 5 301001 002001 301011 301012 301024 301033 5 001005 002001 301011 301012 301021 301034 5 001005 002001 301011 301012 301023 301035 7 001005 001012 001013 002001 301011 301012 301023 301036 5 301003 002001 301011 301012 301023 301037 6 301001 002011 002012 301011 301012 301022 301038 6 301001 002011 002012 301011 301012 301024 301039 6 301003 002011 002012 301011 301012 301023 301040 6 301003 002011 002012 301011 301012 301024 301041 5 001007 002021 002022 301011 301012 301042 2 301041 301021 301043 5 001007 002023 301011 301013 301021 301044 5 001007 002024 301011 301013 301021 301045 9 301011 301012 201138 202131 004006 201000 202000 304030 304031 301046 10 001007 001012 002048 021119 025060 202124 002026 002027 202000 005040 301047 15 001007 025060 001033 001034 001012 301045 002021 301011 301012 201138 202131 004006 201000 202000 301023 301048 14 002104 002121 002113 002026 002027 002111 002140 202127 001013 202126 007001 202000 025010 021064 301049 5 002111 002112 021062 021063 021065 301051 6 001006 002061 301011 301012 301021 008004 301055 7 001005 002001 301011 301012 301021 001012 001014 301062 3 101000 031001 301001 301065 8 001006 001008 002001 002002 002005 002062 002070 002065 301066 6 301011 301013 301023 007004 002064 008004 301070 3 002143 002142 002144 301071 5 001007 001031 002020 002028 002029 301072 4 301071 301011 301013 301021 301074 4 002143 002142 002145 002146 301075 6 301001 001015 301024 008021 301011 301012 301076 3 002011 002143 002142 301089 2 001101 001102 301090 6 301004 301011 301012 301021 007030 007031 301091 10 002180 002181 002182 002183 002184 002179 002186 002187 002188 002189 301092 9 001011 001003 002001 301011 301012 301021 007030 007031 033024 301093 3 301036 007030 007031 301110 5 301001 001011 002011 002014 002003 301111 6 301001 001011 002011 002013 002014 002003 301112 5 001006 002011 002013 002014 002003 301113 3 008021 301011 301013 301114 5 301021 007030 007031 007007 033024 301120 4 301001 001094 002011 301121 301121 5 008041 301122 301021 007031 007007 301122 7 301011 301012 201135 202130 004006 202000 201000 301123 33 102002 008041 001062 301001 001094 002011 001018 001095 025061 025068 001082 001083 001081 002067 002066 002014 025067 025065 025066 002095 002096 002097 002016 002083 002080 002081 001093 002084 002085 002086 002082 008041 301011 301125 6 001033 001034 025060 001007 002019 001012 301193 5 001007 001031 002196 002221 002222 301194 9 001194 001012 001013 002011 002012 301011 301012 301023 007001 301195 9 001195 001012 001013 002011 002012 301011 301012 301023 007001 301196 7 301003 002011 002012 301011 301012 301023 007001 301197 9 001006 001008 002061 002062 002002 002005 002070 002063 002001 301198 9 001011 001012 001013 002011 002012 301011 301012 301023 007001 301200 2 001032 033194 301201 2 101003 033193 301202 2 001031 001032 301237 12 001007 001012 002021 301011 004004 004005 201138 202131 004006 201000 202000 301023 301238 14 002104 002121 002113 002026 002027 002111 002192 202127 001013 202126 007001 202000 025010 021194 301239 5 002111 002112 021192 021193 021195 301240 5 201131 202129 022021 201000 202000 301241 5 201141 202130 007001 201000 202000 301242 6 021207 021208 021209 021210 021211 021212 301250 4 301193 301011 301013 301021 302001 4 010004 010051 010061 010063 302002 5 010004 007004 010003 010061 010063 302003 9 011011 011012 012004 012006 013003 020001 020003 020004 020005 302004 7 020010 008002 020011 020013 020012 020012 020012 302005 4 008002 020011 020012 020013 302006 4 010004 010051 010062 010063 302011 3 302001 302003 302004 302012 3 302002 302003 302004 302013 5 302006 302003 101000 031001 302005 302021 3 022001 022011 022021 302022 3 022002 022012 022022 302023 3 022003 022013 022023 302024 3 302022 101002 302023 302031 4 302001 010062 007004 010009 302032 4 007032 012101 012103 013003 302033 2 007032 020001 302034 2 007032 013023 302035 8 302032 302033 302034 007032 302004 101000 031001 302005 302036 7 105000 031001 008002 020011 020012 020014 020017 302037 3 020062 013013 012113 302038 4 020003 004024 020004 020005 302039 2 004024 014031 302040 4 007032 102002 004024 013011 302041 7 007032 004024 004024 012111 004024 004024 012112 302042 11 007032 002002 008021 004025 011001 011002 008021 103002 004025 011043 011041 302043 7 302038 101002 302039 302040 302041 302042 007032 302044 3 004024 002004 013033 302045 7 004024 014002 014004 014016 014028 014029 014030 302046 3 004024 004024 012049 302047 3 102003 008002 020054 302048 5 005021 007021 020012 005021 007021 302049 7 008002 020011 020013 020012 020012 020012 008002 302050 31 008041 005021 007005 202130 006021 202000 008041 201131 202129 002115 010004 002115 013003 202000 201000 002115 011001 011002 002115 102002 012101 004024 002115 012103 012102 101003 020012 020011 020013 101002 020003 302051 12 010004 010051 007004 010003 012004 012051 012016 012017 013004 102004 008051 008020 302052 7 007032 007033 012101 002039 012102 012103 013003 302053 3 007032 007033 020001 302054 9 302052 302053 007033 302034 007032 302004 101000 031001 302005 302055 8 020031 020032 020033 020034 020035 020036 020037 020038 302056 4 002038 007063 022043 007063 302057 3 302056 302021 302024 302058 8 007032 007033 004024 004024 012111 004024 004024 012112 302059 12 007032 007033 002002 008021 004025 011001 011002 008021 103002 004025 011043 011041 302060 4 302038 302040 302058 302059 302062 24 302001 302052 302053 007033 101000 031000 302034 007032 101000 031001 302005 008002 101000 031000 302055 101000 031000 302056 101000 031000 302021 101000 031000 302024 302063 8 302038 101000 031000 302040 101000 031000 302058 302059 302066 16 020023 020024 020027 020054 020023 020027 020054 020025 020026 020027 020040 020066 020027 020021 020067 020027 302069 4 007032 007033 033041 020001 302070 8 007032 007033 011001 011002 011043 011041 011016 011017 302071 14 007032 007033 008021 004025 011001 011002 008021 103002 004025 011043 011041 004025 011016 011017 302072 5 007032 007033 012101 012103 013003 302073 7 020010 105004 008002 020011 020012 033041 020013 302074 4 020003 004025 020004 020005 302075 5 008021 004025 013055 013058 008021 302076 7 020021 020022 026020 020023 020024 020025 020026 302077 8 007032 007033 004025 012111 012112 007032 004025 012112 302078 4 002176 020062 002177 013013 302079 5 007032 002175 002178 004025 013011 302080 3 002185 004025 013033 302081 2 004025 014031 302082 7 004025 014002 014004 014016 014028 014029 014030 302083 8 004025 008023 010004 011001 011002 012101 013003 008023 302205 5 201131 202129 022021 201000 202000 302206 9 302205 201130 202129 022011 201000 202000 022001 011001 011002 302207 5 022193 022194 022195 022196 022197 302250 5 102000 031001 020193 020194 020012 303001 3 007003 011001 011002 303002 3 007004 011001 011002 303003 4 007004 010003 012001 012003 303004 6 007004 010003 012001 012003 011001 011002 303011 4 007003 008001 011001 011002 303012 4 007004 008001 011001 011002 303013 7 007004 008001 010003 012001 013003 011001 011002 303014 7 007004 008001 010003 012001 012003 011001 011002 303021 4 007004 007004 204007 031021 303022 3 303021 010003 204000 303023 3 303021 012001 204000 303024 3 303021 013016 204000 303025 5 002025 204007 031021 012063 204000 303026 6 007004 008003 204007 031021 012001 204000 303027 5 007004 204007 031021 010003 204000 303031 6 007004 008003 007021 007022 008012 012061 303032 2 020011 020016 303033 2 020010 020016 303040 18 008041 004025 004026 301021 301122 201131 202129 025069 007004 013003 202000 201000 002013 012101 010009 102002 008040 035035 303041 8 002152 002023 007004 011001 011002 002153 002154 012071 303050 7 004086 008042 007004 005015 006015 011001 011002 303051 7 004086 008042 007004 005015 006015 011061 011062 303052 7 004086 008042 007009 005015 006015 011001 011002 303053 7 004086 008042 007009 005015 006015 011061 011062 303054 10 004086 008042 007004 010009 005015 006015 012101 012103 011001 011002 303249 7 002252 104000 031001 002199 007004 007004 013003 303250 8 002252 002023 007004 011001 011002 002197 002198 012193 303251 8 002252 105000 031001 002254 002251 002197 002198 012063 303252 8 002252 105000 031001 002254 002251 002197 002198 012194 304001 5 008003 010004 012001 011001 011002 304002 4 008003 010004 011001 011002 304003 2 008003 012001 304004 4 008003 010004 020010 012001 304005 4 002024 007004 007004 013003 304006 3 014001 014001 014003 304011 27 002163 002164 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002163 007004 012001 304030 3 027031 028031 010031 304031 3 001041 001042 001043 304032 5 002153 002154 020081 020082 020012 304033 8 002152 002166 002167 002153 002154 012075 012076 012063 304034 9 102004 027001 028001 007022 005043 020010 020016 033003 010040 304035 15 002153 002154 012063 008001 012063 008001 012063 008001 008003 012063 008003 012063 008003 012063 008003 304036 12 020082 008012 020082 008012 020081 008003 020081 008003 020081 008003 020081 008003 304037 15 002153 002154 012063 008011 012063 008011 012063 008011 008003 012063 008003 012063 008003 012063 008003 304228 3 005217 006217 007217 304229 3 001208 001209 001210 304250 27 002231 002232 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002231 007004 012001 305003 5 301012 004065 101000 031001 305001 305006 6 013072 013082 013019 012001 013073 013060 305007 6 301029 301012 004065 101000 031001 305006 305008 2 305006 012030 305009 6 301029 301012 004065 101000 031001 305008 305011 6 301029 301012 004065 101000 031001 305010 305018 8 301029 301012 004065 103000 031001 305008 305016 305017 306001 5 002032 102000 031001 007062 022042 306002 3 002031 022004 022031 306003 4 002002 011011 011012 012004 306004 7 002032 002033 103000 031001 007062 022043 022062 306005 6 002031 103000 031001 007062 022004 022031 306006 3 306003 306002 022063 306007 6 001012 001014 306008 004024 027003 028003 306008 3 002034 002035 002036 306019 8 001075 301011 301012 022042 022120 022121 004015 004065 306020 4 306024 102006 022038 022039 306021 7 001075 301011 301012 022122 022123 012001 303002 306022 5 001075 301011 301012 022038 022039 306023 8 001015 301023 301011 301012 022038 022039 022120 022121 306024 8 001075 301011 301012 022042 022120 022121 004025 004015 306025 4 306019 102006 022038 022039 307001 2 301031 302011 307002 2 301032 302011 307003 4 307001 101000 031001 302005 307004 4 307002 101000 031001 302005 307005 3 307001 101004 302005 307006 3 307002 101004 302005 307007 2 301031 302012 307008 2 301032 302012 307009 2 301031 302013 307011 16 001063 002001 301011 301012 301024 007006 011001 011016 011017 011002 011041 007006 012001 012003 010052 020009 307012 5 103000 031001 008023 005021 020001 307013 8 106000 031001 001064 008014 020061 008014 020061 020018 307014 3 101000 031001 020019 307015 4 101000 031001 302005 020002 307016 3 101000 031001 020020 307017 3 101000 031001 011070 307018 16 008016 102000 031001 008017 301012 104000 031001 007006 011001 011002 011041 020009 101000 031001 020001 307014 307020 3 307011 307014 307016 307021 9 307011 307012 307013 307014 307015 307016 307017 307018 307015 307022 31 001015 301011 301012 301022 008021 004025 010004 012001 013003 033038 008022 106025 002020 001050 005021 007021 015031 015032 008060 015033 015034 008060 015033 015034 015035 201131 202129 013016 202000 201000 015011 307030 2 015001 015002 307031 7 008022 008023 015001 008023 015001 008023 015002 307041 7 301001 001015 301022 301011 301012 301070 307030 307042 9 301001 001015 301022 301011 301012 008021 004025 301070 307031 307043 7 301001 001015 301024 301011 301012 301074 307030 307045 25 001063 008079 002001 301011 301012 301024 007032 011001 011016 011017 008054 011083 011084 011002 008054 011085 011086 011041 008054 007032 012023 012024 007032 010052 020009 307046 5 020060 102000 031001 005021 020059 307047 9 105000 031001 008002 020011 020012 020013 020092 020002 020091 307048 25 008016 102000 031001 008017 301012 112000 031000 007032 011001 008054 011083 011084 011002 008054 011085 011086 011041 008054 007032 020009 101000 031000 020060 307014 307047 307049 4 102000 031000 022043 022021 307050 14 101000 031000 020085 102000 031001 001064 020085 105000 031001 001064 020086 020087 020088 020089 307052 12 001063 008039 301011 301012 008079 008039 301011 301012 008039 301011 301012 301024 307053 16 007032 011001 008054 011083 011084 011002 008054 011085 011086 011041 008054 007032 020009 020060 307014 307047 307054 13 007032 008039 004003 004004 008023 012023 008039 004003 004004 008023 012023 008023 007032 307055 9 033045 008016 008039 004003 301012 008039 004003 301012 307053 307056 6 307052 307053 307054 101000 031001 307055 307059 12 307045 307046 307013 307014 307047 307016 307017 307049 307050 101000 031001 307048 307060 2 007061 012030 307061 3 301031 101005 307060 307062 3 301032 101005 307060 307063 2 007061 012130 307071 67 301090 004074 004023 008023 010004 010051 007004 010009 007032 012101 002051 004051 012118 004052 012119 013004 008023 012151 007032 102005 008050 008020 014032 014033 008050 008020 102018 008052 008022 007032 008053 004003 012152 008053 004003 012153 008053 004003 008023 012101 008053 004003 008023 012101 008023 007032 002002 008053 004003 011046 008053 004003 004004 004023 007032 013060 013051 004053 008050 008020 102006 008052 008022 008053 004003 013052 007032 307072 38 004001 004001 004002 004003 004004 004074 004022 008023 010004 010051 007004 010009 007032 012101 002051 004051 012118 004052 012119 013004 012151 007032 014032 008023 004001 004001 004002 004003 004004 004022 007032 008023 013060 004053 008023 102008 008050 008020 307073 2 307071 307072 307080 13 301090 302031 302035 302036 302047 008002 302048 302037 302043 302044 101002 302045 302046 307081 24 301090 302031 302035 302036 302047 008002 302048 302037 012122 013056 013057 020101 020102 020103 020104 020105 020106 020107 020108 302043 302044 101002 302045 302046 307082 15 301090 302031 302035 302036 302047 008002 302048 302037 012121 012122 302043 302044 101002 302045 302046 307083 14 301090 302031 302035 302036 302047 008002 302048 302037 012122 302043 302044 101002 302045 302046 307084 17 301090 302031 302035 302036 302047 008002 302048 302037 020055 101000 031000 205001 302043 302044 101002 302045 302046 307086 11 301090 302031 302035 302036 008002 302037 302066 302043 302044 101002 302045 307090 13 301092 302031 302035 302036 302047 008002 302048 302037 302043 302044 101002 302045 302046 307091 66 301089 301090 008010 301091 302001 007004 010009 302072 103000 031000 101005 307063 007061 101000 031000 302069 007032 007033 105000 031000 020031 020032 002038 022043 302021 101000 031000 302078 101000 031000 302073 101000 031000 302074 101000 031000 302075 102000 031000 004025 302076 302071 302077 007033 101000 031000 302079 007032 101000 031000 302080 101000 031000 302081 101000 031000 302082 102000 031000 004025 013059 101000 031000 302083 033005 033006 308001 3 301033 302011 022042 308002 3 301034 302011 022042 308003 3 301035 302011 022042 308004 3 301036 302011 022042 308005 2 308004 302024 308006 8 010004 010061 010063 011001 011002 012004 013003 022042 308007 4 301055 302011 007062 022042 308008 84 001003 001020 001005 002001 002036 002149 301011 301012 008021 301011 301012 008021 301021 027004 028004 007030 001051 002148 001012 001014 002040 033022 033023 033027 022063 302021 302022 302023 008081 025026 008081 025026 008081 025026 008081 002034 022060 007070 002190 025086 002035 002168 020031 002038 306004 002030 306005 007031 008081 012064 302001 008081 007032 007033 012101 012103 013003 007032 007033 008082 007033 002169 002002 008021 004025 011001 011002 008021 004025 011043 011041 008082 007033 007032 004024 013011 007032 008021 004024 014021 008021 025028 025028 025028 308009 7 301093 302001 302054 008002 302055 302057 302060 308010 16 001011 113000 031001 301011 301012 301021 004080 022049 004080 022059 004080 022005 002042 022032 002042 004080 308011 27 001011 002001 301011 301012 301023 007030 007031 004074 004023 008023 010051 007032 007033 012101 013004 007032 007033 302056 008023 004003 004004 004023 007032 013060 013051 004053 007032 308012 28 004001 004001 004002 004003 004004 004074 004022 008023 010051 007032 007033 012101 013002 007032 007033 302056 008023 004001 004001 004002 004003 004004 004022 007032 008023 013060 004053 008023 308013 2 308011 308012 308015 49 001003 001020 001005 001011 001205 001001 001002 002044 002045 301011 301012 301021 022063 105002 002098 022070 022071 022073 022074 002098 022076 022077 022094 025043 022078 121000 031001 002098 022082 022084 116000 031001 022080 022085 022086 022087 022088 022089 103000 031001 022090 022186 022187 103000 031001 022092 022186 022187 002098 308016 49 001003 001020 001005 001011 001205 001001 001002 002044 002045 301011 301012 301021 022063 105002 002098 022070 022072 022073 022075 002098 022076 022077 022094 025044 022079 121000 031001 002098 022083 022084 116000 031001 022081 022085 022086 022087 022088 022089 103000 031001 022091 022186 022187 103000 031001 022093 022186 022187 002098 309001 4 301037 101000 031001 303011 309002 4 301038 101000 031001 303011 309003 4 301037 101000 031001 303012 309004 4 301038 101000 031001 303012 309005 5 301037 302004 101000 031001 303013 309006 5 301038 302004 101000 031001 303013 309007 5 301037 302004 101000 031001 303014 309008 5 301038 302004 101000 031001 303014 309011 4 301039 101000 031001 303011 309012 4 301039 101000 031001 303012 309013 5 301039 302004 101000 031001 303013 309014 5 301039 302004 101000 031001 303014 309015 4 301040 101000 031001 303011 309016 4 301040 101000 031001 303012 309017 5 301040 302004 101000 031001 303013 309018 5 301040 302004 101000 031001 303014 309019 5 301031 002003 101000 031001 303011 309020 8 301031 002003 104000 031001 007003 011003 011004 011005 309030 8 015004 015005 104000 031001 004015 008006 007004 015003 309031 8 015004 015005 104000 031001 004025 008006 007004 015003 309040 3 301075 301076 309030 309042 4 307042 301075 301076 309030 309050 9 301110 301113 301114 101000 031002 303050 101000 031001 303051 309051 9 301110 301113 301114 101000 031002 303052 101000 031001 303053 309052 11 301111 301113 301114 302049 022043 101000 031002 303054 101000 031001 303051 309053 9 301112 301113 301114 101000 031002 303054 101000 031001 303051 309054 27 301001 001011 301011 301012 301021 007030 007031 007007 004023 004059 115000 031001 008001 008023 007004 010009 012101 012103 008023 011001 011002 008023 011019 008050 008020 008050 008020 309060 4 301123 301121 302050 303040 309061 21 301120 008041 301122 201131 202129 025069 007004 202000 201000 033007 033035 033015 013009 033007 033035 033015 002013 012101 033007 033035 033015 309062 19 301120 008041 301122 005001 033035 033015 006001 033035 033015 007007 033035 033015 011003 033035 033015 011004 033035 033015 033007 309063 19 301120 008041 301122 005001 033035 033015 006001 033035 033015 007007 033035 033015 011003 033035 033015 011004 033035 033015 033007 309064 26 301120 008041 301122 201131 202129 104002 025069 007004 033035 033015 013003 033035 033015 202000 201000 104002 002013 012101 033035 033015 012103 033035 033015 010009 033035 033015 309065 18 301120 008041 301122 005001 033035 033015 006001 033035 033015 007007 033035 033015 011003 033035 033015 011004 033035 033015 309066 18 301120 008041 301122 008040 201131 202129 025069 007004 013003 202000 201000 002013 012101 012103 010009 010007 011002 011001 309194 5 301194 302004 101000 031001 303014 309195 5 301195 302004 101000 031001 303014 309196 5 301196 302004 101000 031001 303014 309198 5 301198 302004 101000 031001 303014 310001 5 301042 303031 303032 101026 303025 310002 5 301042 303031 303032 101009 303023 310003 5 301042 303031 303032 101006 303023 310004 5 301042 303031 303032 101003 303024 310005 6 301042 303031 303033 101000 031001 303025 310006 6 301042 303031 303033 101000 031001 303023 310007 6 301042 303031 303033 101000 031001 303024 310008 8 310011 101019 310012 002150 025079 025080 033032 014045 310009 3 310011 101015 310012 310010 3 310011 101005 310012 310011 45 008070 001033 001034 008070 001033 001034 001007 002048 005040 025075 201133 005041 201000 005043 025070 033030 033031 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 202126 007001 202000 007024 005021 007025 005022 033033 002151 012064 002151 012064 002151 012064 002151 012064 310012 10 002150 025076 025077 025078 033032 201132 202129 012063 202000 201000 310013 62 001007 005040 004001 004002 004003 004004 004005 004006 005001 006001 007025 005043 025085 201131 202129 002150 008023 008072 014027 008072 014027 002150 008023 008072 014027 008072 014027 002150 008023 008072 014027 008072 014027 202000 201000 201132 202129 002150 008023 008072 012063 008072 012063 002150 008023 008072 012063 008072 012063 008023 008072 012063 008072 012063 002150 008023 008072 012063 008072 012063 202000 201000 310014 3 301072 303041 304011 310015 13 301072 007024 010002 303041 101003 304032 002152 002024 007004 007004 013003 101003 304033 310016 13 301072 007024 010002 303041 101012 304032 002152 002024 007004 007004 013003 101012 304033 310019 68 001007 002019 301011 301013 301023 007025 008021 007025 008021 007025 008021 008029 005040 008075 008003 010004 008003 207002 015001 207000 033070 015030 207002 020081 207000 008003 033042 007004 207002 015001 207000 008003 113021 007004 007004 207002 008021 015005 008021 015005 033007 207000 008026 101020 025143 008026 008043 109015 007004 008090 207006 015008 207000 008090 207002 033007 207000 008043 033071 108008 202124 201107 002071 201000 202000 207002 020081 207000 310020 6 310022 301011 301013 301021 304034 310021 310021 10 108000 031001 201131 202129 007004 007004 202000 201000 015020 010002 310022 4 001007 002019 001033 002172 310023 17 301072 030021 030022 008012 007024 007025 010002 101012 304032 105002 002152 002024 007004 007004 013003 101012 304033 310024 17 301072 030021 030022 008012 007024 007025 010002 101003 304032 105002 002152 002024 007004 007004 013003 101003 304033 310025 61 001007 008021 004001 004002 004003 004004 004005 201138 202131 004006 202000 201000 201132 005041 201000 201129 005043 201000 005002 006002 013040 020029 104024 005042 012163 021083 021084 115003 004001 004002 004003 201142 202131 004026 202000 201000 005001 006001 201138 202129 007001 202000 201000 008021 004001 004002 004003 004004 004005 005040 101003 012070 025054 101004 025055 008007 104028 005002 006002 002111 005021 310026 82 310022 025060 008021 301011 301012 201138 202131 004006 202000 201000 033039 033007 304030 304031 002020 001050 202127 304030 202000 304031 201133 202131 004016 202000 201000 301021 304030 010035 005021 010036 113000 031002 301021 005021 108000 031001 002121 007040 015037 008023 201125 015037 201000 008023 033007 108000 031002 007007 015036 008023 201123 015036 201000 008023 033007 116000 031002 007009 010004 012001 013001 008023 201120 010004 201000 201122 012001 201000 201123 013001 201000 008023 033007 008003 007009 010004 008023 201120 010004 201000 008023 033007 310027 12 301071 301011 301013 301021 030021 030022 010002 304036 002152 002167 101011 304035 310028 12 301071 301011 301013 301021 030021 030022 010002 304036 002152 002167 101011 304037 310029 12 110000 031001 201138 202130 007004 007004 202000 201000 015020 010002 012101 013098 310030 6 310022 301011 301013 301021 304034 310029 310050 14 310051 310052 101000 031002 310053 101004 310054 020010 310052 101015 310053 310052 101005 310053 310051 16 001007 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 007025 005022 102009 002151 012064 310052 12 002019 301011 301012 202131 201138 004006 201000 202000 301021 007024 005021 005043 310053 6 201134 005042 201000 025076 033032 012163 310054 13 201134 005042 201000 025076 033032 201131 202129 102002 008023 014027 008023 202000 201000 310055 8 310051 310052 102020 025076 025052 101000 031002 025050 310193 5 301250 303250 302250 303249 303251 310194 5 301250 303250 302250 303249 303252 310195 3 301250 303250 304250 310196 3 301250 303249 303251 310226 39 310022 025060 008021 301011 301012 201138 202131 004006 202000 201000 033039 033007 304030 304031 002020 001050 202127 304030 202000 304031 201133 202131 004016 202000 201000 301021 304030 010035 005021 010036 107000 031002 301021 005021 103000 031001 002121 007040 015037 311001 9 301051 007002 012001 011001 011002 011031 011032 011033 020041 311002 4 301065 301066 311003 311004 311003 5 010070 011001 011002 012001 013002 311004 18 101000 031000 011034 101000 031000 011035 101000 031000 011075 101000 031000 011076 101000 031000 033025 101000 031000 033026 311005 13 001008 001023 301021 301011 301013 007010 008009 011001 011002 011031 011036 012101 033025 311006 6 007010 011001 011002 002064 012101 012103 311007 7 007010 301021 011001 011002 002064 012101 012103 311008 8 001008 301011 301013 301021 008004 101000 031001 311006 311009 8 001008 301011 301013 301021 008004 101000 031001 311007 311193 16 301197 301011 301012 301023 008004 007004 008021 011001 011002 011031 011034 011035 012001 012003 013003 020041 312001 2 301043 304001 312002 2 301043 304002 312003 2 301042 304003 312004 2 301042 304004 312005 2 301042 020014 312006 2 301044 304005 312007 2 301042 304006 312010 6 001007 005040 002021 005041 004001 004043 312011 9 202131 201149 004006 201000 202126 010002 202000 005043 005053 312012 6 202129 201132 101019 012063 201000 202000 312013 6 005042 202129 201135 012063 201000 202000 312014 8 312010 312011 105056 301023 005042 005052 312012 312013 312015 10 109011 301023 005042 005052 202129 201132 101004 012063 202000 201000 312016 3 312010 312011 312015 312017 10 109008 301023 005042 005052 202129 201132 101003 012063 202000 201000 312018 3 312010 312011 312017 312019 13 301047 301048 015015 029002 021076 106012 201129 006030 201000 102012 005030 021075 021066 312020 11 301047 301048 015015 029002 021076 104012 006030 102012 005030 021075 021066 312021 6 301047 101003 301049 011012 011011 021067 312022 15 301047 008022 011012 011050 022070 022026 312041 010050 021068 021071 021072 021073 312042 021062 015011 312023 7 301047 103003 008022 012061 022050 021069 021085 312024 11 312020 008060 008022 008060 008022 025014 022101 022097 022098 022099 022100 312025 11 312019 008060 008022 008060 008022 025014 022101 022097 022098 022099 022100 312026 19 301046 301011 301013 301023 312031 101004 312030 021110 301023 321027 021111 301023 321027 021112 301023 321027 021113 301023 321027 312027 9 301047 105009 301023 007021 012061 007021 012061 021085 021070 312028 26 301046 301011 301013 301023 008025 201136 004006 201000 312031 312032 101004 312030 101002 312033 021110 301023 321028 021111 301023 321028 021112 301023 321028 021113 301023 321028 312030 13 201130 202129 011012 202000 201000 011052 201135 202130 011011 202000 201000 011053 021104 312031 8 005034 006034 021109 011081 011082 021101 021102 021103 312032 4 021120 021121 013055 021122 312033 4 002104 008022 012063 012065 312041 5 201141 202130 007001 201000 202000 312042 6 021077 021078 021079 021080 021081 021082 312045 21 001007 002019 001096 025061 005040 301011 301013 301021 007002 012180 012181 012182 012183 012184 012185 002174 021086 012186 021087 012187 033043 312050 23 001007 002019 001096 025061 005040 301011 301013 301021 007025 005022 010080 027080 008003 007004 013093 008003 201131 202129 007004 007004 202000 201000 013095 312051 48 001007 002019 001096 025061 005040 008075 301011 301013 301021 001012 201131 001013 201000 010032 010033 010034 007002 008012 025110 025111 025102 002104 025103 025104 025105 025106 025107 025108 002111 002121 002026 002027 021130 021131 021132 021133 021064 025014 021134 107018 005030 105024 201130 006030 201000 021135 021136 033044 312052 77 001007 002019 001096 025061 005040 025120 025121 025124 025125 025122 025123 301011 301013 301021 007002 002119 033047 010081 010082 010083 010084 002116 002117 002118 002156 002157 014055 022150 022151 022152 022153 022154 022155 022156 022157 022158 022159 021137 021138 021139 021140 021141 021142 010085 010086 010087 010088 010089 010090 010091 010092 010093 011002 025126 025127 025128 025129 025130 025131 025132 025133 025134 025135 025136 025137 013096 013097 011095 011096 012188 012189 002158 002159 033052 033053 021143 021144 312053 54 001007 002019 001096 025061 005040 008075 301011 301013 301021 001012 201131 001013 201000 010032 010033 010034 007002 008012 025110 025111 025102 002104 025103 025104 025105 025106 025107 025108 011001 011002 022160 025138 201130 202129 022021 202000 201000 033048 033049 002026 002027 021130 021131 021132 021133 025014 106036 005030 104024 201130 006030 201000 022161 033044 312055 5 005033 005040 006034 010095 021157 312056 11 025060 001032 011082 011081 020095 020096 021155 201133 021101 021102 201000 312057 12 201130 202129 011012 202000 201000 201131 202129 011011 202000 201000 021156 021104 312058 8 301125 301011 301013 301021 312055 021150 101003 321030 312059 4 312056 101000 031001 312057 312060 20 025060 025062 040001 040002 021062 021151 021152 021153 021154 021062 021062 040003 040004 040005 040006 040007 020065 040008 040009 040010 312061 3 312058 312060 312059 312070 27 001007 002019 001144 001124 030010 301011 301013 301021 007012 015012 012165 012166 012167 012168 027010 028010 002099 013048 025081 025082 025083 025084 012080 012081 012082 025174 033028 312200 10 301237 301238 029002 021206 104012 006232 102012 005232 021205 021196 312201 6 301237 101003 301239 011012 011011 021197 312202 13 301237 008022 011012 011050 301240 022243 301241 010050 021198 021201 021202 021203 301242 312203 8 301237 008022 012061 022050 021204 021199 021214 021215 312204 12 312201 001031 011012 011011 021200 021213 004004 008021 004024 055003 011012 011011 312207 3 312202 301202 033191 312208 17 301202 008022 008021 301011 301013 301023 302205 011002 001007 002021 301011 301013 301023 001032 001192 302205 011002 312209 11 301202 001192 301011 301013 301023 302206 104000 022192 102000 005232 022191 312210 13 312202 021192 015202 301011 004004 004005 201138 202131 004006 201000 202000 304228 304229 312211 19 301046 301011 301013 301023 312031 101004 312030 021110 101004 312212 021111 101004 312212 021112 101004 312212 021113 101004 312212 312212 2 301023 321027 313009 4 021001 101000 031001 021001 313010 4 021036 101000 031001 021036 313031 5 006002 006012 101000 031002 030001 313032 5 005002 005012 101000 031002 313031 313041 13 006002 110000 031001 104000 031001 006012 101000 031012 030001 006012 101000 031001 030001 313042 5 005002 005012 101000 031002 313041 313043 17 006002 005002 005012 112000 031001 110000 031001 104000 031001 006012 101000 031011 030001 006012 101000 031001 030001 315001 5 001011 301011 301012 301023 306001 315002 5 001011 301011 301012 301023 306004 315003 25 001087 001085 001086 002036 002148 002149 022055 022056 022067 301011 301012 301021 008080 033050 109000 031002 007065 008080 033050 022045 008080 033050 022064 008080 033050 316001 10 301011 004004 301023 001021 002041 019001 010051 019002 019003 019004 316002 15 008021 004001 004002 004003 004004 004005 001033 008021 004001 004002 004003 004004 004005 007002 007002 316003 12 110000 031001 008011 008007 104000 031001 005002 006002 010002 011002 008007 008011 316004 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 011031 008007 008011 316005 10 108000 031001 008005 008007 005002 006002 001026 019001 008007 008005 316006 14 112000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020011 020012 008007 008011 316007 12 110000 031001 008011 008007 104000 031001 005002 006002 019005 019006 008007 008011 316008 13 111000 031001 008001 008007 008023 103000 031001 005002 006002 010002 008023 008007 008001 316009 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020041 008007 008011 316010 9 107000 031001 008011 008007 001022 005002 006002 008007 008011 316011 19 117000 031001 008011 001022 008007 102000 031001 005002 006002 008021 004001 004002 004003 004004 004005 020090 008021 008007 008011 316020 5 001023 001025 001027 301011 301012 316021 23 301023 002041 019001 019007 019005 019006 019008 008005 010004 008005 010004 019007 008005 008021 004075 011040 019007 105004 005021 005021 102002 019003 019004 316022 24 001032 002041 019001 019010 118000 031001 008021 004014 008005 301023 019005 019006 010004 011041 008021 004075 011040 019008 105004 005021 005021 102002 019003 019004 316026 2 316020 316021 316030 10 301014 001037 010064 008019 001062 008019 001065 008019 001062 008019 316031 8 008021 301011 301012 301027 019005 019006 020028 008021 316032 5 008021 301011 301012 301027 008021 316033 7 008021 301011 301012 101000 031001 301027 008021 316034 17 008079 316030 008011 001022 008007 301023 008007 020090 316031 101000 031000 316032 101000 031001 316033 008011 008079 316035 9 008079 316030 008011 020023 020021 020008 316031 008011 008079 316036 13 008079 316030 008011 001027 316031 101000 031000 316032 101000 031001 316033 008011 008079 316037 7 008079 316030 008011 011031 316031 008011 008079 316038 8 008079 316030 008011 020041 020021 316031 008011 008079 316039 7 008079 316030 008011 020024 316031 008011 008079 316040 6 316030 008079 301014 001037 010064 008079 316050 16 301001 301011 301012 002160 008005 005002 006002 008005 019100 019005 019006 019101 019102 019103 019104 019105 316052 29 301005 301011 301012 001007 025150 122000 031001 001027 019150 019106 008005 005002 006002 008005 019107 019005 019006 019108 019109 019110 019111 019112 019113 019114 019115 019116 019117 019118 019119 318001 2 301025 024011 318003 4 301026 024005 024004 024021 318004 6 301025 004023 013011 024005 024004 024022 321001 6 002101 002114 002105 002106 002107 002121 321003 4 021051 021014 021017 021030 321004 5 301031 002003 101000 031001 321003 321005 12 025004 002121 002122 002123 002124 002125 002126 002127 002128 002129 002130 002131 321006 4 025001 025002 025003 025005 321007 8 025009 025010 025011 025012 025013 025015 025016 025017 321008 3 025006 025007 025008 321009 2 025018 025019 321010 13 002101 007002 002102 002103 002104 002105 002106 002107 002108 002109 002110 002132 002133 321011 3 030031 030032 029002 321012 3 101000 031001 002135 321021 15 002003 002101 201130 002106 201000 201132 202130 002121 202000 201000 201133 202129 025001 202000 201000 321022 11 007007 204001 031021 011001 204000 011002 204001 031021 011006 204000 021030 321023 9 007007 021091 021030 202129 021014 201129 021017 202000 201000 321024 7 007007 204001 031021 012007 011006 204000 021030 321025 17 007007 021091 021030 202129 021014 201129 021017 202000 201000 021092 021030 025092 201129 202129 021017 202000 201000 321026 10 007007 204001 031021 012007 025091 011071 011072 011073 011074 204000 321027 18 021118 202129 201132 002112 201000 201131 002111 201000 202000 002104 021105 021106 021107 021114 021115 021116 008018 021117 321028 18 021118 202129 201132 002112 201000 201131 002111 201000 202000 002104 021123 021106 021107 021114 021115 021116 008018 021117 321030 18 008085 202129 201131 002111 201000 202000 002134 021062 021063 021158 021159 021160 021161 021162 021163 021164 021165 021166 340001 45 001007 001031 002019 002020 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 007024 005021 007025 005022 005043 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 033060 033061 033062 033063 033064 033065 101010 340002 101087 340003 002019 025051 101007 340004 340002 3 025140 025141 025142 340003 5 104100 201136 005042 201000 014046 340004 9 005060 005061 025085 105006 005042 025142 014047 025142 014048 340005 94 001007 002019 001096 025061 005044 005040 001030 301011 301012 004007 005001 006001 008029 008074 008077 040011 025097 025095 025098 025099 021144 025096 040012 040013 021169 022151 022162 022163 025160 025133 022156 022164 022165 022166 021137 021138 022167 021139 021118 021145 021146 021147 022168 022169 022170 025161 025162 022171 022172 022173 022174 021170 021171 022175 021172 021118 021173 021174 021175 102003 002153 012063 013090 013091 007002 011097 011098 007002 011095 011096 010096 010081 010082 010083 010101 025132 025163 025126 025128 025164 010085 010097 010086 010087 010092 010088 010089 010098 010099 010090 010100 010093 025127 040014 340007 57 001007 001031 002019 002020 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 007024 005021 007025 005022 005043 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 103003 025140 025141 033060 033061 033062 033063 033064 033065 040020 101010 340002 101087 340003 002019 025051 101007 340004 020081 008029 020083 008029 040018 040019 040021 040022 340008 61 001007 001031 002019 002020 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 007024 005021 007025 005022 005043 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 103003 025140 025141 033060 033061 033062 033063 033064 033065 040020 101010 340002 104000 031002 201136 005042 201000 014046 002019 025051 101007 340004 020081 008029 020083 008029 040018 040019 040021 040022 emoslib-000392+dfsg.1/bufrtables/D0000000000098000000.TXT0000755000175000017500000027077012127406245022254 0ustar amckinstryamckinstry 300002 2 000002 000003 300003 3 000010 000011 000012 300004 9 300003 000013 000014 000015 000016 000017 000018 000019 000020 300010 4 300003 101000 031001 000030 301001 2 001001 001002 301002 3 001003 001004 001005 301003 3 001011 001012 001013 301011 3 004001 004002 004003 301012 2 004004 004005 301013 3 004004 004005 004006 301021 2 005001 006001 301022 3 005001 006001 007001 301023 2 005002 006002 301024 3 005002 006002 007001 301025 3 301023 004003 301012 301026 7 301021 004003 004003 004004 004004 004005 004005 301031 5 301001 002001 301011 301012 301022 301032 5 301001 002001 301011 301012 301024 301033 5 001005 002001 301011 301012 301021 301034 5 001005 002001 301011 301012 301023 301035 7 001005 001012 001013 002001 301011 301012 301023 301036 5 301003 002001 301011 301012 301023 301037 6 301001 002011 002012 301011 301012 301022 301038 6 301001 002001 002012 301011 301012 301024 301039 6 301003 002011 002012 301011 301012 301023 301040 6 301003 002011 002012 301011 301012 301024 301041 5 001007 002021 002022 301011 301012 301042 2 301041 301021 301043 5 001007 002023 301011 301013 301021 301044 5 001007 002024 301011 301013 301021 301051 6 001006 002061 301011 301012 301021 008004 301194 8 001194 001012 001013 002011 002012 301011 301012 301023 301195 8 001195 001012 001013 002011 002012 301011 301012 301023 301200 2 001032 033194 301201 2 101003 033193 301237 6 001007 001012 002021 301011 301013 301023 301238 14 002104 002121 002113 002026 002027 002111 002112 202127 001013 202126 007001 202000 025010 021194 301239 5 002111 002112 021192 021193 021195 301240 5 201131 202129 022021 201000 202000 301241 5 201141 202130 007001 201000 202000 301242 6 021207 021208 021209 021210 021211 021212 302001 4 010004 010051 010061 010063 302002 5 010004 007004 010003 010061 010063 302003 9 011011 011012 012004 012006 013003 020001 020003 020004 020005 302004 7 020010 008002 020011 020013 020012 020012 020012 302005 4 008002 020011 020012 020013 302011 3 302001 302003 302004 302012 3 302002 302003 302004 302021 3 022001 022011 022021 302022 3 022002 022012 022022 302023 3 022003 022013 022023 302024 3 302022 302023 302023 303001 3 007003 011001 011002 303002 3 007004 011001 011002 303003 4 007004 010003 012001 012003 303004 6 007004 010003 012001 012003 011001 011002 303011 4 007003 008001 011001 011002 303012 4 007004 008001 011001 011002 303013 7 007004 008001 010003 012001 013003 011001 011002 303014 7 007004 008001 010003 012001 012003 011001 011002 303021 4 007004 007004 204007 031021 303022 3 303021 010003 204000 303023 3 303021 012001 204000 303024 3 303021 013016 204000 303025 5 002025 204007 031021 012063 204000 303026 6 007004 008003 204007 031021 012001 204000 303027 5 007004 204007 031021 010003 204000 303031 6 007004 008003 007021 007022 008012 012061 303032 2 020011 020016 304001 5 008003 010004 012001 011001 011002 304002 4 008003 010004 011001 011002 304003 2 008003 012001 304004 4 008003 010004 020010 012001 304005 4 002024 007004 007004 013003 304006 3 014001 014001 014003 306001 5 002032 102000 031001 007062 022042 306002 3 002031 022004 022031 306003 4 002002 011011 011012 012004 306004 7 002032 002033 103000 031001 007062 022043 022062 306005 6 002031 103000 031001 007062 022004 022031 306006 3 306003 306002 022063 306007 6 001012 001014 306008 004024 027003 028003 306008 3 002034 002035 002036 307001 2 301031 302011 307002 2 301032 302011 307003 4 307001 101000 031001 302005 307004 4 307002 101000 031001 302005 307005 3 307001 101004 302005 307006 3 307002 101004 302005 307007 2 301031 302012 307008 2 301032 302012 308001 3 301033 302011 022042 308002 3 301034 302011 022042 308003 3 301035 302011 022042 308004 3 301036 302011 022042 308005 2 308004 302024 308006 8 010004 010061 010063 011001 011002 012004 013003 022042 309001 4 301037 101000 031001 303011 309002 4 301038 101000 031001 303011 309003 4 301037 101000 031001 303012 309004 4 301038 101000 031001 303012 309005 5 301037 302004 101000 031001 303013 309006 5 301038 302004 101000 031001 303013 309007 5 301037 302004 101000 031001 303014 309008 5 301038 302004 101000 031001 303014 309011 4 301039 101000 031001 303011 309012 4 301039 101000 031001 303012 309013 5 301039 302004 101000 031001 303013 309014 5 301039 302004 101000 031001 303014 309015 4 301040 101000 031001 303011 309016 4 301040 101000 031001 303012 309017 5 301040 302004 101000 031001 303013 309018 5 301031 002003 101000 031001 303011 309019 8 301031 002003 104000 031001 007003 011003 011004 011005 309194 5 301194 302004 101000 031001 303014 309195 5 301195 302004 101000 031001 303014 310001 5 301042 303031 303032 101026 303025 310002 5 301042 303031 303032 101009 303023 310003 5 301042 303031 303032 101006 303023 310004 5 301042 303031 303032 101003 303024 311001 9 301051 007002 012001 011001 011002 011031 011032 011033 020041 312001 2 301043 304001 312002 2 301043 304002 312003 2 301042 304003 312004 2 301042 304004 312005 2 301042 020014 312006 2 301044 304005 312007 2 301042 304006 312010 6 001007 005040 002021 005041 004001 004043 312011 9 202131 201149 004006 201000 102032 010002 202000 005043 005053 312012 6 202129 201132 101019 012063 201000 202000 312013 6 005033 202129 201135 012063 201000 202000 312014 8 312010 312011 105056 301023 005042 005052 312012 312013 312015 10 109011 301023 005042 005052 202129 201132 101004 012063 202000 201000 312016 3 312010 312011 312015 312017 10 109008 301023 005042 005052 202129 201132 101003 012063 202000 201000 312018 3 312010 312011 312017 312200 10 301237 301238 029002 021206 104012 006232 102012 005232 021205 021196 312201 6 301237 101003 301239 011012 011011 021197 312202 13 301237 008022 011012 011050 301240 022243 301241 010050 021198 021201 021202 021203 301242 312203 6 301237 008022 012061 022050 021204 021199 312204 11 312201 011012 011011 021200 004003 004004 008222 004024 002192 011012 011011 313009 4 021001 101000 031001 021001 313010 4 021036 101000 031001 021036 313031 5 006002 006012 101000 031002 030001 313032 5 005002 005012 101000 031002 313031 313041 10 006002 006012 106000 031001 101000 031011 030001 101000 031001 030001 313042 5 005002 005012 101000 031002 313041 315001 5 001011 301011 301012 301023 306001 315002 5 001011 301011 301012 301023 306004 316001 10 301011 004004 301023 001021 002041 019001 010051 019002 019003 019004 318001 2 301025 024011 318003 4 301026 024005 024004 024021 318004 6 301025 004023 013011 024005 024004 024022 321001 6 002101 002114 002105 002106 002107 002121 321003 4 021051 021014 021017 025030 321004 5 301031 002003 101000 031001 321003 321005 12 025004 002121 002122 002123 002124 002125 002126 002127 002128 002129 002130 002131 321006 4 025001 025002 025003 025005 321007 8 025009 025010 025011 025012 025013 025015 025016 025017 321008 3 025006 025007 025008 321009 2 025018 025019 321010 13 002101 007002 002102 002103 002104 002105 002106 002107 002108 002109 002110 002132 002133 321011 3 030031 030032 029002 321012 3 101000 031001 002135 emoslib-000392+dfsg.1/bufrtables/B0000000000098014001.TXT0000755000175000017500000103112012127406245022241 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 CHARACTER 0 3 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000004 BUFR/CREX MASTER TABLE CCITTIA5 0 0 16 CHARACTER 0 2 000005 BUFR/CREX EDITION NUMBER CCITTIA5 0 0 24 CHARACTER 0 3 000006 BUFR MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000007 CREX MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000008 BUFR LOCAL TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 CHARACTER 0 1 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 CHARACTER 0 2 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 CHARACTER 0 3 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000015 UNITS NAME CCITTIA5 0 0 192 CHARACTER 0 24 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000017 UNITS SCALE CCITTIA5 0 0 24 CHARACTER 0 3 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 CHARACTER 0 10 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 CHARACTER 0 3 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 48 CHARACTER 0 6 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 NUMERIC 0 2 001002 WMO STATION NUMBER NUMERIC 0 0 10 NUMERIC 0 3 001003 WMO REGION NUMBER/GEOGRAPHICAL AREA CODE TABLE 1003 0 0 3 CODE TABLE 1003 0 1 001004 WMO REGION SUB-AREA (SEE NOTE 9) NUMERIC 0 0 3 NUMERIC 0 1 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 NUMERIC 0 5 001006 AIRCRAFT FLIGHT NUMBER CCITTIA5 0 0 64 CHARACTER 0 8 001007 SATELLITE IDENTIFIER CODE TABLE 1007 0 0 10 CODE TABLE 1007 0 4 001008 AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION CCITTIA5 0 0 64 CHARACTER 0 8 001009 TYPE OF COMMERCIAL AIRCRAFT CCITTIA5 0 0 64 CHARACTER 0 8 001010 STATIONARY BUOY PLATFORM IDENTIFIER; E.G. C-MAN BUOYS CCITTIA5 0 0 64 CHARACTER 0 8 001011 SHIP OR MOBILE LAND STATION IDENTIFIER CCITTIA5 0 0 72 CHARACTER 0 9 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM* M/S 0 0 10 M/S 0 3 001014 PLATFORM DRIFT SPEED (HIGH PRECISION) M/S 2 0 10 M/S 2 4 001015 STATION OR SITE NAME CCITTIA5 0 0 160 CHARACTER 0 20 001018 SHORT STATION OR SITE NAME CCITTIA5 0 0 40 CHARACTER 0 5 001019 LONG STATION OR SITE NAME CCITTIA5 0 0 256 CHARACTER 0 32 001020 WMO REGION SUB-AREA NUMERIC 0 0 4 NUMERIC 0 2 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 NUMERIC 0 4 001022 NAME OF FEATURE (SEE NOTE 11) CCITTIA5 0 0 224 CHARACTER 0 28 001023 OBSERVATION SEQUENCE NUMBER NUMERIC 0 0 9 NUMERIC 0 3 001024 WIND SPEED SOURCE CODE TABLE 1024 0 0 5 001025 STORM IDENTIFIER CCITTIA5 0 0 24 CHARACTER 0 3 001026 WMO STORM NAME CCITTIA5 0 0 64 CHARACTER 0 8 001027 WMO LONG STORM NAME CCITTIA5 0 0 80 CHARACTER 0 10 001028 AEROSOL OPTICAL DEPTH (AOD) SOURCE CODE TABLE 1028 0 0 5 CODE TABLE 1028 0 2 001029 SSI SOURCE CODE TABLE 1029 0 0 5 CODE TABLE 1029 0 2 001030 NUMERICAL MODEL IDENTIFIER CCITTIA5 0 0 128 CHARACTER 0 16 001031 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE (SEE NOTE 10) CODE TABLE 1031 0 0 16 CODE TABLE 1031 0 5 001032 GENERATING APPLICATION CODE TABLE 1032 0 0 8 CODE TABLE 1032 0 3 001033 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 1033 0 0 8 CODE TABLE 1033 0 3 001034 IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE CODE TABLE 1034 0 0 8 CODE TABLE 1034 0 3 001035 ORIGINATING CENTRE COMMON CODE TABLE C-11 0 0 16 COMMON CODE TABLE C-11 0 5 001036 AGENCY IN CHARGE OF OPERATING THE OBSERVING PLATFORM CODE TABLE 1036 0 0 20 CODE TABLE 1036 0 7 001037 SIGMET SEQUENCE IDENTIFIER CCITTIA5 0 0 24 CHARACTER 0 3 001038 SOURCE OF SEA ICE FRACTION CODE TABLE 1038 0 0 5 CODE TABLE 1035 0 2 001039 GRAPHICAL AREA FORECAST (GFA) SEQUENCE IDENTIFIER CCITTIA5 0 0 40 CHARACTER 0 5 001041 ABSOLUTE PLATFORM VELOCITY - FIRST COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001042 ABSOLUTE PLATFORM VELOCITY - SECOND COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001043 ABSOLUTE PLATFORM VELOCITY - THIRD COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001050 PLATFORM TRANSMITTER ID NUMBER NUMERIC 0 0 17 NUMERIC 0 6 001051 PLATFORM TRANSMITTER ID NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001060 AIRCRAFT REPORTING POINT (BEACON IDENTIFIER) CCITTIA5 0 0 64 CHARACTER 0 8 001062 SHORT ICAO LOCATION INDICATOR CCITTIA5 0 0 32 CHARACTER 0 4 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 CHARACTER 0 8 001064 RUNWAY DESIGNATOR CCITTIA5 0 0 32 CHARACTER 0 4 001065 ICAO REGION IDENTIFIER CCITTIA5 0 0 256 CHARACTER 0 32 001075 TIDE STATION IDENTIFICATION CCITTIA5 0 0 40 CHARACTER 0 5 001080 SHIP LINE NUMBER ACCORDING TO SOOP CCITTIA5 0 0 32 CHARACTER 0 4 001081 RADIOSONDE SERIAL NUMBER CCITTIA5 0 0 160 CHARACTER 0 20 001082 RADIOSONDE ASCENSION NUMBER (SEE NOTE 12) NUMERIC 0 0 14 NUMERIC 0 4 001083 RADIOSONDE RELEASE NUMBER (SEE NOTE 12) NUMERIC 0 0 3 NUMERIC 0 1 001085 OBSERVING PLATFORM MANUFACTURER'S MODEL CCITTIA5 0 0 160 CHARACTER 0 20 001086 OBSERVING PLATFORM MANUFACTURER'S SERIAL NUMBER CCITTIA5 0 0 256 CHARACTER 0 32 001087 WMO MARINE OBSERVING PLATFORM EXTENDED IDENTIFIER NUMERIC 0 0 23 NUMERIC 0 7 001090 TECHNIQUE FOR MAKING UP INITIAL PERTURBATIONS CODE TABLE 1090 0 0 8 CODE TABLE 1090 0 3 001091 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 10 NUMERIC 0 4 001092 TYPE OF ENSEMBLE FORECAST CODE TABLE 1092 0 0 8 CODE TABLE 1092 0 3 001093 BALLOON LOT NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001094 WBAN NUMBER NUMERIC 0 0 17 NUMERIC 0 5 001095 OBSERVER IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 001096 STATION ACQUISITION CCITTIA5 0 0 160 CHARACTER 0 20 001101 STATE IDENTIFIER CODE TABLE 1101 0 0 10 CODE TABLE 1101 0 3 001102 NATIONAL STATION NUMBER NUMERIC 0 0 30 NUMERIC 0 9 001124 GRID POINT IDENTIFIER NUMERIC 0 0 24 NUMERIC 0 8 001144 SNAPSHOT IDENTIFIER NUMERIC 0 0 31 NUMERIC 0 10 001192 MODEL VERSION NUMBER CODE TABLE 001192 0 0 8 001193 SIGMA_0 SIMULATION METHOD CODE TABLE 1193 0 0 4 001194 CARRIER BALLOON/AIRCRAFT IDENTIFIER CCITTIA5 0 0 72 001195 MOBIL LAND STATION IDENTIFIER CCITTIA5 0 0 72 001196 CONSTANT LEVEL BALLOON IDENTIFIER CCITTIA5 0 0 72 001197 RTP - PLATFORM TYPE CODE TABLE 1197 0 0 10 001198 ITP - DECK ID CODE TABLE 1198 0 0 10 001199 DUP - DUPLICATE STATUS CODE TABLE 1199 0 0 4 001201 GENERATING APPLICATION CODE TABLE 1201 0 0 8 001205 SATELLITE IDENTIFIER CODE TABLE 1205 0 0 10 001208 VELOCITY OF PLATFORM, X M/S 5 -1073741824 31 001209 VELOCITY OF PLATFORM, Y M/S 5 -1073741824 31 001210 VELOCITY OF PLATFORM, Z M/S 5 -1073741824 31 001211 ORIGIN OF SEA SURFACE ANALYSIS CCITTIA5 0 0 160 CHARACTER 0 20 001220 RADAR COMPOSITE NAME CCITTIA5 0 0 160 CHARACTER 0 20 002001 TYPE OF STATION CODE TABLE 2001 0 0 2 CODE TABLE 2001 0 1 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 2002 0 0 4 FLAG TABLE 2002 0 2 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 2003 0 0 4 CODE TABLE 2003 0 2 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUREMENT OR TYPE OF C CODE TABLE 2004 0 0 4 CODE TABLE 2004 0 2 002005 PRECISION OF TEMPERATURE OBSERVATION K 2 0 7 K 2 3 002011 RADIOSONDE TYPE CODE TABLE 2011 0 0 8 CODE TABLE 2011 0 3 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 2012 0 0 4 CODE TABLE 2012 0 2 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 2013 0 0 4 CODE TABLE 2013 0 2 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM USED CODE TABLE 2014 0 0 7 CODE TABLE 2014 0 3 002015 RADIOSONDE COMPLETENESS CODE TABLE 2015 0 0 4 CODE TABLE 2015 0 2 002016 RADIOSONDE CONFIGURATION FLAG TABLE 2016 0 0 5 FLAG TABLE 2016 0 2 002019 SATELLITE INSTRUMENTS CODE TABLE 2019 0 0 11 CODE TABLE 2019 0 4 002020 SATELLITE CLASSIFICATION CODE TABLE 2020 0 0 9 CODE TABLE 2020 0 3 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2021 0 0 9 FLAG TABLE 2021 0 3 002022 SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2022 0 0 8 FLAG TABLE 2022 0 3 002023 SATELLITE DERIVED WIND COMPUTATION METHOD CODE TABLE 2023 0 0 4 CODE TABLE 2023 0 2 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2024 0 0 4 CODE TABLE 2024 0 2 002025 SATELLITE CHANNEL(S) USED IN COMPUTATION FLAG TABLE 2025 0 0 25 FLAG TABLE 2025 0 9 002026 CROSS TRACK RESOLUTION M 2 0 12 M 2 4 002027 ALONG TRACK RESOLUTION M 2 0 12 M 2 4 002028 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 M 0 6 002029 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 M 0 6 002030 METHOD OF CURRENT MEASUREMENT CODE TABLE 2030 0 0 3 CODE TABLE 2030 0 1 002031 DURATION AND TIME OF CURRENT MEASUREMENT CODE TABLE 2031 0 0 5 CODE TABLE 2031 0 2 002032 INDICATOR FOR DIGITIZATION CODE TABLE 2032 0 0 2 CODE TABLE 2032 0 1 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 2033 0 0 3 CODE TABLE 2033 0 1 002034 DROGUE TYPE CODE TABLE 2034 0 0 5 CODE TABLE 2034 0 2 002035 CABLE LENGTH M 0 0 9 M 0 3 002036 BUOY TYPE CODE TABLE 2036 0 0 2 CODE TABLE 2036 0 1 002037 METHOD OF TIDAL OBSERVATION CODE TABLE 2037 0 0 3 CODE TABLE 2037 0 1 002038 METHOD OF WATER TEMPERATURE AND/OR SALINITY MEASUREMENT CODE TABLE 2038 0 0 4 CODE TABLE 2038 0 2 002039 METHOD OF WET-BULB TEMPERATURE MEASUREMENT CODE TABLE 2039 0 0 3 CODE TABLE 2039 0 1 002040 METHOD OF REMOVING VELOCITY AND MOTION OF PLATFORM FROM CURRENT CODE TABLE 2040 0 0 4 CODE TABLE 2040 0 2 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 2041 0 0 6 CODE TABLE 2041 0 2 002042 INDICATOR FOR SEA SURFACE CURRENT SPEED CODE TABLE 2042 0 0 2 CODE TABLE 2042 0 1 002044 INDICATOR FOR METHOD OF CALCULATING SPECTRAL WAVE DATA CODE TABLE 2044 0 0 4 CODE TABLE 2044 0 2 002045 INDICATOR FOR TYPE OF PLATFORM CODE TABLE 2045 0 0 4 CODE TABLE 2045 0 2 002046 WAVE MEASUREMENT INSTRUMENTATION CODE TABLE 2046 0 0 4 CODE TABLE 2046 0 2 002048 SATELLITE SENSOR INDICATOR CODE TABLE 2048 0 0 4 CODE TABLE 2048 0 2 002049 GEOSTATIONARY SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2049 0 0 8 FLAG TABLE 2049 0 3 002050 GEOSTATIONARY SOUNDER SATELLITE CHANNELS USED FLAG TABLE 2050 0 0 20 FLAG TABLE 2050 0 7 002051 INDICATOR TO SPECIFY OBSERVING METHOD FOR EXTREME TEMPERATURES CODE TABLE 2051 0 0 4 CODE TABLE 2051 0 2 002052 GEOSTATIONARY IMAGER SATELLITE CHANNELS USED FLAG TABLE 2052 0 0 6 FLAG TABLE 2052 0 2 002053 GOES-I/M BRIGHTNESS TEMPERATURE CHARACTERISTICS CODE TABLE 2053 0 0 4 CODE TABLE 2053 0 2 002054 GOES-I/M SOUNDINGS PARAMETER CHARACTERISTICS CODE TABLE 2054 0 0 4 CODE TABLE 2054 0 2 002055 GEOSTATIONARY SOUNDINGS STATISTICAL PARAMETERS CODE TABLE 2055 0 0 4 CODE TABLE 2055 0 2 002056 GEOSTATIONARY SOUNDINGS ACCURACY STATISTICS CODE TABLE 2056 0 0 4 CODE TABLE 2056 0 2 002057 ORIGIN OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2057 0 0 4 CODE TABLE 2057 0 2 002058 VALID TIMES OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2058 0 0 4 CODE TABLE 2058 0 2 002059 ORIGIN OF ANALYSIS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2059 0 0 4 CODE TABLE 2059 0 2 002060 ORIGIN OF SURFACE INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2060 0 0 4 CODE TABLE 2060 0 2 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 2061 0 0 3 CODE TABLE 2061 0 1 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 2062 0 0 4 CODE TABLE 2062 0 2 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 DEGREE 2 5 002064 AIRCRAFT ROLL ANGLE QUALITY CODE TABLE 2064 0 0 2 CODE TABLE 2064 0 1 002065 ACARS GROUND RECEIVING STATION CCITTIA5 0 0 40 CHARACTER 0 5 002066 RADIOSONDE GROUND RECEIVING SYSTEM CODE TABLE 2066 0 0 6 CODE TABLE 2066 0 2 002067 RADIOSONDE OPERATING FREQUENCY Hz -5 0 15 Hz -5 5 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 2070 0 0 4 CODE TABLE 2070 0 2 002071 SPECTROGRAPHIC WAVELENGTH M 13 0 30 M 13 10 002080 BALLOON MANUFACTURER CODE TABLE 2080 0 0 6 CODE TABLE 2080 0 2 002081 TYPE OF BALLOON CODE TABLE 2081 0 0 5 CODE TABLE 2081 0 2 002082 WEIGHT OF BALLOON KG 3 0 12 KG 3 4 002083 TYPE OF BALLOON SHELTER CODE TABLE 2083 0 0 4 CODE TABLE 2083 0 2 002084 TYPE OF GAS USED IN BALLOON CODE TABLE 2084 0 0 4 CODE TABLE 2084 0 2 002085 AMOUNT OF GAS USED IN BALLOON KG 3 0 13 KG 3 4 002086 BALLOON FLIGHT TRAIN LENGTH M 1 0 10 M 1 4 002091 ENTRY SENSOR 4/20 MA A 4 0 10 A 4 3 002095 TYPE OF PRESSURE SENSOR CODE TABLE 2095 0 0 5 CODE TABLE 2095 0 2 002096 TYPE OF TEMPERATURE SENSOR CODE TABLE 2096 0 0 5 CODE TABLE 2096 0 2 002097 TYPE OF HUMIDITY SENSOR CODE TABLE 2097 0 0 5 CODE TABLE 2097 0 2 002099 POLARISATION CODE TABLE 2099 0 0 3 CODE TABLE 2099 0 1 002100 RADAR CONSTANT dB 1 0 12 dB 1 4 002101 TYPE OF ANTENNA CODE TABLE 2101 0 0 4 CODE TABLE 2101 0 2 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 M 0 3 002103 RADOME FLAG TABLE 2103 0 0 2 FLAG TABLE 2103 0 1 002104 ANTENNA POLARISATION CODE TABLE 2104 0 0 4 CODE TABLE 2104 0 2 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 dB 0 2 002106 3-DB BEAMWIDTH DEGREE 1 0 6 DEGREE 1 2 002107 SIDELOBE SUPPRESSION dB 0 0 6 dB 0 2 002108 CROSSPOL DISCRIMINATION (ON AXIS) dB 0 0 6 dB 0 2 002109 ANTENNA SPEED (AZIMUTH) DEGREE/S 2 0 12 DEGREE/S 2 4 002110 ANTENNA SPEED (ELEVATION) DEGREE/S 2 0 12 DEGREE/S 2 4 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 DEGREE 1 4 002112 RADAR LOOK ANGLE DEGREE 1 0 12 DEGREE 1 4 002113 NUMBER OF AZIMUTH LOOKS NUMERIC 0 0 4 NUMERIC 0 2 002114 ANTENNA EFFECTIVE SURFACE AREA M**2 0 0 15 M**2 0 5 002115 TYPE OF SURFACE OBSERVING EQUIPMENT CODE TABLE 2115 0 0 5 CODE TABLE 2115 0 2 002116 PERCENTAGE OF 320 MHZ BAND PROCESSED % 0 0 7 % 0 3 002117 PERCENTAGE OF 80 MHZ BAND PROCESSED % 0 0 7 % 0 3 002118 PERCENTAGE OF 20 MHZ BAND PROCESSED % 0 0 7 % 0 3 002119 RA-2 INSTRUMENT OPERATIONS CODE TABLE 2119 0 0 3 CODE TABLE 2119 0 1 002120 OCEAN WAVE FREQUENCY Hz 3 0 10 Hz 3 4 002121 MEAN FREQUENCY Hz -8 0 7 Hz -8 3 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 Hz -6 3 002123 PEAK POWER W -4 0 7 W -4 3 002124 AVERAGE POWER W -1 0 7 W -1 3 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 Hz -1 3 002126 PULSE WIDTH S 7 0 6 S 7 2 002127 RECEIVER INTERMEDIATE FREQUENCY Hz -6 0 7 Hz -6 3 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 Hz -5 2 002129 MINIMUM DETECTABLE SIGNAL dB 0 -150 5 dB 0 3 002130 DYNAMIC RANGE dB 0 0 7 dB 0 3 002131 SENSITIVITY TIME CONTROL (STC) FLAG TABLE 2131 0 0 2 FLAG TABLE 2131 0 1 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 DEGREE 2 5 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 002136 RANGE PROCESSED BY RANGE ATTENUATION CORRECTION M -3 0 16 M -3 5 002140 SATELLITE RADAR BEAM AZIMUTH ANGLE DEGREE 0 0 9 DEGREE 0 3 002141 MEASUREMENT TYPE CCITTIA5 0 0 24 CHARACTER 0 3 002142 OZONE INSTRUMENT SERIAL NUMBER/ IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 002143 OZONE INSTRUMENT TYPE CODE TABLE 2143 0 0 7 CODE TABLE 2143 0 3 002144 LIGHT SOURCE TYPE FOR BREWER SPECTRO PHOTOMETER CODE TABLE 2144 0 0 4 CODE TABLE 2144 0 2 002145 WAVE LENGTH SETTING FOR DOBSON INSTRUMENTS CODE TABLE 2145 0 0 4 CODE TABLE 2145 0 2 002146 SOURCE CONDITIONS FOR DOBSON INSTRUMENTS CODE TABLE 2146 0 0 4 CODE TABLE 2146 0 2 002148 DATA COLLECTION AND/OR LOCATION SYSTEM CODE TABLE 2148 0 0 5 CODE TABLE 2148 0 2 002149 TYPE OF DATA BUOY CODE TABLE 2149 0 0 6 CODE TABLE 2149 0 2 002150 TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER CODE TABLE 2150 0 0 6 CODE TABLE 2150 0 2 002151 RADIOMETER IDENTIFIER CODE TABLE 2151 0 0 11 CODE TABLE 2151 0 4 002152 SATELLITE INSTRUMENT USED IN DATA PROCESSING(6) FLAG TABLE 2152 0 0 31 FLAG TABLE 2152 0 10 002153 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 Hz -8 8 002154 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 Hz -8 8 002156 PERCENTAGE OF VALID KU OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002157 PERCENTAGE OF VALID S OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002158 RA-2 INSTRUMENT FLAG TABLE 2158 0 0 9 FLAG TABLE 2158 0 3 002159 MWR INSTRUMENT FLAG TABLE 2159 0 0 8 FLAG TABLE 2159 0 3 002160 WAVE LENGTH OF THE RADAR CODE TABLE 2160 0 0 4 CODE TABLE 2160 0 2 002163 HEIGHT ASSIGNMENT METHOD CODE TABLE 2163 0 0 4 CODE TABLE 2163 0 2 002164 TRACER CORRELATION METHOD CODE TABLE 2164 0 0 3 CODE TABLE 2164 0 1 002165 RADIANCE FLAG FLAG TABLE 2165 0 0 15 FLAG TABLE 2165 0 5 002166 RADIANCE TYPE CODE TABLE 2166 0 0 4 CODE TABLE 2166 0 2 002167 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2167 0 0 4 CODE TABLE 2167 0 2 002168 HYDROSTATIC PRESSURE OF LOWER END OF CABLE (THERMISTOR STRING) PA -3 0 16 KPA 0 5 002169 ANEMOMETER TYPE CODE TABLE 2169 0 0 4 CODE TABLE 2169 0 2 002172 PRODUCT TYPE FOR RETRIEVED ATMOSPHERIC GASES CODE TABLE 2172 0 0 8 CODE TABLE 2172 0 3 002173 SQUARE OF THE OFF NADIR ANGLE (7) DEGREE2 4 0 10 DEGREE2 4 4 002174 MEAN ACROSS TRACK PIXEL NUMBER NUMERIC 0 0 9 NUMERIC 0 3 002175 METHOD OF PRECIPITATION MEASUREMENT CODE TABLE 2175 0 0 4 CODE TABLE 2175 0 2 002176 METHOD OF STATE OF GROUND MEASUREMENT CODE TABLE 2176 0 0 4 CODE TABLE 2176 0 2 002177 METHOD OF SNOW DEPTH MEASUREMENT CODE TABLE 2177 0 0 4 CODE TABLE 2177 0 2 002178 METHOD OF LIQUID CONTENT MEASUREMENT OF PRECIPITATION CODE TABLE 2178 0 0 4 CODE TABLE 2178 0 2 002179 TYPE OF SKY CONDITION ALGORITHM CODE TABLE 2179 0 0 4 CODE TABLE 2179 0 2 002180 MAIN PRESENT WEATHER DETECTING SYSTEM CODE TABLE 2180 0 0 4 CODE TABLE 2180 0 2 002181 SUPPLEMENTARY PRESENT WEATHER SENSOR FLAG TABLE 2181 0 0 21 FLAG TABLE 2181 0 7 002182 VISIBILITY MEASUREMENT SYSTEM CODE TABLE 2182 0 0 4 CODE TABLE 2182 0 2 002183 CLOUD DETECTION SYSTEM CODE TABLE 2183 0 0 4 CODE TABLE 2183 0 2 002184 TYPE OF LIGHTNING DETECTION SENSOR CODE TABLE 2184 0 0 4 CODE TABLE 2184 0 2 002185 METHOD OF EVAPORATION MEASUREMENT CODE TABLE 2185 0 0 4 CODE TABLE 2185 0 2 002186 CAPABILITY TO DETECT PRECIPITATION PHENOMENA FLAG TABLE 2186 0 0 30 FLAG TABLE 2186 0 10 002187 CAPABILITY TO DETECT OTHER WEATHER PHENOMENA FLAG TABLE 2187 0 0 18 FLAG TABLE 2187 0 6 002188 CAPABILITY TO DETECT OBSCURATION FLAG TABLE 2188 0 0 21 FLAG TABLE 2188 0 7 002189 CAPABILITY TO DISCRIMINATE LIGHTNING STRIKES FLAG TABLE 2189 0 0 12 FLAG TABLE 2189 0 4 002190 LAGRANGIAN DRIFTER SUBMERGENCE (% TIME SUBMERGED) % 0 0 7 % 0 3 002192 SAR AZIMUTH ANGLE DEGREE 0 0 9 002193 1D VAR SATELLITE CHANNEL(S) USED FLAG TABLE 2193 0 0 28 002194 CONSTANT LEVEL BALLOON TYPE CODE TABLE 2194 0 0 4 002195 TYPE OF SATELLITE INSTRUMENTATION CODE TABLE 2195 0 0 4 002196 SATELLITE CLASSIFICATION CODE TABLE 2196 0 0 9 002197 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 002198 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 002199 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2199 0 0 4 002200 LATITUDINAL RESOLUTION DEGREE 5 0 25 002201 LONGITUDINAL RESOLUTION DEGREE 5 0 25 002202 SIMULATED DATA PROCESSING TECHNIQUE USED FLAG TABLE 2202 0 0 4 002205 LATITUDINAL RESOLUTION DEGREE 3 0 9 002206 LONGITUDINAL RESOLUTION DEGREE 3 0 9 002207 TYPE OF SCAN CODE TABLE 2207 0 0 3 002220 DATA PRODUCER CODE TABLE 2220 0 0 9 002221 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 002222 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 002223 TOVS/ATOVS/AVHRR CHANNEL NUMBER CODE TABLE 2223 0 0 6 002231 HEIGHT ASSIGNMENT METHOD CODE TABLE 2231 0 0 4 002232 TRACER CORRELATION METHOD CODE TABLE 2232 0 0 3 002240 TYPE OF TERMODYNAMIC SENSING CODE TABLE 2240 0 0 8 002241 TYPE OF ROCKET MOTOR CODE TABLE 2241 0 0 3 002242 TYPE OF WIND SENSING EQUIPMENT CODE TABLE 2242 0 0 8 002243 TERMODYNAMIC CORRECTION TECHNIQUE CODE TABLE 2243 0 0 3 002244 WIND CORRECTION TECHNIQUE CODE TABLE 2244 0 0 3 002245 METHOD OF REDUCING OF DATA CODE TABLE 2245 0 0 4 002251 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2251 0 0 4 002252 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2252 0 0 31 002253 HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2253 0 0 8 002254 RADIANCE TYPE CODE TABLE 2254 0 0 4 004001 YEAR YEAR 0 0 12 YEAR 0 4 004002 MONTH MONTH 0 0 4 MONTH 0 2 004003 DAY DAY 0 0 6 DAY 0 2 004004 HOUR HOUR 0 0 5 HOUR 0 2 004005 MINUTE MINUTE 0 0 6 MINUTE 0 2 004006 SECOND SECOND 0 0 6 SECOND 0 2 004007 SECONDS WITHIN A MINUTE (MICROSECOND ACCURACY) SECOND 6 0 26 S 6 8 004011 TIME INCREMENT YEAR 0 -1024 11 YEAR 0 4 004012 TIME INCREMENT MONTH 0 -1024 11 MONTH 0 4 004013 TIME INCREMENT DAY 0 -1024 11 DAY 0 4 004014 TIME INCREMENT HOUR 0 -1024 11 HOUR 0 4 004015 TIME INCREMENT MINUTE 0 -2048 12 MINUTE 0 4 004016 TIME INCREMENT SECOND 0 -4096 13 SECOND 0 4 004017 REFERENCE TIME PERIOD FOR ACCUMULATED OR EXTREME DATA MINUTE 0 -1440 12 MINUTE 0 4 004021 TIME PERIOD OR DISPLACEMENT YEAR 0 -1024 11 YEAR 0 4 004022 TIME PERIOD OR DISPLACEMENT MONTH 0 -1024 11 MONTH 0 4 004023 TIME PERIOD OR DISPLACEMENT DAY 0 -1024 11 DAY 0 4 004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -2048 12 HOUR 0 4 004025 TIME PERIOD OR DISPLACEMENT MINUTE 0 -2048 12 MINUTE 0 4 004026 TIME PERIOD OR DISPLACEMENT SECOND 0 -4096 13 SECOND 0 4 004031 DURATION OF TIME RELATING TO FOLLOWING VALUE HOUR 0 0 8 HOUR 0 3 004032 DURATION OF TIME RELATING TO FOLLOWING VALUE MINUTE 0 0 6 MINUTE 0 2 004041 TIME DIFFERENCE, UTC -LMT (SEE NOTE 6) MINUTE 0 -1440 12 MINUTE 0 4 004043 DAY OF THE YEAR DAY 0 0 9 DAY 0 3 004051 PRINCIPAL TIME OF DAILY READING OF MAXIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004052 PRINCIPAL TIME OF DAILY READING OF MINIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004053 NUMBER OF DAYS WITH PRECIPITATION EQUAL TO OR MORE THAN 1 MM NUMERIC 0 0 6 NUMERIC 0 2 004059 TIMES OF OBSERVATION USED TO COMPUTE THE REPORTED MEAN VALUES FLAG TABLE 4059 0 0 6 FLAG TABLE 4059 0 2 004065 SHORT TIME INCREMENT MINUTE 0 -128 8 MINUTE 0 2 004073 SHORT TIME PERIOD OR DISPLACEMENT DAY 0 -128 8 DAY 0 2 004074 SHORT TIME PERIOD OR DISPLACEMENT HOUR 0 -128 8 HOUR 0 2 004075 SHORT TIME PERIOD OR DISPLACEMENT MINUTE 0 -128 8 MINUTE 0 2 004080 AVERAGING PERIOD FOR FOLLOWING VALUE CODE TABLE 4080 0 0 4 CODE TABLE 4080 0 2 004086 LONG TIME PERIOD OR DISPLACEMENT SECOND 0 -8192 15 SECOND 0 5 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005015 LATITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005016 LATITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005023 SUN TO SATELLITE AZIMUTH DIFFERENCE DEGREE 1 -1800 12 DEGREE 1 4 005030 DIRECTION (SPECTRAL) DEGREE 0 0 12 DEGREE 0 4 005031 ROW NUMBER NUMERIC 0 0 12 NUMERIC 0 4 005033 PIXEL SIZE ON HORIZONTAL - 1 M -1 0 16 M -1 5 005034 ALONG TRACK ROW NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005036 SHIP TRANSECT NUMBER ACCORDING TO SOOP NUMERIC 0 0 7 NUMERIC 0 2 005040 ORBIT NUMBER NUMERIC 0 0 24 NUMERIC 0 8 005041 SCAN LINE NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005042 CHANNEL NUMBER NUMERIC 0 0 6 NUMERIC 0 2^M 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005044 SATELLITE CYCLE NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005045 FIELD OF REGARD NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005060 Y ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005061 Z ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005193 ALONG TRACK ROW NUMBER AT 50 KM NUMERIC 0 0 10 NUMERIC 0 4 005194 ALONG TRACK ROW NUMBER AT 25 KM NUMERIC 0 0 11 NUMERIC 0 4 005195 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 7 NUMERIC 0 3 005196 SCAN ANGLE DEGREE 1 -1800 12 DEGREE 1 4 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 M 2 10 005232 DIRECTION (SPECTRAL) DEGREE 2 0 16 DEGREE 2 5 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006015 LONGITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006016 LONGITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006021 DISTANCE M -1 0 13 M -1 4 006029 WAVE NUMBER 1/M 1 0 22 M 1 7 006030 WAVE NUMBER (SPECTRAL) RAD/M 5 0 13 RAD/M 5 4 006031 COLUMN NUMBER NUMERIC 0 0 12 NUMERIC 0 4 006033 PIXEL SIZE ON HORIZONTAL - 2 M -1 0 16 M -1 5 006034 CROSS-TRACK CELL NUMBER NUMERIC 0 0 7 NUMERIC 0 3 006040 RADIUS OF CONFIDENCE M 0 0 13 M 0 4 006193 CROSS TRACK CELL NUMBER AT 50 KM NUMERIC 0 0 6 NUMERIC 0 2 006194 CROSS TRACK CELL NUMBER AT 25 KM NUMERIC 0 0 7 NUMERIC 0 3 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 M 2 10 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 ADS/M 5 4 007001 HEIGHT OF STATION (SEE NOTE 1) M 0 -400 15 M 0 5 007002 HEIGHT OR ALTITUDE M -1 -40 16 M -1 5 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 007004 PRESSURE PA -1 0 14 PA -1 5 007005 HEIGHT INCREMENT M 0 -400 12 M 0 4 007006 HEIGHT ABOVE STATION M 0 0 15 M 0 5 007007 HEIGHT M 0 -1000 17 M 0 6 007008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 007009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 007010 FLIGHT LEVEL M 0 -1024 16 FT -1 5 007012 GRID POINT ALTITUDE M 2 -50000 20 M 2 7 007021 ELEVATION (SEE NOTE 2) DEGREE 2 -9000 15 DEGREE 2 5 007022 SOLAR ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 007024 SATELLITE ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007025 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007026 SATELLITE ZENITH ANGLE DEGREE 4 -900000 21 DEGREE 4 7 007030 HEIGHT OF STATION GROUND ABOVE MEAN SEA LEVEL (SEE NOTE 3) M 1 -4000 17 M 1 5 007031 HEIGHT OF BAROMETER ABOVE MEAN SEA LEVEL (SEE NOTE 4) M 1 -4000 17 M 1 5 007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) M 2 0 16 M 2 5 007033 HEIGHT OF SENSOR ABOVE WATER SURFACE (SEE NOTE 6) M 1 0 12 M 1 4 007040 IMPACT PARAMETER (SEE NOTE 8) M 1 62000000 22 M 1 8 007061 DEPTH BELOW LAND SURFACE M 2 0 14 M 2 5 007062 DEPTH BELOW SEA/WATER SURFACE M 1 0 17 M 1 6 007063 DEPTH BELOW SEA/WATER SURFACE M 2 0 20 M 2 7 007064 REPRESENTATIVE HEIGHT OF SENSOR ABOVE STATION (SEE NOTE 7) M 0 0 4 M 0 2 007065 WATER PRESSURE PA -3 0 17 PA 0 6 007070 DROGUE DEPTH M 0 0 10 M 0 4 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 M 2 10 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8001 0 0 7 FLAG TABLE 8001 0 3 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 8002 0 0 6 CODE TABLE 8002 0 2 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 8003 0 0 6 CODE TABLE 8003 0 2 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 8004 0 0 3 CODE TABLE 8004 0 1 008005 METEOROLOGICAL ATTRIBUTE SIGNIFICANCE CODE TABLE 8005 0 0 4 CODE TABLE 8005 0 2 008006 OZONE VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8006 0 0 9 FLAG TABLE 8006 0 3 008007 DIMENSIONAL SIGNIFICANCE CODE TABLE 8007 0 0 4 CODE TABLE 8007 0 2 008008 RADIATION VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8008 0 0 9 FLAG TABLE 8008 0 3 008009 DETAILED PHASE OF FLIGHT CODE TABLE 8009 0 0 4 CODE TABLE 8009 0 2 008010 SURFACE QUALIFIER (TEMPERATURE DATA) CODE TABLE 8010 0 0 5 CODE TABLE 8010 0 2 008011 METEOROLOGICAL FEATURE CODE TABLE 8011 0 0 6 CODE TABLE 8011 0 2 008012 LAND/SEA QUALIFIER CODE TABLE 8012 0 0 2 CODE TABLE 8012 0 1 008013 DAY/NIGHT QUALIFIER CODE TABLE 8013 0 0 2 CODE TABLE 8013 0 1 008014 QUALIFIER FOR RUNWAY VISUAL RANGE CODE TABLE 8014 0 0 4 CODE TABLE 8014 0 2 008016 CHANGE QUALIFIER OF A TREND-TYPE FORECAST OR AN AERODROME FORECA CODE TABLE 8016 0 0 3 CODE TABLE 8016 0 1 008017 QUALIFIER OF THE TIME WHEN THE FORECAST CHANGE IS EXPECTED CODE TABLE 8017 0 0 2 CODE TABLE 8017 0 1 008018 SEAWINDS LAND/ICE SURFACE TYPE FLAG TABLE 8018 0 0 17 FLAG TABLE 8018 0 6 008019 QUALIFIER FOR FOLLOWING CENTRE IDENTIFIER CODE TABLE 8019 0 0 4 CODE TABLE 8019 0 2 008020 TOTAL NUMBER OF MISSING ENTITIES (WITH RESPECT TO ACCUMULATION O NUMERIC 0 0 16 NUMERIC 0 5 008021 TIME SIGNIFICANCE CODE TABLE 8021 0 0 5 CODE TABLE 8021 0 2 008022 TOTAL NUMBER (WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 NUMERIC 0 5 008023 FIRST ORDER STATISTICS CODE TABLE 8023 0 0 6 CODE TABLE 8023 0 2 008024 DIFFERENCE STATISTICS CODE TABLE 8024 0 0 6 CODE TABLE 8024 0 2 008025 TIME DIFFERENCE QUALIFIER CODE TABLE 8025 0 0 4 CODE TABLE 8025 0 2 008026 MATRIX SIGNIFICANCE CODE TABLE 8026 0 0 6 CODE TABLE 8026 0 2 008029 REMOTLY SENSED SURFACE TYPE CODE TABLE 8029 0 0 8 CODE TABLE 8029 0 3 008030 MANUAL ON CODES (VOLUME I.1, SECTION C) CODE TABLE FROM WHICH DA NUMERIC 0 0 13 NUMERIC 0 4 008031 DATA CATEGORY CREX TABLE A NUMERIC 0 0 8 NUMERIC 0 3 008033 METHOD OF DERIVATION OF PERCENTAGE CONFIDENCE CODE TABLE 8033 0 0 7 CODE TABLE 8033 0 3 008035 TYPE OF MONITORING EXERCISE CODE TABLE 8035 0 0 3 CODE TABLE 8035 0 1 008036 TYPE OF CENTRE OR STATION PERFORMING MONITORING CODE TABLE 8036 0 0 3 CODE TABLE 8036 0 1 008039 TIME SIGNIFICANCE ( AVIATION FORECAST) CODE TABLE 8039 0 0 6 CODE TABLE 8039 0 2 008040 FLIGHT LEVEL SIGNIFICANCE CODE TABLE 8040 0 0 6 CODE TABLE 8040 0 2 008041 DATA SIGNIFICANCE CODE TABLE 8041 0 0 5 CODE TABLE 8041 0 2 008042 EXTENDED VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8042 0 0 18 FLAG TABLE 8042 0 6 008043 ATMOSPHERIC CHEMICAL OR PHISICAL CONSTITUENT TYPE CODE TABLE 8043 0 0 8 CODE TABLE 8043 0 3 008044 CAS REGISTRY NUMBER CCITTIA5 0 0 88 CHARACTERS 0 11 008045 PARTICULATE MATTER CHARACTERIZATION CODE TABLE 8045 0 0 8 CODE TABLE 8045 0 3 008049 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008050 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8050 0 0 4 CODE TABLE 8050 0 2 008051 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8051 0 0 3 CODE TABLE 8051 0 1 008052 CONDITION FOR WHICH NUMBER OF DAYS OF OCCURRENCE FOLLOWS CODE TABLE 8052 0 0 5 CODE TABLE 8052 0 2 008053 DAY OF OCCURRENCE QUALIFIER CODE TABLE 8053 0 0 2 CODE TABLE 8053 0 1 008054 QUALIFIER FOR WIND SPEED OR WIND GUST CODE TABLE 8054 0 0 3 CODE TABLE 8054 0 1 008060 SAMPLE SCANNING MODE SIGNIFICANCE CODE TABLE 8060 0 0 4 CODE TABLE 8060 0 2 008065 SUN-GLINT INDICATOR CODE TABLE 8065 0 0 2 CODE TABLE 8065 0 1 008066 SEMI-TRANSPARENCY INDICATOR CODE TABLE 8066 0 0 2 CODE TABLE 8066 0 1 008070 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8070 0 0 4 CODE TABLE 8070 0 2 008072 PIXEL(S) TYPE CODE TABLE 8072 0 0 3 CODE TABLE 8072 0 1 008074 ALTIMETER ECHO TYPE CODE TABLE 8074 0 0 2 CODE TABLE 8074 0 1 008075 ASCENDING/DESCENDING ORBIT QUALIFIER CODE TABLE 8075 0 0 2 CODE TABLE 8075 0 1 008076 TYPE OF BAND CODE TABLE 8076 0 0 6 CODE TABLE 8076 0 2 008077 RADIOMETER SENSED SURFACE TYPE CODE TABLE 8077 0 0 7 CODE TABLE 8077 0 3 008079 PRODUCT STATUS CODE TABLE 8079 0 0 4 CODE TABLE 8079 0 2 008080 QUALIFIER FOR GTSPP QUALITY FLAG CODE TABLE 8080 0 0 6 CODE TABLE 8080 0 2 008081 TYPE OF EQUIPMENT CODE TABLE 8081 0 0 6 CODE TABLE 8081 0 2 008082 (CBS) ARTIFICIAL CORRECTION OF SENSOR HEIGHT TO ANOTHER VALUE CODE TABLE 8082 0 0 3 CODE TABLE 8082 0 1 008083 NOMINAL VALUE INDICATOR FLAG TABLE 8083 0 0 15 FLAG TABLE 8083 0 5 008085 BEAM IDENTIFIER CODE TABLE 8085 0 0 3 CODE TABLE 8085 0 1 008090 DECIMAL SCALE OF FOLLOWING SIGNIFICANDS NUMERIC 0 -127 8 NUMERIC 0 3 008193 TIME QUALIFIER CODE TABLE 8193 0 0 6 CODE TABLE 8193 0 2 008194 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8194 0 0 4 CODE TABLE 8194 0 2 008195 DATA TYPE CODE TABLE 8195 0 0 7 CODE TABLE 8195 0 3 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008222 GENERATOR SIGNIFICANCE CODE TABLE 8222 0 0 4 CODE TABLE 8222 0 2 008223 LAND/ICE SURFACE FLAG FLAG TABLE 8223 0 0 7 FLAG TABLE 8223 0 3 008224 LAND/SEA FRACTION NUMERIC 3 0 10 NUMERIC 3 4 008225 GHRSST SURFACE TYPE FLAG TABLE 8225 0 0 5 FLAG TABLE 8225 0 2 010001 HEIGHT OF LAND SURFACE M 0 -400 15 M 0 5 010002 HEIGHT M -1 -40 16 M -1 5 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 010004 PRESSURE PA -1 0 14 PA -1 5 010007 HEIGHT M 0 -1000 17 M 0 6 010008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 010009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 010010 MINIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010011 MAXIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010031 IN DIRECTION OF THE NORTH POLE, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 010032 SATELLITE DISTANCE TO EARTH'S CENTRE M 1 0 27 M 2 9 010033 ALTITUDE (PLATFORM TO ELLIPSOID) M 1 0 27 M 2 9 010034 EARTH RADIUS M 1 0 27 M 2 9 010035 EARTH'S LOCAL RADIUS OF CURVATURE M 1 62000000 22 M 1 8 010036 GEOID UNDULATION (SEE NOTE 4) M 2 -15000 15 M 2 6 010040 NUMBER OF RETRIEVED LAYERS NUMERIC 0 0 10 NUMERIC 0 4 010050 STANDARD DEVIATION ALTITUDE M 2 0 16 M 2 5 010051 PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010052 ALTIMETER SETTING (QNH) PA -1 0 14 PA -1 5 010060 PRESSURE CHANGE PA -1 -1024 11 PA -1 4 010061 3-HOUR PRESSURE CHANGE PA -1 -500 10 PA -1 4 010062 24-HOUR PRESSURE CHANGE PA -1 -1000 11 PA -1 4 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 10063 0 0 4 CODE TABLE 10063 0 2 010064 SIGMET CRUISING LEVEL CODE TABLE 10064 0 0 3 CODE TABLE 10064 0 1 010070 INDICATED AIRCRAFT ALTITUDE M 0 -400 16 M 0 5 010080 VIEWING ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 010081 ALTITUDE OF COG ABOVE REFERENCE ELLIPSOID M 3 0 31 M 3 10 010082 INSTANTANEOUS ALTITUDE RATE MS-1 3 -65536 17 MS-1 3 6 010083 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM PLATFORM DATA DEGREE**2 2 0 16 DEGREE**2 2 5 010084 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM WAVEFORM DATA DEGREE**2 2 0 16 DEGREE**2 2 5 010085 MEAN SEA SURFACE HEIGHT M 3 -131072 18 M 3 6 010086 GEOID'S HEIGHT M 3 -131072 18 M 3 6 010087 OCEAN DEPTH/LAND ELEVATION M 1 -131072 18 M 3 6 010088 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 1 M 3 -32768 16 M 3 5 010089 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 2 M 3 -32768 16 M 3 5 010090 LONG PERIOD TIDE HEIGHT M 3 -32768 16 M 3 5 010091 TIDAL LOADING HEIGHT M 3 -32768 16 M 3 5 010092 SOLID EARTH TIDE HEIGHT M 3 -32768 16 M 3 5 010093 GEOCENTRIC POLE TIDE HEIGHT M 3 -32768 16 M 3 5 010095 HEIGHT OF ATMOSPHERE USED M 0 0 16 M 0 5 010096 MEAN DYNAMIC TOPOGRAPHY M 3 -131072 18 010097 MEAN SEA SURFACE HEIGHT FROM ALTIMETER ONLY M 3 -131072 18 010098 LOADING TIDE HEIGHT GEOCENTRIC OCEAN TIDE SOLUTION 1 M 4 -2000 12 010099 LOADING TIDE HEIGHT GEOCENTRIC OCEAN TIDE SOLUTION 2 M 4 -2000 12 010100 NON-EQUILIBRIUM LONG PERIOD TIDE HEIGHT M 4 -2000 12 010101 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM WAVEFORM DATA DEGREE**2 2 -32768 16 DEGREE**2 2 5 010102 SEA SURFACE HEIGHT ANOMALY M 3 -32768 16 010195 HEIGHT(HIGH ACCURACY) M 1 -4096 20 010196 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 010197 ANEMOMETER HEIGHT M 0 0 9 011001 WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011002 WIND SPEED M/S 1 0 12 M/S 1 4 011003 U-COMPONENT M/S 1 -4096 13 M/S 1 4 011004 V-COMPONENT M/S 1 -4096 13 M/S 1 4 011005 W-COMPONENT PA/S 1 -512 10 PA/S 1 4 011006 W-COMPONENT M/S 2 -4096 13 M/S 2 4 011010 WIND DIRECTION ASSOCIATED WITH WIND SPEED WHICH FOLLOWS DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011012 WIND SPEED AT 10 M M/S 1 0 12 M/S 1 4 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011014 WIND SPEED AT 5 M M/S 1 0 12 M/S 1 4 011016 EXTREME COUNTERCLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011017 EXTREME CLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011019 STEADINESS OF WIND (6) % 0 0 7 % 0 3 011021 RELATIVE VORTICITY 1/S 9 -65536 17 1/S 9 6 011022 DIVERGENCE 1/S 9 -65536 17 1/S 9 6 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 M**2/S -2 6 011030 EXTENDED DEGREE OF TURBULENCE CODE TABLE 11030 0 0 6 CODE TABLE 0 2 011031 DEGREE OF TURBULENCE CODE TABLE 11031 0 0 4 CODE TABLE 11031 0 2 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 M -1 5 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 M -1 5 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 M/S 1 4 011035 VERTICAL GUST ACCELERATION M/S**2 2 -8192 14 M/S**2 2 5 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST SPEED M/S 1 0 10 M/S 1 4 011037 TURBULENCE INDEX CODE TABLE 11037 0 0 6 CODE TABLE 11037 0 2 011038 TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11038 0 0 5 CODE TABLE 11038 0 2 011039 EXTENDED TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11039 0 0 6 CODE TABLE 11039 0 2 011040 MAXIMUM WIND SPEED (MEAN WIND) M/S 1 0 12 M/S 1 4 011041 MAXIMUM WIND GUST SPEED M/S 1 0 12 M/S 1 4 011042 MAXIMUM WIND SPEED (10-MIN MEAN WIND) M/S 1 0 12 M/S 1 4 011043 MAXIMUM WIND GUST DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011044 MEAN WIND DIRECTION FOR SURFACE - 1500 M (5000 FEET) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011045 MEAN WIND SPEED FOR SURFACE - 1500 M (5000 FEET) M/S 1 0 12 M/S 1 4 011046 MAXIMUM INSTANTANEOUS WIND SPEED M/S 1 0 12 M/S 1 4 011047 MAXIMUM INSTANTANEOUS WIND SPEED OVER 10 MINUTES M/S 1 0 12 M/S 1 4 011049 STANDARD DEVIATION OF WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011050 STANDARD DEVIATION OF HORIZONTAL WIND SPEED M/S 1 0 12 M/S 1 4 011051 STANDARD DEVIATION OF VERTICAL WIND SPEED M/S 1 0 8 M/S 1 3 011052 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 13 M/S 2 5 011053 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 DEGREE TRUE 2 5 011054 MEAN WIND DIRECTION FOR 1500 M - 3000 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011055 MEAN WIND SPEED FOR 1500 M - 3000 M M/S 1 0 12 M/S 1 4 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 M/S 1 4 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 M/S 1 4 011070 DESIGNATOR OF THE RUNWAY AFFECTED BY WIND SHEAR (INCLUDING ALL) CCITTIA5 0 0 32 CHARACTER 0 4 011071 TURBULENT VERTICAL MOMENTUM FLUX M**2/S**2 3 -128 14 M**2/S**2 3 5 011072 TURBULENT VERTICAL BUOYANCY FLUX KM/S 3 -128 11 KM/S 3 4 011073 TURBULENT KINETIC ENERGY M**2/S**2 2 -1024 13 M**2/S**2 2 4 011074 DISSIPATION ENERGY M**2/S**2 2 -1024 10 M**2/S**2 2 4 011075 MEAN TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011076 PEAK TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011077 REPORTING INTERVAL OR AVERAGING TIME FOR EDDY DISSIPATION RATE S 0 0 12 S 0 4 011081 MODEL WIND DIRECTION AT 10M DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 011082 MODEL WIND SPEED AT 10M M/S 2 0 14 M/S 2 4 011083 WIND SPEED KM/HOUR 0 0 9 KM/HOUR 0 3 011084 WIND SPEED KNOT 0 0 8 KNOT 0 3 011085 MAXIMUM WIND GUST SPEED KM/HOUR 0 0 9 KM/HOUR 0 3 011086 MAXIMUM WIND GUST SPEED KNOT 0 0 8 KNOT 0 3 011095 U COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011096 V COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011097 WIND SPEED FROM ALTIMETER M/S 2 0 12 011098 WIND SPEED FROM RADIOMETER M/S 2 0 12 011192 U - COMPONENT AT 10 M M/S 1 -4096 13 M/S 1 4^M 011193 V - COMPONENT AT 10 M M/S 1 -4096 13 M/S 1 4^M 011194 W - COMPONENT AT 10 M M/S 1 -4096 13 M/S 1 4^M 011195 STEADINESS OF WIND % 0 0 7 % 0 3 011196 FRICTION VELOCITY M/S 5 0 19 011201 HORIZONTAL LINE OF SIGHT COMPONENT M/S 1 -4096 13 011210 1D VAR WIND SPEED RETREIVED ERRO(S) M/S 2 0 12 011211 WIND SPEED INDEPENDENT ESTIMATE OF ERROR(S) M/S 2 0 12 011220 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 12 011221 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 011230 MAXIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011231 MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011232 MINIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011233 HIGHEST GUST DURING THE 10 MINUTE PERIOD PRECEDING OBSERVATION M/S 1 -4096 13 M/S 1 4^M 012001 TEMPERATURE/DRY-BULB TEMPERATURE K 1 0 12 C 1 3 012002 WET-BULB TEMPERATURE K 1 0 12 C 1 3 012003 DEW-POINT TEMPERATURE K 1 0 12 C 1 3 012004 DRY-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012005 WET-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012006 DEW-POINT TEMPERATURE AT 2 M K 1 0 12 C 1 3 012007 VIRTUAL TEMPERATURE K 1 0 12 C 1 3 012011 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012012 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012013 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 1 0 12 C 1 3 012014 MAXIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012015 MINIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012016 MAXIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012017 MINIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012021 MAXIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012022 MINIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012023 TEMPERATURE C 0 -99 8 C 0 2 012024 DEW POINT TEMPERATURE C 0 -99 8 C 0 2 012030 SOIL TEMPERATURE K 1 0 12 C 1 3 012049 TEMPERATURE CHANGE OVER SPECIFIED PERIOD K 0 -30 6 C 0 2 012051 STANDARD DEVIATION TEMPERATURE K 1 0 10 C 1 3 012052 HIGHEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012053 LOWEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012061 SKIN TEMPERATURE K 1 0 12 C 1 3 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 C 1 3 012063 BRIGHTNESS TEMPERATURE K 1 0 12 C 1 3 012064 INSTRUMENT TEMPERATURE K 1 0 12 K 1 4 012065 STANDARD DEVIATION BRIGHTNESS TEMPERATURE K 1 0 12 K 1 4 012070 WARM LOAD TEMPERATURE K 2 0 16 K 2 5 012071 COLDEST CLUSTER TEMPERATURE K 1 0 12 K 1 4 012072 RADIANCE WM**(-2)SR**(-1) 6 0 31 WM**(-2)SR**(-1) 6 9 012073 TEMPERATURE K 2 0 16 K 1 4 012075 SPECTRAL RADIANCE WM**(-3)SR**(-1) -3 0 16 WM**(-3)SR**(-1) -3 5 012076 RADIANCE WM**(-2)SR**(-1) 3 0 16 WM**(-2)SR**(-1) 3 5 012080 BRIGHTNESS TEMPERATURE REAL PART K 2 -10000 16 K 2 5 012081 BRIGHTNESS TEMPERATURE IMAGINARY PART K 2 -10000 16 K 2 5 012082 PIXEL RADIOMETRIC ACCURACY K 2 0 12 K 2 4 012101 TEMPERATURE/DRY-BULB TEMPERATURE K 2 0 16 C 2 4 012102 WET-BULB TEMPERATURE K 2 0 16 C 2 4 012103 DEW-POINT TEMPERATURE K 2 0 16 C 2 4 012104 DRY-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012105 WEB-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012106 DEW-POINT TEMPERATURE AT 2M K 2 0 16 C 2 4 012107 VIRTUAL TEMPERATURE K 2 0 16 C 2 4 012111 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012112 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012113 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 2 0 16 C 2 4 012114 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012115 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012116 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012117 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012118 MAXIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012119 MINIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012121 GROUND MINIMUM TEMPERATURE K 2 0 16 C 2 4 012122 GROUND MINIMUM TEMPERATURE OF THE PRECEDING NIGHT K 2 0 16 C 2 4 012130 SOIL TEMPERATURE K 2 0 16 C 2 4 012151 STANDARD DEVIATION OF DAILY MEAN TEMPERATURE K 2 0 12 C 2 4 012152 HIGHEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012153 LOWEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012161 SKIN TEMPERATURE K 2 0 16 C 2 4 012162 EQUIVALENT BLACK BODY TEMPERATURE K 2 0 16 C 2 4 012163 BRIGHTNESS TEMPERATURE K 2 0 16 C 2 4 012164 INSTRUMENT TEMPERATURE K 2 0 16 K 2 5 012165 DIRECT SUN BRIGHTNESS TEMPERATURE K 0 0 23 K 0 7 012166 SNAPSHOT ACCURACY K 1 -4000 13 K 1 4 012167 RADIOMETRIC ACCURACY (PURE POLARISATION) K 1 0 9 K 1 3 012168 RADIOMETRIC ACCURACY ( CROSS POLARISATION ) K 1 0 9 K 1 3 012171 COLDEST CLUSTER TEMPERATURE K 2 0 16 K 2 5 012180 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012181 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012182 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012183 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012184 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012185 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012186 MEAN NADIR SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012187 MEAN DUAL VIEW SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012188 INTERPOLATED 23.8 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 012189 INTERPOLATED 36.5 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 012193 COLDEST CLUSTER TEMPERATURE K 1 0 12 012194 RADIANCE W/M**2*STER*M**(-1) 6 0 31 012195 SPECTRAL RADIANCE W/M**2*STER*M**(-1) 10 0 31 012196 RADIANCE W/M**2*STER 3 0 16 012197 MAXIMUM TEMPERATURE AT 2M, PAST 3 HOURS K 1 0 12 012198 MINIMUM TEMPERATURE AT 2M, PAST 3 HOURS K 1 0 12 012199 MAXIMUM TEMPERATURE AT 2M, PAST 6 HOURS K 1 0 12 012200 MINIMUM TEMPERATURE AT 2M, PAST 6 HOURS K 1 0 12 012201 BRIGHTNES TEMPERATURE OR STOKES PARAMETER K 3 -271300 20 013001 SPECIFIC HUMIDITY KG/KG 5 0 14 KG/KG 5 5 013002 MIXING RATIO KG/KG 5 0 14 KG/KG 5 5 013003 RELATIVE HUMIDITY % 0 0 7 % 0 3 013004 VAPOUR PRESSURE PA -1 0 10 PA -1 4 013005 VAPOUR DENSITY KG/M**3 3 0 7 KG/M**3 3 3 013006 MIXING HEIGHTS M -1 -40 16 M -1 5 013007 MINIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013008 MAXIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013009 RELATIVE HUMIDITY % 1 -1000 12 % 1 4 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT KG/M**2 1 -1 14 KG/M**2 1 5 013012 DEPTH OF FRESH SNOW M 2 -2 12 M 2 4 013013 TOTAL SNOW DEPTH M 2 -2 16 M 2 5 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGED RATE) KG/(M**2)S 4 0 12 KG/(M**2)S 4 4 013015 SNOWFALL (AVERAGED RATE) M/S 7 0 12 M/S 7 4 013016 PRECIPITABLE WATER KG/M**2 0 0 7 KG/M**2 0 3 013019 TOTAL PRECIPITATION PAST 1 HOUR KG/M**2 1 -1 14 KG/M**2 1 4 013020 TOTAL PRECIPITATION PAST 3 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013021 TOTAL PRECIPITATION PAST 6 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013022 TOTAL PRECIPITATION PAST 12 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013023 TOTAL PRECIPITATION PAST 24 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013031 EVAPOTRANSPIRATION KG/M**2 0 0 7 KG/M**2 0 3 013032 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 8 KG/M**2 1 3 013033 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 10 KG/M**2 1 4 013038 SUPERADIABATIC INDICATOR CODE TABLE 13038 0 0 2 CODE TABLE 13038 0 1 013039 TERRAIN TYPE (ICE/SNOW) CODE TABLE 13039 0 0 3 CODE TABLE 13039 0 1 013040 SURFACE FLAG CODE TABLE 13040 0 0 4 CODE TABLE 13040 0 2 013041 PASQUILL-GIFFORD STABILITY CATEGORY CODE TABLE 13041 0 0 4 CODE TABLE 13041 0 2 013042 PARCEL LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013043 BEST LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013044 K INDEX K 0 -30 8 K 0 3 013045 KO INDEX K 0 -30 8 K 0 3 013046 MAXIMUM BUOYANCY K 0 -30 8 K 0 3 013047 MODIFIED SHOWALTER STABILITY INDEX K 0 -60 6 C 0 2 013048 WATER FRACTION % 1 0 10 % 1 4 013051 FREQUENCY GROUP, PRECIPITATION CODE TABLE 13051 0 0 4 CODE TABLE 13051 0 2 013052 HIGHEST DAILY AMOUNT OF PRECIPITATION KG/M**2 1 -1 14 KG/M**2 1 5 013055 INTENSITY OF PRECIPITATION KG/(M**2)S 4 0 8 MM H-1 1 3 013056 CHARACTER AND INTENSITY OF PRECIPITATION CODE TABLE 13056 0 0 4 CODE TABLE 13056 0 2 013057 TIME OF BEGINNING OR END OF PRECIPITATION CODE TABLE 13057 0 0 4 CODE TABLE 13057 0 2 013058 SIZE OF PRECIPITATING ELEMENT M 4 0 7 MM 1 3 013059 NUMBER OF FLASHES (THUNDERSTORM) NUMERIC 0 0 7 NUMERIC 0 3 013060 TOTAL ACCUMULATED PRECIPITATION KG/M**2 1 -1 17 KG/M**2 1 5 013071 UPSTREAM WATER LEVEL M 2 0 14 M 2 5 013072 DOWNSTREAM WATER LEVEL M 2 0 14 M 2 4 013073 MAXIMUM WATER LEVEL M 2 0 14 M 2 4 013080 WATER PH pH 1 0 10 pH 1 3 013081 WATER CONDUCTIVITY S M-1 3 0 14 S M-1 3 4 013082 WATER TEMPERATURE K 1 0 12 K 1 4 013083 DISSOLVED OXYGEN KG/M**3 6 0 15 KG/M**3 6 5 013084 TURBIDITY LUMEN 0 0 14 LUMEN 0 4 013085 OXYDATION REDUCTION POTENTIAL (ORP) V 3 0 14 V 3 4 013090 RADIOMETER WATER VAPOUR CONTENT KG/M**2 1 0 10 KG/M**2 1 4 013091 RADIOMETER LIQUID CONTENT KG/M**2 2 0 8 KG/M**2 2 3 013093 CLOUD OPTICAL THICKNESS NUMERIC 0 0 8 NUMERIC 0 3 013095 TOTAL COLUMN WATER VAPOUR KG/M**2 4 0 19 KG/M**2 4 6 013096 MWR WATER VAPOUR CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013097 MWR LIQUID WATER CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013098 INTEGRATED WATER VAPOUR DENSITY KG/M**2 8 0 30 KG/M**2 8 10 013155 INTENSITY OF PRECIPITATION (HIGH ACCURACY) KG/M**2S 5 -1 16 MM/HOUR 1 5 013192 RELATIVE HUMIDITY AT 2 M % 0 0 8 013193 RELATIVE HUMIDITY % 0 0 8 013194 TOTAL COLUMN WATER KG/M**2 2 0 11 013195 RAIN RATE KG/M**2HOUR 0 0 5 013196 ANTECEDENT PRECIPITATION INDEX KG/M**2 0 0 7 013197 TOTAL COLUMN WATER VAPOUR KG/M**2 1 0 10 013198 RAIN FLAG CODE TABLE 13198 0 0 3 013199 SPECIFIC HUMIDITY AT 2 M KG/KG 5 0 14 013201 CLOUD LIQUID WATER KG/KG 7 0 14 013202 TYPE OF SURFACE CODE TABLE 13202 0 0 8 013203 1D VAR ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013204 SSMI INDEPENDENT ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013205 CLOUD LIQUID WATER PATH KG/M**2 4 0 14 013206 TOTAL PRECIPITATION ICE CONTENT KG/M**2 6 0 14 013207 TOTAL CLOUD LIQUID WATER KG/M**2 6 0 14 013208 SURFACE RAIN RATE ( INSTANTANEOUS ) KG/M**2*S 5 0 17 013209 RAIN POSSIBILITY NUMERIC 0 -256 9 013210 1D VAR CLOUD LIQUID WATER PATH RETRIEVED ERROR(S) KG/M**2 4 0 14 013211 TOTAL PRECIPITABLE WATER INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 2 0 11 013212 CLOUD LIQUID WATER PATH INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 4 0 14 013230 CONVECTIVE PRECIPITATION KG/M**2 1 -1 14 013231 LARGE SCALE PRECIPITATION KG/M**2 1 -1 14 013240 AIR DENSITY KG/M**3 3 0 10 013241 CONVECTIVE AVAILABLE POTENTIAL ENERGY J/KG 1 0 17 014001 LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -65536 17 J/M**2 -3 5 014002 LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -65536 17 J/M**2 -3 5 014003 SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -65536 17 J/M**2 -3 5 014004 SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -65536 17 J/M**2 -3 5 014011 NET LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -65536 17 J/M**2 -3 5 014012 NET LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -65536 17 J/M**2 -3 5 014013 NET SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -65536 17 J/M**2 -3 5 014014 NET SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -65536 17 J/M**2 -3 5 014015 NET RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 -16384 15 J/M**2 -4 5 014016 NET RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 J/M**2 -4 5 014017 INSTANTANEOUS LONG-WAVE RADIATION (SEE NOTE 6) W/M**2 0 -512 10 W/M**2 0 4 014018 INSTANTANEOUS SHORT-WAVE RADIATION (SEE NOTE 6) W/M**2 0 -2048 12 W/M**2 0 4 014019 SURFACE ALBEDO % 0 0 7 % 0 3 014020 GLOBAL SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014021 GLOBAL SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014022 DIFFUSE SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014023 DIFFUSE SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014024 DIRECT SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014025 DIRECT SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014026 ALBEDO AT THE TOP OF CLOUDS % 0 0 7 % 0 3 014027 ALBEDO % 0 0 7 % 0 3 014028 GLOBAL SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 20 J/M**2 -2 6 014029 DIFFUSE SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD J/M**2 -2 0 20 J/M**2 -2 6 014030 DIRECT SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 20 J/M**2 -2 6 014031 TOTAL SUNSHINE MINUTE 0 0 11 MINUTE 0 4 014032 TOTAL SUNSHINE HOUR 0 0 10 HOUR 0 4 014033 TOTAL SUNSHINE % 0 0 9 % 0 3 014034 SUNSHINE OVER PERIOD SPECIFIED MINUTE 0 0 11 MINUTE 0 4 014035 SOLAR RADIATION FLUX W/M**2 1 0 14 W/M**2 1 5 014042 BI-DIRECTIONAL REFLECTANCE % 0 0 7 % 0 3 014044 CHANNEL RADIANCE (W/M**2)*(1/SR)*CM 7 -100000 22 WM-2SR-1CM 7 7 014045 CHANNEL RADIANCE (W/M**2)*(1/SR)*CM 0 0 11 WM-2SR-1CM 0 4 014046 SCALED IASI RADIANCE (W/M**2)*(1/SR)*M 0 -5000 16 (W/M**2)*(1/SR)*M 0 5 014047 SCALED MEAN AVHRR RADIANCE (W/M**2)*(1/SR)*M 0 0 31 (W/M**2)*(1/SR)*M 0 10 014048 SCALED STANDARD DEVIATION RADIANCE (W/M**2)*(1/SR)*M 0 0 31 (W/M**2)*(1/SR)*M 0 10 014050 EMISSIVITY (SEE NOTE 5) % 1 0 10 % 1 4 014051 DIRECT SOLAR RADIATION INTEGRATED OVER LAST HOUR J/M**2 -3 0 14 JM-2 -3 4 014055 SOLAR ACTIVITY INDEX NUMERIC 0 -32768 16 NUMERIC 0 5 014061 (VAL) INSTANTANEOUS LONG-WAVE RADIATION W/M**2 0 -512 10 W/M**2 0 4 014062 (VAL) INSTANTANEOUS SHORT-WAVE RADIATION W/M**2 0 -2048 12 W/M**2 0 4 015001 TOTAL OZONE DU 0 0 10 DU 0 4 015002 AIR MASS (SLANT PATH AT 22 KM) NUMERIC 2 0 10 NUMERIC 2 3 015003 MEASURED OZONE PARTIAL PRESSURE (SOUNDING) PA 4 0 9 NBAR 0 3 015004 OZONE SOUNDING CORRECTION FACTOR NUMERIC 3 0 11 NUMERIC 3 4 015005 OZONE P DU 0 0 10 DU 0 3 015008 SIGNIFICAND OF VOLUMETRIC MIXING RATIO NUMERIC 0 0 10 NUMERIC 0 4 015011 LOG 10 OF INTEGRATED ELECTRON DENSITY LOG (1/M2) 3 14000 13 LOG (M-2) 3 4 015012 TOTAL ELECTRON COUNT PER SQUARE METER 1/M**2 -16 0 6 1/M**2 -16 2 015015 MAXIMUM IMAGE SPECTRAL COMPONENT BEFORE NORMALIZATION NUMERIC 0 0 31 NUMERIC 0 10 015020 INTEGRATED 03 DENSITY KG/M**2 8 0 21 KG/M**2 8 7 015021 INTEGRATED MASS DENSITY KG/M**2 11 0 31 KG/M**2 11 10 015024 OPTICAL DEPTH NUMERIC 4 0 24 NUMERIC 4 8 015025 TYPE OF POLLUTANT CODE TABLE 15025 0 0 4 CODE TABLE 15025 0 2 015026 CONCENTRATION OF POLLUTANT MOLMOL-1 9 0 9 MOLMOL-1 9 3 015027 CONCENTRATION OF POLLUTANT KG/M3 9 0 10 KG/M3 9 4 015030 AEROSOL CONTAMINATION INDEX NUMERIC 2 -1000 12 NUMERIC 2 4 015031 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 10000 15 M 4 5 015032 ESTIMATED ERROR IN ATMOSPHERIC PATH DELAY M 4 0 10 M 4 4 015033 DIFFERENCE IN PATH DELAYS FOR LIMB VIEWS AT EXTREMES OF SCAN M 5 -10000 15 M 5 5 015034 ESTIMATED ERROR IN PATH DELAY DIFFERENCE M 5 0 14 M 5 5 015035 COMPONENT OF ZENITH PATH DELAY DUE TO WATER VAPOUR M 4 0 14 M 4 5 015036 ATMOSPHERIC REFRACTIVITY (SEE NOTE 5) N-UNITS 3 0 19 N-UNITS 3 6 015037 BENDING ANGLE RADIANS 8 -100000 23 RADIANS 8 7 015202 INTEGRATED ELECTRON DENSITY 1/M**2 3 13000 12 015231 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 0 15 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 19001 0 0 6 CODE TABLE 19001 0 2 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 M -2 4 019003 WIND SPEED THRESHOLD M/S 0 0 8 M/S 0 3 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 M -2 4 019005 DIRECTION OF MOTION OF FEATURE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 019006 SPEED OF MOTION OF FEATURE M/S 2 0 14 M/S 2 5 019007 EFFECTIVE RADIUS OF FEATURE M -3 0 12 M -3 4 019008 VERTICAL EXTENT OF CIRCULATION CODE TABLE 19008 0 0 3 CODE TABLE 19008 0 1 019009 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD (LA M -3 0 12 M -3 4 019010 METHOD FOR TRACKING THE CENTRE OF SYNOPTIC FEATURE CODE TABLE 19010 0 0 4 CODE TABLE 19010 0 2 019100 TIME INTERVAL TO CALCULATE THE MOVEMENT OF THE TROPICAL CYCLONE CODE TABLE 19100 0 0 4 CODE TABLE 19100 0 2 019101 ACCURACY OF THE POSITION OF THE CENTRE OF THE TROPICAL CYCLONE CODE TABLE 19101 0 0 4 CODE TABLE 19101 0 2 019102 SHAPE AND DEFINITION OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19102 0 0 3 CODE TABLE 19102 0 1 019103 DIAMETER OF MAJOR AXIS OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19103 0 0 4 CODE TABLE 19103 0 2 019104 CHANGE IN CHARACTER OF THE EYE DURING THE 30 MINUTES CODE TABLE 19104 0 0 4 CODE TABLE 19104 0 2 019105 DISTANCE BETWEEN THE END OF SPIRAL BAND AND THE CENTRE CODE TABLE 19105 0 0 4 CODE TABLE 19105 0 2 019106 IDENTIFICATION NUMBER OF TROPICAL CYCLONE NUMERIC 0 0 7 NUMERIC 0 3 019107 TIME INTERVAL OF THE TROPICAL CYCLONE ANALYSIS CODE TABLE 19107 0 0 4 CODE TABLE 19107 0 2 019108 ACCURACY OF GEOGRAPHICAL POSITION OF THE TROPICAL CYCLONE CODE TABLE 19108 0 0 3 CODE TABLE 19108 0 1 019109 MEAN DIAMETER OF THE OVERCAST CLOUD OF THE TROPICAL CYCLONE CODE TABLE 19109 0 0 4 CODE TABLE 19109 0 2 019110 APPARENT 24-HOUR CHANGE IN INTENSITY OF TROPICAL CYCLONE CODE TABLE 19110 0 0 4 CODE TABLE 19110 0 2 019111 CURRENT INTENSITY (CI) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019112 DATA TROPICAL (DT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019113 CLOUD PATTERN TYPE OF THE DT- NUMBER CODE TABLE 19113 0 0 4 CODE TABLE 19113 0 2 019114 MODEL EXPECTED TROPICAL (MET) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019115 TREND OF PAST 24-HOUR CHANGE (+: DEVELOPED, -: WEAKENED) NUMERIC 1 -30 6 NUMERIC 1 2 019116 PATTERN TROPICAL (PT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019117 CLOUD PICTURE TYPE OF THE PT- NUMBER CODE TABLE 19117 0 0 3 CODE TABLE 19117 0 1 019118 FINAL TROPICAL (T) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019119 TYPE OF THE FINAL T-NUMBER CODE TABLE 19119 0 0 3 CODE TABLE 19119 0 1 019150 TYPHOON INTERNATIONAL COMMON NUMBER (TYPHOON COMMITTEE) CCITTIA5 0 0 32 CHARACTER 0 4 020001 HORIZONTAL VISIBILITY M -1 0 13 M -1 4 020002 VERTICAL VISIBILITY M -1 0 7 M -1 3 020003 PRESENT WEATHER (SEE NOTE 1) CODE TABLE 20003 0 0 9 CODE TABLE 20003 0 3 020004 PAST WEATHER (1) (SEE NOTE 2) CODE TABLE 20004 0 0 5 CODE TABLE 20004 0 2 020005 PAST WEATHER (2) (SEE NOTE 2) CODE TABLE 20005 0 0 5 CODE TABLE 20005 0 2 020006 FLIGHT RULES CODE TABLE 20006 0 0 3 CODE TABLE 20006 0 1 020008 CLOUD DISTRIBUTION FOR AVIATION CODE TABLE 20008 0 0 5 CODE TABLE 20008 0 2 020009 GENERAL WEATHER INDICATOR (TAF/METAR) CODE TABLE 20009 0 0 4 CODE TABLE 20009 0 2 020010 CLOUD COVER (TOTAL) % 0 0 7 % 0 3 020011 CLOUD AMOUNT CODE TABLE 20011 0 0 4 CODE TABLE 20011 0 2 020012 CLOUD TYPE CODE TABLE 20012 0 0 6 CODE TABLE 20012 0 2 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 M -1 4 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 M -1 4 020015 PRESSURE AT BASE OF CLOUD PA -1 0 14 PA -1 5 020016 PRESSURE AT TOP OF CLOUD PA -1 0 14 PA -1 5 020017 CLOUD TOP DESCRIPTION CODE TABLE 20017 0 0 4 CODE TABLE 20017 0 2 020018 TENDENCY OF RUNWAY VISUAL RANGE CODE TABLE 20018 0 0 2 CODE TABLE 20018 0 1 020019 SIGNIFICANT PRESENT OR FORECAST WEATHER CCITTIA5 0 0 72 CHARACTER 0 9 020020 SIGNIFICANT RECENT WEATHER PHENOMENA CCITTIA5 0 0 32 CHARACTER 0 4 020021 TYPE OF PRECIPITATION FLAG TABLE 20021 0 0 30 FLAG TABLE 20021 0 10 020022 CHARACTER OF PRECIPITATION CODE TABLE 20022 0 0 4 CODE TABLE 20022 0 2 020023 OTHER WEATHER PHENOMENA FLAG TABLE 20023 0 0 18 FLAG TABLE 20023 0 6 020024 INTENSITY OF PHENOMENA CODE TABLE 20024 0 0 3 CODE TABLE 20024 0 1 020025 OBSCURATION FLAG TABLE 20025 0 0 21 FLAG TABLE 20025 0 7 020026 CHARACTER OF OBSCURATION CODE TABLE 20026 0 0 4 CODE TABLE 20026 0 2 020027 PHENOMENA OCCURRENCE FLAG TABLE 20027 0 0 9 FLAG TABLE 20027 0 3 020028 EXPECTED CHANGE IN INTENSITY CODE TABLE 20028 0 0 3 CODE TABLE 20028 0 1 020029 RAIN FLAG CODE TABLE 20029 0 0 2 CODE TABLE 20029 0 1 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 M 2 3 020032 RATE OF ICE ACCRETION CODE TABLE 20032 0 0 3 CODE TABLE 20032 0 1 020033 CAUSE OF ICE ACCRETION FLAG TABLE 20033 0 0 4 FLAG TABLE 20033 0 2 020034 SEA ICE CONCENTRATION CODE TABLE 20034 0 0 5 CODE TABLE 20034 0 2 020035 AMOUNT AND TYPE OF ICE CODE TABLE 20035 0 0 4 CODE TABLE 20035 0 2 020036 ICE SITUATION CODE TABLE 20036 0 0 5 CODE TABLE 20036 0 2 020037 ICE DEVELOPMENT CODE TABLE 20037 0 0 5 CODE TABLE 20037 0 2 020038 BEARING OF ICE EDGE (SEE NOTE 3) DEGREE TRUE 0 0 12 DEGREE TRUE 0 3 020039 ICE DISTANCE M -1 0 13 M -1 4 020040 EVOLUTION OF DRIFT OF SNOW CODE TABLE 20040 0 0 4 CODE TABLE 20040 0 2 020041 AIRFRAME ICING CODE TABLE 20041 0 0 4 CODE TABLE 20041 0 2 020042 AIRFRAME ICING PRESENT CODE TABLE 20042 0 0 2 CODE TABLE 20042 0 1 020043 PEAK LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020044 AVERAGE LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020045 SUPERCOOLED LARGE DROPLET (SLD) CONDITIONS CODE TABLE 20045 0 0 2 CODE TABLE 20045 0 2 020048 EVOLUTION OF FEATURE CODE TABLE 20048 0 0 4 CODE TABLE 20048 2 2 020050 CLOUD INDEX CODE TABLE 20050 0 0 8 CODE TABLE 20050 0 3 020051 AMOUNT OF LOW CLOUDS % 0 0 7 % 0 3 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 % 0 3 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 % 0 3 020054 TRUE DIRECTION FROM WHICH CLOUDS ARE MOVING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 020055 STATE OF SKY IN TROPICS CODE TABLE 20055 0 0 4 CODE TABLE 20055 0 2 020056 CLOUD PHASE CODE TABLE 20056 0 0 3 CODE TABLE 20056 0 1 020058 VISIBILITY SEAWARD FROM COASTA STATION M -1 0 13 M -1 4 020059 MINIMUM HORIZONTAL VISIBILITY M -1 0 9 M -1 3 020060 PREVAILING HORIZONTAL VISIBILITY M -1 0 10 M -1 4 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 M 0 4 020062 STATE OF THE GROUND (WITH OR WITHOUT SNOW) CODE TABLE 20062 0 0 5 CODE TABLE 20062 0 2 020063 SPECIAL PHENOMENA CODE TABLE 20063 0 0 10 CODE TABLE 20063 0 4 020065 SNOW COVER (SEE NOTE 4) % 0 0 7 % 0 3 020066 MAXIMUM DIAMETER OF HAILSTONES M 3 0 8 M 3 3 020067 DIAMETER OF DEPOSIT M 3 0 9 M 3 3 020070 MINIMUM NUMBER OF ATMOSPHERICS NUMERIC 0 0 7 NUMERIC 0 3 020071 ACCURACY OF FIX AND RATE OF ATMOSPHERICS CODE TABLE 20071 0 0 4 CODE TABLE 20071 0 2 020081 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020082 AMOUNT SEGMENT CLOUD FREE % 0 0 7 % 0 3 020083 AMOUNT OF SEGMENT COVERED BY SCENE % 0 0 7 % 0 3 020085 GENERAL CONDITION OF RUNWAY CODE TABLE 20085 0 0 4 CODE TABLE 20085 0 1 020086 RANWAY DEPOSITS CODE TABLE 20086 0 0 4 CODE TABLE 20086 0 1 020087 RUNWAY CONTAMINATION CODE TABLE 20087 0 0 4 CODE TABLE 20087 0 1 020088 DEPTH OF RANWAY DEPOSITS M 3 0 12 M 3 4 020089 RUNWAY FRICTION COEFICIENT CODE TABLE 20089 0 0 7 CODE TABLE 20089 0 2 020090 SPECIAL CLOUDS CODE TABLE 20090 0 0 4 CODE TABLE 20090 0 2 020091 VERTICAL VISIBILITY FOOT -2 0 10 FEET -2 3 020092 HEIGHT OF BASE OF CLOUD FOOT -2 0 10 FEET -2 3 020095 ICE PROBABILITY NUMERIC 3 0 10 NUMERIC 3 4 020096 ICE AGE ("A" PARAMETER) dB 2 -4096 13 dB 2 4 020101 LOCUST (ACRIDIAN) NAME CODE TABLE 20101 0 0 4 CODE TABLE 20101 0 2 020102 LOCUST (MATURITY) COLOR CODE TABLE 20102 0 0 4 CODE TABLE 20102 0 2 020103 STAGE OF DEVELOPMENT OF LOCUSTS CODE TABLE 20103 0 0 4 CODE TABLE 20103 0 2 020104 ORGANIZATION STATE OF SWARM OR BAND OF LOCUSTS CODE TABLE 20104 0 0 4 CODE TABLE 20104 0 2 020105 SIZE OF SWARM OR BAND OF LOCUSTS AND DURATION OF PASSAGE OF SWARMCODE TABLE 20105 0 0 4 CODE TABLE 20105 0 2 020106 LOCUST POPULATION DENSITY CODE TABLE 20106 0 0 4 CODE TABLE 20106 0 2 020107 DIRECTION OF MOVEMENTS OF LOCUST SWARM CODE TABLE 20107 0 0 4 CODE TABLE 20107 0 2 020108 EXTENT OF VEGETATION CODE TABLE 20108 0 0 4 CODE TABLE 20108 0 2 020192 SPECIAL PHENOMENA CODE TABLE 020192 0 0 14 020193 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020194 AMOUNT OF SEGMENT CLOUD FREE % 0 0 7 % 0 3 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 PA -1 5 020249 SEA-ICE FRACTION NUMERIC 2 0 7 NUMERIC 2 3 020250 CALCULATED SURFACE TYPE CODE TABLE 20250 0 0 5 020251 ICE AGE CODE TABLE 20251 0 0 3 020252 ICE EDGE CODE TABLE 20252 0 0 3 020253 SURFACE TYPE CODE TABLE 20253 0 0 3 020254 ICE CONCENTRATION % 0 0 7 021001 HORIZONTAL REFLECTIVITY dB 0 -64 7 dB 0 3 021002 VERTICAL REFLECTIVITY dB 0 -64 7 dB 0 3 021003 DIFFERENTIAL REFLECTIVITY dB 1 -5 7 dB 1 3 021005 LINEAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021006 CIRCULAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION M/S 0 -128 8 M/S 0 3 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION M/S 0 -128 8 M/S 0 3 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION M/S 0 -128 8 M/S 0 3 021014 DOPPLER MEAN VELOCITY (RADIAL) M/S 1 -4096 13 M/S 1 4 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 0 8 M/S 1 3 021021 ECHO TOPS M -3 0 4 M -3 2 021030 SIGNAL TO NOISE RATIO dB 0 -32 8 dB 0 3 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT KG/M**2 0 0 7 KG/M**2 0 3 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 M/S 7 4 021041 BRIGHT-BAND HEIGHT M -2 0 8 M -2 3 021051 SIGNAL POWER ABOVE 1 MW dB 0 -256 8 dB 0 3 021062 BACKSCATTER dB 2 -5000 13 dB 2 4 021063 RADIOMETRIC RESOLUTION (NOISE VALUE) % 1 0 10 % 1 4 021064 CLUTTER NOISE ESTIMATE NUMERIC 0 0 8 NUMERIC 0 3 021065 MISSING PACKET COUNTER NUMERIC 0 -127 8 NUMERIC 0 3 021066 WAVE SCATTEROMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21066 0 0 12 FLAG TABLE 21066 0 4 021067 WIND PRODUCT CONFIDENCE DATA FLAG TABLE 21067 0 0 13 FLAG TABLE 21067 0 5 021068 RADAR ALTIMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21068 0 0 8 FLAG TABLE 21068 0 3 021069 SST PRODUCT CONFIDENCE DATA FLAG TABLE 21069 0 0 10 FLAG TABLE 21069 0 4 021070 SST PRODUCT CONFIDENCE DATA (SADIST-2) FLAG TABLE 21070 0 0 23 FLAG TABLE 21070 0 6 021071 PEAKINESS NUMERIC 0 0 16 NUMERIC 0 5 021072 SATELLITE ALTIMETER CALIBRATION STATUS FLAG TABLE 21072 0 0 4 FLAG TABLE 21072 0 2 021073 SATELLLITE ALTIMETER INSTRUMENT MODE FLAG TABLE 21073 0 0 9 FLAG TABLE 21073 0 3 021075 IMAGE SPECTRUM INTENSITY NUMERIC 0 0 8 NUMERIC 0 3 021076 REPRESENTATION OF INTENSITIES CODE TABLE 21076 0 0 3 CODE TABLE 21076 0 1 021077 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 M 3 5 021078 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 M 3 3 021079 ALTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 M 3 4 021080 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 M 3 4 021081 OPEN LOOP CORRECTION (HEIGHT-TIME LOOP) M 3 0 10 M 3 4 021082 OPEN LOOP CORRECTION (AUTO GAIN CONTROL) dB 3 -3000 14 dB 3 5 021083 WARM TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021084 COLD TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021085 ATSR SEA SURFACE TEMPERATURE ACROSS- TRACK BAND NUMBER NUMERIC 0 0 4 NUMERIC 0 2 021086 NUMBER OF PIXELS IN NADIR ONLY, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021087 NUMBER OF PIXELS IN DUAL VIEW, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021088 WET BACKSCATTER dB 2 -5000 13 dB 2 4 021091 RADAR SIGNAL DOPPLER SPECTRUM 0TH MOMENT dB 0 -100 8 dB 0 3 021092 RASS SIGNAL DOPPLER SPECTRUM 0TH MOMENT, REFERRING TO RASS SIGNA dB 0 -100 8 dB 0 3 021093 Ku BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021094 S BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021101 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 NUMERIC 0 1 021102 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 NUMERIC 0 1 021103 TOTAL NUMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 NUMERIC 0 2 021104 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 3 -30000 15 NUMERIC 3 5 021105 NORMALIZED RADAR CROSS-SECTION dB 2 -10000 14 dB 2 5 021106 KP VARIANCE COEFFICIENT (ALPHA) NUMERIC 3 0 14 NUMERIC 3 5 021107 KP VARIANCE COEFFICIENT (BETA) NUMERIC 8 0 16 NUMERIC 8 5 021109 SEAWINDS WIND VECTOR CELL QUALITY FLAG TABLE 21109 0 0 17 FLAG TABLE 21109 0 6 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021114 KP VARIANCE COEFFICENT (GAMMA) dB 3 -140000 18 dB 3 6 021115 SEAWINDS SIGMA-0 QUALITY FLAG TABLE 21115 0 0 17 FLAG TABLE 21115 0 6 021116 SEAWINDS SIGMA-0 MODE FLAG TABLE 21116 0 0 17 FLAG TABLE 21116 0 6 021117 SIGMA-0 VARIANCE QUALITY CONTROL NUMERIC 2 0 16 NUMERIC 2 5 021118 ATTENUATION CORRECTION ON SIGMA-0 dB 2 -10000 14 dB 2 5 021119 WIND SCATTEROMETER GEOPHYSICAL MODEL FUNCTION CODE TABLE 21119 0 0 6 CODE TABLE 21119 0 2 021120 PROBABILITY OF RAIN NUMERIC 3 0 10 NUMERIC 3 4 021121 SEAWINDS NOF* RAIN INDEX NUMERIC 0 0 8 NUMERIC 0 3 021122 ATTENUATION CORRECTION OF SIGMA-0 (FROM TB) dB 2 -10000 14 dB 2 5 021123 SEAWINDS NORMALIZED RADAR CROSS SECTION dB 2 -30000 15 dB 2 5 021128 NUMBER OF VALID POINTS PER SECOND USED TO DERIVE PREVIOUS PARAME NUMERIC 0 0 8 NUMERIC 0 3 021130 SPECTRUM TOTAL ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021131 SPECTRUM MAX ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021132 DIRECTION OF SPECTRUM MAX ON HIGHER RESOLUTION GRID DEGREE 3 0 19 DEGREE 3 6 021133 WAVE-LENGTH OF SPECTRUM MAX ON HIGHER RESOLUTION GRID M 3 0 29 M 3 9 021134 RANGE RESOLUTION OF CRESS COVARIANCE SPECTRUM RAD/M 3 0 19 RAD/M 3 6 021135 REAL PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021136 IMAGINARY PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021137 KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021138 STD KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021139 KU BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -2048 12 dB 2 4 021140 S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021141 STD S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021142 S BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -1024 11 dB 2 4 021143 KU BAND RAIN ATTENUATION dB 2 -1073741824 31 dB 2 10 021144 ALTIMETER RAIN FLAG FLAG TABLE 21144 0 0 2 FLAG TABLE 21144 0 1 021145 KU BAND AUTOMATIC GAIN CONTROL dB 2 0 13 021146 RMS KU BAND AUTOMATIC GAIN CONTROL dB 2 0 8 021147 NUMBER OF VALID POINTS FOR KU BAND AUTOMATIC GAIN CONTROL NUMERIC 0 0 5 021150 BEAM COLLOCATION CODE TABLE 21150 0 0 2 CODE TABLE 21150 0 1 021151 ESTIMATED ERROR IN SIGMA0 AT 40DEG INCIDENCE ANGLE dB 2 0 9 dB 2 3 021152 SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -80 7 dB/DEG 2 3 021153 ESTIMATED ERROR IN SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -40 6 dB/DEG 2 3 021154 SOIL MOISTURE SENSITIVITY dB 2 0 12 dB 2 4 021155 WIND VECTOR CELL QUALITY FLAG TABLE 21155 0 0 24 FLAG TABLE 21155 0 8 021156 BACKSCATTER DISTANCE NUMERIC 1 -4096 13 NUMERIC 1 4 021157 LOSS PER UNIT LENGTH OF ATMOSPHERE USED dB/M 10 0 22 dB/M 10 7 021158 ASCAT kp ESTIMATE QUALITY CODE TABLE 21158 0 0 2 CODE TABLE 21158 0 1 021159 ASCAT SIGMA-0 USABILITY CODE TABLE 21159 0 0 2 CODE TABLE 21159 0 1 021160 ASCAT USE OF SYNTHETIC DATA NUMERIC 3 0 10 NUMERIC 3 4 021161 ASCAT SYNTHETIC DATA QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021162 ASCAT SATELLITE ORBIT AND ATTITUDE QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021163 ASCAT SOLAR ARRAY REFLECTION CONTAMINATION NUMERIC 3 0 10 NUMERIC 3 4 021164 ASCAT TELEMETRY PRESENCE AND QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021165 ASCAT EXTRAPOLATED REFERENCE FUNCTION PRESENCE NUMERIC 3 0 10 NUMERIC 3 4 021166 LAND FRACTION NUMERIC 3 0 10 NUMERIC 3 4 021169 ICE PRESENCE INDICATOR CODE TABLE 0 0 2 021170 C BAND CORRECTED OCEAN BACKSCATTER COEFICIENT dB 2 -32768 16 021171 RMS C BAND CORRECTED OCEAN BACKSCATTER COEFICIENT dB 2 -32768 16 021172 C BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -2048 12 021173 C BAND AUTOMATIC GAIN CONTROL dB 2 0 13 021174 RMS C BAND AUTOMATIC GAIN CONTROL dB 2 0 9 021175 NUMBER OF VALID POINTS FOR C BAND AUTOMATIC GAIN CONTROL NUMERIC 0 0 10 021192 RADAR BACK SCATTER dB 2 -5000 13 021193 NOISE FIGURE % 0 0 7 021194 BACKGROUND NOISE LEVEL NUMERIC 0 0 8 021195 MISSING PACKET COUNTER NUMERIC 0 -127 8 021196 UWA PRODUCT CONFIDENCE FLAG TABLE 21196 0 0 12 021197 UWI PRODUCT CONFIDENCE FLAG TABLE 21197 0 0 12 021198 URA PRODUCT CONFIDENCE FLAG TABLE 21198 0 0 8 021199 UAT PRODUCT CONFIDENCE FLAG TABLE 21199 0 0 7 021200 MWI PRODUCT CONFIDENCE FLAG TABLE 21200 0 0 15 021201 PEAKINESS NUMERIC 0 0 16 021202 ALTIMETER CALIBRATION STATUS FLAG TABLE 21202 0 0 4 021203 ALTIMETER INSTRUMENT MODE FLAG TABLE 21203 0 0 9 021204 MULTI/SINGLE VIEW DIFFERENCE K 2 -512 10 021205 SPECTRAL INTENSITY NUMERIC 0 0 8 021206 REPRESENTATION OF INTENSITY CODE TABLE 21206 0 0 3 021207 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 021208 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 021209 LTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 021210 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 021211 OPEN LOOP CORRECTION (HTL) M 3 0 10 021212 OPEN LOOP CORRECTION (AGC) dB 3 -3000 14 021213 AMBIGUITY REMOVAL CONFIDENCE % 0 0 7 021214 UAT QUALITY SUMMARY CODE TABLE 21214 0 0 3 021215 UAT ACROSS-TRACK BAND NO. NUMERIC 0 0 4 021222 DOPPLER SPECTRUM 0 TH MOMENT (AMPLITUDE) dB 0 0 7 021225 PRESCAT PRODUCT CONFIDENCE FLAG TABLE 21225 0 0 6 021226 BACKSCATER DISTANCE NUMERIC 1 -4096 13 021227 GLARE ANGLE CODE TABLE 21227 0 6 6 021230 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 021231 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 021232 TOTAL NMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 021233 NUMBER OF SIGMA-0 USABLE FOR WIND NUMERIC 0 0 5 021234 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 1 -10000 14 021235 WIND VECTOR CELL QUALITY FLAG FLAG TABLE 21235 0 0 3 021236 NUMBER OF FORE-BEAM SIGMA-0 NUMERIC 1 0 6 021237 NUMBER OF MID-BEAM V-POL SIGMA-0 NUMERIC 1 0 6 021238 NUMBER OF MID-BEAM H-POL SIGMA-0 NUMERIC 1 0 6 021239 NUMBER OF AFT-BEAM SIGMA-0 NUMERIC 1 0 6 021240 NORMALIZED RADAR CROSS SECTION NUMERIC 2 -10000 14 021241 Kp VARIANCE COEFFICIENT (ALPHA) NUMERIC 5 0 14 021242 Kp VARIANCE COEFFICIENT (BETHA) NUMERIC 6 0 16 021243 Kp VARIANCE COEFFICIENT (GAMMA) NUMERIC 6 0 16 021244 SIGMA-0 QUALITY FLAG FLAG TABLE 21244 0 0 15 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022005 DIRECTION OF SEA SURFACE CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022011 PERIOD OF WAVES S 0 0 6 S 0 2 022012 PERIOD OF WIND WAVES S 0 0 6 S 0 2 022013 PERIOD OF SWELL WAVES S 0 0 6 S 0 2 022021 HEIGHT OF WAVES M 1 0 10 M 1 4 022022 HEIGHT OF WIND WAVES M 1 0 10 M 1 4 022023 HEIGHT OF SWELL WAVES M 1 0 10 M 1 4 022025 STANDARD DEVIATION WAVE HEIGHT M 2 0 10 M 2 4 022026 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT M 2 0 10 M 2 4 022031 SPEED OF CURRENT M/S 2 0 13 M/S 2 4 022032 SPEED OF SEA SURFACE CURRENT M/S 2 0 13 M/S 2 4 022035 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 2 0 14 M 2 4 022036 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 2 0 14 M 2 4 022037 TIDAL ELEVATION WITH RESPECT TO NATIONAL LAND DATUM M 3 -10000 15 M 3 5 022038 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 3 -10000 15 M 3 5 022039 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 12 M 3 4 022040 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 14 M 3 5 022041 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 1 0 12 K 1 4 022042 SEA/WATER TEMPERATURE K 1 0 12 K 1 4 022043 SEA/WATER TEMPERATURE K 2 0 15 K 2 5 022044 SOUND VELOCITY M/S 1 0 14 M/S 1 5 022045 SEA/WATER TEMPERATURE K 3 0 19 K 3 6 022046 SEA ICE FRACTION NUMERIC 2 0 7 NUMERIC 2 3 022049 SEA SURFACE TEMPERATURE K 2 0 15 K 2 5 022050 STANDARD DEVIATION SEA-SURFACE TEMPERATURE K 2 0 8 K 2 3 022055 FLOAT CYCLE NUMBER NUMERIC 0 0 10 NUMERIC 0 3 022056 DIRECTION OF PROFILE CODE TABLE 22056 0 0 2 CODE TABLE 22056 0 1 022059 SEA SURFACE SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022060 LAGRANGIAN DRIFTER DROGUE STATUS CODE TABLE 22060 0 0 3 CODE TABLE 22060 0 1 022061 STATE OF THE SEA CODE TABLE 22061 0 0 4 CODE TABLE 22061 0 2 022062 SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022063 TOTAL WATER DEPTH M 0 0 14 M 0 5 022064 SALINITY PART PER THOUSAND 3 0 17 PART PER THOUSAND 3 6 022065 WATER PRESSURE PA -3 0 17 PA -3 6 022066 WATER CONDUCTIVITY S M-1 6 0 26 S M-1 6 8 022067 INSTRUMENT TYPE FOR WATER TEMPERATURE PROFILE MEASUREMENT CODE TABLE 22067 0 0 10 CODE TABLE 22067 0 4 022068 WATER TEMPERATURE PROFILE RECORDER TYPES CODE TABLE 22068 0 0 7 CODE TABLE 22068 0 3 022069 SPECTRAL WAVE DENSITY M2HZ-1 3 0 22 M2HZ-1 3 7 022070 SIGNIFICANT WAVE HEIGHT M 2 0 13 M 2 4 022071 SPECTRAL PEAK WAVE PERIOD S 1 0 9 S 1 3 022072 SPECTRAL PEAK WAVE LENGTH M 0 0 13 M 0 4 022073 MAXIMUM WAVE HEIGHT M 2 0 13 M 2 4 022074 AVERAGE WAVE PERIOD S 1 0 9 S 1 3 022075 AVERAGE WAVE LENGTH M 0 0 13 M 0 4 022076 DIRECTION FROM WHICH DOMINANT WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022077 DIRECTIONAL SPREAD OF DOMINANT WAVE DEGREE 0 0 9 DEGREE 0 3 022078 DURATION OF WAVE RECORD S 0 0 12 S 0 4 022079 LENGTH OF WAVE RECORD M 0 0 16 M 0 5 022080 WAVEBAND CENTRAL FREQUENCY Hz 3 0 10 Hz 3 4 022081 WAVEBAND CENTRAL WAVE NUMBER 1/M 5 0 13 1/M 5 4 022082 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE DENSITY M**2S 2 0 20 M**2S 2 7 022083 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE NUMBER M**3 2 0 20 M**3 2 7 022084 BAND CONTAINING MAXIMUM NON- DIRECTIONAL SPECTRAL WAVE DENSITY NUMERIC 0 0 7 NUMERIC 0 3 022085 SPECTRAL WAVE DENSITY RATIO NUMERIC 0 0 7 NUMERIC 0 3 022086 MEAN DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022087 PRINCIPAL DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022088 FIRST NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022089 SECOND NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022090 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S 2 0 20 M**2S 2 7 022091 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**3 2 0 20 M**3 2 7 022092 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S/RAD 2 0 20 M**2S/RAD 2 7 022093 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**4 2 0 20 M**4 2 7 022094 TOTAL NUMBER OF WAVE BANDS NUMERIC 0 0 7 NUMERIC 0 3 022095 DIRECTIONAL SPREAD OF INDIVIDUAL WAVES DEGREE 0 0 8 DEGREE 0 3 022096 SPECTRAL BAND WIDTH 1/S 3 0 4 1/S 3 2 022097 MEAN WAVELENGTH > 731 M OF IMAGE SPECTRUM AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022098 WAVELENGTH SPREAD (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022099 MEAN DIRECTION AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022100 DIRECTION SPREAD AT LOW WAVE NUMBERS(WAVELENGTH > 731 M) DEGREE 0 0 9 DEGREE 0 3 022101 TOTAL ENERGY (WAVELENGTH > 731M) AT LOW WAVE NUMBERS NUMERIC 0 0 31 NUMERIC 0 10 022120 TIDE STATION AUTOMATED WATER LEVEL CHECK CODE TABLE 22120 0 0 5 CODE TABLE 22120 0 2 022121 TIDE STATION MANUAL WATER LEVEL CHECK CODE TABLE 22121 0 0 5 CODE TABLE 22121 0 2 022122 TIDE STATION AUTOMATED METEOROLOGICAL DATA CHECK CODE TABLE 22122 0 0 5 CODE TABLE 22122 0 2 022123 TIDE STATION MANUAL METEOROLOGICAL DATA CHECK CODE TABLE 22123 0 0 5 CODE TABLE 22123 0 2 022141 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 2 0 15 K 2 5 022150 NUMBER OF 18 HZ VALID POINTS FOR KU BAND NUMERIC 0 0 10 NUMERIC 0 4 022151 KU BAND OCEAN RANGE M 3 0 31 M 3 10 022152 STD OF 18 HZ KU BAND OCEAN RANGE M 3 0 16 M 3 5 022153 NUMBER OF 18 HZ VALID POINTS FOR S BAND NUMERIC 0 0 10 NUMERIC 0 4 022154 S BAND OCEAN RANGE M 3 0 31 M 3 10 022155 STD OF 18 HZ S BAND OCEAN RANGE M 3 0 16 M 3 5 022156 KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022157 STD 18HZ KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022158 S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022159 STD 18HZ S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022160 NORMALIZED INVERSE WAVE AGE NUMERIC 6 0 21 NUMERIC 6 7 022161 WAVE SPECTRA M**4 4 0 27 M**4 4 9 022162 RMS OF 20Hz KU BAND OCEAN RANGE M 3 0 16 022163 NUMBER OF 20Hz VALID POINTS FOR KU BAND NUMERIC 0 0 10 022164 RMS 20Hz KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022165 NUMBER OF 20Hz VALID POINTS FOR KU BAND SIGNIFICANT WAVE HEIGHT NUMERIC 0 0 10 022166 KU BAND NET INSTRUMENTAL CORRECTION FOR SIGNIFICANT WAVE HEIGHT M 3 -1000 11 022167 NUMBER OF VALID POINTS FOR KU BAND BACKSCATTER NUMERIC 0 0 10 022168 C BAND OCEAN RANGE M 3 0 31 022169 RMS OF C BAND OCEAN RANGE M 3 0 16 022170 NUMBER OF 20Hz VALID POINTS FOR C BAND NUMERIC 0 0 10 022171 C BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022172 RMS 20Hz C BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 022173 NUMBER OF 20Hz VALID POINTS FOR C BAND NUMERIC 0 0 10 022174 C BAND NET INSTRUMENTAL CORRECTION FOR SIGNIFICANT WAVE HEIGHT M 3 -1000 11 022175 NUMBER OF VALID POINTS FOR C BAND BACKSCATTER NUMERIC 0 0 10 022191 SPECTRAL DENSITY M**2*S/RAD 2 0 20 022192 SPECTRAL PERIOD S 2 0 13 022193 MEAN WAVENUMBER 1/M 5 0 15 022194 PEAK WAVENUMBER 1/M 5 0 15 022195 MEAN WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022196 PEAK WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022197 DIRECTION SPREAD DEGREE 1 0 13 022198 VARIANCE SPECTRAL DENSITY M**2*S/RAD 4 0 18 022199 CORRELATION COEFF OF SIMULATED FG AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022200 CORRELATION COEFF OF SIMULATED BF AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022201 CORRELATION COEFF OF OCEAN WAVE FG AND EXTRACTED WAVE SPECTRUM NUMERIC 4 -10000 15 022202 ERROR BETWEEN FIRST GUESS AND OBSERVED SAR NUMERIC 5 0 21 022203 ERROR BETWEEN SIMULATED AND OBSERVED SAR NUMERIC 5 0 21 022204 MEAN PERIOD OF WAVES SECOND 2 0 13 022205 SPECTRAL DENSITY M**2*S/RAD 4 0 25 022206 PEAK PERIOD OF WAVES SECOND 2 0 13 022207 MEAN WAVE PERIOD S 1 0 10 022208 PEAK PERIOD OF 1D SPECTRA S 1 0 10 022209 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 13 022210 MEAN SQUARE SLOPE OF WAVES NUMERIC 4 -10000 14 022211 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 17 022243 STANDARD DEVIATION SIGNIFICANT WAVE HEIGHT M 2 0 10 023001 ACCIDENT EARLY NOTIFICATION ARTICLE APPLICABLE CODE TABLE 23001 0 0 3 CODE TABLE 23001 0 1 023002 ACTIVITY OR FACILITY INVOLVED IN INCIDENT CODE TABLE 23002 0 0 5 CODE TABLE 23002 0 2 023003 TYPE OF RELEASE CODE TABLE 23003 0 0 3 CODE TABLE 23003 0 1 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 23004 0 0 3 CODE TABLE 23004 0 1 023005 CAUSE OF INCIDENT CODE TABLE 23005 0 0 2 CODE TABLE 23005 0 1 023006 INCIDENT SITUATION CODE TABLE 23006 0 0 3 CODE TABLE 23006 0 1 023007 CHARACTERISTICS OF RELEASE CODE TABLE 23007 0 0 3 CODE TABLE 23007 0 1 023008 STATE OF CURRENT RELEASE CODE TABLE 23008 0 0 2 CODE TABLE 23008 0 1 023009 STATE OF EXPECTED RELEASE CODE TABLE 23009 0 0 2 CODE TABLE 23009 0 1 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 23016 0 0 2 CODE TABLE 23016 0 1 023017 FLOW DISCHARGE OF MAJOR RECIPIENT M**3/S 6 0 20 M**3/S 6 7 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 23018 0 0 3 CODE TABLE 23018 0 1 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 M 0 6 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 M 0 6 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 M 0 8 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 M/S 1 4 023024 MAIN TRANSPORT SPEED IN WATER M/S 2 0 13 M/S 2 4 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 M/S 2 4 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 23031 0 0 2 CODE TABLE 23031 0 1 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 23032 0 0 2 CODE TABLE 23032 0 1 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 Bq -11 9 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 Bq -11 9 024003 COMPOSITION OF RELEASE CODE TABLE 24003 0 0 5 CODE TABLE 24003 0 2 024004 ELEMENT NAME CCITTIA5 0 0 16 CHARACTER 0 2 024005 ISOTOPE MASS NUMERIC 0 0 9 NUMERIC 0 3 024011 DOSE mSv 2 0 32 mSv 2 10 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME OF ARRIVAL) mSv 2 0 32 mSv 2 10 024013 GAMMA DOSE IN AIR ALONG THE MAIN TRANSPORT PATH (DEFINED LOCATIO mSv 2 0 32 mSv 2 10 024021 AIR CONCENTRATION (OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA) Bq/M**3 2 0 32 Bq/M**3 2 10 024022 CONCENTRATION IN PRECIPITATION (OF NAMES ISOTOPE TYPE) Bq/L 2 0 32 BQ L-1 2 10 024023 PULSE RATE OF BETA RADIATION 1/S 1 0 14 1/S 1 4 024024 PULSE RATE OF GAMMA RADIATION 1/S 1 0 14 1/S 1 4 025001 RANGE-GATE LENGTH M -1 0 6 M -1 2 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 NUMERIC 0 2 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 NUMERIC 0 3 025004 ECHO PROCESSING CODE TABLE 25004 0 0 2 CODE TABLE 25004 0 1 025005 ECHO INTEGRATION CODE TABLE 25005 0 0 2 CODE TABLE 25005 0 1 025006 Z TO R CONVERSION CODE TABLE 25006 0 0 3 CODE TABLE 25006 0 1 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 NUMERIC 0 4 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 NUMERIC 2 3 025009 CALIBRATION METHOD FLAG TABLE 25009 0 0 4 FLAG TABLE 25009 0 2 025010 CLUTTER TREATMENT CODE TABLE 25010 0 0 4 CODE TABLE 25010 0 2 025011 GROUND OCCULTATION CORRECTION (SCREENING) CODE TABLE 25011 0 0 2 CODE TABLE 25011 0 1 025012 RANGE ATTENUATION CORRECTION CODE TABLE 25012 0 0 2 CODE TABLE 25012 0 1 025013 BRIGHT-BAND CORRECTION FLAG TABLE 25013 0 0 2 FLAG TABLE 25013 0 1 025014 AZIMUTH CLUTTER CUT-OFF (SEE NOTE 1) NUMERIC 0 0 12 NUMERIC 0 4 025015 RADOME ATTENUATION CORRECTION FLAG TABLE 25015 0 0 2 FLAG TABLE 25015 0 1 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 dB/M 5 2 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 25017 0 0 2 FLAG TABLE 25017 0 1 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 NUMERIC 7 2 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 NUMERIC 2 3 025020 MEAN SPEED ESTIMATION CODE TABLE 25020 0 0 2 CODE TABLE 25020 0 1 025021 WIND COMPUTATION ENHANCEMENT FLAG TABLE 25021 0 0 8 FLAG TABLE 25021 0 3 025022 GHRSS REJECTION FLAG FLAG TABLE 25022 0 0 9 FLAG TABLE 25022 0 3 025023 GHRSS CONFIDENCE FLAG FLAG TABLE 25023 0 0 9 FLAG TABLE 25023 0 3 025024 GHRSS DATA QUALITY CODE TABLE 25024 0 0 4 CODE TABLE 25024 0 2 025025 BATTERY VOLTAGE V 1 0 9 V 1 3 025026 BATTERY VOLTAGE (LARGE RANGE) V 1 0 12 V 1 4 025028 OPERATOR OR MANUFACTURER DEFINED PARAMETER NUMERIC 1 -16384 15 NUMERIC 1 5 025029 CALIBRATION METHOD FLAG TABLE 25029 0 0 6 FLAG TABLE 25029 0 2 025030 RUNNING MEAN SEA-SURFACE TEMPERATURE USAGE CODE TABLE 25030 0 0 2 CODE TABLE 25030 0 1 025032 WIND PROFILER MODE INFORMATION CODE TABLE 25032 0 0 2 CODE TABLE 25032 0 1 025033 WIND PROFILER SUBMODE INFORMATION* CODE TABLE 25033 0 0 2 CODE TABLE 25033 0 1 025034 WIND PROFILER QUALITY CONTROL TEST RESULTS* FLAG TABLE 25034 0 0 4 FLAG TABLE 25034 0 2 025036 ATMOSPHERICS LOCATION METHOD CODE TABLE 25036 0 0 4 CODE TABLE 25036 0 2 025037 SST BIAS K 2 -127 8 K 2 3 025038 DIFFERENCE BETWEEN SST AND ANALYSIS K 1 -127 8 K 1 3 025040 CO2 WIND PRODUCT DERIVATION CODE TABLE 25040 0 0 4 CODE TABLE 25040 0 2 025041 MOVING PLATFORM DIRECTION REPORTING METHOD CODE TABLE 25041 0 0 2 CODE TABLE 25041 0 1 025042 MOVING PLATFORM SPEED REPORTING METHOD CODE TABLE 25042 0 0 2 CODE TABLE 25042 0 1 025043 WAVE SAMPLING INTERVAL (TIME) S 4 0 15 S 4 5 025044 WAVE SAMPLING INTERVAL (SPACE) M 2 0 14 M 2 5 025045 HIRS CHANNEL COMBINATION FLAG TABLE 25045 0 0 21 FLAG TABLE 25045 0 7 025046 MSU CHANNEL COMBINATION FLAG TABLE 25046 0 0 5 FLAG TABLE 25046 0 2 025047 SSU CHANNEL COMBINATION FLAG TABLE 25047 0 0 4 FLAG TABLE 25047 0 2 025048 AMSU-A CHANNEL COMBINATION FLAG TABLE 25048 0 0 16 FLAG TABLE 25048 0 6 025049 AMSU-B CHANNEL COMBINATION FLAG TABLE 25049 0 0 6 FLAG TABLE 25049 0 2 025050 PRINCIPAL COMPONENT SCORE NUMERIC 4 -131072 18 NUMERIC 4 6 18 NUMERIC 4 6 025051 AVHRR CHANNEL COMBINATION FLAG TABLE 25051 0 0 7 FLAG TABLE 25051 0 3 025052 LOG-10 OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA NUMERIC 4 0 15 NUMERIC 4 5 025053 OBSERVATION QUALITY FLAG TABLE 25053 0 0 12 FLAG TABLE 25053 0 4 025054 SSMIS SUBFRAME ID NEMBER NUMERIC 0 0 5 NUMERIC 0 2 025055 MULTIPLEXER HOUSEKEEPING K 2 0 16 K 2 5 025060 SOFTWARE IDENTIFICATION (SEE NOTE 2) NUMERIC 0 0 14 NUMERIC 0 5 025061 SOFTWARE IDENTIFICATION AND VERSION NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 025062 DATABASE IDENTIFICATION NUMERIC 0 0 14 NUMERIC 0 5 025065 ORIENTATION CORRECTION (AZIMUTH) DEGREE 2 -1000 11 DEGREE 2 4 025066 ORIENTATION CORRECTION (ELEVATION) DEGREE 2 -1000 11 DEGREE 2 4 025067 RADIOSONDE RELEASE POINT PRESSURE CORRECTION PA 0 -8000 14 PA 0 4 025068 NUMBER OF ARCHIVE RECOMPUTES NUMERIC 0 0 7 NUMERIC 0 3 025069 FLIGHT LEVEL PRESSURE CORRECTIONS FLAG TABLE 25069 0 0 8 FLAG TABLE 25069 0 3 025070 MAJOR FRAME COUNT NUMERIC 0 0 4 NUMERIC 0 2 025071 FRAME COUNT NUMERIC 0 0 5 NUMERIC 0 2 025075 SATELLITE ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 NUMERIC 0 2 025076 LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER) FOR ATOVS LOG (1/M) 8 0 30 LOG (1/M) 8 10 025077 BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS NUMERIC 5 -100000 18 NUMERIC 5 7 025078 BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS NUMERIC 5 0 17 NUMERIC 5 6 025079 ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS W/M**2 4 0 24 W/M**2 4 8 025080 ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS M 10 0 14 M 10 5 025081 INCIDENCE ANGLE DEGREE 3 0 17 DEGREE 3 6 025082 AZIMUTH ANGLE DEGREE 3 0 19 DEGREE 3 6 025083 FARADEY ROTATIONAL ANGLE DEGREE 3 0 19 DEGREE 3 6 025084 GEOMETRIC ROTATIONAL ANGLE DEGREE 5 0 26 DEGREE 5 8 025085 FRACTION OF CLEAR PIXELS IN HIRS FOV NUMERIC 0 0 7 NUMERIC 0 3 025086 DEPTH CORRECTION INDICATOR CODE TABLE 25086 0 0 2 CODE TABLE 25086 0 1 025090 ORBIT STATE FLAG CODE TABLE 25090 0 0 4 CODE TABLE 25090 0 2 025091 STRUCTURE CONSTANT OF THE REFRACTION INDEX (CN2) dB 3 -18192 13 dB 3 5 025092 ACOUSTIC PROPAGATION VELOCITY M/S 2 28000 14 M/S 2 5 025093 RASS COMPUTATION CORRECTION FLAG TABLE 25093 0 0 8 FLAG TABLE 25093 0 3 025095 ALTIMETER STATE FLAG FLAG TABLE 25095 0 0 2 FLAG TABLE 25095 0 1 025096 RADIOMETER STATE FLAG FLAG TABLE 25096 0 0 5 FLAG TABLE 25096 0 2 025097 THREE DIMENSIONAL ERROR ESTIMATE OF THE NAVIGATOR ORBIT CODE TABLE 25097 0 0 4 CODE TABLE 25097 0 2 025098 ALTIMETER DATA QUALITY FLAG FLAG TABLE 25098 0 0 9 FLAG TABLE 25098 0 3 025099 ALTIMETER CORRECTION QUALITY FLAG TABLE 25099 0 0 9 FLAG TABLE 25099 0 3 025100 XBT/XCTD FALL RATE EQUATION COEFFICIENT A NUMERIC 5 0 20 NUMERIC 5 6 025101 XBT/XCTD FALL RATE EQUATION COEFFICIENT B NUMERIC 5 -500000 21 NUMERIC 5 6 025102 NUMBER OF MISSING LINES EXCLUDING DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025103 NUMBER OF DIRECTIONAL BINS NUMERIC 0 0 8 NUMERIC 0 3 025104 NUMBER OF WAVE-LENGTH BINS NUMERIC 0 0 8 NUMERIC 0 3 025105 FIRST DIRECTIONAL BIN DEGREES 3 0 19 025106 DIRECTIONAL BIN STEP DEGREES 3 0 19 025107 FIRST WAVE-LENGTH BIN M 3 0 29 M 3 9 025108 LAST WAVE-LENGTH BIN M 3 0 29 M 3 9 025110 IMAGE PROCESSING SUMMARY FLAG TABLE 25110 0 0 10 025111 NUMBER OF INPUT DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025120 RA2-L2-PROCESSING FLAG CODE TABLE 25120 0 0 2 CODE TABLE 25120 0 1 025121 RA2-L2-PROCESSING QUALITY % 0 0 7 % 0 3 025122 HARDWARE CONFIGURATION FOR RF CODE TABLE 25122 0 0 2 CODE TABLE 25122 0 1 025123 HARDWARE CONFIGURATION FOR HPA CODE TABLE 25123 0 0 2 CODE TABLE 25123 0 1 025124 MWR L2 PROCESSING FLAG CODE TABLE 25124 0 0 2 CODE TABLE 25124 0 1 025125 MWR L2-PROCESSING QUALITY % 0 0 7 % 0 3 025126 MODEL DRY TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025127 INVERTED BAROMETER CORRECTION M 3 -32768 16 M 3 5 025128 MODEL WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025129 MWR DERIVED WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025130 RA2 IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025131 IONOSPHERIC CORRECTION FROM DORIS ON KU BAND M 3 -32768 16 M 3 5 025132 IONOSPHERIC CORRECTION FROM MODEL ON KU BAND M 3 -32768 16 M 3 5 025133 SEA STATE BIAS CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025134 RA2 IONOSPHERIC CORRECTION ON S BAND M 3 -32768 16 M 3 5 025135 IONOSPHERIC CORRECTION FROM DORIS ON S BAND M 3 -32768 16 M 3 5 025136 IONOSPHERIC CORRECTION FROM MODEL ON S BAND M 3 -32768 16 M 3 5 025137 SEA STATE BIAS CORRECTION ON S BAND M 3 -32768 16 M 3 5 025138 AVERAGE SIGNAL TO NOISE RATION NUMERIC 0 -2048 12 NUMERIC 0 4 025140 START CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025141 END CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025142 CHANNEL SCALE FACTOR NUMERIC 0 0 6 NUMERIC 0 2 025143 LINEAR COEFFICIENT NUMERIC 6 -5000000 24 NUMERIC 6 8 025150 SATELLITE INTENSITY ANALYSIS METHOD OF TROPICAL CYCLONE CODE TABLE 25150 0 0 4 CODE TABLE 25150 2 2 025160 KU BAND INSTRUMENTAL CORRECTION M 4 -120000 18 025161 C BAND INSTRUMENTAL CORRECTION M 4 -120000 18 025162 SEA STATE BIAS CORRECTION ON C BAND M 4 -6000 13 025163 ALTIMETER IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 025164 RADIOMETER WET M 4 -5000 13 025174 SMOS INFORMATION FLAG FLAG TABLE 25174 0 0 14 FLAG TABLE 25174 0 5 025193 ATTENUATION CORRECTION ON SIGMA0 dB 3 0 14 025194 MAJOR FRAME COUNT NUMERIC 0 0 4 025197 ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 025198 LOG (TEMP-RAD CENTRAL WAVE NUMBER) 1/M 8 0 30 025199 BANDWIDTH CORRECTION COEFFICIENT 1 NUMERIC 4 -10000 15 025200 BANDWIDTH CORRECTION COEFFICIENT 2 NUMERIC 5 0 17 025201 ALBEDO-RAD SOLAR FILTERED IRRADIANCE NUMERIC 4 0 24 025202 ALBEDO-RAD EQUIVALENT FILTER WIDTH NUMERIC 10 0 14 025203 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 25203 0 0 31 025204 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 25204 0 0 31 025205 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 25205 0 0 31 025206 FOV QUALITY FLAGS FOR ATOVS FLAG TABLE 25206 0 0 31 025207 COMPASS AZIMUTH ANGLE DEGREE 2 0 16 026001 PRINCIPAL TIME OF DAILY READING IN UTC OF MAXIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026002 PRINCIPAL TIME OF DAILY READING IN UTC OF MINIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026003 TIME DIFFERENCE MINUTE 0 -1440 12 MINUTE 0 4 026010 HOURS INCLUDED FLAG TABLE 26010 0 0 26 FLAG TABLE 26010 0 9 026020 DURATION OF PRECIPITATION MINUTE 0 0 11 MINUTE 0 4 026030 MEASUREMENT INTEGRATION TIME SECOND 2 0 8 SECOND 2 3 026193 YEAR YEAR 0 0 12 026194 MONTH MONTH 0 0 4 026195 DAY DAY 0 0 6 026196 HOUR HOUR 0 0 5 026197 MINUTE MINUTE 0 0 6 026198 SECOND SECOND 0 0 6 026200 LOCATION WITHIN ASSIMILATION WINDOW IN TIME NUMERIC 6 0 20 026201 HOURS INCLUDED FLAG TABLE 26201 0 0 26 027001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027003 ALTERNATE LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027004 ALTERNATE LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027010 FOOTPRINT AXIS 1 M -1 0 14 M -1 5 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 NUMERIC 0 5 027021 SATELLITE SUBLOCATION DIMENSION NUMERIC 0 0 16 NUMERIC 0 5 027031 IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THE EARTH'S C M 2 -1073741824 31 M 2 10 027080 VIEWING AZIMUTH ANGLE DEGREE TRUE 2 0 16 DEGREE TRUE 0 5 027193 SOLAR AZIMUTH DEGREE TRUE 2 0 16 028001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028003 ALTERNATE LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028004 ALTERNATE LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028010 FOOTPRINT AXIS 2 M -1 0 14 M -1 5 028031 IN DIRECTION 90 DEGREES EAST, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 029001 PROJECTION TYPE CODE TABLE 29001 0 0 3 CODE TABLE 29001 0 1 029002 CO-ORDINATE GRID TYPE CODE TABLE 29002 0 0 3 CODE TABLE 29002 0 1 030001 PIXEL VALUE (4 BITS) NUMERIC 0 0 4 NUMERIC 0 2 030002 PIXEL VALUE (8 BITS) NUMERIC 0 0 8 NUMERIC 0 3 030004 PIXEL VALUE (16 BITS) NUMERIC 0 0 16 NUMERIC 0 5 030010 NUMBER OF GRID POINTS NUMERIC 0 0 13 NUMERIC 0 4 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 NUMERIC 0 4 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 NUMERIC 0 4 030031 PICTURE TYPE CODE TABLE 30031 0 0 4 CODE TABLE 30031 0 2 030032 COMBINATION WITH OTHER DATA FLAG TABLE 30032 0 0 16 FLAG TABLE 30032 0 6 030193 POSITION NUMBER ALONG SCAN NUMERIC 0 0 8 031000 SHORT DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 1 NUMERIC 0 1 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 31021 0 0 6 CODE TABLE 31021 0 2 031031 DATA PRESENT INDICATOR FLAG TABLE 31031 0 0 1 FLAG TABLE 31031 0 1 031192 DATA PRESENT INDICATOR NUMERIC 0 0 1 033002 QUALITY INFORMATION CODE TABLE 33002 0 0 2 CODE TABLE 33002 0 1 033003 QUALITY INFORMATION CODE TABLE 33003 0 0 3 CODE TABLE 33003 0 1 033005 QUALITY INFORMATION (AWS DATA) FLAG TABLE 33005 0 0 30 FLAG TABLE 33005 0 10 033006 INTERNAL MEASUREMENT STATUS INFORMATION (AWS) CODE TABLE 33006 0 0 3 CODE TABLE 33006 0 1 033007 PER CENT CONFIDENCE % 0 0 7 % 0 3 033009 RELATIVE ERROR % 6 0 20 % 0 7 033015 DATA QUALITY CHECK INDICATOR CODE TABLE 33015 0 0 6 CODE TABLE 33015 0 2 033020 QUALITY CONTROL INDICATION OF FOLLOWING VALUE CODE TABLE 33020 0 0 3 CODE TABLE 33020 0 1 033021 QUALITY OF FOLLOWING VALUE CODE TABLE 33021 0 0 2 CODE TABLE 33021 0 1 033022 QUALITY OF BUOY SATELLITE TRANSMISSION CODE TABLE 33022 0 0 2 CODE TABLE 33022 0 1 033023 QUALITY OF BUOY LOCATION CODE TABLE 33023 0 0 2 CODE TABLE 33023 0 1 033024 STATION ELEVATION QUALITY MARK (FOR MOBILE STATIONS) CODE TABLE 33024 0 0 4 CODE TABLE 33024 0 2 033025 ACARS INTERPOLATED VALUES CODE TABLE 33025 0 0 3 CODE TABLE 33025 0 1 033026 MOISTURE QUALITY CODE TABLE 33026 0 0 6 CODE TABLE 33026 0 2 033027 LOCATION QUALITY CLASS (RANGE OF RADIUS OF 66 % CONFIDENCE) CODE TABLE 33027 0 0 3 CODE TABLE 33027 0 1 033028 SNAPSHOT OVERALL QUALITY CODE TABLE 22028 0 0 3 CODE TABLE 22028 0 1 033030 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 33030 0 0 24 FLAG TABLE 33030 0 8 033031 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 33031 0 0 24 FLAG TABLE 33031 0 8 033032 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 33032 0 0 24 FLAG TABLE 33032 0 8 033033 FIELD OF VIEW QUALITY FLAGS FOR ATOVS FLAG TABLE 33033 0 0 24 FLAG TABLE 33033 0 8 033035 MANUAL/AUTOMATIC QUALITY CONTROL CODE TABLE 33035 0 0 4 CODE TABLE 33035 0 2 033036 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 % 0 3 033037 WIND CORRELATION ERROR FLAG TABLE 33037 0 0 20 FLAG TABLE 33037 0 7 033038 QUALITY FLAGS FOR GROUND-BASED GNSS DATA FLAG TABLE 33038 0 0 10 FLAG TABLE 33038 0 4 033039 QUALITY FLAGS FOR RADIO OCCULTATION DATA FLAG TABLE 33039 0 0 16 FLAG TABLE 33039 0 6 033040 CONFIDENCE INTERVAL % 0 0 7 PERCENT 0 3 033041 ATTRIBUTE OF FOLLOWING VALUE CODE TABLE 33041 0 0 2 CODE TABLE 33041 0 1 033042 TYPE OF LIMIT REPRESENTED BY FOLLOWING VALUE CODE TABLE 33042 0 0 3 CODE TABLE 33042 0 1 033043 AST CONFIDENCE FLAG TABLE 33043 0 0 8 FLAG TABLE 33043 0 3 033044 ASAR QUALITY INFORMATION FLAG TABLE 33044 0 0 15 FLAG TABLE 33044 0 5 033045 PROBABILITY OF FOLLOWING EVENT % 0 0 7 % 0 3 033046 CONDITIONAL PROBABILITY OF FOLLOWING EVENT WITH RESPECT TO SPECI % 0 0 7 % 0 3 033047 MEASUREMENT CONFIDENCE DATA FLAG TABLE 33047 0 0 31 FLAG TABLE 33047 0 11 033048 CONFIDENCE MEASURE OF SAR INVERSION CODE TABLE 33048 0 0 2 CODE TABLE 33048 0 1 033049 CONFIDENCE MEASURE OF WIND RETRIEVAL CODE TABLE 33049 0 0 2 CODE TABLE 33049 0 1 033050 GLOBAL GTSPP QUALITY FLAG CODE TABLE 33050 0 0 4 CODE TABLE 33050 0 2 033052 S BAND OCEAN RETRACKING QUALITY FLAG TABLE 33052 0 0 21 FLAG TABLE 33052 0 7 033053 KU BAND OCEAN RETRACKING QUALITY FLAG TABLE 33053 0 0 21 FLAG TABLE 33053 0 7 033060 GQISFLAGQUAL-INDIVIDUAL IASI-SYSTEM QUALITY FLAG CODE TABLE 33060 0 0 2 CODE TABLE 33060 0 1 033061 GQISQUALINDEX - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033062 GQISQUALINDEXLOC - INDICATOR FOR GEOMETRIC QUALITY INDEX % 0 0 7 % 0 3 033063 GQISQUALINDEXRAD - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033064 GQISQUALINDEXSPECT - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033065 GQISSYSTECSONDQUAL - OUTPUT OF SYSTEM TEC QUALITY FUNCTION NUMERIC 0 0 24 NUMERIC 0 24 033066 SBUV TOTAL OZONE QUALITY CODE TABLE 33066 0 0 4 CODE TABLE 33066 0 2 033067 SBUV PROFILE OZONE QUALITY CODE TABLE 33067 0 0 4 CODE TABLE 33067 0 2 033070 TOTAL OZONE QUALITY CODE TABLE 33070 0 0 4 CODE TABLE 33070 0 2 033071 PROFILE OZONE QUALITY CODE TABLE 33071 0 0 4 CODE TABLE 33071 0 2 033072 OZONE ERROR CODE TABLE 33072 0 0 5 CODE TABLE 33072 0 2 033075 SCAN LEVEL QUALITY FLAG FLAG TABLE 33075 0 0 13 FLAG TABLE 33075 0 5 033076 CALIBRATION QUALITY FLAG FLAG TABLE 33076 0 0 9 FLAG TABLE 33076 0 3 033077 FIELD OF VIEW QUALITY FLAG FLAG TABLE 33077 0 0 19 FLAG TABLE 33077 0 7 033078 GEOLOCATION QUALITY CODE TABLE 33078 0 0 4 CODE TABLE 33078 0 2 033191 ECMWF WAM QC INDICATOR CODE TABLE 033191 0 0 2 033192 TEM1 CONFIDENCE % 0 0 7 033193 DATA QUALITY 3 BIT CODE CODE TABLE 33193 0 0 3 033194 DATA QUALITY 2 BIT CODE CODE TABLE 33194 0 0 2 033195 ECMWF SAR QC INDICATOR CODE TABLE 33195 0 0 5 033196 ECMWF WAM QC INDICATOR CODE TABLE 33196 0 0 2 033197 ECMWF SAR INVERSION QC INDICATOR CODE TABLE 33197 0 0 3 033198 MINIMUM COST NUMERIC 4 0 14 033199 1D VAR TOTAL PRECIPITABLE WATER RETRIEVED ERROR(S) KG/M**2 2 0 11 033200 ANALYSIS REPORT EVENTS FLAG TABLE 33200 0 0 31 033201 ANALYSIS REPORT STATUS EVENT FLAG TABLE 33201 0 0 13 033202 ANALYSIS DATUM EVENT FLAGS (1) FLAG TABLE 33202 0 0 31 033203 ANALYSIS DATUM EVENT FLAGS (2) FLAG TABLE 33203 0 0 11 033204 ANALYSIS DATUM STATUS FLAGS FLAG TABLE 33204 0 0 21 033205 VARIATIONAL ANALYSIS BLACK LIST FLAG CODE TABLE 33205 0 0 4 033206 VARIATIONAL ANALYSIS QUALITY CONTROL FLAG CODE TABLE 33206 0 0 4 033207 VARIATIONAL ANALYSIS DEPARTURE FLAG CODE TABLE 33207 0 0 4 033208 VARIATIONAL ANALYSIS FIRST QUESS CHECK FLAG CODE TABLE 33208 0 0 4 033209 VARIATIONAL ANALYSIS FINAL FLAG CODE TABLE 33209 0 0 4 033210 INCREMENTAL VARIATIONAL ANALYSIS UPDATE NUMBER NUMERIC 0 0 7 033211 MINIMISATION SIMULATION NUMBER NUMERIC 0 0 10 033212 1D VAR ITERATION NUMBER NUMERIC 0 0 10 033213 1D VAR RADIANCE COST NUMERIC 1 -1000 11 033214 1D VAR ERROR(S) FLAG TABLE 33214 0 0 11 033215 DIRECTIONAL SKILL NUMERIC 1 -4096 13 033216 1D VAR SURFACE TYPE QUALITY CONTROL CODE TABLE 33216 0 0 3 033217 1D VAR FAILURE INDICATOR CODE TABLE 33217 0 0 2 033218 1D VAR ESTIMATE OF SCATTERING NUMERIC 2 0 12 033219 SSMI INDIPENDENT SCATTERING INDEX NUMERIC 2 -50000 16 033220 VARIATIONAL ANALYSIS REPORT EVENTS (1) FLAG TABLE 33220 0 0 31 033221 VARIATIONAL ANALYSIS SYNOP EVENTS (2) FLAG TABLE 33221 0 0 31 033222 VARIATIONAL ANALYSIS AIREP EVENTS (2) FLAG TABLE 33222 0 0 31 033223 VARIATIONAL ANALYSIS SATOB EVENTS (2) FLAG TABLE 33223 0 0 31 033224 VARIATIONAL ANALYSIS DRIBU EVENTS (2) FLAG TABLE 33224 0 0 31 033225 VARIATIONAL ANALYSIS TEMP EVENTS (2) FLAG TABLE 33225 0 0 31 033226 VARIATIONAL ANALYSIS PILOT EVENTS (2) FLAG TABLE 33226 0 0 31 033227 VARIATIONAL ANALYSIS SATEM/TOVS EVENTS (2) FLAG TABLE 33227 0 0 31 033228 VARIATIONAL ANALYSIS PAOB EVENTS (2) FLAG TABLE 33228 0 0 31 033229 VARIATIONAL ANALYSIS SCATTEROMETER EVENTS (2) FLAG TABLE 33229 0 0 31 033230 VARIATIONAL ANALYSIS RAW RADIANCES EVENTS (2) FLAG TABLE 33230 0 0 31 033231 PRESAT SUMMARY FLAGS FLAG TABLE 33231 0 0 6 033232 REPORT BLACK LIST EVENTS FLAG TABLE 33232 0 0 31 033233 VARIATIONAL ANALYSIS REPORT STATUS FLAG TABLE 33233 0 0 31 033234 VARIATIONAL ANALYSIS DATUM STATUS FLAG TABLE 33234 0 0 31 033236 VARIATIONAL ANALYSIS DATUM EVENTS (1) FLAG TABLE 33236 0 0 31 033237 VARIATIONAL ANALYSIS SYNOP DATUM EVENTS (2) FLAG TABLE 33237 0 0 31 033238 VARIATIONAL ANALYSIS AIREP DATUM EVENTS (2) FLAG TABLE 33238 0 0 31 033239 VARIATIONAL ANALYSIS SATOB DATUM EVENTS (2) FLAG TABLE 33239 0 0 31 033240 VARIATIONAL ANALYSIS DRIBU DATUM EVENTS (2) FLAG TABLE 33240 0 0 31 033241 GROSS ERROR PROBABILITY NUMERIC 3 0 10 033242 GROSS ERROR INDICATOR CODE TABLE 33242 0 0 2 033243 VARIATIONAL ANALYSIS TEMP DATUM EVENTS (2) FLAG TABLE 33243 0 0 31 033244 VARIATIONAL ANALYSIS PILOT DATUM EVENTS (2) FLAG TABLE 33244 0 0 31 033245 VARIATIONAL ANALYSIS SATEM/TOVS DATUM EVENTS (2) FLAG TABLE 33245 0 0 31 033246 VARIATIONAL ANALYSIS PAOB DATUM EVENTS (2) FLAG TABLE 33246 0 0 31 033247 VARIATIONAL ANALYSIS SCATTEROMETER DATUM EVENTS (2) FLAG TABLE 33247 0 0 31 033248 VARIATIONAL ANALYSIS RAW RADIANCES DATUM EVENTS (2) FLAG TABLE 33248 0 0 31 033249 DATUM BLACK LIST EVENTS FLAG TABLE 33249 0 0 31 033250 PROBABILITY OF GROSS ERROR NUMERIC 6 0 20 033251 RANGE OF POSSIBLE VALUES NUMERIC 2 0 14 033252 MANUAL-AUTOMATIC QUALITY CONTROL CODE TABLE 33252 0 0 4 033253 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 033254 WIND CORRELATION METHOD FLAG TABLE 33254 0 0 20 035000 FM AND REGIONAL CODE NUMBER CODE TABLE 35000 0 0 10 CODE TABLE 35000 0 3 035001 TIME-FRAME FOR MONITORING CODE TABLE 35001 0 0 3 CODE TABLE 35001 0 1 035011 NUMBER OF REPORTS ACTUALLY RECEIVED NUMERIC 0 0 14 NUMERIC 0 4 035021 BULLETIN BEING MONITORED (TTAAII) CCITTIA5 0 0 48 CHARACTER 0 6 035022 BULLETIN BEING MONITORED (YYGGGG) CCITTIA5 0 0 48 CHARACTER 0 6 035023 BULLETIN BEING MONITORED (CCCC) CCITTIA5 0 0 32 CHARACTER 0 4 035024 BULLETIN BEING MONITORED (BBB) CCITTIA5 0 0 24 CHARACTER 0 3 035030 DISCREPANCIES IN THE AVAILABILITY OF EXPECTED DATA CODE TABLE 35030 0 0 4 CODE TABLE 35030 0 1 035031 QUALIFIER ON MONITORING RESULTS CODE TABLE 35031 0 0 7 CODE TABLE 35031 0 2 035032 CAUSE OF MISSING DATA CODE TABLE 35032 0 0 4 CODE TABLE 35032 0 1 035033 OBSERVATION AND COLLECTION DEFICIENCIES CODE TABLE 35033 0 0 7 CODE TABLE 35033 0 2 035034 STATISTICAL TRENDS FOR AVAILABILITY OF DATA (DURING THE SURVEY P CODE TABLE 35034 0 0 3 CODE TABLE 35034 0 1 035035 REASON FOR TERMINATION CODE TABLE 35035 0 0 5 CODE TABLE 35035 0 2 040001 SURFACE SOIL MOISTURE (MS) % 1 0 10 % 1 4 040002 ESTIMATED ERROR IN SURFACE SOIL MOISTURE % 1 0 10 % 1 4 040003 MEAN SURFACE SOIL MOISTURE NUMERIC 3 0 10 NUMERIC 3 4 040004 RAIN FALL DETECTION NUMERIC 3 0 10 NUMERIC 3 4 040005 SOIL MOISTURE CORRECTION FLAG FLAG TABLE 40005 0 0 8 FLAG FLAG TABLE 40005 0 3 040006 SOIL MOISTURE PROCESSING FLAG FLAG TABLE 40006 0 0 16 FLAG FLAG TABLE 40006 0 5 040007 SOIL MOISTURE QUALITY % 1 0 10 % 1 4 040008 FROZEN LAND SURFACE FRACTION % 1 0 10 % 1 4 040009 INUNDATION AND WETLAND FRACTION % 1 0 10 % 1 4 040010 TOPOGRAPHIC COMPLEXITY % 1 0 10 % 1 4 040011 INTERPOLATION FLAG FLAG TABLE 40011 0 0 8 FLAG TABLE 40011 0 3 040012 RADIOMETER DATA QUALITY FLAG FLAG TABLE 40012 0 0 8 FLAG TABLE 40012 0 3 040013 RADIOMETER BRIGHTNESS TEMPERATURE INTERPOLATION FLAG CODE TABLE 40013 0 0 3 040014 HIGH FREQUENCY FLUCTUATIONS OF THE SEA SURFACE TOPOGRAPHY CORRECTM 4 -3000 13 040015 QUANTIZATION FACTOR NUMERIC 2 0 16 040016 RESIDUAL RMS IN BAND NUMERIC 3 0 14 040017 NON-NORMALISED PRINCIPAL COMPONENT SCORE NUMERIC 0 -1073741824 31 040018 GLACAVGIMAGIIS - AVERAGE OF IMAGER MEASUREMENTS (W/M**2)*(1/SR)*(1/M) 6 0 24 040019 GLACVARIMAGIIS - VARIANCE OF IMAGER MEASUREMENTS (W/M**2)*(1/SR)*(1/M) 6 0 24 040020 GQISFLAGQUALDETAILED - QUALITY FLAG FOR THE SYSTEM FLAG TABLE 40020 0 0 17 040021 FRACTION OF WEIGHTED AVHRR PIXEL IN IASI FOV COVERED WITH ICE % 0 0 7 040022 NUMBER OF MISSING, BAD OR FAILED AVHRR PIXELS NUMERIC 0 0 7 040023 AUXILIARY ALTIMETER STATE FLAG FLAG TABLE 40023 0 0 5 040024 METEOROLOGICAL MAP AVAILABILITY CODE TABLE 40024 0 0 3 040025 INTERPOLATION FLAG FOR MEAN DIURNAL TIDE CODE TABLE 40025 0 0 2 040193 INSTRUMENT DETECTING CLOUDS FLAG TABLE 40193 0 0 16 040194 VALIDATION FLAG FOR IASI LEVEL 1 PRODUCT FLAG TABLE 40194 0 0 16 040195 QUALITY AND COMPLETENESS OF RETRIEVAL CODE TABLE 40195 0 0 4 040196 RETRIEVAL CHOICE INDICATOR FLAG TABLE 40196 0 0 8 040197 SATELLITE MANOEUVRE INDICATOR CODE TABLE 40197 0 0 3 040198 SELECTION OF BACKGROUND STATE CODE TABLE 40198 0 0 3 040199 INTEGRATED N2O DENSITY KG/M**2 6 0 16 040200 INTEGRATED CO DENSITY KG/M**2 7 0 16 040201 INTEGRATED CH4 DENSITY KG/M**2 6 0 16 040202 INTEGRATED CO2 DENSITY KG/M**2 3 0 16 040203 COLD/WARM LOAD FLAG FLAG TABLE 40203 0 0 12 049193 SAR INVERSION QC FLAGS FLAG TABLE 49193 0 0 15 049194 ALTIMETER WAVE HEIGHT QC FLAFS FLAG TABLE 49194 0 0 15 055003 DATA EXTRACTION INDICATOR FLAG TABLE 55003 0 0 8 emoslib-000392+dfsg.1/bufrtables/D0000000000098006000.TXT0000755000175000017500000051523312127406245022256 0ustar amckinstryamckinstry 300002 2 000002 000003 300003 3 000010 000011 000012 300004 9 300003 000013 000014 000015 000016 000017 000018 000019 000020 300010 4 300003 101000 031001 000030 301001 2 001001 001002 301002 3 001003 001004 001005 301003 3 001011 001012 001013 301011 3 004001 004002 004003 301012 2 004004 004005 301013 3 004004 004005 004006 301021 2 005001 006001 301022 3 005001 006001 007001 301023 2 005002 006002 301024 3 005002 006002 007001 301025 3 301023 004003 301012 301026 7 301021 004003 004003 004004 004004 004005 004005 301029 3 001018 002001 301011 301030 4 001018 002001 301011 301024 301031 5 301001 002001 301011 301012 301022 301032 5 301001 002001 301011 301012 301024 301033 5 001005 002001 301011 301012 301021 301034 5 001005 002001 301011 301012 301023 301035 7 001005 001012 001013 002001 301011 301012 301023 301036 5 301003 002001 301011 301012 301023 301037 6 301001 002011 002012 301011 301012 301022 301038 6 301001 002011 002012 301011 301012 301024 301039 6 301003 002011 002012 301011 301012 301023 301040 6 301003 002011 002012 301011 301012 301024 301041 5 001007 002021 002022 301011 301012 301042 2 301041 301021 301043 5 001007 002023 301011 301013 301021 301044 5 001007 002024 301011 301013 301021 301045 9 301011 301012 201138 202131 004006 201000 202000 304030 304031 301046 10 001007 SeaWinds header information::SATELLITE IDENTIFIER 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM 002048 SATELLITE SENSOR INDICATOR 021119 WIND SCATTEROMETER GEOPHYSICAL MODEL FUNCTION 025060 SOFTWARE INDENTIFICATION 202124 *** decrease scaling by 10^4 002026 ALONG TRACK RESOLUTION 002027 CROSS TRACK RESOLUTION 202000 *** cancel change scaling 005040 ORBIT NUMBER 301047 15 001007 025060 001033 001034 001012 301045 002021 301011 301012 201138 202131 004006 201000 202000 301023 301048 14 002104 002121 002113 002026 002027 002111 002140 202127 001013 202126 007001 202000 025010 021064 301049 5 002111 002112 021062 021063 021065 301051 6 001006 002061 301011 301012 301021 008004 301055 7 001005 002001 301011 301012 301021 001012 001014 301062 3 101000 031001 301001 301065 8 001006 001008 002001 002002 002005 002062 002070 002065 301066 6 301011 301013 301023 007004 002064 008004 301070 3 002143 002142 002144 301071 4 002143 002142 002145 002146 301072 4 301071 301011 301013 301021 301074 4 002143 002142 002145 002146 301075 6 301001 001015 301022 008021 301011 301012 301076 3 002011 002143 002142 301193 5 001007 001031 002196 002221 002222 301194 9 001194 001012 001013 002011 002012 301011 301012 301023 007001 301195 9 001195 001012 001013 002011 002012 301011 301012 301023 007001 301196 7 301003 002011 002012 301011 301012 301023 007001 301197 9 001006 001008 002061 002062 002002 002005 002070 002063 002001 301200 2 001032 033194 301201 2 101003 033193 301202 2 001031 001032 301237 12 001007 001012 002021 301011 004004 004005 201138 202131 004006 201000 202000 301023 301238 14 002104 002121 002113 002026 002027 002111 002192 202127 001013 202126 007001 202000 025010 021194 301239 5 002111 002112 021192 021193 021195 301240 5 201131 202129 022021 201000 202000 301241 5 201141 202130 007001 201000 202000 301242 6 021207 021208 021209 021210 021211 021212 301250 4 301193 301011 301013 301021 302001 4 010004 010051 010061 010063 302002 5 010004 007004 010003 010061 010063 302003 9 011011 011012 012004 012006 013003 020001 020003 020004 020005 302004 7 020010 008002 020011 020013 020012 020012 020012 302005 4 008002 020011 020012 020013 302006 4 010004 010051 010062 010063 302011 3 302001 302003 302004 302012 3 302002 302003 302004 302013 5 302006 302003 101000 031001 302005 302021 3 022001 022011 022021 302022 3 022002 022012 022022 302023 3 022003 022013 022023 302024 3 302022 101002 302023 302051 12 010004 010051 007004 010003 012004 012051 012016 012017 013004 102004 008051 008020 302205 5 201131 202129 022021 201000 202000 302206 9 302205 201130 202129 022011 201000 202000 022001 011001 011002 302207 5 022193 022194 022195 022196 022197 302250 5 102000 031001 020193 020194 020012 303001 3 007003 011001 011002 303002 3 007004 011001 011002 303003 4 007004 010003 012001 012003 303004 6 007004 010003 012001 012003 011001 011002 303011 4 007003 008001 011001 011002 303012 4 007004 008001 011001 011002 303013 7 007004 008001 010003 012001 013003 011001 011002 303014 7 007004 008001 010003 012001 012003 011001 011002 303021 4 007004 007004 204007 031021 303022 3 303021 010003 204000 303023 3 303021 012001 204000 303024 3 303021 013016 204000 303025 5 002025 204007 031021 012063 204000 303026 6 007004 008003 204007 031021 012001 204000 303027 5 007004 204007 031021 010003 204000 303031 6 007004 008003 007021 007022 008012 012061 303032 2 020011 020016 303033 2 020010 020016 303041 8 002152 002023 007004 011001 011002 002153 002154 012071 303249 7 002252 104000 031001 002199 007004 007004 013003 303250 8 002252 002023 007004 011001 011002 002197 002198 012193 303251 8 002252 105000 031001 002254 002251 002197 002198 012063 303252 8 002252 105000 031001 002254 002251 002197 002198 012194 304001 5 008003 010004 012001 011001 011002 304002 4 008003 010004 011001 011002 304003 2 008003 012001 304004 4 008003 010004 020010 012001 304005 4 002024 007004 007004 013003 304006 3 014001 014001 014003 304011 27 002163 002164 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002163 007004 012001 304030 3 027031 028031 010031 304031 3 001041 001042 001043 304032 5 002153 002154 020081 020082 020012 304033 8 002152 002166 002167 002153 002154 012075 012076 012063 304034 9 102004 027001 028001 007022 005043 020010 020016 033003 010040 304228 3 005217 006217 007217 304229 3 001208 001209 001210 304250 27 002231 002232 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002231 007004 012001 306001 5 002032 102000 031001 007062 022042 306002 3 002031 022004 022031 306003 4 002002 011011 011012 012004 306004 7 002032 002033 103000 031001 007062 022043 022062 306005 6 002031 103000 031001 007062 022004 022031 306006 3 306003 306002 022063 306007 6 001012 001014 306008 004024 027003 028003 306008 3 002034 002035 002036 306023 8 001015 301023 301011 301012 022038 022039 022120 022121 307001 2 301031 302011 307002 2 301032 302011 307003 4 307001 101000 031001 302005 307004 4 307002 101000 031001 302005 307005 3 307001 101004 302005 307006 3 307002 101004 302005 307007 2 301031 302012 307008 2 301032 302012 307009 2 301031 302013 307011 16 001063 002001 301011 301012 301024 007006 011001 011016 011017 011002 011041 007006 012001 012003 010052 020009 307012 5 103000 031001 008023 005021 020001 307013 8 106000 031001 001064 008014 020061 008014 020061 020018 307014 3 101000 031001 020019 307015 8 101000 031001 302005 008002 020011 020012 020013 020002 307016 3 101000 031001 020020 307017 3 101000 031001 020020 307018 18 008016 102000 031001 008017 301012 104000 031001 007006 011001 011002 011041 020009 101000 031001 020001 101000 031001 020019 307020 3 307011 307014 307016 307021 9 307011 307012 307013 307014 307015 307016 307017 307018 307015 307030 2 015001 015002 307031 7 008022 008023 015001 008023 015001 008023 015002 307041 7 301001 001015 301022 301011 301012 301070 307030 307042 9 301001 001015 301022 301011 301012 008021 004025 301070 307031 307043 7 301001 001015 301024 301011 301012 301074 307030 308001 3 301033 302011 022042 308002 3 301034 302011 022042 308003 3 301035 302011 022042 308004 3 301036 302011 022042 308005 2 308004 302024 308006 8 010004 010061 010063 011001 011002 012004 013003 022042 308007 4 301055 302011 007062 022042 309001 4 301037 101000 031001 303011 309002 4 301038 101000 031001 303011 309003 4 301037 101000 031001 303012 309004 4 301038 101000 031001 303012 309005 5 301037 302004 101000 031001 303013 309006 5 301038 302004 101000 031001 303013 309007 5 301037 302004 101000 031001 303014 309008 5 301038 302004 101000 031001 303014 309011 4 301039 101000 031001 303011 309012 4 301039 101000 031001 303012 309013 5 301039 302004 101000 031001 303013 309014 5 301039 302004 101000 031001 303014 309015 4 301040 101000 031001 303011 309016 4 301040 101000 031001 303012 309017 5 301040 302004 101000 031001 303013 309018 5 301040 302004 101000 031001 303014 309019 5 301031 002003 101000 031001 303011 309020 8 301031 002003 104000 031001 007003 011003 011004 011005 309030 8 015004 015005 104000 031001 004015 008006 007004 015003 309040 3 301075 301076 309030 309042 4 307042 301075 301076 309030 309194 5 301194 302004 101000 031001 303014 309195 5 301195 302004 101000 031001 303014 309196 5 301196 302004 101000 031001 303014 310001 5 301042 303031 303032 101026 303025 310002 5 301042 303031 303032 101009 303023 310003 5 301042 303031 303032 101006 303023 310004 5 301042 303031 303032 101003 303024 310005 6 301042 303031 303033 101000 031001 303025 310006 6 301042 303031 303033 101000 031001 303023 310007 6 301042 303031 303033 101000 031001 303024 310008 8 310011 101019 310012 002150 025079 025080 033032 014045 310009 3 310011 101015 310012 310010 3 310011 101005 310012 310011 45 008070 001033 001034 008070 001033 001034 001007 002048 005040 025075 201133 005041 201000 005043 025070 033030 033031 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 202126 007001 202000 007024 005021 007025 005022 033033 002151 012064 002151 012064 002151 012064 002151 012064 310012 10 002150 025076 025077 025078 033032 201132 202129 012063 202000 201000 310013 62 001007 Satellite ID 005040 Orbit number 004001 Year 004002 Month 004003 Day 004004 Hour 004005 Minute 004006 Second 005001 Latitude 006001 Longitude 007025 Solar zenith angle 005043 Field of view number 025085 Fraction of clear pixels in HIRS field of view 201131 Change width 202129 Change scale 002150 TOVS/ATOVS/AVHRR instrumentation channel number 008023 First order statistics 008072 Pixel(s) type 014027 Albedo 008072 Pixel(s) type 014027 Albedo 002150 TOVS/ATOVS/AVHRR instrumentation channel number 008023 First order statistics 008072 Pixel(s) type 014027 Albedo 008072 Pixel(s) type 014027 Albedo 002150 ATOVS/AVHRR instrumentation channel number 008023 First order statistics 008072 Pixel(s) type 014027 Albedo 008072 Pixel(s) type 014027 Albedo 202000 Change scale 201000 Change width 201132 Change width 202129 Change scale 002150 ATOVS/AVHRR instrumentation channel number 008023 First order statistics 008072 Pixel(s) type 012063 Brightness temperature 008072 Pixel(s) type 012063 Brightness temperature 002150 ATOVS/AVHRR instrumentation channel number 008023 First order statistics 008072 Pixel(s) type 012063 Brightness temperature 008072 Pixel(s) type 012063 Brightness temperature 008023 First order statistics 008072 Pixel(s) type 012063 Brightness temperature 008072 Pixel(s) type 012063 Brightness temperature 002150 ATOVS/AVHRR instrumentation channel number 008023 First order statistics 008072 Pixel(s) type 012063 Brightness temperature 008072 Pixel(s) type 012063 Brightness temperature 202000 Change scale 201000 Change width 310014 3 301072 Satellite geostationary wind data 303041 304011 310015 13 301072 Meteosat radiance data 007024 010002 303041 101003 304032 002152 002024 007004 007004 013003 101003 304033 310016 13 301072 Meteosat second generation radiance data 007024 010002 303041 101012 304032 002152 002024 007004 007004 013003 101012 304033 310020 6 310022 301011 301013 301021 304034 310021 310021 10 108000 031001 201131 202129 007004 007004 202000 201000 015020 010002 310022 4 001007 002019 001033 002172 310023 17 301072 030021 030022 008012 007024 007025 010002 101012 304032 105002 002152 002024 007004 007004 013003 101012 304033 310024 17 301072 030021 030022 008012 007024 007025 010002 101003 304032 105002 002152 002024 007004 007004 013003 101003 304033 310050 14 310051 310052 101000 031002 310053 101004 310054 020010 310052 101015 310053 310052 101004 310053 310051 16 001007 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 007025 005022 102009 002151 012064 310052 12 002019 301011 301012 202131 201138 004006 201000 202000 301021 007024 005021 005043 310053 6 201134 005042 201000 025076 033032 012163 310054 13 201134 005042 201000 025076 033032 201131 202129 102002 008023 014027 008023 202000 201000 310055 8 310051 310052 102020 025076 025051 101000 031002 025050 310193 5 301250 303250 302250 303249 303251 310194 5 301250 303250 302250 303249 303252 310195 3 301250 303250 304250 310196 3 301250 303249 303251 311001 9 301051 007002 012001 011001 011002 011031 011032 011033 020041 311002 4 301065 301066 311003 311004 311003 5 010070 011001 011002 012001 013002 311004 18 101000 031000 011034 101000 031000 011035 101000 031000 011075 101000 031000 011076 101000 031000 033025 101000 031000 033026 311193 16 301197 301011 301012 301023 008004 007004 008021 011001 011002 011031 011034 011035 012001 012003 013003 020041 312001 2 301043 304001 312002 2 301043 304002 312003 2 301042 304003 312004 2 301042 304004 312005 2 301042 020014 312006 2 301044 304005 312007 2 301042 304006 312010 6 001007 005040 002021 005041 004001 004043 312011 9 202131 201149 004006 201000 202126 010002 202000 005043 005053 312012 6 202129 201132 101019 012063 201000 202000 312013 6 005033 202129 201135 012063 201000 202000 312014 8 312010 312011 105056 301023 005042 005052 312012 312013 312015 10 109011 301023 005042 005052 202129 201132 101004 012063 202000 201000 312016 3 312010 312011 312015 312017 10 109008 301023 005042 005052 202129 201132 101003 012063 202000 201000 312018 3 312010 312011 312017 312020 11 301047 301048 015015 029002 021076 104012 006030 102012 005030 021075 021066 312021 6 301047 101003 301049 011012 011011 021067 312022 15 301047 008022 011012 011050 022070 022026 312041 010050 021068 021071 021072 021073 312042 021062 015011 312023 7 301047 103003 008022 012061 022050 021069 021085 312024 11 312020 008060 008022 008060 008022 025014 022101 022097 022098 022099 022100 312026 19 301046 SeaWinds 25km data::SeaWinds header information 301011 Date information 301013 Time information 301023 Position information 312031 SeaWinds WVC information 101004 *** replicate 1 descriptor 4 times 312030 SeaWinds ambiguous wind data 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) 301023 Position information 321027 SeaWinds Sigma-0 data 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) 301023 Position information 321027 SeaWinds Sigma-0 data 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) 301023 Position information 321027 SeaWinds Sigma-0 data 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) 301023 Position information 321027 SeaWinds Sigma-0 data 312027 9 301047 105009 301023 007021 012061 007021 012061 021085 021070 312028 26 301046 301011 301013 301023 008025 201136 004006 201000 312031 312032 101004 312030 101002 312033 021110 301023 321028 021111 301023 321028 021112 301023 321028 021113 301023 321028 312030 13 201130 SeaWinds ambiguous wind data::*** increase data width by 2 bits 202129 *** increase scaling by 10^1 011012 WIND SPEED AT 10 M 202000 *** cancel change scaling 201000 *** cancel change data width 011052 FORMAL UNCERTAINTY IN WIND SPEED 201135 *** increase data width by 7 bits 202130 *** increase scaling by 10^2 011011 WIND DIRECTION AT 10 M 202000 *** cancel change scaling 201000 *** cancel change data width 011053 FORMAL UNCERTAINTY IN WIND DIRECTION 021104 LIKELIHOOD COMPUTED FOR SOLUTION 312031 8 005034 SeaWinds WVC information::ALONG TRACK ROW NUMBER 006034 CROSS TRACK CELL NUMBER 021109 QSCAT WIND VECTOR CELL QUALITY FLAG 011081 MODEL WIND DIRECTION AT 10 M 011082 MODEL WIND SPEED AT 10 M 021101 NUMBER OF VECTOR AMBIGUITIES 021102 INDEX OF SELECTED WIND VECTOR 021103 TOTAL NUMBER OF SIGMA-0 MEASUREMENTS 312032 4 021120 021121 013055 021122 312033 4 002104 008022 012063 012065 312041 5 201141 202130 007001 201000 202000 312042 6 021077 021078 021079 021080 021081 021082 312200 10 301237 301238 029002 021206 104012 006232 102012 005232 021205 021196 312201 6 301237 101003 301239 011012 011011 021197 312202 13 301237 008022 011012 011050 301240 022243 301241 010050 021198 021201 021202 021203 301242 312203 8 301237 008022 012061 022050 021204 021199 021214 021215 312204 12 312201 001031 011012 011011 021200 021213 004004 008021 004024 055003 011012 011011 312207 3 312202 301202 033191 312208 17 301202 008022 008021 301011 301013 301023 302205 011002 001007 002021 301011 301013 301023 001032 001192 302205 011002 312209 11 301202 001192 301011 301013 301023 302206 104000 022192 102000 005232 022191 312210 13 312202 021192 015202 301011 004004 004005 201138 202131 004006 201000 202000 304228 304229 312211 19 301046 SeaWinds 50km data::SeaWinds header information 301011 Date information 301013 Time information 301023 Position information 312031 SeaWinds WVC information 101004 *** replicate 1 descriptor 4 times 312030 SeaWinds ambiguous wind data 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) 101004 *** replicate 1 descriptor 4 times 312212 SeaWinds Sigma-0 position and data 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) 101004 *** replicate 1 descriptor 4 times 312212 SeaWinds Sigma-0 position and data 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) 101004 *** replicate 1 descriptor 4 times 312212 SeaWinds Sigma-0 position and data 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) 101004 *** replicate 1 descriptor 4 times 312212 SeaWinds Sigma-0 position and data 312212 2 301023 321027 313009 4 021001 101000 031001 021001 313010 4 021036 101000 031001 021036 313031 5 006002 006012 101000 031002 030001 313032 5 005002 005012 101000 031002 313031 313041 13 006002 110000 031001 104000 031001 006012 101000 031012 030001 006012 101000 031001 030001 313042 5 005002 005012 101000 031002 313041 313043 16 006002 005002 005012 112000 031001 110000 031001 104000 031001 006012 101000 031011 030001 101000 031001 030001 315001 5 001011 301011 301012 301023 306001 315002 5 001011 301011 301012 301023 306004 316001 10 301011 004004 301023 001021 002041 019001 010051 019002 019003 019004 316002 15 008021 004001 004002 004003 004004 004005 001033 008021 004001 004002 004003 004004 004005 007002 007002 316003 12 110000 031001 008011 008007 104000 031001 005002 006002 010002 011002 008007 008011 316004 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 011031 008007 008011 316005 10 108000 031001 008005 008007 005002 006002 001026 019001 008007 008005 316006 14 112000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020011 020012 008007 008011 316007 12 110000 031001 008011 008007 104000 031001 005002 006002 019005 019006 008007 008011 316008 13 111000 031001 008001 008007 008023 103000 031001 005002 006002 010002 008023 008007 008001 316009 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020041 008007 008011 316010 9 107000 031001 008011 008007 001022 005002 006002 008007 008011 316011 19 116000 031001 008011 001022 008007 102000 031001 005002 006002 008021 004001 004002 004003 004004 004005 020090 008021 008007 008011 318001 2 301025 024011 318003 4 301026 024005 024004 024021 318004 6 301025 004023 013011 024005 024004 024022 321001 6 002101 002114 002105 002106 002107 002121 321003 4 021051 021014 021017 021030 321004 5 301031 002003 101000 031001 321003 321005 12 025004 002121 002122 002123 002124 002125 002126 002127 002128 002129 002130 002131 321006 4 025001 025002 025003 025005 321007 8 025009 025010 025011 025012 025013 025015 025016 025017 321008 3 025006 025007 025008 321009 2 025018 025019 321010 13 002101 007002 002102 002103 002104 002105 002106 002107 002108 002109 002110 002132 002133 321011 3 030031 030032 029002 321012 3 101000 031001 002135 321021 15 002003 002101 201130 002106 201000 201132 202130 002121 202000 201000 201133 202129 025001 202000 201000 321022 11 010007 204001 031021 011001 204000 011002 204001 031021 011006 204000 021030 321023 9 007007 021091 021030 202129 021014 201129 021017 202000 201000 321024 7 007007 204002 031021 012007 011006 204000 021030 321025 17 007007 021091 021030 202129 021014 201129 021017 202000 201000 021092 021030 025092 201129 202129 021017 202000 201000 321026 10 010007 204001 031021 012007 025091 011071 011072 011073 011074 204000 321027 18 021118 SeaWinds Sigma-0 data::ATTENUATION CORRECTION ON SIGMA-0 202129 *** increase scaling by 10^1 201132 *** increase data width by 4 bits 002112 RADAR LOOK ANGLE 201000 *** cancel change data width 201131 *** increase data width by 3 bits 002111 RADAR INCIDENCE ANGLE 201000 *** cancel change data width 202000 *** cancel change scaling 002104 ANTENNA POLARISATION 021105 NORMALIZED RADAR CROSS SECTION 021106 Kp VARIANCE COEFFICIENT (ALPHA) 021107 Kp VARIANCE COEFFICIENT (BETA) 021114 Kp VARIANCE COEFFICIENT (GAMMA) 021115 SEAWINDS SIGMA-0 QUALITY FLAG 021116 SEAWINDS SIGMA-0 MODE FLAG 008018 SEAWINDS LAND/ICE SURFACE FLAG 021117 SIGMA-0 VARIANCE QUALITY CONTROL 321028 18 021118 SeaWinds Sigma-0 data::ATTENUATION CORRECTION ON SIGMA-0 202129 201132 *** increase data width by 4 bits 002112 RADAR LOOK ANGLE 201000 *** cancel change data width 201131 *** increase data width by 3 bits 002111 RADAR INCIDENCE ANGLE 201000 *** cancel change data width 202000 *** cancel change scaling 002104 ANTENNA POLARISATION 021123 SeaWinds NORMALIZED RADAR CROSS SECTION 021106 Kp VARIANCE COEFFICIENT (ALPHA) 021107 Kp VARIANCE COEFFICIENT (BETA) 021114 Kp VARIANCE COEFFICIENT (GAMMA) 021115 SEAWINDS SIGMA-0 QUALITY FLAG 021116 SEAWINDS SIGMA-0 MODE FLAG 008018 SEAWINDS LAND/ICE SURFACE FLAG 021117 emoslib-000392+dfsg.1/bufrtables/D0000000000000014000.TXT0000755000175000017500000025404012127406245022230 0ustar amckinstryamckinstry 300002 2 000002 000003 300003 3 000010 000011 000012 300004 9 300003 000013 000014 000015 000016 000017 000018 000019 000020 300010 4 300003 101000 031001 000030 301001 2 001001 001002 301002 3 001003 001004 001005 301003 3 001011 001012 001013 301004 4 001001 001002 001015 002001 301005 2 001035 001034 301011 3 004001 004002 004003 301012 2 004004 004005 301013 3 004004 004005 004006 301014 3 102002 301011 301012 301021 2 005001 006001 301022 3 005001 006001 007001 301023 2 005002 006002 301024 3 005002 006002 007001 301025 3 301023 004003 301012 301026 7 301021 004003 004003 004004 004004 004005 004005 301027 5 008007 101000 031001 301028 008007 301028 8 008040 033042 007010 101000 031002 301023 019007 008040 301031 5 301001 002001 301011 301012 301022 301032 5 301001 002001 301011 301012 301024 301033 5 001005 002001 301011 301012 301021 301034 5 001005 002001 301011 301012 301023 301035 7 001005 001012 001013 002001 301011 301012 301023 301036 5 301003 002001 301011 301012 301023 301037 6 301001 002011 002012 301011 301012 301022 301038 6 301001 002011 002012 301011 301012 301024 301039 6 301003 002011 002012 301011 301012 301023 301040 6 301003 002011 002012 301011 301012 301024 301041 5 001007 002021 002022 301011 301012 301042 2 301041 301021 301043 5 001007 002023 301011 301013 301021 301044 5 001007 002024 301011 301013 301021 301045 9 301011 301012 201138 202131 004006 201000 202000 304030 304031 301046 10 001007 001012 002048 021119 025060 202124 002026 002027 202000 005040 301047 15 001007 025060 001033 001034 001012 301045 002021 301011 301012 201138 202131 004006 201000 202000 301023 301048 14 002104 002121 002113 002026 002027 002111 002140 202127 001013 202126 007001 202000 025010 021064 301049 5 002111 002112 021062 021063 021065 301051 6 001006 002061 301011 301012 301021 008004 301055 7 001005 002001 301011 301012 301021 001012 001014 301062 3 101000 031001 301001 301065 8 001006 001008 002001 002002 002005 002062 002070 002065 301066 6 301011 301013 301023 007004 002064 008004 301070 3 002143 002142 002144 301071 5 001007 001031 002020 002028 002029 301072 4 301071 301011 301013 301021 301074 4 002143 002142 002145 002146 301075 6 301001 001015 301024 008021 301011 301012 301076 3 002011 002143 002142 301090 6 301004 301011 301012 301021 007030 007031 301091 10 002180 002181 002182 002183 002184 002179 002186 002187 002188 002189 301092 9 001011 001003 002001 301011 301012 301021 007030 007031 033024 301093 3 301036 007030 007031 301110 5 301001 001011 002011 002014 002003 301111 6 301001 001011 002011 002013 002014 002003 301112 5 001006 002011 002013 002014 002003 301113 3 008021 301011 301013 301114 5 301021 007030 007031 007007 033024 301120 4 301001 001094 002011 301121 301121 5 008041 301122 301021 007031 007007 301122 7 301011 301012 201135 202130 004006 202000 201000 301123 33 102002 008041 001062 301001 001094 002011 001018 001095 025061 025068 001082 001083 001081 002067 002066 002014 025067 025065 025066 002095 002096 002097 002016 002083 002080 002081 001093 002084 002085 002086 002082 008041 301011 301125 6 001033 001034 025060 001007 002019 001012 301193 5 001007 001031 002196 002221 002222 301194 9 001194 001012 001013 002011 002012 301011 301012 301023 007001 301195 9 001195 001012 001013 002011 002012 301011 301012 301023 007001 301196 7 301003 002011 002012 301011 301012 301023 007001 301197 9 001006 001008 002061 002062 002002 002005 002070 002063 002001 301198 9 001011 001012 001013 002011 002012 301011 301012 301023 007001 301200 2 001032 033194 301201 2 101003 033193 301202 2 001031 001032 301237 12 001007 001012 002021 301011 004004 004005 201138 202131 004006 201000 202000 301023 301238 14 002104 002121 002113 002026 002027 002111 002192 202127 001013 202126 007001 202000 025010 021194 301239 5 002111 002112 021192 021193 021195 301240 5 201131 202129 022021 201000 202000 301241 5 201141 202130 007001 201000 202000 301242 6 021207 021208 021209 021210 021211 021212 301250 4 301193 301011 301013 301021 302001 4 010004 010051 010061 010063 302002 5 010004 007004 010003 010061 010063 302003 9 011011 011012 012004 012006 013003 020001 020003 020004 020005 302004 7 020010 008002 020011 020013 020012 020012 020012 302005 4 008002 020011 020012 020013 302006 4 010004 010051 010062 010063 302011 3 302001 302003 302004 302012 3 302002 302003 302004 302013 5 302006 302003 101000 031001 302005 302021 3 022001 022011 022021 302022 3 022002 022012 022022 302023 3 022003 022013 022023 302024 3 302022 101002 302023 302031 4 302001 010062 007004 010009 302032 4 007032 012101 012103 013003 302033 2 007032 020001 302034 2 007032 013023 302035 8 302032 302033 302034 007032 302004 101000 031001 302005 302036 7 105000 031001 008002 020011 020012 020014 020017 302037 3 020062 013013 012113 302038 4 020003 004024 020004 020005 302039 2 004024 014031 302040 4 007032 102002 004024 013011 302041 7 007032 004024 004024 012111 004024 004024 012112 302042 11 007032 002002 008021 004025 011001 011002 008021 103002 004025 011043 011041 302043 7 302038 101002 302039 302040 302041 302042 007032 302044 3 004024 002004 013033 302045 7 004024 014002 014004 014016 014028 014029 014030 302046 3 004024 004024 012049 302047 3 102003 008002 020054 302048 5 005021 007021 020012 005021 007021 302049 7 008002 020011 020013 020012 020012 020012 008002 302050 31 008041 005021 007005 202130 006021 202000 008041 201131 202129 002115 010004 002115 013003 202000 201000 002115 011001 011002 002115 102002 012101 004024 002115 012103 012102 101003 020012 020011 020013 101002 020003 302051 12 010004 010051 007004 010003 012004 012051 012016 012017 013004 102004 008051 008020 302052 7 007032 007033 012101 002039 012102 012103 013003 302053 3 007032 007033 020001 302054 9 302052 302053 007033 302034 007032 302004 101000 031001 302005 302055 8 020031 020032 020033 020034 020035 020036 020037 020038 302056 4 002038 007063 022043 007063 302057 3 302056 302021 302024 302058 8 007032 007033 004024 004024 012111 004024 004024 012112 302059 12 007032 007033 002002 008021 004025 011001 011002 008021 103002 004025 011043 011041 302060 4 302038 302040 302058 302059 302062 24 302001 302052 302053 007033 101000 031000 302034 007032 101000 031001 302005 008002 101000 031000 302055 101000 031000 302056 101000 031000 302021 101000 031000 302024 302063 8 302038 101000 031000 302040 101000 031000 302058 302059 302066 16 020023 020024 020027 020054 020023 020027 020054 020025 020026 020027 020040 020066 020027 020021 020067 020027 302069 4 007032 007033 033041 020001 302070 8 007032 007033 011001 011002 011043 011041 011016 011017 302071 14 007032 007033 008021 004025 011001 011002 008021 103002 004025 011043 011041 004025 011016 011017 302072 5 007032 007033 012101 012103 013003 302073 7 020010 105004 008002 020011 020012 033041 020013 302074 4 020003 004025 020004 020005 302075 5 008021 004025 013055 013058 008021 302076 7 020021 020022 026020 020023 020024 020025 020026 302077 8 007032 007033 004025 012111 012112 007032 004025 012112 302078 4 002176 020062 002177 013013 302079 5 007032 002175 002178 004025 013011 302080 3 002185 004025 013033 302081 2 004025 014031 302082 7 004025 014002 014004 014016 014028 014029 014030 302083 8 004025 008023 010004 011001 011002 012101 013003 008023 302205 5 201131 202129 022021 201000 202000 302206 9 302205 201130 202129 022011 201000 202000 022001 011001 011002 302207 5 022193 022194 022195 022196 022197 302250 5 102000 031001 020193 020194 020012 303001 3 007003 011001 011002 303002 3 007004 011001 011002 303003 4 007004 010003 012001 012003 303004 6 007004 010003 012001 012003 011001 011002 303011 4 007003 008001 011001 011002 303012 4 007004 008001 011001 011002 303013 7 007004 008001 010003 012001 013003 011001 011002 303014 7 007004 008001 010003 012001 012003 011001 011002 303021 4 007004 007004 204007 031021 303022 3 303021 010003 204000 303023 3 303021 012001 204000 303024 3 303021 013016 204000 303025 5 002025 204007 031021 012063 204000 303026 6 007004 008003 204007 031021 012001 204000 303027 5 007004 204007 031021 010003 204000 303031 6 007004 008003 007021 007022 008012 012061 303032 2 020011 020016 303033 2 020010 020016 303040 18 008041 004025 004026 301021 301122 201131 202129 025069 007004 013003 202000 201000 002013 012101 010009 102002 008040 035035 303041 8 002152 002023 007004 011001 011002 002153 002154 012071 303050 7 004086 008042 007004 005015 006015 011001 011002 303051 7 004086 008042 007004 005015 006015 011061 011062 303052 7 004086 008042 007009 005015 006015 011001 011002 303053 7 004086 008042 007009 005015 006015 011061 011062 303054 10 004086 008042 007004 010009 005015 006015 012101 012103 011001 011002 303249 7 002252 104000 031001 002199 007004 007004 013003 303250 8 002252 002023 007004 011001 011002 002197 002198 012193 303251 8 002252 105000 031001 002254 002251 002197 002198 012063 303252 8 002252 105000 031001 002254 002251 002197 002198 012194 304001 5 008003 010004 012001 011001 011002 304002 4 008003 010004 011001 011002 304003 2 008003 012001 304004 4 008003 010004 020010 012001 304005 4 002024 007004 007004 013003 304006 3 014001 014001 014003 304011 27 002163 002164 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002163 007004 012001 304030 3 027031 028031 010031 304031 3 001041 001042 001043 304032 5 002153 002154 020081 020082 020012 304033 8 002152 002166 002167 002153 002154 012075 012076 012063 304034 9 102004 027001 028001 007022 005043 020010 020016 033003 010040 304035 15 002153 002154 012063 008001 012063 008001 012063 008001 008003 012063 008003 012063 008003 012063 008003 304036 12 020082 008012 020082 008012 020081 008003 020081 008003 020081 008003 020081 008003 304228 3 005217 006217 007217 304229 3 001208 001209 001210 304250 27 002231 002232 008012 007024 002057 008021 004001 004002 004003 004004 008021 004024 110004 008021 004004 004005 004006 008021 004004 004005 004006 011001 011002 103010 002231 007004 012001 305003 5 301012 004065 101000 031001 305001 305006 6 013072 013082 013019 012001 013073 013060 305007 6 301029 301012 004065 101000 031001 305006 305008 2 305006 012030 305009 6 301029 301012 004065 101000 031001 305008 305011 6 301029 301012 004065 101000 031001 305010 305018 8 301029 301012 004065 103000 031001 305008 305016 305017 306001 5 002032 102000 031001 007062 022042 306002 3 002031 022004 022031 306003 4 002002 011011 011012 012004 306004 7 002032 002033 103000 031001 007062 022043 022062 306005 6 002031 103000 031001 007062 022004 022031 306006 3 306003 306002 022063 306007 6 001012 001014 306008 004024 027003 028003 306008 3 002034 002035 002036 306019 8 001075 301011 301012 022042 022120 022121 004015 004065 306020 4 306024 102006 022038 022039 306021 7 001075 301011 301012 022122 022123 012001 303002 306022 5 001075 301011 301012 022038 022039 306023 8 001015 301023 301011 301012 022038 022039 022120 022121 306024 8 001075 301011 301012 022042 022120 022121 004025 004015 306025 4 306019 102006 022038 022039 307001 2 301031 302011 307002 2 301032 302011 307003 4 307001 101000 031001 302005 307004 4 307002 101000 031001 302005 307005 3 307001 101004 302005 307006 3 307002 101004 302005 307007 2 301031 302012 307008 2 301032 302012 307009 2 301031 302013 307011 16 001063 002001 301011 301012 301024 007006 011001 011016 011017 011002 011041 007006 012001 012003 010052 020009 307012 5 103000 031001 008023 005021 020001 307013 8 106000 031001 001064 008014 020061 008014 020061 020018 307014 3 101000 031001 020019 307015 4 101000 031001 302005 020002 307016 3 101000 031001 020020 307017 3 101000 031001 011070 307018 16 008016 102000 031001 008017 301012 104000 031001 007006 011001 011002 011041 020009 101000 031001 020001 307014 307020 3 307011 307014 307016 307021 9 307011 307012 307013 307014 307015 307016 307017 307018 307015 307022 31 001015 301011 301012 301022 008021 004025 010004 012001 013003 033038 008022 106025 002020 001050 005021 007021 015031 015032 008060 015033 015034 008060 015033 015034 015035 201131 202129 013016 202000 201000 015011 307030 2 015001 015002 307031 7 008022 008023 015001 008023 015001 008023 015002 307041 7 301001 001015 301022 301011 301012 301070 307030 307042 9 301001 001015 301022 301011 301012 008021 004025 301070 307031 307043 7 301001 001015 301024 301011 301012 301074 307030 307045 25 001063 008079 002001 301011 301012 301024 007032 011001 011016 011017 008054 011083 011084 011002 008054 011085 011086 011041 008054 007032 012023 012024 007032 010052 020009 307046 5 020060 Metar/speci visibility 102000 031001 005021 020059 307047 9 105000 Metar/speci clouds 031001 008002 020011 020012 020013 020092 020002 020091 307048 25 008016 102000 031001 008017 301012 112000 031000 007032 011001 008054 011083 011084 011002 008054 011085 011086 011041 008054 007032 020009 101000 031000 020060 307014 307047 307049 4 102000 031000 022043 022021 307050 14 101000 031000 020085 102000 031001 001064 020085 105000 031001 001064 020086 020087 020088 020089 307059 12 307045 Full METAR/SPECI 307046 307013 307014 307047 307016 307017 307049 307050 101000 031001 307048 Trend forecast 307052 12 001063 008039 301011 301012 008079 008039 301011 start of forecast 301012 008039 301011 end of forecast 301012 301024 307053 16 007032 011001 008054 011083 011084 011002 008054 011085 011086 011041 008054 007032 020009 020060 307014 307047 307054 13 007032 008039 004003 004004 008023 012023 008039 004003 004004 008023 012023 008023 007032 307055 9 033045 008016 008039 004003 301012 008039 004003 301012 307053 307056 6 307052 Aerodrome forecast 307053 307054 101000 031001 307055 307059 12 307045 Full METAR/SPECI 307046 307013 307014 307047 307016 307017 307049 307050 101000 031001 307048 Trend forecast 307060 2 007061 012030 307061 3 301031 101005 307060 307062 3 301032 101005 307060 307063 2 007061 012130 307071 67 301090 004074 004023 008023 010004 010051 007004 010009 007032 012101 002051 004051 012118 004052 012119 013004 008023 012151 007032 102005 008050 008020 014032 014033 008050 008020 102018 008052 008022 007032 008053 004003 012152 008053 004003 012153 008053 004003 008023 012101 008053 004003 008023 012101 008023 007032 002002 008053 004003 011046 008053 004003 004004 004023 007032 013060 013051 004053 008050 008020 102006 008052 008022 008053 004003 013052 007032 307072 38 004001 004001 004002 004003 004004 004074 004022 008023 010004 010051 007004 010009 007032 012101 002051 004051 012118 004052 012119 013004 012151 007032 014032 008023 004001 004001 004002 004003 004004 004022 007032 008023 013060 004053 008023 102008 008050 008020 307073 2 307071 307072 307079 30 301090 SYNOP data and marine data from costal stations 302031 302035 302036 101000 031000 302047 008002 101000 031000 302048 302037 102000 031000 022061 020058 101000 031000 302056 101000 031000 302055 302043 302044 101000 031001 302045 101000 031000 302046 307080 13 301090 BUFR template for synoptic reports 302031 302035 302036 302047 008002 302048 302037 302043 302044 101002 302045 302046 307081 24 301090 BUFR template for synoptic reports RA I 302031 302035 302036 302047 008002 302048 302037 012122 013056 013057 020101 020102 020103 020104 020105 020106 020107 020108 302043 302044 101002 302045 302046 307082 15 301090 BUFR template for synoptic reports RA II 302031 302035 302036 302047 008002 302048 302037 012121 012122 302043 302044 101002 302045 302046 307083 14 301090 BUFR template for synoptic reports RA III 302031 302035 302036 302047 008002 302048 302037 012122 302043 302044 101002 302045 302046 307084 17 301090 BUFR template for synoptic reports RA IV 302031 302035 302036 302047 008002 302048 302037 020055 101000 031000 205001 302043 302044 101002 302045 302046 307086 11 301090 BUFR template for synoptic reports RA VI 302031 302035 302036 008002 302037 302066 302043 302044 101002 302045 307090 13 301092 BUFR template for synoptic reports from mobile land stations 302031 302035 302036 302047 008002 302048 302037 302043 302044 101002 302045 302046 307091 66 301089 301090 008010 301091 302001 007004 010009 302072 103000 031000 101005 307063 007061 101000 031000 302069 007032 007033 105000 031000 020031 020032 002038 022043 302021 101000 031000 302078 101000 031000 302073 101000 031000 302074 101000 031000 302075 102000 031000 004025 302076 302071 302077 007033 101000 031000 302079 007032 101000 031000 302080 101000 031000 302081 101000 031000 302082 102000 031000 004025 013059 101000 031000 302083 033005 033006 307092 62 301089 Surface obs drom N-minute period 301090 008010 301091 004015 004065 125000 031001 010004 302070 302072 007032 012101 103000 031000 101005 307063 007061 101000 031000 302069 007032 007033 101000 031000 302073 101000 031000 302076 102000 031000 013055 013058 102000 031000 020031 020032 101000 031000 302078 102000 031000 302079 007032 101000 031000 302080 101000 031000 302081 101000 031000 302083 102000 031000 004025 013059 101000 031000 302083 033005 033006 308001 3 301033 302011 022042 308002 3 301034 302011 022042 308003 3 301035 302011 022042 308004 3 301036 302011 022042 308005 2 308004 302024 308006 8 010004 010061 010063 011001 011002 012004 013003 022042 308007 4 301055 302011 007062 022042 308008 84 001003 BUOY 001020 001005 002001 002036 002149 301011 301012 008021 301011 301012 008021 301021 027004 028004 007030 001051 002148 001012 001014 002040 033022 033023 033027 022063 302021 302022 302023 008081 025026 008081 025026 008081 025026 008081 002034 022060 007070 002190 025086 002035 002168 020031 002038 306004 002030 306005 007031 008081 012064 302001 008081 007032 007033 012101 012103 013003 007032 007033 008082 007033 002169 002002 008021 004025 011001 011002 008021 004025 011043 011041 008082 007033 007032 004024 013011 007032 008021 004024 014021 008021 025028 025028 025028 308009 7 301093 302001 302054 008002 302055 302057 302060 308010 16 001011 TRACKOB template 113000 031001 301011 301012 301021 004080 022049 004080 022059 004080 022005 002042 022032 002042 004080 308011 27 001011 Climat ship 002001 301011 301012 301023 007030 007031 004074 004023 008023 010051 007032 007033 012101 013004 007032 007033 302056 008023 004003 004004 004023 007032 013060 013051 004053 007032 308012 28 004001 Monthly normals from an ocean weather station 004001 004002 004003 004004 004074 004022 008023 010051 007032 007033 012101 013002 007032 007033 302056 008023 004001 004001 004002 004003 004004 004022 007032 008023 013060 004053 008023 308013 2 308011 308012 309001 4 301037 101000 031001 303011 309002 4 301038 101000 031001 303011 309003 4 301037 101000 031001 303012 309004 4 301038 101000 031001 303012 309005 5 301037 302004 101000 031001 303013 309006 5 301038 302004 101000 031001 303013 309007 5 301037 302004 101000 031001 303014 309008 5 301038 302004 101000 031001 303014 309011 4 301039 101000 031001 303011 309012 4 301039 101000 031001 303012 309013 5 301039 302004 101000 031001 303013 309014 5 301039 302004 101000 031001 303014 309015 4 301040 101000 031001 303011 309016 4 301040 101000 031001 303012 309017 5 301040 302004 101000 031001 303013 309018 5 301040 302004 101000 031001 303014 309019 5 301031 002003 101000 031001 303011 309020 8 301031 002003 104000 031001 007003 011003 011004 011005 309030 8 015004 015005 104000 031001 004015 008006 007004 015003 309031 8 015004 015005 104000 031001 004025 008006 007004 015003 309040 3 301075 301076 309030 309042 4 307042 301075 301076 309030 309050 9 301110 301113 301114 101000 031002 303050 101000 031001 303051 309051 9 301110 301113 301114 101000 031002 303052 101000 031001 303053 309052 11 301111 301113 301114 302049 022043 101000 031002 303054 101000 031001 303051 309053 9 301112 301113 301114 101000 031002 303054 101000 031001 303051 309054 27 301001 001011 301011 301012 301021 007030 007031 007007 004023 004059 115000 031001 008001 008023 007004 010009 012101 012103 008023 011001 011002 008023 011019 008050 008020 008050 008020 309060 4 301123 301121 302050 303040 309061 21 301120 008041 301122 201131 202129 025069 007004 202000 201000 033007 033035 033015 013009 033007 033035 033015 002013 012101 033007 033035 033015 309062 19 301120 008041 301122 005001 033035 033015 006001 033035 033015 007007 033035 033015 011003 033035 033015 011004 033035 033015 033007 309063 19 301120 008041 301122 005001 033035 033015 006001 033035 033015 007007 033035 033015 011003 033035 033015 011004 033035 033015 033007 309064 26 301120 008041 301122 201131 202129 104002 025069 007004 033035 033015 013003 033035 033015 202000 201000 104002 002013 012101 033035 033015 012103 033035 033015 010009 033035 033015 309065 18 301120 008041 301122 005001 033035 033015 006001 033035 033015 007007 033035 033015 011003 033035 033015 011004 033035 033015 309066 18 301120 008041 301122 008040 201131 202129 025069 007004 013003 202000 201000 002013 012101 012103 010009 010007 011002 011001 309194 5 301194 302004 101000 031001 303014 309195 5 301195 302004 101000 031001 303014 309196 5 301196 302004 101000 031001 303014 309198 5 301198 302004 101000 031001 303014 310001 5 301042 303031 303032 101026 303025 310002 5 301042 303031 303032 101009 303023 310003 5 301042 303031 303032 101006 303023 310004 5 301042 303031 303032 101003 303024 310005 6 301042 303031 303033 101000 031001 303025 310006 6 301042 303031 303033 101000 031001 303023 310007 6 301042 303031 303033 101000 031001 303024 310008 8 310011 101019 310012 002150 025079 025080 033032 014045 310009 3 310011 101015 310012 310010 3 310011 101005 310012 310011 45 008070 001033 001034 008070 001033 001034 001007 002048 005040 025075 201133 005041 201000 005043 025070 033030 033031 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 202126 007001 202000 007024 005021 007025 005022 033033 002151 012064 002151 012064 002151 012064 002151 012064 310012 10 002150 025076 025077 025078 033032 201132 202129 012063 202000 201000 310013 62 001007 005040 004001 004002 004003 004004 004005 004006 005001 006001 007025 005043 025085 201131 202129 002150 008023 008072 014027 008072 014027 002150 008023 008072 014027 008072 014027 002150 008023 008072 014027 008072 014027 202000 201000 201132 202129 002150 008023 008072 012063 008072 012063 002150 008023 008072 012063 008072 012063 008023 008072 012063 008072 012063 002150 008023 008072 012063 008072 012063 202000 201000 310014 3 301072 303041 304011 310015 13 301072 007024 010002 303041 101003 304032 002152 002024 007004 007004 013003 101003 304033 310016 13 301072 007024 010002 303041 101012 304032 002152 002024 007004 007004 013003 101012 304033 310019 68 001007 002019 301011 301013 301023 007025 008021 007025 008021 007025 008021 008029 005040 008075 008003 010004 008003 207002 015001 207000 033070 015030 207002 020081 207000 008003 033042 007004 207002 015001 207000 008003 113021 007004 007004 207002 008021 015005 008021 015005 033007 207000 008026 101020 025143 008026 008043 109015 007004 008090 207006 015008 207000 008090 207002 033007 207000 008043 033071 108008 202124 201107 002071 201000 202000 207002 020081 207000 310020 6 310022 301011 301013 301021 304034 310021 310021 10 108000 031001 201131 202129 007004 007004 202000 201000 015020 010002 310022 4 001007 002019 001033 002172 310023 17 301072 030021 030022 008012 007024 007025 010002 101012 304032 105002 002152 002024 007004 007004 013003 101012 304033 310024 17 301072 030021 030022 008012 007024 007025 010002 101003 304032 105002 002152 002024 007004 007004 013003 101003 304033 310025 61 001007 008021 004001 004002 004003 004004 004005 201138 202131 004006 202000 201000 201132 005041 201000 201129 005043 201000 005002 006002 013040 020029 104024 005042 012163 021083 021084 115003 004001 004002 004003 201142 202131 004026 202000 201000 005001 006001 201138 202129 007001 202000 201000 008021 004001 004002 004003 004004 004005 005040 101003 012070 025054 101004 025055 008007 104028 005002 006002 002111 005021 310026 82 310022 025060 008021 301011 301012 201138 202131 004006 202000 201000 033039 033007 304030 304031 002020 001050 202127 304030 202000 304031 201133 202131 004016 202000 201000 301021 304030 010035 005021 010036 113000 031002 301021 005021 108000 031001 002121 007040 015037 008023 201125 015037 201000 008023 033007 108000 031002 007007 015036 008023 201123 015036 201000 008023 033007 116000 031002 007009 010004 012001 013001 008023 201120 010004 201000 201122 012001 201000 201123 013001 201000 008023 033007 008003 007009 010004 008023 201120 010004 201000 008023 033007 310027 12 301071 301011 301013 301021 030021 030022 010002 304036 002152 002167 101011 304035 310029 12 110000 031001 201138 202130 007004 007004 202000 201000 015020 010002 012101 013098 310030 6 310022 301011 301013 301021 304034 310029 310050 14 310051 310052 101000 031002 310053 101004 310054 020010 310052 101015 310053 310052 101005 310053 310051 16 001007 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 007025 005022 102009 002151 012064 310052 12 002019 301011 301012 202131 201138 004006 201000 202000 301021 007024 005021 005043 310053 6 201134 005042 201000 025076 033032 012163 310054 13 201134 005042 201000 025076 033032 201131 202129 102002 008023 014027 008023 202000 201000 310055 8 310051 310052 102020 025076 025052 101000 031002 025050 310060 53 001007 001033 002019 002020 301011 301012 207003 004006 207000 304030 301021 007024 005021 007025 005022 008075 201133 005041 201000 005045 005043 005040 010001 201129 007002 201000 202127 201125 021166 201000 202000 008012 020010 020014 002165 033075 107003 008076 006029 006029 025140 025141 033076 033077 008076 033078 033003 104000 031002 201133 005042 201000 014044 310193 5 301250 303250 302250 303249 303251 310194 5 301250 303250 302250 303249 303252 310195 3 301250 303250 304250 310196 3 301250 303249 303251 310226 39 310022 025060 008021 301011 301012 201138 202131 004006 202000 201000 033039 033007 304030 304031 002020 001050 202127 304030 202000 304031 201133 202131 004016 202000 201000 301021 304030 010035 005021 010036 107000 031002 301021 005021 103000 031001 002121 007040 015037 311001 9 301051 007002 012001 011001 011002 011031 011032 011033 020041 311002 4 301065 301066 311003 311004 311003 5 010070 011001 011002 012001 013002 311004 18 101000 031000 011034 101000 031000 011035 101000 031000 011075 101000 031000 011076 101000 031000 033025 101000 031000 033026 311005 13 001008 001023 301021 301011 301013 007010 008009 011001 011002 011031 011036 012101 033025 311006 6 007010 011001 011002 002064 012101 012103 311007 7 007010 301021 011001 011002 002064 012101 012103 311008 8 001008 301011 301013 301021 008004 101000 031001 311006 311009 8 001008 301011 301013 301021 008004 101000 031001 311007 311193 16 301197 301011 301012 301023 008004 007004 008021 011001 011002 011031 011034 011035 012001 012003 013003 020041 312001 2 301043 304001 312002 2 301043 304002 312003 2 301042 304003 312004 2 301042 304004 312005 2 301042 020014 312006 2 301044 304005 312007 2 301042 304006 312010 6 001007 005040 002021 005041 004001 004043 312011 9 202131 201149 004006 201000 202126 010002 202000 005043 005053 312012 6 202129 201132 101019 012063 201000 202000 312013 6 005042 202129 201135 012063 201000 202000 312014 8 312010 312011 105056 301023 005042 005052 312012 312013 312015 10 109011 301023 005042 005052 202129 201132 101004 012063 202000 201000 312016 3 312010 312011 312015 312017 10 109008 301023 005042 005052 202129 201132 101003 012063 202000 201000 312018 3 312010 312011 312017 312019 13 301047 301048 015015 029002 021076 106012 201129 006030 201000 102012 005030 021075 021066 312020 11 301047 301048 015015 029002 021076 104012 006030 102012 005030 021075 021066 312021 6 301047 101003 301049 011012 011011 021067 312022 15 301047 008022 011012 011050 022070 022026 312041 010050 021068 021071 021072 021073 312042 021062 015011 312023 7 301047 103003 008022 012061 022050 021069 021085 312024 11 312020 008060 008022 008060 008022 025014 022101 022097 022098 022099 022100 312025 11 312019 008060 008022 008060 008022 025014 022101 022097 022098 022099 022100 312026 19 301046 301011 301013 301023 312031 101004 312030 021110 301023 321027 021111 301023 321027 021112 301023 321027 021113 301023 321027 312027 9 301047 105009 301023 007021 012061 007021 012061 021085 021070 312028 26 301046 301011 301013 301023 008025 201136 004006 201000 312031 312032 101004 312030 101002 312033 021110 301023 321028 021111 301023 321028 021112 301023 321028 021113 301023 321028 312030 13 201130 202129 011012 202000 201000 011052 201135 202130 011011 202000 201000 011053 021104 312031 8 005034 006034 021109 011081 011082 021101 021102 021103 312032 4 021120 021121 013055 021122 312033 4 002104 008022 012063 012065 312041 5 201141 202130 007001 201000 202000 312042 6 021077 021078 021079 021080 021081 021082 312045 21 001007 002019 001096 025061 005040 301011 301013 301021 007002 012180 012181 012182 012183 012184 012185 002174 021086 012186 021087 012187 033043 312050 23 001007 002019 001096 025061 005040 301011 301013 301021 007025 005022 010080 027080 008003 007004 013093 008003 201131 202129 007004 007004 202000 201000 013095 312051 48 001007 002019 001096 025061 005040 008075 301011 301013 301021 001012 201131 001013 201000 010032 010033 010034 007002 008012 025110 025111 025102 002104 025103 025104 025105 025106 025107 025108 002111 002121 002026 002027 021130 021131 021132 021133 021064 025014 021134 107018 005030 105024 201130 006030 201000 021135 021136 033044 312052 77 001007 002019 001096 025061 005040 025120 025121 025124 025125 025122 025123 301011 301013 301021 007002 002119 033047 010081 010082 010083 010084 002116 002117 002118 002156 002157 014055 022150 022151 022152 022153 022154 022155 022156 022157 022158 022159 021137 021138 021139 021140 021141 021142 010085 010086 010087 010088 010089 010090 010091 010092 010093 011002 025126 025127 025128 025129 025130 025131 025132 025133 025134 025135 025136 025137 013096 013097 011095 011096 012188 012189 002158 002159 033052 033053 021143 021144 312053 54 001007 002019 001096 025061 005040 008075 301011 301013 301021 001012 201131 001013 201000 010032 010033 010034 007002 008012 025110 025111 025102 002104 025103 025104 025105 025106 025107 025108 011001 011002 022160 025138 201130 202129 022021 202000 201000 033048 033049 002026 002027 021130 021131 021132 021133 025014 106036 005030 104024 201130 006030 201000 022161 033044 312055 5 005033 005040 006034 010095 021157 312056 11 025060 001032 011082 011081 020095 020096 021155 201133 021101 021102 201000 312057 12 201130 202129 011012 202000 201000 201131 202129 011011 202000 201000 021156 021104 312058 8 301125 301011 301013 301021 312055 021150 101003 321030 312059 4 312056 101000 031001 312057 312060 20 025060 025062 040001 040002 021062 021151 021152 021153 021154 021062 021062 040003 040004 040005 040006 040007 020065 040008 040009 040010 312061 3 312058 312060 312059 312070 27 001007 002019 001144 001124 030010 301011 301013 301021 007012 015012 012165 012166 012167 012168 027010 028010 002099 013048 025081 025082 025083 025084 012080 012081 012082 025174 033028 312200 10 301237 301238 029002 021206 104012 006232 102012 005232 021205 021196 312201 6 301237 101003 301239 011012 011011 021197 312202 13 301237 008022 011012 011050 301240 022243 301241 010050 021198 021201 021202 021203 301242 312203 8 301237 008022 012061 022050 021204 021199 021214 021215 312204 12 312201 001031 011012 011011 021200 021213 004004 008021 004024 055003 011012 011011 312207 3 312202 301202 033191 312208 17 301202 008022 008021 301011 301013 301023 302205 011002 001007 002021 301011 301013 301023 001032 001192 302205 011002 312209 11 301202 001192 301011 301013 301023 302206 104000 022192 102000 005232 022191 312210 13 312202 021192 015202 301011 004004 004005 201138 202131 004006 201000 202000 304228 304229 312211 19 301046 301011 301013 301023 312031 101004 312030 021110 101004 312212 021111 101004 312212 021112 101004 312212 021113 101004 312212 312212 2 301023 321027 313009 4 021001 101000 031001 021001 313010 4 021036 101000 031001 021036 313031 5 006002 006012 101000 031002 030001 313032 5 005002 005012 101000 031002 313031 313041 13 006002 110000 031001 104000 031001 006012 101000 031012 030001 006012 101000 031001 030001 313042 5 005002 005012 101000 031002 313041 313043 17 006002 005002 005012 112000 031001 110000 031001 104000 031001 006012 101000 031011 030001 006012 101000 031001 030001 315001 5 001011 301011 301012 301023 306001 315002 5 001011 301011 301012 301023 306004 315003 25 001087 001085 001086 002036 002148 002149 022055 022056 022067 301011 301012 301021 008080 033050 109000 031002 007065 008080 033050 022045 008080 033050 022064 008080 033050 316001 10 301011 004004 301023 001021 002041 019001 010051 019002 019003 019004 316002 15 008021 004001 004002 004003 004004 004005 001033 008021 004001 004002 004003 004004 004005 007002 007002 316003 12 110000 031001 008011 008007 104000 031001 005002 006002 010002 011002 008007 008011 316004 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 011031 008007 008011 316005 10 108000 031001 008005 008007 005002 006002 001026 019001 008007 008005 316006 14 112000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020011 020012 008007 008011 316007 12 110000 031001 008011 008007 104000 031001 005002 006002 019005 019006 008007 008011 316008 13 111000 031001 008001 008007 008023 103000 031001 005002 006002 010002 008023 008007 008001 316009 13 111000 031001 008011 008007 007002 007002 102000 031001 005002 006002 020041 008007 008011 316010 9 107000 031001 008011 008007 001022 005002 006002 008007 008011 316011 19 117000 031001 008011 001022 008007 102000 031001 005002 006002 008021 004001 004002 004003 004004 004005 020090 008021 008007 008011 316020 5 001023 001025 001027 301011 301012 316021 23 301023 002041 019001 019007 019005 019006 019008 008005 010004 008005 010004 019007 008005 008021 004075 011040 019007 105004 005021 005021 102002 019003 019004 316022 24 001032 002041 019001 019010 118000 031001 008021 004014 008005 301023 019005 019006 010004 011041 008021 004075 011040 019008 105004 005021 005021 102002 019003 019004 316026 2 316020 316021 316030 10 301014 001037 010064 008019 001062 008019 001065 008019 001062 008019 316031 8 008021 301011 301012 301027 019005 019006 020028 008021 316032 5 008021 301011 301012 301027 008021 316033 7 008021 301011 301012 101000 031001 301027 008021 316034 17 008079 316030 008011 001022 008007 301023 008007 020090 316031 101000 031000 316032 101000 031001 316033 008011 008079 316035 9 008079 316030 008011 020023 020021 020008 316031 008011 008079 316036 13 008079 316030 008011 001027 316031 101000 031000 316032 101000 031001 316033 008011 008079 316037 7 008079 316030 008011 011031 316031 008011 008079 316038 8 008079 316030 008011 020041 020021 316031 008011 008079 316039 7 008079 316030 008011 020024 316031 008011 008079 316040 6 316030 008079 301014 001037 010064 008079 316050 16 301001 301011 301012 002160 008005 005002 006002 008005 019100 019005 019006 019101 019102 019103 019104 019105 316052 29 301005 301011 301012 001007 025150 122000 031001 001027 019150 019106 008005 005002 006002 008005 019107 019005 019006 019108 019109 019110 019111 019112 019113 019114 019115 019116 019117 019118 019119 318001 2 301025 024011 318003 4 301026 024005 024004 024021 318004 6 301025 004023 013011 024005 024004 024022 321001 6 002101 002114 002105 002106 002107 002121 321003 4 021051 021014 021017 021030 321004 5 301031 002003 101000 031001 321003 321005 12 025004 002121 002122 002123 002124 002125 002126 002127 002128 002129 002130 002131 321006 4 025001 025002 025003 025005 321007 8 025009 025010 025011 025012 025013 025015 025016 025017 321008 3 025006 025007 025008 321009 2 025018 025019 321010 13 002101 007002 002102 002103 002104 002105 002106 002107 002108 002109 002110 002132 002133 321011 3 030031 030032 029002 321012 3 101000 031001 002135 321021 15 002003 002101 201130 002106 201000 201132 202130 002121 202000 201000 201133 202129 025001 202000 201000 321022 11 007007 204001 031021 011001 204000 011002 204001 031021 011006 204000 021030 321023 9 007007 021091 021030 202129 021014 201129 021017 202000 201000 321024 7 007007 204001 031021 012007 011006 204000 021030 321025 17 007007 021091 021030 202129 021014 201129 021017 202000 201000 021092 021030 025092 201129 202129 021017 202000 201000 321026 10 007007 204001 031021 012007 025091 011071 011072 011073 011074 204000 321027 18 021118 202129 201132 002112 201000 201131 002111 201000 202000 002104 021105 021106 021107 021114 021115 021116 008018 021117 321028 18 021118 202129 201132 002112 201000 201131 002111 201000 202000 002104 021123 021106 021107 021114 021115 021116 008018 021117 321030 18 008085 202129 201131 002111 201000 202000 002134 021062 021063 021158 021159 021160 021161 021162 021163 021164 021165 021166 340001 45 001007 001031 002019 002020 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 007024 005021 007025 005022 005043 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 033060 033061 033062 033063 033064 033065 101010 340002 101087 340003 002019 025051 101007 340004 340002 3 025140 025141 025142 340003 5 104100 201136 005042 201000 014046 340004 9 005060 005061 025085 105006 005042 025142 014047 025142 014048 340005 94 001007 002019 001096 025061 005044 005040 001030 301011 301012 004007 005001 006001 008029 008074 008077 040011 025097 025095 025098 025099 021144 025096 040012 040013 021169 022151 022162 022163 025160 025133 022156 022164 022165 022166 021137 021138 022167 021139 021118 021145 021146 021147 022168 022169 022170 025161 025162 022171 022172 022173 022174 021170 021171 022175 021172 021118 021173 021174 021175 102003 002153 012063 013090 013091 007002 011097 011098 007002 011095 011096 010096 010081 010082 010083 010101 025132 025163 025126 025128 025164 010085 010097 010086 010087 010092 010088 010089 010098 010099 010090 010100 010093 025127 040014 340007 57 001007 001031 002019 002020 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 007024 005021 007025 005022 005043 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 103003 025140 025141 033060 033061 033062 033063 033064 033065 040020 101010 340002 101087 340003 002019 025051 101007 340004 020081 008029 020083 008029 040018 040019 040021 040022 340008 70 001007 001031 002019 002020 004001 004002 004003 004004 004005 202131 201138 004006 201000 202000 005001 006001 007024 005021 007025 005022 005043 005040 201133 005041 201000 201132 025070 201000 202126 007001 202000 103003 025140 025141 033060 033061 033062 033063 033064 033065 040020 101010 340002 104000 031002 201136 005042 201000 014046 108003 025140 025141 040015 040016 025062 101000 031002 040017 002019 025051 101007 340004 020081 008029 020083 008029 040018 040019 040021 040022 emoslib-000392+dfsg.1/bufrtables/B0000000000098006001.TXT0000755000175000017500000035001512127406245022250 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 000005 BUFR EDITION NUMBER CCITTIA5 0 0 24 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 000015 UNITS NAME CCITTIA5 0 0 192 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 000017 UNITS SCALE CCITTIA5 0 0 24 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 48 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 001002 WMO STATION NUMBER NUMERIC 0 0 10 001003 WMO REGION NUMBER/GEOGRAPHICAL AREA CODE TABLE 1003 0 0 3 001004 WMO REGION SUB-AREA NUMERIC 0 0 3 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 001006 AIRCRAFT FLIGHT NUMBER CCITTIA5 0 0 64 001007 SATELLITE IDENTIFIER CODE TABLE 1007 0 0 10 001008 AIRCRAFT REGISTRATION NUMBER CCITTIA5 0 0 64 001009 TYPE OF COMMERCIAL AIRCRAFT CCITTIA5 0 0 64 001010 STATIONARY BUOY PLATFORM IDENTIFIER(C-MAN BUOYS) CCITTIA5 0 0 64 001011 SHIP OR MOBILE LAND STATION IDENTIFIER CCITTIA5 0 0 72 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM DEGREE TRUE 0 0 9 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM M/S 0 0 10 001014 PLATFORM DRIFT SPEED(HIGH PRECISION M/S 2 0 10 001015 STATION OR SITE NAME CCITTIA5 0 0 160 001018 SHORT STATION OR SITE NAME CCITTIA5 0 0 40 001020 WMO REGION SUB-AREA NUMERIC 0 0 4 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 001022 NAME OF FEATURE CCITTIA5 0 0 224 001025 STORM IDENTIFIER CCITTIA5 0 0 24 001026 WMO STORM NAME CCITTIA5 0 0 64 001027 WMO LONG STORM NAME CCITTIA5 0 0 80 001031 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 1031 0 0 16 001032 GENERATING APPLICATION CODE TABLE 1032 0 0 8 001033 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 1033 0 0 8 001034 IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE CODE TABLE 1034 0 0 8 001041 ABSOLUTE PLATFORM VELOCITY - FIRST COMPONENT M/S 5 -1073741824 31 001042 ABSOLUTE PLATFORM VELOCITY - SECOND COMPONENT M/S 5 -1073741824 31 001043 ABSOLUTE PLATFORM VELOCITY - THIRD COMPONENT M/S 5 -1073741824 31 001060 AIRCRAFT REPORTING POINT(BEACON IDENTIFIER) CCITTIA5 0 0 64 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 001064 RUNWAY DESIGNATOR CCITTIA5 0 0 32 001075 TIDE STATION IDENTIFIER CCITTIA5 0 0 40 001192 MODEL VERSION NUMBER CODE TABLE 1192 0 0 8 001193 SIGMA_0 SIMULATION METHOD CODE TABLE 1193 0 0 4 001194 CARRIER BALLOON/AIRCRAFT IDENTIFIER CCITTIA5 0 0 72 001195 MOBIL LAND STATION IDENTIFIER CCITTIA5 0 0 72 001196 CONSTANT LEVEL BALLOON IDENTIFIER CCITTIA5 0 0 72 001197 RTP - PLATFORM TYPE CODE TABLE 1197 0 0 10 001198 ITP - DECK ID CODE TABLE 1198 0 0 10 001199 DUP - DUPLICATE STATUS CODE TABLE 1199 0 0 4 001201 GENERATING APPLICATION CODE TABLE 1201 0 0 8 001205 SATELLITE IDENTIFIER CODE TABLE 1205 0 0 10 001208 VELOCITY OF PLATFORM, X M/S 5 -1073741824 31 001209 VELOCITY OF PLATFORM, Y M/S 5 -1073741824 31 001210 VELOCITY OF PLATFORM, Z M/S 5 -1073741824 31 002001 TYPE OF STATION CODE TABLE 2001 0 0 2 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 2002 0 0 4 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 2003 0 0 4 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUEMENT CODE TABLE 2004 0 0 4 002005 PRECISION OF TEMPERATURE OBSERVATION K 2 0 7 002011 RADIOSONDE TYPE CODE TABLE 2011 0 0 8 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 2012 0 0 4 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 2013 0 0 4 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM USED CODE TABLE 2014 0 0 7 002015 RADIOSONDE COMPLETENESS CODE TABLE 2015 0 0 4 002019 SATELLITE INSTRUMENTS CODE TABLE 2019 0 0 11 002020 SATELLITE CLASSIFICATION CODE TABLE 2020 0 0 9 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2021 0 0 9 002022 SATELLITE DATA PROCESSING TECHNIQUE USED FLAG TABLE 2022 0 0 8 002023 SATELLITE DERIVED WIND COMPUTATION METHOD CODE TABLE 2023 0 0 4 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2024 0 0 4 002025 SATELLITE CHANNEL(S) USED IN COMPUTATION FLAG TABLE 2025 0 0 25 002026 CROSS TRACK RESOLUTION M 2 0 12 002027 ALONG TRACK RESOLUTION M 2 0 12 002028 RADIOMETER IDENTIFIER CODE TABLE 2028 0 0 11 002030 METHOD OF CURRENT MEASUREMENT CODE TABLE 2030 0 0 3 002031 DURATION AND TIME OF CURRENT MEASUREMENT CODE TABLE 2031 0 0 5 002032 INDICATOR FOR DIGITIZATION CODE TABLE 2032 0 0 2 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 2033 0 0 3 002034 DROGUE TYPE CODE TABLE 2034 0 0 5 002035 CABLE LENGTH M 0 0 9 002036 BUOY TYPE CODE TABLE 2036 0 0 2 002037 METHOD OF TIDAL OBSERVATION CODE TABLE 2037 0 0 3 002038 METHOD OF SEA-SURFACE TEMPERATURE MEASUREMENT CODE TABLE 2038 0 0 4 002039 METHOD OF WET-BULB TEMPERATURE MEASUREMENT CODE TABLE 2039 0 0 3 002040 METHOD OF REMOVING VELOCITY AND MOTION OF PLATFORM FROM CURRENT CODE TABLE 2040 0 0 4 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 2041 0 0 6 002044 INDICATOR FOR METHOD OF CALCULATING SPECTRAL WAVE METHOD CODE TABLE 2044 0 0 4 002045 INDICATOR FOR TYPE OF PLATFORM CODE TABLE 2045 0 0 4 002046 WAVE MEASUREMENT INSTRUMENTATION CODE TABLE 2046 0 0 4 002048 SATELLITE SENSOR INDICATOR CODE TABLE 2048 0 0 4 002049 GEOSTATIONARY SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2049 0 0 8 002050 GEOSTATIONARY SOUNDER SATELLITE CHANNELS USED FLAG TABLE 2050 0 0 20 002051 INDICATOR TO SPECIFY OBSERVING METHOD FOR EXTREME TEMPERATURES CODE TABLE 2051 0 0 4 002052 GEOSTATIONARY IMAGER SATELLITE CHANNELS USED FLAG TABLE 2052 0 0 6 002053 GOES-I/M BRIGHTNESS TEMPERATURE CHARACTERISTICS CODE TABLE 2053 0 0 4 002054 GOES-I/M SOUNDINGS PARAMETER CHARACTERISTICS CODE TABLE 2054 0 0 4 002055 GEOSTATIONARY SOUNDINGS STATISTICAL PARAMETERS CODE TABLE 2055 0 0 4 002056 GEOSTATIONARY SOUNDINGS ACCURACYSTATISTICS CODE TABLE 2056 0 0 4 002057 ORIGIN OF FIRST GUESS INFORMATION CODE TABLE 2057 0 0 4 002058 VALID TIMES OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2058 0 0 4 002059 ORIGIN OF ANALYSIS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2059 0 0 4 002060 ORIGIN OF SURFACE INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2060 0 0 4 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 2061 0 0 3 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 2062 0 0 4 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 002064 AIRCRAFT ROLL ANGLE QUALITY CODE TABLE 2064 0 0 2 002065 ACARS GROUND RECEIVING STATION CCITTIA5 0 0 40 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 2070 0 0 4 002100 RADAR CONSTANT dB 1 0 12 002101 TYPE OF ANTENNA CODE TABLE 2101 0 0 4 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 002103 RADOME FLAG TABLE 2103 0 0 2 002104 ANTENNA POLARISATION CODE TABLE 2104 0 0 4 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 002106 3-dB BEAMWIDTH DEGREE 1 0 6 002107 SIDELOBE SUPPRESSION dB 0 0 6 002108 CROSSPOL DISCRIMINATION(ON AXIS) dB 0 0 6 002109 ANTENNA SPEED(AZIMUTH) DEGREE/S 2 0 12 002110 ANTENNA SPEED(ELEVATION) DEGREE/S 2 0 12 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 002112 RADAR LOOK ANGLE DEGREE 1 0 12 002113 NUMBER OF AZIMUTH LOOKS NUMERIC 0 0 4 002114 ANTENNA EFFECTIVE SURFACE AREA M**2 0 0 15 002121 MEAN FREQUENCY Hz -8 0 7 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 002123 PEAK POWER W -4 0 7 002124 AVERAGE POWER W -1 0 7 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 002126 PULSE WIDTH S 7 0 6 002127 RECEIVER INTERMEDIATE FREQUENCY Hz -6 0 7 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 002129 MINIMUM DETECTABLE SIGNAL dB 0 -150 5 002130 DYNAMIC RANGE dB 0 0 7 002131 SENSITIVITY TIME CONTROL FLAG TABLE 2131 0 0 2 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 002136 RANGE PROCESSED BY RANGE ATTENUATION CORRECTION M -3 0 16 002140 SATELLITE RADAR BEAM AZIMUTH ANGLE DEGREE 0 0 9 002141 MEASUREMENT TYPE CCITTIA5 0 0 24 002142 OZONE INSTRUMENT SERIAL NUMBER/IDENTIFICATION CCITTIA5 0 0 32 002143 OZON INSTRUMENT TYPE CODE TABLE 2143 0 0 7 002144 LIGHT SOURCE TYPE FOR BREWER SPECTROPHOTOMETER CODE TABLE 2144 0 0 4 002145 WAVE LENGTH SETTING FOR DOBSON INSTRUMENTS CODE TABLE 2145 0 0 4 002146 SOURCE CONDITIONS FOR DOBSON INSTRUMENTS CODE TABLE 2146 0 0 4 002150 TOVS/ATOVS/AVHRR INSTRUMENTATION CODE TABLE 2150 0 0 6 002151 RADIOMETER IDENTIFIER CODE TABLE 2151 0 0 11 002152 SATELLITE INSTRUMENT USED IN DATA PROCESSING FLAG TABLE 2152 0 0 31 002153 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 002154 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 002156 PERCENTAGE OF VALID KU OCEAN RETRACKER MEASUREMENTS % 0 0 7 002157 PERCENTAGE OF VALID S OCEAN RETRACKER MEASUREMENTS % 0 0 7 002158 RA-2 INSTRUMENT FLAG TABLE 002158 0 0 9 002159 MWR INSTRUMENT FLAG TABLE 002159 0 0 8 002160 ASCENDING/DESCENDING ORBIT DESIGNATOR CODE TABLE 002160 0 0 2 002163 HEIGHT ASSIGNMENT METHOD CODE TABLE 002163 0 0 4 002164 TRACER CORRELATION METHOD CODE TABLE 002164 0 0 3 002166 RADIANCE TYPE CODE TABLE 002166 0 0 4 002167 RADIANCE COMPUTATIONAL METHOD CODE TABLE 002167 0 0 4 002168 HYDROSTATIC PRESSURE OF LOWER END OF CABLE (THERMISTOR STRING) PA -3 0 16 002169 ANEMOMETER TYPE CODE TABLE 002169 0 0 4 002172 PRODUCT TYPE FOR RETRIEVED ATMOSPHERIC GASES CODE TABLE 2172 0 0 8 002192 SAR AZIMUTH ANGLE DEGREE 0 0 9 002193 1D VAR SATELLITE CHANNEL(S) USED FLAG TABLE 2193 0 0 28 002194 CONSTANT LEVEL BALLOON TYPE CODE TABLE 2194 0 0 4 002195 TYPE OF SATELLITE INSTRUMENTATION CODE TABLE 2195 0 0 4 002196 SATELLITE CLASSIFICATION CODE TABLE 2196 0 0 9 002197 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 002198 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 002199 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2199 0 0 4 002201 SIMULATED SATELLITE INSTRUMENT FLAG TABLE 2201 0 0 4 002202 SIMULATED DATA PROCESSING TECHNIQUE USED FLAG TABLE 2202 0 0 4 002220 DATA PRODUCER CODE TABLE 2220 0 0 9 002221 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 002222 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 002223 TOVS/ATOVS/AVHRR CHANNEL NUMBER CODE TABLE 2223 0 0 6 002231 HEIGHT ASSIGNMENT METHOD CODE TABLE 2231 0 0 4 002232 TRACER CORRELATION METHOD CODE TABLE 2232 0 0 3 002240 TYPE OF TERMODYNAMIC SENSING CODE TABLE 2240 0 0 8 002241 TYPE OF ROCKET MOTOR CODE TABLE 2241 0 0 3 002242 TYPE OF WIND SENSING EQUIPMENT CODE TABLE 2242 0 0 8 002243 TERMODYNAMIC CORRECTION TECHNIQUE CODE TABLE 2243 0 0 3 002244 WIND CORRECTION TECHNIQUE CODE TABLE 2244 0 0 3 002245 METHOD OF REDUCING OF DATA CODE TABLE 2245 0 0 4 002251 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2251 0 0 4 002252 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2252 0 0 31 002253 HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2253 0 0 8 002254 RADIANCE TYPE CODE TABLE 2254 0 0 4 004001 YEAR YEAR 0 0 12 004002 MONTH MONTH 0 0 4 004003 DAY DAY 0 0 6 004004 HOUR HOUR 0 0 5 004005 MINUTE MINUTE 0 0 6 004006 SECOND SECOND 0 0 6 004011 TIME INCREMENT YEAR 0 -1024 11 004012 TIME INCREMENT MONTH 0 -1024 11 004013 TIME INCREMENT DAY 0 -1024 11 004014 TIME INCREMENT HOUR 0 -1024 11 004015 TIME INCREMENT MINUTE 0 -2048 12 004016 TIME INCREMENT SECOND 0 -4096 13 004021 TIME PERIOD OR DISPLACEMENT YEAR 0 -1024 11 004022 TIME PERIOD OR DISPLACEMENT MONTH 0 -1024 11 004023 TIME PERIOD OR DISPLACEMENT DAY 0 -1024 11 004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -2048 12 004025 TIME PERIOD OR DISPLACEMENT MINUTE 0 -2048 12 004026 TIME PERIOD OR DISPLACEMENT SECOND 0 -4096 13 004031 DURATION OF TIME RELATING TO FOLLOWING VALUE HOUR 0 0 8 004032 DURATION OF TIME RELATING TO FOLLOWING VALUE MINUTE 0 0 6 004041 TIME DIFFERENCE, UTC-LMT MINUTE 0 -1440 12 004043 DAY OF THE YEAR DAY 0 0 9 004053 NUMBER OF DAYS WITH PRECIPITATION EQUAL TO OR MORE THAN 1 MM NUMERIC 0 0 6 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 005030 DIRECTION (SPECTRAL) DEGREE 0 0 12 005031 ROW NUMBER NUMERIC 0 0 12 005033 PIXEL SIZE ON HORIZONTAL-1 M -1 0 16 005034 ALONG TRACK ROW NUMBER NUMERIC 0 0 11 005040 ORBIT NUMBER NUMERIC 0 0 24 005041 SCAN LINE NUMBER NUMERIC 0 0 8 005042 CHANNEL NUMBER NUMERIC 0 0 6 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 005193 ALONG TRACK ROW NUMBER AT 50 KM NUMERIC 0 0 10 005194 ALONG TRACK ROW NUMBER AT 25 KM NUMERIC 0 0 11 005195 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 7 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 005232 DIRECTION (SPECTRAL) DEGREE 2 0 16 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 006021 DISTANCE M -1 0 13 006030 WAVENUMBER (SPECTRAL) RAD/M 5 0 13 006031 COLUMN NUMBER NUMERIC 0 0 12 006033 PIXEL SIZE ON HORIZONTAL-2 M -1 0 16 006034 CROSS TRACK CELL NUMBER NUMERIC 0 0 7 006193 CROSS TRACK CELL NUMBER AT 50 KM NUMERIC 0 0 6 006194 CROSS TRACK CELL NUMBER AT 25 KM NUMERIC 0 0 7 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 007001 HEIGHT OF STATION M 0 -400 15 007002 HEIGHT OR ALTITUDE M -1 -40 16 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 007004 PRESSURE PA -1 0 14 007005 HEIGHT INCREMENT M 0 -400 12 007006 HEIGHT ABOVE STATION M 0 0 15 007007 HEIGHT M 0 -1000 17 007008 GEOPOTENTIAL M**2/S**2 0 -10000 20 007021 ELEVATION DEGREE 2 -9000 15 007022 SOLAR ELEVATION DEGREE 2 -9000 15 007024 SATELLITE ZENITH ANGLE DEGREE 2 -9000 15 007025 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 007061 DEPTH BELOW LAND SURFACE M 2 0 14 007062 DEPTH BELOW SEA/WATER SURFACE M 1 0 17 007190 HEIGHT INCREMENT M 1 -1024 12 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8001 0 0 7 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 8002 0 0 6 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 8003 0 0 6 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 8004 0 0 3 008005 METEOROLOGICAL ATTRIBUTE SIGNIFICANCE CODE TABLE 8005 0 0 4 008006 OZONE VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8006 0 0 10 008007 DIMENSIONAL SIGNIFICANCE CODE TABLE 8007 0 0 4 008011 METEOROLOGICAL FEATURE CODE TABLE 8011 0 0 6 008012 LAND/SEA QUALIFIER CODE TABLE 8012 0 0 2 008013 DAY/NIGHT QUALIFIER CODE TABLE 8013 0 0 2 008014 QUALIFIER FOR RUNWAY VISUAL RANGE CODE TABLE 8014 0 0 4 008016 CHANGE INDICATOR OF A TREND-TYPEFORECAST OR AN AERODROME FORECAS CODE TABLE 8016 0 0 3 008017 QUALIFIER OF THE TIME WHEN THE FORECAST CHANGE IS EXPECTED CODE TABLE 8017 0 0 2 008018 SEAWINDS LAND/ICE SURFACE FLAG FLAG TABLE 8018 0 0 17 008020 TOTAL NUMBER OF MISSING ENTITIES(WITH RESPECT TO ACCUMULATION) NUMERIC 0 0 16 008021 TIME SIGNIFICANCE CODE TABLE 8021 0 0 5 008022 TOTAL NUMBER(WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 008023 FIRST ORDER STATISTICS CODE TABLE 8023 0 0 6 008024 DIFFERENCE STATISTICS CODE TABLE 8024 0 0 6 008025 TIME DIFFERENCE QUALIFIER CODE TABLE 8025 0 0 4 008030 MANUAL ON CODES (VOL i.1 sECTION C CODE TABLE FROM WHICH DATA AR NUMERIC 0 0 13 008033 METHOD OF DERIVATION OF PERCENTAGE CONFIDENCE CODE TABLE 008033 0 0 7 008051 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8051 0 0 3 008052 CONDITION FOR WHICH NUMBER OF DAYS OF OCCURRENCE FOLLOWS CODE TABLE 8052 0 0 5 008053 DAY OF OCCURRENCE QUALIFIER CODE TABLE 8053 0 0 2 008060 SAMPLE SCANNING MODE SIGNIFICANCE CODE TABLE 8060 0 0 4 008065 TYPE OF PRECIPITATION FLAG TABLE 8065 0 0 12 008066 PRECIPITATION OCCURRENCE CODE TABLE 8066 0 0 3 008070 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8070 0 0 4 008072 PIXEL(S) TYPE CODE TABLE 8072 0 0 3 008193 TIME QUALIFIER CODE TABLE 8193 0 0 6 008194 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8194 0 0 4 008195 DATA TYPE CODE TABLE 8195 0 0 7 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 008222 GENERATOR SIGNIFICANCE CODE TABLE 8222 0 0 4 008223 LAND/ICE SURFACE FLAG FLAG TABLE 8223 0 0 7 008224 LAND/SEA FRACTION NUMERIC 3 0 10 010001 HEIGHT OF LAND SURFACE M 0 -400 15 010002 HEIGHT M -1 -40 16 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 010004 PRESSURE PA -1 0 14 010007 HEIGHT M 0 -1000 17 010008 GEOPOTENTIAL M**2/S**2 0 -10000 20 010031 IN DIRECTION OF THE NORTH POLE , DISTANCE FROM THE EARTH CENTRE m 2 -1073741824 31 010040 NUMBER OF RETRIEVED LAYERS NUMERIC 0 0 10 010050 STANDARD DEVIATION ALTITUDE M 2 0 16 010051 PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 010052 ALTIMETER SETTING (QNH) PA -1 0 14 010060 PRESSURE CHANGE PA -1 -1024 11 010061 3 HOUR PRESSURE CHANGE PA -1 -500 10 010062 24 HOUR PRESSURE CHANGE PA -1 -1000 11 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 10063 0 0 4 010070 INDICATED AIRCRAFT ALTITUDE M 0 -400 16 010195 HEIGHT(HIGH ACCURACY) M 1 -4096 20 010196 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 010197 ANEMOMETER HEIGHT M 0 0 9 010200 SURFACE PRESSURE ( SP GRIB ) PA -1 0 14 011001 WIND DIRECTION DEGREE TRUE 0 0 9 011002 WIND SPEED M/S 1 0 12 011003 U-COMPONENT M/S 1 -4096 13 011004 V-COMPONENT M/S 1 -4096 13 011005 W-COMPONENT PA/S 1 -512 10 011006 W-COMPONENT M/S 2 -4096 13 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 011012 WIND SPEED AT 10 M M/S 1 0 12 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 011014 WIND SPEED AT 5 M M/S 1 0 12 011016 EXTREME COUNTERCLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 011017 EXTREME CLOCKWISE WIND DIRECTIONOF A VARIABLE WIND DEGREE TRUE 0 0 9 011021 RELATIVE VORTICITY 1/S 9 -65536 17 011022 DIVERGENCE 1/S 9 -65536 17 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 011031 DEGREE OF TURBULENCE CODE TABLE 11031 0 0 4 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 011035 VERTICAL GUST ACCELERATION M/S**2 2 -8192 14 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST SPEED M/S 1 0 10 011041 MAXIMUM WIND SPEED (GUSTS) M/S 1 0 12 011042 MAXIMUM WIND SPEED (10 MIN MEAN WIND) M/S 1 0 12 011043 MAKSIMUM WIND GUST DIRECTION DEGREE TRUE 0 0 9 011044 MEAN WIND DIRECTION FOR SURFACE - 1500 M (5000 FEET) DEGREE TRUE 0 0 9 011045 MEAN WIND SPEED FOR SURFACE - 1500 M (5000 FEET) M/S 1 0 12 011049 STANDARD DEVIATION OF WIND DIRECTION DEGREE TRUE 0 0 9 011050 STANDARD DEVIATION OF HORIZONTALWIND SPEED M/S 1 0 12 011051 STANDARD DEVIATION OF VERTICAL WIND SPEED M/S 1 0 8 011052 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 13 011053 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 011070 RUNWAY DESIGNATOR OF THE RUNWAY AFFECTED BY WIND SHEAR(INCLUING CCITTIA5 0 0 32 011071 TURBULENT VERTICAL MOMENTUM FLUX M**2/S**2 3 -128 14 011072 TURBULENT VERTICAL BUOYANCY FLUX KM/S 3 -128 11 011073 TURBULENT KENETIC ENERGY M**2/S**2 2 -1024 13 011074 DISSIPATION ENERGY M**2/S**2 2 -1024 10 011075 MEAN TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 011076 PEAK TURBULENCE INTENSITY (EDDY DISSIPATION RATE) m**(2/3)/S 2 0 8 011081 MODEL WIND DIRECTION AT 10 M DEGREE TRUE 2 0 16 011082 MODEL WIND SPEED AT 10 M M/S 2 0 14 011192 U - COMPONENT AT 10 M M/S 1 -4096 13 011193 V - COMPONENT AT 10 M M/S 1 -4096 13 011194 W - COMPONENT AT 10 M M/S 1 -4096 13 011195 STEADINESS OF WIND % 0 0 7 011196 FRICTION VELOCITY M/S 5 0 19 011201 HORIZONTAL LINE OF SIGHT COMPONENT M/S 1 -4096 13 011210 1D VAR WIND SPEED RETREIVED ERRO(S) M/S 2 0 12 011211 WIND SPEED INDEPENDENT ESTIMATE OF ERROR(S) M/S 2 0 12 011220 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 12 011221 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 011230 MAXIMUM MEAN WIND SPEED M/S 1 -4096 13 011231 MEAN WIND SPEED M/S 1 -4096 13 011232 MINIMUM MEAN WIND SPEED M/S 1 -4096 13 011233 HIGHEST GUST DURING THE 10 MINUTE PERIOD PRECEDING OBSERVATION M/S 1 -4096 13 012001 TEMPERATURE/DRY BULB TEMPERATURE K 1 0 12 012002 WET BULB TEMPERATURE K 1 0 12 012003 DEW POINT TEMPERATURE K 1 0 12 012004 DRY BULB TEMPERATURE AT 2M K 1 0 12 012005 WET BULB TEMPERATURE AT 2M K 1 0 12 012006 DEW POINT TEMPERATURE AT 2M K 1 0 12 012007 VIRTUAL TEMPERATURE K 1 0 12 012011 MAXIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 012012 MINIMUM TEMPERATURE,AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 012013 GROUND MINIMUM TEMPERATURE PAST 12 HOURS K 1 0 12 012014 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 1 0 12 012015 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 1 0 12 012016 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 1 0 12 012017 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 1 0 12 012030 SOIL TEMPERATURE K 1 0 12 012051 STANDARD DEVIATION TEMPERATURE K 1 0 10 012052 HIGHEST DAILY MEAN TEMPERATURE K 1 0 12 012053 LOWEST DAILY MEAN TEMPERATURE K 1 0 12 012061 SKIN TEMPERATURE K 1 0 12 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 012063 BRIGHTNESS TEMPERATURE K 1 0 12 012064 INSTRUMENT TEMPERATURE K 1 0 12 012065 STANDARD DEVIATION BRIGHTNESS TEMPERATURE K 1 0 12 012071 COLDEST CLUSTER TEMPERATURE K 1 0 12 012073 TEMPERATURE K 1 0 12 012075 SPECTRAL RADIANCE WM**(-3)SR**(-1) -3 0 16 012076 RADIANCE WM**(-2)SR**(-1) 3 0 16 012130 SOIL TEMPERATURE K 2 0 16 012163 BRIGHTNESS TEMPERATURE K 2 0 16 012164 INSTRUMENT TEMPERATURE K 2 0 16 012171 COLDEST CLUSTER TEMPERATURE K 2 0 16 012193 COLDEST CLUSTER TEMPERATURE K 1 0 12 012194 RADIANCE W/M**2*STER*M**(-1) 6 0 31 012195 SPECTRAL RADIANCE W/M**2*STER*M**(-1) 10 0 31 012196 RADIANCE W/M**2*STER 3 0 16 012197 MAXIMUM TEMPERATURE AT 2M, PAST 3 HOURS K 1 0 12 012198 MINIMUM TEMPERATURE AT 2M, PAST 3 HOURS K 1 0 12 012199 MAXIMUM TEMPERATURE AT 2M, PAST 6 HOURS K 1 0 12 012200 MINIMUM TEMPERATURE AT 2M, PAST 6 HOURS K 1 0 12 012211 SOIL TEMPERATURE LEVEL 1 ( STL1 GRIB) K 2 0 16 012212 SOIL TEMPERATURE LEVEL 2 ( STL2 GRIB) K 2 0 16 012213 SOIL TEMPERATURE LEVEL 3 ( STL3 GRIB) K 2 0 16 012214 SOIL TEMPERATURE LEVEL 4 ( STL4 GRIB) K 2 0 16 013001 SPECIFIC HUMIDITY KG/KG 5 0 14 013002 MIXING RATIO KG/KG 5 0 14 013003 RELATIVE HUMIDITY % 0 0 7 013004 VAPOUR PRESSURE PA -1 0 10 013005 VAPOUR DENSITY KG/M**3 3 0 7 013006 MIXING HEIGHT M -1 -40 16 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT KG/M**2 1 -1 14 013012 DEPTH OF FRESH SNOW M 2 -2 12 013013 TOTAL SNOW DEPTH M 2 -2 16 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGE RATE) KG/(M**2)S 4 0 12 013015 SNOWFALL (AVERAGE RATE) M/S 7 0 12 013016 PRECIPITABLE WATER KG/M**2 0 0 7 013019 TOTAL PRECIPITATION PAST 1 HOUR KG/M**2 1 -1 14 013020 TOTAL PRECIPITATION PAST 3 HOURS KG/M**2 1 -1 14 013021 TOTAL PRECIPITATION PAST 6 HOURS KG/M**2 1 -1 14 013022 TOTAL PRECIPITATION PAST 12 HOURS KG/M**2 1 -1 14 013023 TOTAL PRECIPITATION PAST 24 HOURS KG/M**2 1 -1 14 013031 EVAPOTRANSPIRATION KG/M**2 0 0 7 013032 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 8 013033 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 10 013038 SUPERADIABATIC INDICATOR CODE TABLE 13038 0 0 2 013039 TERRAIN TYPE (ICE/SNOW) CODE TABLE 13039 0 0 3 013041 PASQUILL-GILLFORD STABILITY CATEGORY CODE TABLE 13041 0 0 4 013042 PARCEL LIFTED INDEX (TO 500 hPa) K 0 -20 6 013043 BEST LIFTED INDEX (TO 500 hPa) K 0 -20 6 013051 FREQUENCY GROUP, PRECIPITATION CODE TABLE 13051 0 0 4 013052 HIGHEST DAILY AMOUNT OF PRECIPITATION KG/M**2 1 -1 14 013055 INTENSITY OF PRECIPITATION KG/M**2S 4 0 8 013058 SIZE OF PRECIPITATING ELEMENT M 4 0 7 013059 NUMBER OF FLASHES NUMERIC 0 0 7 013192 RELATIVE HUMIDITY AT 2 M % 0 0 8 013193 RELATIVE HUMIDITY % 0 0 8 013194 TOTAL COLUMN WATER KG/M**2 2 0 11 013195 RAIN RATE KG/M**2HOUR 0 0 5 013196 ANTECEDENT PRECIPITATION INDEX KG/M**2 0 0 7 013197 TOTAL COLUMN WATER VAPOUR KG/M**2 1 0 10 013198 RAIN FLAG CODE TABLE 13198 0 0 3 013199 SPECIFIC HUMIDITY AT 2 M KG/KG 5 0 14 013201 CLOUD LIQUID WATER KG/KG 7 0 14 013202 TYPE OF SURFACE CODE TABLE 13202 0 0 8 013203 1D VAR ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013204 SSMI INDEPENDENT ESTIMATE OF RAIN RATE KG/M**2*HOUR 2 0 12 013205 CLOUD LIQUID WATER PATH KG/M**2 4 0 14 013206 TOTAL PRECIPITATION ICE CONTENT KG/M**2 6 0 14 013207 TOTAL CLOUD LIQUID WATER KG/M**2 6 0 14 013208 SURFACE RAIN RATE ( INSTANTANEOUS ) KG/M**2*S 5 0 17 013209 RAIN POSSIBILITY NUMERIC 0 -256 9 013210 1D VAR CLOUD LIQUID WATER PATH RETRIEVED ERROR(S) KG/M**2 4 0 14 013211 TOTAL PRECIPITABLE WATER INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 2 0 11 013212 CLOUD LIQUID WATER PATH INDIPENDENT ESTIMATE OF ERROR(S) KG/M**2 4 0 14 013221 VOLUMETRIC SOIL WATER LAYER 1 ( SWVL1 GRIB) M**3/M**3 5 0 17 013222 VOLUMETRIC SOIL WATER LAYER 2 ( SWVL2 GRIB) M**3/M**3 5 0 17 013223 VOLUMETRIC SOIL WATER LAYER 3 ( SWVL3 GRIB) M**3/M**3 5 0 17 013224 VOLUMETRIC SOIL WATER LAYER 4 ( SWVL4 GRIB) M**3/M**3 5 0 17 013230 CONVECTIVE PRECIPITATION KG/M**2 1 -1 14 013231 LARGE SCALE PRECIPITATION KG/M**2 1 -1 14 013233 FRACTION OF TOTAL PRECIPITATION IN SOLID FORM (SNOW) M 4 0 18 013234 SNOW DEPTH (WATER EQUIVALENT SD GRIB) M 4 0 14 013240 AIR DENSITY KG/M**3 3 0 10 013241 CONVECTIVE AVAILABLE POTENTIAL ENERGY J/KG 1 0 17 014001 LONG-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014002 LONG-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014003 SHORT-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014004 SHORT-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014011 NET LONG-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014012 NET LONG-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014013 NET SHORT-WAVE RADIATION,INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 014014 NET SHORT-WAVE RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 014015 NET RADIATION INTEGRATED OVER 24HOURS J/M**2 -4 -16384 15 014016 NET RADIATION,INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 014017 INSTANTANEOUS LONG-WAVE RADIATION J/M**2 -3 -2048 12 014018 INSTANTANEOUS SHORT-WAVE RADIATION J/M**2 -3 -2048 12 014019 SURFACE ALBEDO % 0 0 7 014020 GLOBAL SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014021 GLOBAL RADIATION INTEGRATED OVERPERIOD SPECIFIED J/M**2 -4 0 15 014022 DIFFUSE SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014023 DIFFUSE SOLAR RADIATION INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 014024 DIRECT SOLAR RADIATION INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 014025 DIRECT SOLAR RADIATION INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 014026 ALBEDO AT THE TOP OF CLOUD % 0 0 7 014027 ALBEDO % 0 0 7 014031 TOTAL SUNSHINE MINUTE 0 0 11 014032 TOTAL SUNSHINE HOUR 0 0 10 014033 TOTAL SUNSHINE % 0 0 9 014034 SUNSHINE OVER PERIOD SPECIFIED MINUTE 0 0 11 014042 BIDIRECTIONAL REFLECTANCE % 0 0 7 014045 CHANNEL RADIANCE (W/m**2)*(1/sr)*cm 0 0 11 014200 SURFACE SOLAR RADIATION DOWNWARDS (SSRD GRIB) W/(M**2 )*S -2 0 24 015001 OZONE DOBSON 0 0 10 015002 AIR MASS (SLANT PATH AT 22 KM) NUMERIC 2 0 10 015003 MEASURED OZONE PARTIAL PRESSURE (SOUNDING) PA 5 0 12 015004 OZONE SOUNDING CORRECTION FACTOR (CF) NUMERIC 3 0 14 015005 OZONE p DOBSON 0 0 10 015011 LOG 10 OF INTEGRATED ELECTRON DENSITY LOG(1/M**2) 3 14000 13 015015 MAXIMUM IMAGE SPECTRAL COMPONENT BEFORE NORMALIZATION NUMERIC 0 0 31 015020 INTEGRATED OZONE DENSITY KG/M**2 8 0 21 015202 INTEGRATED ELECTRON DENSITY 1/M**2 3 13000 12 015231 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 0 15 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 19001 0 0 6 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 019003 WIND SPEED THRESHOLD M/S 0 0 8 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 019005 DIRECTION OF MOTION OF FEATURE DEGREE TRUE 0 0 9 019006 SPEED OF MOTION OF FEATURE M/S 2 0 14 019007 EFFECTIVE RADIUS OF FEATURE M -3 0 12 019008 VERTICAL EXTENT OF CIRCULATION CODE TABLE 19008 0 0 3 019009 EFFECTIVE RADIUS WITH RESPECT TOWIND SPEEDS ABOVE TRESHOLD M -3 0 12 020001 HORIZONTAL VISIBILITY M -1 0 13 020002 VERTICAL VISIBILITY M -1 0 7 020003 PRESENT WEATHER CODE TABLE 20003 0 0 9 020004 PAST WEATHER (1) CODE TABLE 20004 0 0 5 020005 PAST WEATHER (2) CODE TABLE 20005 0 0 5 020009 GENERAL WEATHER INDICATOR CODE TABLE 20009 0 0 4 020010 CLOUD COVER (TOTAL) % 0 0 7 020011 CLOUD AMOUNT CODE TABLE 20011 0 0 4 020012 CLOUD TYPE CODE TABLE 20012 0 0 6 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 020015 PRESSURE AT BASE OF CLOUD PA -1 0 14 020016 PRESSURE AT TOP OF CLOUD PA -1 0 14 020017 CLOUD TOP DESCRIPTION CODE TABLE 20017 0 0 4 020018 TENDENCY OF RUNWAY VISUAL RANGE CODE TABLE 20018 0 0 2 020019 SIGNIFICANT PRESENT OF FORECAST WEATHER CCITTIA5 0 0 72 020020 SIGNIFICANT RECENT WEATHER PHENOMENA CCITTIA5 0 0 32 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 020032 RATE OF ICE ACCRETION CODE TABLE 20032 0 0 3 020033 CAUSE OF ICE ACCRETION FLAG TABLE 20033 0 0 4 020034 SEA ICE CONCETRATION CODE TABLE 20034 0 0 5 020035 AMOUNT AND TYPE OF ICE CODE TABLE 20035 0 0 4 020036 ICE SITUATION CODE TABLE 20036 0 0 5 020037 ICE DEVELOPMENT CODE TABLE 20037 0 0 5 020038 BEARING OF ICE EDGE DEGREE TRUE 0 0 12 020039 ICE DISTANCE M -1 0 13 020041 AIRFRAME ICING CODE TABLE 20041 0 0 4 020051 AMOUNT OF LOW CLOUDS % 0 0 7 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 020062 STATE OF GROUND (WITH OR WITHOUTSNOW CODE TABLE 20062 0 0 5 020063 SPECIAL PHENOMENA CODE TABLE 20063 0 0 10 020081 CLOUD AMOUNT IN SEGMENT % 0 0 7 020082 AMOUNT SEGMENT CLOUD FREE % 0 0 7 020090 SPECIAL CLOUDS CODE TABLE 20090 0 0 4 020192 SPECIAL PHENOMENA CODE TABLE 20192 0 0 14 020193 CLOUD AMOUNT IN SEGMENT % 0 0 7 020194 AMOUNT OF SEGMENT CLOUD FREE % 0 0 7 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 020250 CALCULATED SURFACE TYPE CODE TABLE 20250 0 0 5 020251 ICE AGE CODE TABLE 20251 0 0 3 020252 ICE EDGE CODE TABLE 20252 0 0 3 020253 SURFACE TYPE CODE TABLE 20253 0 0 3 020254 ICE CONCENTRATION % 0 0 7 021001 HORIZONTAL REFLECTIVITY dB 0 -64 7 021002 VERTICAL REFLECTIVITY dB 0 -64 7 021003 DIFFERENTIAL REFLECTIVITY dB 1 -5 7 021005 LINEAR DEPOLARISATION RATIO dB 0 -65 6 021006 CIRCULAR DEPOLARIZATION RATIO dB 0 -65 6 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION M/S 0 -128 8 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION M/S 0 -128 8 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION(VZ) M/S 0 -128 8 021014 DOPPLER MEAN VELOCITY RADIAL M/S 1 -4096 13 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 0 8 021021 ECHO TOPS M -3 0 4 021030 SIGNAL TO NOISE RATIO dB 0 -32 8 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT KG/M**2 0 0 7 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 021041 BRIGHT-BAND HEIGHT M -2 0 8 021051 SIGNAL POWER ABOVE 1 mW dB 0 -256 8 021062 BACKSCATTER dB 2 -5000 13 021063 RADIOMETRIC RESOLUTION (NOISE VALUE) % 1 0 10 021064 CLUTTER NOISE ESTIMATE NUMERIC 0 0 8 021065 MISSING PACKET COUNTER NUMERIC 0 -127 8 021066 WAVE SCATTEROMETER PRODUCT CONFIDENCE FLAG TABLE 21066 0 0 12 021067 WIND PRODUCT CONFIDENCE DATA FLAG TABLE 21067 0 0 13 021068 RADAR ALTIMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21068 0 0 8 021069 SST PRODUCT CONFIDENCE DATA FLAG TABLE 21069 0 0 10 021070 SST PRODUCT CONFIDENCE DATA (SADIST-2) FLAG TABLE 21070 0 0 23 021071 PEAKINESS NUMERIC 0 0 16 021072 SATELLITE ALTIMETER CALIBRATION STATUS FLAG TABLE 21072 0 0 4 021073 SATELLITE ALTIMETER INSTRUMENT MODE FLAG TABLE 21073 0 0 9 021075 SPECTRAL INTENSITY NUMERIC 0 0 8 021076 REPRESENTATION OF INTENSITIES CODE TABLE 21076 0 0 3 021077 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 021078 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 021079 ALTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 021080 ALTITUDE CORRECTION (CALIBRATIONCONSTANT) M 3 0 11 021081 OPEN LOOP CORRECTION (HEIGHT-TIME LOOP) M 3 0 10 021082 OPEN LOOP CORRECTION (AUTO GAIN CONTROL) dB 3 -3000 14 021085 ATSR SEA SURFACE TEMPERATURE ACROSS-TRACK BAND NUMBER NUMERIC 0 0 4 021091 RADAR SIGNAL DOPPLER SPECTRUM 0TH MOMENT dB 0 -100 8 021092 RASS SIGNAL DOPPLER SPECTRUM 0TH MOMENT, REFERRING TO RASS SIGNA dB 0 -100 8 021101 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 021102 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 021103 TOTAL NUMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 021104 LIKELIHOOD COMPUTED FOR WIND SOLUTION NUMERIC 3 -30000 15 021105 NORMALIZED RADAR CROSS SECTION dB 2 -10000 14 021106 Kp VARIANCE COEFFICIENT (ALPHA) NUMERIC 3 0 14 021107 Kp VARIANCE COEFFICIENT (BETA) NUMERIC 8 0 16 021109 SEAWINDS WIND VECTOR CELL QUALITY FLAG FLAG TABLE 21109 0 0 17 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 021114 Kp VARIANCE COEFFICIENT (GAMMA) dB 3 -140000 18 021115 SEAWINDS SIGMA-0 QUALITY FLAG FLAG TABLE 21115 0 0 17 021116 SEAWINDS SIGMA-0 MODE FLAG FLAG TABLE 21116 0 0 17 021117 SIGMA-0 VARIANCE QUALITY CONTROL NUMERIC 2 0 16 021118 ATTENUATION CORRECTION ON SIGMA-0 dB 2 -10000 14 021119 WIND SCATTEROMETER GEOPHYSICAL MODEL FUNCTION CODE TABLE 21119 0 0 6 021120 SEAWINDS PROBABILITY OF RAIN NUMERIC 3 0 10 021121 SEAWINDS NOF RAIN INDEX NUMERIC 0 0 8 021122 ATTENUATION CORRECTION ON SIGMA-0 (FROM Tb) dB 2 -10000 14 021123 SEAWINDS NORMALIZED RADAR CROSS SECTION dB 2 -30000 15 021192 RADAR BACK SCATTER dB 2 -5000 13 021193 NOISE FIGURE % 0 0 7 021194 BACKGROUND NOISE LEVEL NUMERIC 0 0 8 021195 MISSING PACKET COUNTER NUMERIC 0 -127 8 021196 UWA PRODUCT CONFIDENCE FLAG TABLE 21196 0 0 12 021197 UWI PRODUCT CONFIDENCE FLAG TABLE 21197 0 0 12 021198 URA PRODUCT CONFIDENCE FLAG TABLE 21198 0 0 8 021199 UAT PRODUCT CONFIDENCE FLAG TABLE 21199 0 0 7 021200 MWI PRODUCT CONFIDENCE FLAG TABLE 21200 0 0 15 021201 PEAKINESS NUMERIC 0 0 16 021202 ALTIMETER CALIBRATION STATUS FLAG TABLE 21202 0 0 4 021203 ALTIMETER INSTRUMENT MODE FLAG TABLE 21203 0 0 9 021204 MULTI/SINGLE VIEW DIFFERENCE K 2 -512 10 021205 SPECTRAL INTENSITY NUMERIC 0 0 8 021206 REPRESENTATION OF INTENSITY CODE TABLE 21206 0 0 3 021207 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 021208 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 021209 LTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 021210 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 021211 OPEN LOOP CORRECTION (HTL) M 3 0 10 021212 OPEN LOOP CORRECTION (AGC) dB 3 -3000 14 021213 AMBIGUITY REMOVAL CONFIDENCE % 0 0 7 021214 UAT QUALITY SUMMARY CODE TABLE 21214 0 0 3 021215 UAT ACROSS-TRACK BAND NO. NUMERIC 0 0 4 021222 DOPPLER SPECTRUM 0 TH MOMENT (AMPLITUDE) dB 0 0 7 021225 PRESCAT PRODUCT CONFIDENCE FLAG TABLE 21225 0 0 6 021226 BACKSCATER DISTANCE NUMERIC 1 -4096 13 021230 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 021231 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 021232 TOTAL NMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 021233 NUMBER OF SIGMA-0 USABLE FOR WIND NUMERIC 0 0 5 021234 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 1 -10000 14 021235 WIND VECTOR CELL QUALITY FLAG FLAG TABLE 21235 0 0 3 021236 NUMBER OF FORE-BEAM SIGMA-0 NUMERIC 1 0 6 021237 NUMBER OF MID-BEAM V-POL SIGMA-0 NUMERIC 1 0 6 021238 NUMBER OF MID-BEAM H-POL SIGMA-0 NUMERIC 1 0 6 021239 NUMBER OF AFT-BEAM SIGMA-0 NUMERIC 1 0 6 021240 NORMALIZED RADAR CROSS SECTION NUMERIC 2 -10000 14 021241 Kp VARIANCE COEFFICIENT (ALPHA) NUMERIC 5 0 14 021242 Kp VARIANCE COEFFICIENT (BETHA) NUMERIC 6 0 16 021243 Kp VARIANCE COEFFICIENT (GAMMA) NUMERIC 6 0 16 021244 SIGMA-0 QUALITY FLAG FLAG TABLE 21244 0 0 15 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 9 022011 PERIOD OF WAVES S 0 0 6 022012 PERIOD OF WIND WAVES S 0 0 6 022013 PERIOD OF SWELL WAVES S 0 0 6 022021 HEIGHT OF WAVES M 1 0 10 022022 HEIGHT OF WIND WAVES M 1 0 10 022023 HEIGHT OF SWELL WAVES M 1 0 10 022025 STANDARD DEVIATION WAVE HEIGHT M 2 0 10 022026 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT M 2 0 10 022031 SPEED OF CURRENT M/S 2 0 13 022037 TIDAL ELEVATION WITH RESPECT TO NATIONAL LAND DATUM M 3 -10000 15 022038 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 3 -10000 15 022039 METEOROLOGICAL RESIDUAL TIDAL ELEVATION(SURGE OF OFFSET) M 3 -5000 12 022040 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OF OFFSET) M 3 -5000 14 022041 SEA-SURFACE TEMPERATURE(15-DAY RUNNING MEAN) K 1 0 12 022042 SEA/WATER TEMPERATURE K 1 0 12 022043 SEA/WATER TEMPERATURE K 2 0 15 022044 SOUND VELOCITY M/S 1 0 14 022050 STANDARD DEVIATION SEA SURFACE TEMPERATURE K 2 0 8 022061 STATE OF THE SEA CODE TABLE 22061 0 0 4 022062 SALINITY %. 2 0 14 022063 TOTAL WATER DEPTH M 0 0 14 022067 INSTRUMENT TYPE FOR WATER TEMPERATURE PROFILE MEASUREMENT CODE TABLE 22067 0 0 10 022068 WATER TEMPERATURE PROFILE RECORDER TYPES CODE TABLE 22068 0 0 7 022070 SIGNIFICANT WAVE HEIGHT M 2 0 13 022071 SPECTRAL PEAK WAVE PERIOD S 1 0 9 022072 SPECTRAL PEAK WAVE LENGTH M 0 0 13 022073 MAXIMUM WAVE LENGTH M 2 0 13 022074 AVERAGE WAVE PERIOD S 1 0 9 022075 AVERAGE WAVE LENGTH M 0 0 13 022076 DIRECTION FROM WHICH DOMINANT WAVES ARE COMING DEGREE TRUE 0 0 9 022077 DIRECTIONAL SPREAD OF DOMINANT WAVE DEGREE 0 0 9 022078 DURATION OF WAVE RECORD S 0 0 12 022079 LENGTH OF WAVE RECORD M 0 0 16 022080 WAVEBAND CENTRAL FREQUENCY Hz 3 0 10 022081 WAVEBAND CENTRAL WAVE NUMBER 1/M 5 0 13 022082 MAXIMUM NON-DIRECTIONAL SPECTRALWAVE DENSITY M**2S 2 0 20 022083 MAXIMUM NON-DIRECTIONAL SPECTRALWAVE NUMBER M**3 2 0 20 022084 BAND CONTAINING MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE DENSITY NUMERIC 0 0 7 022085 SPECTRAL WAVE DENSITY RATIO NUMERIC 0 0 7 022086 MEAN DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 022087 PRINCIPAL DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 022088 FIRST NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 022089 SECOND NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 022090 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S 2 0 20 022091 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**3 2 0 20 022092 DIRECTIONAL SPECTRAL ESTIMATE BYWAVE FREQUENCY M**2S/RAD 2 0 20 022093 DIRECTIONAL SPECTRAL ESTIMATE BYWAVE NUMBER M**4 2 0 20 022094 TOTAL NUMBER OF WAVE BANDS NUMERIC 0 0 7 022095 DIRECTIONAL SPREAD OF INDIVIDUALWAVES DEGREE 0 0 8 022096 SPECTRAL BAND WIDTH 1/S 3 0 4 022097 MEAN WAVELENGTH > 731 M OF IMAGE SPECTRUM AT LOW WAVE NUMBERS M 0 0 14 022098 WAVELENGTH SPREAD (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS M 0 0 14 022099 MEAN DIRECTION AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE TRUE 0 0 9 022100 DIRECTION SPREAD AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE 0 0 9 022101 TOTAL ENERGY (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS NUMERIC 0 0 31 022120 TIDE STATION AUTOMATED WATER LEVEL CHECK CODE TABLE 22120 0 0 5 022121 TIDE STATION MANUAL WATER LEVEL CHECK CODE TABLE 22121 0 0 5 022122 TIDE STATION AUTOMATED METEOROLOGICAL DATA CHECK CODE TABLE 22122 0 0 5 022123 TIDE STATION MANUAL METEOROLOGICAL DATA CHECK CODE TABLE 22123 0 0 5 022191 SPECTRAL DENSITY M**2*S/RAD 2 0 20 022192 SPECTRAL PERIOD S 2 0 13 022193 MEAN WAVENUMBER 1/M 5 0 15 022194 PEAK WAVENUMBER 1/M 5 0 15 022195 MEAN WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022196 PEAK WAVE PROPAGATION DIRECTION DEGREE 1 0 13 022197 DIRECTION SPREAD DEGREE 1 0 13 022198 VARIANCE SPECTRAL DENSITY M**2*S/RAD 4 0 18 022199 CORRELATION COEFF OF SIMULATED FG AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022200 CORRELATION COEFF OF SIMULATED BF AND OBSERVED SAR SPECTRUM NUMERIC 4 -10000 15 022201 CORRELATION COEFF OF OCEAN WAVE FG AND EXTRACTED WAVE SPECTRUM NUMERIC 4 -10000 15 022202 ERROR BETWEEN FIRST GUESS AND OBSERVED SAR NUMERIC 5 0 21 022203 ERROR BETWEEN SIMULATED AND OBSERVED SAR NUMERIC 5 0 21 022204 MEAN PERIOD OF WAVES SECOND 2 0 13 022205 SPECTRAL DENSITY M**2*S/RAD 4 0 25 022206 PEAK PERIOD OF WAVES SECOND 2 0 13 022207 MEAN WAVE PERIOD S 1 0 10 022208 PEAK PERIOD OF 1D SPECTRA S 1 0 10 022209 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 13 022210 MEAN SQUARE SLOPE OF WAVES NUMERIC 4 -10000 14 022211 COEFICIENT OF DRAG WITH WAVES NUMERIC 6 0 17 022243 STANDARD DEVIATION SIGNIFICANT WAVE HEIGHT M 2 0 10 023001 ACCIDENT EARLY NOTIFICATION-ARTICLE APPLICABLE CODE TABLE 23001 0 0 3 023002 ACTIVITY OR FACILITY INVOLVED ININCIDENT CODE TABLE 23002 0 0 5 023003 TYPE OF RELEASE CODE TABLE 23003 0 0 3 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 23004 0 0 3 023005 COUSE OF INCIDENT CODE TABLE 23005 0 0 2 023006 INCIDENT SITUATION CODE TABLE 23006 0 0 3 023007 CHARACTERISTICS OF RELEASE CODE TABLE 23007 0 0 3 023008 STATE OF CURRENT RELEASE CODE TABLE 23008 0 0 2 023009 STATE OF EXPECTED RELEASE CODE TABLE 23009 0 0 2 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 23016 0 0 2 023017 FLOW DISCHARGE OF MAJOR RECEPIENT M**3/S 6 0 20 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 23018 0 0 3 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 023024 MAIN TRANSPORT SPEED WATER M/S 2 0 13 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 23031 0 0 2 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 23032 0 0 2 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 024003 COMPOSITION OF RELEASE CODE TABLE 24003 0 0 5 024004 ELEMENT NAME CCITTIA5 0 0 16 024005 ISOTOPE MASS NUMERIC 0 0 9 024011 DOSE mSv 2 0 32 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME) mSv 2 0 32 024013 GAMMA DOSE IN AIR ALONG THE MAINTRANSPORT PATH(DEFINED LOCATION mSv 2 0 32 024021 AIR CONCENTRATION(OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA Bq/M**3 2 0 32 024022 CONCENTRATION IN PRECIPITATION ( OF NAMED ISOTOPE TYPE) Bq/L 2 0 32 025001 RANGE-GATE LENGTH M -1 0 6 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 025004 ECHO PROCESSING CODE TABLE 25004 0 0 2 025005 ECHO INTEGRATION CODE TABLE 25005 0 0 2 025006 Z TO R CONVERSION CODE TABLE 25006 0 0 3 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 025009 CALIBRATION METHOD FLAG TABLE 25009 0 0 4 025010 CLUTTER TREATMENT CODE TABLE 25010 0 0 4 025011 GROUND ACCULTATION CORRECTION(SCREENING) CODE TABLE 25011 0 0 2 025012 RANGE ATTENUATION CORRECTION CODE TABLE 25012 0 0 2 025013 BRIGHT-BAND CORRECTION FLAG TABLE 25013 0 0 2 025014 AZIMUTH CLUTTER CUT-OFF NUMERIC 0 0 12 025015 RADOM ATTENUATION CORRECTION FLAG TABLE 25015 0 0 2 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 25017 0 0 2 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 025020 MEAN SPEED ESTIMATION CODE TABLE 25020 0 0 2 025021 WIND COMPUTATION EHANCEMENT FLAG TABLE 25021 0 0 8 025030 RUNNING MEAN SEA-SURFACE TEMPERATURE USAGE CODE TABLE 25030 0 0 2 025032 WIND PROFILER MODE INFORMATION CODE TABLE 25032 0 0 2 025033 WIND PROFILER SUBMODE INFORMATION CODE TABLE 25033 0 0 2 025034 WIND PROFILER QUALITY CONTROL TEST RESULTS FLAG TABLE 25034 0 0 4 025040 CO2 WIND PRODUCT DERIVATION CODE TABLE 25040 0 0 4 025041 MOVING PLATFORM DIRECTION REPORTING METHOD CODE TABLE 25041 0 0 2 025042 MOVING PLATFORM SPEED REPORTING CODE TABLE 25042 0 0 2 025043 WAVE SAMPLING INTERVAL (TIME) S 4 0 15 025044 WAVE SAMPLING INTERVAL (SPACE) M 2 0 14 025045 HIRS CHANNEL COMBINATION FLAG TABLE 25045 0 0 21 025046 MSU CHANNEL COMBINATION FLAG TABLE 25046 0 0 5 025047 SSU CHANNEL COMBINATION FLAG TABLE 25047 0 0 4 025048 AMSU-A CHANNEL COMBINATION FLAG TABLE 25048 0 0 16 025049 AMSU-B CHANNEL COMBINATION FLAG TABLE 25049 0 0 6 025050 PRINCIPAL COMPONENT SCORE NUMERIC 4 -131072 18 025051 AVHRR CHANNEL COMBINATION FLAG TABLE 25051 0 0 7 025053 OBSERVATION QUALITY FLAG TABLE 25053 0 0 12 025060 SOFTWARE INDENTIFICATION NUMERIC 0 0 14 025070 MAJOR FRAME COUNT NUMERIC 0 0 4 025071 FRAME COUNT NUMERIC 0 0 5 025075 SATELLITE ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 025076 LOG_10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER) FOR ATOVS LOG (1/M) 8 0 30 025077 BANDWIDTH CORRECTION COEFFICIENT 1 for ATOVS NUMERIC 5 -100000 18 025078 BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS NUMERIC 5 0 17 025079 ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS W/M**2 4 0 24 025080 ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS M 10 0 14 025085 FRACTION OF CLEAR PIXELS IN HIRS FOV NUMERIC 0 0 7 025091 STRUCTURE CONSTANT OF THE REFRACTION INDEX (CN2) dB 3 -18192 13 025092 ACOUSTIC PROPAGATION VELOCITY M/S 2 28000 14 025193 ATTENUATION CORRECTION ON SIGMA0 dB 3 0 14 025194 MAJOR FRAME COUNT NUMERIC 0 0 4 025197 ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 025198 LOG (TEMP-RAD CENTRAL WAVE NUMBER) 1/M 8 0 30 025199 BANDWIDTH CORRECTION COEFFICIENT 1 NUMERIC 4 -10000 15 025200 BANDWIDTH CORRECTION COEFFICIENT 2 NUMERIC 5 0 17 025201 ALBEDO-RAD SOLAR FILTERED IRRADIANCE NUMERIC 4 0 24 025202 ALBEDO-RAD EQUIVALENT FILTER WIDTH NUMERIC 10 0 14 025203 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 25081 0 0 31 025204 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 25082 0 0 31 025205 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 25083 0 0 31 025206 FOV QUALITY FLAGS FOR ATOVS FLAG TABLE 25084 0 0 31 026001 PRINCIPAL TIME OF DAILY READING IN UTC OF MAXIMUM TEMPERATURE HOUR 1 0 12 026002 PRINCIPAL TIME OF DAILY READING IN UTC OF MINIMUM TEMPERATURE HOUR 1 0 12 026003 TIME DIFFERENCE MINUTE 0 -1440 12 026193 YEAR YEAR 0 0 12 026194 MONTH MONTH 0 0 4 026195 DAY DAY 0 0 6 026196 HOUR HOUR 0 0 5 026197 MINUTE MINUTE 0 0 6 026198 SECOND SECOND 0 0 6 026200 LOCATION WITHIN ASSIMILATION WINDOW IN TIME NUMERIC 6 0 20 026201 HOURS INCLUDED FLAG TABLE 26201 0 0 26 027001 LATITUDE(HIGH ACCURACY) DEGREE 5 -9000000 25 027002 LATITUDE(COARSE ACCURACY) DEGREE 2 -9000 15 027003 ALTERNATE LATITUDE DEGREE 2 -9000 15 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 027021 SATELLITE SUBLOCATION DIMENSION NUMERIC 0 0 16 027031 IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THE EARTH'S C M 2 -1073741824 31 027193 SOLAR AZIMUTH DEGREE TRUE 2 0 16 028001 LONGITUDE(HIGH ACCURACY) DEGREE 5 -18000000 26 028002 LONGITUDE(COARSE ACCURACY) DEGREE 2 -18000 16 028003 ALTERNATE LONGITUDE DEGREE 2 -18000 16 028031 IN DIRECTION OF 90 DEGREES EAST,DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 029001 PROJECTION TYPE CODE TABLE 29001 0 0 3 029002 CO-ORDINATE GRID TYPE CODE TABLE 29002 0 0 3 030001 PIXEL VALUE(4 BITS) NUMERIC 0 0 4 030002 PIXEL VALUE(8 BITS) NUMERIC 0 0 8 030004 PIXEL VALUE(16 BITS) NUMERIC 0 0 16 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 030031 PICTURE TYPE CODE TABLE 30031 0 0 4 030032 COMBINATION WITH OTHER DATA FLAG TABLE 30032 0 0 16 030193 POSITION NUMBER ALONG SCAN NUMERIC 0 0 8 031000 SHORT DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 1 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 31021 0 0 6 031031 DATA PRESENT INDICATOR FLAG TABLE 31031 0 0 1 031192 DATA PRESENT INDICATOR NUMERIC 0 0 1 033002 QUALITY INFORMATION TABLE CODE TABLE 33002 0 0 2 033003 QUALITY INFORMATION TABLE CODE TABLE 33003 0 0 3 033007 % CONFIDENCE % 0 0 7 033020 QUALITY CONTROL INDICATION OF FOLLOWING VALUE CODE TABLE 33020 0 0 3 033021 QUALITY OF FOLLOWING VALUE CODE TABLE 33021 0 0 2 033022 QUALITY OF BUOY SATELLITE TRANSMISSION CODE TABLE 33022 0 0 2 033023 QUALITY OF BUOY LOCATION CODE TABLE 33023 0 0 2 033024 STATION ELEVATION QUALITY MARK (FOR MOBILE STATION) CODE TABLE 33024 0 0 2 033025 ACARS INTERPOLATED VALUES CODE TABLE 33025 0 0 3 033026 MIXING RATIO QUALITY CODE TABLE 33026 0 0 6 033027 LOCATION QUALITY CLASS (RANGE OF RADIUS OF 66% CONFIDENCE CODE TABLE 33027 0 0 3 033030 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 33030 0 0 24 033031 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 33031 0 0 24 033032 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 33032 0 0 24 033033 FIELD OF VIEW QUALITY FLAGS FOR ATOVS FLAG TABLE 33033 0 0 24 033191 ECMWF WAM QC INDICATOR CODE TABLE 033191 0 0 2 033192 TEM1 CONFIDENCE % 0 0 7 033193 DATA QUALITY 3 BIT CODE CODE TABLE 33193 0 0 3 033194 DATA QUALITY 2 BIT CODE CODE TABLE 33194 0 0 2 033195 ECMWF SAR QC INDICATOR CODE TABLE 33195 0 0 5 033196 ECMWF WAM QC INDICATOR CODE TABLE 33196 0 0 2 033197 ECMWF SAR INVERSION QC INDICATOR CODE TABLE 33197 0 0 3 033198 MINIMUM COST NUMERIC 4 0 14 033199 1D VAR TOTAL PRECIPITABLE WATER RETRIEVED ERROR(S) KG/M**2 2 0 11 033200 ANALYSIS REPORT EVENTS FLAG TABLE 33200 0 0 31 033201 ANALYSIS REPORT STATUS EVENT FLAG TABLE 33201 0 0 13 033202 ANALYSIS DATUM EVENT FLAGS (1) FLAG TABLE 33202 0 0 31 033203 ANALYSIS DATUM EVENT FLAGS (2) FLAG TABLE 33203 0 0 11 033204 ANALYSIS DATUM STATUS FLAGS FLAG TABLE 33204 0 0 21 033205 VARIATIONAL ANALYSIS BLACK LIST FLAG CODE TABLE 33205 0 0 4 033206 VARIATIONAL ANALYSIS QUALITY CONTROL FLAG CODE TABLE 33206 0 0 4 033207 VARIATIONAL ANALYSIS DEPARTURE FLAG CODE TABLE 33207 0 0 4 033208 VARIATIONAL ANALYSIS FIRST QUESSCHECK FLAG CODE TABLE 33208 0 0 4 033209 VARIATIONAL ANALYSIS FINAL FLAG CODE TABLE 33209 0 0 4 033210 INCREMENTAL VARIATIONAL ANALYSISUPDATE NUMBER NUMERIC 0 0 7 033211 MINIMISATION SIMULATION NUMBER NUMERIC 0 0 10 033212 1D VAR ITERRATION NUMBER NUMERIC 0 0 10 033213 1D VAR RADIANCE COST NUMERIC 1 -1000 11 033214 1D VAR ERROR(S) FLAG TABLE 33214 0 0 11 033215 DIRECTIONAL SKILL NUMERIC 1 -4096 13 033216 1D VAR SURFACE TYPE QUALITY CONTROL CODE TABLE 33216 0 0 3 033217 1D VAR FAILURE INDICATOR CODE TABLE 33217 0 0 2 033218 1D VAR ESTIMATE OF SCATTERING NUMERIC 2 0 12 033219 SSMI INDIPENDENT SCATTERING INDEX NUMERIC 2 -50000 16 033220 VARIATIONAL ANALYSIS REPORT EVENTS (1) FLAG TABLE 33220 0 0 31 033221 VARIATIONAL ANALYSIS SYNOP EVENTS (2) FLAG TABLE 33221 0 0 31 033222 VARIATIONAL ANALYSIS AIREP EVENTS (2) FLAG TABLE 33222 0 0 31 033223 VARIATIONAL ANALYSIS SATOB EVENTS (2) FLAG TABLE 33223 0 0 31 033224 VARIATIONAL ANALYSIS DRIBU EVENTS (2) FLAG TABLE 33224 0 0 31 033225 VARIATIONAL ANALYSIS TEMP EVENTS (2) FLAG TABLE 33225 0 0 31 033226 VARIATIONAL ANALYSIS PILOT EVENTS (2) FLAG TABLE 33226 0 0 31 033227 VARIATIONAL ANALYSIS SATEM/TOVS EVENTS (2) FLAG TABLE 33227 0 0 31 033228 VARIATIONAL ANALYSIS PAOB EVENTS (2) FLAG TABLE 33228 0 0 31 033229 VARIATIONAL ANALYSIS SCATTEROMETER EVENTS (2) FLAG TABLE 33229 0 0 31 033230 VARIATIONAL ANALYSIS RAW RADIANCES EVENTS (2) FLAG TABLE 33230 0 0 31 033231 PRESAT SUMMARY FLAGS FLAG TABLE 33231 0 0 6 033232 REPORT BLACK LIST EVENTS FLAG TABLE 33232 0 0 31 033233 VARIATIONAL ANALYSIS REPORT STATUS FLAG TABLE 33233 0 0 31 033234 VARIATIONAL ANALYSIS DATUM STATUS FLAG TABLE 33234 0 0 31 033236 VARIATIONAL ANALYSIS DATUM EVENTS (1) FLAG TABLE 33236 0 0 31 033237 VARIATIONAL ANALYSIS SYNOP DATUMEVENTS (2) FLAG TABLE 33237 0 0 31 033238 VARIATIONAL ANALYSIS AIREP DATUMEVENTS (2) FLAG TABLE 33238 0 0 31 033239 VARIATIONAL ANALYSIS SATOB DATUMEVENTS (2) FLAG TABLE 33239 0 0 31 033240 VARIATIONAL ANALYSIS DRIBU DATUMEVENTS (2) FLAG TABLE 33240 0 0 31 033241 GROSS ERROR PROBABILITY NUMERIC 3 0 10 033242 GROSS ERROR INDICATOR CODE TABLE 33242 0 0 2 033243 VARIATIONAL ANALYSIS TEMP DATUM EVENTS (2) FLAG TABLE 33243 0 0 31 033244 VARIATIONAL ANALYSIS PILOT DATUMEVENTS (2) FLAG TABLE 33244 0 0 31 033245 VARIATIONAL ANALYSIS SATEM/TOVS DATUM EVENTS (2) FLAG TABLE 33245 0 0 31 033246 VARIATIONAL ANALYSIS PAOB DATUM EVENTS (2) FLAG TABLE 33246 0 0 31 033247 VARIATIONAL ANALYSIS SCATTEROMETER DATUM EVENTS (2) FLAG TABLE 33247 0 0 31 033248 VARIATIONAL ANALYSIS RAW RADIANCES DATUM EVENTS (2) FLAG TABLE 33248 0 0 31 033249 DATUM BLACK LIST EVENTS FLAG TABLE 33249 0 0 31 033250 PROBABILITY OF GROSS ERROR NUMERIC 6 0 20 033251 RANGE OF POSSIBLE VALUES NUMERIC 2 0 14 033252 MANUAL-AUTOMATIC QUALITY CONTROL CODE TABLE 33252 0 0 4 033253 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 033254 WIND CORRELATION METHOD FLAG TABLE 33254 0 0 20 049193 SAR INVERSION QC FLAGS FLAG TABLE 49193 0 0 15 049194 ALTIMETER WAVE HEIGHT QC FLAFS FLAG TABLE 49194 0 0 15 055003 DATA EXTRACTION INDICATOR FLAG TABLE 55003 0 0 8 062190 STATISTICS APPLICATION CODE TABLE 62190 0 0 8 062191 TYPE OF STATISTICS CODE TABLE 62191 0 0 8 063190 APPLICATION DERIVING SUBSTITUTE OR ALTERNATIVE VALUE CODE TABLE 63190 0 0 8 emoslib-000392+dfsg.1/bufrtables/Makefile0000755000175000017500000000442012127406245021252 0ustar amckinstryamckinstry# # Makefile for bufrtables # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # SOURCES.F= LINKS= B0000000000099010001.TXT \ D0000000000098011000.TXT \ D0000000000078011007.TXT \ B0000000000098011000.TXT \ B0000000000098010000.TXT \ B0000000000089011255.TXT \ B0000000000078011007.TXT \ D0000000000099010001.TXT \ D0000000000089012001.TXT \ D0000000000078011008.TXT \ D0000000000034011001.TXT \ B0000000000089012001.TXT \ B0000000000078011008.TXT \ B0000000000034011001.TXT \ B0000000000254010001.TXT \ D0000000000254010001.TXT \ B0000000000000007000.TXT \ D0000000000000007000.TXT \ B0000000000000008000.TXT \ D0000000000000008000.TXT \ B0000000000000009000.TXT \ D0000000000000009000.TXT \ B0000000000000010000.TXT \ D0000000000000010000.TXT \ B0000000000000011000.TXT \ D0000000000000011000.TXT \ B0000000000000012000.TXT \ D0000000000000012000.TXT \ B0000000000098007001.TXT \ D0000000000098007001.TXT \ B0000000000098008001.TXT \ D0000000000098008001.TXT \ B0000000000098009001.TXT \ D0000000000098009001.TXT \ B0000000000098010001.TXT \ D0000000000098010001.TXT \ B0000000000098011001.TXT \ D0000000000098011001.TXT \ B0000000000098012001.TXT \ D0000000000098012001.TXT # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.c) # # all: links bufr2txt_tables bufr_split_tables txt2bufr_tables links: ./links.sh bufr2txt_tables: bufr2txt_tables.f $(FC) $(FFLAGS) -o bufr2txt_tables bufr2txt_tables.f $(LIBRARY) bufr_split_tables: bufr_split_tables.f $(FC) $(FFLAGS) -o bufr_split_tables bufr_split_tables.f $(LIBRARY) txt2bufr_tables: txt2bufr_tables.f $(FC) $(FFLAGS) -o txt2bufr_tables txt2bufr_tables.f $(LIBRARY) clean: \rm -f $(LINKS) *.o \rm -f bufr2txt_tables; \rm -f bufr_split_tables; \rm -f txt2bufr_tables emoslib-000392+dfsg.1/bufrtables/C0000000000000014000.TXT0000755000175000017500000103137012127406245022227 0ustar amckinstryamckinstry001003 0008 0000 01 ANTARCTICA 0001 01 REGION I 0002 01 REGION II 0003 01 REGION III 0004 01 REGION IV 0005 01 REGION V 0006 01 REGION VI 0007 01 MISSING VALUE 001007 0132 0001 01 ERS 1 0002 01 ERS 2 0003 01 METOP-1 0004 01 METOP-2 0005 01 METOP-3 0020 01 SPOT1 0021 01 SPOT2 0022 01 SPOT3 0023 01 SPOT4 0040 01 OERSTED 0041 01 CHAMP 0042 01 TERRASAR-X 0050 01 METEOSAT 3 0051 01 METEOSAT 4 0052 01 METEOSAT 5 0053 01 METEOSAT 6 0054 01 METEOSAT 7 0055 01 METEOSAT 8 0056 01 METEOSAT 9 0057 01 METEOSAT 10 0058 01 METEOSAT 1 0059 01 METEOSAT 2 0060 01 ENVISAT 0070 01 METEOSAT 11 0120 01 ADEOS 0121 01 ADEOS II 0150 01 GMS 3 0151 01 GMS 4 0152 01 GMS 5 0171 01 MTSAT-1R 0172 01 MTSAT-2 0200 01 NOAA 8 0201 01 NOAA 9 0202 01 NOAA 10 0203 01 NOAA 11 0204 01 NOAA 12 0205 01 NOAA 14 0206 01 NOAA 15 0207 01 NOAA 16 0208 01 NOAA 17 0209 01 NOAA 18 0220 01 LANDSAT 5 0221 01 LANDSAT 4 0222 01 LANDSAT 7 0240 01 DMSP 7 0241 01 DMSP 8 0242 01 DMSP 9 0243 01 DMSP 10 0244 01 DMSP 11 0245 01 DMSP 12 0246 01 DMSP 13 0247 01 DMSP 14 0248 01 DMSP 15 0249 01 DMSP 16 0250 01 GOES 6 0251 01 GOES 7 0252 01 GOES 8 0253 01 GOES 9 0254 01 GOES 10 0255 01 GOES 11 0256 01 GOES 12 0257 01 GOES 13 0258 01 GOES 14 0259 01 GOES 15 0260 01 JASON-1 0261 01 JASON-2 0281 01 QUIKSCAT 0282 01 TRMM 0283 01 CORIOLIS 0285 01 DMSP17 0310 01 GOMS 1 0311 01 GOMS 2 0320 01 METEOR 2-21 0321 01 METEOR 3-5 0322 01 METEOR 3M-1 0323 01 METEOR 3M-2 0341 01 RESURS 01-4 0430 01 INSAT 1B 0431 01 INSAT 1C 0432 01 INSAT 1D 0450 01 INSAT 2A 0451 01 INSAT 2B 0452 01 INSAT 2E 0470 01 INSAT 3A 0471 01 INSAT 3D 0472 01 INSAT 3E 0500 01 FY-1C 0501 01 FY-1D 0510 01 FY-2 0512 01 FY-2B 0513 01 FY-2C 0514 01 FY-2D 0700 01 TIROS M (ITOS 1) 0701 01 NOAA 1 0702 01 NOAA 2 0703 01 NOAA 3 0704 01 NOAA 4 0705 01 NOAA 5 0706 01 NOAA 6 0707 01 NOAA 7 0708 01 TIROS-N 0710 01 GOES (SMS 1) 0711 01 GOES (SMS 2) 0720 01 TOPEX 0721 01 GFO (GEOSAT FOLLOW ON) 0722 01 GRACE A 0723 01 GRACE B 0731 01 GOES 1 0732 01 GOES 2 0733 01 GOES 3 0734 01 GOES 4 0735 01 GOES 5 0740 01 COSMIC-1 0741 01 COSMIC-2 0742 01 COSMIC-3 0743 01 COSMIC-4 0744 01 COSMIC-5 0745 01 COSMIC-6 0763 01 NIMBUS 3 0764 01 NIMBUS 4 0765 01 NIMBUS 5 0766 01 NIMBUS 6 0767 01 NIMBUS 7 0780 01 ERBS 0781 01 UARS 0782 01 EARTH PROBE 0783 01 TERRA 0784 01 AQUA 0785 01 AURA 0800 01 SUNSAT 0820 01 SAC-C 1023 01 MISSIN VALUE 001031 0218 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001033 0218 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 001035 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 001090 0005 0000 01 LAF (LAGGED-AVERAGE FORECASTING) 0001 01 BREEDING 0002 01 SINGULAR VECTOR 0003 01 MULTIPLE ANALYSIS CYCLE 0255 01 MISSING VALUE 001092 0005 0000 01 UNPERTURBED HIGH-RESOLUTION CONTROL FORECAST 0001 01 UNPERTURBED LOW-RESOLUTION CONTROL FORECAST 0002 01 NEGATIVELY PERTURBED FORECAST 0003 01 POSITIVELY PERTURBED FORECAST 0255 01 MISSING VALUE 002001 0004 0000 01 AUTOMATIC STATION 0001 01 MANNED STATION 0002 01 HYBRID, BOTH MANNED AND AUTOMATIC 0003 01 MISSING VALUE 002002 0004 0000 01 MEASURED IN M S-1 UNLESS OTHERWISE INDICATED 0001 01 CERTIFIED INSTRUMENTS 0002 01 ORIGINALY MEASURED IN KNOTS 0003 01 ORIGINALY MEASURED IN KM/H 002003 0012 0000 01 PRESSURE INSTRUMENT ASSOCIATED WITH WIND-MEASURING EQUIPMENT 0001 01 OPTICAL THEODOLITE 0002 01 RADIO THEODOLITE 0003 01 RADAR 0004 01 VLF-OMEGA 0005 01 LORAN C 0006 01 WIND PROFILER 0007 01 SATELLITE NAVIGATION 0008 01 RADIO-ACOUSTIC SOUNDING SYSTEM (RASS) 0009 01 SODAR 0014 02 PRESSURE INSTRUMENT ASSOCIATED WITH WIND MEASUREMENT EQUIPME NT BUT PRESSURE ELEMENT FAILED DURING ASCENT 0015 01 MISSING VALUE 002004 0011 0000 01 USA OPEN PAN EVAPORIMETER (WITHOUT COVER) 0001 01 USA OPEN PAN EVAPORIMETER (MESH COVERED) 0002 01 GGI-300 EVAPORIMETER (SUNKEN) 0003 01 20 M**2 TANK 0004 01 OTHERS 0005 01 RICE 0006 01 WHEAT 0007 01 MAIZE 0008 01 SORGHUM 0009 01 OTHER CROPS 0015 01 MISSING VALUE 002011 0054 0000 01 RESERVED 0001 01 RESERVED 0002 01 NO RADIOSONDE-PASSIVE TARGET(E.G.REFLECTOR) 0003 01 NO RADIOSONDE-ACTIVE TARGET(E.G.TRANSPONDER) 0004 01 NO RADIOSONDE-PASSIVE TEMPERATURE-HUMIDITY PROFILER 0005 01 NO RADIOSONDE-ACTIVE TEMPERATURE-HUMIDITY PROFILER 0006 01 NO RADIOSONDE-RADIO ACOUSTIC SOUNDER 0009 01 NO RADIOSONDE-SYSTEM UNKNOWN OR NOT SPECIFIED 0010 01 RS VIZ TYPE A (USA) 0011 01 RS VIZ TYPE B (USA) 0012 01 RS SDC (SPACE DATA CORPORATION-USA) 0013 01 ASTOR (NO LONGER MADE-AUSTRALIA) 0014 01 VIZ MARK I MICROSONDE(USA) 0015 01 EEC COMPANY TYPE 23 (USA) 0016 01 ELIN (AUSTRIA) 0017 01 GRAW G. (GERMANY) 0019 01 GRAW M60 (GERMANY) 0020 01 INDIAN MET SERVICE MK3 (INDIA) 0021 01 VIZ/JIN YANG MARK I MICROSONDE(SOUTH KOREA) 0022 01 MEISEI RS2-80 (JAPAN) 0023 01 MESURAL FMO 1950A (FRANCE) 0024 01 MESURAL FMO 19455A (FRANCE) 0025 01 MESURAL MH73A (FRANCE) 0026 01 METEOLABOR BASORA (SWITZERLAND) 0027 01 AVK-MRZ (USSR) 0028 01 METEORIT MARZ2-1 (USSR) 0029 01 METEIRIT MARZ2-2 (USSR) 0030 01 OKI RS2-80 (JAPAN) 0031 01 VIZ/VALCOM TYPE A PRESSURE-COMMUTATED(CANADA) 0032 01 SHANGAI RADIO (CHINA) 0033 01 UK MET OFFICE MK3( UK) 0034 01 VINOHRADY(CZECHOSLOVAKIA) 0035 01 VAISALA RS18 (FINLAND) 0036 01 VAISALA RS21 (FINLAND) 0037 01 VAISALA RS80 (FINLAND) 0038 01 VIZ LOCATE (LORAN-C)(USA) 0039 01 SPRENGER E076 (GERMANY) 0040 01 SPRENGER E084 (GERMANY) 0041 01 SPRENGER E085 (GERMANY) 0042 01 SPRENGER E086 (GERMANY) 0043 01 AIR IS -4A-1680 (UK) 0044 01 AIR IS -4A-1680 X (UK) 0045 01 RS MSS(USA) 0046 01 AIR IS -4A-403(USA) 0047 01 MEISLEI RS2-91(JAPAN) 0048 01 VALCOM(CANADA) 0049 01 VIZ MARK II(USA) 0060 01 VAISALA RS80/MICROCORA (FINLAND) 0061 01 VAISALA RS80/DIGCORA OR MARWIN (FINLAND) 0062 01 VAISALA RS80/PCCORA (FINLAND) 0063 01 VAISALA RS80/STAR (FINLAND) 0064 03 ORBITAL,SCIENCE CORPORATION,SPACE DATA DIVISION,TRANSPONDER RADIOSONDE,TYPE 909-11-XX,WHERE XX CORRECPOND TO THE MODEL OF THE INSTRUMENT 0065 01 VIZ TRANSPONDER RADIOSONDE,MODEL NUMBER 1499-520(USA) 0255 01 MISSING VALUE 002012 0001 0000 01 TO BE DEVELOPED 002013 0009 0000 01 NO CORRECTION 0001 01 CIMO SOLAR CORRECTED AND CIMO INFRARED CORRECTED 0002 01 CIMO SOLAR CORRECTED AND IFRARED CORRECTED 0003 01 CIMO SOLAR CORRECTED ONLY 0004 02 SOLAR AND INFRARED CORRECTED AUTOMATICALLY BY RADIOSONDE SY STEM 0005 01 SOLAR CORRECTED AUTOMATICALLY BY RADIOSONDE SYSTEM 0006 01 SOLAR AND INFRARED CORRECTED AS SPECIFIED BY COUNTRY 0007 01 SOLAR CORRECTED AS SPECIFIED BY COUNTRY 0015 01 MISSING VALUE 002014 0050 0000 01 NO WINDFINDING 0001 01 AUTOMATIC WITH AUXILIARY OPTICAL DIRECTION FINDING 0002 01 AUTOMATIC WITH AUXILIARY RADIO DIRECTION FINDING 0003 01 AUTOMATIC WITH AUXILIARY RANGING 0004 01 NOT USED 0005 01 AUTOMATIC WITH MULTIPLE VLF-OMEGA SIGNALS 0006 01 AUTOMATIC CROSS CHAIN LORAN-C 0007 01 AUTOMATIC WITH AUXILIARY WIND PROFILER 0008 01 AUTOMATIC SATELLITE NAVIGATION 0019 01 TRACKING TECHNIQUE NOT SPECIFIED 0020 01 VESSEL STOPPED 0021 01 VESSEL DIVERTED FROM ORIGINAL DESTINATION 0022 01 VESSEL'S ARRIVAL DELAYED 0023 01 CONTAINER DAMAGED 0024 01 POWER FAILURE TO CONTAINER 0029 01 OTHER PROBLEMS 0030 01 MAJOR POWER PROBLEMS 0031 01 UPS INOPERATIVE 0032 01 RECEIVER HARDWARE PROBLEMS 0033 01 RECEIVER SOFTWARE PROBLEMS 0034 01 PROCESSOR HARDWARE PROBLEMS 0035 01 PROCESSOR SOFTWARE PROBLEMS 0036 01 NAVAID SYSTEM DAMAGED 0037 01 SHORTAGE OF LIFTING GAS 0039 01 OTHER PROBLEMS 0040 01 MECHANICAL DEFECT 0041 01 MATERIAL DEFECT (HAND LAUNCHER) 0042 01 POWER FAILURE 0043 01 CONTROL FAILURE 0044 01 PNEUMATIC/HYDRAULIC FAILURE 0045 01 OTHER PROBLEMS 0046 01 COMPRESSOR PROBLEMS 0047 01 BALLOON PROBLEMS 0048 01 BALLOON RELEASE PROBLEMS 0049 01 LAUNCHER DAMAGED 0050 01 R/S RECEIVER ANTENNA DEFECT 0051 01 NAVAID ANTENNA DEFECT 0052 01 R/S RECEIVER CABLING (ANTENNA DEFECT) 0053 01 NAVAID ANTENNA CABLING DEFECT 0059 01 OTHER PROBLEMS 0060 01 ASAP COMMUNICATIONS DEFECT 0061 01 COMMUNICATIONS FACILITY REJECTED DATA 0062 01 NO POWER AT TRANSMITTINGANTENN 0063 01 ANTENNA CABLE BROKEN 0064 01 ANTENNA CABLE DEFECT 0065 01 MESSAGE TRANSMITTED POWER BELOW NORMAL 0069 01 OTHER PROBLEMS 0070 01 ALL SYSTEMS IN NORMAL OPERATION 0099 01 STATUS OF SYSTEM AND ITS COMPONENTS NOT SPECIFIED 0127 01 MISSING VALUE 002015 0006 0001 01 PRESSURE ONLY RADIOSONDE 0002 01 PRESSURE ONLY RADIOSONDE PLUS TRANSPONDER 0003 01 PRESSURE ONLY RADIOSONDE PLUS RADAR REFLECTOR 0004 01 NO PRESSURE RADIOSONDE PLUS TRANSPONDER 0005 01 NO PRESSURE RADIOSONDE PLUS RADAR REFLECTOR 0015 01 MISSING VALUE 002016 0004 0001 01 TRAIN REGULATOR 0002 01 LIGHT UNIT 0003 01 PARACHUTE 0004 01 ROOFTOP RELEASE 002019 0296 0010 02 BNSC RADIOMETER AATSR ADVANCED ALONG TRACK SCANNIN G RADIOMETER 0011 02 BNSC RADIOMETER ATSR ALONG TRACK SCANNING RADIOME TER 0012 02 BNSC RADIOMETER ATSR-2 ALONG TRACK SCANNING RADIOME TER -2 0013 01 BNSC RADIOMETER MWR MICROWAVE RADIOMETER 0030 01 CNES COMMUNICATIONS ARGOS 0040 01 CNES LIDAR LASER REFLECTORS 0041 02 CNES LIDAR DORIS DOPPLER ORBITOGRAPHY AND RADIO-POSIT IONING INTEGRATED BY SATELLITE 0042 02 CNES LIDAR DORIS-NG DOPPLER ORBITOGRAPHY AND RAD IO-POSITIONING INTEGRATED BY SATELLITE-NG 0047 03 CNES RADAR ALTIMETERS POSEIDON-1 (SSALT-1) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (S INGLE FREQUENCY SOLID STATE RADAR ALTIMETER) 0048 03 CNES RADAR ALTIMETERS POSEIDON-2 (SSALT-2) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (D UAL FREQUENCY SOLID STATE RADAR ALTIMETER) 0050 01 CNES IMAGER RADIOMETER ATSR/M ATSR/M 0051 01 CNES HIGH RESOLUTION OPTICAL IMAGERS HRG 0052 01 CNES RADIOMETER HRV HIGH RESOLUTION VISIBLE 0053 02 CNES RADIOMETER HRVIR HIGH RESOLUTION VISIBLE AND INFRA-RED 0054 02 CNES RADIOMETER SCARAB/MV2 SCANNER FOR EARTH'S RADIATION BUDGET 0055 01 CNES RADIOMETER POLDER POLDER 0060 01 CNES SPECTROMETER VEGETATION VEGETATION 0061 01 CNES SPECTROMETER WINDII WINDII 0080 01 CSA COMMUNICATIONS RADARSAT DTT 0081 01 CSA COMMUNICATIONS RADARSAT TTC 0085 02 CSA RADAR SAR (CSA) SYNTHETIC APERTURE RADAR (CS A) 0090 02 CSA RADIOMETER MOPITT MEASUREMENTS OF POLLUTION IN THE TROPOSPHERE 0091 02 CSA CHEMISTRY INSTRUMENTS OSIRIS OPTICAL SPECTROGRAPH AND INFRA-RED IMAGING SYSTEM 0097 01 CSIRO RADIOMETER PANCHROMATIC IMAGER 0098 02 CRCSS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPS RECEIVER 0102 02 DLR RADIOMETER CHAMP GPS SOUNDER GPS TURBORO GUE SPACE RECEIVER (TRSR) 0103 01 UNKNOWN 0116 03 DLR MAGNETOMETER IGOR CHAMP GRAVITY PACKAGE (ACCELEROMETE R+GPS) INTEGRATED GPS AND OCCULTATION RECEIVER STAR AC CELEROMETER 0117 03 DLR MAGNETOMETER CHAMP MAGNETOMETRY PACKAGE (1 SCALAR +2 VECTOR MAGNETOMETER) OVERHAUSER MAGNETOMETER (OVM) AN D FLUXGATE MAGNETOMETER (FGM) 0120 02 ESA COMMUNICATIONS ENVISAT COMMS COMMUNICATIONS PACKA GE ON ENVISAT 0121 02 ESA COMMUNICATIONS ERS COMMS COMMUNICATION PACKAG E FOR ERS 0130 01 ESA LIDARS ALADIN ATMOSPHERIC LASER DOPPLER INSTRUMENT 0131 01 ESA LIDARS ATLID ATMOSPHERIC LIDAR 0140 02 ESA RADAR AMI/SAR/IMAGE ACTIVE MICROWAVE INSTRUMENTA TION. IMAGE MODE 0141 02 ESA RADAR AMI/SAR/WAVE ACTIVE MICROWAVE INSTRUMENTA TION. WAVE MODE 0142 02 ESA RADAR AMI/SCATTEROMETER ACTIVE MICROWAVE INS TRUMENTATION. WIND MODE 0143 01 ESA RADAR ASAR ASAR 0144 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (IMAGE MODE) 0145 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (WAVE MODE) 0146 01 ESA CLOUD PROFILE AND RAIN RADARS CPR CLOUD RADAR 0147 01 ESA RADAR RA-2/MWR RADAR ALTIMETER - 2 0148 01 ESA RADAR RA/MWR RADAR ALTIMETER 0150 01 ESA SCATTEROMETERS SCATTEROMETER SCATTEROMETER 0161 02 ESA RADIOMETER MIPAS MICHELSON INTERFEROMETRIC PA SSIVE ATMOSPHERE SOUNDER 0162 02 ESA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E MWR-2 MICROWAVE RADIOMETER-2 0163 03 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS SOPRANO SUB- MILIMETRE OBSERVATION OF PROCESSES IN THE ABSORPTION NOTEWOR THY FOR OZONE 0170 02 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS GOME I GLOB AL OZONE MONITORING EXPERIMENT 0172 02 ESA SPECTROMETER GOMOS GLOBAL OZONE MONITORING BY O CCULTATION OF STARS 0174 02 ESA SPECTROMETER MERIS MEDIUM RESOLUTION IMAGING SP ECTROMETER 0175 02 ESA SPECTROMETER SCIAMACHY SCANNING IMAGING ABS ORPTION SPECTROMETER FOR ATMOSPHERIC CARTOGRAPHY 0181 02 EUMETSAT COMMUNICATIONS METEOSAT COMMS COMMUNICATIO NS PACKAGE FOR METEOSAT 0182 02 EUMETSAT COMMUNICATIONS MSG COMMS COMMUNICATIO NS PACKAGE FOR MSG 0190 02 ESA/ EUMETSAT SCATTEROMETERS ASCAT ADVANCED SCATTE ROMETER 0200 02 EUMETSAT RADIOMETER GERB GEOSTATIONARY EARTH RADIATION BUDGET 0202 02 ESA/ EUMETSAT RADIOMETER GRAS GNSS RECEIVER F OR ATMOSPHERIC SOUNDING 0203 02 EUMETSAT RADIOMETER MHS MICROWAVE HUMIDITY S OUNDER 0205 02 EUMETSAT RADIOMETER MVIRI METEOSAT VISIBLE AND INFRA-RED IMAGER 0207 02 EUMETSAT RADIOMETER SEVIRI SPINNING ENHANCED VI SIBLE AND INFRARED IMAGER 0208 02 EUMETSAT IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRI VIRI 0220 02 ESA/ EUMETSAT SPECTROMETER GOME-2 GLOBAL OZONE MO NITORING EXPERIMENT - 2 0221 03 CNES/ EUMETSAT ATMOSPHERIC TEMPERATURE AND HUMIDITY S OUNDERS IASI INFRA-RED ATMOSPHERIC SOUNDING INTERFEROME TER 0240 02 CAST COMMUNICATIONS DCP DATA COLLECTION PLATFORM TRA NSPONDER 0245 01 CAST RADIOMETER CCD HIGH RESOLUTION CCD CAMERA 0246 02 INPE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS HSB HUMIDITY SOUNDER/BRAZIL 0248 02 INPE IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) OBA OBSERVADOR BRASILEIRO DA AMAZONIA 0250 01 CAST RADIOMETER WFI WIDE FIELD IMAGER 0255 02 CAST SPECTROMETER IRMSS INFRA RED MULTI SPECTRAL SCA NNER 0260 01 ISRO PRECISION ORBIT BSS & FSS TRANSPONDERS 0261 01 ISRO PRECISION ORBIT DRT-S&R 0262 02 ISRO COMMUNICATIONS INSAT COMMS COMMUNICATIONS PACKA GE FOR INSAT 0268 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS HR-PAN HIGH RESOLUT ION PANCHROMATIC CAMERA 0269 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MSMR MULTIFREQUENCY SCANNING MICROWAVE RADIOMETER 0270 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VHRR VERY HIGH RESOLUTION RADIOMETER 0271 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WIFS WIDE FIELD SENSOR 0275 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS AWIFS ADVANCED WID E FIELD SENSOR 0276 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-I LINEAR IMAGI NG SELF SCANNER - I 0277 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-II LINEAR IMAGI NG SELF SCANNER - II 0278 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-III LINE AR IMAGING SELF SCANNER - III 0279 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-IV LINEAR IMAGI NG SELF SCANNER - IV 0284 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS PAN PANCHROMATIC SENSOR 0285 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MOS MODULAR OPTO-ELECTRONIC SCANNER 0286 02 ISRO OCEAN COLOUR INSTRUMENTS OCM OCEAN COLOUR MONITOR 0290 02 JMA COMMUNICATIONS MTSAT COMMS COMMUNICATIONS PACKA GE FOR MTSAT 0294 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT -1R IMAGER/MTSAT 0295 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT IMAGER/MTSAT 0296 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS VISSR (GMS4) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS4) 0300 01 NASA LIDARS GLAS GEOSCIENCE LASER ALTIMETER SYSTEM 0301 01 NASA PRECISION ORBIT LRA LASER RETROREFLECTOR ARRAY 0302 01 NASA LIDARS MBLA MULTI BEAM LASER ALTIMETER 0309 02 NASA CLOUD PROFILE AND RAIN RADARS CPR (CLOUDSAT) CLOU D PROFILING RADAR 0312 01 NASA RADAR NSCAT NASA SCATTEROMETER 0313 01 NASA RADAR SEAWINDS ADEOS II - NASA SCATTEROMETER 0330 02 NASA EARTH RADIATION BUDGET RADIOMETER ACRIM ACTI VE CAVITY RADIOMETER IRRADIANCE MONITOR 0334 02 NASA TOTAL AND PROFILE OZONE BUV BACKSCATTER ULTRAVIO LET INSTRUMENT 0336 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ALI ADVANCED LAN D IMAGER 0347 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ASTER ADVANCED SPA CEBORNE THERMAL EMISSION AND REFLECTION RADIOMETER 0348 02 NASA EARTH RADIATION BUDGET RADIOMETER CERES-2 CLOU D AND THE EARTH'S RADIANT ENERGY SYSTEM 0351 02 CONAE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPSD R GPS DEMONSTRATION RECEIVER 0353 02 NASA TOTAL AND PROFILE OZONE HIRDLS HIGH RESOLUTION DYNA MICS LIMB SOUNDER 0354 02 NASA TOTAL AND PROFILE OZONE HRDI HIGH RESOLUTION DOPP LER IMAGER 0356 01 NASA RADIOMETER LIS LIGHTNING IMAGING SENSOR 0358 02 NASA MAGNETIC FIELD, AUROAL IMAGERYSCINTILLATION BOUNDARY PEM PARTICLE ENVIRONMENT MONITOR 0359 02 NASA OCEAN COLOUR INSTRUMENTS SEAWIFS SEA-VIEWING WIDE FIELD-OF-VIEW SENSOR 0360 02 NASA EARTH RADIATION BUDGET RADIOMETER SUSIM (UARS) SOLAR ULTRAVIOLET IRRADIANCE MONITOR 0363 02 NASA TOTAL AND PROFILE OZONE SBUV/1 SOLAR BACKSCATTER UL TRAVIOLET 1 INSTRUMENT 0365 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) TMI TRMM MICROWAVE IMAGER 0366 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) JMR JASON-1 MICROWAVE RADIOMETER 0369 02 NASA TOTAL AND PROFILE OZONE LIMS LIMB INFRARED MONITO R OF THE STRATOSPHERE 0370 02 NASA TOTAL AND PROFILE OZONE LRIR LIMB RADIANCE INVERS ION RADIOMETER INSTRUMENT 0371 02 NASA TOTAL AND PROFILE OZONE EPIC EARTH POLYCHROMATIC IMAGING CAMERA 0372 02 NASA EARTH RADIATION BUDGET RADIOMETER NISTAR NIST ADVANCED RADIOMETER 0373 02 NASA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y PLASMA-MAG 0374 01 NASA OTHER XPS XUV PHOTOMETER SYSTEM 0375 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRS VISIBLE INFRA-RED SCANNER 0376 03 CNES MULTIPLE DIRECTION/POLARISATION RADIOMETERS POLD ER II POLARIZATION AND DIRECTIONALITY OF THE EARTH'S R EFLECTANCE - II 0377 02 NASA EARTH RADIATION BUDGET RADIOMETER TIM TOTA L IRRADIANCE MONITOR 0379 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WFC WIDE FIELD CAMERA 0382 02 NASA SPECTRO-RADIOMETER CLAES CRYOGENIC LIMB ARRAY ETALON SPECTROMETER 0383 02 NASA SPECTRO-RADIOMETER HALOE HALOGEN OCCULTATION EXPERIMENT 0384 02 NASA SPECTRO-RADIOMETER ISAMS IMPROVED STRATOSPHER IC AND MESOSPHERIC SOUNDER 0385 02 NASA SPECTRO-RADIOMETER MISR MULTI-ANGLE IMAGING SPECTRORADIOMETER 0386 01 NASA SPECTRO-RADIOMETER MLS MICROWAVE LIMB SOUNDER 0387 02 NASA SPECTRO-RADIOMETER MLS (EOS-AURA) MICROWAVE LIMB SOUNDER (EOS-AURA) 0389 02 NASA SPECTRO-RADIOMETER MODIS MODERATE-RESOLUTION IMAGING SPECTRORADIOMETER 0393 02 NASA GRAVITY HAIRS HIGH ACCURACY INTER-SATELLITE RANGIN G SYSTEM 0394 02 NASA TOTAL AND PROFILE OZONE OMI OZONE MEASURING INST RUMENT 0395 02 NASA RADIOMETER ATMOSPHERIC CORRECTOR ATMOSPHERIC CORRECTOR 0396 01 NASA RADIOMETER HYPERION HYPERSPECTRAL IMAGER 0399 02 NASA SPECTRO-RADIOMETER SAGE I STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-I 0400 02 NASA SPECTRO-RADIOMETER SAGE II STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-II 0401 02 NASA SPECTRO-RADIOMETER SAGE III STRATOSPHERI C AEROSOL AND GAS EXPERIMENT-III 0402 02 NASA SPECTRO-RADIOMETER SAMS STRATOSPHERIC AND ME SOSPHERIC SOUNDER 0403 02 NASA SPECTRO-RADIOMETER SAM II STRATOSPHERIC AEROSO L MEASUREMENT II 0404 02 NASA SPECTRO-RADIOMETER IRIS INFRARED INTERFEROME TER SPECTROMETER 0405 02 NASA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GIFT S GEOSYNCHRONOUS IMAGING FOURIER TRANSFORM SPECTROMETER 0420 01 NASA SPECTROMETER AIRS ATMOSPHERIC INFRA-RED SOUNDER 0426 02 NASA SPECTROMETER SOLSTICE SOLAR STELLAR IRRADI ANCE COMPARISON EXPERIMENT 0430 02 NASA SPECTROMETER TES TROPOSHPERIC EMISSION SPECTR OMETER 0431 02 NASA SPECTROMETER TOMS TOTAL OZONE MAPPING SPECTROM ETER 0450 02 JAXA COMMUNICATIONS ADEOS COMMS COMMUNICATIONS PACKA GE FOR ADEOS 0451 02 JAXA COMMUNICATIONS DCS (JAXA) DATA COLLECTION SYST EM (JAXA) 0453 02 JAXA COMMUNICATIONS GMS COMMS COMMUNICATIONS PACKA GE ON GMS 0454 02 JAXA COMMUNICATIONS JERS-1 COMMS COMMUNICATIONS PACKA GE FOR JERS-1 0460 01 JAXA LIDAR RIS RETROREFLECTOR IN SPACE 0461 01 JAXA RADAR PR PRECIPITATION RADAR 0462 02 JAXA IMAGING MICROWAVE RADARS SAR SYNTETIC APE RTURE RADAR 0470 02 JAXA IMAGING MICROWAVE RADARS PALSAR PHASED ARRAY TYPE L-BAND SYNTHETIC APERTURE RADAR 0479 02 JAXA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) AMSR-E ADVANCED MICROWAVE SCANNING RADIOMETER-EOS 0480 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS PRISM (ALOS) PANC HROMATIC REMOTE-SENSING INSTRUMENT FOR STEREO MAPPING 0481 02 JAXA RADIOMETER AMSR ADVANCED MICROWAVE SCANNING RADIOMETER 0482 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR ADVANCED VIS IBLE AND NEAR INFRARED RADIOMETER 0483 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR-2 ADVANCED VIS IBLE AND NEAR INFRA-RED RADIOMETER TYPE 2 0484 01 JAXA IMAGER GLI GLOBAL IMAGER 0485 02 JAXA RADIOMETER MESSR MULTISPECTRAL ELECTRONIC SEL F SCANNING RADIOMETER 0486 01 JAXA RADIOMETER MSR MICROWAVE SCANNING RADIOMETER 0487 02 JAXA RADIOMETER OCTS OCEAN COLOR AND TEMPERATURE S CANNER 0488 01 JAXA RADIOMETER OPS OPTICAL SENSOR 0489 02 JAXA SPECTRO-RADIOMETER VISSR (GMS5) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS5) 0490 02 JAXA RADIOMETER VTIR VISIBLE AND THERMAL INFRA-RE D RADIOMETER 0510 02 JAXA SPECTROMETER ILAS-I IMOROVED LIMB ATOMOSPHIRIC S PECTROMETER 0511 02 JAXA SPECTROMETER ILAS-II IMPROVED LIMB ATOMOSPHIRIC S PECTROMETER 0512 02 JAXA SPECTROMETER IMG INFEROMETRIC MONITOR OF GREE NHOUSE GASES 0514 02 JAXA SPACE ENVIRONMENT SEM SPACE ENVIRONMENT MO NITOR (JAXA) 0515 02 JAXA TOTAL AND PROFILE OZONE SOFIS SOLAR OCCULTATION FO URIER TRANSFORM SPECTROMETER FOR INCLINED ORBIT SATELLITE 0540 02 NOAA COMMUNICATIONS DCS (NOAA) DATA COLLECTION SYST EM (NOAA) 0541 02 NOAA COMMUNICATIONS GOES COMMS COMMUNICATIONS PACKA GE ON GOES 0542 02 NOAA COMMUNICATIONS LANDSAT COMMS COMMUNICATIONS PACKA GE FOR LANDSAT 0543 02 NOAA COMMUNICATIONS NOAA COMMS COMMUNICATIONS PACKA GE FOR NOAA 0544 01 NOAA COMMUNICATIONS S&R (GOES) SEARCH AND RESCUE 0545 01 NOAA COMMUNICATIONS S&R (NOAA) SEARCH AND RESCUE 0546 01 NOAA COMMUNICATIONS WEFAX WEATHER FACSIMILE 0547 02 NOAA SPECTROMETER SEM(GOES) SPACE ENVIRONMENT MO NITOR 0550 01 NOAA MAGNETIC FIELD SSM SPECIAL SENSOR MAGNETOMETER 0551 02 NOAA MAGNETIC FIELD SSJ/4 SPECIAL SENSOR PRECIPITATING PLASMA MONITOR 0552 02 NOAA SPACE ENVIRONMENT SSIES-2 SPECIAL SENSOR IONOS PHERIC PLASMA DRIFT/SCINTILLATION METER 0553 02 NOAA SPACE ENVIRONMENT SSB/X-2 SPECIAL SENSOR GAMMA RAY PARTICLE DECTECTOR 0570 02 NOAA RADIOMETER AMSU-A ADVANCED MICROWAVE SOUNDING UNIT-A 0574 02 NOAA RADIOMETER AMSU-B ADVANCED MICROWAVE SOUNDING UNIT-B 0580 02 NOAA RADIOMETER ATOVS (HIRS/3 + AMSU + AVHRR/3) ADVA NCED TIROS OPERATIONAL VERTICAL SOUNDER 0590 02 NOAA RADIOMETER AVHRR/2 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/2 0591 02 NOAA RADIOMETER AVHRR/3 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/3 0592 02 NOAA RADIOMETER AVHRR/4 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/4 0600 02 NOAA RADIOMETER ERBE EARTH'S RADIATION BUDGET EXP ERIMENT 0601 01 NOAA RADIOMETER ETM+ ENHANCED THEMATIC MAPPER 0605 02 NOAA RADIOMETER HIRS/2 HIGH RESOLUTION INFRA-RED SO UNDER/2 0606 02 NOAA RADIOMETER HIRS/3 HIGH RESOLUTION INFRA-RED SO UNDER/3 0607 02 NOAA RADIOMETER HIRS/4 HIGH RESOLUTION INFRA-RED SO UNDER/4 0615 01 NOAA RADIOMETER IMAGER IMAGER 0616 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIIR S VISIBLE/INFRARED IMAGER RADIOMETER SUITE 0620 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS CRIR S/NP CROSS TRACK INFRA-RED SOUNDER/NPOESS 0621 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS ATMS ADVANCED TECHNOLOGY MICROWAVE SOUNDER 0622 01 NOAA RADIOMETER MSS MULTISPECTRAL SCANNING SYSTEM 0623 01 NOAA RADIOMETER MSU MICROWAVE SOUNDING UNIT 0624 02 NOAA RADIOMETER SBUV/2 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/2 0625 02 NOAA RADIOMETER SBUV/3 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/3 0626 01 NOAA RADIOMETER SOUNDER SOUNDER 0627 01 NOAA RADIOMETER SSU STRATOSPHERIC SOUNDING UNIT 0628 01 NOAA RADIOMETER TM THEMATIC MAPPER 0629 02 NOAA RADIOMETER TOVS (HIRS/2 + MSU + SSU) TIRO S OPERATIONAL VERTICAL SOUNDER 0630 01 NOAA RADIOMETER VAS VISSR ATMOSPHERIC SOUNDER 0631 01 NOAA RADIOMETER SSZ 0645 01 NOAA SPECTROMETER SEM SPACE ENVIRONMENT MONITOR 0650 02 NRSCC RADIOMETER MVIRSR (10 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0651 02 NRSCC RADIOMETER MVIRSR (3 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0652 02 NRSCC RADIOMETER MVIRSR (5 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0670 01 NSAU RADAR RLSBO SIDE LOOKING MICROWAVE RADAR 0680 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS MSU-EU MULTI-SPECTR AL RADIOMETER WITH HIGH RESOLUTION 0681 02 NSAU IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MSU- UM VISIBLE MULTI-SPECTRAL RADIOMETER 0682 01 NSAU RADIOMETER RM-08 IMAGING MICROWAVE RADIOMETER 0683 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-UMS STEREO RADIO METER WITH HIGH RESOLUTION 0684 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-VR VISIBLE RADI OMETER WITH HIGH RESOLUTION 0685 01 NSAU RADIOMETER TRASSER 0700 02 ROSCOSMOS COMMUNICATIONS KONDOR-2 DATA COLLECT ION AND TRANSMISSION SYSTEM 0701 01 ROSCOSMOS COMMUNICATIONS BRK 0710 01 ROSCOSMOS LIDAR ALISSA BACKSCATTER LIDAR 0712 01 ROSCOSMOS LIDAR BALKAN-2 LIDAR 0715 01 ROSCOSMOS LIDAR MK-4 0716 01 ROSCOSMOS LIDAR MK-4M 0730 01 ROSCOSMOS RADAR GREBEN RADAR ALTIMETER 0731 01 ROSCOSMOS RADAR SAR-10 SYNTETIC APERTURE RADAR 0732 01 ROSCOSMOS RADAR SAR-3 SYNTETIC APERTURE RADAR 0733 01 ROSCOSMOS RADAR SAR-70 SYNTETIC APERTURE RADAR 0740 01 ROSCOSMOS RADAR SLR-3 SIDE LOOKING RADAR 0745 01 ROSCOSMOS RADAR TRAVERS SAR 0750 02 ROSCOSMOS RADIOMETER 174-K TEMPERATURE AND HUMI DITY PROFILER 0751 02 ROSCOSMOS RADIOMETER BTVK SCANNING TELEVISION RADIOMETER 0752 02 ROSCOSMOS RADIOMETER CHAIKA SCANNING IR RADIOMET ER 0753 02 ROSCOSMOS RADIOMETER DELTA-2 MULTISPECTRAL MICROW AVE SCANNER 0755 02 ROSCOSMOS RADIOMETER IKAR-D MULTISPECTRAL MICROW AVE SCANNER 0756 02 ROSCOSMOS RADIOMETER IKAR-N MULTISPECTRAL MICROW AVE SCANNER 0757 02 ROSCOSMOS RADIOMETER IKAR-P MULTISPECTRAL MICROW AVE SCANNER 0760 01 ROSCOSMOS RADIOMETER ISP 0761 02 ROSCOSMOS RADIOMETER KFA-1000 PHOTOGRAPHIC CAMERA 0762 01 ROSCOSMOS RADIOMETER KFA-200 PHOTOGRAPHIC CAMERA 0763 02 ROSCOSMOS RADIOMETER KFA-3000 PHOTOGRAPHIC CAMERA 0770 01 ROSCOSMOS RADIOMETER KLIMAT SCANNING IR RADIOMETER 0771 02 ROSCOSMOS RADIOMETER KLIMAT-2 SCANNING IR RADIOMETER 0775 01 ROSCOSMOS RADIOMETER MIRAS 0776 01 ROSCOSMOS RADIOMETER MIVZA 0777 02 ROSCOSMOS RADIOMETER MIVZA-M MICROWAVE SCANNING R ADIOMETER 0780 01 ROSCOSMOS RADIOMETER MR-2000 0781 01 ROSCOSMOS RADIOMETER MR-2000M 0785 02 ROSCOSMOS RADIOMETER MR-900 SCANNING TELEPHOTOME TER 0786 02 ROSCOSMOS RADIOMETER MR-900B SCANNING VISUAL BAND TELEPHOTOMETER 0790 02 ROSCOSMOS RADIOMETER MSU-E MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0791 02 ROSCOSMOS RADIOMETER MSU-E1 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0792 02 ROSCOSMOS RADIOMETER MSU-E2 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0793 01 ROSCOSMOS RADIOMETER MSU-M 0794 02 ROSCOSMOS RADIOMETER MSU-S MULTISPECTRAL MEDIUM RESOLUTION SCANNER 0795 02 ROSCOSMOS RADIOMETER MSU-SK MULTISPECTRAL MEDIUM RESOLUTION CONICAL SCANNER 0796 02 ROSCOSMOS RADIOMETER MSU-V MULTISPECTRAL HIGH R ESOLUTION CONICAL SCANNER 0810 02 ROSCOSMOS RADIOMETER MTZA SCANNING MICROWAVE R ADIOMETER 0815 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) MZOAS SCANNING MICROWAVE RADIO METER 0820 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) R-225 SINGLE CHANNEL MICROWAVE RADIOMETER 0821 01 ROSCOSMOS RADIOMETER R-400 0822 02 ROSCOSMOS RADIOMETER R-600 SINGLE CHANNEL MICRO WAVE RADIOMETER 0830 02 ROSCOSMOS RADIOMETER RMS RADIATION MEASUREMEN T SYSTEM 0835 01 ROSCOSMOS RADIOMETER TV CAMERA 0836 01 ROSCOSMOS RADIOMETER SILVA 0840 02 ROSCOSMOS SPECTRO-RADIOMETER SROSMO SPECTRORADIO METER FOR OCEAN MONITORING 0850 02 ROSCOSMOS SPECTROMETER BUFS-2 BACKSCATTER SPECTROM ETER/2 0851 02 ROSCOSMOS SPECTROMETER BUFS-4 BACKSCATTER SPECTROM ETER/4 0855 02 ROSCOSMOS SPECTROMETER ISTOK-1 INFRA-RED SPECTROMET ER 0856 02 ROSCOSMOS SPECTROMETER SFM-2 SPECTROMETER TO MEAS URE DIRECT SOLAR RADIATION 0857 01 ROSCOSMOS SPECTROMETER DOPI 0858 01 ROSCOSMOS SPECTROMETER KGI-4 0859 01 ROSCOSMOS SPECTROMETER OZON-M 0860 01 ROSCOSMOS SPECTROMETER RMK-2 0900 02 NOAA RADIOMETER MAXIE MAGNETOSPHERIC ATMOSPHERIC X -RAY IMAGING EXPERIMENT 0901 01 NOAA RADIOMETER OLS OPERATIONAL LINESCAN SYSTEM 0905 02 NOAA RADIOMETER SSM/I MISSION SENSOR MICROWAVE IMA GER 0906 02 NOAA RADIOMETER SSM/T-1 MISSION SENSOR MICROWAVE TEM PERATURE SOUNDER 0907 02 NOAA RADIOMETER SSM/T-2 MISSION SENSOR MICROWAVE WAT ER VAPOR SOUNDER 0908 02 NOAA RADIOMETER SSMIS SPECIAL SENSOR MICROWAVE IMA GER SOUNDER 0910 01 NOAA RADIOMETER SXI SOLAR X-RAY IMAGER 0930 02 NOAA SPECTROMETER EHIC ENERGETIC HEAVY ION COMPOSIT ION EXPERIMENT 0931 01 NOAA SPECTROMETER X-RAY ASTRONOMY PAYLOAD 0932 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) IVIS SR (FY-2) IMPROVED MULTISPECTRAL VISIBLE AND INFRA-RED SCA N RADIOMETER (5 CHANNELS) 0933 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IRAS INFRARED ATMOSPHERIC SOUNDER 0934 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWAS MICROWAVE ATMOSPHERIC SOUNDER 0935 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IMWA S IMPROVED MICROWAVE ATMOSPHERIC SOUNDER 0936 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWHS MICROWAVE HUMIDITY SOUNDER 0937 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MVIR S MODERATE RESOLUTION VISIBLE AND INFRARED IMAGING SPECTRO RADIOMETER 0938 02 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MWRI MICROWAVE RADIATION IMAGER 0940 02 ROSCOSMOS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDER S MTVZA-OK SCANNING MICROWAVE RADIOMETER 0941 02 CNES ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS SAPH IR 0944 01 NOAA RADAR ALTIMETERS ALT ALTIMETER 0945 02 NOAA EARTH RADIATION BUDGET RADIOMETER TSIS TOTA L SOLAR IRRADIANCE SENSOR 0946 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) CMIS CONICAL-SCANNING MICROWAVE IMAGER/SOUNDER 0947 02 NOAA TOTAL AND PROFILE OZONE OMPS OZONE MAPPING AND PR OFILER SUITE 0948 03 NOAA SPACE ENVIRONMENT ATMOSPHERIC TEMPERATURE AND HUMIDI TY SOUNDERS GPSOS GLOBAL POSITIONING SYSTEM OCCULTATION SE NSOR 0949 02 NOAA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y SESS SPACE ENVIRONMENTAL SENSOR SUITE 0950 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRR MULTISPECTRAL VISIBLE AND INFRA-RED SCAN RADIOMETER (10 CHANNELS 0951 01 NRSCC TOTAL AND PROFILE OZONE TOM TOTAL OZONE MAPPER 0952 01 NRSCC TOTAL AND PROFILE OZONE OP OZONE PROFILER 2047 01 MISSING VALUE 002020 0024 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 (TIROS, NOAA-6 TO NOAA-13) 0003 01 TIROS 2 (NOAA-14 ONWARDS) 0010 01 EOS 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0261 01 JASON 0271 01 GMS 0272 01 MTSAT 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME (MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME (MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME (MSG) 0351 01 GOMS 0380 01 FY-1 0381 01 FY-2 0401 01 GPS 0402 01 GLONASS 0403 01 GALILEO 0511 01 MISSING VALUE 002021 0008 0001 01 HIGH RESOLUTION INFRA RED SOUNDER (HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU ) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 002022 0005 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 AUTOMATED STATISTICAL REGRESSION 0003 01 CLEAR PATH 0004 01 PARTLY CLOUDY PATH 0005 01 CLOUDY PATH 002023 0012 0000 01 RESERVED 0001 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE INFRARED CHANNEL 0002 01 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE VISIBLE CHANNEL 0003 01 WIND DERIVED FROM CLOUD MOTION OBSERVED IN WATER VAPOUR CHANNEL 0004 02 WIND DERIVED FROM MOTION OBSERVED IN COMBINATION OF SPECTRAL CHANNELS 0005 02 WIND DERIVED FROM MOTION OBSERVED IN THE WATER VAPOUR CHANNEL IN CLEAR AIR 0006 01 WIND DERIVED FROM MOTION OBSERVED IN THE OZONE CHANNEL 0007 02 WIND DERIVED FROM MOTION OBSERVED IN WATER VAPOUR CHANNEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0008 01 WIND DERIVED FROM ALTIMETER 0009 01 WIND DERIVED FROM RADIOMETER 0013 01 ROOT MEAN SQUARE 0015 01 MISSING VALUE 002024 0003 0001 01 TABLE WITH FULL RANGE OF HUMIDITY VARIATION IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002025 0016 0001 01 RESERVED 0002 01 HIRS 0003 01 MSU 0006 01 HIRS 0007 01 MSU 0010 01 HIRS(1, 2, 3, 8,9, 16, 17) 0011 01 HIRS(1, 2, 3, 9, 17) 0012 01 MSU 0015 01 HIRS 0016 01 HIRS 0017 01 MSU 0018 01 SKINTK(OCEAN ONLY) 0021 01 HIRS 0022 01 SSU 0023 01 MSU (3 ,4) 0025 01 MISSING 002030 0007 0001 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0002 01 GEK (GEOMAGNETIC ELECTRO KINETOGRAPH) 0003 01 SHIPS'S SET AND DRIFT DETERMINED BY FIXES 3-6 HOURS APART 0004 02 SHIPS'S SET AND DRIFT DETERMINED BY MORE THAN 6 HOURS BUT LESS THAN 12 HOURS APART 0005 01 DRIFT OF BUOY 0006 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0007 01 MISSIN VALUE 002031 0021 0000 01 RESERVED 0001 01 INSTANTANEOUS 0002 01 AVERAGED OVER 3 MINUTES OR LESS 0003 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0004 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0005 01 INSTANTANEOUS 0006 01 AVERAGED OVER 3 MINUTES OR LESS 0007 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0008 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0009 01 VECTOR OR DOPPLER CURRENT PROFILLING METHOD NOT USED 0010 01 RESERVED 0011 01 1 HOUR OR LESS 0012 01 MORE THAN 1 HOUR BUT 2 AT THE MOST 0013 01 MORE THAN 2 HOUR BUT 4 AT THE MOST 0014 01 MORE THAN 4 HOUR BUT 8 AT THE MOST 0015 01 MORE THAN 8 HOUR BUT 12 AT THE MOST 0016 01 MORE THAN 12 HOUR BUT 18 AT THE MOST 0017 01 MORE THAN 18 HOUR BUT 24 AT THE MOST 0018 01 RESERVED 0019 01 DRIFT METHOD NOT USED 0031 01 MISSING 002032 0004 0000 02 VALUES AT SELECTED DEPTHS (DATA POINTS FIXED BY THE INSTRUME NT OR SELECTED BY ANY OTHER METHOD) 0001 02 VALUES AT SIGNIFICANT DEPTHS (DATA POINTS TAKEN FROM TRACES AT SIGNIFICANT DEPTHS) 0002 01 RESERVED 0003 01 MISSING VALUE 002033 0005 0000 01 NO SALINITY MEASURED 0001 01 IN SITU SENSOR, ACCURACY BETTER THAN 0.02 % 0002 01 IN SITU SENSOR, ACCURACY LESS THAN 0.02 % 0003 01 SAMPLE ANALYSIS 0007 01 MISSING VALUE 002034 0007 0000 01 UNSPECIFIED DROGUE 0001 01 HOLEY SOCK 0002 01 TRISTAR 0003 01 WINDOW SHADE 0004 01 PARACHUTE 0005 01 NON-LAGRANGIAN SEA ANCHOR 0031 01 MISSING VALUE 002036 0004 0000 01 DRIFTING BUOY 0001 01 FIXED BUOY 0002 01 RESERVED 0003 01 MISSING VALUE 002037 0007 0000 01 REASERVED 0001 01 MANUAL READING FROM VERTICAL TIDE STAFF 0002 01 MANUAL READING FROM SINGLE AUTOMATIC RECORDER AT STATION 0003 01 MANUAL READING FROM MULTIPLE AUTOMATIC RECORDERS AT STATION 0004 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITHOUT LEVEL REFERENCE CHECK 0005 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITH LEVEL REFERENCE CHECK,OR MULTIPLE AUTOMATIC RECORDERS 0007 01 MISSING 002038 0012 0000 01 SHIP INTAKE 0001 01 BUCKET 0002 01 HULL CONTACT SENSOR 0003 01 REVERSING TERMOMETER 0004 01 STD/CTD SENSOR 0005 01 MECHANICAL BT 0006 01 EXPANDABLE BT 0007 01 DIGITAL BT 0008 01 THERMISTOR CHAIN 0009 01 INFRARED SCANNER 0010 01 MICROWAVE SCANNER 0015 01 MISSING VALUE 002039 0005 0000 01 MEASURED WET-BULB TEMPERATURE 0001 01 ICED BULB MEASURED WET-BULB TEMPERATURE 0002 01 COMPUTED WET-BULB TEMPERATURE 0003 01 ICED BULB COMPUTED WET-BULB TEMPERATURE 0007 01 MISSING VALUE 002040 0008 0000 01 SHIPS MOTION REMOVED BY AVARAGING 0001 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0002 01 SHIPS MOTION NOT REMOVED 0003 01 SHIPS MOTION REMOVED BY AVERAGING 0004 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0005 01 SHIPS MOTION NOT REMOVED 0006 01 DOPPLER CURRENT PROFILING METHOD NOT USED 0015 01 MISSING VALUE 002041 0006 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMILATION MANUALLY MODIFIED 0010 01 INFORMATION BASED ON THE NUMERICAL WEATHER PREDICTION 0063 01 MISSING VALUE 002044 0006 0000 01 RESERVED 0001 01 LONGUET-HIGGINS (1964) 0002 01 LONGUET-HIGGINS (F3 METHOS) 0003 01 MAXIMUM LIKELIHOOD METHOD 0004 01 MAXIMUM ENTROPY METHOD 0015 01 MISSING VALUE 002045 0005 0000 01 SEA STATION 0001 01 AUTOMATIC DATA BUOY 0002 01 AIRCRAFT 0003 01 SATELLITE 0015 01 MISSING VALUE 002046 0004 0000 01 RESERVED 0001 01 HEAVE SENSOR 0002 01 SLOPE SENSOR 0015 01 MISSING VALUE 002048 0012 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A 0004 01 AMSU-B 0005 01 AVHRR 0006 01 SSMI 0007 01 NSCAT 0008 01 SEA WINDS 0009 01 POSEIDON ALTIMETER 0010 01 JMR (JASON MICROWAVE RADIOMETER) 0015 01 MISSING VALUE 002049 0004 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 SIMULTANIOUS PHISICAL RETRIEVAL 0003 01 CLEAR SOUNDING 0004 01 CLOUDY COUNDING 002050 0019 0001 01 CHANNEL 1 14.71 MICROMETERS 0002 01 CHANNEL 2 14.37 MICROMETERS 0003 01 CHANNEL 3 14.06 MICROMETERS 0004 01 CHANNEL 4 13.64 MICROMETERS 0005 01 CHANNEL 5 13.37 MICROMETERS 0006 01 CHANNEL 6 12.66 MICROMETERS 0007 01 CHANNEL 7 12.02 MICROMETERS 0008 01 CHANNEL 8 11.03 MICROMETERS 0009 01 CHANNEL 9 9.71 MICROMETERS 0010 01 CHANNEL 10 7.43 MICROMETERS 0011 01 CHANNEL 11 7.02 MICROMETERS 0012 01 CHANNEL 12 6.51 MICROMETERS 0013 01 CHANNEL 13 4.57 MICROMETERS 0014 01 CHANNEL 14 4.52 MICROMETERS 0015 01 CHANNEL 15 4.45 MICROMETERS 0016 01 CHANNEL 16 4.13 MICROMETERS 0017 01 CHANNEL 17 3.98 MICROMETERS 0018 01 CHANNEL 18 3.74 MICROMETERS 0019 01 CHANNEL 19 0.969 MICROMETERS 002051 0004 0001 01 MAXIMUM/MINIMUM THERMOMETERS 0002 01 AUTOMATED INSTRUMENT 0003 01 THERMOGRAPH 0015 01 MISSING VALUE 002052 0005 0001 01 CHANNEL 1 0.55-.75 MICROMETERS 0002 01 CHANNEL 2 3.9 MICROMETERS 0003 01 CHANNEL 3 6.7 MICROMETERS 0004 01 CHANNEL 4 10.7 MICROMETERS 0005 01 CHANNEL 5 12.0 MICROMETERS 002053 0005 0000 01 OBSERVED BRIGHTNESS TEMPERATURES 0001 01 BRIGHTNESS TEMPERATURE WITH BIAS CORRECTION APPLIED 0002 01 BRIGHTNESS TEMPERATURE CALCULATED FROM FIRST GUESS 0003 01 BRIGHTNESS TEMPERATURE CALCULATED FROM SOUNDING 0015 01 MISSING VALUE 002054 0006 0000 01 PARAMETER DERIVED USING OBSERVED SOUNDER BRIGHTNESS TEMPERATURES 0001 01 PARAMETER DERIVED USING OBSERVED IMAGER BRIGHTNESS TEMPERATURES 0002 01 PARAMETER DERIVED USING FIRST GUESS INFORMATION 0003 01 PARAMETER DERIVED USING NMC ANALYSIS INFORMATION 0004 01 PARAMETER DERIVED USING RADIOSONDE INFORMATION 0015 01 MISSING VALUE 002055 0010 0000 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS RADIOSONDE 0001 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS FIRST GUESS 0002 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS FIRST GUESS 0003 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS RETRIEVAL 0004 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS FORST GUESS 0005 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS IMAGER 0006 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS SOUNDER 0007 01 STATISTICS GENERATED FOR RADIOSONDE 0008 01 STATISTICS GENERATED FOR FIRST GUESS 002056 0006 0000 01 SUMS OF DIFFERENCE 0001 01 SUMS OF SQUARED DIFFERENCES 0002 01 SAMPLE SIZE 0003 01 MINIMUM DIFFERENCE 0004 01 MAXIMUM DIFFERENCE 0015 01 MISSING VALUE 002057 0007 0000 01 NESTED GRID MODEL (NMG) 0001 01 AVIATION MODEL(AVN) 0002 01 MEDIUM RANGE FORECAST (MRF) MODEL 0003 01 GLOBAL DATA ASSIMILATION SYSTEM (GDAS) FORECAST MODEL 0004 01 PRIOR SOUNDINGS (WITHIN 3 HOURS OF CURRENT TIME) 0005 01 CLIMATOLOGY 002058 0005 0000 01 12 HOUR AND 18 HOUR 0001 01 18 HOUR AND 24 HOUR 0002 01 6 HOUR AND 12 HOUR 0003 01 GREATER THAN 24 HOUR 0015 01 MISSING VALUE 002059 0005 0000 01 NCEP NESTED GRID MODEL ANALYSIS 0001 01 NCEP AVIATION MODEL ANALYSIS 0002 01 NCEP MEDIUM RANGE FORECAST MODEL ANALYSIS 0003 01 NCEP GLOBAL DATA ASSIMILATION SYSTEM FORECAST MODEL ANALYSIS 0015 01 MISSING VALUE 002060 0007 0000 01 CURRENT SURFACE HOURLY REPORTS 0001 01 CURRENT SHIP REPORTS 0002 01 CURRENT BUOY REPORTS 0003 01 ONE HOUR OLD SURFACE HOURLY REPORTS 0004 01 ONE HOUR SHIP OLD REPORTS 0005 01 ONE HOUR BUOY OLD REPORTS 0015 01 MISSING VALUE 002061 0003 0000 01 INERTIAL NAVIGATOR SYSTEM 0001 01 OMEGA 0007 01 MISSING VALUE 002062 0007 0000 01 ASDAR 0001 01 ASDAR(ACARS ALSO AVAILABLE BUT NOT OPERATIVE) 0002 01 ASDAR(ACARS ALSO AVAILABLE AND OPERATIVE) 0003 01 ACARS 0004 01 ACARS(ASDAR ALSO AVALILABLE BUT NOT OPERATIVE) 0005 01 ACARS(ASDAR ALSO AVAILABLE AND OPERATIVE) 0015 01 MISSING VALUE 002064 0004 0000 01 GOOD 0001 01 BAD 0002 01 RESERVED 0003 01 MISSING VALUE 002066 0004 0000 01 TRS 2000 0001 01 IMS 1500C 0062 01 OTHER 0063 01 MISSING VALUE 002070 0013 0000 01 ACTUAL LOCATION IN SECONDS 0001 01 ACTUAL LOCATION IN MINUTES 0002 01 ACTUAL LOCATION IN DEGREES 0003 01 ACTUAL LOCATION IN DECIDEGREES 0004 01 ACTUAL LOCATION OM CENTIDEGREES 0005 01 REFERENCED TO CHECKPOINT IN SECONDS 0006 01 REFERENCED TO CHECKPOINT IN MINUTES 0007 01 REFERENCED TO CHECKPOINT IN DEGREES 0008 01 REFERENCED TO CHECKPOINT IN DECIDEGREES 0009 01 REFERENCED TO CHECKPOINT IN CENTIDEGREES 0010 01 ACTUAL LOCATION IN TENTHS OF A MINUTE 0011 01 REFERENCED TO CHECKPOINT IN TENTHS OF A MINUTE 0015 01 MISSING VALUE 002080 0005 0000 01 KAYSAM 0001 01 TOTEX 0002 01 KKS 0062 01 OTHER 0063 01 MISSING VALUE 002081 0009 0000 01 GP26 0001 01 GP28 0002 01 GP30 0003 01 HM26 0004 01 HM28 0005 01 HM30 0006 01 SV16 0030 01 OTHER 0031 01 MISSING VALUE 002083 0006 0000 01 HIGH BAY 0001 01 LOW BAY 0002 01 BALLOON INFLATION LAUNCH SYSTEM (BILS) 0003 01 ROOF-TOP BILS 0014 01 OTHER 0015 01 MISSING VALUE 002084 0005 0000 01 HYDROGEN 0001 01 HELIUM 0002 01 NATURAL GAS 0014 01 OTHER 0015 01 MISSING VALUE 002095 0005 0000 01 CAPACITANCE ANEROID 0001 01 DERIVED FROM GPS 0002 01 RESISTIVE STRAIN GAUGE 0030 01 OTHER 0031 01 MISSING VALUE 002096 0005 0000 01 ROD THERMISTOR 0001 01 BEAD THERMISTOR 0002 01 CAPACITANCE BEAD 0030 01 OTHER 0031 01 MISSING VALUE 002097 0008 0000 01 VIZ MARK II CARBON HYGRISTOR 0001 01 VIZ B2 HYGRISTOR 0002 01 VAISALA A-HUMICAP 0003 01 VAISALA H-HUMICAP 0004 01 CAPACITANCE SENSOR 0005 01 VAISALA RS90 0030 01 OTHER 0031 01 MISSING VALUE 002098 0005 0000 01 HH POLARISATION 0001 01 VV POLARISATION 0002 01 HV POLARISATION REAL VALUED COMPONENT 0003 01 HV POLARISATION IMAGINARY VALUED COMPONENT 0007 01 MISSING VALUE 002101 0010 0000 01 CENTRE FRONT-FED PARABOLOID 0001 01 OFFSET FRONT-FED PARABOLOID 0002 01 CENTRE CASSEGRAIN PARABOLOID 0003 01 OFFSET CASSEGRAIN PARABOLOID 0004 01 PLANAR ARRAY 0005 01 COAXIAL-COLLINEAR ARRAY 0006 01 YAGI ELEMENTS ARRAY 0007 01 MICROSTRIP 0014 01 OTHER 0015 01 MISSING VALUE 002103 0002 0001 01 RADAR ANTENNA IS PROTECTED BY A RADOME 0002 01 MISSING VALUE 002104 0007 0000 01 HORIZONTAL POLARISATION 0001 01 VERTICAL POLARISATION 0002 01 RIGHT CIRCULAR POLARISATION 0003 01 LEFT CIRCULAR POLARSZATION 0004 01 HORIZONTAL AND VERTICAL POLARISATION 0005 01 RIGHT AND LEFT CIRCULAR POLARISATION 0015 01 MISSING VALUE 002115 0007 0000 01 PDB 0001 01 RSOIS 0002 01 ASOS 0003 01 PSYCHROMETER 0004 01 F420 0030 01 OTHER 0031 01 MISSING VALUE 002119 0008 0000 01 INTERMEDIATE FREQUENCY CALIBRATION MODE (IFCAL) 0001 01 BUILT-IN TEST EQUIPMENT DIGITAL (BITE DGT) 0002 01 BUILT-IN TEST EQUIPMENT RADIO FREQUENCY (BITE RF) 0003 01 PRESET TRACKING (PSET TRK) 0004 01 PRESET LOOP OUT 0005 01 ACQUISITION 0006 01 TRACKING 0007 01 MISSING VALUE 002131 0001 0001 01 STC OPERATIONAL 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROPHOTOMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED FOR FUTURE USE 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002216 0017 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG(1) 0015 01 SLICES PER COMPOSITE FLAG(2) 0016 01 SLICES PER COMPOSITE FLAG(3) 0017 01 MISSING VALUE 002131 0002 0001 01 STC OPERATIONAL 0003 01 MISSING VALUE 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN, ATTENUATOR #0 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002145 0009 0000 01 WAVELENGTH AD ORDINARY SETTING 0001 01 WAVELENGTH BD ORDINARY SETTING 0002 01 WAVELENGTH CD ORDINARY SETTING 0003 01 WAVELENGTH CC' ORDINARY SETTING 0004 01 WAVELENGTH AD FOCUSSING IMAGE 0005 01 WAVELENGTH BD FOCUSSING IMAGE 0006 01 WAVELENGTH CD FOCUSSING IMAGE 0007 01 WAVELENGTH CC' FOCUSSING IMAGE 0015 01 MISSING VALUE 002146 0011 0000 01 ON DIRECT SUN 0001 01 ON DIRECT MOON 0002 01 ON BLUE ZENITH SKY 0003 01 ON ZENITH CLOUD (UNIFORM STRATIFIED LAYER OF SMALL OPACITY) 0004 01 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF MEDIUM OPACITY) 0005 01 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF LARGE OPACITY) 0006 01 ON ZENITH CLOUD (HIGHLY VARIABLE OPACITY, WITH OR WITOUT PRECIPITATION) 0007 01 ON ZENITH CLOUD (FOG) 0008 01 ON ZENITH HAZE 0009 01 ON DIRECT SUN THROUGH THIN CLOUD, FOG OR HAZE 0015 01 MISSING VALUE 002148 0006 0000 01 RESERVED 0001 01 ARGOS 0002 01 GPS 0003 01 GOES DCP 0004 01 METEOSAT DCP 0031 01 MISSING VALUE 002149 0022 0000 01 UNSPECIFIED DRIFTING BUOY 0001 01 STANDARD LAGRANGIAN DRIFTER (GLOBAL DRIFTER PROGRAMME) 0002 01 STANDARD FGGE TYPE DRIFTING BUOY 0003 01 WIND MEASURING FGGE TYPE DRIFTING BUOY 0004 01 ICE FLOAT 0008 01 UNSPECIFIED SUB-SURFACE FLOAT 0009 01 SOFAR 0010 01 ALACE 0011 01 MARVOR 0012 01 RAFOS 0016 01 UNSPECIFIED MOORED BUOY 0017 01 NOMAD 0018 01 3-METRE DISCUS 0019 01 10-12-METRE DISCUS 0020 01 ODAS 30 SERIES 0021 01 ATLAS (E.G. TAO AREA) 0022 01 TRITON BUOY 0023 01 RESERVED 0024 01 OMNIDIRECTIONAL WAVERIDER 0025 01 DIRECTIONAL WAVERIDER 0026 01 SUB-SURFACE ARGO FLOAT 0063 01 MISSING VALUE 002150 0055 0000 01 RESERVED 0001 01 HIRS 1 0002 01 HIRS 2 0003 01 HIRS 3 0004 01 HIRS 4 0005 01 HIRS 5 0006 01 HIRS 6 0007 01 HIRS 7 0008 01 HIRS 8 0009 01 HIRS 9 0010 01 HIRS 10 0011 01 HIRS 11 0012 01 HIRS 12 0013 01 HIRS 13 0014 01 HIRS 14 0015 01 HIRS 15 0016 01 HIRS 16 0017 01 HIRS 17 0018 01 HIRS 18 0019 01 HIRS 19 0020 01 HIRS 20 0021 01 MSU 1 0022 01 MSU 2 0023 01 MSU 3 0024 01 MSU 4 0025 01 SSU 1 0026 01 SSU 2 0027 01 SSU 3 0028 01 AMSU-A 1 0029 01 AMSU-A 2 0030 01 AMSU-A 3 0031 01 AMSU-A 4 0032 01 AMSU-A 5 0033 01 AMSU-A 6 0034 01 AMSU-A 7 0035 01 AMSU-A 8 0036 01 AMSU-A 9 0037 01 AMSU-A 10 0038 01 AMSU-A 11 0039 01 AMSU-A 12 0040 01 AMSU-A 13 0041 01 AMSU-A 14 0042 01 AMSU-A 15 0043 01 AMSU-B 1 0044 01 AMSU-B 2 0045 01 AMSU-B 3 0046 01 AMSU-B 4 0047 01 AMSU-B 5 0048 01 AVHRR 1 0049 01 AVHRR 2 0050 01 AVHRR 3A 0051 01 AVHRR 3B 0052 01 AVHRR 4 0053 01 AVHRR 5 0063 01 MISSING VALUE 002151 0009 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A1-1 0004 01 AMSU-A1-2 0005 01 AMSU-A2 0006 01 AMSU-B 0007 01 AVHRR 2047 01 MISSING VALUE 002152 0011 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 002158 0008 0001 01 MISMATCH IN RED VEC HPA 0002 01 MISMATCH IN RED VEC RFSS 0003 01 PTR CALIBRATION BAND 320 MHZ (KU) 0004 01 PTR CALIBRATION BAND 80 MHZ (KU) 0005 01 PTR CALIBRATION BAND 20 MHZ (KU) 0006 01 PTR CALIBRATION BAND 160 MHZ (S) 0007 01 KU FLIGHT CALIBRATION PARAMETERS AVAILABLE 0008 01 S FLIGHT CALIBRATION PARAMETERS AVAILABLE 002159 0005 0001 01 TEMPERATURE INCONSISTENCY 0002 01 DATA IS MISSING 0003 01 REDUNDANCY CHANNEL 0004 01 POWER BUS PROTECTION 0005 01 OVERVOLTAGE/OVERLOAD PROTECTION 002163 0015 0000 01 AUTO EDITOR 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002164 0004 0000 01 LP - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0007 01 MISSING VALUE 002166 0009 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0005 01 APODIZED 0006 01 UNAPODIZED 0007 01 RECONSTRUCTED 0008 01 CLOUD CLEARED 002167 0004 0000 01 METHOD NOT DEFINE 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002169 0004 0000 01 CUP ROTOR 0001 01 PROPELLER ROTOR 0002 01 WIND OBSERVATION THROUGH AMBIENT NOISE (WOTAN) 0015 01 MISSING VALUE 002172 0003 0001 01 RETRIEVAL FROM A NADIR SOUNDING 0002 01 RETRIEVAL FROM A LIMB SOUNDING 0255 01 MISSING VALUE 002175 0009 0000 01 MANUAL MEASUREMENT 0001 01 TIPPING BUCKET METHOD 0002 01 WEIGHING METHOD 0003 01 OPTICAL METHOD 0004 01 PRESSURE METHOD 0005 01 FLOAT METHOD 0006 01 DROP COUNTER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002176 0006 0000 01 MANUAL OBSERVATION 0001 01 VIDEO CAMERA METHOD 0002 01 INFRA-RED METHOD 0003 01 LASER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002177 0005 0000 01 MANUAL OBSERVATION 0001 01 ULTRASONIC METHOD 0002 01 VIDEO CAMERA METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002178 0005 0000 01 MANUAL OBSERVATION 0001 01 OPTICAL METHOD 0002 01 CAPACITIVE METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002179 0006 0000 01 MANUAL OBSERVATION 0001 01 VAISALA ALGORITHM 0002 01 ASOS (FAA) ALGORITHM 0003 01 AWOS (CANADA) ALGORITHM 0014 01 OTHER 0015 01 MISSING VALUE 002180 0008 0000 01 MANUAL OBSERVATION 0001 02 OPTICAL SCATTER SYSTEM COMBINED WITH PRECIPITATION OCCURRENCE SENSING SYSTEM 0002 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF VISIBLE LIGHT 0003 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF INFRARED LIGHT 0004 01 INFRARED LIGHT EMITTING DIODE (IRED) SYSTEM 0005 01 DOPPLER RADAR SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002181 0005 0001 01 RAIN DETECTOR 0002 01 FREEZING RAIN SENSOR 0003 01 ICE DETECTION SENSOR 0004 01 HAIL AND ICE PELLET SENSOR 0020 01 OTHER 002182 0007 0000 01 MANUAL MEASUREMENT 0001 01 TRANSMISSOMETER SYSTEM (BASE > 25) 0002 01 TRANSMISSOMETER SYSTEM (BASE < 25 M) 0003 01 FORWARD SCATTER SYSTEM 0004 01 BACK SCATTER SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002183 0009 0000 01 MANUAL OBSERVATION 0001 01 CEILOMETER SYSTEM 0002 01 INFRARED CAMERA SYSTEM 0003 01 MICROWAVE VISUAL CAMERA SYSTEM 0004 01 SKY IMAGER SYSTEM 0005 01 VIDEO TIME LAPSED CAMERA SYSTEM 0006 01 MICRO PULSE LIDAR (MPL) SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002184 0008 0000 01 MANUAL OBSERVATION 0001 01 LIGHTNING IMAGING SENSOR 0002 01 ELECTRICAL STORM IDENTIFICATION SENSOR 0003 01 MAGNETIC FINDER SENSOR 0004 01 LIGHTNING STRIKE SENSOR 0005 01 FLASH COUNTER 0014 01 OTHER 0015 01 MISSING VALUE 002185 0007 0000 01 MANUAL MEASUREMENT 0001 01 BALANCED FLOATING METHOD 0002 01 PRESSURE METHOD 0003 01 ULTRASONIC METHOD 0004 01 HYDRAULIC METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002186 0023 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 002187 0011 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 002188 0010 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 002189 0004 0001 01 MANUAL OBSERVATION 0002 01 ALL LIGHTNING STRIKES WITHOUT DISCRIMINATION 0003 01 LIGHTNING STRIKES CLOUD TO GROUND ONLY 0004 02 ALL LIGHTNING STRIKES WITH DISCRIMINATION BETWEEN CLOUD TO GROUND AND CLOUD TO CLOUD 002194 0002 0000 01 FGGE 0015 01 MISSING VALUE 002196 0017 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 ( TIROS NOAA 6 TO NOAA 13) 0003 01 TIROS 2 ( NOAA-14 ONWARD) 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0271 01 GMS 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME(MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME(MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME(MSG) 0351 01 GOMS 0381 01 FY-2 0512 01 MISSING VALUE 002199 0004 0000 01 RESERVED 0001 01 TABLE WITH FULL RANGE OF HUMMIDITY VALUES IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002207 0003 0000 01 AFR SCAN 0001 01 FORWARD AFT SCAN 0007 01 MISSING VALUE 002231 0015 0000 01 RESERVED 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002232 0004 0000 01 P - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0003 01 MISSING VALUE 002251 0004 0000 01 METHOD NOT DEFINED 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002252 0012 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 0031 01 ALL BITS SET - MISSING VALUE 002254 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 004059 0005 0001 01 00 UTC 0002 01 06 UTC 0003 01 12 UTC 0004 01 18 UTC 0005 01 OTHER HOURS 008001 0007 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT LEVEL, TEMPERATURE AND/OR RELATIVE HUMIDITY 0006 01 SIGNIFICANT LEVEL, WIND 0007 01 MISSING VALUE 008002 0013 0000 02 OBSERVING RULES FOR BASE OF LOWEST CLOUD AND CLOUD TYPES OF FM 12-IX EXT. SYNOP AND FM 13-IX EXT. SHIP APPLY 0001 01 FIRST NON - CB SIGNIFICANT LAYER 0002 01 SECOND NON - CB SIGNIFICANT LAYER 0003 01 THIRD NON - CB SIGNIFICANT LAYER 0004 01 CUMULONIMBUS LAYER 0005 01 CEILING 0006 01 CLOUD NOT DETECTED BELOW THE FOLLOWING HEIGHT(S) 0007 01 LOW CLOUD 0008 01 MIDDLE CLOUD 0009 01 HIGH CLOUD 0010 02 CLOUD LAYER WITH BASE BELOW THE STATION LEVEL AND TOP ABOVE THE STATION LEVEL 0011 01 CLOUD LAYER WITH BASE AND TOP BELOW THE STATION LEVEL 0063 01 MISSING VALUE 008003 0009 0000 01 SURFACE 0001 01 BASE OF SATELLITE SOUNDING 0002 01 CLOUD TOP 0003 01 TROPOPAUSE 0004 01 PRECIPITABLE WATER 0005 01 SOUNDING RADIANCES 0006 01 MEAN TEMPERATURES 0007 01 OZON 0063 01 MISSING VALUE 008004 0006 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING(DES) 0007 01 MISSING VALUE 008005 0005 0000 01 RESERVED 0001 01 STORM CENTRE 0002 01 OUTER LIMIT OR EDGE OF STORM 0003 01 LOCATION OF MAXIMUM WIND 0004 01 LOCATION OF STORM IN THE PERTURBED ANALYSIS 0005 01 LOCATION OF STORM IN THE ANALYSIS 0015 01 MISSING VALUE 008006 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 PROMINENT MAXIMUM LEVEL 0005 01 PROMINENT MINIMUM LEVEL 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008007 0005 0000 01 POINT 0001 01 LINE 0002 01 AREA 0003 01 VOLUME 0015 01 MISSING VALUE 008008 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 LEVEL OF BETA RADIATION MAXIMUM 0005 01 LEVEL OF GAMMA RADIATION MAXIMUM 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008009 0016 0000 01 LEVEL FLIGHT, ROUTINE OBSERVATION, UNSTEADY 0001 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED, UNSTEADY 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING (DES) 0007 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0008 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0009 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0010 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0011 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0012 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0013 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0014 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0015 01 MISSING VALUE 008010 0013 0000 01 RESERVED 0001 01 BARE SOIL 0002 01 BARE ROCK 0003 01 LAND GRASS COVER 0004 01 WATER (LAKE, SEA) 0005 01 FLOOD WATER UNDERNEATH 0006 01 SNOW 0007 01 ICE 0008 01 RUNWAY OR ROAD 0009 01 SHIP OR PLATFORM DECK IN STEEL 0010 01 SHIP OR PLATFORM DECK IN WOOD 0011 01 SHIP OR PLATFORM DECK PARTLY COVERED WITH RUBBER MAT 0031 01 MISSING VALUE 008011 0026 0000 01 QUASI-STATIONARY FRONT AT THE SURFACE 0001 01 QUASI-STATIONARY FRONT ABOVE THE SURFACE 0002 01 WARM FRONT AT THE SURFACE 0003 01 WARM FRONT ABOVE THE SURFACE 0004 01 COLD FRONT AT THE SURFACE 0005 01 COLD FRONT ABOVE THE SURFACE 0006 01 OCCLUSION 0007 01 INSTABILITY LINE 0008 01 INTERTROPICAL FRONT 0009 01 CONVERGENCE LINE 0010 01 JET STREAM 0011 01 CLOUD CLEAR 0012 01 CLOUD 0013 01 TURBULENCE 0014 01 STORM 0015 01 AIRFRAME ICING 0016 01 PHENOMENON 0017 01 VOLCANO 0018 01 ATMOSPHERICS 0020 01 SPECIAL CLOUDS 0021 01 THUNDERSTORM (VAL) 0022 01 TROPICAL CYCLONE (VAL) 0023 01 MOUNTAIN WAVE (VAL) 0024 01 DUSTSTORM (VAL) 0025 01 SANDSTORM (VAL) 0063 01 MISSING VALUE 008012 0004 0000 01 LAND 0001 01 SEA 0002 01 RESERVED 0003 01 MISSING VALUE 008013 0004 0000 01 NIGHT 0001 01 DAY 0002 01 RESERVED 0003 01 MISSING VALUE 008014 0010 0000 01 10-MINUTE MEAN VALUE - NORMAL VALUE 0001 01 10-MINUTE MEAN VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0002 01 10-MINUTE MEAN VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0003 01 ONE MINUTE MINIMUM VALUE - NORMAL VALUE 0004 01 ONE MINUTE MINIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0005 01 ONE MINUTE MINIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0006 01 ONE MINUTE MAXIMUM VALUE - NORMAL VALUE 0007 01 ONE MINUTE MAXIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0008 01 ONE MINUTE MAXIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0015 01 MISSING VALUE 008016 0005 0000 01 NOSIG 0001 01 BECMG 0002 01 TEMPO 0003 01 FM 0007 01 MISSING VALUE 008017 0004 0000 01 FM 0001 01 TL 0002 01 AT 0003 01 MISSING VALUE 008018 0005 0001 01 LAND IS PRESENT 0002 01 SURFACE ICE MAP INDICATES ICE IS PRESENT 0011 01 ICE MAP DATA NOT AVAILABLE 0012 01 ATTENUATION MAP DATA NOT AVAILABLE 0017 01 MISSING VALUE 008021 0028 0000 01 RESERVED 0001 01 TIME SERIES 0002 01 TIME AVERAGED 0003 01 ACCUMULATED 0004 01 FORECAST 0005 01 FORECAST TIME SERIES 0006 01 FORECAST TIME AVERAGED 0007 01 FORECAST ACCUMULATED 0008 01 ENSEMBLE MEAN 0009 01 ENSEMBLE MEAN TIME SERIES 0010 01 ENSEMBLE MEAN TIME AVERAGED 0011 01 ENSEMBLE MEAN ACCUMULATED 0012 01 ENSEMBLE MEAN FORECAST 0013 01 ENSEMBLE MEAN FORECAST TIME SERIES 0014 01 ENSEMBLE MEAN FORECAST AVERAGED 0015 01 ENSEMBLE MEAN FORECAST ACCUMULATED 0016 01 ANALYSIS 0017 01 START OF PHENOMENON 0018 01 RADIOSONDE LAUNCH TIME 0019 01 START OF ORBIT 0020 01 END OF ORBIT 0021 01 TIME OF ASCENDING NODE 0022 01 TIME OF OCCURENCE OF WIND SHIFT 0027 01 FIRST GUESS --NOT WMO ENTRY 0028 01 START OF SCAN --NOT WMO ENTRY 0029 01 END OF SCAN --NOT WMO ENTRY 0031 01 MISSING VALUE 008023 0017 0002 01 MAXIMUM VALUE 0003 01 MINIMUM VALUE 0004 01 MEAN VALUE 0005 01 MEDIAN VALUE 0006 01 MODAL VALUE 0007 01 MEAN ABSOLUTE ERROR 0009 01 BEST ESTIMATE OF STANDARD DEVIATION (N-1) 0010 01 STANDARD DEVIATION 0011 01 HARMONIC MEAN 0012 01 ROOT MEAN SQUARE VECTOR ERROR 0013 01 ROOT-MEAN-SQUARE 0032 01 VECTOR MEAN 0033 01 PRESCRIBED OBSERVATION ERROR 0034 01 PERSISTENCE OBSERVATION ERROR 0035 01 FINAL OBSERVATION ERROR 0036 01 REPRESENTATIVNESS OBSERVATION ERROR 0063 01 MISSING 008024 0012 0002 01 OBSERVED MINUS MAXIMUM 0003 01 OBSERVED MINUS MINIMUM 0004 01 OBSERVED MINUS MEAN 0005 01 OBSERVED MINUS MEDIAN 0006 01 OBSERVED MINUS MODE 0011 01 OBSERVED MINUS CLIMATOLOGY (ANOMALY) 0012 01 OBSERVED MINUS ANALYZED VALUE 0013 01 OBSERVED MINUS INITIALISED ANALYZED VALUE 0014 01 OBSERVED MINUS FORECAST VALUE 0021 01 OBSERVED MINUS INTERPOLATED VALUE 0022 01 OBSERVED MINUS HYDROSTATICALLY CALCULATED VALUE 0032 01 OBSERVED MINUS FIRST GUESS 0033 01 OBSERVED MINUS ANALYSIS 0034 01 OBSERVED MINUS INITIALIZED ANALYSIS 0063 01 MISSING 008025 0005 0000 02 UNIVERSAL TIME COORDINATED (UTC) MINUS LOCAL STANDARD TIME (LST) 0001 01 LOCAL STANDARD TIME 0002 01 UNIVERSAL TIME COORDINATED (UTC) MINUS SATELLITE CLOCK 0005 01 TIME DIFFERENCE FROM EDGE OF PROCESSING SEGMENT 0015 01 MISSING 008026 0005 0000 01 AVERAGING KERNEL MATRIX 0001 01 CORRELATION MATRIX 0002 01 LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L FROM C=LLT) 0003 01 INVERSE LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L**-1) 0063 01 MISSING VALUE 008027 0007 0000 01 ASSUME NO PARTICULAR MATRIX GEOMETRY 0001 01 DIAGONAL MATRIX 0002 01 TRIDIAGONAL MATRIX 0003 01 MULTI-DIAGONAL MATRIX (GENERAL CASE: DIAGONAL AND ABOVE) 0004 01 LOWER TRIANGULAR MATRIX 0005 01 SYMETRICAL MATRIX 0063 01 MISSING VALUE 008029 0005 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 ENCLOSED SEA OR LAKE 0002 01 CONTINENTAL ICE 0003 01 LAND 0255 01 MISSING 008033 0004 0000 01 RESERVED 0001 01 PERCENTAGE CONFIDENCE CALCULATED USING CLOUD FRACTION 0002 01 PERCENTAGE CONFIDENCE CALCULATED USING STANDARD DEVIATION OF TEMPERATURE 0003 02 PERCENTAGE CONFIDENCE CALCULATED USING PROBABILITY OF THE CLOUD CONTAMINATION 0004 01 PERCENTAGE CONFIDENCE CALCULATED USING NORMALITY OF DISTRIBUTION 0127 01 MISSING 008035 0008 0000 01 GLOBAL 0001 01 REGIONAL 0002 01 NATIONAL 0003 01 SPECIAL 0004 01 BILATERAL 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING 008036 0008 0000 01 WMO SECRETARIAT 0001 01 WMO 0002 01 RSMC 0003 01 NMC 0004 01 RTH 0005 01 OBSERVING SITE 0006 01 OTHER 0007 01 MISSING 008039 0008 0000 01 ISSUE TIME OF FORECAST 0001 01 TIME OF COMMNENCEMENT OF PERIOD OF THE FORECAST 0002 01 TIME OF ENDING OF PERIOD OF THE FORECAST 0003 01 FORECSAT TIME OF MAXIMUM TEMPERATURE 0004 01 FORECSAT TIME OF MINIMUM TEMPERATURE 0005 01 TIME OF BEGINNING OF THE FORECAST 0006 01 TIME OF ENDING OF THE FORECAST 0063 01 MISSING VALUE 008040 0043 0000 01 HIGH RESOLUTION DATA SAMPLE 0001 01 WITHIN 20 HPA OF SURFACE 0002 02 PRESSURE LESS THAN 10 HPA (I.E., 9, 8, 7, ETC.) WHEN NO OTHER REASON APPLIES 0003 01 BASE PRESSURE LEVEL FOR STABILITY INDEX 0004 01 BEGIN DOUBTFUL TEMPERATURE, HEIGHT DATA 0005 01 BEGIN MISSING DATA (ALL ELEMENTS) 0006 01 BEGIN MISSING RH DATA 0007 01 BEGIN MISSING TEMPERATURE DATA 0008 02 HIGHEST LEVEL REACHED BEFORE BALLOON DESCENT BECAUSE OF ICING OR TURBULENCE 0009 01 END DOUBTFUL TEMPERATURE, HEIGHT DATA 0010 01 END MISSING DATA (ALL ELEMENTS) 0011 01 END MISSING RH DATA 0012 01 END MISSING TEMPERATURE DATA 0013 01 ZERO DEGREES C CROSSING(S) FOR RADAT 0014 01 STANDARD PRESSURE LEVEL 0015 01 OPERATOR ADDED LEVEL 0016 01 OPERATOR DELETED LEVEL 0017 01 BALLOON RE-ASCENDED BEYOND PREVIOUS HIGHEST ASCENT LEVEL 0018 01 SIGNIFICANT RH LEVEL 0019 01 RH LEVEL SELECTION TERMINATED 0020 01 SURFACE LEVEL 0021 01 SIGNIFICANT TEMPERATURE LEVEL 0022 01 MANDATORY TEMPERATURE LEVEL 0023 01 FLIGHT TERMINATION LEVEL 0024 01 TROPOPAUSE(S) 0025 01 AIRCRAFT REPORT 0026 01 INTERPOLATED (GENERATED) LEVEL 0027 01 MANDATORY WIND LEVEL 0028 01 SIGNIFICANT WIND LEVEL 0029 01 MAXIMUM WIND LEVEL 0030 01 INCREMENTAL WIND LEVEL (FIXED REGIONAL) 0031 01 INCREMENTAL HEIGHT LEVEL (GENERATED) 0032 01 WIND TERMINATION LEVEL 0033 01 PRESSURE 100 TO 110 HPA, WHEN NO OTHER REASON APPLIES 0040 01 SIGNIFICANT THERMODYNAMIC LEVEL (INVERSION) 0041 01 SIGNIFICANT RH LEVEL ( PER NCDC CRITERIA) 0042 01 SIGNIFICANT TEMPERATURE LEVEL (PER NCDC) 0043 01 BEGIN MISSING WIND DATA 0044 01 END MISSING WIND DATA 0060 01 LEVEL OF 80-KNOT ISOTACH ABOVE JET 0061 01 LEVEL OF 80-KNOT ISOTACH BELOW JET 0062 01 OTHER 0063 01 MISSING VALUE 008041 0009 0000 01 PARENT SITE 0001 01 OBSERVATION SITE 0002 01 BALLOON MANUFACTURE DATE 0003 01 BALLOON LAUNCH POINT 0004 01 SURFACE OBSERVATION 0005 01 SURFACE OBSERVATION DISPLACEMENT FROM LAUNCH POINT 0006 01 FLIGHT LEVEL OBSERVATION 0007 01 FLIGHT LEVEL TERMINATION POINT 0031 01 MISSING VALUE 008042 0014 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT TEMPERATURE LEVEL 0006 01 SIGNIFICANT HUMIDITY LEVEL 0007 01 SIGNIFICANT WIND LEVEL 0008 01 BEGINNING OF MISSING TEMPERATURE DATA 0009 01 END OF MISSING TEMPERATURE DATA 0010 01 BEGINNING OF MISSING HUMIDITY DATA 0011 01 END OF MISSING HUMIDITY DATA 0012 01 BEGINNING OF MISSING WIND DATA 0013 01 END OF MISSING WIND DATA 0018 01 ALL 18 MISSING 008043 21 0000 01 OZONE, O3,10028-15-6 0001 01 WATER VAPOUR, H2O, 7732-18-5 0002 01 METHANE, CH4, 74-82-8 0003 01 CARBON DIOXIDE, CO2, 37210-16-5 0004 01 CARBON MONOXIDE, CO, 630-08-0 0005 01 NITROGEN DIOXIDE, NO2, 10102-44-0 0006 01 NITROUS OXIDE, N2O, 10024-97-2 0007 01 FORMALDEHYDE, HCHO, 50-00-0 0008 01 SULFUR DIOXIDE, SO2, 7446-09-5 0009 01 BROMINE OXIDE, BRO, 15656-19-6 0010 01 CHLORINE DIOXIDE, OCLO, 10049-04-4 0011 01 NITROGEN MONOXIDE, NO, 10102-43-9 0012 01 AMMONIA, NH3, 7664-41-7 0025 01 PARTICULATE MATTER < 1.0 MICRONS 0026 01 PARTICULATE MATTER < 2.5 MICRONS 0027 01 PARTICULATE MATTER < 10 MICRONS 0028 01 AEROSOLS GENERIC 0029 01 SMOKE GENERIC 0030 01 CRUSTAL MATERIAL (GENERIC DUST) 0031 01 VOLCANIC ASH 0255 01 MISSING 008050 0011 0000 01 RESERVED 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MAXIMUM TEMPERATURE 0008 01 MINIMUM TEMPERATURE 0009 01 WIND 0015 01 MISSING VALUE 008051 0007 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MISSING VALUE 008052 0026 0000 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 10 M/S 0001 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 20 M/S 0002 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 30 M/S 0003 01 MAXIMUM TEMPERATURE LESS THAN 273.2 K 0004 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 298.2 K 0005 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 303.2 K 0006 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 308.2 K 0007 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 313.2 K 0008 01 MINIMUM TEMPERATURE LESS THAN 273.2 K 0009 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 273.2 K 0010 01 PRECIPITATION EQUAL TO OR MORE THAN 1.0 KG/M**2 0011 01 PRECIPITATION EQUAL TO OR MORE THAN 5.0 KG/M**2 0012 01 PRECIPITATION EQUAL TO OR MORE THAN 10.0 KG/M**2 0013 01 PRECIPITATION EQUAL TO OR MORE THAN 50.0 KG/M**2 0014 01 PRECIPITATION EQUAL TO OR MORE THAN 100.0 KG/M**2 0015 01 PRECIPITATION EQUAL TO OR MORE THAN 150.0 KG/M**2 0016 01 SNOW DEPTH MORE THAN 0.0 M 0017 01 SNOW DEPTH MORE THAN 0.01 M 0018 01 SNOW DEPTH MORE THAN 0.10 M 0019 01 SNOW DEPTH MORE THAN 0.50 M 0020 01 HORIZONTAL VISIBILITY LESS THAN 50 M 0021 01 HORIZONTAL VISIBILITY LESS THAN 100 M 0022 01 HORIZONTAL VISIBILITY LESS THAN 1000 M 0023 01 HAIL 0024 01 THUNDERSTORM 0031 01 MISSING VALUE 008053 0004 0000 01 VALUE OCCURED ON ONLY ONE DAY IN THE MONTH 0001 01 VALUE OCCURED ON MORE THAN ONE DAY IN THE MONTH 0002 01 RESERVED 0003 01 MISSING VALUE 008054 0003 0000 01 WIND SPEED OR GUST IS AS REPORTED 0001 01 WIND SPEED IS GREATER THAN THAT REPRTED (P IN METAR/TAF/SPECI) 0007 01 MISSING VALUE 008060 0008 0000 01 RESERVED 0001 01 RANGE 0002 01 AZIMUTH 0003 01 HORIZONTAL 0004 01 VERTICAL 0005 01 NORTH/SOUTH 0006 01 EAST/WEST 0015 01 MISSING VALUE 008065 0004 0000 01 NO SUN-GLINT 0001 01 SUN-GLINT 0002 01 RESERVED 0003 01 MISSING VALUE 008066 0004 0000 01 OPAQUE 0001 01 SEMI-TRANSPARENT 0002 01 RESERVED 0003 01 MISSING VALUE 008070 0006 0000 01 RESERVED 0001 01 RESERVED 0002 02 EARTH LOCATED INSTRUMENT COUNTS, CALIBRATION COEFFICIENTS AND HOUSEKEEPING (LEVEL 1B) 0003 01 EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1C) 0004 02 MAPPED TO A COMMON FOOTPRINT, EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1D) 0015 01 MISSING VALUE 008072 0004 0000 01 MIXED 0001 01 CLEAR 0002 01 CLOUDY 0007 01 MISSING VALUE 008074 0004 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 NON-OCEAN LIKE 0002 01 RESERVED 0003 01 MISSING VALUE 008075 0004 0000 01 ASCENDING ORBIT 0001 01 DESCENDING ORBIT 0002 01 RESERVED 0003 01 MISSING VALUE 008076 0003 0000 01 KU 0001 01 C 0063 01 MISSING VALUE 008077 0007 0000 01 LAND 0001 01 SEA 0002 01 COASTAL 0003 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0004 01 ENCLOSED SEA OR LAKE 0005 01 CONTINENTAL ICE 0127 01 MISSING VALUE 008079 0009 0000 01 NORMAL ISSUE 0001 01 CORRECTION TO A PREVIOUSLY ISSUED PRODUCT (COR) 0002 01 AMANDMENT TO A PREVIOUSLY ISSUED PRODUCT *AMD) 0003 01 CORRECTION TO A PREVIOUSLY ISSUED AMENDED PRODUCT (COR AMD) 0004 01 CANCELLATION OD A PREVIOUSLY ISSUED PRODUCT (CNL) 0005 01 NO PRODUCT AVAILABLE (NIL) 0006 01 SPECIAL REPORT ( SPECI) 0007 01 CORRECTED SPECIAL REPORT (SPECI COR) 0015 01 MISSING VALUE 008080 0009 0000 01 TOTAL WATER PRESSURE PROFILE 0001 01 TOTAL WATER TEMPERATURE PROFILE 0002 01 TOTAL WATER SALINITY PROFILE 0003 01 TOTAL WATER CONDUCTIVITY PROFILE 0010 01 WATER PRESSURE AT A LEVEL 0011 01 WATER TEMPERATURE AT A LEVEL 0012 01 SALINITY AT A LEVEL 0020 01 POSITION 0063 01 MISSING VALUE 008081 0005 0000 01 SENSOR 0001 01 TRANSMITTER 0002 01 RECEIVER 0003 01 OBSERVING PLATFORM 0063 01 MISSING VALUE 008082 0003 0000 01 SENSOR HEIGHT IS NOT MODIFIED 0001 01 SENSOR HEIGHT IS MODIFIED TO STANDARD LEVEL 0007 01 MISSING VALUE 008083 0009 0001 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) 0002 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABOVE WATER SURFACE 0003 01 ADJUSTED WITH RESPECT TO STANDARD SURFACE ROUGHNESS 0004 01 ADJUSTED WITH RESPECT TO WIND SPEED 0005 01 ADJUSTED WITH RESPECT TO TEMPERATURE 0006 01 ADJUSTED WITH RESPECT TO PRESSURE 0007 01 ADJUSTED WITH RESPECT TO HUMIDITY 0008 01 ADJUSTED WITH RESPECT TO EVAPORATION 0009 01 ADJUSTED WITH RESPECT TO WETTING LOSSES 008085 0004 0000 01 FORE BEAM 0001 01 MID BEAM 0002 01 AFT BEAM 0003 01 RESERVED 0004 01 RESERVED 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING VALUE 008193 0007 0000 01 START TIME OF ORBIT 0001 01 END TIME OF ORBIT 0002 01 TIME OF ASCENDING NODE 0003 01 ASSIMILATION TIME 0004 01 START TIME OF ASSIMILATION 0005 01 END TIME OF ASSIMLATION 0063 01 MISSING 008195 0032 0001 01 FIRST GUESS 0002 01 ANALYSIS 0003 01 INITIALISED ANALYSIS 0004 01 OI ANALYSIS 0005 01 3 D VARIATIONAL ANALYSIS 0006 01 4 D VARIATIONAL ANALYSIS 0007 01 3 D VARIATIONAL GRADIENTS 0008 01 4 D VARIATIONAL GRADIENTS 0009 01 FORECAST 0010 01 CONTROL FORECAST 0011 01 PERTURBED FORECAST 0012 01 ERRORS IN FIRST GUESS 0013 01 ERRORS IN ANALYSIS 0014 01 CLUSTER MEANS 0015 01 CLUSTER STANDARD DEVIATIONS 0016 01 FORECAST PROBABILITIES 0017 01 ENSEMBLE MEANS 0018 01 ENSEMBLE STANDARD DEVIATIONS 0019 01 FORECAST ACCUMULATIONS 0020 01 CLIMATOLOGY 0021 01 CLIMATE SIMULATION 0030 01 OBSERVATIONS 0031 01 QUALITY CONTROL 0032 01 DIFFERENCE STATISTICS 0040 01 IMAGE DATA 0050 01 SENSITIVITY GRADIENTS 0051 01 TRAJECTORY FORECAST 0052 01 SENSITIVITY FORECAST 0060 01 PERTURBED ANALYSIS 0061 01 PERTURBATION 0062 01 SINGULAR VECTOR 0127 01 MISSING VALUE 010063 0010 0000 02 INCREASING, THEN DECREASING: ATMOSPHERIC PRESURE THE SAME OR HIGHER THAN 3 HOURS AGO (OR 24 HOURS AGO ) 0001 01 INCREASING, THEN STEADY; OR INCREASING; THEN MORE SLOWLY 0002 01 INCREASING (STEADILY OR UNSTEADILY ) 0003 01 DECREASING OR STEADY, THEN INCREASING; RAPIDLY 0004 02 STEADY; ATMOSPHERIC PRESSURE THE SAME AS 3 HOURS AGO (OR 24 HOURS) 0005 02 DECREASING; THEN INCREASING; ATMOSPHERIC PRESSURE THE SAME O R LOWER THAN 3 HOURS AGO 0006 02 DECREASING, THEN STEADY; OR DECREASING, DECREASING MORE SLOW LY 0007 01 DECREASING (STEADILY OR UNSTEADELY ) 0008 02 STEADY OR INCREASING, THEN DECREASING; OR DECREASING, THEN DECREASING MORE RAPIDLY 0015 01 MISSING 010064 0004 0000 01 SUBSONIC 0001 01 TRANSONIC 0002 01 SUPERSONIC 0007 01 MISSING VALUE 011031 0009 0000 01 NIL IN CLOUD 0001 01 SLIGHT IN CLOUD 0002 01 MODERATE IN CLOUD 0003 01 SEVERE IN CLOUD 0004 01 NIL IN CLEAR AIR 0005 01 SLIGHT IN CLEAR AIR 0006 01 MODERATE IN CLEAR AIR 0007 01 SEVERE IN CLEAR AIR 0015 01 MISSING VALUE 011037 0030 0000 01 AVE <0.1 PEAK <0.1 0001 01 AVE <0.1 0.1 <= PEAK <0.2 0002 01 0.1 <= AVE <0.2 0.1 <= PEAK <0.2 0003 01 AVE <0.1 0.2 <= PEAK <0.3 0004 01 0.1 <= AVE <0.2 0.2 <= PEAK <0.3 0005 01 0.2 <= AVE <0.3 0.2 <= PEAK <0.3 0006 01 AVE <0.1 0.3 <= PEAK <0.4 0007 01 0.1 <= AVE <0.2 0.3 <= PEAK <0.4 0008 01 0.2 <= AVE <0.3 0.3 <= PEAK <0.4 0009 01 0.3 <= AVE <0.4 0.3 <= PEAK <0.4 0010 01 AVE <0.1 0.4 <= PEAK <0.5 0011 01 0.1 <= AVE <0.2 0.4 <= PEAK <0.5 0012 01 0.2 <= AVE <0.3 0.4 <= PEAK <0.5 0013 01 0.3 <= AVE <0.4 0.4 <= PEAK <0.5 0014 01 0.4 <= AVE <0.5 0.4 <= PEAK <0.5 0015 01 AVE <0.1 0.5 <= PEAK <0.8 0016 01 0.1 <= AVE <0.2 0.5 <= PEAK <0.8 0017 01 0.2 <= AVE <0.3 0.5 <= PEAK <0.8 0018 01 0.3 <= AVE <0.4 0.5 <= PEAK <0.8 0019 01 0.4 <= AVE <0.5 0.5 <= PEAK <0.8 0020 01 0.5 <= AVE <0.8 0.5 <= PEAK <0.8 0021 01 AVE <0.1 0.8 <= PEAK 0022 01 0.1 <= AVE <0.2 0.8 <= PEAK 0023 01 0.2 <= AVE <0.3 0.8 <= PEAK 0024 01 0.3 <= AVE <0.4 0.8 <= PEAK 0025 01 0.4 <= AVE <0.5 0.8 <= PEAK 0026 01 0.5 <= AVE <0.8 0.8 <= PEAK 0027 01 0.8 <= AVE 0.8 <= PEAK 0028 01 NIL NIL 0063 01 MISSING VALUE 011038 0017 0000 01 MIN < 1 0001 01 1 <= MIN < 2 0002 01 2 <= MIN < 3 0003 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0015 01 NO TIMING INFORMATION AVAILABLE 0031 01 MISSING VALUE 011039 0016 0000 01 1 <= MIN < 2 0001 01 2 <= MIN < 3 0002 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0060 01 NO TIMING INFORMATION AVAILABLE 0063 01 MISSING VALUE 013038 0004 0000 01 NOT SUPERADIABATIC 0001 01 SUPERADIABATIC 0002 01 RESERVED 0003 01 MISSING VALUE 013039 0003 0000 01 SEA ICE 0001 01 SNOW ON LAND 0007 01 MISSING VALUE 013040 0009 0000 01 LAND 0001 01 RESERVED 0002 01 NEAR COAST 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 DESERT 0015 01 MISSING VALUE 013041 0010 0001 01 A 0002 01 A-B 0003 01 B 0004 01 B-C 0005 01 C 0006 01 D 0007 01 E 0008 01 F 0009 01 G 0015 01 MISSING VALUE 013051 0008 0000 01 SMALLER THAN ANY VALUE IN THE 30 YEARS PERIOD 0001 01 IN THE FIRST QUINTILE 0002 01 IN THE SECOND QUINTILE 0003 01 IN THE THIRD QUINTILE 0004 01 IN THE FOURTH QUINTILE 0005 01 IN THE FIFTH QUINTILE 0006 01 GREATER THAN ANY VALUE IN THE 30 YEAR PERIOD 0015 01 MISSING VALUE 013056 0010 0000 01 NO PRECIPITATION 0001 01 LIGHT INTERMITTENT 0002 01 MODERATE INTERMITTENT 0003 01 HEAVY INTERMITTENT 0004 01 VERY HEAVY INTERMITTENT 0005 01 LIGHT CONTINUOUS 0006 01 MODERATE CONTINUOUS 0007 01 VERY HEAVY CONTINUOUS 0009 01 VARIABLE-ALTERNATIVELY LIGHT AND HEAVY 0015 01 MISSING VALUE 013057 0011 0000 01 NO PRECIPITATION 0001 01 WITHIN THE LAST HOUR 0002 01 1 TO 2 HOURS AGO 0003 01 2 TO 3 HOURS AGO 0004 01 3 TO 4 HOURS AGO 0005 01 4 TO 5 HOURS AGO 0006 01 5 TO 6 HOURS AGO 0007 01 6 TO 8 HOURS AGO 0008 01 8 TO 10 HOURS AGO 0009 01 MORE THAN 10 HOURS AHO 0015 01 MISSING VALUE 013202 0007 0000 01 LAND 0001 01 VEGETATION 0003 01 MULTI-YEAR ICE 0004 01 POSSIBLE ICE OR FIRST YEAR ICE 0005 01 OCEAN 0006 01 COASTLINE 0015 01 MISSING 015025 0000 0000 01 OZONE 0015 01 MISSING VALUE 019001 0007 0000 01 DEPRESSION OR LOW (EXTRATROPICAL) 0001 01 TROPICAL DEPRESSION 0002 01 TROPICAL STORM 0003 01 SEVERE TROPICAL STORM 0004 01 TYPHOON 0010 01 DUST/SANDSTORM 0063 01 MISSING VALUE 019008 0005 0000 01 RESERVED 0001 01 SHALLOW (TOP OF CIRCULATION BELOW 700-HPA LEVEL 0002 01 MEDIUM(TOP BETWEEN 700-HPA AND 400-HPA) 0003 01 DEEP(TOP ABOVE 400-HPA LEVEL 0007 01 MISSING VALUE 019010 0004 0000 01 RESERVED 0001 01 MINIMUM VALUE OF SEA LEVEL PRESSURE 0002 01 MAXIMUM VALUE OF 850 HPA RELATIVE VORTICITY 0015 01 MISSING VALUE 020003 0250 0000 01 CLOUD DEVELOPMENT NOT OBSERVED OR NOT OBSERVABLE 0001 01 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED 0002 01 STATE OF SKY ON THE WHOLE UNCHANGED 0003 01 CLOUDS GENERALLY FORMING OR DEVELOPING 0004 02 VISIBILITY REDUCED BY SMOKE, E.G. VELDT OR FOREST FIRES, IN DUSTRIAL SMOKE OR VOLCANIC ASHES 0005 01 HAZE 0006 02 WIDESPREAD DUST IN SUSPENSION IN THE AIR, NOT RAISED BY WIND AT OR NEAR THE STATION AT THE TIME OF OBSERVATION 0007 04 DUST OR SEND RAISED BY WIND AT OR NEAR THE STATION AT THE TI ME OF OBSERVATION, BUT NO WELL-DEVELOPED DUST WHRIL(S) OR SA ND WHRIL(S), AND NO DUSTSTORM OR SANDSTORM SEEN; OR, IN THE CASE OF SHIPS, BLOWING SPRAY AT THE STATION 0008 03 WELL-DEVELOPED DUST WHRIL(S) OR SAND WHRILS SEEN AT OR NEAR THE STATION DURING THE PRECEDING HOUR OR AT THE SAME TIME OF OBSERVATION, BUT NO DUSTSTORM OR SANDSTORM 0009 02 DUSTSTORM OR SANDSTORM WITHIN SIGHT AT THE TIME OF OBSERVATI ON, OR AT THE STATION DURING THE PRECEDING HOR 0010 01 MIST 0011 02 PACHES SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0012 03 MORE OR LESS CONTINUOUS SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0013 01 LIGHTNING VISIBLE, NO THUNDER HEARD 0014 02 PRECIPITATION WITHIN SIGHT, NOT REACHING THE GROUND OR THE SURFACE OF THE SEA 0015 03 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, BUT DISTANT, I.E. ESTIMATED TO BE MORE THAN 5 KM FROM THE STATION 0016 02 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, NEAR TO, BUT NOT AT THE STATION 0017 02 THUNDERSTORM, BUT NO PRECIPITATION AT THE TIME OF OBSERVATIO N 0018 02 SQUALLS AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDI NG HOUR OR AT THE TIME OF OBSERVATION 0019 02 FUNNEL CLOUD(S) AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0020 03 DRIZZEL (NOT FREEZING) OR SNOW GRAINS NOT FALLING AS SHOWERS ; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVAT IONS 0021 02 RAIN (NOT FREEZING) NOT FALLING AS SHOWER(S); DURING THE PRE ECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0022 02 SNOW NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0023 02 RAIN AND SNOW OR ICE PELLETS NOT FALLING AS SHOWER(S); DURIN G THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0024 02 FREEZING DRIZZEL OR FREEZING RAIN NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0025 02 SHOWER(S) OF RAIN; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0026 02 SHOWER(S) OF SNOW, OR OF RAIN AND SNOW; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0027 02 SHOWER(S) OF HAIL, OR OF RAIN AND HAIL; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0028 02 FOG OR ICE FOG; DURING THE PRECEDING HOUR BUT NOT AT THE TIM E OF OBSERVATION 0029 02 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION); DURING THE PRE CEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0030 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS DECREASED DURI NG THE PRECEDING HOURS 0031 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHA NGE DURING THE PRECEDING HOUR 0032 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS I NCEASED DURING THE PRECEDING HOUR 0033 02 SEVERE DUSTSTORM OR SANDSTORM HAS DECREASED DURING THE PREC EDING HOURS 0034 02 SEVERE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0035 02 SEVERE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS INCREASED DUR ING THE PRECEDING HOUR 0036 02 SLIGHT OR MODERATE DRIFTING SNOW GENERALLY LOW (BELOW EYE LE VEL) 0037 01 HEAVY DRIFTING SNOW GENERALY LOW (BELOW EYE LEVEL) 0038 02 SLIGHT OR MODERATE BLOWING SNOW GENERALLY HIGH (ABOVE EYE LE VEL) 0039 01 HEAVY BLOWING SNOW GENERALY HIGH (ABOVE EYE LEVEL) 0040 03 FOG OR ICE FOG AT A DISTANCE AT THE TIME OF OBSERVATION, BUT NOT AT THE STATION DURING THE PRECEDING HOUR, THE FOG OR IC E FOG EXTENDING TO A LEVEL ABOVE THAT OF THE OBSERVER 0041 01 FOG OR ICE FOG IN PATCHES 0042 02 FOG OR ICE FOG, SKY VISIBLE,HAS BECOME THINNER DURING THE PR ECEDING HOUR 0043 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BECOME THINNER DURING THE PRECEDING HOUR 0044 02 FOG OR ICE FOG, SKY VISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0045 02 FOG OR ICE FOG, SKY INVISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0046 02 FOG OR ICE FOG, SKY VISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0047 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0048 01 FOG, DEPOSITING RIME, SKY VISIBLE 0049 01 FOG, DEPOSITING RIME, SKY INVISIBLE 0050 02 DRIZZLE, NOT FREEZING, INTERMITTENT;SLIGHT AT TIME OF OBSERV ATION 0051 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;SLIGHT AT TIME OF OBSERV ATION 0052 02 DRIZZLE, NOT FREEZING, INTERMITTENT;MODERATE AT TIME OF OBSE RVATION 0053 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;MODERATE AT TIME OF OBSE RVATION 0054 02 DRIZZLE, NOT FREEZING, INTERMITTENT;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0055 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0056 01 DRIZZLE, FREEZING, SLIGHT 0057 01 DRIZZLE, FREEZING, MODERATE OR HEAVY (DENSE) 0058 01 DRIZZLE AND RAIN, SLIGHT 0059 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0060 01 RAIN,NOT FREEZING,INTERMITTENT;SLIGHT AT TIME OF OBSERVATION 0061 01 RAIN,NOT FREEZING,CONTINUOUS ;SLIGHT AT TIME OF OBSERVATION 0062 02 RAIN,NOT FREEZING,INTERMITTENT;MODERATE AT TIME OF OBSERVATI ON 0063 02 RAIN,NOT FREEZING,CONTINUOUS ;MODERATE AT TIME OF OBSERVATI ON 0064 02 RAIN, NOT FREEZING, INTERMITTENT;HEAVY AT TIME OF OBSERVATIO ON 0065 01 RAIN, NOT FREEZING, CONTINUOUS;HEAVY AT TIME OF OBSERVATION 0066 01 RAIN, FREEZING, SLIGHT 0067 01 RAIN, FREEZING, MODERATE OR HEAVY 0068 01 RAIN OR DRIZZLE AND SNOW, LIGHT 0069 01 RAIN OR DRIZZLE AND SNOW, MODERATE OR HEAVY 0070 02 INTERMITTENT FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0071 02 CONTINUOUS FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0072 02 INTERMITTENT FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0073 02 CONTINUOUS FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0074 02 INTERMITTENT FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0075 02 CONTINUOUS FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0076 01 DIAMOND DUST (WITH OR WITHOUT FOG) 0077 01 SNOW GRAINS (WITH OR WITHOUT FOG) 0078 01 ISOLATED STAR-LIKE SNOW CRYSTALS (WITH OR WITHOUT FOG) 0079 01 ICE PELLETS 0080 01 RAIN SHOWER(S), SLIGHT 0081 01 RAIN SHOWER(S), MODERATE OR HEAVY 0082 01 RAIN SHOWER(S), VIOLENT 0083 01 SHOWER(S) OF RAIN AND SNOW MIXED, SLIGHT 0084 01 SHOWER(S) OF RAIN AND SNOW MIXED, MODERATE OR HEAVY 0085 01 SNOW SHOWER(S), SLIGHT 0086 01 SNOW SHOWER(S), MODERATE OR HEAVY 0087 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, SLIGHT 0088 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, MODERATE OR HEAVY 0089 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, SLIGHT 0090 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, MODERATE OR HEAVY 0091 02 SLIGHT RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0092 02 MODERATE OR HEAVY RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0093 03 SLIGHT SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TIME OF OBSER VATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TI ME OF OBSERVATION 0094 03 MODERATE OR HEAVY SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TI ME OF OBSERVATION, THUNDERSTORM DURING PRECEDING HOUR BUT NO T AT TIME OF OBSERVATION 0095 03 THUNDERSTORM, SLIGHT OR MODERATE, WITHOUT HAIL, BUT WITH RAI N AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM DURING TH E PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0096 02 THUNDERSTORM, SLIGHT OR MODERATE,WITH HAIL AT TIME OF OBSERV ATION, THUNDERSTORM AT TIME OF OBSERVATION 0097 02 THUNDERSTORM, HEAVY, WITHOUT HAIL BUT WITH RAIN AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0098 02 THUNDERSTORM COMBINED WITH DUSTSTORM OR SANDSTORM AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0099 02 THUNDERSTORM, HEAVY, WITH HAIL AT TIME OF OBSERVATION, THUND ERSTORM AT TIME OF OBSERVATION 0100 01 NO SIGNIFICANT WEATHER OBSERVED 0101 02 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED DURIN G THE PAST HOUR 0102 01 STATE OF SKY ON THE WHOLE UNCHANGED DURING THE PAST HOUR 0103 01 CLOUDS GENERALLY FORMING OR DEVELOPING DURING THE PAST HOUR 0104 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY EQUAL TO, OR GREATER THAN 1KM 0105 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY LESS THAN 1KM 0110 01 MIST 0111 01 DIAMOND DUST 0112 01 DISTANT LIGHTING 0118 01 SQUALLS 0120 01 FOG 0121 01 PRECIPITATION 0122 01 DRIZZLE (NOT FREEZING) OR SNOW GRAINS 0123 01 RAIN (NOT FREEZING) 0124 01 SNOW 0125 01 FREEZING DRIZZLE OR FREEZING RAIN 0126 01 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION) 0127 01 BLOWING OR DRIFTING SNOW OR SAND 0128 02 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY EQUAL TO, OR GR ATER THAN, 1KM 0129 01 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY LESS THAN 1 KM 0130 01 FOG 0131 01 FOG OR ICE FOG, IN PATCHES 0132 01 FOG OR ICE FOG, HAS BECOME THINNER DURING PAST HOUR 0133 01 FOG OR ICE FOG, NO APPRECIABLE CHANGE DURING PAST HOUR 0134 01 FOG OR ICE FOG, HAS BECUNOR BECOME THICKER DURING PAST HOUR 0135 01 FOG, DEPOSITION RIME 0140 01 PRECIPITATION 0141 01 PRECIPITATION SLIGHT OR MODERATE 0142 01 PRECIPITATION, HEAVY 0143 01 LIQUID PRECIPITATION, SLIGHT OR MODERATE 0144 01 LIQUID PRECIPITATION, HEAVY 0145 01 SOLID PRECIPITATION, SLIGHT OR MODERATE 0146 01 SOLID PRECIPITATION, HEAVY 0147 01 FREEZING PRECIPITATION, SLIGHT OR MODERATE 0148 01 FREEZING PRECIPITATION, HEAVY 0150 01 DRIZZLE 0151 01 DRIZZLE, NOT FREEZING, SLIGHT 0152 01 DRIZZLE, NOT FREEZING, MODERATE 0153 01 DRIZZLE, NOT FREEZING, HEAVY 0154 01 DRIZZLE, FREEZING, SLIGHT 0155 01 DRIZZLE, FREEZING, MODERATE 0156 01 DRIZZLE, FREEZING, HEAVY 0157 01 DRIZZLE AND RAIN, SLIGHT 0158 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0160 01 RAIN 0161 01 RAIN, NOT FREEZING, SLIGHT 0162 01 RAIN, NOT FREEZING, MODERATE 0163 01 RAIN, NOT FREEZING, HEAVY 0164 01 RAIN, FREEZING, SLIGHT 0165 01 RAIN, FREEZING, MODERATE 0166 01 RAIN, FREEZING, HEAVY 0167 01 RAIN (OR DRIZZLE) AND SNOW, SLIGHT 0168 01 RAIN (OR DRIZZLE) AND SNOW, MODERATE AND HEAVY 0170 01 SNOW 0171 01 SNOW, SLIGHT 0172 01 SNOW, MODERATE 0173 01 SNOW, HEAVY 0174 01 ICE PELLETS, SLIGHT 0175 01 ICE PELLETS, MODERATE 0176 01 ICE PELLETS, HEAVY 0180 01 SHOWER(S) OR INTERMITTENT PRECIPITATION 0181 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, SLIGHT 0182 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, MODERATE 0183 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, HEAVY 0184 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, VIOLENT 0185 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, SLIGHT 0186 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, MODERATE 0187 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, HEAVY 0190 01 THUNDERSTORM 0191 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH NO PRECIPITATION 0192 02 THUNDERSTORM, SLIGHT OR MODERATE, WITH RAIN SHOWERS AND/OR S NOW SHOWERS 0193 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH HAIL 0194 01 THUNDERSTORM, HEAVY, WITH NO PRECIPITATION 0195 01 THUNDERSTORM, HEAVY, WITH RAIN SHOWERS AND/OR SNOW SHOWERS 0196 01 THUNDERSTORM, HEAVY, WITH HAIL 0204 01 VOLCANIC ASH SUSPENDED IN THE AIR ALOFT 0206 01 THICK DUST HAZE, VISIBILITY LESS THAN 1 KM 0207 01 BLOWING SPRAY AT THE STATION 0208 01 DRIFTING DUST (SAND) 0209 01 WALL OF DUST OR SAND IN DISTANCE (LIKE HABOOB) 0210 01 SNOW HAZE 0211 01 WHITEOUT 0213 01 LIGHTING, CLOUD TO SURFACE 0217 01 DRY THUNDERSTORM 0219 02 TORNADO CLOUD (DESTRUCTIVE AT OR WITHIN SIGHT OF THE STATION DURING PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0220 01 DEPOSITION OF VOLCANIC ASH 0221 01 DEPOSITION OF DUST OR SAND 0222 01 DEPOSITION OF DEW 0223 01 DEPOSITION OF WET SNOW 0224 01 DEPOSITION OF SOFT RIME 0225 01 DEPOSITION OF HARD RIME 0226 01 DEPOSITION OF HOAR FROST 0227 01 DEPOSITION OF GLAZE 0228 01 DEPOSITION OF ICE CRUST (ICE SLICK) 0230 01 DUSTSTORM OR SANDSTORM WITH TEMPERATURE BELOW 0 C DEGREES 0239 02 BLOWING SNOW, IMPOSSIBLE TO DETERMINE WHETHER SNOW IS FALLIN G OR NOT 0241 01 FOG ON SEA 0242 01 FOG IN VALLEYS 0243 01 ARCTIC OR ANTARCTIC SEA SMOKE 0244 01 STEAM FOG (SEA,LAKE OR RIVER) 0245 01 STEAM FOG (LAND) 0246 01 FOG OVER ICE OR SNOW COVER 0247 01 DENCE FOG VISIBILITY 60-90 M 0248 01 DENCE FOG VISIBILITY 30-60 M 0249 01 DENCE FOG VISIBILITY LESS THAN 30 M 0250 01 DRIZZLE, RATE OF FALL LESS THAN 0.10 MM/H 0251 01 DRIZZLE, RATE OF FALL 0.10 - .19 MM/H 0252 01 DRIZZLE, RATE OF FALL 0.20 - .39 MM/H 0253 01 DRIZZLE, RATE OF FALL 0.40 - .79 MM/H 0254 01 DRIZZLE, RATE OF FALL 0.80 - 1.59 MM/H 0255 01 DRIZZLE, RATE OF FALL 1.60 - 3.19 MM/H 0256 01 DRIZZLE, RATE OF FALL 3.20 - 6.39 MM/H 0257 01 DRIZZLE, RATE OF FALL 6.40 MM/H OR MORE 0259 01 DRIZZLE AND SNOW 0260 01 RAIN, RATE OF FALL LESS THAN 1.0 MM/H 0261 01 RAIN, RATE OF FALL 1.0 - 1.9 MM/H 0262 01 RAIN, RATE OF FALL 2.0 - 3.9 MM/H 0263 01 RAIN, RATE OF FALL 4.0 - 7.9 MM/H 0264 01 RAIN, RATE OF FALL 8.0 - 15.9 MM/H 0265 01 RAIN, RATE OF FALL 16.0 - 31.9 MM/H 0266 01 RAIN, RATE OF FALL 32.0 - 63.9 MM/H 0267 01 RAIN, RATE OF FALL 64.0 MM/H OR MORE 0270 01 SNOW, RATE OF FALL LESS THAN 1.0 CM/H 0271 01 SNOW, RATE OF FALL 1.0 - 1.9 CM/H 0272 01 SNOW, RATE OF FALL 2.0 - 3.9 CM/H 0273 01 SNOW, RATE OF FALL 4.0 - 7.9 CM/H 0274 01 SNOW, RATE OF FALL 8.0 - 15.9 CM/H 0275 01 SNOW, RATE OF FALL 16.0 - 31.9 CM/H 0276 01 SNOW, RATE OF FALL 32.0 - 63.9 CM/H 0277 01 SNOW, RATE OF FALL 64.0 CM/H OR MORE 0278 01 SNOW OR ICE CRISTAL PRECIPITATION FROM A CLEAR SKY 0279 01 WET SNOW, FREEZING ON CONTACT 0280 01 PRECIPITATION OF RAIN (WW= 87-99) 0281 01 PRECIPITATION OF RAIN,FREEZING (WW= 80-82) 0282 01 PRECIPITATION OF RAIN AND SNOW MIXED 0283 01 PRECIPITATION OF SNOW 0284 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL 0285 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN 0286 02 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN AND S NOW MIXED 0287 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH SNOW 0288 01 PRECIPITATION OF HAIL 0289 01 PRECIPITATION OF HAIL, WITH RAIN 0290 01 PRECIPITATION OF HAIL, WITH RAIN AND SNOW MIXED 0291 01 PRECIPITATION OF HAIL, WITH SNOW 0292 01 SHOWER(S) OR THUNDERSTORM OVER SEA 0293 01 SHOWER(S) OR THUNDERSTORM OVER MOUNTAINS 0508 02 NO SIGNIFICANT PHENOMENA TO REPORT, PRESENT AND PAST WEATHER OMITTED 0509 02 NOT OBSERVED, NO DATA AVAILABLE, PRESENT AND PAST WEATHER OM ITTED 0510 01 PRESENT AND PAST WEATHER MISSING, BUT EXPECTED 0511 01 MISSING VALUE 020004 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020005 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020008 0019 0000 01 SKY CLEAR 0001 01 FEW 0002 01 SCATTERED 0003 01 BROKEN 0004 01 OVERCAST 0005 01 RESERVED 0006 01 SCATTERED/BROKEN (MANY FORECASTS USE SCATTERED/BROKEN 0007 01 BROKEN/OVERCAST (BROKEN/OVERCAST FOLLOWED BY CLOUD TYPE(S)) 0008 01 ISOLATED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0009 01 ISOLATED EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0010 01 OCCASIONAL (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0011 01 OCCASIONAL EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0012 01 FREQUENT (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0013 02 DENSE (USED ON AVIATION CHARTS TO DESCRIBE CLOUD THAT WOULD CAUSE SUDDEN CHANGES IN VISIBILITY (LESS THAN 1000M)) 0014 01 LAYERS 0015 01 OBSCURED (OBSC) 0016 01 EMBEDDED (EMBD) 0017 01 FREQUENT EMBEDDED 0031 01 MISSING VALUE 020009 0006 0000 01 RESERVED 0001 01 NSC MIL SIGNIFICANT CLOUD 0002 01 CAVOK 0003 01 SKC SKY CLEAR 0004 01 NSW NIL SIGNIFICANT WEATHER 0015 01 MISSING VALUE 020011 0011 0000 01 0 0 0001 01 1 OKTA OR LESS, BUT NOT ZERO 1/10 OR LESS, BUT NOT ZERO 0002 01 2 OKTAS 2/10 - 3/10 0003 01 3 OKTAS 4/10 0004 01 4 OKTAS 5/10 0005 01 5 OKTAS 6/10 0006 01 6 OKTAS 7/10 - 8/10 0007 01 7 OKTAS OR MORE,BUT NOT 8 OKTAS9/10 OR MORE, BUT NOT 10/10 0008 01 8 OKTAS 10/10 0009 01 SKY OBSCURED BY FOG AND OR OTHER METEOROLOGICAL PHENOMENA 0015 02 CLOUD COVE IS INDISCERNIBLE FOR REASONS OTHER THAN FOG OR OT HER METEOROLOGICAL PHENOMENA, OR OBSERVATION IS NOT MADE 020012 0045 0000 01 CIRRUS (CI)...............CI 0001 01 CIRROCUMULUS (CC).........CC 0002 01 CIRROSTRATUS (CS).........CS 0003 01 ALTOCUMULUS (AC).........AC 0004 01 ALTOSTRATUS (AS).........AS 0005 01 NIMBOSTRATUS (NS).........NS 0006 01 STRATOCUMULUS(SC).........SC 0007 01 STRATUS (ST).........ST 0008 01 CUMULUS (CU).........CU 0009 01 CUMULONIMBUS (CB).........CB 0010 01 NO CH CLOUDS 0011 02 CIRRUS FIBRATUS, SOMETIMES UNCINUS, NOT PROGRESSIVELY INADIN G THE SKY 0012 04 CIRRUS SPISSATUS, IN PATCHES OR ENTANGLED SHEAVES, WHICH USU ALLY DO NOT INCREASE AND SOMETIMES SEEM TO BE THE REMAINS OF THE UPPER PART OF A CUMULONIMBUS; OR CIRRUS CASTELLANUS OR FLOCCUS 0013 01 CIRRUS SPISSATUS CUMULONIMBOGENITUS 0014 02 CIRRUS UNCINUS OR FIBRATUS,OR BOTH, PROGRESSIVELY INVADING T HE SKY ; THEY GENERALLY THICKEN AS A WHOLE 0015 04 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL DOES NOT REACH 45 DEGREES ABOVE THE HORIZON 0016 05 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL EXTENDS MORE THAN 45 DEGR REES ABOVE THE HORIZON, WITHOUT THE SKY BEING TOTALLY COVERE D 0017 01 CIRROSTRATUS COVERING THE WHOLE SKY 0018 02 CIRROSTRATUS NOT PROGRESSIVELY INVADING THE SKY AND NOT ENTI RELY COVERING IT 0019 02 CIRROCUMULUS ALONE, OR CIRROCUMULUS PREDOMINANT AMONG THE CH CLOUDS 0020 01 NO CM CLOUDS 0021 01 ALTOSTRATUS TRANSLUCIDUS 0022 01 ALTOSTRATUS OPACUS OR NIMBOSTRATUS 0023 01 ALTOCUMULUS TRANSLUCIDUS AT A SINGLE LEVEL 0024 02 PATCHES (OFTEN LENTICULARIS) OF ALTOCUMULUS TRANSLUCIDUS, CO NTINUALLY CHANGING AND OCCURING AT ONE OR MORE LEVELS 0025 04 ALTOCUMULUS TRANSLUCIDUS IN BANDS, OR ONE OR MORE LAYERS OF ALTOCUMULUS TRANSLUCIDUS OR OPACUS, PROGRESSIVELY INVADING T HE SKY; THESE ALTOCUMULUS CLOUDS GENERALLY THICKEN AS A WHOL E 0026 01 ALTOCUMULUS CUMULOGENITUS (OR CUMULONIMBOGENITUS) 0027 04 ALTOCUMULUS TRANSLUCIDUS OR OPACUS IN TWO OR MORE LAYERS, OR ALTOCUMULUS OPACUS IN A SINGLE LAYER, NOT PROGRESSIVELY INV ADING THE SKY, OR ALTOCUMULUS WITH ALTOSTRATUS OR NIMBOSTRAT US 0028 01 ALTOCUMULUS CASTELLANUS OR FLOCUS 0029 01 ALTOCUMULUS OF CHAOTIC SKY, GENERALLY AT SEVERAL LEVELS 0030 01 NO CL CLOUDS 0031 02 CUMULUS HUMILIS OR CUMULUS FRACTUS OTHER THAN OF BAD WEATHER , OR BOTH 0032 03 CUMULUS MEDIOCRIS OR CONGESTUS, WITH OR WITHOUT CUMULUS OF S PECIES FRACTUS OR HUMULIS OR STRATOCUMULUS, ALL HAVING THEIR BASES AT THE SAME LEVEL 0033 02 CUMULONIMBUS CALVUS, WITH OR WITHOUT CUMULUS, STRATOCUMULUS OR STRATUS 0034 01 STRATOCUMULUS CUMULOGENITUS 0035 01 STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGENITUS 0036 02 STRATUS NEBULOSUS OR STRATUS FRACTUS OTHER THAN OF BAD WEATH ER, OR BOTH 0037 02 STRATUS FRACTUS OR CUMULUS FRACTUS OF BAD WEATHER, OR BOTH (PANNUS), USUALLY BELOW ALTOSTRATUS OR NIMBOSTRATUS 0038 02 CUMULUS AND STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGEN ITUS, WITH BASES AT DIFFERENT LEVELS 0039 03 CUMULONIMBUS CAPILLATUS (OFTEN WITH AN ANVIL), WITH OR WITHO UT CUMULONIMBUS CALVUS, CUMULUS, STRATOCUMULUS, STRATUS OR P ANNUS 0059 02 CLOUD NOT VISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDSTO RM, OR OTHER ANALOGOUS PHENOMENA 0060 03 CH CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0061 03 CM CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0062 02 CL CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA 0063 01 MISSING VALUE 020017 0011 0000 01 ISOLATED CLOUD OR FRAGMENTS OF CLOUD 0001 01 CONTINUOUS CLOUD 0002 01 BROKEN CLOUD - SMALL BREAKS, FLAT TOPS 0003 01 BROKEN CLOUD - LARGE BREAKS, FLAT TOPS 0004 01 CONTINUOUS CLOUD 0005 01 BROKEN CLOUD - SMALL BREAKS, UNDULATED TOPS 0006 01 BROKEN CLOUD - LARGE BREAKS, UNDULATED TOPS 0007 02 CONTINUOUS OR ALMOST CONTINUOUS WAVES WITH TOWERING CLOUDS A BOVE THE TOP OF THE LAYER 0008 02 GROUPS OF WAVES WITH TOWERING CLOUDS ABOVE THE TOP OF THE LA YER 0009 01 TWO OR MORE LAYERS AT DIFFERENT LEVELS 0015 01 MISSING VALUE 020018 0004 0000 01 INCREASING (U) 0001 01 DECREASING (D) 0002 01 NO DISTINCT CHANGE (N) 0003 01 MISSING VALUE 020021 0024 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 0030 01 ALL 30 MISSING VALUE 020022 0007 0000 01 NO PRECIPITATION 0001 01 CONTINUOUS 0002 01 INTERMITTENT 0003 01 SHOWER 0004 01 NOT REACHING GROUND 0005 01 DEPOSITION 0015 01 MISSING VALUE 020023 0012 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 0012 01 WATER-SPOUT 020024 0007 0000 01 NO PHENOMENA 0001 01 LIGHT 0002 01 MODERATE 0003 01 HEAVY 0004 01 VIOLENT 0005 01 SEVERE (VAL) 0007 01 MISSING VALUE 020025 0011 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 0021 01 ALL 21 MISSING VALUE 020026 0014 0000 01 NO CHANGE 0001 01 SHALLOW 0002 01 PATCHES 0003 01 PARTIAL 0004 01 FREEZING 0005 01 LOW DRIFTING 0006 01 BLOWING 0007 01 INCREASING 0008 01 DECREASING 0009 01 IN SUSPENSION IN THE AIR 0010 01 WALL 0011 01 DENSE 0012 01 WHITEOUT 0015 01 MISSING VALUE 020027 0007 0001 01 AT TIME OF OBSERVATION 0002 01 IN PAST HOUR 0003 01 IN TIME PERIOD FOR PAST WEATHER W1W2 0004 01 IN TIME PERIOD SPECIFIED 0006 01 BELOW STATION LEVEL 0007 01 AT THE STATION 0008 01 IN THE VICINITY 0009 01 ALL 9 MISSING VALUE 020029 0004 0000 01 NO RAIN 0001 01 RAIN 0002 01 RESERVED 0003 01 MISSING VALUE 020032 0006 0000 01 ICE NOT BUILDING UP 0001 01 ICE BUILDING UP SLOWLY 0002 01 ICE BUILDING UP QUICKLY 0003 01 ICE MELTING OR BREAKING UP SLOWLY 0004 01 ICE MELTING OR BREAKING UP RAPIDLY 0007 01 MISSING VALUE 020033 0004 0001 01 ICING FROM OCEAN SPRAY 0002 01 ICING FROM FOG 0003 01 ICING FROM RAIN 0004 01 MISSING VALUE 020034 0012 0000 01 NO SEA ICE IN SIGHT 0001 02 SHIP IN OPEN LEAD MORE THAN 1.0 NAUTICAL MILE WIDE, OR SHIP IN FAST ICE WITH BOUNDARY BEYOND LIMIT OF VISIBILITY 0002 04 SEA ICE PRESENT IN CONCETRATION LESS THAN 3/10 (3/8), OPEN W ATER OR VERY OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0003 03 4/10 TO 6/10 (3/8 TO LESS THAN 6/8) ,OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0004 03 7/10 TO 8/10 (6/8 TO LESS THAN 7/8), CLOSE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN IC E OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0005 04 9/10 OR MORE, BUT NOT 10/10 (7/8 TO LESS THAN 8/8), VERY CLO SE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVAT ION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDG E 0006 03 STRIPS AND PATCHES OF PACK ICE WITH OPEN WATER BETWEEN, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SH IP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0007 04 STRIPS AND PATCHES OF CLOSE OR VERY CLOSE PACK ICE WITH AREA S OF LESSER CONCENTRATION BETWEEN, SEA ICE CONCETRATION IS N OT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0. 5 NAUTICAL MILE OF ICE EDGE 0008 04 FAST ICE WITH OPEN WATER,VERY OPEN OR OPEN PACK ICE TO SEAWA RD OF THE ICE BOUNDARY, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0009 04 FAST ICE CLOSE OR VERY CLOSE PACK ICE TO SEAWARD OF THE ICE BOUNDARY, SEA ICE CONCETRATION IS NOT UNIFORM IN THE OBSERVA TION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE ED GE 0014 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY, O R BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0015 01 MISSING VALUE 020035 0012 0000 01 NO ICE OF LAND ORIGIN 0001 01 1-5 ICEBERGS, NO GROWLERS OR BERGY BITS 0002 01 6-10 ICEBERGS, NO GROWLERS OR BERGY BITS 0003 01 11-20 ICEBERGS, NO GROWLERS OR BERGY BITS 0004 01 UP TO AND INCLUDING 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0005 01 MORE THAN 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0006 01 1-5 ICEBERGS, WITH GROWLERS AND BERGY BITS 0007 01 6-10 ICEBERGS, WITH GROWLERS AND BERGY BITS 0008 01 11-20 ICEBERGS, WITH GROWLERS AND BERGY BITS 0009 02 MORE THAN 20 ICEBERGS,WITH GROWLERS AND BERGY BITS - A MAJOR HAZARD TO NAVIGATION 0014 02 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY SEA ICE IS VISIBLE 0015 01 MISSING VALUE 020036 0012 0000 01 SHIP IN OPEN WATER WITH FLOATING ICE IN SIGHT 0001 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS IMPROVING 0002 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS NOT CHANGING 0003 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS WORSENING 0004 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS IMPROVING 0005 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS NOT CHANGING 0006 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE FORMING AND FLOES FREEZING TOGETHAR 0007 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER SLIGHT PRESSURE 0008 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER MODERATE OR SEVERE PRESSURE 0009 01 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. SHIP BESET. 0030 01 UNABLE TO REPORT, BECAUSE OF DARKNESS OR LACK OF VISIBILITY 0031 01 MISSING VALUE 020037 0012 0000 01 NEW ICE ONLY (FRAZIL ICE, GREASE ICE, SLUSH, SHUGA) 0001 01 NILAS OR ICE RIND, LESS THAN 10 CM THICK 0002 01 YOUNG ICE(GREY ICE, GREY-WHITE ICE 0003 01 PREDOMINANTLY NEW AND/OR YOUNG ICE WITH SOME FIRST-YEAR ICE 0004 01 PREDOMINANTLY THIN FIRST-YEAR ICE WITH SOME NEW AND/OR YOUNG ICE 0005 01 ALL THIN FIRST-YEAR ICE (30-70 CM THICK) 0006 02 PREDOMINANTLY MEDIUM FIRST-YEAR ICE (70-120 CM THICK) AND THICK FIRST-YEAR ICE (>120 CM 0007 01 ALL MEDIUM AND THICK FIRST-YEAR ICE 0008 02 PREDOMINANTLY MEDIUM AND THICK FIRST-YEAR ICE WITH SOME OLD ICE (USUALLY MORE THAN 2 METRES THICK) 0009 01 PREDOMINANTLY OLD ICE 0030 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY ICE OF LAND ORIGIN IS VISIBLE OR BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0031 01 MISSING VALUE 020040 0009 0000 01 DRIFT SNOW ENDED BEFORE THE HOUR OF OBSERVATION 0001 01 INTENSITY DIMINISHING 0002 01 NO CHANGE 0003 01 INTENSITY INCREASING 0004 01 CONTINUES, APART FROM INTERRUPTION LASTING LESS THAN 30 MINUTES 0005 01 GENERAL DRIFT SNOW HAS BECOME DRIFT SNOW NEAR THE GROUND 0006 01 DRIFT SNOW NEAR THE GROUND HAS BECOME GENERAL DRIFT SNOW 0007 01 DRIFT SNOW HAS STARTED AGAIN AFTER AN INTERRUPTION OF MORE THAN 30 MINUTES 0015 01 MISSING VALUE 020041 0011 0000 01 NO ICING 0001 01 LIGHT ICING 0002 01 LIGHT ICING IN CLOUD 0003 01 LIGHT ICING IN PRECIPITATION 0004 01 MODERATE ICING 0005 01 MODERATE ICING IN CLOUD 0006 01 MODERATE ICING IN PRECIPITATION 0007 01 SEVERE ICING 0008 01 SEVERE ICING IN CLOUD 0009 01 SEVERE ICING IN PRECIPITATION 0015 01 MISSING VALUE 020042 0004 0000 01 NO ICING 0001 01 ICING PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020045 0004 0000 01 NO SLD CONDITIONS PRESENT 0001 01 SLD CONDITIONS PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020050 0010 0000 01 RESERVED 0001 01 1ST LOW CLOUD 0002 01 2ND LOW CLOUD 0003 01 3RD LOW CLOUD 0004 01 1ST MEDIUM CLOUD 0005 01 2ND MEDIUM CLOUD 0006 01 3RD MEDIUM CLOUD 0007 01 1ST HIGH CLOUD 0008 01 2ND HIGH CLOUD 0255 01 MISSING VALUE 020055 0011 0000 01 CUMULUS, IF ANY, ARE QUITE SMALL 0001 01 CUMULUS OF INTERMEDIATE SIZE 0002 01 SWELLING CUMULUS 0003 01 SWELLING CUMULUS WITH TOWERS 0004 01 SWELLING CUMULUS WITH TOWERS HAVING PRONOUNCED TILT 0005 01 TALL CUMULUS CONGESTUS 0006 01 ISOLATED CUMULONIMBUS 0007 01 NUMEROUS CUMULONIMBUS 0008 01 CONTINUOUS DENSE MIDDLE CLOUDS 0009 01 CONTINUOUS SHEETS OF MIDDLE CLOUDS 0015 01 MISSING VALUE 020056 0005 0000 01 UNKNOWN 0001 01 WATER 0002 01 ICE 0003 01 MIXED 0007 01 MISSING VALUE 020062 0021 0000 02 SURFACE OF GROUND DRY (WITHOUT CRACKS AND NO APPRECIABLE AMOUNT OF DUST OR LOOSE SAND) 0001 01 SURFACE OF GROUND MOIST 0002 02 SURFACE OF GROUND WET (STANDING WATER IN SMALL OR LARGE POOLS ON SURFACE) 0003 01 FLOODED WITHOUT SNOW 0004 01 SURFACE OF GROUND FROZEN MEASURABLE ICE 0005 01 GLAZE ON GROUND COVER 0006 01 LOOSE DRY DUST OR SAND NOT COVERING GROUND COMPLETELY 0007 01 THIN COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0008 02 MODERATE OR THICK COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0009 01 EXTREMELY DRY WITH CRACKS 0010 01 GROUND PREDOMINANTLY COVERED BY ICE 0011 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING LESS THAN ONE-HALF OF THE GROUND 0012 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING AT LEAST ONE-HALF OF THE GROUND BUT GROUND NOT COMPLETELY COVERED 0013 01 EVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND COMPLETELY 0014 02 UNEVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND WITH SNOW OR COMPLETELY MEASURABLE ICE 0015 01 LOOSE DRY SNOW COVERING LESS THAN ONE-HALF OF THE GROUND COVER 0016 02 LOOSE DRY SNOW COVERING AT LEAST ONE-HALF OF THE GROUND (BUT NOT COMPLETELY) 0017 01 EVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0018 01 UNEVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0019 01 SNOW COVERING GROUND COMPLETELY; DEEP DRIFTS 0031 01 MISSING VALUE 020063 0001 0000 01 TO BE DEVELOPED 020071 0011 0000 01 NO ASSESSMENT NO ASSESSMENT 0001 01 LESS THAN 50 KM LESS THAN 1 PER SECOND 0002 01 BETWEEN 50 AND 200 KM LESS THAN 1 PER SECOND 0003 01 MORE THAN 200 KM LESS THAN 1 PER SECOND 0004 01 LESS THAN 50 KM 1 OR MORE PER SECOND 0005 01 BETWEEN 50 AND 200 KM 1 OR MORE PER SECOND 0006 01 MORE THAN 200 KM 1 OR MORE PER SECOND 0007 01 LESS THANK 50 KM RATE SO RAPID NUMBER CANNOT BE COUNTED 0008 01 BETWEEN 50 AND 200 KM RATE SO RAPID NUMBER CANNOT BE COUNTED 0009 01 MORE THAN 200 KM RATE SO RAPID NUMBER CANNOT BE COUNTED 0015 01 MISSING VALUE 020086 0008 0000 01 CLEAR AND DRY 0001 01 DAMP 0005 01 WET SNOW 0006 01 SLUSH 0007 01 ICE 0008 01 COMPACTED OR ROLLED SNOW 0009 01 FROZEN RUTS OR RIDGES 0015 01 MISSING VALUE 020090 0007 0000 01 RESERVED 0001 01 NACREOUS CLOUDS 0002 01 NOCTILUCENT CLOUDS 0003 01 CLOUDS FROM WATERFALLS 0004 01 CLOUDS FROM FIRES 0005 01 CLOUDS FROM VULCANIC ERUPTIONS 0015 01 MISSING VALUE 020101 0010 0001 01 SCHISTOCERCA GREGARIA 0002 01 LOCUSTA MIGRATORIA 0003 01 NOMADACRIS SEPTEMFASCIATA 0004 01 OEDALEUS SENAGALENSIS 0005 01 ANRACRIDIUM SPP 0006 01 OTHER LOCUST 0007 01 OTHER GRASSHOPPERS 0008 01 ITHER CRICKETS 0009 01 SPODOPTERA EXEMPTA 0015 01 MISSING VALUE 020102 0011 0000 01 GREEN 0001 01 GREEN AND BLACK 0002 01 BLACK 0003 01 YELLOW AND BLACK 0004 01 STRAW/GREY 0005 01 PINK 0006 01 DARK RED/BROWN 0007 01 MIXED RED AND YELLOW 0008 01 YELLOW 0009 01 OTHER 0015 01 MISSING VALUE 020151 0003 0000 01 FIRST YEAR ICE 0001 01 MULTI YEAR ICE 0007 01 MISSING 020252 0003 0000 01 NO EDGE 0001 01 EDGE PRESENT 0007 01 MISSING 020253 0007 0000 01 LAND 0001 01 VEGETATION COVERED LAND 0002 01 RESERVED 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 MISSING 021066 0011 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLINH WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIC VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF IN-PHASE AND QUADRATURE OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION =< MMCC VALUE 021067 0012 0001 01 NO FOREBEAM CALCULATION 0002 01 NO MIDBEAM CALCULATION 0003 01 NO AFTBEAM CALCULATION 0004 01 FOREBEAM ARCING DETECTED 0005 01 MID ARCING DETECTED 0006 01 AFTBEAM ARCING DETECTED 0007 01 ANY BEAM NOISE CONTENT ABOVE OR EQUAL TO TRESHOLD 0008 01 LAND (ANY LAND IN CELL FOOTPRINT) 0009 01 AUTONOMOUS AMBIGUITY REMOVAL NOT USED 0010 01 METEOROLOGICAL BACKGROUND NOT USED 0011 01 MINIMUM RESIDUAL EXCEEDED TRESHOLD 0012 01 FRAME CHECKSUM ERROR DETECTED 021068 0007 0001 01 STANDARD DEVIATION OF WIND SPEED OUTSIDE MMCC LIMIT 0002 01 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT OUTSIDE MMCC LIMIT 0003 01 STANDARD DEVIATION OF ALTITUDE OUTSIDE MMCC LIMIT 0004 01 MEAN PEAKINESS OUTSIDE MMCC LIMIT 0005 01 FRAME CHECKSUM ERROR DETECTED 0006 01 HEIGHT-TIME LOOP TIME CONSTANT CORRECTION NOT PERFORMED 0007 01 NOT ENOUGH MEASUREMENTS ( N< 10) 021069 0009 0001 01 12.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0002 01 11.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0003 01 3.7 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0004 01 1.6 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0005 02 CLOUD IDENTIFICATION USED 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST 0006 02 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST USED DYNAMIC TRESHOLD 0007 01 SUN GLINT DETECTED BY 1.6 MICROMETERS REFLECTANCE CLOUD TEST 0008 01 3.7 MICROMETERS USED IN SEA-SURFACE TEMPERATURE RETRIEVAL 0009 02 SEA-SURFACE TEMPERATURE DERIVATION USED DAYTIME DATA (NIGHT-TIME IF ZERO) 021070 0024 0001 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0002 01 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMBERING 0003 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0004 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0005 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0006 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0007 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0008 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0009 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0010 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0011 01 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMBERING 0012 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0013 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0014 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0015 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0016 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0017 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0018 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0019 01 NADIR VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0020 01 FORWARD VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0021 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS ACQUIRED WHEN ERS PLATFORM NOT IN YAW-STEERING MODE 0022 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS FOR WHICH PRODUCT CONFIDENCE DATA SHOW QUALITY IS POOR OR UNKNOWN 0023 01 MISSING VALUE 021072 0003 0001 01 HEIGHT ERROR CORRECTION APPLIED INSTEAD OF OPEN LOOP CALIBRATION 0002 01 MICROWAVE SOUNDER USED FOR TROPOSPHERE CORRECTION 0003 01 AGC OUTPUT CORRECTION APPLIED INSTED OF OPEN LOOP CALIBRATION 021073 0008 0001 01 BLANK DATA RECORD 0002 01 TEST 0003 01 CALIBRATION (CLOSED LOOP) 0004 01 BITE 0005 01 ACQUISITION ON ICE 0006 01 ACQUISITION ON OCEAN 0007 01 TRACKING ON ICE 0008 01 TRACKING ON OCEAN 021076 0004 0000 01 LINEAR 0001 01 LOGARITHMIC (BASE E) 0002 01 LOGARITHMIC (BASE 10) 0007 01 MISSING VALUE 021109 0008 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA0- FOR WIND RETRIEVAL 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0017 01 MISSING VALUE 021115 0011 0001 01 SIGMA-0 MEASUREMENT IS NOT USABLE 0002 01 SIGNAL TO NOISE RATIO IS LOW 0003 01 SIGMA-0 IS NEGATIVE 0004 01 SIGMA-0 IS OUTSIDE OF ACCEPTABLE RANGE 0005 01 SCATTEROMETER PULSE QUALITY IS NOT ACCEPTABLE 0006 01 SIGMA-0 CELL LOCATION ALGORITHM DOES NOT CONVERGE 0007 01 FREQUENCY SHIFT LIES BEYOND THE RANGE OF THE X FACTOR TABLE 0008 01 SPACECRAFT TEMPERATURE IS BEYOND CALIBRATION COEFFICIENT RANGE 0009 01 NO APPLICABLE ATTITUDE RECORDS WERE FOUND FOR THIS SIGMA-0 0010 01 INTERPOLATED EPHEMERIS DATA ARE NOT ACCEPTABLE FOR THIS SIGMA-0 0017 01 MISSING VALUE 021116 0016 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG (1) 0015 01 SLICES PER COMPOSITE FLAG (2) 0016 01 SLICES PER COMPOSITE FLAG (3) 021119 0014 0000 01 RESERVED 0001 01 SASS 0002 01 SASS2 0003 01 NSCAT0 0004 01 NSCAT1 0005 01 NSCAT2 0006 01 QSCAT0 0007 01 QSCAT1 0031 01 CMOD1 0032 01 CMOD2 0033 01 CMOD3 0034 01 CMOD4 0035 01 CMOD5 0064 01 MISSING VALUE 021144 0001 0001 01 RAIN 021150 0004 0000 01 DATA FROM SINGLE GROUND STATION (NO CO-LOCATION) 0001 01 DATA FROM MULTIPLE GROUND STATION (CO-LOCATED DATA) 0002 01 RESERVED 0003 01 MISSING VALUE 021155 0016 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA-0 FOR WIND RETRIEVAL 0003 01 ANY BEAM NOISE CONTENT ABOVE TRESHOLD 0004 01 PRODUCT MONITORING NOT USED 0005 01 PRODUCT MONITORING FLAG 0006 01 KNMI QUALITY CONTROL FAILS 0007 01 VARIATIONAL QUALITY CONTROL FAILS 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0013 01 RAIN FLAG FOR THE WIND VECTOR CELL IS NOT USABLE 0014 01 RAIN FLAG ALGORITHM DETECTS RAIN 0015 01 NO METEOROLOGICAL BACKGROUND USED 0016 01 DATA ARE REDUNDANT 021158 0004 0000 01 ACCEPTABLE 0001 01 NOT ACCEPTABLE 0002 01 RESERVED 0003 01 MISSING VALUE 021159 0004 0000 01 GOOD 0001 01 USABLE 0002 01 BAD 0003 01 MISSING VALUE 021169 0004 0000 01 NO ICE PRESENT 0001 01 ICE PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 021196 0012 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLING WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIED VALUE 0007 01 INPUT DATA MEAN AND STANDARD DEVIATION OF I AND Q OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VCALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION <= MMCC VALUE 0012 01 MISSING VALUE 021199 0007 0001 01 3.7 MICRO CHANNEL USED IN ASST DERIVATION 0002 01 ASST DERIVATION USED DATTIME DATA 0003 02 COMPARISON OF ASST AGAINST PREVIOUS EQUIVALENT PASS PERFORMED 0004 02 COMPARISON OF ASST AGAINST WEEKLY AVERAGE OF ASST PERFORMED 0005 01 0006 02 COMPARISON OF RATE OF CHANGE OF ASST AGAINST STATIC TRESHOLD PERFORMED 0007 01 MISSING VALUE 021227 0034 0000 01 RESERVED 0001 01 0-2 DEGREES 0002 01 3-4 DEGREES 0003 01 5-6 DEGREES 0004 01 7-6 DEGREES 0005 01 9-6 DEGREES 0006 01 11-12 DEGREES 0007 01 13-14 DEGREES 0008 01 15-16 DEGREES 0009 01 17-18 DEGREES 0010 01 19-20 DEGREES 0011 01 21-22 DEGREES 0012 01 23-24 DEGREES 0013 01 25-26 DEGREES 0014 01 27-28 DEGREES 0015 01 29-30 DEGREES 0016 01 31-32 DEGREES 0017 01 33-34 DEGREES 0018 01 35-36 DEGREES 0019 01 37-38 DEGREES 0020 01 39-40 DEGREES 0021 01 41-42 DEGREES 0022 01 43-44 DEGREES 0023 01 45-46 DEGREES 0024 01 47-48 DEGREES 0025 01 49-50 DEGREES 0026 01 51-52 DEGREES 0027 01 53-54 DEGREES 0028 01 55-56 DEGREES 0029 01 57-58 DEGREES 0030 01 59-60 DEGREES 0031 01 > 60 DEGREES 0032 01 INVALID 0064 01 MISSING VALUE 022056 0004 0000 01 UPWARDS PROFILE 0001 01 DOWNWARDS PROFILE 0002 01 HORIZONTAL 0003 01 MISSING VALUE 022060 0004 0000 01 DROGUE IS DETACHED 0001 01 DROGUE IS ATTACHED 0002 01 DROGUE STATUS UNKNOWN 0007 01 MISSING VALUE 022061 0011 0000 01 CALM (GLASSY) HEIGHT 0 M 0001 01 CALM (RIPPLED) HEIGHT 0 - 0.1 M 0002 01 SMOOTH (WAVELETS) HEIGHT 0.1 - 0.5 M 0003 01 SLIGHT HEIGHT 0.5 - 1.5 M 0004 01 MODERATE HEIGHT 1.25 - 2.5 M 0005 01 ROUGH HEIGHT 2.5 - 4 M 0006 01 VERY ROUGH HEIGHT 4 - 6 M 0007 01 HIGH HEIGHT 6 - 9 M 0008 01 VERY HIGH HEIGHT 9 -14 M 0009 01 PHENOMANAL HEIGHT OVER 14 M 0015 01 MISSING VALUE 022067 0001 0000 01 SEE COMMON CODE TABLE C3 022068 0001 0000 01 SEE COMMON CODE TABLE C4 022120 0013 0000 01 GOOD DATA 0001 01 MAXIMUM (HIGH) WATER LEVEL LIMIT EXCEEDED 0002 01 MINIMUM (LOW) WATER LEVEL LIMIT EXCEEDED 0003 01 RATE OF CHANGE LIMIT FOR WATER LEVEL EXCEEDED 0004 01 FLAT LIMIT FOR WATER LEVEL EXCEEDED 0005 01 OBSERVED MINUS PREDICTED WATER LEVEL VALUE LIMIT EXCEEDED 0006 02 OBSERVED VALUE FROM PRIMARY WATER LEVEL SENSOR MINUS BACKUP WATER LEVEL SENSOR 0007 01 VALUE EXCEEDED SPECIFIED TOLERANCE FROM EXPECTED VALUE 0008 01 WATER LEVEL QA PARAMETER (SIGMAS AND/OR OUTLIERS) LIMITS EXCEEDED 0009 01 SEA TEMPERATURE OUTSIDE OF EXPECTED RANGE 0010 01 MULTIPLE QC CHECKS (ABOVE) FAILED 0011 01 NO AUTOMATED WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022121 0009 0000 01 OPERATIONAL 0001 01 POSSIBLE CLOGGING PROBLEM OR OTHERWISE DEGRADED WATE LEVEL DATA 0002 01 POSSIBLE DATUM SHIFT 0003 01 UNKNOWN STATUS OF WATER LEVEL SENSOR 0004 01 SUSPECTED OR KNOWN SEA TEMPERATURE SENSOR PROBLEM 0005 01 MULTIPLE POSSIBLE PROBLEMS (ABOVE) 0006 01 BAD DATA- DO NOT DISSEMINATE 0007 01 NO MANUAL WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022122 0008 0000 01 GOOD DATA FROM ALL SENSORS 0001 01 WIND DIRECTION OUTSIDE OF ALLOWABLE RANGE 0002 01 WIND SPEED OUTSIDE OF EXPECTED RANGE 0003 01 BAROMETRIC PRESSURE OUTSIDE OF EXPECTED RANGE 0004 01 AIR TEMPERATURE OUTSIDE OF EXPECTED RANGE 0005 01 MULTIPLE SENSOR FAILED QC CHECKS 0006 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022123 0009 0000 01 OPERATIONAL 0001 01 SUSPECTED OR KNOWN PROBLEM WITH WIND SENSOR 0002 01 SUSPECTED OR KNOWN PROBLEM WITH BAROMETRIC PRESSURE SENSOR 0003 01 SUSPECTED OR KNOWN PROBLEM WITH AIR TEMPERATURE SENSOR 0004 01 UNKNOWN STATUS OF ALL SENSORS 0005 01 SUSPECTED OR KNOWN PROBLEMS WITH MULTIPLE SENSORS 0006 01 BAD DATA - DO NOT DISSEMINATE 0007 01 NO MANUAL METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022252 0006 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MAGNOLIA CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 023001 0005 0000 01 RESERVED 0001 01 ARTICLES 1 AND 2 0002 01 ARTICLE 3 0003 01 ARTICLE 5.2 0007 01 MISSING VALUE 023002 0016 0000 01 RESERVED 0001 01 NUCLEAR REACTOR ON GROUND 0002 01 NUCLEAR REACTOR ON SEA 0003 01 NUCLEAR REACTOR IN SPACE 0004 01 NUCLEAR FULE FACILITY 0005 01 RADIOACTIVE WASTE MANAGMENT FACITILY 0006 01 TRANSPORT OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0007 01 STORAGE OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0008 01 MANUFACTURE OF RADIO-ISOTOPES 0009 01 USE OF RADIO-ISOTOPES 0010 01 STORAGE OF RADIO-ISOTOPES 0011 01 DISPOSAL OF RADIO-ISOTOPS 0012 01 TRANSPORT OF RADIO-ISOTOPES 0013 01 USE OF RADIO-ISOTOPES FOR POWER GENERATION 0030 01 OTHER 0031 01 MISSING VALUE 023003 0008 0000 01 NO RELEASE 0001 01 RELEASE TO ATMOSPHERE 0002 01 RELEASE TO WATER 0003 01 RELEASE TO BOTH ATMOSPHERE AND WATER 0004 01 EXPECTED RELEASE TO ATMOSPHERE 0005 01 EXPECTED RELEASE TO WATER 0006 01 EXPECTED RELEASE TO BOTH ATMOSPHERE AND WATER 0007 01 MISSING VALUE 023004 0006 0000 01 NO COUNTERMEASURE 0001 01 EVACUATION 0002 01 SHELTERING 0003 01 PROPHILAXIS 0004 01 WATER 0007 01 MISSING VALUE 023005 0004 0000 01 INCIDENT STAT DOES NOT UNDERSTAND WHAT HAPPENED 0001 01 INCIDENT STATE KNOWS THE CAUSE OF THE INCIDENT 0002 01 RESERVED 0003 01 MISSING VALUE 023006 0008 0000 01 NO IMPROVEMENT 0001 01 UNSTABLE 0002 01 NO DETERIORATION 0003 01 IMPROVING 0004 01 STABLE 0005 01 DETERIORATING 0006 01 RESERVED 0007 01 MISSING VALUE 023007 0005 0000 01 NO RELEASE 0001 01 RELEASE HAS STOPPED 0002 01 RELEASE 0003 01 RELEASE IS CONTINUING 0007 01 MISSING VALUE 023008 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023009 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023016 0004 0000 01 NO SIGNIFICANT TOXIC HEALTH EFFECT 0001 01 SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT POSSIBLE 0002 01 RESERVED 0003 01 MISSING VALUE 023018 0006 0000 01 RELEASE NO LONGER OCCURRING 0001 01 RELEASE STILL OCCURRING 0002 01 RELEASE EXPECTED TO INCREASE IN NEXT SIX HOURS 0003 01 RELEASE EXPECTED TO REMAIN CONSTANT IN NEXT SIX HOURS 0004 01 RELEASE EXPECTED TO DECREASE IN NEXT SIX HOURS 0007 01 MISSING VALUE 023031 0004 0000 01 PLUME WILL NOT ENCOUNTER RAIN IN INCIDENT STATE 0001 01 PLUME WILL ENCOUNTER RAIN IN INCIDENT STATE 0002 01 RESERVED 0003 01 MISSING VALUE 023032 0004 0000 01 NO SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0001 01 ANTICIPATED SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0002 01 RESERVED 0003 01 MISSING VALUE 024003 0005 0000 01 NOBLE GASES 0001 01 IODINES 0002 01 CAESIUM 0003 01 TRANSURANICS 0031 01 MISSING VALUE 025004 0004 0000 01 INCOHERENT 0001 01 COHERENT (DOPPLER) 0002 01 RESERVED 0003 01 MISSING VALUE 025005 0004 0000 01 LOGATITHM - 2.5 DB 0001 01 LINEAR 0002 01 SPECIAL 0003 01 MISSING VALUE 025006 0005 0000 01 ZH TO R CONVERSION 0001 01 (ZH, ZDR) TO (NO.DO) TO R 0002 01 (Z(F1),Z(F2)) TO ATTENUATION TO R 0006 01 OTHER 0007 01 MISSING VALUE 025009 0004 0001 01 NONE 0002 01 CALIBRATION TARGET OR SIGNAL 0003 01 AGAINST RAINGAGES 0004 01 AGAINST OTHER INSTRUMENTS (DISTROMETER-ATTENUATION) 025010 0008 0000 01 NONE 0001 01 MAP 0002 01 INSERTION OF HIGHER ELEVATION DATA AND MAP 0003 01 ANALYSIS OF FLUCTUATING LOGARITHM SIGNAL (CLUTTER DETECTION) 0004 01 EXTRACTION OF FLUCTUATING PART OF LINEAR SIGNAL (CLUTTER SUPPRESSION) 0005 01 CLUTTER SUPPRESSION DOPPLER 0006 01 MULTIPARAMETER ANALYSIS 0015 01 MISSING VALUE 025011 0004 0000 01 NONE 0001 01 MAP OF CORRECTION FACTORS 0002 01 INTERPOLATION (AZIMUTH OR ELEVATION) 0003 01 MISSING VALUE 025012 0004 0000 01 HARDWARE 0001 01 SOFTWARE 0002 01 HARDWARE AND SOFTWARE 0003 01 MISSING VALUE 025013 0001 0001 01 BRIGHT BAND CORRECTION 025015 0001 0001 01 RADOME ATTENUATION CORRECTION 025017 0001 0001 01 PRECIPITATION ATTENUATION CORRECTION 025020 0004 0000 01 FTT (FAST FOURIER TRANSFORM 0001 01 PPP (PULSE PAIR PROCESSING 0002 01 VPC (VECTOR-PHASE CHANGE) 0003 01 MISSING VALUE 025021 0005 0001 01 SIMPLE AVERAGE 0002 01 CONSENSUS AVERAGE 0003 01 MEDIAN CHECK 0004 01 VERTICAL CONSISTENCY CHECK 0005 01 OTHER 025030 0004 0000 01 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE USAGE CRITERIA NOT MET 0001 01 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE DATA NOT AVAILABLE 0002 01 RUNNING MEAN SEA-SURFACE TEMPERATURE USED AS PREDICTOR 0003 01 MISSING VALUE 025032 0004 0000 01 RESERVED 0001 01 DATA FROM LOW MODE 0002 01 DATA FROM HIGH MODE 0003 01 MISSING VALUE 025033 0004 0000 01 WIND PROFILER OPERATING IN SUBMODE A 0001 01 WIND PROFILER OPERATING IN SUBMODE B 0002 01 RESERVED 0003 01 MISSING VALUE 025034 0004 0001 01 TEST A PERFORMED AND FAILED 0002 01 TEST B PERFORMED AND FAILED 0003 01 TEST RESULTS INCONCLUSIVE 025036 0004 0000 02 NETWORK OF SEVERAL DIRECTION-FINDERS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0001 02 NETWORK OF SEVERAL ARRIVAL-TIME STATIONS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0006 01 SINGLE STATION RANGE BEARING TECHNIQUE 0015 01 MISSING VALUE 025040 0010 0000 01 NON-SPECIFIC MODE 0001 01 FIRST GUESS DATA 0002 01 CLOUD DATA 0003 01 AVERAGE VECTOR DATA 0004 01 PRIMARY DATA 0005 01 GUESS DATA 0006 01 VECTOR DATA 0007 01 TRACER DATA; THE IMAGE 0008 01 TRACER DATA TO NEXT IMAGE 0015 01 MISSING VALUE 025041 0004 0000 01 DIRECTION ORIGINALLY REPORTED IN TRUE DEGREES 0001 01 DIRECTION ORIGINALLY REPORTED USING CODE TABLE 0700, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025042 0004 0000 01 SPEED ORIGINALLY REPORTED IN METERS PER SECOND 0001 01 SPEED ORIGINALLY REPORTED USING CODE TABLE 2251, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025045 0020 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 0016 01 CHANNEL 16 PRESENT - (SET TO 1 PRESENT) 0017 01 CHANNEL 17 PRESENT - (SET TO 1 PRESENT) 0018 01 CHANNEL 18 PRESENT - (SET TO 1 PRESENT) 0019 01 CHANNEL 19 PRESENT - (SET TO 1 PRESENT) 0020 01 CHANNEL 20 PRESENT - (SET TO 1 PRESENT) 025046 0004 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 025047 0003 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 025048 0015 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 025049 0005 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 025051 0006 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 025053 0006 0001 01 GOOD 0002 01 REDUNDANT 0003 01 QUESTIONABLE 0004 01 BAD 0005 01 EXPERIMENTAL 0006 01 PRECIPITATING 025069 0007 0001 01 SMOOTHED 0002 01 BASELINE ADJUSTED 0003 01 NORMALIZED TIME INTERVAL 0004 01 OUTLIER CHECKED 0005 01 PLAUSIBILITY CHECKED 0006 01 CONSISTENCY CHECKED 0007 01 INTERPOLATED 025086 0004 0000 01 DEPTHS ARE NOT CORRECTED 0001 01 DEPTHS ARE CORRECTED 0002 01 RESERVED 0003 01 MISSING VALUE 025093 0003 0001 01 NO CORRECTION 0002 01 VERTICAL VELOCITY CORRECTION 0007 01 ALL CORRECTIONS 025095 0001 0001 02 ALTIMETER OPERATING (SET TO 0 IF NOMINAL, SET TO BACKUP) 025096 0004 0001 01 MODE INDICATOR (0 IF MODE 2, 1 IF MODE 1) 0002 03 MODE 1 CALIBRATION SEQUENCE INDICATOR (0 IF NORMAL DATA TAKING EITHER MODE 1 OR 2, 1 IF MODE 1 CALIBRATION SEQUENCE) BITS 3 AND 4 INDICATE ACTIVE 23.8 GHZ CHANNEL 0003 01 CHANNEL 2 (0 IF ON, 1 IF OFF) 0004 01 CHANNEL 3 (0 IF ON, 1 IF OFF) 025097 0011 0000 01 RANGES BETWEEN 0 AND 30 CM 0001 01 RANGES BETWEEN 30 AND 60 CM 0002 01 RANGES BETWEEN 60 AND 90 CM 0003 01 RANGES BETWEEN 90 AND 120 CM 0004 01 RANGES BETWEEN 120 AND 150 CM 0005 01 RANGES BETWEEN 150 AND 180 CM 0006 01 RANGES BETWEEN 180 AND 210 CM 0007 01 RANGES BETWEEN 210 AND 240 CM 0008 01 RANGES BETWEEN 240 AND 270 CM 0009 01 RANGES LARGER THAN 270 CM 0015 01 MISSING VALUE 025098 0008 0001 01 KU BAND RANGE 0002 01 C BAND RANGE 0003 01 KU BAND SWH 0004 01 C BAND SWH 0005 01 KU BAND SCATTEROMETER COEFFICIENT 0006 01 C BAND SCATTEROMETER COEFFICIENT 0007 01 OFF NADIR ANGLE FROM KU BAND WVEFORM PARAMETERS 0008 01 OFF NADIR FROM PLATFORM 025099 0006 0001 01 KU BAND RANGE INSTRUMENTAL CORRECTION 0002 01 C BAND RANGE INSTRUMENTAL CORRECTION 0003 01 KU BAND SWH INSTRUMENTAL CORRECTION 0004 01 C BAND SWH INSTRUMENTAL CORRECTION 0005 01 KU BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 0006 01 C BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 025110 0006 0001 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING DEFAULT PARAMETERS 0002 01 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING RAW DATA ANALYSIS RESULTS 0003 01 ANTENNA ELEVATION PATTERN CORRECTION APPLIED 0004 01 NOMINAL CHIRP REPLICA USED 0005 01 RECONSTRUCTED CHIRP USED 0006 01 SLANT RANGE TO GROUND RANGE CONVERSION APPLIED 025120 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025122 0004 0000 01 HARDWARE CONFIGURATION FOR RF IS A 0001 01 HARDWARE CONFIGURATION FOR RF IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025123 0004 0000 01 HARDWARE CONFIGURATION FOR HPA IS A 0001 01 HARDWARE CONFIGURATION FOR HPA IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025124 0004 0000 01 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025144 0014 0001 01 PIXEL IS AFFECTED BY RFI EFFECTS 0002 01 PIXEL IS LOCATED IN THE HEXAGONAL ALIAS DIRECTION CENTRED ON SUN ALIAS 0003 01 PIXEL IS CLOSE TO THE BORDER DELIMITING THE EXTENDED ALIAS FREE ZONE 0004 01 PIXEL IS INSIDE THE EXTENDED ALIAS FREE ZONE 0005 01 PIXEL IS INSIDE THE EXCLUSIVE OF ALIAS FREE ZONE 0006 01 PIXEL IS LOCATED IN ZONE WHERE A MOON ALIAS WAS RECONSTRUCTED 0007 01 PIXEL IS LOCATED IN ZONE WHERE SUN REFLECTION HAS BEEN DETECTED 0008 01 PIXEL IS LOCATED IN ZONE WHERE SUN ALIAS WAS RECONSTRUCTED 0009 02 FLAT TARGET TRANSFORMATION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0010 02 SCENE HAS BEEN COMBINED WITH AN ADJUSTMENT SCENE IN OPOSITE POLARISATION DURING IMAGE RECONSTRUCTION TO ACCOUNT FOR CROSS-POLARISATION LEAKAGE 0011 02 DIRECT MOON CORRECTION HAS BENN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0012 02 REFLECTED SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION IF THIS PIXEL 0013 02 DIRECT SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS IMAGE 026010 0025 0001 01 0100 INCLUDED 0002 01 0200 INCLUDED 0003 01 0300 INCLUDED 0004 01 0400 INCLUDED 0005 01 0500 INCLUDED 0006 01 0600 INCLUDED 0007 01 0700 INCLUDED 0008 01 0800 INCLUDED 0009 01 0900 INCLUDED 0010 01 1000 INCLUDED 0011 01 1100 INCLUDED 0012 01 1200 INCLUDED 0013 01 1300 INCLUDED 0014 01 1400 INCLUDED 0015 01 1500 INCLUDED 0016 01 1600 INCLUDED 0017 01 1700 INCLUDED 0018 01 1800 INCLUDED 0019 01 1900 INCLUDED 0020 01 2000 INCLUDED 0021 01 2100 INCLUDED 0022 01 2200 INCLUDED 0023 01 2300 INCLUDED 0024 01 2400 INCLUDED 0025 01 UNKNOWN MIXTURE OF HOURS 029001 0006 0000 01 GNOMONIC PROJECTION 0001 01 POLAR STEREOGRAPHIC PROJECTION 0002 01 LAMBERT'S CONFORMAL CONIC PROJECTION 0003 01 MERCATOR'S PROJECTION 0004 01 SCANNING CONE (RADAR) 0007 01 MISSING VALUE 029002 0004 0000 01 CARTESIAN 0001 01 POLAR 0002 01 OTHER 0007 01 MISSING VALUE 030031 0013 0000 01 PPI 0001 01 COMPOSITE 0002 01 CAPPI 0003 01 VERTICAL SECTION 0004 01 ALPHANUMERIC DATA 0005 01 MAP OF SUBJECT CLUTTER 0006 01 MAP 0007 01 TEST PICTURE 0008 01 COMMENTS 0009 01 MAP OF GROUND OCCULTATION 0010 01 MAP OF RADAR BEAM HEIGHT 0014 01 OTHER 0015 01 MISSING VALUE 030032 0009 0001 01 MAP 0002 01 SATELLITE IR 0003 01 SATELLITE VIS 0004 01 SATELLITE WV 0005 01 SATELLITE MULTISPECTRAL 0006 01 SYNOPTIC OBSERVATIONS 0007 01 FORECAST PARAMETERS 0008 01 LIGHTNING DATA 0015 01 OTHER DATA 031021 0004 0001 01 1 BIT INDICATOR OF QUALITY, 0= GOOD; 1=SUSPECT OR BAD 0002 02 2 BIT INDICATOR OF QUALITY, 0= GOOD; 1= SLIGHTLY SUSPECTED; 2= HIGHLY SUSPECTED; 3=BAD 0007 01 PERCENTAGE CONFIDENCE 0063 01 MISSING VALUE 031031 0001 0001 01 DATA NOT PRESENT 033002 0004 0000 01 DATA NOT SUSPECT 0001 01 DATA SUSPECT 0002 01 RESERVED 0003 01 MISSING VALUE 033003 0005 0000 01 DATA NOT SUSPECT 0001 01 DATA SLIGHTLY SUSPECT 0002 01 DATA HIGHTLY SUSPECT 0003 01 DATA CONSIDERED UNFIT FOR USE 0007 01 MISSING VALUE 033005 0023 0001 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0002 01 PRESSURE DATA SUSPECT 0003 01 WIND DATA SUSPECT 0004 01 DRY-BULB TEMPERATURE DATA SUSPECT 0005 01 WET-BULB TEMPERATURE DATA SUSPECT 0006 01 HUMIDITY DATA SUSPECT 0007 01 GROUND TEMPERATURE DATA SUSPECT 0008 01 SOIL TEMPERATURE (DEPTH 1) DATA SUSPECT 0009 01 SOIL TEMPERATURE (DEPTH 2) DATA SUSPECT 0010 01 SOIL TEMPERATURE (DEPTH 3) DATA SUSPECT 0011 01 SOIL TEMPERATURE (DEPTH 4) DATA SUSPECT 0012 01 SOIL TEMPERATURE (DEPTH 5) DATA SUSPECT 0013 01 CLOUD DATA SUSPECT 0014 01 VISIBILITY DATA SUSPECT 0015 01 PRESENT WEATHER DATA SUSPECT 0016 01 LIGHTNING DATA SUSPECT 0017 01 ICE DEPOSIT DATA SUSPECT 0018 01 PRECIPITATION DATA SUSPECT 0019 01 STATE OF GROUND DATA SUSPECT 0020 01 SNOW DATA SUSPECT 0021 01 WATER CONTENT DATA SUSPECT 0022 01 EVAPORATION/EVAPOTRANSPIRATION DATA SUSPECT 0023 01 SUNSHINE DATA SUSPECT 033006 0005 0000 01 SELF-CHECK OK 0001 01 AT LEAST ONE WARNING ACTIVE, NO ALARMS 0002 01 AT LEAST ONE ALARM ACTIVE 0003 01 SENSOR FAILURE 0007 01 MISSING VALUE 033015 0016 0000 01 PASSED ALL CHECKS 0001 01 MISSING-DATA CHECK 0002 01 DESCENDING/REASCENDING BALLOON CHECK 0003 01 DATA PLAUSIBILITY CHECK (ABOVE LIMITS) 0004 01 DATA PLAUSIBILITY CHECK (BELOW LIMITS) 0005 01 SUPERADIABATIC LAPSE RATE CHECK 0006 01 LIMITING ANGLES CHECK 0007 01 ASCENSION RATE CHECK 0008 01 EXCESSIVE CHANGE FROM PREVIOUS FLIGHT 0009 01 BALLOON OVERHEAD CHECK 0010 01 WIND SPEED CHECK 0011 01 WIND DIRECTION CHECK 0012 01 DEPENDENCY CHECK 0013 01 DATA VALID BUT MODIFIED 0014 01 DATA OUTLIER CHECK 0063 01 MISSING DATA 033020 0008 0000 01 GOOD 0001 01 INCONSISTENT 0002 01 DOUBTFUL 0003 01 WRONG 0004 01 NOT CHECKED 0005 01 HAS BEEN CHECKED 0006 01 RESERVED 0007 01 MISSING VALUE 033021 0004 0000 01 WITHIN LIMITS 0001 01 OUTSIDE LIMITS 0002 01 RESERVED 0003 01 MISSING VALUE 033022 0004 0000 01 GOOD (SEVERAL IDENTICAL REPORTS HAVE BEEN RECEIVED) 0001 01 DUBIOUS (NO IDENTICAL REPORT HAVE BEEN RECEIVED) 0002 01 RESERVED 0003 01 MISSING VALUE 033023 0004 0000 01 RELIABLE (LOCATION WAS MADE OVER TWO SATELLITE PASSES) 0001 01 LATEST KNOWN (NO LOCATION OVER CORRESPONDING PASS) 0002 01 DUBIOUS 0003 01 MISSING VALUE 033024 0010 0000 01 RESERVED 0001 01 EXELLENT - WITHIN 3 METRES 0002 01 GOOD - WITHIN 10 METRES 0003 01 FAIR - WITHIN 20 METRES 0004 01 POOR - MORE THAN 20 METRES 0005 01 EXELLENT -WITHIN 10 FEET 0006 01 GOOD WITHIN-30 FEET 0007 01 FAIR WITHIN 60 FEET 0008 01 POOR - MORE THAN 60 FEET 0015 01 MISSING VALUE 033025 0005 0000 01 TIME INTERPOLATED, LATITUDE AND LONGITUDE REPORTED 0001 01 TIME REPORTED, LATITUDE AND LONGITUDE INTERPOLATED 0002 01 TIME, LATITUDE AND LONGITUDE INTERPOLATED 0003 01 TIME, LATITUDE AND LONGITUDE REPORTED 0007 01 MISSING VALUE 033026 0010 0000 01 NORMAL OPERATIONS - MEASUREMENT MODE 0001 01 NORMAL OPERATIONS - NON-MEASUREMENT MODE 0002 01 SMALL RH 0003 01 HUMIDITY ELEMENT IS WET 0004 01 HUMIDITY ELEMENT IS CONTAMINATED 0005 01 HEATER FAIL 0006 01 HEATER FAIL AND WET/CONTAMINATED HUMIDITY ELEMENT 0007 01 SINGLE VALIDITY BAD 0008 01 NUMERIC ERROR 0063 01 MISSING VALUE 033027 0005 0000 01 RADIUS >= 1500 M 0001 01 500 M <= RADIUS < 1500 M 0002 01 250 M <= RADIUS < 500 M 0003 01 RADIUS < 250 M 0007 01 MISSING VALUE 033028 0006 0000 01 RESERVED 0001 01 NOMINAL 0002 01 DEGRADED BY SW ERROR; ANY ERROR REPORTED BY THE ALGORITHMS 0003 01 DEGRADED BY INSTRUMENT ERROR 0004 01 DEGRADED BY CORRUPTED/MISSING ADF 0007 01 MISSING 033030 0007 0001 01 DO NOT USE SCAN FOR PRODUCT GENERATION 0002 01 TIME SEQUENCE ERROR DETECTED WITH THIS SCAN 0003 01 DATA GAP PRECEDES THIS SCAN 0004 01 NO CALIBRATION 0005 01 NO EARTH LOCATION 0006 01 FIRST GOOD TIME FOLLOWING A CLOCK UPDATE 0007 01 INSTRUMENT STATUS CHANGED WITH THIS SCAN 033031 0021 0001 01 TIME FIELD IS BAD BUT CAN PROBABLY BE INFERRED FROM THE PREVIOUS GOOD TIME 0002 01 TIME FIELD IS BAD AND CANÂ~@~YT BE INFERRED FROM THE PREVIOUS GOOD TIME 0003 04 THIS RECORD STARTS A SEQUENCE THAT IS INCONSISTENT WITH PREVIOUS TIMES (I.E. THERE IS A TIME DISCONTINUITY). THIS MAY OR MAY NOT BE ASSOCIATED WITH A SPACECRAFT CLOCK UPDATE (SEE SCAN LINE STATUS FLAGS FOR ATOVS) 0004 02 START OF A SEQUENCE THAT APPARENTLY REPEATS SCAN TIMES THAT HAVE BEEN PREVIOUSLY ACCEPTED 0005 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD TIME 0006 03 SCAN LINE WAS CALIBRATED USING FEWER THAN THE PREFERRED NUMBER OF SCAN LINES BECAUSE OF PROXIMATY TO START OR END OF DATA OR TO A DATA GAP 0007 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD OR INSUFFICIENT PRT DATA 0008 01 SCAN LINE WAS CALIBRATED BUT WITH MARGINAL PRT DATA 0009 01 SOME UNCALIBRATED CHANNELS ON THIS SCAN 0010 01 UNCALIBRATED DUE TO INSTRUMENT MODE 0011 01 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR OF SPACE VIEW 0012 01 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR OF BLACK BODY 0013 01 NOT EARTH LOCATED BECAUSE OF BAD TIME 0014 03 EARTH LOCATION QUESTIONABLE BECAUSE OF QUESTIONABLE TIME CODE (SEE TIME PROBLEM CODE BITS) 0015 02 EARTH LOCATION QUESTIONABLE - ONLY MARGINAL AGREEMENT WITH REASONABLENESS CHECK 0016 01 EARTH LOCATION QUESTIONABLE - FAILS REASONABLENESS CHECK 0017 01 EARTH LOCATION QUESTIONABLE BECAUSE OF ANTENNA POSITION CHECK 0018 01 SCAN LINE CALIBRATION COLD BLACK BODY 0019 01 SCAN LINE CALIBRATION WARM BLACK BODY 0020 01 SCAN LINE CALIBRATION SPACE VIEW 0021 01 EARTH VIEW 033032 0006 0001 01 NO GOOD BLACKBODY COUNTS FOR SCAN LINE 0002 01 NO GOOD SPACE VIEW COUNTS FOR THIS LINE 0003 01 NO GOOD PRTS FOR THIS LINE 0004 01 SOME BAD BLACKBODY VIEW COUNTS FOR THIS LINE 0005 01 SOME BAD SPACE VIEW COUNTS FOR THIS LINE 0006 01 SOME BAD PRT TEMPS ON THIS LINE 033033 0023 0001 01 SET IF SECONDARY CALIBRATION USED 0002 02 BRIGHTNESS TEMPERATURE IN CHANNEL 1 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0003 02 BRIGHTNESS TEMPERATURE IN CHANNEL 2 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0004 02 BRIGHTNESS TEMPERATURE IN CHANNEL 3 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0005 02 BRIGHTNESS TEMPERATURE IN CHANNEL 4 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0006 02 BRIGHTNESS TEMPERATURE IN CHANNEL 5 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0007 02 BRIGHTNESS TEMPERATURE IN CHANNEL 6 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0008 02 BRIGHTNESS TEMPERATURE IN CHANNEL 7 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0009 02 BRIGHTNESS TEMPERATURE IN CHANNEL 8 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0010 02 BRIGHTNESS TEMPERATURE IN CHANNEL 9 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0011 02 BRIGHTNESS TEMPERATURE IN CHANNEL 10 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0012 02 BRIGHTNESS TEMPERATURE IN CHANNEL 11 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0013 02 BRIGHTNESS TEMPERATURE IN CHANNEL 12 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0014 02 BRIGHTNESS TEMPERATURE IN CHANNEL 13 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0015 02 BRIGHTNESS TEMPERATURE IN CHANNEL 14 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0016 02 BRIGHTNESS TEMPERATURE IN CHANNEL 15 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0017 02 BRIGHTNESS TEMPERATURE IN CHANNEL 16 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0018 02 BRIGHTNESS TEMPERATURE IN CHANNEL 17 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0019 02 BRIGHTNESS TEMPERATURE IN CHANNEL 18 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0020 02 BRIGHTNESS TEMPERATURE IN CHANNEL 19 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0021 02 BRIGHTNESS TEMPERATURE IN CHANNEL 20 IS PHYSICALLY UNREASONABLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0022 01 SET IF ALL CHANNELS ARE MISSING 0023 01 SUSPECT 033035 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 0006 01 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND NOT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033037 0020 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 033038 0009 0001 01 TOTAL ZENITH DELAY QUALITY IS CONSIDERED POOR 0002 01 GALILEO SATELLITES USED 0003 01 GLONASS SATELLITES USED 0004 01 GPS SATELLITES USED 0005 01 METEOROLOGICAL DATA APPLIED 0006 01 ATMOSPHERIC LOADING CORRECTION APPLIED 0007 01 OCEAN TIDE LOADING APPLIED 0008 01 CLIMATE QUALITY DATA PROCESSING 0009 01 NEAR-REAL TIME DATA PROCESSING 033039 0009 0001 01 NON-NOMINAL QUALITY 0002 01 OFFLINE PRODUCT 0003 01 ASCENDING OCCULTATION FLAG 0004 01 EXCESS PHASE PROCESSING NON-NOMINAL 0005 01 BENDING ANGLE PROCESSING NON-NOMINAL 0006 01 REFRACTIVITY PROCESSING NON-NOMINAL 0007 01 METEOROLOGICAL PROCESSING NON-NOMINAL 0014 01 BACKGROUND PROFILE NON-NOMINAL 0015 01 BACKGROUND (I.E. NOT RETRIEVED) PROFILE PRESENT 033041 0004 0000 01 THE FOLLOWING VALUE IS THE TRUE VALUE 0001 02 THE FOLLOWING VALUE IS HIGHER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE LOWER LIMIT OF THE INSTRUMENT) 0002 02 THE FOLLOWING VALUE IS LOWER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE HIGHER LIMIT OF THE INSTRUMENT) 0003 01 MISSING VALUE 033042 0005 0000 01 EXCLUSIVE LOWER LIMIT (>) 0001 01 INCLUSIVE LOWER LIMIT (>=) 0002 01 EXCLUSIVE UPPER LIMIT (<) 0003 01 INCLUSIVE UPPER LIMIT (=<) 0007 01 MISSING VALUE 033043 0004 0001 02 SEA MDS. NADIR ONLY SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED 0002 02 SEA MDS. DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED. 0003 01 NADIR VIEW CONTAINS DAY TIME DATA 0004 01 FORWARD VIEW CONTAINS DAY TIME DATA 033044 0014 0001 01 INPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0002 01 INPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0003 01 NUMBER OF INPUT DATA GAPS > THRESHOLD VALUE 0004 01 PERCENTAGE OF MISSING LINES > THRESHOLD VALUE 0005 01 DOPPLER CENTROID UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VALUE 0006 01 DOPPLER AMBIGUITY ESTIMATE UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VALUE 0007 01 OUTPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0008 01 OUTPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0009 01 CHIRP RECONSTRUCTION FAILED OR IS OF LOW QUALITY FLAG 0010 01 DATA SET MISSING 0011 01 INVALID DOWNLINK PARAMETERS 0012 02 AZIMUTH CUT-OFF ITERATION COUNT. THE AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0013 02 AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0014 03 PHASE INFORMATION CONFIDENCE MEASURE. THE IMAGINARY SPECTRAL PEAK IS LESS THAN A MINIMUM THRESHOLD, OR THE ZERO LAG SHIFT IS GREATER THAN A MINIMUM THRESHOLD 033047 0026 0001 01 ERROR DETECTED AND ATTEMPTS TO RECOVER MADE 0002 01 ANOMALY IN ON-BOARD DATA HANDLING (OBDH) VALUE DETECTED 0003 01 ANOMALY IN ULTRA STABLE OSCILLATOR PROCESSING (USOP) VALUE DETECTED 0004 01 ERRORS DETECTED BY ON-BOARD COMPUTER 0005 01 AUTOMATIC GAIN CONTROL (AGC) OUT OF RANGE 0006 01 RX DELAY FAULT. RX DISTANCE OUT OF RANGE 0007 01 WAVE FORM SAMPLES FAULT IDENTIFIER. ERROR 0012 01 BRIGHTNESS TEMPERATURE (CHANNEL 1) OUT OF RANGE 0013 01 BRIGHTNESS TEMPERATURE (CHANNEL 2) OUT OF RANGE 0014 01 RESERVED 0015 01 KU OCEAN RETRACKING ERROR 0016 01 S OCEAN RETRACKING ERROR 0017 01 KU ICE 1 RETRACKING ERROR 0018 01 S ICE 1 RETRACKING ERROR 0019 01 KU ICE 2 RETRACKING ERROR 0020 01 S ICE 2 RETRACKING ERROR 0021 01 KU SEA ICE RETRACKING ERROR 0022 01 ARITHMETIC FAULT ERROR 0023 01 METEO DATA STATE. NO MAP 0024 01 METEO DATA STATE. 1 MAP 0025 01 METEO DATA STATE 2 MAPS DEGRADED 0026 01 METEO DATA STATE 2 MAPS NOMINAL 0027 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, SEVERAL ERRORS 0028 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, WARNING DETECTED 0029 01 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, SEVERAL ERRORS 0030 01 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, WARNING DETECTED 033048 0004 0000 01 INVERSION SUCCESSFUL 0001 01 INVERSION NOT SUCCESSFUL 0002 01 RESERVED 0003 01 MISSING VALUE 033049 0004 0000 01 EXTERNAL WIND DIRECTION USED DURING INVERSION 0001 01 EXTERNAL WIND DIRECTION NOT USED DURING INVERSION 0002 01 RESERVED 0003 01 MISSING VALUE 033050 0008 0000 01 UNQUALIFIED 0001 01 CORRECT VALUE (ALL CHECKS PASSED) 0002 01 PROBABLY GOOD BUT VALUE INCONSISTENT WITH STATISTICS (DIFFER FROM CLIMATOLOGY) 0003 01 PROBABLY BAD (SPIKE, GRADIENT, Â~E IF OTHER TESTS PASSED) 0004 02 BAD VALUE, IMPOSSIBLE VALUE (OUT OF SCALE, VERTICAL INSTABILITY, CONSTANT PROFILE) 0005 01 VALUE MODIFIED DURING QUALITY CONTROL 0008 01 INTERPOLATED VALUE 0015 01 MISSING VALUE 033052 0020 0001 01 DATA BLOCK 1 INVALID (S BAND) 0002 01 DATA BLOCK 2 INVALID (S BAND) 0003 01 DATA BLOCK 3 INVALID (S BAND) 0004 01 DATA BLOCK 4 INVALID (S BAND) 0005 01 DATA BLOCK 5 INVALID (S BAND) 0006 01 DATA BLOCK 6 INVALID (S BAND) 0007 01 DATA BLOCK 7 INVALID (S BAND) 0008 01 DATA BLOCK 8 INVALID (S BAND) 0009 01 DATA BLOCK 9 INVALID (S BAND) 0010 01 DATA BLOCK 10 INVALID (S BAND) 0011 01 DATA BLOCK 11 INVALID (S BAND) 0012 01 DATA BLOCK 12 INVALID (S BAND) 0013 01 DATA BLOCK 13 INVALID (S BAND) 0014 01 DATA BLOCK 14 INVALID (S BAND) 0015 01 DATA BLOCK 15 INVALID (S BAND) 0016 01 DATA BLOCK 16 INVALID (S BAND) 0017 01 DATA BLOCK 17 INVALID (S BAND) 0018 01 DATA BLOCK 18 INVALID (S BAND) 0019 01 DATA BLOCK 19 INVALID (S BAND) 0020 01 DATA BLOCK 20 INVALID (S BAND) 033053 0020 0001 01 DATA BLOCK 1 INVALID (KU BAND) 0002 01 DATA BLOCK 2 INVALID (KU BAND) 0003 01 DATA BLOCK 3 INVALID (KU BAND) 0004 01 DATA BLOCK 4 INVALID (KU BAND) 0005 01 DATA BLOCK 5 INVALID (KU BAND) 0006 01 DATA BLOCK 6 INVALID (KU BAND) 0007 01 DATA BLOCK 7 INVALID (KU BAND) 0008 01 DATA BLOCK 8 INVALID (KU BAND) 0009 01 DATA BLOCK 9 INVALID (KU BAND) 0010 01 DATA BLOCK 10 INVALID (KU BAND) 0011 01 DATA BLOCK 11 INVALID (KU BAND) 0012 01 DATA BLOCK 12 INVALID (KU BAND) 0013 01 DATA BLOCK 13 INVALID (KU BAND) 0014 01 DATA BLOCK 14 INVALID (KU BAND) 0015 01 DATA BLOCK 15 INVALID (KU BAND) 0016 01 DATA BLOCK 16 INVALID (KU BAND) 0017 01 DATA BLOCK 17 INVALID (KU BAND) 0018 01 DATA BLOCK 18 INVALID (KU BAND) 0019 01 DATA BLOCK 19 INVALID (KU BAND) 0020 01 DATA BLOCK 20 INVALID (KU BAND) 033060 0004 0000 01 PARAMETER=GOOD 0001 01 PARAMETER=BAD 0002 01 PARAMETER=RESERVED 0003 01 MISSING 033075 0005 0001 01 GAP IN RAW DATA RECORD DATA DETECTED 0002 01 RECORDED TIME IS NOT IN SEQUENCE 0003 01 LAMDA MONITORED CALCULATION CANNOT BE CALCULATED 0004 02 THE MEASURED TEMPERATURE OF ANY INSTRUMENT COMPONENT IS OUTSIDE THE ALLOWABLE RANGE 0005 02 AT LEAST ONE OF THE MONITORED INSTRUMENT TEMPERATURES HAS DRIFTED MORE THAN A SPECIFIED TOLERANCE VALUE 033076 0002 0001 01 LUNAR INTRUSION ON FIRST DEEP SPACE VIEW 0002 01 LUNAR INTRUSION ON SECOND DEEP SPACE VIEW 033077 0012 0001 01 DEGRADED SDR QUALITY 0002 01 INVALID SDR QUALITY 0003 01 INVALID SDR GEOLOCATION INFORMATION 0004 01 DEGRADED RADIOMETRIC CALIBRATION 0005 01 INVALID RADIOMETRIC CALIBRATION 0006 01 DEGRADED SPECTRAL CALIBRATION 0007 01 INVALID SPECTRAL CALIBRATION 0008 01 FRINGE COUNT ERROR DETECTED AND CORRECTED 0009 01 DAy/NIGHT INDICATOR 0010 01 INVALID RDR DATA 0011 01 SIGNIFICANT FRINGE COUNT ERROR DETECTED 0012 01 BIT TRIM FAILED 033078 0005 0000 01 NOMINAL- ALTITUDE AND EPHEMERIS DATA AVAILABLE 0001 01 MISSING AT MOST A SMALL GAP OF ALTITUDE AND EPHEMERIS 0002 02 MISSING MORE THAN A SMALL GAP OF ALTITUDE AND EPHEMERIS DATA, BUT NO MORE THAN A GRANULE BOUNDARY 0003 01 MISSING MORE THAN GRANULE BOUNDARY OF ALTITUDE AND EPHEMERIS 0015 01 MISSING VALUE 033195 0004 0000 01 DEALIASING NOT USED 0001 01 DEALIASING USED 0002 01 RESERVED 0003 01 MISSING 033205 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033206 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033207 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033208 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033209 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033220 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 REPORT REJECTED THROUGH THE NAMELIST 0017 01 MODEL SUR. TOO FAR FROM STAT. ALT. 0018 01 MISSING STATION ALTITUDE 0019 01 REPORT OVER SEA 0020 01 REPORT OVER LAND 0021 01 REDUNDANT REPORT 0022 01 TIME OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 HORIZONTAL POSITION OUT OF RANGE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 BAD REPORTING PRACTICE 0029 01 ALL DATA REJECTED 0030 01 NO DATA IN THE REPORT 033221 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033222 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033223 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033224 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033225 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033226 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033227 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033228 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033229 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 THINNED REPORT 033230 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033232 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 BLACKLISTED DUE TO DISTANCE FROM REF. POINT 0015 01 BLACKLISTED DUE TO MODEL OROGRAPHY 0016 01 BLACKLISTED DUE TO LAND/SEA MASK 0017 01 STATION ALTITUDE BLACKLISTED 0018 01 LONGITUDE BLACKLISTED 0019 01 LATITUDE BLACKLISTED 0020 01 TIME BLACKLISTED 0021 01 DATE BLACKLISTED 0022 01 INSTRUMENT TYPE BLACKLISTED 0023 01 CODE TYPE BLACKLISTED 0024 01 STATION ID BLACKLISTED 0025 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0026 01 BLACKLISTED DUE TO OBSERVED VALUE 0027 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE NAME BLACKLISTED 0030 01 MONTHLY MONITORING 033233 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 REPORT BLACK LISTED 0028 01 REPORT REJECTED 0029 01 REPORT PASSIVE 0030 01 REPORT ACTIVE 033234 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 DATUM BLACK LISTED 0028 01 DATUM REJECTED 0029 01 DATUM PASSIVE 0030 01 DATUM ACTIVE 033236 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 DATUM REJECTED DUE TO REJECTED REPORT 0006 01 COMBINED FLAGGING 0007 01 DATUM REJECTED DUE TO NAMELIST 0008 01 VERTICAL COORDINATE CHANGE FROM Z TO P 0009 01 VERTICAL CONSISTENCY CHECK 0010 01 LEVEL SELECTION 0011 01 MULTI LEVEL CHECK 0012 01 TOO MANY SURFACE DATA/LEVELS 0013 01 DUPLICATED DATUM/LEVEL 0014 01 NOT AN ANALYSIS VARIABLE 0015 01 REPORT OVER SEA 0016 01 REPORT OVER LAND 0017 01 REDUNDANT LEVEL 0018 01 REDUNDANT DATUM 0019 01 TOO BIG OBSERVATION ERROR 0020 01 TOO BIG DEPARTURE IN ASSIMILATION 0021 01 TOO BIG FIRST GUESS DEPARTURE 0022 01 REFERENCE LEVEL POSITION OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 BAD REPORTING PRACTICE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 MISSING FIRST GUESS VALUE 0029 01 MISSING OBSERVED VALUE 0030 01 MISSING VERTICAL COORDINATE 033237 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033238 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033239 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033240 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033243 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033244 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033245 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 LAYER FORMED BY SUMMING UP 0029 01 LAYER FORMED BY THINNING UP 0030 01 NOT PREDEFINED LAYER 033246 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033247 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033248 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033249 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0025 01 BLACKLISTED DUE TO OBSERVED VALUE 0026 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0027 01 BLACKLISTED DUE TO DISTANCE FROM REFERENCE POINT 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE BLACKLISTED 0030 01 PRESSURE BLACKLISTED 033252 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 01 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 0006 01 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND NOT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033254 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 035000 0011 0011 01 000-099 INTERNATIONAL FM CODES 0001 01 100-199 RA I CODES 0002 01 200-299 RA II CODES 0003 01 300-399 RA III CODES 0004 01 400-499 RA IV CODES 0005 01 500-599 RA V CODES 0006 01 600-699 RA VI CODES 0007 01 700-799 ANTARCTIC CODES 0008 01 800-999 RESERVED 0009 01 1000-1022 NOT USED 1023 01 MISSING VALUE 035001 0004 0000 01 REAL TIME 0001 01 NEAR-REAL TIME 0002 01 NON-REAL TIME 0007 01 MISSING VALUE 035030 0010 0000 01 NO DISCREPANCIES 0001 02 NON-COMPLIANCE WITH STANDARD AND RECOMMENDED PRACTICES AND PROCEDURES INCLUDINGTHOSE OF MONITORING 0002 01 CATALOGUES OF METEOROLOGICAL BULLETINS NOT UPDATED IN A TIMELY MANNER 0003 01 INCORRECT ROUTEING DIRECTORIES 0004 01 LACK OF FLEXIBILITY IN THE ROUTEING ARRANGEMENTS 0005 01 DEFICIENCIES IN THE OPERATION OF GTS CENTRES AND CIRCUITS 0006 01 LOSS OF DATA OR DELAYS IN RELAYING DATA ON THE GTS 0007 01 ROUTEING OF DATA DIFFERENT FROM THE ROUTEING PROVIDED IN THE PLAN 0008 01 VARIOUS MALPRACTICES 0015 01 MISSING VALUE 035031 0020 0001 01 SUFFICIENT AND ALL OF ACCEPTABLE QUALITY 0002 01 SUFFICIENT BUT PARTLY OF ACCEPTABLE QUALITY 0003 01 INSUFFICIENT BUT ALL OF ACCEPTABLE QUALITY 0004 01 INSUFFICIENT AND OF UNACCEPTABLE QUALITY 0005 01 SOME MESSAGES NOT COMPLETE 0006 01 SUSPECT OR WRONGLY CODED GROUPS COULD NOT BE INTERPRETED CONFIDENTLY 0007 01 GROSS CODING ERRORS 0008 01 TRANSMISSION SEQUENTIAL ORDER NOT OBSERVED 0009 01 REPORT COMPLETELY GARBLED AND THUS DISCARDED 0010 01 DEFICIENCIES IDENTIFIED AND RECTIFIED 0011 01 DEFICIENCIES IDENTIFIED BUT NOT RECTIFIED 0012 01 DEFICIENCIES NOT IDENTIFIED 0013 01 MEASURING ERRORS 0014 01 MUTUAL INCONSISTENCY 0015 01 TEMPORAL INCONSISTENCY 0016 01 FORECAST ERROR 0017 01 BIAS 0018 01 IMPROVE SYSTEM OF QUALITY CONTROL 0019 01 EXPAND TRAINING PROGRAMMES 0123 01 MISSING VALUE 035032 0010 0001 01 DATA GROUPS MISSING DUE TO RADIO FADING 0002 01 DATA GROUPS MISSING DUE TO OUTAGE OF CENTRE 0003 01 DATA GROUPS MISSING DUE TO OUTAGE OF CIRCUIT 0004 01 NON-IMPLEMENTATION OR MAINTENANCE OF REQUIRED RBSN DENSITY 0005 01 SHORTAGE OF QUALIFIED STAFF TO MAN STATIONS 0006 01 LACK OF CONSUMABLES 0007 01 INSTRUMENT FAILURE 0008 01 NON-ADHERENCE TO TELECOMMUNICATION PROCEDURES 0009 01 SOME OBSERVING PROGRAMMES CEASED 0015 01 MISSING VALUE 035033 0012 0001 01 NO DEFICIENCY 0002 01 OBSERVATIONS NOT MADE REGULARLY 0003 01 OBSERVATIONS NOT MADE AT RIGHT TIME 0004 01 OBSERVATIONS MADE BUT NOT DISSEMINATED 0005 01 OBSERVATIONS MADE AND SENT TO INCORRECT USERS 0006 01 COLLECTION NOT RECEIVED 0007 01 COLLECTION TRANSMITTED LATE 0008 01 COLLECTION NOT TRANSMITTED 0009 01 DIFFICULTIES IN HF PROPAGATION AND SELECTION OF SUITABLE FREQUENCY 0010 01 DIFFICULTIES IN MAINTENANCE OF COMMUNICATION EQUIPMENT AT REMOTE STATIONS 0011 01 NO ALTERNATIVE ARRANGEMENT FOR ROUTEING METEOROLOGICAL OBSERVATION 0123 01 MISSING VALUE 035034 0007 0001 01 SLIGHT IMPROVEMENT 0002 01 SIGNIFICANT IMPROVEMENT 0003 01 MOST SIGNIFICANT IMPROVEMENT 0004 01 STEADY 0005 01 DECREASING 0006 01 EFFORTS REQUIRED TO IMPROVE NIGHT-TIME OBSERVATIONS 0007 01 MISSING VALUE 035035 0016 0000 01 RESERVED 0001 01 BALLOON BURST 0002 01 BALLOON FORCED DOWN BY ICING 0003 01 LEAKING OR FLOATING BALLOON 0004 01 WEAK OR FADING SIGNAL 0005 01 BATTERY FAILURE 0006 01 GROUND EQUIPMENT FAILURE 0007 01 SIGNAL INTERFERENCE 0008 01 RADIOSONDE FAILURE 0009 01 EXCESSIVE MISSING DATA FRAMES 0010 01 RESERVED 0011 01 EXCESSIVE MISSING TEMPERATURE 0012 01 EXCESSIVE MISSING PRESSURE 0013 01 USER TERMINATED 0030 01 OTHER 0031 01 MISSING VALUE 040011 0004 0001 01 MEAN SEA SURFACE (MSS) INTERPOLATION FLAG 0002 01 OCEAN TIDE SOLUTION 1 INTERPOLATION FLAG (0= 4 POINTS OVER OCEAN, 1=LESS THAN 4 POINTS) 0003 01 OCEAN TIDE SOLUTION 2 INTERPOLATION FLAG (0= 4 POINTS OVER OCEAN, 1=LESS THAN 4 POINTS) 0004 01 METEOROLOGICAL DATA INTERPOLATION FLAG (0= 4 POINTS OVER OCEAN, 1=LESS THAN 4 POINTS) 040012 0003 0001 01 18.7 GHZ BRIGHTNESS TEMPERATURE 0002 01 23.8 GHZ BRIGHTNESS TEMPERATURE 0003 01 34 GHZ BRIGHTNESS TEMPERATURE 040013 0005 0000 01 INTERPOLATION WITH NO GAP BETWEEN JMR DATA 0001 01 INTERPOLATION WITH GAP BETWEEN JMR DATA 0002 01 EXTRAOLATION OF JMR DATA 0003 01 FAILURE OF EXTRAPOLATION AND INTERPOLATION 0007 01 MISSING VALUE 040203 0012 0001 01 WARM LOAD IS CHANGING TOO RAPIDLY 0002 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 6.8 GHz CHANNEL 0003 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 10.7 GHz CHANNEL 0004 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 18.7 GHz CHANNEL 0005 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 23.8 GHz CHANNEL 0006 01 COLD LOAD MOON CONTAMINATION PRESENT IN SCAN FOR 37.0 GHz CHANNEL 0007 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 6.8 GHz CHANNEL 0008 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 10.7 GHz CHANNEL 0009 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 18.7 GHz CHANNEL 0010 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 23.8 GHz CHANNEL 0011 01 WARM LOAD PRESENCE OF TERMAL GRADIENT IN SCAN FOR 37.0 GHz CHANNEL 0012 01 ALL MISSING VALUE 049194 0014 0001 01 PASSED QUALITY CONTROL 0002 01 OUTSIDE TIME WINDOW 0003 01 ABOVE LAND 0004 01 OUTSIDE ENTIRE GRID 0005 01 WAVE HEIGHT OUT OF RANGE 0006 01 TOO HIGH ALONG TRACK JUMP 0007 01 TOO SHORT ALONG TRACK JUMP 0008 01 TOO HIGH ALONG TRACK VARIANCE 0009 01 OUTSIDE CONFIDENCE LIMIT 0010 01 DOUBLE OBSERVATION 0011 01 PEAKINESS ABOVE THRESHOLD 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED 049193 0014 0001 01 EXELLENT (COST LESS THAN 0.1) 0002 01 GOOD (COST LESS THAN 0.5) 0003 01 QUESTIONABLE (COST LARGER THAN 0.5) 0004 01 RESULTS UNTABLE 0005 01 OBSERVED SAR SPECTRUM REJECTED 0006 01 WAM FIRST GUESS REJECTED 0007 01 SIMULATED SAR REJECTED 0008 01 NO AZIMUTH CUT-OFF ADJUSTMENT 0009 01 RESERVED 0010 01 RESERVED 0011 01 RESERVED 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED emoslib-000392+dfsg.1/bufrtables/txt2bufr_tables.f0000755000175000017500000006260012127406245023077 0ustar amckinstryamckinstry PROGRAM TXT2BUFR_TABLES C C**** *TXT2BUFR_TABLES* C C C PURPOSE. C -------- C CREATES BYNARY BUFR TABLES USED BY BUFR EXPANSION C OR BUFR ENCODING SOFTWARE C C** INTERFACE. C ---------- C NONE. C C C *METHOD. C ------- C NONE. C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, FM 94 BUFR. C C J.K.GIBSON AND M.DRAGOSAVAC,1987: DECODING DATA C REPRESENTATION FM 94 BUFR,TECHNICAL MEMORANDUM NO. C C J.K.GIBSON,1986:EMOS 2 - STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE ,TECHICAL MEMORANDUM NO. ECMWF. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C character*256 carg(2),cf c C C ------------------------------------------------------------------ C* 1. CREATE BINARY BUFR TABLES. C __________________________ 100 CONTINUE C ierr=0 C Input file name C C Get input and output file name. C narg=IARGC() c IF(narg.NE.2) THEN print*,'Usage -- txt2bufr_tables -i infile ' stop END IF c do 101 j=1,narg call getarg(j,carg(j)) 101 continue c if(carg(1).ne.'-i'.and.carg(1).ne.'-I'.or. 1 carg(2).eq.' ') then print*,'Usage -- txt2bufr_tables -i inpfile ' stop end if c cf=carg(2) ii=index(cf,' ') ii=ii-1 c C* 2. TABLE B. C -------- 200 CONTINUE C IF(cf(1:1).eq.'B') THEN CALL BTABLE(cf,IERR) IF(IERR.NE.0) THEN WRITE(*,'(1H ,A,A,A)') 'Warning --- Bufr Table ',ybtable, 1 ' not created.' IERR=0 END IF C C* 3. TABLE C. C -------- 300 CONTINUE C ELSEIF(cf(1:1).eq.'C') THEN CALL CTABLE(cf,IERR) IF(IERR.NE.0) THEN WRITE(*,'(1H ,A,A,A)') 'Warning --- Bufr Table ',yctable, 1 ' not created' IERR=0 END IF C C* 4. TABLE D. C -------- 400 CONTINUE C ELSEIF(cf(1:1).eq.'D') THEN CALL DTABLE(cf,IERR) IF(IERR.NE.0) THEN WRITE(*,'(1H ,A,A,A)') 'Warning --- Bufr Table ',ydtable, 1 ' not created' IERR=0 END IF ELSE PRINT*,'Error - This is not B,C or D bufr Table!' ENDIF C END SUBROUTINE BTABLE(YNAME,KERR) C C**** *BTABLE* C C C PURPOSE. C -------- C CREATE BUFR TABLE B IN BINARY FORM. C C** INTERFACE. C ---------- C NONE. C C C *METHOD. C ------- C NONE. C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, FM 94 BUFR. C C J.K.GIBSON AND M.DRAGOSAVAC,1987: DECODING DATA C REPRESENTATION FM 94 BUFR,TECHNICAL MEMORANDUM NO. C C J.K.GIBSON,1986:EMOS 2 - STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE ,TECHICAL MEMORANDUM NO. ECMWF. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096 ,JSEC3= 4, 1 JSEC4=2,JELEM=160000,JSUBS=400,JCVAL=150 ,JBUFL=512000, 2 JBPW = 32,JTAB =3000,JCTAB=3000,JCTST=3000,JCTEXT=6000, 3 JWORK=4096000,JKEY=46) C PARAMETER (KELEM=80000) PARAMETER (KVALS=360000) C DIMENSION KBUFF(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) C REAL*8 VALUES(KVALS) DIMENSION KTDLST(KELEM) DIMENSION KDATA(10) C CHARACTER*80 CVALS(KVALS) C CHARACTER*120 YENTRY,YENTRY1 C CHARACTER*(*) YNAME CHARACTER*120 YFNAME c C C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C kbufl=jbufl i=index(yname,' ') i=i-1 if(i.eq.14) then C C Bufr Edition 0,1,2 C read(yname(9:10),'(i2)') ilocal read(yname(7:8),'(i2)') imaster iedition=2 yfname=yname(1:10)//'.buf' elseif(i.eq.15) then C C Bufr Edition 3 C read(yname(10:11),'(i2)') ilocal read(yname(8:9),'(i2)') imaster read(yname(2:4),'(i2)') isubcentre read(yname(5:7),'(i2)') icentre iedition=3 yfname=yname(1:11)//'.buf' elseif(i.eq.24) then C C Bufr Edition 4 C read(yname(18:20),'(i3)') ilocal read(yname(15:17),'(i3)') imaster read(yname(5:9),'(i5)') isubcentre read(yname(10:14),'(i5)') icentre iedition=4 yfname=' ' yfname=yname(1:20)//'.buf' else print*,'Wrong Bufr table name --',cf call exit(2) end if J=0 jj=0 C C call pbopen(IUNIT1,yfname,'w',IRET) IF(IRET.EQ.-1) STOP 'open failed on bufr.dat' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' OPEN(UNIT=21,FILE=YNAME(1:i), 1 ERR=401, 2 IOSTAT=IOS, 3 STATUS='OLD') c c 000001 jj=jj+1 cvals(jj)='011' values(jj)=jj*1000+3 c c 000002 jj=jj+1 cvals(jj)='BUFR TABLES, COMPLETE' values(jj)=jj*1000+32 c c 000003 jj=jj+1 cvals(jj)=' ' values(jj)=jj*1000+32 c c 000004 BUFR master table jj=jj+1 cvals(jj)='00' values(jj)=jj*1000+2 c c 000005 BUFR edition number c jj=jj+1 cvals(jj)='004' values(jj)=jj*1000+3 c c 000006 BUFR master table version number jj=jj+1 print*,'imaster=',imaster write(cvals(jj)(1:2),'(I2.2)') imaster values(jj)=jj*1000+2 c c 000008 BUFR local table version number jj=jj+1 print*,'ilocal=',ilocal write(cvals(jj)(1:2),'(I2.2)') ilocal values(jj)=jj*1000+2 c Replication factor jj=jj+1 values(jj)=0 c C ------------------------------------------------------------------ C* 2. READ IN TABLE B ELEMENT. C ------------------------ C iii=0 200 CONTINUE C YENTRY=' ' READ(21,'(A)',ERR=402,END=300) YENTRY iii=iii+1 C C C* 2.1 SET ARRAYS FOR TABLE REFERENCE, ELEMENT NAME, UNITS, C* REFERENCE VALUE AND DATA WIDTH. C 210 CONTINUE C c c F c jj=jj+1 cvals (jj)=yentry(2:2) values(jj)=jj*1000+1 c c X c jj=jj+1 cvals (jj)=yentry(3:4) values(jj)=jj*1000+2 c c Y c jj=jj+1 cvals (jj)=yentry(5:7) values(jj)=jj*1000+3 c c Namne 1 c jj=jj+1 cvals (jj)=yentry(9:40) values(jj)=jj*1000+32 c c Name 2 c jj=jj+1 cvals (jj)=yentry(41:72) values(jj)=jj*1000+32 c c Unit name c jj=jj+1 cvals (jj)=yentry(74:97) values(jj)=jj*1000+24 c c Unit scale sign c iz=0 jj=jj+1 iz=index(yentry(98:101),'-') if(iz.eq.0) then cvals (jj)='+' values(jj)=jj*1000+1 else cvals (jj)='-' values(jj)=jj*1000+1 end if c c Unit scale c jj=jj+1 if(iz.ne.0) then izz=98+iz-1 yentry(izz:izz)=' ' cvals (jj)=yentry(99:101) values(jj)=jj*1000+3 else cvals (jj)=yentry(99:101) values(jj)=jj*1000+3 end if c c Unit reference sign c iz=0 jj=jj+1 iz=index(yentry(102:114),'-') if(iz.eq.0) then cvals (jj)='+' values(jj)=jj*1000+1 else cvals (jj)='-' values(jj)=jj*1000+1 end if c c Unit reference c jj=jj+1 if(iz.ne.0) then izz=102+iz-1 yentry(izz:izz)=' ' cvals (jj)=yentry(105:114) values(jj)=jj*1000+10 else cvals (jj)=yentry(105:114) values(jj)=jj*1000+10 end if c c Element data width c jj=jj+1 cvals (jj)=yentry(116:118) values(jj)=jj*1000+3 c c end of element descriptors c GO TO 200 C C ------------------------------------------------------------------ C* 3. Pack tables into bufr message C -------------------------------- 300 CONTINUE C c Set section 0 c ksec0(3)=iedition c c Set section 1 c IF(KSEC0(3).LE.3) THEN ksec1(1)=18 ksec1(2)=iedition ksec1(3)=icentre ksec1(4)=1 ksec1(5)=0 ksec1(6)=11 ksec1(7)=1 ksec1(8)=ilocal ksec1(9)=4 ksec1(10)=6 ksec1(11)=21 ksec1(12)=0 ksec1(13)=0 ksec1(14)=0 ksec1(15)=imaster ksec1(16)=isubcentre ELSE ksec1(1)=22 ksec1(2)=iedition ksec1(3)=icentre ksec1(4)=1 ksec1(5)=0 ksec1(6)=11 ksec1(7)=0 ksec1(8)=ilocal ksec1(9)=2007 ksec1(10)=2 ksec1(11)=7 ksec1(12)=0 ksec1(13)=0 ksec1(14)=0 ksec1(15)=imaster ksec1(16)=isubcentre ksec1(17)=1 ksec1(18)=0 END IF c c Set section 3 c ksec3(3)=1 ksec3(4)=128 c c Set replication factor c print*,'delayed replication is ',iii kdata(1)=iii kdlen=1 values(8)=iii c c Set list of descriptors c ktdlst( 1)= 000001 ktdlst( 2)= 000002 ktdlst( 3)= 000003 ktdlst( 4)= 000004 ktdlst( 5)= 000005 ktdlst( 6)= 000006 ktdlst( 7)= 000008 ktdlst( 8)= 101000 ktdlst( 9)= 031002 ktdlst(10)= 300004 c ktdlen=10 c call bufren(ksec0,ksec1,ksec2,ksec3,ksec4,ktdlen,ktdlst, 1 kdlen,kdata,kelem,kvals,values,cvals, 2 kbufl,kbuff,ierr) c if(ierr.ne.0) then print*,'bufren: error ',ierr call exit(2) end if c print*,'Number of table B entries packed =',iii c ilen=kbufl*4 print*,'total length of bufr message is ',ilen call pbwrite(IUNIT1,KBUFF,ILEN,IERR) return C ----------------------------------------------------------------- 400 CONTINUE C RETURN C 404 CONTINUE KERR=1 WRITE(*,4404) IOS,yname 4404 FORMAT(1H ,'Write error',i4,' on ',a) RETURN C 403 CONTINUE KERR=1 WRITE(*,4403) IOS,yname 4403 FORMAT(1H ,'Open error',i4,' on ',a) RETURN C C 402 CONTINUE KERR=1 WRITE(*,4402) IOS,yfname 4402 FORMAT(1H ,'Read error',i4,' on ',a) RETURN C C 401 CONTINUE C KERR=1 WRITE(*,4401) IOS,yfname 4401 FORMAT(1H ,'Open error',i4,' on ',a) C RETURN END SUBROUTINE DTABLE(YNAME,KERR) C C**** *DTABLE* C C C PURPOSE. C -------- C THE MAIN PURPOSE OF THIS PROGRAMME IS TO CREATE WORKING C TABLE OF SEQUENCE DESCRIPTORS FOR *BUFR* DECODING. C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, *FM 94 BUFR*. C C J.K.GIBSON AND *M.DRAGOSAVAC,1987:* DECODING *DATA *REPRESENTATION C *FM 94 BUFR*,*TECHNICAL *MEMORANDUM *NO. C C J.K.GIBSON,1986:*EMOS 2 - *STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE *,*TECHICAL MEMORANDUM *NO. C *ECMWF*. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(O,G), CHARACTER*8(C,H) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096 ,JSEC3= 4, 1 JSEC4=2,JELEM=160000,JSUBS=400,JCVAL=150 ,JBUFL=512000, 2 JBPW = 32,JTAB =3000,JCTAB=3000,JCTST=3000,JCTEXT=6000, 3 JWORK=4096000,JKEY=46) C PARAMETER (KELEM=20000) PARAMETER (KVALS=360000) C DIMENSION KBUFF(JBUFL) DIMENSION KSUP(JSUP) ,KSEC0(JSEC0),KSEC1(JSEC1) DIMENSION KSEC2(JSEC2),KSEC3(JSEC3),KSEC4(JSEC4) C REAL*8 VALUES(KVALS) DIMENSION KTDLST(KELEM) DIMENSION KDATA(1000) C CHARACTER*80 CVALS(KVALS) C character*80 YENTRY C CHARACTER*(*) YNAME CHARACTER*256 YFNAME C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C kbufl=jbufl i=index(yname,' ') i=i-1 if(i.eq.14) then c c Bufr Edition 0,1,2 c read(yname(9:10),'(i2)') ilocal read(yname(7:8),'(i2)') imaster iedition=2 yfname=' ' yfname=yname(1:10)//'.buf' elseif(i.eq.15) then c c Bufr Editin 3 c read(yname(10:11),'(i2)') ilocal read(yname(8:9),'(i2)') imaster iedition=3 yfname=' ' yfname=yname(1:11)//'.buf' elseif(i.eq.24) then c c Bufr Editin 4 c read(yname(18:20),'(i3)') ilocal read(yname(15:17),'(i3)') imaster read(yname(5:9),'(i5)') isubcentre read(yname(10:14),'(i5)') icentre iedition=4 yfname=' ' yfname=yname(1:20)//'.buf' else print*,'Wrong table name ---',yname call exit(2) end if c J=1 jj=0 C call pbopen(IUNIT1,yfname,'w',IRET) IF(IRET.EQ.-1) STOP 'open failed on bufr.dat' IF(IRET.EQ.-2) STOP 'Invalid file name' IF(IRET.EQ.-3) STOP 'Invalid open mode specified' OPEN(UNIT=21,FILE=YNAME(1:i), 1 ERR=401, 2 IOSTAT=IOS, 3 STATUS='OLD') c jj=jj+1 cvals(jj)='011' values(jj)=jj*1000+3 C 000002 jj=jj+1 cvals(jj)='BUFR TABLES, COMPLETE' values(jj)=jj*1000+32 c c 000003 jj=jj+1 cvals(jj)=' ' values(jj)=jj*1000+32 c c 000004 BUFR master table jj=jj+1 cvals(jj)='00' values(jj)=jj*1000+2 c c 000005 BUFR edition number c jj=jj+1 cvals(jj)='004' values(jj)=jj*1000+3 c c 000006 BUFR master table version number jj=jj+1 print*,'imaster=',imaster write(cvals(jj)(1:2),'(I2.2)') imaster values(jj)=jj*1000+2 c c 000008 BUFR local table version number jj=jj+1 print*,'ilocal=',ilocal write(cvals(jj)(1:2),'(I2.2)') ilocal values(jj)=jj*1000+2 c Replication factor for all table D entries c jj=jj+1 values(jj)=0 C C ------------------------------------------------------------------ C* 2. READ IN TABLE D ELEMENT. C ------------------------ C 200 CONTINUE C YENTRY=' ' READ(21,'(A)',ERR=402,END=300) YENTRY j=j+1 C C C* 2.1 SET ARRAYS FOR TABLE REFERENCE, ELEMENT NAME, UNITS, C* REFERENCE VALUE AND DATA WIDTH. C 210 CONTINUE C c c F c jj=jj+1 cvals (jj)=yentry(2:2) values(jj)=jj*1000+1 c c X c jj=jj+1 cvals (jj)=yentry(3:4) values(jj)=jj*1000+2 c c Y c jj=jj+1 cvals (jj)=yentry(5:7) values(jj)=jj*1000+3 c c Replication factor c jj=jj+1 read(yentry(9:10),'(i2)') irepl values(jj)=float(irepl) kdata(j)=irepl c c Sequence descriptors c jj=jj+1 cvals(jj)=yentry(12:17) values(jj)=jj*1000+6 c do 220 i=1,irepl-1 READ(21,'(A)',ERR=402,END=300) YENTRY c jj=jj+1 cvals(jj)=yentry(12:17) values(jj)=jj*1000+6 220 continue c GO TO 200 C C ------------------------------------------------------------------ C* 3. Pack tables into bufr message C -------------------------------- 300 CONTINUE C c Set section 0 c ksec0(3)=iedition c c Set section 1 c IF(KSEC0(3).LE.3) THEN ksec1(1)=18 ksec1(2)=iedition ksec1(3)=98 ksec1(4)=1 ksec1(5)=0 ksec1(6)=11 ksec1(7)=2 ksec1(8)=ilocal ksec1(9)=95 ksec1(10)=9 ksec1(11)=17 ksec1(12)=12 ksec1(13)=0 ksec1(14)=0 ksec1(15)=imaster ksec1(16)=0 ELSE ksec1(1)=22 ksec1(2)=iedition ksec1(3)=icentre ksec1(4)=1 ksec1(5)=0 ksec1(6)=11 ksec1(7)=0 ksec1(8)=ilocal ksec1(9)=2005 ksec1(10)=6 ksec1(11)=7 ksec1(12)=0 ksec1(13)=0 ksec1(14)=0 ksec1(15)=imaster ksec1(16)=isubcentre ksec1(17)=2 ksec1(18)=0 END IF c c Set section 3 c ksec3(3)=1 ksec3(4)=128 c c Set replication factor c print*,'delayed replication is ',j kdata(1)=j-1 kdlen=j values(8)=j-1 c c Set list of descriptors c ktdlst(1)=000001 ktdlst(2)=000002 ktdlst(3)=000003 ktdlst(4)=000004 ktdlst(5)=000005 ktdlst(6)=000006 ktdlst(7)=000008 ktdlst(8)=104000 ktdlst(9)=031002 ktdlst(10)=300003 ktdlst(11)=101000 ktdlst(12)=031002 ktdlst(13)=000030 c ktdlen=13 c call bufren(ksec0,ksec1,ksec2,ksec3,ksec4,ktdlen,ktdlst, 1 kdlen,kdata,kelem,kvals,values,cvals, 2 kbufl,kbuff,ierr) c if(ierr.gt.0) then print*,'bufren: error ',ierr call exit(2) end if c print*,'Number of table D entries packed =',j c ilen=kbufl*JBPW/8 print*,'total length of bufr message is ',ilen call pbwrite(IUNIT1,KBUFF,ILEN,IERR) return C ----------------------------------------------------------------- 400 CONTINUE C RETURN C 404 CONTINUE KERR=1 WRITE(*,4404) IOS,yname 4404 FORMAT(1H ,'Write error',i4,' on ',a) RETURN C 403 CONTINUE KERR=1 WRITE(*,4403) IOS,yname 4403 FORMAT(1H ,'Open error',i4,' on ',a) RETURN C C 402 CONTINUE KERR=1 WRITE(*,4402) IOS,yfname 4402 FORMAT(1H ,'Read error',i4,' on ',a) RETURN C C 401 CONTINUE C KERR=1 WRITE(*,4401) IOS,yfname 4401 FORMAT(1H ,'Open error',i4,' on ',a) C RETURN END SUBROUTINE CTABLE(YNAME,KERR) C C**** *CTABLE* C C C PURPOSE. C -------- C THE MAIN PURPOSE OF THIS PROGRAMME IS TO CREATE WORKING C CODE TABLES FOR *BUFR* DECODING. C C** INTERFACE. C ---------- C NONE. C C C C C *METHOD. C ------- C NONE. C C C C EXTERNALS. C ---------- C NONE. C C C C C REFERENCE. C ---------- C C BINARY UNIVERSAL FORM FOR DATA REPRESENTATION, *FM 94 BUFR*. C C J.K.GIBSON AND *M.DRAGOSAVAC,1987:* DECODING *DATA *REPRESENTATION C *FM 94 BUFR*,*TECHNICAL *MEMORANDUM *NO. 134 C C J.K.GIBSON,1986:*EMOS 2 - *STANDARDS FOR SOFTWARE DEVELOPMENT C AND MAINTANANCE *,*TECHICAL MEMORANDUM *NO. C *ECMWF*. C C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* JANUARY 1991. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C PARAMETER(JSUP = 9,JSEC0= 3,JSEC1= 40,JSEC2=4096 ,JSEC3= 4, 1 JSEC4=2,JELEM=160000,JSUBS=400,JCVAL=150 ,JBUFL=512000, 2 JBPW = 32,JTAB =3000,JCTAB=3000,JCTST=3000,JCTEXT=6000, 3 JWORK=4096000,JKEY=46) C CHARACTER*64 CTEXT(JCTEXT) CHARACTER*80 YENTRY CHARACTER*120 YFNAME CHARACTER*(*) YNAME C DIMENSION NREF(JCTAB),NSTART(JCTAB),NLEN(JCTAB),NCODNUM(JCTST), 1 NSTARTC(JCTST),NLENC(JCTST) C C ------------------------------------------------------------------ C* 1. SET INITIAL CONSTANTS AND POINTERS C ---------------------------------- 100 CONTINUE C J=0 iynamep=index(yname,' ') iynamep=iynamep-1 c if(iynamep.eq.14) then c c Bufr Edition 0,1,2 c read(yname(9:10),'(i2)') ilocal read(yname(7:8),'(i2)') imaster iedition=2 yfname=yname(1:10)//'.buf' elseif(iynamep.eq.15) then c c Bufr Editin 3 c read(yname(10:11),'(i2)') ilocal read(yname(8:9),'(i2)') imaster iedition=3 yfname=yname(1:11)//'.buf' elseif(iynamep.eq.24) then c c Bufr Editin 4 c read(yname(18:20),'(i3)') ilocal read(yname(15:17),'(i3)') imaster read(yname(5:9),'(i5)') isubcentre read(yname(10:14),'(i5)') icentre iedition=4 yfname=' ' yfname=yname(1:20)//'.buf' else print*,'Wrong table name ---',yname call exit(2) end if c c JPN4=JP*JPN*4 C DO 101 I=1,JPN4 CTEXT(I)=' ' 101 CONTINUE C DO 102 I=1,JP NREF(I)=0 NSTART(I)=0 NLEN(I)=0 102 CONTINUE C DO 103 I=1,JP*JPN NCODNUM(I)=0 NSTARTC(I)=0 NLENC (I)=0 103 CONTINUE C OPEN(UNIT=21,FILE=YNAME(1:iynamep),ERR=401,STATUS='OLD') C C ------------------------------------------------------------------ C* 2. READ IN CODE TABLE ENTRY C ------------------------ 200 CONTINUE C C READ(21,'(A)',ERR=402,END=300) YENTRY print*,YENTRY C J = J+1 C IF(J.GT.JP) THEN PRINT*,' DIMENSION TOO SMALL J=',J CALL EXIT(2) END IF C C ------------------------------------------------------------------ C* 2.1 SET ARRAYS FOR CODE TABLE TABLE REFERENCE, STARTING POINTERS C FOR LIST OF CODE NUMBERS, LENGTH , LIST OF CODE NUMBERS, C STARTING POINTERS AND LENGTH OF TEXT INFORMATION. 210 CONTINUE C READ(YENTRY,'(I6,1X,I4,1X,I4,1X,I2)') NREF(J),NLEN(J),NCODE,NLINE C IF(J.EQ.1) THEN NSTART (J) = 1 NSTARTC(J) = 1 IPT = 1 IIPT= 1 ELSE NSTART(J) = NSTART(J-1) + NLEN(J-1) IPT = NSTART(J) IIPT = IIPT + 1 NSTARTC(IPT)= IIPT END IF C C NCODNUM(IPT)=NCODE NLENC ( IPT)=NLINE C CTEXT (IIPT)=YENTRY(21:80) C ------------------------------------------------------------------- IF(NLENC(IPT).GT.1) THEN DO 220 JA=1,NLENC(IPT)-1 READ(21,'(A)',END=300) YENTRY IIPT=IIPT+1 CTEXT(IIPT)=YENTRY(21:80) 220 CONTINUE END IF C IF(NLEN(J).GT.1) THEN DO 230 JA=1,NLEN(J)-1 READ(21,'(A)',END=300) YENTRY print*,YENTRY READ(YENTRY,'(12X,I4,1X,I2)') NCODE,NLINE IPT = IPT + 1 IIPT =IIPT + 1 NCODNUM(IPT)= NCODE NSTARTC(IPT)= IIPT NLENC (IPT)=NLINE CTEXT(IIPT) = YENTRY(21:80) IF(NLENC(IPT).GT.1) THEN DO 240 JB=1,NLENC(IPT)-1 READ(21,'(A)',END=300) YENTRY IIPT=IIPT+1 CTEXT(IIPT)=YENTRY(21:80) 240 CONTINUE END IF 230 CONTINUE END IF C GO TO 200 C C ------------------------------------------------------------------ C* 3. WRITE WORKING CODE TABLE INTO FILE. C ----------------------------------- 300 CONTINUE C i=index(yfname,' ') OPEN(UNIT=22,FILE=yfname(1:I-1),ERR=403, 1 FORM='UNFORMATTED', 2 STATUS='NEW') c WRITE(22,IOSTAT=IOS,ERR=404) NREF,NSTART,NLEN,NCODNUM, 1 NSTARTC,NLENC,CTEXT C CLOSE(21) CLOSE(22) C ----------------------------------------------------------------- C* 3.1 WRITE TABLES ON OUTPUT FILE C --------------------------- 310 CONTINUE C c JEND=J c DO 311 J=1,JEND C c IPT=NSTART(J) c IIPT=NSTARTC(IPT) c WRITE(*,999) NREF(J),NLEN(J),NCODNUM(IPT),NLENC(IPT),CTEXT(IIPT) C c IF(NLENC(IPT).GT.1) THEN c DO 312 JA=1,NLENC(IPT)-1 c IIPT = IIPT + 1 c WRITE(*,998) CTEXT(IIPT) c 312 CONTINUE c END IF C c IF(NLEN(J).GT.1) THEN c DO 313 JB=1,NLEN(J)-1 c IPT = IPT + 1 c IIPT= NSTARTC(IPT) c WRITE(*,997) NCODNUM(IPT),NLENC(IPT),CTEXT(IIPT) c IF(NLENC(IPT).GT.1) THEN c DO 314 JC=1,NLENC(IPT)-1 c IIPT= IIPT + 1 c WRITE(*,998) CTEXT(IIPT) c 314 CONTINUE c END IF c 313 CONTINUE c END IF C c 311 CONTINUE C write(*,'(1h )') write(*,'(1H ,a,i4)') 'Total number of entries in the Table C is', 1 j C RETURN C ----------------------------------------------------------------- 400 CONTINUE C 401 CONTINUE C KERR=1 WRITE(*,4401) IOS,yfname 4401 FORMAT(1H ,'Open error ',i4,' on ',a) RETURN C 402 CONTINUE KERR=1 WRITE(*,4402) IOS,yfname 4402 FORMAT(1H ,'Read error ',i4,' on ',a) RETURN C 403 CONTINUE C KERR=1 WRITE(*,4403) IOS,yname 4403 FORMAT(1H ,'Open error ',i4,' on ',a) RETURN 404 CONTINUE C KERR=1 WRITE(*,4404) IOS,yname 4404 FORMAT(1H ,'Write error ',i4,' on ',a) RETURN C 997 FORMAT(1H ,14X,I4,1X,I2,1X,A) 998 FORMAT(1H ,22X,A) 999 FORMAT(1H ,2X,I6,1X,I4,1X,I4,1X,I2,1X,A) C END emoslib-000392+dfsg.1/bufrtables/bufr_split_tables.f0000755000175000017500000000634412127406245023473 0ustar amckinstryamckinstry PROGRAM BUFR_SPLIT_TABLES C C**** *BUFR_SPLIT_TABLES* C C C PURPOSE. C -------- C C Splits bufr source text bufr tables into C standard wmo table and local table C C C** INTERFACE. C ---------- C C NONE. C C METHOD. C ------- C C NONE. C C C EXTERNALS. C ---------- C C CALL BUFREX C C REFERENCE. C ---------- C C NONE. C C AUTHOR. C ------- C C M. DRAGOSAVAC *ECMWF* 15/07/97. C C C MODIFICATIONS. C -------------- C C NONE. C C IMPLICIT LOGICAL(L,O,G), CHARACTER*8(C,H,Y) C CHARACTER*256 CF1,CF2,CF3,carg(4) character*120 record c C C ------------------------------------------------------------------ C* 1. INITIALIZE CONSTANTS AND VARIABLES. C ----------------------------------- 100 CONTINUE C C Input file name C C Get input and output file name. C narg=IARGC() c IF(narg.NE.2) THEN print*,'Usage -- bufr_split_tables -i infile ' stop END IF c do 101 j=1,narg call getarg(j,carg(j)) 101 continue c if(carg(1).ne.'-i'.and.carg(1).ne.'-I'.or. 1 carg(2).eq.' ') then print*,'Usage -- bufr_split_tables -i inpfile ' stop end if c cf1=carg(2) ii=index(cf1,' ') if(ii.gt.1) ii=ii-1 cf2='L'//cf1(2:ii) cf3=cf1(1:II-6)//'00.TXT' C C* 1.2 OPEN FILE CONTAINING BUFR DATA. C ------------------------------- 120 CONTINUE C iunit1=23 iunit2=24 iunit3=25 open(iunit1,file=cf1(1:ii),status='old', 1 recl=120,form='formatted') open(iunit2,file=cf2(1:ii),status='unknown', 1 recl=120,form='formatted') open(iunit3,file=cf3(1:ii),status='unknown', 1 recl=120,form='formatted') C C ----------------------------------------------------------------- C* 3. READ BUFR TABLE C ------------------ 300 CONTINUE C read(iunit1,'(a)',end=400) record read(record(5:7),'(i3)') ix c if(cf1(1:1).eq.'B') then if(ix.ge.193) then write(iunit2,'(a)') record else write(iunit3,'(a)') record end if elseif(cf1(1:1).eq.'D') then if(ix.ge.193) then read(record(8:10),'(i3)') iloop write(iunit2,'(a)') record do i=1,iloop-1 read(iunit1,'(a)',end=400) record write(iunit2,'(a)') record end do else read(record(8:10),'(i3)') iloop write(iunit3,'(a)') record do i=1,iloop-1 read(iunit1,'(a)',end=400) record write(iunit3,'(a)') record end do end if else print*,'The table has not been split' go to 400 end if C go to 300 C C ----------------------------------------------------------------- C* 4. Close files C -------------------- 400 CONTINUE C close(iunit1) close(iunit2) close(iunit3) C ----------------------------------------------------------------- C C C END emoslib-000392+dfsg.1/bufrtables/C0000000000098006000.TXT0000755000175000017500000103071612127406245022254 0ustar amckinstryamckinstry001003 0008 0000 01 ATARCTICA 0001 01 REGION I 0002 01 REGION II 0003 01 REGION III 0004 01 REGION IV 0005 01 REGION V 0006 01 REGION VI 0007 01 MISSING VALUE 001007 0132 0001 01 ERS 1 0002 01 ERS 2 0003 01 METOP-1 0004 01 METOP-2 0005 01 METOP-3 0020 01 SPOT1 0021 01 SPOT2 0022 01 SPOT3 0023 01 SPOT4 0040 01 OERSTED 0041 01 CHAMP 0042 01 TERRASAR-X 0050 01 METEOSAT 3 0051 01 METEOSAT 4 0052 01 METEOSAT 5 0053 01 METEOSAT 6 0054 01 METEOSAT 7 0055 01 METEOSAT 8 0056 01 METEOSAT 9 0057 01 METEOSAT 10 0058 01 METEOSAT 1 0059 01 METEOSAT 2 0060 01 ENVISAT 0070 01 METEOSAT 11 0120 01 ADEOS 0121 01 ADEOS II 0150 01 GMS 3 0151 01 GMS 4 0152 01 GMS 5 0171 01 MTSAT-1R 0172 01 MTSAT-2 0200 01 NOAA 8 0201 01 NOAA 9 0202 01 NOAA 10 0203 01 NOAA 11 0204 01 NOAA 12 0205 01 NOAA 14 0206 01 NOAA 15 0207 01 NOAA 16 0208 01 NOAA 17 0209 01 NOAA 18 0220 01 LANDSAT 5 0221 01 LANDSAT 4 0222 01 LANDSAT 7 0240 01 DMSP 7 0241 01 DMSP 8 0242 01 DMSP 9 0243 01 DMSP 10 0244 01 DMSP 11 0245 01 DMSP 12 0246 01 DMSP 13 0247 01 DMSP 14 0248 01 DMSP 15 0249 01 DMSP 16 0250 01 GOES 6 0251 01 GOES 7 0252 01 GOES 8 0253 01 GOES 9 0254 01 GOES 10 0255 01 GOES 11 0256 01 GOES 12 0257 01 GOES 13 0258 01 GOES 14 0259 01 GOES 15 0260 01 JASON-1 0261 01 JASON-2 0281 01 QUIKSCAT 0282 01 TRMM 0283 01 CORIOLIS 0285 01 DMSP17 0310 01 GOMS 1 0311 01 GOMS 2 0320 01 METEOR 2-21 0321 01 METEOR 3-5 0322 01 METEOR 3M-1 0323 01 METEOR 3M-2 0341 01 RESURS 01-4 0430 01 INSAT 1B 0431 01 INSAT 1C 0432 01 INSAT 1D 0450 01 INSAT 2A 0451 01 INSAT 2B 0452 01 INSAT 2E 0470 01 INSAT 3A 0471 01 INSAT 3D 0472 01 INSAT 3E 0500 01 FY-1C 0501 01 FY-1D 0510 01 FY-2 0512 01 FY-2B 0513 01 FY-2C 0514 01 FY-2D 0700 01 TIROS M (ITOS 1) 0701 01 NOAA 1 0702 01 NOAA 2 0703 01 NOAA 3 0704 01 NOAA 4 0705 01 NOAA 5 0706 01 NOAA 6 0707 01 NOAA 7 0708 01 TIROS-N 0710 01 GOES (SMS 1) 0711 01 GOES (SMS 2) 0720 01 TOPEX 0721 01 GFO (GEOSAT FOLLOW ON) 0722 01 GRACE A 0723 01 GRACE B 0731 01 GOES 1 0732 01 GOES 2 0733 01 GOES 3 0734 01 GOES 4 0735 01 GOES 5 0740 01 COSMIC-1 0741 01 COSMIC-2 0742 01 COSMIC-3 0743 01 COSMIC-4 0744 01 COSMIC-5 0745 01 COSMIC-6 0763 01 NIMBUS 3 0764 01 NIMBUS 4 0765 01 NIMBUS 5 0766 01 NIMBUS 6 0767 01 NIMBUS 7 0780 01 ERBS 0781 01 UARS 0782 01 EARTH PROBE 0783 01 TERRA 0784 01 AQUA 0785 01 AURA 0800 01 SUNSAT 0820 01 SAC-C 1023 01 MISSIN VALUE 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001031 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001032 0041 0001 01 PREPROCESSING CONSISTENCY CHECK 0010 01 BIAS CORRECTION 0020 01 BLACK LIST 0030 01 OI MASS AND WIND ANALYSIS, REPORT STATUS 0031 01 OI HUMIDITY ANALYSIS, REPORT STATUS 0032 01 OI ANALYSIS VARIABLES 0033 01 OI ANALYSIS, FIRST GUESS Q/C 0034 01 OI ANALYSIS, FINAL ANALYSIS Q/C 0035 01 OI ANALYSIS, EVENT FLAGS 0040 01 DYNAMIC INITIALISATION SCHEME 0041 01 NORMAL MODE INITIALISATION SCHEME 0050 01 SURFACE ANALYSIS, REPORT STATUS 0051 01 SURFACE ANALYSIS VARIABLES 0052 01 SURFACE ANALYSIS Q/C 0053 01 SURFACE ANALYSIS, EVENT FLAGS 0060 01 3D VAR REPORT STATUS 0061 01 3D VAR ANALYSIS VARIABLES 0062 01 3D VAR Q/C 0063 01 3D VAR EVENT FLAGS 0080 01 PRESAT FIRST GUESS 0081 01 PRESAT ERROR STANDARD DEVIATIONS 0082 01 PRESAT BIAS ESTIMATES 0083 01 PRESAT BRIGHTNESS TEMPERATURE QUALITY FLAGS 0084 01 PRESAT SAMARY FLAGS 0090 01 FIRST GUESS (6 HOUR FORECAST) 0091 01 FIRST GUESS (FGAT INTERPOLATED) 0100 01 PRESCAT AMBIGUITY REMOVAL 0110 01 WAM FIRST GUESS 0111 01 WAM ANALYSIS 0112 01 WAM FORECAST 0113 01 WAM Q/C 0201 01 COLLOCATION WITH SURFACE DATA 0202 01 COLLOCATION WITH TEMP/PILOT DATA 0203 01 COLLOCATION WITH AIREP DATA 0204 01 COLLOCATION WITH SATOB DATA 0205 01 COLLOCATION WITH TOVS DATA 0206 01 COLLOCATION WITH ERS1 SCATTEROMETER DATA 0207 01 COLLOCATION WITH ERS1 ALTIMETER DATA 0220 01 ERS1 SCATTEROMETER COLLOCATION BLACK LIST 0230 01 GAUSS ERROR 0231 01 GROSS ERROR 001033 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 001035 0219 0000 01 WMO SECRETARIAT 0001 01 MELBOURNE 0002 01 MELBOURNE 0003 01 MELBOURNE 0004 01 MOSCOW 0005 01 MOSCOW 0006 01 MOSCOW 0007 02 US NATIONAL WEATHER SERVICE, NATIONAL CENTRES FOR ENVIRONMEN TAL PREDICTION(NCEP) 0008 02 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONSGATEWAY (NWSTG ) 0009 01 US NATIONAL WEATHER SERVICE - OTHER 0010 01 CAIRO (RSMC) 0011 01 CAIRO (RSMC) 0012 01 DAKAR (RSMC) 0013 01 DAKAR (RSMC) 0014 01 NAIROBI (RSMC) 0015 01 NAIROBI (RSMC) 0016 01 CASABLANCA (RSMC) 0017 01 TUNIS (RSMC) 0018 01 TUNIS CASABLANCA (RSMC) 0019 01 TUNIS CASABLANCA (RSMC) 0020 01 LAS PALMAS 0021 01 ALGIERS (RSMC) 0022 01 ACMAD 0023 01 MOZAMBIQUE NMC 0024 01 PRETORIA (RSMC) 0025 01 LA RÉUNION (RSMC) 0026 01 KHABAROVSK (RSMC) 0027 01 KHABAROVSK (RSMC) 0028 01 NEW DELHI (RSMC) 0029 01 NEW DELHI (RSMC) 0030 01 NOVOSIBIRSK (RSMC) 0031 01 NOVOSIBIRSK (RSMC) 0032 01 TASHKENT (RSMC) 0033 01 JEDDAH (RSMC) 0034 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0035 01 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY 0036 01 BANGKOK 0037 01 ULAN BATOR 0038 01 BEIJING (RSMC) 0039 01 BEIJING (RSMC) 0040 01 SEOUL 0041 01 BUENOS AIRES (RSMC) 0042 01 BUENOS AIRES (RSMC) 0043 01 BRASILIA (RSMC) 0044 01 BRASILIA (RSMC) 0045 01 SANTIAGO 0046 01 BRAZILIAN SPACE AGENCY - INPE 0047 01 COLOMBIA NMC 0048 01 ECUADOR NMC 0049 01 PERU NMC 50 0050 01 VENEZUELA NMC 0051 01 MIAMI (RSMC) 0052 01 MIAMI RSMC, NATIONAL HURRICANE CENTER 0053 01 MONTREAL (RSMC) 0054 01 MONTREAL (RSMC) 0055 01 SAN FRANCISCO 0056 01 ARINC CENTRE 0057 01 U.S. AIR FORCE AIR FORCE GLOBAL WEATHER CENTRAL 0058 02 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTERE Y, CA 0059 01 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, USA 0060 02 UNITED STATES NATIONAL CENTRE FOR ATMOSPHERIC RESEARCH (NCAR ) 0061 01 SERVICE ARGOS - LANDOVER 0062 01 U.S. NAVAL OCEANOGRAPHIC OFFICE 0063 02 IRI (INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIET Y) 0064 01 HONOLULU (RSMC) 0065 01 DARWIN (RSMC) 0066 01 DARWIN (RSMC) 0067 01 MELBOURNE (RSMC) 0069 01 WELLINGTON (RSMC) 0070 01 WELLINGTON (RSMC) 0071 01 NADI (RSMC) 0072 01 SINGAPORE 0073 01 MALAYSIA NMC 0074 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0075 01 UK METEOROLOGICAL OFFICE - EXETER (RSMC) 0076 01 MOSCOW (RSMC) 0078 01 OFFENBACH (RSMC) 0079 01 OFFENBACH (RSMC) 0080 01 ROME (RSMC) 0081 01 ROME (RSMC) 0082 01 NORRKÖPING 0083 01 NORRKÖPING 0084 01 TOULOUSE (RSMC) 0085 01 TOULOUSE (RSMC) 0086 01 HELSINKI 0087 01 BELGRADE 0088 01 OSLO 0089 01 PRAGUE 0090 01 EPISKOPI 0091 01 ANKARA 0092 01 FRANKFURT/MAIN) 0093 01 LONDON (WAFC) 0094 01 COPENHAGEN 0095 01 ROTA 0096 01 ATHENS 0097 01 EUROPEAN SPACE AGENCY (ESA) 0098 01 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECAST (ECMWF) 0099 01 DE BILT 0100 01 BRAZZAVILLE 0101 01 ABIDJAN 0102 01 LIBYAN ARAB JAMAHIRIYA NMC 0103 01 MADAGASCAR NMC 0104 01 MAURITIUS NMC 0105 01 NIGER NMC 0106 01 SEYCHELLES NMC 0107 01 UGANDA NMC 0108 01 TANZANIA NMC 0109 01 ZIMBABWE NMC 0110 01 HONG-KONG, CHINA 0111 01 AFGHANISTAN NMC 110 0112 01 BAHRAIN NMC 0113 01 BANGLADESH NMC 0114 01 BHUTAN NMC 0115 01 CAMBODIA NMC 0116 01 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA NMC 0117 01 ISLAMIC REPUBLIC OF IRAN NMC 0118 01 IRAQ NMC 0119 01 KAZAKHSTAN NMC 0120 01 KUWAIT NMC 0121 01 KYRGYZ REPUBLIC NMC 0122 01 LAO PEOPLE'S DEMOCRATIC REPUBLIC NMC 0123 01 MACAO, CHINA 0124 01 MALDIVES NMC 0125 01 MYANMAR NMC 0126 01 NEPAL NMC 0127 01 OMAN NMC 0128 01 PAKISTAN NMC 0129 01 QATAR NMC 0130 01 REPUBLIC OF YEMEN NMC 0131 01 SRI LANKA NMC 0132 01 TAJIKISTAN NMC 0133 01 TURKMENISTAN NMC 0134 01 UNITED ARAB EMIRATES NMC 0135 01 UZBEKISTAN NMC 0136 01 SOCIALIST REPUBLIC OF VIET NAM NMC 0140 01 BOLIVIA NMC 0141 01 GUYANA NMC 0142 01 PARAGUAY NMC 0143 01 SURINAME NMC 0144 01 URUGUAY NMC 140 0145 01 FRENCH GUYANA 0146 01 BRAZILIAN NAVY HYDROGRAPHIC CENTRE 0150 01 ANTIGUA AND BARBUDA NMC 0151 01 BAHAMAS NMC 0152 01 BARBADOS NMC 0153 01 BELIZE NMC 0154 01 BRITISH CARIBBEAN TERRITORIES CENTRE 0155 01 SAN JOSE 0156 01 CUBA NMC 0157 01 DOMINICA NMC 0158 01 DOMINICAN REPUBLIC NMC 0159 01 EL SALVADOR NMC 0160 01 US NOAA/NESDIS 0161 01 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH 0162 01 GUATEMALA NMC 0163 01 HAITI NMC 0164 01 HONDURAS NMC 0165 01 JAMAICA NMC 0166 01 MEXICO 0167 01 NETHERLANDS ANTILLES AND ARUBA NMC 0168 01 NICARAGUA NMC 0169 01 PANAMA NMC 0170 01 SAINT LUCIA NMC 0171 01 TRINIDAD AND TOBAGO NMC 0172 01 FRENCH DEPARTMENTS IN RA IV 0173 01 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA) 0190 01 COOK ISLANDS NMC 0191 01 FRENCH POLYNESIA NMC 0192 01 TONGA NMC 0193 01 VANUATU NMC 0194 01 BRUNEI DARUSSALAM NMC 0195 01 INDONESIA NMC 0196 01 KIRIBATI NMC 0197 01 FEDERATED STATES OF MICRONESIA NMC 0198 01 NEW CALEDONIA NMC 0199 01 NIUE 0200 01 PAPUA NEW GUINEA NMC 0201 01 PHILIPPINES NMC 0202 01 SAMOA NMC 0203 01 SOLOMON ISLANDS NMC 0210 01 FRASCATI (ESA/ESRIN) 0211 01 LANNION 0212 01 LISBOA 0213 01 REYKJAVIK 0214 01 MADRID 0215 01 ZÜRICH 0216 01 SERVICE ARGOS TOULOUSE 0217 01 BRATISLAVA 0218 01 BUDAPEST 0219 01 LJUBLJANA 190 0220 01 WARSAW 0221 01 ZAGREB 0222 01 ALBANIA NMC 0223 01 ARMENIA NMC 0224 01 AUSTRIA NMC 0225 01 AZERBAIJAN NMC 0226 01 BELARUS NMC 0227 01 BELGIUM NMC 0228 01 BOSNIA AND HERZEGOVINA NMC 0229 01 BULGARIA NMC 0230 01 CYPRUS NMC 0231 01 ESTONIA NMC 0232 01 GEORGIA NMC 0233 01 DUBLIN 0234 01 ISRAEL NMC 0235 01 JORDAN NMC 0236 01 LATVIA NMC 0237 01 LEBANON NMC 0238 01 LITHUANIA NMC 0239 01 LUXEMBOURG 0240 01 MALTA NMC 0241 01 MONACO 0242 01 ROMANIA NMC 0243 01 SYRIAN ARAB REPUBLIC NMC 0244 01 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA NMC 0245 01 UKRAINE NMC 0246 01 REPUBLIC OF MOLDOVA NMC 0254 01 EUMETSAT OPERATION CENTRE 0255 01 MISSING VALUE 219 001090 0005 0000 01 LAF (LAGGED-AVERAGE FORECASTING) 0001 01 BREEDING 0002 01 SINGULAR VECTOR 0003 01 MULTIPLE ANALYSIS CYCLE 0255 01 MISSING VALUE 001092 0005 0000 01 UNPERTURBED HIGH-RESOLUTION CONTROL FORECAST 0001 01 UNPERTURBED LOW-RESOLUTION CONTROL FORECAST 0002 01 NEGATIVELY PERTURBED FORECAST 0003 01 POSITIVELY PERTURBED FORECAST 0255 01 MISSING VALUE 002001 0004 0000 01 AUTOMATIC STATION 0001 01 MANNED STATION 0002 01 HYBRID, BOTH MANNED AND AUTOMATIC 0003 01 MISSING VALUE 002002 0004 0000 01 MEASURED IN M S-1 UNLESS OTHERWISE INDICATED 0001 01 CERTIFIED INSTRUMENTS 0002 01 ORIGINALY MEASURED IN KNOTS 0003 01 ORIGINALY MEASURED IN KM/H 002003 0012 0000 01 PRESSURE INSTRUMENT ASSOCIATED WITH WIND-MEASURING EQUIPMENT 0001 01 OPTICAL THEODOLITE 0002 01 RADIO THEODOLITE 0003 01 RADAR 0004 01 VLF-OMEGA 0005 01 LORAN C 0006 01 WIND PROFILER 0007 01 SATELLITE NAVIGATION 0008 01 RADIO-ACOUSTIC SOUNDING SYSTEM (RASS) 0009 01 SODAR 0014 02 PRESSURE INSTRUMENT ASSOCIATED WITH WIND MEASUREMENT EQUIPME NT BUT PRESSURE ELEMENT FAILED DURING ASCENT 0015 01 MISSING VALUE 002004 0011 0000 01 USA OPEN PAN EVAPORIMETER (WITHOUT COVER) 0001 01 USA OPEN PAN EVAPORIMETER (MESH COVERED) 0002 01 GGI-300 EVAPORIMETER (SUNKEN) 0003 01 20 M**2 TANK 0004 01 OTHERS 0005 01 RICE 0006 01 WHEAT 0007 01 MAIZE 0008 01 SORGHUM 0009 01 OTHER CROPS 0015 01 MISSING VALUE 002011 0054 0000 01 RESERVED 0001 01 RESERVED 0002 01 NO RADIOSONDE-PASSIVE TARGET(E.G.REFLECTOR) 0003 01 NO RADIOSONDE-ACTIVE TARGET(E.G.TRANSPONDER) 0004 01 NO RADIOSONDE-PASSIVE TEMPERATURE-HUMIDITY PROFILER 0005 01 NO RADIOSONDE-ACTIVE TEMPERATURE-HUMIDITY PROFILER 0006 01 NO RADIOSONDE-RADIO ACOUSTIC SOUNDER 0009 01 NO RADIOSONDE-SYSTEM UNKNOWN OR NOT SPECIFIED 0010 01 RS VIZ TYPE A (USA) 0011 01 RS VIZ TYPE B (USA) 0012 01 RS SDC (SPACE DATA CORPORATION-USA) 0013 01 ASTOR (NO LONGER MADE-AUSTRALIA) 0014 01 VIZ MARK I MICROSONDE(USA) 0015 01 EEC COMPANY TYPE 23 (USA) 0016 01 ELIN (AUSTRIA) 0017 01 GRAW G. (GERMANY) 0019 01 GRAW M60 (GERMANY) 0020 01 INDIAN MET SERVICE MK3 (INDIA) 0021 01 VIZ/JIN YANG MARK I MICROSONDE(SOUTH KOREA) 0022 01 MEISEI RS2-80 (JAPAN) 0023 01 MESURAL FMO 1950A (FRANCE) 0024 01 MESURAL FMO 19455A (FRANCE) 0025 01 MESURAL MH73A (FRANCE) 0026 01 METEOLABOR BASORA (SWITZERLAND) 0027 01 AVK-MRZ (USSR) 0028 01 METEORIT MARZ2-1 (USSR) 0029 01 METEIRIT MARZ2-2 (USSR) 0030 01 OKI RS2-80 (JAPAN) 0031 01 VIZ/VALCOM TYPE A PRESSURE-COMMUTATED(CANADA) 0032 01 SHANGAI RADIO (CHINA) 0033 01 UK MET OFFICE MK3( UK) 0034 01 VINOHRADY(CZECHOSLOVAKIA) 0035 01 VAISALA RS18 (FINLAND) 0036 01 VAISALA RS21 (FINLAND) 0037 01 VAISALA RS80 (FINLAND) 0038 01 VIZ LOCATE (LORAN-C)(USA) 0039 01 SPRENGER E076 (GERMANY) 0040 01 SPRENGER E084 (GERMANY) 0041 01 SPRENGER E085 (GERMANY) 0042 01 SPRENGER E086 (GERMANY) 0043 01 AIR IS -4A-1680 (UK) 0044 01 AIR IS -4A-1680 X (UK) 0045 01 RS MSS(USA) 0046 01 AIR IS -4A-403(USA) 0047 01 MEISLEI RS2-91(JAPAN) 0048 01 VALCOM(CANADA) 0049 01 VIZ MARK II(USA) 0060 01 VAISALA RS80/MICROCORA (FINLAND) 0061 01 VAISALA RS80/DIGCORA OR MARWIN (FINLAND) 0062 01 VAISALA RS80/PCCORA (FINLAND) 0063 01 VAISALA RS80/STAR (FINLAND) 0064 03 ORBITAL,SCIENCE CORPORATION,SPACE DATA DIVISION,TRANSPONDER RADIOSONDE,TYPE 909-11-XX,WHERE XX CORRECPOND TO THE MODEL OF THE INSTRUMENT 0065 01 VIZ TRANSPONDER RADIOSONDE,MODEL NUMBER 1499-520(USA) 0255 01 MISSING VALUE 002012 0001 0000 01 TO BE DEVELOPED 002013 0009 0000 01 NO CORRECTION 0001 01 CIMO SOLAR CORRECTED AND CIMO INFRARED CORRECTED 0002 01 CIMO SOLAR CORRECTED AND IFRARED CORRECTED 0003 01 CIMO SOLAR CORRECTED ONLY 0004 02 SOLAR AND INFRARED CORRECTED AUTOMATICALLY BY RADIOSONDE SY STEM 0005 01 SOLAR CORRECTED AUTOMATICALLY BY RADIOSONDE SYSTEM 0006 01 SOLAR AND INFRARED CORRECTED AS SPECIFIED BY COUNTRY 0007 01 SOLAR CORRECTED AS SPECIFIED BY COUNTRY 0015 01 MISSING VALUE 002014 0050 0000 01 NO WINDFINDING 0001 01 AUTOMATIC WITH AUXILIARY OPTICAL DIRECTION FINDING 0002 01 AUTOMATIC WITH AUXILIARY RADIO DIRECTION FINDING 0003 01 AUTOMATIC WITH AUXILIARY RANGING 0004 01 NOT USED 0005 01 AUTOMATIC WITH MULTIPLE VLF-OMEGA SIGNALS 0006 01 AUTOMATIC CROSS CHAIN LORAN-C 0007 01 AUTOMATIC WITH AUXILIARY WIND PROFILER 0008 01 AUTOMATIC SATELLITE NAVIGATION 0019 01 TRACKING TECHNIQUE NOT SPECIFIED 0020 01 VESSEL STOPPED 0021 01 VESSEL DIVERTED FROM ORIGINAL DESTINATION 0022 01 VESSEL'S ARRIVAL DELAYED 0023 01 CONTAINER DAMAGED 0024 01 POWER FAILURE TO CONTAINER 0029 01 OTHER PROBLEMS 0030 01 MAJOR POWER PROBLEMS 0031 01 UPS INOPERATIVE 0032 01 RECEIVER HARDWARE PROBLEMS 0033 01 RECEIVER SOFTWARE PROBLEMS 0034 01 PROCESSOR HARDWARE PROBLEMS 0035 01 PROCESSOR SOFTWARE PROBLEMS 0036 01 NAVAID SYSTEM DAMAGED 0037 01 SHORTAGE OF LIFTING GAS 0039 01 OTHER PROBLEMS 0040 01 MECHANICAL DEFECT 0041 01 MATERIAL DEFECT (HAND LAUNCHER) 0042 01 POWER FAILURE 0043 01 CONTROL FAILURE 0044 01 PNEUMATIC/HYDRAULIC FAILURE 0045 01 OTHER PROBLEMS 0046 01 COMPRESSOR PROBLEMS 0047 01 BALLOON PROBLEMS 0048 01 BALLOON RELEASE PROBLEMS 0049 01 LAUNCHER DAMAGED 0050 01 R/S RECEIVER ANTENNA DEFECT 0051 01 NAVAID ANTENNA DEFECT 0052 01 R/S RECEIVER CABLING (ANTENNA DEFECT) 0053 01 NAVAID ANTENNA CABLING DEFECT 0059 01 OTHER PROBLEMS 0060 01 ASAP COMMUNICATIONS DEFECT 0061 01 COMMUNICATIONS FACILITY REJECTED DATA 0062 01 NO POWER AT TRANSMITTINGANTENN 0063 01 ANTENNA CABLE BROKEN 0064 01 ANTENNA CABLE DEFECT 0065 01 MESSAGE TRANSMITTED POWER BELOW NORMAL 0069 01 OTHER PROBLEMS 0070 01 ALL SYSTEMS IN NORMAL OPERATION 0099 01 STATUS OF SYSTEM AND ITS COMPONENTS NOT SPECIFIED 0127 01 MISSING VALUE 002015 0006 0001 01 PRESSURE ONLY RADIOSONDE 0002 01 PRESSURE ONLY RADIOSONDE PLUS TRANSPONDER 0003 01 PRESSURE ONLY RADIOSONDE PLUS RADAR REFLECTOR 0004 01 NO PRESSURE RADIOSONDE PLUS TRANSPONDER 0005 01 NO PRESSURE RADIOSONDE PLUS RADAR REFLECTOR 0015 01 MISSING VALUE 002016 0004 0001 01 TRAIN REGULATOR 0002 01 LIGHT UNIT 0003 01 PARACHUTE 0004 01 ROOFTOP RELEASE 002019 0296 0010 02 BNSC RADIOMETER AATSR ADVANCED ALONG TRACK SCANNIN G RADIOMETER 0011 02 BNSC RADIOMETER ATSR ALONG TRACK SCANNING RADIOME TER 0012 02 BNSC RADIOMETER ATSR-2 ALONG TRACK SCANNING RADIOME TER -2 0013 01 BNSC RADIOMETER MWR MICROWAVE RADIOMETER 0030 01 CNES COMMUNICATIONS ARGOS 0040 01 CNES LIDAR LASER REFLECTORS 0041 02 CNES LIDAR DORIS DOPPLER ORBITOGRAPHY AND RADIO-POSIT IONING INTEGRATED BY SATELLITE 0042 02 CNES LIDAR DORIS-NG DOPPLER ORBITOGRAPHY AND RAD IO-POSITIONING INTEGRATED BY SATELLITE-NG 0047 03 CNES RADAR ALTIMETERS POSEIDON-1 (SSALT-1) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (S INGLE FREQUENCY SOLID STATE RADAR ALTIMETER) 0048 03 CNES RADAR ALTIMETERS POSEIDON-2 (SSALT-2) POSI TIONING OCEAN SOLID EARTH ICE DYNAMICS ORBITING NAVIGATOR (D UAL FREQUENCY SOLID STATE RADAR ALTIMETER) 0050 01 CNES IMAGER RADIOMETER ATSR/M ATSR/M 0051 01 CNES HIGH RESOLUTION OPTICAL IMAGERS HRG 0052 01 CNES RADIOMETER HRV HIGH RESOLUTION VISIBLE 0053 02 CNES RADIOMETER HRVIR HIGH RESOLUTION VISIBLE AND INFRA-RED 0054 02 CNES RADIOMETER SCARAB/MV2 SCANNER FOR EARTH'S RADIATION BUDGET 0055 01 CNES RADIOMETER POLDER POLDER 0060 01 CNES SPECTROMETER VEGETATION VEGETATION 0061 01 CNES SPECTROMETER WINDII WINDII 0080 01 CSA COMMUNICATIONS RADARSAT DTT 0081 01 CSA COMMUNICATIONS RADARSAT TTC 0085 02 CSA RADAR SAR (CSA) SYNTHETIC APERTURE RADAR (CS A) 0090 02 CSA RADIOMETER MOPITT MEASUREMENTS OF POLLUTION IN THE TROPOSPHERE 0091 02 CSA CHEMISTRY INSTRUMENTS OSIRIS OPTICAL SPECTROGRAPH AND INFRA-RED IMAGING SYSTEM 0097 01 CSIRO RADIOMETER PANCHROMATIC IMAGER 0098 02 CRCSS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPS RECEIVER 0102 02 DLR RADIOMETER CHAMP GPS SOUNDER GPS TURBORO GUE SPACE RECEIVER (TRSR) 0103 01 UNKNOWN 0116 03 DLR MAGNETOMETER IGOR CHAMP GRAVITY PACKAGE (ACCELEROMETE R+GPS) INTEGRATED GPS AND OCCULTATION RECEIVER STAR AC CELEROMETER 0117 03 DLR MAGNETOMETER CHAMP MAGNETOMETRY PACKAGE (1 SCALAR +2 VECTOR MAGNETOMETER) OVERHAUSER MAGNETOMETER (OVM) AN D FLUXGATE MAGNETOMETER (FGM) 0120 02 ESA COMMUNICATIONS ENVISAT COMMS COMMUNICATIONS PACKA GE ON ENVISAT 0121 02 ESA COMMUNICATIONS ERS COMMS COMMUNICATION PACKAG E FOR ERS 0130 01 ESA LIDARS ALADIN ATMOSPHERIC LASER DOPPLER INSTRUMENT 0131 01 ESA LIDARS ATLID ATMOSPHERIC LIDAR 0140 02 ESA RADAR AMI/SAR/IMAGE ACTIVE MICROWAVE INSTRUMENTA TION. IMAGE MODE 0141 02 ESA RADAR AMI/SAR/WAVE ACTIVE MICROWAVE INSTRUMENTA TION. WAVE MODE 0142 02 ESA RADAR AMI/SCATTEROMETER ACTIVE MICROWAVE INS TRUMENTATION. WIND MODE 0143 01 ESA RADAR ASAR ASAR 0144 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (IMAGE MODE) 0145 02 ESA IMAGING MICROWAVE RADARS ASAR ADVANCED SYN TETIC APERTURA RADAR (WAVE MODE) 0146 01 ESA CLOUD PROFILE AND RAIN RADARS CPR CLOUD RADAR 0147 01 ESA RADAR RA-2/MWR RADAR ALTIMETER - 2 0148 01 ESA RADAR RA/MWR RADAR ALTIMETER 0150 01 ESA SCATTEROMETERS SCATTEROMETER SCATTEROMETER 0161 02 ESA RADIOMETER MIPAS MICHELSON INTERFEROMETRIC PA SSIVE ATMOSPHERE SOUNDER 0162 02 ESA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E MWR-2 MICROWAVE RADIOMETER-2 0163 03 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS SOPRANO SUB- MILIMETRE OBSERVATION OF PROCESSES IN THE ABSORPTION NOTEWOR THY FOR OZONE 0170 02 ESA ATMOSPHERIC CHEMISTRY INSTRUMENTS GOME I GLOB AL OZONE MONITORING EXPERIMENT 0172 02 ESA SPECTROMETER GOMOS GLOBAL OZONE MONITORING BY O CCULTATION OF STARS 0174 02 ESA SPECTROMETER MERIS MEDIUM RESOLUTION IMAGING SP ECTROMETER 0175 02 ESA SPECTROMETER SCIAMACHY SCANNING IMAGING ABS ORPTION SPECTROMETER FOR ATMOSPHERIC CARTOGRAPHY 0181 02 EUMETSAT COMMUNICATIONS METEOSAT COMMS COMMUNICATIO NS PACKAGE FOR METEOSAT 0182 02 EUMETSAT COMMUNICATIONS MSG COMMS COMMUNICATIO NS PACKAGE FOR MSG 0190 02 ESA/ EUMETSAT SCATTEROMETERS ASCAT ADVANCED SCATTE ROMETER 0200 02 EUMETSAT RADIOMETER GERB GEOSTATIONARY EARTH RADIATION BUDGET 0202 02 ESA/ EUMETSAT RADIOMETER GRAS GNSS RECEIVER F OR ATMOSPHERIC SOUNDING 0203 02 EUMETSAT RADIOMETER MHS MICROWAVE HUMIDITY S OUNDER 0205 02 EUMETSAT RADIOMETER MVIRI METEOSAT VISIBLE AND INFRA-RED IMAGER 0207 02 EUMETSAT RADIOMETER SEVIRI SPINNING ENHANCED VI SIBLE AND INFRARED IMAGER 0208 02 EUMETSAT IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRI VIRI 0220 02 ESA/ EUMETSAT SPECTROMETER GOME-2 GLOBAL OZONE MO NITORING EXPERIMENT - 2 0221 03 CNES/ EUMETSAT ATMOSPHERIC TEMPERATURE AND HUMIDITY S OUNDERS IASI INFRA-RED ATMOSPHERIC SOUNDING INTERFEROME TER 0240 02 CAST COMMUNICATIONS DCP DATA COLLECTION PLATFORM TRA NSPONDER 0245 01 CAST RADIOMETER CCD HIGH RESOLUTION CCD CAMERA 0246 02 INPE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS HSB HUMIDITY SOUNDER/BRAZIL 0248 02 INPE IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) OBA OBSERVADOR BRASILEIRO DA AMAZONIA 0250 01 CAST RADIOMETER WFI WIDE FIELD IMAGER 0255 02 CAST SPECTROMETER IRMSS INFRA RED MULTI SPECTRAL SCA NNER 0260 01 ISRO PRECISION ORBIT BSS & FSS TRANSPONDERS 0261 01 ISRO PRECISION ORBIT DRT-S&R 0262 02 ISRO COMMUNICATIONS INSAT COMMS COMMUNICATIONS PACKA GE FOR INSAT 0268 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS HR-PAN HIGH RESOLUT ION PANCHROMATIC CAMERA 0269 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MSMR MULTIFREQUENCY SCANNING MICROWAVE RADIOMETER 0270 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VHRR VERY HIGH RESOLUTION RADIOMETER 0271 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WIFS WIDE FIELD SENSOR 0275 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS AWIFS ADVANCED WID E FIELD SENSOR 0276 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-I LINEAR IMAGI NG SELF SCANNER - I 0277 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-II LINEAR IMAGI NG SELF SCANNER - II 0278 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-III LINE AR IMAGING SELF SCANNER - III 0279 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS LISS-IV LINEAR IMAGI NG SELF SCANNER - IV 0284 02 ISRO HIGH RESOLUTION OPTICAL IMAGERS PAN PANCHROMATIC SENSOR 0285 02 ISRO IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MOS MODULAR OPTO-ELECTRONIC SCANNER 0286 02 ISRO OCEAN COLOUR INSTRUMENTS OCM OCEAN COLOUR MONITOR 0290 02 JMA COMMUNICATIONS MTSAT COMMS COMMUNICATIONS PACKA GE FOR MTSAT 0294 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT -1R IMAGER/MTSAT 0295 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS IMAGER/MTSAT IMAGER/MTSAT 0296 02 JMA IMAGING MULTI-SPECTRAL RADIOMETERS VISSR (GMS4) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS4) 0300 01 NASA LIDARS GLAS GEOSCIENCE LASER ALTIMETER SYSTEM 0301 01 NASA PRECISION ORBIT LRA LASER RETROREFLECTOR ARRAY 0302 01 NASA LIDARS MBLA MULTI BEAM LASER ALTIMETER 0309 02 NASA CLOUD PROFILE AND RAIN RADARS CPR (CLOUDSAT) CLOU D PROFILING RADAR 0312 01 NASA RADAR NSCAT NASA SCATTEROMETER 0313 01 NASA RADAR SEAWINDS ADEOS II - NASA SCATTEROMETER 0330 02 NASA EARTH RADIATION BUDGET RADIOMETER ACRIM ACTI VE CAVITY RADIOMETER IRRADIANCE MONITOR 0334 02 NASA TOTAL AND PROFILE OZONE BUV BACKSCATTER ULTRAVIO LET INSTRUMENT 0336 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ALI ADVANCED LAN D IMAGER 0347 02 NASA HIGH RESOLUTION OPTICAL IMAGERS ASTER ADVANCED SPA CEBORNE THERMAL EMISSION AND REFLECTION RADIOMETER 0348 02 NASA EARTH RADIATION BUDGET RADIOMETER CERES-2 CLOU D AND THE EARTH'S RADIANT ENERGY SYSTEM 0351 02 CONAE ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GPSD R GPS DEMONSTRATION RECEIVER 0353 02 NASA TOTAL AND PROFILE OZONE HIRDLS HIGH RESOLUTION DYNA MICS LIMB SOUNDER 0354 02 NASA TOTAL AND PROFILE OZONE HRDI HIGH RESOLUTION DOPP LER IMAGER 0356 01 NASA RADIOMETER LIS LIGHTNING IMAGING SENSOR 0358 02 NASA MAGNETIC FIELD, AUROAL IMAGERYSCINTILLATION BOUNDARY PEM PARTICLE ENVIRONMENT MONITOR 0359 02 NASA OCEAN COLOUR INSTRUMENTS SEAWIFS SEA-VIEWING WIDE FIELD-OF-VIEW SENSOR 0360 02 NASA EARTH RADIATION BUDGET RADIOMETER SUSIM (UARS) SOLAR ULTRAVIOLET IRRADIANCE MONITOR 0363 02 NASA TOTAL AND PROFILE OZONE SBUV/1 SOLAR BACKSCATTER UL TRAVIOLET 1 INSTRUMENT 0365 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) TMI TRMM MICROWAVE IMAGER 0366 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) JMR JASON-1 MICROWAVE RADIOMETER 0369 02 NASA TOTAL AND PROFILE OZONE LIMS LIMB INFRARED MONITO R OF THE STRATOSPHERE 0370 02 NASA TOTAL AND PROFILE OZONE LRIR LIMB RADIANCE INVERS ION RADIOMETER INSTRUMENT 0371 02 NASA TOTAL AND PROFILE OZONE EPIC EARTH POLYCHROMATIC IMAGING CAMERA 0372 02 NASA EARTH RADIATION BUDGET RADIOMETER NISTAR NIST ADVANCED RADIOMETER 0373 02 NASA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y PLASMA-MAG 0374 01 NASA OTHER XPS XUV PHOTOMETER SYSTEM 0375 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRS VISIBLE INFRA-RED SCANNER 0376 03 CNES MULTIPLE DIRECTION/POLARISATION RADIOMETERS POLD ER II POLARIZATION AND DIRECTIONALITY OF THE EARTH'S R EFLECTANCE - II 0377 02 NASA EARTH RADIATION BUDGET RADIOMETER TIM TOTA L IRRADIANCE MONITOR 0379 02 NASA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) WFC WIDE FIELD CAMERA 0382 02 NASA SPECTRO-RADIOMETER CLAES CRYOGENIC LIMB ARRAY ETALON SPECTROMETER 0383 02 NASA SPECTRO-RADIOMETER HALOE HALOGEN OCCULTATION EXPERIMENT 0384 02 NASA SPECTRO-RADIOMETER ISAMS IMPROVED STRATOSPHER IC AND MESOSPHERIC SOUNDER 0385 02 NASA SPECTRO-RADIOMETER MISR MULTI-ANGLE IMAGING SPECTRORADIOMETER 0386 01 NASA SPECTRO-RADIOMETER MLS MICROWAVE LIMB SOUNDER 0387 02 NASA SPECTRO-RADIOMETER MLS (EOS-AURA) MICROWAVE LIMB SOUNDER (EOS-AURA) 0389 02 NASA SPECTRO-RADIOMETER MODIS MODERATE-RESOLUTION IMAGING SPECTRORADIOMETER 0393 02 NASA GRAVITY HAIRS HIGH ACCURACY INTER-SATELLITE RANGIN G SYSTEM 0394 02 NASA TOTAL AND PROFILE OZONE OMI OZONE MEASURING INST RUMENT 0395 02 NASA RADIOMETER ATMOSPHERIC CORRECTOR ATMOSPHERIC CORRECTOR 0396 01 NASA RADIOMETER HYPERION HYPERSPECTRAL IMAGER 0399 02 NASA SPECTRO-RADIOMETER SAGE I STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-I 0400 02 NASA SPECTRO-RADIOMETER SAGE II STRATOSPHERIC AEROSO L AND GAS EXPERIMENT-II 0401 02 NASA SPECTRO-RADIOMETER SAGE III STRATOSPHERI C AEROSOL AND GAS EXPERIMENT-III 0402 02 NASA SPECTRO-RADIOMETER SAMS STRATOSPHERIC AND ME SOSPHERIC SOUNDER 0403 02 NASA SPECTRO-RADIOMETER SAM II STRATOSPHERIC AEROSO L MEASUREMENT II 0404 02 NASA SPECTRO-RADIOMETER IRIS INFRARED INTERFEROME TER SPECTROMETER 0405 02 NASA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS GIFT S GEOSYNCHRONOUS IMAGING FOURIER TRANSFORM SPECTROMETER 0420 01 NASA SPECTROMETER AIRS ATMOSPHERIC INFRA-RED SOUNDER 0426 02 NASA SPECTROMETER SOLSTICE SOLAR STELLAR IRRADI ANCE COMPARISON EXPERIMENT 0430 02 NASA SPECTROMETER TES TROPOSHPERIC EMISSION SPECTR OMETER 0431 02 NASA SPECTROMETER TOMS TOTAL OZONE MAPPING SPECTROM ETER 0450 02 JAXA COMMUNICATIONS ADEOS COMMS COMMUNICATIONS PACKA GE FOR ADEOS 0451 02 JAXA COMMUNICATIONS DCS (JAXA) DATA COLLECTION SYST EM (JAXA) 0453 02 JAXA COMMUNICATIONS GMS COMMS COMMUNICATIONS PACKA GE ON GMS 0454 02 JAXA COMMUNICATIONS JERS-1 COMMS COMMUNICATIONS PACKA GE FOR JERS-1 0460 01 JAXA LIDAR RIS RETROREFLECTOR IN SPACE 0461 01 JAXA RADAR PR PRECIPITATION RADAR 0462 02 JAXA IMAGING MICROWAVE RADARS SAR SYNTETIC APE RTURE RADAR 0470 02 JAXA IMAGING MICROWAVE RADARS PALSAR PHASED ARRAY TYPE L-BAND SYNTHETIC APERTURE RADAR 0479 02 JAXA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) AMSR-E ADVANCED MICROWAVE SCANNING RADIOMETER-EOS 0480 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS PRISM (ALOS) PANC HROMATIC REMOTE-SENSING INSTRUMENT FOR STEREO MAPPING 0481 02 JAXA RADIOMETER AMSR ADVANCED MICROWAVE SCANNING RADIOMETER 0482 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR ADVANCED VIS IBLE AND NEAR INFRARED RADIOMETER 0483 02 JAXA HIGH RESOLUTION OPTICAL IMAGERS AVNIR-2 ADVANCED VIS IBLE AND NEAR INFRA-RED RADIOMETER TYPE 2 0484 01 JAXA IMAGER GLI GLOBAL IMAGER 0485 02 JAXA RADIOMETER MESSR MULTISPECTRAL ELECTRONIC SEL F SCANNING RADIOMETER 0486 01 JAXA RADIOMETER MSR MICROWAVE SCANNING RADIOMETER 0487 02 JAXA RADIOMETER OCTS OCEAN COLOR AND TEMPERATURE S CANNER 0488 01 JAXA RADIOMETER OPS OPTICAL SENSOR 0489 02 JAXA SPECTRO-RADIOMETER VISSR (GMS5) VISIBLE AND INFRA-RED SPIN SCAN RADIOMETER (GMS5) 0490 02 JAXA RADIOMETER VTIR VISIBLE AND THERMAL INFRA-RE D RADIOMETER 0510 02 JAXA SPECTROMETER ILAS-I IMOROVED LIMB ATOMOSPHIRIC S PECTROMETER 0511 02 JAXA SPECTROMETER ILAS-II IMPROVED LIMB ATOMOSPHIRIC S PECTROMETER 0512 02 JAXA SPECTROMETER IMG INFEROMETRIC MONITOR OF GREE NHOUSE GASES 0514 02 JAXA SPACE ENVIRONMENT SEM SPACE ENVIRONMENT MO NITOR (JAXA) 0515 02 JAXA TOTAL AND PROFILE OZONE SOFIS SOLAR OCCULTATION FO URIER TRANSFORM SPECTROMETER FOR INCLINED ORBIT SATELLITE 0540 02 NOAA COMMUNICATIONS DCS (NOAA) DATA COLLECTION SYST EM (NOAA) 0541 02 NOAA COMMUNICATIONS GOES COMMS COMMUNICATIONS PACKA GE ON GOES 0542 02 NOAA COMMUNICATIONS LANDSAT COMMS COMMUNICATIONS PACKA GE FOR LANDSAT 0543 02 NOAA COMMUNICATIONS NOAA COMMS COMMUNICATIONS PACKA GE FOR NOAA 0544 01 NOAA COMMUNICATIONS S&R (GOES) SEARCH AND RESCUE 0545 01 NOAA COMMUNICATIONS S&R (NOAA) SEARCH AND RESCUE 0546 01 NOAA COMMUNICATIONS WEFAX WEATHER FACSIMILE 0547 02 NOAA SPECTROMETER SEM(GOES) SPACE ENVIRONMENT MO NITOR 0550 01 NOAA MAGNETIC FIELD SSM SPECIAL SENSOR MAGNETOMETER 0551 02 NOAA MAGNETIC FIELD SSJ/4 SPECIAL SENSOR PRECIPITATING PLASMA MONITOR 0552 02 NOAA SPACE ENVIRONMENT SSIES-2 SPECIAL SENSOR IONOS PHERIC PLASMA DRIFT/SCINTILLATION METER 0553 02 NOAA SPACE ENVIRONMENT SSB/X-2 SPECIAL SENSOR GAMMA RAY PARTICLE DECTECTOR 0570 02 NOAA RADIOMETER AMSU-A ADVANCED MICROWAVE SOUNDING UNIT-A 0574 02 NOAA RADIOMETER AMSU-B ADVANCED MICROWAVE SOUNDING UNIT-B 0580 02 NOAA RADIOMETER ATOVS (HIRS/3 + AMSU + AVHRR/3) ADVA NCED TIROS OPERATIONAL VERTICAL SOUNDER 0590 02 NOAA RADIOMETER AVHRR/2 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/2 0591 02 NOAA RADIOMETER AVHRR/3 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/3 0592 02 NOAA RADIOMETER AVHRR/4 ADVANCED VERY HIGH RESOLUTIO N RADIOMETER/4 0600 02 NOAA RADIOMETER ERBE EARTH'S RADIATION BUDGET EXP ERIMENT 0601 01 NOAA RADIOMETER ETM+ ENHANCED THEMATIC MAPPER 0605 02 NOAA RADIOMETER HIRS/2 HIGH RESOLUTION INFRA-RED SO UNDER/2 0606 02 NOAA RADIOMETER HIRS/3 HIGH RESOLUTION INFRA-RED SO UNDER/3 0607 02 NOAA RADIOMETER HIRS/4 HIGH RESOLUTION INFRA-RED SO UNDER/4 0615 01 NOAA RADIOMETER IMAGER IMAGER 0616 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIIR S VISIBLE/INFRARED IMAGER RADIOMETER SUITE 0620 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS CRIR S/NP CROSS TRACK INFRA-RED SOUNDER/NPOESS 0621 02 NOAA ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS ATMS ADVANCED TECHNOLOGY MICROWAVE SOUNDER 0622 01 NOAA RADIOMETER MSS MULTISPECTRAL SCANNING SYSTEM 0623 01 NOAA RADIOMETER MSU MICROWAVE SOUNDING UNIT 0624 02 NOAA RADIOMETER SBUV/2 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/2 0625 02 NOAA RADIOMETER SBUV/3 SOLAR BACKSCATTTER ULTRA-VIO LET INSTRUMENT/3 0626 01 NOAA RADIOMETER SOUNDER SOUNDER 0627 01 NOAA RADIOMETER SSU STRATOSPHERIC SOUNDING UNIT 0628 01 NOAA RADIOMETER TM THEMATIC MAPPER 0629 02 NOAA RADIOMETER TOVS (HIRS/2 + MSU + SSU) TIRO S OPERATIONAL VERTICAL SOUNDER 0630 01 NOAA RADIOMETER VAS VISSR ATMOSPHERIC SOUNDER 0631 01 NOAA RADIOMETER SSZ 0645 01 NOAA SPECTROMETER SEM SPACE ENVIRONMENT MONITOR 0650 02 NRSCC RADIOMETER MVIRSR (10 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0651 02 NRSCC RADIOMETER MVIRSR (3 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0652 02 NRSCC RADIOMETER MVIRSR (5 CHANNEL) MULTISPECTRA L VISIBLE AND INFRA-RED SCAN RADIOMETER 0670 01 NSAU RADAR RLSBO SIDE LOOKING MICROWAVE RADAR 0680 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS MSU-EU MULTI-SPECTR AL RADIOMETER WITH HIGH RESOLUTION 0681 02 NSAU IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MSU- UM VISIBLE MULTI-SPECTRAL RADIOMETER 0682 01 NSAU RADIOMETER RM-08 IMAGING MICROWAVE RADIOMETER 0683 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-UMS STEREO RADIO METER WITH HIGH RESOLUTION 0684 02 NSAU HIGH RESOLUTION OPTICAL IMAGERS SU-VR VISIBLE RADI OMETER WITH HIGH RESOLUTION 0685 01 NSAU RADIOMETER TRASSER 0700 02 ROSCOSMOS COMMUNICATIONS KONDOR-2 DATA COLLECT ION AND TRANSMISSION SYSTEM 0701 01 ROSCOSMOS COMMUNICATIONS BRK 0710 01 ROSCOSMOS LIDAR ALISSA BACKSCATTER LIDAR 0712 01 ROSCOSMOS LIDAR BALKAN-2 LIDAR 0715 01 ROSCOSMOS LIDAR MK-4 0716 01 ROSCOSMOS LIDAR MK-4M 0730 01 ROSCOSMOS RADAR GREBEN RADAR ALTIMETER 0731 01 ROSCOSMOS RADAR SAR-10 SYNTETIC APERTURE RADAR 0732 01 ROSCOSMOS RADAR SAR-3 SYNTETIC APERTURE RADAR 0733 01 ROSCOSMOS RADAR SAR-70 SYNTETIC APERTURE RADAR 0740 01 ROSCOSMOS RADAR SLR-3 SIDE LOOKING RADAR 0745 01 ROSCOSMOS RADAR TRAVERS SAR 0750 02 ROSCOSMOS RADIOMETER 174-K TEMPERATURE AND HUMI DITY PROFILER 0751 02 ROSCOSMOS RADIOMETER BTVK SCANNING TELEVISION RADIOMETER 0752 02 ROSCOSMOS RADIOMETER CHAIKA SCANNING IR RADIOMET ER 0753 02 ROSCOSMOS RADIOMETER DELTA-2 MULTISPECTRAL MICROW AVE SCANNER 0755 02 ROSCOSMOS RADIOMETER IKAR-D MULTISPECTRAL MICROW AVE SCANNER 0756 02 ROSCOSMOS RADIOMETER IKAR-N MULTISPECTRAL MICROW AVE SCANNER 0757 02 ROSCOSMOS RADIOMETER IKAR-P MULTISPECTRAL MICROW AVE SCANNER 0760 01 ROSCOSMOS RADIOMETER ISP 0761 02 ROSCOSMOS RADIOMETER KFA-1000 PHOTOGRAPHIC CAMERA 0762 01 ROSCOSMOS RADIOMETER KFA-200 PHOTOGRAPHIC CAMERA 0763 02 ROSCOSMOS RADIOMETER KFA-3000 PHOTOGRAPHIC CAMERA 0770 01 ROSCOSMOS RADIOMETER KLIMAT SCANNING IR RADIOMETER 0771 02 ROSCOSMOS RADIOMETER KLIMAT-2 SCANNING IR RADIOMETER 0775 01 ROSCOSMOS RADIOMETER MIRAS 0776 01 ROSCOSMOS RADIOMETER MIVZA 0777 02 ROSCOSMOS RADIOMETER MIVZA-M MICROWAVE SCANNING R ADIOMETER 0780 01 ROSCOSMOS RADIOMETER MR-2000 0781 01 ROSCOSMOS RADIOMETER MR-2000M 0785 02 ROSCOSMOS RADIOMETER MR-900 SCANNING TELEPHOTOME TER 0786 02 ROSCOSMOS RADIOMETER MR-900B SCANNING VISUAL BAND TELEPHOTOMETER 0790 02 ROSCOSMOS RADIOMETER MSU-E MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0791 02 ROSCOSMOS RADIOMETER MSU-E1 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0792 02 ROSCOSMOS RADIOMETER MSU-E2 MULTISPECTRAL HIGH R ESOLUTION ELECTRONIC SCANNER 0793 01 ROSCOSMOS RADIOMETER MSU-M 0794 02 ROSCOSMOS RADIOMETER MSU-S MULTISPECTRAL MEDIUM RESOLUTION SCANNER 0795 02 ROSCOSMOS RADIOMETER MSU-SK MULTISPECTRAL MEDIUM RESOLUTION CONICAL SCANNER 0796 02 ROSCOSMOS RADIOMETER MSU-V MULTISPECTRAL HIGH R ESOLUTION CONICAL SCANNER 0810 02 ROSCOSMOS RADIOMETER MTZA SCANNING MICROWAVE R ADIOMETER 0815 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) MZOAS SCANNING MICROWAVE RADIO METER 0820 03 ROSCOSMOS IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAVE) R-225 SINGLE CHANNEL MICROWAVE RADIOMETER 0821 01 ROSCOSMOS RADIOMETER R-400 0822 02 ROSCOSMOS RADIOMETER R-600 SINGLE CHANNEL MICRO WAVE RADIOMETER 0830 02 ROSCOSMOS RADIOMETER RMS RADIATION MEASUREMEN T SYSTEM 0835 01 ROSCOSMOS RADIOMETER TV CAMERA 0836 01 ROSCOSMOS RADIOMETER SILVA 0840 02 ROSCOSMOS SPECTRO-RADIOMETER SROSMO SPECTRORADIO METER FOR OCEAN MONITORING 0850 02 ROSCOSMOS SPECTROMETER BUFS-2 BACKSCATTER SPECTROM ETER/2 0851 02 ROSCOSMOS SPECTROMETER BUFS-4 BACKSCATTER SPECTROM ETER/4 0855 02 ROSCOSMOS SPECTROMETER ISTOK-1 INFRA-RED SPECTROMET ER 0856 02 ROSCOSMOS SPECTROMETER SFM-2 SPECTROMETER TO MEAS URE DIRECT SOLAR RADIATION 0857 01 ROSCOSMOS SPECTROMETER DOPI 0858 01 ROSCOSMOS SPECTROMETER KGI-4 0859 01 ROSCOSMOS SPECTROMETER OZON-M 0860 01 ROSCOSMOS SPECTROMETER RMK-2 0900 02 NOAA RADIOMETER MAXIE MAGNETOSPHERIC ATMOSPHERIC X -RAY IMAGING EXPERIMENT 0901 01 NOAA RADIOMETER OLS OPERATIONAL LINESCAN SYSTEM 0905 02 NOAA RADIOMETER SSM/I MISSION SENSOR MICROWAVE IMA GER 0906 02 NOAA RADIOMETER SSM/T-1 MISSION SENSOR MICROWAVE TEM PERATURE SOUNDER 0907 02 NOAA RADIOMETER SSM/T-2 MISSION SENSOR MICROWAVE WAT ER VAPOR SOUNDER 0908 02 NOAA RADIOMETER SSMIS SPECIAL SENSOR MICROWAVE IMA GER SOUNDER 0910 01 NOAA RADIOMETER SXI SOLAR X-RAY IMAGER 0930 02 NOAA SPECTROMETER EHIC ENERGETIC HEAVY ION COMPOSIT ION EXPERIMENT 0931 01 NOAA SPECTROMETER X-RAY ASTRONOMY PAYLOAD 0932 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) IVIS SR (FY-2) IMPROVED MULTISPECTRAL VISIBLE AND INFRA-RED SCA N RADIOMETER (5 CHANNELS) 0933 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IRAS INFRARED ATMOSPHERIC SOUNDER 0934 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWAS MICROWAVE ATMOSPHERIC SOUNDER 0935 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS IMWA S IMPROVED MICROWAVE ATMOSPHERIC SOUNDER 0936 02 NRSCC ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS MWHS MICROWAVE HUMIDITY SOUNDER 0937 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) MVIR S MODERATE RESOLUTION VISIBLE AND INFRARED IMAGING SPECTRO RADIOMETER 0938 02 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) MWRI MICROWAVE RADIATION IMAGER 0940 02 ROSCOSMOS ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDER S MTVZA-OK SCANNING MICROWAVE RADIOMETER 0941 02 CNES ATMOSPHERIC TEMPERATURE AND HUMIDITY SOUNDERS SAPH IR 0944 01 NOAA RADAR ALTIMETERS ALT ALTIMETER 0945 02 NOAA EARTH RADIATION BUDGET RADIOMETER TSIS TOTA L SOLAR IRRADIANCE SENSOR 0946 02 NOAA IMAGING MULTI-SPECTRAL RADIOMETERS (PASSIVE MICROWAV E) CMIS CONICAL-SCANNING MICROWAVE IMAGER/SOUNDER 0947 02 NOAA TOTAL AND PROFILE OZONE OMPS OZONE MAPPING AND PR OFILER SUITE 0948 03 NOAA SPACE ENVIRONMENT ATMOSPHERIC TEMPERATURE AND HUMIDI TY SOUNDERS GPSOS GLOBAL POSITIONING SYSTEM OCCULTATION SE NSOR 0949 02 NOAA MAGNETIC FIELD, AUROAL IMAGERY SCINTILLATION BOUNDAR Y SESS SPACE ENVIRONMENTAL SENSOR SUITE 0950 03 NRSCC IMAGING MULTI-SPECTRAL RADIOMETERS (VIS/IR) VIRR MULTISPECTRAL VISIBLE AND INFRA-RED SCAN RADIOMETER (10 CHANNELS 0951 01 NRSCC TOTAL AND PROFILE OZONE TOM TOTAL OZONE MAPPER 0952 01 NRSCC TOTAL AND PROFILE OZONE OP OZONE PROFILER 2047 01 MISSING VALUE 002020 0024 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 (TIROS, NOAA-6 TO NOAA-13) 0003 01 TIROS 2 (NOAA-14 ONWARDS) 0010 01 EOS 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0261 01 JASON 0271 01 GMS 0272 01 MTSAT 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME (MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME (MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME (MSG) 0351 01 GOMS 0380 01 FY-1 0381 01 FY-2 0401 01 GPS 0402 01 GLONASS 0403 01 GALILEO 0511 01 MISSING VALUE 002021 0008 0001 01 HIGH RESOLUTION INFRA RED SOUNDER (HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU ) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 002022 0005 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 AUTOMATED STATISTICAL REGRESSION 0003 01 CLEAR PATH 0004 01 PARTLY CLOUDY PATH 0005 01 CLOUDY PATH 002023 0012 0000 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE WATER VAPOUR CHANNEL 0001 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE INFRARED CHAN NEL 0002 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN THE VISIBLE CHANN EL 0003 02 WIND DERIVED FROM CLOUD MOTION OBSERVED IN WATER VAPOUR CHAN NEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0004 02 WIND DERIVED FROM MOTION OBSERVED IN COMBINATION OF SPECTRA L CHANNELS 0005 02 WIND DERIVED FROM MOTION OBSERVED IN THE WATER VAPOUR CHANN EL IN CLEAR AIR 0006 01 WIND DERIVED FROM MOTION OBSERVED IN THE OZONE CHANNEL 0007 02 WIND DERIVED FROM MOTION OBSERVED IN WATER VAPOUR CHANNEL (CLOUD OR CLEAR AIR NOT SPECIFIED) 0008 01 WIND DERIVED FROM ALTIMETER 0009 01 WIND DERIVED FROM RADIOMETER 0013 01 ROOT MEAN SQUARE 0015 01 MISSING VALUE 002024 0003 0001 01 TABLE WITH FULL RANGE OF HUMIDITY VARIATION IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002025 0016 0001 01 RESERVED 0002 01 HIRS 0003 01 MSU 0006 01 HIRS 0007 01 MSU 0010 01 HIRS(1, 2, 3, 8,9, 16, 17) 0011 01 HIRS(1, 2, 3, 9, 17) 0012 01 MSU 0015 01 HIRS 0016 01 HIRS 0017 01 MSU 0018 01 SKINTK(OCEAN ONLY) 0021 01 HIRS 0022 01 SSU 0023 01 MSU (3 ,4) 0025 01 MISSING 002030 0007 0001 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0002 01 GEK (GEOMAGNETIC ELECTRO KINETOGRAPH) 0003 01 SHIPS'S SET AND DRIFT DETERMINED BY FIXES 3-6 HOURS APART 0004 02 SHIPS'S SET AND DRIFT DETERMINED BY MORE THAN 6 HOURS BUT LE SS THAN 12 HOURS APART 0005 01 DRIFT OF BUOY 0006 01 ADCP (ACOUSTIC DOPPLER CURRENT PROFILER) 0007 01 MISSIN VALUE 002031 0021 0000 01 RESERVED 0001 01 INSTANTANEOUS 0002 01 AVERAGED OVER 3 MINUTES OR LESS 0003 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0004 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0005 01 INSTANTANEOUS 0006 01 AVERAGED OVER 3 MINUTES OR LESS 0007 01 AVERAGED OVER MORE THAN 3 MINUTES, BUT 6 AT THE MOST 0008 01 AVERAGED OVER MORE THAN 6 MINUTES, BUT 12 AT THE MOST 0009 01 VECTOR OR DOPPLER CURRENT PROFILLING METHOD NOT USED 0010 01 RESERVED 0011 01 1 HOUR OR LESS 0012 01 MORE THAN 1 HOUR BUT 2 AT THE MOST 0013 01 MORE THAN 2 HOUR BUT 4 AT THE MOST 0014 01 MORE THAN 4 HOUR BUT 8 AT THE MOST 0015 01 MORE THAN 8 HOUR BUT 12 AT THE MOST 0016 01 MORE THAN 12 HOUR BUT 18 AT THE MOST 0017 01 MORE THAN 18 HOUR BUT 24 AT THE MOST 0018 01 RESERVED 0019 01 DRIFT METHOD NOT USED 0031 01 MISSING 002032 0004 0000 02 VALUES AT SELECTED DEPTHS (DATA POINTS FIXED BY THE INSTRUME NT OR SELECTED BY ANY OTHER METHOD) 0001 02 VALUES AT SIGNIFICANT DEPTHS (DATA POINTS TAKEN FROM TRACES AT SIGNIFICANT DEPTHS) 0002 01 RESERVED 0003 01 MISSING VALUE 002033 0005 0000 01 NO SALINITY MEASURED 0001 01 IN SITU SENSOR, ACCURACY BETTER THAN 0.02 % 0002 01 IN SITU SENSOR, ACCURACY LESS THAN 0.02 % 0003 01 SAMPLE ANALYSIS 0007 01 MISSING VALUE 002034 0007 0000 01 UNSPECIFIED DROGUE 0001 01 HOLEY SOCK 0002 01 TRISTAR 0003 01 WINDOW SHADE 0004 01 PARACHUTE 0005 01 NON-LAGRANGIAN SEA ANCHOR 0031 01 MISSING VALUE 002036 0004 0000 01 DRIFTING BUOY 0001 01 FIXED BUOY 0002 01 RESERVED 0003 01 MISSING VALUE 002037 0007 0000 01 REASERVED 0001 01 MANUAL READING FROM VERTICAL TIDE STAFF 0002 01 MANUAL READING FROM SINGLE AUTOMATIC RECORDER AT STATION 0003 01 MANUAL READING FROM MULTIPLE AUTOMATIC RECORDERS AT STATION 0004 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITHOUT LEVEL REFERENCE CHECK 0005 02 AUTOMATIC READING FROM SINGLE AUTOMATIC RECORDER AT STATION WITH LEVEL REFERENCE CHECK,OR MULTIPLE AUTOMATIC RECORDERS 0007 01 MISSING 002038 0012 0000 01 SHIP INTAKE 0001 01 BUCKET 0002 01 HULL CONTACT SENSOR 0003 01 REVERSING TERMOMETER 0004 01 STD/CTD SENSOR 0005 01 MECHANICAL BT 0006 01 EXPANDABLE BT 0007 01 DIGITAL BT 0008 01 THERMISTOR CHAIN 0009 01 INFRARED SCANNER 0010 01 MICROWAVE SCANNER 0015 01 MISSING VALUE 002039 0005 0000 01 MEASURED WET-BULB TEMPERATURE 0001 01 ICED BULB MEASURED WET-BULB TEMPERATURE 0002 01 COMPUTED WET-BULB TEMPERATURE 0003 01 ICED BULB COMPUTED WET-BULB TEMPERATURE 0007 01 MISSING VALUE 002041 0005 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMSILATIO N MANUALLY MODIFIED 0063 01 MISSING VALUE 002040 0008 0000 01 SHIPS MOTION REMOVED BY AVARAGING 0001 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0002 01 SHIPS MOTION NOT REMOVED 0003 01 SHIPS MOTION REMOVED BY AVERAGING 0004 01 SHIPS MOTION REMOVED BY MOTION COMPENSATION 0005 01 SHIPS MOTION NOT REMOVED 0006 01 DOPPLER CURRENT PROFILING METHOD NOT USED 0015 01 MISSING VALUE 002041 0006 0000 01 INFORMATION BASED ON MANUAL ANALYSIS 0001 01 INFORMATION BASED ON COMPUTER ANALYSIS 0002 01 INFORMATION BASED ON DATA ASSIMILATION 0003 02 INFORMATION BASED ON COMPUTER ANALYSIS OR DATA ASSIMILATION MANUALLY MODIFIED 0010 01 INFORMATION BASED ON THE NUMERICAL WEATHER PREDICTION 0063 01 MISSING VALUE 002044 0006 0000 01 RESERVED 0001 01 LONGUET-HIGGINS (1964) 0002 01 LONGUET-HIGGINS (F3 METHOS) 0003 01 MAXIMUM LIKELIHOOD METHOD 0004 01 MAXIMUM ENTROPY METHOD 0015 01 MISSING VALUE 002045 0005 0000 01 SEA STATION 0001 01 AUTOMATIC DATA BUOY 0002 01 AIRCRAFT 0003 01 SATELLITE 0015 01 MISSING VALUE 002046 0004 0000 01 RESERVED 0001 01 HEAVE SENSOR 0002 01 SLOPE SENSOR 0015 01 MISSING VALUE 002048 0012 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A 0004 01 AMSU-B 0005 01 AVHRR 0006 01 SSMI 0007 01 NSCAT 0008 01 SEA WINDS 0009 01 POSEIDON ALTIMETER 0010 01 JMR (JASON MICROWAVE RADIOMETER) 0015 01 MISSING VALUE 002049 0004 0001 01 PROCESSING TECHNIQUE NOT DEFINED 0002 01 SIMULTANIOUS PHISICAL RETRIEVAL 0003 01 CLEAR SOUNDING 0004 01 CLOUDY COUNDING 002050 0019 0001 01 CHANNEL 1 14.71 MICROMETERS 0002 01 CHANNEL 2 14.37 MICROMETERS 0003 01 CHANNEL 3 14.06 MICROMETERS 0004 01 CHANNEL 4 13.64 MICROMETERS 0005 01 CHANNEL 5 13.37 MICROMETERS 0006 01 CHANNEL 6 12.66 MICROMETERS 0007 01 CHANNEL 7 12.02 MICROMETERS 0008 01 CHANNEL 8 11.03 MICROMETERS 0009 01 CHANNEL 9 9.71 MICROMETERS 0010 01 CHANNEL 10 7.43 MICROMETERS 0011 01 CHANNEL 11 7.02 MICROMETERS 0012 01 CHANNEL 12 6.51 MICROMETERS 0013 01 CHANNEL 13 4.57 MICROMETERS 0014 01 CHANNEL 14 4.52 MICROMETERS 0015 01 CHANNEL 15 4.45 MICROMETERS 0016 01 CHANNEL 16 4.13 MICROMETERS 0017 01 CHANNEL 17 3.98 MICROMETERS 0018 01 CHANNEL 18 3.74 MICROMETERS 0019 01 CHANNEL 19 0.969 MICROMETERS 002051 0004 0001 01 MAXIMUM/MINIMUM THERMOMETERS 0002 01 AUTOMATED INSTRUMENT 0003 01 THERMOGRAPH 0015 01 MISSING VALUE 002052 0005 0001 01 CHANNEL 1 0.55-.75 MICROMETERS 0002 01 CHANNEL 2 3.9 MICROMETERS 0003 01 CHANNEL 3 6.7 MICROMETERS 0004 01 CHANNEL 4 10.7 MICROMETERS 0005 01 CHANNEL 5 12.0 MICROMETERS 002053 0005 0000 01 OBSERVED BRIGHTNESS TEMPERATURES 0001 01 BRIGHTNESS TEMPERATURE WITH BIAS CORRECTION APPLIED 0002 01 BRIGHTNESS TEMPERATURE CALCULATED FROM FIRST GUESS 0003 01 BRIGHTNESS TEMPERATURE CALCULATED FROM SOUNDING 0015 01 MISSING VALUE 002054 0006 0000 02 PARAMETER DERIVED USING OBSERVED SOUNDER BRIGHTNESS TEMPERAT URES 0001 02 PARAMETER DERIVED USING OBSERVED IMAGER BRIGHTNESS TEMPERATU RES 0002 01 PARAMETER DERIVED USING FIRST GUESS INFORMATION 0003 01 PARAMETER DERIVED USING NMC ANALYSIS INFORMATION 0004 01 PARAMETER DERIVED USING RADIOSONDE INFORMATION 0015 01 MISSING VALUE 002055 0009 0000 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS RADIOSONDE 0001 01 STATISTICS GENERATED COMPARING RETRIEVAL VERSUS FIRST GUESS 0002 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS FIRST GUESS 0003 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS RETRIEVAL 0004 01 STATISTICS GENERATED COMPARING OBSERVED VERSUS FORST GUESS 0005 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS IMAGER 0006 01 STATISTICS GENERATED COMPARING RADIOSONDE VERSUS SOUNDER 0007 01 STATISTICS GENERATED FOR RADIOSONDE 0008 01 STATISTICS GENERATED FOR FIRST GUESS 002056 0006 0000 01 SUMS OF DIFFERENCE 0001 01 SUMS OF SQUARED DIFFERENCES 0002 01 SAMPLE SIZE 0003 01 MINIMUM DIFFERENCE 0004 01 MAXIMUM DIFFERENCE 0015 01 MISSING VALUE 002057 0006 0000 01 NESTED GRID MODEL (NMG) 0001 01 AVIATION MODEL(AVN) 0002 01 MEDIUM RANGE FORECAST (MRF) MODEL 0003 01 GLOBAL DATA ASSIMILATION SYSTEM (GDAS) FORECAST MODEL 0004 01 PRIOR SOUNDINGS (WITHIN 3 HOURS OF CURRENT TIME) 0005 01 CLIMATOLOGY 002058 0005 0000 01 12 HOUR AND 18 HOUR 0001 01 18 HOUR AND 24 HOUR 0002 01 6 HOUR AND 12 HOUR 0003 01 GREATER THAN 24 HOUR 0015 01 MISSING VALUE 002059 0005 0000 01 NCEP NESTED GRID MODEL ANALYSIS 0001 01 NCEP AVIATION MODEL ANALYSIS 0002 01 NCEP MEDIUM RANGE FORECAST MODEL ANALYSIS 0003 01 NCEP GLOBAL DATA ASSIMILATION SYSTEM FORECAST MODEL ANALYSIS 0015 01 MISSING VALUE 002060 0007 0000 01 CURRENT SURFACE HOURLY REPORTS 0001 01 CURRENT SHIP REPORTS 0002 01 CURRENT BUOY REPORTS 0003 01 ONE HOUR OLD SURFACE HOURLY REPORTS 0004 01 ONE HOUR SHIP OLD REPORTS 0005 01 ONE HOUR BUOY OLD REPORTS 0015 01 MISSING VALUE 002061 0003 0000 01 INERTIAL NAVIGATOR SYSTEM 0001 01 OMEGA 0007 01 MISSING VALUE 002062 0007 0000 01 ASDAR 0001 01 ASDAR(ACARS ALSO AVAILABLE BUT NOT OPERATIVE) 0002 01 ASDAR(ACARS ALSO AVAILABLE AND OPERATIVE) 0003 01 ACARS 0004 01 ACARS(ASDAR ALSO AVALILABLE BUT NOT OPERATIVE) 0005 01 ACARS(ASDAR ALSO AVAILABLE AND OPERATIVE) 0015 01 MISSING VALUE 002064 0004 0000 01 GOOD 0001 01 BAD 0002 01 RESERVED 0003 01 MISSING VALUE 002066 0004 0000 01 TRS 2000 0001 01 IMS 1500C 0062 01 OTHER 0063 01 MISSING VALUE 002070 0013 0000 01 ACTUAL LOCATION IN SECONDS 0001 01 ACTUAL LOCATION IN MINUTES 0002 01 ACTUAL LOCATION IN DEGREES 0003 01 ACTUAL LOCATION IN DECIDEGREES 0004 01 ACTUAL LOCATION OM CENTIDEGREES 0005 01 REFERENCED TO CHECKPOINT IN SECONDS 0006 01 REFERENCED TO CHECKPOINT IN MINUTES 0007 01 REFERENCED TO CHECKPOINT IN DEGREES 0008 01 REFERENCED TO CHECKPOINT IN DECIDEGREES 0009 01 REFERENCED TO CHECKPOINT IN CENTIDEGREES 0010 01 ACTUAL LOCATION IN TENTHS OF A MINUTE 0011 01 REFERENCED TO CHECKPOINT IN TENTHS OF A MINUTE 0015 01 MISSING VALUE 002080 0005 0000 01 KAYSAM 0001 01 TOTEX 0002 01 KKS 0062 01 OTHER 0063 01 MISSING VALUE 002081 0009 0000 01 GP26 0001 01 GP28 0002 01 GP30 0003 01 HM26 0004 01 HM28 0005 01 HM30 0006 01 SV16 0030 01 OTHER 0031 01 MISSING VALUE 002083 0006 0000 01 HIGH BAY 0001 01 LOW BAY 0002 01 BALLOON INFLATION LAUNCH SYSTEM (BILS) 0003 01 ROOF-TOP BILS 0014 01 OTHER 0015 01 MISSING VALUE 002084 0005 0000 01 HYDROGEN 0001 01 HELIUM 0002 01 NATURAL GAS 0014 01 OTHER 0015 01 MISSING VALUE 002095 0005 0000 01 CAPACITANCE ANEROID 0001 01 DERIVED FROM GPS 0002 01 RESISTIVE STRAIN GAUGE 0030 01 OTHER 0031 01 MISSING VALUE 002096 0005 0000 01 ROD THERMISTOR 0001 01 BEAD THERMISTOR 0002 01 CAPACITANCE BEAD 0030 01 OTHER 0031 01 MISSING VALUE 002097 0008 0000 01 VIZ MARK II CARBON HYGRISTOR 0001 01 VIZ B2 HYGRISTOR 0002 01 VAISALA A-HUMICAP 0003 01 VAISALA H-HUMICAP 0004 01 CAPACITANCE SENSOR 0005 01 VAISALA RS90 0030 01 OTHER 0031 01 MISSING VALUE 002098 0005 0000 01 HH POLARISATION 0001 01 VV POLARISATION 0002 01 HV POLARISATION REAL VALUED COMPONENT 0003 01 HV POLARISATION IMAGINARY VALUED COMPONENT 0007 01 MISSING VALUE 002101 0010 0000 01 CENTRE FRONT-FED PARABOLOID 0001 01 OFFSET FRONT-FED PARABOLOID 0002 01 CENTRE CASSEGRAIN PARABOLOID 0003 01 OFFSET CASSEGRAIN PARABOLOID 0004 01 PLANAR ARRAY 0005 01 COAXIAL-COLLINEAR ARRAY 0006 01 YAGI ELEMENTS ARRAY 0007 01 MICROSTRIP 0014 01 OTHER 0015 01 MISSING VALUE 002103 0002 0001 01 RADAR ANTENNA IS PROTECTED BY A RADOME 0002 01 MISSING VALUE 002104 0007 0000 01 HORIZONTAL POLARISATION 0001 01 VERTICAL POLARISATION 0002 01 RIGHT CIRCULAR POLARISATION 0003 01 LEFT CIRCULAR POLARSZATION 0004 01 HORIZONTAL AND VERTICAL POLARISATION 0005 01 RIGHT AND LEFT CIRCULAR POLARISATION 0015 01 MISSING VALUE 002115 0007 0000 01 PDB 0001 01 RSOIS 0002 01 ASOS 0003 01 PSYCHROMETER 0004 01 F420 0030 01 OTHER 0031 01 MISSING VALUE 002119 0008 0000 01 INTERMEDIATE FREQUENCY CALIBRATION MODE (IFCAL) 0001 01 BUILT-IN TEST EQUIPMENT DIGITAL (BITE DGT) 0002 01 BUILT-IN TEST EQUIPMENT RADIO FREQUENCY (BITE RF) 0003 01 PRESET TRACKING (PSET TRK) 0004 01 PRESET LOOP OUT 0005 01 ACQUISITION 0006 01 TRACKING 0007 01 MISSING VALUE 002131 0001 0001 01 STC OPERATIONAL 002143 0021 0000 01 RESERVED 0001 01 BREWER SPECTROPHOTOMETER 0002 01 CAVER TEICHERT 0003 01 DOBSON 0004 01 DOBSON (JAPAN) 0005 01 EHMET 0006 01 FECKER TELESCOPE 0007 01 HOELPER 0008 01 JODMETER 0009 01 FILTER OZONOMETER M-83 0010 01 MAST 0011 01 OXFORD 0012 01 PAETZOLD 0013 01 REGENER 0014 01 RESERVED FOR FUTURE USE 0015 01 VASSY FILTER OZONOMETER 0016 01 CARBON IODIDE 0017 01 SURFACE OZONE BUBLER 0018 01 FILTER OZONOMETER M-124 0019 01 ECC SONDE 0127 01 MISSING VALUE 002144 0008 0000 01 DIRECT SUN, ATTENUATOR #0 0001 01 DIRECT SUN, ATTENUATOR #1 0002 01 DIRECT SUN, ATTENUATOR #2 0003 01 FOCUSSED MOON 0004 01 FOCUSSED SUN 0005 01 FOCUSSED SUN CORRECTED WITH ADJACENT SKY MEASUREMENTS 0006 01 ZENITH SKY 0015 01 MISSING VALUE 002145 0009 0000 01 WAVELENGTH AD ORDINARY SETTING 0001 01 WAVELENGTH BD ORDINARY SETTING 0002 01 WAVELENGTH CD ORDINARY SETTING 0003 01 WAVELENGTH CC' ORDINARY SETTING 0004 01 WAVELENGTH AD FOCUSSING IMAGE 0005 01 WAVELENGTH BD FOCUSSING IMAGE 0006 01 WAVELENGTH CD FOCUSSING IMAGE 0007 01 WAVELENGTH CC' FOCUSSING IMAGE 0015 01 MISSING VALUE 002146 0011 0000 01 ON DIRECT SUN 0001 01 ON DIRECT MOON 0002 01 ON BLUE ZENITH SKY 0003 01 ON ZENITH CLOUD (UNIFORM STRATIFIED LAYER OF SMALL OPACITY) 0004 02 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF MED IUM OPACITY) 0005 02 ON ZENITH CLOUD (UNIFORM OR MODERATELY VARIABLE LAYER OF LAR GE OPACITY) 0006 02 ON ZENITH CLOUD (HIGHLY VARIABLE OPACITY, WITH OR WITOUT PRE CIPITATION) 0007 01 ON ZENITH CLOUD (FOG) 0008 01 ON ZENITH HAZE 0009 01 ON DIRECT SUN THROUGH THIN CLOUD, FOG OR HAZE 0015 01 MISSING VALUE 002148 0006 0000 01 RESERVED 0001 01 ARGOS 0002 01 GPS 0003 01 GOES DCP 0004 01 METEOSAT DCP 0031 01 MISSING VALUE 002149 0022 0000 01 UNSPECIFIED DRIFTING BUOY 0001 01 STANDARD LAGRANGIAN DRIFTER (GLOBAL DRIFTER PROGRAMME) 0002 01 STANDARD FGGE TYPE DRIFTING BUOY 0003 01 WIND MEASURING FGGE TYPE DRIFTING BUOY 0004 01 ICE FLOAT 0008 01 UNSPECIFIED SUB-SURFACE FLOAT 0009 01 SOFAR 0010 01 ALACE 0011 01 MARVOR 0012 01 RAFOS 0016 01 UNSPECIFIED MOORED BUOY 0017 01 NOMAD 0018 01 3-METRE DISCUS 0019 01 10-12-METRE DISCUS 0020 01 ODAS 30 SERIES 0021 01 ATLAS (E.G. TAO AREA) 0022 01 TRITON BUOY 0023 01 RESERVED 0024 01 OMNIDIRECTIONAL WAVERIDER 0025 01 DIRECTIONAL WAVERIDER 0026 01 SUB-SURFACE ARGO FLOAT 0063 01 MISSING VALUE 002150 0055 0000 01 RESERVED 0001 01 HIRS 1 0002 01 HIRS 2 0003 01 HIRS 3 0004 01 HIRS 4 0005 01 HIRS 5 0006 01 HIRS 6 0007 01 HIRS 7 0008 01 HIRS 8 0009 01 HIRS 9 0010 01 HIRS 10 0011 01 HIRS 11 0012 01 HIRS 12 0013 01 HIRS 13 0014 01 HIRS 14 0015 01 HIRS 15 0016 01 HIRS 16 0017 01 HIRS 17 0018 01 HIRS 18 0019 01 HIRS 19 0020 01 HIRS 20 0021 01 MSU 1 0022 01 MSU 2 0023 01 MSU 3 0024 01 MSU 4 0025 01 SSU 1 0026 01 SSU 2 0027 01 SSU 3 0028 01 AMSU-A 1 0029 01 AMSU-A 2 0030 01 AMSU-A 3 0031 01 AMSU-A 4 0032 01 AMSU-A 5 0033 01 AMSU-A 6 0034 01 AMSU-A 7 0035 01 AMSU-A 8 0036 01 AMSU-A 9 0037 01 AMSU-A 10 0038 01 AMSU-A 11 0039 01 AMSU-A 12 0040 01 AMSU-A 13 0041 01 AMSU-A 14 0042 01 AMSU-A 15 0043 01 AMSU-B 1 0044 01 AMSU-B 2 0045 01 AMSU-B 3 0046 01 AMSU-B 4 0047 01 AMSU-B 5 0048 01 AVHRR 1 0049 01 AVHRR 2 0050 01 AVHRR 3A 0051 01 AVHRR 3B 0052 01 AVHRR 4 0053 01 AVHRR 5 0063 01 MISSING VALUE 002151 0009 0000 01 HIRS 0001 01 MSU 0002 01 SSU 0003 01 AMSU-A1-1 0004 01 AMSU-A1-2 0005 01 AMSU-A2 0006 01 AMSU-B 0007 01 AVHRR 2047 01 MISSING VALUE 002152 0011 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 002158 0008 0001 01 MISMATCH IN RED VEC HPA 0002 01 MISMATCH IN RED VEC RFSS 0003 01 PTR CALIBRATION BAND 320 MHZ (KU) 0004 01 PTR CALIBRATION BAND 80 MHZ (KU) 0005 01 PTR CALIBRATION BAND 20 MHZ (KU) 0006 01 PTR CALIBRATION BAND 160 MHZ (S) 0007 01 KU FLIGHT CALIBRATION PARAMETERS AVAILABLE 0008 01 S FLIGHT CALIBRATION PARAMETERS AVAILABLE 002159 0005 0001 01 TEMPERATURE INCONSISTENCY 0002 01 DATA IS MISSING 0003 01 REDUNDANCY CHANNEL 0004 01 POWER BUS PROTECTION 0005 01 OVERVOLTAGE/OVERLOAD PROTECTION 002163 0015 0000 01 AUTO EDITOR 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMUM GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002164 0004 0000 01 LP - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0007 01 MISSING VALUE 002166 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 002167 0004 0000 01 METHOD NOT DEFINE 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002169 0004 0000 01 CUP ROTOR 0001 01 PROPELLER ROTOR 0002 01 WIND OBSERVATION THROUGH AMBIENT NOISE (WOTAN) 0015 01 MISSING VALUE 002172 0003 0001 01 RETRIEVAL FROM A NADIR SOUNDING 0002 01 RETRIEVAL FROM A LIMB SOUNDING 0255 01 MISSING VALUE 002175 0009 0000 01 MANUAL MEASUREMENT 0001 01 TIPPING BUCKET METHOD 0002 01 WEIGHING METHOD 0003 01 OPTICAL METHOD 0004 01 PRESSURE METHOD 0005 01 FLOAT METHOD 0006 01 DROP COUNTER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002176 0006 0000 01 MANUAL OBSERVATION 0001 01 VIDEO CAMERA METHOD 0002 01 INFRA-RED METHOD 0003 01 LASER METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002177 0005 0000 01 MANUAL OBSERVATION 0001 01 ULTRASONIC METHOD 0002 01 VIDEO CAMERA METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002178 0005 0000 01 MANUAL OBSERVATION 0001 01 OPTICAL METHOD 0002 01 CAPACITIVE METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002179 0006 0000 01 MANUAL OBSERVATION 0001 01 VAISALA ALGORITHM 0002 01 ASOS (FAA) ALGORITHM 0003 01 AWOS (CANADA) ALGORITHM 0014 01 OTHER 0015 01 MISSING VALUE 002180 0008 0000 01 MANUAL OBSERVATION 0001 02 OPTICAL SCATTER SYSTEM COMBINED WITH PRECIPITATION OCCURRENCE SENSING SYSTEM 0002 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF VISIBLE LIGHT 0003 01 FORWARD AND/OR BACK-SCATTER SYSTEM OF INFRARED LIGHT 0004 01 INFRARED LIGHT EMITTING DIODE (IRED) SYSTEM 0005 01 DOPPLER RADAR SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002181 0005 0001 01 RAIN DETECTOR 0002 01 FREEZING RAIN SENSOR 0003 01 ICE DETECTION SENSOR 0004 01 HAIL AND ICE PELLET SENSOR 0020 01 OTHER 002182 0007 0000 01 MANUAL MEASUREMENT 0001 01 TRANSMISSOMETER SYSTEM (BASE > 25) 0002 01 TRANSMISSOMETER SYSTEM (BASE < 25 M) 0003 01 FORWARD SCATTER SYSTEM 0004 01 BACK SCATTER SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002183 0009 0000 01 MANUAL OBSERVATION 0001 01 CEILOMETER SYSTEM 0002 01 INFRARED CAMERA SYSTEM 0003 01 MICROWAVE VISUAL CAMERA SYSTEM 0004 01 SKY IMAGER SYSTEM 0005 01 VIDEO TIME LAPSED CAMERA SYSTEM 0006 01 MICRO PULSE LIDAR (MPL) SYSTEM 0014 01 OTHER 0015 01 MISSING VALUE 002184 0008 0000 01 MANUAL OBSERVATION 0001 01 LIGHTNING IMAGING SENSOR 0002 01 ELECTRICAL STORM IDENTIFICATION SENSOR 0003 01 MAGNETIC FINDER SENSOR 0004 01 LIGHTNING STRIKE SENSOR 0005 01 FLASH COUNTER 0014 01 OTHER 0015 01 MISSING VALUE 002185 0007 0000 01 MANUAL MEASUREMENT 0001 01 BALANCED FLOATING METHOD 0002 01 PRESSURE METHOD 0003 01 ULTRASONIC METHOD 0004 01 HYDRAULIC METHOD 0014 01 OTHER 0015 01 MISSING VALUE 002186 0023 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 002187 0011 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 002188 0010 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 002189 0004 0001 01 MANUAL OBSERVATION 0002 01 ALL LIGHTNING STRIKES WITHOUT DISCRIMINATION 0003 01 LIGHTNING STRIKES CLOUD TO GROUND ONLY 0004 02 ALL LIGHTNING STRIKES WITH DISCRIMINATION BETWEEN CLOUD TO GROUND AND CLOUD TO CLOUD 002194 0002 0000 01 FGGE 0015 01 MISSING VALUE 002196 0017 0000 01 NIMBUS 0001 01 VTPR 0002 01 TIROS 1 ( TIROS NOAA 6 TO NOAA 13) 0003 01 TIROS 2 ( NOAA-14 ONWARD) 0031 01 DMSP 0061 01 EUMETSAT POLAR SYSTEM (EPS) 0091 01 ERS 0121 01 ADEOS 0241 01 GOES 0271 01 GMS 0301 01 INSAT 0331 01 METEOSAT OPERATIONAL PROGRAMME(MOP) 0332 01 METEOSAT TRANSITIONAL PROGRAMME(MTP) 0333 01 METEOSAT SECOND GENERATION PROGRAMME(MSG) 0351 01 GOMS 0381 01 FY-2 0512 01 MISSING VALUE 002199 0004 0000 01 RESERVED 0001 01 TABLE WITH FULL RANGE OF HUMMIDITY VALUES IN LAYER 0002 01 REGRESSION TECHNIQUE ON 2 HUMMIDITY VALUES IN LAYER 0015 01 MISSING VALUE 002216 0017 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG(1) 0015 01 SLICES PER COMPOSITE FLAG(2) 0016 01 SLICES PER COMPOSITE FLAG(3) 0017 01 MISSING VALUE 002231 0015 0000 01 RESERVED 0001 01 IRW HEIGHT ASSIGNMENT 0002 01 WV HEIGHT ASSIGNMENT 0003 01 H2O INTERCEPT HEIGHT ASSIGNMENT 0004 01 CO2 SLICING HEIGHT ASSIGNMENT 0005 01 LOW PIXEL MAX GRADIENT 0006 01 HIGHER PIXEL MAX GRADIENT 0007 01 PRIMARY HEIGHT ASSIGNMENT 0008 01 LAYER THICKNESS ASSIGNMENT 0009 01 CUMULATIVE CONTRIBUTION FUNCTION -10 PERCENT HEIGHT 0010 01 CUMULATIVE CONTRIBUTION FUNCTION -50 PERCENT HEIGHT 0011 01 CUMULATIVE CONTRIBUTION FUNCTION -90 PERCENT HEIGHT 0012 02 CUMULATIVE CONTRIBUTION FUNCTION - HEIGHT OF MAXIMU M GRADIENT 0014 01 COMPOSITE HEIGHT ASSIGNMENT 0015 01 MISSING VALUE 002232 0004 0000 01 P - NORMS LEAST SQUARE MINIMUM 0001 01 EN - EUCLIDEAN NORM WITH RADIANCE CORRELATION 0002 01 CC - CROSS CORRELATION 0003 01 MISSING VALUE 002251 0004 0000 01 METHOD NOT DEFINED 0001 01 1B RAW RADIANCE 0002 01 PROCESSED RADIANCE 0015 01 MISSING VALUE 002252 0012 0001 01 HIGH-RESOLUTION INFRARED SOUNDER(HIRS) 0002 01 MICROWAVE SOUNDING UNIT (MSU) 0003 01 STRATOSPHERIC SOUNDING UNIT (SSU) 0004 01 AMI WIND MODE 0005 01 AMI WAVE MODE 0006 01 AMI IMAGE MODE 0007 01 RADAR ALTIMETER 0008 01 ATSR 0009 01 GEOSTATIONARY IMAGER 0010 01 GEOSTATIONARY SOUNDER 0011 01 GEOSTATIONARY EARTH RADIATION (GERB) 0012 01 MULTI-CHANNEL SCANNING RADIOMETER 002254 0006 0000 01 TYPE NOT DEFINED 0001 01 AUTOMATED STATISTICAL REGRESSION 0002 01 CLEAR PATH 0003 01 PARTLY CLOUDY PATH 0004 01 CLOUDY PATH 0015 01 MISSING VALUE 004059 0005 0001 01 00 UTC 0002 01 06 UTC 0003 01 12 UTC 0004 01 18 UTC 0005 01 OTHER HOURS 008001 0007 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT LEVEL, TEMPERATURE AND/OR RELATIVE HUMIDITY 0006 01 SIGNIFICANT LEVEL, WIND 0007 01 MISSING VALUE 008002 0013 0000 02 OBSERVING RULES FOR BASE OF LOWEST CLOUD AND CLOUD TYPES OF FM 12-IX EXT. SYNOP AND FM 13-IX EXT. SHIP APPLY 0001 01 FIRST NON - CB SIGNIFICANT LAYER 0002 01 SECOND NON - CB SIGNIFICANT LAYER 0003 01 THIRD NON - CB SIGNIFICANT LAYER 0004 01 CUMULONIMBUS LAYER 0005 01 CEILING 0006 01 CLOUD NOT DETECTED BELOW THE FOLLOWING HEIGHT(S) 0007 01 LOW CLOUD 0008 01 MIDDLE CLOUD 0009 01 HIGH CLOUD 0010 02 CLOUD LAYER WITH BASE BELOW THE STATION LEVEL AND TOP ABOVE THE STATION LEVEL 0011 01 CLOUD LAYER WITH BASE AND TOP BELOW THE STATION LEVEL 0063 01 MISSING VALUE 008003 0009 0000 01 SURFACE 0001 01 BASE OF SATELLITE SOUNDING 0002 01 CLOUD TOP 0003 01 TROPOPAUSE 0004 01 PRECIPITABLE WATER 0005 01 SOUNDING RADIANCES 0006 01 MEAN TEMPERATURES 0007 01 OZON 0063 01 MISSING VALUE 008004 0006 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING(DES) 0007 01 MISSING VALUE 008005 0007 0000 01 RESERVED 0001 01 STORM CENTRE 0002 01 OUTER LIMIT OR EDGE OF STORM 0003 01 LOCATION OF MAXIMUM WIND 0004 01 LOCATION OF STORM IN THE PERTURBED ANALYSIS 0005 01 LOCATION OF STORM IN THE ANALYSIS 0015 01 MISSING VALUE 008006 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 PROMINENT MAXIMUM LEVEL 0005 01 PROMINENT MINIMUM LEVEL 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008007 0005 0000 01 POINT 0001 01 LINE 0002 01 AREA 0003 01 VOLUME 0015 01 MISSING VALUE 008008 0008 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 LEVEL OF BETA RADIATION MAXIMUM 0005 01 LEVEL OF GAMMA RADIATION MAXIMUM 0006 01 MINIMUM PRESSURE LEVEL 0007 01 RESERVED 0008 01 LEVEL OF UNDETERMINED SIGNIFICANCE 008009 0016 0000 01 LEVEL FLIGHT, ROUTINE OBSERVATION, UNSTEADY 0001 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED, UNSTEADY 0002 01 UNSTEADY (UNS) 0003 01 LEVEL FLIGHT, ROUTINE OBSERVATION (LVR) 0004 01 LEVEL FLIGHT, HIGHEST WIND ENCOUNTERED (LVW) 0005 01 ASCENDING (ASC) 0006 01 DESCENDING (DES) 0007 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0008 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0009 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0010 02 ASCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0011 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS 0012 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY TIME INCREMENTS, UNSTEADY 0013 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS 0014 02 DESCENDING, OBSERVATION INTERVALS SELECTED BY PRESSURE INCREMENTS, UNSTEADY 0015 01 MISSING VALUE 008010 0013 0000 01 RESERVED 0001 01 BARE SOIL 0002 01 BARE ROCK 0003 01 LAND GRASS COVER 0004 01 WATER (LAKE, SEA) 0005 01 FLOOD WATER UNDERNEATH 0006 01 SNOW 0007 01 ICE 0008 01 RUNWAY OR ROAD 0009 01 SHIP OR PLATFORM DECK IN STEEL 0010 01 SHIP OR PLATFORM DECK IN WOOD 0011 01 SHIP OR PLATFORM DECK PARTLY COVERED WITH RUBBER MAT 0031 01 MISSING VALUE 008011 0026 0000 01 QUASI-STATIONARY FRONT AT THE SURFACE 0001 01 QUASI-STATIONARY FRONT ABOVE THE SURFACE 0002 01 WARM FRONT AT THE SURFACE 0003 01 WARM FRONT ABOVE THE SURFACE 0004 01 COLD FRONT AT THE SURFACE 0005 01 COLD FRONT ABOVE THE SURFACE 0006 01 OCCLUSION 0007 01 INSTABILITY LINE 0008 01 INTERTROPICAL FRONT 0009 01 CONVERGENCE LINE 0010 01 JET STREAM 0011 01 CLOUD CLEAR 0012 01 CLOUD 0013 01 TURBULENCE 0014 01 STORM 0015 01 AIRFRAME ICING 0016 01 PHENOMENON 0017 01 VOLCANO 0018 01 ATMOSPHERICS 0020 01 SPECIAL CLOUDS 0021 01 THUNDERSTORM (VAL) 0022 01 TROPICAL CYCLONE (VAL) 0023 01 MOUNTAIN WAVE (VAL) 0024 01 DUSTSTORM (VAL) 0025 01 SANDSTORM (VAL) 0063 01 MISSING VALUE 008012 0004 0000 01 LAND 0001 01 SEA 0002 01 RESERVED 0003 01 MISSING VALUE 008013 0004 0000 01 NIGHT 0001 01 DAY 0002 01 RESERVED 0003 01 MISSING VALUE 008014 0010 0000 01 10-MINUTE MEAN VALUE - NORMAL VALUE 0001 02 10-MINUTE MEAN VALUE - ABOVE THE UPPER LIMIT FOR ASSESSMENT OF RVR (P) 0002 02 10-MINUTE MEAN VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF R VR (M) 0003 01 ONE MINUTE MINIMUM VALUE - NORMAL VALUE 0004 02 ONE MINUTE MINIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESSM ENT OF RVR (P) 0005 02 ONE MINUTE MINIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0006 01 ONE MINUTE MAXIMUM VALUE - NORMAL VALUE 0007 02 ONE MINUTE MAXIMUM VALUE - ABOVE THE UPPER LIMIT FOR ASSESS MENT OF RVR (P) 0008 02 ONE MINUTE MAXIMUM VALUE - BELOW LOWER LIMIT FOR ASSESSMENT OF RVR (M) 0015 01 MISSING VALUE 008016 0005 0000 01 NOSIG 0001 01 BECMG 0002 01 TEMPO 0003 01 FM 0007 01 MISSING VALUE 008017 0004 0000 01 FM 0001 01 TL 0002 01 AT 0003 01 MISSING VALUE 008018 0005 0001 01 LAND IS PRESENT 0002 01 SURFACE ICE MAP INDICATES ICE IS PRESENT 0011 01 ICE MAP DATA NOT AVAILABLE 0012 01 ATTENUATION MAP DATA NOT AVAILABLE 0017 01 MISSING VALUE 008021 0032 0000 01 RESERVED 0001 01 TIME SERIES 0002 01 TIME AVERAGED 0003 01 ACCUMULATED 0004 01 FORECAST 0005 01 FORECAST TIME SERIES 0006 01 FORECAST TIME AVERAGED 0007 01 FORECAST ACCUMULATED 0008 01 ENSEMBLE MEAN 0009 01 ENSEMBLE MEAN TIME SERIES 0010 01 ENSEMBLE MEAN TIME AVERAGED 0011 01 ENSEMBLE MEAN ACCUMULATED 0012 01 ENSEMBLE MEAN FORECAST 0013 01 ENSEMBLE MEAN FORECAST TIME SERIES 0014 01 ENSEMBLE MEAN FORECAST AVERAGED 0015 01 ENSEMBLE MEAN FORECAST ACCUMULATED 0016 01 ANALYSIS 0017 01 START OF PHENOMENON 0018 01 RADIOSONDE LAUNCH TIME 0019 01 START OF ORBIT 0020 01 END OF ORBIT 0021 01 TIME OF ASCENDING NODE 0022 01 TIME OF OCCURENCE OF WIND SHIFT 0023 01 MONITORING PERIOD 0024 01 AGREED TIME LIMIT FOR REPORT RECEPTION 0025 01 NOMINAL REPORTING TIME 0026 01 TIME OF LAST KNOWN POSITION 0027 01 FIRST GUESS --NOT WMO ENTRY 0028 01 START OF SCAN --NOT WMO ENTRY 0029 01 END OF SCAN --NOT WMO ENTRY 0030 01 RESERVED 0031 01 MISSING VALUE 008023 0017 0002 01 MAXIMUM VALUE 0003 01 MINIMUM VALUE 0004 01 MEAN VALUE 0005 01 MEDIAN VALUE 0006 01 MODAL VALUE 0007 01 MEAN ABSOLUTE ERROR 0009 01 BEST ESTIMATE OF STANDARD DEVIATION (N-1) 0010 01 STANDARD DEVIATION 0011 01 HARMONIC MEAN 0012 01 ROOT MEAN SQUARE VECTOR ERROR 0013 01 ROOT-MEAN-SQUARE 0032 01 PROBABILITY OF GROSS ERROR 0033 01 PRESCRIBED OBSERVATION ERROR 0034 01 PERSISTENCE OBSERVATION ERROR 0035 01 FINAL OBSERVATION ERROR 0036 01 REPRESENTATIVNESS OBSERVATION ERROR 0063 01 MISSING 008024 0015 0002 01 OBSERVED MINUS MAXIMUM 0003 01 OBSERVED MINUS MINIMUM 0004 01 OBSERVED MINUS MEAN 0005 01 OBSERVED MINUS MEDIAN 0006 01 OBSERVED MINUS MODE 0011 01 OBSERVED MINUS CLIMATOLOGY (ANOMALY) 0012 01 OBSERVED MINUS ANALYZED VALUE 0013 01 OBSERVED MINUS INITIALISED ANALYZED VALUE 0014 01 OBSERVED MINUS FORECAST VALUE 0021 01 OBSERVED MINUS INTERPOLATED VALUE 0022 01 OBSERVED MINUS HYDROSTATICALLY CALCULATED VALUE 0032 01 OBSERVED MINUS FIRST GUESS 0033 01 OBSERVED MINUS ANALYSIS 0034 01 OBSERVED MINUS INITIALIZED ANALYSIS 0063 01 MISSING 008025 0005 0000 02 UNIVERSAL TIME COORDINATED (UTC) MINUS LOCAL STANDARD TIME (LST) 0001 01 LOCAL STANDARD TIME 0002 01 UNIVERSAL TIME COORDINATED (UTC) MINUS SATELLITE CLOCK 0005 01 TIME DIFFERENCE FROM EDGE OF PROCESSING SEGMENT 0015 01 MISSING 008026 0005 0000 01 AVERAGING KERNEL MATRIX 0001 01 CORRELATION MATRIX 0002 02 LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L FROM C=LL T) 0003 02 INVERSE LOWER TRIANGULAR CORRELATION MATRIX SQUARE ROOT (L** -1) 0063 01 MISSING VALUE 008027 0007 0000 01 ASSUME NO PARTICULAR MATRIX GEOMETRY 0001 01 DIAGONAL MATRIX 0002 01 TRIDIAGONAL MATRIX 0003 01 MULTI-DIAGONAL MATRIX (GENERAL CASE: DIAGONAL AND ABOVE) 0004 01 LOWER TRIANGULAR MATRIX 0005 01 SYMETRICAL MATRIX 0063 01 MISSING VALUE 008029 0005 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 ENCLOSED SEA OR LAKE 0002 01 CONTINENTAL ICE 0003 01 LAND 0255 01 MISSING 008033 0006 0000 01 RESERVED 0001 01 PERCENTAGE CONFIDENCE CALCULATED USING CLOUD FRACTION 0002 02 PERCENTAGE CONFIDENCE CALCULATED USING STANDARD DEVIATION OF TEMPERATURE 0003 02 PERCENTAGE CONFIDENCE CALCULATED USING PROBABILITY OF THE CLOUD CONTAMINATION 0004 02 PERCENTAGE CONFIDENCE CALCULATED USING NORMALITY OF DISTRIBU TION 0127 01 MISSING 008035 0008 0000 01 GLOBAL 0001 01 REGIONAL 0002 01 NATIONAL 0003 01 SPECIAL 0004 01 BILATERAL 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING 008036 0008 0000 01 WMO SECRETARIAT 0001 01 WMO 0002 01 RSMC 0003 01 NMC 0004 01 RTH 0005 01 OBSERVING SITE 0006 01 OTHER 0007 01 MISSING 008039 0008 0000 01 ISSUE TIME OF FORECAST 0001 01 TIME OF COMMNENCEMENT OF PERIOD OF THE FORECAST 0002 01 TIME OF ENDING OF PERIOD OF THE FORECAST 0003 01 FORECSAT TIME OF MAXIMUM TEMPERATURE 0004 01 FORECSAT TIME OF MINIMUM TEMPERATURE 0005 01 TIME OF BEGINNING OF THE FORECAST 0006 01 TIME OF ENDING OF THE FORECAST 0063 01 MISSING VALUE 008040 0043 0000 01 HIGH RESOLUTION DATA SAMPLE 0001 01 WITHIN 20 HPA OF SURFACE 0002 02 PRESSURE LESS THAN 10 HPA (I.E., 9, 8, 7, ETC.) WHEN NO OTHER REASON APPLIES 0003 01 BASE PRESSURE LEVEL FOR STABILITY INDEX 0004 01 BEGIN DOUBTFUL TEMPERATURE, HEIGHT DATA 0005 01 BEGIN MISSING DATA (ALL ELEMENTS) 0006 01 BEGIN MISSING RH DATA 0007 01 BEGIN MISSING TEMPERATURE DATA 0008 02 HIGHEST LEVEL REACHED BEFORE BALLOON DESCENT BECAUSE OF ICING OR TURBULENCE 0009 01 END DOUBTFUL TEMPERATURE, HEIGHT DATA 0010 01 END MISSING DATA (ALL ELEMENTS) 0011 01 END MISSING RH DATA 0012 01 END MISSING TEMPERATURE DATA 0013 01 ZERO DEGREES C CROSSING(S) FOR RADAT 0014 01 STANDARD PRESSURE LEVEL 0015 01 OPERATOR ADDED LEVEL 0016 01 OPERATOR DELETED LEVEL 0017 01 BALLOON RE-ASCENDED BEYOND PREVIOUS HIGHEST ASCENT LEVEL 0018 01 SIGNIFICANT RH LEVEL 0019 01 RH LEVEL SELECTION TERMINATED 0020 01 SURFACE LEVEL 0021 01 SIGNIFICANT TEMPERATURE LEVEL 0022 01 MANDATORY TEMPERATURE LEVEL 0023 01 FLIGHT TERMINATION LEVEL 0024 01 TROPOPAUSE(S) 0025 01 AIRCRAFT REPORT 0026 01 INTERPOLATED (GENERATED) LEVEL 0027 01 MANDATORY WIND LEVEL 0028 01 SIGNIFICANT WIND LEVEL 0029 01 MAXIMUM WIND LEVEL 0030 01 INCREMENTAL WIND LEVEL (FIXED REGIONAL) 0031 01 INCREMENTAL HEIGHT LEVEL (GENERATED) 0032 01 WIND TERMINATION LEVEL 0033 01 PRESSURE 100 TO 110 HPA, WHEN NO OTHER REASON APPLIES 0040 01 SIGNIFICANT THERMODYNAMIC LEVEL (INVERSION) 0041 01 SIGNIFICANT RH LEVEL ( PER NCDC CRITERIA) 0042 01 SIGNIFICANT TEMPERATURE LEVEL (PER NCDC) 0043 01 BEGIN MISSING WIND DATA 0044 01 END MISSING WIND DATA 0060 01 LEVEL OF 80-KNOT ISOTACH ABOVE JET 0061 01 LEVEL OF 80-KNOT ISOTACH BELOW JET 0062 01 OTHER 0063 01 MISSING VALUE 008041 0009 0000 01 PARENT SITE 0001 01 OBSERVATION SITE 0002 01 BALLOON MANUFACTURE DATE 0003 01 BALLOON LAUNCH POINT 0004 01 SURFACE OBSERVATION 0005 01 SURFACE OBSERVATION DISPLACEMENT FROM LAUNCH POINT 0006 01 FLIGHT LEVEL OBSERVATION 0007 01 FLIGHT LEVEL TERMINATION POINT 0031 01 MISSING VALUE 008042 0013 0001 01 SURFACE 0002 01 STANDARD LEVEL 0003 01 TROPOPAUSE LEVEL 0004 01 MAXIMUM WIND LEVEL 0005 01 SIGNIFICANT TEMPERATURE LEVEL 0006 01 SIGNIFICANT HUMIDITY LEVEL 0007 01 SIGNIFICANT WIND LEVEL 0008 01 BEGINNING OF MISSING TEMPERATURE DATA 0009 01 END OF MISSING TEMPERATURE DATA 0010 01 BEGINNING OF MISSING HUMIDITY DATA 0011 01 END OF MISSING HUMIDITY DATA 0012 01 BEGINNING OF MISSING WIND DATA 0013 01 END OF MISSING WIND DATA 008043 0021 0000 01 OZONE, O3,10028-15-6 0001 01 WATER VAPOUR, H2O, 7732-18-5 0002 01 METHANE, CH4, 74-82-8 0003 01 CARBON DIOXIDE, CO2, 37210-16-5 0004 01 CARBON MONOXIDE, CO, 630-08-0 0005 01 NITROGEN DIOXIDE, NO2, 10102-44-0 0006 01 NITROUS OXIDE, N2O, 10024-97-2 0007 01 FORMALDEHYDE, HCHO, 50-00-0 0008 01 SULFUR DIOXIDE, SO2, 7446-09-5 0009 01 BROMINE OXIDE, BRO, 15656-19-6 0010 01 CHLORINE DIOXIDE, OCLO, 10049-04-4 0011 01 NITROGEN MONOXIDE, NO, 10102-43-9 0012 01 AMMONIA, NH3, 7664-41-7 0025 01 PARTICULATE MATTER < 1.0 MICRONS 0026 01 PARTICULATE MATTER < 2.5 MICRONS 0027 01 PARTICULATE MATTER < 10 MICRONS 0028 01 AEROSOLS GENERIC 0029 01 SMOKE GENERIC 0030 01 CRUSTAL MATERIAL (GENERIC DUST) 0031 01 VOLCANIC ASH 0255 01 MISSING 008050 0011 0000 01 RESERVED 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MAXIMUM TEMPERATURE 0008 01 MINIMUM TEMPERATURE 0009 01 WIND 0015 01 MISSING VALUE 008051 0007 0001 01 PRESSURE 0002 01 TEMPERATURE 0003 01 EXTREME TEMPERATURE 0004 01 VAPOUR PRESSURE 0005 01 PRECIPITATION 0006 01 SUNSHINE DURATION 0007 01 MISSING VALUE 008052 0026 0000 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 10 M/S 0001 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 20 M/S 0002 02 MEAN WIND SPEED OVER 10-MINUTES PERIOD OBSERVED OR RECORDED EQUAL TO OR MORE THAN 30 M/S 0003 01 MAXIMUM TEMPERATURE LESS THAN 273.2 K 0004 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 298.2 K 0005 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 303.2 K 0006 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 308.2 K 0007 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 313.2 K 0008 01 MINIMUM TEMPERATURE LESS THAN 273.2 K 0009 01 MAXIMUM TEMPERATURE EQUAL TO OR MORE THAN 273.2 K 0010 01 PRECIPITATION EQUAL TO OR MORE THAN 1.0 KG/M**2 0011 01 PRECIPITATION EQUAL TO OR MORE THAN 5.0 KG/M**2 0012 01 PRECIPITATION EQUAL TO OR MORE THAN 10.0 KG/M**2 0013 01 PRECIPITATION EQUAL TO OR MORE THAN 50.0 KG/M**2 0014 01 PRECIPITATION EQUAL TO OR MORE THAN 100.0 KG/M**2 0015 01 PRECIPITATION EQUAL TO OR MORE THAN 150.0 KG/M**2 0016 01 SNOW DEPTH MORE THAN 0.0 M 0017 01 SNOW DEPTH MORE THAN 0.01 M 0018 01 SNOW DEPTH MORE THAN 0.10 M 0019 01 SNOW DEPTH MORE THAN 0.50 M 0020 01 HORIZONTAL VISIBILITY LESS THAN 50 M 0021 01 HORIZONTAL VISIBILITY LESS THAN 100 M 0022 01 HORIZONTAL VISIBILITY LESS THAN 1000 M 0023 01 HAIL 0024 01 THUNDERSTORM 0031 01 MISSING VALUE 008053 0004 0000 01 VALUE OCCURED ON ONLY ONE DAY IN THE MONTH 0001 01 VALUE OCCURED ON MORE THAN ONE DAY IN THE MONTH 0002 01 RESERVED 0003 01 MISSING VALUE 008054 0003 0000 01 WIND SPEED OR GUST IS AS REPORTED 0001 02 WIND SPEED IS GREATER THAN THAT REPRTED (P IN METAR/TAF/SPEC I) 0007 01 MISSING VALUE 008060 0008 0000 01 RESERVED 0001 01 RANGE 0002 01 AZIMUTH 0003 01 HORIZONTAL 0004 01 VERTICAL 0005 01 NORTH/SOUTH 0006 01 EAST/WEST 0015 01 MISSING VALUE 008065 0004 0000 01 NO SUN-GLINT 0001 01 SUN-GLINT 0002 01 RESERVED 0003 01 MISSING VALUE 008066 0004 0000 01 OPAQUE 0001 01 SEMI-TRANSPARENT 0002 01 RESERVED 0003 01 MISSING VALUE 008070 0006 0000 01 RESERVED 0001 01 RESERVED 0002 02 EARTH LOCATED INSTRUMENT COUNTS, CALIBRATION COEFFICIENTS AND HOUSEKEEPING (LEVEL 1B) 0003 01 EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1C) 0004 02 MAPPED TO A COMMON FOOTPRINT, EARTH LOCATED CALIBRATED RADIANCES (LEVEL 1D) 0015 01 MISSING VALUE 008072 0004 0000 01 MIXED 0001 01 CLEAR 0002 01 CLOUDY 0007 01 MISSING VALUE 008074 0004 0000 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0001 01 NON-OCEAN LIKE 0002 01 RESERVED 0003 01 MISSING VALUE 008075 0004 0000 01 ASCENDING ORBIT 0001 01 DESCENDING ORBIT 0002 01 RESERVED 0003 01 MISSING VALUE 008076 0003 0000 01 KU 0001 01 C 0063 01 MISSING VALUE 008077 0007 0000 01 LAND 0001 01 SEA 0002 01 COASTAL 0003 01 OPEN OCEAN OR SEMI-ENCLOSED SEA 0004 01 ENCLOSED SEA OR LAKE 0005 01 CONTINENTAL ICE 0127 01 MISSING VALUE 008079 0009 0000 01 NORMAL ISSUE 0001 01 CORRECTION TO A PREVIOUSLY ISSUED PRODUCT (COR) 0002 01 AMANDMENT TO A PREVIOUSLY ISSUED PRODUCT *AMD) 0003 01 CORRECTION TO A PREVIOUSLY ISSUED AMENDED PRODUCT (COR AMD) 0004 01 CANCELLATION OD A PREVIOUSLY ISSUED PRODUCT (CNL) 0005 01 NO PRODUCT AVAILABLE (NIL) 0006 01 SPECIAL REPORT ( SPECI) 0007 01 CORRECTED SPECIAL REPORT (SPECI COR) 0015 01 MISSING VALUE 008080 0009 0000 01 TOTAL WATER PRESSURE PROFILE 0001 01 TOTAL WATER TEMPERATURE PROFILE 0002 01 TOTAL WATER SALINITY PROFILE 0003 01 TOTAL WATER CONDUCTIVITY PROFILE 0010 01 WATER PRESSURE AT A LEVEL 0011 01 WATER TEMPERATURE AT A LEVEL 0012 01 SALINITY AT A LEVEL 0020 01 POSITION 0063 01 MISSING VALUE 008081 0005 0000 01 SENSOR 0001 01 TRANSMITTER 0002 01 RECEIVER 0003 01 OBSERVING PLATFORM 0063 01 MISSING VALUE 008082 0003 0000 01 SENSOR HEIGHT IS NOT MODIFIED 0001 01 SENSOR HEIGHT IS MODIFIED TO STANDARD LEVEL 0007 01 MISSING VALUE 008083 0009 0001 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABO VE LOCAL GROUND (OR DECK OF MARINE PLATFORM) 0002 02 ADJUSTED WITH RESPECT TO REPRESENTATIVE HEIGHT OF SENSOR ABO VE WATER SURFACE 0003 01 ADJUSTED WITH RESPECT TO STANDARD SURFACE ROUGHNESS 0004 01 ADJUSTED WITH RESPECT TO WIND SPEED 0005 01 ADJUSTED WITH RESPECT TO TEMPERATURE 0006 01 ADJUSTED WITH RESPECT TO PRESSURE 0007 01 ADJUSTED WITH RESPECT TO HUMIDITY 0008 01 ADJUSTED WITH RESPECT TO EVAPORATION 0009 01 ADJUSTED WITH RESPECT TO WETTING LOSSES 008085 0008 0000 01 FORE BEAM 0001 01 MID BEAM 0002 01 AFT BEAM 0003 01 RESERVED 0004 01 RESERVED 0005 01 RESERVED 0006 01 RESERVED 0007 01 MISSING VALUE 008193 0007 0000 01 START TIME OF ORBIT 0001 01 END TIME OF ORBIT 0002 01 TIME OF ASCENDING NODE 0003 01 ASSIMILATION TIME 0004 01 START TIME OF ASSIMILATION 0005 01 END TIME OF ASSIMLATION 0063 01 MISSING 008195 0032 0001 01 FIRST GUESS 0002 01 ANALYSIS 0003 01 INITIALISED ANALYSIS 0004 01 OI ANALYSIS 0005 01 3 D VARIATIONAL ANALYSIS 0006 01 4 D VARIATIONAL ANALYSIS 0007 01 3 D VARIATIONAL GRADIENTS 0008 01 4 D VARIATIONAL GRADIENTS 0009 01 FORECAST 0010 01 CONTROL FORECAST 0011 01 PERTURBED FORECAST 0012 01 ERRORS IN FIRST GUESS 0013 01 ERRORS IN ANALYSIS 0014 01 CLUSTER MEANS 0015 01 CLUSTER STANDARD DEVIATIONS 0016 01 FORECAST PROBABILITIES 0017 01 ENSEMBLE MEANS 0018 01 ENSEMBLE STANDARD DEVIATIONS 0019 01 FORECAST ACCUMULATIONS 0020 01 CLIMATOLOGY 0021 01 CLIMATE SIMULATION 0030 01 OBSERVATIONS 0031 01 QUALITY CONTROL 0032 01 DIFFERENCE STATISTICS 0040 01 IMAGE DATA 0050 01 SENSITIVITY GRADIENTS 0051 01 TRAJECTORY FORECAST 0052 01 SENSITIVITY FORECAST 0060 01 PERTURBED ANALYSIS 0061 01 PERTURBATION 0062 01 SINGULAR VECTOR 0127 01 MISSING VALUE 010063 0010 0000 02 INCREASING, THEN DECREASING: ATMOSPHERIC PRESURE THE SAME OR HIGHER THAN 3 HOURS AGO (OR 24 HOURS AGO ) 0001 01 INCREASING, THEN STEADY; OR INCREASING; THEN MORE SLOWLY 0002 01 INCREASING (STEADILY OR UNSTEADILY ) 0003 01 DECREASING OR STEADY, THEN INCREASING; RAPIDLY 0004 02 STEADY; ATMOSPHERIC PRESSURE THE SAME AS 3 HOURS AGO (OR 24 HOURS) 0005 02 DECREASING; THEN INCREASING; ATMOSPHERIC PRESSURE THE SAME O R LOWER THAN 3 HOURS AGO 0006 02 DECREASING, THEN STEADY; OR DECREASING, DECREASING MORE SLOW LY 0007 01 DECREASING (STEADILY OR UNSTEADELY ) 0008 02 STEADY OR INCREASING, THEN DECREASING; OR DECREASING, THEN DECREASING MORE RAPIDLY 0015 01 MISSING 010064 0004 0000 01 SUBSONIC 0001 01 TRANSONIC 0002 01 SUPERSONIC 0007 01 MISSING VALUE 011031 0009 0000 01 NIL IN CLOUD 0001 01 SLIGHT IN CLOUD 0002 01 MODERATE IN CLOUD 0003 01 SEVERE IN CLOUD 0004 01 NIL IN CLEAR AIR 0005 01 SLIGHT IN CLEAR AIR 0006 01 MODERATE IN CLEAR AIR 0007 01 SEVERE IN CLEAR AIR 0015 01 MISSING VALUE 011037 0030 0000 01 AVE <0.1 PEAK <0.1 0001 01 AVE <0.1 0.1 <= PEAK <0.2 0002 01 0.1 <= AVE <0.2 0.1 <= PEAK <0.2 0003 01 AVE <0.1 0.2 <= PEAK <0.3 0004 01 0.1 <= AVE <0.2 0.2 <= PEAK <0.3 0005 01 0.2 <= AVE <0.3 0.2 <= PEAK <0.3 0006 01 AVE <0.1 0.3 <= PEAK <0.4 0007 01 0.1 <= AVE <0.2 0.3 <= PEAK <0.4 0008 01 0.2 <= AVE <0.3 0.3 <= PEAK <0.4 0009 01 0.3 <= AVE <0.4 0.3 <= PEAK <0.4 0010 01 AVE <0.1 0.4 <= PEAK <0.5 0011 01 0.1 <= AVE <0.2 0.4 <= PEAK <0.5 0012 01 0.2 <= AVE <0.3 0.4 <= PEAK <0.5 0013 01 0.3 <= AVE <0.4 0.4 <= PEAK <0.5 0014 01 0.4 <= AVE <0.5 0.4 <= PEAK <0.5 0015 01 AVE <0.1 0.5 <= PEAK <0.8 0016 01 0.1 <= AVE <0.2 0.5 <= PEAK <0.8 0017 01 0.2 <= AVE <0.3 0.5 <= PEAK <0.8 0018 01 0.3 <= AVE <0.4 0.5 <= PEAK <0.8 0019 01 0.4 <= AVE <0.5 0.5 <= PEAK <0.8 0020 01 0.5 <= AVE <0.8 0.5 <= PEAK <0.8 0021 01 AVE <0.1 0.8 <= PEAK 0022 01 0.1 <= AVE <0.2 0.8 <= PEAK 0023 01 0.2 <= AVE <0.3 0.8 <= PEAK 0024 01 0.3 <= AVE <0.4 0.8 <= PEAK 0025 01 0.4 <= AVE <0.5 0.8 <= PEAK 0026 01 0.5 <= AVE <0.8 0.8 <= PEAK 0027 01 0.8 <= AVE 0.8 <= PEAK 0028 01 NIL NIL 0063 01 MISSING VALUE 011038 0017 0000 01 MIN < 1 0001 01 1 <= MIN < 2 0002 01 2 <= MIN < 3 0003 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0015 01 NO TIMING INFORMATION AVAILABLE 0031 01 MISSING VALUE 011039 0016 0000 01 1 <= MIN < 2 0001 01 2 <= MIN < 3 0002 01 3 <= MIN < 4 0004 01 4 <= MIN < 5 0005 01 5 <= MIN < 6 0006 01 6 <= MIN < 7 0007 01 7 <= MIN < 8 0008 01 8 <= MIN < 9 0009 01 9 <= MIN < 10 0010 01 10 <= MIN < 11 0011 01 11 <= MIN < 12 0012 01 12 <= MIN < 13 0013 01 13 <= MIN < 14 0014 01 14 <= MIN < 15 0060 01 NO TIMING INFORMATION AVAILABLE 0063 01 MISSING VALUE 013038 0004 0000 01 NOT SUPERADIABATIC 0001 01 SUPERADIABATIC 0002 01 RESERVED 0003 01 MISSING VALUE 013039 0003 0000 01 SEA ICE 0001 01 SNOW ON LAND 0007 01 MISSING VALUE 013040 0009 0000 01 LAND 0001 01 RESERVED 0002 01 NEAR COAST 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 DESERT 0015 01 MISSING VALUE 013041 0010 0001 01 A 0002 01 A-B 0003 01 B 0004 01 B-C 0005 01 C 0006 01 D 0007 01 E 0008 01 F 0009 01 G 0015 01 MISSING VALUE 013051 0008 0000 01 SMALLER THAN ANY VALUE IN THE 30 YEARS PERIOD 0001 01 IN THE FIRST QUINTILE 0002 01 IN THE SECOND QUINTILE 0003 01 IN THE THIRD QUINTILE 0004 01 IN THE FOURTH QUINTILE 0005 01 IN THE FIFTH QUINTILE 0006 01 GREATER THAN ANY VALUE IN THE 30 YEAR PERIOD 0015 01 MISSING VALUE 013056 0010 0000 01 NO PRECIPITATION 0001 01 LIGHT INTERMITTENT 0002 01 MODERATE INTERMITTENT 0003 01 HEAVY INTERMITTENT 0004 01 VERY HEAVY INTERMITTENT 0005 01 LIGHT CONTINUOUS 0006 01 MODERATE CONTINUOUS 0007 01 VERY HEAVY CONTINUOUS 0009 01 VARIABLE-ALTERNATIVELY LIGHT AND HEAVY 0015 01 MISSING VALUE 013057 0011 0000 01 NO PRECIPITATION 0001 01 WITHIN THE LAST HOUR 0002 01 1 TO 2 HOURS AGO 0003 01 2 TO 3 HOURS AGO 0004 01 3 TO 4 HOURS AGO 0005 01 4 TO 5 HOURS AGO 0006 01 5 TO 6 HOURS AGO 0007 01 6 TO 8 HOURS AGO 0008 01 8 TO 10 HOURS AGO 0009 01 MORE THAN 10 HOURS AHO 0015 01 MISSING VALUE 013202 0007 0000 01 LAND 0001 01 VEGETATION 0003 01 MULTI-YEAR ICE 0004 01 POSSIBLE ICE OR FIRST YEAR ICE 0005 01 OCEAN 0006 01 COASTLINE 0015 01 MISSING 015025 0002 0000 01 OZONE 0015 01 MISSING VALUE 019001 0007 0000 01 DEPRESSION OR LOW (EXTRATROPICAL) 0001 01 TROPICAL DEPRESSION 0002 01 TROPICAL STORM 0003 01 SEVERE TROPICAL STORM 0004 01 TYPHOON 0010 01 DUST/SANDSTORM 0063 01 MISSING VALUE 019008 0005 0000 01 RESERVED 0001 01 SHALLOW (TOP OF CIRCULATION BELOW 700-HPA LEVEL 0002 01 MEDIUM(TOP BETWEEN 700-HPA AND 400-HPA) 0003 01 DEEP(TOP ABOVE 400-HPA LEVEL 0007 01 MISSING VALUE 019010 0004 0000 01 RESERVED 0001 01 MINIMUM VALUE OF SEA LEVEL PRESSURE 0002 01 MAXIMUM VALUE OF 850 HPA RELATIVE VORTICITY 0015 01 MISSING VALUE 020003 0250 0000 01 CLOUD DEVELOPMENT NOT OBSERVED OR NOT OBSERVABLE 0001 01 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED 0002 01 STATE OF SKY ON THE WHOLE UNCHANGED 0003 01 CLOUDS GENERALLY FORMING OR DEVELOPING 0004 02 VISIBILITY REDUCED BY SMOKE, E.G. VELDT OR FOREST FIRES, IN DUSTRIAL SMOKE OR VOLCANIC ASHES 0005 01 HAZE 0006 02 WIDESPREAD DUST IN SUSPENSION IN THE AIR, NOT RAISED BY WIND AT OR NEAR THE STATION AT THE TIME OF OBSERVATION 0007 04 DUST OR SEND RAISED BY WIND AT OR NEAR THE STATION AT THE TI ME OF OBSERVATION, BUT NO WELL-DEVELOPED DUST WHRIL(S) OR SA ND WHRIL(S), AND NO DUSTSTORM OR SANDSTORM SEEN; OR, IN THE CASE OF SHIPS, BLOWING SPRAY AT THE STATION 0008 03 WELL-DEVELOPED DUST WHRIL(S) OR SAND WHRILS SEEN AT OR NEAR THE STATION DURING THE PRECEDING HOUR OR AT THE SAME TIME OF OBSERVATION, BUT NO DUSTSTORM OR SANDSTORM 0009 02 DUSTSTORM OR SANDSTORM WITHIN SIGHT AT THE TIME OF OBSERVATI ON, OR AT THE STATION DURING THE PRECEDING HOR 0010 01 MIST 0011 02 PACHES SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0012 03 MORE OR LESS CONTINUOUS SHALLOW FOG OR ICE AT THE STATION, WHETHER ON LAND OR SEA, NOT DEEPER THAN 2 METRES ON LAND OR 10 METRES AT SEA 0013 01 LIGHTNING VISIBLE, NO THUNDER HEARD 0014 02 PRECIPITATION WITHIN SIGHT, NOT REACHING THE GROUND OR THE SURFACE OF THE SEA 0015 03 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, BUT DISTANT, I.E. ESTIMATED TO BE MORE THAN 5 KM FROM THE STATION 0016 02 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFA CE OF THE SEA, NEAR TO, BUT NOT AT THE STATION 0017 02 THUNDERSTORM, BUT NO PRECIPITATION AT THE TIME OF OBSERVATIO N 0018 02 SQUALLS AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDI NG HOUR OR AT THE TIME OF OBSERVATION 0019 02 FUNNEL CLOUD(S) AT OR WITHIN SIGHT OF THE STATION DURING THE PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0020 03 DRIZZEL (NOT FREEZING) OR SNOW GRAINS NOT FALLING AS SHOWERS ; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVAT IONS 0021 02 RAIN (NOT FREEZING) NOT FALLING AS SHOWER(S); DURING THE PRE ECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0022 02 SNOW NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0023 02 RAIN AND SNOW OR ICE PELLETS NOT FALLING AS SHOWER(S); DURIN G THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0024 02 FREEZING DRIZZEL OR FREEZING RAIN NOT FALLING AS SHOWER(S); DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0025 02 SHOWER(S) OF RAIN; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0026 02 SHOWER(S) OF SNOW, OR OF RAIN AND SNOW; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0027 02 SHOWER(S) OF HAIL, OR OF RAIN AND HAIL; DURING THE PRECEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0028 02 FOG OR ICE FOG; DURING THE PRECEDING HOUR BUT NOT AT THE TIM E OF OBSERVATION 0029 02 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION); DURING THE PRE CEDING HOUR BUT NOT AT THE TIME OF OBSERVATION 0030 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS DECREASED DURI NG THE PRECEDING HOURS 0031 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHA NGE DURING THE PRECEDING HOUR 0032 02 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS I NCEASED DURING THE PRECEDING HOUR 0033 02 SEVERE DUSTSTORM OR SANDSTORM HAS DECREASED DURING THE PREC EDING HOURS 0034 02 SEVERE DUSTSTORM OR SANDSTORM NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0035 02 SEVERE DUSTSTORM OR SANDSTORM HAS BEGUN OR HAS INCREASED DUR ING THE PRECEDING HOUR 0036 02 SLIGHT OR MODERATE DRIFTING SNOW GENERALLY LOW (BELOW EYE LE VEL) 0037 01 HEAVY DRIFTING SNOW GENERALY LOW (BELOW EYE LEVEL) 0038 02 SLIGHT OR MODERATE BLOWING SNOW GENERALLY HIGH (ABOVE EYE LE VEL) 0039 01 HEAVY BLOWING SNOW GENERALY HIGH (ABOVE EYE LEVEL) 0040 03 FOG OR ICE FOG AT A DISTANCE AT THE TIME OF OBSERVATION, BUT NOT AT THE STATION DURING THE PRECEDING HOUR, THE FOG OR IC E FOG EXTENDING TO A LEVEL ABOVE THAT OF THE OBSERVER 0041 01 FOG OR ICE FOG IN PATCHES 0042 02 FOG OR ICE FOG, SKY VISIBLE,HAS BECOME THINNER DURING THE PR ECEDING HOUR 0043 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BECOME THINNER DURING THE PRECEDING HOUR 0044 02 FOG OR ICE FOG, SKY VISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0045 02 FOG OR ICE FOG, SKY INVISIBLE,NO APPRECIABLE CHANGE DURING T HE PRECEDING HOUR 0046 02 FOG OR ICE FOG, SKY VISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0047 02 FOG OR ICE FOG, SKY INVISIBLE,HAS BEGUN OR HAS BECOME THICKE R DURING THE PRECEDING HOUR 0048 01 FOG, DEPOSITING RIME, SKY VISIBLE 0049 01 FOG, DEPOSITING RIME, SKY INVISIBLE 0050 02 DRIZZLE, NOT FREEZING, INTERMITTENT;SLIGHT AT TIME OF OBSERV ATION 0051 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;SLIGHT AT TIME OF OBSERV ATION 0052 02 DRIZZLE, NOT FREEZING, INTERMITTENT;MODERATE AT TIME OF OBSE RVATION 0053 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;MODERATE AT TIME OF OBSE RVATION 0054 02 DRIZZLE, NOT FREEZING, INTERMITTENT;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0055 02 DRIZZLE, NOT FREEZING, CONTINUOUS ;HEAVY (DENSE) AT THE TIM E OF OBSERVATION 0056 01 DRIZZLE, FREEZING, SLIGHT 0057 01 DRIZZLE, FREEZING, MODERATE OR HEAVY (DENSE) 0058 01 DRIZZLE AND RAIN, SLIGHT 0059 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0060 01 RAIN,NOT FREEZING,INTERMITTENT;SLIGHT AT TIME OF OBSERVATION 0061 01 RAIN,NOT FREEZING,CONTINUOUS ;SLIGHT AT TIME OF OBSERVATION 0062 02 RAIN,NOT FREEZING,INTERMITTENT;MODERATE AT TIME OF OBSERVATI ON 0063 02 RAIN,NOT FREEZING,CONTINUOUS ;MODERATE AT TIME OF OBSERVATI ON 0064 02 RAIN, NOT FREEZING, INTERMITTENT;HEAVY AT TIME OF OBSERVATIO ON 0065 01 RAIN, NOT FREEZING, CONTINUOUS;HEAVY AT TIME OF OBSERVATION 0066 01 RAIN, FREEZING, SLIGHT 0067 01 RAIN, FREEZING, MODERATE OR HEAVY 0068 01 RAIN OR DRIZZLE AND SNOW, LIGHT 0069 01 RAIN OR DRIZZLE AND SNOW, MODERATE OR HEAVY 0070 02 INTERMITTENT FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0071 02 CONTINUOUS FALL OF SNOWFLAKES, SLIGHT AT TIME OF OBSERVATI ON 0072 02 INTERMITTENT FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0073 02 CONTINUOUS FALL OF SNOWFLAKES, MODERATE AT TIME OF OBSERVA TION 0074 02 INTERMITTENT FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0075 02 CONTINUOUS FALL OF SNOWFLAKES, HEAVY AT TIME OF OBSERVATIO ONS 0076 01 DIAMOND DUST (WITH OR WITHOUT FOG) 0077 01 SNOW GRAINS (WITH OR WITHOUT FOG) 0078 01 ISOLATED STAR-LIKE SNOW CRYSTALS (WITH OR WITHOUT FOG) 0079 01 ICE PELLETS 0080 01 RAIN SHOWER(S), SLIGHT 0081 01 RAIN SHOWER(S), MODERATE OR HEAVY 0082 01 RAIN SHOWER(S), VIOLENT 0083 01 SHOWER(S) OF RAIN AND SNOW MIXED, SLIGHT 0084 01 SHOWER(S) OF RAIN AND SNOW MIXED, MODERATE OR HEAVY 0085 01 SNOW SHOWER(S), SLIGHT 0086 01 SNOW SHOWER(S), MODERATE OR HEAVY 0087 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, SLIGHT 0088 02 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAI N OR RAIN AND SNOW MIXED, MODERATE OR HEAVY 0089 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, SLIGHT 0090 02 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIX ED, NOT ASSOCIATED WITH THUNDER, MODERATE OR HEAVY 0091 02 SLIGHT RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0092 02 MODERATE OR HEAVY RAIN AT TIME OF OBSERVATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0093 03 SLIGHT SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TIME OF OBSER VATION, THUNDERSTORM DURING THE PRECEDING HOUR BUT NOT AT TI ME OF OBSERVATION 0094 03 MODERATE OR HEAVY SNOW, OR RAIN AND SNOW MIXED OR HAIL AT TI ME OF OBSERVATION, THUNDERSTORM DURING PRECEDING HOUR BUT NO T AT TIME OF OBSERVATION 0095 03 THUNDERSTORM, SLIGHT OR MODERATE, WITHOUT HAIL, BUT WITH RAI N AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM DURING TH E PRECEDING HOUR BUT NOT AT TIME OF OBSERVATION 0096 02 THUNDERSTORM, SLIGHT OR MODERATE,WITH HAIL AT TIME OF OBSERV ATION, THUNDERSTORM AT TIME OF OBSERVATION 0097 02 THUNDERSTORM, HEAVY, WITHOUT HAIL BUT WITH RAIN AND/OR SNOW AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0098 02 THUNDERSTORM COMBINED WITH DUSTSTORM OR SANDSTORM AT TIME OF OBSERVATION, THUNDERSTORM AT TIME OF OBSERVATION 0099 02 THUNDERSTORM, HEAVY, WITH HAIL AT TIME OF OBSERVATION, THUND ERSTORM AT TIME OF OBSERVATION 0100 01 NO SIGNIFICANT WEATHER OBSERVED 0101 02 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED DURIN G THE PAST HOUR 0102 01 STATE OF SKY ON THE WHOLE UNCHANGED DURING THE PAST HOUR 0103 01 CLOUDS GENERALLY FORMING OR DEVELOPING DURING THE PAST HOUR 0104 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY EQUAL TO, OR GREATER THAN 1KM 0105 02 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY LESS THAN 1KM 0110 01 MIST 0111 01 DIAMOND DUST 0112 01 DISTANT LIGHTING 0118 01 SQUALLS 0120 01 FOG 0121 01 PRECIPITATION 0122 01 DRIZZLE (NOT FREEZING) OR SNOW GRAINS 0123 01 RAIN (NOT FREEZING) 0124 01 SNOW 0125 01 FREEZING DRIZZLE OR FREEZING RAIN 0126 01 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION) 0127 01 BLOWING OR DRIFTING SNOW OR SAND 0128 02 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY EQUAL TO, OR GR ATER THAN, 1KM 0129 01 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY LESS THAN 1 KM 0130 01 FOG 0131 01 FOG OR ICE FOG, IN PATCHES 0132 01 FOG OR ICE FOG, HAS BECOME THINNER DURING PAST HOUR 0133 01 FOG OR ICE FOG, NO APPRECIABLE CHANGE DURING PAST HOUR 0134 01 FOG OR ICE FOG, HAS BECUNOR BECOME THICKER DURING PAST HOUR 0135 01 FOG, DEPOSITION RIME 0140 01 PRECIPITATION 0141 01 PRECIPITATION SLIGHT OR MODERATE 0142 01 PRECIPITATION, HEAVY 0143 01 LIQUID PRECIPITATION, SLIGHT OR MODERATE 0144 01 LIQUID PRECIPITATION, HEAVY 0145 01 SOLID PRECIPITATION, SLIGHT OR MODERATE 0146 01 SOLID PRECIPITATION, HEAVY 0147 01 FREEZING PRECIPITATION, SLIGHT OR MODERATE 0148 01 FREEZING PRECIPITATION, HEAVY 0150 01 DRIZZLE 0151 01 DRIZZLE, NOT FREEZING, SLIGHT 0152 01 DRIZZLE, NOT FREEZING, MODERATE 0153 01 DRIZZLE, NOT FREEZING, HEAVY 0154 01 DRIZZLE, FREEZING, SLIGHT 0155 01 DRIZZLE, FREEZING, MODERATE 0156 01 DRIZZLE, FREEZING, HEAVY 0157 01 DRIZZLE AND RAIN, SLIGHT 0158 01 DRIZZLE AND RAIN, MODERATE OR HEAVY 0160 01 RAIN 0161 01 RAIN, NOT FREEZING, SLIGHT 0162 01 RAIN, NOT FREEZING, MODERATE 0163 01 RAIN, NOT FREEZING, HEAVY 0164 01 RAIN, FREEZING, SLIGHT 0165 01 RAIN, FREEZING, MODERATE 0166 01 RAIN, FREEZING, HEAVY 0167 01 RAIN (OR DRIZZLE) AND SNOW, SLIGHT 0168 01 RAIN (OR DRIZZLE) AND SNOW, MODERATE AND HEAVY 0170 01 SNOW 0171 01 SNOW, SLIGHT 0172 01 SNOW, MODERATE 0173 01 SNOW, HEAVY 0174 01 ICE PELLETS, SLIGHT 0175 01 ICE PELLETS, MODERATE 0176 01 ICE PELLETS, HEAVY 0180 01 SHOWER(S) OR INTERMITTENT PRECIPITATION 0181 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, SLIGHT 0182 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, MODERATE 0183 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, HEAVY 0184 01 RAIN SHOWER(S) OR INTERMITTENT RAIN, VIOLENT 0185 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, SLIGHT 0186 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, MODERATE 0187 01 SNOW SHOWER(S) OR INTERMITTENT SNOW, HEAVY 0190 01 THUNDERSTORM 0191 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH NO PRECIPITATION 0192 02 THUNDERSTORM, SLIGHT OR MODERATE, WITH RAIN SHOWERS AND/OR S NOW SHOWERS 0193 01 THUNDERSTORM, SLIGHT OR MODERATE, WITH HAIL 0194 01 THUNDERSTORM, HEAVY, WITH NO PRECIPITATION 0195 01 THUNDERSTORM, HEAVY, WITH RAIN SHOWERS AND/OR SNOW SHOWERS 0196 01 THUNDERSTORM, HEAVY, WITH HAIL 0204 01 VOLCANIC ASH SUSPENDED IN THE AIR ALOFT 0206 01 THICK DUST HAZE, VISIBILITY LESS THAN 1 KM 0207 01 BLOWING SPRAY AT THE STATION 0208 01 DRIFTING DUST (SAND) 0209 01 WALL OF DUST OR SAND IN DISTANCE (LIKE HABOOB) 0210 01 SNOW HAZE 0211 01 WHITEOUT 0213 01 LIGHTING, CLOUD TO SURFACE 0217 01 DRY THUNDERSTORM 0219 02 TORNADO CLOUD (DESTRUCTIVE AT OR WITHIN SIGHT OF THE STATION DURING PRECEDING HOUR OR AT THE TIME OF OBSERVATION 0220 01 DEPOSITION OF VOLCANIC ASH 0221 01 DEPOSITION OF DUST OR SAND 0222 01 DEPOSITION OF DEW 0223 01 DEPOSITION OF WET SNOW 0224 01 DEPOSITION OF SOFT RIME 0225 01 DEPOSITION OF HARD RIME 0226 01 DEPOSITION OF HOAR FROST 0227 01 DEPOSITION OF GLAZE 0228 01 DEPOSITION OF ICE CRUST (ICE SLICK) 0230 01 DUSTSTORM OR SANDSTORM WITH TEMPERATURE BELOW 0 C DEGREES 0239 02 BLOWING SNOW, IMPOSSIBLE TO DETERMINE WHETHER SNOW IS FALLIN G OR NOT 0241 01 FOG ON SEA 0242 01 FOG IN VALLEYS 0243 01 ARCTIC OR ANTARCTIC SEA SMOKE 0244 01 STEAM FOG (SEA,LAKE OR RIVER) 0245 01 STEAM FOG (LAND) 0246 01 FOG OVER ICE OR SNOW COVER 0247 01 DENCE FOG VISIBILITY 60-90 M 0248 01 DENCE FOG VISIBILITY 30-60 M 0249 01 DENCE FOG VISIBILITY LESS THAN 30 M 0250 01 DRIZZLE, RATE OF FALL LESS THAN 0.10 MM/H 0251 01 DRIZZLE, RATE OF FALL 0.10 - .19 MM/H 0252 01 DRIZZLE, RATE OF FALL 0.20 - .39 MM/H 0253 01 DRIZZLE, RATE OF FALL 0.40 - .79 MM/H 0254 01 DRIZZLE, RATE OF FALL 0.80 - 1.59 MM/H 0255 01 DRIZZLE, RATE OF FALL 1.60 - 3.19 MM/H 0256 01 DRIZZLE, RATE OF FALL 3.20 - 6.39 MM/H 0257 01 DRIZZLE, RATE OF FALL 6.40 MM/H OR MORE 0259 01 DRIZZLE AND SNOW 0260 01 RAIN, RATE OF FALL LESS THAN 1.0 MM/H 0261 01 RAIN, RATE OF FALL 1.0 - 1.9 MM/H 0262 01 RAIN, RATE OF FALL 2.0 - 3.9 MM/H 0263 01 RAIN, RATE OF FALL 4.0 - 7.9 MM/H 0264 01 RAIN, RATE OF FALL 8.0 - 15.9 MM/H 0265 01 RAIN, RATE OF FALL 16.0 - 31.9 MM/H 0266 01 RAIN, RATE OF FALL 32.0 - 63.9 MM/H 0267 01 RAIN, RATE OF FALL 64.0 MM/H OR MORE 0270 01 SNOW, RATE OF FALL LESS THAN 1.0 CM/H 0271 01 SNOW, RATE OF FALL 1.0 - 1.9 CM/H 0272 01 SNOW, RATE OF FALL 2.0 - 3.9 CM/H 0273 01 SNOW, RATE OF FALL 4.0 - 7.9 CM/H 0274 01 SNOW, RATE OF FALL 8.0 - 15.9 CM/H 0275 01 SNOW, RATE OF FALL 16.0 - 31.9 CM/H 0276 01 SNOW, RATE OF FALL 32.0 - 63.9 CM/H 0277 01 SNOW, RATE OF FALL 64.0 CM/H OR MORE 0278 01 SNOW OR ICE CRISTAL PRECIPITATION FROM A CLEAR SKY 0279 01 WET SNOW, FREEZING ON CONTACT 0280 01 PRECIPITATION OF RAIN (WW= 87-99) 0281 01 PRECIPITATION OF RAIN,FREEZING (WW= 80-82) 0282 01 PRECIPITATION OF RAIN AND SNOW MIXED 0283 01 PRECIPITATION OF SNOW 0284 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL 0285 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN 0286 02 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN AND S NOW MIXED 0287 01 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH SNOW 0288 01 PRECIPITATION OF HAIL 0289 01 PRECIPITATION OF HAIL, WITH RAIN 0290 01 PRECIPITATION OF HAIL, WITH RAIN AND SNOW MIXED 0291 01 PRECIPITATION OF HAIL, WITH SNOW 0292 01 SHOWER(S) OR THUNDERSTORM OVER SEA 0293 01 SHOWER(S) OR THUNDERSTORM OVER MOUNTAINS 0508 02 NO SIGNIFICANT PHENOMENA TO REPORT, PRESENT AND PAST WEATHER OMITTED 0509 02 NOT OBSERVED, NO DATA AVAILABLE, PRESENT AND PAST WEATHER OM ITTED 0510 01 PRESENT AND PAST WEATHER MISSING, BUT EXPECTED 0511 01 MISSING VALUE 020004 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020005 0021 0000 02 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPP RIATE PERIOD 0001 03 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE A PPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF TH E PERIOD 0002 02 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPRP PRIATE PERIOD 0003 01 SANSTORM, DUSTSTORM OR BLOWING SNOW 0004 01 FOG OR ICE OR THICK HAZE 0005 01 DRIZZLE 0006 01 RAIN 0007 01 SNOW, OR RAIN AND SNOW MIXED 0008 01 SHOWER(S) 0009 01 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION 0010 01 NO SIGNIFICANT WEATHER OBSERVED 0011 01 VISIBILITY REDUCED 0012 01 BLOWING PHENOMENA, VISIBILITY REDUCED 0013 01 FOG 0014 01 PRECIPITATION 0015 01 DRIZZLE 0016 01 RAIN 0017 01 SNOW OR ICE PELLETS 0018 01 SHOWERS OR INTERMITTENT PRECIPITATION 0019 01 THUNDERSTORM 0031 01 MISSING VALUE 020008 0019 0000 01 SKY CLEAR 0001 01 FEW 0002 01 SCATTERED 0003 01 BROKEN 0004 01 OVERCAST 0005 01 RESERVED 0006 01 SCATTERED/BROKEN (MANY FORECASTS USE SCATTERED/BROKEN 0007 01 BROKEN/OVERCAST (BROKEN/OVERCAST FOLLOWED BY CLOUD TYPE(S)) 0008 02 ISOLATED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0009 02 ISOLATED EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE C LOUD TYPE CB) 0010 02 OCCASIONAL (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TY PE CB) 0011 02 OCCASIONAL EMBEDDED (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0012 02 FREQUENT (USED ON AVIATION CHARTS TO DESCRIBE THE CLOUD TYPE CB) 0013 02 DENSE (USED ON AVIATION CHARTS TO DESCRIBE CLOUD THAT WOULD CAUSE SUDDEN CHANGES IN VISIBILITY (LESS THAN 1000M) 0014 01 LAYERS 0015 01 OBSCURED (OBSC) 0016 01 EMBEDDED (EMBD) 0017 01 FREQUENT EMBEDDED 0031 01 MISSING VALUE 020009 0006 0000 01 RESERVED 0001 01 NSC MIL SIGNIFICANT CLOUD 0002 01 CAVOK 0003 01 SKC SKY CLEAR 0004 01 NSW NIL SIGNIFICANT WEATHER 0015 01 MISSING VALUE 020011 0011 0000 01 0 0 0001 01 1 OKTA OR LESS, BUT NOT ZERO 1/10 OR LESS, BUT NOT ZERO 0002 01 2 OKTAS 2/10 - 3/10 0003 01 3 OKTAS 4/10 0004 01 4 OKTAS 5/10 0005 01 5 OKTAS 6/10 0006 01 6 OKTAS 7/10 - 8/10 0007 01 7 OKTAS OR MORE,BUT NOT 8 OKTAS9/10 OR MORE, BUT NOT 10/10 0008 01 8 OKTAS 10/10 0009 01 SKY OBSCURED BY FOG AND OR OTHER METEOROLOGICAL PHENOMENA 0015 02 CLOUD COVE IS INDISCERNIBLE FOR REASONS OTHER THAN FOG OR OT HER METEOROLOGICAL PHENOMENA, OR OBSERVATION IS NOT MADE 020012 0045 0000 01 CIRRUS (CI)...............CI 0001 01 CIRROCUMULUS (CC).........CC 0002 01 CIRROSTRATUS (CS).........CS 0003 01 ALTOCUMULUS (AC).........AC 0004 01 ALTOSTRATUS (AS).........AS 0005 01 NIMBOSTRATUS (NS).........NS 0006 01 STRATOCUMULUS(SC).........SC 0007 01 STRATUS (ST).........ST 0008 01 CUMULUS (CU).........CU 0009 01 CUMULONIMBUS (CB).........CB 0010 01 NO CH CLOUDS 0011 02 CIRRUS FIBRATUS, SOMETIMES UNCINUS, NOT PROGRESSIVELY INADIN G THE SKY 0012 04 CIRRUS SPISSATUS, IN PATCHES OR ENTANGLED SHEAVES, WHICH USU ALLY DO NOT INCREASE AND SOMETIMES SEEM TO BE THE REMAINS OF THE UPPER PART OF A CUMULONIMBUS; OR CIRRUS CASTELLANUS OR FLOCCUS 0013 01 CIRRUS SPISSATUS CUMULONIMBOGENITUS 0014 02 CIRRUS UNCINUS OR FIBRATUS,OR BOTH, PROGRESSIVELY INVADING T HE SKY ; THEY GENERALLY THICKEN AS A WHOLE 0015 04 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL DOES NOT REACH 45 DEGREES ABOVE THE HORIZON 0016 05 CIRRUS (OFTEN IN BANDS) AND CIRROSTRATUS, OR CIRROSTRATUS AL ONE, PROGRESSIVELY INVADING THE SKY; THEY GENERALLY THICKEN ASA WHOLE, BUT THE CONTINUOUS VEIL EXTENDS MORE THAN 45 DEGR REES ABOVE THE HORIZON, WITHOUT THE SKY BEING TOTALLY COVERE D 0017 01 CIRROSTRATUS COVERING THE WHOLE SKY 0018 02 CIRROSTRATUS NOT PROGRESSIVELY INVADING THE SKY AND NOT ENTI RELY COVERING IT 0019 02 CIRROCUMULUS ALONE, OR CIRROCUMULUS PREDOMINANT AMONG THE CH CLOUDS 0020 01 NO CM CLOUDS 0021 01 ALTOSTRATUS TRANSLUCIDUS 0022 01 ALTOSTRATUS OPACUS OR NIMBOSTRATUS 0023 01 ALTOCUMULUS TRANSLUCIDUS AT A SINGLE LEVEL 0024 02 PATCHES (OFTEN LENTICULARIS) OF ALTOCUMULUS TRANSLUCIDUS, CO NTINUALLY CHANGING AND OCCURING AT ONE OR MORE LEVELS 0025 04 ALTOCUMULUS TRANSLUCIDUS IN BANDS, OR ONE OR MORE LAYERS OF ALTOCUMULUS TRANSLUCIDUS OR OPACUS, PROGRESSIVELY INVADING T HE SKY; THESE ALTOCUMULUS CLOUDS GENERALLY THICKEN AS A WHOL E 0026 01 ALTOCUMULUS CUMULOGENITUS (OR CUMULONIMBOGENITUS) 0027 04 ALTOCUMULUS TRANSLUCIDUS OR OPACUS IN TWO OR MORE LAYERS, OR ALTOCUMULUS OPACUS IN A SINGLE LAYER, NOT PROGRESSIVELY INV ADING THE SKY, OR ALTOCUMULUS WITH ALTOSTRATUS OR NIMBOSTRAT US 0028 01 ALTOCUMULUS CASTELLANUS OR FLOCUS 0029 01 ALTOCUMULUS OF CHAOTIC SKY, GENERALLY AT SEVERAL LEVELS 0030 01 NO CL CLOUDS 0031 02 CUMULUS HUMILIS OR CUMULUS FRACTUS OTHER THAN OF BAD WEATHER , OR BOTH 0032 03 CUMULUS MEDIOCRIS OR CONGESTUS, WITH OR WITHOUT CUMULUS OF S PECIES FRACTUS OR HUMULIS OR STRATOCUMULUS, ALL HAVING THEIR BASES AT THE SAME LEVEL 0033 02 CUMULONIMBUS CALVUS, WITH OR WITHOUT CUMULUS, STRATOCUMULUS OR STRATUS 0034 01 STRATOCUMULUS CUMULOGENITUS 0035 01 STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGENITUS 0036 02 STRATUS NEBULOSUS OR STRATUS FRACTUS OTHER THAN OF BAD WEATH ER, OR BOTH 0037 02 STRATUS FRACTUS OR CUMULUS FRACTUS OF BAD WEATHER, OR BOTH (PANNUS), USUALLY BELOW ALTOSTRATUS OR NIMBOSTRATUS 0038 02 CUMULUS AND STRATOCUMULUS OTHER THAN STRATOCUMULUS CUMULOGEN ITUS, WITH BASES AT DIFFERENT LEVELS 0039 03 CUMULONIMBUS CAPILLATUS (OFTEN WITH AN ANVIL), WITH OR WITHO UT CUMULONIMBUS CALVUS, CUMULUS, STRATOCUMULUS, STRATUS OR P ANNUS 0059 02 CLOUD NOT VISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDSTO RM, OR OTHER ANALOGOUS PHENOMENA 0060 03 CH CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0061 03 CM CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA, OR BECAUSE OF A CONTINUOUS LAYER OF LOWER CLOUDS 0062 02 CL CLOUDS INVISIBLE OWING TO DARKNESS, FOG, DUSTSTORM, SANDS TORM, OR OTHER SIMILAR PHENOMENA 0063 01 MISSING VALUE 020017 0011 0000 01 ISOLATED CLOUD OR FRAGMENTS OF CLOUD 0001 01 CONTINUOUS CLOUD 0002 01 BROKEN CLOUD - SMALL BREAKS, FLAT TOPS 0003 01 BROKEN CLOUD - LARGE BREAKS, FLAT TOPS 0004 01 CONTINUOUS CLOUD 0005 01 BROKEN CLOUD - SMALL BREAKS, UNDULATED TOPS 0006 01 BROKEN CLOUD - LARGE BREAKS, UNDULATED TOPS 0007 02 CONTINUOUS OR ALMOST CONTINUOUS WAVES WITH TOWERING CLOUDS A BOVE THE TOP OF THE LAYER 0008 02 GROUPS OF WAVES WITH TOWERING CLOUDS ABOVE THE TOP OF THE LA YER 0009 01 TWO OR MORE LAYERS AT DIFFERENT LEVELS 0015 01 MISSING VALUE 020018 0004 0000 01 INCREASING (U) 0001 01 DECREASING (D) 0002 01 NO DISTINCT CHANGE (N) 0003 01 MISSING VALUE 020021 0024 0001 01 PRECIPITATION-UNKNOWN TYPE 0002 01 LIQUID PRECIPITATION NOT FREEZING 0003 01 LIQUID FREEZING PRECIPITATION 0004 01 DRIZZLE 0005 01 RAIN 0006 01 SOLID PRECIPITATION 0007 01 SNOW 0008 01 SNOW GRAINS 0009 01 SNOW PELLETS 0010 01 ICE PELLETS 0011 01 ICE CRYSTALS 0012 01 DIAMOND DUST 0013 01 SMALL HAIL 0014 01 HAIL 0015 01 GLAZE 0016 01 RIME 0017 01 SOFT RIME 0018 01 HARD RIME 0019 01 CLEAR ICE 0020 01 WET SNOW 0021 01 HOAR FROST 0022 01 DEW 0023 01 WHITE DEW 0030 01 ALL 30 MISSING VALUE 020022 0007 0000 01 NO PRECIPITATION 0001 01 CONTINUOUS 0002 01 INTERMITTENT 0003 01 SHOWER 0004 01 NOT REACHING GROUND 0005 01 DEPOSITION 0015 01 MISSING VALUE 020023 0012 0001 01 DUST/SAND WHIRL 0002 01 SQUALLS 0003 01 SAND STORM 0004 01 DUST STORM 0005 01 LIGHTNING - CLOUD TO SURFACE 0006 01 LIGHTNING - CLOUD TO CLOUD 0007 01 LIGHTNING - DISTANT 0008 01 THUNDERSTORM 0009 01 FUNNEL CLOUD NOT TOUCHING SURFACE 0010 01 FUNNEL CLOUD TOUCHING SURFACE 0011 01 SPRAY 0012 01 WATER-SPOUT 020024 0007 0000 01 NO PHENOMENA 0001 01 LIGHT 0002 01 MODERATE 0003 01 HEAVY 0004 01 VIOLENT 0005 01 SEVERE (VAL) 0007 01 MISSING VALUE 020025 0011 0001 01 FOG 0002 01 ICE FOG 0003 01 STEAM FOG 0007 01 MIST 0008 01 HAZE 0009 01 SMOKE 0010 01 VOLCANIC ASH 0011 01 DUST 0012 01 SAND 0013 01 SNOW 0021 01 ALL 21 MISSING VALUE 020026 0014 0000 01 NO CHANGE 0001 01 SHALLOW 0002 01 PATCHES 0003 01 PARTIAL 0004 01 FREEZING 0005 01 LOW DRIFTING 0006 01 BLOWING 0007 01 INCREASING 0008 01 DECREASING 0009 01 IN SUSPENSION IN THE AIR 0010 01 WALL 0011 01 DENSE 0012 01 WHITEOUT 0015 01 MISSING VALUE 020027 0007 0001 01 AT TIME OF OBSERVATION 0002 01 IN PAST HOUR 0003 01 IN TIME PERIOD FOR PAST WEATHER W1W2 0004 01 IN TIME PERIOD SPECIFIED 0006 01 BELOW STATION LEVEL 0007 01 AT THE STATION 0008 01 IN THE VICINITY 020029 0004 0000 01 NO RAIN 0001 01 RAIN 0002 01 RESERVED 0003 01 MISSING VALUE 020032 0006 0000 01 ICE NOT BUILDING UP 0001 01 ICE BUILDING UP SLOWLY 0002 01 ICE BUILDING UP QUICKLY 0003 01 ICE MELTING OR BREAKING UP SLOWLY 0004 01 ICE MELTING OR BREAKING UP RAPIDLY 0007 01 MISSING VALUE 020033 0004 0001 01 ICING FROM OCEAN SPRAY 0002 01 ICING FROM FOG 0003 01 ICING FROM RAIN 0004 01 MISSING VALUE 020034 0012 0000 01 NO SEA ICE IN SIGHT 0001 02 SHIP IN OPEN LEAD MORE THAN 1.0 NAUTICAL MILE WIDE, OR SHIP IN FAST ICE WITH BOUNDARY BEYOND LIMIT OF VISIBILITY 0002 04 SEA ICE PRESENT IN CONCETRATION LESS THAN 3/10 (3/8), OPEN W ATER OR VERY OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0003 03 4/10 TO 6/10 (3/8 TO LESS THAN 6/8) ,OPEN PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0004 03 7/10 TO 8/10 (6/8 TO LESS THAN 7/8), CLOSE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVATION AREA, SHIP IN IC E OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0005 04 9/10 OR MORE, BUT NOT 10/10 (7/8 TO LESS THAN 8/8), VERY CLO SE PACK ICE, SEA ICE CONCETRATION IS UNIFORM IN THE OBSERVAT ION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDG E 0006 03 STRIPS AND PATCHES OF PACK ICE WITH OPEN WATER BETWEEN, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SH IP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0007 04 STRIPS AND PATCHES OF CLOSE OR VERY CLOSE PACK ICE WITH AREA S OF LESSER CONCENTRATION BETWEEN, SEA ICE CONCETRATION IS N OT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0. 5 NAUTICAL MILE OF ICE EDGE 0008 04 FAST ICE WITH OPEN WATER,VERY OPEN OR OPEN PACK ICE TO SEAWA RD OF THE ICE BOUNDARY, SEA ICE CONCENTRATION IS NOT UNIFORM IN THE OBSERVATION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE EDGE 0009 04 FAST ICE CLOSE OR VERY CLOSE PACK ICE TO SEAWARD OF THE ICE BOUNDARY, SEA ICE CONCETRATION IS NOT UNIFORM IN THE OBSERVA TION AREA, SHIP IN ICE OR WITHIN 0.5 NAUTICAL MILE OF ICE ED GE 0014 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY, O R BECAUSE SHIP IS MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0015 01 MISSING VALUE 020035 0012 0000 01 NO ICE OF LAND ORIGIN 0001 01 1-5 ICEBERGS, NO GROWLERS OR BERGY BITS 0002 01 6-10 ICEBERGS, NO GROWLERS OR BERGY BITS 0003 01 11-20 ICEBERGS, NO GROWLERS OR BERGY BITS 0004 01 UP TO AND INCLUDING 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0005 01 MORE THAN 10 GROWLERS AND BERGY BITS - NO ICEBERGS 0006 01 1-5 ICEBERGS, WITH GROWLERS AND BERGY BITS 0007 01 6-10 ICEBERGS, WITH GROWLERS AND BERGY BITS 0008 01 11-20 ICEBERGS, WITH GROWLERS AND BERGY BITS 0009 02 MORE THAN 20 ICEBERGS,WITH GROWLERS AND BERGY BITS - A MAJOR HAZARD TO NAVIGATION 0014 02 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY SEA ICE IS VISIBLE 0015 01 MISSING VALUE 020036 0012 0000 01 SHIP IN OPEN WATER WITH FLOATING ICE IN SIGHT 0001 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS IMPROVING 0002 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS NOT CHANGING 0003 01 SHIP IN EASILY PENETRABLE ICE; CONDITIONS WORSENING 0004 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS IMPROVING 0005 01 SHIP IN ICE DIFFICULT TO PENETRATE; CONDITIONS NOT CHANGING 0006 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE FORMING AND FLOES FREEZING TOGETHAR 0007 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER SLIGHT PRESSURE 0008 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. ICE UNDER MODERATE OR SEVERE PRESSURE 0009 02 SHIP IN ICE DIFFICULT TO PENETRATE AND CONDITIONS WORSENING. SHIP BESET. 0030 01 UNABLE TO REPORT, BECAUSE OF DARKNESS OR LACK OF VISIBILITY 0031 01 MISSING VALUE 020037 0012 0000 01 NEW ICE ONLY (FRAZIL ICE, GREASE ICE, SLUSH, SHUGA) 0001 01 NILAS OR ICE RIND, LESS THAN 10 CM THICK 0002 01 YOUNG ICE(GREY ICE, GREY-WHITE ICE 0003 01 PREDOMINANTLY NEW AND/OR YOUNG ICE WITH SOME FIRST-YEAR ICE 0004 02 PREDOMINANTLY THIN FIRST-YEAR ICE WITH SOME NEW AND/OR YOUNG ICE 0005 01 ALL THIN FIRST-YEAR ICE (30-70 CM THICK) 0006 02 PREDOMINANTLY MEDIUM FIRST-YEAR ICE (70-120 CM THICK) AND THICK FIRST-YEAR ICE (>120 CM 0007 01 ALL MEDIUM AND THICK FIRST-YEAR ICE 0008 02 PREDOMINANTLY MEDIUM AND THICK FIRST-YEAR ICE WITH SOME OLD ICE (USUALLY MORE THAN 2 METRES THICK) 0009 01 PREDOMINANTLY OLD ICE 0030 03 UNABLE TO REPORT, BECAUSE OF DARKNESS, LACK OF VISIBILITY OR BECAUSE ONLY ICE OF LAND ORIGIN IS VISIBLE OR BECAUSE SHIP I S MORE THAN 0.5 NAUTICAL MILE AWAY FROM ICE EDGE 0031 01 MISSING VALUE 020040 0009 0000 01 DRIFT SNOW ENDED BEFORE THE HOUR OF OBSERVATION 0001 01 INTENSITY DIMINISHING 0002 01 NO CHANGE 0003 01 INTENSITY INCREASING 0004 02 CONTINUES, APART FROM INTERRUPTION LASTING LESS THAN 30 MINU TES 0005 01 GENERAL DRIFT SNOW HAS BECOME DRIFT SNOW NEAR THE GROUND 0006 01 DRIFT SNOW NEAR THE GROUND HAS BECOME GENERAL DRIFT SNOW 0007 02 DRIFT SNOW HAS STARTED AGAIN AFTER AN INTERRUPTION OF MORE T HAN 30 MINUTES 0015 01 MISSING VALUE 020041 0011 0000 01 NO ICING 0001 01 LIGHT ICING 0002 01 LIGHT ICING IN CLOUD 0003 01 LIGHT ICING IN PRECIPITATION 0004 01 MODERATE ICING 0005 01 MODERATE ICING IN CLOUD 0006 01 MODERATE ICING IN PRECIPITATION 0007 01 SEVERE ICING 0008 01 SEVERE ICING IN CLOUD 0009 01 SEVERE ICING IN PRECIPITATION 0015 01 MISSING VALUE 020042 0004 0000 01 NO ICING 0001 01 ICING PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020045 0004 0000 01 NO SLD CONDITIONS PRESENT 0001 01 SLD CONDITIONS PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 020050 0010 0000 01 RESERVED 0001 01 1ST LOW CLOUD 0002 01 2ND LOW CLOUD 0003 01 3RD LOW CLOUD 0004 01 1ST MEDIUM CLOUD 0005 01 2ND MEDIUM CLOUD 0006 01 3RD MEDIUM CLOUD 0007 01 1ST HIGH CLOUD 0008 01 2ND HIGH CLOUD 0255 01 MISSING VALUE 020055 0011 0000 01 CUMULUS, IF ANY, ARE QUITE SMALL 0001 01 CUMULUS OF INTERMEDIATE SIZE 0002 01 SWELLING CUMULUS 0003 01 SWELLING CUMULUS WITH TOWERS 0004 01 SWELLING CUMULUS WITH TOWERS HAVING PRONOUNCED TILT 0005 01 TALL CUMULUS CONGESTUS 0006 01 ISOLATED CUMULONIMBUS 0007 01 NUMEROUS CUMULONIMBUS 0008 01 CONTINUOUS DENSE MIDDLE CLOUDS 0009 01 CONTINUOUS SHEETS OF MIDDLE CLOUDS 0015 01 MISSING VALUE 020056 0005 0000 01 UNKNOWN 0001 01 WATER 0002 01 ICE 0003 01 MIXED 0007 01 MISSING VALUE 020062 0021 0000 02 SURFACE OF GROUND DRY (WITHOUT CRACKS AND NO APPRECIABLE AMOUNT OF DUST OR LOOSE SAND) 0001 01 SURFACE OF GROUND MOIST 0002 02 SURFACE OF GROUND WET (STANDING WATER IN SMALL OR LARGE POOLS ON SURFACE) 0003 01 FLOODED WITHOUT SNOW 0004 01 SURFACE OF GROUND FROZEN MEASURABLE ICE 0005 01 GLAZE ON GROUND COVER 0006 01 LOOSE DRY DUST OR SAND NOT COVERING GROUND COMPLETELY 0007 02 THIN COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLET ELY 0008 02 MODERATE OR THICK COVER OF LOOSE DRY DUST OR SAND COVERING GROUND COMPLETELY 0009 01 EXTREMELY DRY WITH CRACKS 0010 01 GROUND PREDOMINANTLY COVERED BY ICE 0011 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING LESS THAN ONE-HALF OF THE GROUND 0012 02 COMPACT OR WET SNOW (WITH OR WITHOUT ICE) COVERING AT LEAST ONE-HALF OF THE GROUND BUT GROUND NOT COMPLETELY COVERED 0013 01 EVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND COMPLETELY 0014 02 UNEVEN LAYER OF COMPACT OR WET SNOW COVERING GROUND WITH SNOW OR COMPLETELY MEASURABLE ICE 0015 02 LOOSE DRY SNOW COVERING LESS THAN ONE-HALF OF THE GROUND COV ER 0016 02 LOOSE DRY SNOW COVERING AT LEAST ONE-HALF OF THE GROUND (BUT NOT COMPLETELY) 0017 01 EVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0018 01 UNEVEN LAYER OF LOOSE DRY SNOW COVERING GROUND COMPLETELY 0019 01 SNOW COVERING GROUND COMPLETELY; DEEP DRIFTS 0031 01 MISSING VALUE 020063 0001 0000 01 TO BE DEVELOPED 020071 0011 0000 01 NO ASSESSMENT NO ASSESSMENT 0001 01 LESS THAN 50 KM LESS THAN 1 PER SECOND 0002 01 BETWEEN 50 AND 200 KM LESS THAN 1 PER SECOND 0003 01 MORE THAN 200 KM LESS THAN 1 PER SECOND 0004 01 LESS THAN 50 KM 1 OR MORE PER SECOND 0005 01 BETWEEN 50 AND 200 KM 1 OR MORE PER SECOND 0006 01 MORE THAN 200 KM 1 OR MORE PER SECOND 0007 02 LESS THANK 50 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0008 02 BETWEEN 50 AND 200 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0009 02 MORE THAN 200 KM RATE SO RAPID NUMBER CANNOT BE COUN TED 0015 01 MISSING VALUE 020086 0008 0000 01 CLEAR AND DRY 0001 01 DAMP 0005 01 WET SNOW 0006 01 SLUSH 0007 01 ICE 0008 01 COMPACTED OR ROLLED SNOW 0009 01 FROZEN RUTS OR RIDGES 0015 01 MISSING VALUE 020090 0007 0000 01 RESERVED 0001 01 NACREOUS CLOUDS 0002 01 NOCTILUCENT CLOUDS 0003 01 CLOUDS FROM WATERFALLS 0004 01 CLOUDS FROM FIRES 0005 01 CLOUDS FROM VULCANIC ERUPTIONS 0015 01 MISSING VALUE 020101 0010 0001 01 SCHISTOCERCA GREGARIA 0002 01 LOCUSTA MIGRATORIA 0003 01 NOMADACRIS SEPTEMFASCIATA 0004 01 OEDALEUS SENAGALENSIS 0005 01 ANRACRIDIUM SPP 0006 01 OTHER LOCUST 0007 01 OTHER GRASSHOPPERS 0008 01 ITHER CRICKETS 0009 01 SPODOPTERA EXEMPTA 0015 01 MISSING VALUE 020102 0011 0000 01 GREEN 0001 01 GREEN AND BLACK 0002 01 BLACK 0003 01 YELLOW AND BLACK 0004 01 STRAW/GREY 0005 01 PINK 0006 01 DARK RED/BROWN 0007 01 MIXED RED AND YELLOW 0008 01 YELLOW 0009 01 OTHER 0015 01 MISSING VALUE 020151 0003 0000 01 FIRST YEAR ICE 0001 01 MULTI YEAR ICE 0007 01 MISSING 020252 0003 0000 01 NO EDGE 0001 01 EDGE PRESENT 0007 01 MISSING 020253 0008 0000 01 LAND 0001 01 VEGETATION COVERED LAND 0002 01 RESERVED 0003 01 ICE 0004 01 POSSIBLE ICE 0005 01 OCEAN 0006 01 COAST 0007 01 MISSING 021066 0011 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLINH WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIC VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF IN-PHASE AND QUADRATURE OUT OF RANGE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION =< MMCC VALUE 021067 0012 0001 01 NO FOREBEAM CALCULATION 0002 01 NO MIDBEAM CALCULATION 0003 01 NO AFTBEAM CALCULATION 0004 01 FOREBEAM ARCING DETECTED 0005 01 MID ARCING DETECTED 0006 01 AFTBEAM ARCING DETECTED 0007 01 ANY BEAM NOISE CONTENT ABOVE OR EQUAL TO TRESHOLD 0008 01 LAND (ANY LAND IN CELL FOOTPRINT) 0009 01 AUTONOMOUS AMBIGUITY REMOVAL NOT USED 0010 01 METEOROLOGICAL BACKGROUND NOT USED 0011 01 MINIMUM RESIDUAL EXCEEDED TRESHOLD 0012 01 FRAME CHECKSUM ERROR DETECTED 021068 0007 0001 01 STANDARD DEVIATION OF WIND SPEED OUTSIDE MMCC LIMIT 0002 02 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT OUTSIDE MMCC L IMIT 0003 01 STANDARD DEVIATION OF ALTITUDE OUTSIDE MMCC LIMIT 0004 01 MEAN PEAKINESS OUTSIDE MMCC LIMIT 0005 01 FRAME CHECKSUM ERROR DETECTED 0006 01 HEIGHT-TIME LOOP TIME CONSTANT CORRECTION NOT PERFORMED 0007 01 NOT ENOUGH MEASUREMENTS ( N< 10) 021069 0009 0001 01 12.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0002 01 11.0 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0003 01 3.7 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0004 01 1.6 MICROMETERS CHANNEL PRESENT IN SOURCE DATA 0005 02 CLOUD IDENTIFICATION USED 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST 0006 02 1.6 MICROMETERS HISTOGRAM REFLECTANCE CLOUD TEST USED DYNAMIC TRESHOLD 0007 01 SUN GLINT DETECTED BY 1.6 MICROMETERS REFLECTANCE CLOUD TEST 0008 01 3.7 MICROMETERS USED IN SEA-SURFACE TEMPERATURE RETRIEVAL 0009 02 SEA-SURFACE TEMPERATURE DERIVATION USED DAYTIME DATA (NIGHT-TIME IF ZERO) 021070 0024 0001 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0002 02 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMB ERING 0003 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0004 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0005 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0006 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0007 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0008 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0009 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0010 02 -18 DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL (ONE BIT PER 10-ARCMIN CELL) 0011 01 CELL 1:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0011 02 CELL 2:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL CELL NUMB ERING 0012 01 CELL 3:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0013 01 CELL 4:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL NW NE 0014 01 CELL 5:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 7 8 9 0015 01 CELL 6:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 4 5 6 0016 01 CELL 7:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 1 2 3 0017 01 CELL 8:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL SW SE 0018 01 CELL 9:NADIR-ONLY VIEW SST USED 3.7 MICRON CHANNEL 0019 01 NADIR VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0020 01 FORWARD VIEW CONTAINS DAY-TIME DATA (NIGHT IF ZERO) 0021 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS ACQUIRED WHEN ERS PLATFORM NOT IN YAW-STEERING MODE 0022 02 RECORD CONTAINS CONTRIBUTIONS FROM INSTRUMENT SCANS FOR WHIC H PRODUCT CONFIDENCE DATA SHOW QUALITY IS POOR OR UNKNOWN 0023 01 MISSING VALUE 021072 0003 0001 02 HEIGHT ERROR CORRECTION APPLIED INSTEAD OF OPEN LOOP CALIBRA TION 0002 01 MICROWAVE SOUNDER USED FOR TROPOSPHERE CORRECTION 0003 02 AGC OUTPUT CORRECTION APPLIED INSTED OF OPEN LOOP CALIBRATIO N 021073 0008 0001 01 BLANK DATA RECORD 0002 01 TEST 0003 01 CALIBRATION (CLOSED LOOP) 0004 01 BITE 0005 01 ACQUISITION ON ICE 0006 01 ACQUISITION ON OCEAN 0007 01 TRACKING ON ICE 0008 01 TRACKING ON OCEAN 021076 0004 0000 01 LINEAR 0001 01 LOGARITHMIC (BASE E) 0002 01 LOGARITHMIC (BASE 10) 0007 01 MISSING VALUE 021109 0008 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA0- FOR WIND RETRIEVAL 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0017 01 MISSING VALUE 021115 0011 0001 01 SIGMA-0 MEASUREMENT IS NOT USABLE 0002 01 SIGNAL TO NOISE RATIO IS LOW 0003 01 SIGMA-0 IS NEGATIVE 0004 01 SIGMA-0 IS OUTSIDE OF ACCEPTABLE RANGE 0005 01 SCATTEROMETER PULSE QUALITY IS NOT ACCEPTABLE 0006 01 SIGMA-0 CELL LOCATION ALGORITHM DOES NOT CONVERGE 0007 01 FREQUENCY SHIFT LIES BEYOND THE RANGE OF THE X FACTOR TABLE 0008 02 SPACECRAFT TEMPERATURE IS BEYOND CALIBRATION COEFFICIENT RAN GE 0009 01 NO APPLICABLE ATTITUDE RECORDS WERE FOUND FOR THIS SIGMA-0 0010 02 INTERPOLATED EPHEMERIS DATA ARE NOT ACCEPTABLE FOR THIS SIGM A-0 0017 01 MISSING VALUE 021116 0016 0001 01 CALIBRATION/MEASUREMENT PULSE FLAG (1) 0002 01 CALIBRATION/MEASUREMENT PULSE FLAG (2) 0003 01 OUTER ANTENNA BEAM 0004 01 SIGMA-0 CELL IS AFT OF SPACECRAFT 0005 01 CURRENT MODE (1) 0006 01 CURRENT MODE (2) 0007 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (1) 0008 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (2) 0009 01 EFFECTIVE GATE WIDTH - SLICE RESOLUTION (3) 0010 01 LOW RESOLUTION MODE - WHOLE PULSE DATA 0011 01 SCATTEROMETER ELECTRONIC SUBSYSTEM B 0012 01 ALTERNATE SPIN RATE - 19.8 RPM 0013 01 RECEIVER PROTECTION ON 0014 01 SLICES PER COMPOSITE FLAG (1) 0015 01 SLICES PER COMPOSITE FLAG (2) 0016 01 SLICES PER COMPOSITE FLAG (3) 021119 0014 0000 01 RESERVED 0001 01 SASS 0002 01 SASS2 0003 01 NSCAT0 0004 01 NSCAT1 0005 01 NSCAT2 0006 01 QSCAT0 0007 01 QSCAT1 0031 01 CMOD1 0032 01 CMOD2 0033 01 CMOD3 0034 01 CMOD4 0035 01 CMOD5 0064 01 MISSING VALUE 021144 0001 0001 01 RAIN 021150 0004 0000 01 DATA FROM SINGLE GROUND STATION (NO CO-LOCATION) 0001 01 DATA FROM MULTIPLE GROUND STATION (CO-LOCATED DATA) 0002 01 RESERVED 0003 01 MISSING VALUE 021155 0016 0001 01 NOT ENOUGH GOOD SIGMA-0 AVAILABLE FOR WIND RETRIEVAL 0002 01 POOR AZIMUTH DIVERSITY AMONG SIGMA-0 FOR WIND RETRIEVAL 0003 01 ANY BEAM NOISE CONTENT ABOVE TRESHOLD 0004 01 PRODUCT MONITORING NOT USED 0005 01 PRODUCT MONITORING FLAG 0006 01 KNMI QUALITY CONTROL FAILS 0007 01 VARIATIONAL QUALITY CONTROL FAILS 0008 01 SOME PORTION OF WIND VECTOR CELL IS OVER LAND 0009 01 SOME PORTION OF WIND VECTOR CELL IS OVER ICE 0010 01 WIND RETRIEVAL NOT PERFORMED FOR WIND VECTOR CELL 0011 01 REPORTED WIND SPEED IS GREATER THAN 30 M/S 0012 01 REPORTED WIND SPEED IS LESS THAN OR EQUAL TO 3 M/S 0013 01 RAIN FLAG FOR THE WIND VECTOR CELL IS NOT USABLE 0014 01 RAIN FLAG ALGORITHM DETECTS RAIN 0015 01 NO METEOROLOGICAL BACKGROUND USED 0016 01 DATA ARE REDUNDANT 021158 0004 0000 01 ACCEPTABLE 0001 01 NOT ACCEPTABLE 0002 01 RESERVED 0003 01 MISSING VALUE 021159 0004 0000 01 GOOD 0001 01 USABLE 0002 01 BAD 0003 01 MISSING VALUE 021169 0004 0000 01 NO ICE PRESENT 0001 01 ICE PRESENT 0002 01 RESERVED 0003 01 MISSING VALUE 021196 0012 0001 01 PROCESSING EQUIPMENT NOT WORKING 0002 01 EQUIPMENT FAILED 0003 01 PRF CODE CHANGED DURING IMAGE GENERATION 0004 01 SAMPLING WINDOW CHANGED DURING IMAGE GENERATION 0005 01 GAIN CHANGED DURING IMAGE GENERATION 0006 01 CHIRP REPLICA EXCEEDS SPECIFIED VALUE 0007 02 INPUT DATA MEAN AND STANDARD DEVIATION OF I AND Q OUT OF RAN GE 0008 01 DOPPLER CENTROID CONFIDENCE > MMCC VALUE 0009 01 DOPPLER CENTROID ABSOLUTE VCALUE > PRF/2 0010 01 DOPPLER AMBIGUITY CONFIDENCE < MMCC VALUE 0011 01 OUTPUT DATA MEAN AND STANDARD DEVIATION <= MMCC VALUE 0012 01 MISSING VALUE 021199 0007 0001 01 3.7 MICRO CHANNEL USED IN ASST DERIVATION 0002 01 ASST DERIVATION USED DATTIME DATA 0003 02 COMPARISON OF ASST AGAINST PREVIOUS EQUIVALENT PASS PERFORMED 0004 02 COMPARISON OF ASST AGAINST WEEKLY AVERAGE OF ASST PERFORMED 0005 01 0006 02 COMPARISON OF RATE OF CHANGE OF ASST AGAINST STATIC TRESHOLD PERFORMED 0007 01 MISSING VALUE 022056 0004 0000 01 UPWARDS PROFILE 0001 01 DOWNWARDS PROFILE 0002 01 HORIZONTAL 0003 01 MISSING VALUE 022060 0004 0000 01 DROGUE IS DETACHED 0001 01 DROGUE IS ATTACHED 0002 01 DROGUE STATUS UNKNOWN 0007 01 MISSING VALUE 022061 0011 0000 01 CALM (GLASSY) HEIGHT 0 M 0001 01 CALM (RIPPLED) HEIGHT 0 - 0.1 M 0002 01 SMOOTH (WAVELETS) HEIGHT 0.1 - 0.5 M 0003 01 SLIGHT HEIGHT 0.5 - 1.5 M 0004 01 MODERATE HEIGHT 1.25 - 2.5 M 0005 01 ROUGH HEIGHT 2.5 - 4 M 0006 01 VERY ROUGH HEIGHT 4 - 6 M 0007 01 HIGH HEIGHT 6 - 9 M 0008 01 VERY HIGH HEIGHT 9 -14 M 0009 01 PHENOMANAL HEIGHT OVER 14 M 0015 01 MISSING VALUE 022067 0001 0000 01 SEE COMMON CODE TABLE C3 022068 0001 0000 01 SEE COMMON CODE TABLE C4 022120 0013 0000 01 GOOD DATA 0001 01 MAXIMUM (HIGH) WATER LEVEL LIMIT EXCEEDED 0002 01 MINIMUM (LOW) WATER LEVEL LIMIT EXCEEDED 0003 01 RATE OF CHANGE LIMIT FOR WATER LEVEL EXCEEDED 0004 01 FLAT LIMIT FOR WATER LEVEL EXCEEDED 0005 01 OBSERVED MINUS PREDICTED WATER LEVEL VALUE LIMIT EXCEEDED 0006 02 OBSERVED VALUE FROM PRIMARY WATER LEVEL SENSOR MINUS BACKUP WATER LEVEL SENSOR 0007 01 VALUE EXCEEDED SPECIFIED TOLERANCE FROM EXPECTED VALUE 0008 02 WATER LEVEL QA PARAMETER (SIGMAS AND/OR OUTLIERS) LIMITS EXC EEDED 0009 01 SEA TEMPERATURE OUTSIDE OF EXPECTED RANGE 0010 01 MULTIPLE QC CHECKS (ABOVE) FAILED 0011 01 NO AUTOMATED WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022121 0009 0000 01 OPERATIONAL 0001 02 POSSIBLE CLOGGING PROBLEM OR OTHERWISE DEGRADED WATE LEVEL D ATA 0002 01 POSSIBLE DATUM SHIFT 0003 01 UNKNOWN STATUS OF WATER LEVEL SENSOR 0004 01 SUSPECTED OR KNOWN SEA TEMPERATURE SENSOR PROBLEM 0005 01 MULTIPLE POSSIBLE PROBLEMS (ABOVE) 0006 01 BAD DATA- DO NOT DISSEMINATE 0007 01 NO MANUAL WATER LEVEL CHECKS PERFORMED 0031 01 MISSING VALUE 022122 0008 0000 01 GOOD DATA FROM ALL SENSORS 0001 01 WIND DIRECTION OUTSIDE OF ALLOWABLE RANGE 0002 01 WIND SPEED OUTSIDE OF EXPECTED RANGE 0003 01 BAROMETRIC PRESSURE OUTSIDE OF EXPECTED RANGE 0004 01 AIR TEMPERATURE OUTSIDE OF EXPECTED RANGE 0005 01 MULTIPLE SENSOR FAILED QC CHECKS 0006 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022123 0009 0000 01 OPERATIONAL 0001 01 SUSPECTED OR KNOWN PROBLEM WITH WIND SENSOR 0002 01 SUSPECTED OR KNOWN PROBLEM WITH BAROMETRIC PRESSURE SENSOR 0003 01 SUSPECTED OR KNOWN PROBLEM WITH AIR TEMPERATURE SENSOR 0004 01 UNKNOWN STATUS OF ALL SENSORS 0005 01 SUSPECTED OR KNOWN PROBLEMS WITH MULTIPLE SENSORS 0006 01 BAD DATA - DO NOT DISSEMINATE 0007 01 NO MANUAL METEOROLOGICAL DATA CHECKS PERFORMED 0031 01 MISSING VALUE 022252 0006 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PASSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MAGNOLIA CHECKED AND DELETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FAILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE-INSERTED 023001 0005 0000 01 RESERVED 0001 01 ARTICLES 1 AND 2 0002 01 ARTICLE 3 0003 01 ARTICLE 5.2 0007 01 MISSING VALUE 023002 0016 0000 01 RESERVED 0001 01 NUCLEAR REACTOR ON GROUND 0002 01 NUCLEAR REACTOR ON SEA 0003 01 NUCLEAR REACTOR IN SPACE 0004 01 NUCLEAR FULE FACILITY 0005 01 RADIOACTIVE WASTE MANAGMENT FACITILY 0006 01 TRANSPORT OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0007 01 STORAGE OF NUCLEAR FUEL OR RADIOACTIVE WASTE 0008 01 MANUFACTURE OF RADIO-ISOTOPES 0009 01 USE OF RADIO-ISOTOPES 0010 01 STORAGE OF RADIO-ISOTOPES 0011 01 DISPOSAL OF RADIO-ISOTOPS 0012 01 TRANSPORT OF RADIO-ISOTOPES 0013 01 USE OF RADIO-ISOTOPES FOR POWER GENERATION 0030 01 OTHER 0031 01 MISSING VALUE 023003 0008 0000 01 NO RELEASE 0001 01 RELEASE TO ATMOSPHERE 0002 01 RELEASE TO WATER 0003 01 RELEASE TO BOTH ATMOSPHERE AND WATER 0004 01 EXPECTED RELEASE TO ATMOSPHERE 0005 01 EXPECTED RELEASE TO WATER 0006 01 EXPECTED RELEASE TO BOTH ATMOSPHERE AND WATER 0007 01 MISSING VALUE 023004 0006 0000 01 NO COUNTERMEASURE 0001 01 EVACUATION 0002 01 SHELTERING 0003 01 PROPHILAXIS 0004 01 WATER 0007 01 MISSING VALUE 023005 0004 0000 01 INCIDENT STAT DOES NOT UNDERSTAND WHAT HAPPENED 0001 01 INCIDENT STATE KNOWS THE CAUSE OF THE INCIDENT 0002 01 RESERVED 0003 01 MISSING VALUE 023006 0008 0000 01 NO IMPROVEMENT 0001 01 UNSTABLE 0002 01 NO DETERIORATION 0003 01 IMPROVING 0004 01 STABLE 0005 01 DETERIORATING 0006 01 RESERVED 0007 01 MISSING VALUE 023007 0005 0000 01 NO RELEASE 0001 01 RELEASE HAS STOPPED 0002 01 RELEASE 0003 01 RELEASE IS CONTINUING 0007 01 MISSING VALUE 023008 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023009 0004 0000 01 GASEUS 0001 01 PARTICULATE 0002 01 MIXTURE OF GASEUS AND PARTICULATE 0003 01 MISSING VALUE 023016 0004 0000 01 NO SIGNIFICANT TOXIC HEALTH EFFECT 0001 01 SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT POSSIBLE 0002 01 RESERVED 0003 01 MISSING VALUE 023018 0006 0000 01 RELEASE NO LONGER OCCURRING 0001 01 RELEASE STILL OCCURRING 0002 01 RELEASE EXPECTED TO INCREASE IN NEXT SIX HOURS 0003 01 RELEASE EXPECTED TO REMAIN CONSTANT IN NEXT SIX HOURS 0004 01 RELEASE EXPECTED TO DECREASE IN NEXT SIX HOURS 0007 01 MISSING VALUE 023031 0004 0000 01 PLUME WILL NOT ENCOUNTER RAIN IN INCIDENT STATE 0001 01 PLUME WILL ENCOUNTER RAIN IN INCIDENT STATE 0002 01 RESERVED 0003 01 MISSING VALUE 023032 0004 0000 01 NO SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOURS 0001 02 ANTICIPATED SIGNIFICANT CHANGE EXPECTED WITHIN NEXT SIX HOUR S 0002 01 RESERVED 0003 01 MISSING VALUE 024003 0005 0000 01 NOBLE GASES 0001 01 IODINES 0002 01 CAESIUM 0003 01 TRANSURANICS 0031 01 MISSING VALUE 025004 0004 0000 01 INCOHERENT 0001 01 COHERENT (DOPPLER) 0002 01 RESERVED 0003 01 MISSING VALUE 025005 0004 0000 01 LOGATITHM - 2.5 DB 0001 01 LINEAR 0002 01 SPECIAL 0003 01 MISSING VALUE 025006 0005 0000 01 ZH TO R CONVERSION 0001 01 (ZH, ZDR) TO (NO.DO) TO R 0002 01 (Z(F1),Z(F2)) TO ATTENUATION TO R 0006 01 OTHER 0007 01 MISSING VALUE 025009 0004 0001 01 NONE 0002 01 CALIBRATION TARGET OR SIGNAL 0003 01 AGAINST RAINGAGES 0004 01 AGAINST OTHER INSTRUMENTS (DISTROMETER-ATTENUATION) 025010 0008 0000 01 NONE 0001 01 MAP 0002 01 INSERTION OF HIGHER ELEVATION DATA AND MAP 0003 01 ANALYSIS OF FLUCTUATING LOGARITHM SIGNAL (CLUTTER DETECTION) 0004 02 EXTRACTION OF FLUCTUATING PART OF LINEAR SIGNAL (CLUTTER SUP PRESSION) 0005 01 CLUTTER SUPPRESSION DOPPLER 0006 01 MULTIPARAMETER ANALYSIS 0015 01 MISSING VALUE 025011 0004 0000 01 NONE 0001 01 MAP OF CORRECTION FACTORS 0002 01 INTERPOLATION (AZIMUTH OR ELEVATION) 0003 01 MISSING VALUE 025012 0004 0000 01 HARDWARE 0001 01 SOFTWARE 0002 01 HARDWARE AND SOFTWARE 0003 01 MISSING VALUE 025013 0001 0001 01 BRIGHT BAND CORRECTION 025015 0001 0001 01 RADOME ATTENUATION CORRECTION 025017 0001 0001 01 PRECIPITATION ATTENUATION CORRECTION 025020 0004 0000 01 FTT (FAST FOURIER TRANSFORM 0001 01 PPP (PULSE PAIR PROCESSING 0002 01 VPC (VECTOR-PHASE CHANGE) 0003 01 MISSING VALUE 025021 0005 0001 01 SIMPLE AVERAGE 0002 01 CONSENSUS AVERAGE 0003 01 MEDIAN CHECK 0004 01 VERTICAL CONSISTENCY CHECK 0005 01 OTHER 025030 0004 0000 02 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE USAGE CRITERIA NOT MET 0001 02 RUNNING MEAN SEA-SURFACE TEMPERATURE NOT USED BECAUSE DATA N OT AVAILABLE 0002 01 RUNNING MEAN SEA-SURFACE TEMPERATURE USED AS PREDICTOR 0003 01 MISSING VALUE 025032 0004 0000 01 RESERVED 0001 01 DATA FROM LOW MODE 0002 01 DATA FROM HIGH MODE 0003 01 MISSING VALUE 025033 0004 0000 01 WIND PROFILER OPERATING IN SUBMODE A 0001 01 WIND PROFILER OPERATING IN SUBMODE B 0002 01 RESERVED 0003 01 MISSING VALUE 025034 0003 0001 01 TEST A PERFORMED AND FAILED 0002 01 TEST B PERFORMED AND FAILED 0003 01 TEST RESULTS INCONCLUSIVE 025036 0004 0000 02 NETWORK OF SEVERAL DIRECTION-FINDERS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0001 02 NETWORK OF SEVERAL ARRIVAL-TIME STATIONS OPERATING ON THE SAME INDIVIDUAL ATMOSPHERICS 0006 01 SINGLE STATION RANGE BEARING TECHNIQUE 0015 01 MISSING VALUE 025040 0010 0000 01 NON-SPECIFIC MODE 0001 01 FIRST GUESS DATA 0002 01 CLOUD DATA 0003 01 AVERAGE VECTOR DATA 0004 01 PRIMARY DATA 0005 01 GUESS DATA 0006 01 VECTOR DATA 0007 01 TRACER DATA; THE IMAGE 0008 01 TRACER DATA TO NEXT IMAGE 0015 01 MISSING VALUE 025041 0004 0000 01 DIRECTION ORIGINALLY REPORTED IN TRUE DEGREES 0001 01 DIRECTION ORIGINALLY REPORTED USING CODE TABLE 0700, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025042 0004 0000 01 SPEED ORIGINALLY REPORTED IN METERS PER SECOND 0001 01 SPEED ORIGINALLY REPORTED USING CODE TABLE 2251, FM 13 0002 01 RESERVED 0003 01 MISSING VALUE 025045 0020 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 0016 01 CHANNEL 16 PRESENT - (SET TO 1 PRESENT) 0017 01 CHANNEL 17 PRESENT - (SET TO 1 PRESENT) 0018 01 CHANNEL 18 PRESENT - (SET TO 1 PRESENT) 0019 01 CHANNEL 19 PRESENT - (SET TO 1 PRESENT) 0020 01 CHANNEL 20 PRESENT - (SET TO 1 PRESENT) 025046 0004 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 025047 0003 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 025048 0015 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 0007 01 CHANNEL 7 PRESENT - (SET TO 1 PRESENT) 0008 01 CHANNEL 8 PRESENT - (SET TO 1 PRESENT) 0009 01 CHANNEL 9 PRESENT - (SET TO 1 PRESENT) 0010 01 CHANNEL 10 PRESENT - (SET TO 1 PRESENT) 0011 01 CHANNEL 11 PRESENT - (SET TO 1 PRESENT) 0012 01 CHANNEL 12 PRESENT - (SET TO 1 PRESENT) 0013 01 CHANNEL 13 PRESENT - (SET TO 1 PRESENT) 0014 01 CHANNEL 14 PRESENT - (SET TO 1 PRESENT) 0015 01 CHANNEL 15 PRESENT - (SET TO 1 PRESENT) 025049 0005 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 025051 0006 0001 01 CHANNEL 1 PRESENT - (SET TO 1 PRESENT) 0002 01 CHANNEL 2 PRESENT - (SET TO 1 PRESENT) 0003 01 CHANNEL 3 PRESENT - (SET TO 1 PRESENT) 0004 01 CHANNEL 4 PRESENT - (SET TO 1 PRESENT) 0005 01 CHANNEL 5 PRESENT - (SET TO 1 PRESENT) 0006 01 CHANNEL 6 PRESENT - (SET TO 1 PRESENT) 025053 0006 0001 01 GOOD 0002 01 REDUNDANT 0003 01 QUESTIONABLE 0004 01 BAD 0005 01 EXPERIMENTAL 0006 01 PRECIPITATING 025069 0007 0001 01 SMOOTHED 0002 01 BASELINE ADJUSTED 0003 01 NORMALIZED TIME INTERVAL 0004 01 OUTLIER CHECKED 0005 01 PLAUSIBILITY CHECKED 0006 01 CONSISTENCY CHECKED 0007 01 INTERPOLATED 025086 0004 0000 01 DEPTHS ARE NOT CORRECTED 0001 01 DEPTHS ARE CORRECTED 0002 01 RESERVED 0003 01 MISSING VALUE 025093 0003 0001 01 NO CORRECTION 0002 01 VERTICAL VELOCITY CORRECTION 0007 01 ALL CORRECTIONS 025095 0001 0001 02 ALTIMETER OPERATING (SET TO 0 IF NOMINAL, SET TO BACKUP) 025096 0004 0001 01 MODE INDICATOR (0 IF MODE 2, 1 IF MODE 1) 0002 03 MODE 1 CALIBRATION SEQUENCE INDICATOR (0 IF NORMAL DATA TAKI NG EITHER MODE 1 OR 2, 1 IF MODE 1 CALIBRATION SEQUENCE) BIT S 3 AND 4 INDICATE ACTIVE 23.8 GHZ CHANNEL 0003 01 CHANNEL 2 (0 IF ON, 1 IF OFF) 0004 01 CHANNEL 3 (0 IF ON, 1 IF OFF) 025097 0011 0000 01 RANGES BETWEEN 0 AND 30 CM 0001 01 RANGES BETWEEN 30 AND 60 CM 0002 01 RANGES BETWEEN 60 AND 90 CM 0003 01 RANGES BETWEEN 90 AND 120 CM 0004 01 RANGES BETWEEN 120 AND 150 CM 0005 01 RANGES BETWEEN 150 AND 180 CM 0006 01 RANGES BETWEEN 180 AND 210 CM 0007 01 RANGES BETWEEN 210 AND 240 CM 0008 01 RANGES BETWEEN 240 AND 270 CM 0009 01 RANGES LARGER THAN 270 CM 0015 01 MISSING VALUE 025098 0008 0001 01 KU BAND RANGE 0002 01 C BAND RANGE 0003 01 KU BAND SWH 0004 01 C BAND SWH 0005 01 KU BAND SCATTEROMETER COEFFICIENT 0006 01 C BAND SCATTEROMETER COEFFICIENT 0007 01 OFF NADIR ANGLE FROM KU BAND WVEFORM PARAMETERS 0008 01 OFF NADIR FROM PLATFORM 025099 0006 0001 01 KU BAND RANGE INSTRUMENTAL CORRECTION 0002 01 C BAND RANGE INSTRUMENTAL CORRECTION 0003 01 KU BAND SWH INSTRUMENTAL CORRECTION 0004 01 C BAND SWH INSTRUMENTAL CORRECTION 0005 01 KU BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 0006 01 C BAND SCATTEROMETER COEFFICIENT INSTRUMENTAL CORRECTION 025110 0006 0001 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING DEFAULT PARAMETERS 0002 02 RAW DATA ANALYSIS USED FOR RAW DATA CORRECTION. CORRECTION DONE USING RAW DATA ANALYSIS RESULTS 0003 01 ANTENNA ELEVATION PATTERN CORRECTION APPLIED 0004 01 NOMINAL CHIRP REPLICA USED 0005 01 RECONSTRUCTED CHIRP USED 0006 01 SLANT RANGE TO GROUND RANGE CONVERSION APPLIED 025120 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025122 0004 0000 01 HARDWARE CONFIGURATION FOR RF IS A 0001 01 HARDWARE CONFIGURATION FOR RF IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025123 0004 0000 01 HARDWARE CONFIGURATION FOR HPA IS A 0001 01 HARDWARE CONFIGURATION FOR HPA IS B 0002 01 RESERVED 0003 01 MISSING VALUE 025124 0004 0000 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS GREATER THAN THE ACCEPTABLE THRESHOLD 0001 02 PERCENTAGE OF DSRS FREE OF PROCESSING ERRORS DURING LEVEL 2 PROCESSING IS LESS THAN THE ACCEPTABLE THRESHOLD 0002 01 RESERVED 0003 01 MISSING VALUE 025144 0013 0001 01 PIXEL IS AFFECTED BY RFI EFFECTS 0002 02 PIXEL IS LOCATED IN THE HEXAGONAL ALIAS DIRECTION CENTRED ON SUN ALIAS 0003 02 PIXEL IS CLOSE TO THE BORDER DELIMITING THE EXTENDED ALIAS F REE ZONE 0004 01 PIXEL IS INSIDE THE EXTENDED ALIAS FREE ZONE 0005 01 PIXEL IS INSIDE THE EXCLUSIVE OF ALIAS FREE ZONE 0006 02 PIXEL IS LOCATED IN ZONE WHERE A MOON ALIAS WAS RECONSTRUCTE D 0007 02 PIXEL IS LOCATED IN ZONE WHERE SUN REFLECTION HAS BEEN DETEC TED 0008 01 PIXEL IS LOCATED IN ZONE WHERE SUN ALIAS WAS RECONSTRUCTED 0009 02 FLAT TARGET TRANSFORMATION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS PIXEL 0010 03 SCENE HAS BEEN COMBINED WITH AN ADJUSTMENT SCENE IN OPOSITE POLARISATION DURING IMAGE RECONSTRUCTION TO ACCOUNT FOR CROS S-POLARISATION LEAKAGE 0011 02 DIRECT MOON CORRECTION HAS BENN PERFORMED DURING IMAGE RECON STRUCTION OF THIS PIXEL 0012 02 REFLECTED SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION IF THIS PIXEL 0013 02 DIRECT SUN CORRECTION HAS BEEN PERFORMED DURING IMAGE RECONSTRUCTION OF THIS IMAGE 026010 0025 0001 01 0100 INCLUDED 0002 01 0200 INCLUDED 0003 01 0300 INCLUDED 0004 01 0400 INCLUDED 0005 01 0500 INCLUDED 0006 01 0600 INCLUDED 0007 01 0700 INCLUDED 0008 01 0800 INCLUDED 0009 01 0900 INCLUDED 0010 01 1000 INCLUDED 0011 01 1100 INCLUDED 0012 01 1200 INCLUDED 0013 01 1300 INCLUDED 0014 01 1400 INCLUDED 0015 01 1500 INCLUDED 0016 01 1600 INCLUDED 0017 01 1700 INCLUDED 0018 01 1800 INCLUDED 0019 01 1900 INCLUDED 0020 01 2000 INCLUDED 0021 01 2100 INCLUDED 0022 01 2200 INCLUDED 0023 01 2300 INCLUDED 0024 01 2400 INCLUDED 0025 01 UNKNOWN MIXTURE OF HOURS 029001 0006 0000 01 GNOMONIC PROJECTION 0001 01 POLAR STEREOGRAPHIC PROJECTION 0002 01 LAMBERT'S CONFORMAL CONIC PROJECTION 0003 01 MERCATOR'S PROJECTION 0004 01 SCANNING CONE (RADAR) 0007 01 MISSING VALUE 029002 0004 0000 01 CARTESIAN 0001 01 POLAR 0002 01 OTHER 0007 01 MISSING VALUE 030031 0013 0000 01 PPI 0001 01 COMPOSITE 0002 01 CAPPI 0003 01 VERTICAL SECTION 0004 01 ALPHANUMERIC DATA 0005 01 MAP OF SUBJECT CLUTTER 0006 01 MAP 0007 01 TEST PICTURE 0008 01 COMMENTS 0009 01 MAP OF GROUND OCCULTATION 0010 01 MAP OF RADAR BEAM HEIGHT 0014 01 OTHER 0015 01 MISSING VALUE 030032 0009 0001 01 MAP 0002 01 SATELLITE IR 0003 01 SATELLITE VIS 0004 01 SATELLITE WV 0005 01 SATELLITE MULTISPECTRAL 0006 01 SYNOPTIC OBSERVATIONS 0007 01 FORECAST PARAMETERS 0008 01 LIGHTNING DATA 0015 01 OTHER DATA 031021 0004 0001 01 1 BIT INDICATOR OF QUALITY, 0= GOOD; 1=SUSPECT OR BAD 0002 02 2 BIT INDICATOR OF QUALITY, 0= GOOD; 1= SLIGHTLY SUSPECTED; 2= HIGHLY SUSPECTED; 3=BAD 0007 01 PERCENTAGE CONFIDENCE 0063 01 MISSING VALUE 031031 0001 0001 01 DATA NOT PRESENT 033002 0004 0000 01 DATA NOT SUSPECT 0001 01 DATA SUSPECT 0002 01 RESERVED 0003 01 MISSING VALUE 033003 0005 0000 01 DATA NOT SUSPECT 0001 01 DATA SLIGHTLY SUSPECT 0002 01 DATA HIGHTLY SUSPECT 0003 01 DATA CONSIDERED UNFIT FOR USE 0007 01 MISSING VALUE 033005 0023 0001 01 NO AUTOMATED METEOROLOGICAL DATA CHECKS PERFORMED 0002 01 PRESSURE DATA SUSPECT 0003 01 WIND DATA SUSPECT 0004 01 DRY-BULB TEMPERATURE DATA SUSPECT 0005 01 WET-BULB TEMPERATURE DATA SUSPECT 0006 01 HUMIDITY DATA SUSPECT 0007 01 GROUND TEMPERATURE DATA SUSPECT 0008 01 SOIL TEMPERATURE (DEPTH 1) DATA SUSPECT 0009 01 SOIL TEMPERATURE (DEPTH 2) DATA SUSPECT 0010 01 SOIL TEMPERATURE (DEPTH 3) DATA SUSPECT 0011 01 SOIL TEMPERATURE (DEPTH 4) DATA SUSPECT 0012 01 SOIL TEMPERATURE (DEPTH 5) DATA SUSPECT 0013 01 CLOUD DATA SUSPECT 0014 01 VISIBILITY DATA SUSPECT 0015 01 PRESENT WEATHER DATA SUSPECT 0016 01 LIGHTNING DATA SUSPECT 0017 01 ICE DEPOSIT DATA SUSPECT 0018 01 PRECIPITATION DATA SUSPECT 0019 01 STATE OF GROUND DATA SUSPECT 0020 01 SNOW DATA SUSPECT 0021 01 WATER CONTENT DATA SUSPECT 0022 01 EVAPORATION/EVAPOTRANSPIRATION DATA SUSPECT 0023 01 SUNSHINE DATA SUSPECT 033006 0005 0000 01 SELF-CHECK OK 0001 01 AT LEAST ONE WARNING ACTIVE, NO ALARMS 0002 01 AT LEAST ONE ALARM ACTIVE 0003 01 SENSOR FAILURE 0007 01 MISSING VALUE 033015 0016 0000 01 PASSED ALL CHECKS 0001 01 MISSING-DATA CHECK 0002 01 DESCENDING/REASCENDING BALLOON CHECK 0003 01 DATA PLAUSIBILITY CHECK (ABOVE LIMITS) 0004 01 DATA PLAUSIBILITY CHECK (BELOW LIMITS) 0005 01 SUPERADIABATIC LAPSE RATE CHECK 0006 01 LIMITING ANGLES CHECK 0007 01 ASCENSION RATE CHECK 0008 01 EXCESSIVE CHANGE FROM PREVIOUS FLIGHT 0009 01 BALLOON OVERHEAD CHECK 0010 01 WIND SPEED CHECK 0011 01 WIND DIRECTION CHECK 0012 01 DEPENDENCY CHECK 0013 01 DATA VALID BUT MODIFIED 0014 01 DATA OUTLIER CHECK 0063 01 MISSING DATA 033020 0008 0000 01 GOOD 0001 01 INCONSISTENT 0002 01 DOUBTFUL 0003 01 WRONG 0004 01 NOT CHECKED 0005 01 HAS BEEN CHECKED 0006 01 RESERVED 0007 01 MISSING VALUE 033021 0004 0000 01 WITHIN LIMITS 0001 01 OUTSIDE LIMITS 0002 01 RESERVED 0003 01 MISSING VALUE 033022 0004 0000 01 GOOD (SEVERAL IDENTICAL REPORTS HAVE BEEN RECEIVED) 0001 01 DUBIOUS (NO IDENTICAL REPORT HAVE BEEN RECEIVED) 0002 01 RESERVED 0003 01 MISSING VALUE 033023 0004 0000 01 RELIABLE (LOCATION WAS MADE OVER TWO SATELLITE PASSES) 0001 01 LATEST KNOWN (NO LOCATION OVER CORRESPONDING PASS) 0002 01 DUBIOUS 0003 01 MISSING VALUE 033024 0010 0000 01 RESERVED 0001 01 EXELLENT - WITHIN 3 METRES 0002 01 GOOD - WITHIN 10 METRES 0003 01 FAIR - WITHIN 20 METRES 0004 01 POOR - MORE THAN 20 METRES 0005 01 EXELLENT -WITHIN 10 FEET 0006 01 GOOD WITHIN-30 FEET 0007 01 FAIR WITHIN 60 FEET 0008 01 POOR - MORE THAN 60 FEET 0015 01 MISSING VALUE 033025 0005 0000 01 TIME INTERPOLATED, LATITUDE AND LONGITUDE REPORTED 0001 01 TIME REPORTED, LATITUDE AND LONGITUDE INTERPOLATED 0002 01 TIME, LATITUDE AND LONGITUDE INTERPOLATED 0003 01 TIME, LATITUDE AND LONGITUDE REPORTED 0007 01 MISSING VALUE 033026 0010 0000 01 NORMAL OPERATIONS - MEASUREMENT MODE 0001 01 NORMAL OPERATIONS - NON-MEASUREMENT MODE 0002 01 SMALL RH 0003 01 HUMIDITY ELEMENT IS WET 0004 01 HUMIDITY ELEMENT IS CONTAMINATED 0005 01 HEATER FAIL 0006 01 HEATER FAIL AND WET/CONTAMINATED HUMIDITY ELEMENT 0007 01 SINGLE VALIDITY BAD 0008 01 NUMERIC ERROR 0063 01 MISSING VALUE 033027 0005 0000 01 RADIUS >= 1500 M 0001 01 500 M <= RADIUS < 1500 M 0002 01 250 M <= RADIUS < 500 M 0003 01 RADIUS < 250 M 0007 01 MISSING VALUE 033028 0006 0000 01 RESERVED 0001 01 NOMINAL 0002 01 DEGRADED BY SW ERROR; ANY ERROR REPORTED BY THE ALGORITHMS 0003 01 DEGRADED BY INSTRUMENT ERROR 0004 01 DEGRADED BY CORRUPTED/MISSING ADF 0007 01 MISSING 033030 0007 0001 01 DO NOT USE SCAN FOR PRODUCT GENERATION 0002 01 TIME SEQUENCE ERROR DETECTED WITH THIS SCAN 0003 01 DATA GAP PRECEDES THIS SCAN 0004 01 NO CALIBRATION 0005 01 NO EARTH LOCATION 0006 01 FIRST GOOD TIME FOLLOWING A CLOCK UPDATE 0007 01 INSTRUMENT STATUS CHANGED WITH THIS SCAN 033031 0021 0001 02 TIME FIELD IS BAD BUT CAN PROBABLY BE INFERRED FROM THE PREV IOUS GOOD TIME 0002 02 TIME FIELD IS BAD AND CANÂ~@~YT BE INFERRED FROM THE PREVIOU S GOOD TIME 0003 04 THIS RECORD STARTS A SEQUENCE THAT IS INCONSISTENT WITH PREV IOUS TIMES (I.E. THERE IS A TIME DISCONTINUITY). THIS MAY OR MAY NOT BE ASSOCIATED WITH A SPACECRAFT CLOCK UPDATE (SEE S CAN LINE STATUS FLAGS FOR ATOVS) 0004 02 START OF A SEQUENCE THAT APPARENTLY REPEATS SCAN TIMES THAT HAVE BEEN PREVIOUSLY ACCEPTED 0005 01 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD TIME 0006 03 SCAN LINE WAS CALIBRATED USING FEWER THAN THE PREFERRED NUMB ER OF SCAN LINES BECAUSE OF PROXIMATY TO START OR END OF DAT A OR TO A DATA GAP 0007 02 SCAN LINE WAS NOT CALIBRATED BECAUSE OF BAD OR INSUFFICIENT PRT DATA 0008 01 SCAN LINE WAS CALIBRATED BUT WITH MARGINAL PRT DATA 0009 01 SOME UNCALIBRATED CHANNELS ON THIS SCAN 0010 01 UNCALIBRATED DUE TO INSTRUMENT MODE 0011 02 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR O F SPACE VIEW 0012 02 QUESTIONABLE CALIBRATION BECAUSE OF ANTENNA POSITION ERROR O F BLACK BODY 0013 01 NOT EARTH LOCATED BECAUSE OF BAD TIME 0014 03 EARTH LOCATION QUESTIONABLE BECAUSE OF QUESTIONABLE TIME CODE (SEE TIME PROBLEM CODE BITS) 0015 02 EARTH LOCATION QUESTIONABLE - ONLY MARGINAL AGREEMENT WITH REASONABLENESS CHECK 0016 01 EARTH LOCATION QUESTIONABLE - FAILS REASONABLENESS CHECK 0017 02 EARTH LOCATION QUESTIONABLE BECAUSE OF ANTENNA POSITION CHEC K 0018 01 SCAN LINE CALIBRATION COLD BLACK BODY 0019 01 SCAN LINE CALIBRATION WARM BLACK BODY 0020 01 SCAN LINE CALIBRATION SPACE VIEW 0021 01 EARTH VIEW 033032 0006 0001 01 NO GOOD BLACKBODY COUNTS FOR SCAN LINE 0002 01 NO GOOD SPACE VIEW COUNTS FOR THIS LINE 0003 01 NO GOOD PRTS FOR THIS LINE 0004 01 SOME BAD BLACKBODY VIEW COUNTS FOR THIS LINE 0005 01 SOME BAD SPACE VIEW COUNTS FOR THIS LINE 0006 01 SOME BAD PRT TEMPS ON THIS LINE 033033 0023 0001 01 SET IF SECONDARY CALIBRATION USED 0002 02 BRIGHTNESS TEMPERATURE IN CHANNEL 1 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0003 02 BRIGHTNESS TEMPERATURE IN CHANNEL 2 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0004 02 BRIGHTNESS TEMPERATURE IN CHANNEL 3 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0005 02 BRIGHTNESS TEMPERATURE IN CHANNEL 4 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0006 02 BRIGHTNESS TEMPERATURE IN CHANNEL 5 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0007 02 BRIGHTNESS TEMPERATURE IN CHANNEL 6 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0008 02 BRIGHTNESS TEMPERATURE IN CHANNEL 7 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0009 02 BRIGHTNESS TEMPERATURE IN CHANNEL 8 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0010 02 BRIGHTNESS TEMPERATURE IN CHANNEL 9 IS PHYSICALLY UNREASONAB LE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0011 02 BRIGHTNESS TEMPERATURE IN CHANNEL 10 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0012 02 BRIGHTNESS TEMPERATURE IN CHANNEL 11 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0013 02 BRIGHTNESS TEMPERATURE IN CHANNEL 12 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0014 02 BRIGHTNESS TEMPERATURE IN CHANNEL 13 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0015 02 BRIGHTNESS TEMPERATURE IN CHANNEL 14 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0016 02 BRIGHTNESS TEMPERATURE IN CHANNEL 15 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0017 02 BRIGHTNESS TEMPERATURE IN CHANNEL 16 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0018 02 BRIGHTNESS TEMPERATURE IN CHANNEL 17 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0019 02 BRIGHTNESS TEMPERATURE IN CHANNEL 18 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0020 02 BRIGHTNESS TEMPERATURE IN CHANNEL 19 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0021 02 BRIGHTNESS TEMPERATURE IN CHANNEL 20 IS PHYSICALLY UNREASONA BLE OR HAS NOT BEEN CALCULATED DUE TO CALIBRATION PROBLEMS 0022 01 SET IF ALL CHANNELS ARE MISSING 0023 01 SUSPECT 033035 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PA SSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DE LETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FA ILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE -INSERTED 0006 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND N OT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND MANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033037 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 033038 0009 0001 01 TOTAL ZENITH DELAY QUALITY IS CONSIDERED POOR 0002 01 GALILEO SATELLITES USED 0003 01 GLONASS SATELLITES USED 0004 01 GPS SATELLITES USED 0005 01 METEOROLOGICAL DATA APPLIED 0006 01 ATMOSPHERIC LOADING CORRECTION APPLIED 0007 01 OCEAN TIDE LOADING APPLIED 0008 01 CLIMATE QUALITY DATA PROCESSING 0009 01 NEAR-REAL TIME DATA PROCESSING 033039 0009 0001 01 NON-NOMINAL QUALITY 0002 01 OFFLINE PRODUCT 0003 01 ASCENDING OCCULTATION FLAG 0004 01 EXCESS PHASE PROCESSING NON-NOMINAL 0005 01 BENDING ANGLE PROCESSING NON-NOMINAL 0006 01 REFRACTIVITY PROCESSING NON-NOMINAL 0007 01 METEOROLOGICAL PROCESSING NON-NOMINAL 0014 01 BACKGROUND PROFILE NON-NOMINAL 0015 01 BACKGROUND (I.E. NOT RETRIEVED) PROFILE PRESENT 033041 0004 0000 01 THE FOLLOWING VALUE IS THE TRUE VALUE 0001 02 THE FOLLOWING VALUE IS HIGHER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE LOWER LIMIT OF THE INSTRUMENT) 0002 02 THE FOLLOWING VALUE IS LOWER THAN THE TRUE VALUE (THE MEASUREMENT HIT THE HIGHER LIMIT OF THE INSTRUMENT) 0003 01 MISSING VALUE 033042 0005 0000 01 EXCLUSIVE LOWER LIMIT (>) 0001 01 INCLUSIVE LOWER LIMIT (>=) 0002 01 EXCLUSIVE UPPER LIMIT (<) 0003 01 INCLUSIVE UPPER LIMIT (=<) 0007 01 MISSING VALUE 033043 0004 0001 02 SEA MDS. NADIR ONLY SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED 0002 02 SEA MDS. DUAL VIEW SST RETRIEVAL USED 3.7 MICRON CHANNEL. LAND MDS RESERVED. 0003 01 NADIR VIEW CONTAINS DAY TIME DATA 0004 01 FORWARD VIEW CONTAINS DAY TIME DATA 033044 0014 0001 01 INPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0002 01 INPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0003 01 NUMBER OF INPUT DATA GAPS > THRESHOLD VALUE 0004 01 PERCENTAGE OF MISSING LINES > THRESHOLD VALUE 0005 02 DOPPLER CENTROID UNCERTAIN. CONFIDENCE MEASURE < SPECIFIC VA LUE 0006 02 DOPPLER AMBIGUITY ESTIMATE UNCERTAIN. CONFIDENCE MEASURE < S PECIFIC VALUE 0007 01 OUTPUT DATA MEAN OUTSIDE NOMINAL RANGE FLAG 0008 01 OUTPUT DATA STANDARD DEVIATION OUTSIDE NOMINAL RANGE FLAG 0009 01 CHIRP RECONSTRUCTION FAILED OR IS OF LOW QUALITY FLAG 0010 01 DATA SET MISSING 0011 01 INVALID DOWNLINK PARAMETERS 0012 02 AZIMUTH CUT-OFF ITERATION COUNT. THE AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0013 02 AZIMUTH CUT-OFF FIT DID NOT CONVERGE WITHIN A MINIMUM NUMBER OF ITERATIONS 0014 03 PHASE INFORMATION CONFIDENCE MEASURE. THE IMAGINARY SPECTRAL PEAK IS LESS THAN A MINIMUM THRESHOLD, OR THE ZERO LAG SHIFT IS GREATER THAN A MINIMUM THRESHOLD 033047 0026 0001 01 ERROR DETECTED AND ATTEMPTS TO RECOVER MADE 0002 01 ANOMALY IN ON-BOARD DATA HANDLING (OBDH) VALUE DETECTED 0003 02 ANOMALY IN ULTRA STABLE OSCILLATOR PROCESSING (USOP) VALUE D ETECTED 0004 01 ERRORS DETECTED BY ON-BOARD COMPUTER 0005 01 AUTOMATIC GAIN CONTROL (AGC) OUT OF RANGE 0006 01 RX DELAY FAULT. RX DISTANCE OUT OF RANGE 0007 01 WAVE FORM SAMPLES FAULT IDENTIFIER. ERROR 0012 01 BRIGHTNESS TEMPERATURE (CHANNEL 1) OUT OF RANGE 0013 01 BRIGHTNESS TEMPERATURE (CHANNEL 2) OUT OF RANGE 0014 01 RESERVED 0015 01 KU OCEAN RETRACKING ERROR 0016 01 S OCEAN RETRACKING ERROR 0017 01 KU ICE 1 RETRACKING ERROR 0018 01 S ICE 1 RETRACKING ERROR 0019 01 KU ICE 2 RETRACKING ERROR 0020 01 S ICE 2 RETRACKING ERROR 0021 01 KU SEA ICE RETRACKING ERROR 0022 01 ARITHMETIC FAULT ERROR 0023 01 METEO DATA STATE. NO MAP 0024 01 METEO DATA STATE. 1 MAP 0025 01 METEO DATA STATE 2 MAPS DEGRADED 0026 01 METEO DATA STATE 2 MAPS NOMINAL 0027 01 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, SEVERAL ERRORS 0028 02 ORBIT PROPAGATOR STATUS FOR PROPAGATION MODE, WARNING DETECT ED 0029 02 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, SEVERAL ERR ORS 0030 02 ORBIT PROPAGATOR STATUS FOR INITIALISATION MODE, WARNING DET ECTED 033048 0004 0000 01 INVERSION SUCCESSFUL 0001 01 INVERSION NOT SUCCESSFUL 0002 01 RESERVED 0003 01 MISSING VALUE 033049 0004 0000 01 EXTERNAL WIND DIRECTION USED DURING INVERSION 0001 01 EXTERNAL WIND DIRECTION NOT USED DURING INVERSION 0002 01 RESERVED 0003 01 MISSING VALUE 033050 0008 0000 01 UNQUALIFIED 0001 01 CORRECT VALUE (ALL CHECKS PASSED) 0002 02 PROBABLY GOOD BUT VALUE INCONSISTENT WITH STATISTICS (DIFFER FROM CLIMATOLOGY) 0003 01 PROBABLY BAD (SPIKE, GRADIENT, Â~E IF OTHER TESTS PASSED) 0004 02 BAD VALUE, IMPOSSIBLE VALUE (OUT OF SCALE, VERTICAL INSTABILITY, CONSTANT PROFILE) 0005 01 VALUE MODIFIED DURING QUALITY CONTROL 0008 01 INTERPOLATED VALUE 0015 01 MISSING VALUE 033052 0020 0001 01 DATA BLOCK 1 INVALID (S BAND) 0002 01 DATA BLOCK 2 INVALID (S BAND) 0003 01 DATA BLOCK 3 INVALID (S BAND) 0004 01 DATA BLOCK 4 INVALID (S BAND) 0005 01 DATA BLOCK 5 INVALID (S BAND) 0006 01 DATA BLOCK 6 INVALID (S BAND) 0007 01 DATA BLOCK 7 INVALID (S BAND) 0008 01 DATA BLOCK 8 INVALID (S BAND) 0009 01 DATA BLOCK 9 INVALID (S BAND) 0010 01 DATA BLOCK 10 INVALID (S BAND) 0011 01 DATA BLOCK 11 INVALID (S BAND) 0012 01 DATA BLOCK 12 INVALID (S BAND) 0013 01 DATA BLOCK 13 INVALID (S BAND) 0014 01 DATA BLOCK 14 INVALID (S BAND) 0015 01 DATA BLOCK 15 INVALID (S BAND) 0016 01 DATA BLOCK 16 INVALID (S BAND) 0017 01 DATA BLOCK 17 INVALID (S BAND) 0018 01 DATA BLOCK 18 INVALID (S BAND) 0019 01 DATA BLOCK 19 INVALID (S BAND) 0020 01 DATA BLOCK 20 INVALID (S BAND) 033053 0020 0001 01 DATA BLOCK 1 INVALID (KU BAND) 0002 01 DATA BLOCK 2 INVALID (KU BAND) 0003 01 DATA BLOCK 3 INVALID (KU BAND) 0004 01 DATA BLOCK 4 INVALID (KU BAND) 0005 01 DATA BLOCK 5 INVALID (KU BAND) 0006 01 DATA BLOCK 6 INVALID (KU BAND) 0007 01 DATA BLOCK 7 INVALID (KU BAND) 0008 01 DATA BLOCK 8 INVALID (KU BAND) 0009 01 DATA BLOCK 9 INVALID (KU BAND) 0010 01 DATA BLOCK 10 INVALID (KU BAND) 0011 01 DATA BLOCK 11 INVALID (KU BAND) 0012 01 DATA BLOCK 12 INVALID (KU BAND) 0013 01 DATA BLOCK 13 INVALID (KU BAND) 0014 01 DATA BLOCK 14 INVALID (KU BAND) 0015 01 DATA BLOCK 15 INVALID (KU BAND) 0016 01 DATA BLOCK 16 INVALID (KU BAND) 0017 01 DATA BLOCK 17 INVALID (KU BAND) 0018 01 DATA BLOCK 18 INVALID (KU BAND) 0019 01 DATA BLOCK 19 INVALID (KU BAND) 0020 01 DATA BLOCK 20 INVALID (KU BAND) 033060 0004 0000 01 PARAMETER=GOOD 0001 01 PARAMETER=BAD 0002 01 PARAMETER=RESERVED 0003 01 MISSING 033195 0004 0000 01 DEALIASING NOT USED 0001 01 DEALIASING USED 0002 01 RESERVED 0003 01 MISSING 033205 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033206 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033207 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033208 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033209 0016 0000 01 DATUM CORRECT 0001 01 DATUM PROBABLY CORRECT 0002 01 DATUM PROBABLY INCORRECT 0003 01 DATUM INCORRECT 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 MISSING VALUE 033220 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 REPORT REJECTED THROUGH THE NAMELIST 0017 01 MODEL SUR. TOO FAR FROM STAT. ALT. 0018 01 MISSING STATION ALTITUDE 0019 01 REPORT OVER SEA 0020 01 REPORT OVER LAND 0021 01 REDUNDANT REPORT 0022 01 TIME OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 HORIZONTAL POSITION OUT OF RANGE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 BAD REPORTING PRACTICE 0029 01 ALL DATA REJECTED 0030 01 NO DATA IN THE REPORT 033221 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033222 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033223 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033224 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033225 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033226 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033227 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033228 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033229 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 THINNED REPORT 033230 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033232 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 BLACKLISTED DUE TO DISTANCE FROM REF. POINT 0015 01 BLACKLISTED DUE TO MODEL OROGRAPHY 0016 01 BLACKLISTED DUE TO LAND/SEA MASK 0017 01 STATION ALTITUDE BLACKLISTED 0018 01 LONGITUDE BLACKLISTED 0019 01 LATITUDE BLACKLISTED 0020 01 TIME BLACKLISTED 0021 01 DATE BLACKLISTED 0022 01 INSTRUMENT TYPE BLACKLISTED 0023 01 CODE TYPE BLACKLISTED 0024 01 STATION ID BLACKLISTED 0025 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0026 01 BLACKLISTED DUE TO OBSERVED VALUE 0027 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE NAME BLACKLISTED 0030 01 MONTHLY MONITORING 033233 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 REPORT BLACK LISTED 0028 01 REPORT REJECTED 0029 01 REPORT PASSIVE 0030 01 REPORT ACTIVE 033234 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 DATUM BLACK LISTED 0028 01 DATUM REJECTED 0029 01 DATUM PASSIVE 0030 01 DATUM ACTIVE 033236 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 DATUM REJECTED DUE TO REJECTED REPORT 0006 01 COMBINED FLAGGING 0007 01 DATUM REJECTED DUE TO NAMELIST 0008 01 VERTICAL COORDINATE CHANGE FROM Z TO P 0009 01 VERTICAL CONSISTENCY CHECK 0010 01 LEVEL SELECTION 0011 01 MULTI LEVEL CHECK 0012 01 TOO MANY SURFACE DATA/LEVELS 0013 01 DUPLICATED DATUM/LEVEL 0014 01 NOT AN ANALYSIS VARIABLE 0015 01 REPORT OVER SEA 0016 01 REPORT OVER LAND 0017 01 REDUNDANT LEVEL 0018 01 REDUNDANT DATUM 0019 01 TOO BIG OBSERVATION ERROR 0020 01 TOO BIG DEPARTURE IN ASSIMILATION 0021 01 TOO BIG FIRST GUESS DEPARTURE 0022 01 REFERENCE LEVEL POSITION OUT OF RANGE 0023 01 VERTICAL POSITION OUT OF RANGE 0024 01 BAD REPORTING PRACTICE 0025 01 ACTIVATED BY WHITELIST 0026 01 ACTIVATED DUE TO RDB FLAG 0027 01 REJECTED DUE TO RDB FLAG 0028 01 MISSING FIRST GUESS VALUE 0029 01 MISSING OBSERVED VALUE 0030 01 MISSING VERTICAL COORDINATE 033237 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033238 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033239 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033240 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033243 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033244 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033245 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 LAYER FORMED BY SUMMING UP 0029 01 LAYER FORMED BY THINNING UP 0030 01 NOT PREDEFINED LAYER 033246 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033247 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033248 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 NOT DEFINED 0025 01 NOT DEFINED 0026 01 NOT DEFINED 0027 01 NOT DEFINED 0028 01 NOT DEFINED 0029 01 NOT DEFINED 0030 01 NOT DEFINED 033249 0030 0001 01 NOT DEFINED 0002 01 NOT DEFINED 0003 01 NOT DEFINED 0004 01 NOT DEFINED 0005 01 NOT DEFINED 0006 01 NOT DEFINED 0007 01 NOT DEFINED 0008 01 NOT DEFINED 0009 01 NOT DEFINED 0010 01 NOT DEFINED 0011 01 NOT DEFINED 0012 01 NOT DEFINED 0013 01 NOT DEFINED 0014 01 NOT DEFINED 0015 01 NOT DEFINED 0016 01 NOT DEFINED 0017 01 NOT DEFINED 0018 01 NOT DEFINED 0019 01 NOT DEFINED 0020 01 NOT DEFINED 0021 01 NOT DEFINED 0022 01 NOT DEFINED 0023 01 NOT DEFINED 0024 01 BLACKLISTED DUE TO FIRST GUESS DEPARTURE 0025 01 BLACKLISTED DUE TO OBSERVED VALUE 0026 01 BLACKLISTED DUE TO TYPE OF VERTICAL COORDINATE 0027 01 BLACKLISTED DUE TO DISTANCE FROM REFERENCE POINT 0028 01 BLACKLISTED DUE TO PRESSURE CODE 0029 01 VARIABLE BLACKLISTED 0030 01 PRESSURE BLACKLISTED 033252 0010 0000 01 AUTOMATIC QUALITY CONTROL PASSED AND NOT MANUALLY CHECKED 0001 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND PA SSED 0002 02 AUTOMATIC QUALITY CONTROL PASSED AND MANUALLY CHECKED AND DE LETED 0003 01 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY NOT CHECKED 0004 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND FA ILED 0005 02 AUTOMATIC QUALITY CONTROL FAILED AND MANUALLY CHECKED AND RE -INSERTED 0006 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND N OT MANUALLY CHECCKED 0007 02 AUTOMATIC QUALITY CONTROL FLAGGED DATA AS QUESTIONABLE AND M ANUALLY CHECKED AND FAILED 0008 01 MANUALLY CHECKED AND FAILED 0015 01 MISSING VALUE 033254 0019 0001 01 U DEPARTURE FROM GUESS 0002 01 V DEPARTURE FROM GUESS 0003 01 U & V DEPARTURE FROM GUESS 0004 01 U ACCELERATION 0005 01 V ACCELERATION 0006 01 U & V ACCELERATION 0007 01 POSSIBLE LAND FEATURE 0008 01 U ACCELERATION AND POSSIBLE LAND FEATURE 0009 01 V ACCELERATION AND POSSIBLE LAND FEATURE 0010 01 U & V ACCELERATION AND POSSIBLE LAND FEATURE 0011 01 BAD WIND GUESS 0012 01 CORRELATION FAILURE 0013 01 SEARCH BOX OFF EDGE OF AREA 0014 01 TARGET BOX OFF EDGE OF AREA 0015 01 PIXEL BRIGHTNESS OUT OF BOUNDS (NOISY LINE) 0016 01 TARGET OUTSIDE OF LAT/LONG BOX 0017 01 TARGET OUTSIDE OF PRESSURE MIN/MAX 0018 01 AUTOEDITOR FLAGGED SLOW VECTOR 0019 01 AUTOEDITOR FLAGGED VECTORS 035000 0011 0011 01 000-099 INTERNATIONAL FM CODES 0001 01 100-199 RA I CODES 0002 01 200-299 RA II CODES 0003 01 300-399 RA III CODES 0004 01 400-499 RA IV CODES 0005 01 500-599 RA V CODES 0006 01 600-699 RA VI CODES 0007 01 700-799 ANTARCTIC CODES 0008 01 800-999 RESERVED 0009 01 1000-1022 NOT USED 1023 01 MISSING VALUE 035001 0004 0000 01 REAL TIME 0001 01 NEAR-REAL TIME 0002 01 NON-REAL TIME 0007 01 MISSING VALUE 035030 0010 0000 01 NO DISCREPANCIES 0001 02 NON-COMPLIANCE WITH STANDARD AND RECOMMENDED PRACTICES AND PROCEDURES INCLUDINGTHOSE OF MONITORING 0002 02 CATALOGUES OF METEOROLOGICAL BULLETINS NOT UPDATED IN A TIME LY MANNER 0003 01 INCORRECT ROUTEING DIRECTORIES 0004 01 LACK OF FLEXIBILITY IN THE ROUTEING ARRANGEMENTS 0005 01 DEFICIENCIES IN THE OPERATION OF GTS CENTRES AND CIRCUITS 0006 01 LOSS OF DATA OR DELAYS IN RELAYING DATA ON THE GTS 0007 02 ROUTEING OF DATA DIFFERENT FROM THE ROUTEING PROVIDED IN THE PLAN 0008 01 VARIOUS MALPRACTICES 0015 01 MISSING VALUE 035031 0020 0001 01 SUFFICIENT AND ALL OF ACCEPTABLE QUALITY 0002 01 SUFFICIENT BUT PARTLY OF ACCEPTABLE QUALITY 0003 01 INSUFFICIENT BUT ALL OF ACCEPTABLE QUALITY 0004 01 INSUFFICIENT AND OF UNACCEPTABLE QUALITY 0005 01 SOME MESSAGES NOT COMPLETE 0006 02 SUSPECT OR WRONGLY CODED GROUPS COULD NOT BE INTERPRETED CON FIDENTLY 0007 01 GROSS CODING ERRORS 0008 01 TRANSMISSION SEQUENTIAL ORDER NOT OBSERVED 0009 01 REPORT COMPLETELY GARBLED AND THUS DISCARDED 0010 01 DEFICIENCIES IDENTIFIED AND RECTIFIED 0011 01 DEFICIENCIES IDENTIFIED BUT NOT RECTIFIED 0012 01 DEFICIENCIES NOT IDENTIFIED 0013 01 MEASURING ERRORS 0014 01 MUTUAL INCONSISTENCY 0015 01 TEMPORAL INCONSISTENCY 0016 01 FORECAST ERROR 0017 01 BIAS 0018 01 IMPROVE SYSTEM OF QUALITY CONTROL 0019 01 EXPAND TRAINING PROGRAMMES 0123 01 MISSING VALUE 035032 0010 0001 01 DATA GROUPS MISSING DUE TO RADIO FADING 0002 01 DATA GROUPS MISSING DUE TO OUTAGE OF CENTRE 0003 01 DATA GROUPS MISSING DUE TO OUTAGE OF CIRCUIT 0004 01 NON-IMPLEMENTATION OR MAINTENANCE OF REQUIRED RBSN DENSITY 0005 01 SHORTAGE OF QUALIFIED STAFF TO MAN STATIONS 0006 01 LACK OF CONSUMABLES 0007 01 INSTRUMENT FAILURE 0008 01 NON-ADHERENCE TO TELECOMMUNICATION PROCEDURES 0009 01 SOME OBSERVING PROGRAMMES CEASED 0015 01 MISSING VALUE 035033 0012 0001 01 NO DEFICIENCY 0002 01 OBSERVATIONS NOT MADE REGULARLY 0003 01 OBSERVATIONS NOT MADE AT RIGHT TIME 0004 01 OBSERVATIONS MADE BUT NOT DISSEMINATED 0005 01 OBSERVATIONS MADE AND SENT TO INCORRECT USERS 0006 01 COLLECTION NOT RECEIVED 0007 01 COLLECTION TRANSMITTED LATE 0008 01 COLLECTION NOT TRANSMITTED 0009 02 DIFFICULTIES IN HF PROPAGATION AND SELECTION OF SUITABLE FRE QUENCY 0010 02 DIFFICULTIES IN MAINTENANCE OF COMMUNICATION EQUIPMENT AT RE MOTE STATIONS 0011 02 NO ALTERNATIVE ARRANGEMENT FOR ROUTEING METEOROLOGICAL OBSER VATION 0123 01 MISSING VALUE 035034 0007 0001 01 SLIGHT IMPROVEMENT 0002 01 SIGNIFICANT IMPROVEMENT 0003 01 MOST SIGNIFICANT IMPROVEMENT 0004 01 STEADY 0005 01 DECREASING 0006 01 EFFORTS REQUIRED TO IMPROVE NIGHT-TIME OBSERVATIONS 0007 01 MISSING VALUE 033035 0016 0000 01 RESERVED 0001 01 BALLOON BURST 0002 01 BALLOON FORCED DOWN BY ICING 0003 01 LEAKING OR FLOATING BALLOON 0004 01 WEAK OR FADING SIGNAL 0005 01 BATTERY FAILURE 0006 01 GROUND EQUIPMENT FAILURE 0007 01 SIGNAL INTERFERENCE 0008 01 RADIOSONDE FAILURE 0009 01 EXCESSIVE MISSING DATA FRAMES 0010 01 RESERVED 0011 01 EXCESSIVE MISSING TEMPERATURE 0012 01 EXCESSIVE MISSING PRESSURE 0013 01 USER TERMINATED 0030 01 OTHER 0031 01 MISSING VALUE 040011 0004 0001 01 MEAN SEA SURFACE (MSS) INTERPOLATION FLAG 0002 02 OCEAN TIDE SOLUTION 1 INTERPOLATION FLAG (0= 4 POINTS OVER O CEAN, 1=LESS THAN 4 POINTS) 0003 02 OCEAN TIDE SOLUTION 2 INTERPOLATION FLAG (0= 4 POINTS OVER O CEAN, 1=LESS THAN 4 POINTS) 0004 02 METEOROLOGICAL DATA INTERPOLATION FLAG (0= 4 POINTS OVER OCE AN, 1=LESS THAN 4 POINTS) 040012 0003 0001 01 18.7 GHZ BRIGHTNESS TEMPERATURE 0002 01 23.8 GHZ BRIGHTNESS TEMPERATURE 0003 01 34 GHZ BRIGHTNESS TEMPERATURE 040013 0005 0000 01 INTERPOLATION WITH NO GAP BETWEEN JMR DATA 0001 01 INTERPOLATION WITH GAP BETWEEN JMR DATA 0002 01 EXTRAOLATION OF JMR DATA 0003 01 FAILURE OF EXTRAPOLATION AND INTERPOLATION 0007 01 MISSING VALUE 049194 0014 0001 01 PASSED QUALITY CONTROL 0002 01 OUTSIDE TIME WINDOW 0003 01 ABOVE LAND 0004 01 OUTSIDE ENTIRE GRID 0005 01 WAVE HEIGHT OUT OF RANGE 0006 01 TOO HIGH ALONG TRACK JUMP 0007 01 TOO SHORT ALONG TRACK JUMP 0008 01 TOO HIGH ALONG TRACK VARIANCE 0009 01 OUTSIDE CONFIDENCE LIMIT 0010 01 DOUBLE OBSERVATION 0011 01 PEAKINESS ABOVE THRESHOLD 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED 049193 0014 0001 01 EXELLENT (COST LESS THAN 0.1) 0002 01 GOOD (COST LESS THAN 0.5) 0003 01 QUESTIONABLE (COST LARGER THAN 0.5) 0004 01 RESULTS UNTABLE 0005 01 OBSERVED SAR SPECTRUM REJECTED 0006 01 WAM FIRST GUESS REJECTED 0007 01 SIMULATED SAR REJECTED 0008 01 NO AZIMUTH CUT-OFF ADJUSTMENT 0009 01 RESERVED 0010 01 RESERVED 0011 01 RESERVED 0012 01 RESERVED 0013 01 RESERVED 0014 01 RESERVED emoslib-000392+dfsg.1/data/0000755000175000017500000000000012127406245016367 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/data/satob.crex0000755000175000017500000000077012127406245020371 0ustar amckinstryamckinstryCREX++ T000103 A005 D01043 D04001++ 0254 01 2003 12 21 23 00 00 3990000 -08950000 02 02600 -495 285 0267+ 0254 01 2003 12 21 23 00 00 3990000 -08950000 02 02600 -495 280 0267+ 0254 01 2003 12 21 23 00 00 3960000 -08890000 02 03100 -395 285 0216+ 0254 01 2003 12 21 23 00 00 3980000 -08790000 02 02800 -473 285 0231+ 0254 01 2003 12 21 23 00 00 3850000 -08960000 02 02600 -511 290 0236+ 0254 01 2003 12 21 23 00 00 3830000 -08970000 02 02200 -519 290 0241++ 7777 emoslib-000392+dfsg.1/data/acar.crex0000755000175000017500000000055712127406245020172 0ustar amckinstryamckinstryCREX++ T000103 A004 B01006 B01008 B02061 B02062 B02002 B02005 B02070 B02063 B02001 B04001 B04002 B04003 B04004 B04005 B05002 B06002 B08004 B07004 B08021 B11001 B11002 B11031 B11034 B11035 B12001 B12003 B13003 B20041++ 00001008 JEWEITRA / 03 04 025 10 ///// 0 2003 12 21 21 01 3400 -08501 / 06318 // 296 0093 // //// ///// -035 /// /// //++ 7777 emoslib-000392+dfsg.1/data/airep.bufr0000755000175000017500000067737612127406245020404 0ustar amckinstryamckinstryBUFR ôb€Ž4Ž}EP`€ü‚+iH‡1`s40% ô²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ð!U0ÌØÐ€U0ÐØä€U0ÐØØ€U0ÔÀÔ€U0ÄÀÈÜU0ÔÀà€U0ÐØä€U0ÄÀàØU0ÄÀàØU0ÜØÄ€U0ÄÈÔÌU0ÄÄäØU0ÜÄÀ€U0ÜÄÀ€0ÈàЀU0ÄÀØä0ÈàÔ€ AÄÌÀÈ9 ÀàÈ€5A àÈÀ€U0àÈäÀ M,ÄÐÔ€U0àÈäÀU0ÌÈà€U0ÄÈàÔU0àÈÄä1 àÈàÈ-14ØÐЀU0ÄÈäÀU0ÄÈäÀU0ÐØä€U0ØÔ€€U0ØÔ€€U0ØÔ€€Eà€€€U0ÐÌЀU0ÔØ€€ƒ€ú€( 0À $’’m¹$–‚0,²ËM5¶Ûmºª¢½÷àóÏ€5$r¢¥m)ñRÎÈ«¼•†©B„N<\ ëR+8¶¿ðNîÜŠ¤#åt#åtŒP6>5 ÔNh Ø4 äX\â±üܶ¼·¶²®¹ªÿ †‡VkS@a»ˆõîb,G G"ðû„~áoàk-€!©0Û ¶;€5øi4jå‚Ù¬àÿãÐ9 ~œk€I§x¨è— T€¶k8-šÎŸY). GùÈ`ô4G ‚ ÓxÎN(¡ž)nÅØ¢WÜû–ãULJ}¬7An…¼Iv/=÷;Ü—ä2%ÄÕ·HV[CUl=D˜PSáÈ¡àdÀ¡‘ƒ˜´-+,ªø¡à#ˆU2Á®„gY| ’ÆIL0(Ãh³q˜TM’î”8ÞR' -•#…[iÚÆh7ÜÇ[%šüs<(”a¹i@´9Œ„bÓr€_ZFãq¤¾#H#Àʼú  á@ðÉhFxÿàÿàÄ€Œ`#ÀF0³”§9Îsœ¦` NR˜8Îsœ'(ÂÎRœç9Îr˜ €9J`ã9Îpœ£<ÀF0€Œ`#Ä €@ € € € €@m¶Û`Û`0Û`6Ûa° ¬hºЭ þð×$oK HÄ>kaŠÂ¾@œCø.€þ%Ì Úë¼uœ:>`‘?©Äo vg°Ä à–Cøµ hÄeÈ¥G¨·c­{ØÉ£ÆÈù–,#©G9äÖÁ|ÍJÜ;=îÄœ“<Öt_?›io³‹Å\³¢‡h J¤ˆ‹7”*ŠÉF˜l-IYÂãÿÿÀ‡"‡€Q„`FFbд¬²«à‡€PŒ TÈ#¸Feðx.KF$@Äx@xà @!à€1„€Ä€ Àà` €€Cÿÿÿø@@@@@@@@@€@@@€@@@€@         @  @   @ ÿÿÿð8€€€€€€€€€€€€ @!ÿÿÿü ?ÿÿÿ€ Šˆ0?ÿÿÿ€ÿÿÿ @!ÿÿÿüB˜Æ1ŒcÆ1ŒcÀ¬cÀŒcÀ1€ cÆ1ŒcÆ1Œk±Œc1ŒcÆÿÿÿþ!LcÆ1Œ`±­`À1Œ`Æ1Œ`À @ ÿÿà@¿ÿÿÿÿÿÿÿÿÿÿøÿÿÿøýÿÿÿûðÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿ¿ÿÿÿoÿÿÿàqÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŠáòÿÿÿÿÿÿÿ…éÿü·ÿÿÿÿÿÿÿ6ÿÿÿÿÿÿÿÿÿÿÿ€…ÿÿÿüˆ?ÿ@ôÿðôˆ#ÿð :ŠGd’8R ‡"‘ÆäY$Ž T…H‡ÿÿÀÀÀ$1‚ þC‘Hãr,’G*B¤ÃÐäR8Ü€ $‘Ä ©°ÿÿø¢@ €D€ @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü ˆ<Ö´ ÂdÈ=ÍrÆ…¶)\1$€Pª£ÔöQðZÊs¶N¬™'Ðçm`×Q  oÿÿD 04@tD!#333 "! @€ÿà?ˆAr€hY [ÊzÁ*!êPò ©¡AJbÒ‘º*8Rᚊ°¬[óû#¦1 „€‹ˆŽ( ŒË!JíË¡r²wa,h•3:Éÿÿ€þ™äÓp–&¾¢Ç>’Ô¸•l^7k^…”b@ÿð?ÿÿð?ÿþÿÀb@ÒÿðÄ ¹@4,Ð-å=`•õ(yÔЈ ¥1i ÈÝ) ðÍEXV-ùý‘Ó„ @EÄGN”PFe¥våйHY;„0–4J™d‡ÿÿÀ@̈ri¸K“_Q@㎟Ij@ÜJ¶ ¯µ¯BÊ1‚ êÿøÿÿøÿÿÿà1‚ çÿøçÿÿÿÿÿÿÿÿÿÿÿÿÿøGÿÿÿÿ÷ÿÿÿÿäûûƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþù7ÿÿÿÿþÌÿÿÿÿÿ ÿÿÿÿ€þ¿ÿÿÿÿÿÿþ¯[ÿÿþ’ÿ‡ÿÿüÿÿÿýÿÿb@ÿð?ÿÿð?ÿþÿÀb@ÒÿðÐÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿçÿÿÿÿÈÿ÷÷GÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÊ/ÿÿÿÿýÐÿÿÿÿþÿÿÿÿý#ÿÿÿÿÿÿý]&Ÿÿÿýÿÿø ÿÿÿûÿþÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?š7ÿÿÿÿÿÿÿÿÿÿÿÿÿ×?ÿÿÿÿÌÿÿÿÿÿïïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû„ßÿÿÿÿû°ÿÿÿÿüÿÿÿþú†ÿÿÿÿÿÿÿúyM_ÿÿù‰ýÿÿÿðÿÿÿÿöÿüˆ!H8ÿÀ uN—(*\ykâB˜µ¦f+˜,¥z WïÕ†æ ÇàØþÐèŽ7ZÑaÆŠš¬h;bç‰;T|ó)ß=˜ªL¿n‡ÿÿà?¬eCQZ!FÉ£ua– ƒ^MsUtÔˆúÚlô€7777BUFR ¼b€Ž4Ž}EPb€݈@U.¤}âu‡ä€% ¼²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ¸!U0ØÔÄ€U0äØÐ€U0äØÐ€U0ØÔÄ€U0ÄÈÈäU0ØÔÄ€U0ÌØÐ€U0ÌÔÈ€U0ÄØØÀU0ÜÄØ€U0ÄØØÀU0ÐØÄ€U0ÐØä€U0ÄÀÐÈU0ÌÈÔ€U0ÄÀàØU0ÐÀä€U0ÐÀä€U0ÄÄÀÌU0ÄÄÀÌU0ÐØØ€U0ÐØØ€U0ÈÔØ€U0ÈÈЀU0ÐØä€U0ÈÈЀ% ÜàÌ€% ÜàÌ€HØÌÌ€5A ÀØà€)hàÌ€€)0ØÐÀ€U0ÜÔЀU0ÜÔЀA0ÄÀÔ€U0ÔØ€€U0ÐÌЀƒ€ú€( 0À $’’m¶ä–„0a†,´ÓM·¾ûïÃn®YfüdÛŒÓdÓJ¥Ô…˶ µ%j ]C OG&}Ž•hÜD ½¸GqdÈ2q „ܲ 'TFØu•ìÑâÎÅÂg Ò¦ 'T'VPe{à¯Á§•—·èj"p&% $¦ÐûwFìBÈÕ`ütt~:"Ï¿§‘ùÇÆæŒÁó8óyöœ»Ÿ>c¯‡òŒåÁΗÖäÊQq£ëøÙ)¼l7;÷ ‹ŒuËAXæSbqª¢¸Ñ áöo)øµQèL\”+}Ê}õ¼ðÕaAè-к¢SÑbK’tO¸Õ‹CÑ c±…r–Rš³Ðä•ìh†‚Š *b#!¹ ˆÌÐðéˆFfà "ø‚s)Fà‹@(( f¸Èfày.æaÖÑjE!DSÉ9‚§”* äsF€@lŠõzÄß@ ´NåBˆ x<(åðd/“`)6dy€¡^U ¢¨È @ñrK‚P¯ ÈÒoÿüÿð<€0€Œ`#ÀF`gÎN”ãRsœç9ÌS§Y€œg9:SŒeIÎsœç0L Lœ`'ÀF0€Œ`€@rI$I$’I$’ Aí¶Ûa¶Ûm¶Ûll6bìM)mgA@Њ5 ™gù bÆáEì2Á¡`›p‚f2 4Q¯Á+p„,!aņ„|{pˆ(…`c¿X¢äB 4­O&•¸[PðiÀˆdeXóLÖ;ZVV€¾"/p0@‹eMä!ˆb$=O‰j_£çÚUæ"MžÇi2Z&É€øNÈT$GÑ|”%A"l®?ÿþ4PQS ÌFf‡€x×LB0xÃ7PiÄ™J7ZA@dë5ÆC4 €ðÀ€BÀb<ˆ <ð €ð0 ÄÿÿÿÀà    @        @@@ p    ?ÿÿÿ€À@@@@€@@@@@@@@€€@@b ÿÿÿà Aÿÿÿü @!ÿÿÿüÿÿÿøb ÿÿÿàÆ1ŒcÀ1ŒcÆ1ŒcÆÆ±ŒSÆ1ŒcÆ1ŒcÆ1ŒcÆ7ÿÿÿð cÆ1Œ`Æ1ŒcÆ1Œc¬cÆbÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿþ°0ÿÿÿÿà?ÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿõ€ÿÿÿÿÿÿð¸¿ÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÀ7ÿÿà @ ÿøú ÿ€  @ ÿÐØ2G q’HB’KJŽ@t6 ‘ÈFD¤’¤’Ò£Ÿÿþ(€ˆ!ÿð :Hä#"RIRIiQȆÁ’9ˆÈ”’B’ZTsÿÿÀÀÁ@€1‚@þÿÀÿøÿþÿ€Äÿøÿÿàÿøþ @ÿà@(XR“Øæ²aŸ5¬c‚)ñ[i52 dÅ™G½)`Õ–1k´© $`öEíd$„ÿÿø H°A€²›d’,m”\D @€ÿà?¶<Fa¼hÕPFàGM:Ædƒˆ ‰Úì.<ʃø¡4~¨…Vcõ†µV $ùeäÒ³4Tg7T3ÑT&5UuyT$ù%¿ÿÿ€þÁ—Tøp•t³a„IUÖA`ÕhÒUËQvb@ÿð?ÿÿð?ÿþÿÀb@ÒÿðÛ #0Þ4j¨£p£¦c2AÄDí öeAüPš?TB‹«1úÃZ«’|ƒ²òiYš*3›ªèª ªº¼ª|’ƒ_ÿÿÀ`˪| 8Jˆ:YưÂ$ªë °j´i*åǨ» 1‚ êÿøÿÿøÿÿÿà1‚ çÿøÿ‹ÿÿÿÿÿóÿÿÿÿÿÿÿÿÿ®¯«ÿÿÿ~¸ÿÿÿÿÿÿÿÿôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðäµTˆßÿÿÿÿÿÿÿ€þñÿÿÿÿþÿÿÿÿÿÿÿÿÿÿðRqÿÿùà @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþ‚ÿÿÿÿÿüÿÿÿÿÿÿÿÿÿè’´ÿÿß­#ÿÿÿÿÿÿÿÿý?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüñ9Uÿÿÿÿÿÿÿà?¸_ÿÿÿÿÿËÿÿÿÿÿÿÿÿÿü¤¿ÿþŸø B > ?ÿÿøÿÿÿð?þ B >p?ÿ0¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿûjßÿÿ÷í‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüsàûÿÿÿÿÿÿÿýâÿÿÿÿÿþ_ÿÿÿÿÿÿÿÿÿथÿÿòÿÀ€AóÿüõÇpIÅI, ¹4°¨)¤H¨X$XÊF¥ÜF Ù½LZ»âïÜ#Mç²åBwÚ'|¡)võÎ ®Žwp¦¾ðö7X’ÿþûIS]QâÒ)@%6AEPäÄE`×YF/A%[H7777BUFR †b€Ž4Ž}EP`€“à&šÐ…\ m°% †²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ‚!U0ÄÄäØU0ÌÜà€U0ÐÀä€U0äØÐ€U0ÄÀàØU0ÄÄÈÐU0ÜÀØ€U0ÜØÄ€U0ÄÄäØU0ÄÀàØU0ÜØÄ€U0ÄÄäØU0ÄÈàÔU0ÄÈÈäU0ÐØä€U0ÌÔÈ€U0ÄÀØäU0ÌÜà€U0ÄÈÈäU0ÔÀÔ€=4ÜÄÔ€Eà€€€9hÄÌØ€U0ÔÄä€U0ÄÈàÔU0ÄÈÔÌU0ÄÀÀàU0ÜÔЀU0ÄÀÀàU0ÔÄä€U0ÄàÀ€U0ÈÈЀUALØÜÈàUALØÜÀÐU0ÐØä€=àÀÜ€0ÈÔØ€ƒ€ú€( 0À’I$¢’m¸ä–‚0m¶ÛŽ:!AjÔªªËsMóäÓZqò«zù"Â*‰ªr‚¹„¶Ô¸«Ø|øÒÄ hà“J;ªr5B!ägXå|­° qª8œ!'Næpdj÷ !.$‘V €P"| !¸Ð†à#?p',$ø‡´i  XÞæÞYHò˜ iÆ |²î€]×p!=ÄÆ4ÆàDø@ c°)F@`«p‘#…è¾™77àG°jlÐî@V» ÏØ )$ @Má€-p92)o=ر€·¸zc=Œ)ðÝq1D«pzo d+Ð[±€§Áë®…o=ÉØVìaP¢XŒA.C!»â0–Z5# P‡cšŠ„§`n Š/©äbŠ ‚€Èx±‰bXL¥àÚyÇ&é64¿w5xƒ)ô¹ß-æ;°Æðx½À-×Îæ}ÊP”dŠ0(ÃqAÌPdFæ@ðŒ ‚ ‹AÉ(2¥•å@d¾_xÿàÿàÄ€Œ`#ÀF0²œÁ8Ês”ç)ºs”æ ÊsœÁ'Ê`ÀÂÊsã)ÎSœ¦éÎS˜')ÎsŸ)€#<ÀF0€Œ`#ÄI$ $’H‚I$ m¶Øl6Ûm° ¶Ø  bh……SŽx“Ø)ˆ…ŠbznŽ,41{Sù—§ºÚ„Ì&`ÇáëjSŽ›O™8…†§àcŠ5÷¤±,‘â²|ì"X(”é”ûL–`a­BäÕp P € óÚÜ}8» ÓGø“½éÄ•$7õÂ,êûÄV¹ÖÍaƹLÛØ%ô¬ù–þ±´†;=)€À€f°ëÿÿÀ…B‰b1¹ „îCˆÂYhÔŒBuŽj*€¸P( (¾§‘Š(‚ !âÆ%‰`Äx@xà @!à€1„€Ä`1à @!ÿÿÿü           @    @ @   ÿÿÿøÿ€ÿ€Àÿ?àðÿ€ðÀøÄÿÿÿÀ #ÿÿÿøb ÿÿÿàÿÿÿÀ`ÿÿÿ¦1ŒcÆ1ŒcÆ1Œ`Æ1ŒcÀ¬B˜Æ1ŒcÆ1ŒcÆ1€Æ1Œc°?ÿÿÿ€1¶Ûa°Ûm¶Àl6Û`0 @ ÿÿà@Ÿÿÿÿÿÿÿÿÿÿþÿÿÿÿâäÿÿÿÿÿÿÿÿÿøwÿÿÿÿˆ—ÿÿ€~†ä§ÿÿÿÿÿÿÿÿÿÿÿ“›ÿÿÿ„oÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ(ïÿÿüÊßÿÿÿÿÿÿÿÿÿ´ÿ€€Aÿðô@?ÿ@€A0?ÿ¡ÈÃÆÄ…2D’ÃH$€èr0àq±!L‘$¤0Ä’ ?ÿü @@$@ Bÿà@t9p8ئH’RbIF6$)’$”†’A'ÿÿ€€  ‚ `€Èb€ÿüÿÿð?ÿüÿˆ$ÿð?þÿÀÿÿð?ü @€ÿÀ€p¨BB¥êjW,)űc€±™m` ÈŠ”¨@“$GaÔ²”Œ[ˆAÄKI®ÿÿð4E¦ 6*ì‰Ç\tÔå@ @ ÿÀ|sm(ahX®¾Ô’‡S‚ªmh¡C!l¢™YHM,ûpÕ/s“Ù6³øò•5•ÓÒÐ2²š317w:õ´ ²15X`ÿÿÿûC¿>Á*”ë’¹N¢BvçÖ'HaËW²€¨ ®\‘z  @„ ÿÿð?ÿÿÿàü @„ } ÿýñÍ´x¡…¡`¸ øRHN ©µ¢… l…²Šee Y4³ìHEÃT½ÎOdÚÏãÊT\ÖWOK@È^ÊhÌÄÝÜëÖÐ6ÈÄÕa€OÿÿüíüûªS®Jå:‰ ÛŸX!„-^Ê l@$V¹rEꀀAõÿüÿÀÿüÿÿÿð€AóÿüúFÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý˜¿ÿÿÿÿÿÿ¹/ÿÿQ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ;_ÿÿÿÿÿÿÀ#ÿÜÿÿøŸÿÿÿýßþ?ÿÿÿÿþ0ïÿÿÿüøÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?Ö7ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿê½ÿÿÿÿÿÿüÉÿøÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿù—ÿÿÿÿÿÿþ_þ÷ÿÿÀ€µÿÿÿÿëÿñÿÿÿÿÿñÿÿÿÿæÂ @„@}@ÿÿð?ÿÿÿàü @„@|àÿþÑ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿFÿÿÿÿÿÿæcÿÀðoÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏ»ÿÿÿÿÿÿðÿõÿÿþE¿ÿÿÿÿÿ¿ÿÿÿÿÿˆü?ÿÿÿ(¾€1‚ çÿøòŽmœ§ë I`$%€PM( LZ‚ ­ y¢_R"vj‚êªÎºÛ#®šË:êâ²¢jvÚßvÆKóRò’†ª»÷ÿÿà?¨k€æVuiXk8j=ÕÔA™e‡¨X6ÀA§Yv7777BUFR Ôb€Ž4Ž}EPb  &Bìˆò˜rµ<% Ô²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ Ð!U0ÌÔÈ€U0ÄÈÈÄU0ÄÈÀØU0ÜÀØ€U0ÄÄÈÐU0ÄÄÈÐU0ÌÜà€U0ÄÀÈÜU0ÔÀà€U0ÌØÐ€U0ÌØÐ€U0ÐØÄ€U0ÄÈÔÌU0ÌÈÔ€U0ÔÀà€U0ÌÈà€U0ÌÜà€U0ÐØÄ€U0ÌÜà€`ÄàÀÀU0ÐØØ€U0ÈÔØ€U0ÈÔØ€ ÄàÌ€ \ÔÜÄ€9hÄàÌ€U0ÜÔЀU0ÄÀÀàU0ÜÔЀU0ÜÔЀU0ÌÌä€9]ÌÈ€€% ØØÈÈEÈÔ€€9]ÜÔ€€U0ÔØ€€U0ÔØ€€ƒ€ú€( 0À’I%$’m¹$¶„0Aó¶ã޼A’L’Jè-+0Ë,’ŽüÈ]†üž}ªRl8œ=~76¢¢¤ml„¤ : +ZýàIèBîl:EÜ@‚Œ&!ƒ%Sª­¨G³„ºZ&9(#Í C¢/n½šø¡ÎFK󔃈ŠXL Øúàlb.Îl2| Ü牃G;Àâ€`œ¥J +o$Ã’ ÜÓãF"ƒx/Cq ·˜fè3Z|8#øpoþœ™ÑYÀg&@3“ r@³ðà'àöžT@N!Àe-×>à{ *buϹɲܯsU[ˆ”€ìQ)è5p1çÀÂb[‹q«}Ϻ·H’Õ[¤%K —ÀŒë5Å´UGRÁ¤7 £…wVXahðA€A„ÿ<àdxIŒ6Ï0‰|öÚqN¦­[µ’çmÑoÈZ2¹¢¼ïG»Î)O„ƈH ¾– ‚€à ÜK¡Ýi`ðx<ÆEá|¾x †Bå "U(HÏÿüÿð<€0€Œ`#ÀFsœç)Δ”é9ÎS”¥9€œ§9€çYÎsœ§:RS¤ç9NR”ærœæœ`'ÀF0€Œ`€@`@ €@ €@ @ Aí¶Ûm°Ûm¶Ø ¶Ø6b °O´6å"ŒFÁ>KWÞXLàŸÄ¿jÐß.yr"¥.Á«àÐ ˜4"0òÇ–5|'Á> Ê;”?˜$\a$‘gµ¢¥.×ðÕ ‡³‰ e-X:Õ”æz9 ðé›{ÄRÏl»ä£EíLƒì÷@£6x‡+_§ñSÓEíZÓôXß8aEuK’i%1€Ö¤ÿÿÀ„¢‰a’øf¸ ЍêX4†ã!Tp®êË -"0ˆ 0‚ç€< ƒÁà‚AÄx@xà @!à€1„€Äx Àÿÿÿþ@Àÿ?àüÿ?àüÿ€lðþ?ÀðþÀøÿÿÿð8€€€€€€€€€€€€€€€ @!ÿÿÿüÿÿÿø€€€CÿÿÿøÿÿÿðÄÿÿÿÀÛm¶Ûm¶Ûm€Ûm€`Aí¶Ûm¶Ûm¶Ø ¶Ø6ÿÿÿþ!LcÆ1Œc1ŒcÆ0,cÆ0,À @ ÿÿàQÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàšŸÿÿÿÿÿà jŸÿàGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø&§ÿÿÿÿÿø§ÿÿÿÿ€}ÆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØ_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿùKÿÿÿÿÿÿÿÿÿÿøø.Ÿÿÿø þ>€èÿàè Fÿà@t9NH‹‘ II *I,A’"ähRBJ’K'ÿÿ€€È9@b@ÿü‡ ‰Ér4‰)!%I%’¡È"rD\"JHIRIdÿÿð00  @ ÿÿð?þÿÿÿà1‚€þÿÀÿøÿþÿ€Äÿø ç Òs½g3C˜€*Ò”1*¥=¬S]ÁP€ ç;Rs¹Î3"¬å4VÔ)KTœè5ßÿþ††*ä%#[m”Pˆ ÿøÕ°D®~¬¢½¢®ÀäôÐŽÔzÄ„mºšèÄÆÀ樜´¦rààþ9ɪ(É EŠ)@åçì'È€¥¨êeCC‹êëhèj‡„Î'¦ÿÿÿýà Z…¢‚ €™§P±ä.[žš!l:ÊŸ 4¼(,Ä€ÿàþÿàÿüÿ€Ä€¤ÿà?TBÁ¹ú²ŠôrŠ»“ÓB8Që´ êh[£š¢rҙ˃ƒøä &¨£$-(¥—Ÿ°Ÿ"–£©• .C«­£¡ª8ž›ÿÿü÷ )jŠ.fBǹl>zh…°ë*|(Òð ° B> ?ÿÿøÿÿÿð?þ B>p?ÿ€ýøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿö?ÿÿÿÿöóÞ4ÿýüAÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ¼ÿÿÿÿÿèÏêÿÿÿÿÀ ßÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿøÿÿÿÿùžÇÿ€1‚ ÿøÿÿøÿÿÿà1‚ éÿøÞÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^ÿÿÿÿÿw&3Oÿß¶ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ{ïÿÿÿÿþ‰Vðÿÿÿüúÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿ‘ú ø B > ?ÿÿøÿÿÿð?þ B >p?ÿ€ýøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ@?ÿÿÿÿöñà/ÿýûR?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙ`ÿÿÿÿÿÿËËœ?ÿÿÿþýÿÿÿÿÿÿÿÿÿƒÿÿÿÿÿÿÿÀÿÿÿÿÿËý?üˆ!H8ÿÀxÇ_>›UçíàL³I’[+k6caš€*H›e³8ñ×Ëžý¹«,* ¬ˆÊ'£¨éméj„cEJ,§¤LkLêªL‡FE@§ŸÿÿýãAÄ&™¬‰eÊ©©š"m’"jC á讳ˆª7777BUFR Žb€Ž4Ž}EPc€Ö²&9(‡°Ti@% ޲%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ Š!U0ÜØÄ€U0ÄÈÔÌU0äØÐ€U0ÜÀØ€U0ÄÈàÔU0äØÐ€U0ÄÈÌäU0äØÐ€U0äØÐ€U0ÌÔÈ€U0ÄØØÀU0ÐØØ€U0ÌÔÈ€U0ÌÈà€U0ÌÈÔ€U0ÄÀØäU0ÄÈÔÌU0ÄÀØäU0ÄÀàØU0ÄÈÈäU0ÄÀàØU0ÄÈÔÌU0àÈäÀ)$ÐÄÀ€9hÄàÌ€9hÄÐÌ€U0ÜÔЀU0ÈÈЀU0ÄÀÔÐU0ÜÔЀU0ØÔ€€U0ØÔ€€U0ØÔ€€U0ØÔ€€U0ÈÈЀ% ØØÈÈQ@ÄàÈă€ú€( 0À’I$’’m¹$¶ˆ0aˆ,ÓM=P0äDÓM=w^Š8믜qç„Ç%Ç EÜ,äYôj";f­ÌC6L _mù°F 7å ÀÄÓv!?¸!pŒ!Z Ý!1nè~ôòþ Ù. ¬BJ®€§ªæ¢È®Zm|5¬†IÈâ¾uÎ¥]Ú€ž,059WÜ KR¤2¸´ 8Á?€äÐP%œT† ¯ê2¢òÒÿ hûFôøL~Ù¢=³€Y¤ˆA€j™4‰8!4 Ä8ƒ qCá¡’qÀß*ú¾–[³tÄôÍÐôz)ìßt‹pÝK’óæ.Å«¶ù-Ó7Õ{Ç’„¢Œƒ™à©F¸xu ‚Z¼»­hú…©b±«ÁiÖ(Ò —Á¸‚%‹â¨<ài-§Ãn/€5`Ð) ÐBÐu9MŸ:lb®†ô%¦~¹Ü®×[ÍÛ)âTæ@PP2¹†JQ¸<ª–U*€¡x| -Ëâ…P™$F/Iz@Ÿ5|Ð~ÀÈ¡Á؃@'Â* ˜È Í’ùÆÆ’Â…®’µƒJÈîÃŒ8‡¥LÑUQŒ´¬Å‡‹Òû|élowÃòT åsÞ@ây ©Ã*vDkYP I¦9Ldè|ð„"Ý€±[2šÀÿÿŠ2g€F¥ááÖ‚ jòî´£èn¥ˆrƯ§Xd£H2_â–/Š ð€@xà @!à€1„€Äx@xà`À€Cÿÿÿøüÿ€ðÀø°Àøÿüÿ€ÿÿÿÀà          @@@    1†ÿÿÿðÿÿÿà b ÿÿÿàÿÿÿÀ`ÿÿÿ{m¶Ûm¶Ûm¶m¶Û`¶Ûm¶Ûm¶Û`Ûm¶ÿÿÿø…1ŒcÆ1ŒcÆŒcÀ cÆ1k1‚ÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿâ(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿâ)ÿÿà!‰ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿÿÿÿÿÿýGÿxõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€Aÿðô@?ÿ@€A0?ÿ¡È¡QnB@ŠJâ’I$€èr(TF"’¸¤’I?ÿü  Db@ÿü‡"…D`¹ )+ŠI$’¡È¡QnB@ŠJâ’I$ÿÿð0 X(Pˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿ☦H–¥C‹¬–E-iR¥±‡[à)HR˜í9Ð2+zÂQ ‰ZĶ ct?ÿÿÀQ ÀÌMÑÕTÐŒÑÀ„ˆ ÿøÎXÐò¬Ðãú´òÆË°²äœèþÜA²èØ÷ zŒ¼±2²ðý¨èík¢ö'2Èk4^ –c)­³}Yz뜺ù[4]ÖWÿÿà?bòyU E‡tW™Kœ3:0’„Wq˜ ¢WaaD€A€ÿüÿÀÿüÿÿÿð€AôÿüçH,hyVhqˆ}Zyce‡€XYrNtn €Ytl{=F^X™Yx~ÔtvµÑû™ d5š/K1”ÖÙ¾¬½uÎ]|ÎÆ­š.ë+ÿÿðÈ1y<ª"ÃŒ:+Ì¥ÎIB+¸ÌÑ+°°¢ @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþøƒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀQcÿÿÿÿÿÿÿýuôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨Œ¿ÿÿÿÿÿÿÿüÀÿÿþâÿÿÿÿÿÿÿÿÿÿïÿÿùô„ÿÿÿÿÿÿÀ€AÿüÿÀÿüÿÿÿð€AôÿüðGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ªÛÿÿÿÿÿÿÿû:êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿG _ÿÿÿÿÿÿÿøÀ?ÿþý…ÿÿÿÿÿÿÿÿÿÿ×ÿÿ÷é?ÿÿÿÿÿÿ€1‚ êÿøÿÿøÿÿÿà1‚ çÿøßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿQçÿÿÿÿÿÿÿ÷wÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþª*ßÿÿÿÿÿÿÿô€ÿüú ÿÿÿÿÿÿÿÿÿÿßÿÿ÷Ø0ÿÿÿÿÿÿb@Îÿð¿„ Í9{bŒ(Ì]· [™ê(]ˆ‹¹ÑgóhÞ>l¿œ8÷u×€Nðú¤u^9Ûe‰VNžáLU¬`™dÜ'“)ÿÿøíj(eË=cÖwW*EMq X`¡Ô9@Y$É4p7777BUFR Þb€Ž 4Ž}EPf€ ˜Dª |kpê@% Þ²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ Ú!U0ÐØä€U0ÔÄä€U0ÔÀÔ€U0äØÐ€U0ÔÀà€U0ÐØä€U0ÌÈÔ€U0ÌÜà€U0ÄÈÔÌU0ÔÀà€U0ÈÔØ€U0ÄÈàÔU0ØÔ€€U0ØÔ€€U0ÌÜà€U0ØÔ€€UALÜÔЀ0ÄÀà€1dÄÀÔ€-14ØØà€U0ÈÔØ€U0àÈäÀ-0ÈÄÔ€5`ÀÀÄ€0ÄÔÈ€UALÜÀЀEØä€€UALÈäØÜU0äØÄ€U0ÄÈäÀU0ÜÔЀU0ÄÈäÀU0ÈÈЀU0ÄàÀ€U0ÈÈЀU0ÐÌЀU0ÔØ€€ƒ€ú€( 0À’I$”’I¶ä¶Š1DrI,³ÎHAf£.Û]v[uÓTÓ,¨•Dß:$A ÈwÈÑiaÏŸƒ w‡Ü5*¬!„9žz`çba5C5ˆˆ/7 À¦+|ÐF0À•‰Abú¶ÄŠdpB@%bPMÑà£ÁáÂÎC±‡°CÉ(!‰ðãô¿ÿÿÿÿþ"ÿÿÿÿÿÿÿ¨øÒÿÿÿÿÿÿÿÿ€}Çÿÿÿÿÿÿÿÿÿÿÿÿÿêÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿ„¶ ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÄÿ€ úÿøú  @ŒÿÀ€èrÉ’I$’HÄ’IrI :²E$’I$’1$’G’Oÿÿ@!E€A?ÿ¡Ë$RI$’I#I$qÉ$€èrÉ’I$’HÄ’IrI?ÿü A@„b€ÿüÿÿð?ÿüÿˆ$ÿð?þÿÀÿÿð?ü @€ÿÀ€ˆ¯Òd,¨*çž ZN@1*a³¼É9JxŠÄ$1bgAP³,…øî:ÐS‰ÿÿð6A0€@$’”¤-² @ ÿÀ~ †õƒ84ƒôH7ãèedö¶…¡qDy$µ¶VVôçbȤwñGÔveèa’Ÿ§y¼ÎÛµºd â!LlÆPäCsvIÿÿýã$ÍœKàY(¦©K”€Ÿ§ –¹ÇŽBe¦”¤&Ä€ÿàþÿàÿüÿ€Ä€¤ÿà?PCzÁœ„HÁú $ñƒô²²{[Bи¢<’ZÛ++zs±dR;ø£ê;2ô0ÉOÓ¼ÞçmÚÝ2 †q¦6c(r!¹Œ»$¿ÿÿ€þñ’HfÎ%ƒp,”ST¥Ê@OÓ€Ë\ãÇ!2ÓJRb@Ôÿð?ÿÿð?ÿþÿÀb@ÎÿðÆÿÿÿÿÿÿÿÿÿÿÿÿÿþ«Ïë?ÿüÿÿÿÿÿÿÿÿÿ¿È7ÿÿÿÿÿÿÿÿÿÿÿþ@~ÿ•ù¹ÿÿÿÿÿÿÿÿÿÿþ£ÿÿÿÿÿÏÿÿÿÿÿ”gÿÿÿÿ€ŸÿÿÿÿÿÿÿþÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?²?ÿÿÿÿÿÿÿÿÿÿÿÿÿüßËþÛøŸÿÿÿÿÿÿÿÿÿœoÿÿÿÿÿÿÿÿÿÿÿú@ü¿ÿõ°ÿÿÿÿÿÿÿÿÿÿþýÿÿÿÿÿÿ§ÿÿÿÿÿ(ßÿÿÿÿOÿÿÿÿÿÿÿüˆ!PÿÀÿüÿÀÿÿøÿˆ!8ÿÀHÿÿÿÿÿÿÿÿÿÿÿÿÿùª¿ŸÿýÿðÿÿÿÿÿÿÿÿÿþÿHßÿÿÿÿÿÿÿÿÿÿÿõùþ?âßÿÿÿÿÿÿÿÿÿÿüú ÿÿÿÿÿÿOÿÿÿÿþYŸÿÿÿþ¿ÿÿÿÿÿÿÿø B>p?ÿ€þxîf0®vSPM 9 ú¨3Ö-DÑ” ŒTLÁ³·Œ[ ¦Íýô|øà2Ê;6­+*!ˆ6Éä©“‘¯mÿÿÀXÌ4[‡—¸œcj®[*ªGí¨$¼¡è˜º#)(7777BUFR¬b€Ž 4Ž}EPf€ì'7‡‰Drpà&¬²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ¨!U0ÐÀä€U0ÌÜà€U0ÄÄÈÐU0ÔÄä€5ePÀÐÈ€U0àÈäÀU0ÄÀØäU0ÄÄäØ M,ÄÐÔ€U0äØÐ€U0ÄÄÈÐU0äØÐ€U0ÐÀä€U0ÈÔØ€U0ÜÄÀ€U0ÄÄäØ9hÄÀÔ€A $ÐÔ€€Q!PÌÌÉA $Ü€€€-14ØÀØ€9]ÐЀ€5A ØÐЀ!0ÈÄ€€Q!PÌÌÉ-0ÀàÄ€%ÈÔÄÄ!0䀀€U0ÄàÀ€U0äØÄ€U0ØÔ€€U0ÐØä€U0ÐØä€U0ÐØä€0È䨀U0ÔØ€€UALÈäÀÌU0ÔØ€€ƒ€ú€( 0À %$’m¶ä–ÐÆ(¢Ã—qDzË,ó<Äi ’´«@Ç,²ªºö²sqÌD±pJƒ1.¸Å´._ _3 ÈRc¬YÆ•f%kldzÎtÎtæ,".Ä’0 ö8 Ç RFÉ þP‹¢ Ãp ¾  Å ì? Ç  ÂA‚ƒBÃÚ¨>̤҄p€­W.jиÃJÀx`@Ó´ Œ€#Ð!@6†üÃþ6dö`?a–°LŠ— b¥èAº,eïÞ¢€>0€“úÐ u˜óþrÔÀ"ZƒÏ…,Ü_Àe-Œ:çc"Kîv$ÆCÀLXñ#ÒĘ“_s±‘&4;Üì]‹±€ª­Çbû cî…B¢0–ƒ ð‚ès*Œ ÂZÚª€( aàÈZ2!n§Œ„°Œ# –@©»2*0‘$ iÛˆ £ßøc@ˆ8Úb¼#0‘Ê€“a¡ˆ ‚Å å ‚2‘ˆ!à)ÿif¤J±@Q"A#ÙSpyT–2ÍÅÿþÿø @ÀF0€Œ`# 9Ò@œæJ3˜"HðœÁ9‚`œag:HœÀéFs@ ˜'0LŒ°ä’I$’I’I$’I$’EûÞ÷½ï{Þ÷½ïÞ÷½ï{Þ÷½ï{Þ÷½ÀF0€Œ,@€@ € €H ¶Ã`6Ûa€À Ûm¶1‚êÆ–0^‚èØ/ƒø.ˆëwޱcÑ?ÙñˆÀ¾ðÐà_l]ü@ºÐ¼×"èàcƒù’WP’Ë$¶ýž€fàA Øß?çºrø£n-Œ£Cd¾“q‘ÛL”ë †¢wéNbz_‡ôbãž'J(|#»@“œ_û~> ü|ŸDÈöZ­2à– Ûê9§,wÿÿàB¡GÑKAxANÀô9•Fá-mU@°Œðd-È7SÆBXF„a€BÀb< b<ˆ <ð €ð0`€< 6b ÿÿÿàp    €€€€€€€€€€€€€€€€ÿÿÿÀà  @   @@ @     @ `ÿÿÿ@ €ÿÿÿþ€ ˆ0?ÿÿÿ€ÿÿÿ @!ÿÿÿüB˜Æ0 cXÆ1Œc01ŒcÆŒSÆŒkÆ1Œc`Æ1ŒcÀ1¿ÿÿÿ€SƱŒÆ1Œ`ZÆ1ŒcÀ1€€AÿÿÀ¿ÿÿÅÿÿÿÿÿÿÿÿÿ_Ï”Ðÿÿÿÿÿÿð?üÿÿÿÿÿÿÿÿÿÿÿüq>P@OÿÿÿÿÿÿÀÿÿÿÿûÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÜDÿÿÿÿÿÿÿÿÿÿÿÿœ1ÿÿÙÿÿñžÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ†ÿÿÿÿbÿÀÐôÿÀÐ @ŒÿÀ€ènKd0‚á2Û$¶I$É$Cr[!„ –Ù%²I ŽI?ÿü Hˆ’@€b@ÿü†ä¶C.-²Kd’A’@t7%²Ap™m’[$’ä“ÿÿÀÀÀ€€ $H @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü £ è{Æb„m@FÆ5O{Z—A‰Z@¥=KTEB¥µæ‚u …rš×F+lšôÉb[^Ö·ÿÿÀPÀ6‹l†“M„ À  @€ÿà?œ;F׃I°àäNˆf€¡_òuŽI1“±@ äYBö'5LþifDji袩çŧÆßíGŠ@'Îîdﮩ!i ÈGE 2)ŸÿÿûÄ Ž •š “‘‘!Œ”‹G‹•€ “¤’€1‚ ÿøÿÿøÿÿÿà1‚ éÿøçѵàÒl89¢„ (Wüc’E dìP9A½‰çMS?š@™€ÑÚ€šA:(ªyñiñ·ûQâ ó»™;ëªHZB²ÑBŒŠgÿÿÀ~ñÂã¤Ãef…DÃdäD$HC„ãD£%"Ñä"ãFDÁå`dÆ)$  @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþøƒÿÿÿýïÿÿÿÿÿÿÿÿÿÿ5oý€ ?»Cÿÿÿÿÿÿÿþoÿïèÿÿÿí?ÿÿÿÿÿÿÿÿÿþ£¿à2ÿ•ÿÿÿÿÿÿÿõÿÿÿÿüøÿÿÿÿÿÊŸÿÿÿÿãú#~[À~ÿÿÿÿÿÿÿ­ÿà @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþøãÿÿÿýÏÿÿÿÿÿÿÿÿÿÿ7oý@ ?³5ÿÿÿÿÿÿÿýïÿïëÿÿÿë¿ÿÿÿÿÿÿÿÿÿþcà0ÿlçÿÿÿÿÿÿÿóÿÿÿüøÿÿÿÿÿÊŸÿÿÿÿãúþc`~—ÿÿÿÿÿÿÿ±ÿà @ €ú€ÿþÿàþÿÿÀÿø @ €ùÀÿþøCÿÿÿþÿÿÿÿÿÿÿÿÿÿGký€ ¿¶Cÿÿÿÿÿÿÿþ'ÿïêÿÿÿìÿÿÿÿÿÿÿÿÿÿþKïà²ÿ|ßÿÿÿÿÿÿÿôßÿÿÿüù ÿÿÿÿÿÊŸÿÿÿÿãùã~c`~‡ÿÿÿÿÿÿÿ«ÿà @ @ùÀÿþ÷d,¥:³§£˜¥A/•§¦¡•1¯ ž”€¶­+™Ÿ¥¯$¿ª9µF3†2I· á®=×ù/ÜhËÅÓ=.<z —èÒTKÿÿðÖ@¸PpÈøpùXÐØpØh˜y¸x°hˆ™< ¸¨Y ¨p˜hÀhÙ°ˆ7777BUFRšb€Ž4Ž}EP`€iR%Ûh‰T@hçx%š²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ –!0ÈÄä€U0ÄØØÀU0àÈäÀU0ÜÄØ€U0ÐØÄ€U0ØÔ€€ LÔàØ€9]ÄÔ€€!0ÈÀ€€1aHÔÜÐÄ0Øà€€U0ÌÔÈ€U0ÔÀÔ€U0ÌÈÔ€U0ÐØÄ€U0ÄÈÌäU0ÄÈÈäU0ÐÀä€U0ÌÈÔ€U0ÐØÄ€U0ÐØØ€U0ÐÀä€U0ØÔ€€U0ÄÈÔÌU0ÄÀØÌU0ÄÈÔÌEÌà€€=4äÈÜ€EÔØ€€9häÀ€€U0äØÄ€U0ØÔ€€U0ÜÔЀU0ØÔ€€U0ÜÔЀU0ÔÀ€€U0ÔØ€€ƒ€ú€( 0À $’’m¹$–‚0Ž$¡Ê+žši£-4Õø`ëÏiÎDqâË$»mLHÛF!º€ 2xùø!U4žGô"ü@ú h›ÌúÎæ!Lj¿< Þ‡’À³„kˆ!„!un!†ÝB#¶©ä&ž!…|!„3—T†–~© OðØi*4©«Ðb«¸€êî –‚UÖà³ú8ÜÐög;@>x0åz‚1€á¥ K„ À¬£Ú ÀœÎàrê€ü¡à=hznÆ©ö†æ;xÏc­6Àåèù9oµ›77ŸaT v=ö¼÷™l 1Š@²$óÂÜ*10§·7Úì$2ú…Kè¸Î‰!ð¡æ*ˆÀ ‹Oü<@xPŸDa¬£ºž `)þ<Ó›§€LEôçˆ4&MJþ ”3ž çÉò;ˆ»°³£uòm>žMwY ~AÀ(£˜ÒK†áˆÏüª*%É|_ F ãp2ACèFP&9Š È<»Àÿÿÿü @Œ`#ÀF0…Œ£9Ì9Êsœå9ÎsœÀsœ¦ Æ2Œç0ç)Îs”ç9Îs Îr˜'ÂLÌÌÌ„ÌÌÌÌÌÌÌÌÌÌÌÌÌÌ`#ÀF0€b‰$H$’I$@I6Ûa°Ûm¶Ûa€m¶ˆ±4BÅ1  £CX0ÐŒ0Q¢h¦CB!`Ö>= ÉÓôáÅ§à™¾<41{  …†/ÌËÞuÓðÖ’úR”tÉe#D°›)¿ô=DR÷5*Å2¤$ ’ÒEhð‘‘LÞ)Xÿ> èW{Í7›”MžëI€°ÿ™&H+pb be‘‚“œEŠº ‰Ó2Ž0KÊ6m åZ cÿÿøøPÈsD`P E§þ <(Ï¢0‡VQ€ÝO°ÿ€i‹M€SÀ€BÀb<ˆ <ð €ð0 b € ð0€Ø @!ÿÿÿü@  `@       @@     0   ÿÿÿø€@@À@@@@@@@€€@@@@ Àÿÿÿþ€ÿÿÿÀA@ÄÿÿÿÀ?ÿÿÿ€ Àÿÿÿþ!@cư `Æ1ŒcÆ1Œ`1ŒcÀ…ŒcÀ5€cÆ1ŒcÆ1€ Æ1Œÿÿÿ 1ŒcXµŒcÆ1ŒcÆ1€` @ÿÿð!@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð`í¦oÿÿÿÿÿÿÿÿÿÿÿÿÿÿ…ÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€¶™¿ÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÀ?—?ÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<¿ü| H3°ÿÿÿÿÿÿ?ð @ÿü}€>€€@ÿðô @ ÿÐã’I$’H[a’W@t8ä’I$’Á‚d•Æ_ÿþ€€# ˆ!ÿð :rI$’I `Á 2J㨇’I$’BØ0C ’¸À«ÿÿÀÀÀ`0d1‚@þÿÀÿøÿþÿ€Äÿøÿÿàÿøþ @ÿà@,X: kæøÁ—0&`¦¶¥ï‹šÈÑ<c•:O{žÕŇƒU¨yžÕ½Ìxâÿø $(”m˜cfCQ @€ÿà? <£W\GˆÞoü91Äìk¸H‚”tG²74˜“=}dˆ~ [ÝÌZ;Ÿù+ØŠ6Z¹«ÉIiøí»ÎËšZÙ°\ü<:ºèoÿÿ€þQ¨aº˜aX?f¦R€ôi\qúT™•k^œcb@ÿð?ÿÿð?ÿþÿÀb@ÒÿðÐQ«®#Äo7þŒâv5Ü$ ŽÁJ: £ÙšLIž¾²D?-îæ-Ïü•ìE-\Õ䤴üvÝçeM-lØ®~]t7ÿÿÀ(Ô0ÝL0¬³S)@z 4‹.8ý*Lʵ¯ Î1€1‚ êÿøÿÿøÿÿÿà1‚ çÿøåKÿÿÿÿÿ§ÿý¿ÿÿÿÿÿÿÿÿÿÿÿÿû*p@ÿÿÿôÿßS"Kÿÿÿÿÿÿ ÿþ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ²†Àÿÿÿÿþ³ÿÿÿà?äWÿÿÿþïÿÿÿÿÿÿÿÿÿ_Üિÿÿèø B ?ÿÿøÿÿÿð?þ B >?ÿ€þ˜òÿÿÿÿÿù?ÿÎÿÿÿÿÿÿÿÿÿÿÿÿÿ¨’àÿÿÿÿ?ýô¢'?ÿÿÿÿÿòÿÿò?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿëªn€?ÿÿÿÿíÿÿÿþýÅÿÿÿðÿÿÿÿÿÿÿÿÿïýR 3ÿÿþŸ€1‚ êÿøÿÿøÿÿÿà1‚ çÿøëÿÿÿÿÿ‰ÿüÏÿÿÿÿÿÿÿÿÿÿÿÿúYL€ÿÿÿóŸßH"ƒÿÿÿÿÿÿ#ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ¢Øÿÿÿÿþëÿÿÿà?ÜYÿÿþÿÿÿÿÿÿÿÿÿÿ_í`»?ÿÿêø B>p?ÿ€þ¸ð˜»xýSHûÌhª£rNÚVm²PÍ[£”È4 6(åô¢'¸éð¶3m1¿é0¨èâkª­kækf´²õîuìéì€&ï.,l®e¿ÿþü†`Sß,ÒTüÖË%1Á$ÑJ8´V´m‘-@T7777BUFR Þb€Ž4Ž}EPa ´`Sì`õ‡Àj—% Þ²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ Ú!YÀÄÀ€5A ÀØà€YØØÀ€)0ÜÔ€€9]äÈЀU0ÌÈÔ€U0ØÔÄ€U0ØÔÄ€U0äÌÔ€U0ÜØÄ€U0ØÔÄ€%ÈÔÄÄU0ÄÀÐÈU0ÔÀà€0ÌÐÄ€U0ÌÔÈ€U0ÄÀàØ`ÄàÀÀU0ÄÀØÌU0ÌÜà€ I0äÌÌ€ ÄàÌ€0ÈÄä€0ÈÄà€0È䨀-0ÀäÌ€U0ÐÌЀU0ÐÌЀU0ÄÀÀà=äÀ€€U0ÐØä€U0ÐØä€0ÌÐÄ€U0ÄÀÔÐU0ÈÈЀ0ØÌÈ€U0ÜЀ€ƒ€ú€( 0À’I$’’m¹$–€0ADACÐϾþ}m5ž‚)ŒDÓòãJ}Œ€ÕW„“à$¾@{JaŠò0ˆ^É¡_Î÷è 'Àg>Ù3œ'ÓP2¨ÂˆŸÖ ˜–€o„æâ÷X¬›²’Ò'˜)—·NB¾Ø›Ò¢<}Ö÷X ´`H$À$`;ߣ<©ä+Î/Õ@l¬P6B óü’K˜Í6‰„H?@[¼`lFÀVxšÚ i«¼Ú…vpS΀*®.LxA'ÆKÑ*Œ˜±?ZÄbÁ@1›8Á8þ– {t"é€tÇ|®Ç7ÍþîÄ·jÞUn[·@7ÍéíÓ7ÕOMÓ’Õu\߉f+ëUÕy,ß±ìs~JŠ‹àSÿ(ih0x±ˆÁ¸ú º0€Xx*ƒ#è¾ ˆ!Z*àȪ‚„Á2( îÑfH™,ç ݪùŠÔ­¨<¤é»eç{jßo<N—‹p ‰Í\Š  –‚M Q¹¤n2!‹@Òd‚„²Ð´x_\£ ·ÿþÿø @ÀF0€Œ`# œä Ì'9F`JRæ ÌŒ(Fs'0N@œå€)H˜'00Ã’ $’I$’I$’I$’IÀF0€Œ`€@p$‚I$II‚@AàÛ ¶Ûa¶¶ €bìM8£EcÅíO鳨&Š4Q¥1 £D,øðЄÌBÂhÃLeáňXBÁ3h1ÁŽ(Й¾X¨¾3“I>OU\Æ:Õ°Àê[‘±^^L'øVS¥xÊ, $QN9ÐY¬i“”]Û¥iQž€ K@Ù‹Œk@Â"lPm*Ûš‡›ŠØC«e‚<š1¨:ƹ©±‹¢0ÿÿþ/À§þP ÒÐ<<`ñcƒqô t`-°ðUGÑ|AB0´UÁ‘T7 €ðÀ€BÀ`Äx@xà @!àlÀ6` À`` ؈0?ÿÿÿ€À€€@@@@@€@€€€@@@€à@@     @ @@@   @ÿÿÿ€€€€€€€€€€ÄÿÿÿÀ( ÿÿÿø‚‚ €CÿÿÿøÿÿÿðÄÿÿÿÀ-€Æ0 kÆ1€cXcÆ0 `¶À1¬cÆ`ŒkÀ1€ÿÿÿàÀ€c5ŒcÀ1¬ZÖ1Œ0Äÿþ ø Œ?ÿþ?ÿÿÿÿÿøÿø!ÿÿÿÿÿ€( ø Œ?ÿþ?ÿÿÿÿÿøÿø!ÿÿÿÿÿ€/ÿÿ€}Åõ­Óÿßÿÿÿ‚ÿÿÿÿÿÿÿÿÿêÿÿÿä`ÿÿÿÿÿÿÿã—ÿÿ¿ÿþ &` @ ÿøú ÿ€ "bÀÿü‡$°§‚G$2I#rI$’¡É,)Ä ‘É ’HÜ’I$ÿÿð0$@ˆ!ÿð :’œJ É$É$’H‡$°§‚G$2I#rI$“ÿÿÀÀP  @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü ¦IŽ!δ@<Å)Lj §)S¶¥J€xªLZÓÉ9’´ÌCJå)Œ‚ÛµMR¯ÿÿC%‚‘)† d°²RÄÿüîÇm>>Q šµ9©<ÆÆ«ÞPȧ4‰ÍÝÄå¶…D¯Í’âæ|ˆÐº¼4Ý^Ȳ¦ï ¸Èµ0ÓЊ¨°˜ÄÂêÎç MÿÿðZ8 P¿Ç¡V•Iõ«X—:lœ&íŸj½Iu&M¢ú­;6,åb@ÿð?ÿÿð?ÿþÿÀb@Òÿð»´øùF€PbjÔädR¤ó¯yBw"œÒ'7w–Ú¿4BK‹™ò#Bêò4Óu{"Ê›¼, ã ÔÃL B*¢Âc «;œ-7ÿÿÀ}hà-Bÿ…ZU'Ö­b\é²pT›¶}ªõ%Ô™6‹ê´ìس”ˆ!PÿÀÿüÿÀÿÿøÿˆ!8ÿÀlíVIÿÿôÿÿÿÿÿÿæÿÿþ¨Á¦Í?ÿÿÿÿû¿ÿ¶"þÈÿÜ=Kÿÿà?ÿÿÿÿÿÿáÿÿü{µ©Ôÿÿÿÿåÿÿ[ÿÿà?Ð_Øÿ÷ÿÿÿÿ×ÿùÙÿÿÿùÿôë° B ?ÿÿøÿÿÿð?þ B >?ÿ€þðÿØ©ŒÿÿçÿÿÿÿÿÿÿËÿÿýòé—ÿÿÿÿö¿ÿVý±ÿ·v4‡ÿÿÀÿÿÿÿÿÿÉÿÿø†« ¥ÿÿÿÿÿÈþu§ÿÿÀ˜¿¸~ÿïÿÿÿÿÿ¿ÿó³ÿÿÿóÿëÿÙ @„@}@ÿÿð?ÿÿÿàü @„@|àÿýÑÿ°SÿÿÑÿÿÿÿÿÿÿšÿÿúFÔ¯ÿÿÿÿÿîþ¸#û#ÿlà‘_ÿÿ€ÿÿÿÿÿÿÿÿÿòÔ%IÿÿÿÿÿšÿýCïÿÿ€ÿ1|?ÿßÿÿÿÿÿÿçoÿÿÿçÿÕÿ®à @ @ùÀÿþøÃ®‘Éwj :^ \,Øã`±®§ ™ÂŽåÄìßw¥29ÇæIvySV}ecBŠu–f[=y~…i^Rzgddjp^R_rb]ƒh{ÿÿø¯ØŸâÌ©Fœê³§Ç§*U©òuË£NdúRªK‰R}Ší7777BUFR²b€Ž4Ž}EPd f)w<‰T@pê@%²²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ®! ÐÜЀU0ÌØÌ€U0ÌÜà€!0ÈÈ€€U0ÄÈÔÌU0ÄÀØäU0ÄÈÈÄU0ÄÄÈÐU0äØÐ€U0ÐÀä€U0ÜØÄ€U0ÄÈÔÌU0ÐØÄ€U0ÐØÄ€U0ÌÜà€U0ÄÀÐÈU0ÄÀØäU0ÄÀØäU0ÄÀàØU0ÄÀàØ5PÐÄÜ€0ÌÐÄ€-14ÜÔÌ€U0ÔÄä€U0àÈÄäU0ÈÈЀ=äÀ€€ M,ÄÐÔ€0ÄÀÈ€UALÈäÀÌ1dÄÀÔ€5A ÀÜÈ€EÐЀ€UALÈäÀÌ9]È€€€)4ÀÀÌ€aM%4€€ƒ€ú€( 0À’I%$’m¹$–‚0ãDQÇ$’H(¢Š40ÉE4¤¢ËL•cZ.ç†!tdjZ¦\zCD–w@ZÊŽDüþ÷àm<<<<e\R´8H¨Á2%¢O¬fÕfH¨!Ñ:#¹‚ÕÊB‡J! êG™†BÉ%@ç€D ÜŠ`àÜå¾A¥nJ¶sX)Ò¶%Æ8x¶NT¦+êÀ~iLñRC6ǾIè˜,Ù¾ÕŽÅ`x¨’ s4ÞÔv"Qœ&sÀ@,Çpø‘V~†Fz4;á‚i­H?@„‰°b¥è)hYD wh]JMÀí.À‚ë .vˆº8àÜ iµêy@ç@Åc@X˜!é¤2ÇÛŸéw@¿¶ ] À5LˆõÓ¤.öv=Çë@bR2 ±fÀß-1)µôÕ[£4f硚7DJݸz¢Üz3pz=зnÑØ¹%xÄ`È ‚2¼2 °(#DÑ4të Ó™6NÀð(#Cr1@A@((0‰c1›†cù”Ì~2ìv“µ½u> Æëí „:_@ÐõÊþp6Üh‡$K@(æˆqôU5È"¹xÂ0´#JQà#3CÀP%’¾(C ´xÿàÿàÄ€Œ`#ÀF0³œç9ÎSœç9:Mœ'Ìœæ €'8ÂÎsœç9Nsœäé6pœg0s˜&œã<ÀF0€Œ`#Ä €@ €@ €@ @€@m¶Ûm¶Ûm¶Àm¶ ° ¬i®K4>a8‡ð^‚èK½ø€þ ¢|Rö޳ú…ÑaõOŠ:ÁüàHƒXİáˆ$@[8Àà‘‰û¥ÇšÔ±fñæu«t«Â¶2‹ÇX-¦²^…ÍùHæ¬Z›²*qÐÓ²O¢&O6†1ƒØÌ‹pÉ&F#¡ÐP ,O¤‰x†®( ʵÇPµÆéS8Ñÿþ>xÄ`È ‚2¼2 °(#DÑ4të Ó™6NÀð(#Cr1@A@((0 €ðÀ€BÀb<ˆ <ð €ðÀÀ1†ÿÿÿð6øÿÀøÿ?à `ÿ€ðüÿ€ðþ?ÿÿÿ€À@@@@@@@@@@@€@@@€€@b ÿÿÿàÿÿÿÀÄÿÿÿÀ?ÿÿÿ€ Àÿÿÿþ öÛm¶Ûm¶ÛlÛ`0Ûm¶Ûm¶Ûm¶Àm¶ ·ÿÿÿð cÆ1ŒcÆ1ŒcÆ1cÆ0`ÆbÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÿüBþÿÿ€@¿ÿÿÿÿÿÿÿÿÿÿÿÿÿü ÿÿÿˆ_ßÿÿÿÿÿ‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ„ÿÿÿÿÿЀÿÿÿà @ ÿøú ÿ€  @ ÿÐÛ’HärL™$lK,’@t6ä’9„“&IË$Ÿÿþ(¢€1‚ þCnI#‘ÈI0d‘±,²IÐÛ’HärL™$lK,’ÿø ¢ŠÄÿøÿÿàÿøþ Hÿàüÿÿÿàø @ ÿáRÄ©KYÖ³½âÌaŒEd ƨKÖ•0ðniTX$ªJœ1ŒåÄDés•-kQÿÿà(dˆÛl8”@µi€A?ÿ€þØåË”ØúG™i™têô ¡hMÒéCD=”²,n[Õü‘âĶÒl@ªÓjplÊ«˜)n  R²šDËì#±$—ÿÿÀx±RÛT¥ ÂËq´š ÚѼaY¡ñVjÐ @„ ÿÿð?ÿÿÿàü @„ } ÿý±Ë—( )±ô2Ó2éÕèB<К¥Ò†ˆ{)dXÜ.·«ù#ʼnm¤Ø€-U¦ÔàÙ•W0RÝ„ ¥d.4‰—ØGbI/ÿÿ€þñb¥¶©J…–0ãi4µ£x³Câ¬Õ  @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙ¬ÿÿÿÿðÀ¡ÿÿ÷øÆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâÿÿÿò•üÿÿÿÿà?äOÿÿÿÿÿÿÿÿÿÿÿŸÿÿó_ÿb@ÿð?ÿÿð?ÿþÿÀb@ÒÿðâÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÁ?ÿÿÿÿhüïÿÿ¿Ê7ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿŒoàÿÿÿÿÿ¡ÿÿÿÿÿÿÿÿþÿÿäñÿb@Ôÿð?ÿÿð?ÿþÿÀb@ÎÿðæÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÀïÿÿÿÿ\üßÿÿ¿Ê/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷?ÿÿñ¯Áÿÿÿÿà?ìOÿÿÿÿÿÿÿÿÿÿÿÿÿð/ÿb@Îÿðâñ’[—Ôò%¬`ZQCciÈÍCÈgA;hE"Šé¿¨;5ñѼHSèÆ„ƒJ˲v¥{‰½t}='Óÿÿøô…J^4ز¨›J“:Nj™)ÇZ7777BUFRšb€Ž 4Ž}EPf€ÔÀ/é }âtºÐ%š²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ –!U0ÜÄØ€U0ÐØÄ€U0ÐØä€U0ÔÀÔ€U0ÐØÄ€U0ÄÈÈäU0ÔÄä€U0ØÔ€€U0ÐØÄ€U0ÄÈÈäU0ØÔÄ€U0ÐÀä€U0ÔÀÔ€U0ÔÀà€U0ÄÀØÌU0ÌÔÈ€U0ÄÄÀÌU0ÄÄÀÌ-14ØÀÈ€5A ÀÜЀU0ÄÈÔÌU0ÈÔØ€U0ÈÔØ€% ØØÈ€% ØÌÈ€U0ÄÀÀàU0ÄÀÀàU0ØÔ€€Eà€€€U0ÐÌЀU0ÄÀÔÐU0ÐÌЀU0äØÄ€U0ÐØä€U0ÄàÀ€9]ÜÌ€€-0ÀÄÜ€ƒ€ú€( 0À’I$’“m¹$¶Š1=FA$’K0–ºêRBCsiÇŽÓ…ý4ÐH¨]c$†* Îκ¶<¨[~˨ÛHø“Ú,2!ˆö!£T áøù°>4ü3"h˜"h˜ÀâB—|MŠÒÔNOÆç$éÊÑð‘u0O È{üŽ ¹› ^¶;‚`å2 ÙÝ8‚µšTE`«@t€85æÔ#—T@º|y…~@v;Âu@‚¸ØAHä7c°±Ø:a˜™î@XÎ`.§\Œ. ÃÜ0 Œr‡—ƒànÀe,˜¾·bûŸ[î1õ¾àôÆ¢%àà7ÜäŸsj¯¹º7Fé"L+…p¬=B·Ý]Œ/J 0 #€d•‘h<9–…ð#>… # †((DÈ‚0)O BÐÈi É+À+EŠÙŸW­êåj…u7Úr5ÌðÓu0˜mgªÁ\¶“/Øówh2¯ ¨Ë•)¥†¯ÀhQ"(•R%Rª€Ü‚-/›ŠSšÐ d>‘’Ïÿüÿð<€0€Œ`#ÀFsœç9Îsœ§0Js&œç9ÎR˜YÎsœç9ÎrœÁ)̘Nsœç9J``'ÀF0€Œ`€@`@ €@ € @ €@Aí¶Ûm¶ÛlØ °Ûm€bìM‹ØkÖ„3 `hpSÅ©þ¶½Œ9ÃB0ÀДĂ¡XâÇ01ƒàÇÀ81ÃB1F¾˜ 4ÕEgkE)OÍÔ8RöÑ"L4ýHÚÅyJCȱ.;VÅT–±éEÈâçAOZ˜ÃO)Œ¿ºÆè¢‚”¦9Ž4bèò˜• Zn˜ˆO+0ò*‚ ’_ÿþ/J 0 #€d•‘h<9–…ð#>… # †((DÈ‚0)O BÐÈi €ðÀ€BÀ€@ð €ðÀ€BÀÀÀ ``<ˆ <ð0` @!ÿÿÿü€ €ÿ?àþÀü?à üØðþ?àüÀþÀÿÿÿàp   €Cÿÿÿøÿÿÿð1†ÿÿÿðÿÿÿàˆ0?ÿÿÿ€Fffffffff`f€f`fff€#3333333303@30333@ÿÿÿ¦1ŒcÆ1ŒcÆ0c1ŒÆ1` @ÿÿð!Oÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð¯ÿÿÿÿÿÿÿóp ÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÞð…?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ¿ÿÿÿÿÿÿÿÎuÀ+ÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃ{ÀÿÿÀ>âÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðCÿÿÿõ‡_ÿÿü ÿÿÿÿÿÿúGþÄÿ€ úÿøúÄÿø É$²@â#’I,IdC2I,8€†Hä’K$Yÿÿà`` €I(‚€A?ÿ¡™$–H@C$rI%’ ,€èfI%’É’Id‚K?ÿü 0 %@ Dÿàüÿÿÿàø @ ÿÿð?þÿÿÿà1‚þ…1 e½-dÖ„a_¡,“ZÕµ©P×À ?ÿÿøÿÿÿð?þ B >p?ÿ€ýqÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿéGŸÿÿó?ÿÿí¿ÿÿÿÿÿào¯“ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ©?ÿÿþ´ÆÿÿÿèïÿÿÿÿÿÿÀ Ïÿÿ€ÿÁÿÿÿÿÿÿÿÿÿÿò ÿûÁÿüßÿÿÿ«à @ @ùÀÿþõD­©¬¯¶*$°3­.5+§—¢'¡'$«Nž¥/¸=7¸0©,€$>¬J½n¸a,™ Æ# ”³S­V+‹ ‚¯B-)Û#5"‹e¥ªDÂAJ(ÿÿþú¥w]¥Û9ˆÏA€Q¡$ãP´œeú Yôd7777BUFR†b€Ž 4Ž}EPfÊü*͈9 rpà&†²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ‚!U0ÜÈÀ€U0äÌÄ€0ÄÔÜäU0ØÔ€€Eà€€€Q!PÌÌÉEÈÔ€€ $ÐÄÄ€9hØÜ€€9hØÜ€€!0ÈÄ€€U0ÄÄÀÌ àÔÀ€9]ÐЀ€% ØÌÈ€-14ØØà€ÀÜÈ€% ØÈÜÐÀàà€% ØÜÐÀU0ØÔ€€U0ÄÈÔÌU0ÐØØ€U0ØÔ€€U0ÄÀÀàU0ÄÀÀàU0ÄÀØÌU0ÄÀÀàIi<ÄÈÄ€9hØ€€€EÈÔ€€UÐÌÄ€9]È€€€9]Èà€€% ØØÌÐ0ÈàØ€U0ÄÀÔÐUALÈäÀ̃€ú€( 0ÀI%$’I·$¶Ð0ÓMªXOQÄ ìD‚Zì4Óµ×m·çIN2pÇ2¬Ðƒd’ º & aȬJ".âùÞ„²’",ã‡N`>%¦èö ÚR Š $B ÿJ 8èq ÿ Ë ï ðý® ôå ¶¾LN T § ÿJ ÁÒo ß±9_ƒCãº@«‚@a\ üµâˆÙXÁá<ǧ„1›Á ,X-‹Tb^À_˜¨¶ºùŠé2`nÚ趺… È»®à=|<;رñ¬=À/È ¾gÀ€ã Ü @•4=^ÚD`nÚè;߀FPÀe,)÷Ÿ d+…q&RÊWŸ![±v0­ØÂ·Ý àc’°0˜–æ0z"Ktn1سxW á\ …B³E ˆÀÈn €PÜ…¯üx  P¡C4¤è˜ sHd…PF"1.@òK%kc[wü;•I´“@ëKk£cJÌJ¤4õêÒËkrË2¸-G1T-’å"?ßú”}q¸Ã’lŒ…¢¼ÁáZ)@òøi&ÊQ–Þÿøÿàx1`#ÀF0€Œ,¦ È' Nsœç9 L…”Á9ä Îsœç D ‚0Ã’I$H$’I$’I$’I ï{Þ÷½ïÞ÷½ï{Þ÷½ï{Þ÷½ï{Þô`#ÀF0 @ °  €@ €Ûa¶Û`Ä~›Ý- (<áç Ø^Â. (<á{ÐBö4½‰T/aç̃Ï"ø!—•˜á!ùÃÎ4©ì/a{;÷Š t¬Ã!Í󾢤¿ýSD"¥rÂ$y…ZÀy«H¢,¾@õš@ØVdÇ\N爔½µJP²G lê~¹(ÿù „™0ˆè°¤)r\†%‹šv‚¥fj¸Y€#~¸¥ÉRœª­ßÿþ*š(´FCq†à<-ãÀU€ðx-  µ'DŘC È´*‚0È€ˆ <ð €ðÀÀ €ðÀ€BÀb< 0ÀÀb ÿÿÿà lÿú?ÿGÿÿèÿý?ÿÿ§ÿÿôÿÿþŸÿÿÓÿÿúÿÿ@ÿý?ÿÿ§ÿÿôÿÿþŸÿÿÓÿÿúÿÿOÿÿéÿÿýÿ ÿôþ€ÿÐÿú?ÿ@ÿèÿý?ÿÿ§ÿÿôÿÿþŸÿÿÓÿÿúÿÿOÿÿèÿýÿ§ÿÿôØÿôþÿÿÐÿúÿÿOÿÿéÿÿý?ÿÿ§ÿÿôÿÿþ€ÿúÿÿOÿÿéÿÿý?ÿÿ§ÿÿôÿÿþŸÿÿÓÿÿú?ÿ@ÿèÿýÿ ÿôþ€ÿÐÿúÿÿOÿÿéÿÿý?ÿÿ§ÿÿôÿÿþŸÿÿÐÿú?ÿOÿÿéÿÿÿü  @@@€@@@@    @@  1†ÿÿÿðÿÿÿàˆ(€CÿÿÿøÿÿÿðÄÿÿÿÀÛm¶Û`=¶6Ûm¶Ãÿÿÿø…1Œ` `cÆ1Œ`0-cˆ?ÿü#ÿÿÿü ”'ÿüÌ  ÿÿÿÿÿÿÿü8HFÀÿü@ÿÿÿÿ% ÿÿ3ÿÿÿÿÿÿÿÿ°ÿÿÿÿðÀÿÿÿÿÿÿÿÿ>d8p0ÿÿÿÿ?ÿü@&@"?ÿÀHÿÿþãÿÿÿÿÿÿÿÿÿÿÿ €@ÿÿàŽ¿ÿÿÿÿÿí,ˆ?ÿ@@Ð?ÿ@@bÀÿü†’K$’I$’KVI$’@t0ä’Y$’I$BZ²I$“ÿÿÀÀàR€A€$€ @„ÿÀ€èaÉ$²I$’I „µd’I$CI%’I$’I%«$’I?ÿü % @`Hb€ÿüÿÿð?ÿüÿˆ$ÿð?þÿÀÿÿð?ü @€ÿÀ€€ *D!IQP‡='JÔ¦ $JÆ),z”À”ÄGE¸ßÿÀˆ—† ‡JPqÌYQD*:C]T|`·eŽ¦È”ý9è*ݯ 8–$*÷ÿ€âT 'I’*Î&ib,µÍqÄÇ@k²¼½&ßÿþ/A@´U+Ëâ¼È#!c8BÓéÿ‚•å(KH$ì_”ˆ<İy,”Àˆ <ð €ðÀ€BÀb<ˆ <ð60ˆ0?ÿÿÿ€1°ÿéÿÿý?ÿÿ§ÿÿôþ€ÿÐÿú?ÿ@ÿèÿýÿ ÿôþ€ÿÐÿú?ÿ@ÿýÿ ÿôþ€ÿÐÿú?ÿOÿÿéÿÿýÿ ÿôþŸÿÿÑÿÿúÿÿ@ÿèÿýÿ§ÿÿôÿÿþŸÿÿÐc`ÿÓÿÿúÿÿOÿÿèÿýÿ ÿôþ€ÿÐÿú?ÿ@ÿèÿýÿ ÿôþ€ÿú?ÿ@ÿèÿýÿ ÿôþŸÿÿÓÿÿú?ÿ@ÿèÿý?ÿÿ£ÿÿôÿÿþ€ÿÐÿú?ÿOÿÿéÿÿý?ÿÿ§ÿÿÿð8€€€€€€€€€€€€€€ÄÿÿÿÀ?ÿÿÿ€( b ÿÿÿàÿÿÿÀ`ÿÿÿx¶Ûm¶Ûm¶Àm†` ðm¶Ûm¶Ûm€Û 6ÀÿÿÿàÀ cÆŒcÆ1Œc1ŒXÆ0 @ÿÿð oÈ4ÿÿÿÿÿÿÿÿÿÿÿÿÿÿô@ÿÿåüÿü`–¿ ÑÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÑÿÿ—ð?ÿñ‚[ÿÿÀ?rÿø†æGÿÿÿÿÿÿÿÿC_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿå1lÿÿÿÿ€ÿÿÿÿÿÿáR‹0 @ÿü}€@@ ÿü}€ˆ#ÿð :’Fš‘…€6Ä„É!†IÐä’4ÔŒ(¤¶$&I 2Oÿÿ " €A?ÿ¡É$i©QHlHL’dI#MHŠ@bBdÃ$ÿÿð02@"@ ˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿ¢½,cÐÃ!,ƒ.Þá1$"XÔ•¥[á\¥5GIÌeIÞÐÎpœ‚.sÁ¥‹ÿÿð2R* ¤°¤mÀ %$ˆ ÿø掻 ÚØ­`TDDL“7ü²7è´^r·– VÕâÀ n?jAÐÑѪ9Hº"£ŸùÊ¢âòéäiñèê\üúRÚj’ùÿÿÀ ¨;¨Â8æO–·¿J$¦°ŽÈBÑž”1‚ ÿøÿÿøÿÿÿà1‚ éÿø掻 ÚØ­`TDDL“7ü²7è´^r·– VÕâÀ n?jAÐÑѪ9Hº"£ŸùÊ¢âòéäiñèê\üúRÚj’ùÿÿÀ ¨;¨Â8æO–·¿J$¦°ŽÈBÑž”1‚ êÿøÿÿøÿÿÿà1‚ çÿøêþ†¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ‰ÏÿÿÊ_ÿÿðç?®?ñ‰Åÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý_ÿÿµýïÿÿØ9ÿÿðî/Äéÿÿÿÿ_ÿÿÿÿÿÿÿý£ÿýÿÿõ„ @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþûcÿ“m¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿšcÿÿñ¿Ñÿü9/èü£_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿYgÿÿî‰ÿÿöÿüû ñ¾Ÿÿÿÿ×ÿÿÿÿÿÿÿÿ©ÿÿgÿÿý¡ B > ?ÿÿøÿÿÿð?þ B >p?ÿ€þÐÿáÖÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæ™ÿüôÿÿRSú#ÿ(´—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÞOÿÿüÞÿÿý£ÀÿÿÿüOŸÿÿÿóÿÿÿÿÿÿÿÿÞ_ÿÓÿÿÿ`Ä€$œÿà?¶:˜UÍ2)& Ð$JDÇñ…Ú¢váYæ ›A"=T"ÀŒþð:A* Ç@*—<?Ú¦xú µ\ªûÇynT´‡0‡ÿÿÀ˜ª=0ó±(.™¿Hš|¹§¿m#¤c7777BUFR .b€Ž4Ž}EPi€ƒ°@TØ´5gàrpà% .²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ *!U0ÔÀà€U0ÄÀàØU0ÜÀØ€U0ÄÀàØU0ÐÌä€U0ÔÀà€U0ÌØÌ€U0ÔÀà€U0ÐÌä€U0ØÔÄ€U0ÜÄØ€U0ÌÜà€U0ÐØä€U0ÔÀÔ€U0ÄÀØäU0àÈäÀU0ÔÀÔ€U0ÈÔØ€U0ÐØØ€U0ÄÀØäU0ÄÈÔÌU0ÄÈàÔ9]äÈÀ€U0ÌÈà€U0ÄÈÔÌU0ÄÈÔÌUALØÜÔÐ9]ÔØ€€ àÔÈ€U0ØÔ€€U0ÐØä€9]äÈØ€0ÈÔØ€U0ÔÀ€€U0ÔØ€€U0ÔØ€€U0ÄÀÔЃ€ú€( 0À’I%$’m¹$¶ (ÆB„)LcB"!)R—l °bÒBSbгŽ( ”´ˆ°Ê£¿Á4¸?$âQºß Ý@!Q†Ã%ª ·ÜD¢Q&o0h¤ 9 ‘JÄþÏ L¸£’|ÿLj+±Ù‚Ç͆X(½°07ÁZ®XwŽv !¿æµÅë6æ¶¿ìÛê$0íGiê%§ìÙŒç:•ëçÙí×tæÃîç£èµúçîEç?wëž›êSè—´è2ç¶âeÄëƒÀçûtçòªörörîÐ÷á%ñçNà˜WâeÄàÞ*àpà ªwü‚Ç ·D¤Äzn[…»î+p·Ý Ú«îSï¹n)÷Ü-ÔúbyïºĘÑt†"CÒ4CáV…úF¥ecPà¡c(“˜#`ܯÇÒ¼F[I¨€ðŒ ÃÀ)JU„Ĥä4Å™®óJý þ|,׫¥›‰xº1­] ’É]ˆÅn7׎Öóeˆºi¡&@ðP( €‹‘@<Z &B änA B€õ£qªa—ÍÅðð†ð?ÿÀÿÿÀˆ#ÀF0€Œa@ H8Îsœç9Îsc0˜ Îq…% @ã9Îsœç9ÌŒÀN`'9Æx€Œ`#ÀFˆ$’I$‚I$‚AÛm¶Û ¶Û 0 †` @ PÚ©^‘v$ª”É/I‹ÒªüCü ËTâg©b*:(ÄUzDQ¨pU"* ð4È1‡uR#ïÉæ‘1@øU ÔnÔ†~]ÆTsa°L¬z”Á§­sæÉŽÆ´adI_—ƒ²bþ”#ÚÙD°úÒBŸ«ØÕêó4eQ«S*¸ÿÿÿ…ZéR••@W‚…Œ VN`Œƒr¼#Jñm$J x Â0(7¥)Tˆ <ð €ðÀ€BÀb<ˆ <ð Àÿÿÿþ@Àþøÿ€ðþÿül?àÿ€øÿ?àðÀÿÿÿð6ððÀÿ?àüÿ€ðø?àˆ0?ÿÿÿ€ÿÿÿ @!ÿÿÿüÿÿÿøb ÿÿÿàm¶Ûm†Ûm¶`à ° öÛm¶Øm¶Ûa¶l0Ûÿÿÿ{m¶Ûl6Ûl0À6m€€AÿÿÀ‘¿ÿÿÿÿÿÿÿÿêÿÿÿÿÿÿüÿüÖÖÿðÿÿÿ‘¿ÿÿÿÿÿÿÿÿêÿÿÿÿÿÿüÿüÖÖÿðÿÿÿÿÿð¸Ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð#ÿÿÿÿÿÿÿÿÿÿú1ÿûKÿð¶ ¡>ÿÿÿ oÿÿÿÿÿbÿÀÐ}ÿü}bÀÿü† ‚ `ÈãÀÔ’I)¡€ˆ ˆ28ãp5$’JDÿÿð02€!  €I @ ÿÐÀDD q¸’I%"@t0Gn¤’IHŸÿþP ‚ $ˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿ"¤©9”„x9ɬ¤ZóB¤Þç¾< *Hƒ‘EXâ5“lÙ¹,+9 k ¯ÿÿÀPä èØb9Ò%H€1‚ÿúÒÒUU“Ì•”ÏáSžTÀÛWÙ …›SËÉÍT˟φQ(9̪‹¶‚Åâ#sWÈM)»ƒHÓ\†Ò,Ô,ÿÿüö ª²Ã8¢k–á,4Jõu€Ã¨›ÄªÛ/È  B?ÿÿøÿÿÿð?þ B>?ÿ€ýiŒi*‰*ÉæÊÊgð©ONª` íˆ+‹‹lÂÍ©åäæª eÏçŽC(Œ”æUEÆÛAbñ¹«ä&”ÝÁ¤i®Cij ÿÿþû UYa‡œQ5Ëp–%aÚºÀaÆÔMâUm—äPˆ!PÿÀÿüÿÀÿÿøÿˆ!8ÿÀÿÿÿÿÿÿÿÿÿÿÕÿÿÿÿÿÿÿþoÿÿëÿù_êÿÿþþðßÿÿÿÿÿÿÿÿàÿÿÿÿÿþ×ÿþÿû?Áÿÿÿÿüû‹ÿÿÿÿÿÿÿõÿÿÿÿúÿ~ù*ÿÃõÿb@ÿð?ÿÿð?ÿþÿÀb@ÒÿðÌÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿ‹ÿÿùB€þKùÏÿÿ¿º7ÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÅÿÿ€8ßÿîÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿþß±¨xð}?ÿÀ€AõÿüÿÀÿüÿÿÿð€AóÿüòÇÿÿÿÿÿÿÿÿÿÿûÿÿÿÿÿÿÿÿãÿÿþ¨Pÿ”þÿÿïîÿÿÿÿÿÿÿÿþGÿÿÿÿÿÿïÿÿàGÿÕûÿÿÿÿÿÀÀ¿ÿÿÿÿÿÿþïÿÿÿÿ¿óð‰Þü?Gÿð @„ |àÿüÁâFjå—FQ'|o"h¡9ærˆÌ<®õ¥ Bœãûã??ºêÕ—x‹rì[TW[yáh §stÕCÿÿðê0¤”zgœqç$âšpœ{É>"I–F"E$ €7777BUFR db€Ž4Ž}EPa€»ZTÿÄ= k“% d²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ `!U0ÜÈÀ€U0ØÔÄ€U0äÌÄ€U0ÌØÌ€U0ÄÈÈÄU0ÄÈÌäU0ÄÄäØU0ÄÈÈÄU0ÄÀØäU0ÔÀà€0ÈÄà€5PØÈØ€U0ÌÔÈ€U0ÐØÄ€U0ÄÈàÔU0ÄÀàØU0ÄÈÔÌU0ÐØÄ€U0ÐÀä€0ÈÄà€U0ØÔ€€U0ÄÀØÌU0ÄÈàÔU0ØÔ€€U0ÈÈЀU0ÐØä€5A ØÐЀ ]äÀÀ€UALÜÈà€0ÄÔÈ€U0ÈÈЀU0äØÄ€U0ÜÔЀU0ÈÈЀU0ÐÌЀU0ÔØ€€U0ÔØ€€ƒ€ú€( 0À $’’m¹$–†0ë°Ã,³e·_z뮽VXÓM€\r 40Ö²êŸø…žm`!aW‡–bu(_VA™l‡!2!ï€kª€= ]0»0gdÁ¸¬‡–b$wð_u‹‚ Ú·p„b¡p§‚'…0cœÒiˆÿ¶-&˜¢JâAd…Ú%ú¨‹HA猀#(»Z_u€5‡ 8â€kåF °7½ˆogˆEâ O¦ PZP€"¨mà=ó`N`5¨L‰À6òh7@ˆO€±LëhC‰é595ÀÁôXÑ6˜Ñ6˜Ñ6˜Pò¨9Ìà4ò°Y‰àNRÈ2ÈàQ=tLH•º=ƒÐÍÖÛ’v-Å×1‡bìF’brO=سwž@Ï…nIº>äĘŸsî5g¢ ¥á¹|_AA®*¢€d „cHZ¤DŒ…¢ÐP¬¬`ƒ y@Cƒ Ê}ĹœÌ(JÑS5Yn(¬5tʤ2]ÍÇkñž»t<•€KµôÝc ÛÌg¬ <­å™,ª¯<EU¢¹ÐH&B©rÀ¦‘C\Ò i.E×ÿþÿø @ÀF0€Œ`# 9Æsœå9€œç8Lœæç9ÎsŒ,çÎs”æNsœá0Ns˜œç9Î0ÀŒ`#ÀF0 @ ° €@ €H €@@ € öÛa¶Ãm¶Ãm¶ ¶Û1‚ö&ÅìôÂ=2A…5?Ž,¦" ¦CXA@І†Sg¦°LÃB8°™àOÁ3…… sÓ˜àÇ`šŸß.Qæa.&ù††ž„ëfœ¬ªJ¤(Ã[0H—Ì öä¨OXú8"žeÂH ƒ±fQ®ô¢YÌn9þ¥s*[kÕ'¨4µé±!5kv«ù›ë;¬¥„¥¤ÔsíÛ1ÿÿàB¡T¢7/‹àÈ(5ÅQôP „Œi BÔˆ‚‚дZ •Œðd(pdC b<ˆ <ð €ðÀ€BÀb< À`ÿÿÿ `øøÀøÿ?à6ÿ€ÿ€üÿ€ðþÿÿÿø@@@€@@@@@@@@€€@@@@ Àÿÿÿþÿÿÿü @!ÿÿÿüÿÿÿøb ÿÿÿàm¶Ûl6Ûl6Û`Ûm° öÛm¶Ãm¶Ãm¶ ¶Ûÿÿÿ¦1ŒcÆ5€cÆ1¬cÆ0Æ1Œ` @ÿÿð oÿÿÿÿÿÿÿüÿÿÿÿüÿÿÿÿàÿÿÿÿÿÀ oÿÿÿÿÿÿÿüÿÿÿÿüÿÿÿÿàÿÿÿÿÿÿÿüð'ÿÿÿÿÿÿþÇÿÿÿÿ„?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀoÿÿÿÿÿÿÿà @ ÿøú ÿ€  @ ÿÐËÈ£’I!rI–H܉@t2ãr(ä’H\’@%’7"_ÿþ˜  ˆ!ÿð :q¹rI$.I É‘(†\nE’I ’H²FäKÿÿÀÀÀ 1‚@þÿÀÿøÿþÿ€Äÿøÿÿàÿøþ @ÿà@4R­‰[Z–™rkÑ‘Œ“âkš†5e,…ރŪy˜µ(¯a–9*É-JqÔÿø `"’h” „¤“$ @€ÿà?Ž:÷ìÖWP6 ¡0žIö’ÞÊ¡SFô#ßGc=9ù¸Ù:0w$-Âi£É¹Z¢¸¬!lÚù¼Úr´xÍa£Sÿÿðà1kŽ›`9ƒ$€cD† »i„F¨ãŠ (à @ @ÿþÿàþÿÿÀÿø @ @ú@ÿþøã¯~ÍaÕu3`ÊÙäŸi-ìª4oB=ôv3ÓŸ›“§ópâBÐ,&š<‘k•ª+ˆúÁRͯ›Í I+@ŒÖ5?ÿÿþ¸é¶2H0Hj ¶‘hDaÊŽ9 ²Œ2Ä€¨ÿàþÿàÿüÿ€Ä€œÿà?Š?ÿÿÿÿÿÿÿÿÿÚÿÿÿÿÿâÿÿÿÿà9qÿÿÿÿÿÿ¼_ÿÿÿÿÿÿôÿÿÿÿàÿÿÿý$ÕÿÿÿÿÿÿÿÀÀ¿ÿÿÿÓÿÿÍÿÿÿÿÿÿÿÿùPÿÿÿð @„@ÿÿð?ÿÿÿàü @„@} ÿûÑÿÿÿÿÿÿÿÿÿþóÿÿÿÿÿÿ+ÿÿÿÿÿ&_ÿÿÿÿÿûþbÿÿÿÿÿÿÿ‡ÿÿÿÿ'ÿÿÿà)ÿÿÿÿÿÿþþÿÿÿþ?ÿþoÿÿÿÿÿÿÿÿËÿÿÿÿ€1‚ êÿøÿÿøÿÿÿà1‚ çÿøßÿÿÿÿÿÿÿÿÿ÷ŸÿÿÿÿÿùÿÿÿÿøÐ`ÿÿÿÿÿßíÿÿÿÿÿÿÿÿWÿÿÿÿÿÿÿÿÿÀA¸ÿÿÿÿÿÿÿ€ÿqÿÿÿ¯ÿÿŸÿÿÿÿÿÿÿÿòÉÿÿÿÿà @ @ùÀÿþ÷÷|ÍJ•²ÃÂ`ùôz$·…"[yÓ«áF<SZ3³•ôgøF¥a¡l`Xb4aŸ’¾aökdŒºÜiõk€0EAßÿÿþC¡*¤-¦!†A"ÆA¨2ˆ¤œ!Kš1aÊ®7777BUFR ªb€Ž4Ž}EPdÆ3ð…ƒ°i{è% ª²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ¦!U0àÈäÀU0ÐØØ€U0ÐÀ€€9]ÜЀ€U0ÜØÄ€U0ÄÈÈÄU0ÌÈÔ€U0ÄÈÈÄU0ØÔÄ€U0ÄØØÀU0ÜØÄ€0ÈäÜ€)0ÜÌ€€9]ÜØ€€U0ÌÔ€€0ÈàЀU0ÐØØ€U0ÄÈÈäU0ÔÀÔ€U0ÌÜà€0ÈäÜ€U0äÌÔ€% ØÐÀÈU0ÄÀØÌ`ÄàÀÀ0ÈÐÜ€Q!PÌÌÉU0ØÔ€€U0äØÄ€U0ÜÔЀ0äÔØ€U0ØÔ€€U0ÐØä€U0ÄàÀ€U0ÐØä€U0ÔØ€€U0ÔØ€€ƒ€ú€( 0À $’’M¹$–‚0ä ®ºóÏ=fXë³n8îYÝ4ÒsE4Žrpûæc¾ñTè_úPªpÑ ŽÌOø !¼+ògÖ²Ý0#bV%28 Çåœ0Œjç0¹“ÑÁÂ3zÀ‰U).ü*œ4Fo@%UÂÞ`ýrˆÞ‚ÇÂ+¯˜_ ªIÁ‰B$v@F0ÀÉ4* Ÿ`!ç°äÝØ@¶¤äüœ‚'d@ç àÇn°L÷ Ä|½˜9£ÜLçqRO‚ lV`6 7±ÐÊüqñr‚'€‡žÀWàT˜÷ƒî€®€è\`˜op<ñ’|An8ån…¿%º= ˆôzD±+Wmò^cçæéˆô˜Ûz¯c¸æößÝÉL[§cÉv; ^ÓÐäPy;EäëSÐBXª3G0´#€ÜÒGO¡ô<QsB1|( B€(SÇÒ,%„B…*`úqhÕY¹"Ä rt½['BâÜ{5.7;Il¼h7\ +5Ak>1;W1&@ZG;W'O-8FAÿÿøìœã„ËŽÜ`dØ*––YÕ[Q„êh@ ] @„ }@ÿÿð?ÿÿÿàü @„ |àÿý¡ÿÿ)3ÿÿÿÿÿÿþ^‡ÿÿÿÿðÉÿ{ÿÿ÷ÿÿÿÿÿûùƒÿþ¶¿ÿÿÿÿÿÿûŸ&!ÿÿÿÿÿêØþ¿ÿÿà?ÿÿÿÿÿÿÿ!ðCÿÿÿÿÿêÿÿÿÿÿËóÿÿÿÿÿÿà @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþûƒÿþNOÿÿÿÿÿÿük‹Îÿÿÿÿà?‘þ÷ÿÿñÿÿÿÿÿ÷ðÿÿ9aÿÿÿÿÿÿÿÿE†!Mÿÿÿÿÿÿ1ÿeÿ:ÿÿÿÿÿÿÿÿÿÿÿøÿ?ÿÿÿÿþ ÿÿÿÿÿü¿GÿÿÿÿÿþÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?°?ÿæ¦ÿÿÿÿÿÿÿÊÀÑÿÿÿÿþùoïÿÿÿÿÿÿÿÿÿÚWÿÿÿÿÿÿÿ}ôäÿÿÿÿýGúÿÚÿÿüÿÿÿÿÿÿÿð 'øwÿÿÿÿÐÿÿÿÿú{ÿÿÿÿÿ€1‚ çÿøìY™f˜•’"W’/4FÜÚ²ú…dZ«ÕãÞCX¹Ñ# ßÄ Ð´Ýeá i%Døé üy-üÌÕxجùe$áÜÜ´àÝÿÿà? dj†7ŠNHdm±–hÛ›…§Û„ö½3ÀUæ7777BUFR ¼b€Ž4Ž}EPc€ Aú-•ì³ tºÐ% ¼²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ¸!U0ÌÄÈ€U0ÌØÌ€U0ÈÌÌ€U0ÌØÌ€U0ÐÀä€U0ÄÈÔÌU0ÄÀØäU0ÐÀä€U0ÄÈÈÄU0ÜØÄ€U0ÄÄÈÐU0ÄÈÌäU0ÄÈÔÌU0ÄÈÌäU0ÈÔØ€U0ÌÈà€U0ÄÀàØU0ÄÀàØU0ØÔ€€U0ÐØÄ€)0ÀÜÜ€)0ÜÌ€€9]ÜÈ€€0È䨀U0ÈÈЀU0ÄÈàÔU0ÄÀÔÐU0ÄÀÔÐU0ÄÀÀà0ÈÔØ€U0ÌÌä€% ÜàÌ€=4äÈÜ€!0ÈÄ€€9]Èà€€UALØÜÈà-14ØàØ€ƒ€ú€( 0À’I$¤’m¶ä–€0ãC¯Á QÆB 40àE´Ûns²Êb¤²½†¾hSÝ`XN`çŽ1ÆI~ý.XÆÆ‚jnR{”Ýî¾®B<GâB´ûÊ8zj²©Ÿ–ì÷ ùø–È©"P.#’rù”3;B …2~†MÞKVþ`A”k@x¢ÐQL€$PàܰÙÄlÐ7»Ôä–d5¨)Yðˆ$Êlä÷€²X@ÀC±ÝĘäxH€5ØKÀr=@¹lÀ_… 1Ì«%æ;ÿý€?z-B²^a:ª±Àe,=&!nzÃtnŒ`z¸_pv"ݪ±ˆ dIv.ÅŒÐô-Í[±}Ï=ŒD–nóãDCO/•ã¬_Ãq}1M‰(VC%d# Àôì(ň ÜðÏE¼hÑp´XLWVPPXÆbü}ˆÕ! Uò?ne%Æw‹CEé䤑¯õ§&Sz÷6`ˆö=‰+¢”Fµ²\t¯Xm$bíÂN¥¸×Æ×-ãÿÿÀˆb©åò¼u‹âXn/¦)±"¥ÊÈd¬„a¸…x  ‡ŠRv“™¢0 É" Äx@xà @!à€1„€Äx6 Àÿÿÿþ@ÀþÀøÿ?àüÿ€ðþl?àüÿ€ðþÀøÿ?àÿÿÿð8€€€€€€€€€€€€€ @!ÿÿÿüÿÿÿø¢€CÿÿÿøÿÿÿðÄÿÿÿÀÛm¶Ûm¶Û6Ûm€Aí¶Ûm¶Ûm°m¶Øÿÿÿþ!LcÆ1Œc1ŒcÖŒcÆ0 @ ÿÿà@ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿà$?ÿÿÿÿÿø@‰@ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿà$?ÿÿÿÿÿø@‰ÿøÜoÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿËÛÿÿÿÿÿÿÿÿÿÿÿÿÿÿà³ÿÿÿÿÿÿÿÿÿÿÿÿÿ°W¦.Ð l°è¢±ÙSã»îƱa r-äX2é4xdPÝÜáz™ã&↨9óÈN?£w™0ý€þ>€1‚`þC2Hd’I!!C,‘ $–IÐÌ’$’HHPË$h %’ÿø @($ @„ÿÀ€èfI ’I$$(e’4’É :’C$’I d$²Oÿÿ$€Äÿøÿÿàÿøþ Hÿàüÿÿÿàø @ ÿáFÓœåR¥­²€†E4ªS¤¤[Ʊpn1Œ6•K‹T·d{HÔ¹kc1ìcUÿÿà(h€Kn&”$Å[i2@€A?ÿ€ù‰,GqÆñZªØMw+aæã‰Ç,ÆãQÇ@t2ŸÊ`­äÑ}:,ö{‰~¬†¦REs¥ÔƒVsöw6#t$TÓ“‰Öó…Fgøh…UÅEIÿÿ€ýáÍ>ˆŠµEÑ¢$ª eHŽž4›S­T£Nà’ÅÏ&˜ø B?ÿÿøÿÿÿð?þ B>?ÿ€ù‰,GqÆñZªØMw+aæã‰Ç,ÆãQÇ@t2ŸÊ`­äÑ}:,ö{‰~¬†¦REs¥ÔƒVsöw6#t$TÓ“‰Öó…Fgøh…UÅEIÿÿ€ýáÍ>ˆŠµEÑ¢$ª eHŽž4›S­T£Nà’ÅÏ&˜ø B> ?ÿÿøÿÿÿð?þ B>p?ÿ€ÿHÿÿÿÿÿÿÿÿÿÿ€Çÿÿÿÿÿÿÿÿøà?ÿÿÿÿÿäFÿÿýúñÿÿÿÿÿÿÿÿÿÿ‡ÿÿÿÿÿÿÿÿ÷ÀÿÿÿÿÿçØÿÿÿÿÿÀØßÿÿÿÿÿÿÿÿðÿÿÿÿÿÿ³úåÿÿÿÿàÿà€1‚ ÿøÿÿøÿÿÿà1‚ éÿøóÿÿÿÿÿÿÿÿÿølÿÿÿÿÿÿÿÿ˜ÿÿÿÿÿþTOÿÿß­ÿÿÿÿÿÿÿÿÿøpÿÿÿÿÿÿÿÿ ÿÿÿÿÿþ•Ÿÿÿÿÿüý ÿÿÿÿÿÿÿÿÿÿÿÿÿÿû®gÿÿÿÿþÿþ B > ?ÿÿøÿÿÿð?þ B >p?ÿ€ÿ@ÿÿÿÿÿÿÿÿÿÿ‚¿ÿÿÿÿÿÿÿÿù@?ÿÿÿÿÿæÿýû1ÿÿÿÿÿÿÿÿÿÿbŸÿÿÿÿÿÿÿÿõÀÿÿÿÿÿçXÿÿÿÿÿÀÀßÿÿÿÿÿÿÿÿñÿÿÿÿÿÿ¹û&ÿÿÿÿàÿá€1‚ çÿø’½k+爵Ål²Ç„HÈn/œ1–»î¬5YìW31šÃ]0–pìÈaFz%h:J]'YIXR[=,D@8D<€PUH`DSgtvPYY]¦ÿÿøëÓ@Ù!u –õÝMcÎ ªK™•LâÀæ‚]7777BUFR øb€Ž 4Ž}EPe€¨Ì*~è„À`i  % ø²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ô!U0ÄÈÔÌU0ÜÄØ€U0ÜÄØ€0ÈÐÜ€U0ÄÀÈÜU0ÄÈàÔU0ÈÔØ€U0ÄÈàÔU0ÄÀÈÜU0ÔÄä€U0ØÔ€€U0ÔÄä€U0ÌÈÔ€U0ÌÔÈ€U0ÔÀà€U0ÌÈÔ€U0ÐÀä€U0ÄÀØäU0ÄÀàØU0ÄÈÈäU0ØÔ€€=äÀ€€U0ÄÀàØ9]ÜÀ€€9]ÈÜ€€)0Ü䀀U0ÄÈäÀU0ÄÈäÀU0ÄÈäÀU0äØÄ€U0ØÔ€€U0ØÔ€€9]äÈÈ€U0ÜÔЀ5PäÈЀEà€€€9]Äà€€ƒ€ú€( 0À’I$’’m¹$¶’0AQEi°aˆ$QÇ`óð:ëÏy¤€ùeOÝúY€cÅèŒ-ã´ÚG˜)ú?r;I¼vºˆÔµ!áRÃÃAÇ6ìi"Ø6Çpv¶ ù-ô]ÃÚ0·š¡ö45¢xb0Þ‘½ãzÆÖ} ©~WÞ,i$wȸИ*€EF`Éo `» Ð]œØ $åV ó].ç‚{ü€ýèºv`)p*ÄèÒ\EQ\?€Ù9`~  5-H±üø‚É#V~zªOSœC©Î 6 `Yô ³Ð©ÚÀs j+°Ÿàø/(tÓ:8 ¥·CÐ[š©«5Ì`ôèÑ#BÜ©‰O@ô=ì yàº<÷ÜCз=%;Ý âKt…BÈJl7(™zŸ@(<‹‘®P$ê¢N¢… ¼A âÒЧ§f’0‚ àÈP@1/Ñi–^Óoº wÜÑÊïj¯^‘#àL?“Ñ(“¬à˜‹¼ à´)­¢“a2>ˆ!@úˆ%p“a(Hƒ  <¤}Áh€xZŒ´ç§à™ˆ[£ƒ‹°htý€zÚ°MkIhhAŽ1Å¿¥àP‚H‚F‡Bi€@u€pÕäe (ãE¼ Àèe&ËT4? ùa脾QLàıïF{É À% ô쑬›‡ÔãjžŠ¡•l¶+dáf¸«[ã¯ÿÿÀ…BÈJl7(™zŸ@(<‹‘®P$ê¢N¢… ¼A âÒЧ§f’0‚ àÈP@Äx@xà @!à€1„€Ä€Àà`€€Cÿÿÿø@@@@@@@@@@@@€@@@€@€           @   @ @ÿÿÿð9€€€€€€€€€€€€€€€ @!ÿÿÿü ?ÿÿÿ€ ˆ0?ÿÿÿ€ÿÿÿ @!ÿÿÿüB˜ÆŒcÆ1ŒcÆ1¬`1ŒcÆ c1ŒcÆ1ŒcƱ€Æ1Œÿÿÿþ!@cXÆ1ŒcÆ1ŒcÀ0cÆ1€c @ ÿÿà@ßÿøÿÿÿÿÿÿÿÿÿÿÿÿÿø9ÿÿÿÿàú€@ßÿøÿÿÿÿÿÿÿÿÿÿÿÿÿø9ÿÿÿÿàú€ÿøÞg:ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ’Øÿÿÿÿÿÿÿÿÿø[ÿÿÿ€y1‚ÿàè>€þ>€1‚`þCˆÄš6V ‰’’YÐâ1&•†È"A$$¤–ÿø †A € @„ÿÀ€èq“FÊÃd ’RK :F$Ѳ°ÙH$€”’ÏÿÿÀ0 ¢Äÿøÿÿàÿøþ Hÿàüÿÿÿàø @ ÿÑNc-IÌ–²;"ì!Œ)VÆ2P¥b¤ªaØ,`” Á«F€…«kcÿÿà(`¡03©¸LDÈÙ!„€€A?ÿ€þ(òØM•1’ÑYÚ¾Wš¡}EH\rƒyÚŠ‡ïš’Åü2NÛO †“ ×à TÝ ‘ @ÖRÎJÍ V‘›ÿÿþöúJ¤Šùj¢Š]ƺ²‡(€²´Ý›é«·/Þ ,lˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀyl&ʘÉh¬í_+ÍP¾Š¢¤.9A¼ŒŠí@‚ÅC÷ÍIbþ §m§‡ÈCI…ëð*n†‡ŠH† k)g%f…«H‡Mˆÿÿû}%RE|µQE.ã]YC”@YZnÍôÕÛŽï–6Ä€¨ÿàþÿàÿüÿ€Ä€œÿà?à?ÿÿÉÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý[ðÿÿÿÿù_ÿˉLÿÿ¡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúà ÿÿÿÿõßÿÚmÿÿðè4ÿÿÿÿÿÿÿÿÿÿÿÿÿÿçþÿÿÿÿú¿þh @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþÿÿÿüWÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÒÈÿÿÿÿÿ‚ÿüh7öÿÿùßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦Ÿÿÿÿÿÿ9ÿý¤ÿÿþƒGÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ‡àÿÿÿÿÿ©ÿçÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?ì?ÿÿÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüãðÿÿÿÿøoÿÉ\ÿÿœÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú0 ?ÿÿÿÿôßÿÞOÿÿðè4?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿçþÿÿÿÿúŸþp` @ @ùÀÿþù#ÄSä|e#ÛŒ­MhGmW#Jømdé[a«¦Iáµz—ôÇl¢YòÇd:%œYEÁH,Hª±ÛÉ”¢N™N7?ÿÿücdËìµ 0@Óæ6äL©à;h½sË0ÈÓ¯¤7777BUFRDb€Ž 4Ž}EPd€3œ'7ˆ®<u~ &D²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ @!U0ÐØÄ€U0ØÔ€€U0ØØÐ€U0ÄÈÈäQ@ÄÌÀ€ I0àØÐ€a1àÌÄ€19ÜÌÀ€M%ÈàØ€ ÀÌЀEà€€€U0ÈÔØ€ LÔàØ€5A àÈÀ€U0ÄÈÔÌU0ÄÄÀÌA $Ü€€€ ÄàÌ€0Øà€€HØÔÌ€U0ÄÈàÔU0ÈÔØ€U0ÐØØ€U0àÈÄäU0ÄÀÀàU0ÄÀÀàU0àÈÄäU0ÄÀØÌÀÜÈ€5`ÀÀÄ€1aHÔÜÐÄMÈÀÌ€9]È€€€9]ÈÀ€€UääÀÄ -LÐÌÜ€% ØÐÀÄ!0à€€€ƒ€ú€( 0À‚I%$’I¶ä¶Ð†r Uf)v‹2é$]$¢²Ë,ó³.rs²ÒsqÔàPX9‰  ÀÍœ<kh@Þ Šò‘ÄèD¸øw¡_ŒkhÁ4aébÏ Ô‡ Ô‡ÔcßV wD_Œ ¿Ð ³ôN2 0©| œ §fsƒBB?@`o€:÷´ NÐ𬦫 b ¨j²^S„Õ £~ªˆ& (ŒÜ KT¦« b ¨^Ö ®€×M00‰Èa¦æ€y¬pŽhµ ši¢ b ¨š"ˆ´ªCPRÇh‚j_¥À5±Àe-õÀÇÜûŸt …p1É;ì_sî}Ð2$ÀÇbóÛ E¸z ¢bÕ]Œ+¹Ø¼÷$ì_t+„¢†AP„`x2£HŒ(àxn  P ŒŒ«*¨ z& ‡€ nŽbø‚‡@8Jò5eB䎨Šå¯"oS!mX#,ïg¯Uî6]²™‚7€‡k¡ä˜›Ä`€ " ÙŒ£—7¤ydÉ*m؈¨ €Ð ðŠƒf*‘ø ¢)=?Ô9wôlñOKTŒ^]Þ‡E%¢1%P"DœEó- öM^¦â$µ4žvOà|ý“ír¦žld†§HYòfÉJÑy÷hÏ•¤íMD‘É‹y*¤ÜŸÿþ%2 ‚€´#Áx-Da@7ÃpP€ddeYSý@SÑ1<p´sÄ´< ˆ <ð €ðÀ€BÀb<ˆ < llÀ6À€6ÀÀÛ6€Cÿÿÿø@@€€€@€€@@@@€€€@à  @ @ @@    @@ ÿÿÿð8€€€€€€ÄÿÿÿÀPP¨¨?ÿÿÿ€ € (b ÿÿÿàÿÿÿÀ`ÿÿÿ¦1Œ ZÀ `ÀcÆ1Œ ZÀcÆ1kX¬ cÆ1kX oÿÿÿàÆ1­`X¬° cÆ1kX¬` @ÿÿð ÿÿÿÿÿñAþÿðAÀÿÿÿÿÿÿÿÿÿñÄÆÿüÿÿÿñ?ÿÿÿàÿÿOÿÿÿÿÿÿðÿÿHoÿÿÿüñ7ÿÿÿÿÿÿÿÿÿñFüŠ€ÿÿþè‰Hü@¬ÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÉÉÿÿÿÿü á%Wÿÿÿÿð @ÿü}ÐÿÀÐ @ŒÿÀ€èrI$’I$–I$$’I$C’I$’I$²H É$’I?ÿü €@b@ÿü‡$’I$’IdA’I$’@t9$’I$’K$€ ’I$“ÿÿÀÀÀD @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü e­O‚ ³¡[Tª1ëa‰Ïj–رï\Å;¨=2ZLz­hZ˜ÔDƒÅ k—E³ÿÿÀPÄ ˜¶Y(I‰2Jl€ @€ÿà?fA£Z{X¡Šᡲ²êiÁBzk"Û9éšc1á{RPHÚ xù#¶ ˆÇLZ^Âr(W±e(Çä7i ûwv)S)6?ÿÿý+2m(¼QHÒì"é¸ ÁTi4ÂÌÄJ({s´ˆ B?ÿÿøÿÿÿð?þ B>?ÿ€ý™hmíb†(p††ÊË©§m鬋lç¦iŒÇ…íIA#h@-àä Û ‚#q1ix È¡\Å”£ݤ3íÝØl¥L¤LØÿÿüô ¬É´¢ñE#K°ˆ¦â4/Q¤Ó?3(¡íÎÒ @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþöcÿÿÿþOÿÿõm‡ÿû_ÿ°^ûgÿÿÿÿÿÿûÏÿÿ¢2üÿïî ÿÿþÿÿó¨øÿ˜ ÿÿÿÿÿþ÷ÿþóš¥ÿÿÿÿýcÿÿÿüÆ©ÿþª_éÿÿÿÿÿÿÇÿÿ¢k_ÿø B ?ÿÿøÿÿÿð?þ B >?ÿ€ý¸ÿÿÿÿƒÿÿûZÛÿþ¯ÿ땼Íÿÿÿÿÿÿþ×ÿÿèJ¸ÿûûãÿÿÿÿîÉ¿þÿÚDÿÿÿÿÿ¿ÿÿ¬—bÿÿÿÿÀ`ßÿÿÿþ÷ð¨gÿWéú_ÿÿÿÿÿñÿÿè·ÿþÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?n?ÿÿÿâÿÿþö¶?ÿ¹ÿû&±ÿÿÿÿÿÿÿÀÿÿùÓ þþøßÿÿàÿù>ÿ—ÿ÷Ñßÿÿÿÿÿñÿî/¢?ÿÿÿðÖ7ÿÿÿÿÅü‹¡ÿàYúG~§ÿÿÿÿÿüŸÿú¯ÿÿ€1‚ çÿøÜJÓ½˜M³kµV«mRjÁs»îkÕ» ÃÜ/Øæ–\£0Ê¿¾:¥À[‚%{“;źðf‡/H}Ó( ¡6øéã ŒÿÿðÔ2nºGFä¬$º€Z‚gΫN²škÜ«<‚±F€7777BUFR>b€Ž 4Ž}EPe Aú)”‚Ø…Ô&>²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ :!1 ÈàÈ€% ÈÜЀ äàÈ€0ÌÄØ€U0ÄÈàÔU0ÄÄäØU0ÄÄäØU0ÌÈÔ€U0ÄÄÈÐU0ÈÔØ€U0ÌÈÔ€U0ÐØä€U0ÌÜà€U0ÄÈÔÌU0ÄÄÈÐU0ÔÀà€)0Ü䀀9]Ä€€€UALØää€0ÄÈä€EÔØ€€EÄÈÀ€% ØÔÈÀU0ÐÌЀU0ÄÀÀàU0ÈÈЀU0ØÔ€€U0ÐÌЀU0ÄÈäÀU0ÐØä€U0ÐØä€U0ÐØä€U0ÐØä€U0ÐØä€U0ÐØä€U0ÔØ€€U0ÄàÀ€U0ÔØ€€ƒ€ú€( 0À %$Ûm¶ä–І Á¿ qʺë²Ë®}èjC 0ÄãŽy¿ wß‚‘YC1Û ãúÐ1ÛnV ¼ ¹/ù P±†CØK1Mÿ[5 U Ð4‘7\ ›®ÌÝd§²ïÀÙ¦À\Æ ¸p(‹f﹪¼õ¶[‰‹U U—bìE»îv0­ª¼öªäŸpfï¹çƒ×ž[A®5¸˜»Üìax¡h £ê0“Š ¸ª*—Áhn ‚3ÿ !2,b0<)áAÂW™§1þ‰ˆ x‚’÷¶X ‰´™Ðk¹›0çQ¸ˆOà,v,-ìÚ@=%l‡ÁÌÚlµ^O·¸¯BXx€ # xU2hlÃ"D‘%‰`Œ´MpdxÁ@P_„±‚^ÿøÿàx1`#ÀF0€Œ(NS”'6Ns˜0Nrœ¥9ÎQ… Êr„æÉÎs“¦ ÎS”§9Ê0Ã’I$’I$‚I$’I$’I#ÀF0€Œ  I I$’I$ ¶Øl ¶Ûm¶Û1‚ö&Ž,ã ™L[„øñ†iøaƒ~ZHhCC8pc†„ ˜Ã, }?,á3À8LÛ„§õÿ0¸O 1ÃBý¢˜‘DÇ*N0à.dAÓùL V|/]àZTŒSWT`ÓÊá$VÌd™ôOÿÿÿÿÿÿÿê ‹Àÿÿÿÿÿÿÿÿÿÿÿ±ÿÿÿÿÿÿÿÀ?ÿÀ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€Aÿðô@?ÿ@@bÀÿü‡$$R,’A$$‘’@t9$hÁ"Éd’ ‰$Œ“ÿÿÀÀÁAÁ€ @„ÿÀ€èrHÑ‚E!’É$AI$C’FŒ) –I ’’HÉ?ÿü €,€b€ÿüÿÿð?ÿüÿˆ$ÿð?þÿÀÿÿð?ü @€ÿÀ€h³z¤Sã[Ø– æ8c‚õ-‰9–•À4Y½9ŒÐ)J2ˆ–JNc"±ábR“œ­;ÿü •Eƒ`¦dlÁ&bÿþõ$1©L¬¨¡Ñœ§Â):,¨Ø#¤·,0C¶Ã;£%¦)2%'/¸5¿ª:cXÛÄa £.‘Jñ3F‘X4€º™O‹‚~¹ùÒÍä°sÿÿðÂ5m€j¾í;p½ Ý:ijd9*rÛ·bo¹r÷1‚ ÿøÿÿøÿÿÿà1‚ éÿøÔÆ¥0^²¢‡FrŸ¤è°r£`ޒܰÁØ? ˜¤È”œ¾àÖþ¨éco„p&ŒºE+ÄÍE`ÒêdU>. úççK7’ÁÏÿÿÀÕ¶ªû´íÂô/tëþÍLä©ËlLF݉¾åËÜÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?´;ÀÿÿÿÿÿÿÿÿÿøÎ§(·ÿÿÿÿÿÿÿÿÿÿÿÿþÿ€ÀAúßÿÿÿÿÿÿÿÿï7Åd¢ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðþ2?ÿÿð7ÿÿÿÿêÿÿÿøCÿÿÿÿÿÿÿÿÿÿÿ€1‚ ÿøÿÿøÿÿÿà1‚ éÿøíŽÁWðÿÿÿÿÿÿÿÿÿþ+™ƒèŬÿÿÿÿÿÿÿÿÿÿÿÿÿ¿Ú0þ¿ÿÿÿÿÿÿÿÿûï}Eÿÿÿÿÿÿÿÿÿÿÿÿÿü ‡ÿÿûíÿÿÿúŸÿÿà~ÿÿÿÿÿÿÿÿÿÿÿà @ €ú€ÿþÿàþÿÿÀÿø @ €ùÀÿþü®IüÿÿÿÿÿÿÿÿÿÿŠØ\º!J¿ÿÿÿÿÿÿÿÿÿÿÿÿïø «ÿÿÿÿÿÿÿÿþÛ»\1îÿÿÿÿÿÿÿÿÿÿÿÿÿÿã#ÿÿÿ#ßÿÿÿþ¯ÿÿø„'ÿÿÿÿÿÿÿÿÿÿÿø B>p?ÿ€þ°í×nIŽCPHJFBÂ;"B´«ZJAA”yõjÇaãücŽAITÐŽL2¹qŠE'UÉCª”T”•ëY¦:¸±@ßÿÿü°:9ØO™BÖ‡ þ}J†ÖN™´@i1DÀ7777BUFR `b€Ž4Ž}EPl€ÐTØ´98pp&ð% `²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ \!U0ÐÀä€U0ÄÄÐØU0ÌØÌ€U0ÜÄØ€U0ÜÄØ€U0ÄÀàØ0ÜÈ€€U0ÌØÌ€U0ÐÌä€-0ÈÄÔ€U0ÜÀØ€U0ÌÜà€U0ÐØä€U0äØÐ€U0ÄÀØÌU0ÔÀÔ€U0ÔÀÔ€0ÈàÔ€U0ÔÀÔ€U0ÔÀÔ€U0ÄÀØÌU0ÄÈÔÌU0ÄÈàÔU0ÄÈàÔ0ÄÀÈ€U0ÌÈà€ \ÌÔÜÄ5A ÀÜÈ€HÔàÜ€UALØÜÀÐ9]äÈØ€U0ØÔ€€U0ØÔ€€U0ÐÌЀU0ÔØ€€U0ÔØ€€U0ÔØ€€ƒ€ú€( 0À’I%$’m¹$¶ž*€ cÈB”Æ1Ît!2ÈK sâ2SbгYé>Õðnµ Œä=`üAÆÜŒ!ÅC"¼ B¬:ΰ˼C.ñCÌ2ïË}ÄÕËól)y0¥gÀƒÖ 5lm8ñ¨®Æ?÷ ð8€eT@z ݽ#5µù._2Ä P8µª¾6 ‹Æ¹ "a  xß ~- uàì¾)qø m ^( h 4N (8µ Øo³ðã`³ð³ðòeXâT® ÂAPÆXâV%RØÃ±"Ü=×Ü-Ç£îLKp¤J§+Ï<¦­÷-Å>˜¡X·yîÆ9'ž5E¼+Â`=BQGÑT[WÅÈKZðxá)U•dá!Ë‘@Ò:Ááô¯0†€ÜPXÖÐe\—p •œI¨g;HÙ‹ãK˜®ôw¹V¬5ë™P¬^’—K‘~ ÿ›Ì…ZÕ2²b¡5G€ <(>ŠDyh%‡‚† QhAOôþÒs/ŠɰŒ(ð?ÿÀÿÿÀˆ#ÀF0€Œag9N`€ Ê4œ¦ Îs”ç0Jq…œå9€'(Òr˜'9ÎR@œÁ)ÆXrI$’I$’I$’A$’I ï{Þ÷½ï{Þ÷½ï{Þ÷½ïx÷½ï{ÞŒ`#ÀFˆ$’I’I€I €I$Ûm¶m¶¶Ã¶Û` @!àÒ5[tîºmÁµNé`iå—â­ÐpoÜ=l ûÑe;ƒðS¸)áÆ`‘BŸ=zw`öº×ÉÂWH4Z¯(îEMÏ66“N"ãga׬>Õ+ÊŸ²öHæøe^T­†›ÇIý‹žÐ¸ÛJ³#‚8à+6Û’Ç…8ãnã¯M›žAŠÿðÇ”wÒ¨/ÿÿ EDQm_!-hSÁã„¥VU“„‡.EHë‡Ò¼Ã `PFqAc[A–Ar]Àˆ <ð €ðÀ€BÀb<ˆ <ð0€ÀÀ @!ÿÿÿü€?ÿ@ÿèÿýÿ ÿôþ€ÿÐÿú?ÿOÿÿèÿýÿ ÿôþ€ÿÐÿú?ÿOÿÿèÿýÿ§ÿÿôÿÿþ€ÿÐÿú?ÿ@ÿéÿÿýÿÿôÿÿþ€ÿÐÿú?ÿ@ÿèÿýÿ ÿôØÿôþ€ÿÐÿú?ÿ@ÿèÿýÿ ÿôÿÿþ€ÿÐÿú?ÿ@ÿèÿýÿ ÿôÿÿþ€ÿÐÿúÿÿOÿÿèÿýÿ ÿôþŸÿÿÐÿÿOÿÿèÿýÿ ÿôþ€ÿÐÿú?ÿOÿÿÿàp B €Cÿÿÿøÿÿÿð@@1†ÿÿÿðÿÿÿàˆ0?ÿÿÿ€=¶Ûl6Ûl6m†m¶ÀƒÛm¶Ãm¶Ã`6Ø`6ÛmÿÿÿüB˜Æ1cÆ1ŒcÆ0cXÖ0cÆ1€€AÿÿÀ?ÿÿÿü?ÿÿü?Æ?ÿËÌ?ÿÿüÿÿÿÿðÿÿÿðÿÿÿ/0ÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!¥ÿÿÿÿÿÿÿÿÿSÿÿÿÿÿÿÿÿÿÿð @ÿü}>€€ÿðôˆ#ÿð :„€š‰FÜI€†á@c`&¢Q·’B ÿÿÀÀÀ0@ Ii1‚ þCp€ 1°Q(Û‚I!ÐÜ  lÔJ6à’HDÿø¦D -  @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü Ö g¡¢Ö1NŠ”ÁÊn‹Db€Pª‘ŽB@Ç¢˜R¹îs1O+ç;8bXÿÿC), Je¶‘ ´‚@¤ÄÿüöGX¢D Ê°&ÌâÌļ^|ò‘`H°¿õª¾D«ØÏëeSÔë˜SŠðãtj¢¨"ÅPM˜Y¡ïã«.¡AÄÀ?ÿþûFE4›bvØa’d Eƒ&T%£ÓMÅ •Hˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀdyŠ$J «lÀ,ÌKÅçÏ i¤‹ ÿZ¨ä@½Œþ¸öU=N¹…8¯7Fª*‚(¬UÙ…‘Šþ8Ú²êLÿÿà?´dSI¶'m†I @ÄX0òe@âZ=4ÜR Qq´€€AõÿüÿÀÿüÿÿÿð€Aóÿüúÿÿÿÿÿÿÿþ‹ÿÿÿÿÿþCÿôÿÿÿüoðÿÿÿÿÿÿïý‹ÿÿÿÿÿôÿÿÿðôÿÿ»í?ÿÿÿÿÿÿøöÿÿÿÿÿÿÿÿÿÿÿÿÁïÿÿÿÒïÿÿÿþÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?Ð?ÿÿÿÿÿÿÿôŸÿÿÿÿÿòÿš…ÿÿÿãÿ€ÿÿÿÿÿÿð_ÿÿÿÿÿ«ÿÿÿÿƒÿâÿþ ?ÿÿÿÿÿÿÀ°¿ÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþˆÿÿÿÿð @„@}@ÿÿð?ÿÿÿàü @„@|àÿþAÿÿÿÿÿÿÿÿ¦ÿÿÿÿÿÿ”ÿýoÿÿÿü?ÿÿÿÿÿûþâÿÿÿÿÿýßÿÿÿüÿÿÿûúÿÿÿÿÿÿþýFÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ÿÿÿÿüˆ!H8ÿÀ|yH¤Tº±ÊÂ!Ášcæ‡U%Ùµª‰ \Á`U RþØó‘»>„¼ M•8f5Ùs(O*Já øþˆÊ¥/zoÿÿà?¼bÒQÖ×UuM@Àx¤T5¦8Àš8Ó–)ÇŽie@7777BUFR Æb€Ž4Ž}EPaÎâ1—P‡þtvAp% Ʋ%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ Â!U0ÄÄÈÐU0àÈäÀ0ÄàØ€U0ÄØØÀ-14ÜÔÌ€U0ÌÔÈ€U0ÄÀÐÈU0ÄÈÈäU0ÌÔÈ€U0ÄØØÀU0ÄÀÐÈU0ÄÈàÔU0ÄÀàØU0ÄÀÐÈU0ÄÈÌäU0ÄÈÌäU0ÄÈÈäU0ÌÜà€U0ÐØÄ€U0ÌÜà€U0ÈÔØ€U0ÄÀØÌ0ÈäÜ€U0ÈÈЀU0ÈÈЀU0àÈÄä!0ÈÄ€€)$ÐÄÀ€UääÀÄ% ØØÔÀU0äØÄ€U0äØÄ€U0ÜÔЀU0ÜÔЀU0ÈÈЀ0Èäà€U0ÔØ€€ƒ€ú€( 0À $’’M¹$–„0§ ŠJ)¦ši«,´ÕøâëÏj2lDr`Ã&2êBðMЍì"¸\01È ^$ª,܇Ly|¡d–:‰ˆr^âô¢ÈáúF´€Z>—zœ\ FîŽ"UB@¿>º\:´Dx5ö¨^Áæ3¸†M@”àJwI¡øFCpdx9ÚŒ–î £ZUVƒŸ?3Ìài‡ uw ˜‰®̹êC³.A»L`Ⱦ L¨Œ4Gj«N1¦ÿòù!¡ÐðªÂØÉ$it“˜IOë1@1€À*ú¶ù*{7½ó|Þ÷Íóz÷7= õnr@®úÍéàôzLy.JÛݵ¹«[·LÝŒ‡"‡à/„a¸< á@<*ƒÈ"0–E¢b_àÈúŒåðZ ÁJ\’%P œ )3Wd¶‘€\§ÈÈ!»œ†Y:s¿ÁÁ(¤J1„¸œ#ñKåõâƒÄØÈ/„c <\Œ†°O‚|2€Ÿ5~#$Páüꤊ1øv3$ˆÂìT‘jE‡È䯿T¡±T9P`hú•”E¿Ͱİ8ÇMãM@àp§“èý1‹Ð<\Ž29êD›êbt¹0’TÚ*¤EI‘ý*×c-Š´Ù÷&Ý,””*Up],”(ÐÆúëÿÿÀ‡"‡à/„a¸< á@<*ƒÈ"0–E¢b_àÈúŒåðZ ÁJ\’%P œ Äx@xà @!à€1„€Äx À€ Àÿÿÿþ@À€þø€ðþÀlø?àÿ€øÿ?àüÿÿÿð8€€€€€€€€€€€€€€€ @!ÿÿÿüÿÿÿø €CÿÿÿøÿÿÿðÄÿÿÿÀÛ ¶Ûm¶Ûl6ضÛ`Aí°Ûm¶Ûm¶Ãm€m¶ÿÿÿþ!Lk1ŒcÆ1ŒcƱŒc1ŒcXÀ @ ÿÿà@ÿÿÿþ3ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿñŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿø@ÿÿÿÿÿÿÿþ&%ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€1‚ÿàè>€þ>€1‚`þC’É$’H‰L9!*ÙjGÐä²I$’"SHJ¶Fš‘ÿÿø (€ ÄÿøK$’I"%0ä„«di©C’É$’H‰L9!*ÙjGÿÿà`@€€¢€ Dÿàüÿÿÿàø @ ÿÿð?þÿÿÿà1‚þÅ3\•+AÐv€¥Bƒ¬âOÆR’‘À@C‡}F”gM"ATḁ̑LÆ ÿÿð2A He¤ 8Ê`¦€ @ ÿÀTqUDˆ†Ñ,Y2Y/LŒÈ…Ò¹6ŸCf¦D:¼êu(Ñ>ýá H+ÇÏà †lùŠ'EG槈k&Hl¦deb©ç‚¤ë(ˆkˆŸÿÿþcçêæùä”i‡ iňDD’dåqBž™x.Ä€ÿàþÿàÿüÿ€Ä€¤ÿà?ª8ª¢DCh–,™,—¦FdÂé\›O¡³Ó"^u:”h~ð…¤ãçðC6|Å¢£óS‡D5“$6S22±TóÁRu”D5ÄOÿÿ€ÿ1óõ ó|òJ4Ã4âÄ""I2rˆ8¡OL¼b@Ôÿð?ÿÿð?ÿþÿÀb@ÎÿðúÿÿÿÓÿÿÿÿÿÿÿÿÿÿÿÿÿÿ…ÿÿÿâ€ÿÿÿÿÿÿ¿Ì?ÿÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÛÿÿÿÀ'%ÿÿÿÿÿÿÿÿøúÿÿþßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð @„@ÿÿð?ÿÿÿàü @„@} ÿÿ±ÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿþŸÿÿÿÿÿûüãÿÿýÿÿÿÿÿÿÿÿÿÿÿÿþ¿ÿÿàVgÿÿÿÿÿÿÿðò7ÿÿýßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿà @ €ú€ÿþÿàþÿÿÀÿø @ €ùÀÿþÿ#ÿÿÿú_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿñ?ÿÿüQÿÿÿÿÿ÷øGÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿøÿÿÿÿÿÿÿÿÿÿCÿÿÛÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿþÄ€$œÿà?®8x Çpͤ‹P›>”ZJÕ¨/¹ë×6‘¦Bq:r¬L „cU‚V"Õº4ãÓróe3óõã$%ó3SäBÒC£‚ƒr³ïÿÿ€ÿŒ ö#A%ŒT¢Í9#C.T*Ò‰@âNLZZ7777BUFR ôb€Ž 4Ž}EPe Aú'…0ˆ‡,tºÐ% ô²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ð!9 ÀÀÄ€)`ÄÀÔ€ AÄÌÀÈ ÌÄäÜU0ÔÀÔ€U0äØÐ€U0ÜØÄ€U0ÄÈÈÄU0ÜØÄ€9]Ä€€€)0Ü䀀U0ÄÈÌäU0ÌÔÈ€U0ÔÀÔ€U0ÌÔÈ€U0ÐØÄ€U0ÄÀàØU0ÄÈÈäU0ÐØØ€U0ÄÀØä!0䀀€9hØ€€€UÐÀÔ€1dÄÀÔ€% ØÔÈ€9]Ôà€€U0ÐÌЀU0ØÔ€€U0ÔÄä€U0ÐÌЀU0ÐØä€U0äØÄ€U0ÜÔЀUALÈäÀÌ0ÄàÔÈ% ØÐÀÈ% ØÐÀă€ú€( 0À’I$¢’m¹$–‚1%‚A,.ï¾ÿ@Þzj*‚(–]5r«äð¦½$(N) iLRúbö挽}ˆŠÈbR&^j¤ CÄ ”Òáj76Ζýè"ð&šÐ"Ê@!³> ²tZ汯 o¶˨±n@Ø€v~†yU?è%„p˜Â²^`x00v@#v ¸jÜŽÐmh6ÀÔgÔ¥€6q€5@Ð d¶Êlû¬xSëÇ`0ñùÈöå.övª« ÉyŽPÀŠd^d0Ì0ú¬ Õ*Ú²^`Í‘Àß+UìwMWt¾“ÜôäµPbÝ"]Ç=3z{7¯s{otÍñŽH=§»зä³~Çt‡ÂˆÁ ¹þŽ£¡Œ¥àyJ‚†àn(Â@ÈP&!àF}¢X–ƒÀ™/ØáðÇp³•,ØÌÝ­$aH˜bð3i‚øˆÕ ›IÒp¶Û¡(Íè)B«ÁhnW™£Hn… (¾ˆÆ@x_< àP<%‰cÀæaƒ!–£è¾Mïÿüÿð<€0€Œ`#ÀF'9Æ`¥8ÎS”À„ß9N`Pœç€”ã9NS|å9€`'ÀF0€Œ`€@`@ € €@ €@ €@A†Û`6Ûm¶¶Ûa€b x´ðm Ÿp´v@Ÿt˃hÛà勲ŒF ã\8ÃMÐq„ŠÊw¨È… Œm>­ ìöM6ˆ³(˜9ÊcÝc:Õá°X^…@£ÄrµENàALêCŒ0ñ‰SœaMéE&e±(dÁ(Ú$‡ ¥8j °°½Ã"²É%8Ì «*ê´šçZ o Ħo¿ÿþ>FÀ P ÏôuÄe(‡ÊP<7q@F@È2B€¡13èõİ €ðÀ€BÀ Äx@xà @!à`0`00lˆ0?ÿÿÿ€È€€@@€@@@@@€€@@@€€ä@@  @     @@   @@ÿÿÿ€€€€€€€€€€€ÄÿÿÿÀ@ € ÿÿÿø(€€CÿÿÿøÿÿÿðÄÿÿÿÀ(`Æ1€Æ1Œc°cÆ1€` €cÆ cÆ1Œ`ÀŒcÆ€ÿÿÿà° cÀ±ŒcÆ1ŒX1ŒcÆ5¬Äÿþ `‰ÿÿÿü ÿÿÿÿÿÿÿøþÿÿÿÿøÿˆ `‰ÿÿÿü ÿÿÿÿÿÿÿøþÿÿÿÿøÿˆÿÿ€~%:¿ÿþÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿî@ÿ×cOÿÿÿÿÿÿÿÿÿÿÿÿÿà @ ÿøú ÿ€  @ ÿÐä’DLÇ!ŽI$8L’@t9$‘ qÈc’I$$Ÿÿþ ˆ1‚ þC’I2†9$’@á2IÐä’DLÇ!ŽI$8L’ÿø€ Äÿøÿÿàÿøþ Hÿàüÿÿÿàø @ ÿáa1M8FK¢DA m÷°mQˆÅ1°Šc‘ˆ”@ ’©¦2¦I““EŠb•ÿÿà(h fŠ2ˆIl’Òp‚@€A?ÿ€þ¹ç`gÈ#ƒhÆ‚â%å©Áb£gH…ˆäâÁAcF`Ãïèu¹qÂd]ÐØçê!‰Œk6o#–ÑÛ­ð˜( –«ÿÿþü4d)åG‰)Pà‡€"qƒ‡‰*t‚RÂÎÀùÀ @ @ÿþÿàþÿÿÀÿø @ @ú@ÿþúä;€Ÿ Œ £ˆ—–§‹ "B#‹ƒ¿ =Ô åÇ ‘t?CcŸ¨†&1¬Ù¼Œv[Gn·ÀZ` 0Z¯ÿÿøðѤG•$x¤C‚ˆÆ&4©Ò K 8<äG1‚ êÿøÿÿøÿÿÿà1‚ çÿøð]G÷ŸÿÿÿüBïÿÿÿÿÿÿÿÿÎþÝ/ÿÿÿÿÿüð_Ø»ïÿÿÿþ‚ßÿÿÿÿÿÿÿÿš)ýZŸÿÿÿÿÿøè”ÿüþŠßüŸÿÿðÿÿÿÿÿÿþôÿÿÿÿÿÿb@ÿð?ÿÿð?ÿþÿÀb@ÒÿðÞ¯ð?ÿÿÿø•ÿÿÿÿÿÿÿÿÿ¥7ýÒ_ÿÿÿÿÿù?à?´=5ÿÝÿÿÿüf?ÿÿÿÿÿÿÿÿ.SúTÿÿÿÿÿðФÿÿøý¿ù?ÿÿàÿÿÿÿÿÿþãýéÿÿÿÿÿÿþÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?¾=E?Þÿÿÿÿñ‹ÿÿÿÿÿÿÿÿÿ0kû”ßÿÿÿÿÿòŸÀpy©¿´ÿÿÿÿø ÿÿÿÿÿÿÿþˆ‡ôH¿ÿÿÿÿÿà?¡Gÿÿðþ&—ÿÿ‡ÿÿÿÿÿÚ7ÿÿÿÿÿ€1‚ çÿøíai¨.Ú¡:l‹6anÁTq%Œ"rõVÕDS $ʰ†ŸÚrs핌ÉV#‰Â(áÀ‚ %,Õ"&ô^-H`¨“ÿüú\ˆ!¢ÉŠ(Y‚àÁ8rEK dˆÃƒ A1ƒ@7777BUFR¤b€Ž 4Ž}EPd€ ùµÀVè õ‡Àp&ð%¤²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ  !U0ÜÈÀ€U0ÐÀä€U0ÈÌÌ€U0ÜÈÀ€U0ÄÈÈÄU0äØÐ€0ÈÄä€!0䀀€U0äØÐ€U0ÜØÄ€U0ÄÈÔÌU0ØÔ€€U0ÐØÄ€U0ÔÀà€U0ÌÈà€U0ÈÔØ€U0ÄÈàÔU0ÄÀàØU0ÄÀØäU0ÄÀØäU0ÈÔØ€U0ÈÔØ€U0ÐØØ€U0ÄÈÔÌU0ÄÀØÌU0ÄÈàÔ`àÜ€€5PÐÄÜ€0ÈÔØ€)4ÀÀÌ€ \ÌÔÜÄ1 àÈàÀ)4ÀÀÌ€% ØÄÈÀ9]ÜÌ€€U0ÄàÀ€U0ÜЀ€ƒ€ú€( 0À’I%$’m¹$–€1$”TÓM4óÎALqÇ Uu°ÃŒeij³JÝ…šÛ\ÆÉ熻¢–ÈLj€~ôŽL9àD áØæƒ¸&ï`Ký!ƒs†6Ò X‹HAඇ‚Úê k‹A7‰ t%ßP>Î"Rø€>€IÊ£'Ü‹Ò! œ†ŠÎ ùµÙ-­\f>H#%¸™‘ÿyˆÄY¤%‚Ò¢}ˆ‘íØJs!ǬÉJ¿ä—‚Tò a‹ÕLGjí#² “/I‰ëİ5b7_ÉЈ{ýéÊ <Ð¥[qR­¸©O;4§šxß’%-Û¤ j®H·;è˜A«LJ}1WܼIv1%ç·HÐÝ"L+DV@–kšFTŒÆ’•©D¤sSÆAÌ´8O£¬Ò:Ùe„aà EðiC!T%Ò×v5éÏ—ì­ößvI™ÖkŬb±cñ§aÅB¬>Ÿ‡£Z%:±<@J20FK ÒÈrµ–U †å((Œ2*›…¢1Z¥72êó˜(x–/¼ÿð?ÿÀðbÀF0€Œ`#YÎsœâ Js”å9Nsœ¦ùÄag9Îsˆ))ÎS”å9Îr›çL€ž`#ÀF0€b€@ €@€@ €@ ¶Û†m¶Ûa°Øˆ±7å1À>Ÿ°eá 4ôÕµXLÈ(0ÇÇŠ4qi`›p’ zdƒpÄ4=$ðÅ1 ,‹1Âfó2”æ-Må¡ýl•TaÍvWÄ”çhZƒ)>6¡)PÃHÞ…Úàm“€Íz§N”ØGÌK¸š1Œñ„Á4¯Y‘I.Œs{3¨¯kŽ£ <Ê+h jÉ€ô‡ ÂãÿÿøDV@–kšFTŒÆ’•©D¤sSÆAÌ´8O£¬Ò:Ùe„aà EðiC!T€BÀbÀ€`ð €ðÀ€BÀÀ`<ˆ <ð0€À @!ÿÿÿü€ €?Àøÿàü€ÿðÿþ?Àøÿ?ÿàü€ðþ?Àøÿàü€ðþ?Àøÿÿ?ÿàÿüÿðÿþÿÀÿøÿÿàüØü€ðþ?Àøÿÿ?ÿàü€ðÿþ?Àøÿàü€ðþ?Àøÿàü€ÿðÿþÿÀÿÿ?ÿàÿüÿÿ€ÿðþ?Àÿÿÿàp      €Cÿÿÿøÿÿÿð@1†ÿÿÿðÿÿÿàˆ0?ÿÿÿ€Fff`fffffff`hf#3303333333043ÿÿÿ¦1Œc€cÆ1Œc0X° ` @ÿÿð!Oÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿ¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð pÿÿþd˜pÿÿÿÿÿ…?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ?ÿÿÿÿÿÿü¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ\1Àÿÿù’`À ÿÿÿÿÿÿÿÀ?3¿ÿÿÿÿÿÿÿÿÿüð(ÿOÿð¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðë?ÿÿüdxã@›ëÿð:ÿüïÿÿÿbÿÀÐ}ÿü}bÀÿü†ÈÄ’M±²Ée’¡†r1$†F“lA,²Ydÿÿð04@@1 @ ÿÐÃ9’C#I¶ –Y,²@t0ÀF$ÈÒmˆ%–K,Ÿÿþ‚h €A ˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿ¢•`(Õ°h›ÒU!¨9Œ0RÛ&ÅŠJà)T2…ëcÖÁR ” F=ô£7ÿÿÀ@ð–4›ILµ]Ħš$€1‚ÿ÷Â"¡$g,lÞ¢l©±ãb©çdmÏU˜dtã(,[h]ëÙÝ&1ŽK$2ù$¾rê’ËæÏ¸Ô²ŸD_pY›¦7¬Tè@j7–Mlÿÿüƒ6ô¯EÐÓM6Ün0±é¬›.•ßR“qžímÜÄ€ÿàþÿàÿüÿ€Ä€¤ÿà>øDT$Œå›ÔM•"–p?ÿ€ü1‘p2ï®Òщt¯QÎn2MLír‡‹‹Ï,¹ 3-ð0+f“3˜N'ÜÆkCŒLè(´Öq_F¢°x¥%Ùi²ð·6†Ææ”oÿÿ€þ1¤z[v)&j§ÙeçT]%Üi»À®îdQw‚†¦7777BUFR Ôb€Ž4Ž}EPaa¨%NÈ…'äiÐ% Ô²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ Ð!U0ÄÈÌäU0ÄÀÐÈU0ÄÀÈÜU0ÜØÄ€U0ÄÈÌäU0ÄÈàÔU0ÌÈÔ€U0ÄÀÈÜU0ÄÈàÔU0ÌÈÔ€U0àÈäÀU0ÐØä€U0ÌÔÈ€U0ÄÀØäU0àÈäÀU0ÐØØ€U0ÄÈÔÌ!0ÌÀ€€U0ÄÀàØU0ÐÀä€U0ÄÈàÔU0ÈÔØ€0ÌÐÄ€U0ÐØä€EÌà€€9hØ€€€9]äÈÀ€0ÌÐÄ€`Üà€€% ØÐÀÄ9häÀ€€U0ÜÔЀ=äÀ€€U0ØÔ€€U0ÐÌЀ9hØ€€€% ØÄÈÀƒ€ú€( 0À’I%$’m¹$¶€0AÓO<ôP8äLÓO8äS¬Hë˜óðÒ¤©ÙÚpŒÄÐg4Lúä4J¾ 3*ç"Vv @Ö*¨oÚ Z: Ïjä4!'N ~\!¥Hþ¶3–¤–Zîí"«˜5®éÊ"„ÛÖY$!Ø~‚ÈÞ˜ÞýÂâ¬j…€±U: iáxh¢ßÅ}Àp˜8nâ¸ÁÔ@hp‡¸ 39 B€aâ˜`¦¶+€UäHÿÖÖ‚)gàE2Ù³ª œCA Fp d÷ò¤dBð’vŒÕ€ès©`dp AŽáYîï»ß¹Ð2Ô"C»ˆîu»€{¿hšWèõûgV+øîü¨CÚgZÄ/- 1h2`Iim äÙ@ B5ð#8PW„e<2 ı@<B0(-Zñ|#I[Òœ&ðÜÜ;Ô³…²rÁoV³¶Y0Ôæ0ºÈ=ôv/ÜóH<i’Ã#™ôZ‚Zê£ ñ^‡ ˆÕB3Àª2e÷øŒæKÒÏÿüÿð<€0€Œ`#ÀÍ›5쀯f5›6lÙ³*ÍzÕlØZ4hÑ£Ff5›5cÍ›5쀯f5›6lÙ³*ÍzÕlØZ4hÑ£Ff5›5cFx€Œ`#ÀFˆ €@ €@ € €@ Ûm¶Ûm¶l6a°Ø @ÄÑ@†„4#‹n̼SÚ”Ä45µœ8£CC€pЃ¸Q{]mE‚R ,Q¢$ðLÀ™Ûxâ³æÊ‡få'U„å5+6v'˜üXe!<ÃS‹Õ„J‡dUK©¼/RåܲkÝÀRò~HíìP2Ï1¾ÖÅH:i9d\ j€§¨:†sˆÁ|(µ†c<»»'AÿÿàBñBР#ƒ&‘–ÒM”´#_0áC…xFSà ÜKÀd#‚Õ Â0b<ˆ <ð €ðÀ€BÀb`€0ð0 ` @!ÿÿÿü           @     @  ÿÿÿø@@@@@@@@@@@€@@@@€@ Àÿÿÿþ€ @ÿÿÿÀÄÿÿÿÀ?ÿÿÿ€ Àÿÿÿþ!LcÆ1ŒcÆ1ŒÆŒÀ1¬c…1ŒcÆ1ŒcÆ0 c0 cƱŒÿÿÿ¦1ŒcÆ1ŒcÆŒcÆŒkÀ1` @ÿÿð _ÿÿÿÿÿÿÿÿÿÿ‡ÿÿÁÿÿÿÿÿà  ÿÿÿÿÿÿÿÿÿÿðÿÿø?ñÿÿïÿÿüÿÿð(Ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/ÿÿÿÿÀÿøGÿÿÿÿÿÿô_ÿþMÿ€1‚ÿàè>€þ>€1‚`þC’H ‘ ’I,‚IÐä’ÀÈ$F$’K ’ÿø€! ÄÿøI l8 ‚D`‚I$² $C’H ‘ ’I,‚Iÿÿà`@ B@„€ Dÿàüÿÿÿàø @ ÿÿð?þÿÿÿà1‚þ…‚…‰"˜"½Âc’E‰@R^ˆ-,XTÅÀ0X­h‘VÔ%Å4˜WBaX&¾ £Úçˆÿÿ€¡²@ÀÓrBÙ†"MI„Abÿþõ$.1ª¤Å7J1¨*C;”§˜0G·.2,2œ!®C½¡6).&§¿¦9ü],`ùÄê¾0p´ò$!ÎP¥D âmG×_‹ÿÿøßØ`Mr| ¡r&'#©yiúë›8™MÚ›ð @„ ÿÿð?ÿÿÿàü @„ } ÿú’ ÕR b›€%Ô!ÊSÌ#Û—N× !ÞЛ—SßÓþ.ˆ0|âu _8Zyç(RÆ¢ q6£ëƯÅÿÿüïŒì0&¹ >P¹‘ŠÔ¼´ÎÆýuÍœL¦íMÎø B> ?ÿÿøÿÿÿð?þ B>p?ÿ€ÿHÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÃÿÿÿùÿÀÿþgÿÿÿÿ EýQ¿ÿÿÿÿÿÿÿÿÿÿÿÿgÿÿþŸÿ‡ÿÿÿÿÿùÿÿøóÿÿÿÿÿÿÿÿÿÿàÿÿõïÿÿÿüŸüþÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?Ò?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿþ[ÿðÿÿÿÿÿÿÄPoÿÿÿÿÿÿÿÿÿÿÿÿÙÿÿÿ§ÿÛÿÿÀÿÿÿþe¿ÿþüÅÿÿÿÿÿÿÿÿÿÿø?ÿýû¿ÿÿÿGÿ?€1‚ êÿøÿÿøÿÿÿà1‚ çÿøõÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿ˜ÿüÿÿãÿÿÿðã_Úÿÿÿÿÿÿÿÿÿÿÿÿõ¿ÿÿÝÿõÿð?ÿÿÿŒŸÿÿ€ÿAÿÿÿÿÿÿÿÿÿþÿÿOÿÿÿÿËÿÇà @ @ùÀÿþúÀpÙX剞–`©Jwî™96£FËV¼(=¡[/ÎZ"ÈáçõGOyc‘˜QR鈧„lcÈ Q#¬iJÛ¡ŽµhÚqÿÿÿýC*²¦ J©"‡.ceÌ\ Œêk,ÓËÎÊEžð­ 7777BUFR ¼b€Ž 4Ž}EPd€»ZUB,³ rpà% ¼²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ¸!U0ÐØä€U0ÄØØÀU0ÌØÐ€U0ÄØØÀU0ÐØÄ€U0ØÔ€€U0ÔÄä€U0ÄÄÈÐU0ÄÈÈäU0ÄÄÈÐU0ÄÄÈÐU0ÐØÄ€U0ÌÈÔ€U0ÐØÄ€U0ÄÀàØU0ÄÈàÔUALØÜÄÈA%ÜÈÈ€0ÌÄØ€% ØØÈ€U0àÈäÀU0ÔÄä€!0䀀€0Ø€€€9]ÐЀ€HÔàÜ€U0àÈÄäU0àÈÄä9]Ü€€€)0ÜÌ€€U0ØÔ€€U0ØÔ€€U0ØÔ€€U0ÜÔЀU0ÄÀÔÐ9]Èà€€9]È€€€ƒ€ú€( 0À’I$’’I¹$¶Œ0a†$qÉ$²ÊAJ°îšëTõÑJðžzäJ¨E…ÿ°†À>l@¢€Q´"“Jó*…óp#$_ jc¾,¡È¾¼#¥ÖŽ—Z'VP {Jƒ":]h¸¡¡ž -P> q ¾‹Ôâ2ý”’˨»ZúdÝ Òrdü‹€œnà³Çpnø §`ˆÔ ÇÕ”B‚YQ€ä£@iå`KÀ`ú,,¬†>‹ +!ª"8à'u’$hP`ú,,¬†{…Ž.‡: `>€*ø 3â K¾=ñøÇp«êÛ¾±ŒÓUìSÜô-ãÖ®%ÍëÛoÕsp±¾µ[ëUrVíÓ±‰d7'7Ý+Ûꊊ0n ê  ˆèÒU`È´¿ð( ¢¨2 €¤9TÅy@k‚€Q/‚„ƒßp(+Fݳ¢V#}fÐç0EŽ÷‰Ã›ŒÕ Õõ~¾À8t` BXúieðC‚€xÜH‹áæ4ŽdT—"øðMŠ„¸´%Ü´‰Q?÷;EØït¹]2óü5Kiï¨ ŒÆ@xd@(Uã„ ‹ã4…¡áÿ©A‘‚0´2 D`d}^ÿøÿàx1`#ÀF0€Œ,ç9¼0`œg8Ę…œç7€&LŒç‚s 0„™™™™™™•™Y™ ™™™™™™™™ŒÁ(*ªªªªªªªªªªªªªªªªª… àyçžyçžyçžyçžyçžyçžyçžyçžyç‘€Œ`#Ä €H €@ @Aí¶ÀÛm°Û0 @ €=‰¡¡ bA†(Й„Ì a3±'… p1ƒôñ`˜LÁޏS‡SúAŒ¼1F„ÌBÁ¡£@(ÑF¼ä¦ ÇXÍ›Ü]ËÕEI³$B©«“"³åM×ýÏ93Aoaø•Ùs K„RíÇzI =‘(‘Zd5½Ïp¯K¶r̵¨vÑÿƺákÉ­nÌ?ô?M耩rÿø€P´7/†‘¸F ÃÀÈn*ƒpÿŠ'þÒÃÇþ ”Ä×/‰`ÜFAA<€ðÜU €ðÀ€BÀÀ` ð €ðÀ€BÀbÀ00 ÀÀ0¶  Àÿÿÿþ     0   8€ €€€€€€€€ÿÿÿü   @@d@`   @ @@@1†ÿÿÿð@ ÿÿÿà‚‚ €CÿÿÿøÿÿÿðÄÿÿÿÀ)Œc`ÀÆ1ŒcÆ0 …1Œc XÆ1Œ`Æ`ÿÿÿø…1ŒcXµ€ ZÀ0Æ1Œ`Æ`ˆ?ÿüÿÿþ0$$øùö?ÿÿÿÿÃÿü®Ȱÿÿþ0$$øùö?ÿÿÿÿÃÿü®È¿ÿÿü ÿÿÿÿÿÿÿÿÿü- ÿÿÿÔÎ_ÿÿÿÿà¾ÿø+AOÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿŸX,€Ñÿõ¡†ˆ?ÿ@@Ѐ?ÿ@@"bÀÿü‡#’K$’È’ÄSvI,²@t9’Y$–@¤–"›²Ie“ÿÿÀÀ€@PE@ˆ!ÿð :ŽI,’K RKMÙ$²ÉÐärId’Y’XŠnÉ%–OÿÿUA@ @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü µšÒøÉíc%mRJR_)mD…zuIÎrá%¸íTÈ0ÇÒØ¥mr޵£ÿÿÀPÁ 6D¤‘ ÀÙDÉ$ @€ÿà?DBÒ²±›Úz˃ۂéC›‹‹KÒúˆú³RêÓ"ÔS"Hª‹‘øÄ“ CBĆ:>@‚àtŽÆB¡—ü  Ä€¸šh ˆG@9lmÿÿðÈ3n"ÛÑÑÜҿȧðÊÏç8ãˤä‰ÌtÅF3€1‚ ÿøÿÿøÿÿÿà1‚ éÿøÑ´¬†lföž²àöàºPæââÄÒô£þ¢>¬Ôº´ÈµÆÈ’ê¢äDþ1$ÂЀ1!Ž£P`¸…†c±¨eÿ(Ã±Ä .&šbÐ[ÿüò Ûˆ¶ôtGÅ÷4¯ò)ü2³ùÎ8òé9"s1QŒà @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþø#ÿÿÿÿùlaÏþ(óà=‰%_ÿÿÿÿÿÿûÿÿ©Oý"ïëÿÿÿÿá& Œøê€.žƒ¿ÿÿÿÿÿÿì¿ÿþXìòÿüü‹ÿÿÿüSÿè_ÿÁ÷´?ÿÿÿÿçÿÿè»ù˜ B ?ÿÿøÿÿÿð?þ B >?ÿ€þPÿÿÿÿýò‡q¤ÿrüf͘¾Oÿÿÿÿÿÿþ§ÿÿèMÿ ‹úÃÿÿÿÿø)(#'þ:¿à &‚]7ÿÿÿÿÿÿûOÿÿEüƒ¿ÿÿÿ#ÿÿÿúdÿûAÿà~aÂÿÿÿÿÿ‘ÿÿ¾yß´ B > ?ÿÿøÿÿÿð?þ B >p?ÿ€þ0ÿÿÿÿþ"Øgxü¸îà<[ÿÿÿÿÿÿþ£ÿÿéÅKÿ ‹úƒÿÿÿÿø©k"#þKà (rq?ÿÿÿÿÿÿûÿÿ•Eü£ÿÿÿÿ"ÿÿÿÿúÿð}Íÿÿÿÿú¿ÿõíþâÄ€$œÿà?Š;§êÍ(Šº©÷Þ2KØ/j1¤‡/#(«²qÔI þ‰#H¬j.$Š B@®Hš5€Ã±à|Qÿ„âahä<9¡±)Lÿü÷ŒrC¢š­¥|2gí“û ™øÈ™Ä ¨C 7+`7777BUFR b€Ž4Ž}EPa PÄ)FhƒÂwÀzÑh€& ²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ !Q!ääÈ€%8Ø€€€0ÌÀ€€9 ÀàÈ€U0ÐØä€U0ÄÀÐÈU0ÌÜà€U0ÄÈÔÌ0ÄÈØ€U0ÐÀä€U0àÈäÀU0ÄÀØäU0äØÐ€U0ÐÀä€U0ÈÔØ€U0ÄÈÌä5PäÈÄ€U0ÐÀä€U0ÔÄä€U0àÈäÀU0àÈäÀU0ÄÀàØU0ÄÀØäU0ÔÄä€U0ØÔ€€U0ÐÌЀU0ÐÌЀU0ÐÌЀ-0ÈÄÔ€ ääÄ€U0ÜÔÄ€U0ÐØä€9]ÔØ€€5A ÀÜÈ€0È䨀U0ÈÈЀU0ÌØ€€9]à€€€ƒ€ú€( 0À $’ÛnI$›P „×]¶ÖÜ0Ãs¶Ûnºë‰$¢‹pÂë€B”fƒÝ{rbÀ.& éÎüê8ùÏÚ:”7‚/5 ã-1M|ü mý Ïí þvÅÆ“æP&kÏÚ ÿÇ ü‘yÞªâ Tdzä ö8ÊÊ ï– ?Aë2*ƒ>œlöwƒ;ƒÁ¼F`1Æ09Œlâ ¯ ùëå:Á Š`‘¡@3 î‚ú÷±›Ÿ&OÀjC 4þhF´ Іæ“7šf€Í3@fÀ°'0Fùì  lGé îüõ€~ôÜF ùØñÄ”p(‹‰.ź7C’jÛ‹±v+mØ·B¶Û¡«yáêµV0€´yäÄ··bû…¢%nѺ>çžìaP¡@– Fô%‡‚܈pÜ%œÁº€!ºŠ±™¡¹þs Èn‘ <#@d’ݔ˟îpÌ1àCe7ñÖC»œ¹ ¥à¸¼dûr½ p’5EL¦0™ØdF@P#Æãp$KBø $Ia@›K@< À(ÒP–NÂÐÈ(‘¤È^ÿøÿàx1`#ÀF0€Œ(6s˜'9ºS˜'9Nr”âù˜ €…Îsç7Jsç)ÎRœ_ 00ÀŒ`#ÀF0 @ °€ €H €@ @€m€Ûm¶Ûm¶Û°`Ä«þ  ] ¤cp½øÂÆð]ø,`ºÜëlläo°†¶Xbçõ8uÁü ÿRÂ.t  $AŽãïŠ6OÓ¨s!ä¡ÚL¥!…Œؼ_„õ¤ Àè)xDZìn ìUC×# ëw gN”úÇ*ØÈ( ¼B¨MÓLz¬Îq²Êª’º´#Šê¤å±‹ºô%hºF™¬±›?ÿþ*(Ã!hÃ>„°ðAàñ„³˜7Pd7QV347?Îc4 Ò"€„`P( €ˆ <ð €ðÀÀ €ðÀ€BÀb< b ÿÿÿàoþÀøÿþþ?àüþÀøüßüÿ€ðþüüÀøüÿ€ðøÿÿÿü@@             @ 1†ÿÿÿðÿÿÿà €CÿÿÿøÿÿÿðÄÿÿÿÀm°Ûm¶Ûm¶Û°`0Ûa¶Ûm¶Ûm¶`Ãÿÿÿø…À1ŒcÆ1ŒcÆ1ŒkÆ,cˆ?ÿü ?ÿüÿÿÿÿÿÿÿÿÿÿÿÕ¿üîþ ?ÿüÿÿÿÿÿÿÿÿÿÿÿÕ¿üîþÿÿü(C–ÿÿÿÿÿ× ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü¿ÿÿÿ¨/ÿÿÿÿþçp @ÿü}ÐÿÀÐ @ŒÿÀ€èrH”‘È\PYP¥!rI$C’D¤ŽBâ‚È…) ’I?ÿü €`@b@ÿü‡$‰I…Å R$’@t9$JHä.(,€(R¹$“ÿÿÀÀÈ  @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿüе½lšÖ>jŒÁ2q ã©o‰¹A.dEr–Åì’ô%(hÛzT©0ëcCÿÿÀPÓ®QmÌm¸ƒm'+$À @€ÿà?Œ:ˆ­ÛÃ^¾±4õž#C`ó5P]@z¢Hñ["¥cjþ`ñWÃÇ•LW/$¯l¶W1ZåPÕ®9ô)9t-QR«@(2%§ÿÿÀ`åÊ:\‰f|ˆŒh™ €8ÉÓHL•$9¢ÁŽA@ B?ÿÿøÿÿÿð?þ B>?ÿ€þ0ê"·o zúÄÓÖx ƒÌÕAuêˆ9#Ål‹º @&•«ùƒÅ_U1\¼’½²Øu\Åk•CV¸çФåеEJ­ È–Ÿÿÿýƒ—(ér%™ò"0q¢d*ã'M!2Tä‹68y @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþúÛl­Wÿÿÿ—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú,Ÿÿ€(#ÿõÏæ[œ¿ÿÿÿkÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàþЃOÿ×ÿÿüü Y %ÿÿÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú_þÿü€ @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþûC˜b™7ÿÿÿ‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÛ?ÿ€#ÿôoås¬ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿþàcŸÿÙÿÿüü Y %ÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúþÿü  @ €ú€ÿþÿàþÿÿÀÿø @ €ùÀÿþûC˜d™?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúL?ÿ€+ÿõéŽý3[ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿþ¬bÿÕÿüü Q %ÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú_þ?ÿü€ @ @ùÀÿþû#™fBäržL¥@ÓQ @­ëÕ‡Ö¸h¹\"5œ…/åsÜû•Gc)ÚçJ›½‰ µ“IͤI‚V¤bÀºÀÿÿüöX¨ÃÄËYÈPÂ'Ž H°#(dÑ1ãO *<èÁƒX7777BUFR>b€Ž4Ž}EPkbPß vApk“%>²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ :!U0ÐÌä€U0ÌØÌ€U0ÔÀà€U0ÄÀàØU0ÄÀàØ -LÜÄà€0ÜÈ€€)0Ðà€€]$ÔÌÀ€0ÄÜÐÈU0ÄÈÔÌU0ÐØØ€U0ÐØØ€U0àÈäÀU0ÔÀÔ€U0ÈÔØ€U0ÄÀØÌU0ÔÀà€U0ÐØØ€U0ÄÀØÌU0ÌÈà€U0àÈÄäU0àÈÄä0ÜÈ€€U0àÈÄäU0ÈÈЀU0ØÔ€€U0ÄÀÔÐU0ØÔ€€U0ÜÔЀ -LÐÌÜ€U0ÈÈЀU0ÈÈЀU0ÔÀ€€U0ÔØ€€U0ÔØ€€U0ÔØ€€ƒ€ú€( 0À’I%$’m¹$¶ž)Îs #”¦1Ît1k[+ZìÔcC|€²µ\Ì\HD O„5&#°[ƒŸ¼¸ØPBá#ÞÄu‡”BÕa+„²£ô Iñ.ÃFÞ„„BPͰD"˜ç$€èÿàè Fÿà@t0 RK#qÆ@#’II0 T’ÈÜq†Àä’ROÿÿ€¶@ˆ¶’b@ÿü†*Idn8Ã`rI)&¡€J’YŽ0Ø’JIÿÿð06À€qÀ@ @ ÿÿð?þÿÿÿà1‚€þÿÀÿøÿþÿ€Äÿø 2V¦1ÍB%ERF!P%c—9¹­! Ñ@3¥HkÃ- Z#,¢‚79Ï¢°?ÿþ†âlH0 Ã)a¢Dˆ ÿøä˜Ø4‘¦ÐÊóÆŒrÄfôÛt!Ìnü¼g“Ž„œÓ™þ†!ÎM1ÊbÕîJÂ!Ù¢&mÁ}ÂVIîeª}ê•¶UEŠYQûÿÿà?dtmØ#R©|CkŸ#V¡*’KÒŸN5j„€§N˜ÒuË$HÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?:c`ÒF›C+Ï1Ë›ÓliЇ1»òñœBN:sNgø~‡94Ç(yŠ@W¹(g‡fˆ™·÷ Y'¹–©÷ªVÙU)eDïÿÿ€ý‘Ñ·`J¥ñ ®|Z„ªI/J}8Õªb:cI×,\‘  B> ?ÿÿøÿÿÿð?þ B>p?ÿ€ÿÿÿÿÿüÑ9ÿâÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿýùR?ÿÿÿÿäá€?Þ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÞÿÿÿÿÿÿÿÿþÅÿÿÿÿÿÿëÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿ€1‚ ÿøÿÿøÿÿÿà1‚ éÿøøÿÿÿÿÆ‚…ýŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿß#ÿÿÿÿþjþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý÷ÿÿÿÿÿÿÿÿà@_ÿÿÿÿÿþÿÿÿÿƒÿÿÿÿÿÿÿÿÿÿÿø B > ?ÿÿøÿÿÿð?þ B >p?ÿ€ÿ`ÿÿÿÿü8˜_Úÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿýùb?ÿÿÿÿã¡@?ß¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿþEÿÿÿÿÿÿëÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿ€1‚ çÿøìˆ‚ ¾¦JÅæ¨B¨!î’¼( ¶ªÈf´™Æ–!¦!)}Ú:Iùññv¹UšATýU±Õ͵1Ý}ñÝñ4ñm ÿÿà?¨d]qFk’à±–×U…–QæKac@]SS%•u57777BUFR ¦b€Ž4Ž}EPa€Ô½ÀU$à@Ùu~ % ¦²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ¢!U0ÄÄÐØU0àÈäÀU0ÐØØ€U0ØÔÄ€U0ÌÔÈ€U0ÜÄØ€U0ÄÀÐÈU0ÄØØÀU0ÜÄØ€U0äÌÄ€U0ÌØÐ€U0ÐØä€U0ÄÀÐÈU0ÌÔÈ€U0ÌÔÈ€U0ÔÀÔ€9]äÈÀ€U0ÐÀä€U0ÌÜà€U0ÌÜà€U0ÄÈàÔU0ÐÀä€U0äÌÔ€U0àÈÄäU0ØÔ€€U0ÄÈÔÌUääÀÄ% ØÔÈ€% ØØÈÈYÀÄÀ€U0äØÄ€U0ØÔ€€U0ÜÔЀU0ÐØä€U0ÄàÀ€U0ÔØ€€0ØÌÈ€ƒ€ú€( 0À $’’I¹$–†0‚ ª®ºë±¦ší³,´ÖâóÏW“®T’àÃ*¤œÏ¥ÜB8³ ^{€ó ÀÏ…ˆò n|Ü 8ÀdÄà:æƒË®YúÃ,j@{Ðe³q„ê€ýèGl±'‰eÊN G&v__´ Ü 7Øà2ÀF¥îÃéŠl› v_ ªƒ‹1#ŠðÎË 9 #ÕJñ©‰Ö”ËEGÉžê˧«Kv×Kwð‰çŒˆ-§‰´¥KxNKwÊ~‰¦]š©Ñ§vHˆÉè(ÏšM’dMRN vIÍHУÌÉÔbJ~È-§”·bóÏBÜuÀõ÷>àùè-Î1ª¾çb‰OB%n€ç¢X=“î…q$ô@ÃÑ ßrbv0¨Q<=Fá-‹ BÖUr.LÔ°PB´>ŽaiOË¡,‚Ðd9ƒÃ4 Žh&Lâf; i€ÅTà¿À)+Øâ‚@Y˜Yò:‘±_pVË„$Òl@^à(Kš¼P-<Ūd”ËCHP‚FMŠ áEð(‚}($H$`£ ð2/¼ÿð?ÿÀðbÀF0€Œ`#XÎSœ¦ùFoœå0N3œ)È%IÎrac9Nr›å¾s”Á8Îr§ •'9È€ž`#ÀF0€bÉ$’I$’I$‚@’I$¶Ûm¶Ûm¶Û €m¶Øˆ4EA³]~Äm¡°Ÿû—<¹:ìX,!Ø„øEJ]‚‡QËÙ¨p$HO€ÈØAvd ò(ÄTý¢]vc">T[…ƒtiˆ>»S:ŸÅ¥ã¾‰|¶` ų[M«ÀÔ7jyêöb@7Jññ<žŠRâlú5x+„‚_X¦M!hâ&T|; ü awÿÿàB¡Dðõ„¶,- YUȹ3RÁ@i BÐú9…¥€èÿàè Fÿà@t9‚@2H’‚(d•E#DàŒ’$ Š%QHçÿÿ€€`H€ b@ÿü‡"pHFIPE ’¨¤r¡ÈœÑ’D”C$ª)ÿÿð00 $@ @ ÿÿð?þÿÿÿà1‚€þÿÀÿøÿþÿ€Äÿø k;T¨:ƤÁkZ”±Å›Ü³-KQ—Ñ\õ8áZB¨‹Jܵ)bZÖfµêK^µßÿþ† a’ d!˜S%0 ˆ ÿøâ–áXÝ=j#×ò͘b}Ì­2ƒÂ;jît¬ èr߬! 8½…Á6µMxõ}!iÙ-űÂ<ÀÕ%®ì½åEaE9Ëÿÿà?œfšaöii™[I‡’]›Y¥€}õꉸÐvW a·À€A€ÿüÿÀÿüÿÿÿð€AôÿüñKp¬n€µëùfÌ1>æ V™Aáµw:V‡ô9oÖ†œ^ÂàÆ›Z¦¼z¾Šˆ´ì–âØáž`j’× v^ò¢°¢œåÿÿðÎ3M0û4´Ì­¤ÃÉ.Í‹,ÒÀ>úõDÜh;+†0Ûà @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþücÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿû·×ÿÿÿÿÿþþðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúÿÿ­¦ÿÿÿÿÿÿÿÿÿà@_ÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿШÿÿÿÿÿø B ?ÿÿøÿÿÿð?þ B >?ÿ€ÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÔÿÿÿÿÿ¿¶?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ“ÿÿëí€ÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿü?ôŸÿÿÿÿÀ€AõÿüÿÀÿüÿÿÿð€AóÿüøÆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿ÷s‡ÿÿÿÿÿýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôŸÿÿeˆÿÿÿÿÿÿÿÿÿÀ€¿ÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿ ÿÿÿÿÿð @„ |àÿý1ÊÇr«w€%ª\½±1é¢T¨ÄÒ dJY …4'Ò*>ÉÓö¤¯­­%Ä*.š¯"¥£%.(0³³±%!š,Æ"¬"-¦(ÿü÷Œë$tJ$Á&©&¬ùƤH (\l4Ù«¨‰e¨x7777BUFRBb€Ž4Ž}EPaMkÀ'^ ‰T@pN%B²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ >!0ÄàØ€9]ÄÜ€€9]ÈÄ€€0ÈÄä€!0ÌÀ€€)hàÌ€€0ÈÄà€`ÄàÀÀ% ØÐÀÄU0ÄÄÈÐU0ÜÀØ€U0ÌÈÔ€U0ÐØä€U0ÌÔÈ€U0ÄÀàØU0ÄÀÐÈU0ÌÜà€U0ÄÀØäU0ÔÀÔ€U0ÄÀØäUÐÀÔ€EÄÈÀ€Eà€€€9]ÔØ€€ AÄÌÀÈU0ÔÄä€U0ÐÌЀU0ÔÄä€U0ØÔ€€U0ÄÀÀàU0äØÄ€U0äØÄ€U0ÜÔЀU0ÐØä€U0ÄàÀ€U0äÌà€9]ÈØ€€ƒ€ú€( 0À’I%"’m¹$–‚0"è6ËK²‚ ïÁÚÒ‰¤šŠeUó„ëÄÅ„Ј‘ŠìbvÍÀÄöl«Ož/f@Hoô΂jßRJ¾¤HÊpdp$wð 20 *Ì Ïj¯V{Ë<À~ Žöw@ùÔ#?p!ØSZöƒ ÏdFÙ wÔB}5@mDÊi^*Œäo¤fØ!œD9ùûDB®Q ¬BGØ‘;DCâé j_ÄSتÄ(ÉhLDÄE ÉÁAuJ‘ÓÄGÒ¹ü~D';‘%”D_lj7»”_*p1ª¹'$ûž{’nŽIŒ§hLQ+±ÑŒ”¾Ý“ÏnŽÆ±€zóÙ)n‚Ý©;žÝ!  (<(€xd#  ÈÒ¯Ç ®IŒ– x(À2*hxx#èŒ?ðLÈOŒÎéPТ|‹y¹fb2¬Y©Uf¾Si°y´ä³¿ž‰H•ºíÿÒ€(–à¸æ<#KåPÈ¡¤ ‡…u(( K¥SÁ,¾*Šâ5¢1ÿUxÿàÿàÄ€Œ`#ÀF0 "”¦ÉNsœ¦Hœ£9ÎsœÀ€ˆR›%9Îr˜ rŒç9Îs#I™™™™™™™™™™™™™™™™™ Œ`ÅF @`#À1€À€@ €@ €@ €ƒlm¶Ûa€Ûm¶Û`ÄØš1†XBÀÇ ˜……!b VÔ2ÏH0htý² T¤öâ°LÅSá3Óp¢÷8qŒ„&b|a2ã£VÀÐ_Ü&àçæ¡rN¹Aùx¬‡ÅX!¨s¬éëˆ.ÓK=ŸþÎy$–0Dt'Câ„eS&÷>%Ù ÿ‚ÒÔæîRL¬í;•A×É=»þ4ÿÿð!  (<(€xd#  ÈÒ¯Ç ®IŒ– x(À2*hxx#èŒ?ð1„€Äx@xà @!à€1„€€0Àxà Àÿÿÿþ       €€€€€€€€€€€€€ÿÿÿü@      @@     @`ÿÿÿ@€ ÿÿÿà ¢b ÿÿÿàÿÿÿÀ`ÿÿÿ  `1ŒcÆ1Œ1ŒcÆ1ŒB€1€Æ1ŒcÆ0 XÆ1ŒcÆ0?ÿÿÿ€[5¬ Æ1ŒcÆ€ Æ1ŒcÆ ÿø1´'ÿà?ÿÿÿÿÿÿÿø_‚Gÿÿÿÿÿÿÿÿø1´'ÿà?ÿÿÿÿÿÿÿø_‚Gÿÿÿÿÿÿÿÿøÿþ÷Ÿÿü P)?ÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàŠ?ÿ€2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÇ@€Aÿðô@ú/ÿÀÐ1‚`þC²I$Bà09$– 2IÐì’I$¸ I%‚DL’ÿø! @„ÿÀ€èvI$’\$’Á"&I :’I$‚É$°H‰’Oÿÿ €€ Äÿøÿÿàÿøþ Hÿàüÿÿÿàø @ ÿá_fµðR¤,é`!%jL"§ )†•5Ð WRÜÆºª#Ò‡¯!ØÅ:Æ™$©Såÿÿà(b€H4Ãm¸ ÅšKl€A?ÿ€þ æ¾Ý¬ióSë–&¼á„t¶V-,‘åc`Õ³VˆðÍXþíû±ï©•KçÔW¿º£Á·QÜäj­—§,¢›§µ²Ã_AqþÿÿÀ~ ë¥3ÅKo6Ë4û òÍÑ.>Ó¬¸Ò€7777BUFR(b€Ž 4Ž}EPe€ W ?@‚Ç~rv¼%(²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ $!U0ÄÄäØU0ÜÀØ€U0ÄÀØäU0ÄÈÀØ5PÐÄÜ€!0ÈØ€€U0ÄÀØäU0äØÐ€U0ÄÈÔÌU0ÐÀä€U0ÜØÄ€U0ÔÀà€U0ÌÈà€U0ÔÀà€U0ÌÜà€U0ÌÈà€0Ø€€€U0ÌÜà€U0ÄÀàØU0ÐØÄ€0ÄØÄ€U0ØÔ€€U0ÈÔØ€U0ÈÈЀ!0ÈÄ€€1 ÈàÀ€U0ÐÌЀU0ÜÔЀU0ÐÌЀU0ÄÀÔÐ9]ÔØ€€U0ÌÌä€5A ÀØà€YÀÄÀ€9]Äà€€U0ÄÀÔÐU0ÄàÀ€ƒ€ú€( 0À’I%$’m¹$¶‚1@ÓÏ<ôPA$’LqÇ[r¬Ã ΄ۇãˆãÄ@<ñšÁ0ÎÙ!óÁ„x ¹B»4&–èFP± Þ‚<¡Ä%ĉ’¯ëädKxP¥ ‹¡ ¢è‰PÄÕ_ ŠòQTb,ÃE BŒÕ(­>&\PB @èÐÝ!\+…B„`𾱄` xP ãs\9ž¤ˆ ‰…«^±AÖ‹AhP‘Jð2 ƒ   1\‡´œí…ŠÑTÓEº/uHšíu»‰Ÿùë^Á Âß绬ÕBOJð¢¾Ã¦Ò  ÈŒi …ð¡TúA?õç€Q| ÃU Ëì5ò©àÿÿþ€ F0€Œ`#¶“˜9ÎPœ§)‚S˜'9€œÀ €œã ÚN`ç9Brœ¦ N`œæJs&sŒ°ä’I$’I$’I’I$’(Þ÷½ï{Þ÷½ï{Þ÷½ïx÷½ï{Þ÷½ÀF0€Œ IA$I’ $A 1¶a†Ûa¶l6Øa†À @ €=‰ Çˆâð0cŠ5 à )ŽÈ(Á2˜Œ1¸A3À:ŸôüA@™©üa3X…§>Ž 44!¡âÁŽ wâ’®1d€ã>¡QokJÈÁ¤€ÙO0 ÏšKDQÿ=À‰Í!{80…sõxGJŽ.ºìZñ2îñO sXɳ̹*¶.«Jçÿ€›ÿ+DúN÷) œÿÿø¨PŒÖ0Œ |nk‡3Ô‘0µc+Ö1à(:Â1h-  É^Ad!Á@P€BÀb<ˆ <ð €ðÀ€BÀÀ`€< €0`ÿÿÿ€€€€€€€€€€€€€€€€À@@€@@@@@@@@@ €@@@@ÿÿÿþ    B  ˆ0?ÿÿÿ€ @ÿÿÿð@1†ÿÿÿðÿÿÿàˆ0?ÿÿÿ€SÆ cÆ1Œ`ÆŒcÆ1€`X0!Lc1ŒcÆ1€c1ŒÆ`ßÿÿÿÀ( c0 Æ5ŒcXÆ1€cÀ0,ˆ?ÿü#ÿÿÿü'ÿÿÿÿÿÿÿÿÿü3ÿÿüÿÿÿÿÿÿÿÿ÷üüÿüÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿßÿÿÿÿýÿÿÿÿÿÿð¸áËÿÿÿÿÿðG€"ÿÿÿùì¿ÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿðÿÿÿÿÀ€AÿðôúÿÀÐ @ŒÿÀ€èrA$qˆœP!"’C’É :Ib'H¤Á$²Oÿÿ$ @0ÄÿøH$Ž1Š$RH`’Y$C’ #ŒDâ ’$–Iÿÿà`d„  ‚@€A ?ÿÿàüÿÿÿÀb ÿüÿÿð?ÿüÿˆ ÿð *NR• 3ÀǑ㼱d—F&¢¬Í ±2Œ„( Iò+ÆÕAñAÿÿü ‚ÊL–$ÖÉ,"Ìe4@ @ÿð¢! Ñq¡ ÝÙyuÈÙHéÉ-‘¥í‘“üÍ1¹éé Ìœâ©ùÒÜZšQSY” ZÕ¨SM[X$Z\ÒS¤I¢Zå¿ÿþú­˜IóÉ+×F•1’ÖU¦]ñ0qW|•V<ˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀ~ˆ„4WEÆ„'weå×#dR#§$¶F–C¶FOð 4Æä#§¤ƒ2sЧçHkqjhUEMfR‚=hCV¡M5m`uipYÿIN‘&tzˆYho–ÿÿøè´Za'Îw$¯]TÆKYV™wÄÀAÄ]òUXð @„ }@ÿÿð?ÿÿÿàü @„ |àÿú‘ÿÿÿþ{ßÿÿÿÿÿÿÿÿóÿÿÿÿÿÿ€ÿÿÿõßßÿeÿûõ£ÿÿÿûö¿ÿÿÿÿÿÿÿÿ¨ÿÿþÿÿÿ{ÿÿÿà?ïÿ[ÿÿÿÿ€ÿq™ÿÿÀ7ÿâþ/ÿÿÿÿÿÿÿÿÿÿ#ÿÿü¯Êüÿb@ÿð?ÿÿð?ÿþÿÀb@Òÿð°ÿÿÿâ7ÿÿÿÿÿÿÿÿÿÿÿìÿÿøÿÿÿ=ýwôÿÿ¿l?ÿÿÿº[ÿÿÿÿÿÿÿÿùßÿÿ×ÿÿÿôßÿÿþþÏï¿ÿÿÿø÷ÿüþ?ïÿÿÿÿÿÿÿÿÿÿò?ÿÿÊü¿Êÿð @„@}@ÿÿð?ÿÿÿàü @„@|àÿúñÿÿÿþ+?ÿÿÿÿÿÿÿÿðÿþÇÿÿÿ€ÿÿÿóßÛMÿû÷ÿÿÿû¥_ÿÿÿÿÿÿÿÿ›ÿÿýOÿÿÿYÿÿÿà?æþëÿÿÿÿ€ÿq›ÿÿÀ3ÿäþOÿÿÿÿÿÿÿÿÿÿ#ÿÿü¯ÉüŸÿb@Îÿð¯ ñ-Å5ͽmMyPñÀy‰]Eea›üe!p䅜谸é½ûqìU—UÚ¶²ØÖi¬NÎÓeš¤Ù­­ÉmsCrÓ7ÿÿÀpÒ©dªrÖ Æ0QBž)Æ £Z¢N*š„‘D7777BUFR øb€Ž4Ž}EPa€ÚT'7‚ØiL% ø²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ô!U0ÄÈÔÌU0ÄÀÈÜU0ÄÀÐÈU0ÄÈÌäU0ÄÀÈÜU0ÌÔÈ€U0ÄÀÈÜ0Ø€€€U0ÄÈàÔU0äØÐ€U0ÄÀÈÜU0äØÐ€U0ÐØä€U0ÌÈÔ€U0ÌÈÔ€U0ÌÔÈ€U0ÄÀØäU0àÈäÀU0ÈÔØ€U0ÄÈÈäU0ÐØØ€U0ÔÄä€U0ÄÈÔÌEÐà€€9hÄÈÔ€Eà€€€9]äÈÀ€0È䨀U0ÈÈЀU0ÈÈЀU0äØÄ€U0ÐØä€U0äØÄ€U0ØÔ€€U0ÔЀ€1$ÄÀà€% ØØÔÀƒ€ú€( 0À’I%"’m¹$¶‚0BŠ,óÏEPALÓÑAZÜ ÇLžz³dæâ»0Ý^fBî” EÜNÌòþ´¢GÐË.´–êªrvÔYd r¤`^ ðžã^ Ò O|À„AІ. |h lÈ»œ]¸±Ø4nØ~¤˜@ö•Nõ²:Ã). §%~kH)±Ôÿþ i?”]™Å#ÞÀí_Jˆ/‹à!q…Êb4Ã=°uA##@äX£h-â~ýÄ?~⬶—N`«Ð`WëÐ&ìØŒ ½§D´ðÌôÃØÁªðáÀß*úÝ7LÞbÍ"]ÐzjÞ‚TÝñ€ô·Ý3p`zû·MWtä³|ß±ìG®Ä=ä»ß±…BÁhZb1 «ÅÉ@“ªŒª! –ª,aP€¡ %„`Êv)AàP%ƒÀY/¦­MžÔ4ãgÃ-ù%q·š   h7›í·\­þÇeNœR7S•øùâaÙ¡AiTŒA(ƒÄ°r›ƒÁä°Q´>œÐFD9U(å¥ð=àÿÿþ€ F0€Œ`#ÂÎsœç JsŒç)Ns”§0`ç)Î`# 9Îsœ)Î3œ¥9ÎRœÀ €œ§9€Œð#ÀF0€Œ I$’I$’I$$’H 1¶Ûm¶Ûm¶ØÛm°À @ €=‰£‹ hEeáLž˜43‡SúA¥7€pË 2¶±{ £n38p„BÁ¡ ˜£E pcÎõµ ˜1Å w×z“§rî U-ν-ˆðA#ÁIN&k­À¯«g©¥âkhÂ=(×¶Ãè“Þrb”5ªnRÊS;E…†Î,¡ g‹­þs;…4Íö„g¿XÉïÿÿ 7¡hd9ˆÄ8‚¯%Nªb2¨„€Z¨±„a@†B€–ƒ)Ød¥@–@xà @!à`À0~Äx@xà @!à`0` ˆ0?ÿÿÿ€À@@@@@@@@@@@€€@@@@à           @@    ÿÿÿ€€€€€€€€€€€€€ÄÿÿÿÀ #ÿÿÿø€€CÿÿÿøÿÿÿðÄÿÿÿÀ)ŒcÆ1ŒcÆ1ŒcÆÆ1Œk¦1ŒcÆ1ŒcÆ1Œc cÆ1¬oÿÿÿà1ŒcXÆ1ŒcÆ1Œ`ŒcÆ0,Äÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ„Aÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ„Aÿÿÿÿÿÿÿÿÿ€}Ækÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¶è pˆ'ÿÿÿÿÿÿÿÿÿÿÿøÿø þ>€èÿàè Fÿà@t9$q™ 6I$Á$Ip¦D€È ’I$0I'ÿÿ€@(¢ @ ÿÐä‘Ç dH €Ù$’C’@t9$q™ 6I$Á$Ÿÿþ ¢ˆ€1‚@þÿÀÿøÿþÿ€Äÿøÿÿàÿøþ @ÿà@8S%PbÔ¢©""A4ÃXÆ©êRÌ¡­L\Å"åí2 05¡ ™ŠSÚ„$J„ÿø ECqÇ&b§$Æ’  @€ÿà<T ÷>¯«üò¿n›<þ@o;òø;ï»™¿Ð ¬íÁ14¬õ?o+èù¼/‹ƒ¿ÚêÁp+Ùº°‹Äë7ïCºñ:oý íHÆ*k Èk)ê­é…k*¬ªL,‘ɨªm#ççhLéÿÿý[#I¶›(ëЬ›n”î'm,Ì«8êm47777BUFR êb€Ž 4Ž}EPe€ O:ZAx5gàrpà% ê²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ æ!U0ÐØØ€U0äØÐ€U0äØÐ€U0ÐØØ€U0ØÔÄ€U0ØÔÄ€U0ÄÀÈÜU0ÔÀÔ€U0ÄÄäØU0ÔÀÔ€U0ÄÄäØU0ÄÈÈäU0ÄÀàØU0ÄÈàÔU0ÄÈÈäU0ÄÀØÌ9]Ôà€€9]ÐЀ€% ØÄЀ5`ÀÀÄ€U0ÄÈàÔU0ÄÀØÌU0ÐØØ€0ÄØà€U0ÄÀØÌU0àÈÄäU0ÄÀØÌ0ÄØà€U0ÌÌä€U0ÐØä€U0ÜÔÄ€U0ÐÌЀU0äÌЀU0ÐÌЀU0ÐÌЀU0ÐÌЀU0ÈÈЀƒ€ú€( 0À’I$’’IÉ$¶†1UÓ³P ãTqÉqe–áe ’ ‹H/‘x¨#】C„WT²"«på„d 6Ð?zÊᆬüƒˆàôì]Œ+…mÑ÷)÷$ûC«rO¹ŒQ!D(…p® ´#Âî´/ˆ˜PR„ex( à{ˆÁ@-ð¾Ⱦ ‹Jð(ÿ€È($\®`â½tÙk Z 2à•°:9W®RK]Òÿ‚½ÖP(,¢%lÜNg¬ ‰H¨PPɤ iB4–¾>šFê¦A@Ò7 *rÿÜ¥•EWÿþÿø @ÀF0€Œ`# )ÎpŒç)ÊsœÀ˜9Ì”æ ÎsŒ,§9Â3œ§)ÎsN`ç0S˜'9Î0„™™™™™™™™™™™™™™™™ ™˜ÀF0€Œ`#Ä’I$I$I ’I$’Hm¶Øa¶Ø¶Ãm¶Ûm° ðl° .Fªwfߊ°´Ñ?´YpmhX€ÚºqƒŒ Fß(6–˜á"ƒh\UP ñ¤«729Èî·µìfâ© *b8g”À¦¸Ž/:neü|¬ñ6MœMì‹ à(–…ñïP ´Q +Á,3mZ?·l‰’_™§Ñr_Ey8çÿíÆ— ßÿþ*h$G…Ýh_0 ¥ÊðPÀö7‚€ïÿÿøŸÿÿÿÿÿÿÿÿÿüˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀ~Ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø‚ðÿÿÿòïÿÿÿÿÿÿÿÿÿÿÿÿ÷øÆÿÿÿÿÿÿÿÿÿÿÿÿ3¿ÿÿàÿÿÿÿÿÿÿÿÿÿÿÿà@_ÿÿÿÿù}¿ÿÿðÿþÿÿÿÿÿÿÿø B > ?ÿÿøÿÿÿð?þ B >p?ÿ€ý¡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïå ÿÿÿå¿ÿÿÿÿÿÿÿÿÿÿÿÿïó ÿÿÿÿÿÿÿÿÿÿÿþèÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÀ€8¿ÿÿÿÿõü?ÿÿàÿüÿÿÿÿÿÿÿð @„ |àÿûQßÚ½•ãŒÕU]:sL–þ,ö3ùË'®¬±ö ¿åi- øc²væ+Ës¨n¨Þ[Ö¢¤ÊM:LByôÉ4À‡FPïÿÿ€þ1àžªw¸SF_‰t¤’ÙW† U¹ÄU#å7777BUFR,b€Ž4Ž}EPg† )X‰J|vAp&,²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ (!U0äÌÄ€U0ÄÄÈÐU0ØÔÄ€U0àÈäÀM=<äÈÄ€)häÐÌ€9]ÈÄ€€)`ÄÀÔ€5A àÈÀ€%8Ø€€€)ØØÜÔ9hØÜ€€9]ÈÜ€€)ÈÀÄ€U0ÄÀØÌU0ÔÀà€U0ÄÀØäU0àÈäÀU0ÔÀà€0ÜÈ€€0ÄÔÈ€% ØÐÈ€1 àÈàÈU0ÄÀÀàUÐÌÄ€9hØ€€€9hØ€€€Eà€€€U0äØÄ€U0ØÔ€€U0ÐÌЀU0ÄÀÔÐ9häÀ€€9hØ€€€9hÐà€€9hÐà€€U0ÈØ€€U0ÔЀ€ƒ€ú€( 0À’I$¤ši¶ä¶ÐF4’KzŠ+:I0Zm¶Ïà¹Áqà r@îË¢‘õƒ uP¢ Øìà˜]ñ §f ð ý2H†² ð Žåz 𹈠¥§6  ¤­ IlTbþ– g¤ªæÊzÄ ÝÎ ‘mgýŸS[Ò¨I>å~ r- I0ÔB¸ EP)⨠'­ý ËÁÊÁ)=j¨|(ú—€äáÀC¼“‡6R@ó£öªÀ°²`;ÎŒäM|(Ÿ g€ Óù›µ€IðÑö›øC¨P-ñ¸ ã™8@1"#‡¸Wä,À^DÑÀe-»bûŒhyð­÷Bµ¹)]‹tc%ؾàû‹ÏnŠ}ª·Fé]Œ …p24;W àd+…B™¢XxA´!¸‹äÙÍ@Ë>…È–P‚0 …¡¸2‡‚ø2àð K^L×mÍÓ¨K–8ô~Ã^Ž%Cp§u;\ f¸B9„µ^Ì0ªo2ºž€Q(L0Ü-…QàZ5Éeð¾ †’ä‰`ðð%ˆpds%ŠñT}5ÀRøi J¡¾xÿàÿàÄ€Œ`#ÀF0³œ¦fN3”À`œe9Î`Fs”ÀŒÀ Ær˜LŒ§9ÌÀO0€Œ`#À1€À € €@ @{lÛlÀ¶Ø0 újÌÆ‚4*‚Ê Ø•Böq ‡ååëXÐD«Ý*YD?BÑ2~Cð‹<á{8-‚°½‡œ/oà(ÃLµ g!³E1][hà¼Þ‚¥ œrÓè<v¨HP0iŽ&äüåhnRšGªmpÐdˆå:f5"¦p†© $$c0é™Þß2 É,(„¤"~vÈE²œ@"†ÿÿø¨S4K (2ƒÀd7q|› ™ ÈgÃp ÊðFð´7B0ð_B€Ü €ðÀ€BÀb<ˆ <ð €ðÀÀ°À  Àÿÿÿþ@ÀþÀøÿ?àüÿ€ðþÀþÀø?àüÿ€ðàüÿ€ðþ€ €üÿ€ðþÀøÿ?àüÿ€üÿ€ðÀøÿ?à?Àøÿ?àüÿÿÿÀà  @@@  @ @@  @@ `ÿÿÿÿÿÿþ€(€€ˆ0?ÿÿÿ€ÿÿÿ @!ÿÿÿüAí°m°Û`ÀƒÛ`6Û` ¶À¿ÿÿÿ€SƵ` cÖ`1Œc€€AÿÿÀ¿ÿÿÁœ‘L2ÿÿÿÿÁ ïɼ/?ÿÿÿD@üÿÿÿrE0<È ÿÿÿÿ3¿&ð¼ÿÿÿýAÿÿÿûÿÿÿÿÿÿÿÿÿÿÿÿMÿÿ¢[EîÍÿÿÿÿÿÿÿÿÿÿÿÿmYáÿÿ¦8ÿÿÿÿÿÿÿÿÿÿo4BÿÿbÿÀÐ}ÿü}bÀÿü†¤’É#’1 ’G$²Id’@t5$–I‘‰’9%’K$“ÿÿÀÀÀA€$ @„ÿÀ€èjI,’9# $rK$–I$CRId‘ÉI#’Y$²I?ÿü €@ ‚Ab€ÿüÿÿð?ÿüÿˆ$ÿð?þÿÀÿÿð?ü @€ÿÀ€€¥2‹¡‹1Ks¤`¦¨ëc’£©*JL…À8S-’šÖ ™Î0 “äµÅ¯Š–¶5K[?ÿü X2HQ$¤ˆ-bÿþóD./(='€>;$6I0œ4'¯€+0?,©™9±ÿÿüïŒÃ²Ô64^á-0‰BãÚ7…TMLG4Ó?KÀ @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþ÷¤ÿÿÿ˜€%§¹§9µ­ÿÿÿÿÿÿ§©·ÿŽÉÿÿÿÿ”–&¿fGÿÿÿúëQZQ|;©yïÿÿÿÿÿú™²ïúBSÿÿÿÿøâ’ÿÿÿÀßÿÿÿÿ'à]e1SÿÿÿÿêÏ_÷É¿ÿÿÿÈó~Ä€ÿàþÿàÿüÿ€Ä€¤ÿà?€?ÿÿÿ­"Ÿ)œe«ÿÿÿÿÿÍ™§ú/HSÿÿÿÿõ+`;þý™ÿÿÿëÌee)fîe¨¿ÿÿÿÿÿêåËéj« ÿÿÿÿãé(ÿÿÿûãÿÿÿü¿}µI_ÿÿÿÿ­5ŸÝ“ÿÿÿ4-Gø B > ?ÿÿøÿÿÿð?þ B >p?ÿ€þÿÿÿþ¨‰$jwvoÿÿÿÿÿ>6Ïçþ%SÿÿÿÿÒ-nëû÷Cÿÿÿý;çRLSãz¨_ÿÿÿÿý•?Ç—<ÿÿÿÿ.ý”_ÿÿÿûÃÿÿÿüÿ†5IOÿÿÿÿ­=¿ßSÿÿÿ<ŽEø B>p?ÿ€þ(îט hÚbèqjbt¨¦w6.™Dþ$NʤÊ+Ѭná+÷„%#&¨.‘%º6”8¦%°Ä§•¨¢&$¦%4œ© Ÿ©ÿÿüï ÓvPeóÖW%2§ :´ö¹„QL¬/×E;`7777BUFR†b€Ž4Ž}EPa¡ ) ЂØ}@&†²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ‚!)ØØÜÔ)ÈÀÄ€U0ÌØÌ€U0ÄÀØäU0ÔÀà€U0ÄÀàØ!0ÌÀ€€U0ÔÀà€U0ÐØä€U0ÄÀàØU0ÔÀà€U0ÔÀà€U0ÐØÄ€U0ÌÈÔ€U0ÔÀÔ€U0ÌÈà€-0ÈÄÔ€U0ÔÀà€U0ÐØØ€U0ÐØÄ€ ]äÀÀ€EÔØ€€EÔØ€€U0ÈÈЀU0ÐÌЀU0ÐÌЀU0ÔÄä€U0ÈÈЀU0ÜÔÄ€U0ÈÈЀU0ÐØä€U0ÜÔÄ€U0ÌÀ€€A0ÄÀÔ€HØÌÌ€9]ÈÀ€€0ÄàÔÈ0ÌÈÈ€ƒ€ú€( 0À’I%$ÛJI$–ÐØa†e–O<óÏA’L0Ü3AÃK²ëB½ ™– ónèh8ùnV.ÜDÕf†pJ3Ait À‚äv$›^9L ½‚Øäˆ´âÐWrÝ·pâh‹û‹~ ÿüï w U  l MçÜô$;sÛ·d`©óÐT¿P¥ü¡ —ꈊʞARý@» Ð=^ð'½Ô€À œÌíƒVh@z` Æ]@ömð{6ø˜¯¤žÔ3À}»€9@@)œXAj)§¹.œºÜlÒ£>¸hLK@pKc¸7DJz!ZŸmÈ•1…>‰Z«}Ƭզ(V䜔+D©Š4B±o Ôøz}ÍUº<÷bÝ!È¥  ÀˆÆi|AAJ\ž£Ára„’ (2 ‚…)‰`<(ྠ€¡àFö{*®ø´Ý½%Œ½š.·Ã=Ên8[ìFƒA€÷ƒ5€·t$’öBªÐ †¹®Db1¹ÌF-G‡Ô±¥T ÅÄ`x2Aíp P¾i< Í!çÿþÿø @ÀF0€Œ`# Fs˜'9Îsœæ Î@')ΜÀabÎsç9ÎsœÁ9Èå9À˜Œð#ÀF0€Œ, @ €@€@ €@ Û ¶Ûl6Ãm¶Ûl01‚ö&”Ä4=ZŸØ& sÓ•Oé`™é”þAB˜†…¸MÂH01Æ0Àc©ý À=mAŽzl†„‚ƒ‹°£Gó"¤øð¼ˆÑä™*`‘äIŠ=g=sa€qKOµm9xí3 Ùm %6™Ò>›™ðÄÁŸï¹ºŒÎ”M å« ›Œ‚hQ Æ›bñxc¤P áš{6°…g ˆkÿÿàC‘KAAŒÒø *‚‚”¹=G‚ä<Â4% $@Pd R0ÀxPÁ|ACÀŒ€BÀb<ˆ <ð €ðÀ€BÀÀ 0ð0 ˆ0?ÿÿÿ€È€@@@@@@@@@@@@@@@€€@  @    @ @     @@ ÿÿÿ€€€€€€€€€€€€€€€€ @!ÿÿÿü€ÿÿÿø€  Àÿÿÿþÿÿÿü1†ÿÿÿð Æ0 cÆ1ŒÀ1ŒcÆ1Œ !@ÆŒcÆ1€c1ŒcÆ1`Àÿÿÿþ!@ÆŒcÆ1¬c1ŒcÆ1€`Öbÿÿ Cÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿ?ðÿÀp) ÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿüÿÿÿþ4ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÀ@cÿÿÿü.¶º?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ:ñ?ÿÿbÿÀÐ}ÿü}bÀÿü†à‰GMGrH‚1$’@t7J8šj8“’Dì‰$“ÿÿÀÀÀ€€@$€ @„ÿÀ€èn”q4Ôq'$‰Ø#I$CpD£‰¦£‰9$NÁ’I?ÿü  Ib€ÿüÿÿð?ÿüÿˆ$ÿð?þÿÀÿÿð?ü @€ÿÀ€pªXU<òY†£¸ÐR†µKRÔ6¨jaÚ£@JL¸šBþ! BÅå*ÁJkªÄìçKÆ&†K)¦¦**Æ'Í&ëhBÿÿÿþ£6ÊgB2‡°†:a…œYˆ8³Ž1e4b` P7777BUFR ¢b€Ž4Ž}EPg€ ÙXUÔ¨"eªhÝ´% ¢²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ž!U0ÜØÄ€U0ÄÀØäU0ÌØÐ€U0ÄÀÈÜU0ÄÈÔÌU0ÄÀØäU0ÐØä€U0ÔÀà€U0ÄÈÔÌU0ÜØÄ€U0ÔÀà€U0ÔÀà€U0ÄÈÈäU0ÄÈÈäU0ÄÈÈäU0àÈäÀU0ÄÈÈäU0ÄÀØÌU0ÄÀØäU0ÈÔØ€U0ÄÈÔÌU0ÈÈЀU0ÄÈàÔU0àÈÄäU0àÈÄäU0ÄÈàÔU0ÄÀÔÐU0ÄÈäÀU0ÄÈäÀU0ÄÀÔÐU0ÐÌЀU0ÜÔЀU0ÐØä€U0ÈÈЀ0ÈäÈ€9]äÈÈ€U0ÈÈЀƒ€ú€( 0À’I%$’m¹$¶ž(!¦:„! JR•5­sŒëJ[\WR ²Ñ®T5Žðö´CË®05H ÐÜÃÑ œÌ4PŸl„¤nÀJ !õ„Ÿ À@“@Üò„ÂC÷x%0ºÄ‚é E G €Äˆƒ.Âà7±Ñ>Â[„ÁFìCÒ[+ñqÒ$öä^1Hy‘E`âHBº>úÔ X"™lGÞp¤ ¼K!yQÂ탃ø ½Ü#¾d:|¨«Š×ñAeC9p…‘È $Š»ä.È\X ¹ŒzkjŒæ ®'{l¯tž£€î[blM î6&ÄçÌËblGX·×\Ážã@YN‰Ï`„Ç¥:Ìqö‡žäƒ/qÏÁ˜h(¾( Ⱦ(¨H¾2 HÀÈZF¢ 𧙍êlp‰hê@(<†B( ÊlC™n¦üùÀæc¸˜Q¹a€èÿàè Fÿà@t9$’)‘ÈäA™2I$I$ŠD$r9D&L’I'ÿÿ€€`b@ÿü‡$’E"9ˆ"&I$’¡É$‘H„ŽG"„É’I$ÿÿð00 ‚@ @ ÿÿð?þÿÿÿà1‚€þÿÀÿøÿþÿ€Äÿø¨ ˆ™d æ1Æq `†ò¤êBñH央iŠT íjÞw™ÄVŒ¯2Òf Ÿÿþ†A4¸Äœrˆ ˆ ÿøá€»>ð£3M!©êQÉ1Ÿ„I1›Û\ó«²á1jèà 'ßtÃ+N'"-*PÆk%@FâOT¥‚#ˆ˜^Yªµ aÿÿüöŒ²)!Ë¡$k|8Y© ¦Êj®©é‚›$¨ð B?ÿÿøÿÿÿð?þ B>?ÿ€þè ³ï 34Òž¥“ðxD“½µÉß:».®Ž²qýñÇL2´âr"Ò¥Laf²Tn$ñ•JX"89…åš«P¶ÿÿÀhË"’¬ºF·ÀS…ê‘Êl¦ªêž˜)²J1‚ êÿøÿÿøÿÿÿà1‚ çÿøîƒÿÿÿÿ·ùAÿÿÿÿßÿÿÀßÿÿïÿÿÿÿÿÿÿÿÿíÿÿÿÿÿÿÿÿÿþÿ€1‚ ÿøÿÿøÿÿÿà1‚ éÿøñÿÿÿÿ·ùÁÿÿÿÿßÿÿÀ°ßÿÿíÿÿÿÿþÿÿÿÿÿéÿÿÿÿÿÿÿÿþÿ€1‚ êÿøÿÿøÿÿÿà1‚ çÿøóÿÿÿÿ·úÁÿÿÿÿßÿÿÀ¨ßÿÿíÿÿÿÿþßÿÿÿÿÿëÿÿÿÿÿÿÿÿÿþÿ€1‚ çÿøíŽD˜ªÙzÉ;ÔÅ#^Ð9uHPHb€Ž4Ž}EPadpTØ´…ƒ°s40%>²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ :!U0ÄÈÀØU0ØÔÄ€U0ÜÈÀ€U0ÄÀàÔU0ÐÌä€U0äÌÄ€U0ÄÈÈÄU0äÌÄ€U0ÐØÄ€U0ØÔ€€U0ÄÈÈÄ5A ØÀÄ€% ØÄÈÈ HÄÌÌÈ ]äÀÀ€HÈÀÄ€U0ÐÀä€U0ÄÈÈäU0ÌÈÔ€U0ÄÈÈä0ÄÈØ€5ePÀÐÈ€U0ÈÔØ€U0ÄÀØÌU0ÐØä€U0ÄÈÔÌUALØÜÄÈ \Ðà€€9]ÐЀ€]$ÔÌÀ€U0äØÄ€U0äØÄ€U0ØÔ€€U0ÜÔЀU0ÌØ€€U0ÈÈЀU0ÔØ€€ƒ€ú€( 0À $’’m¹$¶€0A 0Ë,³vZñs,´ÖZÛ®rŽDq€Ë*›…ˆ`ˆaæê¹´¨ ˆØN ̱„áîˆX¾Á̱‡*ö ¸ZEa8A‰>œ@W Èâ%Ó˜háæÑ Ѭ-P 7¢Ž -¾9©¸‘3áM½…0 —¬ AëÈBhdp9Ò¼ ®î yì9p€ò `•Ð<§X"„ ù’óþ 5”’JIhô}eˆ!0 xQ…Û”’JIÉïPGùÈDxãb™p X””’JIuÛà;x ‘¢íË? A”±n˜Xén××ü v/º¹%¸·ÒŸ}ѡؾàjÜ“îv1¡ª±€<Ô d+90¨U< GY¦U^#0 )@ðÜ#¤nVHpÁ•dë´‡6@7 Áä`$tÿ‚8’O£¹µz®mKÑ$,Ö@VHÞ‹7dŒ) ¢î°ª/š‘EŠM1Òo›ç¢´²'©Âf©HÌž*Ð2\'ð»è¯¦Lj«ÿÿø¨U< GY¦U^#0 )@ðÜ#¤nVHpÁ•dë´‡6@7 Áä`€BÀb<ˆ <ð €ðÀ€BÀÀ00`< Ã`ÿÿÿ€€€€€€€€€€€€€À@@@@@€€@@€@@€@@@ÿÿÿþ    ˆ0?ÿÿÿ€ @ÿÿÿð@@@1†ÿÿÿðÿÿÿàˆ0?ÿÿÿ€SÆ1ŒcÀ€Æ cŒc0!LcÆ1Œc c1Œ`1Œ`ßÿÿÿÀ)ŒcÆ1Œ`ZÀŒcÆ1€ Æ1Œˆ?ÿü+ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ”ÿÎgÿÿÿÿüÿÿÿÿÿÀ LÿÿÿÿÿÿÀÿÿ‚¿ÿÿÿÿÿÿÿÿÿÿÿÿÿù@üàÿÿÿÿÀ/ÿÿÿÿüÀ/ÿÿÿÿÿüÿÿÿÿÿûŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁqÿÿÿðEœÿÿÿÿÿÿÿÿÿÿÿÿÿüPZ?ÿŠ/ÿÿÿÿÿÿÿÿð¿ÿÿüˆ?ÿ@ôÿðôˆ#ÿð :hÄŽI#aË RK’(†1#’HØrÈ’Æ$‹ÿÿÀÀÈ À@ 1‚ þC ‘É$l9d IcEÐÃ@$rIY’XÄ‘ÿøÄ@€ @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü 6 À·5Q”0øðzZ$ÅìsÞ 1f€X¤j 24kƒ#*Ï1‰¢Æ¦UZçÆ@‹’OÿÿCQ3D N4CpºH0ÄÿüåˆeUX…Zz5u€’#i{¯Fsf†dar_Y}ocJC{IIj`]Y~`„ÆçF—³ö˜°¶7ÈÕ7È—„FfxXXóç…£‚Æçˆ˜Ÿÿÿ€þá‰\ä]Xâ5’pa=³Ñe2@…ô§Xäç!¦Üb@ÿð?ÿÿð?ÿþÿÀb@Òÿð–!•UbièÕÖHŒq¥î½Íš‘…É}eõ½) í%%©teù‚œ^ÏÚ`ZÀØÜK#Tß"^™áacÏžŽ ž"`Vÿþû†%s‘ucŠ4ÖHmÁ„8öÏE”ÉÒc“œ†›pˆ!PÿÀÿüÿÀÿÿøÿˆ!8ÿÀ~üÿÿÿÿÿÿÿÿÿÿð¿øŸÿÿÿóô¯ÿÿÿó²R¿ÿÿÿÿóÿÿ÷éGÿÿÿÿÿÿÿÿÿø Îýÿÿÿú?¿ÿÿÿšÌÿÿÿþÏÿÿÿÿþƒÿÿÿÿÿÿÿàøBÿÿ™ÿÿþ²ßËÿÿÿùŸþÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?~Gÿÿÿÿÿÿÿÿÿÿø×ü¯ÿÿÿúÿÿÿù¹!oÿÿÿÿùŸÿûôÃÿÿÿÿÿÿÿÿÿüè?ÿÿý?ŸÿÿÿÅ]ÿÿÿÿ/ÿÿÿÿ€ÿA¿ÿÿÿÿÿÿÿð?ü1ÿÿÌÿÿÿ=oçÿÿÿüßÿb@Ôÿð?ÿÿð?ÿþÿÀb@ÎÿðÀ#ÿÿÿÿÿÿÿÿÿÿüãþ_ÿÿÿüÝ?ÿÿÿüðˆ§ÿÿÿÿü×ÿýúáÿÿÿÿÿÿÿÿÿþ·òÞÿÿþwÏÿÿÿÜšÿÿÿÿ•ÿÿÿÿÀ°ßÿÿÿÿÿÿÿøþÿÿåÿÿ¤§ñÿÿÿþOÿ€1‚ çÿøÜ„Z†¼t¢V¤À² €¡ <~¢Äœx®Œ`–€œR^´6NŒ znýxð0T§[ ‰·j„[9_ìä¡7Ýi•-êM?+µõ!EÏ ÿÿà?ÔaQ(ƒÖ1F TQETB×,P™S—D)57777BUFR Æb€Ž4Ž}EPc€„ˆ&˜Ü‡á(qÞd% Ʋ%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ Â!U0äØÐ€U0ÐØØ€U0ÜÄØ€U0äØÐ€U0ÔÀÔ€U0ÌÈÔ€U0ÄÈÈÄU0äØÐ€U0ÔÀÔ€U0ÜØÄ€U0ÌÈÔ€Q!PÌÌÉEÈÔ€€9hÄÌØ€9hØÜ€€U0ÄÄÀÌU0ÄÀàØU0ÔÀÔ€U0ÄÀØÌU0ÄÈÈä=4ÜÄÔ€!0ÈÄ€€Y8ÜÀÀÔU0ÈÈЀU0àÈÄäU0ÐØä€Eà€€€Q!PÌÌÉ9hÄÀÜ€EÐЀ€9]ÈØ€€9]ÜÀ€€U0ÄàÀ€U0ÄÀÔÐU0ÐØä€U0ÔØ€€U0ÈÈЀƒ€ú€( 0À $’’i¹$–„0¢Œ2í4Ûm·Æ˜_« ²Öõá$’ÁÕKjëÄÓ†÷.FúÓ0ø(ñ AYˆ¦öçF³¨Fúç*¤æHÒmÊ%¢Ä p°yæÄô öz œ` ç(!„¯œMôuvGl%ò%òé:!szåR n¼¤aZz¡"…4á¹€uÈXÌ8Éï£o^ƒPúB¼þ˜‘ÀhÓðkl ½Yó…Ær€ qŒع?„àhzØ ä¼>ÁXÿ$ð¦7fÀA Ðá48AçæYpÿÆ6UzŠ@UÜx|(H"…ácÜ{ªhÝÀq_­Ý2„híŒ.r­Ü]-ââå\«wE$='âå\ªýgMÑÚí!P¨ÂbK Cs aA6»…@<€z&4™ ´*‘„b¨ € 2Ahª ÈK}˜s6ÂMW;aŒ>›=péUÌê;Ø“k¾iÿÀ:s¸îŠG@(”`Œ´¾žM$É,€€ÿðôˆ#ÿð :-@¤bK$1IÉ$ȆKP)’É RFŲI sÿÿÀÀ€V @ @„ÿÀ€èdµ‘‰,Å$l[$’ :-@¤bK$1IÉ$Ïÿÿ X%@€A ?ÿÿàüÿÿÿÀb ÿüÿÿð?ÿüÿˆ ÿð )LB GjPF1ŒS ã°çr@„µ³qš$ž┇1Ĉ%K¤,§jŠf¬ ZÖø B?ÿü  ÄD ÒI²˜.T PF @ÿðŽ!ˆÉµÙäÆmÎu¶}Y½µáÒUòš‚I‘Æ>[ýMõ"NMz\üaìyM')èúnëeæ–ä?”þÆ–šK¶ûû'ó¥e‚·ÿÿÀH̸뉎Âê(ëd*ªèüÛʱcÍÊP šë1‚ ÿøÿÿøÿÿÿà1‚ éÿøÇÄdÚìòc6çŽ:Û>¬ÞÚðé*ùMA$ÈÎã-þ¦ú‘'&½.þ0ö<¦‰“”ô}7u²óKrÊaÃKM%Û}ý“ùÒ²ÁgCÿÿà?¤f\uÄÇau  u²Ut~måX±æå( Mu€€AõÿüÿÀÿüÿÿÿð€Aóÿüö‡ÿÿÿÿÿÿÿÿÿú ÿÿÿÿù÷^ÿýßÿåâÿÿÿÿïúÿÿÿÿÿÿÿÿ‡¤Iÿÿþà«ÿÿóø AÿÿÿÿÿÿÀ ßÿÿÿÿÿÿÿúh†ÿÿÿädwÿþÏÿ´ÿÿÿ€1‚ ÿøÿÿøÿÿÿà1‚ éÿøíÿÿÿÿÿÿÿÿÿôÀ"ÿÿÿÿô.;ÿÿûÿÊÀÿÿÿÿßöÿÿÿÿÿÿÿÿHÿÿÿý€ÿÿàÿñ’sÿÿÿÿÿÿ€ÿA¿ÿÿÿÿÿÿÿô ÿÿÿÿÈÄßÿýÿh?ÿÿÿb@Ôÿð?ÿÿð?ÿþÿÀb@Îÿðàÿÿÿÿÿÿÿÿÿæ%€5ÿÿÿÿäJeÿÿ÷?ÿ”hÿÿÿÿ¿â7ÿÿÿÿÿÿÿþŽÒµÿÿÿû CÿÿÍÿå®ÿÿÿÿÿÿÿþƒÿÿÿÿÿÿÿé ÿÿÿ™ßÿûþØÿÿÿþÄ€$œÿà?NBššÃ;Zt£bJB”)ÊŠ :ÁrÛü [:»‹‡úKaËûy³0úƒÄ¦ ꎷ{euhM¤µTáSpÉa GõMÝB–¹#Ÿÿÿ€ÿQ54³ˆ‘ó@(ÁGÄÓˆ%elÄ” 7777BUFRb€Ž4Ž}EPb€ ÷žX‹øõ‡Àrpà%²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ !U0ÐÀä€U0ÜÈÀ€U0ÌÄÈ€U0ÜÈÀ€U0ÄÄäØU0ÜÀØ€U0ÐØä€U0ÈÔØ€U0ÄØØÀU0ÄÄäØU0ÐØä€U0ÌÈà€U0àÈäÀU0ØÔ€€U0ÈÔØ€U0ÌÜà€U0ÄÈàÔ0ÈÐÜ€U0ÐØÄ€UALÈäØÜ-0ÀÌÔ€)0ÄÜ€€HÈÀÄ€U0ÄÈàÔU0ÈÈЀ`ÄàÀÀU0ÄÀÔÐU0ØÔ€€U0ÄÀÀàU0ÄÀÀàU0ÐÌЀU0ÌÌä€ I0äÌÌ€ AÌÀÈ€9]Äà€€U0ÔÀ€€ \ÈàØ€ƒ€ú€( 0À’I%’m¸ä–€0¢Œ<1ERJ@‚ÏÁYi4ó²Ë-•ÚÒ+”$@] ÀÞîˆH|0q…GêXDè¡, …B®# 0ÄaX=h „A O¼V!ç°Jfá…)*Œ “Ø)qaÝÈ€4pANÁZ® ²úæp…éA Ûº3ÉÐ ÷ž80´¤ ~—qOƒ<¼AA˜ V”G£Ø-$¤üXj;xÆÊÜÀg²äx€_ÌIJnE¨»­°ß½?ÓµÜ1åp;DJZEp”h˜€³þ wyð ˆØiyô3ùª8P•çÓöG”¶0=¸·j 1ÜÆ)1}Ð1Ø»èÕE‹’yíU燥¸ìAì D§¢¾èW Û¤Iv0”R hU2 š(䜛.U -ı|}QEðŒ •‘àURƒÂøÒà$Aá,%Žî¸#FxCé⃷‘¶ãɆý¥E¥(¸¿.¹Ý.F5~ºq;ÀSœ`'ÀF0€Œ`€@bI$’@A$I IA¶Ûm€m†Øm¶À¶bìM œ^ßÑȽŒ0&l ¢Ÿç8± XB £[„Ž7&a38fáVÔâ½ú8 pоð£è…/@%4>Ôl”!d"N€ÅÖ°ÄäY… › 1TMiÎfKã•ð$…ŒÃ“jçe-aä×feYý¢ØB%Š ñí„ ŸÍ4hìÚ¾HêÛÿÿÀ‡"„i::¾#¡h2uˆ&j€< ¢€x€¡á® ªˆ˜<€QÌFIˆ2(a¨†@Äx@xà @!à€1„€ÄØlà`Àm€€Cÿÿÿø€@@@@@€€@@@@@@€€@@@     @@      @@  ÿÿÿð9€€€€€€€€€€€€€ @!ÿÿÿüP ?ÿÿÿ€ (*€ˆ0?ÿÿÿ€ÿÿÿ @!ÿÿÿüB€Æ1ŒcÆÆ1Œ`ZÆ1Œ1€ Æ1ŒccÆ1kÆ0Æÿÿÿþ!@cÆ1ŒcZÀ cÆ5­cưÀ @ ÿÿàA!ßÿÿÿÿÿÿÿÿÿÿþØ*Á_ÿÿÿÿÿÿÿÀÿÿÿÿÿÿ€Ápwÿÿÿ‚C¿ÿÿÿÿÿÿÿÿÿÿý°T ‚¿ÿÿÿÿÿÿÿ€?ÿÿÿÿÿÿ‚àïÿÿÿÿÿàyuçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ¢¿ÿÿÿ÷ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿò cÿÿÿÀ€Aÿðô@?ÿ@€A0?ÿ¡ÂA‘Dd’H RJZZ$€èpdQ$’(’–„–‰?ÿü   ˜@ Bÿà@t8H2(Œ’I IKBKD Š#$’E’RÐ’Ñ'ÿÿ€€ $b€ÿüÿÿð?ÿüÿˆ$ÿð?þÿÀÿÿð?ü @€ÿÀ€h¬)Àz,³1i ..:š4:MR¡¥«`RØŠâŠõ’.›Ó©¢*äå!‹"ß'€îÿÿð8‘l¦Z$ˆ’¤L¤˜ @ ÿÀ ‡¤ÓáäÃòD0õÐc$µ4rR‚dSÒ¥FÅ8‚0'ZsWçÈ¥p`I`u…Vp>HgG•O|Oq‰ofSSY^\LRf^n-dh`qÿÿøôA×%2Œ<ÐÎ-È2Ìd—D§G0Ä ¸IÐ @„ ÿÿð?ÿÿÿàü @„ } ÿü2 “O‡“ÉÀO×@Œ’ÔÑÉJ OJ•àJÀ\œQiÍ_Ÿ"•Á%ÖYÀù U=ñ=Æ%½™MMeyq1I™y¸µ‘¡Çÿÿà?Ði\”Ê0óC8· pË1 ]Ã*6á$s@€AõÿüÿÀÿüÿÿÿð€AóÿüòGÃÿÿÿÿÿÿÿÿþÔ5ÿÿÿÿÿÿ·ÿÿÿÿÿØ Ó³ÿÿïÔ‘ ÿÿÿÿÿÿÿÿÿþâŒÞoÿÿÿÿÿÿþ­ÿÿÿÿÿþšÒl³ÿÿÿÿÿðì/ÿÿÿÿÿÿý`oÿüÿÿÿÿÿÿÒãÿüˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀ$|?ÿÿÿÿÿÿÿÿå±OÿÿÿÿÿûoÿÿÿÿýÌÚÿþýa?ÿÿÿÿÿÿÿÿÿà ¨Læ¿ÿÿÿÿÿÿêŸÿÿÿÿÿé+† _ÿÿÿÿÿþ¢óÿÿÿÿÿÿÿÖÿÿÏÿÿÿÿÿÿÿ*?ÿÀ€AõÿüÿÀÿüÿÿÿð€AóÿüñÇÁÿÿÿÿÿÿÿÿý@”3ÿÿÿÿÿÿ¾ÿÿÿÿÿْ˳ÿÿïÓ‘ÿÿÿÿÿÿÿÿÿþèâcÿÿÿÿÿÿþ­ÿÿÿÿÿþ¤Ân·ÿÿÿÿÿðì.ÿÿÿÿÿÿÿý@gÿüÿÿÿÿÿÿâ_ÿüˆ!H8ÿÀ| b¼Næg™Ò…K*n‹¹JÙÃæTíGÀµlÚw„ýA¬JGë**ËŠÈH€¨íåÐiÍN« I ‰ª lé+ ,†ª‹‰‰ßÿÿþÂé43NY"U–= Æ›ˆ:ž.@!@7777BUFR Šb€Ž 4Ž}EPe4*à…øàj—% в%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ †!U0ÄÀÈÜU0ÜÄØ€U0ÜÄØ€U0ÜØÄ€U0ÄÀÐÈU0ÌØÐ€U0ÄÀÈÜU0ÄÀàØ0ÄØÄ€U0ÄÀÈÜU0ÄÈàÔU0ÔÄä€U0ÐÀä€U0ÔÀÔ€U0ÐÀä€U0ÔÀÔ€U0ÔÀÔ€U0ÄÀàØU0ÔÀÔ€U0ÌÈà€U0ÄÀØÌU0ÄÈàÔU0àÈäÀ)hàÌ€€9]Ä䀀)hàÌ€€U0ÄÀÀàU0ÄÈäÀU0äØÄ€U0äØÄ€9]äÈÈ€U0ØÔ€€U0ØÔ€€U0ØÔ€€U0ÄÀÔÐ9hÐà€€Eà€€€ƒ€ú€( 0À’I$’’m¹$¶†0ãDóÏ<ôPC <“O>šj£qÅq¦šŠ²\ú,”b~ØÄˆ´vbïw‰ŽºEN1$u×øàœÝzckœFØq «aÄ6uh{˜ Ú Q­óÿ†ª‹}Um?¶Œ^L Ù¾1º3#eÆÌ< ß6ª*PT¯°ðz€âÙ ÐÊ{ð=Ð8xðgÓ'hþE#8 ÁÄÌÀ„™R.óˆ ½”žd@³ ð,³\ êÊ[¨&à)˜p |ÔŽ0O0 {.tÄÓ/Ø w3¦À¦ÇP)«ø“cô¡<³2 Øo&íaÀe-÷&#VÝp=D¯¹ªž‚Ýâb®H–à ß[t‘&D Ynv*õ¤8W âL*(7q¤-_ @Üi3Si †Ýc<ðx(Òp # õðë>…òøú:À  2Édƒ‰l°9{;­–M…ÂÙx·m€bìæ{ G”Ñßr88Úør»[²x ®—ÃÂÒ0<ð_7ŠSêX’×Ê¡| (Á@ùP-kœÉoÿüÿð<€0€Œ`#ÀFsœç)Ìœã)ÊrŒg9€˜%0Ns˜#YÎsœ§0NsŒ§)Ê1œæ`”Á9Î`Œ`'ÀF0€Œ`€@rI$‚I$’I$I$’@Aí¶Û ¶Ûm¶Ø¶Ûm€bìM A›„8°ÐéùOá¡ £ß˜‹(§ã Óóãú8 pÖ.pàc ˜ú9ÑÆá>&€‘Κ¨Î¥N¹Zc¸¿ÿÿü£AиsMšë‡4|'¢x0ó•kB HÄOÂÑF7777BUFRLb€Ž4Ž}EPb€ @'7‚Øs÷€&L²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ H!U0ÐØÄ€U0ØØÐ€U0ÄÈÈäU0ÔÀÔ€U0àÈäÀ0ÄØÄ€% ØÜÐÀ I0äÌÌ€Ààà€-14ØØà€% ØÌÈ€U0ØÔ€€U0ÄÄäØU0ÄÈÔÌU0ÌÜà€U0ÄÈÈäU0ÄÈàÔU0ÐØØ€A $ÐÔ€€9hÄÈЀU0ÌÈà€U0ÐØØ€U0ÄÀØÌU0àÈÄäU0ÄÀÀàUALÈäØÜU0ÐØä€U0ÄÀØÌU0ÄÀÔÐ9]Ôà€€5A ØÐЀ% ØÐÀÄ9]ÜÌ€€9]ÄÔ€€ àÔÈ€0ÈàØ€% ØÐÀÄ!0ÀÈÔ€ƒ€ú€( 0À %$’I¶ä¶ÑF„žY#‡ô×]všr‹Q­ºëïÒ«ëE!«¦‚sqÙEZªIÚ¼°š 4_ !x ³ô wDÎt¢¦ å!ÅÆ„¨^9 ú åžîD È« Õ y\‰1׆©| Ev ^( wD0 ì? ~x¨HÃ$уdå nÀ‚(P?ÀPÚ¼+'Ú«¥ Éö…dûBW. ;CÞmøX%ú¨9,ïáâß‚’ÐG‰#´ R¨(,OÀËÎS¡K€m@È»ÝÀ{:à5Ýe‘ô2Èú¨ÊsrŽC}But cê ib„p …Þ¸Vä£Cî‘¡÷Dõ ßt+v/ºCFˆÐ=!Yèð0<øÖû£DIÑ&ƈVä¡P¡@FÒˆ!P%… €x%…ø–€óœ*ÈŒ´a<a–%†A¸( É4XÌéÂýi/äoGåbÇr0ßPHKUZö{?žÈºSè‚*›‘‡pJ}k©T§7ùðs ¡ÁírøQ6s2#$´°x d Œ€ RX´È#%”g‡ÿþÿø @ÀF0€Œ`# 9Îs˜'9€œäJSag9Î`Sç0sœ€ J`Œð#ÀF0€Œ,@ €H  ¶Û Ãm¶ €Ø1‚†…$"!> ðO‡bAÌ ‚*††Â|" Ÿ  E@ *¤æ¯Þ6HDT@h> O‡bõÒ˜öþ`Zeª·PÛ¨õaMù)-×–Q'vO%E«-̶ óIIƒ‰W€ÂR¦­Ó¥Ne½#?˥ゔª°SØO-0ºÎÓMn$>±ª©¤Tݬ˚º¶/àÆy ”(á&,ßÿÿ … 0 (ÆŒAÂ,(dÁ,(ݘŒáVDe #Áà# „±,2 Á@b<ˆ <ð b<ˆ <ð €ð00 ü l Ûb ÿÿÿàp       €€€€€€€€€€€ÿÿÿÀà  @    @  @ @@ `ÿÿÿ@@ ÿÿÿþ€ €€¨ˆ0?ÿÿÿ€ÿÿÿ @!ÿÿÿüB˜Æ1Œ 1ŒcÆŒ1€¬SÆ1`1ŒcÀ1€c05¿ÿÿÿ€SÆ5­`ŒcÀ1€c0`µ€€AÿÿÀ¿ÿÿÿü/ÀOÿÿÿÿÿñ?ü?ÿÏÿB¤üÿÿÿÿð¿Q?ÿÿÿÿÿÄÿðÿü?üqIÿÿÿÿü ÿÿÿÿÿÿÿÿÿÿÿÿÿhYB%ÿýÿÿÿÿÿÿÿÿÿþ«Ïÿÿüÿÿø%@qÿÿÿ€ <_ÿ@ÿÿÿÿüˆ?ÿ@ôÿðôˆ#ÿð :’I$’ $–A‚I%’IÐä’I$I$²„I,’Oÿÿ’@B‚ €A?ÿ¡É$’I ’Id$’Y$I$’I’K ˆA$’É$ÿÿð00€@` $( ‚ˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿB©íT]¾3™ Ù1°‹M‘ÀŒ*ö:rtí±U7)ïla´nK˜¶8ÆzHÐUÖ‹›¹òÿÿð0`¢©„ÀZJb‰"(ˆ ÿøÙýõ%ö/TÇêN·½¯–’úuì®}j»”CðTD}?`BJ»Rº"Y¸šjb¢yòDãY„8ñ¨Ó:Ó Z™òòÊá«$BcWÿÿÀ~ 랺`õt©Mἃfô(¯ÞÁNò´6/\Ã~Éò¨òa¹¤ü B?ÿÿøÿÿÿð?þ B>?ÿ€ýïßR_bõLq^¤á+{Úùi/§^ÊçÖ û¸ÙD?@DGÙÓö$«µ+¢%›‰¦¦*'Ÿ$@.5˜C€3­0¥©Ÿ!/,®²D&5ÿüâ¹ë¦WJ”ÞÈ6oBŠýìï+CbõÌ7ìŸ*&šOÀ1‚ êÿøÿÿøÿÿÿà1‚ çÿøàÿÿÿÿÿÕÿÏÿÿÿÿÿÿøÿÿýÆÏÿÎ4Þ˜Äÿ¿º7ÿÿÿÿ¯ûØUÿÿÿÿÿþÿ•ÿý/ÿéyÃHiçÿÿÿüö ÿÿÿÿÿþt%ÿoÿÿÿÿÿíùÑúÃ~òêÿà @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþùÿÿÿÿÿóÿ¾.Kÿÿÿÿÿÿý·ÿãÿÿ[ÿóJò2؇ÿïðÿÿÿÿéþÝÑÿÿÿÿÿÿ…ÿéþÍøzäØ[ÿÿÿÿýƒÿÿÿÿÿ áÿÿÿÿàûþt?þ˜ß¸ºŸÿø B > ?ÿÿøÿÿÿð?þ B >p?ÿ€þ8ÿÿÿÿÿüßîÍÿÿÿÿÿÿÿoÿùÏÿ×ÜÿüÂ| €4%ÿûüÿÿÿúŸ±•ÿÿÿÿÿàùÿ£þ—X¶.šÿÿÿÿÀXßÿÿÿÿÿç¾oùÿÿÿÿøþÏÿž×ÿ¬Oî°·ÿþÄ€$œÿà?†=DÑb8Fãóè$:©IÜ8H]Ë|¥•&Y%¹0³ Kn ýñ\`§ä ðY‘þËÙ–k\¹#ºõðFÎþ«ÒãÀî—ÿÿÀ~XéÙ2RÕ<‹ß­mN“Wµ@Ê+•Î×»l©²¨¯¶Šä7777BUFRnb€Ž4Ž}EPg ¨¨@)w<‚Øn P&n²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ j!U0ÄÀÈÜU0ÄÈÌä ÈÌÌ€UALÜÄÈ€U0ÄÄäØU0ÄØØÀU0ÄÈÌäU0ÄÄäØU0ÄÈàÔU0ÄÄäØU0ÔÀÔ€U0ÄÀÈÜU0ÄÄÈÐU0ÄÄäØU0ÄØØÀU0ÄÀÐÈ-0ÀäÌ€9]Ü€€€YØØÀ€9 ÀØÄ€1 ÈàÀ€=4äÄÌ€9hÄÀÔ€U0ÄÀÀàU0ØÔ€€U0ÔÄä€%ÈÔÄÄU0ÐÌЀU0äØÄ€U0ÐÌЀU0ØÔ€€U0ÜÔЀU0ÐØä€U0ÌÀ€€U0ÐØä€U0ÔØ€€U0ÐÌЀU0ÄÀÔЃ€ú€( 0À %$Ûm¶ä–ÐF4Ð ºëï¿ 0à 0e·ž4‚@„ãŽ9¾ü5ßr—sÃëÓ¿’цõ ´Ma n÷ ¯kX] «$›6 <¬ §]˜ ò¢•ÞýâGøJE<Œ [o ‹®) f- ð\ ¥§_° ^¥Ž )$ \4 %¹ Oÿèh5 $"Yqšf{6}ªDþnîn.È‚ûÍá8Ä®=óxêxìðTúb[ˆ•÷ÑnzÜn1÷<öé![U ÷§c àcîLO¹¾èW áx¡dfäMšä‰à+ÊR¾dF#AhF A ,ahðŒk‡€x(’ÙnS`ÔG›bšã§²Ú²jk´ý¿g1-ÄûI®sÔ–ÖyµÏçÈ×Á@ ‡Ðds àpQ1Q‡.JøÒİ i7}1|–)^ÿøÿàx1`#ÀF0€Œ,æJRœç9ÆP˜œæNrœÁ9Îq…œÀ JSœç8ÊœÀ ÎS˜'9Î0ÀŒ`#ÀF0 @ ° @@ €@ €À †m°6Ûm¶ÛlÄ<  ãhH¦ß͹·Ð~YtÜk6ôîZgK.,@6h)âÄ`šÀ¿k:áÆ´ƒðm&à@ïŠ] qLœˆCÌWAHÄR¸<©P{0ÉU–“yyÀ8“;StL.;Pse]ǯ”ï!ÑF:—*øÒ—/™RN°Þ†‹( 82 û}b™•ÃG)<²*á€hžÿþ/# €ŒÃ\‰³\‘<åyJBWÂl‚Ä`(-ÁAh2B…Œ-à  ¾pðˆ <ð €ðÀ€BÀb<ˆ < À``€€Cÿÿÿø@€@@@@@@€€€€@@@@@@à @      @@@       ÿÿÿð8€€€€€€€€€€€€ÄÿÿÿÀ@ ?ÿÿÿ€ €b ÿÿÿàÿÿÿÀ`ÿÿÿ¦0cÆ1ŒcÀÆ5ŒcÆ1ŒcÆ cÆ1ŒcƱŒcÆ1ŒoÿÿÿàÆcÀ1ŒcÀƱŒcÆ1Œ` @ÿÿð(ÿÀ!ÿÿÿÿÿÿÿÿÿÿðâB2>·ÿÿÿÿÿÿÿÿÿÿÿÿü‡ÿüÿÿÿÿÿÿÿÿÿÿ$!“#ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿüî?ÿÿÿð7ЕÿÿÿþG[ÿývïÿÿÿÿÿÿÿÿÿÿÿÿøàÀ=€*„cMÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿbÿÀÐ}ÿü}bÀÿü‡$Œ6Ô$’I$Hâ’@t9$a¶ 9$’I ’G“ÿÿÀÀÀ0 ˆ  @„ÿÀ€èrHÃm@rI$’A$Ž)$C’Fjƒ’I$’ $qI?ÿü È€ Á b€ÿüÿÿð?ÿüÿˆ$ÿð?þÿÀÿÿð?ü @€ÿÀ€h¬‹æ ç;ÀS…2de%1ÍŒ@Æ)êZ–•À4UÅN0ÖT‘@D™=’«šç½¡‹µ B¿ÿü $LD!…4Ëd2Á ‚bÿþød5›…𔙤“¶+Á§¢²˜¿5± …·¨ž¡¶ ?ˆBÁ r`ò!ÉуÁ‚™aª“b¸€9ô J 3à#KB)ÓBZ ¿ÿÿÀHΨ©Öº­Eæså|ëªÙ'Û3{ úêÞÃfªÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?†CQÙ¸YÐI¡ñ‰IšI;b¼z+)‹ðc[¨[qZùáq¡jbø„,&"(<)–©6+ˆŸ@”¡Ã>4´"4%¡ ›ÿÿüôŒêŠkªÔ^g>Wα­’}±39º/®­ì6j  @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþ÷ãÿþôgÿÿÿÿÿÿÿÿÿÿõ¨Û[`?ÿÿÿÿÿÿÿÿÿÿÿÿïáÿú#¿ÿÿÿÿÿÿÿÿÿÿcEãpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüÿã‚ÿÿ¹üŸÿÿÿÿø¥#ÿÿÿÿÿÿÿÿÿÿÿà @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþøCÿþì?ÿÿÿÿÿÿÿÿÿÿì¢Ç;-€?ÿÿÿÿÿÿÿÿÿÿÿÿïåÿùÓÿÿÿÿÿÿÿÿÿÿVý¢@eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüý ÿãïÿµü_ÿÿÿÿøÅ€¤ÿÿÿÿÿÿÿÿÿÿÿà @ €ú€ÿþÿàþÿÿÀÿø @ €ùÀÿþøãÿþ¼OÿÿÿÿÿÿÿÿÿÿݘÓ ?ÿÿÿÿÿÿÿÿÿÿÿÿïãÿú2¿ÿÿÿÿÿÿÿÿÿÿ_%ò jÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüü ÿäÿÁýÿÿÿÿø¦åÿÿÿÿÿÿÿÿÿÿÿà @ @ùÀÿþö$5¦¢¢€$Ÿ—!œ¨­ ;4¶±&=#À 5®#¼²,%ž£®7+¿ŽByiš)‚1¡Á¡ãª‰áª«ðCYÉÉŠ‘òZÒØÒ ÿÿÀÊpÔl¤ZA¡ðj ĺ‰Ëž# Y¦:‰@ 7777BUFR Âb€Ž4Ž}EPj€u TØ´98pmÝ% ²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ¾!U0ÌÜà€U0ÄÄÈÐU0ÜÀØ€U0ÜÀØ€U0ÄÈÈÄU0àÈäÀU0ÌØÐ€U0ÄÈÈÄU0ÜÀØ€U0ÌÜà€U0ÌØÐ€U0ÄÀàØU0äØÐ€U0ÄÀØÌU0ÐØä€U0äØÐ€U0ÄÀØÌU0ÔÀÔ€U0ÌÈà€U0ÄÀØÌU0ØÔ€€U0ÄÈàÔU0ÄÀØÌU0ØÔ€€U0ÄÈÔÌU0ÄÈÔÌ9]ÌÈ€€ AÄÈÀÈ1 àÈàÀ ÀÐÄ€U0ØÔ€€U0ØÔ€€U0ØÔ€€0ÈÔØ€9]äÈÈ€U0ÔØ€€U0ÔØ€€ƒ€ú€( 0À’I%$’m¹$¶¢"*³;¼Dˆ‘"(‹äÌЈªlZ}Ak†ƒ}Ž ÖøsK¢ º‡*öÒè6¿¡÷è)#È(aJAÏ"†AVxtÁ—·§ @H5gáM †z Ÿl‚~/ ‚&'Z8È"b¦w€jixWÀ­‚´b!Ô(awú°½AhJahˆáZ,jA¥ÀÁ¾Ah×|_§( ד€Ú!EQ@Úb@ÙÆE2æÕÁFaE U¤ýá$,àRF}ZAƒ 6c 6c 6bÏ-`q@BM£M£.ã€[–påL‹3§¦¿WèÙrËé‹Ò¦áX.Ðæ¿‚ôß‹:_¯N5—âE‰ ÷rÎXT(Œ*§j ÈãšÐ#òl›,j&7ǨPKÁ@‚/àx'i²Š( l2ø ò™ ,ÆŒaŒ]{Æ®åƒæ†¾d´3Mæe2K'3µÐòu¼í&(# %šDy- ‚‚@x xs¤RË• P”0ÈÜ‘žÿøÿàx1`#ÀF0€Œ,á9Êsœ§)ÊP”ç8Îsœ¤œÀ0³„ç)Îrœ§)BSœã9ÎrNsÀO0€Œ`#À1€À €@ €@ €H ƒÛm¶Ûm¶Ûm¶`6ÀlÄ<a»"ƒMшÕ,ã\S¼vFÊ)Üϲ˅=i€l,¸6€Ø4Ò5hÄd-} ã6ø|}‘61P+,Í4@K2´Pu/¢‹¨T!Q€‰ßsãA£zØV8ÌYµü¦l{±+ÒÝ=pÕìê”ÉLž’b"ËN¤ÅкÃ_Öi”ȶV+i¶C:¥ÿÿð!P¢0ªªƒ ZCŽk@ŒPɲl±¨˜Ü#¡A,¾€à¦Ê( %°Ëà1„€Äx@xà @!à€1„€€À x€ Àÿÿÿþ   €€€€€€€€€€€€€€€ÿÿÿü            @@@  @ `ÿÿÿ@@€€ÿÿÿàb ÿÿÿàÿÿÿÀ`ÿÿÿ¦1ŒcÆ1ŒcÆ1ŒcÀ,Æ `B˜Æ1ŒcÆ1ŒcÆ1Œc°c1¿ÿÿÿ€SÆ1ŒcÆ1ŒcÆ1Œ` c0 ÿø/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøOÿÊ?üEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)ð#ÿùGÿÿÿøägÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùì#Wÿøoÿÿÿÿ…(ÿÿ€1‚ÿàè>€þ>€1‚`þC™1Â@N(äŽI 2Ðä&FÌpŠ9#’BL€ÿøÈ€  @„ÿÀ€èr#f8H Å‘É!&@ :„ÈÙŽqG$rHIÿÿ4Äÿøÿÿàÿøþ Hÿàüÿÿÿàø @ ÿÁR£¡Š+Lƒ4§æËsç7¾!Æ /BU­ l¢kžè¾0¤óRmhÿÿà d´Y ˜Ýi¦ÕnEM&À€A?ÿ€ü¡ O,ìnj-ïì.-çŽ )Q-ÊÊή0Oq,q«TTqˆî°ÏæÝ´V'ä!@ùjxSD4™MÂéc@-ÕóÑ÷ND£?ÿþûF)E!ƒ|£šV„`åÒMdÔzy…M¤[E¥#lˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀ~P‡§–v75÷öóÇ”¨–åeg×'¸–8Õª*8ÄwXgónÚ+ò |µ< ©¢L¦át± ŠêùèûŠ'"QŸÿÿý£¢Á€>QÍ+B 0ré&²j=<¦Ò-¢Ò‘¶Ä€¨ÿàþÿàÿüÿ€Ä€œÿà?¼?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüxªÿÆ9ÿÿð¿ÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòdÿ·ÿÿåFÿÿÿðü/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿû-O€ßÿÎ/üˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿvÿÿà#ÿþÿÈßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿë5çàkÿÿ¼¯ÿÿÿüÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþëOà7ÿô ÿb@Ôÿð?ÿÿð?ÿþÿÀb@ÎÿðßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþTD_â"ÿÿøÿÿ¿ú7ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúûøÿí%ÿÿÿÿÿâÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ²²ø ÿüáÿÀ€AóÿüêÈ_3bfM^P_eM]asZKt]]ƒEUdTzuUXwWy{f1zOY„u 0ÀY¤¨®r ˜ƒ§Ð$y@Ek,=<²pŽXŽ%ÿÿðØ1j&Ñ,œe"ú’¦›°Ê ¢ƒôÊl.ã-­à7777BUFR ˜b€Ž4Ž}EP`€fdC…(…ƒ°s40% ˜²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ”!U0ÜÈÀ€U0ÌØÌ€U0ÌØÌ€U0ÌÄÈ€U0ÐØä€U0ÔÀà€U0ÄÄäØU0ØÔ€€U0ÐØÄ€U0ÄÈÌäU0ÄÄäØU0àÈäÀU0ÄÄäØU0ÐÀä€U0ÜÄÀ€U0äØÐ€!0ÈÄ€€U0ÐÀä€U0ÄÈÔÌU0ÌÈÔ€U0ÌÈà€U0àÈäÀ% ØÌÈ€9]äÈÀ€0ÄÀÈ€% ØÐÀÄ \Ðà€€9]Ôà€€U0ÄÀÔÐU0ÄÈäÀU0ÐØä€U0äØÄ€U0ÜÔЀU0ØÔ€€0ÄàÔÈ!0Ѐ€€U0ÔØ€€ƒ€ú€( 0À $’’m¹$–‚0n‚¥¿qÂ("¦ØÂÏUˆ$0òªÈp¥à§`Aˆ‚(P­¥!ð•Û‡È0Wàæ(<"ˆ{q‘ŠÃ Ãȇo¯Ä;äÈáaÉ'D¡Œ ºî _"bä98p¾¼!R¾ÂA&ÔxM$ û$=X"›`M‹’|µÀC3 É€…€Ü}Pn˜:Ö€ `Î 5Åéˆlý<`q°o[Ð"AˆI¿fÅ µÝÇÑÔÀtE O‡`%ðäЦü @_Àš!+àía¤a¤Ùg•Ô€ØúàfˆçÜ<Œ8E5vÝ>˜ÛxÇÝçõÛ§ÝØ‡¶Øiyößb[ýÍ^éº}Ü—cºj¯F«ºj@éÉ&1 S¬d  K@ <@xKa@ð<0¯À @ –0mBÔ$4%¦öv]kÈF¬€*ÞÉÕX>§^¹–ÀÓUŒ0wCêF2°Jži2 J1ŒHÉi|ŒÍ¥ ‘iš#ž¨sèðÿÿÿÿÿÿÿÿÿÿÿÿÀßÿÿÿø þ>€èÿàè Fÿà@t4ÙrI$ áŠI$ŠH$0 6\’I8b’I"’ ÿÿ€€B b@ÿü†›.I$ƒ1I$‘I†¡¦Ë’I `Ç RI$RA!ÿÿð00€A€ À @ ÿÿð?þÿÿÿà1‚€þÿÀÿøÿþÿ€Äÿø *Xàµ91\KpxÒ˜±tfÈ6`c ¡T¶i|™X@ŽB8)“£_&æo¤dÌßÿþˆ €(&¤¦n"††@„ @ ÿÀ~D„×%ÉÕ:wF •º³«(—kG§'†Âç)VwF·F¨— ÇõÇb•ªR`1Ž­œÃ锫\AÊóÑCž ãSÉÙš²–DŸÿÿþ#&)†Ž4M" dd8Hj% 2yS z’p [ÄÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?"BkŒä‚ê;‹£ʃ]YÕ”Kµ‹£Ó“Ãas”«;£[£TKÈãúã±JÕ)0˜ÇVÎaôÊU® åyè¡ÏFq©äìÍYK "Oÿÿ€ÿ“ÃG&‘22$5†™<©…=GÉ8­âb@Ôÿð?ÿÿð?ÿþÿÀb@ÎÿðÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿýxò?ÿÿÿÿöÿ¿Æ7ÿÿÿÿÿÿÿÿÿÿÿý?ÿÿÿûº¥ÿÿÿÿ½ÿÿÿÿcÿÿÿùßÿùÿÅÿÿÅúßÿøÿÿåÿÿÿÿøßþÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?´?ÿÿÿÿÿÿÿÿÿÿÿÿÿþ¿ÿÿÿþCú° cÿÿÿÿê?ÿtoÿÿÿÿÿÿÿÿÿÿÿüÿÿÿùsjÿÿÿÿSÿÿÿþ†ÿÿÿÿóÿÿó¿ÿÿ‡ö?ÿð?ÿÿËÿÿÿÿñ¿üˆ!PÿÀÿüÿÀÿÿøÿˆ!8ÿÀdÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿüöGÿÿÿÿÿÕÿþÿßÿÿÿÿÿÿÿÿÿÿÿîÿÿÿþñ`¤ÿÿÿþÇÿÿÿü ÿÿÿÿéÿèÿÿÿìÿÿàÿÿ™ÿÿÿÿãø B>p?ÿ€ýq kç ‡&PJPÄR ,l‹'ŒkÅknjª*h«ŒËÏèésÅ®À0u.Ym•^ÍÅ ]TÊfM,c Ú‚ÿÿþüL”K$™@hŠÄPÔKd”¤3ž@òµÉ,7777BUFR æb€Ž4Ž}EPb€çL(ƒ‡€i(% æ²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ â!U0ÜÄØ€U0ØÔÄ€U0ÄÄÈÐU0ÄØØÀU0ÄØØÀU0ÌØÐ€U0ÄØØÀU0ØÔÄ€U0ØÔÄ€U0ÌØÐ€U0ÄÀÐÈU0ÄÈàÔ%ÈÔÄÄU0ÄÀÐÈU0ÄÀÐÈU0ÄÈÌä0ÈÄà€9]äÈÀ€)hàÌ€€U0ÐØØ€0ÈÄä€U0ÐØØ€%ÈÔÄÄU0ÈÈЀU0ÄÀØÌU0ÈÈЀMÈÀÌ€5A ÀØà€EÈÔ€€UÐÄÌ€9]ÄÔ€€ LÔàØ€U0ÐØä€U0ÐØä€U0ÐÌЀU0ÔØ€€9]äÈØ€ƒ€ú€( 0À $’’m¶ä–‚0‚Š+Ž:ë®»Ï<õÓ-¶®»mQ€;ñe¥uèã…cÿF"&œ8«CèPâCèP0UNî22ùø¬Œ(d àà*2zþ”Pâpúl:~^ +Z Mˆ )fœìÏ$:˜…4Ï$é¦é¦î[¢Þ9ÓK~bXïO+d Ç_hߨ1¬ÌO&‘¤Ÿ}/Àppt‹ð:<4Ž3÷V.“ŒH ¢ðZ›P¼m€—µ`BÍ‚æÃôÁ¡ø=ðéöˆtûD\Ä®b|¸6cÀ*·¶ïªöž[¢Y†žLsz÷7@¾·J{˜stÇ7[³|ÝFf5^KÆ÷G£‡Â‹áhn( ¦á/‰g¨2*…©v†B€2-ƒÀ2\€¥(P•D°d ƒÀð\ƒÀÉ3×MÔç‡9˜¬¨xšßÚ¯' ±˜äk·Áìr[­šüwG_ìF#9èæBB‰bÔ0P›F&Å3!à2  %óÁÌ´¯ @õPP2(H«ÕëAâmàÿÿþ€ F0€Œ`#ÂÎSœç8Îs'6€˜& Ê`Ns˜# 9Nsœã9Î@œÚ`˜')€9Î`Œð#ÀF0€Œ,@ €@ € €@@=¶Ûm¶ÛlÛm°m¶ @ €@¡£BHІP;ì™Ã±]€O†Pé’UJªA³Pb2gùv>PàO‚|²$‹@³ @†7á’Io§*Åò .K…ÜÒàpÏUŠ­`2ÇVP,Á›ª'”*Ý0˜Y7Ǫ†p\/T@§0ÔRYŒ»}€*ïX„Üý5W­rjU©°íÃáæÕÐÿÿ /…¡¸ *›„8¾%ž Èª¤IÚv È´Ér”¡@ UÁ2Àr@xà @!à`00Äx@xà @!à`À0`0`€0 Ã0ˆ0?ÿÿÿ€À@@@@@@@@€@@@@€€@@à       @   @@  ÿÿÿ€€€€€€€€€€€€€€€ÄÿÿÿÀ@@ €€ ÿÿÿø€ˆ€CÿÿÿøÿÿÿðÄÿÿÿÀ)ŒcÆ1ŒcXÆ1€Ö1`±Œc¦1ŒcÆ1cÆ cXÆ5€Æ1ŒÿÿÿàÆ1ŒcÆ1¬cÀ±ŒkưXÆ1€Äÿþÿÿÿÿÿÿåÿÿÿ OÿàÿÿÿÿÿÿòÿÿÿÐ'ÿñÿÿàqÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿð(° ÿÿÿÿÿÿþ€Aÿðô@?ÿ@€A0?ÿ¡É$MÅ$ I$qE"rÉ€èrIqIIQHœ²G?ÿü b@ÿü‡$‘7$‘ʼnË$r¡É$MÅ$ I$qE"rÉÿÿð0 P@@ˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿ™¨RN–4Ç:B­OZŽÓ¥+b©K;  )ÞBœGjÄ’  Ö‚¤frÜ”œéQ΂ÿÿÀPÁ$ ˆš$I €1‚ÿáòGâ{š§yär]×1ëw×}þwžGýrwUÍu·ˆ~ŸçáÅu]B€\§åˆ‚(¿ªf¦xlpx`³[crVŒ@œiƒm~–„]M;/XXsTÿÿøÝª"±ØY~j#®`ž­¯š¨˜ŠIªš èµfª  @„ ÿÿð?ÿÿÿàü @„ } ÿáòGâ{š§yär]×1ëw×}þwžGýrwUÍu·ˆ~ŸçáÅu]B€\§åˆ‚(¿ªf¦xlpx`³[crVŒ@œiƒm~–„]M;/XXsTÿÿøÝª"±ØY~j#®`ž­¯š¨˜ŠIªš èµfª  @„ }@ÿÿð?ÿÿÿàü @„ |àÿþA¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý)¤¿ÿÿÿÓˆoÿÿÿÿÿÿÿÿÿÿÿÿìÿÿÿÿÿÿ©Ùÿÿÿó?ÿþÿÅÿÿÿÿÿÿÿÿÿÿüÿÿÿÿþ L?ÿÿð1‚ ÿøÿÿøÿÿÿà1‚ éÿøïÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿõ]Mÿÿÿþëü#ÿÿÿÿÿÿÿÿÿÿÿÿ(ÿÿÿÿÿüÐðÿÿÿ½ÿÿðú/ÿÿÿÿÿÿÿÿÿÿåÿÿÿÿÿñ‚ƒÿÿÿˆˆ!PÿÀÿüÿÀÿÿøÿˆ!8ÿÀ„oÿÿÿÿÿÿÿÿÿÿÿÿÀÇÿÿÿÿÿÿ|jWÿÿÿõßâÿÿÿÿÿÿÿÿÿÿÿÿúÀÿÿÿÿÿÿÖ6ÿÿÿý¯ÿÿ€ÿÑÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ˜ÿÿü` @ @ùÀÿþÆ%8ŽC•´.K®Ý¸m«Êæ²­û¶ç; ‹ÀÔ·î häºîÈô»N«Šâ6-‹ºð9oÏàfÝ72³ ÒªÎà« ¸ÀÔ ÜŠÖèÎü¢ÚæòÒ¾Š~´²ÐÚ³ÿÿðÂ53·/ËÒC‹€56Ïí¦ÌI X?BJ1Kà7777BUFR Êb€Ž4Ž}EPa€7Ì$Pà‚ØrñÈ% ʲ%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ Æ!U0ÄÄäØU0ÌÄÈ€U0äØÐ€U0äØÐ€U0ÜÀØ€U0ÄÀàØU0ÐØä€U0ÄÄäØU0ÈÔØ€U0ÄÄÈÐU0ÄØØÀU0ÄÀÐÈU0ÌÔÈ€U0ÌÔÈ€U0ÔÀà€U0ÌÈÔ€U0ÄÀØÌU0ØÔ€€U0äØÐ€U0ØÔ€€9hÄÈЀ9hÄäÌ€Q!PÌÌÉU0ÔÄä€U0àÈÄäU0ÄÈàÔU0ÜÔЀUALÈäÀÌ0ÄÀÈ€U0ÄÀÀàU0ÄÀÔÐU0ÜÔЀUALØÜÔÐU0ÌÌä€U0ÐØ€€0Èäà€!0Ѐ€€ƒ€ú€( 0À’I$”’m¹$¶„0 „Ž8ë¯<A)®½˜*ªª„Cˆ„ЇJm ˆÔb D“&e†˜!\ @ëàîÎ#Ò à -NÄBpø¯Às¥P!¥H¶N[ ŽDÙâøL2!¥H ¬B%'¸'PtK–K–ÁäóN›¿ê^'%ÁáÆ“ð?pÌŽD EAk+ƒmAü=`ö´@{+?0pd”j ä‘üé@ 'ÿåaò0kÒð:Rïù@·i$8»p@X¨#ó ·p¯Â…g€@@ƒ % aÀe.ôAëU[ŽH=3J Yèv/Å÷@Àï!\+¡1 pzóáZÜ…o¹É,h’ûž| †C"Ñk!@ZšO¦EÉT T£ P=}-ÿüÿð<€0€Œ`#ÀFr'9Ìœe9ÎstÀ Îs:LYÈœç0Nq”ç9ÍÓ'9Ìé0L`'ÀF0€Œ`€@bI$I$’H ’@$‚A¶Øm¶Ûm°Ãm€Û bìM œ^ð§í?PËà À9.”ÿÑÆá0LQ¡– LðJ0cƒH5mtü!`c™xá¡a´@Æ >Ä–h¤Ò5 /VèprÀO(–Z»<\ï6Ídjê5)?Ù2É‚‡}ž)I:´£Á^_V&¡YKÑRÙd”•ýe¥™T¥S ¤ý…X 6IyaRYu]fØE§ÿÿÀ„‡Š*й2àÜ4²¤‰àÊ£ ª’¼à(•JzÚ-cèZˆÄ`Z-  Äx@xà @!à€1„€Äx0€ Àÿÿÿþ@Àþøðþ?àÿ€ðþl?àÿ€ÿ?àþøÿ?àÿÿÿð9€€€€€€€€€€€€ @!ÿÿÿüÿÿÿø€€CÿÿÿøÿÿÿðÄÿÿÿÀÛm¶Ûm¶Û 6Ø °ÀAí¶Ûm¶Ûm°Ãm€Û ÿÿÿþ!@cÆ0 cÆ1ŒcŒcÆ1€`X @ ÿÿàAÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿä_éÿÿÿÿà ÿÿà?à ] Gÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùúÿÿÿø(ÿÿøøOÿÿ€~H—ÿÿÿÿÿÿÿÿÿÿÿéÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿ€”ÿÿÿÿÿÿÿÿúÒÿÿÿÿÿÿÿÿ@ÿ€šÿ€]1‚ÿàè>€þ>€1‚`þC„ ¤I-`HäŽÉÐáGA)$KX9#²ÿø °H,@ @„ÿÀ€èp€# ”’ %¬ ‘Ù : àh%$‚IkG$vOÿÿ6@@I‚€Äÿøÿÿàÿøþ Hÿàüÿÿÿàø @ ÿÁT1RjˆÅkS—PÕî‹V µïs¥± #E&¸‡X ”¾, Æ‚ Úåº.[aÿÿà(dØ0ˆDÂÑrÂTm€A?ÿ€ü‰ ­.ˆk2ÐKç ¯-- MÍ,‘o4îM/lís’ÎÐ í“ jËÀÚ–Æê¢Œ€`Î4¨¬œŒD~ܘ–¸yD–Hâüd–ÆV²¨ðÒÈÿÿðØ5ª£`±0 ¬Š©›O*¢Â²ÓŒ¸Í±(ǹ  @ @ÿþÿàþÿÿÀÿø @ @ú@ÿþò$2´º!¬ËA/œ.¼´´)74²E¼Ó¸94½³µÎK;@'¶L1«/?hB[ªŠ2ƒ8Ò¢²r1ûrbZáåX9#‹ñ’[ZÊ£ÃK"?ÿÿÀ`Ô:ª‚ÄÀ2²*¤jm<ª‹ ËN0~ã4bÄ£æ€1‚ êÿøÿÿøÿÿÿà1‚ çÿøÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôÐÿÿÿþvÿÿÿÓüÙÀ´#ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþOüÿÿÿüù/ÿÿýý- Ÿÿÿà?Ðg?ÿÿÿý¯ÿÿÿÿÿÿÿÿó?Wÿÿþÿÿÿð?_ð€€AÿüÿÀÿüÿÿÿð€AôÿüëGÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùÿäÿÿþÊŸÿÿÏþðÕ‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ1þÿÿÿþœ±ÿÿþ•þœ|Yÿÿðæ3ŸÿÿÿþÇÿÿÿÿÿÿÿÿù¿­ÿÿÿ‡ÿÿø±ù @ €ú€ÿþÿàþÿÿÀÿø @ €ùÀÿþõãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿó¿ÿÿÿu?ÿÿæÿøêHÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ–ÿÿÿÿÿGYÿÿÿPÿTI5ÿÿøôÏÿÿÿÿkÿÿÿÿÿÿÿÿü¿Öÿÿÿ¿ÿÿüÖü` @„ |àÿúáèÄššZk*<ÏF; ÔO¿š}‰¸#]㕇×3Ø…öÄ&4µ¡¨)¨¶"¨ "Œ£¶,,(§Ä#€E#¹3',”,!¸!—ÿü÷ í,¸ @SšªE"£HˆÎ$Ë$ê$.2ŽXX7777BUFR b€Ž4Ž}EPc€N %x…ƒ°iI % ²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ !U0ÄÄäØU0äÌÄ€U0ÌÄÈ€U0ÌÔÈ€U0ÌÜà€U0ÌÈÔ€U0ÌÈÔ€U0ØÔÄ€U0ÌØÐ€U0ØÔÄ€A<ÌØÈ€U0ÔÀà€)0ÀÜÜ€-0ÀÌÔ€)0ÀàÜ€)0ÄÀ€€0ÈÐÜ€% ØÐÀÄ9]ÄÔ€€UALÈäØÜU0àÈäÀU0ÄÈàÔU0ÄÀØÌEÐà€€9hÄäÌ€EÌà€€U0ÄÀÀàU0ÜÔЀU0ÄÀÔÐ0ÌÐÄ€ AÌÀÈ€9hÄÀÜ€EÈÔ€€9hØ€€€5PäÈЀU0ÔØ€€U0ÄÀÔЃ€ú€( 0À %$’m¹$¶„0£ 3ï¿@U—a«¬¾ð‚ÓM´ÓM–ÍU©Îèo³kÕf¸T€_6*Ÿÿþ2ØahZGTJC…óHFÆBX‡‘¥TCpx’#q6PdUƒqÌ# €ðÀ€BÀÀ@`` 0<€b<ˆ < À€BÀÀ`< m°``ÿÿÿ€€€€€€€€€€€€€À@@@@@@€€@€@@@€@€€€@ÿÿÿþ   ˆ0?ÿÿÿ€ €@ÿÿÿðU@1†ÿÿÿðÿÿÿàˆ0?ÿÿÿ€SÆ1Œcƒ1Œ`Æ0,Æ0!LcÆ1Œ` Æ1€À°ßÿÿÿÀ)ŒcÆ1ŒZÖµ¬Æ1€ccˆ?ÿüSÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿüýãÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿü±;ÿÿÿÿÿÿÿÀÿÿÀ CÿÿÿÿÿÿÿÀ!Oÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿð ô#ÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿðÄïÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿð¸Ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿò}ÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿ¢]ÔÿÿÿÿbÿÀÐ}ÿü}bÀÿü‡ ‘TrI$‚I!FI$’¡È$D•’I ’HQ’I$ÿÿð02`€ @ ÿÐä"JŽI$I$(É$’@t9ˆ’£’I$I 2I$ŸÿþC @ˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿ¢¡€9ÎsÉCåŽQÖ±dXÒæAhs`*œ™'1P£2 Š"¦ nduKk^fŸÿÿÀPÈ`Ó¢‰ÒnÈ€1‚ÿñ’ŒÃàç:P3d«,Îs0Ã/tÝãxÌ7G$b«Ý›µVèìY»7…B˜f‘TR…¡ºba‡j¨‹D±¨ +'€P#"Æ´ê9Œàn2 À‰ öÅM¨x>›Qsa~Ý‘9Ã'wÈýÎÀb/Øcm΢¼Þ/£V+âã >„`xÒ‚€ð Œ€P(€  Pfƒ Èð-# àPn ˆ$‰kOÿüÿð<€0€Œ`#ÀFs”ç9ÎS„ç8Fkœç9€ç9ÎsœaYÎSœç9Nœá®sœæœç9Îq„`'ÀF0€Œ`€@rI$’I$’I$I$’@Aí¶Ûm¶Ûm¶Ø¶Ûm€bìM=2ŸÌ¼z`ЈZ/i hkjÓgSs‡­¬¦ÃB !¾<&`ch…´ý§ãÓVd•ƒ‹`£CB8±Å¾P¡1$ðܦW ò¨>% t¼”+E@² ATQ^Sèê#HP{=”%^R¡±è¤¢(§û™™È…¦ÍšDÕ:ÕN¶ ‹¸à¨9®Ó-2Ón71·PÏÿÿÀ…B˜f‘TR…¡ºba‡j¨‹D±¨ +'€P#"Æ´ê9Œàn2 ÀÄx@xà @!à€1„€Äx Àÿÿÿþ@Àÿ?àüðþlðþÀÿ?àÿÿÿð8€€€€€€€€€€€€€€€€€ @!ÿÿÿüÿÿÿø€CÿÿÿøÿÿÿðÄÿÿÿÀÛm¶Ûm¶Ûm€m¶ØAí¶Ûm¶Ûm¶Ø¶Ûm€ÿÿÿþ!LcÆ1ŒcÆ1ŒcÆ5€Æ1Œc @ ÿÿàIÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøB`ÿÿÿÿÿÿÿÿà Gÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ˜ÿÿÿÿÿÿÿÿø(ÿÿ€}Äÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôßÿÿÿÿÿÿÿÿÿð8ˆ?ÿ@ôÿðôˆ#ÿð :MÈ\‚0H2ƒ,€1$’H†Ór Œ  Ë I$“ÿÿÀÀÀ @l1‚ þCi¹ F Pe$’IÐÚnBä‚A”d‰$’ÿø  ‚ @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿüŠt™H‘Ñ4èÌ9¤,!) Üâ¥m€h¦AØ×oi°•+–D1°`@â-:ßÿÿCÐeA­«KFF€ÄÿüéHUik^aPy heVU\^m*3}p\kN©Vdd[]PnmewjsS~à……ue¥ƒ2EDqs†¢ÕTôÓ£åQpˆgd³fv…âÁ‚ßÿÿ€ýÁ§–I$ŠemiªEkœ oRŸ Íû!ºIávÈfb@ÿð?ÿÿð?ÿþÿÀb@Òÿð¥!U¥­y…Aä5¡•YUqy´¨ÍôÁq­:¥Y‘‘muA¹µ•Ý©ÍMû‚Õ–”J ÈÅ΋USÓNŒK”EÂ!’͙ڈW ÿþ÷žY$’)•¶?ÿ€ÿhÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿBYý‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ ÿÿÿÿÿÿÿþÏÿÿÀàŸÿÿÿÿÿÿÿÿÿÿÿá¿ÿÿÿþŒÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?È?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8Ÿÿÿÿÿÿÿÿ×dÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý ?ÿÿÿÿÿÿÿ„+ÿÿðö/ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿò˜ˆ!H8ÿÀ~Є5åµÃÇVc”uV&"ç v)rµ´d%d„ÕeUÔ¥Åõ‡jõ«VIÑÉÂ2b¤¡\ÁYQXÔ>œ3ä½b0à’ÿÿÿýc2²Ë.œIº¼K‚f:¸ Bø"ù°&ó,¢bÊ®7777BUFRb€Ž 4Ž}EPf€ÐDª |´Îj p&²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ !U0ÌØÐ€U0ÄØØÀU0ØÔ€€U0ÐØÄ€`ÄàÀÀ!0䀀€5A ÀØà€0Ø€€€5PÐÄÜ€% ÈÔÀ€0ÄÀà€U0ÐØä€U0ÄÀàØU0äØÐ€U0ØÔ€€U0ÄÈÈä5A ØÀÄ€U0ÐØØ€U0ØÔ€€U0ÄÀØÌU0ÄÈÔÌU0ÌÈà€U0ÈÔØ€EØä€€ I0äÌÌ€% ØÜÐÀ9 ÄÔÈ€U0ØÔ€€U0ÄÈäÀ9 ÄÔÈ€U0ÄÀÔÐU0ÜÔЀ9]ÈÀ€€9]à€€€U0ÐÌЀ!0à€€€9 ÄÔÈ€5A ØÐÀ€ƒ€ú€( 0À %$’I¶ä¶ÐF0Ð’Yh™5M4Ü2®9&"1×>,¿q=#n¾ÄJ¢ïJ!§<80wöð‘ïauæÂ1†J¢ Û#Û°G·`s$‘ §AÁóƒMòˆh*ˆ­„1˜.Qº¡©+Ãÿ1€~ðð 9ûÀV«€ìà¡ÏÞ^*È­à˜.´@(Dª ô$V%„€ÉäÝôKCŒø-Àäovîj ÷žáÔW]ÉÀ՟€$•<   'À‘ò™)C‡Þ ÓÊÀ/M`0ÝÄ@ c?ÌÓ@»V~ÉÀŒ0<èHÛ*D°GŠØçÇ!ðiå` q°ã` "·NÇÏë·MÓtì|ÿ»±;ßÏì|ýÓÏì{¸=óüÿ»tóéýÓÃìy-Óëû»º Š-!àx7 âø Êî(¸n Aàx…¬´ ƒÂXx9Š@x4á@d …i0¸<˜ð’=ݲ¨%{L™ ¦ìa¸Ðq¶¥0hsîÊ…†Ç»å)t¡()‚lÒ‚ZP@óÀ(<A€¨$²ÑƒÏÃK dÈ€k•ÈP›xÿàÿàÄ€Œ`#ÀF0³œ&'8‚`œç9Ì'0N`ÀFs„ÀçLœç9€æ ̘ÀO0€Œ`#À1€À €@ @€@ €{l0 ¶Ãl6 †À` ðhq´Àr‡8ÁÆÐ ¬ÛƒjXlÐŒÀmh@``6\8À˜ÐSÃŒ h«%Ó‰uG&3®\"P‡C ¨j°Í8¾a"h•Qî±ydzS_2GÛÕ¹2TX…Ük$Ó’¬ân>{¬8ŽùÍž{}¤í¬ßYïgµ…kyÇkâ«lÿÿÅ„ð<…ñ|P €ew Ü7 ð< ÂÖZAá,<Å <Hp 2B€b<ˆ < @ð €ðÀ€BÀÀ` ð €ð0`< 0°b ÿÿÿàp       €€€€€€€€€€€€ÿÿÿÀà         @ @ @@@`ÿÿÿ@ ÿÿÿþ€ˆ(ˆ0?ÿÿÿ€ÿÿÿ @!ÿÿÿüB˜Æ0 1ŒcÆ1Œ`X1€cSÆ€1Œ`Æ1Œ 0 `À?ÿÿÿ€SÆcX1Œ`ÆŒ X0 `À€AÿÿÀ…?ÿÿÿÿÿÿÿÿÿÀÿÿÀ?ÿü=ÿÿÿÿÿÿÿÿÿÿÿÿÀ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿü@ÿÿÿÿü¿ÿÿÿÿÀP¿ÿü€€!OÿÿÿÿÿÿÿÿÿðÿÿðÿÿAÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿ/ÿÿÿÿð/ÿÿàoÿÿüÍÿÿÿÿÿÿðÿüŸÿÿÿÿË‹ÿÿÿÿÿÿÿÿ*ÿÿÿÿóTÿÿÿàÿÿÿæ¯ÿÿÿ«ÿÿÿ þ2Ί,ˆ?ÿ@ôÿðôˆ#ÿð :’I$C$’H$’9$’IÐä’I$‚$’A$‘É$’Oÿÿ0P@€A?ÿ¡É$’I2I$‚I#’I$I$’H!’I$I’I$ÿÿð00C@ ˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿ¢¡ :ÖµÍÍøE3[D)ÍjÞØÎHdáLeª[–¨cRšvA¤Ù­rc¡µ®ÿÿð0 TiB bÙm²@(ˆ ÿøÙˆ~Ü"R¤dR°¦–‚̲”¾¡`¢p›*Œ‚àÇ ”ˆ\̾Îù).W³‰Æãs¶Ìæ Èéz·+W1Ðõg4UªœÒt2׎3ýªð_ÿüõ ‹¢ókž€:|²Ñ):Ê&âÛ¸|D”mGR@ @ @ÿþÿàþÿÿÀÿø @ @ú@ÿþöd"·”©¬)…% ³,¥/¨X$(œ&ÃÊ£ ¸1Â¥"—3/³¾JK•ìâq¸Üí†ó9ˆr:^­ÆJÕÀŒt=YÍj…€àg4 µãÌÿj¼ßÿÿýC"ãè¼Úç ÎŸ¬†´JN²‰¸¶î%QÇÔ B> ?ÿÿøÿÿÿð?þ B>p?ÿ€þXÿÿÿþCú„Û€ÿÿÿÿò?ÿÿÿÿüßÖ­ÿþ¿ÿá•6£éDÿÿÿÙÿÞ]ÿÜÿÿÿÿÑÿÿÿÿÿÿÆÒÕÿÿåÿÿáåÇâHÿÿü÷ ÿÿþ¿ëÿÿàÿÿÿþÿÿ'ÿŸÿöü?þTß` @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþøãÿÿÿù/ìzÿÿÿÿÏÿÿÿÿÿôÿ`ëÿûÿ„YüϦÿÿÿÿSÿyqÿpÿÿÿÿÿIÿÿÿÿÿÿ ÿIoÿÿ›ÿÿ}“ÿ%/ÿÿðÜ7ÿÿú߯ÿÿƒÿÿÿøÿüŸþwÿÙÿñùSþDa€1‚ êÿøÿÿøÿÿÿà1‚ çÿøæÿÿÿ㿦MýÀÿÿÿÿ ÿÿÿÿÿ¹ý{ÿæÿþ7ðR¦>lGÿÿÿþ?þ–—þ ÿÿÿÿýÏÿÿÿÿÿü÷ý¾¿ÿþ¯ÿþvïýNŇÿÿÀxßÿÿêþ¯ÿþÿÿÿàÿñùÿÿ?ÿÁÿäKøð†Ä€$œÿà?”Az"ɉ‘AAYÐ!ÉJ±q2›aQ‰YÊÌA‘Ò9êj1@Z"bƒæ¤gdXèdfééÞëaïqÝÙÜeMôîàæÎHÜnàìêã\foïÕl×ÿÿüöŒsk»K”P˜{n¦NŸ"%¤Ú5(t'Œ\äÀ7777BUFR,b€Ž 4Ž}EPe€&\) ЃtX@qKè&,²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ (!U0ÄÄÐØU0ØÔÄ€U0ÜÄØ€ ÐÜЀU0ÄÈàÔU0ÄÀÐÈU0ÄÀàØU0ÌØÐ€U0ÐØÄ€U0ÄÀÈÜU0ØÔ€€U0ÄÄÈÐU0ÄÀÈÜU0ÄÀÐÈ5PØÈØ€U0ÄÀÈÜA $Ü€€€Q!PÌÌÉ9]ÈÄ€€HÈÀÄ€UALØÜÄÈ \Ðà€€UALÜÔЀ-0ÈÄÔ€9]ÄÔ€€9]ÈÄ€€9]ÜÀ€€9]Ä€€€U0ÐØä€U0ÈÈЀU0ÜÔЀU0ÐØä€U0ÐØä€U0ÄÀÔÐU0ÐØä€U0ÈÈЀU0ÐÌЀU0ÄàÀ€ƒ€ú€( 0À %$ÒM¶ä–ÐF(ÓG²Ûm²Ë,¶Û®®ƒ0»N×]v¶Û­Ã½ò, Í4 ²ú +•z ¯Ä}ö=‚.¸ ŒC ]à0/ œ +•2 iT >Ä4@(ÆÈL >Ä ½p Ådã˜0È«f KÏÝ FpÁXÌåz¤Ëƒ(*Ò/ïÁ¯Uà`Í@]b@AÛ`àPI“Ñfi­ÒD ùŠÐM`AßGŒœI [loÈÌCòoâÁAþˆ7⤠ò#1沇…Z£Åá CZ0-†L϶fd£Â-A)‹àö0n»¨7”„pKv.ÄzB´Jêp}cÒnäŸpz‰1¡ç¼÷$ì\“îyð1ºF€{ ßp·c­O¸W áÈ¡hZ¥Fhn° ¢& $é`‚¨( %‡h B€x9êÈ ¦#pM@P “2q›¦-AM-~Ï‚ÌNq¸˜×˜¤ðØ5 Y‡?á/·Q¦pÛu4ã/È}!Á‘ô2€ðŒÃˆp<Hp–&ÁDÄ5Êðð ‘‚¼/€P( /ˆ!,¯$^ÿøÿàx1`#ÀF0€Œ,ç0Ns”ç9J`˜$sç9Îq…œæ Îrœç)L€N`œç9Î0ÀŒ`#ÀF0 @ ° €@ €H€@ €Øm¶Ûm¶m¶ÛlÄØš(ÑFÎêˆhz8ÉÄÎ/uµ`hp0XBà hÃB!`™Ž,~8hkjScž˜àÇ;òŠ>‘0ýALB‡Ä@ÁX,?Rð¦OžÓÔ+̹ž@ŒJFØCTÐeU÷eE¼JyÇ ¨‹D§d2.¦ äji¨0™) )hŒ%,Êl¢¿éêA¿ð‚ìÿþ9- T (Í Â6DÁD,B5D°ð-A(P0=Y”Än °( @ˆ <ð €ðÀ€BÀb<ˆ <ð0 0ˆ0?ÿÿÿ€°üþøÿ?àüÿ€ðþÀøÿ?àü `øüðþÀøÿ?àüÿ€ðþÀøÿÿÿð8€€€€€€€€€€€€€€ÄÿÿÿÀ?ÿÿÿ€  b ÿÿÿàÿÿÿÀ`ÿÿÿ{a¶Ûm¶Ø¶Ûm° öÃm¶Ûm°m¶ÛoÿÿÿàÆ0 cÆ1ŒcÀ`X cÆ1Œ` @ÿÿð ÿÿÿÿÿÿÿÿÿÿÿÿÿé`ä‡ÿÿÿÿÿÿÿÿüÿÿøÿÿÿÿÿÿÿÿÿÿþHÿÿÿÿÿÿÿÿÿÿüîCÿÿÿÿÿüãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ‘ˆWÿü¯ÿüüˆ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüˆ?ÿ@ôÿðôˆ#ÿð :†)0‰²I$’‰ŽIÐä1H!„H-’I$”HrOÿÿ$A@€A?ÿ¡ÈbC[$’I(8äC‚D‚Ù$’IDÇ$ÿÿð00@ "@dA$ˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿ¢©‡™ ?ÿÿøÿÿÿð?þ B>p?ÿ€ýðÿÿÿSÿÿÿÿÿÿÿÿÿÿÿÀ/§-6"Ôóÿÿÿÿÿÿÿÿûø¤ÿÿ›ÿÿÿÿÿÿÿÿÿÿÿÿÿž€¤‰F!ÿÿÿÿÿÿÿÿÿÿÿüû ÿÿÿÿÿÿÿÿÿÿÿýÄ–oà~š¥ÿÿÿÿÿÿÿà @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþ÷ÿÿý‡ÿÿÿÿÿÿÿÿÿÿÿ×yV¡[Ïÿÿÿÿÿÿÿÿïâ‘ÿÿþmÿÿÿÿÿÿÿÿÿÿÿÿþvZnt>t„1³ÿÿÿÿÿÿÿÿÿÿÿÿðê7ÿþ?ÿÿÿÿÿÿÿÿÿøYßúh’·ÿÿÿÿÿÿÿ€1‚ êÿøÿÿøÿÿÿà1‚ çÿøßÿÿõŸÿÿÿÿÿÿÿÿÿÿüJѤSdþ½¿ÿÿÿÿÿÿÿÿ¿ŒGÿÿùÇÿÿÿÿÿÿÿÿÿÿÿÿúI¹È9ÚìB—ÿÿÿÿÿÿÿÿÿÿÿÿÀ¨ßÿøÿÿÿÿÿÿÿÿÿÿàQfþé¢R¿ÿÿÿÿÿÿþÄ€$œÿà?‚; U5w%Sm™!؎튠 iDEsDz1U`²ç„czþAH†ä$Çh!é§Çgˆç䯯À§'ÃoéK‡©Ç hf(¥ßÿÿüžR¤â³FÚ˜6gŽžˆ} H¨J}RcÔ:tê7777BUFR Àb€Ž4Ž}EPj¬´@)mx‚ØhÂ\$ À²$ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ¼!U0ÜÀØ€U0ÄÀàØU0ÔÄä€U0ÜÀØ€U0ÄÈÈäU0äÌÄ€U0ÈÌÌ€U0ÐØØ€U0ÜÀØ€U0ÜÀØ€U0ÄÈÈÄU0ÌÈÔ€U0ÐØÄ€U0ÔÀà€U0ÐØØ€U0ÄÈàÔU0ÔÀà€U0ÐØÄ€U0ÌÈà€U0ÌÈÔ€9hÄÀÔ€U0ÈÈЀU0àÈÄäU0ÄÈàÔU0ÄÈàÔU0àÈÄäU0äØÄ€U0äØÄ€U0ÄÀÀàU0ÈÈЀU0äØÄ€U0ØÔ€€U0ØÔ€€U0ÐØä€-0ÀÄÜ€U0ÌÀ€€ƒ€ú€( 0À’I%$’m¹$´¡Š(¡EQ†aÇr ‚QEUמxÃN8IJ[^ å=øà&Ñáï0¦‡‚›^ÚØ69šeåðËn!Îó£Ù·Æõ@ ¢<ÖÐ8älöˆÞ 1Æ—Ú±ÀÕ9˜5¨TkHØà³q½Ü£{ý•¿ˆø+ÐÌWr¸Ø?a¸C _@Ee¢Écå\j#Þ^²/,Iã‘îÑÇO”älÏò‚69b¬Ü±}~H_W%‹SŽ3½Ë6åòIrùgɇÇ;A®,/Ud²ÁpÑqª’oúæUé„­Õ.Õ·~næ6šWû­y°Ý&‡Hú¢GXªdJkl¡U2°-—Ÿÿÿ Å<°nι‹!Ê æ+Òs\ZQL@ÿT$ÿDÏR¼›XÀõÈáBB¸- €ðÀ€BÀb<ˆ <ð €ðÀÀ`ˆ0?ÿÿÿ€°€ÿ€?àØ?ÀÀðÿÿÿ€€€€€€€€€€€€€€€€€€€ @!ÿÿÿüÿÿÿøb ÿÿÿàÿÿÿÀ`ÿÿÿ{m¶Ûm¶Ûm¶Ûl6Û =¶Ûm¶Ûm¶Ûm¶m†ÿÿÿþ!LcÆŒcÆ1ŒcÆ1Œc1Œkˆ?ÿüÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿü<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿþÿÿÿÿÿÿÿÿÿbÿÀÐ}ÿü}bÀÿü†…‘ÜH¨T0Jb¤ "¸‘P¨`(”Ä I?ÿü h )€€A?ÿ¡¡d@7* ˜©$CBÈ€n$T* %1ROÿÿ€@ ` @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü “-OPŠ”±m:”‡9O:µ¹ yR†Æ0 &rÜ¡iSf¤ÍRt ëc@ᎋ¿ÿü p™!1[m¹$d¢@€A?ÿ€ý¡ŠŠEI(-$ $éO-f  E¯ãŠÈÊŠF, g§FçÏÙ‚¸phºܜŽÐŒºlv¾€Â°u&¾¬À ®ddÀlrvvhÁÿÿðæ1‡˜"c¢ã#„c/ŒŠ‚¨>‡¦è B?ÿÿøÿÿÿð?þ B>?ÿ€ý¡ŠŠEI(-$ $éO-f  E¯ãŠÈÊŠF, g§FçÏÙ‚¸phºܜŽÐŒºlv¾€Â°u&¾¬À ®ddÀlrvvhÁÿÿðæ1‡˜"c¢ã#„c/ŒŠ‚¨>‡¦è B> ?ÿÿøÿÿÿð?þ B>p?ÿ@Ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿáïï‰ÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿŸÿÿðö/ÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿ€1‚ ÿøÿÿøÿÿÿà1‚ éÿøÿÿÿÿÿÿÿÿÿÿóÿøïò‡ÿÿÿÿÿÿÿÿÿÿãÿýÿÿÿÿBÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿø B > ?ÿÿøÿÿÿð?þ B >p?ÿ0ÿÿÿÿÿÿÿÿÿÿ¿ÿŽÿ0ŸÿÿÿÿÿÿÿÿÿÿÿÿÿáÿÿùÿÿÿÿBÿÿ‡ÿÿÿÿÿÿÿÿÿÿçÿÿÿ€1‚ çÿø䎎%¢œÌ~ȵ+2‹!jjM`9‰+R+3j¹cdïŽmˆ!ÌY̱+–¬†`E©±TÛ¨byaÀ!ŽPùvÿÿþ¢¥j$ W”€Q”è åcúWµl—kº/À7777BUFR0b€Ž4Ž}EP`€dpDª `!`q­%0²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ,!U0ØÔÄ€U0ÐÀ€€U0ÄÀäÀU0ÜÈÀ€U0ÜØÄ€U0ØÔ€€U0ÐØÄ€U0ÄÈÌäU0äÌÄ€U0ÄÀÈÜU0ÄÄäØ% ØØÈ€% ØÐÈ€0ÌÄØ€% ØÄЀ% ØÜÀÈU0ÐÀä€U0ÐØÄ€U0ÄÈÔÌU0ÌÈÔ€9]ÌÈ€€5PäÈÄ€a1àÌÄ€0ÜÈ€€U0ØÔ€€U0ØÔ€€9]ÔØ€€1dÄÀÔ€U0äØÄ€ AÈÀÈ€U0ÜÔЀU0ÄàÀ€U0ÜÔЀU0ØÔ€€U0ÔЀ€U0ÔØ€€U0ÔØ€€ƒ€ú€( 0À $’’m¹$¶‚0 J(ªª­ŽYérŠª¾VXÛì=hŠ,Qºè•DÜu(2 x- üB!ÁÔCm2‡láL(ð AZxu­UÌ‘x…ˆ ®` Yø¿`8¯¸‰Éq "n•D ˆ5Œ-X´ Á=bé{v'ä_°#1Ä lÈH÷°‚Oa!ÀC#€ÈÚqàFìB`’¨0KHÕ&™$PÆ—ñdàŠÚàphReÀ'N€¸ L¸”’åë`qÔ N¸X%îð)2à+Þx )$r€KŸ`(@°¤Ë€Zà Ì:jc0-~ÀÙ nXšK€FP8 ¥¢X st­Ú wÝ ßsî®±‚bû…»î®ÀÈì\“U…o¹Ø±€ ÍYŒƒb™»\¢Áx#+ÁZ* Ȫ )8xª 0à  ‹@xn( í n–& ¡/IæÌ•²®äÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð°%ÿÿfÿÿÿÿÿÿðN‡ÿþ~?ÿÿ—ÿÀŸÿð—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðoÿÿÿþÄÿ€ úÿøúÄÿø @dI$‘˜$’I$‘ˆŒCP$I$f $’I$b#ÿÿà``@  €A?ÿ¡¨ ’ $’3’I$’1€èj$‚I$ŒÁ$’I$ŒDÿü ‚$@$B Dÿàüÿÿÿàø @ ÿÿð?þÿÿÿà1‚þe t9P+ÙÍïyÞ)¦{æø=ɈRÀ0U°‡CÕ2µÑ|ã)%ÇŠZ¶1ôœ^¸¤'ÿÿ€¡ÂÐ`¤]M–ê”Ñ,@ bÿþúEAX:¢ ~á€\‚¤P ‡ÁH&‡ñ^b¸X(†!(Xƒ!(Œo莵uFjP¦8ݼ´'Ïœ -JÉeö‹^˜û”®Ì«Æ¨¿ÿþùÇEO†Pá”Ì6a³ ð4PáTŒ V¥û"$Gb Ù†Ìv#(lÁ "®\š|¿oÙ(c ¸ßH˜$aRKQÔm Cr åOƒÀî2PÐMqÏóüi­•u D¢ȧvùIAÊÀO4˜©O/ÔNæ¯N„ê•oá°õ>Erà£ÉÒ¶ø¾(²Lú–†¢HoÿÿFtØK%‚ƒp2BTUA‘hKAá|dÊð¯# x@ iE È.@ˆ <ð €ðÀ€BÀb<ˆ < €ÀÀÀ1†ÿÿÿð8€€€€€€€€€€€€€@@@@@@@€@@@€€@€€@@ÿÿÿàp    €Cÿÿÿø€ÿÿÿ@`ÿÿÿÿÿÿþ€Cÿÿÿø…1ŒcÆ1Œc1ŒcŒ`±ŒcÆ1ŒcÆ1ŒÆ1Œ`1€Æ1ÿÿÿüB˜Æ1ŒcÆ1€Æ1ŒXÆ0Æ1€€AÿÿÀ¿ÿÿÿÿÿÿÿÿÿÿÿÿüÐÿÿÇ"¿ÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿüÐÿÿÇ"¿ÿÿÿÿÿðįÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü!<ÿÿÿÿÿÿÿÿÿÿÿÿÿð ‹Çÿÿÿÿÿüˆ?ÿ@ôÿðôˆ#ÿð :†8ä’I$’G’Id¸†¡Ž9$’I$‘Ç$’Y oÿÿÀÀÀ€1‚ þCPÇ’I$’Hã’I,7ÐÔ1Ç$’I$’8ä’K$ ÿÿø@@ @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü¦ŽúËwq2ΓëT×U=Ý4 ÐÈ´Ëz˜Ã‹AN55)R–´¡mÿÿà(d0Y‘€@È“ @€A?ÿ€ýÉfç¦%«ÑHÌʉŽŽ`+ G숧iGíÐoˆ„)Kn‰mLoֺà¨Ö€–GÔךܫÀ ¤àÈv®¶ðˆ±Hƪš“ÿÿðà*íJ@óQÌÆB:´Î¥)¡ÜX•6¢[ (ˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀ~äƒ3sÓÕè¤feDƒÇG0•„£öDS´£öè·ÄB€¥·D¶¦7ëH]wNXpTk@K#‡jk‚MnU‹` PRpd;W[xaDX¤cUMIÿÿøðv¥ y¨æc!ZgR”Ðî,J›Q-Ä€¨ÿàþÿàÿüÿ€Ä€œÿà?Š?ÿÿÿÿÿÿÿÿÿÿÿ¶gÿÿÿÿÿþÿÿ¶JÌçÿÿÿÿ¼oÿÿÿÿÿÿÿÿÿçÄÿÿÿÿ+÷ÿüäßÿÿÿÿÿþýÿÿÿÿÿÿÿÿ¾Žÿÿÿü?ÿÿõH ÿÿÿ€1‚ ÿøÿÿøÿÿÿà1‚ éÿøãÿÿÿÿÿÿÿÿÿÿÿꀑÿÿÿÿÿÀÿÿÿé”+3ÿÿÿÿßèÿÿÿÿÿÿÿÿÿÿÿªvCÿÿÿÿÿ#ýÿÿã¯ÿÿÿÿÿÿüú ÿÿÿÿÿÿÿÿ}ÿÿÿø?ÿÿêÿÿÿb@Ôÿð?ÿÿð?ÿþÿÀb@ÎÿðÊÿÿÿÿÿÿÿÿÿÿÿÒÿÿÿÿÿwþ÷ÿÿÕ¤`Cÿÿÿÿ¿Ì7ÿÿÿÿÿÿÿÿÿôüwÿÿÿÿ­üÿÿÿºÿÿÿÿÿÿþ‚ÿÿÿÿÿÿÿÿßFÿÿÿþÿÿú`ÿÿÿÀ€Aóÿüòˆ_(6!(4‚GL00&RQG@?,K9%;Af]WW/%/dq=E:~Øp6´—‘Å÷Rá­csܳ'Y 6<û ]=á†ðâFÿÿðè)êç°c!‘=ôl2 “ˆ2-à1Tø,7777BUFRb€Ž4Ž}EPb ßY"\‰T@s ¨%²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ !U0ÄÀàÔU0ÌÜà€U0ÌÄÈ€U0ÌØÌ€U0ÈÔØ€U0ÐØä€U0ÄÀàØU0ÈÔØ€U0ÄÄÈÐU0ÄØØÀU0ÄØØÀU0ÌÔÈ€!0ÌÀ€€U0ÔÀÔ€U0ÌÈà€U0ÌÈà€U0äØÐ€U0ØÔ€€U0ÄÀØÌU0äØÐ€0ÄØÄ€=äÀ€€9 ÄÔÈ€U0ÄÈÔÌ0ÈÄà€U0ÄÈÔÌU0ÄÀÀàU0ÜÔЀU0ÜÔЀU0ÔÄä€U0ÄÀÔÐU0ÜÔЀU0ÌÌä€HÔàÜ€!a0ÐÈÄ€9]äÈØ€A0ÄÀÌ€ƒ€ú€( 0À’I%’m¹$¶‚0b#ï¿@ ‚ 3.8è²®ºìk„å+$K…–'àWg†ñxHС+Îü^ T@o¼V.ë0D<Á>š„øv@(#ac9„Ú1€øJ‡ãˆ /~(àîÅ*hµX~WÁÎ(†pp3ü˜Ÿº¡»šdÌ` ß(k¨6 ðô¨‚#@ž‘ÀQ0CËx0t¶˜ Þ:N€€°x¼È ‡ACÇvH(t\#Š¢€9!\åCë©€0Cx ÅЋü\1—‡´C»¢;@fbð(<È1)ð¬°3E¹Ê‡”°ìG¢Ÿê}ÉF0jÏAn…o¸L@{j¯=؇§žSzà¾â±“ÏyðÐVh¼ÿð?ÿÀðbÀF0€Œ`#YNsä ÎsÀ NO0N`§9ae9Ì'9Ì%9<Á9€œä€ž`#ÀF0€b€@ €@ €@$€@ €@ ¶Ûm¶Ãm¶Û†Ûm€Øˆx7Š¡Æ–·éÜmñ"ËLûZc² « Ë6àl/Fšðã])ù·AýÐ)ÝÅPiîÀl(SžúN·\ ´Z‰Ä¶+ú¼¿3 Ïôšêº;IÛ‰%à¦A´¬VK \.z¾ô’¤T±!Â`Ñ(‡ó$Õ.x(!ÌòV0‹pÀ+²hÙ*K²É8Œ!°€C¯ÿÿ ͉Ùh¹aj²A‚0+j¨¯Â2”7â ¨¬d²”˜« ð2x¡P@xà @!à€1„€Äx@x0 €€0b ÿÿÿàp 8€€€€€€€€€€€€€€€ÿÿÿÀà          @@   @ 1†ÿÿÿð@€ÿÿÿþ€  Àÿÿÿþÿÿÿü1†ÿÿÿð cÆ1ŒcÀ1Œcư cÆ1Œ`Ö)ŒcÆ1ŒcÆ1ŒcÀ1ŒcÆ1€[ÿÿÿø…1ŒcÆ1Œ`Æ1Œk° cÆ0c1‚ÿÿ€ÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿ„ÿÿÿÿÿÿÿÿÿÇ€ÿ€Aÿÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿÿáÿÿÿÿÿÿÿÿÿñàÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿáG@mÿù©ÿÿÿÿÿÿÿÿÿÿÿøNàÿÿø þ>€èÿàè Fÿà@t1 ‘ ’C$ BÃ…¤dH$‚É'ÿÿ€À0 „b@ÿü†!aÂÒ2$AHd’¡ˆXp´Œ€‰@À$ÿÿð08 ! Â0€ @ ÿÿð?þÿÿÿà1‚€þÿÀÿøÿþÿ€Äÿø i J©™kR›xNÇŠ!PF6°ÎcÙáD ËÊ…k)Àµ„ê€aBÈ÷¥_ÿþ†À<h½ „¦[ŠG$ˆ ÿøÕĬȔ(¾Ô.zÖú²lªúи×~°аlšŽŽ–øœ},ýé féh„ÇF‰å¨EÌ­æÉMJ‰GÈç ‹êGl0ůÿÿÿûƒ£8‰9TiK1Â`°X€¢ëâ¨d™B#jU¡`¡"  @„ ÿÿð?ÿÿÿàü @„ } ÿú¢•™…Ú…ÏZßVM•B€£ŸZàOÖš “QÑÒߥŸ½!lÝ-p˜èÑ< µ¹€•¼Ù)©Q(ááAQ}Hà통ÿÿÿà?ptg'*)c ¦8Lö B|U “(DmJ´,$DÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?Ü7ÿÿÿÿÿÿÿÿøÿÿÿÿÿÿõÿÿÿÿÿÿÿù›ÿïøÿÿÿÿÿÿÿÿÿÿà?ÿÿÿÿÿÿÿŽÿÿÿÿÿÿÿÿþ¡_ÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôäýÏÿÿÿÿýC?üˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀ¸oÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿçÿÿÿÿÿÿÿí+ÿßñÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü¢ÿÿÿüü ÿÿÿÿÿÿÿÿþÿÿÿÿÿÿéÛü¿ÿÿÿÿúfÿø B > ?ÿÿøÿÿÿð?þ B >p?ÿ€ÿpßÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÏÿÿÿÿÿÿÿàOÿ¿ä?ÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿþ ÿÿÿÿÿÿÿÿúeÿÿÿøøÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÔ›ø?ÿÿÿÿõÿð @„ |àÿü!áDxšzâäél‡kÚÏW6,¬ª›˜å;—/›ÞfçËúÄ ˜›˜€Ž"‚ ›œ›——• Ÿ‹º™Áÿÿüò ÊFÞÀ¾¢ ,ž»ôrö­ºÍ/Òµ08¸7777BUFR þb€Ž4Ž}EPd 3x':øƒtX@m°% þ²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ú!U0ÄÀØäU0ÄÈÈÄU0ÄÈÀØU0ÌØÌ€U0ÄÀÈÜU0ÌÈÔ€U0ÔÀà€U0ÔÀà€U0ÈÔØ€U0ÌÈÔ€U0ÈÔØ€)hÔÜ€€9]Ä€€€9 ÈÀÄ€-0ÀÜÈ€)0Ø€€€0Ø€€€U0ÈÔØ€U0ÄÈÔÌU0ÔÄä€U0ÐØØ€U0ÈÔØ€U0ÈÔØ€9hÄÈÔ€9hÄÐÌ€=4ÜÄÔ€U0ÐÌЀU0ÄÀÀàU0ÜÔЀU0ÄÀÔÐ% ØØÌÐIi<äàÅ@EÐЀ€EÐЀ€ -LÐÌÜ€U0ÔØ€€U0ÔØ€€ƒ€ú€( 0À %$’m¹$¶†0¢Œ3ï¾üA¶ÚñÄ-6àô4´ÓMDQ$ç_K¸˜Ζ‡n2T!ÞTÊY¬ð*¨ñ ì”O  ܘ,¥’>0 üÝ:ÿ°—™SØgXÙ¾Oè +Z@ü6„#@"ï\2z9PLÞJKAÛ‡R¤Ö`~ä`MÊ'D¼ j ÙùÛh‚wõG2‡ƒÒ« ñÿ,sJ¦BR<å×\‚NtA4õÀ·* f~H3T y¤ <ÒP b¾*ÀÎèÀf;à2öàXhÐ3Õˆ<ÒPi(†]ÃÀe-º>àjßAèyîÄ·"SVóâKtŒb;ÝAn&/º$ÀÈV=)1…q¢@Çbì^|%d Yt(>„aA@8QѤ7&Ã'þ2  LT (ƒ$°¹DÂ0ƒ!|PÉp3Lñ&;†Àk1™ï¸óÚ2ñ‚¾šÎ öÓl;ÐÙl6OW¯%àðÈ Å¤ A@ñ-S˜} ó47 ƒ!Ì_)F@¡,Œ#ÑFxÿàÿàÄ€Œ`#ÀF0³œg9ÎsœÀœç9Lç9€%(ÂÎqœç9Îssœå0œæ”£,9$’I$’ $’I$’I$‘€Œ`#ÀFˆ €@  €H€@ €Ûm¶ØÃm¶m†Ã` @ÄÑņ‡£Â »Ä,(×Ç©ý¸BâÂfS™Š44 `›ãâö1„Ìó‡Sü^ÁŽ™„ÌQ¢³í gÓÖUJØÈ Aøâ‹Ýæ/X¥íÔ5ÌÃ9@ƒ@j$ƒQðïR”£ë=\Sÿ°H½Já>àù0jºÍ:BªÆðÒ†œªOË ×ÁÊz¦ˆ+è4 G«ÛÿÿàBQF@µGBƒèF…Crl2ã!@2P”ÅJ€Px2K ”L#àx2Åb<ˆ < `0À€BÀb<ˆ <ð0¶€ @!ÿÿÿü€ €?Àøÿàü€ðþ?Àøÿ?ÿàÿüÿÿ€ÿðÿþ?ÿÀøÿàü€ðÿþ?ÿÀÿøÿàü€ÿþ?ÿÀÿøÿÿàüØü€ðþ?Àøÿàü€ðÿþÿÀÿøÿÿ?ÿàÿü€ðþ?Àøÿÿàÿüÿÿ€ðþ?Àø?ÿàÿüÿ€ÿðþ?Àÿÿÿàp 0  €Cÿÿÿøÿÿÿð1†ÿÿÿðÿÿÿàˆ0?ÿÿÿ€=¶Ûm° ¶Ûl6Û †ÀƒÛm¶ÛÛm¶Ãm°ØmÿÿÿüB˜Æ1ŒcưkXÀ1Œc1`Ö1€€AÿÿÀÿÿÿÿÿÿˆÏÿÿÿÿÿþoÿÿøôà/ÿÿÿÿÿÿñà?ÿÿÿÿÿÍÿÿÿþÿÿÿÀ@sÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü@ÿÿÿÿÿÿøÿÿÿÿÿÿÿÿþy?ÿÿÿÿÿÿÿüi?ÿÿÿÿÿÿÿà @ ÿøú ÿ€  bÀÿü‡ QHR–G$¨™d(Ë$’¡ÈR¥‘É*&Y 2É$ÿÿð00  @ ÿÐä ) RÈä•,…d’@t9ŠB”²9%DË!FY$Ÿÿþ Aˆ"ÿð?þÿÀÿÿð?ü @ÿÀÿøÿÿÿÀÿð€A?ÿ¢¤àD ÆætÈ0íjLG5¯ ×1°s`+Ž1jIØ–9rÖÅbšÒ,ës[W;ÿÿÀPÈ)¢Q&†ˆ‰$ÛJB› 1‚ÿâÒ†‰²w`7 g§-«w\Ætžw9ÂzÜEáxÜ—åºržwdrè²uw舆q—`V~®C|M.@5p-/I”jFP`†jB5dKMDcekZ[ÿÿøè²XlõÒ>u^~e¢üÆ-A9+Qeâ»%mP @„ ÿÿð?ÿÿÿàü @„ } ÿâÒ†‰²w`7 g§-«w\Ætžw9ÂzÜEáxÜ—åºržwdrè²uw舆q—`V~®C|M.@5p-/I”jFP`†jB5dKMDcekZ[ÿÿøè²XlõÒ>u^~e¢üÆ-A9+Qeâ»%mP @„ }@ÿÿð?ÿÿÿàü @„ |àÿýÿÿÿÿÿÿÿÿÿþ¤„C‹ÿÿÿÿÿÿÿÿµÿÿÿÿè?ÿÿûùãÿÿÿÿÿÿÿé¤ÃÿÿÿÿÿÿþŸÿÿÿðþÿÿÿðÎ7ÿÿÿÿÿÿÿÿü,ÿÿßÿÿÿÿöÿÿþÿÿÿà @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþùãÿÿÿÿÿÿÿÿÿý¡©i\ÿÿÿÿÿÿÿÿ…ÿÿÿÿÕÿþÿ÷õÆÿÿÿÿÿÿÿÿÎ$ ÿÿÿÿÿÿýÿÿÿÛÿú?ÿÿÿà? oÿÿÿÿÿÿÿÿøÿÿÿ·ÿÿÿÿìÿÿÿüÿÿÿÀ€AõÿüÿÀÿüÿÿÿð€AóÿüõÇÿÿÿÿÿÿÿÿÿúB/Ž­ÿÿÿÿÿÿÿÿÿÿÿÿ¤ÿüÿïíÿÿÿÿÿÿÿÿš8ÿÿÿÿÿÿù?ÿÿÿ«ÿóÿÿÿÿÀ@ßÿÿÿÿÿÿÿÿð«ÿÿÿwÿÿÿÿÕÿÿÿøÿÿÿ€1‚ çÿø“ÙÙmy¾_f_GÓëu¸ûo ŸÝßó¼­·K“Çòí¹]Ψáñéz½×æÈ†u’^’bY‘W„bMG9o?8W‘lNWcx_Ifd`bVadePMÿÿøèÒPeO6Yžn`üµî5_<Ê”M&a9]7777BUFR(b€Ž 4Ž}EPe¾H7P(…ƒ°i|%(²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ $!U0ÄÀÐÈU0äØÐ€U0ÜÄØ€U0ÄÈÌäU0ÄØØÀU0ÌØÐ€U0ÈÔØ€U0ÈÔØ€U0ÌØÐ€!0ÈÈ€€U0ÄØØÀU0ÐØØ€U0ÌÈà€)häÐÌ€9 ÄÔÈ€U0ÐÀä€U0ÌÈà€U0ÌÈà€U0ÔÀÔ€U0ÔÄä€U0àÈäÀU0ÄÀàØU0ÄÈÔÌ LÔàØ€HÈÜÄ€)0ÀÜÜ€U0ÜÔЀ0È䨀U0äØÄ€U0äØÄ€U0ØÔ€€U0ØÔ€€U0äØÄ€U0ØÔ€€U0ÐØ€€9hØ€€€9hØ€€€ƒ€ú€( 0À’I$’’m¹$¶‚1$’LÓOEÒi¥qI.ºê³ Gr&¢ŠŠÌfêådDN¬ “AWîâú²zÕ ô3êZ+àl]ö°¾…q^8B´ß«ñ •ö)ø*4S<˜¨>Q}Ö8 Œ.*²Œ*ˆ¬K‡ð¬ºÁŠ‚ ]?‡†E¨'/@;ïÀ~_ 5Eò@ÉÏ"€s÷€]Øi”˜à pëЂ‘·®š`R¤@aÖà(eÌp8Ç(?1ZÞÂDG ¤>à5Ɉ&½ø kŒ¢>gq›?hcœí@4êà !ä 4Ü™tevøêŽàÈ L,8E»Jz ØI‰Oƒ×ž-Ç¢Ÿv,Ým¾çÜaXôÆ<÷žÕ[ ·ìam€Å£t„¢†Fô¨ªÉhR­ zž¬“c ú9ƒÀò²!ÊPZ# bX‚($èÁP-¦P4 q5vÀ¥œür6ÜnÝÄÜHX­—e¾µcÏgÛÍø >ß“—ã²QB…À( !@ú7D8´Ž`x2K Âø2_y“˜b€dF –B0¾/ÿüÿð<€0€Œ`#ÀFsœçJQœæMМæù€%9ÎãYÎsœe)Fs˜7Bs›æ@”ç8HŒ`'ÀF0€Œ`€@`@ €@€@ €@ €HAí¶Ûa¶m¶Ã†Ûm°bìM A”þ(Ù3ÖÔôÆ^À8Lç³/„qe181ð½éø4 c ˜LÆ(ÙÃň‚…1Óñ逯(ÑF¾è¡- J¬žG‘‚°C@ N´ü!YP7^eghù.×èZ;Í!pæBÉ2-Ùå®ÂÎ(+¦Ò®  ¥8ˆŠ!¹ Ò'šh ž/ ˜£"É’€¡éâòx¤ÿÿþ%20Ï ÝEVKB•mÔõd›ÑÌ•R‚ÑKÄA'Frm4‚¤i €ðÀ€BÀÀ@` <b<ˆ <ð €ð00À 0ÄÿÿÿÀØü€ðþ?Àøÿàüÿÿ€ðþ?Àÿøàü€ðþ?Àøÿÿüÿÿ€ðÿþ?Àøÿàü€ðÿþÿÀ€ €?Àøÿàü€ðþ?Àÿøÿàüÿÿ€þ?Àøÿàü€ðÿÀÿøÿ?ÿàü€ðþ?Àøÿÿàÿüÿÿÿþ    ˆ0?ÿÿÿ€ @@ÿÿÿð@D1†ÿÿÿðÿÿÿàˆ0?ÿÿÿ€SÆ1ŒcÆ0 cÆ1`À1ŒcÆ!LcÆ1ŒÀ1ŒcÆ5€Æ1ŒcÿÿÿÀ)ŒcÆ1€cÀ1ŒcÀ°,kÆ1Œcˆ?ÿüÿÿÿÿÃÿÛÿÿÿÿüS×ÿÿÿþ@ OÿÿÿÿÿoÿÿÿÿñO_ÿÿÿùÿÿðà¿ÿÿÿÿÿÿÿÿÿÿÿþmÿÿÿÿý\ÿÿÿÿÿÿÿÿÿñ«ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ @ ÿøú ÿ€  @ ÿÐãP†Ä%Èä‰d˜Ã²@t8Ô!± r9"Y$&0ìŸÿþ€€J!‚Áˆ!ÿð :jØ„¹‚‘,’vH‡„6!.G ¤K$„Æ“ÿÿÀÀÀ D0@ 1‚@þÿÀÿøÿþÿ€Äÿøÿÿàÿøþ @ÿà@4U¥)a¸¤2e  )IBkZ ¡\…BM GŠ„1ë9ÀÁ‰±“`’I”bÿÿø A(Iƒ1ÈÑ ¶ @€ÿà;ºT9Å0äAð$‡ Å´E€DeÉñ\YJiD#ÈqÓçÉ‘ôI(APÔ|ý%Iœ‚B+EB 8Ž.FïJ²(üæ*!€¡zD(˜LCÒá´Âˆÿÿø×Zõ§œ>É)Öl¯p½dÍ€yµ’ƈÐ-b½j÷ Ö1‚ ÿøÿÿøÿÿÿà1‚ éÿøî•E±L9Ç| !Ãqd-DàQDò|WCÒšQÇòtùÁrd}JT5?`IDÒg ŠÆÑP‚N#‹‘»Ò¬Š?9ЇÈ` hE‘ &ô¸m0¢?ÿþõÇV½iç'O²Ju›«Ü/FY3`md±¢4 X¯Z½Âõ€ @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþþÃÿÿÿÿÿþ¯ÿþßÿÿÿÿÿÿÿWõÿÿÿÿÿÿºÿ€ßÿÿÿÿÿÿ£ÿÿéÿÿÿÿÿÿÿô“øÿÿÿÿÿûÿüú ÿÿÿÿÿÿøÿÿìÿÿÿÿïþ§ÿÿÿÿÿÿÿþx B ?ÿÿøÿÿÿð?þ B >?ÿ€ÿÈßÿÿÿÿÿÿ«ÿÿ«ÿÿÿÿÿÿÿà_ý_ÿÿÿÿÿé¿ì7ÿÿÿÿÿÿæÿöÿÿÿÿÿÿÿûÂþÿÿÿÿÿþÿÿþ‚ÿÿÿÿÿüÿÿÿÿÿÿï×ÿÿÿÿÿÿû@€AõÿüÿÀÿüÿÿÿð€Aóÿüý†ÿÿÿÿÿÿýoÿýOÿÿÿÿÿÿÿ¯ìÿÿÿÿÿÿeÿA¿ÿÿÿÿÿÿGÿÿÃÿÿÿÿÿÿÿÜ7ð?ÿÿÿÿÿóÿÿøõÿÿÿÿÿàÿÿûÿÿÿÿþþÿÿÿÿÿÿØÄ€$œÿà;ÐT9B°¤i@Œ_Cqô€ägÉÜYH(œÆ‘ËãÆüMÁ\Pý¡$óx’V-E%‚‰°¢>7ë‰$QÌÌ/€ÒiX‚:#”Š£b±rÿÿøãDE‘2œÉ&Ì Rp©SË_)¤¥Š$N¡dè€7777BUFR:b€Ž4Ž}EPa lª@Z& }|s÷€&:²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ 6!U0ØØÐ€U0ÄÈÈäU0ÌØÐ€U0ØÔ€€9]Øà€€5`ÀÀÔ€-14ØàÈ€UALÜÄÈ€1 ÈàÈ€MYäÀЀU0ÄÀØäU0ØÔ€€U0ÄÈÈäU0ÔÀà€U0ÔÄä€U0ÈÔØ€U0ÄÈàÔU0ÐØØ€U0ØÔ€€U0ÄÀØÌU0ØÔ€€U0ÄÈÔÌU0ÈÔØ€U0ÐØä€U0ØÔ€€U0ÐØä€U0ÄÀÀàU0ÄÀÀàU0ÄÈäÀU0ÄÈäÀU0ÄÈäÀU0ÐØä€)hàÌ€€9]ÈØ€€ \ÌÔÜÄQ$ØÀÄ€ àÔÈ€HØÐỖ€ú€( 0À %$’I¶ä–ІÃU—¡ŠZ³×m·–ié‚,¾ü0Ã-5A-ë³¢bÊ…\+œ’Aœ™¶àHÁxw[<¶àHÁ½ÑÁ3! îŒ_ÐĈ‚Hy°ä$Õ°.BÆsµ€9W°¨³Ç¯ÀFoA½-À õ€„ïAÒOî'mÁ` ŒÑ`HÁÙT²bÔÆž•+ëÄ?ì'u™x» Å]„â®ÂqWa8«P可âü(ò2¾y ü¥n62ÿ$Gƒp×Ïàm_ñ €ùj>\MlN9ß‹CņŒâŸbñS™x«¡|LK?¿½â·¥*¥Ò•Rê>Ít¥T¿”¸VûŒ ‰1%÷9&é]Œ }Ï>4;èì`c묅¸èc UɨÐì`cî}ÎÆŠb0P¿ñàFáàF‡€Œ*ˆÁ@P„kº²)JòÚ%†á’ž âX‚À¡2”?¤Ç`+jP»^6ÛŒvì9¾öa.¢ïÑ2T¼`/À÷Òù|ÒdQIc„PEQ|U‰a¸È(Á×# ²Œ0ÉaFÌÐPa|}ÄÄU%Šàÿÿþ€ F0€Œ`#ÂÎs˜Á9ÎSœç7N§0YÎs`˜'9ÊsœæéÀ”æ#,9$‚I$’I$’I$’I$’0€Œ`#À1€ä@’I$’ $’I{l0m¶Ûm†Ûm¶À  bh1ÃB(ЙŒ a¡`âÀÆ(Й†„BÀhâÅ0ÖÌ5š~ÊLú9§îŽÄ‚ƒ À80І„Q¯ö(ûZ‹"h³ Ó;;c¼E4Ó?ѵ¹?ÄÀµ¨DP Œ†B•7ž&PU šD ^ÆÊF`¸À¸º ó̺‘MÍ®†ÒlvÇ2â˹‡!Äv±/Ë‚õÿø¼P(#‚€ÿ0´0Œ<aTF €Œ#]Õ¡JW–Ñ,7 ”ðx_ÄxF €ðÀ€BÀb<ˆ <ð €ð0 ÀÀ 0< 0†Àb ÿÿÿàp   €€€€€€€€€€€€€€ÿÿÿÀà  d@     @     @@`ÿÿÿ@@  ÿÿÿþ€"€ˆ0?ÿÿÿ€ÿÿÿ @!ÿÿÿüB˜Æ0,Æ1ŒcÆ1ŒcÆ1Œc°SÆ€XÆ1ŒcÆ1ŒcÆ1Œ`?ÿÿÿ€SÆ€XÆ1ŒcÆ0 cÆ1ŒkÖ€AÿÿÀ‚?ÿÿÿÀÀ€§?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁ@¿À@ ÿÿÿðð )ÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðPoðÿÿŽÿÿÿÿÿÿÿÿðY@GÛ+ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý¾ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüh¯ÿÿÿ|·  @ÿü}ÐÿÀÐ@€A0?ÿ¡É%²K$–I$€@Y$I-’Y$²I$‚É$ÿÿð02$@€¡"ˆ!ÿð :’[$²Id’H9’IÐä’Ù%’K$’@ È,’Oÿÿ @À €A ?ÿÿàüÿÿÿÀb ÿüÿÿð?ÿüÿˆ ÿð *Òu½l…øA J%¹dB5® dùºP ,;Z´Òς֤!Ilᢠð‹Ý/ÿÿC(DjI¨H¢ä6Ô 2€€A?ÿ€ýÀðk?¼Û¼ÜìYçHk•)öØû$:û`)§[N6äè­¡Söd(5¦·;žT„,-,9!0Ÿ”¡Âµ+"´)¡•œ²µ;­¥ÿÿüó ÂŒÊ×ò=‹®Fò6«r.ÞSºð <™M?.Ü @ @ÿþÿàþÿÿÀÿø @ @ú@ÿþ÷Á¬þólnós±g ®T§Ûcìë퀦m8Û“¢´n…OÙ ÖšÜpîyR°`´°ä„Â~BR‡ Ô¬ŠÐ¦„zVrÊÔxPî¶—ÿÿðÌ3 3+_Èö.¹Ê@Ú­È»yNëÀ(òe4üD»r<€1‚ êÿøÿÿøÿÿÿà1‚ çÿøðÿÿþgêÙ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþäÙíÿÿÿäÿ¿)ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàêÐÿÿü÷ÿÿþwí«_ÿÿÿÿÿÿÿÿý_ÿÿÿÿÿÿÿøþ¤À @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþüÃÿÿ•ùóiÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ_ä‹ûcÿÿÿùîJvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¯&ú¿ÿÿþ#ÿÿ™û)ÕÿÿÿÿÿÿÿÿÿOÿÿÿÿÿÿÿþÿ§ B > ?ÿÿøÿÿÿð?þ B >p?ÿ€ÿßÿÿèþ®^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàTOø&þðÿÿÿþKû’»ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëKþp÷ÿÿÀ€ßÿÿæþÒ¶ÿÿÿÿÿÿÿÿÓÿÿÿÿÿÿÿÿÿëFÄ€$œÿà?˜:XÊã§z®E'ä2®+Nh?˜¥ìd'¯xäÙ7ÈIPþIiæg$ái¥0`Aèfi%©%DÄe­ Ååç§eg$Eèèe¢êæ&?ÿÿýãR ûkZªë"R)‹GRh)E HªM¯(7777BUFR èb€Ž4Ž}EPb€ ã@Vz¬…ƒ°rpà& è²&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ ä!9]ÈÜ€€U0ØÔ€€0ÈÐÜ€0ÄÔÜäU0ÄÈÈäU0ÄÀÐÈU0ÔÄä€U0ÔÀÔ€U0ÄÈàÔ0ÈäÜ€U0ÄÈÌäU0ÄØØÀU0ÄÈàÔU0ÄÈÌäU0ÄÀÐÈU0ÄÈÌä)0Ø€€€)0Ü䀀)0ÀàÜ€)0ÄÜ€€5A ØÀÄ€0ÌÄØ€% àÐЀ9]Ü€€€9 ÀØÄ€)0ÜÌ€€)0Ü䀀U0ÄÀÀàU0ÄÈäÀU0ÐØä€U0ÐØä€U0ÐØä€U0ÜÔЀ9 ÄÔÈ€U0ÜÔЀU0ÔØ€€U0ÈØ€€U0ÈÈЀƒ€ú€( 0À $¤Ûm¶ä–Г ¿ m¶Û®ºûïE%XäbÃãŽy¿ 2ÏUgªÂЄ„(0XÞ:˜@( býKÂè¡ qŒ ‡P[„!ž k°#/Ð.ÀÂ0Œ †ä i—CAGÔoØÑ ²CA„ÌKPi—B( +«°­vB·Í=ì/‘$øm`5@ÐÆ€3îÀ¶¼Ê$ :㼋†ôANæ`vApJW@˜:¸ ˜À£A§óAÃZàjÎcñW4rx°9îìÉpd¸2\žéÌ$àçþ rx°šëYl€¿ô `!`0hà ®ƒPÁG|¬c’¶õ]ÒžüwG¢Û¶À–ž¶æ*{UÝ-¾K’Õ{KîÝ)íTz= p÷77NK±…B…Ü(Ä8˜dª´CpÜC”ø´KX(ˆ ð¾9… ô‰¨¡’²#àÈHY5}¶G{Š ä»[£÷&•„€'rÈ\:1t¶%Ç É}>£àPdHr3LÑd&Ä‘HsÀ“°(U È<‰²0 ðdÃ…¡FxÿàÿàÄ€Œ`#ÀF0 ˜9Îs¥9Î`'9Jsæ Æ'9Î`”§9Ìç)N`œÁ8ÀO0ƒ  #F0€ŒH$’$$’ $¶m†lÛm†Û1‚õŒT'„øjŠtÕ$<ƒ¤ÀëÊtAÓ3”èC᪠èOx!ðhð!ª)Їç ùˆÂVøRØ PO ð¢f±ÀÙòòbmU·!ä_ZfìÁnmä=‹ÝeÕDØ~EÙŒ}šA&FŒ€éj[¶ë…Aذƒêí ¤êôd"Ì1¶™ãÉ.nÁ(îb„iH²±ä©f[®ùrƒÇÿÿ … !¸Pˆp#0È!Uh*†á¸‡(ñh–°P7Aá|s #éQC%dF Áb<ˆ <ð €ðÀ€BÀb< 0¶Ã6b ÿÿÿàlÿÀþÀøÿ?àüÿ€ðþÀøÀØþÿ€üÿ€ðþÀøÿ?àüÿ€ðÿ€ÿÿÿü      @@@     1†ÿÿÿðÿÿÿà €¨€ €CÿÿÿøÿÿÿðÄÿÿÿÀØm¶m°m¶l=°Ûl6Û`Ûl6Ûÿÿÿø…1¬Æ5ŒƵ­`X¬cÆ0 cˆ?ÿü'ÿÿÿ€ÿÿÿÿÿþÿÿÿÿÿÿü @`0³´ ÿÿÿÿÿÿþÿÿÿÿð'ÿÿÿ€ÿÿÿÿÿþÿÿÿÿÿÿü @`0³´ ÿÿÿÿÿÿþÿÿÿÿÿÿÿüJÿÿÿüÿÿÿÿÿÿÿÿü\ÿÿÿÿÿÿÿÿÿÿKñƒuÿÿÿÿÿÿÿÿÿè¯ÿÿÿÿð @ÿü}ÐÿÀÐ @ŒÿÀ€èrIŽ@ÜnI$’Ç " $C’HìrãrI$–8II?ÿü @ @€A?ÿ¡É$v9q¹$’K$ˆ$I#±ÈÉ$’Xá$A$ÿÿð0 @ b€ÿüÿÿð?ÿüÿˆ$ÿð?þÿÀÿÿð?ü @€ÿÀ€€´JÔ!c"ÂU­ S´±ísÀA`Nƒ@@Z-IAŠt€CP¦¡OAN³©L`ŒA0)K?ÿüÀ" “@$’LEKmªbÿþõäIB0):› 4# ™ž Ã++Ì›/»N¿¨®7#(£¤$´$'—?dA”’kËJ|,y:±ª‘z’êZR°‘Úð¼ÐÙ!ºrã@Z룓çÿÿÀxÁÒjÀ¢pä>‘JALÜ´ µQÀr‹³ ìªÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?^D”#“©º€B1ú ™ê 2²¼É±‚û´ëúŠãr2Š:BKBBysöDI&¼´§ÂÇ“«©©.¥¥+  ¯ Á- ’§.14®º9>ÿü÷Œ&¬ 'Cá é¤4ÍË@«UG(»0¾Ê  @ @ú€ÿþÿàþÿÿÀÿø @ @ùÀÿþüCÿÿüÏÿÿÿÿiÿÿÿÿÿÇ"~ø cÙ˜—ÿÿÿÿÿ/ÿÿÿïÛÿÿþ¿ÿÿÿÿþÿÿÿÿÿþ’²HLh’Vþ¢Cÿÿÿÿÿþ7ÿÿÿÿÿÿðü/ÿñÿÿÿÿðÿÿÿÿ³è‰¿ÿÿÿÿ×ÿÿà @ €ÿþÿàþÿÿÀÿø @ €ú@ÿþüÿÿü¿ÿÿÿÿkÿÿÿÿÿÄ"¢ðà$Zž¯ÿÿÿÿÿÿÿÿïÛÿÿû¿ÿÿÿþ?ÿÿÿÿÿ.Ò4í!­öroÿÿÿÿý7ÿÿÿÿÿü ÿüÿÿÿüÿÿÿÿêùžOÿÿÿÿõÿø B > ?ÿÿøÿÿÿð?þ B >p?ÿ€ÿ ÿÿÿ+ÿÿÿÿØÿÿÿÿÿîÉ›¦ ¨÷£¡ÿÿÿÿÿÆÿÿÿû÷ƒÿÿþÿÿÿÿÿ…ÿÿÿÿÿĘH ;€”ŸÿÿÿÿÿEÿÿÿÿÿÿÿbÿÿ7ÿÿÿÿÿÿÿÿûþ©£ÿÿÿÿþ?ÿþÄ€$œÿà?ª>ZKÒ½&Œ@B™"ym§a*ÊŠuXð¥¢FÑúÞà$¦e ìÙù’åŒúŸÿÿÀpÄÄza$QM¼‡Š¡k<ëmÚ¼ ­)b–{ <Ó 7777BUFR (b€Ž4Ž}EPhn4@Tâxõ‡ÀiÐ% (²%ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ $!U0àÈäÀU0ÐÀä€U0ÌÜà€U0ØÔÄ€U0ÄÄÈÐU0ÄÈÈÄU0àÈäÀU0ÄÀàØU0ÐÀä€U0ÜÀØ€U0ÌØÐ€U0ÌÈÔ€U0ÄÈÈäU0ÔÀà€U0ÐØÄ€U0ÔÀà€U0ÌÈà€U0ÐØÄ€U0ØÔ€€U0ÌÜà€U0ÄÀØÌU0ÄÈàÔU0ÄÈàÔU0ÄÈÔÌU0ÌÈà€U0ÐØØ€U0äØÄ€U0ÄÈäÀU0äØÄ€9]ÜÈ€€U0ØÔ€€U0ØÔ€€U0ÄÀÔÐU0ØÔ€€0ÈäÈ€U0ÔØ€€U0ÔØ€€ƒ€ú€( 0À’I%$’m¹$¶ž(D!Œ…1Œb…)Œ!…®riR”‰S‰à³û wD>±œÂì it@\Ë Zãà98q%6„Í úŒ0¼¯+ÃGØ )H$‡‘HD®> {˜) A<ÅÂ`ã Ó0¼Ó«ƒvXê` D¨b4¼ÈÀ} Æ‹$Íò1(9t\s¾ly‡$bs“;ÆÂwäTeòÐÓ9£Ü—¤N9ÐÇ-†KŽRËißåèqÈ-8ƒ9ÀÚRžIÖWíÓâgÈIå³·sºxÚ3\p«¾6Ú÷ó§9ÀcäNÈp¶°&ÁÜŸà#—³Ïyï=Ø@ž͎KU)ð0‰‘« Œd*fÐ1É3g$š€ò½9,Ù眓MT zŠ¢X‚( ¡’0>¥„:.G[ iŒ„xs3äaÖ2‰X$â >Íd¶/”͘Ôz3 ј²Ûm3œÑYŽÆ*G±fëÞnÝs²®„¡È ÈKQ‚…£H– ’ÃÀð(d2x ‹J¥z€#Ã$¸ð–‘%€Wÿþÿø @ÀF0€Œ`# 9NsœÁ9NSœ§9Nsœ§8NS§9€Œ,å9Îså9Nrœå9Îrœá9Lœæ0ÀŒ`#ÀF0 @ 9$’I$’ $ $‚I$€ öÛm¶Ûl6Øl6Û ¶Û1‚ƒhAÆ0q„Š ¨Z©Ÿc×… 6¥€Ïºw±Ùl#P6…ˆF¡b#ЦßgÙƒŒÏ·d¼@Úíw_€NbI‘(ycDhÓH '³ÛàñƒX$ÐÉDîm>µ+— ¼»ŠŸMŠÌ¥›°øcµm5Id¼¥*Ò²¸ÑšZJÀ u]‰b›U¡ÿüJ(d>‰b *†HÀú–Hè¹lXZ‚¤`F2AáÌÏ‘‡XÈ $I`<“ˆ,û4 @!à€1„€€1„€Äx@xà @!ÿÿÿü€ €üþÿ€ØÀ?àøÿÿÿàl ð?àðü`ÿÿÿÿÿÿþ€CÿÿÿøÿÿÿðÄÿÿÿÀÛm¶Ûm¶Û †Ûa¶Û`Aí¶Ûm¶Ûm°Øm¶m¶ÿÿÿþ öÛm¶Ûl6Øl6Û ¶Û1‚ÿÿ€ÿÿÿÿÿÿÿøýÿÿÿ€ÿÿÿÿÿÿÿü~¿ÿ¿ÿÿÿÿø€þ>€1‚`þCŽI!jP†9a§†Ðã’HZ†!ŽGiÄa€ÿø€@ @„ÿÀ€èqÉ$-C Ç#Œ4â0À :rI P„1Èã 8Œ0ÿÿ HÄÿøÿÿàÿøþ Hÿàüÿÿÿàø @ ÿ±TÕ9‹QÜr¢a«9ílf®1¢f€0  LÜ—¥'‚`FLràÇEsgB•eˆAÿÿà „""‚Bèh„„*$bˆ†¤HBbÄÿüð‡¹)Ú·Rf»ªr9#¨¡3jW2 ÊvÌ¥K†äö¼vÏèŽÝâðêÈhÅ‘sãÌ33‰"µÉìGN@tNaB^aÃi«¿ÿþóGh½SE«[3`ås U°^µã6NÙCjm»8dÚ¬bÁKx @ @ÿþÿàþÿÿÀÿø @ @ú@ÿþøCÜ”í[©3]Õ9œ‘ÔPÆ™µ+™e;fR¥Ãr{@Þ»gôGnñxõd4bȹñæ™Ä‘Zäö#§ :'0¡/0á´Õßÿÿù£´^©¢Õ­™°r¹*Ø/Zñ›'l¡µ6Ýœ2mV1`¥¼ @„ }@ÿÿð?ÿÿÿàü @„ |àÿþ¡¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÌÿúÿÿÿÿÿÿÿÿÿÐoÿÿÿÿÿÿÿÿÿÿÿÿÿÿðüÿÿÿßÿÿÿÿÿÿÿþúFÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿWÿçÿÿÿüÿÿÿÿüˆ!ÿÀÿüÿÀÿÿøÿˆ!HÿÀoÿÿÿÿÿÿÿÿÿÿÿÿÿÿô?ÿÿÿÿÀÿÿÿÿÿßíÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿù?ÿÿÿÿÿÿÿ€þá¿ÿÿÿÿÿÿÿÿÿÿò¿ÿÿÎÿø¿ÿÿÿÿÿÿÿÿb@Ôÿð?ÿÿð?ÿþÿÀb@Îÿðçÿÿÿÿÿÿÿÿÿÿÿÿÿÿý_ÿÇÿÿÿð?ÿÿÿÿ÷û†ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#ÿÀÿÿÿþÿÿÿÿÿÿÿà?´oÿÿÿÿÿÿÿÿÿÿü¯ÿÿô?þ?ÿÿÿÀÿÿÿÿÿÀ€Aóÿü÷G„äøE’Y¢‚!Kg`f‘ºuδrLH"×PE@2ÓoëæàëÆXµq!dK/8ØòÖ(b4.ñÔ«[Ãré”c¿ÿþ÷†‰¶hié$nWÝgZn ]zgò‰©#¸ø•Õã´7777BUFRŠb€Ž4Ž}EPhp)mx‚Ørpà&в&ÀË–A A! !Ü!è!Þ!é£    à –¤A A!Ñ–¥ A!Ж¥ A!Ï–¥ A!Ζ¥ A!Í–¥ A!ì–¥ A!ù–¥ A!î–¥ A!ê–¥ A!ú–¥ A!û˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ˜¥ A˜ÿ™¥ A™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ™¥ !Ò!ÓA™ÿ †!U0äÌÄ€U0äÌÄ€U0ÐØä€U0äÌÄ€U0ÄÀàØU0äØÐ€U0ÌØÐ€U0ÔÀÔ€U0ÜÀØ€U0ÄØØÀU0äÌÄ€U0ÄÀØÌU0ÐØØ€U0ÔÄä€U0ÄÈÈäU0ÐØØ€U0ÌÈÔ€0ÜÈ€€U0ÄÀØÌU0ÌÈà€EÄÈÀ€=4äÄÌ€9hÄÀÔ€U0ÔÄä€U0àÈÄäU0ØÔ€€U0àÈÄäU0ÈÈЀU0äØÄ€U0ÜÔЀU0ÐØä€U0ÜÔÄ€ÀÜÈ€5`ÀÀÄ€EÈÔ€€U0äÈÌ€U0ÌÀ€€ \ÈàØ€ƒ€ú€( 0À’I%$’JI$–ÐF<ôAEAŽ<óÏ‚vߎyA».:»B–׃ W‡ [o†C T ü‘ jr»K« ±ƒL MÃv£jnUÈ }jnbz 5mÙ?v?zâ§ÐO“ ´RþÃ¥ —à˜ â°xs |&ÑòÁ8º: 5@Ú".BÈGÀ±ú€)Yð #œÒÀ®Ý Bž° ‚£¹úÁ iP,– ÝQÿá½, à õ»Lø€aîP7{ ãª8Õ5AP m½,XAÀ+ÒÀ c »À§  )¨ qW~òÁ8ï쇹A¢³Àe,··bL@tkï¹O¾áèLODh}Ÿô>áèÕ^| …q [ÀÀõ Ý‹î[€õØÆ†èóàc±…B¢gøx“«Â€Üajv¢Ÿ@(›º¼4ƒÁ@2¨’¨@Ü¥€ð´†BX"KEÅ mÁZÑ6!¥úê6³a¶{­Ò:h0ZÌÐáSK´PqÄ>-y¼Ù`QKƒ ÈÃŒ0¯0´Ü1¤– âX¹(xÒ R ¢l GJò¼ðxÿàÿàÄ€Œ`#ÀF0³•& ÎrŒÁ9Îs&sœ£9Î`€Fr¤Á9ÎQ˜'9Î`ÀNs”g9ÌÀO0€Œ`#À1€À €@ €@ €H €@{m¶Ûm¶Øm¶Ûm¶Ã bkãÛ„(ؽôpqcç éƒC8x½°L¡|{ÃC8r X&`ÇmBg€pcŠ44&^Óð£@8± ÌQ¯©(¼9‡ÈÄcŽ$ÄFoÈ`X™zÃB=(^€èò_ÁTC~…ÑM 釦Öéºdž:Rˆ–I ¨ï•q‘Üqžh’\ÔèêN¦™Œ3Þé@'i@¢'»6WfÑk E-ÿø¨TLÿuxP‚ƒ -NÔSècp7W†x(BÕ2U€ð(” ð€PÈK €ðÀ€BÀÀ€BÀb<ˆ < 0À À€Cÿÿÿø@@@@@@@@@@@@@@@@€€€à        @       @@ÿÿÿð8€€€€€€€€€€€€€€€€ÄÿÿÿÀ€?ÿÿÿ€ b ÿÿÿàÿÿÿÀ`ÿÿÿ¦1ŒcÆ1ŒcÆŒcÆ1ŒcÀ°Æ1ŒcÆ1ŒcÀ1ŒcÆ1ŒcÿÿÿàÆ1ŒcÆ1ŒcÖ1ŒcÆ1Œc` @ÿÿð(oÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿð?ÀF¡¿ÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÀü;ÿÿÀPãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿçÿ _ÿð @ÿü}ÐÿÀÐ @ŒÿÀ€èeB$ެ*$¢ #É$C*$p•aPÉ%I–I?ÿü $„@ b@ÿü†T"Há*¡’J ’1,’@t2¡G V ’Q‘‰d“ÿÿÀÀÀHDÁ @ˆÿÀÿøÿÿÿÀÿð€A@?ÿÿàüÿÿÿÀbÿü ¤ÝDЦ(è„P¸%¯kÜ8ïŒ6:‘œBba½ªBJ•©é{†½ÎèÁÆ‹æËÿÿÀPÛmM±Â7p9“$ @€ÿà?@B[Ät*Z9ûr(;sB4Bø!“jqÔ"š# ³JÜZ’#ö„/-§±°#0Ÿ¹-Ÿ³–'’H&+±'H& ­&†™¤¶ /¯ÀÿÿüëLPxNHNNBTNRLVT^ZTDBd€hnZdB|HPTx€` uÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?@B[Ät*Z9ûr(;sB4Bø!“jqÔ"š# ³JÜZ’#ö„/-§±°#0Ÿ¹-Ÿ³–'’H&+±'H& ­&†™¤¶ /¯ÀÿÿüëLPxNHNNBTNRLVT^ZTDBd€hnZdB|HPTx€` uÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?Ò?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿòÿÿÿÿÿÿÿÿÿÿÿÿùÏìîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿà?žPÊOÿÿÀ~ðßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿú8þÄ€ÿàþÿàÿüÿ€Ä€¤ÿà?Ø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿò?ÿÿÿÿÿÿÿÿÿÿÿù_é¬ÿ(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôÿÿÿÿÿÿÿÿÿÿÿÿà?“TªGÿÿÀßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿþÄ€¨ÿàþÿàÿüÿ€Ä€œÿà?Ø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿò¿ÿÿÿÿÿÿÿÿÿÿÿùoì©ÿ8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿà?’\¥ÿÿÿÀ ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ ~Ä€$œÿà?€;‰•"ô²©ú+›Ð£&x/,à²Î`˜ˆÒ'7ÿ)ný‰ î ‰Ë),IJèoI*è rŒëêð #+ ć¨)æÍè¬l.ÿÿÿüc˜6À±c&Éž8`ÑóN«0lˆ¢oÊo_omÙm¢m~m|mžmØn#nnõo€pp¿qkr!rÖs‚t%t¹u8u©vvJv€vªvÁvÃvµv”vcv uÇuXtÛtVsÂs!rzqÑq-poøohnèn{n!lõlÂl—l‰l¡lÒmmim×nVnäo„p5píq©ros8s÷t¦uBuÈv|Ó|X{Õ{Dz¶zytxÉxwVv™uÕutlŒkék[jÌjCiÂiQhìh„h)gÌgogf«eöe‘e.dÎd{dDdd"d2dYd„d©dÒdòe+eweÏf8f§g'g«h4hÂiJiÓjckkºlxmAnnõoÌpŸqhr0rðsµt†uJvv§wMwæxpxÿyxyÝzKzÅ{K{Ç|0|’|ê}@}“}â~%~f~§~Û@d‹«ÂÕØÙʬŽZ~Õ~|~}¨}-|­|&{˜{zhyÇy xwwÃwvZužtÞts}¿}3|¥|{uzÐz*y|xÆxwUvuÊtûts;rWq~p­oßonYm®m llkÞkQjÐjXiâiqi h¤hFgíg—gDfÛf„fe’e'd·dHcàccZcQc]c{c™c²c½cÍcñddudÚeCe¿fGfÛgphh˜i-iÆjqk:l lêmÍn³opeq;rrÊs’tWuußv—wFwàxgxõysyâzPz¼{={¶|'||Ü}0}…}Ñ~ ~\~˜~Ñ9fšÌü€+€U€q€Ž€ž€¨€Ÿ€†€h€7ó­T~ä~k}ç}\|Ê|3{–zîzIy—xÞxwXv“uÇtñts.rKqpp˜oÎonXm¨m l}kïkjjòj~ji³iLh÷hšh=gêgˆg3fÏfieøeed¦d*c¸cRcbôb÷ccc0c8c>cLctcÀddƒdÿe€ff«gKgíh‡i!iÊj…kQl,mmþnëoÅp”qdr7ssÈt‚uFv vÆwqx xy yyöz`zÎ{J{¹|&|z|Ñ}&}v}Á~~A~u~«~Ù 8u¨å€€H€{€¤€Ã€Ý€ì€ë€â€Á€œ€h€¿`~ì~f}Ó}E|«|{lzÄzyZx–wÎwv/uUtos†r›q·pÕpo>n„mÞmDlµl1k»kLjëj—jAiôišiBhëh‹h4gÊgeföfƒf eÂe?dÄdMcØchcbÄb bŸb¥b¬b´b¬b­b«bºbäc&cycÝdEdºe@eÑfdfùgh&h¿i`j j¿kxlBmmûnØožpcq*qæržsNsþt¬u[vv°w_wëxexØyHy´zzizÅ{*{™{ò|F|‹|Ï}}X}›}Î~~.~^~‡~±~åJ{±ç€€Q€~€§€Ñ€ó"'€ù€Ê€–€Q€›+~¸~0}®}$|–|{izÖz1y„xÉx wIv‡uÁtéts5r^q‹p»oüoGn¥nm}mll)kÐk‰kKkjæj£jgj+iÝi•i>hàh‚hg«g8fÀf@f%e‹dõdkcâcbbêb’bYbHb?b=b9b.b"bb#bFb‹bàcBc²d8dÀeTeòf˜gvæw…xx™xûygyÐz+zyzÜ{?{¡{ñ|;||Â}}A}t}¤}Ï}÷~'~R~~¯~å!ZœÑ€€B€w€«€Û$DSWQ=€ð€¬€Z€”~˜~}‚|ó|]{È{.z†yØyxWwvÂuéut"s9rYq|p§oão0n•nm…m l­lil3lkòkÈk¤k€k@kjµjbjiŸi1hÀhLgÌgJf¼f¸fehdÈd*c”c b‘bn¤nm°mOmlälÓlÄl¶lµllzlOlkÕk‰k*jÀjRiÝihhîhkgägXgdf¾feYd³dchbÕb\aüa¹aaqa]a@a`ñ`Ø`Ñ`êa"alaÓbCbËccdd¢eKeþf±gghhÌi‚jFk kÍlmTn&ooÐp•qLrr§sSsötu(uÏvyw wªx+xžxöyIy¤yôz6zxzË{{e{ {Þ||E|w|Ÿ|Ã|Ý|ý}}<}]}‰}·}å~~V~“~×] Ü€€[€Ž€Ê€ú&Qt §¢ŒsM€Ê€w€³<~½~>}º}6|©|#{’zþz[y­xôx1wqvžuÍtñtsBrlq¢pÛp+oo nn-mÜm²mm”m¤m´m¿m³m©mmgm2lélšlBkÞknj÷j‚j iih„gúhgff·eóe1dic°cbqaðaaIa`ò`È``U`$``$`S`¦a ab.bÐcd7dõeµfwg?hhÊiŽjYk%kïl·m„nTo0ppÊq†r8rÞsƒt&tÃu_uùv£w?wÐxOx¿yy[y­yüz8ztzÁ{{J{}{´{á| |,|J|c|{|˜|¯|Î|ò}}L}‚}¿}þ~E~‹~Òi°ú€9€{€º€ñ,Z„ ²º½³£zD €¾€cûŠ~Ž~}|ó|l{Ý{Kz¯zyCxw´vévuAtqsžrÓrq@p–oôoinôn§nwn[nVnpn‡nŸn¿n¿n¶n•nhn/mìm•m1lÅlVkÝk^jãj\iÔiEh¯hÆh/gŽfàf*egd¥céc5b›b a•a)`Þ`¨`x`G_ø_³_w_S_G_]_œ_ì`]`åab%bÓcƒd8døe¿f‡gDhh¹imj(jâk¦l\m m¿nwo=oÿpµqcrr s5sÇtWtÞujvvŒww›xxxÙyyWyšyÑzz9zsz¬zê{{C{i{‡{©{À{Ù{é{ö|| |5|P|l|‘|¸|ß}}I}ˆ}È~ ~U~~å)x¹€€G€„€Ã€þ1]ЦÁÐÔÙÑÄ«„J €Ä€r€¦6~Ã~M}Î}S|Õ|`{æ{bz×z>y xöxHw˜våv-u~tÆtsbrªqúqNpºph hÐijMkkËlŠm>mðn¥odp&påq™rArÚsottuuŸv/v¿wNwÇx8x¢xöy2y[y•yÌyýz%z^z‰zÀzã{{!{9{R{U{e{j{{{‹{Ÿ{¹{Ô{í||<|j|¢|Û}"}c}«}÷~@~“~Þ3zË€€^€¨€ã&_µÎßíøûòÕ°„O€®€Pç}~‹~}}|—|!{£{ zyøySx¯xwhvÄvumtÃt sOr¥qûqkpäppp*oóoÕoÃoâpp€…€ËK}®Ôèÿ‚ ‚‚‚ øÚ°z:€õ€¤€8Öa~î~{}ÿ}Ž}|¯|<{Î{TzØz^yÒyJx¸x,wwvtuÓu+tˆsÝs$rƒqôq~qpÔpšpqp^pwp²pîq&qMq†q’qbq#pÔp´ppzpRp$oÑogon«n8mÐmXlèlgkäkUjÌkjqiÏi hpg¡fÓeîe d(cFbta¯`þ`P_Á_S^å^Y]½].\¦\@\\-\|\ü]§^q_O`EaAb7c4d*e!ffùg×h®ixj‚'‚ óÖ²{6€è€‘€9Ón~ú~Œ~$}´}b} |¾|_|{¯{[{zÌz¸z¡zyŽxÄxxdwkuóusuDtRsìsÏs€sršr.r9r€rÙssrGq¸rpìn‚nSnµnƒnmên4nîo£p3p½pîqqpùpÊp}p(oÌoto n­nGn`m÷mmlŠkêkCj~i¬hÃg³f¨e‹d€cfbQa,`^ó]Ú\Ð[ÃZ‚Y WVU,TµTˆT‘TâU¦VÐXBYä[‹].^º`KaÙccd¿eõghhúiÔj¯kƒlPmmÌn}o!o¼pOpÞqhqêrvrþszsötstûu}uívXv¸wwvwÅxx\x¦xìyy7yHy@y&yxÝx¶x”xxyxkxZx6x wÔw©wxwOw.wwvùvñvùww!w?wUw„w¬wáxxVxžxåy4y„yáz7z”zî{E{œ{î|<|ˆ|Ñ}#}i}¼~~c~Ä!ˆí€Z€È1–ð‚A‚†‚¬‚ł͂À‚§‚…‚f‚?‚&‚ 彎Z€Å€j€¯K~à~x~}°}W}|±|V|{¹{‚{ƒ"‚ú‚É‚ ‚u‚N‚'üË’T€½€e€ ²V~÷~Ÿ~9}Ù}y}|½|Z{û{¢{X{z™z‚{{1z'wHutOr¤rSs÷u@uYt­t[t„tÒtîtßt4sÉttRtJs¨s s™s„qšošnžm¡nppp‰p~qaqšpÓp2pºqqrlrŸràs(susÍt't‡tàuCuœuûvRv¬w wgwÆx*xxÜy5y‚yÈzz2zTz„z¶zö{?{‰{æ|E|Ÿ}}†~~˜4Ñ€p¤‚4‚¹ƒ)ƒ{ƒ¹ƒè„ƒüƒãƒ°ƒpƒ2‚ö‚‚‘‚U‚Éq €¥€/Ëb~ª~V}ý}®}c}(|Ö|Q{ƒzŠyxšxFvÇuˆtôv x xvuBtct¼tñt”tsçs»tCsqÂpxpµq]rCrFqžrr pHmælqie¸eWf¨hsiŽj±kàlglºm¤n±oMowp9p›pLoâo€oHo¬p:pdpqpbp2p oÛo¸o˜o‡oPoiooo‘ozoPo n°n7m•lÉkèjøiôhèg¼fŒeOdb½aZ_ô^y][ŸZ;XßWoU±SÁRP¶O€NˆNGNêOþQVRéT‹VQX‰ZÎ\·^z`xb\d)ef¸gïijkkál»m™ntoLp pÙqÆr•s9sÔt^têu{vv¢v™vLvÉw=wYwewww‘w»wÚwüxxCxixxªxÂxíyy&y!xñxªxVw÷w—w(v¿vjv,ußu‡ut±tDsâs„s.rárˆr7qêq®qxqWq?q6q:qKqfqqÉrrMržrûsVs´tt~tÚu?uŸuøvXv¨wwdwµx x`x­xøyAyty¡yÁyÞzz/zrzº{ {b{¼||†|õ}t~~>Ý€}»‚I‚ƃ7ƒŒƒÐƒý„„%„ƒèƒ°ƒkƒ4‚ø‚Ê‚“‚Z‚¾^€û€•€)ÂM~õ~—~M}÷}¨}W}|©|]{Êz«y²xpx w vÃw€w^wãx“wçv=trÞss¾s:s s;r¤rwr¹sr=om¹nÅoÜoÏozpp0nÆk°hØfFd cUdPf?g”h}iOiÑiáj:k¦mÁo*oÙp5oÉnðn·n×nïo`oåpo÷oÒo¶oŒohoKo=o9oBooLouo£o¿oÀo²o†oAnìntmÍmlUk{j™iŽhkg[f!dâc¢bXa_^=\Ý[‹ZHXöW¥V.TrRÈQbP-O;N¾NìOÝQVR±SñUlWOYo[r]M_ZaNbÚd[eœfžg±hÊiÕjÎk¬l„man=ooÐp˜q]r2rïs‘t*t¦u#u£v%vöwywYvOww’w±w¶wÃwÆwÛwùxx$x=xcx}x—x³xËxæyyyxÔx†x0wÒwnvýv“v4uëuªuOtèttts›s8rárƒr-qÓqyq$páp­pˆpnp^pbplpp¤pÏqqEq‘qár8r—rüsZs¿t&t‰tïuLu©uþvPv¥vôwGw•wÞx$xix©xâyy-yIy`yxy£yÚzzlzÀ{{{{Ù|A|·};}Ë~e¥€J€åz‚‚˜ƒƒqƒ¿ƒô„„4„8„%„ƒÑƒƒZƒ‚í‚´‚}‚Dò¤=€Ú€m€–1~Ø~„~?}Ù}ˆ} |’|{Ý{Ó{ z0ydx“xwèxÀy.xãxiwÑv^twr&qrrÎrƒrzrÙrŒrqÇrt#t\q¿mòl•lôm«m¶mÜmàm@kShMdôbI`Ö`”aêcöeæg7g’g…g‰h iQkrm»o‡pko÷nÀn4n^nÏo%oGo]oRo8onúnÙn½n­nªn¶nÌnónÐo!oao£oÊoçoãoÃoŸoUnánMm«l÷l(kojvi>hfÚe¤d2bÁao`^¸]X\Z±YfX&VÑUMSÆR[Q%P=OÎP PÝRSdT˜UãW{Yc[‘]Ì_ûa¤bódVe¯f×gõi jk&kûlÑmÆn·oupIq+qÿrÏs…tt©u(u£vv£w˜x5xNw¢wÂx"xGx1x*x'x*x7x@xDxQxmx‹xxªx½xÖxóyxçx¬xSwðw‹w!v¦v3uÛuu:tÐtXsÝskrþr“r(qÂq[pùpžpJpoÍo§oŽo‹oŽo o½oâppTppðqMq³rrrésRs»t't‹tñuZu°vvUv¤v÷w8wywÂxx=xmx™x°xÂxÒxëy y>y…yÎz%z…zè{P{Æ|A|É}e~~¬V€€¬Në‚z‚÷ƒcƒ¼ƒø„$„;„B„A„ƒðƒ²ƒxƒ:ƒ ‚Õ‚™‚]‚ ´C€ß€s€ š3~Ð~x~%}®}<|q{~z“zqzúz´zDy¡y:xÛyyy„x¶w«uÅtrp[p6q±rHrerrrqÏrTrísÈtspønSlIllk°kiñgöe5bb`U^è^h_xa“de˜eáeìf?g;hÄj¶m oZp_oànšn?nnro!oAnònˆnOn'nmîmÞmÎmÙmþn4n…nEnÍo.oyo¦oØoÜoÜoØoœo@n¿n/m‰lÜljk®i÷hïgÿf•d™caÑ`†_0]æ\‰[1YùX½WVKTóS­RQ¤Q7QnR RæT UUV¦XBZ[\~^=_üa›c&d£eðghq×q÷rLrìrârŠqðp‘o±nil”kZjhïgªfd/aú`&^Ù]£\ò]n_+a»cÌdÔefTgKh¤j'lBnuoêoöonmæmÜnFnQn m«mQmlìlÄl¢l”l¤lÖm5m»m9mþn‹nñoKo—oÀoÛoÖoÍo°oQnçnmímlkiúihžfycùc b]$^Á`\aècbdÅeýg'hEiMjUkoldm3n ooÔp¯q°ržspt t¿uFuÁv*vˆvÖwAwÜx|yyAy6xÒxêxåxØxÊx´x¦x x–x‰xˆx“xœx›xžxŸx¶xËxÆx›xKwìwzwv˜vuŸu:tãtzsÿswrðrwrqqp™po©oAnãn“nRnmømÝmÙmámún nXnšnão9o”pprpìqfqârTrÅs1s–söt]t¾uuuu¾vvAv~v¦vØww@wfw†w›w¤w¯w»wÓw÷x'x^x¬xýy]yÇz5z´{A{Ö|o}!}Î~ƒ=ñ€Eæ‚v‚úƒdƒ¾„„%„@„I„L„:„ƒÜƒŸƒgƒ4ƒ‚΂•‚Jð…€¡€4ÆZ~ó~Œ~}˜}{ôzÝy x%vÍw$y y•y»y¼y”y$yy3x5t‹p>no>pÒqÙr‚rþrÑrqrlr—rõs,rµqéqo†mƒl‹lk{jwh§f³dÚc+a¢`'_ ^]8\‚\\V]¶`bÊd¥eÁfËg§hÉißk‚mn±o†nìmùmºmÃmÚm¿mYlõlvlkÎk†kGk kkkakÑlrk„l›m nUnño\o¡oÍoÏoÞoïoáoo/nÝl¿l!k=j^iÖhZeIc¹c†bÁa‹`D^ÿ]º\Œ[hZWY]XxW¤V¹UÈTòTRTTCTÁUqVFW8X`Yï[¿]˜_P`ÚbGc»e"fYgh—iœj­kÆlÈm®nŸo|pCq3rAs*sðt¢uAuÂv-v’vêw#w†wÝx`xÿy©zyÆx·xêxþxúxæxâxÏxÂx²x§xžx¢x›x–x•x£x±x§xtxwªw4vÀvBu¸u=tÖtutstrßrVqÕqepìpjoåobnèntnm¿mzmBmlülølÿm#mRmmÙn1n“nøonoêpspïqxqþryrésWsºtttÚu0u}u¾uòv"vCvjv‘v¾váv÷wwww*wAw]wŒwÆxx]xÁy-y¤z-z»{\||°}l~2~죀X©‚G‚ЃKƒ¤ƒè„„/„?„@„4„ƒãƒªƒsƒ?ƒ‚Ü‚§‚[‚—"€©€-¹M~â~s}þ}F||{bzmyx#vžuˆv x(yay·y®yix›xyxÈw˜t³rJq6qÝr¤rÔrÀr€rArir«rñrçrpío‘mÞlªkÔk jpi„gäeÉca—`$_^F]]\y[È[k[k\=^saÀd†f g1h=icj\kšllm¬nªn5m m”mwm?lül‹kök]jïj€jiÌi–i†i™iÌjj¯i²j´l,mƒnroopo¶oÇoçpSpspup3o×o¯lÅlplkiÕhRf/ed´cÞbÔa¬`|_C^\þ[ý[ Z%YmX¼W÷W2VpUËUvUmU—U÷V’WEXY:Z§\S^_€`Õb*cdãf gh1i=j:k:loÀpPpÙqhqírnrèsZsÁttdtªtîu"uJudusuquuuŠušu¬u¸u¼uÂuÍuÙuèvv/vfv¥vñwIw®x$x¦y9yØzy{){Þ|˜}[~~܈€9€ã€‚‚¥ƒƒpƒ°ƒÚƒñƒþ„ƒûƒêƒÕƒ³ƒ‰ƒZƒ2ƒ ‚Þ‚¥‚\‚™"€¢€ª@~î~™~}c|˜{´zázVyÔy‰yxÉxBw‘wÎxZxóyUxÍw•w‰w}ujs›s~ses.rîrÈr‰r6rrrGrsrxžxþyAyçz^zä{z£zzXz|zyÍy®y—yiyAyxíxËx xx`x`xjxcx=wéwrvîveuÔuBtµtv¡wwƒxx¦yGyûz°{g|&|ñ}²~v3倕<Ö‚a‚׃6ƒ{ƒªƒÇƒÐƒÓƒÓƒÌƒ¸ƒ›ƒ}ƒYƒ4ƒ‚ꂵ‚m‚¨&€§€!ŸE~ñ~ª~-}l|—{Ãz×zdzy¹ywñw-ww xxëy7x¿wèw§v®t=s sTsds(rær°rhr1rmÇnXnßosppœq.qÁrCrÎsAs¥sôt4tftŒt«t¯t§tŒtht>t.t&t0t2t9tCtRtat€t§tßu"utuÖvCvÃwGwáx‚y3yáz¨{q|0|ø}½~|9怒6Ï‚X‚ŃƒQƒzƒ”ƒ¢ƒ¡ƒžƒ—ƒƒyƒ_ƒDƒ(ƒ‚ß‚©‚g‚¡ €š€Œ!~º~H}Ì}M|f{¦zàz]zyây!wau¯vTwCxÑy[y_xêxTxu¿qµq\r=r’r¤r°ryrQrLrgrjrIqÀp-n™mÇlâlkVjwishRfèe=c¥bLaK`v_º_^†]Ì\Ó[´Z°ZPZxZä[n\•^Äb%e6ghdimjk±lÜm¡m®mämûm›mClÐljüiæhÏgÈg3fõg)gŽhhchÁiiPinixiójhjàkZlOmŠn°oƒoþp;p:pMpIp…p7oÒoÀoImèl:lKlk`j¯iÌhégøfôeâdÐcÐbÀa´`±_¯^Ä]ú]@\‰[Ü[9Z©Z*Y´YJX÷XºXœX¾XþY>Y¥ZL[F\v]¿_ `7aLb`cyd†ef‰gyhyisjpkllTm1nnÔo²p„q=qçr¡sƒtnu;uÔvOv²wwjwËx"xƒxÊy#yŠyÎzzdz­zÙzõzøzázì{#zýz@yÑy±yÏyÈy¤yty=y xÚx­xxLx+x x(x'xwÀw^vèvauÓuBt­t%s¯st†tåuHu¾vƒ.ƒ‚ö‚Ñ‚š‚Y‚ª8€¶€;ÁT~ä~g}Ã}8|â|1{Œ{ zŒz>z yøyzx^vîwIwÿx×yxÉx”xXxAw‚s¯oioòpäq6qtqÎqÿrr>rrrr^q°p»o$m˜lãl_k¬jþjOi‰h”gIeÒdRcbaG`·`$_›_^ª^"]W\S[UZ§ZkZ[[˜\!]^ãa«d«fçhCiCj`k€l¤m\momxm¿mÚm—mblõlkKjRiEhNg”g9g3g†gÛhHhªhúiDi}i·i®i²jŽk kfk†l2mcn“o†pp\pcp_pLp‚‰‚À‚îƒ ƒƒƒ#ƒ'ƒ0ƒ6ƒ4ƒ>ƒ3ƒ)ƒ‚ñ‚Ò‚ž‚g‚&ÊR€Ô€`ÛX~Ù~@}š|Û|P{ú{czÂzUzEzzyÒyxIx„x½xÄxXwÝwwwOvZqænocp-p`p­pÒp²p[p‡q*qnpîo_mülélkej¯j9iÇih$fäekdcba]`Ó`b_à_g^ü^¢^]3\6[QZÏZ˜ZÑ[1[¾\R]^-`Bcyfg˜i j¢kßm>mÚmˆmgmm‹mƒmimlOk…j—ižhÇhgÌgÇhhSh»iici·iìj jj)k4k°këkól_mRnxo‹p1psp‡ppjpIpRpWpAon&mlÞl²l[kÀjÿiþhðgÜf¸e—d|cmb^aO`X_q^ª]ð](\n[Õ[SZÖZXYØYtYTYaYoYYÝZ|[w\ª]ß_`-aBbLcVdieofcgShKiEjSkbl=mmínÕoÐp¿qƒr0rés¬tsuUv&vÂwEwwÊxx~xÍy y•z3zžz×{{B{]{j{n{^{Q{d{:zÌzzz2yöyÍy¨yxy>yxâxµx€xFx wÚwËwØwÞw»wlvýv}uëuItžsôsbrártrq‡púp`oÒoInÎnZmámelÛlLk¹k"jiþivhüh˜hLhgügêgëgôh h5hnh¼iiƒiýj‚k k˜l,l»mBmÈnEnËoRoÚpfpðq|rr|rås@sƒs°sÅsÁs´sŒsTsrÅrlqôq–qdqMqEqHq^qwq™qÍrrErŽrás?s³t:tËuhv v¼woxxÌyŠzG{ {Ù|š}Q~~­Në€ }Þ‚0‚q‚£‚Á‚Ô‚Ý‚ç‚ï‚ýƒ ƒƒƒƒƒ‚ê‚Ë‚§‚p‚2Ûh€ì€y€p~Û~1}³}|p{û{|zïz‡zXz+z y×yvy/y:yYyIxãx‡wÏvÇvÇu¤q-münôoŽoàp%oÒnîm$l5nodn,kji–imiBh»hQg¼fôeädäcôc$byaßa?`·`L_Ï_A^¸^W]¦\à\[XZúZÚZò[[€[Ù\]]C_:aÜd%fhCjMkámTmòm‚m[m­m§m¼mm1lƒkÉkj>iƒhîh¯h›hºhùiHiiéj*jpj’jšjÊkÞlFlilll mIn[oyp@pp¬p­pŸp|pepSpo7måmJmlÔl­l0kbjhifhBg!eýdÒc¾b§a`¢_»^õ^(]]\¨\[[ZuYðY¨Y‰Y|YwYŽYúZÖ[ü])^Z_†` a­b»cËdÙeÒfÇg¶h¬i°j¾kÊlžmdnFo@pNq@rr¸spt8tùuÅv“w3w¹wûx(xtxËyywz zŸ{ {N{{ª{±{¬{•{|{_{I{/zþz›z"yÔy™yiy8yxÙx°x”xnx:wôw¹w¦w­w¯w†w3v¼v0u•têt8s‚rèrnrqžq!p™poinâncmìmplólqkàkPj¶jiih’h/gðgÀg¦g–g“gœg­gÑhhJh¬i!ij!j²kGkÛlmlômxmónwnùo„p p™q'q¦r)ršrýsEsts†s~sgs,râr‚r"q¿q8p¿pfp=p/p0poOp7p¸päpãpÛp«pxpUpo3m¾mqm@læl«lBk”jºiµhœg~fRe-dbôaÝ`â_ø_$^W]‰\Ø\C[²[Z|ZYµYwYJY;YnZ"[(\S]^Ê_èabc(d,e5f9g*hi jk#l*lûm¿n²o¿pÆq²rus(sét«uovMww¬x(x_xux§xüyjyøzƒzý{e{¸| |!||{â{º{†{S{'zñz«ziz%yÕy¤ypy)xßx¬xxex5wõw«www}wwJvîvouÜu8t€sÂs rhqøqžqCpÍp>o«onˆnmƒm l‹lkˆjøjeiÒiGh¿hSgög¹ggxgmgjglgjg}gªgîhMhÇiNiÛjgjýk“l)l²m:m´n3n¬o.o³ph9g)fdócÜbÄaË`Ý_ð_^:]…\à\-[~ZÁZY‹XåXWXXQY Z.[i\­]ß_`?a]b|cŠd}egf\gPhDi,j#kkølÆmœn†opœqŠr?ssØt¦ujv3ww­xWxày yyy'yÕz’{!{«||}|Ü}}D}B})}|Ì|—|L{ß{Û|6|e|i|D{ñ{§{S{ zz+yºyLxÏx:w w&vïvÍv¡v6u¡utTs™rãr4q™q,pðp³pVoßoYnÄn4m£m!l¢l#k³kAjÚjeiöi€ih°hUh gÒgªgg}grgigXgLg=gWggõhvii–j'j½kGk×lYlÕm?m©nn€níogoèplpëq`qÕr6rrÂrÒr»r|rq“pïp-o^n~m«ml“lZl~¾(‡Û€3€{€Â€ý4_z›®ÆÙú‚‚‚/‚1‚5‚%‚‚ä¹{€Á€Nåt~ÿ~’~}£}1|Õ||!{“{L{*zïz½z–zpz$xèvÔuÀuÞuÎuòv]u…rqp×oþn˜l«j¡hÆg¡g:gIgKg™hAh‚gÞfPeee}ff´g#gmgŸg¢gDf³eádÝc¦b!`9^\_[[[ [#[”\b]8]è^=^c^T^@]á]X]7^’`’bTc^cŠc±ccCg~k=lrlîlÚmm'memgmoñpq>qÞr„sSt%tìu»v¥whxxšyNyáz$z0zGz‘zÿ{|#|°}(}­~*~‘~ï&HJ,~×~›~£~ðƒ€ €k€t€,)~ˆ~¯~}Þ}/|’{ä{zEyWxWwCvnuáuu-tµtshrÁr,qŸqp¬pEoýoµo]nün‡nmml‹lkk%jÎjƒj5iði§iji*hòh·h‰h^h9hgþgìgÜgÌgºg gzgeglg¤h h¢i8iÏj\ják[kÆl#lulÅmmHmˆmÕn+n‹oo€pp…púqiqÆrr rqÕqnpâp,oYnim\l-kjfjjjIj³k#kukÈl-l¯m>mÛn{oo…pp…q q«rXssät°utv?wwðxÂyˆzBzé{‚| |}}y}ß~3~…~Õ!m²ñ€2€f€•€½€Ö€îEs–±ÄÛåççàÝ¿‚[+€ß€’€E÷³_~ñ~Z}ì}š}O|Ó{Ê{{!{H{7zðzwxöv€tqs?râssþsîssr9p—p"poËoXnCljÖi;gñgf·gg9f´etcêcúd¿e§f‹fØgg‘h&hŸhÇhÊh†gîgeèdrbv`&]Â[ê[Z·Zë[B[û]^^à_n_²_³_[^Í_XalbãcEc.bÜaÆ_y] \~_ÆgtkºlŸlËlÇlÓmm]mlmimGml÷l¹l’lplXlMlRljl±lñm=mˆmÄmñnn?nÿofo¿ppJp‹pÚqqmqÝr-rgrcr+qÓqfq p·p7o¬o*nœnm¥m9lÎlgl kŠjèjihfìe¿d£c©b¬aº`³_Ì_^3]V\a[XZ/XÿW²V@TèTêV3WƒXßZG[µ]$^r_¦`×b c(ddÒe¬f‹gg`gäh±iåk²mµo¿pop®q qÃr^s sÙt™uev7wwÇxYyyÔzXz”z zÆ{!{’||³}A}È~h~õl¼ê€€+€ ì·µ€€t€¥€Þ €Ó€*ÏÊŒ~®}q|Ö|j{”z y•x‚w\vOuœu!tÁtRs«srxqðqepÚpqpoÃonon±nKmÑmZlØlSk×kekj­jmj&iëi©iti:i hÚh«hˆhehHh2hhgôgÞgÅg g€g{g®hhži7iÓj^jäkTk¹llQllÂlúm)mgm¯nnƒoo’ppœqqxqÄqîqçqµqNp¼po:nWmXlMkOjj(jj[jÑkKkªkòl7l¡m"m¸nRnàoToÁp5p»qTqûr¿sˆtQuuâv´wŽx^y!yÖz~{{‹| |‡|õ}R}¢}î~:~„~Òe¥á€€G€t€Š€‘€¥€úJgs|’²ÇÓÚÓ¬mQ2€ó€¬€v€<ö‰ ~‘~}ª}e|û|{<{ zÛz|zyFwÞv'tàt´tøutÜtsrposoÒoÌo`nWl×k?iÆhƒgdfºfÏfÛfd¦cÛd d'dFd}efggöh¥isr®rBqÍqYpäp_oÍo3n¡nm¢mlªlPkðkcj«iÊhÈgŸfoeMdIc=b:aA`]_’^¬]½\±[‡ZHXóWsUÂThTXU©W0X‘Z[{\ñ^Z_«`åbc(d dôexe¾fzgÝiól mZnGn½o9oÿpÅq]rr­sZttÕu›vXwwÏxoyyÞzª{3{q{ˆ{Æ|+|£}<}ä~“>ì€t€óFd™¦ÃâÆÀåö‚øò꼄!€D<~™}…|ï|Ž{ zšy…x6vùuÔut¯t%s‡r×r`rq†qpp o«oSnön˜n8mÆmPlÚl`kêkk7jëj™jcj2iõi¼i‹iai;ihùhÚhÃh°h—h…hjhWhTUJV¼XYmZË\8]™^ñ`$aJbmcgd=ee„eêgcik¥m m›mônKnÏohp'põq™rErîst9tðu¯vbww²xMxóy«zm{{•{Ö{ø|3|˜}}Š~9¡€>€ÙC¸‚‚ÿå‚‚<‚+‚U‚ž‚´‚–‚v‚a‚K‚,à@€q¹X~l}‘|ç|³|B{czgyNx vÜuÜu,tªtsrårVqõqq&p¼pIoÚomon¾nen mžm8lÇl]kök¢kYkjÓj‹j[j0jiÉi–iliOi4iihöhéhÑh»h¥h”h|h_h@hgògÕgèh*hži/iÅjLjÉk/kkÂkèkûkôkêkàkàkÝkûlPl»m7m£nn„nøopp†pùqLqoqPpøpbo¶nÿnDm…lÀlk¥krkŠkÑl*llÇmm&m@mgmžmán;n¥nÿoDozoÂpp‘q)qÜršs\t"tÝu›v`wwÀxWxÛyRy´zzwzß{<{Ž{Ò||9|j| |Ý}}a}®}þ~J~ž~ëCŽÕ€€3€T€R€3€€€T€•€û…ÃǨl3€Ø€¤€k€.ç$~Ë~M}Ý}Â}ª}K|Å|%{{"z}y‘xíx¬x‡xwrwMvúuÎt3rÄqïrrq®qpœpo]nŠmƒlDkjihg3fueÂe)d™d c¡cFcbïcc©díf‚h7i‚jŸkk\G\,\l\ò]ž^p_ˆ`³aÒbßcØdÎeYdÄcàb¾a–`%^¡]m\[sZÂYÌ[_3ceói j>j¤lElêlúlÀl—lVlkñkãköll9lSlol}ll¯lòmennÀofoçpeqPqÙrAr róssTssÅsýtt)t0tsÆs\ròr‡r"q¦q5pºp'onñnam×mllûl•lkŽjáji#hfðeÒdÏcÔbÒaÒa`8__^]v\^[%YÔX|VýULT TCU£W XhYº["\”]ô_M`‡a»bÒcÁdŽee±grjEk¾llëm2m™n nÒo‘pSq$qër£sGsîtžuSv v¸w]x x¸yez#zè{•||X|||º}}‹~~î¿€Q ·ô‚&‚D‚-‚‚X‚´‚僃ƒ!ƒ‚õ‚Æ‚›‚g‚2¸€ù€TÃ~S}§|è|h|Q|*{Œz•ynx)vúvuPtÈtAs¬rúr^qëquqpÉpeoìomnýn¨nMmøm“m&l²lMkîk¡kek#jêj›jmjHj#iîi¸iŽimiTi:i+iiihóhØh¾h¦h‹hehk lbl¶l¬lsl&kåk±k§k¸kÛkùl ll.lHl€lÜmNmÇnco/oÒpOpÒqÐrYrÍs3s†sÏttIt„t£t¹tÃt¹t„t/s¾sErÕryrq«q.pŸoûoTn±nm¥m)l¿l_d^q]f\CZùYžX/V¥TùT TŠUüWcX±Z [€\ê^R_£`ßbc)d!dÕeVfik k¼l,l`lÁmunPnýo¥poqOrràs–t=tåu›vWw w¸xoy(yãz¦{d| |€|Ã|è}-}~~¯˜€…¾‚F‚j‚“‚½‚ª‚¦ƒƒ^ƒƒ¥ƒ…ƒVƒ]ƒ7‚ß‚–‚V‚ÇV€¾Ò~¦}q|¡|#{þ|*|&{”z·y—xEw!vFuŸu tms±rûrfqèqqpÛppo†on n;måm…ml­lDkëk–kek?jþj«jzjMj+jiÏi¦iiitifiSiDi0iihêhÍh¯hŒheh:h'h>h†hüiŠjj¦kktk¶kßkëk×kŸk_k*kjékkfkìl_l¿m mQm¦mþno*oËp>ppÂp¯p_oço`nÐn6m¹mim=m;mKmnmm»mánnnn n2nOn|nÅoo+oFoqoªpp~q!qÞr§s{tHu uÀvuw w’x xvxÅy yay¶zzHz|z¨zÐzé{ {5{b{ {â|-|‡|ì}S}Á~0~¤ºá€€5€…€Ç€ï$„¤†„‡L €ó€©€Fü¥e~p}ÿ}ÿ}à}…|à|&{Å{szày½xÖxuxZx#xw¡uApén¯n8nžpoq8qœq¤q9pžpo>neml‘k’j¡i¼hÙhg>f•eöetedÅd±d¡dÈeKeÐf¾h&i~jk£llDlLkæjêiFg d¯b$_ã^F]™]¾^:^Õ_©`Âb cld§fggeëdc7aÆ`^ü^ ]^\[Z˜Zù]„_Žaf—j™kÙl|l£lalkÎk’krk{k’kµkÁkÀkÄkÞl*lµmTmânTnòo©p?pÃqKr[rÙsJsÀt!trt¹tðu*u7u>u+utætŽtsœs#rÁrjrq’q pio»onemÜmNlØl^kÉk jBiOhLg#e÷ecþcb a`>_^^_]S\ZÎYnWîV^T©SÿTÕVKWªXýZZ[Ð]?^¦_ìa0bfcd€e3fhNj!jÕk=k”llÌmn>n÷o®p‡qwrLssÔt€u6uñv¢wRx xÍyzX{{×|}|ï}2}\}¦~ ~‘1€=P¯‚‚y‚Úƒ(ƒYƒfƒbƒ ƒÎƒÝƒÄƒ‰ƒ{ƒƒa‚ó‚}‚F‚0í„€í€}Î|Ì|A|2|L|){žzÒy»xdw>v‚uëu?t€sµrórjqøqœqDpíp™p'o«o/n¹nPmìm‹m&lµlJkôk¢kwkVk j¾jˆjdj@jióiÇi·i­iªiŸiŒizigiOi.ihòhÔh­h…hdhWhqhÀi4iÅjUjÚkNk¥kÜkúkøkÑk‰k)jÑj”j}j¨kk‘llel¨lçm+mtmînyo#o§ppUp`p6oìoo"nµnZn$mûmëmémünn>nbnxnnƒn‚n‚n‹n²nëo o%o5oUo€oÇp,pÀqtrEs#søt¿uvvv³w;wªxxZx›xÙyycy¤yÒyìzz z3zVz~z°zï{8{‹{é|Y|Û}a}à~h~ðhÔ€)€t€Å€ð,vŽƒ™vQK€Ï€{€.ÑŒ"~µ~I~(}ñ}j|ª{ð{À{bzÞyÆx¢x wñw¿w(v2s¿p{o”oo˜pðq]qŽq qgp÷pDoŒnÅmñml>kej…i­hâh%g}fïf}f!eße¨eºeÙf%fghiAj{kll{l¶l¿lpkªjouoo–oxoZo=on÷nànÒnÖnïooEohoxoooYoCo:o9oAoWodoao[oSoRoio‹oÐpSqqÏr£s|tAtýu v-vœvþwPwŠw»wØwùxxDx`xrx|x|x}x€xx¡xÊyyMy yïzRzÏ{«|j|×}k~~Îuç€*€P€€€×0ŒÅÙÛÓÍ·Ž[&€ç€¢€[€ ¾j~Â~a}ú}\|©|{É{'zx÷wáw™vbt3sZrŠqèrrq©q5qq4qXqkqvqIpÞp`o·onWm°lúlFk¡jøjTi±i$hh5g×g¥g–ggªgÌh hehˆij,kOlPmm[mQml9jàifødÉbt`Á_û`<`¯aSb.cd[eÄfÞgvgÏgÏgMeŠc¹bûb/`Ü_–^u]_]J_o1o&o7oKo|o³oÞoìoâoÂo¥o™o—ožo¨o«o¦o™oƒozoyoŠoµpp±q{rIssìt¯uUuävWv¯võw/wRwfwzw‰ww­w·w´w³w¡w“w’wžwºwìx;x‡x¼y/yàzæ{¹||d|à}è~ü•ã€:€œR“¸Õòøöß¾’\(€ã€ª€[€Íy~´~R}Ñ}]|Î|5{Œz¾y¶xœwˆuÆt:srúrwr4r rqîq¼qÁqÀq§qˆq[qpp onÜn1m‰lçlLk²k(jjivhøh hihDh=hPhphšhçiiljj?j?j8j%j iéiÍi¬i•ioiRi5iiiiIiiÿj}kk„kôlKl„l«l¨l‘lZkük„jùj…j:j(je)f>gQhhgœf¡e9c÷bÀap`_›^8\Q[È^aýeµiVjiGhÿhìi‹j`kk9k[kikDk jÖj¦jojNjIjgj½k¢€€{€Ú,{¾ö‚'‚6‚<‚"‚âµ^.€û€Á€Š€1‡7~ñ~t}Š|â|s{éz¡yvxÄx!w_vWu\tOsÔsÖs¨s|s2ssrœrar3r qÁqFpÙp|po£o(n nm‹ml˜l.kÁkJjájjAiói«ixi_i?i7iQiŽiÕjrkClam9mùnmím„lÃk©jPhÇf²dbb™b#babýc•d.eeØfÿgËhGhg eÜd˜c¦b‡a†_ç^Ã\ý[²\€`éele€fhiQi hhËj k1kKk*jèjÂj¦j}jDjjjjOjÂkBkÔltmmÆnWnñop*pàqrr¤s"s¯tru uußv=v˜vïw2wew€wŠw|wjwDw v¬vOuõu^tëtdsÑs>rÑršrDqßq`pÅpoln¹nmpl³kðkjEijh{g|f†eŒd†cŠb£aÆ`Ë_Ò^É]²\©[‰Z^YW¾VJTåTŠU0V=WŒX¦YÐ[\U]Å_`8akb•c™d€e¨fÑgÛh1hkhäipièjcjñk§lLlûmÀnµoÆpáqìrçsãtêuÉv/v¦wMwðx›yfz]{?{õ|‹}!}µ~?~»C²€R ³‚ ‚?‚’‚ɃƒWƒ²„„0„_„„›„œ„Ô„ñ„Þ„Ì„¹„™„‡„k„'ƒÈƒkƒ‚Š‚«€sß\~ã~u}î}[|Æ|+{ž{zAy&wúwvXu¾u.t”sõsMr­rqLp¶pkp^pIpoËoyo n½nNmàmumlµlSkúk¢kPkjëjêjíjÕj´j“jƒjnjdjkjwj‚j~j{j`jKj"j iôiÛi½i i‰iwiwiŒiÅjjœkk llxlÀlòlÿlþlÔl”ljj.j„jÏkrlLmHnnfnAmýmZl~k>irfçd‡cˆc‹dd—e2e¾fhgQgøhŠh’gfed+cÏbüaå``^»[4\°aee€ióimggxhÃi%iIjj\jgjUj7jiøiåiÐi§iœi®iýjcjÚkellÈmbn n™o/oàpq!qÅrgröszsýt’u!uŸu÷vOv¬ww„wÌwíxwùwäwÁw“wHvÆveuÞuYtÖtsˆsr¤r/qÌqoq p‡oÔo$nhm±lùl-k]jih˜g©f¹e©d—c–b¤a¶`¿_·^«]›\h[CZXêW§VDUOUJUèVÔXY%Z@[G\“^_9`ma°bÖcÆdâfbg‰g¸gÙh*h±i,i›jj¡kNkûl§m]nYoxp¡q×rõsõtúv!v¸ww¨xVxùy«z•{|B|Ê}a}ê~}, V€A€ó“‚ ‚A‚|‚§‚½‚݃ƒKƒ…ƒÖ„ „;„c„†„–„Œ„ „DŽ̈́¸„‰„S„"ƒáƒŽƒ9‚Ñ‚`é[€À€CÅL~×~^}à}m}|q{Ú{'zQyxx´wùwPv¥vu]t»tsjr¼rq-pp,poÕoo6nÏn`mámelïlskîkrkjÒj¾jÍjék kkkjöjÓj¦jœj–j¦j£j¥j˜j€jcjKj1j ji÷iáißiòjjfjÎkLkÄl=l˜lîmm;mo‘nÕnmcl¤kÙjÿji)hvGwxx¼y¡zVz³{5{i{à|å}å~R~·UÚ€9€²kàÝ‚*‚‚‚™‚‡‚v‚]‚F‚õ²€•€0ý»,}Ø|ª{ö{/z‘zaz8yäy‹xqw“wv³v‡vuxtDsXsr½r‡qÝqNq³rrqâq½qqp¯ptpo¿o]nün­nenmâm›m]mlÑlŽlJl kÉkŠk?kjÿk#kLk€kÿl‹mœnOn¥nanmDkÞi_f‹e#dïeSe–ffƒgg­h`hòiYhÆgYedd¨dþemd¯cEae^ò[Ù\’`dMf[f/fáhahði2j&jdièiŽiZiXiZiXiGi6i4ijiÑj7jªk)k¶lElám‹n8nÕolp p°qEq×rss sœt#t­u*užv vpv×w/w†wËxxMxbxUx1xwÚww2v±v;uªuyåz›{w|L}}Z}Æ~K¹€ €Ú•ÿ‚‚ ‚*‚T‚€‚‚¼‚რƒ2ƒ_ƒ}ƒ¡ƒä„„$„2„I„r„œ„¯„­„‘„_„ƒÂƒyƒ9‚ô‚ ‚>ÇB€¾€FØt~£~@}Þ}j|í|^{Ò{+ztyÂyx”x wvÿv-u`t®sûsRr—qËpþp[oño®oqon§n&m ml…kûkgj÷jÅjäk'khk£k²kÆkÆkÆk»k˜kYkjìj×jÊjÈjÂj²jj„jyj\jZjPjNjPjejjÇkkkòl^l³lðmm6mHmCm;mlël©ldlk¼kpk3kjÚj³jj^j,iñi—i:hêh¦hhOh:h@hJhthžhÌi"i‚iâj`kkÀl„m:nnÇoDoÊpCp’pÌqqˆqÀq­qkqpÖpÍpÄpƒoþo'nmxm£n=nõo¡ppcpp¥p®pÈqq€rr´sNsÚtJt¥tâtútøtÜt³t{t>sòssDrârzr qŸq1pÜpªp¸qqkqürät uKv,v÷wêxÉy?ypzzÊ{ˆ|¢}h}¤}ð~uL΀€‚‚‚!‚Š‚Á‚¶‚ª‚‘‚x‚S‚(ð~€™€/é‰~Ë}¢|Í|{zzWz yÉyx/w¦vévˆu»uwutsNsrÄrOq¹q¬qŽr qãqÄqjq,pÏp‚p,o×oronÅn†nFn!n mØm¦mqm5lôl²lyl7kõk§kvkgkckxk•kÕlfmŒndn¸n”n1mfkzhÕf‰eêeôf0f_f¶g#gh'h¬iaiÂiyhf&dðdùe“f—fÅe¶cõaŸ_\c\„_ˆdZfèf}fFgÄhfhGi^iòiÇiVi(iiii hþiiDi¨j jvjèkfkálpmm»nhnþop:pÐqcqòr€ss£t%t¨u.u¨vvväw>wwÍxx6xjxxax;xwÌwrvêvuuñu}u ttsØs]ràrrr$qÃq/poÆonFmŠlÓl kCjgih™g¥f¤e˜d’c›b±aÀ`¼_œ^{]b\G[*Z XÝW¢V[U›UÒViWXY ZZõ[»\ó^d_—`Ìaìcdšf&g g-g0g_gºh!h€hÑi.i±jGjúk±lrmGn2o%pRq“rìtFu%uývÑwnwÜx‚y?yùz§{p|]}:}›}ì~T €€©}×ü‚‚*‚B‚j‚‘‚¯‚ǂ惃7ƒTƒwƒ½ƒÜƒë„ „9„c„„„›„š„„Y„ƒÓƒ›ƒ[ƒ‚Ø‚‡‚Ž€€¿_~ò~Š~0}½}8|½|:{¯{ zVy´yxŠwøwCvuéu1twsÍs2rxq˜pËp o¸olon±n7m§m"lšlk§kZkNkxk»kòl-lClYl_l\lClkÎklk2kj÷jèjâjÑj¹j›jŽjyjtjpjwj„j¡jÒk k`kÌl5l•lÙlþmm)m9m6m-mlîlµl€l0kçk–kUkjëj·jpjBjiëiŸiTi hÓh³hh‡hrhdhWhUhQh…hàiFiÜjƒkBllÂmn{o oÁp\pÊqqMq¯qêqÚq‘q*pðpàpÐp˜po;nUmÐmÝnFnìo˜ppsp¦pÇpÒpßqqWqÑrbssŒsútRt‘t®t°t–tot4sïs¢sIràrlqóqspóploúo´o²oêp9pÝrs=toukv3w8xxQx¿y¦zp{g|O|à}M}ñ~”lÇ€y¹‚Q‚L‚=‚~‚Î‚â‚Ø‚Å‚£‚„‚`‚%Æk €€(¹B~}|f{ƒzåzyz)yÞy>x¹xw vutøt¥s¸srÇr{rPqÆqQq=qÅq—q¦qnq pÒp‚p2oèo‰onÜn¼n}nts×sŒs,rÅrTqÕqMpºp$o’onÊn³nÙoGp#q6rZs“tŸu’v•w\wŸxxÚy¯z¯{o||é}¿~c~ì+Z€g‚S‚’‚c‚`‚¬‚ûƒ‚÷‚î‚É‚±‚Š‚Cå-€’€6øb}Ÿ|ç|š{ä{/z¬zTyøy€xøx'wvu]ut‹s¤srÚr°rhr4qëq¯qqq†rIqËqNpÏp‚pBpo·o}o5onÞn¾n•ncnBn múm×m¨m|mImlÙlšlll3lk½k±kól¡m6nAnImÿm$k~iØh›hXhRhgâgïh;hŠhâi/iŽjjojŽi{gŸeÿeºfagŽh™iAh¸f«cY_L\ò^ûaøbòcƒcmcbelg h3h–hái&ihÂh²h¥h¡h˜hh¡hòiUi¿jjjákPkØljmm·nYnùo“p0pÁqUqærirísxt tzu u•v v~vàw8w€wÁxx;xXxpxxxbx*wòw w&v±v:uªu9tÇt8s¸sHrørŠqïqIp–oÛonXmœlàl kPj„i®h¾gÃf¹e³dºcÌbáaæ`×_´^Ž]f\B[YúXÒW€V;U›UÈVqW'WæXÏYžZƒ[d\]B^™_Ó`ýbclef2fžf´fãgghg¸gÕhhŒii£j?jôkÖlÂm­n¬o¥pÈrsLt!uuývãwxGyyz.zà{Ò|ž}g}ñ~h~´~ÒL€€½.‡¾Íð‚%‚U‚‚˜‚¦‚¨‚¾‚ß‚ûƒ ƒ1ƒeƒŒƒƒ©ƒÃƒó„„/„=„?„<„$ƒþƒÄƒ€ƒA‚邇‚·F€Ô€f€˜-~ä~‰~}”}|Š|{vzòzgyÝy0xvwÙwSv²vurtÞtIsÖsrqAp–oþoƒon n-mÂmkm"lôlÖlÍlÖlñm$mDmGmIm>m/mlùlÃl˜lPlkðk³khk7kj÷jâjÊj¶j§j¬jµjÎjñk$k[kºllkl§lÉlÌlÕlÞlélílølùlîlÕl²lƒlBkókŸkSk jÌjjj iÒiÙi×i¾i—igiAii hçhÁhhZhgágÕgôhh’iRj jåkÞlçmºnœotp$pÆqKq¥qÚrr2rqáqqJq0qpìp–po—oFooocoåpWp§pÜqq%q6q5qFqwqÌr>rÃs:s˜sÞtt tsósÃs‡s?rçrvqùqmpØp=ožnùn[mäm¤m¼nAo.p?qtrÂs¹tëv vœvëwˆxRy"z${ {ß|}^~.…¶€hˆ‚q‚‚¥‚’‚Óƒƒ,ƒƒ‚ø‚ß‚³‚s‚Â:€¹€€]Š}ë}L|ù|={‹zøz—z-y°y!x3w'vfuäu`t–s©s rîrÎr›rorJqëpüp÷qÉqéqapœpoôoÏo¡ooo:onûnÞn¹n”nunLnmümÝm¼m—mfm0lïlÀl‚lMkúk÷l lƒlClRmQl)jÞiÕiyiªi¢iShÎh§hÔi+ifi™iÚjj„j×jÃirgff fÌhi)iÈiQgÞd1^ÿ]iaÓf‰g'eÜdpb5aŠcÉfÛh]hÙhÚhÇhzhhkhdhWh]hƒhÔi8ižiôjPjªkk¦l@lßm€n#nÂoZoòpqq´r‚é‚”‚Hø’-€È€b€¶=~è~Œ~ }¡}$|£|0{´{/z¤z#y”yxŒxw¬wvju¥utusøsZr{qÆq$p–poo8nÊntn.mðmËm«m¡m”m‰mm¨mÄm»m³mšm†mimPm"lñlÅl†lcl,kçk”kZk0kjújæjÚjÊjÆjÆjåjük7kskÀll`l“l¦l¥lšl£l¢lªl¶lÈlÐlÓlÃl¦lyli&hùhÓhh>gãgšgg”g§gÃhCiiÝjÑk½lÆmnyofp#pÔqdqÅqþr#rDrGr#qÜqšq‚quqYq6p÷pŸpOpoÍo¨o´pp|pÃpòqq9qXqjqnqnqƒq¸rrrr×s9s€sªsÇsÅs«ssUsrÏrjqöqypðpYo¸onhmÂm(l´l¦mmÎnØoýq?rvs‘táu­vv×w†wïxÔz{ {ÿ| }T~UIÄ€ €D‚‚¯‚ނ˂Ã:ƒKƒGƒ?ƒ,ƒ‚낽‚w‚ªB€ï€n~P}Ø}>|z{ã{KzÝzdy¼y$xew†v»vužu t2s…s4rórŒrPrYrcqüqpŸqqÏqžp®po¼oto6o8o+onénØnÕnÀn—n†nnan>n%nmêm½m„mLmlçl¦lSll l4kôkƒklk¬j¤iñiØj7jãj¾j:i¢i[iiêj8jOjXjrj«jëkj±i8g@eÝeóf¥gÑh™i!i„igcbÑ^¼a‘gZiPhŒfjda†`bãe•g¦hÃhÒh™hThTh4hhhh4hphÂiioi¿jjbjÕkNkàlnmmžn.n¾oJoÕpcpþq—rr¡s?sÍtBtÐuYuÚvFv¯w w\w£wêx#xLxoxuxpx…x‰x{xGwñw•wv§v8u«u-tÄtQsÔs]rærxqîqWp°o÷o@nmàm'lik£jÖiýih3gJfUe[dqc}b~a|`l_G^\ä[¿Z«Y˜XeWUöU—UÔVeW0WáX€Y8YþZÃ[¤\f] ^_M`ta±báde e´f(fwfÒggEgogˆgÎh9hºiMiájsk;lNmZnVoIp@qLrYs8ttóu¼v}wKxOy:yÆzz¥{–|r}}–~~”U¦â€.€¾0k‘¾ö‚1‚]‚v‚‚€‚‰‚œ‚³‚Ê‚ä‚ï‚øƒƒƒ1ƒJƒuƒŸƒÁƒé„ „„ ƒõƒ»ƒoƒ6‚ü‚½‚w‚*Úg€ï€‰€Oùd~à~‹~2}·}A|À|D{Í{_zãzayÝyjxéxTwØwUvÂuþu>t¨tBsÀrõr€2~ñ~D}â}<|‰{Ý{/z`ybxÃx#wVv¿vRuñu=ts¥s,r³r3q¿q-pno¾o1n]m¨lÖl k?jiKiVi7hâh¯hŽhwhIhgÅgyghgˆg»gÙhh@h‰ii¯j²kØlÕm¾nÊoÇp¥qnrr°ss?sdsusosDsrÛrØrÂrrArqþrr%rTrzrƒr†r…r€rjr]rZrbrbr^rPr)qöqÝqáqþr*rar„rŒrˆrorFrqËqnpüpwoêoHn—mÕml`kÒkk¦ll¸m=m•m­nnÿpCq˜râsÖtÒuÒwCy:z¿{Â|†}D~~´Vò€‡€üaÁ‚&‚‘‚ïƒ7ƒ€ƒ¼ƒßƒåƒéƒÝƒÃƒƒWƒ‚Ò‚«‚V°€~S}Û}î}§|ÿ|D{zzåzSy¥yxYw®wvsu¦t¹sÝrÞq¸pÌp+o¾o]nànTn¤o;o>n×n1nso}oóo½oMnõn”nAmúmÜmÞmùnn!n,nHn‰n•n›n}n]n1mïm®mXlälkllkþk¬k^jÅják½l´l½l~kÒkhk«l`lÝm2m&lÍlMkðk´kj÷i‡gfeÊfbggYg$f¦fafOeªc…`(_ `ÿe$gcfcgdg+gVfñfÁfÐgg;g7fôfÞfÅfÑfÞgg,g_g gðhIh¯iiŒiûjhjÔkcll m#m²n5nµoIoýpÍq—r`sszttªu!u—vvvâw@w‘wÓxx.x=xIxTxVxhxzxox\x2w÷w¤wHvåvsvu‰u tysßshrÛrNqæqHpºpVoÔnçn m‚l«l kLj¤iøhßgÀf¼eÐdÒcÓbËaÈ`¶_^D\å[³ZžYXŒW­VÞV6UòV&V˜W/WÐXjY YÆZSZÿ[ª\d]8]ý^¶_l`+`áa¨bxcVd:dßeuffg gšgõh=h_h~hÍiLiÐjYk"lmnooýp¬qPr rêsÃtyu3uæv–w™x“y%yÓz‘{6{Á|N|å}x~~¼Cµ€€S€S€L€×‚°µõ‚‚‚!‚#‚'‚'‚ ‚‚‚‚óîý‚‚!‚;‚U‚‚°ƒ ƒQƒnƒ¾ƒØƒ¥ƒuƒLƒ‚æ‚—‚Hñ“F€Ô€Vé™W~¡~}•}'|Æ|ƒ|({³{=zÝz†z yaxœwÒvåv`v]vu u:tþt¥tat@sís—s rµrvrGrqòq½qdq+põpËp”pSp&oïoÉošotoUo-o nÝn§ntnMnmþmÞmÐmÁmšm…mkmQmlél¬lvlRl2l'l'l@ljl›lÂlÅl˜lel2käk~kjtjjBj½kkCkGk;k%jîj¹j†j7iÒi+h“hJhhh¡hÃhÖhèhûhøhühÙh©h‚h^hAhgäg©gsgYgkg£gÍgìh2h‰hìiPiïjØkÙlÜm·n‘ocpDq,qßrŠssss¨sÈsÍsásêsÇs™sssSs+s rôrúss&ssss s srúrórérÖrÃr²rªr¥r†r\rqïqÝqäqþrr?rWrZrGr(qüqÆq‚q'p´p5o¢ongm¾ml‡lk»k¹kÿlzmmim²mÀnnÍoÚqrqs¯tãv8w¤xçyáz¶{t|8} }à~¥0·€L€½ˆò‚R‚³ƒƒNƒšƒÔƒù„„„ƒèƒ½ƒ‹ƒUƒ‚ႜ‚ T€~“} }´}ß}›}|f{®{zsyÙy-x¡xw~vÚv>u‡tŸs‘r†q™p¥oØo`nÓn=m©mmm¯mÿmÚmIman&oHo¾o†oSon¥n m©m¢mÇmÑmïnn(nGnmn…nn‘n{nWn+mìmŸm4lÓlzldl‰m lpkÈkqk¹llÅlÈlCkžktkÙlÑmkm®mµmnlêlPkõk³khj¯i-g9f e÷f}g)gkgf‰eÅeLdîdbœ`I_Ýa³e„gÆgdþdŽf×gJgfµf™fºfÞfÄf©fuf]fQf\fef}f¡fÔggPg¡gúhdhÅi-iiòjgjìk‡ll–mm™n n³oPo÷p¥qUrrÀssÊtitôuouæv[v¿wwrw¼wíxxx1xFx>xExRxPxBxwÜw”w@væv€vu¬uCtÖtPsÍs9rÆrzq®qpÀoþnÉn9mºlêl`k—jîj]i:gìf¿eÊdËcÔbÊa´`•_\]÷\—[dZQYVXmW¦VëVCUöV)V¥WDWïX“Y/YÌZm[[À\{]F]ú^²_d``ÝažbYccÓd}e&e·f3f÷gÈh3hzh¸hÑhöiZi×jOjûkálëmÜnÛoÜpq!q×r™slt;tàu…v9w(x'xàyzGzË{W{û|µ}_}é~‰, € €b€x€a€¥_¯³é‚&‚/‚Ò¸–iN1%Nvˆ‹–¸éð‚‚€ƒ9ƒ¢ƒŠƒ°ƒÊƒ¡ƒqƒAƒ#‚ò‚£‚Jö“*€´€1LjK~é~}~}™}|‰|/{Ò{bzëz|z!yÀy1xŠw×v÷v?uþuÓuoutÙtštrt‹t`t szsrÌr”rsr`r2qßq¨qnqJq3püpÐp‘pRp!oýoÚo¨o|oBonân­nxnNn0n+nmìm×m¼m¥m€mZm(lölÊl¡llml€lžlÌlëlÙll8kík•k4jÉj]j jjhjÊjòjôjÒj jVj iÀigh÷hjh göh2hWh^hohvh‹hh…hjhMh)h gãg¹g“glgXgRgig„gµgñhOhÇi>i¹j`kyŒxæxpxwVv³vEu¬tµszrUq`pho•nÞn m2lŸkõk©lljlým¤mlîm(nEnýon÷nemÈm†mmm’m®mÍmönnAnPn{nnn”ntnNnmÔmkmlÈlµl™lzlqlülkßl:ll:k¥kDk¡lxm†n n/nm ml`kçk“kBjIhf¨eØf*fàgpgŒfõfdÄcâc&aäa_±aŒeÜh'hQfyd”ezftgf¹fjfAfSfJf)feÝeÍeÆeËe×e÷ffRffÙg2g‰gíhJh­ii‚iùjkk£l&lžm(m¾nkoo¾pkqq¨r\r²sbt t¶uNuÂv'v‹vïwGwŽwÁwáwíwÿxxxxxxwèw«wgw"vÑvyvuÀulut¶tMs¸s3s r,q@pÚpoYnçn?m?lzk¤jÚiàhýhfòeàdÐcÚbÖa°`q_*]Ã\h[1Z/YHXvW»VüVYUòVV±WoX"X°Y?YåZ…[+[ã\•]?]ê^Ÿ_J_þ`ÇabQc cÆdxeeÆfXggôhzh¿hüiiMi­j jWjÌk”l¥m°n¶o¯piqq´rUssçtŠu)uØv¾wÖxyGyðz{1{ð|}#}’~;~õqÖ€@€„€¨€áI†¾‚õŒ€á€¡€W€H€#È€ €Á92W´Û‚‚¾ƒœƒùƒ´ƒ¯ƒ¾ƒzƒIƒ ‚Ò‚Æ‚´‚d‚–,€·€®y3~Õ~b}ù}‹}|i{á{pzûz†z&yÐylxÛx,w‹vãv%uu,tÒttnt\t:tetit&s¾s^s rÖrÅr²rsr2r qÿqÚqÆq—qmqp°prpXpgeg~gºhhii jpëpyoío^nÊnAm¾m[m lÇll¦lÙmmimµmön%nJn•oTpnq±stTu`v"vúwûxõyÏzž{v|_}[~<~ô¡€3€ÆJÀ‚3‚’‚ðƒKƒœƒ×„„1„L„M„6„ƒåƒ¡ƒ`ƒ‚À‚D*·~t}š}…}Å}·}L|­{ó{)z]yƒxÒxEwrvhv!v0u°tsIrqoòo:n}m‘l´kÍk:jájªj jBlWmDml“l]mÀnðnœmøm“m~mRmFmfm”mÐmün3nInnn”n¨n¥n—nunKnm¬mcm mmZmlŒkÔkëkíkÙk²kBjàk!lm)n)nŽnŒnJm¼lýlUkÜkkiÛgÚf%eëfpgNg´g–fýeÅd'bta``_'_¸b÷eíg"gIeúdÛedÈe?eôf7f.eÿe£e}eSe2e!ee$e4eUe‚eÀffWf¥gg_g¿h#hŽi i‹jj¬k-k¤l!l­mEmõnªoip$p¿qXrrZrûs›tUuu¸vvbv¿wwbw‘w±wÂwÈwÎwÒwËwÎwÐw½w¤wow3vóv­vav u¾uyuEuts÷s†s-rjq¯q5pYo×oEnQmcl¯kþkBji%hFg>fecübêa¹`X_ ]³\e[;Z?Y_XšW×W VgUýVVºWtX)XÅYVYðZ‡[7[õ\ ]=]Õ^}_0_á`¥aub>ccÖd›eEeïf‚g,gôh¡iiMiqi©iñj;jzjÐknlZmenxoupEpøq›rr¬s}tBtäuvPwdx@xôy¤zR{ {»|`|Ó}I~~­$€€a€Ÿ€ú?PZ·Øp€Ï€¬€“õ&q¹€eŸ¨€¬‚W‚݃WƒÝ„ƒÅƒ«ƒ¸ƒQ‚ý‚¨‚]‚w‚Œ‚UÍ €Ž€\þ­t~²~@}¹}8||{“{#zªzAyëymxÅx w‚vëvVu®ut„t'sõsÙsÐs»s°sÌsòsÞsšs>ssrÍrNr~rãrÙrr7qïqÖqvpØp—p”pŽphp>poæo«oto9oo n÷nÀn‘nzndn?n3nm×m£mim:mmlümmmlÚlDkžkKk-kjâjªjrj4jj/jAj i­ihŠhRhKhSh.hgügÚg­gœgƒgmgzg„gŠggxgXg5gfÿføfîfògggPg‡gßhNhïi‰j+jÑklm\mym®món(nVn~n°o=p2qVr“s¾tµuäwwéxÃyŒzš{ˆ|6}}ê~†Cø€‘!Ÿ‚‚z‚éƒQƒ¨ƒæ„„C„]„d„\„9„ ƒÈƒƒ/‚¾‚"Ü~›}þ}ø}ý}½}e|Ø|{=zuy·y xEwvuÈu™tºs¹r¸qªp§o‚n«mím)l-kj~j3iÊhîh/j%l*lþlºk©lmßnymçmžmtmlðm%m`m«mÙnnuðu¸u„uuuuut—tj)jiæii=h™h.h h hCh}hphLh2gþgÃgzg=g0g5g&gg fêfËf²fžf•f”f¢f¾f÷gCg¢hhÅipjjÀkil$lÑm~nBoppêq©rƒs'sÔtŠuuYu‘uÑuöu÷uöuòuÙu¹u£u–uŒuujuQuBuMuFu"utûtÙtÀt¥t˜txtFt8t ts°sXsrÀrmrqÊq£qq±q¼q¯qŽq^q%pÐpxpo–on³nVn mûmóm¿m¬mÈmànn6nZntnŽn¹o(pq€Øfó‚u‚éƒNƒ«ƒñ„,„T„q„t„r„U„&ƒíƒƒ?‚Ù‚9Q€&~ø~~{~`~}¾}|@{mz“y¾yxKw]v±v?uut;s=r+qp-on!m&lukj¥j i™iBh‹g©gëi£k“lkk0l©mömûmšml‹lzlÙmmlm¤mßnnvn©nÅn×nÓn½n’nXn m¯m=lÛlªlçm‰kƒkjjtjj@jùl\m‚nDn¹nðnénbm‘l»lk“kj/hCfe2fggÎg„fKd“cÁb_¬^—^R__Õ_¹_]`iañbÃbj`©^ö^Ü`½c"dsdd8cøcÄc¡c„cŒcc¶cäd&dpdÄeeneÂff…fóg{hh—i"i jj„kk‚llªmVnnêo³pwq:qrWrús›tCtñu¥v3v’vÃvåwwQw_w]w^wTwIw?w-wvùvÙv¬vqvCvu×uÂu¬u—u­u}u4tåt]sšr»rq&pco®onGmƒl·kåk j5i?hfðeÆdqc+aÞ`v_]Û\±[¡Z±YÌXêXW=V{V0VCVÉWX>XäY}Z Z—[L\\¨])]µ^T_ _É`‘adb*ccùdíeÂfugg¬hJhåiƒiùjj+jhj£j×k(kskçl mœnÓoäp«qIqÎrNr¿sPtt×uÜvÀwlxDyyåzŠ{#{É|V|ß}{~~i~ô“€€€Å "@‚có‚A¬€W~ï~~½Ì€sÄY€€Í5™‚¦ƒZƒƒ ƒ©ƒáƒÓƒ¹ƒ.‚`Â9GÌŸ€Ó€Ý€ ä@~ç~D}Œ|Ñ|I{Ç{DzÅzIyÙyzyxdw²wv„uäuBt¸tGsøsªrãr&r`rçssWsÆsösÄsˆs{sks¦tHtt[s¿s4rÒrPqÚq¹qaq2qpæp¢ppspbp>poæoÁo±o¥oco.nÝnŠnfnqnYn!mìm´m˜mxmomfmam4m l›lkñkþkðkæk¬kCjÇjTjBj-iåiihGgØgègëgßh:hlhrh^h5gèg„g8gggfïfÃffyf[fFf9f7fQfˆfÚgTgáhti$iÓjŽkBkøl½mcnnÌoªp‹qqrQssªtEtãuWu©uîv)vKv^v^vKv2vvuóuæuÚu¹uŸu‹u‘uŠusuMu4u!utþtèt¢tVtDt=t;tsÄs—sLrørƒrqÐq©q—qqqqSqpÛpšp€€²›‚߃~ƒuƒwƒ´ƒÛƒÑƒ­ƒ4‚Pt€ü€äJI€Û€|€Øž5~Ø~Œ~'}¦|ù|g{è{azâzayñy‰y x‰wÖwv“vurtètƒtOt*säs"qÓq;qcq¨rxsXsÝsØs°sŸss¹t]uu$t¤tLt0t*sïsNr§rrrq¨qp»ppšpp\p.poñoëoÒoronênÆn®n£nŽn\n#mìmÇm§m”m‰mxmXm lËlglDlWlVlk«kQkjÏjmj`j\j,iÙiYh£gég¸gÑgÑgçh hEhZh-hg¼gBfôggg gfÏf’fUf#eþeíeîffIf®g*g¸hTiiºjxkAkûlÀmtn$nÅowpXqr rôs—ttšu)u©vvKvrv‘v°v¦v¡v„vcvGv1vvuÿuïuØuÅuÇuµuŸu‚uiu]uFutåtQscr±ršr½s$sbaàaÍaÎaÛaÿb*bpbÇcczcÆddhdÊe;eÁfMf×gggãhchÞi_iíjwk k l+l¯m\nn«opLpnqCrrÌsmtt™uGuÛvLv’v¯vµvËvðw wvîvÑv»v­v…v`vjjÞk©lzm;mñn«oPppÑq r”smsýtxuuÁv>v•vÐvçvòv÷vævÓv¡v~vbvNvFvGv?v,vvu÷uáuÉuªu’u|uLtÏtQs+q„ptpkqeÎfefñgugýh‚ii©jMjðk‡ll”m$mÂn\oo²oìp©qrrNss²tAtäu}v vbvŠv¡v vªvÌvÕvÂvžvvpvGvuûuìußuÖuÇu¿u×v9vsv„v6u«u t—t-sÆsKr´rqVp©oñonDml k«j³i·hÌgÌfÅeÔdÓcœbOa_Ã^`][ÔZÒYÛXíXWDVÅVÉW W|XX‰XÛY>Y¿ZUZö[\P]]©^d_6``ça³bsc,deeÖf›gJgÕhjhöiCi¼j>j†jPjOj¸k-k†k›kÈl!l±m‚nOoIprurˆr±rœrªr~r>qöqÂq”quq\qIqpøpÖp˜php4o÷oÀo‹o‡oroio‡o£oÌoÖo·o‡oÓpcpÈq7q"qr¡søt¥u%u¯vl^kvjÎiüi5hzgÀfÜf!e–edÂdÆdøeeOf…gåhÕhÿhÎi i»j\jýkŠkþlqlïmrmânRn·nøoonønÄn€n(m¸mlok jìj”jAjjj‹k@l1lÔm“mûn^ncn0m…l~k¡jïjÇj:hÔe—b bØd¹e‚e”e\e‘d™bÇ`úa'as]GYOYË[N\é\[®[V[6[É\:^`«a^aqa`Ì`s`)_÷_Ì_¾_Æ_ä``L`š`øabaÌb$bubÇc"c˜d!d½eVeófƒgg¢h3hÑimjj¹k\kòl‡mm’nn½oPo­pGpîqÄrŸsZsöt‘u(u¸v1vrvv’vˆvˆvvˆvav9v!uýuÜuÌuÒuäv vvv;v´vúvöv{v uxtåtcsóskrÆr(qšpÿpMoƒn«mÏlÙkìjôiøhðhg f ecêb±aw`0^Û]‚\"ZæYãXûXWBVéVûW5W¨X4X„XÚY6Y¯ZAZ×[r\\Ò]^n_L`5aaçbµcbdDe.eûfÍg‚gíhvi iIiÕj_j“j—jj½kk@k_k—kõl¢m–nOop pŽpäq[qér{ràsVtu.vRw w­x)xåyòz²{P{é|d|Û}?}©~C~áH¥€€¬€õ€³€~€õ‚‚w‚‚‚@°€¸€,‚R€ðk€9O‚’‚… ‚€ƒ“ƒ÷ƒúƒòƒÍƒŽƒT‚ù‚ƒ‚#Êq€­€N€»_~¡~}}|“{ò{NzÅz5y–yx¡x:wŸvÓv uatÐtˆtptgtIsžsJs$rRqbp¼pq~s7sðtsãsØt“uau¬v-vUuôv"uþtÛsVsdsîsFrœr¢r@qùqÝq¯qrq!påpÌpÑpÛp½p“pepoÖo¯omo3nðnºn€nWn,nmñmÊm™mXm l°lll>l9ljñk–l!l§mm•nnwnÓo oonÕnŸnFmámSl±kükYj÷j—jlj¾kzl:lèmXmÕn nRn m£l¿k£jÕjhj!iNg^cœaBbDdkdòdªd.d™d b’a@`·bT`Ó\²Z.ZÁ[CZ Zì[Â\¤]]ù^î``R`1_¾_c_^Ò^¤^Š^^¤^Õ__g_¾`-`§aawaÈbb…cc˜d8dÕeyff®gAgãhi)i×jk-kÈldlùm‹nn‘oošpp”qqÍr›sRsèt{u uœv vOvuv‡v€vmvWv@v&vuÜuµu u”uu¯uÕuñvv=vwvéwvávTv uÓuLtÓtXsàs`rÕrDq´qpdoÂonLmdlk“j²iØhðhfäeÙdöcÓb¦a‰`h_3^ \À[zZjYaXzW£WVöW&WhWØXXX¦XáY#Y|YöZ“[([°\Y]]í^¼_›`aZb*bâcŒd_e:eùfÆg•göh&h³i2i’iñj2jmj§jÁj¸jÕkkGkNk7k­mn:nÎokoüpVp²q"q•r rŸs2s¶t–uÙvw3wêx[xýyøz°{){°||Š|ê}c~ ~¡~ø.€€Ù€ø)Ë‚P‚Túä‚&‚9‚%µ~‚т耚¬€mL‚òƒK‚)jÑ‚üƒÆƒëƒÙƒ¾ƒ’ƒaƒ‚Âk‚¥T€÷€•€Bö¨Q~ÿ~¶~[}ï}‹}|”|{qz×z7y¢y$x»xYwÇwvLuˆut®tutltht0ssr·r"q"pep o5pkr«sÆttsútouUuÎu«vCvÊvŠuîu˜uUt r1rÁs¶rÊqàqáqÂqðqúqãq²qrq?q)qq)qpÇp™pypIp oÒo“o\onØn§nznWn4nmòmÃm‡mClïl™lUl3l!lkÞkVk k@kj0i3hëi]iæjjiÖi%hÓh§h£hÄhÇh0f—eZed»dYdcéc¹cídÁe9e>effrfŒfhfBf?fTf±g6gäh¯i“j•kŽl|mKn n¯oOoþp¹qwr*røsÜtŠtþu˜v!vŒw!wSwDw,vçvœv­vîvÎv²v›v–vhv8vPvnvVv4vDvFv uÊu|ut3s{r¯q©q.q5q9qqqRq‘qÍrrpr¤rŸrŽrzrmr„r‡rŽrerqÚq q€q^q4q#qpÏp”pbp&oôoÞoÛoêoùp p(pEpKp+oóoÆp-pìqhq”qÊr#rít4tâuu+uOuzu±uêvvXvÏwlxxåyÍz¿{Á|¯}}~vo€LÑ‚xƒƒ{ƒÔ„"„g„Ÿ„½„Ë„À„™„e„ƒÖƒuƒ‚”‚4×m€Ú€•ø~ò~c~}|Ç{ÕzÑyéy:x”xwºvŒu?t*s>r(pµo?m½lŸk¿jójAiƒh®gÔfþfe+d6cWb›aÞaZaÅbYbødJeˆf–gVg¢gëh=hiiÄjokk¬lIlÒm>m¹n/nˆnâooonÏn›nVmúm†mlvkök£kdk4kjkïlzlÍm/m£mùn&nm©lÛkÌjÕjiÂivh”f®c,`\`„bMc¤c§c`cc‰cœb`‰^¶_I`º_®]J[M[W\\X\±]U^ ^/^E^£^Ñ^æ^©^S^]¶]‚]W]C]A]R]]Ç^^j^Ó_K_Ê`<`œ`ëa>aŸbb›c-cÇdheešf4fÌgjhh¬iLiîj’k0kÐlblõm‰nnšoopp‚pÉqEqèr¯s{t(tÀuEu£u÷v?v`vlv_vX€XÑY.Y›Z5Zà[‰\*\â]Ù^ì_Û`¿aœbaccÍd—emf8fög­h?h—hÎi5i…i‚iiÎj5jsj^jhj¬jäjëkWlúnYnàoo=owoÁppnp¹q*q˜r$rút u>uõv‰w>wÚxxy!y»z/zÅ{V{Õ|b} }Æ~O~–~åm€'€øPž§…(€õ9³‚Ý€áÄ‚¦¼‚‚û‚Š‚Lƒƒåƒ³‚؃ƒ¿ƒÎƒÁƒ¸ƒ“ƒA‚ê‚§‚JÎ`€µ€f€×šW ~Ó~~I}í}}})|Á|1{„zèzWyÉyxCw¨v÷vMuÕuOtÞt—totWtsWr¼rpƒpbqzq>qwrstsêtˆuubu”v!wKwÎwFv™vVuÑt¶sÅrqˆrŒqÄqûrír¬rfrkrgr9rqäqÐq¸q­q®qPpópÌpµppHpo¼o|o0nän§nsn[n,mümÆm|m$lÔl’l-lll kÝk£kzkWkj‰i°hÆhŠhµiTi1i3iqibiSi4i9i;heicªbïbñcbÚb¹bøde¸f›fmf9fIf7fTf‘f®fÃg g’h7höiÅjµkÂlÑm´n}o&o»pUpùqªr\ss»tTtóu±v$vxvÜww.w3výv©v-uÈuurupu;tÜt>sŒs¡s½s5sCsžs…ršq$p p³pbpEpqp²q$qžq¿qxqmqŠq¢qÖqþrAr¥rÐrÍr“rGqôq»rr$rhrqêq²q…qdq-pßp°pŒpip?p)p6pUptpŠp‹p˜p™p‚pAoÛoôp™q5q¢r rrs!tGtìtðtÜtätôtötàtÍtçu,uruÈv>vßw¼xÚz%{l||}U~Md€}j‚&‚ÃEƒ²„„K„†„¶„Єل½„„S„ƒªƒP‚î‚’‚Eû¨P€à€V~ô~ª~}_|‚{z™yÀyxhwv,ut$sqûpvnémXlk.jbi“hÖgõg%fqešdwc7b0a3`w_í_¥_©_ß`žbcÒeNfgâh`hEhhTi iÃjŠk_llämƒnnznÇnüoonèn¶nsn%mÉmkmlìlÆlœllpl”l¿límmJmwmflökýjÃiÖih¼hBg\e¥br_-]ì^ö`Ma/a¨`Õ_D]]\‘\ZæZIZ«[^\i]>]D]D]p]]a]\Ñ\«\r\0[û[¡[U[ZÏZ¯Z–Z‹Z’Z°ZÛ[[ì\d\è]s^^{^å_M_¯` `ša$a¸bVb÷cdDdíeœfOfúg¢hLhëi’jFjök—l/l¿mrnnÆo6oÃp:p‘pÔq)q¿rTrùs¦tDtÌuDužuãvvvuÚu»u’uiuCu'uuuu[uÁv+všvÊvÑvpvŠvÓvÌv‡v(u²u$tŸt srr¾r$q‡pÑp oJnŠm¸lõl jöiáh¼g€fUešdçcwb[aL`3_]â\Ê[²ZÌZ XñWÐW.VÖV¶V²WWƒW÷X4XuXßYfZZº[i\=]3^ ^ú_Þ`ÖažbLc cÔd­eˆfXggÔhrhÊhñi,i^imi‡i²içjjjj_jÁjîk§mnnynÄnçoo(opoµppEpÁq-qºrŠsŠtÃuŒv.vÜwqwøxŒyPyæzv{{ª|Q|÷}Ž~~•€C€ïQ[6 €±€‹€ˆ‚_‚L·E‚X‚¸‚Y‚õƒY‚¡‚¥ƒŠƒæƒ›ƒ—ƒÛƒëƒßƒÂƒ‘ƒ9‚ႉ‚¤:€ì€ €_€#àœe/~÷~Ã~~2}È}o|ó|]{Ã{:z¼zy,x\w»w#všv u†tût±ttttDs®s rpbpGq+q~rsátlt²uuu–v±w3wòx3w­w´xx vsp§q r·rÚs0s‰sr¯r¢r¦rrbr;rrqîqÖqkpûpÈp¶pp_p*oëo•o>nín¬nen8n màm°mhm l¬lll'kòkôkîkÉkžk[kjj iƒhåhZgôgÁfóghoi)iZisixi gNdÂcEbYb bVb~b³c7cãdøff¯g gOfþfžf‹fÈggh4héi·j‰kxlmŒnaooµpJpßqyr"rÃsot t‘uu¨vvŠvïwww!vçv‚vuÐuu‹u@ths£rýqëqër®r"rjsrWqpEppp6p°píq$qŽq°qhq'q!q4qzq¥qq»r'r{r£rˆrIqòq›qÚqør0rqùqÐq®qzqDp÷pÆp°pšprp`pzp˜p¸pÏpÒpÚpÈp…poÌoép„q$q°r]r÷sŸtCtƒtdt]t“tºtÐt¾tªt¹tíu#uduÊvSwx;y“zí||ý~G€KF‚‚¬ƒ-ƒ¥ƒû„H„‚„´„Ø„é„Ö„¦„l„ƒ¸ƒeƒ ‚®‚m‚¿7€’€ ŸC~Ñ~F}Ç}{Îz¿yÝy,x“w…vtÿtrÉqÁpnÛm.kÝjõj%iMhlgféf6eYdKcb a7`a_Þ_¡_¢_Þ`Raoc d©fDgWgÊgûhhh–iaiõj¾k°lŠmemúnvnÂnöoo nîn´npnmÃmum4mmlälÍl»l´lºlÀlÆlÚlÿlÂkój»iœhÓhYgìgGfcÑ`§]ë]n^©_æ`•`x^³\JZ¿ZÊZÈZ¸ZÜ[%[÷\æ]Y]‰]u]6\ê\q[ç[t[ZÚZŸZOYñY¦Y_Y6YYYY+Y_Y•YàZDZ¹[<[Ï\W\ç]q]ê^a^Ð_F_¾`I`Ýa|bbÉcyd2dée¤f`ggÑhzi7iåj™kJkÜlwm0mãn‘o oppdp§pàqcqÿrurÿs·tVtÝu?u…u¶uÒuÐuÀu¤u|uYu'tÿtâtÝtèu*uvv…vÕvÇvevºw wvØvtuíuJt­t s_r¶r$qwp¹oûo*n^m¢lõljýiÿh¼gCeýdÐc‡bUa `Ö_å^±]’\‰[’Z¾YñY+XEWkVÇVjVCV‘WW¯WøX/X YAYõZ¥[x\_]e^K__ç`Óa‡biYini“i»iÈi¶iÝj6jjâkÍmin[n”n n¸nÓoo:oˆoÒp9p¤qOrs tXu2uÜvˆwwŠxxóy±zLzî{†|,|Â}N}Ù~f~õ~€"€ÕWša€ö€¼€”€¸]‚3‚g‚v€ë€jꃆ‚郃փ‚˜ƒƒƒ½ƒÖƒêƒßƒØƒ¼ƒŒƒ/‚É‚XÙx€Ç€„€R€â¨wV~Ù~º~d~}—}|—|{™{zUypxÃxwovçvBu™utÀt«tŽtKsvr)pþo†opoÀpar.sÏtAtÕuu#vwùx>xCwüw‘xx%xZxu`q–pFq{rîsšsyr£rXr©r«r›rŽr~r`r?r7rqnpêpËp´p–psp/oïožoRnön°nZnmäm¹m|m4lÒlwlkÂk²k»kÎk›kJjèj}iÕihéh g¿fñfre(dreƒghJhØh«hTfÈd´caÜaœaòb-bcVd%d·e1eÕf²ggfØf©gg–h~ët€€ÊSY€×€Ü+}ë‚ ß‚‚b€ÍÁƒƒBƒvƒ*‚o‚™‚σ1ƒ™ƒÄƒØƒÍƒ³ƒ‹ƒZƒ ‚Ÿ‚#¶i€Ò€†€J€Ü¶¡|,~è~Û~Ÿ~"}˜}2|À|={Ê{8z›yòy0xqwÆwvUu§u,tÞtÎt¾t+s qêq oþoßp8p±qÚsXt[uq”pðpßpÉp˜p_poæooAnòn­nJmúm·m€mPm l©lRlkkik{k›khjújqiÎi.hhOg±ffBf e?d>c‚cße¶fëfÛfÛfdSbÁapa-a¡aïbŠcbd2dãePeeØf!fef¶fägjhhÆi”jekJllêmÖnÏo¢pQpåqvqÿr–s s°t4t¹u6uuáv4vžvávèvv1uÒuytÝtttOt$s±rÉqœpno‰o§q‡rCq;qfq°qpÌpp2pCp}p“pÌpÇp‰pepapjp~p²pÝpèqqrqÌrrrrrrqêr\rrq÷qÚqÃqŸqsqWq,q qqpõqq+q=q+q pÑpToÜoo½p.pÚq¡r0r¡rðs4sqs‚sgs†sîttsÿtPtÑu]u¹vv¡wRx6y@z{Õ}~'1€.%‚‚ÀƒMƒ´„ „U„„º„Þ„õ„í„Ï„›„Qƒûƒ£ƒB‚Þ‚Œ‚?ìT€Šä«X~Æ~U}©|m{_z­y÷y'xvOtÚs÷s5r]q!oûn™lÓkmjwi’h¤g¦fÐf-edÅcácbXa­a`Ÿ`‚`²`ïa?aÑc/dúfåh€iâji h4iHiŠiŠiÓjŽkl²m¹nynào oonànžnLmêmŽm'lñlçm#mlçl˜lZl7kòkÄk¤kGjIi#h/gŒgf¦eÛd„bŽ`†^–] \Ê]\šZ©WyTäT"V_Z[Ð[[x]G]ì]e\ù\[þ[dZªYôYDXµX.W¨W+VÅVhV$UëU´U˜U¢UÑV1V–VðWAW–XX™YBYèZ‡["[·\G\Ì]D]·^;^Ú_•`Uaaßb¥cydHe'ffÝg¤hdi,iÿjÈkl*lÓmn2nÃoNoÔp9p‘pÕqqqárTrästttttÏu u>uSu]uTu4utÒt˜tqttt©tðufvvFv*vv®wwGw4vìviuÔu6t‘sÜsr|qÏq6p†oÆnðnmQlk¤jŽilh4fÂed|c;ba!`_^]\+[fZ¢YïYMX¥W°V¬VU÷V(V¦WDW¾X!XY2Y÷ZÀ[º\Í]Ž^5^ò_Ê`°a•bwc1códÉe¦fqg0gËh?h¥hñii*i,i=i_ixi‹i§ißj1jškilŠmomán m×mÀmÍmïnnYn©o o‰pHqGrysVt#têu¢vAvÐwexxÎy”zIzó{œ|<|Ü}v~-~Úl€€Ï@|ˆŠ¯ÒåÒ£.¡‚n‚aþé‚Jƒ\ƒâ‚kÌ‚Á‚¿‚æƒ_ƒ©ƒ´ƒƒdƒCƒ‚¹‚iþ“C€Í€‰€R€'÷ÔÌO~ÿ~Ì~D}·}R|ã|V{è{gzÛz8ygx²xw,vkuáuqutõtÌtrÿr/q:pŒq qórarØtuŠvuŽvâx­xÄwÛw·w´w’wþw”wvxQw¶súp¼pqssÙsÚsås•qýpÐq£rbr¡r¢r{r?q¸q0pùpÖppTpoÓoo4nán˜n7mïm•mNm'lêl˜l-kìk¥k\kBkQkj’iíiwih|g~eÚdqdÖeAed¾cýc¡d^ep>pKpyp–p»qqFqŽqãrr2rSrXr!rVrrrqëqÕq¼q­q•q]q1q:qHq$q/qGqSq)pÖpˆp o²ooŸoùpkpâqaqïr]rØs.sssgsût@tAtAt’uuguáv}w w²x¬y³z¿{î}&~W|€j-‚ ‚݃rƒÒ„„\„’„¶„Ò„æ„ã„Í„¢„Tƒûƒ±ƒaƒ‚¬‚(¼€M°~v~}Q|{q‹rrˆssttjt·tåtûu u tøtÑt¦tetTt_t«t£uu¢uáu±uævÄwpJplp³pìqgqËr%rUr|r–r]rPr-r,rrqùqïqÕqºq¢quqmqqqRqIqCq-qpÅp^oóo§ooo¹oÖoòp?p©q)qÇrar³rñsbsÌt8trt«tËtøu.u®v†ww~x1yRz‚{}|e}Œ~µ¼€ža‚Zƒ*ƒ¡ƒï„5„r„—„²„À„Ʉ΄¹„‡„:ƒæƒ¡ƒZƒ‚¢Jn%€ˆ»~°~}£|à{ì{SzÈyÉxuwuïu sÛrªqˆpYo0mÿlÂkdj>iEh:g#fedKcÏcjcb½bdbaäaÏaÍbb;bic4dÖf¨h7iÄjòk`kÝj‡j*j)joj£jÕk^l¶mÞnªo$oIo=onÎnnmþml÷lhkÙkpk^k–kØkûkÏkKjJj i¥h gMf|f"eºe3dsc$a)_W^#]1\l[ZZNXýXWjVýU§TWTÚUªVçY·[ï\[è[(ZuY¯XèX+WdV«UøU?T•TSŠS6RóRÃRÝS S;SnS°TTnTÝU>U£V VÂWuXXY,YÀZOZÎ[@[¯\@\û]À^•_t`laQb1ccëdØeÄf°g“hniDj"j÷k½lym'mán6nÓoOo·ppepÅqqGqŸqÿrorèsms×t/tptt¤t­t¯tžt}tXtIt_uu5tîuu_u}uIu™v°w{wzwNwv¶vHu¢tÚt1sšrúr]qÍq&ppoÔo%n€mÛmlGk=j hêg»f‚eQcïb˜a‡`ƒ_Š^ª]Ä\è\<[ŒZÛZ1YXÏWØWVV4VVMV¢WW†XXŽY Y¹Zi[#[ø\Ê]{^5^ò_Ê`´a‚bFbüc¸dne"eÝf’g.g±hhmh¼hâii ii1i[iŠi“iÁjÕl+l›l“l´lÑlÆl§lƒltlul›l¿lðm;mÒn“oRppêqÄr¥sot"tÜu„v"vµw_xxây›z^{{Æ|u},}Û~m~ù”€R€áfÂÿ‚𽃊¯r[‚-ƒEƒ@‚&»ð‚‚â‚1‚‚}‚łȂðƒ,ƒ%‚ç‚Í‚Ÿ‚g‚2Þ’E€ø€¸€Š€Rýªw“Øò¶]~â~£~Z}ü}†}'|Î|V{Ù{Hz­yþyZx·xw}vïvhuÎu?tÐtštsUqÔosnJnÏpqˆs(uuÚuéumv"w¬x°y x,w™wous…u­w¤w vv s}q&oMoŒq¦s/ssûtes#ppnBn·pÞr$r|rbr#qÂqgqpÍp„p1oáo•oIonÏnn4mîm¼mpm l±lTkùk®kpkNk"jôjãj¬j[jiÅi8h‡gœfYdåc»bÓbÅccbŠaëaübb›b5aóa^`È``.aGaàbfcdd‘e.e²f$fègßhßi­iójGkkÆl(lØmánÑo[o¹pCpºqNrrÐs`sítitÖu2uuæv:vxv›v—vv¬v«v–v_vutót©tht0sès¨sirùr”rr—r|r+qêqÙqÖqÆq‰pÈoþoôpppp oöoáoëoþoýoýppp!pp*ptq qqÍrr:rjrxrMrUr"r"rrrr qþqëqÜqÉq®q’qxq_q;q#púpºpopo¸oˆooŠootoƒoÒp1p¬qEqÝrPr°s6ssÄttztÖuu7uvqwwŽx xÄyÕ{{û|¾}ï ‘€@@‚UƒƒvƒÏ„„K„w„’„—„‘„ž„ „…„Cƒóƒ°ƒ†ƒU‚ñ‚!B#€Ü€ë~ï~}Š|ð|;{ zázxßwjv.užu5s×rGpßo·n¸m´lk6jigüf²eOdchc%c båbÁbbObEbRbUb[bŒb›bãcÝewgh{iÙjãk{lkÿkGjäjÚkÓm l£lŸm˜nyo oWo`oDo n²nGmÊm4l–kïk`kkZkÂkÞkÑk¯kDj{idh¢g¨f{e³e3dêdcc³b–`ó_H^]\G[xZØZ>Y-XÝXHWAVÆVFUîVvWÕYÞ[5[H[Zt>t2t1tVtÕu#uuu6uCu(uuvÀww¥wnvôvVuÎu;t‘sãsErÆr&qˆpîpOo©onxm©lÏkÙjëiÆh”gŒfTecåb¢a\`&_^ ]/\g[Ù[EZ’YÀXëX W]VèV|V=VJVVÊW.W®X.X´YKYèZ†[*[ï\·]y^7^ø_Ç`©agbbÍc–d\e"eÒfrgggóhUh‘h³hÙhäii%iaivi€j”k¸ll l0lPlSlHl-lll lllFl·m>mënžoBppíq¹r’sgtBuu¥v/vâw¤x|yKzzÖ{|R}}¸~W~äv€&€µXÏ‚.‚0ꪌ´Ä{“ß‚@‚ý‚±‰G‚‚Ö‚¦‚‚B‚‹‚¢‚­‚ç‚ÿ‚³‚†‚_‚ Är4€ô€·€{€P€­VFºó½a ~ä~—~~7}‘}|§|{ª{)zªzywxÝx*w‰vûvNu¼u5t£tmt s™reoînäopo×qZs­uHu[u uvžwxw¤xÇwâvžvu=uSvßwuÆtFsÆreqŠpGp!pÉq=rÜtNtàtCr’pYnƒnÚp®rr\r0qàq†q#pÂpqpoÂo„oLnûn¿ngn"nmÈmXl¼lIkôk‚k kjÕjËj‘j`j\j7iþi…ihzgæg.fdkb±bbCbHaóajaaKaMa'a#`¹`%_£`[avaðb˜c‘dvee×f¦gkh,ii©jAj»k7kòl¥mmÁn›o¢pšqEqoqiqÚros$sÍtdtæuOu§uývNvšvÙwvÿvÚvÂv°v•vgv!uµu:tÖt~tHt$sÔsus r„rRr@rrqÛq¾qÁqÅq™püpUp1p%poûoíoÛoÊoÐoÓoÔoßoâoíoúoîoÙppòqhq§qÄqÕr r2rr.rrrrr"rrrrqéqÊq¤qzq`q4qpÆp„pRpo¦odoOo^ovoao…oÜp2p´q$qƒq»qþr rüss‚ttuuhu×võw¬xx¶yUz${B|n}*~PŽ€€\‚z‚õƒLƒ¹„„G„l„„„y„W„^„i„I„ƒÃƒ…ƒXƒ,‚Ó‚G'€Ë€b€7½~ó}Ü|è|t|({£z“y´xÚw‚vtÂtrÿq§po|n“mŒlSkjhég¦f3d¾c«c(cccbëb¾b±b»bËbÞbæb÷bôcmômÜm§m!lŽkøkqjòjjjj*j>j8iâi¢iBhèh~hgðgÐfìe(cÑbaaaa.`Ÿ_ß_Æ`C`w`¬`D_Œ_W`†aIaøccÛd±eƒf2føgãh¯iwj j®kMk×lmfmûn¢o\pGqQr/rGrr_rÊs|tcÍc¶c½c´cƒc_cUccctc}cqc_cYcždf&gíhêijˆkÓlâmFm(lûmhm¶mÝm­mmên˜oo|o‡ohon²n'm|lºkÓjÄinhKikHk«kk'j4iThufµd¢cncb¥b-a„`°_@^]_\ð[ñZ:XqWfW¬YLZ¼Z¥[ ZmY Y YYcYfYVXáX)WWV„U TØT SRR‘QßQ1P‘P O¤OO€O‚OƒOÂP.PÄQªR&R(R1R)R-RKRëTTòU…VVÄWWgWÒXX^XêY«Zd[;[­\>]™^Õ_Þ`Ëa¯bcud`e[fQgsis¦sÑsøttuAu¸v=ww[vèv>uÍv5v¬vÑvÇvŽv*utít4sRržrqwqp|poXnœmÔmlOkjj‡iŒhg„fie)d%caà`Ê_ ^q]t\¢[ÎZóYýYXGW´WMVðV®V—VªVíW2W†WÜX6X¦Y!Y¡ZZ”[[¥\c]]Þ^ª__`,`Ça›b„cFcìd|e%eÕfxfægg(gRgrggíhfh…i"iëjLj0iþjj@jvj§j´j¸j¸j®jŒjqj_jbjlj‚j»kk»l‚m[n5o=piq‹rƒsttKu6vvÜwÇx¢y}zk{*{î|¬}L}Ý~p(䀀²‚)‚v‚l‚\‚N‚ çÐâ‚F‚!3‚,‚¦´ÿ‚Öý‚M‚†‚‚o‚Õ°V€÷€“€W€=€€Ìy%~Ý~œ~Q~K~X~8~}è}º}ž}`|î|©|x|#{–{zºzYyèy{yx·xGw¥vñvnuøurtØtJtsØsr–pßn¿ngooDo[oApnrÀtBuÏvÆwÈx¼w>w‚wåvÆv u»u¯u%u sAo m«n£nQn–pTr[sÑsösøtBttmt1spßoýpqŒqËqupÀpGoØoŒo;nÎnœnImÛmglãll)k‡kjÄji9h6gÄg“g½h%gÐf‘eged­d]dndbdc¹b8`¦`4`_®^ê^0^ ^^R^„^_^¡_¬`äadb%c7cédªevf1fÿgðh­i|jokflbm,mÊnqooÔp’q]rUssÀtCtHt^t°uFuÓv>v™vÜw&wtw¦w¼wÔwÄwÇw wCvývŽv9uøu˜u@tÑtGsºsGrîr¡rXrqÝqppüpÜpßpöpøpµpoéoÉo¸oton÷oo&o&oKoloo†omopoqoˆoÕpªpñqqGq]qTq[qfqzq£q¸q³q©q¡q°qÂqåqùqðqØq¹qšqtqBqpÚp¸p™pUoßoxoVoƒo­oÐp p pNp¨pëq+quqør:rCrrèsLsÉt©u­vðxxÔy6yí{P{þ|Ÿ}’~{Œ€›3w‚‚™ƒ<ƒ´ƒÿ„„!„„%„„ƒóƒÏƒŠƒ?‚æ‚y‚W€v€&€ÑƒE"~Œ}¾|Ì{Þ{z'yPxæx!vÛu¶tÁs›rcqipioOnSmElKkNjjizh—g¿fûfqf eËeˆe:dÜd“d‚d˜d¥dld?dMd½e_ffóh iˆjgjåkšlUmmumÏmÚn mÝmÁmñn8n©o9o—oªo„o0n­nm8lAkiÅh-f¥eífØf¢fYf3eÝfJe¯cˆa"_ë_}_^¡^]ˆ\Ü\g[ã[\ZHYWæWÑX9X˜XÝY˜Z˜Z]YíYÐYjX¾WìWV.U>TYSwR’Q°PÙPORN­NMÃMM¬MÑMÿN;NBNQO PBPÁQƒQÐQŠQhQWQSÃUNU¾UçU÷V~VòW,W"VäVðW?WáX³Y ZZÓ\E]—^©_“`„a}bccDd6e3f/g*h-ijjÒkllSlámmmónnnão>oŒoÎppkpÁqqZq›q×rrNr‡r´rîs)sls¶s×ttuAuºvYw6wÊwÖwXv‰vƒvvhvcvCvuºutqs»rçr9q¢qp‡oùo’onYm›lÐlkajŽi¥h´gÁfâeþdþcøbïaã`Ã_‘^~]–\Ð\[EZ[YiX™WäWaWVÏV¦V¨VÇW WFWƒWËXXkXÚYIY®ZZƒZí[c[ø\›]T^^Ï_‹`5`ùaéb¨c;c¼dUdúeœf+f fÝfógggg%g°h"ij j ièi±i€i…iœiÞjj:jCj8j7jiëi·i›ižiŒi‹i¾jjªknlGm n%o=p[q\rCs*ttôuÎv¯wžxŠyizCzï{–|W|î}w~ ~®f€€/³‚-‚Z‚‚‚o‚/Á° ü‚ ‚¢Ê‚‚ª‚s‚ö÷ç‚‚H‚X‚M‚Í“O€û€“€)òϱu0~×~„~H~}ê}Ù}ß}¬}i}/|þ|Ú|¢|R|{á{©{6z¼zMyõy›y9xòx³xWwæwevÇvOuòu|utŒt%sÖs•s5rp nÂo¸onen{o2p¬r™tuv•véw:wšw5w%vµwnx!wuÄtðuJumrlnðn”nomn'oíqqr©rÒrarœsœsaqªqâsr&p•qq´qBp¹pp(o¿ocon n{n!m»mTlæl§l_kÑk!j¤jKiºhìg±fVeHefMg$fšeÂe?d_c2aáabhbeaáaJ`R_°_j_ ^M]¾]†]R]3]r]©^_`6`÷arb)ccÐdƒe(eÐf°gŸhiEjk llìm½nƒo$ožp$p½qir9rÛs[ttvtªtöuVuÕvNv­ww_w•w¿wÞwÿxwÓwØwÙw–w?vëvvCvuÚuutfsÅsbsrÄrrWr"qÐqipùp’pXpo‚oQoo­oŒofQeed}cb¥a³`•_d^H]a\Ÿ[ð['Z(Y0XaW®WVÒV²V¨V´VéW4WmWWÐXXjXÍY5Y˜YøZ]ZÅ[;[É\c] ]Ë^m_%_æ`»abQbïc†d6dÑerffrf–f§fàfÂfdfÆg¦h†i×j"jiÓiyiväv‡v"uÔuÏu…u t}sÑsis rÁr˜rZqýqÊqë‚s‚΃Bƒ§ƒ¾ƒÀƒÉƒÅƒÍƒÀƒ¬ƒ˜ƒxƒHƒ‚§‚=Î\€Õ€"I~é~h~}¹}&|¤|{y{@zŒy¼yUxÃwÇv¿vuAtGsƒr\qRp;o,n+m7l_k¤jôjViÕiBhÅhdh g¡g,f¿fUfe¿e¬e“eVe eeÀf¯gwgõhNh›i3jjükšllilòm|mÌmònn%nBninnÔooso½o¿oŒo&nŸmîmljài£hQfùeÅeee>e0ddbu`¦_i^U]€\â\Ž\G[ø[Á[¤[[â\ [ç[[ Y×XY)Z Z!Z0Z8Z8ZY´Y.X=Wb bßcÅd°e¥fgˆhai&iæjŸkLk„l)l´m*m˜nnpnÈooTošoáp)pgp§pãq&qpq¾rr`r¹ssRs­t;tÙutÀu‚I§(dÌí»Ž†b,€ç€ƒ€ ŸF~Ý~³~u~}¿}|}]}U}2|î|§|k|Z|6{ã{‰{.zÿzãz´zczy²ycyx½x…xJwùww.vÑvtvuu/tØt|sös‹sKsrlp¡npmÊmûn±o$pqdqÿsÌu0u t²uYv¨vvu5u9vuwÂw€u*r°qxq—qpr[s¨qko1poˆn·qUsèrRn§oÌp–lòl·p¬rAohnjpp$pJpšp'o¨o nÆnkn/mÌmWlîll k{jñjIi‘ihÔhNg…fgetdÙdcbŽccÌc–b_²^`_}` _Ý_÷_ü_R]Ú\Ô\ç\j\[ù\\»]‘^B^û_è`‰a;bbæc´dte7fGgRh hÐi§j€kalAmmønÄo³p·q–rrgrÈs8s†sÿt¦u@u¬vvƒvíwCwww™w°wÓwõxxxxw}w/w7vÚv’vrÉsdsâtwuu¦vmw|x”y–z„{Y|2}}º~~¡È€˜€Ò2”‚‚›‚Ùƒƒxƒ‚ƒpƒ‰ƒ•ƒ“ƒuƒZƒRƒ*‚ù‚Ђ|þ}€…€0~¸~}ž}.|©|={±zÝzŠz)ylyLxÂwƒv~vujt²t)sqápˆoqnrmˆl­kïkGj°j6i¿inihÂhHgÄgXfóf©ftfEeíeeke²fg¦h‰hëi6i{i¾jjÎkœllilÀm7m¤mæn nEnn±nãooMo…oÂoÌo™o(n¡mðmljÒi”hOgeåedpdc|bO_ü]»\ß\›\0[ª[ƒ[U[$ZÿZè[[u[œ[°[’[Z7Z*Z!ZWZUZUZ'YíY–YXYWKV&TùSãRÖQÈP¶O¯N¶MÍLñL!KmJâJžJJ|J‚J–JÈK%K´LOLÜM^MèN5N\NœOdO‹O OÖPÔQ_R½TTœTýUõV¦W"WhWYWVZVV`VêW·X¤Y˜ZŒ[n\Q]-^__ì`ÉažbjcJd;e0f%ggÏhiSjjÕkkÉlSlÄm)mmönPn¡nàoo\o–oÓp pLp—pèqBq¡rr‚rÝs%s±tujuñust“t°u„võw¬w3v¸v\uéujutÀtnsÝsrRq¦qppoÒoPnÜnJml÷lAk‡jÂiìi'hxg¾fífedcbKae`}_{^V]f\€[®ZøZXþX%WPV›VjV|VšVÓWWDWpWœWÇXXHX˜XàY:Y®Z/Z¬[ [“\\’](]Ì^€_7` `òa¦bZc0cðd‹eeŸf fLfWff&g§iiiËiýj iài˜i8hÚh­h®h×hùi i hÿhïhÖhŸhHgçgzgfÜfégHhhôiæjøl!mNnxo•p™qžr¹sätõuÓv¦w„xOy2yþz½{ˆ|f}3}Ú~Eï€z’‚‚k‚]‚‚@‚úƒ"‚D҂ꃄ!„^ƒ§î‚ƒ‚ýl‰¯“Q' €à€ž€;½Z ~Ö~¸~n}ù}~}4}|Õ|Æ|ª|k|7|{å{¸{†{7z×zšzrz0yÙy€y3xÞx‚x>xwÖww,vÕvvDuøuu tžtVsùs—s?rÃrppmÓlÝlêmm ngoÅoßqnr%q›r‰t@uUut$s¸s—u–w)tÌr+qÇrs\t‡s×qgqq¯p½p¥qxrÿrlo†oqoamšnw7v¬vlv0uëu²u‹u=t|s±sLrør‘r)q¥pÖpoÜoÀoqo@nónžnFn mömémÑmÄmßmØm«mžm¾mìn*n-nfn«núodouoRoKo#nnÙp=q:qÙrqßq`qq2qpro¶nÁmãnn„n2n&nÿoŒoðoïp!póq>qp¼p`po¼o„oŠo™o§oËoøp(pFp`pšpæq q%qvqärrss”ttu>uÞv™w‡x—y´zº{|O}}Ï~e~õÁ€Q€‘qÔ‚B‚i‚‹ƒƒ4ƒ+ƒWƒcƒTƒGƒ1ƒ!‚ð‚¦‚Œ‚WÌ#€‚€ ¯;~½~[}ø}v|Ó|>{¾{+zVy·yXxÅx«x-wv:uÿuotÄt0s7r>pÿoänØmämlZk¦kj—j3iøi¹iIhÆhDgÚg€g+fóf®f,eÞeôffg;hQiDißj1jxj¡j›jÛkrkÿlnl®lúmYm±mýnYn°nòo,oVoo©oÑoÔo£o8n§mômljÎi“hTgeÕdÓd c?bFa_Ò^b]\.[7ZœZ¯Z•ZZNZ[Z©Zü[1ZØZLY¿YØZ®Z²ZZWZYÜYqXíXHWPVTÛSµR¤Q‡PcO?N(M!L0KVJ™J I¤IqIGI9IBI\I¯J'JÃK`KúLšMIMÎNN]NÒN‘NzPPÏQHRlR¬RfS7TÊU‡VeƒeÔffffh#i=iši¨iÆiài¿ixi h¼hxhdh|h›h³hÊh¼hœhoh:gîgƒgfŸfGf;f¢gnh_iej‚kªlÕmöopq*rYs†t‰uxvfw7xxëy¾z‚{c|X}=~~¼Tå€f€öx‚ ‚‹‚Å‚]‚DƒFƒÊƒMƒ4„/„¿„£„qƒ³‚¯‚}‚¼ƒ‚¿ÌR /€ì€°€„€Jú~Ï~™~m~ }m|ÿ|Ç|™|f|(|{Õ{{ƒ{b{!{ zäz„z:z y»ybxûx‘x2wÞw•wvwVwvØvŠvGuùu¬uLtètutsËsprýr€qñpÈnDlPk’kžl"møoo–pŸnüm·p q‘qðqéq–qq~tBu–r p×qoâo§o¬o´o»oÅoÕoëppBpvp pÕqqgqîrˆs(s±t&t›u/uãv™wfxby”z´{—|\}&}ó~Ÿ}Ü€R€éT~Ì‚‚V‚óƒ2ƒ7ƒIƒLƒNƒOƒ'‚ÿ‚Ó‚‚B‚©€æ€~~Ÿ~}µ}k|ù|f{ú{ŠzÊyßy6xØxuxwevƒuéuÆuXt¨sôrºqÌq3pAon.mwlºkÿkbjàj…jQjiih¢hThgšgBfãfff/fpggòhóiíj·kk3kXkdkjkÄllqlÅlôm4mŠmðnbnÎo ofo’o¸oÑoåoáo«oDn²mþml jÍih^geÎdc bÛbaQa`M^$\ZYÖZZ(ZY×Y÷ZJZŸZ§YÕY!X`Y3Z«ZëZ’ZKYìYhXÏX*WMV&TâS›RsQVP2OMÕL­KŸJ©IÛI8HÁHfH GúGýH2HƒHóIpJ J§KBKøL¯M8M§MôNN1P#RRAR…QäPðQQÕRåT1U›V‰V VZV-V+V†WWÛX¢YdZ'Zê[¼\”]v^O_'_ü`ÔašbscNd>eeòf¹gqh3h÷iÉjj×k‹llwlÇmmfm©mçnn;ncn†n·nïoEoµp$p¦püqhrsÞt‰tŸtJtu!tãuvv9všvsuðuÐu¨ut~t'sËs r&qXpºp odnÍn[mýmml[k†jÔj(ixhÄgùg6f`e€d¦cÄbßaða`Z_•^É]Ì\°[bZ4Y_XÉX$WaVØV–VœVÄVøW)WGW_WvW’WµWêX2XuXÈYPYØZFZÂ[&[˜\)\Ö]k]â^™_d``Îa…bMccÕdgd¼e eke©eéflh7ii:i[ii—iiMih˜h@h!h&h9hMhrhfhumm_nEo.oÊoÝo¡oSo)nÍmïm&mPntp-pUo)nánànbmœlÂlk%joj:jAj¸kÔlÆm lämunÚoþpÊpÆpzp(oÑoŠo©oªo°o˜o®oÍoûpp5pJp}pÙqfqïr‡s)s¬tt‚uu´vawxyYz‹{”|‚}V~~¯&–€R€ä Š‚@‚̓6ƒ6ƒ3ƒ$ƒƒ ƒ ƒ‚Ù‚š‚Vø¤K€ªØ~ú~g}ý}u|÷|ª|[{ã{Ž{0zy½y x›xKw©vÛvuŒu|u!tBs[r%qp[oÑonemÉmlOkªk(j»jnj-iÇiQih¶hLgägtföf·fägAgºhriVjQkIkùl4l6lIl1l{l™lplÐm mBm‰mönjnâoEo•oÊoío÷oùoïo½oWnÃnm&ljÚi”hVge•d8cHbÁb_aåa«a"^·[tYYKY¿YãYáY¹Y£YåZOZOYªXbV»WÁY†ZeZBYñYjXÍXWRVSTþS˜RPQ2PNõM´L{KFJ3ILHHG’G2FèFïG.G‘GñH[HÞIrJJªKHKëLƒLùMMŸOPºQQøR-QaQzSYSéTU¡V V8VdV:V V?VªWGWúX³YbZZÏ[”\`]3^^Õ_£`va>bbÞc½d”eof8fóg¬hji4i|jQkk½l3ll¶lüm6mmm’m´mËmßmún'nznäowoýpRqLs"t tCt&sãs¿ttu3v vv!v ušuUu-tÁt's¦s@r…qžpÞp/oxnÔnXmïmm1lµl*kvjÉj i@hvgµfñfePdxcb£aÇ`î`)_~^Ã]Ú\º[cZ:YSX¬XWvW VÌVËVàWW$W3WHWXWeW}W§WéX*XˆXúYZZnZ×[T[Ù\Ž]2]œ^E__±`Qa aÏb“cIcàd\dÆeeieÔf†gúh»höi ii@i:ihÎhZgúgÏgËgÛgîhhgôg¼gˆg?fáfufeÄeÖfPggÙhÏiìkl8mSnro’p»qØrìsïtèu×vÅwÖxÍy´z¸{·|¡}c~~”*Þ€{€ÿ|ð‚p‚æƒ ƒOƒ¢ƒ”ƒOƒ.ƒš„c„å… „ñ„Ä<ƒ‚F‚F‚x‚cÁ€Ñ€€?âŽ'~Ï~r~"}Ù}›}4|m{î{™{9zôzèzÚzŠz=zyÇy¦y›yryRyxÀx~x+wÓwfvðv“vqv_v[vRv/uýu×u¡uWtþt§tGs¼sBrÅrRqÌqZp“ounZlãkŽkrkZkmQnj÷j×kdizillºo5o"oþrgsèr”pÆo±oòo²nçoÈpÚr±sîu´v{uït]oamSphqpŒon°ncn—oáp•q9qÇpßoÍo`nÌn*m»mKlŸlk¢k1jÅj:ihðh gcgfûe³c°c¥cûcÕb__¥\Ö\ý]\=[Ò[aZûZæ[$[Q[h[Ý[ø[Æ[¶[x[4[¢\-\Õ]¹^U^ä_ÊaSbebäcxdGe eÈf«g’hwi_jHk+llômÎn±oŒpoq=rr·sitt\t¯uu|v"všvówGwŠwÂwÖwÊwµw•w~wowVw&vëv°v|vRvuÊuUtñt”tRtsÐs\r÷rdqûq…p÷pMo¥o.nØnÂn~nEmém£m“mcm‚mÃmÛnnmÅm­m•m[mlìmannüoëoøo‘ocozoKn¤mÞmMm´n°nËn%mémÇmdlxk‹jüj`i§i/i#i§jŒkKkãl3l§m«nÐoäpZpoõo¿o\onèo o!n×ngmómænnnmñm†m l¥kÌkj·jMiŒihöiIiÖj[ják‹ll×n-o€p ppoªoXnÓoo,o(oQouoœo¨o±oÀppq$qœrrƒrësNsÉtKtæu…v6wwäxÕz#{”|¹}¾~_~Í?±€€e€²€èI‚/‚¾‚Æ‚¼‚΂/‚1‚z‚0×è¶O€ñ€°€‚€X~”}Ê}|x{ê{q{z¡zhz1y¼xåx1w°w6vžuñuku2tötvsªr‡qªqpdoËo/n£nm.llkªkMjðj˜jDiøi§iHhßhngîgg­hKiiÙjMj…jÙkalZmmƒm¦mmmZmmlÖm mem¥nntnêoTo°pp7pPpEp&oýo´oCn mÒlÞk³jligºf:d´c@ba¶b aÛaë`œ\—XËW¬XUXëY„Y¹YŸYxY}YŠY>XmWQWáZZéZGYvXõX9WmV‘U®T„SQP8OMäLÂK€J%HöGéGF^EÇE@DãDîEREÎF/FˆFùGyH H¥I0IÐJnKK˜Ldkc§bÔaüa4`x_¢^º^]Z\{[}ZTYFX]WÄWWOW-W VüVÿVÿVüVôVøVýVûWW9WˆWåX@X˜XúYhYäZo[[¥\N\è]j^(^í_€` `¬ajb&bÚcqcàd>d¢eeÇg4gõh7hhh‰h”h‰hoh2gæggUgBgPgqggrgOgfÕf“fHeþeÌeéf;f°gThhüiýklm,nPopp„q r¶s¯tŸuŠvqwlx•y¶z¼{¥|t}@~~®Iñ€€ €å‚fƒƒˆƒö„B„K„y„nƒíƒ¢ƒ•ƒüƒÁƒeƒ­ƒ§ƒlƒ‚¦‚s‚M€¼€y€`€³O~è~„~8}Ó}F|«|%{‰zãzgz yïyây–yxªxRxwáwŸwqwLwGwUw+vÛvv,uÄuzu\uvuŽužu“uru?u tÙt¥tltsÃsDrØr[qÎq&p˜po†onmðm0l´lKl+kojáji¶isjj¢jkÿp:r²päoolJjj'kpnKpárPr„s sÓqðqšoãlÿneq%qöpFnm6n1o…oúp7p‚pQoùoJnn!mWl–l4kÁkjÇjiphxgÏfÌeodžd^c_bZb*ba‚`\^l[¡[[hZÙZ#YÂYáZZEZY²YƒYÌZ1ZZZ{[4\1]°__Ý`ƒa-aÖbBb¨c`d3döeÇf”gzh^iJj0k kélÈm¢n€oYp2pÿqÈrgssžt$t©uu•vvyvåw=w‚wÀwÕwÛwÁw˜wjwEwvìv‘vAvuþuÝu§uDtãtŒtGs·s^srrq›q;pÕpMoÆoXnÁn8mšmomvmDlümm9m>mIlÑllAl“m!m“m~lØlËm mdnnµn¿nan$n”nnPnmÈm®mŽm?mlm†mKl¹lFkÎk3kjÄji‘iqiƒitiœiéj†kk¹m{oo›oÑo¹o‰oInÝn×nÝnúo$oTovopoo°ppfpºqAq²rrorÏsIsÇtgu uµvwdx?yŸ{%|$}.}ø~€~ònÍ€;€ª"Á‚A‚ l‚ÈF‚‚>ûÃÅk€ €Aó~e}°|õ|={ª{'zµzXzyæylxowËwWvØvFu·u`u&tËt^sœr»rq-pfo¿o%nˆmìmDlÉlakÿk¡kKjþjµjKiíii'h¼hTh#hfhói¦jk@kÍl lll÷m„mÒnmõn0nmm`mm×nFn¶o!o„oÜp#p\pyprpCpoÃoTn¶mçlék»jpig²f"dpbÕar`b```Š`©^þZáWÀWDXX˜YGY†Y„YFY,YXW¦V|WX¬YrYeXõXVW‰V´UÊTÆSƒQþPmO/MýLÖK§JaIGäFçFEUD¡D CÑD DEEEçFXFæGzHHžI;IÜJˆKGL*M:MìNDMíN§R3S…S¡S{STYTÜTçUUUhUÖV;V®W*W³XTXùY¨ZFZì[”\@\ç]š^P^ÿ_ª`Raa±bcccÊde_f7ggÌh'hÜi™j[kk§llHl_lilqlslpljljl’lºlæm(m¸oŠqgrr¥s8s¶t3t‘týu6u uu;uUuuuTtÄt3sºsWrÐrGqãq=peo®on‰n%mÑmšmYml‹l kljÃjiCh€gÃfîf eXd các&bZa¡`Ø`_l^¬]Ü]\A[9Z'Y1X[WÚWžWzWWW#WV÷VæVÐVÄV¶V¶V¾VÄVÔVôW5W†WåX6X~XïYyYþZ›[9[ä\]]¿^{_'_À`W`þa°bZböctcÚdGd·eLfggÎgûh%h,hIhCh2h*gþg¾gpg>g"g"g,g;g.g fáf­fmf*eóeãffgfÕg^hhËi¬j¥k¨l¾mÚnèoþqr/s+t táu¶v¯wÑxñyìzÚ{¾|–}c~~Äj€€ˆ †ë‚W‚äƒqƒÊƒñ„„„Þ„dƒÔƒÀƒÌƒÏƒŸƒŸƒV‚Ùƒ ƒ‚Š‚1ÅI€»€x€bû˜C~å~k~}Â}Z|È|%{hz›zyŽy_y]y*x«xw¸w[wv×v£vvvhv›v¨vuv'uÚu‡u2uuuMuƒušu‰uYu$tët½ttHtsÁsQrßrkqÜq[pÔpZoÊo7n×n–n;móm{lÔl›lZkök¥k_kjÐjhiØj)lnMnxnmÏkhÕfHgOmp¸rrsEt.uÆu5s·qõnl^oqEp nÿmÛmŠnnÄo…oÉoÌoÂo¯o0nmØmlªl)k]j›j5inhÐgËg&fŸe;cjb‚bzb!a£a;`|_‘^_\EZ4YÛY{XkWmòm¤m0làlÄllhlCl'k®k jˆiòiØj½kÚkhýhhag.g1k]o r`sêt»u-u&u8t?qTn¢n¬oÿo^nLn_nánUmÌnão¦o™o,n™nanm2l’l+kIjŸj9i’hÍhDg>fWeÝd˜ba`Ô`ü`“`_‘]ú\ ZZY XhWêW¾W VwVW WÅXYX,W¶W˜XXšYYúZË[Ï\ê]Æ^m_&_Ê`;`êa»b>b™cjdteJf føgÝhîiãjÃk©l†mfn5ooÐp›q^r r©sNsîtzuuˆuúvev¾wwlw©wÏwØwÓw®w‡wUw(vív§vOuþuÇu«u•uyugut;s€s$rðr›r,qÅqLpéproÔo ngmžmCmlÎlªl¦m l‹l”lQknk„k‰j¦iKhsg©h…i&hpiÎl(m¤mûm¶mcmTm½mínYnRmÍm(l£lplqlel^lol_l>l/kãkÀk£j¼j iêj•k1k(jÑjXj,iâiÒkm^ncnÛoTosopo n½nmn¤nÐnéooo o8oBoVoxo¹p4p»q qJq—qíršsMttºu‡vCvÿxByzi{’|Õ}P}¾~B~» wÝ€L€´€“€"€A€€½€k€€Œ€º€‚€m€€Ã€r€Á8~°~#}›|ý|t{ô{fzàzbyöyÕy‚xÔxwrvìvzv uŽu%tÊt{ts¿s>rœqòq.plo¯onznmžm]mlÌlˆlOkòkzkjÁjgji¯iriui±jj¥kHkôlŽmmymàmÒm lÀm°ntnüoTo-nntnžn¸nöoIoŸoöp4popšpÅpÊp¬pppo¹oEnŸmÂl¼kŠj:hÞgZe·câb `s^Â]E\å\‰Z‰WÌWW$WcWÍXoYY#XêX½XVÉUhUSW]Y1YWX´XWxV¼UáTçSðR·QEOÒNsMALJòIÃH–GxF\E\DkC€BžAõA·AöBŒCACîDvDûE}FF³G;G¿HNHëIJ>JùK½LmM2MØNêP_Q'QšQýRmRåSPS¿T,T¥UU†V VˆW W—X)XÄYhZ Z²[Q[ö\—]8]Ý^|_ _—`'`¸aOaàbzcc®dXeeêfÄggühÐiœjYk k l lJl^lmlklrlolrl|lÂm:mƒn]p-qWr‡sØt®tÜtñu tØtÐu5u+tåtšt„t’tIs rþr]qÝqwqpuo nþn‰n=nm½mklül{kâkOj«iþi?h{g½føf"eZdŒcÌcb`a¦`÷`B_‹^Ì]ð]#\G[QZdY†XÉXWXWäW•W[W-VüVÍV™VWV%VUùUþUöVV%VGVlV¿WW\WØXlXøYžZJZì[‘\B\ú]´^}_E_ô`Ža;aøbcBcÈdSdÙeTffæg€ËNÔ‚@‚ªƒƒeƒÇ„„O„R„?„R„&ƒƒKƒ§„5„„eƒýƒ‚‚ø‚cò™H€ñ€¸€Q…~Ù~…~~‘~N}Ø}^|Þ|B{–{z‡yúysyx¸xLwèwbv¼v$u°utþuuu÷vuÜuÛu¼u`u têu7u€u¡uœuuKu tÇtt@sïs­sisr™rqšqp–oøonnùn©nYnm³m~mTlôl‘l;lkùkûkÙkakjÏj‰j‘j•hüf›gwhëg˜eGg@m$pÔr»tJsõsUt sÏržqOo„ofoÍoknÐn£nFm×nÎo¼o”n»m–lòlÛl|lkŠjðj¤j"iXh“gÓf¸ešdÐcøaÐ_^å^Î^¯]Ö[ÓY4V¿VŸVfVV&V3V9V*VEVÓWIWUW5WgWáX7XßZ[[÷\Á]~^D__Å`a‰bvcc”dae^ff±gxh#hûiðjÕk·l¡mƒnOooáp¥qfrrÄsltt“uuŸvv~vÈw wxw°wÐwÖwËwªwuwBwvÓv‹v#uÊuœuvu^uCut£s´srÌr‘r9qÇqHpÅpzoëo8n…mómFlülœlslulLksm1l i$ijj!ji¡iJheg¤g¢g¹g gúj!lvmmÞm‹lãmmÀnWnm·m9lÆlfköl+l6kîl kÔk•k‘k•kCj±jièjðkùkókjjèjÃjRißj{lmNn-nÄnñonán–nfnn½nÆnÇnânÞnÙnèoo8oloÉp4pzp§põqYrrÝs°tduuØv»wþyz{{·||’}.}Ë~X~íH”Ò£Y…¬™~чÆs¥€$€1¿M~}ì}l|ù|~{í{czëzryîy|yHxÿxrwºwv•vu£u,tÇtrts½scrðrjqËqpjoÈo0n¤n@mîm¬memlÎl…l7kàk†kj°jMjjj.j~jìk^kòl„lðmZmÉnFn®nmnmnnñoro³o9nÞoo@oqo¸oýpJpp´pÑpëpðp×p™p?oÒoPn«mÔlÆkšjAhÑgLe¤cÕaî`#^S\®[ÅZ»XÈWaVÉVÈVíWBWÍXjXwX4WñWULT¢UýX YAYX8WVËVU+T5SQÂPXNíM™LdK0J HëGÇF´E©D C¢B¡A¡@ë@§@ãABeC3CÙDkDñEŠF(F¬G4G¼HQHëI’J>KKÎL§MŽNdOJPPÀQJQÓR\RçSnSíTkTâUgUíVwW W›X3XÍYnZZº[d\ \«]L]ë^‡__›`"`§a1a·bHbÒcgc÷d›e\f4f’guh[i9jj¾kakál7lpl‡l‘l¢l¡lÄl×löm}mÛnoprRsÀtùuÝvvuËukuuutÆt{tft>søsNr„qþqqp˜poJnØnŽnGmÿm¨mAlÂl2k˜kjVi¨hèhgEfie‚dÁd ceb°baJ`„_È^ÿ^.]Q\w[¦ZíZ.YsXÝX}X8WïW—WZW$VèV¨VbVUØUžU‡UŒUUŽUU¸UÜV-V‰VàWdWôX„Y/Y×Zr[ [ê\¨]e^A__»`ka?b bšc=cÐdheeyeûf“fægg\gggrgsgyg‚g|gpgpg_gPg1gfíf¶f€fXfKfIf_f~f¨fßg1gŽgûh–injMk:l;mInIoQpQq}ü}Œ|ô|l{ï{xzûzyâyjyx›x,wÁw:v°vcuÐuJuuñuåuÅuêuúuªuOuuGu’u©u˜uyuCtót¦tNtsÅsvs+rØrhqâq^päpJo¿oGnÆnon%m×m™mem4lßlzl'lkÀk—k¢knkQkj˜jKiÒhf,f`fÀeödkfdjkm×rrúrŽs4rár_rEoÙn3o¿pRomþnln¢n¼o on™màm0l±lukùk^k*jÎjihgUfKec¥bäa]Ð]O\Â[Ø[ZWX7UëU/TÄTZZÓ[«\p]%]ú^Î_‰`Ra*aàbuc"cÉdfee›eþfrf”fÃføg gg)g>gXgkg}gˆgˆg~gqg_gTg7gfãfßfáfógg.gPgŒgÍhh‘iIj kkælÌm²no~pˆqªr»s»t«u®v£wœxšy zŽ{}|_}7}ú~£>Ú€„bÏ‚R‚¶ƒ3ƒ–ƒË„ „y……|…œ…b„Ÿ„&„ƒàƒƒ5ƒ‚ӂ䃂³‚HÔ.€uûöú€Øm~á~z}Ì}M|î|Ä||${—{zšzKyþyxïxGwÍw¨w\vÜvvs×ses.rËrGqãqip÷pqoÉonTmæmKlçlªlZl—lîlTkbhOf˜e9dùdÀd—eEfgDhzhUgXfsfe²e>eeËgÍjk/llnlsmmfmAl»lkël3lk©kkBjêj“j8j&iúi·iri\iéjzk!lZmJlîlkîkÊj¢iÁiáj•kÑlím—n,n\nMn0münbnFnmÈm¡m¬møn1nmn¡n¿nÈnòo+ooo»p?pçq}rrŠs$s¶tt§uv­wØx¤y y¡zHzÞ{v{ø|n|Ï|û|ý|æ|á|Î|ø}/}Ÿ~+~o~h~a~¤~´}ô}Š|Ù|{»{[zízxzy‘y9xÛxdwùw“w(v«v.uªu2t½tLsÖsts*ròr¿rzr$q¹qWpýp”p$oÃobonµnrn,mÜm›mZm3lúllkûkÜkàkôl4l‡l lžlðmAm`mm²mânnžoToýp¦q@qoŸoPpp‚p¡p¹pàqq6q[q|qq¡qžq“qzqXqp°p%o‰nÚnm kîj¯i\gÚfƒ>}>ø?Ó@ÇA¡BEBºC&CµDVDìEFF¬GUHHÃIQJJÕK‘LXM)MñN­OgPPÇQtR%RÍStTT¼UbV V¸WkXXËYmZZ¶[Y[ÿ\§]L]à^g^ù_™``—aa‡a÷bjbâcUcÆd(d–eeŽf9ggþhâi¿j‹kUkùl}lÅlým1mxmËnnór²uúvÙvºviv•vówwvævŠv?uÞuu8ut©ts¦sQrÁr!q—qp‘p omnÑnwnKnmµmSlãl\k»k"jiãim”m¸mÅmØn nYnµoÍ>I>D>²?w@TAAªBB|C C¬DPDîEvFF¹GtHHŠI5J JçKÆL•M]NNÐO€P1PãQŸRQS SÍTŒU:UäV›W[XXÐYƒZ6Zß[„\*\Ñ]x^,^Ö_A_Ë`W`ÐaGa¹b%b˜c c}cëdNd¨e eŒf f½g’hxiXj)jükµlYl¼l÷m%mÐnwwwvýv·v{vIv%uêu„uUuSuVuPu!tÕt[sìs‚sr‘r1qâqq+pÁpVoão{onÌn€nKn.mÖmymRm*mm/mlÅlQkåk­klk:kjÑjsi÷iehµfc{bHbßcädãe'd²d¤fedh¸kg¦eÒj”mþmOl³m„mFlUlömÖm­m¹m!k”kïlÿm`mltkõk‚kj¢jHihºh g)e˜dJcj`[&XcX XW‡WSWyWtW¼W4U SQRŒQ®PàP.PPáQ©R§RéRÿSwTTnUVµWèXøYZA[¶\Š]I^^ö_Ô`ŠaFaÖbjccÐdeSffógÅhi^j/kkÜl©mgnnÆotp)pØqƒr)r¹sCsÍttu'uÀv7v‡vÇww4wfw‹w„wdwGwvòvÊv–vPuùu¢u%t‡tsÞs›sYrÑr%qÃq~q+pŸpocn–mÉmlhk½jïjXiÈiæl#kæk_i†g0eÄdücÝc(bæbIcÄf€gÅgÌg¦g6fÊf,e~dÓc;cåf[gli|jjäkklkîk³k9kk'kAk{kXk jÇjBi´iFiiiiiïj-j‚kkÆlxmqlÛkrk,k iþiÉiŒiój”k l mmÖmõnmÓmámîmÔm m…mÅn n(n1nAnEnTndnŽnÄnóooloÕp>p®qqgqÔr`s5tuv.wwÁxixéyTyØzezô{c{ { {œ{£{¬{Í{û|+|Ž|ê}}A}^}q}²}§}$|{Ô{z—zNzy»ylyx¸x)w¯wXwvºv\uøuu$t¼tOsâsws'rórØr°ryr+qÔq†q2pâpŠp=oéošoMonÏn‰n@möm¨mdmCm?m]m•mÞn9n˜nÃnñn¢mÆmªmînn%n=nhn±o onoåpnpÞqgqºq‚qmqŒq©qÝrr.rDrTrZrYrYrKr.rqÑq‘qApÌp-o‡nÏnmljäi¬hDfÂe&czaÑ`?^Ú]q\7ZëYõYlWîU–TVSžR{RRÕS`T?UÞV U*TÝVïX)W”V¾UíUTISZRLQOØNzMXL;K0J$IGòF¹E•D CÆBôB#A;@a?ˆ>É>@>>V>Û?–@D@ØAAA˜B B¦C=CÖDpDóEyFFGG²HvIOJ*KKÅLŒMFNN®O[P PÀQxR/RóS»TyU+UàV“WTXXÊYƒZ5Zå[‘\0\Ó]r^^×_X_È`R`ÏaBa³bb†bíc[cÄd)dŽdÝe.e·ffœgVh4i#jjÚk¨l_lÜm6m¯nŠn¶o:poqqssvXwyw…wMwvõvÞvçv±vNuëuÂu|ut±tFs¹s,r›qúqopápYoÏo.nn3mám¢m:lÀlKkëk„kjji¹hÿhTg fåf*eOdŒcÉcbyaÍ`ý`0_u^È^/]\ï\Q[±ZîZ2Y¸YˆY^YX»X?WÄWXVüV˜VIUóUUdeµfYe*dÑf¶eÃeŠiCi‡gg1jôl§kqkâml©kÍl}mXlélÇlˆk•k¢kÂlkãkÑk‰kjÁj_j iIh¸hfödõc`-[¼XøWæWtWzW8V°V=UÑTVS„RÊQyQP¯PO‹OûP€Q,Q’Q¨RRÈS‡TaUÍV˜W¨XÑYZ˜\)\Á]b^+^ë_‡``”a/aåb¨ckd;eeÜf«gzhOi(jjækÃlmOnn°o]pp°qTqõrŒss¯tWuu¬v#vvv²véwwDwiwqwOw-w vÙv²vvv+uÖuu tosùs¹spsrŠqÿq„q'p±p oznÞn?mglŠkÞkj)ihBhGjjkj—i/f§e’dždc-b˜b.cbe”gg}gÈgïgìgefðeædéb8c;dµf]iàkejùjàk£><> >I>¾?S?ß@Z@½AA‡B*B·C)C®D.D¡E EŸFAGGåHÇI JsK?L LÄMN7NôO°PjQ%QèR³S~TEUUÁVWDXX¾YvZ3Zì[\H\÷]¡^<^Þ_u``†aa€aôb]bÇc,c•cÿdfdÉe eqeýfGf¤g8gþhúiñjÒk¢l]lîmjn&o oéqÔrŽr›r¹tBvuwWwaw%vèv´vzv‹v•vhuäuju2tát{tsœsr~qÒq1pp otnÒn@mÐmum5l¼l8kËkpkjtiÖi/hwgÌg)foe±d·cøcfbºaüa3`^_‡^Â^#]“]\n[Ê[3Z‘YýYYnYbbÁctdJee·e÷fmfÍg g4gPgtg—gÁgçhh6hXhlhˆh‘h‹hvhahNhKhRhHhLhohœhÃhïiiAi‰iñjtkkÊl†mUn0ooßp¬q€rcsTt3u uÑv¥w€xYyjäk]m m¸l]lÛn(kÁiˆjjjÔj›j’l%mmrm„mGmNm|m|mlmGm*m%m7mcm†m£mÏmþn n&n nCn¿o4o°ppxp×q#qmqér¡s…tfu1vww’wòx‹y2yÇz'zü>|>3>><>???á@1@ŠAA‘B BiBÒCLCÁDGDåE¬F‰GkHII IõJÁKŽLUMMáN¦OiP5PüQÂRSXT"TêU¶V†WMX XÂYrZ-Zå[Ÿ\Z] ]¼^e__®`1`²a=a¸b0bžccpcØdWÀW9VÃV]V UœU4TÜT€T'SºSPRûR°RvRTRGRdR™RÍS#S’T T—U+UÒV‚W=WòX²YƒZV[ [î\·]€^7^×_”`ea+añb²cedmm¼neo o©pPpöq˜r*rÃsRsötªuOuÒv@vvÆvñww)w#wvøvÐv—vhv*uêu˜u;t¹ts sPsr­r"q¡qpÞp½p ojn¸mql‚kík jhþh7gŠg gbhgàeÐcÅcab²bbUb=aëbBaÙ`ê``†bFddeÆdÓdc{cbâc%ca/`·dÉg`gŸh®iîj3iþi>ihhXhYgôhNhShEiiºjœknkällk·kÔlµmtlÆlJl×k£jrjŸjákpknjúkxl€mmmm"mAm>m4mlålÔlÛlþm$m\mm¿mâmËm¥nn†nòooþp^p¢pÝqqrrrÁs~tCu,uúv—w w¯xoyyey~yxywyy‹y¤yÌzz@zjz­zì{{E{k{Š{\zîzWyÄyKxñx¡xBw×w?v»vNvu¿u„uNutìt¹t„tGsýs sJsr×r¥rkr.qòq°qsq>qpÓp›pcp!oÜo™oTo nËn—nun}n°nóoCo™oÑp pAp€p§p‡pLpoŒoXo¡oÉoûpBp„p»pþqRq²rrwrØs/ss¸s­sÅsÐsÓsÍs»sšsxsKsr³rOqãqhpÝp8o…nËnmljði¸hefÿedb a<_Ò^w][´Z[XÙWFVT¤ST UUÀUØU¹T$UöUàV‹W/VÈUøUTIStRzQYPNÕML_K9J"IGéFáEëDýDBþB%Am@¨?é?@>À>^>#> >>u>Ô?$?k?¥?ø@n@ÝA;AŒAéBjBöC”DTE-FFòGÌH«I‰J_K2LLÔMœNmOAPPçQµR„STT TòUÅV‘W]X!XÙY‡Z7Zì[¥\a]]×^„_/_Î`W`ÝabaæbebÛcKc´dd„dçeHe¦eÿf›fÛggYgÔh¨i¿jÌk¡ljlûm{nozq.rŒstuèwbwŽw8vâvv(v vvuÝuÇu›ut±tkt:sìstrírAqwp©oþoan²nmelélvl(k¼k+j¶jRiîidhÈhgjfµf erdÃcíc%bsaÎa-`f_n^Ž]Å] \c[Ñ[=Z¥Z:YïY©YUYXÀXfWïWpVíV|V U´UMTíT†T.SÏS[RùR¥RfRFR3R5RiR©RêSJSÉTGTËUaV V·WlX$XñY½Z~[F\\Î]^/^Ý_©`qa2aöb¥cWd4dçe›f+f±g%g]gsggËgüh/hVhŠh½hëiiqzqÌr-r”rös[s¬sït'tCtPtStPtBt'tsÙsžsQrçrtqöqlpÝpæ>r>"=ý=é>>E>…>¼>î??k?Ê@@n@¿A.A¿B_C CÛD¼EŸF…GnHXI7JJçKÊL³MNTO2PPìQÅR”SiTjqj»k,k²lTm m¯nCnåoŽpUqqörÉsŽt[u7vvòwÌx¡ynzG{{ü|Ô}¤~bõ€h€ÜH­‚‚k‚Ń ƒtƒ­ƒÙ„„f„È……C…A…*…„þ„„r„ƒ™ƒ4ƒ‚Á‚^‚äÀq3€Ý€»€¶€“€=ûË~,~ý~¸~j~}i|¾|{fzÍzkz6z!zyÅyyx¬xi1g±g gLf˜f+g&gãg¢hhÔhÌi hph'h¹h'g5eUcãb.^[ØZ¢Z7YµXñX VãUûU SmRQ+PtPOMÝMYMXM;M$MwN®OSOšO¾OéPQÓR£S?SËT³UôV‹W»YŠZŠZÀ[[¸\T]]Ñ^¯_`a£b c˜dƒekfKg2h!ijjôkÎl•mLm÷n˜o8o×p|qqÀrWräsœtHtùu‹uõvYv›vÂvÍv×vÏv¿vžv|vTv%uðu­uUtät4s™s%rárr!q‰qpÖplpÌpMoMmìlÝlk$ji5h-gtgzg­fÔedzcÑb×bBbabJb5b aìaÊa;`A_€__ __F`Ña;`¨`Sa5bhc&a0`…aOaécèeœfšhji^ißikhUg¼gIgg‘gÍhhZhçiui¥j!jhj¸jókhll–l7kþl“m7m(l^kÞkÓk«jþjrkXl}l¦lŒl—lœlŽlxlOl4l*l!lJl”lØm mKmfmtmƒmÑn4nÁo+o–oßpp>pupÁqq…rrÄsŸt„uEuòvŠwwŽwÊwöxxx@xjxuxmx}xx¡xîy3yry¯yæz(zyâyyxÀxux w•wvRuÙu…u=tït«totAt sþsßs¸s…sLsrår¶r‡r^r-qûqÄq”q]q,pùpÈpšp]p%oïo¿o“oxomokozo‘oÌpp`pžpÍpÚpîpùq qq9qKq4q p–p©q#q‡qÂqýrLr·s'sŠsèt?t€t¦t»tÊtÒtÎt¼t—tnt6sís‹sr’rqxpäp@oŒnÊmûmljôiÆhzg3eÒdsca¶`W^ê]\ ZÅY^XVÒUêUuU4UUsUšV-U°U©U÷VËVÍUÏTíTS)R;Q3PN´McLJíI¿H¡G‰F‚ED«C¼BÎAÚ@ò@%?Š>ø>}>=ß=¾=ª=Æ=ö>">M>k>>á?+?m?¼@@©AVVßW§XtY4YîZš[G[ó\©]\^^Î_w``¯a7aºb9bºchØi³j½k¸lsmm‚mæo pšq¼szuZv™w_wKv÷v‹v:uñu¿u˜upuHu2utþtÆtwtsnrìrqqôqdp‡oªnÿnOm“lêl]kÕkijújuiçijhüh‹hgef°feSd³dcMbžaúa…`ó`Y_™^ž]±\è\2[ƒZïZtZ"YÝYŽYSY XŸX.W¶WFVÖV]UðU‰U(T¼TWSÿS¤S9RãR…RBRRR'RIR€RÑS/S T!T›U2UÓVpW WÎX|Y7ZZÓ[”\I\ö]¡^M^þ_`@`ãab[ccädsee¬f?fÃg/gŒgÍgÿh.hchžh×i i¸€(€`Ç‚%‚‚у4ƒtƒ›ƒÈƒñ„.„œ… …5…$… „þ„ï„Å„^ƒøƒ•ƒKƒ+‚Û‚{‚9‚Û–M€Ï€°€è€í€€U€*Ìk+~ê~„~.}¤|ó|[{°{*zØz¥zlz0zy·yWxÔxEwèw¤wow;w vÝv†v/uÓu~uGu(tÿtªt#s^rvq›p¦oÎomon¿n^nmðnnnm÷mºm†mYm-lülÍlŒlKkçkejüj´jViÕiAh³hg`fÖf=eGd+bãbbòbÏaÿbïddÃeáfìfte dúg@hëhVgeúf.ghhf}e—eqedàeae´eWeÕg fÿg„gnf³f‚eidWcÁby`+\´ZÚZ‚ZNYÁYXRW3V"USæR^Q,P¡P7OiNM'MLáL°LÚM“NMN±N¡NµO½PÑQ†Q÷RS!SÖTìV„WËX›XúY€Z=ZÍ[–\h]@^(_#`.a7b>cjñk(kUk´kµk²kèl®mDlâl%kšksk=jÂjZkhlDl;kûkñl l kÐk‘kžk˜k´kêl6l‚lÊmm7mFmam¤nn£oo[o“oÊoìp)pppÅqq‹r‡>=Ï=•=y=g=d=‚=¸=Ú=ß=÷>;>ˆ>Ç??~@ @¥ADAóB¾C D†ElFYGPHHI1JJùKèLÞMÔNÎOÀP¥Q†R`S7T TßU´V‚WUX!XçY¤Za[[¿\i]]Â^p__¸`^`øaƒbbƒbþcwcôdid×eBe«ffmfÌg^g¦gåh,hhùi’j\kJllËmTm®n!nüpqœsòuŒv!vÇvÉvv;uÿu¹usu3uutõt×tÂt¸t“tPsésfrßrfqîqepÈpo8n„mÞm0l†lkkjžjiªi/h¶hBgÅgnAn mÆmŠmLmlØl¦lglk³kTjòj¦jDi­ihxgýgzgff.e‡dÓcµbžb³c!b¦c1dod½e>f'f¦f düdàf1h0hf†eÄeQf;g«g›f„e’ed‹cõcŠc¹c´bùc drddldØd.c}cqc¦cb `_^!\ZÚZnZ*YËYNX²WÙVÕUÈTÇS¹RxQ|PûP‡OÔNÌM§ML¶LfLbLÑMOM¹MÚM’NDOsOçP;P—QQçRXS,TûVV¡W9WäX”Y(YÜZ¯[x\]]8^$_$`%a.b)cddæeÉf±gŸh†ihjFkkÕl€m"m¿n`nòo~pp±qDqÀrEròs­tVtâu]uÄvvZvˆv˜v•v~v`vGv+v uñuÒu‚u tvsüs}s r¹rgqøqqpÑpªp>owon˜m’lØkìjÏiòhëgçg!f¹fAfeÑe dec•bªb$aáa‹a‚aEanaWa=a¿`ª_Î_^‡^E]ø] ]]_]h]&\¼\½]d]î^d^”^*^_Óa¬bcöf¥h i‚i`hVgég„g…h\g“fògg`hQh¤h¯iZj jØk jæjåjÃj®jÞkkñl`l8k¦kjÇjj³j”j‘kkkÚkµktkwk’kzk(jÖjÓjækk`k­kúljlémlúlþm"mmmênanÁooMovo›oÔppTp“pàqZr rÖs…t,tÒufu»uøv3vgv£v¹vÙwvåv‡v7v(vw wFwƒw£w·wâxx?xOx+xwÜw²ww$v³vu›uWu tßtt[tsæsµsŒs`s9srórÑr°r–rurVr>r$rqÜq»q™quqKq"qpÛp½pžp„pmpVpNp@p7p.pp%pKpŽpÏpøpÿqqqq(qNq{q«qÜrrIrZrxr…r›rÍss~sµsñtZt½uuyu¼uìu¯uPu‹u´u«uuau0tét–t#sžsrwqéqZpÎp*oyn²mèml1k>j-i gßf³epd5býaÈ`‹_B^\¼[ŠZ^Y>WþVÑUîUT€T‰TóUzUçUàUžUÓV9UþU7TkSwR—Q¸PÃOÁNMlL#JìI¾H GœF¥EÉDãD C&BJAr@‘?Ä?%>®>2=Ð=Ž=]=>=8=/==/=Q=W=T=r=²>>?>•??p?ù@„AAÛBºC•DlE?F!G GóHÞIÃJ£K†LvMgN^OOP2Q QãR±S}TGUUÛV¡WhX+XíY¨Z][[®\U\÷]—^.^Â_T_ð`‰a a¦b&b¢cccûdkdÏe=eœffef¸ggŸgçh+hhÞiRiÙj’k_l2lãm]m¿møn?ofqÛsút“tÞuˆvvuàuºuPu tåt®tˆtt‡tktDt,sús–s.r²r#q¢qpqo³nùn>m„lÛl0k¦k&j´j7i¼iHh´h$g­g4f¬fekdàdEc¦bîb2a—a`¬`3_^Ü^E]˜\á\2[ZûZZDZY¼YgYX–X2WÂWUVäVhVU»U`TþT£T:SÖSvSR¹RmR0R QûR R0RfR¹S StSÚTHT¼U>U½VEVóW“X6XâY›ZIZî[œ\P]]š^2^Î_o``†aa²bWbéc˜d?dÙeŠffrfªgg„gñhQh¢hàiiWiiÂiåjjEjlj’j¹jØjîjéjÛjÞj×jÐjÙjðkkkGkkälEl§mm“nn¢o5oÄpGpÍqdqþr›sGsöt¸uƒv;v÷wÄxŠyFzzÎ{y|$|È}g~~¦‰è€\€É1—á‚2‚€‚˃ƒ^ƒ…ƒ±ƒÎƒØ„M„‘„YƒôƒÑƒó„3„]„L„+ƒÞƒƒoƒ ‚Ë‚À‚•‚^‚,‚‚ ‚ 뼕d?€õ€¤€Qòh~ö~°~l~}³}B|Û|M{â{ {={zÇzz:yÙyfxäxqxw×wœwpwOw6vævfuýu¿uzutÄt„ts^rÝr(q`pžoÈon¾ntn/n5n,nn8n5mþm°mqm:lýlºlsl'kØkukjÁj`iäiLh­hgqgfÑf\eöeTdŽccbjcc«c4cøe\eÊf™fÏeÐed‰d™e{f½f7d¥d.d˜e§fêf~eNe ed“c‘b3bbaFaÄb§aùaâb²b>a0`Ïac`û_¯]ú\~[©ZöZOYïY¤Y4X„WµV½U¨T¶S§R¡QéQJPÄPOMéM$LzL+LLJL‰L¹L·L»M¤N^NkNºObP PÓQWRmSÿT«U3VV®WYXXìY¿Z§[™\|]x^z_…`a”bc|dmeafWgDh/iiøjÇk‰l8lÞm|nn±o9oÖpgpïqmrrµsft t‘uuˆuàvvGvavrvmv[v@vuìuÆu©uMtÕt5s¨s3rÍrxrq›q*p×p—p~p4o£nìmðlþl:kGj;i[hfg“fÔf,ebee d‰c¯cbMaa1`ÿ`Ï`ead`=_r`P_•^ä^[]Ý]‘]a]]\Ý\É\¤\®\º\Ä\X\Û]B]5]-]^W^ña]eÈgˆh‰hªg‰gg?gÓh±g‘fßfÛg hhhhÍjjÙjüjój“jBji¼iÌjijûk jj^jejjLjUjOjîk^khk?kkk j­jQj9jMjŽjÿknkýl¼lîlÓlÇlËlÚm'm¬n*n•nãoo:oco˜oÖppQppéqƒr:rÕsdsöt‡tÎuuDu€uÂuÙuïvuÞu[tÿuu—vv]v¡vÍvÞvêww7wowtwawIw&vðv–vu”u@ut¿t€t>tsÓs¡stsJsrõrÑr®r’rvrYr?r&r qôqÚq¾q§qqtqYq=q qpêpÍp¹p°p£p—p‘p…pqpbpepŒpÉpÿq(q.q+q%qq6q`q–qÓrrHr…rºrùss,sQsŸttOttóuWuÃv,vev¼v_uŒuÔvvuìu·u„u=tàt\sÅs$rqüqkpÝp.osn¤mÚm l-k=j0igáf²e{dBc aÛ`«_k^/\ø[ÏZ¡YvXEWV UTŽTUU‰UÀU™USU‘UþU­TÌSàRìQþQPOMàL³KpJ7HóGÛFÞEöED8C\BlA‡@±?ò?I>¿>D=Ä=c=(=<Û<Å<´<§<«<®<¨<·<ì=3=‚=Ì>3>¢??‘@@¥AvB^C6DDóEÔF½G¬HŸI‰JyKkLaM]N\OKP7QQóRÎS›TgU.UýVËWXkY2YëZ›[H[ó\š]@]å^€__£`7`ÄaQaÕb[bÕcScÓdFd·eeƒeÝfBf fùgPgÞh#hlhÇii—j!jËklJlñmmmßnnoŠrvttstºu uuÄužumutÀttQt'tt$tsås¼sŒsDrér~qýqrp×p*opnÁnm3l‡kàkLjÊjNiÕiZhÐh.g›g"fªf&edôd`cÅc'bia®a`¶`Q_Ü_K^•]ê]<\Œ[Õ[@ZËZtZ*YçYšY7XÑX_WñW{W V™V5UÖUUT®TISàSƒS#RÄRmR,QûQäQîRRSRRñSRS¼TT’U U“V(V³WIWïXŸYSZ Z®[J[÷\¨]V]ñ^‹_0_Ô`h`óaxaþb™c4cÊdYdùe°fGfŸfÜgDg©hhphÔi)imi®iêjj@jkjœjÉjíkk.k4kIkHk6k(k&k.kDkdk†kµk÷lLl«mmƒmónjnóoˆp pŠqqœr.rÊsgttÇuyv9wwÊx„y8y÷zª{Y| |½}`}÷~y~òdÈ€6€«~Ó‚‚`‚§‚òƒ4ƒfƒ§ƒÙƒü„ƒÝƒ…ƒƒ¾ƒÜ„„„,„ƒÛƒŸƒ\ƒ‚î‚Ø‚™‚`‚>‚$‚ ‚û¶‚Y€µ€Œ€CÜk~î~œ~V~}Î}|í|g|{º{m{"zÜzƒz;yëyfxòxžxIwýwÌw“wJvìv{v&uïu†u tÈt„tsvsrgqšpÝpo8n›nLnnmÿnmømÓmµm†mAmlÂl€l>kïk¬kPjåj{jišhöhMg¬g?fàfzeíe~ed-b®a2bhcÃcòdfdäefDfedéd‘dÕdóe/e)dbÐb¤de0f[eŽcécYcbùb`aea`Ô_è_˜``}`¸`Õ`‘__T_–^¥]¶]-\¤[ç[ZLYÛYzYXmWV©U¤T»SÇRõRsrêrÅr¤r†rprVrAr"rqñqßqÏq»q«qšqq|qfqUq=q*qq pøpæpápÓpÅp·p¦p›p¢pÉpùq*qSq[qWqVqMqVqq¸qürBr}r´rõs8sps–sÃtt\t¹uuwuèvkvÞwwAv³uÐvvqv^v>v uÏu~utŽsçsDr¦rq}pâp2oon¤mÑlûlk0j#i gæfºe„dQc'a÷`Å_–^e]-\ZÜY¥XwWUVFUhTãTèU9U›U˜UXUHUUTûTDSFRNQ\PoOjNOM,KøJ³IgH.GFEJDmC‹B¹AÊ@å@?]>Ë>G=»=E<ø<½<ŽA>­??—@=AAãBºC¸D¥E…FrGcH_IZJTKLLKMKNNOEP9Q"RRáSµT‰UXV*VûWÑX¡YnZ0Zæ[‘\9\ã]‹^4^Ñ_e_ø`Ša a‹bb‡cc‹dd˜eeueÕf*f…fÛg:g‘hhZh¤hýiUiÎj_jÿk§lZlüm}mæn"njoÝrDt t¥t²tãu2uRu^ut¹tst sØs¿sªs§s˜spsNsràrroÁp\pýq”r7rÎs_sçtltáuHuu®uÌuáuïuïuâu¾uŒu5tèt‰tsrrër‚r$q³q)p¬p]p7oçoTndm}lælkÿkjÍiËh¨g—fªeŸdËd:cëceb¯aéaW`Î`_n_._B^]¦]¸]\ç\™\Z\[ã[Ø[¥[[a[Y[5[:[5[5[m[g[‰[»\!\n\•\±\‘]ûa¿c‚dee~eieoeñgNg—g|gf²g‡gëg¢gÖij‡j‚j—j*iÛi8hûiIi‘iÁiÚiäj?j—jXiši‚iÙj2j‹jªjÖjÜj¾jjljGjjjNjËk‚l l;l2ll$l/l9l‹m7mönwn¯nÕnóoo9ooo³oÝoôpp;p{pçqcqÙrDrŠrÐssksœsÀs®s•s‹sls–tt‰tÉuuXunu€u’u·uÝuüv'vÙ>1=¦=<³>>§?$?À@†AeB=CNDKE/F"GHIJ#K%L0M8N@O@P4Q$R RòSÒTªU~VWW/X XÜY¯Zs[.[à\‹]3]×^__´`E`ÒaQaÍbCb¹c7c¾dNdàebeÍf,ftfÂggpgÅhBh‡hÐiiiújŒkkÁlcmm„mènWn²oqƒs¸ttxt]t§t­tÇt™tDtsÑs~sZsKs=s rêrÑr¶r€r;qòqšqpno¬onVm~lœkàkMj§ji›ihªh-g}fÂf\eåeUdËd>cÆcHb£a´`à`<_µ_@^È^@]¦]\\[Á[>ZáZZBYóY²Y_XìXlWìWfVâVaUàU‹U:TéT‘T$S¥S%R®RCQâQ–QQ‘QÃR R[R¶S$S‹SöTsTöUlUöVWWÃXaXòYvZ Z¤[E[ô\›]M]ó^­_n``´aSaæbtbôcfcöddúe”ff˜ggQgÄh+h„hïiOi¸jj\j›jÎjúk&kQk|kªkÉkØkãkçkêkâkÒkÍkÕkëllJlŒlÕm.m’mìnPn¶oo}oôpspñqlqùr‹ss¹tOtßuov v¹w‚x@yyÈz‰{G{æ|y} }£~!~”~øcÛ€^€àQ­þ‚M‚‚‚¸‚èƒ.ƒkƒƒžƒdƒ ƒƒ­„=„8ƒäƒ½ƒÓƒÊƒžƒlƒKƒ(ƒ‚Ø‚†‚h‚‚‚˜‚š‚q‚3‚廜hJ-€Þ€€' ~é~«~}~I}Û}c|ô||-{Ä{azøzÇz†zJyöy…x÷xmxMxw•w0v»vÊv—uêuttètftsšs5r—qÑqAp¡o°nÕnEmÒm—mRmlçlölólélólÔl›lMkôk–k1jÎjaiÿiƒhôhZgßgugfseÓeKd®dbúaa$bGbðc¦dYdYcæc¥cÁc¸cÄdcãdcÄb´a·a@ažamaIbbëb°aîa–a)``V_â_^P]ê]¶]Ø]á^ ^N^2^¡^r]ï]›]*\O[MZ YïY[XÚX>WƒVŸU¬TÛTS‡RöRZQ}PˆN¤M"K¾J•IøIÈI¤I§I¬I¼IàJJqJÞKFKÔLpMMËNªOŠPiQOR>S(T UUëVìWõYZ [\+]7^[_z`©aËbäcödýffýg÷häiÍj£kellÀmamônsnìo{p&pÍqdrr‹ss•tttíu2u]u{uŠuu¡u–uvuCtøt¦t:sºsr—r(q¶q;p°p8oÝo¡nñnmllEkékkji'h6gfEee dœd%cObWa·a`)_W^î^Š]í]\ï\¼\…\[›[m[0ZôZÈZžZZiZ]ZEZAZ`ZYZyZ´Zþ[([O[[Ü\R\²]Y^ãaLbqcdyeoee e"fgìg“g+g,g›gRg€hØjj…jvjCiÊii iniMixiÆiîjj$iÿiÊizi«iâj j/jkj—jŽj‹jjhjGj4jhjÚkDk}k£k±k©k¶kÄkäl9mmönn©nÇnÜnôo o/oio•o“ooŽo²ppdpÔq,qnq¹rrTr€r«r’rfrvr³s%s¶ttRt¦tÒt×tèuu&uCuNuiu{uZu/tót¨tGsæsžs`s*rõr½rrgr=r"rq÷qìqÞqØqÔqÎqÁq¾q¹q´q¬q¡q–qq‰q|qrqgq_qOqJqCq8q2q(qqqpûp÷qq)q]qšqÄqÙqÜqÑqÁqÃqër0r“rïs;sfsysœsºsìtIt®uupußvjww´xIxàxúwýv°vwvÑvàv¾v‘vMuõu{tãt1s†rár=q˜pçp*o\nƒm«lÒkñjýiþhðgÙf±e‰dac:b`í_Ì^£]‚\e[OZIYGXJWVVV&U÷V VUÒU®UzUT¿TSRQPOMÿLÖK¥JbIGÑF¤E™D¥CÑCB]Aƒ@ª?Ö? >:=y<é>…??ó@×AÀBÚCàDÑEËFÌGØHßIóKLMN+O.P,Q"R RúSãTÉU«VˆWaX;YYåZ³[y\3\ß]ƒ^(^Ë_b_þ`”aa¤bbƒbôckcød’e!e¡ffkf´fþgNg¢g÷hhhªh÷i@i¤j#j°k/kÈlcmm€mðn_nqoq™s«tAtFttDt/tsýsÄs¤sns+srërÉr–r_rFr/rqèq©qbpípOoon)mNlukŸjûjXiÉiChÏh]gåg;fpfe™ed‚cëcebÍb.aQ`y_Ó_<^«^!]œ]\‹[ü[}[Z½ZuZ*YÜYY!X«X-W§WVžVU¬UVT÷T˜T2SÌS\RÞRVQÝQlQ4QDQ€QÎRR}RåScSÙTSTÚU[UäVwVøW„X*XÁYFYÊZbZù[’\:\ÿ]¹^__&_î`›a0aÐboccycãdpdïemff€fègFg†gÿhnhÌi2iŠiïjNj¦jîk'kQktk¥k×køll-l8l7l5l.l1l4l0lClll¢låm=mnn`n²ooWoµp#p›qq˜rržs.sÈtYtèuvvvµwXx xÔyšze{{»|W|ë}}ú~l~ÕA´€;€À7 ñ‚+‚_‚¡‚ÕƒƒLƒrƒ€ƒpƒQƒ„ƒë„ ƒöƒ¯ƒ ƒ©ƒ‹ƒkƒBƒ1ƒ$ƒ‚Ù‚©‚¹‚݂ނ—‚^‚N‚-õ¥~oe^€œ€HÚZ ~Æ~¦~b~}©}G|×|Z{Õ{j{$zézáz…yÝyIx®xUx/w©wXw(vëv–uõuktóttts­s4r‘qæq_pÇoào9n•mµmPml®lwlƒlÞlðlØlªlclkÄkskj´j;iÈi0h—h"gÎgkfÁfeXd¸d-c{bƒaxa6aµaôbVccoc=bÍccFbÚbµb@aýaÛaZ`½`b`i`Y```‡`Î`3_©_v_ ^×^Ï^\]Ì]r]J]:]4]o]e]\Î\†\Š]\Í\[Z ZYXXÓX;WVšUºTäT5SÁSRUQOnM!K¦JŸI£IHÎHºH±HŽH HÁHïIBI£JJ¢K/KÚLŽMPN+OPP÷QãRØSØTãUùWX!Y4ZF[Y\u]–^¨_ìa$bUcqd„e—fŽgh~irjNkkËl}m$m°n,n¨o>oêp™q2qÉrXràsOs¾t"t„tÛu u+u=uKuKuBu"tìt¤tNsàsdrËr>qÈqUp×pCoÇoFnÕnmAl…l(køk„kjƒi™h±gÇfÈf&e«eae>d‚c>bhaˆ`k_r^€]×]\¦\‹\.\[–[*[Z¡ZUZ/ZYÍY‘YaY>Y9YY!Y_Y‰Y¦YËZ:ZZù[c[ª[Ý\\]Æ_¡blcádªd·d dd4g‘g½gƒfüfÏgg9hVjjTj€jùjïjMjQji?i€j!j£j´j_jQj/iËi³iÖiãiøjjIjpjrjjj>j2j:jƒjÔjùk kPkxkxk–kÐkþlWmn$n‹n–n¬nµn¸nÐnãoo-onÿoo4oxoÑp;p…pÄpøq7qpq‰q™q q¦qºrr»s!sPs±tt9t(t,tStvt›t“tt”tntMt#sßs„s,rêr±rzrJrqñqÁqžq—qq‚qq…q„q…q†qŽq˜qžqžq“qŽqƒq~qzquqrqlqkq]qSqOqJqEqDqssÌsêttt8t”uupuÖvPvèw’xMxäy`y`x°w¢vÙvêvÿvñvÌvŠv.uªu t\s¨rþrTq£pépoHnomšl¸kÓjåiãhÑg¾f¤e€d[c7b`ñ_Ð^·]¡\š[ ZªY´X¾WäWAVÓVVgV+UÐUU7TÈTKS’RQaP_OoNgMDL JÑIHEGEõDõDC?BA¯@×@?)>Y=€<º<;¤;C:ø:¸:s:89ð9À9Ë:::ú;w;Î<m?I@DAMBaCjDjEqFyGŽH£I¸JÌKèLþNOPQRRþSñTâUÊV®WXjYFZZï[¹\x]/]×^y__«`?`Óa^aèbdbÕc=c®d=dÓeZeÓf>f˜fég0g„gÓh"hhÍiiUiÁj=j¼k6kÉlalömvmên$n o(rsss·sÙsÍsósãs›sPs+srýrÞr¾rrRrqöqíqÓq²qq^q"p±poln¹mêmlLkpj»jivhôh„hgªgfBeÇeCd¸d6c¢cbca«`±_Á_'^£^]—] \¬\/[¾[VZøZ¦ZYZY­YRXÕXYWÕWQVËVXUâUUT¬TOSìSzSR RQQP÷Q'Q}QÜR9R«S)S¯T/T´U@UÆVMVØWkWòXsY Y‘ZZ²[M[ú\«]l^0^ý_®`[aa¥b9bÎckcêdXdàeceìfsfëgXg‚gÊhJh¯iiyiÌj,j‘jìk4klk kÊkéllHlclxl~l|l€l}lvlsl~l lÊmmKm mùn[n¶o oSo“oßpGp¿q6qµr2r¿sMsÛtbtäuauëv„w3wíx¨ycz(zì{›|@|Ó}T}Ñ~F~¨ˆ€€„€÷Q¨ù‚D‚…‚²‚ðƒ0ƒiƒ|ƒŒƒ–ƒ³ƒ¸ƒcƒ8ƒJƒ…ƒƒ\ƒ"ƒƒ-ƒ+‚þ‚íƒ(ƒ>ƒ‚É‚‘‚‚›‚‹‚Y‚!úÛ¶ˆ€®€‡€A€êºˆF~Ñ~œ~W}ÿ}}|}| {×{…{TzÕzy¬y*xŸxVwÓw¥wRv¬vVuåu`ut¢t.sÄsAr½r%q˜pèpDoîo+nmnlálIkékÛlPlªllklkÌkkPjðj‹ji”hîh`hgŸfïeÿe"docîc—cb"a `íaEaaâbbGbgb'b–bÒb:aÕa4`±` `M_À_|_u_z__§__§_o_^º^…^g^5]×]Y]\Í\l\d]Q] \X[á[½[»[¼[g['ZáZˆYñYUXÄX0WxV¢UÄTíT_SÎRóR.PùNØL$JI¥HÅH(GþGäG¢GwG€G“GÉHHuHñIqJ J£KGLLâMÀN«O£P¢Q RµS×TèVW,XIYcZ†[ª\Â]æ_*`ra¹bæd efghi iíjÇkƒl2lßmnmêncnÿo«pTpíqŠr r¨sswsÆttmt¯tÞtòtýtútðtÐtœtNsös‹sr‘qüqzqp€oêobnÔnVmÀlôlDkÍkNjøj‘ißi,hRgOfxeùe‘e-e,d=cXbºaq`^Ô]Ç\ú\‡\[È[‰[>ZÚZ„ZYÂY‹Y?XþXÉXXrX8XXXXX,X`X›Y YkYæZ`ZÎ[D[„[€[£[§d)cQc!b^cÏc bÝe g•gÊf¾f2fÚf×gji)j0jìk‡kâk­k¸k,ióiëj­k«l½lGk»j½j*iäiÙiÁi×jj8jjjVj0iüjj@jtjªj¼jæk7k‘kÌl+lNlclÔmnJn†nwn|nwninun~nœn¤n—n nµnào.o|oÓp phpŒpšp±pÕp×pÞpûq4qŽrrbrŠrås(s?sDsSsqsŒs¹s½s²s­sˆs]s7rþr°rer%qõq»qŒqlqCq!qqqq qqqq+q5qCqMqVq^q_qbqfqjqjqlqpqpqjqkqiqcq`q[qYqUqTqQqKqJqLqjq©qêrr>rOrPrBr6rVr®s$s“sÞttDthtzt–tâu]uÓv?vÂwrxx¶y[y»yxÆwáw%ww.w.w vÅv\uÓu0t†sÓsrkq§pápo=ndm‰lŸk°j¸i¸h±g¡fetd[c;b`û_×^Å]Ç\Ó[æZõZYXbWÒWfWV¦V!U®UETÜThSØRýQâPÉOÃNÄMªL}KBIûH¶G|FVELDWCuBªAÔ@ö@?8>Y=ƒ<­;â;::Ä:_: 9Â9o9%999o9×:O:Ê;3;s; ;Õ<—?£@½AÑBêC÷EF'GAHaI€JK¼LÕMëNûPQQþRúSöTðUàVÌW³X‘YrZO['[÷\¾]y^$^Ê_d_ù`€a aœb'b¢cc|côdƒee f fkf¾ggcg¶hhKh¯hîi0ixiãjYjÊk=kÂlUlçmlmÝn nkoçq³rõsOsTsms€sUrír´r¢r›rŠrwrarqÕqÀq¶q q„qYq,pøpËpsoÝo"nrmÁl÷l#kIjŒiài5h®h6gÎgyfåf>e´edcöcWb³baT`U_H^Ÿ^ ]}]\À\e[ú[—[6ZÞZ…Z2YÞYmXûXXW~VüV{VU¯UETàTvTS‘S#RÁReQõQnPúPòQ;QšQþRuRñSvTT’UU“V!V¨W7WÆXCXÊYVYÐZr[[¼\€]T^!^Û_ž`G`êabb®cAcÒdCd²eNeéf|fûgjg×gÜhh™hôi\i¿jjsjÑk+k|k»kéll;lcl‘l²l¼lÉlÍlÈlÃlÁlÉlÓlêmmLm”mínLn°o o^ooÔppspÞqUqÕrYrásesêtetÙuLuÔvuw!wÈxzy9yòz°{b||¡}0}®~!~”wá€F€º$ß‚!‚h‚Ÿ‚̃ƒIƒ}ƒƒŸƒƒR‚Ô‚¥‚éƒFƒ‰ƒ‘ƒaƒVƒ|ƒoƒ9ƒTƒŽƒjƒ‚Ÿ‚—‚®‚²‚Ÿ‚x‚v‚k‚-ë´Y€û€É€€i€F€Æ†b~Ö~§~J}Ä}J|å|Œ|-{È{1zyûy[yxŒwèwŸwfv©vuÓuƒu:t¸tsŸs:r»r#q¡qpÑpgojnm«lílllkÔkÛll2l,kåk¯kqk*jÅjKißishðh_gØgRfƒeŒd­cÇc/bßbŽa®`Ž`h`á`îa*aa7a®a±bbGba„`”`_½_8^¶^‹^„^^­^ã^î^Ë^Ž^4]é]É]Ë]¸]q] \µ\c[å[N[Y[«[—[d[][I[;[/[Z·ZYYÛYJX°X%WrVŸU¼TÿTaS´SRLP¬M JmIpH¯GèGVGFÈFzF_FeFwFªFëGNG½H?HÓIaJJ¾KŽLlM^N_O`PoQR³SØUV#WVX„Y´Zá\]0^c_ºa bMc‚d£e®f§gžhœi“jtk2kål•m(m§nn´obpp¬qJqèrqrès>s}s¯sôtLt†t¡t±t¬tœtztFsûs¡s;rÊrUqËqFp¾p0o•onlmÛm0lkîkfjøjÃjGihÀgÐféf&eeddpdcZb‚`™_O^.]E\ƒ\[£[DZÜZhZY¾YLYX©XbXWÝWŸWMW)VþVãV¶V©VÙVúW@WÂXX¡Y;YåZ6Z‚ZÏZøZ”_OcŒbHaIbb%b)bæf„f|ff\f{f„fñhXi\jƒk5llæmlkCkk®lÚnbmxlók°jàjižiŠi¹iÛj1jgjYj)jjjIjoj™j­jÒk2k¢llil»m$m mÖn n:n0n:n/nnnnn(n@=Mgsf¤e×e_edêddb`:_|^Ä]Ú\Ú\[˜[ ZŸZ-YÚYdXêXƒXW­WeW V¼VVDVU¨U†UUpU’U³UÈVVW.WÇX…Y@YZAZ(ZoZd_þaâ`£`pa=apb'düeeéfŽf¡fÑggúh7ijKlmÌn'm÷m,lljmÄo nnmÈldk÷jNi²i¡i¹iÒj3jejjejejmj‰j•j‘jŸjÇk1kkïlZlÈm1mmÊmßmðmñmùmámÅmÆmÜmÛmémòmínnKn•nÙooVo‘o oloWoo›oÍoØpp;p—pêpøqqqMqZqdqoq„qyqrqŠqŒqqzqaq0pùpÆppkpJpoûoëoéoåoãoèoðoöpp pp/pDpZp{p—p¸pÖpöqq q0q>qLqZqkqoqwqzq~q„qˆqqŠq‹qq†q¥qÙrrcr—r«r¾r»r»røsVsÁt$tytªtÚuu(uHuŸv v¡w-w·xbyyzHzty÷y•xãx wÉwÅwµw…w7vÄv3utàt#s\rq³pÓoñonGmdlpkrjoijh`gWfGeCd/caü`ä_Ü^é^]#\9[XZ‰YÍY.X¤X WdVUÊUT‡TSqR¬Q¶P¡ONƒMcL(JßIHQGFDøCöBøBA @?>-=@<;;H:9Â9"8£8.7¾7_7S7¡88x8Ê9'9Ž9ó::H: :ï;&;c;y;};‚;<0=J>q?•@½AæCDEElFžGÍIJ-KXL}MœN¶OÆPÏQÝRáSèTêUçVàWÕXÈYµZ£[†\e]3]ú^²_^``aayaæbVbÔcScÓdMdÙe}ffzfÎg)g~gÖh#hfh¡hüi/ikiºjj|j×kBk¬l.l¹mGmÜnSnÝo£pwq\qàqãqËq™qqŒqŠqqžq¥q½qÔqµq™q…qvqKq pïp¿pzp=oÙoKnµn!m}l¬kÑjþjEiœhîh@gÂgygfeöe{dëdOc½c bIa‘`ä_õ^É]é]@\¤\H\[Û[Ž[8ZÓZZ1YÁYbXïXrWðWfVÝVVUßU}U.TÔT_SÜSLRÝR~R7QìQ‘Q*PøQ'Q”RR‹SS†TT¤U1U»VDVÄWIWÉXDX¾Y3Y»ZU[[Ù\º]˜^p_F``æa¢b:b·c(c«d:dÉe]eÝfwfúgqgöhchÃhähíiKi¬jj`j³kkKk¢kþlFll«lÑlþm*mIm[m`mZmRmLmNmOm[mtmšmØn#nunÑo/o‡oÓppUp‘pÞq1q”r rss‚sútptØuEuÉv]võwx=xây‹z.zÀ{^||™}}•~~p~äZЀ=€ž€ô@™ã‚.‚q‚ÀƒƒOƒ~ƒœƒ¤ƒ¡ƒ—ƒ¥ƒÖƒçƒÁƒƒkƒƒ¬ƒžƒ_ƒCƒ4ƒ0ƒ'ƒ#‚ý‚¿‚‚Œ‚›‚¶‚Å‚²‚x‚O‚ Ì™…rN*€ë€¼€x€Bñ¬~”~*}ï}Ž|ç|t|{ozÐzNy«xÃx‚xxgwævÂuôu´uÅuUt sÙs¡rïr]q÷qtqp`o¢nßnVn#mÑm!lGk‹kjíjìj÷k jñj©jji´h§hAgíg\fÆfecïc b@a‚`è`?_—_›_£_[_1_!_k`,``Ì`¸_q^™^W]ü]b\Ã\q\s\˜\º\â\ü]\ø\Ñ\¢\{\n\~\’\‡\m\J\)[÷[­[o[C[*ZÿZÕZµZžZ‘ZtZAYùY”YXWìWBVUÅUTLS¦SQ¨LóJ IQH`GFEbDçD‘DjDZDFDKD`D•DáEGEµF-F½GYHHåIÌJÌKØLäMúOPNQŽRÒTUVV©WüYAZ…[Ï] ^I_¬abcc­dÇeÊfÇgËhÙiÈj kQkýlžmm‚nn·omp(pÛq~rrer¯rôs so;o>oEoNo\ouoŽo¯oÐoôppFpmp•p¹pØpíq q"q8qLq^qmqyq‡q“qœqqšq—q–q¡q¾qìr-rvr«rÌràrßrïs*sŒsùtHt‡t§tæuKuu¨vv—ww‡x x²yayýz¡zËyôyxŠx+x9x@xwÑwqvüvkuÂu tIszr¤qÁpÎoáon3mPlWkYjMiAh4g.fedbòaÙ`Ò_Ù^ì^ ]+\K[{ZµZYtXçX/WLV\UzT¹TS„RÜR Q OýNêMÑL¤K[JH¸G|FVEAD4C.B!A @>þ>=<;:9A8“7ñ7f6ê6‘66×7K7¨7÷8I8Ÿ99u9™9´::`:²:ô:ø:Ü:Ä:Ð;‹<»=â?@6AlB CØE FAGzH¶IäKLBMqNO¨P»QËRÒSÚTâUßVÝWÚX×YÊZ¾[«\“]e^+^ë_ `C`ÓaMa¯bbgbõcqddÇeJeÖfYf³gg\gµh hUh•hÍi%iSiƒiÇjjhj¼kkykÚl\lÚm]mänPn´o"o£pQp£p•p·pÊp×pêpõq$q7q?qPq€q›q”q†qqqCqpãpÁp~p7oØo]nÞnamÚmAl„k¶jêj:i˜hîh8g§gNfñfoeìe{dùdvcôcXbœaãa/`t_‰^ƒ]’\Ø\@[Ö[¨[[I[Z¥ZJZY–Y(XÅXVWßW]VÕVLUÏUkUT´TSSêSvR÷R”RAQÿQÄQtQ&QQbQÓRORÆS:S´T-T¨U8UºV8V°W,W¯X+X­Y)Y²ZBZÖ[Ž\h]>^^Æ_‚`IaaÚb˜c3cŸd d—ee™ff„ggƒhh‰hßivØwsxx²y€“€ç=‹å‚6‚…‚Ƀ ƒMƒˆƒ±ƒÔƒò„„8„2ƒãƒ_ƒƒƒGƒŠƒŽƒzƒgƒXƒUƒMƒSƒLƒ(‚ë‚Ü‚æƒ ƒ3ƒ‚Ø‚¨‚~‚\‚7‚ ùÖ¯…U€Ë€¢€O€ä~¶~„~}i|Ø|1{Œ{ zvz&y§yKyxÀx†xvëvv1vQu/t"sÑssrWrqÒq8pœpoJnÕn“n]mém2l†kËjÎjijNj_jŠjoiíihóhJgWg¤g˜fûfŽf e>duc†b~aŒ`¸_ú_L^Ï^š^M]ú]µ^,_)_´``x_Þ^Y]—]K\Æ\[}[N[a[‰[¿[á[ø\\\\\\\ \\\.\/\\[õ[Ù[¬[x[J[ZèZ·ZŽZzZTZ*YðY¦YCXÆXJWÊWVWU¯UTLSÂS;QKšIƒHõHFžEpD¯DC²CƒCRC,CCC2CaC®DDmDèEmF FÇG‘HvIcJ[KfLqM‰N­OëQ,RgS­TþVNW—XãZ&[f\ ]ã_9`aìc,dKeMfAgChEicDbþaô`W_ò_Æ_D^r]e\g[¨[.ZŸYúYcXöX}W÷WbVäVpUÿUœU7TÚTYSØSWSRîRµRRR—R²RìS,S¬TTíUŒV4W2W·X|YcZ9[8\]O^Æ_¢``=aa¸b^dCeáhJhPgÙggžh’jDlBm¨nooRo6nänìo8oao©ožo^m˜jSi²iðiöjKj£jÃjðkk*k/k#jþjÇj€jhj™jñkAkllŒl÷mAmommmbmOmRmvmŽm|m[mgmomhmqm”mÅnn7nNn`nvncnpfpŒp®pÍpíqq0qMqaquq„q’qŸq¦q®q¬q°q¶qÐqïrrer¨rÖrórös s8sss×t;=F°?×ABECyD§EÖGH2IaJKµLàMÿOP.Q3R?SCT@U‹Ó‚%‚x‚̃ƒWƒ’ƒËƒê„ „$„ƒÙƒ¡ƒxƒWƒIƒ_ƒ•ƒ§ƒŠƒsƒjƒoƒnƒlƒ…ƒTƒ"ƒ=ƒhƒfƒ.ƒ‚Ì‚±‚¥‚£‚Š‚g‚P‚A‚½c"€Ó€¥€Xò‡=~Ü~b}æ}“|õ|{JzÂz†zyØynx÷xáxwv¢vv`uOt®ts¿srrqàq p¡p"ozo?onÀn0molÏlk0jÜjViïiÐi/hgžgŸgngpg“gTfÕf`e•d±dVc•bXaƒ`¦_Ù_*^s]½]\á\É]b^I^Ž__^G]\U\ [nZçZ…ZeZqZZÈZù[[B[^[z[œ[«[Á[Ð[é[û\\\ \\[í[Ø[»[‰[N[ZÂZšZvZMZYÄYzYX²XHWÉW*VkU˜TæTDSºRŒN)IcH¸HsGnEéDŸC×C;BÆBŒB0AöAÜAÅAÜB BJB˜CC€DDÄE|FRG.HIJK)LOM€NÅP QFR™SóUSV±XYZZ«[õ]A^“_éaIb—cÌd×eÔfÕgÑh×i¹jyk!kÉlUl¯m2m¿nko6oöpªq;q¡qærrNr‰r±rÒrþs0sZswsxs[s(rér¢rMqèqmpëpWo½o$nžnm mlŒkõkfjÍj=;þ; :9 87#6Y5ž54Î4Ê55E55â6E6»7/7™8 8„8æ8ù8þ99F9z9Ÿ9Š9C989:‘;È<ñ>?J@AÉCD9EpF¡GÐIJ2KdL—MÃNçPQR$S)T-U3V2W.X&YZ[ [ü\ã]¸^_?_ó`™a1a¹b)b¦cc@c“ddèeµf"f‰fàg/g{gÇh hUh£hçi"iwi›iÂiçjjPj™jèk&kpkÈl0l•löm;mƒmÞnIn£nôoKoŠoÉpp-pEpYpop~pŽp¹pðqq1q4qpäp­pxp4oßownðnrn m—m(lvk§jãj!ikhÄhgmg f²feyedœdIcÕc-bga¡`æ`8_}^‹]‹\¥[Þ[IZßZZXZ,YáYYX­XdXW½WTVàViUèUjTõTT"S½SSRíR™RMR QÓQ›QaQ^Q±R R‹RöSsSéTbTßU_UÔV>V­WWœXX«Y:YâZ„[([à\›]`^#^õ_É`”a_bbºcRcüd e9eÐfTfÈg7g–h3hèi_iÓjjBj™j£j—jëk=kok¯k÷l:lrl³lôm4mmÁmênn n6nBnIn8nn nnnnn8nvn½ootoÅp pCp„pÎq qEqˆqÏr+r™ssmsÞtDt‘tØuu•v3vÌwVwæxvxëymzzÉ{I{¢{ï|`|»}}_}¼~'~žkÜ€?€‹€ç<|Æ‚‚t‚ƃƒfƒ¡ƒÂƒá„„„„ ƒñƒÕƒ©ƒnƒqƒ‚ƒsƒeƒsƒŒƒ¸ƒËƒÓƒÃƒ«ƒ¾ƒÖƒ°ƒQƒ‚ì‚â‚È‚ñ‚肼‚±‚Â’‚‚õ²ŽV€á€‚€ÇP~ý~³~|~|¨{ô{»zÕyÕy³y}y\yu‡t¿säsrqpo%nHm`lgkbj^i\hQgIfFeGdEc@bEaN`d_†^«]Ó]\+[iZÂZ,YXÐWàVÒUÉTÔSóSRTQƒP¬O¶N·M¡LvK9IõH¥G^F%DóCÐB©A„@U?0><á;Ç:¼9¹8À7¶6›5¨4Ø4/3Ð3À3ä44]4Á5>5¾6B6É7=7µ8-8Ž8­8Ÿ8v8y8“8È8³8u8¡8ì9Ñ;<<=i>¯?ýA?B‰CÆDÿF3GhH¡I×KLFM{NªOÎPíQÿSTU,V4W5X1Y'Z [\\ó]Ñ^£_f``½a\aðbjbÞcFc„cÙdzeXeûfLf“fúgag¬gáhh\h°iiBi’iµi×iójjGjxj¹jèk!klk¿llcl¢lâm+mmÍnn_nµoofoªoìppppp3pzpÈpãpõpäpÁpŒp^poÄoUnÎnOmÝmqmlSk–jØjiSh§gùgdgf f eZdÆddd#c¾c5b…a³`Ü`_B^d]~\ [Ú[/ZšZ+YáY®YkY XžX2WÛW•WaWV¥V3U¿UBTÃTPSßSvSR¿RvR5QôQ¾Q‹QsQ”QîRbRÌS9S²T-T±U*U¥VVwVáWPWÓXgY Y›Z7ZÖ[Ž\D\ú]Å^•_r`@aaÐb˜cOcödŸeBeÔftfóg~hhXháixiðjlj¬jÜk7k_k2k`k¦kØllTl”lÌmm=mvm¶món+nWnpn}n†nŠnƒnqnVnAn=nDnVnmn—nÍoo{o×p/pupµpóq1qiq§qðrCr§ss“sùtXt˜tÅu u‘v9vÔwTwÖx\xÕyZyøzž{6{w{¤||{|Ô}}c}Ì~<~¯'Œö€W€«€ñc¼‚‚t‚¼ƒ ƒOƒˆƒÉƒõ„„„„%„)„ƒÜƒÂƒÈƒÇƒºƒÔƒÝƒÿ„0„6„$„,„1„+ƒåƒ[‚ø‚À‚·‚Ùƒƒ#ƒ&ƒ ƒ‚Ü‚ˆ‚‚‚s‚e‚D€ð€¬€C£t"~‡}|¡|r{zz#yÕy«yŠy$x›w´vév^u²u©ut¢s´rTr.qÕql kìkÆk¹kÄkÔkéll.lXl‹l½lùm8mzm¶môn5nnn§náooJo…o¿oöp1pnp¨pÖpúqq=q]qzq–q¯qÉqÛqïqùrrLr{rÄss"sHs“sûtdtÂu&u‘uávvLv¥wwxwËwíxtxáy-y¤z zz÷{e{˜{Qzîz±z yŒy‹yiyxhw¸w vfu¨tât s)r2q$pon4mJlLkGj<Í;£:€9p8a7^6F54"3h2ã2¯2º2Ø33{44¦5G5Þ6v6ø7m7Ú8>8b8E7þ7Ó7Á7è7¿7‹7Ã89 :R;‚<À> ?Y@¬AøCBDˆEÆFÿH>I~J·KõM0NjO™P»QÖRñTU(Vn¶n,m®mIlÚl4k„jÇiþiChŠgågmg f–f eKdŸd3cîcšc-b…a¨`½_î_ ^R]~\§[Ï[ ZcYßY„Y¯>D=÷=Ë=¼=Ç=ö>]>Ì?T?ï@£AdB;C9D6EDFPGoHµJKLL¡MýO`PÌRNSáUpVüXƒYò[]\¾^_g`¿bc]de‰f‰gŠh~iUjjÁkgkølilæm†nXoo³p(p„pËpýq/quqÈrr"rFrfr|rrlrHrqÊqrq pŠoúoTn¹n*m°mIlÚldkÔk8j j-ißithÓhg3f¿fWeñdºbˆab`ˆ_¢^™]®]\=[oZÔZMY­XñXKW´WVWU–TÚT*SpRËR QOP¿P,OqN°N/M´M2L½LbL2KýLL%LeLæM[MôN¼O¬P«QÓST5UQVlWvXkY YÊ\t]^ˆ_5__¤`Ôe­e–e¿i+i½iúl™nnkoonÎn§n_nYn‰nm²mÌngnÎn l5k†k½k”kŒknkTkVkOkBk4k.j÷jsjOjžjþk6kekhkŠkñl-l;lkákðlal¸lÉl’lLl:lslÃlÜlÌl¿lºl¥l~l1l l>lklil=lkïk¼k“kEkj¡j†j™jnjdjVjDj?j8jQj6jj6jRj„jjÅjÅj¶jãk(kOk1jýjÞjÖjÝjïkk:kQkzk¬kállYlœlàm'mkm¯mõn8ntn°nëo'ojo°oûpHppÅpòqq6qUqsq”q°qÍqãqúqûrr[rˆrÁrós'sfsÆtBt°u ucuÄvvWv—výwHw²xExxíyKytyÞzVzÁ{!{~{³{˜{=zøzszyãy›yCxÀwîw+v„uÍu t*sDrLq7pon(m4l+k!jihf÷eìdÞcÛbÖaØ`Þ_ô_^@]e\ˆ[½[ZbYºXùXWUðTîSóSRQ+PAOMN@M$KêJ©I`HFÄEyD2BöAÀ@ƒ?D><Ñ;”:a9<8#75÷4Á3Œ2§21½1¦1¬1Ì2+2Ä3x4/4ë5™676¼707•7ô87ý7ª7X776È6š6¤78-9s:°;û=S>¦@AbB¿D ESFšGÞI&JgKªLäN OVPƒQ©RÐSûU"V>WSXWYVZI[8\']]ñ^Ì_˜`Q`úa˜b,bÁcEcÅdGdše,f fSf¹g2g–gÏgëhh-hyhÑi'iiiªiÒiëjjj7jOj_jmjj¦jÒkk/kPkmkkšk·kíl3l m.m¼nt=Þ=g<ß<{{?(?ò@ØAÖBÞCêDþF.GnH»JKoLÙNNOÅQNRìTV.W¿YCZ¾\&]^Ö`$aƒbÕdefg hh÷iºjhk k¡l lšm8mþnºo]oÒp/pxp¬pæq(qzq·q×q÷rr#r rqíq·qqqp³p1o onkmämnmllkkjj+iÚi\hŸg¹fïf|e¶d)b9aE`÷`"_2^"]\M[}ZãZcYÕY-X€WáW(V^U›TÓT SLR{Q¹PÿPTOªNðN.MhL¾L'KšK6J¿JvJbJ[J«JøKYKãLsM5NO PQDR‹SÙUV$W4XX¢Z¸\ô]Ñ^^¢_-_deše›h°iÌjl»nnnênänÍnþnTmínznbm„m$mžn”m³lél¬l^lkÕk³k›kˆkbkLkRk0jÇjfj„jók@kk€k\kakÉlkík½kÇlldlˆl‡lOll#l\ll¦llpl^l9lkÂkµkåkõkäk¾kkQkjÏjqj)i½i–i©i~iQi0ii#iiiiiiiJiRicidiai’iÏi÷jiòiÙißjj(jWj‰j©jÙk k>kkÁl lOl—lãm.mxm¿nn@nƒnÈooco»ppdp­pèqqEqlqŠq§q¿q×qèrr r2r{rœrÈss>s”tt…tåu4u“uüvbvªvâwMw´xAxáy!y\y¤yÃzz‰zö{?{…{Ð{à{{z­zTzyÁy‡yx wWv¨uðu2tSsdr`qJp onmlk iÿhògåfÉe²d¡c›b”a’`’_£^Ä]ë]\A[}ZÏZ(YkXŽW‘V…UwTuStRyQ€P‡OŒNˆMlL(<ã;¡:_9%7ò6Ò5ª4362 1a0ï0¶0£0°0ò1t2+33Ö4¤5]6677_7¬7É7¦7L6î6œ6[5å5Š5.5«78o9Í;&<’=ì?Z@ÆB-C‰DâF4G€HÍJKZLšMÞOPKQzR°SäUV;WWXdYiZd[Z\D].^ ^æ_°`iaa°bCbÝcbcâd`dÌerf+f¤g1g¯hhhhhLh˜hîi:i}i¼ißiöj j"j:jJjOjKjKj\jrjŠj¦j²j¼jºj´j¼jØkk›l3lÂmdnnZn“nÔnøo"o9omo°oèoüp poíoÎoŒon‚mãmdlélnkàkAjiàihcgíggf feSd‹cîc–cMbâb'aH`z_È_^<]f\’[Î[ZdY·Y"XµXPWÚWZVßV|V"UÓU“UUUT­TLSäSuSR¬RWRQßQ½Q™Q~Q QûR^RÁS.SžT T~TóUrUâV7V’VôWwXX¸YDYÒZx['[õ\Ï]^^_ _ñ`Åa}b1bÿcÎd—eOff¬gUhhÅi\j jrjÖkDkƒl-l±lïml÷lÜlÙlðmmFmzm¹mûn,nOnen„n®nÕnþoo6oFoCo4o o nûnónñnýooHo|o¬oæp*pkp®påq/qlq®qær'rhr¹s/s´t't‰tÚuu5uŠvvw"w«x6x·y(y™z z}zÊzö{{Y{ï|.|x|¦|Ê},}›~ ~”~ä1¢ÿ€€lI–ô‚B‚_‚K‚¨ƒ'ƒ‚ƒÖ„„3„O„r„…„†„`„e„‰„›„–„£„Ê… „ü„ò„ß„Zƒ¸ƒmƒŽƒÃƒû„(„7„I„V„8„ ƒ~ƒIƒÝƒŒ‚Ò‚Ô‚­‚‰‚;³€¼€œ~Õ~3}G|{Ö{•{2zÖz`y¼yIxavYv¯v÷v3uvt§t+s£rër¦rnrOrDrq×q)pPoßo©ownÔn:m_k¼j‡i·h“g}gugÅgffVeÖeYdÓdc›c7bhbYaÛa`¼_Ý_]m[‘Z›YýY€XªWÅVÂVU´U}UcUNUGUJUeUtU…U U¬UËUÞUøV3V”W#WÀXpYY‰YêZ9ZSZ}Z·ZÜ[ [>[d[y[Š[[[’[Y[#ZìZŸZ0Y¯Y X¡XTXWÙWuVÛV"UwTO=J¶JÇKI FÄCŽB@Û?r>?=5<Š;ú;i;:ý:Á:z:Æ;;;½}?h@oA„B’CªDÔFGƒHÝJBK¶M3N¼PTQúS¥USVõXZ[\ð^D_’`çbGcd¨e±f¸g¸h›i`jj´kKkÐlGläm¢ncoooÛppSpˆpÄqq`qˆq¦q½qËqÈqµq’q`qp¾pMoÕoJn¹n.m­m:l·l>kØkcjåjsj!i¬i hYg’f’ecubaE`ú`_¤^—]€\©[ÿ[XZ¥Z YnX½XWQV˜UÃTäTS.R\QŠPµOêO0NvMªLÈLKJJ¬JIpI H»H¶H×I ImIàJnKKÑLœMšN¤OËPïRSkTµUøWWÀY7\\Ã]^f^ï_a]de´gÖiLjZlšlàm¬n-n6nªnÝn¥n'nDnmFlñm‰n:mÓm?l¶l{lSkëk×kèkÂkkkk>jôj®jžjòkKk|kªk‹kNkOk·lkëkÃkãllClLlJlkõkÿl6lYlflRl.kýkÐk’kIk:k^kfkNk+jÞjªjuj#i»iQihÔh±h’h_h9hh gûgégígìgÞgähhhh#h+h`hœh¿hÕhãhçhïiiDiƒiÀi÷j5jsjµj÷k2kukÀl lWl¨löm@m‹mÓnn\n¨oodoÊp+pˆpÕqqXq‹q³qÓqèqürrrr:rŠr±ràs*sis½t6tÈu.usu¸v&v¢vûw(wvx&xåyHyy¶yÂyçz>z®{{T{„{Ö{ë{izÛzÏz¯zVyôyˆxèx.w†vÎvuTtmsrwqYp)o nmkÿjòiähÏg¹f˜e~djc_bQaG`D_R^n]–\Á[ô[:Z‰YÏYXWVT÷SñRëQâPÝOØNËM¯LˆKHIýH¯GZFD´CgB@Ý?œ>T= ;Â:x9+7ï6¼5•4b31Ä0Ö01/×/¬/­/Ü0I0ö1Ì2«3Œ4j505ã6v6è737i7u7F6ë6ˆ6/5É4ý4_3Á4D5ã7M8Õ:H;Æ=->±@/A¡C DjEÁGHqIÆKLXM•NÑPQLRŽSÊUV-WMXhYvZv[p\b]N^.__Í`†a,aÊbbbùc‚ddrd÷e®f@fÞglgÜh'h,h(h>hhÄiiXi“iÕiîjjj)j>jSjVjOjDj=j5jj>j6j'jiüiïiîjjvjøkllÅmYmÄnn`n•nËnêo oGo†oo¬oÂo½o°oŒoKnÛnCm´m>lÊlPkËk@j­jiUhŸhgÃgifîfneÚe3d}cÝcsc3bébTaŒ`À`__^¡]Þ]\Q[”ZÛZ)YŽYX¡XQôQÂQ¨QQ‚QœQìRMR¬RþS[SÂT3T§U UjUÇV#V|VáW[WàXkXüY†Z#ZÖ[\^]3]û^°_e``×a¤b`cc°d|e=eÜf‰g7gâh€i%i¹jXjókYkÒllFlÑmZm§mÑmÄmrmNmim~m£mânnOn{n¨nÇnÙnóooo2oOopo{oxolo_oMo=o8o.o5oHo`o}oœoÐppYp˜pÔqq:qdq‘qÏrrTrŒrØsDsÑtEt˜tÚuuHuƒuÏv4v³w2w²x!x—yyoyÛzzWz°zÔzó{|{Ö{õ|"|7|M|}}„~~M~¨WX¤€P€»[Ä‚#‚ ë‚(‚©ƒ)ƒƒÎƒü„&„I„n„‰„Œ„‹„Š„¢„®„Ç„à„ë……„ê„Ù„•„f„7„)„J„y„™„¥„¾„Ì„±„À„mƒ™ƒ²„ƒÉƒ`ƒ?ƒ‚‚+S€pA~ÿ~«~1}|Ë{½{zqylyyxâxOxw:wwvHuItntCt sïs¼sr9rrer%qîq{p‡oîoÝoÛo„nÅn mGl kBj®iÍhglgágUf0e¹e‘ejedSc|cb‚a>a`Î`_A^ˆ\Ä[Z9Y¢XÈW—VMU?T©T_T)TSÝSÄSÔSöT(TOToT‚T‡TžT¹TÝU UWUÚV‚WIXX¿YMYÈZZ/ZoZÂ[[-[8[J[_[e[t[[†[p[O[ZàZ Z8YÀYXªXNX+XWÙWPVyU•T*NìJ”KaK'IFC|A¯A#@A>Ã=z<^;o:›9ö9—9€9]8ô8Ü9A9¢::”;6;ç<©=‡>€?ˆ@‰A–B©CÕEFdG¾I#J…KîMhNëP‚RS¶URVäXkYß[O\]Û_`Va bÜde ffõgáh«i_jj›k'kll¥mRnn ooto°oåppNp’pÙqq=qXqlquqpq\q@qpÎp‚po¯ojÒjxji¢ibihf¨dôc¡b¼aêaE`®_÷_/^>]8\r[Ð[4ZYïYOX¦WýWNVˆUµTçTS6RjQ”PÀPO?N|M LÃKðKJbI§HùHYG¶GXG)GG/G\G­H&HªI;IÕJK[LGMKN[OsPŽQÂRþT8U‡VœWuY…[=[µ\Å^^È_g`Ebd—fŸhi|k°kålm9mm—nIn8nRnMn\nUm¥mCm–mšm mÉlŒl l]lBkøllKllkÖkvk"jâjïkBkk¡k±k¢kck;kmk»kÛkÄk¶kàkýl l k÷kàkÚkôlll;l4lkëkªkbkjÔjÉjÙjÞjÉj jlj-iëi®i_hÒhRhEh#gÏg§g{gGg/gfûfâfÍfÃfËfÄfÇfáf÷g gg%gHgsg‘g­gÉgâgìhh8hah®hôiDiŽiÌjjYj—jÏkk^k«köl@lŒl×mm`mªmòn9nnæoFo­ppupÒq'qlq¡qÎq÷rr#r)r0r6rPrrÁrássUsžttƒtþuWu‘uÊv4v°w,wowjwõxÕyvyßzyÏy¸zztzÍ{+{`{h{ {Õ{^zÒ{{=zìzƒzyzxëxMw™vìvDuŒt°sÅrÎqÀpŸon{mˆl˜kj™i–hgzfbeTdKcFbCaD`J_b^Š]¹\ñ\4[zZÌZ!YiX—W©V«U¬TµS»RºQµP´O¯N«M L€KUJ HçG£FbECÞB¨Au@B?=à<°;|:>97Ì6¢5~4M31Í0‘/®/.Â.©.¾/ /†0/0î1¿2Œ3^4155º6I6µ6ù7%7*7 6·6b6 5·543@2}2ô4’6 7„8õ:g;Ô=B>¹@*A‘BÝD,ExFÈHIWJ”KÏMN3OePQÂRôT'UMVkW~X„Y„Z[s\]]?^^á_ `U`úa“b(b²c7c°d%d£eEeÕfJfñgƒgÔh h0hQhdh•hÒi iPi„i²iùjjj0jkñlšm mumÖn+nun©nÖooMoUoVocogo^oAon¡nm¤m/lµl6k¯kj’i÷iDh–hg»glfõfpeÜe9dcÚc_c bµb)au`¯_þ_F^„]»\ó\?[‚Z¿ZYdXÝXnX W—W V½VZU÷U UETíT™TRTS®SaSRÁRpRQÐQ¢QˆQ„Q•QØR?@-AJBˆCÌEF†GóIhJÜLRMÛO‚Q/RÕTuVW®Y1Z¡\]Q^„_½abFc~d˜ežf›g‡hWiiºjWjÞkakßl_mm®nMnÉoo^o‘oÆppMp~p´pÜqqq qqpîpÂp‡p.o¿oWnãnfmümŠmlšl*kÆk€kj¬j*i¥i>h½hògsedc[b§aÑa `M_^¤]¢\§[ë[]ZÊZ%Y|XÖX/WjV›UÏTùT&SRRuQP˜OØON9MTLlKfJoI¤HåH,GXF™F EšE~E‹EœEÄFFGG HHÏI˜J—KÍLçN O-PRQ‹R¾TUlV…XY Z–[œ\Ô]ô^Ï_éa?c%efjgöjÉkk^kÝlJlôm€m–n:n‡n~n¶m«mymÅm1mGn4lùk£kØkûkèkþl?lLlalSl#kçkk‹k»kÃk¢k§k¢kvkek–kÌkÇk¥k¡kÉkåkãk¼kŽkŽkÐlkÿkþllkèk®khkj¼jpjWjbjojYjiÚi iIih´h0g¾g§gpgfÙfŸf]f/feêeÓe»e¢e«e¬e»eÚeôff7fLfcf„f¨fÆfÞfôgg,gUggÓh+h˜hði0i{iÅjjAjˆjÍkklk»llRlžlèm-m{mÉn n{nÜoHo³p&p–púqJqŠqÇqûr"r?rIrRrRrnr¯ráss*scs¤ttµu4u}u¥uÕv&vwQw·wŠwÁx‘yizzyßyÅz+zŽzè{7{S{ {M{Î{‹{ {7{[{z³z8y°yxhw½wviu¢tËsÛrÝqÉp¥o„nsmulk‡j€iuhggJf/edca÷`ò_ü_^<]l\Ÿ[å[+ZvY¼X÷XWVUT#SRQ O÷NéMÔL¸KJVIGÚF–ETDBÓAš@d?/=þ<Ë;–:e9$7î6º5”4_31³0P/.@-Ä-¤-Æ.'.¹/m020ú1Ç2†3F44ê5§696 6Ô6ò6ì6Ä6]65À5O4¨3‡2101ý3·5,6«8&9 ;<•>?”A B]CªDøFXG«HùJAKLºMðO"PZQ—RÏT U7V]WsXY‡Zƒ[w\b]G^ ^ò_±`haa·bObÚc[cÐd@dÁeUeÛfzg3gµgýhhDhkh”hÊi iGi|i²iÚj"j;jIjQjZjajljpjpjajYjRjGj9jiøiÅi‘iUi$hòhÕhôiii÷j‹km±nn^nšnÞooo nþnønìnànºnnnmml§l"k–kjyiêiBh hgÊgxgf…eðeMdcÙcFb×btaúaS`_Õ_^C]y\¿\ [XZ–YÔY$XšX*WÀWXVïV“V-UÑUƒU/TØT{T)SÚSŽSHRõR“RCQôQ¶Q›Q…QŒQ¼RRqRÁSSkSÄT T„TáU3U€UÆVV…WWsWæXqXîYZk[Q\;]!]ý^Á_`Ma"aÙb}cPd+dîe‚f"fÝguhhÆi\iøj«k=kÈlmlÔmmKm±nLn«nÞoon“n_nn®nÒoo-oUoo¢o¼oÉoÐoÅo¿oÓoàoéoào×oÉoµo­o¢o¤o°oÃoÐoÜoíppNp“pÎqq7qeq…q¥qàr r_rrÜs6sµt3tštâuuPuuÓvvmvÒw4w—x xpxÃyyIygy®yéyÑzz²zï{ {={I{E{q{Ý|ƒ}}u}Ñ~~x~ë?€€óm»‚‚b‚”‚¾‚öƒ*ƒ<ƒlƒ±ƒã„„M„q„Œ„ª„Ò„ó……J…6„§„„„T„©„ô„Ý……7…H…^…g…`…2„ø„0ƒhƒ¥„'ƒ©ƒQ‚¸9€~Ä}G|ó}0}} |º|d{ö{HzÎz`yózy–y8y6x„wQvuüuÐu¾u't~s¼rïrar r>rCrrqßq’q?pªoéo«o¯o6nqm·l÷l kiëhxgÆgÔgf_ff#eˆdþdµd-c aô`¹`h`f`&_o^1^>^ \aZ_X«WU¥T+RÍQºQ$PñQ Q:QhQvQeQ~QÁRR8R<ƒ;"9Ñ8–7œ6ù6m65Þ5Í5ñ6!6i6Û7T7ö8¬9w:[;\¹?óA?B‡CÛEBF½HMIËKILÚNP>QñSœUFVäXwYø[h\Â^_9`na±böd!e,f5g0hh¿iqjj¤k,k¤l"l»m_mùnnnÈo oDooÚp p2pXpp¬p¾pÎpËpÁp¨pzpFñGÇHÒJKXLœMÚOPMQnR©TUV×X;YOZp\ ]^_œ`¹b!cÎe9giHkjÓj×k×mClóm¥on®no!n<æ;µ:z9E86à5¹4311®04.Ë-²-,Á,ä-P-ú.Ë/¦0t181ò2Ÿ3S44à5™6%6z6ª6Ü6Þ6³6?5Î5x4ñ4C31Y0C1D34t5û7w8ö:f;ä=e>è@iAÐC%D{EåG@H—IåK/LoM¯NêP(QiR¦SèU VPWkX~Y„Z[x\c]F^^ð_¸`wa'aÓbtcc{cîdZdÈeFeçfÐgygÃh h>hdhˆhÂhöi7ixi«iÞjjTjhjvjwjzjvjjj~jzjpjmjgj^jDjiçi«iji2h÷hÆhµhôi†jj‘kkœl)lÂmImÅn&n_n’nÌnînËn¥n—nnŒnsn7mäm€mllk‰jøjmiçiWh·h*gÑgtfþf„eéeKd•cÝc?b¿bMaËa%`i_§^Û^ ]F\[Ö[ZRY‡XÍX>WËWbVÿV¤VMUíUžUMTýT©TKSôS¥S[S R°RZRQÝQ®Q‘Q‡Q™QÚR8R–RïSoao‚o›o¿oæp p p2p:p(pp(p&p'ppoúoäoÚoÑoàoñpppp+pQpp­pâqqc–?ñAHB¢DE˜G H³JHKäMˆOBQR¶TiVWµYCZÇ\0]^·_êa&bbcšd¹eËfÒg­hpi"iÈjdjãk]kÛlemmœnnpn³nõoJ=;Ð:š9f8,6ó5Ê4§3n1ý0y.ý-¦,¼,I,F,¦-R.-/#00á1—2@2ã3„4+4å56 6U66à6õ6Ì6^5Î5B4—3à2é1Q00æ2Š3ú5s6ã8c9Ö;E<²>3?¹A5B£DEmFÔH;IJßL'MfN©OðQ9R„SÎU V=WcXyY‚Z†[v\]]:^^ã_¯`ya6aîbŽcc¢ddƒdñegeûfÖg€gÎhhth¼hùi6iCiii¤iØjj/j|j—j¨j¢j¢j˜j”j‘jjjˆj‹j†jjojPjiÙi—i^i)hôhÓhäiNi»jjzkkœlPløm{mÖnnQnn§nŽn^nEnAn;n/nmÀmkml’lkˆjòjbiàiXh¾h9gÚgygf}eçeTd¦cùcYbÃb>a½a`I_^¸]ò],\m[¤ZÙZY.XYW½WHVñV›V@UëU–UGTîT©TcTSºScSRÂRvR=RQÔQ²Q™Q—Q¬QóRYR´S S_S»T TaT³TþU@U„UÞV@V¥WWtWèXŽY1YúZü\\î]¶^…__`VaBbbÎcdEee»fUfögŸh)h°i]jjàk¤lNlùm~mçn1nRn‚nýoŠo¹oðoèošo½oÂoÃoÚoñpp2pMplp†pžpšpŒp€pxpmpgp^pIp7p(pppp1p:pApGpLpep‘pËqq2q`q‰q®qÎqùr7r‚rÀrüs9stt“tòu/uku«uév.vdv’vÔw wrwÄxx@xXx\xbx‹xx¨x´x¾xÍxàyyJy¬z4{{Ù|`|Ó}#}ž~8~>~p~äHÿ€š…ß‚‚*‚0‚W‚—‚æƒaƒà„5„i„„´„Ñ……-…R…L„ƒô„A„¼……S…{……¦…Í…µ…Â…Œ…~…Q„ʃìƒÎ„ ƒ…€Ì~Õ~¶~Ï~}[}6}8}|N{©{‚z¶yŸyxÎx¹x£xÊx‚wÐwjwUvÔv@uut²t2t)u,u#t_tHsórêr{rºreq¼qTpìpHoÍoo nxm¬l–kàkUjhkgOfÞf9e¾dÉcqcŸ>º=™<:…8Ï7=5Ë4—3Ó3b3 2æ2ä2û3"3`3Ã4?4Ø5‘6f7P8T9q:¡;Ü=3>œ@ ArBæDnE÷GI>JêL”N?PQÙSŽUFVòXŽZ [‘\ï^6_l`¡aÕc d7eQf^gRhhÑixjjškkŽll¶mFm¿nn[n—nÐoobo•oÅoèp p"p3p8p2poæožo=nÖnfnmœm6lÏl^kàkk'kj(ihQf›edRdc¸cVbãbGa`É_ã_^]\,[bZ¡YìYGXžWãWV*U@THS`RwQ†P™OžN³M³L±K¸J¬I´HÁGÔFñEúED-CTB“AÍA@Š@X@I@\@Š@®@éAFAñBäDE_FüHˆI·JúLZM¨N×PQIR›TU±WHX‰Yq[]|^ª_a4bŸcÁe¤f|h(j#iùjfkÅl,mOnn0o/oJoVnÜnAmómGm¤n}o n6lël(kóllJl:lNlzlulhl~ll_lk§kwk‚k˜k£k¬kÐkìkòkÚk®k…kFk.kTk{khkLkHklk¦kËk«kIjÝjJi»iSii háh–h7gÃg]gf¶fUeäe…e&dÊdkdcÄczcGcbðbÈbÏbÎbËb×bãccNcc²cÎcödd7d`d£dùe2emeÀf(ffígIgšg×h$hvh½i i^i±j jej¸kkskÚl@lªmm€mìn]nÎo}=<<:É9Ž8S75ä4º3ˆ2J0é/‡.9-,i,0,\,ä-³.ª/­0–1^22Ÿ3+3¹4W4ù5‡5î606d6±6Û6À6_5Ó5%4V32À1¥0«1 2b3Õ5E6¢89k:Ð<=}?@†BCEFkGÏI1J‹KÜM'NsO¿Q R^S¯TõV*WUXqY}Zƒ[v\`]4^^Ñ_§`{a8añb¢c?cÆd=dµe)ef(fØgwgøhehäiciŸiÀi»iªiËjj0jYj£jÀjÏjÐjÇj»j­j¥j¢j¢jŸj¢j¢j£j—j{jEjiÉiiZi"høhói5iˆiÊj&j³k8kÙl„m mgm¦mûn8nEn8nn nmùmñmÏmmMlólˆlkˆjõj[iÔiQh¿hDgèg…g feðe^d±d cjbÈb+a”`å`&__^›]Ý] \_[‰Z§YÉXãWíW=VÏVvV UµUgUT¿TkT&SêS°ShSRËR“RUR#QüQÚQÀQ¢Q˜Q¼RRvRÒS2SˆSÙT)TyT¹TïU$UqUÐV,VVÛW[W÷X¬YiZL[G\N]<^ ^ó_Ò`±a”bNccñdµeyf4fägphh²i"iºjwkYl6lþmçnžoo nÚooaoÆoüpLp1oêp-p3p7pKpgpƒp–p¶pÎpßpèpêpípæpÏp¶p­p¥pŽpphpYpTpUpjpppupwpp pÁpíqq=qlq“q·qÜr rFr‡rÃræssVsáttíu>u„uÂuÿv,vYv|v±vùwHw‡w¬wÑwëw÷xwþxx!xwçwwBw(wTxy"z]{›|E|²}3}Ý~¢~î6I~á~ézï€~€ÿlÀÙëö‚‚Šƒƒ‰ƒå„N„¥„Ô……E…/……3…„•„™„è…%…W……¸…Ö…Þ…¿…Ú…²…‰…b„íƒâƒéƒëƒ%€•O }V|Ä||g|e{èzêzCzUzSyxTwªwüx/w¹w+w)vÉvVvÊv¬uÒt›súu‘vyu¢t}s®rãr¯rÆrŸrQqÐq pXpo°o"ncmJl=kµk.jhrfõf,eNdÇc•b3aâaÃaca?aªaÒ_í^I]M\Q[¾[|ZÊYõXfW_VÐU—SKQPOÚOîPP3PDPCPPOçOŸO™><»;U9…7¥5ô4e3D221³1 1•1¨1º1ù2X2Ð3p4%4õ5ã6ó8 9::~;×=>>®@+A²CBDÑFrH'IçK¦MgO-PôR²TpV,WÛYpZî\_]®^ê`"aPbyc«dÓeéfégÃh„i.iÐjOjÁkKkÚlllþmpmÆn nAn}n»ooBoroœoÁoÕoêoìoào¿oˆoAnçnƒnm¼mgmllkšk j[jKigÐfÁe½ed‘dc•cbraÓa`N_p^†]Š\™[ÁZõZ'YsXÇXW>VJUWTjSR‹Q—PŸO¦NžMžL¡K’JIžH¦G´FÊEÞDûCóBíAúA@M?˜?>´>›>›>²>ì?N?Ò@AtB‘CÚEkFÕHI8JnKÌM3N›P Q]RÆTMUçWvXçZs\¦^S_#`Çb9bûe f'giiDj k­kœl–mßn>oo oNoOnØnimÊm¾nhooAn’mÕmOmlæl›l|lRl#lll1lclOl#kñk¼k¦k˜k„k“kƒkakTkWk\k2kkkjýj×jÛkkpk¢k‰k8jÄj)iži'hÔh©hhEgÜgRfífŽf)eÇeVdñd‹d"c»c^cb°brbGb!baýaòaôaúb b/bmb¦bËbîccHc‡cÐddedªdúeTe·f f‘fíg?ggÛh+hhh³iiYi¸jjqjÓk3kl l‚lïmfmÝnXn×oOo¾p"pŠpèq>q‰qÏrrXr“rÁrüs-sSs}s–sµsïtIt»u3uªv$v­w5w›wÕwéwÁx2y-yEylyÙz3z‘zVzQzï{A{<{-{N{—{à|"|+{{{R{Tzîz9y yxHw…v·uêut'sq÷pÉo—nom^lQk3jhãg®fweQd1caú`ã_Ô^Ò]Þ\ó\ [,ZNYxX¢W¹VµUŸT‚S_RAQ OõNÈMœLpK8IüH¿G}F;DúC¶BsA5?ø>·=w<=;9Ë8Š7N64ë3¼2„1K0 .á-Ö-,’,‹,æ-‹.b/V0O1+1ã2w2ü3x3÷4~555Ò6 6@6}66†655·5 433a2—1Û1M1}2’3ý5S6•7Þ90:„;°<é>E?ÄArCDFGmH×J7K’LçN5O‹PáR:STÛVWAXaYsZ{[t\Y],]õ^À_—`ja8aøb¨cGcÞdfdæeZeÏf{gg“hIii•jj(j>j]jiöj,jZj~jÇjæjójýjòjåjÑjÃj¸j¹j¹j½jÀj¿j¸jžjpj4iýiÇi”i_i)ii:iui²jj}jãkakölzlÖm$mmÈmêmçmâmàmÑmÆm¹mœmom'lÑlgkükjðj\iÔiQh¿hPgýgšg&f¨f!e‹dâd:cˆbÛb)as`Ã`_V^š]Ù]\S[xZY¥X¿WÎVðVMUãUjUTÈT„T:SöS·S~SNSRÖRžRxRRR0RQóQÞQÊQÄQêR;R™RóSISšSìT>TyT¬TäUUiU­VV[V½W_X.XèY¢Z[‰\•]Ž^c_T`.`åaÄb®cd€eYff¼gegåh›iUiËjPkkâl¶m¤nzo/oîpo“oŽoÆoÓoìpIpXpFpxp~p‡p£pÅpäqqqq+q2qCqEq;qqqpöpàpÈpµp¨p p£p¯p«p®p¦p¥p²pÔqq7qhqq«qÆqÝqûr5ryr³rÎréss”tntòu;uuºvv:vev‚v¢vÎvÿw%w?wcw•wÑwöwòwÚw½w¸wÂw~vövwvew2x}zp{ð|n|Ë}M}Ï~q~Ï~þ~æ~<~~y~ÇGõ€¡€÷ AŸ‚\‚Úƒ%ƒŒƒû„—„ù…)…X…,……=…8„â„Ú……9…m…“…Ø…ó…í…ë…å…Å…ˆ…"„‡ƒé„ƒÛƒ%ï“R~)|õ|h|{zyzyýy÷yBxXwYvÔw0wžwuwvüvÖv¬vãv§v1uLtftÌu¹uct'sjsNsXs*rÆrcqãqp´p“p0o²nòmûm l_k£j i:g°f\ed.cbba°a``ß`0_3]“\‹[ë[Š[•[kZaYQX´=Ø=2<:l86—4®31ý1P0ª0~0y0U0P0e0ž0ô1r2 2¿3›4‹5’6°7ì91:‚;î=m?@”BC®EMGHâJ´LˆNKPQßS§UkW"XÃZL[Ä]^m_³`Ôaóc dQevf~ggh2háiƒjj|kk”l'l´m"m{mÊnnKnwn°nîo!oNoso‰o›o›oƒo]o#nÛn†n#mÉmwm$lÄlakÖkjbi$hSgúg8fRe›dödfcëcibÇbai`¢_É^î^]\:[gZ’Y¶XòX6WeVsU‚T™S¢R¬Q¢P¤O§N¥MœLŒK„JI‡HG–F¦EÃD¶C½BÆA·@°?Ð?>V=Ù==k=q=›=ï>b??Í@­A®BÃCøE+FEGPH„IõK†MN§P)Q STÃVaX"YÆ[ä^?^ü`!adbVd…e[f5hbhÃjpkHkl9m»nn@nzon¸nŒn}n&n:njnüoÍoÞo$nèn4mÂmYlðl„lkÃk˜kÎl'lAlsl}lJl3lkòk©k^k/kkk+kjçjÄjšj†jjj{j±kk~kzkjœjiih¦hVh"gÌg'f¢ff(e³eOdÓdicöccb¢bBaõa³aaZaú=¾6G6:6 5‘4è43R2«2!1Ù22ù4?56Î7ÿ9,:c;<|=’>ô@¬BzDE¤GHxIçKOL¬NO]P³RSnTÀVW.XMYaZf[e\O](]ò^¹_Š`^a6açb–ced)d«ee¤ff¨gUhhöi‹iójej¦j½j¢jGj>j`j†j¢jék kk#kkjøjèjØjÔjÔjÛjájÞj×j¹j“j`j.iúiÅiŒiSi4iJi}i¶iöjHj˜jùklkèlHl¯mmbm‘mm mžmmm‚mlm?ml¶lTkëkijêjciäinhÞhwhg´gQfàf`eÊedrcµbòb+al`²_õ_A^’]Î]\1[dZŽY©XÇWÿWUêUBTÑT~T?TSÜS¥SiS4SRêR·R‘RxRZRGR0R!RR R R-RrRÌS SqS¼TTFTuT©TØUUQU•UìVLVÐW€XTYYËZÑ[Ô\Ø]Ñ^Á_²`ƒa@b=cKdRe-eíf­gKgíh~i2iûj£k!kºl`m0n nço‚ppFp p p€Œ€€s€ç‚‚—‚Áƒ1ƒ‚„i…3…i…‘…k…^…Œ…f… …'…I……E…«†…Ö…š…p…]…~…\„µƒöƒê„„‚Ì~N~«Í(}Æ{È{¢{NyÛyåy­y}xçwÁwDwvöwJwawRwww)wvövžv u·u„tÔtÄuŒu¢ut™t5s§rÃqìqApÒp·p‚pGpoŠnÌmºlÁkúk(j%hÌgCe¶d¯cÂc3c]c]cHbQ`(_^9]`\o\,\[ÖZYëY+X“WÄW,V=T›S‡RýR­RpR;RQÅQ€QP¤P?OÙO€O'NîNÌNàNòOO=OíPáQ²RäT)UuV¬W³X¥Y{Z1Zã[¦\?\‚\¥\à\ö\ê\·\n\![Á[l[ZœZ6YªXéXŠW…VFS‘OõNÅNËN·M_L JsD¤?*=î=<;J9w7‰5z3…1õ0ã0'/x/6/0/.æ.ü/+/…0 0¤1g2A374G5m6¡7ç9?:®<:=×?vA B‘D*E÷GäIÑK¡MjO4PÿR×T¦VjXY§[(\—]í_<`ea}b–cÌe fggæhi9i¶j:jÆkYkçlelÙm,mwmÄmùn(nan“nÐnþo!o@oGoEo+núnÁnsnmÅmhmlÒlzlgkéj”i•hÈh3g£fÍfeWdÃd¨=û=t=<ï<ñ= =d=Ç>H>è?š@nAIB-CCñDâEÍFöHOIßKMROP¢RS³USW/YF[@]v^Ÿ_“`²bcØdle}gåh³iýjkjªl0lðm’mÄmæn±nn,n¶n•nÂnn¿oªpnppio nmûml»lƒl.llll lVl¡lÂl¾l’l7k¡k\k?kjíkjïjÓj¼j‡j^jDjNjujÇkCkfjùjsiõi~ih™h5gëg„fíffgeÚeIdÙdYcàcebçbraüa•a:`õ`»`‘`i`B`,`$`)`F`p`š`Ä`õa1aƒa×b/b”böc\cÂd)dŒeexeëfZf½ggugÊhhrhÑi5i“iðj>j”jókgkÜlSlÒmEmÈnPnÕo_oÞpTpÁq&qqÔr%rxrÊssSsqs”s¶sÛsôttDt—u uzuüv‡wwƒwæxx wÑx yyEyzy”y•z {2{{ {w{±{{y{L{m{ü|N{ä{?{ züzÑzkyÙy'xww¼vîv.uat^sUr%pÖon^m?l"jüiÊhgGf dàc²bal`O_5^#]\ [,Z7YFXWWeV`UBTRîQ¼PŽOWNLâK¯JtI8GûF·EuD0BåA @c?+=õ<»;‚:K97Û6£5}4`3A2*10/,.w. -é..].á/‡0?0ö1§2N2Ü3N3¢3ë4A4«55h5£5Ç5ã5û5ó5Ü5µ5V4Ø43c2í2y2F23`4—5á78:9U:h;f<2= >[?íAÞCµEJFÂH-IžK LqMÐO(P…QäSET™UÜWX0YEZO[O\>]]è^¯_~`TaaÔbÛcÏdldþe—f3f“fòg®h«i^i×j.jqj¾jëjÇjƒj„j”j´jÏkk.kCkNkJk?k.kkj÷jõjùjÿjÿjôjÙjµj‹j^j(ióiµi}iZigi—iÈiôj.jhj¬kkgkÏlCl±lÿm,mCmXm\mdm_mWm@m!lòl¹lpkùkYj×jPiâi˜ihªhT?ëAXC E FùHçJÄL‘NRP%RSÝU¯WkYZ•\]q^Ä_÷ab3cdd¢e±f¹g h\hóini÷j‰kk¢l llâm5mwm¥mÐnn?nyn¬nÒnînönènÇn“nOnm§mHlèl•l’kÑkXkiþihgôg*fieÇedcæcMb´ba9`s_¡^Â]ã]\9[cZYXªWÐVîUôTýTSRQP NüMåLÕK²J£IŸHžGªF¯EµD¿C²B£A”@?>¤=ñ=h=<ù==>=‹=ã>X>Ö?k@@ÄAzB4BñC–DLEFGKHÂJ[L"M×O”Q7RÔT|V,XNZS\>]Ê^ÿ`2a“bcNe8gÄhÚiRiÁjÑk§l&mmmŒmÑmŠmÃnBnbn§nÅoo¼p}q#qoéohn‹m†mml¶ll}l@l llmlÊlÊlOk»kVkHk/k jçjåjÞjÎjÃj£jrjPja_ò^Ñ]´\¥[©Z§Y¥X¬WµVµU¢T{SJRPáO«NqM1KîJµI}H>FùE²DhCAÕ@?J><ã;¬:€9U8$6ë5½4˜32r1o0/Î/C.ð.Ô.à//v/õ0ˆ1$1¹2H2Ð3C3š3Ó44J4­55\5€5•5ª5¬5™5v5Q54Ç403 352³2„2Ü3¿4ù697o8–9£:•;z<4<õ>?ŠAyCRDüF‰GöI^JËL7MNøPQQ­ST\U¡VÚXYZ0[/\!]]Ø^¦_o`Ja*b3cXd!d§ekf fˆggYg÷h¸iHiÙjKjjákLkijÕjÁjÚjåkkKkckpkykvklk]kIk5k!kkkkkjùj×j¬j€jHj iÐiŸiƒiiµiäjj9j_j„j´jûkfkçlOl˜lÊlémmm*m2m6m,m$mlÓl’lk[jÌj\iöi¾iVhÜhhhg£gQfßf?edèdc@bpa¬`×`_;^p]°\Þ[ÿ[/ZRY‹X°WµV´UÂTáTS§S‚SkSRSAS#SRðRÑR·R R–R‘R‡RqRlRaRiR…R¼RéS'SiS©SåT'TBTQTvT¤TÐTïU&U†VV¼WŒX|YGZ[\+]C^k_l`1a.b[cydpeDffógÉhiMjj”kk¦l8lúmÛn…ooñppúq“qÃq[qpÄpUp­qq0qEqjqŒq¬qÃqÞqòr r rrr*r4r#r rrq÷qÝqÌq»q¢qŽqyqtqkqYq>q!q"q;qQqhq|q—q¤q¯q³qÃqír$ryrËssts×tJt¡túuIu‹uÌvv=vkv‹v˜všv’v•v¤vƒv^vivŸvþwLwZw%vÉv¬vÊv7u7vay[{W{Ž{a{‘||f||à|à|®|®|Ü}}R}8}Z}¿~sÝ€Æ÷‚Á‚ðƒsƒÔ„¶…t…¿††3†9…í…¢…æ…¸…!…i…è…Æ…N…j…^…o……„Wƒ³ƒŠ„‚ôâ}§}¾'|þz‡zË{jzypy/x¢wÛvÂvuªuãv'vZv~vËw w*w*wv…vBvfv.u‹u.uMuTtôt™t)syr{qBp‰ppoòoßoÿo¾obo nTmnl@k-jsiìihg`f¤feØedÊcùbŽbŒbŸa$`0_³_3^?\[—[xZ¦YsY4X„WVúVAU®U-T¦T)SÁSYR×RKQÞQ’QXQ1QPÌPªP—P©P’PÀQcRRS›TèV/WTXWY¿@=BD(FHIæK¼M‡OTQ*SU VÈXrZ[‡\ì^H_`ºa×cd>eNfdgWhh¸i+i®jHjÚkbkÝl>lœlôm%mTmm«ménnPn{n’nœn‰nfn7mìm˜m,l¶l7k‚kzj“i•i—inhçhEg…fÇfehdÇd)c“bùbEa†`»_ì_^?]m\˜[ÁZÜYæXöXW%V@URTUS`RaQ\PWOEN6MKöJêIËH·G¾FÊEàDÝCÙBÒA¿@«?¯>Ó>(=´=j=[=r=«=ô>X>¿?8?®@9@ÏAfBB¹CYCúD‘E1EýFôH!IK#LáN›PAQèSœUWW?Y0[\Ü^`_¹aaÀce|gh@hƒhÓjwk]lKlémBm…m‚m…mÅm÷nBnŠnÚoToÊp”qQqŽq@qoÊnumëmmmmlœl@ll,lhlk‘k5kkk!kjìjæjÙjÔjÍj¨j…j_j*iüjj#j?j,iÜiˆi+hÕhthg‹g fªf+e™e)d¸d$c–cbaðaj`å`p`_›_K^ø^ ^T^(^^^A^o^–^Ó__†_þ`l`àaZaÖb_bäcZcÎd?d±e,e¡ffŠggzgßhOh¹iiˆiìjGj kkykälilðmmünlnáojoøp}pöqcqÅrr{rÐs&sqs¬sÐsèttt2tFtyt¿uufuÄv*v¯wFw•wwÛx+x¬yy´y¸z7zcz”zá{{F{µ|{ú| {Æ{I{)zÛ{{W{L{ zÃzCy·y"xŠwâwv8uVtWsq×p¶oznPNÅMƒLAJþIºH}G?EöD«C[B@¿?s>1<ñ;»:˜9{8Y7064Û3µ2§1¹0ø0s0/á/Í/Ò/í0"0t0å1b1á2\2Ï3;33É3ð44R4¶55N5_5c5e5V58554ë4Ç4~43¬3 2º34!5`6›7Í8ë9÷:å;¸ ?A3BêD¨FKGÍI2J”K÷M_NÀPQmRÄTU^V—WÊXéYý[[þ\æ]¹^_K`;a/b#c'd%dôe­ff“g;g­h;hÆiHiÒjxk.kk½kÛk(k%k\k2k.k‹k¡k«k®k©k kk~klkVkKkBk?k>=æ=Ü=ú>2>€>Ú?A?ª@@A AB1BËCnD DE'E¾FuGOH=IbJžLM¬OsQ'RÓTvUàWÆYò[ø]²_9`ˆaMcdåfh h:hŸjªk#l7l³m=m×mÁmýnPn n;nƒnâo-o¸pžqqlq“qÍq#o n«m·m?mrm‚lýlklkñkßk|k-kjók k"k jájÀj·jÎjÄjj~jjj;jiÕiÐiáiâi¡iQhùh£h+g¡gDféf{eêeQdêdkcÕcHb¹b-a™a`€_ú_s_^^]°]a]5]%],]S]„]¶]ù^Y^×_S_Ø`a`ßagaíbobíc^c×dHd½e;eµf3fµg6g¸h7h©iišjj^jºk7k¯l)l¶m=mÀn)n‰nöo~ppŽq qvqÔr*r‡rêsAs…s´sÙsótt&t7tItxtÃuuiu¿vvzvîwDwzwÿxnxÜy²zz$zhzŒz¾zý{,{R{²|C|€|š|${œ{KzÅzÞ{:{U{K{ z•yùyDx‹wÅvívu*t rèqÏp²o‚n=mkÎjiKgýf§e\dbÜaœ``_%]ì\Å[¬Z”YwXdWVVFU+TRÐQ¡PhOMÙL—KNJHÉG†F@DôCŸBH@õ?¤>T= ;Î:™9u8a7W6>53ö2ç21y10ë0Ä0²0±0¹0Î0û1D1¦22y2Ù3/3{3²3Û3÷44^4Â55@5B5255 4è4Ô4â4ø554Ð4T3Œ33™4²5ã7 829M:T;=< <Î=ˆ>\?“@ôBŠDPEÿG–IJbKÄM%NˆOæQ9R‹SØUVRWX§Y½ZÎ[Í\Ã]š^R_3`.a bcKd^ee¯f1fÌg~gçhmiiªjjŸkIk‹kÞlkk„kÊkžkwkÖkàkäkåkÚkÏkÂk²kŸk‘k„kukpkek[kEkjéj­jlj0jiáiÜiêiûjj2jKj\joj‹j¶jûkWk´ll=lmllÃlçmmm:mIm1lül¦l0k¥k0jÊjtj%iÊiihêhegégmfãfbeàe?d†c¼bßaöa`1_k^£]Á\Ý\[1ZYYX¦W®V¶UÑUTS.RÌRÆRÓRÓRÁR°R¦R¨R±RÀRÎRÖRÙRØRàRñRõS S,STS‚S¹SçTT,T0T/TCTST]TT»U5UèVËWËX¯Y…Z‰[£\Ï^^ï_¶`Öb#ccúef,g#gøhÔiÇj¥kWkõl»mznnVnìo»pqqvr r†s=s¸rórNr9r>rbrŒr‹r£r³r©r¡r–r—rr«r¥r°rËrÌrÏrÏrÎrÇr±rr…rlrJr,rrqéqÊq¤q€qfq_qgqgqkqxq‹qq§qÀqârrdrÄsslsÉt-t‹tÙuufu¥uðvÈ>‹=0<$:ß977¼61441×/¥-×,n+b*)Ü)C(ª(E((1(Ž))ã*Ú+ÿ-C. 01{2è4n67Ê9t;<Ó>™@BsD]FCH4JKâMÀO·Q¨S”UsW2XÛZq[ï]S^«_ëabKc~d‘e­fºg¥hWhÐiJiÒjnj÷kZk¬k÷lJlŠl¹læm m(mNm{mŸmÀm¸m§m}m\malölFk¦k#j®jâ>ˆ>d>e>ƒ>º? ?f?É@,@œ@ýAeAØB\BöCƒDD£EJEöF›G2GâH·IÅJ¶K¥LèNŽPSRS]TtVÝY[] ^¨`a bâdIf”h_h=hñj”jŽkwllèmTmsmÚnmÛn>oLoãnöoMp p±q€rr8rpÖo€m¿mrm«malÌlNl#lk«kBk)k3kk#k0kjêjµj§jÂj³jhjUj]jJj%iôiêióiÞiˆi-hÑhphg}gf§fe^dêd˜dc˜c b‚aóa]`Ã`1_‹^Ù^e]å]E\Æ\s\K\K\a\‰\¸]]^]Ö^]^ã_v``“aa‹aübobác[cÏdSd×eaeðfxfúg‡hhi i”jj|jêkull“mmmôn]nÀo'o¤p)p¤qqˆqàr6r—rûsBsws¤sÌsãtt't4tGt†tÍuuiu¯uõvZvÈw=wÐx}xÕxéyjzzuz¹z¦z¶zü{@{m{°|6|™|¯|&{­{s{zäzù{2{B{z³z yNxsw¯vÜuÕtÄtsPrLqo¸n/lâk¨jeigÂflecÒbŠaF`^½]|\E[YûXÖW·VUTVS'QóPÀO„N9LèKžJZIGÍFŠE>CèBŒA0?Ö>=1;è:°9…8g7V6Q5D4:3K221Ù1­11y1p1o1o1w1š1Ý2422å3%3]33º3ß3þ4)4v4á50585&54ó4Å4¤4±4Õ55\5’5€54C3å4o5i6v7†8œ9ª:¨;š>Ó?Ò@öBbDEÀGUHËJ1KŽLïNTO¸QRnS¹TïVW6X[YvZˆ[œ\˜]w^E_Z`zamb‰c¬d‡e!eÎfgg©h hŒiCiÜjµ=L;×:Q8o64Ž2W/ò-Ò,"*Ù)Ì(à('T&²&F&&&O&½'j(V)q*·,-—/ 0ž233Ø5~7>8ó:©)?úAÜCÀE¦G¡I€KUM0O%QRïTÅV‘XAYä[k\Ð^6_y`§aÛcde/fGgFhh¦ii”jj£k k[kškÞl#lall­lÃlÕlômm4m5m(lól}l’lãlAkvj÷j‹j.iÊi[hìhqgág8f€eÐe$d}cåcJb§aüa?`w_®^é^!]d\¢[ÇZÓYÖXåXW V9UDTOSRROQLP6O$NLâKÇJªI–H‚GoFiEcDYCVB[A`@ƒ?Ï?J?>à>é??A?‹?è@C@¯AAqAÍB$B–CC¢D%DƒDäE˜F[G#GåHqIIçJ·KWLM3N´P`QáRéU\œ]]›^^¥_=_Î`[`Ía'a‰aýbybñcicýdŠe-eÃfJfÓg]gèhsiiŒjj‚jükŒl#lÁmLmÅn2n›nóoGo±p#pqqqqËrrqrÓssRs~sšs¹sátt8t?tjt°tóu<Ë;Š:V9*86÷5õ54,3y2ù2©2v2Q272'21þ1é1Þ1é22W2©2ï33<3^3…3¯3Õ44?4‘55<5654ê4Ô4±4Œ4Œ44é5L5¢5¹5z5 4Ñ535ý6ã7Ì8Ä9Ã:Â;¹<ž=y>M??è@ÎAìC^DïFGûIdJÄLMNêPSQ¥RÝTU5VKW`XƒYžZª[¸\·]ž^x_¶`ÞaçbÛcÀdŸeWff¯g,gªh:hÕipiòjfjÙk5ktkºllkïl l%l!lUlWlUlLlCl8l+llkùkðkòkìkÜkÀkkrk=kjÄj˜jojSjHjCjDjGjNjWjcjvj†j¢jÅjík-k‚kÞl4ltlœl´lÄlÙlþmm lýlÐlŠl6kàkk+jÕjxj i¡i(h¬h"gŠgf¡f egdÄd c:bva•`§_À^Ì]ð]&\T[€Z©YÊXÜWÜVÝUýU)T`S“RÞRTQ÷QëRR>RQR]RoR•RÁRèSSS.SOS_SwSˆS¢SÆSëTT TTSùSúSøSèSîT#T¬UxVsWfXlY’Z“[¹] ^\_[`ra™bEcdeNfIg?hGi&iíj›kflQmFnn×o?o„p0q?qÔr"rÍs…tKtµt‡s”sbsÎsåsÍs³sÀsÓsÏs±ssosSsPsWsUsKscs„s„s…ss•s‘s€sfs6srßr¬r‘rsrQr/rqÓq­qqpqRqPqbq‰q¯qÀqàrrHr›rísLs­ttztÊuuDuŒuÎvvSvv–vvšv¡vœv‰vOv uýv,v+uúuàvv…vªv¤v÷wZw–wýyz´{ž{—{.zòzÝzä{/{{Š{9{‚|-|`}X~Ñ€†A€Ü0Btÿ‚7ñþó‚–ƒ¤„Ð…V…h…•…³…؅مɅÀ…”…•…‡…}…G„`„ƒÎ„dƒm€»¨~Å~~<}Æ|Õ}}Ÿ{zyÖy°xšw8v+uHttWtftŠt¡tÈu.u’u¨uÀuUuUuu}tütotetHts¾sfs%rïr€r qÃqQp¤oéoeo n©n@mÛmvm+líl£lkYjìjœji[iAihiti gƒfÚfufYfweùe¸e‚b]]î]Ç]\y\K[´[ZæZZBY¬YkY#XWÆWLVÅVOUÍU`TóT—TRTSáS§SsS:S$S7SpSžTT¶UÐWX#Y YãZ¸[“\A\ï]…]ë^&^_^‹^z^N]Ü]W\¸\ [cZ›YýY`XURHNÅMËLêH,DpCB!@®?4=Ž<:8f6$41ê/_-+O)ß(œ'‡&‡%$á$W$($@$±%c&X'Ž(ø*|,-º/q1'2Æ4„6O89à;£=k?-@õBÏDºFÉHÆJ™LN„PqRDT UôWªYXZî\^]Â_`Ka‡b·cÄdÜeöfþgÜh…iiviöjvjãk0kXk‡kÌl l>l`lglllvl”l¯l£l¸l”kêkzkÍk¢kj¶jRiäimhôhwgïgXf³feMd©dclbËb"ap`³_í_"^^]¡\ç\![9Z:Y:XUW‚V–U¤T´S´R²QªPžO†NiMSL1KIøHàGÎFºE¬D©C¢BA«@Þ@3?¿?|?b?l?–?Ñ@&@@çANA±BBjBÂCCsCíD€DúEYE°F:FÑG–H€I/I›J;JþK©LUMCNwOÛQSRÃT¼W#YZÂ\0]æ_ac©fgugÆhÂj%jýl3lkälÕm%mˆmãmðnho)o5oo9oÎpjpÚqTqq3qÕr^q@p(pRoKmkïkkjãjêjüjÿkZk¶k’k;kkk jÑjÅjÞj³jzj=jiöiÆi£iiªixhühŠh gg#fÅfOeÂeHdád‚d!c®c/b´b*a}`Ø`:_{^”]á]/\S[ˆ[ZëZð[#[N[‹[Ö\C\¿]D]Î^e^þ_‰_þ`d`¼a!a˜bb“ccÁd_eeµfAfÈgPgåhzi iœjjškkªl=lØmtnn~nào=ooåpFp³qqxqÍr$ryrÐs s8s`s|s¦s×tt=tht˜tÏuuEuu´uæv5v¨w@wåx‘yy0ylyšz z”zÉzì{{A{\{Ù|?|–|û|º| {Lzîz÷z×z¹z£zUzyÖyNx|wQv"u™u&t£sQqÎp…oJnPm)kÆjXhãgƒf#dÃckb`Ð_†^3\Ü[‘ZQYWçV¹U’TbS&QéPªOlN-LßK‹JHIG¼FvE*CÏBoA ?­>L<õ;­:p9986ù5ô5 4M3Á3`32ó2Õ2»2§2’2p2O232)292h2¥2Ü2ÿ33&3D3j3™3Ð44T4£55>5+4ø4ß4Ò4¹4l494R4–4ë5?5{5Œ55š66Æ7ˆ8U9::';<= =û>Ñ?£@xAQBSC‘DîFgGàIFJ¢KøM`NÐP,QhR€S²TìVWX(YJZp[y\t]j^`_è`ùaÊb¼c¥d…e[f1f¬g*gÀhZhõi˜jjtjÕk;kŠkÐl lll,lBlQlxlvlzlwlrlglZlJl8l*ll!l&lkükÛk·k…kRkjêjÇj¤j‡jrjej\j[j[jdjnj‚j–j¨jÃjãk kWk½llYl†lŸl«l´lÆlÞlãlÝlÇlœlbl#kÜk‘k=jãjtjiši$h°h&gŸg)f fe}dæd4c{b¹aÜa`3_N^h]ˆ\²[â[ZBY_XmWoV~U­TÚTSaRÈR4Q¶QQµRR7RSRpR˜RÈRôSS6SHSfS†S¢S¯SÍSìSüTTTS÷SÙSÜS×S³S®SÜT]UUüVÿX*YmZq[g\‰]ë_D`EaBbCcde-f&fög×h¡iGiôj²k“l|mqnHnýoŽp;pæq€r3r¶sYsñt}tþu.t1s—t tLtMt7t:tYtjtVt5tsêsÏsÀs¹s²s¤s·sÙsìsásãs÷súsýsßs«ss>srìrÉr§r‹rirAr qØq–qhq`qhq~q¥qËqärr%r]r¯ssjsÍt3t–tæuuCu…uÕv"vQvsv„v‡vƒv‚vxvlv^v5v vv!v(vuñvv`vhvˆvîwÆxýzzå{v{ž{c{zÆz…znzŠzÙzüzzC{»}b~~g¥€¯€u€ÔÈ‚n‚w‚)‚j‚·‚Ž‚V‚‡ƒ‚á„„ä… …e……ↅå…Û…¬…–…ˆ…B…„@„„‡„£ƒ;?€‡T~l~]~°~£~²~7|É{özýzbyRxwzvœuÓutªtTtAttªtêu8u\uiu>uuUuktëtŠtŒtWt sºs_s(rùrŠrqqp‹oÿo†o7nÿn°n\mÿm£mbml£lEkåk{k jki÷iÊiÉiÌi†hzgøgäg¢g¿g3feïd¡`„^^µ^]ô]†\Ù\S[õ[¥[IZØZ\ZYúYŸX·WöWˆW>VÅVUUâUvU;TòT¼T‚T?SõSÇS«SÁSêTTYTòVWhXwYxZIZø[½\y]&]½^4^_^—^¸^¼^›^?]Í](\¢[ÕZÙZYEWåUdR¼O¦NlLFDoD#BãA¿@[>±=;ž9Ó7¨5N3"0í.X,*8(²'O&$è#å#"{"7"5"’#:$-%Y&Ä(Z* +È-™/a1434Þ6¢8Z:;Ô=|?@ÎB³DžF•HzJMLFN9PQØS¡UqW3XÕZa[Ó]3^‹_Æ`ôb"c2dAeQf^gXh h¸i-ij j|jØkk+kLk„kÄk÷ll lkýll#llFlk©kSk=kj¿j]jiši!h¥h!gšgfde»edocÓc6b”aöaI`’_×_^[]©\ò\-[XZhY{X¢WÉVîV UTSR!Q'POMôLÕKÃJ®IšH‰G{F}E|DxC|B–A¹A@~@!?÷?î@ @7@ƒ@ÛA>A¥BBjBÇC"CsCµD DqDäEME±F@F¸G&G‘HH‘INIôJlKK¼LpM/NOPUQ´RõT=V£X¾ZC[þ]¹_uaqc­eÉf¾g–hÀiàk3lalLlamƒm+l×mIm©n_…^‹]•\Å[ð[2Z«ZmZhZŽZÎ[[[[¹\4\±]@]Ù^q^õ_f_º``q`æafaäbmbþc©dZeežf6f¾gKgâhiiŸjj™kk¢l:lÆmYmèninÒo+o‚oÉpp…páq?q”qár-r|rÎs s:sdss sÉsÿtEt‚tµtèuuMu’uÒv vIv—vïwexxªy yByyÝz'zazÇzõzùzú{6{ô|c|«}|ñ|t{Ö{@zózÛz´zŒzbz'yáyYx’w’v…uçuKtrºqÇpào¼nÙmÌlwk8iÍhPféed*bÒaƒ`>^ö]\K[YÅX†WUV,USÒR“QRPNÖM“LJKIÈH‰GOF DÅCnB@´?U><´;n:.8û7Ï6µ5¸4ê4L3Þ3š3k3B3"3 2÷2Ú2¸22k2U2S2c2ƒ2©2Ë2ã2ê2ô3 363c3 3â404‡4Ý5%5,4æ4±4¤4w4B3Ü3´3ý4O4­55p5À5ú6I6¾7Z88À9‚:P;9<&=> >ô?Ò@£AlBFCADZE–FèH?IJÝL4MNâPQ:R€¬€Òs‚´‚ñ‚÷‚ëƒ8ƒ¬ƒG‚âƒgƒ^‚\ƒ/„^„×…$…W…”…ã…ñ…é…±……Y… „Ï„3„)„ƒ$‚f€nœs µs~ì~(}ˆ|Ä{“z†ydxÏx w vuéuJt˜thtpt~t±täuu>u3u'uNuTu$u tÌtdt:sös‹s^srr%qqp…oáozoÞ=H;Ÿ9ô7Ä572í0©.+“)‡'Ó&3$¾#h">!H › 7 % h! "#[$ã&”(h*T,K.<0H1×3_57±9…;G<÷>˜@AB#DEïGÒIµK«M™OlQ3STÑV—XJYä[^\Í^-_i`šaÌbécódüf g gêh™iiviÖjFj¡jÑjæjýk,kvk«kÁk²kžk“k}knkk¡krk:kjòjªjSji i.h³h/g¤gf{eÜe4dcðcPb´bah`¸`_I^]Ú]$\j[žZ¹YÌXìXWEVaUzTSR…Q…P…ONhMQL@K%JHûGñFìEèDéCýCBD<í;Ÿ:V9 7Ñ6±5µ4é4V3û3Ã3•3j3I3032ò2Ë2¡2}2i2f2e2m2{22ž2­2¶2Ì2í33J3Œ3Õ4-44ø5?5"4°483ê3±3 3‡3£3ù4K4¸515£6 6u6é7l88³9a::Ø;°<’=‡>?r@WA6BBÓCµD¬EÍGH>I‡JÑLMWN–OÏPøR S6TtUrVW”X}YµZõ[û]^_0`>a5bTc;deeåfgQgØhihøij j‹jØjñkBk¡kël9lmlNl\lnl„l§l¶lÂlÇlÀlµlªl˜l‡lwlplslylolVl9l kÛk«kk\k7kjæjÃj¥j—jj‹j‰jj‹jj±jÆjÜjökkSk¦llTl†l™l•lŽl‘l’ll„ljlHlkêk³kjkj˜j.iÇiiihhgƒfðf[eÓe9d™cðc7bvaª`Ë_ï_^#]=\b[ŸZäZ Y7X2W$V0UKT„SæSWR¼RQQRQQçR.RlR§R×S S6S\SxS’S²SÇSÐSÿT#T!TTTSéSÈS·SŸSjSXS´TeU>V/WFX‡Y“Z—[Ö] ^‹_¹`»aÄb†cTdCeAf@g*göhºi‚jyklymv0vuÓu¯u¡u u¹uÞuÎuu7v2x,x˜yXzzâzzDzGz_zCyNxZxww1wNxÍ{õ€i€ò<–‚«ƒƒDƒeƒ¥ƒÎƒfƒ¡„>ƒÞƒ*ƒOƒ­„_„÷… …9…Œ…°…¼…Æ…‘…<„ö„Є„}ƒÓ‚ª€å€]€‚€Æ€Ôûƒ(~¢~}| { z=yºx“wfvùvªuóu t·t¤t±tÍtÍtëutûu/uhuru…uKtÇt tŽt\søs‰rõr¨rxrqlp‘po’o@nþnÑnn_nm«mWmlòl›l6kÆkmkj´j•jˆjuj&ji¦i h±gÀg‰g†fað`_ë_³_Ž_%^Y]Ò]>\„\%[¶[Ž[q[cZáYÉYXôX¼XRWÍWFVÛV‹VEVUÎUU/TéT³TšT TUUoUêVÓWøYAZy[a[ö\]Z^^™^ö__C_V_:^þ^…]þ]f\[°ZiY X€VôTïPœLäIÔG©FéE½D{C4AF?u=§;Ü:7ì5k2í0‚-Ú+<(û'%1#Œ!ý ª‹¸4:ãé!A"î$Ï&Ð(Ý+-$/B13<5’7X9%:Û<Š>4?ëA´C€EUG!I KLøNÌPœRsTAVWÅYqZï\a]Å_`Gasb c¥d¤e±f»g©hghóiRi°jjjj j¯j½jâk$k^kqkOk;k3kjúk"kEkjêjµjj>iîi™i0h¾hAg³g"fŒeîePd­d cjbËb&a‚`Ù`+_p^º^]U\ž[ÙZýZY;XjW•VÀUáTîSòRîQäPèOçNßMÐL´K¤JŒI{HkGdFgEwDŠC£BÛB4AµA`A8A1AKA€AËB)BŽBúCiCÑDAD¥EESE¢EöFZFÌGCGÇHCHÁI5I¬J JeJ¾KKoKæLwMMÇNrOOØP°Q•R›SèUzWYÊ[h\á^­`wbgcÚe(g hˆi”jžk\kðlàl‹l6l`lwl·mmŽnpnäo$o‚oôpŸqÃqžqãruq¤php+pApoo`nÓnÈn lXk3j5iÌiäjQk/k×kùkžk.jûjÛj¶j‘j¢jÏjÏjkiýi°ipihh?h2h?hgªg6fÊffeíene&dôd¡d%cbÃba…aJ`ß`3_]^T][ÿ[/ZZY·YY™YÞZ4Zš[[¼\_]]ª^7^ ^á_5_«`7`ÂaUaêbvccÃdpe#eÐfvggÄhmhûijj•kkllžm2mÈnWnÊo+o„oÊp pYp¸qqPqžqêr*rpr·rús5sgs†s¨sÚttgt°uuOuuÊuýv'vOvœww„wìxPxÑy7y’yàz$zzNzÆzzÉzä{.|||!|–|z|f|1{„züzÇz«z z”zOy¯xòx7wWvfut›s¢r°q¢p…ofnl kŒjVhÿg¾fgec£b=`ß_„^,\È[pZX½WhV(TìS©RVQO­NZM KºJvI0GõFµEjDBµAS?ð>“=<;à:‰937é6½5¶4ë4_4 3×3«3€3Y3532ê2»2‘2u2d2Z2S2E2@2B2P2`2z2”2´2Ô2û313r3¿444ñ5D54†3Ú3g3E3Q3‚3Ü4;4¡556 6ˆ77ˆ88µ9]: :¼;u<<=>>ù?ç@ÑAÂB™CZD&E FG1HRI‘JÒLM,NTO†P¹QÏRÞSûTøVW XAY†ZÉ[ï\ñ]Þ^Ì_ûa=bBcde*eùfÊhhhhªii¤j2jÒkVkuk¡kÏllPlmlwl€l…l–l¹lÒlÞlãlçlÜlÏlÀl°l£lœlšl™l“l}l`l4lkÙk°k‰kek;kjójÙjÄj·jÆj»jŸj’j›j¨j»jÔjïk k4kpkÄl"lhl‡lŒl…l|lsljl[lGl)lkÖkŸk]k j¬jAiâi‡i#h·hEgÆg1f”eÿeYdÁdcibµaña!`I_g^]¡\¼[ý[KZY¦X°W¥V¡U«TñTTS¯S RlQÎQcQmQÀR ROR“RÏS S@SnS—S´SÇSÓSÜTT*T2T,T&TSùSÖS¾S•SfS^S¼TeU=VEW†XÁYØZ÷\K]Á_%`'a b"bÃcdˆeŸf¶g”hBhÎi¥jÂk³l¡m™nnooÙp™qhrbs*ssûtËuEukuvuƒtðtäu’uÞuâuØuâuîuåuÎu®u“uyuSu9utÎtÎtêutýtötÿu uutétÌt¤twtAtsÖs³s…sJs#rùrÇrˆrMr.r r r8rlr—r¼rÝs sBs‹sÙt3t–tþuUu¤uÓuýv>vjv‰v›v¸vÄv½v©vvsvQv.v uêuÑuÆu®u¶u¾uZt¸tþvPwbwßxÆy›z6z]yäy?xÌxòwüwçxNx=z#z yª{G~äA£Q-Û‚F‚ ‚‚d‚ç‚ôƒÂ„£„΄l„ƒµƒÉ„½„¾„™„ñ…F…j…x…R…/…&…=„ă¿‚šò–€ð€î¤‚€ë€o€\u~Ü~c}v|Ÿ|{<<:N8>5Ë3#0‹-Ì+(™&m$f"~ ¼8æïH1ÙåQ! # %>')Ð,.k0¾3^5Z6ç8»:„<==ã?’ADC DÅFkHWJaLHN/PQèSµUƒWCXøZ‰[ú]^^¸_øa4b]c^d\e\ffgVh2hÓi0i‰iÛj4jpj…j‚jjÉkkjüjÛjÁj½jÎjàjÜj®j|jIj iÎi†i+hÀhIgÀg0f›eýecdÀd!c†bäbCaœ`ö`I_š^ã^3]\Ê\[L-KJHþGúGF EDDCBÜB`BAíAéAþB+BvBÑC9C¤DDtDäE\EÅF FxFÏG7GªH#HII|I÷JeJÅKKkK½LL}LáM\MàNmO O¤PRPýQ¥RvS¬UW5Y±ZÇ[ÿ]õ_Âa¯cKdßf½h5hþj'kHkIlvllðmhmmÝmæmún®nðoPo’o‹p9qq\qŸqùqÊqHo×o‚pŠpûoÆoöo{lôkújñjiàjj±kYkÄkÁkPk jïjÈj’j€j¦j»jyji­i\i h®hJhgàgÀggRfðf f7e±eZed¥d cXb«b,aÆaf`î`,_]^m][ÐZîZbYôY”Y^YVY~YÎZ?Z×[Œ\>\í]•^^{^¿_'_¶`R`ëa{bb£c9cìd¡eYf f®gYhh¯iEiÛjajØkRkÔlclæmrmónpnïoUo®oùp:pyp¾qqRq¡qðr/rjr©rñs)sYs{s¢sÕt t\t¯uuwuÞv,vIv_v”vçw[wèxrxÃxûyy„yüz.z(z_zzzPzÑ{{—|^|:|e}|ä|™| {Ez³z…zezIz>zyxÁwðvþvuTtosr¥qpqoCmÈl`kCiöhªgrf"dÅcfaû`_+]Ð\m[ Y©XGVåU—TJRùQ˜P>NáM‡L8JåI—HTGEÒD|CA´@N>í=’<5:Í9r86Ú5Æ4ñ4h43ä3³3…3Z3/32Î2˜2m2V2L2@2/221ü1ý22*2L2q2š2Ã2í33]3§3ÿ4\4¿54ó4n3¨3,3;3‡3é4M4´5/5©6'6¦7$7§8.8Á9Y::²;b<<Ú=«>Š?v@aASBBC"CñD©EqFTGdHvI©JèKöMNOHPjQ`R_SeT}U˜V±XY]Zœ[Ö\×]¨^ƒ_Æab c%de(f fègïh`h¾i;iÄjOjÏkQkžkÇkîl"lWl~l”l›lœl£lÒlälömmlþlølñlælÖlÇl¿l·l±l›l}lWl/lkék¾k—klkGk+kjújãjæjÙjÀjŸj—j›j®jÁjÜjõkkCk‰kélJl}lˆl‚lnl[lOl>l#lkák»k‹kQkj±jTji­iOhæh|gþgjfÕf7e•dûdOc¤bòb7au`œ_Â^á^]&\[[£ZßZ YX!W%V7UwTÂTSkRÊRQ†Q]Q•QâR.RqR»SSCS{SªSÊSÙSãSðTT0TAT>T4T(T SëSÑS SrSjSµTYUOV{WÒYZ8[j\Í^$_K`QaebQcde0fHggäh¶i`jDk2kãlÂm¾nŸoappÍq™rsesöt}u$u|u“uˆuœu¨uÔvCviv`v_vcvovlvPv2vuùuÝu¹uŒuSuNunu\uJuTuNuMuXuOu>utðtÖt¨tgt;tsès§s|sTs"rêrÂr¯r›ršr r³rÐríss@sps¶t tktÈu"uuu½vv?vlv’v¼vßvôvòvêvÊv­vŽvyv^v;v!vuâuÀu§uŠu:tÙu#u‚usu¥uÛvMwÒxòx˜wyvRu£uBxz­{"|0|v{Ê{ž} ~óÁ€h¼ ‘œò€ñ‚I‚䃪„ß…m„Ø„„Iƒƒ¡„O„š„„¹……D…h…‡…“…ž„K‚é‚m‚D‚ìóÜ‚ýŽ€u€¨€JR~Ë~k}Ä}>|ä{Ézœy‹x~wµvÖvuUtætåtÂtÜuuu5uHu]u„u¡u¦uHutòutàtNsÝs±s¢srÇrKqEp¾oèo]onön»n’nZnmÇm{m8mlÌl~l>kákŒkRkkk4kbk’jYii*ilhÅf…b:`;`Z`S`_º_I^ª]Ö]U],\ƒ\=\i[ï[kZ±YèZYèYoXìXlWÿW£W[WVÞVŠVJUúUÒU¨U›U©UÅVVŽW*WäXÓZ#[n\j]]˜^B^Â_>_Œ_Á_Þ_Ô_‘_<^§^]]\|[yZWXæWXUÕR2KÒJIïHµGBEÃDJB¸@Õ>Ö<Ò:±8Ž663ž0È-æ+(l& #Ì!±¿‚Ql 1å£u!|#¾&7(¶+5-©/û2F4W6p8w:I;ÿ=ª?H@ãBD&E¼G«IÃK±M¤OQlS=U VÔXŠZ[Ž\ÿ^e_²`òbc(defggûhshòiki­jj/jUjWjDjmjj¹j§j€jejbjvjƒjrjIjiØi£iaih®hBgÈgBf­ferdÒd5c˜bûb[a³a`c_µ_ ^\]¥\ð\8[oZžYÃXíX"WNVyU¢TÅSÛRÛQÝPÞOÊNÊMÆL³K¢J™IHG˜F¥EÃDìD'C‹CBÒB°B«B¼BçC'C~CçDJD´EE‰FFqFÙG:GœHH„I I„IèJRJ¾K+K„KÎLL\L°M MlMÕNAN«OO P#P¼QTQÌRhSmTÃVWXYKZä] ^÷`Þb«dYf#gÏh¯i£jjjÐl&l¾mymvlômînnnÒo$oAo\oaoØp^pzpãqÅqqbp0o3pgq™píp´pLnœl­jûjyjiçjjÎkŠkÇkpkjìj×j¬jj„jŽjtj*iµiChæh³hlhg»gˆg{gTgfÑf^eÚewe d„cñchbÓb?a¶a%`m_©_.^l]+[íZìZHYåY™YaYQYmY¬ZZ¶[j\-\ç]‹^ ^_^±_3_Ë`paa¾bTbçc~d(dðe¼fzgg¾hcii¼jHj½k(kl'l¸m?mÂn7nžoouoÏp pjpŸpÊq qVqŸqårrVr‘rØssBsjsŽsÇttHt¥u uxuòvOvxvv¹vñwYwìx‰xâxüy yˆyìzzz.zOz•{({m||v|2|u|í|Æ|‡|{zhz^z^zFz!yÖyG?@@áAÊB½C¤DtE,EåF¬G©HªIÂJûLLúNOOôP¸Q»RÅTUYVˆWéY1Z{[¬\©]r^L_…`­aÊbócédóeüfòg»h3hÀiMiÔjMj¦k4k¯kállHltl¢l·l½l¹lÀlëlúm mmmm'm#mm lólâlÖlËl³l›lƒlal?lkòkÇk¨k†klkckDkkjòjÝj¾j¤jœj§j³jÈjÝjýk$kak½l'lollul]lIljúj·jhjiÏiqi h¤h'gžgfpeÒe0dcÑc&bsa¼`÷`"_D^d]Ž\¼[ï[#ZPYpX’W«V¿UôU:T’SàSR_Q¸QWQ_Q±RRGR•RêS9SwS«SÑSåSðTT*TFTVTTTSTGT/T SãSÄS¢SŽSÕT€UyV WíYhhÚiÔjÊkxl8m$münÛo½pSpõqérÝs}ttÝuSuŠu½uÇuÒv$v’vçvðvëvÛvÔvÝvâvÕv±v›v€vbv?v uÇuÍuêu¿u£uužu¢u¥uu{uXu4u'tûtÇtšt|t_t(s÷sÍsœsws[sKsrørýsss&s@srs¤sßt,tztÚuIu§uóv4vgv™vÊvîww)w=w@w2wvÛv”vHvuæuÄu®u{uNuu u*uts½sws9sQtˆuZut§sØstlx¬|)}b~}½|Ô{É{zÉzˆ|¥€=€ï\ïB‚4‚Ž‚îƒ/„S…‚…G„T„gƒÖ‚óƒL„i„q„ƒ„Ü„ü…$…‰†…4ƒj‚‚Œ‚ª‚æò‚:û€4€a€Z‡'~¼~g~}µ}?{ý{y³x{wÑw v$u˜ugu4tÙtëu u)uYumu’u±uµu}u[u2uu:u0tÆt]t9tKsàs$r8q{pòp,oºoSonán¨nznLn m·mdmGml¯l}lJk÷k¼kqkdk|k‘k¾j i‰iaiZh„fb´aa`Æ`†` _Ü_2^=]ã]•\ä\_\c\[à[ZZhZmZIYÎY>X½XzX(WÚW–WSWVÇVŒVYV.V%V*V&VWVÓW€X)XéZ[T\y]J]Ë^f^þ_k_³_ô``_æ_“_^}]¼]\[YÖWØUWPrKJÞJ­IƒH F\DÔCD™DÿEgEËF6FžGG‡GëHUHÏICIÊJdJàK;KKèLBLLÓMM\M§MüNQN¶O OxOÞPIPÉQ0Q§RRoS/TIUrVÄX\Z1\^@`AbcÊeeghEi?i×jšk×mmªm,mmÄnn€oo0oBoQo?ooÝpp×r0q pùp»oép„pipÚrrp‘mrjüj’j/iÎi×jSk3k»k”k+jöjäjÑj¥jj^j?É>\<ø;:"8¾7a6%54g43Å3“3]3/2û2Á2{261þ1á1Í1¹1¤1Ž1v1d1_1f1y11µ1ß22P2‘2Í33>3y3Á44]4Ÿ4®44J424c4¹555í6d6æ7f7é8m8ò9~::©;N;ÿ<³=i>,>ë?²@…AiBJC6D D÷E¸FbGGôHãIéKLMMèNÑOtPQ8RwSÝU?V…WØYZh[—\ž]†^ƒ_Å`éaïbýde-ffÏg‡hh¶iLiÍj=j¥kMkÑllBlol›l¿lÚlålßlâmm#m*m/m7m@mNmSmCm+mmlølçlÔlÄl·l l‚lilIlkëkÙkÌk¹k¢kxkVkEkjájÆj¶j³j®j«j·jÅjßkk?k‹kêlBljlnlZlCl;l6lk÷kÃkžk|kXk!jèjœjBiûi±i_ih¢h0g´g.feêe@d–cçc@baäa.`f_™^º]Û] \9[`Z“YÁXöX6WYV|UÆU)T}SªRØR#Q‘QDQfQºR RQR­SS`S™SÈSêTT T%THTmTyTrTkT^TFTSõSäS×SÎTTÍUÍVéXYDZ¶\=]m^S_Y`^acb]cmdzesfVggóhªi—j£kmlAm/nn÷o«pUq qÕr‘s8sÏtxuu{u¸uãvv,v‹ww^whwdwJÂKQKÐL;L™LæM)MeM¢MßN%NqN»NýONO•OÂPGP­PúQmQÂRRMRªS*SÜT¸UÓW^Y/Zð\à^ù`ÇbŸd-eÌg/hKij(kÙlÇnšoEnƒnm|mkn$n‹n¶ooZooAo¯p'pùp¶oùp¦p€ppXo¦p?qDqqpànŒmkéj¦iâi›iÞjƒkNk®kvkjßjÎjÃj§jxj8jiãi’i1hÆhah g¯gbgCgCgAgfÇf\eðeqdëd\cÇcbhaÅa-`_ô_¹_u^Í]Ì\À[®ZÁZ)YðYçYèYøZ6Z‚ZÌ[S[ö\¢]F]Ë^=^Ã_=_Ã`_aaÑb‚cc—d#d×e«fgAgÝhciiÒjujøkQk«llm/mªn nSn“näoKo¶p%ppÆp÷qq7qaqšqÌq÷r$r]ršrØs s@sus¨sÝt)ttçuNu¶vvNvfv†v×waxxxäy3ysyyŠyªy¼yézz^zÖ{{N{}{{†{Ü{ä{¾{wzízMyòz z,z yy x–w÷wv'uRt{s‡rŠq”p«o´n m‹lQki¡hfÕe¶daca”`"^½]s\%ZÀYOW×VYTÝSdQñPzO M¥LDJçI‘HAFøE´DiCA¬@C>Ö=n<:¦9E7ç65€443±3s3>3 2Û2§2e21Ñ1¡1~1b1C1+10þ0õ0÷0ÿ11+1P1~1¯1î2,2u2º2ý3<3x3º3ü4B4ˆ4·4Ë4É4Ü5 5S5¯66{6ñ7m7é8j8ä9d9è:u; ;¥j?"?á@£AfB4CCìDÒE«F]GG©HkIJJ7KGLKM MäN†NúO¨PãRGS¥TÿVAW}XÁZ[R\m]r^ƒ_²`àaçbäcàdÊe~ffÔgh6háisjj‘k kykÕl$lYl‰l¸læmmmmmVm[mYmWmYmemsmumamCm,mmml÷lëlålØlÀl¢l{lOl,ll lkèkÜkÒkÒkŠk jçjÕjÄj»j±j®j¹jÅjçkk[k±llOlkldlMlFlIl3lkÌk£k‚k]k)jíj¢jKjiÀivi&hÐhkgûgzfØf8eŒdãd5cƒbÝb:aŽ`Ô`_+^L]i\ˆ[®ZßZYTX›WÁVèV@U¨TñTSFR‚QÞQjQQQ“QõRDRŸSSeSSÏS÷TT'TFTqT˜T¥TšT˜T’ToT>TTTTTaUVW&X?Y|Zã\/]O^N_A`ab3cZdkerfZg9h hÑiËj¶k—l€mpnHo+oóp§qgrr™ss¼tˆu)užvvJvRvWv»w`wºw¿w§w{wXwAwaww˜wƒwpwPwvÄvvv‹v¸v»v~vVvHvLvIvuëuÕuÃuªu‘uxuWuGuAu0u(tøtÀt¶t¨tµt™t1t sásÇs¿s§s©sÐt tRt›tðuKuŸuöv;vsv´vüw8wswšwÄwÝw÷wÞw¤w*v›uÕu-tÆtlsõsÕsÿsÑsœsÁsÑs`sr©qÆq[qPq?q7pÕqšsšv&x¿y‡yDyò{h|9|¦|‰||(|{ñ{´{·|2|Þ}¼if¼‚¯ƒM‚ù‚ッ}ƒqƒ~ƒ©„³…Ÿ…€…n…9„ „`„ƒ|ƒ3ƒgƒï„Ȅԃu‚ä‚¶‚˜J€z«J~²~µ~4} |H{†z3yExRwdvÊvjv6uëu®uŽuŒu³uÍu±uÄuôuÑuËuŸuJutüuuluhtétt—tgsrÌrqýq$pòpTo—oIonânÅn“nJnmºmm^mFm1lülÍl™l˜lÏl/k]kIk,jij i¹hfÖdfaæaÿa³aa `Œ`2` _l]ý]¡]k]d]\Î\s[Æ[F[Z­ZY—Y>Y!XïX±XhXWÑW¬W„WTW(W WW W)W†XX©YxZc[t\‰]^J^Ð_b_ê`L`†`­`°``f`_›^ô^=]i\Å[»YOU~P×N M˜MHL[J÷IdGºEúDLB†@ >’2ÿ2Ì2Ÿ2m2,1Þ11P10ô0Í0©00~0v0u00•0±0Ó0ÿ151q1¼22O2¡2ñ3933Á44K4Š4Å4õ5"5V5™5è6C6¨77†88€8ý9z9û:€;;£P??Ä@‚A=AùB·CˆDbEBF$FâGŽHHÆI˜JqKoLoM=MéNgNÔO³QRfSÂUVMW†XÕZ&[n\¦]Ý_"`FaKb/bþc¹d_eeÏf›geh)hÛi‡jBjÛk7k–l laltl¤lÖmmm7mImLm¢m£m•mˆm‡mm˜m’m|mbmMm@m7m,m%m mmlõlÛl¶lŠl\lAl7l%ll1l$lkûk€k7k jìjæjÍj²j³j·jÁjék8k‰kÛl4lhljlUlLlMlBlkãk·k“kdk7kjµjdjiÎi‡iGih¯hFgËg6feóeKd›cäc:b—aïa6`v_¥^Â]á]\'[OZ~YÆYX+WjV¸V U_T˜SÅR÷RLQÆQxQ‡QÜR7RžS SeS¡SÛTT1THTjTœTÈTÖTÈTÃT»T TnTFTQTZTlT»U`V[WnXƒYÆ[#\3]7^._`ab>cxdže„f1fõg¸h»iÒj»k¥l‚mun?ooÚp²qEqÁr`ss®tnu2uØvZvŽv‰vvêwšwùwÿwëwÖwÆw¼wÓwîwðwâwÔw¾ww5vávñw vûvÌv²vœv¨v”vLv7v/vuôuÕuÁu»u¼u®u¤uŸuruIuGuCuFutžtŠtbt5tttt*tRtštðuZu°uév#v[vŸvÞw'wdw¢wÔx xwöwƒvøv‰v6u˜t¬tsÿsºs‰s«s—s%r¨rðsBsšrêrqßqqqÈr¢tdvFw“yy xy{œ|Ö},}M}}.}"|É|å}ˆ}s~~¥€9xÉ‚‘„„ȃo‚Kƒ„t„º„:ƒä„„±„–„Ò„ƒèƒ¾ƒ¼ƒ¹„3„å…L„Áƒ¶ƒOƒ~ƒo‚¼‚S€B7~Æ}ø}I|ä|v{Lz0y‘x\wmvïv«v‘vMv v v'vvvv v'vu÷u_u'uruhu4u8uXu t—tkts“rûržqÝqJq+p{oØo‚o@onánÈn‚n5nmÌm´m“mtmMmlñm.mHlskujäj©jcj*iƒhaf¶dPbÅb¶bjb$aµa`Ð`£_®^7^ ^]é]]-\Å\"[â[…[!Z€YâY‚YdYUYXØXXBXWäW³WWW{W†WµWùXjXüYÎZ²[«\µ]·^ƒ__ª`7`¬`øa a`ñ`¼`n` _j^¸]Ú]v\MX9S¢P¢O®OMNŠMuKêJZH¹GE@CmAŽ?„=K:ï8w5ê3$0-*'^$Å"@Ìdæ£+ÇWðL ”"Ü%G'ì*-M/Ú2;4u6†8‰:‚?—AB…CòERF¸HJfL&MíOQqSRUVÞXšZ/[œ]^‰_µ`ÐbcEd.dåe­fgqh4hÁi i/iRi‚i¡iƒiLi/i6iOi9hùh¼h¤h­h°h”hdh&gÞgg9fØffe edcâcGb¦bam`Ó`<_˜^ô^O]¯]\X[©Z÷Z8YwX¨WàWVOU‰TÂSôS RJªK KqKûLM(M¥NNtNÑOOVOˆO¸OþPPP£PèQQAQbQÍR)R;RhRªSSKSSÎT)TŠTàUnV{X'Z[ð]°_Œaoc4dÛfEhiRj‘l\mVp#q¼p©rcpLn"mclùm nnzn±oo=nòoGo°o´oço€p p‰p"q)o°nFoWpëpnîl@jdiäiçjJj£jþk*kjðjáj¥j‡jgjiÆi„iPi&hðh}gègygVgIgVglgPfëfgeòe—e,d§cücDbuaÄa#`™`__#^‚]ô]8\B[bZØZ¸Z²Z¶ZÙ[,[œ[ñ\H\©]#]ž^"^Ÿ__³`F`ía´b^cc³dMdÞeŽfmgbh3hÒi_iãj{kk§llFlmmŽmúnMnn©nÚo*o•p p|pÐqq-qOq^qyqšq¼qãrrGr‡rÇss;sys¹søtDtšuuju”u¦uÞvNvÂw wQw¡wÒwÿxBxsx­xÚx¶x“xix8x|xÞyuyÿzgzªzÎzØzÔzœzy‰y>y^ypy xÁx wsv±uôuPt‹s°r–qŒp…oun=lökÌjˆi@hkg²f™eDcïb‘a_¢^,\×[|ZX•WUŽTRPóOjMèLlJýI˜H;FäE•DDBçAz@>=;§:<8Õ7z655 43y32¿2‡2W2(1æ1™1H10Ã00`050/ý/ö/ò/ù00/0U0ƒ0¼0ú1911Ï2'2~2Ö3+3„3Ñ44^4¡4ä5%5g5®66W6¶77Œ7ü8{8ø9x9ý:ƒ; ;£<:<Ü=…>5>ì?£@^AAÓBCGDDÕE¯F’G_HH¡I?IöJ»K¤L™MbNN¢OIP=QqR¢SìU6VnW§XðZ@[“\ß^3_†`£a…b$bºcdddêe¼f‡gShhÓiˆj5jÄk-k™l)lsll½l÷m!m>mam~m’mÝmØmÌm¾m¹m¶m¶m®mŸmŒmzmlmdmcmbm`mUmCm&mlëlÅlŒl€lsl-l?l€l{l]l=lk×k‹kGk,kjãjÀjºj­j²jökKk¤ll[lslelXlOl@lkökÍk­k‡k`k0jäj—j>iðiªiki%hÞh{hgfífJe¢dðdAc’bùbVa`ì`!_4^V]y\[ÇZôZ3YoX«WìW3V‹UÞUT>S~RÖRDQÙQµQåR7R¡S ScS©SáTTTTwTžTÒTþUT÷TüTøTßTªT‰TžT´TÉUUÀV§W§X°Yð[A\%] ^$_C`^arb¥cÞd×e}f(f÷gÕhïiñj³kql>m"nnío¯p‰q@q÷r©s?sÕtjuu¸vSvÓw wwRwðx;x9xEx0wüwåwûxx0xPxYx9wüw—w4wBw]wTwJw%võvøvùvËv«v“vivGv+vv vvvuíuÞuÕuÓuÐuÕu¥ut×t½tžt‘tt—t³t×u uIu–uðv7vqvvÃvëw7w~wÀwðxwýwÍwLvlu‹ut¾t s‚sDsLs=sIs sZrq’st&sŒrgqÝq4q#su‡www–wÃwçwÓxPzB|E|Ä|ó|Ñ|„|‹|ò}õ~Û~êp~€Š€û>ƒi„Å„‹‚`£‚ƒI‚?‚¯‚æ‚߃aƒô„I„®„‹„¸†(†ì†…B„7ƒÈƒºƒóƒ‚÷‚­‚\€¦€l~Ÿ~}×}{àz÷zsyÕxwÎwZwvév¦vvvv£v±v›v˜vuvOvWuÞu7u‹v.uöu^uu tÔtµtjt sÉs,rƒqáq„pôpEpo¼ouo(nünòn¸n^n>nnmÃmœmxm6mm@lðl^kZj”jwjUj0i¶hQdücïcƒc5bÚbˆbO;ù9ƒ6è4)15. +%(\%½#E Õx7RørØ,)t¾ û#-%n'ó* -T/ç2J4Ž6£8œ:“$?ºA>Ä?{@7@ðA­BgCCÖDŽETFFùGÚH”I*IºJZKK÷LÜMžN>NïOËPÏQâRðT)UzV¡WÌYZZ[¨\î^-_[`iaDaäbˆcDddÖe§fwgCh hÉi{jj¬kkxkðlYl·lúm$mRmqm†m©mÎn nnmømãmàmÝmÔmËm¼mªmm—m™mœm mŽmsmRm2mmlÀlªlql=l‚lºlÉl¸l|l[lHkýk§k‚ksk@jðjÂj®j§jÃkkjkÓl3l`l_lLl:l(lkúkæk×kÀkžkokjÃjrj1iñi©iaihÅhcgãgPf°f ead®cüc]b´baH`z_›^Ä]õ]\>[|Z¹YíY4X{WÄWVWU“TÍT ShRÜRbRRR^RÁS%S{S¾SùT4TsT¤TÔU U0U1U-U2U/UTìTÙTçUU*UoVV÷WëXìZ [e\>]^L_‚`£aÂbçcùdìeÄfŸguh\i4i÷j¶k{lYm'münÐo¶p‹qUrJrþs‚tt£u5u±v.v¿ww"wjx xgxmxuxbxvPuIt£ttÙvŒwÂxFxÞyÂzMz.z‘|.}Âb~¾:~Æ~ÝS‚*ƒ‹„>A}'€ô‚GQ‚½‚Í‚°ƒâ„c…/†¢†‡†a†í…ì…2„·„(„ ƒìƒÀƒvƒ1‚m—ak,€H~*|§|{Ð{z)y&xgw²wJw-wvçvËw wfvÖv¨vŠvVv4uuuhuèv u¤utàt±tŒt…tKts¿s6rsq¡q4p°p:poÜo¬oRoo nÜnŒn{ndn$mám¿mˆmYm[m+lelPkQjjijTj†jYfGd•d~cºc"bÎb­bFaÕa¸a;``_â_:^w]ï]…];] \¹\[á[FZÃZ>YTY–Y¥YoY/XòXÁX¥XxXiX\XlX~X¦XäYKYÙZ’[d\J]F^H__¥`7`¼a?a®aÙaÓa¶aŠa,`Ñ`L_†^^\¿Y0U‘T×T4S8R@QOwMÚL>J¥HþG4E\CtA†?k=!:¨8 5\2ƒ/…,|)¥'$†"1õÙëL™×䋉¤!¸#Ë%è(=*Ú-~02{4½6Ô8Ò:É<¨>e?÷AqBÙD.EFÑH"IÑK¦M=NÐPŒRiT?VWÎY†[ \Š]ã_6`ta‹b£c¬d‡e>eûfÐg¦hOh¶hði i+iOiMih½h—h—hhDgìgµg°g¸g£gyg8fïf—f:eØesed„cücdbÅb&a†`ã`L_²_^y]Ö]1\[á[—=;“:8˜7+5Í4¢3´2ð2q2%1â1§1f10º0`0/Ñ/˜/b/9/"/// //?/i/¡/Ú00Z0œ0ß1-1‡1ë2J2©3 3k3Ì4,4…4Û505…5Û646‘6ó7[7È8;8´949¹:C:Ó;i<<š=;=â>?G@@¾AB:BðC¦DbEEÓF•GfHCII´J>JÏK{LWM+MäN—OMP2Q=RaaÔb’cNddÜe¯fzg=gõh«i`jj”kkÀlOlŠlÝm,m\mm¢mÂmÞmün"n!nnnnnnmúmñmâm×mÏmÑmÕmÕmÓm¿m¥momDm`ƒabŒc†detf[ggÍhŠi=i÷jÀkšlƒmYnn¼op8pÛq¸rˆs:sÀtAtìu¢vvZv³vÿvóvðw¦xax xxsxox}xx’xÂxÓx¼xšxmx*wãwµwÄwûxxxwïwÝwÑwµw™wzwDw/w vÍv°v¦v­v¨v¡v§v³vÏvÙvÐvÌvruÒu®uÃuÌu±u›uÍuÃu¡uÀuävvW?ÜAFBšCáEFNGkH•J=KáMLN¿P`R$SÛUŒW7XæZ€[ê]E^ˆ_À`çaæbßcÊd•e@eòf­grhh„hÇhêi i#i/ihÏhˆhahBhgÈgsgFg;gAg0gfËf~f(eÐeqedždc›cbaêaS`»`"_‘_^p]Þ]D\¦\ [jZÇZ$Y}XÌX"WoV·VURTœSÞSRQQ†P¶OæON>MoLªKëK7JIçIXHäHŽHJH&HHH/HWH‰HÊII|IãJ.JsJ¢JéK7K—LLmLçMfMêNSNÈOEOÊP6PªQQ–QóR?RzR¤RãSSeS¢SÞT TGTjT”TŸT¤TàUU4UKUTUtU¶VV;VSVŠV²V÷WcXRYÒ[Q\Ì^T`$b"de¤gijÓlRm|nßp¹qar¨r²sgt_s.t>rNo¯oÆnÓmàn”n~ngnmmînšo&o)oßp…p³oýp²qèpmñmmxnhlëjŽjj3j“jòk[kœkkjßj¸j¦j€j4iëi³ii5hèhhah/gágYg"g@gbgTfòf—f5eÍe>¶?_@@ÍAƒB?BïCDIDøE°F`GGÈHŒI]JJKKœLUM"MÕNO5OóPÏQÁR®SœT±UàVñXY Z?[W\q]Œ^ _¦`a`bbÒcŠdCeeÅf…g=gâh‰i0i¾jOjëk›lIl©làmmYm‰m£mÄmåmøn n*n9n=n8n6n=n;n*nnn nnn n nmýmëmÞm—mMmImIm%lÝl½lómlúlÿmmlïlvlOldl_lOl0l kÄk=kkk3krkÏl l0lblgl_l]lOl=l6l2l7l5l*l kÚk˜kJk jâj¾j„j+iâi“i1h×hvgügsfæfRe¸e dccÂcblaÄ`þ`6_k^¥]å]$\U[ZçZ5YˆXÜX2W‡VÇVUQT¢T SS;RäRÈRÿSFS“SäTT^TT×UUOUŒU¤U®UºUÃU×UÞU³U—UœU²UÏUóV3VÈW™XxY›Zà[ï\¨]U^C__`¤a½b¦c»dÇeªf^gg¼hhiißj·k¦l˜m‚n=nÛo¢pPpùqµrsTsõtntøu¥v;vÀw!wNw9ww¸x~x¦x—xx“xºxÛxíyxÿxüxòxÇxxFxx+xZxcxUxbx…x“xrx7wûwËw¶wŸwXw"wvÿvúwww w"w?w?w$wv­v;Ü9j6í4\1¶/,Y)Ø'%w#–!è sHmòób? n!Ð#V$ã&~(8*C,–.î1K35¢7š9{;J=>¯@7A¡BðD7EcFŒG¯HÖJGKÅM%NŒP$QÑS~U0VÝX—ZA[½]^`_ž`ÄaÊbºcŸdtee¾fug/gßhXh©hÔhíhÿi hûhÃhwh4hgÊgugf×fÅfÐfÉfŸfhfe¸e]dÿd‘dcŠcbuaäaN`»`)_“_^q]à]M\¸\[vZÞZ:Y—XøXMW™VëV:UTàT#SiR«QáQPOO€N¶MòM/LzKÒK3J¡J IºIbI(I HüHøII!IJI„IÎJ/J‘JóKkjÿjãj¯j^j5jiÐi|i-hÊh¬hvhgŒg9gBg`gfgfÀfXeíead³cèc+bwaÕa9`›_ñ_G^Ÿ]ô]|]0\Á\8[â[—[“[ä\@\£\ÿ]W]¼]ù^]ü^<^æ_¯`daaÌb‹cLcòdzdïe^eàfug7hiiÊjSjj´jÅk kll‚lâm=m†m·mÐménnSnœnøo]oÀppWpŽp¹pÖpôqq,qRqnqŠq©qÓqþr4rxrºr÷s)sas£sñtCt†tÕuuNu¡u÷vv*vEvgv†v¬vÞw!wuw–wŽw€wQwEwhwgwvwZw;w.w;wkw)ww-vávmvvuèuÉu¯u–uHtÛtAs‡rärqWp‘oÜo+n|mÚm%l•kýki6gf˜eŽdFbôa”`%^•][‹ZX™WU™T%R°Q7O¸N;L¾K?IÄHSFïEˆD$BÃA\?ï>‚=;¤:*8¹7K5ë4µ3®2×251É1†1H0ü0¨0E/Ø/n/.Ò.‰.K.". -ÿ.. ..N..º.ü/E/’/Õ0%0u0Ò101Ž1ï2Q2±33n3È44k4Á55u5Ñ6166÷7e7å8j8í9n9í:p:õ;…<<¬=B=Û>w??Ð@†ADBB¾CsDDËE€F5FãGŽH=H÷I½J{KK•LLºM„N/NàO¦PpQ=RSSðTûVWX#YBZU[X\h]^‹_`€aZbbßc™dOe eÑf•gPgïhii¨jckk±l&lxlÈm mImxm¤mÎmçmûnn/nFnQnWnUnXn`nQnDn7n+n*n-n1n+n"nnmóm˜mZmKmCm8mlëmm&m mmmm2ml»l¥lšl«lŸlkƒk`kmkzkŠk¦kÛll/lklelnl~lwlulvltlwlylcl1lkÎk“khkKk jÞjjGiîi~i hÅhKgÇgBfÃf-e€dÜd9c“bòbIaˆ`Ç_ø_;^v]ª\Ý\[mZ¾ZYbX»XWXVUÞU'TT+S¼ScS/SJS’SÚT!T_TœTÙUUNU’UÐUíUþVV*V5V?V!VV V%VCVdV¤W-WåXÍYø[$\\Ô]^_ `ÆaÆb¿cÕdÊe˜f>fßg˜hTiiÑj²kœlm_n>o oÅp}q8qîr sFttÏuMuÂv0vÞwuw”w€wawãx‰xªx²xÖx÷y#yDyKy8y'yDy^yCxïx«x§x»xÌxÈxµxÃxôy!y(xúxxYx3xwÈw™wwmwjw|wšw­w¢w¨wµwŽwOvòv½vâwvþvívévöwvÅv|vƒv·vìww2wDwbw}wœw¼wäxwýwìwÒw½w³wŽwvvu¨t´sós®s¨sßt#s¹rír]r/qÅp¸oÎp"p>o€o~oxnênljlmÀsBw´x¸wÇw4w¡xxSx0wÖwàw˜wCvïvðwuåw½| }F}}£}Ù€<€;~•ªÄi‚‚‡‚Z‚²ƒâ„×…-…p…¦…°…¿…|…„ð„¸„…„:„C„!„„ƒ2‚lýr4€€Y›G~~}{ßzëzFy°xéxzxQx$xwûw©wsw!v³vfvu½ukuƒuºuptütŽtsÃs³sµspsr™rDqïq…qIqpÂp}poïoÚo­o\o!oo nønÐn¨nonmÚmmLml”l2k¯kSjûji«i¶iiiæjQf~cÆcbÇbGa­aÔbWbÀb”bqb8a¨`÷` _ ^¶^^]¹]A\§\¼\6[?[’ZßY3YéYÿYÞY½Y™YY„YˆYY Y¿YìZ0Z}Zâ[@[Õ\‡]5^^í_¹`a6a£aýb`bÉc"cWcPcb¢b]aÌ`»^ä]\œ[•ZhYQWëVlUS¡R/PÌONMÈL1J‹HËGE$CGA^?f=S;8š63“1.u+û)°'¤%×$>"å!Õ! © › í!—"‡#°$ö&L'»)K+--o/¿24;6I84: ;Ñ=€?@ B CZD˜EÅFÚGðIJRK·MN{OøQŽS:TêV¡XUYõ[\ù^A_z`¥a´b¤c„dQdýe›fCfðg¢h,hŠhÀhÖhÛhàhÕhžhOhgÎgŠg2fÍf€fbfaf_f?fe©eNdóddcb÷bgaÜaJ`»`+_“_^r]á]X\Ç\-[’Z÷ZUY¶YXkWÍW"VwUËUTkSµRôR0QqP´OøO?>Þ?‚@;@ôA¯BpC.CæD–ECE÷F­GeHH·IcJJáKˆL LsMMæNO6PPÙQ­RoSVTHUJV]WAXDYeZl[b\b]n^}_€`naMbbçc¥d]eeÝf¥gahhƒiiÉj˜k0kØl'lVl›lâm%mam™mÃmämþnnBnVncnonwn{n{nsngnTnTnQnLnInuduTtþttYttsÝs=r r?rq¥qEqpÐp¦popFp$p oÝoto,oo&onñn¹nwn$mÓm—mfml¸lPkwjØjKi©iei!hÇhÖf¯cúcðc$b¶b¸b#b.b‰b÷bübËbKaöa³`__^×^T^]œ\þ]&\”[A[©[-Y©ZSZmZKZ*YþYòYðYûZZZ=ZsZ¿[[ƒ[ï\v]]³^_j`*`ía£b!bwbÓc(c…cÂcÔcªc3béaÜ`!_^a]ç\è[ÖZ¦Y6W´V"T«SKQäPpNòM[KÁJHBFaD†B@¸>¶<ž:W7ù5”30¯.N,*(H&Á%|$x#Â#V#;#q#ì$ª%›&ª'Ñ)*Š,Q.z0¼2î57 8ç:´?¡AB€CÐEF1G?HEI?JXK·M%N‚OÜQZST¯V_XYÂ[]\Î^"_\`‰ašb•c}d?dëe€ff·g\gïhah¤h½h¼h´h¨h{h/gØg–gPfùf—fdÞd~dc¡cbtaÙaE`¸`-_š_^z]ê]Y\Ë\<[§[ZuYÕY/XWîWIV UûUST¯SþSCR‰QÌQPcO¹ON`M¸ML–L$KÁKkK%JëJÀJ§JœJ¦J¸JËJðKK\KªL LhL¼MMcM¼NN†NóOiOÖPDPÊQhQóRiRÎS8S¢TT‚TîUHU›UäV'VhV™VÎWW7W_W‹W¤W¾WÞXXXXXªX“X¥XÜY%YUY[YvYøZþ\\]õ_§ayc\elgKi³k“l€mmnro¹p×qrrdrÚs~söt,ruq£rµr)onponônªomo}o^oàpØpŒp9p÷p¬pÐroÄllšn+mslŽk”kwkAk)k-kjk‹k”kzkjÔj¡j¥jfjFjiëi­iei"h·hg†gCgag‰gRfãfZeÜe=d˜cåc8byaÉa&`ƒ_Ï_^[]n\‹[ä[”[[¬[ä\&\‘]]m]À^^A^Y^Q^M^©_^`%`òaÅb”cNddÂe_eàfNfÃghhh¼isjj¢jçk k)k`kÎlVl·lûm(mTmmm~m”m¹múnNn¿o6o¨ppUp›pÁpÊpÊpâq q'q:qLqjq‘q²qðr7rwr´rüscsÐtGt£tîu-uXu‡uÎuîuæuûv-vzv¿váww/wFwPwGw@w!wwwvçvvNvuÎu¼uÏußußu×u½u™uyu4tôt¸t~t5sËs[rär>qŠpàp4o~nÑn7m‹m+lækûiíhyg£f¨ewdô=}<:Š97¡6@4Ù3Œ21ö1i0ú0Ê0­0U/ß/U.Ø.m.-¢-U-'---%-;-[-Œ-Æ. .Y.¦//c/Á0!0…0î1V1Å2-2•2õ3U3¯3ÿ4I44Ì55ƒ5ä6K6®77£828Ã9M9Ö:j;;š<5<Ê=g>> ?I?ø@ªAbBBØC˜DSE E³FeGGÓH€I)IÑJ€K=KåLuLãMcN,NéOŽPVQ;RRÎS®T¢UšV’W^XfYŽZ‡[n\e]o^w_s``a@bbæc«dje(eïf¶gph hži/ißjxjëk}kál/l€lËmmVm’mÀmðnn,nPnbnvn„n˜n¢n—nŠn|nrnjnRnGn>n,nmùmÑm¨m‘mŠmvm`m7mm)m=m1m4m5m:mGmSmbmememBm?m)ll=lkÞkËkÛkáll.lml¯lÀlÄlÝl·lÏlîmlýlðlÉl•lklDl&lkñk¿k‚k+jàjšjHiÞivi h¡h2g¯gfmeÍe5d‡cØc;b|aÈa`P_Ž^Ð^]G\‹[Õ[,ZzYÈY$X€WÄWV]UÅUBTçT‰T2TTHT{T®TêUU[U›UÞV#V^V†V»VéVøVîVÚVÄV¼VÖWWW"WHW¼XƒYmZh[Z\1]]û__þ`Öa¼b¼c´d‘eHeåf”gThhÜiµjkelDm%mÿnÓoµp‘qTrr¯set t¨uTußvnvçw}wéwîx$xox¦xŸxÊy7y€y¤y±y¤y¦yÕyözyùyÖyµy¶y¿y¸y¹y¸yºyÝz zy÷yËy­y[yxÃx“x‚xjxWxRxUx^x\xSx@xwÂwÅwßxx=xjx…xkxPxjxHwðwøxwzwEwRw2w]wœwÒwîwíwüxwáw¬ww`wQwv’vBvGvuóuÝuMsór½rpþoøo©p3p&mÓmn#n˜oXn»m o9pMnodubwæwzvóvµv~vQv…vMuÂvNw)wäx§xÉy x}w6wy}@‚+ƒ(Ж%€è€ã€«€à€’€{4™‚i„…&…V„Ü„’„¤„’„»„©„h„ ƒv‚ß‚“ƒ$‚ä‚Ì‚¦‚–n€š€Z~Ÿ~'}×|{À{ŠzªyËyay)xÌx*w¢w¤w£wiw vÀvyuûu uQu&uFuau,tÉt”tLtsâsbr¬rqÛqcqpãp²p¦p‹pgpGp%oëo†o;o%o3o4o nÓn–nFmÛm¤mŽm%l»lrk©jýjji«hÅhTg–e¿d±d*c`c2c*bñbÞbøccGcb}aëaP`q_•_g_^¯^Z]Þ]6]a\Ù[=[˜[‹Z\ZvZÃZÄZšZqZ_ZbZtZ…Z ZÉ[[T[¶\(\¢]-]Ä^q_1_Þ`”aPb b¡böcKc–céd)dDd,c¯caÇ`—`I_•^Å]ò][ÔZwXðWTUÈTNRíQPN„LìK@I~GªEÏCæB @>/<9ß7™5K3 0É.¯,¸*ý)x(2'2&z&%á%ù&K&Ý' (ƒ)z*˜+þ-¹/Æ1à3ý67õ9¾;w=)>Á@9A¦C DSE‚F£GªH¬I’JK«MNOàQIRÊTwV)WÜYŽ[)\¥]ý_<`fab|c^d&dÔeheùf…gg¬h&hxh£h¨h’hxhNh g¯g^gfÀf\eùe¶eše‘eke&dÑdsdc c bañaS`¼`._¤_^…]ð]e\Ù\E[¹['ZŽYîYSX°X WlVÉV(UŒTãT;SŒRÕRQpPÍP/O˜NúNbMÎMMLãLLBKÿKÇKKzKbKcKiKK›KÀKíL0L}LÚM6M“MïNON¶OO’PP’QQ’RRˆSSSüTfTÎU>U¥VVmV¿W WPW’WÈWúX*XVXX§XÄXîXýYY+Y@YSYhYHYBYYÓYÁY|YmY¬YùZ ZLZŸ[R\u^ _Òa¸cŒe›g‹i¥k1l|mïn²o¸pˆq4qšqàrˆr£ss*r=rŸsq¹p5oíonYn™oÇoMomqrgp®p pôpcpÌr[qmRmUn¼m»mkºk²kÂk•kekuk®kÉkÍk‚kLk9kGk jújéjÀjniùizhçh9g¨gVgHg]gJfìfSeÃe"dcÁcbYaÈa`k_Ç_^J]D\J[®[œ[Â[õ\8\„\å]Y]Á^^J^x^‚^s^^è_š`saNb+böc³dnee²f2f©g'gÊhmii¸jMjÆjük3kqk³llxlÄlÿmm6mGmUmkm’mØn6n¬o%o ppgp¦pÄpÅpÂpÛq q'q.q5qOqmq‹qÈrr5rqrËsIsÏtDt“tÜuu]u‰u¶uÎuÌuîvvkv·vÐw wEwDwCw6w)w!w(w,w$vßv‰v4uòu´u“uŠu’u–uuxu\u;tþtÈttGsØsfrùr{qõqVp¦oøoEn­nm}m=lÛkiŒih#fÍeˆd>bÞa` ^r\Ó[8Y§XV“U SŒRP•OM˜LJŒIG€FDŽCA£@'>¡=; :(8¨785Õ4Ž3R2W1º10¥0‹0‚0$/‰.ç.b-ó--,Ç, ,˜,«,Ô--7-j-¢-ï.D..ý/j/Ú0@0¦11z1é2W2Ä3(3‰3ã444u4³4î585œ5þ6i6Î7B7È8W8æ9m::¤;D;ã<ƒ="=¾>b? ?³@fAAÎB…C>CûD³EkFFÌG~H8HïI—J8JÞK”LDLÔMEMºNfO2OäP¦QRjS)SÿTñUêVÉWŒX–YµZ [\t]x^u_j`Ra-bbÙc¡dee)eðf²gshhÀiQiËjEjºk=k°llulÆmmVm”mÉmønnmlêl·l”llalAlkák‰k3jëj¢jDièi…ih“hg~fàfCe¢düdVcªbúbOaˆ`Ö`_b^§]ß]\h[«[Z_Y°YXMW¢VüVZUØU|UT¿T‰T•T¸TïU-UlU³UñV.VnV±VáWW:WBWVÿVûW W4WbW{WˆW°XX½YœZ¦[\]]C^_ ``ìaÉbÁc¸de$eÈf|g6gùh¾i‹j`kLl(lûmànÏo´prq*qërºs†t;tÍu\vv¦w w©x x"xRxxx¦xÝyMy°yÖyçyäyñz zRz_zDz"zz)z"zzzzzLz’zzDz zy¼ypy0xéxÎxËx®x’x’xxxˆxlx9xxMxhxqx…xšxÕxæxÐxËxÉx˜x‰xowÞw·wŽw7wUwŒwÃwõxwêwÔwÉw’w`wvÝv«vHvCvyv†v€v9uÀutsÈsVsIq¾qesypòlÆlXlÒn;o˜lÝnhn¥mjŒm¢uviuntètt‰tít~s s¨výyzz`zç{Hzçzxõxzëež\€Ð€ð\€¨€²€}€W€ã€0€¿‚G„(„l„k„^„{„›„t„u„<„FƒÅƒ7‚øƒ„‚E‚y‚ý‚ÅŽÂj}–}Ÿ|Ý{Ë{Þ{Iz^yûy°yTxýxŽxxw×w‹wZvûvfvuÊu¦uouQu_u4tÌt›t?sÊs«s‰rìrqªq9p÷pØp´p­p‘pYp5oÿoÐo”oAo(oi<ä;\9á8Z6ñ54W382I1‚0¹0Y0V0L/ä/..„-ù-z-,“,M,-,3,_,,Ý--W-‘-ã.>.›.þ/y/õ0a0Ê161§22‡2ô3]3¾44p4¯4è55c5Â6$6Š6ö7n7í8w9 9¡:E:ê;<3<Õ=w>>Ç?z@-@ãA–BFBùC­DaEEÏF~G+GÜH‘IFIóJ—K?KéL“M0M®N"N±OqP:PÿQÝR¿SˆTOU9V+WWÓXÍYÔZ¼[ \”]‘^„_k`Ja'aûbÊc—d`eeãf©gkhh»iDi³j&j¡kkkýlblºmmQm—mÕnn0nKnUnsnŽn›nªn¸n´n¦nŽnwn_nFn*nnmòmÒmÁmÜmémÃmpmOmRmCmRmQm7mAm^mqmbm^mpmgmUmm¬mƒm^m~m`lßl llqlrl‘lÊlílúl÷mmm,m[m—mÆmÍm•m€mDmmlÌl¢l€lMkôk‹k,jÒj{j$i¿iNhÀhGgÏg>f«fendËdc^b»b aW`¢_ø_>^s]´\ï\,[ZÕZ&Y“XçX9W“VõVyV UšUDU UUUWUŠUÄV VHV…VÁWWDWvWŽW‡WPW5WFWlWœW¿WÜWîXXoXüYÓZÍ[”\j]H^_ `aaòbÜcºdnee¡fWggÚh¤ivj?kkôlØm»n§o‰pPqqîråsªtbuuÇv‰wwtwèx9xZxlxuxpx°yyŽyøzz*z1zÓ@NA©BòD9EpFG—H”IJWKKëMZNÓOåQR^SþU°WfYZ¶\N]¯^ö`&aDbAc%cñdªeIeÍfIf½g2g­hhQhbhQh(gúg´gYfôf–fkék:j¬iþi^h§gýg†gKg:gf¾fBe±edVc¥böb'aW`·`Q_Ê_'^b]x\¬\l\{\º]]3]\]©^^R^‹^º^Õ^Ç^Í_ _›`Da)b/c c³dZe e¥fHfÕgHgÇhjii¯j7jµk=k•kÁllnl°lÍl×lëmmmF<Å;:9´8'6»5e4(3 2&1O00S0+0 /›.Ò.&-›- ,Ž,*+ä+Ì+á,,h,³--O-›-ì.I.¬//‘00…0ò1c1Û2N2Ä333Ÿ44]4³4ø515c5¦5ù6R6´7#7ž8&8²9D9ä:Š;7;ã<‰=0=Õ>?4?ë@«AaBBÉCxD$DÐE„F7FåGH7HéIŸJRJ÷K˜LELïMŽNN†OOºP‰Q[R2SSÛTŸUVpWYX,Y YôZÓ[Á\»]´^˜_l`Da!aõbÃc“dZeeÍfgNhh«i7i¶jjŠjýkwkêlTl²lÿmMm¥mænn,n?nSnon‡n‹n˜nn™nnvn[n@n*nnmúmùmïmâmìmúmåmÁm©mŒmUmfmomVmamsmtm]mCmOmemXmxmÂm¶mgm lÚlÇlÌlÁlªl¦l¹lãlÿmmmm@mm©m·mÕmçmámëm¡m‰mWlélÒlÙlÉllk¨k-jÅjiiÿi›i hšhg—g fzeÜe0d€cÌc&b|aËa(`„_Ì_^F]~\Î\[PZšYþYbXÆX2W›WV™V*UØU£U UµUßVV2VmV¤VßW#WdW’W½WÇW¹W—W‚W—WÑX X%X2X0XKX­YMZZÞ[—\q]G^._2`?a3bbìc¬dGdÞe†f6fígµhiOj&jök¾l–m„nio?ppûqñrÔs†t;uvvÂwAw³x,x}x°x­xŒxšyyzyäz3zYznzqz~z¥zÛzåzãzÑzËzÆzÃzØzø{#{${6{o{}{5z¯yøy€yzyŽyay;y.yyxóxõyxüyyyPy~y¤yÁyy‰yžyµyÐyycyxµxÂxDw³w|w)ww:wawvwwywGw$w vðv¯vKu¯títôu`u¯u°u}ut|t;sús€ss×r¬páp|po^poºnömRmJmŠm…mFlyq“t´tusrºr>q}púqq+rØtu vòyy-y?zV{¯| {Õ||õ}`}ô3zˆ9~ÿ~ỀÆ×‚tƒ„„\„ „ƒè„4„Fƒ‰ƒ$„,„¨ƒfø–‚‚OÉ€•y~‰}u|Ô|–|D{Õ{=zÛzÂzŽzy—yx™x~x`x9x w·w9v»vv’vNvu¿u„u[u&tÈtutBt sLrzr7qÞq>qqpÜp¶p–pVp%oáo˜ofo'o1oOo^oTo&nán¤n9m×m…m7m lÂl9kÒk jiˆhúh’göfðf²fne÷e´ee…eie'dúd­dkcÖb`Ú`˜`C`!_ê_„^ì^“^^]]ÿ\L[\\\\\[â[ñ\[ø\\\9\]\ƒ\º]]`]Î^N^Ð_a_ø`‹aa®bLbîcŠdd‹dæe2ewe¦eÈeÔeŠdôdˆcÅbëba'`J_g^t]g\-ZÏY^WîVUS›RP…NóM^K²IïH+FjD¡BÜA?U=;Ä9ý8C6’53…200þ/ý/-.‹.'-ê-á-þ.E.Ê/“0‚1«34¥6f8+9Ø;_<Ð>J?ÅA0BC¶DáFG HI IñJ¿KƒLHMhN©O¿PãRS¸U}W7XäZ‘\(]‹^Ð`a bccÏde-e¼f5f£ggkgÌhh;h-hgÏgˆg'fµfEeàeŽe=d×d„dFdcÌcvcb§baˆ`ö`f_Ö_F^²^]‘]\r[Ý[MZ¹Z$Y‘XúXaWÌW2V™VUeTÒTDS¯SRˆQøQnPêPqOþO–O=NíN¯N|NPN"N MóMÕM°M“MˆMˆM’M©MÐN NgNÓO8O—OýPcPÕQMQØRiRÿS™T5TÌUZUÞV]VÇW-W’WùX\XÃY&YŽYìZ@ZŽZÌ[[=[n[˜[º[Þ\ \1\c\Š\­\³\£\‡\«\—\—\Õ\ã\±\]\=\J\‡\´\æ]]L]Ü_`pb@deýg‚hæjhkÑm+nwoÈp¾q p±pöqSqÀrr^r–rÊrÃrÆr–r·rÍpnpnïn§oÉoéoœoso*o¢pqoÿoÿo n$nÊo~omVlXm8n6nxnpmôm­mymLmlöl~kÕkÄkék¶kBj½jihïhBgÑggHgfÀf=e«e d`c·cbEaˆ`è`m_á_U^”]Å]3]]2]_]Ÿ]×]à^^X^”^Ì^ñ_ ^û^ü_N_è`¤ab…ceddÝef f“ggƒhh¦icjj”kkkællpl¼lèlølúlôlðm mFmmŸm³mçnEn»o;o°p p@pcpwpŠpŸp»p×píqqq+qCqXq`qiqŽqÞrMrÞspsâtKt©tþu3uIuAu9u$uuuluÅv&v½w$wUw2w%w.w*wvûvÞv¯vvkvZvLv2v uËuvu%tâtœtVt(tsÆsTrÒrbqòqqpŒoðoQn¨màm;lkÛjýj™iÎh±g¸fäeÅd”cWaí`j^\°Z÷Y`W×VMTÇSBQÀP=NµM(K•JHŠG EDB§A.?µ>8<·;&9œ86£5R42è1þ1=0Å0w0/Ð/D.~-Û-F,®,/+Ò++ƒ+¥+ã,.,ƒ,ã-O-·. .k.Ó/>/µ020©11–22‘3 3{3é4L4§4ù5F55³5ð676‡6â7L7Ó8q99š:1:Ñ;„<5<á=>B>î?¨@kA+AèB¢CUDD¨ESFF°GUGöHšIHIøJ¤KTKøLœMCMãNrNõO|PPÞQ¸RSjT-TëUÄV·W¤XoY9ZZþ[ö\î]ß^º_`Daaób¿cdTee¹fmg&gßhŽi"i¤jjzjäkWkÌl:lžlñm@m•mÖmþn-nBnGnhn‚n}n}nsntncnLn,n nmömîmåmæmämðmõnn nmümÁmŽm‘mŽm{m…mtmWmTmRmQmtmŒm¸nnmÍlõl4l[l¥lÆlÚlÙlèmm1m;m;m=m_m’m›m²mènn?nmµm~mClãlÍlÂlãlÔlœlEk¨k*jªj9iÖiXhÛh^gçgefÚfJe¢däd5c“bàb9aŸ`ó`H_^Î^]k\Æ\[LZYöYcXËX.W©W(VµVZV,V2VDVYVzVšVÄVýW6WzW»WãX X WíWãWèXXLXzX–X¥X±X»YY”ZO[[®\p]V^d_l`pa\b$bßcdd§eQf fÒghxi@iújÊk¤lumIn)op pîqër·s€tNuuÝvw6wÝx_x–xäxòxšxÉy`yåzKzkznz‚zz¼z÷{+{#{{{'{5{@{>{H{t{{{½{Ð{Šzýz^yùyäyÚy¦y|ysy`yYyy†yvyyy›yÜzzzz;z@z/zy÷yøzz y/xÍxßxMwÀwvwvÄvÂvîwwvêvªv†v‚vovLvu’u=u®uÀu_uut§sÉrôrÝsåt«tsÔs“sq2ppépVpAnómm~mómømùpes¡t|sçsAr9qërNrƒrÖs+ss2uIww,wLw°xÅxùx¤x®z4|}=~~~¾d~Ê~…~›b€ª‚-ƒƒßƒyƒ»„,ƒ¾ƒ]ƒVƒ‚­ƒ~ƒßåË‚QÀ€÷€l“~–}Í}>|½|}|,{Ä{v{Qzéz¨zy*x‹xDx?x;xwýw»vùv`vrv«vzvHv uÓu•uXut¢tNt&svr¤r;qËq/q"q*pÜp¡pƒp^poÇo}oTo"o'o;o=oEonÙn¡n3mÚmŽm;lálYkijÊj;i›iHhêh”hg€gFfîffnfofNf&eôe—ed2cvb©aÑaD`Þ`U`._Í_)^Ö^{^¡^4\Â\=\Î\¸\‚\f\]\‚\Œ\ \·\á]]8]p]¿^&^•__”``Ÿa2a¾bNbëc‹d!d±e#e„eÍf fAfVfXfe²eMdc¿bàba `9_S^L]![ÜZˆY)WÉVVTäS`QÇP8NªM KcI©GïF4DBËA?k=Æ<*:•97™664ö3Í2Õ21^0è00†0—0è1k22æ3Ú56•8)9Ä;K<«>?g@ËBCWDE–F¨G¸H¯IJiK.KñL“MuNšOP°RSULWX¿Zo\]k^¸_ä`öa÷bØcŸd\ee¥ffŒfåg;ggÖhhgÝg£g[f÷f{eòe}e7dñd‘d/cßc´crcb£b%aša`t_è_`^Ñ^;]¥]\|[à[LZºZ.YœYXsWãWKV¸VU‰TúTnSáSYRÑRAQ»Q0<­;$9š86¢5Q42Û1é120à0œ0B/×/.H-±- ,f+ç+Ž+S+M+n+©+ö,Y,Ì-P-Ð.3.œ//y/ë0c0Ü1W1Ô2R2×3Y3Ð4>4¡4ü5M5˜5Ø66F6†6Ï7.7ž808×9e: :š;6;ã<‹=I=þ>»?i@@ÝA BeC'CÞDE7EáF‡G0GÎHjI I°J`K KµLWLûMŸNBNÔO[OåP}Q:RRëSºToU'VWWúXµYxZU[=\']"^^â_—`Naaçb®cƒdLdøe¢fHfüg´heiijjjjÔkBk¸l-l•lëm2mlm­mín$n;n=nXnpnenTnCnzy@x÷xéxOwÆwnw4vîvvqvvÀvÒvvEvDvNv>vuðuóv+vcvzv[v#uÖuŠtKs1sÉt^tåtÿtgtÕs±qÂp¾onún%j¨i[k l¸lŒnrMtƒtusçr_qÏrnr¢r–r[qõq¿rwsÞuÚx|xàxôxæx˜xÈzë|½}6}}}^~]~è~¬~W~¤W~ò:€í‚™ƒ˜ƒrƒx„„ ƒC‚«‚P‚‚ƒ ‘‚E‚|$€Ji%~Q}€}<|¡|Z|){Ö{x{3z´z1ylx®x;xxxwõwðwNv_v7vsvŸv‘v`v-uîuÆu—u?t¬t6ts‰r±qýq•qIq(qpÔp“pupJoúo²ovo?ooooonàn¦nnn,mäm m\lÏl.k‰jþjpi¿iOhÿh©h@gøgÃg„gPg*g fÜfÑfµfqfd°cŽcbºað`Õ`t`F_Ë_G_^è^Û^W]+\ß]P]?]\ö\ê]](]N]c]Š]´]ó^:^‘^÷_k_ß`W`ØaZaåbocc—d8dÈeQe¾f(fpf¥fáfôfãfÉfzfeXd›cÁbÞaüa`0_0^\ê[¦ZWXýW¥V?T±SQŒPNzLÚK+IGÑF$DBàAE?»><<Ê;\9ø8²7†6v54Â4$3¬3j3F3P3œ44›5K6+7H8œ:;h<¼>?C@ŒAÜCD7ESFTGRHPI;JJêK¡L`LäM•N±OœPÝRES”U$VõXœZF[ê]\^«_Î`ÜaÔb®cld&dÒewffwfÉggWg˜gÌgÒg°gvg1fÈfIe­e(dëd·d\céc‰cVcbµb'a¤a`„_ú_w^î^Z]Ã]+\[õ[XZ¾Z/Y›YXxWáWPVÃV1UžUT†TSƒRÿRQÿQ†QP®PSP OÃOŒOeOMO3O#OOOOO OOOO O+OqOÈP,P•QQsQðRvSSžT:TÖUwVV«W;W¼X4X¤YY‚YêZWZÀ[([”[ú\V\ª\î]-]f]˜]Ñ]ó^^9^f^^¼^ë__(_3_"^õ^¿^¡^¨^¾^¯^g^D^^^@^€^Ç__h`ab‘drfg„hâj.k¢lçmûnëoÌp„q q¢r*rq÷r rrrr¯t*sŒqÉqíqÚo©nBn n³nµo oOoÏp²p÷ošoÄpppLomo¸oßoSo…n€mÐn_nonKnInn³n&m„lïlbk°khkSk.jÕjfiòiDhxgñgofõfÈf¦fFe©d÷d\cècfbÜb5a€`â`f_â_I^Í^œ^‘^s^u^¥^Ð^ß^Ç^Þ___(___O_Ó`€a9b0c7dd­eCeÎf?f³gCgÀhFhìi£jgjþkmkÛl&lSlŠlâm0m2m4m%m m m~mØnn;n…nÉooCoŒoÈoùpp/pDp`pvpˆp¨pÔpûqqqqpùqquqùrzrêsKs·ttRtŠtèuutâtÀtÃuu#u¥v„w wmwEwväv©v|vnvdv`vlvvvWvjvvšvguòu]tØt~t0sàsŠs'r¹rDqÕqkpþp•p"o”næn5mžm+l—l4kÑjÅizhDg-f.eXd^ca¸_Ð]ø\ˆZûYUWÈVCT¶S3Q«P!N‘MKzIíHhFãErDB—A)?²>6<³;09®876Å5p4%2÷1õ1810Ó0/í/.=-œ,à,8+µ+S+!+$+G+„+Õ,?,À-R-à.[.Ô/I/½0/0¤1122˜3 3§4'4š4ÿ5W5§5ó656v6¦6á7!7ˆ8 8£9P9Ñ:q; ;©<[==½>t?0?ã@AOBBÛC¦DfEEÆFsGG»HYHëIJ&JÐK}LLÁMgNNO5OÉPWPèQ’RoSMTT¾UtVZWaXEXÿYÇZ [|\`]_^C_ _¾`ha"aäb¨cod9dëef,fÒg„h2hÑiciÞjFj¬kkšll‡lÚmmHm…mÇn n7nn2nFn=n#nnmömámÈm¿mºm½mÀm¸m´m¼mÇmìnn+nmðnnm«m mmGm%mm6mŠmÈn n8nQnan™nÈnÃnim×mm?löl÷m0m^mjmdm]m_mfmdmom|mbmGmlŽl˜lÉlÊlÛl¸lzlGl&l9lGllƒkµk j…jiyhÿh}gògvfÙf=e£edmc½c boaÍa`z_Ü_6^Œ]Ú]1\”[ê[UZ¯ZYTX¸X$W´WiWLWEWHWRWaWuW¢WËWíX X^XX£X¡X†XŠX·XøY+YDYPYSYjY”YáZ4Z¨[\\ \å]Ò^Æ_Ã`¯atb.b×cUcÈdQdþeÁf}gGhhÜi¤jk[l2m mönáoÁp›qsrWssßtíuåvŽw wÖxWx¼xüxÌxÏy|zzfz{z¬zä{{C{v{¨{œ{|{n{{£{À{Ñ{Ý{æ{é||L|e|Z{‹z©zÃzÞz²z…zAz*z7z[zƒz™zŸz‹z¡zßzð{7{]{{{U{N{ zÓz¨z.yßygyxÌxl–iåiOl°nn`q[s‡t`tLr^qq+pïpÈpØp´pêqq:sOwºyxÖyHzzÛ{Ò{»{{ç|H}1}¨~Q~L~~Ê~`~Ò€Ò‚ÛƒªƒŽƒõ„#ƒŒƒ‚‹Ä‚C‚…‚ƒ:‚\‚ë€ñ¹~£~X}¹}} |Ã|Ÿ|J{¸{%zÖzny¾yxoxwîxwówÇwÚwDvdvmv vÑvÆvbvNuüu¿u™u;tÞt^sÃrór~qþq‚qWq4q p×p“p]poÒo›o\o)nønÜnÀn·nØn¦non7nmÔmmfläl_k±jäjƒj iri"hâhhah+gþgãgÏg©g¥g¨gggf¤e¿d¢c blb a`€`_´_Y_#_#_^‰]€]z]Á]®]˜]Œ]†]]¸]Ü]û^+^`^¨__i_Î`?`®a#a—bbšc!c»dPdïexeúfkfÎggLgug“gˆgqg*f¹f#endœc¾báaþa`!_]é\±[qZ'XáW€UûTuRâQ]OÛNML³KIlGÒF7D¨C#A§@=>ç=Œ:?c@‹AÃBúDE#F.G H HòIÒJ£KpL!LÑMRMëNâOÈQR\SšUVÛX‡Z'[Ñ]S^¨_É`Ða¼b–cIcïd”e:eÖfSf«fïg+ghgg›g„gLgfšfedòdŸdxd)c©c7bêb¤b?a¸a1`§`_‹_^|]ë]L\­\ [gZÏZ2Y™YXoWàWQVÂV3U¢UT˜TSS$R­R5QºQIPÝP‹PAPOÈO¦OO€O€O„O…OŒO•OO¦O²OµO·OÏPPRP©QQmQäRmSSœT9TÓUrV V¬WNWæXoXìY_YÑZ@Z®[[Œ[þ\i\Ò]1]‰]×^^\^˜^Æ^ô__E_k_‘_·_á` `1`N`Q`B`_é_º_•__x_K_Q_2__/_e_­_í`*`¤azbèd­f7g™hìj-kl¼mÌnonpp©qqúrSr qøq÷rr`s©srÞrqòo²nVnAnQooZožošoëpÎp´p&oüppp€oúoÑo‰o'oÒo¹mèm³nnmämæmømÄm¢m7llk¬k?jöj¶jeiæi0h{g÷gOfëfÇf¢fHe£dõdacðc‹cbxaÓa#`œ`'_©_:_^ë^á^Õ__-_A_)__'_)____x`"`ìa­b›c†d>dÄe9e³f9f¼g@gÏhiii«jlkk€kñll l"l\l lÊl÷mm/mMmµnnSnn×oo'oQo‚o«oÕoúpp2pQpjpzp–p»pÛpðpñpÙpÈpÂpñqXqÜrFr™ssjs­sÿt8t uu tÆt„tztÑuuvbwwiw-vØvpv6v.vHvYvLv4uúuÇuËuÿvBv/uìuWtÎtmts¸sdsr”rq›q,p¿pToëomnÓnm8l™lDkñk?jXimhkgBfd÷cîbØa„_Ì^k]Y}WØVKTÇS;Q­PN‘M K„IòHjFæEoDBA3?½>C<È;N9Ù8m75±4i312%1f111 0³/ý/ .R-–,Å, +˜+/++ +)+g+Ã,5,Á-\-ú.‘//–000ï1]1Ö2W2ã3o3ü4|4÷5c5¿66`6 6ß77N77î8m9 9¿:C:×;w<<Ô=‰>.>Û?@B@øA¸B„CPDDàEžFQFûG¦HIHâIqIÿJ¨KPKüL¡M:MÓNjOO P6PÀQSQ÷RÊS§TcU UÍV¦W£XŽYQZZà[·\˜]^t_>_ê`‡a7aëb c\d!dÕezff·g^hh¦i0i©jjˆkk¡l+lƒlÍmm*mUm’mËmømêmömþnmÿmæmÕmÌm¾m²m©m m­m§m¤m m¥m³mÖnnnmÎmÈnmñmtl÷lôlélÒmmtmÜnn&n\n‘n²nÆnånôonæn¨nnnm¤m?mPm€mˆmlmbmhmYmKm?m#mlÎlrlPlsl“ll‘l¼l˜l]lkËkºkÀl l¡lGk±k1jžjiŠhòhmgíg_fËf@e§e,d—cëc@b§bat`ß`M_º_^d]Ê]7\‹[ÿ[cZÄZ"Y€XâXkXWäWÏW¿W¿WÐWêX X6XZXwX™XÂXÙXâXÜXÎXÓXöY3YmYŠYY«YÅYòZ1ZgZ•[[×\–]d^N_7``Ëa„b,b¨cc†dd½esf#fÖg”hki8iüjÏk®l‹mZn-ooàpÂq¥r|sFt"uuÁvkww¼x@x¡xÞxïy/y´z$zgzdzUzˆzß{6{~{±{Ï{Õ{»{´{ß{õ{û||3|I|[|€|“|…|V{Ëz÷zÞ{.{"zãz…z]zˆzÄzÓzàzØzÉzé{{.{{!{O{k{}{{ {f{7{4z¬yìy™yly+xœx*xwøx x4x0wÌw/w9w¥wÓw¸wuwv¼vªv¨v¸v›vtv™väw)w v^u—u—vuXsët`t0tt¼s q$p]qqpfpn kpùoxo’oípBp6oÇpDpÖp£qs|uutúuÈvâxxÉxùz zî||x}3}Â}ð~=~~}ý¢‚Eƒ;ƒ|ƒ~ƒ5ƒIƒ‚ŒÑ‚—‚{‚ ‚ü€¨€#€Õ~X}å}µ}‘}P};}|¨|{Š{2{z yíy=xwñwÎwÔwÄw›wˆwŸwTvývñvüwvÐvwvxvu©uuTutOspr—rTr)q‘qJqSq'pèp¶p}p;oïo¬oio2nýnÀn™nnnnxnJn:mêm™m’m^m0løl¢kâjÿjÀjƒiéiriDihÚhÁh¦hhLhQh)h&h8hgÅg"e¿eDcób`bQaº`Ÿ`_Ø_—_e_6__^—]Û^!^>^6^0^&^+^7^K^d^^¹^ñ_?_ž``o`ØaCa«bb‹ccƒd d—e,e½f>f¯ggog²gðhh4h:h,g÷gg.fœeèedEcpb›a½`Í_Î^Å]œ\p[I=T<†;»:ø:O9Ã9]9 8Û8Ê8Ô9 9a9Õ:w;C<-=>?@ AB'CBDSEVF9GG÷HÌI›JeK%KÞLŒM(M­NNÆO‰PtQÊST>U¯WiXúZŒ\$]™^Ý_ñ`çaÉb•c;cÌdVdäe‚ffwfºfíggMgmgfg>gf·fNeÆe.d–dFd3cæc_bább2aÕa[`Þ`^_×_N^Ë^F]¶]\[ã[AZ§ZY{XàXNW¿W2V¬VU•UT T'S»SORàRsR QœQ6PÛP‰PBPOÓO¶O±O·OÁOÅOÔOåOøP PP7PIPZPlP‰P¿Q Q^Q¸R!R¥S=SÛTuUU§V8VÌWdXXšY.Y­Z$ZZø[g[Ô\G\±]]]æ^B^œ^ì_0_n_ _×``0`W`w`—`µ`Ú`ûa aCabalacaBa `Þ`»`š`Ž``z`m`9`#`&`M`‰`Éaaab+csdäfcg»hÝj kGltmnnNo o¸pUpÙqGq°qóq¼qqÈrrmsrõsAsq[o(nnznÖo=nÿo5ocoÖpzpCoÅoÌplp=o¼o›o{n„nÅoÒpnfmgm¾mõmÕm“mƒm~m}m>m5m5lÕlkYjìjjih¿hgrfûfÔf™f]eéexedŒcõcycbiaêae`ì`{`(_Ë_‹_[_'_ _ _Y_„__e_M_>_"^ü^ù_-_¤`RaaØb›cndd›eeyeøfyfûg†h-hÆi:i¼jdjêk'kBkLkgk“kÎl lRl¥lêm;m†mÜn=n~n®nëoo0oGoZooo‹oµoßp p*pHp`pwpŒp¦p¾pÁp»p¥p”p—pÂqqƒqÝr ryræs:ssÞttztÌtÌt¢tZt0t{tãu)u¾vtvçvæv}v uÞuåuÿv.v,vuõu¸u—uŽuªuîuâuu t»tZts³sWrûrrq™q%pºpKoåoonam²m"l«l9k–jåjOi[h7fëe³d¸c¿b™aM` ^É]r[áZ>X°WU£T#R¢Q#OŸN.L¿KHIÀHEFÛEuDBºA]@>£=<;Ý:…9/7à6ž5n4A3)2C1½1‡190²/Ô.ý.I-u,¬,+v+*ý*ÿ++E+Ÿ,,-6-Ù.y//˜00“0þ1h1Ö2E2Ä3O3Ø4a4à5]5Å6!6t6Ê77I7{7¤7á8.8•99À:`:ñ;‡<<¹=s>>›?:?ä@”ATBBêC²DvE7EóF¤GJGòH•I)I°J1JÁKjLL»MOMßNlNúO‰PPµQ:Q¹RLSSÞT“U7UúV¶W‚XjY.YöZ¬[o\L]$^^æ_—`8`Éafbb¤cRdd²eUeôfŠg%g¼hLhÚi`iájskkžllhl©lám m$mHmwm“m¾mªm®m±mÌmÏmÀm´m®m¥mšmmm—mŽm–m˜m«mÊnn;n,m×m]mÐn m£m lölìlïmJm»nnn4nbn’nÄnñoo$o2onënënãn³n[mãm¶m§m›m„mjmVmFm0mlÂl–lNl!l3lOl…l„lrl†lwlKlk°kdk0kk@kêkàk‚k+jšiûiOh¼h7g¯gf’fe‰dûdbc²cbkaÞaH`Î`?_™^ð^Q]À]\}[ê[RZ¬Z YkXÿX¥XiXEX-X5XRXeX‰XµXåYY@YQYBY4YYYYBY~YÁYñZZZQZZZÉZã[R\ \Ñ]œ^o_X`6`âa|bbsbßc^cøde?eéf®gfh&hòiÐj·kŒlYm4nnæo´p{qUr2s4tCuu¬vfw w”wñxfx¾y yˆyñz?zlzxzezzç{?{•{Â{à|||?|U|\|Z|^|…|®|Ñ|â|Ô|˜|{ˆ{-{M{n{Rzòz–z­zñ{.{+{{ {{]{h{w{ezû{ {}{²{Û{Û{¼{{MzÛz´=ü=K<ª<&;É;Œ;o;];Z;v;¼<:<Ö=z>>×?Ã@¬ABvCoDwEsF_G3HHÎI˜J[KKÉLtMM¨N+NNüO®PQÍST9U¦WSXòZ\]’^è``öaÔb¢cQcÖdEd¼eOeæf[f¢fÌfñgg>g;gfÞf‹f%e£edjddc¡cb†ba´a_`ó`x_ò_n^ì^`]Ó]=\§\[\Z·ZY|XãXOW¶W$V˜VUTýT€TS±SORæRRQ³QPPíP•PHPOÙOÀOÂOÔOåOúPP*PFPhPŒP¯PÎPêQQ!QEQƒQÏR(R˜S$SÅTkUU­VDVÔWiWûX‘Y/YËZ`ZÞ[N[»\(\™]]z]ì^X^»__y_È``\`š`Ïaa.aZaa§aÉaßa÷bb)bEbdbubnbUb)aùaÏa«a‘aŠasa^a8a`ûa a`_½_q_C_Z__§_¿_“_h_?_ ^Ó^î_G_Å`{aWb$bàcšd"d™eeweîfkgg¶hXhµiijjpjrjljjÊkkfkÁl'lˆlämZmÉnnUnnÍo o7oMoVoToYojo–oÎpp-pPpbpmp|pˆpŒp…pzphp[pppªpùqTq§qçr2r™s sus×t tYttztKtsÊsätPtÃu†vUvŸvPuÑu‡u†u¥uÃuòvvuìu¸uzuXuTurunu7tôt›t=sässArärzqüq€qppo²o_nînƒnmžmlMktj¨i½h«gªfZe-d=c?b1aI`'^w] [ÒZ_XÝWEU¹T7R²Q/O²NEL×K]IÛHbFúED>BâA‡@.>Ð=w< :Ñ9‹8S7!5ú4å3Ý2ÿ2d2 1—0ß/þ/6.d-u,­+ô+a+$+ +++E+¡,,«-K-ù.¡/A/Ò0`0å1[1É242¡3!3«444Â5H5È6366ß797†7À7ò8$8\8¤9 9::¨;?;ÓG>Ð?q@.@íAºBCaD-DñE¶FrG"GÐHxII£J'J¬KIKöL«MQMâNkNóOPP©Q2Q±R%RµSxT:TáU‰VRW WÆX–Y[Z6Zè[›\|]Z^A__Æ`d`êawbbcIcód eCeäf‚gg¬h:hÄiDiÐj‰kDk¼llylºlâlþmm1mRmam‰mumxmzmŽm™m”mm‰m‡m}m~m‰mŒmŽm•m—m²mênKn„n]m mmðmøm'l³mmlm¯nnmÙmÂmên:nlnnÍnÕnÙnûnçn§n—n¡n˜nsn"mïm·m¡m•m~mZmKm'lólÈlŽl1ll%lUll€ljlilXl)kÔk€kBkjýj¾jÔk¡kÂkÂkjwiÛi'h‹hgzfûfteþeidÏd,c„bæbSaÅaD`´`_e^Í^9]\÷\m[Í[4Z§YþY‹Y1XîXÄX©X§XÏXèY Y4YhY YÂYÝYÌY•YTY7YQY‘YÏZZ.ZCZtZÅZãZÞ[[ [†\3\ø]Ë^Ÿ_m`+`ÙapaåbCb»cKcàd}ee¸f^g$g÷hÃi™j€khl4lÿmÛnµoŠpNq*rrÿttèuºvhvçwMw®xxmxÕywyözCz|zŠz€zÃ{1{…{º{×{÷|&|T||œ|®|²|Å|æ}}}}|º|{‹{{ {£{Š{O{2{F{`{x{z{i{^{Ž{ã|{þ{·{6{{Z{ˆ{Ï| |7|{ˆzòzwzy±y~yYyxøxàxïy7y@yxèxÖyy9x÷x†wâw vôv¹v¥v¯v™v„vMvqvüww váv˜v=uçu?tMrðrrœrÿrCrÐqéqpÃoÐo"j*lvqLq‰pxqr`qºpyonHnEncnúoo0pmq pûpDoÁpIp–pÂqZs“uŒv’wÆxy z{°|[|æ}n}j}s}~âÊ‚K‚¡`Xk$€O€„!~Ç}R~U~»}E}E}J}m}S|ï||{ª{^{B{(zúzyçy9xdwÉw‚wtwrwVw-w-w8w+w!w7wFw vÓv—vDuðu†u>tYsrrôr&qòq»q}q`q6qpØp†p1oÑoƒo;onÛn¢n[nmþmÒmÚmmmˆm|löl²l±lk}kjÍj–j8iøiÀiƒiliUiWiXiBi+ihÒhÁhÀhmgÇf·ePe0dåb§ava)`Ò`‰`X`0`_à_£_–_%^Ï_+_2_7_@_O_i_ƒ_¡_¸_á``b`¸a'a“bbsbàcQcÂd6d°e(e©f0fÂgQgÆh*hzhÂiiaiŒi®i«iŒiRihhg~fÎf e?dxc¤bÃaÎ`Ï_¼^–]p\X[?ZXÍW^UýT–S&QËPaNæMuL J¨INHFÍE£D…CtBiAw@·@?Z>Æ>B=ä=¿=¢={=‚=±>>l>í?w?ñ@ŠAWB1CCÓD¶E¬F˜GkH1HðI«JcKKÏLsMM©N/N£NôOSOàP´QÜS$TuUÌWJXíZo[ï]x^æ`aaäbµckcòd\dºe.eÃfJf›f¹fÍfíggfõfµfefe‚dçdTcúcÆcebØb6a¬aC`ì`‰`__ ^†]ï][\À\"[|Z×Z,Y‰XïXQW¼W%VŽUøUiTâTeSòSS0R×RvRQ²QTP÷PPKPOÓOÀOÉOæPP-PGPjP•PÃPìQQƒ??È@•AaB2CCÜD®EvF8FñG¢HGHðI‰JJ§K4KÕLˆMBMèN|OOPP«Q7Q¹R.R—SSØTU?U×V›WOW÷X¸Y“Z[@[Ø\¸]Ÿ^z_L``šaa‘bb¥cGcìde4eÚf{gg›h"h«i/iËjŒk2k©ll>l~l·lÚlómm7mKmem4m8m@mTmbmfmfmdmbm_mkmvm€mŒmŠmmÃnnfnƒn‚nmßnCnUm¤mwn/nˆn—nn!m¢m_mxmçnn*n~n‘nonªn¯n]nFn|nnun6m÷m›m m–mmpmMm#l÷lÐl„lkílll&l4l8lGlDlk©kWkjájìj‡jykkkkj ji‹i hgøgrfèfieÕe;d¨dcWbÇb9a­a`‚_Î_>^¥^ ]€\é\=[[ZNYßY˜Y^Y5Y/Y5YXYfYY©YÚZZZ/ZYÝY¡Y€YŸYîZ3ZyZŽZ¨ZÝ[[[ [[W[Î\d]]Ü^§_m`"`Àa5a£bbœc6cÌdRdåe“fCfõg±hˆixj[k(k÷lÎm²n‘ojpFq1rrðsçtÑu‘v-v¾wQwÆx xHx¹y]yàz0zWz\zˆzö{[{{Â{ù|(|Y|†|¤|Ê|æ|ô}}&}9};}3}"|å|B{­{¿{å|{ý{È{©{“{®{É{ä{ê{Ð{ì|@|†|k|'{Î{—{¦{É{þ|,|I|{rzázz/zzyày¹y›yByy(yGyny†y¢y´y¤y5xçx\w_vªvv!vŸv×vÀv^v(vvûvév¯vyvAuõu`tDsrÍrr²rcr;rq;qpƒpñlõiÔmOoNmcn…q1q|p^oo1oo¶oàoŽoIpApp{pÜpÀp oµo^o•qrs~uvðx¸z–|!|p|×}}%|æ|¡~)䀩ƒT€Æ€¢€È€³€D€²~€~r}^|5}›}c|º|Û|n|‰|`|=|!{ô{Û{¡{„{W{,zÌz"ydxxw¹w[wRwRw7wwwvÑvÇww@wvÆv|vuÛugtÛs|rºrŽqÉq¦q©qqeq0pîp·pYoÿošo^onún¸nhnmÔm°mšm¾mžmm7m:l}llk¬k^kjÆjrj-iþiÉiŸii„ii†iˆiyiFi1i ihÂg0f]eZd¯deb„aFabaQa`Ö`¨`ƒ`N`F`/_u_2_§_¤_µ_À_Ö``"`E`k`¡`Úa-aaþbjbÛcEc´d!d™e e‡eþfzggŒhhŒhçi8iŠiâj0j[jmj\j1iåii!h®h0g¡fñf/edd”c»bÐa×`Å_µ^ž]ˆ\o[QZXÖW|V TªS_QüP‘O(M½LkKIÚH¢GFiEiDhCcB–AñA^@ã@j?÷?¶?Ÿ?ž?À?ß@@h@áANA¯B6BâCªDkE2FFçG»HxI*I×J†K.KÙLM-M¸N;N¹OOdOªP PåQõSaTÄUåWDXíZe[»]/^¶` aaòb¼c{ddzdÈe$e¦f2f“f¶fµfÂfãfïfÖfžfEeàeidÕd>cÇcvcb•aòa^`ç`‰`(_±_0^¨^]„\å\A[¢ZôZHYŸX÷XdWÎW6VœVUkT×TLSÓSjS R®RRQõQ™QCPéPP>O÷OËO½OÏOÿP9PhPP²PÜQ Q?QmQQÑQùRR+R@RxRëSƒT+TÖU‚V+VÌWhWüXŽYY³ZKZé[\\]]„]ù^s^ì_d_Õ`L`²aawaÑbbgb¬bìc'cTc†c­cÙcúdd0d6d:dcbDaŸ`2^Ú^q]t[øZ»Y9WœUþTeRÜQYOâNtMK”J;HæGƒF$DÄChB@Ï?>8<ô;¹:„9J847<6[54»3ä3/2b1k0Œ/±.°-°,Ù,+n+7+(+!+9+c+¾,7,Ò-|.;.ô/¤0D0Ü1r22…2ù3k3â4i4ö5Š66¦77b7¯88Y8¢8Þ99c9Ÿ9å:H:Ó;^;Í<<<Ò=ƒ>5>ä?—@RAAßB¨C|DYE/EûF»GjHH·IYI÷J‘K*KÅLjM!MßNŠO$O²P:PÁQJQÎRBRRüS„T=TüUVVÜWX/X÷YÞZá[–\*]]é^¼_`3`Þa`aµb%b³cIcéd‹e.eÏfkggŽhhœi0iÉj]j×kJk®kýlSl‰l¨lÌlñmm m.m mmm(m2m=m3m1m9m?mLmUm`mhmsmmãn9nLnOnCnmåmÖmûn nanœnenn m§m l­l²lÿmgm™mën,nWnnœn$m©mõnmnHn n mÚmÏm¬m™mƒmcmBm l¿l[lkØkØkÂkÂkâllkükÉk†kAjój¬jzj`jkj³j¼j°jÚj¿jpiõi\hÕhjgîgifÚfCe¯edycÌc7bba|`ï`R_¿_&^Š]õ]d\©[ó[aZ¼ZLZYøYÜYÏYÉYãYòZZZ?Z\ZtZrZMZYãYÞZZ>ZqZ­Z×[[.[M[b[_[][¢\\ž]F^^È_o``‘aaiaîbˆccªdEdÕeeffÐghXi,jjñkÆl¥mnxoRp*q rssòtÆu[uïv«wIw¼xxtxíygyÃyÿzzNzÅ{*{V{’{ç|+|U|‰|´|Ú|ù}}'}2}L}o}l}e}L}|l{ç||&|9|({þ{æ{ì| ||;|]|y|¡|Ã|Ý|ß|Ç||g|V|C|>|F|F{ø{`zûzÊz„zyzfz}˜|b{Û|Ë{ô{»{â{•{Õ{Ó||C|&{õ{™{{azïzyÑyxVw±wFw7wvþvÕvØvâvÒvÏwwvÆv‰vu²uVtÊt-rzrrHq¸q›q¯qŠq^qpÒp„p%oÓoqo1nùnÈnxn5mùmžm\mUm\memjlÜl¼l+kºk²kkdkj¿juj@iûiÕiÁi¯i²i¾i±iŸi„iZiWi,i!hàfšeøe$cècb(auaÁa²aqaAa`ð`Á`÷a`*_¦`$`/`B`N`o`¥`Ïaa9apa»bbrbÛcIc¶ddŽdÿezeðfkfàgWgÓhXhÙiPi³iûjPj®jûkk k jÜj˜jCiØighôhqgÄgfQe‹d¹c×bçaç`Ý_Á^®]—\‰[rZFXïWŒV>TìS˜RJPêO‡N0LèK²J‚IaHPGOFQEUDzCÖC]BðB€BA´A¤A¶AÄAÈAñBGBBùCZCÑDkEEÓF‹GKHHÝI‚J JÃKaK÷LšMMMíNmNÛOFOœOÚP PuQ*R0S§TÖUÔWFXøZm[¤\é^g_ßaaôb¹cwdddàe,e”ffŠf¸f­f¤f¶fÈf¼fˆf0eÈeQdÅd0cªc=bÊbLa¿a+`Ÿ`/_È_Q^Ò^H]¸]\u[Í[!ZsYÁYX€WóWdVÏV1UTíTTSÈSPRáRyRQÂQhQPÅPwP,OòOÍOÅOÚP PSP¥PãQ Q1QYQƒQ¯QáRRORuR‚R‰R¿S;SéTœUQVV¬WOWëX‚YY¦Z7ZÓ[k\ \¡])]¦^^”__Š``„`óafaËb.bbèc7c„cÇddEdzd®dÔdúee4eEeSeVeReNeKeWeYe]eNe1edÐdždld?dcëcÊc²c¹càdd;dJdzdíeÀfàhHi¯jÚkÐl¯mŠnOnðo’pApÔqhr rÍsr©rr(r_rvsisÑruon:n×oao¢oÑoøoÐoåppp×qqCqQqdq"pu§uaut×t¾tÂtþuPu“u±uÀuÏuÙuÖu—uUu"tçt¥tut3sÜs|s'rÓrˆr2qËqNpÐpLo­nýnfm¡lk˜kj“iîi!hagwfnevd“c‹baû`Ð_f^ü^·]w\Y[YIW½V(T‘S QPN£M(KÍJ…IAGäFƒE(CÙB—AN@>Æ=‰¯?u@<@ñA¥B]CCôDÓE°F|G9GåH‰I+IÇJkKK¶LULüM²NpO&OÅPTPÞQbQãRWR»S SfSâT•USUèVpW&WâXŒYGZ[[Ó\„]d^A_ _Á`aaa…aÝb@bÈc[c÷de&eÂf_fêgqgõhxhþiiýjqjçkBk•kòlAlql—lÆlälþmlßlãlélölþm mm mm'm(m"m$m7mTmmên'nm¿mPmlýlÿmZmÑn9mìmHmmLm løl§l¢lÄmlül·l±lÞmamÂm¥mLmumîn$nLnNnmämÅm§mm…mfml§lPlkËk¬k‚k|k‰k§k·k®k kvk5jðjžjkjiÅiÑiûj+j±j¸jzj!i¢i7hÕhegðg[f³feƒdêd;cšbübmaÕaK`³`$_^õ^i]Þ],\‰[÷[[ZûZÅZ™Z~ZgZRZWZUZ]ZeZxZˆZ¨Z¶ZZbZKZgZ‹Z¢ZÌZô['[_[u[„[ˆ[”[¬[ý\X\Ò]f^^¾_\_ã`K`µa4aÅb[búc’dd°eVeüfžgQh*hýi×j²kžlŠmlnLo#ppÿqörêsÅtyu!uÖvƒwwžx xhxÐy0yuy¯yêzJzÉ{+{U{¡||=|v|³|Ó}}!}8}F}[}s}~}Š}}{}5|Á|p|\|K|J|A|)| |4|:|\|Ž|À|ê|ÿ}*}N}a}q}b}|É|¹|ˆ|P|%{Æ{U{ {{zéz´z¬z™z{z%yœy8yyBy…y¡y’y¨y”y“yWxòxÛwùvÊvjv@vºvòvPuÕtÂsÒtcuHu…uOutÍtt svrq‰qqdq4=;Ù:§9‰8Ž7É7605=4Q3[2W1i0a/7.-!,+Ð+Y+ *ä*Ü++ˆ,4,î-À.£/p010×1t22™303¼434¤5)5·6E6Ñ7`7Ó8)8~8Ò9,9‡9Ö::W:•:ß;@;¼—?K@@àA‘B8BäC›DjEEF$FöG²H_II£JHJñKLGLîM”NGOO¸P[PìQsQíRiRÖS)SoSÄT@TñU©V;VÀWwXAXóY£Zg[F\ \Ü]Á^—_Y_ÿ`‹aa…aôbdbçcsdd’e$e³fDfÎgOgÏhQhÑiLiÆj/j—jôkKkškél1l_l…l¥lÊlÖl¿lÁl¿lÄlÈl×lèlólýmm mlømm@m”mÛmÞmŠlþl§lÆløm/mlÕlûlílÀl¿mlÇml•l køll®lkkükåkõkÕkËlSm#mÀnnFn3nmêmËm±m›mm4lål²lcl kÁk‹kPk0k9kTkUkSkAkgkckj·jfiþiÂiÿjjyj2jWjXji·iƒi'hÂhCgºg fveÙeIdªcüc\b¾b*a™a `ˆ_ì_d^Ø^5]–\õ\V[ä[„[;[[ZåZÉZ²Z–ZˆZ‡Z…Z“ZÏZðZñZÏZÆZÞZòZÿ[+[<[[[x[Š[»[È[Å[á\9\‹]]^-^¯_._§` `l`óab0bÆcld de8eÜfg6gïhÂij|kglZmEn+o oÛpÎq¶r‘sqt.tßu–vo,o!o2n mÍmim«mÆn n×o¤p@pNoPn'mÞmÕlŽkCj j8j+j1iÕikhÌhIgÞg>f¢feùeöeÊeZdßd7c˜c*bÝb„b?aÙaS`·`-_ú_î_à_É_Â_Ÿ_]^Å^J^|__©`^a0bbccUcžcödId¤dîe\ff·f÷gg!g;ggg›g×h+hši>˜?.?Ö@›AfBB¿ClDDáE¹F•GnH0HÛI„J+J×KˆL5LßM‡N/NÚOŒP}f}”}¼}Â}›}‘}‘}q};}|å|Æ|°|™|“|›|”|«|Ü}}S}r}–}á~U~‡~F}á}h}|´|m|+{ã{«{€{o{j{^{0{){zëzÃzzxzyñzz"zyêyºyÎyy[y¦y¹yzyIy>xÂwÏxUxÕxŸu"q™qÍrÕs^tvívŽv‰v˜vƒv|vjuÏu•ut«s·qñq„qq­qãq´q±qœqiqpÁp]oïoƒo#nÎntnEnmÄm‹m3lßl›l1kákÑkÁk¸kQk)kSkgkek7jôj§jFj içiÉiµiTi{i¤iÜiáji¼iiinigqfVf&db…b¨bÝb²bˆbmbXb;b0b*b!bqbŠbaðaåaÏb*b[bŽbàc+c“cìd@d‘dáe2eŒeòf[fÊg>g¬hh‹høiliÜjXjÛkgkñl:lql¨låm0mmmwmZm/lìlžlHkãkdjÓjR9R4RNRRÆR×RôShTTÙUžVbWWÇXqYY¸ZZZ÷[“\/\Ê]i]þ^”_!_©`'`©a/a¶b?b¾c:c«ddudÙe9e™eïfDf•fàg$gbg›gÁgægÿh$h;hUh]hah^h[hYhLhAh/hhhh gðgÍg™g]g,gf×f¾f³f¼fÂfÂfÏgg‘hGij=k`lamKnnÍo_oëpqqjq°qÛqÿrr.r)rut-u#s pÓoÄo]ovoõp}pâq#qDqQq”q÷rrr-r3qôrorèqÅp*omým4lúlËmmlônoXo povn‚n×omik¦jÈj=j8j1iæiŠihgÝgf¨fMfZf`feŠedpcác@bÌbxba™`ï`e`_â_Ø_È_°_£__^i^4^²_V_û`ÆaŽbKbÓcDc‰cÒddadµee|eéf(fYf–f×g gGgŽgãhYhâiWi²j'j¡kk–llYlÂm-m˜ménnMn—nåoo2o4oFo9ooo¦=t8Y7g6‚5¤4³3«2™1s0?.ü-Ô,ì,7+‘*î*p*<*¥+‰,ƒ-€.s/_0B1 1¸2T2Ý3a3Ü4^4â5n5ù6Ž77­8,8ž99d9½::]:¯:ú;L;¬<<†= =˜>>”?,?¼@J@úA¿B„C5CòDªEaF2G GãH«I_J J¸KmLLÊMrNNÇOmPP·QUQÙRPRÁS%SŠSâT,T†UU´VcVìWoX/XøYžZ<[[Ð\]^`_(_ç`ŒaakaàbcbÙcAc­d"d›eeƒeüfvfògogëhahØiFi²j j`j«jøk;k‚k¾kâllYl}lZlblflhlel`lql‹lœl£lÀlØlçlîm"memym lžl®lÜml|l=llbl®l0l7lÍl¥llmjíi°jˆk2jºjhj‡k7llÀmmÈmµmên/nmçm­m¤m“mzmUmz¢{!{Œ{ð|9|u|¦|Ô|ÿ}}.}g}¯}Ï}¶}«}ª}}h}7}|ý|í|Ë|É|ó} }$}F}}›}Â}ÿ~H~‘~f~'}Í}J|ó|¡|{|1{»{5zï{{{zô{{0{<{{zâz±zÛ{zñz€zRz>zzz%zyÐy¢yTy±yçyðy™yw tprÚsšt2t,tYtctitstpsßs%rjqXp¼p5oYn›o:nOmµm™kcjgi!iwhsg©i‘kÁkÙjîj"iÌjìmodo¸n¼mêm¦mÙnco¯pÿqÂr=q q_oþnynboÖsúwÀyyåyäz‡z¬z½{ž|N||K|{Ú{ß{ü| {Æ{mzüz”znz,yþzz8zzyzzzzz.yÑyûz$yày„y?y xåxcxw¾w¡w˜wXvôvvfvovZv;vu®u‡tßtrÇqaqiq˜qqÃq¶q¡q‡qEpîpŠp%o¸oGnènn;mùmÄm{m2lël™l.k¾k=jÕjºjÒjäjåjþjñkkjÐj–j6iüiÊi™i8hôiqiÁiàiÄi¹iThùh·h g`gHfÒd b—ccZc bôbØbÇb·b¯b¯b¯bùbßbIb¤bÊb¸bûcOcŒcÄddpdÎe1eeÍf#f|fÙgDg±h hhöiiiÍj?j½kdMcNbVa\`k_m^n]U\+Z÷Y°XuW=VTÓSÊRÇQÀPÕOíNûNM>L—KåKMJáJgJI²I^I6II II2IQIvI¶JJ}JãKNKÓLXLÏM6M—MùN[N¿O&O–P$P¬QQ`Q”Q³QÓQóR)R”STT^UhV¸X)Y£[\S]{^€_y`a«b~bÿc~dd¡e.e¬f fMf…f£f™f}fdfJf'eìe“edŒcýckbÑbDa·a.`¢_ü_Z^½^%]—] \q[¿[ZWY¸Y X™XW™W VcU²U TcS¾SRyQÎQ+PPO±OOnO€O³OôP>PƒP½QQ^Q»RRHRVRKRKRtR¢R³RçSrT>UU×VžWZX X»YaZZ©[K[ê\‹]+]Ç^_^ó_‡``•aa¨b6bÀcIcÊd@d­eeueÖf8f˜fúgOgŸgêh,h`hh¯hÒhìii,iCiSiViXiXiPiGi4i"i høhóhçhÛhÁh‘hZhgåg·gšg‰g„g‰g€ggËh5hØij~kˆl…m‡nJn÷oœp+pšqq~qåqörrr\rŽs"ss@rRoÊoŠo©ppBp¾qqjq‡qŠqÉqúqàqÃqÊqårmrÚrÝrÑqÉoHm¾mWm lÀl¼l×l³l§mµn%m¨m3m6mõm¿l#kj§jcjSj6iëiihwgàgQg f¹f‰fjfe„e'd}cÐc)bbRaáa7`ˆ`_Ö_Å_È_Ë_º_¨_u^É^-^Y^ò_†`5aaÄbfbåc^c«cÝd dcdÊe7e|e±eèfGf¾fûggTgÎh9h§ii“jjÃk kWkÄl#lwlÖmBmmàn n1nZnƒn¥nÏnïonþnànÏnßn÷ooo$o:oMoCo2o*o oonõnçnÛn¢n†nÍo8oªpZp¾pêq&q=q.qpìqqbqÅr rPssJsjs˜sÂsÜsÅs´s¿t t¡uuHuVuKu.ut²t7såsºsZrûr rVrq›q9pÄpep”o‡nfmÚml`kÈk(jiéi)hKgafued¨cÇbäb a(`#_]æ\©[UZ|Y¥X–W{V0TÔSeQùPO1MÙL”K[J&HöGÂF–EnDGCAö@Â?Ž>Z=(;ë:Å9è8å7õ7.6\5n4b3I2%0ñ/¯.i-W,†+Ã+*Œ*]*Ý+è-.0//ò0Ô1•292Ê3P3Î4A4¸5C5ë6u77”88™9 9u9Ý:3:„:Ò;%;{;Ý=»>4>Ÿ??«@+@¡AFBBØC®DuE-EëF´G‹H`I(IãJ•KGKûLªMXNN¦OQOùP•Q$Q±R0R¡SSxSßT8T„TèUqVVÅWNWÉXzY;Y×Zt[2\\ä]½^¡_r`-`×aOa²b!b¡cc‚cÑd.deegeÓfGf¾g1g«hh”iikiÃjjaj¨jâk'k{k¶kÝllDlllllll?ldlklpllžl¨l¬l¶mmFml lálålílŠmmzml…j%i³j—kj§jwjók£iiÈi¯j iªiÕiæj_jïlAm#mXm‰mm¿mÁm¸mŽm…mxmpm\mKm%lûl²ltl%kÂkkk!jæj²j™jjhjhjj½jßjËjCiúiÌiÀißiàiŒi4jjEiúiŒi6høhºhngøg|fõfVeµeducËc-b“ba¤a5`®`,_Ž^í^b]é]ƒ]\–\/[ô[¼[‰[f[O[K[p[¸[ç[þ\\%\+\4\6\0\/\1\/\1\\\[å[é\'\v\µ\ë]]Q]]Ó^%^n^×_Z_â`laaÃbrc/cßdŒdÿe‚f#fÖg™hii;iþjÊk¯l¯m‘nioAppîq£rosPsït]tØueuìv|wwhw¹x xmxÏy4y}y´zzŸ{!{…{Ú| |]|˜|Å|í}}}L}€}’}¡}¸}×}¿}Œ}h}G}D}?},};}l}„}}™}»}å~~E~_~j~D~}Û}k}|ë|Å|Œ|{wz÷{ {b{§{Ì{Î{Þ{å{â{®{{„{’{½{ë{Ù{s{0zÞzœzZyúzz@zEz7zyÝzSzwÃsqrqrÇs´thtYtqt—tªt©t¤tvsþs]r¯qÛqŒq£qoûnünmån‘mámajéhrg”gŽiFkk>k j‹iÚj$jÞlandnòn©njnm¥mÁn‹oo¦oöoëoøo*on5o4s«w„x¹xx”yOzzU{{Œ{´{œ{˜{t{k{~{z{I{'zÍzy±y]y&yyyly¨yÜz3zEyçy¯yÜyòyãy®y|yx–wëwÌwíwÇwˆwv¸v`v)vEv@vuúu—u-tFsEr4qq–q°qžq¼qÂq¦q~q.pÑpwp o™o7nÕnrn(mÖmmMlýlªlJkßkYjËjiÃjjxjjjPjjjIjRjBjiÕiŸi1hÌiivi§iºiœi|i"hœh g.f·fÑfUd!c6c˜c»cŽcjcRcIcCc7c*c,cDcycbçc`c¹céddvd dÁeeVe½ffff¼g gfgÈh'h‹hîiUi¾j"jƒjãkakðlslîmimÙn/nkn—n¹nÐnÒn»nn^n"mÐm}m&lÄlHk¸k$j“iúiTh¤gägf:eTdjc}b‰a¡`¶_Ç^À]²\‰[UZ1YWÑV±UµT²S¹RÙQüQPDO„NÝN$M€ML‘LKÍK~K*JøJÕJÎJËJÕJýK1K[K•KèLGL±MMˆMìN?NNÖO/O„OØP:PµQ0Q—QèRR/RIRkR–RçSdT:UJVYW‰XëZQ[ \Ú]ö^é_Ì`ÍaÜb´c"c~c÷d‚eeŠffEfmf‹f’f|f_f=feÝe–e5d¬dcŒbóbgaØaK`Æ`,_^ð^H]²]&\‘[ë[;Z—YûYeXÔXQWÈW)V}UÌU.TSùSgRÂR)QŒPéPTOÝO†OWOQOvOºPPmP°PëQ&QmQ¾R R?RSRLRORcRRžS SÌT¢UvVGWWÌX‚Y&YÊZj[ [±\P\ï]‘^*^Ä_W_æ`m`÷a€bb—c"c±d1d¬e!eŽeïfPfªggsgØh/h{hÌiiQiriŒiœi½iåj j-j>jJjLjIjFj9j*jjièiÙiÎiÅi°i•iji7ihËhžhphUhDhFhBhBhahÃi6iÓjzkTlAmAnnÒozp p~pðq^q²rrJr¥rir®r¹s8s!sEr"o|oÊp!pp­péq2qŠq°rrMr_qêrr%rMst ssNsOpÓnunnmSl©lóm¦lˆl&l—lêlcll l”l)k?jÊjªj«jtj2jiµi7h‘hgšg;fëfÎf‚eþe‰edŒc×c%b§bKaÜa`R_Ô_¦_ª_¼_Ö_á_Ñ_‘^ï^1^3^³_8_Á`za6aãbzbücic°cÒddpdÚe8eˆeßf9f¨fùggKg¶hCh›hÛi1i°jTjðk`k©ll`lºmmUm•mÇmûn&nAnInDn@n^n‹n£n–n}nsnn“nŸn¬n·nÃnænónênënên×nËn¨nqn\n9nn3n´nÿo_p pQprp€pSoÿoÙoäppppäqHqÔr‹ràs7sVsussxs—s©s×tWt¸tàtôtÿtõtÔtšt:sÕsŽsRsr’rHrqqp´pKpoNnŠn7mhl¡kÿkbjÉj,i‡hÊgñgf0eVdc¯bêbaD`J_2^\î[ÒZåYçXàWÔV³U~T/RßQŠPCNóM®L~KOJ&IGâFÃE©DCpBMA?ð>Ê=¥.-,<+–++ +,{-•.¼/·01K2 2 3"3›44‰55„6(6À7M7Õ8A8³9/9¥::w:Ë;;j;¾<<Ž==€=þ>u>á?F?°@@†@øAŸBZC(DDÍEƒF=GGÏHžIiJ$JØK‹L;LèM”N7NÙOP"P¹QBQÁR6R«SSSäTET¢TõU[UâV‹WBW½XX¾YuZZ¦[X\/]]ã^½_`K`úa{aÞb?b±c*cŸcèd"dkdÈe&e„eáfJf¾g1g¤hhhåiEiŸiêj,jrj­jîk=k}k kÂkåkÐkÜkàkÏkÔkêll&l,lYlvlxl`lillÍm)l×l§læl×llfm=m/lÎiÿhbhÛhçhÅh˜hçhÆidh¨ici„ii€iàjj/j'kYl¾lÍmm(mmm2mHmQmOmZmLmFm1m l¾lŒlAkÚkk2jój´j”jnjYj)jiýj9j6j.j)jiðiàiúiÁi.i†j'jiki hßh«hyhg¥gf~eõefd¼dcybÖbLaãan`ï`^_½_?^Á^J]ß]`\é\•\G\ [î[Ç[¶[Á[ë\<\\\d\q\\{\\|\}\{\~\‚\n\4\[÷[Ù[ù\T\ª\Ê\ã]]8]U]~]É^$^‹^ü_”`!`Ía‹bIböc—d;dÓenff±gvhVi,iæj–kyl„mUn+ooãp·qhr,ss¯tx¼yyyyƒyÜz4z¼zûzÛzàzåzïzßzÌzžzozMy¿yxmxSxpx¨yy y@yÁyìyœyzy¸yÂy y[y$x–wùw§w»w×w§wEv­vovuÓuôuäu»uutss˜r·rq°q¡q±qØqïqÊq¡q]pûp•p.oÂoWnðnŽn6mêm˜mIlól˜lCkÐk^jájgiÒi²jjTjŠjgji§iUi>iVisi’i“iChÎhÓi4iˆi˜i›i‹iti0h¸hg‘feÃdæd dd#dcÚcÉcÂcÆc¹cºc»c¼cÆcúcÑcÐdd|dÛeete¥eÏffJfŸfñgKg gûhWh­iijiÌj/j kkUk®l+lµm@mÀn:n®o oBoaovoˆoˆodo0nön¶nxn+mÑmwm lŒk÷kajÍj2i‰hÓhg:f]ewdŒc¡b»aÕ`ì_ö^ö]Ù\¾[ZtY@X*W7V6UCTeS“R®QåQGP©OùOfNÚNXMõMM?LïLÃL˜LLsLoL†L¸LáM MHMšM÷NYN·OODO‚OÁPP[PŸPóQaQÕR.RwRžR°RÉRóSSdSäTU†VWÊY Ze[¬\ï^__ê`ÔaÜbÓcVc˜còdsdêe`eÓf(f_fufxfkf[f;feÉeƒe-d¶d&c€bÞb_aÊaB`µ`_^Õ^.]’\û\_[´[ ZtYÜYBX®XWpV·UþUIT©TStRòRZQ×QFP­P-OÀO{O\O`O’OéPGPšPàQQAQ}QÇR R1R;R8R3R9RsRóSÃT¥UV]W0WôX¯Y`ZZ¯[U[÷\›]E]å^ƒ__´`B`Öa`aïb}c c¢d*d¯e.e¤fffàgAg™gùh`hÊi'iwiÅjjYjnj|j‰j¦jÑjùkk/k2k6k2k-kk jójàjÀj­j—jŽjnjUj0iûiËi‘ici8ihýhôhähóii`iÍjUjåk¤l|mnnHooµpIpÀqqˆqÚr'r`r‹rzrØsVt tTt3qToÚo“pGp°pöq&qTqxqÕr~sqsqÌrrÀr\rÝs¯s¦sls~pön²nÀn¿m~lŽl¬lËk k;k=l.lGlÇl^…^+^j^Ã_)_¥`H`úa·bebäcEc–cÄcýdqdçe?eªf!f€fâg:g…gêhehÀi iQi¥jjpjækrkþlll¿mmImƒm¸mên&nUnqnqnXn=n3n5n=n1nnn+n6n8nAnNnTngnŽn n¦n¢n{nXn*mëmÏmºm¥mÙnrn¬nÃoSo¦o–ohonÇn©n´nåo|pTpïq^r r§rór÷s1sbs[s~s“s¥sât)tTt{tt”t…tYtsÆsqsrÙrr‘=%;í;+:S9l8r7x6¢5½4­3£21p0T/4.&-K,¤,I,e,Ý-—.w/…0‚1N22À3L3¾4-4 55“66­7B7Ê8@8¬9 9::Ž:õ;Q;¢;ð>Œ>û?h?Í@0@•AA‡B,BÜC¥DwE=FF¼G‚HRIIåJ£KXLL¿MoNN¸OTO÷PšQ)QªRR†RøSdSÖTAT¡T÷ULU»VEVãW£XXjYY¼ZYZâ[†\_]T^7_ _Ð`Ža=a½b!b}bécZc×d-dPdndÀeeae¼ff‹fòg`gÇh0h–hôiKiœiãj#jaj¢jäk+k_k…kŸkzk}k‹k“k²k¿kÝlllhljlhlil\lƒlÙm/lÓllÐllZmVnmåkÌhthìiÑikhòh®h©hchži$i5i5ižjGj>j9j8j|k l·m m m#lîlÄlÊlálûmm,m,m&mlñlÊl l\l k«k\kjÎj¡j]jDj3j iÞiíiìjjjiÿiÜiÃiUi iAiÌiïiIhæhÏhhoh g¹g7f¹f.e‘dñdXc³cbxañav`õ`e_õ_Ž_^^]­]V]\»\}\C\&\.\M\ˆ\Â\»\½\Ë\Ë\¶\À\Ï\Õ\Í\Ô\Ø\´\q\H\[â\\f\¬\È\à\Ü\Ý\ù]4]i]·^3^¯_6_Ï`ua(aÛb‰c]cþd‰e&eÝf gah@i iÄjtkAl>m+mýnàoÁp…q7qär¢sVt t«u.u§vvLvvíwCw£xxcx×yTyÜztzó{P{’{×||\|•|Î|ö}0}L}d}|}Š}µ}ç~ ~}í}â}ñ}â}Ï}Ä}Ó}ï~ ~#~^~¬~Ð~·~‚~c~Y~%~ }Ã}¡}›}|˜|Y|•|¾|Â|ì}}3}O}j}}}‚}‹}š}´}²}¤}a}&}}4}=|qzGyfyÜ{ |-{€zŽz:z;yrwLvtŸsrs„t tot˜tôumuÏuÛu‚ut©t!skrÄr‘reqÌpÜoðoÒoŒnénžn]nlàj¡hgÔh©h»hgáhÌjMkkbkvl¦n†oanÎnFn¶o7o nÐn¿o n£n{obqÖt[›ZöZTY¿YXnW¾VþV;U{TÂTS†SRŒRQˆQPŠP"OÐO OŒOOËPPcP®PêQQ@QuQ³QîRRRQëR RÍS®TœUVbWh¨hÿigi´iÿj;j‰jôk}ll„lÕmmOmymªmÜn'nvn¢n³n«nŠnYn*n mûmímÜmÝmÙmÕmÜmémþnnKnenfnTnmÕmƒm9m-mJm`mªn:nZnVnÀnïn½ntn(mæmÐmînYoApp¶q"qárrªr¡ssVsMsHsXsjs†s£s¶sætt)t(tsÞs‰sArér–rLqõq—q*pŸpoÂo <å<;":89E8@7b65‹4•32‹10”/®.ã.T.).@.‚.ü/­0ƒ1T2#2ç3Ž44w4â5R5Æ6@6¼7@7Å838¦9.9§::”; ;w;Ú<8<Š<Þ=;=§>>Ÿ? ?€?ö@b@ÆA5A°B9BÛC€D1DíE³F{G@HHÑIŸJfK KÕLM2MàNO6OÎPfQQ•RRsRÙSGS¹T.TšTýUQU®VVŸWl3l·làlÕll…l›l¹lËlæmmmlûlæl¿ll7kákk?jõj²j“joj‰j¯j"j‘jÒj¤jpjtjqjSj4ièiíiµixilih·hžh~hehgÅgXfÝfKe¸e(dcçcKb¬ba˜a `¬`J_Ý_|_^©^C]Ò]x],\è\º\´\§\Ö]]/](]*]!]] ]]] ]]\ú\º\b\4\[ô\?\‘\»\¶\²\´\¯\¨\É]]r]Ô^]^Þ_l``Åazb&bêc©dieeªfig?h#hðiœjFk,llümÚn®op`q q¿rˆs6sÓtgtòudu´uív0vžvûwOwÄx,xyy­zTzÎ{%{{{Å||I|€|Ã|ó}"}R}~}š}·}Ò}î~~~,~9~6~1~~~~4~i~~¼~ø~û~Ø~¡~}~p~M~:}÷}ï}ã}d}}}?}c}•}§}¾}Û}ã}ú~ ~F~Q~<~e~z~Q~}î}}g}m}ó|ãyÜz{U{E{!yyÉyÀwïvt˜sœs±t*t”táu&u_uºuîuîu˜ut¡tNsÒsNrßrBq‡pÌpSp}pJo‰nÐnlnm©mJkÎh^g—h³i²j-iÐiŽihjkkmo1oùoâoÚpp_pJo¯nÍnUnnots uîvòx+xïyxãyy1yLy:yQyQyXywyªy‹yxµxÒy€y™xúxjxlxWxwÝwiwCwóxªyyXyhy0xôx¯xzxMwãwzwv™uïuiuŒuÑupu9u‰u…uhut±t(snr’qÈqiqfq qÂqÔq§qEpÑplpo•o n·n[môm”m1lðl‡l4kÛk}k4jðj˜j9iÜiÅiÏiËiÑj ji}i*häh…hrh£hÎhÞhåhüi%imiai@iihþhÌhYgQfkeQd:d€d£d¢d˜d–d”d—d—d™d¤d¨d¯d¿dîe,eueÐf8f‡fÒg glg³gîh$hah¯iiii¼jjfj·kkdkÅlMm"m´mªmínRnÁo7o®ppop¥pÉpàpépßp£pap$oèoªojo'nÔn‚nm’lülekÓk5jiÓihCgrf™e¾dédc8bXab`d_[^A]3\[ ZY,XDWkV˜UÊUTŽTSfRÍROQäQuQP¼PgP(POãOÄO¾O¹OºO¾OÓOñP'PfPªPßQ Q1QTQ‚Q°QèRRcRÆSS[S’S¦S±SÒTT)TaTËU–V|WjX~Y›Z½[á] ^%__ÿ`îaßbècÊd5d]d­eeseÕf4f_flf\fHfDf.feÁeue!d»dAc¸c#bŽaåa@`¦` _e^Á^]s\Ð\*[‡ZàZ9Y‰XÏXWKV~U½UTPS¦SRšR#Q¥Q0PÌPyP0OúO×OÅOÎOòP+PjP­PàQQ$QRQQ»QÏQÏQ¾QíRžS”TUjVKW,XXÞY Z[[[º\l] ]Ð^~_'_Æ`a`÷ab'b¼cVcídƒeeffšg gygähLh¸iiqiÍj)jŠjîkLk¡kèll2l8lAl]l‚l­lÉlÝlßlÝlÕlÐlºl¡l‡lplRl8l"lkák¼k”kkk;kjèj®j‡jPj>j$j#j2j‹jþk}külˆm#mænªoZp p”qq|qær)r¦rîsGr÷ssRsÁs.rqbqq qq=q‚qŸqÆqØras(qòq_qkq•qŸrlsÊtxsÞsÅs>qboÍn0lâlñl\k~k lkgkJkCj{jDkkjîj×j^jžjÑjÊjÑjÇjŸjiWhÅh=g_fýfµfe‡dØdDcÔcDb®b!ax`‘_£_^ÿ_3_k_Œ_j^è^W^^/^U^^±^ê_7_¾`Vaa½b7b†bÐc8c°ddˆd÷eneífvfúgsgçhIhÀi(iŽiÞj1jmj¨jùk{llul»lþm9mfmŽm±mþnfn¬nÍnØnÆn‰n=nmémÚm¸mmzm`m_mjm‡m»mønnmóm·mfm l»l­lêm3mvm¿mÍmÈmýn mám¤mcm>mTm¬n=ooºpuq'qõrpr{r¨rússrÿsss$s;sEses”s²sÉs¾s‡sPsrãrŸrNqßq~qp”po­oMon³nmbl£kñk>jšiòiOhgàgfFevd©cëc+bqa­`Ú_õ^þ^ ]\6[EZMYKX6WUÿTÚS®RQXP(OMÝL¼KžJvI`HLG:F%E CíBÑA¬@Y>Ó=š<Õ<;*:'98/7W6v5Ž4¢3»2æ2)1v0Û0}0>00)0y11¤2S33É4[4Ì5)566~6û7o7ß8I8³959Á:5:¦;;•< 3>«?!?@@›AAuAìBrCCD%DÆEqF3FúG½H„IRJ JìK¥LQLöM NFN÷OŸP>PÏQfQôRmRÎS0S˜TT†TúU]U®V VzW WªXYX§Y YÆZbZä[X[ì\·]Ÿ^‘_q`?`ýa¦b#b’bõcZcÄd+d“dÑd¸d«dêe2eveÌf!ffÜg7g”gìhFh–hìi4iƒi¿jjEj‚j¿jÿkjíkk(kXkhkkíl ll®l ll›lul†lÐlÝl´ll[l&lŒm€kºiiMk!kPk+j¬j¡jjŠjwj7jiÌjjIj‚j”j›jzj]jiµiêkOlBl]lPlAlOlml“lÈmmmm lôlÐl¨lgl'kÒkqk,jÞjÒj¥jÓkj“kk•k„jxjÆkƒjÌj$j'jih ihïh­h†hvhTh gÁg_fêf\eÔe@d®dczbÝbHaÃaha`°`I_ë_€_)^²^K^ ]¼]‚]P]5]%]g]”]•]’]Œ]~]p]`]X]O]R]_]W]\Ø\¡\a\0\7\\°\¨\›\†\[\A\P\r\]]r]î^|_ _š`1`æaÌbžcWdd¬ewfAggÝh¬ifjkkòlÇm¤noXp)p»qnrSs s¡t&t¡u udu˜uÜvPv¹w$w˜wúxixßy]yõz•{ {V{¢{æ|6|x|´|ñ})}^}Š}®}Ö}î~~ ~;~T~d~t~y~u~ƒ~‡~Ÿ~·~Â~ô~ð~·~x~~‘~†~u~a~G}è}€}°}ë}í}ò~~Q~t~ž~Ê~â,#~ø~Ò~m}Ö}½~C~‹}Ê}d|aysyzyxXxfxzwÃu t‰sösýt.trt¡uuVu…uåu÷uóuŸuGtût¡t4s¤s%r›qàpÅp2pxp8oŠo!o-o-n`mFlbiÎiÃk^kÐkîkÕk‹jÚi góiþkîlÖmenboZoëpRpBo‚nžn*no@rÄvXwÈwñxx4xaxqx|xÜxÒx¢xx•x°xíy-yxÚx½y xþxPwöxwØw˜wJv¾v¬wqxx=x|x¼yxÜx]xw¾wVvÎuöu]t¥tItéu«uåuáv v"v!uÀu/t„surWq¨q‚q‡qªqÏq¾qoqp–p!oµoEnÎn\múmm?lÔlvlk»k@j¿j3iÑiÔiåiæi¢i@iDiAiAihÆhóhøh‹hyhºhÚhâhðhéii$ii(i hËhÓhÀh!gfedËdØdÜdÚdëeeedúdýeeeeBeeÍf3f‘fÿgdg²göhAh~h»höi8i„iÙj7jjîk8kpkÂlLl¯mmândnan·oowoñpcpÀq qAqlq{qvqmqLqpÆp€pHpoÉo~o1nÜnnmÞmAl¤lk_j¬iöi2hlgœfÑeÿe,dVcub„a`‡_‚^ˆ]\j[pZŒY¬XÞX WTV¤VU“TùTpSýS…SR·RPRQÊQ¦Q}QUQQcQ•QÆQíRRR:R[R}R¥R×SS[S®SëTT&T9TVT‹T¬TßUMVV×WÁXÙYìZü\]^__ýaaçbÛcßdŠd¼dìeCežeéf1f\fnfafDf1feûeÂewedÂdRcÑc=b¦baO`§` _d^½^]c\¾\[oZ¿ZYFXsW¦VÏVUGTSàS9R°R&Q©Q:PãP§PvPMP,POýOóPP2PcP–P¿PÝPùQ$QRQQ£Q™QµRbSaTVU?V+W WíXÈYšZc["[Ú\Ž]E]ÿ^µ_h` `ªaBaäb~ccµdPdêe|ffŽg g~göh_hÈi1i£j jej´kk`kÄl$ltl¶lßlômmm/mPmsmŽm m¤m¤m•m‡mtm_mEm%mlølßl»l”ldl?lkòkÈk kjk/jýjÚj¹j°j¼kk—ll¡mm£nRoo‘p-p¸q>qœrr[rÈrýsV=­<ï<:õ9õ98V76™5Á4ñ4=3²3>2å2ƒ1ÿ1¼1Å1ý2d2Ô3l44´5*55é6F6¼7=7¹8,8”8á9C9À:::®;,;±<(<—<ý=W=¬>>a>Í?E?¦@@A#A®B"BžC,CÁD?DÂE^FF²GuH6HûIÑJ¢KnL)LÑMpNN®OWPP§Q4QÉRVRÎS-SSõTlTåUXU¶V VgVÜWkXXÅYYvZ.Zµ[&[œ\0\í]Í^Î_¨`ia&aÑbVbÆc.c•cÿd\d¶edýdÁdÔee^e§eïfHfŸfñgEg–gðh9hhÖi(ipi¹iïj0jnj©jÍjÏjõk k2kTkxkÈkÍkßl´lµl¯ll€lul¡l‘lbl;kýl?lîlziiLk@k­klkkkjåjÔj®j€jTj3jWjrj{j‘j“jYjiÊi=hÑi–kál lll'lKllÅmmm m mlýl×l£l\lkªkYkkkkWl/kÕj‘iIh|gâg gg2h=h¬h5gúhyhÜh¿h„h]h\hShg½gdfôffeÝeRdÐd:cªcb~aäapa`ö`¯`\`_¦_=^Ù^›^€^I]ü]â]Å]×]ì^^ ]ø]Ý]¼]¡]]‡]ˆ]‰]l] \¸\^\+\=\\Ï\ß\­\n\B\ [ü[ì\\U\™]]^^__Õ`ŠaCbbþcÍdŒeIffÑg¯htijjÔk³lšman1nýo¹psqBrrÉsRsÎtEtµuu]u±vv‡wwmwÚxJx²y,y³zHzÜ{7{„{Ó||[|Ÿ|Ý} }W}Œ}½}à~~)~>~a~v~™~´~»~Ò~Þ~Ý~ã~ë&:>~ï~í~í~ð~Û~«~Á~Š}þ~)~[~Š~Ë~ó%$Y‰â€òž~/}}|¡|™}&|ì{Wxqx¦yBx)u§u“u9túu'uŒ=¶<²;Å:ó:&9b87·6ï675˜54Í4w3ô3s3H3K3g3¨44Œ55Ÿ66g6Â77€7ù8s8â9N9 9ì:I:®;#;³5>“??t?â@'@t@ùA”B*B°CGCäDoDæEaEîFG9GîH²I€JPK'KôL¨MTMñNŠOO¿PcQQ›R)R±S-SŒSëTPTÉUAU²VVgVÁW8WÏX‹YYUYäZ–[[r[å\y];^__á`œaLaøbcchcÓd;d™dâe*eGdúdÍee;eue¿ffOf™fêg.g€gÌh hnhÆi i[i™iÞj/jkj jjµjëkk=kWk€k²kßlyl±lÉl­l}l~l=l`lOl7kìk™mkáiûh¶jækjknkAk@kVk2kj÷jËj³jšj{jujjj„jŠjmj2iøi¦iDih¼hÙjµkðllll;lllªlàmmm;m4m)mlðl´l_lkÔk€kMkLkSk9iÿg¶g/g#füfégg g.gqg g®gÁhhkhŽhoh;h)h=hKgóg–gBfÓfVeßeddídjcíc\bÓbBa³aYa'aa`ò`y_æ_m_^ì^Ë^‡^W^*^"^Y^n^|^„^r^<^]Þ]Ã]º]Ò]ì]·].\Í\s\\D\ƒ\Ù\ú\Ð\–\_\[Ø[¹[²[¦[Ô\\c\á]Q]Ð^^^ó_”`ea9b bÑc¢dse6ff®ghh&hàiªjvkbkýlgmnnåo×pÎqŽr6r¸s4s³t9tµu u\u²uüvnvîwMw»x!x‘yy{zz”{{A{ˆ{Ô||c| |â}"}\}Ž}º}é~~2~V~y~™~µ~Æ~ç"%%*1FH@7-*%Y‰eW~¦~¾N@Lv¤Ç߀(€<€l€²€Ô€Ú€ }„{f||-z"w?u.vvºv§wvptýtu^uÕuâu÷u÷u©uu~uuÇuývavTvBv*uÕuxt¼tsereq’q p¥po¢n|n¢n{m”lkOkŠkÏkàjîi¬ipiRhËikkœkjriµhéhg·gAgxikll§l¥kÒl'mnSmõn(q£uçw’wv”vUuîvvuvuóvÆwdwüxwðwæx)x‚x¸xÀx{xw×wÔwàwÉw“w†wiw^wGwvÑv²vÚvþwwvïv­v7uvt‹sØrùrrÆtÄv#uÖuu3ukuxu`u t*s*qÄpAp pÚq€q®qŸqUqp—po£o!n¬n6mÏmjlülŸlUlkžk6jÇj^iÉi5i*i“iài|hMfÿgg:g gfÚf±ggÀhzh²hµh¹h¸hÂhÄhòi i&iOiJhëhoh>g]<]N]‘]Á]á^^2^y^ò_m_Ï`:`¦a.aÅb]bìc„dd§eHeìfefÐg>g°h/h©i i]iÂjj>j^jjêk[kÌl!lrl¶låmm mmBm¯n4n¥nënõnÌn|n&mÒm€m-lãl„l-k÷kêll[lžl·l lŠlbl2lll*l/l#llkùkñkìkêll&lkûkøl‰m mDmÜnÏoÌpžq\q«qÆqãqëqÚqÀq®q´q¬q™q“qiqYqjqlqpq†q©qärqûqäq¿qqqpÈpcoôo‰o=nùn¥nSnm½mKlÇl4kšjèji\h°h gnfÚfDe©edQcbºaía)`f_ ^Ü^&]g\œ[¿ZêZY*XFW\VjUqTrSlR_QJP0OMþLÞK¿JªI™H‘GƒFyE>C¸B0A@F?l>ƒ=Ž<É<$;s:¹9ï9/8x7Ô7C6Å6a5ú5x54À4¦4ª4À4ç555 66r6Ô7,7p7¸88|8÷9f9Ë:+:w:°:ÿ;c;Ù<[<Ú=X=Â>>p>È?*?•@@`@Ÿ@äAUAÑBLBÒCD8DÐEHE¹F5F¹GOGöHŸIWJJâK®LtM&MËN_NïOwP P£Q;QÍRVRÕSSS½TTuTÛURU¿V$VuVÇW*W¡XBXÜY)Y—ZFZÛ[S[©\\˜]G^__Ú`aaºb`bècXc·ddƒdßeeEeseFdçdåe!eNe†eºff>f{f¿ggKgŽgÙh%h€hÎiiXi¤iüj1jfjyj¡jÕjýkk5kOk˜kÇll_l’lŸl†l2kãl6l lkjÃkj#iYhjökfkkBkrkZjðjäjñjÜj¼j j”j–j™jœjjRj iÈiiihØhhti«k¸lkñkþl1lglœlÌmm!m>m9m>m.mlÁl’l_lk¹kkpk5jfhÉg­gDfãfµf‰f~f•fàg gg$gHg½hhAhgúgågðhg·gkgf¹fIeÜendýd…d c…bþbqaåazaYa¦aóaì` _©_Y_0_ ^ß^Ç^˜^\^{^Ç^ï__^Ú^›^R^]û]÷^]ø]—\ú\Y[Ð[¨\\l\Æ]\Ù\v\0[ÿ[À[k[_[h[o[¥[õ\]\À]7]Ú^’_8_ç`œa~b^c$cÔdžef_fþg­hŸiZjAkk;kÊlìno o÷pÆq^qçrZrÛsfsût…tëu\u¸uëvMvÍw2wŸxxyxíygyçzOz¹{{e{©{ð|,|p|´|ô}.}k}¥}×~~.~[~s~™~¸~Û~ý 14H[l€}‚ˆŒ¥ª³²ãóÆ»˜¸ÌÍð€€€€€%€M€™€ç`Y"€Ì~Ä}zóv˜sùs`t,uáv¡vÆv£uftt­u©vbvdvvu÷v:vwv¯vËvÀvÉvÁvƒvu®tÑtsyr‘qJpÁqirEr)q’qZpºoŠmHl%kÍk!jBii‹i¯i,iVg(i…llk7jmiòi“iDhjgÛhßk=m)mTkÌjîk©lkk5m†q´tŽuxvv3u·u÷vRvv4vÐw‹wøwÔw‹w«xxUx{xxVwúwwWwqwswvªv9v0vHvuÅu’uÏuûvuÏu™uJt¸sês`rârOrrs›u0vOvKuetétîtætFs›rûqÈpoˆoþp±q0qaq[q p´p=o²o1nªnk„kËk±kk¦lZl°lìmØnðoŸppÎqqqq;qJq9q(q*qpöpçp¼p©p¯p·pÞqq[q~q˜q™q‚qUq p¸p^po¿o~o7nÔnjn m¸mvml¬l(k˜jûjAi|hÉhgsfåfbeÓe4dcÍbüb-ac` _ã_$^h]­\æ\[UZ‹Y·XÙWõWV+U8T>S?R2Q PNçMÂL£KŠJxIdHRG6=ª=L>¤>ü?[?À@/@–@èA'A|AèBNBºCEDDÂE]EàFWFÕG^GïHI8IëJ¨KiL3LôMªNNNãOkOïPQQ©R3R·S2S©TT|TÙU>U²VV|VËWWƒWýXªY6YsYùZ¦[6[¬\\g\ê]–^f_V`'`ÆaNaébcc”cïdUd»eeQemeeƒedØee'eSe„e´eîf(fbf˜fÝggqg¹hhoh½i iiiÔjjBjbqaª`é`(_k^²]ø]7\s[²ZîZ!YKXyW¤VÆUàTúTS RPèOÁNšMtLSK;J IGêF‘E[DDCAè@Ä?¼?>=ö=9 >x>Ù?1??ò@\@ÎA.AAÁBBxBÊC5CÇD‰ELEðFwFõGuHH”I*IÈJyK.KîL¼M~N,NÌO^OãPjPüQRRžSSTTzTßU@U©VV}VÒW$WvWÝXgYYoYÏZn[ [œ\\b\¿]:]ç^¯_–`daa‰bb¼cRcÈd+dˆdïeIe…e—e¤eªeHdÝdòe!e?eeeƒe·eåffQf‘fÍggkgÁhhuhÉi"i‰iÓjj(jZj€j·jßkk#k^k€k£kÏk·kËkYk}k÷lkÛkijâj)iÕj iÈhhhñiiíjŸj›jƒjcjljIji´iójGj]jZj[jTjiài˜i`ihËh‹h`heij%jÒkallÁmamên mÖmÕmÙmÔm®mm3m läl€lllkŒjhÔhthgƒgJgfèfÙfËfÈfèg g+gMgvgŽggšg’g”g‚gSg+fôf¨fUeóee!d³d8cÀcCbÊbKaîaÒa²a.`_Ù_®_w_k_l_Q_6_+_:_7_=_ _ ^Ú^^h^]ß]æ^^]È]T\³[â[s[‚[¸\\}\œ\‡\P\([î[y["ZèZÃZ´ZÉZì[+[‹\\Î]^&^Ö_š`na2bbúcäde"e¤fNfýhi8i¼j±lQm‹nPooÂpWpòqŽr3rÁsTs×t`tÜuIu™uÁvvŠvów_wÎxIx·y7y®zzTz£zó{>{z{µ{ü|=|€|»|ù}:}v}®}ß~~5~V~~§~º~í+Fa‰©ÄÜ뀀€€)€€%€!€B€e€s€Mù€(€U€R€¢€Ö€¼€Ÿ€Ñ1z”œ‚Uý€‘~ä{6zÌ|D}|ö}ê~ {`vëtïtùu t’tßvww wvòvów)wtw…wswVw w8w4vÇv^uÚuitþtis‘s#ssts„sYsÜsôq÷oCm3kÌkk8kxkióiMiUh gøhai‹j8jiÊj"kkªkŒj iÃih´ijÐksl1mml\köl2nr|u¹u¶t\sXsut¥uGu9uÀvãwyw˜wÂwºv÷u¥t¨t¹têtØtátìulu™tsütgtlt:sþsñs÷ss ss=sƒsžs†s@rírµs”tèutœt^tIt's×rºp½o*n·ooñpŠpÙqpÿpÓpwoñobnËn3m³m>l¾l>k¾kKjÔj…jVj2jiÈilihág–f d]c"cGd dddÉeke…ffêgKgùh¨ihßhßhôii iEi?iAiGhÝh/gsg!g(g8g*g gg föfôfòggg8gaggÖhEhÝiAiÁj€kkjOiiôjnjâkRk™k¿kÿl]lþmXmSm»n2n ooˆoòpXp«qq~qør}rïsFsŽsÐttNtlt‚ttžt¡t’tltCtsÍs~sNs'rôr§rJqëq”q.pÃpNoÖo`nÙnKm¬m lYk jíj;i†hÊgÿg(fce±dødAc„b¤a£`º`_h^Ó^!]“]\\ [Ž[Z¡Z-YÈYuYXÓXXJXWÁW–WuWZWGWFW@W0WWVãV¶VŠVdVIV:V6V4V,V)VBVvV¡V©V±V×VâVßV¬V¯W>WÛXYhZ@['[ï\Ê]¿^¥_``,a+b bßc™d0díe˜f f:f>f9fKf|f’fhf'eðeÃe·e¶e¡eŠe[ed‡cøcabËb.ay`Ã`_J^]Å]\:[_ZtY‰XW½VêVUHTcSqR{Q„P§OúOO^OQO\OkO…O«OäP#PIP9POÒOÊOÏOÒOØOåPP>P`PµQ‹RSšT‹UuViW\XOYIZ<[/\] ]é^Å_™`ba(aåbšcMcûd¡eCeãfyg g—hh ii£j)jªk*k§l!l’lÿmkmÎn&nunÊo oXošoÝppYp‰p°pÉpÒpâpêqqq2qf§fKgèhzfÜgjk¨kÝj™iSgPe-cîh7lãjpivhûhàh°hzgÒgfÂfÔfdªc/bGaŒa/`ß`Œ`7_È^ö]«\ƒ[­[€[™[ˆ[d[n[”[Õ\\\2\“\ÿ]Z]ž]Ö^A^æ_Ä`¢aeb"bÉc[cüd“e$e¦f;f»g-ggùh^h·iiVi–iùjsjðkUkƒk·kôl6lll€lululÂm-m˜münmn¯n£n_móm€lþl”lDl kík·klk\k†k k¼k¸kkjk3jñjÊjjdj(iúiàiàjjXjj™kkkkzkïlZlHldno=oDoEokoŠo¬oåpoöoÒo—odoEo1o.oCoUoŠoÖpp%p>pDp'ppoöoÌoobo$nÞn—nFmém„m+lßl lOkçkujéjXi²hÿhHgŸgfyeûedêdF$E CÒB«A¥@­?ù?u>ß>-=Z<€;Ä;!:‡: 9›928á8—8\8-88808[8‚8¥8Ñ99o9º9ù:.:{:Õ;4;„;¾<B>°? ?a?º@@‡@òAcA¾BBYB¬BÿCRCÃDbE(EåF‹GGŽH H›I,I¿JXJýK¸LMJN N´OKOÓP]PèQzR RSSySðTgT×UBU£V VvVÜW0WWÕX>XÎYXY¬ZZÔ[r[ý\i\È] ]Ž^+^ó_Ó`žaAaÅbUbîc†cúdedÀe&exe´eÑeÌeÎedódÔeeeBece„e˜eÃeñf)fxfÀggogÉh$hshâiQi iéièjjGjŽjºj×jýk2kskŸk˜k‘kskAk•kÿkåkÀkejÏj^iùiÜi‡iªi?i:i¿iój jj4jXj^j^j*jj2jej6j$j.jiíi¶iui*hçh£h|hdh}h×irjjÓl?mnninTndnninBn"mæmŽmElàlcl^l—kÅj!iYhâhthgÓg”gNg2g*g1gOgfg„g‘gŒgzgzg{gwgggJggfãfžf[eûe¥e:dÆdOcÝckbþbb4aìaža`”`4_Ä_ _¡_¤_Œ_{_g_n_d_A_^â^n^:^S^Á^w]>].]4\ñ\Ð\U[Á[‰[|[Ä\*\I\)\"\[Ð[œ[t[Z­ZmZLZPZaZ©[[†\\Å]”^\__Ú`­aŒbšcƒd¡e²f3f¿gh˜itj!kdlˆmAnnáo{p(pÙqˆr3rÄsOsÂtDt±uu…u°vvivÊwBw²x1x§yyuy»zzdz¥zé{7{{½{ú|2|v|±|ì}+}f}Ÿ}Ñ}÷~~~~F~}~Õ:j€“²Åâó€€€+€0€W€g€m€u€«€Á€Z€3€I€h€€‡€Ñ2Yxsí‚ à€1~<|ž{"{á|ì}º~i~÷~ø/}z‰xñxéxzr'r súulv=v×w!w;wihÐh|gögŽg‘gœgŠgsgjg_gQgLgGgMghg‘g¼gôhFh¥i2i´jj›k‰kÈk»kCjjGj­k1k™kðl0lƒlìm”nnn{nÝoGo¾p5p˜qq\qÃr2r»s8s¥sþtOt–tÌtñuuu&u4u4u(ut×t¦thtsås¼sŽsDrèrŒr5qÇqYpçpwpo‘onqm×m,l{kÉk!jpi­h×hgOf§feSd“cºbËbaT`§`_P^Ï^N]Á]B\À\E[Ð[f[ Z¯ZXZ YÂYY:X÷XºXXlXVXPXBX-XWòWÃWWWW(WVøVéVØVÌVÅVÛWW-W*W6WXWXWEVùVþWX/XåY«ZŠ[h\A]^^ÿ_¨`[aNb?c cÆdcee½fKf{f]fGfRfwfŒfxf0eóeÊeµe²eže“eve*d°dc}bÞb>a‰`Ñ`_S^‰]¼\ï\[5ZCYQXkWV¸UåUT SQóPñPOpONéNãNõOO9OeO´PPBP)OàO¦O™OOªO¸OÌOôPPe‚dad4c¿cªef/eÇhkím!m5kRi)gKdc3chðhßhÅhhgãfÍe¯eýeÃdXc*=>s,rÉtv5wwêw°wƒwzw›wØw²uqÀsÿu…u_tØtätát;tt³tõtRqnl'k…jJhêiák;k'kjjKj$i°iµjjŽjýjÈji…iÑjbj[j“kZkïlkákÓlÜm´m&lAk­kìmn6nÒoLoŽooq¤rryrðstsét\t¨tûuAuiu…u•uªu¶uÂuÇu¹u™unu;ut·twtJt#sãsŒs*rÐrgqïqvqp©p=o¾o/n–mùmRl¥lkUji¶hðhCg¦gfOeœdãd cJb‹a¸a`p_ü_o^ä^e]ã]n\ÿ\Ÿ\=[Ú[€[/ZçZ¢ZZZYËY¥Y‹YrYZYEY&XûXÍX”XWXWëWÆW­W•W|WfW\WuW¡W¯W«WÂWÞWØW²WQWQWËXsY/YòZÈ[˜\‰]k^k_F_ï`®avbVc*cïd£eUeùffÕf²fžfžff’ffTfeÚeµeªeže™e‰ePdÝdFcŸb÷bIa˜`á`_W^‚]³\à[û[ZY$X@WfV’U´T»S´RQ„PtO˜ON°N…NˆNŸNÅNóO+O…OîP/PO¼O|OsOzO‹O—O³OÔOåPFQ)R4SCTOUMVSWYXXYVZX[\\\]X^K_5``ða¿bc?cõd¨eTeÿfg9gÑh\håiniñjujôkykþllÿmvmçnFnªnÿoWo£oópCp•pßq&qfqœqÌqñrr,rEr\rwr‰rŸr§r±rµr°r£r‘rsrWr>r+rqøqÕqžq^qpáp©pzpBpo·oio"nânnHn&nvo o“ppbp°qqqÍrr*rPr‡rÝss>s?ssFsÒt^tóuHtIq¯q½r{rÍr;qàrŒrúrÀq¥ornBn*m¹ml«l{ljþi]hCi jj–jŒiéhqf•e~dúd–cobÒb­bÓcLcÕd\f»jilJmk“hf»d×b±cogh5hähÁhâhµh1g¾fdÛd$d©cåbúbaaúar`Ü`=_¾_-^ \—[¢[:ZîZyZ4Z!Z)ZCZzZŒZ‘Z·[8[ú\¶]]Z]·^M_ _é`Æa–b_cc“ddªe1e¸f2f±g9g¨hh€håi.iˆiþjŸk(kYkk«kÖkþl ll;l{lÓmGmÃn:n‚nœn“nNmÊm-l…kákXk!k;kUkFkjýjójÌj®j‚jGiüiµini hÙh¯hÔii6iÆj+j[jžk jûj³kkìk’k«l^mÂnmÞm¼mÈmõn3nGnAn,nmÓm´m¬m¾månnHnsnµnÞnçnánÆnÃnÕnØnÒnÄn²nn`n mâmšmLlül®lkl*kêkœk3jºj3i¤i higÆg&f—f e®edˆcçc;bˆaßa)`Z_›^ê^?]‰\×\[HZY¿XùX,WbVŽU°TËSÒRÊQ®PŒOgNDM+LJñI¤HKGFE"D(C0BqAãAK@’?¿>Õ=ì='<—<; ;9:å::p:J:/:*:+:6:=:P:„:Î;;S;|;¥;á<<]<§<Ê==i=Ë>>M> >ÿ?P?•@ @v@ÖA?A¦BB’BðC:CuC£CåDfEE½FwGGšHHšIIšJ/JÁK`LLäM«NnO&O¿PFPÏQYQèRxRúStSÞTKT¿U2U¥V VnVÓW]–]ã^E^Ô_Ž`^a$a×bfbécicñdadÖe>eœeíff!f"feæeHdÙdæee:eceteheieeÄeõfFfœg gxgÚh+hˆhði2i€iji¯iójEjjÎjÖjÉjükVkAk6kk@kkÃkûlk¿kojêj iÅièi¾i¤i‡ivi‹i¼iãj j6jDj\jšjÈjÕjÛjŽjWjcjljaj6ióiœiFháh„h\hZhAh3h2hÑiÐjôl1mŸn`nÀonînênùn»n_mùmlðlŽl‚kùk^jÔiÊiRih¹hyh5hhgôhhhh)hgßg˜glgJgfäf½f¦ffhf3eæe¢e@dädydc¹c]bûb‘b:aßa†a`³`O`_É_¶_¢_§_š_…_S_:^ô^È^•^z^M^ì_^Ë__]õ\ZéZÈ[[…ZñZ\Z{[š\[š[.[[ZéZžZ>YêY´YµYìZZMZ°[`\>] ]é^´_Ž`•aœbcÚdîe¤f°hi1jjÆkollðnn oo½p{q7qær‚róstsætUt±uAu¹vvcv»w w„xxex¯xøy>y„yÎzzGzŽzà{{U{‰{Ä||I|ƒ|Î} }F}d}~}ˆ}Ž}i}A}}Œ~¯.^v“²Û€€€,€S€d€{€‰€‘€€˜€½€þ€Ì€¶€è€Ì€¢€o=•xpL €¾€Ÿ€ ~ù~Ê~p}Ö}ä~~t~n~~ÐEh0~¥}â~ }Û{bx t£rqr rêtÞww½wÏxYwÁrÐn©p¾r™t»u‹u\t0rÀs\t-sxqùnXkjgiîh€gg³hÁjj^j·j‚j i“iji”jAk$kHkj‰j`jÓkql+lYkëkPjÖj8jd[c‰b¿baa`ˆ`_„_^‰^]½]^\ÿ\£\P\[¸[n[+ZìZ½Z¢Z‰Z_Z4ZYÖY—YXYXÚX¦X‚XdX>XW÷WðX X,X.X-XLXgXUX(W¾W§XX¥YzZK[[ä\ë]Ð^¯_`=aa«bqc@dd×e›f5fªgg fõfÜf­f§f¤f|fGfeÊe²eešežeqedtcÃc bWa¢`å`$_Y^€]¨\Ì[âZçYíYX%WLVqU…TSiREQ&POKN»NkNKNMNfNNÄO OeOÓPPO±OjOROUOkO~O¡O²OÏPsQ|R”S«T¸UÈVÖWÝXÛYÚZÝ[á\ë]ï^é_Õ`ºa‘bac#cád”eFeófg@gÚhihùi„j jkk•llœmm¡n nynÙo8o‘oåp6pˆp×q,qˆqÖrrQr}r£rÅrßr÷s s s5sFsTs]s_s\sHs6srÿrèrÎr¸rrzrJr qÇqqNqpÚpšpNoüo«ofonÄn¨núoŠppypËq'qqqÌrrFr^r~rªrèsss&ssPsÓtŠu(ur£píq±rRrmqæq™q©qjqpmn·m´m³m£m0ll$k¿j¥hågFf’fðg‰gßh‰fédkc¬d4cïb½aþaòb%b.bQcPeof g2jƒk iEg‰f¥dŒe gûhnhþhÎhïh«hg6f d›cUcZcSbÐbvb ap`Õ`$_y^˜]3[Ô[3ZçZ‚Z Y¶Y”YzYŽYÔYÐYÞZ5ZÈ[…\R\Î]]u]þ^³_†`na_b2bÑcgcëdbdêeseðf‡g!g’gòh^hµii‚iýjžk kTk‚k´kÎkækékõl2l’lïmbmãn[nˆn…nbn m«mlck¦jæj˜jákkjÞj±j”jbj5iöi²iXih¶h‚h]hJhŠiiifiújvjÏjéjßj~k|kìkykþl”m+mtmOmlüm m:mKmFm2mmlñlþm#m[m•mÄmànn9n/n$n*n:nJnRnSnJn9nmømÅm‹mElþl¸lol.kõk¹knkj jihÿhngÔg5f©f.e´e'dœdccb¼baf`¤_ê_:^“]å]3\z[Á[ZDYzX«W×VÿV%UCTJSGRDQ2PNÜM¶L…KaJ.HåGÇFÓEäDëD C\B¶AõA@1?]>¯>=‰=<®{~{³{õ|;||Ã}}}>}F}O}c}f},}2~~¹~Ö~ðw߀ €5€I€^€m€l€…€~€}€o€a€ƒ€ê#€¬€P€’€í.€è€€m;VA€ãò±a~‡~ }õ}É}ï~[~©~Ü2%~Ù~<}:}|KzÖx#qnep pðtbváw¼x[vÝqTkõjëoqq!qçqÃo©ooùo lêgþggzgxf¯eãffÕi8iïj jqj.i-g¹gºij*j½kk kkl,lkðjµiÍi_hŸhÈjjŠjïkuk jäktkk(kMlèo0o¡oboÇo÷pqr„sRsÆsþsÀs’sÂsÊsxrØr2q»qƒqjqLqÈr¨rãr¢r{rorŽrbrOrÐrìr¡r‹r¿r˜rquq“r:rzqn—n nþon×ooÓp—pÂp‘p]po|nênKm·m#l‹kÑkjoiñiƒih°h@g¶gfWe¥e™f(fnfjfe²f—g|gøhChÕiZiVhæhÉh–hžiFiÃiöiíjji·iZih=gÎhh\hh…hohRh7h'h-h7hRhrh¡hêi0iƒiêjfjâkIkàlømÆmomcnfoœn´nn7non‹nãn÷nÏooUo¯pptpÙq>q¡r rhrÒs>s¼t9t»u(uuÞvvFvov…všv©v½vÍvÍvÆv©v|vBvuÉuuCu#tõt³t\ts¨sArÈrXqëq{qp…oÿounànJm°mlKkjËj+i’höhfgÅgf@eUd’cècNbËb0aša`›`_£_2^Ð^z^ ]Á]h] \¼\k\'[ø[Î[£[u[K[ZÜZ Z^ZYÖY–YbY9YXàX´X‹X‰XœX«X¢X¯XÔXðXÚX§X7WøX0XÐYÆZ§[t\?]?^,^ù_È`~aVZWeXiYaZZ[\\f]y^|_z`maUb-cc¾dwe-eßf‹g3gÑhniijjŸk(kªl6l·mAm¼n5n£ooioÇpptpÆqqoqËr(rxrÀrþs-sTsqs‡s›s®sÀsÔsâsñsüsösösås×s¿s«ssosUs>srìr¯rjr'qæq°qpq,pÖp€p0oåo”o?o!onpp‹pòq?qšqÖrr_r…rr¤rØss"ssrçssttóuRu$qÐpfppHpúqqp‡oùošo@n¬n*nmÕmžm/l‡kŸjJhågd¶cc×cÿcÇcsccUcßcb.a×a¤`Ò`]`žbdýf±ffVg7h…g¤fÛff§i_iWi6hÝhdgîg¤fÙeðdžcšcbýbõbŸb-av`¾_è_^\‰[GZÑZvZY•Y:Y"Y YYTYTYvYÛZi[[É\i\¼]]^<_`a#aûbc1c¼d1d²e9e¹fhgggíhKhŸi iuiúj•k kEkuk°kÒkßkÛkílDl²mmnmænMnsnen$mãm†lúl[k¡jÁjHj”jÜjõjËjjhj7ji´iJhÇh^hhh!h2hfhàhÛiiÅjCj¯j§jqjk@kËkŒl`l¢l¯l¿lul%kþl l$l5l?l8l,l.l=lal‰l¿lïmm5mSmwmmŸmµmÃmÑm×m×mÏmÃm°m”mqm;lýlºlrl1kñk¼k„k?jèj{iÿiyhîhagÕgJfÄfBe¸e/d­dc„bçbIaš`ã`?_ž^÷^J]›\ð\A[ŒZÇYøY,XWW}VšU·TÊSÆRÊQÄP§OzNIMKãJ²IHŽG‰F°EÛDýD4CrBA±@Ê@?¨?>‡>=¾=p=#<Ð<}<\<…<¤<É<þ=+=M=u= =Í=ÿ>>=>v>µ>è?+?„?Õ@-@˜@ôAJA§BBgBÜCMC²DDPD}DªEE°FhGG¶H2H›II{JJ•JÿKÅLMgN0NïO P8P¸Q5Q¹RERÑS]SÙTMT½U,U›VVnVËW+W‹WôXSXµYYsYóZ}Zò[o\ \²]A]¹^^e^±__`>aaÙb‡ccddwdìeWeÃffbfîgufåf>fe¹e…e^egeue`epeWe`e|e•e¶ffdfÎg(g‰gühbhŽhÈi%i_i£iÌi÷j jnjÓk9kƒk‹kmkdkBk3kTkk£k¾k»knjòjdiâiºi³iËiójjj)jIjZjajvj”jÍk1k;kjýjäjÈj±j¡joj5i÷i¦iGhähˆh?h gÔgàhhhvhõi(j&lÏn†ooZo‚o‘on¾nXmâm%lÅlŸlžl‡kÏjOiæi¢i]iQi-hòhÔh¼hÔh×h—hAgýgµg‹gFgföfÍf f‚fRf#eÖeƒe3dàdŽd;cëc‘c,bÉbsb'aÞaˆa-`Õ``:` _Ü_Ê_¹_±_ƒ_t_A_ __"^ù_%^ß^•^Õ_l`Va baba.aîbf_*Z­YµZeZ©ZqZNZvZÌZæZ¨ZY´Y›YwYeYNYŸZZ²[¢\“]h^_`wa€b–cád´e¶gh>i/j,k*kílÜmƒm‰n1oep6pèq†qþr}rösqsÖtt·u u†uèvLv¶ww{wßx@xƒxÏy yFyzy±yözMz‡zÍzü{;{s{»{û|B|{|µ|Õ|è|ü}}"}8}e}|}³}Ð}º}û~¨¢€ ü€&€T€Ž€Ã€Í€Û€û€õ€Û€ù&€zp€Q€Ì€¹{!€Ù€~€·€!€^€§€B¸y~N~-}ø}“|x|Š}Ä~œ~°~‘~z~W}ó}|‰{.y>x®vrÌrpn’oœruÉuŸq¶m`h½gýh4hnh[hgÖg¯hüjÃieôeóeÐee‹e©e?dîeŒgýi:i}iÌhêfãggÔh^h™hïiijk&k|jœi`hªh&gygŸhÐiqißj¿k;kzk k¸k½kqkÐm±n€mþn\ožo›o”q s_sÃs†s-r»rNqûq¢qCpÔpap`pFoøpÏqãr#q÷qÐr rurkrzr»r³r¸r®ryrqŠpÎp¦q}rUqÅpBnÜndnunÚocp p¢p«prpo©onˆmímflÇlkdj®jihòh_gŠf»feµeœeæfjfÓgRgˆgfžg3gíhˆhìi6i»jOji‹i i'i¼jjj5j‡j}jihh»hUhfhŠh¨h»h§h”hyhvhsh‚h hÂhéi/iˆiÌj9j•kVlköl lüm®n3n¡nùo©o”oooƒo‡o9oTolovo¦oåp?pžqqmqØr:rrös]sÈtGt¿u?u­vvXv‘vÂvèvûww w5wCwMwEw(v÷vµv|v8uîu¬uŽugu2tæt˜t?sßsus rˆr qˆqp—po‹nünmmÔmlXk©kj|iíi^hÂhg6fie¼e"dˆcëc;b®b7a³a)`­`4_Ô__,^Î^l^]»]k]1\û\Ê\˜\b\/[î[¨[`[ZÑZ‹ZLZYåY¯Y{YFYYY&Y,YY8YbYwY_Y'X»X\XoYZZå[½\œ]^|_L``¹amb;bôcŒd7dðe°f}fögMgegZgCg(föfÌf®ffKfeâe¼e°eµeeEd®cþc8bya³`ê`(_P^|]Ÿ\½[ÁZÁYÎXâXW7V?U?T/SQéPÊOÜO/N¸NoN@N3NJNuNµOOYO¹P P O¾OgO4O#O O>O\OjPQRRS‹T¶UÚVóW÷XòYÜZÔ[Þ\ì]þ_ `aaíbÃcdSe eÁfug gÈhhii’jj­k3k¾lDlÕmZmân_nÓokDkTkkk”kÅkøl#lJlqlœlÄlìmm3mEmWmamgmbmSmGm1mlñlÀlƒl;kök¶kkDkj´jPiÜi[hÙhSgÍgIfÉfOeÊe@d¾d2c›bübaaÃa`‚_ì_R^®^]d\¾\[XZ‡YµXÚWóWV+UKTXSgRhQRP$NäM§LiKIJJI4H*GbF”E¾DóD.CZBzA©A@˜@?|?>¹>o>=Ê=†=a=H=2=$=,=B=`=€=¡=Ä=ð>>9>[>ˆ>­>½>ä??L?v?µ@@y@ßA=A’AåBDBžCCsCäDID¨DæEEOE¾F^GGÁHPHÃI+IIýJ§KKeLPM>NNÑO…P(P´Q-Q§R$R¯S?SÇTJTÀU6U¡V VnVÏW,W„WåXIX²YYuYÛZ`Zí[Z[á\†] ]¶^1^^Î__e_è`›afb2bÝcicãdUdÌeXÝXíYxZ?[\\ï]Ó^À_Ÿ`\aa¾bcHcádjee²f}fýgRg‚ggƒgdg1fíf¾ffXfeýeËe¿e½e¤eTdÅdcMbŠaº`ì`_R^~]š\À[¹Z»YÒXîXW-V4U.T SQãPÎOðOWNìNNiNLNWN‰NÌOOgOÆPP+OèOŠO?OO OOObP]Q•RÙT"UVV|WX‡YlZT[N\Z]r^Œ_š`a’b}cSddÛe™fQgg²hThöiŒjj«k:kÁlUlçmtnn†oonoÏp1p‘pìqAqqär@rŸss[s­sõt3tat„tžt±tÂtÑtätîuu uu'u'u"uutìtÊt¢ttft?tsÐsŽsGsrÊrŠr4qÜqvqpÎp}p'ppepûqqÚrrgrœr rÖrÜrárçss3s;sss(sŸsæt5trÒoÃo2o#oboÃpp=p'po­oºo–nzmimm£nsm¯kïj¸ifèd+b^b%bMaüabbØbœb>b2a¡`Ü_H]ö^¤__ aÖi;jahfOf`fhf¿gÎii>h¬hgÉg½gf‘e¼dÞd4côcçcxbÀaå`â_Ú^ì^\î[7ZY›Y/XÄXvX5X X#XOXaXsX©YY¨ZIZÂ[[[å\:\´]V^<_Q`padb b´cCcÈdPdìe}ff¶g7g©hh|hÙi@iÈj_jÏkkZk›kÐköll lXlÁmmYm¬mònmÞm‘mWm3m l±lk,j^jŒjîjújìj¤jCiÝiˆi)h–gägdgg%gogÀhh5hUh˜hûiRižiŒi1iTjÚjâjÄk›k…jðjIi¿ihiki™iÂiõj j j,jCjdj•jÓk k?ksk¢kÚl lBlplšlÁlÝlëlñlõlðlälÕlÁl§l|lGl kÁk}k>kjÂjxji´i>h¾h;g¼gBfÈfLeÑeOdÌdBc©c bnaØaA`¯` _^õ^Y]½]\~[Ï[ZDYcXhW|V UÂTâSðRêQÍP›OeN7MKñJãI×HéHG/FtE¾DýD.CkB¼BA‹A@d?ñ?¬?e?>Ð>”>b><>> >>!>:>G>e>‚>™>À>ë??(?@?Q?‚?¨?Ö@@Z@·A$AAàB7BBäC5C™DDoDÖE3E|E¸EüFnGGÂH^HèISIÁJ'J‚KK]KåLëMÕN®OpPP¬Q-QªRR™SS¬T5TºU5U«VVrVÍW)W€W×XpÄpFoÃoHn²nm`lÑlMkÈk4j›iòiHh˜gèg/fpeÑeJdÔdEc»c"b¦bHaôaœaL`ã`}`_¾_s_'^×^•^T^ ]Å]v]\Ä\t\#[Þ[Ÿ[b[ZØZ–Z_ZBZ6Z1Z/Z2ZLZqZƒZgZ,Y¹YNYJY¿Zl[C\@]9^__ä` aQbbÖcdd˜ee¥fuføgZÊ[€\ \x] ]Ú^ç` aaÔbncc’d'dÀe^f f®g6g©h hohÉi1i¾jIj·kk?k~k¾k÷ll"l[l²lõm-mnm¡m¬mŠm4lölëlßlkúk$j}jœjçjöjÜjyji•iAhéhFg£g%fµfžfïgwgñh9hMh~h¿ii2i$hËijRj+iâj“jiÃihh@h;hVhthžhÁhÞhòii4iii½jj\j˜jÒkkDkzk²kçllMlql…llŒllql_lNl4lkÏkŠkEjøjµjuj1iÞi~ih¢h$g©g/f½fFeÔe[dâd]cÃcbaàa@`¸`;_´_"^Ž]ú]h\Ó\/[‚ZÂYôYXW3VLUhToSgRWQ0PNåMÆL KJI©HÇGåGBF¡EèEDmCÆCBgAÌAJ@ì@Ÿ@W@?Ô?•??? >ú?>ô>Ö>ß>ù??.?G?`?w?•?©?¼?å@@>@x@ÂAAfAÍB9B‰BßC.C€CÏD+DŠDòEZEÂFFQFŸGGÅHhHòIuIïJlJÔK"K KÓLnMNiODPP®Q;Q¹R0RŸSS”T T©U)U¥VV{VÓW+W„WÛX6XœYYuYÞZJZ¸[?[´\2\Ð]t^^__e_ _Ô``–aKbbÜc…d d‹ee†ff«gŽgégïhhhrh(háiÞj±lFlªl³lµlÊlÚlkpkEk"jÆjãkKkÔl›lÍlÒmCmûoo•n,n¡o"nÔn?n_n`løk„k$k*k$kkkkk*kLkbkhkbkXk6k.k"k2k&kføf×f´fðgRg‘gÛgÌgÐh±hÌgëh¿iBhyhºhñhÈiHiùj.j7jOj‘jºj¹j¾j¼j£jYjiøiÇi´iŸiŽiigiTiPibi…i´iëj9jzjÌkk…kÓlXm*nnÚo—oµnïoRoæpªqwqo|oÙoöoðpp&p]p¡pðqGq§rr€rïs^sÉt(t…tæuIu¸v!v‹vîwIw—wÖxx-xIx`xjxux‹x—xžxŽxcx'wáwŸwewvÚv¡vzvEvuÎuŒu?tít“t:sÆs*r•rq«q4p»p=oÎoNnÂn-m¢mlkôkTj§iüiNh£gøg\fÏfHeÁe6d¥dc¨cScb°bVaèaa0`Ð`m` _¼_n_)^Ý^‹^3]Õ]z]#\Ô\’\M\[Â[z[1ZõZÖZ¹ZªZ¬Z°ZÆZç[Z÷ZÈZnYêY”YÀZW[[ó\Þ]Ï^´_œ`na4aáb­cqd dŽdðeFeèf­g!gcg²gïgÚg¼g‚g3fâf¢fkf8f eéeÔeÃe¤eWdÒd!cib£aÚa`/_]^…]¸\Õ[áZýYúYXFWXVbUlTjS]RLQQP†OòO‰O6NïNºN«NÄOOJO–OóPVP‘P|P&O°OBOO/ONOÚQR+S[TUâW XXÿYØZ°[ž\¦]Ã^â_üaaøbàc¾d‹eLffÍgŒh:häijj®kn,oo‚ppzpòqzqÙrGrðs\s´tt{tÌu&uwuÈv/v³w3wxwÒxxMxxªx§xßy‚y¿yäzz`z™zÈzú{&{F{j{…{›{Ì{ö|,|Q|‰|§|Í|œ| zux‘w0vÎw;w~xÙyS{…|Z}~“…€„~×}|•|f|Ë{òymvzsÇqŒpZp{q©sDu’y&x{wqvfvÀxºy}|c{ìz¼{xGrnmlƒn°sGuëw¬xuuyrFnäiòhÄh­huhCh­iHi…j#j€j™iÞiniÇj=j‰j›j?iµi)ihÉh÷iih£hIhg?e×e"e{e¤d÷d=cÞd`efgRhhÛikiÉiôjmj÷j‡jjqj©jgiìiei iFiöjëk\kj¬j!i­i¨j%kÙlÃl lÀo‘p¥p|p"o¡o"n©nŠnèoxwÈwŠw@wvØv¦vqv4uöu¯ueut»tHs°s"r«r8qÅqOpØpioöoonmêmPlªlkfj¾jiwhãhSgÀg:f«feŽe d¬dTcÿc£cFbåb‹b*aÂaK`à`‰`9_ì_˜_>^Û^s^]Á]s]'\ã\¤\P[÷[­[~[L[[ [[$[?[e[}[r[7ZÔZNYêZZ—[J\] ^^ä_Ð`¢aeb#bûcµdoÈpBp¯qqqqÑr(r{rÐs%ssàt=ttÓuuKu…uºuívv@vbvvvŠv¢v¸vÄv×vÚvÜvÉv²v‹vev>vuõuÎu¥uwuWu(tõt¯titsÉsbrörŠr*qÙq‚qNq†qûr€råss?smsisSsIs5s"s$s*rôr¦r6rxr®r¯r ss3pnn>mom~ncp q q*pýpRpdoändØdfcècVbªaðaB`¬`*_°_4^­^(]ž]\[ý[`ZµZYBXrW˜V±UÆTÔSäRîQèPØOÃN»M«LœK¤J¶IÕIHTG¨FúFOE­E DNC¨CEB÷B«BUBAÀA‚AXA4@ï@¤@}@p@e@j@‰@›@–@Ÿ@µ@½@Í@ã@üAATA’AÞB7B—BÿC^C·CûDk8jéjºjvjMj8j#j@jiÍiÒiõjIjËjÒjejiài|i-hÕhjh g±gegfÖffRfQf²fûg+iSkÉlAmm†m lÅlmkákÌkÆk“j¦iai8ih÷h¯h¥hhphDhh hgÿgÌgqgfÏf—fkfAfeÁe€e:düdÖd°d†dld@cÿcÏc²c‚c]cbÁb‰bCaåa¢a?`ä`œ`b`3`_â_Ð_¦_¡_ª_Ž_i_B^Ò^”^†^n^K^½__0_t_Ô`³aa³aúb*bYb\bMbaÓb¯b_‹\=[Z\XˆXÊX%WöX^YYõ[p]^n_¹`ÞaÝbËc®dZefËh7ii^izj‹kçlæm·noo˜oõpcq qŽqÜrvrðs=s·ttntÎuu[uÏvqvÞw!wvw¶wðx6xqxwx—xíyyKy›yàz"zWzz´zâ{{{B{p{™{Ì{ç|$|&| {WyËxŸzu|›|Ó||({}€MBÁIµ‚¥îÆ€¯Ö}Ð{çx”uFt_t—tJtugy1|£z}u/tÏx¨|{þxûzžx?pñmþl~j iŒiBiÜjjGiÒiøi`hûiSgúfÙg÷i=hãh˜i7i£jPj9jjjFjvjákEjÐiìi\hëh¦huh‚hÔhÍhhgf$e§e]dúd>cRbécCdXeŒfg2gìh0gÂgóh{i1iöjmj©jQi¿i¬iÂi~ihÛhéi$i.i&ifi²iÝiôjj¯k÷lñmío0o¸ojn mþm‹m7mmvmËmÏmÏnnen³oo{oÏpp+oÓoaoÊpfpYp^5_ ``äaŸbgc+cÕdddèeXe©ffÂgGggÐgþh*h)gðg”g4fàff9f eçeÈe»e¤e[dØd>c’bÓba&`T_^®]Ë\ê\[)Z2Y?XrW“VžU­T·SµR¶QØQPŽP!OÔO‘OXO=OIOpO¬OüP`P»PîPáP’P OOWO{PPìR SHG¹FÿF`EÖEQDÃDOC÷C™C=BçBžBfB@B A¸A†AnA_AaAeA^AZA^AoAŒAœA˜A—A¯AÔAþB7BˆBåCCC²DD_DŸDÛEEVE™EâF4F›GG‚GÌH$H¨I0I¸J1J¦K'KÁL—MLM”M¸MäNzOXPfÚfœfVf1f9f:fqg—iÉk/l½lèml•lk«kYk±koi\h‰ijikilh×h§h’h|hGhgþgàgàgég~fóf¨fyfNfeÙe˜eXe!dðdÌdždtdXdTdHdIdWd+cÖcrc%c bÈb.a»aJ`û`¦`i`#_ü_ã_¦_{_•_™_}_O^ý^ð^ý^f^A^Œ^q^Æ_p_Ð_å_±_ÿ`ÒaÕb¯cb‰b baóaßa®b‚bŒ^…\>YÁXfXxWóWÂXLYu[\©^2_†`”a‹b}c~dQeMfíg¼h.h@h|jksl[m#mönoo•pp±qq[qérhrÏsDs¥tt[tÇuu}vvuvÅw wYwžwäxx7xZx‹x¿xòyAyty§yÜzz*zVz„z«zÎzï{{${6{O{%z¸ynx_z}#~~Y~X}]|Â~~°u~Ïþ€€/€6€À{ä{d|¥{í{\zpzzW{}E|«zšuÖpÎrÒy tp'o kôiàiJiih¢gågXgog·g½gÅgÍgóhhhrh¿i2hÈhhxh§iriíj”kkkkpkqji|hîhÐhXh1hph‰h)gYf…eodac‰býb¾bÓccžddßfgEgÐh`hoo›pFpolnùnÜn¿n¤nõonënËn¨n|mõmHlØlekækiÒi—k’lck jrj,kYlWl±l6kºk:jõj²jiƒhúh±hŠhŠhéiqj j‰jÓk#kÂl l kÞl±m‚lkkYk:i­jHjƒj½jÝkk+k;k)k7k=kQkXk]kRk:k(k j÷jÞjÔjÁjÀjËjékkck«kúlTl¹m$myménnÒo–oÝoØoÓp0pspÃq'qVq˜q›q=qDqSq€q¼qñr2r‡rìsNs·tt|táu@užuøvOv¯wwvwÖx:x‘xàyyBySyVy`yjy{y‰yy‡ypyIyxãxµx‡xGxwÆw’wfw3vÿvÁv€v8uëu™u4tµt6sÌs_rõrr q”q$p²p8o±o0n•nmtlálPk¶k"jŽiüijh×hMgÎgFfÌfkfe¡eAdÞd}dcªc5bÅbcba«aK`ë`‚`_©_M^ó^ž^P]û]˜]4\Ù\’\H[ù[Ù[Ü[ê\\-\P\`\G\[ƒZéZ}ZŠ[[¯\]^q_N`Ca,açbŸcIcèdŒeeeÝfHf×g_g¶gÙgüh7hJhgÁgbfüf†f5f eëeÆe²eeYdÜdCcšbèba>`w_®^À]Ô\û\#[FZRYfX“W¼VÒUæTñSúS R-QwPñP€P+OèO¹OšO¢OÂOôP;PžPðQQP¿P9O°O‹O¹PoQŒR°SÐTÿV(WJX^Y_ZK[&\\ó]þ_#`IaabecMd,eeÑf£gph7hói¨jLjékŠl$lÃm]mün”o0o¾pDp¿q3qqýr]r¸ssjsÌt2t–tðu>uu¶uævvNv„v»v÷w(wPwvw—w®w¾wËwËwÇw»w©wŒwlwMw+vûvÕv¨v|vPv!uôuÁu„u>títŠt"s¯sGrãr‰r*rrurñsosÂsæsâsåsØs¤s{sPs2s!rôr¨qâqpåqØr?r8q™p]nàm­mBmm8n2oÓpÆqqp`oAo n¦m6m×n|mJl"kOkÏm"n2nl.j‚i¢hLf¶cÂa_ê_«^ä^<__!^Å`au`¢`|a}bvc¨d3d'de€eÅf=e¬e/eGdædîe×e¸d¼dFcÍcBbaÆa `.^ë]Ú\Þ[®ZX¯WëWV„V UäUÃU¦UqU:UEUšVAWW’XX_XÓYTYÂZŠ[Ô\ý]Ï^}_&_ß`ža\bbÏcsdd¸e]ff«gNgÚhCh›hûiciÙjBj‘jÊkk=kqk¦kël1lVl`lklilHl"kùkçkîkëkÉk™kakJk@k$kkj¼jKi¸i+h˜gógjgf}eüeôfffIfuf f®f¥fàg-fûfÆfvf¿fÆfeªed’d'd0dÙedŸd^dc§cNcc*cƒcödjdÒe-e~eåfYfÞgggåhTh©hýiNi¢iój=jwj¥j¾jÈjÈjÃj´j£jƒjPji­iHhéh•hUh gëg©g^g f·fUeïe†e$dÁdZcôcbûbhaÈa`}_ë_c^ã^g]ã]_\Ü\^[Ó[;Z“YÞY$XWWvVˆU˜T¨S¼RÍQäPþPO0N=M\LxK‡JÏJ9IjH~GÔG;FFE§E@DÜDtDC¸CoC=CBâB˜BbBEB;B;ByJypy¦yàz z1z_z‘z£z}zrzbzy§xÍx{ym{Ê~B~“}ý}B|>}%}}Þ~òÕ·g~ä ~™~%}Ú~𰣂1‚©×€ö ©~ wjÉhÔhúi0hÎh½h|h]gÌg¸gÂg¶g™grg5g‚gþhgëgpggMgÝgÍg²g¼gžgggPgÝhPhehðiÇj§k;k™lljÝi&h'hgÃgkømmïn9mÊmlsl%k­kj÷kk+kkRkŠk…lmLm˜mqm‚m–nn°o onªn²oqo¸nùnonsn‰n«oo£ppoòoÕo¤oNnÆl»jÙjWjjdkkYjEiXh¾jkdj´iÞjjÄkkjØj‚jjjiÖi„iHi@i[i¤jj{jÜkll,l¯m+mlÖl°lÏm‹nn]nntl“i´jkj‡j§jŽj²jÍjëk#kVk†k«kÌkØkêkëkíkàkÝkÓkÌkÄkÀkÏkàl l:lxl¼m m]mºn ninËooMoêp„p^ppÅpÕq!q~q·qärr4rHrUrWr[rrrrÄs sesÄt$t…täuAu—uìvCvvÚw+w}wÓx(xƒxÜy8y„y¾yèyûzzz zzzzz y÷yÓy«yy\y6yxÇxˆxOxwñw¾wwVwvÒvvAuïuu,tÈthtsžs4rÄrZqçqtpùpponünomãm`lðlpkèkTj»j!i‹i h˜h3gÖgngf¢f@eêe‹e&d¼dScõc”c4bÏbnb a¡a9`×`z` _Í_o_^”^"]¶]R]\Ð\´\¯\µ\Ê\ê]]/]0]\Æ\M[º[7[[x\\Á]…^V_5``Ñaµb“c:c´d$d®eFeàfSf¦gg[g¥hhdhThNh_hEhg­gPfÝfif3feéeÔe·eedšd cobÃbaA`t_¡^»]Ú]\e[¢Z¼YÞYXVW…VºUßTÿT4SsRÀR,QºQTQP¾PPsPoP‚P£PÖQQVQxQwQMPðPuP"PP†Q|RœS¨T²UÏVäW÷YZZî[Ä\]c^S_``ra…bƒcedAeeâf±ghLi iÀjhkk l9lÙmvn nŸo.oºpCpÈq=q«rrtrÏs,s‹sçtLt±uuqu¼uýv5vdv’vÁvùw-wewžwÔxxBxsx˜x»xÉx×xÛxÙxÏx¿x¦xxexgfÐf•fVf e»ebed©dKcícŽc(b»bKaÖaQ`½`+_ _^y]Â]#\ª\8[È[JZ¾Z$Y~XÊXWEVxU™T¦S»RûR8QTPZObNÀNCM’LâL=K¢J×IýI’IH„GþGŠG!F¶FIEÚEpDüDÀD¦DwDND&CýCáC×CÖCØCÒC½C›C‰C‘C§C¼CàDD8DkD›DàE$EcE—EÒF F7FZFxFœFÄFûGDG­H(H£IIkIËJ3J¢JþKIKµL9LÉMbMçNbNÏO O%O—PuQ3QÌRŠS8SÇTNTÃU-U“UôVOV¥VõWIWœWûX`XÈY?Y¦ZZ^ZªZ÷[E[£\\¦]@]Í^N^Ë_J_Ñ`U`Îa)a`a}a—a´aíb^ccÁdgdóefeÉf)f’ggˆh h–i:iÜjoj¥iõi[i„jj|jñkjÿk;kxk¦kçl+lXl³mmBm¥m×mþn/mKl[l7l3l2lTll,l¡m0lùl›lPlkàkÍkÆk¶k»kÕkøll$ll'll ll+l4lBlWl\l{l}lzlYlKl-kòkËk¸k’kWkjÎjzj'iîi¾i®išiŽiªiåj j-jskk\kškjœjPiãiEh»h>gÀgLfàffeçewed¼dùeÌh¢j–k~kÒk×llk­j1iŒhâh‘h§hˆhghsh3hRh}hjhŠh*gÞgÎg—gpg8fóf«fgf3eýeÏe¯e”eje3dód•dˆdÊdÞd×ee8dådÍd†dCd;câbõbíbßbrbUba—aca9`Æ`b`_á_Ã_¿_†_[_0^Ò^¬^®^W^{_(_}_å_Ú``š`ó`ÚaAae`ò`£bFbÚbùb¾bbbbaƒa<`ú`fa$a-\ÏXTWºW)WY[c\ã^ ^ý_Ý`a_bbôcØdÓešff\g gÑh±iujlk¿lãm€mlmÎn¨oyoËppcpÂqFq¥rrƒrûsdsÅttdt³uucuÌv%viv•v©v°v˜vÔw w6w^w›wÙxxVx{x­xÞyynbnhnŽnŠmÎlÍl3jŸiØiöj5jÛkkÿjði‘iiPj7j\jiójajojGj$i÷iÌi´i—ifiNiJiiñjrjêk–l4lMlœm,mÎmßmænnm˜mªmNmfnmßk}jj6j~jŸj£jÏjëk/k`kškÔkûll$l8l7l>l7lxx´xèy y-yEySyXyTyJy1yxöxÖx²x‹x]x1xwÍw”wPwvÌvˆvEvu·u^tðt…ts¬sQs9sosßtOt¡tÒtÍt©ttDsîs±sys@rúr§r&q‘pÿpVomúmÇnÁo=m»lk×lRlÞmÒnho)oÒo—nþmól«lXlgfÎfšfaf&eèe£eRdþd§dNcìcc,bÅbYaèaq`ñ`k_æ_]^À^]o\á\Y[Ù[VZÒZ=Y›XïX6W†VÁUäTñT SNRtQ€P¡O·ON˜NMhL©LKuJäJ‹JI€HìHkGÿGƒGFŸF2EšEfEwEQE#D÷DÑD¯D¥D£DšDDpDAD.D8DGDfDžDÝE&EfE™EÊEîFFOF‰F¸FÙFõG G+GNGƒGÕHl_a_\`ó`_Í`Q`³aaÐbVbeaÿa1`¤`²a¶brbÓb}añaàa_a;`«`$_m_]UYÁW¼WvYÕ\&]]^9_ _ä`{a%a­bvcVdAdøe~eîf”g„hRh¥iOjâl.lØmmJmÅn°oQo|oÜpGp®q+q¡rr—ròsjsµttRtt÷uPu²u÷v.vTv@vv^wwwwUwAw,wZwáxQx‹xŽxÖyy"y*yEyAy8yx¾xewOv‡vãxªxèyzyèz7z©zSzwzpz4ze{){hzVzE{4{ {2{ˆ}AEâ€AU~WzÉuWr¢pènêkÄiKgfTgg¦gˆg«gégïhhgáhhgûgÿgùgöh!h]hxh²h±h™hhhBgýg‘gKg#fÿfâfôgSg€fãf=f?f‰fàgUg¿h`h¡g9düc¼ccclcšcucb…a•aPb'b‘b×cGcœc¬d)eeÁf¸gáh gf9ee+e®fAf™f¾ggOg¡gŸf÷f´fóggmgçhMhÄi;iœiÄiÑj!j·kDkIjõjÁjÇkŽnoQošp1pÒp“oinYmÉm´m¹m³mÎmmlûm mmVm¥mHman,nm m0lhl4lHk´kjùjUi“i÷k5k¸l lÖl}k j%i«i¬jji¨i¼ióißiÁi£iƒiXiFiJiri¯iÿj²kVkÁldmmmGm“m³mÒnHoosoNoBm½mLm­lÄkFjÛj…jŒj¿jøkkMk“kºkÿl+lRlnl€lŽl•lŸl—l˜l–lšl l¸lâmmKm‡mÍn n]n­nûoIo¤oæp3pdp}pîqgq­qÅqîr>ror˜rÈr×rìsss*s3sEs\sŽsÒt+t‡tïuRu¸vvpvÀw wRwwÔxxEx€xÑy$yyÒzz?z]zhzizqz|z’z”z–z‰zszYz8zyñyÏy©yxy[*[@[v[¬\\¨]8]­^7^Û_Š`>aaÃbƒc?c÷d e;eÂf2f•fðgEg“gáh)hlh¢hÍhåhëhÛh¸hhUhgÏgŽgNgf×fšf[f%eôe»e„eAd÷d£dMcôc—c3bÍbda÷aa`‘`_›_^}]é]]\Õ\L[¾[3Z¡ZY`X´XW8VVUqTŒS¥RºQêQ@PjOŸONŒMþMIL~K÷K¬KUJÉJGIÀINHÓH9GØG…GFžFxFrFBFEÛE¼EžE†EwEgEKE.EE EEEKEEÖFFSFzF—F¶FÜGG9G`GyGG©GÃGçH HvHÜIPIÎJPJÎKDK KÒL LkLúM‹NN¢OOŠOñPYP­QQ R,RÞST0TÅUEU­VVcV¹WWNW›WëXJX¯YYˆYìZRZ§Zó[N[«\\~]]”^#^´_3_³`0`²a/a’aÓaúbb#bBbƒcc¨dXdòepeÕf6fŽfóg^gÑhMhÅi\iìjXj„j'i€ipj-jâkkKk]k?k/k_kl mlll‹l·lÊlÞlíl÷lùmmm mm)mJmtm­mên,nhn­nôo5oŒoÓp&prpÀq q>qqqÎr/r,rr€rÚs s.s>sEsSshsus„sœs¸sët't„tåuUuºvv{vÐwwbw£wÛxxHxpx°y yVyyàz*zVzqzŒz–z›z§zÃzÏzÌz»zªzŽzpzUz9zyñyÅy”y\yxÝx«xwxCx wÊwŽwQwvÚv•v?uØukutœt.s»sBrÌraqõqqp„po¨o@nÆn:m–lâl>kÂk]jïj„ji›i"h¤h0gÎgƒg6fÝftfee4dÅd_còc‡cb·bTaîa‡a`¥`__ ^§^^^)^^^^%^?^O^Z^Y^B^]«]-\ª\J\K\À]X^^¡_F``ða³bfccÂdWd¼eUf>fêgTgªgüh=h\hyhšh£h†hFh h hgßg†g f“fKfe×e»ee0dªdcobÕb2a|`½_æ^ÿ^3]\Û\#[gZ‘YµYXTWŒVÌVUYTÅT@SÑSkSR¤RGQÿQÑQËQÚQóRR@R_RhRYR$QÉQTPùQQÏRÍS°T°UÒVôX Y'Z7[8\\ì]®^|_k`sa}b~cldLe+f fïgËh©iwj2jàk‡l#lÁmbnno/oÁpIpÐqVq×rKrºs&ssøtctÅu'uŒuçvAvŒvÒwwPwŠw½wòx"xRx…xÄxÿy;ynyœyÄyäyþz zzzzyéyÊyªy†y]y6y xØx¦xhx(wÝww@vëvšvFuîuˆu'tÊtst0t2tgtÊuu8u?u1tút¦tltsÅsqs%r®r:q«q/pÇpPo/mIkjIj3j$jkÉmm?m¬mÃmÒmÞmClBk´kÉl!kÆkµl)l2k,jèjâj&i‡hÖii g›f/dícQa°_ö^ò^Š^<]Å\²\^^Ò_^ób¿dJdÐdèdbb!`ò`ð` _Â^Þ]Á]¬^Ú`écècÄcæfeËcèbaºa8`‚_d]²[ýZÒYáX£WVˆU¯TäTGS×SwS/S RùRöRôRýSS3S›THUU·V>V­WEWâX‡Y YŠZV[N\\Ù]™^S^ñ_š`maqb{cqdWeeÂf`fågRg¶hh„ii‡iøjRjŽjÊk kRk{k’k¡k¨k®k¶kÇkÔkèkêkékôll8lelflElkõkÇkkBjëjjii hxgÀfòf e5d‘d(dd'dkd¸døeOe­eÍe˜edhcÏc0bWac`|_^š]\][€ZçZIY³YfYZYjYcYcYuY±YüZXZí[u[ø\ž]g^4__Ð`’aSbbÓcŠd+d»e=e«ffufÒg$gpg·gòh#h@hQhKh5hgåg¸g„gPgfßf§flf%eèe¼eŠeVedâd›dMc÷cžcBbÞbuba‘a`°`9_Á_D^Å^D]Ê]L\Ê\F[¼[+Z™YúYTX§WÚVÿV"U7T7SCRtQÆPôP1OŽNéN…NMzLôL€LK„KJ™J)I“HôH›H-GÝGÀG£GkG&FôFÌF§FŠFtFPF,F EóEíEôFF FXFšFÕGG!G3GDGkG•G¾GäHHH0HJHbHˆHÅII‡JJ…K K–L L]LuL¡MM©N;NÃOTOÐP0PŠPìQBQ¤R'RÍSTT©UGUÃVVvVÈWW\WŸWèX;XžYYqYÜZ@Z–Zê[?[ \\ƒ\ü]^^Ÿ_(_¨`'`£aa‘aèb"bCbVbgbbÉcRcùd¤e,e¢ffifÄg gŠg÷hvhêirjlqlšlªl¾lÊl×lÀlªl‡l„lŒl£l±l¸l¾l«lšllslrlrl{lŒl•lžl²lÐm#mQmlålLkäk«k}k:kjÃjŠjWj0jiðiÕi·i¤i‘iiˆisij3jàkj¥jiµih—h=g¼g$fŽe×eSd–dod™efKi@jsjÒjëjÝiòh¹h£h>h gèhg©gKgHgFgWgIgHg0gggfÓfšfRf)feËe‘e½eöeèf%eûe¼eÎffeëf eÜed[cÙb¤a _Û_{_«` _ÿ`'`_ã_ß``_ï`A`X``|`h_ï_°_p_Ø`¹`ÞaaÔaña]a`¿`³a[aíaûaçbbb c:b°bWaga`^`5`áa{a—a `ä`0_•_Š_z_½_‡]©]I]à^P^¾_W_ý``íaNaÐbzcQddDd_dÿeöf¿g°hºiÀjok*k¹l?l±mm·n!no"o´p/p³q7q·r2ržssZs¤sót2t‹tÒuuau‡užuduHu¦vuöuu8tìtàt¨sósmu7x y-y¬yÈy yoyVxýx)vãw­ypz.z—z†zsz”z×zÑzæzOzGzy{yÙ|h}™}ô|¬||)|N}w@~vyˆvrÀpkyklJmm€mÝn/n•o¯p®pÄq6qOp’oßmËm(l¤lkÉk®kµk«k¶kÛl l[lˆlÊlâm m$m3mKmMm]m\mhmdmvm†m§mÒnnFnnÀnûo=o{o½ppOpžpðqJq—r1r×rÍsGsurŒrÍs,sus˜s™s—sœs§sºsÑsítt?txt×uAu°vvvØw(wtw®wéxxTxxx¤xõyVy£yÞzzZzƒz™zÁzÐz×zí{{zýzëz×z»z¥z‰znzTz2z yày«yiy"xèx½xxXx!wäwªwuw2vóv vHuãurutt s¤s1rÌraqîqwpÿpp&o¸o0nnmnlçltlk’k"j«j0i¬i9hÊhkh%gÜgzgfŒfe«e>dÔdfcýc–c/bÈbWaéap`è`__Û_c_ ^É^§^›^–^Ÿ^¬^½^À^À^µ^”^M]ç]f\ç\Ÿ\´]*]Ì^v_ _¶`ƒa\bbÅcuddŽdúeŸfƒg&g—gøhOh|h„hŒh“h¡h’hZh"hhgùg±gJfÔff0eÝe¸e‹e4d¸dc`bÈbWTXiY€Z”[’\{]K^ ^Û_Ã`ÅaÎbÊc¶d–eyfYgFh*iiÊjƒk4kÚlymmºnYnño„pp•qq¡r r•sspsßtKt´uuzuÜv7vvàw*wtw³wìx"xRx}x®xåyyQyƒyµyâz z,zFz[zizszuzizSz4z yçyÃy—yny9yxÎxxCwðwžwIvñv›vEuàu‚u/tít¶t¾tëu:u\usuuuQu t´tqt&sÏsbsr†qÿqdqpÅp n®lßk@jf•fígGgµh!hiizj4jƒj:jFjXjwjŠkk”k€kTkòlöm3m„m¡m*l¬lÔmamÙn)nÌooLn—n§onom lÓljl[l›lÂlçm mm/mlúlÞlÌlÈlÎlÜlßlàlÓlÀlªl˜l’l’l•l›l¤l¯l°lµlßmlülælIkîkªkˆkIkjßj­jzjPj6jiòiÉi«i“iziQi.iiKi‚i§iiŽi^háhrhgºg;f¶eÜe3dƒdRd¿e3fgâiÚjUjmji–ih®hg¨gƒg~gVføfãfïfîfØfãf×f¬f¼fîfÎf…f2eöeÁeªeŒe›eèeÆeŠeXeje\ed†c•ccoc:b±ba6`c_í_Ë_µ_è_¬_¬_Ò_½_w_{_‰_y__Í_½``,`@`’`Ì`Åa*akaŽaçbibÙbNb@cccTbžbkbqb b(bïbÍbóbpaia©`ó`‘`Ä`Î`û`œ`{`$_Ô_ª_Ì_’^É^ƒ^´^Ì^ÿ_~```òaZaºb6bßcmc‹cÕdkedf¹gûhÃi@iªj[jßkŽl)lwlømWméno&o°p8pÃq>qÉr6r§rösHs’sÝt3tkt¹tçuu7uJuGuLuIutžts¨sestsƒsYsûv)xCy¡yçy×yžy_y xhwßxúzlzìz€zÔ{zßz˜yðyÞz!yûzNz˜z—}r}t}×~¤{1z1z·xßvoçkœk#kµlkYj/iRg«f%e¢eÝfXfÊgfÒfÍg g gng¯gìhah¢h®hçhühëii1iki‚i„iŽiƒi:hûhùhãhÈhxhXhLhgðgÇgŽgnggÄgÞhgñfÍeÇf8f›fzf…eóe7eCeÓfyfÆf¼fNeÜeIdÞdKcÉeMgMgâgºgf`fe´e¶eßeòeàehe9ere¾f fbfÁg"gžhhUhsh~hçiyjj”jªjzjºkmlsmemím-lHldll–m,mânn3nznûo nnotp’peonm®m_m8mðmÅlÈl‘lÊl_kàl l‚l'j¾iÿiëjuj…i¿isj_kNjÂiÿiùiÚiPhÈii=i-i'ii*iOi‚iÄj2jÈjúkOk°kûl¡m5mÂn¬o’pFpµpõq@q¡q,o!nHm„lýl¦lTlLlMl1l9l?lcllÌm mHmdmˆm’m¬m¹m¼mÍmÉm×mÝm÷n n6nenŸnÖooOo‰oÂoõp?p~pÕq&qtqÎrsttt$ts|s}spsÂsësäsÚsÛsättt@tbttÎu1u¡vvvÝw.wuw¸wõx(xUx“x¯xâyIy¢yãzzIz•z·zÑzü{{#{6{?{3{${{zëzÓzµzŸz‚zgzAzyãy©y`y xñxÈx¡xnx;xwÇwˆwKwv®vLuáuntþt†ts—s1rÊr]qèquqpŽpo•onnm”mlŸl0k´k9j¹j;iÒimihËhjgïgrfþf‰fe¬e9dÑdidc™c)bºb@a²a`”` _Á_y_B_2_,_+_2_:_>_8_(_^×^Š^]•]!] ]E]¶^M^í_Œ`<`øa½bsc cÐd[dÖe>eÓf­g^gáhNh§hÌhËh·hšh£hŸh{hEh#hh gÒgzgfÁfhf eÎe…e?dÖd2c{bÖbIa¯a`H_“^á^8]…\Æ\[ZZ¢YêY.XqW°VþVcUÕU^TøTžT7SËSdS RÐR¾RÐRñSS-S:S0SRÚRR QŸQ»RSŽT‚U‚V•W°XÅYÚZî[ë\Ó]¥^f_3`abccÿdáeÅf®g™h|iSjjÍkyl lÆmfnn¨o?oÌpSpÙqbqærbrÓsAs±tt‰tòuZu¸vv{vÖw3wƒwÐxxOx€x­xßy yV™VêW7WWÁXXBXŒXÞY=Y ZZfZ¿[3[Š[è\q\õ]v^^Š__` `ˆaayaèbCb…b°bÌbÙbäccRcÝdˆe&e§ffifÂggygÙhDh¯i$iiüj$jkk jñk+kk…kXk¿m n_nœm…lÀlgl?lDlm msmØn—o¸oÛnünÁon¼mcl¹l†l¢lÔmm'mNmamemVm6m#mm mmmml÷lÝlÃl²l§l¦l¥l¯l³lµl®l›l¤lÕlÓlîl]kók²kkXk,jôjÆj›jyjOj*iþiØi¹iŽidi+hèh“h}hœhõigiQiAhÝhŠh g¤gCfÌeçedbcÚcódšeÓfÐh´iíi÷i|hÌhähˆhgXg&g!g-fêfÉfÈfÂffgfKf+fNf´fµf‹fIeðe•eŠe•e¡feîeÜe¦e‰e`e dƒclbbaÝa´a^`ö`†`6`_Ç_Š_´_‰__¤_”_i_c_Y_[_§_×`` `9`‰`´`ñ`óaMaäbk(kKl!lÇljÜiáh×fýeâeêff“féfõfúfûfïgSgÁgïhSh~h°hòhòhÿinCnTnan}n™nÍnðo*obo¥oÙp pHp{p¼qqQqœqçr;r„s7sôtCtXt[thtls«s÷t tttttBtZtt¥tÙu%uŠvvsvÚw2w}w¾wûx/x\x‰xÅxèy!yƒyÔzzDz€zÊzë{{?{L{Y{`{Z{K{<{/{!{ zõzÛzÄz¦z‹zdz=zyÛy’yIyxõxÓxªx‚xKxwÙw“wKvýv¥vEuÔuftétptss4rÇrXqçqspþpˆpoŸo"n§n+m³m8l¿l@kÃk@jÒjsji³iKhÓhOgÛglfþf‹fe¢e5dÇdZcìcxcbŠaûag`á`z`0_ô_Ò_È_Á_Á_¿_Â_¼_¥_„_V_^¿^P]Ì]f]u]Ö^T^î_`1`Òatb'bÔcd.d¶e e‰f fÞg¢h&hhîiiihåh´h¨hœhuhFh hgàgœgNfÿf£fBeïeeHdôdcc§bõb]aÈa2`“_ó_D^š]é]-\i[´[ZZY©XåX-WŠVõVdUôUU-TÈT_S÷S–SQS7SISpS›S¯S®S•StS8RÛRlQøRRÕSòTóUßVðXYZ.[=\A]-]ú^À_Š`saibic_dJe+ffþgéhÊi›j\kkÃlmmm²nTnño‡pp”qqŸr!r™s sxsætPt¹u&u†uîvSvÁw!w‚wÚx)xlx©xÛyy6y_yy³yÝzz,zZz…z©zÎzé{{{${!{zûzÞz°zƒzTz%yúyÉy•yPyxµxaxw²w]w v­vQuõu×uÓuçuôuóuýuêu¸uxutºtwt&s±s;rÁr*q„pçpnîmìl˜jæjHk j2i¸hÆgþi5j!jk´lkÍkåkëk½k—kWksk[jÈjÕkµll!ljri+gçf?eZdéd"cDbx_ü^b^]þ]¿\@Z¬Y@YVZÎ[Í[t[I[ZâZ¬YŽY…Y"W"U¼UsUZVÐVW4Yš[B`üd cIa `º_;]…\ ZëY¼X³W¾VèUñTÉSµR‰QŸPÎPXP?PxP½QQ$Q`QÂR[RçS”T_UUÀVWVðWpWþXŽY3YÈZRZØ[´\ƒ]9]è^´_¥`«aÂbÐc·deZe÷fggœhh™iižjj`j–jÁjåkkIk’kÌkåkôkÿlllll lkåkÎkÖkækøkÿkÿkëk¼k}kPjëj’jTi·hégïg fTedØd@cñcÞcèdd:d]dadcdJdc”b³a¾`¸_’^O\Û[;Y„WÕVdU\TøUUEUTUkU£VVsVíW]WÌXJX²YY¿Z_[\ \å]Ž^.^å_£`O`îa‰b b±c?cÅdEd¾e8e£ffDfrf‹f•f‹fyf_fGf:f(ffeáe®ese=edûdÑdždjd8dcÓc’cOcb«bSaîa€a`š`$_²_E^Û^z^]´]N\Þ\][Ô[DZ®ZYkXÈX WvuÚu‰u t½t|ts§s-r¡rqEpŒoÍn‹mGl j˜i^jóji®hƒgÁgèiÏjÁlmlël¤l"k¼knjôjükkkMl,lŸl£l¸jûhýfãeXd®d d3cÞbæ_Ç^”^\]Ô\ù\ [[7[}\]^^¬_][á[©Z¡YŸX’UÄRÕRR¹TQRžS/WÖ[±and*cƒaä`½^Â\ [5YÿX·WüWVÍUáTµS‚R?QP O†O‡OèP2PzP¤QQ”R.R¯SfT9TõU›V,VÈWHWÝXdY Y¥ZZ¤[w\A\ý]µ^†_x`€aŽbˆcmdSe$eÄfdgg«h1h­iiiôjLj‡j¾jùk2kfkkÊkÝkïkþll(l6l:l>l,lkäkÎk¹kÁkÔkékäkÁk“kfjþjÂj}iÄhågÐg fKe‰edudcêcécìdd cøcécÎc c,b^ae`X_-]Ð\=ZzX³W"UúUdUUU{UŸU¢U¦U»UñVRV¾W WpW÷XfXÚYfYøZˆ[G\\Â]\^^±_N_ï`Žaa¯bGbÔc]càdjdèeTe§eãffffeðeÝeËeÁeºe«e™eqeBedòdÒdªd}dNdcëcºc…cJbþb°b]ba¢a9`É`W_ä_|_^µ^Z]ú]–]%\¯\,[ž[ ZrYÞY[XºWúW;V…UÛU6TŸTSYR§RQtPêPlOûO•O6NÙNtNM£M*L·LIKïKKFJùJµJtJIJ"IðI¾IInIsI†I I·IÂIÊIÞIñJJBJIJLJ^JzJ’J£J¤J¡J£JªJÂJëKKeKàL†M(M½NBN•N°NÃOOeOÜPZPÑQ+QZQ|Q¯R%R·SOSþTžU/UªV!V™WW`W¬W÷X@XtX¬XäY)YzYÑZ:Z¶Zÿ[F[í\ƒ\þ]|]û^__ƒ_ù`m`äaYaÎb>b˜bÜc c1cJcSc^c‚cÛdceeŸffzfÊggrgÈh%h…hÚi;i»jFjßjîj;iùjj!j\jµkk@k5kRk›kÁkÊkÏl lƒlámsmÿn^nÉnçnÈn£n)mvlîl¯lÂmm5mim•m«m¾mÔnnmÆm mxmcmQmAm?m.mlýlçlÐlÌlÊlÌlÌlÃl¦lŽlœl¬l¦l”l'kØk´kœkpkOkjýjàjºjƒjJjióiÂi¢i^ih¿h^hgÆhi1i ihºhDgÝgdfîfWe½edCc¡bûccÌdêeÇhhüh-g¼g¨gºgÚgˆfñfµf×fjf)feëe´eze8eeeXeËeÓe¥e.dìe-ele9e!e:e}e^e/dÂdIcãc.b4aQ`à`ª`+_œ_j_t_O__^ø^Ý^ü_'_A_^Ú^µ^ú_¤`Ga"axaxa†aÁb#b‡cchc"cc]d d_d˜dMcÒcƒcædcbØb×baya™bzcOc‹aZ_ù`M`W`†`n`^`_ö_¿_£__K_ __i_ã`V`›`Æaa_a¹b"b]bcbfbXaíaÔe.iGh‡h gÚhh¬i(i¿jLjókŽlBlûm±nMnÜospp¹q"qƒqêrKr—rìs:syss©s½sÃs¿s×sËsás¨stsrÃs tt[t“ut°sfräsÑsÙs‡sxs,ss=sltIutìtØz~i~c~‡}†{yˆzEzžy x)vérm÷lžlkj´j†j‡j i~iLhÇhegäg|g fŸf±fÜgg-gTgšgÝhhQhh’hÊhÁhÚi8i_iªjjajwjŠj•jÀjÛjÁjÕjòjïjÌk!k±kòkékÕkÿl kúkWjHigie7c‚b`ú` _$^ß__*_g_^Ý^Þ^_­bšcTa¤aÍaüacTbµa6aQaÕcÜdÅd³dycâcwcâddŽeSeçfzg g‚gØhBiyj jÂj‹jijKjmj«kll‹kÕkœk¬kIk3kokçl^lÎlélwl)l7l[ldlll•mYmöm¡m l÷l§lvlÖnJnªml¢kôkîkÞjpihãi1iÀiýjiþiúiûiúiïiîièiÍiŸioiOi4i"i,i;ioi±j jujÅjëk#k^k±ll„mPnAo9oÐoéppšpúq-pÐo(n±n±nynJn/nmûmönnn!n"n6nKnfnn±nßnýoo*o3oBoNoZo}oˆo¯o×p pQïXÃ^5bãc×c‹b&`ƒ^Y\ZY1W÷WŠWgVÄUáT½S_QëP©OˆNëNåOTO­OñPPŸQNQáRrS)SÿTÄUgUþV W)W³XFX÷Y…ZZ[c\)\Ö]‡^Z_Q`damb\c3ddêe‘f?fùgh+hµi%i‰iÝj+jpj°jókBkwk kÃkåk÷ll l'lElMlRlDl%l kõkÇk¯k²k½k¹k£kkbkjðjiÑh gŒg fce¯e%dƒdcñcÏc»c·cµcžc…cbc(bÁba`^Ô]l[ÏZXcWV.UàUàUûVV'V'VV.VXVªVôWVWÞXNXÈY3YšZZ©[p\\¥]E]×^o_ _¥`A`ÍaNaÏb_bícddŽd÷eDewe“eže–e‡euehede]eReCe*edâdÆd®dŽdbd3d càc²cƒcHbÿb¶bdbaºa_`ù`‘`&_À__^ÿ^£^C]ã]y]\‰\[sZäZZYÍY3X‡WËWVqUÌU1T¢TS{RÓR8Q«Q)P²PAOÝO‚O!N½NPMãMvML®LWL KÂK€KHKJïJÀJ’JnJbJcJgJqJzJŠJJœJ­JÌJêJ÷KK K,KAKJK?K.KK"KNKsK«LL¶MmNNNüO.OAOjO¶PP‹QQVQ‡Q±QèRLRÚSrTT®U.U¥VVƒVøWdW½XXVX˜XÊXþY6YxYÃZZŒZõ[?[´\V\å]v^^€^ú_y_ñ`f`ÚaHaÀb.b”båccOcrcˆcŒc—cÂdd¥e@eÒfNf³ggMg›gëhHhœhôiviôj jbjrjiøjj&jdjšj®kk£kÐllkõkóllŒlñmhmÛn0n|n”nun%m¨m7lâlÇlàmm\mm¹mØmÞménnmêm¸mŽmpm_mSmPmFm5mmlðlâlÞlâlâlÐlªl•lÇl¶lulolk¹k§k™k|k]k2kjûjÖj–jVj#jiØi¶iwi5hÖhrh gÙgàh˜h×ih¿hg¶gEfËfBeªedCc c#bècMdAeXfvh°h:gèg´g­gzg/f¾f¡f›fe¬eeqe+dïd¬d™d.cžd4ee$dëd²d¾eedídïe$e2ed²d5cÈc7bCaja`½`_l_A_V_o_@^â^È^ß_'_¸_š_^ò^æ_``U`¨`þa!a#a¨b«bùcqcªc¥cßd+dddëd¦dZcÝc¹clcƒcàc…c)bdaï`ä`Ía;bÓcya`6`C`–`Ï`¢``I`_ç_Á_„_A__:_e_°`C`Œ`«`¾aaga¢aïbFbEbob bbd´ggf¸fîg$g°h"hÜi€j=jÞkŠlk‘kßl]mm}m”mXmTm‡lýkk'k jãj›jaj0jiåi´i†iAhöh¢h.gëgÖhli i gûg×g–gf«f6eœe dlc­c8bßcc§d>dÚfÄh²gøgÑg¦ghfÕfxf¡feìeye4ed¸dZdd2d clc“dd%d:dBd^d­dÒd¦d‘d§d¦d…dšd,cÅc1bPa‰a3`¥_â_3^ÿ_!_0_>^ì^Ð^Ù_@_†___:_P_Æ``Øa,a€bbÌbÛcOc¼c±cáddLd€dždZdcŸcNcBcÙdgd›d¶clb*a#`ÿ`»a{bµc&_t`7`x`‹``R`9`_é_Æ_ˆ_4___8_w```“`w`˜`ôa^a˜aÌaÇaíbmbÎc¦dÑeRe…fuff¯g"hhµikjjåk‘l6lãm‡nFnòošoýpzp÷qjqÅr'r_r§rãss sAsFs0s?s/srùrÞr®rir'q¾qƒq€rrrrýuíw9w x”z|‡{ï|%~ ÿ.€È~ }z{œy»~.xPt¹y×v»ttpômÃl÷kÚkèkUkjUiøiši\i2hÍh¥hžhyhZh7hhh!h,hehªhÉhÙiiHiQigiaiŒiÒiÆjjnj{jƒjÌkk;k™kÂllšmSn;n°n7m5kökiáh«gyfDdÛc¯bÒb&a{`¬aaòc¨e¹h–k:ij kBjJi4i=kên´nlålkókŸmjp²o¡jdºaÊa£a³bZcåcÀb‡df&fÆgg¿h«iiIi›iŸiLiCi‚jjyj‡j7ijjÅk{k¸kzkmkŸk½l lLl€l‰lTll.l[l]m’om¤mPm‚m#mNmÄmlml¯k¾kKj„iLh¨hái9iii}i i¯iÂi¼iÁiÀi¿iÄiºi±i˜iŒizii†i iÄiúj=jˆj´jÙkkZk´l lplÛmRnoolo¸pFpˆpÃqpço¾o?oGoEoBo&onýnánánçnöooo5oSodo†oœo½oØoñp pp7pBp\p€p pÍq q6qiqqÉqñr&r^r˜rØs sSs‚sÏt trtôuuSuÕuêu÷tútt¦tÉtÂtßtÝtøuubu£vvwvòw`w¾x xAxrx¡xÎxéyy yRyyðz z_zÀ{{*{I{d{r{n{\{B{){{{{{{{zözÝz¾z˜zwz`zJz8zyðyÆyœymyCyxðxÈxxHx wÎwwMw v³vev"uÇu`tót„tsžs,r½rIqßqrqp˜p&o¯o8nÅnEmÄmAl¾l:k»k?jÊjUiÞi\h×hLgÆga`¹`h`_Ù_ª_t_(__[_¡_ø`aGb.bàc`cæd˜e6e­ffŠgg“h)hªi iXiñjMj1iôi«iFi.i$ihÖhžhPgÞgŒg‚g‚gjg3fÜfveöedüdac´c bkaÊaF`õ`³`+_`^£]ô]M\ª\[pZÝZPYÓYYXæXpWýWŽW)VÈVhVU˜U6TÿUU5UTU=UTºTqSûS‡RØS'TBU\VfWEX1Y&Z<[V\s]r^b_-_ô`¸aŸb’c’dƒelfQg=hhùiÇjkPll³m]nn©oHoÜplpêqpqêrqrêsfs×tEt¯uu‡vv€vÿwnwÔx3xŒxÜy/yyyºyõz*z\z„z¯zÍzõ{{4{R{}{¥{Î{ê|| |:|D|I|<|%|{Ý{­{{T{zèz«zdzy¶yayxÍx{xx xxwòw®wWwvÂvpvuœu9tìt‹søs{rØr9qlp£oÐon mküj›i-h(i!iYhðhbg•fÉf…h!k×mUlžl6kôkÂkÚkøl1límÌmnl0l©l–i±fhd_cßcc÷cObÕ`?_a^B\å[ Z8[ZLZ\åZÆYWX WšXSZmVeSQíQ}QÚR]Q°Q½P8QrW™[k^_´aÏbmad_r]8[!YW`VÞVåVŽVUBSôRwQ OÜN¾N&N%N{NâO(O›P'PÆQ\RRÑS˜TcU%UÁV7V¶W;WôX¦YEYÒZ[h\\ž]G^_`/a+bb÷cÃdxe4eûf½guhh©i&iŠiÏjj6jpj¼kkik¥kÐkëllll(l>lUlhlYlHl`ê``6_Ü_…_1^Ø^y^]©]9\¼\=[µ[#Z‘YøYXX¯XW\VÃV0U­U1TªTSSRwQ÷Q}Q P¡P:OÝO‚O#NËNrNMÔMƒM;MLÒL¦L{L[LDL3LL KýKõKðKøLLLL0L;L.L,L;LULnLzLLL…L¡LçM:M¶NXNÌOLO¼OøP!PSPPÍQQ]Q¥QÚRRTR¶S3SÇTgTöU‚UýVZV•VòWiWÎX'XvX¿YY8YgY£YÛZZYZ©[ [‚\\°]G]ä^k^ß_P_Ð`K`Âa6a©bb„båc4coc¢cÆcàcêcôd d8d—ee´f>f·ggfg®gôh>h€hÖiQi¬iÃiájjjajÁjŒjƒj±j¾jÄkknk“ll^lelxlSl[l¤mmdmónin{n\nFmàm;lôl÷m mum™mÚn nnn n mþmëmÒm¸m˜m~mlmgm`mQm=m#mmmlÿlõlÕl²ll`lblkÅkk~kk™k‹kpkJk-kjèj§jaj4jiþiÓi§ifi$hØhoh6gÒhDh˜hFgÞg´gggf—fe¤ed}cácdcccac¸dŒeUgÍh€h6gÈgfªfyff@e‚dþdÀdod%cÁcfc c;bÛbÂcmc[cJc¡c†cFc–c¥cÖd?d[d2dcõc£cbWa±aU`_È_^î_^é^ü^í^É^”^Í_^ÿ_`_±_Ö``²aLb9bDbObbÄcdc…cSc«cæddMdDd5cÑcfc1cgc4c•d(d±dÝc®aŽ`õ`³`ùa¶bQ_Ú_o_z_Ú`_â_à_Ñ_ê__d__^ý__9_˜`Z``k`‰`¨`õaEa…aóaîbLbÆcBcAcc‘ereÒeÒfMgh iišj3jÕkŽlClåm©nTnñoloðpfpèqRq²q÷rNr~rµrÏrèrõrÿrârÊrÍržr”rarJr qÓq¡qÂq¬u‡wýyygxšxÔxµx¸x‡z€}}Ú|qzú{M|Í€Ò~zŸ€{uxzxüu‚usu]pl@k¹k-j¢j}j¯jjPi¿i|ioi-hëhÁhÀh«h©h{hthœhõihíhñhõi4i–i¨i¬iÍiµiÚj-jj2jcjŽjükRk¯l*l˜lÿn nýn§m;kiÓihFg†gBfÌfEfFfÐg8f­fgshÁhÌhPhLi%j¯lAkŠjËj¨jËkxmío×oEmÎkþkDm‘qsuYsép#káecaüa”b¨dc¦cÜefgh*hÜhøi-i‰i£ili$i6ipi–i„ihõkkíl¸l©l,kÒk‘k€kÕl&l”l£lWkül lglœmUm‘mmmlm"l´lçlÚl÷lŠj”iËihth~ii@i[ieii’i›i i iži˜i—ii”i“i•i˜i¨i½iáj jOj‡j¸jàkkMk“kðlSl¶mmzmònŸo!o·p)pSp¾qHq‚pæoÔowo@o]o‚ogoMo7o o)o9oRoro†o¦o¼o×oìp p#p=pXpnp…p™pÂpãqqOqzq©qÛqûr)rMrrÁrùs0svs¬sçtw¢wÿx@xqx¢xÌxðyyy1y_y©y÷z>z‰zÖ{ {){G{[{^{T{G{5{"{{ {{{zûzózâzÁz›zuzVzDz9z2zy÷yÑy®yˆyay:yxéx¸x…xKxwÅw‚wEvóv¯vjv u§uDtÛtis÷s…sr«rCqÓqmpýppo o$n£n(m¡ml¢l)k©k2j³j,i›ihtgèg_fßf\eçepd÷dzdc›cBcbÑbªbb‘bvbRb!aéa©afa`Ï`†`D`_í_œ_^_{_µ_ö`c`óa¿b¢cld"d²eDe½ffmfßgjgýh‡ii^ij!jojSjiÂiXi;iCi)hïh¿h~hg®g‚g‡g}gVg f¸fLeÕeGd¬c÷cOb¼b*aœa/`á`u_Ì_^Y]®] \v[Ô[EZ¿ZIYÙYmX÷X…XW½W]WV›V)U¿UmUXUvU—UUJTöT¬T+S®SSjTŸU±VµWŠXtYiZ[\½]¹^¢_k`4`úaábÔcÕdÄe²f–g~h\i4jjÈkl4lâmˆn3nÕovpp™qq£rr£s!sœtt‚tíu[uÍvJvÇwBwªxxfxÀyy]y¤yæz*zezŸzËzû{ {B{\{~{š{Ä{ë||.|J|\|p|w|w|r|`|G|.| {×{ž{\{&zêzªznz'yÏyy6xêx²xÃx¨xpx3wíw†w6vÜvvuuLtûtsåsTr¸rqPp…o²nãmïlõljäi_hXhÕiqihXg‡fŒe¨f>i kìl|l¸ltlhl&lkkkÁm|m‡lglþli@eb·bWbb©a£a7`f_]G\³[¦[3[ê[+[›[®Y±XÊWüVrTžT/S-R÷STRRSKROQéP÷T›YÈ]H^ô^®`0aB`h]Ò[«YúWÄVdV4VAV"U˜TˆSQšPkOtNžMòNNCN–NåOSOãP‰Q"QÍR–SaT.TØUqUõVvVýWµX]XüY—Zu[R\ \‡](^_`a"b bÓc˜dHe eÔfžg^hh‘i iyiÉiûj)j[j¢júkQkk³kÍkëkÿll-lIlhlulslll[lTlDl.llkùkâkÓkÖk¼khjÓhôh gþg4f¾f5e†dúdocîcscbëbßbÓbŸbYbaªa+`w_Ž^x]C[ûZÀY®XâXRW÷WÂWžW“WšW¥W«W”WkWMWXW‰WÑXHXÇY3YvY˜YÅZZKZª[[\ \•]3]ä^ƒ__e_Ö`U`Ýarb b—c ckc¶cîdd'd3d:dEdMdRdQdMdKdGdm%mmmmlñlÕl²lˆlQl/k÷kºkƒksk‡kžk‘kykRk2kjájªjaj:jióiÏi’idi1h÷hªh`h0hzh±g×g®g‰gXfæf’fe¡edŽdc{c@ccWc¿d]dúeûgçh9gŒfófzfˆfÔf|e}d¦d_dc›c>cb£b›bLb,büb¦b8bb4b:bbŽbícªcðcácŸcQc b¹b-a¢aS`v_…^ý^Á^ä_^Ì^¶^¥^^·^ÿ_›`M`=`¡a aa}aùaÂa¹bbFb¶bíccŽc´cÕdcôcécÚcÔbÖbtbhbècÐdzdÛdzbaaaa—a˜`ú`¿`ò`_²_ç`>`-_Ñ_S_#^ä^×^Å^¶__a_å`)`/`7`ˆ`¯aaBaa—b b$bJba˜aÿc~céc£d¸f/ghUi"i¬j:jåk lGlámœnBnÇo]oâp^pËqm!lŒkÈi¹hðhoh}hÎi0i:iDiUigiwii‘i•iŸiŸiœi¢i¨i¬i¼iÎiàiýj"jPj–jÈjèkkHkŒkÛl5lŠlímSmÀnn„oo¥ppRqqqÀqÔqipºo¸oHoo–o~o`oQoZouoŒo¬oËoåppp1pGpcp}pp°pÉpõqqHq…q­qårr3r[r„r±rèssZs€sÅs÷tz’zÒ{{%{C{I{F{9{1{({&{{{ züzózñzäzÍz£zyzSz6z&z"zz yîyËy¬y‘yryWy2yxßx³xx7wówµwvw+væv”vAuìuu%t¸tJsÙsnsr›r0qÆqSpâpioöoznÿn€nm‚ml‡l k†j÷jfiÐi2h˜hgg ffeedšd:cæc¤cic8cc bûbÛbªbhbaÈawa.`ç`§`t`N`_©_˜_Ð``h`óaŸbkc=cýdÈeZeÖf@fƒf×gHgÚhnhòiGi’iñjPjkjKji´ijiSi[iNihäh¢hNgëgg‰gƒgjg'fÝf€fe’dþdXc°cbˆaöaua`¦`_c^²^]l\Ï\.[[!Z³ZEYÜYoYX XFWäW‡W!V¯VxœxïynÄoSoÜpSpËq4qqÖrr)rUrWrirTr7qúrqåqÚq¨qSpçp¬qßt!v7tr‹rîsrÛr“sÎuHuYuØxµz z~µ~ò|Â¥‚EB€Ä}Hxfu­wXx+tìv8sÐon†l jßj6j&jjj9jXj:ji²i›iši‘i‡išiŒii4ihñi\iÎj.jWjWjmjjœjÄjíjäkfkölilÚm"mAm0l¡lkrjÐj¤iéh„hfÖeàghgÏfÑhîjñjÕjØkÖk©jFhÛgpfügÍh$hhh h5iIißjjUjªl‡næn€lÛméoeoponek[hÕeñbÅbob˜c2dögogÚh.iih¨hiigi†igijihi7j¸l>lÆlk'kvkkfkVkŽk¾k×k×kÉk“kÊlzmWmYlÅm m—mLl¯l¯mÒm±l k'iOhÐhÄhñi#i;iGiIiZicioiiii¤i®i¸iÇiÏiäiõj j!j?j]jjÅj÷k"kSkkÐllqlÉm/mmênBnžo o£pp’qHqqÅqôqçqÛqMo·oXo‘oŸo„o’oo¬oËoçp pp;pRpop€p›p¸p×pýq#qSqq½qêrrNrhrŽrºrÕss=srs§sÕttOt¡tÅuuGu uªuêuÁuÐuÐuŒu„uZuTu`uuu“uÅvvWvžvÿwkw¿xxUxŠx»xæy y y*y)y@ypy¯yéz/z}z»zñ{{({+{&{{{{${%{{{z÷zîzÞzÆzšzpzFz+zzyúyêyÏy»y£yy{yfyJy)yxÙxªxix-wïw«wbwvÅvyv"uÑuqut˜t,sÀsQrèryrq™q,pµp@oÅoPnÖnYmÕmXlÖlMk½k)jiôiZhÉhMgËgFfÂf;e±e1dÆd}d>dcÈc¡c‡cwc[c-bëb—b4aÑa†aDa`Ö`¨`h` _Þ``?`a a¦bRccèd—e[eòfYf©fÒg+gªh>hÅiCiƒiÚj_¥_^c]Ä]+\‡[ï[x[ Z¥Z=YÕYtYX¹XUWõW“W#V¶VSVVVUêU­UCUT}SÝSMSÜU5VEW=XXîYáZÿ\]<^9__Ü`žamb^cXdSeEf2ggühÐijakkÖlm.mÕnoo¾pVpäqlqòrvrýs€ttytòuduÚvLvÅw=wªxxmxÅyy`y¤yíz5z~zÅ{{>{m{’{±{Ã{å||D|i|ˆ|£|±|´|¸|·|µ|°|¨|œ|’|z|Z|0{þ{Ì{•{X{zæz¬zoz2zyØyœy\y x´xWwÜwtwvvu u=tütjsÆs$r…qÖq%p[o…n¢mÀlìkÔjÆiZh‡hWhýhÍhXgof|eNd·e½k&m¸nXnÜnXmml‘kÚjèifûf©fMeàeodèd`cËc9bžbaj`ä`__Ø_E^²^]z\Ì\;[È[\ZòZŽZ4YÙYvYX¯XOW÷WŽW.VÊVƒVYVJVUÈUVU$T¦SèSdT UrVWyX;YZ[5\S]v^r_S``Ða¢b•c—de~fjgUh2iiËjkDköl¤mQmønžoDoÞptqqŽrr’ss¡t$t¤u u”vvzvíwgwÓx8x“xèy1yuy¼z zXzŸzæ{,{f{{³{Ñ{â||8|c|Ž|®|Æ|Ñ|Ï|Ð|Í|É|Æ|Á|µ|ª|—|}|[|+{ù{¿{„{K{zÞzŸzgz7z yÌy‰y3xØx~xwŸwvv u—u1tætVs´srtqÌqpFoknšm¶läkéjÝiÅhåh[h–h€h*glf“e|dfcþg#kÆoIoÏnÞncl©ki¾gÒgšh¾h/fÂdPb$`©^®]Ü^^J^«_¡_Y^‘^¬_4_Ã\Ê\[öZdX…V{U(TpS©R2Q­RgQ+QEQ4ONºMÁLÒM|Q(VtX4X¢XÃX´XX4WQVU@TöU+TÄT+SÛQiO–NÛNRM°M*MMKMuM«N0NÚOxPPÆQ‰RWSSÜT“UFUíV|VîW^WáX}Y=ZK[>\ \ž]P^,__Õ`±a„bbccÔdœeGeøf°gbhh’iitiÇj jGj„j¿kk9kekykžkÆkäll!l.l>lMl_lVlPl[l_lalklol~lvlBklj9ith…gÁgfæfCfe¦edŽdc{cb³b|b?baÊaˆa>`Þ`g_Î_^H]q\ž[Ø[4Z©Z;YçYªYyYOYXàXŒXCXW÷W÷XXqXóYMY`YZZvZ‡Z`ZYÅY¥YåZt[Z\c]D]å^h^ú_˜``—aafa¶bbEbwb bÅbãbücc'c:cKcac|cc”cŒcrcRc-c bîbÚbÏb¾b«bŠb]b!aáa™aNa`·`k`_Ò_}_(^É^e]ù]‡] \‰\ [Œ[ ZŠZY‰YXŠXWŽWV—VUœU&T´TESÜS{S!RÊRqRQÅQoQ!PàPœPdP-OùOÏO¯O’O†OyO|O}OiOSO3ONîNÙNÆN¾NÆNáOOJOqO„O•O¬OÛPPePÃQQ^Q¡QËQðRR;RbRR²SS5S5SHS‰TT‚UUtUßVKV³WW‹WïXHX–XÜYYUYYÐZ ZCZ|Z­Z×[[Š\\]&]Î^t^ø_;_‹_ð`_`ÊaEaÀb:b¸c+ccÖdd:d\dd”d¦d®dÁdæe%eff‘gg}gÑh"hgh£hßiiNiƒi´iäiýj#jOj;j.jxjÖjúkRkµköl1lql~l˜lšlƒlµlÝlçm—nbnSn£nÁnëo4nún¦nOn)nnmým÷mémæmßmÝmÝmæmêmðmímÞmÏm´m¢mm‰mm|mnmYm>m&m lôlãlÍl±l“lml>lkökåkâkÒk·kŒkbk:kjÛj®j¢j«jËjejOjj5jAj>izi:iäh$g¨g]g9g1fÿf´fQeïeed¸d=cÝc{ccc›ccccOcŸdóeÖeèete=e‚eudõcùcyc b‚baa `£`A`_è_ó_õ```q`ê`Ù`²`ß`ùa%aoa˜adabafaUa%`ú`R_À_{^ò^á^Û_E_ƒ^Ý^”^ô_ð`°aaCaqaVa¡b.b+b%btbb¯b¯b¢bÇcc cc cc2cqc°d2d•eSed¨eUe”e¦dÑbnaçb"bkb=b…cPc7cŽd e%e€a/a a_1^M^»^&^{^X^±^ã^ê_M_q_Œ_“_Â_±_Õ`8`ŸaJasa+`å`q`y`€`©a‹cdJedÓdÜf#hh i4j5jÞknll¨mDmçnŠoo›ppŽpùqGqq¹qÚqÛqÞqÌq­qmq*pÕp|p:p-p$qÙr\qßq°rqäqãqÄqáq|qÕq°qüs§uhw"{Q¦~Ñ|Ÿ|Á}È}˜{ý{)}#g}–yQwut×rYn nnk˜jˆjBjj6j jiûiçiój jiçiêj=jmjRjiÍiájj’jØjÍjÔjÃjåk k3k„k•kÞlzlkgj©i¯iÁj#kzl*ljcjók™iªiÅjmiühJhøj)i•hži¿lTn)nAlùkj?i3h·gKeÅeˆf¡iƒkÿkølÐm-llïnUn«nnvoo5mälÇl¯lñmnl²i+f¯dåd™eíg`gýgóg¦gg‹hhÈici¼i¸iØjØl,l¶kýjêjøk·lIl+kÏlldm m?m=lílwlômLl°ljlæmtm„lØlil–lZk¬jÒiÈi)iPiqirinidiaiZi^ijii•i²i¿iÛiójj,jOjkj‹j¡jÀjÓjêkkLkkºkúl/lllµm mdm»n'nªoo(o”p pŠpþq[q°qÉqàrr:r^q·oâoŠo¿oõoùppp*pOpppšp¹péq q4qYqq«qÔrr+rZr~r«rÇrésssKsysŸsÔtt4t~tÏtïu,uyÿy«ySxùx x7wÕwFv°v1u¶uHtâtosÜsJrªr qOp‘oÁnèn(mMlpk|ji¶höhvhh“gügf,e?cãc#e–j¹nÍmømHm/kui¢hQfíf‚f]eée˜c†aj_œ]®] \¶\Ì]“^5]œ]]b]@\[o[h[´ZiY.XUTTS±RQQìPâPiQjQ8P³QçSZ”[Ó\¹]\]µ^^x__“```íaAaaÐbbBbdb‚b b»bÑbêccc+c^Ñ_L_†_Ø`<`žaa‡bbzböcjcÏdd@dhdˆd¤d¼dÇdÔdæe e@e™ff‰ggygÛh)hih¡håi)idii¯iïj:jj1j\jAjEj¥k:k¬k×llBlŒl¶lLkÿkékÅkïl=mnÏoVn¸n½nÍnÊnÇn›n`n@n"n nmñmßmÒmÀmµm·mÀmÍmÜmßmßmØmÒm¿m³mžm’mˆmymemNm0mm lõlælålÛlÂl lzlMl,llkêkÌk¤kokDkjßj¿jÑjñkjÞkk`1`2`¬bc¡d^e)ffgee¥fÅhiLjxj×kGkúlÒmˆnn¼o0oÐpJp­pùqQqŽqµq¶q¬q”qhqUqp³pLp oÍprqÝqIpüqqMqxqq§qÅqëq¼ras“uöy5zw~N~I{Á|®~#}z~~,~€zËw«utÌr©qÍnòm‘mÌk¾jj~j1j;jj+jj6j!j+jjjqmqqÈqðrrCrlr’r¸rÐrós s1s?smsžs³sèt"tItptµuu6u/ujuÜvˆvuáu¡u¹uÑuÙuÄuÃuÊuÞu÷vv[v¬võw=w†wÂwóx$x[xxÀxãy y$y4y2y-y2yLyoyy³yãzzBzoz—z¨z´z°z¯z¿zÐzÝzëzêzázØzÏzÊz¿z¬zzrzLz#yòyÄyšyryMy9y+y'y$yyyxóxâxÆx xwxNxwîw®wiw vËvwv"uÆudtûtˆts£s6rÃrTqàqjpðproñovnönpmæmUlÇl:k¶kYXŸU5P,MùO¥SbVpX}Y.X;VcU6UkUTãRëPÿOsNcMÌM3L»LQL;LsL¿LñMwN-NâO…P4QQÏRšSfT TÜU~VV‘VøWaWÖXrYOZJ[A\\¹]r^;_``Êa¬brc+cídŒee¡f=fåghhiiviÎjjdj¢jÜk k9kKk_k}kk«k¸kµk¾kÇkÒkÙkÚkäkþllClPlFkÔkj{i§hÖhjhfìf2e¾eRdàdudc®cgc,bïbÇbbabaÕaya`®`6_³_!^ˆ]é]M\¿\8[È[`ZûZZCYãYY(XÜXÀX×XéXÔXËXØYYuYïZ2ZSZ{ZeY¼XÞX XcYä[¬\Î]<]p]s]–]ù^Š_$_§``{`Õa-a|aÁaòbb:b[bxb˜b¹bÚböcccc búb×b®b‰bpbgbcb]bRbCb.b aÚa›aYa`Ñ`Ž`O`_Ã__2^á^ƒ^!]·]C\Ï\Y[î[‚[Z°Z@YÔYbXñX€XWW.V½VNUãUƒU/TØT|T%SËSuS!RÏR’RPRQçQ«QtQKQ:Q0Q+Q)QPùPàP·P‚P_PMPFPKPSPdPPŸP¤P±PÒPúQ1QsQ´QæRR?RrRšRËRèRîSS0SkSªSåTT4TeT±UUxUÞV7V“VúW^WÌX9XXøYHYwY­Y×Z Z=ZrZ§Zä[[[‚\\ˆ]] ^.^º_#_…_Ö`3`“`øaoaèbgbácTcÆddVd}dšd¹dÎdædìdþee@e}eÒfBf¼g8g¥gþhMh‘hÕiiEisi¤iÄjjUj4j2jSjcj›kkœk¸k°kël0l-lkãk¨k¤k×l;l±mÉo1onÄnÏonîn´nˆnUn:nmômàmÊm­m‘mmm~mŒmŸm·mÄmÖmÔmÌm¾m¯m«m¤mmzm\mDm1mmm mlòlâlØlÀl¡lzl[l`_ï_Ã_%_ ^ã^ö^É^^^5_R`o`‹_u__À`²`ÞaaêaþaøaÓaÊaÑaÞaébbªbzbRb6bIbžc crc›d0d¼eeÈfffeúeýc×b>b(bDbÍdœfƒdúe-edyd%c¸c0b÷_^f^™^i^#^I^¤^Â_ _9_]_X_{_S_U_Ž_©``P`7`B`3`(_ô`:adbŽcYd-dôfgah'hsf`e‰h jjåjåk`l.m0mÄnqnçowoøpZp‘pïqKqq˜q‹qsq}³‚©ƒÓ€¢~¦|\yÈypu°t”r[q³o¾mmöluk‡k j¥jºj^j_j!j-jj=jBjXjj­jÝjÜjðjíjÎjÁjåkkbkzktjäjÞjj‡jÆj jÚkÉlanco‘pn.lÞltlxkÆiißnpúqgqo‹m†hçe©dˆd±gRiºjÎkÈl=lKk¿j[Û[}[Z´ZEYØYsYX“X%W³WEVáV~V$UÊUqUT¾TcTS»SxS@SRÐR RqRER%RQöQßQÎQ¿Q©Q…Q]Q?Q/Q6QFQYQ`QSQEQJQXQoQ‹Q²QæRRLRwR£RÔS S1SZ_Z|Z¤ZÌ[[4[i[µ\#\›]]ž^+^»__`_¿``|`áaIaÀb:bÃc?c°ddjdªdÎdçdÿee e"e0eFene©eìfCf¦gggóhFhŽhÏiiJixii´iÈjj{j€jŽj€jzj‰j}j¡j»j}jmjŽj”k kñl½m«nœn®nnn>n„nÛo(on¨nCn#nnmòmmzmXm0mlîlålðmm mm?mem|m’mŸm’m†m‡m‹m€mqmNm@mTmFm@mo-n±l¤j·jTiËi*i\jjjjmj«kkkLjükkŠkõkîllCl}l{l`l]l\lgl×m|måm…lëlílÀlÅmmmOmYmpmzlëkisi0i}i†i¥iÀiÖiëiïiôiój jj6jYjujŸjÓkk?krkkµkýl7lOlPlell–l¶lÖlîmmUm‹mÒnnan¡nÿoyppsp¶põqLq qòr?rkr¡rÞss's^qêp‘pqp´pÔqq=qxq³qðr/rfr rÉrós s/sEsdspsˆs’s¢s½sÉsðtt0tPt†tÜt¿tÌuu>u“uÆvvŠv„vËw(vôvÍvŸv=v(v0vv:vUvyv¢vßw/w{w¼xx2xax‡x²xÜxüyy(y6y?yGyBy7yyxóyy%yBygy‡y¨yØzz'z>zFzTziz€z’z¡zœz•z‹z|zlz^zNz@z0zzyáy½y–yly?yxïxÏx²xx‚xhxRx=x-xxwëwÍw¦wwXw+v÷v½vrvuÍuyu$t½tMsÔsTrÝrgqïqypûp}poƒon®nLmðmm3lÔlolk‘kj³jBiái‡i"h¬h-gÂgeg f²fbfeÇe{e%d¼dNcùc¡cgåg˜gXgfËfŠf9eÉekedÔdjcøctbàbEa³a7`±`&_Œ^ô^]]Î]<\»\A[Ü[€[$Z»ZKYçYŠYBX÷XºXvX,WÎWkVüV•V-UÔUU¢UÍUT;TgUfVwW¢X’YUZP[X\f]p^u_Y``Îa|bEc*deffâgµhyi8iôj¨kPkðlm1mËnenýop"pµqIqËrHr¸s,s«t8tÐuXuÓv4v”vówbwØxFx›xêy1ywyÈzzNzŒzÄzó{){Y{€{£{Ï{ô||4|M|f|z|‹|š|®|¼|Ê|Ó|Ú|Ü|ß|à|Ý|×|Å|ª|‡|a|3|{Ï{¡{s{L{&zýzÉzz@yëyŠy"xÜxxwvwvŒvuŒut›ts sr}qÜq5p‡oÛo%nlm²löl+kfj¹j ilhîhIg•fÕf8eØdàdbÒba=`ûb_j_lugne•e dÕdJc¹aÞaP`~^…\‡ZÖYeWÞWæW–V›VUV[V‘WTVbT•S\½\H[Ö[q[Z«ZkZJZ=Z9Z5Zb aÆa—aWa`ß`§`v`D`_à_®_x_0^Þ^…^1]Ú]}](\â\š\C[î[[,ZÊZlZY´YMXæXX"WÉWnWVÆV{V7UîU«UwUTU/TüTÆTTcT:TSáS¾S¡S€SaSUSXSUSVSPSES2SSRÖR¾RÃRÉRÓRÙRìSS)SCSaSƒS³SßSúSüSâSàTTITšT×TüU#UOUˆUÙV,V~VÍWWiW¯WøX:X|XÅYY{YÕZ%ZbZŠZ§ZÁZÙZû[&[T[˜[ç\N\¾]3]²^/^¶__Y_±``o`Ça(a”bb|b÷crcådFd™dÒdôe e"e5eAeDe@eNeie—eÒffrfÊg7gŸhhSh˜hÕi i>ihii¯i½iÓj(jKj@j—j¢j_jGjNjvjcj?j@jjk)l‹mPnnºn©não*o!oboAo,nŽn%múmémßmÅm¦mJm lòlÅl¤l’lœl©l½lÙlþmm&mFmlmkmhm„mmmmLmNmRmmÐm‹m`mmmmcm:m/m:mMmjm}mIlÿl´lolJlkÑkŽkLkj¸j^j i®iVihÖh—hhôhÿhyh/hgäg¯g|gHfñf·fŽfKeýe•e1dËdldcªcOcbžbWb5bbCb“ccœcõdcgbÅbtba˜a,`º`M_ß_u^ô^`]ã]Y] \­\l\C\P\‚\¬\ð]¥^±_”`_Ú^Ç]O\8\«]^=_ñ`_6^À^S^Û_Ú`F`r_^8]\›\Ç\ô]$^b_î_Ú`#`i`d`;`r`Øaa a a0a `ü`ìaa_a¬bb4bžb¡bšbÑc„dWdðe4e„e‰f"fðd¦búb…bÚcËe|fÒf`døcLccSd cÁaéaZ_ø_'_*_T_a^¢^^_ _@_R_m_T_T_i_x_P_9_F_Ó`0`·asdfg‚gMg‘glggáh]hÒiÁifi{j¦k8j£hf·h5jZk¾lÂmtmæn4n›ooIo[o¥p3pŸpàqq3qHq(q-qpÿp¯pƒpLoÿoåo£o×p'pÂq*qvqq_q,qprœrÓs‹v‡wÑx8xJx0w|x™{){“xÖwÜxòy>x‚wôw:xwøt`rLqFp¤o€nNnnñmâmLlxlkºk´k˜k:kjÌjàjÂjðk,k„k¹k½k^jÆjXiùjGjjxj³k,k¹mÛo‹pØt3u tòtis¤rÞr+q@q¦ss-srðq¶pn¯n¬oPoooËpKpnål]hre(c”cÒd¿eþhi¸ihhbgãgÇg¢gfvffthMi›i-hFhŸiôj•jokk²llÕm©m5l½lil²lémQmÞn.nXmÜmÄmklÙlkHj4kl>k¶jüjøk@kÏl kÜkl l¢lœllÏm!m l²lŒlwlGlym]mÎmDl±lÆl>lml¼lÝm&m*mMmBl0j~iKi.i{i„i³iÚjjjj$jjjjCjajŠjµjðk)kkk³kîl"lRlilwll’l˜lœlµlàlÿm%m[m”mØnnUn o!o½pRpºpÖpøqRq¢qírAr`r“rÞss6sHr°q2pÊq q0q_q“qÔrrNr˜rÓss&sGscss‹s¦sªsÂsÃsÝsäsõtt&tVtwtÍt¼tØuuIuÅuãvvqvzv´vºvÍvÞvÄvtvZvPvGv6v`vlvv´vþwXw­w÷x7xgx‘x¸xáxÿyy)y4y@yCyHyHy:yxøxÜx×xîy y0y\ypy›yÏyñzz"z5zIzdzvzyzvzqz`zRzCz1z$zzyñy×y¾yŸyy\y6yxêxÎx±x“xnxNx/xxwîwÔwµw‘wiwi•h€gãgVfºf6eÒe}edªdKc÷cÁc˜cucQc-cbÝb¶b…bQb a»aZ`ò`ƒ` __ ^‚]ö]t\õ\|\ [¢[B[ZÞZÈZ¸Z¶Z¾ZÓZó[[ [A[\[~[Ä[ú\ \[í[ö[ç[~ZÑYøY}Y™ZZÝ[Ü\o\­]$]¥^^t^Æ__=_w_·` `V`œ`Æ`çaa&a?aia”aÊbb/bIb]bzb•b·bÍbßbìbébåbÔb¦bˆbNaøa´afa`Û`®`‰`^`.`_Ö_§_e_^Æ^n^]°]Y]\Ñ\}\,[Ø[ƒ[#ZÇZsZYÃYaXÿX¥XLWöW©WlW5W VâV®VyVIVUÓUžUqUVU.TýTÑT¶T¡TŒTxTaTTTAT-TSùSÑS«SSrSfS`SbSrS†S¥SµSÈSßSúTT0T?T>TKT_TŽTÈUU0USUzUªUèV5V‰VáW2W{WÀXXAXuX®XêY:Y”YóZKZ‹Z¼ZäZõ[ [ [?[l[©\\j\Ü]L]Â^<^¢__M_£``m`Åa a†aúbpbëccc×dHd¤dçee,eBePecejece[ede†e¹eúfIf¢ggfgÇh%hoh¯hëiiSixiiœi¬i¿iÚiÞi¶i»iáiýjiújjjiÉiŽj?lxnnèoÉpLpGpcpRo—o_ÿ^Á\Ï[§[Æ[«\z]x_B_`^á^ª^!^u_À_]¢\™\A\’\•\~\Ê^^þ___¬_¯_ï_ý`)`v` `‡`|`Ž`‘`˜`¡`Á`ía+a—a«aãb7b^b‡bãcxcÊcëd7dseDfœetcådIdde‡gbhQg³eNded–eefc¥aîa b{dÈeµeG`‡_¢^Ã^v^Ó^Ê__‚_€_‹_‡_§`+`‚`îaAc¤fg2ggg(f¾fŸfÓgŒhli+ibi¦j jÙk•ktiÚh³i¸klOmmŠmÒn*n‰nËnno5o¾oôpQp˜pæqq#pâp¸ppNp5po¬o.oÖp„pÊpñpßq*q'p±q"qkr]suwBw¨wïwØwkj®jÈk kvk•lÁoÚqÚt2t^tãvMwx!wzu!rªpYnÕnmo\pwpørsNrIo“n+mèoVp´p+oFn mµm›kÏfîca®bcÂffhgf/f•ghJh˜hrgëh2hõhLfÇf¦gæhùi¢jâkêkõkÆkxkjðk•kÆllÍmÊm¼mƒm…m•mGlrlkèk­l)ml­kÌkKkk‘lAlkêlkŽkäl*l]lnl{l€l“l‰llœl³lØmm:mhmŸmÕnnMn o=oíp€pÒpÑpôqEqŸq÷r@rcr—ssdsrsHsqðqTq|q•qÁqðr+rmrµrös0s`s„s¢s¯sÁsÈsØsÚsësïttt)t&tNtmtƒtÅtÓu:uìvzvÆv¶vævÎv…wv¦v±v«v·vwv_v`vKvSvmvvvœvÆwwzwàx(xhxœxÇxëyyy1y9yAyIyQyWyPy?y!xùxÑxÀxÌxÜxöy)y=yay“y»yÞyözz.zHzUz[zYzPz>z0z#zzyðyÝyËyµy›yydyBy$yxèxÎx²x”xlxEx"x wïwÕw¶wwfwAwvåv³v|vGvu·ueut®tKsØs_rérsrqŸq3pÊp`oóoo)nÒnzn!mËmmm l¨l@kÚk|kjÄjmji·i=hÆhVgîg‰g(fËfkfe’e&dÁdldc¹cObæbžb|b¥bòc?cªddƒdîeAeŽeÚf#fŒggh h‡i i‡iÄiÍi¿iÆiåj%j_j}j°jÙkk,k%kjñjäjØjËj³jšjzj\/\&\[Ë[nZûZ¯ZªZÌ[E\%\Ó]3]›]ø^Q^‘^Â^å^ø__@__Â``5`Y`i`€`ž`Ê`îaaYa–aÍaüb1bjb¯bábþcccc bòbÌb—bQba·aWa `Ø`¯`…`Q`!_û_Ó_“_H^ó^ ^M]ô]œ]S]\®\g\[µ[Z[Z¾ZuZYÆYuYXÇXX;XWòWÍW”WVWVçV­ViV7VUóUÓU²U™UˆUqUSU3UTíTÒT³T˜T{T[T=T$TSýSóTTT'T1T:TPTXTYTVTZTyT§TãUUQUvU™U¶UÜVVYV¤VîW3W‡WÉWþX:XzXµXâYY^Y¯Z ZeZ±Zé[ [,[@[O[e[‰[Ë\)\\ø]l]ç^X^¹__B_¡` `p`Êa"a‚aðbebçcecÝdMd¬dþe.eQeeere†e’eŽe€ereyežeÒffrfÖg4ggñhCh‹hÊhüi+iOini‹i¦iºi½i¼i¿i™ioiziËiûiÁi“iŒi£ijl'n§nÉnÀnío"o=onýnÓnn/nmåm³mm€m^m8m l©lklkïkþll2ltlÃlÀl°lïm%msmËn;n€nanunqntn¦n}nPniŒi½iõj3jejŠjŸj—j•jÞkMkˆk}kklk[krk´ll:lclhlwlrl|lllŸl°lËlúm9m}m¿mïn"nWn¯oKoËpp`pšp÷qOq±r r3r_r¼sKs—sŸshs.rKqÎqçq÷rrFrŠrÅssCs…s°sÎsãsñttt tttt$t!t>tAtytht±uuWuw›u©vw6v¶v•v›vÄvšvovvvqvcv`vYvGvevkv}v¥vÜw0w—x xPx•xÄxéyy y3ygÕh]hÐiKiºjjJjƒj¯jÜjöjþjòjØj½j¨j©j‰jtjbjQj8j&j;j†jèk jPizh»hg—g$fÒfmf&eåe’eCedÀdkd+dcåcÉc®c~cGcbßb³b€bHba«aG`Ó`W_Ô_P^Ë^P]Ö]_\ò\\B\[Þ[Ï[Ó[Ð[Ù[á[ö[û[î\\3\C\^\u\~\z\t\{\w\h\\\?\[ð[Û[Ù\\™]J]Ñ^!^\^“^¿^ß^ð^é^Ù^æ__N_„_®_Ï_Ü_á_å_ÿ`%`Z`œ`æa*asaÊb!b†bçc,cNcScOcEc*bùb¿b|bAbaÃaja"`ë`»`Š`L`_ê_¼_‡_0^Û^“^C]è]”]B\í\§\V[ð[˜[L[Z¸ZiZ"YÕY…Y7XõX»XXfX=XW¾W†WMWVåV»V”VsVYV7VVUèUÈU£U…UdUNU1UTýTÛT¿T«T›TŒT’T™T§T¥T™T”T—T‘T•T®TÔUUmU©UÐUìVV#VUV•VÛW*WgW•WÁWþX8XkX§XáYYWY–YÛZ*ZyZÑ[[:[][q[‚[[°[ë\K\¶]]Œ^^^Ü__]_ª` `m`Ëa*aˆaëb`bÜcdcàdPd½eeOeueeše£e²e·e´e eŽe–eµeêf9f—füg_g¾hhch¨hÝi i8iViri„iši¯iÀiÈi¸i‚iMiLi…i‹iLi>iqiºj,k«mžn´n¨nUn;ncn•n}nLn&n måm¹mœm{mgmDmlñlÇlLl-l4l[lilQl^l¢lÞmmGm•mbmxmºn nTnvn“n·nÅnªn{n…nwncnpninhn]n‡nŠnGn!n mïmÔm©m_lèl{l5kök¸kekjÅjlji¤i;hÚh‰hMh/h,h9hIhAhgðg¹ggTgf·fif e¬eHdàddc²cacbªbabAb,bbaäaëbbbaÌaya5`Ú`w`_¹_/^®^']¸]8\×\n\.[í[µ[À[Ì[ [„[É[»\=]<]]\‹\ [‡[{[:[ZÍ[°]«^·_^t]Á\Ý\E[Ø[ß[¾[ï\\p]î]ø]˜]ÿ^w^Å^Ô^é^Ú__F_"_/_@_‰_Ï`` _Ú` `Y`Ùasaa”aÎaôa÷bb bOcPdÑee¥f¬f·f¡ffBg gæh1g—f}f—gggwg!e¥fFggnh•j»j­eñd€d^bxa`a`_Ê`nbØfágàgágg‰g‹gAf˜f¦féfÈf²fØgyh-hŠhäiri¥jkj×k†mymKlGkållnl½m'mªnn·npm—mªndoWpxq qp¼p9o¿ooo4oWoæpo§okqkq‘qmq q­qyq:p¢q¤s}utxýxÉwêwwÓyuw[u«v0xbwPwÌxÊwuåveuúv"x¼x’x(v¤t}u*t­ssÒs½tIsiqpp5m[kRlŽkzklƒl%l’lolSl+lmÃnœmÇnšnÇnÌoMpq¾s‘tÝv"wv¦u{tãu{uûvÀx&wÂv7w6xTxwxw«wSv¼v~u©tÑtçu”uBs;q$n lÎlÈmdl˜iôf/bœbaêa\aSaœa°b5cd¢fHg”h°hPfÕe÷fWgšiyjei6i¶k k¿l?l’lklkXkÓmlálIlOlHl9lcl«l“l+l‰nn—mŠmlUlLlwl_l]lßm`mwm8m mlälçlælÎlulâmmml\lckÅkÊl5l7lwm+mˆm/ljCiSi{i½iøj8jzj¦jÈjßkkVkÖkókôl)lHkûkÓkÌkäll>lWlillllnl}l‡l—l¨l¼læm%mmÞn-nfn—não;o‹oâpGp®q qdqÅrr&rDrœs.s‘s²sus"rzr6rDrKrir˜rÒs sMs‚s·sât t(t?tHt7t3t-t5t2t>tFtXtetƒtƒtÞuùv(v3w×uèv¬w8vÄvåvºvºv™v‡vgv?vWvEv6v=v[vfvˆv¯vôwBw³x&xlx´xâyyy4y=yFyIyIyLyTyUyUyGy&xúxÉx¤xxŠx‹x§xËxüy!y@yhy’y»yâyúz zzzzyùyìyàyÓy¾y¡yŠyty[yAy%y xìxÌx°x—x„xlxDxwÿwîwØwºwwew5w vÙv£vhv+uðu¯ukutÉtits˜s-rÂr`qûq–q:pÚp{po²oPnìn‡n(mÅmhm l±lZlkºklk$jÙj‚ji¬igÞg‘gUgff*eÉe‚ePed½dcbÍb‰bLbaÑa{aAa`Û`›`Y`!_ç_³_]_ ^Ã^}^4]å]”]E]\·\U[ó[¦[_[ZÆZ€Z-YäY YaY%XùXÈX’XaX)WöW¿W‹WVW)WVÚV¹V•V{VfVJV/V UìUÐU¾U£U†UqUZUEU)UUUUUTöTåTÌTÙUU)UoU¸U÷V)VLV]VoV—VÕW&WoW¥WãX X-X\XˆX¸XéYY^Y•YÔZZNZŸZê[4[j[‡[ [³[Æ[å\\i\×]G]¬^^‡^÷_=_t_¸``i`Äa0aŽaõb`bÜc_cØdRd¼eegeše¸eÇeÑeÛeáeãeÕeÀe´e·eÎffVf¾g(ggíh6h‚h½hîii9iPifiƒi¯iÍiÕiÏiºi|i1ii5iDi-i0i…i¼j}lƒmDmAmƒm¢mânnDnXnEnmêmÃm›mtmTm3mläl´l|lVll‰l€lLllâmÖlfjoižklÏnmùkèjqk=l‰lÙlÈlælsl¯m lÀkÿlNm)nMnümÇm°m l{l‰lžl±lémOmŠmFlñlÔl¿lým lËlEl]lœlslNkËk’k¬lllElÁlðlìk€i•iJiÈiñj2jbjŸjÓk k7kmk¤kíll1lal{lhlNl2l&l@l_lflnl€lnlql€l‡l•l¥lµlÕmmbmânxnÓoo6o[oªppppÑq'q‰qÚqær rgg×hh\hhÓi#iwiàj7jlj³j÷k'k%kkk5kPkfktk—k½kfk6k:kBkCk7kjöj×j¯jjpjVj9j%iëi›i\.]`^É_¤`)`ºa?aÈb>b³cc\c°ddrdèeqff¦g:gÔhShÄi7i¡ißjj!j2jLj_jRj4j'iëiÏiÑiÄi°i¶iÎjj_j¸jójhtgžgGfòfÀf¦f‚f]fiViki‘i³iÉiÔiÑiÁi{ihÖhéii hîiWi®jLll£l¨m mEm…m¾mØmèmèmÏm±m•mpmBmlølÙl«l—lplƒl·lkl\lcl¤m@m‹mæn m¾mÆmßm…m/m8m1mImæninhn`ndninŽn±n»n­n´n®n¢n‹nqnynnnnm€m8mllClkÃkyk!jÊjpji±iJhóh¬h‰hsh]hXh[hLh"gêg¸g|g3fçf‘f7eØeped¢d0cæc£c5bÊbbcbJb=b(a÷aÃa°a›ala2a`¶`„`P`_Ã_J^À^X]Ô]c\ý\…\/[ï[ã[Ž[r[I[J[c[[®[–[£[°[°[Ã[«[b[f[%[[ZêZÙ[[ [[9[Q[z[‚[w[[—[‹\\É]S]›]@]#]•]¿]Œ]Ÿ]Á]Ò^^^X^^Ç^Û^å__>_”_Î`.`ˆ`½`½`î`ÿa'a‡aÌb"b½c7d'e«f"fög¯g×h g5fÂfãfÇfbf¾gRgufÎe±eveûfmf`fäh1j!j¬kIl2j’jJhg5hrg‘fØf½f´f°f~fŠgg!fÓfág fÊfOfygOggÊh:h‡i}j@j€jùkœkÀksk[lEmm^mÍnn½oroGnÑnjmÎmÎnAn5m mDmVnanSn_n·oonÞppÓp£q±q;qqq8rÖvëy xÉy7xdwåw6vzu¯zÑy/xƒw¶wexwÍu´tJtÞwÕv6uhxjwÄxyëxkxÅxŽunvOvèvÌv¬vw/zIy8t²tgs/q_q8pp|odn´ozo½pp×qÏs`ušwIwÚwÛx‚x²wXt…téwwµxx³xÔwówavöv°viw€xwvv¥wŒx’yxÐx€w”vôu˜uVtµsÛsks…s½r>pclÎkÔmèn nÁo4mßl=m(k6gifnh¡l;môoqPq;n8jjj™l[ll•j·i;ièk‘lãml¹l—lùm kÞj¼lmän©nmòmµmJl½lql¥lëmm"mEmlØlÍl­mm6lÈlTl^kÿk k«k_kHkl këllVûVÏV¬V®V³V×VïW4W›XXWàXX™YŽZ1Zû[Û\×]Ê^»_š`faaÊb„cLd-e eþfâg¹hkii¹jhkk§lKlòmŠnn¬oEoßpyqqrr{rösssýtu%u©v.v¥wwrwÎx&xzxÍyymy´yòz-z[z‚z¥zÇzê{{={c{{—{­{½{Ñ{ä{û| |#|2|C|N|[|h|o|s|u|z|r|l|^|K|-|{â{²{„{Z{+zýzÊz”zWzyÏyy*x»xDwØwLvÒvduðutÝt=sÇsVrÏr=q§qpXo°núnHm}l¼kòk>jyiÙi*h‡gëf»efdcûc…cbÔb¦bšb©cgcÂcã`µ^ª^Î^ª^^<]i[©YïZ®ZYS`RîRUSTÂS/Q·S¤UNDKÊIÆIIvIðJJŸJ¨J`J•JóKPKÝL¸LÉKÞJgIJ,KFL$L»MM¸N©O‡PHQ'RRîSáTÑU£VTVåWSW½XFYYò[ \D]€^Î_É`.`a#aaêbAb©bïc4cŸcýdcdäe~ff¶gIgÞhVh»iiui´iÜiòiøjj iâiÀi«isiTiPiqi£i×jj7jj6iZgõgW:W9WMW|WÂXXhXžX­X²XÕYY?YeY“Y¼YâZZDZZ¿Zø[I[•[Ñ\\,\F\N\\\‚\Ì]+]”^^w^Õ__d_¢_à`+`v`Ía3a¡b bqbàc[cÚdMdºeeyeÉeûff'f-f1f4f0f)ffeòeúffKf£gg~gîhNh‘h²hàii.iGiQimi›iÇiêiæiÑi´iwih¬h´hähôhÄhÞiKjksl)lRl¨lîmm@msm¦mÇmÃmµm~mDmlòlÑlÐlÁlºlƒlÆlöl©l¸låm+m•m¸mËmÒm»m¤m•mrmOml¤llllâmimín^n‘n”n•nžn”n¥nªn­n¯nŠnƒnonCmïmmGm l¼lbl kÄkvkjÉjujiºi\ihÏh¤h‰huhihghRh'gæg«gug'fËfwfe²ePdÞdod cÆc€cbÄb‰bcbKb?b(aêa¦a|aDa `Ç`Ž`‹`õ`ü`._~_/^¢^&]×]W]\‹\'[ä[Ï[‚[L['[[=[V[i[R[Q[a[R[H[ˆ[‡[i[h[,[[.[,[S[†[q[C[X[Z[G[a[^[M[][µ\l]]-]4\ÿ\ì] ]]K]f]b]x]¨^#^]^o^ˆ^^™^Ó_5_z_¤_Ú``E`ƒ`•`ÉaWdW´XX¡X­XLXZXåYÕZo[3\]^^ó_Ë`ŽaBaîb±ctdTe0f#ggØh‡i%iÃjlk k­lRlùmŽn#n·oPoëpƒqq–rrrùs{t tuu¢v-v¨wwuwÐx#xrxÃyy_y¨yázzDzhzŠz¨zÌzò{{B{g{‚{”{¡{µ{Ç{Ü{í||||&|3|C|G|M|N|O|N|C|7|$|{í{Å{š{m{D{zâz¯z‚z:zyºyfy x—x;w¿wv¡vLuíu…tßtBsÃs9r¶r8q—pÿpIo£nän0mhl¨kÚkjci¦ihRgªf­e|d;cocbØbÆb¸bºbÔcPc–d]a×^*^j_?^ë^c]«\[^Z>YíY XGVUVGV8VÈV²VÕWW6VGUÍUžV\UBSNSˆTnTäTÇS¡R RnSAS6S‚T}TÀTeTJSQ‚QQP£Q5RÑR@N/KÞIúHùIMIÁIßJyJkJ9JVJnJ¯K`LlL…KpJIuJ"K KàLULâM°N¡OŽPLQQõRðSóTßUÄVqWW†WþXŠYcZ€[±\í^*_A``a4a†a·bb_bªbác,ccòdadêeŽf'fÄgXgÚh?hhäi>isii¢i®i­iŸi‹iriCihùi iXiñjbj©jiNigÞg&gfñfàfÈf¹fŸf‡fif9feÑeeUe dÃd|d;dcÀccBbýb»b…bIbaàa£aha`Î`…`8_Ý__(^Ú^–^W^#]ÿ]ß]Ñ]×]í^^I^\^^^g^p^w^^±^´^Á^Ü^ó____ __ ^ñ^ù_____Z_£_Ë_ä``4`_½_j_>_ ^Ê^¨^©^µ^¯^»^º^ˆ^M^]­][]]]9]Ç^~_S`2aaÊbpbðcIcycªc¦c…ccc5c bÜb‘b?aýa¼aia a`æ`­`v`:`_Î__M_^µ^i^]È]}];\ÿ\Á\x\&[Ø[ˆ[C[ZæZÀZŽZKZYÂY‚Y2XðXµXwXTX6XWëW²WvWIW-WVôVÝVÚVÅV¨V‚VfV[VQVOVKVFVHVXV|V´VôW9W€W«WÅWÈW»W³WÈWïXXVX’XÉXèXúYYRY„Y¶YÖYðZZ4ZiZœZÑ[[I[·\"\[\‡\¥\´\Ä\Þ] ]\]¿^4^¥_ _L_|_²_ð`>`‹`Üa;a¢bb~bêcecÞdQd¼eemeÊff2fIfRfYf_f_fZfOf:f(f#f(fFf}fÇg)gžh hdh§hÅhðiiræq¼q¿s:sûs¹qklokÝn5l±kgj¸jäkxj0j}jÞkCjµklEl½llônnUnmÙmÉmmelýl²mm{m€mVlìlxl’lgl™lÏlkmkRkkk%jôk!kHkÇk§kik jziüi i²iÂiêj)jaj¡jçkkNk{k¥k¿kállClrl™l°l¬l´l¯l¡lšl˜ll•l“lœl¢l­lµlÌlèmm?mym°mìnCnÄoWo½pp|páqLqšqÖr-r}r¹s%s‘ss•sysisxsrësss7sXs‘sÀsÚs÷t tDttt·tÖtèu tätÀtçtÍt·t t£táu u8uxu@uBuvgv@wˆv¤v§wv•v}vjv&uÚu™u²uºuàuÿv3vXvxv´wwLwwíx$xGxdx€xxŸx¢x¦x©x³x½xÑxàxôx÷xóxÞxÄx¥x†xvxvxˆx£x»xËxÙxåxïyyy y(y)y.y.y.y(y*y.y2y-y(yyxìxÊx®x™x‰xpxRx.xwôwÍwwtwMw'wvÝvµv’vgv3uüuÂuƒu?t÷t¦tUsýs¥sGrçrˆr(qÃqbqp¥pFoço‰o2nÚnwnmÀmgmlÃl|lAlkúkËkŠk:jÕjfiòi}hùhvh g±ghg1fîf„eñeseDe`eÃf8f›fïg:gygàhsi iŽi×iùjj:j„j¿jïkkkFk|kºkôll,lFlGl;l#l*l%lkàk­kk¤kžk‘kkUk%kjäjÆjËjšjƒj€jRj iµi^høhŒh&gÖg”gOfòfžfZfeâežeCdÒd;cœbôbQa´a(`¤`#_¥_4^¼^6]¥]\…[ö[WZÂZ?YàYžYSXôXjWôW®WWsW]WHWXWmW¦WÐX(X”YY(X˜X¥Y0ZZ­[n\V]N^C_'_ü`·anbbÔc—dteWfEg*g÷h›i5iÔjxkk´lZlümŒn!n¾oXoïp‡qqœrr‡rÿs‚t tuu¡v-v¨wwrwÈxxix³xÿyIy‹yÈyúz(zMzkz‹z­zÏzø{!{G{b{u{†{•{§{¼{Î{Ú{é{ð{ý|||||"|||| {÷{ã{Ä{ {w{J{zîzÆzŒz]zyãy—yExêxqxw¬wvvFuÞustÛtBs°sr¡r.qpòp9onÏnmLl‹kÓjþjTi{hàh3gefezduc‹bÕb‰b bÅb±b÷ccYc÷b˜]ç]§^Ï^©^]]\I[ZYÆYNX`V(VäV³VêW:VÄVäVûVlV/V¾W¾VÿTSS'S$RºQšQRäSðTdUVTV UU‰T·R=P—OíOßOÛP)O L^JwIjH IIcIÕJ&IþJJ#IìIÜJÈL1LJ¼I‡ITIøJáK¬LELçM®N¬OœPfQ:RSTTòUÔVƒW W¯X*X¹Y…Z…[\]v^†_q`,`åa5abbcb¥båc8cŸd dzeeŸf6fÓgZgÐhhYhµi i9iSibiaiCi8iLi^·__2_Y_t_c_Ž_Ø`.`]`N`¯apbGc¼cˆc-dÆfïg”g¡hgÔgzgÊg²fíggIgŸg}g/g…fïffeúeee)e e-eDeNeGeHe+ee%edØd°d|dSd›dõeŽe2efh hÏi iiTiójžkk>kkkkvl•mam–mjlým)m,mmlÓlŽlRm)no&o®oóqprÚrÀsks§sQsòtsÇs6r‰qærtÉtÅsOrís¥xrt«sêvt´tQbQkRMSYTpUUæVþW UâUÇT¶R¸PÂP}PÑO˜OM˜JÝIåI[I9I¥IÊJJJJMJvJI_IôKCKI¥HèI?IÅJ™K`LLæM£NŸOxPHQ RSTUUÛVŽW'W«X)XÑY“ZV[(\] ^:_ _½`X`ÉaWaÙb.bbícIc½d)d˜e(e¼fQfágUgºg÷h9hŽhÉhði ii iiihúhÊhŸh´hÅhõh£gíh@håhxgºgfäfáfÜfâfÆfªf‚fefXf(eãe–ePedÑd‰dAcúc¼cuc(bãbŸbbb%aía¶axa>a`É``P`_ä_Ì_­_ˆ_X_1___ _ _9_J_l_Œ_«_Ç_î_ý_ó_æ_ò``2`E`Y`h`f`^`T`O`A`,```````&`,` `_×_•_x_[_N_5_#_F_^_J_"^ù^Ä^^7]ë]•]?\è\¦\}\º]™^’_^``¤aŠbJbÅc:cxcŽcœc–cˆcfc1bòbÅb“bDaðaaVa$`ä`¤`z`V`/_ö_¿_…_B^õ^§^M]ý]¹]~]E\ÿ\¹\m\%[â[¬[s[5Z÷ZµZtZ5YøYÌY–YdYEY2Y(YXðXÁXXaXSXLX@X+XWõWÌW®W£W”W‡W{W”WËWüX0XjX¢XÈXßXÕXµXŸX¨X¿XÖXçXãXïXýYYLY†YÅYöZZ9ZGZGZWZuZµZÿ[<[‚[Ö\O\À\ô] ]]C]{]»^^^^º____›_Í``8`o`¶`þaSa±bb„böcpcèd]dÉe*e…eÙf(f[f}f‘f›f¤fªf¶f·f´f f”fff¡fÂfðg2g†gçhMh–hÆhëii7iMiaiƒi¥iÉiæiëißi¼i“i=hµh=hhhh-hfh•hi„kém‡mml•l9l3llömDmYm.mmm3m\mqmªm¦mšm…m‰m§mÃm¾nn>nLnCm¯mYm`m–mçn*n&n#mÅml‡lkÒkÄlKmmBmqmÝn"nInnn¤nŸnhnFnmÐmªmgm,lúl²lYkûk¼k†kEkjºjWiìiŠi@ihÊh§h‰hshVh.gúg¾gwg,fÔfwfe¯eEdÕdnd còc•c-båb»b”bubKb!aÚama `¬`Q_è_t^ì^c]â]‚]8\á\™\º\™\k\c\P\[Ñ[¥[^[#ZÈZ‚ZzZ~ZtZfZQZIZkZ…Z³[[[[![1[[ \]]*\s[º[^[W[>[D[;[[[.[Þ\à\h\W\^\Z\¸\ø]^]ç^L]è]—]ˆ]€]‹]›]¹]â]Ú]Ù^I^Þ_'_6_M_$_!_Y_œ_³_¨_±`Kaaûb7b¦egçhúhTh/h4hah gÈgfäfîgg fÆfšf5e°esdëd×dÕd÷dØd•d‚d¶e/e d}d'cõcäd.ddÞdîdÝd¾dÜeTfÆhÆi€i7iKiÅj jWj£j†j\jòk¡lumÆn#mkÊkqk~k kÒkékûl lÑm¬n‹o8oçqÿrýr÷såtYsòtltÃtþtšsr8s‘t?ut®s‘su rr=syqpÞp‹oÃoŒptq´rsëw2x²y;zt}tœsïrNqÅsr×q™p—poéosp&q˜sMuvÀw9w+wuDsQq—oúmKkjökj¶jõn2o×nlLlInBo\nyk6jhjíln‡oin—n!mämymmUl’l«lÌlÀl÷lâl^l)k£k/kAk+kk k$kMk.kk5j±jYjOj&jiàiÊiÛiõjjOj~jªjÍkkCkzk kÍkñll4lill†ll–l§l¤lªlŸl¦l¥l±l·lËlÐlàlëmm.mem˜mÐn!nUnŠníoppspÚq"qiqÃr&rsrìssªsžsuscs?ssrórùss7scs|sªsÎsìs÷t4t°uusu¬uuUu tátªt‡t{t–t­t±tÜu u tÛtªt«tätïuIutïuÛuµu‰u‘uLunuusuVu`uŒuÆuûv1vYv•vÊww1wdwŽw®wÇwßwöxxx#x9xTxrxx«x½xÄx½x­x‹xwxixox‚x xºxÆxÅx»x¶x¯x³x¼xÂxÃxÇx¿x¹x¬x«x¹xÒxâxàxÖxÆx®x—x~xixUx=xw÷wÚw»w—wnwCwvÝv©v{vJvußu¦uiu*tât•t?sèsŒs1rÓrrrq´q]qpµpbpoºojonËnvnmÉm{m3lîl¼lˆlXl)kýkÀkpkj¢j%i§i-hÇhŽh\h1h g¾g;f¸flf\f…fàg\gªgâh"hQh¤i!i™jj‰jök,kk%kqkÇkûl+lOlXlOlgll«lÈl·lŒl•lÁl¶l‘l\lkÚkžk‘kk~k†kqk^kHk%kjõjÅj»jŸj\ji¸ifhñhhgÌgƒgCfõf¯flfe×e„ed”c÷c^bÅb/aa`™`)_¸_F^Ê^B]²] \•[÷[^ZÉZMYÔY^XæXsX WõWþXX"XWþX X+XmX¦XüYlYÈY×XéY Y¼Z~[/[à\Ý]À^º_Ž`ca a´b[ccÝdµe™fˆggh"h½iQiéj‰k#kÅlkm m›n.nËoeoþpŽq!q£rrss€sût‚uu˜v&vžww_w¬wôx6xxx¸xýy@y„y¼yèz z(zMznzz¯zÖzý{{0{?{F{V{c{x{ƒ{Ž{–{œ{¤{©{®{±{²{±{«{¦{˜{‹{w{`{>{zñzÅzœzfz3yùyÊyŒyFxüx¡x'wÈwfvûvvu–uFt¼t"srñrsrqtpÆpoVn¤mÖm!lbkœjÞiúi:hzgÑg8f~e¦dÕcùcbIaÎbbÕc˜c¾ddað^`]f^^i]µ\é\R[ZŒY˜X)VÒV6V>VeV—WEVïWV¤VUæUâU¨VU~RQ P¸Q?QÅSSýTÚUYV0VþW$VDUDS¼R‡P]PiP¼NˆMéLÌJÞJIåJ.JÍJÑJªJ¸J©J]J-IÊI+HóIgIGãGüII·JtKK·L MvN…OSPPøQýS SôTßU¹V‚WWX.YY°ZV[C\0]-^>^ô_Ž`(`¢a)a¤b bkbæc`cÞdKdÀeIeØfffægNg˜gÔhhShzhšhºhÂhÊhßhÛhËhÉh˜hqh¶hh_€_»_ó`+`[`’`Ïaafa»bb€bðcjcâd\dÌe.eŠeàf+fbfˆf¤f¸fÂfËfÖfãfãfÝfÒfÈfÇfÊfÝfþg1gog»hh`h§hÝii)iDiXiui™i´iÄiäiôiçiÊi…i"h¢h?h+hh*h2hbhßhh­j.k¬minm¥mmˆmjmmÃm…m}mÃmÍmÅmön'mþmÖm±mßnnmÍmómýmám×m–mmºnn_nƒnUmüm‚lôlAk­kˆk€kkŸk¸kïlKlžmm³nnnmámÄm¤mdmlûlÏl~l3kñk¼k†kOk j¾j_iôi™iEihÑh¯hŒhlhPh"gàggYg f·f\eûee%d¹ddd$càcpcbãb¸b”blbCbaÆaL`ä`‚`_ _ ^’^]¯]p].]\Ñ\©\\V\:\[ä[²[w[(ZÉZZNZ*ZZ YúYìYøZ Z9ZmZ§ZçZþZòZúZÝ[ [z[¬[ž[…[S[I[Q[:[@[[#[ZÊ[\\U\p\{\©\Ö]]]ƒ]µ]Ø]Ÿ]T]%]"]B]Z]Œ]¾]Ê]Î^!^£^ö_$_2^û^Ñ^Ò^ï^þ___p_ø`\`‘aîeJgÁhhQhih5h¡hYh¼hÀg4g gqgzg™gf(e‘eSeedÊeeve edÊdZdLdZdEd,d/dSd>d6d/dddSdReµh-hfg¾hXi£jEjyjój÷jj¸kPlLmÖnxmVk¨jãkkgk¦ll l"lÑno]pšqÓrórïrísÕtit©tïu!uXuŸutptPsÀt;sår×rAq³pÏqqÃoén„n mTm=mènãoTq*u:xÙzDy¨y?zrzzXz­yàwÒv·xJxïy#x"xã}O{X|ª{ízŸz~ztz,yex1xBwßw—w=wx:wÉt¢ttÝu v­wêxwÁwxUx°wØv„tètâu­ww×xEwÄv²wqx»y¥z%yÏy‹w­uFubv¤wÓwIuŒv4wvluTt$sGrãsÆtƒtrñsrDrr²qýqBp\oÙoåp™r7s£t…ujvv+uðuyso#lîl9lmlÚm„on‘mm²oÈqqoôm k¾k¿k}m‹o4o/n˜nmœm/m6líl¯lÍl©l»l`k¼kckjîjÙjÎjÚjÖkkjûkk jêj²jxjTjNjBiüiáj jBjˆj°jÙjñk%k`k§kÔkùllElgllˆl‡l‰l’ll¤l«l¢l°l±lÃlÇlÝlælûm m.mVm”mÊn nXnŠnÆo%oŸp*pÇq0qZq{q¼r"ršssasYsVsJs+srërÛrårñssAslsŽs¬sÊsót.t¦uxu‚u˜u¯uiu:u!tît°tctItrtHtAt¤tùtÓt§t~t@tQtgt»tžtufuLu7u'u uKu„uHu+uBu^Å^5]ª]\™[ý[[ZËZHY½Y;XºXQXX"X>XeXmXeXQXYXŒXÑY Y`YÛZ ZYY0ZZµ[p\!]]ÿ^ò_È`“a6aÔbzc7cüdÔe¹f§gh7hÈiYiõjŽk%kÊlwmm¢n0nÍogpp”q!q rr‡rùsvsïtttùuvv˜vþwUw›wÝxxLxxÎyy^y‘y¸yázz*zHzmz‰z°zËzí{{{{!{0{@{N{X{e{k{p{u{v{z{w{y{m{h{Z{M{9{&{zæzÂzŽzbz,yýyÆy˜yUyxÉxwwñw—w>vÑv`uÝumut˜tswrØrYqÞqXp¨oýo7n~mÅmlRkj¹iâi h]gÆg"f€eÆdüd&c\bYaza%aÐbîd1db8`q^­]Ü^1^]~\¹[ÚZìZ=XçWÉWVVZVÂVÌV­V©V‚U¦UÞVbV T—TÌU¢TRžQÊRR£SÊT}UUŸV†WSW‰WU´S®R†O»O£OÍMeL»KúK2JàKK|L"KýKgKJ¶JHIÉIQH·H'HƒG}F@FåHvI–J,J¡K^LRMkNŸOUPPîQãRÔSÉTÏU©VZVöW€X9YYÔZ£[¼\¥]^`__Â`R`©aaraæb]bæcgcèdVdÖe]eëfmfÚg7gvg«gÞh h)hHh^hlh‚hˆhh¦h•h_h-h^huhg¢g"fÆf›fÃfôfìfØf´f¬f¦ff‘fZfeìeÄeene9død¶dod'cÙc‰c;bòb¹bbLbaðaÁa’a]a+a`à`Â`¤`‹`o`\`D`7`5`?`Q`f`}`’`Ÿ`¦`ª`§`¯`Ûa!a[aiamaza‹a«a³a³a©ažaža›aŠaramaSa*aa(a2a6a9a`ç`Ò`³`”`}`u`j`e`K`_ô_Æ_”_U_ ^Á^u^-]ô]Ñ]³]Œ]]]q^^¾_¡`a'bbñc„cÆcÞcÚcÐcÅc´c”cmcCc bÇb^aôa“a)aa`è`·`‡`Z`_Í_’_R_^¿^w^/]é]›]I\ò\ª\s\2\[Ñ[•[e[2ZòZÇZµZ Z‡ZhZBZ7Z9Z&Z YêYÉY²Y¨Y¢YYvYVY2YXéXÙXóYY#YbYŠY¨YÁYÇYÇYÀY²Y§YŸYžY¥Y›YzYlY}YY¾YåZZLZwZˆZ™Z¨Z×[[[X[¡[ç\/\ƒ\Í\þ])]W]—]â^+^u^Î__`_˜_Ñ``M`†`¹`ña2auaÊb&b‡bïc`cÜdTdÊe.e…eÛf*fkf‘f²fÈfÝfèfògg gggfúfûggg?gng«gùhEh„hÃhóiiAiTiii‹i°iÂiÈiÜißiÉi¥inihƒh(h!h+hAh]hwhÂh’hšiQiâkNmHn-nÙnxmÍmÝmåmîn5nUnncnÌn»n\n,nm·m²m±m±mÍmºm«mÄmÜmþnTnØn©nHncmÞlælMkÈkfkEkHk:k6kMkukºkÿlelâm6m`m`m_mzmnm(lÞl«l€lEl kÙk¬k}kIk j¹j^iði’i@ihÕh²h‹h`h?h gÇg}g:fêf•f9eÖere d©dhd&cÊcZcbáb»b”blbHba¯a-`º`O_á_b^Ú^L]á]Ž]D]] ]\ì\­\{\@\[Ì[”[LZïZwZ0ZYîYÊY£Y—Y…Y¡YÉZZ*ZVZ¹ZýZèZãZã[[c[HZÎZ¸Zë[[8[;[-[ZýZ°[3\]*\¾\©\ð\´\‰\½\÷\ø] \ý\ë\Ð\Ç\ß]*]†]©]©]Ë^^Z^—^å_^Ý^ ^‡^h^N^_^…^Þ_3_¬_°aœf5gÎgéhhtgïh gÍh:húg½g$gvgfgÕhf—feÛeCedÌdˆe e)dëdšdkddd[dTdiddcdcÅcOcc9c¹d8ešg>fÑeÜfch_*_þ`Ãa^aõb”cSddòeÔfÄgœhIhÔidiÿj—k(kÈlwmm£n.nÆo`oûpŒqq™rr‚rösosåtftìu‚vv‰vìwDwˆwÂwùx'x\x–xây4yby‰y´yÙzz!zGzaz…zzºzËzÜzåzîzû{ {{({/{5{6{={?{A{;{={3{*{{zýzäzÎz¥z€zPz yîy¿yŠy]yxÓx‹xHwÄwNvïvv%u£uGtÚt_sësZr¯r-q·q5p‹oÒonUm¨lìl6ksj˜iÅhûhBg¬gfyeÑedFcsbca` _*^Ö^s^é__I^V]â^e^¿^¼^ \ªZöZ,YX:W%VtV’VèVöVlVxV1U°UûV„UëSéTOUIUÂUrTSÚTcU,U1U)U}V'V²VïV”TÒR¯P®N6NeNˆLïLØL±LWL9LjLœLäLK¥JúJwJInHÈGÿGzGÏF}EyFLGÑIDIÕJ0JúKðM#N7NûOËPÐQÇR´S³TÆU•V&VëW¿X”YqZh[P\8]]æ^Š_$_Ã`.`€`îaUaÆbSbØc^cìd^dÜeaeâfZfÊg gRgyg±gæhhhh'h1h6hPh`h9h"h hgðg|g!fÏf¦fÁfògfñfÖf¯fœf‰fnfYf7eýeËe®eebe3d÷d»dud!cÄcvc2bûbËb–bkb=baêa¼a‹a]a6aa`î`Ù`È`¾`º`¾`Ã`×`çaa/aXada@aa a?ayaÓbb&b,b.b0bJbVbZbYbMbBb4b7b:b:baéaÛaÕaËa·a²a´a¢aˆafaLa'a`ð`å`Ì`›`e`6`_Ç__7^î^¼^™^†^t^V^3^^N^Ï_‘`I`Äaˆb§cxcÐcëcêcÖcÁc¸c§cxc4bùb½brb!aÙa˜ataLa#a`É`˜`^`"_Þ_‰_,^Ö^Ž^X^]Í]]H]\Ì\†\\\>\[ð[¶[x[Z[X[G[,[ZüZãZÆZ«Z–ZoZMZ9Z-Z%ZZYìYÑY¸Y§Y¦YÀYÁYÑZZ[a[a[s[Æ\+\r\›\Ì]]>]‚]Í^^h^·^ý_@_y_©_à`)`m`«`áaaUa”aÛb/b”bøc^cÒdOdÄe-e„eÏf fef•f³fÓfìgg gg)g2g9g2g,g(g/g>gZg}gªgçh.hrh°hçiihRhXh~h—h–hChhŠi"iõkkm>nªn¼ngnmÒnnTn‡nÂon¬nIn mñmÞmmmjmrm”m£m­mçn3n€nxnqnhmóm·m¸mll-kÊk…k5kkk&kGkckškãlll*lcl™làm>mlÔl™lXl1l kçk¼k‘knk0jðj jIiìiŠi5hýhÚh³h„hUh2gôg¯gagfÊfsfe¸eUdñd¢dedc»c^cbíb½b—bvbPba±a`›`3_º_1^¥^]«]h]]]]!\ñ\­\\R\[Ë[w[Z¯Z7YöYÕYÂY YfYJYDYBYbY°YÉZZœZøZòZî[[V[â[÷[/Z¤Z¹ZíZÿ[ ZíZêZ·ZÁ[Â^š^þ]æ]ƒ]#\Á\¼\ê\Û\¼\¬\œ\€\a\f\\Ô]F]Œ]‘]Þ^:^h^l^_^°^|^ ^]ÿ]ä]ã^^—^¸__*a¥fœh3hgÒg»g–h2h gõh1h^h^gËfþfûgYfÀf¼g eeedÚdôeJeUedÛdšdhdvd|drdNcóc;b¡bMbhc1de‰f¹f0eAeÆg7g§hjkkÉlkŠkWkÙmlék÷kµkVjèkÍm¥n‡opµq6qòrur®rÑrÃrásasëttltÉt±t¬tÝt›t sXržr£r©rmq!oîobn”n·nMl¹k¼k¸kkºlTmÂo¹rv=x^v8uÆwÍzç{t{ox©wvvvèxux¾x|zP|;}³~š|*|Ÿ~||Syšxz•zNx=x-xEv¡tÜvw‡x\xƒw‘w’wƒwÿxWxÿy{ {¥yØz&yGx/xˆxÝxÉxƒwÄwÇwœvnvLwOw·xTw¹uu³wwAwvÖuèv•wáwÒwv~t´sUs s r±r[smusnqósr}qâq¯p”o oñr´v*xVwpv7trrWqošndm£ljõkRm p pÓoÀn*mk„kémlm mím™m›mTmŸm~m#lçl¨lIkÒkek5k3kjñkkùlôl²l0kÖkÚk‰jújÿjçj¼j°jjnj:j-jLjvjºjòk!k5kTk‹kÌll3lRlol‡ll‰l|llŠll­lÂlÔlælîlïlíl÷mm)mIm}m°môn2nƒnÁooNošoúpvp÷qBqhqqÊrrvr¬rÍrÞrÚrÜrÙrÕrÍrËrìrêss;sos™sèt@t†tóu+uuHuJtþtìuuu t·thsýsÉsþt*u1tôtrtKtsçsésütttt1thtztutptntxt~tŒt{tŽt·tîu=utu­uÝvv2v`vŽvµvÏvæwww;w\wxwŒwŸwÇwòxx4x=x9x,x"xxx(x1x@xKxRxVxSxQxDx?x:x6x1x*x$xxx$x7xIxPxHx/x wðwÑw¸w›w{wXw7wvóvÒv°v‚vHvuÆuu=tøt´tqt.sîs sRrýr¨rKqóq qVqpËpŒpMpo¾omonÉn{n,mïm°mwmImlël»l…lGlk³kPjÚjjji¾iŸiri1hðh©hNhh h!hAhfh™hÈhðhþi*iqiõjrj¼jýk+k0kPk[kfk¢llylÓm(mhmmvmUmSm[m`mbmamamBmlùlÝlÆl´l¤lwl3kýkìkÞk¹k¢k–k‚kbk(kjðjŸjFi÷i–i&hÂhlh4hgÇgtg#fÕf~f3eÙe‚edƒcäcQb¾b-aªa`¡`_—_^•^]š]\’\[pZÓZ?Y¤YX¢XrXdX~X¬XãXýXúX÷XúY9Y}YáZZŒZ—YúYeYÁZ [?[î\°]›^z_c`/`òa…bb°cqd9eeñfàg·hZhØigjj›k(kÇlumm£n+nÀo[oóp„q q‘rrròsesØtUtÝupuûvuvÜw,wow¤wÐwúx%xYx­yy0yQyy¨yÖyõzz6zVzkz}zz¡zªz¶z¿zÑzÜzïzö{{{{{ {zþzõzêzÜzÈz¼zžzŠzjz=z yÞy©yyyIyxÎxŒxFxw¡wv«v=uÙuyu&t¯t&s¹s/rŒqüq†pýpfo¨nön:mƒl×lkPj}iŸhÞh4g”gfseÐe$drc›bžav`—_¹^®^]Ò]ù]]\g]]¶]‹^‚_Þ\ã[¨ZÈYâX±WžVÐV†V—VÒV²V¼V†VUÛUU SÍSÌT+TîV-VdVuVäW­VçUÉU­UU¼UtT‘RåQ§OsMM¢M¶M¤NÒO*NhMôMýMÇM‚LÏK¨J’IùI|HóGýGBF„F_5_0_^ß^Í^ä_4_²`6`¾aQb5c$c¸còcócñcàcÔc¿c‡c0bÓbšbbb1bbaéa¹aƒaRa `ï`½`Ž`I_÷_§_S^ý^´^t^H^]à]¤]^])\é\¡\s\U\.\ [é[Ú[É[½[°[Š[BZõZÌZÊZÉZÉZÁZ¯Z¡Z’Z~ZpZiZgZnZpZZ ZZ¼ZÔZãZÞZÖZØZâZãZ¼ZƒZ?ZZ Z(ZBZ^ZvZŽZœZÁ[[1[U[…[å\[Ï[Þ\3\‚\·\ß]]a]¬]ü^R^£^ñ_3_c_“_Â_ø`?``ÌaaAa}aºaûbIbžccocÕdIdÁe.e†eÎffTf’f¶f×fõgg$g3gmcmmmwm¡môn[nÆn÷n€nCnm”mPm l¬lyl:kÚk kck(kkk(kFknk¨kÃkËkÓkõl*lwl¼l¾lªltlkñkßk½kžkskKkjÖj‹j3iÛi}i/hþhÚh«h|hIhgÜg”gHfüfªfQeòe‘e;dÝd›dkdcÃcyc7bÿbÈb¤b…b]ba«a``_…^ÿ^s]þ]–]@\ÿ\ë]] \É\…\X\[ç[®[_ZüZ‘ZYÏYÇY¯YYhY=Y/Y4Y5YMYyYðZwZËZØZõ[ [[Z[¼[VZZdZ°Z­ZÒZÁZ¸ZYZŠ\r^¦^_b^H]W] ]\ü\À\v\2\[þ[ó[ý\.\ž]]Y]]]ª^&^h^\^^5^]}]T]i]f]š]£^ ^C^w^Ìa§eðgžgîgÆg™g£h€h®húhÖh³iahªg¢gTg×g^gqhÓeòedÃe1ehee edÕddc®c±cÍc™cocbÐb-bAc¡d@eeáe©dâexg*gDgtijˆk¢lnl†l`lJk¯jøjŒj¼j°j¼lm¾no…pQpØqér©s.sEsBs3ssFs8sÈsÙsÌt†tÉs»sfrÇr0rLswƒx—y^xÖxvx:w”x^yÂy{zYz xÇyx½xxYxMxêyÀySxwTwŒxüyˆxv‰v¥uåt„uuav/wXw.vKv‰vOuotŒsBsryqíuuu smv:u–u‹vÁtr9tv‚vövkumuÄvövsnqÏqyo{lŸjÀlEo~r tsNq¢o~lômn—nam¶mŸm‚m¹m7lØlûmUm“m³mxlöl#kÍk¡k|k{kßlžl­l²l·lelkÂkkjåjöj±jhjSjHj]jŠj´jåkkBkdk|k¢kËkýl3lcl„l‘lŽl€lxlll¥l¹lÔlìlÿmmlýmmmEmsmªmànnZn±nõo9o}oÍp&pŒpäqq5qqqÇrrMror•rµrÉrÐrÏrÌrÆrÊrÕrÝss7sis’sÿtEtctˆtÏtètËtÜtðtÿu%uu'tÊtBs®sxsþtutÔt.s¸sÍs»sžs—s´sÚsÏsÉsæsêsñt ttt tsþt t'tOtžtÞuuPuuu§uÖvv/vVvtvv­vÍvíww/wJw`w„w­w×wèwðwïwëwçwßwáwåwîwÿx xx(x+x+xxxxwõwíwçwàwäwêwöxx xwæwÄw¡wwcw=wvõvÐv°v’vpvOv uéu¦ubutÙt‹tEtsÆs‚s;ròr£rTrq²qdq%päpªpfpoÌo…o7nênžn[nmæm­m|mHmlæl²lsl,kÓksk jŸj8ióiÄi”iRih§h{hshuhh»hÐhâi i`i›i«iÇjj|jçk,k]kjk]k|k¨kÖl+l‰läm4mm¹mÆm¿m»m½m·m«m©m¦m˜momDm$mmlölälÈlŠl/lkïkÆk¸k¦kkkJk+kjïj’j5iÞiih»hnh5hg¿glg"fÌf|f9eåeedƒcïc[bÉb,aŸa`™`_‘_^™^]˜]\•\ [{ZáZ>Y™YXÄXœX”X°XåYY8Y6Y=YBY|YºZZSZŸZrYÀYƒZZ×[|\,\ô]Ý^·_•``aa¨b1bËcdWe0f fögÄhehâipj j¡k-kÈlnmm¤n.n¸oJoáprpýqƒrryræsRsÈtFtÌu[uêvYv¹wwEwyw§wËwðxxXxÃy yyIysy¡yÇyìzz"z:zFzMz^zlz|z€z”z¢zµz»zÅzÈzÌzÏzÍzÊz¿z¹z§z›z‡zvz^zDzyõyÄy”yay5yxÉxˆxCxwÂwrv÷vƒuÿuuZtütxsçsˆrùr`qÅqOpÆp1o†nÍnmel´kþk.j]ihÊh"g„fðf[eÓe$dwc¹bÓaÇ`²_°^…]î]§]\\¹["ZZ¿[»ZÁ]ZÌZâZìZYXWcVÛVÚW WVüVÑVKU‚U TiSéT1THTãUÓVwW3XLZYµVÆU’T¶TÊSÎRÅR[R OËN M½NO QMQÄOÒN¨NjNM—LÎKJ0I‹HîHHGQFáEàE€FzFjFVGGõHãI±JrK>LGMRNBO>P3Q3RBS8TTôU¹VŽWbXDY6Z$[[ó\Â]–^V^ì_d_Ú`L`ËaKaÇb>bÀc0c¡dd~ee®f9f¬føg0gag—gÈgégégÚgÅgÏgÜgÒgàg÷hgÿgôgÖg¹gygKg8gg ggföfÜf±fŒfif?feùeÕe±eŠebe,død¸djd,cöcÃc”chc7c bÛb¯b}bOb"aýaàaÍa½a±a¨a£a¤a§a¾aÕaúbbb5bcbb„bDbb4b~bÂbábðccCchcxc„ccqcicjc‘c´cÉc¼c”cocDc1c$cbþbãbÖb²b‹bjbNb@b-baýaàa±a~aUa#`ê`¦`h`+_û_á_Ô_º_¨_€_t__Ä`*`˜`öa4aÜb«cWcÑcóddcñcÂcžcubíb›bjbGbHbJb9baëa¶a‘afa5a`Ë`|`_Ò_Ž_L_ ^Ç^€^R^&^]à]˜]0\ã\Â\¦\ƒ\`\K\<\E\8\[Å[t[?[D[P[Z[T[:[#[[ZëZçZú[ [[&[D[T[i[h[b[O[R[h[j[Q[&ZëZ¨Z–Z—ZZ¯Z¸ZºZÇZã[[r[·[ã\\:\>\ \<\}\Â] ]Q]]Ü^/^€^Ñ__[_Š_­_á``k`·`ùa5aiaŸaÜbblb¾cc{câdPd¾e%e‡eÏff3f{f²fÔfógg0g@gOg]gkgygzgygxg‚gg¬gÌgîhhHh~h½hýi1iWili~ii¶iÒiØiÛiÒiÎiÅiªi~ihŽh%h)hMhfh¡hüih„hQhâiiai©jkl®n‰n\mán;nËnÐnenmÓmÁm•mwmXmDm9mKm‚m£mªmñn_nÅnøon‹mümÂm„m;mlßlÈl¢lPkÿkÐk¢krkNkEk[k‹k§k£k¶kÖkâkäkèkõll=lgl†l|l@kðkËk»k˜kykTk(jùj¹jvj/iái”iHihóhÅh‹h]h-güg½gug0fãf•fDeóe–eEdød°dŠdWdcÎc•cScbÔbªb‹bab(aÖa^`Ã`@_Ã_7^·^+]¹]k]'\ô\Ô\è\ø\À\x\D\[ñ[¿[z[-ZÕZoZ YâYÑYÒYÉY—YsYRY.YYY#YxYëZ[Z«ZÏZøZæZ¬ZÓ[L[[*Z›Z©ZÃZ•ZnZtZiZ'Zè\í^ ^û^â]<\À\~\|\§\§\t\*[Ý[ž[‡[[£[à\U\¼]]5]Z]¨]ç^]ñ]·]‹]<\Ç\­\ã\ä]]G]z]º]Þ]ý_|c]f‘ggQg+fáfãg–hii¹hÈiiÑiœhïh|hBg~hhÿgœfe$dâe,e/e;eSdþdÁdOcãc´c­c‡c0c%cbùbWb©cÜc´dReMedúe eÓf÷gg‰h#i|jÃk¬l‡lËlck iåi¯iÆj jðl‰nToPoÆp0qqÈr-r\r‰rˆr“rkr:rÇrdr~s$s;t"užu$sár‡rrEqîrŒsqµp{pgqøq‹p-mžlXlMkæk(k*jHj‡kmlànVnñq°xƒtçu˜uÂy*{@|I~ˆ|ô|Á{ïyéwŠwñ{ú~&z÷y®yšx÷yVzIy{vhuBusvmvºuØuýv÷wøwÜwÍwãxixwDwåwÛw£x,xdxwSwgxªyuyJxdwÿx¦xÃxx…x4xåz!{dzøxÍx0yCz=zCyw^vÊusít%tÌtöt§tCs}sÍu¹vÝvÇuùt–sq-q@t\s÷r™vNvïv³zBxšv—zzäxau¶s›sªv¸xñx4u?rvržr|pläkénëst£t røq?n¤lRlonRotVtotqtdt‡uu¤u›u\uu7t\sÌsMss˜sýsÓsvsAs_sBs+s/sKsnsssgsWsbspsŽs¡s¯s¹s¨sŠsƒsŸs¶sÞttLt„tºtÞuu?uiu—u¿uçvv$vm)m lölÚlƒl,kükÚkÓkÏk–kPk3k,kjÚj~j%iÍiqihÅh…hLhgÑgg5fñf¦fdf6eïee"ddczbïb_aÍaO`Ñ`]_ê_|_^–^]™]!\¨\,[¬[Z{YçYdY XÒX¿XÁXâYY7Y^YcYrY„Y°YîZ0ZkZ•ZZ YŠYÈZŠ[([¿\e]&^ ^Ñ_–`Paa’b bc2cíd¬eyfCggÉh[h×iZièjxjük‚ll²mLmÍnQnËoVoßpdpåqaqÕrCr²ss~sïtetæuouçvHvœvÚwwCwowŽw®wÚxxMx®xÞxûy#yLyvy›y½yÛy÷zzzzz3z:zCzMz[zezvz€zz‘zz”z’zŽzzxzkz]zLz;z$zyöyÎy¥ytyDyxïxÃxŠxRx wÍwwLwv¯vFuÔu|u(t¼tIs²sPrãrZqÌq=pÌpKo»on{mÕm6lˆk×kjUišhçhGg¬g"f•f edéd;cƒb«a¹`¶_Ü_S^Ì^{]ò]P\%[Zü[[Ô[@[ ZãZJY~YÔYXÈWìW+WW)WVÅV†V]VUŒTÇTS±TT_TÃUSVVßWLXoZ3ZPWçU^TòTùS¶SS+R±PNnNN{O˜RS‰QàOiN†NfMöM8L4K%JIzHßHGFTE©E3F—G?FFtG GÞH¯IlJJÔK¾L©MŒNsOWP?Q@R@SSáT UbV.WWÙX¼Y“Z\[3[ì\²]…^8^Ç_F_Ê`N`ÓaVa×b]<]Þ]í\ì\d\@\ [â[ù\?\A\[«[‚[t[u[Š[µ\\]\“\À\õ]A]€]¨]§]f]%\Ø\\W\n\\µ\ç] ]R]•]¯^§a…eg»g5fMff]fµgg¹hÆh¢hWhÝiQirh—g÷gøh¤i„jEiÃfedddcød,djd¼d;c¢cmcXcc(c c'c bˆcKc¾bÙc¤eÅdëdÔeqeŸf%fÿgsgbg£ij­kµll;k)j4ivi}j%j›k©mgnæoápOpÁqqwqªqñqìqŠpÜq qâp p»r>s¸uu u#sNqvq¡rŸror¡rÒqoooo£nl‘kÝk«kjÆk.jBiÒi‰jj¾kÐn>uîv}tAt.w9xÅzÒ€{~S|ù|}8}z¡|€Q}"xsxÊw°uquGuîutÙvBwKwx:yGx¦ypyXxßyžzÿyùx%xw·x‘x“wÛv¬wPx-xÈy‡yQyGyyz@z.xÌxÏyÄz(z&yèx±vÓtùsÿsÃs—s4ssUrûssþtÐv#w5w uNr~qnqPpopöwzÄxAwww5y­}9{v‡spÊp‹r¾tívBuar|qq”p m¢l^nprsCrÕq¹oomkjøl/mƒn*m®m>m-lùlªlsmm¨m lÃmmblûmmlElMl”l…l·lÞll9lk¿kktkškpjßjšjvjsjŠjÒk kp„pÎqq}q´q¿qôrrKrzršr¬r¸r¸r¬r«r¢r«r¼rÊrãs7srsÆtt&tOtGt#tt;tptñt‹sós³sÛsðsžsls/rèss_s$rárÚrÐr»rÑràrþs srôrìrÿsss/sbsrs]s7s s-sDsws¢sÔt t7tbtt¸tðuuHuxuuÀuØuõvv4vVvzv¡vÆvòww5wIwSwVw]wYwYwYwUwRwZwjwwœwµwÂw¿w¸w¤wŽwrwZwIw>w?w>wBwJwSw\wdw`wOw4wvïvÊv¥v|vVv5vuêuÆuŸuru?u tÕtt_t sãs«swsEsr¿rxr5q÷q¹q€q=püpÄppWpoÓooXo!nïn»n…nLnmçm®mvm9lþl¾lƒl7kákŠk5jéjjRji«i1hÌhŸh»höi9i[i_iqirižißjjJjKj.j.jSj`jŒjøk†kÑkßll:lbl›lßm#mkmµmÛmàmÕmÎmÕménnnnmõmìmèmØm¶m˜m„mjmOm1mlýl¿lml kêkákÎk‘kIk(k-kjÐjtjiÀifihÁh~hGh gÐg~gfÓf“fYf5eñe„eddcvbèbVaÅaD`Ä`[_ï_Œ_%^£^]“]\§\0[µ[&Z…YóYyY'XöXÛXãYY+YKYjY{Y”Y»YíZ-Z`Z…Z¶Z¦YþY‘Z ZÔ[][ó\œ]f^R__Ê`za,a·b'b§cPd dËe•fYg"gÌh\hÜidiïj|jÿk€ll¢m@mÆnFn½oEoÉpRpÒqHq¶rr”røshsÙtHtÈuLu¿vviv¢vßww:wOwkw¥wîxGx‡x¤xËxòyyFymy‘y­yÉyÔyßyáyéyüzz zzz*z7zCzIzRzUz[zYzMz@z/z#zz y÷yáyÅy§y€yUy'xøxÓx¤xsx6wúw½wyw@vúv»vfv u©uHtîtysÿstrûr–rqŒqp†po‡nènPm®mlkk¶jûjDi‡hÖh9g¤gf‚eøe[dÍd cdba³`í` _r^ç^‡^]‘\ñ[ù[Î[8Z˜ZsZuZiZlYyYY“YdXªW¿W_W;WDWV÷V`UöU£TêT—T5TOTšTÜU UrV ViVüWÂXWEUäUùU­TjT T RdO³NâNƒNäPSÌTûRNOvMâMMLPKNJ}I¼I3H£GõFøEõE+EFùFóF;F´G5GõH–IKJJÉK‘LbMEN4O;P:Q=RRÏS‰T6TòUÒVµWŠXdY1YùZÄ[…\M]]Õ^‚__¤`>`ÏaUaábEb§ccLcŒcÖdKdÓewff—fãgg?gZgqg‹g™gg¯gÁgŸgŒgžg™g¡gªg©g²g­g˜g‚gZg:g9g"gfçfÞfåfÎf³f›fzfSf5feìeÆe—eZedÙd¤dzdZdAd)ddcãcÂcšcqcIc#cbÞbÆb´b¢b™b’b”b’b›b«bÆbôcc-c/c"bÿbãbÞbócccUcªc·c—c£càdd,dMdrd„dŒd›d§d²d½dÊdèdúdödàdÃd£d‚dedFd#cþcÜc²cŽcjcMc1cböbÙbÊbºb bvbMba÷aàa´aY`ñ`¤`‚`¶`Ç`­`—`–`¸`á`ý`Ê`Áa,a¼bCbbÑbýcCc“cÊd d-cícmcbïbìbèbçbØbÇbµb¤b‘b‚bfbBbaîaÀa‡aG`þ`³`l`+_ù_Ê_•_[_)^ô^¸^‚^K^]Ù]™][].]]]]] \æ\¬\v\Q\5\F\S\2\.\5\9\L\Y\X\Q\N\M\V\^\o\|\q\c\D\+\%\ \\8\1\[Û[Œ[p[i[a[X[P[r[µ\\9\S\R\J\J\R\p\Ÿ\Ö] ]U]£]ð^?^‡^É__B_i_Ž_»_æ`'`v`ÌaaZa‹a¹aÞbbLb’båc@ccódEd‘dØeeae°eúf1fgf—fÀfÝf÷gg.gKg_grg…g g±g¸g¹g¿gÌgÙgïhhh1hShwhªhãi!iRi{i–iŸi®iÄiÞiçiíi×iÇi½i«iŠiUih³h:hhJh¡i2isiMiiiØjÔk¿mo o2n½p¼rØp"n—nço%nn2n mÐmelìlËlämm mImvmœmÂn%nNnHnHmïm¡m€mWm;m2m]]²],\u\R\w\@[°[Œ[°[É[â[¨[[q[“[£[µ[Í[é\\T\ª\þ](]=]S]\À\^\[õ[ó\!\E\q\£] ]]®^_ÞbÑfgfe’eŠe”f$g4h7h½ii^i ixilh“hÏiSh¥hhþhÇf¨eMdÝd–d`dPdùdºcÞcâcÚdclbîc bîb½cÞdbÛcdÇeDdÑeFe¨eáfFghhQh’iáj k¢kÿkoj¬ii£j iájQkÇmEnn®oeoúpƒqDpýp»pÃoõoÛpVoÓp–rætetÖtìt‡qŸqrrPr rSq3oÒnmm]lˆl;lkƒkNj›j‰jŠjjiÓih¸hþi¯ln>qñtŽtKt>t·wW}~f€|º|­}y})|†}Õ~|N|ø|Px?uJuAusóu5w;vîwÀxPx‘yÚxŸwïyzäzIwùw§xaxàxnxãzëyØxFxƒx’y’xÝwwºyy×zEz6zyx–x½x±xäy|yÿyæzzôy{vquHutrs-s sÅtkt­sûs»wz“yÎwÁuwtbrEpFrNxÑ~r~$z+z¨n5yäu“smVmdmHm"lñl®lnlAl'l llkækållllk÷kôkðkèkãkúll3lLl”l¥lg4g3g5g'gfçfÄf³f™fvf[f;feíeÊe›eie?edþdØd»dddbdRdDd4d"d cücæcÓcºc§c”c‡cc|cc„cŠc–c¸cædd.d[ß[€[ Z¶Zä[-[x[Ò\9\À]/]s]É^=^Ä_èa{cd7dbc^c„e;eåeåfµh²k"k‡k¾j°iÖigøg f_eðf}g«gàge¸d‹c±c¹cÝcDb·b¹c"cfcÏc{bècId cÔccd3d—dmd§efÐg{hViÔj¡kAkj¿kk!jûjÇjÝjókk+kIk\k{kxk…k£kµkäl l0l8l[ldlwlslmlmlilnloltldl^lTl[lZlnll¥lÉløm.mcm›mÆmýn#nUn~n¨nÍooSo”oÓp pTpœpóq1qhq—qÁqÑqîrr%r>rBrNrUr\rbrmr€r‹r°ssgs‘sksˆttŽtwt:sÛs€s~s sŽsPsrår¹r¨r”rrrArqàq¬q„qtqpq…q¬qÏqäqçqåqàqàqæqôrrr'r7rq±q'pÂpNoÉoQnÈnAm´m#lŒkíkNj©ji[h³hg~fÓf:edïdDc´c?b°b;a•a `M_Å_.^¡^]h\æ\8[ß[ZœYóYvYcYÔYQY‡Y=X¸X[WóW¤WWW VÒV‹V_VU¨U¨U_UWU¥UÑUäV&UfYfkfefPf7f"feÿeïeáeÔeÀe§eŒeneRe1edîdÉd¡dpdBdcÛc®c‡cYc5c báb°bbb/bbbbaæa»aÅaËaØaõbbab¤b»bãcc9cdcƒccecbc‡c°cÑcÞcëcécÞc¼c—cvcNc.c bíbÊb©bblb:aõa¦a_a&`÷`Æ`‘`e`2_è_ª_Š_z_Z_%^ò^Ã^š^{^^^H^3^!^^^^^^^^^^ ^^]ò]ä]Í]¹]¥]œ]£]ª] ]¥]½]‘]„]±]’]t]s]T]+\ý\Ñ\¼\½\½\¸\Å\Ø\Ø\Ù\Ý\×\Ü\ñ]]<]v]Ë^%^r^¶^ö_4_l_œ_Ã_ä``?`u`»aa\aœaÔbbl|kìk¤k£k§kÀl‘lúmm0lÚl·lGkqkjöjÔkkˆk«kÈk­kPk(kkk!k jÿjük k=k=k>kik”k§k½kØl l,lHl\ll‡lˆlklRlAl>lElAlClFlMl=lClJlclzl¤lÐmm9mpm©m×n n1ndnn¾nâo)olo«oæp"pfpªpòq*qaq€q¬qÊqèqþr rrr,r8r?rKrfrmr}rrÌsssFsxtXtštZsÞs‚sIs9sCsdÐd?cÉcQbÊbCa×aƒa`~_þ_t^ð^e]è]e\Ý\m\[‘[ZƒZYÃYƒYPY7YYYGYyY¡Y¼YÒYúZNZ£ZÜZþZ¿ZHYçZH[[–\I]]µ^j_;_æ`„a"a¬bb€ccÐdeFff·g[gîhii‚iöjfjÙkRkÖldløm‹nnwnñowoùpopåqEq£rrrísZsÃt.tžtþuGuƒuÀuþv8vevv¯vÙww8wawŠwµwãxxRx…x¨xËxäxôxþyyyyyy-y=yGyNyVyayhykyiyfySy@y+yy xõxÛx»xšxuxGx wòwËw›wiw6vöv¹vuv6uôu¬uhutÃtstsÆs`rÿr†qþqupóp~po’on‘nmllÞlLk¸k%j’iìiIh°hgpfÁf"emdÊd5c cBbÌb^a³a`o_À_.^°^1]°]8\‘\[W[5ZcYËYÌYóYöYŠYoXÕX•X@WðW›WBW$VðVÅV§V˜UùUÑUºUUçV U¤VVdU.TS¬SöSÐT`TÿTeS½RËQjQBQÏRïS×TUšVäR´P NQLKVJ÷J¯IýIAHUG=EíD³CLBêDZE2FG@G÷HIIœJ J£JÞKKñLÇM¨NªO£PCPÇQiRRÛS½T§UnV@WW¸XhY/YüZÌ[\L]]ë^§_e``Áa`aþb‡cchcÎd4d‹dòe_e¿ff`fwf„ff¨fÜg gGgŽg»gÒgågóhgþgîgògÜgÁg¾g²g´g«gg‰grgJg"fòf²f€fSf!eøeÐe®e•e†evese~e}efeOe/edØd²d d“d‹d†d†dƒd~dwdkdcdXdSdVdXdZd_dqd™dÉdõee$e4e>eFeTedeqe•e»eÚeæeØe¼e¦e£e¯eÏeîffCf[fgfvff¥f©f¦f™fˆf{fsfpfcfUfOfFf5feùeÜeÃe¤e~eRe#dðd¹ddGdcçc¾c–cocDcbóbÉb¨b˜b‚bNaøaëbb+b9b@b\bŽb¦bµbÛbþc#c]cŒccžc¯cºcád4dldhdAdcìcÇc¡cxc\c?c#c b÷bÙb´bb6aâa›aja6a`È`Ÿ`Š`i`E`'` _à_ª_z_T_4__^ì^Ú^Ë^À^¶^¯^¨^Ÿ^š^’^‚^w^h^_^T^C^1^^^ ^ ^ ^ ^]ñ]ö]é]à]è]å]Ø]¶]•]v]U]?]0]']] ]]] ] ]]]6]c]Œ]Ä^^e^´^ò_)_^_’_Í_ø``I`y`°`øa?a‡aÀaõb-bcbŸbÚccic¶ddPd£dìe*eZe‚e§eÆeéff@fsf¨fÙføgg1gHg\gtgŽg¼huih1gÚgëgóhhh3hHh`hrhˆh¥hÌii4iei”i´iËiÝiïjjjiöiÜiÁi™i^i3ihòhúi(ixiÚj=j¸kjÙjÒjejj–lnop\p¥pHoËo’o¨o÷o»nÁn mônnmÃmdmzm m©m²mimlkÉlll!l>lLlKlVl{lÁmm>memVm!lälºlšl‚lmlZlBl6l9lNl`lVlDl5l/l*l/l1l+l l l+l4lWll†lElkþkÜk§k{kJkjêj»jžj—j§jyiþiƒi%hÑhnh gxfìf“fLfe¼e‚eCedýdÕddc¶cbc!bòbÈbbYbAb`b‘bMba’`æ``_ð_h^Æ^V^]Û]¡]€]D\ñ\‹\![Î[~[@[ZÚZÀZ«ZŒZZcZ;Z=ZQZ\ZZZYZ/ZYÔY¸YÅYÊYäZZ%ZtZ™Z˜Z|Z•ZÇZµZ~ZZZBYåY’YLYžYÓY†ZuZõZ±[›\ú\‡\[ô[|ZÏZ(ZZZZ6ZZÝZë[*[P[?[S[][|[~[e[H[ZÑZZˆZzZ Zõ[][±\\H\†\ë]R]£]ð^<^O^°___Ô_ö_Õ`a=bfdpgyiljÕiƒhgeffuf²f+e¯eveÏe®e dd3c½d@e!cÉbïc6cˆc\cNc5cbbôcd6d¢d4dddàf*g¯i7jukèkìkZjÛjÕjÚj hñhrhCh h”imiŒi±j3júll^k—kDkVkël¢læm˜o¡poVo«pp;poÿp,pŒp6o¯pp€omªkžjAjRjuiÎi hòi¡i{hÄhDhgâgÅgÙgÝgÒg¹g»gog,gÍh–jxn¬uBzÓ}S~ Ü€}€¯€EXˆáz¾y«{¶{Ú|o~R} {uy³y.y\wÉwRxxx-wŒw¹x=wÐw}wÙxnyxóxÈx8x2xAxNx¬xwØvµv*vÔuŽtèu·uPušv:v¢wEwNwèxbx w¡wÓwªw…w7wwµx«yjyMxv•vÉvpt1t|y#8ƒF‰ˆf~AwºuHwYzxt8qØr!v´wËtÎt4s´rÅqÍsývÞv;u‘vew¤t{pm²l×oßp³mËkðl×m.lÎl6kÃk˜khkk*kgk0k@kk£kðl kÉkškbkkEkÅkÇkäkåk´kkak;k6kkkk2kEkFkakwk kÁkÞll6lXlVl^lŽl­l¢ldl/lll$l(l1l9lDl;lGlPlgll¦lÏmm8mkm mÖnn3nin™nÑn÷oföf¡fBeçe•eSed³d5c¶c8bÀbCaèa”a`‡_ø_l^á^[]Õ]Q\Ð\Y[æ[tZúZ…Z$YÒYŽYPY,YY Y>YlYŸYÆY×YÿZ>Z¢ZãZùZ°Z&ZZ‰[9[â\Ž]F^^º_v``²aDaÊb1b—c3cîd«e_ffÏgmgøhƒi i„iíjXjÉk@kÁlTlèmvmõnhnßo`oápWpÈq,qŒqïr[rÉs2s—ttktÉuuCu|u»uøv#vKvjvŽv¹vîww@wpw›wØxx=xfx‰x¡x±x»xÂxÐxØxàxëxóxþy yy y)y/y3y.y&yyxíxÙxÆx­x‘xrxNx(wûwÓw¥wuwKwvæv¨vlv-uéu¬ubutÏt{t/sÚs€sr·rLqÐqDpÈpNoÖoanÛnRmÅm0lžl k~jïjdi×i3h¢güg_f²fecd¶d,cªcDbÙboaàa6`—_û_a^ß^G]±] \„\[¼[pZèZ.YîZMZJY‹YfYX—XnWøW¿WnW>WVëV´V—VUáUÆUaUÎV%UÔUV'VU T[T SÓT˜TÈS§S3RjRRœSVTmUBTØU¨U RP±O€LÛKcJ¡JI›IGûGEºC’BmC'D»EšF_GZHTIIˆIÝJ4JÂJÖK?L(L×M•NnOeP,PËQvR(RËS¥T•UhV*VÝW‘X@Y YàZ§[\\ \ò]Â^€_=_ï`a5a×bcbäc`cÒd9d˜dûeae¹eøf%fFfQf]f„f¹fíg*gng—g g³gÇgÛgÚgÎgãgûgühhhgógÏg¬g„g\g4gfÆfŒfUfeõeÞeÌe¹e¸e²e¨e§e eƒexeje>edìdÖdÌdÈdÊdÐdÕdÖdÐdÉdÃd¼d½d¼d»dÁdÍdîeeMeoe|e‰eŒeše±eÑeôff!f0f)feïeãeóff4fZfyf™f¦f©f³fÃfÚfèfíféfâfÖfÐfÊfÂfÀfÁfÃf¼f­f”f~fdfGf#eÿeÒe›eae$dìd¶ddIdcñcÇc¤czcWclBlTljlelHl2l6l0l4l;l>l+l#l9lDlSlzl›lsl2lkßk²kkukdkYkFk?k&jÙjYiäi•iSih›h.gŸfóf„f@eùeÂeˆeIedíd°dAcÓcmc#cbêb°blbJbTbubCaºaL`Ö`q`_»_[^÷^”^8^]¶]„]C\é\…\[Ò[Ž[W[*[ZÛZÌZ¨ZZƒZzZ”Z©Z§Z‹Z”Z¬Z£Z`Z'ZZZ+Z2Z5ZFZ]Z\Z^ZpZ¡ZÃZ¤ZtZYéY½YYYÕZFY¬Z®[QZžZÚ[F[YZòZêZæZdYºYwYY•YÏZAZÁZæ[[ZùZÿ[["[ZæZÃZ–ZZ\ZbZwZ³Zá[+[Š[Å[ô\"\l\â][]¦]÷^:^’^Ú_*_\__~_|_˜_àaucceîjk]iŸhþhngVf¥f¹f«f+eªe¨eµeéeºdÚc©deždŒbÁcdTcjbþbúc‡cxc/cðd5cÌc¨c¯dveÌfçh¶jÃk¾kk/jšjrjWi°hßhJh g»hhhhFhjhÀijjKj‘j¦j¢jCjíl¤m)mgn nRn nâoroÅoØoïpJp¦o™nÌn_mûmÁl[jsiÎj i¶ih~h)hKhKh'h9h,h(hgÈgÓg©g¦gxg¾g‚gTgFh£lŒrxÜ|Ez6€Í{&ñ‚ ù€‘~}ñ~<{5|ƒ|ž|$}Û}£|€{zøzÖy4x&zzèxÏxòyÑx€wvøxx‘xSw¤vÞw¥w—whxhxhxdw4v8wv.tïu)t±tÞu¤vVvÉwJx¥xŒwÜw¡wÃw×wýy2zzc|$~Ÿ~Ð|1zGyw‹vt5uNxáy²|G‚€…»€K{«yõx&u­u¥t)r&uqy®z¼z‰y wms¶r\sîs÷t4v°wüs0nîmFosWq÷m¿lÏm5lïl^kðkzk(jáj[j6j3jbjÂk kkWkªkÉkõlkÃkÈkékk`kPkgk¸kÝkzk9kk#k/klNldl~l¢lÈlúm-m^mŽmÉnn:nnn£nÜo oKo€o¾o÷p6ptp¯pèqq@qaq{q„q–qšq²q½qÕqërrr!r3r=rTrdrŽr´rás3sÁt+ts‹s rßrÀrÅrÖrÕr°rrr.qåq»q¢q}qQq+qpèpÑpÂp¸p³pÇpÜpÕpÈp·p˜p…p‡p¢pÇpåpðp÷qq!qqqqq q$qMqvqŽqŸqµqÓqùr+rSrur‹ršrÇrìssHsys¯sättPtt¨tÐtïuu0uKu`uuuu†u‘u’u’uuu‘u–uœuŸuuuu©u²u±uµu²u¬u›uŒu{uoucuUu;utÿt×t·t‘tmtCtsês­sns6srÞr¸rŽrcr=rqõqÖqµq•qpqIqpìp¸p†pRpoÐo’oSonÑn“nXn"mðm½mˆm=lÚl}l4këk§kJjãj®jœjuj'iæiêj>j›jäk7k…k•kkk§k¬kÀkèkßkÎkÓkÈkÖkúl9lwlšlºlümPm¤mõn1nKn:n-n$nn!n-n*nnn nnn*n:nDnNnYn\nWnOn2nm¾m|mgmcmJm'mm lÐlŸltl:køk³kok.jëj®jqj%i×i‘iFhðh‘h.gâg–gXg$fßf„f$eÒe€e-dädŽdc¦c/b·bQaüaŽa`_ð_j^Ý^Y]È]J\Ë\J[Ö[TZäZ}Z)YæY–YVY)YY&YYY„YªYÒYßZZ;ZŸZåZáZŒZZZÄ[v\.\Ñ]Ž^O__²`O`àaiaébFb­cGddÅeuf*fÝg{hhŠi i‚iâjIj¹k3kµlElÒmXmÙnNnÈoDoÂp:p«qqhqÄr/rs slsÕt?t•tÖuu2usu®uÚvv$vDvnvŸvÑww2wdwšwÐwüx$xHx_xmxsxxŽxx¦x°x¹xÅxÐxÖxãxîxôxóxöxéxÚxÃx¨x•xxnxKx(xwÛw°wwXw%v÷vÎv•v\vuâu›u]u!tÒt‡t5sæs“s9rÜr}r q˜qpp%o©o.n²n$mlöl_kÏkBjÃj2i²ihŠgðgJf­eóeWd¸d+c°cFbâb`aÜa@`’_÷_b^è^`]ì]R\É\-[Î[†ZåZbYªZõZYáYKY>X±XƒXWÇW`WBW%WVÓV©VSV%UôU‰UoU×UèUäV>V)UŠTóToSøTNT7S†SRƒRßSéTŽU6U‚UlV(UFRªQP¢N]KIÔI2HîHFG=FiEBØBhCìE1FFÎG—H°I×JuJ–J¥JîK$K¸LeM'NN®OLPPÓQƒR1RÛS£TyU\VVÎWX:YYÕZ­[^\\×]£^a_)_Ö`eaa§b9b½cKcÅd0d˜düeRe‘eÅeõff!f,fbf•fÇfûg-gJgQg[gegxg}ggÊgÿh hh!hhgùgÀg˜gjg;gfÍfžfvfJf&ff ffeüeëeÑe½e¤e‹ereLe)eeee ee e)e+e'e*e)e%e&e(e/e4e@eZe|ee²e¿eÊeÇeØeùf&fSfaf\fBf fff2f_fŠf±fÔfôg ggggg+g2g4g,g'ggggggg#g$gg fôfÚf»f“fhf7eþeÃe‡eNedÞd­d|dRd'dcâcÃc¬c“cdc-bábºbÑbîccbõbébÕbÏbâb÷ccBcjcŸcÔd dBdodƒd¸dëdÒd˜d_dAd'd cúcécÚcËc´c’clc=cbÎb‹bHb aÒa¥a~a[a:a`ö`Ê`›`l`F`%``_ó_â_Ó_È_¸_¤_˜_“__c_E_(_^÷^à^Ä^´^°^š^^Ž^•^¥^²^¸^¸^¹^°^œ^{^`^F^-^^]ì]Á]—]r]Z]U]P]Z]d]p]›]Ô^^9^p^¯^ò_._e_™_Â_ï``K`x`¯`îa"a]a›aÜbbYbŽbÃbúc?c…cÒddid¬dãe eXee¼eßeófff*fUf‘fÊfógg.gNgcg|g“g¥g¿gÎgÐgÜgíhhh!hYîY©Y~ZjZ™Y}Zv[ŽZ¨ZNZZ)YùYçZYàYRY%Y5Y2YtYèZ^ZŸZ¡Z”ZƒZŠZ¢Z¯ZŸZxZ7Z Z ZZ2Z_Z´ZÐZí[M[›[¯[Æ\\y\õ]t]É^ ^\^–^Û_)_k_M_M_g_“`™ac˜gŽj™i·iVithgâg`fÙf5eõeÿeïf¾fûeWcŽcOd·e°c3bßd±d9cxc„cˆcDbñc$c€cˆcOc9c›dÍfbh•jjójåjôjTji¹ihÊhXhgªg¥gØgëgøh-hœi(iziàiêiïjúkÉkÛllÑmºn nro:o–p pJp%p-oênÏmUlÖl±kLi¬iKi9h‡h€hhh5hh+hChLhChh%h hgÀgïg‡g„gqg’gDg´h¦j|npÛsªyPž{¹~»ÿ€4€ù|–|6_~Ÿ*€}G|n|š|d{–{æ{«z±z³|j} zhy2yƒxŠw˜ww9wvïv¼u÷v•v¥uÕv]v¹vºv€vv^v3t·s\ss©tƒuYu”uàv²vÛw½xLwv.uãxÏ}‡} {~б.|¶zíxóx8vlsütíyž~dv‰-ˆÀ~({Ê|¬x'utVrurUxx}ï|ëyOwÑtÅrq8pÙqt´v®soÿnÀp–sXpÌlºl¥l÷l~kzjÔj‘juj_iÝi©i{iÀj jjnkk6kekÙl lTllRk¯k=k+kWk[k„kkŽkHk'k,k@kgk›kïl"l2lllXlˆl—l{lzl¬l¶l¶l²lulAllll)l9l;l=lDlVlelul’l´låmmRmˆm¿mùn4nmn¨náooQoˆoÂoöp:ptp­pÞq q/qDqZqcqiqkq‚qšq½qÖqîrrr#r0rBrUrlr‰rÛsbs»s»s™s rÊrr€rœr­r¥r}rAqûq´qzqUq:qpùpÖp¶p›p“ppŠp–pžp“pwpYpCpuFuEuEuMu]uhuouvutunuWuEu1u u t÷tÝtÂt t€t`t;tsïsÅs‘s^s)rörÐr¯r†rbr;rqñqËq©q‰qeqTÑRlQQMNÍJQHÐH>GñGVE½D$CBoC DÛE°F¨G‹HCI IþJ”JÈJÜJ÷KAKìL¨MtNaOOoPPÅQ”RORõS­ToULVVÉWXZY(YÚZ®[r\\Ñ]”^K_ _¿`W`èaxbbc&c§ddtdÍee\e•e¸eëeöff>fef‰f¾fäfùgg gg(g,g[gžg¾gÄgÈgâgégögég¿gšgfg=gfÞf­f„fef\fYfOfHf6f"f eîeÔeÃeªe€e[eCe:e:eCeVeeere}e„e…e‰e‹ee”e™e¢e¦e°e¶eÅeÚeÚeÛeëeûff>f_fsftfbfJfAfQfwf¤fÒfýgg8g[gig`gSgWgog~g}gugogkgcgfgfgdgngvg~gzgugkgVg;gfîfÃfŒfRfeÚe¤eme8edÕd«d…dbdEd(dcðc¼c|c=c0cPcrc~cfcDc(ccc(c3cKcxc¦cÔdd:dqd±dÃd¾d¸d£d‘d‚dvd_dId4d%ddcæc½c“ccc/bôb·b‚bNbaîaÇa¨a‰ajaEa`á`´`•`w`_`M`>`1`!` _ô_Ú_Ò_Ð_»_œ_{_Y_7__^ñ^è^Þ^Ø^ã^í^÷___ _^ò^Ø^·^–^z^c^V^I^*^]Ê]«]•]…]…]z]]§]Ý^^V^Œ^Ë__9_l_ž_Ð``*`S`y`¤`àaaWaŒaÃbbGbb½bïc'cgc±cÿdJd•dÛee=eqeœeÇeñff!f/f?fVff¹fég g*gFgagxgŽg¤g¶gÄgÝgóhh h hh4hKh_hqhƒh’h¢h»hßiiDizi¥i¾iÓißi÷jj jiûiái±i…iEhôhÂhÀhýiQiŠiÇiüjed½dbcÑcUbîb»b¬b~b3aíaÈa»a¡a`a+a`Û`™`b`_¾_o_'^×^˜^Q^]Å]n\ß\H\ [Ø[«[[][K[>[&[ZþZò[[ [[[ZÜZëZìZÞZÏZÈZ¹Z°Z›ZŸZ¤ZŸZšZ–Z†Z†Z–Z‘ZjZYÊZ [[ZÀYƒZk[ÉZðZVY°YµY‘YtY¨Y|Y XÝXßXãYYsY÷Zi'iSizi–jjjsjkPk¥lyml–lkk™l:kÀk†kœk»k2jñk&kjkk˜kÅkùl=lMl^ll¡l‘lŽlšl©lŸlžl´l’l[llll(l4l=l;l8lJlQl_l€l¨lÜmmKm‰mÄmÿn8non«nãooToˆo¾oöpqEqKqZqpq‡q¦qÂqàqórrr*r4rJrdrhr”rõsBszsyròr˜r_rYrqrurgr:rqÅqqRq(qpñpÑpªpŒpp…p‹p†ptpXp;ppoüoþp pppp#p&p+p:p,ppp#p3pYnYÄZZ)ZCZGZWZ{Z°ZîZÜZdZ!Z‚[>[ö\ž]=]ÿ^Ã_t``­a1a®b brbØcsd0dåe™fGf÷g™hh¢ii{iËj,jœkk–llmm–nn“oo‹oÿpkpÆq"qvqÐr3rs spsÕt'tdtŽt°tåuuEujuu²uÚvvAvv·vîwwKwtw–w¹wÄw×wîwÿx xx%x0x9xDxLxRx`xdxjxhxjxgxYx?x xwïwÖwÀw™wmwGwvévµv‰vSv)uøuÀu‰uKutÓt‘tHsüs¬sas r¶rUqîqq,p½pNoÕoZnæncmÝmGl³lk{jîjbiÞiVhÑh?g°gfveßeNdÆdBcÌc[bÖbeaâaT`´` _‹_^ƒ^]„\Ü\s[Ó[‰ZðZMY…Y~Z.Z&YÃY"XÀXŽXTX WäWbW;W@WVÐVÇVÚWWOV¹W.W”VgV,U¶U/UäUŸT†T¥S¾SSÆTfU;VV2VUºUtUWSïQ–OÏO€MƒJ@HÀGãGFfXf‡f“f›f›fšf¬fÊfØg gIgcgrgigƒg£g±gÀg¸gœgmg=gfÖf­ff€fwfsfsfifOf:ffeíeÏe¯eŽeuejepe|e’eªe¼eÏeØeÞeãeëeîeóeüfff fff.fXfIf-f;fWfqfƒf“f™f—f‘f˜f¯fÏføgg9gSgegygg©gœg•g¬gÀgÄgÁg´g®g¯g±g±g·g½gÃgÉgÎgÊg¿g²gœgƒg_g4gfÒf–f\f%eîe»e‰e\e5e dædÃd d„dgd6cûcÅc¥c©cÇcÝcÂc˜czccccccclcwcc·cèd-dRd`d—dÞdêdÞdÔdÉdÂd¶d©d”d†dodVdBd'cûcËc£csc>c bÚb§b|bWb4baùaßaÂa awaBa`è`Ì`´`œ``g`L`+`_ó_û_ô_Ù_¸_“_q_I_'____(_4_B_Q_V_Z_T_F_2_^ñ^Ç^±^š^}^e^G^'^]õ]Ô]¾]·]¸]À]Ù^^O^˜^Ö__H_y_¢_Ë_ø`%`U``®`ÜaaOaŠa»aðb-bnb®bßccPcŠcÐddrd½ee=eje‡e­eØeúff9fHfYfgf…f²fÝgg g@g^gtgˆgœg«gÁgÎg×gågóhhh/hFhYhqhƒhŽhœh­hÍhôi%i]ii¯iÇiÔiéiújj jiúiÔi ioi&hóhòii_iSixjjPjGj j?k»n1pÊrýsòsârn¹lgk¥kyk6k'kkkYjÀj5j'jSj§kak±kk}k€kkkPkRkgkvkkÎkâk¿k©kálQl­lÕlÜm mQmDm lØl´l–lwl]lKl9l2l3l7l:l0l&lll lll.lHlZlMl>l@lqlœlŸl£l®l¤l”lvlVl2kák•kQjàjqj/iûi·imi hÇhih g“féfyf9eöee:død°dScÎcHbáb§bbBaìa³a”a}ada:a`ô`Â`Ž`a`_×_‘_Q_ ^Ì^^O]ú]²]A\•\F\,[ú[¾[ [‹[|[f[O[;[C[O[_[W[W[>ZùZâZçZâZèZü[[ZßZñZèZ÷ZóZÞZÈZ§ZŸZŸZ£Z\ZjZë\€[YÂZÛ[¼[Z§Y÷YÀYVY)Y^YMX×XŠX‰X°XÀYYrYÇYÿYØYšY°YÖYÞYÚYºY”YvY…Y¾ZZJZ€Z¯ZØ[[[%[W[©\2\Ê]@]Í^8^‰^Æ^ð_ _+_P_f_a_/_t`§b‡eÕhûh“i%jjTk-k!i*gØfSendødþf?h“iÓf‡cÙcÐdNcAccehfÔfpdNcÝdMb¿bRbîb¼b¯búd#f hiijwjUi´iOhÇhh~hz­|) |u{ß{^zÎ~O€0Ö4'|I}~f}Ø|'}X~Ò{¸{Œ|~y;{g|rzÂzÄzîyxxÜxvívdtåtettžtsþuNrÃpäp»p·pêqÑrñs„t¯uUtšt{vÚxýymxvKyª{“x{zDE‚k;~|û{É{0{‹wívß{ø€N{OuOv&t›u2u†u‰xxåw@w©xéwÆwSuÏr¨p¤oaqtsOqÅo¸nlm|l}mœnm'k€ji÷iãjiåi•i3ii iiFi|i±iÎiðjJk llºl5kËkôl l‚lÅkükÜk‹kkbÎb_aôa“a2`Î`[_Õ_R^Ë^J]Ì]E\Ä\<[«[-Z¾ZlZYØY˜YeYTYRY›Z ZSZ|Z‡ZŽZZ¦ZÍZëZÄZ8Z.ZÃ[\0\Ô]z^3^ó_¢`J`ÓaTaÑb:b‰bñcdDdøe¦fUgg¨h5hµiiwiÄj!j‹jþkwkðlglímvmùn{nûotoäpLp¤pùqMq§r rnrÕs4s˜sñt,tVttt¢tÏtùu#uFuou•uÉuþv>vtv©vÜww2wTwsw…w–w¥w¹wÇwÕwàwéwðw÷xx xxxx$x(x!xwúwàw¾w¤w„wkwPw&vÿvÊvžvkvAv uÖu­uyu?utÌttMtsºsisrÎrsrq°qJpðpŠp oµo;nÆnBmÂm-lšlkhjÝjJiÀi2h¤hgzfîfVeËeBdËdZcÒcabåboaéaj`Ð`:_«_^Ž]ä]o\Ü\s[ì[m[Z8YnXY!YÕYwY+XÐXkXQXWëW€WJWJWWWW*WuWÈWlW»WÞV¬V'UoTôU#TÃTÓTeS-SlT/TúU7UdU„U{U)T€S´RšPÃOZN LËJÍHÕG¢FyDžB¬BQCC–EmF}FøGæH¨IbIÑJ)J@JQJ„JÛKgLFM[NfGfLfSf]fefofufmfiff¥f­f­fÃfÚfîfôf÷föfùggg*gDgZglgg‹gšg¬gÅgÎgÄgËgígýgügõgïgñg÷hhh hhhhhgügïg×g·g™gtgFgfÓf˜fif7feÖeªeŠejeBedùdÖd§dpdDd'd#d2d5d cúcÑc®cc›cŸc¯c¶cÆcìd#djd‹d–dÉdüdþdødödñdïdçdÞdÐd¾d¦d‹dhdBdcÛc¬c}cOcbõbÌb¬bbxb^bBb0bb aåaµa€aQa/a`ø`Ù`¸`•`r`R`C`8`_÷_Î_¦__]_M_K_S_k_…_”_•_—_“_‹_z_f_N_#^ý^Þ^Ä^ž^s^O^7^.^2^1^]÷]þ^^%^M^‰^Ó__\_‹_®_Í_ì``=`n` `ØaaAa€a³aìbbEbŒbÆbüc5cmcªcïd=ddÞe#e_eŒe­eÃeàfff@f[fmf€f›f¾fåggg;gUgog†g•g¥gµgÀgÐgãgðgüh hh2hKhbhxhŠh–h¥h»hÞi i>iqii´iÊiÛiñiùjjjiòiÁi—i_i"hëi i¸iði§i—iti]jk^moqÌtt r\p“nUljÈj_jjj­kDkOjÉjjj^jÄkjâkkCkfkWk#k8kYk~kžkËkäkÅkÄl&l lùm#lülÚmmlõl¾l™l€lglWlDl2l5l3l/l4l(lllkükõll@lTlUl=l7lBlnll›l›l˜l™l“l}lMl%kékªk`jëj‹jSj'iíi iDhßh†h-gÊgVfíf€fe´eFed»dbcìcabëbžb]baÂaƒaja`aGa a`ç`¶`y`J`_Þ_¨_h_"^ò^¸^m^#]Ü]“]#\Ä\¨\\H\,\[à[œ[[j[d[k[{[v[…[}[>[[[[$[M[P[Q[;[E[+[,[ [)["ZüZ×ZÏZçZÙ[[•\åZ“Yî[–[Û[?ZîZ+YÎYNXäX´XÚXÁX›X”XXxX™XôY‡YöYäY¥Y‚Y|Y€Y‹Y}YaY_Y€Y¶ZZ>ZvZ¤Z¿Zß[[[<[¼\Q\Ç]C]Ê^5^‘^Ü_ _8_T_e_l_c_q_“_øaJdõj‰ixifjÅjjk k¤jñiÕh;f†eodÛe4fggešd›d¡d7cÂdëeÿgXeèdddWb‚bb§b^bpbàdeŒggÊh9j jiAihrhhNhhwiIiéjbjñk jôkkGlãnjo'o³oûo²o–ocoanªmm–nKmÛjFh–hçhŸhOhgëgúgâhgæhgògçgÉgïgìgðgâgŸg¢gOgEfåf fÎgtiÉlˆmoäuy|¤€‹~”|âyåzÅ~%€é€x€ú}R~¢~ÿ~D{—|~ß}Û}&|’zŸ{–{®zfyÂzzx\w°x¼yxx8vðveuõvÅuuugw@t»rôss´s»sssÌrûsztøtsÉu«x÷yØw¥u˜v—xFy­} ©˜€Ã|°{“zâ|©€E{Ëxã}T}›€Jqvurar7s,uxW{3züx–uCrÌqÿr³røq¢ongo¡q½qˆp4omym"n~nAk«j·iÐjiêißi±i“iPii i3iUiQiqUqmq†qšq²qÁqÚqéqúrrrr.rWrœr»r¯rˆrJr(rrrrqøqÙq±qƒqLqpþpâpÉp¢p|pkp`pHp-poÖo¶o£o•ooo’ošo o¡o—o~o^oIoFoLoMoAo)o"o,oJoƒoÁoäoípp4papŽp¸pÙpÿq*q^q—qÑq÷r#rGrmr—rºrârúss*s>sVsns†sŸs¸sËsÜsêsôttttt)t:tHtMtVt]tethtgtft[tIt4t"tsðsÌsªsˆsgsFs&sràr¸r‹r]r,rqäqÉq¨qqeq:q pßp­p}pOp$oúoÆo–oco4nÿnÆn…nSn%mñmºmŠmgmOm'lïl­lRlkåkÞkÓkÉkÌkåkÓk¿k°kk™k˜k·kåll@lvl‚lrlclpl®lþmIm‡mm£mµmÌmçnn n>nTn_n_nRnKnOn]nknjnintn‡nnªnŸnndnVn]n[nLnlmlmlll|lŠlŒllrlRl%kÿkæk¯kfÄf]eïe„e6dÓdmdc{bûbžbGaýa²aqaSaPa=a`ý`Ñ` `j`5`_Ó_ž_j_8_ ^Ü^œ^X^]È]‰]H]\×\©\ƒ\k\Z\[÷[È[’[t[w[{[Ž[€[\[K[K[`[t[†[€[†[ƒ[’[Œ[f[:[Y[`[w[a[U[W[x[×\\ŸZYü\Œ\[^[ZVYÜYaXëXmX\XrXµX¦XdX:XOX˜Y-Y¸YóYÊYSYY4YOYJY8YKYuY›YñZKZZ”Z·ZÔZý[=[h[Ô\h\Ø]:]–]ÿ^X^ª^æ_ _I_u_¡_Œ_k_š_·`vd%j isjDkjJjÿkQk—k7jh8f2eœe’e¨fÎg^fue5d}dÒdáee"fÐhe·d b×aïb&baébpcäe}f`fàg®i£içi9h¾h9hhh hgÜgžgAg?g~gÉhgßgh7iSi×jHjÀjïjäjxkm°o+oŽp*pKoÕo on˜mÅmlm×mìmyjEhŸh¼h§hBhgëgøgÊgçgÚgîgägÕg¶gÔgügÛgæg¶ggog+gfÚf]fùi>kÐm¼nÃptX|~ }Çm|ç|3~ÓÁƒà€¥­‚…1å}£{6z½|~ ~Õ{ÏyÓzÊ{vz>yoxOu3t*wwMuuu÷u×wwbw4vbuÇuhtsºt tltÛsàssŽsrbrMr¤s's[txvyh|¡~ô´~˜}U|Rz¼z¥{ú}å~Ãz¤y^{ xð|Ê~‹v¡r¤stw zCxÅw+wÎuqãrq pEpAo†n¸oRr qµo¹oço½m{lÆljÌjGj6jqQqiq~q’qŸq®q¿qÑqÖqáqëqúrr"rXrfr.r qûqëqõq÷qéqÔq¾q—qqq7q pïpÔp¸pœp‰ptp_p;poáoÂo«o¡o“o…o}o}o‡ooˆonoAonãnÕnãnænÔn¾n¸n¹nØo oAoZojo‰o´oäppEpspžpÊqq2q`qŽq¸qÙrr!r@r`rur’r©rÈråsss;sSscsmsssss¦s¶s¿sÄsÕsásäsèsðsúsûsýsøsêsÝsËs»s£sƒs_swMwZwbwowrwww~w€w‡w‹wwŒw„wswYwh\hph{h…hšh·hÞiiiiiiiiLiKiBi;imiçj®k‰kýkªkrk‡k[kGk‰krkgk‘kk¼kólll-l:lhl„l’l³lãlÛmm?mSlÙlLl0lQlQl:l\l[lZl}lll|lˆl lµlòm)mcm£mÝn n9npn¥nØnýo'oSo‹o¿oöpp=p[p}p¡p¾pÞpòpÿq qq1q?qSqgq|qq–q–qšq£qªqºqÃqÆqÑqçqÓqÊqÇqÃqÉqÇqÃq²qœq€qXq!qpápÈp­p™p‡pqpTp,poâoÍoºo¨o’o„oxovovopo_o6nÿnÇnŽnpn„n’n~ninjninzn›nºnÈnâo o3olo¡oÝppDpwp£pÎpýq(qQqvq”q®qËqãrr r9r^ryr›r¹rârús ss sss,sQsksmsus~s…sŒs—s–s“ss‰sssscsYsEs%rÿrÖr±rŽrurarHr1rqðqÅqŽq\q8qpðp³pvpGp poÞo¯o†oSo"nðn¶n‹nan+mômÓm½m§m†mRm1lúlÜl°lylIll kýkÿkðk÷kúllOlrldlQlVl}lÁlúmmmm;mXmvm¯mõn8nMnGnw@w7w1wv÷vÎv¡v|vUv1v uâu¹u’uiurør¦rVrq¦qSpüp¨pPoóo–o-nËnYmêmulölykøkwjéjhiÜihYhihuh„hŸhÉhõi(iRivi”i¯iÃiØiåiîiêiéiÞiÒi³iŠiji^i2injÙl¸nyq±q¡oâq rWo¨mk}kkylÂl¦k˜j¾i‰hÈh¨hüifi]iŠj$jnji|iri·jjJj™jÚjýkk!kDk2kikk’kÀll.lJlxl·lÆl”l›l³lŠlhlQlFl6lkököll këkÑkÍkÀk¶k¼kÀkÃkÎkÖkÜkÝkÖkØl l8llll6lUlZlQlAl9l"lkïk¥kNkj·jlj0ißiyihÕh”h[hg–gf¥f_feÉewedrcÉc,b¨b/aÒa¡aza\a?a`õ`ä`Â`£``I`_Ø_¡_k_5_^î^½^‹^L^ ]×]œ]_]'\ô\Ô\À\³\¥\•\q\B\[ò[Ó[¼[¿[Ö[Õ[Æ[Æ[Û[â[ó[ù[õ[ì[Ñ[Ì[å\\|]@]$\Ã\¬\¿]H]‰[8Yö[5][Ó[™[`ZÍZ3YÂY,X´X?WïWäWæX6XˆXtX^X§XþY+YCY^Y9XøXýY.Y_YŠY–Y©ZZwZ¥ZÖZþ[,[y[µ[ö\=\r\®\ô]F]]Ù^=^¨__w_Æ_ó_Ü_±_r_w_ƒ`MaXbfeÍkll5lçlÝkŽllsl?kijÜh×fÄf.fXggh6f>dÒdŽef~g\gEhi$gÞdDba›aÙacb3bßd dêeþgÿiÙjAhßhRh3hgàgéggHg7g‰gÀhhgšg{hTiiOiÂj.jiåjšm*mÒm©nãp:pLnÈnm­malölÌmlÈlÐj†hÁhmh†h$gâgÄgÂg·g±g¬g¼gÈgºgÁgÛgÏgßgÃgÑgÏgŠg‰gfÖfbeìeìg¼iviÖjzkgmpçtœw%w¨z\|ü||ÚC€¦~o|¼~Ä€çƒfƒÀ‚Ž{_€œ~5{rzty’xox0wWv]v¹vÍw xxwúw”wwìwÎwwÈugfáf£fvfrf„f—f f³fÅfÐfÛfÝfÖfÎfÏfÑfØfÝfçfõfûggg ggg"g0g>gOgeg{gŠgšg©g¼gÆgÑgØgÞgâgægêgòhhhh h)h.h5h7h5h6h8h6h*hhh=h`h—hÈh×hÙh×hÞhæhöi ii i%i$i"iihöhähÌh¦hƒh_hAh hgàg·ggfgBgfófÕf¼f ff_f>feýeÜe¹e–ene=e d×d©dd]dHd=d:d9dDdTd`djd‹d¢d¬d£d³dÜdÔdÎdÑdÐdÐdËdÉdÈdÅd¶d¤d’d|djdZdKdcb÷bÔb­bŽbnbNb%aýaÓa¥axaHa`ÿ`ç`Ñ`Å`º`®`¡`‰`o`Y`C`/`_ÿ_á_Õ_»_”_v_K_^ú^ð^ö____,_7_K_j_•_½_Ø_æ_ô``C`r``Á`ìaaQaŠa¾aôb!bMb‚b´bäc!cVc’cÛddId~dµdôe6eƒe¼eåf f+fDfYfqf|f˜f²fÀfÛgg)gDgYgjgrgg‰gg—g–gg¥g«g°g¸gÂgÊgÙgìhh#h=hMh[hlhˆh«hØi i6i]i~i™i°iÅiÓiÙiÝiØiÕiÄi¹i˜iwiSi>iixkl"l`lËlPl·nTp}pm½lÒlvk³kkj¿i´iBhÅh–h£hÅi/ikiŒiþj8jiºi—iµiôj9jzjÏk$kk kk k0kgk|k«kël ll)lqlŠljlql‡ldlCl%llkçkÈkÛkúkôkÉk¤k—k‰k‚k’k˜k’k–k‘k‘kŒk“k­kÔlkïkÒkìkþll7l8l%llkçkÔkžkik5jìjžjTiûižieïe™e.d²dcpbÜb^aña¹aaxaHa`ä`Ú`Ì`´``_`0_ú_Á_Š_S_$^ý^Ç^“^Z^]æ]¹]‚]M]"\ô\Ú\ã\ã\¾\“\e\S\6\*\\\\[ù[Ü[î[ý\\ [î[Ý[Ý[á\\\÷]?]=\±\w\Í]Z]KZÅZÔ]6][Ë[”[F[-ZåZyYÄY+X¾XxX)X-XŒXæXØXÃXÎXçYYYPY’Y9XðY8Y€YÁYÙYÏZZyZÂ[[Q[ƒ[¸[õ\3\X\w\£\è]7]i]È^ ^ˆ^þ_O_¨``_ö_´_f_W_¨`„a½d¤hChÎj>löl)ktllj¤jÜkƒi(fÓfgIi[i¶iBfÍdêeÙg¹hRhêiOiËeîbOaGb!adaÐbbÉcëeeh iìjGhíh\h[h gÅgÑgŒgUgBg°gÁgögüg®gÁhNh·ii|i°iúirjÓmmmnÃpqoðm»m'l¾l@l l‚l¦l j•h¸h6h7h gÙg·g§gŒg˜g¢gžg˜gÅg½gÏg·g©gÃg³gÚgºg}gfµfDfeueâeÎfZh.iÏjMk?lÚmupºv¥~I{ß|_}c~¬uY~–~؀Ńª„R‚¹‚O‚Ô~X|ý{,x`wkxex0w‰ySzuz=yæyûy]yŽy”x›w•v uŠvKvðuîtpuu`rÔp¤qãsƒtdu‡uKuúwÏyizÐ{"z‰y`yNzoxñxzyAy?y6x0z{xrUrŒrŠr™r¦rr•r‰r”r¨r¿rÈrËrÃrÂrÅrÈrºr®r rr…rkrErqìqÌq·q q‰qaq@qpüpÝpµp„pKp'oþoÈo™onoEo%onÌn—n\n,mÿmÔm¤mymXmXm\mVmLmlçl²l•lqltl„l†l”l l©l›l¨lÍlélþmmaàaa`½`m`%_é__ ^‹^]¯]2\¤\2[Ü[€[Z¯ZYZYóYñZ:Zø[v[Õ\!\W\\\/\[”ZõZ›Zì[€\\¬]o^^_?_ü`“aa€aÿbhb­bêc_dd¨eDeáfgg´h:h£hõikj&i8j˜jËhVfYfghÅjxiSg]fœgShMhÐhŒiWh_c‰aba´a˜a‡aêb¯c…ehÖjqj8ihXhjhCgÁg¯g­g¥g€g…gggØgìgÙh8hwhÃhåiiEi,h×jZllßmùoamZldm*lÉkÒkrk|kskÖlBl‡iÛh gðhgÝgŸgŒgghgPgIgg‚gŸg¤g¡gºg¢g¸g±g¨gƒgyg-fïfifCeóeüeíezf*g‹hÉiiÑj!m uwguÝy¶|ï}þ~_~vBƒƒ‚€Ó€—€T€¤€¢3}ù|ìy‰xçxtxÆ{"zÊzÁ{{)yµyxÛxˆw³w_v¤v¿wûw4vÙxçw³sÂqÐqït u·uåvJw wéx4yIzy'x‹x_xäw™v.w£xpyN{*z1z2{ay¦wšvsìsKsÙsrärÂrþtsÚs r‚pþnn!oŸn0nØl·lªmîlŠk–kj~j½jÄjÍjRj-j(iÈi€ibi]i%i7iWidiYiŽiPiiÉkúl¹lãlLkõl;l¡l£l¨l-kƒkFk0kNktkšk¦k®k¯kÅkÍkßkÝkÖkÂkÙl%lPllélêl™llqlbl‚læm lýmGmam–mØm©m£mKmmq pÓp¦p€p_pEp'poðoßoÛoÐoÆo³o oˆoloOo.onÓn™nan1nmäm¼mŒmdmTmDm>m:mv=vDvHvFvHvDvCv8v'vuíuÅu—uquLu(u têtÉt¨t}tJtsÜs£shs,rñr²rqr/qÝqŽq5pãp‘p?oðoœoSnôn™n4mÉmdlølŽlk k+j°j7iºi8h¥hgnfÁfe‰dÿd}dc¹cbbúbba…a`k_ß_A^³^]}\æ\Z[á[WZìZCYãYaXÒWæW*X*XÑXÌXyXzXCX1XXWøWÝW WƒW^VúVVeV;U†TíT¸TáUƒUðV$TúR»OºNM=K’JêJI!HéHÐGëFÑEÝD£CQC?DNEEjF@EóFFYF¤H&HcH1H;HI I{J JÿK¶L=LãM§NRNØOOO™OÙP4P‡PÃQ0QR!RÊS‘T‰U}VYWWÍXqY!YÙZ[C[ä\‚]&]º^C^Ð___Þ`j`÷a…bbŠbícIc°cød'dPdŒdÌee8eve³eÑeæeéeÝeÊeÊeÍeÖeòffQff¯fÕfæfêfÌf§f‹f…f…ftfXf]fufŠfœf­fÊfßfógggg%g2g@gEgJgJgEg:g7g:gFg]gug”g°gÌgàgôhh hh%h0h8hgfùf×f±f‹fifHfeöeÉe—ehe9e dÙd³d’d{dsdodud‚dd‰dƒd¥d¶d¨d­d­d d¢d¥d¦d®d§d”dŽdœd­dÄdÓdÍdÆdÁdºd°d¨d dšd’d…dtd^dDd)d cãc¸cŠc^c1cbäbÄb¤bb`beße—e*ddc…bÿb~b'aóa½aƒaJaaa`î`Ø`º`’```7_÷_¾__W_^à^«^}^O^&^]Ù]©]e]0\é\½\Ÿ\Š\ƒ\}\†\’\—\›\{\y\ƒ\s\N\J\:\&\‰\º\æ]\g\Ì]ó]µ]V]#] ]I];\Û\]I_]B\[`[|[[oZïZ„ZYpY"X÷XÚYY”Y­Y¤Y3YYoYfY_Y¸Y®Y2YVYÔZ!ZZZ0ZZü[y[æ\&\\\€\œ\Ä\ý]%]g]™]â^^M^ƒ^¹__q_¶_ú`-`B_ü_u_^é_âa£c›d×fikjvhûh»i.hêi§jJi\f¥e‘f>g¥húi]j¶kJi–i*iijk¹fœbaIaa{a~b“cCdhkjk¸kÀhÆgbgÀgÈg¢g‹g|gUg$g,g g2gPgYgƒg~g‰g‡gŽg™g­gƒglgfÚf”f;f&eÑeÛeºe…eµgiklk!k=lêlmDnÝsó{í|»}xÖxÂ~ ~é¯/€;‹~7~œ~œ~ˆ~ü}|zî{6|…{¬|{UzÆy‘w~wrx?w-v˜uêwx¨xÑyìx¶tNq÷qÿqˆr×sÀt…ww¥w]w‹w¹wv¥wŸv¯v’uÒt“tv[x†zA{[{tz`xŠvîvvUr¦ssórµqÅrît¤tÆu7t!so mnËnenšmlãlâlk>jæjbj‡jšjŸjsjajiÔi°iti_i@iziŸiyi\i_iižkdl×l»lÑlvlZmmm8mkÏklkhk3kEkkk„kzk‰kk²kÁkÎkÑkÕkÝl lbbÔcc“d1dÐefeÿf•gg™hh]h¸ii^i¯jj]jºk!k’l lmmªn5n¬o oOo‹oÁoøp0pmpÀqq€qàr:r|rœr¬r¸rÔrôss>sds¡sát'tfttÌtøuu5uMugu‚u’u£u¬u´uÃuËu×ußuáuÞuåuíuðuöuòuôuñuêuâuÓuºu—uquLu%utçtÄt©t†tbt:t sÔs›s[s"râr¡rlr'qèq˜qIpôp¢pVpo¿ojonÀn`nm–m/lÀlRkçkpjýj…jiih“hgwfÞfDe©e(dšdc²cMbêbmbav`ô`d_á_Z^Â^/]Š\ú\b[í[\ZÛZ[YÅY[XÏW÷WEWXßYX«XmXdXDX*XWûWÁWWvWYVÍV!UñU´U*UTñU(U^U UšSDQhOúM¶L}JÐJ9I›I\I`H›GÉFÚFxEÄC½CtEEÈE€FOEëE#E\EjF+FÛG:GŒHH¼IlJJKWLBLäM–NNcNÇOEO°PPRPrP QQƒRVîW¦XKYYªZZ[[²\U\û]ˆ^^±_7_¼`;`³a6aµb*b’bõcXc¦cìd$d]d‹d¸dõe4eue¯eÕeçeëeíeéeÝeèeôf f8f]fjfrfxf„f|f^fNfUfffjfVfNfTfef|fœfÆfãggg*gi ihéhÈh«hŽhshRh+hgág¼g‘gkgBgföfÐf¬f†fcf=feäeµe„eVe)dýdÕdµdŸd‘dŒd‹dd›d–d‰d•d•d€d~d‹d’d—džd¡d¤d›d…d~d‹d¡d¾dÖdÜdÝdÝdÙdÎdÃd¸d±dªd d–d‡drd\dBd c÷cÇc˜ckcBcbóbÒb´b•bubVb3baíaËa¤a}aTa)a`ë`Ò`¸`¨`˜`„`[`+`_â_Õ_Ü_ß_Ò_Ô_ß_Õ_Å_¼_Ð_ú``>`b`‹`ž`§`Å`æaa6ana±açbb@bbbŠb­bÞc c=cjcšcÓdd.dVdŠdÀdùe:e|e¸eðffCfkff­fÇfâfüggBg^gqg{g€g†g”g£g°gµgºg¼g¿g¼g¼gµg®g«g¨g§g¦gªg²gÉgàgóhhh.hIhkh™hÅhòiiDi`i|iiži§i§i©i i–i…iriPi9i hôhÜihòhÍj"l’n=n7ml¶lj!ih­hÎiMiPih»hÑhähÎhªh‚h’hÜiFi–iÞjjgügÜg‡g!gshMhíhÖh¦hÇhõih h,gªh4j®kÆlÌmhjßgueÃeögVijj-jOjzj¨iígžg g¤gugpgMg>g fëfÅfãfægg g8gHg\gng†g{g|gzgRgAfõfÚfcfWf@fe×eºe±f(g hdiii h“h8iXlêsÌudxfr²qÂw^{K~¼~Ø~Í~ÿ}þ}}\~ ~~~5|T|Ë}f}V}$z zgx»vAw£wÂv_vkuv¢wùxfxÒwÆvrqÍrmrxrŽtŠwpwžw®xwÿw?v‰vÛvñvyu½t…rsSw«y÷z¹y÷xv¬us¨w t(r8sAs`rat¥ttBw+uQsðqJnFn²nïnülæmmNl]k“k3jfjijºjÔj¯jmjiøiÜiži~iTi^iKi]i5iPiÓk7lGll‹lÐll˜ml¤l¢lƒkkCk\konØn¤ncn&mémºm”m{mhm>m lÓl±l–llŠl·l·l­lÒm2m€m®mànnLn^nsn˜nÄnØnânânûooBogo”oÑoñpp8p2p5phpŒp•p‹popyp†pp®pÄpÑpÊpÔpépüq qq$q2q8q7q3q0q0q qpÿpðpÚp½p ptpSp,p oñoÒo²o“o}oqouojofoZoHo*nîn®nˆnznmnVn?n!nmümÓm­m…mkm[mYmKm1mlôm m=m…m«m›m™m˜mm¬mÌmÔmèmòmômõmþnn4nPnjn‹nªn¸nÃnÎnÆn¼n°n¤n•nn|nincnfnonrnsn‚n„nqnhndn_nWnQnInAn3n*n#n#n$n"nmòmÊm©m™mŽm…mhm:mm m#m5m3m6m/mml×lˆlAl!lkâk³kƒk_k7k jÝj¬jwj8iúiµini hÄhjhg½gYfòff0eÝeƒed¶dScðccb·bRaêaŠa>`ÿ`Î`‰`-_Â_g_ ^·^\]ë]s\ü\‘\2[Õ[ƒ[A[ ZõZñ[E[á\f\”\¿\ç]]\û\€[y[ [G[Ñ\c]]µ^N^Î_j``ªa!a}aðbbb·bèc.c¯dLdæe{ff£ggˆgêhCh¡h÷iFi’iäj@j¢k kykõltlûm€nn‡näo+odo—oÅoøp,ptpÔq7qœqør9rWrfrmrr£rÌrñss]s¤sêt!tTt~t§tÈtâuuu0uDuOu]ufuouru~u†u†uŠu‰u“uu£u¡uŸuu–u‰uzu`uDutütÛt¹tžtt_t?tsôsÈssVsrØrŸr\rqßqœqVqp¹pip oÔo„o8nânn/mËmflûl”l!k´kAjÏjWißiihìhtgögrfáf^eÏeKdÈdCcÉcHbÝb^açai`í`k_Ø_M^³^*]Š\û\`[×[cZËZSYÖYeXèWüVþVÞX£YbYX©XRXjXjajyjŒjŒjHjVjj§jµjÇjîk;ktk‹k›kœk£kzkLk>kJkVk/kkkkjíjÑj­jj€jqjjj\jUjLjJjNjYjuj©jÏjÞjîjùkk=kEkKkOkKkGk?k8k4k1k'kjÒj‘jHjiÕiªi{i0hÃh‹h¢hOgÕgCf«faf6eãed÷ddc·cVbób«bhb*aúaÍa£a‰aoagaQa*a`Ö`Ÿ`i`/`_­_B__^õ^Ã^”^†^?]¯]t]g]S]H]F]]]w]w]m]`][]L]R]G] \\e\g\¡]T]Ö]ž]e\}\h]¡^‡^A^?^X^@^Ø] \~]´]\}[Ý[³[ÿ\Œ\Ë\\[SZZ\ZIZ#Z ZFZ?YëYÀYôZY÷YêYýYóYY-YPYëZJZ8ZZZZ­[[¨\=\‡\¬\Ú]#]x]Ù^#^z^½__5_„_ˆ_’_›_÷`¸`žaa`þ`Ö`<`_h^ó_|`øc>fiïj;hVgögŠg{gÝgøgÚhJh€hgÇg±hMirkŽnon njnDk\iSeObµaca%a…bsbecg¸iøj$j’j@iWhlh4hwhKhgüg“gùhçibiyi©i[h€hŠh[gåg gµjLkþm`m­jSfee•eÍgßiiai…ii«h‡g0g2gLg&g;ggfÃf¥fyfžf¤fÃfâg gg=gCgQg|gjgwgih÷hÚhÂh¢hh]h=hgígÃgšgpgEg"fþfÞfºf•fgf;f eÞe°e}eUe4edódßdÎdÍdÌd¿d®d£dŸd—d‘d’dd“dd¥d¦d¬d¬d³d¼dÂdÏdÁd³d³d¿dÉdÕdÙdÖdÔdÅd»d³d«d¥d›dŠdrdTd/dcÚc´cŠcbc?cbùbÙb¸b”bpbKb(aûaËažauaQa2a$a`ß`Á`§`Š`u`m`g`o`y``}`v`\`?`;`N`u`’`­`Ã`Ò`íaaGaza§aÍaêbbNb‡b®bÉbçcc:ckc‰c¥cÕdd+dUd‡d­dÝeeDeme·eôf(fYf‚f¬fÒfògg'gDgcg{gšg±gÄgÉgÏgÔgØgÙgÜgÜgÞgágßgÚgÎgÇg¸g²gªgœgžg£g©gºgËgÔgágþhhFhrhh¾hãii)iKi`ipiqitioirihi^iGi4ihóhÖh¹h†häi£jl}malqj hôgÚgrg]gTgwg‘g»gçh+h_hohŠh³hàhãhÆhäiiciÉjjOjqj@jUj`j;j>jAj7j6j@iøjj/jKjbj€j¯jók!k2k\kvkik/kk"kk;kjÛjåjÎjªj—jxjZj>j+j jiýiòiñjjj j=jxj‡j™j¹jËjßjôj÷jøjùjöjøjöjújüjùjéjÚj®jjj.iôiÄi›ili5h¾huh{hDg¿g)ffBf%eðe†dþd}dcæcÊcrcbÎbœb]b+aøa×a¼a³a£a|aQa#`ñ`À`†`T` _¦_p_R_%^ë^¨^±^†]ù]»]¤]‘]]¡]À]Ô]ß]Ý]Ñ]Ã]¹]ª]<\Å\r\n\„\á]—^Š_h__]I\x]I^–^æ_G_–_^U[å\"^w^e\e[ž[Ú\N\ï]A\ª[uZÔZ÷ZóZÔZÌ[[#[Z„ZcZ€ZnZJZ_ZiYëYlYŠZZpZmZCZ‚Zã[J[½\L\“\À] ]]ü^_^«^õ_0_¢_õ`&_þ_…_B^ú___Y_¬_û`_t_¿_ê__#`Êc¤d—fÒiÊhgöhOiiÓhÔgÉhPhØh}hËhUgøh«jl:n™o³o±oÌl.i‹gKe=c#bSaúbbbYbüf¯i|jj±jÙj”ikhÈhÄh¥h†h·gÂg²hÆi`iiChKg½hbh^g“fâhCkl¶m}m k*fLeehe;fg´h†høihÖggfÀgfìfèfífËf¿fKfgQg2g gfÙfžffef0eùeôeåezeeeYfæh‡h"h6ii@hEim[oIpLr»wR{‚{e{ð|Ì| z™{ñ}F~ÕÞ¤g}ä|ê|{YzœyxuštNu.s rs6svu5uÌwavíu€u)pÞo/qt/u„w´xyyyXyëzÈy1xXÊX3WºW£WÇW´W›W=V²V3UÍUUTºTóUOU0T²T_SØS¿T3TS(RP_NLýL]LtIíHG(F§G E¸D×E*CîDfEuDNDrDÄD(EF£FöF¡G=GåHIIåJàK¹L7LyL©LóMwMðNWN×OOOšPP»Q“RTS"SÔT‡U=U÷V¢W@WÏXuY YÃZgZø[ˆ[ü\d\ï]·^:^–^è_K_¸` `Ž`óa[aÜblb÷ckc¶cÏc×dd;d€dÁdüe3edeŽeªe¶eÉeÌeÉeÉe¼eÇeøf!f2f=fBf0f f e÷e÷e÷f f5fuf­f×fþg g;gNg`gmgxgygwgsgogpgvgˆgœgµgÔgñhh0hNhkh‚hžh·hÐhéhþiii#i-i>iQi^igisi‡i–i£i©i§i¥i¤i²iÑiíiöjj5jOjfjmjnjij^jRjNjKjDj9j*jj j jiöièi×iÁi¢iŒiviZi/ihèhÐh¶h“hphLh/h gâgÀg™gxg_gIg&fôfÑf©f{fHfeêe»e“eseVe6eeedûdëdädÜdÇd¯dŸdd£d«d¬d°dµdµd²dµd¹d¿dÓdÛdÒd½dÆdÉdÂd¿dÁdÀdºdºd±d¬d§dœdˆdndNd-d câc¿cœcvcSc/c bêbÊb©b‡bab9b aÛa±aataPa4a`í`Ò`Ç`Ä`Ë`Ø`Ö`Ï`Æ`½`¤`—`‹``¤`¸`Û`öaaa2aQa|a©aÕbb/b^bŠbºbàbïcc&cScƒc¯cÒcòdd=dadŽdÆee?e~e¨eÊff/fZfzf¡fÑfógg0gMgjg„ggÁg×gãgçgígôgógïgñgîgïgîgìgågØgÏg»g±g¤g¢g«g§g¥g«g²gÅgÏgæh h9hih’h¸hÐhñii.iIigiWiPiKiGiBi7i(iihéhÊh­hÊixjällCk4iöh©g¢gfÞf÷gmhhNh“hÝhÑhÁh£h—hÕi iii iiQi§i÷j^^]ô]î]ó^ ^^(^^^ ]ç]À]U\ó\µ\¹\½]]¾^F^v^K]1\[\²]å_'`O`´_›\â[D\j_^à\ó[š[Î\o]#]…\í[ì[}[x[a[g[m[Ÿ[ä\[[<[[ZÌZ¶Z³ZfZZZ}Z©ZŽZaZ¼[2[ª\ \o\¯\ö][]ß^a^Æ__M_”_õ`_``x_Ù__^›^ ^A^®_1_[_^æ_` _Ë^ï`Zd*d?e(hµi h™huhÜj&j!i³i‰igÙg«h:hˆhÿiŠjölœm)m'nänÁkáh£ecêcbbhb¶bûeÝh§iCjºjÎi¹ihèhšgøgúh[gfyggtgÕg×gžgÎhah$g)g6i§kïlæn1m£j$eædñe[dàe}f‡g~hhgÄf¹f€f¯fœf›f f…fyvukôk¢kžk¯kµk³k¯k´k»kÉl lll“lål³l¡lÑlÛlÇl©l±lÄlÅlºl«lºl¨l mm²mânKn%mÏmênIn”n¯o.oGo6o)nÁnŠn‡nvn~n‰n¡n´nÕnûo"o8ooOoUoToIoFoRobono}oƒo˜o¤o¦o o—o†oroZo>o+oo nânÁn¨n‰nfnGnAnjn£nÂn½n¸n¯n–nxnlndnXnTnKn3nmîmÐm¥mbm[m`mLmBm&mFm’mÂmänn nnn nnnn+n=nInUnZnanjnrnxn‡n¤nÌnënïnènÝnÅn±nžn”n‹nƒnvnjnfnnnyn€nn„nsnbnSnAn/nnnmõmàmÊm»m±m®m¥m˜mƒmhmAmmlìlãlÌlŸlqlKlXlslxlmlKlkôkükåk¶k€kIkjîjÃj—jijDjiói¾i‹iQihÔh‘hIgùg¢gKföf—f?eäe‹e2dÕdfcõc}cb©bVbaäaºah`ç`l`_Û_¯__A^ð^–^0]Ä]^]\Å\Ž\\\4\\\O\á]H]~]š]§]£]Š]„]X\|[»[Ì\8\À]?]õ^_'_´`2`»a=a bbfbÆbýc$cdd˜eeŸfk¤llŽm mŒnndn©nÝoo"oBono£oôp[pÆqqaqqŽqqq¬qÚrrQr”rÓs s:shss¸s×sýtt-tjÕjiiòi‚ih§h-gÃgOfÛfkeÿe“ed¬d)cªc%b©b$aža`›`"_¡_^ƒ]ô]l\Û\S[Ý[dZýZZ2YÌYVXuWJV©V¥V¡VòW3WWW=WrWkW.VŠVUµUTTþTØUUTUTyS´SŽSÒS›S½S—R;PÆOFM»L{L…JtH/G^FÀFÌEüE¢F\FgQg_ghgfgagegjgwg„g˜g°gÍgïhhAh]hzh—h´h×h÷ii&i5i;i@iJi\iri‡i™i¥i±i¿iÊiÑiÔiÏiÊiÛjj&jBjJjYjgjxj„j‡j‰j‡jjvjpjgj\jOjCj1j!jjjjjiëiËi®i•iuiBihÞhÁh£h{h_hCh'hgégÊg²g¦g—g…gag3gfõfÀffOf%eùeÐeªe„eaeGe3e"eee düdÖdºd²d±dµd½d¼d¿d¿d»dºd¿dÊdÒdÝdédìdÞdÞdÓdÀd·d²dªd­d¯d§dªd§d–d}dbdEd&dcècËc©cˆcgcCc!bÿbÞb¾b™bpbFbaïaÇa aŠanaKa0a aa)a7a:a5a#a`æ`Ü`Ö`Ù`ß`è`úaa6aNa]aqa•a·aØbb9bmbžbËbñc cc&c9cac•cÅcëd d+dJdgddÈe ePe—eÕff'fIftf—f°fÔgg.g?gOgrg‘g«gÂgÙgõgýhhhhhhgÿgÿgùgögîgàgÎgÀg°g¥g¡gŽgŽgŠgŽgg g»g×hh0hchˆh®h·h×hïiibi~i;i)i'iiiiihýhåhÐhÓi%i?iXiÖiíhÒg¸gfÊfËggRgÂh†hçháh³h¡h±h®hªhÁhçi-iji~itiiiŠiÌjjMjojNj-jiÞiÇiôiõi¹iBi^i’i×jjjXjj¡j¾jíjój×j¸jªjµj­j¥j…jrjj…j^jIiîi­iŒikiQij8j6j-j'j:j=j1j0j4j6jeWhni%jÄk\iÄhÉh*gäfÁe¯e‹e¡e•e¿eÈfTf÷g[géh.gµf gBjRlNm‡n©l“hdüdÍed¼dãe½f_frfMfeÕff^ä_n_ï`|a aoaÆb+bŒbãcc>c¤d3dµe)e±fLfÀggggÅh(h}hÁiiOi§jjfjÆk(kŒkølolåmbmÕn5nyn®nÒnîoo-o_o§p pypÎqq7qBq=qHœGÊEC¨C.D¢H JžJzJýJæJIIÀJJ{J÷K>K‰KÑLLžMMwMÑNcOOóPÀQƒRMR÷S³TrU#UÑVqWW¤XHXóY’Z!Z«[[8[\\ë]v]Ò^B^»_A_Ý`U`œ`äaDa«bbUb¸cchbh‡hªhÌhïii1iHiNiVi]igiwii¦i¼iÐiÝiæiëiùjjiøiújjDjejzjƒjŽj“j—j˜j™j›jžj˜j‘j‡j}jmj[jHj6j0j*j+j.j-j#jiöi×i¸i‘i^i&hæhÉh¶h“hwhUh5hg÷gÖg»g±g¶g¬g„g]g7gfÝf¢fofGfeëeÀe—ereSe:ee e edèdÁd­d­d¶dÀdÍdÑdÑdÊdÆdÈdÏdÜdçdïdëdædädìdðdædÔdÇd¹d¶d®d§d¤dœd„dgdQd8ddcïcÖc¼c›cwcTc8cb÷bÕb¬bbSb)baíaÍa±aœaaa—a¡a¨ašaxa\a@aaaaa,a5aFaWaua’a¥a±aÎaúb!b@bpb¨bÓcc$c8cKcSc]csc cÕcüddn-nnnm÷mçmâmÐmºm¨m”m‡mtm`mIm2mlúlÝlÆl­l–lxl=kïk·k³kÓkìkðkékÃk“kck'jèj·j•jojNj&iÿiÑi§iƒiei@ihÈh…h=hgÆg‚gAgf½flfe±eNdädxdc˜c1bÔb“bcb>ba»a4`½`u`O`?`_Ï_k^ü^Ž^.]ê]˜]d]4]\ê\Í\°\¸]]]ï^(^B^<^#]ó]Ó]‚\¯\Q\¬]]€]ê^_2_½`7`ÆaJa¡aôbXb­büc%cTcÅdUdÓeFeÌfYfÅgg^g´hhih¥hïi9iiíjRj²k klkÓlJl¿m2mžmþnFnzn™n·nÓn÷o!oeoÂp+p€pÄpìpöpêpèqqHq’qÕrrIr{r¦rÏrùssDsfs}ss”s–s”sœs¡s®s¶s»sÃsÇsÉsÌsÍs×sÝsçsìsîsésäsàsÌs°s—ssdsJs,srêr»r‘rbr-qûq¾qˆqKqpØp—pYpoÖo•oYonßnŸnVnm¿mkml¶lYk÷kœk4jÕjtji¬iFhàhkhg‹gf§fAeÙesed¨d?cÌcabïbyaþa…a`š`-_°_3^±^(]¥] \š\![­[BZçZˆZ&Y…XÙX>WÜW¤WÒWþW VœVjVuV„V_UüUUTïTÓTßTöTýTÇTwToTóT[RúSêSäRQSPaO!MuM5LGIñHºGkGDGÞG’GGwGìGªG¯EÐD¼E†HJÙJ*IÔJ\JlIíIÛJ&JhJ¿JöK'K†KâLCL¯LöMfN3OOÛP¶QxR=RçS˜TSUU£V^WW¢X;XÜYvYõZdZ¬Zâ[0[æ\¥]]‚]õ^__½`>`o`­`ûaQaaçb]b´bçc c3ccc–cÄcôd%dTd‚d³dâee e+egefe€eÅe¹eÎeïeõeÿeÐeÌeóeÿeÿf,fkf‘f¤fÂfßfóg gg+g1g@gIg]gtgŽg«gÍgñhh?hih“h¸hÛii$iCiVi]icimiwi‡i i¼iÒiâiði÷jj jjj!j#jusp•qnÝn@nkmll±l momemùlálŠlˆkGjïj£j©jŒjökTkOkŒk kAkkk¸kàlkûkØlcl†lŸl´l„lelllwlolHkõkÔkßkïll lkÿl!lŸlémlm…mLmmm,mmlélÛlÃl°lºlÕmmm\mónëo–oÈo™oboŠp#p"o×o…n¼nhnanMnMnSn\nhnsnŒnšn¨n¦n¨n¦n­n©n¯n¬nºnÅnÕnánènõooo0oIoco}oo¸oíoýpp0pJpepsp}pxp{pnpdpQpDp)p oëoÃošono@onónÎnÃn¾n¹nn{nFn mÑm•mXmlÕl˜l^l3lkõk¿k®kÉkÚkÜkÌk kŠkk¢k¬kÃkçll6l^lŽl³l¹l¤l–lljlTlUlplxl†lll”lœl¬l·lÏlìm m2mLmimmˆm˜m¬mºmÁmÐmÚmÝmÖmÛmëmøn nn)ncÙczcbÈbŽbfbGba’a'`×`ž`x`Y`_¶_8^Í^^6^]Æ] ]r]J]\ö\ã] ]p]è^S^…^•^†^\^(]í]„\Û\­]$]z]Î^6^Î_‡``~aa{aÎb!b~bÍcc8cncèdtdôeheçfkfÈggRghhUh‘hÖi!i{iÚj9j—jðkOkµl(lšmmgmÅn nAncn~n˜nºnâo$ozoÛp/prpp°p§p¢p»pýqOqqÕrr.r[r€r§rÏrðss)s9s?sDs@sCsPsXs\s`scshslstsys€sˆs“s s¦s¢sŸsszscsOs6srýràrÁrrrr@rqÞq«qqq8pþpÄp‹pGpoÃo~oFonÎnnQn mÃmxm lÍltlk¹kZjõj—j7iÜiihºhJgÞgifÿf‘f&eÀe[død’d3cÌc\bóbƒba a,`º`G_ß_g^ñ^w]ô]l\å\m[û[“[/ZÆZzYýY:X XAXXKX VîVV1VUãUåU‘UCTèTëT×T·T¶TÄTËTƒTmU?UšTÇU¬UVRÃQZPWNöM;L_L%K¸J±H1GlH*HfH2GßG¥GGžFéF8F—HPKK~JPI»IÈJ JJ2JWJ•JÕJèK-K˜KóLLLMMúNûOÎP§QwR/RÆSpT)TÐUwV8VòW“X(X¿YKYÄZ#ZWZˆZþ[Ì\u\â]<]°^I^Ý_l_Ú``X`¬`ýa\aËb%beb—bÀbóc'cec cßddLd~d¦dÀdÓdÜdûee e1eleƒe±eÑeÓeáeÉeÑeöeðe÷f3fgf{fˆfžf»fÕfïfþgg"g9gPgng‡g©gÊgòhhAhih”h¼hãi i-iDiUi_igisiƒiœi²iÉiãiöiýjj jj,j=jEjMj\jyj”j¨j¯j¶j½jÂjÅjÂjÁj½j·j³j¤j•j€jbj=jiÿjjjj jjjj jiõiâiÎi­iŒiei@i"hÿhÚh´h„hZhAh gìgÇg gxgQg1gføfÏf™fgfYfGf(feÓe®eže”e‡e}egeQe:e!edõdìdîdõdÿeeedùdëdèdôdûdødôdõd÷dëdÞdÕdÌdÁd¶d­d¤d–dƒdnd\dOdBd5d#dcûcácÂc cccc?cbùbÛbÊb­b•b†bxbmbfbfbib^b>baäaÄa´a©aša•a—a£a±aÂaÒaíbb)b8bFbZb~b´bæccGctc„c~c‚cc¢c·cÏcôd!dCd^d|d¢dÉdìee;eze½ff/f[f…f©fÐføggg6gtg”g¯gÔgÓhh'h:hChGhFhAh>h8h1h+h&h hhgúgîgßgÐg¿g¨g¦g…gÔhg—gsg¤hh­hgÎgÞgòh=h[hthahªi7h×h h±h›hœh¡h©h¬h©h¬hâhéhÝhÌh›h)gyfÎfSfpf³fãgkg¶g³g¼g¨g¼gÒgÎgÝgóh h5hWh“h÷iBi[iiiFiGiciliri}ikigi†i‡iTi'i4ihÓhÚii i#iXii®iÜiÔiäióiØiËi¸i£i®iŽiWi\iDi hÔh¾hhxhWhGh=h,hhhhhhh/hdhœhºhÌhÞhôh÷hñhøhñhÒh°hhVhYh•h©h”hÈiNi h¬hzhNhPhRhJh8hgÜg™gXgf×f‹f0eÇe‚e?dådd\dcìc½cwcDcbæbºbˆbebMbCb1bañaÉa³a‡aaa9a`â`·``]`9`` _ö_â_ß_Ì_¼_¡__p_(_ ^Û^”^a^J^]à]½]÷^%^{^ç_j_Á_ž_]?\¢\E]@_Â[áYÍY~YÄ[!]“^^˜]W\»\Ç](]°]Ä]¶]f]\ï\ñ] ]Z]|]“]a],\Ë\u\4\[Í[_[P[×\c\ \\4\x\¬\é]0]v]Ž]¥^ ^·_‚_m_ _C``‰`¥``M_b^>]š]„]¨]°]â]þ^V^_ _1_h_Ð_§`a4`Îa]b{c>d-eeOeeÎfPfWf$fcf×fKff²ghÏhÃf.eƒddd×eieYe+e;ee­fêgwhßi?i_iŽj/j£h§gEf e´e¥e{eekeEe@e;e®ff1fºhµk k‚k‰kjyg$dÌdµd·dŽddd‹dd¶dàee&e*e%edúdçdëe e e&eTe–eÒeúffQf‡fÌfíggg5g4gEgCg.gfØf¥f…fMf5f(eôe½e«eŒeŽecedÆd¨d›d­d[dLd¨eØggÂhbi*hÕhhgÿh“i#j€k mët,zYyy{•x¦vÁvnwÇv t}tÝuÀw…y+{åzìx0y zv uwvæw%xay¤x9u@u¡qdo®oMnlÙkËiõh2h-h¬gg„jïmˆlzoÅqptÒsKru~ubtïucu±vQvÍu¯užqØp5pnMnÑl½k„kÁkxkÅm-mùn|lôlßlMkRkkkˆk*klkGkk`kJkxkDkk“kåk¦klAlRll¢lllPl&lfl~lrl±lblDl$ll#l-lkýl3lšlðmbmMm0m+m1m mm lölålÈl–l‘l¬lÍmcnEo p"poûo¿oºoçoêo¤oJnþn”n]nEn3n6n8np2p&poþoåoÊoªo‡obon1n8n=nGnKnEn3n!nmómÚmËmÌmÑmÌm¼m®m–mmmmXm>m$m lílÍl¶l l‘lwlXl)kòk´kŠkƒkk¾kÃk¨kyk)jÃj\jiÅišii†iziZi?i"ihÝh­h€h3gÛg¨gˆg[g"fçf­fjfeÃe[dçdudc¿ckcb½b„b\b-aÒana#`ì`»``P_à_l_^À^Ž^Z^%]û]Û]²]†]M]'])]d]Ï^Q^·^å^ä^Ê^™^a^]¥]$\ý][]¸^^_$_Ð`d`Èa:a­aöbHb¡bïc*cIc‹dde e|eôfrfÊggPg“g÷hW{VSQKOwM7KˆK•LK–I=GòG÷He*eeeeedùdìdÝdÓdàdædèdôdùdúdôdédÞdÔdËdÆdÀd³d¢d’d†d|dmd\dLd>d(dcócÚc¾c£c…cYc8c,cb÷bâbÓbÐbÖbÍb»b¦bŒbgb7baüaïaêaçaäaéaìaõaýb b b?bVbmbƒb•b³bÝcc>cbc‹c¡c¦c¦c¬cºcÎcædd/dYdud‰d«d×dþe!eIeme eÕffLf}f¢fÁfäg gg*gZg“gºgâhhh*h6hGhMhNhMhIhCh;h4h.h&hhhgôgægÚgÌg¾g¨g³gŠg…g{gÉgöhyk3k‚hEg°hhhh0hWhQh“hÂhzhph|hth|h€h€hŒhœhžhÓhÝhÂhngúgg2g gg fÿfúgg>g[gXgBgVgkg~g›gÄgøh:h_h•i%i†iiBi i0i4iDiQiZiTiGiBi2i%ihõhïhÝh¯h¶hÓhÒhÆhøi)i]i~i"i%i=iiii)i%höhËhÚhÕhhfhch6gògÌgÌgÔgÓgÓgÎg¼g½g³g¬gÉgúh'hHhOhVhhhohmhqhqhfhQh.gûgùh#h?h7h7hxhmhDhgég×gÔgågêgÖgÇg¹g•gYg f¶fdeÿe¦e_edËd’dIdcÆccdc>c bÚb§bybVbIb;baþaÚaÆa­aŠacaBa`ú`Ï` ``g`V`F`+`#`_ö_Þ_Ç_­_}_m_-^Ø^™^x^O^]û^@^v^¢_ _“_ð_Î_â^]"\b\T] [dYÆYuYtYý[ë]ê__ ^6]…]_]€]Ü^]‚]K]E]G]T]}]ž]¼] ]q].\Õ\®\š\8[œ[i[é\€\W\'\:\\\¡\ê]T]µ]ì]÷^I^»_a_¥_Q_Ÿ`e`æ`ƒ`_Ç^Þ]Ë]D]]?]D]h]¨]í^4^…^¬^ñ__ß``a?aƒaa™bÄcÎdud²dÃe•eïedëeeHeggh}gègZf>e evdÞcŸc(c*d eeÙeíg8hŸgÜi!ibi#imiŒj}iÑh?f…eäfeèeÅeÂe³e¨e¥eevfdŸdœd€dndWdidid€d›d¥dÃdËdÂdÄd²ddªd¼dÔdæe e_eeÈf fTff¼fÞgggRgogag@g?g+gf¶f¬fŸfgf,f+eþeÇexe(dädÚd¸d¨dld]dUd=dd5dóe®fqg=gÈgÕfŸe!ee}f hi›jálnzqz{ƒzj|ñtšsdycz\x vÛx„wßyWyr‰r(w•uÈv tràtÝt®uˆv—v[tqDnlôlìjëiXhŒhjg°f„eeŠg h-jŽm®o™t»pšpDqÅr­sÃtDsÐu,uâutcoÅnËoTm¼mèl'l=iÐi kalxm–mëmm_l@k–kªk§l*kïlk÷k%j÷k)jðjójìkOkNkkgkílÄl{ll¬ljlUl;l5lPlpl„ll˜lHl0l/l7lkülLl˜låm+m#mBmAm!mm"m mlâlÍmm;m–nRo?o²o oÿoÜp pRpyp^oøoMn½nynIn%nnnnnnn&n,n1n3n4n8n>nGnFnEnCnLnVnqnˆnœn¤n®n·nÀnËnßoo.oTomo‰o®oÏoåo÷pp poþoôoßoÏo³ošoƒoioOo.onòn×n·n n‰njnAnmÝmªmom&lÙlŠlClkìkÏk²kˆk\kCkJkYk]kDkjýjøkk;kOkbk{k¤kØlllkûkãkÃk¦k“kkrkpkvkˆk°kÊkøl%lIlalkl‡l¦lµl´l®l©l±lµl¼l¿lÉlØläl÷m mm)mCmRmgmumƒm†mmlmRm9m.m/mHmemzmmxmwmm…m~m‚mŒm†m~m«mÏmèmómûmûmÿnmïmémámîmünnn mämÛmémûnn2n\ntnrnfnWn`nnnfnPnCnCnMn[ngn|nŽn˜n n¡nœn•nŽn—n¿nÛnÓn¹n¢n’n~nknZnIn5n nnn(n9n5n'nnmçmÐm½m°m°mµmµmªm˜m€mjmSm=m%mlélÎl¯l™l„ltlYl3l kÜk¯kœk”kŸk¥k—ksk7jæjyji¹iki5iii hôhóhähÍhžh^h+gðg™gagPg'fðfµfyf2eâe€ed©dCcúc¯cUbùbŸb`b*aðaœaWa!`ò`Ã`ƒ`_¤_H_^Ó^¨^~^U^4^]ò]¹]t]\]]Í^@^À__>_1_^Þ^^S]¿]d];]r]ë^`^æ_v``­aa}aÜbbib½cc;c_c¨d)d³eeŽeûfifÆggPgŒgãh'hihªhùiOi§jjZjµkkskàlFl¢lømEm‹mÄmín n&n@ndn›nèo?ooÎppp p!p3pqpÆqqMqpqq¼qér r$rErfr„r“ržr¡rŸr£r©r®r­r¬rªr­rµr¿rÉrÕràrñrúss s rúrîrÓr¿r§r‹rnrFr$r qåq»qˆqZq#píp®pqp6oðo±ojo'nèn®npn1móm³mmm*làl‘l>kókškEjçj”j2iÜi„i%hÍhlh g¡gAfßf}fe¹eZdìdd"c¹cJbÞbwb a¢a4`Ç`f_ü_’_)^·^F]Ê]P\Õ\b[ï[{[ Z¡ZYY"XºXgX,W×WbVÈVU%TèTÒT²TÅTÐTàTÎT˜TÇU TT½TÎU¤W/U¿UíWšWnV¬TuQMìKmK_K°K1I¾H©HGÞG¦GuGgFÍG&FõG—J;K)KœLqK¨IŽH®IJ'KJFIëJJKK_“``}`Þa-asa¾b bLb’bßc$cfc¥cæd,dSd}dˆdšd¶dÄdÌdÐdådÿe-eUeye†e€ee§e¦ee°ff9fGfOfbf€fŸfÇfægg!gBghg‘gºgáhh;hdhŽh´hßhÿii,i:iIiVihi}išiµiÏiâióiÿjjj$j6jGjRj]jdjvjŽj¥j²jµjºjÆjÑjØjÔjÊj¼j­jœjj^j>jiíi¹iŽixii‚ixi|ižiµi»iÅiÂi¸i¬i¡i–iŠi|imiWiGi3ih÷hÙh®hƒhPhgèg½g–gqgHg0ggfñfÜfÏfÀf¬f™f„fyfnf_fOfAf.f eìeÐe±eŒeheHe5e eedýdùdãdÖdËdÌdÝdådêdîdçdàdÛdÕdÎdÄd»d¯d£d—d“d‡dvd`dOd@d&dcëcÏc¹cžc{c_cIc0cccccbùbÙb®bbSb:b/b)b)b%b&b,b*b,b8bBbWbmb†b›b°bËbèc c7c_c}c“cªcºcÀcËcÝcîddd9d[dd˜d«dÒdþe(eLete˜eºeãffZf”f³fÃfÞgg)gMg†g¹gÛgöhh0hihíhÚhÇh¬h£huhuh|hzhh™h£hÝhôhƒhxh†hSh5hBhqhbhIh&hh6h&hh#gåg‘gegYgVgOgQgUgPg^gcgng…g¥gÇgégßgÌgÔgãgïg÷gögîgÔg­gzghg}g‹gŽgxg„gŽgg„gxgpgpg‰g•g‘gœg¾gÓg¶gLfÜfyeýe—ePedßd£d_dcÞc¶c…cTc%bñbÁb”bqbWbFb'b aüaèaËaªaˆadaBaCa$`Þ`¼`²`ž`‡`x`j`[`D`+`_î_Ë_§_r_!^Ð^Ž^r^P^9^y^½^À_ _t_Ý_Š_ª^Ï]Z\·\4[Ä[ZBYÅYÞZ [M]s_ `.`|`*^ë]ü]»]î]·]{]f]b]‹]©]Å]ê]í]‡]J]6]G]^\ò\[´\ \„\[\)\L\S\‡\Û]l]Ó^6^y^^•^Ü_4_A_Ò`S` `J_É_g^~]‡] \ù\ã\Ö\å]@]”]à^(^v^°^ã___¯a?b4bœbÄc-cÉd~dÖeƒeÒedÈekeºeBfflfeµdødÅeidŒcmc3bØbõcHcêd½e·flil›lämmk.k,k%k,k?kRknk”kÏkùll-l0l;lDlFl>l7l1l0l=lNl`lnl€l‘l¥l¸lÌlÜlëlûmm!m.m&mmlílàlìmmmHmdmrmlmJm4m0m.m&m#m6mFmsm§mÇmÙmîmômómÞmÉmÓmÝmín nnn mômímûnn(nCn]nlngnEn9nSn_nXnJn8n5nbäbŽb>añaµa{aKa`ë`¨`P_ã__T_#^ü^Ë^¤^‹^q^O^]×]”]]Ó^8^¬__o_Š_r_P_^Ù^f]Å]–]ƒ]À^@^§_/_È`b`ìaQaºb b?bbÜccJcocÊdNdÈe/e—eûfXf¯ggLg…gÍhhRh•hái6iŽiãj?j–jókTkºllpl¿mmGmƒm±mÓmín n)nXnžnóoFo‚o­oÍoÔoÜoôp-p‡pÛqq)qFqmqŽq²qÎqòr r-rArJrMrNrQrXrXrXrVrRrTrYrfrorrŠrr¥r²r»r¿r±r¢rrvr]r?rrqÙqÃq¢q{qKqpëp°pup6oôo±oio'nán¤ngn,mïm«mim#lâl•lPkûk¯kXk jµjcjiµibi h®hOgóg˜g8fÚf{fe¼eaed•d&c¹cPbàbrbaœa8`Î`c_ú__ ^³^G]Ø]c\æ\m[ñ[†[ ZªZ7YËY|YXˆXGWÖWwWiVÈU7T¾T;TT;TrT­TºT¤TÇUT»TâU1U¿V›VLVÀWÈW±WŸV$S‘O½L›LLK³JŠInHzG¯GVG§GìG‰GmG]GAI KšLzMGMJöIþIbI`J0I©I€I¼J:JÍKKMKøL»MLMíNÊO±PuQ)QÓRƒS(SÁTiU-UþVµW?WÀX,XŸXðY;YZZ¿[{\\^\¹] ]˜]÷^Q^¬^ú_X_Ä`A`ž`Þa-a€aÉbbgb¶ccJcvc£cõd)d@d]d|d˜d°dÄdÛdëee)eIeaemeie~eˆemeVe†eáff.f9fPfxf™fÂfég gg>gfg”gÂgòh!hNhthšhÅhëiii(i7iGi\isiŽi¨i½iÕiäiïiþj jj2jJj\j^j`j`jojŠj¤j°j·j¼jÀjÆjËjÄj¸j£jŠjmjKj$iýiÏi¦iidiMiHi@i#ii?iKiZiyiƒiƒivinioiqimidi[iQi?i3iiháh½hŽh]h/hgág¿g—g~gggTg?g+ggfìfÞfÍfÀfµf¦f•fƒfpf\fHf,f eéeËe¨eeWeLeHeLeHe.e dïdßdÛdÙdÐdÓdØdÔdÑdÎdÊdÂd½d´d²d¯d­dœddzd_dKd.ddcêcÊc®cc‹chcNcOc]cUcbåbÝb·b…brbkbcbbb]b\b\b_b`bcbob…b•b¢b·bÏbâb÷cc1cOcycœcªcµcÁcÍcÙcìd d%d;dUdhd€dšd¬dÃd÷e'eLeqe–e»eÑeëffcf•f®fÅfëgg?gsg©gÐgñh h$h3h?hKhQhThWhShIh9h/h-h'hhh gúgógägÛgÎgÅgÀg°gÛh_gÕg½hgägßgãgçgöhYhvhgöhhhhhhh$h8hChYh„h­h¼hdh/h hh hgôgÑg´gtgf…f™f¹ffŠf¬f´fñg,gCgcg¥gýhm?m;mm6mlm‘nnÃo«oßo:o‚o²ovpqEq'p»pRonn»nkn'mòmÉmËm¿mÀm»m¿m¼m¾m¾m¿m¾mÁmÏmæmòmémÚmÎmÑmÕmÚmæn n%n0n.nAnMnin{nn¶nÎnòoo0oGoWo`oboao]oOoKo=o0o"oonônÜnÃn¦nŠndn@nmðmÃm‘mgm1lñl–l4käk°k„kXk1kjòjèjòjëjájÓjÈj²jšjjŸj½j×jãjåjökkKkbkWkOk6kjûjßjÚjèjïjøk k!k8kXkŽk´kÌkÐkÊk¿kÀk¿kÄkËkÑkÕkékúl l#l3lClTldlol€l‹l˜l«lºlÊlÐlÈl»l©l¡l¥lÁlÑlÞlöm m)m#lõlÙlÖlÖlÈl×m m8mamm°mÊmÖmÝmÙm¾m±m·mÏmìnnn nmòmëmõn nn8nKnJn8nnnn>n:n+nnnn#n0nFnZninqnnngn`n[ndnŒnžnn}nand¿eNdÈdqd_d?c¶cWcAcFbôb.bc+cÉcódycªcecoc…c°cÑcíd.ddÅe!ePfŠhihˆhBh1h.hhgBff¶fîgYhEhíi`i•iÝiüišiBi‘híh)gIdjc«d:cýd"c×cècÖcÒcÍcÈcÂcýd ddcácçd(d}džd½dÿeSe§eäffIffÊg%g†gyg„g–g‹gsg!fÅfËf¦f”f€fnfBf0e÷eÖeÂe¢exe=e dïdædÐd¨d§d›d‘dbd;d&côcçcódd3dÊd¶dÂe;e·eÉfÂghhBh°hËj0hsi7iƒiÓkCi}i®n®n%mžn½l@lŽn mGm‘l‹kSlGooÊm6l&iâiñm"j,gÞfe e0e`e[e'ene¨fg±iLjölüj5hÏikmn,oürjs­sàs?rÊqSn¦lñm«lül|lßl@j!ickl:mFm§nmåm‘m¹m¥m+l¦lÈlnkík‘j–iÄihiviÎjbj®kkºll"l.l:l[lgl2ll´mumlÉl“lflZlRl1lIll kùll mbmomFm?m@mTm2mm„mØm‰m{n!nño[oqoAoto|oVp"qQp“pAp7o)nŸnQmåmÀm¢m¡m•m’mˆm‰m…m‹mˆmŒm†mm”m¦mÃm½m¢m‘m”mšm£m¬mÁmÎmÛmãmûnn$n3nJn]nƒn›nµnÍnßnònýoooonýnönínánÔnÉn¶nŸnn^n@nmómÇm›mlm>m lÃlnlk¹k€kHk jÖj¶j©j²jÊjÚj×jÏjÆj»j›jwjdjkj{jŠj‹jj¡j»jëjûjíjæjÒj»j¥j¡j¬jºjÃjÒjájókk,kQk_kZk=k3k8kZkik{k…kk¢k²kÀkÓkákïll ll*l4l;lJlZlnlyl‚l†llvlrlzl‡l•l¤l¬l³l¸l¦lŽlŠl•l«lÀlámm,mPmwm”m®m¾mÄm±mœm¢mµmÏmämómømômämÒm×mìnn n1n5n'nmÝmÙmón nmømîmêmím÷nn#n3n;nFnDn;n3n/n@nandnRn7nmömØmÇm³m¡m•mŒm‹mmŸm¾mÖmÜmÈm²mmŠm|mlm]mRmGmBmMmDm)mlölßlÍl²l‘lnlPl7llkçkÊk±k“kvkUk0jüjÊj’jRjiçiºiˆiJih´hLgæg“gƒg²gÿh%h"gîg¥gvgGgfîf³fnf&eÛe’eQedÀdvd.cécŸcIbåb‘b9aîa­aaXa(`æ`ˆ`9`_Þ_Ä_¡_r_A_^ò^Ù^­^o^#]÷^ ^a^Ò_1_“_Û`_ü_Ý_®__8^‚^)]ÿ]ö^K^¸_0_¼`S`ÚaSa°aÿb>brb»cc4cUc‚cãdfdØe6eeæf7f‚fÆfýg4ggÊhhFhŽhÛi-i€iÔj-jŒjåkFk kêl-lll¬lçm mQmym’m©mÆmïnndn«nço o o9oTo~o¾p pcp«pÑpÝpâpæpõqq5qVqqqƒq›q§q®q¯q¯q®q©q¥q£q¥qªq±q»qÍqÝqïqþr rrrr qúqèqÏq´q—qxq\q\D\‹]]v^^¬^×^œ^“^ì^®^7^&^o^«^‚^]Ã]ª]T\ü\¶\«\Ô]]$]Y]¤]ò^8^p^­^Ù^Þ^ø__N_B_Ž`’a½bäcªcØc‹cédbd>c¶bæbvbaâbaàbObódc=c;c?cEcJcVcbcocc¨c¾cÜcíddd2dLdfd€dŽd—d¶dÔdèdðdÿee"e5eReiene‚e£eÈeãeÿffBfaff¥fägg.gb§dQgÇg3fWe„d cödd^ddðe…fjgh hRhwhqh7h$h@hg³g fóg+g–h;hh¯hÝh»hxhIh’h‰h gógWe£cÅc‚c¦c‚c’c\ckc^c}ccc[cUc~c¤c´c•cžcÖdded dåee/eneÇff5f_f÷gVgbgGg:g9g#fõféfÏfÄf®f˜fƒfbfGfeùeäeÉe¸eˆeee6e)edêdÕdÆdÑd½dÃdšd}dNdZdHdidd†d¦d–dŠd…drd^d[dªdýe‰e€eÀfäg_gsg8fCee!f(g\híh£f÷fÁf¼g/fÉg3gÑg-fáfpeêe`ebe„eee=e\e?e8eXfgûiÚiÄh÷gRg¡hªiUk¦h­h•kcm'nipr±s9sp~nKn˜lHkõl»isi:i¸iKjIlZi3iil½l…lßm=m)m'm lˆkºjâjCjCj"j€k)jæjÑkk„kk'k„kÙkúl(l0l2lCl’mlÖlÏlÄl˜l|l[lPll lll lalÝmmEmrm5mLmImKmÛmØm¦mçnzo oBosoaoBokGkNkXk]kekmk†k§kÐkõl llllkøkçkâkØkÈk¿kËkÜkãkékól l4l[l‰lµlÚlümm$m"mmm+mFmXmgmtmzmmm_m\mqm”m³mÊmÙmãmÓm­m|m]mJmAm:mpoùoÖo²o„oLonÞn¦nfn+mëmªmim+líl©lml.kðk¯kjk(jÛj•jOji³icihÂh{h-gÞg‡g3fÝff$eÊeredºdcdc¥cEbßb‚ba·aO`î`‰`,_Ç_d^ü^–^2]Ç]`\õ\\)[¾[VZìZZYÉYiXòXaWÍW#V†V#V9V{V±UÙTWSÌSÅSÒS«SzSrS˜SäT=T§ULU”UMUÛWÏXøX)XÙXfW˜U‡P,MéNSL±KàKæKñK½JâJ|J\JŠJWKzL„KJÎJAJ˜LJðJ5IÇIqJ‡J”I^IIµJ1JãKßL­MON NÍOœPaQ Q¿RXRéSHSÛT©UDU×VeVæW[WÕXFXÃYAY¾Z8Z®[#[‹[ñ\O\£\ù]K]˜]ð^?^ƒ^Ó_%_w_Ï``‚`æaGaaÜbbNbŠbÂcc1cdc™cÌcõddHdmdd¶dËdÔdÒdÑdÓdådèdÓdëe-ece€e¯eäf f,fJfcf{fœfØg gVgˆg­gÉgìh h2hQhmh…h›h²hÉhÞhöii.iHicizii¥i¿iåjj3jBjJjFj:j)jj j(j jjjjji÷iáiÆi¢i~iRi)ihôhìhÜhÆh¹h·h¸h²h­h«h­h·hÀhÁhÂhÌhÖhßhëhôhÿhþhùhøhðháh×hÏhÅh¼h±hŸh‹hvh[hDh&hgúgägÍg¼g­g™g‡gtgagQghgèhhgäg„gXgNg.gggføfÿfuf7eìe¾eve%dÒd—d†dddQd:d:dd,dÏd´dŠd¨eeƒdÿeof[fšeÑe.dªd›e ee‚eheeae›e—eÉeòeâe×eÚeåeýeõeìeÚe½eÔffJf_fCfe÷eáeÐe¡e„evevegeHe(eeePeue}e|e‘eledÐdŠdZd/d#ddcîcÙcÁc³c¦c„c]c=cc býbôbòbôbóbÝbØb½bšbƒbubZb8b6b"b(bBbm#mm*m^m„m m±m¼m²m‰mUm(mmmmmlýlñlãlælÿm$mKm^m\mNmBm2m#mm ml÷lïlïlùlým mlþlðlãlÝlälïlòlòlçlälÛlÏlÉlÑlÄl´lÔmmlølÎl£l…lalkuk·kôl2lrl¬lßmmmm7mdm‰m­mÅmÔmøn0n|nÐooTozoŽo²oÙoîoñoõoûpppp pp/pQpap\pWp\p\p`papjpupp•p p°p³p¶p´p®p«pœp‰p{pfpSp:p)p oìoÌo¤o…o[o0nÿnÍn’nZn"måm¥mim+lêl«lll+kìk­ktk/jîj©jajiÖii=höh©h[hgÀgngf¾fkfe·e\ed£dGcècŠc(bÆb_aýaža<`ã``$_¿_Z^ô^^/]Î]d]\”\-[Á[TZïZ“Z7YßY…YXXWœWVªVtV—VäVõUøT´TSÖS³S˜S¢SÕTTcT¡U UaUzVMXZxZƒZ YuXwXHUeQLO¡MíMßMÍMGML)KšK.K'JãKËKÝI°J¶L3KçLØKýJ]I¦IÈK3J®IuIcI°JJ£KtLrMFNNðO½P€Q#QÓR^RÜSCS¿TU*UÐV[VãW^W×XNX»Y2Y§ZZ•[[i[Ð\-\\ß]']u]Æ^^S^^ð_K_œ``e`Ëa+a}a´aèbbRbŽbËccAcpcœcËc÷ddEdrdd¥dºd»d¼dÕee*e'e!ehFhChAh:h4h.h/h)h)h(h$h)h.h3h7h2h*hh hhhh"h,h2h3h.h)h$h hg÷gÜgÅgÈgÙgöhgñgègógÞgºgÇgÔg‹gHgGgWgEgfÜf€f_fdeùeÔf$f?fff ffNf˜fÆg#gNg#gWgãh‚hrgíh'hih1h7gàgŒg¹gâgÅgCfñfåfÉf¾fµf¨fŒfˆeûeÓeŒeJe dËd_ddc×c¤c‡c…cIc¡dždTdd[e0eTdVd°ePeßeèe–dïdÅeLeCf+f`e˜eºfff=eçeÊeäe³e“e e¢e¡eŽe’eäfFf1eôeÉe¡e|eleVe1eedúdædàdçdóeeMe_eVe[epe7dÜd©ddcdHd'ddcõcÜcÏcÏc½ccmcHc2c ccccc&c#cbùbÖbÆb®b‰bYbUbCbObWb[÷[¿[l[A[![&['[ [›[ì\‡^!_(^S\î\Å^__x_^Ê_±_æ^õ^–^“^Œ^k^]¸]]](]0]I]0]%]e]´^^~^½_E_Š_^Á^Å^Ñ^Î^Ë^É^»^¥^g^E^=^@^7^ ^ ]þ]ì^^7^1^m^¡^à__<_{_›_Ô_ñ`#`2`F`]`{`™`¸`Ü`ôa a,apaa¸b•aóaÝaìb^cød0ddâdSdc¤cŒc¦cÂddudÒeeie7dÁd§dµdÓeGeŒe¤eÍfAf¤f£f¯f‡f:f.eñeçeeeŒdîdŠeée~dØd—cãc-bÒbÜbÞbàbæbûcc3cX˜T¸PJNñPGPhNúNM˜LÑKÀK#JâK†K?J"KÀM[LKóK¶JDJhK­L…K®KFJÆIåIñJTKLM-NOOêPšQAQÛRcRäSZSÃTwU*UÎV^VäWgWÙXFX±Y#Y•ZZvZß[E[ª\ \d\²]]L]–]Þ^ ^p^Ç_)_‚_é`C`´aaRaa°aÞb!b_bžbÕc c>crcšcÅcódd?dddƒdd d´dßeeNedeXePe[ege~e¡eËeóff7f^f„fÄfóg g,g_g”gÁgèhh!he4e'eedîdâdådãdÄd©d¦ddrdJdd6dedidgdXdUdNd;d-d(ddd dddd d d d d dd c÷cÙcÅc¾c¿cÇcÏcÛcæc÷dd6dadd§d·dÅdÒdædèdöee)e7eAeLeTeae^eSe`e{e–e¬eÌeóff6fOflfff³fÑfïgg.gCgIgKgOgeg€gšg¼gÛhhh&h/h6h?hFhFh?h3h/h-h,h-h(h,h0h5h>h?h@h;h0h%hhhh2h=hDhHhDh>h6h.h#h gøgÙgÒgògígÞgÚgÙgëgàgÐgÊgÑgãg¶gŸg g©g“gcbÜb§b«cÔdBc©c·d”e»d°cÙdTdvd®dæe†eaeOeÔeãfsfšfjf˜f~fžfœfe×eæe¥eie`e_eJeFe¾f:f*eÜe™e‰e}ege^eSe$dád®d™d‡dd°d¶dÓee,e3e&eeedÍd§d”d€dodLd"dd cÿcâcàcÝc¹c•cfcAc3c2c+c$c/c8c^cgc5bùbábÚb´bŒbtb|bcbWbWb5ba÷aÒa¶aua`ð`¿`«`Û`Ù`É`¹`¨`z`_œ_r_j_>_^ù^¨^q^j^]Ã]Å^ ^‚^x]˜\—\[Ö[ƒ[7[[[[ [[U[ž\];^x^\ü\ð]µ]ô^I^6^Æ`S`^Ç^…^²^†^N^]a\È\Å\ê]1]‚]^]X]¡]ð^/^ˆ^â_]_Ÿ_^Ó__m_…_u_b_@_^î^»^¦^Ÿ^¡^{^l^}^D^$^8^M^Y^Š^²^ô_/_8_s_ž_Ï_ô``.`@`M`W`s``®`Ôa a%aua-aŠd6cwaéa÷aùbaccc`c—csc­c{cec‹c£cÌcÖcõd cúcþcìddIdcdddd+d”e(e™ffVfe©emeDe5e^eDeHdddÄedÌdÃddcMb®b±bÆbÊb×bíc7c`c[cVcYc]c}c|cœdd2dOdQdqdkdxd¨dÓe[f`g(gTgEgføfÜf¿f‰fsf`fCf]fffŸfgfBf1f2f)feúeÏe¿e¦e™e|eYeHekLkTkZkYkJk'kk k k kkkkk'kFkikk¸kçllEl]lgljlnlzl‘l©lÃlÚlélälÉl¤llÚm8mfmcm`m_mMmlál¾l¶lªl«l«l¨l£l›l™l‘l›l³lÏlÛlãlÙlÄl«l‘l†l|lulnljlbl[lSlLlMlalrlyl€lŠlŠl‡l‚l„lˆl„l„l‰ll”l–l‚lslblWlHl8lSljlRl$lkØk©kkXk3kjój×j»j¨j–jˆjsjTj4j içiÊi¸iªišii_i5ihÌhhOh gÂg}g=gfÌfžfkf/eäeˆe(dòee«ff eÒeved’d>dcÙc±ccCcbÂb|b=aûa·awa?a`Ô`š`c`9`_õ_Ü_Ð_Ã_®_š_}_Q_,_1_}_Þ`8`«aana¢a´a’apa7`ù`›`_»_T__ _M_Ž_ç`X`ÙaVaÔbbAbgbb¦bÉbüc#cMc’códXd®döe9e|e¸eîf fRf‚f·fîg#gXg—gÕhhbh±hûi>ii½i÷j(j[j‹jÁjýk>k}k¿kúl:lml”l³lÅlÍlØlìmmm.mPm|mÄnnfn¨nØnÿoo-oDoWoboioroxovososoto‚o“o¢o®oµo¶o¸o¹oÁoÈoÓoåoðoþpp pppoÿoøoêoÚoÏoÀo­o“otoZo9onînÇn¥n{nTn!mðm½m‰mRmlál£ljl*kìk¬klk4jôjµjwj5iõi´ivi1hîh¬hih&gÞgšgPgf´fkfeÊexe#dÍdxd!cÅcmcb­bKaña’a;`Ý`„`(_Ç_h^þ^¦^D]é]‰]-\Ç\g\[Ÿ[BZìZ–Z:YëY’YGXòX¡XVXWÔW®WŽWWžWøWlU‰U TíT„TZTETcTœTñUDUU¥UÕV„W^XŒY›Z [g\[*ZîUQPÜQ‹QÐQOÅOHNUL²K8J€J–J¥J`JSJîK¶L·LŸJIÖKÓLMK"KPL#JIÍJJ£K¸L¯MÉN²OŸPTPüQRR~RöSmSñTŸUJUàVqVìW_WÎX5X˜XøYgYÕZ?Z [[a[Ä\\w\À]]B]Œ]Ì^!^€^Ø_6__ð`Q`¬`úa?a`a…a²aìb$bab•bÑcc;cdc†c´cãdd1dTdjd‡d¡dÈdýe9efetejeWeOe^ewee¶eËeèffRfŒfÌfåfóggHg|g¡gÄgãhhh8hThmhŠh¨hÀhÕhåhóiii%iIiƒi§i«i“isiUiJi>i4i1i,i2i9iHiTi`iiisiwixiqiciQieOeSe[eceqene]eye¢e·eÌeãff(fNfjf|f’f¥f¿fÏfègg(g>gOgWg\gaggg{g”g´gÔgöh hh(h1h7hh7h0h'h#h#h$h'h+h4h;h=h?h:h5h0h&h#h"h+h9hBhIhKhIhBh>h6h/h'hgûgÛg×hgÿg×g®ggšgµgÒhhh)hgùgçg¤gmgf¸f]feæe˜eŠe¼eéeÿeïeëeãeüfRf¿g fófªf—gg™gàgãg˜gIg7g@gfìfògfçf¯f„fNf&ff f eÿeðeÊe¦e7edÞd½d~d$cÐckcbÒb¥b}b!bb7b¿clcPc©eOfdŠc‘còd…d…dd¶e.e e{ff7f)f¥f¦f9ftfuf5fe˜e2e9eceBdòeffoeùe¶e™eeueMeMeIe*dßd~dMdIdgdxd{d®dÝdÍdÔd²d­dÙdÆd‘d^dMdMdEd4d&dd dcëcÙcÞcÊc crcLc@c:c:c:c9c;c^cccbÉb·b³b—bb`b`bZbAb7bbaéaÂa¦a|a`Ô`‰```Š`½`ïa a`Œ_Ç_B_/_l_g_>___^…^]ý]ú^ ^z^ñ^¡]V\I[à[ [I[*[[[ ZéZõ[X[¸\j]\ó\“\]]6]¢]Õ^Ì`Ó`¼^ý^y^À^¿^]ß]T\ø\Ý]]s]Ÿ]{]º^^Y^Œ^Ò_W_^_8_c_†_}_ _ä_õ_À_œ__O_9_#_^ô^Û^Ç^ö^º^{^€^m^^¡^Þ__E_O_z_±_×```%`2`A`c`w`“`É`Øa aaoa(a¹dDb¾a´aïaØaôb0b‘b»bºbÌbþbýccocÅcëcéc÷cÒcrccc„cÏcÐc¹cîcÚcýdEdUdldée&dßdüdödÃdÃd½d§dƒdQcêdd9dèdcÍdTdÇe_fIfqf‚gfÌf°gfÈff:eŽdóee{e@d¾döf.fmf eåeªe‚e[e!eeedèdzd&d&d7d9d^dvdqd\dAdd"dˆdld+dd ddd%d1dddcúcäcÒcÅc¡crcMcAc9c9c=c2c/c3c(b÷b½b›b€bybbWb?bAb4b/baþaäaÈašawaKa`§`r`J```xa`c_]^Â^Æ_R_x_i_O_D_^]ß^]^W^F^^Õ^ê^(\Ç[ú[³[[[#[ZúZéZçZÉZÞ[w\œ]0]\œ\\)]^s^?^¯`™`~^â^l^‹^Ž^M]ž]Y]*]5]Š]ÿ]÷]ð^^Ð^ç__Z_‚___Ó`=_ø_Æ_è`?`_Ó_½_š_Œ_m_]_Z_M_%_H_^Í^ç^É^º^È_ _@_E_K_k_¢_Å_â_÷` ``0`G`k`Š`ª`Ñaaama\aÅcpba¦aÜa®aÆaÐbb*b\bb¸bÊbàccNcCcKcsc‹cchcRcbcUc~cècþcõd cõcóddcÞd7dGdcdƒdcÜcÄcÐcÖcýdRdKdTcâc&bÆb’b§b±b°bñcPcjc]cRcJcPcZcacc×cÖcàcõcìdd-dXeGf²fåf©fíf÷fÈf«f‘f…fnfeff&fŸf³fäfÊff€f{fYfKfDf/feúeüeæe×e¸e©eeŠe›eŸe£ee{eSeGeSe?e#edÿdádÚd»dvd“d{dHdEdDd9d+d*d2dGdLd=dd(dcýcÝcc®dÌepdôerg9híi‹iqi!hÇgžfeÅfdgik8jjIj³h{eëe-eUef$eœe¡f|feçf2gìlrmûlOmUn§mÔmÑmûnm*kÚl4kÂkÅjœiÁkoEoVo`obogo_oZoPoJo?o5o'oonónÙn¾n¥nˆncnhQhWhWhLh?h1h&hhhhhgùgõgìgægÜgÐgÂgµg¦gšg‹ggzgpgdgUgBg+gggfûféfÔfÍfÁf²f fŠfyfhfZfRfEf;f-fffeÿe÷eîeÔeµe¥e¢e™ee‰e‡ee`e9eDe]eme`eOeWeVedeUe8e)eeedõdèdÛdÐdÇd¾d­d–ddjdXdPdXd]dVdJd@d6d.d2d.d+d(d+d7dAdIdOdWd^didxdd¤d¼dÙdúee!ee ee9eTegemepe‡e¤e³eÀeÐeßeófff?fbf‚fšf¬f»fÁfÎfàf÷g g"g7gHgKgXghgpg{g‡g¢g¹gØgõhh hhhhhhh hhh hh!h)h-h)h'h hhhh!h/hAhOhQhRhThQhJh:h-h"hhgògÕgÊgîgögÛg¿gŒgagcgdgZgXgg·g’gAfÄfLffeáee.ee.e]e¥eåeóeáeÁeže­fffÃf”fCf>f¯fàfÊfÖf¿fšf’fxfFfeþe÷eþeæe±e‡eqeceXeKe8e+edîdjd>cçc¬cjc-c b©ba˜aEaTa`ôaaaóbücicêc«cc„c7c«d}dcccVcÁd›eZexfŽgÁg]gŒgÚgŸgbfÎfedûešeJd°d¾eåfUfeìeŸeveLedýdØd§d›dsdcùcÿddUd"cød cÏc‰c©cïcïcÓcÔcÎcÝcþd d(dddcñcâcÍc·c”clcLc7c1c)c(c-cDc@c2cbÃb…bgbTbZbZbEb@b8b8b>b(b aìa¡aea@a `Ò`Ä`ž`5_ÿ_ì_ã_‹_^‡^€_$_b_O_P_L_#^ ]²]ï]ñ]ü^8^q^¦^…]f\4[°[w[3[ZþZÜZÈZ´Z­Zà\]Ô^’]Æ\ì\¥]^£^Ï^Ð_À_d^`^ ^^<]Ô]I]\ø]Y]²^ ^/^”_`_™_ž_«_‰_^ê_V_ò`Z`~`I_ñ``K`_î_Õ_Ì_›_…_“__r_p_J_!_5_,__ _?_f_`_X_j__±_Î_á_ø``.`J`m`Ž`®`À`÷aaKakbc½bcaªa«a†aªa´aãbb6bBbnb†b›bÁbåbóc cc2cccBc.c@cHcqc‘cŠc‚ccžcšcc€cc«cc¤cªcWckc‹c®c±cÇcåcÝd c¸cb¼b«b¥b¡b¬bðc5c?c8c5c,c-cc*c†c³cŽc—c¤cÅdd*dífzgfÁf”f‰f[ffeøeÜeÕeÈe¯e·e¨eže£e£e eže›e€e_eIeCe"edódÄdÓdÃdžddd›dkdqd|dƒddfd@dRd4d dcØcÁc‚c(cYcÎdd^e+fUfhf,fgh;gfÆgFhiºj(jjôj fe e–eše€eÞe×eÂeve-e f¬j¿lklel»l¢mÙmim€m«mlmqkçkÚlWk‹kkokÀkÁkÕk÷kÿk†l:l~l7lkúkèk¨kˆk§jÀi|j\kKjiëjÊkŒlKll-llbml™l]kïlDmllm5m—mdlþl¼mEm¼mamOmlÕmŸn`3`_á_Á_µ_¯_¨_¢_»_ö`5`j`ÂaWaîbAbUb0aýa½a‡a=`Ê`v`_‹_b__Á``O`¤`ÿahaÍb bg|g¶hh>hoh¨hài i6iaiiÅiüj?j€jÇkkMkŒk¼kìll:lTlglmlclCl@lIlxlËmm_m¡mÑmônn%n8nKnYnkn~n‰n•nœn¡n n nŸn¨n´nºnÄnËnÍnÐnÓnånùo ooooonõnçnÞnÏnÂnµnœn‹ntn]n?n#nmàmÂmœmwmMm'lùlÌl£lplDl kÕkšk_k&jæj¨jhj+iíi­ipi/hîh´hth7g÷g½ggEgfÆf„ff^frfŽf»féggLgrg›gºgÚgõhhh3hChThgh~hŽhžh£h§h¬h­h¢h›h–h‘h‘h•h¡h¦h¬h°h·h¾hÉhÛhïiiiiii ihõhâhÏhÂh³h£h—hŽh‹h†h~hxhlhdhXhLh@h.h#hhh$h3h4h'hh gúgìgêgågßgÛgÒgÍgÇgÄgÁg¹g°g¢g”ggƒgwgsgngcgXgKg:g-g'gg gfðfáfÑfÁf±f—f~ftfifef]fLf;f0f*f'ffeýeÝeÍeÇeÀe³e¨ežee›eŽeƒe–e¢e”e~e}ee“e‹eoe]eQeEe2eedõdëdãdÖdÍdÆd¨ddqdRdSdhdjdbdWdHdDd7d6d;d@dJdQd_djdmdtdd…d’d dªd¸dÊdæeee%ee"e:e]eqe{e{e…eœe»eÌeÔeæeüff+fFfgf€f’f©fºfÆfÇfÍfäggg4gCgIgLg_gzgƒgŽg™g±gÆgÜgñgügþhhhhgþgøgógñgôgÿhhhhhhhhhhh h.h7hChGhKhThMh=h+h!h gýgåg×g¼g¿gçgÎg°g«g…gPgDgCg>gfÄf±fuf1feÀe•ezeCdídÝeeeAeeðeþeße©eyeweàfLf\fMfffiff\fdfgfUf9feèeºe¢eŽe~epeUe%e edýdãdÐdÉdºdŠcñc¹cccbÛb½b¾b…aõa1`˜`Ô`ù`Â`®`Ža)b-bºcc ccxc×c†c‹c“bôb bÇc¼dudµfEgmfwfƒg_gôhVg×f¾eNe>eÉe3d·d¯e¦f)eþeÌe~eZe0edñdÈdtdEdCcÿcÁcÉcód#cÕc‘cŽcWc"böbäccNcVcic„cxc•cìdddcðcãcÓc±cˆcbcCc(cccccAcHc.cb¡bZbHb7bDb`bPb[bvbŽb³b£beb aÊa‹a_a,`ï`Å`²`’`l`_‘_4^Õ^z^N^À_"_5_8_^ò^']z]s]Ÿ]¹]÷^[^¦_^–\Ì[œ[V[,[ ZíZÒZ±Z•Z—Zw[¡^_I^/]³^@]µ]œ^_d_4^Z]›]N]­^(]°]0\õ]]l]®^>^™_M_ì_á_Ã_ƒ_$^Ø_8_Û`*`g`É`ë`g` `7`^`?`_ô_×_¶_¾_µ_¶_¢_o_k_o_€_b_B_k_Œ_r_W___u_Ž_®_É_ó` `%`D`h`y`¨`¹`áa aUa{b/c®b,a†a˜ahawawa¬aÉaþbb`_â_½_¸_¼_¾_Ã_Ô``B`|`³a&aÆb>bdb[b*aða³axa`¦`Z_Ñ_€_“_¼_ü`F`‘`Þa)a‹aæbb?bab‚b‘bšb«bÅbïc4c¡d ded dÍdòe e-e^e˜eÌe÷ffGf{f¿gg]gžgÚhh@huh°hÎhìiiOi‹iÅjjGjŠjÑkkOk…k¸kâl l(l>lHlDl"ll l6l„lµlúmAmom’m°mÊmßmðnnn,n;nJnNnQnQnTnWn[njnunznn}nn‡nn£n¼nÏnÑnÊnÀn®n¡nn|nonXnHn5n%n mömÚmÁm¥mƒmam>mlõlÌl¡lulLl kòkÀkŠkUkjàj¤jhj*iêi±iqi-hðh¯hrh2gúgÀg†gJgfÒf–fUfeÌe…e@d÷d¥dXdc´cfcb¶b\b a´aba`À`k` _Æ_q_^À^g^]¶]a]\¶\a\[Á[~[<[Z¿Z{Z3YðY¸YƒYgYEY.Y XïX´XpX WïW£VUU;TÞTÓTîU-UhU§U»UÄU§UiU…V-VîWÀX®Z \«^[^[LVÞUÁWfUÆS.R.Q'POnQGQãQÝQ‰RƒSONëK0J÷JÐJ£K,LlM¸NsNõOºPkQ)QÆRLRÖSQSÛT]TëUpUõVcVÜW3WWÅXXmXÔY7YšYñZMZ­[[[[¬\\R\¨\ý]a]Å^)^Š^æ_1__Ë` `:`^`|`£`Æ`úa6aqa²aôb1bfb†b®bÝcch0hhgögögþhhgýgñgÖgÆgÃg¾g»gºg¹g¹gµg³g±g¬g§g£g›g’gŠg…g}gtgpggg[gPgHg=g5g*gggfñfàfÑfÁf§ff†f~f{fof[fQfUfLf9f+ffeóeïeïeîeÞeÆeºeÀeÂe¿eÇeÛeØe»e²eÅeÉe¹eŸeˆeyefeXe?e'e dødèdÙdØdËd¼d§dd|dkdodzd|dpd_dJdJdPdSd_dgdodyd„d…dŠd“dd¨d°d¸d¼dÄdÖdðeee$e'e]Ã_^Þ^]V\ÿ]k]ç]»]b]A]n]§^^þ_Œ_ü`&_î_‘_6_%_@_›``k`p`‹`Ý`¿`)` `p`~`g`,`_â_Ø_Ñ_É_¸_Š_˜_ž_±_·_•_•_ª_~___g__œ_À_ß_ù``:`L`q`ƒ`”`º`ûaaGa‹bZc”b aˆaŸaZataja“a·aÌaïbb"bDbhb•bµbÈbØbûbøccc cc(c-c-c3c;cMcUcUcCc`T`````Åaaa>a^b~dybªaŒa~aBa@aIaVa‡a³aÎaìb b/bQbxb•bÉbÐbìbúbûbòböbðbýcc ccc'c"c!cccc bÿbÿbùbýcccccbòb×bÆb´b´b©b¨b¼bÖbábÌb¶b¸b®bœb’b’bÊbëbËbÖc"c¹dÊe=eÍgg"f¯fœfcf$f/fNf2f+f0f)f(f'f8fkfÓg g2g5gg:g$gfôf÷fÙfÜgfèfÎf¨f«f©f®f¯fœfqf]fUfZf‹fˆfJeùe·e¿eªee‰e˜e…eneSe+edädÆdŸdNcõc×càcÑc»c·c ccNc2c*c#cc'c>cQckcc²c¬c±cÓde‚g„g•hg:ežd¥dñeFdíe[ee‚eXdøeÞdÛe~hÑjejÚjîk8l-l kîl=mlÛll‰lyl kMkPkàkülolËlnlllÁlÈl§kùk j¨j­jêk"jþjj5kókÀk’kæk¡kÔk±kuk\kakpkzkdkÇk½ll³l4llðmsm#m–m¾m¬mhm8m¾mÔmtmmFmkmcm¨m±m…mYmmímám½mÖm£n)nœmŒlÚl©l#kÐk‚k)jÛjRjilih½h¢hGiqk6n&mèkækFk5k-jòjójÉj¹jŸj{jOj.jj jiüiéiÓißiójj:jVj[jfjhjwj‰j•j¥j³jÂjÎjÜjÞjçjëjÐj¯j’jj~jxj_j>ji÷iÎi¢iki*hêh¯h†hjhQhJhKhHhLhhhzhqh`hGh.hgñgÇg½gÐgågùhh gägÆg«gƒg^gLgEgMgTgbgkg}g—g«gµgºgÀgÏgågühh0hHhZhlh|h‘hžh­h³h®h§hžh¥h¤h¥h¨h±hÂhÎhÔhÖhÚhæhôii i ii#i1iCiViki€i‘i¥i®iµi¾iÁiÉiÑiÛiìiÿjj*j?jUjnj‡j§jÈjâjõkkkkk kk(k?kOk`ksk|kk‚k“k¢k¥k§k¦k©k¦k—kkjkgkwkzkwktkpkkkfk_kWkWk[kikuk}kqkVk'jöjÐj­j›j¹jükk%k0k'kkjöjíjàjÊj¯j°jÍjÚjÚjäjôjñjík k1k*kkjðjåjÛjÒj¼j¨jŒjmjTj>jjiûiôiåiÏiÁi¬i•iwiWi4ihóhÜhÈh°h‹hdh9hgégÕg¿g—gog@gfèfºfˆfTf-feÚe­e†e^e6e dÜd®d€dHdcÖc›c`c&bôbËb©b}bSb3baüaÝa°a€aHa `Ñ`§``P`_Û_¹_Ã_á``` ``O`Œ`ÉaaTaÞb@bpbbb7baØa‡a"`Ø`Y_Î_´_ß``+`l`ºaamQmbmsm€mŠmm™m¡m­m²mÁmËmÔmÛmÜmØmÖmÖmßmåmøn nnnn mömämÐm¹m¡mƒmjmTm>m'm lûlÞlÅl¢l‰lelDlkùkÑkªk€kUk"jôjÅjŒjUj"iåi¥imi,hðh²huh6gúg¿g„gEg fÐf˜fYfeâe«eke1dìd¥dZdc¹cnc bÏbxb$aÖa‰a?`ï`£`U`_±_b_^²^U^]°]o])\å\£\`\ [Ü[[T[ZÖZ¬Z{ZQZ(ZYÚY­YzYBYXÂXrX#X.W°VhV-UäUŠUoUœUÇUìUÛU°U—U‡U§UúV—WLX9Y[\¨]f[‹ZAZ"WÏV\VoUeT7S¤QÜPrO{N¤NËPOâQQ¥PqQPÖRãUŠUPÐM–L¶O.PP+NøNñOŸPFQQ¤RER¸S=S¦T+T‹U UzUòVTVµWWGW„WØX:XœYYYY¯ZZZZ´[ [[[º\\{\Ü]@]ž]ó^F^œ^æ_-_n_£_Í_ó``C`p`¨`ça'aWa—aÈaíbbEbrb§bãcc[ccÑdd6d]d|d—d¶d¾dÈdÉdÒdÙdéee"eDeueŸeÄeÎeÙf(fcf‹f¿fñgg8gPghgˆg¡g·gÍgÝgìgùhhhgøgîgãgãgégùhhh/h;h?h>h>hEhGhAhAhFhEhDhIhLhRhThQhJhCh=h8h3h2h3h5h3h2h/h1h-h+h%hhg÷gâgÍg¾g·g³g¦g›gg…g…g‡g†g‹g‰gŒgŽgŽgŒg‰g†gˆg‡g‰g…g{grgig^gSgLgEg:g2g*g"ggg gf÷fðfæf×fÆf°f¡fŸf›f‡fvfhfOfDf>f9f>f8f3f9fEfRfSf;feûeêeîeýffffeèeÍe¯e“e•eeoe[eEe/edÿdîdßdÏdÃd·d²d¶dµd¶d±d¯d«d“dˆd„dsd…dd¨d´d³d±d¯d­d³d²d·d¿dÁdÅdÇdËdàeee'e5eDePedeweƒe‰eeže¬e·eÌeèff*fDfafpfqfOfGfˆf¹fÕfáfàfáfåfúgg6gOgcgtg†g‘gšg¢g«g°g·g¼gÃgÈgÊgÉgÄg¾g½g¹g¼g¿gÀgÈgÏgÚgâgïgúhhhh!h!hh gýgôgîgígégëgïgðgîgègâgÑgÅg¯gg…gfgVgVgJg9gföfÑf¤fœfWe—edŠdNd{d˜dsdUddd‚ddddÞe$e5e'edúdÝeeMe\eXeqe|e{e€e€e„eeeˆeoe@dýdÅd•dndadYdHd/d cïcÐc·c–c`c/bvb$aÌaX`ÿ`¶`t`8``_®_K_Z`_¹_Y`Ça[`à`ñaab4dc…b÷bïaµa‰aìb`bŽbƒbfbœbËbÎb’bpb_c¤f§f€e3dÚd°cëc³dÿefdíd¼dvdZdSd*dcÖcªc†cTcbÚbäbçbÝccNbübjbaóaîaöb b8babwb{bÇcQc cÀcÏc×cåcÎc½cÊc}c/c)cbãbáccbÊb£b¤b|bFb9bpbîcDcLc cc2bþbébÂb“baaHa`®`^`0`!`_é_t^å^ž^S^)^d^„^“^š^…^c]×]‰]z][]U]]Ò^^^^E\ú[BZÞZÕZ«Z¨Z™Z‹ZZhZwZñ[.\[¼\l_'_ ]Ð]0]¤]q],]|]x]Ž]Ù]ú]à^$^•_H``„`R``_ô``8```_ü`` `!`]`a_ü``1`3`/`2`:` _ô_õ_ç_á_â_ð_õ_ó_ò_Æ_­__†_š_³_Ñ_ø``"`;`G`i`{`‡`ž`É`öaa&a5b3d™cUa¯awafa9aDaVa_awašaÆaëbb=byb•b°bÆbÛbâbíbåbãbëbïbñbûbüböbûbøbðbãbÞbØbÛbÙbÓbÑbÜbÜbÛbábáb×bÎbÊbÉbÅb¹bœb˜b¤bÂb¾b•bvbubqbjbjbpbŽb•b–b»bóc|d‡déenf¤f«f&feùffLf9f2f7f1f*f8f=f^f“fâg-g[gcgNg\g>g+g+g?gfòfïggfîföföfÐf²f£f®f¶f”f‰fŠf~fDfIfWf#eòeòeèe÷eðeÎe¿e|eYedîdËdRddcßcÍc¼c¶c”c~cWcEc-c.c9c/c cc2c1cnc“cÊdBd£fg§gÏh!fXe5dÆdïe'e@ewd˜dêd}dJdüdAe‘hÂjjnjj¶k®k"kkìl±l’lpl2l‡lŽk«jajÜllal·lSll¢mm&lok´kdj¡jj0jÃjsi¨j k˜kÇk¦kàkÁll#kÃkkwk–kÊkkk™k—kÀlŸl¤mm@lâlÀmmgmÝn mtm:m$m7mmmm8m’mÓmsm)mcmžmˆm€mœm[m½nam‡lÍlzkÈk}k"jÖj]iði‰ihïh€h‹iloòr/o%kÿkVkk jÂj·jŽjwjtj:jiÞiÙiÐiÓi½i°i£i¥i°iÐiïjj#j,j2j8j?jIjQjYjhjpjqjij`jJj0jiüiÞiÛiÜiÔi¾i›itiFihÕh–hehBhgýgðgîgìgóh hhhhgýgègÆg²g¡g©g®g©g•gƒglgCgg g g ggggggg3gQgjgpgygŒg¦gºg×góhhh%h3hBhWhhhwhthshjhhhhhjhrhuh€h‰hhhŽh—h¤h¶hÄhÑhÒhÛhëhúii'i;iLiditi~i‹ii›i¨i¶iÆi×iëiÿjj#j7jLjcj‚j j¶jÃj¾j·j·j¶jºjÆjÙjïkkk#k1k8k>kLkTkUkWkWkXkOkAk-k#k!k&k-k-k1k0k.k%k kkk k-k8k@k3kjëj¿j¢j’jj±jÖjèjüjújîjØjÊjÇjÆj½j§jˆjrj‡j–jªjÅjÔj½j˜j£j×jåjÔjËj½j³j¡jj~jkjSjBj*j iäiÌiÂi·i©i–iŽi‚igiCi#ihÝhºhŸh}hdh=hgñgÆg˜gzgqgSg)gfÙf­f€fUf)f eñeÄe›ereFe"dûdÍd›dgd.cöc»c…cVc!bðbÅb btbPb1baòaÎašaea)`ò`½`“`Y`_ä_É_Ñ_í``(`'`$`:`v`½`þaEa«bbObgbGbaèaºaY`í`x_þ_Ç_á``.`X`Ÿ`ìa-aca›aÃaïb$b9bIbNb`bybŒbªbìcFccÜd d7ddd•d¾dÝee&eVeze¡eÑfffEfRf`fZfXfafifsfpfQf%feïeñffff e÷eàeÈe³eže”eƒebeNe;e(edûdîdàd×dÎdÇdÊdÐdÌd¿d¸dµd§dŒd“dªd§d±d½dÅdÇdÅd¿d½dºd»d½d¿d¿d¼dÁdÊdàdÿe e1e>eNeXe[efeneqe{eƒe“e¡e¶eÑeóff3fCfTfWfdyd»dxd)d1dhdƒdided¡dÐdÞdÂd›dšd“d´dïeee e5eBeEeBe>e:e4e5e"edÆdƒd9ddcûcìcÚc¹cžcƒcdc8búb·ba¤aB`×`’`q`_`@_Þ__a^ß^_!_3^ÿ_¸`&``C`Á`«a+cYbñbXb‘a€a,bEb™bCbVb€b€b)aåa£a´a—a¸cÉeºeId‰d…cåcKd_e6d±ded-cÞcÃc¯c“cec cbÔbŒb_b?b-bgbÿc4bÜb†bfbTbDbNb^bnb†b¡bŸb¸c=cºcâcícÛcÎc¡c…c¬c’cQc2cbçbübõb½b§bžb¤bvbVbobbücVckc/cHcdcbóbÑb`a­aTa`¹`t`1` _ý_í_œ_4^À^y^G^ ^^3^X^o^n^p]î]†]}]•]¸]²]¨]³]¤]^y^N\ZÕZ¸Z„Z‰Z†ZzZkZZZQZrZEZuZ˜[¬]f^U^¦]ë^@]³]B]Ü]Þ]Ë]¹]È^^„__º``?`Q`h`G`2`k`¦`—`\` _Õ_ä_ÿ`W`½`Ü`K_ó` _ê_ò``"`_ÿ` ` ````` `_ç_×_Ö_Ì_À_Ï_ä` `4`E`[`l`u`‹`¨`¼`Ð`ó`ïa a.aÂcßd-bkaia8a$a aa3aBaVaŠa»bb'bUb†b¡b·bÑbØb×bÓbÇbÍbÔbÖbÚbÜbâb×bÐbÊbÃb¼b±b«b¥b¢bœb—b b«b§b­b¢b b¯b¹b£bŒb~b„b—bµb¢bvbdbYbNbDb?bEb[b_bgb™bðcjddQefeõe‹eže‰eÃfAf/f%f"f+f7fOfjfrf¡fág/gGg=g-gBgjgogjgMg0gAg?g\gmg:g!ggggfúfßfÄfáf¿fµfœf“f©f¡f¢fºf´fŽf,e¶e¬esedïd¥djd"cåcÌcºcµcšc–cƒcocXcLc4c2cc#c?cKcrccÃcÏddÊe­fÎghHgÌe}dÖdãdñdõeHe³dÈddd?d?d5fŠili½iþj(jËkjäkYlWl[l~lÍlBl:l l$jÅjÊlkÔllbllÆlžmqm¾lWl1kèjªj?j@jQj i€jjÀkXk©k7kÏlØll-l4lGl_k½kºk|kÍmmTmmmmHm]mˆmvm•m–mlèmlílÊm!msmSmLm$m&mHm#m8mumšmˆmTm³mUl…kükuk=jÀjsi÷i¤i4hëhªhhÎiˆkÃp½qn k~kAkjßj jjdj2jiÕi¬iŸiži–iizisiliqii–i¬iÇiáiìióiûiûiýiüjj jjjiéiÄi­i£iŠiiiYiYiRiAihïh¸h~hIh!gýgÞg¸g¤gžg™g”gœg§gžggœg­g«g•g~grgngngPg"fìfÄf¥fœf’f£fµfÁfÓfÓfÆf»f¼fËfègg&g7gOgfg~g“g°gÉgßgígôgÿhh+hbaèa°ayaCa `Û`¥`n`-_ý_æ_ï``#`>`D`@`B`^``öaFašaîb,bPbLb(aûaÌaˆa`¨`_É_â` `6`U`€`ÈaaTa‡aµaÚaÿb0b2b3bAbWbnb„b­bòcJc˜cÇcêd d2dddd¹dàee/eQe~e¨eÜffRf’fÜggBgig’gÆgåhh*hZhhÍiipiÅiújjHj…jÁjök#kGkfkvk…k‹k–k™kŒkkƒk˜k½kålll3lNlllˆlšl¦l®l»lÄlÒlßlðmmmm$m-m/m!mmmmm'm7m;m=mDmAm8m!mlølßlÓl¸lŸl€lhlOl9l lkèkÊk¨kkkkMk%kjÜj¶j†jWj$ióiÁiˆiNihãh§hsh7hgÇg’gWgfáf§fmf3eòe·eeHed×d•dWdcÊc„c=bób¡bPaüa­aca`Ë`‚`6_ì_ _T_^·^m^!]Ý]œ]_]%\ì\³\s\4[ñ[·[y[O["ZúZËZ›ZkZ;Z YÙY YkYeNeee’eÖf!fOfvff¼fÔfðg g#g8gNg_gjgpgvgvgqgqgqgwg}g…gŒgg¯gÃgÐgÚgÓgÏgÔgîhhhgögîgègãgègïgîgîgõhgýgûgùhhgögïgôgög÷gîgßgÇg¾gºg®gŸg‘g„gxgkgdg\gQgPgJgHgFgHgIgIgHgJgIgGgDg>gmžl}kýk¹ksj·jÓjfiFiTiŠjkkk¡ltlHlDl+l l/kØkÁk¡lSmÖml¯l³lým?lðlál¹lîmœmNmmmm-mqm}m+mmm=m>m mGm;m5mulÝlÒlrkÚkukjÖjwj'i³ibhÿhÈh—h¹hÚi“kq;o>lxk-kj×j­j{jaj6iði½iioimi`i\iLiBi;i9iAiQi^isi…iœi©i°i´i³i­i¨i®i¯i³i¬i›iibiMi>i)iihùhçhÆh•h]h#g÷g×g¿gªggkgXgMgJg:g&ggggg3gLgCg8g*gfèf¨fwfRfAf7fAfKf\fdfsf€ffpfifsf†f¦fÅfäfúgg+gEgcgƒgœg­g·gÃgÒgìhhhhh hgþgùgþgûhhhhhh!h.h?hLhZhchph~hh¦h¸hËhÜhêhøi ii.iHiZipi‚iŽi¡i±iÃiÏiÜiñjjj4jFjGj@j/jjjj jjFjdjqjxj‡j’jœjªj°j´j³j¸j®j¨jžj‹jjxjvjj‹jj–jœj¢j£j¤j¡j¦j©j°j»j¾j³j™j}j^jOjVjZjhj„jŽjjtjdjZjSjOjPjNjHj@j7j-j1j)jjiýiîiæiçi÷jj-j4j1j!j&jiÿiàiÌi¼i’i`i?i!i i iii hôhØh®hzhAh gÞgºgªg—g~g_g;gfêfÄf¹f¤f„fgf>feñeÒe¶e—eseOe2edídÍd¤d|dMdcâc±c}cQc*cbßb¿b—bjb5aûaÀa‡aPa`ê`¶`}`M`` ``'`C`Z`b`_`^`k`—`ÝaAaaåbb;bBb$baÙaa2`Æ`p_û_Ü_ý`,`\`w`£`éa6atažaÈaïbb5b*b%b5bHb_b~bªbñcGcˆc±cÊcÜdd2dadŒd¹dåe e0eYeƒeºeíf/fmf©fègg6gWgyg¨gÐgøh(hTh‹hÇi idi¸ièj j>jzj°jâk k+k;kEkOkZkgkjkhkekYkYkokŠk¬kÉkãlll-l?lIlVlclsl„l•lšl¬l®lºlÊlÏlÏlÆl½l¶l´l¾lÂlÉlÍlÈlÂl»l®l©l“lvljl\lJl-lkôkØkÀk¬kkykSk7kjòjÏj«j‡jbj1jiÕi¤iii8ihÊh—hah/gõgÄgŒgZgfåf­fuf:feÆeŠeQedåd­dmd.cñc²cpc+bâb–bDaôa¤aWa`Á`w`3_ð_ª_`_^Î^ˆ^;]ñ]³]|]C]\Ò\•\]\[å[¨[y[F[!ZêZºZ‰Z\Z.YüYÎYœYsYIY!XÞXÛXkX‚X‹V’U¨U¨UæUÓUØU¯UœU„UtUUÒV…W­X]Y’[Ë]¹^ö^ë]uZðX[VóVšWrWZVT3S®T±S)QéQçRãSÀR¢QêR*TYUU¦W¤UYPBM•N^ONO|P!PçQRQýRrRØS>STTcTÄUUUÖV%VjVµW WbWÆXXyXÈYY\Y®ZZbZÂ[ [{[×\0\‰\ä],]u]¹^ ^O^–^Ì^ò__M_„_Ê` `B``¿`èaag3g*g%g g!g gggggggg gfýfñfêfòfûg gggfýfõfçfÚfÉf¼f¶fµf¿fËfËfÃf¹f»f»f®f“f}fofhfnf{f‡fŠf…fƒf…f†fzfhfQf@fh:h0h!hgîgÏg­ggvgggagjgugg³gµg”g`gfºf´fÂf”fzfpfDfeÑeged“dId#dhdød§ddd)dJdNdUdwd‰dd€d)cùd d;dXdfdd£d¹dÀdÀdÄd´d–d‘dˆd|dldAcøcc?c ccc%ccbéb½b~b6aàa `ª`G_î_©_r_i_V^ö^€^+^3^^^D^7^2^ƒ^Ð__``ùbd*dâdÚcóbwaY`"`aa=aeaga`°`œ`Â`Ùa?aÏbsc:c×d-cobãc£dbdc£cYc cbðb¶b[aÿaÀaa³aÚaÎaøbib±b¬bŽbybebUbUbRbebb bÅbóc(c±dOd/cóc§cVc7c(cNc†c­clbÕb†bŒb«b®b}bQbZ;Z*ZYþYßY¼Y¹YÜZÑ\Œ^U^Ð^À_E^¯^©^Í^’^t^B^X^›_'_«_ï```K`¥`¨`¢`½`Î`£`¥`w_ü_ò`oa‘aò`ã`T`b``…`l`s`[`>`"`)`.``````_ø_î_õ_ÿ` `9`s`§`Ò`î`úaa a a a`ü`á`æ`óab>d dÒcÐbxata+a6a`û`ña aVa’a×b0b`bnb˜bŸb¤b£b•b‹bb™b•b˜bšb™b“bŒbƒb€bobeb\bXbSbIbRbVbVbVbQbDbIbFbDb3b1bBbobœb˜b~bhb^b;bbaüaýbbbCb–bác)cyc«d0dñedödËd¹e7eòf*f"f%fJf~f~f£f°fÍgggfôggHg‡g‡ggg_gWg_g‹g›gšg“gg™gŒgŒgµgÖgŸg`gpgzg…ggg=g4gd'ddcëdýgéiyiiÉiti‘iËjsjðkIlsl^kQkyl l.kÀk§k#jskkÿkñllm^m†m4mFlæl»l´lBkekj,iÓjŽjiÙjhk#kølk¿ll8k×kÐkËk¥kølÞlñlsl‹l¨lÊlßl¨lÉlálßmIm lølÓl÷mmm>lôlælámm;mmm~lÛlxl}kêkØk€kDkjÔj€j;iÒi‚i6héh±h¨h©i jÏlÂr%m¸kŸkAjÔj£jwj5j.iði©iai>i/i0i i$ii iii ii$i0i=iMi[ifiiiei_i]iZiXiWiMi@i'i hîháhÔhÇh°h‘hlh=hgÑg¥g‰gwgjg[gFg+gggfífÒfµf ff­fÒfõgfôfÆf›f]ffeôeñe÷eÿff ff)f-f*fff-fCfaf}f˜f±fÍfìg g,gPgjg}g‹g›g¯gÉgÚgçgãgÝgÑgÎgÅgÀgÂgÁgÆgÂgÐgÕgâgëgüh hh$h1h@hPhchqhhh¡hµhÃhÕhîii!i6iKi[ioiiŽiœi¥i´iÈiáiùj j jjiíiÚiÆiÃiÚiðjj jj*j:jHjSj[jbjhjhj\jSjOjFjAj:j*j jj)j=jDjOjYj`jdjbjfjljqjujujhjUjaèaaGa)ažb&bGb+b!bPbqbhbXbBb!b bbbbbbÀbòc cjddc¸c\ccc c5cgcvc=bÅbbqbŸbËb£bmbFbXbwbeaÊa£b&bécžc·cgbaÿaÒaˆa`–`D` _Ë_‰_C^û^ª^R^]Þ]±]‹]x]g]m]’]£]l]\þ\å]#]™]Ê]Û]m\è\Â\6\>\LZÄZ)Z;ZZ%ZZZ YýYåYÉY¥Y¦YZx[³\w^)^Õ_?^ß__J__^¬^|^¡_7_¹_í_â_Ù``^`k`b`|`¡`„``ˆ`.``VaVa»`é`™`¦``}`\`f`{`m`%``!```)`%````_÷_û`+`Q`}`·`Ü`ýaa"a aaa`ô`à`ã`í`êalbÅc½dzd cbybvbDb.aÉa9aauaÄaìbUbkbtb‡b„b„bybrbpbtb{bzbvbsbobibbbUbIb>b7b,b/b6b6b;b;b5b/b"bbbb bbbKbsb‡bxbMb:bbb"baëaõbbJbbÆbùc$cncïdmd‹djded˜e e¥fff-fOfoff›fšf¸fùg fýfîgg6gNg]g\gSgRgDgXgug–g¬g¨g«g´gÃg×hgögªgÅgôhhJhPh'gÿg²gmg,fÖf`feÄeae/dçd‰dHd%cûcÂc¡cƒcicdcfcJcJcDcBc7c#cccc8cZc+c¿e8ffögÝh†he5dxedòdÒcódOd”dEdcácãd”f„hhuhóirifiKiRi›j•kGk’kƒk^kJk¯lakxknkÇjªjsklflžmmÙn5moläl×l—ll]lmk×k-kkëkÖk,j—jõkÖkðk£kàlnkêk kækÍl(l¬lIllClTlalpl›m m;lýlôlµlµl·l»lßlÞlÆl§l’l£límmlîlPlkÜk€k}k2k j»jj3iþi™ikihãh®h³hºiŸlgq7qBm-k>k j|jxj/iùiåi–iSihóhëhòhëhëhÜhÔhÁhÇhÈhÔhØhÞhêhþi iiiiii iihòhàhÇh´hœh”hhkhJh"gég­g{gQg5g&ggg gfðfÜfÎf¿f§f‰fffCf;fRfiff‘fuf-eòeÌe­e e¢e§e®eµeÀeÇeÎeÒeÎeÑeÍeÚeìfff3fKfdf~f£fÊfôgg9gMg\gtgŒg¢g«g²g©g£g‘gˆg~g|g{gyg}g}gg™g¥g¯gÄgÒgãgñhh hh)h3h@hMh`hoh†h£hÂhÝhôi ii1iFiQihiqizi‰iœi³iÅiÑiÔiÒiÃi°ii†i„i—i¥i­i·iÂiÕièiøjj jjjjjiùi÷iøiêiÞiÐiÈiÔiìiöjj jjj"j'j(j,j2j1j"jiûiñiéièiéiãi»iiµiÜiåißi×iÌiÆi¾i¹i®i˜itiXiJiNiTi[i\i]iViMiNi]ibioiwimifiXiFi"i hþhæhÆh¦hžhhhˆh‚hjhChgèg·g‡g]g4gfâfÉfÎf¿fŸf}fZf?f+feþeáe½eeebeGe-eedïdÍd«d‰dad.cýcÊc›cgc6bÿbÑbbrbDbaâa¶a†aTa`Û`ž`l`N`B`J`]`z`”`ž`š`—`Ÿ`¸`òaGaªaübb5b;b+aþaÒaªak`ö`”`>_ì_â_ý``Q`Œ`½`Þaa_a”a·aÕaúbbbbb!b5bIbob­böc/c[cucˆc˜c·cßd d9dld˜dÀdãeeGeyeÁff7fjf“f°fÄfÜfþg,gYgŠg²gáh h:hoh§húiWiªiÉiäjjIj|j§jÄjÓjÛjåjñkkkkk jôjÙjØjúk k7kEkRk`kkkk„k“kŸk­kÃkÛk÷ll#l/l-l&lllkñkèkÜkÖkÓkÎkÇkÂk¼k®k k„kukjk^kQk@k0k jõjßjÈjªjˆjcj?jióiÑi®iƒiZi*höhÀhhXh)g÷gÇg‘g_g-fþfÊf˜fif6feÌe–eYe$dîd¶dzdDd cÒc•c]cbÝbšbVb aÀaua6`ï`­`g`+_í_²_p_,^ì^¥^^^]à]¡]l]4]\È\“\^\#[å[¨[o[<[ZèZºZZ[Z:ZYðYÊYžYkY2XìX©X•Y¬[V¶UlU²UU¤UšU²U¼UñVV;VyVËW§XYœ\x^à_²_*`e] YøZxY†Y8YWVU°T­TDT@T’UÂUZU…U­TRU[XY‚V R–R.QJQERSQ€QÞRWR RýS0SSÑT3T‹TÜU-U{U¿UþVIV§VþW_W®WþXCXŠXØY*YYÞZAZ£Zù[U[¢[é\2\€\Å]]Y]¢]ë^#^S^ƒ^­^ì_:_†_É``B`z`ª`Öaaa(aDadaa¾aób2bsb bÂbÜbêbîcc*cPcxcªcÜcúd#dBdgdŒd±dÒdøeeHekee­eÌeîf f*fAfUf`fjfuf…f’f¡f´fÊfÙféföfÿggg"g3gCgUgegxggg±gÀgÊgÍgÌgÎgËg¿g¬gšgg„gugfgfgdg^g[gRgKgGgBgd d djdŸdzdAd!dd dddcÿcÝc¡c€c•cÄcÜcîddd'd*d%d'd(ddcõcÖcµcŠcBbåb¦bbƒb€bob\bSb3baÃala `A_×_€_H_^Ñ^’^E^^]Ü]š]m]„]ª]f]3]J]6]1]³^`2dËf/db;`¹_+^#]„]î_·`v`_ø`F`e`*`9`‡`²`’`—a#bEc clc‹bíb¿c-cQcbább3aèaŸaE`ë`±aAbLbÒbœbJb7bGbBb%b*b aêaÏa ajaõbÔccKcµdc×cacbøbýbâbèbþcbåb¨bvbZb…bÆbbWb&b bba›agafa¾bècb¡aØaNa7a)`Ê`@_ô_¸_z_/^á^Ÿ^b^&]ð]Ç]š]Y]']\á\ð]]]\ß\Š\ß]…]¯]Ý]½]i] \[f[>ZvZZYöYýYùYïYÜYÒY´YY…Y–YcYïZÝ[f\ù^h_E^±^ã_G_h_Í_^Œ^—__¢_ì_ç_þ` _ö```-`V`G`I`m`K_÷_ö`Øad`ì`Í`Ó`¤`|`d`I`G`2_ü_ý`` ```````_þ_ú``O`y`´`æaaa!a)aaa`é`Ú`Ú`ñaa8aßbŠdygf’eÀd½còdRcÅbpa3aa½aïbb]b_bqbybkbYbMbSbXbXbUbWbQbLbEbAb4b,bbb baÿb bbbbbaùaëaØaÔaÑaàaôbbRb„bvbNba×aÞaÜaèbb&bNbvbŒbÀbòc+c{c±céddGd±dúeaeËeùff3fVfXfcflf›fÉfÒfÊfÌfÛfìgg8g\gYgYgJg`g³gçhhgègÉg¸g–gg®gËgÎgîhPh´h‘h'gÌgxgjgMf½feÇe´edd÷d¢dWd&cíc¶c’c}c^cUcFc8c@cKcEc.ccc ccc5c$bãcWd›e¾f³g¡hÄh|d±dd÷dÒd]ctcñcÛc³d8dWd{f®i,glfÑg‰h–héhmi-iõkkXjójÿkTkEkkyk@k)kÓl#kÄk;k6l7mwm„nn.m#l…kík`l:l`k§ll-lkék½klkrk‚k’klkl-kêk¡lllllll9l8lJlOlvl²lÅlÔlÚll…lšllwl—l¡l~l˜l¿lðlül»llGlkžkRk4jéjÊj}jSiüiÍixiRihïh¯hÅhôiîkéq†nTljÒj›jMjKiíiÍi™iUihÂhªh©h«h¬h¨h›h‡h|hhh€h}h‡h‘h£h²hÁhÃhÅhÇhÃhÂh¸h¬hœh‡hph]hGh6hhgÌggRg#gfÝfÅfÅfÇf½f±f®f¢fœf‘f|f]f;f#f eýeêe×eãeìeÏe£eegePeNe[ehererezewexezepewe†e•e¨e¾eÍeäe÷ff4f`fŽf½fçg gg5gOgagsg{gygkgZgHgCg5g1g2g:gGgNgSgZgegyg’g g±g¼gÎgÔgágëgôgÿh h h4hShnh‹hªhÃhÚhîiii-i]\Ò\ž\j\0[÷[¾[†[V[+ZüZÎZ¨Z{ZYZ0ZYãY¶Y|Y8X÷XÉXbYZOV‡UUŽUlU®UºUòVVBVnVŒV³VÈWWwX‰Yâ[]¬^_è]Ê[S\ZüZ›YÞXYWJVUÉT¹T}TœV WVúU…S¢UQW‘WûW]VT0R S UFSR²R­SS6SYS“SéTCT™TðU=UsU¬UøVBVŸVôWQWWâX XjX´YYoYÑZ(ZŽZé[5[€[Ç\\F\‹\Õ]%]o]±]ì^^H^†^Ð__b_¬_á``S`‡`²`Ù`øaaa(aQaaÀaùb)bYb}bœb¯bÈbÔbÓbûc3c_c‘c¹cädd-dQdzd¥dÍdòee4eTeree¨eÂeàeöf ff,f9fJf[fsf…f•f¥f¶fÂfÕfåfðfýg gg/g=gGgOgSgYgbgwg|g|gygtgngcgUgGg9g-g)g&g$g'g&g#g$ggg gggfûfùfüfþfûfûfþföfôfïfãfÖfÑfÆf¾f³f¨f¢f fŸfœf™ff¡f¡fŸfžf—ffƒfufpfqfqfofrfwfyfxffŠfŽffŽf’f¡f©f³f»fÆfÌfÊfÆf»f°f¥f—fŠf|frfkfbf^fXfKfDf@f8f2f(ff eüeìeßeÕeÌeÁe´e¤e“e{ejeYeLeCe9e,eedçdÍd´d¤dd“ddŒd‹d‰d‹dŒdšd£d«d°d±d¹d»d»dÀdÂdÀd¾d¶d±d¯d¾dÕdädàdÙdÉd¿d¿dÁdÒdædüee1eVese‚eŽe‘e†e§eêff"f.f=fFfNf[fkflfvf“f¦f¶fÅfÌfÓfÚfèfùggg g+g7gb$b6b0b aÔa€`üa:b/bÊcƒd9d>cÕcHbÜbßbàbÆb©b–b b£b–brb?b3b^bBb!aõaµa×b a´a«a¡a†bgbraâab`Ò`‘`£`Œ`_¸_i_^Ø^•^Z^']ø]Ì] ]y]I] \ç\×\ô]\ú]\¹\p\œ\è]G]É]Û]‹\´[É[“[BZuZYÞYÐYÖYÃY¾YœYƒY|YzY_YrYcY„Z$ZÕ\/^–`ƒ_m___X_ë_^|^†^Û_‘``"`;`(``+`_Ñ_Å_Ò``O`<_ê`aPa£aa`Ô````M`/``_é_å_ñ_ñ``` `` `````3`Z`„`¹`êaaaaaa`ø`Þ`Ú`×`æ`ùaKaÒbdnfXf‹g¯f‚eUeÈeFd°bûa9aDb bbAb\bZb\bObHb8b=b>b>b6b2b+b*bbb baóaåaÛaàaßaåaìaèaëaßaÖaÅa½a´a¯a§a°a¶a¿aÞb baüaÆa¤a¹aÑbb/b>bBbNb_b‚b³bèc@coc…c¯d)dŒd¶ee‚eàeúff;f2f\fqf„ffÎfýfûfþg g/gMgdgSgCg,g4gŠg´h$hhh]hgºgžgµg¬gžgÔh-hKh%gÿgÚggPfûf¿fqeôeÒe£eVdÿd¡dQd"cécÌc¦cc[cKcFcEcDc5c6c.cbøbøbðbÞbäbòb«bÉcÁeJf—g†hñh)dÜd[d2cêdc>cJcc;dífe^fäh³gf¨g*hQhîhh„i;j€k.k)k kjèj…kk}k&j÷k§l¨kªk,l2l³lhl@lþmClAkòk»k¢kNkkºll7kík£kÒkàkrk7k/kill+kýl#lkÜkìlBlOl-lKl®lÏlÄl³lšlœl£ll^lQlIl5l1l3l$lEl„lylkêkâkÐkŸkIkjßj³j‹jLjiÛi¬ijiFihõh´hìiiýkËpålÏjàjj(jiÿi´iiSi%hÊh„h[hbhfhphchYhCh;h2h.h$h"h)heLe;e8e2e+e)e!e*e:eJebexe†e”e¥eÅeéffKf…fµf×fðggg/g\[Ö[¦[w[B[ZèZÁZœZtZMZ!YñY´Y|YBXçXÅXSX XËVUÏU±UºUóV V?VpVVÀVÓVòWW$WAW‹X)Y”[Å\R]^T\Þ[F[õ\àZœY»XôW…VzUrUéV V”WSWzVXSÝTæUïV,WÔW0T'RST¾TSkS!SYStSS·T TVT¬TñU+UlU£UéV=VžVõW@WWÁWýXOXžXýYSY³ZZmZÃ[[X[“[Ò\\W\¡\ë]5]s]©]à^^\^¡^ý_D__Â_ø`'`[`Œ`´`ß`ð`üa aaIa}aÄbAbbpbbëcbübÚbËbÜccoc”cªcÔcúd dHdpd™dÁdàdÿee2eHede‚eše¯eÀeÏeáeðf ff/fAfXflf€f“f¤fµfÄf×fæfüg ggg ggggggggggfÿfþfúfífëfífðfõføfôfôfòfêfáfßfØf×fÑfÉfÅfÄfÇfÅfÈfÈf¿f·f²fªf§f¡f™ff†f€f|fzftfhfjfpfrflfefafZfOfFfFfJfMfLfHfIfPfUf^fjfxfyfyf|f‰f’fŸf­fºf¿fÄfÆf¸f¦f˜f‰fzfff]fTfMfFf;f0f%ffffeöeçeÜeÏeÄeºeµe§e›e‹e{egeUeIeAe9e3e.e!edôdÕd¿d­d¡d—ddˆd‡d€dd„dŒd“d“d‘d’dŸd©d²dµd¹d¹d·d°dªd¦d°d¾d¾dµdªd£d¦d­dµdÃdÏdêee&eHe[ehe_eQede­eàeêeòff$f3f7f=fFfJfZfufˆf›f©f±f»fÂfÓfçf÷gggg%g)g*g/g3g5g:g7gCgXgqgg~g‚g…gg–g¡g¬g±g±g²g¶g·g¸gµg¬g¢g‘g~g`gBgfûfØf¶fœf|f^fqfŽfžf»fÈf¤fˆfxf_feáe¸e“eƒeNdúe eidôd+cÌc¡cŸcïd3dcÜc´c›cšc›c•c‚cacIcJcecscrcycƒc…cc†c”c¢c¢cžc–c¢czc6bîb­bsbHb?b+aþaÕa²aˆaga@a`¶`L_‘_>^ã^‡^;^]ç]É]¦]‹\è\Z\1\;\J\>\[ù\Q\\\È]—^±_’^Î]Â]\Q[á[¥\]E^[_ _[_1^Í^_^J^§_b_„_Š_ÿ`­aLa¦bvcEbôb¡b³bÂb®bvba`„`v`4_“_âažc'c"b²b„bab8b/bIbIb a³a\`Ë`™a,baddÀd:cºc.b»bÆbÏbÎb¹b†b~bubnbSb aéaåaçaÂaža`aƒbaâa¨aÃa™aèaðaxa`²`M`5`K` _¢_6^Õ^^Y^!]ø]Ñ]˜]T]/]\ÿ\û\è\Á\–\ƒ\\”\¶\œ\M\Š] \ö\¾\9[á\=[ßZ˜YïY«Y|Y„Y]YHY@YFY>YSYUYRYbYaY§Zb\^ñ`¯_¶_K_"_7_g^Û^§^²^â_­`,`9`>`R`b```H_ñ` `M`` ```Âb%aÄa `ü`´`}`S`*`` _ò_Ó_Ò_â_é_ò_ÿ````````/`J`m`¡`Ú`óaaaaa`ú`ç`×`Ë`âa awbbÞdvedµe dâdåe1dŸeBeöbÜa_aÈb.b+bJbHbNb1b!bb bbbbbbaûaôaëaØaËaÄa·a­a«a«a´a½a¹a°aªaža•a†a…a…aŽa–a”aaša•a€a|aaÂaõb*bTb^bFb#b5bCbnb˜bžbÑcc|d dPd}eeke©eÁeÿff!fXfOfDfXf‚f±f¬fÇfçggCgMg^gigJg1gDgogÑh+hh¢hgÆgèg±g|gØh gjfàfõg ggf¹fufteüe§eke,dØdhdcÞc­cŠcec[cNc4c/c2c-c:c5cbûbàbâbÕbÅbÐbåb™b–cUdôf›gµiEfúdedc=c•bØbºb¨b»d—gf®g8gÝfàf¶fágöhðhihÌhîiõjþkAkj·j¨j³k9kTkjŸjwjåkk-kìlTlµk:jÂkîl0kâkOj¿jØk{l+klk–kÅkukakvkŒkUk.kTk¥kÔkÎkêkÓkÛl>l™l†l[l†l¼l“l{lžl¹l‰lnlrlJl*ll ll8l#kõkñkÍkk~kek+kjëjÃj jvjCjiæi·i†iVi6hýhÿh¾ihØi¸kên0kgjj2iÃiüi­i’i[i.hñh©huhDh5h)h1hhgûgêg×gÎg¿gÁgÊgègôhh hhh h%h"hhgìgÓg¸gŸg„g`g2fùf¿f…fWf;f#feÿeøeãeÒeÂe¹e´e³e¾eÁe²e‰eSedâd·dšd¢d¸dÔdçdód÷d÷dýeee*eedñdÜdÖdÐdØdâdõe e!e2e>eTeqeeÖffMf|f¡f½fØfèfûggfòf×f¿f´f­f©fªf§f²fÂfÇfÑfäfþgg4gGgQg[g\gbgegigrgxgˆgg¿gÞgühh3hQhqh•h³hËhÙhãhéhìhöiii#i,i6i7i0iihðhêhèhàhÛhØhàhëhüii i iii!iii$iiii#i9i4i5i,i#iii$i0i@iPiYieioitibihXhxh“hžhªh¢hžh h¡h›h’hhˆh„h|hthghZhMhCh/hhgügígÕg½gœg‚gdgDg!føfÏf¢fyfRf)fffeíeÕe½e—e|ebeJe1eedçdËd¯d›d†dodSd/dcÝc¬c…c]c4c bâb¸b•bkb@baëaÃa™ala6a`ã`Ì`¼`½`Æ`Ö`æ`î`ê`ã`Ú`ãaaFa—aèb*bQb^bHbaåa­a€a!`¥`U`:`-````8`C`m`²`ë`ýaa`a”a¼aÞañaòaìaãaãaòbb7bmb£bÈbßbíccc2cScxcžcÆcôd%dVdd¯dìe(eoe¬eàffff1fKfnf‘f½fæg g.gQgxgŸgÐh hOhŸhüiDiiini–iÄiîjj1j:j2j,jEjdjyj…jyjPjiòiÜiãiêiõiúiÿjj jj.jHjajzjŸj¹jÒjåjòjøjõjðjäjÕjÆj¸j­jŸj”jˆjjwjojbjRjHj=j6j)jjiðiÜiÉi²i˜ixiVi3i hçhÃh¢hxhQh!góg¼gg\g-fýfÒf¢fvfHfeòeÄe“eie5edÒd¡dnd;dcÑcžchc/bóbÀb„bJbaÀa€aIa`Û`¥`n`1_õ_µ_}_D_ ^Ð^—^[^]Ö]™]^]-\û\Ð\¢\y\V\+[ÿ[Ï[[i[=[ZèZ¼Z‰Z_Z+YþYÁYxYBXêX¯X\X!W¿VÓV~VIVTV[VƒV§VÊVûWW$W&W:WNWYW?W¯X:Z#\[á]h\îZ"['\…[Z¶Y¬XüXNV¼W WWVÐVEV`U;U}T`T/UûT7R¦RR>RèS7SPSiSSS§SÍTTcT·TþU4U_U›UæV@V”VßW*WcWWÝX.X…XäY@Y˜YóZPZ£Zé[([b[ž[Ü\\b\«\ñ]9]t]®]ï^@^^Ý__\_’_Ã``(`V`ˆ`µ`×`ð`ñ`Ùa abaïb¬bØbŒbb­b¨bb•b{b†bæcWc’c¡c´c¾cãddEdhd†d£d¾dÚdõe e"e2eGeYeoe‡e e´eÊeÝeôfff*fBfVfif€f’f¨f·fÈfÔfßfßfàfÝfÙfÚfáfãfâfÛfÔfÍfÏfËfÃfÂfÀf¾f½fÃfÃfÇfÌfÊfÈfÄf¾f¼f·f²fªf¥f£f›f•f”fŽf‰fˆf‚f~f{fwftfuflfff^fafafVfGfEfEfEfCf;f5f1f,f#f$f(f'f&f!f!f%f(f4f>fQf[f_faffftf…f”f¢f¨f®f¬f¢f’fƒfof^fOfGf_‚_þ`a`ýa¨b`bÉbub(bIbŽboa¼`¦_È_|_3^Ô_mabˆbùbÈbbubAb-bZbSaäa“aL`²`_`Ìbtd÷dÛcãcfbÍb}b±bÚbÚbºbwbHb.b#baéaÅaŸa‘aYa,aa/aÐaïa®aÈaeaa)`ü`È`›`;_ì_Ý_É_m^û^£^]^(^]Ü]¥]n]E]*]]]\Æ\m\j\\z\´\î\¥\4\\[Ý[Ì[í\3\¬\VZðZ!YYXñXÿYYY,Y-Y8YIYHY\Y]Y‡Z7[ò^ª`?_Ð_X__ ^ì^À^å^æ__Î`5`@`'`.`?`4`M`<`h`»`T````ìa³a5`Ú`Ô`”`Z`5``_ò_Ë_´_¹_È_à_ì_ú` `````&`'`;`W`v``·`ß`ð`ú`ÿa aa`ó`Ø`Æ`Ðaaœb/bÉc¾dxdFd d8dtdŸdPd4end”b,aÚb9b*bBb3b+bb bbbaüaîaëaäaÚaÕaÆa½a°aaŽaa†a‚a…a‰a‘a‘a‡ayaqananaoataxa~a†a~aqaiagasa™a¸aæb*b_bFb"aüaþb bbb2bÛcc@cÿdsd™dìe1e}eÉe÷eßeåeüeùff:fgf—f‡ffÌg g¶g·gˆgcg?g'ggEgˆgéh.gágdg^g’gSg f¦f|fžfmf4fff*f eìeìe¯eyeseFd¾d>cücØc²c˜cƒc^c>c=c5c5c0c*ccbûb×bÉb—b…bzbybvb§cd›fèhKjKfùd­e¨dRcFcBbÒbbLb/cwff²fífÄf)f[fÊhMh“gÓi0i+iZj3j³jÔjjj&jkj¸jŠj}jwj'i±iñkkÂk8l“lj j3k®kjjzjëkZkÛkjék jíjÞjÜjùjñkk_kpkk«k¾kÝlAl[l.l[lœlÄl÷lÙl‚lyl·lƒlOlWl kúkñkÒkÛlkèk£k}k\kJk6kjèjÅj•jzjTj4j iài²i…idi:i+hûihÄi/hèišl+kèjiÅiÏi‘i¹iliwi'ihÁh—h`h;hhgûgågÒg´gœggrgcgegqg‹gg®gµg¾gÀgÇgÉgÆgºg§gŒgmgNg2gfáf¨fif/feèeÏe¸ežeŠeoeOe4e eedùee8e*dôd¯dqdOdAd0d3dCdsd¨dÊdÛdØdÕdÙdâdèdØdµd’d|dtdsdd’d¤d¹dËdÚdìee'eXe’eÓf f;fbffžfµfÇfÌfÅf«fŽfnf^fZf\fafkfuffŠfžf´fÏféfýggg g!g$g!g(g,g6gFg`g€g¡gÁgÛgþhh@hdh€h˜h©h´h¸hÁhÅhÊhÓhÜhñhýhýhõhæhÎh¸h©hhšh”h’hh§h¯h³h®h¨h«h³hµh¯h²h´h³h²h§h­hÂhÇhÆhÈhÔhÜhêhîhøii ii!i$i&iihähÄhÇhÊh½h«h®hªh§h±h»h¹h¤h¥hŽhUh(hhhh%h```8`?`^``Š`¨`ºaaeaa¿aÔaåaæaÛaÍaÍaßaûb/b_bˆb¤bµbÃb×bïcc9c^cƒc¨cÐcýd,d`ddÇeeGee´eÔeæeïeøff8fbfŠf±fÙfýggg fãf´f…fWf3feÚe­eƒeSe#dôdÂdd\d'c÷cÀccYc(böbÁb…bMbaÕa–aXa`è`³`}`J`_Õ_™_b_,^ý^Á^†^M^]Õ]˜]Z]*\û\Ò\­\Ž\l\G\[õ[Â[•[b[5[ZÓZŸZmZ:YüYÃYY6XôX¡XZXW¶W[W"VçVáVÜVìWW(WIW[WfWcWwWkWˆWMWW:X|\\‰[¿[§ZZ4Z»[`ZéY2YÉYCWWÜX7X‚WèVV|U¢UaS¶S V8TMRßR—R%RSSIS‡S¤SÇSÃSðT#TyTºTóU'UQU—UâV9VVÒW WDWzWÆXXrXÄYYsYÊZZqZ´Zð[-[b[ž[à\)\r\²\ò]3]{]Ë^ ^x^º^ö_0_l_¡_Ô``,`U``¤`³`½`Üavb bAbTb?b#b2bEb6bbaøbbubñcKccÎcÒcÈc×dd,dMdhd‹d§d¸dÊdÝdïeee)e;eRene†eŸe°e¹eËeâeùff$f:fLfafuf‰f”fžf¢f©fªfªfªf¥f¢f¦f­f­f¦fžfšf›f–fŽffŽf‘f™f™fšf¡f f f f™f˜f˜f’f‡fyfrflfifef]fTfOfMfMfPfMfNfJfFf?f=fg-gg fófÖf²f‡f\f9f!feæeîffEffÄfÃf›fjf6e÷eªePe#ed²d°dðd“d:dcÒc²c¯c•c¦c¯c–cfc8c*c,c/c2c.c)c-c7c6c/cccccc.c3c'c bòbÖbÀb»b³b…bDba×aÉa¹a‰aQa`ã`³`}`A_ø_¢_^Ê^w^$]Ô]–]e];\ë\‹\F\[è[ð\[Ú[y[Z®Zº[[š\#\t\¢\T[ë[n[$[Y[x[Q[¿\û]Ô^W^Û^›]×]µ^^¶_^Ë^Õ_B_©`r`áaRb!b(aÎaa’a„a`._O^­^?^^»`^aÌbub»bŸbib'bb`_ó`'`g`l`Z`S`N` ```GaaC`Õ`®`‰`f`A``_û_ñ_Ú_Ø_Ý_Þ_ì`` ` `` `````*`H`g`‚`’`³`Á`Ò`Ý`î`ùa`ñ`Ò`º`Ïa?aÒbhbÓccÆdGdZdadFd,dTcõc©cµbºb4bFb!b,bbañaçaáaÝaÙaÔaÑaÅa¾a¸a®a¤a•aa~apaaaWaLaMaZaaadada]aRaFaIaHaRaWaWaaanapara‚a…aŸa¿aûbJbxb8aýaÚa¿aÄaÊa³b0c\crc1cÑdcdŒd™d«døe^e†eUefe´eÎeàeÞffAff•g†g×hgâgwg!ggggRgŸg‡f»fYf`frf—fkfEfeófff`feùeâeÝeåeîeýeëe¯e„e%dkdcÖc•cƒckcJc7c-c!cccccbþbäbÉbŸbsbSbJbdbcbÍbùd/fÕhCiÌf|dne°d¡cBbèbæbvb6aâb¼emfef¶f„fogg,hVh–gÐh÷hÿi‡j+jajéjÆji¶jj2jGj'j+iâi‹j0kKjrk2m—kAišiˆi´i›iïjmjŸkCk5jøjºjjˆj™jªjÊk#kekˆk¹k³k±llslLll[lolammªlölzlªlill lkÝkÁk•k¡kµkukEk/kjújÐj­j”jqjNj3jiìiÅi˜iƒiXiLi&i%høihÞi,ii[kFj¦iÁi‰iuiditiKiCi hähhth@h+gügègÇg±g•gwgWg:g%ggg'g2g>gYgcgtgngqglgfgSgiGi[iki…i›i´iµi²i»iÇiÝiáiÔi¶išii`i?i$iiii1i2i9iFiWi{i›i¹iÕiîiþjjjjiúiôiëiãiÝiÑiÂi²i¦i˜iiŒi€iximidiXiMi?i-ihÿhæhÏh³h˜hwhSh0h gÝg±g‚gXg)fúfÉf™fhf;feêeÁe›eme=edÜd«dzdHdcãc¬cxcJcbíb²bƒbKbaØaœa]a$`ï`½``Y`*_ó_»_~_K_^ä^¯^z^D^ ]Ñ]š]a]3]\ã\¸\œ\{\a\9\[æ[¼[‰[Z[ ZíZ·ZZLZYÅY‹Y@YX­XoX"WéWªW|W\WGWIWNWbWxW—W§W¤W‹WžWˆW—WLW€W1W…Yð\Ú[„Zã\4[ZQZ¬YûXçZüYÏX XæYÞZ[YDXWÄU©TSS•V¿USÀS RJRkRãSAS—S¬SÊSÉSöT%TuTÂTûUUQU’UãV5VxVºVéW+WcW¯WûXXX§XúYLY¨YôZ;Z~Z·Zí[+[d[¥[è\)\q\·]]Q]¶^^]^Ÿ^×^þ_<_€_¯_á``5`a`„`£`Åa1aàañaÇaÉaÒaêbbb baàaÝaëb:bƒb®c3cÀcùcøcöcëcïdd0dHdad~dŒd˜d§d´dÃdÝdþee0eKehexeeˆe–e©e¾eÐeåeýfff/f8f>fFfNfPfYf`fifqfsfrfqfufufofgfgfdfbfcf`fcflfrfvf{f~ff€f~fxfrfnfdfVfPfIf=f6f/f&f"f!f&f%f$f%f!fffffffeüeõeñeõeñeêeçeàeÜeáeãeßeÚeÜeÝeØeèeÿffff!f/f@fQf`fgfff_fZfPfDf4f&fffeôeßeÍe¾e­ežee‚exenefe\eReGeBe9e5e1e(e'eeeee edýdùdódädÎd¹d§d”dŠd‚d{dydxdsdodpdrdtdvdxdyd€dƒdŠd“dšd—d“ddŒdŽd‹d‹ddŽd’džd²dÛdÚdÈdÁdÌdÛdâdÝdàe e'eEeVedexe…e“ee¦eºeÉeÜeîf f%f>fXfof€f‹f˜f¬fÁfÊfÓfåfïf÷füfýggggggg g:g7gg fÿggg ggg!g#ggg fùfæfÕfÆf®fŽfhf;feöeâeÓe¿eÈff&fzfòfÌfufDeþe«eRdùdÓdÈdˆd2ddcâcðcÌcžc™cƒccvc]c1c bøbøbúccc cccbûbíbâbßbçbîccbóbâbÂbbzbmb}bZaÿa´a‘aˆa|aMa `Î``X`$_ä_¤_^^Ö^Ž^D]ø]±]l]$\Ý\˜\a\1\\ \*\-[ð[{[Z–ZCZ’[ [L[[Œ[[›[jZÚZµZàZÓZØ[y\]R^ ^«^R]È]Ø]ñ^7^w^O^W^£^Õ_j_ê`aaa{a­aN`w_º_K^ã^U]ú]Ú]ß^ ^Ü`Wa5aÇb…bœb bb6bFb-aŠaa7`é`êaÒd€fÌdxcHbúbMaëaæbb(baña—a^aHa-aAaMa>`õ`³`r```‡`ãaUaG`äaa`Ö`ùa`Ö``0_Ð_d_ ^¼^t^,^]å]Ë]¸]¡]ˆ]z]b]B]\›\{\¨\º\æ\ù\ô\­\)\M\[‚[ZÀZÂ[C[£\ ]D\iZyZbZÏY¡X«XàYYY-Y(YCYEYVYpYZ,[$\ª_`_”_h_„_’_|_—_d_`_è`;`C_ú_Á_Ü`k`¾`˜`—`­`r`=``$`Êa8`Ï`€`g`K`?`'`_ñ_ë_ã_Ú_Û_Û_ä_î` ```` _ÿ` ` ```=`S`d`s`ˆ`™`¤`½`È`Õ`ë`ú`ñ`Ã`»a$a«bbxbÝcccÉcÔcãcécÐcìcíc„c>bºbPb6b bbaéaÔaÆaÇaÄaÀaµa°a¨a£ašaa~atahaUaKaFa;a4a-a0a9aAaBafeèeÂe·eãeñeÿeüfeëeæf#feße¯e¿e)d;cóc¸cŒc‡cncNc4cc ccc cbÿbábÅbµbvbPb/bbFb'bµccHeJgkigQd}dæe+c{bÏbÆb±bWbaçcùf%fMff fµg³gWg²h;hBh]hzj$j]jKjnj~jvi†iyiºjiîiÃiöiöiNi›jAjLk lBkdiÕi"i-iKi‹jj±kjëj²j‘jŠj‘j®j¾k'k”kvk]kjkwk–kÑl l ll+kûkßlelòlyll=l3kâkäkõk³krkWkMkIk$kjéjÓj¬j•jpjYj1ji÷iÛi½i˜i€i^iPi6i5iihíhóhëii6i0iíiéi~iSi6iFiCi!i hæhÁh|hZh+hgògÓg±ggwgTg8gfúfÞfÖfÖfàfággg ggggfþfäfÍf­f”fmfHfeÔe“e[e2edþdèdÌdŸdgd0dcícècìcêcÖc·c©c˜ctc\cjc‰c™c˜c–c›cÁd dbd‘dŒdxdZdEd.dddcòcàcãcòcúddd d.d8dGd_d‰d»dóe*eYeŽe¼eìffd-ddcôcÛcÅc«c†ccc:cbòbËb¡bvbRb+baîaÐa²a—a€aoaZaMa@a:a6a5a5a.a%aaa aa-a\a†a·aíbb8b`J`[`„`‘`âaŒa6aaia„aa­aªa¨a©a¨a¨a­aÊaûb#b8bNbabpbb–bºbàcc(cOc~ccÃcíddVd™dÐee)eFe]eme„ee¶eÖeøff9f^f~fšfÂfÜfüg gMg‚gÀgýh9hhÍiii3i9iAiRilivizimiki{i‚i{ijiXiOi9iihæhÍh¹h²h¬h°h·h¹hÕii*iJibiziˆiŽi•i™i‰iƒi~iwiyisiei]iLiAi2i(i"iiiihúhíhßhÑh»h©h•h‚hbhIh,h gégÀg–gmgCgfîf¾f‘fbf5f eÞe¹e‘ege;edàd­d|dLdcåc±ccOcbóbÅbšbhb;baÒaaja/`ù`Å`–`f`;` _Ù_¨_u_>_^à^©^y^C^]ß]¯]v]N]\ú\Ò\³\\r\T\4\[ê[À[Š[\[-ZûZ¾ZŒZDZYÆY‰YEY X½X€XDXWïWÈW³WžWW™WµW¾WÝWÖWÜWÅWµW¤WœWŽWMWNWVWyY•\.Zé[’\ñ\&YÂYµYÂYW[6Y‹XÁYçZ¶ZìZ$Y;XøVÊTR‰SXVéVSäSERšRKRËS SkS¥SÀSÜSðT$TjT TÓUU)UlU³V VIVˆV¸VîW)WkW·WýXHX“XåY/Y|YÂZZ8ZzZ³Zî[$[e[­[ì\*\g\½]]€]æ^8^n^•^Ð_ _E_ƒ_´_Þ` `5`S`}`œ`Ôa:a_aPaa§aÁaÙaàaçaëaìaæaúaùb)b(buccîcÝcádd6cécÝcÿdd#d7dBdLd]drdŒdŸdºdÑdädûee)e=eCeMe^ele}eŽee¦e¶eËeÖeÞeçeòeÿf ffff%f.f>fDf@fa1a'aaa a aaa a$aaa`ò`í`ã`ç`æ`ò`ýaa9asa”a‘a¤a±aÞb baÔa†acaOaua”a¯aÔaøb–cdd!d²d´d¢d§dºd¼dÖeeeeezeÒf>f€fÐg0g fæfëfÜfÚfóf¯f~f¾fêfæfmff eÿfffeêe×eÆe“e«eÉe¥ežf e°e¦fReøeŒe«fŠeˆcþcµc’cgcLc'cbïbãbæbábÜbëbÝbÎbËb›bb^b6bbb/bb¿c]cAdofçi‡g{dÇd¶d™c:b¯b\b7bDaâb*d5e×fff%gHhgég“gšgêhBhËiõiÆj$j!j3j§i4hØi'i¬iÜiÄi–j j9jjjÌj)jÏmk÷i³hñhùii›jjljñjôjÔjÞjõkkAkžkúkzkk*k]k‚k‹k¾kÛkÉkÀk¨k§llalk¼k´k®k±k¤kzkBkkkjêjÏj¼j™jjZjBjjiãiÌi°iiwiOiFi,i.iihähÔhÉhÊhÚhòi"ii8i5iii iihúhÜh²h‚hXh2hgùgÏg³g„gjgEg&gfæfÇf©fŸf˜f¥f¯fÆfÅfÊfÂf¾f­f¤f‘fwf`fAf)feÕeše[edßd¸dœd|d\d.cùc½cŽckcZcecqclcNc9c*c bàb×býc3cNcScZcic›c÷dEdWdGd0d cëcÎcÍcÉc¥c‡ccŸc®c¿cËcØcácåcêc÷dd>dsd¦dÖee;ete«eÞf fffeúeØe´e›e†e…ee e±eÆeÛeífff3fDfQfWfYf\fbfifsfwffŒfŸfºfÕf÷gg+gGgcgggºgËgßgègígïgñg÷gúg÷gígôhhhh gúgègÕgÌgÊgÊgÁg¼g±g¦g—ggg˜g§g®g®g©g¥g¥g¯g®g«g©g¢gŸg«gÒhh6hBhcùcæcÜc¦cc‘cÛddcýc²cycBcbëbËb²b«b¤b§b¨b­b³b±b­b¥b–bƒbwbqbobubwblbgbZbGb-bbaåa·a€aZaFa2a `Å`y`5_ü_Å_ˆ_M_^ß^n^@^ ]Æ]j]\­\h\)\\!\.\(\ [´[SZüZ«ZnZfZ€Z›Z¦Z¡ZˆZyZmZ|ZQYìYÒZZRZ{Z¿[x\¬]]¡]Ê^^^J^€^h^9^7^Y^”^•^¸__m_Ø`` _3^-]à]º^_ _^¥^¸_J_¸_ã`ÜbUb‡aÅaÏcc¦bwaÚbVcdneÒecbçbóbŠb#aíaßaáa›a"`À`‡`ƒ`}`t`w`k`G`>`2_ò_—_P_]_‰_³_Â_Í_²``¶`-_½_´_s_-^Ó^^$]á]³]Ÿ]ˆ]o]M]=]C]N])\Ç\l\O\\\t\«\É]\ä\S[ª[!ZÈZó[1[>[ Zè[K[Â[¯[Z7Z$[Ï\4YÔXòY1YY0Y)Y?YAYaY^Y¯Z&Z³[s],_â`ý`õ`Ÿ`Û`ô`<_ª``B`B`_Ä_U_°`¢`×`Ñ`Þ`³`s`.`"`ëa0`¥`s`|`W`"`` _ê_à_Ó_Ó_Ô_Ø_ã_ß_ã_÷_ö`_ø_ñ_á_å_à_Þ_ð_û```)`.`?`U`n`‚`†`‚`™`º`èa a,a?a{a×bb!b aõaÒa¼a¥a–a’a“a•aŽa…aauakaaaLa>a7a#aaa aa`û`ü`þaa`ù`÷`ï`ä`Ó`Ã`°`¹`¹`Ä`Å`Í`ôa,aAa=ava£a°aÈaËaµa‰aYa%a>a^anaÒbtc]d0d(dd,dYdˆd±dµdÁedædÔdçe0eãff¶fÁfÉfyf>fYfef:f)feýffmfƒeìeÇfe÷feûeìeáe¼e¬eŠeeˆemedee,eeõf3eyeQfHecÀc¡cwcUcAcbÜbÑbÇbÇb»b¬b©b­b¦b“b|bab?bbaébbb†cCc8c¬e˜iRieúd|cåcYc bb0b†b8b cdœff fˆh2h hg½g~gÇhPi$iúi½iæi¼jjYihÙii·iÍi§i–i¥j'j[j²jëj[jdl‚mdjhÊhŸh¿i`i…iÃjSj›j¯jçkk l.kˆk&jÕj¨jàkk5kEkdk…k}kxkokNkekšk—k_k8k6kcZclccc›c¡cŸc c®cÍcõd%dSd€d°dæe$edežeÉeÜeáeÔeºešewe\eKeHeQeceueŒe¢e·eÏeèeùf fff#f&f,f1fa6a!aaa`ü`ø`ð`é`â`ß`Ü`á`ê`á`Ù`Ç`¸`§`›``Š``›`ª`¸`Æ`ã`êaa[a©a²a§a–a{aXa`á`çaa.a¿b‡b¶c5cŸc¼c÷cüd!d¸eveqed´d¶dßegfXf©f`f eñffeùeýeÙeËeøeüeÍff#eïeûff fffeèeÉe°eŠepe@e,eEe'dÄd„dÎeÁe™d•d]cÓccwc&bÿbÜb²bœbŽb‹b–b‹b€bvb}bƒbtbhbBb-b aøaÖaåbb…cc!csd£gºjxg»dccb¹bZb+bb^aßbèefÝf/f…h’gçgágÎg9g.g¦hâi¾ivii-iSi!h¼ih¦iikiOi•iÍiøjTj±jØjõj`jñm3kàiÊhÁhti%i‹icihi·iûjnjšjÔkIj‚jj2jVj‰j²jájðjûkk!kkjîjÜjÛjåjàjÎjÀj¯j¡j¤j˜j‹j~jejYjgféfÄfžfƒfcfKf2f+f fffffeøeèeÛeÅe°eene=ed×dded&cðc»c‘c_c%bãb°b‰bqbdbfbdb\bCb2b)b!bb bb;b`bb©bØccWc„cšc c cˆcmcYcLc1cbðbïbócc#c;cGcMcQcUc[cmc‹c±cÛdd0d^d˜dÕeeXe€e˜eœee|ebeEe.eeee4eIe]eteee´eÈeÛeçeéeîeõeþffff%f.fAfTfmf‚fšf¬f½fÏfßföggg)g9g?gHgPgUgZgTgYgSgNgLgLgHg6g(gggføfífäfÛfÔfÓfÝfÞfáfêfîfôfýgg*gKgggggLg4g%g"g7gdg¬gÜg×g¸gšg•g£gÁgÏgÏg»g™g€gag=gféfîggg4gEgMgNgUgPg.fìf®f³fígfûgggg ggfõfäfÙfÐfÊfÇf³fªf«f§f“fxfYf+ffe÷eôeñeèeåeÖeÄe­eœeexeheRe@e4e!edùdädÌd³d ddzdcdKd/dcïcÇcªc‹clcZcc©cìcÞc·c³c¬c©cËcècúdd'd@dIdKdPdNdRdWdYd_dldvd|d‰d”dšd¨d¼dÏdådüee&e;eBeEeNeZegeiepeweze…e“e˜ee¤e¦e±eºeÃeÊeÓeÝeÜeÛeÝeßeáeåeáeÛe×eÓeÒeÎeÊeÃe»e²e«e¤e eœeše˜e™e–e‘e‰e‚e‚ee€e~eze‚e€eoegekekese‹e“e€edeVeQeXeje„eše©e´e½e¾e»e¹e¶e´e±e¬e¢e›ee‚ere`eNe:e"e dòdÞdÍdÃd»d«d d d¨d³dÆdÑdÞdådðdòdådÙdÌdÀd®d¢d•d’dŽddŽdˆddydrdldfd\dUdLdEdBdDdJdOdXd_dedkdldqdododidjdedidkdodwd~d‰dŒd†dudfdYdVdWdadsd~dŠd¥dÁdÙdádÜdÕdÐdÚdãdîd÷düee ee9e\e}e›e¼eÚfff2fMfdfwfzfyf†ff•f–ff‹f‚fzfsflf\fLfAfBf9f,f)f*f,f*f%fff eúeèe×eÇe½e®e¡e…efeAee dòdØdÜdõe?e eÚeæe·e‹e¬e£eLedïe e%d£cËcµcÄc…cWcXd-e.dødYcØcoc$bêb¿b¢bŽb‚bxbsbqbpbmbkbcbYb?b)b aðaÖaÆaÈa¹a±aaŽa…ayahaOa'a`Þ`Ã`¤`s`(_Ü__h_1^ü^Ë^^l^ ]Ü]¯]i]\Ð\ž\m\P\I\6\/\ [Ä[s[&[ZîZ¼Z—Z’Z¨ZœZnZj.j!j iôiÑi°ii|i^iIi.ihúhÞhÍh¼h»h¬hœh|hehEhZZÏZÿ\d]õ]ƒ[¢[™\&[WYXyV÷V*XÇUŠSuS/SSÑSÀSaS/S_SœS×T(TmTºTûUAUˆUÂUîVVIVV¿WW2WfW‘WÍXX5XmX—X½XçYYXY‹Y¶Y÷ZVZµ[[`[¾\5\ª](]†]Ë^^;^k^…^¬^Ù__6___€_§_¿_æ``:`g`—`½`ça a(aBaWaXagasasaˆa”a¦aÄaðbbbb5bLbcbbâcTc¸cÍc«cžcŽcœc±c«cÇcâcÝcåcõcþcÿcôcøcöcöcücúdd dd"d:dUdldŒdªd½dÌdÕdÚdädõeeeee e%e+e-edDdLd]didvd‹d¥dºdÀdºd°d®d¶dÀdÄdÉdËdÓdÚdãdðe e0eQene”e¹eÙeøff)f>fIfFfQfsff„fˆf|fvfafQfBf2f ffeôeìeäeáeâeâeÞeÙeÑeÇe·e§e”e‡eweke[eGe(edâdÄd¯d—dudvd¤dõeMesemedepeƒe]edÊd”dœd„dcÉd cøclc'cBcÿdÂdwcäcŽcMc bÓb°b”bƒbxblbdb\bWbUbTbEb5baúaØa³aŽaoaga_aQa;a*aaa `ü`ß`Ä`£`|`N`_Å_†_M_^è^¼^Ÿ^x^@]î]Ã]‚]-\é\¸\\s\c\j\7\[ä[š[l[M[q[eZÝZ«ZZ¡Z‡ZIZZZZ7ZQZ7Z,ZZZZVZõ[½\†]<]í^Œ^]‡]7]]=]’]ô^a^­^Ì^Ü_^É^h^‘_5_*^>]Ñ]ö^5^…^¼^Ç^Ï^õ__•a;eÙi g˜gÏhg~fleÆggËd¥bOaØaQ`Ó`ð`º`3_Ð_©_¤_j_1__8_o_‘_É_Û_´_b_=_`_L^÷^±^š^¦^¦^¶^”^w^t^ƒ^g^0]þ]Ü]±]‹]g]P]6]\õ\Î\œ\s\:[ø[Ú[ô\$\ \\\\k\2\[‘[Z©ZuZ/YÅYÙZ{ZÐ[ [`ZßZZYüYÉZç[C[[†Y¶YY4YY.Y9YAYUYTYrYRY»Zj]:`–aðcÆb´a[`ï`úa{a~`™`2_ú_¿_œ_ _­_ð```s`H` _å`T`¡`i`w`V`3`(`_÷_ú_â_ä_Ö_á_Ø_Þ_ã_æ_é_è_è_á_ã_Þ_Ø_Ø_Ì_½_Ã_Ç_Ó_Ø_à_Ú_â_ó``6`l`ª`àaa!a@a\aaa}a®aêbb4b?b5beNeYee™e€eweseyewe†e®eµeÑeêffeòeÞeÅe˜eteMeee e d½d¡dËd¬dZddd!cÀchcEcbübÚb¶bbrb\bYbUbNbXbMbObSbXbJbEb*baëaÚa»a½aÏaäb7bcb/bÑdÃg/g§dwcb†bcc/bÞbŠb'dWgÎg¦g"hi g¶gsgvfRfKgg³hûiöhþhPh:gîhBi}iiiVioiDihi}iúkkhkqk6jÔj¡jŒj5i¦ihÅhÈhÖhþi$ici¯ißi½iriaii¸ißjj.jQjljwjyjLjjjjjj,j3j:j,jjjiøiéi×iÐi¶i©i†imiKi4iihðhÓh»h¡h“hˆh‚hkhOh*hgùgçgÓgÑgÐgÕgÐgÓgÔgÒgÛgégühhhgúgògëgÜgÉg¬g‹g`g7gfçf¹fŒfbf=feùeØeÀe«e˜eˆewekeWeHe7e)edÿdØd¬dpdf.f#ffff$f$f&f'f(f3f=fPfeff•f®f¸f½fÂfÁf¿f¶fºfÊfðg ggfçfÜfôgg1g1g"fÿfèfËf­fêg fêfÃfºf¼fÉfÍf½f«fšf}fRf7fLfrf…f‚fgfDf*f#f"f'f7fIfJf5feùeàeÏe¾e¨e“exeiejeiegeMe;e3e3e4eedùdídædÙdÏdÇd¶d¦d”d‚dwdqdbdUdCd(dc÷cÝc¿ccwcRc2cbùbÞbÁb¤bbxbfbLb3bbaìaÙaÄa³a¥ašaaaqafa\aPaBa2a%aaaaaaaa.a@aXapa…a‡a~a`a0`õ`¶``W`L`a`‰`¢`š`~```@`D`P`W`[``•`³`Á`ß`úaa5a:aJa9a:a>aZZ+Z>Z^9^g^i^1^+^‘^Ê^k^ ^ ^a^«^Ò^å^ó^ì_N_t`Vbœd)c³eÅi ingeçfže€cãbba9`U`.`C`L_ª_%__^ù^Å^£^«^Þ_ _H_g_y_2^Ö^À^ª^Œ^~^’^’^+]ê]Õ]ð^^)^^]ä]»]‘]k]N]%\ö\Ì\¨\’\o\B\[¹[¢[½[ç[Þ[ñ[ö[Þ[Ÿ[HZøZÒZ¥ZTZY—Y€ZZDZs[ZÎZTYÕY±[ZÄ[\¤Z”YY7Y!Y5Y=Y=YOYJY]YGYpZ[ú]^žb¨cFa¼a$aha~a(`a`%_Ñ_¢_¶_Î_Ã_Ô``<`7`_÷`$`8``F`5`` ```_Ú_ç_ç_Ø_Ú_×_â_æ_â_Þ_â_ã_×_Ô_Ò_Ñ_Ò_Í_×_Ö_ì_õ_ð_è_í``"`I`v`¯`áa a?aXana†a©aÊañbb)b&baøaùaèaÇa¯a¢aawafaUaLaDaGaCaEaBaFaaBa;a‘a‡aÁbca•`Ðaa3a€aÒaþbbHbXbrb’b»bíc%ccc¦cßdddd&d'd3d=dSdbdrd…d¡dÃdèee)eJepe˜eºeÙeëff"fKfƒf·fçgg+g;gFgTgUgXgcgmgvgxgdgUgJgAgdDdVdfdfdgdvd}d€d‹d’dŸd°dµd½dÄdÓdådûeee*e9eGeJeQeQeReTeUeVeUeSeSeOeKeGeDeBe=e7e4e0e,e'e'e(e+e+e+e,e)e'e$e eeedødúdõdòd÷dúdødìdÞdàdïdÿee%e1e:e@eDeDeAeege€e•e±eÑeçeýfff3f9f2f+f(f#f eïeÖeºe™e|edeTeLeFeFe@eAe;e6e-e eedòdèdÙdÉd´džd‚didMd2dcñcÉc¢c¨c°cÁcñd!dld¼dÏd½d›dYccb¢b¢c6cpcVc=c-c;clcœcVc bñbÑb·b¤bŽb‡bxbibVbDb8b2b*bbaéaÎa®a…a_a@a$a`ë`Ý`º`˜`›`Œ`l`a`N`:`_ö_Ä_‰_J_^â^³^š^‰^^^]æ]ª]r]-\ã\±\¯\¥\ \¬\Ó\¡\$\ \\ [ý\[¬ZÝZ¶Z’ZZpZ8Z,Z1ZHZLZ0ZZYþZ/Z‹Zí[i[ò\!\p\æ]7]J]V]e]]¶]ñ^%^S^n^]^0^C^J^&^^W^g^t^‰^v^ž^Ï^é^æ____O_¿`ˆ`Ó`œbŒf*fÐccf6d¡b·a¯`’_¢_¡_{_ƒ^ý^š^y^u^~^U^N^T^}^¯^î_ _1_^Í^k^.^^(^']é]j]5]Y]“]±]à]ø]æ]¿]•]t]O]\Â\ˆ\p\[\<\\[ê[›[{[d[O[X[Z[ZáZ²Z|ZfZ“Z’ZY§Y=Y$Y©Y°Y£ZPZZ5YÆYÖZØZ²[j\ÕZ}Y+Y`=`/`#``_ù_à_Î_Í_Ê_Ã_¯_¯_µ_Ê_ñ``SabdGdüdd4cçc´c·cñdWd˜dáe eeedýe e eedëdÕdÓdàdïdìdádÂdìeWe|ee’eee|e³eåe-dìe dôdøe:efed¥dvded!cÞc®c‚cWc3cbâb·bbpbMbEb6b2b0b6b@bBbf4fef{f‰fef3f#f$f+f*feýeæeÚeÑeÉeÃe¿e³e¡eeyeie]e[e[e~e“eehe@edûdðdàdÌdÑdêdçdÏd¹d¥dŸd—d‘d‹d…dxdbdYdOdDd9d.d-d#d&dd dc÷cçcÒc¼c¡cc|cgcQc5cbúbÜb½bœb€bebMb4bbaôaàaÍa»a©a˜aˆauadaUaGa9a&aa`ñ`å`ã`â`â`é`è`å`ê`ð`ùa a#a.a'a `â`¼`•`w`c`R`Q`V`b`k`|`p`^`P`B`?`@`J`c``˜`ª`¯`Ä`×`üa a,a/aDa9a9a7a)aZaa'aÑaw`Š`\`àaa\a…aâbb"bAbXbwbšbÉbýc=czcºcæddddd ddd*d;dOdjd‹dªdÍdîee7e\ee e´eÊeÞeøffOf‡f³fÐfçf÷gggg*g7g9g3ggfïfàfÔfÇfÄfÄfÃfÀf·f­fœfŒfyfgfUfKfMfNfXfefrfff—fŸf£f¬f®f´f¸f¸f·f³f³f°f´f½f¿f»f¹f´f´f¬f¤f fšfŒf€fofXfDf,feîeÎe°e“eze_e?edòdÉddpdFdcîcÃc”cgc5cbÕb¬b‚bVb'aüaÔa´a‘aqaOa/a `ã`¶``e`;`_ê_Ç_ _€_\_A_^ô^Ä^˜^e^7^]ß]³]Š]`]<]\û\ß\Â\¨\ˆ\p\T\8\[ù[Ô[±[ƒ[S[%ZüZÖZ¶ZZfZ4Z YñYÛY¹Y©Y‰YlYEY>Y.Y)YXúXâX±X’X^X*WæW³W…WhWKW_WÝYf\C]×[€Z3YtXÊYšY¼Y«Z“[D\ \±\\M[[+\\\ [ÕZÑZ­Z YIY“Y#ZZ!WT´SÜS`R×R\RSRïS•T#TžUUaUœUÀUâV VbBbzbÕc#cèd/càdndEcPbùbõbâb×bÔb×bÞbçbñcc"c?cTcmccµcàd d#ddd+d-d.d3d8dDdXd_djdqdxddŽd¡d´dÈdÜdídõeeee#e-e0e0e0e0e0e*e$eeeee eeedýdþedÿeeeedüdùdôdòdïdädÚdÑdÍdËdÊdÆdÀd»d¸dºd¿dÊdÙdêdøeeeeeeeeeedýdôdídâdØdÄd´d d’d„dwdidVdRdMdJdPd^dgdrd~d‚d‰d”dždžd”d‰d}dkdSdDddHdPdPdOdIdDd8d&ddcþcýdd dddd)d3d=dCdJdHdIdGdDdDdKdPdOdGd?d5d(dd cýcúd d"d9d9d7d?dIdGdLdXdhdodudsdjdadZdgd‰dŸdšd¡d´dÎdèdþee;eTeme€ee´eËeØeìeüeþeûeðeéeéeÖe»eœeweSe2ee edüdùdïdìdédädÖdÉd¼d°d¥dšdd€dodbdKd9dcÿcÞc¼cšclcBc)c9crc°cíd)d@d@dcâcDb±bSbRccˆcÇcÓc[cc chóh¦hohfhjhvh|h`hZhh¡hãiiIii™i¬i²i¢i™i°i‚iUiTi{i˜i•i†itiUiAi3i ihühëhÔhÄh°h¤hh~hlhUh@h'hhg÷gÛg»gg^g1gfîfßfÙfÙfáfíföggggg(g5g5g>gJg?g/g.g!ggfðfÙf½f–fjfDfeõeÊe§eƒeae>edýdÙd·d“dodQd5dcôcËc“cac.cbÍb›bnb:aüa·a}aCa`ò`Ó`·` `…`k`b```l`x`ˆ`–`¤`±`Ã`Ø`í`í`Û`¯`r```Œ`ðataÉaÔaÇaÌaàaæaÇaaGa6aDaVauaša¼açbbb3bDbZbvb•b·bÐbêcc-cXc†c¹cìdd+d6d5d3d4d5d@dHdXdkdydŒddªd¾d×dìee ee$e(e&e%e%e(e)e$e!e!e#e)e0e;eDeNeXeeepee‹eœe©e´e¾eÅeÊeÅe¾e­e¥eše‘e‰ee€ezeeyevepelejekekeue‚eŽeše£e®eµeÆeÍeÎeÄeÁeÀeÐeåeÿff#f%f1fTfwfˆf—f¢fœfˆfmfIf1ffeùeØeïf,f[f@feÜeÖeäeçeàeÍe°e—eˆeƒe|enefeUeFe4e!eee ee$ee dîdÀdªd›d‹d‘dœd«d¢d…d_dHdGd7d3d.d)d.ddddcücòcïcçcâcÝc×cÇc¶c£cc{cjcVcDc6ccbìbÐb°bbrbWbAb/baüaéaÔaÂa®a›a†asabaRaBa.aa `ô`à`Í`Â`À`Â`È`Ê`Í`Ë`È`Ã`Ê`Ö`ë`ö`í`Ó`±`‘`v`^`J`H`H`G`E`L`O`[`U`D`;`:`6`<`F`b``“` `¨`¶`Ë`éaa%a-a@a3aBa5a0a*a`ß`’`=_Á_™_¹`DaAa}a±aóbb(bDbfbbªbÔc cDc…c¹cÙcâcìcìcícôc÷cúddd4dWdxdœd»dÝdüeeBeee…e˜e¨e¸eÍeöf fMfrfŠf f±fÇfçfëföfúfèf×f´f”ffnf]fNfJfTf^f[fJf;f)ffeóeëeéeëeñeûfff f'f3f6f;fCfGfKfNfLfKfKfIfLfVf\f]f[fWfWfSfGf@f=f3f+f#feùeãeÅe§eˆemeMe1edõdÖd­dƒdYd.cÿcÖc«c€cTc'búbÎb¡bxbJb!aõaÌa¡aƒacaMa.a `é`Â`š`n`L`%_ÿ_×_±_‡_g_G_(^ý^Ò^¡^s^>^]ã]¼]]g]F]#]\ä\Ì\­\“\s\^\K\0\[õ[Ú[²[Š[\[5[ZîZÃZ—ZkZBZ&ZYïYÍY¶Y‘Y€YcYWYKY>Y'YXÝX»X‰XUXWÙW©W~WfWBW¤Y9[æ]ª]½]L\[¬ZzZZÔZ´ZÖZ—Zï[’[ˆ[{[\\’\q\è]i[ú[À[ÐZ‡Z.Y¤Zd[£Z(W?T˜SHSR¢RTR»S€TT£UU_U™U½UèVVHVV¿VþW W:WIWZWuW‡W¬WÃWèWùX XXZXÏYqZZsZä[J[À\'\\Ú]]V]~]]¬]Ô^^2^]^„^Ÿ^µ^Å^ä__*_Z_‡_¨_Ï_ï``/`M`g``¯`Òaa$a>a_auayaƒa‹aa—aªaÂaÓaìb b.b%aýb bQbÉcbÛbøcÎddCeµe…dc?b¥bwb…b€b˜b‘b’bžb¦b²bÜcc?cvc™c¯c»cÔcùcücöcþdcýddddd/d=dBdKdTdadsdˆd˜d«d¿dÎdádídöee eeeee edûdódédàdâdßdÛd×dÒdÎdÑdÓdÔdÓdÑdÎdËdÄdÃdÀdºd¯d¥dœd™dœdšd˜d•d”d•d˜dd£d¯d¿dÏdÞdædïdõd÷dõdïdçdãdÜdÔdÉdÀd´d¬dœdddrdld_dNd=d9d=dAdMdXdbdfdpdzdzd€d‘dd~drd_dRdDd8d1d7d>dFdFd@d=d2d%ddcòcñcïcòcùcýddd!d*d8d=dGdGdAd?d=d>dEdCd>d6d*dddcïcæcècþdd*d.d-d/d3d1d?dKdWd]d]dUdOdRdYdjdˆdšdd›dµdÈdÕdådõee-eJeaeveŠeŸe­eºe¾e¹e¹e±e«e©e—e~e^e7edìdÖdÅdÀdºd²d¥d™d’dd„d{dndgd_dXdKdCd9d2d#dcûcÛc¹c˜c{cScbÚbèc%cfcšcÃc¹cŒc4bîb‡b*aÿb-bôcVcWcOcbübøböbÝb½b™bŒbˆb†bbybpb`bGb,bbaõaÜaÀa¯a¤axaKaAaEa,a `é`Ó`•`?`!`_ô_Õ_»_£_„_\_2_^Ó^¬^^q^3]è]Ã]—]]i]1\ù\Ì\º\Ó\â\è]]6]0] \»\b\;[ü[Ö[¬ZäZ^Z YúYðZZ$Z1ZWZOZ3ZRZiZNZy[ [Þ]n^ƒ]G\G\[\´\ý]?]‚]Í^^Q^†^§^¹^®^Z^^^8^\^s^W^e^­^Þ_______2_9_^ú^ô^é_‡`aa¯`Ñ`4cUgàc…`˜_€^ù^Ó^v^3^^^^^^^(^&^.^7^T^l^M^^,^]¼]˜]p\æ\¿\ð\ß\æ]!]4]T]q]]]b]\£\b\r\1[â[Å[Š[j[=[+[ZÄZZmZ?ZYýYåYÐY¾Y“YsYqYTXéX§X¾XòXñXêYYœZZZ,ZPZß\Á]ZYZYFY Y:Y;YLYTYRYOY?Y>Y.YY%YÞZj[ü`Ochb`Þ`–`H_ó_Î_â_à_§_t_ž``_Û_Ã`_ô_Ë_Ê_Ú_ù_ú````_ï`_ú_â_÷_õ_ê_ê_ê_â_ç_ð_ö``` ``_û`````-`K`n`–`¹`×aa"aEaiaŠa£a»a×añaúbaôaÐaÀa_a"a)aa aaaaaaaa a aa`ø`í`ß`Ï`»`²`¤`’`ƒ`y`q`j`e`Y`S`T`L`H`>`A`=`D`>`<`:`;`>`6`3`*```_ò_á_Ì_²_“_t___O_9_'_(_+_6_>_J_¸`Ya³c®d¥dÓdÊd’dLdEdÒe d²dd˜d·dÀd·dÒdÙd²d‡drdedsdfd.dddcÿddndÆdóe7eìf eýeóe³eQeedõdøeTeäf[e…dSdcôcÄc‘cXc.cbîbÒb³bœb|bbbNbCb3b/b.b1bi$iihðhãhËhÄh°h¢h‹h{hmhZhMh:h'hgþgîgÛgÆg®gˆg\g$fòfÇf§fœf–fŒfŠffžf¬f±f´f¾fÁfÐfáfïfùgg g gfïfàfËf·f¡f„f]f2f eêeÅeže€eWe3e dád¿d•dnd?dcñcÎc«c€cOcbÝb¯b†bUbaéa¶ata3`ý`Ó`°`Œ`u`\`H`+``_ø_÷` `)`=`Q`\`m`ƒ`œ`¤`š`n`2`!`Q`‘`îaFasa~a‚aˆaoa<`ú`ì`ôaaa:a^a†a¯aÓaêaøb b%bJblb…bb¶bËbîcca>a,a3aa`É`•`_…_¯`-`2`äa‚aœaÚaæb b1babub’b®b×cc:cmc”cµcËcÕc×cØcØcØcÙcæc÷dd@dadd¢dÀdàee(eCeXekeue‚eše¾eæf f,f@fWfpfŽf›f¦f­f¡fŽfffFf.ffeúeòeïeêeäeÖeÌeÁeµe¥e•ee‰e‹e’eše¡e«eµe¾eÆeÍeÑeÙeßeàeâeàeãeãeãeäeíeòeõeóeòeìeñeðeâe×eÏeËeÁe²eŸeeve\ed0d+d;dLd_dddŠd’d¡d¯d­d¼dÊdèee$e>eUeme~e‡eŒeŒeˆeezeuejeUe;e!dúdÑd®d–d†ddzdpd]dNdDdCd;d4d+d)d"dddd dcücêcÕc¶c•crcXc/båb­b½büc+c9c@cbâb˜bPbaíbb'bvb«b¾bÖbßbábÔbÒbÁb¢bŠb~b}b€bzbrbebRbBb)baðaãaÈa²a¡a’a`a6a8aBa-a `á`±`h`_û_ç_Æ_Ÿ_w_T_._ ^à^¶^‘^f^B^&]ä]²]Ã]µ]Ž]t] \ä\»\›\µ\Ê\Ð\Ø\Ó\Ù\°\3[·[z[8[[ ZtZYèYçYþZZ6ZMZnZnZ`ZUZJZQZ¯[S[ë\ç]ö]¤\±\z\²] ]^]œ]ê^7^l^”^¼^à^æ^“^8^U^¡^È^¾^‘^”^Ä^ù_ __^ü___!_"^ö_^ò^š^³_`«a_§b$ic×_Î^ž^e^;]ð]Ò]Õ]ã]û^^^*^)^)^]é]Ü]á]À]š]¾]Ò]²]p\Þ\S\„\Æ\À\Ã\ä]]3]M]r]r]\Ï\x\.\[ã[°[€[3[ZÌZ¹Z’ZeZJZ0ZYòY¿Y£YYIY*Y YXÌXlXDXhXX“XpX˜Y!YÂZZ¢Zö[ž]]Z´YeYBY0Y.Y7Y?YGYBYLYKY>Y9YMYYaYóZÆ]Ì`¶bb`ê`H`=`„`e`3_Þ_Ì`A`¡`ˆ`._Û_ù_î_×_þ_ñ`` ``` ` _ó_ê_í_á_æ_å_ë_ç_ò_þ``` `` ` ` ```&`/`3`>`U`l``¯`Ñ`èa a(aKadava—a³aÅaãaåaóaôaËa†a`ñ`ö`é`ë`æ`ê`è`ë`ñ`õ`û`õ`ö`ñ`ì`à`Ó`¿`¸`¨`–`Š`|`m`c`U`O`F`G`>`8`3`4`.`*`&` `$`%`*`(`$`!```_ð_ç_×_À_¢_‚_a_M_4__^ú^ó^ê___!_‹` a“c½dždÌdÖd¤deddKd£d†dddddgdxdd—d¢dˆdedUd;dd"cÿcècÓc¨ccºcüdJdæeHeºe÷ff e»e;dîe ee2eff*fTd”c¤cëcëcƒc:ccbðbÑb½b©b‘bƒbmbcb[bSbEb>b=b:b0b.bb aüaôaéaãaßaÓa»a³a˜a{atasaHavalaçddsb·b8bb,bÓbÄbÙcDdÃgÅgOf¡f\e•f³g.gKg–g¦g˜gQgYf‚f>fógcg•gíh7hhºgïgói)jjKj³kÉl0l l¦l†k¶kj0i4hWhhhhh'h8h4h!h5hThoh¥hæiiUigiwi~imiXi=i?iKiDihòhÞhÈh·h¡hh|hshbhThEh7h(hhgógægÒgÀg®g•gg[g0føfÀf“fjf[fPfDfAfCfEfKfJfQf_ftf‡ff®fÀfÊfÕfÛfÝfÙfÄf®f—f†fmfMf'feÝe»eœeeWe4ed×dªd|dRd cíc¸cŠcac8c bÌb‹bXb1b aÖaa^a'`ñ`¾`Ž`m`K`.`_ÿ_í_Ñ_·_‘_ƒ_~_“_±_Ô_ñ```,`D`W`]`@```>`a`ˆ`´`Ûaaa`ã`º`˜`ž`¤`±`Ó`ûa&aVa}a£a»aÍaçbb?babxb’b©b§b½bÞbúccCc_c{c“c¨c¶cÆcÔcäcùd ddd+d9dGdYdod…dšd¥d®d¶d¾d¾d¾d¿d¾d»dºd¹d»d»d¼dÀdÈdÍdÔdÚdædðdøee eeee"e!e"ee dûdòdédÞdÖdÏdÎdÏdÖdÜdèdêdèdìdódúeeee e$e7eGeJeGeCe?eAeYe}eže¡eŸe–e‹eˆee—e¥e¹eÞffa.a%`ÿ`î``›`Gac&d¡bXaaƒaŽa½aÄaíbbHbmb…bšb²bÒbðccBcrc˜c´c¿cÁc»c¹c¶c¾cÈcådd)dBdZdwdŸdÄdèeee,e5e@eIe]e}e¦eÒeâeñf f&fBfWf^fXfFf*feÜe¹e¦e¡e•eŠe~esejefe\eKe@e5e*e%e)e/e9e?eIeQe_ebekeoeqeueueze|e|e|e}eze|ee‡e„eƒee‚e‚e‚eetemebeUeEe6e#edëdÓd±d•dtdUd4dcìcÆccucNc'bþbÕb±b„b[b0baØa¯a…a`a7a`ú`Ý`¾`œ`z`W`4`_ë_Ã_¡_x_L_!^ý^Ø^¶^^i^A^]ô]Ì]¦]ƒ]d]C])]\÷\ß\Â\«\\\n\[\K\6\[Û[¯[†[][3[ ZßZ¶Z•ZZcZBZ YüYäYÊYºY¦Y•Y…YnY]Y0Y XÛX°XuX>WúWÄW‘WpWKW&VÿVÌW%XYú]D[ÓZÐ\Ê]ï^»_Á_J^O]^]"]ß]»^®^Ù^‘^ú^ÿ_ê`Ì`û_}[Á[ÿ]›]˜__†\)ZxZWÂUÄTšS¶S¯TDTØU=UUŽU±UåV!V^V’VØVñWWW#W*W>WNW_W~WŒW±W¹WáXIXÏY{ZZ²[N[p[¢\\Z\–\Ì\ô]]#]S]u]¢]Í]ô^^0^E^O^j^^Ä^í__=_[_…_©_Ï``F`€`½`êa a5aCa7aDaLaHaJa=a6aCaXama‚a«aübib·bçcbèblbbbVb^aæaåbb#baÝa¤a›b%bybìcob±aüaÞbb‚bËccTc9cIcc¬c c©c­c¦c¬c©c¬c±c½cÊcÔcæcñcýd ddd5dNdadpd‚d’džd®d¼dÆdÌdÌdËdÌdÄd½d°d¦d¡dšd’dŒd„d{dvdrdldndidhdhdhdddcdcdkdpd~d‘d›d™dd…d…d‚d}dzdudvdsdwd{d‚d‹d•dœd¥d¤d£d¢d d™dŽddudndadZdPdFdd6dd cÿdcýcúcôcïcìcçcæcßcÚcÔcÊc»c¨cŒcmcKc3bøb b~b—bÈbÕbÀb¤b}bQb!baäaåaãaÜaÿbHb—b½bÅbÅb¹b°bb‰b‚b€bbb{brbabMb7b"aÿaàaÚaÁa©a–a}aKa$a$a)a`ù`Æ`|`8` _ê_º_Š_\_+_^Þ^µ^Œ^f^A^]è]¾]ž]¶]î]ï]½]R] \Ó\¤\˜\Ï\Ë\²\Ÿ\€\^\[´[t[7ZóZ°Z`YúYÚYèZZ(ZBZ`ZnZZ†Z~ZZZWZ‡Zÿ[ƒ[×\!\™]\Ú\æ]0]i]£]Õ^^P^^Ÿ^À^õ_^Þ^¢^·^ÿ_^ù^Ô^Â^Å^ó___^ó_^ú^ó^ó^Æ^°^Ÿ^…^u^Q^Õ_2^`Ab½`‡^ˆ]Ñ]°]‚]]‰]„]¡]¤]]­]Ù]â]ñ]Ò]¬]p]b]F]C]e]{]J\Ð\C\\W\x\ˆ\\®\ß] ]"]Y]V\é\Ž\K[û[¸[˜[|[:ZøZÅZˆZmZ@ZYøYäYÛYÑY¸Y„Y-X÷XØX¶XX;WóWÔWñX0XJX!X8X©YVYøZÄ[[\\ç\ËZëY€Y(Y#Y#Y-Y7Y?YEYAY:YSY2YKYHY5YfYù[§]"_xb7aÇ`·`èaR`æ`~`8`\a a`Ã`d` ` `!````````` _ú_ç_ì_ð_û_ü_ÿ` ` `````` ` ` ``+`<`D`R`X`p`ƒ`Ÿ`¼`á`óaaa'a;aca‘a¹aÂaÕaÝaçaça±a=`ê`Ü`Ò`È`Í`Í`Ñ`Ø`Ý`à`Ù`Ý`Ý`Ú`Ò`Î`À`º`§`•`ˆ`ƒ`q`c`S`N`A`>`1`-```` `` ```` ` ` ``_ú_ì_è_Ú_Ê_¶_ž_~_e_C_!_^ü^ì^Þ^Ú^Ö^Ý^ð__Y_š`vbsd edñdÈd˜dcdUdmdKddddd!d.dQdPd3d1dd?dMdbdod}d‘dªdËdìe ee.e6e:e3e"ee dýdådÌd°d•dydVd2ddddcûcæcÐcÃcÅcÇcÅcÀc¹c¸c³c²c«c¡c˜cŽccncWc9cbôb°bebQb\brbnbRb aæa­aŠa¯aÍaŸaaaya»aýb9b[bybƒb•b¤bŒbzb†bŽbb‡bbsbbbIb0baûaÖaÈa³a˜a|aba4aaa`ý`Ô`•`N`'`_Ù_œ_^_%^ñ^½^Ž^d^>^]õ]Ç]]j]w]½]à]Ä]–]&\ê\»\‹\ƒ\½\°\\ƒ\i\4[Ï[Š[_["ZÓZfYíYÆYçZ Z1ZXZuZ†ZZ˜ZZ‰Z€ZªZÎ[%[¥\\f] ]\Ï\Ÿ]&]¨]Ý^ ^H^k^‚^”^¬^å___^ú__C_*_^ä^ß^ò_ _ __^õ^×^À^±^z^g^T^y^z^*]Ë]ß^^=^ ]ë]á]t]\Ü]]]2])] \Û]]R]_]‡]r]I]]\ü\á\Ì\Á\‡\<\ \\/\;\G\[\{\­\Ò\ç]7]a]\‚\%[ß[¡[s[BZôZºZ‡ZBZ"YúYÀY—YrYmYƒYjYXÖX¬XzXQXWÃWsWcWŽWÛXWóWòXCXéY‚ZZÖ\\ø\ç[$Y Y%Y YYY#Y,Y'Y@Y;YPY\Y^YiYyYgY Z•[´]ªaxc a¿aµaÎam`ó`”`ça¨a5`ð`t`=`a`Z`0`5`3`.````_ý_è_Ü_ã_ì_ö_þ_ô`````_ô_ù```.`I`X`q`x`‡`Š`ž`®`Å`âaaaaa1aIaƒaŸa²a½aÂa¹a¼aÅaa(`Ã`²`±`²`³`»`À`Å`¿`Ã`Ç`Ç`Å`Ä`¹`´`¦`•`†`„`o`g`W`P`?`9`*` ``` ``_ý_ý_õ_ó_ñ_ò_÷_ó_ñ_ñ_ã_à_Ó_Ä_¶_ª_”_z_[_=_&_ ^ó^ä^×^Í^·^»^È^ß__d_¬_›ad:edÏd±d™d”dxdtdjdSd.d cêcàcìddcücáddcßdcàc£c‰cQcZcYcLd[eŸe€eteedeœe¯eLe÷eôedd¯eUdžcŒc;b÷b¼b«b£bžbŒbˆb~b}bsbjb[b[bTbNb=b?b0b(b bbb a÷aðaëaãaàaÖaËa´a”akaFa7a4aaCabdbaïb0b0bÇc&b;bNdÞg$hNfåe”e¹f#f±gghdCdGdMdLdNdIdLdQdTdTdUdSdUdXd[dadgdidrdwd}dd„d‚d„d‚ddzdrdgd[dQdId=d8d8d5d;dBdLdPdZd[dbdbdfdjdodxd‚dd¥d·dÂdÀdÅdÓdâdöe eedÜdËdÑdÝdèdðdøeee1eAeNeNeGe/ee eedùdÙd¬dŒdzdudkdHdEdjdtdtdid^d[d_d^dUd?dcõcÞcÌc¿c·c¢cŒc~cncacVcPcGcAc5c2c8c7ccFcJcYcfcyc‡c™c§c«c±cÄcßcôd dd,d=dNdXd`dcdhdjdldjdfdedadXdOdDd>d/d$ddddddddd$d&d+d;dMdfdyd‘d d³dÀd»d´d³d°d®d§dd–dŠddwdkdXdMdKdDdHdMdMdJdBdcäe eeJece,e.eaef[eÏdÑdpd]ecdãcCbábÕbœb’b|bublbcbXbUbPbWbMbAb0b0b,b(b$bbbbbbaüaîaßaÛaÍaÇaµa–agaCaaaa(`ùa¿cËc aÑaÔbbscWbebAd)eefœekeheˆeg,g]gúfêf”hf±fnfDfVg¢fÆgójlhg¦iairj kkjøjúk[k®l—ki’iEih§h=hgßgÓgÜgògûhh'h,h#hhh>hPhßjjTjDiÖidi#hÊhšhthNh.hhgÝg­g‡gpgdgggogogjgfgZgHg0gfþfÞf¼fŽf\f(e÷eÍe®e•e}eceCe$eedýdîdñeee6ele¡eÊeþff f f f/f+f'feûeÛe¸e•eseXe`,` ```` ```_ý_û_î_é_à_Õ_À_¬_˜_ˆ_~__Œ_ _©_®_©_¡_˜_›_¬_Å_Ó_Û_Û_à_Õ_Í_Ì_Ü_æ_õ```1`B`N`]`w``³`Ï`ë`ûa`ÿ`ò`Û`¿`š`f`=``azebÃaÀaZa_a@aaaFauaa·aÓb b,b\bqb…b“b¡b´bÑbïccc,cd;d=d>d=dCdAd:d/d%ddcócäcÓcÁc§ccyc]c6cbób×b½bb€bbbDb"baÖa³aŽanaDa`÷`Ï`¨``]`5`_ô_Ö_·_’_q_V_5_^ñ^Õ^»^¡^‚^m^S^:^#^^]ì]Ò]³]—]y]Y]G]1]]\÷\á\Î\°\–\t\M\[â[©[v[S[8[#[ZóZÞZÆZ²ZšZ“Z„Z|ZhZPZ2ZYíY½YˆYTY$XêX¹X€XNXWÕWšWqWLW$VêVÀVÛVœVxVØWXTZ%YŽY÷[†]¥YœY\Â\M\b_|`4^8][[£_Nb¼dåcíe2aÓaWe–`f`Èc`àaa§\¼XUdTrTÆTôUtUžU­U¹UÃVVSVŸV¿VðVëVôVéVùVûWW W&WFWnWšWãXAX–Y€Z.Z£[[H[|[ˆ[É\\1\M\^\r\œ\À\í] ])]?]b]†]´]Ý^^2^[^ƒ^¨^Ð__7_n_±_ð``6`X`|`™`¦`­`½`Æ`Û`í`ðaa%a/a$aa`ó`ïaa!aDaWakahaqaa–a‘aaeaTaDa'a `á`×`Ì`»aXccsc^cÑewg{g¦eÕd~c¥cŽcrcocµc]cBc2c4ccccc%c4cGcRc`cnc|c‰c¦c½cÒcäcõddd"d-d/d3d5d5d3d4d3d3d.d&ddd dcücùcùcøcøcþddd ddd$d4dLd_drd„d—dŸd¡dšdd‰d‹d„dxdsdqdodpdgd[dQd>d*dd!dd dddd ddddd d ddd dddd,dAdDdKdIdGd?d0dddddcùcöcïcìcâcÞcÜcácäcêcõcôcòcýdcùcöcøcúcöcöcócùdddd#d-d5d9d3d/d'ddcícÎcµc®c·cÃcÇcÃcÀc»c¹c¼cÉcÔcÚc×cÖcÇc²c›c›cœc¥c¿cÍcÖcÛcßcßcãcìcúd dd,d>dOdod‰džd©d´d¾dÅd¿d²d¥d‘dwdSd.dcôcÖc¹cžcŽcczcpcfc[cTcLcMcIcCcW›XX†Y0Z1[r\Î]k\MZXîXìXâXýXøXüYYY)YHYRYoY€Y„YŽYÃYZÔ[y^c†cÏb«b¼bmbbbšbÇb aÕa<`œ`³`§`R`[`;`-`_ü_ô_Ý_Ì_®_±_¹_Ï_å_ó``7`@`=`_ø_ù`,`X`{`…`›`±`Ð`ã`õ`î`ý`ýaa a`õa!aIapa—a¶a¿aÂa©aŒafa;a`á`Ç`—```‚`†`Œ`Ž``Œ`‘``’`Œ`‰`~`y`c`Z`N`D`7`-`#```_÷_ê_å_á_×_Ô_Ñ_Ñ_Î_Ê_Å_Ä_È_Â_Á_¹_«_¥_š__€_p_a_L_4__^õ^å^Ñ^È^¼^ª^^–^•^¬^·^ð__þbÅdDcædddddHdfd@dMdOd)dc÷cÓc–csc_c8c.cbÎbØc1cDc@c0c0chcdc™d'dveeZeXe9e]l`Ôd¹bÓb{aKa·dÝ`M`Ia›`£b›bõ\ˆXdUÿT‹T¤UU>UrU„U×UüV VFV™VÅVãVèVàVÞVÛVÝVêVíVüW&WqW¦WüXzX§YZZç[[[m[‰[¢[É[÷\#\2\:\Z\z\\¼\ã]]"]P]]´]Û^^1^[^^¬^Ý__8_l_¶_ð` `(`P`r`‹`‘``¬`¹`¶`È`à`ä`å`å`Ú`Ï`Ú`ñaaa+a5aLala‚a|atalafaXaGa,aa `ö`íaa€bƒcÂcÎcfc³eŠhOjÁj!fðdcXcècÛcÒcˆc‹c7cbñbàbÓbÚbìbùc c$c0cddOd]dgdtddŒdŽd„drd[d>dc÷cÔc·c—c}cccRc>c5c'c#ccc cbýbúbõböb÷böbòbábÌb²b˜b€bfbLb#aöaÍa®a‹apaZa0a`ý`Ê`´`Ê`Î`È`Ù`öa a;aUa`anaa³bbab±b×bébÞbÂb­b~bUbDb-baåaÃa¯a¤a–avaWa1a`ì`Ð``a`>`.`_ó_Ã_‰_J_ ^Ê^‹^K^]Ü]©]w]I]\ò\ä\ð]+]N]7]\¨\m\@\%\\[ð\\7\R\[[ZËZ‹ZVZ5ZZZ7Z`Z|ZœZ¿Zû[F[‰[­[±[‹[X[$[[Q\O]›^_É`T`Ë`Ò_˜^^Š^¬^×^å^Ð^Ñ_ _^_¦_Å_Â_ž_u_^_E_-^ú^Ï^»^Ã^µ^¹^ˆ^K^]î]Ô]¤]¶]Ñ]Í]‹]@\õ\š\i[é[a[e[«[¡[Š[‹[´\\[Ô[Ì[{[n[¥[z[r[[[#[1[}[Þ\Z\O[û\[ð[Ç[Ñ[ë[ã[æ[ë[ø\\F\†\µ\{\'[æ[[B[ ZáZ©ZQZYÅY€YTYXôXäX©X3X WûWÕWäWãWíXW´WVÙVïWVîVÐVßWb?b4b.b&b bbbb bbaùaïaìaÙaÍaÄa½a©a–alaBa a`õ`í`ä`Õ`ÊbAdMbUauaÔaðcbÄb aˆdhàe=d»eâfg†h g¡e™e°fÿeúfTfQfXg3eûfÎi9hMgœg¦gfþgŽhàj0iJg©g¶i6irjÄki¿h~gôh gµg®g¹gÁgÍgÜgÚgÙgÊgÅgÉgÛh£iòjNj™jÉji:h†h7hgàg»g¤gŒgggDgfòf×fÊfÂfÎfØfÛfÓfÂf¨fˆfefCfeïeÄe‘eee>e"e dódÖd®d„dddDd(ddcücùdd!dbdàe=edee±e·eºe¿e¿e²e£e‰eseNe1edødÜdÃd™did.cïc¤cYc bÁbbHbaºana!`ß`£``h`K`_±_T^ù^¬^b^]Ö]—]a]6]]\ò\Ú\Í\Ö\õ]]C]X]u]™]¹]Ð]â]ú^^%^O^š^æ_"_R_~_«_Î_ë_ù_û_í_í_ÿ`_ë_¿___¸_î`6`…`îa?apa“aÁaîb b bbbb bbbbb3bPb]b^bxbœbÂbëcc,c:c>c2c&ccccc.cFc^cqczcc„c…c€cc|c{cxcwcwcvcwcyczcƒcŽc•c–c˜cŸc¡c¤c¡c¢cœc™c“cŠc†cc|cvcpciccc`c]cacjctccˆcc‹ccc•c¢c­c½cÊcÞcóddd1d@dJdSd^dadhdjdpdwdƒdxdadUdQdTd^dmd~dydgdTd5d dd!ddcæc¿c“c_cDc[cjcxcycnchcgcnckc_cKc2ccbôbïbçbÔbÄb·b­b¡b’b…b|bnbfbeb^bbbpbpbsbqblbdbab`bYbSbMbHb@b?b:b.bbaùaãaÏa»a¬aža“a‰aatahaWaDa,aa `ù`ß`Æ`¦`€`W`1`_î_Ð_»_¶_º_Ã_É_â_ø_ú_Þ_Ã_©_“_ƒ_r_f_Y_F_>_:_<_@_O_Y_e_a_X_L_O_d_„_ž_¯_¨_ _˜_‰_ˆ_‘_Ÿ_§_¶_Ç_Þ_ð```4`A`W`l`„`–`¥` `œ`Œ`v`[`>``_ã_Ò_ã_Í`E`¼a`ü`äa`îaa,aKaoa„a¬aÉaöb b&b-bHbNb]b]bqb‡b¤bºbÔbæb÷ccc!c-cJcec‡c´cÜcúdd-dLd`dsdldZdFd7d4d4d1d8d:dZd{dd’dŽd‚dqdfdXd7ddcúcëcècßcÕcÎcÍcËcÃc¼c¯c¤c¤c¢cžcc£c§c­c²c²c¬c§c¥c¢cŸc™c™c—c™cœcšcŽc„c~c~cyctcocfc]cScEc7c'cc böbçbÕb¸b™brbIb,bbaìaÐa¯a’avaXa>a(a`ù`Ý`½`™`v`W`7`_ï_Ã_ž_ƒ_d_K_._^ê^Ò^¯^£^¢^”^ƒ^k^U^@^0^^]ë]Ç]¯]]t]X]A]$]\ø\æ\Ë\ª\‡\c\;\ [Ù[¨[v[\[N[B[.[ZúZÚZÁZºZÅZÍZÔZÄZªZƒZTZ)Y÷Y¼Y€YAYXÈXX_X.WüW¿WˆWZWBWVéVæVÆV¸VV„VŽV~VWXà[&^]ð\%ZbY XÐZ~[®ZYFY,ZG\^¡`ù_Y\Ž[¯\È^Š]l]ƒ^«_°`Ë_¡[‹WÂU°T TˆTýTðUgU·U~UØV/VGVzV¹VÃVÚVÈVÉVÍVÔVÎVÝWW!WZWÇXGXX¹Y!Y÷[[X[0[c[{[[“[Æ[ß[ê\\\3\S\q\•\½\æ]]I]u]§]Ü^ ^1^b^€^®^Õ__2_m_‘_²_Õ_ò`#`J`X`i`„`€`—`³`«`­`»`«```«`´`Ê`ía*aVa`aOaNacanakaha]aEa7a*a`ç`Ô`ê`êa/bSbÚc¥e fÁeâfZhûióeìc£cUcNc‚c™céccbÝbÆbµb®b°bÂbÈb×bÿcc)c=cOcacqc†cc«cµc½cÆcËcÖcÚcâcäcåcåcçcícícìcïcícécßcÙcÖcÕcÑcÏcËcÉcÍcÒcÙcãcâcécòcüdd dddddcõcæcäcàcÞcåcçcæcÜcècñcîcäcÝcÝc×cÔcÒcÖcÜcæcîcòcýcþcúcìcäc÷dd ddddd!ddcÿcôcøcõcðcícäcÛcÒcÊcÀc¿c¸c½c½cÆcÍcÖcÝcècñcüddc÷côcñcîcócûdddd#d1d7d:d5d+ddcåcÉc±c c•cŸcŸc™c•c’c“c”cœc¤c©c¤cžc†cmcUcOc`ckcpc{c‡cc™cŽcwcocqc…c›c²cÉcácødd*d2d6dDdOdWdZdTdBd,dcècÂc›c€c_cEc'cbþbïbâbÞb×bÌbÅb½b¸b´b´b´b²b®b£b’bwbXb9b!baâa»a™a{a^a>aa`Þ`¹`§``|`‹`l`a`Œ`Â`üaFaTaOaJaoaábSb¨bóbúcbïbµbƒb7b bb aöa¿a™a›a›aaoaIa!`ô`Ñ`£`l`H`<`/` _à_²_|_D_ ^Ê^Š^H^]Ç]]^]2\þ\Û\Ð\Ü]]+]\æ\x\:\[â[è\[ö[ë\\%\[[Z³Z€ZdZYZKZ3Z0Z>ZjZ¬Zù[R[§[Ñ[â[Ü[×[¾[[h[>[\]#^.^À_–`GaXbJa_H^Ð^î__"_ __:_“_Ü_ÿ_ô_Ý_¼_¯_—_u_?_^Ì^«^ ^Ž^†^^^(]ô]Ô]®]w]]Ç]¼]i]\“\%\[Ê[(ZÆZâ['[F[G[W[›[Ý[™[b[£[„[I[ [ZóZ¼Z{Z×[²\/\1[Ï[u[­[ë[½[¤[·[»[´[²[¾[Ë[á\ \V\›\m\%[Õ[Y[Z×Z£ZpZ4YûYÍY…YMY XÅX©XXVWùW¾W°WÁX X/X3XDWÀWV¦V»V±VqVbV–VëWXWÑXHX¸XøYöZÀ\X]tZkXÑXÆX£X¦X¾XåXøYYY5Y,Y_YNY“Y‚Y¯Y«YÀ[—\F^‚bÐd/cyc~dTdSc«cÄcbaêak`ç`š`Š`q`.`` `_ê_Ê_«_²_Á_ü` `H`U`[`e`n`‘`Ä`Ê`¨`–`˜`Ë`Ï`Õ`Ï`Ú`ß`öaaa a%a&aa`úaa=agaaˆa…a•aªa´aša!`£`{`t`g`^`Y`W`V`X`Z`[`[`[`X`[`Z`Z`[`S`L`H`8`*```_ù_ó_ê_ä_×_Î_¿_¹_³_¬_¦_¥_¥_¦_¥_£_œ_™_š_•_‘_†_t_c_[_M_=_4_)__^ÿ^ì^Ý^Î^Ä^º^º^ª^–^ƒ^l^a^X^g^k^–_`ícÐd)dd$cÌc´ccXcAc–cìd cùcécêcîcÑc³c|cPcicdc[cXc?cHcCc(cbßbÛc4cGc@càcïcyclc²d«e±f‚eòcbÛc0bÖb—b[bJbLb1b!b#b#b$b"b!b(b2b9b7b;b>bAb?bc@c@c>c8c:c7c;c@cCcCcJcRcTcScTcZcYc[cYcVcQcKcGcBcAc:c4c/c,c*c%c$c!c%c&c%c1cd'dd dddd"d(ddddcïcäcácæcÛcÉc«cƒcac4ccc cc&c+c"cccc b÷bæbÒbÁb´b«b¥bb“bƒbxbibZbLb8b*bbbbb(b1b2b,b(b%bbbbbb baÿaúaöaêaßaÐa½a¨a—aŠa|ataga_aRaDa8a)aa`ô`å`Ó`À`«`“`}`]`5` _æ_¿_¥__‹_˜_ª_½_Í_Û_Ñ_Á_§_Š_q_[_I_>_/_'____#_0_;_C_E_A_0_+_._C_f_†__Œ_€_r_h___g_q_‚__œ_«_À_Ô_ç_ü``$`4`J`[`n`u`v`n`b`M`7`` _ò_Þ_è_Ö_ì`$`H`l`Ž`–`µ`Ô`¼`é`ýaaCaJaqa€a¤aÁaØaìaúb bb'b(b:bIbfb„b b²b»bÉbÉbÏbÏbâcc.cQcxc”c­cÌcæcüdd%d.d)ddcñcîcècæcçcðddd'd/d;d4d(ddcðcâcÎcÀc»c²c©c¤ccœcœc›c–cŠccrckcccbcdcdcecicgcfcac\cUcMcNcIcGcBcDcGcHcFc>c5c/c)cccc cböbçbØbÊbºb®b b’b~bjbIb+baøaâaÉa°a“a}aaaKa0aa`ð`Ý`Â`ª``t`V`2`_ø_Û_°_‡_n_X_N_8_^í^Ó^µ^œ^•^“^‚^o^Y^I^6^ ^]ì]×]»]¥]‰]u]W]<]]\ê\Ñ\¸\œ\~\Y\6\[Ý[®[„[b[Z[J[A[*[ZóZÕZÊZÄZÕZßZæZÕZµZ“ZhZ9Z Y×YŸY^Y!XãX¬XtXKXWìW­W{WWW1WVýVâVÌV¯VˆV}VlV‹V’V„VãXp[Å^m]w]c\í[ Y'YˆZéY²X9XXºYù[Ç]Ø^…[éZMZXZî[[=\^ƒ_‚^p^¾\•VóTñUTT TêU³WUV¾UÙUõVLVkV‘V¢V³V½V³V·V®V½V®V½VßW*WqWÞX[X‡X¿Y`Z ZÔ[a[E[M[L[E[B[W[Š[Ÿ[À[Ü[í[þ\\>\c\Ž\·\Þ]]G]w]¥]Ý^ ^7^Z^~^£^½^å__8_W_s_‹_¶_Û_ñ``%`F`d``“`™`¤`µ`®`™`¨`à`æaa=a$aa a6aZaTaJaNaKaRaPa‘bxbåaùaoa/a*a3`ûaÓbšcd›e~d2c¹d–ff¨d”cb­bÓbîccDc4bûbÍb»b«b bŠb­bÌbÒbæbìc c;c,c(cAcNcccnccŽc•c c©c²cºcÂcÄcÃcÊcÎcÑcØcÜcäcßcÚcÕcÌcÅcÂc¼c·c³c¬cŸc¡c£cžcŸcŸc¤c£c c¦c±c®c¶cÄcÄc³c›cccc~c~c„c‹c”c¤c¼cÆcÆcÈcÀcÀcÁc¾c¼c½c¿cÇcÒcÔcÛcÞcácécëcñcýddcÿdcûc÷cöcîcäcäcàcàcßcÙcÜcÖcÓcÊcÂc¶c²c±c°c±c¸c¾cÅcÒc×càcècôcõcõcôcöcõcðcõcýd ddd'd/d6d8d3d,ddcæcÉc¸c¢cŽc†cc†cc}c}c„c‡cccc„czcacHc2c/cLcMcMcXc_ckcpcjc^cIcCcIcWckc„cžc°cÂcØcôddddd!d(d#ddcícÑc®c‰cdcDc%c bñbÙbÄb°b¤b›b“bb‚bxbtbtbxbublbfb^bRb?baõaÏaµa—azaZa?a+a`õ`Ð`·`£``_`S`Z`_`D`A`^`–`Îaa8a@a7a8aˆbbŠbÁbÿcbòbÀbxb)aôaàaÙaÈa¿a³aŠara{axacaGa"`ú`Ó`¥`n`P`J`A`*`_à_´_…_R_^ß^£^d^!]ß] ]j]:] \å\Ë\¼\¶\Ó\í\Ü\³\Q\[Å[¥[ª[½[³[¹[Õ[á[¹[JZóZÀZ™Z„Z{ZbZ?ZMZ‹Zí[X[®[ä\[þ[õ[ç[à[Ò[»[›[x[ï\ˆ]m^‹_w`p`˜`ÂaH`ž_G^Ê^ï___ _"_r_Û``/`*`_û`_î_»_y_.^ë^§^‚^m^Q^:]ñ]®]–]ž]œ]^]S]]]`]S\Œ[É[[9ZÍZ}Z„Z¨Z×ZîZø[[ZÔZÁ[%[8ZÏZ‹ZšZŒZgZ-Zf[M[Ò[”[>[H[«[Í[¢[œ[ [™[}[{[Œ[[¤[×\3\¢\\[¼[:ZÛZ™ZTZ:Z$YõY¨YcY+XæX‘XFXW÷WÁW‰W©W¼WØX%XFXWzVéVŒVlVIVUÿVMV³W-W“WåXXeXÞY¡\]jZ¦XÈXxXjX–XÃXÛX÷Y"YYEY$YHYMYeY‚Y–YÇY»[g\î_1cÚepd@dŠe_e2edðc‹bb$aZ`Î` ``g`&_ñ_Í_Ï_È_Ê_Ä_î` `)`4`5`+`8`T`q`¤`Ï`È`¨`™`§`Ý`Ø`æ`ä`ì`þaa)a)aaa`þ`þa a"a=aYajaca{a¥a½a¸a„`÷`y`d`\`N`L`J`K`L`I`H`B`B`G`G`G`J`F`=`:`+`'``_þ_ñ_å_Ù_Ô_Ê_Å_»_²_«_¡_˜_—_Ž_Œ_‡_‹_ˆ_‰_Š_†__w_k_a_R_?_/_"___ ^ü^ó^å^Ö^È^·^´^«^£^™^Œ^x^Y^E^9^G^J^‚^ù`b»dbdzdUcúc¹c—cƒcKc0cjcÆcÚcÈc·cÁc»c¯cc?cYcxcecHc/c9cbõbíbÓb®cc7bÞccUc9c2cndf fÝeÉc bãbÈbƒbxbf7f1f4f4f"fe÷eÚe³eŽeleNe2e dídÉd¯d‡dadDdcìc½c™cscPc'cbåbÉbÚbÉbüehhfe\e?e‹f9e±e>eFeedüdädÏd½d¦d“dpdOd%cõc¹cxc1bäb–bKb aÑa”aJ`ù`§`d`#_ó_Ê_¢_c_^²^M]ï]Œ]5\Ý\\<[ö[Æ[¦[”[Œ[[ƒ[Ÿ[¾[ã\\,\S\t\\¢\¶\Ò\ú],]^]Ž]Ó^^P^‹^¾^ô__Q___Œ_œ_»_Ï_ª_x_4^÷^ü__A_}_Ë`%`„`Üa a)aLaja™a²a’apaqanaPaAaTasa“a¨aµaÅaßbbbAbcb„bœbªb²b±bªbbb‰b‡bŽb¤bºbÐbÛbåbðbúbÿcc cc cc c c ccc!c(c$ccc!c$ccccccccbýb÷bðbçbåbåbçbæbèbébçbîbðbüc ccc c c cc!c0cFcXcqc†ccšcžc«cµcÈcÝcãcçcácÔcÐcÐcÈc¼c»cÆcÆcÅcÈcÑcÎcÉcÊcÅc¹c­c¨c¦c¡c—c~c_c;cbõbØbÅbÂbÑbÛbÜbØbÌbÄb½b±b¤b“bˆb~btbrblbdbVbFb5b b aôaàaÑaÎaÓaßaäaéaêaäaäaàaÚaÕaÍaËaÇaÇa¿a¹a®a¥aaa€aqa`aRaKaAa8a,a$aa`ö`è`Ü`Î`¼`¨`–`~`k`W`A`%_ÿ_Õ_¬_…_o_b_m_ˆ_ž_°_³_¦___l_U_=_%___^û^ú^ù___%_+_,_!__ __ _D_h_w_p_^_J_9_8_=_I_S_c_v_‡_˜_ª_¾_Ñ_æ_û` ``*`5`F`M`H`:`&`_þ_é_Ñ_Ð_¿_¼_Ò_Ù_ì``@`f`ˆ`‘`ƒ` `Â`Îaaa0aNa\a}aˆa§aµaÅaÑaÜaæaéaüb b2bNbnbƒb”bœbbžbšb¡b¯bÓbîcc=c^c|cšc¨c¶cÇcÔcÛcÓcÒc¿c°c¤c¡c¤c©c¯cÁcÍcÙcácácäcÖcÉc¶c¨c˜c‹ccvclcicechcecccbcXcPcCc9c.c+c&c&c&c*c(c"cccccbÿbýböböbûccbübõbébÜbÐbÇbÁb½b¯b bb€btbdbYbObCb,baÿaêaÓa¸a¢a†anaSaAa*aa`î`Ú`Å`¯`•`~`c`J`2`_ú_Ø_¾_˜_m_R_>_0__^ê^Ì^¨^Ž^ƒ^^t^e^Q^9^&^]õ]Ü]Æ]¯]–]}]h]L].] \ë\Ï\·\ \ˆ\e\@\[í[Å[˜[z[][U[J[@[,[ZôZÝZÙZÜZçZïZçZÍZ°Z…ZZZ0ZYÍY’YQYXÔX¡XkX>XWßWªWuWWWaMaTaˆbãdSc*bRbbIc3c4cúeïf›fpe¢cëcb¯byc9c5bbƒb—b–bŸbµbÛbÏb¬b§bœbŠbc4dd'dcìc»c}c%ccc.c=c?cMc^chcsc„cc’c’cšcŸc¥c°c³cµc»cÁc¿c¾cºc¶c®c¨c£cŸc–ccƒcycvcuc|c}cycocicecdc^cccncjcbcZc\cYcQcScRcTcYcbcncwc†c‹cŽcŒcŒc”cc¡ccžc¡c¢c«c´c¼cÊcÔcÕcÖcÛcÝcãcåcåcÚcÚcÜcàcÛcÔcÔcÍcÐcÌcÏcÏcÐcËcÀc¶c®cªc§c©c¯cºcÂcÌcÖcãcécôc÷cõcùcùcùcöcôcüddd"d*d4d8d8d2d$dcôcÔcºc£cŽc‚cycvcocmcmcpcvcyc~c|ctcacLc1cbýc c+c/c-c5c@cGcIc`-``9`\`‹`À`çaa a a&a‰bb•bØbéb“baâaßa¸aœa›a•auahaua]a=aQa`aDa&a`Ø`°`…`c`X`O`@`&`_ß_¶_‹_Z_$^è^¨^a^]Ï]]Y]-\þ\×\¹\£\Ž\’\¬\¨\†\4[ã[™[m[`[f[p[[§[¨[‡[H[ZãZÀZ­ZŠZpZˆZÜ[A[—[×[÷[ü[þ[ø[í[ç[æ[ë[ß[Î[»\'\ã]Ö^é`Ma´`ü`+`_”^ö^¾^Õ^×^ç^í__„_ù``2`:`&`%`2`%_æ__F^ò^¥^e^:^]í]”]R]Q]­^]\Ü\¼]L]N\[DZàZnZ4ZZ YýZZYíYìYúZZOZyZ#YÐYÑY÷YþZZ>ZdZ­Zñ[![i[¦[œ[€[[[z[l[@[H[_[Z[f[Š[×\D\[[h[!ZçZ­ZrZUZ%YåYŒYgÏfÁeeheÿfDefedõdÓd·d¢d˜d†d}dfdSd1d cÞc§clc%bÛb‘bEba¿a†aF`ö`¤`U`_×_§_s_7^ã^ˆ^$]»]X\ï\’\2[Ù[|[.ZòZÈZ³Z¢Z•Z¤Zà[[:[\[…[±[Ù\\\7\Z\Š\Í]]W]‘]½]ç^^Q^Œ^Á^ò_#_A_S_s_Œ_Ž_g_5^ü^Î^Ñ^å^þ_/_t_Æ` `k`«`Ð`ìaa,aHa5aaaa`óaa%a9a?aGa[aza¤aÈaèbb)bHbcbobnbibcb\bSbJbGbUbbbwbŠbšb¨b²bÂbËbÔbØbÖbØbàbâbábèbîbðb÷bóbëbìbïbïbåbÜbÝbÖbÏbÐbÎbÉbÇbÂbºbºbµb«b­b¯b´b¸b³bºbÄbÕbâbèbäbâbãbàbåbåbðccc(c7c=c?cCcIcRcecwc~c€c€c{c~c€c}cyczc}cyc}c€cƒccc}c{cvcscpcgcdcYcGc/c bébÉb°bbbb‹b‹b‹bbybxbrbebYbNbGbAb=b8b0b#bbaìaÑaºa aaˆa‹a™a¥a¥a aža›a›a›a•aŠaƒa}axapaka_aUaJa=a3a%aaa a`ý`ì`ß`Î`¿`±`¨`ž``ƒ`l`W`=`)``_ê_Ç_ž_s_S_@_A_W_t_„_}_p_[_?_._ __^î^å^ã^Ù^Ó^×^ß^é^õ__ _ ^ÿ^ð^ê^ý_!_H_c_^_I_.____%_._:_L_b_w_‹_™_§_·_Ê_Ý_í_ö````"``_ð_Û_Ã_¾_¯_«_·_·_Å_å```3`D`P`Z`u`“`ž`È`ç`ùa$a2aLa]acaua|a‘a›a¨a§a«a·aÌaëbb1bMblb}bƒbb{bybxb€b‰b§bÒcc'cHc^cicuc|c‚c‡c‹cƒc}cucncacdclcxc~c‡cŽc”c’c„c|cpcbcTcKc=c7c,c*c'c$c$c#c!ccccbøbïbçbæbâbâbâbÞbÙbÕbÑbÍbÆbÀb½b¹bµb¹b¿b¼b¹b³b¦b“bƒbwbqbkb`bRbCb5b(bbbaôaçaÓaºa¢aŒavabaEa-aa`ï`Ü`È`º`¦`“`z`b`K`4``_è_Ð_´_˜_}_[_@_&__^ø^ß^Æ^¥^Š^~^v^k^W^F^.^]þ]å]Í]·]¢]Œ]t]Z]<]\í\Î\®\•\{\d\E\"[ü[Í[ª[ƒ[i[U[O[I[>[/[[ZöZìZîZðZíZÜZ»Z˜ZpZHZYðYºY„YCYXÊX–XgX8X WÑW¢WtWLWGW.WVíVÁV¬V‰ViVfVWVGVOVlVNVPV×WdXSXÔX§XÉYu[Î^6\•Z3YYZ&Z¥XíYZDZZZUYÚZL\p^¿[çY Z±[CVT¶TäTÀUU:UØVõV]UèV/VCVGVKVhV†V‹VVŒVuVfV{VâW%WbWÊX XxYY®Z` `=`©aÍbëbuaöcc‡aÛ`ùaaa aaa+aa a‘aLaa a aea+`ña*a+bxeÇe¯c|b a¡aîbb%bFbWb€b¥bbb‰bb~bubjb[cd&dRd]d€c×cbábèbóbþccc c.cEcRcacbcbcbcgcqcwc~cˆcc•c—c˜c™c•c–c’c’c…cc}cqcbcZcXcZc`cbc]cMcBc>c?c=c=cBcCcEcIcJcKcAc7c2c5c:c;cCcFcPcXc]c_cZc^cbcgcjckcpcqc‚ccc¥c£c©cªcµcºc¼c»c¿c¿cÈcÍcËcÎcÇcÈcÄcÆcÃcÈcÍcÎcÑcÍcÈc½c°c¦c«c¯c·c¿cÊcÓcàcîcõcücûcûcûcýcýcûdd dd#d)d2d6d2d*ddcäcÃc©c‘c~cscmcecbcacbcgcjclcmcecTc:cc bíbäcc c cccc!c#ccbùcccc1cCcNcPc\cgczc†c—cŸc§c²c·c¶c¨c¡ccucUc4cbëbËb¯b”bvbYb=b'bbbaöaìaêaîañaëaàaÎaÈa»a«a‰aTa"`ù`Û`½`£``|`d`N`0```` `````3`O`y`¨`Ê`Õ`à`ñaadbbubbKaça­a¢a«a›a~aia`aKa?a>a*aa(aGa=a`û`Ñ`ª`‹`s`e`O`3`_û_×_±_Š_[_#^å^š^J]þ]¹]€]I]\ë\Á\\‰\€\{\}\\h\*[Ï[„[R[>[C[R[q[[Ž[l[Q[7[ZîZ¾Z˜ZÇ[ [u[®[É[Ù[Ù[à[í[ñ[ô[ÿ\ \\[þ[÷\t]1^7_V`Úb²a›`P_Ä_,^Ò^²^¼^Í^â^í__i_Ï_÷``!`!`&`!`_à__2^Ò^Œ^D]÷]°]p]"\ÿ]?]Ú^k^\ì\W]][¿[Z•Z.YúYÀYÈYYSY,Y Y Y2YUY„YiY#Y5YAY0Y6YsZ ZˆZ…ZÐ[{[÷[÷[š[t[€[e[Q[C[[ [[G[U[I[M[ƒ[m['[ZÃZƒZZZMZ)YÒY“YVYX½X{X:WéW¡WcWFW3W.WRWoWvW‡WXW V’V>VU¼U©U²VVIV}V§W)W2WWYXYØYXVþX8["Z–YeY Y Y YDY=YfYQY_Y[YqY‹Y¨YÂYêZ\Z‰[è^\`Aa!cxfôgec,bPaÞaŒ`ó`b`6`&_ÿ_å_Ó_ë```.`7`;`$`_ö` `-`J`V`n`y`~`Œ`Áaa*aaCara“aÂa×aÊa¥akaKa-aaa a%a@auaaËaÂa`·`¨``X`6`(` `%`#`)`'`,`+`*`+`.`/`)`.`$`"`` _ø_ð_æ_Ô_Ã_¶_¦_¡_–_‘_‰_‚_€_t_r_l_n_i_g_a_a_]_e_]_Z_R_F_4_%_^û^ñ^à^×^Ñ^Ê^Á^Á^·^¯^š^—^‰^„^~^v^g^N^6^^^+^"^1^è_xabdkdQdd-cÓc|c+ccbücc`csc~c…c~c†c”chc:cDcucchcIcb÷bëccKbób‡b•bbvcNdŸe eHd¹cbGbIb8baþaéaØaÅaºaµa°a³a­a°aµaºaÁaÉaØaãaìaôaîaéaäaàaßaÙaÕaÈa½a­a›aˆa}axaxamaca[a=aa`ô`ò`ë`î`é`Ì`Ö`®ab²bÓaga_aca„b+aÖa©a6aýc¯c]cõd®f1h;fÓf%f6e´eveeexee e·gyg{f®fžfèf¨fJeêe¥eÎfff fff\g+h\hGhÞj%iLhRgÑgig f¯f­fÏfÚfôg gg-g9gIgVgPga3a'a aa`þ`÷`ð`æ`Ü`Ù`Ò`Ï`Å`¹`§`–`‡`y`r`i`_`S`A`*`_ü_ã_Ê_¿_°_—_u_G_%__#_E_\_L_#__^ñ^æ^Ù^Ð^Ê^¼^µ^¶^·^½^È^Î^Ì^Ô^á^â^â^Ü^Ñ^Ü^ù__A_J_5__^î^ð__ __&_9_R_d_u_|_Š_˜_«_¼_È_Ó_Ù_ç_ð_ñ_ä_Ò_¸_©_ž_•_—_™_£_»_Ð_à_ù``)`:`M`b`t`€`›`·`Ì`õa a&aEaBaKaGaRafaqa„a„a…aaˆa™a¼aêbb5bLbXbVbWbMbJbFb@bHbab˜bÆbìcc-c8c>c>c@cBcAcBc?c@c>c7c*c.c0c3c9c;c9c9c.cccbûbðbîbåbábßbÜbØbÖbÔbÒbÎbÆbÁb¸b«bœb’b•bœb–b‘bb”b’bb†b„bb~b}bb~b|bzbnbabSbEb3b-b$bbaõaæaÝaÑaÄaºa®ažaˆasa[aEa+a`ÿ`ç`Ò`¿`­`ž`Š`}`k`\`D`.`_ù_ä_Ò_½_£_‡_j_U_;_-__^ø^ì^Ó^¼^¥^Ž^^q^f^P^8^^]î]Ø]À]­]”]v]V]<]\ù\Ô\²\’\y\^\E\([ý[×[³[‘[t[\[R[R[N[J[;[+[[ZýZúZñZâZÉZ¨ZZWZ4ZYÞY YlY/XöX¿XŒXdX2XWÎW—WmWXWMW*V÷VÜV½V™VVRV)VVUÿVV/VBVfV™VèW"WGWyX@Yî\“^Ø]¡\Á\+Zì[:ZžZ [Zô[§Z°Z"Z—\n_ _p[Y†\Y×V]U´UUXUÙUŒUÞU£UÈVVV!V?VvV¤VÀV´V¤V¡VÆV“V¨W'WzWºXXY$Y«Z9ZŠZ|ZzZŠZ”Z›ZZ“Z¨ZÎZç[[2[O[y[š[Ì\\?\s\Ÿ\Ô\ÿ]9]o]›]¼]Þ]ü^^.^I^g^ƒ^¦^»^Ï^ã^ü__6_S_u_ž_¼_Ô_ë_ö_ê_Ø_ª_~_¨`¡a`y`7`Ñaw`ÿ`®`Æ`Í`á`õ`ì`ò`ñ`Í`È`Ø`Û`Õ`À`Ë`½`›`q``Uaîb§aÙa•aºa»a·aßaïbb,bEbJbRbMbXbUbDbHb?b@b]b[beb¬b«bŸb³bÄbÊbÝbäbëbõbÿcc$c4c4c.c.c1c4c@cGcQcXcaclcpcrcqcscrctcncacScMcDc@c=c>cEcCc>c2c%c&c,c0c6c8cEcOcRcAc.c$cccc!c!c$c'c+c2c7c=c=ccDcEcLcPc[cdckcucxcˆc‘cœc¢c©c¨c¬cµcµc¾c»c¼c¾c¿cÀcÅcÊcÒcÚcàcåcêcåcÏc¾c°c®c²c¶c¼cÈcÕcßcîcôcøcöcöcùcøcûcþddddd*d.d1d/d"dcöc×c¸c›ccrcdcac\cXcUcZc^c^c_cZcPc3cbübßbÕbábóbñbêbïbëbñb÷bùbñbãbÞbåbùcc'c7c4c+c1c6cCcNc\cfcqcxcyc{czcvcccLc0c bäbÃb¡b‡bebJb'baíaÜaÎaÀa´aªa©aªa²aªa›aˆaxakaXa6a`Ö`¦`|`\`C`0`#`_ø_Þ_Ð_Ñ_Ï_Ï_Õ_Û_å``.`G`a``Ÿ`§`¸`Ï`äaaœb2bJaêa¢a™a†azatafaKa5a(aaaa aa a a`ü`Þ`º` `„`h`L`-`_ó_Ñ_­__T_ ^â^—^A]ð]¦]k]5]\Ò\¥\{\a\V\N\K\_\b\ [ [m[I[0[3[N[x[[[€[e[@[.[ZÈZæ[E[‚[¥[¸[º[À[Ã[Ù[ã[ö\\\%\.\=\'\\Ÿ]R^6_|aHb½a\`:_Æ_%^Ã^œ^°^Î^Ü^û__P_˜_¬_Â_á_î_ü`_ê_º_j_^Å^ˆ^<]Æ]P\ö\Ì\Ó]X]î^]s[ó[a\e\{[cZ¥Z0YïYÅY€YzYDYXãXÐXÎX¸X¶X³X©XÎXÞXºYY¤Z8Zð[Š[l[‚\\2\[Í[¶[ [v[V[.ZùZá[[7[8[ZçZüZúZÝZ´ZiZYêYÅY‡YMY/YXøXÞX}X#WýWÖWªWjW-WVðV¸V˜V¯VªVtV#U÷UÄU’UU–UÛUùVVSV—VÂW‡W‹WX:WNVûVUX]Å]…Z’YZY5XýY=Y=YfYcYrYqYsYY‘Y¼YÆZZZ€[ƒ]Õ`a»eâfÜdùc­b†aàaÈaG`Ã`c`K`%```.`>```1`@`*````$`'`1`W`y`š`ßa4aƒapa–aëbbbAbDb%baÅaajaJa3aCaYa–aÈbboaK`]`A`3`&````` ` ``````#``"````_ú_ø_ë_Ù_Ç_º_¥_–_ˆ_ƒ_}_v_r_d_`_\_^_Y_Y_X_\_S_Y_N_H_C_B_=_2_"_ ^ù^ç^×^Ç^¹^®^°^ª^«^š^™^…^z^o^q^m^c^N^;^"^^^#^B^"^ž_`Yc{cðcîdGcêcˆc4ccbúb÷ccGcGcPcsc†c°c•chc‹cÀc©cAcbïbõbÙbÇbÔb‰b>b-b6bÉc¬cÃc^cb…aæaîbaÍa¶a½aªa£aša’a‹a‚a‚a€a†aˆa“a£a°a½aËaÏaÌaÓaÓaÒaÌaÀaºa²a¦a–a}ala]aUaPaPaSaLa2a`ó`Ø`Ú`ò`ì`é`ö`Ü`â`´`âaàaÚa8a[a`adaÄa‹aaLaíbÉbLc cüeGgâg^feÁe˜e\d«dˆd]dIdùf­hig…f®f{fÜf‡eâeâeÄe¿eÀeÅeÌeäeþeöf4g"g†g™hdiihBgpfáfŒfŠf›fÇfØfåfúfúfýfÿgg gfæfÒfÆf¹f¬f™f|f`fAf+feûeÚe³e’e}ene\eNe4e e dôdÛdËd«dŽdid@d+dcécÇc¤czcWc/cbàb¯b‰bQb.baëaíaÍa÷b„d"h g¬ege.fÛfddïd‰dud,dcõcëcàcÓcËc°cŒcac)bçb¡bZbaÕa˜aTa`Ý`˜`H_÷_½_‡_U_^Ï^l]ü]]\•\![¶[IZÙZZYÝYgXûXªXyXpXƒX½Y YaY­YîZ#Z_Z£Zé[$[O[s[¤[ò\]\È]]<]I]J]L]ƒ]Ú^^i^º^å^å^ò^ñ^â^Ô^É^¿^³^¸^Á^Ô^û_1_n_¦_Ò_ú`%`5`<`9`3`L`‹`»`¸`¯`ž`Ž`‰`†`ƒ``œ`µ`ØaaCayaªaÓa÷bbaôaêaäaÞaÜaÜaåaîaýb bb*b>bQbUbXbVbXbYb]bebpbb‹bŠb‰bbŽb‹b…bbubobobkbeb^bWbKbAb;b6b2b9b7b?bMbWbhbwb‚b†b—b£b bžb b›bb‡b‡bŒbbbb£bªb¯b²b»bÃbÓbábêbòbóbñbïbìbëbëbïbóböbùbøbùb÷bôbñbëbébåbßbÓbÅb¶b¢bbvb\bIb6b&bb baüaôañañaíaåaÙaÑaÌaÇaÅa¾a¶aªažaaakaTa;a'aaaaaaaa aa a a`õ`ç`Õ`Ê`¾`¶`ª`£`Ÿ`›`˜`•`Ž`‰``p`_`N`A`8`2`'`` _ø_ã_Î_¹_¡_‹_ƒ_Š_|_K_^ô^ê^ø__^ù^×^Â^½^°^¦^^›^ ^’^ˆ^‡^“^¡^¯^º^¹^»^¿^Ã^Å^Ã^Á^Ô^ó__-_ _^é^Ñ^É^Ö^å^õ___$_=_N_Z_a_n_z_‹_œ_§_±_¶_¿_Á_¿_°_¡___z_v_|_’_¦_º_Ú_ù`` `4`E`W`f`w`Œ`›`¤`¾`Ö`ìaa"a.a4a*a7a=aRacakarajamataŠa™aÀaèbbbbb"b(bbb bb\ \[Ý[¸[˜[v[_[N[K[R[U[V[C[4[[ZúZñZæZÓZ²ZŽZhZ=ZYëY½YˆYRYXæX²X‡X]X0WûWÃW‘WZWJWMW VîVÂV›VqVFVUÞUªUUUU¨UáVVsV±VÄVíVÔWW®X¦[Ë^»` a,_ê_×_}^³^;^]A[i[Ì\Â]n^b`Õ_+ZŠ\]'Y!WUU,U¥U©U¾U´UîUûV%VnVV´VÖVñWWwVöVÃVùVçWW\WËXHXºYEYðZ6Z ZZ3Z_ZrZqZKZ8ZSZtZ¦ZÇZè[ [8[h[Ÿ[Ù\\U\‚\³\á]]6]_]ƒ]§]Ç]ß]ø^^%^E^`^u^^ž^´^Ô^í__3_G_Z_w_†_Œ__d_d__‡_º_Õ_õ`` `;`q`‡`‹`–`—`’`‘`•`«`Ò`á`è`Ú`Ö`ç`×`Ñ`Â`÷a1`å`Ñ`ÿaa9aMaTamaza†a½añbbbbbb b bbb bbbb1bPbub‰b—b§bÁbÈbËb×bßbçbôbüccbúbýbýcc cc(c2c>cFcLcNcQcVcPcLcDc2c*cccccc cccccccc"c8cBc@c1cc cbÿccccccccc"c%cc#c(c-c/c3c;cEcVcYcccjctc}c†cˆc‹c–c–cžcc£c¨c«c¯c±c½cÄcÈcÏcÚcåcòcücøcÞcÈc·c±c²c³c¼cÁcÌcÖcàcçcëcécêcðcócõcùddddd"d$d%d"ddcêcÌc¯c•c{ckcYcRcRcRcRcTcUcUcVcJcb!aúaØa·a¤a—a‚avaiajakatanaYa>a$a`ú`Ö`©`y`M` _û_ë_Þ_Ô_Ä_©_’_‹__Š__ž_¸_Õ_ð``%`4`F`e`q`}`§a akaÍbGb/aµaaaIaCaPaSaKa/aa`ú`î`è`ç`Þ`Ó`Ç`Ø`í`ß`Â`£`„`f`D`&`_è_È_£_y_R_%^ç^˜^;]ã]›]]]&\ð\·\†\Y\;\"\ \ \1\M[®[c[c[Q[+[ [<[v[ˆ[…[“[†[V[1[[[Z[‘[™[™[[™[£[°[Ì[æ\\\\/\@\B\3\@\Ò]”^$^÷`<`·_ò_z_'^Í^¦^—^ª^Ä^à__3_U_y_ˆ_¡_È_Ü_Í_Ì_µ_‹_G_^Ó^^K]¿]0\»\™\À]O]¬]Q\«[iZÙ[”[Ê[)ZqYâYšYpY.YXÿXíX×X¸X˜XoX[XVXbX€XJXžZ7[Ž\ \M\•\\B\*[ú[‡[f[—[[{[X[-ZüZæZ÷[[ZïZàZÿZçZºZ…ZCYýYºYxYGY;Y3Y/Y3YXpX?XUXW­WFWWAW V¨VVaVVVUµU¢UUkUXUoU¢U¬UËV UõV$W(WWKWâW}WV‹X^_l[ëZYdXÿY)Y.YHY`YXYiYsY€YYÁYÁYáYïZ,Zk\`_HaseËfedìd%bõaÝaÏa¨aJ`Å`‘`k`I`<`-`_Ú_ü`'`H`B`5`.`M`I`B`X`”`ÑaataÉaïañbBb‹b‡bœb¢bbHb_<_9_3_0_&__ ^ú^â^Ð^¾^°^ª^˜^™^^•^†^}^n^j^[^X^U^W^B^4^^^^^M^^†^Ë_¯bÝc¯cPc¿cåcŠccbæbæbæbÝbýcbçbìbýcNc•cc‡c}cXbþbÑbÍcbÆbobub`bobhbCb™b‡bbb8aóaÔaÆaa„a“a‰aayaqaea\aVaSaSaUa\afahawaa†a’a—a—a‘aŒaŠa‡a†a|aqabaTaIa8a5a5a3a.aa`ì`Ú`Ð`×`Þ`Û`Þ`å`Ç`Ó`±`ÕayaNa a@aDaQa‡ata^aEa¡baâbbËdhf‚gfe/e)dùd'câc«dedfÖg¤gzgìf¶fHf~eãe»e|eqee»eÀe¹eÎeÙeÚf#f˜f¿f¹g$hvih g f¸fŒflf™f¶fÆfÒfÐfÑfÊfÎfÊfÁf³f“f~fmf]fSfAf'feëeÒe¿eœexeaeGe4e&edþdêdÌd©ddyd[d>dcôcÔcºcžc€cdcBc%búbÕbªb}bTbaúaÑa±aža‰a¤bKdKhºgŽeSefxf®edGd+cícÅc£cc†cvcgcPc2bþbÄbbbUbcbnbnbpbyb|b‹b¡b½bÆbÏbàbåbÚbÂb«bœb˜b“b‰b€bqbZbLbEbCbAb?bAbBbEbCbDb?b=b1b(b bbbbaþaøaìaèaçaòaøbaÿbbb b bbaþa÷aêaáaÜaÙaÈa½a®a¤a”a„aqaYaEa9a1a'a`ú`ß`È`·`£`‹`m`Y`>`*`$``_ú_é_Ø_Å_³__‹_{_g_M_3__^ÿ^ÿ__^þ^ò^ä^Ñ^Å^²^™^}^e^J^(]þ]Ù]½]£]]{]o]Q]/]\ë\Î\²\•\w\[\8\\[å[Å[¡[„[i[Q[H[I[S[U[M[;[![ZóZæZáZÖZ¾ZŸZxZKZ!YõYÌY—YiY3YXÏXŸXzXMX&WôW³W~WTW6W5W VÜV¤VmVHV UâUšUbUGU;UMUjU•U¾UèV(V9VpV{VµV§VëXËZï[Ó]ç`F`_K_L__¨`{^Í^í`5``¨a`ë]å__Ì\Z¶WñU±UzU¬UÐVVQVZV¿WWWŸYYfYZ8Y4WöWÚWfWgWÌWÌX+X¹Y:YñZ YðZ Z Z Z Z3ZYþZ$Z)ZIZeZZÄZð[0[g[³[æ\\W\‹\¶\Ü]]/]M]i]‰]Ÿ]¹]Ñ]ð^^ ^8^J^f^ƒ^—^¬^Ï^Þ^ñ___+_<_5_6_J___t__Æ_ò``'`?`J`F`5`5`A`V`h`y`{``Š`˜`¢`¤`ª`•`“``]`{`´`èaaaaa"a/a6aIa[ataŽa™a¤a¯a¸aºaÄaÌaØaèaùb b$b4b;bHbZbxb‘b©b±b·b¹b¸b¹bÀbÆbÇbÎbÎbÎbÎbÒbÚbãbðbÿc cc$c.c/c2c4c*c cc bÿbþbübÿbÿcccbýb÷býbôbêbôccccbøbòbîbäbîbùbôccbúcc!cccccc"c-c1c;c>cJcUc^c`chcocsc|cuc{c~cƒc‹cc˜c c¤c¦c­c°cµc¾cÎcßcïcòcéc×cÃc³cªc¬c§c­c¶c»cÃcÎcÕc×cÚcÜcàcçcícïcöcødd dddddcøcácÉc¬c•c}cfcPcFcJcMcNcLcNcNcJc>c&cbâb©bŠb¤b¾b¹b¯b¥b›b‘bŠb€bbb¨b©b«b¸bÓbóc ccccccccbýccccc!ccbÙbÁb“bubQb3baõaÏa®aaqaYaBa7a*a+a/a4a*a`ò`Í`¤`~`\`=`_ß_´_•_ˆ_‚_x_k_T_>_E_U_N_U_j_ˆ_­_Ç_á_ó```!`.`7`=`¢ahbb a­a?aaa%aLaNa9a`ð`â`Ù`É`·`°`ª`š``«`Ç`¹`§``t`Y`:`_ù_Ú_¹_“_p_Q_-^ÿ^±^K]æ]š]]]"\è\¯\‚\R\$\[é[â[ñ[ò[][@[P[D["[[[_[€[u[‰[œ[o[;[A[z[ª[ž[„[x[m[x[Ž[«[Ì[ê[þ\\2\Q\\\L\Z\“]]´^!^—_2_$^ã^Õ^£^^ª^§^¬^Á^í__C_^_q_Œ_¨_¼_Í_·_©_Ÿ_z_0^é^·^“^Q]Ò]H\Õ\«\Ä]]/\[Ñ[Zª[[XZõZHYÁYtY?XÿXåXæXáXÍX±XƒXOX(X X X6X4Xþ[\H\Á\Ä\Þ]\Ë\N[ø[Œ[x[¨[Ÿ[~[e[I[öZþZúZó[ [(ZðZ­Z|Z.YÜYªY{YRYAY[YoY7X¬X0X^X´X[W†VýVÜWVîV³V±VnVHUôUUzU„UGU.UPUgU‡U‹U®U–UëVÀW VÍXXNWWWæ[Ÿ^Ð]É[+Y”YYY Y1YNY\YiYnYY•YªYãY÷YùZ/ZZ’\_»ee×e@dêcÜb‹aÿaÅa«aQ`÷`¿`„`K`"_è_œ_î`<`m`m`P`E`c`j`{`±`ôa'a[açbKb~bÏc4cKc#cbâb¯b’bŽbSbUbbàc6b¼bLb²c½c°b(`b_÷_ÿ_Ø_Þ_Õ_Õ_Ô_Ï_Ì_Ñ_Õ_Ü_Þ_ä_ä_æ_ã_Þ_Ú_Ù_Í_Â_»_»_ª_œ_‡_y_m_]_W_P_N_J_A_6_8_8_=_5_:_9_;_<_6_)_#____ ^ó^ä^Ô^¾^²^›^^„^„^{^y^n^h^S^L^A^B^:^8^.^!^^ ^(^+^S^^j^Þ_Æb×c®cc:cšcƒc$c bòbÙbÔbÆb¿bÒb½bÀbÛccfc½c£c¬cbçb¥bb˜b_b bbbbaåaÎa…apa§ažanaWaMaAaRaKaPa[aPaIa:a0a)a"a$a'a0ae'eed÷dÜd¿džd}d]dEdcûcÞcºc£c‰czcacKc0cbïbÍbªb}bWb$aÿaËa¬a‡araXajbôfižg†eadÂeQfmeHdcßc¤c{c]c@c-cc bðbÑbžbjb$aåa¢ada!`ä`ª`r`9_ó_²_u_D_^Û^Š^']®]\‚[ë[bZâZbYÚY6XƒWæWCV|U½UeUwUÐVXVèW€XXžY YeY³YþZRZ¨Zô[0[n[±[þ\V\¶\ç\ÿ]]]5]‚]Û^*^M^Y^l^o^L^P^t^x^{^†^˜^™^Ÿ^³^Ø__+_O_k__£_°_¸_Ì_÷`.`X`_`[`A`` ` ```#`<`j`¡`Ôaa;abaaŽa’aŠaƒa{a{aaŠa˜a¡aªaªa¬a«a¯a¶aÂaÓaåaòbbb#b4bCbRbZb\b\bTbKb@b3b&bbaûaðaãaÒaÃa¹aºa»aÁaÏaÞaíaüb bbbb b2bBbIbSb[bebgbRb?b'bbbb#b.b9b>bIbQb\bdbcbfb`b]b[bYb]b^bdbebebfbdbabab`bab]bUbKb:b'baÿaíaÝaÍaÀa¶a­a¤a“a†a|aoaea^aVaNaLaJaGaBab5b$baùaðaíaçaæaíaðaõaùaøbbaüaðaæaÙaËaÆa½a¶a¦ašaŽaaŽa›a¥a¬a±a»a¿aÅaÉaÊaÈa¸a¬a›a“a“aa|arapamabaVaBa0aa`ø`ï`Û`¿`¦``}`a`R`9`&`_ù_ç_Ü_Ê_¹_§_—_‰_|_m_Y_I_5__^ø^ì^å^ð^þ_^þ^í^Ý^É^¾^ª^’^q^R^,^]Ô]°]–]€]n]W]H])]\å\É\­\Ž\m\P\0\[ú[é[Ò[´[”[s[_[J[E[B[A[?[*[ZõZÚZÏZÅZÁZ·Z£ZƒZaZ3ZYÑY¥YuYEYXãXµXŒXdX@XWßW®WgW@W"WVóV¸VvVCVUàUŸUPUUTýTùUU7UmUœUàVV:VEVtV¹V÷W‹X%X¼YÛ[ó]k\Å\P\ƒ^)`òaha†aFb=c¦`Ö``!`b`Ô_|^fZNW$VwVSVqVèW^Z^s^‡^“^«^»^Ô^ì^ò__$_E_i_Œ_‰_’_¦_°_À_ß_ê_í_õ_þ` ```-`E`U`i`v`ƒ`€`~``u`’`¶`«`¢`¨`°`¶`Æ`á`ð`õ`þaaa a&a3aHaRaeasa{a‰aœa©a¶aÂaÓaêbb!bAb[bnbb™bŸb›bœbœb•b–b“b“b™bŸb£b¨b³b¾bÉb×bÞbòbùcccccbÿbøbìbæbçbàbãbåbäbêbêbãbÝbÖbÌb¿bÀbÀb¼bµb¾bÜbçbóböbþccc(c)ccc%c5c)ccc'c-c=cAcBcBcEcRcaceciczcucrccc\cecnc{c„cŒcc”c™ccžc¡c¤c³cÇcÒcÓcËc¼c¯c«c¡cžcžcc¢c¨c³cÀcÉcËcÎcÍcÒc×cßcßcäcîcõcýcÿcÿcþcûcòcécÕcÁc¬cšc†cncYcJcLcKcJcHcHcFc=c/cbêb·bwbib–b¦b˜b…bzbvbib\bTbTbnbƒbb‰b‘b¬bÇbâbõcccccböbåbÑbâb¿bÐcäc|bÙbßb±b™bsbMb+baïaÏa¯a†adaDa&a `ò`ì`ë`í`ï`æ`Ó`ª`ƒ`X`0`_Ú_ª_q_@_&________ __!_:_[_‚_¡_¹_Ä_Ô_ä_ð_ù`_à` `ßadaGa `å`ìaaaFaSa5a `Ü`Â`¸`«`˜`†`w`f`V`p`›`›`Š`w`^`B`$`_ä_Ä_Ÿ_{_Z_D_0_^Ä^H]â]›]_]'\ñ\´\\R\"[ù[Ø[³[™[„[T[@[5[-[ZþZÿ[C[{[p[a[^[P[d[™[À[¤[v[W[P[_[w[Š[­[Ö[ó\ \4\\\v\x\x\¦\Ñ\ý]g]Ä^^{^y^‚^§^±^À^¹^¸^¿^Ò^û_._U_j__‡_•_¤_ž_–_œ_¦_‚_^Â^‹^q^E]ô]†]\ç\ð\÷\Ó\a[²[ZšZ¶ZôZ¤Z3YÆYJXúXÞXÓX´X¨XžXŒXgX;XWÒWÈXX^XùZ[;\N\µ\·\Ž\3[×[«[Ž[ [¸[ [ˆ[y[n[B[![[[Zø[[/ZøZ¤ZlZYÂY’Y`YSYsYjXöXxX.XX-XŠXkW–VîVV}VVhVfV3UüU¨UdUHU6UTÜUUUXU„UŸUrU¸V4VaVZX XžWa.a?aŒafa­cŸd@dYeše dd2dcÂcoc¦céefíeÝf¦gufmeÕeZeyeAeee+ešeüeöeõe¼e¨eçffPfvfºgOh*hEg/fŸf‹f]f]fgf}fˆff€fifafXf^i^¡^Ê^Ö^Ó^Ó^Í^à__;_V_]_t_‡_˜_ _r_X_e_w_Y^þ^­^ˆ^^X^"]É]o]1]4]\³\O[Ï[5ZªZzZuZ@ZY²YXªXšX‰XbXUXLXBX-XWãWßWÝWåX(XeXÆYÉ[9\P\k[ã[”[P[3[@[x[¢[›[[‘[˜[d[E[>[6[ZöZò[[ Z¶Z[ZY¸YjY-YBY{Y XOX;XyXNXX@XSWÓWVbVUúUëUÁU•U€U`U-UTÚT¥TŒTÜTîTÿUeUªUsUœUìVVW/WFV¤WçWÑX—]Pa‰\ÓYúYGXöY YY$YAYKYsYiYY´YÇZZZ&Z ZŽZ]4aÊd,dqd²eTeŒcÉbNbaÔag`Ë`P`_÷_Ï_Ê`(`d`}`Œ`‘`Ïaaaa¼aãbbUbÓcCcsc|ccWc$cbüb¼bµccšcºcaõa&`O_Ã_Ç_ _†_}_™_±_œ__•_”_‘_ _ _¦_—_œ_—_™_™_ž_˜_™_‘_Ž_‰_‹_€_y_v_o_l_\_P_@_4_,_&_ _&_!_ __"_$_#_#_!__$_!__ _^ö^ò^ï^Ü^Ð^¼^±^ ^“^ƒ^u^i^^^N^K^B^7^'^^^^^^^^^^^#^2^&^7^ _Fa*bòbÜbŸb¨b¢bÆbôbìbæbÚbÊb·b©bgb[b¨bÁbÅc c;c*bÅb_b'aÏaša›a~aaa„aŽanahadaWadaPa(a `ö`ß`Ô`Ù`ã`ñ`ö`ý`í`ä`Ù`Ñ`Ñ`Ó`Ù`ê`ö`ýaa aaaa a a a`ú`ñ`ä`Þ`Ó`Ê`Æ`Å`Â`Ã`½`À`Â`Ä`¾`´`£`’`’`˜`¨` `ª`¡`´`ð`×`Ñ`ë`õaaaa aaaaa…a›aSb%crcïe6e´dcÝcÿc‚cYcfcÇešfàe fwgÅf e¬eVdödÞdðdýdÃdåeYeÆeýe›ete¬e›e¤ff^fkg h7gŽfÇfžf†f^f:fNfUfPfEf6f,ffeçeÈe³e™eeoe]eQeAe&e dêdÈd«d“dvd_d>d cþcÙc·cŽcmcPc`G`L`R`Q`Y`d`p`|``“`”`µ`Â`Õ`óa a `ë`å`æ`ì`ü`ÿ`ü`ï`è`æ`ç`í`õaa7ava•a—a®a·a a€anacaaaZa`aeava‚a‰a‹aa»aÉaÂa¾a½a¿aÁa°a¦aža‘a„ana\aTaLaKaJa=a.a,a2a/a.a%a&a#a!aaaa aa aaaaa&a&a%a$a'a'a(a#aaaa`ð`Ö`Ì`Ö`Û`Ú`Ú`Ô`Ò`Á`³`£`”`„`p`b`S`F`5` ` _ü_å_Ð_¸_¥__€_q_b_S_C_3_#__^õ^ê^á^×^Õ^Û^ä^ß^Õ^Ã^²^ž^‰^o^P^(]ÿ]Ó]ª]‡]r]_]P]:]!]\å\Ê\ª\Œ\l\N\!\[é[Ú[Ë[¿[¬[•[q[W[?[,[[ZõZÚZÂZ§Z—Z‰ZZtZrZcZXZ=Z#YöYÈY‘Y[Y'XúXÍX£X|XVXc=c3c&c báb¸brb9bGb`bWbLb8b*bbaìaàaÜaáaùbb7bLbcbwbŽbŸb±bÇbÝbâbÛbÓbÚbÃb²b…b_bËbÀb€b‚bƒbYb'baîaÎa¹a”alaEa`ø`×`º`˜`o`I`<`E`d`^`#_ç_ï`_Ñ_ž_M^â^’^w^†^^³^¬^¥^±^Í^â^ó^û_ ____*_U_o_u_~_v_j_l_‚`!`Ö`­`a`F`E`®aa;a0a`Ó`©`‹`~`r`f`O`7````P`V`C`9`!`_Ú_µ_‘_o_O_2_ ^ä^À^“^V^ ]¼]€]D]\ç\Ì\Ê\Ÿ\`\5\[ä[[N[[[ ZõZðZéZêZìZñZØZò[L[¡[[@[Zû[)[I[X[d[[´[í\\A\o\\˜\£\Ä\ý\ÿ\Õ\¼\î]U]º^ ^>^k^¡^Ï^ß^ë^ñ^î^ý_)_6_M_h_q_‚_x_T__^þ^ú^è^º^”^„^^Z^$]Î]}]>]\ý\¨\C[Õ[]ZèZZIZYÀY‚XÁXSXOX0XXWðWÓW¼W¹WáX X WýXXXQYUZÃ\'\3[´[¢[J['[U[[Ÿ[—[™[­[¿[|[g[“[”[QZÿZë[[ZÓZjZ Y¢Y?XóXÊX¸X_XXzX½X‚X5X-X+WüW4V@UÉUµU¦U\U&UUMU?U T¬T‚ToT«TÙTÙTéUUKU~U«UšUîVÚVnUãW;XRYŸ]|ad]1ZiYwX÷Y Y Y Y6Y3YaYwY‰YªYÉYùZZqZ#ZŸZ[Ç_!a‰ccTcQd8cöbåbWaÑaR`“`3``,_ò_ç`K``ÜaaHaŽaÞb*bbyb¯b½bÝc5cgc$cbÁbb†b6a£a `è`à`v_í_º_œ_ž_ž_À_Ÿ_©__…_k_^_q_q_s_v_{_‚_ˆ__„_|_„_y__q_o_d___Z_____T_K_A_?_5_1_)_"____ _ _________ _ __^÷^ð^Ü^Õ^È^½^¬^ž^^‰^}^n^[^N^B^8^.^#^^ ^]ú]ø]ö]ó]ð]ó]ø^^^^!^^Z^ä`Xbtb£b{b­b“bƒb‰b«bÏbðbÓb|bRb6bb(b'b'bšbËb¼bÐbbaÊa£a‚alaJa:a'aaaaa`ú`â`Ç`¼`½`Ä`È`Å`Ï`Ò`Ï`É`À`©`¥`¦`¶`¿`Å`Ï`Ö`Û`Ø`Ö`×`Ö`Ø`Ô`É`Ã`¼`¶`­`ª`¦`§`£`¤`¡`¡`›``§`©`™`ˆ`‚`x``€`}`{``}`º`ñ`Ç`·`Î`á`ñ`ö`÷`û`ú`ï`ïaaDa~aqaœc>dŸerfüdºc˜cÆcicOc c\e5eõdðg&gìeÞehe5dÄd–d‹d›d„dd²e eneNe7eWeSeVeeÔf,fŽg(g’g³g9fœfUf*fff'ffeóeÞeËe©e”eneWe@e*e e dûdádÉd­d‘dmdTd8ddcãcÂc–cncIc.ccbðbæbÔbÅb²b¡bŽbtbWb=baùaÎa±aatanaMa~a_[_r_Ž_™_œ_¥_®_´_Æ_Þ_ì_ñ_ò_ì_é_ñ``E`q`•`²`Â`Å`Ë`Ô`ã`ò`ÿaaaaaaa(a)a'a"a#a1aIafaƒa§a¾aÇaÔaàaíaóaèaÜaÉa¶a©aœaayagaWaEa7a4a/a,a)a-a6a@aJaVaeajataŠa¢a®aµaºa»a¾aÃaÂa¼a¯a“auaZaFaaCaHaVa^aiapapalaeagadajapava{aa‡a†a{anaaaPaEa:a,aa a`÷`è`Ü`Ò`Ë`Ê`Í`Ì`Æ`¶`­`œ`”`Ž`€`z`r`k`b`T`G`=`2`'``` ` _þ_ð_à_Ï_Â_»_º_¹_µ_«_§_›_Š_z_m_b_\_X_H_:_1_)_%_!______ _^ù^û_____^þ^ò^â^Û^Ò^³^–^‰^{^o^X^<^#^^^]ø]ó]í]è]è]æ]ä]ä]ð]í]è]ô^^^^^ ^^)^B^P^]^^^b^c^e^_^P^D^;^=^F^P^S^a^k^x^‡^š^¯^Å^Ú^ê^ô^ø^ø^ò^é^á^Û^Ú^Ü^à^ë^÷__ __%_6_M_g__™_°_Ã_Õ_ã_í_ù`````` `2`=`M`Y`a`[`W`n`Œ`ª`¾`Ï`Ë`»`¶`¸`Í`éaa `ú`à`Ò`Æ`²`¬`®`À`Ü`ôa a>awa‡auaWa:a&aaaaaa.a8aCaYaiavatavavasaga`aNa@a/aaa aa`ý`ú`÷`î`ð`é`â`Ö`Ô`Ë`Ë`Æ`Â`Ã`Æ`È`Ì`×`Ü`á`â`ç`ç`æ`à`Ú`Ö`×`Ø`Ô`Ð`È`»`·`¯`¬`°`°`¯`®`ª`©`£`“`„`u`g`\`P`J`A`4`%`_þ_ï_Þ_Ä_¯_—_‚_m_]_G_5_ __ _^ñ^â^Ú^Ñ^Ë^Ä^Ä^¸^©^“^^m^W^<^]õ]Ð]¨]„]i]\]H]7]]\æ\Ç\®\Š\j\E\![ü[â[Ì[¿[®[¡[Š[u[P[7[[ZçZÍZ¶ZžZ‹ZyZuZgZcZQZGZ6Z+ZY÷YÏY¤YlY8YXÕX¯X„XcX;XWþWÖW¢WlW/VÿVÕV¸V‡VLVUÅU€UFUTàTÀT¦T€T_TVTbT˜TéUAUUÏUôVVSVŸVåWPWšXX X$X^XžX«XïY|YÅZX[f\Þ]“^…`=`¦_<^ø^ ]\[Y–X¬X1X‚Yq[C\—[8[ [£ZvYZÚ_ùbÆ`u_5]t[ç[Y'X(X/X*X5X¬YsZ±\K[þZ7YdY5Y&YYYYY:YnYºZZ}Z¾[[¶[à\ \5\G\O\j\‰\˜\¼\Ü] ]:]f]…]§]¶]Á]¹]Æ]Â]Á]×]ñ^^F^w^“^·^Å^Ì^Ú^Ô^½^¼^¿^¾^Æ^è___%_6_E_M_X_f_k_u_~_Ž_ª_·_Í_â_æ_î_ü`` ``+`D`Q`Y`a`d`b`T`K`J`E`L`a`p`„`¦`Å`ß`ûaa7aRadauaa„a•a©aÁaçbb.b@bJbBb3b(bbbbb,b7b[bjbvb}b~b’b’b”b‘bbbbbbzb}b}bxbzbqbsbpbububkbjbrbjbabUb_b]bXbub bÄbÜbñbób÷cc"c>cGc@cBcDcLcccgcfc_cOc4cbÝbÝbþcc'c.c/c*c.c5c9cAcMcScXc^c`cdcecocqcuczczcxcxcxcrcpcncjcfcicjcncjcpcwc{c‚cˆc“cšc§c±c¿cÆcÐcÒcÓcÐcÌcËcÉcÅc¾cµc¨cžccƒcschcZcNc>c?c9c5c,cbób¿b“bPbb,b;b2b)baÿaêaÕa¸a¢a¥a´aÛbb@b]bebcbwb†bŒbb´b¾bÇbÁbÅb½b›bŠbhbOb^b^bTbbYb aóaÕa¹a’amaLa+`þ`Ù`¿`©`Ž`[`_í_õ`A`M_ò_™_Ï`_³_a_&^Ñ^–^†^¢^Ã^Ý^â^î^ì^é^ò^ý_ _(_3_3_*_#_._G_S_Z_V_M_d_Z_Ÿ`s`†````F`ºa`ô`Ã`”`q`_`_`]`N`:`%` _ë_á` `)``_õ_Ù_²__m_H_&^þ^×^²^ƒ^a^?]î]”]l]?] \Ü\Å\È\¢\\\5\3\[ª[NZôZéZáZ¹Z¿ZÔZéZø[[["[O[V[3[ ZÞZü[4[F[Z[|[¹[î\ \R\q\•\´\«\´\ã]\÷\Ô\Ò]]c]Ä^^@^g^‹^¶^Í^á^ô_ ____p_£_e_8_^û^Ï^µ^Ÿ^…^x^f^f^~^Ž^l^+]Ì]~]H]\Û\™\O\[¡[1Z¾ZHYúYžYRXmWüXWçWÕWÃW´W‹W}W­WÿXXXWÕW¯XTYMZG[—[ï[­[±[x[|[µ[É[²[®[ž[¼[î[§[š[ñ[Ø[UZûZÿ[H[ZªZ\YýYyYXÒX‘X^X:X#X=XYXmXgXGWñW–VÛVU¹U»U…U+U8U&U8U7UT¸T¤ToT“TÖTÐT¥TÍU)U[U‡UbUµV‡VLUºV–XÌ[’^Y`Ö]ÒZàYsXåXßYXúYY_(_._%_-_9_I_K_I_R_S_V_[___a_g_[_]_N_N_C_G_@_>_9_2_,_'_!_____ _ __^ü^þ^þ__________^ù^ó^â^Û^Ò^Ç^·^§^˜^“^‰^^m^c^V^B^9^,^'^^^^]÷]ì]æ]â]â]æ]ï]û^^^^^P^¢_µb8bÚb·bÚbžbšb”bžbœbœb™bxbfb`b9b'baþbAbƒbçccEbfbaça…aKa `ú`á`Ø`Å`½`Ç`É`°``¡``–`ˆ``®`Ç`È`º`¦`–`‹`‹`‡`Ž`š`¬`´`»`¼`¹`»`¹`·`°`­`­`«` `—`Œ`†`~``v`w`y`z`t`l`m`n`l`[`X`b`s`r`g`k`h`|`Í`Á`˜`±`¸`Ç`Ö`Ï`Ç`Ä`Ï`Ò`Å`Þaa,a–a–ce>eZgTegc„c“c]cFc'bÿc®dRdœfdg)f+ee d©dxdLdMdFdTd\d›dædûedûdòeee5eåfÀgLh?ihFg;gfÈf&eØeØeÔeÎeºeªe”ere\e>e$e dñdßdÈd¾d¨ddrdXd8ddcçcÑcªccXc3ccbåbÕbÅb¼b©bœbŒbzbgbMb2baðaÎa¯aa{afa^aXa…aYbd`fceïf¥f{e¦ecÔbìbÐbbnb\bPb;b#aýaÌa¡aqaGa`ò`Å``X`_å_š_C^ó^±^x^a^;^]¹]M\Ù\O[Å[#ZkY¢X¼W·V¤UsSêQ“MµHÞEEG2JGM|PXRTJU©VÚWÀXiXäYMY¨ZZ_Z¬Zæ[[T[˜[Ü\(\\Ï]];]I]3] ]]]Y]±]›]\]‘]í^^3^C^K^I^8^E^h^‘^°^½^Ë^à_ _,_J_^_`_S___|_y_{_ˆ_¡_²_¸_²_±_À_Þ` `5`[`l`v`}`‡`—`¥`²`Á`Ñ`×`à`à`ã`é`ð`ö`ÿaa a aa&a6aIaSa`aƒa aªaªa®a®a¤a–aˆa|aoa^aJa6a'aaaaaa aaa a+a0a8aHa[ahakanauaaŠaa‹a†a|ajaPa6a`ù`í`ë`õ`úaaaaaa aaaaa+a0a7aAaAa6a&aaa`ì`Ü`Ï`Â`±`£`—`†`v`q`o`r`m`f`]`T`K`E`<`7`3`,`$``_ø_ë_â_Ù_Ò_Ë_Í_Ñ_Î_Æ_³_£_•_Œ_ˆ_ˆ_†_{_n_`_O_A_3_+_!__^û^ò^ç^å^ß^Þ^Ø^Ø^Ø^Õ^Î^Ç^Ç^Ó^â^á^Ø^Ù^Ö^Â^­^^œ^“^~^e^Z^M^<^%^ ^]þ]ú]ð]ã]Ý]Ø]Ð]Ê]Ä]Á]¾]Ä]Å]Æ]Ô]ß]ß]à]ç]õ^^ ^6^<^=^<^:^2^.^+^ ^^^^'^0^0^;^I^S^`^x^’^¦^¶^Â^Ç^Æ^Â^¼^·^µ^³^±^¶^¾^È^Ö^ç^ñ___$_3_O_j_‚_•_§_¶_À_Ë_Ð_Ù_Ú_á_é_÷```'`4`2`6`5`1`P`y`–`§`š`‚`w`k`|`™`Á`úaaa`é`È`¤`‘`‡``—`°`Ì`éa a)aMaVa;a`ß`Ð`Ë`Ë`Ñ`Ü`è`üa aa$a%a(a!aaaa`ò`à`×`Ç`½`·`²`µ`®`¬`«`©` ```Š`|`w`o`m`r`|``„`’`š`¢`¤`«`¬`ª`¤`œ`–`—`•`•``‘`‹```”`™`–`–`“`‘`‰``r`f`X`L`K`C`A`=`6`/`!` _ö_æ_Ò_»_ _‡_i_S_;_+__ ^ý^î^à^Ò^Å^¸^®^¢^š^†^v^`^L^3^^]â]½]™]u]Z]F]:]']\ø\Ý\À\¢\Š\h\A\[ó[Ñ[¾[¨[™[[u[[[G[([ ZîZÒZ±Z–Z|ZhZbZXZYZJZCZ4Z*ZZYçYÐY§Y{YFYXáX´X‘XhXGX*XWäWÃWW]WVìVÂVœVlV-UèU UZUTßTÀT›TuTOT-T"TETsTÄU"UrUÉUòV.V[V’VÈWCWWÈWâX XGX^X“X´XéY8YxZ,[\^``¸`q`ùaÜ`>]K[@Y€XWÔXXXÅYí[‚\Õ[fZiXåY[¨_Ž`×`>\²ZY°XÝXXX*XnY\ZP[O[&Y×YY Y XîXêX¯X½XóYbEbHbHbGbKb`b[bMb=b=bAbQbwb•b·bÒbÕbÆbÜböcc6c?c2c)c(c)c6cEcScTcJc+bèb¹b´bÊbßbõcc ccc#c)c.c5c:c9cAc@cEcNcWc\cacccacdcccccccac]c^c[cZcYc\c[c]cbcccocwc„ccŸc©cµc¾cÈcÊcÊcÈcÂcÂcÀc»c³c©cc”c†cychcacUcMc>c=c:c/c#cbÔb›bhb%aÿbbb aÿaðaÙaÁa¥a‚ajaoaa¿bb-b9b,b#bJbab_bob•b¬b®b®b¿bÎb°bŠb„bfbKb+bba÷aÞaÙaÁa§a‘a€aDa`ì`Ä`®``†`Z`_Î_º_ù`_ß_†_h_g_,_ ^í^Ö^º^›^”^^†^†^¯^Ø^Õ^·^­^Ä^ì__B_F_/__&_1_9_8_,_Z_`_`W`’`"````{`¯``z`K`8`;`C`E`5`#`_ÿ_ã_É_ß_ÿ_ú_î_Ò_­_ˆ_d_D_ ^ù^Ñ^£^ƒ^P^$]ø]«]u]c]>]\ò\Î\©\}\K\4\9[þ[±[W[*[ZüZàZù[#[G[\[l[R["[[[[ Zî['[P[T[w[©[û\$\:\m\™\±\Î\¾\Ë]]\æ\ç\ð]]z]à^^M^n^}^”^µ^å^ø_____s_¥_X^÷^Ã^¯^–^^k^S^I^>^H^n^…^d^]Á]|]>]\Ã\‘\W\[Ã[qZôZ|ZAY¡Y,XHWÄWÐW©W WW‚WiWfW­XXXW½WkW´X_YYÔZñ[v[n[v[…[²[è[ð[Ê[ª[s[«\[Ó\ \q\[’[Q["[?[ZeZ#YÉY:XÿXÙXÐX£XoX)WóWÿX?XvXfWªVÀVUœU£U©UQTöUYTYY“YàYðZ-ZAZkZq\g_äa>b¥ec`a„`}`H`r`?`Î`Â`»`³`Ý`º`r`@`^ayb*baÀa÷ba÷aåaâaµa¢aŽaíbib‘b”bTaÒa2`w_Ë_Ž_z_|_l_X_0_"_ _,_0_)_$_)___#_4_8_7_<_:_C_<_C_A_=_/_&_____ _ _^ú^÷^ò^ð^î^ñ^ð^ð^ì^ê^ç^è^ë^õ^ò^ö^ò^ï^ï^ï^î^è^ì^å^æ^ß^Ï^À^±^¢^˜^‡^^v^p^h^R^E^6^/^^^^ ^^]ö]ñ]ç]Þ]Û]Û]ß]ç]ø]ù^^ ^=^q_*a¤b÷búc bºb¹bÈbºb£b•bbzb\b3bbb%aòaÔbbec9c{baµaWa`ë`Ô`É`Æ`¼`¡`¶`Ã`š`{`k`‚``‚`q`‚`™`¯`Ç`º`‘`o`]`S`a`s`}`‰`‰`Ž`Œ`‹`…`~``|`}`w`p`k`i`a`b`^`Z`V`W`W`S`L`G`B`:`<`:`=`M`]`h`[`Q`I`W`‰``€`›`’`¨`ª```™`°`¯``±`Ûaa¡awb`dÉepgaeãc­clc@cc:c&cKc›dd»dÜe>eGd¤dFdGdCdCd6d5d*dQdud’dÐdµdd³ee‡eÆfUghÎi¼i¾hÓhMgÀfteÌe¤e•eŽeŠeoeTeBee dêdÒdºd¨d–dƒdld[dAd$dcæcÍc¹c™cwcOc!cbäbÐbºb°b›b‹b|bob]bLb6b"baçaÍa¥a“apapaQaOaMata«a}b_M_^_v_“_¶_æ` `"`7`G`C`F`R`d`w`„`’``¬`²`³`±`´`Á`É`Ô`ß`å`è`òaaaaa+a7aFaWanavaxajabaaaRa>a(aa a`õ`ò`î`ì`í`ô`ù`û`üaaa$a0a4a0a2a2a:aIaVaUaNaCa7a#a`ï`Î`¹`ª`©`«`µ`¶`¸`»`º`º`½`Ç`Ñ`á`ô`ûa`ÿ`ö`æ`Ø`Ì`Ä`»`¨```ƒ`v`h`R`?`,``````_ù_ø_õ_ò_õ_ò_í_ä_Õ_È_º_³_¬_ª_®_¬_¬_±_³_¨_•_†_t_d_X_R_O_G_5_(__^ú^ñ^ç^Ø^Í^½^¯^¥^£^¤^§^¢^¤^¢^¢^›^^¨^²^¶^«^«^¬^˜^‚^d^F^;^+^^^^^^]ò]æ]â]Ü]Ð]Ä]¿]¾]º]¯]¦]¡]ž]—]’]]­]¼]Ç]Ç]Ë]Ü]÷^^^^^]ý]ü]ý]ú]ó]ò]ô]ü^^ ^ ^^^&^5^M^c^v^„^^^Ž^‹^‡^‡^ˆ^‹^^‘^›^®^º^Ì^à^ô^þ__ _3_F___|_”_¨_´_¿_É_Î_Î_Ó_Õ_ã_ï_ý` ```` ``@`a`‚`—`ƒ`W`3`%`/`?`m`¨`×`ùa`ù`à`°`€`c`d`m`~``ª`À`Ô`÷aa`Ù`´`¡`ž`™`™``¨`³`¿`Ê`Í`Ò`Ô`Ò`Ó`Ë`È`À`·`²`«`¡`—`‹`€`w`o`k`d```Y`W`O`I`;`2`)`$`$`-`3`=`I`R`\```g`n`r`l`g`a`a`^`a`]```a`h`p`w`x`x``y`q`f`]`N`=`4`-`#` `````_ë_Ô_Ì_½_¨__|_c_M_3_ __^ô^á^Ì^¼^«^œ^Œ^z^i^R^:^^]ð]Ú]¸]›]z]]]<]$]] \ý\à\Ç\­\’\x\\\>\[í[Í[²[¢[Š[y[\[H[/[[ ZñZÓZ¶Z—Z|ZhZVZMZBZb>bEb_^ø^Ä^›^o^A^]É]•]s]e]O]0]]\ñ\Ê\›\m\J\>[ô[¨[o[·[}[S[[[k[^[P[J[K[,[[[([*[)[[C[j[[¶[Ø\\G\w\š\®\·\Æ\¾\Þ]\ê\Ú\û] ]']w]à^^A^b^€^—^Á^ò^ú^é^ï^ù^ý_0_W_E^×^}^k^t^m^b^W^P^J^S^h^j^B^]´]o]0\î\®\}\J\[Æ[„ZùZmZ.Y“YX.W”WžWzWlW_WRWZ°ZµZß[+[|[©[²[»[©[}[;[|\5\œ]\ó\2[Ï[­[Q[Z÷Z|ZY‰YXþXÖXìXéX¡XBWýW×WèXWþW=V]UïUšU›UkUT§T¹T·T“T¦TT’T»T|T‡T˜TŠToTŒT½TýUUeVqVáVÀV;VNWYñ\É_`@`C`I`Y`d`i`m`i`k`j`i`e```]`Y`\`V`P`D`;`9`5`3`/`1`2`/`(`)`3`:`C`@`F`N`B`-`/`2`;`L`R`^`i`l`}`q`l`‰```y`q`†`¥`ãa“a’aùc¹e ge¶cªcIcQcc c0cwcmc×dµdLd*d[d2ddd d*d*d-dddd/d[dfdad^d¯e`efeÂf¤gji(jfich6g¸f eòeŠeReHeAe;e!e dëdÜd¹d§dˆdvd^dId:d$dcöc×c¹cc†cjcAcbíbÑb¶b¥bbbkb_bLb@b3b%baúaåaÈa¯aa‡adaga:aIaaJb‰aÂa•b-bµdadbÔb•b¢bŠb4b aòaØaÃa¹a¬aŒaia-`÷`¸`Š`a`E`_å_´_|_1^Ú^†^2^]Ý]µ]{])\¾\F[Î[OZÎZ2YmXuW`2`4`*`&`` ``````_Û_¿_¤_™_¤_˜_a_+_^î^Æ^‚^N^']û]×]¯]]i]X]I]E]A]]\é\¶\‰\q\`\[Ö[Å[Í[[Z[D[B[)[[ [Zð[[C[^[Z[P[<[d[‰[»[ì\\%\^\Ð\ù]]\Ü\Ý]] \è\ñ]],]D]~]å^&^K^o^^º^à^î^û^ý^Ý^Ì^¶^´^¸^ª^n^N^L^[^a^l^k^d^S^X^`^O^/^]´]f]2\÷\¹\q\#[Ì[[NZÖZ5YØYsYX+W„WrW_WXWKW3WW WiWÑWîWÜWWFXEYMZdZÜZ¡ZmZ¼[ [Q[ˆ[”[’[f[G[@[ˆ\]u]S\–\\A\3[ª[C[Z¾YþYoYY XäXëY XÂXGWÿWÄW©W°W˜VÿV>UàUžUšU:TºT\T=T1T%T$T(T^TToTŠTƒTUTST›T¤TÎTÊU$V`W6WNVºV‡V¿WêXø[­av_§ZõY YX¬XšX‚X¥XX«XÝYYUY‹YÄZZ ZZè[Ö^¨cfôgCf¦fqbù`Úaa:a `Š`€`²`ß`ÿ`ˆ_ö_Þ`Z`Ãaa8acaa¨aªa‰aaaZa%a‹a÷bb²a9`K_ó_t_6_!__ ^ø^à^Ñ^Ù^ñ__^ø^ì^è^ç^î^÷__ _ ___ __^ü^ø^ò^ì^è^Þ^Ñ^Ã^º^¶^«^«^·^ª^«^¬^¯^À^Æ^Ã^Æ^Ë^Î^Ë^Ï^Î^Î^Ë^Ì^Ç^Á^Å^À^Ã^À^º^­^ž^’^‚^p^g^W^W^N^@^.^!^^]ü]ø]ð]ì]ï]Î]Ç]×]Ú]Ò]Ê]Â]Å]È]Ù]ë]û^ ^^.^=^ðab©b¥bÅb¶b}bˆbšb²b baºaÈbb7b.aùb0aÕa«bâb~aƒa,`Þ`Ž`b`V`}`Æ`ã`â`À`Š`v`™`—`v`H`0`5`A`K`Y`h`q`_`.``` `/`:`;`=`9`8`4`.`.`,`-`+`(`$`````!``````%`/`1`9`3`8`8`4`$``````#`#`(`.`0`6`F`h`“`š`` `š``¬`¼aVb!bÀc dØfÅe¾cÛc9c;cc ccFcc6dzdbc÷d cøcäc¿c×cßcåcócècçcécêcìcüddbdzd›dþeçe«fiiåhügãgdfÏf]eªe?e*dûdúdædÐd»d¦d‰dwdVdFd-ddcñcácÌc­c‹cocUc?cbêbÅb¢b‰bwbcbTb@b,bbbaúaîaÖaÆa²aa…asa]aTa"a<`åazdbœa¶aÊa¸c²cðbÑbšbwb6aÿaéa½ažaŒaxalaSa2`ü`Â`y`M`"`_à_²_x_;^ÿ^´^h^]Ô]«]]H\ô\ˆ\[ž[#Z¬ZYcXuWNUÛSöQ‚NI!B«=ž=J@íFCK[O#Q³S•UUùVÂW{XX}XûYrYÞZ>ZZ±Zå[L[ª[õ\?\†\Û]2]y]§]¸]¦]‰]c]F]V]…]]¨]À]à]ê]î]ý^^1^K^b^l^w^q^|^Œ^«^Â^¿^À^Ó^Ø^×^à^Î^Í^Ï^ß^í^þ__6_`__©_¾_Ì_Ë_È_Ë_É_Ø_ï```` `4`C`J`H`C`F`O`Z`g`q`z`…``›` `¦`°`¼`Ã`Ç`Ð`Ù`á`æ`ä`â`ç`÷a a`ÿ`ú`÷`î`ç`ç`å`ä`ß`Ý`ß`á`ç`á`á`â`Ü`Ö`Í`Ë`Í`Ï`Ñ`Ê`Ã`¸`©`”`x`O`1`'`"````` `&`8`U`p`‰`Ÿ`¬`­`©`œ``‰`ˆ`‹``q`a`N`>`'`_û_ß_Á_©_›_•_•_’__ƒ_y_x_‚_†_‡_ˆ__q_b_j_f_i_‚_‰_‚_u_h_Z_L_A_3__ ^é^Ý^Ï^É^Ä^¯^¡^Œ^|^u^o^e^]^O^?^-^#^(^7^>^:^;^O^a^`^S^G^1^^]í]à]Î]¸]]]]„]€]Œ]œ]¡]™]‘]…]z]s]o]h]g]i]d]Z]X]Q]R]T]W]Y]o]Š]™]¡]¢]¬]¢]•]Š]Š]]’]•]–]›] ]©]¸]¾]¾]²]¡]–]ž]¨]µ]Ç]Û]ï]ý^ ^^^ ^!^&^.^8^E^O^^^o^…^™^°^»^È^Ï^Ú^ë__"_A_]_r_€_‰_—_ _¬_·_»_¶_¸_¿_Ç_À_»_¶_µ_²_¼_Ú_ö` ``_ù_Û_¸_¡_–_™_´_Ý``9`O`^```L`1`&`` `'`)`,`,`%``_ý`%`>`D`6`.`-`=`H`S`S`V`P`Q`R`I`D`8`=`?`=`8`B`8`7`I`I`3`$`6`4`)`_ô_Û_Æ_¸_­_©_¢_¤_¨_³_»_Å_Ì_Ø_è_õ_ü_ú_ü_ø_ù_÷_û_ü_ÿ```` ` ``````_â_À_§_˜_†_~_r_n_m_o_r_m_c_\_S_F_7_,__ ^ú^î^á^×^Ë^½^©^”^{^`^E^*^]î]Ñ]±]–]y]\]@]#]\î\Û\Ê\¹\­\œ\ˆ\l\Q\9\\[ä[É[¯[˜[€[n[\[H[3[[ ZøZèZÑZ¼Z£ZŒZxZcZQZ>Z+ZZZYõYâYÏY·YY}YYY3YXØX©X„XdX>XWþWÛWºW–WsWIWVáV®VƒVCV UÂU‡UCUTßT¹TTaTQTXxXX¿Y YAYIY9Y;YX³XrXGXLXVX9XNX&XBX:XQX‹X–XcXÔZL\ù_ò_h^+\Ð^ëd\ca_9\â[ Zë][äZ%YïZ$Y YYzYiZÁZQYGZZ=Z\¼\WZOZ£[ \\@\¹]d\¿\[ô[á[Í[Å[Ó[ò\\@\Q\O\H\f\\•\º\Ý\ê\ú]]+]G]V][]^]o]j]g]y]r]T]`]t]y]]†]‹]¦]È]Ë]Ï]Ý]ë]ù^^6^M^a^q^„^Ÿ^¹^É^Ó^è^õ^ú___(_7_F_U_f_b_V_T_N_I_S_b_f_x_‘_¬_Ë_ã``!`9`U`k`†`£`³`Ã`Ö`îaaa(a?aZapaŽa¥a±a¾aÐaÚa×a½a­a²a³a®a­a¶a¶a´a´a²a±a²a¯a·a¾aÊaÙaáaêaâaâaãaäaîaóbbb+bAbPbSbeb{b•b¥b›b“bŠb˜b¢b³b¶b¯b§b˜bžb¢b­bÃbÙbèbábÏbÇbÉbÄbªb”bšb¶bÇbÎbÐbÍbÎbÎbÍbÖbÙbÞbábëbóbûbÿcc c cccccbÿcbübþbúbþccc ccc%c2c=cPcZcicocwc{cc€cƒc„c‡c†c‡ccxcbcKcKcIcHcDc?c:c3c.c&cbðb³bib aòaÙaÆa¾aªa’awa_aEa*a`ú`Ý`Ô`òa%aca…a}awa’a¹aÔaÎaòb(b@bKbCbIbXbWb;b(baøaäaÛaÃa©a‡aza{apaRa@a1aa`å`Ò`¸`™`f`&_â_½_¡_„_g_K_8_0_*_0_>_0_^Ú^µ^—^ƒ^—^¹^¥^‹^Š^ž^°^Ô^ì^ô___'_9_'^÷^ù^÷___E_Í_•__î`/`_ì_ø_þ_û_â_ß_æ_æ_õ``` `!`_Ü_²_~_j_w_x_I^ÿ^Ù^·^^C^]í]Ï]´]š]ƒ]u]`]A]]]]\æ\·\•\€\h\A\[î[µ[[j[1[5[*[[[[ [N[“[˜[…[a[S[‚[¤[Å[ñ\\\Q\Å]]]\â]]H] \Ú\ì]]<]U]]Ú^^M^v^œ^¾^á__:_B_ ^Ñ^‘^f^C^*^#^4^6^F^Q^a^_^Y^C^S^Y^;^1^]´]n]N]\¹\p\[´[a[Z›ZY¬YKXïXAWžW]WYWKW:WWWWeWºWÜWéWWoXßZ2ZäZÖZZ^Z´[[X[ƒ[§[Š[J[P[ \/]]1\£\\ƒ]Ó]n[ÿ[X[&ZºZY‹Y;YXèXÙYXÆX/WÍW¨W¥WW[VïVZUØUƒUvUT‚TSàSÅSÏSÑSôT/TTTRTfTGT,TRTuTlTŸT’TäVVÙWYW(VçW:XWâY¢`1cR^Ÿ[{YiXoXÂXJXMXBXDX§XäY/YfY–YØZZrZ×\C_¢c[e¨grgbg)d›b&a?`í`·`X`Q`‡`Í`†_ù`3aSaÉa¾a£aLaGa`alažaáb`bÌb¯bnb#aÐa×añ`R_c_<_^õ^â^Ö^Ô^Î^Å^È^Ì^Ê^Í^Ô^Ø^Õ^Ð^Ñ^Ù^Ý^å^ñ^ô^ü^ö^ï^å^ã^Ü^Û^Ú^Ò^Ç^½^­^ ^“^Š^‡^‡^š^œ^Ÿ^ž^˜^¡^®^¯^»^¶^º^·^»^º^¼^»^º^Á^½^º^¶^²^¨^¨^™^‘^}^p^`^V^I^=^5^)^^ ]û]ï]æ]à]Õ]Ç]É]¶]¹]Ä]Ç]Æ]Å]»]º]Ã]Ñ]æ]ó]û]ÿ^^&^E_ãaübbQb‰byb¨b‰bHb;baÊaÏbbNbzbbbVa‘abbzb aa+`Ÿ`m`8`-`Z`Æ`÷`ò`Í``p`€`n`J`,`````*`7`7`!` `_ü`` ` ``` ` `` ` ``` ` ```` ` ``` `_ÿ```'`,`/` `` _ÿ_í_ñ_ø_ý`` ` `` ` ``)`e`–`ª`­`µ`Ð`Î`°`³`£aBbnc%d eÓfkevdbcbccccc#c bäcŸcâcÎcæc³c¬c¤c¿c¿cÅcÇc¸c¶c³c°c®c¬cšcácßdrfMgheŒeuhDhßi1hÆhgqgfeIdìdÆdºd§dœdƒdpdZdCd,dcùcçcÎcÇc®c›ccXcBc*c bãbÀb™b|bcbNb`_ò_ç_å_á_Ú_Ú_Û_Û_ß_ñ``G`a`o`n`k`k`f`k`f`g`_`R`H`<`.`` _ü_ã_È_¬_Š_v_t_h_Y_Y_Z_O_M_Z_c_b_d_\_I_:_/_ _%_B_F_:_.__ ^ô^è^ê^Û^Î^»^®^˜^^}^u^m^\^L^>^0^)^%^^ ]ÿ]ù]ÿ^^^ ^^^!^^ ]ô]Û]Â]ª]–]ˆ]€]u]k]a]Z]T]X]b]f]d]_]V]N]J]C]A]<]9]:]7].]*]']+]*]3]?]X]n]~]‰]Ž]‘]u]]]U]_]e]f]g]h]t]]Š]]‹]ƒ]m]]]^]g]m]{]]©]¾]Ì]Ü]ä]ë]í]ñ]ø^^^#^8^N^`^y^‡^‘^›^§^°^½^Ó^î__ _,_6_F_S_a_k_v_ƒ__”_™_›_š__‚_~_x_q_y_‰__°_¾_Á_½_¬_Œ_v_f_b_i_n_x_‰_š_³_¼_È_ß``` _ý_ó_õ_ø_õ_ë_Ø_Ê_Û_è_å_Õ_Ê_Ñ_ê_ÿ``````` _ø_ç_æ_â_ç_æ_æ_ä_è_ê_ð_î_ú`!`$`_ú_Õ_±_’_€_p_l_i_j_l_u_~_‡_“_Ÿ_«_·_À_Ã_¾_¾_½_¾_Ã_Á_Æ_Ä_Â_À_Á_¼_»_³_³_¯_Ÿ_‘__k_[_R_H_F_A_E_J_R_Q_L_A_5_+__ ^û^ç^Ù^Ì^À^¸^±^¨^œ^^u^Z^9^]ý]á]Å]©]Œ]o]Q]/]\õ\Ù\É\¹\¬\\\z\c\J\1\[ú[ä[Ì[´[ž[‰[t[][J[8[$[ZþZèZØZÂZ°ZZ‰ZuZ_ZJZ4Z ZYþYìYÜYÆY³Y›Y…YhYFY XöXÉX¦X„XZX>XWöWÓW´W’WmWDWVçV¯V€VGVUÉUUSU$TôTÊT©TzTbTQTUToTŸTãUUdU¥UóV,VcV¡VÒW W3WdW{W¤WÔWýX XX(X=X]XX´XáYYYXùXûXîXÖX•XiXVX=X*XQX_XjXVX™X³XnX]Y€\_ bvaÁaÍcRcMb¾a¡^ð^¡`g^H[~Y³XÄXDY=ZVZ•ZçY…YÀ\[\¤ZýZç[9[%\–]y]‰^“^§^\Ó\\[ñ[Â[¼[Á[Í[ó\\ [ý[ú\\6\k\–\Ç\á\ï]]] \þ]]]!]*]<]C]=](]"]*]=],]+]N]b]c]q]]”]©]¶]Æ]Þ]ø^^9^E^N^Z^m^„^œ^¯^¾^Ã^Å^Í^Û^÷____ _____$_9_G_W_o_…_Ÿ_¶_Ô_û``/`@`c`v`€`“`¥`¾`Û`ôaa'a=aJaYava”a¶aÏaÐaÕaÝaèaËaža”aˆaa‘a‹aaŒaŽaa•a a¥a±a½aÅaÌaÏaØaÚaêaúb bb$b;bDbLbUbfbtb€b†bŽb˜bžb¡bbb‰bšb¥b¥b©b´b¹b¸bÊb¿b®b±b®bžbŒb}b‡b¦b±b¶b·b¸b³b²b«b²b³b¶b¸b½bÅbÍbÔbÕbÖbØbØbÑbÔbÏbÑbÊbÍbÈbÉbÈbÊbÍbÕbÛbâbêbócccc+c:cFcVcZcccccfcdcccacdcbc\cUc?c;c4c.c1c1c0c.c#cbübÑbbFbaØa¼ažašaŒakaMa3a`ú`ç`Î`·`Ã`Ù`üa6aBa8a3aAaiaa…a¸aîbbbb!b b%bbaûaëaÛaaazaˆa˜amapa]a@a=a,aa`ê`Ì`®`s`/_ú_×_À_ª_˜_˜__o_‚_‰_l_H_^ô^Ø^¸^´^Ð^Ï^«^¢^¼^Õ^É^Ñ^è^÷^þ___&_2_^ú^å^ý__4_h_P_i_»_Ý_–_y_Ï_ö_æ_»_½_Û_Û_è` `%`(`_ö_Ð_£_s_R_L_Q_1^ë^¼^”^U^]û]Õ]Å]°] ]ˆ]@]]H]`]F]!]]\É\œ\r\W\U\>\[Å[[m[;[Z[Z[:[5[C[t[Ê[å[¼[®[„[o[•[±[É[ì\\&\Q\–\Ï\è\ì]*]s]c\ö\Í\ó]]<]R]y]Â^^P^‚^^¸^ï_-_Z_H_^è^¨^r^L^9^)^-^2^J^W^T^C^6^^$^-^^]ö]œ]`]H\ü\¬\T[þ[œ[@ZÚZyZYªYHXìX`WÆWgWRW8W,W VñVûW]W¶WÒXW=WœYŒZ¶Z×ZÉZ­ZhZ|Zé[6[i[±[œ[[”[Ð\À]#\“\A[í\B]L\¾[Œ[E[$Z°Z1YÊYVXþXÖX XªX}X W¹W¥W¤WLVÂVkV0UÈUnU7TÞTSSçS¹S’S™S¬S×SìTSúSüT T'TLT^TDTATaT´U^V V¶WWWÈXkXZj`cqb _ˆZöX‰XŸX,WÙWùXXhX©YYFY—YÐZZcZØ[ê^Pa)bÿeËgnf€d1bŽa½`ÿ`I_Â_®``›`=`bWc¤c†c bibbBbEbVc/c¤c©c b)a·`ë`__~_A_)_^ð^ä^Ø^Ï^Ê^Ç^¼^¯^¯^·^Å^Ë^Ò^Ð^Ç^Á^¼^Å^É^Õ^Û^â^à^Ù^Í^È^À^Á^¾^À^«^–^ƒ^z^{^p^l^l^o^z^}^|^^†^–^^›^Ÿ^¤^¡^§^¨^©^¯^­^«^ª^¨^£^¥^›^™^‡^€^n^b^N^=^4^,^"^^]ó]à]Ð]È]Ä]À]´]¸]Á]Ê]È]Â]¹]´]¯]®]¶]Ë]Ô]Ü]è]â]ç]õ^5_Àaara b1bZbyb\bb.b–btaòb bbbaÑaa b-aåa½a5`¾`¥`e`^`S``Í`Þ`Ì`ª`Œ`x`N`6`%``` ````_ò_ß_Õ_Ð_Ô_Ù_â_ß_Ù_Ö_Ò_Ì_Ï_Ô_Ý_å_ë_ï_î_ò_ñ_ü_ÿ```_ÿ_õ_ò_ñ_÷_ú_ÿ_ë_Ú_Ñ_Ò_Ô_Û_Þ_á_â_á_æ_æ_ê_ò` `K`£`Í`º`³`È`Ý`Ö`¿`›`aKbŠccÃfjeèdºdkc]bÝbábÐbÎbïböcc«cØc¡cœc|c‹c™c±c¯c²cºc¯c¤cœc‡c„c‰cXcƒc_dZføhvfŽefWg`i2iÐiÍhÍg„f}edÕd’dtdcdUdCd9dd cöcácÉc·c¡cc{cmcNc0cböbÜb½bœbyb]b?b+bbaùaæaÙaÐaÍaÀa±a¢a‘a‰ayana\aIa?aa`ÿ`ébRcOb aia³cGcb3bRa÷a¾a¹a‹a|aEa"`ÿ`ð`×`¾`™`Y` _ê_Â__y_P_!^ó^Æ^Ž^4]ã]]`]D] \·\P[ä[oZ÷ZxYèYHX—W±V¥UCSšQ«O+LmJdIØKMxOàQØS:TRU\V5V¿WFWÏXDX°YY}YþZjZ¨ZÛ[[†[Ã\\m\Á]]c]—] ]…]c]^]„]²]¼]¯]£]]‘]…]‰]£]É]å^^&^6^F^d^•^·^»^¶^­^°^³^µ^È^Á^š^†^Ž^^º^Ö^ë__1_L_c_m_p_l_c_d_^_W_`_l_v_€__›_ª_°_¶_Ã_Î_Ó_Õ_è_ø`````$`2`;`G`W`b`k`u`x`{`€`‡``Ž`Ž`’`›`¡`§`¹`Ç`É`·`¬`¨`¤`¥`Ÿ`ž`ž`—`Œ`}`q`_`P`K`K`R`Z`V`>`$`_ç_Ê_½_®_ _Ÿ_£_£_£_§_¸_å``)`.`'`&`%`(`0`)`.`$``_ü_ý_ô_ç_Ô_¾_©_•_}_i_W_9_ __,_2_9_=_9_:_:_,__^ð^í^ò^ü^÷^ë^á^Ø^Á^¤^‘^^^ˆ^‚^v^\^?^;^?^<^4^$^^]÷]î]ä]Û]Ñ]Ò]Ú]Û]Ý]ê]î]ê]Þ]Ñ]»]š]„]o]\]Q]H]E]>]B]@]4]3]2]2]1]1]-]+]']#]]]]]] ]]]]] ]]]4]P]`]k]t]p]X]8],]5]7]:]9]?]H]W]\]T]E]7](](]/]3];]J]]]s]Š]œ]©]³]½]Â]Ë]Ð]Ü]ï^^^2^G^U^f^t^^Œ^¡^³^Â^Í^Ï^Ô^Ý^è^ù___(_4_C_W_g_n_d_S_G_>_;_<_;_8_8_F_T_Z_d_c_U_H_5_*_0_3_8_<_<_E_J_N_Y_t_·_ç_ñ_Ý_Í_Ì_Î_Ô_Ì_Ã_¬_ž__~_w_v_}_˜_³_Ã_Æ_È_Ì_Ð_Ø_Ò_¶_¡_˜_—_š_›_£_§_²_¸_Ä_Ï_×_â_Ü_É_¯_š_‚_k_Z_H_;_3_0_._2_;_F_P_]_l_z_|_€_€_‚___ƒ_ƒ_†_€__w_o_h_d_Y_N_D_6_)_!______ _,_3_8_6_0_&__ ^÷^á^Ï^»^¨^—^Ž^‰^€^}^r^a^J^0^ ]ï]Ï]³]—]z]d]K]0]\ó\Ö\½\«\ž\’\‡\u\d\I\0\[ÿ[ë[Ð[»[¤[[y[f[S[@[*[ZÿZìZÚZÇZ³ZŸZ‹ZzZhZVZ>Z#Z Y÷YåYÐYÀY­Y—YYlYRY6Y XëXÄX X€XZX7XWòWÎW­WWjWBWVåV·VƒVKV UÕUžUpU?UTûTÖT¶TTT|T‡T©TíU+UnU¦U×V#VfV¤VÖWW7WgWŽW«WÁWåXXX%X;XVXƒX»XëYYYXèX¿X‰XoX_XeX^X_XxXjXdX„XX\XnXÁX”XgXÚZý_âdodæbmaE`m^ë]Y]^i^í^¥\ÑZÝZ@[/[_[HZÜYŠZ"[l[ñ\\G\·\¹]x]ª]Š^å^è]²\Î\q\?[ú[Ç[¿[È[×[ß[ï[è[Î[Â[Ñ\\T\t\§\Ã\Á\Ã\Ô\Í\µ\µ\Î\ë\õ\ù\þ\ø\Ü\å\õ\ð\æ]]] ].]=]A]L]f]}]™]´]Ñ]Ü]á]÷^^^)^7^D^Q^^^i^}^^•^£^¿^Ô^×^Þ^â^Ý^à^ì^î^û_ _#_=_K_]_n_‘_Ç_é_÷_þ``.`@`U`m`ˆ`¢`¹`Ì`ä`÷aaa0aZaŽa¾aÑaÖaÌaÄaÂa«aa‘a‡aa‰aa|axaaa…a‘a‘aa¢aµaÀaÓaâaìa÷aùbbb(b+b.b,b?bRbTbdbvb„bb„b~bpbyb›b²b¯b¨bŸb¤b§b¥b™b“bŒb‡bub\bVbab|b‹b—b’b™b—b“b‹b‰bŠb‘bb‘bšb b¥b¦b§b¢b§bŸbb•b”bŽbŒbˆbˆbˆb‹bŽb—b£b®b»bÇbÛbçbñbûccc%c2c>c?cCcCcBcEcEcHcFcAc7c)c ccc c"c cbÿbÞb­bhbaàaÁa“ara}ajaAa#a `ë`Ò`º`¥`™`—`¸`Û`ù`ô`ç`ß`äaa1a@a|aºaÓaäañaÿaõaúaÿaøaéaÖa¸a·aîapa—b`a¼aoamaBaCa=a1a$a`Ì`›`u`U`5`_ö_Í_Â_â_é_Ò_°_—_v_R_6__^ù__^á^Â^Ã^Û^ò^ð^ö__^ü^ü_ _"_._9_)^û^ó__2_7_7_g_ˆ_p_=_l_õ`)`_ñ_ë`_ý_ë_ï_ö_ø_ç_¼_…_Q_9_/___^Â^™^w^D^]ý]Þ]Í]§]]e]Y]e]§]ä]§]<]\ø\Á\’\h\C\6\,\ [Û[¿[˜[[[`[s[c[e[—[É\ \[Ï[×[È[«[Í[é\\:\Y\o\–\¼\õ]&]S]©]«]R\à\Ç\ï]]0]D]_]¨^^i^…^s^–^ê_<_^_X_+^ñ^¹^‹^k^N^+^ ^^)^F^K^/^]ó]ã]é]ô]à]¾]]e]0\à\‘\+[Î[p[Z´Z\YüY©YTXëXZWÑWrWVWWVáV»VŒVWVUäU±UŒU^U;U&UTÞT¶TŸT”T¥TÃTúU:UmU§UàVVUV—VÛWWGWnWŽW¨WÆWÝWôXXX@XXXlX XÉXêYYYY XïXÇX¥X†XtXyXnXvXŠXaXvXX^XNX„X¾XiXÜZi]£cPeQcÜb!_ë]Ä[Ð[c[î[:Zr[Y\[Zè[[6ZÆZ=YÙ[+^M_"^]œ]ÿ^Ö^¸^/]q\ç\É\¢\Q\[à[Ä[Ä[Ï[Á[É[¨[ƒ[v[˜[è\)\b\ƒ\ˆ\€\z\\w\l\l\‘\»\»\¯\Ÿ\\Š\”\†\—\­\­\¹\Û\á\ã\þ]!]0]>]X]b]q]Œ]©]µ]µ]Â]Ô]å^^.^=^4^2^:^N^]^m^ƒ^˜^ ^¢^¬^ª^¯^À^×^æ^ô____/_M_j_Š_ª_Ê_Ý_ë```9`S`n`„`š`®`½`Î`çaa-a]a‹a½aÊa®a§aÓaÇa£aªaªa¬a¯aœaauajanagatara~aaa£aµaÑaÙaÚaÕaàaâañaøbbb b8b:bFbIbIbCb=bCbObkbŠbŸb bŸb’b~bjbbbab`bQbBb+bbb&b?bMb_bfbjbhbjbfbabbbcbcbdbibmbsbmbrbnbnbibfbab\bXbTbKbBb>bIbVb]bob€bŽbžb²bÂbÏbÕbäbìbøccccc"cc#c+c0c1c)c#cccc cccbÿbäb¼b†b`_ñ_Å_–_m_J_ ^ú^Ø^·^^^^]¯]K]\ì\Ô\\6[¿[FZ×ZZYÓY>X›WñW,VLUsT‡SžRÉRARRTRâS‰T)T¿UZUýVœWWzWäXIX¥XýYUYÅZJZ®Zê["[Z[‰[Ÿ[¶[Ó[ì\\q\Ú]]\ì\ì] ]D]}]x]S]]\ð\ë] ]:]n]“]¶]Ö]ñ^(^d^‹^­^¥^”^•^“^œ^¤^£^—^}^n^a^`^v^‘^°^Ð^ü__2_:_5_7_9_=_>_D_M_Q_M_A_>_3_7_B_Q_\_h_s_v_ƒ_”_¥_³_À_Ì_Ö_â_ò_þ```&`,`/`/`5`;`@`A`K`S`_`g`i`i`c`]`N`;`5`%`$`+`,`-`#`)``_þ_ë_ä_Û_Î_Ç_Ä_·_¥_“_{_d_U_L_E_G_F_D_M_]_z_Ÿ_¯_°_´_°_·_´_­_°_¨_ _‘__{_|_{_n_^_G_5_%__ ^ó^Ô^À^¹^º^Â^Ê^Ó^Ù^Ö^Í^À^¨^‘^s^c^d^n^k^S^>^8^*^^^^^'^#^]ô]ð]ò]ð]î]é]Þ]Ñ]µ] ]Ž]‚]]w]„]]—]›]’]€]k]T];]] \ø\ô\ò\ñ\ê\Ü\à\ß\Ý\Ú\Ê\Â\Ë\Ó\Õ\Ø\à\å\ç\ä\ç\Þ\×\Ì\Ä\Â\Á\Æ\Ç\Ç\Ë\Ý\ú] ]]#]-]0]\ò\Ü\×\Û\ê\ó]] ]]\ñ\Û\Ñ\Ô\Ö\Ü\å\ñ]]],]A]O]b]y]‡]–]¦]´]É]Û]í]ÿ^ ^^$^6^F^Q^X^`^^^[^U^R^R^Q^N^T^]^n^…^›^³^Æ^Ø^å^æ^ß^Ð^Æ^Å^Ä^È^È^Æ^Â^Á^À^¿^Æ^Ê^Ä^Ã^Ä^Ä^Î^×^ã^ñ^ù^þ^û^÷^ó^ý_"_G_b_q_{_z_|_‡_…_t_Y_C_/_$____&_)_&_%_9_I_N_U_R_N_Q_Y_Z_Y_S_W_X_W_Y_]_m_r_o_d_Z_K_7_$__^ò^ß^Î^»^´^±^­^®^º^Ä^É^Ô^Ý^è^ò^û^ÿ____^ÿ^÷^î^æ^Ù^È^¹^ª^Ÿ^š^ ^«^µ^¸^¹^¶^·^·^µ^°^­^ª^¡^™^Ž^ƒ^t^e^S^@^0^$^^^ ^]î]Ô]¶]›]ƒ]o]]]H]4]] \ð\Ø\Á\§\“\‚\z\j\_\N\;\#\[î[Ù[Ç[±[ [ˆ[q[T[@[%[ZùZáZÇZ±ZžZŠZvZaZNZ5ZZYéYÏY½Y«YšY‹Y}YjYWY@Y0YYXëXÌXªXŽXkXPX-XWöWÜWºW–WrWDWVïVÌV™VhV(UùUÌU¤U‡UjUVU;UTíTÍT¾T»TÒU UKU~UŸUÓVV]VœVÖWWOWzWWµWÑWåWòWüX"XVXbX†X¶XÄXìYYYX÷XÕXœXX‡XXX’X…XX{XgXMXwXpXAXsX¯XßX”Y·\Ø`zbbŸbE_þ]^\¬]Ð[åZ™\!\z[\[q[¹[9[Zõ[X[¦\ñ]ê]G] \ê]']•]i\Ü\‡\\<\[ò[î[ì[ç[Ï[§[’[_[S[G[n[Å\\7\2\0\)\&\(\\\;\m\x\x\v\]\S\\\Y\K\T\[\j\ƒ\ˆ\‹\³\¿\Ä\è] ]!]<]Q]S]W]h]]Ž]š]«]½]Ë]Û]â]í]÷^^^8^B^R^_^\^d^{^^§^Â^Ç^Ö^à^ì^ø___,_L_i_‰_¯_À_Î_è```;`T`d`w``¢`·`Öaa3aZaˆa”a|aaøba´a‘aªa¸aÃaÂaªa†abaZaLaPaTa]agara…aˆa›a¡a¤a a§a­a±a¼aÆaÔaÜaðaúbbaüaôaîbbb;b\bvb†b‚b|bobUbKb?b$baõaâaÙaäaêaøbbb!b-b6b9b5b/b,b(b(b*b6b8b?b=b^1^!^ ]÷]ä]Ù]Ë]¼]­]›]‘]ƒ]]€]Š]”]œ]Ÿ]š]±]º]ª]Ÿ]š]¬]·]®]–]Œ]‚]„]†]ˆ]—^&_ÛaaWaÖaûbblb×bÅb‰bTb:aÓa[aHaTa0`ß`þazafa`È`®`ƒ`@``_÷_ä_ó`_û_û_ü_÷_ç_Ì_¯_”_‹_“_›_Ÿ_Œ_†__“_“_–_”_‘_Œ__l_^_n___Ÿ_¨_²_À_Æ_Æ_º_®_¡_¥_¨_ª_¤_ž_Ž_r_k_b_m_w_y_z_€_‚_†_Š__•_ž_§_¸_Ð_ß_ì```!`.`8`-``1`1`d`aböcgbªcdc.b|bob(b aãa³aøc½düd¢dHcõc¿cc‰cscUccc|cc­c»ctc'ctc†c'bçcycvccýefeÇe‡eüf*ghÚgéfZdäd cÀc¦c’c„c~cwcacUc?c.c"cb÷bábÍb¶bžb„bibQbDb*bbaòaÝaÍa¾a±a§a›aŽara^aSaNaHa@a6a,a,a+a!aa`û`ç`ÓaWapa.`îab3aÖaKaHa"a'a`Ü`Ö`¨`†`e`4` _ç_¾_˜_v_F_"^÷^Ô^°^^i^:]ø]™]5\é\¼\ª\ƒ\$[‘[Z·ZGYÎYFX³XWƒVÖVUgTÌTGSúSÙSùT?T“TûUkUãV^VÜWFWŸWúXVXªXýYLY°Z-ZžZÖZö[5[~[¢[¹[¿[Ç[á\\t\Ë\ã\Ù\Õ\æ]])]\û\Ò\¾\¾\½\Ì\î]]G]k]‘]¶]á^^J^^“^‹^{^z^‡^–^‘^†^v^r^n^j^t^‡^š^¦^¼^Í^á^ê^å^å^é^ö___3_B_O_J_=_*_!_#_'_+_3_<_C_I_X_l__‘__©_·_Æ_×_à_è_ø`` ``````#`)`4`<`C`I`K`G`F`=`1`!`_þ_ì_Ô_¼_Ê_Ó_Ø_Ì_»_¬_¢__•_’_Œ__m_Y_E_1_%____&_5_@_P_a_q_|_z_}_‚__{_t_u_o_f_[_R_P_D_6_$_^ù^å^Û^Ê^±^•^{^n^l^v^^^“^•^^„^n^L^#^^^+^=^1^^ ^]ò]ç]ë]ð]ø]õ]æ]Î]À]¶]®]¤]œ]˜]•]…]r]c]X]T][]f]g]l]e]\]E],] \ò\ß\Ó\Æ\¼\º\¿\¼\±\¬\«\«\£\\—\¢\¶\¾\Â\É\Ë\Ë\Ê\Í\Ä\¸\ª\œ\\Ÿ\¢\¡\¡\¥\´\Ó\á\é\ï\ù]\õ\Ü\À\¸\¾\É\Õ\ß\â\Ø\Æ\º\³\·\¹\À\Æ\Î\à\ð\û]]*]5]C]S]d]|]•]§]Á]â]û^ ^^^^^^^^^^^^"^"^!^^^^"^2^E^Z^i^v^^€^…^^”^˜^™^›^™^–^™^›^ž^«^±^´^º^¸^±^®^­^¯^¸^º^Ç^Ñ^Ó^Ó^Ô^Î^Ù^ï__ _7_?_C_O_N_C_0_&___ _ _ _ _ ^ý^î^ð^ô^þ___%_)_*_'____$_,_)_-_5_;_=_6_+_ __^ñ^Ý^Ê^±^ž^‰^|^t^o^l^j^r^v^~^‡^•^ ^¬^¸^Â^Ê^Ì^Ñ^Ð^Í^Å^¾^¯^ ^^‚^{^y^ƒ^‰^‹^…^|^l^a^Z^U^N^E^?^=^:^8^3^+^!^^ ]ú]ñ]æ]Ý]Ö]É]­]”]y]d]P]=])]]\ö\å\Ñ\¸\Ÿ\Š\{\o\b\Y\I\;\%\ [ò[Ý[É[·[ [Š[r[X[:[ZÿZçZÑZ»ZžZŠZuZ_ZLZ5ZYÿYàYÆY¯Y˜Y†YxYqYeYYYFY4Y$YYXïXÓX¾XžX}X]XEX+XWüWäWÈW£W|WQW)WVâV±V|V?VUìUÏU³U˜UxU[U.UTßTÙTÕTïU UDUtUœU×VVPVVÕWWZWŽWºWÔWßW÷XWñW÷X/XTXkX¢X¿XÇXÛYYYYXËX¼X¨X¡XŒX–XX‚X‚XzXmXBX[X€X|XtXÞY4YY¬Z«[©]´`<`¢```\í[¨]]é\Þ]#]ý]_[ì[Æ]5\â\·]¾]¢]/\µ\¢]S]å](\®\Â\\\$\ \ \\[æ[¢[l[1[[[Q[”[Ï[Ø[Õ[Ì[Ë[Ñ[Ö[å[æ\\'\H\X\A\B\I\:\7\5\\\-\*\C\\\U\a\”\±\É\Ü\ë\ð\þ]] ]+].]<]Q]p]]™]’]“]¨]Á]Ï]å^^^^4^;^S^}^ ^½^º^·^Á^Î^å^ë^ù_ __'_?_a_|_‘_§_Å_ä```8`R`i`„`˜`¿`åaa)aGajasa[a†a¿ašaya|aa£a¹a¦a†aaaAa1a,a5a8aCaHaTaVa]aeanauata}azaa‡aa—a¡a«a©aªa¤a›a˜a¬aÂaâbbb8bMbUbWbVbHb/baãaÅa¼a¹a½aÂaÁaÊaÑaÛaèaôaõaöaïaéaÞaÝaÞaòbbb bbaýaúaõañaïaîaêaðaôaøaÿbbbb%b.b5b@bTbjb|b…bb–bŸb¨bµbÈbÔbÞbåbìbóböbùbúb÷bþcc c cbòbÖb²bb>aôa´aauaSa>a*a`ê`È`¦`‡`q`V`>`6`4`5`+`8`S`b`^`P`m`Š`¸`ña(a\axaˆaŸaÂaÍaÑaÒaÈaÉa´awabanaxalakazajaUa5aaa`ÿ`Ý`§`²`Ö`Ô`Ó`Î`g_ï_·_ˆ_i_X_`_e_w_ƒ__€_h_`_-_ ____"_"______^þ^ý___<_]_K_$_,_8_K_._B_Î` `R`\``"`3_ù_Â_´_¸_¹_”_o_z_V_%_^Ü^Å^°^^e^A^]ö]á]Ð]µ]~]+]r^^]{]\ë\Ü\Æ\»\»\¸\¥\\s\Z\[ç[ë\\\D\b\Y\l\‹\’\t\u\‹\Ž\ª\”\x\¢\É\Ð\Æ\³\ \ˆ\‰\¾]8]`\ý] ][\ì\ \ç]4]m]u]`]o] ]Ï^^^^6^Ž^Î^­^o^5^^^]û]é]×]Ã]Ÿ]‘]…]L])]] ] ]\ò\Ü\µ\~\F\[¬[NZçZŒZ,YÔY~Y/XÔXxXWÇWxWOW3WWVëVÚWWxWèXsYYnY£ZZç[”[p[(ZÜZÒZÚ[[[†\½]"\º\¬]\Þ\¼\[€ZèZ¹ZcZ+YÐY–Y¯Y~XþXÍXŠXWÉW—WWVãV’V‚V=U×U|UT_TfThTzTnTÆU”V4WOXX6Yü]G^.^`2aÓcãdÍ`-Z¨WªW’Y5ZÅZ\Y4XóYTYÃYëZZZfZ—[ß_ `žb¦f4gffdÛdÒd¡d(cÞcôdFd;cðc‚b±a·`øa2a`Ç`¡_œ^Ï^É^×^º^¿^Á^Æ^Ä^Î^È^Ê^´^¨^–^’^‹^^{^u^k^c^_^`^b^g^k^b^U^N^N^J^M^Q^Z^\^c^j^l^p^g^\^Z^^^[^K^B^F^4^.^2^B^K^3^'^"^1^6^:^7^:^<^>^B^H^D^J^I^J^O^L^P^P^[^[^V^P^H^<^0^^]ñ]ã]Ï]Á]±]¥]š]‰]]|]y]u]w]€]…]]¡]Ò^]í]Ç]¶]Á]Û]Þ]š]z]h]S]T]i]\]„_-`Ÿa#aÐaùbbgccb„b[bsaïaaaaïaôaÔb&b abaM`þ`²`º`|`X`N`-`_ß_½_§_ _§_¢_‹_x_j_l_r_o_p_t_c_b_j_p_n_r_p_s_q_k_h_U_V_Z_f_t_…_____Ž_Œ_Š_‰_‡_‡_y_e_X_K_M_K_O_P_W___m_n_n_n_o_r_z_†_™_ _ _³_½_Î_á_ò_ñ_ø_ö```?`Y`´aãbØbúbýc$bªb9baùaáaµa“a{bJcŒcÀcÅd|d”các{c6bßb¢b¸bðcc%bìbëc“ccbÓc bëccùd©dÈdÁeeÙf f¯gÊfóe­dßd"c”cecIcJc=c3c(cc bþbébÚbÁbªbbƒbrbSb>b.bb aúaéaÙaÆa´a¦aaŒa}aeaQaDa_I_E_M_P_Q_O_H_L_B_@_9_5_+__^ï^Ù^Ë^º^§^^u^\^C^4^+^-^2^<^D^I^E^@^3^]î]Æ]¶]Õ^^]þ]ð]Ù]¸]¥]©]­]¼]¹]¤]’]ˆ]z]u]p]k]h]^]P]@]4]*]-]?]C]?]?]/]"]\ã\Â\®\§\\–\Œ\‡\‡\ˆ\‹\‰\„\y\q\u\z\‡\˜\ª\±\²\´\°\¬\ª\¥\—\…\{\z\{\}\}\{\|\\­\³\·\¼\Ã\Ì\Ê\¿\«\¥\©\ª\³\º\·\¦\˜\•\š\ \¦\°\´\¿\Î\Ù\Ý\õ]] ]]*]I]r]“]­]Í]ê^^^^]ñ]è]Û]Î]Æ]Â]Ì]Û]ë]ú]þ]ö]ï]è]ã]ä]ë]÷^^^!^$^'^$^4^N^_^l^v^x^y^z^y^y^‚^^—^—^–^•^‘^“^–^˜^‘^’^’^¤^¦^«^­^®^»^É^Û^í___&_$__^ý^õ^ö^÷^ÿ__^ü^ó^â^Ñ^Ä^Á^Æ^É^æ^ç^Ü^Ô^Â^À^À^Ê^Ú^ä^ð^÷_^þ^ø^ñ^å^Ø^Î^Á^¯^ ^‡^s^_^O^E^:^6^4^6^6^;^B^N^[^f^s^€^Œ^š^¥^©^£^ž^š^Œ^}^k^`^[^\^d^g^d^R^=^(^^]ô]ë]æ]à]ã]ß]ä]é]ë]è]â]Ü]Ñ]É]½]µ]§]“]{]d]N]=](]\î\Ô\Â\¼\¯\¢\Ž\x\k\X\P\E\?\/\ \ [ô[Ü[Æ[°[[‡[l[O[+[ ZòZÛZÅZ­Z’ZwZfZOZ:Z!ZYæYÊY­Y’Y|YhYYYOYIY?Y9Y*YYX÷XæXÞXÈX°XXpXRX8X%XWþWåWÎW®W‰WbW7WVòVÊV•V]V3VUûUàUÉU£U„UQU*UTòTòUU4UYU|UžUÓVVOVŠVÒWW[W—WÍWüXXXWôWìXXPXyX¸XÞXÝXÖXÔXìYXðX¹X¡X•X¢X¨XšX‘X©XšXxX†XmX`XmX±XÑX–XÙYYXöXèYZ‚[˜]€^e]RZ’YoZÀ\\-\9]/^,]=[ï]$^&^%^]í]Ÿ]¢^^#]þ\Ü\¶]5\´\>\ \\1\3[ù[[5[ZìZù[([^[‹[–[–[x[[‰[–[«[­[È[å[ó[î[õ\ \\\[ý[ï[à[Õ[ñ\[ü\\5\?\N\€\¨\Ã\Ò\Ð\É\Î\Ù\ì\ý\þ]]]]5]I]T]s]˜]«]Â]ß]î]ÿ^^0^T^t^‘^«^£^¯^É^ë___'____1_D_]_v_‹_§_È_ç```6`S`k`“`º`àa a"a2aLaUaRa[aVaXaXaia~aa‹ahaDaa aa aa a&a*a2a:aLaQa_aaagalalanamararatalaeaaa`a_adaqa~a“a§a¼aØaöbb baøaÒa»a®a¥a£a¢a¥a¢a£aŸa¨a®a¹a»a»a¶aºa³a³a·a·aÄaÑaØa×aÔaÌaÊaÆa¿a»aÂaÈaÐaÔa×aÙaÞaãaêaöaþbb b b1b6b7b;bFbZbqbb™b¬b¸bÄbËbÖbÝbãbìbñbúccbþbòbÞbÄbžbjb&aÜa¢a}ahaEa/a`ù`Ú`¼`—``n`U`:``_õ_ì` `4`G`*` `-`b`§`÷a,aTata”a±aÒaïaùaàaÅa¹a¸a´a™aƒaraua}atajaSa/aaaa`Ü`«`­`ª`‘`Š``Q_û_È_ª__}_t_c_l_x_‚_g_?_8_!^ú_ __+_._'_"_______^í^ü__;_C_/_Z_°_Ó_l_ƒ` `=`_`._ô``$_è_²_¼_Ú_Ö_§__Ê_“_8_ ^ç^É^¬^w^@^"]û]Ê]¬]¨]–]Q]5]]Ü]€\ý\Í\Æ\Á\Ö\Ë\¼\ \‚\n\f\=[ü[Ü\<\^\a\Š\Ù\Ó\Œ\\ \Ÿ\ \¼\Ä\Æ\¯\¦\Ç\Ù\Ö\×\µ\›\Œ\y\›\ñ]\×\ò]#\è\¨\Ñ]]?]<]+]5]Q]v]¨]Ò]ù]ð^^c^5]ñ]À]™]n][]W]Z]g]r]b]H]&\ø\Ò\¯\“\\¢\‡\g\@\[Ó[[7ZËZiZ!YÒY…Y+XÞXyX*WÜW£W`W;WWVõVßVáW!W«X XXX´YYZ Z¬[y[[Z·Z§Z¸Zû[$[Ö]r]d\-[·\[Æ[e[QZÏZœZˆZSZ,Y¢YBY8YXÁX´XsWüWWfWV¹V›VsUóUfU6U%TÙTªTwTASúS¡SjSeSjSCSSSS¾TTdT±TêTùU>UTÂT‚T›TÆU6UãWoXWÅX2Z,]Ó``a a@a‚ceKb[ëWùW¶XLZ¾\Y¿X·YBZ ZAZZZ;Z>Zi[D]}`8cÜf”f(feÕf-f£f‰eæedbŸbb#ba2_´_0_V_E_^½^°^Ë^»^ß^ñ^æ^Ö^Ã^´^¦^¡^•^‘^‚^t^l^i^c^`^_^V^L^P^N^M^D^;^8^3^0^4^7^7^<^C^J^R^T^U^T^N^H^N^N^K^D^;^+^"^)^0^1^^^^^^"^!^ ^^#^!^*^-^+^/^1^:^C^I^H^E^E^C^>^8^%^^]ô]Ú]Å]µ]¨]™]]†]ƒ]v]s]m]q]n]m]w]‡]¹]í^ ]ä]µ]©]°]Ï]æ]ª]Œ]v]N])]<]1];^å`uaa¾aßb"b˜ccb€bQbŒbaÒbZb­b¤btbWb(aþaÇa`°`É`•`o`X`4` _Ó_š__g_c_]_F_9_8_G_F_5_2_=_F_L_G_P_P_K_R_X_V_a_o_W_K_J_X_`_h_j_s_z_z_w_l_d_]___Y_P_?_2_2_0_-_8_>_C_F_K_G_L_P_Y_`_n_u_t_w_z_‡_”_ª_®_Ä_É_È_Æ_Ø_÷``(`ia(b›c¥cbXbbaãaÕa¼a‘a˜araWa‚aaœbcecbœbhb[bCbUb™b­bÂb¨b¤bëbábàbébåbÑbëc?cwcŠc de=fKfœf´fe'd²dccc.cccbúbìbßbÑbÀb¯b¡b‘bbmbUbAb(bbaõaêa×aÍa·a¥a™a‰a~ama\aEa[ZýZÝZÄZ­Z–Z„ZkZYZBZ&ZYïYÓY³Y“YuYaYMY;Y/Y+Y,Y)Y$YYXéXÞXÒXÆX¸X¢X…XfXKX4X#XWÿWëWÔW´W‘WlWBW$VþVÙVªVtVUV;V'VUòUÀU•U`U8U$UU&U@UXUyU–U½UâV VHV‚VÓWWcW¤WäXXHX^X2WïWÓWúX2XyXÂXÜXÛXÌXÈXíYYXÛX©X§XžX¥X¥X©XªXºXµX~X{X“X–X‡XÂXôXäXõY-Y`YQX÷XŽXËZZí[ì[~Y“XrX5XºXžY.\9]{[þ\Ü^®^¨]™]£]Ú^0^©^]‚\ó]*]j\æ\;\\a\{\R[ï[u[ZÞZÐZÞZï[[-[;[H[E[H[:[L[`[n[x[š[©[Ÿ[¬[©[·[À[À[Ä[¯[ [[¯[¶[È[ã[×[ì\ \9\G\^\n\p\p\{\€\‰\Ž\\±\Ä\Ï\Ï\ç]].]A]f]‡]˜]¸]Ò]ð^ ^%^M^k^“^œ^ª^Ä^â^ü^ú^÷^ò^î____+_>_W_r__¯_Ì_è` `,`R`n`‡`°`Üaaaaa&avaKa#a1a6aRa_abaAa`ì`×`Ò`Ü`ç`í`ø`ÿaaa6aDaQa]aaaoaravakafabaYaQaJaEa>aAaCaNaUaZa^anavaˆa–a¢a¥a¤aža–a•a‰a‰a‰aŠaˆaŠaƒa„a‚aˆa‰aaa™a aaœa—a“a—a©a¯a­a©a«a¤a¤a§a­a±a³a¶a»a¹a¿aÈaÆaÉaÊaÍaÉaÎaÚaçaùbbbb:bUbjb„b’b™b¨bºbËbÛbÝbébòbôbõbíbàbÌb²bb]baÑaawaca8aa`ó`Ö`·`“`v`[`:`!`_å_Ä_Å_ô``_ô_ç_û`.`Œ`òa5aia’a­aºaÔaûbaëaÐaÊaÏaÎa²aŽasavavasadaJa7a'a+a-a&a`»`š``a`_`Z`5` _Ý_½_©_©_’_^_f_Š_‡_R_7_&_ ^ì^ú__<_H_G_?_'__ _____^ÿ^ú__9_!_I_®_ü_´_š_Ð`K`‘` _ß_ë_Ù_Ã_¯_½_¶_¶_Î_Ô_¿_}_@_^í^Ì^^`^4^]á]«]Š]Ž]„]7]h]Þ]b\Ú\¾\¼\½\Æ\Ù\Ä\¦\\j\S\H\4\\&\Ÿ\¢\Ÿ\£\Á\»\Š\Ž\·\Ì\Ò\í\ä\Í\Ï\Î\Õ\Ó\×\ü\ê\î\ä\—\³\÷\ï\Ô\×\ë\ñ\Î\Ù]]]]]/]:]J]h]ž]ò]Ù]Ã^]ä]«]]U];]3]] ] ]],] \Ý\°\t\<\\\ [ë[Ç[¤[u[<[Z¯ZMYõY·Y‚YVY XÊXsX.WåW­WoWXYý[ý^Š_á`:`àbOdbë\dX;XXYY[µZ]YTYßZhZ†ZŽZvZxZY[]Da dÖed›e:e’f e¥dSc‚b·aª`š`t``_w^ß^§^¶^²^À^Á^Ê^Á^Å^Æ^¬^¯^«^§^œ^œ^•^^}^u^m^g^c^\^\^O^I^E^F^C^@^5^.^%^#^^^^'^)^3^:^>^D^H^F^D^=^@^?^>^A^7^,^^^^ ^^ ]ý^^^^^^^ ^^ ^^^^%^+^2^5^;^:^7^4^)^"^]þ]å]Ï]¿]®]›]]]|]r]u]o]s]d]]]U]e]‰]Ÿ]Ø^^]¼]”]‰]¡]Ô]ý]ë]´]c]A]#]!]\ý]Ó_(`Ía˜a{bPbåbÌb¬bQb[b©b3b3bÜbábåbðbpbsc b5a `ò`É`›`€`S`:` _Ï_ž_x_X_8_$___&_._"_____ _"_)_._+_4_<_C_H_A_'____#_0_;_E_I_J_J_G_K_E_D_6_-_#_______!_+_7_:_:_3_9_?_B_F_J_U_^_n_v_ƒ_‰_œ_ _¤_ª_¾_Ð_è` `>`µbDcÖcbbÕb5aöaåa¥a™aasaauafaeaaaˆaÛbaùbb bb bdb¦bœb©bÈbÇbÜccbçbõcccTcÐcÏcÓd€e¡e¡e}fe“d cäcMbõbåbÏbÍbÀb­b¦b“bˆb~bib^bNb9b-bbaòaçaÜaÊa»a­a˜a‡asafa\aOa?a+a!aaaa`ï`ä`Ù`Ö`Ó`Ç`Å`®`¢`†`‹`™`n`x`Þa`Ò`€`˜`»`Õ``²`Û`éar`æ`‰a`„_Ë_˜_Y_%^ì^»^^Z^.]ý]×]§]t]=\ñ\£\V\[ß[¯[€[6ZÙZ`YâYqXþX“XLXW°WdW VíVÇV©V•VV·VÙW W:WqW¬WôX7XiX“XÉYYbY¹ZZkZ™Z™ZÍ[9[“[È[ô\ \\\'\:\K\b\z\£\Ý\É\©\¼\½\µ\˜\š\µ\Æ\Ø\ß\ã\ê\ö]]]>]d]„]§]¿]Á]Ë]ç]ÿ^^:^`^~^”^˜^Œ^~^o^X^C^*^^^^^^^+^K^a^t^z^‹^¥^»^È^À^°^£^¢^«^¹^Ã^Ð^æ^ú_ _ _._7_D_Q_Z_g_q_x_~_…_Š_____Œ_Ž_”__£_ª_¯_´_¸_»_»_¹_¯_¢__|_e_N_8_'____^ù___^þ^ö^å^Ö^Í^Â^Ä^Ì^Ô^Ú^ä^ð^ü^þ__ _ ____^û^õ^ò^ò^â^Ò^¿^¬^˜^^m^R^9^^]ñ]Ý]Î]¾]´]¯]¬]¬]¯]²]º]Á]À]±]¡]˜]Œ]Œ]‰]‡]„]~]r]i]a]Z]U]F]/]]]]]]] ]\÷\ò\ô]]\ÿ\í\Ø\Ç\§\‰\m\W\Q\F\=\6\,\%\!\\!\$\)\/\<\H\W\d\n\w\}\}\p\a\W\S\R\K\:\/\/\0\+\%\#\-\E\Z\f\l\r\z\}\„\|\p\c\Q\H\[\]\X\X\X\e\r\|\\\\Ÿ\³\É\Õ\æ\ð]]](]F]n]“]´]Ð]ë]õ]ô]ð]Ø]¬]y]I]-].]E]e]]—]¤]ª]¥]¡]œ]š]“]]Œ]‘]“]˜]Ÿ] ]¢]¬]Ã]ä]ù^^ ^^^^!^.^9^D^N^G^H^I^I^E^L^G^E^?^3^9^F^V^g^s^†^^±^Ç^Õ^Ü^à^Ù^Ê^»^¬^©^®^½^Ë^Ó^Ö^Ô^Å^³^–^^s^n^f^Y^T^P^O^J^J^O^Y^k^t^€^‚^†^‡^€^v^g^\^M^J^I^F^5^)^^ ^^]û]ñ]ï]ë]ï]ò]õ]û]þ^^^&^8^D^G^B^8^,^^^^^^^]ð]×]À]¬]ž]Ž]~]r]i]`]Z]\]e]x]†]]Ž]‰]€]w]p]i]]]F]+]]\ò\Õ\Á\»\©\„\c\Q\F\8\&\\ \[ÿ[þ[ö[é[Ó[»[›[[e[J[,[ZîZÎZ®Z™ZˆZsZ^ZFZ2ZYþYÞYÀY˜YnY]YHY5Y'YYYYYYYXïXÚXËXÀX·XªX”XXiXNX9X'XXWêWÑW¶W˜WzWTW,W VâV¼V“VwVeVUV?VUèU±U†UgUSUWU[UfUUšU®UÎUòV VRVVÙW$WnW²WïXXUXnXPXWâWóX.XŽXØXðXðXÕX¿XÇXéXôX½XX…X™X²X¬XÁXÐX³X¦X˜X˜X‚X¥X§XŠX¤XÏXðXèXÍXÅXÛXÌX–X‰XÌZU\M\+Z XóY6WÙWcYDYíXßYÍ[§\±\­]F^Z^»^ž^ ]“]:]€]\Ø\|\$\{\w\0[Ê[VZûZÄZ§Z¶ZÇZÏZÐZæZçZõ[[ZùZñ[[[-[;[L[b[v[—[”[—[“[r[r[u[x[[‘[‡[ª[Æ[¸[Ï\ \'\1\;\3\3\G\b\i\_\O\T\n\Ž\£\À\î]]6]g]e]n]‘]´]è^^^>^i^^Ž^¢^½^Ï^ß^í^ó^ß^á^ë^÷___-_C_^_v_•_¯_Ú``3`U`l`†`°`Ü`é`æ`Ò`æakaB`ûa aa$a)a+a`å`»`£`£`©`¹`Ã`Ó`á`øaa"a;aJa]aeakahaea]aTaKa@a9a-a-a(a-a/a3a.a2a+a.a5a;aIaYahaeakafagaba`a\agamaqanalajaiahaiaoata‚a‡aˆa„a|avaaa‘aaŽa‹a‰aŒaa–aa aŸaŸaža¡a˜aa‰a†a€aya†aža¿a×aèaøb b+bBbWbjb{b‘b§b´bÆbÎb×bÝbÞbÜbÓbÉb¹b¢b†bVbaÍa—awaZa0aa`ý`Ù`·`‘`f`A`#` _à_½_ª_°_Í_æ_Ý_Â_Ð_ß``T`Ëa*ala™aªa®aËaòaøaãaÂaÁaãaýbaÜa“ayapakaZa_aia\aoala=`ø`§`v`[`@`8`:`*`_î_Õ_¸_Æ_Á__{_‹_u_^ð^ð___5_O_h_n_e_L_0______!_-_#____ _5_u_Ï_Ý__h_÷`E_º_¾_Ø_Ã_Î_Ò_Ù_³_Ã`_ü_¶_u_K_^ë^º^^I^"^]Þ]³]–]”]|]6]|]Á]\¢\²\§\±\Ï\¾\£\\i\t\[\S\l\}\˜\¯\¬\º\Ö\ú]\Ø\Î\â\ï\ó]] \ä\ü\ù\ï\å\Ò\ñ] ]J]O\ä\ò]\å\ß\ü\ú\ã\Ò\ý]-]-]] ]2] ]]3]`]¤] ]ƒ]¡]”]o]V].]]0]"]\Û\ß\õ\Ï\¡\q\+[ì[Ì[º[£[x[Q[)[ZÙZ«ZaZYÞY«YyYRYXÛXXAWíW®WsW@W WW WWW7WžW×WäWìX@Y YäZCZ™ZÁZžZaZJZ;Z†[\1]í]Ž\ [ZHZ&Z@ZYñY»YXYYXÔXŸXˆXzXGXWëW¾W¢WfW V¾V—V´V•VUUTåT‚T@T_T{T–T¹TêTÐT„TVTPT9TTKT©U!UUºUÜVjVtUTæU UßUßX‡\iZXhZ ]K_[^Æ_Âb cCd}b#\ÍXÅXvXXRY:Za\\S[rZæZÐZÈZ³Z[Zí]`…d d2cžcrcVcycbpbŸañ`Œ_ _{_h^å^¢^¦^Á^¶^²^³^­^¸^º^Á^½^È^Ä^§^ ^Š^†^w^z^o^h^]^Z^V^M^G^?^A^=^=^:^1^^^ ^^ ^^^^^%^,^3^4^:^:^;^9^4^9^0^(^&^(^"^^^^^]ÿ]ò]ñ]ô]ï]ï]ñ]ñ]ö]ù]ù]ÿ^^^^,^2^.^)^!^^^]ï]Ü]Í]»]¦]˜]…]z]k]j]i]l]j]e]X]T]K]_]x]—]Ë]ù]è]´]˜]]¦]ò^%^]â]‡]P]$]\ü\ù\æ]` a;aˆccbŠb©bb¯cb«bÀc'cc0cicb¢baÞaPa``d`T`+`_é_¿__Y_<_^÷^è^ó^ÿ_^ù^ë^ë^ñ^ü____(_%_!_"_$___ ^ý^þ^û^û___&_2_6_7_+_"______^ü____ ______$_'_._*_,_4_>_F_P_S_`_p__ˆ_‘_‘_¡_®_Â_Õ_õ`+a—c¥czckbŠaÔaÈaŠataeaYa\araŠaÉaîaÞaéaîaÕaçaðañaób4b£b†b–bóbåbÔcc bÓbãcccMc¥c²c«cÙdddbef dÇcÙcSbÖb­b¬bœb‡b~bib_bSb=b5b&bb baíaåaÔaÌa¾a®aœa†auaeaVaIa9a3a&aa aa`ð`á`Ë`Ä`»`µ`©`¡`•``o`G`C`W`Œ`Ú`ïa`±`w`¹``{``=`K`ÄaF`„```1_¹_’_L_^Û^¦^u^F^]ß]±]]S]\×\’\K\[Æ[’[\[1ZòZŠZY­YCXÚXXGX WÑW¡WwWUW6W%W"W.WMWsWWÃWòX7XqX”X±XÔYYjYµZZeZ˜ZšZ¾[![t[Ÿ[Û\\,\.\,\.\2\9\X\’\Î\È\ÿ]n]\©\Š\‚\Ž\¥\Ô\ê\ô\ð\ô\ö\ÿ]]]<]D]H]R]Z]v]Ÿ]Ï]ü^2^f^~^ƒ^u^h^`^I^4^'^!^^!^#^'^/^9^A^A^I^G^R^c^p^z^}^p^h^r^^‹^”^©^·^Ï^ä^ô__ __%_._7_E_P_Q_W_[_]_\_Y_X_S_R_W_Z_c_k_o_w_}_‚_‚___u_f_U_@_*__^ø^ê^Ý^Ò^Î^á^å^Þ^Ù^Ø^Ó^Ë^À^¹^´^³^º^»^Â^È^Ú^ß^â^æ^è^è^ê^å^à^Þ^Ø^Õ^È^»^¨^—^ˆ^t^`^D^(^ ]ï]Ø]Á]­]š]Œ]†]ƒ]]}]|]~]‚]…]…]{]j]f]Z]R]Q]N]Q]T]I]=]2]+]"]]\þ\ø\ñ\ô\ù\÷\ó\ë\â\Ý\Þ\è\ç\Û\Å\©\Ž\t\[\>\%\\\ \ \\[õ[ë[ô[ü\\\!\2\@\M\Y\^\f\_\S\@\,\'\'\!\\\[ý[ü[ú[ú\\ \9\D\K\M\P\M\P\C\7\,\\\!\\#\'\.\A\O\_\a\d\k\x\”\¯\Í\ì]]]2]I]b]†]]¹]Ñ]ä]Þ]Í]¹]Ÿ]u]>]\ü\þ] ]*]J]d]u]}]y]x]r]m]d]b]Y]X]]]`]c]k]o]z]‹] ]«]°]¹]Æ]Ò]Ý]ë]÷^^^^^^ ^^ ^^^^^^ ^^!^3^Q^m^^^±^Ã^Ç^Á^¹^¬^Ÿ^^Š^‡^Ž^^¥^©^¨^ ^^z^i^W^L^@^>^:^8^:^6^5^8^>^H^Q^Z^Z^Z^W^W^S^H^B^6^1^*^$^^^]þ]û]ú]ô]ì]ã]Û]Û]Ý]Ý]Û]Ù]Ý]á]ë]û^^^]ø]ð]ê]ë]ð]õ]î]á]Æ]®]˜]ˆ]]r]h]Y]K]<]1]']+]4]D]N]T]W]S]O]J]J]J]:]!]\ê\Ñ\¿\£\Œ\˜\ˆ\d\B\-\'\\[ì[Þ[Ú[Ú[Ù[Ô[Ç[³[›[}[^[>["ZÿZâZÂZ§Z‹ZrZ\ZGZ-ZYþYàYÄYœYˆY[Y*Y3Y2YYYYXÿY YY YXèXÕXÂX°X¤XšXXzXiXTXCX/XXWòWÜWÄW¦WW^W5WVîVÊV«V™VV‚VhV3VUÄU›UŒU‹U–UUžU¥U¸UÏUêV V@VyV·VñW4W{WÉWûXX:XGXBX.XWíX X†XÓXâXáXÌX¹X¾XìXóXÎX•X‚XX©X²X§XÁXÇX«XXžX³XŒX†X²X XœX·XñYXÚX™XXˆXXqX›Y1ZkZÒZwYùXÕXAWÙW"VW"WÔY[ý\ç]g]ª]€]ü^!]O]>\~\'\.[ý\2\"[æ[[8ZõZÁZ£Z Z˜Z‡ZZZ ZÃZÍZÑZ·Z¹ZÁZÈZáZí[ [,[U[g[~[‡[‚[˜[ˆ[[[W[O[N[d[j[[[|[­[Ë[à[é[à[ã\\4\-\$\$\.\>\:\K\l\‹\¤\È\â]]]?][]o]¡]Ü]ó^ ^"^-^@^O^p^‘^¼^Â^¼^­^®^À^Í^Õ^è___:_P_m_ˆ_®_Ü``'`A`S`†`¡` `˜`†`ª`È`¿`¼`Ä`Ç`Ù`á`à`Ð`Ÿ`z`m`s`y`†`–`«`È`Û`öaa0aBaQa[aXaRaIaFa;a3a(a'a aaaaaaa`ü`ð`ó`üaaa0a4a=a=aDaEaJaDaLaSaWa\a]aXaRaUaKaKaPaUa^aiagada`a^adahaaaZaVaUa\ahaza†aa–a›aša—aa€awaoaoamaza‰a¢a½aËaÛañbb"b3bEb]bkb‚b•b£b°b·b½bÀb¾b»b¯b¥b‘bwbLbaÎa•auaMa-a)a&a `ã`º`”`d`5`_ÿ_Ñ_¨_•_‘_“_§_¾_´_À_Ú_ü`4`”`óaEa~a˜aªaÊaåaáaÌa¥a³aåb b+baÉaŸa}ajaka‡aža‘aˆaxaLa`³`g`<`;`:`9`-`_ÿ_è_À_»_Î_¾_›_„_d^ý^Ö^ó_5_u_‹_Ž_’_Š_t_W_<_&_ ^ÿ_ __#_/_8_B_J_A__0_M_©`_­_=_š_Ù_£_º_è` ```_Ý_Þ`_ô_Æ_“_S_^Û^¨^w^B^]þ]à]¹]¬]¨]…][]u]M\½\Œ\\–\®\¿\•\ž\Ò\¹\Í\Ð\Ç\Ñ\Á\³\§\Å\î]]']E]<]%]"]!] ]']"]]!]]]\á\ø]/]K]2\ù]]&]]*]1]+]=]A]Z]‚]Y](]]7] \ù\þ] ]%]0].]C]G]=]+\ù\Æ\Å\»\«\›\›\£\‹\m\9[ÿ[Ò[¶[•[j[;[ZïZÑZ³ZˆZCZYäY­Y}YTY,XòX¸XmXWÀWŠWaWCW2W,W%WWSWªWïWûW²WÁX®YÁZ ZZZvYüZ Zo[[h\'^S^©\Å[sZVY—YYYJYpY8XêX¥X`X@X6XX'XWÅW§W•W–WoWVÕV¡VVTVUhTÀT¦TìU^8^0^.^%^'^1^9^E^M^Z^U^U^a^v^t^l^€^^¢^¶^Ë^Ù^ç^ó^þ_ ___%_+_0_3_2_5_._+_(_!_"_%_)_._6_?_C_H_M_O_L_E_7_)__^ó^å^×^É^¹^²^¨^¤^ž^›^¡^«^±^¯^«^§^¥^¢^ ^š^Ÿ^Ÿ^£^¨^²^¹^Å^Ì^Ð^Ë^Æ^È^Ä^¼^©^’^{^k^Y^J^4^^]ß]Å]«]’]z]c]X]R]W]\]a]\]S]J]D]A]9].]$]]]]] ]]]\þ\ù\ò\ñ\ï\è\à\Ú\Þ\ß\á\Ý\Õ\Ç\·\¿\È\É\½\¢\\c\M\9\%\ [ù[ð[ë[æ[Þ[Ó[Ë[É[Ñ[Ú[å[ô\ \\-\C\W\Y\V\F\7\ \ [ý[ú[÷[é[Û[Ð[Ï[Î[Ï[Ô[ß[÷\\#\&\!\\\ [ú[ó[ê[ä[ó[ö[ó[û\\\\-\8\7\7\9\O\m\‘\¸\Þ] ]2]U]u]Œ]¦]µ]Ã]Ó]ë]è]Ç]“]e]6]\ë\Ø\Ô\Ü\ò]]5]H]P]P]M]E]?]7],]"]!]#],]0]9]@]K]Y]c]d]e]k]v]‡]”]¦]º]Ï]Ü]à]Ø]Ê]Ä]Â]Ã]Ç]Î]Ú]å]ï]í]ë]ó^^^9^Z^v^^¨^¨^ ^š^^^s^f^_^a^i^n^p^j^c^Z^I^8^-^%^^^^^^^^^^^&^)^,^/^1^1^.^,^#^^^ ^]ø]í]å]ê]ð]õ]ï]î]ä]Þ]×]Õ]Ñ]É]Â]¿]¾]À]Æ]Æ]Ã]½]·]¶]»]Æ]Í]Ë]»]¦]†]n]\]P]G]7].] ]]\ÿ\ó\ó\ÿ]]]%]$]#]!]%]*])]\ý\ã\Æ\°\™\‡\o\x\s\V\5\ \\ [ê[Ð[·[«[¬[ª[¨[[‘[}[`[>[ZÿZáZÃZ¥ZŠZlZVZ9ZYÿYßY»YžYYwYmY]YIYLYAY%YYYXÿYYXÿXøXåXÏX¹X©XœXX‰XzXmX^XPXAX4X#XX WëWÁW•WrWLWV÷VÙVÄV»V¶V¦V„VSVUóUØUËUÒUÉUÇUËUÒUâUíVV2ViV©VëWWZW‹WÈXX7XJXQXAX4X)XX6X‚XåXüXéXÏX½X°XÕXéXÎXX‚X¤X«X½X¼X¹X±X¤X›X—X·X®X›XšX•X¡X•X—XX’X’X‡X~X…XXIX.XBX9WêW£WöX¢W÷WVNVJVšXc[ù]"]D^^=^n^g],\‹\"[Û[Ì[Ê[â[Õ[ [@[ Z×ZZŒZœZ”Z}ZrZtZZ‹ZŸZ¯Z˜Z“ZvZŠZ™Z­ZÈZÞ[[7[_[g[q[€[~[a[D[0[.[%[ [:[>[;[…[Â[Ä[Ñ[å[õ[ý[÷[÷[ê[Ó[Ý[ö\\ \=\c\\¥\¿\Û]]"]J]c]‘]¸]É]Û]ã]ù^^7^b^“^Œ^z^{^~^ˆ^œ^°^Â^Ü^ø__-_I_o_˜_²_Ú_õ``0```s`h`M`L`«`u`^``u``Š`ª`•`s`P`7`8`>`N`\`v`Œ`°`Í`èaaa.a7a?a:a7a2a0a'a(a!aaaaaaa `ý`æ`Õ`Å`Â`Å`Þ`ï`ÿaaaa%a&a*a,a3a9a;aCaGaCa=a@a:a3a.a1a1a9aAaGaGaEaGa?a;a=aAaJa[ama€aˆa“a a¤a©a¥a£a™aa~auarata|a‰a–a§a¶aÊaàaób bb/bCbTbfbwbƒb‘b˜bžbšbšb“bŽb€bhbGb aÊaŽajaIa7a6a)a`ð`Â`–`c`8``_Þ_º_š_Š_t_g_”_¶_Ð_ê``-`X`˜`úa>aua¡a¹aÑaËa°a~aaÓbbIb:baÃaŒapapa‡a a©a™asa>`ù`¶`j`>`>`?`=`)``_ö_Õ_µ_­_¦_–_„_n_-__,_v_§_µ_¸_¹_°_›_ˆ_e_>_ _______<_`_l_[_0__H_Í_§_'_|_Å_Ü_û``M`1`0`A_î_Û_ù_ê_´_g_&^ú^Ö^¯^ˆ^P^'^]å]Ì]Ï]Æ]®]]_\Ô\t\m\y\›\´\¾\º\î]T]L]9]4]\ê\¼\ ]]&]N]o]Œ]®] ]m]T]U]8]C]@]]9]8]]\ÿ](]X]M];]%] ](]2]B]L]]]§]½]™]¦]†]^]D]D]8]\ô\ó\í\é\ô]](])]\ß\–\r\v\z\\}\u\Z\<\\ [í[É[[][5[ZóZÎZ§ZyZAZYëY±Y„Y[Y6Y XáX¬X_X WÐWœWWkWZWLWOWtW™WÉW¸WhWdX XåYŒYûZ1ZYžYÛZ•[)Zñ\`=_ë\»[\ZQY[Y XóXáXŸX‚XXX WðWÑW¢W™W˜W—WŠWWzWEWWV¹VMU·U0TØUU‚UªUuUHUCUVUtU¦UµU¶UˆULU/UHUVUPUzUžU´VVVVÁWVÊVéW.XûZœ\Y_šc¦hÛdK^ü^_ûaÅd/`M]-Z X·XˆYXY'Yß]˜]}\‘\[µ[±[¥[®[Ø]_Ÿb²b`ž_ä_ª_6^·^Ž^q^K^t^º^Æ^º^©^˜^•^–^š^•^˜^¤^›^Ÿ^š^^”^”^‡^v^q^c^\^Z^V^S^K^E^=^;^2^/^1^:^>^1^'^^^]ÿ]ÿ^^^^ ^(^,^-^3^9^?^>^>^<^4^.^&^^^^^^]û]ð]ß]Ò]Ï]Ì]Ì]Ò]Ë]Ï]Ð]Ô]Ù]ß]é]ó]ÿ^^^]ú]ø]í]Ù]Å]­]¤]™]Ž]{]i][]M]H]J]O]T]R]Z]c]N]9]2]1]Z]‘]¼]­]£]¦]»]º]Å]ò^^]×]|]#]\Ñ\Õ\È]^¡`Xbec­cqcpc9bíbàcHcicŒc½c²cÚcÙchb€aÐa?`°`W`_¦__²_²_˜_`_@_%^þ^Ò^¨^–^’^œ^¸^Ä^½^Ç^Î^×^Ò^Ñ^Û^ó^ó^æ^Õ^Í^Ë^Ä^¹^¬^¤^¡^©^·^Ê^Õ^à^ç^ê^æ^á^×^×^Ó^Ð^Ì^Ä^Ã^Æ^Ë^Í^ß^å__`_^õ_^þ_^ü___ ____%_7_I_X_e_n_y_…__™_Í_Ê_æaKb>cÄcÊb*aV`õ`Û`À`Åaaa|aaÉaÒbµbtaÆaÅaÈaÍaÎaÔaÑaÞbb.bWb˜b¬bÝbîb¦b˜bÇccFcRc`cc‚cÉesf dÊdadncÃcbŒbabUbAb3bb aôaæaÕaÂaºa´aªa¦aœa•aa‡axahaWaLa;a1a"aa`î`â`Ò`Æ`À`²`›`†``x`r`g`M`6`_ú_Ø_À__`_XaEcŽb `ž`;`*_ê_É_Ð_Ï_³_Á`"`]`=_Û_§_’_U_*^ê^¦^u^H^]ì]¶]~]K] \ï\´\x\?\[Â[…[R[ZæZ°ZnZYÅYlY)XòX»XŠXbXAX&XWùWöX XX4XOXmX˜X²XËXÛXêYY3YuYÁZ Z^Z§ZÊZÜZý[?[|[Ã\\A\K\7\6\H\\\o\’\»\›\^\l\†\‹\\\\ž\Î\î\ÿ] ]]&]\ÿ\è\ß\Ì\Í\Þ\ë]])]L]‰]Å^^^^^^-^C^R^R^K^O^Q^L^?^+^^^]ó]ó]ô]û^^ ^ ^6^J^V^]^T^Q^U^Y^j^ƒ^^²^Ç^Ó^ß^æ^ò^þ^ÿ__ ______^ú^õ^ö^ù^þ_________ _^ô^ã^Ó^Æ^¸^«^ž^“^†^z^m^h^i^n^q^p^x^z^^|^s^m^f^b^a^]^b^l^^’^¡^¥^£^¢^^•^‰^n^V^@^+^^ ]õ]Ø]¸]¢]ˆ]m]R]@]3]-]8]:]A]7] ] ]]\ý\÷\ï\ä\Ø\Ì\Æ\Â\½\È\Ñ\Ù\Ý\Ý\Û\Ö\Ô\Í\È\Ë\Î\Ë\Æ\¾\®\\¥\°\®\Ÿ\~\_\C\*\\[î[Ü[Î[Ç[º[¬[¡[›[¤[³[Â[Ï[Û[í\\ \7\B\=\8\%\ [ï[Þ[Õ[Ó[Í[À[²[¥[¤[¥[­[±[´[Ä[â[ð[ô[ì[â[Ò[Ç[»[´[®[®[Ì[ã[ã[è[÷\\\\ \\\\\@\m\\È\ó])]T]r]‘]¬]¼]Ê]ß]õ]ï]É]€]1\ù\×\Ä\·\«\±\Î\ì] ]]&]%]]] \ý\õ\î\î\î\ø]] ]]]$](]$]] ]'];]S]i]~]]] ]•]‹]‰]]{]}]}]Š]š]¬]¼]Ä]Ê]Ù]å]û^^0^H^Z^c^l^p^n^a^R^B^7^-^,^.^/^-^$^^ ]þ]ó]í]æ]á]Ú]Ý]Ú]Þ]Ü]Ý]à]å]ï]ö]ü^^^^^]ù]õ]é]ä]Ú]Ï]É]Ë]Õ]Ø]Û]Ý]ä]ß]Û]Ï]Ì]À]º]²]¨]¡]›]™]]ˆ]ƒ]]†]]š] ] ]‹]g]J]2]] \ÿ\ó\í\é\ã\Ð\Å\¿\Ç\Ô\á\ó]] ]]]]]\ô\ß\Ê\¯\•\x\q\k\i\`\P\B\7\,\[ë[Ä[ [Œ[‡[[y[r[h[X[@[$[ZèZÊZ«ZZtZTZ7ZYîYÉY¢YYwYxYwYrYnYfYVYHY7Y#YYYYYYXûXêXÑX·X¡X–X‘XŽXˆX€XyXnXdXjXtXbXLXW×W¥WyWaW1WVãVÜVÛVÒVÀV˜VoVAVVUñU÷UøUûUúVVVV.VZV˜VÞW*WYW|W£WÏXXBXbXnX\XMXBX6X?X|XÛYX÷XàXÑXÅXÞXõXîXÄX®XÏXìX×X¹XµX¨XˆXŒX²X¾X±X²X XX…X“X©X™XˆXyXŒX}XdX`XjXRX W¿WƒWdW=W]WXVÚVUVbV;V‰WçZ ]^Õ_ˆ^é]ä\û\1[û[â[¤[“[š[œ[`[ZÈZ’ZƒZ|Z‡ZsZXZOZMZYZcZvZpZaZHZ.ZKZXZpZ„Z¶Zä[[![1[Y[K[L[-[[ZüZúZûZåZÝ[[;[A[\[r[r[Š[Ÿ[—[[[¬[ª[Ÿ[·[Ø[í\\9\H\p\›\Ë\é]] ]:][]t]‘]¦]¶]Ä]â^^*^G^D^A^N^^^m^^˜^¶^Ü^ü_&_M_p_›_¯_Å_à_ó``!`.`*`` `c`<``4`0`;`?`h`M`` ````-`<`X`v``²`Î`ç`÷a aaaa#a$a*a(a)a+a2a-a)a"aaa`î`Û`È`²`¨`©`¹`Ë`Û`â`ï`ó`ûaa aaaa$a-a3a0a,a(a!aa a a a aaa"a'a.a2a5a`P`s`Äa a\a”a§a¼a¶a©a~a~a®aÿb5b&aýa·a{aba]aua•a›a‰aE`Õ`‚`]`?`4`1`/`4`)``_ý_ä_Ã_³_¯_°_¯_®_”_p_p_¥_Ì_å_è_Ø_Æ_²_¥_†_i_P_6_<_;____(_>_]_–_i_^ú_€_ð_y_˜_¥_Ô`*``"`#`L`I_ã_õ` _Õ_‰_?_!_^Û^±^^g^A^^ ]ù]î]Ð]Â]»]P\Æ\\j\u\£\Ø]]F]X]l]_]U]P]-]\ò\õ]’]©]Â]Û]û^]Ì]™]‚]‚]s]y]t]G]R]O]8]2]F]q]^]B]X]R]O][]D]U]ˆ]]¶]æ]Ì]¶]’]~]r]]]7] \÷\ñ\â\á\ó]]*]\ð\Å\”\x\€\€\„\z\m\Q\9\0\6\[ï[´[…[`[C[ ZûZÏZ–ZjZ5ZY÷YºYzY]Y8YYXÍX‚XQX"X WßW°W—WŸW«W„WpWUW/W-W}XXùY²Y®YwYYîZkZÅZm[ü`ä_p\ZæYôYXªXrXaX@XWîWÊW«WWgWNWMWbWRW;WVëW WVoUÝU}UnU±V UåUsU?UkUkUwUuU§UÛUÿVUàU¹U³UžUU›U­UìV V§W"WMW´XIXÑZ ZÛ^dbraÕaÒ_¬^¦__ÌcXet`ù]Ž[mZòZ%Y?YY [+[¶\ø]a\Þ\j\ \E\•]r^_`_l_b_^»^‘^ ^Ä^Ç^Þ^Ç^™^^™^”^–^–^‘^^˜^˜^”^“^^^z^o^c^[^\^_^^^\^V^U^Q^O^Q^K^O^G^F^`^@^2^/^!^^^ ^^^^^^&^+^3^5^;^?^@^G^B^<^1^,^&^^^]ú]ñ]ä]Ú]Ñ]È]¿]½]¿]¸]¿]Á]Á]Á]Ä]Ï]Õ]ß]ç]è]é]è]è]ä]Ú]Ì]¶]«]›]’]ˆ]z]e]N]B]<]9]7]5]=]C]T][]:]$]]]C]‹]±]¸]Á]ª]Æ]Ð]½]Ü]ï]í]«]j]\õ\Ó\Æ\Ð]]A]§_öccXc5cFbðb¦b÷c c_cÒcÐdcb¿b:a˜a`½`…`=_ß_¹_¬_•_~_]_@_^é^½^•^‚^o^t^^¨^°^°^²^²^©^«^¶^É^Ì^·^±^°^¥^—^„^t^q^s^z^‰^–^¦^®^¯^·^¸^Á^Â^Á^º^°^©^§^¦^§^¯^¶^Ê^Î^Û____^ð^æ^é^ó^÷___ ___%_2_B_E_P_k_v_‹_‰_¡_µ_Ì`®ac)cBa¸a-`Ý``~`’aaa%aa#b=bwbCaÙa€aŸa¶a¾a½aÓaåbbbDblb¢b¯bpbSbqb¯ccjc¡c±c cåe+e‰dÊdÒdÜcÇbøbsb2b&b baçaÖaÃa¸a¥a™a“a„aawaoaqaea[aOaDa^?^;^>^@^<^5^1^.^*^%^^^^^^(^4^6^>^E^L^L^G^:^$^^]ò]Þ]Ð]¶]œ]€]l]T]C]1]!]]]]]]\ë\×\Í\È\À\¶\«\ž\”\‹\‰\Ž\œ\¬\¼\Ä\È\Ç\Ä\¾\µ\¶\·\½\º\¶\¨\‘\€\\£\›\„\c\B\'\[÷[Ý[Æ[³[ž[’[[v[u[t[€[”[¨[¹[Ê[Ü[ð\\\\ \[ò[×[Á[³[±[®[¦[œ[Œ[~[[ƒ[‹[[•[—[[¡[©[¯[®[ž[[[Ž[[š[´[Ñ[Ü[á[ä[ä[ë[è[ß[Ô[Ó[Ö[ç\\G\y\«\Ï\ú]!]L]z]¦]Ë]ä]ú^ ^]Í]m]\Ï\½\¦\–\\˜\¬\È\ß\í\ñ\î\ç\Û\Ò\Å\¼\µ\³\¸\¼\Å\Ò\Ý\é\ñ\ò\é\ß\Ü\æ\ö]]']@]P]\]_]X]N]D]A];]6]9]D]Q]a]r]‡]œ]¸]Ë]Ñ]Ø]ì]÷^^&^@^K^L^?^0^^^]ú]ø]ö]ô]í]æ]Ø]Ê]º]´]­]¦]¡]Ÿ]¤]©]«]®]®]¶]¾]È]Ð]Ú]Û]Ø]Õ]Ó]Î]È]È]Å]½]¸]¯]¬]²]¶]º]½]À]¾]¼]±]®]£]Ÿ]–]]†]|]n]_]T]Q]R]Y]e]k]p]k]O]&] \î\Û\Ç\¼\¾\½\·\±\«\¤\\§\²\Ç\ã\ô\é\ê\ê\ç\å\á\Ú\Ê\·\œ\†\z\x\o\c\X\T\L\J\@\%[þ[Ó[­[[v[e[Z[R[B[2["[ ZòZÔZ¸ZZ€Z\Z=ZYòYÄY–Y{YpYnYtY{YwYqYgYXYIYBY/Y%YYYYYYXÿXÝXÃX­X¤XªX©X¨X¡XœX™X¡XªX³X¡XzXAWùW½WŽWwWKWVþV÷VöVéVÐV°VŠVhVKV0VVV*V9VDVKVMVUVfVVÌWW`W”W°WÃWßXXLXƒX©X X‹X€XwXhXŽXÞY-Y.YXèXÞXåXÿXüXËXÎXòYYXðX¹X˜X’X†X£XÌXºXXvXmXhXoXRXUXgXfXoXpXzXTX>X$XXWÆW‹W+VýVßVµVÀVîVV'V2W²[\©]å^!]\¬\R\[×[Š[k[^[GZûZ¿Z•ZjZ`ZaZxZfZZZEZ/Z+ZIZ]ZAZ&ZZZ Z(ZFZYZŠZ¤Z×ZîZøZý[[Zþ[ZàZÞZàZ¾Z´ZÄZ¼ZÌ[[:[A[W[n[n[x[[e[H[P[^[e[‹[±[Å[å\\$\@\h\š\·\Ù\ô]]5]M]k]€]]¦]Ð]ó^^^ ^&^8^M^a^€^›^½^ã_ _>_g__¡_§_¶_·_À_¾_Â_Ì_À_¾_Ñ_Ú_ä_ø_ø_ð_á_æ_ã_×_Û_Ü_è_ú``)`8`W`k``¥`Á`Ò`æ`ô`þaa aaa a%a+a3a=a5a2aa `û`ç`Ï`Ã`´`¤`ž`¥`®`·`½`Â`Ê`Ì`Ò`Ö`á`å`ï`ÿaaaaaaa`ò`å`ã`ã`ç`î`úaaa(a5aCaRa\afava~aŽaœa©a®a¶aÃaÆaÁa¶a¡a‹atabaQaFaAaAaLaXafaxa‚a“a¨a¹aÔaêbbb0bCbQb]bbbcb[bTbBbaðaµaƒaPa6a@aAa&a `æ`À`Ÿ`{`Z`3`_ë_Ò_Ã_š_{_u_’_Å_õ`)`H`Y`j`Œ`Èa aCaya›a­a¦ašata…a¸aãbaÿaÎa‡aSaCa?a_a”a„aH`ê`r`/`!`"`*`3`8` ```_þ_ë_Î_º_³_¸_Ç_Ó_Î_¸_£_·_Û_÷_î_Û_Ñ_Ä_¯_Ž_~_d_A_C_?____!_5_Q_g_?_2__ƒ`c_î_Ï_Å_¼_û_Ð_Ô``D`_½``_¬_a_K_J_^å^³^^€^_^0^!^ ]ê]»]²]¥]?\ß\©\}\—\æ]1]^]o]W]<]M]|]ƒ]„]~]n]~]÷^^^/^'^"^]þ]Ý]Î]°]•]]e]t]h]P]P]U]h]j]q]p]b]g]l]O]k]ª]Å]Ö]ð^^ ]Ü]­]’]l]+]] ]\î\ë]]#](]\ï\Î\±\\“\\›\\…\j\`\d\g\A\[é[Í[°[Œ[`[5[ZÓZ¢ZjZNZ5YçY§YŠYWYEYFY'XúXÑX¶X“XYXWéWÜWÃWsW7W)W'WAWmW¯XXÚY8YTYÚZZEZáZïZú\W\W[eZ¡YŒX©X5WõWäWêWÍWŸWŽWrWKW4WWWWWVàVV€VlV_V†V¿WVðV‡UàU…U}U—U˜U­UµUúVGV†V„VDVVUëUÞUëVVCV5VtVzV±WªXÐZh]_:bÄb^û^’]á_`¾a%e”ea]q[C[¹[EYôYÜZ‡[ [¨]]²]…\Û\¨\Ã]]]é^P^T^a^n^}^Œ^…^o^b^a^X^{^^w^g^f^X^\^V^\^_^h^g^[^_^Z^[^`^i^j^^^_^Y^R^S^Q^O^Q^P^[^X^ƒ^ã^ž^­^Š^3^#^ ^ ^^ ^^^ ^.^2^6^<^>^D^A^@^?^;^/^#^^^]÷]æ]Ö]Ë]Å]À]´]´]±]±]°]¬]«]¯]³]¸]¾]Æ]Î]×]Ý]×]Ô]Î]È]¸]«]˜]]“]“]„]n]T]A]1]*]#]%]%]$](]6]9](]]] ]#]^]ƒ]Ÿ]«]›]ª]¼]®]Ä]Ò]Ð]¡]b]-\þ\×\Ì\Ä\ý]Z]1^Åb›cJbÞcbÍbPb[b”cbcÜckcZbêbßbÏa¢`ü`Ë`…`N`_Ô_·_œ_‚_m_?_^Ò^«^ˆ^h^T^S^Z^b^w^‡^Œ^‹^^˜^©^µ^¼^§^˜^^ƒ^n^`^[^U^V^b^p^x^‚^‹^^˜^›^™^–^—^œ^ž^˜^^‡^Œ^–^ª^¿^Ø_ _9_ __^ð^ß^Ý^è^ì^ì^æ^è^ò___$_-_-_:_T_V_m_t_‡_²_È`O`ïb•cfaèa``F`K`c`¤`§`½`³`›aaœbRbaÖaÛaÐaëaáaâaêañaêbb9bnbyb7bb)bObÆc”d)d ddEdïeDeŸeÉe c‚bŸbaba÷aåaÏa¸a¤a—a„ayaoaaa_aXaLaEa=a8a8a1a&aaa`÷`ð`è`Ó`Â` `Œ`r`[`F`3`)`$``_ú_ã_Ä_«_Ž_u_f_<_e_D_A`ìb``³_Ú` _·_”_•_l_R_v_i_g_æ_Â_ƒ_j_P_,^Ê^€^:^ ]å]¸]][]'\ø\Î\¢\o\7[ý[»[|[H[ZâZ­ZzZ?ZYÆY„YQY%YXåXÒXÂXµX«XªX±XÁXÎXÞXÿY)Y/Y,Y3Y9YFYbYYÎZZ[Z¢ZÕZû[[>[s[Ÿ[¶[Û\#\Y\g\z\y\r\e\W\T\K\@\P\o\‡\Š\…\\¦\Ç\Þ\ô]] \û\å\Ç\³\©\¥\°\Ã\ß]]&]6]Q]g]j]]]^]†]Ï^^'^0^1^;^@^&^]Ö]Ã]½]º]À]È]À]]|]ˆ]]ž]±]À]Ñ]å]þ^^(^5^?^J^a^x^“^£^·^Å^Í^Ò^Ó^×^Ô^Ô^Ö^Ñ^Î^Ë^Ä^¼^»^·^´^´^»^½^À^Æ^Ç^Â^¼^³^¨^¢^š^^‡^|^n^h^^^U^H^C^9^2^)^!^^^^ ^^]ý]û]ö]ì]è]á]á]ß]à]ä]ã]é]é]é]é]å]à]Õ]Ê]Ç]»]·]®]š]‹]v]g]K]9]] ]\õ\ì\á\Ù\Î\Á\´\¤\™\Ž\ƒ\z\p\h\a\a\k\~\\›\¦\¬\®\©\¥\ \¢\¤\ª\®\«\œ\€\l\y\Ž\…\j\G\'\ [õ[Ó[º[ž[‚[i[R[A[=[:[D[[[t[[¨[½[Ë[Ï[Î[Õ[Û[Ù[Ð[½[«[›[[[‰[ƒ[w[k[][Z[`[i[n[o[k[g[f[o[u[t[i[e[u[}[‚[š[µ[Î[Ö[Ý[Û[Ñ[Ë[½[°[ª[®[¬[°[ã\\O\}\ \¼\ã]3]]Ô]ù^^"^#^]à]t\û\¼\­\œ\†\y\„\\¡\µ\À\¼\®\¤\—\‘\†\\\|\|\\Œ\“\¡\°\¸\µ\©\Ÿ\•\Ÿ\µ\Ö\í]] ]]]]]]\ü\ÿ]] ]])]6]I]e]…]™]¢]°]»]¹]É]ç^^^ ^^ ]ù]ê]Û]Ð]É]Ç]Å]À]¹]¬]Ÿ]]]z]v]u]s]v]y]}]…]Œ]˜]œ]§]«]²]²]²]­]­]«]©]¯]©]¥]œ]”]’]‹]†]…]†]‹]‹]…]|]v]m]j]b]`]U]O]<]0]&]%])]+]5]:]=]*] \ç\Ë\¬\’\z\y\\‘\ˆ\\“\–\”\–\ž\²\Ð\Ñ\¨\›\³\Ï\ß\à\Ù\Ï\À\£\~\z\\j\Z\S\B\0\-\"\[ý[ä[Ì[°[–[ˆ[w[\[<[ [ZíZÖZ»Z¢Z‚ZfZ@ZY÷YÊY˜YpY_Y]YcYYˆYtYgYXYWYIY@Y5Y+Y$Y!Y#Y)Y,Y+YXöXÚXÆX½XÃXÂX¿X¼X»X¿XÍXÕXÍX¶XX^XWáW³W‘WfWBW,WWVøVÛV¿V˜VqVVV9V,V=VaVpVzV„V’V™V¦VÌWWMW•WÃWÙWêXX-X[X‘X·X¸X¯XžX|XbX™XäY2Y6Y!YY XÿYY-XýYY7Y/Y XõXÐXžXX¥X´X­X™XƒXeXJXEXYXaX_XQXiXpXcX_XTXOX9XWéW»WWlWGWVÞVÄVÜW$W›W€W¤YZ\O\Í\I[ø[ø[ô[”[k[n[:ZõZµZoZGZ?Z9ZLZaZKZ:ZZ"Z$Z'Z>ZPZ&YãYÜYßYñZZ2ZKZgZwZ}Z¢Z¡ZÂZÛZãZÄZ©ZÁZ§Z¡Z«Z‘ZˆZ½ZÅZ¸Zõ[$[1[C[L[M[I[@[$[0[Q[Q[e[v[…[§[É\\1\K\h\ˆ\³\Ô]]!]<]I]_]l]‰]©]Ã]Û]ö^ ^^.^C^`^€^¥^Î^ù__E_c_‹_”_‘_„_y_x_t_z_‚_’_˜_š_¡__ _¡_£_¡_§_ª_ª_·_Â_á_î```.`B`b`{`•`©`º`Æ`Ô`â`ï`þaaaa,a,a:a7a7a&a`ü`ë`Ô`Ç`¸`¢```‘`Ž`‘`‰`‹``•`š`¢`§`¯`º`È`Ü`å`æ`ô`ô`Þ`Ñ`Ä`À`»`¾`Ä`Ð`êaaa-aCaKaXa]afaua„a‘a a¨a°aÁaÏaÕaÑa¾a§aˆajaPa4a#aaaa a)a9aHa[apaŠa¥aÂaäaýbb-b@bJbHbDb7b'b aßa¯a|aHa)a,a4a`õ`Õ`»`Ÿ`ˆ`m`O`(` _ñ_Ø_«_“_•_£_ã`-`_``œ`¨`½`æaa;abaxa‹a—aawaŒa¸a»a³aaraQa2aaa6a_aCa`°`g`D`.`;`a`m`j`+` `_ý_õ_é_Ü_Ì_Å_Æ_Ë_Î_Ð_Ê_À_Ð_ï`_ò_æ_Ý_Ñ_Ä_­____B_A_;_9___1_2_P_>_%_^ö_q`&`$`.` _Þ`_ö_ã``R`C``F` __N_E_+^ï^Ö^±^˜^›^†^V^$]ÿ]à]¸]º]]<\ù\Ê\»\ù]c]]y]p]i]m]]¢]ž]Õ]ý]ì]ð^@^V^g^n^h^f^i^O^)^]ß]¬]|]O]k]t]b]i]^]b]‡]¨]]€]q]l]p]—]Ê]ë]ã]Ó^*^€^f^$]Â]w]B]-]%]\þ\ú]]"]]] \õ\Ï\Á\È\Ë\Ï\Ê\È\¥\š\›\Š\c\@\.\ [þ[Ô[¬[t[H[ZÔZZwZEZYÕY³Y’Y Y’Y‰Y\Y8YX–X}XZX X WÂWmW7W%W2WiWZWvW¾XBXÂYY~YžZE[M[Z§Z4ZYZxYßXÎXW¬WWuWxWyWSWBW#WVùVæVÂVŸVŠV“V¢V˜V×W6WˆW«WÒX$W¿VâV UÓUÙU×UçVV V8V–VñVäVžV^VAV)V VV@VhVƒVTV•WbWeXO[X^_ˆ`²`ý_Í^ä^½`¢bfc‡eßb¶_Å]$[“[ÿ\\œ\Z\K\‘\Í]£^ž^Ø]õ]æ]¹]n]¥]Ö^ ^6^4^G^f^q^w^Ž^”^‹^^e^H^O^H^N^K^V^R^V^R^H^E^D^C^<^@^?^:^B^X^d^c^c^Z^X^V^R^N^^^^^_K_ƒ_ò_m^”^9^^^^^^$^*^0^8^?^G^G^D^F^B^<^5^,^"^^]õ]á]Ì]Á]¼]´]´]­]¤]¡]™]™]]£]£]¥]¬]²]¼]Ã]À]¾]·]´]­]ª]œ]‹]‚]|]€]„]v]c]F]3]$]]] ] ] ] ]]]\ÿ\ÿ]]]O]z]˜]‡]„]Š]•]†]†]˜]§]™]u]E]\ø\Ú\»\Â]X]ý`-bîbïb¡b–bpb bbDc c£c bvbIbÑb]a<`ã`»`x`H_ô_½_š_†_n_a_6_ ^Ç^£^†^n^U^6^3^?^`^y^}^|^Š^œ^²^¯^«^œ^Š^y^b^B^,^#^'^0^7^<^G^O^W^_^b^p^y^€^…^…^ˆ^^’^}^v^Š^³^Ë^â_!_A_"_^÷^×^Ä^Å^Ç^É^Ä^Ë^Ò^á^ô_ __"_+_3_F_Q_f_e__Ê_¾``ˆa•bÝaÝ`³`J```"`A`E`L`_`h`ž`™abtc*byaéaËaõbaúb añaébb=bObaëaÚaÖb3ceeoe>d¬dØffÀdÖcœc*b€b8aïaÏa¸aa‹axabaQaMaBa?a9a,a)a aaaaa a`ÿ`ò`ç`Ö`Å`±`–`{`_`>`)``_û_ó_æ_Ù_Æ_¬_—_ˆ_x_]_b_,_ _2__V`^`_²_ÿ_²_º_î_~_(_c__r_L_R_Ì_¯_y_t^Ü^o^)]å]½]—]r]E]\ì\¼\—\h\2[ü[À[{[C[ZâZµZƒZRZYæY°Y€YXY;YY XúXðXèXíXôXýY Y$YJYrYqYcYdYhYrY‚Y¦YÛZ ZeZ£ZÚ[[+[V[‰[±[Ï[ê\\E\g\…\\l\N\/\#\\\(\E\b\u\u\z\•\²\Ç\Û\æ\ï\à\Ë\¯\ \˜\¥\´\Å\à\ÿ]]$]0]%]] ]]S]œ]æ^^^ ^^]à]Í]­]“]]‰]”]­]­]—]k]^]c]o]]’]¦]»]Ò]æ]ü^^8^A^F^K^f^}^•^§^µ^»^¼^»^·^µ^³^²^®^ª^¬^©^¥^ ^Ÿ^^ž^¡^¨^«^¬^¢^š^”^‰^€^v^n^a^X^Q^N^E^B^7^/^(^"^^^ ^]ù]ò]é]ç]ä]Ý]Ø]Ó]Ë]Ä]À]¾]º]¼]¼]¹]µ]±]ª]£]›]’]‰]ƒ]]]}]v]y]o]\]B]!]\ð\ã\×\É\½\±\¡\’\†\z\n\f\d\_\Y\S\M\G\H\S\a\p\~\†\Ž\‹\Š\†\…\\˜\¡\ \’\~\r\u\{\q\Q\,\[ï[Ò[©[‹[k[K[-[[ [ [ ["[=[Y[q[‹[¡[§[ [›[¤[­[¹[´[¡[Ž[[t[n[h[][U[R[C[8[:[C[K[L[H[A[B[E[K[M[L[V[g[z[‰[ [¹[Î[×[Þ[Ù[Ä[°[[Š[[„[ƒ[[¶[å\\B\^\w\´] ]°^^^^^ ]ð]È]n\ù\½\ª\›\\€\u\p\s\z\\w\g\[\S\H\D\C\B\A\B\F\K\R\c\q\y\y\h\]\Z\e\|\™\®\»\Å\Î\Ï\Í\È\Å\Ã\Å\È\Ñ\á\ï\ö\ý] ]$]:]E]V]p]|]…]”]¢]½]Ó]â]ã]Û]Ò]Ä]µ]ª]¡]™]”]‘]‹]†]|]m]^]V]P]O]S]S][]a]j]t]€]ƒ]ˆ]‹]]Ž]‘]]]]’]’]Š]‡]{]p]e]\]W]O]I]E]@]:]3](] ]]]]]]]\ú\ù\ý]] ]] \ö\Ù\³\ˆ\a\?\-\0\,\\\E\g\Š\Ÿ\“\ˆ\…\¤\±\–\‡\Š\“\œ\£\¤\Ÿ\–\…\c\S\U\K\;\.\\ \[û[ï[ã[Ù[Ð[¾[ª[Ÿ[™[‹[m[E[ ZáZÀZZ}Z[Z?Z YüYÑY¨YYbYKYJYUY[YPY7Y2Y3YAYCY>YAY@Y5Y7Y:YAYFYJY7YYXèXÚXÖXØXÒXÎXÒXâXáXÚXÌX´XŽXbX4WÿWÉW˜WtWcWZWCWVúVàV¼V V„VoViVoV‚V•V¢V¯V·VÆVÐVÜVþW.WqWºWðWûX XXCXuX¢XÆX¿X«XœXƒX†XÍYYZY\YWYMY'YYY1Y>YFYVYSY.XùXÇX¸X¯X¯X·X°XŽXmXQXNXDX9X;X@XMXXXWXiXWXSXBX3X)XWôW»WWUW9WVæVÛV½VìWxWÐWéX½Z|[°\D\[Ö[’[U[Y[c[!Z°ZYZ Z ZZ Z%Z3Z4Z.ZZ ZZ-Z0Z@Z,ZYÓYÂYÏY×YõYùZZ"Z5ZJZ[ZoZ‡ZžZ€Z—ZZ„Z‚ZdZxZZeZzZÖ[[.[^[f[H[:[[ [Zü[ [%[![#[6[[[z[«[é\\6\J\z\¡\Ç\ç]]]4]W]y]“]¯]Ä]Ñ]ë]ÿ^^.^L^j^‹^§^ç____-_@_@_B_<_?_I_T_n_i_^_P_S_Q_W_a_m_x_t__{_Ž_•_´_Å_Ú_ä_ú``0`G`]`r`„`•`£`¹`Ë`à`æ`ýaaaa"a*a0a!a a`ú`è`Ò`¶`–`ƒ`s`l`b`[`T`O`M`O`S`U`X`W`V`n`”`©`¯`±`®`¢``–`“`•`Ÿ`©`¾`×`ôaa&a8a?aJaVa`araaa›a¢a¯a¾aÕaèañaíaÙa¾a—amaEaa`ê`â`å`ä`õa aa6aLaia‡a¬aÎaîbbb'b,b/b%baöaÏa¤aqa?aaaa`î`Í`³`ž`Ž`y`t`U`4``_Ú_¹_³_±_Ý`6`x`§`à`ñaaaCaJaVaWacaraiada‚a§a§a†a[a]+]\ô\ç\Ø\É\½\ª\œ\Š\|\p\c\Z\Q\O\U\S\Q\K\B\?\<\6\<\F\Q\Y\b\g\g\g\l\w\‚\Œ\\‰\†\ƒ\w\p\^\8\[ñ[Ñ[°[†[e[B[#[ZñZçZêZù[[#[>[W[l[x[w[w[}[‡[[›[–[ƒ[p[c[[[U[L[@[>[5[([[[ [%[%[![ [([*[3[9[A[T[d[{[[¡[²[Á[Ò[Ú[Ë[´[™[‚[n[d[`[c[l[Š[°[Þ\ \!\5\u\Û]u]æ]ë]Ä]—]]z]j]?\ø\¶\¬\°\Ÿ\•\z\`\P\M\C\/\!\\ \\\\\ \ \ \ \\%\4\7\0\#\\\+\H\c\w\\…\‰\‡\‹\\Ž\‘\˜\Ÿ\«\²\¸\¿\Ä\Ñ\Þ\è\õ] ]+]G]Y]]]c]r]|]‹]’]”]“]‹]…]{]r]h]_]^]^]_]X]S]G]?];]9]>]>]E]K]V]^]e]j]j]m]m]n]r]w]x]v]t]r]k]_]U]K]<]2]"]]\ý\õ\î\æ\Ý\Ó\Ê\Æ\Ä\Ë\Î\Ì\É\Æ\Ê\Î\Ö\Ô\Ö\Û\Ø\»\\T\[ê[Ô[Æ[”[m[}[Û\7\u\”\‡\z\o\ƒ\‘\‚\m\V\H\C\H\N\T\U\N\5\\\+\\ [û[ù[ð[ã[Õ[Æ[¾[¹[°[«[£[¡[¨[œ[x[?[ZÐZ—ZcZ9ZYïYÍYªY‹YlYMY'YYXêXÈXÅXÕXüY$Y5Y8Y@YIYHYMYKYRYTY[YOY8YYXïXßXÝXÚXáXæXïXéXÞXÌX±XˆXZX5XWÖW¤WyWjWiW^W5WVÛV¼V¤VŒVˆV—VªV¾VÅVÏVÙVëVõVùWW#WWW˜WÜX XX'X.XSXŠX®XÚXÞXÁX¬X X¼YYIYlYdYfYsYOY,YJYbYuY|Y€Y_YZ YëYØYäYïZZYôYúYþZZ Z5ZPZ6ZYÍY¨Y—Y¦Y³YÈYÓYÝZ ZZ;ZFZUZ]ZaZiZWZjZKZKZFZ+ZZZ…Z€Z«[[@[-["[,[ZÞZÙZä[[~[ZóZÄZç[&[a[¾[ä\ \7\[\u\—\Ã\Ú\ô] ]*]G]b]u]]«]Å]Ü]ú^ ^,^>^h^›^Ç^â^â^é^î^ü^þ____1_@_q_L_5_*____(_+_<_7_G_H_`_n__ˆ_—_¨_·_Ñ_ì```5`E```v`‘`¢`»`Á`Ò`é`ò`ú`þ`þ`þ`ö`æ`â`ã`×`Á`¨`‚`j`X`H`>`-`"```` `%`&`$`(`5`Q`g`l`n`k`c`a`b`a`g`|`“`©`È`æaaa%a1a8aHaTacaqawaaŠaœa±aÊaåaøb b aøaÕa¤aqa>a`ï`Ö`È`È`É`Ñ`Ý`öa a%aBaha’a±aÍaâaóbb b aþaãaÀa˜aia7aa`ò`ç`é`Ó`¹`¡`‰`}`ˆ`q`J`2`(`_å_Ð_Ð_ß``j`´aa&a;aLaaaYaDa2a*a8aDaBaeaaqaSa;a6aMa?`ù`Ä`Ä`á`Ô`±`”`‹`w`X`A`h`t`F``_ë_ã_å_è_ï_ö_ÿ_ÿ_ù_ß_É_Ã_Ø_÷```_û_ô_â_Â_¦__u_y_`_`_j_?_”_ö`a``x`:`t``9_²``Þ`X`Ž`Ú`Ã`Q``H`¡`Y_í_§_‹_{_Z_?_._^ú^û^÷^Ì^°^^‰^d^d^Ž]ý]w]B]N]œ]Å]È]É]Ó]Ý]ý^ ]ú]î]î^=^m^t^Š^¹^²^¯^”^t^ˆ^Œ^^x^`^:^]å]]u]v]v]|]`]l]—]¢]‹]t]]Ž]˜]ß^ ^*^X^Q^s^¦^‘^V]ã]•]…]e]R]=]9]=]H]B]O]I]3]b]’]]–]˜]Œ]x]V],] \÷\é\Ø\Ì\¾\\u\h\)[Ô[£[g[,ZôZ«ZnZCZ&ZZZ/ZXZ¢Z5Z:ZJXÔX+X/X WóW‘W4WWWW WWEWyWŸWÖXMXËYYÐYòYAX¡XˆX™XpXW„WVÌV¾VºV¡V›VƒVXVPVdV…VÊW'W­XXQXiXÏYcYXÐXºXˆXDXðZY…X[W|VìVÅV¾VØVóW*WKW|W\VéV³V‹V’VcV“VµW WXIY°YÛ\ ^"^V^ñ_¡`asaï`m_º`ñe|hÃc?_c]®]i]§\ê\¸\›]B]»]Þ]þ]1^naH`Ô^º]Ñ]â]ø^ ^^"^.^6^L^K^J^C^;^*^]ü]é]ó]ñ]ÿ^^ ^]ÿ^ ]ó]ð]ü^^$^^^A^e^—^}^d^h^P^B^3^'^0^F^R^W^O^9^*^)^%^^^^^%^*^*^1^0^=^<^?^<^9^2^0^'^ ^^]ó]ã]Ð]¾]®]]ž]–]]‡]~]y]{]|]~]]‰]Š]–]™]š]”]‹]†]]v]j]X]M]=]A]F]N]J]9]]\ø\ï\ä\â\â\ç\ç\Þ\Ó\Î\Î\Ù\ó](]x]Œ]v]b]l]ƒ]€]i]c]a]S]7]D]>]7]\ò\Æ\´\¤\²]¤`aýaõb&b,b!bçb†b&a’a…b-aÉa±`Ø`t``` _ò_±_…_`_?_-_^ü^Ê^–^i^D^>^H^5^]ú^^+^2^@^M^W^k^†^^Š^}^n^N^ ]ý]í]â]ä]ê]ò]ö]þ^^^^&^/^=^G^O^U^^^e^c^]^d^Œ^»^Æ^½^à^Ñ^Á^Ç^®^¦^^¦^´^¬^^¤^´^É^Ù^ï_ _"_-_._7_=_L_`_g_€_ž_ú`H`va±a`P_÷_ð_á_å_ê_÷_í`_ð``.`:aÃc1cšd©cÚc c§b¸aÕaÔa±aÊaÃaÁaÍaÁa¬a½a©bc d?e)eIeÜg‚gkefc¶bmaåaÆa‚aqaZaNa6a'a`ÿ`÷`õ`ò`ñ`ñ`ç`ç`à`Ý`à`Ö`Ó`Î`È`Ê`»`§`ˆ`i`N`+`_ó_Ö_Â_µ_ª_£_‘_‚_w_l_g_`_Y_S_o_|_4__%__#__$_d_X__^ù^â^ì^Ð__^Ù^Ç^Ã_Z_ú_ ^?]ô]²]]]]7]\ñ\Ñ\¨\~\P\$[ô[Ã[Š[V["ZôZÌZ¢ZyZIZ YùYÚY½Y¢Y‡YlY[YOYEYMYcYyY˜Y½YßYçYÏYºY®Y¬YµYÈYÝYÿZ3ZlZªZá[[@[i[“[É[ÿ\"\6\0\+\5\G\C\<\/\[ÿ[é[Û[Ü[ó\\2\A\[\€\¡\½\Î\Ë\»\¢\\‹\”\­\Ç\Ü\ò]]"],]0\ý\Ë\¼\Ù]]C]{]]ª]Â]Ç]Â]Ä]¶]¦]Ž]u]l]c]b]a]V]E]D]>]I]N]D]v]]˜]¨]Â]Ý]û^+^9^B^J^V^b^e^r^y^‚^„^†^}^z^n^m^n^q^t^w^y^v^r^r^r^q^r^q^o^h^b^[^V^O^B^0^&^^^ ^^ ^ ^^]û]ó]å]Ù]Ð]Å]»]¹]²]³]°]©]¥]Ÿ]—]’]‹]ˆ]ƒ]]]|]w]m]f]W]K]@]9]1](]]]\ý\ì\Ú\Ð\Ä\¸\¥\“\€\o\c\T\O\F\C\B\@\<\=\@\E\K\P\G\7\)\(\/\5\=\?\D\M\Y\f\m\n\t\~\ƒ\s\c\D\[÷[×[¸[[d[>[[ZíZÜZÖZÝZì[[['[?[N[U[X[b[j[s[x[|[v[j[W[I[D[;[1[+[)[![[ZøZÿ[[[[ [[['[0[C[][l[|[Œ[™[¢[«[¹[¿[¬[”[}[j[U[F[<[@[G[\[x[¢[É[à[ý\;\Œ\ñ]8]J]B]"] ]]*]]\Ã\¡\Å\Á\´\”\j\F\,\[÷[à[Ñ[Ë[Ç[Ç[Ì[Õ[Ø[Ò[Ñ[Ò[Û[ë[ø[û[î[á[Ù[å[ü\\2\>\D\G\H\G\J\J\N\T\[\`\m\w\‚\ˆ\Š\\\\Ÿ\³\Ó\õ] ]]&].]:]?]E]L]K]N]N]I]>]3]+]*]*].]5]7]3].],](])]-]4];]C]I]I]I]J]O]N]R]W]]]\]\]X]R]I]@]6]&]]\ò\á\Í\¼\¬\¢\¡\ \—\ˆ\‚\‚\Š\Œ\‘\\“\•\–\œ\˜\˜\§\¹\¥\ƒ\;[î[´[•[m[Zí[[§\7\k\t\e\T\R\Z\^\T\@\,\\ \\ \\\\[û[û[ý[ð[Ü[É[Ç[Ã[Â[¼[¶[¯[©[¡[¨[«[ª[±[¦[‚[a[9ZûZ¶ZqZ;ZYçYÄY¦Y†YfY?Y XØX®XdX?X[XŠXÊYY3YCYNYPY[YhYcYhYiYgY^YLY6YYXùX÷XòXõXþXþXñXâXÍX±X‡X\X7XWôWÅWšW‹W‹WW[WVåVÌVÁVÁV×VçVéVîVôWW WW W"W6W\WŒWÇXX'XAXAX8XNX‡X½XçXÿXøXßXàYYUYƒY‘Y•Y‹Y“Y’YmYwY‹Y‡Y|YvYfYHYXáXÄX¯X±XªX X”XˆXvX\X7X+X-XGXJXWXcX[XdX_XRXMX9X*XWñWÈW«W€W[W?W1WpWjW=W™Y-YúYXêY~Z/[[C[,[ ZøZ¶ZzZKZ*YôYæYÓYºY¹YÇYàYØYÓYéYÿZZ9Z?Z5Y÷YÍY“Y‡YrY‡Y’Y©YÆYìZZ Z^^^ ^^^^^+^^)^]^^Ÿ^¦^ª^°^^[^Z^`^m^Œ^‚^]^C^ ]Î]š]p]Q]h]d]\]}]]•]Œ]Š]]Æ^0^5^X^¤^‰^†^«^œ^B]Ë]y]i]b]n]q]c]N]L]^]f]E]N]¡]Ñ]Å]Æ]Ï]¼]¨]Ž]h]>]]]] \ê\º\\r\ [Ù[¾[[`[)ZÔZ’ZiZWZlZ´ZÎZ´[[ Z‡YßXèXQX1XWÐWƒW8VàVÚVïVÝVùW5WtWÕWãWýXiXÐY8YfYNXÔX@WýWÊWnVöV“V_VFVAV5V@VHV^VVàW-WxW¶WøXX`XŽY1Z YòYŽYUY*X¹Y:ZbZYY-WýWdW7WWWEW…WÄWÿWâW&V²VÃWVÈV³V™W@WKXY0Yƒ\m^›^ˆ_;`a bzdácMa{bÍghj!d§_×]½]…]î]ˆ\Ô\L]]Å^^c^g_ÿ`€^ù]ç]¼]é]ë]ô^^ ^^%^!^^ ]õ]æ]Ø]Ì]Ô]Ñ]À] ]Š]q]t]z]”]˜]°]Ø]»]¬]Ç^ ^p^Í__}^ß^m^_^D^-^^^^&^@^L^P^H^?^*^^^^^^ ^"^ ^$^%^(^)^/^,^+^ ^^^]ÿ]ó]è]Ú]Å]­]¤]•]Š]„]{]u]r]l]j]e]j]j]r]v]z]{]|]~]|]p]j]\]T]A]-]]](]2]*]\ø\ê\Û\Ø\Ö\Ö\Ý\ã\á\Ô\Á\³\¸\¼\Ü]-]{]‰]g]J];]J]U]P]M]L]?]]#]"]']]\Ã\«\–\\Õ^ùaÙbbTbab…c²cPb&aab€bZað`²` `_ä_¤_h_J_,__^é^Ë^¥^v^\^<^-^*^]ø]ç]î^^^^^"^>^_^k^j^_^M^(]÷]×]Ó]Ñ]Ñ]Ô]Ú]ß]ê]î]û^^^^#^"^+^5^@^H^:^/^D^u^¨^´^¸^ö^Ì^ž^ ^Œ^‹^^œ^¦^¡^›^œ^­^Â^Ñ^æ______'_4_A_W_’_›_ÿ`U`Ga/`ï``_ý_ù`_÷_û_ö`_ò_ï_ÿ_á`Ma{bPcUcšb„b,ba²a£a“a¥a aœaœa™a‰a”ašaábYc5d¯eeQeëdLb¼bjaïaazaIaEa1a(aa`ó`ð`ç`à`Ø`Û`Ô`Ð`Æ`º`½`¸`·`µ`®`­`«`˜`‰`l`O`/` _ï_Ñ_¸_¦_•__~_s_e_[_T_N_S_E_N_T_?__^þ^ù^ê^å^í_=__"_ ^ð^Ê^Ñ^¼^Ê^Ê^Æ^ÿ^´^¿_p_^;]Ô]©]n]H]!\þ\á\Á\š\t\K\[í[Á[‘[`[3[ZØZ±ZŽZfZ9ZZYçYÑY¶YšY…Y|Y~Y‹YœY­YÏYçYüZ YòY×YÌYÍYØYãYñZ Z/ZaZ¤Zæ[![G[k[’[Â\\1\O\D\1\'\+\0\:\9\(\[æ[Õ[Ü[ý\!\2\;\G\d\‘\¸\Á\¹\­\Ž\w\t\ˆ\¥\Ã\á\ÿ]&]:]H]R] \Õ\«\º\ß]]/]T]g]|]„]‰]Ÿ]¯]¡]x][]Y]S]I]3]']%]']-]<]F]H]l]l]v]’]¯]Õ]õ^^^+^=^O^e^i^`^\^`^b^g^f^c^X^W^S^W^Z^`^c^_^\^Y^U^Q^S^S^Q^K^J^F^@^:^1^&^^^]û]ò]ê]í]ë]é]ä]à]×]Ç]»]´]¨]¦]Ÿ]]]›]—]‘]Ž]†]]]~]]€]{]q]h]\]L]?]1]%]]]\ø\ë\â\Ó\É\¼\¯\ž\‹\}\i\\\O\A\>\3\/\*\(\,\3\4\>\J\T\R\:\\\\\ \\\*\8\>\D\G\L\^\m\h\S\/\[×[¾[›[u[O[([ ZðZØZÍZËZÓZäZö[[[&[4[>[E[O[W[`[c[c[_[T[C[5[3[$[[[[[ZòZäZáZéZïZñZöZú[ [[,[B[\[h[j[o[v[~[Œ[”[“[[i[V[F[/[[[[![2[?[h[Œ[­[Ô\ \Z\·\ö]]']\Ï\Ñ]]]\â\Á\Î\Þ\Ù\¿\‹\W\)\[á[·[Ÿ[–[—[”[™[ [ª[©[Ÿ[ [¦[¸[¾[¿[²[ [š[­[Í[ì\\ \\ \\\[ý\\\ \\#\:\M\Q\Y\W\X\W\_\l\„\™\®\Ã\Ó\Ý\é\ó]] ]]]]]] ]\ý\þ\ÿ] ]]]"]]]]]!]-],]-])](]']&],]1]7]=];]:]5]2]&]]]\ù\è\Ü\Â\£\\ƒ\|\z\v\q\d\Z\W\Y\]\_\^\\\_\d\`\W\J\_\‰\£\£\^\ [¿[…[?ZìZã[L[é\R\a\Z\D\,\)\/\0\#\ [ü[ì[Û[Ô[Ò[Ú[Ý[ä[à[Ú[×[Ô[È[±[™[“[”[[¤[¦[£[¥[ [¢[¢[[“[…[j[R[7[ZÜZªZ|ZJZ$YüYØY£YuYDYX¯XQWíWÇWðXDXœXøY.YHY\Y\YbYqYxY{Y€YƒY~YhYRY?Y-Y#YYYYYXýXíXÜXÂXXzXRX9XWðWÑWÎWÏW¸W‹WRW WWWWWWW(W'W2WAWTWeWoW}W WÒWýX(XGXdX]XCXIXqX§XÑXêXôYY$YTYlY…Y£Y¾YÃYÃYÆY¸Y±Y¦YY€YfYHY(XëXÁX¨X£X‘X{XuXyXoX\XHXCXKXDXFXVXgXeXmXiXdXeXVXGX2XWýWÜWÈWWWYWeW´WÓW’WoX†YÚYYY"Y^YÕZ‡[[[ Z½ZrZ3Z#YüYàY´Y YŠY}Y…Y‹Y‘YŸYÍYÿZ ZZ YÿYñYÑY±Y}YiYWY€YYÆYãZZ(Z$Z8Z"Z'ZZYëYìYôYÞZAZtZ…ZÙ[ZßZÒZÿZ½Z–Z§ZÓ[ZŒZ'YöYêZZ6Z¦[€[Ø\\g\n\y\r\‹\œ\Ã\ç]]]*]8]W]g]‹]¤]¼]Ù]Þ]ü^ ^0^L^]^g^h^o^|^›^´^Ä^à^ð^í^ù__^ú^Ì^Ä^´^³^µ^Ã^Ó^à^ó^ô^ó^ó__ _ _8_a_ˆ_À_í` `%`?`P`Z`p`v`‹`¢`Å`åa a%a%aaaaaa`Ï`¨`‰`b`B`(``_ó_ë_ì_ï_ú_ÿ` ``` `&`.`5`=`9`<`F`N`T`^`b`m`‡`ž`´`Ã`Ð`Ý`æ`é`ï`øaaa0aBaXaka}a„aŠaŸa¼aÙaîañaßaÂa—araIa(a `ð`Ü`Í`Á`²`¯`¹`Ñ`ðaa6aRaqa†a–a¥a±a²a©a—aa`a3a`ôaaaa`è`Á``z`]`Z`I`/`!``` ` ` ``5`m`Òa'a-a!a5a=a`ÿ`ö`í`ùaa,a;a5a(a4aHa>a`É`•`}`„`­`Ù`Ú`½`®`”`a`A`!_þ_å_Ö_Ð_Ò_á_ó` ``(`)``_ã_Ò_Õ_Ú_ê_ú_ö_ï_Ù_Ç_Â_¹_¿_·_¯_¸``:_ù``®a×c$bÇba¯aÕaîa®a~a`è`õa*`ÿ`g`G`)_ð_Ñ_±_­_¬_™_Ž_Š_ˆ_k_L_^_ __ ^Þ^È^Ô^¼^…^ ^^`^u^’^f^8^=^(^8^B^*^)^H^V^+^4^V^r^“^^}^}^f^f^K^Q^u^|^k^h^5]ö]à]±]o]Q]<]B]i]~]Ÿ]²]¥]º^^Š^‰^^»^¤^¤^^^V^]½]¨]½]¢]…]x]O]P]~]X]1]k]¸]Ø]Ê]Ê]â]ë]Û]Å]¥]{]f]Q]F]7]\Ñ\“\[\[ï[Ñ[®[‚[V[ZÎZ¥ZšZâ['ZùZÞ[7[2ZWY YNXµX@WþW§WsW=VâVÓVæVÛVëW W/W”WëXXXsXÈXÆXÂXœX@WßWW.VÈVnV6V+V:VXVŒV±VÞVóWWW>WŠWúXWX£XáYRY®Y•YsYvY•Y=Y(YxYgXäXHW½WrW^WlW‰WÂXX(XBWÎVèV¹W W W!W WzWËYH[Zh\«_­_E_+`bËd"dòbêa‡cÍeÿfNdÓ`]Û]j]ô]s\ñ\é]]Ö^Ì^q]Û^ž^Í^M]æ]Î]Û]ê]ù]û^^^ ^ ^]ý]ô]Õ]Ê]²]†]m]q]…]§]É]·]©]Ç]È]Ó]œ]°^!]ô^V_¡`—`Ù`^Ø^m^W^9^^^^^^2^@^>^6^%^^^^^^^^^^^^^^^^^^ ^]ù]î]â]Ø]Ç]²]]ˆ]~]x]s]j]_]V]N]P]P]V]Y]_]`]g]e]e]`]_]W]Y]H]7]$]] ]] ]!]\û\Û\Í\È\Ä\Ã\È\Õ\ß\Õ\Â\±\œ\—\¢\Í]-]w]{]Q]3]]]&]D]`]d]G]]]]] ]\Ú\´\y\¤\’^7`Ÿ`úbfcÆbßba–`Û`j`Ša¯a@`¯`_ä_æ__g_=_*_^ë^Æ^­^‹^|^g^Z^C^1^^]Ü]Ù]ê]þ^]ñ]à]ç]þ^^*^5^7^/^]å]Ã]²]­]¯]ª]³]¶]½]É]Þ]î]ü^^^ ^^^ ^^^^ ^B^l^^‚^¥^Ž^€^ƒ^z^o^f^n^u^{^†^˜^²^Ï^ç^ñ^ý^ù^ù^ý__ __+_H___Ü`3`a3`s_Ø_ê_æ_ô`_÷`` _þ_ý_î_ð_õ_ü`|a9a†b#bqaØa©a°ayava‡aŠauanaka`adaha¶aÊbQdEedHdcccaÑatauaKa'aaa a`ö`î`ß`Ü`Ð`Ò`Ï`Ê`¿`µ`¨`ª`¥`›`›`‘`š`œ`“`‚`j`N`3`_ö_Ô_»_ _ˆ_~_p_^_V_I_;_?_8_=_?_:_+_ ^ì^ø^ß^à^»^Â^ƒ^§`_ ^ú^ï^Ì^Ç^µ^´^¡^À_S^õ^z__T^L]Æ]]W]7] \ê\Æ\ª\‘\d\?\[ê[Á[™[m[A[ZéZÆZœZuZQZ6ZZ Y÷YÝYÆY±Y«Y²Y¼YÇYÖYçYòYþZYûYíYéYìYóY÷YþZZ1ZhZ­Zù[3[^[[¥[Ñ\ \8\]\\\@\+\'\)\4\6\)\ [ì[ã[ú\\A\M\C\A\W\†\¬\µ\«\’\l\S\P\e\ƒ\®\Ø\þ],]\]d]e]G\þ\±\£\Ë\ê\û]]#]*]2]A]\]q]i]D]#]] ]]]\ï\é\ü]]C]W]n]x]„]•] ]Ç]õ]þ]ý^ ^^.^P^r^u^e^S^F^C^H^J^F^F^D^F^C^F^D^B^?^=^:^6^4^3^5^5^5^/^)^%^ ^^^^ ^]ù]ç]Ü]Ð]É]Ê]Ê]Á]¸]ª] ]˜]’]Ž]Ž]Ž]]Š]‡]]~]‚]„]‹]‘]Ž]ˆ]y]h]V]H]6]%]] \ÿ\ð\ã\Ô\Ç\·\«\ \–\„\w\f\Y\N\?\4\'\ \\\!\,\1\,\-\4\;\<\'\[Þ[Ö[Ø[Ü[æ[õ\\ \ \\\&\?\N\P\A\ [ä[²[[€[c[>[ZþZáZÐZÇZÆZÍZÞZêZõ[[[[-[8[>[G[O[R[N[F[<[0[ [[[ZüZùZùZòZæZÕZÌZÒZÙZÝZäZïZü[ [[8[T[X[N[D[I[U[b[e[_[N[=[)[ZüZéZáZäZí[[[4[X[ƒ[«[Ö\\o\À\ñ]] \Õ\²] ]9\ú\Ê\Á\Ë\ö\÷\Ú\¥\k\7\[×[¨[Œ[u[s[h[h[s[{[|[t[y[|[‡[‹[ˆ[v[g[g[z[ [Å[Ù[ß[Ü[Ø[Í[¾[³[´[½[Å[Ø[÷\\ \1\2\2\*\+\.\7\?\N\]\n\w\‚\Œ\”\\¬\·\Ç\Ò\Ö\Ñ\Ô\Ö\Ò\Î\Ò\Ù\ä\î\ø]]] ]]]]]]]]]] ] ]]]]]]]]\þ\ì\á\Õ\Ï\Å\±\™\\t\h\b\Z\M\B\<\<\8\:\9\7\1\.\.\0\[ü\\A\‚\¹\¨\~\#[´[-ZÇZÍ[H[Ñ\\6\5\\\\ \[î[Õ[Á[¹[°[®[§[¯[³[³[µ[¶[¯[«[œ[[‚[t[y[‡[’[™[•[š[›[ [–[…[r[f[U[?['[ZòZÓZ´Z‘Z{ZOZYÏYYTYX¯X0W¼WWºXXˆXðY2YVYgYjYpYxY†YYY‘Y•YŒY|YiY[YTYKYJYFY8YYXðXâXÎX´X•XxXZXCX.XXX WóWÌW˜W]W9W;WLW\W`WTWRWZWgWzWŒW¡W°WÀWÝXX5XIXeX€X‹XhXZXlX–XÌXóYYMYwY—Y Y£Y·YÖYáYÞYÕYÎYÄY¯YY`YQY1XùXÊXŸX|XkXRXNXEX;X.X1X,X-X.X;XFXXXdXlX|XtXyXoXeXVX`B`B`@`9`<`C`S`d`w`†``˜`š` `¬`¹`Í`Ý`õa a-aFaOaMaUabawa—a¹aÕa×aÏa¯a‘ayaSa+a`ð`Ö`¾`¤`‹`‡`‹`¦`Æ`ëaa*aGaaasaaaa}auabaIa&aaaa`ñ`Û`¿`œ`t`J`7`(``````&`%`3`I`n`¼a"aMaEa@a@a a`ñ`ôaaa#a.a+a,a=a4a`æ`ª`…`r`t``Ï`ã`Æ`¤`z`D`_ý_Þ_Í_À_À_Ë_ß_÷``%`1`2`'` _è_Ð_Ç_Ì_Ë_Ñ_Ò_Ø_×_Ò_Ø_Ö_Ú_Ô_þ``I`ž`[`×a÷b°cScAbÒb½bãba¿aDa `Ê`¤`š`q`L`6_ó_Á_¶_¤_«_Ä_°__”_ _q_x_Ô`_Ô_f_9__ ^þ^Ó^–^´^æ^Ì^§^o^T^x^s^`^\^R^F^H^`^S^R^P^^^^’^]^b^i^q^i^^Œ^˜^•^r^5^^]ç]«]|]W]3]J]u]¢]¸]´^^…^Ü^»^|^‚^¡^¡^‡^Ž^‘^|^]í^]ÿ]Ê]°]g]Q]|]T]H]{]©]¿]¤]®]á]ü^^]Ö]¯]¥]]€]7] \Ô\•\c\.\[â[Ï[¦[~[E[ZðZÜZþ[$[[X[’[-ZFY´YŠXñX\WûW­W€WVWVòVêVèVæVùWW?W†WÃWËXX?X2X0X(WûWµW`WVÁV–V‰V‹VžV´VÃV¾V±V£V¶VøWbWÄX,X_X[X«YY6YXóYYÈYéYoY0XèX§XgWðW¥W¤WžW¿WþXOX\XÒY WÓWWW?XXŒXoYJ[t\f[=]‘`u``÷`ð`Îa:a®`f_Íbd˜eejb°_]]­]f\Ì\º^]Á]°^Ì^—^^ü`'_Â^”]â]Ç]Ñ]ß]á]ï]í]ñ]à]×]»]§]‘]}]`]t]•]‰][]\Ý\î];]?]E]]Ô_%a*`_u_î`»a(_ž^ƒ^d^B^ ^]ö]ð]÷^^(^<^=^7^(^^]ú^]þ^^^^^]ú]ø]÷]÷]ý]ý]ÿ]÷]ñ]ã]Û]Ï]Ã]²]™]Š]{]m]d]Z]N]G]A];]5]8]<]=]F]F]I]E]M]L]P]H]=]/]%]\ÿ\ï\î\ô]]\ê\Ñ\¼\·\µ\·\»\Â\Ì\È\¹\Ÿ\–\\ž\Ì]]T]`]7]]]]$]S]c]Y]D]]] ] ] \û\Ú\À\{\\<])]Ä^’býfQbÕ`Â`“`^`<`Na‡aB`‰`_Á_Ÿ_]_,^ü^ã^½^¥^„^m^U^M^E^E^3^^]Ü]±]¬]¿]Ò]Å]º]¸]¹]Ì]ë]ý^^^]ý]æ]È]²]¦]¥]] ]¤]±]½]Í]Ü]ì]ñ]î]ê]ï]ò]÷]õ]ô]ð]û^ ^ ^0^6^B^=^A^C^G^H^L^F^H^R^d^}^™^½^Ø^ä^é^Þ^Þ^Ù^Ý^æ^ò__$_V_€_½``»`ª_à_¾_Ò_Ñ_Þ_á_ì_î_ó_ø`_ü_ë_î_þ`'`»`ØaEbÀbIa°aaTaba\araea\aWaQaXa9a^aYa½cMc–b]=].]\Ú\Ô\Þ\ð\÷\ë\Ø\ð]]]]&]D]f]~]]}]ž]Ù]ö^^^^^^G^_^h^[^B^/^0^0^3^3^5^3^,^"^^^^^^^^^^^^^^^ ^^ ^^ ^ ^ ]ÿ]ì]Õ]Á]³]­]¦]¡]›]“]]†]„]…]…]„]ƒ]ƒ]‚]‡]Ž]˜]Ÿ]¥]¢]š]‡]s]^]I]3]"]]\ð\Ý\Ë\·\¨\›\\‚\x\k\d\T\M\>\1\'\\\\\#\0\,\$\ \"\#\[ö[Ï[±[©[§[¯[¸[È[Ò[Ù[Þ[á[ë[þ\\&\+\\[Ì[¢[ˆ[n[U[3[ZöZâZÒZÅZÆZÌZÕZÞZéZðZü[[[+[.[6[>[@[9[0['[[ ZýZòZéZâZãZãZâZÙZÈZ»Z·ZÀZÅZÌZßZø[ [([8[@[;[5[([&[.[>[@[4[ZýZìZÓZÅZ»Z³Z°Z·ZÎZä[[3[][[©[Ù\\q\¬\Æ\Ü\å\Ñ\þ]\ê\¹\‹\„\Ï\ö\Ñ\ \q\9[ÿ[Ì[˜[s[a[[[P[F[M[Q[T[R[Q[Y[a[`[V[D[7[:[V[[£[²[²[¨[ž[–[•[™[§[¸[Í[ë\\\0\3\\ \\\\ \\ \(\6\@\I\K\K\H\N\[\t\…\•\˜\Ÿ\Ÿ\¢\¨\«\¶\½\Ä\È\Ò\Ü\â\Þ\â\å\æ\ç\õ]]]]\ü\û\û\ÿ]]] \ü\æ\Ò\Å\Á\¼\¶\¦\•\€\o\f\Y\O\D\4\$\\\\\\\\\\[û[Ç[Ü[ì\C\°\á\Ú\|[ä[$ZºZÛ[0[w[¼[ý\ [õ\\[û[ê[Ö[Ê[´[™[Š[‰[€[‹[[u[s[†[‚[|[u[u[k[a[p[x[}[‰[Ž[š[ [¡[‘[~[n[a[K[7[ [ ZõZãZÈZ­Z˜ZuZ@YùY©Y]YX±X/WÁWªW½XX„XñY/YYYfYpYxYYŠY—Y Y¢YŸYœY˜YY„YzYvYmY\YBY!YXêXÞXÒXÆX«X›X‹X|XkXVXTXIX0XWÒW˜WhWZWhWyW}W|WxW†WžW´WÍWäWéWöXXOXbXdXX˜X¯X›XƒXƒXªXÜYYVY’Y½YÓYÒYÉYÐYçYæYâYäYÛYÄY¬YŠY`Y5YXßX˜XaXFX)XXX X WöWÿXX8X>XUXcXqX~X‰X‡XˆXŠXyX{XjXUX8XXWæWÏW¬W’WtW[WbWXW W·X X‘XäY7Y=YmYðZ\Z¼[ZŒZYàY¿Y§YYTY4YXýXúYY YNY‘Y¹YÞZZ7ZFZFZ?ZYÒY~YGY+Y@YtY¨YèZZ#ZZYãYâY¿Y²Y–YfY~YYœZ¤Z1Z]ZÎ[/[$ZæZâZÙZ¤ZaYñYgY%YYY YœZ"[i\¼\¡\H\Œ\‡\e\a\Z\j\ˆ\‘\±\×\ë]])]M]n]{]–]™]¤]§]°]»]Î]è]ý^5^Y^^«^Ì^â_ __^Í^•^Ÿ^^a^P^Z^d^x^‡^š^¥^­^¯^¸^Ä^Þ_ _=__·_í` `"`0`?`W`k`~`š`±`Î`Û`Û`Ö`Ø`Û`Ò`Ï`È`¸`«`¡`™`v`I`.`"`` `+`.`*`,`%` ````` `+`4`8`>`>`@`8`5`$````"`,`4`C`K`N`T```r`‹`µ`Ñ`ña8a_a]a?a;a@aJakaa±a¾a³a¡a„anaTa*`ú`Ò`º`¡`ƒ`^`F`6`L`q` `Ê`èaa2aNa]aXaWacaqahaZaAa6aa`ó`Ú`À`§`„`g`L`3`&` ``$`/`3`=`>`I`]`w`¬aaha}aaaKa0aaa aa `þaa)aaa`Ø`¶``s`k`r``¹`Ò`»`š`{`S`_ë_Í_¿_´_¸_Ç_Ý_ø``)`8`8`)`_ä_Ü_ê_î_¸_²_Ä_Î_ã_ì_ð_í```U`P`•a-`÷aÊcIcÒdWdc€cncbWaÕa_`é`¨`‘`L``_Ö_²_¿_Î_Ï_Ò_Ô_§_“__Ÿ_r_x_ç`B`'``_Ø__G_>_#___^Ñ^®^‹^‰^—^y^f^g^h^c^[^L^M^K^b^˜^ ^^^Y^\^]^‚^ä_^Ú^´^^d^H^&^]Ö]±]¶][]']:]~]™]z]³^/^i^A^&^f^³^^^ ^|^”^—^S^d^À^¨^-]´]š]§]z]a]a]k]^]G]^)^<^0^I^^]Í]Ô^A]°],\È\Ž\}\O\2\\[ð[Ö[š[Z[([Zå[[N[h[J[ZYÓY~YX€XWÜW¹WWCWWVùVèVéWW"W@WwW§WßX X XWðWÈWŠW9VîVÆV·V®V V¡V–VVzVƒV®VðW@WWµXX%XXLXXÖXôX¥XýY÷Z-Y}YXËXzX:X WÍWÁW»WÛX XEX€XØYXEW„WWgX!XCXXÁYõZç\,_ÀbFbÇc¾bÈ`Å`$_î^†_¿cœg+g†fócú`l]É\¶\½\í^^P]ï^^X^}_´a`^Ä^]ç]Ì]ã]â]â]Õ]×]Ñ]Ï]¾]¯]¥]–]…]v]0]H]à^]ï^5^Ø^‹^P^j^ð`Âb×aÿ`Ø`h`N`_^n^`^/^"^]é]Þ]ï^^!^+^/^^ ]ý]ô]ñ]ó]õ]õ]ò]õ]ó]ó]é]ã]Þ]Ü]ä]â]ä]Ý]Ý]Ó]Ë]¾]«]–]„]p]d]X]Q]L]=]-]]]] ](](].]/]4]1]2]1]1]*]"]]\õ\ñ\à\Ø\Î\â\í\Þ\Ì\½\¬\ \ª\±\´\¹\­\¤\Š\\¥\Æ\ä]]1]E]'\ÿ]]]1]<]&]] \÷\ù\ü\ü\ø\ó\Ï\È\’\©\m\å\µ] a%ca?`d` `O`_Ð`Q`_ì_®_€_o_.^ñ^É^¨^‚^b^B^*^^^^)^%^ ]Ü]§]v]y]‡]–]–]”]‰]…]Ž]¨]Â]Ù]æ]ì]ê]Þ]Á]ª]]†]]]…]]–]©]½]Ë]Ó]Õ]Ñ]Ö]Ö]Ö]Ö]×]Ø]à]á]â]å]ê]ó]û^^^!^!^^^ ^^/^K^m^’^«^½^Ê^Å^¿^º^Ä^Í^â^ó__,_d_ô`’`Õ`3_Ä_Ð_Ê_Ò_à_ß_à_Õ_è_ó_û``_ï``(`§`ž`¬aõaËa~aka0aEaBaPaFaEaAa9a:a"a:aAaDaÙaØa&`Í`Á`Ç`ã`ê`Û`Ç`Ã`»`¼`¹`´`­`¨`§`¤`¢`£`Ÿ`–`”`–`“``ƒ`x``{`{`t`Y`F`-`_û_Ý_À_£_ˆ_o_Y_N_D_4_2_)_)_(_:_i_4^ø^æ^Ê^¾^ž^©^b^|^)^"`­`E_ _^»^–^’^Œ^Ž^F^z__^ú^^G^]´]Œ]N]'\ø\Î\¥\ˆ\b\C\[ù[Õ[³[Ž[l[E[ ZüZÝZ¸Z’ZuZ^ZOZBZ1Z Z ZYþZZZZ Z ZZZZ ZZZ ZZZZ/ZSZŠZÅ[[E[w[š[Ã[ö\(\C\N\N\C\'\\\*\6\>\6\[ü\"\_\|\t\a\S\b\ƒ\Ÿ\¡\‹\v\U\.\ \\\J\{\¼\ø].]a]t]K]"\ä\Í\Ø\Û\Ý\â\ö]]>]B]A]%]\Í\¥\¡\·\È\Í\Ö\á\û\ú\ø] ]7]O]D]N]V]a]€]¶]Þ]ò]ô]ö]÷^^%^9^B^C^?^7^/^^^ ^$^^]ÿ]ï]â]Ý]æ]ë]ö]ö]ü]ý^^^^]ÿ]ý]ø]ø]÷]û^ ^^ ^]ó]Ô]¹]¤]š]‘]]ˆ]‚]]~]]…]ˆ]Œ]Ž]‘]™]Ÿ]¬]°]¶]´]§]Ž]s]]]E]0]]]\ï\Ô\¸\¢\‘\\t\i\^\S\O\J\A\3\*\\\ \\\\$\\\\\[Ý[µ[™[„[~[~[ˆ[”[¡[§[©[ª[¯[¼[Ð[è[÷[ü[ö[à[·[”[t[\[F[,[ZöZçZÖZÓZÏZÎZÒZÙZáZêZ÷[[[[#[*[0[.[#[[ [ZòZáZÖZÐZÏZÏZÏZÎZÅZ¸Z¦Z¢Z«Z®Z¼ZÏZí[[![*[%[[[[[["[[ZóZÙZÅZ®Z¬Z¨Z˜Z…Z…Z›Z²ZÐZû[,[W[}[¦[à\/\y\—\ \ª\É\é\´\´\Å\¤\\Û]$\½\y\c\+[ð[´[ƒ[H[:[1[+[&[+[7[=[<[;[B[@[:[,[[["[A[`[{[‡[€[o[j[u[‹[Ÿ[·[Ñ[á[ù\ \#\0\)\ [÷[è[â[à[à[æ[î[ó\\\\\\\ \\*\B\X\i\u\t\t\z\~\…\Š\”\˜\œ\§\´\½\À\Ã\Ë\Î\Ñ\Ú\ä\æ\å\à\à\Ü\â\è\ë\ã\Ó\¼\°\°\°\«\¤\”\\m\g\U\K\?\2\"\\\ \ \\\ \\ \\\[·[‡[[ç\j\Ð\ã\‰[ÊZèZUZjZÓ[%[k[º[ò[ù\\ [ø[â[Ì[»[¥[ˆ[y[t[i[m[l[U[Q[c[g[i[b[_[^[g[v[„[[•[”[[¥[¤[‘[[n[`[H[0[ZúZíZàZÊZ¹Z§Z•ZdZ&YÜY‹Y=XÙXlX WïXX@XŸXýY>YkYuYYŠY’Y—Y§Y¦Y¥Y©Y¯Y®Y¬Y¨YœYY}YbY:YXíXÕXÌXÂX¾X¸X·X´X±X¤X•XˆX~XkX6WúW¾WWpWƒW–WžW«W³WÂWÕWíXXX'X+XAXdXxXzX“X¯XµX«XXXÃXôYDY‹YÀYîZZZZYøYñYøYâYËY¾Y¡YoYFY#XíX¬XqX6XWíWñWäWÛWÒWÍWìXXXEXiXuXŽX”X™X›X¢XšXžX’X~XqXNX5XWóWÞWÃW®WWkWLWFWjW†W¼WäX±YÆY¿YiY‹YØZZ¾ZNY»Y°Y„YcY4YXîXäXÜXÓXáYY(Y>Y†Y§YçZ'ZBZiZ`Z/ZY«Y`Y+Y0YMY†Y¼YáYûYøYÿYËYÔY Y—Y[YcY3XÏYs]´^µ^?^Œ]\K\\#[DZ{Z(Y®YXåX»XÐYYYçZÙ]5]½\ª\‡\Ð\µ\O\ \\I\\é] ]&]"]]+]0]J][]d]k]h]j]g]p]‘]£]µ]÷^ ^K^]^t^Ÿ^¼^ì^Ò^‹^P^R^E^0^-^8^F^U^d^n^~^Ž^^^¬^À^ó_#_^_’_¿_×_æ_ú` ``<`P`f`}`…``“`š`£`®`«`Ÿ`’`~`r`f`Z`<` _ð_à_ß_ò` `+`?`W`o`p`s`{``w`s`j`j`h`h`Y`J`1``_ü_í_è_ç_ð_÷_þ`````.`g`àa&a?a€a©a°aŒala]aXasa£aÇaßaÏa§a~acaPa2a `Õ`»`«``_`,` ` `(`^`“`Ã`èaa+aLaLaMabaxarapaVa1a`ó`Ï`¶`£`‹`h`K`?`4`1`+`+`.`7`C`L`P`Y`l`†`­aa\a‹amaOa7aaa1aa`â`øa)aa a `Ü`œ`n```g`w`€`¤`Ã`º`¨`’`x`9`_Ý_¾_´_³_Â_Ü_ñ``$`5`4`#_þ_ô`` _ï_¨_¦_½_Æ_Þ_ç_í_ò``D`z`‘`ýa˜a|bNc•d3d«d cµcxcbgav`Þ`«`¬`¨`k`=`_ä_ö`` ``_ü_º_Å_Í_´_™_”_á`l`ã`ñ`í`ã``)`_Ó_n_G_!^ÿ^ù^±^~^^™^}^n^~^”^^x^i^[^`^Æ^Õ^~^X^e^‰^Ö_`_Š_^Ã^ ^”^s^6^E^]í]ñ]ž]K]]9]c]r]¸]ñ]ø]î^#^ ^Ù^—^„^‚^S^u^Ç^µ^£^ö^©^*]æ]ã]Ó]]f]¢]Ó]~]A]Ÿ^j^ž^j^[^D^m^^k_j^¼]Ù]\¯\¤\w\a\K\7\(\[ð[µ[l[E[Zó[ZøZäZÜZnYóY´YEX«X8XXWÌWvWGW-WWVèVîWW5W]W­WýXWçWÙWÜWÁW…WIW VâVÏVÈVÃV¶V¬V´VÑVíWW0WNWoWW¶W×WûX&X:XŽXØXÕYpYÌY„YXÿX¿XhX'XWÚWÌWÆWÍWöX'XeXXÄX³XKW£X XWèY=YëYÁ[h^,abñb¯aùcÃdcêaÂ_6bgôidjh>cN`]Ð\¦]a]ž]”^•_^Ì^×^Í_—`Á`_1^^]¿]Ï]Å]Ô]Ê]À]«]•]¢]¡]{]x]x]Œ^ _``Ÿasb*bªccbJ`ì`Ža~bb[aÅ`Í`(_Ÿ^á^f^=^#^!]ý]ß]Ò]ç]û^^^^]í]ß]Ø]Ù]Û]Û]Ý]Ü]á]ä]Ú]Ì]Ç]Ã]¼]¼]À]À]½]¿]¸]¬]]“]z]o]e]Z]M]B]2]#]]] ]]] ]]]]]]]"]]]\õ\ï\ß\×\Ê\Ã\¸\Í\â\ã\Î\»\¯\«\¶\¶\¦\¨\Ÿ\–\\˜\Ÿ\¶\Ä\Ù\ù]\ÿ\à\í\ï\ð\î\ó\ò\Þ\Ý\é\æ\ô\ã\ë\Ï\Ù\š\™\v\º]]N^X_Á`f`Ñ`Ô`\`_ _¦_f__l_C_!^è^©^…^Z^@^"^]ú]é]ä]ì]ú]û]ã]±]v]E]A]E]M]S]Y]S]W]b]€]•]´]Á]Í]Ï]Ë]½]®]˜]‹]z]u]v]]Œ]]¨]´]·]º]¸]³]®]¯]³]¶]¿]Ä]Ç]Æ]Ä]Ö]Ç]É]Û]ç^^^ ^]þ]þ^ ^^8^N^n^^§^±^±^¦^©^´^Ó^æ_ _'_^``Ê`Ÿ`_á_Ð_Í_Û_Ú_×_Õ_Ì_Õ_è`` ````$`€`_`‘baÓaUaBaaa"a'a)a)a!a#a aa9aaa6a`è`Ý`ï`Î`Ä`Ç`¶`³`ª`§`Ÿ`—`”`“`Ž``‰`’`–`”``ˆ`†`‡`ˆ`}`t`y`z`x`m`W`M`:`%`_û_ß_À_ _ˆ_l_Z_J_9_8_-_'_5_0_P_j_^î^ß^»^¬^Œ^~^J^U^$^|`A_¤^½^‡^¯_u^½^i^ª^E^$^•^Û^]Õ]Ô]§]|]N]$\ó\È\œ\x\R\0\ [ë[¿[¢[€[a[@[![ZäZÀZ¢ZŠZvZeZYZMZ\q\±\ò];]w]D]\÷\Ñ\»\¸\Æ\×\ñ]]?]K]9] \ë\¾\\s\ƒ\“\¤\º\Ó\ù]]]] ] ]]%]@]Z]j]„]—]­]º]Ê]Ø]à]ÿ^^^^1^A^D^0^^ ^^]ü]í]â]Ù]Ò]È]Å]Ï]Ö]Ý]á]é]ï]ð]ð]î]ê]é]æ]ë]ó]û]þ]ø]ù]÷]ê]Ô]±]Ÿ]–]]…]€]€]„]Ž]•]š] ]¦]¥]©]°]º]½]Â]¼]­]]f]L]8]$]] ]\ð\Ø\·\–\ƒ\s\d\V\K\F\C\?\4\+\!\\ \\\ \\\\\[é[¿[œ[~[k[`[\[^[f[q[y[{[}[}[ƒ[Ž[¡[¹[Å[Ñ[Ï[¿[[y[^[N[;[&[ZúZìZâZÝZÔZÔZÔZÚZáZéZñZþ[ [[[[[[[ZøZëZÛZÉZÀZ¿Z¿Z¼Z¹Z·Z²Z¡ZZˆZZZŸZ­ZËZáZöZúZõZòZòZóZóZøZþZ÷ZæZÍZ¾Z¯ZžZ›Z‹ZzZqZkZnZ„Z›ZÃZ÷[%[S[„[²[ð\B\|\\„\w\}\U\^\ˆ\¿\æ]3]J\i\*\+[Ý[à[·[t[ZøZúZÿ[[ [[0[5[3[-["[[ ZùZù[ [&[?[L[Q[S[F[A[R[c[q[[œ[·[Ï[ã[ú\\!\[ý[â[Ï[½[µ[¶[¹[¼[Ë[Õ[æ[ï[÷[ð[ê[ê[ú\\'\:\G\N\M\R\X\Z\d\o\u\{\Œ\“\¡\ª\°\º\À\Ã\Ä\Ç\Ì\Ç\À\Ä\Å\Å\Â\À\µ\¨\–\Œ\Ž\›\\¡\–\‡\u\g\O\G\>\7\\[ü[õ[ò[ö[ý\ \ \\\+\)[à[[s[¢\$\°\Ê\-ZßYåYLYKYøZ£[[[Ð[î[ò[ì[ä[Ó[Å[³[ž[‰[z[p[i[f[b[U[V[a[d[l[j[j[r[[„[[[œ[˜[Ÿ[¬[°[ž[Š[v[`[B['[ZîZæZÝZÌZ»ZªZšZvZRZYÛYŒY2XÊXoX\X~X´XâYYFY}Y“Y¢Y©Y¨Y§Y¼Y¹Y¯Y¬Y¹YÁYÃY¼Y²Y Y†YZY*YXÛX½X¬X®X°X½XÎXÏXÉXÃX¹X¦X´XÉXªXMWéW–WWŠW¦WÑWðWüXXX1XGXLX[X_XjXrX~XˆX˜X­X«X§X­X½XØYYRYšYÝZZ'Z%ZZZZYóYßYËYªY‘YjY/YXÎX‹XGXWüWëWØWÇWÃW½W¾WÑWÿX,XTX}XX¼XÄXÊX»X·X±X´X§X¨XXpXMX#X WéWÙWÃW W}WRW@W7WYWWŸXe]^»\È]¾]Ÿ[Z*ZY‚Y XïYY¸ZµZê[*\ý]ô]Ë]Á]$\Í\…\ [é[ë[Ø[à\\l\Ã\á]]]]]]4]!]2]L]S]]§]¾^^!^U^’^}^}^„^ª^¶^”^5]ù]ô^^^ ^+^(^5^?^U^b^^‚^^ž^Ð^ý_0_]_w__¨_À_Û_î``(`<`G`J`N`F`I`]`t`„`}`l`S`A`1`_ÿ_Ô_¶_ª_®_É_ç` `.`O`r`‹`¤`¹`Ó`ß`è`è`æ`Õ`È`±`•`t`F`_ê_Í_Å_½_Ç_Ì_Ð_Ñ_Ñ_Þ_÷`:`œaaLaea€aŸaÍaàaÊaša‹a©aìbbbaÛa–amaaaGa%a aaa`Ì`|`4``&`X``©`Ç`öaaAaHaLa_aqara}asa/`ñ`ã`À`¢`•`‚`k`N`<`/`,`+`,`5`>`G`Q`X`e`v``­`ÿaRa†amaHa,aaa3a`ë`Â`Úaaaa"`û`¥`c`[`c`o`l`|`™`®`´`”`m`8``_Ë_»_¼_Â_Ø_î` ` `/`*`_ù_ó`_õ_È_¡_¤_µ_¾_Ì_Ô_Õ_Ò_é` `‹`Öa4a¡aíb„b¾c‘d{d,các•cca¯a`×`²`°`”`u`R`O`n`k`w`‰`t`M`%`P`f`C`B`n`œ`äa3a>aHapaP`Õ`c_å_˜__B_^ê^®^¬^º^£^—^~^n^g^Q^b^u^]^s_^í^–^p^“^û_{_Ô_­_-^æ^Ê^·^^Q^R^G^3]ý]€]\ù]+]M]m]¿]Ð]µ]Ó^^|^®^^b^T^H^E^…^Ö__J^•^^ ^^ ]ê]±]Ï]ô]]B]˜^¯_%^¡^g^ž^¦^‘_x_ö^Á]â]8\è\Ï\£\‡\u\j\M\5\[ç[¬[ƒ[Y[#[ZüZÿZßZ‹ZYYöYrXíXX~XEWóWªWsWPW-WWW,WbWmW|WÁWóWÁWªWÊWÐW™WKWVóWW>WIWBW-WWWWWW)WOWsWxWW­WÛXX*X]¶_!` `/``@`I_ü`_¹_œ_Z_^â^¾^y^V^-^]ø]é]Ñ]Ç]¿]Ç]Ø]Ó]´]†][]5]]],]6];]-]%]%]@]S]z]•]®]³]´]®]­]ž]Š]o]\]V]]]g]{]‹]”]•]˜]—]˜]–]’]’]’]ž]¥]«]§]±]ß]½]§]Å]Þ^^^]ô]é]å]î]ù^ ^"^D^\^s^„^”^Ž^“^¨^½^Ô^ñ_(_ƒ``‡`_Ô_Ä_¦_³_Ä_Ë_Í_Ë_Ê_Ù_ò` ````)`"`H`>`¨a÷aˆaa!aaaaa a aaa `þa a#a`ï`­`¦`¨`µ`Ë`¾`©`¥`•`Œ`{`y`u`n`n`r`x`…`„``~`z`x`y`s`n`l`p`n`g`X`J`A`,` `_õ_×_½_¡_†_l_U_B_A_1_,_5_-_)_S_„_%^ç^Ô^¬^›^u^`^C^H^;^Ž_^›^f^a_Ÿ`Ö^ô^­^ò^A^]Ü^µ^œ]Ò]¸]–]e]>]\ï\Á\˜\m\B\ [ú[Ø[µ[›[t[V[6[ZÿZåZÌZ·ZZZZtZgZXZKZDZBZDZKZSZXZ[Z]ZZZXZOZJZ>Z9Z4ZAZXZvZšZÀZæ[[D[v[£[Ë[ò\\4\U\a\L\%\ \\\*\>\S\V\<\(\<\]\i\c\a\o\‰\\\s\p\q\Z\5\\\\%\@\m\¡\ê]T]A]]\õ\¸\¡\´\Ð\õ]"]=]E]2]\ë\Ï\™\i\n\\¤\º\Õ\õ]]"]!]]\þ\ï] ]4]T]c]j]†]›]¯]º]Ä]æ]ú]ÿ^^^.^B^@^"^ ]ó]ê]á]Ó]Ï]×]Ñ]¼]°]¬]¶]½]Ç]Î]Ù]Þ]Ü]ß]Û]Þ]Ü]à]æ]é]á]Ö]Ò]Û]ä]Ù]Ä]´]¦]ž]š]™]›]£]«]®]²]³]¶]²]±]¹]»]´]­]Ÿ]Š]r]M]3]%]]\ú\ï\æ\Ô\¹\˜\\q\\\O\D\>\9\3\+\#\\[þ[ù\\\[ü[ñ[ß[Ä[¨[…[l[V[H[B[>[D[L[O[R[R[P[Q[Y[f[y[Ž[ [³[°[¡[…[i[S[C[5[![Z÷ZéZåZÞZÜZÛZØZàZãZçZîZ÷Zý[[[[ [ ZÿZðZäZÛZÐZÁZ¸Z´Z±ZªZ£ZœZœZŽZyZlZrZvZ}ZŠZžZ¯Z¹Z¸Z¸Z·Z¿ZÈZÈZÐZÓZÐZÇZ¾Z´Z¥Z•Z‰Z~ZfZYZSZIZQZcZŠZµZâ[[’[Ì\ \M\o\†\x\b\V\s\¨\í]]a]N[ñ[e[’[„\ \[[ZÈZËZëZô[ [[%[%[#[[ZÿZúZù[[[[)[2[5[-[[[[#[.[0[H[x[•[«[¼[Ò[ð[õ[ø[í[Î[¯[ª[¡[˜[‘[–[ [­[¶[Á[Ê[Í[Ð[Ö[æ[û\ \\!\!\\\7\K\O\T\V\l\\–\ž\¥\ª\©\¨\©\©\°\´\´\»\¶\·\²\¢\’\‰\{\w\\•\–\ª\£\•\Œ\€\f\Y\Q\G\+\[ÿ[ó[ë[î[û\\\\\6\;\[¼[[p[ë\\›[YBXX!XÃY±Z_Zß[J[š[Ó[ê[Þ[Ó[Ã[¾[¹[¨[“[…[[w[n[m[g[f[g[k[p[q[v[€[’[[“[ [£[¢[¨[°[µ[¯[œ[~[g[H[0[ZûZìZàZÒZÂZ²ZZ€ZkZDZ$YåYY$XÚXÉXÑXüYY,YMYŠY°Y¿YÈYÍYÐYÔYÐYËY·Y»YÃYÒYÏYÅYµY•YUY&Y XëXÐX·X­X©X±XÆXÎXÊXÎXÏXÁXïY1Y$X¤XW•W“W¼WíXX;XJXNX_XmXyX}X‡X†X„X„XŠX‘XžX¨X·XÉXàXõY Y%YZYŸYëZ ZFZMZIZ.ZYõYÊYµY²Y¡YYQY%XèX¤XlX7XWëWÚWÑW¿W¥W¬WÌWÜWùX%XYXƒX¬XÍXéXøXçXÜXÒXÑXÊXÃX¨X™XoXIXWüWéW×W½WWTW2W&WBWrW”W¦XŽZ_[ZûYÑY•YÌZ ZYlYXñXÂX­X·XÄX¯X­XÑXöY Y6Y0YMYZZÚ[-ZåZ=ZYãY‘YPY*Y#Y8YYY~Y‹Y§Y¢Y™YiYjYnY²Y¦YLYSY] c\fø^–[€]Á_I]*ZñZ}Y°YVYiY›ZmZû[j\>\i]r^F]d]]\‘[ú[»[©[Å\\L\²]M]«]¬]A]"]&]\þ\ý\ô\é\â\ô]L]V]Æ^c^¥__{_3^Ç^¢^¾_#_)^T]Ø]ß]ì^^^^ ^^^1^7^U^c^r^^·^Ý__"_B_T_n_†_š_»_ç``&` `````"`?`Q`R`F`,`_õ_×_·_•_w_t_ƒ_”_¶_Ø``8`f`Ž`²`Á`Õ`ðaa`ÿ`ô`é`Ü`Ô`Á`¢`[`_Ü_Í_À_¾_Ì_á_ê_ò``2`™`Ô`áaaXaKaXašaÊaÛaÂa»a×bbaÿaõaßa¢aqahaRa.aaaa`ù`»`f`)`'`Q`z`µ`äa#aLa`adakawa…a…anaYa(`þ`ñ`Í`³`§`“`|`Z`=`.`(`*`*`0`=`G`S`^`p`~`”`¶`ÿaIazaoaBa`ð`×`ñ`û`à`Å`äaa a=aPa`·`i`U`]`d`_`Y`j`”`ž`u`G`-`/`_Ú_À_Â_Æ_Ö_æ```(`$`_ö_ç_è_à_¾_­_¬_¶_¸_¿_Æ_½_»_Þ`/`¬`Øaab!bSaÞb¤dd~dFcädc5baÎa8`»`­`Ÿ`š`Š`“`·`Á`Ô`é`Ì`«`«`Ç`à`Ð`½`÷aaaa)aOa`²`J_ú_É_©_”_g_2^Ø^¡^Á^¼^^˜^’^E^!^^5^t^‘^Ô^è^¡^‡^š^Ù_`;`Y_Æ_L_^õ^ë^ª^‡^ˆ^b^<]ü]^\×]]k]‡]€]w]_]A]…]à^^Z^h^T^b^Q^4^Š^ï_N_¦^Ó^^Q^|^+^2^]Ö]Ñ]•]j]è_ _^b^³___`#_}^] ]U]%]\â\Ê\¯\Ÿ\\g\B\[ï[¿[Œ[a[J[ZöZÉZ§Z‹YûYY7XçX¿XlXWÚWšWvWPW?WBWhW‡WvW|W›W¹WÆWÊWºW„W,VÔV†V…V¶V½V£VŒVsVsVƒV“V²VÞWWWWW~W‹W™W¨WÁWäWùX+XNX^XrX•X–XcXbX_X1XWíWÐWÏWÑWßX X)XeXdXÈZUZjXÅXiXÑ[X^†](\6[Ë\×^D^â`Èc@d³dA`^U_b`aÑdßgåfya,](\™]c]z^_^¸^˜^™^ü_É`­ava%`h_|^Ã^J]û]û]ú^,^_^š^ò_º`m_Õ_"_¾aZbûb–b_b}bÓbœbasa `Ã``` ``)_ç_†_&^Œ^M^1^ ^]Ý]Û]Ü]è]ê]ã]×]Å]­]]‘]”]•]œ]œ]ž]¤]²]¹]º]²]¬]ž]Œ]ƒ]]ƒ]‚]„]‚]]z]k]^]S]G]@]0]!]\þ\ï\ç\ß\Ù\Ö\Ö\Û\ß\ã\ð\ô\ú\ø\ð\â\Ô\È\¼\²\­\ \›\\—\¶\á\é\á\Õ\Ç\´\¢\–\\‘\£\¥\­\©\‘\‚\w\r\Y\I\M\r\²\Ø\×\Ø\¿\Å\¸\Ê\Ë\Ï\Ñ\ß\Û\Ö\¿\™\•\›\µ]8^j`baJaXaXa6`Š`v`t_Ê_‰_H^û^°^Š^B^!]ú]ã]É]Ä]¶]²]¨]§]¡]š]Œ]v]V],\ù\ô\ÿ]]\ú\ü]](]A]]]]©]­]·]²]¶]¦]—]}]b]V]\]`]l]w]{]{]y]y]v]k]g]j]q]{]]…]‰]‰]›]–]¦]Ï]è^^^^]ú]ï]í]ñ]ú^^^+^B^W^n^w^^^œ^¶^Õ__v_í`5_ä_œ_‹_†__©_´_»_Ã_È_Ö_î```#`"`(``$`!`6`¯`³`Ù`øaa `ð`é`ê`í`ö`ý`ú`×`Ã`¹`¢`“`“`§`®`Á`¼`¶`¤``ƒ`€`o`j`^`S`O`S`Z```a`a`\`\`[`^`V`W`S`W`]`P`C`7`+`!``_õ_×_¼_ _ˆ_m_Y_F_?_(_8_)_/_‘_…_o_(^Ü^È^ž^Œ^j^Z^H^H^R^o^]^Z^h^X_­_æ^¯_&^ß^ ]ö]á^Ë^Æ]Ö]À]‡]S]8]\î\Å\•\k\?\[ë[Ê[ª[‰[g[J[([ZþZíZÖZÈZ·Z¨Z›Z”Z…ZxZmZfZgZjZrZsZzZzZzZpZhZeZdZ_ZYZXZgZ}ZœZ·ZÔZï[[=[k[’[¾[ä\\4\O\h\T\&\[÷\\ \7\H\Z\c\\\P\R\Y\\\f\x\Œ\…\l\U\R\]\S\;\#\\\$\2\N\ƒ\¼]]A]P]E]\¿\¦\¼\Ù]]/]B]8]-]"\ö\Ý\½\‘\r\x\š\©\Î\ë]]*]1]4]'] \ô]]&]D]P]d]q]z]›]±]Ã]Ð]Õ]å]ÿ^^1^5^9^5^]é]×]Ê]¸]´]Ã]Ã]³]¤]Ÿ]¢] ]­]·]Â]É]Ì]Í]Î]Ô]Ö]Ü]Ú]Ù]Ï]Ç]Æ]Ì]Ö]Þ]Û]Ì]¸]«]§]«]µ]Á]É]Å]»]¹]·]´]²]²]¢]’]‹]y]b]O]8]$]] \ü\ì\á\Õ\Ì\»\ž\„\u\f\V\E\<\1\-\$\\\ [ÿ[ú[÷[ö[è[Ù[¿[£[‰[q[a[L[<[0[([&[([,[-[-[)[([+[1[=[M[i[[‘[”[Š[t[^[J[:[0[[ ZøZêZãZâZåZâZâZãZãZäZçZêZïZòZòZ÷ZýZüZóZâZÖZÐZÊZ»Z´Z­Z£Z”ZˆZZ€ZuZbZTZYZ]ZcZlZuZ€Z€Z{Z€ZZ‡ZŒZ‘ZœZ¡Z¤Z¦Z­Z¨ZžZZzZnZRZ@Z?Z6Z.Z6ZPZmZ™ZÕ[ [i[²[ô\*\B\d\}\~\\©\ç]]@][];[®Z`Z®[([±[Æ[QZÿZÇZ×[[$[0[2[#[[ ZüZøZö[[[[[[.[2[ZóZâZãZìZîZùZý[[D[a[|[‘[¥[¼[Ç[×[Ð[½[®[¸[µ[£[ˆ[{[x[z[†[Š[’[ž[¨[°[¾[Ñ[Û[å[ã[à[Î[×\\)\2\A\M\c\w\Ž\™\š\’\\‹\Œ\\›\®\»\¾\±\®\ª\Ÿ\\\o\o\v\o\b\–\´\¸\¯\¡\|\p\t\q\W\2\ \[ó[ð[ù\ \\\\>\A\4[ù[¤[t[Æ\/\/ZîXV¼WlX˜Y¡ZGZÈ[&[u[®[Ì[Ð[Ð[Ò[Í[Å[¹[¬[œ[“[‰[[|[u[o[m[p[r[t[|[[¦[¢[£[¸[¿[·[³[²[³[¯[£[}[f[M[7[[ [ZôZßZÇZ«Z–Z€ZtZVZ2YóY­YlY@Y*Y!Y4Y:Y>YUY†Y£Y·YÑYàYíYïYêYçYÚYÚYÚYÞYÛYÜYÒY³YrYKY5YXóXÚX¿X®X«X¾XÕXàXßXÞXÚYYEY4XÀX0WÐWÓXX:XbXvXƒXŒX¡XªXªX¤XžX•X’X—X£X¬XÆXÑXÜXðYY6YPY]YpY©YêZZ:ZBZGZ(ZYÚY¹Y¢YšYŸYYXY&XáXšXPXWùWåWÊWÂWÂWÇWÈWÑW÷XX:XpX–XÀXâYYYY XïXìXåXÜXÒX¹X’XqX8XWûWíWÓW¬WxWNW7WNWoW–WÏWñWäYÆ\[ZÈZÚYçYYŠYKY#XìX½X™XƒX—X™X}X¸XëYYY1YsZZä[?ZØZ.ZYÒYžYbY3YY Y7YOYcYsYnYnYOYhY±YÐY‹YNYÜYn[*^Ã`È[ø[†cM_û[æZqZY¢YrYcZ[Û\ò\+\—\‡]]ñ]x^F^W])\Ú]]]c^è`óaÿaÂ`¹_V]¿]\í\Þ\×\±\¦\ \Ü]9]Ô^2^Ì^¶^g^^•^Ÿ^˜^™^^¶^¯^]Û]ÿ]ú^^^]÷]ù^^^^$^2^Q^x^^¸^Õ^ê___._I_e__Ä_å_ç_Û_Ø_Û_è_ô```` `_û_à_¾_ž_„_i_X_I_R_\_t_•_Æ_ü`?`q`ž`À`Ý`ýaaaa`ù`á`Ï`±``‚`Q`_þ_é_á``D`e`u`h`h`r`F`Z`éa0aa a?aea‚a’a˜a¯aÃaÇa·a´a°a•aada0aaa+aa`ë`Ã``:``@`t`Ãa aIa}a¨aÀaÜaïaîa×a”aeaUaaaRa#a`Û`ª`~`T`6`(`"`!`'`,`:`D`V`c`v`†``ÂaaJaqaqaJa`á`½`º`Ú`ð`üaaa"aMaaa`µ`q`S`V`X`V`L`Q`|`Œ`r`@``` _â_Ê_Ç_Æ_Ó_å_þ``#` `_õ_ã_Ó_Ï_¾_¸_²_³_­_®_®_­_®_Û`4` `È`ïa=aÛb aæb~c9d4d%cÃdPc˜bFa×a]`þ`Ø`Ê`Û`Ô`Î`ð`ÿa a.a"a a&a=aNaQa"a=aAahae`ü`¶`m`4`_Ú_Ó_³__i_6_^Ç^Å^Î^ƒ^Œ^¦^F^ ^$^Q^¢^ç^û^Â^±^²^É^÷_|` `9_Ð_v_J_<_B^ß^Á^Ä^{^.]ù]y\Ü]]l]k][]\ò] ]9]^]†]ç^0^.^t^‘^‹^æ_?_{_Ž_^¹^Ñ^¨^B^C^^^,]Î]I]^<^v^ß_‡_Ë_A__ÿ^Ñ]â]Ä]›]q]4\ý\Þ\Â\®\ž\\z\K\)[û[Ç[“[q[E[ZßZÊZ–Z YÕYoYXØXX=WòW³W–WvWcWeW{W‹W”W±W­WÁXWìWW,V×VVKV*V/V!VUüUéUöV9VfV”VÝW,W_W~W†W’WšW©W¦W¿WåXX%XX6XpX¶X~XPX4X"XW÷WçWÝWàWþXXXfX™Y['\BZ!YÄXÒY¡\Z\:\Ø]"]x]¼^4_*abiaK_9^6^È_;a/c÷g–eþ`†\×\~]]2]§^d]ü]è]ø^c_4`]bbtaÖ`ñ`:_¬_9_)_e_Å_¿_Ñ__§`4_æ_©`abob?b%baàaçaæa™a3a`À`t`R`/_ø_Ë_0^o^0^^]ú]ã]Ú]Õ]Ï]Ê]¾]§]’]|]m]h]h]m]r]x]ˆ]‹]—]ž]¬]©]¤]—]…]x]m]n]o]s]v]p]m]g][]L]>]/]] \ù\è\Û\Î\Ã\Á\º\¿\Á\Ì\Ó\ß\á\â\Û\Ø\Í\½\ª\£\›\“\ˆ\\z\…\§\ß\ñ\ì\Ô\ª\–\\‹\\ \±\±\±\¥\\a\]\Y\2\$\=\l\±\å\Ý\Ì\­\´\Ä\þ]\æ\à\Ö\Ú\Û\â\´\\\x\©]4^²a«eoe,b½`Û`»`Š_¤_X_^§^z^Z^&^]Ù]»]Ÿ]™]“]Ž]‚]†]‚]]j][]G]1]\ü\ì\è\é\â\à\ò]]4]S]€]«]²]Â]Ä]Á]§]™]}]_]N]J]E]I]Z]k]f]U]T]U]P]O]H]K]M]T]Z]`]e]w]’]³]Ê]ã]÷^]þ]í]ê]ê]ï]÷^^^^^^2^H^W^b^i^z^^½^Ù_+_ä`_ª_l_d_g_x_Ž_¤_­_¹_¾_Ë_ë` ``` ` `!`!`-`D`}`œ`¼`Ï`Ô`Ü`Õ`Î`É`È`Î`Ñ`Ç`¦`™`›`˜`‘`Ž`Œ``“``”``{`p`^`M`D`<`/`%`.`5`9`<`@`?`B`?`A`>`<`@`B`=`6`-``` _ü_ó_Þ_É_·__Š_d_Z_?_._-_4__}`}_Â_^ò^É^´^^}^h^\^U^X^U^h^P^s^P^Q_^ã^†^¿^]ñ]Ô]Á^2^]ž]¸]t]9]%]\ß\»\˜\e\9\[è[Å[¥[‰[i[D[([ZÿZñZâZÚZÎZÁZ´Z­Z¢Z™Z‘ZŠZŠZŠZZŽZ“Z”Z”Z‹Z‚Z~Z}Z€Z€Z†Z•Z©ZÅZÜZõ[ ['[H[j[Ž[·[Ý\\\>\_\T\'[ÿ[ó\\\)\4\<\[\‚\ƒ\k\a\h\p\}\‰\€\g\L\G\I\K\G\F\G\D\;\:\K\y\°\â] ]=]:]\ì\á\ô]]G]c]^]@]"]] \î\Ô\½\”\€\\ª\Ñ\æ\þ]]6]Q]M].] ] ],]A]A]Y]m]}]ˆ]ž]µ]²]Á]Ú]û^^@^C^/^'^]î]Õ]Ì]Á]¸]¸]²]¨]ž]¡]ž]] ]¬]¹]º]¼]¸]º]Ã]Ò]Ý]Ù]Ò]Í]Ç]Ç]Ç]É]Ô]Õ]Î]¼]­]§]­]¹]Â]Ç]Å]¼]·]°]«]§] ]Œ]x]m]U]<]+]]] \ü\ñ\à\Ó\È\Å\·\Ÿ\†\w\n\`\K\:\)\$\\\[þ[ò[ç[×[Ì[·[ª[‹[q[b[R[E[3[%[[[[[[[ [[[[ [[)[E[_[q[y[r[i[W[E[4[%[[ZðZæZáZáZçZëZêZäZáZÚZÙZÜZáZãZéZíZîZëZáZÔZÇZÁZÅZºZ¬Z¢Z›Z†ZqZdZaZ[ZNZAZCZJZPZQZSZVZTZPZRZUZYZ`ZdZpZ}Z}Z{Z}ZZ|ZlZ^ZRZ^V^l^t^a^@^]Î]µ]Ó]Þ]ÿ]ü]û]è]â^^^^ ^ ^^C^y^•^®^Å^Ù^ë___9_^_‹_ž_ _•_˜_¥_­_¾_Û_ì_ê_é_æ_Õ_¸__f_N_-_#___!_/_>_e_Ÿ_ü`Q`—`Ìaa1aOaTaFa"a`Þ`Á`¢`‹`‚`c`4`_û_ì``R``Ÿ`‡`H_ñ_Ó`H`ß`ø`Ð`Ë`åaaa*aLa„aªa°a®a¥a‘azaoa7`Ü`Æ`ía'a`ì`Í`¨`b`_þ`(`k`¨`æaaWa”a±aÈaÛaäaäaÂa®a˜a‰ataQa`Ð`‘```=`+` ````&`6`C`T`h`~`‘`¨`ÐaaPajakaLa`â`¯`•`´`ÿa*a%aa.aWaXa `®`s`T`N`M`O`L`M`]`l`h`9` _ò_ë_Õ_Ê_Ì_Ì_Ð_ã_ý`````_ô_Ý_Ó_Å_Á_¹_³_¤_¢__©_¦_Æ` `[`¦`êa9aÿbŸb=bb‡c¯cƒbãctcŽb£ba·aba%`þ`æ`î`üa#a5a8a\adamaˆa¦a²a a^aVaMa¢a¹a(`¬`S`.`_½_±_§_—_s_-_^ë^Ì^ó^½^†^|^a^/^2^Z^†^§^±^ë^è^ä^ó_8_·_ù`_Ì_†_d_d__[_F_^v^!]ç]‚\ó]]T]T]f]\º\Í\í\ù]*]]ë^,^Å___A_Å`¡`Ÿ`_ˆ^Æ^ˆ^·^Š^^*^|^]‹]¬]«^)_Q_ ^¸_ _j_.^e]Æ]ª]‰]}][]@]9]\Ò\À\±\›\z\P\)[ü[½[t[O["ZâZ¶ZvZ&YæYxY%XäXŸXUWûWÈW¯W›W‘W˜W©WÌXX"WÖWÀWøW÷WµW^VÿVÔV§VcVqV›V«V­V•VdVbVˆV¹WWKWnW}WWžWžWŸW«W¾WßWòXXX,XAXeXGX7X*XWøWâW÷WíWýXXX6Xa–aÚaâa›aŸa¢aa_aGa`Þ`æ`Â`m`_.^V^^ ]ø]ä]Ö]Â]´]¬]]]y]b]N]A]@]C]H]S]_]o]w]ƒ]ˆ]Ž]‘]]†]w]i]a]^]c]`]\]_]^]Z]R]H]<])]\ø\ç\Ø\È\¾\°\ª\ \¦\¨\¯\¶\Â\Í\Õ\Ë\Â\¯\¦\•\‹\\y\p\f\e\z\“\·\Ù\Ý\Ë\¨\Ž\\}\…\«\Ê\¾\£\~\h\M\7\*\&\C\_\}\¡\Ç\Í\Â\³\­\Ç]]$] \þ\á\Ò\Ý\à\Ç\•\…\p\½\²]i`>c&a†`7_´_ž_š_I_^¸^i^F^]ö]Ú]´]]v]n]i]i]`][]S]R]K]G]0]"]\ý\à\Ì\»\È\ã] ]1]L]k]Œ]§]³]º]¹]²]¢]›]†]l]Z]P]<];]D]R]c]\]G]=]/]*](]1]3]6]<]K]_]w]‡]]]£]°]¸]½]Ä]Ï]Ò]Ø]à]î]ó]ð]÷]ÿ^^^0^@^G^R^V^™^¤_`T`3_o_L_G_O_g_|__›_¨_½_Ü_ÿ````````)`M`n```œ`©`¹`¿`·`­`©`«`©`–`‹`Š`Œ`‹`†`y`r`t`o`o`m`f`]`I`>`-`````` `` `$```%`(`%`!````` `_ù_ï_ì_â_Ô_É_¶_š_…_m_X_8_C_&_(_W_v_æ_^^ç^ï^Á^§^‰^t^_^]^U^^^L^_^I^ƒ^©_`7_%^þ^w^ ^¡^]´]µ] ]ž]¥]h]M]\õ\è\µ\\c\4\ [â[Ã[£[„[d[F[*[[ ZûZóZíZãZÛZÏZÄZ¿Z·Z¯ZªZ©Z¨Z­Z°Z°Z³Z¯Z§Z ZšZœZ Z¨Z°Z½ZÑZäZô[[[)[>[][|[˜[µ[Ñ[ë\\\"\ [ö[ö\\ \3\9\3\:\^\}\{\o\r\t\w\‚\„\z\u\y\q\f\_\`\Y\K\E\D\J\l\§\Ø\ú]#]/]]]]"]L]…]”]~]^]8] ]\þ\ê\×\Ã\¯\©\Ã\Ö\á\ó]]]@]`]m]^]C]3]-]4]=]H]]]d]{]“]›]¹]Ó]û^^E^b^C^^]ö]Þ]Ñ]È]À]³]¡]œ]š]£]¡]¢]ž]«]¶]º]¸]±]­]¯]¿]Á]Ä]È]Ç]Á]¸]°]°]´]³]¯] ]š]”]™]¢]­]±]°]ª]œ]]‹]‰]ƒ]v]^]I]/]] ]]\ü\õ\ê\Ö\Æ\À\»\ª\—\„\x\l\c\O\7\$\\[ü[æ[Ô[À[¶[­[˜[~[u[f[T[F[:[([[ [ZþZûZÿZüZôZêZæZéZíZóZ÷[ [$[>[T[a[d[^[K[9[+[[ZüZíZäZäZåZêZîZéZáZØZÏZÌZËZÔZ×ZßZÞZâZÞZÓZÇZ¼Z´Z¶Z°Z¡Z–ZZ{ZdZQZHZAZ8Z.Z0Z7Z=ZAZ>Z:Z=Z6Z3Z6Z8ZAZJZUZWZOZGZ?Z[*[ZßZˆZ;Z0ZIZcZˆZ˜Z¼Zñ[$[H[l[z[e[G[6[2[8[K[^[p[ƒ[„[t[b[W[L[N[J[W[V[Y[_[n[n[ƒ[¨[º[¹[¿[Ò[ð[ô\\(\K\u\£\®\°\¨\{\\ž\˜\¨\½\Ï\Þ\Þ\Þ\î\ü\é\¶\[\ [¶[/[[_[Ù\r\¬\¾\º\µ\Á\Î\º\¦\\E\#\\\ \\\\(\0\1\$\ [Ø[Ã[Þ[yZ YBXŒXèYyZZZ¬ZÖ[$[e[‹[¦[¾[¹[º[Æ[Æ[Æ[¹[¯[Ÿ[[†[u[Z[X[_[f[k[w[†[˜[¦[­[Ê[ë[è[Û[½[­[§[ž[Ž[‚[m[V[@[6[[ZýZíZÎZ¦ZwZ[ZYZNZ.YýYÈY¡Y’Y‰YpY^YeYtY‚YY–YŸY¸YÓYàYÞYÜYÞYÙYáYêYîY÷YòYêYØYÂY™YlY%XûXãXØXÇXÉXÌXÛXòYY-YGYQYIY#XúXÙXÔXßXâXêXðXòXþYX÷XåXÔXÑXÎXÏXÝX÷Y YY"Y+YDYmY˜Y½YËYÍY¿YÉYñZZ ZYúYûYéYÚYÀY¾YÅYµYzYFXüXŸXDXWñWýXXX7X?X@XFXMXjXX±XÑXêYYYY*Y9YCY6Y-YY XøXÞXÂX®X~XXXCX%XWìXWÕWµW¡WŽWèXòYXxX¢Yç[Ô^½`§^±[ýZ§YÕY_YX•XœXŠXXXLXmXX»XÌYYUY’Y¸YÏYÐY·YˆYŠYjYPY(YYY"Y*Y?Y>YIY"Y>Y3Y¤ZYÆYÏYØYûY‰ZYeZ5^ÍbÅ\ Y^YÁY-XèY^YY…[M^[ž[<\Ÿ\U]¿]ã\i]^»^g] ]Â^j^q^w^ý__~_Â_I^Ë^®]ß]\ì\à\ø^œaÑaÉ_æ_–^¾^^@^8^?^3^5^]Ó]©]œ]—]®]Ì]ë]î]Û]É]Ì]â]õ]ý]ú]ß]Ú]ø^6^i^Š^•^™^—^¬^Ä^ä__1_H_T_[___c_}_®_Ï_Ð_º_§_Ÿ_˜_€_\_/_^ø^ä^Õ^Û^æ^ù___K_¯`/`¨`óa'aKada\aLa0a `ã`Â` ``l`J`%` _ñ_ã_ê``Y`{`n`3_ø```Â`Ã` `Ž`ž`Ã`Æ`Ï`ða0amaŠaa„aiaOa7a`Õ`Í`öa`ù`É` `|`2_ó_à``O`Œ`»`ÝaaFa\aqa•a²aÆa·a¾aÅažaea4`ê`¨`q`J`1`#`````%`/`@`Q`h`~`•`´`éa(aUaea_a=a`ç`­`‰``ðaaaa5aLa4`æ``m`U`I`I`L`Q`V`O`O`I`)`_ò_ô_æ_Þ_Ð_Î_×_ê``` `#`&`` _ò_ä_Ô_É_¸_±_¥_ª_©_¸_Â_Ø_õ`+`q`åabaÏb™bFa{aãb´b¢b¡bácb¾bXaúa¦aea*`úaa0aYaYaZana}aªa³a×aãa¿a‹agaIaoaM`ÿ`®`;_é_°_ƒ_~_x_y_ˆ_G_!^ã^Æ_ ^û^²^™^Â^•^c^„^›^±^Ö____/_…``G`B_Ú_}_T_b_Å_Ú_Ì_E^|^)]ý]Œ\ô\ß]-]C]t]?\ª\\¿\û]`]ã^^Y^ó_A_{_¿`daŠat`”_·^‹^ _^b]ù^&^º_^»^]¼]©^A]¶]è^£^U^]ß]s]h]M]i]Á]ï]Ý]š] \Ù\Ø\¹\¤\|\b\J\[‘[1[ZãZ»Z{ZY×Y‹Y]B]B]?]7](]\ÿ\è\Ó\Â\±\¨\™\‘\Š\Š\‘\œ\£\¯\²\³\«\¬\™\‰\{\q\g\`\U\U\W\h\}\‘\¶\Ä\¶\\\‚\‚\Ž\´\Ô\¿\˜\o\]\A\'\-\?\Y\r\‘\Ÿ\’\•\£\Ä\Ó\á\ÿ]]\û\í\Ü\ä\Ù\Ä\ \ˆ\_\£\Í]–_öba`'___^ô^¥^Y^+^]é]Ô]¹]”]i]M]A];]5]6]9]5].]%]]]]]\ë\Ö\½\Ê\í]];]a]y]”]Ÿ] ]]œ]‘]ˆ]y]j]Z]P]M]/]$]+]C]W]R]8]3]-]/]3]4]4]7]D]_]j]m]f]Y]P]X]h]y]s]k]p]t]|]“]«]¼]Ç]Ï]á]ï]ú^^^!^(^*^i^`^É`V`_C_)__>_Y_a_r_‰_ž_¾_ã` ```` ```"`0`7`N`c`u`‡`œ`±`®`¦``•`Ž`†`|`{`‚``ƒ`y`j`Z`M`K`W`\`c`Q`A`)`_ù_ë_è_â_å_í_ø_ý``` `` ``_ü_ù_õ_ì_å_ä_Û_Ø_Ó_Ç_Å_º_§_œ_…_f_G_7_5_ _u_ø_]__^ó^è^Æ^·^‰^r^Z^\^P^Z^E^W^1^—_h_X_‡__/^p^]_8^t]×]˜]ˆ]œ]œ]d]M]1\è\Ì\®\\[\+\[à[À[¢[ˆ[k[L[/[[ ZþZýZ÷ZôZêZãZÜZÓZËZÆZ¾ZºZÀZÂZÇZËZÐZÏZÊZÃZ½ZÀZÃZÐZÞZíZú[[[[)[8[M[b[x[‘[¨[¼[Ó[ì\\\ [ý[û\\/\@\@\2\'\7\Q\Y\\\a\f\i\u\…\•\¢\¦\¢\”\„\v\c\U\M\P\V\‚\½\å] ].]M]K]F]3] ]];]i]~]i]@]']]]\î\ã\Ú\Ñ\Ð\Ï\Ú\ï\ý]]5]X]s]]v]W]-]] ]!]9]X]q]„]›]°]É]ó^^6^V^S^<^^]ú]Û]Å]´]¤]’]]•]¢]¨]¥]£]²]¹]Ä]¾]´]­]¥]¨]§]¬]²]²]¯]]‡]‚]]y]q]a]_]\]b]c]l]r]r]o]e]^]Z]Z]V]K]6]!] \ü\õ\ð\ê\î\ï\ï\á\Ì\¿\³\¢\\z\q\g\\\J\2\\[ð[Ý[Á[©[”[‡[„[~[n[a[M[>[1[#[[Z÷ZðZîZõZöZìZàZÕZÓZÔZÕZØZÝZî[ [&[;[K[R[L[?[*[[ [ZóZëZäZèZëZïZîZçZÝZÑZÄZ»Z¼ZÇZÌZÕZÓZÖZÌZÄZ¸Z¯Z¡ZšZZ‘Z‹ZˆZyZ^ZCZ7Z-Z(Z Z#Z)Z.Z1Z/Z.Z0Z*Z%Z!Z!Z'Z3Z:Z6Z+ZZ ZZZZZYýZZ Z Z ZZZYúZZJZ¥[[q[Ë\\O\\™\Ÿ\•\œ\¼\°\‰\4[¾[:ZôZ÷[ZóZàZäZíZÌZÈZÌZ¿Z¾ZZiZZ˜Z«ZÁZÞ[ [0[7["[ZÐZŒZ4YÿZ Z2ZfZ–ZªZÊZÝZþ[*[I[][Q[&ZÿZñZù[[4[S[k[l[m[c[\[Q[R[M[\[[[W[g[‡[ˆ[­[Ö[Ü[Û[Ö[Ë[º[¯[¾[Õ[þ\?\\»\Ë\À\\®\Â\É\ã\î\ô\÷\Ù\±\±\»\º\ˆ\[­[(ZuZZ3Zü\\¡\×\ë\Ö\Ä\À\«\«\™\t\<\'\\\ \\\\\"\\\[ù[ð[“ZþZUYâYìZZlZ´ZÆZÌ[[C[p[[«[±[¼[Å[½[ª[š[”[[h[Q[J[B[D[G[S[b[t[|[ˆ[˜[°[Ä[â[ë[í[Ë[±[ª[©[©[Ÿ[‰[l[N[A[ [[[ZáZÉZ¸ZZƒZqZXZ9ZYëYÊY²Y§Y¡Y Y¡Y£Y§Y®Y°Y®Y³Y°Y£YœY™YŸY²YÃYÐYÝYâYáYÞYØY¾Y˜YOYXðXåXÚXßXéXúYY4YHYjYyY„YrYYY:Y8Y6Y5Y2Y)Y*Y YYXÿX÷XóXüYYYY(Y*Y5YKYoY›YÃYéYøYõYàYÆYÄYÙYÝYèYêYöYçYçYíYæYÛYÍY˜YXXýXµXfXX X X4XTXsX‰X‹XX”X¡XµXÝXõY YYYYY4YGYWYWYHY>YXùXàXÌX³X—X{X^X9X#X*XXWåWÓW­WÝXvXÔX_n_­_¼_¹_°__\_@_+_^ÿ^ð^Ú^Å^­^ª^°^º^À^×^ó_V_ö`’`ða$a6a`/`&`````_á_×_é_ý```%`)`+`!` _õ_ä_Ð_Å_µ_³_µ_¿_Í_Û_è_ø``*`G`¯araÄb©bØa®a†aÅbbåbëbÚbÍb‚b%aôa¾avaWaUa‡aÃa»a¨aa‚aÁaÔbbaîa©aoa:a`©`|`M` _Î_k_A_A_O_K_|_f_C_ ^è_"_^ì_ _^©^|^©^Á^ú_-_0__&_s_­``#`_¾_{_T_b_Ã_Ó_¾_;^Ž^D^]¦]\À\ä\ä] \ø\“\y\®\ä]b]ô^;^|^ó_m_Ú_ç``ažaÜa``y^Ó^²_(^=]ô^O^Ç_ ^2]ª]%] ]n]\]l]›]—]£]u]C]s]i]Œ]ø]ö]°]¿]D\ü]\æ\Ð\”\‰\¦\²[ü[/Zô[[ Z¢ZYÍYYOYXåX¡XUXWõWêWçXX@XLX¯XÑXŒXDX]X€XƒXvXWoWWW9WfW¡WµWŠWgWSWYWpWŽWœWÓWáWÖWÊWßWÚWÚWÑWåWùX XXX2X1XWåW¾WŠWWšWÎXXXXX"X¶Zn[÷]^9^^“_§_ñ\Ó[—\ô^(_;aedmay_[__œ`ÔaãbòdeXf±g´b]b\J\ñ]j]á^u_*_®_ó`òb`bîc b³bƒb`b“b¿bÄbeaÉ`¨`_Á_g_)^Ð^~^‰__²_â_Ê_Ú`!`äa`aTaZara5`ø`Ý`¸`–`L_Ö_`^h]é]Ú]Ä]·]§]”]‚]o]Y]A]/]+]1]7]?]H]V]`]i]q]t]s]m]n]p]p]j]^]Q]B]6].]']]]]]]]]]\ç\Ò\¼\®\ \–\Š\}\v\t\t\w\{\ˆ\”\\–\Œ\\v\d\V\H\G\F\C\R\n\x\\ \²\°\£\¨\Ÿ\‡\Š\¨\Ä\±\\h\H\(\\\@\o\œ\°\¼\—\ˆ\š\º\Ó\Ö\ä\þ]%]']\ÿ\ç\Ñ\¿\Ÿ\™\{\‚\Ã]J^¿bPbK`-^ý^Ä^°^s^E^ ]ø]Ö]Ã]Ÿ]…]q]G]] ]] ]]\ÿ\û\û\ù\ö\ù\ð\ê\ß\Ñ\Æ\Ò\ø]0]X]‚]Ž]˜]’]]]‘]]r]e]e]i]g]_]G]-]']3]7]:]8]9]1]$]]+]2]2]>]V]`]Z]E]/]]]]]]]*]4]8]I]a]r]]‹]¡]µ]Ã]Ö]ë]ù^^ ^^_`Ž_¾__ __7_>_F_X_p_‹_·_á``_û_ÿ`` ```.`@`W`_`l``—`¦`¥`Ÿ`“`Š`{`k`e`r`z`z`r`h`V`H`F`Q`c`r`u`a`B``_ë_Ô_Ë_Å_Ç_Í_Õ_Û_ß_å_ë_é_é_ä_Ø_Ñ_Í_Æ_Ä_Á_¹_¸_¶_·_»_¶_³_¦_˜_{_e_^_Q_+_c`g`_+__^ó^ë^â^È^Ž^w^X^U^H^I^2^K^^R__6_À_^Š^%^ ^:]Ï]®]]Œ]‰]ÿ^6]C]] \½\¨\w\Q\*\[Û[¹[ž[ƒ[h[L[5["[[[ZûZþZùZ÷ZíZäZÝZÒZÍZËZÏZÚZæZëZëZèZæZæZäZãZéZñZù[[[[#[)[,[5[G[Y[o[…[˜[ª[Â[á[þ\ \[ü\\&\8\B\K\B\1\2\B\C\E\N\[\`\o\\­\Ì\Þ\ç\Ü\Å\¬\›\‘\€\‹\•\¤\Ï]]/];]K]B]6]\Â\®\Í\ø]%]>]:]*]&].]!]]\ô\Õ\Á\Ì\â\è\í] ]7]\]x]~]„]Š]r]D]5]B]S]u]Œ]š]§]¯]¿]Ë]Ù]÷^^6^H^D^-^]ç]Ë]©]‘]‚]{]‡]“]œ] ]¢]°]¾]Å]Á]¹]®]¤]š]š]˜]š]¡] ]]v]i]_]R]G]>]:]9]4].]/]3]8]9]5]/]+](] ]] ]\ö\í\ã\Ý\Þ\Þ\ã\ð\ñ\æ\Õ\¼\¡\Š\v\j\c\Z\K\1\[ñ[Ú[Æ[¯[•[[u[p[p[`[R[>[0[[ [ZôZêZëZìZ÷ZðZåZÏZÅZÄZÄZÂZÂZÈZÕZð[ [$[2[8[6[.[[[Z÷ZïZêZåZêZíZðZëZãZ×ZÌZ¹Z³Z·ZÀZÈZÍZÇZÄZºZ²Z¨ZœZ‹ZˆZ‘ZŠZ€Z{ZrZ]ZCZ0ZZZZZZ!Z"Z%Z$Z$Z$ZZZZ ZZZZY÷YóYíYñYòYõYõYôYúZZZZZY÷YäYóZ(ZyZÒ[;[’[â\/\d\‰\\…\n\l\d\;[ø[­[_[:[[ [ZýZÞZ¿ZœZ‡Z‹Z”Z°Z”ZSZ`ZœZÔZÝZÑZÔ[[ZõZËZ“ZCYÚYŠY†YæZNZ‡Z”Z Z²ZÒZ÷[ [[4[ZíZÀZ½Zè[#[K[Y[`[h[`[b[Y[[[^[h[t[„[ž[Ì[Ý\\[ý[ö[Û[§[s[L[<[`[¬\ \c\œ\Á\Û\Î\Í\¿\Í\í] ]] \ë\º\š\‚\g\,[Ï[[ZºZ Y—YËZ™[™\`\À\ù\õ\å\×\¶\ª\\ƒ\S\2\\\\\\\\\\\\\[Ò[}[#ZÏZ®Z­ZÇZõZöZãZú[([Z[€[˜[®[Ã[Ä[¸[“[{[n[Z[E[,[([([1[;[M[c[z[z[}[‰[¤[¯[Ç[Ë[Í[µ[¡[›[š[[›[“[€[h[M[&[![[ ZüZìZÙZÅZ«Z›Z|ZUZ-ZYùYëYàYÙYØYÖYÑYÍYÉYÃY³Y¬Y©YœYšY–Y“Y“YŸY®Y¾YËYÓYÜYÞYÑYºY‚Y-XûXéXëYY YY-YKYkY“Y Y´Y©Y—Y|Y~Y|YzYkYUYAY*Y'YYYY Y.Y9YDYCYEYEYVYqY”YÁYëZ ZZ YðYÕY¼Y¶YÂYãYéYþZ ZYÿYüZYôYÂY€Y&XÕXbX!X)X4XQXxX²XÌXÆXÐXÓXØXèYYY1YY>YHYDY>YYMYèZY^Y3Y!YKYiYRY0[w^ê[×YÖYëY4Y)Y XÄYäYâZ[>]´ba£_}^å[ZZ-YüZ[&[”[„[¥[’[¾[Ü\%\i\Ž\¦\º\À\–\ \Æ]]z^^]ã]Ñ]«]´]â]ò^ ^^^]ä]¥]a]B]V]]¤]–]]_]N]D]Q]\]W]W]Z]p]©]Í]ï^]þ^^^1^Q^w^™^¶^Ð^é__/_`_ž_Ó_é_Î_“_H^ý^Õ^½^²^Á^Á^·^¡^‰^~^€^€^•^·_#_Å`b`É`þaaaa`ý`é`Ì`¬`Š`h`=`_ç_º_¦_Ÿ_¨_¾_Õ_ä_ö```$`=`P`J`2`,`-`=`\``»`Ô`Ó`Ü`å`ì`å`Ñ`½`¬`§`º`Â`¡`ƒ`n`E` _×_¯_ _º_ñ`9`‚`´`Ð`åaa5aaaraxaxa…aaka?`ÿ`¡`c`>`(`#```````(`=`Q`d`‚`°`Üaa>aOaRaNa2`ú`Ò`°``…`¥`Ú`õaaa!a`Ë`•`v`p`p`m`^`X`Q`J`;`,`A`M`F`>`0`_÷_ø` `!`4`<`?`6`+``_ñ_à_Í_¾_º_Á_Ô_è``````5`U`¬agaºbb6a~aaa¢bbåb×bÊbÚb»b…b]b)aÝaÜaÞaãb!b[bJaða§aÑaîaùb'b'aÁasa>`ð`µ`‚`#_þ_À_j_-_"_]_=_l_–__T__5_ ^è_^ó^Ÿ^³^Þ^ä__N_2__p_à``z`]_ÿ_¬_}_Z_X_Ž_¯_¸_&^‰^N^]¸]0\Â\Á\Ì]]#\¹\—\¦\î]|]¿^L__n__z__¾aÒb‚aØa_P^}^Î^H^ ^O^]ì]ˆ]w]`]3]p]€]']]m]`]5]{]¯]ž]Ð^'^<^^8]¤]F]&]\þ\µ\œ\Ü\ÿ\>[JZäZçZÚZjZYåYªYƒYYY$XØXX^XAXGXFXBXpX‰XÉXôXïYYqY¸YxXÐXW WzWkWX XLXEXWïWìWñWòWôWëXXWôWóXWûWúWøWöXXXX&X0X,WøW¶W~WcWsW’W½WðWúXX XZX„Y~\ ^{^É^K^«_H`&^ü]\ÿ^;_›a£c¿aã^Ø^z`übæc1cëeœfŠf„dï_Á\R\V]Ÿ^Ë`aâcTd@d2cãc!b§b·b³bµbXb2b.ba¹a`<_·_k_V_$^¸^ ^ê_P_}_—_¾_¿_Õ`V`Â`Ù`ëa7a=`Ù`“`w`F_ñ_{^á^]²]£]]˜]‹]‡]r][]I]5],]-];]J]U]d]l]p]p]p]j]d]i]i]f]d]\]L]5]!]]]\ü\ù\ñ\î\ï\õ\ô\è\Ü\È\µ\¥\š\Ž\‚\v\h\Z\Z\Z\^\d\j\r\q\u\p\d\W\F\=\4\1\6\C\k\Ž\‹\†\\¢\œ\ª\´\¯\•\Ž\’\‹\o\d\S\3\[ÿ\\7\r\®\Å\Ï\¯\‰\‡\\¨\»\Î\Ø\ù]]]\é\Ë\´\œ\ƒ\€\†\Þ\ð]ßaŒ`¤^Ø^“^£^V^^]Ð]·]¨]¥]~]f]f]U]\î\ã\Ô\Ë\Í\Ë\Ë\Ó\Ö\Î\Î\Ú\Û\×\Î\É\Ø\ü]3]U]r]‚]‹]…]ƒ]‚]ˆ]]w]h]\]`]j]]]B]$]]]] ]]#]2]+]]]]]]&]7]>]1]\ý\é\å\é\ç\î\ó\ú] ]],]<]I]X]i]‚]˜]¶]Ë]Ü]ç]þ^^'_×`ð_¤_^â^ã_ __"_9_V_w_¥_Ì_ò_þ_÷_û```%`%`*`6`B`S`d`x`›`¦`œ`“`†`r`^`X`]`e`j`m`k`[`L`C`@`P`c`v`|`t`L`!`_á_Ï_¼_´_®_³_½_¼_Â_Ç_Ì_Ì_Ä_·_²_®_©_¤_¡_š_™_ž_œ_š_ž_›_›_˜_ˆ_|__S_@_[_ð`t_]^ç_^ù^í^÷^Ý^¾^^}^_^T^<^9^%^3^"^^^µ`_P^B^<]õ]á]Í]Û]®]©]^l_á]Ö]] \»\£\p\P\'[ÿ[Ü[º[›[[i[T[7[#[[ [[[[ZþZùZôZëZàZÜZàZæZø[[ [ [ [ [ [[[[[[[*[4[9[<[=[H[W[f[v[…[[°[Ç[ã\\\\ \ \\,\3\C\K\F\C\F\@\4\9\O\f\|\œ\½\à\ÿ]]]]\þ\Ì\¨\¯\¸\²\Ë\ÿ]]!]$]\ÿ\Ù\«\ \©\´\Î\ñ]],]/]B]@]4]0]\ã\Ã\¾\Ê\Þ\õ]]:]f]Š]™]œ]•]†]v]v]t]u]€]™]¯]µ]½]Ä]È]Ê]Í]à]þ^!^D^I^-^]á]´]Œ]z]s]v]]‡]“]Ÿ]©]·]½]¾]¸]ª]£]˜]“]]]Œ]Œ]~]q]e]Z]L]?]@];]7]-](]#]%]+])](]"] ]] \ÿ\ñ\è\à\Ù\Ö\Ó\Ò\Î\Ñ\ß\ê\ë\Ý\Ò\½\™\v\i\e\`\S\9\[ø[Ú[Â[¯[[Š[[u[l[[[I[4[$[[ZóZìZéZìZóZôZçZÚZÆZÂZ½ZºZ·Z±Z·ZÅZâZü[[ [([(["[[ZúZòZêZéZèZêZíZëZäZÝZÓZÊZ¹ZµZµZÁZÇZÄZ¼Z²Z¦ZZ™ZˆZzZ~Z‡ZŽZ‚ZxZoZbZIZ(ZZ Z ZZZZZZZZZZ ZYúYôYïYèYßYÛYÚYÖYÝYßYàYßYäYêYðYòZZ Z"ZYéYàZZRZ [[f[º\ \I\v\|\[\+\ [ù[å[¶[Œ[_[>[ZþZéZêZÛZÃZœZlZyZ‰ZZ“ZmZƒZºZì[[ZÛZÃZÃZ±Z‡Z7Y¼YZYZgZ„Z•Z¥Z½Z¼ZÛZÞZÁZ¡Z®ZÞ[#[M[T[_[i[f[g[c[a[a[i[r[‡[¦[Ô[ó\\,\.\[è[•[(ZÁZ™Zæ[j[õ\Q\\¹\ó\ú\Þ\Ö\ï]]].]']\ò\Æ\œ\a\[«[7Z¢ZY³YäZ[f\%\†\º\Æ\Ü\ç\Â\µ\‡\d\Y\C\!\ \!\"\\\\\\\\\[ë[¬[o[0[ [[ [ [#[ [[&[R[t[[ª[¹[Å[Ã[š[q[U[?[-[[[[%[9[R[_[k[`[Y[b[{[…[‘[Ž[˜[[ˆ[‡[†[[„[ˆ[ƒ[s[_[J[<[[ZþZõZÚZÆZ®Z™Z€ZeZQZCZ1Z!ZZ ZYþY÷YòYñYéYßYÏYÂY¶Y³Y«Y¨Y¡YŸYŸY¡Y±YÉYÜYãYÜYÅY¡YRY!Y Y Y4YIYQY[YoY‚Y¡Y¼YÙYÕYÔYÍYÍYÄY¸Y˜YvYJY7Y'Y"Y%Y6YOYcYnYpYmYiYmY‚YŸYÄYêZZ,Z0Z&ZYçYÒYÑYÚYïZZZZ)ZZZZ!YûY´YQXèXAW»W«XX²XÀXÒXöYY Y YXÿYY Y+YEY\Y^YhY^Y[Y_YiYwYlYaYQYGY/YYYX÷XÈX¡X|X_XAXEX9X?XFX*X:X/XgXX™Z\»_¹`—`é^d[YcYYDY XÓXÓXÉXËXÊYY,YdZ*ZàZwYÛY¶Y‚Y$YXõY2YmY\YZY^YPYJYmYNYSYµYžY XþXúXØXàXYŒ]]—Z™YíY¯Y7YZXùYªXçY[°]ÎaWb›^U\3ZïY¸Y•Y÷YÄZjZÊ[ [[[O[£[Ä[ì\0\Q\g\j\p\y\¢\À] ]¹^,]ò]­]}]c]q]Ž]­]Ã]Ù]ê]ç]Ó]£]w]D]>]P]l]^]A] ]]]]]] ]5]@]T]r]“]´]¾]Ç]Ù]÷^ ^2^X^x^“^¾^ç__K_}_¾_î_Ü_™_K^è^¤^’^„^“^£^¦^—^y^Y^Q^^^x^˜^ï_``•`×`óa`þ`ó`ß`Ä`¡`t`P`5`_ö_Î_¡_‰_ƒ_Œ_’_¦_¼_Û_ê_÷` ``&`#``` ``8`a`‹`¤`—``”`›`™`‡`v`c`_`k`r`d`S`5` _Ô_¬__Œ_§_Ú``S`‰`´`Îaa+a>a9aDaHaOaLaRa-`Ô`…`T`7`'`&`!``````*`?`R`m`“`¼`çaa@aJaHa@a-a`Ù`À`£`’`¡`¿`Ö`æ`þa `û`Ò`¢`„`~`‚`|`h```Y`M`=`2`G`e`l`\`B````/`E`X`Z`T`D`.``_ê_Ø_Ð_È_Ò_ã```4`J`S`M`G`X`v`²a,aŒa‰a`a0aRa‹aÚb’bÜbúc,cMc/bÀbWb:b¥bÇb¥bœb©b’b@aébbaíaåaúa³ala7`ï`Ç`__ê_Ì_¤_‹_J_ _e_B_x_¾_·_w__O_@^ñ^å^Ñ^½^Ú^þ__+_M_D_1__Ó_û`c`9_ç_µ_|_T_L_c_ª_Ó_:^¯^ˆ^B]ô]‹]\î\Ñ\þ]7\é\Õ\æ]]h]a]ø^Ö_+^ï^Ö^¸_*`v`O_Š_­_[^_^<^(]ö]æ]±]à^Z^§^E]Ï]Ñ]È]†]]Ç]‹]\]Ÿ]Ë]ð^/^_^œ^¦^f]²]„]s]-]\Ò\\”\¡\[^ZüZÖZ®ZlZ>ZYàY½YŠYXY/YX¶X•X€X€X…XÈXüXÿY3Y»ZNZZbY×YX X˜XsXGXeX¯X¤X‹X^X)WúW÷WôXXXX X XXXXXXX X&X4X=X4X1WÿWäW½W­WŸW‰W“WÌWãXXXrXŠYn[Ë^>_>__†_”_Ì` ^]ð`äb ažbZcÈa2`”càeGdøe=ejecna ^\L]^öabZcccódeceb$b*b¢b¡bb^b$aäa§a`a`Š_æ_R__^Ö__¸`_µ_z_Â_Ø_ä`/`/_ì_ø`a`à`p`,_î_£_^C]§]}]z]q]q]v]s]k]S]B]>]=]@]G]S][]b]i]f]Z]P]Q]S]Y]X]Y]U]H]7]%] \û\ï\Þ\Ü\Ö\Ï\Ç\Ê\Ë\Î\Ë\·\§\˜\\„\{\r\b\W\J\B\<\8\<\E\U\X\V\O\H\:\-\ \\&\-\N\ˆ\Ÿ\ž\‘\Œ\„\~\–\¢\Ÿ\‹\“\\k\O\Y\I\.\[ï[ó\'\U\~\ª\¿\¿\›\‡\\­\Ì\â\å\ó]]\ñ\â\Ö\À\°\ƒ\ƒ\`\¹\³]7`#_g^Â^î^X^]ë]±]”]‚]w]m]W]S]a]j].\ú\Ð\«\‚\z\~\›\±\´\°\¤\«\¶\¶\¬\£\Ç]]5]Y]m]w]]…]ˆ]‘]’]†]„]€]v]m]s]`]E]*]] \ú\í\ú] ]] \ý\÷\þ]]\þ]]!]/]\ø\ä\ã\á\Ú\à\ï\ñ\ò\ý\ÿ]]]+]<]Y]r]’]¥]Ç]Ð]ñ]ú^ _p`1_`^Í^Ò_n_:^ù__"_?_`_”_»_Ü_í_û`````"`#`,`=`I`Z`r``”`‹`}`f`Y`X`P`S`R`Y`Z`S`N`H`B`C`T`c`j`h`g`L`(`_î_×_¾_±_¦_¨_­_·_¿_½_·_¯_ª_©_¡_š_–__‘_‘__ˆ_Š_Ž_“_˜_Œ__ˆ_‰_u_]_õ`%__>^ð^í^ú^æ^ñ^î^Ô^¼^Ÿ^ƒ^f^O^8^,^^^^7^^/_^£^k^t^"^/]÷^$^ ]¥]{^<`8^¨]d]\Ç\«\w\U\(\[Û[´[”[|[e[O[:[,[[[ [ [[[[[[[[[[[[([4[<[9[4[&[[[[[%[*[5[>[B[B[C[H[U[b[r[[•[¦[À[Þ[ü\\ \\\\\!\U\X\H\Q\F\=\9\B\Z\\ \»\Ñ\ë]].]D]O]S]A]\Ö\Ã\»\µ\Ê\÷]]\ë\Ý\Ú\¿\´\·\¯\ª\º\Ò]]9]J]I]S]S]O]8]\ï\ê\ð\þ]]]6]n]’]©]ª]¶]¿]¡]]]”]’]˜]²]À]Ä]Á]Â]À]Á]Ä]Ö]ô^^7^E^0]û]Á]‘]x]s]l]q]x]‚]“]Ÿ]©]³]±]©]¡]•]Ž]†]}]{]s]w]t]p]f]]]P]D]B]:]9]5]7]9]B]F]G]B]8]2](]]\ø\ä\ß\Û\Õ\Ï\Ï\Î\É\Ê\Ó\Ù\Ö\Ü\Ù\¾\‹\j\b\b\^\H\)\[æ[Ê[·[«[š[Ž[{[i[U[>[)[[ ZÿZïZïZòZôZôZèZÛZÌZÂZ¾Z»Z»Z²Z®Z±ZÀZ×Zò[ [[[[[ [ZöZñZèZæZåZèZçZäZßZÚZÑZÉZ¾ZºZºZÃZÂZ¾Z³Z¡Z•ZˆZ†ZxZmZtZ„ZZ€Z|ZqZeZNZ)Z ZZZ ZZ ZZZ ZZ ZYüYïYåY×YÐYËYÆYÂYÁYÅYÇYÉYÉYËYÏYÕYáYòZZKZSZ7Z YïYøZ"ZcZÈ[/[…[à\-\g\w\V\[Æ[[w[c[T[D[+[ZáZÌZÊZÆZºZŒZWZ]ZsZvZ–ZZÂ[[%[<[B[#ZÎZ…ZMZYY XŸX…XÞYrY¦YÂYìZZ;ZjZwZZeZqZtZ{Z‘ZÄZý[+[O[Y[b[}[†[€[ƒ[ƒ[v[p[l[}[ [Â[é\ \&\8\/[ù[¢[Z‡ZOZ[6[Ô\K\\Å\ú] \í\é] ]*]5]=]F]H]"\ç\¸\z\<[Ý[_ZÛZfZ#Z4Z¶[‡\9\r\s\y\»]\Ú\±\‰\M\?\L\8\*\(\-\#\\\ \\[ý[ú[ô[ß[¹[•[j[F[$[[-[C[@[6[=[\[v[‹[Ÿ[®[»[·[š[q[H["[ [[[[ [0[G[L[N[>[-[-[=[F[I[I[V[a[j[i[n[k[t[y[t[^[Q[H[<[%[[ [ZéZÒZ¼Z©ZšZ‹Z{ZmZ[ZKZ;Z/ZZZZZZZ YøYàYÎYÈYÁY¹Y¶Y¸Y¹Y½YÌYÙYäYâYÖYÆY»Y—YwYcYeYŒY§Y°Y»YÃY½YÏYíZZZ ZZYùYãY³Y~YCY8Y$Y/YEYdY{YŽY˜Y”Y‘YY™Y®YÇYëZ Z,ZDZAZ0ZYõYßYâYøZZ Z Z3Z>Z?ZEZEZNZ7ZY“YXiWÞWÖXuY2Y6YYY*Y7Y:Y0YYYYY^s^­^à_ _1_i_®_Õ_¦_>^Ò^„^}^w^g^n^€^y^b^F^6^P^}^­^ë_]_à`T``¼`Ê`Î`Á`±`—`w`G`!_ù_ä_È_¦_‡_u_o_~_‹_š_¯_È_á_ï``` `_ü`````/`I`a`c`S`D`<`5` `` ```%``_á_¼_™__p_}_™_Ã_ô`.`j``Á`õa aaa a1a:a?a3`ü`¨`x`W`?`7`4`.`'`(`'`%`&`2`F`_`}`¢`Æ`õa(aEaFa=a.aa `í`Ù`¿`¦`¤`«`Á`Ö`ç`ø`÷`×`¬`Ž`‹``†`u`e`c`X`K`<`A`Y`^`O`9`$`&`@`Y`j`}`r`S`=`'`_þ_ì_â_æ_î```8`W`q``„`|`}`Œ``¾a aPa[a1aa*aEašbƒc cc^c›cecbÉbçc†cÀc’cbÍbøb¸bQb2aòaºa§a¯a}a#`ô`Ô`Â`H_é_à_¦_–_}_]_~_K_Œ_Ù_¶_€__B_o_7_^ù^Ë^Ì^ÿ__$_I_T_$_i``T`(_Ö_Â_º_Ž_c_T_K_f_‡_[_"_ ^¸^=]ì]­]Š]@\÷\è\À\É\õ]]2]C]ã^†^”^R^k^ƒ^W^_^@^^V^—^:^^]Þ]¡]­^%__·^à^!^Â_×_^]ß]Ä]˜]r]]Í]ú^^H^/^]Ë]Æ]ª]A\â\¨\f\+\[Á[U[![ZÞZ·ZZSZ*ZZYãYÛYÞYPY$XÞX¿XñY)YcYxYãZbZ¬Z™ZwZY¹YÖYÏY‹Y?YXôXÁX–X^X2X/X>X6X/X3XXX"X6X6X9X9X.X(X*X9X;X?X1X6XX#X X WøWµWsW˜W›WÚX XRXÄYéZÙ\É`P`+_ƒ_Á_ú`p_^Ýa™bU`ö`ûbÕbcšeÜdcc¯ccßb$^û\ú]Z_aaHb–caõa«b¯bóbkaðbbdbrbJb.aÝa§aha`¬`9_Å_?^¯^[^~__²_ç_À_Š_•_€_|_•_†___]_¥`G`¤`E_ß_˜_(^L]£]r]c]X]O]W]f]e]c]J]5]3]7]?]?]@]F]E]H]F]D]A]C]I]I]E]D]>]:]+]]\í\á\Ñ\È\»\¸\³\¯\ª\¦\£\–\‰\v\j\d\`\[\P\>\0\(\(\&\+\.\0\4\5\+\$\\\\ \\(\Z\Ž\˜\–\“\€\k\g\x\ƒ\„\p\~\ˆ\t\e\s\S\2\ [é[ß\\%\@\w\ž\¨\‹\}\\ª\Â\ç]]\ö\ä\ð]]\é\Ä\‡\˜\k\w\r]_¯_*^^‡^]æ]²]ƒ]o]B]B]5]-]F]_]o]D\û\§\u\M\H\U\\›\£\¢\¤\¨\£\’\‘\™\Å]]&]<]C]M]^]r]…]–]–]]‡]€]z]n]h]P]?]-]]\î\Þ\Þ\Ñ\Û\Ý\Ú\ß\ç\ç\ç\Û\Ü\ö]]\ÿ\ï\Ú\Í\ß\ï\ö\ö\à\ß\â\ê\÷] ]]-]E]h]ƒ]©]·]ç]è^9_…_¨_^Ý_•`¼_r^á_ __2_O_z_¥_Î_ä_ý`` ``````-`:`S`k`€`ƒ`o`Z`R`N`O`I`K`D`B`@`A`F`B`L`V`R`R`T`U`O`=`&`_ü_Û_Ì_¸_²_°_²_»_·_¼_»_³_«_¨_Ÿ_›_˜_–_–_Ž_Š_Œ_Ž_˜_™_’_…_†__‘_|_åa?`Œ_<_ _^ü^×^Õ^Ü^Ð^É^·^^^s^]^C^'^^ ^ ^^,^^,^G^m^J^.^]¶^/_Œ_X^3]ì_^“]‹]\Ñ\¨\|\X\1\ [à[À[[„[m[[[D[6[([&[![ [#[.[5[9[:[<[7[7[/[*[*[4[B[Q[V[S[D[=[8[6[5[6[>[H[J[O[Q[Y[^[k[s[|[‰[ž[¶[Í[á[ú\\2\5\#\\\@\’\r\D\O\@\4\9\G\c\•\Å\ã\æ\á\ô]]F]S]H]H].] \÷\ë\Ú\Ý]]0]$\ö\Ö\×\Ë\Ð\ß\á\Ò\Í\ß] ]6]I]E]S]b]t]q]C]!]])]4]H]H]M]e]]§]¾]Õ]à]Î]¤]„]]•]“]ª]¼]À]¿]º]´]µ]·]Ã]Ú]õ^^=^V^7]÷]¹]]l]j]h]l]{]†]–]Ÿ]¤]¢]š]‘]ˆ]]u]n]d]`]c]n]p]h]`]R]E]8].])]'],];]O]Y]b]X]F]4]] ]]\ü\ñ\ê\à\Ó\Î\Ò\Ö\Ø\Ù\Ý\â\è\ê\ä\¶\{\^\Z\X\M\/\[î[Ô[Ã[²[£[’[{[f[L[7[$[[[ [ZýZúZóZçZØZÌZ½Z»Z´Z´Z´Z±Z°Z±ZÁZÓZíZÿ[ [[[[ZüZíZçZáZáZâZäZâZàZßZÞZÙZÏZÆZÂZÃZÆZÆZ»Z©Z™Z†ZuZnZhZaZgZ€Z‹Z€ZvZpZjZTZ3Z YýYüZZZYüYóYòYóYôYîYäYÛYÎYÂY»Y´YµY²Y²YµY·Y¾Y½YÀYÉY×YëZ ZJZ~Z‘ZvZ>ZZZ Z9Z•Zë[B[ž[ø\F\d\c\[»[j[0[[[[ZøZËZ©ZZŠZ‡ZZZ.Z ZKZmZÁZí[[L[L[K[>[3Z÷Z§Z@Y¿Y$XŠXhXAX’YYDYYYÛYõZ7ZMZNZ0Z"ZZ6Z€ZÓ[#[E[b[p[o[[¥[[Ÿ[¨[¢[“[„[y[Š[¤[Ò[ú\\"\)\[¹[;ZªZ_Z¢[5[Á\C\œ\Ó\þ](]1]]]E]f]f]_]Y]8]\Ò\œ\q\3[È[ZZøZ¹ZÏ['[Ï\|\«\Š\w\¹]\ï\§\r\:\\(\.\+\.\1\&\\\[ø[ð[í[â[Ò[º[[[g[R[/[%[9[F[P[Z[V[c[u[‚[Š[˜[Ÿ[ž[Œ[_[2[[ [ [[[+[2[-[*[-[$[[[$[5[<[D[M[Y[`[^[o[u[|[s[b[J[?[5[2[&[ [[ZÿZìZßZÖZÃZ´Z£Z“Z}ZnZ]ZOZDZ5Z-Z/Z6Z9Z1Z!ZYñYÞYØYÔY×YÞYÛYÝYíYíYòYïYßYÖYÒYÎY´YŸY´YÑYêYúZZZZ&ZZQZVZcZyZ{Z_Z7YßY[X×X·YY¥YäY¿Y{YSYZYeYbYVYAY#YYY4YjY¨YÈYÍYÄY¦Y˜YƒY}YyY‚YuYtYwYoYxYuYcYBYX×X¿X¨X½XÆXÛXáXàX¶XpX_X¶XåYYYÇZÎ\þ_ïa/]Ö[Y½Y“Y XùY5YYjY‚ZYËY†Y&X£XÄZ,Z»Z[Z>ZSYäYpYˆYœYŽY¯YÄYÑYyYvYLX£X•X‘XŸXXßX‘Zš^ \Z&YŽY‰Y’Y£YlZ ]Ãc[lye–^ZÀYY YY YtYlYÉYâZ ZÌZÉZÄZó[#[O[[ƒ[±\\G\J\T\}\Ø]Y]«]w]G]7]"\ÿ]]#]]0]S]r]v]v]o]V]\ô]] \ø\æ\Ì\·\ª\¦\¦\Ÿ\­\³\Ç\ã]]!]?]R]l]]“]œ]­]·]Ä]ä^^[^^¶^ß__V___*^²^V^P^e^P^;^C^V^S^C^4^I^y^Â_ _`_Ç``T`y`„``ƒ`u```R`.` _Û_Â_Ÿ_~_a_Z_c_k_|__²_Ò_ç_ø``_ý_ê_Ù_Ù_è_è_í_ø````_ú_ß_Í_º_³_µ_Æ_Ñ_×_Ç_ª__q_Y_P_T_l__¿_ì`1`l`”`¸`ðaaaaa)a5a;a`Ù`¥`z`_`R`K`F`@`6`2`2`4`8`I`[`s``²`Ò`÷aa=a>a/aa`ú`í`ß`Ë`µ`£`š`¨`Á`Û`î`÷`ë`Ï`°`Ÿ`™`‘`…`j`g`_`W`L`Q`g`f`c`^`T`[`f`x`ˆ``‚`P`3`!``_÷_û` `%`=`X`u``¤`°`·`´`§`§`š`½`ß`á`÷`þ`ö`þaaFb&bžbbÉcbÒbÖccjcêdOdSc^cEcÏcjbÜbwaïaŠaZaxae`â`¬`Ÿ`’`?_û_Þ_§_º_»_ª_º_‰_Ï`2_ð_²_U_/_O_;_ ^Ü^°^Ê___6_N___!_p`†`–_ü_Ç_Î_¼_Š_J_E_P_B___{_:_^ÿ^v^8^%]ö]Ä]‹]K]\Ò\Ó]"]]]o]ø^Y^K^1^^ ^]ú^ ^W^e^R^0^]¬]œ]Š]Ë^+_`ƒ_Û^–_ `z_+^e^]ó]Ð]à]Ò^^(^h^Š^K^]þ]º]r]+\å\©\m\-[ö[­[s[Z[?[ZûZ¾ZZ_ZUZ·Z·ZœZÈZDZ&YÑYvY†Y¡YöZHZäZêZµZZ„ZaZTZqZYY3X÷XãXÐX»X©X¥X¬XŽX}X|XdXXXaXJXHXLX@X>X0XBX>X8XEXQX;X2XX%XXWÿWÅWxWxWlWœWÜXNXªY¡Y©[’`Ò`-^­_d`aa¶a>a$a`›`ÒaÖañccÎc`c‡b{aeaÒ`¶_#^è`¨aí`éagaÆ`Û`ãaÃaÅa˜a±b#b a×aõbaÝaa`à`‹`/_Á_i_^Œ^3^}_<_È_õ` _ü_ã_¨_Š_w_n___9__J_á`_¨_`^Ç]Ì]Y]g][]A]=]D]O]R]G]7]$]]] ] ]]]]#](]-]6]:]4]-],]<]7]&]\ý\é\Õ\Å\¹\±\¬\¨\§\\–\’\Š\~\n\_\S\H\D\:\2\$\\\\ \ \\\\\ \[ý[ô[ó[ý\\'\e\„\Š\‰\‰\…\u\f\f\_\d\q\ˆ\•\”\Œ\‘\Z\[ï[Ö[Õ[õ\\'\R\‚\\…\{\~\•\®\Ø\ó\æ\ß\Ï\×\í\ï\Ö\¾\…\{\|\j\T\É_T_ç^‹^]ê]•]x]r]8]]*] ]]3]Z]l]N\ù\“\O\$\\.\[\v\\’\›\˜\‰\r\n\\²\ë]]$]#]7]M]g]…]—]™]’]]]Œ]}]l]O]:]&]\÷\â\Ï\¸\œ\Ÿ\ž\­\º\Ë\Ó\Ð\¹\¿\Ö\ü] \ý\ó\à\½\¶\Ë\å\þ\ê\É\Â\É\Ó\ã\õ] ]!]A]]]€]™]¹]µ^|_³_\^ý^ï_´`ü_c^Ì_^í_#_9_f_Š_®_Ê_Þ_ô````````4`B`O`d`^`H`B`K`K`C`@`=`,`!` `&`-`D`X`[`X`U`H`G`E`:`+`` _÷_Ý_Ã_½_¸_Á_½_¿_Ã_µ_³_©_£_ž_•__Ž_ˆ_‰_‰_Œ__¡_­_­__•__Ÿ__ã`_[_$_7_^ì^×^Ó^Á^Ä^½^°^£^‘^ƒ^p^S^?^$^ ^^^-^>^y^t^f^`^(^9]þ]Ë_êaÍ_L]‹]ë^/]x]\é\¶\\a\;\[ë[Å[¦[‘[z[k[X[R[M[O[P[S[N[Y[l[|[…[‰[r[a[@[-[$[2[?[P[X[\[W[S[N[P[M[L[L[K[L[P[T[\[c[m[s[€[‹[[°[Æ[Þ[ú\\)\?\C\7\;\q\\Q\5\D\>\8\B\V\t\§\Û\ó\é\Û\â]]+]B]7](]])];]6]!]]R]f]S]\ã\Í\Ç\ß\û]] ]\ø]]8]@]2]<]Z]x]w]]]I]F]O]V]i]|]]‡]‡]ž]Ç]ì]ð]ð]Ó]¤]Š]]‘]¤]µ]À]½]³]¯]§]«]´]Ã]Û]õ^^;^S^;]ò]–]l]g]c]c]n]y]ˆ]‘]Ž]‹]„]z]v]j]_]W]G]U]j]~]~]w]g]T]E]4]$]] ] ]])]?]P]N]7]]]\ü\ú\÷\ã\Ú\Û\Ò\Ô\â\é\ë\è\å\ç\ò\ú\ö\Õ\™\_\P\K\F\+\ [ñ[Ù[Ç[µ[£[Ž[y[f[P[=[/[*[)[$[[ZýZìZßZÐZ½Z¨ZœZ—ZœZ Z©Z¯Z¹ZÃZÎZãZô[[[ZÿZùZîZáZÛZÕZ×ZÚZÜZàZàZàZäZàZØZÐZÌZËZÌZÈZ¹Z¦Z‘ZtZiZ`ZXZTZ]ZpZyZxZnZmZbZPZ8Z YòYîYõYþZYùYéYÝYÖYÕYÑYÌYÅYºY±Y§Y¢YŸY Y¤Y«Y±Y¶Y½YÇYÕYéZ ZJZZÈZÚZ°ZzZLZ%ZZ!ZhZ®Zý[S[±\\I\b\;[ó[—[/ZäZØZò[ZùZÏZ—ZfZHZBZ)ZYÿZDZ„Zò[J[_[b[N[-[ [ZôZ¶Z]YÝYXŠXÞX]X8XàY Y`YkY¦YÂYþZZ%ZYæY×ZZrZâ[>[f[u[z[s[[º[µ[¥[®[¿[º[¡[[Œ[§[É[ê\ \ \[ä[²[dZõZ·[ [v[È\1\Œ\Ü]]1]b]W](]H]‡]›]‘]n]3]\Ð\ª\ˆ\b\.[é[–[L[S[ƒ\\Ï]+] \ž\r\±\Ä\ª\T\[á[å\\\\\\\ [û[÷[ð[á[Ô[Â[­[˜[…[w[][@[5[?[L[Q[\[[[^[j[x[{[ˆ[‹[€[`[4[[[[#[([.[4[7[0['[$[([#[&[2[D[Q[U[Y[c[j[r[[‡[‚[m[X[J[E[>[:[1[0[)[*[[[[ZãZÍZ¹ZªZ—Z‰Z~ZsZfZYZSZVZXZ[ZRZEZ+Z Z ZY÷Y÷ZZYùZZZYþYøYóYîYòYÛYÁYÔYåYúZ ZZEZ[ZiZ|ZŽZZˆZqZAZ YîYÂY‘YoYdYmYY“Y¦Y±YÆYÉYÑYÌYÓYÝYòZZ.ZEZZZcZ`ZQZ_F_s_q_^ü^ô^“^y^…^v^P^]Ô]]X]])]d]œ^^^:^k^^B^ž^“^˜^©^®^v]ù]»]¹]¬]œ^^k_`áaD_Ì_>_^__‹`˜_#^‚^‹^r^o^e^y^x^T^$]ï]¿]¬]X]\Ú\”\S\[Ù[´[š[[f[C[ZÏZZlZ¥Z»Zî[\ZùZçZÏZfZ"Z*ZŽZ¹[ ZþZÆZqZZ=ZbZ;YâY—Y€YNYXüY Y"YXìX¾X¬X«X–X X¡XuXeXlXRXPXFXVXFXX7X9X1X0X!X"XWßW¨WWˆW§W«X:XYgY‡Z¹]Æ^A^`_S_Ð`ŽbobÇa¡`e`0`«`I_†_û`úd?eçb£`Á`‚`,a cccÚ`Ñ_¬`Œ`î`ßaaRaZa&azaña³aŽa-aBaŒaD`›`_Ÿ___^Î^ž^¼__u_§_Þ``R`{`N`_í_Ç_€_:_^é__[_A_^)]W]=]R]H]=].]4]B]C].]] \ü\õ\ð\ó\õ\ý] ]]"],]+])]]]]]\û\ñ\Ù\¹\®\­\¨\œ\ \¢\\˜\“\‰\\t\b\K\?\/\%\\\[ú[ú[ü\\[ÿ[ÿ[ÿ[û[ð[å[â[à[Þ[æ[ü\/\e\q\u\|\\\x\a\]\Y\d\|\Š\—\•\Š\‚\I\[ã[Ã[¿\\'\)\3\[\j\n\^\F\U\}\¢\¾\»\´\¦\ž\§\ \\{\b\?\9\Q\h\E]\_Ž^Ð]Æ]›]T]L].]]]]]]/]:]B];\ç\\;\$\\\<\a\\Ž\’\Œ\…\k\[\d\”\Å\ï\ü] ]&]L]`]y]Ž]™]Š]]z]n]^]H]1]] \ù\Ý\Ä\¢\‚\v\z\\”\š\®\¬\¥\‘\‰\“\Â\í\ü]\÷\Ï\¨\¬\·\½\¹\©\´\À\É\Ö\ä\õ]] ];]]]|]œ]«^(^Œ^©_^ä_`Ž_ª^à^é^Ý__$_S_l_ˆ_£_½_Í_Û_å_ò_ý`` ```&`0`2`-`-`5`6`=`6`(```_ÿ` ``O```Y`U`O`D`:`,`#`*`/`)`_ü_è_Ð_Á_È_Ê_Ó_Ó_Ð_Ç_³_£__‘_’_–_ˆ_†_…__ž_«_°_½_²_¬__™_­_¢_n_M_Q_?_%_^ã^Ï^¸^º^±^­^¦^—^^~^f^Q^5^3^)^6^^^³__­_€]ù^^Ú^P_Ôb`,^+]¬]è]œ]#\ÿ\¿\—\n\F\[õ[Ô[º[¥[“[‰[~[x[x[…[†[}[v[~[‹[¤[²[Ç[´[†[W[=[%[0[:[N[`[l[k[h[b[e[`[a[_[_[_[a[g[q[[Œ[‘[—[œ[¬[À[Ù[é[þ\\.\F\T\U\N\U\R\?\B\F\I\G\I\]\\¼\ñ\ý\î\â\Û\õ].]W]@] ]](]\]w]r]_]w]‡]x]N]\×\ô]-]+]]']$] ]]],]+]/]Q]o]h]d]\]T]S]c]]š]¦]•]˜]¯]Ò]þ^^]ü]Ó]¤]›]˜]£]°]¼]»]³]«] ]¢]¨]µ]Ä]Ö]í^^$^3^]¾]]g]b]_]^]l]x]€]~]v]m]f]]]V]J]<]D]p]œ]±]¹]±]Œ]n]J]0]] \ù\ò\û]]]$](]]]\ñ\å\×\Î\¿\»\¾\Ä\Õ\ë\ó\÷\ð\é\ç\é\ð\ö\ê\¹\f\B\6\.\\[é[Ó[¾[­[—[†[x[d[W[K[H[;[1[([[ZøZäZÖZ½ZŸZ…ZwZuZzZˆZ™Z¨Z»Z¿ZÆZÏZÜZèZçZèZäZàZØZÒZÉZÉZÌZÑZÖZÜZàZæZëZæZÝZÕZÐZÏZÎZÆZ¸ZŸZ…ZmZ]ZSZLZEZTZeZlZqZnZdZOZJZ8Z YíYæYíYôY÷YôYèYÕYÆY½Y¶Y­Y¨Y£YšY“YY‡YYY™Y¥Y­Y½YÍYåZ ZHZZæ[[#ZüZ¿Z‰ZNZ%Z"ZJZ‚ZÆ[ [[[ª[ò\%\1\([é[ˆ[!ZáZÝZïZþZçZ§ZeZ1Z.Z*Z+ZZiZÀ[[b[z[n[f["ZÄZ¾Z¤ZaZY§Y?YVYëX½W¸X®Y Y[”[¼[Î\\r\É]]7]b]k]K]S]z]“]¦]…]+\ó\Â\Ä\¶\\X\/\[È[³[È\1\Ø]j]­]I\\{\‹\ƒ\1[è[¹[º[å\\ [ø[Ú[È[Ï[Ó[Ý[×[Î[À[µ[¯[¦[™[Ž[n[R[;[;[:[,[H[R[Q[Z[`[d[o[f[Q[/[[["[1[;[<[:[;[=[;[-[*[7[9[:[?[K[X[^[c[k[r[y[z[[|[t[k[f[d[^[U[Q[U[P[U[B[L[S[3[ZæZÏZÃZ³Z©ZZ™ZZˆZ~ZZZ{ZnZgZTZNZ`z`'_”_=_2_^Í^É^Ø^î^÷_ _J_G_H_/`a+`g_Í_·_˜_š_m_"___8_X_T_@_^ì^è^û__W_^§^V^4^C]ã]q]q]å^F^^!^\^š_U_\__^Ú^ˆ^5]¸]¹^]Û] ^.__¨a!a:_’^ð^”^T_#`!_Ä^é^»^á^Ï^Õ_"^ñ^˜^[^ ]ß^] ]-]\×\†\A\[í[Ù[¼[•[l[5[ ZàZ·ZÀZ³Zô[ˆ[†[Ž[€[&ZÆZ­ZçZè[+[[ZÓZSZWZrZ-ZZ$ZDZ YäZYßY›YlY)Y&XýXÉX¸XÄX©X‡XxXmX^XdXUXSXNXVXNXLXHXGX>XAX3X0XWòW¶W¢W¦WÆW½X'XY!YZZ¶\d^Ø_ä`¸a«c;cÖbÌ`Ú`´aÖ`W__naÞe¢cå`ç`’aËcQe'eÿaî_ _ª`7`!`¹`œ`áa`a?aºabaœ`ò`v`Ã`é`«`_h_9^ï^¬^Ô__Ã_}_B_F_R_Æ`1`]``…`g`_Þ_Â_|_^»^€^]_]].]2]-] ]])]0]-]!] \ü\ø\ð\ï\ì\ñ\ü]]]]]] \ö\ç\ò\è\Ó\Ã\°\¨\š\•\“\“\‘\—\Ÿ\¡\£\§\Ÿ\—\†\j\B\,\\[ñ[ã[ß[Ü[Ü[Û[Û[ã[í[í[ë[ä[Ü[Ö[Ê[Ç[Ë[Õ\\A\X\_\d\b\r\u\`\R\W\b\w\…\€\ˆ\‡\v\U\,[ø[Ñ[½[Ã[ü\ [ù\\7\P\O\1\ \\E\\—\”\‰\ˆ\~\t\R\N\L\7\ \\?\†\j\u]¤]Ü]v]\]-]\Õ\å\õ\þ\Ó\Ð]]]3]?\Ó\{\B\ \\\%\J\e\~\ˆ\‰\z\[\[\e\Š\²\ê] ]']9]Z]d]v]„]‘]‚]s]h]_]R]@])]\ÿ\à\À\¦\…\r\k\e\e\u\‚\š\œ\\y\e\f\’\Ö\þ]]\õ\Ä\§\¢\£\£\“\ž\¬\»\Ï\Ú\å\ï]] ]A]Z]p]…]Þ]ô^G^ä__;_ñ_Š_^â^Ü_ _'_D_T_u__œ_­_¹_Í_Û_ì_ù`` ` ` ``````(`,`#``_ì_Þ_Ü_ë``3`C`;`;`;`;`1````&`.`4`&`_ð_ç_Ü_ã_ç_æ_ì_ã_Î_´_ž_›___‰__”_¥_³_Î_Ù_Ú_Õ_Ê_¼_¶_¬_–_–_ __X_5_ ^ë^×^È^¼^¶^´^¤^›^‰^{^o^Z^T^M^6^P^5^|_@_Å`4_¹^’^Õ_Ý`|braŽ`p_E]ö]ñ^ ]P]\Ñ\¡\~\M\(\[â[È[·[¯[¥[š[ž[¦[±[¢[[„[”[«[Ë[Ú[õ[ï[Ç[›[v[T[R[R[l[…[‰[v[w[p[r[q[s[k[g[f[j[r[}[‡[—[¡[¥[«[³[¾[Ò[ë\\\*\B\U\h\j\^\[\Z\U\V\^\d\c\u\œ\Ê\è\ï\ó\ð\ã\í]/]`]6]\ó]]_]Š]Š]}]]„]t]^](\ñ]0]y]K]]#]#] \ï\í]]]]5]T]H]Z]i]g]b]c]q]Œ]š]˜]š]ª]Î^ ^%^-^ ]ì]±]ª]§]¦]¯]º]¸]³]­]¨]¢]£]«]´]¼]Æ]Õ]ì^^ ]á]]p][]X]V]Z]a]j]i]d]V]P]D];]5]D]p]š]´]¾]×]Û]Ä]©]o]F]\ý\è\Ù\à\é\÷\þ]] ]\ï\Ù\Ê\»\¬\§\¥\¥\¶\Ì\ç\ô\õ\å\Ú\×\×\Ø\ß\ä\Ç\x\7\\ [þ[è[Ð[½[ª[˜[ˆ[y[m[_[[[Y[V[E[;[+[[ZòZäZËZ¡Z|ZdZeZjZoZzZ‹Z£Z¶Z¾ZÁZ¾ZÆZÉZÊZËZËZÊZÈZÆZÁZÂZ¾ZÆZÐZÝZçZîZîZæZÛZÕZÒZÎZËZÃZµZ™ZZgZTZOZGZCZWZiZlZnZjZbZRZAZ%ZYçYâYåYéYìYçYßY×YÇY·Y¬YY“Y†Y~Y|YuYqYuY|Y†Y”YªYÂYâZZaZ¯Zü[B[^[W[?[ZÐZuZ>Z-Z3ZZZœZËZý[+[Y[ [ì\\[ä[—[E[[[#[ZæZ¡Z_ZQZQZ^Z[Z†ZÛ[[S[s[S[P[+ZÞZÄZ“Z9YÊYCYgZ%ZýYœW¨XŠY?Y;YEYQYpYŸYµY»YÃY®YœY´ZZ [ [[[|[R['[H[[è\\ \$\$\\\ \\ \\\[ê[Ð[º[¤[ª[½[å[à[Þ\\M\ž\ç]/]V]l]c]a]q]~]Š]t](\ë\§\š\¦\~\U\:\\[÷\\2\¢]8]œ]y\®\a\S\?\ [Ð[¥[ž[¾[×[Ý[·[a[2[U[[ª[©[¨[ž[›[Ž[…[u[j[O[7[%[)[Zî[ [F[M[L[B[H[L[6[![ Zþ[[[ [-[6[4[2[6[9[7[G[U[W[M[K[Q[X[b[f[l[q[~[‰[—[™[›[•[•[•[‘[‡[…[…[[ƒ[u[w[f[A[ZûZãZØZÆZÄZ»Z¼Z³Z±Z§Z¦ZZ–Z‹ZƒZqZeZMZ=Z-ZZZZZZZZZ'Z)Z#Z*ZIZUZPZLZ\ZƒZžZ§Z Z›Z©Z¯ZžZsZGZ+Z YòYÍYºY·Y²Y·Y¿YËYÕYéYïYøYüYÿZ ZZ7ZQZqZ‚Z˜Z™ZšZŠZsZXZ[ZhZyZ~Z‹Z‹Z—Z¦ZÎ[[C[H[ZâZÊZÈZ»ZŠZ‚Z›ZÛZóZõZ®Z!YÝYÃY§Y“YYzYyYYºYÑYïZ ZYüYýYûYåYéYïYùYçYÐYÀYÆYÐYµY§YYmYPY9Y0YKY_Y€YzYbYAY XùYYIYRYŽYúYÚYÚY¼Y˜Y„Z4ZeZ=YôY™Y:XèYY*YX±XUXXÍX×X÷Y¼YÕZ—\][vYVYÚZ÷Z}Z°ZYèYƒXÛXýXóZU^ZW›YF^Q`Ö^Ú[¸Z:\`îc×cžbu_Í[;XLXôXuXXÊXµXðYYJYKY±Z Z{Z}ZlZHZ'Z-ZHZ•Zæ[1[%[8[@[~[À[ž[¢[Ö[Ù[ñ\%\|\‚\n\³]]¯]›]_]0\÷\þ]\ó]\þ\Ù\²\ˆ\\\K\N\R\Y\d\N\C\B\G\S\e\„\¥\Ï\Ù\Ô\Ð\Ì\Ò\õ],]\]‹]Ã]Ó]ë^^ ^7^W^W^R^.^^]õ]í^^]ë]Ò]Ú]ê^^X^¨__b_¡_Ë_á_ë_ï_ô_ë_ë_å_Ô_·_–_p_A__ __ ___,_;_R_[_]_J_<_-_ _!_._9_G_O_Y_]_Z_N_B_1_+_"______ _ __8_W_…_­_ß``Y`‰`ž`¸`Ï`Ë`Ñ`ïaaaaa-a&aa`Ð`¯`–`…`z`i`\`V`\`]`^`b`o`{`Š`š`©`±`«`¦`ž`Ž`”`©`µ`µ`¸`¸`¸`«`ž`š`¦`·`Ë`á`ï`ï`â`É`«`Œ`p`_`f`q`~`›`µ`Ë`ïaaa`õ`ê`Û`Ç`ª`•`q`X`Q`S`O`Q`c`‚`£`Î`ña0a[a}a{amaPa)a`ù`ñ`ï`å`þaa aaa`ÿa;arazaauaaúbUb¾c7cÆdcôdcÈc'bÆb¡bLaªa-a`ä`¾`ª`”`“`i`9`)``'`+_û_Ô_ì`#````z_ú_’_(^Û^ø_!______*_;_7` a`c_ __ _{_\_>___8__,_P___Y_u_«_æ__U_8_0_2^Î^.]Å]Å]é]ô^^.^’_/_!__^Â^0]á]¬]¯]—] ]Õ^__f``U__o_Å_¾^ò_+_º_U`1aS`Ø`X`:_ƒ^ú^“^0^^]¤]I]>] \µ\p\7\9\#[ñ[Á[—[d[?[5[[$[ [[g[Ö\ [À[][Zï[ [[\[e[P[n[AZÙZZZZZaZ™Z±ZøZýZSYäY¤YnY§YY'XñXÑX¬X¤X“X€X„XkX\XdXYX]X\XhXNXNXBX\ó]]]]] ]]$]*]$]]\þ\ü\ù\õ\ñ\ö\ø\ü]]]\ö\á\Ê\Á\Â\³\—\\‰\\ƒ\~\~\€\\£\±\½\¾\¼\´\¨\\o\G\!\[ô[Ú[Æ[»[·[¹[Ä[Í[Í[Ñ[Ó[Ñ[Ï[Ä[½[¹[®[²[Ó\ \<\F\Q\a\e\k\_\<\:\R\r\„\\g\K\;\,\\[õ[×[Ñ[Ñ[é[ò[ú\\)\%\\[ö[ò\\^\j\Y\S\Z\T\M\+\\\\\ \O\t\±\Þ]0]s]w]F]\ç\°\»\Ò\Ç\•\±\Ù\î]/]:\½\Ÿ\l\'\\\\2\L\e\w\x\r\j\m\q\˜\¼\ð]]3]K]f]c]{]ˆ]Š]r]e]U]J]1]]\ò\â\¿\ª\¤\Ž\\v\v\‡\©\·\¯\Ÿ\}\f\P\@\K\“\â]]#] \ï\À\ \˜\™\“\ž\¯\¿\Ñ\Ú\ä\ç\ñ]]]=]U]h]½]Ô]æ^.^è_~__`_7^÷^ë__%_I_X_h_z__¦_³_¾_Ô_ç_ù`_ÿ_þ_ò_ë_ê_ó_ý` ``` _ø_á_Ñ_Ä_½_Ï_ô```` ```"`` `` ``&``` ` _þ```_þ`_ý_×_²_¡_¤_£_œ_¤_¤_­_Æ_ã_ì_å_é_á_ç_ü_Ú_À_³_”_x_c_;_^ý^ç^Ó^È^¿^»^«^ ^Œ^„^s^e^`^J^˜^ÿ^ï_~`*_î^€^__óa akb°bº`*`_`^$^P^ª]H\õ\ò\¨\‰\V\4\[ô[à[Ù[É[Ã[½[Å[Å[Í[¹[£[•[©[Æ[é[ý\\ \ [Þ[¸[Ž[u[v[”[¤[¦[‹[„[{[|[y[}[z[z[{[€[†[–[¨[º[Â[Ã[Å[É[Ö[ç[û\\%\9\I\X\e\p\t\s\n\h\q\|\‹\’\š\®\Î\à\á\ç\è\í]]=]a]:]]]-]k]‘]œ]™]€]{]z]r]I] ])]g]c]H]R]U]2\ü\æ\ø] ] ]]4]<][]n]c]^]e]l]|]…]’]Ÿ]®]Ç]ÿ^$^6^5^]Û]·]ª]­]°]¹]¼]¿]¼]±]ª]¬]¦]«]¯]³]¹]Ã]Ò]Ý]á]Æ]’]_]J]K]K]O]Y][]Y]J];].]&]:]o]’] ]›]œ]Å]ì]ó]Ú]§]y]>]\ï\×\È\Æ\Ë\Ø\à\å\ã\Ó\½\¢\”\\ˆ\„\‰\ž\¸\Ý\ë\é\×\Í\Ç\È\É\Í\Ö\È\•\G\[ç[×[Ä[²[[Ž[{[n[`[Y[T[S[U[Y[Q[@[)[[ ZùZßZ´Z†ZyZ€Z‡Z€ZyZxZ‡ZžZ²Z¼Z¹Z¶Z¶Z²ZµZ¹Z¾Z¼Z¸Z³ZµZºZ½ZÇZÒZàZäZçZçZàZØZÔZÍZÊZÉZÁZ°Z˜Z}ZeZTZKZAZAZSZeZiZmZlZhZZZ?Z YúYßYØYÚYâYàYÙYÓYÍYÁYºY¯YœYŒY|YxYuYpYqYuYY•Y±YÏYõZ0ZvZÏ[[S[u[x[o[\[\F\H\>\2\0\3\<\H\c\x\ƒ\‹\Œ\\ƒ\Ž\­\ä]#]V]‘]]¸]Ò]è]ú^%^)^'^]þ]ã]ß]Ü]è]×]¿]˜]’]£]Ô^^o^¼__E_x_“_¦_º_È_Í_È_À_ª_Œ_s_L_!^þ^ð^ó^í^ì^å^ì^ó^ö^÷^ñ^è^ã^ã^è^ñ^û_____ _!_____ __ _____$_<_`_†_±_Ý`!`j`¢`¾`Ë`Ö`æ`é`é`ðaa aaaaa `ï`Ç`’`n`k`j`e`[`U`U`P`N`O`^`i`t`z```u`m`n`m`r`Š`¬`»`Å`Å`Á`´`¯`³`·`»`Å`Ñ`Þ`é`ç`Ð`³`“`{`q`}`ˆ`œ`Å`â`÷aa.a%aa `÷`Ï`¼`Ÿ`‰`m`g`n`w`w``”`¼`ïa)a]a¤aÉaÕaÂa–a[a'a a a aaaaa&a)a5a!aa a#a;aNa[ažbbRb¡bÿcTc|cœc¿c¡c7bãbnbba@`×`æ`Ë`¿`¯`”`Z`J`^`B`>`%_ö_Ù_Ï_ø_è` `@`_¹_N_F_¡_“_H__)_"_ __"__ªaa_ê_~_¼_x_T_Y__?_E^î^á____ _7_Á_û_º_Î_é_Ý_`^Ç^M^ ^^^S^¢^³^©^Â^ê^ö^ó^¼^F]Ï]y]ˆ]S]ì^©^¨_9__q`%_ú`a*b9`i` `¾`¥a×bZ`É_‡_$^û^ì^g^i^]ë]d]D]/]\Ù\›\W\j\c\0\[Ø[Ÿ[y[ƒ[„[l[][V[|[Ó[ù[®[f[.["[5[[([T[U[t[¿[Ö[SZö[%[1[["[RZèZ9Z YÞY¼YêY¹YbYXïXÎXÐXÔXÚXØX„XkXrXdXlXfXpXWXSX;X>X/X?X3XWçW¾W¿W¹WÜXX7X™YY÷Z†\ßaZb_bÓddâdMbâb_baá`ù`Xb%bÐaûa`÷aÈcrh€dOc@cc_^à_Å`Ía:`d_þ` _¸`&`H`D` `¶`x_ò_â`M`f_ð_p^â^ñ_ƒ_¦_˜_¤_œ_„_,_k_æ_•_o___‡___=_^±^$]|\ç\Ó\ä\ñ\ú\ù]]]]]] \ÿ\û\ü\ú\ó\ï\ë\î\ñ\é\ä\Û\Í\´\Ÿ\§\˜\\i\^\d\l\m\o\w\†\œ\¸\Ç\Ó\Ö\Õ\Ê\¯\•\s\P\/\[ò[Ò[½[­[¤[[š[Ÿ[¨[³[¸[¹[º[»[²[£[ž[µ[â\ \+\?\O\V\`\a\S\:\:\N\j\u\b\9\ [ü[ð[ü[ú[é[à[Ô[Ü[ø[ø[ø\\[î[è[ì[ó[ô\\0\B\:\5\+\!\\[ü[ò[ü\ \ \U\t\«]]K]v]f]6]\à\¶\¤\ž\y\j\\¸\î]g]»\þ\÷\Ä\K\&\ \\\7\N\h\b\b\c\a\n\¤\Ð\ý]]A]W]c]Y]f]n]y]i]e]N]A]%]\à\Ë\¿\´\¯\±\¨\§\¬\±\¹\È\Õ\Ö\Å\–\o\?\-\(\O\š\î] ] ]\á\Å\Ñ\æ\ç\Ý\à\ã\é\é\é\å\î\ø]]](]<]u]Œ]·]ç^i__i_´_…_.__#_@_V_y_€_–_¡_¯_Á_È_Ø_è_ô`_ÿ_ö_å_Õ_Ï_×_é_ð_÷_ù_ê_Ú_Ä_´_¤_Ÿ_°_Ï_ã_Ø_Õ_ç`````_ö_ó_û` `````(`.`'`)``` _ö_Ñ_½_¸_°_±_¶_º_¹_Å_×_÷`` ` ``_ì_Þ_Ì_©__V_<_#_ ^ö^Ý^Õ^Ê^Ì^½^¬^œ^‘^u^z^s^`_$_B^q^f^Î_%^^_œa'bìb[_ù_a,_Ä^#^|_À]Ý\ï]\µ\˜\c\B\\ [ø[ô[è[ê[Ü[è[ê[ï[Ô[¸[«[¸[Ó\ \-\?\T\P\2\[Ý[¯[¨[»[½[¸[ª[›[[€[‚[ƒ[€[[}[‡[‘[ž[°[Ã[É[Î[Ò[Ò[Õ[ä[û\\0\F\S\`\r\}\\\ˆ\Œ\–\¨\Á\Õ\Û\Ú\Ý\á\ã\ä\ò]]&]G]U]1]#]]%]?]\]}]]o]w]…]|]b]B]>]i]›]š]]|]X]4]] ]3]D]-]]]:]T][]\]_]b]t]ƒ]Œ]˜]´]Ç]Ý]ö^^,^0^]í]À]¼]¼]º]À]Æ]Ã]¼]·]²]­]ª]¤]§]«]¯]º]À]Ì]Ð]°]v]H]<]=]=]G]P]L]C]3] ]]<]x]†]x]S]Z]‘]Ñ]à]Ê]®]Š]e]?] \ð\Ô\Å\º\º\µ\±\²\°\›\‚\u\p\m\i\s\ˆ\¢\Ç\Ø\Ù\Í\Å\Ç\È\É\Ï\Î\Ã\²\x\[×[¶[œ[Ž[z[l[Z[M[E[?[=[A[D[H[D[4[,["[Z÷ZÆZ–ZZŒZ Z§Z—Z}ZrZ„Z›Z­Z°Z¬Z¨Z¥Z¦Z¨Z¬Z­ZªZ¨Z¤Z§Z°Z¼ZÂZÊZÒZÔZÙZÙZÙZÓZÎZÈZÇZÃZ¾Z®Z—Z}ZhZTZMZKZEZMZ`ZbZ`Z`ZaZYZFZ+ZYæYØYÖYÝYÙYÒYÄY¸YÀYÅY¬Y’Y„Y}YY…Y„Y…Y•Y«YÑYüZ#ZSZ—Zã[+[Z[y[[†[™[[b[ ZÍZ˜ZiZOZ>ZGZYZcZvZ“Z½Zë[$[c[[“[€[w[[—[¯[ [z[K[[ZòZú[ [d[º[Ë[[•[c[ZüZòZñZœZY©Y Z:[Z¯YƒY…Y³Y®Y|Y;YCYrYšY”YvY]Y`Y{Y§YÚZ0ZZ˜ZqZbZ•[8\ \~\À\Ó\Ð\À\ª\\o\c\j\V\8\ \[é[Ú[ö\\*\\ \'\C\`\\á];]f]c]f]s]\]J]Q]a]P]"\à\±\Ÿ\“\…\h\U\P\i\p\=\b\£\»\•\F\[÷[Ü[Æ[®[¥[ž[“[y[W[@[8[?[U[_[^[X[G[1[[ZïZëZæ[[#[[[3[W[P[=[%[$[/[*[[[[[[[[[[[[[.[=[^[i[\[P[K[R[][l[„[ž[³[È[Ú[ê[ð[ó[ø[÷[ù[ü[ö\\\[ë[×[Â[ž[z[Y[A[([[ [ZýZøZíZæZØZËZ¼Z¶Z¨Z¢Z™Z”Z‚ZpZSZEZ6Z:Z9ZCZLZcZfZZZGZGZOZmZŸZ¿ZËZÖZÄZ ZtZeZ_ZeZdZ`ZTZWZ\ZEZ$ZZYúYõYñYóYüZZ Z-Z5ZAZNZUZmZƒZšZ¯ZÆZÑZÕZ×ZÅZ°Z™ZZ–Z£Z®ZÆZÊZàZó[[0[X[r[†[~[[j[Q["[[T[q[H[8[ZŠZYÙY³YªY¨YÇYàYöYôZZ*Z6Z&ZZZ Z Z9ZfZzZoZ@ZYÒYÂYÀY«Y¡Y‘YY€YpY¥YÅYÙYâY½YšY{YgYwYbY‰YÈYöZ YÖY¼Y¨Y…Y¤ZqZ'Z?[WZPYÆY X XX\XXXuX»XüY°Zm['[äZ;Y¹Y,Y»Zü[j]Z˜ZyZY’Z0\q\¿X™WOXZóa€c™_]¼_O^\KZþYMXûX‘XTXXdX5X;XÂX¸XÔXÝXäXüYUYÊZ$ZiZfZ[ZCZCZiZŒZ ZïZôZô[[[\L[ÿ\V]]~^]Ô^^‚^ ]¸]±^o_4^‘]®]U]\â\ê\Ò\ª\‰\{\X\3\\\!\(\'\$\"\\#\0\9\H\K\L\@\J\[\ƒ\·\ú]-]b]v]]Ÿ]»]Î]î]ù]ý]õ]ï]Ú]Ï]Å]È]¯]Ž]i]W]h]]ã^.^r^²^ï__7_S_w_…_Š_€_p___J_4_!^ù^ã^Û^×^Ë^¼^®^¦^^Ž^^–^ ^¨^±^½^Å^Î^Ø^á^æ^ò^ú_______ _ ___)_5_J_n_š_Ã_ï``S`“`Å`Ø`ì`ó`÷`ù`û`÷`ÿaaaaa`ÿ`Þ`³``X`U`T`Q`O`J`L`H`F`C`N`P`M`L`Q`T`T`Q`V`Y`a`x`¡`½`Ì`Ò`Ó`Ë`Á`¾`¾`¹`¼`Ã`Ì`Ý`ã`Ô`¿`¨`—`•`˜`¢`¾`èa aa4a>a-aa `ô`É`²`•``r`z`‰``¥`¼`Ùaa[aœaËaðaüaùaÐaƒa5a `þaaaa1a9a6a;a9a9a`ô`ÿa aa>ama¿b.b€bçbÝbÜc&cNc‘cÃc‹c€cbÍbÜa‰`Û`ð`Õ`Ê`±`‹`T`u`¤`t`8_ý_á_î_Í_Ó_ä_ï` `_¾_€_ó`_–_I_<_J_G_/_ _2__ÇaYaO`_}_£_r_F_:__c_Q^ò^¸^À^ï^ß^Ê__´_ì_È_Ð_à_û_§_H^Å^ž^ô^Î^å_3_?_._'_5_^õ^—^]¦]\]m]^v_Ù`+_°_Æ`ûa}a$`õaºbœa'aFbkbHbaZ`¡`_Õ_Ô_m^Ç_+_]ß]w]f]']]\Ë\Œ\’\’\m\Q\![ã[Á[®[·[¦[Ÿ[ž[¬[Û[ù[Ò[‹[=[2[W[H[![N[{[•[ë\h\R[â[ø[Ð[„[o[xZøZKZZYÿYìY±YqY(YYXðYYXôX™XvXyXoXxXlXoX\XXXCXGX?XEXHX*WüWàWÃWÈWÚX"XNX”Y YÉZ„[Ÿ^zb™dÇdGc…bëb¹cbgb;a‚`¤b­bZaå`ôa"cUeÀgScKa¿b&`!` aL`í`V_ë__|__S_›_Ä``b`|`_ç`_`K_l^®^K^˜_@_z__‡_“_Ÿ_W____ ^ÿ^ö^ß^˜^z^Z]ÿ]ƒ]\º\¿\Á\Í\Ò\à\ï\ù] ]\þ\÷\î\î\ò\î\é\ä\à\Û\Ó\Ì\Å\·\¥\–\†\‹\u\T\@\C\W\c\g\h\t\‰\£\¾\Í\Ó\Ò\Ë\Ä\¯\”\s\U\;\![ÿ[Ú[º[¥[•[‹[‹[ˆ[‹[[˜[¢[£[¢[¡[™[©[Ì[ç[ÿ\\0\F\N\U\T\N\C\H\S\[\c\V\1\[í[ã[õ\\[ÿ[ç[ð\[ü[ä[ã[Ã[[–[Ê[ò\[þ[ø[ò[ñ[ú[õ[ö[ç[Û[á[å[ë\\/\L\}\¼\ü]*]>].]'\ð\Î\°\™\€\a\_\u\é]]ã_']‚]](\”\E\ \\\+\-\D\I\c\q\~\Š\¨\Î\ø]]2]A]J]M]S]O]Y]T]S]F]8]\ð\Ã\¤\›\§\©\¯\¹\Ä\Î\Ö\å\ó\ü\ö\×\£\r\B\<\0\>\x\Ø]]\ì\Ý\Ì\ì] ]]]]\þ\þ\ù\è\Ý\â\ì\ú]]']T]y]¸]ä^:^“_`%_á_d_W_D_r_y_ž_µ_Å_Ó_á_æ_è_â_ô_þ`_ÿ_ò_â_Å_Â_Ë_Ð_Ø_Û_Õ_Ç_º_¨_™_‹_ƒ_‰__³_¦_¦_½_×_à_Û_Þ_ß_Þ_à_æ_ò_õ_þ` `!`,`=`M`M`F`;`.`#_ù_æ_Ó_Ô_Ë_¼_Å_Á_Â_Ñ_ç_ú``'```*`_â_ª_|_]_?_,_^ø^é^ß^Ü^Þ^Î^È^¹^©^Ž^ž^m^`_^À^%^^ ^C^]î^_%a `“^ô__`ä^­]»^ýa›^á\÷\ñ\Á\Ÿ\m\Z\7\,\\\\\\\ \ [ï[Ø[É[Ó[ê\(\_\~\…\z\l\I\[Ï[¹[º[¹[´[»[»[“[†[‡[Š[Ž[’[[”[Ÿ[³[É[Û[â[æ[å[æ[æ[ô\\#\8\O\e\o\}\†\\–\Ÿ\®\Â\Ù\ð\ü]\ÿ\ö\ö\þ\ù]]]7]H]L]4]8]?]F]E]A]V]A]4]V]x]y]u]w]n]]¸]Å]¶]¤]|]]]M]T]\]s]\]+]]]%]G]Z]e]i]o]w]ˆ]œ]¯]Á]Ö]æ]þ^^(^4^?^]Ö]Ç]Æ]Æ]É]Ë]Ë]È]¿]½]·]±]¨]¥]­]°]¶]¸]¸]­]‰]b]F]/]0]<]P]U]Q]J]>]B][]o]^]>] ]]F]{]‡]t]j]b]O]:]!]\Ù\À\¦\‰\}\\\‹\}\b\\\\\U\W\[\w\ž\¾\Ç\Ä\Â\½\Ç\Ï\Ó\Ó\Ç\µ\¨\ˆ\E[ô[·[‰[v[f[T[D[4[+[%[&[,[.[2[3[0[/["[ ZÙZŸZzZzZ‡Z‹Z—Z‘ZwZoZZ˜Z£Z£Z¡ZžZ¢ZŸZ›ZžZœZZœZ Z¡Z¤Z«Z°ZºZ½ZÅZÎZÓZ×ZÑZÊZÂZÂZÂZ¾Z­Z—Z~ZiZXZSZLZFZNZZZ[ZRZOZVZSZJZ4ZYòYÝYÕYÓYÍYÍYÆYÅYÑYÐY²Y•YYYƒY|Y~Y†YYÀYîZZUZ Zé[.[Y[m[t[y[Ÿ[Ç[µ[|[[H[\[|[ž[©[™[†[h[W[b[„[º[ñ\\[È[®[t[<[[ZþZ¬Z)Y¯YZZZWYòYèYàYÀY_Y#Y+YaY–Y›YŽY€Y}Y†Y¦YÈYéYÿZ ZZZNZê[ó\¾]']-]\ú\Ö\«\{\i\r\{\b\,\ [Þ[×[ü\\\\\:\F\b\‡\¼]]C]F]M]Y]D]7],]F]O]<]\è\Å\¨\‡\t\`\S\O\P\![ø\\\[ù[ï[æ[Ø[Ï[Â[¼[¬[˜[€[][L[:[,[@[Q[L[<[[ZùZðZòZú[[*[6[%[)[;[I[:[-[#[+[4[%[[[[[[ [ [ [[[[[,[K[j[l[_[T[M[Y[n[…[£[¾[Ô[æ[ô[ÿ\ \\\\"\$\\\%\"\\[ï[È[¦[[q[[[G[6['[[ ZüZíZÜZÎZ»Z³Z¬Z©Z¡Z¡ZŽZƒZiZYZNZWZ_ZkZrZ~ZZvZaZaZdZ€Z®ZÎZÓZØZ¹Z‹Z^ZWZ]ZcZlZyZvZyZgZMZ7Z%ZZZZZ!ZZ)Z6ZGZUZ_ZjZzZˆZŸZµZÉZÜZêZöZîZãZÖZÅZ»Z¸Z¿ZÅZàZñ[[[:[Y[Š[´[Ì[¸[·[¤[„[a[z[‰[{[d[R[Z–Z,YðYÇY¾Y·YãZZZZ(ZeZšZZoZ4ZZ ZBZfZnZgZOZ.YêY¼Y¬Y¦Y¢YœY›YYYŸYÐZYÿYåYÒYÇYžY’Y£YÁYËYñYÿZYÜY°Y¹YšYüY¶ZT[ç[Z[Y@X˜XEXXXZX}X½XàYY¥Z¿[…YÊYkYÅZ^[ê\]]ö\â[p[;YåZ9\…\X>W|WÚY^Ûeìcb’^ÀZ¿XÊY?X×XåX—XvXBXXXŒXkX’XÖX±XºXÃXðY7Y™YäZ?Z{ZŽZvZÂ[Zì[-[…[.[ [Ú\ç]¸\‹\7\é]Ò^¶^]š]‘\ñ\s\©]K^6^i^ ]]\³\¦\Œ\}\\¬\r\9\[ö\\ \\\\[þ\ \\\\\ \\$\Q\‘\Ñ]]<]^]o]…]]­]Æ]Ñ]Ù]Ë]Ï]É]Ã]¯]™]}]O]8]9]Q]€]±]ç^^M^~^¤^È^é_______ ^õ^æ^Í^À^½^®^^€^k^b^^^\^a^k^s^~^ˆ^“^¡^­^´^Á^Ë^Ù^ã^ð^ý__ _____._>_O_d_~_›_É``0`O``¬`Ñ`éaa aaaaaa%a+a$aa `ø`Ø`ª`u`J`C`F`H`L`>`7`-`)`"`#`%`&`*`6`:`A`C`K`Q```{` `º`Æ`Ï`Ô`Ò`Ë`Å`À`µ`®`¶`¿`Ê`Ò`Ó`É`¼`²`¯`³`¾`Ûaaa7aMaFa)a`ü`â`¾`¨`‹`{`v`…`Ÿ`À`Ö`üa5a€a»açaýbaía½ama`Í`´`¿`ß`òaaa5a:aDa9a$a`ì`î`ï`åa aIa©bbWb‚bJbcb×bêc`c¼cfcÚd&crb‡a=`ïa`è`É`•`•`~```|`8_÷_á`_ý_Ò_Õ_ö`#`+_ì_¿`!_ý_‡_c___Q_D_K_(_Y_8` aI`‡_´_€_u_v_`___#_ ^ß^³^°^ª^¬^Ã^î_?_v_ž_˜_‡_¸_É_Õ_M^ô_^Ý_-__„_‚_i_H_^ä^j^^^,]è]Ú^_¦a”_¸_Ñbhc|cúcbÅb:aŠaôb›bÌc c&cHb#`Ñ`4_ø``F_[^f^ ]–]F]:]\ñ\í\á\Ë\Ã\±\~\6\[é[ñ[í[ç[Ý[á\\\[·[p[][t[Š[o[}[«[È[å\[\«\ [â[æ[Î[Ä[©[0ZŽZBZ1Z.ZYìY²YaYUY;YYYXáX©X‡X…X|X…XXtXdX\XLX?XFXNXSX8WôWêWÈWÔWíXYX¬XÚYPYùZÖ[z]`cc†bèccTaøa a`š`±bÐb]b^a§bce©frfbe®d²cÓc(c¶ca“`‚_Â_"^å^x^Ý_è`_È_Ö_ì_ê_«_¢_Ë_K^}^A^´_W_w_y_g___c_Y_ ^À^¥^¬^…^m^S^]Ö]©]l]\µ\‘\¢\¡\¦\«\¸\¿\Ò\Õ\Ü\Ý\×\Ó\Õ\Ö\×\Õ\Ì\Ç\À\°\§\“\‹\\n\f\d\Q\3\*\9\F\Y\]\d\w\\š\¯\¿\Å\Ê\Ê\¿\ª\‘\y\f\Q\4\[è[Å[®[™[‡[|[v[v[x[[‡[”[•[Ž[—[¼[Ñ[Ø[å\\)\<\C\F\F\H\H\I\L\S\Z\S\F\3\\\ \\\\\\\[é[È[ [~[‡[°[Í[Ì[Á[³[´[´[¼[Ä[Ê[Õ[Ù[Ü[ñ\\\@\n\š\É\õ]]]]\Ò\À\©\©\”\f\C\\\è]/^Y` ^;]]†\Ä\O\\\\#\\\!\Q\n\\\œ\¼\õ]]3]A]I]A]:]7]<]>]>]7]3] ]\Ñ\Ÿ\|\t\v\ˆ\£\·\É\Ý\æ\ñ\ù\ô\Þ\´\y\L\A\)\?\}\Ç]] \ß\³\¦\Ò] ]$]\ù\Ï\¾\¾\Ò\ê\á\ß\è\è\ù]]A]o]­]Ü^,^U^®`Q`_l_•_s_•_¶_Ê_é_ÿ````` ` ``` _õ_Þ_Ä_¸_³_¸_À_»_·_­_—_Š_{_o_a_e_q__y_|__™_•__…_‚__§_Ç_Û_å_ò```,`B`U`[`W`B`;`-`_ô_ê_ð_Ù_Û_Ð_Ì_Ë_È_Ù` `?`P`T`g`z`5`_×_™_q_J_0_^ý^ô^ê^é^é^ä^á^Ð^Ã^¨^˜^__„^„^9^d^]÷]æ]Ç]š^^‹^Ô^“_<`º^ ]Á`Kb†^è\ø\ù\Ð\²\„\q\V\P\C\B\6\6\/\0\)\$\[ÿ[ø\\\>\}\«\ª\š\\n\([í[Þ[Î[É[Ä[º[®[–[[[Ž[”[[’[š[£[·[Ç[Ø[â[è[é[æ[ç[ñ[ÿ\\=\Z\p\\”\ \§\¯\½\Ï\å\û]]] ]]]]]]!],];]Q]e]b]n]…]]O]3]>]\þ]]B]N]S]n]~]‰]ª]»]­]¥]~]Y]T]t]‡]’]n]<]%]])]G][]j]q]z]„]Ž]¨]¼]Ä]Í]Õ]é^^8^U^p^W^]ä]Ö]Ï]Ð]Õ]Õ]Õ]Ô]Ì]¾]µ]²]«]¯]µ]·]²]­]¦]]]r]D]0]*]N]p]s]p]g]i]d];] ]\ì\÷]]]]] ]]]]\é\Ä\–\g\M\M\V\g\ƒ\s\M\J\M\B\H\R\p\—\¯\¶\µ\³\´\Ä\Ð\Ï\È\»\§\š\y\D\[Ç[œ[‚[m[X[H[3[#[[[[[ ["["[![Z÷Z½ZšZZ‘ZZ…Z‡Z€ZvZzZ‹Z›ZZšZ›ZœZ Z˜Z–Z“ZZ’ZŽZ’ZZZŽZ™Z¥Z±ZÁZËZÓZÓZÏZÈZ¿Z¾ZÀZ¾Z­Z•Z}ZkZ]ZWZPZKZPZXZQZEZAZDZBZ@Z3ZYûYàYÒYÐYÉYÖYèYîYéYÝYÉY«Y¢YŸY†YtYqY~YšYÉZZ[+ZöZ›ZY˜YZYnYÉYñYùYíY×Y˜Y/Y YY^Y—Y©Y¬Y¨Y±Y¿YËYÖYâYßYÖYÆYèZ.Z˜[ˆ\ä]ƒ]k]D]\ë\´\y\]\e\u\k\5\[ë[ï\\!\\\(\;\@\S\n\‘\Î\ü\û\þ]]] ]] ]] \ñ\ä\Ö\·\‡\k\U\F\:\1\$\[è[ã[å[á[ß[Û[Ï[Ì[Î[Ì[½[¦[†[a[U[J[>[F[X[V[6[ZóZïZõ[[0[K[B[-[-[F[Q[O[?[9[5[6[5['[[[[ [ [ [[[[[[[6[_[|[x[n[e[i[y[’[­[Æ[Ü[ñ[ÿ\ \\"\-\5\:\A\D\@\@\>\1\,\\[ç[Î[¸[š[‚[h[S[;[+[[ZîZÙZÈZ¼ZµZ¬Z¬Z£Z¤Z–ZŠZ{ZqZaZaZfZpZxZ…ZˆZ…Z|Z…Z‰Z¦ZÆZáZÝZÎZ«ZˆZnZiZhZsZ„Z—ZZ†ZoZ^ZCZ.Z!Z+Z7ZDZHZDZEZQZ`ZjZyZZ‘ZŸZµZÃZÜZîZþ[[[ZíZáZËZÄZÉZÞZñ[[([E[o[Š[¶[Û[ë[Þ[Ó[°[œ[•[ [[g[[[Z[!Z±ZOZYìYÖYÔZZ!ZAZ8ZAZ‚Z­Z’ZoZ0ZZZKZkZaZPZTZCZYÂYY’Y›Y§Y·Y¢YªY®YèZZZYþYîYñYÐYÁYÒYêZZYöYºY­Y¾Y½YäYÃZ™[ÎZØY¸YXŠWøXXgXºX¶XþYY:YÕZTYòY¯YæYÐ[É_©aaé_í]] [ Zp[ªZ¥X>WËXFYG^@gÏflf`ð[‡YaYBX–XœXnXlX+X/X8X X6XšXvX”XƒXyX‹XØY,YrYÑZZmZì[¾\S[ä[v\©\/[T\Ò^u^P\ô\H\~]Š^c^]Š]j]?\ý\ï\‚\‘\£\Á]]\è\«\†\å]\ñ\’\C\[Û[Û[ð[ö[ú[å[ã[Ò[Þ[ß[ï[ï[ñ[æ[ô\\6\x\¦\Î]]/]P]p]‹]›]­]¹]¿]¼]Á]¿]¯]]d]=]]]&]F]k]]±]Õ^^0^S^s^^¢^ª^«^§^¾^¿^Ä^¼^¯^­^^Ž^t^Z^F^9^5^=^H^J^Q^V^a^i^x^„^‘^Ÿ^®^¼^Ð^à^ð____$_'_'_+_C_[_u_Ž_­_Ã_â` `>`j`—`¹`Ú`õaaa"a&a/a4a8a1a+a aa `í`Ä`Ÿ`{`Z`E`>`<`:`,`````` ```&`/`<`A`O```y``¥`´`»`Â`Å`Å`Ã`Ä`Á`¸`¯`´`¶`¼`¼`Â`Å`Æ`Ç`Ë`Ì`Ó`äaaa6aVaJa'a`á`Ì`¬`œ`Š``€`‘`±`Úaa[a£aÚaúbaúaÌaˆa0`Ô`†`S`B`L`t`–`Â`çaa$a,a a`Û`Ã`·`«`À`îa asbbaåaîb"bPbXbõcHbÌbúcbga¾a-aaaa`«`˜`¦`ˆ`„`y`A`_ô`-`#_ò_ù`'`U`V`8``_û_Õ__g_p_Š_…_a_k_,``×`_™_„___]_4^ê^Ê^À^Ã^Ä^©^¢^`^e^œ^À__7_}__}_u_k_}_V_8_ _&_Ø_Ý_«_¥_Œ_T^ñ^®^d^0^S^ˆ^z_3^e^ïb£aúa˜c cc?b]ažaÙaùa×bb‹ccDb»a‘`ã`Ìa7a€`‰__^ò^n]Ñ]”]c])].].]\þ]] \Û\¥\†\T\Z\5\\\\/\$\[Õ[¥[Ž[~[[©[¼[á\\ \5\†[õ[»[å[×[´[‚[%ZÒZ¦ZjZNZTZ:YæY›YŽYdYKYGYXÖX¼XœXŽXX“X‡XpXmX_XSXTXOXVXPX3XXXX X,XpX²YY„YðZ\]Z^’`Âbva#aêcbaaPaO`_ôa1`÷aQaÜcžeJe)e†gkiªeÅdCcÄb4a8`!_S^©^h]Ü^Z`_”^Ý__ _V_f__S_Œ_^Å^é_4_@_I_B_2_!_^Ý^ž^h^a^+]î]·]x]I]%\ã\‘\q\w\{\t\v\o\y\…\\Ÿ\®\ª\°\²\µ\¸\º\¶\µ\¦\š\Š\~\n\a\\\Q\@\7\.\\#\;\7\E\S\W\h\v\\™\§\¯\³\·\°\¡\\z\k\Z\A\#[ÿ[Ø[µ[œ[[ƒ[w[o[k[s[t[y[[‚[—[¿[¾[Á[Ü[û\\$\2\7\9\5\6\<\>\C\J\M\F\C\;\*\\\\\\\\[ÿ[Ã[‘[z[†[”[’[Š[‰[„[…[ˆ[Š[ž[²[¾[Á[Í[ä\\\3\\\Ž\¸\Ý\ö\ü\ê\Ù\½\µ\\¤\‡\T\+\Q\Ô]¿_±aØ_Ý^’]¬\Ô\Y\\\\,\\\"\N\p\˜\ª\¿\Î\ú]].]5]5]4].])]$]$](] ]]\ñ\Ë\—\g\J\D\K\i\Œ\®\Í\×\â\ã\Ú\º\Ž\]\G\A\/\M\†\¶\ò]-\­\r\\’\½\ã\þ\û\Í\¯\§\²\×\Ü\Ñ\â\ï\û] ]4]j]±]ï^-^\^’_½`A_ß_Õ_ª_®_æ``$`4`@`M`_`Y`:`)`"``_ó_Õ_¿_­_¨_¤_œ_ _—_Œ__~_g_U_D_D_M_Z_\_[_b_W_1___ _/_K__¯_Ñ_Ý_õ```<`S`T`H`<`A`5`)`_ú_ò_ï_ÿ_ä_ß_Ç_Æ_Ô_ï``.`Z`h`…`X`_ö_¼__i_?_!___^ü^õ^ó^ñ^í^Û^Æ^¥^¾_ª_˜^^S^4^^]æ]Ì^^_^]ÿ^)_˜b:^{]`^È_›]í]]\Û\Ç\ž\“\ƒ\{\r\s\m\f\X\S\E\9\4\0\/\F\C\M\t\œ\™\‹\ƒ\x\K\[ú[ê[ð[ç[È[¯[¥[œ[™[—[œ[Ÿ[¥[®[·[Æ[Ú[î[÷[û[ÿ[þ[ý\\\-\G\d\\–\¥\¸\Â\Ê\Ú\ç\ÿ]]%]*])]]] ] ]]!]%]/]Q]ƒ]­]Ä]Ö]Õ]µ]Œ]Y]0]]]]]]8]j]‰]‘]š]‘]ƒ]^]<]>]d]ƒ]‘]t]V]D]7]>][]p]ƒ]…]‰]œ]¢]ª]¹]Æ]Å]È]â^ ^:^_^}^„^P^]ê]Ú]Ô]Õ]ß]å]Ý]Ù]ê]Å]´]µ]²]¾]¼]¸]·]°]°]©]š]v]R]L]s]†]‹]”]‘]}]C]\Ô\Þ\÷\û\Ý\Ì\°\¢\¬\Á\Ï\Ü\Ü\Í\µ\€\A\5\G\\\{\ˆ\z\Z\C\;\9\C\]\}\š\®\­\¨\ž\¤\¹\Â\º\¯\¡\Ž\„\i\4\ [Õ[²[œ[…[m[[[M[=[.[[[[[[[[ZæZÄZ·Z¸Z«ZZ€Z~Z‡Z“Z™Z Z¡ZžZ—Z”Z™ZšZ”ZˆZZZ€Z{ZyZuZvZzZ‹Z›Z±Z¿ZÊZÐZÏZÌZÂZ½Z¼Z¿Z¼Z­Z’Z|ZjZ^ZYZTZHZJZRZGZ=Z1Z/Z2Z2Z*ZZ YóYåYäYàYôZ YúYëYãYÚYÉY½Y¯YŸYY‰Y™Y¿YüZ9ZnZ¨Zé[)[K[`[U[F[7[<[±[Þ[Â[¦[e[@[Z°ZFZYðYûZZ.Z?ZRZ]ZwZŒZ¥Z½ZØZð[[:[h[‰[›[µ[à\\m\±\¯\u\`\)[ñ[Ë[[`[6ZòZ‰YúY–YWYLYƒYªYÀY­YzY3XøX÷Y(YsY®YÇYÔYæYüZ Z YøYíYâYÆY¸YØZ-Z†[X\û]€]B]/]\×\\S\.\*\0\B\+\%\#\2\>\A\?\1\(\1\6\9\?\V\t\~\l\u\“\¤\±\¿\¿\°\¿\¨\«\®\š\}\l\h\W\E\;\)\[ú[ç[ã[Ú[Ö[Ì[À[Ä[È[Ë[À[­[œ[„[p[b[c[g[g[a[D[%[ [[-[R[m[n[:[)[E[[[][][W[R[E[;[3[/[([%[#[[[[ [[[)[-[3[M[t[[‡[„[‡[˜[©[¿[Ó[é[ý\ \\\(\9\A\N\R\Z\Z\V\U\R\C\:\+\\[ë[Ò[¸[œ[‚[k[Q[<["[ ZöZéZÛZÎZÇZÂZ¿Z¸Z±Z©ZZ’Z‰ZyZuZvZ{Z}ZŠZ’Z£Z«Z±Z®ZÈZãZêZÜZÈZªZ•Z†ZƒZ‡Z Z®Z¸Z¬Z™ZZtZ]ZMZDZRZ`ZoZhZaZ^ZjZvZ€ZŒZ˜Z¨ZµZËZÛZï[[[%['[![[Z÷ZôZêZô[[[D[q[œ[Æ[ó\ \ [ô[Ý[Ã[Å[®[Š[s[r[[[Z[*ZÎZpZ+ZYôZ Z&Z8ZHZCZIZbZ|ZmZ]Z?Z5Z;Z‰Z¢Z‘Z„ZqZ@Z Y»Y‡YzY›YªYÅYÑYÀYËY÷ZZ%Z2ZCZ%YüYôYøYúYÿZZZYÔY§YžY¼YÝZ Z`Z4Y~Y\YXoWòXX½YX×Y Y#Y@Y,YÌZZYµYþZ:\ `íbòa`Ë`u_i][MZsX[W×WvXÒZª]ÕeˆgþcÄ^:YÙX¢XÿX|XêXŒXXGX%WíXX9X:XQX†XDXfXSX“X¿Y5YmYó[K\’]f]¤]\]+\‡[X\t^Z]Ü] \¶\Š\ü]]']`]Ã]ö]Ñ]m\e\G\;\$\X\Š\“\l\f\í] \Õ\\-[ç[Ï[µ[Í[Ì[×[Å[Ä[¹[º[¹[Æ[Ç[Ë[Î[Ý[û\7\`\r\™\Æ\õ]']?]O]r]]¦]©]­]¯]¯]“]b]0]\ú]]]-]F]`]v]˜]Ã]ñ^^7^F^O^R^Z^c^{^‰^‡^‹^‡^ƒ^h^L^3^^^^%^,^4^6^;^?^J^R^c^p^€^“^¥^¶^Ì^Þ^ó___&_1_6_8_;_N_b_€_ž_Á_Û_õ` `1`f`“`·`Ý`øaa$a1a2a7a:a@a6a%aa`ð`Ø`¶`™`u`Z`C`8`'`` _þ_ö_õ_ñ_ø_ú```"`0`B`N`a`x`‘`¢`©`ª`¤`ª`±`³`±`¶`·`¶`®`¯`®`¶`·`º`Â`Í`Ò`Ú`Ò`Ô`Ü`òa a&aNaPa1a`Û`Á`ª``“``”`¬`Î`ÿaNa®aõb bbaÂada`±`g`1` _ý_ù` `*`X`”`×`þaa`Ô`—`q`v`‡`¶`Ô`Çaa[adaŽaÓaöaýaíbEb‰bjbzbNaíaÆaˆaOaEaMa\a `°`¸`­`‹`x`F_û``H```S`Z`T`Q`2`(`7`8`R`9_·_q_o_u_Ž_X_‹`9`M_²__M_0_^ì^Ô^®^‹^“^™^ƒ^}^;^^9^l^Â^ë__K_R_`_‡_˜_f_e_d_Ñ`_á_‹_©_¤_^^Å^^‘^‰^­__`X`:_ÜbQd~d\E\E\;\)\\ \\\ \\[è[í[¼[“[m[c[i[R[U[i[i[i[s[p[n[‰[£[£[¶[Ø\\\'\?\q\Ÿ\¾\Õ\ã\Ð\±\¢\›\…\\e\1\\I\É]Î`œcáa[^]"\–\:\\\"\7\2\/\+\H\d\‹\¬\Ì\Ü]]]>]C]7]2]%]]]]]] ] \ô\Ö\ \m\D\9\<\N\e\‡\£\¹\Í\Ê\¸\™\x\\\W\W\]\w\•\¨\¦\®\Y\Q\u\}\¦\Â\Ô\Ö\Á\¬\ž\¥\È\ê\è\ç\ñ\ù] ]1]i]³^ ^P^‡^£_)`C`9``_ä``M`\`k`‹`Œ`—``]`=`*`` _ó_Î_±_ž__ƒ_ƒ__‰_…_w_t_^_?_&_"_2_M_Z_[_V_<_^ä^Õ^Ë^Ó^é__[_ _Â_Ü_î```1`/`,`$`"````_å_ï_ô_ú_á_Â_Æ_´_×` `Y`Š`ˆ`y`p`O`$_ö_Ã_‰_h_P_;_,_.___ ^ÿ^þ^ã^Ú^·^¨_ ^Ý^’^ƒ^O^F^ ^]Ê^o_é^þ^1^0_o_Ð]ê]p]°^]n]*]=\õ\î\Á\»\¬\¦\¤\ \œ\˜\‰\z\h\`\_\`\c\g\Z\T\r\•\“\‚\s\x\u\P\#\\6\"[ü[á[Î[¸[®[¨[¦[©[¬[³[»[Å[Ø[ç[ù\\\ \ \\\1\S\s\\¬\Ã\Õ\ã\í\ù]]](]5]=];]4](]]]]"]/]H]e]‰]¾]â]é]ç]Þ]Å] ]†]b]F]2]] ]]>]^]l]{]ƒ]„]j]C]@]T]i]t]d]V]P]U]_]s]w]v]w]z]~]†]]±]»]¸]¸]Õ^^$^D^s^Œ^o^?]ý]Ü]Ø]Ö]Þ]ç]æ]ò^"]æ]¸]¶]¶]¿]Ä]È]Å]À]¼]®]¥]’]ƒ]]‰]r]x]“]Ÿ]~]+\á\©\¡\¿\Ì\®\Ž\l\X\l\–\³\Á\Ç\³\‡\O\\\\L\\‘\ˆ\f\D\9\<\L\s\\¡\­\¡\–\\›\©\²\¶\µ\¡\‹\q\[\5\[ñ[É[°[–[~[p[h[a[Z[I[5['[[[[ZþZåZÏZÈZÊZ¸Z›ZŽZ›Z¯ZµZ²Z¬Z¦Z¤ZœZ™ZžZ›ZZvZsZpZlZjZhZgZiZrZ‚Z—Z¬Z¼ZÊZÌZÌZËZÆZÁZ»ZÀZ¹ZªZ“Z|ZhZ`ZZZRZJZ@Z5Z0Z1Z'Z"Z"ZZZZZYóYåYâYüZYÿYôYöYòYéYÝYÌYÀY°Y°YÅYîZ0ZgZ—ZÍ[[<[R[S[P[G[[[¢[ò[î[Ó[˜[f[+ZÄZIZYïYùZZZ$Z*Z+Z>ZQZmZZµZÓZó[[9[a[Š[¸[ô\?\\Å\µ\w\b\1[ý[Ñ[˜[m[4ZäZsY÷Y±YsYVYYYWYIYXáXÊXÕYYGY“YÛZ Z%ZFZeZiZTZ6Z YòYÚYÐYêZ8Z§[r\ã]\ß\è\Û\“\:\'\[õ\\2\8\=\U\f\p\n\`\K\:\5\,\'\\\\(\1\>\N\h\ƒ\›\¥\Œ\Ž\t\g\h\c\h\r\ƒ\\]\L\@\0\[÷[æ[Õ[Ë[¸[­[µ[º[Ä[¾[°[¦[Ÿ[š[”[–[“[[r[W[@[=[_[[’[Š[{[R[N[f[k[j[n[j[c[U[I[:[7[9[?[9[0[#[[[[,[9[E[T[p[Ž[¢[£[«[¿[Ñ[ß[î[ù\ \\$\,\4\;\I\Q\a\j\o\k\f\_\[\S\E\2\"\ [ö[Ý[Ç[ª[”[{[d[I[4["[[ZÿZ÷ZïZïZèZâZÖZÇZ»Z²Z¢Z”Z‰Z„ZˆZŠZ˜Z°ZÌZËZÌZÒZÝZïZîZÚZÊZ´Z«Z¢Z¡Z¨ZÀZÄZ¹Z°Z§Z’Z…ZvZpZiZvZ„ZZˆZZ‚ZZ’ZZžZ­Z¾ZÍZÛZï[[[-[A[F[:[5[#[[ [ [ [[+[Z[–[Å\\.\8\)\\[ñ[Ü[¼[•[s[h[Y[T[.ZôZ½ZƒZ3ZZ*ZDZUZ]ZgZwZˆZ–Z}ZpZVZSZtZÂZËZÉZ¦ZvZ7ZY·YŽYzYŒY¯YÖYáYßYõZZZ0Z6Z2Z%ZZYøYøZZZYòYÛY²YÉYÓYðZY˜XîYY„YXŽX8X_YYCY,Y'YWYZYOYãZœZ-YãZª]A`na4`ÏdNc-_À^…\Y|WxXWlZ3]â]É`g¯g?aO\µYDYX¥XŽXLXqXX%WþXWðX5X?X3X>X`XEX‹X€Y YY×[æ]ç__>]·\æ]Ì]8[ð[\·] \â\ò\î\­\}\™\¿]r]m\Ä\T[¶\\$\.\9\=\S\ [ö\&\Q\^\<\ [Õ[Å[¢[¬[©[°[¤[œ[“[–[™[[Ÿ[¡[¡[¸[ð\(\J\\\t\œ\Ã\å\ù\ø]$]W]y]…]˜]š]ˆ]q]D]\ê\é\é\ï] ] ]4]F]l]œ]Ð]ø^^^ ^*^/^C^N^W^T^N^E^2^^ ]þ]û^^^ ^"^&^'^)^+^5^@^O^`^t^…^ž^´^Ë^Ý^ö___&_6_<_G_N_^_i_|_“_¯_Î_ì``'`R`…`­`Ó`÷aa"a0a0a3a5a8a.aa`ó`×`½`¡`‡`b`A`%```_ô_î_è_è_í_ô_ü` ``.`>`R`c`z`™`§`«`­`®`¦`§`¡`›` `¦`¤`§`§`ª`ª`²`»`Â`Å`Ñ`Õ`Ø`Ö`Ø`Ø`êaa!aBaGa1a`ó`Í`¶`¨`ª`±`·`ÙaaGašaøb.b:b)aëa‡a`¾`|`I`,```_û_ô` `F`“`êa?a`Å`ˆ`Q`3`L``¯`ª`Â`åaa—a²ažaÈaÜbb:bDb[b3aáa¼asa9alaqaZaC`ë`Í`º`Ÿ`p`0```M``1``b`Z`b`-`B`c`A`\`Œ`:_Ñ_‘_]_W_J_²_ü_£_c_G_^ñ^Ñ^¼^³^€^b^[^M^F^9^]Þ]é^^T^„^¶_ _c_·``"_Ã__Ÿ_æ`Z_±_”_Î_¨_P^ª^¶_M_^ˆ_»`~`¼a·blbb˜caôa6`Ü`ìaadanaa"a`ÿa3aafbbba¢`Ú``_-^˜^G^]Ý]›]x]„]‹]°]É]”]i]w]p]O]\¹\\x\š\”\`\4\[Ò[Þ[ç[æ\'\}\¸\¿\ž\,[Ï[¾[Ž[~[h[A[[[ZôZÅZ§ZŒZ]ZVZDYÐY®Y…Y'YY XòXßXËXµX±X°X®X¶X€XoX‚X‚X‰XXœXœX¡X¤X¦XµXÐY5Z%[ZÉ\]û]ò_Š`0^z^=^_x_Ü_a_¯`â`˜_©adTeºeˆdÔdpctc¸a<_öag`¼`;_ã_ö_]É]Æ^D^k^>^ ]×]ž]¹]ß]ê]§]ã^W^›^´^¼^Ñ^ì^í^ï^Û^È^•^\^]Ë]¦]Œ]Z]*]\Ê\L\ \'\&\'\ \\\\+\?\G\N\V\\\b\l\j\t\t\m\a\S\D\8\$\\\[û[ø[ö\\\\\ \\(\1\?\E\G\G\L\X\n\z\€\‚\~\x\m\a\O\6\[ñ[È[¨[˜[ƒ[u[n[e[a[c[w[œ[Ì[Õ[¿[·[È[â[ð[÷[ÿ\\ \\ [ý[þ\ \\!\2\1\ \\\[ö[ð[ê[ö[ý[Ù[Ð[°[‡[Z[G[e[W[T[^[M[=[;[=[F[`[[˜[·[ß[þ\\\5\h\‡\š\®\·\œ\~\x\w\l\n\1\[×\\]^a^¶]¥\ñ\¶\q\\ \#\9\X\Y\Q\F\W\d\€\¡\È\à\ö]]]]]]]]]]] ]\ú\æ\Ð\µ\“\b\G\D\R\a\y\‡\¤\Ê\Ý\Í\°\\y\q\r\|\x\y\~\b\L\?\I\T\]\†\«\Â\Ã\Ó\Í\º\Ä\Ï\Ù\Ü\ç]] ]];]m]·^%^{^¹^í_&_Ý``V`y`X`s`—`ž`œ`¯`¿`È`½`ƒ`F`-``_ã_È_¡__€_|_€_ˆ_œ_‰_}_ƒ_\_1__ _+_W_q_u_m_O_*^û^Õ^¹^ª^Ÿ^È__P_’_²_Ì_ê_ý````` ` ``_ô_å_ó_ú_ø_»_½_¤_œ_´_ _æ`aa1a`‡`f`K`_ß_¦_š_ˆ_{_j_\_N_=_+__^ú^í^×^å_W_H^Ú^§^o^d^#^C]Û^(`~`^L^V` ^U]¥]Á]×^=]Œ]H]A]]\ì\è\Ú\Ü\×\Õ\Ò\Ê\»\§\”\‰\‚\‰\‘\\m\a\m\\†\|\l\y\ˆ\s\U\O\]\O\>\/\[ü[ä[Ï[Ë[Á[½[Ã[Î[Ø[ë[ý\\\)\.\/\6\D\R\j\€\\·\Ò\ã\ö]]]]&]4]<]E]F]E]C]=]3]-]1]M]i]u]ˆ]¦]Ì]î]þ]þ]ò]å]ß]Í]¶]’]f]6]0]=]G]V]v]]€]z]i]l]h]j]p]l]j]f]j]o]|]~]t]e]a]e]l]~]–]¬]ª]¡]µ]å^^-^b^‡^~^X^]ã]Ö]Ó]Ú]æ]ç]æ]ó]Õ]Ã]º]·]¾]Æ]Ñ]Ó]Ô]Ò]¸]©]š]˜] ]}]g]_]o]Š]w]9\Ý\˜\y\s\x\j\G\,\+\=\R\s\ \¾\¶\Š\?\[÷\\:\n\„\\‚\d\M\K\d\†\›\§\£\\ˆ\Ž\ª\º\»\Â\Ô\Ç\°\‡\h\O\G\*[ù[Ï[©[Œ[~[|[ƒ[[y[f[M[7['[[[ZøZàZÏZÂZ´Z¬Z­ZºZÀZ¼Z´Z¨Z£ZZZŸZ£Z–Z|ZkZgZaZ`Z\Z[Z\ZaZnZ{Z’Z§Z¼ZÊZÊZÈZÆZÆZÂZ½Z¾ZºZ¯Z˜Z€ZlZbZ]ZTZIZ[R[][d[e[^[U[R[A[9[1[0[<[d[[ß\3\R\O\;\#\[ì[Ò[»[Ž[Y[J[B[.[ZýZæZÁZuZ4Z5Z^ZfZgZnZZ’ZšZ’ZŽZqZƒZ®ZÑZÓZÛZ£ZsZ3YýY¾Y‘Y„YŠY¢YÕYéYòYúZZZ!Z8Z-Z ZYóZYóYþYÿZ YôYðYÐYÚY¸Y¢YwYCY5Y…YfY X³XYX·YDY€YlYaY°YdYxYTZ5Z´Y²Z{]°a½aÌ_Ÿc“c_]â[XÌWÚXIXN[Ë_Ä^^þbŽh6i‡amYÑXxX~XŠXgXbXX/WÞXX)XIXXDX?X;X@X^XcX¿X‹Y[¶]“_û`/^$]Ø_^ó\ß[;\(]\ù\Ù]\r\6\„\°]z]~\Â\X\\±\p\‰]]"\ê\{\[È[â\\\ [Ù[Ù[Ä[¬[•[‰[‡[[[{[w[v[y[z[}[‚[¡[ç\\2\O\^\w\¡\Â\Ï\¾\Ô\ÿ]&]F]c]p]a]M],\î\Æ\Å\Ï\Ê\ä\ÿ]]&]O]]·]Ý]ô^^^^^ ^$^^^ ^]ò]ë]å]ê]õ^^ ^^^^^^^"^+^=^L^c^y^–^ª^Ã^Õ^ð^ÿ__$_8_B_R_a_o_}_ˆ__Ÿ_¹_Ñ_ë``3```Š`²`Ø`ôaaaa aaaa`ì`Ô`¸`¡`ˆ`k`H`(`` _ÿ_ø_ï_ï_í_ï_ø_ý` ``/`C`X`k`{`’`­`¶`µ`«`©`¡`˜`‰`ƒ``—`›`ž`¢`©`°`¸`º`Ä`Î`Ô`×`×`Ü`å`á`êaa#a;aFa;a&a`ê`É`·`»`Ë`ßa aBaŽaÝb1bVbOb/aâaf`ñ`¥`z```N`?`4`'``_ü` `n`ÙaJaSa `¼`o`"``<`a`„`£`¬`Ëa>aba`a a×b aüaøbaÿaÁašafaTayajaTaRa(`ø`«`£`l```5`3``:```_`‚`Š`]`s`m`C`<`G`n`”`Ÿ`B_˜_³___G_C_^é^¼^•^‡^q^F^*^]Þ]Ò]¾]›]†]‡]·]ù^C^’^æ_H_Ž_®_ò_Û_¹_˜_·`(_«_™_È_ž_]^ê__Ð_¢^î_ÕarbSc“dla›`Œ`Ôaa aaEaaaBakaYa5aa`ða*apakaŒa` `F_¿_0^¼^S^%]ú]¥]ª]»]¸]Ö]ø]á]®]˜]›]|]\Ã\‘\§\¡\Ž\n\X\<[õ\\\ \1\`\‹\\ƒ\'[é[×[¢[›[ˆ[a[O[=[G[9[Z÷ZêZ¿ZÄZ ZZYàYbYMYEY+Y+YYXêXÑX×XåXËXŸXœX¨X­XµX°X·X·X¿XÂXÌXáY(ZO\`\&[Ù\¶]™_×^œ]#]E^Oa¹`Ò_F`çbN_ö_0aŽeeGdJccca­`ç_±_K`~``!__,_@^][]}]ª]¬]n]K]#]]c]¨]’]Ê^^W^j^Œ^´^Ã^·^©^—^š^z^[^)]Á]p][]<]\é\™\"\\ \ \\[þ\ \\\\(\-\1\4\<\;\K\N\P\O\F\=\(\\ \[ñ[ç[à[Þ[ã[æ[ì\\\\\\\ \\\\(\5\I\[\p\\‰\‚\x\l\]\M\>\[ê[¹[™[Š[{[k[e[a[c[…[­[Í[Ò[»[¡[£[½[Ð[Ü[ç[ï[ò[ï[ã[Ñ[Ò[à[û\\)\#\\\[î[Ü[Ô[Ð[ã[í[Ä[¿[¿[Ÿ[{[T[X[U[M[<[ZýZëZî[ [<[a[†[¸[ä\\\'\>\^\o\y\\‰\U\F\Q\R\?\5\[é[È[Ü\Z]*^]0\a\ˆ\‚\4\\\2\N\n\\ƒ\r\l\`\g\\­\Ò\Ü\ã\ï] ]]]] ]]]]]]\ü\ï\à\Å\¡\~\g\e\g\o\x\•\¼\Þ\å\ä\Ð\Á\­\™\‡\r\]\>\5\8\@\E\@\J\^\n\‚\‘\³\Ó\ê\ï\æ\ç\õ]] ]]]>]h]¡^^z^Ú_5_@_|_ö`~`±`Õ`Ä`ë`è`É`É`Ô`Þ`À`™`Z`)_þ_ï_Ô_®_€_r_o_z_Š_¡_±_ž_¾_£_O_/___P_v_Š_ˆ_ƒ_x_b_A_^ø^Ì^ž^œ^Ä__Q_‰_®_É_ä_ô_þ_ý`_ÿ_þ_ù_å_à_Ý_æ_ó_ì_Æ_º_y_¦_y_¥aa{b4b*a%`¤`o`,_ú_É_¹_±_¥_Œ_~_u_\_M_1__^ð^î_ _Z_R^ö^ä^¸^¢^_^^^^|`õb _¼_Š`ð_d_ ]¼]|^]g]`]]]I]/]]]]\þ\û\ó\ð\ã\Ö\Â\±\ª\¥\Ÿ\‰\t\l\{\\š\Œ\z\{\…\x\i\a\[\O\Z\h\T\<\$\\[õ[ã[Õ[×[Ü[è[ÿ\\'\7\A\L\L\X\f\}\\ª\Á\Ø\î]]]]&]2]<]F]P]W]X]T]Q]K]E]N]o]m]S]Z]h]Š]È^^^)^^]ü]æ]»]Ž]T]4]2]9]=]_]t]v]ˆ]]ž]µ]¼]£]‡]x]x]„]‰]ƒ]w]r]n]g]d]c]d]t]•]•]ˆ]•]½]õ^#^[^^›^w^=^]ä]Ú]Ø]ä]ê]ê]â]Ø]Ï]¼]³]»]Â]Ì]Ù]Ý]ã]Â]·]¯]¥]¥]]t][]S]l][]2\ë\¨\p\S\G\4\\\\\ \\P\\ª\’\<[ð[ô\0\\\w\o\|\¨\¦\\€\\ \ª\±\©\\‹\™\¼\È\Ã\Ë\ã\â\Ð\¨\ƒ\n\g\T\9\ [×[¤[[‹[–[š[›[[w[\[E[3[*[[ ZôZØZÁZ¿ZÀZÃZÅZ½Z³Z©ZŸZœZ˜Z™Z•ZZzZeZZZWZXZTZRZRZQZYZeZuZ‹Z Z¶ZÂZÆZÄZÃZÃZÀZ¾Z¾Z¾Z²ZŸZˆZtZeZ`ZWZDZ5Z'ZZZZYþZZZ2Z8ZZ YúYóZ ZZ"Z$Z ZZ YüYùYëYäYçYöZ-ZeZ˜ZÍZõ[[%[![+[G[X[l[i[R[’[â[Þ[¨[{[2ZÁZ^Z)ZYðYâYâYãYèYèYíY÷ZZ?ZyZµZì[[)[9[R[†[Ñ\\R\b\,[ù[þ[þ[Ö[–[V[Z¿ZqZ#YäY¥YkY0XïX®XlXTXeX¡XñYKYŸYíZ1ZuZºZó[ZóZ×Z¥ZzZ_ZEZ)ZZEZ½[a\E\ \™\X[û[½[´[Î[Æ[É[ú\(\T\e\l\‚\ˆ\ˆ\{\n\t\h\#[ñ[Ò[È[Õ[ò\\5\H\W\o\†\\ˆ\l\X\S\L\\\i\€\¦\³\ \ˆ\u\_\B\%\[è[Î[½[¬[©[¯[µ[´[°[©[©[¤[¨[¢[ž[“[†[„[‡[”[±[¸[®[™[‡[ƒ[‹[[—[“[‰[[o[b[V[P[Q[V[][X[L[8[.[4[F[T[b[s[Š[¨[Æ[Ï[à\\\)\/\4\7\>\G\L\O\Q\T\b\o\|\\‡\ˆ\‡\ƒ\~\n\b\N\=\&\[ø[ã[Ð[Ã[±[[‰[[[„[‚[‚[{[x[p[g[U[=["[ZìZÐZ¹ZªZ¦ZªZÃZç[[ZùZòZø[[ [ZðZçZåZéZëZîZñZðZéZäZ×ZÉZ¸Z±ZµZÁZÀZ·Z¹ZÀZ»ZÀZÅZÕZÙZÚZÚZæZî[[ [.[F[a[y[ˆ[…[Ž[Š[[t[o[h[][V[Y[y[¥[æ\,\M\B\ \[ì[à[¾[Ÿ[l[H[8['[ ZüZñZçZÆZ£ZvZ`ZxZ…ZŒZvZrZZ“Z¢Z¢ZZ¦ZÀZÏZÎZ¿Z•Z`Z YïYÉY¦YY“Y¥YÓYäYøZ Z!Z%Z1ZZ#ZZ ZYøYÜY÷YüZ YúYøYíYðY½YˆYUYlYNYlYZYVXáX¼X÷YWYËY¬YÂYÙYŸYœYYXñXåXÝXÅX½XÍXÇXÓXÔXÏXÍXÛXØXÅXâYLZr](^ ]¶^d_Ÿaq]®\(\Å^@c^a,`ædðc;`§adf(ecˆbËb·ah`_ö_X_É_±_Ë_^Ø_G_U^W]Û]]1\Û\Ù\Ç\Ú]t]’]L]j]ª^^7^U^{^…^z^o^d^a^J^-]ò]‰]I]E]'] \ß\[[ö[ò[ê[ë[æ[í[ì[ý\ \\\\ \\ \\\(\.\9\6\.\(\\[û[ñ[â[Ù[Ð[Ì[Ç[Ï[Ù[ö\\ \\\\ \\ [ÿ[ý\\\)\Q\o\{\v\t\l\g\\\J\4\ [Ñ[¡[†[w[r[j[_[g[ˆ[²[Â[Ã[¿[§[’[“[ [¬[¼[Æ[Ì[Ã[³[œ[ª[Ì[í[ÿ\\\\[ú[à[¿[®[®[Á[Ê[´[¹[Ü[Ø[±[l[:[/[.[ZþZãZ×ZÔZæ[[E[m[š[Ç[å[ø\ \#\<\O\U\h\q\L\7\+\ \\\[ç[Ñ[Â[é\k]\º\m\V\\\\!\@\h\‚\ž\˜\ƒ\z\q\m\w\‘\²\Æ\Î\Ñ\ß\ì\û\þ]]]\ý\õ\ò\õ\ú\÷\÷\ì\×\³\“\w\o\v\}\’\µ\Ù\é\ô\î\æ\Ï\·\›\\]\7\1\5\@\D\F\M\D\B\]\˜\Ò\õ]\ó\ç\ä\ú]]&](]>]R]v]¢]ï^Y^¶_ _6_@_’_÷`žala[aÀax`ü`æ`Ñ`ó`é`Ê`—`M`_Ó_­_x_\_[_s_‘_§_µ_³_Ñ_ÿ_¡_H_K_N_f_‰_”_›_”_ˆ_‚_y_m_^_@_^Þ^°^¹^á__\_‘_´_Ð_Ô_ç```_ÿ_ö_á_Ô_Ð_ç_ñ_ç_´_‰_‚_Ä_`ùeˆc–baÈ`ê`”`„`K`_à_Ì_¸_­_ _’_„_v_a_>_(_$_____"__^ï^Ö^‘^‚^R^T^ü`maôa¢_u_Da^+]„]É]i]’]f]\]K]=]+]']"] ]]]\ÿ\ö\ê\Ü\É\¸\¨\\|\z\\¤\¯\Ÿ\ˆ\p\h\L\$\"\/\F\}\¦\•\f\O\N\I\8\&\\\\\"\3\E\W\b\q\x\‡\\™\¡\®\Ä\Ü\ï]]]"]-]9]?]K]V]^]b]c]^]Y]S]`]y]d]M]P]R]c]¥^^/^5^1^]ó]Ø]º]—]w]Z]H]E]D]Y]i]l]] ]ª]Æ]Ð]½]¬]•]…]‚]{]y]{]r]n]m]g]]]W][]n]w]]Š]˜]Ù^+^i^^­^Ÿ^l^#]÷]ò]ç]å]é]î]ì]æ]Ñ]Ã]º]º]¿]Å]Ñ]à]ó]Û]Ù]ä]Ü]Â]]s]H] ]-]!]]\Þ\¢\q\W\G\(\[ô[ð[Ý[É[Þ\7\\~\8[í[õ\E\o\‚\w\{\§\¿\·\\ \®\¸\±\®\£\¡\¨\¼\Ç\Ë\Ô\Ú\Ö\Ê\µ\\‰\z\q\l\N\[Ë[­[¡[¦[¶[Å[Á[°[Ž[r[U[?[+[ZýZêZØZÕZÖZßZÖZ¾Z©Z£ZžZšZ˜Z–Z‹ZxZeZXZQZOZMZGZIZHZJZQZ\ZrZ…ZœZ²Z¿ZÄZÃZÃZÃZÃZ¿Z¿ZÁZ¸ZªZ“Z~ZiZ\ZPZ?Z1Z"ZZ Z Z ZZZ/Z@Z@Z%ZZZZ(Z-Z1Z3Z-Z(ZZ Z ZZYýZZ;ZsZ£ZÒZö[Zú[ [/[H[k[`[ [[Š[Ö[ß[¬[k[ZµZqZEZYéYÍY¿Y¿YÃYÆYÏYÚYòZZYZŸZâ[[6[J[X[x[¯[à\ \[Á[}[|[[s[;ZüZ³Z|ZLZYæY²Y{Y=XõX¥XpXoX”XÐYYrYÃZ ZDZuZ¦ZÓZæZèZÜZ½Z¨Z’Z}ZRZ@Z•Zù[L[È\\ [è[¹[§[[™[ [¸\\(\P\}\s\€\\‹\|\ƒ\ˆ\V\[Ñ[¾[º[Í[à\\7\<\K\n\€\w\o\`\O\O\J\_\‚\ž\¸\Á\¯\“\‚\o\V\@\[þ[â[Ì[¸[²[®[¯[­[¬[©[§[¥[¢[[š[[[“[œ[¬[²[¥[¡[ž[œ[˜[˜[Ÿ[£[™[[[n[a[V[V[Y[a[f[a[Q[?[9[G[^[i[z[‡[ [½[Ø[ê\\"\7\A\D\G\K\R\Z\V\X\V\[\g\s\ƒ\‹\–\™\ž\\•\‰\}\h\T\7\$\ [ø[ë[ã[Ù[Ê[Â[Ä[Ê[Ó[Î[Ì[½[»[¯[ž[…[h[G[#ZýZßZËZ¾ZÁZÒZó[[[[[[[[[ZõZñZú[[ [[[ [ZÿZóZäZÛZØZáZãZãZäZÚZØZÕZÙZëZúZùZúZ÷[[['[:[X[{[ž[¨[·[¹[¾[·[¿[´[±[ž[Œ[[…[[®[Ô[î\\[ð[â[á[ß[º[‘[`[F[9[-[ ZðZÞZÞZÏZÃZ¶Z¦ZŸZªZœZxZvZ—ZÁZ¿ZµZ­Z¹Z¿Z¸Z´ZžZ‚ZNZ"YóYÒYÀY¡Y¡YºYæYðZZ%Z5Z&Z:Z(Z-Z ZZYæYÛYïYþZ YôZZY÷Y°Y~Y]Y]YJYƒY~YrY(Y?Y>Y·YëYÓYîYÒYÌYŠYzZe[_ZnYf\ÀbU``]Ë`_^Ò^…^I^]ü]ë]â]Ó]Ë]¨]w]E]']]]]3]b]£^ ^n^¾_)_„_õ` _û` _Þ_æ_Í_Ó_á`_ß_S^¿^1_ a¼c•ckcDbRaÏ`¤`G`|`ÉaOaÀaÈaa‘aasaGa a"a a awa!`–`ˆ`‚`w`1`_¬_*^Á^³^À^y^y^u^J^%^"]þ]µ]]€]v]S]#\Ô\«\y\Y\B\X\]\\\\\[ï[ë[ð[ô[ä[Ê[È[Ò[Ç[À[½[Ð[Ö[ñ\ \[Ã[‘[`[H[Z»Z¶ZfZ Z YàY³YšY„YzYrY]YBY"XÿXîXêXçXÞXßXÎX·XºX½XÓXÌXèY]ZY\¤^ ^g^Ä^^[Þ[¡\X^\dI`s`“c%`×`ÛaìddúdcEbÖbFaH`Î_ó_ _=_I__1^£^:^ä_¨_%]ý]1\Ô\ž\l\]6]o]-],]d]ú^^^&^.^,^#^^]ÿ]Õ]Ž]G]J]R]:]9\×\-[ç[â[Ö[Ö[Ï[Õ[Ý[ð[ø\\[ö[æ[è[Þ[æ[ó\\\\\\ \[÷[í[ß[Ô[É[À[½[³[¶[Ï[è[õ[ú[ÿ\\\[÷[ê[Ý[Ö[×[ß[ø\\A\f\o\n\f\]\X\P\9\[Õ[¦[ˆ[u[y[…[†[[§[¿[Ä[Á[À[´[¤[“[ƒ[}[[[¡[š[Ž[x[•[¿[á[÷\ \ \[ú[å[Ø[¼[«[¢[•[[„[[¾[Ó[®[r[K[>[4[[ZðZãZÍZÉZä[$[Y[‚[¦[Á[Ö[ã[ô\\\*\?\G\<\)\\[õ[ì[ë[Ü[Ë[¸[²[¹[Ä[Æ[Ï[Û[í\ \\\>\j\~\\~\q\j\d\a\o\„\¡\¸\Æ\Ç\Ì\Û\î\ú]]\ü\î\æ\ã\ï\ü]] ]\ô\Ü\Â\•\}\v\z\Š\Ÿ\³\È\Û\í\ò\ß\Î\»\ž\y\^\D\D\P\S\X\N\U\q\d\Y\]\}\\½\í]]"]:]S]H]V]i]]­]ã^=^^Ú_ _"_u_å`¼aõb\bÍba)a!a`é`ÿ`þ`Ò`Ž`?_Þ__q_d_i_‘_±_¿_Æ_¼_Æ_»_c_E_f_{_™_®_¹_ª_˜_Š_…_‚_„_‚_t_I_^÷^î^ø_(_V__¨_À_Ð_Ú_ì_ò_ï_î_å_ß_Î_Ç_È_Å_Í_ _°_™_—_ýbfrcpb*b&`î`–`˜`l`I`_ï_Ì_²_¢_™__€_n_K_H_k_N_$_4_5_@_?_3__^Ï^ ^‡^n^I^k_¾`}^Ñ_Sa.^:]º]è] ]¦]~]‚]d]Y]I]@]3]/](]!]]]] \þ\ì\Ù\À\§\›\—\ \®\±\™\}\Z\5\\\ \6\g\œ\µ\«\€\g\\\g\y\h\Q\G\?\G\J\L\H\[\l\z\†\•\£\­\¸\Â\Î\à\ó] ]]']5]H]T]^]f]q]p]s]o]k]i]w]€]f]_]o]{]ƒ]¡]ó^^%^^ ]è]½]”]}]]v]h][]_]f]t]x]…]¢]»]Î]Ã]¬]›]ˆ]}]x]r]j]k]n]n]f]_]N]@]<]B]T]q]‹]›]Ò^$^n^”^ž^’^v^7^ ^ ]÷]î]í]ì]î]ê]Ý]Î]À]¼]¾]Â]Å]Ï]ß]Ú]Ø]ì]ò]Ñ]£]n]2]\ò\â\Ü\á\Ø\Ã\Ÿ\\©\~\N\[ñ[Î[·[Á\\K\Q\[å\ \M\s\{\t\‘\º\Í\¸\”\”\”\ž\ \¡\Ÿ\£\§\°\¼\Ã\Ã\¿\º\±\¤\ž\ž\—\‡\{\r\G\[Ý[Ï[Û[í\\[ù[É[œ[p[I[.[[ZøZîZðZòZüZãZ¼Z§Z¤Z Z›Z•ZZ€ZlZ`ZVZMZGZAZAZBZBZHZNZ[ZmZZ™Z®Z¼Z¹Z½ZÂZÁZÂZÁZÁZÁZÀZ´Z¡ZŠZnZYZGZ9Z+ZZZZZZZZ'Z7Z?Z*Z$Z ZZ-Z;Z=Z=Z=Z4Z%ZZZZZZ!ZQZ€ZªZÓZíZåZç[[3[d[‹[_[[ [š[Ó[Ñ[¡[][ZºZŠZ]Z%YðYÈY«YžYœY¡Y­YÂYÜZZ8Z}ZÆ[[8[U[j[‚[™[²[È[¹[…[;[[[ZÜZ²ZŒZmZTZ9ZYÙY¤YkY!XÔX®X³X×Y YJY•YßZ"ZRZyZ¥ZÍZèZ÷ZëZÕZÃZµZ£ZlZ„[ [)[/[‡[³[Ç[¾[°[£[[~[…[´[ü\ \D\\‹\‹\•\…\~\\b\[æ[Ë[Á[Â[Ø[ã\\0\)\:\o\‚\r\d\a\Z\[\f\y\—\°\µ\¼\·\œ\‰\x\e\R\5\[õ[Ø[Å[¸[®[ª[£[¡[Ÿ[ [¡[Ÿ[ž[[—[š[ [­[µ[°[§[­[ª[¨[¥[¤[¦[ [—[Œ[[q[`[V[Y[_[f[h[b[Q[A[@[^[u[{[Œ[[º[Ö[é[ý\\4\C\H\M\P\U\Z\_\a\]\Y\`\r\†\•\Ÿ\­\´\¶\µ\­\\\v\_\E\-\\\\\\\\\\\ \[û[õ[ã[Î[«[‡[a[9[ZòZàZàZî[ [%[1[,[-[4[5[7[-[[ZúZú[[ [[['['[[[ [ZûZý[[ZüZöZðZõZþ[[[[[[[[5[O[l[[«[Ð[ã[í[ê[ñ[ë[ì[ã[å[Å[«[©[·[°[Ä[Õ[ç[ñ[û[ö[õ[ó[á[Ã[[z[Q[2[$[[ZóZöZûZóZäZàZ×Z×Z±Z¤ZªZ´ZØZÕZ¿ZÀZÀZ´Z–ZZ}ZfZDZYýYêYÑYÄYÁYÆYèZZZ'Z?Z5Z)ZZ"ZZYàYÕY¿YÌYìZYúZYèYîYÆYšYqYnYwY†Y“Y³Y—YYYßYòZYÓYçY¾Y˜Y†YÖ[,ZÂYW\5caY]Ÿ_bp^t[«X>X"Z]`a`Ïbcådaf^d®]ØYNXX$WÅX%WíXXXXX2X>XX&X,X"WúWèWèW¿X¢Zú\]î`bjc bübEbcY`ò^ñ\ª[S[Ø\$\l\Ù]'\|]”`^C^Áaa”aK_Õ_k^Z^T^ò]R\¢\c\\\%\[¹[°[°[‘[[g[T[<[A[9[8[2[&[.[;[E[m[Š[˜[¨[¬[¿[Ý\\[ÿ[÷[ÿ\\&\<\T\i\z\…\”\\\ž\¯\Ã\Ù\õ]]T]]§]¦]©]¢]£]Ÿ]–]]“]’]˜]™]¤]®]Á]Í]à]ç]ê]é]î]î]ù]÷]ü]ø]ú^^ ^^4^K^f^€^^½^×^ö__0_J___z__¡_­_»_Å_Ï_Ý_ï````3`O`m`†`™`¡`§`¡``Ÿ``‚`w`j`Y`N`=`0`&`%``````` `*`9`L`]`s`…`’`Ÿ`¨`¯`µ`³`¬`§`©`¡``‚`v`i```Q`J`V`b`u`†`˜`¢`¬`¹`¹`¾`Ã`É`Ó`×`Ü`ä`ïaaaa%a`ü`ä`Æ`¶`Å`õa6a}aÆb bBbhbYb0ba»aZ`ø`Â`É`Ú`Ú`È`Î`²`‰`h`P`Q`o`Åaa1a%a`ò`¨`5_Ü_©_”_ž_¿``˜`ña4aIaaIa§a°a{a†aˆacaa¥aga…aŠaOa]aXa`ª`i`c`\`7`#`1`=`d`i`Š`•`k`V`I`2`_ü``H`„`A`/_ƒ_*^í^Ä^“^W^'^]í]Ý]Î]Ã]»]”]b]5]]]]-]M]v]¯]÷^C^­__?_·_í_ô```` ```k`ß`W_ô_ù`nbd€d¥b\aÂb5`ì`C`o`ðaƒaéaÕa°a¶a–aŒaeaa aa a7`ð`y`_ê_û_ü_Ô_„_E^ì^»^ß^›^z^£^‹^^^B]÷]¡]“]s]7]*]P\ú\\¸\±\c\]\W\.\7\*\[ç[»[¬[¼[Û[Ó[²[µ[Î[Ô[ä[ó\\\/\B\6\[Ó[[k[,ZÜZÊZ¦ZiZnZHZYõYßYÒY¸YY‚YhYYY/YXòXåX×XÇXµX¾X¾XÜXØXäY5Y÷[—]M^d^¦]È[ë[>[ü[Ø]aaé^ã_a:`_bHbÐc¤cºccc)b|a¢aŠa`–_ÿ_^s^<^­^=]ç^ß_^3]z]<]\©\t\¶\î]"]&]]„]¿]Í]æ]î]â]Þ]Ò]À]©]‡]Q]6]<]"]] \m[ì[Ò[Ê[¼[¶[³[º[»[Ã[Ä[Æ[½[»[¶[¸[¾[Ä[Î[ç[õ\\\[ü[ö[è[ã[Õ[Î[¿[²[¢[ž[›[º[Ð[Ø[Û[å[ñ[ö[ú[ñ[Ü[Ã[¥[•[–[±[×\\:\S\W\W\Q\H\5\[ý[Ô[°[“[‹[[¡[¬[©[¼[Ã[Ä[Æ[¿[°[¦[’[z[p[p[g[_[g[p[q[š[º[Õ[é[ô[ó[é[à[Í[È[³[¢[ [–[„[n[w[[Ÿ[ˆ[`[W[Z[K[3[ZúZÛZ½Z·ZÉ[[5[^[~[˜[¬[±[®[¾[Ü[õ\\\\[ó[ã[Ó[Ò[Ö[Ô[Ã[«[¦[¸[Å[Ì[Í[Ð[Ñ[Ø[ë\\)\X\a\_\T\X\N\S\^\m\\š\ª\¹\»\½\Ç\Ù\ò]]\ø\ä\Ô\È\Ô\å\ò\û\ÿ\û\é\Û\À\¢\‘\’\\’\•\«\Ç\à\è\ä\Ø\Ì\¼\\z\[\\\_\e\_\^\k\W\]\›\¶\Ç\Ä\®\©\Å] ]>]r]…]w]‰]—]³]ô^1^„^Î^ì_._Ÿ_ó`²aûbµc8bÚava,a«a*`ñ`î`Ú`µ``3_â_¼_½_¿_Á_À_»_¶_´_¨__F_E_i_y_›_¸_Ê_¹_¨_”_‹_€_†__z_n_X_6_*_'_<_Q_s_Ÿ_·_Ñ_ß_é_è_Ú_×_à_Ù_Ç_Â_¶_¸_·_Ž_¢_T_ÔaäcÄe+bíb”ca¨`ø`¦`‡`œ`F_ÿ_Ù_¼_¥_ _•_„_z_a_L_M_.___!_7_<_E_D_-_^Ü^µ^°^»^k^]^^—__.^]ü]ó]É]Á]¥]”]z]w]h][]R]K]=]8]0].]%]"]] \õ\ä\Ö\È\Á\Á\¼\³\¡\…\`\3\!\)\,\Z\«\Í\Í\·\š\†\n\w\˜\Ÿ\\€\z\{\~\~\l\t\\\¤\µ\Æ\Ë\Ë\Ò\æ\ü]]] ]5]L]_]k]v]{]‚]…]ƒ]{]{]€]]]…]Œ]]®]Ã]Î]ß]ì]û]÷^]ù]É]š]‰]”]–]•]Œ]‘]ƒ]‰]—]¨]º]¿]Ã]·]®]Ÿ]‰]y]l]j]k]c]`]a]W]M]9])] ]]8]g]ˆ]ª]ä^%^]^^x^\^R^3^^ ^]ú]ù]ø]ý]ö]ð]Û]Ì]Ä]¿]Ã]Ç]Â]È]Ò]Ð]Õ]Ì]·]§]a]$]\É\›\‘\„\x\r\t\©\à\Ñ\ª\g\*[ú[Ú[Û[ú\[ÿ[Ì[Ñ\\R\u\\‡\±\Õ\×\Â\\|\^\V\n\~\…\”\ \§\¢\£\§\£\”\Ž\\“\Ÿ\—\Š\‡\‚\Y\-\\\3\9\D\4\[ö[¼[z[P[5[%[[ [[[[ZçZÄZ¶Z²Z©Z Z“Z…ZyZlZbZUZKZBZZCZCZ=Z-Z ZZZZZ-ZZZ‚Z°ZÚZëZÚZßZý[3[s[•[[L[_[·[Þ[È[˜[RZýZÆZ¡ZrZ;ZYÔY¬Y‹YyYwY…Y¢YÃYíZZWZZã[$[P[q[‡[•[[ž[[d[$ZðZ×ZÈZ¯ZœZZ‡ZzZcZ:YüYÊY›Y]Y(YY Y6YWY‹YÅZZ8ZjZ™ZÉZð[[ ZõZßZÖZÏZºZ‹ZZ¿Zà[ [Z[…[£[¤[œ[”[–[Š[Ÿ[Ë[Ü\ \w\¸\‡\}\Š\{\e\@\ [ù[ï[ã[ß[ê\\\ \'\%\C\ƒ\”\…\t\v\u\x\‰\›\¦\±\µ\·\±\\\z\g\Z\=\[ý[à[Ê[¹[­[¤[Ÿ[›[œ[¢[£[¥[¥[¦[«[°[´[º[¸[·[³[²[¯[­[©[¢[—[”[[…[z[i[[[X[^[g[i[j[d[Z[H[B[d[[[¡[±[Ç[á[ø\ \'\5\B\F\L\P\X\a\f\f\`\_\h\„\¢\±\¿\È\Ò\Ï\Æ\·\¨\•\}\e\K\7\.\&\$\'\6\F\A\C\D\@\:\4\.\#\[ö[Ø[±[…[[[-[[ [[2[K[N[K[H[M[O[Q[L[>[![Zý[[[["[)[8[<[9[-[$[$[&[&[&[[[[[%[5[8[8[=[>[8[4[F[e[…[›[Á[è\\ \*\#\"\!\&\\\[ë[Ô[Ñ[Ê[Ü[ä[ù\\\\[î[Î[²[ [‘[f[F[6[(["[[![[ZûZûZóZìZÌZÏZæZÚZÖZÜZÌZÜZÄZ¢Z‚ZmZ`ZOZ5ZYÿYîYßYÜYÒYßYôYÿZZ%ZZZ%ZZYõYéYÒY¶Y•Y½YÇYØYàYáYÔYÑY¯Y‰YoYpYpYŒYºY¶Y»YÁYÚYõZ!Z6Y½YòYƒY×YPYÔZÒZŸYÉ[S_ìcâ^a]g`ä_#ZíWÄYeZº\ûbÐbÁdCcøcÔeA` [1X¦XWoWàWäWþX2XXX+X7X0X9X5XXXWÔWÉWùY [Ç]Õ^}_k`µ`L^¼_a cDb–_­\>[M\\o\›\ò^ ]\^§bÃ`qa9d"da<_~_W^$]´^h^É^ß\ê\E] ] \X[¿[µ[“[}[k[V[R[@[B[=[7[/[+[0[8[=[M[Y[^[c[q[‚[‘[°[Å[Ã[Ð[â[ê[ÿ\\(\G\`\u\Š\›\©\¯\¹\Â\Ù\ÿ]#]Z]s]~]u]u]‚]Š]ˆ]‡]]ƒ]ƒ]ˆ]Œ]˜]¡]¶]À]Ñ]Ô]Ú]Ú]á]á]í]ï]ò]í]ï]ö^^^.^J^a^^^º^Ú^ø__2_K_d__’_¦_´_½_Ï_á_÷` ``#`/`@`R```j`p`s`x`z`q`p`f`Z`V`Q`C`=`8`7`1`1`+`*`%`)`/`=`G`T`b`u`†`’`¡`«`°`¸`»`º`¶`£`—`˜`”``‚`s`b`U`A`/`:`F`Q`f`v`„``ž`¨`¯`³`º`Â`Æ`É`Ó`Ø`á`ï`üa`ý`ã`Ë`¹`¹`Î`ýaCaŒaØbbGb]b?baîa¦aL`ø`Ø`Ó`á`Ó`¸aa`Ë`¯`‹`y`w`¶aaa`ò`ò`¼`G_æ_¨_Ž__”_¿`4`ÆaaaaaMa½a–a)a&aCawa‡a[acaŒaXaDaE`ä`™`“``k`f`K`4`:`T`u`“`s`Y`5`-`'_æ`_ÿ_ô` _ê_Ý_^Û^¸^—^q^J^]ø]Ø]Î]º]´]®]][]2]]]*]F]{]´]ì^^U^«^÷_f_º_Ü``9`"```/``oabaÞbIbûbâcc×cûb¤a¼a™`²`.`„aeaÌaâaÚa¯aaya~aba#a a"a+a`£_ÿ_Ñ_Ç_¤_š_Y_-_N_.^é_ ^þ^¶^•^›^™^=]ã]£]Š]q]9]]!\à\Ÿ] \½\d\k\1\:\S\4\[÷[·[©[Ï[Ü[Ä[Å[ê[÷[í[ú\ \\6\L\]\Z\A\![í[¡[W[Zþ[ ZÎZ Z‹Z^ZYZBZ1ZYÞYÀYšY¡YvYFYXøXÞXÊX¬X©X³XÑXýYYYhZf\®^]®]í\[>[e[(\Û_¡]¼^Êaæ`fa}c(cŒb}b b´bƒbjaÍa;`±`…_Î_G_^^r^y]–]Ò^W^^4]È]œ]k]b] \½\Å\å]]H]|]‘]©]µ]£]’]‡]r]a]L](]]]] \«\[á[Ò[·[£[ž[•[’[”[—[‘[‡[ˆ[†[‹[“[›[©[º[Ï[Ö[ç[ï[ì[ç[à[Ù[Ó[Â[¹[£[œ[†[…[†[¦[´[·[³[Á[Í[Ø[Ý[Õ[¸[˜[y[i[^[s[•[Î\\4\E\?\5\-\[ê[È[µ[½[¨[—[¤[³[¿[·[»[¿[¹[°[£[š[”[†[s[X[:[4[2[C[a[|[[¶[Ï[Ú[ß[Þ[Î[Å[¹[©[˜[Ž[Œ[[[d[t[Œ[œ[™[Œ[…[t[_[F[5[ ZõZÕZ¿ZÃZë[ [F[X[l[|[Œ[†[ˆ[©[È[Þ[ó[ú[é[Ö[Ä[³[¸[¼[º[µ[¯[¡[™[Ž[‡[†[–[§[Ã[Ú[ï\ \,\5\3\0\<\@\S\[\c\s\Š\\¯\¶\Å\Ö\í\ü\ý\û\ö\ã\Ï\Å\Í\ß\ð\ô\ú\ö\ò\ô\ï\Ü\Í\¹\\•\\Ž\ª\Ó\é\î\ë\á\Ñ\½\¡\Œ\|\x\\x\€\l\‘]G]a\©\]\l\¨\Õ\È\ê]$]>]|]‚]‡]œ]²]é^<^x^¸^ß_$__øaWbZblc–d_bXa\[í[Ã[…[U[D[L[E[9['[[[[ZöZÞZÌZ¶Z¤Z”Z„ZyZlZ\ZSZIZBZ?Z?Z?ZCZDZMZWZlZ‡Z¤ZÀZÈZÀZµZ¸Z¿Z½ZºZµZ¶Z·ZµZ¬ZœZ‡ZjZOZ:Z'ZZ ZYýZZZ ZZZ%Z"ZZZZZZ(Z2Z9Z>Z3Z%ZZZZZ/Z[Z‚ZªZÐZáZÔZå[ [:[i[‘[ª[£[°[Ü[è[Ó[[M[Z×ZµZŠZWZ(YúYÆY’YmY\YcYYªY×ZZ=Z|ZÀ[[?[m[‹[œ[›[”[[Z[*ZöZÕZÇZ¿Z¹Z·Z°Z¢Z‰Z\ZYìYÈY¡YŒYYŸY¯YÁYÝZZ4ZaZZ¼Zì[ [[ Z÷ZäZàZßZÌZºZ¦Z±ZÞ[[@[h[[„[[[¬[«[Ê[â[ñ\V\­\‡\3\J\o\W\,[ú[ú\\[þ\\\9\3\)\/\;\u\˜\\Œ\\“\–\Ÿ\§\²\¶\³\´\³\­\™\…\t\`\S\9\[ü[à[Ê[»[®[ [›[›[¡[§[¬[³[¹[À[Ä[Æ[Æ[Å[Ã[½[¼[¸[°[¨[ž[‘[†[„[€[|[t[i[_[`[i[p[p[o[k[d[N[I[g[†[š[¬[¾[Õ[ê[ý\\'\1\=\E\K\S\]\f\l\m\m\n\z\ \Ã\Í\Ù\Û\Ú\Ï\É\·\¨\’\|\e\O\C\@\>\F\M\f\w\n\g\d\^\Y\V\P\F\8\\[Ú[µ[Ž[c[W[X[b[i[n[k[l[j[i[c[b[Y[N[6[%[[![$[#[*[:[L[R[L[E[>[@[F[G[F[=[;[;[D[U[k[j[f[e[`[[[b[z[’[±[Í[î\\E\^\a\Y\V\P\J\C\4\[ÿ[æ[à[á[ò\\\\-\)\[ó[Û[±[ž[•[ƒ[b[A[;[H[J[I[3["[[[[ ZúZéZåZâZñ[ZúZöZÒZ¶Z†ZhZ[ZFZ0Z+ZYùYðYæYãYõYóZZZZZYûYôYéYçYÚYÐY§YYYžYÃYÊYÌYÀY¦Y•YwY\Y\YfYŠYŸY¢YÖYïYúZZ#Z'YâYãY…YàYHZUZªZ¥Z€Zf\Ýc–a´^ïb|_ÈZ¤XZã]_)ddÝepfgb®\ XHW@WwW°XW¨X WçXX X7X2X5X2X XXWìWÅWàXIYá\à__w__\Þ[Ì^)aŽcœa”]q[š[•[Ä\“\U\+]¶]e]^¬`Vb~a—aÂ`Ö`Kav_Ÿ^?^a_f`Á^ß]š]T\[å[é[É[k[k[k[\[D[B[<[8[,[[[8[6[9[H[T[w[q[{[›[¦[¡[¥[²[¿[Ñ[ç[ò\\\3\U\t\‰\›\¨\µ\»\Ë\Ü]]2]R]Z]O]P]`]x]Œ]‰]‡]]‚]‚]ƒ]ƒ]]˜]¨]³]Á]Ä]Ë]Ï]Ö]Ü]å]ç]ê]ç]è]ï^^^-^J^d^†^¥^Ã^å__!_9_P_j__—_©_º_Ç_Ú_ï` ``$`1`8`A`P`V`Y`V`X`Z`\`V`X`S`P`K`E`A`A`A`A`<`;`:`=`=`H`T`c`s`}`‡`–`¥`ª`´`¾`Â`É`Ì`Ê`Â`¯`Ÿ`‘`‡`…`|`p`^`L`6`` `.`8`L`V```k`z`…`‹`‹`”`œ`¤`§`®`µ`¿`Ð`Ù`å`â`Î`¹`±`¹`ÖaaMa›aåbb@bQb4aÿa³ala2a`ê`Ë`Ö`ã`ÚaUaI`æ`Ä`¢``‡`¯`ëa `÷`ß`á`¬`F_ê_±__„_Š_¡_Ï`2`£`Á`×`àaaàb9ala a*aKalaTa,aCaFa(a `Ê`¥`²`¡`Œ``[`I`J`D`M`L`;`A`` ` _Ô_÷_Ç_™_ _|_U^×^Ä^¨^‘^n^D^]÷]Ö]Å]®]°]®]š]e]:]!]*]B]w]À^ ^@^o^—^Ì_/_Í_ð``‡`C`&`H`:`=`(`[`¹a{c dÇd‚cžbEbXc$a¹`œ`g`i`\`¹`üa$aqa‚amapaha\aGaa`Û`¾`e_Â_­_x_[_¡_n___6_B_9_;_^­^…^b]æ]¼]µ]z]S]1\ý\Ù\š\¨] \„\j\}\)\e\R\[æ[È[ª[²[Ò[Í[Á[ç[ÿ[ë[ê[ô\\\1\Q\j\i\`\R\$[ß[š[Y[5[N[;[ZåZ¸Z¦Z›ZZ^Z4Z+YêYÚY¡YnY-YYYYXóXôXíYY[YYYmZ[ã\9[H\\[VZÍZ×]3_ƒ]]²`F^É_b c^aæaKa¡aa¥biba`f`I`o`V^¸]ü^]¢]Z]²^/^T^]Õ]»]Ž]\»\\Ÿ\í] ]3]j]Ž]Š]n]N]G]E]3]\ÿ\æ\è]\¾\-[ã[Ó[¹[[‹[|[s[q[n[h[i[d[h[m[v[~[‡[™[«[º[È[Ï[Ò[Ô[Ë[Ç[Ä[À[°[§[[~[h[m[v[—[¤[¥[’[£[ª[±[­[¢[‰[ƒ[u[c[[[v[y[¥[ì\\,\!\\[ì[Ò[¹[§[«[¥[‘[Ÿ[¦[¨[Ÿ[[ž[Ž[†[[€[y[h[S[8[ [&[-[E[g[Œ[¥[µ[Á[Æ[Å[¹[ª[[—[[t[|[‡[•[‹[t[{[‡[[—[ [©[[q[Y[L[9[[ZÝZÒZæ[ [,[>[H[M[W[U[\[y[›[¯[À[À[½[¯[¥[¢[³[¹[·[§[£[©[´[«[ž[ž[¨[±[¾[Î[è[û\\\\\#\5\Q\b\k\s\‚\–\®\»\À\É\å\ó\ò\ö\ú\à\Á\·\·\Å\â\ì\î\ó]]]] ]\ê\È\¥\\\¨\Î\å\ì\ò\ñ\ä\Ú\Ê\¹\¦\ \¡\¥\¯\ˆ\î^r^®]h]0]\\w\£\À]']E]X]]“]Ÿ]Õ]õ^<^†^¾^â__U_úaßb¬bÉd«d‘bõaÔbibáa©`û`Ú`¾`°``h`D`_ñ_Í_¬_Ž_†_k_G_^û^þ__T_ˆ_¶_Ç_½_¶_°_²_Ÿ_œ_•_Ž_‰_‰_w___N_<_>_q_¥_Ñ_ï_û_ô_ã_Í_¿_Â_¿_Ã_¶_Ë_Ã_Ì_Ã_v_èa“b›bÞczb_bba»ataCa<`îa\a)`j`_Ü_É_Õ_Ç_¨_Ž__o_X_@_0_>_K_h_k_o_w_u_V_O_C_ ^Ñ^¼^¢^ˆ^~^a^X^<^/^+^]þ]æ]Í]¿]¶]¦]]]]n]d]_]Z]V]Q]J]=]4])] ]]\õ\æ\Î\¹\\x\X\L\`\\Ì\ä\Ø\±\ž\›\˜\‰\~\}\†\ª\»\½\¹\®\¨\Ÿ\¦\º\È\Ú\ë]]$]2]9]0]<]Q]R]i]–]¾]Ô]á]à]Ø]Ï]Î]Ñ]Õ]ß]å]ñ^ ^^ ^^"^&^7^:^E^G^$^]Ô]Å]Ù]Ç]”]ˆ]ª]Ì]Ô]Ù]Ù]¹]‡]f]e]~]]]~]i]a]a]]]S]N]E]4]"]]]]\ÿ]]O]]Ã]ò^ ^ ^^^^ ^ ^ ^^^^ ^ ^ ^ ]þ]ë]×]Ï]Ã]Æ]Ç]Í]á]Ø]¹]”]s]e]F]\ù\Ý\Æ\‹\f\T\H\8\;\t\¨\¹\±\ž\„\H\[Ú[¦[u[k[†[µ[ö\'\W\—\À\Ö\Ê\£\h\[à[ô\+\E\P\q\‘\š\‡\j\C\5\/\+\1\J\l\g\Z\Y\F\9\\)\U\j\c\Q\8\[Ù[Å[˜[p[m[[[v[O[4[0[[[ZïZÍZ·Z¢ZŽZ€ZtZfZ]ZYZSZOZFZBZ@ZCZHZSZeZ}Z–ZºZÔZÔZÃZ¯Z±Z·Z¸Z¶Z­Z«Z©Z©Z¤Z™Z„ZlZUZAZ+ZZ YþYüYüYýYÿYÿZ ZZYöYÿZZZZ ZZ Z1Z.Z'ZZZZZ0ZPZtZ•Z±ZÈZ×Zý[([N[m[“[»[Ñ[æ\\ [î[œ[G[ZìZËZ¡ZtZPZ%YïY¶Y‚Y]YUYbY‰Y¹YðZ)ZcZ¥Zå[$[X[[˜[¢[œ[„[a[6[ ZîZàZàZÞZáZÔZ¿Z™ZcZ3ZYóYêYñZZZ(Z+Z8ZRZpZ”Z¸ZÚ[[[[ZöZïZðZõZðZëZëZû[[>[a[u[€[[–[¬[Æ[Ö[ç\\_\×\ù\[û[õ\[ú[Ý[Ý[ö\\ \\)\<\\\V\D\?\F\o\u\l\u\…\—\¢\­\¯\®\¯\­\¯\ª\\‰\t\b\O\?\+\[ô[à[Í[¾[°[¦[¡[¥[«[±[»[Á[È[Ï[Ô[Ø[Õ[Ì[Å[½[¹[°[¨[›[Œ[[v[s[x[z[r[m[f[j[u[y[u[t[t[s[j[u[‡[—[£[±[Á[Ò[à[÷\ \\.\7\C\L\Z\g\m\t\w\z\ƒ\›\º\Ó\Ø\×\Ö\Ñ\Å\À\³\§\˜\Š\s\c\Z\[\`\n\„\¤\ž\‘\‡\\}\y\w\s\d\S\A\(\ [ê[Å[¤[¢[Ÿ[™[’[‹[Œ[Š[}[x[q[o[g[f[`[`[`[X[M[F[A[X[d[l[e[][Y[\[e[d[`[`[b[j[z[Œ[[¢[œ[Œ[[{[ˆ[¦[À[Õ[í\\N\t\Ž\™\\†\„\w\i\R\-\[õ[ù\\\\ \&\'\\ [ò[æ[Â[ª[’[•[z[f[\[d[_[a[E[$[[[[[[ZüZú[[[ZûZÝZÃZZyZVZOZOZGZ)ZYñYåYçYýYëYâYäZZZYùYéYÔYÚYÍY²Y‘YšY“Y¶YµYÃYºY¢YY€Y]YRYZYfY‰Y¢YÆYÌZZZ7Z3Z>YåYÇY§Y‘Y_Y½Z\Z—ZK[<]aÔ] ]þd`ZNWüZË^^cóeÎec½b_aý\©X§WŸW•WµW©W’WÇXWöX7XX=X3X$XX"XWíWæWÌWÑXŸ[_SaE`Z^Ï\ÐZ‰Yÿ[½^¬aü`‰\o\ \¢[N\Ì]\\á]W]%\Ã^“bí`Í`œ`/_¬bbb\`#_w_ùa)_÷^ç]ö\x[Ñ\[¥[R[`[I[M[D[Y[>[0[[[&[A[7[/[H[][h[r[›[¹[Ö[á[ê[å[×[Õ[â[è[ñ\\0\R\o\…\ \«\¼\¿\Ð\î]]A]K]D];]D]g]ƒ]‘]]‰]…]ˆ]„]…]„]‹]’]œ]¦]³]¾]Ã]Í]Õ]Ü]à]á]â]ß]á]ê]ü^^-^G^h^Š^­^Í^ì_ _'_A_V_o_…_ž_³_Å_Ò_æ_û`` `-`4`=`C`N`N`O`J`K`I`L`L`P`M`K`F`E`K`I`H`C`A`A`F`O`Y`d`t`ƒ`’`—` `­`¼`Å`Ç`Ê`Ð`Ù`à`à`Ù`Î`¸`¢`‘`‚`s```M`A`(````"`/`3`<`F`V`Y`Z`Z`a`g`m`w`z`†`”`¨`¹`Í`Î`¿`°`¬`´`Ôa aOa™aàbb-b0baéašaXa2aa`ôaa&a6aaa&`Ì`ª`˜`„`y`‘`Á`õ`ö`ã`Ñ`”`7_å_·_•_z_v_‰_ª_Õ`,`Š`Ã`Ö`ùaFa¶a{aa-aoaya;aaa`ß`¼`²`­`µ`­`”`o`F`>`Q`M`>`,`&`!_ö_à_Ò_¯_°_{_U_1_^î^Á^¶^©^™^x^N^]ø]Ô]¿]¯]·]¼]¥]o]C]].]I]œ]ò^F^u^^Ó_9_¯`` `@`º`T``C`Y`a`*`_ø`pb…dÙd3c¥a¥`¤aœa¨`¼`w`•`b`œ`úa,aaamaqagaHata|a `µ`‚`i`1_Ë__?_B_œ_¤_n_,__C_:_:_<^Þ^o^]º]ƒ]~]v]k]\Ù\Á\–\Ò\ö\n\…\Œ\L\¢\h\[Í[¾[ï\[â[¹[¾[Ý[é[ê[ð[ã[í\\\8\^\s\o\`\S\$[Ø[w[K[I[D[8[[ZùZÓZÔZÀZ—Z‚Z9ZY¹YžYcY\YrY³YÖYHYYeY„YžYÒYÖZZªZwZW[[˜[GZí[]"^¡\˜]×`S__Ÿb\3\*\\[ð[ß[Í[À[³[­[©[­[´[¼[Å[Î[Ø[Ü[â[à[Ú[Ð[Á[¹[´[ª[¢[’[„[v[q[u[|[[€[x[v[v[v[w[s[v[z[~[[‡[‹[˜[¡[«[·[É[Û[ô\\\)\8\I\U\`\j\p\z\~\…\•\°\Ä\Î\Ï\Ì\Ã\»\·\³\°\²\¯\¡\‹\\u\x\y\Œ\ \®\¥\£\ \ž\œ\™\‘\‡\}\q\_\I\/\[ý[é[Û[Ì[½[²[¨[£[[•[[„[…[‹[”[œ[£[£[”[‰[ƒ[q[[[[z[s[o[x[|[[[ƒ[‰[—[¦[º[Ë[Õ[Ô[Ç[´[©[²[É[â[ú\\@\t\š\«\®\°\¨\š\\{\Y\;\#\ \'\-\*\"\"\$\\\[ÿ[ô[á[Ì[¬[¢[„[y[f[u[u[r[J[6[9[4[)[+["[-[4[+[[[ZëZÊZ®ZZ|Z^ZeZWZKZ(ZYïYïYÙYàYÖYÏYàZZZY÷YáYÁYÈY­YŸYˆY—YœY¼YÊYðYÄY§Y‹Y‡YsYgYjY}Y¶YµYÖYÞZ+Z)Z:Z#ZYâYÎY“YZYƒY5Z$Z+Y÷\ùbqba[¾^4f_ÎY‹X]`d#d¥d!aD^\òY VÉWiWW[W‡WÀWéWÆXXX\P\2\[»[¯[Ú[ä[Á[½[ô\\\[Ð[¨[•[Ÿ[Ä\ \I\a\a\\\[\?\[¨[][P[E[U[F[I[R[[[0ZöZØZ¬Z{ZYZ?ZZYýZZ¿ZyYYYÔZ ZœZ$YÓYÌYî[ \Q\—[&ZUZ“\:\Œ[·^}`p_Œ_øaÀböbfb/aÇ`[``ÙaA`à`5`^`q_ð_h^r]ï]²]a]Z]b]–]·]„]s]³]ô]ò]—]4\÷\³\¼]Q]]H]\å\ð\÷\ñ\Û\¸\®\¤\[Ê[Ë[Î[¼[©[Œ[p[[[M[C[@[A[=[D[J[O[Z[g[t[~[Š[–[—[[œ[[œ[—[—[‘[€[n[X[E[:[3[A[s[Ž[¤[®[¬[š[‚[\[U[I[K[l[z[U[T[C[i[¤[Ù[ð[ð[Þ[Ð[¼[²[¤[’[‡[{[f[_[b[g[o[{[[x[n[i[j[T[D[8[2[H[b[W[[[p[ƒ[˜[ [ [’[~[i[K[5[6[B[O[V[i[[›[”[|[w[s[{[…[Š[ˆ[„[u[g[T[8[ [[Zý[[/[S[d[T[I[K[W[h[|[‚[[}[[z[x[t[‰[’[Ž[{[w[}[~[z[[[›[©[´[É[ã[ï[å[è[ó\\\\$\2\H\^\q\„\—\£\®\º\Ï\ð]]\õ\Û\Ì\Â\É\Õ\ï\ü]]]\÷]]])]\ü\Ý\Î\Ò\Ü\Õ\Ñ\Ñ\Ý\à\÷]] \û\æ\Æ\¿\À\Ì\ò\Á]#^Á_`…b›aÛa#aw^Ä]½]œ]„]’]’]ë]ö^<^~^Ÿ^æ^î__#_Èa$asc eBbFaàbÈb7bùc^a–`¿`Á`‚`q`6` _á_°_‚_h_3_^÷^Ï^¨^¥^À^ø_1_q_›_«_»_É_ù`_Ñ_•_€_y_ƒ_“_ˆ_Œ_x_e_d_t_ _Ò_î_ì_Û_Ó_É_Æ_½_³_°_Á_Í_Ü_ï_Ýa)cÂc¼c[b×bncTbÛaãbkcVbÕa```c`@` ` _þ_â_ç_Ù_Ç_¹_¥_˜_Œ_‚_x_}_Ž__—_¹_¹_±_•_‰_{_b_R_$^ï^Ê^À^¯^š^^‚^t^f^M^;^(^^]ý]è]×]Æ]´]¨]¤]¦]¢]¡]ž]˜]Œ]ƒ]s]^]?]']]\ù\ñ\ç\Ã\§\©\»\æ\ú\ñ\Ø\Í\â\ó\ä\Ý\×\Ò\ß\ç\ë\ó\ë\Ø\Ó\é\ö]]]#]+]?]J]S]k]˜]ß]ø]ý^ ^.^6^<^A^S^h^m^n^n^b^e^„^•^^£^•^{^{^o^S^C^1^-^^ ^^^^]ê]Û]Ü]÷]þ]Ì]‘]w]^]f]{]Œ]‰]n]O]D]@]B]T]i]k]`]R]8]-]#]\ü] ].]f]–]§]®]ª]¶]È]Ù]æ]ò]þ^ ^^^ ^ ^ ^^^]ó]ß]Ñ]Ã]¿]¾]Ã]Ê]¸]]p]g]>]]\å\Å\¤\‚\n\^\N\E\4\4\I\w\z\R\4\[ü[Ï[¦[—[¨[»[Þ\\C\e\Ž\›\Š\J\[Û[Ò[ë\ \$\?\L\G\R\Z\K\[î[ô\ \+\N\]\_\\\E\(\ \\ \\\[Ú[Ç[¸[¬[¯[²[³[¶[¡[‘[†[s[d[X[Z[=[ZÖZ·Z£ZZ†Z}ZqZjZ_Z\ZUZLZFZDZHZTZWZgZ‚ZœZÂZÞZãZØZÄZ©ZœZ¤Z¥Z¦ZžZ“ZŠZ…ZƒZ|ZpZdZRZAZ-ZZYþYüZZ ZZYüYõYóYóYýZ ZZ Z ZZZZZZZZ"Z"ZZ)Z>ZLZ_ZƒZ»Zù[/[j[©[é\\%\H\d\G[à[x[G[0[ZßZ¶ZžZŽZxZWZ&YôY¼YŒYsYtY’Y¼YôZ)Z^Z–ZËZû[([I[a[l[k[Z[B[&[ ZùZåZÕZÅZ«Z†Z]ZFZ;ZEZWZqZZªZÀZÎZÕZÙZÝZëZïZôZøZúZýZÿ[ [![2[D[C[:[,[-[4[G[X[`[~[´[Â[³[°[Ô[ï\ \1\^\x\W\(\[Ú[·[±[·[Í[Þ[ö\\/\?\>\D\O\@\6\@\j\t\s\v\€\ƒ\{\s\n\i\g\e\`\X\F\4\\\\ \[ù[é[Ö[Ç[¸[¬[§[§[¯[»[Æ[Î[Ö[Ü[à[â[à[×[Ê[¹[°[¬[£[™[Œ[ƒ[|[|[ƒ[Š[Œ[Œ[‚[[y[t[q[n[v[{[[†[[•[[Ÿ[¦[©[µ[Ò[î\\\(\;\G\S\_\e\k\t\{\Š\ž\°\»\¼\¸\·\³\­\¬\´\¿\Ç\É\¼\¬\¡\•\—\™\¥\¯\µ\´\¶\¸\½\¹\µ\ª\¡\”\ˆ\w\h\T\:\&\[û[ì[ß[Ó[Æ[¼[´[¯[¨[¦[«[º[Ê[Û[Û[Ó[Å[¼[¶[ª[¥[›[˜[Ž[Œ[‹[–[˜[ [£[©[¯[Â[Ð[å[ó\\[ü[õ[ë[æ[þ\\0\L\s\“\®\¼\¸\¶\µ\¬\ \Š\s\h\X\M\H\?\3\$\!\\\\\[û[ç[Ë[¶[›[ƒ[[~[[}[l[Q[@[([3[=[=[1[/[1[-[![ [ZíZÍZ´ZšZ€ZtZwZdZRZ"ZYïYéYÞYÞYÍYéYûZZZ YôYáY»YµY™Y—YzY“Y¨YÀY×YÛY¿Y³Y”Y¡Y~YdYuY‰Y·YÅYàYìZZZZ YäYÕY™YmY[YWYYÏZ Z¿^…cK^9[Ù`gjç`óXûW½_cbcÕdÑc[^OZ“XúW¿W%WHWWœWW¤W±WòXXXHX1X6X%XXXWÝWÈWÙWÕY[°^ƒ`4a:_ ZŒZu]]Ó\ô\ó`c^·]J^.\<]^"\å]2]Ø^]^9\™\\„\s[¢[‚]0^¹]ÿ\º] _å`¸_º]÷[Ñ[@\[†Zø[[2[B[H[b[—[<[4[_[f[d[M[.[H[„[l[¢[à[¦[Ã\\ \\\\&\\\\1\;\M\l\‹\¦\¶\Ê\à]]*]/]*](]5]O]j]~]]›]¦]®]±]¬]•]€]w]€]„]”]]¥]¬]´]º]¿]Ã]Î]Ö]Ú]Þ]ç]ö^^^9^U^~^¢^Ä^æ__ _=_Y_u__®_Å_×_â_î_ò_û````!`%`1`4`8`9`<`;`<`>`?`B`E`N`R`U`S`P`O`W`_`n`x`…`Ž`—`£`±`¿`É`Ó`Ü`á`ç`ó`ü`ÿ`û`û`÷`ï`ç`Ù`½`•`i`L`.``_ô_ð_í_ë_è_ë_ñ_ý` ```"`"`&`*`2`;`F`U`j`…` `µ`²`£`“`›`·`èa(aja°aäaðaÔa²a‘agaKa4a.a!a!a`ù`¦`„`ˆ`‰`€`{``”`¿`é`æ`¹`u`=`_Ï_¢_~_e_^_l_„_¦_À_Ê_Ú_ù`:`…`×a `ÿaa[a$`ð`È`‹`W`J`M`O`Q`K`>`.`#`` _õ_Ô_Ï_Ã_®_’_“__>^ô^Ï^¯^§^¥^®^³^¼^½^¶^¨^^h^;^]ç]Ë]²]–]Œ]ƒ]Y]&]] ]*]k]Ã^#^p^ª^ç_‚_û`?``'` `Ï`Ã`I`_û` _‘_8^¾^¦_…^S]Ø]’]Ø^˜_``l`.`za+aNa_azaÌaÛa¥a\aja@`¸`%_ò_È_¹_©_‰_–_”_†_˜_·_ž_v_v_‡_r_ ^£^K^^]Ý]þ^-]ò]„]/\Û\\‡\I\\<\Q\[õ[ó[â[Ã[ã[×[µ[Ç[ÿ\:\F\%[Ø[p[)Zú[8[«[ø\&\:\H\K\B\=\([Ó[‰[j[n[…[[y[²[¬[‰[X[&[*[&[P[ Z˜ZxZô[ Zš[[²ZvZh[%[[ZbZ/YßYÔZì[Ù\0[Z#Z5[Î[®[™^É_M__š`ßbb›bUa}`Ó`¨`¸aa=`œ_ÿ_¥_¥_t^‘]¿]t]R]A]r]Ê]ò]¿]Î^D^ž^•^]”];\ä\¢\÷]g]1\Ï\µ\Å\Î\É\¯\\Ž\[[Ì[¬[Â[Ä[¼[­[[t[^[I[C[<[:[=[?[E[N[R[[[c[q[q[u[z[€[ƒ[…[…[€[‚[w[c[P[<[/["[![4[^[}[—[¦[¬[©[‰[Q[=[=[@[O[J[[ [[I[w[™[±[Ì[Ò[Í[«[”[‘[Š[[f[N[G[I[L[W[l[o[m[^[V[W[J[7[ [[B[a[V[W[u[[‘[˜[[‚[i[M[%[Zý[ [[1[G[X[s[ƒ[|[~[y[p[t[z[x[†[†[q[O[:[([[[[![<[b[‡[[h[a[i[u[y[{[y[r[u[z[v[k[o[l[R[6[1[:[B[M[^[m[y[[°[Ö[ô\[ý[û[ú\\\ \ \\%\@\Y\r\ˆ\ž\²\Ê\ê]]]\õ\Ý\Ñ\Ò\Ú\ä\õ\ÿ]\ý\ö\í\þ]]$]\ù\Þ\Û\å\ç\Ù\Î\Æ\Ó\Ü\ù] ]!]\ý\Õ\Â\Ç\Ñ\è]]]x^C^Ä_õbbÒb“`g_–^]^]³]]Ð^ ^M^­^é__0_P_8_¬`ëa6c8eÔb½bc b¤bÃc2a”`´`¼`€`h`%`_È_™_h_H_%_^Û^½^£^¤^´^Ü__?_v_›_¬_Ï``_À_q_e_|_–_¡_–_Œ_{_Q_?_a_›_Â_Ì_×_Ø_Þ_Õ_Û_Õ_Á_À_Ð_ù`;`E`ˆaàcocûcybaëcpc&boaübb‰aY`Á`j``_ô_ç_ä_á_Ú_Ô_¿_«_¡_”_ˆ__’_–_œ_­_È_Ð_Ë_¨__‚_s_W_=_^ñ^á^Ð^Ç^¶^­^£^”^…^g^P^D^2^^]ù]ä]Ø]Ð]Ì]É]Î]Ë]Ç]Á]¶]«]–]…]j]X]>]5]<]6]+]\ù\ì\ì\û]\ø\ã\ì]](]!]]\ý\ð\õ]]\ü\Ü\Î\ò]]/]2]4]+].];]F]f]´]þ]ý]å]Ñ]ñ^^5^B^\^‡^”^—^^‡^„^Œ^^¾^Î^Ã^–^Š^y^U^:^(^.^!^^]Ü]ò]ñ]à]Ä]¸]Ø]õ]â]º]±]§]§]¢]]…]r]V]>]8]F]l]Ž]–]Š]x]a]7]] ]]](]W]‘]¤]°]£]•]¤]¹]Ð]à]è]õ]þ^^^^^^ ^]ú]è]Õ]Ç]½]¹]³]¥]›]Œ]m]Q]-]\û\â\Á\¥\ˆ\s\]\Q\I\C\G\[\\†\Y\&\[û[ß[Ï[Û[ñ[û\\4\U\k\y\{\u\T\-\[ï[è[ç[ý\$\E\<\/\5\8\#\\\+\<\e\y\o\Z\3\\ \\[å[Ð[À[ª[£[Ÿ[’[”[‘[œ[¾[À[À[©[‚[y[l[I[ZñZÈZ©ZšZŒZ„ZyZqZhZ[ZUZJZEZFZJZTZ[Z]ZsZ”ZªZÄZ×ZÍZÆZÀZ£Z™ZZœZžZ•ZŽZ‚Z{ZvZrZkZaZRZ>Z-ZZ YÿYúZZ ZZ ZYüYôYðYõZZZZZZZZ#Z)Z2Z3Z0Z+Z'Z*Z+Z+Z5ZRZ|Z³Zù[C[‰[Ñ\\9\Z\T\[ž[a[Q[<[ZÞZ´Z£ZŸZ—Z…ZjZAZYÛY²Y›Y YºYáZZ1Z\Z‹Z»Zæ[[[&[)[[ZýZìZÛZÈZ·Z¤ZZoZRZJZUZlZ†Z¦ZÃZÙZîZÿ[[[[ZýZ÷ZîZëZìZý[[5[H[W[N[F[3[+[/[?[W[W[t[¢[¢[²[®[Å[Ý[þ\)\2\"\[ì[Ù[Â[¶[¶[½[Ë[Û[õ\ \\$\\%\1\'\3\>\P\N\S\T\P\I\@\:\5\2\1\.\*\\ [ú[ê[ä[ä[ê[ê[ä[Ù[Ç[¸[¥[š[•[—[£[³[Ã[Î[Ø[Û[Þ[Ø[Ô[Ë[Á[²[©[ [’[”[Ž[†[ˆ[Ž[”[š[™[’[‹[„[y[t[n[o[x[‚[‡[‹[‘[•[–[”[–[•[¦[Ð[ò\\\!\3\?\L\K\T\f\n\s\†\•\Ÿ\¤\©\¬\¨\¥\£\¤\º\Ó\Ø\Ø\Ó\Ä\¹\±\¯\³\³\³\º\¾\Å\Å\É\Í\Ë\¼\µ\¨\ž\\{\j\[\G\3\\ [ú[é[Ù[Ð[Ë[È[È[Î[Ø[ì[ô[ù[ò[ì[à[×[Ð[Ë[¼[«[¦[¡[£[¦[±[¹[Å[Æ[Ì[Î[ß[î\\\ \(\)\+\5\,\6\H\`\u\‘\¬\·\·\¶\¯\¯\­\¨\˜\‡\{\q\d\X\C\:\-\,\)\!\\ \[ú[ò[Û[Á[š[[[ž[¥[“[‚[t[_[A[I[B[E[F[N[G[J[>[7[[Z×ZÂZ¢ZšZ‹ZZ…ZWZ(ZYöYêYÞYïYíYÿZ Z.Z ZYêY×Y¸Y²Y¤Y›YŠY¢Y¸YÔYßYâYÚY³Y±YªY‡YˆYxY‰Y YÉY³YãYòZ YÖYÕY´Y©Y›YxYtYZYÏYÝZ!ZG]¹a[}[`a;eø^„XV[ÁaÃcöfFb¸[õX-W}WVúVäW5WJWiWËWèXWýX8X1X9XEXX$XWùWëWéWÄWèYI[M]S_w`®^âZÑZ\¦_°_]F^¼_·`’a2]@\Ö_ç_‘]\A]^·^'\V\Q]]n\û\Ù] \‹[å\#]]a]þ][l[[.ZÐZÇ[([;[q[Ä[é[9[K[}[‡[v[8[[1[€[X[S[Š[‚[­\\!\\\0\e\9\\\\\'\I\i\ƒ\¢\¶\×\ô] ] ] ]]0]H]a]t]‡]œ]§]²]µ]«]Œ]o]a]l]v]†]‘]˜] ]§]­]±]´]¸]Å]Ú]Þ]ë]÷^ ^^2^M^p^^¶^Ú^ø__3_N_o_‹_¥_¾_Ô_à_ê_í_í_ó_ú`````%`-`4`4`6`9`<`;`?`E`K`Q`U`T`W`^`g`r`y``‹`–`¡`°`¿`Î`Ü`ç`ò`ûaa a a aa`ü`÷`ò`ç`Ô`­`€`Y`7`_ü_ï_é_æ_è_Þ_Ú_×_ß_ç_õ```````#`0`G`[`t`ˆ`˜`œ`•`Š`’`«`Òa aEaa¹aÇa¥asaHa#a`ÿ`â`À`²`Ñ`Ó`•`R`=`H`Y`d``­`Ñ`å`ã`º`w`:` _â_°_‰_k_W_T_d_z_—_²_»_¹_½_Î``t`¶`Ë`à`ü`º`u`U`B`9`?`L`Y`]`W`M`?`3`)`"``_ò_Ò_ª_€___>_^Ú^Á^¬^ž^œ^¤^¯^È^Ä^À^±^^n^C^]û]Ô]°]Š]t]V]:]] ]]%]W]¦]ø^[^¿^÷_G_¬_ã`$_ç_—_¾__t_@__^ì^À^š_ÖaÉ^-]*]_]›^ __â``4`´aa@a²aÓaÿaàa¶aha/`à`v`_Í_¡_‰__o__¡_ _˜_Å_Ä_ _‰_„_|_ ^¯^W^^]ú^(^]Ò]”]g]0\²\G\2\F\=\[ì[Ô[×[Ý\\D\#[ê[ì\\4\A\[ ZõZpZa[[×\\\\\-\+\+\ [æ[Æ[Ÿ[ª[¶[»[®[¸[¾[¡[U[P[<[p\[MZkZ­[´\€\[w[—[ [Ó^]Ð\+ZÌZÈZYËZ¥Zè[±[oZPZ[h[Å\†^ç^—^Í_ÞaLbˆbhb|baÂaæa¯aÃaµa>`'^ÿ^Ë_^³]À]m]A].]Œ]Ô]é]ç^;^©^á^¹^b]ý]h\õ\™\Ÿ]] \¬\™\š\ \š\\s\B[Ò[‚[ˆ[š[¦[¯[ [‹[u[b[N[C[?[;[:[<[B[J[M[V[X[Z[\[][Z[a[o[r[q[o[g[_[Q[:['[[[[[A[Y[p[ˆ[˜[¦[™[n[C[4[;[?[0[ [ [[6[N[^[s[–[¥[¥[™[†[y[u[m[`[U[G[4[2[8[J[X[_[W[[[^[P[9[&[[3[O[b[s[‚[‡[[”[…[n[R[3[ZþZæZßZñ[ [#[D[g[ƒ[‹[‡[x[n[j[q[s[|[w[i[Q[I[:[#[[[0[M[u[¢[›[‰[}[z[|[x[w[n[`[Z[][][c[\[C[[ [[[*[@[W[p[Š[¡[Ê[ù\\'\(\&\"\\[ü[÷[þ\\.\I\_\|\œ\µ\Ð\ñ] ]]\ù\Ü\Î\Õ\ß\î\ù\ÿ] \ü\ë\é\ü]]"] \ê\Ì\Õ\é\ø\ó\Û\À\Å\Î\ë]]]]\à\Î\Å\å\Ö]]]]l]o]Ø`öcòbŒa5a•^¼]]Â]’]É^^[^™^ý__E_Z_u_u`-`mbue^bfaßblaÕb>bfaJ`¶`¥`u`g`8`'_å_º_|_`_?_ ^Î^±^œ^¢^¬^Ð^ò__:_d_€_¨_ß_û_Ã_„_w_Ž_®_´_¬_—_s_?_/_R_Š_µ_Ë_ê_é_ê_ô`_ò_÷``4`U`¤`úa²c,dBe[cêbbb¨b!aÊa`ÒaÐaS`å``_ø_×_Õ_á_â_â_à_Ì_Ã_®_•__˜_”_›_¤_Á_ã_ä_Ý_Ñ_º_—_‘_{_N_)_ ^ú^í^ä^Õ^Ì^È^Ú^Æ^•^|^j^`^Y^K^3^^^^^^]û]ö]ò]ì]â]×]Ê]µ]¨]Ÿ]“]Š]‡]i]D]"] ]] ] ]] ] ]-]S]R]J]K]6]+]3]7]<].] \þ]]7]Q]Z]O]:]4]9]G]g]›]Â]Â]²]«]Ð]ô^^=^a^…^^›^™^‘^^z^^º^¹^¯^£^“^y^^^E^D^F^]é]æ]Ó]Ï]µ]¬]š]“]²]å^]á]Å]È]ã]æ]Ø]´]•]v]_]T]_]y]Ž]]„]v]s]P](]]]"]5]P]]®]]“]ƒ]Š]¢]²]Ä]Ñ]à]ð]õ]ø]÷]ù]ú]ú]ÿ]û]ì]Ù]É]½]·]²]¦]]z]j]L])]\ø\à\Ã\£\‹\y\b\W\I\N\y\ \½\¼\š\Z\(\[å[ô\\\0\<\V\]\X\c\^\Q\0\\[æ[Ç[Á[æ\\7\?\-\\\\*\:\L\g\…\„\q\U\8\0\\[ü[é[Å[§[£[›[‰[{[s[w[“[¼[Æ[Ç[¯[ƒ[m[T[%ZÿZÛZºZ£Z“Z‡Z€ZxZpZdZ]ZUZKZFZIZQZYZ`ZlZZZµZÊZÙZÊZ»Z³Z¡ZZœZZ›Z“ZŽZZxZpZjZcZ_ZNZ>Z-Z ZZYûZZZZZZYùYôYúZ ZZ#Z%Z*Z2Z8ZBZPZVZOZKZFZ>Z8Z&ZZ ZZ8Z_Z§Zû[E[[Õ\\[ù[¦[d[_[[[=[ZÐZ©Z£Z«Z³Z²Z§Z‘ZjZ8Z YåYÔYÔYáYöZZ-ZQZ{Z¥Z¿ZÎZÞZäZÞZÐZÆZ¼Z·Z³Z§ZZZ{ZlZjZxZ‘Z°ZÎZè[[[[[[ [ZþZóZèZãZàZó[ [)[>[S[E[;[9[6[=[B[K[J[[[n[j[—[«[¹[É[ì\\\[ö[Ý[Æ[¼[»[À[Ë[Õ[Ý[ð[ô[ö[ô[ð[ó[ü[ý\\\\\\\\[÷[ù[ú[û[û[ô[ê[Ý[Ð[Å[¾[¼[Á[È[Ì[É[¾[ª[•[‚[z[x[~[‹[¡[¶[Â[Ì[Í[Ë[Å[Â[¼[¸[­[¨[¢[—[‘[‡[ˆ[[–[ž[[˜[Ž[‡[…[€[{[t[r[y[†[‹[Ž[‘[’[[ˆ[„[Œ[±[Õ[è[ù\ \\"\,\5\3\G\d\m\r\~\ƒ\‹\–\ž\¢\¤\¥\§\±\Î\é\æ\å\ç\Ú\Î\Ì\É\È\Å\Ã\Ã\È\Ë\Î\Ò\Ñ\Ð\Ç\½\´\ª\—\Š\…\|\d\Q\4\\[ú[ê[ã[Ü[×[Ù[å[ö\\ \ [þ[ú[ó[ï[á[Ð[Â[¸[±[¸[»[Ä[Ï[Ù[á[â[å[ë[ü\\\)\8\?\L\S\f\m\n\l\ƒ\›\±\»\À\´\ª\§\±\°\³\«\¤\‘\\l\_\N\H\D\F\?\0\\\\[ù[ã[Î[¸[®[°[Ä[Ç[º[¥[¤[Ž[j[\[V[c[^[p[p[u[_[P[,[ ZåZ×Z´Z­ZœZ®ZžZtZTZ-Z YúYïYüZ ZZ!Z(ZZYùYàYÎY¼Y«Y£Y¥Y±YÌYèYíYéYÍY¸YÀY­Y˜Y’YsYŒY{YY|YÉYµY²Y©Y¬Y¤YšY…YLYXY”Y‰Z YóZŽ^¤_][Š\ücc^åXíVCU—Zñd6dQbš]¬XéW,W©VíW0WWKWgW¬W²WÎXXX%XX1XXXXXWïWÕWÓXXìZµ]_y^Y[åZ Z¬^'`×`i_µ_=^ú_^{\©\y_Åb®^Ð\\§^1]\\\Ö];\'[´\[A[w[ÁZ‘Z­]-\×[‹[‚Z°ZGZ}Zµ[[[˜[ê[ˆ[C[ß[Ç[Å[¡[j[Q[…[Æ[j[[J[|[¢[ç\ \\\4\N\O\C\[ô[ö\\\C\c\…\Ÿ\·\Ð\Ù\ê\ø]]+]A]L]]]s]Š]“]] ]–]y]]]Z]h]s]€]Š]”]œ]£]ª]³]µ]±]·]Ù]å]ó]ü^^$^<^T^m^‡^©^Ê^ë__(_B_`_|_•_­_Ã_Ó_Þ_ä_å_é_é_í_ó_ü``` `(`+`1`4`<`B`D`E`G`M`U`[`a`j`p`z`~`„`‹`™`«`¾`Ï`ß`í`ùaaaaaaaaaa`û`è`Ó`»`¢`‚`^`7`_ú_í_å_â_Ù_Ò_Ë_É_Î_Ö_ç_ù``` ```,`C`T`n``‰`‹`„``Ž` `»`êa0aga’a¥aŽaYa-aa `ë`°`‡`{`œ`©`ƒ`;`_ü``/`l`ª`Ô`Ý`¹`y`4`_Þ_·_Š_j_R_D_@_S_k_ˆ_š__š_˜_¤_½_ï`&`a`w`m`N`9`6`8`?`F`N`W`Z`Y`O`A`9`6`,` `_þ_á_Å_ž_n_;_^é^Á^ª^ž^ ^®^¾^Ì^Ê^Ã^´^–^w^O^%^]Ú]¹]Ž]r]L]5]]] ]0]f]±]ù^^^Å__<_{_q_j_O_^è^Þ___ ^Ê^á^½^‹`Lbù^>]]Q]O^y^þ__Î`{`ÿa=a«b)b#baÎaÄa„a;`ê`†` _Ç_ž_{_j_]_u_ž_m_\_¸_Ä_¨__c_g_N^æ^s^]ô^*^5]Ó]l]/]]+\ó\y\z\¬\…\_\8\ \\'\A\G\=\3\(\-\8\O\3[»[Z¢Z¢[<[à\\\\\/\.\"\ [ä[Ù[Î[½[¯[¾[½[±[°[½[Ž[\[ [Ž\|[KZ€ZÌ[\|]H]Ï^D\Ö\c^$_2]Þ[³[DZjYòZ‘[$\£[ïZ=Z2[2\ ]Z^1]÷^B_Jabcb‰b›bÔb\b0aÍaVa`ú`A_^:^2^H]¬]m]@]I]•]Ì^^B^Œ^©^^Z^6^]Ž\ø\‚\P\š\Þ\¢\\y\p\c\g\M[Ú[t[k[u[‡[š[£[[“[|[g[W[K[@[;[5[:[=[@[D[E[J[J[D[?[?[F[N[[[][Z[U[J[9[+[[[[[ [![2[F[[[r[Š[š[˜[|[a[U[L[2[Zð[[%[4[1[8[O[e[s[u[j[`[^[W[M[@[;[)[ [)[8[C[S[[[m[y[p[U[7[$[&[1[R[w[‚[Š[“[Œ[~[f[O[-[ZôZÕZÊZÜZñ[ [/[f[‘[–[‹[x[o[k[v[{[Œ[ƒ[n[[[M[;[-[)[.[J[`[‚[²[°[¢[“[ƒ[|[u[u[i[Z[V[T[I[S[>[[[[ [[[-[@[X[w[§[è\\A\T\]\[\K\0\[û[ï[ö\ \ \7\S\{\˜\±\Å\Ö\ã\è\î\æ\Þ\Ü\ç\ñ\÷\û]] ]\ò\è\é\í\ù\å\Ó\Ä\Ð\à\î\ê\Û\Æ\Ä\À\Ó\å]]] \ì\â\Ê\ì\ë\þ\÷]] ]?]^åaÇbýc-c³`U^f]]S]Ñ]ë^^Œ^Ü^ù_L_C_‡_‡_ö_é`ûcîbµbbIa‹b+b.`Ø`_`s`r`_`=`3`_Û_ž_{_T_!^Ð^š^~^Š^š^Ê^à^ð^ý__M_j_†_¦_Ž__„_œ_½_Ê_·_¢_y_J_8_Q_Ž_¼_Ñ_ÿ` _÷_û```L```ab…bCbÜd–e¢db„aÖad`Ë``†`ˆ`É`Z`E`'`_Ü_Å_Ç_Í_ß_î_í_ä_Õ_½_¥_˜_Ÿ_ª_³_Ä_à_ú` ` _ö_Ú_´_­_š_d_8___^ó^ð^ä^å^û^â^À^¯^^^œ^–^‹^k^[^h^k^c^[^T^K^N^U^I^C^4^&^^]è]Ë]±]€]O](] ]]]]]](]O]y]|]{]s][]M]T]V]L]7]]]]"]6]Q]T]>]>]I]W]m]Š]›]®]º]À]á]ÿ]û^^;^Z^}^”^ ^Ÿ^ƒ^W^\^u^‚^^g^U^T^F^-^0^/^]ß]½] ]ˆ]\]K]Z]i]‡]Å^^^^^^^ ]ÿ]à]©]{]^]`]l]w]s]l]`]W]O];]2]8]5]@]M]t]§]’]{]{]…]‘]œ]«]»]Æ]Ö]à]æ]å]â]ç]é]õ]÷]ñ]à]Ì]¼]¸]º]¶]•]v]X]<]"]\û\á\Á\¦\‹\u\`\P\C\L\†\¹\Ø\ô\Ü\¤\i\,\ \\(\I\f\`\_\N\A\I\4\[ü[ñ[Ü[¶[›[¦[Ö\\\!\ \ \\\$\8\L\f\ƒ\\w\l\b\M\-\\\[ì[Á[®[§[Œ[n[a[n[~[¢[µ[³[¢[†[_[4[ ZëZÌZ³ZŸZŽZƒZ|ZtZkZdZ_ZVZQZNZQZYZeZlZxZŠZœZ²ZÁZÄZºZªZ§Z§Z¦Z¦Z¤ZžZ—ZŒZ€ZvZmZiZbZaZNZ?Z+ZZYÿYúYþZZZ$ZZZYûZ ZZ-Z@ZCZGZQZXZgZyZ~ZqZkZgZWZEZ"YøYßYÚYýZ+ZgZ¯Zö[7[z[[™[v[V[T[_[P[+ZïZÀZ¡Z¥Z¹ZÖZäZåZÙZÀZ›ZsZHZ'ZYÿYüZZZ'ZNZxZŽZZ«Z·Z¸Z°ZªZ¨Z¬Z«Z§Z¥ZžZZˆZ‹Z›Z·ZÖZó[ [[$[&[%[[ [[ZýZóZçZÜZâZáZþ[![F[K[B[=[9[H[Q[M[E[>[<[H[m[‡[¦[¶[Ñ[ñ\[þ[æ[Ò[È[½[½[Ç[Ê[Ð[Ñ[Ð[Ä[¾[¸[¹[º[¿[Ì[Ö[×[à[æ[â[×[Ì[¼[º[¾[Æ[Ë[Ê[Ã[´[¤[[[Ÿ[¡[¥[«[®[§[™[„[o[][R[U[_[q[‡[[®[¸[º[´[²[²[³[µ[µ[¯[¢[™[[Š[Ž[“[˜[Ÿ[œ[“[ˆ[…[‚[}[|[y[v[[‡[‡[„[‚[[|[}[…[˜[»[Ò[ß[ì[ò[þ\\\-\C\T\[\]\b\g\m\x\…\—\£\ª\®\·\Ó\ò\û\õ\ø\ö\ì\â\Ü\Ý\Ù\Ð\È\Í\Ï\É\Ñ\Ò\Ï\Ì\Å\½\º\²\¢\“\’\’\|\f\D\-\\ [õ[ï[è[è[ê[ö\ \\\\\ [þ[ó[ã[Ô[Å[À[¿[Î[Ñ[Ù[ã[ï[ô[ü\\\\\ \,\D\S\c\t\‹\“\š\–\ \±\Í\Ç\¼\­\¥\¡\©\ª\²\¤\Ÿ\Ž\‡\y\j\Z\X\V\[\T\I\8\*\\\[ó[ß[Ð[Ä[Ñ[×[Ù[×[×[Û[Ç[«[—[”[–[˜[Ÿ[™[[p[U[-[ZóZ×Z¿Z°Z¤ZµZ°ZZlZPZ-ZZZZ#Z/Z7Z.Z)ZZYþYàYÇY½Y¶Y¹YÇYÐYÐYÜYéYÚYÚY±Y·Y’Y…Y†Y€YnY€YrYŽYŒY—Y‘Y†Y‚Y|YMYY>Y’YƒZ]Yà\…a ]Ù]¶aZen\VXTmV„]Chc½^XòWzVùWKVíW:VñWXWvWžW–WãWåXWýX0X1X&X0XXWúWÖWÎW¾W‘XYeZšZðZ.Zp[[]B_)_ _'`@`-^\š[ž[¬[][÷__*\v\ ]W\¸[ò[v[ ZŠY¡YYíY;YýZ¿YzYÑ\T[tZ:ZhYãYãZEZ†Z¤ZÇ[ž[ú[_[V\#[à[Ù[Â[°[•[s[k[[[b[Ž[´[Ð[æ[ð\\$\+\P\S\[ý[ã[ó\\.\U\m\‘\¡\´\Â\×\ì]]+]<]D]N]Y]e]n]x]y]h]U]L]S]a]m]}]ˆ]]‘]]§]´]º]À]Ä]Þ]ï]ú^^^*^D^\^s^†^§^Ç^è__"_?_W_l_‚_™_¯_Ã_Í_Ø_Ú_Ý_Û_à_æ_ð_û` ```"`*`2`>`E`F`H`I`N`S`^`i`x`|`|``†`’`¥`µ`É`Ý`í`øaaaa"a!a#a&a(a"aa a`ò`â`Ò`¿`§`Š`a`>`_þ_î_ä_Ý_Ò_È_¿_¿_Æ_Õ_å_÷```` `,`<`O`j`w`|`|`q`l`ƒ`š`·`éa'aWa~a˜aŠacaGa;a3a`Ÿ`w`s`y`„`{`@_ß_¶_à``I`o`€`†`a`+_û_Ô_³__e_J_7_-_/_D_Z_q_†_†_ƒ__”_³_Ò_õ``*`(`0`9`3`/`5`?`L`V`Z`W`I`@`9`8`3`(``_ì_É_£_x_K_^ï^Î^¶^©^ª^¶^Ç^Î^Î^À^£^†^w^g^3^]â]¿]˜]z][]:]]]]D]Š]Ð^ ^^^§^ü_1_e_b_M_'^þ^Ê^Õ^ó_^ü^Ñ_^Ø_^¬_]à]`]}]‘^Ñ_Q_¼`@`üaHa‰aÎaÚaÈaÑaÍaÞa­ama `‚`_ß_¯_Ž_o_[_g_n_D_c_Î_Õ_º_¤_a_A_G_^¤^]µ]Æ]©]E\þ\Û\¹\¬\›\_\Y\…\™\Ý\å\Ÿ\®\Ö\Æ\°\²\£\–\“\…\r\N\[¶[‚[l[e[x[Æ[ô[õ\\)\6\#\[é[Ð[¯[œ[¦[·[´[¯[³[Å[ª[_[T[Ì\#[z[n[™[Ø\V]_a¶^þ\Ü]X^,^Ü]~\CZÝZeZÑ[ [ß["YçYúZû\V]]]A]›^Z_¤alb5b3baÂa•a`ƒ`Œ`_ú_ ^]¬]]5]"]2]j]£^ ^^Š^À^î^ä^™^U^]¥]\§\F\[\¶\„\k\m\V\A\9[ï[[X[X[O[a[v[†[Š[„[t[e[S[I[8[3[-[&[)[-[4[6[9[7[2[,['[.[8[C[I[J[D[<[5[*[[[Zÿ[[[[.[=[L[e[Š[®[²[ [[s[^[ZáZòZÿ[ [[ [[[3[I[M[M[H[=[7[&[[[ [["[)[=[S[c[n[r[e[?[1[3[0[>[c[ƒ[‘[˜[‡[{[b[H[,[ZïZÖZÌZÑZê[[;[l[Ž[[ƒ[u[x[u[~[€[[}[|[h[P[F[=[7[=[Q[^[x[©[»[·[£[…[|[r[r[n[_[W[S[?[8[*[[[[[[&[3[F[b[~[³[ô\\A\j\‚\ƒ\q\P\6\\ \ \\,\?\V\u\ƒ\Œ\‹\\\§\³\Á\Ï\Ô\ß\î\ó\î\ì\ì\í\à\Õ\Ï\É\Î\Ï\Ð\É\Û\Ò\¿\µ\¿\½\Ç\Ç\Ö\Û\÷\õ] \ø\ò\ã\ê\è\þ\û]!\û]R\ÿ]]^­bdñcËb`É^]m^9^^^v^À^Ã_+_C_”_µ` ``/bGcXbšbßa‹a^a¸`Ñ`x`i`Y`P`<`/_ü_Ë_—_q_P_*^Þ^Œ^[^b^€^¼^Ë^Ö^Î^ú_?_?_E_b_X_]_o__¸_Î_¼_¦_t_G_7_W_Ž_Ä_î` ` ` ` ``4`”`Ô`Á`”a)bÐaÔbddGcjbÇao`™`u`h`…`…`u`T`X`-_ÿ_Ò_»_¼_Ã_Ô_í_ö_û_ñ_ß_¾_©_®_½_Ê_à_ø` `*`/`_í_Æ_Â_±_t_?_*__^ò^ó^é^ï^õ^ä^Ú^Ô^Û^è^õ^ú^ò^â^á^ì^ë^í^à^Â^°^¯^¦^Œ^ƒ^w^]^<^]å]¨]l]H]!\ú\ë\õ]\ý] ] ]-]]]‘]–]š]¢]¦]]}]Ž]‘]…]][]5],]+]J]a]\][]Z]b]l]Š] ]§]¥]”]Ž]š]—]¶]ú^5^J^V^l^y^j^M^@^;^G^P^2^^*^(^^^ ]ô]Ô]›]U]1],]%]2]U]„]¼^^*^+^4^1^;^A^/^]Â]‹]b]O]T]b]f]g]\]P]R]Q]I]M]P]U]Z]g]‰]Š]x]]Œ]‡]Š]’]ž]¬]»]Ì]Ò]Ò]Í]Î]Ô]è]ú]ÿ]ç]Ñ]½]¸]À]À]¬]†]T]4]]\ô\â\Å\¨\Œ\s\b\R\B\:\d\™\Ê\ú\ø\Ð\–\o\Q\C\K\h\„\z\P\%\"\[ÿ[ß[Ñ[À[›[…[p[[¬[Ï[â[ô\[ÿ[ÿ\\ \-\R\_\~\ˆ\‡\‹\\S\.\*\0\\ [Ü[µ[¥[‰[k[m[[ƒ[“[•[’[‡[m[D[ [ZåZËZ´Z¢Z“ZˆZ€ZxZoZiZfZbZ]Z]Z`ZbZqZtZ~Z“Z¡ZªZ«Z¥Z¡Z¡Z§ZªZ¬Z¯ZªZ¤ZZ•Z‡ZvZkZdZ`Z^ZNZ@Z-Z%ZZ YøYúZ Z#Z(ZZZ Z ZZZ6ZPZ\ZjZxZ~Z‘Z¡Z¤ZšZZZnZNZYçYÉYÈYëZ Z6ZsZ¯Zä[[%[([&[:[N[S[:[ZÖZ±ZZ®ZÐZù[[[[ZûZÛZ²ZˆZ^Z9ZZZZZ=ZkZ„ZŽZšZ¯Z¯ZªZ©Z«Z®Z°Z±Z«Z§Z¢Z¡Z¨Z»ZÙZö[["[([+[-[*[[ [[[[ ZþZÜZÉZÇZæ[[/[;[:[5[>[Y[l[e[T[8["[&[B[a[†[›[³[Í[Û[Ú[Í[Ä[º[³[¹[¸[³[³[¦[š[Š[[r[o[|[€[‹[•[ [©[¬[¨[ [•[[[”[Ÿ[¤[¦[—[ˆ[{[z[[†[Œ[’[”[‘[„[p[X[C[5[2[:[J[b[x[‹[œ[¤[¦[¦[ª[¯[µ[¹[º[´[¦[›[‘[‘[“[š[ž[ž[š[Ž[ƒ[[y[u[v[v[w[€[[|[t[v[z[y[‚[‹[œ[¯[¾[Ç[Ï[Ù[é[ü\\%\<\A\C\F\M\O\U\c\v\Ž\¢\±\¾\Ò\õ] ] ] ] ] \ÿ\ò\ë\ç\ã\×\É\Ô\Ö\Ò\Ó\Ç\È\Ã\¿\À\Â\À\°\“\š\Ÿ\Š\o\L\7\*\\\[÷[ø[ö[ý\\$\&\\\[û[ð[Û[Ë[Æ[Ó[Ý[å[ç[î[ò[ý\\\#\(\!\\\*\<\S\i\€\Ÿ\³\»\¹\È\×\á\Ö\É\°\¦\£\¬\ª\«\¡\Ÿ\•\\€\o\]\[\_\i\e\]\N\C\.\\\[ò[ì[ä[ð[ç[í[ì[ó[î[ð[å[Ô[Ï[Ä[Ç[¿[¸[ž[|[U[2[ZóZÚZÅZ´Z°Z®Z©Z›ZuZ^ZDZAZ5Z3ZJZJZGZ7Z6Z%Z'ZYôYàYËYÉYÏYàYÖYÚYÚYðYÞYÖY¿YÆYžY¢YŒYYŠYqYyYnYoYuYeY‹YTYnYYdY(YžYlZ$YÏ\«^ë]Þ`ÉfL`ýY?UCTXaÃg·a£ZâWWãWWmWdWzW7W©W„WµW¡WÜWÇX#X?X[XXWþXWðWÔWÛWµWŽWsW¢W–W“WXÄ[\\ú[ß[¡\g[ø\\3[È[m[Z`YèZ¢[r[ï[ÐZVY˜Y‡YeXÈWýW´WôX„XNX–Y$X¾XÅYŠY_YKYqYuYÆYðZZn[[•[ì[ø\\R\[å[Ã[Ä[­[=[ZéZþ[7[t[Õ[ß[ø\%\)\'\E\,\ \\[Ý[é\\#\M\h\ƒ\’\£\²\Ê\Ú\û]]](].]4]7]@]F]F]>]<]I]R]_]l]y]ƒ]Š]‹]š]¨]·]Ä]Ï]Ú]ê]ø^^ ^^,^F^h^^Š^§^Ê^æ__!_;_R_g_v_ˆ_Ÿ_²_¾_É_Í_Ó_Ø_Þ_å_ï_ü```` `%`0`:`B`I`L`M`R`W`d`q`z``€`‡`Ž``±`Ã`×`è`ô`þa aa'a.a0a1a,a,a&aaa a`÷`â`Ñ`¸`ž``^`A`!` _û_ò_æ_Ý_Ò_Ì_Ð_Ú_æ_ú` ``&`0`=`I`T`d`j`k`g`Y`R`p`•`·`çaa=akaŒa‹azalaia]a`œ`_`W`[`o`s`\`$```A`[`d`K`8`_÷_Ù_»_›_t_J_0_!__%_8_M_a_t_y_w_}_Ž_±_Ö_ö````"`&`&`&`,`7`D`K`M`D`6`,`(`%`%`!``_ð_Ð_­__M_^ô^Ô^¸^­^¯^¼^Ë^Û^Ø^Â^™^ˆ^˜^—^]^$]ü]Ó]±]]s]L]/]%]8]h]·]ý^)^T^Š^å_4_^_b_B_^Ö^«^½^Ã^ú^ñ_C_‹_…a_&]ò^ ]ß]˜]â_ _l_ž`J`×`È`æa aXaaÍaòaôa®aea`y`_ö_«_†__u_`_>_?_‰_Ì_Æ_ª_…_I__^ì^›^]Œ]_]6]\ê\Õ\¼\‘\w\p\d\k\~\Å\ò\ø]7]u]]t]?\÷\Æ\¤\\Š\h\1\[è[ô[ [[_[Ê[ñ\\:\J\F\$[ø[Å[™[Ÿ[ [¨[´[©[¶[Ç[Ð[Å\6\p\'[ç\)\?[ö\:\­]™_T^]i^±_`R`-]É[ [‚\[ª[BZ•Z Z[F\Ó\ê\’\k]-^þ_x_þ`ðajabaYa`Ö`W_ý_¸_a^ú^Š^]”]E]M]Œ]Ë]æ^<^¡^¹^ñ_(_K_0^Á^I]º]0\Ë\J\6\t\b\‹\…\S\[Ð[„[c[`[S[N[Y[g[x[|[y[g[[[K[<[-[![[[[[[[[[[[[[%[.[;[@[=[7[2[([[ ZýZ÷ZñZíZö[ [['[D[f[Œ[¤[®[—[|[d[FZþZãZåZäZÔZÏZÜZëZû[['[4[7[([[[ [Zú[[[[*[8[J[Z[c[j[S[G[8[-[7[N[k[~[[ˆ[[m[V[6[ZùZæZÞZßZõ[[A[h[|[‰[}[m[t[k[s[‡[‡[†[‹[{[[[R[[[T[Q[Y[Z[r[[µ[º[¯[‹[w[f[g[d[Z[P[M[<[%[[[[[[[[![)[A[d[[É[ÿ\2\`\\‡\w\O\>\7\0\.\:\H\R\_\s\}\€\\‡\…\~\|\Ž\­\Ñ\ä\ò]]\ú\ð\à\Ö\Ì\Ï\Ë\Î\Û\Ú\Þ\ö\Í\¡\•\°\¿\Ö\Ö\ä\â\ÿ]]]\ø\ò]\õ] \ø]6]]']]+]B`eàeìcYbè_]„^,^I^¦^_^š^Ê_1_]_ª_Ì_ã`6` ac"baÃa`áa8`Å``T`5`0``_á_µ_n_<_._!^Û^x^?^A^T^‡^¡^´^­^¿^ï^û__,__3_T_Œ_©_»_²_¢_n_W_R_{_°_ã```` ``C`r`ÍaKaa„bzcDb·cLd¯cÂb$aÄa`o`}`j`‚`Œ`„`t`T`.`_É_«_¦_±_Ã_í```_õ_Í_¾_¶_Â_á``!`?`P`L`4`_Ý_¼_§_‡_U_-_2_B^ø^í^õ^ñ^û^û^ù^ø___'_'_)_4_2_3_9_5_^í^ä^Ý^Ì^º^›^x^L^)^]º]k];]&] \ö\ï\ü]]]]]]J]‡]©]Â]Í]Ê]Æ]¾]É]â]î]ã]ž]d]D]9]H]R]_]m]q]z]„]‹]ƒ]j]K]G]P]]]q]]¾^ ^9^I^d^^o^L^5^/^^^^ ^]ü]í]å]Ú]»]Ÿ]s];] ] ]]]N]{]¥]é^^^'^$^$^(^(^]Â]]X]H]R]^]b]\]W]X]Z]W]X]Y]^]_]b]l]s]{]]]”]Œ]]ƒ]‡]Ž]š]­]¼]¾]¹]»]Å]Ú]ú^^]Þ]¿]¹]¼]Æ]Ï]£]`]5]\ü\ë\Ý\Ê\¯\—\‚\l\Z\L\E\Z\ƒ\¿\æ\í\Õ\¼\¯\‹\z\s\€\‰\|\I\ \[è[Ç[»[®[‘[d[[[M[_[{[š[Ò[Û[×[Û[æ[ï[ý\(\X\]\u\Œ\”\“\ƒ\`\B\<\>\1\[í[Å[¬[œ[‹[Š[[‹[[o[n[f[M[.[[ZæZËZµZ©Z›Z’ZŠZ‚ZzZvZuZoZjZmZpZpZtZxZ‰Z—Z¤Z§ZžZ–ZšZ£Z¥ZªZ¯Z°Z­Z§ZŸZ˜Z‡ZtZfZ\Z]Z\ZRZBZ4Z-Z"ZZZZZ"ZZZZZZZ"ZAZ]ZpZZ”Z©Z½ZÊZËZµZ¥ZŽZwZSZYèYÏYÏYêZZZIZuZŸZºZÐZð[[1[>[8[ZðZÈZ­Z«ZÈZò[$[A[W[\[_[S[@[ZóZ½ZŒZ\Z1ZZZDZzZ’Z—Z¥Z¹Z¾Z½Z¾Z¾Z¾Z½ZµZ±Z¯Z®Z·ZÇZÝZú[["[&[+[*[.[/[#[[[5[K[+[ZßZÛZë[[[,[-[%[#[?[m[…[x[c[F[)[[*[X[|[Œ[›[¦[¬[­[§[¥[Ÿ[›[™[[‹[}[j[Y[E[2[)[#[.[?[R[_[l[t[|[v[s[n[m[q[x[€[…[ƒ[r[e[_[d[q[v[|[~[z[p[^[C[-[[[ [.[E[^[u[ˆ[—[ [£[ª[µ[¼[Ã[Å[Á[¸[­[¥[Ÿ[ž[£[£[Ÿ[Ÿ[—[‹[[t[n[o[p[t[z[~[z[p[j[q[w[[Š[“[›[¤[­[°[µ[Ä[Û[ñ\\\$\%\-\/\1\2\<\L\k\ˆ\¤\¹\Ï\è]]]]]]] \ù\ð\ê\å\×\Ê\Ï\Í\Æ\À\¾\À\¼\Á\Æ\Î\Ò\Ã\±\À\°\’\w\Y\B\5\-\ \\ \ \\\\'\&\\[ÿ[ó[è[Ö[Ä[Í[å[ð[ò[ó[ö\\\#\5\<\=\.\\\\-\D\a\„\¦\À\Ñ\Ú\ß\ñ\ü\õ\ä\Ä\°\¤\£\Ÿ\š\Ž\ˆ\†\‡\|\t\c\_\a\k\j\l\]\R\;\3\"\#\\\\\\ \ \\\\[ý[÷[ñ[è[Û[Ò[ª[ˆ[S[4[ ZïZÓZÁZ·Z·Z®Z¡Z‚ZyZdZ[Z_ZYZ\ZYZ]ZaZMZ?Z8Z-ZZYðYåYïYöZYÛYÚYÖYõYóYñYäYËYÆY¾Y¨Y±YšY—Y‘Y—YY”Y\YpYY3XíY0Y&YŒYYZ/Z€]š]L^ld^cC[$UT$Uƒ\Ne#e_—Y_WwW§VçW¡WW[W,W«W‚W¥WÇXbXCXXX?X4WçWòWØWëWÒWÞW¹W•W„W¾WûWrW;W>X˜XüXßYÕYà[î\éZDYŒZ¥[»\ZÇYèYªY-Yq\,\…Y6X XpXêXcW+W WAW¹WúXX+X.X€X°XúY>Y#YHYrYÌZ&ZYZÇ[2[Õ\r\Ò\“\#[Ý[Î[ì[à[V[[[(Zø[7[â[í\\>\\ \$[ì\\A\[Ö[ç\ \$\E\c\x\†\•\¢\µ\Á\Ô\å\ï\û]]]] ]]])]1]?]K]Z]g]w]]…]Ž]›]«]¸]É]Ñ]Ù]ç]ù^^^^ ^8^f^^Ž^¤^Ë^è___=_Q_a_m__’_¤_°_¹_Ã_Ë_Ö_á_ñ_þ` `` `%`(`(`2`;`C`H`P`T`T`\`k`y``†`ˆ`’`ž`®`½`Ï`á`ñ`ýa aa$a0a8a;a:a3a-a'aaaa`ø`â`Í`µ`˜`‚`h`U`8`%``` `_û_ö_ñ_ò_ú```*`;`H`U`a`l`r`q`k```X`\`l`„`£`Ðaa.aXawaa~a~a‚aqa'`¸`s`i`r`|`v`t`~`Œ`”`”``}`P`"_þ_à_Å_ª_‡___8_____1_F_`_p_y_t__“_±_Ñ_ë_ø`````$`"`!`)`5`;`:`-`!`````` _û_ä_Ä_ _z_K_^õ^Õ^¾^³^²^¼^Ë^ü^þ^ß^­^¡^¨^¡^Š^T^&]ð]È]Ÿ]€][]D]F]h]ž]è^#^M^j^¦^ê_7_d_[_^Ñ^¢^x^†^¡^î__z_ÐabV_¸^{^‚^^^M_1_ª_t` `e`-`zaaaÄaÛaçaÔa–a9`â`ƒ`_Ð_…_T_^_t_q_`_R_d_–_‘_S_1__^í^º^r^]‰]W])]] ]+]'\Ø\…\|\‰\š\Ã]]W]§]ã]ì^]´]F\ø\¹\}\g\„\U\\[ï\(\[}[•[Ý[ý\ \2\g\‡\h\<\9\ [þ[ä[Ò[Ì[»[Ý[ü\#\X\é]6\Ê\[›[¨[€[ü\ß]T]è]q]¸^é_@_ê`Œ^¼\„\p\J[ž[,ZnZZJ[«\é\[[å[ò]¹`h_ì_p_„_­` `·`Ë`Ä`L_’_G_^ç^×^X]ê]å]Î]Ö]ê^^[^¸^â__b_Š_^^à^X]Ë]/\²\J\9\q\~\\v\#[Å[y[b[^[W[L[N[M[V[a[b[`[Q[@[4["[[[ZúZñZ÷ZüZý[[[[[ [[[%[1[8[?[@[<[)[[ [ZøZîZèZçZòZû[[&[=[^[~[‰[v[n[Z[L[ZîZæZãZÐZÀZ¸Z·ZÊZó[ [[![[ [ZüZùZíZùZþ[[["[5[J[\[p[_[G[2[$[*[;[Q[k[†[ˆ[}[h[O[0[[ZñZåZáZí[ [0[Y[l[o[e[][\[Y[n[ƒ[|[†[‹[Ž[[q[z[d[[[d[[[b[u[‹[–[”[†[o[R[I[?[;[5[.[#[[[[[[[[["[/[?[d[‡[«[Þ\\H\m\t\a\B\<\B\K\Z\i\q\v\x\}\\€\{\\{\x\s\|\\À\Ý\õ]]]]\ä\Õ\Î\ã\î\÷\ï\è\ï\ü\Þ\¸\š\¬\¼\Ö\Ü\ï\ó]]]] ] \þ]\ü]\ø]] ]\ø]_\Ü]Òa?d²c a‡`^Õ^å^i^€^a^s^Ø_[_}_™_Ú_Ø```qb>aÿ`ï`ƒ`¸`¿`o`W`9`!_÷_Ó_Ð_´_‡_>___)^é^Ž^G^-^:^X^p^„^^’^¨^Î^á^õ^û__9_e_…_ _£_š_v_a_W_ƒ_´_ä`` `` `>`¤`îaXba|a…a÷bZc_dmedRb0aD`«`€`Œ`d`‚`{`_`F`1`_ö_Á_¢_›_¡_®_Ó_ñ```_ç_Ï_Á_Ñ_è``@`^`i`m`S`*_ü_Ê_©_‘_n_5_B_r_^ê^ö^å^ð^ù__ __,_>_P_Z_Y_O_L_P_Z_E___^õ^ã^¶^‚^D^]È]]Q]5] ]] ] ]]!]]](]:]P]x]«]Ô]ø^ ^^+^9^K^<^(^ ]â]Ÿ]~]i]c]e]j]{]€]Š]•]‹]`]*]]4]O]j]‚]¥]è^^^2^r^€^c^7^^^ ^]þ]ð]ä]Û]Ê]§]ƒ]o]3]\ü] ] ]]L]„]¾]ß]ð]ö^^^&^]ÿ]Ò]­]‚]c]T]V]X]U]H]J]P]_]_]_]f]b]b]j]p]]•]‹]‘]‘]]|]y]y]x]~]‹]Ÿ]¦]§]¬]¶]Î]ô^/^-]ï]Á]²]¶]Ë]Þ]º]n]9]\õ\ã\Õ\Ã\²\\\„\t\^\T\X\o\›\¾\Ï\¶\³\Å\¹\¨\œ\¡\•\\B[ó[×[¾[¨[¥[™[†[h[d[\[h[v[s[¨[·[²[¹[Í[â[û\#\I\R\i\‡\˜\“\\g\N\T\b\X\7\[è[Æ[½[µ[¯[§[–[x[a[V[M[:[.["[ZëZÖZÃZµZ©Z¢Z™Z’ZŒZˆZ†Z€Z}Z|ZyZzZzZƒZ•ZšZ Z£ZžZ™ZœZ¢Z¥Z¯Z³Z³Z­Z¥ZZZZjZVZNZOZVZTZDZ8Z/Z'ZZZZZ(Z!Z"Z!ZZ%Z)Z0ZGZfZƒZ•Z­ZÉZÝZâZàZÉZµZ˜ZzZTZYõYèYãYñZZZ@ZXZtZ“ZºZã[[ [$[ZÿZãZÆZ¹ZÁZä[[M[r[Œ[–[ž[[›[[^[%ZìZ¶Z‚ZNZ=Z[Z’Z¦Z¯ZºZÌZØZÕZÒZÑZÎZÊZ½Z¸Z¶ZÂZÕZì[[[$[%[![[ ['[,[,[%[([C[\[=[ [[[[%[.[3[2[#[[=[j[{[o[^[:[[[$[J[h[o[y[~[[~[|[x[l[h[e[\[O[9[)[[ZìZãZãZñ[ [[2[?[E[Q[R[T[R[W[][`[e[i[a[W[M[M[X[e[l[m[e[\[M[4[[ [[ [[8[P[j[‚[‘[[©[¯[º[Æ[Ñ[Õ[Ò[Í[Â[¶[®[­[ª[¬[©[¤[ž[[‚[u[n[m[j[m[t[z[z[u[n[s[|[ˆ[•[—[›[˜[“[[›[§[º[Õ[ç[ü\ \\\\\\\,\@\_\\£\¹\Ò\ê]]]]]]] ]\ô\ð\ó\é\Ø\Æ\»\·\µ\·\¹\¿\Ç\Ð\Ú\Ý\Ø\É\Æ\­\™\ƒ\i\N\C\D\?\2\)\-\0\'\"\%\\ [ý[ó[ë[á[Ñ[Ã[Û[õ[ÿ\\\ \\*\>\M\Q\K\3\\\\(\?\O\t\œ\½\É\à\ð] ]]\ý\Û\¿\±\¥\ž\’\ˆ\†\‚\†\„\y\k\k\k\w\s\w\r\o\Z\M\;\?\>\A\<\>\3\5\6\3\&\\\\\[ù[ð[â[Á[š[a[8[ ZöZØZÒZÂZ»Z§ZšZ…ZZxZ‡Z{ZZƒZwZ|ZkZjZXZLZ4Z,ZZZZZZ+ZYèYîYüZZYóYôYæYÚYÜYÕY¬YéY¦YØY”Y¢YQYUYYXÚY XôY[YhZH[¥_÷[ß]Øf“_CZÏT¿UW¤^\`]û[WÊW‘WmWAW°W^b^^Ô^Ö_a `›^Û^‹^|^{^^p_M`7`/`¼`ã`Àa$aoa·a±aµaÏa½aƒ`ü`Œ`Z`_×_¡_B__>_Y_`_A__=_O__ ^ü^Ú^¸^‚^E]å]‡]W]"\ÿ]]5]\Ý\£\\¥\Ä]]|]Ì^ ^&^ ^]Ï]‘]Z\ÿ\¨\n\l\M\\\\7\/[ú[÷[ä[Ñ[Ð\\s\¬\Ž\f\Š\£\´\™\?\[å[ð\$\Y\¤]]e\¶[Ð[x[ã\ \C\Þ]!]q]›]î^L^©^ö_·^Ù]C^]H[lZáZ’Z(Z[j\{[ú[¹\:]÷_œ_2__ _ _H_ï`7`U`_P^ý^Þ^¥^£^A^^R^;^^^"^™_ _c_w_x_E^ç^‘^<]Ã]#\¦\^\7\U\f\h\>[Û[†[g[b[Y[S[W[][\[_[a[b[R[C[,[[[[ZûZõZòZóZóZùZúZôZø[[ [[[[![-[3[@[G[([[ZøZñZíZäZãZçZîZ÷[ [[0[F[U[G[M[I[;[+[[ZÿZÛZËZ¸Z¨ZºZÜZøZÿ[[ ZüZ÷ZíZîZåZîZëZìZñ[["[7[@[N[E[0[[[[-[=[\[x[[u[_[?[ [ZðZáZ×ZØZÛZð[ [,[D[J[B[>[A[J[`[~[‚[‹[‚[u[t[x[n[[[h[j[U[R[Q[U[V[Y[h[h[P[:[,['[ [[ [[[[ [ [[[[["[/[P[q[’[À[õ\*\K\V\P\8\1\F\_\r\\Œ\—\–\\ƒ\\„\‡\\}\r\u\|\²\è]]%])]"]]\ê\Þ\ô]]\ö\ì\ë\ü]\ð\»\º\Ã\Ô\Ü\ê\÷] ] ]#] ]]]]]\ÿ]]]7\ÿ]9]\ü]ë`!aã`>`­baÂ_j^„^Œ^¢^è_7_ƒ_œ_Ï_æ_ß``8a`bWa6`^`ˆ`t`S`;`_õ_À_—__m_J__ _ _I_^Å^f^0^-^9^O^a^l^r^}^”^«^¶^È^æ_ _:_R_s__p_a___f__©_Õ````E` `æaXaîbeb@b(bb”d‡e?dbcäbÉaÝ`è`ù`Þ`n`g`^`N`-`_ï_È_¯_—_ˆ_‡_—_³_Ì_ë_ú_û_ê_Î_Â_Ö_÷`)`R`r`}`~`p`\`+_ý_Þ_¼_‰_H_$_^ù^ø^ù^ö^ó^ù_ ___+_?_T_c_o_d_[_a_v_l_@_^ï^Ê^»^²^‘^T^]Ô]›]g]K]3],]4]4]*]]]"](]/]I]t]³]Û]ñ^^^^$^9^6^>^A^0]ò]Á]ˆ]l]k]l]{]Œ]š]¥]¡]~]`]X]`]p]~]š]·]×]ð^^^Y^u^k^O^]ñ]à]Ö]Ý]å]Ñ]µ]“]P]]]\÷\÷\ü]]-]n]Ÿ]Ì]Þ]ä]é]ö^^]ý]æ]½] ]z]h]X]R]E]<]9]V]j]u]t]e]a]Z][]j]w]~]]…]Š]Š]†]]y]q]f]]]h]]’]˜]Ÿ]®]Å]á^^]î]É]±]²]Í]á]Í]†]@]\÷\á\Ñ\À\¯\ž\—\”\Ž\\q\d\p\\—\ª\•\›\¿\Ü\Õ\Á\·\¥\‹\.[×[¼[¾[Ê[Æ[«[Ž[y[w[x[ƒ[§[¡[¢[[[s[|[¦[Ò[ú\\9\N\u\š\˜\}\`\O\[\t\r\U\.[ÿ[Ü[Ø[Õ[Í[½[¥[ˆ[f[L[J[>[9[&[[ZîZÛZÌZ¿Z·Z²Z­Z£ZžZšZ•ZZŒZ†Z…Z„Z‰Z–Z™Z•ZšZžZ¢Z¥Z«Z¶ZÀZÃZ¿Z²Z©ZZ‹ZzZ^ZJZBZEZNZNZGZZ0ZZ"ZZ!Z'Z,Z#ZZZZ Z/ZZYïZ YíZYìYÿYÓZY¯Y½YhYOXðXüXÃXøXöYxYˆZi\g`v[ª]¶h`k]tU—TX¸_.Z~Y´[¤XƒWIWÆWaWƒW–W£WÏWñWÈWöWåXX=XUXWïW×WéWÕWâWÔWÀW›WsWnW¼W¾WqW8WW'WXWÎWýZÏYWŸYj[^Zý[Ñ\;ZƒY_Y”YXKXjXIWßW W9WW W-W`1`&` ``` `"`$`(`/`8`F`V`h`t`€`ˆ`Ž``Š`~`t`f`Y`T`Z`r`—`Å`õaa=aXagauazaxaka\a[adaSa$`ø`Þ`Ê`¶``‡`s`d`O`'_þ_Ö_±_Š___3_ ^þ^ú__"_=_X_j_q_t_{_Š_ _¼_Ø_ï_ï_ï_õ`` ````` ` ` `````` ` _ø_Þ_Ã_¤_Œ_k_F_#_^ã^Ì^Â^Ä^Õ^÷_6_/_^Ð^Š^C^f^s^]Ý]Á]²]]z]n]r]x]¤]Ö^^]ø]ç^+^x^Í__O_G^ó^“^q^(^*^9^ˆ^S^h`_¯_U_6^È^¼^v^q__Ï`c`ûaa`a¤a’aÊa¸a¤a²a‰aE`×``W`%_ó_É_f^ó^ì__^ñ^à___^ø^Ò^°^†^O^ ]­]z]_];]\÷\ä\º\¼\½\¯\Í\ð]]H]d]“]Ë]é^ ]î]Ô]”]\—\H\4\*\[ë\ \f\n\Z\![Ú[ª[™[Ô\^\ñ\ò\—\}\£\ä\µ\s\]\\\A\m\Ä]9]£\o[ž[û\Ñ]/\ð\ø]3]‡]Ô^<^Œ^®^˜_^Þ^,_8]ç[ŽZ©ZIZZZæ[q\>\¦\Š]$]ã^N^©^ú__C_‚_Š_¦_¼_ ^­^^@^]ù^ ^c^n^$^^a^ë_Z_î_î_X^Ù^e^ ]Ù]o\õ\·\r\3\A\U\:[ñ[ž[~[x[n[[[P[M[Q[U[][Z[X[I[1[[ZýZý[[Zþ[[[[[ [[[[[[[[[[ [4[<[$[ ZôZîZæZÚZÓZÕZÖZàZîZþ[[[[)[,[2[4[3[+[[ [ZÙZÒZ¶ZžZ®ZÌZìZóZòZúZòZëZáZåZäZëZäZÖZÖZè[[[$[&[[[[[[[([H[^[d[Z[H[+[ZíZÕZ¶Z­ZºZÂZÑZç[[["[![%[=[S[Y[n[~[‰[Œ[[[‹[l[Q[Q[F[3[.[0['[["[F[[[V[;[![ [[[ZüZû[[[ [[[[[2[?[R[l[Œ[´[ç\\0\<\B\7\<\S\d\q\ƒ\Ž\\ \\t\r\t\x\w\z\r\u\r\\×]]] ]]] \û\ô]]]]\ù\ò]] ] \è\Þ\Ö\Ô\Ï\â\ö] ]]] ]]%]] ]\ÿ]] ]]/]]B]U\é]‹_%^_™bc8`ö_`^Ý^Ð_^í_5_•_Ç_ú_ß_û``SaDa%`T`0``_þ_Î_§_•__C_ ^ó^ñ__E_o_5^è^‰^F^(^.^0^;^I^P^U^^^}^ƒ^‘^°^Ø__-_P_T_F_D_S_o_š_À_È_á``d`Ì`øaaZa•aza¶bbÏd)e+e@c÷c bLaªa)aga8`‘`a`W`9`_î_Ë_±_ž__†_…_‡_œ_¹_Ð_Þ_ä_Ö_Ë_Ì_î``E```w`‡`Ž`}`i`H`#_ú_Ü__]_H__ ___ ______'_W_n_z__{_m_p_o_h_R_(_^Ó^´^¨^—^b^"]ã]¨]z]S]6](]]]]]/]=]3]A]j]Ž]Á]õ^^^^^^^9^P^S^_^V^3]í]¡]~]~]x]€]“]«]Â]Ä]³]]”]˜]£]°]À]ã]ü^^ ^F^w^x^J^]ö]ß]Ò]Ø]Ì]·]]b]$\ï\â\×\Ë\É\à]]C]~]«]Ë]ã]é]ë]ÿ^^]ü]Í]©]]“]—]|]c]>]4]>][]~]€]f]S]O]P][]e]~]‚]ƒ]€]}]{]{]|]r]j]\]K]Q]c]{]]š]®]À]Ô]í]ú]è]É]·]µ]Î]ä]ß]­]S]]\í\Õ\À\«\ž\œ\¡\®\´\´\¡\™\•\˜\–\‡\ˆ\£\Ô\â\Ð\¼\Ÿ\m\ [Ð[É[Ö[î[é[Ç[Ÿ[’[Ž[š[ž[¡[¨[°[‘[z[^[P[k[•[Æ[ì\\-\e\•\•\~\`\]\k\…\‚\f\@\[û[ü[ñ[ã[Ð[¸[¤[†[_[V[O[D[0[&[[ZùZíZÜZÑZËZÅZ½Z¹ZµZ°Z¦Z¡Z—Z’Z“Z“Z–Z’ZŽZZ¦Z®Z´ZÃZÓZ×ZÖZÎZÁZ³ZŸZZxZaZNZ?Z>ZDZJZJZ@Z:Z7Z6Z5Z0Z%Z Z$ZZ&Z0Z/Z[ZõZòZñZø[[ [[[[Z÷ZíZåZæZñ[[[*[-[*[[[ [ [[[0[5[4[8[?[A[G[W[U[J[E[J[F[F[S[I[.[6[D[=[4[5[$[Zù[ [ [4[?[E[E[M[?[)[%['[[[ZóZÙZÃZ¶Z£Z—Z˜Z¢Z¸ZÒZìZø[[ [[[&[*[2[9[F[J[K[D[C[B[L[Q[V[O[C[6[([[[[[[,[D[^[u[Œ[™[¨[µ[Á[Ð[ß[í[ñ[ï[ê[à[Ó[Å[º[¸[¸[³[©[[[ˆ[~[{[w[x[x[y[x[x[u[x[{[‚[Š[“[š[£[ž[“[‰[…[[›[±[É[å[ø[ý[ù[ì[æ[é[ð\\\C\o\\¬\Í\à\î\ÿ\ÿ]\þ]]]]\þ\ù\ð\Û\Ä\²\¨\¤\¬\³\Â\Æ\Ë\Ë\Ì\É\Ã\½\¹\©\\‘\†\y\x\x\s\k\a\Q\G\7\$\\[ò[å[Ù[Ø[Ô[Þ[ç[û\ \\\(\=\T\^\a\[\X\U\H\'\"\0\C\G\N\p\ˆ\¡\°\Ç\ä\ú]]]\þ\ó\ç\Ó\Ç\»\·\®\®\°\±\¬\£\\¢\\™\—\™\‘\‡\|\r\u\†\\–\›\›\•\Š\y\b\L\A\5\-\&\!\\\[Ú[®[q[T[2[ ZþZäZ½Z­ZªZªZªZÀZÁZÈZ¸Z¼Z®Z¤Z¤ZšZ‰ZyZZZNZ8Z4Z2Z>Z,ZDZ@ZNZ5ZGZ,Z5ZZ5ZZ2ZZ-Z ZZYöYÔY½YWYPXôYX¸XõXÃYTY­[]ì_¡]W`CgÉdP]ïTüT÷ZÚ^mXqXõa^Z&W@XWWüWùXXWòXX XXXXXWýWãWÉW¨WœW–WÃW®W­WÝWèWÑW…W*W"W5VðVñVëVFV©V¨WX9YY‚[æ]…[éZoZ$YýYYXX_^Ý^‰^7^P^<]ç]Å]µ]¯]’]‡]€]„]‚]©]Ö]û]û]Ò]Ó^^c^À__{_l_ ^±^f^]ù^^/^&^š_Ú_g_^¯^‡^m^J^µ_G_ð`¶`­`‚aa=aCa£aªaŸaœaVa`×`¯`]`(`_Ç_j^â^µ^½^Â^£^£^ß^å^ã^Ö^º^•^`^]Ã]}]w]n]Y])\ó\Ù\Á\¸\¾\É\å]]] ]6]f]¥]Ó^ ^]î]†\í\k\!\[ô[ù[ó\/\A\.\0\ [Û[´[–[·\6\Ç\ó\Ï\¼\­\Ã\²\®\ˆ\W\‹\Ý]]$]Ë^>\m[~\\ú]]£]‚]k]¯^^U^³^Þ^¨^Š^è_^+\h[[=Z—ZYZ,ZKZØ]Å^\¯\¡\Ò]ª^D^¢^Ò^ñ___:_V^Ò^z^4]ô]ó]Í]ó^s^¡^2^^s^ñ_D_–_°_h^Ð^!]­]}]'\Ý\³\j\P\T\#[Õ[›[[’[[‡[h[W[M[U[X[_[c[X[I[/[ZþZïZöZþ[ [[![ [#[ [[[ [[[[[[[[[ [[ZöZáZØZÈZ¹Z´Z³Z¯Z·ZÍZäZû[[[[[#[[[ [[ ZþZêZíZÌZ«Z Z¶ZÖZèZéZñZ÷ZñZòZöZù[[ZàZÑZÙZçZþ[[ [Zý[[ [[[[1[A[H[C[8[![ ZìZÅZ“ZŒZ”Z¦Z­Z­ZÑZý[[[![<[_[w[‚[Ž[¢[­[¸[°[›[}[\[J[>[.[#[[ZýZù[#[B[J[9[#[[[ZþZûZûZùZý[Zþ[[[[ [+[<[P[m[¡[Ý\\\\(\-\A\X\g\k\t\y\‡\\…\r\y\w\{\y\{\r\o\p\œ\Í\õ]]]]"]] \ü]] ] ]]\ó\û]]]\û\ì\ç\Ø\ä\ë\ù\ÿ] ] ]]!]#]]!]]]h]8]:]B] ],]]]ˆ]Ÿ_aPbŒa£`¯_^ã^ý^ó^û_f_¸_ö_ï_â_î_í`a1`Y_î_õ`'`7_´_m_c_l_&^Ò^Ø^ø_(_S_\_^ê^—^I^"^^^^!^)^9^G^W^f^u^‡^´^â__'_0_;_H_S_q_—_¹_Ì``5`Œ`×aaqa˜a+`üa3`ób¢ed4cÐc!b\aäa•a\a`Õ`Š`w`_``_Ü_Î_´_“_‰_z_}_ƒ_˜_¬_¸_¼_Å_Ã_Ç_á``F`b`x`„`†`Š`†`s`O`+`_à_’_r_s_1___-_6_(___!_$_>_d_u_ˆ_„_„_Z_6_0_=_H_8_(^ø^Ò^Ã^´^„^A^]Ò]¨]z]X]<]]]&]5]B]O]O]]]i]Œ]®]Ä]ê^^ ]è]Ê]Õ]ê^^6^S^Z^C^]ß]ž]†]ƒ]‹]›]´]¿]Ë]Ð]Ò]Ë]»]½]Æ]è^^C^T^_^e^c^\^?^^]ø]Ø]½]¡]‚]Z]8]\õ\á\Í\»\´\Ï] ]?]x]¡]Î^^]ÿ]ù]ó]å]Ö]¯]£]²]º]¿]•]\]2]+]5]O]j]e]E];]D]?]K]_]r]y]z]x]m]j]p]q]g]`]R]@];]N]j]ˆ]›]¯]¾]Ê]Õ]Ù]×]Ä]·]²]Á]Ø]ë]Ê]b]*]\û\ã\È\²\¢\œ\¨\¼\Õ]]\ë\Ë\®\’\€\w\Š\¹\Õ\â\Ô\¡\Y\[Ô[Õ[è\\[à[¶[­[«[º[¿[¹[Ë[á[Î[¶[™[†[}[[«[×\\3\b\|\†\€\i\k\\—\‘\\d\A\&\!\\[ô[à[Ì[¬[€[n[c[Q[C[<[+["[[ZöZîZãZáZØZ×ZÕZÐZÃZ¼Z±Z©Z©Z§ZŸZ–Z™Z¨Z¶ZÄZÏZàZëZîZìZäZÖZÄZ²ZœZ‚ZlZUZFZ:Z9ZFZJZEZDZBZDZAZ?Z6Z-ZYöZZ,Z;Z@ZNZlZ”Z¾ZÞZþ[[[ZüZêZËZ¨ZZ‚ZjZVZKZHZHZLZDZHZ[ZsZšZ¾ZâZù[[ [[[[[[&[J[w[¨[Ð[ú\\1\>\H\T\Q\:\[ó[Õ[²[‹[^[C[5[4[5[8[8[6[,[#[[ [[[[&[1[1[,[$[[ [[[[[#[&[+[:[H[W[b[f[Z[K[D[V[_[\[_[U[K[N[T[O[=[6[ [ [[[![1[6[?[F[K[F[;[.[$[[ZûZæZÏZ¹Z Z•ZZZ Z¸ZÌZáZìZñZõ[[[[![([0[:[D[M[N[Q[P[Q[N[L[A[6[%[[ [ [[[2[H[][q[†[™[§[¶[¾[É[Ù[æ[ñ[ö[ø[ï[á[Ø[Í[Á[¼[¹[´[¦[™[‹[…[ƒ[~[~[[}[{[u[u[v[|[[ƒ[„[Ž[™[£[£[›[•[˜[–[¢[·[Ì[å[ó[õ[è[Ü[Ù[Þ[í\\*\V\ƒ\ª\Ã\Ø\ç\ð\ò\ò\ð\ð\ø\ü]]]\ô\ç\Ö\É\³\©\©\°\¸\Æ\Æ\È\Á\¼\´\´\°\¬\¦\¡\˜\\Ž\Œ\ˆ\„\{\n\\\O\9\&\\[ó[æ[Ø[Ø[Û[ì[ø\ \\ \.\E\T\^\_\^\U\R\W\W\I\E\O\[\^\j\~\\ \ª\½\Û\ì\ô\ú]]]\÷\è\Ü\Ï\Ð\Î\Ñ\Ï\Ð\Ç\Ã\·\¶\ª\©\ \Ÿ\“\’\‰\\\œ\¥\·\Ã\É\À\´\ž\ˆ\r\`\W\I\E\:\-\\[è[É[”[|[U[B[ ZòZÂZÌZÁZÓZÉZÞZÜZÞZÅZÄZ²ZÀZ²Z¯Z¬Z“Z‚ZhZUZTZRZ[ZIZcZBZgZCZUZ1ZQZ6ZJZW)VëVÔV¨V¿V-UÿVRVÍVÔVúXBZë\{\[BZYXÙX¸XŸXBX+WÕWdW1W0W1WMWkWúXkXªXµXãY‰Y"Y YXðYjY©Z Z^Z…[[€[ª\ƒ\Ò\X\\\W\$[Ä[aZ¤Z(ZZ Zô[¤[r[<[Zø[o\ \[â[Ó[Ã[à[ÿ\ \5\F\O\\\l\w\†\Ž\—\˜\¡\ \®\¹\Ì\Ø\ï\ü]]%]4]@]K]R]_]k]x]‚]˜] ]¥]«]º]¿]Ä]Ä]Ä]Ë]Û]õ^^.^K^f^‚^ ^Á^â^û__&_3_B_N___l_†_œ_±_Ã_×_ä_÷```$`/`6`@`D`G`L`Q`S`X`]`d`n``“`£`²`º`Ç`Ð`Ü`ç`øaaaa*a2a2a,a%aaa`ø`ï`à`Ó`Á`´`£``{`i`V`F`7`'```````#`)`0`9`I`[`m`}`‹``–`–`˜``ˆ`z`i`U`I`@`J`Y`y``À`ãaa"a>aWama‚a”a‘a|aaaFa#`þ`Ø`¸`™`z`Q`2`_ö_Ò_¯_ˆ_h_?_^þ^ï^õ_ _,_M_f_z_„_‘_™_ª_¿_×_æ_ñ_ø`` ```#`+`7`=`:`4`-`)`&`#`"```_ú_ß_À_¢_‹_s_^_G_3_!_"__$_;_Y_a_B_^ì^½^‚^b^)]ð]í]×]Á]§] ]ž]¤]¨]¹]Í]Ý]Ð]Å]â^^P^£__G_^å^›^@]ñ]à]ì^^^c^ò^À^S]õ^*^^F^Õ_V_Œ_Ú_Á_Ó`i`­aahaza‹a{a9a`ò`Á`[`_ü_Ñ_h^Ó^®^š^“^ˆ^‚^Ç^Õ^Ñ^Â^¢^r^<]í]Ÿ]ˆ]†]p]Y]*\ü\á\Å\®\¼\Ð\ã\ú]]]G]g]”]²]Ó]â]Á]n\ï\“\a\'[ó[í[þ\\[õ[ð[ò[æ[É[¥[°\\V\œ\µ\Ý\ê\ú\Ü\½\Š\}\ä]“^]þ^ ^Ð\Ó[±\\Í]P]Ô]ø]À]ñ^D^^ü_!^º^ ^l_[^Ù][®[š[ ZfZÌ[[„^]ä\¼\\•^:^´^ž^»^Í^Û^Ð^ä^ä^°^•^]Ò^]Ã]Ì^H^]]ö]Ç^#^~^»^Ä__Z^Ë]Ø]`]:] \Þ\¨\{\h\ [”[m[‚[—[¤[ž[–[o[V[D[E[L[S[V[Q[?[)[ZíZäZïZþ[[,[=[@[:[5[5[%[[ [ [ [[[[ ZüZîZùZðZÝZÔZÂZ±Z¬Z©Z¨Z—ZŒZ©ZÇZæZû[[ [[[ [[[ [[[Z÷ZÎZ±ZZ¯ZÊZæZñZõZóZñ[[ [[[[ZîZÝZØZæZóZõZðZéZìZúZÿ[[[[["[[[ZþZßZ½Z˜Z…ZZ”ZŒZ}Z—ZÊZî[[[>[j[ˆ[’[œ[´[Ä[Ç[¾[¦[ˆ[b[[[L[)[[ [ [ Zô[[%[9[0[%[[Zÿ[[[[[[ZÿZý[[[%[7[I[T[h[•[È[î\ \\\,\C\Z\h\h\w\\‰\‹\†\n\n\p\u\n\m\m\l\n\\¯\Û\î\ù]] ]\ô\ä\ë\ü]]"]\ÿ\ð\ñ]]]\ö\é\Ú\å\î\ó\ù\ÿ] ]]]],]]']]J]t]a]V]5]],]2]I]g^…ac#bQbPaI_‚^Ê^Ý^à_2_‡_¶_È_½_Ú_Ô`+`´`G```m`É_ß_c_6_2_^Û^Þ__E_W_8^÷^À^x^?^$^ ^^]ý^ ^^9^O^g^y^^ž^Ò^û__-_>_U_V_o_‘_±_ý`G`u`çaa aa]a,a aa8cgHdÌcác*b-aâbaÁ`À`•`Ó`Ò`` `_ï_ä_Á_•_ƒ_€_„__‘_™_£_ª_·_Æ_â``D`e`i`p`…``‰`x`g`I`(`_Ö_Ž_i_O____>_a_`_`_V_]_R_i_i_¹`4_›_u_W___ _2_I_?__^÷^ã^³^n^+]ý]ß]¼]]j]H]6].]?]Q]X][]i]f]t]…]—]²]Ê]Õ]Ù]Ê]Ì]ç^^@^Y^X^;^]ø]Ä]]‰]]˜]²]Ã]Ú]ê]è]á]Ú]Ú]ë^"^U^w^y^}^s^=^^]ü^^]ö]×]´]†]\]=]]\ä\Ð\Ç\Á\×]]6]p]›]Î^]ÿ]ä]Ú]ß]Î]¯]’]]·]´]¬]}]=](]"]']P]d]V]B]:]<]8];]W]g]g]g]g]a]`]`]_]Z]W]I];]2]E]^]]ž]´]Â]Å]Ç]Ã]¾]º]¯]¤]²]Æ]á]Õ]v]7]] \ð\Ó\¾\®\¨\±\»\â]3]I],]\ä\²\‚\m\z\£\½\â\Þ\©\]\[á[á[ò\)\\[å[Å[Æ[Û[ë\\\[ù[Þ[Å[­[™[‹[ [Ë[ö\4\a\}\Œ\\v\~\\ª\®\Ÿ\‹\q\Q\G\9\+\\[ø[Ø[°[“[z[i[a[Q[B[4[%[[[ZúZùZóZúZõZëZÚZ×ZÔZÅZ½Z»Z±ZªZ´ZÄZÒZÝZèZòZøZþZúZòZçZÚZÅZ®Z—Z~ZbZQZ?Z>ZHZNZLZLZKZOZLZLZHZ?Z0Z YôZZBZPZ`Z{Z¨ZÎZï[ [[[[ZûZÜZÇZ¸ZšZŠZ‰Z{ZtZkZ`Z]ZbZnZZ´ZÓZó[[[[[[![&[1[E[f[Ž[¹[â\ \0\N\_\l\{\\s\\\?\!\[á[¸[˜[‚[|[{[u[m[e[X[I[6[*[[&[-[9[;[5[#[[[[[[[$[$[([&[?[Y[m[l[b[W[K[?[I[[[][Z[Z[[[_[][W[B[0[#[%['[0[4[9[;[A[E[J[M[F[9[*[ [ZÿZëZÍZ¶Z¢Z˜Z‘Z–Z¤Z½ZÏZÜZáZßZåZÿ[[[)[3[;[C[K[T[\[][W[T[N[F[:[.["[[[[#[9[O[f[w[Š[›[¦[®[µ[½[Ê[×[æ[ð[õ[ò[é[ß[Ø[Ô[Ê[À[º[´[¦[™[‰[ƒ[„[„[ˆ[‡[[|[v[z[|[„[…[‚[…[[š[©[®[ª[£[¡[¡[¬[·[Í[ã[ë[ä[Ö[Ò[×[ß[ö\\B\i\Ž\®\Ç\Ø\ä\ì\è\è\ê\í\ó\ú\ý]]\ø\í\á\Ö\Ã\½\º\Á\Å\Ê\Ã\À\¶\®\¨\«\§\¨\¡\ž\–\“\”\’\Ž\\†\z\g\V\@\/\\[þ[ö[í[í[î[û\ \\*\;\L\\\_\`\]\]\X\W\`\h\i\g\j\k\h\v\…\“\¦\¹\Í\å\î\ù\ü] ]]]]\÷\ñ\ð\í\ó\î\è\Õ\Ð\Ä\Á\­\¦\ \ž\’\—\˜\¢\Ÿ\¨\¸\Ò\â\ì\æ\Û\Å\­\™\ˆ\„\t\a\H\7\[þ[Ü[Â[[‹[q[^[.[ ZÞZóZáZ÷Zì[ZîZèZÊZÆZ¹ZÈZ¾ZÒZºZ¶ZšZ‰ZvZrZ\ZsZeZrZeZsZMZ^ZJZXZPZaZjZoZfZ]Z]ZFZ'Z+YÖY¿Y|Y=Y)YXþYYFY³Z`]úaj^af'_ZÑVéX}^ûZ»Y©X0VcX5Y×X0WKXWöXMX,XX:X%XbX`E`C`=`9`2`3`.`,`!`` _ú_æ_Ñ_±__†_z_g_[_H_J_K_R_a_p_a_;_^õ^Î^©^‚^Y^.^]ù]Ü]Ê]¿]¸]Á]Ï]Ñ]Î]Å]¢]«]Õ^^Y^•^Ü^ã^Ã^°^}^*]Ï]¬]Ã]×^^ ^D^c^]Ë]Ê]É^C^†^ç^ë^þ_4_”``S`ÔaEaGa5a`þ`Ý`Ô`Ã`‡`$_Á_¤_l^ñ^Ú^Ç^¼^¨^t^ ^¿^Á^«^ˆ^Z^]½]œ]£]‡]_]G]']\Ø\®\¨\Ã\Ñ\è\ù] ].]\]…]š]®]à^]ß]]\Ä\ž\W[ú[·[Í[÷\\%[õ[à[ê[Ú[·[¦[é\;\}\£\à\ñ\ú\ù\ë\£\m\z\ÿ^*^Â_Y`0^h\c[ö\Š]<]Ì^^/^]^^É^æ^ë^æ^¹^Î_D`6_Ù\g[¤[Z[j[â\€^]§\ú\ð]à` _'^H^Y^u^^…^x^\^^^z]ì]–]À]]„]±]”]J])]°^^.^^\^™^]S]]\ù\Ù\´\ƒ\"[š[Y[b[€[™[¨[[•[v[\[L[I[L[\[Y[X[B[,[ZéZàZë[[$[>[I[P[Q[E[>[1[#[[Zþ[[[[ ZþZíZåZÛZÐZÂZ±Z«ZºZÇZËZÄZµZºZÁZÈZßZêZñZò[[ZôZìZñZõZïZéZàZÊZ´Z¡Z¬ZÄZàZö[[ [[[[[[ [ [ZùZãZÕZÙZÚZÔZÑZÕZÞZâZãZâZêZöZÿ[[ZøZæZÀZ§Z–ZŒZ†Z…ZdZXZlZ—Z»ZÝ[ [?[n[š[³[¼[Å[Ú[Ú[Ñ[³[”[e[U[E[#[ [[ [[[[[1['[ [[ Zÿ[[ [ [[[[Zÿ[[ [[+[<[L[a[Š[¿[å\\ \\#\6\M\c\n\}\ƒ\‹\‡\‰\w\v\r\o\m\n\e\d\f\t\‹\¹\Ò\Ý\ì\ò\ñ\é\Ø\Ü\ï]]] \ú\ê\ì\û\þ\ï\è\ß\Þ\ä\ï\ó\ü]]] ]]]1]2]0]<],]Q]m]6]+]-]8]=]S]T]Ç_µb¡bœbrbça_9^à^Ú_ _U_ƒ_ª_²_Í_Ì_À_æ_þ`_ö``W_µ_o_=_"_____E_8_ ^Í^Ž^b^9^^]ø]ë]å]ñ^ ^0^V^y^’^ª^¸^ä___7_M_X___ƒ_¦_Â`%`ƒ`óaÆa `ö`¨a~bVa‡aaQc\ftdâcøcab b2b0aé`ó`g`g`j`Z`-_ü_ï_Ý_Ã_ _ƒ_}__„_‰_Œ__¢_Ä_à_ø`%`N`c`^`m`‚`‚`ˆ`y`U`:`"_ý_Ò_Œ_j_[_,_ _*_W_€__Ÿ_š_¦_š_¾_´`ga*_Ì_v_}_,___E_c_Q_:_)_/_&^é^¡^m^T^?^!]à]¤]r]I]*]2]8]O]Z]W]V]`]i]i]k]o]o]|]Ž]­]Ù^^^]õ]ä]á]ß]Í]¹]¥]ª]¯]¹]Ï]é^^^^^^^9^e^^t^h^J^^^^^^/^-^]â]¢]r]F]\ü\è\Ñ\·\­\Ë\û]]C]c]]Ï]â]Ø]Å]­]œ]‘]]‚]“]–]][]1]+]+]F]k]o]\]D];],]+]7]U]e]\]Y]\]U]U]S]V]Z]V]?]0],]9]Y]]¤]¼]Ê]Ì]À]¸]­]¥] ]œ]¢]¶]Ï]Ô]]:] ]\ù\ä\Ì\½\´\¶\º\Ë]]D]G]$\ô\¦\c\X\c\Œ\¤\Î\â\Ä\w\[î[ä\\1\$\\ [ã[Û[ï\\3\7\.\[ü[è[Í[¸[¯[©[Æ[é\2\n\Ž\–\‰\†\\§\Ì\Í\º\©\Ž\p\e\U\N\D\6\!\[×[¯[[ƒ[y[e[V[H[=[4[*[[[[[[ZþZðZïZéZÚZÏZËZÅZÅZÏZÞZéZôZû[[[[ZûZñZåZÍZ¾Z©Z”Z{ZdZOZOZXZ]ZVZVZXZ\Z\ZYZUZNZ?Z*ZZZAZ[ZtZ†Z­Z×Zó[ [["[$[[ZëZÛZËZ¸Z°Z¨Z¢Z“Z€ZvZvZ€Z”Z´ZÕZò[[[)[1[4[6[=[A[P[e[€[¡[Å[ì\\B\c\{\Ž\›\¢\š\‰\s\]\A\[û[Ù[Æ[Æ[È[½[¬[ž[Œ[x[a[K[C[D[E[I[>[.[[[[ [ [[![-[([-[7[R[h[x[i[^[_[`[Y[P[P[O[S[e[j[j[Y[I[8[/[2[=[D[O[O[P[M[J[K[L[G[C[?[3[([[ZêZÌZµZ£Z™Z”Z›Z¥ZÁZÎZ×ZÕZÚZêZþ[ [[-[=[H[P[W[c[f[b[][V[N[I[=[3[+[#["[)[=[U[i[}[Œ[™[¢[¥[¨[³[¿[Î[×[Þ[ç[ì[ë[â[Ù[Ø[Ø[Ò[É[Â[·[©[š[[‹[[—[˜[”[‘[‹[ˆ[Ž[[Œ[ˆ[[[†[¡[³[´[³[«[¤[¥[ª[¸[Ï[ß[à[Ö[Ó[Î[Ø[ë\\'\P\v\™\³\Ç\Õ\Û\Ü\ß\á\å\ì\ð\ö\ü]]\ü\ô\í\â\Õ\Ð\Ë\Î\É\Æ\¾\·\©\¤\£\£\¤\¨\Ÿ\š\”\•\\\\‘\‡\|\m\[\K\=\0\%\\\ \ \\\$\8\F\Q\U\[\[\_\d\e\e\m\p\p\p\r\o\t\y\„\•\¬\Å\×\ã\ô\û]] ]]%](] ]]]]]]]\õ\á\Ö\Ê\¼\©\£\¢\¤\ \§\¯\´\³\¼\È\ß\ò]]\û\ë\Õ\Í\Ã\¹\¤\‡\^\;\[ò[È[²[—[Œ[~[m[J['[[ [[$[[%[ZóZÉZÌZÀZÔZÑZãZÈZÕZ£Z²ZŠZ”ZZƒZzZŒZˆZyZ}ZrZxZxZ„Z†ZZˆZ{Z‰ZmZdZTZY÷YÏYxYjY?Y$YY\YÌZF]_‘^H_Ib—g^_ðXUWÁ^°^X†WˆWTUýV WºWdW|X!WçX„XX*X XXWåWðWÜWÜW®W†WŒW™W˜W¡WŠW{W{WuWDWnW|WvWV¥VtVcV¡V¥V‰VmVÐVñVÇW W¦XŠZz\[ø[Ô[ YÄYY XõXMW¬W¥WüW´WiW‰WüXÈXsXVX¤Y-Y_Y0Y@Y&Y%YY´YÕYüZXZxZË[B[å\J\O\X\M\?\y\G[·ZÍZ3YœYRYçZDZ?Z Z][ [n\\ [³[›[¿[Ó[ä[ü\ \\"\3\C\R\]\f\g\p\w\\\ž\ª\¼\Î\ä\ù]]]#]1]:]G]O]^]m]z]‹]•]Ÿ]¢]¢]¡]ž]¡]ª]»]Ò]î^^$^=^[^v^–^°^Í^ã^ÿ__&_5_E_U_n_‡_¢_¹_Ì_Õ_â_ì_ô`` ``%`/`;`C`J`N`R`X`a`m`{`Ž`œ`¯`½`È`Ò`à`ñ`ýa aaaaaaa`ü`ì`å`Ù`Ê`¼`ª``‹`}`k`X`H`7`'````_ÿ``````)`/`<`O```m`z`€`†`„`€`w`q`d`U`D`4`)`&`0`C`_`ƒ`£`Æ`åaa"a:aLaTaKa;a%a`ä`Ê`ª`„`\`6` _á_´_‘_s_V_<__^ð^á^ç^÷__?_\_r_…_”_£_²_Ä_Ó_å_ö` ``"`$`$`#`'`2`=`F`H`B`B`=`=`6`.`&```_ï_á_Ã_±_™_’_‡_|_h_]_Y_^_h_n_U_0_ ^ò^Ã^¨^‘^n^D^)^ ]ì]Ü]Ö]Ò]Þ]ë]é]Ô]©]}]Œ]Í^ ^c^›^Ë^Ä^²^©^w^!]Ã]“] ]¶]Ó]ê]ñ]Ù]„]w]_]¸^ð^û^ð_*_j_…_¹` `R`œa aa `í`Ó`´`³`«` `i_Ó_u_D^î^Á^¶^Æ^^V^e^‰^¦^^e^?]ü]¦]œ]¢]]b]G]$\ÿ\Ô\³\¼\Ë\Í\Û\ê]]>]o]£]¥]Í^^A^N]ê]O\ö\¬\Q[Û[p[–[ÿ\\[Ð[“[[z[Œ[š[ê\0\j\á];]+]\þ\Ú\›\ƒ\D\Ö^¢_ `,aß^¶\[û\Ä]È^#^+^A^k^µ_'_4_^ÿ^ý^ä^å_}_ï\Þ\\w[5[ZÐ\­`y^«]k]w^«_k^`]û^1^N^@^B^.^^2^N]é]š]w]H] ])]4]]]”]ã]ß]¿]Î]˜]6\õ\ô]\ø\Ù\›\>[Ù[’[€[t[t[[¡[Ÿ[”[y[a[H[K[J[Y[Y[[[I[0[ZíZäZú[[4[C[E[I[S[R[N[<[+[[ZøZÿ[[[[ZöZîZÛZÏZÁZ±Z®ZÀZÐZÓZ×ZÙZÏZÌZÀZÆZÔZÜZÝZçZæZÔZÆZËZØZÑZÃZºZ³Z°Z®Z±Z¿ZÛZû[&[:[#[[[ [['[)[[ Z÷ZÕZ¿ZÄZÈZÄZ½Z¸Z¾ZÃZÈZÑZÙZÚZÖZÏZÊZÂZ¬Z—Z~Z~Z}ZyZbZRZ\Z{Z”Z³Zþ[E[v[¡[²[µ[º[Ô[â[æ[Ä[ [o[V[:[[[[[.[;[7[0[-[[[[[[ [[[[[ [ [[[[*[5[F[W[k[‹[Á[å[û[þ\\\3\K\`\n\~\„\…\y\}\z\~\p\`\^\d\^\\\]\a\k\‰\ž\¨\¼\È\Ó\Ô\Õ\×\à\ö\ý\ô\é\Û\â\í\ô\ä\ã\Ú\Ý\ä\ö\ø\ÿ]] ] ]]2]4]A].]5]?]4]I]M]8]3]G]1]'])]6^*`Cb^cc]b_½^â^×^ú_;_u_¬_»_Æ_Ë_´_¡_”_¤_¸_š_“__‡_:^÷^ù_____^ù^¶^v^Z^>^ ^ ]ö]ê]â]ä^^,^V^˜^¯^Â^Ù^í__0_D_^_h_Š_¥_·_Ò`+``ëaQ`æ`…`la bqbEaTa¦cœd›cPb†aïaòb‚bEaÀa—`Ã``_þ_ò_Ü_Ó_Ô_¸_™_ˆ__’_¥_—___©_Ë_í` ``,`<`A`J`a`l`n`_`I`*`_Ü_Å__h_e_F_7_N_z__§_²_Ç_Ð_Ò`_Ü`B`¦_ª___H_<_B_Y_f_Z_V_]_]_J_^í^ª^q^G^]Õ]™]m]U]@]8],]?]K]G]@]>]M]X]X][]e]r]‹]±]Ï]ó^^]ú]î]×]Ì]¼]´]´]»]À]Ê]ï^^+^/^6^<^?^8^7^J^[^]^S^G^^ ^^(^F^p^s^[^)]á]˜]]]5]\ë\Ï\º\¼\à\þ]](]?]P]~]”]—]š]]]r]o]x]‚]ƒ]‚]U]C]C]J]l]Œ]‚]b]@]4],]']/]I]]]^]Z]X]O]K]H]Q]Y]Q]<]+]#]']I]x]¥]Ë]Ö]Ù]Æ]³]¡]•]]—]¢]Á]ç]á]–]:]]\ÿ\ï\Ü\Ñ\Â\½\Ã\Ä\â] ] ]\Ô\‚\L\B\=\X\s\”\Ä\Ó\¥\g\2\\2\F\3\5\;\-\[þ\.\T\`\H\!\[ó[è[Ø[Ï[º[Ð[ó\8\u\”\\–\”\³\Ò\ë\ç\Ù\Ä\¨\’\„\u\i\]\T\G\/[ú[Î[²[£[Ž[y[h[[[S[M[D[2[,[*[%[#[[ [ZýZìZâZÚZ×ZÖZàZëZø[[ [ [[[[ [ZùZïZàZÑZ¼Z«Z’ZZoZoZvZpZgZfZiZoZpZqZjZdZRZAZCZLZXZ`Z‚Z™Z­ZÔZó[ [[%[&[[ZøZéZÜZÕZÐZÄZÀZ¦Z”Z•ZZ°ZÇZáZü[["[8[C[L[R[V[Y[_[l[{[•[´[Ô[ö\\E\m\‹\¢\°\µ\¯\ \Ž\y\`\C\#\[ù[ø[ú[ô[ä[Ð[¼[¦[Š[t[e[_[\[T[E[.[[ [[ [[[/[2[-[.[:[P[d[i[][c[x[Œ[Š[}[i[e[g[t[x[o[X[F[5[4[;[C[M[W[[[][X[T[P[N[H[E[<[4[*[ZþZàZÄZ±Z¡ZšZ˜ZœZ¦ZµZ¿ZÏZÑZÛZçZö[[[+[=[L[V[W[^[a[`[W[R[N[F[<[5[,[)[0[;[N[d[y[ˆ[–[ [£[¤[§[³[º[Ä[Í[Õ[Ú[Ù[Ý[Ý[Ù[Ù[Ø[Ô[Ë[Ä[»[°[¤[Ÿ[ž[¡[¦[§[©[¨[¨[¦[¨[¢[•[[Š[‚[[³[¿[¹[±[§[£[£[¨[·[Æ[Ò[Ø[Ô[Ñ[Ñ[à[ó\\8\`\\œ\±\Â\Ê\Î\Ï\×\ß\æ\è\ñ\ù]]]] ]\ú\í\â\Ø\Õ\Ó\Ð\Ç\·\¬\¡\Ÿ\œ\ž\¡\¢\Ÿ\œ\”\”\\\‹\Œ\‰\ƒ\w\h\[\N\B\8\-\(\$\#\%\.\9\G\S\Z\^\`\b\g\m\v\{\ƒ\„\…\{\{\|\\‡\œ\°\Ä\à\ô\ü] ]]']1]4];]A]>]8]+]"]]]]\ù\ê\Þ\Ó\Á\º\¯\µ\¾\Ç\Ç\Ç\À\Ã\Å\Ò\à\û] ]]]\ô\ñ\ë\å\É\Ÿ\`\2\[Þ[¶[¦[[ˆ[„[…[r[W[@[6[A[O[S[8[ ZøZÜZâZÍZëZßZñZÜZÛZ¼ZÉZªZ¸ZZ Z¥Z«Z­Z©Z¯Z˜Z§Z›Z—ZšZŸZ¥ZšZ˜ZˆZyZKZ'ZY¯Y¤YsYSY˜YiYÅYé\ `â]L\¥a¢f¦e^ˆY|Zø]üY•WÂW3V§V*V1VÃW)XXUX=XBX-X3WúX0XX!WËWW½W’W¯WËWÌWžW¢WˆWvW„W¦W§W­W‡WŒWiV¤V-V1VYV¢V…VWWW W‘XCX5XlYRY÷Z:ZÃZ—Y¸XÌX2XWóW¥WfWžWnWiWÏX,YXªXiXµYtYwYVY9Y#YwY²Y«YêZDZ‚ZcZ‚ZÑ[;[m[™\\&[Þ[à[¹[hZÔZ!Y6XºYgZ4Z"Z8Zä[/Zï[…[Ç[°[›[®[¼[ç[î[ò\\\\.\9\A\H\F\Q\Y\i\y\\š\®\Á\×\í]]]]*]7]A]Q]\]k]y]†]]”]–]”]–]–]›]§]¼]Ð]î^^^0^O^h^†^¢^¿^Ö^ï___-_A_Q_f__˜_¶_Ê_Ó_Ü_ã_é_ñ_ù```"`.`:`C`I`Q`U`^`i`w`‡`˜`©`º`È`Ö`à`ð`üa aaaaa a`õ`é`ß`Ø`Í`»`¬`›`Œ`{`l`Y`J`<`.` ``_þ_ù_÷_ü`` ```` `,`<`L`]`h`r`w`u`q`g`_`X`M`@`/`$`!`"`4`I`i`‰`«`Ç`â`òaaaaa`ò`Ù`»`›`q`C`_ä_¹_Š_b_@_%_^õ^ä^Ñ^Ì^Î^å__,_M_d_u_†_•_£_±_Â_Ñ_å_þ```&` ``` `)`8`@`D`@`C`A`<`7`3`(`%`` _þ_ì_Ò_À_¬_¤___y_d_P_P_^_d_E_)_^ß^¹^^‰^l^H^)^]ö]ó]ù]ý^^^]è]¤]]’]Ô^^M^…^¥^«^Ÿ^Ž^T]ñ]¥]‚]r]‘]¦]©]»]º]œ]ˆ]8]ç_Ü_Ô_<_Q_É_â_Ø`3`m`ˆ`Ý`ûa`Î`Ÿ`›`Ÿ``c`;_Í_n_9^ð^§^y^b^E^D^I^L^t^l^D^%]æ]“]Ž]]q]`]L]%\ý\Ú\Ä\Ë\Ë\Í\Õ\ï]]U]–]Í]×^-^—^¤^¿^a]—]\±\9[·[P[q[ë\\[Ò[‹[u[L[D[x[ú\;\Z\´]].]\ß\Ö\©\‹\l].^À_a_¯\I[\Þ]Í^Y^^^d^Y^†^«__a__=___â`` ^£]e]Q\[J[c]ªa9`^w]£]Þ]Ú]˜]¬]·]÷^^]ø]ù]õ]ÿ]¹]…]O]4\û\î]\×\Ù]V]‚]—]z]p]B]\ë\ã\ô]\ß\†\)[ê[®[‚[`[k[ˆ[–[š[“[}[n[W[X[Y[d[h[j[^[I[([[[[1[J[M[K[J[M[M[J[=[0[[ ZýZùZùZüZúZüZøZ÷ZåZÕZ¶ZŸZ¨Z¶Z¼ZÃZ»ZÂZÅZ¿Z»Z½Z¿ZÈZÎZÏZÏZ¿Z¸ZºZ»Z¼Z½Z·Z²Z³Z´Z¾ZÃZÕZò[[[[[[[[[![[[ZçZÄZ¸Z¹Z¶Z®Z¢Z£ZºZÂZÂZ¿ZµZ·Z²Z®Z¨Z“ZvZZZbZdZ^ZXZQZbZvZ”Z½Z÷[:[l[[£[°[µ[Î[Ý[å[Ò[·[€[j[I[5[6[A[H[X[Z[T[E[6["[Zþ[[ [ [ [ [ [[[[[[ [([.[<[K[d[{[¨[Ô[è[è[ö\ \%\A\X\d\r\r\j\g\o\w\†\\g\\\]\[\X\W\[\d\o\z\~\\§\Å\É\Ä\·\µ\Ç\Ô\Ì\À\©\´\Ç\Ó\Õ\ß\Ý\æ\î\ú\ù\ÿ]]]]]6]>]@]K]?]F]K]@]G]B]6]#]] ]] ]]›_ub b¢b_ú^â^ò__E_b_¥_É_ß_Ç_Œ_s_J_)_B_)_._a_S_^å^Ì^Ú^ç^Ú^Ñ^É^½^Ÿ^w^T^:^)^^]ù]ð]ö^^<^e^š^¶^õ_-^å^ö_/_>_b_‡_Ú``;`R`v`§`ž`›`’`˜`Œ`G`a)aùcc¢cbHba…aãc`bÞaöaô`ø`Q`ð`i_Ê_º_Á_Ä_ž_ _Ž_†__‹_’___´_×_ê_õ``-``,`;`1`9`=`8`B`&_ð_Ó_½_‹_f_T_N_b_{_š_¨_Å_Æ_ï_á``™_à_Á_â_²_Ì_˜_r_b_a_o_g_s_|__m_V_6^þ^«^g^7^]Í]¢]}]Z]D]?]7]5]-]*]$]%],];]M]M]O]Z]k]‚]Ÿ]Ç]å]÷]ð]ä]Í]¿]µ]·]Å]Ì]Ñ]Ý]ú^"^@^Y^c^\^B^=^M^\^d^l^V^H^6^*^9^Q^{^§^¬^‰^B]õ]«]h].]\á\¿\§\®\Ô\ó]\þ] ] ]C]j]x]p]h]h]d]p]x]„]|]z]d]V]_]|]ƒ]]|]Q]<],]"]#]&]7]N][]Y]U]H]@]B]O]T]L]9]"]]]2]j]]Ë]á]ß]Î]·]˜]‹]]Ž]­]Ò]÷]ë]—]4] ]\þ\û\ñ\â\Û\à\×\Í\Þ\þ]\ã\˜\T\9\0\(\-\>\M\…\¸\¼\­\\‚\e\[\Q\\\j\`\/\'\K\]\z\a\,\[þ[ü[õ[Þ[À[è\\I\y\”\\©\À\î\þ]\ý\ì\Ó\»\¦\›\\{\p\u\k\Z\6\ [ë[Ò[­[[z[l[b[[[M[A[;[9[9[5[([[[ZõZðZæZçZìZø[[[[[[[[[[ [ZûZñZàZÍZºZ¦Z›ZŽZZZ…Z~ZzZZ…Z…ZŠZZwZnZhZfZfZlZuZ‘ZZ¬ZÎZé[[[[#[#[[ZóZëZéZéZàZËZ¶Z¶Z¿ZÒZéZý[["[3[F[V[_[h[k[o[s[z[„[•[«[Ã[à[ý\\H\v\•\¬\»\¾\¶\¦\•\„\q\W\8\&\&\&\$\\[þ[è[Ë[±[›[„[{[s[a[Q[=[*[)[[[[,[;[8[2[.[5[C[M[J[N[f[Š[¥[ž[•[ƒ[z[s[u[p[[[A[0[)[+[-[8[E[O[X[^[a[_[X[R[G[@[8[1["[ ZîZÔZ¹ZªZœZ’ZŽZ‘Z˜Z¡Z¬Z·Z¿ZÏZ×ZçZú[ [[1[@[L[R[T[R[O[G[G[B[9[3[*[$[&[/[?[T[h[|[Š[–[Ÿ[¡[ [§[®[µ[º[¿[Æ[Ç[Ê[Í[Î[Ð[Ò[Ó[Ñ[Ê[Ç[Â[¾[¸[´[´[¹[º[½[¿[¿[Â[À[¼[­[ž[•[Š[‹[ [Á[Ã[¹[¯[¨[¡[ [¦[®[½[Ì[Ø[Þ[Ü[à[é[ü\\B\i\„\›\¦\´\¼\Ã\Í\Õ\Û\æ\é\ñ\ù]] ]]] \ý\î\ß\Ô\Ô\Ð\Ë\Á\¸\ª\¢\\™\š\š\ž\ž\œ\š\™\˜\—\“\•\‘\Ž\„\w\j\_\S\K\?\7\2\2\4\:\D\N\X\^\b\d\l\u\{\„\Ž\•\“\”\Š\…\‡\“\Ÿ\´\Í\è\ý]]]]+]@]T]U]Z]Z]T]L]5]&]]$]!]] ]\ò\è\Ö\Ò\Ç\Õ\Ý\í\ç\æ\Ü\â\Ú\æ\ç]] ]]]]] ] ]\Ü\«\f\+[ø[Ñ[¶[¢[–[“[[“[ž[[n[k[x[t[g[D[[ZùZùZóZþZ÷[ZóZêZêZÚZÝZÑZÇZÔZÌZÕZÑZÍZ¼ZÉZ·Z¸Z¹Z±Z®Z¢Z³Z¦Z©Z„Z^Z@YþYêYÏY“Y¸YzYqYÍZ\ù^2[á^-ece _²\:\¿]HZW‰WQW VSVcV¥VÌW_WÝWßXWÞX XX XX XW­W¸W·WÓWÙWÔW×W¾W¹W¦W¢W»WªW§WÌWoW/WV™V&VVAV¥V®V«W×WDWáXæXÐXöY4XÿX‹XsXÉYLYYWÿWW‰X4WŠWUW`W„XXX’XŠX|XÍYxY©YÂYGY@YæYÐYZAZÇZuZZSZŠZ«ZÄ[[ [â[ [‰[`ZäZLY»XÒXdY.ZHZZ-ZÄZºZbZÑ[`[Í[¼[¥[·[â[ß[Û[â[û\\\\%\*\3\;\D\Y\h\z\Ž\ \¶\Ñ\á\õ]]]]2]?]P]Z]e]r]z]‚]„]…]ƒ]†]‹]–]¦]¿]Ô]ï^^^-^H^d^^š^µ^Î^å^þ__)_?_T_h__“_ª_º_È_Ô_ß_é_ê_ë_ö```#`2`<`C`H`L`S`^`l`}`•`¦`µ`Ã`Ô`à`ð`úaaa aa`ú`ï`è`Ý`×`Ï`Á`°`ž`‹`}`m`^`L`?`0`&`` _ý_ó_ë_í_ï_÷_ü``` ```)`8`I`X`b`f`g`a`]`W`R`J`?`6`(`!``(`;`U`o``¥`»`É`Ù`Ù`×`Ð`Â`¯``ƒ`e`9`_Ì_•_b_1_^è^Ç^¹^¨^¢^ž^«^Æ^í__:_V_j_w_…_‘_Ÿ_­_¾_Ð_ç_ý```"``````(`1`5`4`8`;`;`9`9`-`-``_ÿ_ë_Ù_Æ_µ_¢_–__|_e_E_=_G_P_5_^ñ^Ç^©^^y^`^D^0^^^ ^^)^+^:^*]þ]¾]¢]ª]å^^N^s^^Š^}^_^']Ú]]ƒ]_]q]ƒ]]|]‡]]N]a^`_Ä_¤_’_¨_¿_¼_ü`7`e`Ÿ`Á`í`²`r`w`m`B`_ì_³_m_C^û^¿^Ž^S^#^^^^7^9^#^]Ú]]‘]Š]u]_]E]1]\ú\Þ\Ñ\Ì\â\ë\ÿ],]o]¼]ò]é^^o^g^]é][\±\l\[°[M[1[ˆ[ð\>\ [ó\[ª[~[[Ô\\H\\Ã\Ó\®\Ÿ\¢\˜\â]]0^¢`*_N\I[™]^j^¡^’^s^‹^c^›^­^ê__t_p^í^¹` ``n`Ï]ë]"\×[t\^›`wa¨_ä^+]±]’]v]y]s]Ã]Ä]Ë]·]È]É]Å]]Y].]$]]]4\Ü\·\ô]]$]] ]\ï\Û\ô\á\¹\œ\a\[Û[—[k[P[f[|[’[“[”[…[r[h[^[][b[i[s[p[c[M[E[<[C[I[S[T[S[F[C[G[E[?[<[)[[ZüZùZûZöZøZóZóZåZÍZ®Z•Z—Z¤Z‘ZZZ’Z¢Z¯Z¾ZÎZËZÆZÃZ»Z¹Z·Z²Z²Z·ZºZºZ´Z­Z²Z»ZÊZÎZÝZí[Zû[[[[[[[[&[$[[ZåZÉZ¾ZºZ®ZZšZºZ½Z®Z Z’Z“Z‘Z†Z}ZfZAZ/Z4ZFZQZTZNZ\ZjZˆZ»Zó[*[J[Y[y[™[¦[À[Ô[à[Ù[Ê[Ÿ[ˆ[a[P[W[g[{[†[w[i[O[B[?[)[[[ [ [ [[[[[["[)[+[5[>[O[Y[j[z[“[®[Æ[Ô[ð\\\4\J\S\W\W\U\R\N\R\e\h\N\C\E\J\L\O\Q\[\a\i\j\q\„\ž\¤\\‹\ˆ\’\“\‚\\‚\‘\¡\²\Ã\Ó\Û\ç\ð\ô\ý\û]]]]0]6]F]?]C]M]H]K]P]R]J]5]]]\í\ó]\ú]¿`aÒaŸ_À^Ø^þ__K_@_k_–_É_Í_Œ_q_F^û^Ý^Å^Ê^â^Ý^á^á^±^®^È^´^³^š^^†^p^[^B^3^^^^ ^^>^o^‰^¢^¶_1_Å_y_J_@_7_e_”_í`h`àa0a>ata:a"al`æ`—`n`abSc¢c,bÏbšb^bcdcšbØaá`©`—aª`ì`_¦_Š_’_„_›_o_h_t_Š_œ_‰_Ž_™_¸_î_ÿ` `(```_õ_ï```_ú_ì_Î_›_“_„_O_C_h_Œ_²_Å_Ñ_Ü_ý_î`œam`._À_ð_Ç_Ï_¢_x_f_l_~_z_ˆ_‰_…_u_]_*^ê^¢^Z^$]ñ]Ä]˜]u]Z]O]F]@]B];]*]]])]/];]O]Y]g]‚]š]§]¾]æ^ ^#^ ]þ]Ï]­]·]Ê]Ù]ã]û^^&^7^D^B^H^M^Z^d^l^p^p^p^i^`^c^t^“^¿^Ò^¼^^L^]¹]z]<]\Ï\µ\»\×\ç\í]]]]#].]H]_]k]d]_]a]w]„]–]‘]ƒ]p]j]l]€]ƒ]w][]=]3]0]#] ]]$]2];]J]R]I]@]?]L]U]S]:]]] ]$]W]Ž]½]Ý]ã]Ò]º]”]}]t]~]Ÿ]Ñ]ü]í]](]\ÿ\þ]]\ü\û] ] ]]],]\â\•\I\(\\!\+\1\5\`\Š\±\Í\¸\°\‰\‚\|\{\s\k\K\C\[\m\\k\D\&\\\\[î\\>\l\‹\‘\\É\ò]]] ]\ü\æ\È\¬\²\§\’\•\ \–\„\i\F\[ù[Î[¢[‹[{[n[c[W[Q[G[K[Q[J[:[-[[ [ZúZôZø[[ [[*[.[/[-[,['[%[ [[[ZüZîZÚZÄZ¸Z¯Z¨Z¦Z ZœZ–Z“Z•Z—ZšZ›Z—Z‘Z†Z…ZZ{ZxZ}ZŒZ”Z¤ZÁZÛZ÷[[[[[[ZöZöZüZóZãZÐZÐZÝZò[[[0[?[K[Y[h[v[[…[‡[‡[ˆ[[™[¥[µ[Ñ[ì\\"\K\u\—\°\½\Â\º\ª\›\\w\b\S\I\I\C\9\2\&\\[å[Ì[µ[£[—[†[v[[[C[3[*[![[#[5[D[E[;[3[5[5[3[;[L[h[Š[˜[•[Œ[~[s[f[W[?['[[[ [[[/[?[J[V[[[][a[Z[P[C[8[)[[ZõZ×ZÁZ¯ZŸZŒZ†Z„Z…Z‡ZZ–ZžZ­Z»ZÇZØZéZü[ [[,[3[:[=[9[5[1[+[%[ [[[[[,[>[P[f[u[ƒ[[•[›[š[ž[¡[ª[¯[´[¸[´[¶[¹[¼[Á[Ç[É[Å[Ä[Æ[Ê[Í[Î[Ï[Ë[Ë[Ê[Ï[Õ[Õ[Ð[Ì[Ä[µ[¨[œ[˜[¢[·[Ë[Ä[µ[¦[[–[—[š[¡[³[Í[â[í[ï[ñ[ô\ \(\O\o\\\•\¡\­\º\Ç\Ó\Þ\å\ì\÷]] ]]]] \ù\ê\á\×\Ó\Ò\Î\É\Ã\²\«\¡\\š\œ\\Ÿ\¡\§\±\¶\ª\¦\¤\ \œ\”\ˆ\z\m\\\U\L\F\A\:\>\G\L\W\b\i\n\u\z\€\Œ\’\˜\Ÿ\¡\›\—\–\—\£\º\Ó\ã\ù]]]]-]J]a]v]]…]}]s]n]L]G]D]I]G]E]6]-]]\ñ\î\ô]\ÿ] ]]]]\ø]\û]]]]]] ]] \ÿ\Þ\§\`\%[ø[×[À[·[º[±[¯[´[Á[¾[ [Ž[‚[[q[S[)[[![ [[[[ [[ [[[ZæZøZïZïZøZÛZèZÓZ×ZÉZÜZÄZÀZÆZÅZÌZÀZµZ’ZvZ@Z*Z YÒYöY÷Y¹ZJZN[m^F\`\éb1ej`£_E^`]Y¾W¾WŠW2VµV‘V”V—W1W{WŠWöXXX.WÉW×X&X(XDW÷WçWÒWÀWßW¸WÜWÀWšWQWIWCWYWJWWJW@WV¶VžVWÕXaYOX5W%XµZXCWJW^WjWÆWßX]X£X‰XºYœZ]ZrYèYùZ7YçYiY˜Y·YxY†YûZ4ZGZrZ¯[[J[ Z÷ZÙZJY{Y X†XlXùYY‡Y©YÑY×YÖZPZü[–[©[œ[¶[Ø[Þ[Ø[Ð[ã[ì[õ[÷\\\&\%\2\A\X\d\z\Ž\¤\¿\Õ\é\ô]]](]7]D]Q]Z]e]m]n]m]l]m]u]~]’]¨]¿]×]ï^^^,^C^]^y^“^¬^È^á^ú__*_@_W_l__Œ_›_«_¸_Ä_Ô_à_é_é_ê_ö```$`0`8`<`A`H`O`_`t`Š`š`®`½`Í`Ü`é`ï`ù`ü`þ`ý`õ`ñ`é`â`Ü`Ï`Ä`µ`¤`“`~`o`^`Q`B`4`(```_÷_î_ã_ã_å_é_ñ_ö_ü``` ``'`6`E`P`W`\`Y`U`S`N`N`D`:`/`%` `"`,`D`Y`p`„`–`¡`¬`¬`¥`›``|`o`U`6`_Ö_š_a_%^ò^Á^ ^†^x^s^x^‹^«^Ó__+_K_^_o_w_€_‹_˜_¨_¹_Í_ê_ÿ```````````#`&`.`4`>`>`=`7`0`&``_ê_Ö_Ä_´_£_”_†_r_\_A_3_9_D_"_^Ú^´^•^^h^T^F^A^@^4^4^D^]^V^U^7^]Ô]Â]È]í^^+^G^W^_^L^.]þ]¹]v]I].]X]r]k]c]w]V]4]þ_‘`[_Ý_ô_ê_¥__¥_²_Ã_â``5`ƒ`n`'`` _÷_Ü_Ã_¸_k_2^ø^Í^’^R^]à]Í]Þ]ù^^]ú]Ñ]œ]¥]”]{]e]N]A]"]\Ü\Ì\Ò]]']6]U]‡]Ï^]ÿ]ç^]ë]\Ð\¬\J\[ê[­[W[5[‹\\@\'\+\Q\\\[ï[ÿ\$\1\B\8\=\v\ž\Õ]\Ö]_^€\f[Å]-^Ž^€^^–^ª^¼^œ^¥^^È^Æ_k_u_p`Da``abe_']ã^\Ý]•`Ñ_Ý_ø_È^a]¶]»]=]/]B]€]z]£]š]‰]…]‰]X]A]$].]@]#\ü\Æ\¶\Å\Ý\ã\È\å\Ü\Ø\Ú\á\¨\†\{\=[ñ[¸[u[F[8[a[y[‘[•[[‰[[x[v[x[r[v[~[€[{[s[w[r[r[q[g[O[I[M[N[N[G[>[G[,[[ZøZíZðZìZãZâZåZ×Z¹ZŸZZuZ{ZXZQZdZpZ‚Z ZÂZàZéZæZØZ¿Z®Z¯Z­Z¬ZªZ±ZºZ¼ZµZµZÁZÐZÓZßZê[[[[[[[[[[)[+[[ZòZÐZ¼ZÀZ¹Z§Z¡Z³Z¨Z‘Z}ZqZdZ\ZAZZ ZZ%ZZZ=ZOZMZNZ^Z~Z±Zè[[-[*[G[x[“[­[Ã[Ú[à[Ó[µ[¡[†[i[`[}[–[ž[‹[s[T[H[K[F[![[[[[[[[['[.[5[4[:[=[H[Q[^[p[„[˜[µ[Ì[é\\ \/\8\?\<\4\.\+\'\'\3\>\-\&\.\9\;\@\E\R\^\o\x\‹\›\Ÿ\–\ƒ\m\g\l\k\c\f\s\‚\—\¯\Ã\Ò\á\ê\ø\õ\þ]]]!]%]8]8]4]E]L]S]V]N]O]K]?]-]<]`]\ê\Ô\ù].]V^®`„`,^Ü^Æ_(__,_0_O_ƒ_´_Ë_°_…_G^ü^Ê^^w^{^^Ž^¨^ž^Ž^ž^™^ ^•^^Œ^~^b^N^D^/^^^&^H^…^£^¡^«^É_/_€_…_ _‘_p_ƒ_Ä_í`3`¶aba°bb bba†a+a/a§bGbŠc+b¿aæa¶b@cXe>e)cba#``Òa`Œ`]_û_‰_€_x_u_k_Z_J___W_p_‚_™_Ò_Ò````&`!_û_Þ_Î_Î_Þ_ä_ë_ö_¶_ô`À_å_5_@_h_š_À_æ_è_û_ø``ð`×_°``ç`_œ_¤_ˆ_Ž_“_“_‰_„_‰_~_Z_<_^è^½^“^d^]á]¸]‘]s]^]T]T]J]:]3]*]]]1];]@]F]T]f]]ˆ]‘]µ]Ô^^^]æ]Í]ã]ï]ý^^^^^!^+^2^;^F^]^l^‚^œ^œ^—^¨^¾^»^·^Ë^Þ^Ø^®^z^7]ô]´]x]9\ü\Î\á]]]\ü]]]$]*]:]X]_]a]]]h]s]‡]—]Ÿ]›]‘]z]o]q]j]c]R];]8]-]$]]]]]%]2]@]G]C]H]K]X]Y]Y]=]\ô\ý] ]H]z]®]Ï]á]Ù]º]“]w]l]u]]Ê]ú]à]z]\û\þ]]]] ]+]B]R]U]K]:]\Ü\£\N\(\&\(\6\7\A\a\{\¢\Ï\Å\¸\¨\°\°\ª\“\‰\o\V\U\s\t\c\S\>\:\3\+\\'\T\b\t\\“\»\î] ]]]]\þ\ì\Ý\É\Ì\»\¯\¼\Å\¾\¥\\c\8\[å[²[•[†[y[n[c[[[Q[P[P[K[?[6["[[[[[ [[[/[=[B[E[D[?[6[1[+[$[[[ZóZãZÔZÆZ¼Z·Z²Z¯Z®ZªZ®Z­Z«ZªZ©Z¥Z Z™Z˜Z•Z˜Z—Z•Z“Z’Z•Z©ZÅZäZþ[ [[[[ZùZúZøZíZãZäZð[[[3[F[[[g[t[[[˜[œ[›[Ÿ[[[ž[§[°[Ä[Ü[õ\\,\R\w\•\­\½\Ä\½\°\¡\\|\s\n\c\V\I\B\=\1\\ [ð[Ø[Ä[³[§[™[‡[j[P[9[)[$["[$[2[G[O[N[E[<[3[,[7[O[j[[[{[k[\[K[7[[ZòZâZãZð[[[([8[A[N[T[T[V[Q[E[5["[ ZýZêZÓZ¿Z­Z›ZZZ~ZyZ{Z€Z„Z†ZŽZ™Z£Z´ZÁZÒZäZò[[[[[[[[[[[[[[ [[%[7[H[][i[w[[…[ˆ[‹[[’[—[¢[¨[©[ª[ª[¬[±[¶[½[Á[Â[Â[Å[Ð[Ø[Û[à[Ü[Ú[Ù[à[ç[ã[Ý[Ú[Î[À[®[§[³[¾[É[Ë[½[­[œ[[Œ[Œ[[¤[À[à[ö\\\\ \\8\Z\p\~\ƒ\Œ\—\£\´\Æ\Ò\à\ç\ò\þ]]]]]]\ö\ì\ã\ß\×\×\Õ\Ò\Î\Ã\½\®\¦\\£\¦\µ\¿\É\Ð\Ï\Å\¾\µ\´\®\¤\—\†\x\k\a\Y\R\N\L\P\W\[\d\i\r\u\{\‚\‹\•\œ\¥\¨\¨\¤\¢\ \¨\·\Ï\ë\ÿ]]]!]]7]^]]]¯]·]¹]±]ª]]‰]]†]w]n]\]M]4]&]]]']-]']7]5]?]5]4])]0](]1]']+]]]]] \ý\Ø\¢\a\+[þ[ç[Ú[ß[ä[â[Ø[Ø[ã[Ü[Ì[®[˜[[w[U[:[+[2[![/[[:[*[J[3[?[%[[[[[ZùZûZôZíZîZÿZýZïZûZåZðZâZìZÓZ³ZZxZaZZ&ZY÷ZZí[¶]a`R^´`wdka‘]M^]½YœW·W¢W§VÍVšVªV—VèWkWuWóXµX°X©XWÒWÀWàXX(X>WßWÕWºW¨W¸W™W”W0WVúVéVãV°VÕWWV–V…VGVgV¢WUYY3X&WÃX@X±Y/YXõWV§VçWfWXWWìWXäXèWkW WIWPW…W×X[XwX9XvY®ZçZ·Z|Z’Y¼YSY,YXæYYgYÃYðZZGZcZˆZ“Z€Z‡ZfZ Y9XžXMXWX”XâY;YFYYBYZZš[)[b[z[©[Â[Ñ[Ï[¸[¿[Ë[Ò[Ý[û\\\\\#\;\K\b\w\\¤\½\É\Ý\ç\û] ]!],]:]D]J]N]P]Q]Q]U]`]r]ˆ]£]¼]Ö]é]ý^^%^;^U^n^‰^¡^¿^Ú^÷__)_B_[_o__Ž_–_¡_ª_²_¾_Ì_Û_â_â_ì_û` ``$`,`-`2`<`E`S`g`z`Ž` `²`Á`Ñ`ß`ç`ê`ð`î`ï`ê`ç`ã`Û`Ô`Æ`¹`ª`™`‰`u`e`V`H`:`.`#`` _ÿ_ô_é_Þ_Ø_Û_Ü_å_ì_ñ_÷_ü`` ``)`7`C`P`T`X`T`Y`U`S`L`C`:`/`'`&`*`7`G`V`f`v`…`‘`‘`‰`|`n`^`K`1`_é_º_€_J_ ^Ù^¬^‡^q^i^o^^¡^Ë^ô__?_Y_d_m_q_x_„_‘_¢_¼_Ô_î``````````````$`/`:`B`A`@`4`(`_þ_ç_Î_½_°_Ÿ_Ž_|_i_S_>_,_-_2_ ^ò^Ê^¤^†^o^[^Q^V^[^g^d^k^y^Œ^„^f^C^]ð]â]é]ñ]ú]õ^^^*^]ò]¾]w]X]V]<]M]^]Z]b]t]O]|^˜_|_ì_Ð_Ô_ü_Ù_¬_¡_‰_v_y_Š_´_ê_Ê_ _½_¨_¼_Ä_š_†_<_^Ú^È^ƒ^6]î]Ä]®]³]Ì]ß]í]ô]Ñ]¨]·]¦]‰]w]]]=]\ô\Ô\Å\Í]]:]Z]‡]³]Û]ð]ñ]û^]Á]E\ù\“\U\[ö[·[{[l[©\\1\%[ô\ \!\\\\\\6\\\\`\ì\Ï\À]'^%^È\r\]z]ý]Ä]ø^‚^è___ ^ç^º^Æ^·_`_J`AcËeÂb›bªe”cC_]þ]É_“cª`ë``(^T]—^ ]_]Y]A]Y]d]™]¸]]g]y]U]7]]]\ï\·\¥\¯\´\¿\È\³\Å\Â\Ì\»\¬\‘\\U\[à[­[k[%[[W[€[‘[¤[¥[Œ[w[j[[‰[Œ[‘[Š[…[~[~[[“[’[‚[q[[[S[Z[`[][U[J[N[)[[ZëZßZÛZÑZÊZÆZÁZ¸Z­ZšZ|ZbZPZ:ZEZOZ]ZsZœZÖ[[ZÿZóZáZÆZ²Z£Z«Z°Z®Z­Z²ZµZºZÁZÐZÙZäZìZûZÿ[[[[[ ZðZêZø[[ [ ZìZÄZªZ­Z¯Z§Z£Z§Z•ZxZUZ] \æ\ê] ]8]b]•]Â]Ù]×]¼]“]x]j]s]’]Ð]ù]Ó]p]\ÿ]]]]2]6]Q]w]’]‘]p]J]\ë\Ð\ƒ\Y\Y\P\S\V\l\‡\›\±\Û\ñ\ú\ü\ö\í\Ý\¿\¥\\e\N\\\Z\W\H\6\0\4\;\6\:\a\i\S\W\ƒ\Ã\ì]]\ì\ë\ì\ì\á\ß\Ó\É\¿\Å\×\ä\Ù\¾\”\w\E\[õ[Ç[¥[Ž[~[r[j[e[Y[L[L[L[A[5[![[ [[[["[3[E[Q[Y[X[X[S[H[A[8[+[[ [ZøZçZÚZÊZÃZ¾Z¾Z¾Z¼ZÀZÅZÃZ¿Z¶Z¶Z±Z¬Z§Z¤Z¦Z©Z¬Z­Z¤ZZ•Z–Z¦ZÐZò[[ [ [ [ZÿZýZ÷ZùZù[[[([B[V[k[~[[š[Ÿ[«[°[´[²[±[¯[¯[®[³[º[Ê[ß[ü\\4\R\p\\¦\¹\À\½\±\ \’\‰\\q\b\O\D\=\2\&\[þ[é[Ò[Æ[¶[®[¨[”[{[^[F[8['[[['[;[O[W[R[J[?[6[5[Q[e[l[f[V[@[+[ZÿZæZÖZÏZÐZ×Zæ[[[([4[9[A[B[D[?[7[,[ZÿZæZÓZÃZ±Z¢Z’Z…Z}Z{Z|ZxZyZzZyZzZ}ZƒZŽZšZ¦Z·ZÅZÕZäZðZöZùZûZ÷ZõZíZäZßZãZêZõ[[[[-[>[O[^[j[q[z[{[‚[‚[…[‹[—[[Ÿ[¢[§[­[­[´[·[º[½[¿[É[Ô[ß[ã[ã[ã[â[â[è[ë[é[å[Þ[Õ[È[»[¾[Î[×[×[Ê[¹[¢[Ž[†[„[[[¹[ß\\\!\"\ \(\8\P\g\r\y\x\\‹\ \²\È\×\ç\ó\ý]] ]]]] ]\û\õ\ê\ê\è\æ\å\á\Ý\Ö\Î\Æ\¾\³\º\Ë\â\ï\ù\ô\ë\à\Ô\Ë\È\¿\´\¦\—\„\w\l\i\g\b\b\b\g\k\q\y\‚\ˆ\Ž\”\™\Ÿ\§\¯\´\³\¯\³\´\¸\Ê\ê]] ]]"]/]0]N]w]¡]¹]Ó]æ]ò]í]ø]â]ß]Ó]¾]¢]]€]u]Y]O]U]Y]^]a]^]g]l]l]j]i]a]e]^]^]R]I]<]6],]"]\ñ\Ð\ª\n\;\\[û\\\\ \[ú[ë[ä[Æ[´[[x[N[G[6[@[:[8[8[J[][m[c[d[B[G[;[=[1[/[[/[ [*["[7[1[>[-[$[1['[ZðZÙZ´ZŸZwZGY÷YÙZyZÄ\a_`³bÈb(dHdO_9ZaYœXáW|WüW¾WHV¬V¥VŒV§W WIW¯WßWËWàX·XIWæWÖWÄW¶WóXWÝWµW˜W­WrWoW2WWVÿVâVÃV¬VŒV‘V„V\VkVvV“WXŽZWY4WöXlYÝZNY4XFWîW•WTWHWWWWfWYW“W'VîWWW1WKWuWÒWÈWÀX X¢Y±ZZYÁXûYYIY+Y XèYNY©YÁYõZ,Z0Z#Z2Z,Z+YýY«YX XXXNXlX´XûX±X§Y4YÊZ-ZzZý[5[N[‡[§[µ[·[Ÿ[–[˜[¤[½[Ý[ë[ù[õ[ú\\\/\K\Y\x\‚\\¤\¼\Ç\Þ\ë]] ]]]%]*].]1]4]@]L]e]}]›]³]Ì]Þ]ó^^^.^G^_^z^^°^Î^ë__"_=_U_j_}__—__¢_©_®_¸_Â_Ì_Ò_Ý_î_ÿ``` `#`*`0`8`F`X`f`z``¡`°`Ã`Ì`×`Ù`à`â`ß`á`Þ`×`Ï`Ä`º`¬`Ÿ``~`m`_`Q`B`5`*```_ù_ð_ã_Ú_Ô_Õ_Ø_Ý_ä_é_ï_ó_ü`` ``-`:`J`Q`Z`[`\`[`X`T`O`F`=`3`*`)`.`8`A`L`X`d`q`{`|`k`\`J`1`_ø_Ì_¤_r_>_^â^½^¢^’^^›^µ^Ö^ý_ _<_P_]_a_e_j_s_|__¥_Â_ß_ô```` ```````````-`7`C`F`C`3`#`_ù_ã_É_³_¬_š_ˆ_z_i_Q_;_%__^÷^á^À^œ^„^q^g^b^j^y^Œ^™^¥^»^¾^¦^{^Y^6^^ ^]í]Ø]²]¶]Ô]å]à]Â]}] ]]=].]*]Q]R][]i]W]Q]Ç^8^£_\_ô`_á_€_h_N_7_N_]_p_€_1_1_†_m_z_ˆ_k_M_^Þ^¹^Â^z^]Ï]©]]–]¯]Ë]ä]ò]Ñ]¸]¹]ž]’]}][]=]\õ\Ö\Ä\Æ]]M]]Å]î]ú]ù]Û]Ã]¸]d]2\ú\v\Š\`\[Ý[¬[[ [î\?\@[ï\\-\*\\\\]\Å\~\®\e\…\û\ã]‘^a]Ü\Õ\g]³^w]â^N^¤^ú_~_¡_«_¤_[_._1^ú_g_Q`cáfEbµb{d„cq_o]D^`•c`a¹`H_ô^€]Ô^]„]y]F]c]e]x] ]™]h]r]A]!\ø\Á\©\®\‡\~\\§\¸\µ\ \¨\ \«\Ž\‡\{\]\*\[æ[²[e[#[<[[[}[“[¥[³[š[|[r[‰[”[ª[­[¦[›[‡[‚[†[…[‡[|[s[p[s[p[s[n[d[P[G[*[[ZæZËZ¹Z®Z¨ZŸZ ZœZšZZ|ZVZ;Z,Z/Z4ZFZgZªZá[[[[ [ZìZáZÈZ»ZÇZÂZºZºZµZ¾ZÃZÎZÐZÙZãZò[[[*[.[&[ZÕZÙZØZáZåZíZÒZ¤Z“Z™Z˜Z™Z’ZwZ`ZRZ;ZZYýYÛYÅYàZZ;ZEZ@ZFZBZ>Z6Z3ZNZ{Z¢ZÐZõ[ [[[:[Z[‰[±[É[Ð[Í[¿[¯[“[[v[ƒ[Ž[ƒ[s[g[`[R[R[Q[A[6[*[$[&[*[3[=[I[S[Y[][\[U[Q[O[U[b[r[‚[’[©[Æ[æ\\\!\\[ù[í[å[ß[Ø[Ö[Û[Þ[ç[õ\\\ \.\B\W\n\\•\¥\¡\‘\{\p\d\h\i\k\h\m\y\’\©\À\Ë\Ó\à\æ\÷]] ]%]*]8]3](](]1]=]F]D]:]9]6];]3]]ª^B]^]\ï\ü]G]Ð_ `e`Å_Å^ø^å^Ý^ç__T___R_m_„_U^ü^¿^x^T^P^U^g^b^T^O^K^d^Œ^­^¼^¥^ƒ^Z^<^6^1^,^:^b^¢^Ë^¸^°^š^ç_b_›`Ÿa0`{_ô_ö`\`s`¦`Ô`¢`§`Þ`Í`é`ña‰bbnc¨cbc\[ð[Ï[©[’[[v[l[g[\[Q[P[L[D[6[$[[[[ ['[/[B[T[`[g[h[f[b[Y[N[@[1[[ ZûZïZãZÚZÑZÉZÄZÆZÅZÉZÒZÙZ×ZÑZÇZÁZ·Z´Z­Z«Z­Z±Z¶Z´Z¯Z«Z Z—Z›ZÀZë[[ [[[ [[[[[["[-[D[Y[r[‡[œ[ª[¶[»[¿[Ã[Ä[¿[¿[¿[½[»[¾[Ã[Ð[ã[ý\\:\T\o\ˆ\Ÿ\±\¹\¸\­\Ÿ\•\Œ\}\i\U\C\8\0\&\[ý[ô[à[Æ[¶[®[«[ª[œ[‡[o[X[E[4[([["[.[@[N[T[R[E[:[5[L[T[O[A[,[ZúZçZÙZÉZÇZÊZÚZçZ÷[ [[,[2[2[3[/[,[ [[ZñZ×Z½Z¬Z¤ZšZŽZ~ZrZpZuZvZtZpZqZlZiZlZsZxZ€ZŽZžZ®Z½ZÊZÖZÝZâZáZÞZØZÎZÈZÇZÏZ×ZçZõ[[[$[3[C[O[[[c[j[m[t[u[{[€[‰[‘[œ[¡[«[²[·[¼[»[¼[½[¿[É[Õ[á[è[è[è[ê[ï[ò[í[ì[æ[à[Û[Ï[Ê[Ï[Ü[â[Ø[É[²[Ÿ[“[[–[§[Â[ç\\,\<\A\?\B\F\S\`\n\r\r\v\\\¥\´\Ë\Û\í\÷]]]]]]]]\ý\ÿ\þ\ý\ü\õ\ò\ï\ï\ê\ä\Þ\à\ä\î\ù\ý]]\þ\ú\ñ\é\â\Û\Î\Ã\µ\§\—\Œ\\\~\\}\}\|\€\…\\–\›\Ÿ\£\¨\¯\¹\¼\Â\Â\Â\¾\Ã\Í\ß\÷]]]&]1]D]K]]]…]´]Ï]î^^^^^^]ó]â]Ä]ª]§]—]]ˆ]ž]Ÿ] ]š]¡]¦]ª]¢]¡] ]¦]£] ]”]Š]}]s]b]Q];]]\à\·\„\Z\6\#\\!\%\&\*\\[í[â[Æ[®[}[k[K[E[:[E[P[J[X[`[†[‰[“[[u[s[][o[J[V[F[L[L[g[Q[{[n[[i[‹[X[Y[,[ZóZñZÛZ¨ZwZZ2ZÜ[µ]¡bfdcc®e·a‡\ XŽWèWnW–W†VöW6VçVžV°VÜVúW2W®W¡WX?YWÎW…WòWãWÁW W™WÉW¶W¼WÂW…WuWW(W WVéV¸VªVˆVZV@VDVFV‹VqW(YÛ[TXðX;XôY“Y WmVôW\W0W[W²WWW WWVûVéVâVôVøVïWWWIW˜WšW WÑWÛXnXúYXÇXXÿYXóXùXX´Y=YqY˜YÅYÝYõZZYæY¨YrYEX÷X£X“X‘XŽXÐX¬XÖYCYàZ\Z€ZÙ[[([V[|[†[‚[y[u[q[€[¡[Á[Õ[à[ã[ã[í\\\3\=\W\_\v\\–\¢\·\Ã\Ø\à\ê\ë\ø\ý]]]])]<]T]n]Ž]©]¿]Ó]æ]ø^ ^#^;^P^i^‚^ž^»^Ø^ö__/_H_`_u_†_‘_—_™_¡_¦_«_³_¼_Æ_Ó_å_õ`` ```!`%`.`:`K`V`j`z``š`«`µ`¿`Æ`È`Î`Ï`Î`Î`Ç`Á`µ`ª``’`ƒ`t`g`Y`K`=`1`#```_ö_ì_à_Ö_Ò_Ó_Ö_Ù_Þ_å_ê_í_õ_ù```$`3`B`N`U`]`_```b`]`Y`S`J`C`8`/`-`+`.`7`B`M`Y`b`g`\`N`6`_ÿ_Þ_»__k_C_!_^å^Ù^Ï^Ô^â^ú__*_?_N_V_Y_Z_\_b_m_}_—_³_Ì_æ_÷_ý_ý````````````!`-`9`@`E`C`4`` _ô_Ý_Ç_±_§_”_‡_y_j_Q_=_/__ ^ú^Ý^Á^¢^^^x^w^^‘^¦^Ê^Þ^ê^Û^¸^’^r^O^8^(^]ð]·]‡]}]‘]¢]“]~]S]\Ö\á\ë]]T]K]J]L]Q]0]…^0^[_`'`/_µ_C_1_"__J_T_S_P^÷^ý_D_8_Y_r_g_B_^°^z^^H]Þ]«]›]‘]‘]¤]Ç]Þ^]æ]Â]À]¶]¿]¡]w]N]]\ç\Ú\Ø] ]_]²]Ù]÷^^]á]©]|]4]\À\M\y\X\[ë[Ã[[œ[½[Û[Ò[ç\\\-\&\!\\3\±\©\ë\Ü]\Ö]]þ]Œ]^]ì^Ý_2^z^„___N_Å_Í_à_¾__l_¨_k_X_6_ÿaOb²bbÏciaù`b^9_:bb×aP_‘^Ê^E]Á]«]]›]o]¤]˜]Ž]–]«]~]s]9]\é\³\n\g\[\o\Š\©\²\¢\“\“\v\y\p\v\Z\0\\ [ó[É[x[<[X[`[v[–[¡[[–[“[Œ[œ[±[Ë[Í[É[ª[†[q[j[g[n[z[ˆ[…[‚[}[€[w[p[_[H[/[ZüZàZ»Z¥Z“Z‰ZˆZ‡Z„ZZ~ZiZDZ+ZZZ Z2ZnZÉZù[["[([#[[ZÿZòZêZíZÝZÍZÃZ¹Z»Z¹ZÃZÈZ×ZßZñ[ ["[$[.[+[ZÓZÊZ¿ZÅZÍZËZªZˆZrZpZrZpZcZBZ9Z6Z'Z YèYÙY×YàZZIZ[ZdZ_ZTZ:Z0ZZZ)ZDZcZ’ZÁZåZåZù[[?[t[ [¾[Í[Î[Å[µ[¢[’[{[{[~[v[m[k[h[c[c[^[P[L[?[7[9[B[K[W[_[i[m[t[u[r[g[][Y[][d[r[„[˜[²[Ó[ê[ú\ \\[ð[ç[×[Æ[¿[¾[Â[Ê[Ô[å[ö\ \\2\E\b\€\\\Ÿ\ \™\ˆ\ƒ\}\z\v\r\m\u\„\–\«\º\Ê\Ñ\Õ\â\é]]]&]0]1]7]0](]0]9]7]6]8]8]>]7]:]]] ]B\ñ\å\ð] ]Á_Ka,bgaÐ`_^Ú^Ë^Ü__8_5_P_f_G_^Ø^‹^]^_^|^r^Q^7^2^5^K^v^”^¡^œ^^O^$^(^#^/^O^{^£^±^˜^›^¹__e_o_Æ`_î_â_å_÷``I`‰`p`m`Œ`` `Èa^agaþcIbIb7bXaîaíb2b4a÷aðaº`s_×_í_Ò_º_Â_­_d_R_8_^_t_V_'_>_^û_Ý_µ`¼cÚeDc|b2b³dc»baI`ba2a·`˜a]a_bc`E__:_U_y_Ž_©_­_­_œ_º_½``:`caE` _)_0_5_J_f_‡_“_›_ž_Ž_h_?_9_E_7_^ü^Î^„^.]ê]»]˜]…]€]{]~]‰]z]m]l]y]ˆ]]¡]½]Á]¥]ª]¹]²]³]¶]É]Ð]ç]þ^^^)^;^3^"^]î]é]í]ó]ü^ ^^9^S^c^~^¤^µ^Ô^ê^ø^û^ý^â^Æ^^R^]î]Ë]¬]t]]]g]Ž]]‘]b]9]:]G]S]P]Y]o]]Š]‹]”]]¨]²]¯]]—]„]|]q]a]U]G];]2]] \þ\ÿ]]]$]8]8]7]=]J]J]M]R]@]!\ó\Á\Ã\ç]!]]]–]¸]Ã]Á]©]Š]r]l]z]]ã]í]²]T]]] ]]+]=]S]u]µ]û]ç]›]c].]*](]\õ\Ý\Å\¼\Ð\ä\æ\Û\á\ñ]]U]t]]]:] ] \á\®\Œ\j\]\Z\V\A\\\=\X\H\.\D\R\Y\u\™\Ó\×\Ð\Ö\×\Ê\¿\µ\¶\Î\ð]]]]] \î\Ì\\c\0\ [æ[É[©[”[‚[z[p[j[c[][[[T[I[:[,["[%[+[1[9[C[V[d[p[q[u[q[l[d[Y[L[7[[ZóZæZàZÚZÕZÏZËZÍZÑZÛZãZêZæZâZ×ZÎZÆZÀZ·Z¶Z´Z¸Z»ZºZµZ°Z­Z¨Z Z¯Zè[[[[[[[[[[)[5[E[Y[k[‡[›[²[¾[Ê[Ì[Ë[Ì[Í[Î[Ð[Î[Ì[É[É[Ë[Õ[ã[û\\7\P\k\€\—\¦\®\­\§\™\“\‰\t\`\J\<\/\%\[ñ[ç[é[Ü[Ç[±[¤[¤[¨[ž[Œ[|[k[X[F[6[)['[+[,[6[<[9[/[%[)[3[,[[ZÿZçZÚZÕZÐZÏZÖZáZõ[[ [[%[0[.[)[![[ ZþZòZßZÐZ´ZžZ•ZŽZƒZzZnZdZfZjZeZiZfZeZ`Z\Z]ZeZmZyZƒZ‘Z¡Z«Z¸ZÁZÉZÌZÊZÇZ¿ZºZµZ¶Z¾ZÊZÜZêZû[ [['[5[?[K[U[[[b[g[k[p[u[‚[‹[”[[¨[­[½[¼[¸[µ[µ[·[Â[Ö[â[è[ê[ë[ò[ô[ó[ð[í[å[à[Û[×[Ú[á[í[ì[à[Ï[µ[¦[Ÿ[£[µ[Ð[ò\\C\X\e\g\a\]\\\i\q\x\t\r\w\\‘\£\´\Î\Ý\ð\ú]\þ\ý\÷]]]]] ] ]] ]]]]]\ú\ø\ù]]]]]]]]]\þ\ù\ñ\ì\à\Ö\Ê\º\­\¢\š\›\›\š\”\“\‘\›\¢\­\·\¼\¾\À\Ã\Å\Í\Ô\×\Ï\Ð\Ð\Õ\ß\õ]]]%]/]=]R]g]|]ž]Ã]ä^^^,^0^(^^ ^^^]í]ï]Ý]Ó]Ï]Ü]à]ê]è]é]à]â]Ú]Ü]×]â]×]Ý]Ð]Î]¾]±]™]„]`]?]\õ\×\´\€\X\F\9\*\3\;\B\,\[ó[ß[¾[–[u[Z[W[J[G[O[g[i[t[ˆ[£[ª[¶[¥[£[[Ž[Ž[{[‚[u[y[„[Š[–[«[–[»[ž[­[y[Ž[-[2[[|[ˆ[,ZÓZ´ZN[]^_Âcrf eVe"aÛ\jX¤W¬XWÊWzVËVéVðVãVÖVîVöWW(WvXXÄYSYJWÑWlW¯WçWïW”W W¬WÕWÇW¼WÍW”WPWV÷VóVÒV¹V€VwVWV:VMVLV’V„W[Z¨\XY_X’X„XXW)VåVþVÉVÄWW.WVàVöVúVßVÛVÏVÓVüWWWFW~WŠWtW’W¿XXXFXoX3X WáWÖXXXXiXÁXÃXóYtYæYÒYûY¾Y(Y Y.Y XÇX¿X¯X“Y Y>YgYYÛZNZyZ¬ZÒ[[%[=[O[T[R[T[O[\[[[°[Ä[Ê[Ï[ß[õ\ \\%\/\>\K\X\m\‚\•\£\³\»\Ç\Í\Ø\ß\í\õ]]],]C]c]|]˜]®]Â]Ö]ê]ý^^+^B^X^t^^¨^Å^á^ø__3_M_d_{_ˆ__“_•_ž_¡_¨_±_¿_Ì_Ý_è_ô_û` ````%`0`@`L`[`d`u`„```£`¬`´`·`½`½`º`³`¬`¡`˜```t`i`[`O`E`7`+`!`` `_ø_é_â_×_Ô_Ó_Õ_×_Ü_á_æ_ê_õ_ú````+`:`I`T`[```c`d`f`d```Y`O`G`8`.`'`%`%`*`0`:`@`H`E`8`'`_ø_Ö_³_Œ_l_P_6_$__ _ ___,_:_C_I_M_O_Q_R_U_b_n_…_Ÿ_¼_Õ_ê_ö_ø_û_þ_ü````"`(`+`,`-`+`/`4`>`B`?`:`-``_î_Õ_Â_±_¨_—_ˆ_x_g_P_A_>_+__^ç^Ì^´^œ^•^^^’^£^½^è__^ñ^Ô^®^Š^i^L^7^]ä]™]m]O]T]Z]R]…]a]G\ú\¶\Î]]D]:]8]!]#]N]é^^o^Ê_ç`!_q_ ^ó^Ù^ï_&_M_G_(^î^þ_5_P_Œ_ª_™_i_^‹^4^']þ]¹]]Œ]”]‘]ª]Â]Ñ^^]Ì]Ì]à]ç]Æ]Ž]Q] \ù\ë\õ]].]a] ]Ç]Ý]ð]ý]è]­]O\é\˜\L\ \\ [ô[é[Ý[·[¯[¯[£[š[Ñ[ù\\\2\D\=\0\\è]]#]_\Ý][]h]€a `_H^ë^–^é^©^¼^Î__V_ž_Š_—_›_Ø_Ó__s_ñ`^aa»ccˆbJa,_d`¢c,bÓb `«^Ã]Ë^:^§^-]í]Ä]Í]º]œ]ˆ]¡]]|]8]\Ú\¾\€\h\m\…\•\¥\’\•\“\}\Y\Z\Y\a\G\!\\[ö[ß[§[d[R[V[u[•[ [‘[˜[·[¾[Ð[Þ[ê[í[ç[Ç[Ÿ[{[l[}[¯[Ï[¼[˜[†[ƒ[Š[‚[w[f[N[,[[ZêZÈZ­ZŠZˆZ’ZŠZZ†Z|ZmZLZ*ZYýZZCZ‘Zà[[7[>[F[B[7[&[[Z÷ZíZðZïZçZØZÀZ±Z°ZÁZåZèZêZö[[[6[6[$ZøZÆZ±Z¹ZÀZ£ZrZ]ZOZGZBZ2ZZZZZZYòYÜYÝYöZDZdZkZnZaZFZZYøYõYþZZ*ZNZvZŸZ·Zæ[['[f[•[´[Æ[Ð[Î[Æ[½[µ[¢[’[Š[†[t[k[j[v[|[{[p[k[Z[K[I[S[\[l[q[z[[‚[€[|[m[\[Q[R[X[e[w[Œ[ [µ[Ì[â[ö[þ[û[î[Þ[Ç[¹[¸[Â[Í[Û[æ[ô\\\&\A\[\|\›\¬\«\ª\¥\¦\ \š\”\‘\‡\€\\‰\’\ž\±\½\Ä\Ñ\×\ê\ó]]]$];]H]?]:]8];]D]@]5]-],]<]7]6]\ë\ý]\ü\à\ô]]L^_öb8b``_^â^É^É^â__*_@_K_I_-^ò^­^“^^£^™^h^D^/^)^,^<^s^ƒ^p^R^5^#^$^^:^X^w^‹^’^}^y^›^ó_Q_i_L_^_›_¿_Ê_ß_ö`%`'`9`p`Ž`¶`Óa\b)bcfbïaþc>d=caÝa `Ía`€`_Ü_Å_©_­_Ó_§_r_T_Z_C_2_!_$_ _2^Æ_…boa.aIbÚaÿar`Ä`€a6a>``:_û`¢bbpcMa³aSa _O_8_l_F_g_s_k_f_U___q__ö``ö`ç_î_Š_P__%_E_n_~_’_–__p_G_D_E_>_?_!^î^²^h^]Ð]œ]€]~]‰]‚]ƒ]•]˜]—]­]Ä]Ó]Û]Ü]¸]¥]§]¬]±]°]±]®]©]§]Á]ë]ÿ^^*^$^ ]ô]â]ä]í]ý^^^)^=^Z^~^Š^›^¯^Í^à^î^å^Ó^Á^¨^_^*^ ]ì]Ê]±]‰]c];]O]]]P]B]>]G]H]W]h]w]x]z]]]•]™]¡]ž]£]–]‡]y]l]_]S]C]>]2](]]\ü\ù\ú]]]2]A]M]K]:].]<]7]\û\Ñ\·\Á\ç])]g]¥]Á]±]ª]–]x]i]g]s]—]Ö]Õ]›]S]] ]]]/]G]\]]Ì^^]²]j]+]]]&]\ó\ä\Ø\ä\ý\ÿ\ñ\å\ß]]O]k]O]+]]\è\Ç\°\•\„\~\_\;\\\N\w\g\B\H\D\U\‹\©\À\Í\Ñ\Æ\Á\»\¿\½\À\Ò\ú]]]]] \í\½\“\b\)\[á[Ã[¨[”[†[„[z[p[h[f[c[[[O[C[9[4[7[=[F[M[W[e[p[z[{[~[y[v[i[_[M[8[[ZôZäZßZßZÛZÖZÔZÕZÚZãZòZùZõZôZåZÜZÔZÍZÆZ¾Z¾ZÀZ»Z¼Z¶Z°Z±Z°Z³Z¿ZãZý[ [[[[[[['[5[I[Z[g[{[[¨[½[Í[Ù[×[Õ[Ð[Ò[Ö[Ý[ß[Û[Ô[Õ[Ô[Û[ê[þ\\6\Q\g\|\\š\£\£\Ÿ\”\\‚\p\]\M\?\0\#\[ÿ[ô[é[Ó[¼[²[©[¤[£[ž[–[†[w[h[X[I[@[3[)[ [[[[ [[ [ ZûZðZæZÛZÐZÕZÙZäZìZ÷[[[[[[)[+['[ [[ZöZáZÓZÄZ´Z ZZƒZZuZkZbZ^ZZZWZSZVZTZUZVZZZ\ZfZmZuZ~ZŒZ”ZœZ¦Z®Z·ZºZ¸Z²Z­Z©Z§Z­Z·ZÄZÕZäZó[[[[)[7[?[G[P[W[][d[k[q[{[ƒ[‹[–[¡[¦[´[²[±[­[¯[´[Ä[Ô[à[ç[ë[î[õ[ø[ù[ô[ð[è[ä[â[ä[ë[ô[ù[ó[ä[Ò[Â[»[½[Î[â\\%\O\o\„\ˆ\‚\y\r\p\s\u\x\y\}\\‰\•\¦\¶\É\Ý\î\ò\ô\ï\ñ\î\÷\û]]]]]]]]]]]] ]]]]"]*]-]/].]&]]] ]\û\õ\ê\à\Ô\É\Á\º\µ\²\°\­\«\¬\®\·\Â\Ï\Ô\Ö\Ü\Û\Ý\å\é\é\ç\å\à\á\ê\ó]]]"]+]9]O]e]|]Ž]¬]Î]ö^^5^>^>^8^;^D^L^H^>^)^#^^^^^^&^%^&^^^ ^^ ^^^^ ^]÷]ê]Î]»]]k]4]\ì\Ã\–\|\S\L\;\=\?\B\8\[é[Ø[½[Ž[…[h[o[[[f[s[~[Ž[Ÿ[±[Á[Ó[Î[Ë[Ä[¶[»[£[´[˜[›[›[[°[»[Á[Ï[Ê[¼[¿[•[w[,[J[ [±\[ºZÛ[C[ ] `ÉcŽbàd0g[cÀ\õXèX W—WrWiWmWVíV²VþVëVçVöWW)W+XZZ'Y—X—X W°WtW‡W”W“WáW§WÐWÀW¥W°W‡WjWWVáVÀVªVVfV@V3VHV\VwV‹VWnXhWôWãWµWbWyWVÏVV‹V‹V‹V§V±V¾VÇVÝVØV¸V¸VÓVáVàVÚVëWW3W>WdW‘W³WW¾WÃWxWyW.WWRWsWvW¶XX$X}YYtY‰ZYñYX¾XàXåXÛXÕX½X¾Y8YYÚYïZZbZŠZ§Z¸ZÏZô[[ [.[;[A[I[Y[h[|[‹[¢[¯[¿[Ö[ç[þ\\\ \\\0\@\Y\o\‡\˜\ª\³\»\Â\Ç\Ù\á\ó]]]/]O]f]„]š]µ]Æ]Ý]ð^^^4^J^e^€^š^¯^É^ß^ù__6_Q_h_z__‰__“_–_ _ª_¹_Å_Ö_ß_é_ñ_ü````"`)`/`9`E`P`Z`i`v`€`Š`“``¢`§`§`¢``•`Œ`…`z`p`i`^`R`I`>`4`(` `` _ÿ_ö_ç_á_Ø_Ò_Í_Ð_Ó_Ö_Û_ã_é_ð_ù````&`5`E`U`\`a`g`j`l`k`i`g`^`T`C`4`%````` `#`!`!```_ì_Ó_®__p_X_H_9_3_,_/_/_5_<_?_?_?_=_>_@_K_T_g_v_’_©_Â_Ý_ð_÷_ö_õ_ø_ø````'`4`=`?`C`B`?`C`D`F`=`6`(`_ÿ_å_Ð_Â_´_­_¡_’_ƒ_p_[_M_E_8_ _^ó^Ø^Æ^¬^¢^œ^Ÿ^¥^·^×^ù___^ð^Ë^£^~^Y^7]ÿ]Ä]„]V]5]5]]]^N]Ý]U]4\ð\æ]]]]!]] ]/]Ÿ^ ^G^V^ù_}_G^÷^¤^¯^õ___^ú_ _:_d_}_§_Á_«_e^à^m^]Ï]¬]Ž]p]r]‡]’]°]Ã]Ñ]ò]ú]ë]Ë]Ó]Õ]Å]]L]]\ø]],]K]U]q]‘]¯]Ã]Û]±]{]e]#\‹\[×[Ø[Â[ã\\![ö[Ñ[˜[x[’[ [¡[ö\ \:\e\…\ƒ\´] ]A]A]N]^ ]×_Øgà_®]ì_^y^}^C^R^/^i^¸___;_r_‰_Ü_á_Ý`c`Ëab!cdda‹`=bNc[bmbob`ž_1`„` ^°^^(]é]Ï]¯]‹]ˆ]Š]]M]\ö\Ï\£\Œ\‡\•\š\›\‡\\‚\\\E\Q\V\N\?\2\\ \[ö[È[}[Z[][€[¡[¢[˜[¦[Ñ[â[î[ì[ð[ñ[ò[æ[É[§[–[®[ø\+[ï[™[{[x[ƒ[[|[f[P[6[2[![ZûZãZ»ZªZ©Z²Z¸Z¾Z»Z§Z}ZOZZ Z&ZeZ§Zç[[J[c[h[b[Q[1[[ZúZíZëZêZôZæZ¼Z¨Z¢Z¹Zî[[ZêZì[[)[@[G[ZÙZ±ZŸZœZœZZ5ZZZYóYßYÜYðZYýYûYêYàYÞYÿZMZgZnZjZHZYÿYîYÙYÛYâYôZ Z*ZDZfZƒZµZå[[V[‰[¨[º[Ç[É[Æ[È[É[¾[ª[•[[‡[~[{[~[{[‚[„[ˆ[w[b[Y[d[m[|[[Š[’[˜[“[Ž[€[s[g[][Z[^[m[[›[°[¾[Ï[ä[ð[ñ[â[Ñ[À[¼[¾[É[Ú[ò\\\\-\9\W\w\‘\¨\±\¬\¨\¦\¦\©\²\¶\°\¡\™\–\›\£\²\¸\Å\È\Ï\Þ\ê\ü]]]+]C]W]X]Z]M]D]@]8]1],]/]-]"]']1] ]] \ú\ß\ø](]L]u^_­aŽa<`x_C^Ö^ð^È^Ý__/_4_G_5_^÷^Ó^Á^Î^Ñ^—^X^/^^^^+^=^9^'^^^^^6^M^g^q^^e^Y^f^­___A_l_‡_‰_Ÿ_Ú_Ø_ä_÷`K`Âaaraˆb"b¨c4c aïa§ba‹ara±a)`j``"_à_È__u__à_Ä_p_U_W_>_-__^î^ú^Ð_Ôa_P__n_4_R_F_@_1_B__Q_V_–`~`éa _È_Œ_ƒ_B_g_O_]__v_l_a_G_M_R_q_œ_á` _‡_f_“_X_0_9_Q_i_€_—_“_‡_a_<_/_T_k_?_^¯^P]ó]«]‰]…]…]q]x]ž]¨]¢]½]à]í]õ^ ]è]Í]Å]Ó]Þ]à]å]Ù]Ñ]É]·]®]Å]Ý]â]ö]þ^^]ó]ä]ñ]û^^^^3^X^f^w^^™^¡^¸^Ä^Ó^Ù^Ö^¶^„^J^^ ^]í]Î]¥]~]e]j]`]X]U]M]V]f]h]e]i]{]…]…]…]…]‡]’]]Š]†]w]f][]G]@]5]0]%]]]\û\ô\õ]]]3]I]P];] ]](]\ù\Ü\­\¥\É\ö]6]{]¸]Á]›]Ž]~]d]U]T]`]‡]Á]·]t]4]]] ]],]M]b]˜]ë^^]¾]r],]]]]\ó\ß\Ï\Ì\ê\í\à\Ø\Ö]]7]T]9]]\ô\å\Ý\Æ\ª\œ\˜\r\<\0\9\]\ƒ\€\i\j\i\r\\¤\°\°\­\¦\¢\¨\¼\È\Ù\è\õ]]%]]] \û\Æ\‚\Q\[ö[Ú[½[¤[“[‹[…[|[s[m[m[i[c[Y[N[H[M[L[S[Z[a[i[r[{[€[„[‡[ƒ[~[q[d[N[:[ [ ZüZîZäZâZßZÝZÞZáZèZóZÿ[[ZÿZöZîZåZÝZÔZÌZÄZÁZ¾Z»ZµZ±Z¯Z²Z¼ZËZÜZïZÿ[[ [[[[&[2[=[S[b[r[ƒ[”[®[Ä[×[â[à[Ù[Ò[Ö[Ü[è[ì[ç[â[à[à[é[ô\\\9\O\a\v\ˆ\”\š\˜\”\\‹\\r\_\U\F\8\%\ \[ý[ø[Ý[·[µ[¯[©[¨[¢[›[’[‡[x[m[^[S[G[4[#[[ ZÿZöZòZëZáZÜZÚZÕZÕZ×ZâZñ[[[![,[4[3[*['[,[)[![[ ZûZçZÎZ¿Z·Z¦Z“Z‡Z{ZrZeZ]ZWZQZJZHZEZEZDZJZOZYZ_ZdZhZoZtZ|Z‚ZŽZ•Z¡Z§Z©Z§Z¢Z¡Z Z¤Z¬ZµZÃZÕZåZîZü[[[[,[6[A[H[N[V[][f[n[x[[ƒ[†[Ž[˜[Ÿ[¡[¤[¢[§[°[Å[Ó[à[å[ê[ï[÷[û[ý[õ[ñ[í[ç[ã[ê[÷\\[ú[î[â[Ù[Ø[ã[÷\\-\N\v\\Ÿ\ \–\ˆ\~\z\{\}\{\~\\ƒ\Ž\–\¦\µ\È\Ú\å\æ\ã\ß\à\é\ù]]] ]]$]+])](]&]%]]]]]#].]5]?]>]?];]8],]"]]\þ\õ\î\å\Û\Î\Â\À\Â\À\¿\»\½\¼\Ä\Ñ\å\ò\ø\þ\þ\ÿ]]]]\ý\þ\û\þ]]]]#]&]3]?]X]n]]¨]É]æ^^*^D^M^T^^^t^u^{^p^g^K^G^,^%^&^6^B^[^V^Z^K^E^:^C^A^J^J^M^E^F^-^ ]ü]å]³]‰]J]+\é\Í\‚\q\M\2\*\<\M\E\;\[ò[Þ[Æ[°[¡[Œ[Ž[•[ [¨[£[¹[Í[Ø[ç[î[è[ä[Ú[Õ[Ó[Ë[Â[ª[³[Ÿ[º[Ã[Ñ[Þ[á[Ç[Ò[¨[”[k[I[P[<[Ÿ\j[æZ[[L\Y_b§e der`§[–Y.W—WáWVüVïW)W*VóVìVåVêWWWW9WW®Y"X½XWæWµW¤W„W^WtW«WWŠW­W¥W‚WdW8VöVÎVÀVÓVŒVˆVaVLV4VBV‡VV’VkVpVçV´V¨VäVÆVV‡VzV\VdVqVVƒV—V›V¥VÃVºV¦V“V¦V²V¸V¦V£VãWW(W6W`W‹WjWOW VÎW"WWWbWTWXWÛXRXMX£XæYY5YÃZYÉY]Y;YXíXùXçX»XýY{ZZ7ZVZZZ€ZZšZ¹Zä[ [[/[3[F[`[b[b[r[„[[²[Î[à[õ[ô[ù[ö[ù[÷\\\5\I\g\v\Š\’\¡\«\´\À\Ì\ß\ï] ] ]9]T]u]‰]¨]º]Ó]æ]ü^^&^<^W^s^Œ^^²^É^ç___9_O_f_q_z_~_†_Œ_˜_¡_¯_½_Ê_Õ_Þ_æ_ò`` `````'`1`>`I`R`^`c`n`y``Ž`‘``Œ`ˆ`€`x`q`h`_`X`P`H`C`8`3`%```_ü_õ_ê_â_Ø_Ô_Ï_Ì_Ë_Ï_Ô_Û_å_ë_ô_ÿ` ``!`1`A`O`\```c`h`h`n`o`l`j```R`C`0`!``` ``_û_ù_ø_ó_ë_Ø_Æ_­_’_w_]_M_=_8_2_0_-_/_,_*_%_%_%_-_5_G_X_m_‚__³_É_á_ñ_ô_ô_ð_ô_õ_û` `!`4`>`E`O`P`R`L`R`N`J`=`3`'`_ÿ_å_Ò_Ä_º_·_¯_§__Š_p_[_J_<_(_^ø^â^Ï^¾^µ^­^¨^µ^Ì^è___#__^Ù^¯^ˆ^_^2]ï]ª]v]M]+]\ê]]Û]“]J]X]6]\ø\ó]]]\ö] ]W]¶^^3^v^Ä^à^¨^W^¢^ú^Ð^Ó^ë__G_i_q_‰_õ`*_¾_@^¿^^]ÿ]«]~]g]Q]T]g]„]·]Ñ]Ó]Ï]ö^ ]´]¨]È]ç]Î]€]C]"]]4]Y]f]Q]Y]P]c]n]z]h]e]c]+\ž\)[þ[ð\\S\‡\z\9[ë[v[&[C[S[e[Ï\\k\Ø\õ\Ë\Ï\Ø]]']w]™_‹__`¯]i]ã_^$^J^+^]ö]é^^>^T^‹^è_ _w_¿_ã`` a+aÇbdcâe…bÝa²cícäbÑbcidob=a1_¶]ñ]—]é]¼]Î]Ð]°]˜]€]s]R]1]\ñ\Ä\¨\–\\“\\„\\h\N\=\E\K\N\<\5\$\\ \[Ü[ƒ[O[_[„[¡[š[¡[¯[Ê[Ý[ì[è[å[ç[ö[õ[å[Æ[´[Â[Í[Õ[²[[v[u[~[t[q[\[G[4[7[2[)[[ZþZõZòZøZý[ZúZáZ²ZZMZ2Z>ZaZŽZÃZý[>[l[{[q[_[@[$[ZïZÞZßZæZìZåZÅZ¢Z–Z¦ZÖ[[ZåZØZó["[C[V[;[Z»Z“ZzZzZ€Z(YûYûYêYÚYÅYÆYÕYãYáYâYàYÞYãZZ1ZJZTZ?ZYôYáYÝYÖYÔYÔYàYôZZ9ZVZrZZË[[D[y[˜[±[¿[Å[Ç[Å[Á[À[º[Ÿ[“[•[‡[Œ[Š[w[z[‡[š[˜[[l[t[}[„[‰[•[¦[²[©[˜[†[v[i[_[^[`[l[|[•[«[º[Ê[Ù[ä[ã[Ó[Ê[À[Á[Í[â[õ\\'\;\I\S\\\i\‚\›\º\È\Ç\Ä\·\§\«\½\Ì\Æ\µ\­\¨\²\´\»\¿\Ç\Ô\Ð\â\ù] ]]]']B]T]i]Š]r]O]F]<]3]/]']] ]]]]]] ] ]]+]]] ]ƒ^"`aÝbf`R_i_ ^Ã^Ý^ú_9_E_O_@_5_6_^è^â^Ü^µ^‡^]^]÷]÷]ú^^]û^ ]þ^^&^7^?^P^G^N^D^M^J^d^ª^ß_0__)_k_z_‚_w_œ_é`\`±a,aóbJbêc#bãb˜a`a…a(`Òaàb aw`¹`U` _Û_”_s_|_¦_¼_”_X_S_E_'_ ^ô^ä^Ö^º_ `_O^¸^á^å^ö_(_7_P_,_&_/_C_4_C___T_q_U___d_e_\_L_‚_Œ_Ž_Š_x_e_d_U_o_c__à_=_7_I_<_]_h_|__¤_£_­_§_e_S_R_^_K_(_^¯^]^%]ú]¾]v]l]…]|]{]¨]Þ]ü]ï]ô]ô]ê]Î]Á]È]É]×]ß]Â]­]›]]ƒ]•]¸]Ó]Ü]ó^^+^&^^^-^3^5^>^M^N^c^x^}^^š^Ÿ^±^Ê^ß^Ò^¸^˜^o^O^/^^]é]È]ª]—]…]|]r]f]U]V]Y]`]l]{]{]{]u]z]y]{]{]o]u]s]g]c]O]@]3]*]%]"]] ]\ü\÷\ì\ê\ÿ]]/]F]H]$]]] ]\ñ\Ù\º\¹\Û]]U]]Ê]®]]p]^]O]B]>]L]m]¦]˜]T]\þ\ô\ò\ú]]J]o]­]ù^]ü]É]|]#\í\Ü\â\ð\ä\Ô\¸\¥\·\»\»\Ë\é]#]7]>]-] \ë\à\á\Û\¸\Ÿ\ž\Ÿ\\G\;\C\\\w\€\€\Š\ \¨\©\¥\§\œ\“\”\\™\¯\º\Ö\õ\ï\ú]]\ÿ\ü\ú\Û\‡\G\[ê[Í[±[[’[’[‹[|[k[e[l[v[r[c[[[Z[a[_[e[i[r[v[z[}[†[‹[[[…[y[h[U[@[&[[ZûZðZëZéZéZæZíZõ[[ [[[ [ZùZóZêZÜZÒZÆZ¿ZºZ´Z³Z³Z²Z»ZÃZÏZÝZíZö[[[[[![,[5[C[T[f[u[[–[¬[Æ[Ú[ã[ä[Ú[Ö[Õ[Þ[ì[ò[õ[ò[î[ñ[ø\\\'\;\P\c\t\…\\Ž\Ž\Ž\Š\†\}\p\a\Y\M\A\'\ \ \\[ñ[Ü[Õ[Â[²[¬[«[¥[ž[–[Ž[†[{[q[a[H[3[[ZýZòZèZßZÝZÝZæZêZîZôZü[ [![2[>[K[T[H[<[9[8[0[$[[ ZýZåZÉZºZ³Z¤Z”Z†ZzZmZbZUZJZBZ=Z6Z2Z0Z(Z;ZFZMZOZRZWZ\ZaZkZtZ}Z‡Z•Z˜ZœZ›ZšZšZ Z¦Z®Z»ZÉZ×ZãZïZú[[ [[%[/[5[<[H[P[X[d[k[t[{[[ƒ[„[[’[˜[[ [«[º[Ë[Ø[ã[é[ï[ñ[ù[ú[ü[ù[õ[ð[ê[æ[ì[ù\\\[÷[ô[ò[û\ \\5\O\o\Œ\ž\ª\¦\œ\\€\}\\~\\\…\ˆ\Ž\›\¨\¶\É\Ô\Ü\Ö\Ì\É\Ó\ê\ù\ÿ\ÿ] ]],]2]0]2]/]0])]&]%](].]8]?]H]H]J]B]=]3],] ]]\þ\ó\â\Ï\¼\¸\¹\Ã\Ë\Í\Ë\Ñ\Ö\ä\ó]] ]]]]]] ]]]]]]]])]*]9]4]<]G]f]x]œ]º]ê^ ^)^?^X^]^m^ƒ^œ^”^—^…^^o^v^]^H^Q^a^f^{^r^x^m^q^g^i^n^}^{^‚^v^r^U^B^^]Ó]¢]|].\Û\ò\N\#\%\\\/\I\E\,\\[û[â[á[Í[Ñ[Ã[Î[Ë[ç[í[ú[ÿ\\ [ý[ÿ[ù[ø[ö[à[Ú[¹[¸[©[°[É[Â[â[Í[Ë[Ë[¿[›[’[O[=[>[V[~\[cZ‰[ž]¿`€bXdgˆfV]4XtX_-__^ò^Þ^Ë^»^µ^­^´^Ê^â^ü__$_ _^×^°^†^^^$]Ü] ]w]Y]1]\ó\ó]&]?]Z]T]+\ü\á\á\ð] ]\ø] ]T]À^-^s^‹^p^h^{^…^•^Ê^Ë^¶^×_=_F_q_«_™` `P_¸_0^Ç^f^ ]»]r]X]O]L]K]j]š]ª]®]»]×]ø]Ô]Ã]Ä]Ñ]¼]ˆ]V]"]]8]b]c]F]:]]]]8]G]_]2\Ý\n\6\6\=\g\\¨\\>[Î[WZþZù[&[o[É[ò\j]]4]]\ô][]÷^¼_~bÍ_Æ\ú]b] _P_^£^à^V]ý]á]¬]Ì]í^<^q^¸^ô_D_y_¦``F`S`Da;cedocre9ed¹cbdžj7dc`B^u]³]‹]ƒ]R]{]£]¯]¨]“]l]W]<]\î\Ç\§\”\‘\©\™\~\q\]\O\B\C\C\I\6\+\%\\\[û[[H[Y[‚[œ[˜[¦[¯[¶[¼[È[Å[¹[¾[Ú[ä[Ö[µ[ [£[¢[[{[t[‡[‘[‘[t[^[H[5[[[[[[[["[ ["[[[[Z×Z¥ZnZ9Z)Z8ZbZšZÝ[#[W[z[x[a[>[ZüZåZÎZÆZÉZÓZ×ZÅZžZ‹ZŽZ±Zú[ZíZÒZØ[[@[Z[P['ZÕZ‹Z]ZEZBZ!YùYéYéYØYÇYÃYÆYÇY¾Y¸Y¾YÎYåZZ#Z6Z8ZYíYÔYÌYÉYÇYÒYØYæYýZZ:ZQZjZ˜Z¹Zâ[&[f[[¨[¶[¹[¯[ž[—[¢[²[ª[ª[¸[£[[[p[x[[¬[»[°[¢[ž[“[[—[¢[¹[Ô[Ó[¹[¤[[€[p[i[i[s[…[œ[²[Ä[Ð[Ú[à[Ü[Ð[Î[Ò[Ü[è[ö\ \&\?\S\b\l\u\z\Š\š\µ\Ê\Ñ\È\±\£\±\É\ã\ä\Ì\¸\¶\¿\Ä\Ä\Ê\Ä\Î\Ô\Ü\õ]]]]']7]K]c]Š]Ž]e]:]+]4]>]$]]\ù\ý]]]]]-]<]H]>]|]³]ã^ˆ`cb¡aP`E_"^³__6_I_G_B_D_B_6_0_ _ ^ü^Ü^Ð^¥^2]ð]à]á]ä]ï]÷]ú]ø^^^#^^"^^*^,^5^8^I^ˆ^ï_;__J_s_q_ž_®_Ì_ò`>`…`ðaZa1acbFba“`ð`àa aaa%a`œ_ô_³_Ê_ _ˆ_t_¢_Â_o_>_=__ ^ê^ê^¶^Á^ª^â_Õ^Ü^Î^ÿ^é_#__%______5_R___^_e_ƒ_’_y_q_a_V_U_O_\_n_q_t_g_U_l_P_ž`_O_=_^_l_Ž_¡_¸_À_Â_¹_ü`H`/`8_ö_[_1_^h]ü]À]o]N]t]]h]W]›]Â]Ð]ñ^ ^ ]õ]õ]ì]Ö]Ë]Ð]ß]á]Î]¦]ª]£]¤]®]Ë]Ü]ò]ù^^&^e^y^n^e^_^d^‚^^p^k^`^]^t^‚^ˆ^^º^Æ^Ð^Ó^©^…^m^Q^/^^]ö]á]Î]Á]²]ž]…]y]k]l]q]y]t]r]t]}]|]v]o]h]j]h]\]]]V]L]<]'] ]]]]\ÿ\û\ù\ô\é\ã\ü]]],],\ù\Ó\×\æ\õ\õ\è\Ø\Ù\ý]>]€]½]Å]‰]b]W]N]K]C]<]B]K]s]g]*]\ñ\á\Õ\á]]C]‰]½]ä]ã]É]”]Z]\Ë\¬\±\®\­\©\Š\w\ˆ\¬\Í\ê]]6]2]] \ý\×\¸\±\¢\„\…\–\˜\y\D\9\8\C\X\q\ˆ\¡\¹\¼\½\¨\•\•\“\‚\p\\¤\¾\Ú\ð\å\î]\ù\ì\æ\æ\Ò\\T\[Þ[À[«[›[“[[‹[|[i[e[q[€[{[n[f[b[e[j[n[s[{[y[}[€[‹[[‘[’[Š[€[m[\[F[2[![[ ZÿZüZöZõZóZü[[ [[[[[[ZÿZõZèZÖZÇZ½Z´Z´Z´Z·Z½ZÅZÎZÖZàZîZ÷Zþ[[ [[[.[8[F[S[d[r[‚[–[ª[Â[Ò[Þ[á[Ù[Ø[Ö[ã[ð[ü\[þ\\\ \\!\1\D\T\a\r\‚\‡\ˆ\…\ƒ\€\y\q\d\[\R\I\;\\\ \ [ý[ö[î[à[Í[Á[´[±[°[°[¨[¥[ž[™[[z[f[L[/[[[ZûZôZõZý[[[[[$[2[@[Q[Y[c[f[X[Q[K[A[5[)[ [[ZæZÇZ¶Z³Z£Z•Z†ZwZfZXZGZ?Z3Z'Z ZZ YúZ!Z4Z5Z6Z9Z>ZEZOZZZgZrZ~Z‡ZZ‘ZZ”Z—Z¢ZªZ·ZÀZËZÖZâZíZõ[[ [[[$[-[4[=[G[Q[\[f[p[x[}[[‚[Š[[–[[¢[¯[Á[Ð[Þ[æ[î[ó[ñ[ø[÷[÷[ò[ò[í[é[ä[ê[ø\ \ \ \\\\\"\8\J\a\~\“\Ÿ\£\œ\’\„\|\}\\…\Š\ˆ\Œ\Ž\”\ž\ª\»\È\Ò\Ö\Ì\Á\º\Ë\è\ù]]]]%].]4]7]<]8]6].]+]*].]2]<]D]L]K]K]H]D]>]9]+] ]] \ù\ä\¿\§\£\ª\Â\Ð\Ô\Û\â\ñ\ÿ] ]]&]1]:]:]=]6];]7]6]2]<]9]?];]E]B]K]E]Q]U]r]ˆ]½]à^ ^#^=^N^h^r^‘^¦^¸^²^³^ ^›^•^Ÿ^‰^{^…^^^˜^‡^„^ƒ^^^‡^‰^œ^˜^Ÿ^•^‘^q^Y^4^]å]¹]”] \í\ú\U\"\[º[å\8\K\N\.\$\\\\[þ\[þ\\ \ \\(\!\&\ \ \\\ \[é[Ù[Â[º[¨[Ç[¸[É[Á[¿[Ç[±[Ÿ[›[Z[7[H[;[U[[ºZÏZÒ[k^aód*d_h+e__ZYX]V¤VlV¦VvVžVéVßVüVùW VçVÑVâVôWWTW0WW8WrW5WYWiWW€W^WW WVÝVùW7WEW^WVÜVËVÁV¿V•VV{VvVžVmVV”VsVUóUÜUâUðVVVVVVV-V=VVV[VxVV•V VyVfVhVcVpV^VWVxV‚VŠVÅVÖVæVâVæV÷V®VÙWƒW”W«WùWëXX˜X¸YYMYaYZYbY³Y…YžY³YEY5YšY¢Y]YYºZLZ¸Z’Z`K`R`^`f`j`n`n`o`c`X`I`8`)``_÷_è_Ý_Ø_Ù_Ó_É_¶_Ÿ_}_]_D_._&_^ÿ^í^Ý^Ç^¹^®^¯^¹^Ë^é_ __^ÿ^×^¯^}^S^]Ñ]š]v]Y]1\ÿ\å\ê]]2]O]D]$\÷\Þ\ä\ø] ]]]&]|]û^G^\^b^d^u^Ü_:_ _8_q_^º_ __r`#_¥_f_ž_ˆ_P^ú^˜^,]½]r]a]M]:]-]M]u]‚]Ž]§]¶]ñ^K^R^]ô]³]˜]œ]{]O]\]w]g]<]]],]7]H]C]<]\»\i\A\E\e\Š\\¡\{\[Š["Zÿ[[T[‘[Æ[ò\k]]=]<]]]Û^ú`aþbñ]¦\7^-_Š`j_E_T_%^”]ê]Ê]ª]Ñ^^P^r^¾__P_l_s_ð_ï``‡a…cxeOeÍdYd[eÄgÈd­dDfpc _©^ƒ^k^0]Ð]‰]‹]v]q]ƒ]‹]n]Q]7]\ò\Ó\­\•\•\¥\\w\o\b\Y\C\:\=\6\(\\\[ü[þ[ö[Ç[ƒ[u[‡[œ[«[Ã[Ä[½[µ[½[¾[µ[°[½[Ä[«[ˆ[ƒ[€[‰[o[[[_[‚[™[‡[`[I[4[ZÿZîZú[ [[["[+[)['[ [[Z÷ZÒZ±Z}ZHZ7Z2ZJZZ»Zý[8[V[][W[:[ZïZÑZ¿Z·Z´ZÂZÂZ³ZžZ‡ZZ˜Zç[Z÷ZÑZÒ[ [;[T[W[C[Z¬ZnZNZ-ZZYýZYöYÙYÆY¿Y¹Y³Y¯Y³YÌYïZZ(Z0ZYæY½Y¯Y°Y¶Y¼YÐYÝYôZZ'Z6ZKZlZ—Z¸ZÖ[ [L[z[˜[¬[´[«[[›[«[Â[Ê[Ì[Ñ[Ä[¤[‡[[‰[ [Å[Þ[Û[Ù[Ê[³[¡[¢[®[Ä[æ[ò[Ú[¼[˜[†[|[z[}[‡[”[§[¼[Ï[Û[ã[Þ[Õ[Ó[Ù[å[ö\ \\5\H\]\q\ƒ\‹\Ž\Ž\‘\œ\À\ß\ì\æ\Í\º\Á\Õ\ô\ò\Ö\Á\Ë\Ë\Õ\Ð\È\Á\À\Ð\å\ú]]]],]0];]W]l]]„]P]#]]!]]]]\ü]]]#]6]]]T][]r]’]¸]ä^:`Mc*aÞ`«_Î_&__8_8_F_O_6_9_3_'___^Ü^Î^ž^1]ø]Ú]×]à]æ]ñ]é]ð^]û^^^^ ^^^"^-^N^u^¯__¡`_Ô_Î`N`[`-` `*`Q`Ž`Æ`Ó`ïaêaËa½a¬`ða2a ``-`;`_æ_Í_Ã_–_‹___\_r_2__^ñ^ð^Õ^Õ^^Ç^¦^è`\^Û^Š^¸^™^×^Ü_ _%_M_P_O_<_8_,_8_`_‚_x_{_…_„_q_d_K_S_^_z_ˆ__s_Ž_Ý_²_¼_¿_g_;_O_‡_¥_º_¾_º_Á_Ä_í`-`7`E_ô_F_^´^\^Á^Á^©^v]ø]¯]Ø]¹]§]·]è^]þ]ü]ð]Ú]Õ]½]Á]ª]¤]–]†]p]j]c]]£]â^^;^D^Z^t^˜^ª^¥^ž^œ^Ÿ^´^¸^Š^t^‚^‡^„^…^˜^¹^Í^Â^¼^¿^^m^Z^F^/^^]ð]è]à]Ë]´]¥]]ƒ]}]w]q]y]„]ˆ]ƒ]v]q]j]k]k]X]Y]N]E]C]3]']] ]\ú\ô\ð\ì\é\ë\î\æ\ã\õ] ]\ò\ä\¶\ \®\È\è\ê\å\Ú\Ø]]a]¨]Ö]Â]x]S]E]I]^]d]G]6]4]<]-\ü\ð\é\Ð\¿\À\ã]4]ˆ]£]­]¡]q]M]&\ð\³\‚\f\Q\J\Z\\\\\l\ \Û\ú]]]\÷\á\Ì\º\ž\…\f\P\a\~\‰\d\&\\\\'\B\o\—\°\¸\¹\¤\\\•\‚\o\‡\¦\¾\Û\ê\ê\í\ï\î\ï\ù\ò\Ä\\b\&[ä[¿[±[¨[š[Ž[ˆ[|[o[k[v[„[‚[v[i[h[h[n[s[y[}[z[{[}[„[‹[‘[Œ[†[|[o[b[O[=[.[&[[[ [[[[[ [[[[[[[[Z÷ZæZ×ZÉZ½Z·ZµZµZ¾ZÉZÑZÕZÝZçZíZóZû[[ [[ [*[7[C[N[_[m[€[‘[§[¹[É[Ø[Ý[Ú[Õ[Ù[æ[ò\\ \\\\\%\.\?\L\Z\h\u\~\€\\z\y\t\j\`\U\K\C\:\*\\\\[ô[ð[ç[ã[Õ[Ç[º[¸[¶[¹[·[¶[¶[²[¨[™[„[k[N[9[5[.["[[[+[7[B[H[L[U[][d[k[t[{[u[h[Y[L[?[4['[[[ZâZÄZ±ZªZ›ZZzZlZ\ZOZ?Z1ZZZYÿYþYúZZZZZZ&Z2Z@ZKZ\ZhZsZ}ZƒZ„Z‡ZZ–Z¤Z¯Z¾ZÅZÏZÕZÜZæZðZû[[ [[[ ['[1[<[I[T[^[f[r[{[‚[‡[[–[ [ª[³[¿[Ë[Õ[Þ[å[ï[ó[ø[ù[ø[õ[ñ[ð[ë[ê[é[ï[ö\\\ \ \\\"\2\B\T\j\}\’\˜\•\\ƒ\y\x\y\‚\Ž\•\™\ž\\¢\¨\¶\Ä\Ê\Ï\Ë\À\³\²\Ì\ç\ù]] ]] ],]4]7]9]8]3].]-])]-]2]:]?]E]I]G]D]A]@]@]9]-]]\÷\Ù\³\¨\¡\°\Å\Õ\Ü\ë\ô]]]#]']7]?]N]H]H]D]I]I]S]O]Y]\]d][]\]Z]a]b]o]o]—]¹]ë^ ^*^2^J^[^w^‚^ž^°^Â^½^»^°^­^«^²^¤^©^°^¯^¯^¯^–^“^š^¦^–^™^˜^¬^©^±^¨^^|^b^A^ ]õ]Í]Ÿ]Ÿ]Á] \9\t\[ö[ß\J\e\^\8\;\&\0\&\;\6\<\5\B\;\L\C\R\>\O\2\<\$\7\\[÷[ä[Ì[É[Á[È[´[Ú[º[ß[®[¶[Ÿ[„[I[D[[T[Ê[Ø[SZ©Zë\'_Jbée8f@h c@`ŽZsV£V`VyV5VnV‚V¸VåVùVôW VçVÿVÉVéVãWWVõVÒWVþW3WjWuW8W3VõVÅVšV›V•V±VòW2WVõVçVçVÃV¸V²V”VœV¶VƒV…VpV_V?V(UíUÕUÉUÞUëUûUôUóUüV VV6VBVWVgVyVuVjVXVGV;VBV>V#UÿUóVVfVVPVV&VMV(VWnWWŽXWëWïXˆXÁYAYtY}YÁYÄZY¯Y‹YÁYyYQY™YÅZ!Z?ZZÂ[6[Z€Z Z ZZ8ZSZiZ‘Z¢ZÁZØZü[[>[P[M[P[p[†[©[¸[Å[¾[½[°[³[¹[È[Õ[Ø[Ñ[×[à[ð[ü\\\)\3\M\b\„\ \Ì\ë]]9]h]‡]¬]¸]Ì]Ó]è]ö^^)^H^a^v^‡^Ÿ^Â^Û^ì^ú_ __._<_H_L_Y_`_q__‘__¬_¸_Å_Ó_à_è_í_ó_ô_÷``` ```` `1`@`K`R`V`Z`Z`T`O`F`=`3`+`)`!` `` ````` `_ú_õ_ê_ã_Û_×_Õ_Î_Ð_Ï_Ò_Ü_æ_ò````)`5`@`I`S`Y`b`h`k`l`p`p`u`n`g`^`T`E`7`(``_õ_ß_Ð_½_¶_©_ _š__€_m_W_E_/__ ^ÿ^ø^ó^÷^ü___$_6_K_b__œ_¸_Ò_â_ì_õ_û_ÿ`` ``$`/`0`9`B`I`U`a`p`t``~`|`t`e`W`H`4`%`` _þ_ö_õ_÷_ð_ã_Ê_«_Ž_m_S_6_<_(__^è^Ð^»^ª^©^´^Â^Õ^ë__^â^Á^¤^}^K^]Ô]–]v]]]9] \ð\ë\ó]]#]&]\ê\á\õ]] \ù]]T]­]û^^+^;^X^^ë_|_‡_…_€_ ^Ž^­^°_ _¯_V__;_]_d_!^¡^]Ó]Ã]”]A](] ]5]Q]c]q]‡]¬]è^i^°^V^']Ú]¡]]Œ]z]‘]¼]¤]^]5]N]l]e]<]\ù\Ä\\T\<\)\J\i\w\k\1[Ì[X[[[:[–[Á\\¨\ö]]5]C]H]p^,_‚`Åa+`]]'_/_®_Å^è^É^^_]°]˜]¡]Î^^;^m^¢^Ï__5_Í`À`…`÷bbGc,d«f7eäd d®gÑd¾cbÕaŸ_ñ_ª_v^è^_]ÿ]Þ]©]e]i]w]_]R]9]\î\Ñ\®\\Š\\ƒ\x\l\^\Q\@\0\+\\ [ú[é[Þ[Ø[Þ[ì[é[Ë[·[¶[¿[Ò[ß[×[Í[¿[Ä[Ä[¶[¦[¢[–[…[r[z[[ƒ[i[O[L[b[o[_[K[=[/[[[[["[&['[,[+[([[[ZõZåZÇZ¨Z‡ZcZRZQZbZƒZ«ZÔ[[([:[5[[ZåZÊZ±Z¤ZŸZ¥Z©Z©Z¥ZŒZ€ZZÓ[ZüZÒZÐ[[3[J[Y[V[+ZàZŽZUZ3Z&ZZZ/Z)ZYâYÊYÀYºY¸YÁYÛZZZZ YåYºY›YY‹Y’YŸY¶YÑYôZZ>Z?ZDZiZ˜ZÀZØ[[;[c[€[™[¤[¤[œ[š[°[Ñ[á[Þ[Ü[Ó[²[Œ[„[”[µ[ß\\ \[ù[à[Ã[¼[É[Ø[ð\\[ê[¿[§[š[–[“[[­[Â[Ô[ä[í[ç[Ö[Ï[Õ[á[ú\\0\@\K\X\n\‚\“\ž\£\¥\§\­\É\â\õ\ø\é\Ð\Ñ\Ø\ñ\ï\â\Ò\Ô\Õ\Ü\Õ\Ä\º\À\Í\è\ÿ]]]]]]-]T]l]~]Š]R]\÷\ò\è\å\ï]] ]]]]']U]V]T]q]]Œ]Â]è^Õ`î`~_N_Ž__=_5_"__B_G_2_'_^ü^ð^æ^Æ^È^–^7]ý]Ù]Ó]Ü]ä]é]Þ]Ü]à]é]ð]í]õ^^^^^"^9^\^Ž^ú_‰_³_–_¦`G`ú`•`a`š`Ía`aäaÉaLaSaaºaù`¸`t`‘_Æ_µ_Å_Þ_é_Ó_¢__Å____^û^æ^é^Ú^Ä^¨^^Ê^_=a_/^°_^°^Ï^ý^è__@_ _ _'__Á_¼_b_š_­_¨_¥_™_ˆ_{_`_e_n_‰_Ž_‘_{_ƒ_§_à_ÿ_Œ_‹_^_B_t__¦__œ_¦_¹_Ð_Ô_¯_‰_m_"__`[b‡bicb}_’]¼]‹]Î^^ ]å]õ^]ú^]ü]å]¶]°]Ÿ]œ]—]‘]—]—]‡]¬]ç^(^e^‹^‡^Š^›^¼^Î^Ë^º^¶^Ã^Ã^¯^“^‚^u^|^Ž^™^¯^Ç^Ã^µ^½^«^n^b^c^J^5^^^]ÿ]ë]Þ]Æ]®]¦]›]“]]Ž]]|]x]}]{]s]n]_]^]]]K]C]7].]%]]\û\ð\ß\Ø\Ù\Ú\Þ\ä\ê\å\æ\ñ]\ñ\Ï\·\š\‰\”\º\Ø\Ò\Ì\É\Ø]]j]¸]Ì]²]n]I]C]P]{]…]]]0]]\ò\á\á\Ý\Ã\²\¬\Ó]-]s]~]|]\]]\é\º\Œ\Q\[ù[þ\ \7\N\p\ª\æ\÷\ï\à\Ô\Õ\Á\®\±\¬\†\S\7\?\X\^\1[ú[é[ß[å[ñ\\8\k\Ž\§\¬\¤\\“\˜\ƒ\~\¥\Ä\Ý\ò\ô\ý\ú\ì\ã\Ù\ó\ó\¸\Œ\e\.[ñ[Ì[¼[°[Ÿ[•[Ž[~[w[t[}[†[€[q[f[i[i[o[r[t[w[z[y[|[[…[…[[|[s[k[d[W[H[?[5['["[[[[[[[[![#[!["[[[ZúZåZÕZÇZ¾Z»Z¹ZÀZÊZÐZ×ZÝZåZíZïZõZùZþ[[[['[3[=[H[Y[j[}[Ž[ [°[Å[Ï[Ø[×[Ñ[Û[ê[÷\\\\#\*\/\6\<\F\R\b\l\s\z\|\w\q\k\b\[\Q\E\;\3\+\ \\\[ñ[å[ë[â[ß[Õ[Ç[»[»[¿[¾[Á[Ä[Å[Â[»[®[›[‰[l[[[][V[H[@[C[O[Z[d[j[s[x[{[~[[ˆ[Œ[[m[W[G[5[([[[ZõZÕZ¹Z®ZŸZZ‚ZjZ]ZMZ>Z,ZZYúYíYæYçYìYíYòY÷YþZ ZZ'Z8ZGZSZ\ZgZoZqZtZzZ‚Z’Z£Z´ZÀZËZÓZÕZÚZßZéZðZú[[[ [[[*[2[=[M[Y[b[k[t[[ˆ[•[Ÿ[«[¶[Á[Ê[Ð[×[Û[á[ç[ç[î[ò[õ[ô[ó[í[ë[î[î[ô[û\\\ \ \\\(\7\F\V\d\v\‰\‹\‹\ƒ\|\z\}\‚\‰\š\®\±\²\³\´\¶\À\É\Ð\Ì\Å\º\¯\²\Ê\ä\ù]] ]]]*]1]6]6]2].]']%]#]%]']0]3]9]A]B];]7]?]C];]/]] \ï\Ô\Æ\Å\»\Ê\Í\à\ã\ö\ÿ]]]+]4]L]Q][]Q]N]G]V]Y]a]f]v]x]|]t]s]p]y]‡]–]œ]Î]ö^^*^;^D^Y^i^„^’^¦^¹^Ë^Æ^É^½^¸^¼^Ã^¾^Å^Å^Ê^Ð^Í^¸^³^§^¥^‘^˜^¤^®^¬^²^¨^Ÿ^†^i^K^,]ý]Ù]œ]³]†\È\d\¢\ç]0\Ê\™\\}\d\e\\\_\\\_\W\_\Z\j\a\o\`\r\^\j\L\^\H\M\&\-\\[â[ë[Ê[Ó[Ñ[è[×[ð[»[Ü[Ž[™[N[6[[€[ [dZ¼Z£Z]]nbÊdµdæi;hmb‚_ãYÞVwV½V+V4VUV;VV V¹VÎVûVãVüVÛVýVØVðVâWVÛVêWW0W\WbW/WVæVÃVŒV“V|V“V¼WW_WxW%VõVÝWWWVÂV¤VµVºV’VRVVUãUÑUµUÓUØUóUëUøUíUòVVV#V7VJVXVNVKV-V4V+V!VVUÀU¤UUÑVUÈUU‡U½UáV:WW{W®WÚWÅX*X­X©YwYÎYZZPZŠZ7Y‘Y¶YÃYYwYÆZ¶ZÊZNZ­Z«ZmZ!YíYöZZZ-Z9ZRZgZˆZ­ZÛ[[[:[;[@[b[z[–[ [­[¤[¦[ž[¡[¤[¹[Â[É[¼[¹[±[¸[Ã[Ò[Þ[ñ\\\1\U\t\¦\Ð]])]Z]|] ]­]Á]Ä]Ø]ã^^^8^O^f^v^‹^§^¿^Ñ^ã^ö_ __,_8_?_F_R_g_w_†_”_ _±_¾_É_Ï_Õ_Þ_å_é_å_ì_ø_ü``````+`:`D`I`N`K`G`C`;`/`'`````````` ` `_ÿ_ù_õ_î_æ_á_Ü_Ø_Ô_Õ_Õ_ß_æ_ó````0`:`F`M`T`Z`a`g`k`o`p`r`q`o`h`b`Y`K`>`/`&``_ñ_ß_Î_¾_°_¥_›___r_Z_I_8_%__ _____"_3_F_Z_q_‰_¤_½_Ù_ì_ù``` ```$`1`<`@`?`<`@`E`V`e`v``‰`‹`‡`~`t`p`b`H`8`%````` `_ó_Ý_½_Ÿ_~_i_R_Y_A_(_^ó^Ö^½^°^«^´^Â^Ð^×^á^ã^Å^¬^”^u^G^]Ô]™]|]l]Q].]]]\ú\ÿ]\ü\æ\è]]\Ü\Î] ]^]]­]³]å^ ^"^N^ _6_ _«_}_.^’^k^ƒ^^Ç^¼^ø_g_m_j_'^œ^?^2^]¤]K]+]]])]5]J]o]®]æ^R^·^a^+]ï]˜]V]\]k]‘]»]³]ƒ]c]m]]]?\ð\³\œ\o\D\\\;\J\G\4\ [­[I[[[L[[–[î\Â]8]>]b]6]?]€]û^ð`"`¨_–^o_l_ì_†_s^ü^n^E^a]‘]q]¥]Ø^^)^U^[^j^Û^÷_|`P`h`ÿaíaåb­cÃd´fee dŽfŒd{bŽa‘`ó`P`_×_ ^’^P]ý]Ð]‚]L]Q]D]2]"]\è\Ë\ª\–\‘\‡\z\u\j\b\L\=\)\[û[ã[Ê[·[²[Á[Í[á[ð[ð[á[Û[â[ã[Ù[Ï[É[Á[Ê[Ï[Ä[°[±[²[«[“[|[[Ž[‰[h[R[V[W[M[U[Z[S[C[9[;[=[6[.[([,[%[[[ZìZ×ZÄZ°ZœZŒZyZlZoZxZ‰Z¤Z½ZÖZó[[ [ZíZÏZ·Z Z”ZZ–Z¡Z¤Z¢Z‡ZyZ‡ZÂZñZúZäZè[[&[4[C[Q[0ZüZ¹ZfZ4Z!Z Z Z#Z(ZYõYßYØYÙYÙYàYôZZZYïYÄY›YYtYrY{YY£Y´YÏYûZBZkZjZrZ¡ZàZú[[8[O[a[~[[‹[Œ[—[·[á[ñ[Þ[Ñ[Å[©[—[›[µ[Ü[ý\\%\*\\[ç[Ý[ñ[ø\\\[û[Ñ[½[¶[¶[´[¹[Â[Ó[ä[ì[ì[Þ[Í[È[Ù[í\ \3\T\b\h\n\\ \º\É\Ì\Á\Â\Â\Ó\í]]\ÿ\æ\ß\Ü\í\ó\ê\å\Ü\Ú\Ù\É\¼\¯\¸\È\á\þ]]] ]]]']W]}]Š]t])\÷\à\Ú\Ô\Í\Ð\ä\û]\û]]]"]!]:],]N]]]’]»]ë_Ôa`E_þ_¹_5___ _@_p_\_B_^ô^ä^É^ž^£^p^0]ÿ]Ù]Õ]Ê]Ð]Ï]µ]¼]Ç]Ð]Ú]á]ê]÷^^^^^/^[^¥^Å_ _D_o_{_öa`z`ba/a•b§bÑaM`j`a`a`ù`´_à_Ÿ_Í_š_Œ_Ó_ñ_Ñ_Ú_´_ø`_ˆ___^û^ä^â^À^Á^‘^§^—^Ä_ö`Î_è^»^•^â^Â^À_3_\_$_c`œ`u`GaaZ_à_µ_Æ_±_œ_›_‘_‡__‡__ž_™_›_”_‘_Œ_ø`p_¼_y_O_C___p_„_‚_ˆ_‹_ _¼_×_Î_i_L_Z_®``übQb±cbÅb`^ô^R]Ê]á^ ]æ]þ]û^;^C^ ]§]Š]Š]]x]s]r]r]^]~]Ò^^P^v^‰^œ^©^Á^Ì^Ê^Õ^Ó^Ë^Ï^¥^x^…^•^ž^›^^Ä^ß^Ë^·^¹^¡^q^W^P^?^0^^ ]ý]ï]Û]Á]¯]ª]¦]£]Ÿ]ƒ]w]y]…]„]{]x]n]i]i]V]P]>]1],]!]]\ö\æ\Ø\Ë\Å\Ç\Ä\Ê\Õ\ä\ã\Û\Ü\ä\Ü\Ê\µ\š\€\\Ã\Ï\¹\¬\«\Ñ]]g]²]·]˜]b]=]D]Z]•]Ÿ]]L]\ò\Õ\Ë\Ë\Ê\·\¦\¢\»]]S]b]Q]*\Ø\¦\”\€\S\[Ó[É[Ø[ø\\D\|\½\â\×\Ì\Ä\Ñ\Î\°\¤\®\°\‡\L\ \\(\![ù[Õ[Æ[»[¸[Ã[ß\\,\U\y\\\y\†\Ž\y\}\œ\¾\ì]]]\÷\ç\Ó\±\Ã\Æ\Š\o\U\'[ô[Ö[¾[°[¥[›[”[[‰[[€[‚[w[j[c[d[k[q[r[s[u[v[u[v[v[{[z[x[q[l[g[a[\[T[M[D[:[6[0[-[(['[#[&[&[&[&[&[&[ [[ZïZÛZÊZÀZ¾Z½ZÂZÆZÎZÖZÙZãZìZôZóZðZôZúZþ[[[ [*[8[B[T[l[}[[›[¬[¼[É[Ö[Ô[Õ[Ý[ñ[ÿ\ \\'\3\8\?\G\J\Q\Y\d\n\x\{\v\n\e\Y\R\J\@\5\*\"\\\\\[î[Ø[á[Ú[Ð[É[Â[¿[¾[Ã[Ã[Ç[Ê[Ì[Í[É[¾[²[Ÿ[†[}[y[p[g[X[U[d[m[o[v[€[„[Œ[‹[Ž[[“[†[o[V[:[$[[[ZïZÜZÃZ©ZZZ|ZgZQZLZ@Z.ZZYõYãYÖYÒYËYÎYÑYÛYåYôZZZ#Z4Z>ZIZQZVZXZ]ZaZiZwZ‰ZZ²Z½ZËZÑZÖZ×ZÙZáZçZíZñZ÷Zþ[[[[,[8[A[K[V[_[g[v[ƒ[’[¢[³[À[Ê[Ð[Ô[×[Ù[Þ[à[à[â[ã[æ[ì[ó[ñ[ñ[ð[ó[ô[ü\\\\ \\\*\8\F\T\a\s\\†\ˆ\„\‡\‰\\š\¡\®\Å\É\Ç\È\Ç\Ç\Ë\Ñ\Ñ\Æ\¾\¯\«\°\Å\à\ó\ý]]]]#]*]*]*]%]#]]]]] ]']&])].]2]+]1]C]L]A]8]"] \ì\Þ\â\æ\ß\á\Û\ï\ì]] ]]]4]=]R]W]]]O]M]K]_]d]o]v]…]Š]]„]„]‡]›]±]Ê]à^^^,^9^C^M^c^|^‘^^§^²^Ã^Â^Ê^Ä^Æ^Ã^Æ^Æ^Ó^Ù^å^æ^á^Õ^À^¦^ž^ƒ^‘^¤^¤^ª^­^ª^¡^ˆ^u^V^<^ ]í]·]¡]_]™^]o]#]|]'\Ï\»\É\Ÿ\‘\\Ž\„\„\\„\z\Œ\}\‹\}\\€\€\t\~\b\d\;\F\\$[í\[Ø[û[ê\\\[ï[ì[¶[Î[W[r[&[U[1[DZ[Z»Yë]xdedfgÅbÍ]Á[€WàV…VnUÿVTVV&VSVJVŠV£VÐV³VÒVÚVãVíVóVãWLWWW,W;WWVïVÙVØVÎVžVŽV†V»VÁVíW3WTW(WW W WW>WWVêVæV¬VmVHV UçUÎU­U»UÄUØUÙUèUáUòUðUòU÷VVV+V0V#VV&V#V,VUíUµUUjUcU|UcUZUbUUÝV$V™W#W‹WŸWËXdX°X^YYÅYŠYøZEZ$YîYTYeY½YÙYãYÛZbZ~ZZ;ZeZYØYàYâYçYìZZZZ2Z\Z‹Z»ZáZô[ [[*[X[|[[œ[£[Ž[Š[‚[‰[Œ[ž[§[³[£[˜[Š[[’[¢[¯[Â[Ò[ê\\#\F\t\¥\Ü]]C]k]‘]¤]´]¸]É]×]í^^'^=^[^g^{^Ž^©^¾^Ò^á^ù_ _ _*_6_>_N_[_o_}_Ž_ž_°_º_Â_Ê_Ï_×_×_Ö_Ü_â_í_ñ_ø_ù_ú````+`4`8`=`=`?`6`0`%```` ```` ` ` ` ` ``_ÿ_ý_ù_ò_ð_å_å_ß_ß_Þ_ä_ì_ù```!`5`@`H`R`W`\`a`g`l`n`m`t`q`p`l`c`]`O`H`?`6`*`` _ó_ä_Ô_Å_¸_­_Ÿ__|_j_Z_K_=_5_*_(_/_5_A_O___s_ˆ_ _¸_Ñ_è_ý` `` `'`*`-`2`A`G`P`K`F`>`=`G`Y`j`y`‡``Ž`Ž`ˆ`…``s`\`I`5`)`$`#`)`"``_ù_Ø_µ_œ_…_q_w_[_=_^û^Ú^¼^¯^±^¶^Ä^Ò^Õ^Î^É^·^§^•^w^M^]Ü]©]]ˆ]u][]<]#]]\÷\ë\ç\Þ\á\ò\Ø\³\Ä]]L]i]€]]Í^ ^^E^“^ð___¹_µ_`^Ï^t^‚^t^s^‚^Å_B_Y_o_.^Â^o^]«]X]G]/]] ]]]-]o]Â]õ^^F^^]À]k])]4]D]]]‰]“]Š]€]q]m]L]\ó\Ï\«\y\H[û[ÿ\8\6\-\[ë[•[E[[ [N[j[ƒ[õ\q\¢\º]] ]T]¯^^·_[`Ø_æ_=aaÇ_ç^’^Š^K^]Ý]ƒ]Š]¬]÷^0^R^;^^^T^Ã_>_è`^`îa_a{b„clc&dcãcpe1cëbÒbeaÇaXa"`I_^!^]Ð]—]g]5]'](]]]\à\Á\ª\¨\¤\“\‡\|\f\V\H\3\[ó[Ø[¼[œ[Œ[[­[È[â[ì[ð[é[è[ß[É[½[³[§[ª[´[¹[¶[«[¬[Ã[Ç[«[~[[“[“[v[c[Z[Z[T[`[h[h[h[d[V[@[.[)[([*["[ZÿZäZÇZ¶Z¢Z”Z…ZwZoZoZlZvZ…ZZZ´ZÉZÔZÙZÊZ½Z¬Z’Z}ZpZlZyZ|ZZˆZqZpZ‚Z¯ZÜZëZâZñZü[[&[2[=[(ZÿZÒZZ;ZZZZZZ$ZZYùYðYíYðZ ZZY÷YØYµYY}YnYiYtY‚Y–Y¢Y±YÅYüZUZƒZŠZ®Zì[[/[G[Q[S[d[v[p[u[Œ[·[Þ[õ[å[Ô[Â[¨[¤[«[È[ï\\%\3\;\:\5\'\\-\5\3\<\3\[ø[ç[á[Ü[Ú[Ú[Ü[â[è[ç[à[Ó[È[Ë[â\\)\T\r\}\€\‚\Ž\©\Ï\í\ý\ö\ö\ñ\ë\í\ù]]\ê\ß\Ý\æ\ù\ô\ï\á\Í\Ç\º\´\´\´\À\Ù\ë\ý]\÷\ù]]]<]l]}]Y]\ç\ß\Þ\ß\Ô\Ê\Ï\æ\ï\ë\å\õ]]]`]$]']S]s]Ð]Þ^ûb]cöaÚ` _?_^Ç__o_­_ˆ_T_!^ü^Ý^Ç^Ž^l^H^]î]Î]Ë]Ä]·]´]¨]ª]¸]Ì]ß]ä]é]ó]ý^^^^'^J^^’^ÿ_i_B_l_ú`¶`|`x`¾`²a%a`R`1`K``B`_Ï_Ï_À_Œ_ˆ_É_Ð_ß``,`Ð`0_>__4__ ^Þ^á^º^¹^y^»^o_ba£b^`±^ï^ô^Ð_Ra&a3`°aüdÆb—`:``™_ã_ä_×_¹_²_©_Ÿ_–_Ž_Ž_‰_‹_Œ_Ž_‡_˜_™_‘_”_S_U_a_R_X_g_{_Š_ˆ_‰_Š__–_Ý_›_w_²`*`j`l`¹a§bÕc&dye=ctaÌ_i]Ü]õ]ì]ã]í]ì]ë]ú]é]´]š]‹]–]«]¼]Ê]Ï]Ì]æ^"^V^i^u^Š^™^´^Ï^Ð^É^×^Ö^¸^›^“^Š^€^ˆ^“^ ^À^À^°^·^¸^Ž^k^U^@^*^^^]ø]ã]Û]Ê]»]·]¹]²] ]]…]{]o]w]‚]w]z]j]h]\]G]>],]"]] \ú\è\Ù\Æ\·\°\·\·\¼\Í\Þ\ã\Ô\Æ\¾\µ\®\¡\‰\{\“\½\Á\­\¥\´\Ú]']o]•]]g]I]6]C]i] ]­]]Z]%\õ\È\»\¸\´\¥\–\š\¹] ]?]N]-\õ\¡\s\n\a\/[ø[½[¼[×[ï\\9\i\«\Ô\Ý\Ý\Ò\Ò\È\®\¡\¨\¡\v\C\\\[ü[ê[Õ[¾[³[®[¸[×[î\\\=\b\d\Y\n\|\r\y\”\µ\Ï\Õ\Ý\ç\á\Ì\¹\¢\™\\p\a\I\"[ñ[Î[²[«[§[¢[¢[œ[”[‹[~[v[j[b[_[c[k[m[o[q[s[s[s[p[r[w[s[p[h[i[g[d[][^[W[R[L[F[D[>[8[7[3[1[,[)[&[%["[[[ZêZÕZÆZÁZÁZÉZÏZÐZÔZ×ZØZßZçZðZïZíZñZôZ÷[[ [['[6[B[T[j[€[[[«[¸[Ç[Ñ[×[Ý[â[ú\ \\#\2\=\E\P\U\V\X\]\g\p\v\x\r\f\V\J\D\<\4\'\\\ \\\[þ[é[É[Ñ[Ò[È[Ã[¼[Á[Â[Å[Ç[Í[Ò[Ó[Ð[Ï[Ê[¾[®[˜[ˆ[„[[r[c[_[i[o[p[s[{[[ˆ[ˆ[Š[‰[‡[x[e[F[,[[ZñZæZÔZ½Z¯ZžZŠZ|ZkZYZGZZ?ZCZDZIZMZXZfZyZ‘Z¢Z±ZÃZËZÏZÎZÔZÕZÚZØZÛZâZéZóZÿ[ [[([4[:[B[J[U[e[v[‡[›[¬[¸[Ä[Ë[Ñ[Ò[Ô[Õ[Õ[Ô[Ó[Ô[Ø[ß[æ[æ[è[ê[ñ[ò[ù\\\\\ \\$\7\B\M\\\l\~\Š\Œ\’\—\ž\­\º\É\Ó\Û\Ú\Ø\Ö\Ù\Ö\Ô\Ñ\Ë\Á\º\¯\«\®\Æ\Þ\ð\ü]]]]]]] ]]]]]]]]$]&],]1]3]-]B]O]V]N]C]*]]]]]\ÿ\ý\ù\þ\ü]] ]]]2]E]X]Z]a]V]T]`]y]{]]‹]]] ]š]ž]¢]Á]Ù]î^^^+^9^B^N^^^u^‹^š^¤^ª^¯^¼^Æ^Í^Ç^È^È^Ñ^Õ^ã^ì^ø^ó^ê^ß^È^±^ª^‡^’^š^™^ž^¥^ª^¨^™^‘^j^R^"]ÿ]Î]Å]Ç^-^8]˜]K]7]\÷\ç\ò\Ñ\È\¾\½\¬\¦\–\¡\›\¬\©\¬\ \¢\™\¡\–\—\z\x\T\T\.\.\\[î\\\3\ \5\\[ô[à[™[×[{[Â[ [KZ.ZÈZ ^NeNbðbefâ_ÜZeY‹WVžVJVFVUùV VVV&VEV€VˆV©V»VÔVäVæVêWVöW@WDW6VÿVõV×VàVÙVÂV¥VžV‹V´VØVþWW W WWW6W?W WWV×WV´VoV-VUäUÁU·U³UÃUÊUÌUÔUÛUæU×UñUàUñUûVUùUôUçUûVVUòUËUˆUcU^UOUUU^UaU}U¯V VSVˆVËW W1W›WóXDXIXY[YY”Y¶YwYiYMY–YýZCZ]R]‹]¥]Ö^@^8^g__+___×_Ô_a_^Ô^±^N^4^h^À__&_[_U^þ^^]ä]¤]Z]*]]\î\ñ] ]?]¬]â]ü^]ü]Ï]ž]\] \å\í]]]U]v]s]z]f]Y]\á\ä\Ó\®\‡\L[ñ[Ù[í\\[þ[«[o[2[[ [[/[v\ \G\\^\œ\¡\é]Ò_`4`za…a`Åb bØ`•^—^r^k^<]e]{]¾]¹^ ^=^C^ ]Ì]ï^$^|__è`Z`†`z`ÄbcpbÏboaáa÷d5c{bðbñbIbOb5`°_g^a]ô]Ü]™]_]8]]]\ÿ\ò\×\Î\Ã\º\«\›\\}\r\]\C\&[þ[Ø[²[—[€[|[ƒ[[¿[Û[â[ç[å[ã[Ñ[º[©[¡[š[›[¡[§[›[š[›[©[ª[¡[†[†[[ƒ[g[d[a[a[_[a[^[d[m[k[Y[A[,["[)[&[ Z÷ZãZÉZ¨Z‡ZmZ]ZKZGZSZ^Z[ZWZVZdZrZZŽZ–Z•Z‰ZpZUZFZ8Z7ZCZNZRZTZ_ZTZYZjZZÀZÝZ×ZâZê[[[[([/[ZïZ¨ZZZ)Z Z ZZZ1Z'ZZ YÿYõYÿZZYëYàYÇY¨YŠYvYmYmYwY€YY™Y¢Y®YÊZZhZZ¯Zë[%[R[a[f[d[`[i[n[x[ˆ[»[ß[ç[Ô[Ï[É[¶[¶[º[Ý[þ\\$\/\;\I\W\]\U\b\s\{\o\R\.\[ü[ø[ø[ö[ò[ð[ì[ç[â[Ü[Ö[Ð[Ú[ï\\P\z\\˜\\£\»\Ó\ð]]]]]] ] ]]] \ñ\ä\à\ä\ö\û\ö\æ\Ñ\Â\º\¯\°\·\É\ä\ö\ý]]\ù\ù]]]K]^]I]\á\Þ\ä\è\Ú\Ì\É\Ö\Ú\Ú\ã\õ\ý]/]¯]o]]N]_]’]Ë^`Pd{aÓ_k^ñ^ì^Â^¦^è_S_|_^_^ü^Ø^¿^Ž^V^B^]Ý]×]Ã]·]©]]›]š]°]Î]ã]é]ç]ë]ñ]ù^^^'^=^b^w^ò_]__@_Î`J`m`Z`4`?`—`W`$` _ð_Î_Ë_²_®_¥__~_„_Ù`/`1`!``_u__-_D_(_#^å^å^­^¸^~^ä^r_zbôbÚdLcÌ`2^š^ûa>d5bÖbºb˜a«`¦`z`=`#_þ_ú_Þ_Ê_©_•_š_§_ž_ž___”_–_ˆ_’_”__¹__[_a_T_H_K_V_s_ˆ_”_…_u_n_ _–__ª_Ó`*`Í`æa b¦c²c­e ffÑb<^T]¿]Ý]Ä]Í]¹]©]š]]z]Ž]]‹]„]]‘]Ÿ]¦]°]ë^+^O^p^–^§^§^¦^Ã^Ù^ß^ä^Ç^^Š^Ÿ^°^«^«^­^°^²^°^©^š^|^T^2^^]ü]ð]Ý]Ö]Ì]½]²]¶]´]µ]­]]s]i]}]‹]„]€]y]Ž]{]e]Z]E]6])]]]\ò\Ú\È\µ\©\¢\¨\®\¯\¾\Ñ\Ø\Ï\¸\¡\˜\‘\Ž\ˆ\Ž\¦\²\³\¶\¹\Î\ô])]`]c]Z]K]?]5]B]v]¡]®]]U]*\é\¶\§\Ÿ\—\ˆ\~\Š\²\ë] ]3]\´\P\5\H\U\+[î[Å[Æ[à[ý\\4\[\\Æ\ú] ]\ý\ã\·\œ\Ÿ\—\u\L\+\ [ÿ[ý[ö[ê[Ø[Î[Ç[Ã[Ú[ú\\\ \<\3\:\V\b\p\€\’\¡\ž\¥\¹\Ö\é\Ö\½\«\\x\l\[\8\[ã[Â[¨[©[©[§[¨[§[ž[…[j[a[\[][_[f[k[m[o[p[r[r[p[n[n[q[n[h[e[i[i[k[a[a[][][X[S[O[M[H[D[@[:[3[-[&[#[[[ZøZåZÐZÇZÈZÎZÝZÛZÛZ×Z×ZØZÛZßZåZèZìZíZôZùZþ[[[![0[C[W[l[ƒ[’[ž[­[½[Ê[Õ[à[ã[î\\\"\.\>\I\V\_\f\e\b\f\i\q\w\z\r\d\Q\D\;\3\&\\\[þ[ý[û[ú[ö[í[Ø[Ô[Í[Ä[¿[À[Æ[È[É[Ë[Ö[Ú[Ü[×[Ö[Ó[È[½[¡[…[ˆ[[z[i[d[e[j[k[i[o[t[t[x[z[y[s[b[P[1[[ZíZÝZËZ¹Z¤Z–ZƒZtZhZUZGZ8Z,ZZ YõYåYÕYÇY¿Y¹Y±Y³Y¸YÅYÒYæYõZZZZ"Z*Z*Z/Z1Z5Z`4`)```_ô_í_Ü_Ï_¿_³_¦_Ÿ_™_–_”_—_ž_¨_³_À_Í_Þ_ô` ``*`:`I`R`]`a`e`d`g`h`l`m`j`]`N`D`A`M`Y`i`s`w`ƒ`Ž`˜` `œ`•`‚`o`X`I`>`:`>`?`E`G`E`0`_û_ã_Ê_°_±_ž_~_Y_5_ ^ð^à^à^æ^ó__ ___^á^´^…^`^6^ ]â]Ë]½]³]¡]„]q]Z]I]1]]\ó\ï\ç\Æ\µ\Ö]]%]1]V]ˆ]¼^!^^^ê_8_y``N_»_K_+^þ^s^ ^2^Í_>_9_P_P^æ^N^&]ñ]c] \ì\Þ\É\ì]1]¡^!^ ]ó^]ä]œ]D]\Í\¤\®\ä\ê]]G]H]T]K]%\ä\Æ\µ\œ\Š\o\#[å[Ñ[Æ[Ö[ñ[Ç[[W[[([ Zõ[[V[Ü[õ\](]]F\ž]^Y_·a€bbÌd4bŠb†a@_ ^K^l^ñ]³]Ž]’]x]ß^]Þ]Â]Š]¼]ð^g_(_f_‘_°_”`aMc3c´b4`1`¶cžc{c¢czbgbaÄ`ž_Ì^ç^Q]ö]«]]E]&]] \ù\ò\à\ß\Ì\º\´\¤\ž\Œ\x\_\?\[ì[Ê[¨[Ž[~[[ˆ[œ[´[È[Õ[Þ[Þ[Ü[Ì[º[¥[ª[¥[§[¦[¨[˜[“[[Š[[ƒ[|[~[v[j[Z[h[o[o[f[Z[S[Y[_[b[W[G[7[/[$[ZîZÙZÄZ¨Z‡ZZZ;Z(ZZZ.ZDZ?Z4Z+Z3ZZLZ)ZYïYßYöZZYæYÛYÈY©Y•Y€YsYqYqY{Y‰Y™Y¥Y¶YÈYàZZaZ©[[D[k[y[|[m[a[h[r[†[—[À[Õ[Ö[È[Ì[Ï[Ä[Â[Ä[à[÷\\ \.\>\S\l\€\Š\›\¬\¹\š\s\I\6\&\ \\\ \\[ö[ì[æ[ç[á[Ý[ù\3\q\›\¬\»\Ç\Å\ê] ]]"],]6]7]5](].]*],]\ú\ì\ã\ê\ù]]\é\Ù\Ë\Â\·\²\º\Õ\ï]]\ø] ]\ù]] ]#]:]8]\ã\Þ\Ó\Ò\Ç\À\Ì\Ñ\Ô\Ò\Ô\í\ý] ]w]£]7]=]€]¦^]¾^™a•b`‡_^Á^”^^•^Ú_*_B^÷^Ï^Ì^¯^^N^-]ù]Ê]À]¼]¸]¯]›]›]›]ª]»]È]ß]Þ]Þ]ë]ø^ ^)^)^2^L^]^£_ _-_``,`(`4`8`;`„`V`3_õ_À_Â_¯_£_¯_£_¡_z_r_Æ`‚`‡`G_Ø_P_#_4_(_7_6_.^ò^ï^´^¼^o^º^”_eb'cadàeëbG`}a‹d"f cWbëa¾`1`&a`×`f`I_þ_ê_Ð_§_·_¡_©_®_¡__Ž_„_Ž_ˆ_’_™`#aka_»_`_`_N_U_Y_j_z_r_[_\_\_z__•_£_‡_Š``L`"`¦a‹aÙb²cŒea^]Î]Ø]¥]±]®] ]‹]‹]–]¯]¯]È]ç]ð]õ]í]ç]ñ^$^b^v^t^…^’^£^´^Õ^î^î^Ó^Â^¯^¦^™^›^ž^ ^«^§^•^‰^”^‚^`^8^^ ]þ]ë]à]Ö]Ì]Í]Ñ]Ï]Í]Í]¹]š]‹]‚]„]y]z]‡]…]ª]Ì]Ž]n]a]K]8]+]]]\é\Ô\»\§\™\’\š\¢\¦\°\Æ\Ï\Ê\¹\¢\–\•\˜\\§\®\±\·\Ã\Ö\ã]]!]?]9]6]>]6]5]K]w]š]ž]€]L]\Ø\­\—\‹\€\o\m\‚\¦\É\æ] \Ð\s\*\\#\C\&[ø[ç[é[û\\.\B\V\x\µ\ü]]]\û\Á\©\¥\›\‡\b\>\#\\\\[ý[ö[ì[í\\4\@\7\6\6\/\8\P\]\…\¬\ª\•\†\\§\×\ï\ç\Ê\¨\š\Œ\~\d\0[ú[ß[É[®[«[ª[¦[ª[¹[¤[s[U[U[X[][c[j[l[j[k[r[t[u[r[p[p[p[i[a[`[j[n[m[i[b[_[`[Z[Y[U[Y[U[R[J[C[;[1['[$[[[ZóZäZ×ZÏZÔZÞZåZâZâZÜZÜZÙZÝZÞZâZèZêZëZòZ÷Zü[[[[.[D[X[n[ƒ[—[§[±[¿[Í[ß[ê[ð[ü\ \\,\;\K\Y\h\q\w\t\q\p\o\v\z\y\r\h\R\C\6\-\\\[ý[ö[ñ[ð[ñ[ì[é[ã[Ù[Ï[Ë[Ä[È[Ñ[×[×[Û[ä[å[å[Þ[Ú[Ø[Ñ[Ã[ª[Š[{[ƒ[[p[i[c[^[][b[d[d[d[g[g[c[Z[K[6[[ZðZÜZÆZ¶Z¥Z’ZZmZbZVZFZ7Z&ZZZYçYÓYÅYºY·Y¯Y¨Y©Y­Y¹YÆYÚYëYùZZ ZZZZZ!Z)Z/Z7Z@ZMZ[ZpZZ“Z£Z²Z¾ZÄZ¾Z¹Z²Z´Z¶Z¼ZÃZÑZÛZëZ÷[[[[&[6[D[X[g[x[…[“[œ[¨[²[·[¼[À[Ã[Â[Ã[¿[º[´[«[«[µ[È[Ó[Ý[ã[í[ö[ú[ü[ù\\\*\:\J\a\|\‘\Ÿ\¬\¹\Ê\Ù\ã\î\ó\õ\ø\ï\æ\æ\î\ç\Ý\Í\À\´\²\°\³\½\Ì\Ü\í\ô]\ÿ]]] ]]]]]]]]]]+]/]?]@]N]R]^]_]h]b]a]V]O]E]A]7]4]-]#]]]]]]]+]:]I]P]T]Z]b]w]‘] ]«]Ä]Ü]æ]é]ó]õ^^^^!^)^.^;^B^O^X^g^u^†^^™^œ^£^Ÿ^ ^Ÿ^ ^^§^´^½^Å^Ì^Ö^Ü^Ñ^Í^¸^¦^š^¬^ ^Ÿ^Ž^™^•^™^¦^·^«^¨^Œ^t^Z^C^-^ ]ú]î]Û]Æ]¡]•]n]^]C]>]#]!] \ÿ\ã\Ø\Î\Ù\Ø\ä\Ñ\Ò\µ\²\©\¶\¯\±\\˜\}\p\T\M\1\5\.\<\+\N\9\b\6\x\\_[á\1\!\µZ£ZEY@Z'Zh_ÚgóecàfùaAZÈXÝW WVKVƒUòVUßV7UõVQV8VxVƒV©V¯VÔVÍVæVÖVüW%WBWMW6WW&W+W8W-WVðVâVÒW WOWcWOW[=[K[Y[q[‰[Ÿ[µ[Ð[í\ \8\n\±\ù]:]f]„]–]¨]·]Ì]ç^^^7^N^d^z^Ž^¢^¶^É^ß^ì^ÿ_ __._D_V_m_s_|_}__›_«_¯_¸_½_Ä_Í_Õ_×_Û_Ý_ß_Þ_â_ê_÷````!````````_ö_ò_ð_ì_ë_ï_ö_õ_ø_ü``` ``````````````'`3`D`T`_`l`o`p`w`v`z`y`y`}`z`}`w`v`r`m`f`b`_`W`N`G`?`9`,`!`` _ÿ_ò_æ_Þ_Ó_Ï_Î_Ð_Î_Ó_Ø_ß_æ_ò_ÿ``#`2`;`G`P`[`d`n`u`x`|`|`€`|`{`t`a`O`C`C`G`R`b`f`n`{`‡`“`š`”`Ž`„`r`]`O`O`H`L`L`P`R`R`F`2`_û_à_Ç_Î_¾_§_‡_f_C_#__ ___,_A_P_K_7_^â^©^w^C^]ð]Û]Ò]Ã]·]¦]—]€]j]R]9]]\ù\ì\Ú\Ì\Ò\æ\ú] ]]a]]ù^]í^O^í_…``‡`A_§_g_.^°^ ]ñ^e^í_D_G_^­^z^]å]2\ô\Æ\­\®\ü]t]ß^6^"]ý]Ø]©]g]\Ç\n\[\{\¦\¾\×\ý]"]N]F\é\š\\m\Z\:\ [Õ[¹[ª[[‘[¢[˜[i[>[[%[Zù[2[¯\\¬\€]„^2^-]t]Ž^2_'aú`Ë`úcì`ã`þ`ö_|^©^c^â]—]j]]"]µ]Õ]—]j]k]ž]î^æ_ÿ_Ý_»_k_6`&a cBd³aÈ^@_)c`c‚c­cÂb”a›a`k_É^æ^_^]¸]]k]@]1]\î\ï\ð\ó\Ò\¾\º\°\¦\›\\j\J\[ç[È[°[ž[Ž[[˜[¥[®[·[»[Ç[Ï[Ò[Ç[¿[·[¿[º[Å[Ã[º[®[©[ž[‹[x[s[i[g[\[Q[X[{[[x[i[][U[M[Q[O[J[P[D[7[[ZêZÓZ³ZŽZcZ3ZYûYíYúZZ)ZZYöYüZZZ ZYòYÑY°Y®Y±YÂY×YáYâYèYöZZ)ZCZNZfZ‰ZšZ¤Z°Z¸ZÍZßZò[[[)[$ZúZ¹Z{ZeZXZLZDZ;Z?Z$ZYôYÞYÖYÞYèYÜYÕYÌYµYžYŒYY{YzY~Y…Y˜Y©Y¼YØYóZZPZ¥[[T[t[~[Š[}[s[[[¤[»[Ö[Ô[È[º[¾[Î[Ù[Ø[Õ[â[ñ\ \%\@\T\`\p\‹\©\Ã\Ï\Ø\°\‚\[\L\D\?\0\%\\\\ \ \ \[ü[ð\\@\‚\µ\È\Ù\í\ô]]G]M]Q]L]P]U]X]J]P]P]E]']\õ\ï\ô]]]\î\ä\Þ\Ó\Æ\Á\Â\Û\ñ] ]] ]] \ó\ô]]].]>]\ï\æ\Õ\Ð\Î\Ö\ï\Ü\Ì\Õ\Ý\ë]]],]]_]5]ˆ]º]ê]Â]¹_.b‘d6b7`O_^¦^^½^Õ^Ê^É^´^«^˜^p^E^]å]Ñ]Å]À]å]ð]¡]–]¡]ª]Ê]Ê]Õ]è]ë]ï]ü^^G^9^2^O^i^–^Ï_!_»_ú_À_µ_ø`0`!`.``_ý_»_˜_”_‘_Ÿ_µ_²_t_…_¶`5`G`_«_G_-_/__ __^ö^í^»^¹^š^Å^þ`fbc\d7e´c\cÀe8bûbÂaä`ó`d`+`N`L`-`?`=` _ó_Ý`9`Ø`V_Ä_µ_³_¯_¿_¦_¤_¡_´_¥_Ç`‰`_¡_Z_[_G_K_L_[_V_L_x_ƒ_c_n_ƒ_Œ_‚_x_Z_L_‰_­_±_æ``7`v`Ð_]å]õ]²]ª]£]{]•]õ^E^K^#]Ý]ï]ø]ú^^]ÿ^^^$^L^…^¬^Ò^é^â^û^ò^û_^ó^¹^¡^¦^¬^¼^²^­^¤^Ÿ^‡^t^U^5^^ ]ÿ]õ]ì]Ô]Ç]Â]À]Á]Â]¿]¶]°]]v]k]~]‘]]š]Š]‰]¥]]p]^]J];])]]]\ç\Ï\¶\£\‘\ˆ\Ž\’\—\ž\¯\½\¾\°\¤\š\ \¥\«\µ\±\¬\¹\Â\Ö\ä\ö]]$]"]!]']+].]H]b]}]ƒ]p]G]\Ï\§\Š\x\k\a\g\}\›\´\Ô\ú\¶\\\[ô\ \$\\\\\%\8\E\R\X\s\°\ã\ÿ] ]\ó\Ç\³\°\¶\®\‹\g\P\?\9\>\A\7\/\+\4\T\x\}\~\o\b\b\^\m\„\¨\Ì\È\ž\‚\ˆ\¤\Ý\í\â\Õ\¾\·\¬\”\q\6\[ù[ë[Ñ[½[³[µ[Á[Î[ª[m[L[O[Z[b[h[k[f[g[i[q[s[y[v[t[t[p[e[_[_[g[p[n[l[e[`[a[_[^[[[^[[[Z[Q[J[=[5[-[#[[[ZòZãZÙZÔZßZèZéZéZêZéZçZáZèZåZèZìZíZïZóZú[[[ [[+[@[Y[r[ˆ[Ÿ[®[¼[Ì[Û[ë[õ\\\\"\2\E\W\j\z\…\‰\‡\ƒ\|\y\{\\€\y\p\[\J\9\.\!\\[ü[õ[ó[ï[ð[ë[â[Þ[Û[Õ[Ñ[Ô[Ü[ã[æ[æ[ì[ñ[ó[î[å[â[ß[Û[Î[³[[w[w[x[q[k[c[\[T[T[U[Z[\[[[Z[P[C[5[[ ZóZÜZÇZ³Z¥Z”Z†ZpZ_ZQZFZ7Z'ZZZ YûYâYÏYÀY²Y¨Y Y›Y›Y Y®Y½YÎYÞYíYóYøYüYÿZZ ZZZ!Z&Z*Z6ZBZUZeZwZ†Z–Z¢Z¯Z­Z¨Z¤Z¥Z«Z®Z³ZÃZÌZØZÞZìZø[ [[-[:[J[V[f[s[[[—[ž[¦[­[³[¶[¸[µ[²[¬[§[Ÿ[[¤[¯[»[Ç[Ï[Ø[á[í[ð[ñ[ô\\\9\N\k\‡\¢\±\¿\Ó\â\ì\ö\ù]]]]\ó\í\õ\é\Ø\Ê\¾\³\°\²\¼\Ä\Ó\ß\ì\ñ\ò\ô\ú\û]]]]]]]!]](]+]6];]D]G]R]Y]c]c]g]f]f]`]\]T]O]G]@]:]2])]!] ]!]#]+]6]A]L]M]T]Z]k]~]‘]¤]¼]Ô]ñ^^ ^^!^.^6^@^D^I^E^H^M^^^f^t^|^‰^Š^^Ž^’^†^ƒ^z^^^†^Ž^™^”^˜^ ^¥^¦^­^©^ž^˜^¨^—^™^”^£^¤^¤^°^´^¨^¤^^‚^s^g^S^E^-^]ó]ä]Ê]À]¥]’]t]i]P]=]]\ù\ñ\å\ò\è\ó\×\Ï\°\·\²\¾\µ\·\¥\¦\Š\Š\d\h\D\Q\7\Q\B\^\E\i\R\t\J\k\ \o\>]ZlYäY|YäY·^Heod e*cû_¸ZÆXöWŠVéVXVkVV9UöVGV1V‘VWV¸VVÌVµVÜVÏVÚVÛVüWWCWFWsWkWYWPW[WYWJW?W3W'WZW{W“W~WqWJW:WWV÷VÒV´V°VVRV-VVVVUñUØUßUÂUÇU°U«U£U¨U«U¯U§U˜U›UŒU’UŠUvUsUuUˆUxU|U;UU0UUU¦VV3VNV8VOV’VáVõW W3WeW„W›W’WƒWÈX>X†XŒX®YXýY;YPXÌXeX‡X£XX•X¶XÕXîYY%Y?Y\Y^YjYqYxYrYYY•YµYéZ!Z_ZŽZ³ZÚ[[)[M[b[Y[a[i[g[e[k[a[h[c[G[%[[[*[;[Q[b[|[’[±[Ë[ç\ \7\q\°\û]5]c]]š]±]É]á]ü^^1^K^_^y^^¦^¶^Ë^Ü^í^ú___,_A_R_i_r_{_z_€__ž_ª_´_·_Â_Ê_Ò_Ï_Ñ_Ô_Ù_Ù_ä_é_ø```` `````` `_þ_ó_í_ë_è_ä_æ_î_ð_ó_ú_ÿ`` `````"`"`*`*`.`+`-`-`1`:`E`P`a`l`w`|`€`ƒ`„`‚`†`…`‡`‚`ƒ`‚`€`}`{`{`t`o`k`e`]`V`O`D`:`0`'``` `_ú_ú_ù_ý_ÿ```` ``!`1`<`F`L`Q`S`V`d`k`x``‡`Œ`‘`Ž`‡`y`d`N`B`A`D`L`W`^`k`v`‚`‹`‹`‹`†`…`v`g`X`X`W`]`]`X`V`O`A`3`#` _ñ_Ü_æ_Ü_Ê_³_š_~_[_F_?_C_H_U_i_|_v_]_7_^Ì^‘^Y^*^]ß]Ô]Ê]¾]¹]¬]–]u]Y]A]$]\í\Ù\Ï\Ê\Ç\Í\Ö\î] ]=]Š^^o^]û^‹_I_È`8`_ö_à_=^È^I^^I^Ò_._^ë^´^^R]Á]V]\›\ˆ\²] ]±^^6^V^]°]p]D] \Ê\z\g\r\\–\¹\¾\í]+] \½\l\<\$\[ï[È[±[›[~[c[;[^[†[X[![[Zñ[ [e[Þ\”\÷\µ]f^8^s^^^W_Úc­`C`b€_P^£^À^Å^Ó^=^U]S]:\„\Â]h]z]{]3]<]t]Ê^v_._#_+^Á_ `®b]cÐcü`t]O^Žbõc’c0c:bnaZ`ç`ž`9_L^“^8]å]]]T]W]X]\ñ\ð\à\Ä\Ä\¿\¾\¯\¡\Œ\p\S\0[÷[Õ[Ì[Á[²[²[­[­[ª[­[¬[¾[Ç[Ê[Æ[Ç[Ä[Ç[Ì[Ë[È[Ã[®[[‹[v[a[V[M[I[E[F[X[z[z[w[u[y[w[d[R[E[C[U[S[<[ZþZÛZÇZªZZ\Z%YüYéYÞYõZYýYìYÌY¶Y¼YÒYÙYÓYÄY§Y’YŠY•YšY Y¢Y©Y¶YÀYÐYîZ Z+ZEZcZuZsZ€ZZœZ­Z¼ZÒZæ[[[ZòZÈZ¢ZZ™ZxZSZ8ZYûYìYñYàY»Y£Y«Y¹YÇYÅY¼Y­Y¢Y”YŠY‰Y‰YY›Y±YÐYêZZ,Z_Z²[[G[f[q[…[†[Š[¢[¶[À[Í[Ü[ä[Û[Ê[Ð[â[ì[ä[Û[ç[ý\\F\_\k\s\‚\§\Í\Ü\Ü\ç\Æ\œ\|\l\d\Z\L\>\+\"\+\3\?\H\5\)\ \4\W\‰\¹\Û\ï]]]1]c]s]q]i]p]v]r]k]d]^]L].]]]]] ]\þ\÷\ó\í\í\å\Ú\Õ\Þ\í]]]]]\ú]]]].]B]0]]\ø\ï\ë\ò\û\×\Ñ\Ø\ã\ë]]]]+]E]R]–]Ó]Ã]Ò]Ÿ]²_«bÒcÛbr_é^À^µ^Ó^ð^Ë^Å^¹^‰^m^O^(^]Ý]Ú]ò]Î^^G]Ê]›]¬]¦]½]È]à]ÿ^^^^^-^0^<^T^}^³^ñ_<_—_Á_®_ž_Æ_ú` `_ù_ä_Ø_»__Ÿ_™_ž_²_Ò_‹_k_z_Î`&_Ø_Y_<_5_2__#__^ò^â^Ì^Â^Ã^Õ^í`šdedáebîbŽbŒ`”`f`n`!`````7`?`!`$```½aM`¯`_ð_û_ü`_¾_œ_¡_¬_Ã_¹_·_¸_—_y_c_d_s_l_j_\_o_Ó_Ê_g_^_e_j_c_c_\_2_<_–_â_Ë_Ð_ð_§_^Õ^]Õ]Æ]´]]]{]{]˜]Ã]ê]ì^+^ˆ^Ù^å^È_ ^¾^ƒ^•^¸^Ð^Í^ñ_ ___$__^ò^Ù^“^€^ƒ^^š^£^Ž^u^e^L^6^^^ ^^]ø]ß]É]À]Ñ]Ï]Ç]ï]¼]™]Œ]ˆ]›]‹]Œ]]‰]¥]š]]Œ]…]n]P]7]&]] \ú\è\Ï\²\š\Œ\\|\ƒ\…\Œ\™\Ÿ\£\•\\\’\˜\™\™\ \£\¯\¿\Å\Ô\å]] ]]] ]]$]7]K][]j]^]+\î\Æ\£\†\p\f\g\q\„\˜\²\Ù\ÿ\Ñ\p\[ì[ÿ\\%\>\9\8\F\Z\c\_\X\_\Š\µ\á\ü\ü\í\Î\¯\·\Ï\Û\Ê\¢\†\‚\\–\¯\®\˜\‰\’\«\Ê\Ã\¹\­\©\­\«\²\Æ\×\Þ\Þ\¼\‘\‡\›\Ç\í\ö\í\Ô\Ê\Å\¬\~\I\/\"\[ú[Ý[Î[Ë[Õ[æ[È[[Q[T[_[f[l[o[j[g[f[m[p[s[t[u[t[q[i[d[c[j[r[r[m[k[g[b[b[_[^[^[_[][V[O[E[;[0[&[[[ZûZðZæZãZîZóZõZóZòZõZñZðZïZñZôZóZöZôZúZÿ[[ [[[.[E[_[w[[¥[·[Ë[Ø[è[ù\\ \\\'\:\M\b\y\Š\˜\š\—\\‰\ƒ\€\‚\\€\x\g\S\A\3\#\\ [ÿ[÷[õ[í[ì[ç[ã[Þ[Û[Ù[Ú[ã[ê[ò[ù[ý[ý[û[ú[õ[ñ[ê[ä[Ü[Ì[±[”[ƒ[€[{[m[h[d[Z[R[P[N[P[Q[Q[J[?[3[![ ZöZàZÌZ¸Z¦Z’ZƒZxZfZRZ?Z8Z)ZZZYûYëYÐY½Y¯Y Y‘YYY“YšY£Y±YÀYÍYØYÞYßYâYçYïYøZZ Z ZZZ Z,Z=ZNZ_ZnZ{Z‚Z’Z˜ZšZšZœZžZ¢Z«Z¶Z¾ZÆZÌZÔZá[[[.[<[F[J[S[_[o[z[ˆ[[—[›[£[£[¦[£[£[Ÿ[ž[–[—[[§[²[º[¼[Â[Ë[Þ[ä[å[æ[ú\ \3\P\m\Š\¬\Â\×\ä\ñ\ú]]] ] ]]] \ý\ñ\Ü\Î\Ã\½\¹\º\¼\Ä\Ì\Û\ã\ì\è\ç\ï\ø\ú]] ]]]#]%]+]-]5];]@]F]L]T]Z]^]b]b]f]d]a]^][]X]T]N]J]G]B]>]9]8]8]7]=]D]P]R]W]a]i]y]‹]œ]¬]Ã]Þ]ù^^^0^@^M^Y^e^g^f^_^a^c^p^z^†^†^^‰^Œ^…^€^n^g^[^a^[^j^g^r^o^x^x^‚^‰^’^›^^š^®^¡^ž^ž^¥^¦^¨^­^«^§^ ^“^‹^r^w^c^d^L^=^%^]ö]ç]Ê]³]¢]]o]X]@]+]]\ö]\ò\õ\Û\Ñ\¹\»\°\Ì\µ\¿\¦\²\“\š\q\\Q\j\H\i\F\n\Q\p\Z\€\a\j\2\5\>\ŸZÞZ–Y~YöY×\Ðbÿd®fûb4]…ZX„WaV÷VmViVV=VVgVOV•V”VÊV¦VíVÅWVîWWW)W0WVW;WtW WÉWWwW|W‹WsWxWW•W›WÉWØWÒW’WMWW VüVÐV¼V¤VxVOVVVVVU÷UöUèUíUáUÍUÁU¦U²U§UšU“U’UU†U…UUoUhU_UlUUyUSUUUxU½UéV+VcVV”V–VØWW0WDWEWKWRWnW[WTW|W¹X X-XMXrX™XåX˜X=X?XVXnX‡X•X¯X²XÈXÛXûYY+Y2Y=Y`@`A`G`G`J`P`]`e`r`}`‰`‰``Œ`’``“`‘```‹``Œ`ˆ`‰`…`„`‚`~`{`t`m`d`]`R`H`B`;`3`*`%` ``` `#`$`"`"`'`.`1`<`D`H`K`F`H`H`U`]`i`y`Š`›`¡` `•`ƒ`v`]`N`I`M`Q`R`[`j`v`x`{``Š`ˆ`‰`~`t`o`i`e`h`h`_`T`G`7`,`%`_þ_ì_÷_ò_è_Ù_Ë_µ_–_}_p_p_q_v_~_‹_‰_w_X_'^ë^®^x^C^]æ]Â]³]¯]´]§]Ž]i]M]4]]\æ\Ï\Ã\Ä\Ê\Í\Ó\à\÷]]K]”]À]Ë]þ^h^Ô_[_‚_(_Ž_Ô_$^à^³^U^e^Ñ^ü^ó^ã^°^^g^$]Â]%\š\¬\è]M]Ó^^-^E^ ]’]P]\ð\À\‘\p\[\}\\œ\’\°\ç\û\½\l\"[ù[Û[Ã[Ÿ[Š[”[¦[s[[[Z[S[ [[[[ [š\[è\(\™\ë]F]§]ú]Ì^Y`yb_m_åa ^Œ]µ]™]Ò^S^]¿] ]$\^\—]]]&\Ö\ã\ß] ]2]v]]²]à^ó`&aGb¸`Þ]¥]6` bäbùb|ba¥`þ`®`Š_ñ_!^¦^?]ù]¿]œ]Z]`]w]"\ø\é\Û\Ë\Ë\¾\»\±\¢\‰\r\Y\E\[ó[ò[ä[Ç[´[[ [¢[©[¨[¸[È[Ê[Ë[Î[Ó[Ñ[Ô[Ð[Æ[µ[œ[[z[m[b[S[D[E[D[K[b[o[n[‚[ž[¦[¤[[e[][`[c[X[>[ ZûZÞZÐZ¡ZvZCZYíYâYÚYêYïYÛYÁY¯YªY¬Y¯Y©Y¡Y”YrYPYQYmY„YŠY‹Y’Y›YªY´YÎYêZZ3ZPZVZGZIZaZtZ€Z‘Z«ZËZêZøZöZåZÇZ´Z¿ZÊZ©ZhZ1ZYäYÞYìYÔY±YšY•Y›Y³Y¼Y¹Y²Y¯YªY£Y YŸY›Y¤Y¶YÚZZ.ZTZ“ZÔ[[>[h[u[[‡[¢[Í[Ú[Ò[Ó[Ð[ß[ê[ã[ê[ø[þ[õ[í[ÿ\\F\k\y\…\•\©\Í\í\ñ\ì\ö\ä\½\”\~\v\h\X\E\5\6\C\S\`\a\U\U\Z\i\~\Ÿ\Á\á\ó]]C]e]Ž]›]•]]‰]‹]‹]]‰]€]j]E].]"]']]]] ] ] \ü\ï\å\à\á\æ\î\ý]]]]]] ]!]*];]>]:]E]=](] \ï\ä\ù\ä\ê\é\ñ\û]]/]>]H]T]]š]]ƒ]y]‘]T^ `Sb€aé_Ô^Û^Ñ^¢^°^Ü^È^Ÿ^~^W^;^]ò]Ü]Ô]å]À]Ù^']È]Œ]]˜]µ]Ô]â]ï^^^ ^^1^7^J^^^…^²^ú_R_y_¸` _å_Æ_æ_ð_ú_ã_³_­_¯__—_–_Š_‰_Â_’_W_p_—``_j_G_B_._!_ __^û^ò^Ø^Ô^ì__5a'dÝf¼f e2còbæbWa9`²`G` `.`#` `6`7```$``"`D`D`'`_í_á_è`_Æ_´_Í_»_º_»_°_ _ˆ_k_W_X_[_b_d_^_f_‡_‰_`_`_]_Y_\_J_R_X_6_G_‹_r_;_Š__n_)]÷]¾]Ó]Ž]…]h]>]0]']%]‡]ü^)^S^²^Ô^•__<___p_C__^ú_)___5_$^Ä^˜^d^_^x^†^„^t^x^i^S^5^^^^ ^^]ì]Ó]È]µ]°]ž]›]×]]{]ˆ]t]}]‘]˜]¤]]™]§]®]œ]s]S]F];]!]]\ö\å\Ò\¼\ \Š\w\l\m\n\m\t\x\v\k\d\b\h\l\q\u\~\\˜\ª\¶\Á\Õ\è\÷\ï\õ\ö]]]#]/]9]@]2]\Ú\Â\\}\i\c\f\q\…\Ÿ\É\ó\þ\æ\š\6\[ö\\2\L\]\\\\\i\q\g\Z\X\k\”\Ë\é\ß\ä\Û\Ì\à\õ]]\ã\Ì\Ô\ê\î]]\ú\í\ð]]\û\ë\æ\î\õ\ù\ö\ù\õ\æ\Þ\È\Ÿ\…\…\”\Ä\á\Þ\Ñ\×\Ù\Ê\•\O\6\0\(\[ú[ê[ã[ï[ü[ê[°[o[`[j[z[‚[‡[‰[‚[y[p[h[i[l[m[m[m[k[i[h[s[y[w[s[o[i[h[d[a[`[^[_[\[[[O[I[B[4[$[[[ZÿZúZ÷ZõZúZýZûZûZý[Zÿ[ZþZÿZûZû[Zý[[[[[[ [4[K[f[€[—[¬[Ã[Õ[ç[ú\ \\\#\&\0\@\S\k\\˜\¦\©\¦\œ\•\Š\†\„\„\‡\\q\_\L\<\*\\ \\[÷[ð[í[ç[á[à[Ý[Ü[ä[í[ú\\ \\ \[ÿ[û[õ[ï[ì[á[Ì[±[”[€[|[x[k[l[i[[[W[Q[H[H[G[C[=[2[#[ZüZæZÑZ½Z¨Z•Z…ZxZgZVZCZ2Z&ZZ YÿYñYáYÐY»Y§Y–YˆYYƒYŠY“Y˜Y¡Y©Y²Y»YÂYÇYÇYÊYÐYÖYßYêYðYöYúZZZZ0Z@ZOZ[ZcZjZtZƒZ‘Z”Z™Z–ZšZŸZ©Z´Z¹Z¼ZÈZâ[[[+[5[@[A[E[M[^[i[w[}[†[Š[[Ž[[Ž[‘[’[•[”[ž[¤[°[·[¼[·[Á[È[Ô[Ý[Ú[Ø[ò\\.\N\n\\µ\Í\å\í\ú]]]]]]]]\÷\â\Ë\Å\Ã\Å\Â\Ã\Ä\Ì\Ô\ß\ç\ê\å\ë\ð\û\þ]]]]"](],]0]8]>]F]J]R]U]Z]^]d]a]^]Y]X]X]W]T]U]T]S]U]T]U]U]W]V]V]W][]_]e]f]j]l]}]‰]–]¥]¸]Ë]â]ü^^0^G^X^m^t^|^„^…^~^^†^Ž^Œ^^Š^Œ^‚^}^p^g^Q^M^@^B^>^T^L^Q^S^X^Y^o^|^^§^¤^¬^®^©^©^¤^¤^£^§^©^§^œ^š^‰^Š^~^^n^q^Z^M^C^1^^]ê]Ñ]²]¡]‡]q]O]?]]] ] ]\ú\Þ\Ø\½\Ê\Â\Ü\º\Ì\¬\¿\›\©\\‹\c\y\V\{\[\\Y\~\]\‹\`\e\?\#\ [ê[˜ZÇZ[CZ¡\aåeågÈaÕ]ZXhWJWV‹VV@VKVCVoVV¹VÅVÝVèVõV÷W2WWFW+W]W?WcWVWfWbW˜W‚W§W™W´W´WØWÅWºW§W£WªWÄWÆWŒWVWEW VèVÜVÈV‡VUV-VVVVVVVUÿUðUåUÔUÏU¼U¦U¨U†U‚UnUˆUyUUrU`U]UmU˜U¢U—U”U¾VV!V:VuV¨VãVéWWNWTWcWfWIW$WW#W^W‰WšW¼WÖWñX X1XYX/X:XjXŽX¸XÎX«X®XªX¦X¸XÓXìYY YYYYY*Y4YFYrYËZ$ZSZgZ{Z§Zå[ [)[+[[ [+[;[S[`[k[…[a[=[ZÛZØZÜZò[[[-[L[j[Œ[¬[Ê[ì\ \8\l\µ\ú]6]l]™]¹]Ö]î^^^7^O^f^~^—^­^É^ß^ô___(_@_M___e_v_{_Š_“_™_ _¨_°_º_¿_Ã_É_É_Î_Ñ_Ý_â_ð_õ_þ````#`$`(`#``` _ù_ñ_ã_à_á_ç_á_é_ì_ø_û_ÿ````#`%`/`3`=`C`K`R`X`X`b`a`h`n`x`}`‰``›`™`Ÿ`œ`Ÿ`¡`Ÿ` ` `Ÿ`œ`˜`—`•`—`—`–`”`’`Ž`‹`„`{`s`h```Y`S`M`H`E`?`;`8`:`;`;`9`6`5`5`7`6`9`8`9`6`8`:`>`I`Y`q`Š`£`±`±`§`”`ˆ`v`l`f`d`e`\`_`a`j`l`y`‡`Ž`Œ`†`‚``~`z`v`s`k`]`K`<`.`&` `` `` ` `_ø_ë_Ù_À_©_™_’_Œ___‘__ƒ_l_A_ ^Ò^¡^t^9^]Ë]´]°]®]]ƒ][]<]']\ý\í\à\ß\Û\â\Û\Í\Ë\Ü\õ]]]8]’^(^Ì^Å^©^²^°__.^ã^î^à^Ž^v^Ø^ø^ß^Ì^†^g^p^D]ë]H\¤\ß] ]=]¬]ý^ ]ú]â]’]Q]\ö\ß\®\~\j\\Ž\‰\™\¹\¹\¶\’\R\ [é[Ç[ž[›[Œ[w[š[r[Zþ[2[D[[[>["[[”\@[ê[ã\†\v\}\¢]z^;_™apa_–a`–^S]]­]Ì]Ñ]Ò]\Ã\Å[Å\\À\û\ö\­\¡\U\z\è]J]…]Ê^•_d`Da}aâ^Ë\!]ÁaèbìbVaôa–aŽa™`Ž_ð_y^Û^›^c^,]ñ]ž]Y];]W].]\ë\×\Ç\¾\»\¶\©\™\~\k\N\=\!\\ [û[Þ[Æ[©[›[–[¢[ª[¼[Î[Í[Ò[Õ[Ô[Ñ[Ê[Ã[³[š[‚[p[h[d[c[`[M[L[Q[U[a[r[‹[ª[Ç[Ï[Ú[Í[§[‘[€[y[[[;[ZíZåZÜZ¢ZkZ2ZYíYãYàYäYêYåYÍY­Y–Y–Y—YYYkYKY'Y*YBYdYzYYŒY–YŸY¥Y¹Y×ZZ&Z3Z+ZZ Z"Z>ZSZiZ‡Z³Z×ZåZëZçZÕZ¾Z¾ZÄZ©ZmZ)YôYÙYÕYÜYÇY°Y›Y–YY¥Y»Y»Y»Y½Y¹Y´Y®Y±Y¬YµYÉYèZZQZ€ZËZö[[z[o[t[ˆ[¦[Ï[ã[Ý[Í[Ã[Ï[é[ó[ø\\\[ý\\B\u\™\¬\¿\Ð\ß\ñ] ]]]]\å\¸\¡\Ÿ\“\u\V\G\M\\\j\}\€\~\\Œ\¥\Â\Ù\è\ý] ]4]i]—]¯]¶]¯]°]£]Ÿ]¦]¥]Ÿ]’]~]d]F]7]1]!]]]]]]\ð\è\ê\ç\ä\è\ñ\ÿ] ]]-]G]S]I]>]9]@]L]a]Y]A]\ë\Ò\ñ\ý\þ\ø]]]1]X]j]€]{]ˆ]‘]f]{]k]r]y]^±ab¼a=_w^û^×^¤^°^Ã^£^ˆ^d^4^]ð]ß]Í]Ã]ª]®]ý]×]—]Š]‹]–]Â]Ó]â]ô^ ^^/^E^C^I^a^Œ^·^í_I_l_y_×_Ù_ˆ_©_ç_å_ç_®_†_ˆ_€_¨_±_”_…_Š_c_X_]_b``h_»_[_G_._,_$_'_3_-_^í_^ö_ _ŒaËdg+g*f\:\8\9\;\;\M\\\l\€\Œ\ž\¨\Â\Ó\ß\Þ\Ù\â\î\ÿ] ]]#]] \ñ\×\¸\˜\x\]\S\Y\g\\¸\ù]]\û\Ê\h\[è\\(\G\L\F\X\k\p\h\V\W\h\„\§\¼\³\Ì\Þ\æ\û]]3].]]]]:]=]=]0],],]2];]C]:]-]#]$]]]] \õ\Ü\Ê\¶\ \…\v\k\}\”\®\Ç\Ù\×\Ð\±\~\`\O\=\"\\[ý\\[ø[ä[«[[Š[‘[š[ [¨[¨[¡[‹[x[q[m[k[j[i[l[l[l[u[|[z[x[p[g[h[f[d[`[a[`[\[Z[Q[M[?[3["[[[[[[[[ [ [[[[ [ [[[[ [[[[ [[[["[,[=[U[o[†[ž[¶[Ñ[å[ù\ \\$\,\1\2\9\B\W\o\‰\£\±\¸\±\¦\™\\‰\†\†\ƒ\€\y\h\V\D\/\\\ \[ù[ó[ë[ì[è[ä[ä[ã[ë[ö\\\\\\[ÿ[ü[ô[ð[è[Ý[Ì[±[“[~[r[i[e[h[f[a[][U[J[F[B[9[1[#[[ZðZÚZÄZ°ZžZ‹Z{ZiZXZEZ-Z ZZ YûYêYÙYÆY²YŸYŽY€YxYvYyY…YY˜YžY Y¥YªY¯Y²Y¶Y·YºYÀYÆYÏY×YãYéYõZZZ"Z3ZBZOZVZ]ZgZ|ZŒZZ’ZZ’ZZšZ£Z­Z²ZÃZÖZæZÿ[[[)[+[2[4[@[L[[[d[p[q[t[s[x[{[[„[Ž[”[¡[©[¹[¿[Ê[É[Ò[Õ[Þ[á[ã[á[ñ\ \,\K\m\Š\µ\Ï\è\ò\û\û]]]]]]]\é\×\Å\Å\Ç\Í\Ï\Ò\Ñ\Ö\Ü\è\í\ì\ë\î\ø]]]]]$])])]3]3]=]D]K]M]Q]T]\]`]_]X]S]J]J]I]J]L]O]T]Z]b]d]f]h]n]t]{]z]~]ƒ]†]‡]‹]‘]ž]¢]¯]¶]Ê]Ú]ð^^ ^;^W^k^^‰^”^˜^›^—^—^–^˜^’^“^^‰^^t^`^V^B^=^1^3^7^J^M^U^a^u^€^‰^’^›^ž^ ^£^§^¨^¨^ž^›^“^œ^–^—^‹^“^‡^…^{^w^r^k^^^a^T^K^,^]ô]ä]¿]±]’]†]g]S]/] ]]]]\é\ë\Ï\ß\Ò\ê\Ñ\Ý\½\Ç\§\´\‹\•\y\‹\p\†\n\…\i\‡\i\}\d\b\\([á[æ[†ZÑ[X[,[3]ÉcHf!fb_|[\{\¿] ]F]]¨]Ê]æ]ÿ^^+^@^Y^q^Œ^§^Ã^á^ú__*_9_N_X_g_j_t__Ž_š_¤_©_²_·_¼_¾_Å_Ë_Ñ_Ô_Ü_å_î_ô_ù`` ```&`+`,`(`!`` _ø_ô_æ_ç_è_è_å_ô_÷_ü`` ``` `2`6`<`A`M`T`^`b`k`n`w`x`€`†`“`—` `¤`ª`ª`ª`­`­`¯`­`ª`®`ª`¬`§`¥`¢`Ÿ`£`¥`¥`§`¤`¥`œ`—```w`p`j`d`c```[`V`P`Q`R`N`J`E`A`5`3`-`+`$`#`)`&`)`0`<`P`n``ª`½`¿`»`®`›``†`„`‚`€`u`p`f`e`j`z`‡`‡`Š`…`ƒ`€``„`ƒ`|`o`]`I`=`/`&`!` ``` ``` _ý_í_Û_Ê_¸_¬_¤_œ_™_•__…_q_M_^ó^Ë^¨^v^<^]ò]å]Ò]·]]t]L]5]%]]\ø\ü\ó\ì\×\¶\®\¾\Á\È\Æ\ü]V^ __F^Ï^§^¿^ï^Ê^È__^Ñ^œ^×^ã^±^˜^T^%^2]ü]Ü]”] ]o]Z]4]|]´]Ü]Ê]½]„]C](] \ô\¼\™\Š\”\\¶\Ë\Î\¨\¢\\<[ý\[á[[¸[Ç[{[z[_[,[[#[$ZêZÿ[L[)[2[{\7\d\$\\H]\ë]4^3_g`f`·_Oaaz^=]Q]à^]Ë]»]&]\ [¤\1]];\ï\»\Î\”\Y\„]]{^O_…_ø`»ay`_^Ô]­_âbÂb¬aða7`ÿaIba8_ã_‚_^°^“^[^]ž]V]])]\ó\Ý\Æ\¼\¹\°\§\š\\p\R\>\0\\\\[ô[é[Ð[®[£[ª[¬[²[½[Æ[Ë[Ð[Ñ[Î[Ã[³[Ÿ[‹[z[m[h[i[l[n[k[h[f[j[w[•[¸[Î[Ü[ß[î[Ú[¹[¦[ˆ[t[P[=[ZîZàZÎZZbZYïYÖYÑY×YÚYÚYÕYÀYœYuYgYbYbY\YDY$YYYY7YZYuYYšYžY¤Y³YÒYùZZ)ZYÿYìYüZZ=ZXZwZœZ½ZÒZàZçZíZÓZ¸ZZZXZYßYÍYÊYÏYÅY±Y¡Y¤Y¥Y³Y¿Y¿Y½YÄYÅYÇY¾Y¾YÀYÈYÖYýZ6ZpZªZö[[?[f[„[i[u[Œ[«[Ï[ð[þ[à[Ì[Ñ[é[ù\\\\\\1\a\ƒ\¬\Õ\ñ]] ]]$]8]7]-]\ø\Ñ\´\§\\†\m\Y\a\ƒ\‘\\Ÿ\£\¨\À\ñ]!]+]]]/]t]£]Ë]Ù]Ü]Ú]×]Í]¿]¹]³]®]¦]]w]W]B]7]%]]]]]]\ï\ì\ê\ç\å\ä\ì\ö]]]9]Z]c]Y]^]X]\]b]k]b]V]7]\þ]] ] ]]]A]d]€]’]§]º]¡]]p]{]q]G]X]M]z^ÙaÔc¡a_I^Å^±^ˆ^^^r^h^<^]ø]ð]ß]Ó]¼]]Ü]ð]È]—]{]€]²]Æ]ð^^"^1^4^<^H^K^\^€^­^ä_7_\_\_’_¦_R_{_ä_Â_Ê_¦_k_k__©_ª__…_x_V_U_B_ÝaC`Á_Â_u_]_@_+_*_A_B_B_!__ __êaXcMeQg¬c1a?b4`’`Ðb%bb¦a#``"`-` `*`'``(`6`D`U`Z`A`_ù_Æ_²_Ø_á_ä_É_¿_É_Å_º_»_¤_x_T_I_\_W_k_t_‚_—_’_‰_o_[_U_F_E_5_X_‘_G_ _^þ___Ã_’^¢^Ù]¨]l]}]_][]]G]t^z_½`B`r_º_þ`Ì_X_azb¿b5`³_‘_u_™_í`"_Ý_N_R^µ^K^‚^†^ˆ^g^F^6^-^^^^]÷]í]ø]÷]Ü]·]§]š]ƒ]x]w]k]k]j]~]n]y]‘]˜]±]®]¢]ª]¹]§]¡]â]§]6] ]&]\ý\ú]\î\É\®\—\w\]\S\I\A\7\(\\\\\\\\\7\G\^\m\€\’\©\Â\Å\È\Å\Î\Û\å\í\ú]]\ò\Þ\Ë\ª\’\r\T\C\G\`\“\é]8]W]5]\È\Z\ [ä[î\\\$\6\P\d\e\a\X\_\n\‚\—\±\¹\ß\ò]]]B]J]:],]3]R]d]`]V]I]A]D]Q][]^]]]X]M]B]/]%]]\ö\Ò\¶\«\¡\v\^\]\h\\©\Â\Õ\â\Ý\Ò\³\\\r\M\5\"\\\ [ý[ó[×[¼[£[”[–[™[¥[²[º[«[•[‰[[|[s[q[w[u[z[~[[~[w[o[k[i[h[f[c[b[][[[V[P[I[4[+[$[[[[[ [[[[[[[[[[[ [[[[[[[[ [&[,[6[I[a[y[’[ª[Á[Ù[ó\\\'\/\9\<\?\C\J\[\p\\¨\º\Â\º\±\¢\–\Œ\‡\‚\„\‚\x\l\Z\I\4\"\\\ [þ[÷[ð[ñ[ð[í[é[ì[ó[ý\ \\#\ \\ \[ú[ó[î[æ[Ü[Ç[«[[z[l[c[[[X[[[\[U[P[H[@[<[2[#[[ ZöZâZÎZ·Z¥Z’Z€ZoZYZDZ/ZZZYõYäYÔY½Y­YšYŠY|YpYkYhYmYzY‰Y•Y—Y–Y™YšYŸY¢Y¥Y§YªY°Y³Y½YÈYÓYßYîYýZ ZZ(Z4Z@ZJZRZ_ZwZƒZŠZŒZ‡Z‚ZZ‰ZŽZœZ¤Z±Z»ZÆZ×ZåZó[[ [[[)[2[A[L[U[W[^[_[d[h[u[{[Š[—[§[±[¿[Ä[Î[Ñ[Ú[Ú[ä[â[è[ê[÷\ \+\H\i\‰\¯\Ë\â\ê\ô\ö\þ\ÿ] ]]] \û\æ\Ù\Î\Ô\×\Ý\Û\Ý\Û\ß\ä\ì\ì\ì\î\ò\ÿ]]]] ]%]']*]2]6]?]E]K]L]N]P]T]S]P]I]B]>]?]A]C]G]M]X]^]h]n]s]z]Š]‘]œ]¢]¨]«]±]°]³]¸]¿]À]Ê]Ñ]â]ê]ÿ^^-^B^^^q^‡^“^Ÿ^£^¦^œ^œ^š^™^^‹^ƒ^|^o^b^O^D^0^,^5^H^R^V^]^b^j^t^~^}^ƒ^†^^Œ^”^¦^›^œ^^Ž^€^Ž^†^‡^^‚^€^€^v^t^o^l^a^d^U^M^5^&^]è]È]½]š]Ž]o]_]>]2]]]]\ü\ù\â\ë\è\þ\é\î\Û\Ù\Ã\¾\¢\¦\\–\‡\’\„\Š\\w\r\u\T\Q\\)[Ô[ù[][^Zü[6]‘beƒd4bä\ÜYËXuW;W$VýVÊV¿V¾VºVÁVÜVÏVìWWW*WRWUWVWZWSWfWeW_WsWjW‘W˜WÅWÑWèWòXWôWýWÜWÒW®W¹W¥WºW¤W WœWŸWoWLW8WVßV³VuVVVEVSV^VeV[V[VHVIV"V#VUýUèUÐUÁU“U‰UˆUU†U…U‡U{U†UšUÇUÔUóVVVIVsVžVÑVöVøVÙVæVöWWWW4WuW¤W°WžWËX WÜXXYXMXpX•X¿XÇX×XãXêXñYXáXªX¨X«X´XÇXÒXØXàXÜXÜXêY$YXYzY¯YÎYÝYúZZ?Z‘ZÓZàZÜZò[$[P[>[D[M[`[T['ZùZèZâZ×ZÏZÛZõ[[[ ["[K[h[v[–[À[â\ \J\Œ\Ý]!]_]–]¿]Ù]ø^ ^#^8^R^h^€^ ^Á^Þ^ü__2_F_T_c_j_v_}_ˆ_’__«_³_º_»_À_Á_É_Í_×_Ý_é_ð_ù_ý``` ``!`(`0`2`-`*``_ü_ò_ë_ï_ó_ò_ô```` ``#`.`5`@`H`N`P```c`q`v``„`Ž`“`›` `«`³`¸`¾`¾`¿`À`À`¿`¾`¿`¼`Á`½`¼`¹`¶`´`´`²`·`·`º`º`¼`¶`°`§`ž`•``„`~`{`u`q`i`f`f`d`]`[`P`F`8`,`)`$`!`"`&`%`'`3`>`Q`o`“`³`Æ`Ì`È`À`¯`§```˜`’`Œ`‚`y`v`x`|`‚`„`†`‡`ˆ`‚`‚`ˆ`‚`z`o`c`P`E`7`,`)`,`)`#`1`*`#``_ø_ê_Ü_Ë_¼_®_£_˜_‘_ˆ_|_d_J_!_^í^×^²^„^_^R^D^)^]ã]µ]Š]l]X]<](]]]\õ\×\µ\¢\¨\¢\Ÿ\œ\Û]3]Ÿ^@^ñ_S^û^~^^¢^¯^é^ý^ö^Ã^¶^­^Œ^]^]á]ê]©]˜]y]*]ª]g]!]f]‡]«]ª]“]r]Q]7]&] \ú\ó\Ì\Ñ\ã\ï\Ö\±\…\Ÿ\¾\u\6\[¼[…[Â[á[[k[T[>[[[ZÓZù[R[&[[6[‘\\\\\'\¶\Ñ]&^^Ý_§a£^W^äaI^"]J^]Â]˜]K\ú\Ð\[Ð\š]!]<\É\†\[\5\\\–]]Ì^§_Þ`T``[`8bl`Ü`þaÕaaqaãbÖaoaÇa’`B__G^Ò^Í^ž^"]±]l]!] ]\þ\à\Î\¶\µ\¨\Ÿ\‘\{\b\C\.\#\\\\ \[û[ð[Ø[Æ[¹[«[¤[¡[«[­[¶[¿[º[±[¨[˜[[n[j[d[m[r[k[v[„[‚[‡[¥[Í[ß[ä[å[â[å[Î[ª[œ[‰[q[Q[=[ZûZÝZºZ‰ZHZYáYÌY½Y¾Y¿Y½Y¹Y¦YYPY3Y,Y1Y&YY YX÷XõYYYGYxYYY©Y¶YÓYóZZ'ZZYìYöZ"ZHZ]ZxZ’Z«Z»ZÆZÎZÞZÎZ§ZsZWZLZYÜYÃY¸YºY²Y¦Y§Y¼YËYÐYÑYÐYÌYÓYÓYÓYÎYÐYÔYßYëZ ZHZ‹ZÑ[ [.[E[d[ˆ[n[‚[•[®[Ò[ü\[ñ[Ü[å[ú\ \\\!\ \\3\^\\¸\ï] ]]#]3]C]Y]W]F]2]\ô\Û\Â\¨\\\l\i\‘\±\Ä\É\Ã\Ä\ä]]7]L];]];]“]¼]Ð]Ö]Î]Ü]è]å]Ú]É]Æ]¶]¥]]w]c]Q]>].]#]]] ]\ø\í\ï\î\è\ä\á\ã\è\ô]]]3]H]a]{]|]|]}]]u]k]e]R]9]%]] ]]=]n]’] ]Á]Ô]ï]æ]´]™]˜]‚]X];]D]A]¢_%b/bÞ`Ž_^»^ ^\^i^U^6^8^^]õ]ñ]Ù]Í]ª]Ÿ]©]°]‡]}]¡]Ê]â^>^„^Z^8^7^:^A^H^[^{^^Æ^ú__8_W_]_:_g_¿_˜_‘_x_S_[_”_·_¨_–_‹_v_^_c_z`˜aè`[_•_—_^_E_7_0_2_+_/__^û_Šbd—f\g{gau_Ç`‚_Ù`ÒbaÕbaØ`ž`0`+`/`*`%`-`7`?`P`S`U`B`&_ö_Ö_Á_”_x_{_¨_Ò_ë_õ_Ø_È_­_»_ï_¾_¢_§_³__o_q_s_v_{_f_M_@_4_@_Þa`ä_F^Ù^ò^Ó^Õ_›_É_Œ_’]£]i]»]p]T]y]e]r^¯_Ó`k`Í`‰`·a_Ò^è_Ÿa4aI`_¿`(_ç_û`/_l_$`"_Œ^«^‹^u^k^]^C^(^%^]þ]û]ú]ÿ]÷]Þ]Ã]½]¯]]|]x]q]]}]~]n]l]Œ]]§]¥]•]¤]®]³]­] ]y]r]O]$]/]:]K]F] \ì\ç\ä\Å\–\\a\K\A\6\(\\ \\\\[ú[ý[ü\ \%\:\S\c\~\\ª\°\«\®\¶\Á\Ç\Ï\Ù\å\ä\Ú\Ì\º\ \‹\o\[\M\[\z\¾]]e]„]X]\”\7\[ñ[ì[ó\\\1\E\X\]\^\^\j\q\†\–\¤\¶\ñ]]]']@]B]R]d]i]m]p]l][]J]C]B]L]i]r]k]i]`]T]B]1] ]]\à\º\®\£\w\[\Y\Z\r\ž\¹\Ç\Î\Ñ\ä\Ñ\¬\¶\²\•\t\M\2\ \[û[ó[ì[Ò[±[š[Ž[Œ[–[¦[¸[¹[­[¥[˜[[Ž[“[œ[œ[[‘[„[€[|[s[m[j[j[i[h[e[_[Y[S[K[A[/['[$[[[[[[[[[[[ [$[([-[1[3[4[.['[%[%[)[,[+[2[7[F[U[k[„[ž[µ[Í[æ[þ\\&\3\<\G\I\M\M\Q\[\t\\¬\Á\Å\Á\¹\«\\’\Œ\\\{\t\j\X\E\3\#\\\ [ÿ[ö[ö[ú[ø[ó[ð[ò[ó[ý\ \\\\\ [ÿ[õ[ð[ê[â[Õ[¿[¢[‡[r[b[Z[Q[G[:[<[>[:[8[5[+[ [[ZöZåZÔZÀZ«Z™Z†ZsZ\ZDZ0ZZ YûYðYàYÍY½YªY™Y…Y{YmYdY^Y^YhYtY‚YŽY’Y‘Y“Y—Y™YYžYŸY¡Y¥Y©Y±Y»YÈYÙYèYøZZZ Z-Z4Z[F[I[R[X[f[p[ƒ[”[¤[¯[½[Ç[Ô[Ú[ã[æ[ê[è[í[ò\\\+\D\d\…\§\¿\Ô\Þ\è\ì\ô\ø\ÿ]] ]\ú\ê\å\â\ã\å\ç\ã\æ\ç\é\ì\ï\í\ë\ë\ô\ÿ]]]]&]'](].]0]7];]@]D]E]G]L]O]O]K]C]<]<];]B]F]M]Q]Z]d]q]x]‚]Œ]¤]´]¿]Å]Î]×]Û]Ø]ß]á]é]ì]ñ]ô^^ ^^ ^9^I^_^q^ˆ^^ž^¢^¢^š^˜^”^•^‰^^t^n^b^S^A^-^%^:^Q^]^a^`^a^^^c^i^o^r^j^f^b^t^‚^^^†^x^x^p^|^v^v^w^^ƒ^|^j^q^d^e^Z^\^N^F^.^ ^]é]Ö]È]¨]]z]p]E]:]]]]]]\ø\ü]] ]]\ö\è\Þ\Ò\Ã\¶\®\¬\Ÿ\š\”\†\‚\{\l\f\G\;\\[î[ý[–[îZí\áa×gæcnbP`EZÃY"XVVèVãVÑVÖVÖVèVîVýVöWWW6WWWfWrW}WeWiWfWcWrWvW—W›W½WÕWíXX XWûWïWÂWÀW«W¸W³WÅW°W´W¢WªW’WsWXWAWVéV¨VŠVpV”V†V„V„V†V}VxVZVJV,V!VVUëUÆUµU£U¤U£U™U“UŸU™U¡U½UÐUòVV4VWVtV’VÃVëVåVÔVéWWW*WJW|WÓWÖW¿WœWëXIWìX.X[XBXX¤XÀXÕXÝXæXùYYXøXÄX°XµX¼XÎX×XÐXÖXÕXÔXßYYPYnY•Y²YÄYãZ Z0ZpZšZ·ZÉZã[0[p[6[+[I[_[:[ZØZÅZÏZÑZÞZâZëZìZöZþ[ [-[F[][z[Ÿ[Å[ø\G\‰\º]]E]x]°]Ï]í^^^/^F^`^~^œ^À^ß^ý__3_L_V_j_p_z_‚_Œ_”_ _«_´_»_¼_Â_Ã_È_Ì_Ø_ß_ë_ó_ø_þ`` ```'`0`9`=`8`4`*````_ý```` ````#`0`<`F`S`[`g`k`y`~`‡`‹`’`™`¤`©`¯`»`Â`Í`Ò`Ô`Ô`Ï`×`Ô`Ó`Ï`Î`Î`Ï`Ï`Ò`Ð`Í`Å`Ã`¿`Á`Ã`Ê`Í`Î`Ì`Ç`Â`½`³`¬`¡`š`“`Š`‡`ƒ``x`q`k`d`\`J`B`2`,`$`'`.`.`6`9`@`K`^`~`œ`¼`Í`×`Ö`Í`À`¸`³`­`ª`£`›`‘`‰`„`€`~`~`„`†`Š``Ž`Œ`†`€`z`m`g`\`R`I`@`=`8`;`8`?`4`)``_ÿ_ï_â_Ò_Ä_¯_£_’_ˆ_{_p_Z_@_ _^ò^õ^æ^Å^§^ž^™^€^X^3^]ß]º]—]r]P];]%] \õ\×\¶\š\˜\–\’\†\é]¶^-]ý^^Ÿ^¾^^^7^^Q^¯^ï^Ü^¬^^^I]û]¼]¯]˜]À]Q\Œ\Ð\ä\ö]T]‚]]¨]“]€]z]G]<]3]<]S]"]]]\Î\’\F\R\ˆ\V\([Ï[o[x[¡[¾[¤[v[G[,[[ZðZÇZõ[F[+[&[|[k[n[Ý[ß\\£]Š^ ^Ë`"be_\õ_0^]\þ]–]j]–\è\K[Ó[r[¶\/\_\‡\O\?[å[ò\‰]]|^^Û_ä`t`¿`úcga `aBaèbdFjÛd_af`ë`5_[_ ^»^·^n^]Â]c]]&]$]\÷\â\Ê\¾\«\\Œ\t\Y\?\,\\\\\ \\[õ[é[Õ[¿[¡[Ž[€[~[…[Œ[”[œ[›[•[‹[„[[w[u[x[r[v[ˆ[ [´[Ã[à[ö[ò[è[Þ[ê[à[Ä[ª[—[ƒ[h[I[%[ZåZÉZ¢ZmZ1YøY×YÉY¼Y¸Y½YÄY·YžYtYHY'YY YYXýXûXýXøXöYY"YWYzY‘Y¥Y´YÉYæZ Z-Z.ZZ ZZZ8Z$YóYÏY¼Y²YªY©Y´YÖYãYèYîYãYØYßYåYèYáYâYáYçYùZZXZ¨Zñ[[5[6[P[‡[€[š[¬[¿[ä\\\ \\[ý\\*\%\(\)\7\I\g\–\Í\ö]]*]9]L][]u]s]b]K]+] \ñ\Ó\¬\‡\x\y\\¡\Ä\Ò\Ü\È\®\¹\Ñ\ó]].]']1]b]œ]È]à]Ù]å]ò]í]å]Ö]×]Ë]º]©]“]z]i][]J]9]!]]\ù\ø\ö\ï\ë\ç\á\â\ä\í\÷\ü]]]]@]t]’]–]”]•]]ž]—]~]P],]!] ]/]W]Š]»]Ö]ê^^ ^]á]´]·]‚]D]]!]:]i]Õ^Àabr`H^½^f^e^m^u^E^'^^^^]ç]Ê]³]]{]”]]˜]Á]è^^O^\^;^2^9^=^E^J^Q^f^†^¤^Å^Ý^ù____@_v_k_f_R_;_E_v_Š_“_’_‡_ƒ_’_©_å`Ía2` _¤_ _c_O_?_2_*_%_"__ ^þ_®a¸cŠed‚d(aÊ`]`•`a*c‰c aûa“a7`†`?`D`9`;`<`@`N```h`p`W`E`_ÿ_Ï_ì`e`=``` _î_ÿ` _ú_ö` aÿaÏaa[aÜ`Ø_è_»_Ò_§_p_i_O_5_,_5_"_éa[`^ç^ú^Í^ž_t`¬`v_Ÿ^.]_]Y]w]Z]\ñ^Q`Úa¯`Q_j_^Ã^__1^$^[_ˆ__U`•`4_Ã`_ð_¾`+__c_}_^ˆ^H^9^]ô]û^^^]è]Í]Ë]¹]‘]}]]v]m]]]S]Q]T]p]l]e]{]Œ]­]°]«]¢]§]œ]]g]J]3]-])] ]R]š]˜]P\ó\Ù\ô\®\€\j\K\<\-\!\\[ø[ö[è[î[ë[æ[ç[ë\\\0\G\b\w\‚\‰\‰\‘\›\¨\­\¸\¿\Ç\Å\¾\³\Ÿ\\}\n\`\^\~\ž\í]\]Š]Œ]g\ú\{\:\\[ò[ó\\ \\4\I\V\\\a\w\‰\¥\¬\«\¸\ñ] ]]],]G]p]|]w]n]o]m]W]@]5]-]1]S]k]k]l]j]\]J]6]*]] \ô\Ø\Â\¨\ƒ\g\f\h\„\§\³\½\Á\Ë\æ\Ý\Ê\Ø\×\Ì\·\\f\?\!\ [ü[î[Ï[³[ž[‘[[[™[ [©[­[«[£[[¢[¨[¬[¬[®[¦[–[[…[z[q[k[k[l[k[e[a[W[P[I[?[2[,[+[)[)['[+[,[)[)[([)[*[/[2[9[<[C[J[I[C[@[=[<[>[>[=[@[H[R[^[v[‹[§[À[Ù[ò\ \ \1\@\I\N\T\X\Y\\\b\x\“\²\Ã\Ç\Å\½\´\§\š\\‡\\y\s\c\Y\I\6\(\ \\\ \[ü[þ[ú[÷[õ[ò[ò[ù[þ\\\\ \[û[ï[æ[ß[Ù[Î[»[›[}[h[X[N[E[>[.[)[#[ [ [[ [ZûZñZäZÓZ»Z©ZZŽZ{ZbZKZ3Z Z YýYîYÛYÉY»YªYžYŽY€YsYfY_YZY_YhYsYYY‘Y‘Y•Y™Y™YYYžYžY¡Y¦Y¬Y·YÂYÐYÞYñZZ ZZ#Z+Z4Z=ZJZSZ\Z[Z[Z[ZYZ]ZeZoZyZZ‹Z—Z¤Z°ZÀZÎZÝZæZö[[[[[[![&[/[6[>[H[W[e[{[[£[°[¿[È[Ö[ß[å[ì[ð[ð[÷[ÿ\ \\/\E\e\\\²\Ä\Ò\Ý\â\è\í\ò\÷\þ] ]\ó\ô\õ\ô\ð\ê\ê\í\ð\ó\ô\ò\ì\æ\ç\ó\ú] ]]] ]#]#]'])]0]2]:]:]A]@]F]I]K]F]C]?]?]?]L]R]\]_]h]n]}]‡]š]©]Æ]Ù]ç]ð]ø]ü]ý]ú]ÿ^^^^^^^#^,^6^G^O^\^i^|^…^–^•^–^•^’^Œ^‡^x^m^^^S^C^<^3^+^2^S^`^b^d^e^_^\^W^]^V^T^D^=^?^W^d^m^m^m^e^f^f^g^a^p^k^v^s^v^b^h^b^b^W^Z^L^C^%^^ ]õ]à]Ì]­]¦]‡]t]N]>]!]] ]]]] ]]]] ]] \ÿ\û\ë\ã\Î\È\¶\º\©\ž\•\|\w\`\V\6\\\/\[ò[·[Ü[*^cùe”b¾bø^|YKX$WeVcVÂVÏVÇVÌVÊVîWWW*W(WKW_WpWW“W“W…W}WoWrW}WƒW¬W¹WéWôXXX'X+XWýWéWÑWÅWÆWÌWÐWÊWÂW½W¿WšW£WyWnWCW!VáVÁV¯V¼VºVÂVªV­VœVŒVŒVhVYVHV8V0VVUÜUÔUËU¼UµU«U­U´UËUØUìV VVVAVPVnVšV•V­V×VÿWW9WLWgWWÖWáWÛWºXXVWûX)X>XNX˜X²X¼XÇXâXåXÔXíYYXîXÂXÖXÞXãXæXÝXÕXÕXÝXºXÏYYaY„Y™Y¯YÖYûZ&ZtZ›Z¶ZÀZè[I[MZù[[>[S[Z¿Z—Z†ZžZÇZíZáZØZÜZÝZàZãZç[[V[h[³\!\J\ž\Ö\ð]]8]k]›]Ä]ä^^^.^F^]^z^ž^¿^ã__ _5_K_Y_g_s_~_‡_”_œ_§_±_¸_½_À_Ã_È_Ë_Ó_Û_æ_ì_ò_÷`` ```&`/`7`@`C`E`>`<`/`'```````` `!`'`/`:`H`T`c`n`{`‡`”``£`§`ª`²`¼`È`Ë`Ö`Ü`ã`ì`ë`ð`í`ï`ê`æ`ã`â`á`à`Ý`ß`Û`Ü`Ø`Ö`Ñ`Ñ`Õ`×`Ü`á`ß`Ü`Ú`Ö`Ï`Ç`½`³`©`¡`—`–``Š`|`w`k`e`S`G`9`1`1`9`?`G`N`T`X`d`t`Ž`¨`Ã`Õ`Û`Ø`Ï`É`Â`Ã`½`¹`±`¥``“`‹`ƒ`„`ƒ`ˆ`Œ`’`’`‘``‡`}`v`k`d`b`[`U`M`O`J`I`H`H`=`2`&`_þ_ë_ß_Î_À_²_ _‘_‡_w_g_S_5_^ù^õ_ _^û^Ý^É^Å^³^Ž^g^>^]ö]Ê]Ÿ]v]P]3]\ö\Ó\²\—\‹\‹\—\„\Ç]ó_,^ú^]×^]©]j]w]¡^^˜^è^Þ^‰^O^V^/]ô]Ó]É]Ï^]O\y]]U]O]k]f]j]r]j]V]`]Z]c]W]C]O]1]]\ù\®\^\\%\7[ê[Ê[£[l[d[Z[j[l[o[a[/[ [ZÑZ¹Zò[ ZæZê[«\ \%\w\\7]^†^Â_`/a5cÍ`Ï\\ç_\ü]%]]>\}[˜[ [)[k[˜[Ä\[ó[¼[Î\\•]@]š]ê^–_êakaÖb7cd8ahacUd±caÏb÷bža|aGa(`1_]^ÿ^ç^z^=]ê]X] ]@]8]-]\ò\Ü\Ã\®\¤\\y\^\G\2\$\\\\\ \ [ü[ì[Ó[¹[˜[}[o[g[g[k[l[o[n[u[y[w[|[}[[€[[[§[Ç[á[õ\ \[÷[ä[Ñ[Û[Ò[º[¥[Œ[v[S[2[ZÙZÈZºZ–ZbZ.ZYêYÚYÒYÏYÚYåYÌY¦Y‰YgY;YY XÿX÷YYY YYYY2YPY`YY–YYµYßZZ%Z2Z+Z'Z6ZPZeZoZuZzZ‚Z‰ZZ~Z|Z…Z‹ZnZEZ8Z"YúYàYÔYÅY¹Y¾YÏYíYóYÿZYôYéYïYîYîYêYèYíYòZZZbZ¾Zü[[0[3[E[|[–[±[Ã[Ü\\*\(\%\(\\\"\7\(\$\)\?\^\„\¸\é] ](]9]M]f]{]ˆ]€]w]`]C]']\ò\Ñ\¥\‰\„\\¦\É\×\Ù\É\«\›\¥\Ç\õ] ]D]U]c]’]º]Õ]Ø]Ü]ç]ï]î]ê]ê]á]Ó]¼]¥]]ƒ]{]d]M]2]]]\þ\þ\÷\î\í\é\ê\ç\î\ø\ý\ø\ú] ]*]V]‹]¥]´]º]Ã]Ï]¿]”]^]D]:]H]X]o]˜]Ç]ý^^(^5^+^]é]Æ]]D]#]]]<]b]Ÿ_pb¥aÕ_V^[^u^€^g^Q^L^.^#^]þ]ñ]×]¾]¤]]]§]À]Ý]þ^^%^#^,^1^;^F^L^O^Y^c^u^Ž^ª^À^Ï^Ü^õ__)_<_>_;_>_A_N_b_o_’_Ž__Ž_”_`'a `` _æ_›_r_Z_I_F_=_3_0_#_"_ _»`za|c cId be`;_£`^bwdQc)b-aŽa `œ```L`D`G`G`]```j`q`s`_`R`'`'`a]dCcƒaý`Þ`€`8`<`s`V`a+`ê`7abºb6`þ`ïa1`_Ž_`_V_;_(_I_+__›_›_-_!^Ð^ú`_a=`S_¨_F^ ]p]–]†]Æ_`bRdic·`²_Ó`ßa‡a;a°b/`S_^Í^g^ü_·_¨_Ë__v`+a `4`P`›_ß_A^à^˜^9^^^]ý]ý]÷]×]¬]“]]’]„]t]\]a]g]{]v]e]~]„]—]ž]›]]§]¨]£]Š]m]b]O]<]5]*]$]]*]®^4]¿\ñ\Þ\¹\‡\i\Q\F\3\0\\[ó[è[ê[à[ß[Õ[Ó[×[á[ò\\)\9\M\X\^\d\q\~\Ž\•\ \«\±\±\¨\–\ƒ\r\b\\\\\i\’\¼]][]u]i]N\ë\„\K\)\\[ø[ý\\\\/\G\W\f\ƒ\\°\¯\¹\Å\å]]]])]F]U]I]Z]`]\]U]B].]]].]>]\]f]c]h][]K]5]%]] \ð\Ô\¼\¥\Ž\…\•\˜\·\Õ\Õ\Û\Ò\Ë\Ò\Ó\Ï\â\ô\ø\ê\Ô\¯\w\G\.\\[Ú[¼[¨[›[“[’[—[˜[[¢[¦[¨[¨[¥[¨[¬[ª[®[°[«[¥[–[ˆ[|[r[n[n[n[h[d[\[T[G[?[7[3[2[3[7[:[<[9[:[6[7[;[=[A[C[J[M[S[Y[][[[Y[V[U[T[W[U[U[Y[`[n[~[“[®[È[å[þ\\)\9\D\L\U\]\a\c\d\i\{\›\·\Å\Ë\Ç\Å\»\±\¥\–\Š\\u\n\e\X\G\<\1\)\#\\\ \\[ü[ø[ò[í[ê[ë[î[õ[ü[ý[þ[û[ð[è[Ü[Ó[Ê[½[§[[z[b[R[F[5[,["[[[ [Z÷ZëZãZÜZÕZÊZ¸Z£Z’Z‡Z{ZgZLZ9Z#ZZYïYÝYÊY¹Y«Y¢Y™Y‰Y~YrYkYcYdYjYsY~Y†Y‘Y˜YYŸY Y¦Y¦Y¤Y¤Y¢Y¡Y¥Y«Y²YºYÈYÔYâYñYÿZZZZ,Z6Z?Z?ZAZ@ZCZEZJZNZVZ^ZlZvZ€ZZZ®Z¾ZÎZÛZäZïZñZúZþ[[[[ [[[$[3[C[V[l[‚[˜[©[»[È[Õ[á[é[ð[ô[÷[þ\\\"\3\D\_\w\“\¦\·\Â\Í\Ö\Ü\å\ê\ñ\ý] ] ]]]\ù\ñ\í\ï\ó\û]\ý\÷\î\è\æ\ñ\÷] ]]]]]]!]#](]*]0]1]>]?]J]K]O]J]L]H]I]M]`]j]s]w]]„]–]¦]½]Î]å]ò]ý^^^^^^^!^2^7^8^6^;^:^=^B^L^S^U^a^x^†^‰^‰^Ž^‰^^y^m^b^\^W^c^U^P^Q^_^e^o^j^n^j^k^[^V^E^D^:^/^^^^<^K^P^V^R^T^U^X^Z^Q^]^R^k^b^Z^N^L^I^O^K^J^D^?^$^"^^]å]Ñ]»]¤]Œ]t]V]=]-]] ]]!]#]]]]]"]]] ]]\û\ë\ä\Ö\Ë\¾\¨\˜\€\o\\\G\\ \\.\[î[¼[œ[½^ a`Ãb¿aá\MYXâWjVÔV“V›VµV¹VÛVçWWW7WGWcW{W–W¦W¶WÅW¿W—WW”W”W®WÈWîXXX:X@XMXAX=XXWÜWèWâWêWçWóWâWÑWÖW¿WÏW¬WWpW`W9WVéVçVâVÛVÙVÏVÂV¶V¥V›V‡VmV]VWVBV/VVUíUßUÊUÈUÀUØUïVVVV$VV/V0VAVoVyV­VäWW,WKWjWW£W¾WÜWàW×XX3XX4X8X\X”X¨X¸X·XÏXÕXÍYY%XøXàXÈXõYYXùXòXßXæXøX¬X–XåYBYnY{Y—Y½YìZSZÕZ¿ZˆZ¯[%[m[*ZÝZâZ÷ZîZ¦Z~Z‚ZmZƒZ‚Z‡Z¢Z·ZÌZ¨ZZ‡ZyZ“[)[›\h\{\#\Ý]] ]]\]¨]¡]À]Ø]þ^^(^=^]^t^Ÿ^À^å__$_>_P_c_p_{_ˆ__œ_©_²_º_À_Á_Ç_È_Î_Î_Û_á_ì_ð_ö_ú````)`4`:`@`J`L`S`K`N`F`?`3`-`'`%`%`+`)`-`+`4`B`Q`]`j`u`‡`“`£`°`º`¾`Å`Ä`Í`Õ`á`è`î`ø`üaaaaaa`û`÷`÷`ó`ò`ì`ê`ê`ç`æ`ä`à`ß`á`å`ì`ï`ï`ñ`î`è`ä`Ý`Ò`Ê`¿`¹`­`©`œ`˜`‰`ƒ`w`l```S`H`D`H`U`^`i`l`s`t`{`ˆ`œ`´`Ç`Ö`Ú`Ø`Ñ`Ð`Ì`Í`Ì`Ä`»`°`§``–``‰`‰`—`›`Ÿ`Ÿ`œ`•`Ž`ƒ`v`m`e`k`g`d`c`]`W`T`T`J`B`9`)``_ë_Ú_Ì_¿_¶_£_”_‚_r_c_N_4_ ^÷^û_ __^ö^à^Î^»^¢^ƒ^c^=^]ì]½]]a]8]\ö\Î\®\’\€\z\‘\•\‹]]Û^r^"]Ï]é][\ò\ø]x^8^€^£^·^k]þ]ù]ý]ñ]ö]á^^ ]\ž]ƒ]Ó]–]”]e]I]9]&]]8]O]o]“]{]\]B]5]\å\›\M\\\[ã[¾[˜[„[h[^[e[%[[1[6[ZþZ·ZÁZìZ×Z¸Z­[%[È\y\Õ\C\B]]{^“_ì`q`îc al\]``%]Œ]j[Â[…[­[EZÉZþ[ [[4[Ž[£[{[æ\K\”\ó]7]{^0_£aD`¨`¨bbbqaÿb‡b¯b„aËa;`óaKa}a½b a_ø_N^ú^¥^g]È],] ]@]G])]]\é\×\¾\­\\x\b\R\6\*\\\ \\ [ÿ[ð[à[Å[§[ˆ[n[][][_[][U[S[S[[[h[p[z[†[Š[”[¦[¹[Î[ë\\\\[í[Ô[Å[Å[À[«[”[t[[[:["[ZÞZÑZºZ“ZhZ;ZZYíYéYùZYýYãYÊY¯YŠYQY4Y"YY YYY Y$Y8YHY[YgY_YhYxY‚Y™YÍYùZZZ'Z0Z?ZVZaZfZiZmZwZ{ZzZhZWZTZYZOZ^R^X^\^\^^^i^w^„^›^®^À^Ø^î___+_3_5_=_F_I_U_`_w__˜__¶``«a1`Z_æ_Ì_ˆ_v___X_Q_P_M_M_A_@_,_~_}_‡`oa`d¦dÓ`õ_Ça$cädûc b½ba`ž`s`i`W`\`Y`g`o``y`}`p`e`C`N``wb bâb@aŠa½`Ô`\`r`w`c`c`V``)`“`u`.`c`ª`‰_Ê_m_S_H_:_8_S_B___^â^ß_»a7a`ê`_ä_Š^]X]é_PbŠfáeødÜc2bFcKe,fÞf dÿeXc‡a_^¨_1_r_Ù_Ó`_ü`#_p__C__Ü_Ë_º_«_ƒ_^Z^]ï]Ð]½]·]¡]]†]w]t]V]D]?]4]d]n]a]^][]{]«]¶]¦]ž]Ž]}]b]G]<]:]+]-]9]&]\ú]j]Œ]\Ì\©\Ÿ\ƒ\S\V\O\;\(\[ú[æ[å[Ü[×[Ó[É[Ë[Ã[×[ä[ÿ\\ \'\0\9\N\b\u\„\’\ \¢\¡\—\\h\R\F\A\I\^\ˆ\Á\ð]']G]5\ý\®\\Z\?\&\\\[ý[þ\\\-\B\c\Ž\º\Æ\¿\Â\Í\ç]] ] ] ]]]]"](]-]2]0])] ]&]5]8]U]^]V]]]X]G]+]\þ\å\Ë\²\š\˜\Ÿ\®\Ç\Ñ\ò]\ú\ù\à\È\¿\Å\Á\Ð\ò]] \ý\ç\¹\†\]\:\[î[Ê[¯[¤[›[›[˜[›[ž[[£[¦[ª[©[¦[§[§[§[¯[·[·[­[Ÿ[Ž[[y[v[q[n[i[b[Y[O[F[>[8[<[@[A[H[K[K[H[C[F[E[K[P[V[Y[_[d[g[o[r[u[t[o[n[n[l[n[n[q[{[‡[ [µ[Ñ[ð\ \"\2\?\G\O\X\_\g\j\k\t\ˆ\¦\¿\Î\Ï\Ê\É\Ã\½\®\\Œ\\w\o\h\Z\P\D\7\2\*\$\\\ \[ü[ó[í[è[ã[ã[ã[à[ä[æ[é[é[ä[Þ[Ô[Ì[¼[­[™[†[l[W[F[;[*[[[[ZùZêZÝZÎZÈZÀZ¸Z¬ZžZŒZ{ZnZ\ZHZ5Z"ZZYñYáYÍY¼Y­Y£Y Y›Y’Y‰Y~YzYuYwYyY~Y‡Y’Y›Y Y¤YªY®Y²Y°Y®Y«Y©Y§Y©Y­Y°Y´Y¼YÇYÔYÞYêYõZZZ!Z,Z1Z2Z0Z*Z-Z2Z:ZAZJZUZaZlZzZ‡Z˜Z¬Z¼ZÎZÛZçZìZîZñZîZìZëZìZïZôZý[[[$[;[S[m[…[›[­[¾[É[Ô[Þ[ê[ð[ù\\ \\#\/\D\W\r\‰\›\©\´\¿\É\Ö\à\å\ð\ý] ] ]]]\ù\ñ\ð\ô\ÿ]]]\ù\ë\ç\ç\÷\û]]]]]]]]]] ]*]0]?]E]O]N]T]O]X]X][]a]u]}]‹]’]Ÿ]§]¹]Æ]Þ]ì]÷^^^^^ ^'^)^-^2^H^S^U^R^P^L^M^O^S^X^Z^_^f^p^s^x^u^v^s^{^†^Œ^^^©^ž^’^‚^€^y^z^r^x^h^c^M^E^3^(^]ÿ]ñ]ö^ ^,^:^@^@^C^C^H^A^G^H^C^9^O^G^-^+^6^8^;^;^<^;^:^,^&^^]ê]Ô]Ã]¦]˜]€]`]G]<]] ]]]#],]!] ]"]"]]]]]]] \ô\ó\Ú\Ñ\º\\„\k\T\>\\\ \'\[Ú[Ÿ[a\£`ub`v`û^dZYYJWVÈVJVV§VƒV¹VÌW W)WDWhWƒWžW¹W¸WÕWËWÆWµW¬W¬W¼WÏWàX X%XGXIXWXhXWXZX9X'X WúWåWòWòWüXXWûWãWØWÕWÏW»WWwWTWW WWW VðVÙVÓVºV¼VV›VˆVsVhVRVJV+VV UÞUàUãUüVV-V.V,V9V9V0V?VMVhV VÍVûW WCWpWŒW§W¿WÆWÛWáXX=XXX+X0XPX€X¦X¶X±XÄXÈXÛYXùXºX¹XËY Y%Y'YYXöY YXÇX¬XõY`H`P`W`X`]`[`_`[`U`K`G`>`<`8`;`9`;`A`M`W`k`p`‚``¢`²`Ä`Í`Ø`Û`á`ä`ì`õ`ýaa aaaa a a aaaaa aa`ü`õ`ô`ó`ó`ñ`î`ï`í`ò`ø`ú`ü`ý`ü`ù`ó`ï`ã`Ý`Ò`Ì`¿`¸`©`Ÿ`•`‹``v`m`e`^`a`b`p`x`€`ƒ`ˆ`‰`Ž`™`¨`º`Ì`Õ`Õ`Í`É`Î`Ö`Ô`Ö`Ð`Æ`¹`®`§`¡`ž`š`œ`°`µ`·`µ`¯`§`—`‹``{`s`u`t`o`o`h`d`]`X`S`N`A`0`` _ô_á_×_È_¹_¦_”_€_n_a_N_6__^ù^ó^ò^÷^ô^ç^×^Ä^®^–^v^M^ ]û]Ð]¡]p]B]\þ\Ú\¹\\‰\x\u\\‡\•\ë]Œ]Ê]Ä]Ó]>] ]]#]©^ ^-^\^M]]m]Ó]Ç]ü^^"]¼\º\Ð]Ä]Â]Œ]ƒ]g]X]3\û] ]A]7]H]]ˆ]ƒ]]ƒ]S] \Ñ\}\1\ \\ [ó[Â[Ï[Ò[Ë[·[i[ [[[ZóZµZÓZØZ½Z—ZzZ¢Z÷[ˆ\\B\T\–]W^ñ`•a+aðc¶_9[F^!`g^\æZXZPZ÷[ Z¥ZžZpZ”Zã[`[£[¡\ \_\h\¢]]N]©^(^Ô^ý`pc b”aábbŠaØab)a aµa”aLaV``_À_^™^M]›]] ]4]O]7]]\ì\ç\É\³\’\~\e\W\<\,\\\\[ó[é[Ù[Â[¤[’[y[m[`[][Y[U[J[G[J[T[[[c[n[[’[£[¸[Ñ[è[ÿ\\#\ \[×[¿[®[¯[®[•[[d[M[8[[ZóZâZÆZžZhZ@Z(Z%Z)ZZZ3Z$Z YëY½Y Y{Y`YGY7Y.Y!YYY2YGYaYpYyYtY`YhYYœYÈYêYúZ ZZ+Z>ZPZPZJZMZaZvZZ}ZkZSZ9Z*Z,Z$ZZYíYßYÿZ*Z9Z9ZKZKZ/Z Z Z7ZYñYíYìY÷YþZ ZZZ)ZSZ Zõ[)[5[@[f[™[È[û\\4\E\E\5\+\\/\E\F\;\>\(\=\u\¦\Õ]]%]E]_]m]r]~]Ž]›]›]ž]Ž]n]M]+]\Þ\µ\™\ˆ\–\©\¹\Ç\¿\ª\”\“\›\´\ß]]V]v]Š]›]»]à]í^^^ ^^^^^]ó]Ö]È]½]¯]Ÿ]}]V]<](]] ]]] ]"]8]G]M]P]E](]]])]7]P]w]ª]Ñ]è^^^^]Ó]¨]¡]]˜]˜]È^^N^g^i^a^T^$^]õ]À]—]z]q]{]T]R]Z]V^-`S`Ç_Ñ_^^‡^…^f^Q^1^ ^^]ð]Ô]À]¾]¿]Ç]Ë]Ò]Þ]ì^^!^@^S^\^a^k^k^k^q^}^ˆ^™^©^¾^Õ^ë___&_3_E_L_U___h_k_w_‚_–_—_ù`»`¥`U_ç_Ä_¯_•__e_g_^___W_^_Q_i_F_X_r_^_W_À`Ían`4_¨_úac$c0bZaxa/`¼`z`m`[`\`e`{`‚`„`x`x`e`k`O`V`O`6`›aäb„aÏar`¹`Š`ˆ` `Ž`H`@`8`_ý_ü` `_ø`_÷_‹___W_I_H_?_c_K_å`É___l``Úa4` __Í_˜_¾a“b¹bˆcÎefwgNf5e'e¨g°fêedˆc‡cNa@__Õ_ã_T_Ôb(a’_ø_>^É^]^^È^`^^^*^‹^~^;]ì]Ã]£]˜]¢]›]ž]™]t]`]?]f]w]b]p]t]€]}]i]l]—]§]ž]‰]l]X]P]F]8]1];]%]/]C]]]] \ê\\q\“\€\l\v\R\?\\[ü[é[è[Õ[Ï[¼[¼[³[¸[Ä[×[é[ù[ú\\\)\B\Y\n\…\•\›\—\‡\j\O\5\*\*\=\V\\´\ß] ]\ç\²\Œ\ƒ\m\W\C\/\\\[õ[ó[ù\ \)\]\\Ã\Ñ\Ë\Ì\Ø\é\ù\ý\÷\î\ë\ß\Ý\å\ë\ú] ]]]]]]+]I]\]^]W]O];]\ø\Ø\¶\œ\‰\s\‚\«\Ð\è\þ]]]\ó\Ù\Æ\¶\¼\½\Æ\ã]]]]\ø\Î\œ\d\5\[Ø[¹[¯[¤[[Ÿ[¡[¢[£[§[«[¯[¬[§[¬[«[¥[¨[´[»[º[´[£[“[†[€[y[s[n[k[b[\[R[J[E[I[Q[U[Z[\[^[X[U[U[R[Z[_[i[k[o[u[|[ƒ[‰[[Œ[‡[ˆ[ˆ[‰[‡[†[‡[[›[¬[Ã[á[ú\\-\9\B\H\P\[\f\m\q\u\|\•\²\Ê\×\Ô\Ò\Í\Ê\Á\±\¢\\€\v\s\m\e\[\N\D\9\2\)\\\\ [ü[ð[è[à[Û[Ø[Ñ[Ï[Ñ[Ñ[Ò[Ò[Ñ[Ì[Å[¼[©[–[‚[p[W[G[:[/[[ [Z÷ZíZâZ×ZÆZµZ«Z£ZžZZZnZ[ZLZ:Z,ZZ ZYñYâYØYÅY³Y©Y¦Y§Y£YY™Y”YYŽYŽYŽY‘Y’YšYžY§Y«Y²Y¹Y¼Y½Y»Y·YµY¯Y­Y¬Y¯Y±Y¸Y¾YÅYÏYÜYèYøZZZZ"Z"ZZZ!Z$Z*Z6ZBZKZTZaZqZ~Z“Z¦Z»ZÊZÔZÝZÞZßZÜZÛZÖZÔZÔZÕZÚZáZêZ÷[[[1[M[i[‚[”[¦[µ[Ç[Ô[â[ë[ø\\\\$\.\A\Q\i\|\’\\¬\º\Æ\Ó\Ü\ä\ì\õ]] ]]\ù\ñ\ð\ñ\û]] ]] ]\ñ\ï\ò\ü\ÿ]]] ]] ] ]]]]]*]0]A]J]S]W]^]]]i]i]s]{]]”]¢]©]º]Å]Ø]æ]ô]ý^ ^ ^^^'^*^6^=^E^J^c^k^n^k^f^`^[^\^a^c^b^c^h^i^o^~^^ˆ^^^±^³^¼^»^Å^´^©^–^^‚^‚^v^n^[^Q^>^.^^]ñ]ç]â]ï^ ^%^)^3^+^0^+^6^-^5^:^4^?^=^2^^^"^'^#^'^-^*^-^-^^]õ]ã]Ô]Î]¾]¬]]r]U]<]]] ]]]*]%]$]]]]]"]]+]!]$] ]\ñ\Ü\¼\¨\}\h\N\>\$\[ý[â[ä[õ[ù\\²_bïc^~[”ZÀYfXDVùV¿V#V V[VoV™VÏVèWWGW]WW¤W±WÉWßWìWâWÓWÅWÍWÍWäX XX5XKXfXrXqXsXbXXXAX,XXWðWÿX.X7X=X"XWãWÿWõWðWÆW©WtWUW4W-W(WWWVòVäVÔVÄVµVžV˜V‰VxVbVVV;VV VVVV:VDV;VPV4VDVMVTVoV•VËVåWW/WUWˆW¨WÄWÚWÖWâWöWñWüWÖWüXXX@XgX˜X±X¶XÀX£X·XÜXØXÙXðXÿYY(Y/Y$YYY XþXÊXÒYY8YAYUYvY‘ZZõ[9Z¦Z‰[}[Û[$ZÌZˆZ8ZYéY¸Y©YœY›YìYôYìZZWZyZ=ZHZSYõYYšZŒ]R]„[è\°\á\™]¥^Á^‹]ò^^8^ ^^^5^Q^v^ž^Ä^í__4_I_c_s_†_“_¢_®_¿_Ç_Ô_Ú_Ú_Û_Ý_ß_ä_é_î_õ_ü`` ``%`1`:`C`N`W`^`d`j`m`p`q`q`m`e`]`T`P`M`I`I`V`]`k`q``‹`¡`°`Å`Ó`ä`î`ö`üaaa aaaa/a5a>a=a@aAa=a:a7a0a,a"aaa aa`ý`ú`ú`õ`ö`ù`ü`ÿaaaaa`ÿ`ý`ó`í`ã`Û`Ð`¿`µ`¦`›`’`‰`„`{`|`w`z`|`†``‘`–`™``¡`©`¼`Æ`Ò`Ò`Ñ`Ç`Ê`Ô`Ü`Ý`Þ`Ú`Ñ`Ã`¹`´`³`³`¹`¿`É`Ð`Ó`Ð`Ç`½`­```‰`‡`€`~`{`y`s`o`h`b`]`V`L`;`*``_ï_ß_Ê_¶_¨__{_i_Y_L_<_!_ ^ò^Þ^Õ^×^Ü^Ø^Ì^À^­^œ^y^N^"]û]Ö]­]|]N]&]\é\É\²\˜\\l\o\€\‹\¬]]9]e]§][]g]v\ý]]‹]Œ]p]‹] ]]±]¢]Ô]Ï]¢]…\ë]?]Ð]ˆ]q]J]N]X])\Û\ä]H]x]ƒ]Š]J]9]Q]`]C\ê\Š\/[í[Õ[´[®[©[‚[v[[[w[e[;[+[7[ZøZËZÑZºZ±ZZvZ£Zå[[ \+\]\Œ]r]à^8_`8`µ\]Y\n_i]ô[€YùZ1ZCZ”ZmZ8ZZjZò[][ª[Õ[ß\\6\‚\¯\Ü]h]ã^m_³bÊdåbˆa~b¡c±cb6b"a=aTaƒa1a!`¨`/_•^Ø^`]Û]L]]]]=]@] ] \õ\ê\È\³\Œ\}\d\L\.\ \\[ÿ[ó[à[Ó[»[«[‘[ƒ[m[c[V[U[P[O[K[K[O[`[c[i[t[…[š[³[Î[ä[÷\ \\\[é[¿[©[›[™[•[ƒ[m[W[D[/[[ZñZÞZÇZ ZhZKZ>ZPZiZfZEZRZPZ,ZYçYÏY§YˆYpYaYZYIY4Y+Y0Y?YeY}YY}YcYpYY©YÈYáYóZZZ"Z1Z=Z:Z.Z1ZRZkZwZ€ZZmZKZ-Z%ZYÿYñYâYÚYùZ"ZGZYZ`ZPZ3ZZZZYóYëYôZZZZ!Z,Z;ZTZŒZì[#[+[6[i[§[à\$\@\F\T\W\I\=\:\X\l\]\G\L\A\]\™\¾\Ú\ý]!]P]n]y]|]ƒ]‰]]¨]³]¡]}]_];]\ä\À\š\\˜\¦\³\´\ \’\Ž\•\¤\Â\ê](]h]Œ]—]š]³]Ó]ò^^^^^%^"^ ^]þ]é]×]Â]²]¢]Œ]o]K]/]]]]]];]X]o]]]q]N]1]"]>]O]b]€]¦]Û]þ^^*^9^0^^]÷]â]¾]¸]ñ^3^l^z^w^f^Y^D^]ô]Ê]µ]Ç]Ç]»]”]}]¥]Ž]ô_a^bªaÝ`8_s^Ì^q^X^N^M^3^ ]î]Ü]Ã]Ç]Å]¼]±]³]Ê]é^ ^)^H^\^n^p^j^g^m^p^x^†^—^¨^À^Ø^ó_ __3_B_Q_\_e_l_k_r_w_ƒ_—_«_Ð`!_ÿ_ß_Ø_Ì_«_›_†_v_t_c_c_W_i_d_n_v_d_g_w__æ_Þ_ð_ð`_À_š`Ra¶b—a€a `é`Œ`a`y`e`j`‚`Š`ˆ`u`k`^`d`^`W`u`„`~`ºa`í`Ì`²`°`‹`y`W`7`*`$`.`=`F`/`_Ü_É_³_€_m_m_Q_a_R_t_._ûb×aK_˜_O_e_Ù`M_Ð_O_e`sc5g1ftd×eHgJiiúhUg,hi{hffÆe“d®eÜcQaa&a/`¶`a{`á_*^â_^v^]ò]ý]á]É]º]Ü^^]¾]l]^]u]‘]ª]]Š]j]n]T]]4]Q]S]M];]B]h]{]Š]—]˜]†]c]N]I]?]7]5]']/]<]]\î]]];]‹\Ð\š\¾\¢\’\s\F\8\\ [ñ[ë[×[Ï[¹[¥[Ÿ[›[¢[µ[Æ[Õ[Ü[á[î\\#\B\\\x\†\‹\„\t\U\8\\\#\<\^\\Ä\ß\ë\Ö\½\¢\‹\\~\r\f\U\@\*\[ý[ô[ø\\2\o\¨\Ö\ê\ê\î\ñ\ð\û\ï\ä\Õ\É\É\Ë\Í\Ñ\Ü\÷] ]]\þ] ])]@]O]O]=]*]\ñ\È\©\\u\e\]\z\¶\æ\ü]] ]!]\ß\Ó\È\²\³\¿\Å\Í\í]](]+]'] \á\£\b\[ó[Ø[Ä[º[¯[«[¥[¥[ª[ª[±[²[¯[­[·[¹[¸[µ[µ[º[¼[½[²[§[Ÿ[“[ˆ[[v[q[k[g[a[][Y[[[_[h[k[l[l[i[d[_[_[c[l[t[x[}[ƒ[[“[¡[¤[¦[¢[¡[¥[¥[Ÿ[ [ž[¢[­[¾[Ø[ð\ \'\6\B\H\M\Q\^\i\r\x\\ˆ\¡\½\Ò\à\Þ\Ø\Ò\Í\¿\´\£\”\‡\{\x\t\o\e\^\S\C\=\4\(\\\[ü[î[â[Ý[×[Î[Å[À[º[»[¼[¹[·[µ[¯[¤[”[[i[X[F[4[*[ [[ZòZåZÙZÏZÂZ±Z£Z—ZZƒZqZ`ZNZ;Z(ZZZYûYíYâYÜYÏYÁYµY°Y¯Y±Y°Y¬Y­Y­Y«YªY§Y¢YžYYžYŸY¨Y­Y¹Y¿YÄYÃYÄY¾Y»Y·Y¶Y³Y²Y°Y·YºYÃYÌYÔYáYïYüZ ZZZZZZZZZ(Z9ZCZNZ[ZiZwZˆZœZ±Z¼ZÆZÍZÎZÌZËZÊZÂZÃZÀZÃZÅZÊZÖZâZò[ [[6[P[g[z[[[°[Á[Õ[ä[ø\\\\&\.\:\G\[\o\‡\—\¨\µ\Å\Ï\Ú\ß\ß\å\ò]]]\÷\ð\ë\ó\ÿ] ]]]]\ý\û\þ]]]\ÿ\þ\ú]]] ]]] ]1]7]H]N]Z]a]l]o]z]~]Š]]œ]§]¹]Â]Õ]ß]î]ù^^ ^^^^!^.^4^>^E^V^]^l^s^y^x^y^r^r^q^t^y^{^u^|^Š^“^—^¡^ž^°^µ^È^Ï^Ù^Ô^È^±^£^’^Š^^v^i^R^=^.^ ^]ÿ]í]Û]Ù]Ö]é^^^ ^"^^^^%^(^3^9^4^7^-^+^ ^^ ^!^^^^#^"^'^^]ç]Ý]Õ]Î]Â]®]‘]v]Z]A]$]]]]]]!] ]]]]]!]$]8]-](]]\õ\é\Á\©\|\g\H\;\%\ [Þ[‰[ô\1\]N^^D`Fae\ÛZò\Z5XœW*VÌVÜUÒUøV>VPV¨VÛW W=WeW|WŸW³WÓWÉWæWâWÞWÜWÙWæW÷XXXAXMXgXyX€X†XuXuXXXWX=XXXX;XAX2XXXX XXWóWÏWWWpWZWVWGW3W%WWVçVßVÅV¹V«VV”VVmVUV9V%V V$V2VJVUVSVmVaVqVjVeV‹V³VÞWW7WFWkW W¼WÕWèWêWøWþWËWÖWÜXXXXCXiX“X¸XµX¢XX°XÓXúY Y YYYY$YYXüY XûXåYYY+YDYNYpYžZZµZÃZyZÑ[[{ZáZ¶ZZ^Z(YëYŸY{YsYcYyYtYrY¥YèYëYÆYØY¸YXY+XÑY[¡^2\Ž[Ò\Y\å]^H^#]Ü^^½^j^%^^6^V^y^¤^Ê^ô__5_I_b_q_ˆ_˜_±_º_Í_Û_å_ë_î_î_î_ð_ô_ø_ü``` ``(`5`@`K`R`]`c`o`u`z```„`ˆ`„`€`r`n`m`h`f`g`t`{`‰`“`œ`©`¼`Ð`ä`óaaaaa!a%a/a-a5a=aNaWaaacadaba_aWaSaIaFa;a0a$aaaa aaa`ÿaaaa a aa aa aa`ù`ò`ç`Ý`Ê`¹`­`¢``—`”`‘```‘`™`ž`£`§`ª`±`±`¸`¾`Ï`Ù`à`×`Ò`Ê`Ï`Þ`æ`é`ê`ä`Û`Ì`Ä`Á`Å`É`Ð`Ù`â`í`ð`ê`ã`Ò`Ä`³`¥`—`‘`‹`…`~`|`w`w`s`k`a`U`K`@`/``_ð_Ô_¿_­_ _ˆ_o_^_M_:_-__^ò^ß^Î^Ä^¿^½^³^­^^…^g^A^]û]Ú]¸]Ž]a]=]]\æ\Ò\¸\˜\z\^\a\t\\–\¸\Û]']P]n]”]G\à\ø];] \é\Í\é]E]S]\k\Ž]]g]]&]R]±]o]]]Y]%\ø\ñ])]„]¥]›]k]']\÷\¹\]\\[æ[Ä[©[[~[p[DZùZàZÖZéZãZÜ[ZùZõZÆZ®Z­Z£Z˜Z‘ZuZ½Z·Z÷[‚[ú\[¹[S[D\]ö]ÉZ×Y2ZÅ]_\ÕZ­Z9YüYÞZIZ9ZZZnZã[$[o[Þ\\c\Š\ \A\¥^\_n`,aádLdµcb,b§cbÅbðbÛaW`÷a²a%`2``$_V^¤^Y]”]]\ó\÷]"]7](]]\æ\À\Ÿ\…\s\Z\B\.\#\\ \[ù[ç[×[¼[ª[”[ƒ[l[a[U[V[T[Y[S[[[b[g[j[u[{[‡[™[´[Ó[ë\\ \\ [ù[à[Â[¦[™[”[„[v[d[W[J[*ZÿZîZ×ZÎZÁZ ZsZhZlZ€Z–ZZ…Z‚ZzZ\Z/ZZYàY¾YšY‚YxYjY[YNYMY^YwYƒY‰Y‹Y{YŒY¥Y¹YÎYæYòYÿZZ!Z-Z4Z5Z0Z0ZFZ[ZkZ{Z‹Z€ZjZQZJZ5ZZYðYàYæY÷Z(ZRZSZ>Z1Z)ZZYÿYñYôZZZ&Z0Z6Z?ZRZnZ–Zé[[[,[d[½[ø\!\3\?\Y\l\a\d\u\\ƒ\}\r\j\c\\¥\¼\Ì\á]]E]r]‚]ƒ]‰]]¤]·]½]®]]s]S]0\ÿ\Õ\ª\•\“\Ÿ\¤\\\ˆ\Ž\š\°\Ò\ÿ]G]]ž]Ÿ]Œ]•]¯]Ö^^^(^,^2^0^%^]ú]ã]Î]º]°]¥]Š]g]I]6]-](]"]]&]P]u]‰]”]”]]r]W]>]Z]n]{]–]¼]õ^^1^<^I^K^A^8^-^]þ]á^^@^g^n^i^a^M^9^]ò]ã]Ñ]Ð]å]Æ]¯]£]œ]ª]¼^F_HaacÁc‰a˜_º^Ò^^j^\^C^4]ÿ]æ]Ï]Î]Ë]¶]®]·]Ñ]ò^^;^X^d^g^f^k^m^h^l^y^‚^“^¨^Á^Ý^÷__'_:_J_T_f_m_z_‚_‹_Ž_™_¡_¸_Æ_Í_Ñ_á_Ü_Æ_µ_«_–_…_x_f_c_Z_X_l_q_‚_u_z_X_\`‘`I_á_Ñ_µ_Î_Õ__÷a¬aB`ÜaO`ç`¢`Ý`‡`s`‹``†`k`V`R`E`[`[`a`†`ª`®`¯`¸`Í`É`¡``c`M`L`K`:`,`%``_õ_Ø_¬_‘_Š_{_s_a_p_g_”_n_o`8_Õ_p_}_g_e_ƒ_M_F_…`b{dŽc’dOcÅcdrf‚h gýg­hàizi ie™dŽcÄc¡c_bƒbÜaÊ`i_l_-`3_­^`]ì]°]£]ƒ]Î]Ò]‰]—]§]‘]y]E]n]¥]¦]Œ]­]¡]T]c]x]P]R]O]c]}]p]X]c]t]‹]•]]k]Y]L]H]:]4]+]E],]3]Í]] \â]s_Œ^‚\ð\Ñ\Û\Ÿ\™\j\\\4\\[ì[Ö[¾[¬[™[…[‚[†[“[¦[´[À[Ë[Ö[í\\*\I\e\v\{\n\^\@\$\\\*\O\\ª\Ñ\Í\¾\·\¹\±\ \‹\Ž\‹\ˆ\z\h\Q\:\(\ \%\?\d\¦\ò]]*]-]0].]#]\é\Ó\À\»\Ù\è\ä\ã\ì]]]]\õ]]]5]?]8]#]\ä\Á\¡\ˆ\v\d\P\D\c\£\Þ\þ]]*]-] \õ\û\ç\Í\Å\Ð\Ý\Ñ\Þ] ]2]<]<]'] \Ö\˜\O\[÷[Õ[Ë[Ä[´[®[ª[©[®[·[»[¶[µ[Ä[Ê[È[Å[À[¼[»[¼[¹[´[¯[ª[[•[‹[[y[r[l[m[n[s[r[w[z[€[{[v[p[l[l[n[x[|[[‰[”[¡[§[±[´[¼[º[»[¿[Á[½[»[¸[½[Ã[Ø[î\\\0\?\J\L\R\U\c\m\w\}\…\“\«\Ç\Û\ç\è\Þ\×\Í\¿\³\¤\—\‹\ƒ\|\z\z\v\m\]\Q\C\9\1\#\\\[ð[ã[Ù[Ï[É[Á[·[¬[§[£[¡[ž[œ[”[Œ[{[e[R[?[1[#[[ ZÿZôZäZÓZÄZ¸Z¬ZžZZ†Z|ZkZ[ZDZ-ZZZYöYïYéYÝYØYÒYÉY¿Y·Y¸Y½Y½Y¹Y¸Y½YÁYÅYÃY¾Y¸Y¯Y©Y£Y¤Y¨Y­Y·Y¾YÇYÈYÍYÇYÃYÀY¾Y¼Y¹Y¶Y¹Y¼YÄYËYÓYÝYèYóYþZZZZZZZ ZZZ2Z?ZHZSZ^ZmZ{ZŽZžZ®Z·Z¸Z¹ZµZ³Z´Z´ZµZ³Z·Z¸Z¾ZÅZØZíZÿ[[#[7[M[b[w[Œ[¢[µ[Ê[Ý[ô\\\#\(\.\6\@\Q\h\}\’\¦\»\Í\Ô\Ú\Ö\Ñ\Ï\Ø\ò\û\ù\ì\å\ã\ñ\ÿ]]]]]] ]] ] ] ] ]\ù\õ\ÿ]]]]#]/]<]D]N]T]b]m]€]ˆ]“]“]™]¢]¯]»]Ì]×]é]ó^^^^^^^^^(^2^F^P^_^h^o^u^€^ƒ^Œ^‡^^‹^‘^–^§^ ^™^©^¹^¹^Ç^»^Ê^Í^Ý^â^å^ß^Î^»^¦^^^t^`^U^I^8^!^ ^]ñ]å]Õ]Õ]Þ]ó^^^^ ^^^^^&^.^9^8^2^0^.^&^^^^^^^^^^]ú]ë]â]Ý]Ø]Ã]©]‹]{]h]L]4]5]9]]]]#]"]+]!]]]%]/]-]5](]] \ô\å\Â\£\€\a\K\K\-\)[Á[¨\[ŒZ¼\^p^¼_@a8^«[Ó[oYâX·VVW6UºU¾VV]V~V´VòWWUWiWšW¡WÂWÔWÛWÞWäWâWãWóWýXX)X3XTXkX„X–X”X—X„XwXlX[X9X3X)X0X>X4XX"X.X)X*XXWßWÎW½W¬W›W}WyW]WjWCWW VïVÕVÅV°V¬V”VŒVyVcVJV2V5V9VAVdVgV~V”VšV™V|V{V§VÉVõW'WLWbWsW°W´WÂWÚWåWäWÜWðXXXX-XcXXÅXÊX¾XµXªX¼XÏXÎXôYY YYYY-Y]]Þ^W]Ø]÷_j_&^q^O^.^.^U^w^Ÿ^Á^î__3_J_d_t_Œ_œ_³_Å_×_ç_ó_ú_ÿ_ÿ```` ` ````'`8`F`O`Z`c`m`u``…`Œ`”`—`š`œ`—`—`‹`†`‰`ˆ`„`ˆ``Ÿ`¥`±`¼`Ë`Ý`óaaa%a.a9a:aAaDaMaLaRa^alawaa€a„a€a€avapaha`aSaEa9a3a*aaaaaaa a aaaaaaaaaa a`ò`ä`Ö`Ç`¾`¶`±`°`­`«`¨`°`²`¶`º`½`Ä`Å`Ê`Ç`Ð`Ú`å`î`ï`ã`Ù`Ú`Ý`ê`ó`ô`ø`ó`ê`Ý`×`Õ`Ù`Û`å`ï`úaaa`ø`æ`Ù`Ä`³`¦`š``Š`ƒ`z`v`w`s`j`Z`Q`G`>`,`` _ñ_Ë_¯_¥_“_z_f_R_?_0_#__^ò^â^Ð^Â^³^¨^œ^^ƒ^i^M^0^]÷]ß]Á]Ÿ]w]R]/]]\ì\Ø\º\–\o\P\_\u\„\\“\¼]]]]á^]D\÷]”]Ù]}]E]`]V]\ˆ\2\l]H]_]]-]‹]Û]V]Q]e])]]!\÷]&]]]…]S])\á\}\@\(\1\[ò[Ú[Ã[Œ[¬[³[o[ZÏ[[0ZèZÚZÉZäZ´ZˆZžZœZ—Z›Z]ZZ”ZË[F[ZóZÄZùZþ[G]4\ÞZÝY„Yå[Ü\ [XZÖYÛYÞZ0ZYíY÷ZFZ´[?[š[ó\B\Â\à\Ô\@]_j`)`Âbudd'cibYb bœb’bòc†b `Òa/aX`—__^Ø^K]ä]^]]\ì\ä\ë] ]] \ê\É\©\Š\x\a\Q\@\3\*\\\\[ð[Û[Ê[·[¢[‹[q[h[b[a[d[q[s[v[s[w[y[}[„[‘[Ÿ[À[Ü[ñ[ÿ\ \\[ñ[Ü[Ê[¸[[‰[s[b[P[D[;[%ZþZåZÌZ¿Z¸Z ZwZ€ZŽZ™Z¨Z£ZZ†ZyZfZ@Z4Z"ZYâYÃY£YŒY‡YƒY~YYŒY•Y™YœYœYY¯Y½YÑYãYõYûZZZ*Z6Z?ZFZLZMZZZYZdZZ–ZZ‡ZuZqZXZ.ZZZZ Z"ZEZTZEZ3Z5Z-Z5ZVZY÷ZZ#Z.Z9Z@ZJZ]ZuZ”Z¬ZÞZñ[ [E[n[Ê\ \\)\H\s\\\–\ž\\Š\‡\€\z\„\\¬\¶\Â\Ñ\ü]:]m]€]ƒ]]š]°]Ã]À]®]•]‚]f]F]\ã\·\˜\\ž\™\‘\Š\‡\†\“\¯\Ø]]E]w]”]™]†]ˆ]¢]Ê]ù^^"^7^9^5^&^]þ]ë]Ö]Å]¸]§]…]g]Q]F]<]5]2]+]1]Z]ˆ]£]­]®]¯]¢]™]–]¡]«]°]º]à^^/^B^V^_^a^T^I^@^*^^^$^V^i^_^O^D^@^+^]ï]Þ]é]â]é]Þ]Ç]Ù]ß]ï]Ü]À]Û^îadb©_õ^è^¿^«^^Y^T^)]þ]â]Ë]±]£]§]¿]Þ^^*^F^Z^h^m^o^f^b^h^l^r^}^^¨^Á^Ü^û__*_;_N_]_n_x_†_ˆ_Ž_˜_£_²_Â_Ô_Û_ã_Þ_Õ_Ò_Ê_²_—_…_x_q_]_]_T_b_r_‹_p_”_m_k`Ö`™` _Ý_¥_­_Ü_Ç_Õ`ýa`”`É`}`{`Ö`j`d```}`j`H`D`:`@`N`a`g`‚`§`º`¹`¯`¡`‘``h`X`J`D`D`C`<`3`_ð_Æ_±_Ÿ_’_‰_†_u_x_n_o_‰_]_E_I_u_|_o_j_k_Q_@_h_*_Ó`¥`„`š`œ``„a„b˜coc‹c¢c›dVfÐh2géh¨iagŽdjcçcoaÌ_Z^³`t_½^‚]ê]Ç^ ^E^²^˜^/]ã]Ò]¬]Ã]œ]o]¢]À] ]M]|]±]9]1]>]?]D]2](]Z]x]ƒ]]]‚]„]j]R]U]S]=]=]4]5]#]—_*^]^\¯]*_Î^Ä]\Ó\ï\Á\»\•\t\O\%\[ã[Ï[¸[š[‡[t[h[l[y[…[š[§[´[¿[Ö[õ\\:\S\a\a\T\D\+\\\\9\c\–\¶\Ã\¬\£\¯\Ä\Ø\Ì\\›\¢\£\›\\}\l\b\j\‚\¡\Æ\ú];]a]m]v]x]v]c]B]\æ\À\½\ä]] ]]#]2]3]*]\ú]]]*]2]*]\î\É\Ÿ\…\z\x\f\G\3\L\\¬\Î\é]]!]]]!]]\ÿ\ü] ]]]]:]A]@]<]#\ò\·\x\6\ [í[Ù[Ï[¹[°[«[«[°[¸[Å[Ã[Á[É[Ï[Ò[Ó[Î[Æ[¾[¸[º[½[¸[»[µ[¨[[’[‡[[y[w[y[ƒ[†[‰[‰[‹[…[€[z[v[r[w[{[[Š[•[ [­[·[¾[Ä[É[Ì[Ð[Ó[Ø[Ó[Ô[Ô[×[Ü[ð\\\.\>\I\P\T\W\\\h\r\|\„\\œ\µ\Ï\â\í\ñ\é\á\Ô\Æ\¸\­\¡\–\Ž\†\‡\„\€\z\o\_\O\E\6\+\$\\ [ô[è[Û[Ò[È[¼[²[¦[š[•[Ž[ˆ[ˆ[ƒ[x[h[U[B[-[![[ZøZðZæZÚZÄZ´Z§Z˜ZŠZZyZkZ[ZDZ)ZZYüYóYíYåYÝYÓYÎYÉYÄY¾YÀYÇYÉYÈYÉYÊYÎYÔYÙYØYÑYÉYÀYµY­Y¨Y¨Y°YµY¾YÇYËYÍYËYÊYÇYÇYÅYÁYÀYÁYÅYÊYÍYÔYÙYáYëYòY÷YúYýYÿYþYÿZZ ZZ,Z;ZDZLZVZbZpZZZ›Z¢Z§Z¨ZªZ¨ZªZ­Z®Z²Z³Z¶Z¼ZÂZ×ZçZõ[[[([>[V[k[€[“[§[¾[Ø[ï\\\!\)\1\:\H\U\k\‚\š\°\Ç\Ò\Ú\Ö\Í\Ã\¿\Ã\Ï\Ü\ß\Ö\Ò\Õ\ä\ü]]]]]]]]]]] \ÿ\õ\õ]]]]%]2]?]L]X]`]k]t]‚]”]Ÿ]¨]«]°]´]½]É]Ü]í]ý^^^^^^^^^^!^+^D^V^d^h^t^~^…^…^—^œ^ª^­^¾^Ã^Í^Â^Â^Æ^Î^Ó^Ü^Ö^ß^ä^ï^ñ^ó^æ^Í^°^’^€^n^c^Z^U^Q^=^(^ ]ú]æ]Ü]Ø]à]ð]ù^^ ^ ^^^^^^(^3^:^3^2^6^/^#^^^^^$^^^^^]í]ö]î]ã]Ù]Å]¦]]€]q]\]I]N]M]6].]](]*]4],](]#]!]+],])]]\þ\÷\à\Å\¥\„\p\R\M\<\[[þ\O\J[YíZƒ](_\`S`H_¥\.Y®XW»VòV•VUU´UÉVVbV£VÖWW2W^WW¡W¬W¹W¾WÏWÑWÜWíWéWôXXX/XLXgX„X›XžX¯XšX›XmXsXiXJXPXOXNXEXTX@X`4`'``_é_Ì_²_¡_›_“_Ž_Ž_„_‡_x_€_˜_¡__‹_u_}__s_‹_b_l_D___3_I_@_I_^ø_(_†_´_™_e` abb…bIb‹e™iòif|däb _Ä_§_i__^­^Ã^ ^I^^@^+^u]ô]H]g]°^]^ñ^Þ]ä]^R]Ó]t]m]^]q]˜]“]{]p]w]]‹]]ƒ]v]y]h]N]T]H]&]>]@]]Í^|_]Z]^Ü]×\ü\û]\þ\ð\Ñ\·\‰\I\[è[¹[§[[q[d[[[U[`[i[€[‘[ [­[Ä[å\\&\=\L\F\;\*\\ \\(\O\~\±\Á\´\œ\š\°\Î\ã\Ñ\¡\¥\±\²\°\©\ž\˜\\¸\ã] ]2]K]i]Ž]œ]­]½]¼]¦]€]V]\Ù\É\ó]]'];]J]T]J]3]] ]]]]]]\Ù\­\„\v\u\x\j\T\9\7\X\g\~\ž\½\Õ\â]]2]9]]!]:]G]A]B]E]E]A]?]@]-] \Ç\Ž\Z\&\[ã[Ì[»[µ[³[­[®[·[Ä[Å[Å[Å[Ç[Ò[Ü[Ý[Ô[Å[¾[¼[¼[½[¾[¿[¼[´[¨[™[’[‰[[~[ˆ[Ž[[‘[’[[Œ[…[‚[}[[[†[Š[™[¦[¶[Ä[Ì[Ð[Ó[Ú[Þ[ä[ë[ê[í[ë[î[ø\\\/\<\O\R\[\\\]\e\m\v\€\ˆ\\ž\º\Ó\è\ô\ù\ö\í\ß\Ñ\Ä\º\®\§\œ\–\‘\Ž\\‡\}\l\^\O\?\4\*\%\[ý[í[á[×[Ê[¿[±[¦[—[Œ[„[[z[t[i[Y[G[1[ [[ZúZëZáZÙZÎZ¹Z¬ZšZ‹Z~ZvZjZ]ZKZ1ZZ YýYõYéYâYÚY×YÎYÆYÀY¾Y½YÃYËYÐYÎYÐYÑYÖYÞYáYåYáYÙYÏYÁY¹Y¯Y©Y¯YµY¾YÃYÊYËYÐYÎYÎYÎYËYÌYÌYËYÍYÏYÐYÑYÖYÞYãYêYïYðYòYöYùYýZZ ZZ'Z7Z?ZDZNZXZeZsZ‚ZŽZ•ZšZšZŸZ¢Z¦ZªZ°Z±Z°ZµZºZÆZÒZÝZêZö[[[4[L[d[~[‘[§[¼[Ö[ê\\\!\)\6\B\T\b\w\\§\À\Ö\Ü\Ü\Ë\½\±\°\²\·\Ã\Â\¿\½\Â\Ñ\ð] ]]]]]] ]"]!]]] ]] ]]"]/]>]L]Y]g]q]{]‰]‘] ]­]¼]¿]Â]Å]Ê]Õ]à]ï]ü^ ^^^^^^ ^ ^^!^/^@^U^[^k^r^‚^‘^ž^Ÿ^­^°^Â^Å^Ð^Ø^×^Ï^Ó^Ì^Ò^Ý^à^æ^í^õ^ù^÷^ñ^Ù^¾^Ÿ^‡^u^n^h^f^^^Y^J^7^^]÷]ô]ý]ý^^^^^]þ^ ^^(^'^-^2^<^;^9^5^3^#^^^^$^ ^!^^ ^]ÿ]ã]î]î]ê]Ý]Î]­] ]]~]o]m]p]e]T]E]<]9]9]<]5],]%]']]&]!]]\ø\ô\Ü\Ç\­\Ž\\e\f\Q\f\˜] \/ZÆZ[…^Û`Kb^°^+\çYUVÒU÷VVU†UAU[UÞUôV;V†V¢VëVýWHWMW‚W–W¸WÃWËW×WàWÝWáW÷WýX X1X>XhXƒX¥X°X¹X·X¦XXzX|X†X†X}X†XmXhX\XVX@XAX1X)X2XXX WèWÖW¼W´WœWsWYW.WVóVäVÐVºV±V¡V„VxV\VkVWVRVBVKVmVjVjVZVYVnV™V¾VÓVäVüW/WnWW¨W¹WºW»W¿WÉX-X{X‚XˆXœXžXžXkX(X-X^XŽXÆXëXÌXÏY"YZYaYaY9Y5YžYÝYÇYÏYóY·Ya=a>a;a6a3a*aaa`ù`ô`ò`ñ`ö`ö`÷`û`ûaaaaa`ÿ`þaaaaa a aaa aaaaaaa aaaa a aa"a&a#a#aaa`ì`Ô`Â`¯``Ž`ƒ``|`t`j`f`^`X`R`I`A`6`&`_ô_Õ_º_ _‚_l_W_<_'__^ü^ó^ì^ä^Ù^Æ^±^™^‚^n^[^A^)^]ú]î]ã]Ô]½]Ÿ]}]_]G]0]]\ý\ß\²\}\Z\S\d\|\‡\Š\¬\ý]a]o]­^)^]€]\Ü]\õ\[\“\î\¹\ú]]\÷]]+]]S]@]E]X]š])\B\h\ü]R]D\Ú\ƒ\e\\„\-[ñ[æ[Ô[À[•[g[l[ª[~ZÙZÕZéZè[ZËZ·Z¢ZŒZ…ZvZxZjZ`Z\ZbZ[ZFZdZ¼[,[ZÇZâZ†\3]ØYfY+ZZÖ[äZÚZ?YÙY×YÛYöZ&ZWZÂ[?[±\ \²] ]B] \Ó]£_`‚baüb`bæbüc@b†bPbZbQb]aëa`–`awb_º^]†]C].]$]\ñ\â\Ñ\À\¸\­\•\„\}\\{\p\\\M\>\/\%\\\ \[ú[ç[Ô[Ä[²[¥[Ÿ[¡[¢[­[º[Á[Á[½[²[¥[Ÿ[š[¤[©[½[Î[î[û\ \ \[è[Í[µ[¤[[w[R[8[[ZýZìZãZÙZÒZÇZ³Z¡Z Z´Z»ZÉZÃZ«ZZyZaZEZ7Z8Z)ZYóYÛYÔYËYÁYÇYÇYºY­Y¬Y¬Y¶YÍYÖYâYõZZZZZ%Z3Z@ZQZdZcZnZ}Z{ZjZjZ}Z£Z³Z¨ZšZZ†ZrZVZIZ?Z@ZAZ1ZZZ Z(Z5ZYëY÷Z'Z@ZQZYZ_ZlZsZZ¢ZÑZû[[.[][¡[Ç\\3\@\[\”\É\ó] \þ\í\Í\±\¦\\\‘\\¶\Â\Ü]]+]\]]]œ]¨]¶]º]©]•]]®]°]™]{]K]\ê\×\Ö\Í\µ\¤\ž\ \£\²\Ñ\ö]]>]^]}]Ž]]–]­]Û^^ ^/^8^8^2^ ^ ]ý]î]à]É]®]™]‹]]w]l]`]W]O]N]\]]£]É]à]é]á]Ú]Õ]Ñ]Ô]à]í^^-^H^\^m^s^|^^„^ƒ^x^r^b^Z^[^V^J^3^ ^!^ ^^]û^^^]ñ]ò^^^7^/^]Î]Ð] ]¡^Ò`èa™aºa_›^å^Ö^Á^—^w^ ]½]©]¼]Ì]ê^^'^>^W^e^w^^^…^•^–^¢^¥^¥^©^´^Ê^å^ÿ__7_O_b_{_Š_š_¡_¬_¯_¹_Ä_Í_Ô_Û_à_á_Þ_Ø_Î_À_³___‡_€_y_n_`_k_m_y_€_Š_u_¤`”a}`³_ö_Ò_Ü_à_Õ_Ú``™`I`&`U`r`[`5`V`j`n`g`L`?`-`'`0`1`1`:`M```u`~`‰`ƒ`s`h`_`O`L`H`F`?`3`"` _ñ_Ø_Á_³_¬_§_›_™_Œ_†_…_w_s_t_s_x__Œ_‹_|__q_t__¯_Ã_Þ_Ö_“_ _l_k__s_†_ç` _{_ _2_¯_©`6ašc/dâg9e÷e¹cOa}aaòaïa)`U_ó``@` _(^¥^^Û^.]\]†^Û_±^ö]›]^]V]m]ˆ]n]J]%]T]†]Ÿ]Ÿ]”]™]—]Œ]}]g]\]w]W]A]B]6]:].]€^f_§^]]],] ]3]"]0]\ñ\Ì\œ\m\5\[Ô[›[[o[U[O[J[K[W[i[}[Œ[œ[³[Ô[÷\\(\6\.\$\\\\\4\`\”\Ä\·\¡\œ\£\¸\É\Ð\Á\¥\©\®\²\´\±\¬\ª\¿\ì]%]U]p]|]“]»]È]Ú]ó]ø]ë]Ì]Ÿ]q]/] ]']E]H]X]d]g]T]5] ]]]]]]\æ\·\ƒ\V\[\o\x\i\P\0\\&\;\U\i\\Ÿ\Æ] ]C]Y]6]T]r]j]r]p]k]V]>]<]7]+]\Ñ\“\g\7\[ç[Ê[¿[¸[³[©[«[±[¹[¼[½[Â[À[È[Ó[Ö[Ø[Ë[Â[¿[À[Ä[Å[Å[Æ[Á[¹[®[§[Ÿ[”[Œ[Š[[’[”[”[“[”[‘[Ž[‹[‹[‡[Š[[œ[¦[¹[Ç[Ô[Ù[ß[ã[é[ó[ü\\\\\\\.\B\O\]\a\h\e\j\m\s\{\„\Œ\–\¢\¸\Ò\ì\ú]]\þ\ó\å\Ø\Í\Á\¸\­\¨\ \›\˜\“\‰\}\n\Z\O\>\5\0\ \ [÷[ë[á[Ó[Æ[¶[«[›[[‚[|[u[n[f[U[?[*[[ ZýZòZæZÚZÐZÄZ¶Z¦Z‘Z…ZwZmZ_ZRZ=Z'ZZYúYíYàYÚYÔYÓYÍYÆY¼YºY¼YÂYÍYÒYÑYÑYÔYØYÝYäYæYåYáY×YÌYÀY¹Y²Y³Y¶Y¼YÀYÇYÈYÏYÐYÓYÒYÓYÓYÓYÒYÔYÓYÓYÔYØYÚYßYäYæYèYíYïYõYüZZ ZZ(Z3Z;Z?ZJZTZ^ZiZtZZŠZZ–Z›ZŸZ§ZªZ®Z±Z¶ZºZÀZÉZÎZÛZâZó[[[/[I[_[w[ˆ[ [¶[Ñ[å[ý\ \#\,\<\F\Z\j\ƒ\™\¶\Ì\Ý\ß\Ô\¿\®\¦\§\§\­\°\¬\«\¬\³\Á\Ü\ÿ]]]]]]&](],]&]]]]"]*]:]K]\]i]z]†]“]]ª]·]Á]Æ]Í]Ð]Ú]Ú]à]ç]ñ^^^^%^)^%^^^^^&^-^;^H^[^d^t^}^^–^¤^©^¶^¾^Ê^Í^Ö^Ù^Ï^Ì^Ç^Æ^Î^Õ^Ü^ç^ñ^ú^ù^ó^ä^À^ž^€^v^i^q^‚^…^u^j^`^O^0^*^(^^^^^^]ø]û^^^$^-^/^7^7^;^>^B^H^;^"^^^^0^)^$^^^]ü]Ü]â]Ý]ä]Ú]Î]¹]¬]˜]…]p]…]…]r]m]\]S]?]C]B]<]5]*]']"]!]]]]\î\å\Ï\½\¨\\€\n\j\S\{\[¨ZîZ_\õbU`ub`]][W\ÁYÖV”VVKV;UpULUVUnUÏVVcV’VÆVÝW$WVWˆWŒW©W«W½WÈWÔWØWéWÑWðWûXX8XfXXžX¶X¿XÝX¸X«X—X¥X«X¸X¸X§X¥X¡XŽXqXZXFXVXWXXXQX>XBX*XWüWêW»W„W_WBW+WVøVåVÛVÅV°V¦V–V‚V‹VrVfVKVAVMVQVWVXVjVbVŽVÌVøWWW:WˆW¯W³W¿W¡WWªXX¢X®X¬X·X§XyXqX±X¢XbX~XžXàY XØXâY5Y›YÓY’YXYšZZZZZYÐYrYYYYþZ7Z"Z2ZTZè[_[X[Y[[.[I[f[f[_[IZìZÖZ©ZgZLZDZYæYYwYUXÁXlXiXTXvXÌYqY¯Z"[¼[Zà\^4^^]ì^^y^>^^^(^^^^s^b^¦^É^ü_"_D_a_}_š_±_Ç_Ý_ó```)`4`:`?`?`E`D`F`J`P`U`a`l`z```–`¤`­`¸`À`Ë`Ó`Ü`â`ä`Ü`Û`Ò`Õ`Ú`Ý`å`ê`ð`ù`þa aa,a=aOa[anaua…a‹a–a›a¤a§a«a³aÁaÉaØaÙaáaäaçaâa×aÎaÅa»a°a¢a’a…axama^aPa?a4a.a6a9a:a@aGaNaTaTaQaOaOaGaDa6a/a(aaaaa"a!a$a&a+a0a2a.a+a aaa$a(a-a1a7a9a7a1a,a*a*a)a)a&a%a$a!a a!a$a*a2a`N```m`v`v`t`f`V`P`N`G`C`7`/``_ú_æ_Ø_Ì_¼_µ_±_¨_ _˜_—_£_§_¡_±_ª_Ÿ_‘_’_‘_p_v_k_X_@_=_%_I_t_U__'_ ^ê^Õ^^­__Z_P_Y_Œ_‚_«`a.cäc£dSgfc?cfd cÍbìbÍc˜d~dWbea`baÇ_] ]é^÷^ú]í]å]Ñ]‘]…]‰]ñ]ã]½] ]”]”]]‘]˜]‘]‘]}]•]Ó]M]J]N]']l^"^÷^r]{]]>]<]J]_]Q]O]O],]]\ñ\¿\s\2[ò[«[y[l[[[G[=[7[E[S[k[{[‘[¦[Æ[ã\\\ \\\ \ \\%\A\p\˜\º\§\¢\¤\¨\¸\¸\±\¢\˜\ž\ž\¢\¦\¨\¤\¯\Ò] ]L]v]]¬]Ë]Ü]è^^^^^]ê]À]–]t]s]r]g]o]p]f]K]!\ó\ð\÷]]!]"]\å\¯\}\T\[\v\{\\\3\\\!\1\>\M\j\˜\Ö]]:]R]R]u]‹]’]ž]Œ]„]c]6]<]<].]\Õ\š\k\8[ú[Ü[Ê[¾[µ[³[±[¶[¸[º[µ[±[µ[¯[¹[¿[Â[É[Å[¾[»[À[Â[È[Ì[Í[Ë[Â[¹[²[±[¬[£[›[”[”[–[˜[[Ÿ[[[[™[’[Ž[’[›[§[¸[Æ[Ø[á[ë[î[ö[ý\\\\\\&\3\A\N\Y\d\j\m\o\t\s\|\€\‡\Ž\—\¢\¹\Ó\í]]]]]\ú\ï\å\Ú\Î\¿\³\¯\«\¦\¥\™\Œ\|\k\Z\G\=\:\/\\[ó[ê[Ý[Ñ[Æ[¸[¤[•[‡[[z[q[d[S[;['[[ZúZïZãZ×ZÊZ½Z²Z¢ZZ€ZpZfZWZGZ2ZZ ZYôYèYßYØYÖYØYÒYÊYÂYÁYÀYÆYÐYÑYÕYÓYÐYÒYÕYÚYÞYäYâYÛYÕYËYÆY¾Y¾Y½Y¿YÁYÃYÉYÎYÑYÖY×YÙY×YÚYÔYÖY×YÖYÕYÖYØYÝYßYãYâYæYìYöYþZZZZ%Z3Z>ZBZMZZZbZlZwZZ…ZŠZ“Z˜Z Z¥Z«Z®Z´Z¹Z½ZÄZËZÓZÝZãZô[[[&[A[W[q[ˆ[ [³[Ë[ß[ø\ \\)\;\H\^\o\†\œ\¹\Ó\â\Þ\Í\·\¥\Ÿ\¡\¥\¨\¦\¤\\Ÿ\¥\µ\Ó\õ] ]]]]]$]-]3]4]4]9]:]A]H]W]i]|]Š]™]¤]°]·]Ã]Î]×]Þ]ã]é]ï]ð]÷]ú^^^"^/^6^6^2^)^^^"^'^0^@^O^\^h^u^^^™^§^­^µ^À^Ã^É^Ê^Ê^Å^Å^À^È^È^È^Í^×^ç^ì^ç^×^¿^Ÿ^^‰^•^¨^±^´^©^™^‰^|^q^X^N^E^6^(^%^^ ]ü]õ]ú^ ^^'^2^7^8^<^?^E^B^Q^L^@^3^&^$^,^.^%^^^]þ]å]à]Ð]Ý]Ø]Õ]Ë]º]¬]¨]—]Ÿ]‘]]]z]g]\]X]I]B]:]5]']-]#]]] ]\ò\ô\á\Ô\¼\¦\¡\{\w\W\#[î[GZÚYŠZ±`3b˜cº\¯Y”[ÍZ€VÍW[XqWPU_U9U´UeUíVVGVtV˜VèW W@WoWŒW¥W¤WÂW¯WÇW½WÌWÌWòWóX X,XFXX‘X¸XÁXÔXÞXÊX¯XÌXÚXîX÷XâXÝXÈX¾X•XXXxXƒX€X‚XwXiXVXLXYX@WûWºW|W]W6W1WWVôVÜVÑVÑVÏVÚV¸V•VhV8V/V%VV3V^VpVwV¼VöVýWWWIWzW¥WÁW½W¡WºW¿X XfX|XªXµX¤XªX„X’XáX¯X“X³XÿYXêY+YbY»ZY¤YsYÃZZ?ZaZjZ YÎYYFYYYÉYêYÞZZBZÃ[T[š[¯[U[3[“[Û[š[Q[ZòZôZ£ZqZ…ZºZ~Z*YáY¿YÆYX—XœX´XÄXÕY&YZ [/ZžZ“\e]ÿ]î]T] ^9]þ]©]¨]±]ª]ÿ^t^S^¢^û^ß__5_]_‡__Ÿ_»_Õ_é_ÿ``$`2`@`I`O`T`W`Y`[```d`l`r`y`‰`’` `¥`·`Á`Í`Ó`á`ç`ó`ô`÷`ô`ñ`ì`í`õ`üaa aaa#a-a;aNa\apa{aa˜a¦a¯a·a½aÄaÄaÍaÒaâaìaüaþbbbbaúaòaëaßaÐaÁa·a­aaa|aha\aQaLaIaOaSa]a`adakajalafahafaea_aTaLaEaEaHaNaPaPaXaWa^a^a`aUaKa@aa@a?aFaHaMaLaLaBa3aa`ò`Ü`Å`±`¡``„`}`z`u`p`i`g`j`c`]`Q`B`,` _á_Ñ_·_Ÿ_Œ_j_L_5__^ì^ê^è^ç^æ^Û^Ê^´^š^~^b^D^/^]ù]î]è]å]Ø]È]®]–]z]d]W]K]B]8]$\ø\¶\q\F\3\I\l\x\\~\¤]]~]{]G\Ü\€\É]V]Ñ]Á]l]H]6]F]/\ö\É\Ë\Û]F]–]P]‰]‰]N\Ÿ\w\v\Ž\å\Ü\À\w\_\·\ƒ\\ [Ñ[Í[¹[•[¿[º[—[‰[#ZæZêZZŽZÂZ‘Z’Z‚ZWZ@Z-Z>ZMZOZiZ}YôZ%Z|Z›ZøZgZœZŒZ÷]Z2YIZ0Zé\[…ZÄZ6ZZIZÀZ±Z€Z³[9[†\8\í]A]]ç]½]Ø^Ë`(a!`À`Ñaaa­b²c•bâbrbÕbµaßa`y__^Ÿ]Í]Y]2]*]] \ô\ï\Ú\Ñ\¼\¯\¦\›\‘\†\}\s\i\V\C\1\$\$\\\\\\\\ \\[ü[þ\\\\ \[ü[ì[ä[ß[Ù[×[Ö[Ô[Ø[Ý[Ý[Ú[Ú[×[Ì[´[¡[[{[b[8[ZôZãZäZêZ÷ZõZìZ×ZÌZÔZÜZóZïZâZÎZ«ZŽZnZgZYZHZBZCZ3ZYýYðYçYãYåYçYçYåYãYâYãYñYþZZZ*Z0Z3Z6Z=ZSZiZwZZŸZ©ZZ–Z¡Z¤Z›ZŠZoZ\ZVZGZ:Z4Z5Z'ZYòZ Z1Z5ZZ8ZgZ_Z2ZZ-ZCZ^ZvZ‚Z}ZvZwZžZÒ[[k[£[Ñ[û\-\I\b\z\™\º\ô].]G]4] \í\Ë\£\\‘\™\œ\°\Ï\í] ]5]`]€]]˜]¨]¶]Á]¾]¤]¬]Æ]È]½]Ÿ]k]1] ] ]]]]\ê\á\Þ\à\í]] ]7]P]k]…]Ÿ]¶]á^ ^(^>^G^G^D^9^/^#^^]ò]ñ]ö]é]Ñ]Ã]´]¦]š]˜]ž]§]µ]Ç]Þ^^^^ ]ÿ]ì]Ò]Æ]Ø]ó^^=^u^Š^‡^‡^“^¥^¯^¤^™^’^ˆ^t^Y^=^]Ý]Æ]Ê]í]ý]ÿ^^*^D^S^Z^[^b^V^K^)^^ ]Ù]¼]Û]Ë]»^,_La aœ`_¡_Œ_N_^e^^^^(^5^G^X^a^s^^Ž^•^°^Ï^ê^ä^ã^ê__ _____-_E_`_u__¢_³_½_Å_Ç_Ì_Ó_Ù_Ó_Õ_Ó_Î_Æ_Â_¶_³_®_§_œ_˜_˜_˜_”__”_Œ_Š____ƒ`údæa}_è` _Ô_Ý_Õ_Î_é`œ`8_â`0`Ü`•`#`4`.`3`4`8`2`3`:`8`8`2`7`B`N`U`e`l`p`l```Y`Q`M`K`F`A`<`.`!` `_í_ä_á_Õ_Ç_½_¸_µ_©_¡_¤_¹_Ô_¼_ª_¯__{_[_n_i_€_v__Œ_w_Z_k_‰_m_l_x_i_U_#^û^ÿ__ _I_Š_Á_†_y`Z`ÍabgcÅd¬f7d¡cGbŽbc"cÈeªflcôaF`Äbqai^[]f^B^ƒ]&\Þ]D]¤]Ù]©]ª]G]n]Æ]À]¢]†]i]€]m]t]u]X]v]=]J\ã]†_»_ë`Y`]Ì]]˜]Š]“]ˆ]s]u]Y]K]R]F\à\\\t\[¾[[c[[[>[2[*[6[@[V[j[ƒ[–[·[Õ[ñ\\ \\\\ \\+\J\r\‹\¢\š\Ÿ\¢\¢\¨\¡\•\\\Œ\‰\Š\Ž\•\•\²\ì]@]‘]À]Ð]ß]ø]þ^^ ^^(^/^2^-^]ó]×]¹]”]|]„]‚]e]1]\é\í]]1]\]S].\ÿ\Ñ\­\—\–\š\~\D\&\ \.\H\P\B\V\v\¤\æ]]>]Y]k]Œ]À]á]¶]~]p]W]2]6]8]+]\×\\k\9[ì[Ð[Å[¸[±[®[³[Á[Æ[Å[»[´[°[¬[®[¨[®[·[¹[º[¶[·[¼[Æ[Ï[×[Ñ[Ä[¹[´[¸[¼[³[ª[Ÿ[™[š[œ[£[§[¨[«[¬[¤[œ[”[•[œ[¨[¶[Ç[Ø[é[ô[ù\\ \\\&\-\3\;\B\P\Z\b\l\r\w\{\|\\ƒ\ƒ\ˆ\Ž\™\¤\»\×\õ] ]] ]!]]] ]\÷\ã\Ñ\Æ\À\¹\·\±\«\¡\\~\k\[\J\E\7\!\\[ö[ê[Þ[Ò[Ä[µ[¡[•[‹[‚[y[j[T[9[&[[Z÷ZíZáZÔZÆZ¹Z®ZžZZZqZaZTZDZ+ZZYøYîYëYâYÝYÜYÛYÙYÖYÏYÇYÆYÊYÎYÐYÓYÑYÎYËYÌYÍYÓYØYÜYÚYÖYÓYÐYÌYËYÅYÅYÄYÃYÇYÊYÐYÕYÖYØYÛYÞYÚYÙYÕY×YÕYÔYÕYÙYÜYáYäYèYðYøZZ ZZZ"Z0Z=ZIZSZaZmZtZ~Z…Z‹ZŽZ–Z›Z£Z¨Z³ZµZ»Z½ZÆZËZÒZÚZâZíZú[[["[;[O[g[[™[¬[Å[Ø[î\\\\1\D\X\m\…\\º\Ò\Ý\×\È\²\£\ž\ž\ \¢\¡\š\Ž\’\˜\­\Ì\è\ü]]] ]]"]4]:]D]G]M]Q]Z]c]t]†]˜]£]®]¹]Ã]Ì]Õ]Ü]æ]ï]÷]ý^^ ^ ^^^^1^<^E^A^:^1^(^#^)^5^>^E^R^X^h^q^~^‚^^›^Ÿ^ª^¸^¹^Ã^Á^È^Ê^È^Ë^Ó^Ñ^Ì^Â^Â^Ç^Ì^Ì^¼^¨^œ^¤^µ^¿^Ñ^Î^È^º^®^ ^^€^e^Y^G^<^.^+^!^^^^^^^*^-^;^:^A^<^I^F^X^X^L^=^7^9^5^2^)^^^ ^]ö]ë]Û]Ù]×]Ú]Ù]Ô]Â]»]¶]º]³]¶] ]—]~]t]a]P]P]H]H]?]5]+]]]] ] ]\ù\ï\×\Æ\§\£\p\T\/\ [+ZýZ&Ym[^­c5^†Y¦WïZTZùYÆYYCW‡V/VJV!VLV6VZV…V¶VâWWKW_WuWˆWˆW”WWªW£W­WûX%WùWíX@XSXhXXžXÍXÖXÝXÕXÞXëYYY Y YX÷XðXÔX©XªX¥X¡X¤X˜X—X—X™X™X»XÂX[WìW¥WxW[WDW*W(WVôVàVòVêVÛV–VnVUVUýVVV1V\VcV°VñVþVøWW'WHWyW¡W¾WµWªWåXXXXBX”XØX¬XÑXœXXŒX¹X©XøY6Y XËYYTY•YôY´YY’YÅZ ZZ"ZYÞY¾Y~YRYuY†YžYÕZZ7Zt[[«[£[’\\[‡[1[,[A[ ZÑZ¡ZZãZ¥ZKZ,ZYùY9X£X‰X½XîXëYKZZæ[ØZýZ¸[Ú\ù^^]R] ]*]B]U]S]z]È]ï^^º_^ú_B_”_Ö`_ú_É_Ì_ä_û``!`2`>`J`U`\`g`i`m`q`u`}`†`Ž`•`Ÿ`§`­`¶`È`Ð`ß`è`ö`úaa aaaaa aaaa$a/a;aCaRa^apa}aa›a©aºaÆaÍaÖaÙaäaéaóaûbbbb b&b'b+b$bbbbaõaãaÕaÌaÄa·a§a’aˆawarahahanaxazaaˆaŒa‹aˆa‰a‹a†a‚azaqarata{a|a‚a…aŠaŒaa‹a†a|asaiacaaa^a^a[aYaYaWaXaWaYaXaYaZa^a^aba_a`aZa]aYa]a]a_a\a[aOa:a a`ý`è`Ñ`À`®`š`‘`Œ`„`ƒ`|`{`s`|`t`m`_`L`2`_ð_Ð_¬_Ÿ_‹_m_R_8__^ñ^é^ê^í^ì^ä^Õ^¿^§^‰^l^M^2^^]ú]ð]é]Û]Ê]¸]]]q]p]g][]P]?]\Ç\„\W\<\H\j\r\r\¡\¹\Ý]U]T\í\Ë\µ\Ý\ÿ].]«]ª]c]o]€]>\ù\ß\Â\å]^]¢]]à]½]K\õ]\º\T\Ž\º\Ä\†\~\¸\j\ \U\\\[Ò[ÿ[Ä[‚[“[2ZÌZñZ¼Z ZÄZ±Z•Z…ZlZ\9\2\/\,\1\-\,\%\\\ \\[ø[ï[ê[æ[å[Þ[×[Õ[Ò[Ç[º[¨[™[„[j[J['[ ZúZø[[[[Z÷ZñZõZþ[[ZíZÒZ¿ZªZ”Z„ZmZdZ\ZWZBZZZ ZZZZZ ZZZZZZ!Z,Z-ZCZJZKZLZSZbZ|Z‘Z¥Z·ZÂZÁZÉZÃZ«Z‰ZkZSZ?Z/ZZZ&Z^3^(^ ^^^^^^ ^]ó]å]á]æ]í]é]ê]í]ÿ^^^^]ô]ç]Ì]´]Ä]ã^^/^b^z^€^Š^œ^ª^¸^´^¥^–^…^m^R^+]ÿ]Ë]¯]µ]×]û^^9^Y^t^‚^…^t^j^P^;^C^+^]ù]Þ]ß^^]î^[_o```¢_Ò_!_2^«^s^k^k^}^}^€^†^†^‡^ˆ^’^£^¹^Í^ç^Ü^ä^í__*_>_4_2_)_-_B_^_s_Ž_¤_¸_Æ_Ø_Ü_ß_Ø_Ô_Ó_Î_À_¾_´_¯_¨_§_£_Ÿ_š_š_—_”_™_—_œ_Ÿ_—_˜_ƒ_x_s`aƒ`b_Ù_ò_Ä_Ï_Ä_Ä_º`_Ú_Ö`,`Ž`3_ö`````%`*`4`5`8`<`9`B`D`O`Z`g`k`o`h`_`T`P`N`K`E`A`7`1`(``` `_ô_ñ_è_ß_Ó_Ò_Ó_Ú_ä``_è_Æ_¶_–_l_I_t_p_b_\_L_>_L_V_C_0_!_%_^ï^Ú^»^ì^ï_!_C_2^þ_<_“__Þ`6`A`)`¤a¨b¬b¨d4e‡cÒdóf4e¬f'e‡c½aÂaŒbHa9_r^[^>^¦^¹]õ]Š]P]¿^^ ]ý^v^]å]ì^^1]]S]O]>]d]W]<\ö^«b_ï^‚^š]È]Ž]¼]«]º]]…]k]i]q]b]m]{]\y\s\R[Ý[µ[m[U[5[)[[*[3[I[_[x[[©[Å[Ý[ð[÷[ö[÷\\ \\.\N\o\\\•\\¡\ \\›\’\‡\z\u\w\z\€\\¥\Ø]+]†]Ã]ä]ï]õ]ý^^ ^^ ^^3^?^O^H^2^]ð]º]˜]—]‹]g])\ù\ò]]>]{]”]{]R]/]\ó\Ö\À\²\Œ\M\B\c\‰\•\\|\\n\z\»\ð]*]T]^]V]s]’]f]<]C]>]]]$]$] \Ï\š\o\=[ï[Î[¼[¯[¦[Ÿ[¥[·[Ã[Ç[Â[·[«[ª[ª[¡[ [ª[´[µ[´[¯[³[½[Í[Ú[Ó[Ç[¼[¸[¹[¾[»[³[ª[¡[Ÿ[Ÿ[¦[¯[³[¶[º[´[ª[ [[ [¬[¸[É[Ø[î[û\\\\\)\5\;\B\F\R\\\c\h\m\v\|\„\‹\Ž\‹\Š\‰\\™\©\À\Ý\þ]] ]']&]$]"]]]\ü\è\Ù\Î\É\Ê\Ä\¼\®\ž\Ž\z\k\[\P\=\2\\ \[÷[ð[ã[Ò[Ã[±[¥[˜[[[o[Y[A['[[ZøZîZãZ×ZÆZ·Z«ZZŽZZsZdZUZBZ+ZYÿYõYòYéYãYåYãYãYàYßYØYÎYÎYÎYÉYÅYÇYÊYÊYÆYÆYÄYÊYÎYÓYÖY×YÙY×Y×YÖYÒYÌYÈYÆYÅYÉYÏYÓYÖYÚYàYßYÜYØYÕYØYÔYÓYÒYÖYÙYßYèYìYóYüZZ ZZZ Z,Z;ZLZXZhZzZ„ZŽZ’Z–Z”ZšZ Z«Z³Z»Z½ZÄZÂZÉZÎZÛZáZðZø[[[[![4[I[c[|[–[©[½[Ì[á[ó\\\!\:\O\e\{\•\³\Ê\Ö\Ô\Ç\²\£\›\\\Ÿ\—\Œ\„\‚\‹\ž\º\Ú\ì\õ\ù]] ] ]0]@]L]T]a]k]x]„]“]£]°]¸]¾]Ä]Ì]Ô]Ù]à]î]þ^ ^^^ ^"^(^*^/^8^A^E^D^F^<^7^2^7^8^A^E^O^O^a^k^{^u^‡^‘^•^¤^±^³^»^¾^Æ^Ç^Ö^å^ó^õ^å^Ð^Ç^½^Á^º^¶^©^²^Ç^Þ^ä^ä^Û^Ó^Ë^¼^¬^•^v^S^J^I^A^;^C^9^1^^^ ^ ^ ^!^+^;^7^E^E^L^S^e^^^R^N^J^?^;^4^/^'^^^ ^]õ]ï]ä]á]à]â]ä]Ù]Ö]Ð]Ö]Ì]Ä]´]ª]‹]]q]g]X]^]V]Q]D]:]-] ]]]]] \þ\æ\å\¹\¹\„\j\ [Ý[O[ []ZjZ:]Žañaõ[åU®W_œ_ Z±ZƒY}X™X¸WVVmVjVFVcVÜVóW WWFW[WoW„W|W–W|W¤WØXXWØWûXqXkXJX‡X’X´X×XêXáYY Y#Y+Y:Y,Y!Y*YXøXåXÑXËX½X½X¼XÂX»X²XÂXÌXÀXmXWÛW¥WƒWjWNW9WWVîWVûVáV§VsV>VVVV$VlVoV„VáWVúVüWW@WPW{W•W—W¥WÀXX:XX XXKXÇXçXèXXXfX¬X±XâYYXÐXåYRYÀZYíY¢Y®YõZ.ZYÉY²Y„Y•YªY€YŸYÄYèYâZ-ZžZzZ{[Q[Ñ[æ\[¹[N[X[x[N[[ZâZàZéZ‘ZOZXZZYñY;XüXºX¡X¹XáY†ZQ[_\][e[[å\]i]~\â\¿\â\Þ\û] ]W]m]–]ä^u^Î__y_ê`D`p`>_þ_î_ý``%`1`<`J`S`^`k`t``ƒ`‰`Ž`–``©`³`¶`»`Ã`Ë`Ù`ä`ñ`ýaaaa"a%a$a)a(a-a-a1a4aDaMa_afava„aa a­a½aËaÖaáaêaöaûbbbb(b-b3b:b>bEbFbIbHbGb=b2b!bb aþaðaïaáaÓa¼a¯a›a•aŒaŒa’a˜aœa¦a¬aµa¶aÁaÁa¼a´aªa¥a aŸa a©a°a¹a¾aÂaÂa»a´a­a©a¢ašaaƒayaoajagaeacafafaialasaqayaxa|aza{avatasaraoamaiaeaTa@a0a%a`ü`ê`Þ`Ë`½`¯`¨``š`”`“`‡`–`Œ``j`[`:`_ù_â_¼_©_Š_n_U_?_)__^ú^õ^õ^ö^ñ^ç^Ô^¾^¡^€^f^H^2^!^^]ó]ä]Ð]À]©]‘]ƒ]]z]w]f]L]!\Ø\\`\F\J\a\l\h\\\|\ã\ÿ\Ö]\ù] ]B]#]Š]±]¨]þ]°] \ç\×\Ó]]q]´]™^]í]ƒ]u]{]%\”\€\¡\\M\„\‰\-\\;\\\[á[´[‚[–[™ZôZŸ[ZäZàZü[Z½ZŠZqZ,ZYôZZZY´YRYjYÅY©Y Y!Z$[ Zå[Z YmYÏZœ[ü[í\U[úZ¢Z|ZÆZ®Z‡Z~Zß[_\\Î]„^%^Ç_1_–_Ç`2`^Ö^}_~`Õaaqb&bûbïbvaâaV`›`_‘^ï^]z]W]A],]] ]\ì\ß\Õ\Æ\¹\¯\©\™\—\ˆ\\n\`\N\A\7\3\3\:\A\O\W\l\m\u\p\g\Y\Z\X\U\R\L\D\=\6\2\0\,\$\\\[þ[÷[í[Ü[Ô[Ê[º[¤[[}[p[`[I[/[[[[[&[[[[[0[/[[ZæZÉZ»Z¶ZªZŽZxZqZhZLZ4Z#ZZZ$Z"Z&Z&Z#ZZZZ"Z,Z9Z@Z_ZlZrZrZxZ€ZŽZZ°Z¾ZÊZÕZÓZ¸ZZZcZCZ(ZYùZZ>ZfZkZEZ+ZHZ2ZYÿZZZZ…ZTZ&Z%Z?ZeZ{ZZ|ZZÁ[[H[„[Ä[Ý[ø\6\€\§\¹\Ô\ó] ]*]P]u]o],\á\\}\z\Ž\²\Â\Ô\é\÷] ]]0]I]i]”]µ]Ã]Ì]Ï]Í]Ñ]Ò]Ë]¾]Ÿ]|]U]8]8]G]W]T]>]$]]]]]]"]=]W]v]‘]ª]Ç]ï^^8^I^I^F^D^6^'^^^ ^"^(^/^0^2^+^ ^^^^^^^^!^)^'^^]ð]Þ]Ï]Î]Ý]õ^ ^'^F^R^c^~^™^³^À^¶^£^Œ^}^h^T^/]þ]Ë]¥]©]Ê]ü^4^b^ƒ^Ÿ^¦^¡^^r^b^J^0^*^ ]÷]ù^^^'^R^‡__F_n_ì_k_F_l^Ó^^„^y^t^‚^~^^ƒ^‹^ž^£^¢^´^¶^¼^¹^¼^Õ^ø_ _$_._8_?_D_I_`_p_Ž_²_¼_½_É_Ë_Õ_Õ_Ô_Î_Ç_¾_¸_­_ª_¤__˜_—__Œ_—_˜_—_ž_¡_¤_§_¡_–_’_Ž_‰_¸_µ_Û_Ø_»_Æ_±_Á_¨_±_®_Å_ê_ö_Ù_ã_ó_ü`` ``#`/`<`A`B`B`H`R`[`^```b`d`_`W`J`M`J`K`H`G`C`<`3`.`%```` _þ_ú_ô_ó_æ_í_ò`_û_ç_Ú_Å__q_p_…_‚_ƒ_‡_•_”_‰_‚_ƒ_y__b_q_™_‚____^ø_5_]_3__F_›``)_ÿ_Ú_Ë` `=aØeÉeSd^eÿe‰e]fDf}dÕcÅd0eþd¢`j_wa$cëb` ^J]\Ï\Ð]`^ƒ^y^^[_ _^]±^^è^¬]þ]à^º`R_ð^&]ª]·]§]×]ô]Î]À]Š]w]S]p]y]z]Ò_¹` \ï\U\¡\2[ý[š[`[1['[[&[/[H[^[u[[Ÿ[¹[Ð[ß[é[ê[ð[û\\\0\J\f\y\…\‘\—\š\¢\¥\¡\‘\}\l\i\m\|\–\¸\ã]!]x]Á]á]ë]ì]ü^^ ^]ù^^!^D^O^V^[^X^?^]ê]Æ]¨]|]X]-]]]8]†]®]§]~]Q]/]]\Ø\¿\«\\‹\†\²\ï\ë\¼\‹\t\Z\K\c\”\Þ]]\ô\ö]]5] ]$]-]\ò\ý]\ù\¿\„\b\6[ô[Ñ[²[¤[—[Š[ƒ[“[©[°[¯[¬[£[ž[–[’[—[¢[³[¹[¶[¯[°[¼[É[Ð[Ñ[Í[Á[¼[¼[¾[½[¸[¯[§[£[£[§[±[¸[¼[Â[¾[µ[ª[§[©[±[¼[Í[à[ö\\\\"\)\6\>\D\L\N\Z\_\h\m\m\w\\Œ\–\˜\—\”\\–\›\®\Ç\ã]]]#])]+]+]-]3]5]*]\þ\ë\ß\Ú\Ø\Õ\Î\Ã\³\\Š\{\k\Z\J\B\0\#\\[ÿ[ò[ã[Ó[Å[´[¥[™[Œ[}[c[K[1[[ ZÿZòZçZØZÊZ¼Z¬ZZŽZƒZwZjZZZEZ/ZZYöYôYîYìYçYèYìYçYãYÜYÓYÏYËYÄYÃYÇYÅYÅYÆYÅY¾YÀYÅYÊYÏYÓY×YÛYÞYÝYÜYÕYÏYÊYÇYÈYËYÐYÖYÜYâYäYâYÚYÚYÙYÖYÕYÖY×YÛYãYëYñYøYýZZZZZ#Z.Z;ZIZZZlZ€ZZšZZ¡ZžZ£Z©Z¶Z»ZÆZÉZÊZÉZÑZ×ZäZìZû[[[[ [+[7[K[a[y[[¤[·[Ç[×[ç[ø\ \\.\C\]\w\\§\¾\Ð\Ò\Ê\¹\ª\ \\œ\›\\\u\s\~\\­\Ê\Ù\ã\æ\î]]].]A]H]W]h]{]]›]©]·]½]Ã]É]Ì]Ó]×]Û]ã]õ^^^!^(^/^:^=^?^?^>^E^L^J^H^B^E^A^J^K^R^S^_^b^j^h^z^z^…^“^¨^¾^Å^È^Î^Ð^Ò^Ø^ù_ ___ ^õ^é^Ò^Ì^Æ^Ï^Å^Ð^Ý^é^ç^â^à^Ò^Ë^·^¢^~^_^Q^U^j^h^_^e^S^D^'^]ö]÷]ö^^*^9^;^D^K^S^Y^b^^^_^S^T^P^I^C^@^8^+^%^^^]ù]í]é]é]í]ñ]ô]ö]í]ê]à]Ó]Ä]¯]ž]Œ]r]w]h]t]q]h]X]K]8]1] ]!]]]]]\ï\Û\À\š\u\ [¶[œ[Ž[ZÕ[ ^aaa¯^fWVŽZ¡[õ[ý\ZAYeZQX¸VgUûV[V†V·VùWWW-W?WFWcWbWW|W£WéWöWÜWÌXXkXoXRXeXŽXÃXÎXïXÿYY-YAY?Y^B^<^8^5^;^7^3^8^@^G^P^T^Q^>^*^^ ]ü^^^ ^.^;^B^?^L^v^ž^µ^»^¬^œ^Š^z^c^E^%]÷]Ê]¬]¦]Ð^^Z^‡^¤^¶^À^°^¡^ƒ^^^K^(^ ^^^8^k^|^…^²^Ø__@_P_b_\_b_K_I^ö^Ê^Ê^¥^§^‰^†^„^}^v^^¥^¯^²^¬^«^²^¿^Ï^ì__ _8_C_J_T_^_o_‰_Ÿ_­_Ã_Ý_Þ_Ý_Ú_Ø_Ê_À_±_©_¦_¢_œ_›_—__Ž____‹_–_¢_¨_ª_²_°_°_¹_Á_Â_Ù_à_Ò_»_³_¤_­_¨_«_¯_©_­_¿_Ó_è_Þ_ê_û`````.`6`>`@`D`M`R`Z```\`Z`R`I`B`C`A`F`C`C`>`=`:`2`5`4`-`)`&` `````!``&``_ö_Ô_›_n_š_Ÿ_z_‚_u_r_v__p_u_Z_O_M_J_&_A_E_ __O_W_+_ _5_7_]_‹_‡_i_z_µ_§_ö``?b>dùdVdîedjeüe‘dieaewdªfXd±aÙ`€alefŠbo`S_y_ ]û]®^ ]ú^^5^#^^1^ô`_‚_N_^Ê^ò]ð]£]ü^#^#^]ö]Î]µ]¦]‰][]W]Y]“]}^ðaF^\\q\8\)\I[ò[‘[B[-[*[([1[E[\[v[Š[˜[§[½[Ê[Ú[á[í[÷\ \\/\H\d\w\…\‹\‘\›\¤\ª\¥\•\\o\l\|\™\Ä\ý];]v]¶]Þ]ö]ÿ]î]ë^^^]ô^^-^K^M^O^]^l^O^/^]Ö]©]{]X]9]]%]e]ž]˜]v]D]\ð\ë\Ó\ \Œ\Ž\ª\Ë\ã] ]>]8\ÿ\±\p\L\%\ \1\|\Ç\Ü\×\¼\µ]!]"]]*]\é\Ú\ó\ä\²\g\=\"[ó[Ë[§[š[„[p[i[n[{[‰[“[–[‹[‡[[y[‹[›[­[¹[®[©[§[²[Á[Ê[Î[Ë[Æ[¿[¼[¼[»[¹[³[®[©[¨[¬[¸[¿[Ä[Ê[È[Â[µ[°[²[º[È[Ú[í[ÿ\\\'\/\5\A\F\K\O\X\`\g\m\n\p\x\„\\œ\¢\¡\\˜\š\¡\²\É\ê]]]!]']']*]3]<]A];]*]]\ï\è\é\ç\Þ\Ó\À\¬\™\‰\x\i\\\Q\M\B\(\\\[ó[æ[Õ[Æ[¶[¥[•[†[m[W[?[([[ZúZòZâZÓZÁZ±Z£Z–Z‹ZZrZdZQZ8Z!ZZZYùYôYòYôYíYìYæYÜYÓYÏYÌYÉYÇYÆYËYÑYÔYÒYÌYÆYÆYÅYÉYÏYÙYâYåYæYåYàYÙYÐYÌYÉYÍYÍYÒYÝYäYèYéYåYáYÜYÝYÙYÜYÞYãYæYíYòY÷YüZZZZZ&Z.Z=ZHZWZiZZ’Z Z¤Z§Z§Z¬Z±Z»ZÃZÎZÐZÐZÓZÙZàZìZø[[[[#[.[:[I[[[k[[[§[·[Ä[Ò[ã[õ\\\&\;\P\h\€\›\µ\É\Ð\Ì\¿\±\©\¢\ \˜\ˆ\{\l\m\r\‡\¤\»\Ê\Ð\Ô\â\÷]],]?]I]X]h]†]š]¬]¸]Ä]Ê]Í]Î]Ð]Ö]Û]ã]ñ^ ^$^,^-^/^1^?^I^P^H^E^@^J^Q^O^K^U^S^X^X^a^c^j^l^s^p^z^€^‹^š^¯^Ä^Õ^ã^ð^ö^û^þ__ _)_$_(__^ö^è^â^æ^ê^ï^ï^ö^õ^ê^Û^Ç^·^^‡^j^f^^“^–^^ƒ^z^c^E^^]ù^^^'^.^1^8^A^M^T^T^[^[^f^[^]^X^R^Q^N^E^A^3^,^^^]ý]õ]÷]ú^^ ^^]ø]ë]Ú]Æ]¶]ª]¢]’]‹]ƒ]ƒ]]{]g]b]B]?]']0]]]]] \û\ê\Î\¸\y\e\V[ð\ [hZÁZ†\Âa]êZ¸XØYÎ[Õ\%\Ù_É]RXÁY Y¡VøUÝVVmV›VæVÍWWW,W9WiW²W¨W¨WÄXXWýWçXXCXDXeX…X°XÅXßXúYY&Y:YFYcY^Y_YjY[YbYDY-Y"YYXøXúXéXæXæXÍX­X~XDXWøWæWÊW²W—WˆW‰WMWsWŠWMWVðVÃV¾VªV‡VeV>V€VÇVèVßVëVòWW5W`WcWnWzW±WÑWÅWÂWäX-XSXXfX¡XÐXêX„XJXUX¾YQY˜YQY#Y7XíY4YâZZiZ‚Z~Z^Z4YüZc[ZZZsYæYÓZ)Z’Z\ZV[[XZÛ[>[â\\#[ø[Ä[î[Ù[Ñ[Õ[Á[­[Ã[‡[BZþZãZ¬YòY—Y©Y\Y6YY…ZZW[Ž\·\†\ [ÿ\y\˜\]\f\•\S\=]] ])]L]q]Ú^ˆ^Ø_l`êa]`î`›`t`X`-`(`?`M`Y`a`f`k`u`ƒ`“`ž`«`º`Â`Ï`Ý`å`æ`ê`í`ð`÷`ûaaa#a0a8aBaLaSaTaWa^aiaqaxa|a~a‰a—a§a·aÅaÕaàaðaúbbbb)b4bDbTb`blbtb{b|bb‡bb‘b”b‘bŽbbwbrblb_bObBb;b+bbaúaîaéaãaçaâaìaîaúb bb#b%b#bb baõa÷aõaÿbbbb$bbb bbbbañaÙaÄa°a a›a–a—a“a•a‘a”a˜aža£a¦a¨a©a«a©a§a§a¢a¢a˜aŽa…ayanalada_aMaDa3a*aa `ú`í`Ý`Û`Ð`Æ`¸`×`À`¨``z`^`8`_ü_à_À_¢_‰_w_j_G_D_<_9_7_)____ ^ö^à^Ç^¬^˜^^p^\^D^,^]ù]â]Ò]È]¼]±]§]ž]†]i]>]\¸\…\c\O\E\O\N\^\•\¹\Ô]];]\¢]]ß^^\^Ÿ^a^ ]7] ]M]\Ä]V]è]ô^N^\^^^0]ð]Ã]~\Ò\d\S\>\N\h\[â\[è[ã[È[Û[®[\[C[ˆ[‡[*[ZÔZ ZÌ[[b[ Z¿ZtZEZZ ZOZ+YæYfYXïXœX‚YYÞZ[Z§[[¨Z…YgZ‰\D\i]]‹\ [Ž[½[®[š[h[H[F[®\\‹]|_K`…`Å`B_ý`_Ø^à^O_-`Q`L_×`»a÷bªa×a^`×_¢_"_^œ]ù]{]S]]]8]#] ]]\ø\ì\Ý\Ì\½\³\¬\¥\ž\—\ˆ\‚\p\m\d\d\b\o\u\…\•\¢\«\«\©\¤\\™\•\‘\Š\ˆ\„\}\v\q\s\s\o\c\P\>\5\.\\ [ø[à[Í[¸[¤[’[‰[ƒ[‚[u[h[U[J[K[O[X[a[_[e[c[W[K[=[)[ZþZ÷ZãZÃZ²Z­Z­ZªZ–ZrZ^ZQZRZNZVZNZNZGZBZ7Z-Z%Z)Z:ZQZkZ€ZŽZ–ZšZ¢ZªZ¯Z·Z½ZµZ¦Z†Z‚ZpZGZYûYïYôZZOZŽZ¥Z‡ZAZ8ZDZJZNZmZrZTZ^M^T^N^O^K^F^I^N^Z^i^r^~^‡^^‚^s^g^a^\^Z^Y^Z^Y^[^R^N^O^l^¤^¿^À^¯^”^‚^g^O^1^]ú]Ò]¸]¸]ã^-^h^^®^¶^»^±^ž^^q^K^0^^"^A^n^–^¾^×^í_ _(_H_`_c_y_C_S`4_}^ò^á^¡^Ÿ^‰^‚^v^˜^^“^®^­^®^±^š^™^¦^À^ç^Ú^ë__:_H_]_q_}_Š_–_¬_º_¿_Æ_Ó_Õ_Ñ_Ê_Å_·_´_­_¦_Ÿ_—__’_‰_ˆ_ˆ_”_–_œ_™_ª_¬_³_º_Â_¼_Ç_¿_Â_Ë_ß_º_¨_ª_ž_˜_—_™_¨_³_¼_Ã_Î_×_å_ë_ô_ù```.`5`8`9`D`J`S`R`O`H`F`D`>`6`6`;`<`>`F`E`F`J`H`E`G`J`E`B`?`;`>`9`7`3`4`0`%``_â_´_Œ_¯_Â_¢_œ_š_ª_—_£_ _—_–__”_¦_¿_¯_|_V_D_2_8_b_N_=_#__D_u_v_`_z_Œ_°`E_«`|bec cÞdÊdWeetc¹ceMd d!dLdšbõa@`ñbøe'eÙd4c`µ^]Ø^^^]ù]ô^^3^n^^‚^r]Ú]â]Ô]é^]ø^^]ô]Ó]±] ]y]Z]R]2]t]E]y^²^á]Ý\´\\;\=[Ü[y[F[8[2[9[I[\[v[€[[™[°[»[Ì[Ö[ì[û\ \\/\B\`\s\}\€\ˆ\›\©\®\«\ž\‰\\€\™\¾\÷]8]]¿]ç]è]î]õ]÷]ö^ ^&^6^>^E^O^T^L^H^T^q^^^7^ ]Û]¨]†]\]7]#]8]e]v]H] \Ù\µ\£\š\…\t\k\~\»\ì]]N]r]q]S]\š\B\[å\\A\†\º\¼\Ž\h\½\ã\ü]]\Ö\½\Ò\Å\ž\\\$[ø[Ò[²[œ[[m[T[P[W[Y[d[l[v[u[l[o[x[‹[[¬[®[ [›[œ[¨[·[Â[Â[º[¼[¿[½[¿[Á[¿[¹[±[­[«[­[¸[Ã[É[Ñ[Ò[Î[Å[½[º[Á[Ó[æ[ø\\\)\5\<\B\I\O\T\R\Z\]\j\n\s\x\~\Š\”\ž\¥\¨\©\¢\¡\¨\·\Î\ì]]]]$]!]']1]A]K]I]>])]]\ù\÷\ô\í\ã\Ð\½\¥\•\‡\x\h\b\e\[\F\.\\\[õ[å[×[Ã[´[¤[“[[i[N[8[%[[ [ZðZßZËZ¼Z¬Z¢Z–ZŽZ€ZqZ]ZKZ7Z&ZZ ZZYÿYüY÷YöYçYáYØYÓYÏYÎYÌYËYÖYÕYÚYáYáYÛYÕYÍYÊYÎYØYáYçYêYêYåYßYØYÑYÌYÌYÍYÓYÜYêYòY÷YôYðYëYéYæYëYéYîYðY÷YõYùYýZZ ZZZ*Z3ZBZJZYZiZyZZžZ¢ZªZ®Z³Z·Z»ZÂZÉZÎZÕZÚZàZìZó[[["[/[=[G[V[d[m[|[Š[˜[ª[¹[Å[Ò[â[ó\\\!\1\@\W\r\“\¬\¿\Ç\Ã\¿\¸\±\«\¤\˜\…\r\d\a\j\…\Ÿ\²\¸\¸\¼\Ê\ç] ]&];]I]V]g]†]œ]´]¿]É]Ë]Í]Ê]Ð]Ù]ã]ó^ ^#^3^8^-^&^%^4^D^U^R^M^E^M^S^]^^^`^_^d^h^i^j^j^f^h^o^u^{^ˆ^•^§^º^Õ^ç^ù__ ____&____^ù^õ^õ^ü___^ø^ì^á^Ì^¹^Ÿ^Œ^‚^Œ^¡^²^¹^ª^œ^‘^x^Z^2^^#^9^<^D^=^>^7^2^9^E^K^N^S^[^h^f^j^k^h^c^a^V^M^8^/^ ^^ ^]þ^^^ ^^^]ÿ]ï]â]Ò]Ä]·]®]ª]˜]“]•]’]]x]k]J]I]7]5]]]]] ] \ï\Ù\¼\—\j\Š\W\(\\(Zþ\Jb,ah\j\T\Â_žbV^¡_e_TZEY4Y4W·WVXVaV‘VÔV¸VÔVöWW?W{WéWÛWÙWíX8XWêWæX&XNXUX‘XÉXâXºXÿY(Y1Y,YOYfYeYpYgYqY†YuYzYhY>Y#YYYYY XõXÛX²XŠXQX-XXXWêWÀW´WÁW­W¼W¢WQWWWW-WVÈV­V{V£VÜVíVÝVåVìWWVW]WWWrWlW˜WÍWéWôXXfX™XAX”Y XøYXÇX X‹X­Y1YpYXY…YßY{YCYùZLZ‘ZZ‹ZwZZ$Zÿ[+ZpZÛZyYÐYäZJZ²ZƒZ†[,[kZç[[ [ü\(\*[ÿ\[\b\E\M\)\\[ç[Û[™[cZÚZ&Y¶Y’Y¶Y´YWY¿ZGZz[›\Ÿ\œ\I[ç\^\¤[â[e[•[©[þ\Ö\¹]$]©]»]Ò^r_O`~aàaøafa`¼``i`K`Q`b`i`r`v`z`‚`Ž`Ÿ`¬`½`Ë`Ø`í`û`ÿaaaa a aaa,a4aEaMaUa^afalapaxaaa“aœa™a¢a²aÀaÒaàañbbbb(b0b>bLb\bjb{b‚b‘bšb¢b¢b£b§b°b³bµb°bªb¡bŸbžb”bˆbybmbbbSbAb.b'bbb bbbbb$b7bGbNbUbNbEb5b+bb(b&b.b4b?bFbHbDbAba2aaaa`î`ç`Þ`ó`Û`Ã`®`”`z`\`7`_þ_ä_À_¦_™_ˆ_i_k_j_m_e_X_B_;_7_+__^ó^Ü^Ä^®^˜^…^o^S^3^^]ì]à]Û]Ñ]¼]ª]’]t]L]\Ú\£\w\`\I\G\F\R\—\Ý\ï]I]°]X\ï]O]Í]ú^u^Ê^r^]˜]¿^]¼\í]]ô]Ý^H^‘^‘^^,]ö]±]\‚\:\V\ˆ\j[õ[Ë[Â[­[º[¼[÷[Ì[ƒ[m[¶[Ì[g[ZÒZ©Z¥Zú[b[>ZêZrZUZ€Z¢ZwYåY•YhYXëX¼XXùYªZu[ Z×[¢[®YUYZYý[)\x[L[H[ö[ü[ý[~[~[›[Á\I\è]›^Ð_Ï`Z_ó_Ð_Œ_–_p^ƒ^×_Ö_É``9acea`_Î_¦_R_J_^œ^ ]–][]G]<]*],]!]] ]\ó\æ\Ù\È\¿\¼\µ\®\¦\Ÿ\–\\†\†\ˆ\\–\£\¯\º\À\½\»\¶\®\«\ª\¦\§\¤\Ÿ\›\˜\•\\\\\g\U\M\F\8\$\ [÷[æ[Ð[´[£[ [›[—[Ž[z[k[g[g[l[v[[€[†[…[u[^[S[K[?[([[ZóZàZÍZÉZÝZäZ´ZZ~ZyZhZ`ZWZYZNZCZ4Z(Z#Z)Z;ZGZ[ZmZ{Z‰Z–Z™Z Z«Z°ZªZ¢Z£ZŒZZ^Z3Z YõYôYùZZEZxZƒZZZ+Z6ZAZIZIZjZ{ZSZ?Z[ZyZ¢ZÆZÖZÞZø[,[W[j[[ [Ê\\2\u\À\ã\ì\ð\å\ê]0]™]Æ]Æ]¶]«]{]\â\á\ú]]5]D]^]j]b]`]c]n]{]‹]–]–]Ž]]–]˜]£]®]¥]’]|]n]l]]•]Ÿ]•]v]^]Q]O]V][]f]y]]¨]¹]Å]ã^ ^+^I^W^]^R^7^^]ù]ú^^^^2^T^i^f^d^[^P^W^k^y^‹^™^¥^¬^´^²^­^¦^¤^¦^£^•^^…^z^a^T^X^u^¨^Å^Á^­^^u^R^*^ ]ü]õ]à]Ë]Ö^^G^w^^ ^²^³^®^ ^‰^{^a^C^<^X^{^»^í^ü___*_3_:_P_R_W_1_X`_Ç_Ã_r_Z_W_^í^©^Ÿ^”^|^š^Ù^Á^¿^Â^¹^º^À^¾^ï_`__&_Q_N_g_w_‰_¡_¶_Í_å_â_Ù_Þ_á_Ô_Ä_µ_ª_Ÿ_ _™_›_“__†_‡_‡_‰_…_•_–_Ÿ_¥_´_¹_Ê_Â_È_Å_À_Å_º_ _¢_˜_“_–_˜_š_£_¨_·_Â_Ñ_×_Ü_à_ì_ú`` `` `*`*`/`3`A`>`D`C`=`9`7`1`.`1`5`<`>`H`O`P`X`[`_`d`e`d`d`a`j`f`l`f`a`T`G`2`_ò_¨_—_Ì_Ñ_­_¤__’_•_—_”_–_Ž_Œ_Š_x_p_}_€_e_=_[_^_M_B_?_V_`_B_9_D_‹__Í_€_Ý``"a!aøaúb«c¾dmdêc…bºc/cpdedËdÔd¾bO_s_Ra+bždéd+a>^›]Ê]ø^^^,^ ]õ]ì]ð]æ]ï]à]ô]ù^ ^ ^^.^=^]ð]Ã]]|]`];]>] ](]L]<]2]ô_ª^à\›\5\]\[À[r[T[@[?[S[][t[|[…[‰[™[¤[½[Ñ[ì[þ\\\0\D\]\l\q\v\†\Ÿ\¬\³\°\¨\š\’\”\°\Ù]]N]]Ò]ú]ô]ù^^^^$^T^d^Y^O^U^V^Q^O^M^Y^P^;^#]ç]›]{][]=]+]2]7]\í\¾\™\†\q\a\T\b\h\w\º\ø]1]f]ˆ]…]p]$\¯\U\[û[õ\\4\\\W\M\F\e\Ÿ\Þ\ñ\Ï\¢\\³\ª\ƒ\H[ü[µ[¡[—[‰[v[a[K[@[E[B[C[N[^[a[X[_[w[†[“[ [™[[†[Œ[š[¦[¶[½[½[½[À[Á[Ä[Ä[Ã[Á[»[·[²[°[·[Ä[Í[Õ[Ú[×[Ñ[É[Æ[Ì[Ü[ñ\\\*\6\A\K\R\V\Z\^\^\_\a\m\r\v\x\‚\‹\–\\©\¯\¯\«\¬\¯\»\Ï\è]]]]]]$]1]C]P]S]M]<]#]]]]\ù\ì\Ú\Å\²\£\•\ˆ\x\v\w\p\_\C\+\\\[ó[ç[Ó[Ã[¯[ [Œ[w[`[L[7[,[[[ZðZÙZÉZ¸Z¯Z¥Z›Z‹Z€ZnZ]ZJZ:Z(ZZ Z Z ZZY÷YìYæYÛYØYÕYÖYÐYÏYÛYÛYßYåYìYæYßYáYÞY×YØYÞYèYëYîYëYåYÝYÖYÐYÍYÏYÖYÞYîYøZZZYþYúYøYüYüZZZYüZZZ ZZZZ-Z8ZFZOZYZfZxZ‹ZZ¥Z®Z°Z³Z¸ZºZ¾ZÂZÈZÏZÛZåZïZø[[[1[C[T[\[j[w[ˆ[—[Ÿ[ª[²[¿[È[Õ[à[ð[ÿ\\\%\6\L\i\‹\¥\²\µ\¶\·\¶\µ\µ\ª\›\„\n\b\_\m\‡\Ÿ\«\©\§\¨\º\ß]]!]6]G]X]n]‹]§]»]Æ]Ì]Ç]È]É]×]ã]ò^^#^:^?^7^!^^^-^8^N^\^X^S^U^\^e^f^h^d^c^c^`^_^]^^^`^e^k^s^ƒ^^¦^¸^Ë^Ø^ì^ü__ _____ _^ö^ù^ÿ^ý__ _ _ _^ó^á^Ã^±^£^¥^ª^¿^Ë^Ï^Â^´^Ÿ^^n^U^@^W^d^p^`^X^F^<^1^3^5^;^D^L^I^]^p^w^{^^z^p^r^d^Z^C^8^0^+^^^ ^^^^^^ ^ ]ö]ë]à]Ñ]Ì]º]®]¬]¡]ž]™]‘]„]s]a]O]@]-]]]]] ] \ì\é\­\©\l\Y\R\q\\@[M[¡]èa]`Ÿa``XaJ_Œ]ª\æ[éZ¿YXWÑVõVÉVVœV±V–VòVûWOW§WàWæWçX$X WüWÞXXGXNXqX­XÅXêXÿYIYZYUYGY[YŒY…Y}YYyY‹Y“Y¤YŠYaYLY5Y4Y&YY XøXßXÀX‘XxXLX1X)X,XWßWÙWÙWÓWÐW¨WwW`WSWQWSW1WVñVÙVèVõVòVÛVðVúW3WvWZWPWtW…W”WÊX X4XƒXˆXŒXVXSX·XÏXÂX XÄX·XàY¨YÈYÌZYïY·Y`YÛZ¹['ZÉZZˆZZ)ZâZŽZ·[³ZÀZ]ZfZPZZ›Z¿[Q[kZñ[G[à\S\k\¢\‘\Ú\é\¶\¤\m\h\\\\2[í[–[Z–ZYÁZZa2a&aaaa`þ`è`Ï`°`”`y`[`C`#`_î_Ö_Á_±_¯_¯_¢_§_¡_Œ_r_j_e_[_E_3_$_^ö^ã^Í^º^¢^„^b^F^(^]ø]í]â]Ð]¹]›]]^]0\ú\Å\’\q\X\J\F\?\S\¦]]~^^]®]Â]Å]‰^5_^´^o^^L^e]â]#\Ó]é^^^^«^¬^a^]Ó]S\¡\*\M\l\B[è[¡[„[q[—[Ý\'\ [­[Œ[å\[¯[J[ ZåZªZÚ[*[M[AZ²ZŠ[[7Z†Y¡Y`YnY"YXãX¬XßYGYÿ[ZÞ[g\4Z4XÿXÖXÑYÁ[[ [D[Í\\È\>[¨[þ\n\â]]c^__ø_º_“_P_'_B^¯^Â^Ý^ã`Ïa `€aª`q_f_Ñ_á_^ï^w^(]ð]¤]N]=]2]5]-]-]$] ]] \ö\î\å\â\Ü\Ò\Ê\º\¸\¯\­\¥\§\©\³\½\Ê\Ï\Ñ\Ð\Ç\Å\Á\¹\»\º\¾\º\½\½\»\¼\¹\²\¦\—\„\w\n\b\Y\B\)\\[î[Ö[È[¼[´[­[£[“[†[|[~[‚[†[‰[–[ [š[[|[k[`[\[V[J[?[([ZõZö[[ZèZ½Z¥ZšZŠZtZhZlZfZTZFZ.ZZ,Z@ZIZWZcZmZvZ„ZZ‘Z‡ZZ}Z|Z{ZxZnZFZ#YüYçYïYùZZ5ZXZ\Z@Z*Z/Z(Z7ZDZiZ‚ZUZOZwZ•Z¾ZáZòZý[[F[b[r[‘[º[ä\\N\’\Á\Õ\î]]] ]k]»]Ý]Ú]Ï]Ã]™]D]]])]K]a]n]w]t]i]h]r]]]™]]]Ÿ]œ]š]¢]¥]«]§]š]ƒ]q]p]„]š]©]™]ƒ]v]n]p]o]v]€]]¢]±]Ã]Õ]ð^^6^K^V^X^L^5^^^]ü^^^^+^Q^h^n^n^a^\^c^|^^¤^´^¿^Ê^Ò^Ò^Î^Í^Ø^Þ^Ý^Í^»^£^…^h^V^R^r^¥^Ê^Ì^´^Œ^_^:^]ú]õ]ì]ê]ô^^!^H^`^}^•^«^°^©^©^Ÿ^^^^†^¦^Í^ó__,_2_:_>_O_Y_d_Y_\_u_Œ_Ä`Þb@aa`Ø_â`X`5_^Á^é^^Ä^ï^Ì^´^–^ž^à^ë__`?_|_<_n_q_‹_™_²_µ_¿_Ã_Å_Î_Ü_Ö_Ô_Ú_Ú_Ç_¾_´_©_–_“_Š_‡___}_‘_•_•_’_™_™_§_©_¸_À_¾_·_²_§_œ_—_œ_‹__‹_”_ž_§_®_¸_Á_Ï_Ò_à_í_ô_ù````!`&`*`4`7`<`:`6`-`3`4`4`2`1`.`1`;`H`Q`^`e`j`q``‚`‡`ƒ`‰`Œ``‹`‹`…`€`p`\`E`&_ô_¹_Á_ò_ê_Í_Ã_À_¹_¹_¼_¾_Ä_À_½_Ã_Ô_Ç_¿_´_¦_g_@_W_f_d_e_A_E_S_k_K_¬_•_¶_Ó_ª_Ü``°aÕaÇa½aÍb´d%càclcFbÝd‚ePdUcìd`)^T_p^Ë_±_Å^Î^]È]Ú^ ^]ù]ù^ ^^ ]û^ ]å^ ]ù^^^)^(^]ô]Þ]Ÿ]w]?](]\ø]\ì\á]\ã\û]î]Þ\ \]\\w\[œ[x[f[I[T[c[u[|[€[€[‹[ž[·[Ð[é[þ\\\"\?\Y\`\c\l\\›\¤\²\³\«\¡\˜\›\¸\à]]@]|]¸]÷^^^^^^>^e^}^¥^Ù^Ý^”^Z^E^.^*^9^D^]Æ]–]€]W]C]?]+]\Õ\½\½\«\’\l\N\?\I\T\d\ž\Ü]]\]}]l]U],\Ñ\}\C\[È[À[Ó[î[ð[ù\\A\z\£\Ä\°\~\Ž\\ˆ\\\[Í[’[‰[„[z[d[J[7[+[%["[$[7[N[L[R[][i[t[~[‡[„[[{[[ˆ[“[£[²[»[À[¾[Â[Ç[Æ[Å[Ä[À[¼[»[¹[º[Ä[Ð[×[Ý[á[Þ[Ö[Ñ[Ö[â[÷\\%\5\C\M\V\]\c\d\f\i\e\g\n\u\{\}\„\ˆ\”\˜\§\±\·\¸\·\º\Á\Ï\é\ÿ] ]]]]%]7]F]V]_]X]J]4]"]] ]\þ\ó\â\Ï\¿\²\§\š\ˆ\‡\‰\‡\w\d\H\+\\ \[ñ[â[Ð[½[®[›[[v[c[R[F[6[*[[ZíZÜZÊZ¿Z³Z¨Z—Z‹ZxZiZVZBZ,ZZZZZ ZYôYìYâYÞYÚYÙYÚYÓYÎYÖYÚYÞYæYîYéYèYñYðYéYåYâYèYîYóYðYìYãYÚYÑYÎYÐYÖYáYñYÿZZZZZZZZZZZZ ZZZ ZZZZ.Z=ZKZUZ\ZeZqZ}Z’Z¥Z®Z±Z¶Z¹Z»Z¿ZÂZÈZÒZÞZèZòZý[ [[6[I[Z[h[w[†[›[©[±[µ[¸[Â[É[×[á[ð[þ\ \\ \4\N\m\†\—\Ÿ\¡\¦\¨\®\±\´\¯\¡\‹\v\f\f\x\’\§\ª\§\Ÿ\Ÿ\³\Ó\ù]]1]H]W]n]Ž]¨]»]É]É]Ç]Ç]Ó]ê]û^ ^$^<^H^B^/^^^)^C^U^_^c^d^h^e^g^c^e^e^d^b^Z^S^O^L^M^V^\^c^j^y^^¦^¶^È^Ø^ç^÷__ _____^ü^ù^ó^ô_ ____ _^î^Ó^Ä^Å^Ä^É^Î^Þ^Ù^Þ^Ä^µ^˜^‡^n^k^r^’^’^ˆ^q^Z^@^4^+^6^6^<^>^G^N^e^v^Œ^^^ˆ^ƒ^}^k^d^U^B^>^5^+^#^^^ ^^^^^^]ù]ë]â]Ë]Å]¼]¶]«]©]¡]˜]Ž]v]j]T]F]-]]\ÿ]]]\ã\Ý\±\–\_\s\'\t\+\C\[™^vac4fªb ^6añ^žZYÉYyW÷W(VæW×XW™VøV¨VªVÜWWcWÄWÒWþWúX;XXX)XWXZXrXzX–XÓXñYYWYgYnY€Y¢YªY¥Y„Y‘Y˜Y™Y¥Y«YYvYOYCY0Y,Y!YYYXéX²XŽXeXJXJX;X0XWèWúWöWßWÃWœW–WWŠW„W{W^WW)W.WWVúVÿWWDWIW9W|W«W£W¥XXXbXÿX±XXšXX×XìX¯XÑYX×XàYžYàYñZ YîZFZ YÀZZqZvZƒZ”ZYZ'ZRZZž[Ÿ['[Z¡ZJZ‘ZËZô[y[_Zß[S[ÿ\~\Ž\Ã\¸\ú]C]D]\¯\‰\}\![ä[|[;[ Z¨ZIZ%Z1ZcZZ¹[F[6[¯\³\ÿ\Ú\„[è[‡[7[…[IZ·[•\%\ƒ]b]e]Æ^[^ô_Ô`»aðb‹bYbaka `ê``‡`Œ``“```•`¦`¶`Ë`Ü`óa aa(a/a2a;ab`™_w_¥`ê`s_?^Õ^l^S^_]÷]~]V]A]@]=]@]=]A]9]4]$]] ]\ÿ\ó\ï\æ\Ý\Ñ\Ñ\Æ\Ç\Æ\Ï\×\æ\ê\ç\ã\á\Ú\Ò\Ï\Ñ\Î\Ï\Í\Ï\Ï\Ù\Ø\Ó\Ë\¼\¯\¢\’\Œ\†\u\_\H\6\)\\[õ[ä[Ü[Ï[¼[¯[¤[“[’[[Ž[[š[©[¯[¤[[y[y[w[s[j[b[R[=[,[5[K[C[ZêZÓZÁZ­ZœZ•ZŒZ€ZoZaZKZ6Z:ZQZ\ZcZjZpZpZwZ{Z~ZkZYZiZxZgZbZRZ"YýYéYâYìYûZZ,ZEZGZ=Z1Z%ZZ!Z1ZLZaZ[ZpZŠZ©Z×Zö[[ [,[Z[{[¤[Ê[é\\(\T\\±\Ä\Þ] ].]`]š]É]ß]å]æ]Û]±]_]1]4]I]i]]Š]‰]‚]~]~]‰]Ÿ]¸]Ç]Ð]Î]Ç]Á]´]´]±]°]³]¬]–]ƒ]|]‰]˜]Ÿ]‘]‡]‚]}]ƒ]]…]”] ]«]»]Å]Ñ]ä^^'^>^F^K^F^1^^]þ^^ ^ ^ ^!^G^_^h^l^c^f^r^Š^¡^¶^Æ^Ô^à^á^Ó^Ñ^×^ê^þ_^î^Ñ^¶^^h^X^W^v^«^È^Ç^§^~^R^'^]ë]å]ã]í]þ^^)^I^^^x^–^ª^´^º^´^¬^«^§^¯^Í^÷_!_=_I_M_L_S_[_g_o_{_‚_‡_¥_“_j`Qa¯aðbtbawbŒbôa%`¼aH_²^Õ_^Ø^ÿ_^Á^À^ã_,_ë_Ó_Î_â_Á_§_£_¹_½_û`)`7`2`_ý_ó_ß_×_»_¸_µ_¡__›_‘_ˆ_{__|_x_{_…_†_Ž_Ž_‘_¢_¥_ª_¯_°_­_Ÿ_¡_Œ_‡_…_†_Š_™_™_¢_¬_¸_Ä_Ð_Ü_ç_è_ô_þ``````````&`2`:`@`6`6`2`4`7`D`A`S`_`i`p`ƒ`Ž`š`¡`ª`§`«`°`µ`¼`¾`½`°`ž`ƒ`g`K`&```_é_Ü_À_¸_·_³_¶_¶_­_­_·_›__“_›_ƒ_…_r_I_Z_t_i_y_i_r_H_V_X__½_²_½_Ö_ð``³aSb¯cGa®ajbQbôcbpawbCb»d]eÅe9a#`a›]Y\S\á]]h]Î]Ý^^ ^]ø]ü]Ö]õ]Î]Ý]â]ë^^^^&^]ÿ]æ]Â]…]X]\ï\Í\¯\±\È\š\…\Œ\|\k\h\o\q\e\É\ä\4[È[ª[z[\[f[t[{[x[y[‚[™[¯[Ë[ç\\\ \\?\U\Z\Z\i\\–\£\³\¯\£\˜\“\\²\Õ\ÿ]%]U]‡]È]ò^^^1^.^=^Q^‹^Î__^Â^l^6^^^,^C]õ]›]™]]P]4]B]+\æ\»\°\Î\À\¢\y\#\\1\E\H\g\–\Ù]]T]g]T]H]\µ\h[ó[€[m[¥[Ë[Ë[Ç[ç\3\p\Œ\°\¯\ˆ\\\m\8[è[ª[‰[€[s[g[S[:[&[ZôZñ[["[U[l[t[q[f[k[s[p[q[p[t[{[ƒ[[‘[Ÿ[§[¸[¾[Â[Â[Á[Ã[Ä[Å[Â[À[¼[¿[Æ[Ð[Ú[ß[ä[æ[å[ß[á[ç[ú\\*\<\J\T\]\f\l\n\r\s\q\o\p\u\y\}\\†\\\\¬\º\¿\Ã\Å\È\Ô\è\ú] ]]]!])]8]K]^]c]`]S]=]-]]] ]\ó\à\Ò\Æ\½\²\¢\’\Ž\\‘\‰\}\`\>\$\\ [ý[î[Ø[É[¹[¨[œ[Œ[|[i[[[L[B[0[[ZïZÞZÓZÂZ±Z¡Z”ZZpZ\ZJZ2Z ZZZ ZYýYðYâYÚYÚY×YÜYÙYÏYÈYÎYÑYÖYÝYÝYßYçYóYûYüYúYõYõYõYøYøY÷YîYãYÙYÔYÕYÜYåYöZ ZZ#Z-Z,Z,Z*Z.Z.Z1Z-Z%ZZZZZZZZ/Z@ZPZ\ZfZnZuZZZŸZ¨Z¯Z¶ZºZ½ZÁZÆZÊZÔZÝZçZóZý[ [#[7[H[W[g[w[Œ[[­[¶[µ[»[Â[Î[Ù[à[í[ù\\\'\=\W\q\‚\Œ\”\š\ž\¡\¥\ª\°\°\©\—\ˆ\z\}\\¤\­\¬\«\¢\¦\³\Ð\ó]]0]I]X]p]]«]¿]Ë]Ì]Ñ]Ò]á]ü^^)^=^O^Q^A^%^ ^^B^^^r^u^v^y^x^r^n^f^j^c^_^W^J^>^5^<^@^L^Q^Y^c^s^‘^ª^Á^Ï^Þ^è^û__ ________^ï__*__!__ ^ð^ß^Ü^è^ä^ã^ß^ê^â^Ü^Å^º^œ^’^ˆ^˜^¦^µ^¨^‘^u^]^;^)^$^:^?^B^A^K^U^q^„^š^›^˜^‘^•^Œ^€^s^h^S^R^F^@^8^)^%^^^^^^^^]ñ]ó]Ù]×]Î]Ë]Â]³]¡]š]Œ]}]j]Z]7]*]]\ó]\ý\ö\ß\Ì\¥\œ\L\X\+\8\/\%\ \[d]úcøfYh"ba^Ñd`@YáXGX3W V«VÀYYÀYSWäV˜VÛVÁW(WxXXXX9XiXWXxX{XŒXoX„XXX¥XÕYYY:Y}YŒYºY±Y—Y¡Y Y£YYY Y˜Y†YlYeYMY;Y4Y'Y!YXÞXÇX¢XvXWXcX`X=XXXWêWæWíWËW¸W½W½W©W W‘WiWdW[W^W9W,WWWgWIW0WWðWýWÏX:X9XšYEYYYXéYHY>XóYXY­YWXôY Y¾ZZ6Z_Z“Z6ZZ=Z;ZcZ“Z¡Z³ZƒZ`ZwZ÷[X[Z·ZsZZÃZÑZù[[^[[u[Õ\C\ƒ\’\‚\Ð\á\È\¶\ƒ\|\v[ó[‡[CZùZÈZ‘Z’Z–ZFZ`9`?`R`u```b`o``‰`›`©`·`¿`½`Ç`Æ`Á`Ò`Ø`ß`à`Õ`Ä`«`†`f`H`5`` _ö_é_Þ_Ó_Å_Ä_Æ_Å_Î_Â_Á_Ò_Ü_Ã_À_¼_¨_k_`_q_}_}_x_^_l_k_k__Š_Ð`_Ê_ã`+`Õ`¼`N`daFaNa)`½`Îa4aZ`‚`á`ãbÓeædpba‰bã_¶]f]T]Ð]‚]Ë]Ú^]è^]é^]â]Ô]Ï]È]Ë]Ø]é^ ^^ ]ñ]Û]¯]Ÿ]‚]Q]\Ú\›\‚\m\‚\€\P\#\\\\/\>\-\x]/]"\^\ \[µ[x[l[€[x[}[[˜[´[Õ[ñ\\\\\E\T\]\Z\f\\‘\¡\´\¶\¥\’\Ž\Ÿ\º\ß]]1]M]w]«]Ò]ø^^^ ^^R^®^Ø^ä^ÿ^Ö^‘^K^ ]ý^^ ]Ö]r]I]>](]]!]\Ú\«\’\®\¯\—\u\[à\\3\5\5\V\¥\ï]3]c][]N]\Ë\o[Í[J[N[¦[Í[¾[£[É\&\s\ž\°\±\œ\Œ\|\_\'[Ö[•[{[r[e[[[L[E[4[ ZÑZÀZã[#[c[[¥[•[u[l[t[r[t[p[v[[ˆ[[‹[’[–[©[°[¸[¹[¸[µ[³[º[½[»[º[Á[Ã[Ç[Ð[Ù[æ[î[ð[ë[é[í\\\'\=\M\X\b\j\q\w\y\w\z\x\u\t\x\|\~\ƒ\ƒ\ˆ\Ž\¢\³\¾\È\Í\Ô\Ý\è\ø]]]]!],];]O]`]h]f]V]F]3]"]] \ý\ï\á\Ö\Ë\À\±\¥\š\™\¡\ \”\†\o\N\2\!\\[ø[æ[Ö[Â[´[©[ [[€[r[d[W[E[/[[ZñZàZÎZºZ©ZœZ‰ZvZcZNZ5Z$ZZ Z ZYøYêYÞY×YÓYÔYÙYØY×YÓY×YÙYÝYåYîYñYôYþZZ ZZZZ Z ZZYûYñYéYãYáYçYîZZZ$Z2Z=ZEZHZGZFZGZHZBZ=Z3Z&ZZZZZ#Z3ZBZSZbZlZxZZ‰Z”Z¡Z«Z´Z»Z½ZÂZÂZÉZÏZØZßZëZò[[[&[;[O[][m[z[[˜[¥[­[³[¶[¼[Ì[Ø[æ[ð[ü\ \ \7\N\h\y\‰\’\™\ \§\¯\²\´\¸\¹\¸\®\¡\”\–\«\º\»\¶\®\¦\«\¹\Ú\÷]]5]I]T]f]‡]ª]À]Ï]Ô]Ø]à]ð^ ^-^>^L^T^P^<^^^*^T^o^‚^…^‰^‡^…^}^t^j^`^_^c^Q^?^-^$^%^+^8^F^Q^]^q^’^¬^Å^Ó^è^ò__ ____(_+_1_._@_O_H_L_E_7_*__^ò^ü^ÿ_^ú^ù^ð^ï^ç^Ý^Ì^½^©^§^²^Ê^Î^Ì^³^ž^|^g^K^9^/^C^M^N^M^X^e^ƒ^•^¤^Ÿ^¥^¥^¯^¢^›^†^{^o^k^W^O^G^@^5^+^^$^ ^!^"^^ ^]ö]é]é]Þ]á]Ï]Å]¯]¦]Š]„]_]Y]8]*] ]\ò\÷\ò\ê\Ï\È\“\€\a\5\3\\,\9[Þ\%[R\úa^d¤f¤fRbšc°cÁ\©WâVÁVVWVXxWÚXW¾V…VÿWWYW0WÝX‚XjXQX‡XŽX­XŸX¨XµXœXsX†X‹XÈYY+YUY«YÎYËY¢YˆY¡YžY Y¡Y™Y›Y—Y–YYaY_YVY>Y/YYXØX¹XŠX~XvXaXdXHX%XXWÔWèWûWßWÖWèWÞWÁWÂWÉW±W±W›WŽWlWjWTW:WeW_W5WQWÞXªXÊX²XXôYOY8YhYxYHYvYxY=YŽYñYÔY{YpZ(Z›ZOZ:ZY®Z1Z—ZoZqZˆZ”Z·Zì[Zÿ[Z¾Z}ZKZ‰ZìZêZé[ [I[[-[œ[Ü\]\Á\†\@\\\ [ò\\,\'\ [Ø[é[Â[6[ZáZ×ZÌZŠZtZ>Z—[4[[I[±\h]]#]!]z]S\ô[Û[]]º]Î] ]^9_0_õafaïaïb{cbKana1a`Ú`ª`¦`²`º`¾`¹`µ`»`Î`íaa!a4aGaQaYadahanaoaratava|a‰a˜a¦a²a³a»a½aÃaÇaÍaÝaðaýbbb7b@bWbkb€bbb­b¿bÒbÜbâbñcc cccc)c3cb9b>bEbJbMbNbKbFb;b3b.b.b-b.b*b'b bbbbb bbbaÿaüaúaõaìaßaÖaÇa¿a±a¢a“a†awajaraXa=a'aa`ô`å`Í`µ`›`„`i`V`G`8`*`#``` `_ú_ì_ß_Ô_Å_¹_¬_›_Ž_s_Z_8_^ï^Î^©^‰^j^Q^)^ ]ë]Ï]±]›]x]Y]7]\ð\Í\­\Š\j\T\O\ù]ß^l^Á^h^=^F^^C^ü_t_L^„]ý]R\¬\†\+\=\¸\ª\à]Ï^±^Ä^Š^$]Õ]†]S\Ô\1\$[ë[¢[g[Q[–[Ö[Å[Ö[õ[Ð[×\%[ï[È[˜[’[œ[¸[ä[ú[Ì[K[T[V[@ZáZgZ¾ZLYZZJY¼YY-YÑZ‘[\[]]ü_*_ÜZuX YFZç]j]ª[*Z£[æ[ñ\‘]c^b^Ã^°_4_Ü_N^Í^Ú^í^y]é]2]*^u_Ô_É`aæa_½`q`²_^´^¦^¯^Ó^’]æ]‘]j]X]Q]P]R]a]h]w]u]u]h]`]T]H]@]6]/]"]] ]]]]]]]]]]] ]\ü\ü\÷\õ\ó\ñ\ô\ø\ù\ø\ó\ñ\ò\ï\è\Ý\Ô\¿\¬\¢\Ÿ\˜\\~\h\S\D\,\[ÿ[í[Ù[Ì[¾[¸[®[¦[[¤[¬[§[š[’[“[’[‡[x[h[_[Z[_[b[U[A[*[[[ ZþZíZÜZÌZ¾Z±Z­ZºZÊZÞZéZíZ×ZÀZ¤Z™Z˜Z¨Z·Z³ZºZ¹Z§Z~Z7ZZZYüYþZZZYüZZ ZZ(Z5Z`C`N`F`A`A`J`P`i`e`v`ƒ`` `°`¼`È`Ô`ß`á`¼`³`ïaa a a`û`á`¼``e`L`-``_ã_Ì_¿_·_³_³_­_ª_µ_¶_ _™_š_”_w_‹_ƒ_s__Š___–_w_u_‰_£_Õ_´_Ü_ñ`/`xaa'`ì`S`ˆ`Êa`|`e`^`Œ`E`³`Yaƒdèe>d¹d'bîaK^"\›]^]q]ö]Ä^^^]ü]ã]Û]Ã]³]»]¨]Â]Ë]â]ê]è]È]¬]‰]t]V]>] \Ð\z\L\6\1\;\/[ô[Ì[¾[º[Ø\ \\\t\û\Þ\š\j\ [À[[…[z[[™[¸[Ç[ì\\4\\\\S\b\j\f\m\\–\©\½\¿\§\—\\­\Ñ\÷]$]D]J]_]’]»]æ]ú]ò]Õ]ü^h^Ó^û_^÷^Ò^ ^[^^ ]ÿ]Û]™]e]9]] ]]\þ\Ï\¢\“\¦\©\u\7[ü[û\\(\0\-\K\š\ð])]G]D]6]\Â\K[“[[+[‰[Ë[Ä[‚[œ\ \^\ž\¾\­\\…\~\c\,[Ù[[o[b[T[L[D[M[C[ZÒZ¸ZÚ[$[s[°[Á[”[}[~[[[‘[}[y[ˆ[Ž[[‹[‰[[š[Ÿ[©[¬[¬[£[Ÿ[©[¹[º[»[½[¿[Ä[È[Ð[á[ð[ø[÷[õ[÷\\\!\5\G\V\c\j\t\{\|\~\€\€\}\y\w\v\w\}\\\…\”\¤\µ\Á\Ñ\Ø\á\í\ö]]]]!],];]P]_]j]f]W]G]1]&]] \ø\é\Û\Ô\Í\Ã\¶\§\œ\œ\£\£\š\\\a\?\&\\[þ[ò[à[Í[¼[°[«[¡[•[ƒ[x[k[Y[F[/[[ZíZØZÃZ±Z ZŽZ{ZjZSZ^1^.^&^#^#^#^^^ ^ ^]ý]ö]Þ]Ù]°]¨]‹]ƒ]c]X]8]/] ] \ï\ó\ä\î\Æ\²\¡\q\[\6\\[þ\)\[È[D\Å_†aöd¬g4cHbeÆ`˜Y§WVpVYYlWžWVðVpVúWNW“WpW¹X„XŸXsX«XªXÂXÕXÖXÉXÅX©X¯X¼YY+YdYY¾ZZYŸY›YµY¤YœY•Y„Y€Y‹YY|YxYQYBY*Y#YXëXÀX©X‹X‚XˆXzXnX\XBXWþWèWûXWûWôXWüWòWêWïWìWòWÆWÀW½WžW‰WkWgWeWTWˆWÆXµY}Y+XúYOYƒYvY YôY´Y¬YÜY€YZZYùYãYûZaZˆZ,YØZZŒZ€ZQZfZ{ZŸZ¼[[M[ZÖZ‰ZgZ_Z°[[![1[0[(ZØZò[X[Ò\w\Ð\t\[è[Î[ï\N\W\)\\?\\[t[[r[C[ZáZÎZˆZwZÚ[*[W[¿\¨]N]¡]÷^š^„]ß\p\(]j]å]ë]Õ^/_¹aƒa½aÕa÷aéb bkaéapaUa1`õ`¹`·`Ä`Õ`Ø`Ì`Å`Ï`âaaa5aLaVaealataza}a„aƒa‰aaša¥a·aÀaÌaÏaÓa×a×aÚaäaób bb1b@bVbhbb‘b¦b¶bÆbÓbìbúccc c.c;cDcKcQcVcYc`cfcfccc\c[cTcRcQcScUcUcScGc:c*cc cbûbîbëbèbêbåbæbçbðb÷ccccc)c8cEcBc7c%ccc c(c&c%ccbãb½bŸbbŠb|bybpbobtbwb{bzbybtbobdb\bSbSbMbKbFb@b6b.b&b bbbbbbb b b baúaöaìaáaÑaÁa³a¦a–a„a…aqaWaCa/a#aa`ï`Û`Á`ª`“`}`k`Z`O`E`9`0`$`` _ø_ê_â_Õ_Ì_Á_¹_®_‘_~_X_3_^á^½^^x^^^3^]ð]Õ]·]¤]]x]Y]A]]\à\À\“\s\j\í]À^"^H^Q^T^9^1^Œ_._ß_Ÿ^õ^-]'\¥\l\4\\k\ª\‚\÷]Ð^u^Ä^[]ñ]‘]_\Ï\,\[Û[¼[™[K[”[ý[Ô[â[ø[Ä[µ[ÿ[Ù[Ñ[¸[±[Ø[Ô[æ\[È[†[Á[®[Z[;[0ZáZ/YëZqZrZOYÐY“Z`[,[°[Þ\ÿ_1`•b*\&XMX²[^Û`8\wZ"ZÚ\Ì^Ó__‰__]_Æ`_“_/_C^£]¼^:^c^£`a†`ñ`OaÉ`ò_‘`_Ä_^Ò^‘^Œ^Ž^Q]Ò]]j]j]Y]^]Y]i]r]]…]Œ]‡]ƒ]|]q]g][]L]?]6].])] ]]]$](]0]3]1]*]$]]]]]] ] ]]] ] ]]]]]]\ù\è\ß\ß\Ü\Ú\Ö\Ã\²\›\‰\q\[\C\*\[ù[Þ[Î[¼[©[Ÿ[ž[©[§[Ÿ[[Ÿ[ [™[…[o[h[p[s[t[l[][J[:[5[.[![[Z÷ZñZòZôZø[[[[[ZáZÂZÃZËZÐZÝZÝZÏZ·Z™ZnZ@Z,ZZ YÿYóYäYÔYÇY¸Y¸YÆYîZZ0ZEZcZ{ZZ¡Z²ZÇZØZÝZâZü[2[v[£[°[´[º[¾[â\\c\ž\È\ð]]C]p]]²]Ò]í]ÿ]ý]Ñ]ˆ]c]l]‚]ž]´]½]¾]²]§]©]¾]Ý^^2^A^?^4^'^$^"^*^1^*^^]õ]á]Í]À]¾]¹]­]¤]¤]©]®]­]­]²]º]Ê]Ý]ñ^^^^(^@^Y^d^b^T^E^D^B^L^\^d^b^J^1^1^=^I^^^z^”^¥^³^Ä^Ï^É^Ä^½^·^¶^Ã^ß__ ^ü^ß^Æ^«^œ^±^Ä^Ú^Ý^È^£^t^R^+^]÷]ñ]ð]ù^^"^<^]^^˜^±^Â^Í^Ñ^ß^î___3_H_]_f_r_}_Œ__–_ž_­_¿_á_û`_ý`_ê_Ë_²_Œ_®_€_w_­``aëb2aa#`©`H`Ì`°`ªaŸbWbWcC`­`b`__þ`Ñ_ì_É`¶_‰_}_†_t_–_‹_›_‰_Ó_ê_á_Ñ_¿_¨_’_…_ƒ_v_q_„_ˆ_q_Š_£_–_~_m_{__|_{_v_{_u_s_t_w_„__”_Ÿ_¨_¨_ª_­_³_»_Æ_Ñ_á_ê_÷```%``"``%`;`+`y`i`:`G`l`\`Y`Z`Y```m`z`Š`š`ª`¶`¿`Ô`á`ë`ó`Î`Ã`áa a aa#a&aa`á`µ`‰```C` `_í_Ü_Ç_À_¶_¸_Â_Ä_¿_Ê_Ñ_Ë_¯_£_‡_m_x_Š_¨_Ÿ_š_—_œ_Ÿ_“_È_¿_Ï_Ô_ç``X`w`¸`…`š`£`Ú`•`»`·`Ò`£````q`Tac?cxbÃde†d `P^]ð]^]ø^^^^]ñ]È]Õ]©]¶]§]£]¢]®]¡]¡]‹]k]9]\þ\ï\Ä\š\J\ [ì[ó\[ó[Á[‹[|[v[[³[ë\H\&\P\‹\«\“\a\[Ã[Ø[Î[Ð[Ø\\8\J\I\J\\\0\e\\ƒ\x\~\‰\ \±\½\¹\§\Ÿ\­\¿\å]]0]>];]O]†]³]Ï]Æ]¶]¶]ö^h^Ê^ç^ã^Ì^´^Ž^P^^]â]•]^]I]$]\ï\ù\ÿ\í\Ä\¢\«\µ\¯\z\<\&\*\(\!\$\8\e\¬\÷]])]&]\ç\ \[lZøZü[J[­[¿[z[‡[ç\<\…\·\¦\u\e\m\]\)[Ó[†[W[C[;[2[6[9[/[$ZèZÇZê[&[g[®[Ò[º[­[Ÿ[ž[¼[Á[¤[‰[Š[“[‘[Ž[Š[‰[[“[š[ž[ [•[”[ [°[µ[º[¾[Á[Á[Ä[É[Õ[è[ö[ú[ý\\\\\+\>\K\X\c\n\{\\~\~\ƒ\‚\\{\x\x\|\}\{\\Œ\—\§\´\É\Ó\ä\î\÷]] ]]"].]<]N]Z]c]c]W]B]0]%]] \ö\è\Ú\Õ\Î\Å\¹\®\¥\\š\š\•\\‰\u\P\/\!\\ [ü[ê[Ú[È[¹[±[­[£[”[Š[|[m[[[F[,[ZøZâZÍZºZ§Z•Z‚ZoZZZDZ*ZZZ YÿYùYîYçYÞY×YÖYÛYæYðYöZZZ ZZZ!Z*Z-Z6Z;Z>ZIZPZRZFZ=Z4Z*Z#ZZZZZZ'Z9ZDZTZbZpZyZ{ZyZzZxZwZkZdZUZGZ^2^@^f^ˆ^^—^š^˜^Ž^‡^^r^u^u^o^Y^7^^!^?^W^[^b^_^p^ˆ^ ^µ^Ä^×^ç^ÿ____%_@_U_a_m_y_„_ƒ_|_p_f_P_=_$__ _$_(___ __^ú^ø^ö^ó^ú___^ø^æ^Ö^Å^²^§^‘^œ^‘^^€^}^€^Š^—^¨^¬^»^»^Å^Ç^Ì^Æ^Ã^¶^³^¤^ž^Œ^ƒ^q^j^U^O^:^7^0^1^(^.^$^%^%^%^^^]ô]ã]Æ]µ]”]‚]i]^]@]7]]\ò\ù\ç\æ\Ø\º\“\†\T\J\\+\\ \$[á\\H]1_|bdexc¢bÿeêd&\íXºWKV¬XÆYÉY†XLW*V V·W WaW‰WÏX#XIXtX¨X±XÌXÑY XúXòXêXõYY,YWY_YšYäZZKYáYÏYÐY©Y‘Y„YwYpYlYkYIYCY YYY XøXÒX¾X§XšX’X‰X„X}X`XQX1XXXWüX X X"XX'XXXXWüXX X X"WçWžWŠW–WúXX3X°XüYbY«YØYàYëZ>YéYéZBY¾YZCZ`ZLZlYûYôZŸZ YŸZ)ZjZKZ„ZÀZ·ZÝ[ [C[f[E[ ZÁZ–ZŠZÉ[[_[[[4[ZÖZæ[[’\\}\l\&\ \"\0\b\u\k\“\Ï\á\1[É\\ \[°[%[[Zû[[Q[g[ö] ]i]j]½^‡^•^7](\¼]º^^%^Æ__·aa“aÏb aöaêbaªa¬a¨aJ`ÿ`Ê`Õ`æ`ö`ô`æ`Ø`á`ûaa:aLa_aiava‚a‰a’a‘a“a™a¡a¦a¹aÂaÐaÛaãaçaæaêaöaùbb bb3bLbgb{bb§bºbÎbÜbîbÿcc'c3c?cLcRceclcrcrcrcscyc€c€c}ctcqckcmcqcvc|c}cycqcgcYcHc=c-c,c cccc ccc!c)c6cGcXcgcwccƒc{cnc[cUcScUcVcNc;c0ccbàbÏb¿bºb¯b«b©b«bªbªb«bªb¥bžb—bŠb†bzbsblbib_bQbCb9b2b1b.b,b#b)b#b$b"b#b bbbb aþaîaàaÎa¿a®a›ašaƒalaZaHa9a'aa`ô`â`É`´` ``{`i`_`O`B`5`(``_ú_è_Ø_Ô_Ë_É_Å_¯_–_s_M_$_^Õ^³^^o^H^#]û]Ý]¿]­]™]]y]i]M]5]\ò\Ç\¡\~\¶]]]à^>^}^k^O^”^û_)_b__^Ë]’\Î\‡\Z\)\0\\ž\Ú]>]û^°^^]´]|]\l\ [¼[·[«[p[[ß[Ó[õ[ö[¿[Æ\ [â[æ[ä[Å[Ø[à\\[ò[Ç[¤[G[[P[[GZÔZlZ¥Z˜Z»ZrZZwZZZiZÓ[’]ú``®\YX˜XZ’_ aL_\|Z]ZÊ]Š^h__?_Œ_á`'`l`_5]ç]›_`Ìa aŸbÿbŸbÝd`°^ç_‡_‚_^¸^L^B^.^1]ù]™]u]ƒ]l]g]d]o]|]Š]”]]Ÿ]¡]˜]]†]}]j]b]W]N]F]B];]9]C]B]G]E]G]D]B]:]8]4]4]/])](]%]"]#]"]&]/]5]6]4]*]]]]]"]]] \ü\ë\Ø\À\©\\u\W\2\[ì[Ë[¸[³[©[®[°[¸[±[ [ [§[¢[“[…[Š[[Ž[Œ[[p[`[S[G[=[3[&["['[/[/[([$[$[/[.[[Zý[[['[ [ZÞZ¬Z~Z]ZDZAZ^H^P^a^}^™^°^È^Ô^à^à^Ü^Í^¿^¶^Â^Û^÷^ÿ_^ú^æ^Ð^É^Ý^å^ê^ã^È^œ^p^W^B^-^^^^'^8^P^v^™^³^Â^Ò^Þ^ò^÷^ÿ_ __,_K_e_v_~_Œ_’_¢_­_¶_¼_Ñ_í```'`,`3`5`_Ù_¥_ˆ_‹_–_l_g_ç`W`€`u`?_ï_î`_û`*`ª`²a¨`Ž`¤cka^aObÆ`xad3ak`û_¾_a`"`/_ò_¸_Ö_ _k_o___œ_Í_°__n_h_…_;_+_J__¦_„_ƒ_u_n_`_`_k_p_w_x_v_w_v_}_ƒ_Œ_¡_ª_«_¹_Í_Ï_Ô_æ_ù_ñ_ì_î_ô_ø_ì`?`×a'a¯a!`p`]`n`_```g`p`z`~`Ž`—`¤`áa`Ù`Ù`ñ`õ`ë`¼`æaaaa3a9aAa?a3a`ß`²`‰`_`9`_ã_Ç_µ_°_°_®_¡_°_´_­_š__u_N_P_c_Œ_–_˜__·_Ê_¬_´_ª_Ü_ð_í_ú_ý``]`r`±`»`È`ˆ`¶`™`®`Ä`Â`¦`É`|`p`5`¶a–b)`ÿaÕdFda÷_Í^]ª]æ^^;^0^;]å]ý]Í]Õ]º]°]›]™]|]z]g]c]E]'\ê\¿\‰\f\O\5[ý[Ð[£[Ÿ[¯[¦[„[R[D[B[r[‚[Ý\P\8\u\V\~\œ\z\M[ù\=\\x\1\7\_\‰\k\Z\E\A\i\‚\“\¦\£\©\¨\¾\Ç\Á\µ\¶\·\¿\Î\ò]]/]$]]=]l]]•]|]…]­]÷^U^«^Â^³^^y^c^F^%^]Û]„]J]\é\Ì\Ï\Õ\Ø\×\Â\©\¯\¶\­\’\n\]\R\9\.\,\A\n\¯\ç]]]]\Ð\\[Ž[?[5[X[›[³[¦[¹[ç\\[\š\«\}\^\[\-[ç[“[R[%[[[[[[$[K[(ZíZû[)[J[ƒ[¼[Ì[·[–[¡[Ã[Î[»[œ[•[š[•[“[Ž[‹[Œ[‹[‹[[Œ[[‰[š[¨[¯[´[º[Á[Å[Ê[È[Ñ[Ý[é[ö\\\ \\\$\0\>\J\W\b\r\{\}\|\‚\ƒ\†\„\\|\~\€\\ƒ\Š\’\™\§\¹\È\Ú\ã\ô\ú]]]])]8]E]U]^]b]W]C]2]!]]\ò\â\Ô\Î\É\Ç\¿\·\ª\\˜\“\Ž\‹\‰\\f\B\)\\ \[ö[á[Ð[À[µ[°[ª[¢[™[[„[q[][@[%[ZíZ×ZÇZ´Z£ZZ}ZeZNZ6Z%ZZZZYùYóYèYäYãYèYïYýZZZZ"Z*Z1Z9ZBZQZYZ^ZeZnZwZ}ZtZhZYZNZBZ=Z=Z>ZZAZOZWZgZsZ„ZŽZ”Z–Z•Z‘Z‘ZŠZ‚ZsZgZZZQZJZLZQZSZ\ZgZrZZZ˜Z¢Z§Z«Z±Z³Z°Z°Z°Z²ZµZ¼ZÅZÑZÝZï[[[1[I[_[y[Š[œ[­[¾[Æ[Ï[Ò[Ø[â[é[ò\\\"\4\H\_\v\Œ\¡\·\Æ\×\â\ï\ú\ÿ]]]] ]]]]\ý\ô\ç\Ý\Ý\ä\ô] ]#]2]8]4]?]U]€]ª]Ñ]ñ^ ^^%^.^7^>^J^N^Q^T^T^O^N^b^z^^“^œ^^Ÿ^^“^‹^†^‰^…^~^_^@^#^#^N^h^r^v^{^…^’^ ^®^·^Ç^à^þ___!_?_d_w_€_Ž__”__ˆ_{_m_[_L_:_+_1_7_1_*_!___ __ ___"_%_!__^ý^ñ^ã^Û^Ö^Ë^Ï^À^¹^«^§^ž^£^¥^·^¾^Í^Ô^Ù^Õ^Û^Ù^Ø^Î^Ë^½^»^­^œ^‰^^h^Z^D^C^5^4^3^3^4^6^8^;^4^,^^ ]ï]Ü]·]£]’]w]e]V]D]']] \÷\÷\ó\×\×\ž\œ\`\X\2\\ \\/\ \[³\œ`Ûdf>fe—d fÚa[ƒWôWÆXXZXlVüV¿V¼VúW^WrWÑX3XrX…X¨X¸XñXôY YY+YYY;YHYbY•Y¸ZZ8ZwZXZMYýYŸY‹Y‡YYYZY:Y?Y0YY XõYYXíX½X´X¤X™X”X—X€X‚XqXYXEXXX&XX'X!X5X4X/XX X XXXXX}XŽX9WåWÎWÕXX&XXoYZZBYôZZIZzZ9ZDZ|ZYóZjZ§Z“ZþZ”Z Z…ZY¬Z ZZ=Z¼Z×Z¦Z·[ [S[s[?ZØZœZ›ZZ¼[[e[@ZòZÂZÛ[%[>[¬\\Œ\Ã\\’\§\r\•\»\£\á];]\S\1\¨\•\‚[û[x[{[x[t[k[y[¾\D]3]]D]h^]ì]ƒ\î\ ]v^^M_*_s_Ñ`ÐaSaŸbbIb–bõb a¯a›aQa`ï`÷aaa `ÿ`ô`úaa8aSajauaa…a”a a©aªa®a¶a»a½aËaØaäaëaòaõaýbbbbb*b;bTbnbˆbŸb¶bÌbßbôccc$c=cPc^cacpctc‡cc’c‘c‘c‘c’c–c•c’cc‡cˆc‰c‹c’c›c¡cžc›c‹c„cncbcUcScKcAc;c5c6c;cEcRcacscŠc¥c´c¿cÁc¹cªcœcc‰cˆc‡czcmcNcFc9ccböbébäbábâbÞbãbãbábßbÛbÒbÈbÃb¸b­b¢b˜bŒbbqb_bLbFb>b=b;b:b:bBb>b>b=b@b>b_O_e_‚_™_¡_¦_«_»_È_Ô_â_ÿ``4`F`R`S`H`C`0`_ñ_Ó_¿_¿_÷````&`` ````_ú`;``Öa;aVbªbb%ba b!dc§gŽcwc,eìbøcÞbk`B_×_›_Æ_…_t_¿_s_8_5_x_£_”_p_3_¡_e_M_}_w___n_m_^_Y_R_Y_h_u__˜_¥_©_³_š_•_±_¬_¬_É_Ý_Û_à_ò``)`_ý``E`v`ˆ`É`x`@`H`Q`i`r`{``‡`’`™`§`³aaG`ù`à`ø`÷`ý`ôa aaa'a.a7aHaLaCa-a`Ñ`´`‹`Z`&_ü_Û_È_¼_±_»_¾_»_¶_Å_½__y_S_f_‡_›_¹_Ñ_×_º_Ã_È_º_Ñ_í_ã`````2`<`=`}a"`Ñ`“`¡`Ê`ña`ï`ó`À`»`›`Ì`t`¿`6aNd,f[cíaF^°]ù^&^ ^k^^J^]÷]â]Ü]½]Á]‘]‹]d]X]1]"\ÿ\ß\ž\X\[ö[å[Ð[»[Œ[X[S[a[a[J[#[[[A[b[µ[ß\1\÷\“\ž\\h\{\1\5\´]]]6\¹\Š\Ž\p\^\a\‰\£\¬\Æ\Ä\Î\Ò\ß\Ú\Æ\¸\É\Ø\Ü\à\ö]]\ú]]]9]Y]e]Z]{]¬]ñ^8^s^^r^H^=^<^2^]þ]Ñ]]6\ÿ\Ë\¥\«\£\¦\Ä\Ó\Â\³\±\¥\Ž\}\{\s\W\S\\\k\x\ \Ê\ï]&]?](\æ\…\[µ[ƒ[œ[È[ê[ô[í[ã[ç\\?\|\¤\œ\„\Y\[Ë[|[&ZéZÊZÏZáZçZî[[<[P[0[[[([J[q[€[z[o[€[[®[©[œ[š[[œ[š[”[’[Ž[†[…[…[}[p[w[‰[–[¡[ª[´[¹[À[Å[È[Ò[Ø[ß[ì[ý\\\\\!\%\2\;\E\O\^\n\x\y\~\„\‰\Œ\\‰\‡\‚\ƒ\‡\Ž\”\—\ \«\º\Ê\Ø\å\ì\ù]]]"]/];]N]Y]_]X]G]/]]]\õ\á\Ô\Ì\Ç\Æ\Ã\¼\±\¨\›\‘\‰\„\\|\s\Y\:\ \\[ü[ê[Þ[É[¾[¶[²[­[¦[ [‘[[q[T[:[ZþZçZ×ZÈZºZ¦Z’ZyZbZHZ6Z)Z ZZZ ZYûYùYöYúZZ ZZ(Z1Z8Z>ZDZPZ^ZpZuZZ‰Z“Z Z¨Z¤ZZˆZvZfZaZ^Z`Z_Z_ZaZiZoZzZ…Z–ZžZªZ¯Z²Z±Z®ZªZ¢Z™ZŒZ|ZsZkZhZbZaZgZlZvZZŒZ™Z¡Z¤Z§Z«Z¬Z©Z¨Z¬Z«Z­Z´Z»ZÅZÔZçZû[[$[=[R[i[~[’[¤[»[Ë[×[Ý[ã[ë[ð[ú\\\\*\E\Z\v\ˆ\Ÿ\¸\Ë\à\ð]] ]]] ]#]#]%]&]%]]]]\ÿ\ÿ]]]+]:]?]8]0]D]b]’]µ]Û]ù^^^#^&^-^4^;^H^N^Z^e^m^t^^‹^^’^^§^§^¨^£^Ÿ^›^–^“^„^n^T^=^7^X^r^€^{^„^†^Ž^“^˜^¤^²^Ó^÷__1_D_c_z_Œ__™__ž_˜_“_Œ_{_k_X_T_K_J_F_<_6_0_/_'_"_"_'_1_4_:_9_:_4_&___ _ __^õ^é^ã^Ò^Ç^¹^À^Ã^Ò^×^ä^ä^é^é^ô^ô^ö^ì^å^Û^Ó^É^¼^¡^^v^g^U^I^C^=^=^>^?^E^G^J^<^=^*^^]î]Î]¹]–]]o]i]T]G]'] ]\ý]\î\å\Ã\§\†\e\M\F\.\0\$\O\:[ó\I`eCi7h?f\bifsgd_YYXìX;YÆXCW8W$WVÚW,WdWñXhX­XgX¥X¾XÍY Y)Y6YBYHY\YQY{YiY¦YßZ"Z`Z€ZvZkZ Y YdYeY:Y7Y#YXûXçXâXâXþXùXÕXºX¢XX¨XXŽXXvXgXcXQX-X$X+X%X6XGXPXJXFX@XIX=X.XXX!X3XX XX X X-X XHXËYjZ=Z¾ZxZsZZZ›ZÜZ×Z‘Z\ZZÅZÀZÍZIZZsZZZ1ZZHZ©Z•ZpZ‘Zà[?[j[>ZÜZÃZÄZ¼ZÙ[%[m[Z¥Z¹[7[‰[d[´\3\·]] \Î\™\Œ\Ë\É\·]"]v] \e\v\ë\Ä\‹\[ç[û[Ñ[×[Ô[ß\8\”]b]Ç]S\ô]-]K\Ü\‘\±\ô]$]‰^h_q`ea ataÎbÃc1bëb÷bCaØa¥aTaaa#a+a.a&aaaa0aTahaa‰a“a˜a¦a´a½a¾aÇaÏaÎaÏaÔaâaëaïaþbbbb$b/b7bDbXbpbŽb¥b¼bÕbébúcc"c0c@cZcmczc‚c•c¢c­c¯c²c±c°c¬c«c©c®c«c§c¡c¦c§c©c²c¶c¾c»c¾c²c¨c—cŒc„c}cxcpcjcececkctcˆcžc¸cÕcöcûc÷cðcäcÔcÄcµc°c«c©c˜cŠcwcecLc5c*cccccccccccbþbùbïbäbÕbÉbºb©b™b€bob`bZbPbVbTbQbWb]b]b]bZb^b\b[bRbHbYÿY°YuYFY!Y YYSY·Z*Z£ZêZøZïZóZðZÖZÂZØ[ [C[g[n[u[„[œ[¼[Ù\\=\r\¢\¾\Õ\ý]B]]´]Ù]ü^^]Ø]Ž]r]{]]¤]½]É]Ë]Ë]Ð]Ï]Ø]ì^^^5^N^^^[^R^N^V^e^k^h^\^J^<^4^,^"^^ ]÷]è]ß]â]ã]â]ä]è]ò^^$^I^e^w^|^~^…^Š^Œ^“^›^¨^°^²^°^­^œ^†^o^a^Z^c^m^€^’^©^Á^Ö^ã^ê^ì^ó^ì^â^Û^è^ù___^õ^é^à^Þ^ß^á^×^Ã^«^‘^{^o^k^f^i^q^„^”^©^À^Ô^á^õ___%_9_D_U_c_q_{_‰_œ_²_Ä_Ó_ß_ì_ö`` `%`<`R`\`b`\`T`;`/``_ï_ê_Ø_Ú_é```&`%```_ý` ` ` ``h`é`üa„b3bOaža*a²aóbcd¶ba}b„b°ebÎaUa¨aÍcb`#_›_v`` _H_X_¼_j`Ibàa‚_¤_‹_¬_Ü_Ÿ_r_g_]_t_•__n_y_o_m_c_j_‚_…_ _ü_ü_Ô_ü_þ_þ`A`Èaa¢`¤_õ`````#``6`z`V`h`‹`—`™``§`®`¸`³`Ò`é`Þ`â`ñ`÷`þ`ÿaaa)a3a6aBaLa[a_aCa%a`à`¼``L`_á_Ã_½_¼_°_°_¶_¶_¦__“_\_N_x_œ_²_þ`0`7`I`>`_É_Â_î_é_ý``6`)`&`D`d`o`ûa `Ä`´`ô`â`ß`Õ`î`é`ü`Ë`¿`|`§`ˆa5cfèeÊcR_È]È^#]ï^f^=^"^^]ì^]Á]º]š]‰]R];]\ê\¾\Œ\N\ [Å[[…[{[{[N[[[[[ZóZïZö[![S[[¾[Õ\3\Q\É\É\\\N\L\H\n\¦]M^2]k\º\\„\¡\¸\³\Ì\Ä\Ú\â\Ý\á\ä\Ý\Ò\Ï\æ\ö\ô\è\â\Ñ\Ô\ß\ñ] ]"];]J]P]z]±]ï^^?^K^V^I^E^;^-^]ã]¦]b],\ü\Í\¥\ž\”\•\¼\ï\ñ\Ñ\¸\¬\¡\›\œ\š\•\–\Ÿ\ª\\­\Æ\î]2]J].\÷\’\[Ã[š[º[è[ü\[ô[ì[ó\ \7\f\š\¹\Ÿ\`\[Ñ[}[ZÒZœZŽZœZ¨Z·ZÞ[@[^[F[)[[[$[Q[b[b[b[n[‚[‹[[“[š[ž[£[¢[ž[›[•[Ž[†[ƒ[{[o[u[‚[‹[•[Ÿ[«[³[¼[À[Å[Í[×[Þ[ä[ð[ý\ \\\!\$\*\0\7\?\L\[\f\q\{\‚\Š\\“\‘\Œ\Š\Œ\Œ\’\™\Ÿ\£\«\³\½\È\Ï\Û\ç\ó]]]%]2]B]P]V]Q]G]1]]]\õ\ä\Õ\Ç\Å\Â\Ã\¿\¹\¯\¡\—\Š\€\y\q\s\j\P\1\\ [ÿ[õ[ë[Ø[Ì[¾[½[·[³[«[£[“[[j[R[3[[ZñZâZÕZÂZ®Z“Z{ZbZPZ@Z7Z.Z&ZZZZZ ZZZ"Z0Z=ZCZKZSZ\ZfZnZZ•Z«Z¹ZÅZÈZÓZÓZÎZ¿Z©ZZ‚Z|ZZ€Z€Z}ZZˆZZ”Z Z®Z¾ZÅZÌZÎZËZÈZÇZÀZ´ZªZœZŽZ†Z}ZyZwZyZ|Z‚ZZ›Z¡Z£Z¢ZžZ›ZžZžZ¤Z¦Z§Z¬Z¶Z¾ZÏZãZö[ [[.[C[V[m[ƒ[™[±[Æ[Ô[à[è[ð[õ[ù[þ\ \\!\=\V\v\ˆ\ž\µ\Ñ\é]]] ].]8]?]D]D]C]D]I]A]9],]&]#]']*]=]K]V]P]D]@]W]]©]Ç]î^^^ ^^^^%^2^C^R^g^t^ƒ^^’^^Š^’^•^¢^«^±^¯^¬^¦^ž^š^…^{^a^Z^X^m^^‡^~^~^{^^…^‹^™^­^Ò^þ_ _9_R_i_z__˜_ _¥_§_§_¢_™_‡_u_i_w_u_i_a_X_Q_K_E_<_;_:_?_@_C_L_N_O_J_A_:_5_8_9_1_+_ __ ^û^ð^å^â^à^ç^è^ï^î^ô^ù__ __^û^ö^ò^å^Ó^¾^ª^‘^y^k^Y^T^M^F^G^J^V^Q^V^N^O^:^/^^]á]Ì]ª]£]]‡]c]Z]D]1]']] ]\ò\ê\Á\¬\\_\_\=\a\(\R\(\{\]{a´i f4hŸb«aªgšaˆY{W÷YIY^ZOY XPWoVÓVÔW&WDX X`X”XkX‡X´XíYY9YNYeYSY„YiYƒY™Y¼YóZ=ZMZeZhZNZ YÁYnYKY4XýXõXäXÞXÏX½X¹XµX¯X£XX X—X—X™X‰XuXzXdX\XHX2X/X=X\XnXtXXiXWXXXZXIXQX0XXXWÿX%XRXIXBX:XXDXíYËZJZç[2[I[C[[ZõZâZêZÆZ¸ZÔZ¸Z2YÀZ6ZiYôZKZ¬ZfZ:ZZZbZ|ZË[U[s[0[Zé[ZäZ»[[˜[¯ZøZ’ZÜ[m[É[·[è\¢] ]?]e\Ð\‰\ä]\ž\‰]]I\É\Y\†\æ\¶\|\F\\\J\\¦\Ÿ\Ý]']°]ã]s\ó\Â\è\¹\Â]S]] ]a]Ø^Ä_R`aUbmcžcëc3cccbVa›aAa5aJaLaFa8a1a4aGaVara‡aša¡a©a®a¸aÂaÊaÎaØaàaãaæaìaðaòaýb b!b(b5b>bLbTb^bvbŠb¤b½b×bñccc&c9cJc[cwccœcªc¸cÆcÈcÊcËcÆcÇcÂc¿c·c¹c¶cµc»c¾cÆcËcÓcØcàcÞcÝcÝcÒcÅc»c´c­c¦c¢ccœc›c¢c®cÅcàddd,d)d#ddcðcÞcÏcËcÄcÀc¸c¨cšc{cccWcPcHcAcCcKcUcUcVcOcHcAc9c.c&cc bþbîbàbËbµbšb‹bbubqbrbpbqbvb|bzb|b{bzbwbwbobgbZbKb9b-bb aøaãaîaÚaÅa±aša…aka[aEa:a+a!aa `ü`ë`Ö`¿`«`•`|`b`I`/``_ô_é_á_Û_Ñ_½_ __]_<_^ñ^Ì^¦^~^O^ ]ò]Ê]°]ž]—]™] ] ]’]‚][]1] \ß\¾\š\„\Û]7]•]ú^@^O^ž^â_¦`|_–_i^ï]y\ä\º\õ\¼\r\¿]9]·^I^¶^¸^n^ ]²]Y\þ\Á\S\P\<\$\3\\\H\&[Ã[ý\2\\)\3[å[ó\.\1\[Ö[0Z¹Z‘Z«YÀYgY(YÂ\š]q]\å\[!Z&ZY•XàZZÄYXŸY‘YˆXšXX›Zß_Da0`Ï_\Zû[Ñ\i]ž_9_"^w^^^.^Ï_ëb0cPc/bÐ`]q]w_ ^É^`^P^œ_)_^ô^k^ß_>^n]¬]ž]›]]‘]Ž]]Š]”]¡]²]À]Ë]Ñ]Ñ]Ê]¿]¸]°]ª]¢]ž]™]‘]‡]‚]]|]z]|]‚]‡]‹]]]]]]]]‹]Ž]ˆ]‰]Œ]•]›]£]¬]¶]Á]Á]Ë]É]¾]¨]–]…]]s]i]R]=]\ý\Ò\ª\w\A\[û[ö[â[ã[ä[×[Ï[Ï[Ø[Ó[Ö[Ú[â[ä[å[Ü[Ó[Ì[Å[Â[Æ[Ï[Ä[²[­[³[Ÿ[{[P[M[R[`[f[h[f[k[b[U[=[ [[ZíZàZÚZÊZ«Z…Z^Z6ZYÓY–YaY9Y*YFYŠYéZQZÅ[ [[[[ZæZÜZû[*[U[k[r[~[“[·[Ù[ö\"\Q\„\­\Ì\é]]1]l]µ]ç^ ^^]ö]«]‹]Ž] ]±]Â]Ì]Ò]Ó]Ú]á]ë]ù^ ^"^9^L^[^`^c^f^f^m^r^h^]^L^:^/^%^^^^ ]þ]ö]ú]û]ö]ò]ñ]ü^^<^i^Š^^¡^¡^¦^©^­^®^º^È^Ï^Û^Û^Õ^¿^¨^•^„^m^o^|^”^©^½^Ó^â^ë^ô^ù^û^ú^õ^ø___^ü^ï^å^ã^à^Ù^Ó^Ï^Å^·^¦^ž^™^^^ˆ^^œ^¯^Ã^Ö^ç^ü___+_=_L_d_w_…_•_¥_·_È_Ù_ê_ø````)`3`<`P`Z```]`f`T`K`C`D`:`.```` `!`)``` ``` `%`%` ``,`,`K`|`—`Ãa`Ð`·`Ïaa`a¥aZa9azbqbàasaDaÎb(cMc2aC`%a"dªcø`)_Ê`­_·_®aZae`Ãa*a`\_Ñ_ž_—_ñ`}a|ah`¥`&_˜__Û_à_}_À`Y`u`^`[`Q```\`{`·`z```&`=`x`‘`á`ï`Úa`’````ˆ`›`œ`¨`¬`¼`Ã`Ë`Ñ`â`é`ç`ï`ñ`õaaaa'a2a9aGaUa^aTa>a"a `í`Â`‡`G`_ì_Ï_Î_Ó_×_Ò_Ù_ã_Ô_Ö_Õ_å_î` `(`G`d`O`L`J`:`#_ç_Ø_ó``)`-`C`_`K`A`Y`æ`ø`Ø`Ñ`ø`÷`ü`ô`ø`ï`û`ýa`ý`Ø`—`Äbdf%g˜b^´^9]ÿ^^.^&]ÿ^]é]é]Á]ž]{]s]H]\Ñ\¨\w\D\[É[…[R[7[)[ZóZÊZ»ZÀZÆZÉZÄZÍZ×[[H[Œ[Î[×\\]\Š\¾\ª\@\>\Y\~\‘\”]/]X]\Õ\¸](]‹]\ü\ô\ê]\ç\à\Þ\×\Ø\à\ó\ö\ï\Ý\Ò\Ä\Ç\Ì\Þ\ú]]3]I]^]€]¸^^-^I^P^S^S^S^A^%]ù]¿]y]@]\ê\Ç\¨\‘\‹\“\ª\ã\ö\á\Ì\Ò\Ï\º\¯\¯\¹\¼\Ã\Å\½\Î\Ù\÷]$]<]+\ò\‹\[¿[“[›[½[Ú[ï[ø\\ \\.\W\\¶\Ž\G\ [¹[g[ ZíZ±Z|ZtZyZƒZ×[n[y[h[Q[[[0[[[l[m[m[q[x[{[„[[ž[¨[¬[®[ª[§[¤[Ÿ[—[‘[†[[[…[ˆ[‘[œ[¥[­[¶[»[¾[Ä[Ñ[Ø[â[é[õ\\ \\\&\)\)\,\3\=\I\U\e\q\x\†\\”\š\œ\›\œ\›\ž\Ÿ\¦\®\´\¶\¼\¾\Å\Ë\Ô\ã\ñ]]]!]4]E]O]O]F].]]]\ö\ë\Û\Ï\Ê\Å\Ä\À\¿\·\®\Ÿ\“\‡\|\t\p\p\g\M\/\\ \[ù[ì[Þ[Ò[Ê[Á[Â[¼[¶[¡[Œ[s[c[Q[7[![[ZöZãZÏZ·ZŸZ„ZpZ`ZYZNZBZ;Z4Z-Z+Z'Z&Z,Z8ZEZRZ\ZbZhZqZ{ZˆZŸZ©ZÁZÙZëZéZóZùZùZñZÝZÂZ«ZZšZZžZžZ¡Z¢Z¥ZªZ¯Z¼ZÈZ×ZãZèZëZèZêZçZáZØZÉZºZ¬Z Z–ZZŽZˆZZ’ZZ¤Z¥Z¤Z¢ZŸZŸZ¡Z¢Z¥Z¬Z±ZºZÃZÓZçZú[ [[,[=[N[d[z[“[©[À[Ï[Þ[ç[ð[ö[û\\ \\+\F\a\y\Š\ž\µ\Ö\ï]] ]5]C]S][]d]h]m]o]q]f]_]R]N]J]L]M]]]g]q]e]T]S]k]’]³]×]û^^(^&^ ^^^"^5^M^d^w^‡^‘^’^‘^Œ^†^‰^^Ÿ^ª^°^¯^§^£^˜^˜^‹^‡^x^y^w^†^Š^†^}^v^u^x^^Š^˜^¹^Þ_ _)_<_O_e_€__Ÿ_§_®_±_µ_´_®_Ÿ_‡_…_•_“_„_{_s_k_a_[_Z_S_L_N_O_V_X___b_`_]_X_[_[_`_[_N_G_8_)____^þ^ý^ø^ö^ú^ÿ_ _______ ^ý^ê^Õ^¶^¤^Œ^{^p^b^\^Y^[^X^`^[^^^X^V^I^B^'^]ø]ä]È]¶]]™]ƒ]t]_]Q]1]:]]!]\ÿ\ç\À\®\„\|\P\j\M\{\?\„\N\D^0cÆdÀi]bœ]Ûcœd[äXÄXÛY¼ZfX¨W­VçVÑV¾VòWWÎXDXzX€XXtXçY'YXY2YwYwYzY–Y‹Y™YËYõZ7ZHZ^ZVZcbÓb)a–afaRacaeaaaPaPaWapaˆaœa°aºaÄaÌaÐaÖaÜaåaïaûaübbb bbbb(b?bIbPbYbfbrbbŽb¥b¾bÕbðcc$c.cAcQchcƒc™c­c¾cÏcÙcâcâcæcãcÜcÚcÖcÒcÑcÏcÒcÐcÙcácëcôcúddd d d dcûcôcëcåcÞcÛcÕcÒcÐcÛcíddd>dMdTdMdCd,dd cûcðcåcácÙcÒcÄc¶c—ccycscscpcvc~cƒcˆcˆc€czcocfcZcJc@c4c(ccbìbÔbÁb²b§bžbb™b—b–b”b¢bœb™b™b™b—bb†b|bqbcbQbAb2b&bbbbaîa×a¼a§aŒa|aka\aPaBa9a/a aa`ë`Ô`À`¨``t`\`D`/`` _ü_ñ_à_Ì_®__k_E_^û^×^®^…^Z^(]ù]Î]®]—]Œ]Ž]•]›]]z]^]/] \á\¸\š\Ž\Æ\ê]]™^b^Á_*_P_ƒ`…_ß_V_^ƒ]:\Ï]\…\j\Ú]2]Ù^[^^¼^š^/]Ê]e] \²\I\R\K\i\“\^\\\\]\\B\N\)\I\'[Î[ö\\[ô[SZ¨ZŠZcZ.XÜXîYY°]&]â]G\…[ZvY¯ZY XQY“Y‰X§YYwY]Y™Z~YÈ[`^a_Í^v\¯\c]:]^`=_J^W^´^¼_(`¤bªb…aZ_œ]{\È^~`å_¢^€^b^ _I_Ó_y^¹^q^^<]´]©]¦]ž]¡]œ]›]ž]¡]¬]¸]Ë]Õ]à]ß]Ú]Ð]É]Å]À]½]º]¯]¨]¡]]–]•]“]’]š]¡]¥]£]¨]£]§]§]¬]®]­]ª]ª]«]ª]¯]¸]Ã]Ï]Ù]ã]å]é]â]Ø]Á]²]¡]œ]]ƒ]r]_]E]$\ù\Ñ\œ\f\0\\\[ö[æ[å[ä[à[í[ñ[ñ[ñ[ü[ý[ú[õ[í[ç[ä[ì[ò[ó[à[Ç[¯[[‚[q[b[\[R[Y[j[v[w[w[h[P[1[[[ ZúZìZáZÙZÁZ–ZiZIZ&YïYµYƒYdYbYƒYÅZZlZÐ[[5[B[<['[ [ [5[X[o[v[|[[¯[Ö[ö\\:\i\˜\»\Þ\ý]]F]]Â]ð^^,^3^]Û]°]¥]­]¸]Ç]Î]Ò]Û]ã]ë]ö]ÿ^^&^?^T^g^s^z^}^^ƒ^…^z^j^\^L^<^,^&^$^ ^^^ ^ ^ ^]ÿ^^^1^X^…^­^Ä^Ä^½^¿^Ã^É^Î^Ú^ê^÷_ _^þ^ê^Ð^·^¦^—^™^¡^³^À^Ó^â^ò^ü^ü^þ^ÿ____^þ^ø^ò^í^ä^ß^à^à^Ü^Õ^Í^È^Ä^¼^·^¬^¦^ª^¸^Ê^Þ^ï___+_:_N_[_o_ƒ_”_¢_µ_Ç_Ù_ê_ö```.`>`K`V`Y`_`b`l`i`n`i`j`i`h`^`Q`B`:`.`` `````` ` ``` `#` `%`=`Q`g``†`„`œ`´`Ë`Ì`âaa aTaca;asaBa)aJa aa2a;`ð`t`ÇaÓaL`bca²`P``Š`ûa¿aŽ`h_ì_Î``âacMc}bib`é`êb_bC`©`y`®`_Å_Ý_½_{__©_²_Ê_ª` aYbUba¾a‘aÒa¸`æ`•`_`_``‚`’`Ÿ`©`®`µ`Ã`Ñ`Ù`Ú`Ü`ä`è`î`ó`ýa aa(a7a;aKaXa_a^aTaCa4a`ú`À`€`5`_ë_Ú_Õ_Þ_ê_Ý_ã_ç_å_ë_ÿ``(`;`>`H`\```m`b`H`)`_û``1`.`;`[`s`l`€a2a `Ôa a`÷`ñ`é`óaa `ý`ý`öa"`Ü`¨`‚bdÊfÜbA_^ ^"^K^^/]ù^^]Ñ]™]Š]n]B]\é\ž\a\-[ü[Ã[‹[G[ ZÜZÍZ¾Z¦ZƒZsZtZZŠZ“Z¤Z·Zë[D[ˆ[Â[î\3\\K\}\É\M\\\G\•\™\«\ã\è\î\¿]I^q]\\ý]*]]\÷\ì\é\Ü\Ý\à\ç\å\å\Ù\Î\Ã\Á\Â\Õ\ï]]5]S]j]“]Î^^B^[^d^`^Y^L^-]ý]Ä]‹]S]-]\Þ\¸\ \\Š\\\£\­\°\°\Á\½\¤\ž\£\®\À\Ò\Ô\Ò\Ý\à\ð]]'])\â\g[û[¬[}[q[‡[¨[Ö\\\\\'\S\Œ\£\b[ÿ[Æ[‡[M[([ZàZœZ£Z½ZœZ·[)[g[¥[š[P[H[h[~[‡[ƒ[}[{[w[u[|[[¥[·[¼[½[º[¹[º[·[¯[¤[™[“[“[™[š[œ[¡[©[°[·[º[½[Â[Ð[Û[æ[ë[÷[þ\\\\ \'\(\+\0\5\=\I\X\j\s\\‘\™\ \¨\©\­\®\®\­\¯\¶\½\Á\È\Ä\Å\Æ\Í\Ô\Ü\î\ø] ]]2]A]D]@]0]]]\ÿ\ó\ã\Û\Í\É\Ê\Å\Â\¿\»\®\¢\”\Š\~\u\w\v\i\Q\2\\\ \[ò[ç[Û[Ö[Ò[Ì[Ç[¶[£[‚[s[n[_[G[7[)[[ Z÷ZáZÉZ®Z™Z‰Z}ZqZgZ_ZTZKZGZ=Z;Z?ZHZWZcZoZ{ZƒZŒZ•Z¤Z®Z¾ZúZòZó[ [[[[[ ZòZØZÃZ¹ZºZºZ¼Z¼Z½ZÀZÁZÃZÊZÖZåZïZù[[[ [ [ [ZùZéZÙZÊZ¼Z¯Z§ZŸZžZžZ¨Z©Z­Z¯Z®Z¯Z°Z²Z³Z´Z¹Z¾ZÆZÑZàZï[[[ [1[C[U[m[„[ž[±[Æ[Õ[å[î[ø\\\\\/\?\S\d\w\‰\¡\¾\Ý\ø]](]@]O]d]o]‚]‰]—]—]–]‹]†]|]x]t]w]w]€]ˆ]Œ]]m]k]€]£]Æ]è^ ^(^4^6^,^^(^7^R^l^^‰^“^”^“^^^‘^^ž^¨^±^¯^¬^ ^•^Š^•^‘^ˆ^‡^Œ^”^^—^Œ^€^y^v^~^‰^›^±^Ø^÷__&_2_A_Z_u_Œ_¦_´_¾_Ã_É_Ï_É_º_«_¸_Â_½_²_¦_˜_ˆ_|_s_h_d_c_a_d_i_j_p_u_w_w_y_|_|_{_v_m_c_V_J_<_0_$___^ý^ø__ _"_-_/_/_._3_0___^í^Î^·^§^“^‡^|^w^o^r^m^l^g^d^d^g^X^P^8^)^]ù]ß]Ë]Á]¬]¡]•]p]q]T]L]8]1])] \ÿ\ã\Æ\œ\„\|\h\n\Y\†\7\»[Æ\«_Zc¶fëeA^V^¿gZc^2Z`Y¢ZXXW£WW/VèVâW&WsXX˜X}X¢XXÇXãY>Y3YBY|YYY•YšYÀYöZ ZFZIZHZZYâY”YaY0XúXÓXÃX«X†XuXhXhXQXFXZXdXmX{XtXvXpXSXLXEXWXLXKXMXrXÇX×XÜX¸XŠX…X™XŽX‰XmX+XX"XDXMXcX¯XñXßX©XPX…Y$YuYÈZZVZyZ½[c[y[ZöZò[ ZïZÉZ¢ZeZwZòZæZrZsZÍ[k[ZÙZ©[Q[rZÈZZÑZóZôZÆZÂ[C[µ\[£[C[¢[Ó[¼[þ\¤]+]*]]]q\â\ß]N]f\Õ\€\²\¨\œ\Ç]|]Ù]¤]¸]Ý]]"]],]”]î^]è]™]s]p]]\ç\¹\\=\\ž\Ö]o^^Y^Æ`“anaâcqcàc±cqb™baÀasagacapakamaaa^apa‘a¯aÅaÖaÝaçañaùaúbbbbb!b)b4b6bAbJbPb^bebkbpbvb†b•b§bµbËbÞböcc0cHcYcjc~c•c®c»cÊcÜcçcëcòcõcöcòcòcícðcìcðcícõcûdd dd#d(d/d3d7d7d4d.d*d&ddddd dd dd)dFd\dpdvdsdfdWdDd4d&dddcýcôcícàcÑc»c¦cc™c—cc£c¥c¯cµcµc®c¥c›cŠc~cocfc\cPcb+baüaáaÊaµa¡a”a‡a}arafa]aMa=a)aa`ò`Ú`Â`ª`‘`x`e`Q`<`$`_ÿ_ç_É_¥__Z_2_ ^æ^Â^–^i^<^ ]Þ]¸]›]ˆ]‚]]€]}]j]M]+]\ä\»\Ÿ\µ\é\í\ó]]•^^¹__s`c_ò_`_Q]·\ñ\ì\c\e\÷]u^^n^e^–^©^b]ñ]{]*\Ï\{\ª\›\°\Ý\–\†\­\\;\X\K\#\@\[Î[è\[ï[¯ZòZ)YôYbXÕXXúYÍZg]–]\K\][¯ZÉYœYKXyXvY¬YDXÑYnYÌZ\Y]°]^Va`”_Ÿ^½]¼]à_0_¶`,a‡af`«`f``œb&b5`é_z]²\Ì]T_a'_ú^ù^Ï^û_ _Æ_p^ï^‘^I^]Ì]¦]©]«]¦]¬]ª]­]«]·]¿]Ó]â]ï]î]ì]å]Û]×]Ó]Ì]Ì]É]À]¹]µ]°]«]©]®]³]³]µ]´]¼]¹]¼]¿]É]É]Í]É]Î]È]Ð]Ò]Û]ã]î]ø]þ]ü]÷]ï]ç]Ò]Å]·]­]£]š]‰]x]f]F]\õ\¿\†\S\>\5\\[ò[ù[ü[õ[ù\\ \ \\\\ [þ[ü\\\\\[æ[È[°[œ[™[“[…[p[i[i[c[p[}[u[a[G[:[/[[ZêZÝZ×ZÅZ¡ZwZVZ2Z YÛY±Y—YžYÈZZ@Z‰ZÔ[ [5[[[l[\[:[I[j[{[[Œ[‘[¨[Í[ú\!\3\O\~\®\×\ý] ]Q]]Ã]ë^^,^C^E^6^ ]Ó]À]Ì]Ð]Ô]Õ]Ù]æ]ï]÷^^^^.^I^`^v^„^^“^–^—^“^ˆ^x^i^X^G^=^9^5^7^3^.^%^^^^^#^0^M^~^¬^Ð^ê^ï^ç^è^ë^ì^ô^ú___&_-_'__^ë^Ò^¾^·^¼^É^Ï^Ý^ë^ø___ _ _ ___ _ _^ÿ^÷^ö^÷^õ^õ^ò^î^ñ^ë^ä^Þ^Ø^Ó^Ò^Ó^Ú^ì___._D_Z_i_|_Ž_Ÿ_²_Æ_Ô_å_ö` ``4`C`S`_`m`r`z`~`„`„`Š`†`‰``Œ`Œ``y`s`g`S`C`<`<`3`+`*`!`````+`:`=`A`A`C`Y`f`u`“`´`Ã`Õ`Û`Ï`Ù`øaa`÷`óa a a.a"`é`é`Æ`¦`¨`È`Ñ`°`xaHcc,cGb`Ç``m`Ž`u` _ü_ß_ò`I```†ab,a#`~a-`¿_ì_ò_ç_«_—_y_e__”_‡__Š_½`¦b€e?cUa{`°`i`^``#`C`h`x`‰`˜`ž`¥`²`º`¿`Å`Ï`×`Ý`ã`å`ë`ð`úaaaa%a7aBaMaXaWaXaTaEa7a(`ÿ`Ì`†`<`_ÿ_ÿ_ú` ```&`/`=`;`I`K`V`o`d`c`e`g`v``s`D```)`9`C`;`<`J```â`ò`æaaaaaa`øaaaDaa0`òa`ÄaYcŒeSdpa)_¬_p^Ã]§]Ä^]Þ]Ï]Ç]i]])]/\ü\³\j\-[û[Ë[Ž[JZìZ¹ZŽZoZ[ZLZ9Z0Z6ZCZLZbZwZ˜ZØ[3[ˆ[Ë\\2\j\n\r\|\:\\ \*\h\˜\­\È\¿\ô\ª\¿^Í^p]I]-] ] ] ]\û\ï\î\é\æ\å\é\ß\Ó\Ã\Â\Ç\Õ\í]]4]T]n]¢]Ù^^?^Y^_^W^D^!]ø]Æ]”]i];]\÷\Ù\»\§\š\‘\Ž\‹\…\\‚\\…\|\n\p\y\\«\Ã\Û\â\Ý\à\æ\è] ]%\í\][í[š[p[i[v[‘[Ë\ \1\-\\\-\c\^\[Ç[¦[~[Q[4[![ZÜZü[7ZþZØZö[ [Q[e[y[•[²[±[¤[“[Š[…[[|[[“[«[Å[Ñ[Ò[Ñ[Ð[Ï[Ë[Â[¾[¸[¯[¬[¬[©[®[³[½[¼[½[½[¾[Â[Ë[Ù[ä[ï[ü\\\ \\\ \'\*\(\,\4\=\K\a\r\‡\ž\¡\¥\­\¯\·\¼\¾\¾\¼\À\È\Ì\Ð\Ó\Ó\Ð\Ï\Ñ\Ø\ß\è\ô]]]*]2]2])]]] ]\ÿ\õ\é\Ý\Ô\Î\Í\Ë\Ë\Ç\¾\²\¦\Ÿ\\‡\\~\|\p\S\5\$\\\\[÷[ñ[è[ã[Ý[Î[º[ [[‹[„[h[W[K[?[.[[ ZòZÚZÄZ²Z¥ZšZZ„ZzZoZfZ\ZWZSZYZfZrZƒZ‘ZšZ£Z«Z¼ZÂZè[R["[[![[&[*[2[0[[ZëZÙZÓZÕZÙZÙZÜZÜZÙZÚZÛZâZìZù[[[[&[*[/[-[&[[ZùZèZ×ZËZ¾Z¶Z±ZµZ¸Z¾ZÀZÄZÉZÍZÏZÖZØZÜZßZäZéZù[[[$[5[D[[[s[Œ[ [¸[É[Ù[æ[ò[û\\\#\0\;\H\V\e\p\ƒ\’\¬\Ç\ä\þ]],]E]Z]s]„]›]¢]±]²]¹]±]¯]§]¡]œ]œ]œ]¢]©]«]Ÿ]‡]€]”]º]Þ]ù^^5^G^M^J^D^J^Z^w^…^Ž^—^—^”^^^Œ^—^¢^¶^»^Ä^º^²^ª^¦^^–^^^^§^³^±^£^’^ƒ^ƒ^„^“^ ^»^Ù^ð___!_+_9_X_s_˜_°_Ç_Ô_á_ð_ù_ô_ç_à_ì_î_æ_Ú_È_³_ž_Œ_ƒ_~_}_u_r_v_t_{_~_€_ˆ__–_“_™_—_“_‰_|_o_\_S_D_1_______!_8_C_K_H_L_D_@_7_-_^ú^æ^Ì^»^«^š^^Ž^‹^…^}^u^o^p^k^j^b^X^L^7^#^]þ]ã]Ð]Ñ]½]­]]€]z]`][]B]6]%]\ø\Õ\Ë\‹\™\b\ª\Q\´\E\¡\j\u]ðc-gqjàcT^ bçh¿dÆ[ÿYö[±X¸X“XWWVóW2W“W—X X:X|XˆX«XÚY YTYLYTY‹Y}Y€YžY¯YåZZ4Z#Z-ZYöYìYÇY©YkYXéXêX±XgXWXAX9XBX[E[>[=[([ZúZðZñZóZôZôZõZòZòZðZòZø[[ [[-[:[D[J[M[N[G[<[)[[ZóZáZ×ZÏZÊZËZÏZÓZÝZâZëZðZ÷ZöZþ[[[ [[#[/[8[F[X[o[‰[¥[¼[Ò[â[ñ[ÿ\ \\(\1\;\H\P\[\h\w\„\•\§\Ä\×\ñ]]]2]J]c]}]“]©]¸]É]Ï]Ù]Õ]Ù]Ò]Î]Å]Ä]È]Ë]Ì]Î]Ä]­]œ]«]Ð]õ^^.^C^Z^f^s^w^y^…^’^›^Ÿ^ ^š^™^^‘^š^©^¶^Å^Í^Ò^Ò^Ó^Î^Æ^º^°^±^´^½^Ë^Ð^È^µ^ ^–^”^¢^º^Î^ä^÷__ _ __*_K_m_‰_®_À_Ü_î`` `` `````_ý_ç_Ë_·_¨_ž_™_’__Œ_Š_Š_Œ_Ž_’_™_£_­_°_°_¨_£_–_Š_€_o_c_J_4____"_+_3_B_W_\_a_[_^_Z_Y_R_?_+_^ú^ä^Í^½^µ^­^¤^Ÿ^’^†^|^x^v^s^m^n^_^V^C^:^!^ ]þ]í]è]Þ]Á]À]¡]›]~]p]b]E]<]]\Ø\ß\™\¼\t\ž\z\”\Œ\j\…\`\›`žh3ihzb3_ÚcÉgš\âY„[þY¯X¡W€WAX@WxWWðWþXXIXgX™X‚XÍYYHYhYcYjYYyY¦Y¶YÒYØY÷ZZ Z'YßY°Y´Y†YjYHY YXÓXzXCX0XX X*XkX€X¸XÃX\X>XLX7X5X>X@XSXXX:XgX˜X¬X¿X´XóXûX‘XeXgX¼XðX´X8X_YXàX¼YY6YQYJY'YYDYoY“YƒY¯ZNZÖ[[/[Q[q[—[l[!ZïZ¹Zú[¨[¨[«[‘ZðZÃ[v[Ù[l[m[EZÇZ˜ZnZDZ[[[s[Â[¸[x[‹\!\p\!\_]_]È]Ç]p\Ç\Ñ]®]é]š]Ê]‘\\W\Ê\ú]¤^¥^¾^z^"]ä]º]œ]ù^ƒ^œ]á]}]á]Ä]X]I]C]†]u]6]ž]½]^]|^^¾_._¡`ac,cjbãb®blaÎaƒaxaqaaa~aa~aŽa¯aábbbb!b%b0b5b?bLbTbfbub„bb“b™bb¥b®b¸bÅbËbÔbãböc cc&c5cCcYcmcŒc¥cÁcÌcÉcÉcàcõddd ddddd&d0d+d(d:dGdMdQdRdXd^dodydˆdˆddŒd“dŽd‰dd|d~d|d~d€d„d‡dd‘d¡d©dµd´d³d¡d”d‡d‚dxdldadQdDd5d+d"ddd ddcýcùcücþddd ddcþcôcßcÊc»c°c®c«cžcc€cscgcec\cOc;c$cc(c*cc ccbúbõbèbÙbÈb´b§bŸb™b‘b†b{bnbxbbbTb:b%bbaïaßaÓaÉa¿a³a¨aœaa‚awaeaWaCa/aa`ï`Ý`É`°`•`v`W`5` _è_¿_•_m_E_^ô^Ë^¤^v^H^]ç]¸]“]v]Z]M]@];]1]]\è\Ä\¤\Â\ç\¯\š\¯\ö]³^o^v^³_"^Ú_2__e_Š_H]î\\‹]2]l]¡]Ö^^^C^“^E]è]£]Q]]']\ç] \¶\†\¥\ˆ\&[»[Ò[à[Å[¦[—[ó[Õ[,Z_Y¹Y=XÐXËX¼Y‰\D]´\.Z#XlY‚\ \(Y¬W W‰XjY`Y™Z.[Ô]\Ý\­];]^¡``m`†`£`1_Û_¡_+`·a‹`·_ž^ì^_ÁbbX`Ù_O^Ä]Ö]Ý^û_‚_(^þ_^ÿ_´_æ_V___^¶^É^‚]à]©]·]°]¹]¾]É]Í]Õ]Û]æ]ó]ÿ^^ ^ ^^]ø]õ]ð]ó]î]î]ì]ì]ã]é]â]ì^^]è]è]å]í]î]÷]û^ ^ ^^^^^^^^^ ^^^]û]ò]å]Ú]Ð]Ë]Ã]º]¨]•]}]\]0\ý\Ç\—\s\j\L\8\.\*\,\(\\+\/\9\<\;\6\7\1\4\0\/\X\i\Q\6\\[þ[ý[÷[ã[Î[»[»[¶[©[ž[£[[[ƒ[k[F[ZìZÉZ¯ZžZ™ZŒZpZOZ0ZZYôYûZZEZkZžZÚ[[%[>[l[¢[½[¯[¥[©[¬[±[Å[ã\\0\V\f\\›\Á\ß]]&][]¤]Þ^ ^/^C^P^R^G^1^]ù]ó]÷]û]ü^^^"^%^)^$^,^;^R^l^^˜^¦^¯^¶^¹^¶^«^œ^^}^m^a^b^f^d^_^Z^T^S^T^Y^e^u^‡^¤^Ä^â^þ__,_8_;_8_4_-_'_(_6_M___k_f_Z_K_5__^÷^ç^Þ^ã^ò___,_5_7_7_9_=_B_A_;_1_,_-_0_5_/_*_-_*_'_*_&_&_%_&_'_)_4_G_W_l_…_š_´_Ð_â_õ` `!`5`N`_`u`‹`¥`µ`Æ`Ð`×`ß`ä`ë`ï`ô`ñ`î`ì`ê`æ`à`Ô`È`¿`¶`§`›`“`ˆ`{`s`l`d`^`V`U`Y`]`c`h`j`s``Œ`™`¥`µ`Ä`Ì`Ö`Ñ`Ó`à`ì`ñ`ö`þ`ûaaaa`é`Ë`¼`¶`§`¢`’``‹`„``{`f`>`9`0``_ü_è``` `)```,`_Þ_ü`"```_Û_½_¤_u_f_Z_@_”`›a#a\aha`_s_t_Á_ô```` `$`N`m`†`”`Ÿ`¥`­`·`»`Å`Ì`Ñ`Ö`Ù`Ü`ä`ë`î`ýaa aa'a6aHaRaVa[a\aXaVaSaNa5a`¼`x`R`.`,`9`H`T`e`|``Š`‰`Š`™`˜`—`‘`“`¥`²`¿`Ä`Ã`»`¸`Â`Ï`Ù`Ü`ç`ð`õaa)a(aa1a$a4a!a(aa1a8a\7\;\Q\m\\¦\³\É\Ô\å\ð]]1\ü\o\ [ð\\\+\/\D\Z\o\|\\s\H\M\R\$[í[¦[k[,[,[d[:[B[p[m[x[’[q[^[[§[Ð[ð\[ü[Û[³[Ÿ[[‹[‡[[¡[¿[Ý[ê[î[í[ö[ù[ø[ò[ó[ù[õ[Ý[Ñ[×[à[ð[ó[á[Ù[Ù[Ù[Ø[Ú[Õ[Ó[Ø[ä[ð[û\\ \ \\\\\$\(\0\4\A\Q\m\…\‘\˜\¡\®\¹\Î\å\ð\ó\ñ\ð\î\ì\ì\æ\æ\á\ã\å\é\æ\â\ß\Ú\á\ë\÷]]] ]]]] ]\ú\ì\ä\Û\Ú\Ü\ß\Ý\Ù\×\Î\Ä\¶\«\–\ƒ\•\¢\“\r\Q\F\C\?\5\)\\\ [ÿ[î[à[Ë[µ[²[­[˜[Œ[[q[b[Q[B[/[[ZøZìZâZ×ZÊZ¼Z³Z¨Z›Z“ZZ‘ZZ¨ZµZ¹ZÆZÌZÖZäZê[ [[[.[0[7[A[N[J[L[C[2[[[[[ [ [ [ [ [[[ [[[&[4[D[P[][h[n[k[a[U[F[0[[ ZüZðZëZæZéZîZóZý[ [[[["[$[.[4[:[@[J[T[a[p[[”[®[Å[Ý[÷\ \\$\5\B\H\K\V\_\l\y\Œ\\²\É\Ý\ì]]]$]6]O]l]‰]£]¸]Î]Û]é]ñ]ô]û]ù]ù]ð]î]ï]ó]ñ]ô]ì]Ü]È]Î]å^ ^%^<^S^g^z^Œ^•^^¤^¥^®^¯^°^¦^^œ^¤^²^Å^Ñ^Ô^×^Ø^â^æ^ì^é^ä^Þ^Ø^Ú^ß^ï^ñ^ç^Í^´^¬^´^Ð^â^ô__ __ _ __(_V_w_—_º_Ë_à_ô`````3`=`@`9`,`_ñ_Ø_Ñ_Ò_Ë_¾_²_¨_¢_›_œ_™_Ÿ_¤_±_»_¼_Á_À_½_±_¦_š__€_q_`_S_I_Q_Y_b_e_g_l_u_{_|_|_t_s_h___V_<_-_^ø^á^×^È^¿^¸^±^¢^–^„^ƒ^v^x^n^k^e^b^O^E^8^'^ ^ ]ü]ÿ]ë]Ù]Í]¯]¨]‡]‚]Z]R]#]"\ð\ê\¹\²\®\˜\±\‰\¤\£\…\[ÿ^Ühzh·j_g;aNa`il`†[d\kZùY"W4WŠZ[X•W\XXX˜XªXHXfX¢XÎYY`YmY’YtYrY|Y Y¶YÆYáYéZ%Z4Z*YþY×YÅY’Y‚Y[Y Y&XÕX‡XCX9XIXX\E\N\G\J\Q\]\`\_\[\b\‰\ \’\k\G\0\&\!\\[û[ç[Ý[Ú[Õ[È[»[¯[œ[[‹[x[N[ZçZ½Z¢Z—ZƒZeZEZ+ZZZZZ'ZGZgZ’ZÀZé[[6[x[¹[Ï[µ[¤[«[À[Ñ[å\\ \:\Y\q\\ª\Æ\Þ]]*]X]—]Í^^/^K^Y^[^T^?^ ^^^^ ^^^,^6^6^<^4^;^H^Y^r^…^š^­^¼^Ä^È^À^¼^­^ž^^~^y^|^}^‚^^m^h^k^q^~^^ž^´^Í^ß^ø__3_M_^_e_b_\_Q_E_A_K_^_r_‚__y_m_^_N_6__^ö^ü_ _$_>_P_Y_U_U___e_d_[_T_L_E_H_O_N_K_H_H_G_E_L_M_N_L_H_H_Q_^_k_{_Ž_¢_¼_Õ_î` `'`>`R`e`}`–`¬`Â`Ø`ñaaa a,a6a@aDa@a;a5a,a'a"aa `ú`ê`Û`Ó`È`º`«`ž`˜`“`‡`€`ƒ`„`‚`†`‹`Š`”``§`²`½`Æ`Ð`Ô`Ó`à`è`ä`æ`é`ð`ýaaa `ý`ì`ã`Ø`Ü`Õ`Ä`¾`·`²`®`«`ž`œ`œ``{`V`5`$```Xa1a=anaZ`N_¼_È_ÿ`` _ø_ê_ê_Ú_Ê_½_¡_‰_w_q_òa{bãaÒ`Ì_í_w__­_ñ_Ô_Å_Î_Ø_â_þ` `@`Z`w`‘`ž`£`­`µ`¿`Ç`Î`Ñ`Ó`×`Ý`â`é`î`ûaaaa-a9aIaYabadaiagafaga\aQa/`þ`°`v`[`L`D`G`[`f`z`ˆ`’`¨`£``¢`¦`¾`È`Ë`Ø`ß`á`ß`ã`ñ`ó`÷a aa#a0a3a9a/a=a6a=a0a2a1a4a=a4aGaIajaa_aZa@a6aVaÂbhc¯fcÄ`_%` ^Õ]¡]F]a^^Ž^¬^\].\¡\T\[é[Â[o[Z¯Z-YÂYpY8Y'Y;Y`YˆY«YËYêZZEZ–Zî[D[®\\e\¤\Ú]]\â\Æ\·\‚\W\(\]h^_]M\û\æ\¥]]’]m]] ]7]A]-]]]]] ] ]]\ÿ]]]]]]$]6]O]l]{]]¶]Ö]î]ö]â]×]²]‰]h]I]5]#]]] ]\ò\Ö\½\§\‘\|\k\S\?\=\6\.\/\I\j\“\¯\±\½\Í\ç] ].].\ö\s\\#\Q\z\Š\‚\—\ \§\­\À\Æ\Å\Ë\¹\\;[Ý[Ž[N[,[S[e[š[·[Á[ß[Ç[˜[™[®[Ã[Û[ê\\[ø[Ì[³[š[‹[‰[•[§[Å[å[ø[ö[ù\ \\\[÷[ì[è[ê[æ[æ[÷\ \[ñ[ë[ã[ã[Û[Ù[Ó[Ó[Ó[Ù[Ú[á[ë[ú\\\\\\$\'\'\'\0\5\H\a\w\„\“\œ\¡\¿\è\ü]]]] ]]\ú\ð\è\ç\é\í\ï\ð\à\Ð\È\Æ\Õ\å\ó]] ]]]]] \û\ï\å\â\á\ä\ç\ë\ê\å\Û\Í\À\­\£\©\½\Ã\¨\}\_\V\U\L\F\9\.\%\\ [ø[æ[Ó[É[Ã[³[«[[Ž[€[r[d[S[A[/[![[ZøZïZãZØZÏZÄZ»Z·Z¶Z¹Z¿ZÈZÊZÑZÙZàZéZõ[ [[[)[3[^[M[F[T[O[T[L[<[+[[[[[!["[&[$[&[&[%['[/[9[I[W[j[x[…[Š[…[x[f[U[E[7[*[[[[ [[[[[&[0[6[<[D[P[U[a[h[o[v[~[‡[’[ž[­[Â[Ø[õ\ \!\-\9\E\M\P\\\h\y\Š\£\¸\Ï\ä\ö]]]]*]>]W]o]‹]©]Ã]Þ]ð^^ ^^^ ^^^^^^^^^]ÿ]û^^ ^;^M^a^v^Œ^š^©^³^¹^¾^¿^½^»^·^²^¶^Ä^Ö^Þ^å^ã^ß^à^ð^ý_ _ __^ü_____^í^×^Ë^Õ^ï____!_'____9_h_‡_¦_¿_Ñ_à_ð````0`R`\`d`Z`F```` ` _þ_è_Ú_Ç_¿_·_±_°_¸_½_Æ_É_Ì_Ñ_Ï_Ñ_Ã_»_²_²_­_Ÿ_š_–_˜_œ_™_š_“_‘_‘_”__”__‡_…__u_p_X_J_+_^ü^ó^à^Ö^È^À^©^£^^Ž^€^^t^t^k^d^[^W^B^B^&^#^^^]ö]ò]Ê]É]¢]ž]y]h]H]%]\æ\ë\·\Â\¡\¬\½\™\³\m\ñ\4]“d"i0h‡h\e¤cii\e$_"^y[X¡WÒW"Z²Z>WïW¼X†XœYXãXX¬YY"YSYTY]YfYrY•Y Y·YYÈZZZZ YìYíYÈY¬Y…YRY%YXÁX‚XwXXrXlX\XkXvXgX[XHX+XHX^XTX]XDXZX­XÐXëYY"YOYYY(XÎXÈX§XÉYd?dQdxdƒd~d‡d•dŸdžd¨d§d¬d¨d£d•d•d›d­dºdÇdÐdØdÙdÜdÙdÖdÙdãdèdõdþdýedýdþdûdüdúdûdødôdídédädÝdÒdÅd°d dŒdƒdtdkdad[dSdNdJdMdPdRdPdOdXdXdWdUdQdMd=d0ddddddcücìcàcÖcËcËcÈc°c§cccvcfc]cOcCc5c'ccbîbßbÖbÌbÄb¶b­bšb£b–b‚brbbbLb:b'bbbaøaïaåaÙaÔaÍaÄa»a­aŸa‹axa`aQa?a)a`þ`Þ`¼`“`k`>`_ï_Ã_œ_l_>_^ä^´^‚^R^]è]¹]„][]1]]]]\ø\á\Ê\«\®\ø]\é\Ý]]s^v_)^ú_0^¢^½_ ___&_I^)][]Þ^b]×]¦]Ü^$^´^ý^¦^C]ð]¢]k]6](\ý\»\>[Ø[œ[n[L[ZàZÜ[[s[á[Ý[t[Z±ZpZYuYò[&]\ÆYíXµXW—XZ×[X¿X X X²Zý[…[l\o]1]}^^¨^Ø_d_ç_y_>_?_›_Æ_Ë_é_¨`&`i]¶\\|]Œaa²_Ç_^¨^•_„_^æ_r_´_µ_Á_ý`_Š_%^û^Ç^^¼^û^…]ì]À]Ã]Ä]Å]Õ]Û]ä]ð]ú^^^^$^/^2^.^&^(^!^"^^"^ ^%^ ^"^^^^^^^^ ^ ^(^-^6^B^N^R^U^N^F^D^=^6^4^,^+^$^^^]ö]î]ì]é]ã]Õ]¿]£]†]Y]1\þ\Ì\²\¤\…\n\Z\R\K\N\M\I\Q\[\Y\Z\g\x\}\€\‚\’\²\Ä\Ã\£\r\H\<\;\:\9\.\ \\\\[ê[×[º[[’[Š[y[T[ZÜZ®ZŠZnZRZ6Z(Z%Z'Z)Z*Z>Z^Z~Z›Z´ZØ[[W[™[Ä[Á[§[¤[³[Ï[í\\+\H\a\{\\£\²\Ç\ã] ]:]h]š]Ç]ø^2^T^Z^W^P^C^/^"^!^%^'^&^*^0^6^;^?^B^R^b^u^„^”^£^µ^Ë^Ó^Ú^Ó^Í^¼^©^š^Œ^…^‹^Ž^–^Ÿ^˜^”^“^—^ ^®^½^Ó^ð___-_I_n_‰_–_›_–_Š_w_h_h_v_‡_š_§_¤_š_‹_{_h_E_%__"_9_V_r_}_}_|__ˆ_Š_Š_‚_t_m_k_f_h_g_g_g_h_l_n_p_o_r_v_x_w_{_‡_˜_§_»_É_ß_ý``7`Q`l`‚`—`®`È`áaaa7aLa^ana€aŒa“a•aa‰a€azapaaaQaFa4a"aa `ü`ô`è`Ý`Ð`Ä`½`°`£`¥`¯`±`·`¼`Å`Ë`Ò`Ù`Þ`ê`ð`ù`ÿ`õ`ñ`ó`ô`õ`ûaaaaa`ù`ç`Ù`Ç`¼`¸`­`¦`®`¥``”`ƒ`s`_`N`6`1`'`-``2`‘` a4a¯aH`¿` _ç_ô_ß_å_û_õ_í_Þ_Ä_¡_•_}_q``úaÛas`Ÿ_“_V_–__Š_–_Ç_Ö_Ö_ä_ñ``!`J`n`‹``¦`°`µ`¿`Æ`Ó`Ù`Ü`Ü`à`á`ä`ï`øaaaa'a9aPa[ahapapayaxa|a€a|a\a4a`Ã`‘`y`{`{`†`™`¥`¶`½`À`Ñ`Ö`Ø`Ù`Ó`×`ë`ù`ýaa aaaa!aa*a/a4a6a?a`>`I`M`@`5``_ñ_ß_Ô_×_Ö_Ö_Ù_Ø_Ô_×_Ý_ã_ã_â_ã_å_é_ç_ä_ã_ã_à_Ú_Ñ_Ç_Â_¹_¸_»_º_·_­_§__—_‹_ƒ_u_f_H_9__^õ^ì^Ô^Í^³^¬^š^“^‰^†^z^z^p^t^g^i^[^R^O^6^:^.^/^^ ]ð]Ô]¾]­]]v]o]>]7\þ\ù\â\Ñ\Ø\´\Ú\º\ê\’\Ë\3\™a¦jti,hlhVfµgöd bËc¿[óW²X V^J^1^:^K^<^S^M^ ^9^%^L^ú_t_7^Ö^}^F^X^q^Œ^é_)_<_^û__)_T_Š`a6aÖaìaÀavaXaIaWaUajawaƒaa°aÍaôbb9b[bzbbžb b©b®bÁbÕbæbøccc'c1c=c?cCcJcUc_cfcucƒccžcºcÒcécødd$d9dLdkdwdzdldedkdtddd§dµdºdÅdÆdÏdËd×dÓdÔdÄd¹d²d·dÇdÖdÞdædïdödúdýeee ee$e/e8e:e;e:e7e1e+e,e'e)e%eeeedÿdðd×dÆd³d¨d™d’d‰d…d{dwdud|d|d{d~d|dƒd‰d…d†d€d}dpdgd[dVdSdPdRdKd:d)ddcòcìcûcîc×cÇc·c¥c—cŒcwcgcYcGc5c c býbõbçbÝbÌb¿b²b¿b®b bb|bgbVbGb;b.b#bbbaÿaõaðaèaâaÓaÈa²a¢a‘a€amaYaDa.a `ê`Á`˜`n`E` _ö_Í_Ÿ_r_A_^à^«^u^>^]Ô]¡]q]E]$]]\ú\÷\ä\Ó\¼\²\Ï\ì]]]™^e_‚`K_ç_Ù_<_:_-^â^î^ò_7_5^á_C_¯^}]¥]Ê^^å_D^Â^Q]ã]–]y]-]\Ø\{[Ö[RZýZÀZ´ZZŒZÊ[G[„[Á[‰[P[ZôZîZ&Z [ä]P]/ZpXcX3XWRW©Zj[mYX8XhYƒ[‰[œ\1]±^]ò^‰^ò^Ø^ñ_M_^î__™`@`…_i^£`€a:]ö\@[Õ\¦_0`^Ý^¼^ü__·_7_…_ç_×_þ`5`I`_„_ ^Ç^²^ð_Ð_•^”^]Ý]Î]Ó]Ó]Ø]â]ì]õ]ú^^^ ^.^9^;^C^B^C^;^>^8^;^6^>^:^>^1^/^1^8^8^8^7^:^B^G^G^R^]^k^o^o^m^e^\^Q^G^>^=^8^/^$^^^]þ]ù]ø]ô]å]Ï]²]’]l]J]\æ\Ð\Æ\«\Œ\u\h\a\g\d\d\e\]\_\f\x\ˆ\‹\’\›\«\¿\Ö\×\¼\\d\T\X\Z\\\Z\Y\U\P\>\+\[ÿ[â[Á[¢[“[Œ[n[8ZúZÇZ–ZtZSZ;Z4Z4Z8Z?ZGZZZwZ–Z¯ZÎZõ[+[i[•[¨[«[¨[¶[Ê[é\\3\S\t\\ \¤\¤\¯\Ä\è]];]i]š]Æ]ð^ ^3^1^7^=^:^0^+^1^;^D^G^H^F^H^M^X^j^{^^®^¶^¹^À^È^Ù^á^é^æ^à^Ô^Æ^¶^ª^©^°^®^°^¸^·^°^³^Á^Ë^Ú^é^û__$_._C_a_„_¡_´_Á_Â_¼_¬_ž_”_š_§_³_Â_Æ_¾_¯_¡_’_v_V_L_V_l_ˆ_˜_™_˜_›_£_ª_ª_¦_ _•_Ž__Ž___Ž__”_’_“_˜_˜_š__Ÿ_¦_³_Â_Ó_Ú_ä_÷``0`Q`o`‰`£`µ`Í`çaaa8aRana‰a£a»aÍaÛaâaâaÝaÕaÇa¼a±a£a–a‡auahaSaBa4a*aa a`ô`ä`Û`Ø`Ô`Õ`Õ`Ý`å`ì`ó`÷aa aaaa a a `ý`ýaa aaa a a`î`ä`Þ`Ó`Ê`Ã`º`¶`°`ª`¥`Ÿ`™`”``f`J`6`*`1`/`"`` `'`¿b bG`Î_ò_ç_ã_ã_à_á_ä_Õ_Ã_«_¡_†_Ÿ`4`H`D`v_ý_Y_o_‡_„_¨_¹_¯_°_Æ_Õ_å_þ``7`Y`~`˜`¤`°`º`Â`É`Õ`Û`á`â`ä`ç`ë`ð`þa aa%a2a>aUahawaˆaa–a˜a™a•a‹a‡afa9a `Ö`§``Ž`…`‹``«`È`Ö`Ü`á`å`ò`ÿa aaa'a#aa!a/a%a/a@aKaPaXa\a]aea]alaaaba[akarava†a„a˜a®a“aša…a†a¦aka~a¢a»aÏbaüb?b¾b…c¬bA^ÿ]ß]ø^^'^]\ª\F\ [©[JZÉZ4YqX©XWîX&X’XúYDY|Y«Y×Z ZLZZÕ[/[Ž[ö\F\Ž\Ñ]]H]P]I]6]\´\‡\[Ñ[Õ[š[à\_\}\¾]\ô\ñ]]]]]+]6]5]1]+])](]+]#]!]]"])]4];]P]f]l]k]…]š]­]¿]Ô]å]ð]ß]Æ]º]¸]¬]–]}]h]Z]K]7] ]\ö\â\Ò\²\•\‡\u\\\L\V\k\Š\¨\»\³\«\·\Ç\ã\ý\ù\ª\-[ø\\}\ê]9]4\ú\Ý\ã\Ë\¬\Â]!]U] \ \O\[Ø[µ[«[£[š[›[¢[³[Ë[Ý[ì[ü[ð[à[â[è[ê[é[ã[Í[¸[«[£[ª[²[Å[ß[ÿ\\.\G\L\\\^\J\%[ý[ñ[ø[ö[õ[ø[û\[ú[÷[ï[ì[à[Õ[Ì[È[Ì[Ó[×[Ù[Ø[Ú[â[ï[ú\\ \\\\\\\\\/\G\_\j\y\Œ\§\À\Ü\ô\ÿ]]])]*]"]]\þ\ø\ø\ö\ñ\è\Ø\É\À\É\Õ\æ\ù]]]+]6].]&]]]\ø\í\ï\ö\ý]\þ\ú\ë\ß\Î\Ë\â\ñ\ó\ç\Å\›\~\p\o\j\^\U\J\9\,\\ [û[ð[å[Õ[Ì[Ä[»[¬[Ÿ[•[„[t[c[T[J[?[7[+[$[[[[ [[ZûZõZ÷ZüZþZý[[ [[[,[.[=[y[X[O[][[[b[`[c[U[I[9[0[1[:[C[L[S[W[Z[\[X[W[Z[^[d[q[‚[’[¥[¯[¬[¨[Ÿ[’[‚[y[p[d[Y[N[L[M[T[\[a[j[q[{[„[Ž[š[£[±[º[Å[Ï[Õ[Ø[Û[Ü[Þ[ã[ò\\\+\9\D\Q\_\n\}\\¬\É\ã\û] ]]%]0];]H]Y]h]]—]µ]×]ö^^.^C^S^_^f^k^n^i^h^c^g^f^m^p^n^l^l^n^r^|^ˆ^™^¥^¸^¿^Í^Ñ^Ï^Ç^Ç^Î^à^à^é^ñ^û__ _ ___,_<_B_F_@_9_;_B_S_X_Q_:_^ü^û__3_C_H_O_L_J_C_A_U_z_›_¨_¸_Í_â_þ``+`?`U`g`w``~`Œ`Œ`‚`‹`ˆ`ˆ`w`h`L`5`` _þ_ú_ö_ø_ð_ê_é_ë_ò```````````_þ_÷_ë_è_ß_Þ_â_Ö_Õ_Å_Á_¹_³_©_¦_’_‚_m_Z_@_2__^è^Ú^Â^·^¨^¥^˜^•^‰^Š^^‚^^x^}^g^h^Z^S^L^<^5^^ ]á]Þ]­]µ]’]†]`]@]<]]\æ\ì\Û\ð\à\î\Ò\¾\±\^˜eJiÊhvi iJhcÃe^gà\ÕWËX#VØX“ZŒYŽWÎXnXèY³YFY?YaYRY…Y:Y)YHYoYŽY°YôYºY„YµY­Y¬Y£Y·Y¿Y»YžY—YvYWYYXåX½X†XhXSXWØWêWêX'XUXbX8X‰X¾X©XÚXØXÔXþXÙXðXíYYYµYvY%XÇXèY XÿY>Y(Y Y!Y4YY…YxYúZYØYòZJZß[<[¤[Ó[¦[Á[Ð[—[4[[^[v[:[_[\\)[|[FZéZŒZsZ Zì[[L[¼\5\[ü\Ê\‚\›\à\Þ].]Ú^®^´^J^^§^´^^~]º]k]ã]ê^^o^k^.^5^E^|^€^w^ ^c^õ`’`^_O__ˆ^Ä^§^ë_5_q__·_Ÿ_±_ó`'`>`B`c`âaJa‰a~aHaMaXadagaya‚a•a§aÊaçbb0bYbzbb±bÇbÎbÚbæbóccc$c5cCc[cqc€c|cyc~c‰c’cšcŸc­c¼cËcçddd)dFdXdpdŒd«d¶d¸d«d”d“d£d¾dÓdßdîdódýdödûdødùdídèdÞdÕdÖdädìd÷dÿee eeee(e/e:eGeUe_egeneqesekehe^e_e_e]e\eTeOeGe;e&edýdëdÙdÏdÁd¹d²d®d§d¢dŸd£d£d¤d§d¯d±d¶d´d¸d±d®d¦d›d‘d‰dˆdˆdƒd}dsdddMd-ddd%ddcúcècÕcÅc¯c cczcgcRc:c)cccböbèb×bËbÜbÊb¿b­bšb‰bxbhb\bObBb6b0b%b!bbb baüaïaÛaÊa¸a¬a™a‹aua`a?a`ð`Ä`Ÿ`v`L`'_û_Ï_¢_v_F_^Þ^Ÿ^g^-]ó]Â]–]g]@]] ]\ý\ï\ã\Í\É\Ä\î]]7^A_q``D``,_Ë_~_^Ä^ö^ý_ _I_R_°`&_^^I^M^”_5^á^X]ß]‰]Z]\Ø\¦\6[wZÕZ^Z(ZHZ:ZDZ¯[E[•[´[k[H[R[^[WZ [] ][\ Y¼X˜XŒWÿW'W²[\¬YöXµXÏZ%[É[ä\Â]­]³]ˆ^^‘^Ž^b^˜^®^È^á_G``b^¿^T`§aR_›]ä[æ\ ^^§^Ÿ^”^Ï^ï_8__÷`Q`[`¿a`Ì`_c^ô^Ü__O_Ý_d^¡^‚^8]í]Ø]à]Ý]é]é]ö]ü^^^'^5^F^K^R^P^W^T^W^S^X^N^S^R^M^G^G^H^J^O^V^Y^Z^\^`^h^s^{^…^^”^Ž^‡^^p^d^S^L^B^;^.^$^^^^^]ý]ò]Ú]À]Ÿ]{]R],]\ö\ë\Î\«\”\…\}\€\\y\s\p\q\z\Š\š\œ\™\¢\³\½\Ó\×\É\¦\„\r\r\w\~\‚\\–\\x\\\<\ \ [ï[Í[­[–[}[Y[&ZêZ°ZƒZaZMZBZBZEZOZ^ZsZZªZÃZßZþ[+[T[x[[£[­[Á[Ý\\0\V\€\œ\©\¦\š\˜\«\Æ\ï]]E]v] ]Ç]ì]þ^^^)^9^@^E^H^P^[^b^j^h^f^f^m^…^©^Ç^Ü^ï^ú^û^õ^ñ^ð^ô^÷^ð^æ^Ú^Ó^Ì^¿^¾^Ä^Ã^Å^Î^Ø^Ü^à^ë^õ__ __6_L_Z_e__£_À_Ø_é_ñ_ð_â_Ó_Æ_Â_Å_Î_Û_æ_é_Þ_Ø_É_°_’_…_‹_‘_ _¦_£_©_µ_¾_Æ_Ì_Ï_É_½_º_¶_¶_¶_¶_·_»_º_½_Å_É_É_É_Ï_Ù_ã_ñ_û````/`L`q``©`½`Ð`æaa!a;aXasa‘a¯aÍaçaýbbbbbbbbaøaìaÞaÒaÄa²aœaŒa|aia\aRa>a2a(aaaaa aa aaa"a'a*a+a-a-a&aaaaaaa a!aaa `ÿ`ó`å`Ù`È`¼`¶`°`ª`«` `™`ˆ`r`\`G`7`.`1`3`:`@`7`3```ž`Ô`:_Þ_ß_Ò_Ñ_Ü_ì_à_Õ_Ê_«__Š_º`<_ï_u_m_A_H_s_i_~_†_„_—_µ_À_Ë_â_ñ` `&`K`n`Œ`£`°`·`Ã`Î`Ù`ç`ë`í`î`ì`ó`ùaaaa&a2aHaVama€a“a«a±a¹a¹aÁa³a¡a˜a€aTa`ò`Î`¿`»`¶`Â`Ê`Ò`ìaaaaaaa,a5a8a7aCa6a8a>aDaRaXadabapapavatazaua~a|aoa~aažaªaa¤a«a¯aÎaža®aÃa£a¢aÄa¦aqaHa8`Ý`Óa¯biaâ`µ_^æ^¯^a]Ù\ü\€\[¬[@ZªZY X)WWsWäXvXàY2YoY¡YÑZZTZœZâ[:[™[ö\J\Œ\Ì]"]S]h]q]c]8\Ç\{\L[þ[¾[¦[É\!\u\½]]<]] ]]0]<]K]X]T]I]C]>]<]:]5]1]+],]3]F]Y]q]]„]€]]˜]«]½]Ò]å]ø]ü]ì]ç]ì]ë]Ø]¶]]]~]t]i]S]0]]\é\Ð\·\›\‰\u\€\”\©\¹\À\º\¶\Ä\Ñ\Þ\ë\à\¥\K[ô[æ\[\ä]=]Q]#\ö\ô\ï\ç]]U]p]\”\L\ [ë[å[ð[÷[Õ[¹[À[Å[Ý[ý\\'\[ô[å[æ[è[ã[Ø[É[»[·[Â[Ó[Ü[ê[ý\\\4\J\\\€\Š\n\M\7\[þ\\ \\\\[ý[ð[æ[Ü[Ó[Ð[Ò[Ò[Õ[Ü[Ý[Ú[Ù[Þ[Þ[è[÷[ý\\ \ \ \\\\ \\'\<\M\^\k\|\™\·\Î\Ü\ë]]]$]1]3]0]!] \þ\ú\õ\ï\è\Ú\Ô\Ö\à\ñ\ú] ]],]D]E]B]>]8]*]]]\þ]]] ]\ú\í\Þ\Û\õ] ]] \ü\Ö\¥\\{\|\w\l\_\Q\C\4\(\\\[ò[ê[ä[Û[É[¿[´[©[–[ƒ[s[f[[[R[K[F[?[8[5[0[*[&[[[[[[[[[["[.[A[I[L[M[b[_[`[i[f[g[`[V[F[>[>[F[J[V[`[j[q[t[r[q[p[p[q[x[†[–[¨[¶[¿[Á[¼[®[£[Ÿ[—[[†[y[s[o[u[|[…[Œ[’[œ[¦[°[º[Ã[Ò[Ü[ì[ø\\\\ \ \\\"\1\?\M\\\e\q\~\”\§\¼\Ó\í]]]"]3]B]N]]]k]}]‘]«]Ë]ê^ ^'^B^X^m^~^‡^^‘^‘^‘^Š^‘^^™^›^ ^^™^—^•^™^›^¬^¹^É^Î^Ú^Ô^Ð^É^Î^Ü^ì^ð^õ^ü__ ___%_1_H_U_^_[_S_N_I_V_i_y_p_R_6_._:_P_^_b_b_V_N_M_M_b_y_š_¨_¬_´_Ê_û``1`C`T`g`s`y`}``«`¶`¸`¼`¸`¶`©`”`|`g`G`:`&```` ` `````&`4`6`>`:`<`7`5`/`'` ``` ` ``_ü_÷_ê_ç_Ü_Ù_È_Ã_®_¢_Š_z_b_M_3_ _^ï^Ø^Ì^¼^·^«^¦^›^œ^š^Œ^š^”^‘^Ž^^~^g^m^R^U^1^)]ø]ç]Â]º]¨]’]]]]X]5]5]] ]] ]"]]-\Ý\É\=\èa3gåg'h²iög'dd%fÏ`gZÖXxV’XYZ>Z7XXXªY*Y—Y¡YÎYÒY©YƒY?Y_YTY‡Y©YÆYáY¬Y—YjYjYyYœY‹YvYjY~Y~YjY>YXåXŽXjXX`X#WâWÓW¼XXXXrXZX–XÂYY;XþXíYXâXöXãYYáZYˆY&XéXôYYYYYYDYY…YvYQY¬Z6ZWZoZHZ%Z`ZuZ°ZºZ0YáYìZ#Z‘Zý[†[È[Ü[ü[Ê[n[['[[…[g[œ[Ù\W\C[…[5ZÉZ–Z¤Z¾[[-[][¯\*\\%]\¼] ]k]-]Q]†^N^ü_*__}_C^Á^[]Å^ ^r^G^o^—^Œ^P^K^O^f^g^[^9^h_ùa/`_2`@`¨_]__€``[`_`–`ª`S`4`ª`÷`÷`à`Û`üa[[B[Œ[¨[˜YàYY>XÒWîX0[ž]“ZÈYRYiZ–[¿\ \š\Î]]%]^^8^^B^l^^Õ_@_Ø_µ^O^p_†_ÝbWb ] [°]ˆ^_)_U_'^Ð^Þ_7_ü`&`G`w`‰`j_ç_a_^í_^ö_{_¬_-^à^Š^"]ð]ñ]é]ò]í]ù]ý^ ^^*^6^F^K^X^`^h^j^q^l^k^j^g^g^d^a^a^_^`^i^r^s^u^x^€^‰^^œ^¦^®^¶^·^­^Ÿ^Œ^}^k^^^Q^I^<^4^(^"^^^^^]é]Î]«]‘]l]D]#]] \ó\Ñ\¸\¤\¡\¢\ž\\‰\\Œ\š\§\°\±\±\´\»\Â\Ò\Ô\Ô\Á\¬\ \›\˜\ž\¬\¿\Ê\Ã\§\†\`\D\-\\[á[Á[£[„[\[(ZïZ»Z‘ZpZ\ZYZVZ_ZnZZ•Z®ZÉZé[[+[E[f[†[¤[»[Ù[û\!\O\}\¢\µ\¹\«\¡\¥\³\Ï\ñ]]E]r]”]¯]Í]æ^^)^D^W^b^h^k^o^z^„^‰^‰^^’^¦^Å^ç___"_4_=_6_)__ _ _^ü^ò^ç^á^Ø^×^Ü^Û^×^ß^ê^ò^ÿ__ _/_=_M_]_m_z_…_¡_Á_Ú_í_û``` `_÷_ò_ð_ï_ó_ý````_õ_Ù_Ä_Ç_Ã_»_·_¸_Â_Î_Ú_ä_è_ì_ë_ß_Ý_ß_Þ_ß_á_à_ã_æ_ò_û```````)`6`>`K`Y`s`Ž`°`Í`ã`ôa a&a@a_axa‘aªaÉaæbb"b9bFbPbTbTbRbKbDb;b3b)b bbbaïaÕa¾a«a•a…auaga]aTaJaDaaFaNaRaUaMaCa>a:a5a3a2a8a>a3a,a(aaa a`ø`ç`×`Ï`Ã`º`³`¬`£`ž``€`l`U`G`<`;`>`=`/````_é_á_ß_à_Ö_Î_Ð_æ_û_Ü_Ï_À_¬_¥__‰_¡_{_f_a_f_}_u_t_ƒ___›_¡_®_Â_Ö_ç```9`W`w`”`«`·`Ä`Ñ`Ý`ì`ñ`õ`÷`û`þaaaa(a7aBaQacavaa¦aÄaÕaßaÕaÑaÏaÁa³a¢a‘aga'`û`Ó`½`´`°`Ã`Ù`ë`ÿa a"a2a@aDaPaUaZaTaTaWaTa[acataua‡a‚aŒa‘a–a˜aŒaŒa}a|a‡aaˆa†aa³aªa¸aŸa¦a¹aŸa§aÂa¶a°a³aža~aTa`ê`¹`¹aa=`’_´^ë^2]º]?\Ò\H[¾[+ZŽYßYX>W•W„XX˜XïY:YoY›YÉZ ZTZ¡Zõ[Q[°\\k\©\Ý]]B]l]]‚]4\Ù\—\d\6\\$\E\a\\Ž\À]g^]õ]_]<]_]m]x]s]c]\]T]S]S]X]O]G]@]B]S]h]~]‰]•]”]Ÿ]§]º]É]á]û^ ^^ ^ ^^^ ]ñ]Û]Ï]¹]«]«]]i]P]8]#]]\å\Õ\Å\Æ\Æ\Ð\Ù\à\æ\ì\ñ\ò\ð\ñ\ã\¹\z\;\ \L\Ð]>]H]\è\Ú\à\ø]]B]B\ä\„\F\ [ý\\'\I\4[ö[ì[ÿ\\\\ [ý[ô[í[ô[ñ[é[á[Ö[Ê[Ð[è[ý\ \\!\.\;\B\M\q\›\¡\}\i\Œ\w\\\)\"\\\ [û[ô[ê[â[Ø[Ò[Ð[Ë[Ð[Û[Ú[á[á[Ú[×[Ú[â[ï\\\\[ü[ø[ù[û\\\\)\7\J\[\q\‰\¡\¶\É\Ü\ï] ])]A]M]E]+]\þ\ù\ó\ñ\ì\ê\ì\ø\ý]]]])]G]W]Z]V]T]J]?]-]]] ] ] ] ]\ú\ì\â\õ]]]]]\Ý\¯\•\Œ\‡\€\w\j\Z\S\H\7\,\ \\[þ[÷[ì[á[Ò[É[¶[©[•[„[x[n[j[a[\[U[R[O[L[E[B[=[9[9[5[4[1[+[.[5[<[E[S[Y[a[r[n[h[n[o[l[g[][S[J[H[L[O[^[h[u[}[ƒ[„[‡[‡[†[„[†[[›[¨[·[Æ[Ë[Î[É[Æ[Á[¿[º[¯[¥[Ÿ[™[š[ [©[ª[´[»[Ä[Ï[Ù[ã[ñ[ÿ\\\)\1\6\:\;\>\B\H\P\\\f\u\~\\ž\´\Ã\Ó\æ\ý]]#]5]F]X]f]u]†]›]¯]Ë]æ^^ ^<^X^k^‚^‘^£^¬^°^°^­^¯^·^¿^Å^Í^Õ^Ñ^Ì^É^À^»^¹^Æ^Ô^â^ä^å^á^Ý^Ò^Ú^ë^ù__ ____"_ _._?_X_k_v_p_f_Y_X_q_ˆ_–_‰_p_^_^_r_z_ƒ_}_g_N_G_S_h_†_š_­_«_«_§_É``2`C`Q`_`o`s`q`t`¡`Á`Ñ`Ú`Þ`â`Ø`Ë`¹`£`”`|`m`V`I`:`6`-`3`%`$`.`=`D`G`G`K`H`K`G`I`B`<`:`4`6`.`4`1`1`(``` _ÿ_û_í_å_Ï_Ä_©_™_„_o_U_=_$_ ^ñ^ã^Û^Ñ^Ç^¼^·^«^¯^°^ª^´^¥^°^•^Ÿ^^Š^n^j^O^>^]ñ]æ]Â]Ç]¬]š]Š]w]o]J]8]-],](]B]9]<]c].] ]e^ød,g•hÊiFf¢eÂfÙhjf¸a Z•WÂYG[ [X1XXåXïY*Y±Y«ZYËY™YY7YPY”Y¾YªYÛYÏYvYNYtYŠYzYPY?Y;YSYWY\YFYX×X¾X’X›XbX'WÝWÄW²WíXBX‹XºYXÜY#YcY0YIY5XïYXáYYÑZYcY9Y>YY4YNYEYTY.Y~Z"YÂY‹YyYµZ\Z›ZƒZJZZ_ZÏZðZ‰Z-Z3ZsZ¹ZÐZÛ[[s[Ñ[â[ª[z[F[Y[™[–[œ[ä\ \j\j[¦[#Z¿Z³ZËZÝ[#[Q[‡[É\\\\ë\©]:]ò]¯]É^^ž__J_‹_è_Ž^ª^^^Æ_^þ^ø^¬^¸^y^;^d^Â^Å^¬^s_#a-`“_l_¥`Á`†_r_g_º`"`¤`¼`ña4`à`°`óaFaWa9a#aa$a8afaa a¬a©a«a®a¾aØaýb#bNblbb«bÎbùcc5cEcHcTcWckczcŠcœc±cÍcâcîcõcÿdd dddd)d>dTdmd‰d«dÄdÞdôee$e'e)e!eee3e@eJeReZedegeaeQe=e,eeeee-e8eAeKeMeOeKeQeUe_ejeyeƒe—e¦e¶eÂeÉeÊeÌeÑeËeÊeËeÎeÉeÀe´e¦e•e‚ere_eMeb+b!bbaúaëaÖaÁa¡a~aSa,a`Ü`³`Œ```1`_Ø_¨_~_F_ ^Ð^‘^S^]å]´]‡]^]H]5]2]$]%]])]]4]!]ð_ø`p`“`¬`r``¢`¸`x_ ^­^Ã^¢^Ï^Ö_ _e_N^v^A^G^_5^Ð^]Ž]\µ\u\H[ö[’ZöZOZYòZZYöZvZòZû[[8[[[Y[![z[yZÜZ½ZàZYÉYáY¼YJYC[\…[iZTZZþ[Ü\;\e\U\·] ]Ž]ã^'^(^q^Ï_Z_Ù_ð_è_@^^C^é_•bãc€^6[ø]v^¦___'^Í^™^×_…``_¨_„_¡_k_&^ò^Á^È^ü_à`<_g^æ^–^0^]û]ö]ö]ò^]ý^^^+^7^K^L^W^a^m^t^x^^~^z^u^r^q^p^m^o^t^{^ƒ^‡^‰^‘^^§^°^»^Å^Ó^Ù^à^×^Ç^·^ ^‰^v^f^_^U^M^A^4^(^$^$^^]ÿ]ã]Á]¡]|]Z]@]9]-]\ø\â\Ç\Á\À\¹\ª\ª\¯\«\º\É\Ø\Ø\Ó\Ì\Ï\Ö\ä\é\ê\ã\Ø\Ë\Ç\É\Í\Ú\ê\ì\å\Ð\¯\‰\i\L\5\!\ [ù[å[Ë[¤[n[5[ZÔZ­Z”Z†Z}ZZ„ZZ¢Z¹ZÎZí[[3[S[p[[³[Ò[õ\\B\n\\¿\Ð\Ï\Å\»\¾\Ë\ß\ú]]G]r]š]¹]Þ^^0^M^h^}^Š^^•^›^¢^©^­^¸^Å^Ò^ì__ _6_B_P_\_g_m_e_N_3_'___ ^ý^õ^î^è^â^â^ê^ø___(_8_D_S_i_|__˜_ž_­_Ç_à_÷```)`-`(`$```````"`&`*`*`` _÷_ð_ï_ç_á_Þ_å_í_ú`````` ` ```` ```+`1`8`<`@`I`Q`^`f`n`v`ˆ`š`¸`Ö`òa aa5aLabaya—a³aÎaèbb&bBbWbgbobvbzbwbvbtbpbkbdb[bXbUbPb@b1bbaîaÔa¾a°a¤a–a‹a‚axapanahafajarata|a|ayavaqahaba]aZa\aVaOaMaFa>a5a,a aa `õ`á`Ð`Æ`¿`¹`°`§`˜`ˆ`v```P`J`F`E`C`<`5`'` _ü_þ_þ_þ_î_Ø_È_Æ_Ä_Ô_Þ_Ê_Á_³_Ä_Ù_°_‡_|_x__o_l_h_d_o_p_x__‡_š_®_¹_É_à_õ` `)`F`i`‡`¢`³`Á`Ï`á`í`õ`ÿ`ÿaaaaa'a.a6aLaXana|a”a­aÉaãaìaùaóaèaäaÚaÎaºa§aua>a`ô`æ`Ý`Ò`ã`ûaa9aIaRa\acaiajataaya„aƒa„a†aŠa|awa…a›a¡aaŸa™a™a–aŒaaŽa—a®ažaªa±aÃaÜaÄaÅaÑaÅaÄaÉaµa aaKa a a`û`Ð``x`ƒ_Ø_^©^]Œ]\…[á[1Z²Z'Y›Y XX\X¸YYEYgYŠYªYÌZZPZ©[[b[Ä\0\†\Í]]]N]ˆ]¢]‘]/\Ø\³\Œ\u\l\X\S\m\—\²\¬]^`_ ^]l]v]ƒ]]Œ]ƒ]w]h]k]m]s]m]c]U]O]W]k]]]£]«]»]Î]à]í^^^#^+^8^@^I^I^G^=^+^^]ö]î]Ï]º]¦]†]o]^]X]J]8]&]]]]]#]5]>]8](]]\ö\Í\›\•\£\‘\ß]9]\ç\É\µ\´\Ö] ].]$\Ù\{\5\\\$\3\Q\R\\ \\!\\\\ \\ \ \[ý[ò[ë[ë[ú\\%\/\4\G\R\]\`\h\\±\©\\Z\w\‰\\\B\?\2\\\[ý[ö[ñ[æ[Ý[Õ[Ò[Ù[ß[Ý[ë[ã[Ê[Ç[Ð[ã[ü\ \[û[÷[ô[î[î[ï[÷\\\\\(\:\N\f\}\’\¤\²\È\è]],]F]I]?]+]] ]\ú\û\ú\û]] ]]]]']C]j]u]k]h]h]c]S]B]/]]]]] ]\ü\ð\ï]]]] ]!] \í\È\©\”\\‰\\t\l\b\[\M\=\)\\\\ [ÿ[ô[è[Ø[Ì[¹[¨[™[[ˆ[[{[r[p[o[n[h[j[e[c[c[\[T[O[K[F[F[L[N[T[Z[_[l[q[o[w[w[s[n[g[][U[W[X[Z[b[l[{[ƒ[‹[Ž[“[“[–[˜[˜[œ[ [«[¹[Ç[Ò[Ú[Û[á[á[ä[à[Ü[Õ[Ï[Æ[Ä[Å[É[Ï[Ö[Ú[ç[ð[ù\\\!\/\=\J\V\^\d\f\f\i\m\p\x\\‘\›\©\¸\Í\á\ö]]]+]>]R]f]y]Š]›]°]Ã]Ø]î^^#^=^W^n^^“^£^¹^Ä^Ì^Í^Ê^Í^Í^Þ^î___ __^õ^ç^à^ä^ð^ý_^ü^÷^ò^ñ^ó^þ_ ___!_%_)_2_4_?_N_d_y_ƒ_„__x_Œ_¤_°_²_«_—_ƒ_„_—_ž_š_†_b_G_H_k_‘_¦_·_¼_µ_«_­_ã``9`H`V`d`s`w`y``¬`Í`â`î`õ`ñ`í`ã`Õ`È`Á`³`£`‹`x`d`c`X`U`N`M`M`T`S`X`T`W`X`W`X`X`]`^`_`b`b`d`g`d`b`Q`K`;`4`)`` `_ï_Ý_È_µ_ __q_^_C_(__^ü^ð^å^Ô^Í^Ï^¾^Ó^À^Ô^Á^Í^º^Á^«^¤^^^w^R^>^]ÿ]å]Ö]Ð]·]°]]‡]x]o]T]M][]Z]”]N]”]$]‹]b]Ÿ`PgšhRgãh%h6i(gÃdä`J[EYo[\ú\#YgXXXjXTYYMYžYoYcYWYbYžYÃYŒYµY¶Y©Y~YgYYŒYTYXûXìY YYY YXÙXÅX´XXQX+WìWÕWÙXX8X‚YYTYfYôYªY;YkY7Y%Y^XþXàY£ZYwYtYoYYbY¢YqYhY?YZRYÿYÌYÅYôZ]Z–Z«Z§Z`ZIZŸZ¸Z‘Z›Z”Z¸[ZâZÑ[[M[t[˜[§[™[…[ž[á[Î[«[Ç[¿[¿[±[>ZÞZŸZ³ZØZõ[B[h[‡[Ñ\%\ \\Ï\Ö\ï]Ÿ]Ô^^a^^ë_J_ƒ_É_^Ñ^N^Œ__8_J_^„^¬^|^;^¤_/_^ù^Ù_L`÷`>_o`L`ñ`_i_Á_Õ``Ž`­`ùaaa~apaka]a`úaa(aTaƒa£a½aÈaÉaËaÓaåaÿb bGbnb“b¬bÎbòccGc^cqctc€cŠcšc«c¼cÎcçddd*d5d@dIdSd[d_dfdsdˆd›d´dÊdædýee*e@ePeSeWeUeYe`ejeqeye†ee”e”e‰ezegeWe@e:eFePeYecekeoeqesenerete‚eŠeœeªe¾eÍeÜeçeéeîeñe÷eöeøeúeøeõeëeÞeÎe¾e®eeŠezekebeYeOeFe=e7e.e*e"eeee&e/e:e>e=e@e:e9e0e-e#eeeee eedôdèdÖdÃd´d§d•d„dpd]dEd*dc÷cÝcÒc¿c¬c›cˆcxcacScBc5c*cEc5c-cc býbðbÝbÑbÁb´b¥bšbŽb„bxbsblbmbdb[bPbCb8b.b!baÿaìaÉa¬aˆaaa;a`ï`Æ`š`k`7`_Û_¬_w_=_^Å^„^H^]Ù]¬]|]d]N]O]D]L]B]V]=]`]V^)`h`Ý`k`c`€`¦`Ýa`û_„^ß^î^ò^ê^­^É__L^ ^0^b^Ü_^W]€\î\k\[ì[¶[t[ZnZYòY÷ZZZ#ZZÕZ÷["[S[Œ[“[ª[\[V[@Z¬ZzZ¼[$[ZyZ'Z}[[‰[×[Ö[.ZÝ[è\Ž\†\|\j\š\í]¢^^6^X^Ê_†`f`Õ`Y_µ_]þ^^Ç_—`ia^¥\8]Q_¶_Î^«_ ^T]Ü^V_V_Ð_´_=__^Ï^™^¢^›^|^n^ÿ_u^ó^©^q^,^^]û^]ú^^^^^.^4^D^I^R^W^e^w^}^‚^†^‚^…^€^s^t^w^z^^ˆ^‘^^£^¬^·^Ã^Ï^Û^å^õ^ü__^ï^Ú^Ç^®^“^‚^{^v^k^`^K^B^;^<^9^.^]ô]Þ]À]ž]y]Z]V]S]?]$]\õ\í\é\è\à\Ù\Ú\Ø\à\î\þ]\ù\ñ\ó\ó\ø\ü\ü\û\ü\ù\ø\þ]]]]]\î\Ó\¶\˜\{\f\V\D\.\\[à[²[[U[ZóZØZÉZ¿Z·Z³Z¸Z¿ZÎZç[[&[K[k[‰[«[Í[ï\\4\_\‡\³\Ó\æ\é\ç\Þ\à\ê\ø]]3]Z]…]³]Ú^^/^X^z^—^¥^²^º^»^¿^Ë^×^å^ö___4_?_R___e_n_z_…___~_b_L_D_A_;_1_)__ _^ÿ__ __3_B_U_n_„__³_À_Å_Ç_Ï_Ý_ë_ú` ` `2`<`;`:`B`C`A`7`0`1`2`5`<`@`>`8`)````` ```"`)`-`/`/`5`7`6`4`2`5`<`C`Q`\`c`j`r`x``ˆ``™`§`´`È`â`úaa5aRaia}aa¢a½aÔaëbb#b>bZbob}b‰b’b–bœb b bb—bbŠbˆbŠb†bb}btb^b?b"bañaÜaÌaÁa¸a³a¬a¨a¦a¡a¡a¡a¤a§a¯a³a±a§ažaša“a‹a…aaayaoaca]aRaGa?a3a"a`ú`å`Ù`È`¾`³`©` `”`„`x`l`f```U`K`9`"`` _ú_ä_Ý_Õ_É_Å_Ã_½_»_½_º_º_·_¯_¾_Â_¥_œ_–__t_m_o_t_z_x_}_‡_ˆ_”_š_œ_¬_À_Ô_è```7`S`t`“`®`Ã`Í`Ý`ê`õ`þaaaa#a&a-a@aMa\aeata‡aaµaÍaéaöaþbaÿaõaçaëaÞaÌa®aoa0a`à`ß`á`í`þaa1aPana‚aaŽaœa—aŸa¦a¦a¥a®a°aša|aBa@aaÂa¿a¼a¶a a¡a§a™a£aaŸa¹aÃa×aÆaÉaÖaËaÇaÑaËaÉaÀa¢a{aRa$`é`³`ª`¡`…`e`$_ _^°^.]Æ]Z\È\&[[Z¿Z}ZYÂYY›YÌYÛYÉYÁYÆYÜZZIZ¥[[g[Ï\?\Ÿ\ç] ]']e]¢]¨]‰]<\ð\Â\ \–\°\®\­\´\®\½\Æ\Í]]}]{]t]‘]œ]¬]ª]]Ž]]ˆ]†]„]‚]z]s]m]s]Œ]ž]ª]Â]Þ]õ^ ^^"^3^@^F^M^\^n^~^~^y^u^n^b^R^G^8^ ^ ]í]Í]¸]¨]¡]•]Š]t]_]H]?]M]\]f]h]a]T]9]&]\ì\¾\¶\½\Å]]R]\Ü\À\¤\›\µ\ã] ]\Ç\{\3\ \\&\8\H\E\$\\&\7\=\6\2\.\/\5\,\%\\\\\\1\@\C\J\W\f\y\†\…\”\º\¯\ƒ\f\a\y\M\E\[\T\?\,\%\\ \\ \[÷[ç[å[æ[é[ç[ì[ê[à[Þ[ö\\2\8\#[ý[î[é[ä[â[ä[æ[î[ô[û\\ \\/\B\X\j\z\Š\ž\¼\è]];]F]<]0]!]"]#]]] ]] ]]%]!] ]$]G]o]}]w]r]z]}]v]f]P]>].]]]]]\ú\ñ\þ]]$]*]#]] \ï\Ð\²\£\˜\–\Š\‚\x\q\d\[\H\;\2\.\*\$\\ [ý[ì[Þ[Í[¾[´[¨[¡[š[’[‘[Œ[Ž[[Œ[ˆ[‹[ˆ[…[[v[o[h[][Z[`[d[g[m[q[s[z[ƒ[~[{[u[r[l[d[^[`[e[i[t[[ˆ[[•[š[[¦[©[ª[¬[¯[¶[¿[Ï[Ú[ä[ë[ò[ù\\\[û[ú[ñ[í[é[é[ì[ò[÷\\\\ \-\<\K\Y\g\v\~\‰\Ž\’\’\‘\\—\¤\²\»\Æ\Î\ß\ø]]!]6]N]d]v]ˆ]›]³]Å]Ü]ë]ý^ ^%^<^[^v^Œ^œ^¨^·^Ë^Ý^è^é^ç^ë^ö_ __8_B_H_D_?_3_&________ _ _ ___$_._0_9_;_<_B_P_f_{_ˆ_•_ž_£_ _³_Â_Ë_Ë_Ê_¶_¬_²_¹_·_©__p_h_€_¤_¾_É_Ò_Ë_½_²_Ô` `*`B`N`c`n`|`}``•`¾`Ý`ôaa a`ÿ`ê`æ`ó`ò`â`Õ`À`¯`š``„`{`p`k`e`b`_`d`c`h`m`o`y`~`‡```™`` `ž`œ`‘``t`c`\`M`<`+`` _ô_à_Ò_¼_©__|_`_K_4_)___^ÿ^á^ï^Þ^î^ã^ï^å^í^ä^Ú^×^Æ^¾^ ^•^z^_^@^^]ò]é]Ú]È]Å]¬]¢]Š]‹]i]Š]l]±]Š]µ]š]©]…\ú^“cæfáfmgIgJh&i£cO][=ZŠZ [Á[ÝYüY_YXãXaXÓYLYhYuYVY~Y¡Y«YçYoYY¯YÂYY”YbYJYJY?YYXüXûY XÝXÚXÔX¼XXkXZLZ{Zß[[[C[°[^ZþZÛZ—ZÝ[s\'[ì[ZÒ[T\\[è[è[~[p\m\Ý\²\¯\ \º] ]·^^;^—_'` `Ô`ù`†_Ù_@^ ^^Ñ_:_c`_^Û\`]_]_^;^"]X]^_^Þ__V__^¤^V^g^i^G^^^Ï_^â^‘^)^^]ú]þ^^^^^^*^5^C^S^b^b^i^m^^‚^‚^‡^^{^p^n^p^x^^^š^¦^µ^Ä^Ï^Ý^è^õ__ __#_'_ _ ^õ^Ø^½^ª^›^—^Ž^ƒ^j^\^R^T^P^D^/^]õ]Ô]·]–]{]q]j]\]H]%]]]]]]]] ]]]"])] ]]]]]]]]!]$](]/]7]>]@]7]&]]\ì\Ó\¹\£\\{\b\G\*\ [é[Á[ž[t[M[/[[ [ZýZùZü[[[2[Q[t[–[·[Ô[î\\2\S\{\¢\Ì\ë]] ] ]]] ]]8]^]Œ]·]ã^ ^4^[^„^¢^¸^Ë^Û^å^í^õ___&_:_G_W_e_p_}_…_ˆ_‡__œ_ª_ª__‰_q_o_p_h_`_S_>_*___ _,_C_\_n_~__¯_Ò_ñ_ÿ`````` ``>`Q`W`Z`Z`[`\`Y`V`N`G`I`J`O`W```b`]`W`P`K`H`D`D`G`U`[`X`Y```g`n`l`h`d`b`g`q`„``˜``©`µ`º`Â`Ì`Ö`â`óaa#a@aaa}a™a°aÃaØaéaùbb(b@b]bsb‡b•b¢b¦b¬b´b¼b¿b¿bÁb¼b´b´b¸b¼b½b¹b²b§b–b~bcbAb)bbaôaìaêaåaãaèaäaâaãaãaãaáaÝaÜaÙaÏaÃa½a¸aµaªa¥aa”aŠaƒa{aoabaRa?a&a `õ`ß`Î`Á`µ`­`£`”`‡`}`s`r`o`g`Y`C`*``_ù_ó_ã_Ø_Ó_Â_º_µ_³_¯_°_±_¢_ž_¡_Ÿ_œ_•_„_|_r_o_p_n_o_r_~_„_‰_Š__œ_¦_®_Ä_Þ_÷``/`I`e`‚`¦`Á`Ô`Þ`ê`÷aaaa'a#a2a0a2aCaOapazaŒa›aµaËaÛaûbbbbbaûaþaúaàa¹avaHa*a `û`þaa1aPaia‡a›a±a®aµaÀaÄaÁaÅaÍaÃaÃa£aR`úa aˆaÖaØaÌaÈaÍaºa½a´aºaÍaÈaÎaÌaÛaûaþaûbaùaòaðaÛaÃa¤aia `â`¾`©`™`q`]`H`_¾_=^·^[]û]~]\‚\ [¥[^[5ZêZžZ^ZGZUZUZ7ZZYúZZQZ¢Zÿ[h[Í\4\\ë]]<]l]˜]ž]t](\ù\Ò\¸\¬\²\°\½\Ï\È\½\Ð\ï\ÿ] ]`]š]¯]À]Ó]Õ]É]¯]™]]œ]”]”]’]]]ž]·]É]â]ö^^%^E^Z^a^h^m^n^s^~^Ž^š^›^–^^‹^‡^€^x^i^X^;^^]ñ]à]Ò]Ð]È]¬]]l]W][]d]i]b]_]a]U];]#\ù\Ô\Ï\Ã\ë]^]Ž]Y\ò\°\’\Ž\¢\¨\¼\Í\§\V\[ð[û\\=\G\;\<\:\>\I\O\N\M\T\_\b\Y\L\7\%\\ \/\C\L\J\J\Q\i\†\\¤\¯\Ó\Ë\\\`\[\k\n\]\T\D\;\6\'\\\\\\\\\ \ \\\\\#\H\I\>\[þ[ð[í[ù[ü[ö[å[å[ê[é[í[ó\\\"\5\F\S\e\z\™\Å\ó]]3]1].]3]=]A]2]]]]]&]2]0].]2]O]n]~]z]y]]ˆ]‰]ƒ]s]_]Q];](]]]]\û\þ]]-]-]#]]]\õ\Ø\À\­\§\›\•\ˆ\‚\w\n\_\U\F\@\;\4\C\=\(\\[ï[â[×[Ì[À[·[²[®[«[«[¨[§[§[ª[ª[­[§[¡[™[[„[y[r[q[q[r[u[z[€[†[†[…[[}[x[s[k[l[m[o[y[ƒ[Ž[”[[ [©[±[¶[¹[¹[¾[Ç[Ï[â[ð[ü\\\\\"\#\\\\\ \ \ \ \\\\)\6\D\R\b\s\ƒ\‘\\©\¬\±\°\¯\°\¶\À\Ë\×\ã\ê\ù] ]]7]O]c]]“]ª]¾]Ô]â]ú^ ^^*^A^Z^}^›^²^À^Å^Ó^á^ø__ _ __%_4_C_b_z_~_~_z_l_a_S_I_A_>_?_6_2_-_&_ _!_$_._4_>_F_L_O_S_a_x_‘__«_µ_Å_Ê_Í_Ô_á_å_ç_Û_Ë_Ã_Ð_Ê_»_¥_Ž_—_®_Ä_Û_è_ï_ê_Ü_Ù``%`5`E`T`g`o`}`ƒ`’`­`Ö`îaa aa a`ðaa!a$aa `ô`â`Î`½`®`œ`Ž`ƒ`x`t`v`u`|`‚`‹`•``¬`µ`Ã`Î`Ó`Ú`Ù`Ó`Î`¾`µ`¡`•`†`s`\`H`3```_ð_Ú_Æ_¯_–_y_l_Q_S_7_>____ ___ _ __ ___^î^á^Ñ^¸^©^€^o^L^8^(^^]é]ê]Ð]ß]´]Æ]˜]±]³]È]Õ]¯]¹]]Ê]@]’_’dÖiiJhÔhAi?b¯]S]z_ZŽXUYÛYHX‘YìZnXÝXbXüYY‚ZYñYîY™YtY_YnY‡Y¹Y…YkYKY/YYY Y YXÔXXµX¯XšX–XqX`X[XzXaXEX'XaX¤XvXŠXŽXòYÆYtY_YrYkY7XôXÝYYYYaY1YYŽYVYšY·YqYUY“ZZdZŒZoZkZÆZZZ^Z“ZxZ­[ZñZ©Z²ZªZ£Zþ[G[/[1[6[@[W[s[v[½[ò\ \[Ò[¸[°[€[i[Z·Z|Z—ZÅZã[ [O[‹[É\[ý\0\ˆ]]Ñ^%^3^ž_g_ê_÷_ç_í_Â_*__^•^}^u^™^¤^i^O^]î_X`ë`K`C`Ý`ž`8`=`{`¥`½`d```k`Ì`±`¶a,`ë`ßaja]aHa`ùaaPa}a¢aÁaÚaëbbb'b]û^^S^n_ë`Y__^´^@]ô]ò]ÿ]ý^^^^^'^#^7^@^b^^b^m^s^t^ƒ^|^€^‚^†^z^k^g^p^z^†^š^±^Á^Ï^ß^ï____$_4_C_J_F_=_$_ ^ì^Ò^Á^¼^³^¦^^^u^t^n^c^G^.^]õ]Ô]±]™]Œ]Œ]]q]T]Q]R]a]\]V]X]Y]S]A]@]H]O]F]@];]=]@]B]C]E]O]U]Y]Z]Y]Z]Z]P]B]3]$]]\ñ\à\Ì\±\\m\M\/\[ü[à[¿[Ÿ[[c[S[M[F[<[<[E[W[p[Š[¦[Â[á\\!\>\^\~\¢\Ç\ì] ] ],]/].]1]:]L]h]‘]½]ä^ ^-^V^‚^­^Ñ^é^ý_ ___$_/_F_`_p_x__‘_œ_£_¦_¥_¥_«_¸_Æ_Ê_Å_°_œ_£_¬_¥_œ_‹_x_c_W_S_R_S___t_‹_¡_¾_ê``&`0`;`B`C`7`1`4`C`[`o`u`t`v`s`v`r`g`^`U`Q`M`P`Z`p`„``Ž`‰`…``|`x`|`ƒ`ƒ`†`‹`’`š`¢`¥`£`¢`¡`¦`ª`·`¿`Ì`Ø`ä`ð`ùaa aa!a8aPaka„a¢aÂaâaþbb(b9bFbQbabtbŠb›b©b¯b¶b»bÃbÌbØbßbßbÜbÖbÓbÙbàbãbäbåbàbÖbËb²b–b~bfbLb7b-b&b bb"b&b'b#bbbbbb baýaëaâaØaÓa×aØaËa¿a­aŸa˜aŒaanaVa;a#a`ë`Õ`Ä`º`²`­`¥`œ`”`Ž`‹``v`a`H`0``_ñ_á_Ô_Ê_¾_±_²_­_«_§_¢__˜_’_Œ_•_œ_™_Œ_‚_s_o_o_q_w__„_†_‹_Œ_“_Ž_–_§_º_Ð_í``"`:`[`~`¦`Ä`Ý`ë`ù`ô`ða `ï`í`ÿa3a"`õ`öaa_axa•a§a¹aÏaæaöbbbbbbbbbaàa§a^a2aaa aa&aJala•a´aÍaáaãaãaáaÝaÓaÒaÝaÚa±aIa acaßbaÿaûaçaåaàaÛaáaËaÓaÝaêbaþaübb bbb a÷aßa¾a–aba'`ì`À`–`†`w`m`k`<_Î_G^Ò^v^]¨]E\Ù\z\[Ù[§[x[Z[ZëZÛZ®ZŠZ€ZWZ0Z5Z_Z”Zô[f[Ý\D\¤\÷]%]Q]‚]ž]†]^]\ë\É\Ç\Ë\Ö\ë\ô\õ\í\Ó\Ï\ð]0]h]š]¶]Ô^^#^^]Ü]¶]°]¯]¬]¶]¼]³]²]Ã]Ø]é^^-^O^_^~^£^®^¥^¡^•^^Ž^^±^¶^¯^§^¢^ž^–^Ž^€^l^P^>^*^^ ]ù]÷]ê]Õ]·]Œ]p]j]q]s]e]\]T]P]F]/] \í\è\Ø\ý]r]£]ƒ]\Þ\Ê\”\|\n\n\€\o\-[ü[ã[Þ[ø\*\F\H\c\i\h\k\i\f\d\q\\†\~\i\R\8\+\5\D\T\Y\N\C\K\b\…\¡\±\¾\Â\¼\´\ \{\\\j\x\c\Z\Z\Q\B\4\%\ \%\)\(\&\'\+\,\,\0\'\\\'\L\S\5\ [ü[ó[í[ø\ \\\ \[ô[ñ[ñ[ñ[ö\\\%\6\G\[\x\š\Ä\ê] ]"])]5]C]B]6]] ] ]]]-]2]8]D]_]x]{]u]{]‚]]’]‘]Š]y]t]a]H]5]']]]] ]]+].]+]]]\ü\ó\á\Ç\¸\¯\«\\’\…\|\q\i\`\W\>\*\L\[\M\B\/\\[ó[é[Ý[×[Í[Ç[Ä[Ã[Ã[Ã[Á[Ã[Ê[Ì[É[Ê[Á[¸[¬[¡[•[[†[€[|[~[€[‡[Š[Š[‰[ˆ[ƒ[[~[y[u[w[€[ˆ[[–[¡[¦[³[»[Ä[È[Ë[Î[Ø[à[ñ\\\\\\&\1\6\5\0\+\)\#\ \\!\#\)\0\;\G\R\a\q\ƒ\”\¦\·\Ä\Í\Ò\Ò\Ó\Ó\Ò\Ö\ã\ð\û]]]%]8]R]h]{]”]¬]Ç]Ô]ä]ô^^&^9^G^Y^x^›^º^Ð^Þ^é^ø___%_2_9_D_U_b_o_~_œ_­_±_«_¤_›_Œ_€_n_g_c_b_Y_P_F_6_,_+_:_A_M_U___b_b_k_y_œ_®_¿_Ð_ß_å_ç_ó````_å_Ñ_í_æ_×_Á_³_Ä_Ð_ß_ø`` ` _ü_ù``0`@`J`W`c`m`~`Œ`ª`È`î`ÿaaa"a$a)a:aJaMaGa9a1a aa`î`Ö`¿`¯`Ÿ`™```”`›`¡`®`¾`È`Ø`å`õ`ÿaa a a`ú`ë`Û`Î`Ã`§`—``f`Q`<`,``_ú_å_Ä_´_”_Œ_r_}_]_`_J_;_-_'_$_%_,_,_2_._2_._%_&_ ^ÿ^à^Ï^·^–^‰^h^X^1^1^^]ÿ^]é]æ]Û]Ì]Û]Ü^ ]ó]þ]Å]À]é]o]»`'gMl kÊhñh•g)bàdœjŒ_ðZ‰X‹YYC[\YYÀXzXåYYxZ2YôYŽY¤YEYY1YBY`YuYNYXÇX²XÑXÞX½XŒXƒXcXxX„XrXiXpXjXƒX‰XkXZX;XrX¨XˆX­XÁXÅYY+YGY'Y=Y1XæXÆXÜXóXÿY=YØZYãZYûYËYÆYöZœ[[D[ ZºZÞZ×ZSZ”[Z¶Z£ZÈZ®ZÁZÙZ£Z¹Zò[Zó[[<[_[j[l[e[’[¾[î\7\ [¹[¨[›[g[Z Z^ZvZ£ZÊZü[3[r[³[é[ê\'\}] ]÷^X^§^æ___³_¹_ý`0_ô_«_R^Õ^Á^^g^ƒ^y^S^$^*`*bzaU`ña[`í`›aua–`Ç`£`¼`Ÿ`¿a4aja"a"a²aiaaaaVa6aa aGaa¯a×aòbbb,bLb`bsb…b˜b«bÁb×bñc c4cWcŠc­cÎcædd"d=dSdedqddŒdŸd·dÏdædòdþe ee&e0e6e>eEeLeXenee–e¬eÑeífff fff ff f feúeôeýf fffeðeÜeÍe¶e¨e¤e·eÐeãeçeáeÜeÜeäeíeþff*fFfPfYf\f_fcfkfif`fVfUfVfYfTfLf@f2f$ff feøeðeçeâeÞeØeÒeÌeÈeÃeÁe¿e½e½e½e¼e¿eÃeÅeÇeÊeËeÉeÉeÃe²eªeœe’eeyeeeZeFe7e%edýdçdÎdµd«dd‡dqdZdAd'd cöcÞcÍc¼c²c¢cÀc°c¡c“c‚cqcecTcIc7c.cc býbíbßbÕbÊbÄbºb·b§bžbbbpb^bMb;b'baöaÞaÁaªaŽafa:a`Î`—```&_î_®_q_3^ý^À^‡^G^ ]Ä]Š]b]Y]\]l]|]†]’]»^S_£`D``ñ`š``ÊaBaÊaHaa~ax`ï_D^@]ë^^…^ž^Š^M]Ù]A\É\J[›[Z«ZY•YRYXåYY9YkY©YªYtYWYšZbZœYíYÃYàZ1Z´[3[n[;[˜\U]\ç\\]J]\Æ\|\E\*\Ò]Ç]|\ï]]F]Y]˜]ù^v__|_Ü`ùa]`¢_Á^Ù^ ]î^^æ_°aH`)]K\t[ý\¹_i]´\G\ä] ]6]a]w]“]î^^I^k^]^?^ ^T^©^Ÿ_ö`È_µ^¶^D]ú]Þ]ö]û^^^^^"^ ^8^*^£_x^›^R^†^q^^„^|^w^ƒ^‚^s^d^\^g^x^‘^ª^À^Ô^ì^ö___"_,_;_R_n_u_s___A__^ñ^ä^Þ^Î^¶^£^š^—^ˆ^}^i^L^+^ ]ð]Ô]º]®]«]“]}]h]l]u]‰]‡]‡]”]˜]Ž]{]v]w]u]m]e]b]j]l]m]m]r]€]Š]Š]ƒ]}]v]m]f][]Q]C]4]"]]\ì\Ö\º\›\x\U\7\!\[þ[é[Î[¬[—[[Š[…[~[[Œ[£[À[Ý[ù\\4\Q\p\\±\Ò\ò]]0]D]Q]T]R]Z]g]{] ]Ë]ô^^:^]^€^¬^Ö^ú__._:_@_E_M_Y_p_…__š_¢_²_½_¿_Â_¾_Â_Í_Ù_è_í_ç_Ò_É_Ð_Ü_Ú_Ï_½_¨_”_ˆ__~__Š_ž_³_Ì_í``4`K`U`f`r`w`t`r`s`z`‡`—``—``†`‚`|`s`l`e`[`O`L`Y`}`š`ª`²`·`·`´`´`¬`«`´`º`¿`Å`Í`Ö`Þ`â`Ý`Ø`Õ`Ø`á`ì`ùaaa*a9aBaNaVaaaua†aa·aÒaîb b*bJbdbubbŠb‘b¡b¯b¹b¿bÁbÅbÍbÓbÚbàbèbîbíbíbíbòbûcc ccc cbóbêbÚb¿b©b”bbpbfbab`bababebbbWbPbLb?b7b0b%bbaÿaøaöaõaõaéaÖaÄa¼a±aŸaaya]aFa,a `ï`Ñ`Ä`À`¶`°`¦`ž`–```‰`}`g`Q`3``_ò_à_Ð_À_µ_­_£_›_™_˜_”_‹_ˆ_‚_}_ƒ_ˆ__Ž_…_z_s_m_p_q_n_p_x_|_~_„_†_’_•_¦_Â_à_ÿ` `<`]``¸`÷a aa `ö`åa`î`á`øa=aDa+a*a!a a8a‚aœaºaÅaÝaôb bb%b&bb&b$b.b4baèa²auaGa.a#a4aLaha~a›aÅaÝañaÿbaüaúaóaëaøaàa´aVaaubb8bbbb b aøaúb bb bbb!b.b3bCbBb=b2baôaÇa–aUa`ð`Ñ`´`š`y`i`g`8_Þ_v_^¡^>]×]w](\Ñ\x\8[õ[×[ó[½[b[4ZíZ¯ZZsZgZjZ†Z¤Zù[n[ò\Z\µ]]+]Q]w]‚]Y]<]\æ\×\ã\ë\þ]] ]]\ñ\ô] ]=]w]¯]Ü^^4^Y^O^+^]Û]Ì]È]Í]Ñ]Ñ]Ñ]Û]á]ð^^^U^†^Œ^¢^Ç^Ï^Ã^¿^¸^©^ ^¬^Â^È^Å^Ä^½^³^¢^”^€^k^W^J^@^4^"^^]ö]é]Î]­]Ž]}]u]q]n]h]U]E]D]=]2]+]%]]]^]”]]N];](\¡\I\C\U\X\J\*\[ý[ê[ô\"\Z\ƒ\Ÿ\Ÿ\—\Š\\v\p\y\†\Ž\„\m\S\;\8\C\]\q\q\d\U\W\b\~\œ\¶\Æ\»\´\¼\­\—\|\i\o\o\j\n\`\L\;\0\5\/\*\,\2\9\F\O\N\F\4\$\\\\\[ò[ñ[í[ì[ô\\,\?\A\2\,\"\\ [ý[ð[ó\\-\7\@\T\l\’\¹\Ú\÷]]]']&] ]\÷\û]] ]]"]1]F]i]|]z]z]{]‚]]‘]—]—]Œ]ˆ]~]n]Y]G]2]$]]]](]7]7] ]] \ø\ö\ñ\å\Ó\Å\½\¶\¦\˜\\\w\r\o\e\Q\R\_\c\Z\L\A\*\\[ó[í[ã[à[Ú[Û[Û[Ú[Ø[Ø[Ý[á[å[æ[á[Û[Î[Ä[¹[«[[—[Š[…[„[„[„[ˆ[‰[‹[Œ[Š[†[[~[{[[ˆ[Ž[˜[ [«[·[À[Ê[Ï[Ù[Ý[æ[ï[ÿ\ \\#\-\0\4\7\>\C\A\:\3\3\/\2\9\:\=\@\K\U\^\n\}\\¤\¸\Ê\Ú\ç\ò\ú\ø\ó\ó\ø\ÿ]]]!]3]D][]n]„]–]¨]À]Ý]ð^^^0^I^U^c^y^—^µ^Ó^ê^þ__ _3_B_M_X_f_p_{_„__¢_¾_Ò_Ö_Í_¿_³_´_­_Ÿ_š_‘_Ž_ˆ_|_g_S_I_G_N_X_`_k_q_v_|_€_‰_¡_¹_Ï_å_õ` ``&`,`)`,`0`*```_û_ò_ë_ì_ó```"`,`,`(`&`2`B`H`Q`U`]`j`„` `À`Ý`ýaaa"a.a7aGacakaeaaaZaSaGaZYÔYâZ#ZÑ[.[M[I[/Zü[ZZ`[[[ZÜZÁ[[[[x[DZô['[J[5[T[R[X[‡[Œ[˜[Ö\\[Ö[É[¹[e[ZœZRZQZqZœZÚ[&[q[­[º[½\ \c\Á]K]¸^$^K^=^°_L_Ï_õ_Ô_¢_g_J_^æ^›^k^Ú^Ù^v^„^á`Üc b0a³a{`äabkaõ`ã`þa"aaa(aMaza„aàaºagaZa%a`üa#aka©aÞbbb1bBb\bvb’b¢b»bÈbÝbñbþcc-cTczc§cÏcødd`ùaOa’ava±aÆaÑaóbbbb+b)bb7b8b5b>b aÆaˆa]aLa?aBaUaiaƒaœa¾aébbb!b!bbbba÷a¿aYaayaöb-b8bDb@b7b2b3b!bbbb1b6b7b@bJbQb]b_bQb1baÏa afa0a `ê`Ç`¦`…`s`b`&_Ð_y_^É^f^ ]º]r]$\Ñ\ƒ\E\#\)\[Ï[†[,ZÙZ›Z‰Z¶ZÙZêZé[ [z\\ƒ\Ï\ý]]D]j]r]d]V]+] ]!]+],].]>]N]G]-]]];]g]¢]ß^ ^*^L^x^k^E^"^]ý]ü^^]ü]ø^^^ ^^5^^^‹^ž^½^Ú^á^Ø^Í^È^¼^±^¹^É^Õ^Ù^ß^Ù^Ê^´^Ÿ^ƒ^n^a^V^M^;^'^ ]÷]ô]ì]Ö]»]œ]†]u]n]m]k]^]B]7]@]K]X]b]X]"]$]]]‚]q]G]\\Q\>\@\I\H\?\5\1\,\7\K\~\´\Ç\Á\·\§\™\‚\q\o\r\o\e\Y\L\C\A\Q\o\€\…\\x\v\|\\Ž\´\À\¹\²\¸\°\™\…\w\p\v\w\v\e\P\@\<\>\=\5\\\/\@\P\P\D\/\\[þ[÷[ò[â[Ì[Ã[Ë[Û[ô\\)\K\\\Q\I\D\;\*\\[ø\\"\0\6\=\D\Z\\«\Ï\ä\ê]]] \ñ\ç\ë\î\ô\ù]]],]J]h]z]y]u]]†]]–]™]”]“]Ž]‰]v]d]S]J]A]<]:]5]D]L]+]!]]\ù\û\ú\î\à\Ò\É\»\°\ž\”\Š\ƒ\€\\r\X\Y\\\]\d\^\M\3\\ \[ù[ò[ê[ê[è[î[í[ë[ë[ï[ô[ù[ù[ó[í[è[Ü[È[¸[¯[¢[”[‡[‚[€[[„[‡[‰[‰[‡[ƒ[€[}[[€[†[‘[›[ª[¸[Å[Ï[×[à[æ[ð[ö\\\\'\2\<\@\D\S\`\`\X\N\I\F\L\P\S\W\Z\]\c\l\u\ƒ\•\«\À\×\î\ÿ]]!]"]]]]!]&]1]>]R]`]q]€]›]²]Â]×]ð^ ^^9^R^i^q^^˜^³^Ò^ê___._D_Y_i_w_~__”_¢_ª_¶_Ê_Ü_ð_õ_é_×_Ï_Ø_Ú_Ê_¸_Â_Å_¹_«_“_€_o_l_i_r_y_…_‡__‘_–_¢_®_Ì_ä_÷```+`6`C`I`R`R`Q`F`8`,``````"`3`?`H`K`M`K`N`R`S`W`R`^`s`•`³`Ò`õaa#a.a6a?aQabalapaqauasaraoacaSaBa,aa a`ó`õ`ð`ñ`ô`ûaa aa.a@aTaXa]aZaUaMaGa=a3a#a`ò`Ï`¸``Š`m`\`H`H`0`"`_ì_Ö_Å_É_¾_¾_¦_–_‚_x_p_h_n_h_w_r__y__{_q_o_O_D_%_^û^ä^Ì^µ^¥^—^ž^^^`^Z^<^8^)^ ^7^2^j^#^^]Å]±]¦]ÿaygMj(gÕe‚h`j¬kÏmxkñgç]ZY[!^1[jYiY¬Y Y¶Z*YPYY‡Y–YYY?XÒXÙXëYYKY\YWY3Y X–XGXMX:XX$X-XOXEXzXƒX¢X•XvX X€XiX£XãXâX»XÃXôXÆX«X—X’XýY]YUY3YXéXæYYoYéZ)ZYØYÜZv[;[f[.[*[q[[[Z—Z¨Zü[w[V[/[LZ÷[ [•[^[D[y[O[![,[[Ÿ[¶[¼[æ[Ï[Ø[ü\ [Í[l[ZxZ$Z&ZCZmZ¾[[e[¨[ž[[ò\S\Ÿ\í]%]s]Å]ç^Y_T_è_æ_¦_g_G_1^þ^Û^Å^Ä_G_7^É^Ã_)`btb×bdaÇamaòbvaßa-a3a=aaLa;a%aoaºaóaÕa¦aˆa:aaaKaŒaÍbb%bCbabvbb¡b¼bÐbêbÿc cc*c8cTcwcžcÌcód!dHdid}d™d°dÉdßdõeee)e=eDeVeeeveƒe’eªe°e¾e¿eÆeÇeÕeÝeðf f"fCfbf|f‰f‰f€fkfSfLfOfOfQfVfbfkfzf}fsfTf,feúff&f3f8f=f8f6f(f#ff"f&f4fEfeff¦f¥f«f¯fºf¾f¼f·f¶fµf¶f¯f¬f£fŸf’fŠf€fyfrfjfdf]fWfQfGf@f7f.f'ffffffff"f&f0f/f3f,f'fffeöeéeÝeÑeÃeµe¥e–e…epeWec1c(cccbübìbÞbÊb¼b¦b“b{bdbLb1baóaÜaÅa«a‰ada6a `Ö`¡`g`'_å_¥_d_-^÷^Ä^^Q^]½]{]W]L]`]u]|]Œ]©^Ç`Ê`l_æaaØ`ÝaaŒaœaža¾aæa´`à_µ^à^u^•^œ^K]è]¢]'\±\j\[oZÅZY·YÊYŒXüX“X]XY Y\YQYnY¹YôYÁY¯Y÷ZZ¦[f[•[[Ñ\#\¸]=]­]é]Ó]Á]Ÿ]Ž]Š]˜]j]&\ö\ï\ò]9]®]µ]æ^^ˆ_._Ú`ša`›_%^~^]]Ñ^a^Ù_8`2aí^Û\?\(\X] ]p]7]™]Þ]¥]õ^K^†^ª^—^£__^Á^f^\__d_ ^ß^Ö^ù^ä^r^]é]ê]ð]÷]ù]ù]ù^^^^^ ^j^Z^f^~^^Ç^•^^‰^…^…^…^^a^D^K^i^€^£^Á^Û^í^ü_ ___s_—_¦_Ä_Ì_É_³_–_p_Q_?_1_!_ ^÷^í^Ú^Ë^»^¨^Š^p^P^4^^ ]ÿ]ð]Ü]À]µ]º]Å]Ë]Ð]Ý]é]ì]à]Ù]Ï]Î]Ê]Æ]Â]Ä]Ä]Á]½]Á]Ê]Ö]å]å]Ü]É]¸]¤]•]Š]|]l]]]I]4]] \ü\è\Ï\µ\˜\„\u\g\[\U\K\;\*\\\[þ[ý\\\-\C\`\w\’\°\Ñ\ï]]0]S]j]z]‡]‘]˜]ž]¬]Å]å^ ^5^W^s^^´^Û__._S_i_x_~_}_y_‡_š_­_Æ_â_ô```_÷_û```` `2`<`9`'`#`'`4`9`2`*` `` `_ý_ú_ü```.`I```w`‰`›`ª`·`Å`Í`Ë`É`Ê`Ì`Ò`Ï`Æ`¼`¹`¯` `‡`|`u`b`[`_`l`…`¢`À`ß`ò`ûa a aaaa&a8a@ab@baÑa‰aia[a`aza‡a’a¨aÀaább%b,b3b0b%b b aéa‚a*a&aqaØbbJbxbsbubZbPbRbPbQbEb?bQb^bhbb’b™bbbXb#aæa¡akaEa!a`â`Á`Ÿ`u`C` _Ê__C^î^›^M]ý]³]g]\°\…\n\a\\\4[Ü[‚[1ZùZ÷[?[ˆ[’[U[=[¬\F\±\é]]]-]a]z]{]x]x]ƒ]s]_]L]I]c]v]X]<]:]G]T]v]¶]ý^4^X^s^‘^^R^/^,^4^9^8^+^"^^#^!^$^4^P^l^’^¯^È^Ú^ã^Þ^Õ^Ñ^Ë^Á^Æ^Õ^æ^õ__^ò^Ø^º^œ^‚^j^^^Q^;^%^ ]õ]ð]ê]Ö]·]š]]q]n]k]k]Z]B]7]>]D]T][]P]\ò]]I]f];\à\„\W\?\E\T\V\T\N\P\W\l\„\¨\Ç\×\×\Ð\À\©\\u\e\]\U\U\W\Z\\\\\l\z\†\‘\\–\Ÿ\ª\­\ª\¹\¾\¿\¶\ª\š\ˆ\u\n\i\o\t\r\e\R\<\3\/\B\C\\\\-\9\7\1\#\[í[ç[ç[î[à[³[•[™[°[ß\ \2\O\S\C\=\J\J\C\:\$\ \\\+\<\;\<\G\^\ƒ\£\»\È\ê\÷\ô\à\Ú\Þ\å\ç\ê\ñ\ü]]&]M]e]n]x]x]|]ˆ]Œ]–]—]˜]]Œ]Š]]p]^]U]Q]N]F]J]Y]D].]]]]]]\ñ\ã\Ý\Ò\È\¸\­\œ\˜\—\˜\”\‚\q\]\k\{\r\j\N\3\"\\\[þ[ù[ö[ú[û[þ[ý[ý\\\\\\[û[é[×[È[¾[°[Ÿ[[‚[z[z[{[~[[[€[[}[x[w[|[…[”[ [¯[À[Ì[Ø[á[ë[ó[ÿ\ \\#\*\5\>\G\T\h\z\‚\}\y\u\v\w\{\‚\€\\~\|\}\‡\–\ \²\Æ\ß\÷]](]:]F]I]F]E]G]J]S]]]i]u]†]—]¯]Ä]Ø]ð^^ ^9^U^o^ƒ^^¢^º^Õ^ñ___._G_\_o_ƒ_“__­_»_É_Ï_Ü_è_ø` ` `_ô_ô_ü`_ï_Ø_ï_ö_ê_Ü_Æ_·_ _™__”_•_›_¢_©_¨_­_·_Å_Û_î````0`B`X`c`p`x`s`j```W`J`>`3`3`5`>`K`V`b`h`i`h`c```Z`R`U`m`Š`¨`Ã`âaaa4a?aIaNa[afapaya{a„aa‘aŽa…azala\aVa@a5a#a#aa!a"a+a2aBaKa`apa}aaƒa‡a{auaja`aKa=a&a`ï`×`°`¨`…`x`f`c`X`=`.` `_ê_ó_é_Ù_Æ_²_¥_™_”_Š__Œ_•_˜_œ_¤_Ÿ_¦_œ_”_€_l_Z_<_)_ _^å^é^Ï^Ø^È^Å^©^Š^}^c^j^Q^^^R^Q^p^7^ ^-]Á^]Ø^ûc´i jkgàhagÊilh¿dc¨_ŸZV]Wb\]¿[ÛYcZ†]Š_i]G[YÝYØYxY$Y XÝXÖX¼XæXýYXãXˆX‚X_XXXXX/XOXRXqX†XŽX—X“X·XšXrX X¨XÈXäX½XÎX¾XƒXsXhX¸YŒYêY³YY6Y%YiY†YäZ-Z;ZZ"ZÎ[ZüZû[5[´[R[[J["ZÏZì[|[—[Y[ Z²ZÝ[M[`[”[[0[ZìZå[[l[­[Ê[ô[Î[œ[²[Ñ[£[GZÓZ:YèYÿZZ>Z¢[[z[ [•[}[Â\_]]¢]¬]¼]Ì]¢^_i_ã_®_”_¡_¢_C_Q_›_¡_¸_×_†___«`[aÁc„cYbŸbQbyaÑabaf;f6f:f@fOfUfbfgfif_f]fPfCf8f)fffeùeîeÞeÎe¾e§eexeeeSe@e.ed÷dÙd¸d¡dd{dddRd>d)dBd$d côcßcÉc·c¥c˜c†czclchceccc[cTcKc@c1c(cc bóbábÌb²b—bzbbbAb baäaÊa°aalaCa`é`³`w`7_ô_µ_v_B_ ^Þ^­^r^&]Ù]•]j]^]g]z]€]q]å_‡`ò`™`'`Íba¸aaa.amaõbba²`¦_x^Ó^–^y^B^]Ú]…\ì\U\[Â[pZüZUYÖY–YXvXGX"X1XŠXÏXýY:Y@YLYNYàZžZ¨[][Ì[U[=[°\\¾]D]]¬]É]ô]ç]ø^:^^^]í]†]D]N]˜]Ú]à^^O^°_W`Ya)a$_]Å]G][]m]Ù^S^Á_Q`paL^\\K\²]:]f]Ó]Ø]ô^+^^Ø__^¶^Ñ^å^¼^«^…^Ô_–_t_2_7___@^¨^ ]ê]è]î]ð]í]ï]ï]ò]ò^^^^*^k^~^j^É_ ^¯^Œ^Š^„^Œ^˜^•^v^L^B^X^s^’^®^È^Ú^í^ô^Ï^ë_ž_Ô_Í_å_ð_ó_å_Ì_­_…_m_]_K_5___ ^ñ^Ý^È^°^—^y^[^D^7^0^^]î]æ]æ]í]î]ó^^ ^^]ý]ù]÷]ó]ô]ð]ñ]î]ê]ä]ë]ù^^^^]î]Ö]¿]­]Ÿ]’]‚]v]g]U]@]+]]\è\Î\¸\ª\\”\Š\\t\l\a\R\E\9\6\<\E\O\b\v\\¤\À\Þ\ý]]:]W]v]]Ÿ]«]¶]½]Ç]Û]÷^^>^b^~^—^´^Ù__4_Z_}_’_›_™__’_§_·_Ò_î``%`/`2`*```"`&`0`D`]`m`h`U`N`Q`]`d`b`_`[`U`T`Q`M`I`D`C`P`c`w`Œ`¥`²`¹`Â`Í`Ú`å`è`ã`ã`ç`å`â`Ú`Û`æ`ß`Ë`°`¢`Ž`‚`€``…`—`µ`Ø`üaaa!a,a+a5aHa^avaatava‡a•a˜aa”aœa¡a®a¿aËaÒaçaübb,b?bNb\blbb’b¤bºbÙbòc c&c;c>c9c5c-c&ccccccccccccc'c2c@cOc]cgcjcmcic`c]cUcHc@c7c+cc bøbîbìbðbòbôbòbìbábÈb®bœb‹bybfbRbDb:b0b"ba÷aÜaÄa¬a–a}a`aGa0aa`î`Ø`È`¼`«`•``t`p`m`h`_`P`=`*`_ý_Þ_¶_™__l_]_M_A_<_<_9_B_I_P_O_M_N_R___u_ƒ_‹_ƒ_y_j_`_T_T_U_Z___h_n_s_x_ˆ_¤_»_Ý``+`‰a`aèbaÈa˜a|a€aa¢a“aKa?a{a‘asa@a/a=axaçbb aÓaŸa¬aÏaØaçaßaáaÚbb&aÛaÙaûbañaªaalaeaka†aša­aÈaìbb)b@bDbCb6b,baÂaVaCa[azaÙbMb’b³b¨bœb›bŒbvbjb_bmbtbmbzb‡bŽbb§b¦b•bcbaÝa¨a~a\a\/\#\\\ \\\ \\\\ \\\\ \ \ \[ý[ë[Ý[Î[¾[¨[•[ƒ[v[s[v[v[x[|[y[w[q[l[m[v[„[‘[¤[´[Å[Ò[Ý[ê[ñ\\ \\%\0\=\J\Z\g\z\Œ\\¢\¢\\›\˜\œ\£\¥\¦\¢\œ\˜\ \¥\±\Á\Ó\ê]]]5]L]`]i]l]i]e]h]r]z]~]‰]•]«]Â]Ù]î^^^8^[^s^Š^š^¬^¿^Û^ô_ _"_5_F_^_u_‹_ž_¬_º_Ê_Ý_ï_ú`` ``` ````#`(`` ``#`` _ù_é_Ø_Ì_¾_¹_¶_¹_¼_À_Ã_É_Ì_Þ_ë````0`@`T`g`y`†``‘`’`Ž`„`z`i`V`L`E`M`[`j`q`x`u`l`h`e`d`d`u``§`½`×`òaa/aHaXa`aeanaqawa~aŠa”aža©a§a¥aœa—a‰a€apabaSaLaLaVaTaaacasa€aa˜a a¤a£a¤a—a—a…a€aka]a@a)a`ï`Ñ`Ã`©`—`†`{`v`\`U`5`&```_ù_ë_Ò_É_¼_¶_²_®_´_®_¼_¹_Â_Â_Ã_Ã_µ_´_“_…_g___;_2_____^û^ë^Ê^»^“^Š^}^p^^{^u^…^.^2^^5]¿^`e¤j‰i°j¾hÕg}gJcÇc§a‚[‡]+f\cõ]pZP]±c±h>fÔ`7\]Z°YæY,Y)XÔXïXÀXÀXÈX·XÉX±XQXBX2XXX'X[XdXtXyX†XšXžX©XÀX—XsXxXXðY XÕX¹X£XeX_XgXkXèY-YLYYqY=YoY˜YÏZ(Z…ZPZZKZ`Z—Zþ[_[´[u[[*[BZùZé[J[”[ZZæZ³ZÀ[[n[»[d[ZöZÄZ¼Zì['[x[´[Õ[´[[t[ [›[ZƒZYÄYÛYüZIZ®[[–[€[r[…[›\\µ]U]¨]¹]ƒ]]^_Œ_ù_ _‡_†_‡_P_»`2`#`>`_Æ_j_X`F_Ù`b©cÒcNboaÇa*aAa[a%a(`Ó`Þa`aqaba—aÊaÚa²aa@a%aTa’a×bb9bVbyb©bÕbæbúcc,cLc_csc}c‰cœc°cÎcùddLdyd–d°dÒd÷ee@e^e|e’ešeže©e¾eÓeîfff0f=fLfSf_f]fbfdflfvf„f–fªfÄfÕfåfèfØfÁfÉfÞföføføfófìfäfæfâfÖfÅfºf³f®f°f§f¤ff“ff‡f‚f{fsfpfsf~f’f©fÁfÍfÒfàfîfýggggggggfþfúfúfúfúfùfòfïfæfÝfÑfÇf¼f°fªfŸf“f„fzfnfhf^fcfgfxfƒfŽf“f—f–f‘f‡f~fqfdfXfHf_ù_¹_}_I_^ï^»^ƒ^:]ñ]°]„]w]y]]|]‡^|`_`õa!a4a(aáb³b/a:a©bibLba“`q_<^À^œ^\^]å]™]w]\R[á[Z[ZÝZnYŒX³XTXZXhXMXXXTX³XÌXæYPYžZ&ZÉZ×[#[/[[C[§[õ\¹]g]‰]r]·^7^X^U^ƒ^¯^}^s^=^]ò^]þ^'^h^œ^â_¬`ª`£_û^K\÷\¯\«]4]ù^ª_5_°`,`]Ò\L\l\œ\â]¯^…^__X__+_^™^)^a^‘^µ^×^Û_,_¤__E_G_e_.^ç^r^]ó]Þ]ç]ï]é]ç]ã]æ]ó]û^ ^-^A^S^K^K^q^^Ž^”^^„^”^ª^¨^^}^a^W^i^„^š^¶^Í^Ó^Ð^Á_©a`¸`#`````_â_»_›_ˆ_r_`_K_9_.__ ^í^Ò^¶^^^l^a^R^B^0^ ^^ ^^^^,^)^'^&^^^^^^^ ^^^^^+^;^A^;^(^]ñ]Ù]Ä]³]­]£]›]Ž]x]a]V]E]/]\ø\à\Ð\Å\¿\³\§\ž\“\‡\}\z\r\q\w\}\†\–\©\½\Ð\ê]]#]>][]x]”]²]È]Õ]á]ê]÷^ ^$^F^i^ˆ^¦^À^Þ_ _7_d_‹_¦_µ_º_¶_¹_Ä_Ò_Þ_ú``1`E`P`S`K`B`?`A`G`R`i`…` `©`š`†`~`ƒ`ˆ`†`‚`ƒ``‡`‹`Ž`’`š`Ÿ`¤`ª`¶`Â`Ð`Ü`ã`è`ë`ó`ú`ÿaaaa a`ô`øaa`÷`Ý`Á`¯`¼`¼`Á`Ç`Ë`Ú`ùa$a9a@aJaOaSaba~aža¸a¾a³a­a¸aÈaÐaÔaåaðañaõbb b bb4bRbpbŒbžb¥b¬b¼bÎbçccc+c;cSchcocmcdc\cPcDc:c3c1c2c4c4c2c-c(c)c/c6c>cPcecvc‚c„c†c†cc|cyctclc_cWcKc8c(cccc c c cbõbãbÍb·b¡bŽb‚bvbebPb_@_A_G_P_]_i_m_g_b_V_M_F_G_F_N_S___f_p_{_‹_–_±_Ï_õ``‰awaèaúaÊa®a™aœaŒaLaBa9a)aBatala7aKaa¨aêbDbub#aÅa¯aÑaýbaÿbb$b#b añbb_btb7aàa¥a‰aˆaˆa”aªaÇaÛañbb$b=bNbUbUbEb.aÜapacawa˜aÚbPb¹bçbïbÎb¼bµb¬b«bžbŽb‰b’bšbªbÁbÌbÃb·b˜bhb(aça´aaua[a:a`õ`Æ``M`_ê_¬_r_/^ê^²^y^4]ê]š]l]F]] \í\¸\y\5\\%\5\6\9\[×[ó\v\â]7]Z]b]‚]®]Ä]È]á^^%^]á]¬]z]z]˜]´]Ç]Ã]®]¤]®]Õ^ ^H^^·^à^Ý^¸^’^ˆ^œ^–^„^^€^z^j^Z^S^O^[^€^¬^Ì^Ò^Ô^Ü^ç^ê^í^í^ò^ó^÷__ _D_Y_Z_D_^þ^Ü^¾^¢^†^i^O^6^#^ ]ÿ]î]Ò]±]Ž]w]l]m]j]b]W]J]<]=]+]] ]*]]\ë\ô]7]b]Y]1\è\¡\‚\ƒ\ˆ\Ž\\—\\§\°\Å\Ó\Ý\ã\ä\ß\Ò\Ã\µ\¬\¤\¥\«\³\µ\¯\ª\ \ž\™\š\£\¥\¶\Ç\Î\Ð\Î\Í\Å\«\‘\|\g\W\Z\V\U\O\S\S\O\:\\ [ü\\\7\D\@\7\1\\[ô[Ú[Ä[¨[Š[o[b[Y[a[ž[ò\)\I\W\O\:\2\B\P\K\B\<\1\#\\&\>\V\T\G\B\D\W\o\}\{\x\\Š\ \·\Ò\à\á\ã\í\ö]]],]<]I]_]i]r]z]]]œ]ž]¤]Ÿ]‘]†]ˆ]}]p]g]]]X]W]P]C];].]&]#]!]]] \ÿ\ú\õ\ë\ß\Ô\É\Æ\Á\¼\¹\±\¬\¢\œ\–\\†\t\a\P\;\8\/\$\\\\ \(\%\\\\\\\ \ \ \[ù[æ[Õ[È[¶[[Š[{[u[s[t[u[t[r[l[c[^[f[p[‚[”[¦[¸[È[Õ[â[ð[ý\\\#\1\?\S\h\|\\›\«\·\¾\¾\¹\µ\¸\¼\Á\Ã\Ã\À\½\Â\Ä\Ï\×\è\ú]],]D]]]q]ƒ]Ž]’]]]]“]—]¢]ª]»]Í]ä]ù^^7^T^o^…^^¯^Ê^à^ø__*_@_S_f_z_“_§_¼_Ï_Û_ê_ý```%`(`*`+`1`0`/`(`1`:`9`7`6`@`>`3`)`` _ù_í_â_Ú_Û_Ú_ß_Ý_â_ä_ð_ú```1`A`Q`b`e`n`†`¦`±`²`²`­`™`‚`i`R`E`R`h`~`ƒ`‰``n`k`l`|``¥`º`Ë`Ù`ì`ÿa"aCaYakaqavaza|aa†a“a¡a®a»a½aÁa¹a¸a²aªaŸa“a†a‚a€a†aŒa”a˜a£a¯aºaÃaÄaÈaÄaÁa¶a°a£aa‡a|a]aBa"a`î`Ó`Ð`¼`«`—`‹`~`i`a`N`A`1`"``_ù_ê_å_×_Ø_Í_Õ_Í_Õ_ß_ß_å_Þ_ç_Ø_Ö_¿_¸_•_ˆ_j_`_T_C_J_H_J_9_*_ ^ê^à^¾^¾^¤^‡^§^‚^“^ˆ^H^*^^]á^¼bh·ilœkiiYg›fØe’^H[ÿ^yb§\Zž]Ý_a dþff_3\ ZÙY±Y~XãXØXÅX³X¯X»XnXyXkX*X'XX!X2X{XX„X–X“X¡X¹X½X·XX‚X_XhX­X©XšXŽXsXTXXX~XXXgX²Y[YŒYrYeY¢ZZ“ZéZZY·YËZLZë[W[€[€[S[9[6[<[[[;[h[ ZÃZ²ZÂ[$[“[›[7[ ZþZÙZÙZæZþ[0[t[’[Š[‡[u[•[”ZéZEYãY¼YåZZvZå[ [@[7[e[Ó[â\\J\z\Ì]]^]™^2_S_ù_’_\_3_K_€_Ö`2`D_÷_:_:_=_6`H_è_a¸cÂcpb‘am`÷aaqa`ö`¨`¾a-aSaa¹a¥a²ašaXa1a@asa³a÷b(bSblb˜bÊb÷cc#c>cWcvcc c¯c¸cËcádd'dRd†d¦dºdÕdýe)eVe€e©eÊeèeèeèeíeûff0fOfhf„ffœfŸf¦fªf²f¸f»f¾fÅfÏfâfògg ggg gg+gEgIgEg9g1g(ggfôfæf×fßfæfåfàfØfÐfÄf¾f¶f³f¬f£fŸfœf£f¯f½fÎfãfðgggg#g)g)g,g.g/g,g,g,g-g,g0g0g2g/g,g#gggfûfðfèfÞfÒfÂf¯f f™fŽff’fœf§f²f¹f½fÁfÀfºfµf¨fžfffqfgfTfDf6f$feûeåeÒeºe£ee|eheTe?e&e dódÝdÄd¬d‘d«d‡dedFd.ddcìcÖcÇcºcµc¶c¶c¹c¶c­c¢cšc‘ccsc_cKc6cbûbÛb½b™bqbNb'baëaÈa¨a„a\a0`ý`Ã`‚`?_ú_»_~_N_^ñ^Â^‹^E^]Ï]­]“]]’]·^H_m`{`j`µa8a a}b™bÞbbSbb)aéa@_ú_^Ñ^^d^X^] ]4\å\q\[vZùZ’Z YdX·XX¦X„XW¹W‘WÃXXwYYƒY¹YîZJZ…Z»Z¼ZÚ[%[’\ \¶]X]Œ]”^^€^š^‹^±^à^ƒ^|^¥^^’^i^Y^´^Ó^õ_W`0`Þa`K^\Õ\˜\]*^__˜_Š_;_^\Å\_\Y]/_W_E^¡`~_ù^ð^Ù^>^^^[^´_ _1_X_x_–_Ä_£_s_ˆ_I^ï^’^<^]ß]à]ç]å]ç]æ]ã]ñ]ý^^^%^-^D^[^f^^ ^Ñ^ñ^§^™^°^º^¿^³^Ž^j^m^~^—^«^º^É^Ð^Â`açaS`i`6`=`C`D`5`_ì_Ì_³_¤_ˆ_v_e_Y_C_-_^þ^â^Å^¦^”^‹^t^`^Q^I^A^>^>^H^T^Z^Y^U^M^H^E^D^G^H^L^H^D^A^D^U^b^k^f^[^C^(^ ]î]Ø]Æ]¿]½]·]­]¢]“]‡]s]]]C]-]]\õ\ê\Ý\Ï\À\µ\¯\§\¦\¦\©\®\±\º\Æ\×\è\ú]]*]G]]]u]“]³]Ó]é]ü^ ^^)^>^Y^s^Ž^«^Ã^Ý__*_[_Š_¯_É_Ó_Ô_Ð_Ü_í_û` ``5`R`c`j`m`f`_`_`c`j`r`Š`¬`Ò`é`æ`Õ`Î`Ñ`Ñ`Å`´`³`·`½`Å`Ï`Ô`Þ`å`ì`÷aa aaaaaaaaaa&a2a2a aa a#aaaa`ü`ü`ñ`øaaa+aEahama\a_ala}a•a²aÌaÞaãaÙaÙaáaìaübb&b*b.b=bKbQbObTbhb‡b¨bÄbÕbÝbçbûcc*cBcScaclcc˜c£c¤c›cŽc{cocacXcVcScQcQcQcNcJcIcIcMcWcacvcc˜c¢cªc¨c§c¤cžc•ccˆccoc^cPcEc;c2c,c%ccc bôbßbÍb¼b©b”b‚bpb]bIb5bbaèaÎa±a˜aaaaGa0aa `ó`Û`¿`¤`‰`o`V`J`@`>`6`*`` _û_ë_Õ_³__h_N_8_&_________&_3_:_A_D_K_M_P_L_C_@_=_8_<_B_G_H_T_[_d_m__Ž_«_º_á``afa’a™aŽa‘a|alauaBa=a`ala]a~ašawalaµaþbbIb³bcaþaïaäbb&b:bNb[bHbaøb.b}b„b`baÔaŸaŒaa—a°aÓañbbb4bIbXb]b_bZbJb#aÐa«a¯aÙbbZbßccc bùbçb×bÁb¿bÀb²bµb´b¸bÃbÃb¸b¬bb\b%a÷aÍa¯a•aqaWa7a`Ú`›`a`3_ó_³_}_@_ ^à^©^m^(]Ù]´] ]w]o]K]\Õ\¦\·\Ð\¾\¦\\z\t\\è]3]l]‘]¬]Ë]ñ^ ^^3^W^P^-]õ]À]¤]ª]¹]Ì]á]æ]è]é]ÿ^'^T^ˆ^¸^ô__^÷^ê^ã^Ú^À^¦^¢^¦^¡^^{^t^x^Ž^°^Ü__ __ _______'_2_C_a_q_j_P_$_ ^ð^Ò^²^›^…^k^S^>^#^]÷]Ú]½] ]‹]z]t]l][]S]R]T]T]D]5];]L]Q]9]]]g]”]‘]}]Q]\ä\×\Û\ç\ë\í\ò\ÿ]]]"](])]]]\ü\í\ã\á\à\â\à\Ú\Ò\Ë\Â\¹\³\¯\¬\²\»\³\¯\­\°\³\¸\²\š\ˆ\{\m\n\e\]\N\G\C\;\-\\\\\8\Q\`\^\R\E\[þ[ê[Ö[¿[¦[‰[m[^[T[][‘[Ü\\B\M\L\H\E\M\]\]\P\F\>\4\*\,\4\K\H\:\5\0\7\C\P\O\G\K\[\p\Œ\©\Á\Î\à\÷]] ]]]]!]3]K]`]f]q]‚]”]¤]±]©]š]’]’]‰]~]r]b]T]R]Q]L]C]5]0].].]+]"]]] ]\þ\õ\ì\à\Ú\Ð\Í\É\À\¾\±\®\¬\¨\¢\–\…\v\e\Z\L\C\:\4\7\8\<\8\5\+\(\#\ \\\\\\\[õ[ç[Ô[Â[®[“[‚[w[q[o[r[n[g[`[W[W[_[p[~[“[£[¶[È[Ô[â[ð[ÿ\\ \1\A\X\o\‰\\¬\»\Ç\Ô\Ü\Û\Ò\Ò\Ó\Ö\Û\à\à\ß\â\å\î\õ]]]']=]V]p]„]™]¥]´]¶]·]´]¶]¸]¼]Ã]Í]Ý]î^^^D^^^z^“^¬^Ç^è^þ__*_;_R_k_‚_—_±_Ç_Ý_ð_û```.`@`I`J`E`D`D`E`E`?`=`>`B`I`W`^`^`X`O`D`7`+````_ÿ`_ý_ÿ_ÿ````,`@`O`_`Y`L`F`r`°`Å`Í`Ð`É`¬`Ž`o`Z`V`j`†`•`š`š`Ž`{`x`†`¥`Ä`×`ä`ð`úaaa5aQaka|a…aaa“aŽa•aœa­a»aÉaÒaØaÝaÝaÙaÕaÎaÈa½aºa¼a¼aÅaÇaÒaÔaÚaàaåaäaåaÚa×aÐaÇa¾aµa§a–a‚a]ac býbÚb¹bŽbebBbaþaßa»a–ala@a `Í`Œ`E_ÿ_¼__K_^é^¶^{^D^]ç]Ì]¨]—]½^K_%_»``k`ß`íaaÒbbƒbXb7b2a¶aœ`ê_”_^Ô^x^‚^P^ ^ ]w\ñ\z[å[Œ[4Z¹ZAYæY}YX°X"W†W+W#WWûXwXðY+YeYYçZ?ZZŠZº[1[Ö\Š]!]¦]Ð]¸^ ^]^w^‹^¸^î^¤^œ^â_^Ý^£^ß_Z_Z_›`V`ßaaÈ`]y\™\ˆ\É]y^%__[_!^Ò^³^Q\â\H\\]Æ`W_p_)`õ`_F_ ^^^_^‚^ó_^_~__™_½``'_Ý_Æ_¨_a^»^;^]Ý]Ø]Þ]á]Ý]á]ã]ë]õ^^^&^/^<^S^{^ ^®^Ó^ô^µ^ ^®^Í^â^Ú^µ^‹^y^z^^œ^­^Á^Ö^×_²`ña`¼`{`_`t`s`d`H`_ý_Þ_Ð_´_Ÿ_†_v_g_U_;_"_^ì^Ô^»^°^¡^^^y^n^h^m^z^„^ˆ^†^‚^}^z^v^u^w^x^|^x^x^x^^^–^”^ˆ^v^[^:^^]ë]Ø]Ô]×]Ì]¼]²]ª]¥]˜]Œ]x]`]L]:](]]\÷\é\Ý\Ö\Õ\×\Ü\à\â\æ\ï\ù]]]$]6]L]d]|]•]®]Í]í^ ^"^8^J^\^o^†^^µ^Ï^ì_ _0_Z_‡_¯_Ñ_æ_ê_ï_õ```%`4`B`X`l`y`}`~`{`v`}`€`„``¨`È`öaaaa%a,a$a `í`ã`æ`ì`÷aaaa(a1a;aEaOaUa[a^aYaXaNaEa>a?aFaTa\aYa[a\aFa.a'a.a?aFaIaIa:a$aAataa™a–a…aaŠa¥aÉaãaðaùbaþbbbb$b_D_B_?_A_I_\_c_c_f_g_V_F_._^õ^Õ^º^ª^™^…^t^a^I^+^]ò]Ò]¼]©]™]ƒ]q]g]e]k]r]o]g]`]f]y]~]f]O]i]¡]Â]Å]¼]œ]t]I]:]F]O]G]H]S]X]X]e]q]w]v]p]h]Y]H]2](]$]]]\ÿ\ó\ì\ê\â\Û\Ñ\É\Ì\»\°\»\¼\º\®\¥\¤\©\œ\˜\“\Œ\ƒ\q\_\N\@\1\$\\\!\-\?\X\p\w\o\Y\.\[ç[Ï[¸[¥[[w[e[d[a[y[Å\ \.\;\D\K\O\b\\\d\W\L\D\?\3\#\2\<\0\ \\ \-\6\5\5\3\8\C\_\v\“\®\Î\ï]] ]]]] ]]&]6]G]b]r]]¨]·]¶]©]]–]‘]†]w]c]O]L]G]H]D]7]5]6]7]3]+](]&]]]]\þ\ò\è\á\Ù\Ð\Ò\Ì\Â\¾\¿\¾\³\«\Ÿ\”\ˆ\{\p\e\Z\V\T\U\U\R\N\E\=\3\3\-\)\"\ \ \\\\[î[à[Í[¸[£[[€[w[s[q[m[g[_[X[Y[d[r[ƒ[[¢[±[Ã[Ò[á[ñ\\\)\?\V\n\Œ\£\µ\Á\Ò\â\í\ô\ø\û\÷\÷\û\ý]]] ] ]]]#]3]B]W]k]]˜]¯]¿]Î]Ö]Ý]Ü]à]ä]æ]ì]ð]ü^^^)^A^Z^z^˜^¸^Ý^ý__6_M_Y_k_}__ª_Ã_á_ø````1`H`[`e`e`b`_`\`b`Z`R`I`B`A`I`o`y`y`z`u`n```[`L`@`4`,`)`$`#`!`"`!`'`3`C`P`^`e`T`A`@`„`À`Ò`Ý`á`à`Ë`°`ž`•`—`¡`¯`´`·`´`¨`–`™`³`Ñ`óa aaa!a a-aBa\araƒaa˜aŸa¨a¥a§a¨a´aÀaÓaãaìaõaøaøaøaúaûaüa÷aþaüaÿaûaýaûbaþbbbaýaòaèaàaÝaÍaËa°a¢axaZa/aa`ö`ü`á`Í`º`§`˜`ˆ`z`n`a`T`N`B`<`5`+`%``` ```````` ``_ý_ø_Ó_Î_¿_¶_­_¥_¬_¥_¢_‹_w_a_?_?_"^þ_ ^Ö^Ð^¾^º^œ^l^s^P^g^B^J`©fJj?k×lájcg b-`ži»cæ_Ðcdúc¯`JaöhŒf;f _¦\*\K[ÐZ!YhYüYUY|YhXíYX£XcXBXXWÿX>XbXtXŸX­XÓXíXéXµX«X¬X§XX¤X“XšX X»XªX€XUXTXcX7X5X2XFXlXìYXYÚZZZ¡Z›Z6ZTZ¤Zý[k[s[K[7[;[E[N[d[([[W[b-b>b•b«b«b©bbXbaÉa±a°aÀaèaþbb(b?bUbebyb~b€bfbaÝbbb,b1b‡c;cªcžckcWcCc)ccc cbõbëbßbÝbÒbÆb»b¦bbmbHb$aÿaÔa²aŽaoaHa`Ô`“`[`'_ñ_¶_y_G_'_^Ý^¬^t^=^0^A^?^)^]ë]Í]Æ]À]¯]›]Š]„]Ÿ]Ï^^4^E^S^Z^q^Œ^ž^¬^»^À^²^“^k^R^<^.^%^,^H^d^x^Œ^¦^Ä^ë__P_Ž_ª_‹_e_M_=_*_ ^ô^ë^é^Ý^Ð^Í^Õ^ç__-_@_F_K_F_K_O_R_W_a_j_s_~_~_u_j_b_Y_W_B_'_^å^Ç^²^ ^‘^„^v^i^Q^6^]ó]Ý]Ð]¿]£]Ž]…]†]Ž]]‰]€]z]…]“]“]~]v]š]Ð]ë]ê]ã]Ì]­]…]p]p]w]{]]‡]Š]Ž]ž]¦]®]´]¶]¯]¢]]~]u]g]X]O]E]1] ]]]]\ú\ò\á\Ô\Í\\x\l\‚\­\©\²\·\³\°\¤\ž\\\n\V\A\1\)\)\3\?\M\[\o\}\\n\L\![ö[×[»[§[–[Ž[}[y[w[…[º[ç\\4\E\O\`\t\\•\ƒ\p\R\B\<\1\\\\\\ \\\'\,\0\,\*\/\=\L\h\„\¦\Æ\ë]]]]]\ý\ù] ]&]?]Z]€]¡]¸]Â]º]ª]]”]…]r]Y]F]@]6]8]9]6]4]5]7]3].]+]*])]&]]] ]\õ\ï\â\Ù\Ö\Õ\á\Ú\Ò\Í\Ä\¹\°\©\\•\\€\y\t\r\r\o\l\b\[\N\F\H\B\>\7\6\1\1\1\)\\[ÿ[ï[à[É[´[ [[†[[w[t[o[g[e[k[u[[Š[—[£[µ[À[Î[Þ[ò\\!\:\Q\m\‹\¤\µ\Ç\Ü\ì\ÿ] ]]]]]]]"]']+]2]4]?]F]S]]]s]…]]±]Ã]Õ]ä]ô]ý^^^^^^^ ^&^4^@^S^g^}^™^´^Ø__)_J_g_}_Œ_”_ž_´_Í_ò` ``&`2`G`[`p`|`‚``u`p`v`x`s`g```e`o`†`‘`•`˜`—`–``Š`}`r`f`W`P`L`M`J`K`G`H`N`Y`g`t`s`f`L`N`•`Ç`Ý`æ`ì`î`å`Õ`Ó`Ð`Ó`Ö`×`Ù`Ú`Ö`Î`Ç`Í`à`üa!a8aJaFaHaGaNaWakazaŽa–a¨aµa»aÀa¾a½aÁaÍaÝaíaþbb bbb b$b2b1b4b0b/b)b)b#b%b"b"bbbbba÷aúaìaèaÒaÀaŸaa[a;a7a'a`÷`Ý`Ï`¹`­`›`•``}`w`k`j`Z```M`R`;`;`8`3`4`3`6`8`<`9`C`7`9` ``_ö_é_ä_á_Ú_Û_Õ_Å_Ä_ __x_N_h_O_?_$^û^Ý^Â^Ì^^^h^9^†^;_>dg€iylk˜k°díaÃdÎcæbqcÆh´id’ebi/ióiªdŒa#_]Z‚YµZæZYoZZlYÙYX­X‚WóWçWõXXGX_XŽX¹XíYYX²X„XwX•X‚X™XXXfXjX‚X†XjX\XTX*X#X*X`XzXÄYY¹YÔYZZZäZZSZÐ[R[¶[®[e[s[b[I[6[<[Zë[[ [-[=[\[x[‘[«[¾[‰[q[‹[§[¢[’[™[t[n[s[[[¿[ñ[IZÓZ‰Z!Z Zm[G[ï\\R\Z\6\{]\v[¹\t\Œ\x]]‡]Ž]®^_i_1_ _E_>_^Ë__Q_^±^²^Ð^ú_Ía!`”`Rb¥cbcÞcCa±a,b'ckcÑc°bþbkb aÑa—a›aœaaŽa”aµaäbbPb„bÂcc7cdcc”c¦cÄcèd d d5dHdfddd dÈdøe#e[e‘eÍff6f\fXfXfbfyf”f¬fÃfÔfñg g#g2g?gBgDgNg^gsgˆgœg¬g®g²g¯g°g²g¹gÇgÑgègúhhhhgìgµgzgigsg‘gšg¡g˜gg‡gŽg’gŽgŠgguggg_gRgHgX…X­X×Y,Y¶Y÷YøZ9Zš[3[½\B\ð]¤^+^]ú^b^^y^^s^u^¡^×^ú_K_­_‘_Ù`Ñ`©`ž`_H^Ó^\\L[ø]\÷]V]Ó^=__e_U__µ`]„\O\…\´^o`£`•_}^ƒ^/^[^·_>_~_Þ_Û_±_¡_Ú`X`g`*`*`_Ü_‰_F^ù^Œ^R^]Ü]Ó]Ô]Ë]Ð]Î]Ú]ß]é]î]÷]û^^1^U^}^¡^®^¸^Â^½^¨^¶^Ø^Ü^Ò^·^’^f^d^„^³^Ù^÷_7_x`Ra×a¼a_`ì`¶`Ê`¶`›`q`F`-`_ù_Û_Ç_µ_©_˜_Š_s_Y_?_#_ ^ñ^â^Ñ^Æ^À^¿^¿^È^Ö^á^æ^ï^î^é^ç^ä^Ý^Ú^Û^Û^ß^å^ì^ó^÷^ø^ê^Ø^»^š^t^U^9^%^^ ]ù]å]Ø]Ì]Ë]Å]Ä]¼]¶]«]Ÿ]”]ˆ]y]o]`]L]?]9]8]7]@]H]Q]V][]d]i]p]~]Ž]¡]²]Å]Ö]ì^^^<^`^€^ ^»^Ñ^å^÷__,_J_l_‘_±_Ó_ð```!`)`5`D`Y`r`ˆ`š`©`¸`Ä`Ç`Æ`Ç`Ñ`Ô`Ó`Õ`æaa-aSavaaša¡a¤a›a•aˆanacabamayaƒaˆaŽaa”a¢a­a»aÃaÎaÕa×aÕaÒaÅa±a¢aša¡a¨a¡a•a…avaua|aa°aÒaØa¾aažaÎbb b aóaþb bb#bbbb'bFb[bmb}bb¢b±b¼bÈbÙbëbûc c!c7cPcecrccc¡c³cÀcÉcÖcèc÷dddd'd,d-d0d'dd cúcëcácÜc×cÑcÍcÈcÇcÂcÂcÂcÈcÖcècúd dd!d!d!ddddcúcícâcÑcÅc¼c²c£c‹cocTc_ _^ß^Å^±^£^‘^‡^}^k^Q^/^ ]ý]ú]í]Ò]·]¬]²]¶]³]ª]ž]•]“]™]Ÿ]˜]¦]Î]û^^]þ]ê]Ä]œ]Ž]ˆ]“]£]¬]°]¹]È]Ù]â]ë]ì]ì]â]×]Ì]Ä]½]®]]]}]h]X]L]B]9]1]"]]\ÿ\Ð\„\›\\b\|\¥\»\Ï\É\Ç\¿\²\ª\›\\{\f\T\J\D\F\P\\\b\q\\\{\e\@\[ñ[Ð[»[©[£[•[[[[»[×[ý\+\D\]\\Ž\–\¡\™\x\K\3\!\[ý[ù\\\\\\\\ \$\%\#\'\-\8\K\^\z\’\´\Û]]]] \ñ\å\ð]]]7]Z]ˆ]¨]»]Ã]¹]¦]]]m]Q]>]2]0]/]-]1]2]2]2]2]/]/]0],]+]%]]] ]\ú\í\ä\Õ\×\ð\ø\ó\Þ\Ð\Á\¹\³\¬\§\œ\“\\†\„\‚\‚\€\x\o\c\b\]\[\V\M\I\F\J\E\B\7\-\\ \[ó[à[É[¹[ª[œ[‘[[‰[[[ƒ[ˆ[[—[ž[¦[¯[¸[Æ[Ð[ä[ø\\*\H\f\…\¢\·\Ï\â\ö]]])]3]7]7]9]@]F]O]S]Y][]e]g]p]z]Ž]ž]¸]Ê]Ü]ï]û^^^^&^1^6^=^A^G^M^V^b^o^^Ž^Ÿ^²^Ì^û_*_L_d_€_™_§_¯_»_Ó_ö``.`8`C`U`h`}`‡```‚`~`‡``Œ``Š`ˆ`•``¥`§`®`µ`»`»`²`®`¡`–`†`|`v`r`s`q`o`n`p`x````‹`€`ƒ`¨`Ì`ê`÷a`ò`ì`ç`ò`õ`üaaaa`þ`÷`üaaa)aEaXafadahagaoapa}a„a–aŸa´aÃaÒaÙa×aÛaÙaàaëaýb bbb!b$b:bKb]bcbgb[bUbNbMbKbGbFb[•\A]q]g\£\¥]:\¦[É\ä^]E\¤\–\Ã]]ç__U_=_M_^Å^š^‘^“^Æ^ò^Ö^Í_(`a2a`Ébƒbca¹c¦ca£aµcNdCcècóc_bªb:a½aœaµa´aµa©a°aÃaíb"b\b¥bêc1ccc‰c¡c¬cÉcìdd;dUdpdŒd£d­d°dÆdèeeQeŒeÌf fIfff}f{fˆfšfµfÕfèfügg$g:gUgfgngngogpggšg¸gÎgâgígðgîgìgègâg÷hh-h@hUh[hUh>hgÙgµgÊgìgýgôgêgágØgÒgÓgÔgÐgÈg½g´g¨gŸg’g…g|gsgkghgjgtg†gžg³gÈgÕgàgègígôg÷gügþhh hhh hhgñgÍgÉgØgígögügõgígág×gÍg»g§gŒgvgagUgFg>g:g9g=gBgLgUg]gcg_gYgJg?g,gfûfäfÎf¼f©fšfŒf{fkf\fPfHf?f2f$feùeÚeºe“e³e‰e`e4edòdÕd¸d£dŒdvdcdOd^ª^`^*]æ]Ù]Ò]È]È]Ç]Ì]Î]Ô]Ó]Þ]é]û^^;^^^|^^‘^¢^º^­^“^š^¹^½^¦^‡^M^h^µ^Í__t``BaÚc˜b_a²a6`ä`é`Ù`º`š`m`R`/`_þ_ë_Ó_Æ_³_¥_’_x_a_@_0__^í^ã^à^å^ì^ú__________ _ _ ___$_+_._)__^ä^Å^¢^^_^D^1^^ ]÷]ì]à]Û]Ö]Ó]Ë]Í]É]À]¶]¯]§]š]]…]x]n]j]h]p]{]…]Š]]’]—]œ]®]¼]É]Ý]í]ý^^"^<^]^^¤^Ë^é___/_E___|_œ_¼_Û_ü``'`6`?`D`L`Y`o`‹`¬`Ê`Ý`ñaaaaaaaa!a2aPapaa¦a½aÏaÛaáaÚaÒaÎa¹a­a¬a´a»aÀaÁaÁa¿a¿aÇaÒaàaêaña÷aýbbbaùaíaßaÙaÔaÇaºa«a§a±a¼aÌaÛaìañaëaâaàaûb2b\bVbSbCb$b*b3b(b#b%b;b]b{b–b§bºbÉbØbæbùcc(c:cOckc‚c–c¦c³c½cÉcØcèc÷dddd%d0d@dLdQdZdadbdVdKdAd2d!dddddddcücöcócôcûd dd-d7d@dFdGdEd\/\"\\[÷[é[Õ[Ç[·[¬[¨[¤[£[¥[ª[¯[´[º[Á[Å[Ê[Î[Ö[æ[õ\ \ \@\X\w\–\µ\Î\à\ö] ] ]1]<]C]J]Q]\]h]s]x]~]‚]Š]]”]—]¤]¹]Î]ß]ô^^^$^0^9^?^F^K^V^^^g^o^v^‚^Š^•^Ÿ^©^½^Ë^ä_ _0_H_n_‘_ª_¼_Ã_×_ó``2`C`O`_`s`ƒ`’`Ÿ`£`œ`—``£` `¡`§`©`¬`­`³`·`Â`Ì`Õ`ß`Ü`Þ`Ò`Ç`µ`©` `˜`˜`˜`š`”``”`™`¥`¬`­`²`¶`Ë`éaa a`ø`ð`ôa aa'a7a=a9a2a%aa)a0a@aRagata{a€a‘a›a§aaaa¨a¸aÈaÕaèaðaöaöaôaýaþbbb'b)b1b:bLbhb|bˆbŒb€b{bybrbobhbebYbUbCb@b6b+b-b'b&bb a÷açaÏa¶aŸawa`a9a$a`û`ê`Ý`Ô`¼`º`¬`±`¨`¥`§`¥`¤`™`’`Œ`†`€`|`w`{`v`{`}`{`|`t`n```P`E`9`9`0`3`)`"`` `_ê_È_Ù_Æ_Î_¾_¦_‰_J_I^ú_^¿^•^k^W]«]í_Ta|ezjèhyf4b|b*c®bEd~câ`˜_‚ax`Ç`zaÕdÕgÛjÝmj*g€`^]Â]ˆ[BZ»[8YßYZ;Y€XŸXXX'XUXˆX¼XÚXñXôXÛX~XX XXXX"XX)X4X\XpX~X”XÁY!XæXuXqX‰X“XÓXÌX¤XèYÚZä[Zô[ˆ[ñ[ì[Ê[”[…[k[AZóZÙZÇZ‹ZˆZì[e[Ò[é[¿[ä\Y\p\5\4\,\ [õ[ë[å[à[·[n[ï\s[¦[[ZÆZ‰Z„Z´[[p\N]I]]\ç\ñ]0\‡[©\B^X^ç]™\É\z\²]¾^í_._"_=_^Ã^°^”^Ì_X_A^Ï^³__ýa(a»a~aÉa.aEcb‚aa-bgc”cšc‡cb‚b;aÙaÆa×aËaÔaÅaËaÛaÿb8bybÊccXcc·cÈcÔcòddIdod’d«dÁdÍdÕdÜdïee:e€e½ff>fpf‹f›f¨f¿fÜføgg&g5gDg^gxg•g§g°gªg¦gœg­gÄgägþhh#h,h-h hhh2hjh€hh—hžhhjhKh5h1hHhahTh?h/h$hhhhhhgúgïgègÜgÒgÄgºg¯g§g¡g›g¥g°gÉgägþhhh"h$h)h+h/h0h5h;h@h>h?hEhAh4hhh h.h4h6h+hhhh gûgîgÖg¿g©g•ggsgigbgbgegkgvg|g„g„g€gygogcgOg:ggfðfÞfÍf¿f²f¤f—ff†ffsfefSf;f!feÞeûeÑe©e~eYe5edödÛdÂd¬d“d}dddOd9d*d ddd dcðcÜcÂc£c}c[c5cbêbÃbœbwbNb%aüaÔa«a…a[a#`ä`Ÿ`R_þ_¥_R_^¾^~^M^!^^^^Ô___’_?^Ì_aa$b„ba‚ajaIa/a‰aÖa€aBa"`”`"_‚_^á^ ^9]¶]a]\`[½[b[ZÔZà[ZnY‚XÎX^WýWÂWËXXMXˆXÑY'YrYÅZZ3ZuZÐZù[w\\{\¶]6]´]Ê^G^ø_^¿^x^…^Ñ^ò__9_5^Ý_"_È`*_ù^s\©\J\X\$\}]`]ú^=^æ_6_h_©_„_v_Ÿ_ _œ^§]W\ÿ\w\ü`-`_a^Ñ^j__ü``[_ô_—_—_Á_Ó_Ï_å_Ð_š_¢_±_À_â_•^°^=^]ê]×]Î]Æ]¾]¿]Á]Â]Â]Â]Ä]Ê]Þ]ù^ ^G^g^}^}^|^{^o^a^`^^š^—^’^n^y^Ä_O_Û`"a‘cXcñdcc.bAaa$a`ú`Ý`º`Ž`w`Z`G`#` _ó_ã_Ò_Á_¬_’_…_p_`_E_-___ ____*_8_?_G_I_H_E_B_:_7_5_=_C_O_X_]_[_Q_F_/_^ö^Ö^´^”^u^[^C^-^^]ö]ê]æ]å]ã]â]Ü]×]Ó]Ï]Ì]Ç]¾]µ]­]©]£]ž]¢]©]­]´]·]»]Ä]Ç]Ô]ä]ó^^^&^;^T^n^Š^­^Ô^ú__5_N_g__™_¸_×_ô``)`=`K`U`]`b`j`w``¨`Ç`æaa!a3aBaPaQaRa`aiaqaˆa¤a¿aÖaçaöb bbbb baóaêaða÷aýbbbaüaüaübbbbbbb'b/b8b;b9b5b+bb aþaîaçaìaôbb bbbb&b+b3bTb}b‰b‹bmbCb?bLbMbEbIb`b€b¡b¾bÓbæbôccc%c=c\cyc”c°cÂcÒcÞcæcëcôddd%d2d@dMd]dgdmdud~d‹d“d”ddŠd}dqdcd[dVdSdMdIdBd9d2d*d#d%d-d;dHdUd^dcdjdqdndgd^dPdAd8d0d*dd cÿcðcÖc¹c›c‚cmcOc.cbñbÕbÃb®b–b|b^bAb(baõaÛaÁa azaXa8a`ò`Å`”`e`=`_ÿ_æ_Ñ_¸_œ__i_Q_;_(__^ö^ê^Ø^Æ^ª^“^^r^g^X^N^H^K^[^l^…^›^´^Å^É^Ã^º^³^­^¯^²^·^»^Ã^È^Ê^Û^Ù^¸^Ò^ñ_ _._J_h_‘_¼_Ü`` `;`G`¬a`Ó`…`^`c`²aa^a±bbbb(b,ba×aÂa aoa’aàaæaýbbbAb†b§b”bÈbßb×bÒbÂb¨bsb>baòaöbbb2bPbhb‰b¢b©b b^aúaéb b>btbŒb±cŠd©dc±c»c¤c¡c’cŒc„c…cˆc‹c‹cŒcƒcscbcKc+cbàb´b€bMb"aùaÒa¦a{aJa`É`‰`M`!_ð_Ò_»_›_€_h_E___ __*_!_ _^ý^ô^ò^ë^ß^á^è^ú_ _;_@_9_7_D___o___š_ª_©_¢_“_”__©_°_»_Í_Ú_Ù_É_Ä_Ò_ø`"`8`4`*` `` _÷_Î_¤_ˆ_j_Z___g_u_Š_¡_¤_«_ž_§_õ_ß_Ì_ë_ü````_ú_Ü_À_©_”_Š_†_y_h_S_8__^è^Ì^µ^^^|^k^\^N^I^F^@^.^!^^^$^#^^]ï]ã]ê^^*^F^R^U^J^K^B^(^ ]ï]Û]ã^^^^^3^Q^_^`^_^Z^V^P^C^6^)^^]ï]Ú]Ç]¸]¤]•]…]u]_]R]=]<]]$]‹]i\ó]]8\ì\æ\è\Þ\Þ\Û\Ô\Ì\Æ\¸\¯\¤\Š\j\s\|\{\‚\Š\’\•\“\\q\V\8\[ò[Ý[Ñ[Á[¶[µ[¼[Ã[Ö[ô\\G\y\˜\‹\{\x\_\1[þ[Ø[Ó[Ò[Á[°[¨[¯[Ã[Ï[Ö[ã[ò[ò[ô[ø\\\%\1\7\B\M\_\y\ \×]](]B],]\ï\è\ë\ù] ]']J]u]™]³]²]Ÿ]€]_]F]7]0]+](]-]/]8]9]9]9]6]6]4]1],](]$]]]]]\û\ó\æ\Þ\Ü\é\ú\ð\ß\Ð\Ã\»\³\¯\§\ž\”\\\“\–\˜\”\\‡\‚\\\ƒ\}\|\x\t\o\m\g\Z\M\?\7\*\!\\ [ù[ê[Ý[Î[Ç[Ä[Å[Ê[Ó[Ù[ß[æ[ì[ñ[ö[û\\\\#\9\Q\l\…\¥\À\Ö\ì]]]/]D]M]Z]d]u]‡]”]Ÿ]£]©]²]º]»]»]Â]Ò]ß]ò^^^.^;^J^O^Y^^^f^s^{^„^Š^‘^—^^¦^¶^Æ^Ö^Ý^ç^ø_ _&_V_‚_¥_¿_Å_Ò_ì` `+`J`[`e`u`‡`›`«`¶`¼`À`½`³`±`­`³`»`À`Ç`Æ`Ë`Õ`â`é`ô`ü`ý`ü`õ`ç`×`È`Á`»`¼`½`¹`·`³`º`À`Æ`Ê`Ñ`Û`òaaa*a%a`ÿaa!a/aAaWa`ababa`adajakaoaya‹aŽa™a¬aÈaÏaËaÀa¾a¿aÅaÏaÝaìaúbbbbbbb$b*b8b9b?bJb`b~b“b¢b¨b­b¤b b™b”b‡b€bwbqblb_bZbObNbEbDb1b!baþaëaÍa´a“aqaTa:a&aa `ø`í`Û`Õ`Ë`Ç`È`Å`Î`È`Î`Â`¾`±`¬`¢` `ž`š` `˜`Ÿ`š`›`™```x`q`^`X`V`J`R`D`;`8``$` ``_ô_ï_Î_Ù_—_|_P__^ì^^_]»]À^!`d?h6idi´e bÈbÀ`Ãc¤fƒb¼`úaª`a=asbœf2i oBnØk•hjdõ`Õ]Ì^¥a`]¹[e\"[°Z XËXKXGX—X¡X¿XÓXÓXÉXvXEX WôWêWæWËWèWûX X3XDXZXsXŽYY‘XüXlXpXŒX‰YY¢YX›Y.Z(Z»[Z\\6[û[ß[Ï[‡[N[Y[<[ZëZ²Z¤Zç[[[ß\[÷[ý\`\g\[ø\3\:[æ[×[Ø\ \!\\P[ñ[Zù[ZÇZ¢Z´Zá[[Z[ï\ ]%]%]#\Å\ [Ÿ[¬]|_Ë_]e\U\q]¹^Ð^Ø^Ô_,_2^Ø^©^Ä__ ^‚^}^Ê^ê_e`‡ba¥`Ù`.`,a“aS`Ìaa¤bGb“bÔc bõb€aûaæaöaðaïaåaæaôbbLb–bßc4cuc³câcócýddHdxd£dÍdèdôd÷dýeeeh5h+hh gõgßgÅg±g¡g—gŽgŽgŒg’g˜g›gžg¢g¥gžg—g‰gvg`gHg.ggföféfÜfÏfÇf¾f¶f¯f¢f’f}fffGf#fBfeíeÉe¡ezeXe6edýdâdÆd¬ddqdVd?d,ddd dc÷cëcÎc±cˆcdcCcbõbÐb§bb\b5b aáa³aŽa_a%`ì`¨`d`_Æ_p_^×^^[^%^^ ^^á^ß^Ž^Ò^×^‡^` aØao`Á`ª`›`¯aa€aPa"`ü`U_×_H^à^—^V^]^&]s\Ì\N[Ú[oZýZ¬Zâ[ZkY¦YX×X¬X’X“X£XªX¹XöY:Y{YÁZZiZå[W[™[ü\d\·\Ô]]]á^l__2^Ï^w^g^{^¡^¿^×^å^¶^ë_5_‚^•\z[Ò\W\D\®]µ^P^¾__à_ì_1^æ_9_Ö_ý_¡_ª`J_]|\ó]=_­`É_g^Ô^Ò_m_¸_»_’_t_–_²_£_Ž_‹_¨_¹_É` `K` _Å_]^¨^*]û]ã]Ù]Ì]¼]¸]¹]¶]´]¬]¨]¦]­]½]Ü^^)^K^]^h^b^T^L^<^'^5^s^¤^À^¹^¥^§_…aa'bÁf edc/bmaÁaVaa`ö`Ø`°`‘`t`d`O`-`_ý_ï_ß_Í_·_§_˜_…_q_f_Q_A_7_=_E_Q_Z_e_g_m_n_p_n_l_c_d_c_g_m_x__…_†_~_t_^_G_'_ ^ì^Î^®^’^u^Y^@^+^^ ^^^]þ]ú]ö]ó]î]è]ç]â]Ý]Ø]Ò]Ë]É]Í]Ô]Û]à]á]ã]å]ë]ú^ ^^*^=^M^d^‚^ ^Á^å_ _._K_k_‰_¡_·_Î_ç```8`Q`h`u`|`€`‚`Œ`™`±`Í`ëaa,aKafaya‰a’a™a¥a°aÀaàbbb$b3b?bKbSbPbKbIbFb?b>bDbHbIbMbObLbCb@bb4b0b3bd2d!dcûcãcÇc©cŒclcIc#cbêbÛb¿b£b„bfbJb-baóa×a»a›awaXa5a`ã`¶`€`T`.` _ð_×_Á_©__q_X_@_'_^ø^à^Ê^¹^¤^’^}^k^Y^G^6^'^^^%^3^D^^^p^†^š^¡^Ÿ^^š^•^•^–^^¦^±^¶^¹^Ê^Ê^¡^°^Ó^ó__2_a_~_¤_Á_Ø_ð_þ``I`¶`â`ª`l`P`u`ÍaahaÀaàaÛaùbaòa·aaŠaza‘aÛa¹a¯aÑaæbAb‹b•bŠbÃbÝbßbÚbÅb·b‘b`b-b bbb$b?bYb~b”b§b°b¦b†b/aúb b@b„b¾bócd(cØcÌcÉc“c¢c»c¶cµc·c»cÀc¼c¾c¶c°c˜cc`c?cbåb°b{bKbaûaÑa¤aoa=a`Ä`„`P``_é_Í_´_ _…_`_@_D_M_H_K_\_m_u_u_q_q_h_[_R_V_\_g_t_r_v__¢_¸_Ð_æ_þ` ````&`>`Q`W`U`N`P`I`7`(`)`C`Y`g`o`l`a`Z`L`5`_Ö_¸_™_‹_“_ž_«_¹_Ç_Ë_Î_È_Æ````9`L`Y`d`\`K`1` _ï_Ó_¾_±_ª_¥___{_d_I_%_^á^Ä^¯^˜^†^{^q^q^p^j^a^S^G^H^R^S^J^8^.^^^(^C^d^q^r^k^t^}^}^o^[^I^H^M^P^L^T^a^z^ˆ^‰^ˆ^†^„^€^t^h^Y^G^3^^]ñ]Ü]É]¶]£]”]|]r]X]O]M]4]%]]-]k]y](\ò\æ\ä\Ü\Þ\ã\á\Ü\Ô\Ä\³\©\˜\\—\Ž\\‘\™\ \¢\•\†\s\[\9\\[î[á[Ù[Õ[Õ[Ô[Þ[ó\ \4\[\}\Ž\‚\n\Q\&[õ[Í[µ[œ[†[s[t[…[[°[¯[Á[Ú[â[ç[è[ñ\\\\&\1\@\V\k\‹\¶\Ý] ];]N]G]6]]\ö\ú] ]$]@]j]‘]£] ]„]k]P]:]1],]+],]/]7]7]:]9];]9]3].])]%]]]]] ]\ù\ó\æ\ß\Ó\Ð\Ù\ß\ç\á\Ö\Ä\¸\°\ª\¦\˜\‘\\\”\š\›\œ\š\•\‘\”\‘\\Ž\‰\ˆ\„\~\v\n\b\Z\T\I\C\;\4\)\\ [ü[ñ[è[å[æ[ï[÷\\ \\\&\+\2\5\8\=\G\W\i\\š\²\Ë\ã\ÿ]]/]E]N]c]u]‹]Ÿ]®]½]Â]Ð]Û]â]ã]æ]ì]ú^^^^)^<^P^b^i^t^y^„^Š^’^›^¡^¨^ª^°^´^É^ã^ð^ò^ö___#_>_^_ˆ_¹_Ø_Ü_ä```@`Z`g`x``£`¹`Í`Ü`ç`è`ã`Ö`Ì`Í`Ð`×`Þ`Û`ã`ì`ÿaaaaaaaa`÷`ï`æ`ã`á`Ý`Ü`Ø`Û`Ø`Ù`Ù`å`öa a#a8aDaEa?a2a2a>aKaXasa{a€a†aŠaaŽa›aža¡a­aµaÄaÜaóaðaåaàaåaêaïaõaùbb bb!b.b2b5b>b^À__À_Ö_³_C^û_4`:`À``ba@^G]¢^^è`Y_p__‚_¹_›_r_e_F_g_œ_Î_Ä_­_ã``!`K`$_Ê_€_'^§^&]ñ]ß]Ð]Ã]´]ª]©]­]ª] ]—]]–]]¸]Ô]ù^$^<^B^A^7^*^^^^Y^¤^Ð^É^Õ^Æ^ë`£cWdÜfceždZcib—aõa‘a?a3a`ò`Ì`¨``u`e`H`.`` _÷_æ_Ö_Æ_²_¢_ _œ_Š_{_j_i_r_~_ƒ_Œ__–_”_•_‘_‘____•_›_¢_¨_«_«_¥_¢_‘_{_\_@_#_^è^Ñ^·^—^w^^^J^=^9^3^-^&^ ^^^ ^^^]ý]ø]÷]õ]ò]ò]ø]þ^^^^^^ ^,^>^Q^b^u^•^¶^Ù^ü_#_F_g_‡_¥_À_Ú_ï` ` `<`S`l`…`–`¡`¨`¬`°`½`Ë`æaa%a:a]aa•a¤aµaÂaÎaäaþbb5bObdbub~b…b’b“b‡b€bb}b€bŠbb’b•bœbŸbžb˜b–b‘bŒbbzbrbmbjbmbub€bb˜bŸb¤b¤b bb•bŒb}bmb`bjbsbwb{bƒbŠb“b¨b¸bºb³b«b¥bªb²b­b©b®b½bÓbêc c*cHc_cnc|cc¥cÀcÜcódddd&d/d6d;dIdZdld~d’d£d°d¼dÃdÎdÛdídûeedüdôdædÛdÛdÛdådãdÚdÏdÀd³d¦ddšd›dšdŸd§d­d³dºd¿d¾dµd¦d›dd…ddxdgdVdEd6d$d cðcÔc³c‹cdc:ccbôbÚb´bŠbgbHb-bañaÔaµa—asaOa,a`×`¥`o`D`_û_â_È_±_•_w_[_A_$_ ^í^Ñ^¶^š^‚^m^\^L^;^*^^ ]ù]ð]ô]û^^%^5^I^`^r^|^^}^u^r^t^{^^”^ž^©^Ã^¯^±^Â^ö_____K_k__®_À_×_è_õ`7`©`î`Ô`À`‹`N`i`Éa aVaa¥aªa²a¬a†afahaˆa”aºa–a{a‹aÄbMb‹bŸbÀbábìbìbêbßbËb³b‰b\b4b"b%b.bHb^b}bžb°b¿b¶b˜bKaøbbDbjb½ccycØc¼c c‰cqcµcùcæcècîcícøcüdc÷còc×cÂcŸcucLcbçb°bxbHbaöaÏa¨a…aJ`þ`¹`…`^`6`_þ_ç_×_¼_›_€_€_€_l_h_ƒ_­_Ó_à_á_Þ_Ó_Ê_»_²_§_¥_°_´_·_É_â``%`G`i`{`~``Œ`¢`Â`Ü`â`Ù`Ì`Á`°`œ`‡`z`|`„`‹`š```…`j`B`_ú_à_Å_·_½_È_Ó_Ý_å_æ_ò_þ` `Z`‚`u`„`œ`¡`¢`›`Š`n`K`+`_þ_ð_å_ß_Û_Ñ_Ä_®_’_m_G_ ^ü^Ü^Á^©^•^Š^‡^‰^ˆ^ˆ^€^t^o^q^m^h^_^^^I^C^F^X^s^{^~^u^€^¤^¿^Ã^½^¯^ª^ ^Œ^x^y^Š^^¦^¢^–^—^˜^—^•^Š^^q^^^H^0^^]ì]Ù]Ã]±]˜]ˆ]w]a][]^]W]K].]"]%]\ù\ò\ó\á\Ü\á\æ\í\ì\×\¾\³\¨\¢\›\œ\ž\œ\ž\¦\­\¬\¡\’\\e\I\,\\[ü[ú\\\\\\C\^\j\z\{\e\S\7\[á[Á[˜[q[Q[K[\[x[Œ[š[º[Ò[Û[ã[é[ê[ò[ü[ÿ\\(\4\A\M\h\\½\å]]A]S]Z]R];]]]] ]%]?]\]€]]]q]Y]G];]6].]-]/].]3]6]6]8]5]3],]%] ]]]] ]]\ö\ò\é\Þ\Ô\Ï\É\É\Ò\Ú\Ø\Æ\º\ª\¢\¡\™\‘\Š\\\”\š\Ÿ\¢\¡\\œ\š\š\™\™\™\—\\‡\}\s\s\n\i\a\Y\T\Q\I\:\-\\\ \\ \\\(\7\E\U\^\e\g\e\e\g\o\x\Œ\š\°\Ä\Ý\ü]]/]>]T]j]]]´]È]Ú]è]ö]ÿ^^^^ ^^^'^1^:^I^^^k^z^‡^‘^^¢^ª^®^²^¶^¸^¼^Á^Ò^é^ù^ú___'_4_D_S_q_ž_Ê_Ý_ã_ù``3`P`f`y`‘`£`¼`Ó`îaa a aa `ú`í`í`ð`öaa aaa-a8a?a@a>a=a.a%aaaaa`þ`ý`û`ö`í`ã`ìaa"a?aQaaahacaaabaaalara‹a—a¢a¨a¥a¢a«aÀaÆaÉaÐaßaîbbbbbbb%b!b'b#b'b#b*b2bAbObUb]bZb_bZb_b_bnbbb·bÎbàbêbëbäbÝbÕbÑbÁbÃbºbµb®b¥b—bb‰btbebSb?b/b a÷aÑa·a•aƒaja`aTaHa=a)a$aaaa aaaaaa a`ý`õ`é`ã`â`Ù`Ù`Ó`Ó`Ö`Í`Í`Â`É`¸`ª`–`Œ`˜`Œ`‹``_`m`W```I`L`E`*`<```_Ò_¾_˜_[_)_ ^Ö^ù^£^„_›`×c¥hFiAgšdŸbÝaP_ç`_aâbÉca0` b}aU_Ncul6ljÿmmncl¢f‰cGaþ`È^c]^\š[YZ9Y6XàXþXÉXÞX¸XˆXcXIXXWâW±WªW¿WãWþXX8XWXbXpXyXyXlXfXVXUXqX±Y°YíX´XUX}Y \&]!\Ý\í\d\ [ê[[ Z„Z Z½ZÞ[[ [J[»[ô\#[ö[Ã[Â[æ\ \®\n\\Í\Á]]\`\8[§ZÔZ¥Zî[ [[[?[Ù\*\] ]t\¢\F\T\/\K\²]¶_]«\'\\q])^-^‘^‘^¸^à^Û^™^Œ^^Q^z^Ò^ê_q_â`Za™aL`È``¥aEaaVbbÖcácøc4b¸bšbˆbbaèa»aaaa$`Û`—`V`_Ù_™_[_ ^È^^T^3^^]^°^§^C^K_=_ð`a0`ò`T_ÿ_´_±``Y`ž`^`M`1_Å_]^Ø^h^^^"]ì]X\r[ù[É[w[O[e[z[*ZÊZžZfZ5YñY°YŠYEYXûYYFY—YÂZZ·[]\!\»\ÿ]I]°]Þ]Ä]Ë^^S^ ^Ä^´^˜^u^c^y^ˆ^W^:]ö]Ê^]U\N[î\![ü\f]Å^v_._Ã_¤_s_!^Ý^Ð^Ñ_Ça%a’a-aõb]_r^¿_^Ú`2_À_=_¬_P_ _)_:_(_n_ç`E`7`A`Å`µ`g`V`&`_Å_G^Ï^K]ö]Õ]Ë]»]¨]›]œ] ]—]]ˆ]}]|]€]’]¤]Å]ê^^"^^^^^^^l^¨^Î^­^»_ ^ä`{dÁe–eÚfeodyc+bBa®aTaJa*a `å`Á`£`‰`x`a`G`2`)``_ñ_è_Û_Ô_Ô_Í_Æ_¼_§_ _§_±_³_º_º_Â_À_¾_¿_À_½_½_½_¾_Â_É_Ï_Ô_Ø_Ó_Í_Á_­_’_t_Y_A_"_^ë^Ò^µ^Ÿ^Š^}^t^k^f^`^Y^R^H^8^,^&^!^^^^^^^^'^1^8^?^L^R^W^b^l^z^‹^¢^Â^æ__;_b_…_¥_Ã_á_ü``*`=`N`f`{`•`°`Å`Ñ`×`ã`é`õa a)aJaea|a aµa¹aÄaÖaæaþbbBbbb€b”b¦b·bÄbÌbÔbÑbÆbÁbÁbÆbÕbábäbçbæbëbíbíbèbæbábÝbÕbÌbÃb¸b­b¨b¨b®bµb¹b¿bÆbÈbÆbÉbÉbÅb¼b±b§b¨b¬b°b¶b¾bÂbÄbÍbÒbÐbÓbÞbìbîbíbêbèbébòbÿcc.cTcvc“c§c·cÈcÚcìcþdd#d4d>dHdNdXd]dhdydd£d³dÄdÓdãdòee ee$e-e.e'e eeee'e2e*eee dödêdâdÚdÒdÍdÍdÑdÖdÜdãdædßdÒdÆd¼d±d©džd“d…dxdkdZdId7dcûcÕcªc‚cWc6ccbëbÁb—bsbRb4baïaÑa±a’anaHa"`ø`Ç`•`e`9`_õ_Ö_¼_¢_†_g_F_$_^ä^Ã^ ^}^_^C^+^^^]ú]é]Õ]Æ]Á]È]×]í^^^3^@^Q^]^_^]^Y^`^_^k^k^^ ^¸_^ö^É^ñ_n_e_^ù^ù_)_f_‚_š_´_·_¥_·``u``œ`½`Ÿ`L`;``É`ða%aRa[aPaYaOa&a(aMa]a|afaZašaóbMbyb–b¸bÖbébëbäbäbÓb¿b b|b[b@b`3`(` _ê_Ë_»_·_®_›_¡_Ï``(`B`C`8`.` ``_ü_ý_ü_ø```=`j`œ`Æ`ß`ñaa aa5aMaWaNa=a!a `ð`Ï`µ`¦`¦`¡`­`½`µ``y`R`1`!`_û_ì_ì_î_ó_ô_ç_ã_ÿ`!`I`ƒ`ž`®`Â`Û`å`â`Ú`Ç`«`‰`l`U`C`7`1`%``` _ó_Ú_¹_’_l_B_^õ^Ö^¾^®^§^©^¬^«^§^ ^•^^^‘^Š^Ž^„^q^b^`^o^|^‡^Š^˜^·^Î^Ø^Ô^È^Ë^Æ^¯^ž^¤^³^¾^½^²^¤^¤^¥^¦^¦^ž^˜^‹^|^o^[^B^+^]÷]Þ]È]²]™]]€]h]\]Q]I]<]2]%]]\ü\ö\ç\á\â\å\ë\è\Ü\Ï\º\¨\Ÿ\Ÿ\¤\®\¯\¤\¤\®\º\¼\®\¡\‘\x\`\I\,\!\\'\0\9\B\I\b\w\s\p\t\d\T\E\)\ [ã[µ[|[H[1[8[P[r[–[¹[Ñ[Ö[Ü[å[è[ë[ò[ð[ÿ\\(\*\-\D\g\“\»\è]]4]G]X]d]e]P],]]]%]8]Q]i]v]p][]K]?]:]1]/]/]-].]/]3]2]1]0](]!]]]]] ]\ÿ\ó\ê\â\×\Î\Í\È\Ä\Ã\È\À\·\³\©\¥\Ÿ\•\‹\†\ƒ\…\\‘\š\ \£\£\¢\¡\ \£\©\¦\¨\£\š\Œ\‚\‚\}\€\x\v\p\m\h\d\Z\L\B\3\-\+\/\7\A\M\\\n\}\†\’\—\–\“\”\—\¡\ª\»\Ê\à\ø] ]#]4]R]k]]«]Å]Ý]ñ^^^^^^"^*^)^+^3^;^F^U^g^u^„^“^¤^¯^·^½^½^Ä^Æ^Î^Ó^Ý^å^ó____#_0_<_N___z_–_¯_Ò_ä_õ``*`F```w`Œ` `¼`Ù`òa a!aDaMaFa-aaaa aa*a,a1aCaQa]aaadaga]aUaEaCa5a0a&aaaaa`ý`ùaa9aWaka{a‚aˆaˆaŠa‰a‘a›a­a»aÈaÉaÀa²a¼aÏaÛaíaóaübbb$b)b1b6bGb[b^bcb[bTbIbAbIbPbdbqb{b}b{bsbybsb~bŠb©bÂbÝbùccbùbøbîbìbæbÞbÝbÕbÏb¾bµb«bb–b|bpbWbEb"baßaÆa¨a’aŠayasagabaNa?a5a-a'a.a,a6a5a\-\ã\þ]f]k\x\[yZÀZŠZã[$[J[f[‚\\T\”]Š]\>\N]]t\û]]ü^ä]i\\V\¿\þ]²^V^j^Ž^¼^È^Å^Ø^Ü^—^²_C_C_™``uaœam`ì`ûa…aÛa}bb¼cŸdscÉc/cbáb·bebEbmbebkb^b_bgbƒb°bàc$cycÐdd=dTdsd™dÎee:eee}eŒe˜e§e¯eÂeàffYf¦fëggAggg—gÅgågùhh hh4hRhbhlhph~hŒh›h¦h°hºh¾hÄhÈhÕhßhïhüiiiiii iiihùhûh÷hõhùii(i*i)i(iihýhðhëhåhãhßhßhØhÐhÉhÁh¼hµh°h«h£hh–h“hh”h›h¦h®h³h³h°h¦h¤h¯hÇháhïhøhúhýhûhühùh÷hóhêhÛhÏhÁh¶h®h°h¬h­h«hªh¥hžh•hhqhXhEh2h"hhh hhhhhh hhgøgègÕgÂg®ggg~guggg\gOgDg5g'ggfègfäfÆf¤f‚faf:feêeÃešeteOe*edÞdµdddd@d!dcñcãcÎcºc¡c}cZc.cbØb±b‹bbb;baça·a‹aXa`Ó``4_ô_Â__W_^Ú^“^a^3^$^b^‘^@^_`ßamaaA`†`_½_T_E_¼` `_ó_Ë_€_^Í^y^]Ì]ä]ë]ª]\p\\\%\\[Å[Y[%[B[3ZëZ”Z`L`n`£`â`ýaaa a`ÿaa'ac—cäd/dSdSdWdXdWdVdKdg×gVdÍdwa``]Ý^'a?b‰aÝb^d†f»inlüpj|cSaàbŠ_Q\¦ZóZ­ZYHYkYPY Y XíX§X~X(WÛWšW‘W»WèWÜWæXX=XSXiXXƒXjXaXIXBX$XLYZ=Y¬XgX´YY°[\ë\ž[ò[œZÓYËYÒZ9ZYÕZ5Z{ZOZIZ¼[G[[‡[™\&\¶\á\¢\\±\ý]\ù\ˆ[Û[ˆ[1Z×Z¼Z÷[3[w[Æ[ë\1\Š]B]§\´\[ó\Ä^>^$^ _(^å\õ\)\å]…]v]ß^g^K^^^^¶_ _+_^§^„^ö_6__ë`Oaraxaa‹b aâaÜcddd]cvcc b¿b–bib`bˆb…bb‰bb–b°bÓccHc–còd1d_dud›dÆdýe7eke›e­eÄeÌeÙeçeþf"fUfœfæg(gVg€g¬gÙhhh+h;hEh\hqhŒh—hœhŸh«hÃhÕhéhôhþiiii iii*i2iedídÅd™didCd$dcòcÚcÄcªc‰cecc†c¨c˜c{cpcrcuctcwc‰cªcÔcõddd)d2d=dKdZdkdzdd‰dŽd“dŸd¬d½dÐdßdñeee4eNe_e`eeekejeleqete{e…ee–e™e’eee„ezexeke]eJe`_õ_®_°`q`×`Ã`ã`î`ûa2aGaNaLaMa>a-aa `õ`ä`Õ`Ä`·`¨`š`…`l`Q`:` `_Ü_±_‚_Y_5__^ú^ô^ð^ç^Ý^Ø^Û^ç^ò^þ^õ^ß^Á^ ^•^š^§^·^½^¿^Â^Ç^Ë^È^Ï^Ò^Ñ^Û^ç^ú_____^ÿ^ý^ü^ù^ï^à^Ð^¾^ª^˜^^g^L^.^]ø]Ú]Ä]«]”]ƒ]w]s]l]^]R]I]C]:]/] ]\þ\î\ë\ë\í\ì\é\ß\Í\¼\°\¯\¶\º\µ\¢\¢\ª\­\¾\Ð\Ö\Æ\²\£\\x\l\g\h\p\{\‹\“\‘\‰\Ž\Š\~\i\W\S\D\.\ [×[[Z[N[S[€[Ã[ö[þ[ð[ð[ï[ð[ò[ñ[ò[ù\\'\7\1\#\,\L\v\¨\Ù]]]/]Q]s]“] ]“]x]R]9]<]C]B]I]K]J]K]D]C]A]>]8]5]4]2]/]/].]-]!]]]] ]\þ\ò\ê\â\Ü\Ü\Ú\Ö\Ð\Ê\Ä\»\¶\²\ª\¦\š\‘\‡\|\u\t\v\w\~\\‰\’\š\¡\¥\©\­\±\·\º\¿\º\°\¨\£\¤\£\¢\¥\ \›\–\\ \ž\”\Œ\\w\x\t\t\t\\„\‘\œ\¬\¾\Ï\Ú\ä\é\æ\ë\ë\ï\ï\ö\ÿ] ]"]=][]]®]Û^^^0^A^K^Q^W^^^a^[^U^P^R^W^b^q^^”^ª^¼^Ò^á^í^÷^þ___ __ ____"_&_/_?___ƒ_¢_º_Â_Ó_à_ñ```:`P`j`z`”`©`Ä`á`þaa,a;aDaDa8a4a4a)aaa'a:aTakapa€a‰a“a“a–a˜a‘a‰aauajaaa[aVaRaOaPaXada|a‡a—a¡a©a±a¼aÄaÕaîbbbbbbbbb bb)bCbObabrbb‹b›b§b­b²b¤bb›b¢b¢b˜bb”b b±b¹bÀb¿b¹b¼b¼bÑbéc c#c/c7c*c,cccccccbþböbâbßbÑbÄbµb b„bnbOb-baöaåaÖaÎaÉaÅa¾a®aœaŒa}awaqaoaxa{aƒa†a‚aƒarama[aQaBa3a,a'a aaa!aaaaa`æ`æ`æ`Û`Ý`Ì`À`©`¤`¦``¥``Ž`Ž`…`„`’`†`m`d`T`_í_ð_Î_æ_‚_x^Y^nacËdof®h>ggÿkÿi×føi¬g`c)`^`aÀa-a9_ë_Ûab©g"nŠq}h5cl`&]A\À[†[1ZìYµZZrYÄYwYTXôX—X2WÍWŸW¢W©WÉWßW×WòXX=XdXoX{XTX]XJX9XXX(XYOXÂXmX¼YZ{\[é[u[‡ZáYÊY¹YÂYYëZ\ZCZeZÂZÒ[[˜\\N\ÿ]a]8] ](]2\î\—\8[ó[û[î[[;[*[D[q[¥\ \]]„]’\ó\‚\œ\B\‡^ ^P^}_q^8\½\Ù]Å]Ö]p]Ö^]ñ^<^‰^«^ó_[_V^Ì^Œ^Ñ_@_³`~a6bb a‡aÊb,bvbØchc…c4cbïbÊb·b¥bbibvb™b¥b®b²bÃbÌbäcc0ctc¿ddNdd¢dÊd÷e+efe–eÈeåeýff ff5fZf’fÞg'gcg’g¼gæhh1hOhdh|hŠh™h§h´h½hÂhÌhÞhøii'i5i?iGiGiJiEiHiJiTi[idiiikikibiZiMiHiBiBi@iKiZimiziƒiii{ixiniciViSiLiMiLiMiLiEiAi7i:i2i1i#iii iiii iiiiiii%i@i]ieikimiliiigiiiligiaiRi>i&ii iihühùhñhîhìhæhçhàhÔhÈh·hªh›h‘hƒhvhih^hVhRhQhRhVhVhOhBh2h$hhgõgägÕgÅg·g¦g•g„gqgagPglg[gEg*gfêfÆfžfsfGfeòeÎe§e€eUe-edÓd§dvdPd,dcôcÚc¼cžcvcKcbébºb‹beb=b aÜa¦apa8`û`¹`j`_¿_u_@_^å^³^}^N^]ÿ]ý]×\k\å`Kaû`²`ža `õ`V__^·^Û_7__L_?^^]¤]\]{]—]±]w]3]+]0]&]]*\û\É\›\r\<\\[É[WZåZ¦ZvZ*Y¾YWYbYÑZ2Z¬[<[ð\‚\ø]a]±]Í]–]…^%^³^G]Ù]å^ ^^^0^Ž^É^²^f^ ^%^S^]\5[Ö]Ô^ý^ú__%_’` _—^Á]ø]s]·^c_”`®`A`9bb ^õ^N`/`4_³`%`Ò`S` aAbaÞa€aBaaa5`ý`Ã`{`@`_Ê_a^é^t^]æ]Ô]½]°]­]§]£]—]’]]u]a]Z]F]6](]"]+]@]h]‹]”]Š] ]Ç^ ^X^º^â__W_}_``?bêd#dŽdùdmc÷dcXbcaÀaˆafaBa"a`Ü`À`±`¤`•`‰`€`t`f`[`Y`T`S`M`I`;`4`)`%`.`2`8`9`@`C`D`E`I`L`M`R`V`X`V`T`K`G`F`E`A`9`-``_ì_Õ_¾_§__v_`_N_?_1_(_"__^ÿ^ö^â^È^´^¥^œ^ž^ž^Ÿ^¢^ª^¹^Â^Ï^ã^ú____"_0_9_F_Q_W_r_›_Í_ú`!`>`T`n`†`¡`¹`Ê`ã`üaa#a;aQaeayaaŸaµaËaèbb&b=bKbSbWbabsb…bˆb—bªbÈbæcc$c1c;cFcPcVcZcectc|c‰cšcªcµcÀcÄcÆcÂc¼c¹c¹cºc½cºcºcµc§c®cªc¢c›c’cŽcˆc‚cxcmc\cKc9c*cc!c&c0c?cScdcmcmcacHcccMc§cåc÷cÛc¿c¸c¼c¾c¹cÀcÖcüd!d_^ß^¯^^V^*^]ß]»]™]€]m]`]X]R]K]=]6]2]6]N]{]±]à]û]ÿ]ü^^ ^^^^^.^K^ž^Ù_,__¥_š_z_“_ë_œ_X_^^Î^¾_\_Ý_Ê_ž_È_Ï_º_È````I`h`k`{`…`’`š`´`Û`Õ`íaaaaa0aXasana`aha›aâbb[bšbÃbðbübýbùbðbïbÝbÍb¿b±b©b§b­bºbÅbÔbÒbÒbÃb›bJaðbb4b\bŠb¹bôc&c8c1c4cKcXc«dKd¡dµd«d¡d¢džd–d’ddƒdodNd'cýcÏc—cZcbébÌb·b™bfb+aèa˜aPa"a`ò`è`â`å`å`Î`²`¢`©`¨`—`†`‰`°`êa"aLataƒazaka^a;`ÿ`À`ž`Ÿ`“`{`¥aaKa€a™a±aÂaÏaàaßaÅa´a a…alaVaDa8a2a#aaa*a7a>a+a `é`Ñ`¼`¬`—`ƒ`k`<`_£_>`[aoa`í`Îaa•a…a…a|a}azasaha]aPa=a'a`ù`â`Ì`³`ž`…`s`]`F`%`_Ó_¨_|_[_C_0_"____ __$_*_-__^á^Æ^À^È^Ñ^×^Ö^Õ^Ø^á^ê^ï^ù^þ^ÿ____2_?_?_B_:_:_9_8_6_+__^í^Ø^Á^¦^‹^p^V^5^]ø]Ù]¾]«]™]Š]{]o]g]^]V]N]I]D]7])]]\õ\ê\é\î\ï\ë\Ü\Î\Æ\¿\º\À\Á\«\\˜\Ÿ\¹\Ù\ï\ë\Ö\Â\´\¥\–\ˆ\†\‹\–\©\®\®\«\°\ª\•\t\a\Z\L\?\,\[Ð[ž[Œ[Œ[¹[ö\ \ \ [ø[ë[å[ß[Ù[Ù[Ý[î\\6\0\'\.\B\a\Ž\Ê] ]"]*]>]^]Š]©]²]­]—]~]t]p]h]X]T]\]X]T]R]L]L]E]?]8]7]2],]0])]]]]]] \ÿ\ö\ï\å\â\â\Þ\Ú\Ò\Ñ\Ó\Í\Ã\·\­\¤\—\\€\{\t\o\n\r\t\y\€\ƒ\\”\œ\¥\«\­\´\»\À\¾\½\º\¸\¶\´\²\¯\¶\µ\µ\´\°\³\®\§\Ÿ\—\\\Š\‡\Œ\\–\›\©\º\Ð\å\ô]]] ] ] ]]]]] ]1]J]m]¡]Ò^^.^G^]^h^t^u^{^{^x^t^i^^^Z^m^^^¤^¼^Ñ^è^÷_ __&_-_._<_7_2_4_;_<_:_;_7_F_^_„_¢_½_Ê_Ô_å_ó`` `9`M`e`v`‹`¢`º`Î`å`þaa!a+a2a8aAaHaDa1a)a)a;a^aza„aŽa“aœa¤a¯a·a·a²a¨aŸaa‰aƒa{atarauazaaa—a¥a°a½aÆaÏaÚaîbb'b6b;b;b/b'bbb*b@bTbqb|bŠbŸb¥b³b¸bÌbÏbÎbÅb½bÅbÑbÚbÔbÇbÂbÃbÌbÙbÜbâbãbåbïc cc6cDcEcLc@cBc;cc@c2c-ccbþbõbêbÞbÒbºb¦b„bnbQb5b$bbaûaùaíaæaÙaÈaµa¥aœa”a—a™a¤a«a¯a­a¤aœa‹a~asa_aUaGaCa6a7a1a)a6a*a4a#a a`ïa`ý`ï`Ù`Í`Ò`´`Å`±`¯`°`¨`ª`°`¢`¤`¬`²`Œ`z`p`<`1`#`)_Î`_½_s``ša²c—d…ee¯hg›gYkŒkVgÉbóacjd±dëdc`X_P`âa…eiµm5gObÏ_—\†[¬[Q\\º[4[Ž\3[ZYšY.X½XMWÑWŒW†W¹WÜWÜWÈWÎXX X?XNXkXVXKXGX5XX WùW¼X:X.WÔXpYOZ7[5[-ZËZ¹ZHY¦YˆYVYŒZƒZ›Z'Z[[[P[[Ÿ\ó]T]3] \Á\\‘\y\I\[õ\K\Î\[Í[w[[[j[š[ã\5\ú]í^]w]$]Ž]Þ]:\Ç]]5]£^–]û]9]”^]}\ß]Z]å]ó^^ ^1^’__ ^¦^²^è_E_…`«bJbÈbðbžb‚bŠbÈcbÛbÀbwb^bsb”bÃbÄbŠbXbtbžb·bÇbÖbèccc3cac¡céd(dlddÓdùe'eXeeÃeðff,f6f9fGfdfŠfÅgg]gœgÍgøhhEhfhh©h¿hÑhØhâhèhõhþi ii.iEiYioiyi„i‡iŠi†iƒi„i†iŠiŽi’i“i“iiŒi†i€i|i}i~i†i‹i”i˜i›išii›i ii˜iŒi†ii„i‡iˆiiˆiirikiai]iRiMiHiGiEiHiIiMiRiWiZi^ifimiyiŠi¡i¨i­i¬iªi¤i¨i§i¥ižišiŽi~ijiZiTiHiCi5i+i%iiiiiiihõhéhÞhÕhÊh»h«hŸhh†hƒhƒhh…h|hthehVhKh:h-hhgþgígÞgÉg²g¢ggg£g‘ggfgKg(gfàfµf‰f_f6feèeÄešepeHedêd¹d‹dbd=dcýcÝc»c’cfc0bÿbÉb›bmbAbaÝa¥afa+`í`¨`b` _µ_[_^ï^º^†^H^#]å^]Ü]‘\Ï\…]†__ú` `Œ` `_^ü^Ÿ^Ž^É^í_C_>^’]ï]8\Ú]O]§]º]”]m]|]š]”]}]{]\]=]\ê\°\}\>[ñ[™[@[ZæZ¡Z/Y·YvY®Z Z™[V\\­]]‰]Ì]Õ]Å]Á^3^p]ï]«]±]½]Ë]Ö^^³_7^Õ^r^±^Ó^+]%\Ç\‚\Q]+]â^/^Ê^û^Û^Í^4]Ó]ì]ž]¬^:^Ž__O_À`ç_ß^G_a(`f_¿`ƒaKa`ýa¯bbaûa1a`Þ`¿`Ò`±`u`K`4_è_’_D^Ð^c^]ê]Õ]½]³]°]´]³]§]¡]ˆ]w]f]Z]@]*]\ü\ô]]3][]h]X]w]ª^^€^É_ _[_”_À``Îb€c¸d˜e\&\[û[ê[ß[Ü[ã[ð[þ\\/\9\9\A\U\w\§\Ø]] ]0]<]W]]¡]¹]Å]Ä]´]§]œ]’]‚]z]x]j]]]W]U]N]K]F]<]5]/])](]#] ]]]]] ]\ø\ì\æ\ã\æ\ë\å\Ù\Ù\Þ\Ù\Ô\È\¸\ª\œ\\…\€\y\s\m\l\j\q\v\}\„\ˆ\‘\˜\¤\©\±\µ\·\»\¼\¼\Â\Á\¾\¼\¸\¿\Ç\Í\Ã\¿\¾\¾\·\°\§\ \ž\–\“\“\–\š\œ\¤\µ\Í\ä\ú] ]]"]&]#]!]]]]%]4]I]e]]Ä]ý^*^S^s^…^^‘^š^œ^œ^•^‰^y^s^…^“^£^´^Í^ä^û__&_:_K_W_e_k_a_h_j_l_k_b_X_Q_W_c_€_œ_¹_Ö_á_ì_÷` `!`;`R`f`z`Œ`¡`µ`Ê`ß`ï`ÿa aa*a]E]3][]¸^R^´^Ñ_!_–_Ö` `ea4b”cÓdkedIbËbÖc7b@aÅa¬aŠafaJa,a `ð`ã`Ø`Ç`Á`Ä`¹`®`§` `¡`œ`—``…`|`}`‚`„`†`…`‹``“`—``¤`­`¬`°`³`±`°`±`©`—`Ž`Š`ƒ`z`r`f`U`@`+`_ù_ß_Ì_»_²_¯_®_ª_˜_‡_x_j_Z_K_7____ ___$_+_>_N_Z_q_‰_–_ _¥_¥_¢_°_Ç_à_ò``.`b``²`Ç`Ô`å`þaa*aFaga‹a§a¶aÇaÛaêaùb b&b].]] \ÿ\ô\ô\÷\÷\í\ã\Ý\Ù\Ù\Û\Ñ\¹\—\†\’\¯\Ù]] \ü\ç\Ð\É\Å\É\Ç\À\µ\®\¶\À\Ò\Ö\Ä\§\‹\z\k\^\X\V\_\e\c\U\V\O\:\P\P\7\)\[þ[í[ï[û\\,\9\6\F\Y\f\o\“\É\î]]%]7];]S]y]—]·]Ë]Ò]Ê]Á]´]ª]ž]]ƒ]u]a]W]X]R]R]F]>]4],](]%]&] ]]]]] \þ\ù\ô\ð\ë\ô\ø\ê\Ù\Ø\â\â\á\Û\É\·\£\—\\…\|\s\k\g\i\n\s\{\\„\Š\Œ\•\\¨\©\®\°\´\½\À\Â\Ã\À\½\Ã\Õ\ä\Û\Ò\Å\Ä\½\¸\±\­\§\\œ\—\œ\\¢\¨\¶\É\á\ý]]&]0]8]:]:]4]3]5]:]D]U]q]‘]Ã]÷^/^^^^^¨^°^¹^Â^Ç^Å^½^®^¨^®^²^¹^Æ^à^ù__"_<_X_i_w_„_{_r_‹_˜_•_—_‘_ƒ_}_}__…__º_Ö_æ_ð_þ``%`;`T`k`}`Œ` `°`Â`Ø`ì`úa aa/aAaUaharapacaXa\ayaŸa­a¦a¢a°aÎaâañaûbaþañaãa×aÉaÅaÀa¿a½a¸a¹aÀaÇaÇaÖaâaóaüb b'bSbnbb†bƒbybcbZbObSbxb™b½bÓbÒbÜbÜbèccc&c&c%c5cBcPcVcNcEc2c)ccc"c'c-c6cDcNc^cecfcmcdcnckcvcscyctcicgcTcMc5c.ccc cbøbábÑb´b bb|bnbdbWbMbf¸h!iggf|eDd.c½c´bæb‘c`df­j-i¡hÑfÄa£]ß]A\û[¨]›acaÎ^~[!YX®X0WáW…WWWrWvW W¸W´W¡WÆWðX XLX+XXXX|XˆXGXHXHXX"X?Y^[N[4Z¢ZY†Y•YY=XìYZŒZÇZyZGZYÓZ:[F\¶\š\6\—\µ\Ë\Ð\Ø\Í\Í\}[ä[ô\L[°[)["[G[‘[Ì\\ \¬]¨]À]ˆ]Ž]]]ì]Ï]ÿ^ä^ã^Ó^Â^~^I]Ò].\ç\Í\Ó\ü] ][] ]Ê]ü^–_Q_-^ê__–` bb@aöaúaìbLbÍbíbúcèc¢b÷c b±bŠb¢beb6bQbbÁbácc$c@c\c|c¸cõd:dwd°dàeeLe|eªeåf$f_fŽf£ff™f›fªfÒg g`g¹hhMhsh—h¸häii(i@iKiSiYieiriŽiži¬i¸iËiÜiêióiýjjjiýiúiöiôiôiöióiòiðiôiùiûiüiýiøióiðiñiíiîièiçiàißiãiãiáiØiÚiÜiæiêièiâiÖiÆi·i¬i£iœiœi¢i§i¬i°iµi½iÄiÎiÒiÝißiàiäiñiüjj j j j j jj jjiøiïiáiÕiÏiÉi¿i¶iªiži”i‡i€i|iuinifi_iSiIi@i=i9i3i)iihøhóhñhîhâhÕhËh¿h°h¨h›h‘h†huhihQh?h)hhgîhhgégÓg¹gœg~g\g7gfæf¾f—fsfIf#feÒe¦eweIedèd¹ddfd:d cÛc¨cnc7bûbÃbŽbdb1aÿa¼a€a5`è``K_ü_¢_P^ð^¬^k^4]ê]›]p]m]f]9\®\b]^8__M_l_[___^“^=^'^9^+]Á]]]P]N]—]²]°]³]Ç]Â]·]Õ]Ù]ë]ø]í]Õ]¡]g]/]\Ý\‹\'[Ë[u[<[ZèZ«ZOZ`ZÂ[\\\‡]]c]°]í]ü]Ã]\]]!]3]U]_]w]Ž]Ã]æ]ó^]8\ [Î[ž[Ž\ \ö]ý]d\¼]] \õ]3]‚]‹]a]œ^^]¨]¨^^\^”^ _^^Ça5`¦ayb]\ß\¯\Œ\…\Ã])]=]F]x]È^\^¾^Ý_5_­_Ö``ÑaübçcÎdYdÕdbb©b+bcaðaÊa¾a’aya_aGa*aa`ó`ë`ë`å`Ú`Í`Ë`È`É`Æ`Ä`¼`¶`¬`«`²`´`±`±`¹`»`Á`Â`Í`×`ß`Ú`Û`Ü`Ø`Ø`Ô`Î`Ã`º`³`¯`§`œ``€`k`O`7`"` _ý_ð_é_ç_æ_â_Õ_Å_®_ž_“_‚_m_^_U_P_V_^_j_t_|__ _«_¼_Ê_×_è_û`_ø_ý``3`A`X`€`·`èa a a/a;aTaja}a™a»aáaýbbb#b,b;bNbhb€bbœb±bÌbïcccc%c4c=c=c8c0c]0]!]]\û\û\û\û\ð\ã\Ü\Þ\å\é\Ñ\°\”\Œ\“\¤\Æ\ó]] \ÿ\â\Ï\Ç\Ì\Ò\Ñ\À\¨\§\³\Â\¼\·\±\š\†\x\k\d\\\]\n\…\Œ\w\P\J\j\m\f\T\=\%\\\\'\7\G\U\u\™\ž\Š\ \Ê\ê]]!]#]+]E]l]‡]§]¿]Ò]Ø]Í]¿]µ]¥]š]Ž]]u]b]S]O]T]L]F];]4].]-].]%]"]]]]] ] \þ\÷\÷\ü\ú\ð\å\æ\ç\å\ã\Ú\Í\¾\¯\¡\\ƒ\|\p\l\e\b\f\p\w\~\„\‡\\’\™\£\ \¥\¥\¥\«\°\»\Á\¾\·\»\Ó\è\ç\ß\Ó\È\¾\½\¸\²\«\¢\›\›\¡\ \ª\²\¼\Ë\æ]]]/]<]F]N]R]L]M]R]Z]e]v]Œ]¥]Ï]ü^1^a^^¯^Ä^×^à^ï^û_^ü^ò^é^ß^Þ^Ü^â^ð___0_N_e_r_|_„_“_¥_º_À_¼_¸_µ_µ_°_¤_¤_¡_¯_½_Ï_Ý_ï`` `"`8`T`n`…`”` `¬`À`Ô`è`øa aa3aIa\aoa}a†a~a}a‚a¢a½aÁa²a©aÅaéaýb bbbbb baøaîaêaåaáaÝaÜaßaåaìaóaøb bb)bAblbŒbžb§b§bŸb‰b~bubtbŒbÌbíbñbòbõbùbÿc&cJcVcWc\cjcxc„c„ccscicacWcPcPcRcXcYcacqcpc|cycƒcƒc‰cŠcŽcc‹c‡c}cycmcccLc@c-c)c!cccbïbÚbÈb´b¢b™bŠb€btbdbTbDb8b,b#bbb bbbb!b"bbaùaäaÍa¸a¤aŸa‡axazagalaYaTaOa=a5a,a8aj jßk]i¹g¬d³c8døekcšcd-d¶fÝhRjþjseØa4^ó^ð\Ô\â]¿]«\YYèXÜXOWÈWvWqW2WW,WSW†W{WˆW¥X X0X5X XXX&X XŽXdXšX’XAXEXjYÓ[÷[:ZfZ%Y–Y“Y‡YY#ZZAZZ)ZZYîYáZ¿\R\[„\\T\Y\ó]´]3\k\[Û[‚[b[1ZìZá[,[±\&\c\W\—]M]ñ^ ]Ü]]œ^J^k^R^í_^‘^,^?^;]Ü]f\ø\ž\\Æ]]@]n]À^6^û_r_6__·`Y`ìbbbKb‚b¼bîccKc^c|c¢cßd(dnd¯dÝee?ere¦e×ffUf˜fÆfÚfÒfÌfÌfÔfõg+ggÝh4h{h§hÌhôi iEigiƒiŽiœi£i¯i»iÏiÛièi÷j jj*j5j;j@jDj@j^þ_%_^º^„^™^•^]Ì]Ú]æ]‡]7]P]˜]Ç]Ê]©]c]~]¿]ß]ï^]ð]ð^^)^$]è]Ÿ]Z]#]\½\[[ü[š[c[9[ZñZÏ[[†\\[\Ÿ\ã]*]q]†]Ž]a]\¶\ª\Þ]\þ]]A]ª^€^¼]ã\2Zø[B[ò\–]’]¢]v]\Ü\ó\ß\ï]V]ç^7^5^i^Z^,^]ñ]Ô^ ^‚^[^n]™]î`P`f`âa`€`§aFa`¿`‘`¦``Z`T`A`,_ô_Ê_Ž_W_$^É^€^9^]ð]ß]Ì]½]µ]¯]±]·]·]¯]£]‘]‚]Z]6]\Í\œ\p\Z\˜]]A]J]w]±^^“^Ý__]_ƒ`3bcbèb¸b€bMbaäaªaqa:a `Û`¬`z`C`_À_z_7^÷^³^q^4]ø]¾]Œ]Y]*]\á\Á\ª\˜\…\s\_\K\<\6\3\:\X\“\ç]2]^]l]r]w]‚]Ž]š]±]°]õ^q^Ù_c_½_è_ä_Û_Á_»_°_t_Ø`_þ_ù_û`_ç_ß` `A`_î`?`c`f`?_õ_Ö_Û` `\`›`Ã`â`÷aa4a\ažaÐaÐaßaãaõba×aâb aÂa…aŽa±b'bbÙcccc cc c c cc cccccbòbÈbqbbb3bEbjb„bŸb¹båcc^cŠc»ddWe#eöfe¡e;ee edìdàd×dÍdÂd¬d’drdKd cìc»ccncZc?cbèb¯bybEbaûaéaçaõbbb aõaìaïañaæaÑaÉaÇaÅaÌa×aÜaÛaÎaºažauaJa2a5a[a¢aôb=bkbubkbebebnbybƒbbxbjbTb@b,bbbbb$b,b+b b aôaßaÕaÊaÂaºa´a©a˜a”aŽaŽaa™a›a»aÐaäaébEbbUb\bYbPbRbObQbIb=b ba×a³a”a~apaea\aNa:a`þ`Ù`²`‹`g`E`(` _÷_é_á_×_Ñ_Ò_Ø_Ü_Í_±___…_w_`_@_(_^æ^È^È_W_Ï_à_ã_á_ä_Ú_×_Ö_Ö_Ó_Í_Æ_Ç_Á_Å_Ë_Ç_µ_£__y_f_P_:__^Ý^µ^Š^`^4^ ]î]Ô]À]®]˜]‡]y]j][]M]?].]]]\þ\þ\þ\ö\é\à\Ø\Þ\ê\ð\Ö\´\\˜\\›\¶\â]] ]\þ\Þ\Î\Ê\Ë\Ê\¿\¬\Ÿ\§\·\³\¶\¼\¯\š\ˆ\x\l\a\^\h\‚\š\™\›\­\´\¦\‹\b\Z\X\N\H\H\G\=\P\p\”\±\·\«\½\á]]%]!]]#]-]P]l]’]®]À]Ð]Ð]Å]·]¨]›]‘]‰]Š]u]a][][]Y]P]H]C];];]8]2].](]%]#]*]-](]]]]] ] \û\ø\í\ç\å\Ú\Ð\¾\­\\‹\~\v\l\k\f\`\]\f\k\v\\ƒ\Š\Ž\™\\Ÿ\ž\ž\š\œ\£\©\ª\°\¬\±\Ï\ä\è\æ\á\Ô\Ç\½\º\¶\­\§\ \¢\ \¤\¬\¶\Å\Ó\ë]] ]6]I]W]`]b]`]e]o]|]Œ]ž]³]Î]ï^^?^m^^Å^æ^ú___+_8_9_5_'______&_3_B_Y_k_„_”_›_­_¼_Î_Ñ_Î_Ë_Æ_Ê_Î_È_Ê_Í_Ê_Æ_×_ß_é_ú` `!`1`S`m`‡`˜`¥`¨`·`Ë`ç`ýaa a3aFaWaoa‚aa—a¡a¬aÈaÕaÚaÄaºaÝaþbbb b,b-b.b/b)b$bbb bbbaþbb bbb$b0b?bRbb b·bÇbÊbÊbºb­b b¤b¹bãbûcc ccc#cGcjcƒcˆcŽc”c c°c¯c«cšc˜c’c’cccc…cƒc~ccŠc™c–c™cœcc c›cŸc˜c˜c“c‹c‚ctcgcTcEc8c0c.c!cc býbébÙbÇbºb°b¦b•bˆbwbib^bMbHb;baIaMacaJaDa5aaaa aa a aaa aa,a!a(a%a,a#a,aa+aa`ü`ô`Û`Ã`Ö`I`S`T`@`l`a‘`ú_êbPd»e·iÇjQiZeòc`fÇgMc¦bùc€c@dHdJfºl£mBek`o^÷^–^´\æ\\Z.YXEWÅWUW$WWW5W WSWW³WXXÌXÕXMXXX^XÒXÖX£XtXvXŠXËY5ZP[zZáZJZY“YrY*XûYÜZEY™Y–YûZYôZZJZÁ[©[Ä[.[g[¾[t[Ú\ï\Ë\4[á[‘[*[ [ Zö[[e\\T\’]]L]¿^Ÿ^«^t^&]ì^*^Y^"^F^ƒ^@^^]´]¥]þ]V\€\Y\œ\û])]m]è^o_F_|_8_v`>a2a†a¿aµa4a‰b=bÄb­b˜bAaŒaÑbZb‰b¥bÏbœb`b6b?b‚bÁcc1crc†cšcÈddXd¥dçee;efešeÌffEf‡fÄfïggggg ggRgœgþhVhhÙii3iYi„i¢iÀiÏiÛiãióiþjjj$j6jLj`jkjqjujzj}jjjyjsjmjijfj`j\jVj[jZj_jZjVjKjAj9j6j=j>jCj;j:j4j2j/j+j(j"j!j j%j&j*j&jjiìiÖiÄi¼iºiÂiÊiÏiÑiÖiãiôjjjj&j,j3j7j>j>jBjAjPjWjYj[jWjVjPjSjKjGj@j8j3j/j&jjj jiøiñiæißiÒiÉi¹i®i£i¨i´iªi¤iii‚iuiki\iOi>i3i(iiihõhéhÜhÏh»h­h›h†hth¡h†hhhIh%hgägÇg¦g…gcgAg fùfÕf¯fŠfcf;feâe®eveAedÝd­dydBdcÐc—cYcbßb©bsb8aúa´aqa+`Ø`~`_³_M^ã^o^]´]_\ò\›\À\À\ƒ\Ó]Ð^S^f^µ^ÿ^Ã^M^"^F^?]«]i]Y]G\è\Ð]R]‹]Œ]¦]†]g]’]Ï]ø^&^G^,^9^M^k^l^>]î]¨]a]*\á\‹\?[á[ž[s[^[9[[T[Ò\C\z\‘\®\â] \õ\ò\é\›\H\‰\ý]\Ù\ý]]]c]“]q\/[)["\m^^ã_U^|]ü]Ô]©]‚]^]]Ú^W^´^©^°^s^Y^°^Â^V]÷^m^²^À^]¿^ñ_ƒ``Ä`k`’a`ù`´`_`^`V`&`` _ð_¶_‹_C_^Î^^V^%^]æ]Ú]Í]À]³]§]¦]¦]§]¢]›]ˆ]r]P]0\ý\Ò\³\~\U\{\â]] ]G]µ]ü^`^Â^õ_-_ÇaNc…dÜe eLeTdÙdcb'aàaäaêaÔa¸aœaŒa~aeaQa]7]4]/].]$]]\ú\ó\è\Ô\À\±\Ÿ\\€\y\p\j\b\\\W\\\`\i\u\}\€\‰\“\–\ž\™\–\’\“\‘\•\™\›\œ\¥\Å\á\ç\å\ç\à\Õ\É\Ç\¼\°\­\£\¡\¡\ª\¯\¼\Ï\ã\ø] ]%]7]Q]`]r]t]t]y]€]‰]“]«]Ë]ï^^6^Z^…^¯^Þ__"_7_C_V_h_p_r_m_j_]_Z_V_U_W_Y_b_n_„_™_§_³_À_Ç_Ú_Þ_Ú_Þ_â_â_ë_í_æ_á_Ø_Ù_è_ê_î_÷` `#`3`Q`k`‹`š`­`µ`»`¿`Ýaaa-a?aNaYamaa—a¥aµaÈaáaêaïaæaæaíbb b1b.b2b;b?bFbGbEbCb=b.b*bbbb&b-b6b=bAbJbVblbŒb±bÍbßbìbíb×bÑbÐbÇbÔbíccc#c1c8cPcyc—c¬c°c²cµc»cÎcÔcÑcÇcÆcÅcÉcÎcÏcÏc¼c³c©c²c´cµc´c±c¯c¨c¤cœcŸc¡c£c¢cžc–c†cycbcXcKcAc@c6c3c$ccbûbébÞbÑbÈbºbªbœbŒbbubobebdb`bbb]bebabhb^bVbYçYŠYAYMYY8Z`ZAY{Y¬YÒYéYÿZ ZiZã[v[”["[>[ [:[_\d\ª\“\\[Â[‰\\&[[d[Ñ\c\„\£]e]Ÿ^_8^ò^‡^R^/^^^^^.^/^H^8]n\û]—]‹\º\u\„\Ï]]X]Þ^P_?_Ø_Œ_Å`ØaÉaúaîa€aa¤a¶bbaÏaÑaaþc ctcbÆbšbvbAb@bbÑc cKc–c±c»cçd,d‚dÒeeDene•eÆeúf7frf²fçgg1g8g?g;gAgGgwg¼hhvh¿ii5ijii¼iØiöjjj$j3j@jJjZjhjyjjšj¥jªj­j´jµjºj¹j¸j°jªj¤jj–jj‹jŽjŽj‘jŠj‚jxjijcj_jejgjojmjijbj[jSjJjEjAj=j8j9j7j9j8j0jjiõiãiÚiÕiØiÚiÛiÝiÛiæiýjj!j5jEjKjRjRjXj]jcjkjuj}jˆj‰j†j‡j‚jjƒjjyjwjnjnjfj^jSjHj>j6j1j(jjj iûiñiæiáiåiäiãißiÑiÈi¼i¯i i‘iƒirihiZiNiDi4i)ii hþhñhÝhËh¹hæhÎh®hhfhChgþgßg½gŸgg^g>gfófÏfªf„fXf)e÷eÁe‡eNedçd²d{dAdcÎc–cVcbÝb¤bbb$aÞaœaVa `²`H_â_i^û^w^]x] \‹\ \9\g\O\—]–]é^L^å^Ö^¢^3]ú^]ð]_]\¼\‚\Z\?\Æ]W]‡]ž]«]Ç]ì^^+^s^ ^q^~^’^^‡^t^;]ñ]–]R]\È\\8[ø[Ï[Ì[¥[r[~[Ú\@\j\f\\£\¥\‚\†\\U\L\Ö]U]y];]5]¨\Ð[ŠZàZ@Z!Zx[`]F_;`_}_‰_”_Ð`‹`À`Ø`©`}`._Ê_u_^Þ^’^|^Ã^^¦^Ø^á^Ü^t^k^š_`x`ƒ`ž`o`=`A`*`:`:`_Õ_¬_„_h_A^÷^´^v^I^&^ ]ñ]á]Ó]Æ]½]ª]¢]™]”]–]]…]u]b]K])\ÿ\Ú\Ë\´\ˆ\…\¸\ù\ý]Q]Ï]ü^$^k^Õ_Xa c‹c¦deƒeœeWdÂdcKbFaïaüaòaãaËa³a£a’a~apa[aTaJa@a4a0a3a9a8a5a4a2a1a,a-a/a8a>aCaGaIaIaFaJaLaQaWaZa\aYaXaSaPaKaEa:a4a-a(a$aa `ì`Ì`½`·`¨`•`‡`Š`…`y`x`w`k`]`T`K`G`M`W`f`s`s`v`€`‰`ˆ`’`ª`È`Þ`ùaa`ÿ`ë`ùaa#a4aSaza¢aÐbb!b'b/bIbjbb»bábüccc&ccc#cAc]cfcgcfcmcycc™cŸc£cªc°c»cÈcÔcácödd5dSdrd‘d£d¨d§dªd¶dÊdádõee eeeee e!e)e0e>eNeZegeneqexe{e}e…eˆeƒe€e~exene_eReFe7e'eedödædÓd¾d¨ddtd]dNdIdTdddxdˆdŒd—d¬dËdóe ee&e,e=eKeQeJeGeLe[eke{eŒee¨e±e½eÏeáeðeýff fff f&f)f+f.f*f'f+f4f=fIf]frf„f“f¢f´fÅfÒfâfòfôfîfãfÓfÃf°fffƒfnf`fQf@f0f"feøeÓe®e”e{eneaePe:edúdÖd´dŒdad-cõcÀcŽcgc>c bÕbbfb-aða³awa@a `Ù`¥`g`&_ß_”_K_^¼^x^/]ë]©]d]\æ\­\|\U\6\(\ \\ [ý[ì[ß[Ô[Í[Ð[î\.\…\Ç\ä\ò\õ]]]]‡]ô]Ü^1^u^™^í_<_£_•_”_¹_Ü_²_¸`e`ž`}`b`]`<_Ó_ï`;`_å`*`Æ`è`¸`›`’`Œ`f`P`d`²aaCaNaeaœaÑaîb b!b)bIbEbbbaîaÆaÇaØaêbbvbëccccccccbËbÑcc+c*c5c.cbÕbCbb4bIbhb‹b£b¸bÍbâbúcc`c˜câd#dÁfˆfêeée€eveQeEe6e!ee dùdìdÖd»dŸdxdPd"cþcãcÌc­cˆc_c5c bóbÝb¼b¦bšb›b¤b±bºb²bbŒb€b|b|bwbfbMb9b bbbbaüaõa÷bbb:bTbub’b§b°b³bµb¸b¹b¿bÇbÏbÔbØbÒbÉb¹b§bšb”bšbŸb¥b¤b bb}bhb[bRbObQbVbWbRbKbGbLbJbPbFb]0]]\÷\ñ\à\Ï\¼\§\–\ƒ\x\j\d\]\X\V\U\R\\\k\s\z\\ˆ\\–\—\™\•\—\‘\Œ\‡\…\‰\”\µ\×\æ\è\ê\é\æ\â\Ý\Ò\Æ\º\«\¨\©\¬\²\¿\Ô\î\þ]]&]8]R]g]]…]Œ]]‰]ƒ]„]]Ë^^0^Y^z^¥^Î^ý_(_I___l_|_Š_•_ _¥_§_¡_¡_š_™_“_Œ__Ž_š_§_º_Ç_Û_é_ô_ý``_û_ú_ý_ú_ý_ü_ð_ë_ï_ø````-`G`V`a``œ`²`¹`Â`µ`·`îaa5aIaXabara…aša§a¼aËaâa÷aÿbb b bb2b=b:b9bCbMbXb`bcbabbbUbFb5b5b8b@bJbUbZbabdbhb~b“b¿bàbùc c bõbäbÿccc cc*c8cHcQckcŠcªcºcÉcÕcÞcÞcäcícícícæcócùdd dcûcêcãcßcÞcÙcÖcËcÅc¼c®c«c¨c­c°c¶c°c¥c˜cˆczcic^cWcOcMcIcfeËeeWe%dód½d~dEd cÓc—cac bçb¤b\baÊa†a@`ì`‹`%_©_2^©^"]u\Ù\[Ï[Ñ\?\î\Ë\ã]]¡^,^?^y^]º] ]O\Õ\ \_\@[ý[û\Å]]¢]¸]í^ ^1^<^c^–^±^Œ^ ^¯^©^¢^”^u^1]Î]†]Q]\×\—\]\9\9\[Ô[«[ä\)\\(\P\^\O\\$\6\I\«]%]„]Û]¬]‰][.YåYÁZZÀ[[œ]d_\`)_ß`Z`0`„b_b²ba‡`ø`h`_½_¸_Õ_$^­_@_c_<^ö^°^¢^ß_3^½__Õ`0`§`Œ`6``` _õ_Ë__a_3_^Ú^”^X^3^^]õ]ß]Ø]Ì]À]´]§]™]‡]€]y]v]m]a]N];]%] \ð\ã\ä\Õ\ï] ]\ß] ]„]ß^ ^[_e`eaûd¿dUd>ehe¦ežd¬c–bÐb2aþbaýaöaÕaÅaµa®a aŒa}axasahaZaSaXaYaXaYaXaZa\aXa]aeakaraxa}a|ayawawaza€aƒa„aa}a|a}a{avama_aZaSaPaPaEa0a`þ`ñ`è`×`È`¾`¼`´`¯`±`¯`¥`Ÿ`›`š`›`¥`§`¢`ª`¶`Á`É`Õ`â`÷aa2aOaiafaGa0a?aXana‰a¥aÃaåbb,bPbjb~b™b¿bãcc$cJcfcsc{c{cqcrc‰c¥c¶c³c°c­c·cËcÞcçcäcåcìcõcÿddd)dFdfd„d¡d¾dÕdßdådãdçdõe e!e6eIeReYe[e_eceeeaegeqeye†e’e¢e°e¶e¾eÆeÉeÏeÐeÌeÌeÌeÅe¼e¬ee’eƒeuefeWeFe5e!ed÷dÜdÅd«d”d‚d{dd”d¦dµdÇdÚdôee2eEeZegeue…eeŒe…e€e†ee›e©e¸eÃeÍeÝeóf ff(f*f,f0f8f@f@fAfAf>f8f0f7fNf[fjff˜f­fÁfÑfßfðfÿggg!ggfþfífÚfÌf»f«f™f‡f{fpf_fOf=f#feÚe»e e‘e„ete]e=edòdÍd£dvdFdcÝc¯c‡cVcbæb®bybb(b:b?baúaùbbbbUb¹cc;cccccc bûcc(c0c,c;c>c2bÌb=b)bObhb„bšb³bÑbðccccScœddVdrezf`fe¤e†e€ejeOeBe5e.eedýdêdÏd©d†dbdJd0dcôcÈcŸccicYcAc#cccccccbýbèbÕbÇbÄbÁb´b¦bblb]bTbNbFbDbHbQbhb€b‘b£b³bÂbÔbÝbåbåbãbâbåbébòbÿccccc bõbçbäbâbæbébébàbÒb¾b¬bŸb˜bœb¥bªb¨b¥b¡b›b•b–bb b¦bÅbÁb×cbóbåbábÝbÏbÊbÆbÊbÄb¸bžb|bWb4baúaßa»a™avaWa8aa`å`Í`½`®`£`—``‚`q`d`Z`\`U`Q`I`?`'``_ð_–_a_Â`;`¬`›``¢`m`P`C`4`&`````` ` ` `_ü_ð_ã_Õ_È_¶_¥_›__ƒ_p_[_A_!_^Ý^¸^”^u^W^7^]é]É]­]•]z][]9]]\ó\ç\æ\å\á\Ø\Ô\Æ\Æ\Ø\ð\÷\Ô\µ\ª\Â\¼\ª\¼\Û] ]\Ú\Ú\ø\ú\ï\Þ\à\ì\ú]] ]]]] \ô\á\Õ\Ç\Â\Ì\í\ý\þ]]]\û\×\­\´\Ð\Û\×\À\¯\¬\¨\‘\c\T\™\è]](]A]<];]5]]]=]I]Q]h]ˆ]‘]Ÿ]Á]é]Â]«]§]›]«]®]¥]ž]ž]¨]´]»]¹]µ]µ]µ]º]º]¹]¶]µ]´]°]¬]¥]›]”]ˆ]]p]b]U]I]9]] \ù\é\Ø\Ä\´\¡\Ž\~\i\^\W\R\N\J\E\I\Z\h\s\z\\Š\”\œ\š\—\™\˜\\€\{\u\€\›\»\Ú\ç\ê\ñ\ö\ü]]\ø\â\Ë\¶\±\²\»\Ä\×\ï]]]-]>]W]s]ˆ]˜]©]±]±]¤]”]“]·]ñ^+^`^‘^Á^î_!_M_r_‹_£_«_³_º_Æ_Ð_Ø_à_ß_Ü_Û_Ö_Ï_Ë_È_È_Ê_Ü_ã_ó```` ` ```` ` `_ÿ_ÿ` `&`3`A`:`A`P`g`o`v`Ž`¬`¾`È`Â`¼`âa a1aXanarawa„a™a¥a¸aÊaäaüb bbb(b4b@bKbMbKbJbQb\bfbxbwbybubcbLbIbSb]bhbrbvb}b‚b‡b–b«bÍbîccc&c"cc c/c/c2c6c@cLc]ctccœcµc¹cÈcçd dd dd ddd#d$d4d?d?d@d.d"dd dcúcòcäcÜcÏcÊcÂcÇcÇcÉc½c¯c¢cŒc…cvcpcicccac\cXcNcAc;c/c cccbùbèbÚbÑbÈbÃbµb³b°b±b­b­b®b«b©bžb’b†bfb`b:b'baìaãaÓaÓa¼aÂa¼aÁaÄa¶a®a®a–aŠara_aVaNa?a@aCa0a3aDaFa?aUaVabakaua„a€a’aŽa¦a´a®a³awaraGa#aa aaa$a`ïaa`ÿ`Ýahb×b£dÂiyiggÐd"`"`ñ^Í[‰^OdfMfŽeˆdägfb€dTi¥eab]íZWïWÏWŒVðVûWVþWWWW;WzWW¯WöXWþXOXÊYYzYX”XþYÁZHZY‘Y$X×X·X½XÿYYYšYŸY†Y“Y­Y·YåZZ8ZzZÌZêZø[=[[[ß\•\¹\¬\‚\L\$\6\i\ª\Ð]]&\ê]>]s]¢]Æ]¹]ª]@]Ï]ñ]®^]õ]ù]Ç]¼^t^m^?^ \ç\M\P\`\\Ž\Ž\Ø].]¤^~_h`B`J`aËba·ah`þ`©`­ahbb“bHbjbÃbücmc’c bþbÛb†b_b{b³bóc2crc¾cõdd3d_d­dþeKe”eÑeþf$fZf—fÚg g>gbg|gg¢g³g®g¸gÓhhfh¼iiWi”iÈiùj jAjYjlj…j“j©jºjÒjãjñjúkkk k k kkkk k$k kkk kjüjùjöjýj÷jñjãjÙjËjÃjÀj¼jÀjÃjÌjÍjÏjÎjÈjÂj·j­j£j˜jj‹j‡j†j„j‚jzjmjdjWjSjMjJjDjDjLjRj`jijrjwj|jj„j‰j‹j•j¢j±jÁjÐjÚjÝjâjájßjÜjØjÛjàjàjäjäjàjÕjÇj·jªjªj¦j©j¢jžj‘j‡jzjojjjdj_jUjRjMjDj;j0j#jjiüiíiÞiÑiÀi³i¤i•iŠizijiZiGi8i`iMi7ihøhÍh¨h†h`hAhgÿgßg½g˜gugOg+gfáf³f…fJfeÐe•eae/dûd¼d‡dKdcÞc¢cbc'bâb˜bLba»ata*`×`p`_^ø^q]®\è[ù[¨[O[­]3]‘]\d\R\Ì]O^]Ï]]f] \¢\q\8\[ê\\ú]Ÿ]¸]Ú^^G^O^N^r^©^Ò^Ê^á^Ð^Ç^Ñ^À^š^X^]Ç]˜]g]-\î\¸\”\™\Ÿ\\[ú\ \[Ö\\B\*\[Ï[ò\$\u]]^]w]œ]—\þ[IYŸYnYöZÓ[û\\6]q__ø``§`¢a+c!c bxaña?`¨`F``[`‹_ù_¤``_Ä_b_#^º^ò_Ó_E_N` `:`]`m`V`#_ö_Þ_Á_Ž_K_^Ý^·^^M^$^ ]ö]ã]Ú]Î]Æ]½]¶]¤]™]‡]y]n]\]Y]Q]O]C]7]%]]]]]%]S]¿]¨]]*]¨]Þ^"^à`ÿb­bßd^edäeFeue]d^c(bib/bbbbaëaÞaËaÀa´a¨aža˜a™aŽaaya|a~aa|aya|aaƒaŠa“aœa§a©aªa­aªa¨a¥a§a«a¬a¬a«a¬a®a°a¬a¢a“a‡aa|a~a{apaZaHa9a*aa`ý`÷`ù`î`è`è`à`Ó`Ð`Ø`ç`ì`ì`â`Ú`Ü`èaa#a;aIaLaVa{a®aÊa¯a”aŸaºaÐaëbbb7bZb}b›b´bÅbÝbýc%cEcacvc™c¶cÉcÒcÍcÌcÌcácöddd ddd"d0d8d=d@d?d@dAdLdZdqd’d´dÐdìeeeeee'e4eKe`eoe€eˆe‘e”ešeŸe¡e¢e¦e±e¾eËe×eâeðeöeúff fffffff eýeìeÛeËe¾e­eŸeeƒete`eJe1edÿdãdËd·d¯d¸dÊdÞdñe e$eBe\eveŠe›e®e¾eÉeÉeÆe¿eºe»e½eÅeÔeÞeèeøf f$f7fDfFfLfPfRfXf[f^f_fYfOfOf_fvf„f›f¹fÔfåfñgggg)g6g=g?g:g3g(ggfùfçfÓfÃf³fªf f”f†ftfXf4feòe×eÃe¶e¢e„ede>edídÄd™dfd.cücÏc¡cmc6büb½bbBbaÂaaHa`Ý`¡`]`_Å_}_5^é^Ÿ^U^]¸]e]\Ç\€\D\ [Ù[·[£[œ[ž[—[[‰[ˆ[Š[[“[¨[â\$\O\ƒ\£\‡\“\Æ\Ë\Þ]E]µ]ü^0^z^©^w^g^Ÿ^ú___œ_ß`L`Åa&a+`·`š`š`Y`m`ˆ`Ž`³`Ña$aCa=a^aKa`Ê`×aaHa{a”a¦a­aÃaÜaûbb7bQbIb7bNbjbjbVb:b/b4b*bbb]bÝcIc'bücbðbÍbÝc'c7c2c2c3c6c;cb›bKbOb\brbŠb¦bÉbïcc?cGc@cPcwdee%ee‰fffUeäe®e“e{eoeZeNeEe7e*eedædÊd«d’dzd\d6dcîc×cÆc³c¤c”ccc–cwcgc[cYcLc4c"c cbübøbóbÝbËbÅb¶bªbŸb—bœb¬b¼bÎbÞbæbðbücc cccc cccc0cIcfcuczcpc]cJc7c.c-c/c2c,cc b÷bèbâbæbîbõbôbðbíbçbãbÙb×bØbÓbÛbìcccc c cbÿbúbýcbþbõbÛb¿b–bsbRb2b aáaµa„a_a;a"a`ð`Û`Í`É`È`À`·`®`¢`—`‰`‚`y`r`d`]`P`<`$`+`>`k`›`…`Š`~`’`Ç`Œ`j`c`P`C`2`"`` ` ```_þ_ö_ê_á_×_É_º_ª_ _•_‰_|_j_S_=_!_^è^Å^¤^„^_^:^]ë]Î]¯]]m]J](]\ó\æ\à\Ù\Ô\Ò\Ê\»\¾\Ð\é\÷\ï\Þ\Ê\Ï\À\©\¨\¾\ó\í\²\¯\Ù\ø]] ]]]]=]1]]]&]!] ]]]\þ\ú] ]]1]?]E]E]=]\÷\ç\Ü\ì\ó\å\Ì\¶\³\´\’\e\€\Í]]&]0]7]O]f]I]J]\]Z]Y]e]]¥]¸]Í]á]Ï]Ð]Ñ]Ä]Â]¶]¼]¿]Â]Ì]Ë]Ð]Ø]Û]Ü]ã]ç]è]é]ã]ß]Ù]Ö]Í]Ç]¿]²]©]™]…]u]h]_]S]@],]\ú\ç\Û\Å\¬\Ÿ\‹\p\[\R\O\I\B\?\<\D\S\a\n\x\€\\™\š\ž\›\\”\ƒ\u\l\s\{\˜\¼\Û\ë\õ\ù] ]],](]]\Þ\Ë\¿\¿\Ç\Û\î] ]].]C]Z]u]‰]¤]À]Ú]í]ð]á]Ã]Å]å^^\^˜^Õ_ _C_p_š_º_Ó_×_Þ_Ú_ã_î_ù` ```````` ` ` ```%`>`F`H`I`E`;`3`*`'`)`%`"`1`K`]`n`b`\`d`z`|`ˆ``–`³`Ä`Ñ`Ó`à`ÿa6agaza‚a‡a‹aa«aµaÃaÞaøbb,b8b@b=b>bGbNbRbSbXb]bdbxb‹b‘bbbabYbebob~bˆb“b˜b¡b¨b®bÅbãc c!c2c>cihøhÕh°hŽhohNh)hgÝgµggjgFg"fôfÆf‹fOfeÖe£ele9düdÇddXd cèc¬clc(bÝbŒb@aùa²aoa'`Í`c_í_d^Ó^(]G[ú[!ZUZh\]Ñ^<]|\ù\\H]]{]Š]—]q\ï\‹\C\(\ \R]]°]Ï]ô^-^R^e^a^w^¶^ñ__E_"^þ^ÿ^ò^Ì^^Y^']ú]¼]y]2\ü\Ô\Ì\õ\ô\~\C\[À[×[þ[à[²[Š[Å\\T\Ð]]]Z];[ƒY±YVZZlZ±[O[I[w\v]Ü_6_ù`·ab c\bÎbMaùaaaaSaYa-`½`y`³`æ`’`A_Æ_ž___._n_Q_ã`€`A`#``_ð_Æ_§_z_1^ø^Å^–^s^N^*^ ]ö]Þ]Ó]Ä]½]·]®]§]–]Š]y]f]R]F];]7]8]3]0]!](]A]F]‘]È]ª^1^ž]÷]Ë^/^,^®`b cêcxcÐdÑdòeEeWd¦c˜b³bAb%bb!b"bbaêaáaÝaÑaÃa¸a·a¸a°a«a¤a£a©a±a¯a¨a¨a¬a³aºaÇaÏaÚaàaàaâaßaßaÞaÞaÚaÛaÝaØaÓaÖaÙaÖaÔaËaÀa·a±a«a¬a§a˜a‘a‚apaaaRa?a;a?a1a$aaaa"a6aGaLaIa?a1a!a'aCama—a¡a–a’a´açbaýbbb5bMbmb‰bšb³bÙbùcc"c1cGcfcc¬c¿cÐcçddd!d%d5d8d?dFdUd]dZdVd`dvdŒd—džd d—d’dŽd—dªdËdçdþee,e:eJeTeVe]eje{eŽe¤e´eÄeÏeÔeÕe×eÜeßeãeëeòeúff ff,f9fBfMfPfRfXfZfZfYfWfPf?f2f"ffeõeèeÜeÎe¿e¬e—eegeNe4eed÷dðdôeee'eDecee™e°eÇeàeófffeþeùe÷eíeçeíeùfff&f@fSf^fcfgfkfnftf{f}fzfyfxf„f–f¦fµfÒfïggg%g0gc8c2c(cccbùbøcccc'c)c1c7c?cGcKcKcGcFcIcPc^cycšc»cÓcãcÞcËc³cšc‰c|cycxcrcfcWcEc7c/c/c2c8ccGc:c7c4c4c6c7c+cbúb×bºb›b{bPb$aêa©avaMa0a`ÿ`í`æ`à`à`á`Ü`Ô`È`»`¯`§`™`Ž`~`e`D`_Ò_í`S`Œ`”`†`—`˜``š`ˆ`„`~`n`f`M`;`)``` `_û_ô_ì_æ_Þ_Ô_Æ_µ_§___ƒ_w_g_Z_K_5_!_^ì^Î^¯^‹^g^>^]ð]Ë]ª]„]a]=]\ý\ê\Ý\Ö\Î\É\Å\Ã\É\Ð\ã\õ\û\è\×\Ù\À\¥\š\¢\Ä\Ó\¸\\­\Õ] ]"]+]%]0]U]B]]]-]7]:]C]D]@]9]+]+]8]P]b]o]v]v]Z]L]=]]]]\ê\Ð\¿\·\Ÿ\†\‹\¹\ù] ]>]X]m]]—]š]›]Ÿ]³]Ç]æ]ð]ö]÷^]ý]ÿ^]þ]ì]Ø]Ñ]±]³]ß]û]ø]ö]ý^^ ^^^^ ^^]ü]ó]ê]ß]Ñ]Á]¬]ž]‰]x]l]_]O]=]*]]\ð\Ö\À\®\™\~\d\R\F\>\4\0\/\1\9\J\]\j\y\…\\˜\œ\˜\š\–\Ž\\p\h\g\\š\Ä\ß\ò\þ]]]+]1]3]2]\ï\Û\Ì\È\ã\û]]%]6]G]X]n]]¢]Ç]ï^^$^#^^ ^ ^(^^^Ÿ^é_'_b_•_Æ_ê`` ` ``` ``+`5`=`C`E`D`T`Q`J`G`E`G`O`]`j`v`ƒ`€`z`p`g`]`R`O`F`E`N```|`•`›`` ``ƒ`•`œ`—`«`Á`à`å`á`îa(a_a€aa”aœa§a¯aºaÄaÓaïbb7bGbKbHbCb@bKbWb_b]babebmb‘b¡b¢b›bzbcbjb|b’b¡b¬b´b½bÇbÍbàbõcc,cDcUc[c]cUcfcncscucc‡c™c­cÄc×cÚcÞcÕcöd(dNdbdfdjdgdmdidsd{dd¨d«d«dšd“dzdhdTd?d1d%ddddd còcØc¿c­c¡cœc c£cc’c…cƒcc{czcrcocec\cTcMc=c2c(ccccc c cccbýcbôbúbðbæbàbÆb±bŒbqb^bKbAb.b)bb baùañaãaÕaÅa¶a›aŠa‚amaaa`aQa@aGaHaYcY‡Y’Y}Y‚Y¥Y¿YÎYÞY÷ZZ6Z_Z¹[[…\\²\Ã\í]l]/\ð]] ]‘^*^»^ÿ^ž^i^+]Ç]–]k];]\þ]Œ]q]M]Ò]Ë]¢]I]¨^X^^]§\ã\‰\k\j\u\}\Á]]V]O]Á^c_V`›`çaaay`Ø`°aa aEb‹bÒbFbiaÕaˆaäbCb®b°bÊbëbãbÛbôccMctcžcÑdd]d‰d¯dûeUe©ffOf‘f¬fÍfög.g]gƒg¯gÌgëhhh"h&h9hih©hûiLi–iØjjSj€jžj¶jÌjájúkk-kDkWkdkmkvk{kxkvkpkhkekgkjkrkxkyk~kvkqkkkiklklkikZkMk7k&kkkkkkkk)k1k3k7k6k*kk jûjëjájÜjàjèjñjôjðjéjÙjËj½j¸jµj°j±j¶j¾jÂjÉjÄjÂjÀjÁjÍjÝjîkkkk#k%k&k#k'k"k k0kf.f$ffeúeèeÕe½e¤eŠepeWeBe6e/e1e\ç\˜\N\[Å[ˆ[^[G[8['[[[[+[A[U[`[z[‘[¯\8\ž\‰\R\-\K\€\¬\Ú]0]j]’]Ã^M^¼^i^?^K^¥__€`=`ña`Ï` `éa`Ñ`Ñ`Ê`´`¶`àa9a‚a‘alaPa1`ú`ÿa2aeaœaËaðbbb(b:bJbXbnb~bqbabRbTbTb(baþaæaÇa©a™a¥añb|b÷cc bñb»bÜcc%c-c0c6cb¿bibfblbsbŒb bºbÝccQc|c‡cc€ccÙdBde«g hegíff eôeÍe·eŸe’e…e~exeuele^eMe7e%e dódÔd·d¤d–d„drdjdnd|dŽdˆd^d>d4d$dcòcÝcÍc¶c¨c™c‡c{cvcscwcncdc^cZc\cfcqcwc}cc‚cŠcccŽcŒcc“cŸc¯cÏcòdd3dAdAd1ddcîc×cÍcÄc½c±c¡ccƒc{cwcwc}c€cc€czctcjcdcUcIcDc?c+cTc‚cc~cxcscjcjcpcmcbcQc9cbþbábÆb btb;aúa¼aagaFa/a!aaaa`ú`ñ`ë`Û`Ò`Ã`¶`«`†`@_ú_Ó_…_‰`'`–`©`²`¥``•`“`•``‰`„`z```Q`A`3`&`` `_ù_í_ä_Õ_È_»_­_Ÿ_•_†_x_h_Z_S_I_>_/__^é^Í^ª^†^a^>^]ð]É]ž]z]Q].]\ö\â\Ö\È\À\½\º\À\Æ\Ú\ß\Å\¬\´\À\§\\ˆ\\¢\¬\¦\’\\©\á]]3]5]>]N]?]]]*]@]U]j]|]}]z]t]j]g]m]s]€]ˆ]’]…]r]W]*]]](] \æ\È\Ã\´\«\¯\×]]9]d]‡]ž]°]¶]½]Å]Ë]á^^^%^&^"^(^&^$^,^/^+^^ ]÷]ñ^^^'^^&^-^0^6^7^:^7^1^,^#^^ ]ú]í]Ú]Ç]±]—]…]r]b]T]I]8]&]]\ï\Ö\º\§\Ž\v\_\D\4\*\"\\ \%\/\E\T\c\p\\Š\\‘\\Ž\Š\}\m\a\^\g\}\¬\Ñ\ï]] ]]]"]$]4]+]\ù\Þ\Ï\å]]]-]B]M]\]i]]¢]È]ð^^/^?^S^h^o^n^†^¼__F_„_º_ê``0`;`4`.`,`5`H`[`h`j`q`i`i``ƒ`‚`w`t`q`w`ˆ`™`«`µ`º`»`±`¥`š`…`t`j`p``’`¨`µ`Å`Ë`Ì`Ñ`¾`¬`Ÿ`¤`¦`µ`Ø`î`þ`ýaa3aiaža«a®a¶a¹a¾aÈaÓaæb b7bLbNbFbFbDbJbUb`bebobubbŸb¬b²b°bŸb‚b~b”b®bËbÊbÏbÛbábäbòcc!c=cYckcxc|cvc|czc…c†c’c¡c³cÌcÝcðcøcûcñd d>dcdvd|d…dƒd…d~dd d­dÄdÍdÔdÊdÉd·d¨dŒdvdadLdIdAdBd8d+dcôc×cÆcµc¶cÂcÄc¿c«c c–c”c”ccŽcŠc‚c|crclc`cYcNcCc?c6c=c9c9c;c1c4c(c(c&cc!ccbõbØbÃb¦bŽbtbebVbCbk;k:k`ß`n_ë_e^¬]‘\U[d[=[ã^_R__K__^¹^_^]–],\|\>\V\V\C\«]W]p]–]õ^L^Š^¥^»^¹^Á^ò__=_^_t_S___ _^í^¬^Q]ï]ž]o]O]2].]^]w]:\Ð\[°[Ë[­[{[u[Ž[´[Ç[£[\ \ZBYNYáZæ[Å[ò[Á\\ª]\ä]]Ñ_(`œaÏbÏcIc°c‰bÓbÛbÓbaÉaÉb bQb'aÐaQ`ü`·```_¶_F_i_ö_ö_Ü_Ò_¿_£_o_C_ ^Ü^´^•^t^Y^:^^]é]Ò]Â]´]¥]ž]”]]€]w]h][]L];]-]!]!]!]1]+]6]V]~]Â^ ^X^L^^-^a^²_J_ûab]b|b°cØe dàdRdäe>dkcRbŠb2b!b/b7bEb=b,bbb baÿaûaöaóañaìaòaóaöaöaôaóaùbb bb!b.b8b;b=b?b@bDbEbCbCbAb=b9b7b4b3b5b2b1b/b'b#b"b"bbbaèaòaòaÛaÎaÄa¸a²a±aœa˜a¨a½aÌaÔaàaæaãaáaÖaÍaÚaðbbbb3b[bb¡bÁbàbücc$c5cQckc‡c c»cÓcñdd*dEd]dsdqdudŽd¶dÙdòd÷dàdÝdådöeeee ee2eEeIeHeFeAe9e7eKeceve„ee™e¨e¸eÅeÔeâeôfff!f5fGfVf`faf_fZfWf\fefqf{f‚f†fŒf”ff¬f¾fËfÒfÕf×fÓfÓf×f×fÏfÈfÁf±f§f•fˆf|fmf`fSfBf-ffeñeÛeÉe²ešeˆezepeoeye‰ee¹eÑeçfff7fEfPfYfcfifhf^fTfWfnf€fŒf–fŸf¨f¯f³f³f´f³f»fÁfÉfÓfÛfåfóf÷fýg g g7gQglg‚g–g¨g²g³g±g¬g¤g™ggqgugygugqgjgcg[gSgJg:g(ggfïfÕf½f¡f„fhfGf#eûeÎeœege/dödÂd‘d`d,còc¹c|c7b÷bµbob(aÞaša\a'`ì`®`f`_Ð_€_3^å^•^<]ä]Œ]8\å\˜\L[ÿ[·[w[L[,[ ZðZÛZÖZãZü[[1[E[^[u[Ÿ\\G\3\2\\\„\ê]]9]g]²]Ú]â^ ]û^^b^Ï__5_å`«aa`Ü`Ç`Ë`êa `Ó`”`¯`Ùaa8a@a`à`½`¶`éa%a\a–aÅaçb b2bObkbwbkbibnb]bAb+ba÷aËa½aÕaâaÈa a¢a§a¸aýbVbœb²b°bŽb‡bb·cc"cbÌb|b_b^bsbˆb”b§bÆbòc$cXc}cŽc”c·cåd did÷eÕg4h²hf¿fLfeéeÛe¼e°e¢e ešešee„exelegeXeBe'eedõdãdÔdÎdÊdÄd×dØd¾d¨dšddd`dEd-dd cücðcÝcÐcÇcÂcÁcÁc¼c½c¾cÄcÏcØcàcàcãcæcëcêcæcãcècícûdd)dIdkdˆd—d›dd€dkdRd9d'dddc÷cècÚcÍcÇcÆcÎcÖcÖcÔcÌcÀc³c­c§c cc’cpc¦cØc»c´c®c£c c¥c§c§c¢c’czcdcBc$cbåb½bŽbXbaîa¾ažaŽa…awaiaVaAa/a a`ý`õ`â`Ù`Æ`•`1_Ÿ_²`"_ë`1`½`½`¶`¨` `š``“`Š`ˆ`‚`x`l```N`C`7`+`!``_÷_æ_Ø_Ç_µ_¦_–_ˆ_y_i_X_J_@_;_4_+_ _ ^ó^Ü^¿^¢^}^T^0^ ]æ]½]™]s]P]+]\õ\á\Ñ\À\¸\¶\»\½\Î\Ð\«\’\›\•\s\f\p\„\œ\¥\¡\˜\‰\‰\°\ñ])]<]J]\]d]J]:]D]R]f]]Ÿ]±]¹]»]¸]«]š]Š]‹]†]‚]ƒ]}]^]/]]] ]\ÿ\ß\ç\ç\ë\ò] ]3]^]†]¡]¹]»]º]Î]æ]ï^^^8^J^G^<^:^=^G^U^Z^^^U^f^µ^É^…^S^V^W^W^[^[^]^^^d^c^_^\^N^@^1^^ ]ô]Ý]Ä]°]™]€]l][]Q]G]8])]]\ä\Í\¹\\†\m\O\4\$\\\\\\ \/\>\R\g\v\\…\‡\ˆ\|\p\c\U\N\Q\f\‹\¼\ä\þ]]]]]]]!]] \ö\ä\ê]]]7]N]W]d]o]ˆ]¡]Ä]ï^^1^I^l^…^˜^—^´^é_&_]__Ý``<`S```\`Z`\`m`‚`’`¡`©`¶`·`º`·`´`µ`¥`¦` `¦`¶`Ë`á`é`ò`ò`õ`ì`Ú`Æ`µ`ž`“`¨`Â`Õ`á`ç`ä`á`ê`è`Ö`Ä`¾`»`È`Û`ïa aaaaaua¾aÉaÅaÆaÇaÍa×aãaøbb'bk2k%kkkkkkkkkkkkk.k;kMk]keknkmkmklkfklk‚k˜k¤k°k¶k»k¶kªkœkkƒk|k„k“kŸk¬k¬k kk~kpk\kIk:k-k#kk jûjñjçjájØjÎjÈj¿j´j¢j‘j~jsj`jUjHj8j&jYjJj=j)jiþiãiÈi©iŠiiiLi%ihØh¯h…hTh*gùgÄgˆgJg fÕfšfaf*eòe»eˆeXe)dód»ddBdc½csc"bÚbbSbaâaªa^`ü`Ž`_‘^Ø]ø]0\k\À^U_H_J_R_;_<^ý^Ç^r]é]E\]\\G\@\@\³]-].]n]Ò^;^^²^Ã^Î^Ý^õ__:_T_g_a_D_<_?_7_^Î^k^]—]e][]T]E]R]j]T] \…[ð[ç\[ð[¿[”[[g[4Zû[ZÚYÙYÚZï[»[Ê[Á\x] ]4]]]]']×^Î`!ajbeccšcÝcicpcDbJaºb(c•caÎa§aa`®`P`_¼_]_c_Ž_˜_§_¡__r_C_^í^Ê^¥^‡^e^@^$^ ]ï]Ø]Ã]´]¨]œ]’]Š]ƒ]z]p]c]\]N]D]3]*]%]-]8]2]D]Z]¢]ö]ÿ^^5^^Õ_7_}``ßabÌcocƒdãežd¿d‰e;ePdkcGbob+b'b2bAbTbUbNbb:b6b&bbb bbaîaíaña÷bbbb,b4b2b7b-b/b8bgLg`g{g˜g°gÆgØgägçgàgÚgÑgÉg»g¯g²g·g´g³g¯g§gžgg†gxgbgLg>g/ggfèfÈf¤f}fRf$eõeÅeŒeSedäd±d{dFdcÐccOc b¿bvb/aæa¥aia2`ú`»`p`!_Ô_…_7^å^‘^;]ç]’]?\ë\\I[÷[³[z[L[ZëZ¾Z£Z ZµZ×Zù[[+[?[_[z[ [á\\%\\\m\Ö\ð]6]^]ƒ]Æ]Õ]·]¶^^i^¬^Ò__“`daa`û`ía a`ó`³`p`¡`ê`ð`à`É`‹`R`X`~`ª`Ìaa9afa“aÏbb`b‰b•bƒbsbqb`bCb*baøaÔaÐaÕaçaëa¬a™a¤a‚ataaöb9bPbJb>b,bAbb›b™bpbVb]b^bobbbÐbõcc"cYc“c¥c­côdSd‰ee‰eÄfàhšhf×ffHfe÷eáe×eÄeÃe¿e¾eµe¨eœe›ee˜eŒe{eie\eUeIe8e%eee(e%eeed÷dàdÇd©d‹dxdhd^dYdCd1ddddddddd+d:dFdIdKdMdPdIdFdAdFdQd\dkd|d–d²dÍdâdçdÞdÕdÂd­d–d‡ddwdjdWdEd8d,d'd(d/d2d.d-d&dddcýdcýcöcéddcìcècäcßcàcácåcæcÞcÏc¹c£c…cec>cbîbÄb–b`b4b aóaàaÐaºa±a¥a–a‚amaZa8a%a `þ`ë`Ã`f_²_Ï`¾`ƒ`W`¸`Ã`Á`·```ˆ`‡```z`t`k`d`Y`N`D`9`-` `_þ_ê_Õ_Â_±_¢_“_ƒ_q_Z_D_8_/_*_"___^ð^Ø^Ã^±^”^n^H^]÷]Ò]³]’]s]N]+]\ô\Ø\¿\¸\µ\³\´\Ã\Î\³\Ž\Œ\Œ\n\c\x\€\˜\±\²\£\ˆ\|\‹\Å]]A][]z]‰]n]_]\]b]]˜]±]Ì]è]õ]ü]ö]ä]Á]¨]’]w]p]q]W],]] ]](])]]]&]?]N]X]h]ƒ]¢]¶]É]Ó]Ø]à]õ^ ^)^@^U^a^]^\^a^k^q^y^}^‡^Š^‡^—^Ä^Ç^›^^Œ^‡^‡^„^…^ˆ^‹^‰^‡^€^w^j^W^E^-^]ü]ã]Ê]®]–]€]q]`]T]I]9]*]\ú\ä\Ï\¸\Ÿ\\e\E\-\\ [þ[û[ý[û\\\.\C\X\c\m\w\{\r\a\P\F\B\D\O\k\\Æ\ë\ÿ\ÿ\ü\õ\ü]]]]] \ø\ø]]]8]Q]_]m]}]—]²]Ó]õ^^?^Y^~^ž^¯^²^Î^ý_B_}_¾_ü`)`Q`g`x`|`ƒ``¢`»`Ë`Ñ`Ü`æ`ë`ï`î`ó`ñ`è`á`Õ`Þ`ñaaaa!a"a+a%aa`ù`Ü`Ê`Ú`íaaaa`ø`õ`î`æ`Ü`Ñ`Ù`ç`ò`üa aa0a;a7a[a¤aÓaåaÜaÑaÙaãaæaëaøb b%b9bMbXb\b\b]bjb~b”bb§bÀbÕbÚbÛbÙb×bÛbæccc ccccc"c2c_c€c™c¨c¶cµcŸcŽcŽcÀcÙcåcócÿdd d-d2d;d?ded{d‹d•d—d£d›d»d×dÝdâdôeeeeeeedñdádÖdÀd°d™dƒdrdYd>ddcìcëcñcøcõcìcÙcÍcÊcÀc¿c¶cµc°c¦c©cžcšc—c•c™c“c¡cšc£cc˜cc„c…crckcic^cWcKc9c&c bôbÔb»b§bŒb…bgbWbKb?b3b'bbaõaçaÑaÆa·a–a§a–a‡axaraia[aYaMaPa^a_a|a•a³aèaêbbb b+b@b4bbaåaÅa¢a‘a’a½a×aÙaïaçaÎa’aÍaÍaØa–a(bÞhÁh…d0__ _ùcqeEdÈc©aácrfiRhßeœc:bÈdíe(bbbœaóa·_¿^\=YoXIW¼WWWWW$W3W%WlXcYYqZZY«Yõ[[Ö[jZvZ#Z>Z(ZZYY_Y’Y YÍYÚYîYëYðZZQZâ[2[u[Õ[ó\]Q]È^|^–^]Ú^^R^†^Ì^Æ^…^!]‚]#\è]]]]¾]‡]]0]P]Á^^|^¦^õ^]{]R]F]ñ^‚^¨_'^^E^;^Ú`D`a0a½a]a¾b*b™b›b…bdb+aïaüaüb0bmbgb†b­bÔcc%cYcÇdQd¼dµdMd#dDdydÁdöe/eie±ffCf¬g6g²géh hhh:hIh\hzhžh½hËhÕhÞhüi'i^i›iÜj$jdj£jÛkk5kSkik{kŽk¢k¹kÒkåköllllllkÿkùkûkýkülll lllllllkøkäkÕkÇk½k·k³k±k´kºkÄkÍkÖkØkÓkÈkµk¤kkkukuk~kkžk¦k¨k˜k†kqk`kPkFkBk]6];]=]?]D]a]Ô^f^‡^ ^¦_ê`S_Þ_£`eaŒb;codÅdXdèeÅeeeidûcîböbWb#b"b5bMbabibhb]bUbHb?b@b=b:b7b;b@bGbMbNbIbAbGbQbZbmb|bŒbšbžbŸbŸb bŸb¢b¥b¦b§b©b¦b¤b¤b£b¥b¦b¤b¡bžb›b˜b–b•b”bŽb‡b}bwb€bxbjb_bYb\bOb:b;b;b;bGbUbbbwb‘bb«bŸbŠbzbxb†bbÎccedÓdždhd,cìc©cecb×bŽbBaøa±ata@a`Ç`~`-_ß_Ž_;^í^œ^D]í]š]I\ú\¨\R\[¿[†[P[ZËZ–ZzZxZ•Z¼ZÝZù[[)[E[H[d[Þ\9\(\[ù\4\‚\‹\Ò]]]X]]‡]¸^^c^¯^è_A_½`\`è`þ`ýaa5a `¶`’`†`µaa0a`×`´`¬`¾`®`¯`ÛaaPa|aªaãb(bqb¢b­b¡bŒb„bubgbTbAb/baïaèaübaºa‘aya8a+a_aœaáb1b=bbaÿbb*bIbEb=bHbTbobšbÕccAc;cAcoc”c¢cÉcûd,d¸eÙfFffÂhGhg fŠfTf:f)f eõeêeâeßeáeÕeÍeÅeÌeÑe×eÑeÄeºe±e©e˜eeepebeeemepejeeeWe?e(e dîdÓdÂd¸d­dœdŽd{dodjdodvdwdvdxd‚d”d£d¨d­d¯d®dªd¯d«dªd²d»dÉdØdédýee"e.e(ee dúdèdßd×dÒdÇd¶d§d•d‹dˆd…d‹dŽdŒd‡d{didXdQdQdSdNdGd@d9d0d2d1d&dddddd cücçcÑc¹ccycNc!bøbÊbœbsbOb1baþaîaêaãaÛaÇa²a£a†amaPa;a'a`Ã`ƒ`¾a`Ö`š`º`À`¾`´``Ž`€`w`n`k`i`i`b`_`X`M`H`=`-`` _ö_à_Ë_º_¨_˜_Ž_~_h_S_=_+____ ^ü^ð^ß^Ê^½^­^›^^]^1^]Ý]Á]¨]‹]l]I])] \ì\Ñ\¼\±\°\²\º\Ê\Ç\°\¥\¡\•\‘\‰\s\‘\¶\°\ \‹\|\|\£\ï]1]^]ƒ]œ]–]~]a]l]‘]²]Ñ]ç^ ^$^.^/^)^]ð]Ë]¦]]}]f]D]/]+]2]4];]=]B]X]x]”]¡]¢]¯]É]ã]ö]ÿ^^^^,^F^X^b^i^r^|^ˆ^š^¡^¦^¢^¡^¯^½^²^µ^Ð^Æ^µ^±^°^«^©^ª^§^¨^£^ ^›^–^‹^~^m^U^?^%^ ]ì]Ô]¹]]Œ]u]g]Z]J]:]&]\ü\ë\Ñ\¶\›\}\Z\;\\[ö[ì[ì[ç[ï\\\\%\.\=\X\g\e\Q\?\8\6\8\?\S\z\¥\Î\æ\ô\ò\æ\ê\÷] ]]#] ]]] ]$]@]U]k]}]]¦]É]ê^^9^^^}^š^»^Ê^Ó^â_ _`__Ü``?`_`w`‰`–`§`¹`Ó`ë`úaa a aaaaaaaaaa#a.a6aFaPaXa]aXaZaPa>a+aa aa0a0a/a&aaa a`ý`ùaaaaa!a5a@aWa]aka“aÀaéaëa×aÝaéaôaøaòbbb;bTbfbrbwbzb€bŽb£b­bºbÒbâbïbóbúbüccc"c*c%c.c4c6c3c&c)chcœc´cÂcÇcÏc½c¥cšcÇcÿdddd/d8dMdKdOd^dsdˆdšd¨d±d°d¨dÑdïdùdýe e"e0e7ebkb#aÿaîaíaúbbb)b?bJbfbªbîc(ckc{cvcyc‡câdwd‘dcdêfNf§fFfœgºhkg·gf£flf\fCf&fff fffeûfffffeýeòeëeàeÔeÁe¸e®e´eÂeÍeÍeÀe®e˜eze\eCe(eeedõdãdÖdÏdÎdÐdÏdÒdÒdÑdßdïdúdþeeee e e e eee e/e>eOeXebeiebeSeEe7e+e%e eeed÷dædÜdØdÔdÕdÓdÑdÍdÀd¶d®d¬d¯d¬d¢d˜dd†dzdodadWdPdEdBd?d;d1ddcõcácÈcªc†c[c0cbÙb²bbnbUb?b+bbaÿaîaÞaÎaÃaµa¤a‡aeaUa:a-a>a2a `ì`Ý`Ñ`Ä`³``‹`y`n`c`X`V`X`O`C`>`:`1`)`` _ù_á_Å_­__Ž_†__w_g_Q_=_)__ ^û^ï^á^Ñ^À^¯^£^™^Ž^y^b^>^]ä]Ã]­]‘]z]\]9]\ÿ\à\Â\·\³\´\¼\Ë\Ñ\Ñ\Î\É\Ä\¹\™\q\‰\­\¨\ž\“\…\{\‡\¼]]S]}]š]¬] ]z]p]‡]½]ò^ ^-^K^\^`^^^]^P^,^]æ]¿]Ÿ]~]n]o]d]C];]@]O]u]]©]Á]É]Ö]ë^^^!^$^/^;^L^b^{^^š^£^£^¤^°^À^Ë^È^¹^³^É^â^ç^ã^Õ^Ï^È^Â^¾^¿^¼^·^µ^°^±^®^­^¥^^^€^k^T^8^]ÿ]à]É]°]—]…]r]b]O]:]']]\ë\Ó\³\“\r\P\-\ [ñ[ä[à[Û[Ø[Ü[è[å[ð[ü\\:\T\Q\@\-\"\'\0\6\@\]\‡\«\È\Þ\æ\æ\â\ë\ÿ]]&]+]+](]!]+]F]^]{]’]±]Ì]ó^^A^g^ˆ^ª^¾^Û^ð___N_Ž_½_õ`-`V`m`‰`ž`±`Ç`Ü`ôa a&a.a2a0a3a.a/a5a>aDaAaIaIaQaTa`asaza‚aaœaœa“aajaZaLaNaZaWaZaSaHaAa8a7a2a&a a'a2a7aCaRaaaaaYaoa’a±aÍaáaÚaÛaÙaäbb bb.bEb[btb„bŽb˜bœb§b³b½bÄbÜbòccccc'c2c@cGc@cEcNcUcLc3c/cuc»cÎcØcØcæcÞcÌcÀcÚdd+d3d;dCdLdUd]dedsdƒdŸdµdÄdÍdÌdÊdÜdúeee"e2eDeQeXe[e[eceiegeWeEe&edëdÉd²d’dndBddddd"d'd ddcøcècàcØcÑcÓcÆcÒcÎcØcâcècöcódcúcýcøcåcßcÅc¹c¬cœcœcŒcƒcscecOc,cbýbâbÐb²b•b„bpb`bRbDb1b$baûaúaíaËaÑaÉaÈa¶a®a©a™a™aa…a~aua†aŒažaÄaÚaüb bb4bSbXbhbtbbbWb,b aÅaÊa·aÏaæbb a÷aûaébaÙb$a¡apcgógTaû\äZA]^` `iaéaR`vbhGiÞgµhd™_z_>`Ù`_-_”``M`¨]µZwXWV¯VÜVûW5WIWJWXWbW¦XDXÒYÙZ‘ZjZ£ZQYøZZí[[Z´Z³ZHY}YRY|Y‰Y³YÅYåYûZ ZZ][N[ \\å\é]$]l]»^‚^÷^Ç^'^^G^#]ç]ô]Ý]·]–]2\Ý] ]f]I]]\ç\ê]4]®]Ñ]–]ý^´^‡^‹_L_c_t_§_!^á^Þ_P_£_c__žaêbºb£b~ba³aaÀaDaNaÆb%bºb×bsbdbvb€b“b°bþcVcÛdkdêedÅdŒd‘dÄe ePeˆeÃff[f·ggh hIh{h›h»hÓhçhëhôiii4i=iIiVi{i¥ißjj[j—jÕk kAknk˜k¸kÏkækõll l8lDlTl`lpll~l{lololkljlhljlplslylyl~lylxlwlwlslkl`lNl?l/l$lll#l*l0l2l3l+l#lllkýkùkökökûllkþkòkÛkÅk®kškŠk{kvkmkjkwkkŸk¢k¨k«k¶k¿kÂkÏkÖkãkìkók÷kûl ll&l+l6lDlNlRlPlJl>l3l5l3l=lPlalclPl;l!lllk÷kêkßkÔkÅk¹k«k›k‹k|kqkfk`kZkOkHk;k2k'kkkjþjêkkj÷jäjÒj½j©j’j|j_jGj+jiòiÍi¥iziPihïh¼h…hLhgÐg‘gSgfØfŸfgf1eûeÇe•eae,dðd·dtd*cãc˜cZcbêbÅb›bqbJbaÔa¡aŽa“aa `~_Ù^ù^Ü`#`D_ƒ_@_B_4^Ÿ]Ó];\›\=\?\´]0] ]M]»^#^y^À_ _X_ž_Ñ_ë`` ``U`t`i`U`t`0_*^v]ú]Œ]c]u]˜]¤]š]†]~],\×\Ï\Á\ª\\\Ÿ\Á\›\C\ \-\¨\ö]]h]Ó^&^7^y_%_Ì`>_à_+_$_´`"`¨a)a³b/bcbgb‚bÐcYcôd¼daìa`aV`Ïa`Ç_Ì_±`+`0_â_”_k_e_S_7__^í^Õ^·^“^q^R^.^]ú]á]Ñ]¾]³]©]¡]ž]š]]¡]¢]š]‘]„]w]g]\]U]V]R]Q]I]k]^'_'^€^³`áabaaxa¿bydd¦e@eGe²eþeBe€dÚc¨bíbb?b-b,bDb^bxbŠb•b™bbˆb€b€bbzbb’b™b¡b§b¦b›bŽb’b¡b²bÅbÚbðbþcccccc c cccccccccccc c c cc cccccc cc cbðbìbíbíbìbìbîbøc c$c7cGcZcQcGcIc3c-c3c4cSc€c®cßd d*dBdYdrdŒd¦dÇdëee/eEeUeie|e‰e–e¥e¼eÚeúff+fDfLf6ff'fHfof¥fãfçfÃfÁf·fžfŽfff”f§f¸fËfÚfâfäfÚfÐfÔfïgg7gFgOgUg]ghgvgzg~g‰g˜g£g£g–gŒgŽg—g«g¼gÇgÈgÆgÇgÇgÊgÐgÑgÊgÃg¾g»gÀgÆgÉgÇg»g°g£g’g†gwgfgWgGg7g$gfýfêfÙfÊfÁf¿f»f·f²f«f¢fšf–f“f™f§f¹fÑfåfýgg+g>gJgGgFgHgPg_gkgxg‰g—gŸgŸgšg”g–gœg©g¸g¿gÈgÒg×gØgÖgÙgëhh h;hUhihshwhwhvhuhyh‚h‹h‡h†h‰h‰h‚hvhfhNh3hgôgÕg¼g¦g’gƒgug]g>gfíf½fŽf_f-eúeÅeeSedád§dgd#cÛc•cMcb¼bob!aÚa aia.`è`˜`G_÷_§_X_^¶^a^ ]¼]q] \Æ\r\%[ã[¨[`[Z½Z‚ZdZgZZ¥ZÅZß[[ [[m[Ç\\(\L\L\\\^\¡\Ö\ä] ]U]j]ˆ]À]ý^g^Õ_"_j_³`9`÷af8f3f+f!ff feÿeûfff)f+ffeçeËe°e“ezefeSeNeBe8e0e'e#e!e#e&e%e+e7eGeXe\e[e^ecehelejedefejete‡eœe¬e®e¯e¢eeetepelehede]eSeLe>e6e)e ee e eeeedÿdýdødòdëdÞdÈd¶d¢dˆdd|dpdjdhdcdYdHd7d%dcÿcëcÕc·cŽccc;cbôbÖb¶bžb…bob]bOb=b&baÿaôaäa×aÇa­a›aaoaMa6a-a a `ø`à`È`¯`Ÿ`‹`s`\`L`B`;`/``` `_ü_ò_â_Õ_¸_™_ƒ_v_j_c___`_[_N_?_.__^ò^Ü^Ë^¶^£^“^„^{^p^d^U^<^]ñ]Í]¯]“]~]a]B]&] \ì\Ñ\Â\¼\Å\Ë\Ñ\Õ\Ù\Þ\ä\Ú\Ã\«\‘\™\¥\\•\Ž\Š\‚\€\˜\ß]7]q]”]¹]Î]¾]™]“]Æ]û^&^W^r^ƒ^‘^”^™^˜^‚^a^D^%^]Ü]¿]´]–]m][]K]R]…]š]©]È]Ï]Ç]ê^^0^?^I^S^Z^k^^¢^¿^Ò^Õ^Î^Æ^Ë^×^Ú^Ú^Î^Ä^Æ^Û^ì^î^è^Þ^Ï^È^Ê^Æ^Á^¿^º^º^½^»^¾^º^µ^¬^¤^“^‚^f^K^0^]ñ]Ô]¾]¦]’]|]g]P];]']\ý\ç\Ë\®\Œ\d\@\[ø[Ü[Í[Å[Â[½[»[¹[¼[Í[ë\\+\$\\ \\\\(\6\H\f\\¯\Ê\Û\à\Ü\ç\ú]] ]0]6]<]>];]Y]x]–]³]à^^)^V^x^¥^Ç^Ú^à__2_S_r_—_Á_ó`%`L`i`„`¤`À`Ú`ðaaabbnaýaÛbIbécædfb§aÙau`Ú`¦` _¦_é`8_ú_´_€_a_R_=_!_ ^ÿ^æ^Ê^«^…^a^@^ ^]ï]Ý]Ë]½]µ]­]ª]¬]¯]¯]­]§]›]ˆ]x]g]^]W]V]Y]O]M]~]§^Ò^ÿ^‘`\a_aaœbcdÁeeDeÍfIeCe:dãc]b—bdb7b2b9bMbcb‚bœb§b«b©b£b¡bžbœb›b¦bºbÅbÇbÂbºb±b´bÁbÒbèccc,c8c=c>c?c@cFcEc?cAcFcBcHcFcFcIcLcJcIcHcGc@cDcEcHcJcTcbcjcccWcRcDcEcIcFcKcScVcfcc¡c­c³c¹cÂcºc¡c¢c¨c¨c²cÑdd6d\dzdžd¼dØdùee?eheˆe›e¥e·eÒeãeôf f f8fQfef€f˜f©f f‘fŠff¿fÔfÝfÚféfûfúfífèfìfïfûg gg/g:g;g/g$g-gKgsgŠg”g g«g·gÄgÈgÊgÔgægôgûgðgÛgÓgÞgöh hhhhhhhhh hgþgÿhh h hgögãgÔgÅg³gžgggmg\gMgcöcªc`cbÄbsb%aßa¥ala%`Ô`}`(_Ö_ƒ_2^Ý^ƒ^-]â]•]?\ß\ƒ\4[ï[¯[e[ZÃZ’ZxZzZ”Z·ZØZñZô[[_[£[Û\ \0\8\\\L\´\ö] ]„]Ø]³]­]Ï^^ª_/_w_¬` `“aa`º`´`âaaaazaÝaàa…aCa;aMaha€a‘aža¼aèbbCb|bÀb÷c#cbýbîbàbàbíbíbåbÉb«b•b„b™bŽb]b[b6aèa²aaÚb7bVbnb:aùaÕaØaýbb(bDbmbªbàccGc~c¡c£câdÔeyePegeØff;f­g&hg«gfïfÝfÌf¡fžfŒffpfmfhfkflfhflflfjfgfgf`f[fVfOfKfRfbfvf|fnf[fDf'f eéeÐeµe e”e‡e‚eyerereqeseteye‡e”e«e¹e¼eÁeÄeÄeÈeÂe·e´e¶e¾eÍeàe÷eûeûeéeÈe²e«e­e«e«e§e¢e›e“e‰e~eoelebe^eYeNeDe=e9e5e0e)eedùdâdÆd³dÑdÔd¥d”dŽd…dqd[dEd.dd cûcåc¾c“chcBc&cbõbßbÅb³b bb}bhbVb>b'baùaâaÓaÃa²ažaŽaxagaNa6a`þ`å`Î`¶`œ`‚`l`S`A`0``_õ_é_Ú_Ã_¸__u_X_B_3_(_+_;_>_<_5_*__ ^ò^Õ^¼^Ÿ^†^o^`^T^M^C^4^ ]ÿ]à]À]¡]]]]B]'] \î\Õ\É\É\Ò\Ö\Ô\Û\ë\ò\î\Ù\º\\¤\¦\”\\‰\ˆ\\\‡\®]]P]]Å]æ]é]È]·]â^#^_^ƒ^—^³^Ì^Ù^Ù^Ç^§^Ž^w^W^"]÷]Þ]¿]ª]¡]{]m]ª]Ò]Ü]Û]Ä]Î^^F^P^\^k^r^}^Ž^µ^Ú^î^ö^ø^þ__^ó^ì^Ô^Í^Ó^ç^ñ^ó^æ^Ø^Ì^Æ^Ä^Â^¼^¹^º^½^Â^Ç^Ä^È^À^¹^­^¡^‡^o^M^/^]ö]Ù]Ã]©]]t]Z]B]']\ù\á\À\\x\N\![û[Ö[¿[«[Ÿ[”[[‰[Š[§[Ê[í[õ[õ[ë[é[ñ\\\"\3\H\l\Œ\®\À\Ì\Ô\à\ÿ] ]]<]J]X]Y]g]~]§]Ö^^;^e^Ž^¸^ã^ò^þ_$_j_¤_À_Ú_õ``?`_`w`”`´`Ö`ýaa=aYa}a„a€aƒaraganakaa‹aŽa—aœaªa±a¿aÄaÐaÛaçaøb b aøaåaÕaÊa»a¹a¾aºa»a¼a¼a»a·a±a£a‘a†a}a~a‘a°aÂaÐaÃa£a•a‹a¨a¸a»aÓaêaýbb4bObcbrb†bšb©b´b¿bÏbÛbßbÚbÛbúcc9cLcTcbczc‰czcvc‡cŽc‹cecmc¨cêdddddd dd.d?dYdhdud{dvdydzd›d¹dÚdõe eeeee"e7e@eEeYepe‡ee“e—e˜e”e‹e|eme^eGe"dúdÚd«dƒdYd;d8dFdTd_dWdNd:d+dd dcøcþcýddd$d*d1d;d6dAd8d2d#ddcêcåcÍcÆc±cªcc‚cmcLc3cbúbÙb¼b£b–b…bvb_b^blMlal{lŽl«lÄlÜlëlòlñlèlålÝlÝlØlÛlÝlàlÜlÚl×lÒlÐlÒl×lÙlÚlÑlÂl®lšlƒlsljlklklolrlxlylzl|l{lwlolfl_l[lVlUlHl:l(lkúkåkÛkØk×kækék÷lll llll&l-l8l?lGlJlUlelrllŽll§l¯l²l¬l­l¬l±l®l²l¹lÈlÑlÌlÁl«l˜lƒlnlglUlJlIl:l.l llkùkîkãkØkËkÁk¶k¬k£k™kkˆkkqkdk“kŠkxkfkTk=k-kjüjájÂj£jƒj_j9jiéi¾i‘i_i(hìhµhyh@hgÅg…gAfþf¼f~fCfeÞe«ete7dòd©d_dcßc¨crcBcb÷bÙb­b|bYbAbEb:aN`Š_í_‚_Î`_õ_‹_6^í^‰^(]¥]\é]]R]]]³^8^¬^ý_/_d_š_É` `A`\`^`Ÿ`Þ`ì`Š` _´_^_ ^b^]é]Î]Þ]ï]ø]í]Ì]_\­\1\O\\Ë\ë\ý]]L]]®]ä]ö]õ]ù]ô^K^Ú_S_Ì``e`Ëaa1alaÞbb/b¬bÞb~a¶a'a—b¥c[c¨bxb aça6`“_æ_Ã``_à_¤_n_T_F_9_)__ ^ô^Ù^¸^›^v^X^:^#^]ú]ê]×]Ë]Â]½]À]Â]¿]»]±]¥]]€]m]`]V]T]R]U]A]r]‹^l_ ^__òaëa3a&aêc.dÈeuežeïf@eVeFd’cb^b:b&b0b;bTbkb‰bŸbµb¿bÀb¹b¼b»b½b¿bÈbÛbäbçbÛbÍbÇbÕbòccc5cNcbckcscscxc€c…c€c{c|ccc‚cc}c~c‡c…c„c‚cc}c}c€c‚cˆcc›c£c¥cžcœc˜c™cœc¢c­c¶cÁcÏcádddddd ddd dddAdrdšd²dÈdäe e-eTe}e¨eÊeâeöf f f3fCfNf_frf‰f¤fµfÎfçfõfñfåfßfògg#g gg,g8g>g@gEgGgLgPgXgig€ggg~gqgxg–g¿g×gågøhhh%h+h3h:hJhUhZhPh8h(h.h>hQh[hbhhhhhch_hZhQhHh>hglc5c(cc bùbßbÃb§b…bhbPb8b"b añaØaÆaªaa„anaZaIa_O_v_–``M`S`y`_ü_“_f_…``—ao`·a3cVblaÇbeb%aXacaÑbb,a¿aïbbKbVb4bEb†cIcúd˜dßdýe[e°e´e»eÒeÿfAfšfðggbgËhm8m2m,m(m-m-m(mmmlîlÛlÈlÁlÄlÊlÔlÙlàlälälålálÙlËl»l«lllxltlplll`lXlWlYlXlXl]ldlkllljlolrlzl‡l—l§l­l¬l¯lºlËlålömmm m m mmmmmm*m9m?m=m.m mmlïlßlÌl¾l¸l´lªlœl‘l†llrlflZlNlCl3l(lllkökïkækâkÛl!lllk÷kækÒk½k¡kkZk3kjßj³j‹j^j2jiÔi›iii7ihÑh˜hYhgÛg•gPgfÊff]f/feÉeŒeEed¿d†dLdcØc¤czcTc2cbæbÂb“b‹b“aˆ`"_0_"_f_Á_ _d_Q_P_^™^&]ì^^à_^__r`­ao`ø`M_ÿ_é_ÿ``P`‰`º`Þ`ì`Í`j_â_b^ø^™^x^H^^]ç]Ó]Ê]·]p\½\g\á]U]u]’]®]Å]ê^^K^_^T^Š^Á^â_ _Q_¿`faa5aJa¤bbzb§bÃc5cŸc?bia×aia3`ÿb$dscaßa5`r`@`_Ë_Ö_Ç__}_j_k_c_]_P_D_3_#_ ^÷^Ù^¿^£^Š^v^b^R^6^^]ð]è]à]Ü]Ñ]Å]²]¢]Œ]{]e]W]F]>]4]2] ]%]s]¬^]^¬^¶_å`¢aa’bºeftfÛg fÚdÓdc€b}b"b$b"b4bFbib€bb±bÉbÙbåbébïbôbõbücccc ccccAcQcgc~cœc¸cËcÒc×câcòcøddcÿc÷c÷cùdddcüc÷cücücücøcøcöcùcûdddddddd#d)d0dDdcduddd®dÒd×dÜdëdþe edâdÑd×dýe2efe¥e°e¦e®eÁeÜff'fFf`f}fšf¸fØfög gg+g@gSgZgegxg‰g“g—g–gg¯gÈgËgÐgÐgÓgãgñgùgügþhhhhh'h/h-h hh"h?hhhŠh¦h¿hÒhßhêhïh÷iiiihøhæhÝhãhëhìhðhøh÷hïhåhÛhÏhÉh¿h½h¾hÈhØháhãhÙhÃh®hšh‹h}hlhYh>h&hhh hhhgógçgàgÚgàgÞgÐg¿gµg°gªg¢gžg¥g°g»gÉgägÿhh%h3hLhchshohqhhŽhšh—h—hœhžh¡h¥h«h¥hžh—h’h”h¡hºhài i-igAg;g.ggfðfÛfÂf«f’fflfYfQf@f-f#f(f;fTfkf}ffžf¡f®fºfÇfÎfÑfÎfÉf»f­f¡fšf”f“f”f“fŽf†fƒff€fƒf†fˆfˆf‹f†f|fjfSf7ff eúeêeáeÐeÈeÊeÄe°eeŠese_e`eXeNeIeIetereFe+edîdÌd±dšd…ddd>dcßc•cacOcNcLcUcfcncocicacUc?c&cbæbÅb¦b†bob]bFb*b aéaÃa­aŸaŠauaha`aUaJa7a*a`ÿ`å`Ô`»` `„`l`S`9`"``_è_Ã__y_Z_4_^í^å^ß^ß^Ý^Ï^¸^›^{^b^M^9^(^^]ñ]á]Î]¹]š]y][]A]+]\ô\Ú\Â\¸\¼\Æ\Ð\Ò\á\ö]]]]\ý\é\Æ\¨\˜\\ˆ\‰\‰\ˆ\x\{\Ý]g]Å^ ^/^?^[^›^Ù^õ^þ__ _ _._+__ ^ç^´^s^R^b^o^P^0^<^1^7^A^T^S^U^e^~^Ž^–^Ÿ^¥^­^µ^È^Ý^ö__(_:_H_Q_T_F_*_ __ _ _^ù^â^Ñ^¿^¶^­^¯^¬^¬^¬^®^¯^²^­^±^±^­^©^¢^œ^’^…^u^^^E^1^^]í]Ò]µ]]m]H]*] \ë\Ë\ª\…\]\1[û[Æ[—[m[F[+[[ [![=[R[k[x[„[†[—[­[À[Ï[é[÷\\\H\u\\¦\º\É\ß\û]]S]~]š]®]È]ò^^G^h^o^Ã__"_e_º` `T`†`§`²`É`Þ`øa aaa0aJaoa£aÏa÷bbbaþbbbbbbb6bDbWbdbqb{b‰b™b®b¸bÀbÅbÀb¼b®bŸbƒbubdbgblbobkbobgbWbGb;b0b&bbaöa÷aùaôañaùb b b+b aðaÉaÊa÷aõaåaúb$bRbvb‰bœb³b½bÄbËbìcccc(cIcdczc{cŠc¶cÞcÔcÌcÙcäcêcÝcãdd,dIdQdRdZdldud‹d–d£dd˜d£dÂdÙdâd÷edüe e1e_eue~eeeŠeeeeŽe”e¨eºeØeáeìeìeíeäeÛeÑeÍe½eŸepe;edÏd«ddd’dŸd dŸd”d„dtd`d]dRd[d_dgdqdqd{dyd‚d|d‚dzdrdldXdHd5d#ddcócëcÕcÐcµc–ccgcMc-cbïbàb½bŸbbnbXbNbDb6b-b+b#b!bbbañaèaçaÜaãaÜaãaéaîbb b&b+b\bYbzb†b‘b–b­b’b~bhbAbaÝa¾a½aÜaãaµaÍa»a’an`¡aZcÛgf[úWäWkWhYrZ‘\â^äaíišn¾kRhUh°eŸbÛdOg8de`I\.ZZŸZAX—WÇWâX.XW›W±WãXXSXfXÕYY4YrY´YæZYÀY=Y YYiY‡YDY1Y\YŠY±Y³YÆYÇY¾Z?Zà[Å]E]a\É]™^]Û^y^‘^.]æ]æ^^^B]¼]\¹\ë]]]l]p]+]\ø]]’^*^ñ_v__Ó_ê`;`N`š`¼`¬`>_À_M_`˜`¿a¡a|arc”cbfcGbVa4aÃb‘b­bda´aÂaçb)bKbib¹c+cËd2d¸eeAe¬ffffffVf³g4grg·hh†hòi-ici¬i×jjj j(jgj˜jšj|jWjNjbj†j°jîk3kuk²kûl.lclˆl§lµlÀlÊlÑlälým#mGmgmmˆmŠm‰m„mmƒmmzmym}m~mwmnmfm]m[m_m[m\mTmKm9m+mmlølùlÿmmmmmmmm l÷làlÌl¹l£lˆl™l¤l¦l§lœl˜lˆlllŽl”l•l™l•l›l£l±lÃlÖlâlâlálälômm$m3m?mmBmImPmSmPmVmemtm}mumdmLm=m9m%mmlûl÷lîlælÜlÕlÎlÃl¶l©llŽl€lrlblUlHl@l4l-l*l'l"lnlkl]lRlCl3llkêkÉk¦k~kUk+j÷jÊj•jjj7jiÒiŸiriHihÚh™h\hgØg–gLg fÊf–fhfd@dBd@d>d9d?d?d?d;d;d9diAiDiIiKiDi8i#iiiiiiii"i.i3i(ihõhàhÏhÃh²h¡h‘hhkhfhehchbh]hShPh@h9hEhCh3h*h'h hhgúgùhhhh2hDhOhTh_hvhŠh¡h³h¿hËhÑhÒhÎhÊhÊhÎhÑhÕhÞhÞhÔhÍhÊhÊhÖhëii.iNi_iaiWiOiKiDi9i.i$iii hühëhÛhÊh¹h¨h‘hxh^hHh6h*hhgægÈg£g~gQgfåf¨fkf.eíe¨eaedÌd‚d9cïc¦cUcb®bfb#aÞaa8`Ü`€`'_Ð_}_1^Û^^R^ ]¹]Z\ü\ž\B[é[”[FZøZ¼ZŠZvZŒZ·Zì[[[D[†[¿[ö\)\>\:\U\“\Ð]]L]]Ç]ò^ ^3^ƒ^å_F_a_^_„_£_Ò_ù_ÿ_ú_ò`6`ÓaEada©b&bPbbb,bPbUbRb^brb„b–bšb–b©bÉbúc5cbcŠc‹chcUc>c ccccccbçbÉb¢bvbFbaÕaÊaÔañb(bcb‡bnb2bbaýbbbEbyb³bàbìc cwd=e6f9f¿gVg.fïgIg+fßfwf3f\f¿fæg fèg(g’g‚g}gcgagag^g]gYgVgYg\gagfgfglgrgsgngigagOg7g!g fûfãfÊf¸f§fŸfœf—f•f“fšf£f°fÅfÕfãfêfóggggg gggg gfùfõfñfìfèfÜfÐfÈfÈfÏfÔfÕfØf×fÕfÖfÌf¹f¥fŠfgfHf9f:f_N_[_a_^_K_9_*_&_(_'__ ^ó^Ú^Ã^·^­^«^ª^¦^¥^¨^¦^¦^¦^¨^ ^^“^Œ^†^}^w^j^V^C^2^$^^]ä]Ã]¡]|]Z]9]\û\Ö\·\\k\=\ [Ó[—[f[<[ZøZêZò[[ ['[H[\[`[v[[›[²[Ñ[Ø[é[÷\+\s\®\º\«\ì]])]0]X]‘]¡]À]Õ]þ^^,^P^v^Î__:_…_ç`M`€`¨`Ä`Ýa aa,aRaVaPagawaa»aëbb(b3b/b2b/b/b'b b-b;bTbgbb‹bb¬b»bËbßbïcccböbåbÓb¹b§b˜b˜b˜b b b¢b•b†bqbdbYbHb5b$bbb b aýbbb+b:b3b7b(bb bb bbb0bhb‰b bªb°b»b¾bàccc#c1cJcecyc‚cˆc°cêdcícícûddddd-dKd[dedpd…d‘d©d¸dÀd´d­dµdÛdédñee&e)e2eHeme‰ešee¢e¦e¬e²e­e«e¨e°eÀeÙeêeÿff ffeûfeþeáe¶e‡eZe$düdÌd¼d¬d®d±d´d¶d¨dd‡d€d}dwdd€dŠdŽdd•dŽd”ddd‰d{dnd]dTd;d2d%dddcúcècÔcµc•crcKc5cbíbÚb¶b“b„bibRb?bCb/b/bbbbba÷aíaåaÝaÚaåaéaóaýb bb6b5bJbYbyb|bb”bb‘bbjb@baãaÇa¹a¬aÅa®a¨a™a€ap`¤`ƒbŸfDgÿ`$Z;XËY-Z¢YKZF]¯`ÿgÃmek©i¤ifSeSfbfdcA_\KZ±ZðZÂX¯XX>X$XWåWùXX8XZXGXvXÇXóY'YkYŒYœYhYXþYY"Y"Y=YƒY£Y¨YÐYÆYÄYµY×ZÐ[‹[³\‰]±]Ý^^J]§]Ù^]Û]˜]„]Û^E^]›\þ\Ï]\ê\Ê\í\÷\ö]/];]H]u]ž^,^æ_X_à`ua)aieiˆiÞj jIj5j%j3jXjj±jÀjµj²jÄjíkkLkwkŸkÕllClslžlÂlàlõlþmm mm]+]]]\ò\ì\ê]$]x]ñ^=^!_@`>`õbec{dËeÎfçfàdÿc©cRb¶b,b bbbm]G],\ô\ö];]–]×^ ^Q^£^ð_Z_É`=`Èa(a|a®aaØbaÙaW`Å`åaCažaÝaâaH`Ä_²_Ëbbsa2`W`K`€`Š`7_Õ_»_£_£_©_ª_©_¢_¢_ž__Š_{_l_W_C_,_^ú^á^Æ^ª^‹^l^L^(^ ]ì]Í]¹]ž]Š]o]W]=]%]]\ô\æ\Ü\Ï\ã]]£^]^x]ý^ý`i`æb1crdšereáe˜dGcc2bjb aýbb'bCbgbŽbµbÏbãbòc cc.c8cDcPcpcŠc–c£c cžc¬c´cÚcýd d$dFd]dyd“d•d‘d¢d›dçe/dØdÂdÍdÎdÏdÍdÆdÀdÁdÆdÏdÓdÚdÞdÛdÛdÝdãdædëdðd÷ee ee$e1e@eWepee¯eÏeðffff(fEfGf8f/f9fafšfÒfýgfòfåfñg g-gWg~g¢g¿gØgñh hh8hQhlh‡h¢h¼h¹h³h¿hÒhÞhàhÝhÚh×hÖhÖhÙhìii i iiii,i4i>iMi[i\i]i^ifixi’i®iÃiÓißièiîi÷iúiÿiüiüiúiòiñiíièièiéiãiÚiÌi¾i¹i³iªi¥i¨i³i¸i»iºi¾i¾i¼i¬iŽiyibiLi:i)iihþhìhßhÝhåhñhúhýhýhýhúhõhöhþihûhóhëhçhæhåháhÙhÙhÝhàhâhçhíhùiiAiXiOiKiWicici[iWiQiWiZiTiRiTiSiXi`ifiri…iši§i§iœi‰i}ixiliYiGi>iGiQiFi7i,i iihñhàhÊh³h h•h‡hthWh5hgêg½ggSgfÏfˆf@eõe¯efedÒd‰dBcùc¬c[cbµbib#aÍata`­`J_å__C^ÿ^¹^o^*]Ù]‡]"\´\N[ô[¥[P[#[[ZáZú[G[‡[²[¶[³[Ã[Ð\\?\Y\t\³\í]]P]­^^o^Â^ô___ _e_Ü`_ß_Ô_Ü_é`O`º`Â`¸`êaHa b bKbJb1b>b”bÍbÔbÜbõcccbýbíbébîbçbÿc`cÁcåcÊc¢c†cwcjc]cNcQcccNc$cbÝb¨bubPb=baþb b,b:bdb}byb]b)b bbbbbNb„b’bbbäcXde?fnfàggžgÈgbf²fefufƒfÖgYg[gxhhVh gÚgúhgÿgúgýgðgîgógógògëgçgågágØgÖgÔgÒgÊg¾g±g¢g“g‰ggsg`gWgTgMgOgTgagogyg…ggšg¥gªg°g±gµgµg¹gÁgÅgÆgÂg¼gµg°g¦gŸg“gŠg…g†gƒg†gg}gwgsgagBg fýg?gIg6g"gggggfôfèf×f¿f¦f‰fnfVf8f!f eñeÙeÂe«e„edeHe,edñdÒd³d”dpdNd5d"ddcñcçcêcñcòcïcãcÔcÇc¸c£c‹cqcQc0c bébÉbªbŽbnbLb.ba÷aßaÇa´a£a”a{a`a@a'a`ø`Ø`¼`Ÿ`‡`p`Z`O`@`-``_ò_ë_Û_Á_œ_r_C_^Ï^˜^_^/^^]û]û^^ ^]÷]å]Í]µ]™]x]X]6]]\ñ\ì\é\å\Û\Õ\Ò\á\ô]]'].],]/]4]E]M]F].\ò\Ë\°\\—\˜\¢\¤\©\ë]T]Ÿ]î^a^Å^ä^æ^ü_&_M_l__¥_“_X_ ^ô^Õ^·^§^Œ^^”^™^¥^¬^«^©^§^ª^®^±^¼^È^Ï^Ü^ï_ _$_:_I_U_^_c_i_n_q_r_x_x_z_v_q_^_I_'_ ^ø^ç^Ø^É^¼^µ^µ^®^«^¨^¤^›^‘^„^y^m^_^X^J^D^5^(^^^]ê]Ô]¸]™]~]a]C]'] \ì\Æ\\q\C\[Û[[X[ZíZÄZªZ¢Z¾ZÜZæZë[[['[B[`[w[Ž[¡[Ð[ß\\\\¯\Ú\à]L]­]Ú]¾]À]ä]ä]â]ç^ ^\^–^ª^Ç^ì_7__ß`"`N`€`²`ìaaJa†a·aÕaßaáaæaöaüb b)b3b;bUbƒb£b¨b›b†b{bjbobyb‹b›b²bÂbÑbèbþcc/c>cCcCc;c1c!cbõbèbÝbàbãbébíbêbábÕbËb¾b°b™b„bkbTbDb3b'b!b!b)b2bLb`bjbbbZb]btbŽbŸb¥b§b—b¥b¯b bb¡bÆbäbôccc,cPcccxcc•cÀcþdddd0dCdIdRdUd_dmdd¡d°dÁdÔdâdàdÛdÜdïee&eIePefetee‘e£e»eÈe×eÙeÜeåeêeïeèeâeÚeÓeÞeõff3f>fDfCfHfKfPfIf4feøeÏe—eke2e dèdØdÜdÚdâdÔdÓdÅd¿dÁd¼dÈdÇdÈdÄdÆdÂd»d¹d²d¦d ddŒd€dzd}dwd€dsdgdRdJd)dcîcÁc¤c€cSc6cbêbÄb°b„bhbTb?b0bb baôaìaßaÎaÌa¼a»a»aÍaÍaéaîaùbb!b(b1bCbIbjbibnbpbkblbLb6baèa¸aša˜aža—aŽaxaGa,`ß_d`êd¿he‹\ãX²W»WëX`YG\Aa|fšd×cBdÕc»dhÑkiheÿ_à[5ZaZHZNXÖX?X(X WêWÜXXWX™X¹X·X X•XŸXºX×XýYYYYYYBYfYŽZ[HZ™Z=Z!ZZOZÞ[[R[—\¹^^C]ö^ ]Û]l]}]Í]¿]@]J]]ƒ]]]0]3]j]]ˆ]W]b]H]%]3]_]y]¹]¿]Â^]_#_æ`Ãaªa‹`æ`×`µaaÎa¹aÑb}bÍccÐdØd cicbbicãc£ccüdSd°e`e9djd0d—dÈdÞdûeeUeÆfygg{glgfÕføg>gg×h1h‰häijAjoj£jÓjökk-kGkfk›kÐkòll%lJlql˜lÄlòmmBmTmemmm|mm­mÅmåmþnnnnnnnn nnnnnnnmþnn n nmþmûmõmémÓmÃm³m®m¬m´m²m®m›mŒmxmbmWmOmKmEmMmNmKmFm:m2m&mmmmmmm mm'm@mQmYm\mgmvmym†m¢mÈmÕmÔmÙmámìmñmúnnnnnn"n(n*n n nn nmùmémÎm¶m™m‚mpmpm‚mmm|mlmcmcm]mQmKm@m8m4m-m"mmmm5m)mlýlêlÔl»l¥lŒlplOl(lkÙk­k~kNkjãj«jvjDjiñiÁiŒiKihÔhšh_h gàgŸg\gfàfªftfeGeNeReXecejeueee¡e´eÏeêff"f9fIfRf[fhf‚f‘f‘f–f§fÀfäg g(gCg]gagjg~g™g½gäh h&hDh^hvhŽh¦h½hÔhéhþiii iii"iiii i)i4i@iXimixi{i|i€i‰i“ii«i¼iËiÑiÐiÏiÓißiòjjj)j5j?jDjHjKjKjLjNjMjJjGj?j:j4j.j#jj jjjjjj jjjjjjjiòiÜiÃi«i–i‰iijiPibob‡b†b€bœbécƒdse^eçf}ggeg'ffWfŒf¾fãggMg]g×hLhhhVhohhhahjhhhhhlhthwh`hRhNhBh4h,h&h$h#h hh gùgégçgàgÔgÇg·g°g©g°gÂgÐgÚgßgägîgògùgýhh hhhh!h%h"h hhh hgøgðgégägßgÜgÒgÐgÅg½g¥ggfºg7gzg•ggpg`g\gYgFg7g)ggfåfÂfœfvfQf&eýeÜe¾ee€eYe@e)ed÷dàdÆd­ddŠdudWd?d/ddddd ddcûcñcäcÙcÍc¸cžc‚cac] ]\è\Å\¢\q\B\[Þ[Ÿ[\[ZÛZ±ZŒZƒZ“Z¼ZÖZÚZäZö[[[0[J[a[|[¬[Ä[ÿ\0\h\ž\¥\ô]q]—]Ÿ]é^^]Æ]‘]²^ ^”^è^ù_*_}_Ï``:`u`¶`ãaaBasa¦aÝb b+b8bCbVb_bgbebgb{b™bºbÄbÆb½b­bbŽb‘bŽb–b£b¿bÉbÝbñc c'c;cKcQcScLcDcm;m>mNm`mpm}m‡m“mœm¦m³mÊmênnnnnn+n3n9nDnJnSnZn_ninnnmnanZnZnTnQnEn,nmámÃm®m®m·mÍmÔmÊmµm¨m®m±m¨m›m•mmm‚mwmkm^mPmBmmm]mBm+mlÿlælÎl¸l›lylQl,lkÜk°k…kRk"jèj°j|jMj iìiºi~iDi hÓhšh`h"gég¨gfg fãf§ftf:feÊe”ebe-dødºd{d6cúcÄc‘cgc?c cccbaëaV`É`q`i`E`` ```"````P_Š_A_0_4_È`O`l`W_û_­_i_/_&_,_^ü^ê^à^Î^¼^½^Ú^Ø^ª^g^E^,]½]\]8]?]]]‰]•]m]M]e]›]Ø^*^__‘``T`ßaHaEa\aQ`Ç`¿aaa&`Ø`l`f`–```<_ò_°___£`×`û`“``½` `]`)`_ö_Ü_Ð_Õ_Ù_Õ_Ö_Ö_×_Ò_Ì_Æ_¹_¥_–_y_^_8_^õ^Ú^¶^•^l^D^]ï]Ì]©]‹]i]M].]\ô\Ù\º\­\§\¡\²\ó]>]¼]þ^^°_ abjFjRjbjojyjƒj‰jŽj’j—j–j•j“j“j“jj‹j„j€jxjlj`jZjTjQjNjOjSjYj^j_j`jcjbjYjFj/jjiôièiài×iÈi²iŸiŽi†ii€iƒiŽi™i«iµi¹i¼i¾iÄiÆi¿i¼i¿iÁiÏiÖiÉi«iiuieijiiifisi{i€iƒii¥iÃiØiÔiÆiÀiÂiÌiÑiÐiÕiÛiáiïi÷iþjjjjjjjjjiõiêiåißi×iØiÑiÆi¼i¯i¥i–iƒimiSi>i,iihèhÉh¤h|hPh!gòg¾g}g5fçf˜fJeþe´eme#dÝd™dQdc¹cac b»blba¬aB`Ö`d_é_e_^µ^^F^]Æ]Œ]p]F]\Ö\‘\U\(\#\([ý\\˜\ß\·\£\›\„\L\V\Á]]1]0]2]R]Œ]ô^d^½_ _/_,_^ê_G_á`6`;`8`D```´`ü`ý`õaa£bSbhbbb:b}bÀcc9cacPc?cEc=cZcXcMcnc]cdcˆc£cþdcócócêcÆc¤ccfckcach?hFhNhRh\hdhhhmhth}h~hh€h{hvhshih^hQhChfeâe¶e‰e_e6eedódüdòdödödûeee eedüd÷dñdådÚdÌd½dÃd¸d¿dÍdÕdâdÝdÑd¼d¬d‘dvd\d.d c÷cÕcªcŠcYc3cbåbÀb‘bnbQb6bbaïaàaÎa¼a©a›aa†a‰a‚aša›a¦a¼aÒaäaùbbb b(b1b.b9bi hÖh¡hfh2gógµgmg+fëf±fzfAfeÈe’e_e0dödµdyd5cücÆccdc]Å]]a]F]Q]ˆ]Ê]Ï]¢]—]¶]ö^F^Ï_s_Ö_÷``i`†`w`_`~`g`:`™`Ï`Á`–`V`K`6_×_¢_o_T_r_±``1`h`É`Ï`…`<`<`Q`4` _é_ç_ë_ð_ð_ô_ö_ó_ð_é_á_Ï_½___[_<_^ü^Ö^±^^V^']þ]Ø]±]Ž]j]N]%] \ä\Ç\¢\\\†\»]]p]Ð^__~_x`Œ`Éaªczd d«d¯cbsbwbaÚaÂaÞbb?blbœbÅbåcc c;cTcocc°cÁcÔcíddd"d4d;d?d.d'dCdNd½exeteKe_e0e6eCe>eOece€ee”e›eže›e—eee™eªe·eÀeÅeÍeÓeÜeàeåeêeûff*f>fIfLfTfef~f—f³fÍfßfìfùgggg"g9gUgog|gˆg–g®gÌgñhh-hEhXhrhŽh°hÔhöii-iEi[ipi‚i”i¢i¯iºiÁiÆiÇiÀi·i¸iÂiÔiñjj%j6j=jEjKjRjVjTjPjTj_jhjxjƒjŽj—jŸjžj¢j«j²j¹jÂjÏjÙjájãjæjåjãjãjãjâjÝjÙjÎjÈj¾j±j¦jŸjžj›j˜j›j™j˜j—j“j’j—j—jj|jijYjQjLjIjDj:j0j j iöiìiäièièiêièiðiûjjjj!j'j/j.j+j$j3j?j9jiéiÅiµi¿iÆiÁiÂi¼i¹i¶iºiÈiæiþjiùi÷iújjjjjjj.j5j5j:jEjLjLjQjZj^jLj;j/j,j*j$jjjjiýióiéiÚiÆi­i–iiiiPi5ihõhÐh¥hthHhgæg¬gggfÈftf%eÜe“eOe dÂd}d7cìc˜cdáddŠee÷eŒd±eEdìd-d¦dhddd9d~dºdúeXeÛfVfÁggWg‚g“gƒg©hhoh™hhh¾iijj¹kkDk5kk+kEkhkkÐlllkçkæll-lnl¡l³lÊlÓlémm"m>mTmOmzmªmÖm÷n n$n?nantn€nznwnvnynƒnŒnŸn¯n»n»n¹n¹n¼n¾n»nºnµn½nÀnÅnÁn¶n¡nƒnknSnHn>n9n3n,n n nnnmþnnnnmümõmîmÞmÏm¾m³mªm mšmœm™m¨m¹mÇmÜmínnn5nQninvnnƒnnŸn«n°n»nËnänñnúonûnønônùnünúnënÎn©n€ndnRn[ngntn€n}nqnTnJnKnCn7n,n nnn nmømæmÚmÉm·mÂm¥mŒmrmXm_ì`3`O`™`Ä`ª`B_Ó_Š_;^Ó^†^}^¶^è^ù_ ____^Û^¤^‡^3]Ì]˜]r]S]@][]Â^ ]ÿ]ð]å^^o__Ê_û_á_ç_û_ù`_þ``;``N`¢`Š`p`M`._ï_–_\_6_E__™_¾``q`»`˜`d`V`d`]`P`'`` `` ```````_õ_ß_Ä_£_{_[_:_^ô^Í^Ÿ^o^>^]ç]Â]›]v]U]+] \ã\¿\“\}\c\t\¿]9]¼]Û^C_v_¢_k`E`5`‘b&c-cÛdccb†bIaäa±a´aèbbPbyb±bÝccc6cWcrc˜c¹cÑcæcúd d d,d5dEdWdVd=dAdBdufh7fšeµewepeneye{e‘e¦e·eÄeÔeåeçeèeâeÙeÙeÞeíeúff ff%f,f,f,f3fEf\fsf‡f•ff®fÂfÛfòg g#g;gQg_gkgsgyg‡g¤gÆgägôgÿh h#h8hXhwh‘h©hÄhßhúii9iXitii¢i¸iÉiÙiìiýjjj!j(j*j$j j*jAj\juj“jj¥j¦j¥j©j­j±j°j°j±j·jÁjÌj×jäjñjüjûjûkk k kkk$k*k,k1k1k-k-k)k+k&k k kk kj÷jìjæjâjãjâjßjájÞjÚjÙjÕjÏjÆj½j¶j®j¦jj™j“jŽj‹j‚jwjdjXjKjIjDj@j;ji*i*iiii+i,iihÿhùhôhùhÿihúhúhÿiiihûhøhñhìhëhïhòh÷høhùhýhûhýhûhûhýhÿiiii.i:iGiMiTiWiTiNi>i(iihêhÚhËh¼h³hªh¢h›hhthEgägggfgËg×gÅgÓgògígÃgkfûfógfÊf—fpfSf1feóeÔe±e–e€eieKe1edðdÌd§d‰dtd[d9dcîc½c”c‹c…cc£cžccicNcDc;c0c(ccböbçbÑb¶b¥b”b„bobUb?b$b añaÑa¯a”awa]aAa+aa`ç`Î`µ`œ`„`k`W`C`4` `_ü_è_Ò_»_¤_‹_i_E_^ô^Í^¢^€^]^5^ ]Þ]«]’]Š]~]q]_]O]<].]] ]\ö\ô]]]$] \Ü\»\³\¼\¿\´\œ\“\ª\Ù])]e]w]y]{]‚]b]$\â\Í\Ö\ù]])]“]Ý^G^¯^À^Å^è__C_g_~__t_b_J_0_ ^Ý^²^™^Š^|^y^^²^Ð^Õ^Ö^Û^à^ë^ù__*_E_f_‚_›_´_È_Õ_à_ç_è_å_â_à_ä_à_Ö_Ë_»_¥_‹_p_W_F_4_!_ ^ÿ^ó^ð^é^ë^ã^Ü^Ê^¸^¡^‡^i^I^*^ ]ê]Í]¹]£]”]}]k]U]<]]\é\Î\µ\ž\„\i\H\"[ø[Å[—[f[,ZíZ«ZwZOZHZAZ?Z>Z=ZMZ_Z–ZµZ¾ZÞ[[D[¡[â\ \6\Q\i\’\à]\]¿^^€^Á^û^ó^º^«^ñ_l_Á_â` `U`š`êa/a}a a½aïbb'b/bIb_b{b§böcoc³c’cUc4c(cccc#c=cGcJcIc;c+c+c,cc3c(cbûbábÑbÄb¼b¹b·b®b b®bÄbÆb´bšb‘bb›b«bÂbábúcccc bîbÖb¿b³b»bàc c"c7cOc_c~c¨cÝdd)dGded†d d¨d¯d¹dÏdçeee$eeee!e=ePe`e}e©eÊeàeÝeáeïeûf"f6f@fPfOf^f^fff\fTfOfOfafqfˆf›f§f·f¼f¿f¼fÃfÁf®ffkfOf1feòeÇee`eCe,eeee'e*e;e7e@e=e8e7e'eed÷dñdïdóeee#e&e)eedñdÒd»d”d‚dgdMd dcÓc¨cŠc_c6cb×b­b„babKb&baûaèaÕaÁa¤a›aa~a‚a~aya€aŽaa¯aÃaÄaÓaàaëaæaêaøaëa÷a×aäa¾aa{aba@aEa.a"a`Î`Í`±_ö_ª`Ùd„ge„_<[mY0Yë]š_×aBd¤hij3h@fjg•e+eb–_ZüX XíYµX•XWÊW)WUW3W;W\W¹X$X‰XÍXÙXØXËXÌXÃXëXæYYY5Y4YaY£ZLZž[p\ã[ÕZÂZ¥ZÆ[«\r\É]9]®]ø^ ^]ï]Ë]Ì^9^O]û]ô]ö]ö^^D^«^¦^š^«^Ì__9_7_F_S_Š_ª_~_\_j_¥`&`ýaea‘aÉaoa‡bWbÔc@ddÈe`eŠe~eâeÉežeBdæeae}ed]d¬eQdÔdxd7d;dRd]dd¾eežf3fµg"gpg¢g¼gÖgÖgèh&h{h—hŸh­hÖi8iÑjrjëkAkck[kJkakŽk¼kðl-l]lllWl1l$l"lYl­lÚlímmmmLm?mLmrm}mŸmÍmõnn"n:nZn€n–nn“n”n˜nœn¬nµnÇnÚnînûnûnûoonþn÷nònónõnùnúnònÞn¼n¢nŠnxnpnpnrnjn]nJnnkjÏj“jYj"iìi½i‘ici=i hØh hbh%gàgšgQgfÔf’fGe÷e³ete:dþd¿ddWdcÛc¥cpcMc-c'cAbcaŸaV`ç_ý_r_`(`P`¸a"`ð`X_½_Ú`‰`Ñ`²`‘`y`I`_Û_¡_r_g_f_ ^­^£^Ô^ê^æ^Ä^©^‡^i^p^_^ ]ä]Õ]Æ]º]¡]]Ù^‹^¹^¸^Ð_%_z_¥_´_´_¯_¡_’_z_u_Š_›_Ò_ó` `I`k`Y`)`_ï_Ð_²_°_u_w_’_{__Õ``;`o`š`°`Â`¶`€`e`O`G`G`L`P`U`Y`V`N`>`/`_ù_Ø_¸_–_x_S_0_^Ø^¥^s^?^]é]¼]‘]g]?]\ë\¿\•\n\e\Š\Ó]/]m]~]ß]±^_›``haaücDdcÖb£bOba©aa°aýb/bcb›bÏbýc#cDckcŽc¹cÜcñdddd%d,d2d4d?dNd\dhdvdƒd›dÔee¶eÝeÎeêeôeÿff ff0fCfXfhfrfxf{fzf|f€fŠff–ff£f§f«f¯f¼fËfÝfïggg g0gFg^gzg”g®gÈgàgûh hh0hKhah|hœh´hÂhÏhÛhíiii:iVimi‰i¤iÁiÙiòj j'j=jRjdjrj…j—j°jÃjÒjÚjâjïjükkk+kAkSkXkZkckgkbkbkak_k[k_kekjkrk{k‰k•k¡k¡k¥k«k¯k²k°k®k¬k¯k²k¹k½kÃkÃk¾k¼k»k³k«k¤k¥k¢k™kŒk€k|kzkyk{kzkxkykwkrkmkakTkLkCk9k1k)kkkkk kjýjõjìjçjäjäjájàjájäjók k'k;kCk7k&kkkkkkkk jújéjÖjÄj³j¤j™j”j‰j~jwjqjmjzjj¡j³j¿jÉjÓjâjîjøkkkk kkkkkjújòjïjïjîjäjÓj»j¦j”j‚jpj]jFj0jjiïiÔiµi‹iZi&hïh½hhch9h gÖgšgRgf¯f_feÒe‘eJe dÉd‰d7c×czcb’ba“a`°`W`$`F`H`` _ê_Ø_ú_²_J_j_Ÿ_g_(^Þ^¹^¥^Œ^z^5^ ]î]Ë]Å]×]â]é^(^u^´^Ä^c]ÿ^^W^Š^¸^Ï^ì__W_V_a_¥_é`*`r`½`úaQa¯aÇaalaœbbGbubÝcc3cNclc¶d ddd)dZd}d‰dšdkdkdédôd§d…d¯dúdìdŸdRd%dcücÝcµcchc@c.cbòbÙbÄb¸bÂbìcbübðbÝbÀb”bƒb­bØb×bÓbÓbèc c@czc£c÷d6dldÔe?eeÚf7f¬fÇggJgKg[gGg_gªgÞh'h–hâi]iÄjiíi»i£iˆi‚i…i‰i–i›i¢i¨i«i´iµi³i¯iªi¢i i¥i¨i¬i«i§i ii›i›ižiiŸi¢i§i®i®i©i iœiŸiªiÅiáiýjj j,j.j,j"jiÿiäiÏi¿i¬iši‰ivici^iZiQi?i%iihÛhh7h g¬g†g÷h3hgâg»gqg,fûfÐf§f‰fnfKf,feþeðeâeÎeÇeÌe¿eŸe|e\e8edâd¦d`dcÎcctc}c}ccƒcecKc%bôbÏb­b£bÍbËb©b•bbfbNb@b,bbaøaçaÛaÂa¨aŠapaXa?a(a`ü`è`Ð`¹` `‰`k`Q`6``_ð_Ü_Ì_¿_©_—_~_]_;_^õ^Ø^½^¥^^r^T^6^]ï]À]Ž]a]A]%]]\ý\ò\è\à\Ú\Ø\Û\ï]]]\÷\Õ\Á\¶\ª\–\ˆ\\—\£\Ò]]B]`]~]–]˜]u]D]\ë\Ñ\î]N]«]ä^#^o^¢^×__2_`_|_…_‹_‰_|_g_K_,_ ^ó^ß^Ð^Ë^ì_____$_*_/_9_D_V_j_€_Ž__§_³_¼_Ä_É_Ï_Ö_Ù_è_ó_ò_ð_ð_æ_Ö_»_¡_‰_x_g_R_?_4_*_'_'__^ÿ^è^Ð^±^^h^A^]ê]Á]›]z]_]C]*]\ù\ä\È\°\“\x\[\?\'\[ù[Ü[¹[™[p[M[(ZúZÄZŒZVZ,ZYûYíYóYúZZ%ZAZ@ZlZÏ[[C[’[Õ\ \/\8\Y\®]]j]³^^j^ ^¸^í_)_k_Ê_ý`6`t`°aaBa‚aÀaæbbPb‹b¨b»bÆbÃbÄbØcc d(cüc·c‘ctc`c^coc}c‚cˆcšc¡c¥c©c®c­c¨c¨c°c¼cÏcÛcäcæcìcìcìcécÝcÓcÃcºc¬c±c¬c¥c—c”c…czcncdcYcOcCc8c.c cc c cc cccccb÷bØbÏbÖbÎbÎbÎbÞbòcc3c>c5c5c#c#c!cc cbâbÚcc,cIcgcc·cËcòd*dXd‚d¢d¶dÇdÔdëeee/e;e>e3e&e,eIeoeŒe˜e°eÊeÑeØeèeüffNfjfzff“fžfžf¢ff˜f§f¨f¶f·fÃfÌfÖfçfñföfífífåf×fÅf¯f§f”ffZf,eöeÄe›eue[eJeCeKeNeYebegeoeeeheSeCe7e3e0e;eKeTedeme_e^eEe/edôdádÒdÂd£dd_d6dcåc¾ccac?cbéb¿b¤bwbZb4b aÿaãaÆa´a¡a’aˆa|axaxa}aˆaaša¬aªa´a¢a·a®a´a°a«a£a¯aša„aTaDaa`ú`Ñ`à`Ñ`Ý`ˆ`4_£`?deÛežd e¸b‡[Ä[7_ b˜g~iÅhfe~fogãh¿ecu_m[ÚZeX!V´V²VŠV›VÆVÉW9WïX7XTXrX£X©XÍX»XÄXÃXÙXöYY4YCYbY|YëZ¼[k[Ü\[[U[û]] \Ó\Ê]]™]ä]÷]ð]ü^^^U^n^€^‡^­^è^û_ _0_‰_ü`/`9`M`m``›`Å`ã`ø`Ò`ç`ó`¦_õ`a-aæbb$b–c…d8dÆe²f1fTfòg0f¯fewe™emdõdÑee&dÛd’d{d†d“d£dÂdîe(exe÷fŽg%gžh h[hŠh—hŒh_h9hVhdhbh„hÐiViójsjºjÕkk2k]k|k¶l lUl•lÏlîlàlÇlËlÍlèmm4mKm_mlmmmvmm™m¢mºmÖmÿn"n9nQnlnn±nÏnÓn×nÖnÝnínônüo o)oGoXo`ono|o{oto_oHo9oBoOoZo]oYoOo6o o onýnónìnÞnÒnÄnÀnÀn¿n¼n®n§n¦n±n¶n²nšn}nanLn=n5n5n/n,n+n0nGnhnnºnÝn÷oooo#o7oKoao|oŸoÀoÕoâoÞoäoÐoºo¦oo¤oºoÉo³oœo{okosoyo†o‹oŠoovopoZo;o"onõnênÕnÆn·n§nšn‰nsnPn1nn/nn mómÜmÁm¡mm`m=mlólÑl·l¤l—l…ldl8l kâk·kƒkLkjÝj£jej2jiÝi²i‹iYi$hîh²hxh7gôg­gjg%fßf–fDeïe¦ebe%dèdµdydGdcÉc‘cecPc>ckcqcb)`é__=_”`` `ga aH`»`#`S`ûa`Ð`y`T`2`_Ð_¦__}_‡_<^¥^U^V^d^i^W^L^>^E^[^A^ ^]ø]þ^]ô]Ì^$^ì___H_¡_½_©_‰_|_r_j_x_k_f_‚_š_À_ì_ö``*`;`_î_ü_ê_´_ã_¶__¸_¯_©_Ë``X`Ÿ`Þ`ç`ì`å`ª`Š`r`a```e`j`m`m`i`a`S`A`$` _ç_Ê_­_“_q_L_^ñ^¿^Ž^]^+]ü]Î]]p]B]\í\¾\‘\z\\_\¦\ó\à\È\á\ý^ __¸`,`þa÷c"cçcžbAaÜa´arawa³aùb4bqb¤bÖcc,cSc}cªcÕc÷d dd#d(d,d0d9d=dLdedtd˜d£d¨dÎdýe'e…eÜf ff2f>fBfPf]fnfƒf™f£f°fºfÁfÃfÉfÌfÔfÞfâfâfåfèfìfóggg1gBgSgcgrg…g›g²gÈgähhh4hMhbhyh‘hªhÅhßhõi ii%i4iGi]ixi‘iªiÁiÜiøjj+jBjZjxj‘j©j¾jÎjäjõkkk4kCkPkYkdkok{kŒk›k¨k¬kªk²kºk»kºk»k¸k¶k¼kÁkÅkÏkÙkäkìkôkùkükþkýkúk÷køkõkùkýlll ll l lkýkókékâkÚkÓkÇkÀkÀkÁkÄkÃkÁk½k¼k¹kµk¬k¡k“k…kvklkck`k]kXkVkUkOkGkBkcœcücÜcÚdJdhdQdZd˜dõdÓdÊd½d’dçedõdÿedûdÕd‘d\d;d+d còcÜc¼c‘cgcFc#cböbßbÍbÞbõcc ccb÷bÍb¦b¨bÈbÙbØbÜbóccBc‡cÈdd^dŸe eoe¹eåf&f“fÝg?gˆgfgdg‘g¶gÕhhch¯häi%i™jWjj'iÒiËiÍiÖiÚiÞiéiôjj j j jiûiðiëièiæiçiêiéiæiâiÝiÝiáiæiêiïiõiþjiüiùiñiôiÿjj+jEjbj{j‘jjj”j€jmjZjAj1j jiÿiðißiÍiÉi¾i¨i‘ixi\iFi/ihîh°h-h h*h+hg×gÆggRgfÝf¶f¦f fzf^fWfOf@f1fff eøeÛeºešexeVe5edËdˆdOd!dcþcûcöcãc»c˜cwcJc"böbÎbábØbµb¤b•bƒbgbKb.baïaÍa³a¨a“a{aaaGa.aa `ú`æ`Ñ`º`£`‹`q`V`=``_æ_Î_¹_©_™_‰_u___E_#_^â^Ã^¨^•^‚^j^N^1^]ï]Å]]o]I]&] \ë\Ý\Õ\Ê\Ä\¾\¿\Æ\Ñ\Ü\ç\ò\þ\Ô\£\ \©\®\©\Ÿ\•\„\Œ\²\é]"]R]w]’]™]ˆ]b]\é\é]]s]«]Þ^5^t^®^Õ__C__¢_ _š_Œ_y_d_N_7_ _____9_:_=_J_P_U_X_b_i_r___—_œ_¤_¬_´_½_Æ_Ñ_Þ_ê_ù`_ý_ý_ü_ï_à_Ç_®_˜_‡_v_e_W_P_L_F_>_,_^ú^â^È^¨^ƒ^_^4^]Û]¯]Š]f]B]#]\é\Ð\´\›\€\a\C\$\ [î[Ú[À[¨[Ž[r[R[3[ZëZ¾ZZVZ$YùYÒYËYÉYÑYßZZ5Z\Z”ZÍZó[.[x[±[â\\$\I\š]]D]˜^^H^–^ã_7_‡_Á_ü`4`b``àa'a[a¤aÖbbBb‰bµbábëbÖbÚbíc cHcâd$cñcÔcªc†coclcwcc cªcÀcÐcÝcßcâcÚcÔcÒcÔcÞcîcûddd ddddcôcäcÚcÍcÑcÍcÏcÃc·c©cŸcccqcbcTcFc:c/c-c%c$cc%c$c.c+c*c!ccc cbþbûböbúccc(c-c3c:c5c8c9c6c4c6c%ccc(c6cKcpc—c¹cÛdd5dfdŠdªdÁdÕdçee e9eFeMeUeMeFeNepeŸe´eÃeÑeÞeìfff$fMfuff¦f´f¾fÀfÄfÀfÁfÈfÑfÝfÖfÝfäféfþgg gfþgføfëf×fÑfÍf»f¡fsfEfeÚe¯eŒere_e^e`ekexe~e‚e‚eevene[eZeVegeqeˆeeŒeƒe~eoeTe6e edõdödÖd·d•dvd?dcëcÎc¡cvcOc!bübÖb­bbgbGb b aça×aºa¡a“a‹a{auazaraa‡aža…a¦a•aaa—a‰a’a‡a‚a‚aja]a)a`í`Ê`¿`Ï`›`L_w^ê^ç`YdÕd²f%gÆj7i`G\†_Ñd9hÃh}fed;f k]h‡bï`k]Û]'[§XW-VgV#VxVyVËWCWéXXCX\X‘X XªXªXX¨X±XêYY;Y[YxY›Z)ZÅ[/[°[ª[N[O[Â\è] ]&\þ\ö]&]w]¼]å]ý^(^f^€^š^³^¹^Ï__M_h_ž_¸_ÿ`S`Ž`Ýa a+a-a1a=a`a»a“a…aaU`e`âbÆcGcfc2bôcœdXe5f‚fÝgg®gefàf¡ftfieÛeIdòeQeÈe0dÈd¦d—d°dÇdÛeeZeœe÷fpfögsgôhXhŸh¨h‚hKhEhlhxh…h¹i i~i÷jTj‹jŸj¼jÙk k7k{kÑl-l~l±lÓlöm mm$m4mKmYmummm–m“mm­m·mËmçnn5nMncnn¤nÅnãnînònönÿo ooo4oRono€ooŸo¯o±o§o“ozoeoeoro~o‡oŽoŠo}ogoXoHo>o6o)ooon÷nûnùn÷nìnànãnînónénÔn²n˜n„n{nwntnnnlnmnmnnžnÄnòoo2o>oAoRoko…ošo³oÒoòpp"p&pp!poûoêoâoúpppoíoÕoÎoÌoÒoáoâoÝoÖoÌo¸o˜o{o_oKo4o#onùnänÒnÅn´nšnunUnAnqncnNn6nmømÙm¸mšmumQm&mlälÎlÂl°l—lnlDlkîkÀkkXkjçj­jjOj'jiÔi¥ili3hýhÅhˆhIhg½gwg.fßf–flFlJlPlQlOlKlHlCl=l8l;lAlFlLlSlSlQlLlElj(j iêiÂi’i`i,høhÆh—hgh:h g×gŸgZgfÊf„f@eüeµepe2déd¡dFcÑcTbìb¡b1aØaÉaÄa˜afa™aÓaa`Ù`š`¥``X`?`` `"`'_ÿ_ã_§_0^ò_^®^S^X^O^^^V^½__^Š^^O^£^Ð__\_†_}_q_~_»``w`Üa6aƒaÕaóaîaÕa–aza aãbHbÆc@cñddXddšd¶dd‡dÅebe6dÿedíee/e7e8edødÉd•dzd^dGd2d cücÔc©c}cYccBcAc=c7c6c5c5c*c-c,c'ccc)c*c#c!c"c2cIcScXcKc@cAcMcHcGc>cAcVc}cžc³cÜddEdmd’d°dÇdÚd÷ee7eHeTe]ebedebete’e¼eÞeäeîeüfff-fLfvf’f¯fÎfÙfæfâfÚfàfâföfýfýfûfüggg#g!g%gg(g"gfýfófófðfÙf¶fŒf\f#eõeÉe¨eŒe|eye|e‡e“e—e¢eže”eeeƒe}e•e•e´e®e²e¨e›e‘e‚egeJe:e,eedíd¸d¡dpdZd&dcÚcµc‡c`c5c bïbÄb¡bƒbYb8baðaÔaÊa©a”aŽa|a}asaapa‰aƒa‰awa‰aua„ajaoajaba_aJa5a a`Ô`Â`ª`¢`‰_Ý]Ç\×]»aUfúf'hTkœlËl)ep_ðbØhBi&f[e’f¹eKfùlbh£bã^Q[M[%ZGWúV¾VUüVUV@V³W'W«WÜX:X^XoX–XˆXXiX“X¢XÙXúY8YgYYÉZdZÉZ÷[R[ZÛ[A\[]Í]Û]9])]]@]Š]Ï]í^*^y^Ô^ú_^ð__D_—_Í_õ`$`Y`Êa'aMa{a»aßañaüaäaÝb bYb¡bVaÝaazcdždÙdZcÝd—dàdàeúgZhh0g©gfAeùf>f@feþfJeÊdÿdÝd×dÆdÓdöeeOe£eãf,fŠf÷gngðhWh“hhnhPhmh“h¬hÓiipiÁjjYj~jj¤j¿jíkkVk“kßl'lZl€l¼lûmm?mYmimkmˆm©mÂm²m¢m²mÉmÛmænn)nNnenpnŒn²nÚn÷oo ooo'o6oAo`owoo o´oËoÙoßo×oÆo¬o–oŠo–oªoµoÀo½o¹oªožoŽo}oxojo`oOoIo@op4p*poûoÕo´o–ooqoWoBo*oonônãnÇnªnn~nºn©nŠnqnRn1nmòmÕm°mŽmem^ã^G^,^l^Š^¾__r_’_‘_¥_Ø`4`¤a aqaÅaïañaìaäaÅaœaaªaübwccðdÁdºdƒdÖdùdàd½dÄe|eµeJeeaGa:a8a*a`ð`Å`¶``¤`k_¥][U\Õae·d]e±j–n'l½h bŸe}jôifef\fÇe„h¢mñh“aR[ñY¼XØX-WuViVioiˆi¥iÄiãiùj jjj&j2jCjYjtjj«jËjêkk$kIkmkŽk¨k»kËkâkùll&l>lQlelylŠl“lšl¡l¬l±lµlºl½lÄlÈlÍlÓlÙlßlélìlól÷lûlùlølðlílèlälßl×lÐlËlÄlÆlÌlÔlÕlÔlÕlÒlÆl¾l¹l±l¬l«l¦l lžlžlœl˜l’lŒl†l„llwlflUlKl>l2l)l!lllllll"l(l&l!llll llllll#l6lHlSlUlTlRlNlMlGl>l/llkùkñkìkâkÕkÂk­k•kknkkktk{kzkskpkokvkˆk k´kÃkÐkàkïkýllkîkÝkÆk²kkŠktkZk;kj÷jÕj¹j¢jj€jmj`jUj>j iýiÕi¥iricNcScPcXc\clcvc‚c‚cyclcmc‚c®cáddBdedŒdªdÌdçe e6eVehe|eˆeže—e•e°eçfffff$fo?oEoPoSoNo@o9o?oToxo¢oÊoéoÿpp2pKpep~pžp¾pÞpépæpÜpápàpápåpèpípòpûpþpþpýpúpüpüpýpñpçpÓp²p‚pPp)ppoîoÞoÉo´oœoˆoroaoMo9o$ooFo0onònÎn«nˆnhnDn'nmÜm³m‘m{mom^mCmlñlÅl’lgl2lkÏk˜kfk;kjìj¼j‰jPjiÝi§imi9hùhªh]hgËgƒg8fÕfsf e¬eJdëdd5cècŸc^c*cbÚbµbÏbƒaŒ`ß_û_b_t_z``‰`æaöaª`Ï`:_Ö_Ü``_ð__^Ï^m^I^^^t^}^€^u^v^|^i^l^q^d^X^c^~^ ^¸^·^¸^±^Ö_®`1` ``_`r`_°_›_Ã_ž_r_’_æ``"`|`¯`³`£`“`Þ`ï`º`C`_ñ_”_p_I^ó^Û_0_z_Ø`S`±`ÙaaQaNa3a`Ø`ª`Ÿ`˜``‘`Ž`‘`“`‘`‰`{`g`M`5`_÷_Í_£_p_?_^Ó^˜^a^"]æ]¡]f]\é\©\©\Ó] ^^¡^K^N^j^Î_@_Þ`åaÝaâawa§aåac`ì`Ð`±`Øa*aŠaÜb'bmb¦bÜcc8cnc§cÜd d8d[d‚dªdÉdÑdÜdÿe%eKe`eeÆeùf ff:frfŸfÓgg'g8gKg\gpg}gƒg‰g–g¥g´gÀgÊgÝgóh hh,h)h&h h'h5hChPh_huhh¥hÀhÝhöii'iCibizi‘iªiÅiÚiùjj6jIjTjXj_jkjyjj¦jÇjêkk,kIkckk§kÎkìlll-lKl]lql„lœl³lÆl×lålïlölümmm mmm$m*m0m1m7mk6k#kkjùjójójðjôkkk%k;kLkYk`kbk[kNkDkAkAkIk^kpk€k›kµkÈkËkÉkºkkk‡kkuktkokfk_kRkHk5kjãj³j”jxj[jJj4ji½i}iWi>i'iihåhhLhgúgñgÙg¾g“g„gogVg1gfìfÁf£ffufSf)fe×e¶e’e_e'dÞd˜dTdcýcäc·cˆctc`c5c bíbØb¸b˜bb„bbbOb2bañaâaåaáaÎa¶a–ama;a `Ø`ž`i`C`&` _ï_Ð_¶_™_x_W_>_)__^ê^Ó^Ä^¸^ª^œ^‰^u^c^M^5^]û]Ý]Ç]³]š]ƒ]f]F](] \ç\Ê\ª\“\w\Z\C\2\'\"\ \-\5\G\S\^\c\7[ö[ò\#\<\N\Y\W\J\C\J\c\ƒ\®\Û\ö\ÿ\ü]]%]b]]†]Ÿ]Ï^^]^´^ã_<_“_Ò_Æ_¤_x___`_q_s_v_…_’_­_Å_Ñ_á_í``C`(`_÷_ï_ï_í_ë_å_ç_ó```$`4`F`O`S`S`=`_û_Ý_À_ª_ _˜_”__‰_y_e_I_'_ ^ï^Ñ^§^}^W^.^]Ù]¨]t]8]\Ð\¥\l\9\[Ý[»[š[}[_[>[ZüZÙZÂZ§Z–ZƒZwZjZ_ZNZ>Z+ZYôYÌY YnYKYGYpY¯YìZZ0Z\ZˆZ§ZÛ[([n[±[î\1\“\ý]i]ê^^^â_R_±` `X`€`¢`áaa=a„aèb3bmb¬b—b¹bÞbæccHc‰cÛd9dƒdÏdæddXd)dcêcèdd"dGdbdd“d¬d¬d¦d«d°d²dÊdÛdçdêdëdÝdÍd½d£dŒdodZdDd9d8d4d2d7d:d>d:d:d+ddcócÙcÇcµc¬c c–c“ccc‹cŠc„cxcncccdcrc|c‚c~cycic_cOcHc6c7c*c/c1c3c4cFcXcnc}c”c”cŽczcyc|c‹c³cædd7dcd‡d¯dËdðeeHefe}ee¢e°e·e°eÊff(f(ff!f6f_f€ff¨fÌgg!g7g7gFgCgCg@gCgIgEgPg]gmg}gŒg¢g–g‡gdgWgTg[g]gVg@gfñfÄf’fhf4feóeáeæeãeíeôfff ffff#f,f4f/f+f$ff eöeÛeÅe¯e˜e„eoeRe5edîdÅd©d{d[d)d c×cÀc’cucFc1b÷bÕb¨bybPb)b aêaÔa©a”aakaKaCa4a5a+aa`ÿ`ñ`í`ó`ú`û`ø`ü`í`Ê`­`œ`ˆ`@_ë^¬]]U`,b0cJeZh°mðliâgXiKkVi¦h`e‚ej?l©fË^ûY;W˜VôVtUçU±U`UŽUZUqUV`WWWÎXX8X^X|X{X„X›XÏXõYYKY€Y·YîZl[[&ZÑZ¶[$[æ\È]ñ^6]ý]å]Ù]à^^p^®^¹^÷_E_v_°_ð_ê``\`a;aÉb‡ccŸcúdAdvdˆdd”dÀdßeVe;díd•dCd…efefÑf£gÆi-h0g£gçgf¬fsfflf e—e e·e_e ee døeeAe¡ffjf¼g2g‘g»gÄgºgÏhh:hmhhÀhíiiSi†iÂjjRjfjrjj~j{jƒj jÄjÒjãkkAkzk´k÷lGl«lñmmm5mZm†m°mÒmímÿn mýnnnp4p9pq@qGqVqZq\q_qeqaq[qIq7qpép¿p‘pypapSpCp1ppoðoÙoÃo²oœo†opo]o’ozoYo6onónËnªnƒncnAnmúmØmÃm·m¦mmim>mlßl°llOl kìk²k…kYk5kj×jŸjij.iöi½ii?hîhŸhThgÉgg%f¿fZeñeˆed±dQcðcžcVcbãbºbŒb€boaÎ`ú_Ð_œ_ø_Ç_é`_`Êa‰aÎaY`¯_ô_P_G_¯_¶_.^¨^g^[^g^y^s^W^=^D^X^_^l^}^}^}^Œ^ª^Ç^Ø^Ò^Ò^Ï^û_Î`Q`:`6`h`¶`z`_º_†_t_u_Ã`e`…`„`ç`þaa(a—b`aË`ï`_``5`_’_\_ ^ô_?_”_ß`D`œ`×a,ahamaWa;`ú`¾`«`¦`œ`›`›`£`ª`±`¬`¥`–`~`c`F`#_ý_Ó_˜_g_-^ø^¾^„^?^]º]v]*\ï\°\¤\®]^^8]ö^A^Ñ_^Ë_U`0aeb~ba×açaX`Õ`³`Ž`Æa)a…aÓbbhb§bÜccAczc³cæddmGmNmUm[mdmimpmtmym~mm„m‡mŠmmm‘mmm‹m…m~mumpmqmnmmmbmWmNmOmWmYmUmSmJmFm@m=m9m3m.m*m(m(m)m)m(m&m%m)m)m"mm mlïlßl×lËlÅlÅlÁl¹l·l¶l´lµl¸l·l¸l·l³l±l¯l¯lªlªl«l°l°l²l·l¾lÉlÓlÚlÝlÞlÕlÈl¸l£lŽlylpljlllnljlblVlAl*ll lkþkük÷kïkìkïkôkþl ll5lSlblblPl@l-lkûkåkÐk¾k¦kkwk[k9kjõjØjÀj®j¢j–j‹jyjbjDjiðiºiˆiUiháh«hqh@hgãg¸gŽgeg:gfËffWeýeŠeCdùd—dXdc¹cpcHc=cScÑc¡ccddfdXd§d¡cûcvcb”bsb…b‰b¡bkbaÇa¹a£aU`Ñ`<_Ò_p^î^¼__·` _©^Ô^m^—^Æ__R_–_Ñ_ý`+`k`¬a1a a¯aÈa¹aÄbbybÄb®b‘b©c@ddudd7d­fežee)ee=emee²eÛe·ee…ezeOe=e döe däd©d}dOd#dcéc½c‹chcTcLc;c)ccccccbÿbåbÝbàbébÿc(cŒd dˆd³d×eereÆff„fégkhhghÈhÃhÂiLižiìiêjjvj“j\jiójjAj›jµjðkmk×kükÐk¾k°k¥k˜kk€kvkik`kUkRkWk^kekrk€k’k˜kžk k kk–k‘k’kšk¯kÀkÌkàkõll l lk÷këk×kÌkËkÁk¼k±kªkžk’k‚kfkKk(jþjåjËjµj¢jˆjgj.iøi×iÅi²iŽiHhýh¶hyhKh8h/hg÷gËgºgŸgvgNg+fòf¯f‰fsf]f9feæeµe’ece#díd¨dsdCdddcícÂc›c†ckc:c bêbÍb£bvbNb&b aãa¾a–aaŠa˜a”aƒara`aAa`ï`½``k`L`.` _Ù_§_ƒ_`_9_^í^Ó^»^¢^…^m^e^]^L^8^+^$^^ ]ó]Û]»]]]h]P]6]]\á\Â\¥\‚\h\V\A\-\\ [ý[õ[õ[ÿ\\\,\#[ö[Ø[¿[Ó\ \,\*\1\2\\\%\<\h\œ\Ç\æ\ï\þ]]G]U]d]]œ]ä^Z^Ë^í_1_‹_Ä_Ð_±_Œ_f_K_S_U_]_j_‚_°_Û_à_ô``)`@`:`D`5`-`)``````&`,`5`K`_`f`t`€`q`T`-`_Ù_¹_£_—_’_‹_‚_p_Y_C_.__^à^³^‡^T^%]ü]Ò]]g]#\ä\ª\t\;\[Ã[Ž[g[I[/[ZôZÙZºZ˜Z|Z^ZJZ3Z+Z#Z!ZZZYóYáYÀYšYnYDY+Y?YjY¢YÓYùZ6ZpZŽZÉ[[o[½[ö\0\‘\ó]g]ø^u^ò_[_À``j`ž`Ï`ýa"aKa’bbYbrb–bb§bÆböcHcœcæd.dsdÅedúd¹ddEd1d!dd7d_d{dd¥dµdÇdÚdëdðdþeee'e8e?e8e+eedêdÕd»d«d’d‚d|d€d{d|d}d~dzdmd_dUd>d*ddcòcæcØcÎcÉcÅcÀc¾c¾c¹c¯cŸcŽcˆcŒc“cc‹cƒcwckc_c[cOcOc@ca'aa`ù`à`Ó`·`Á`½`Í`Ê`Ù`Ò`Ù`Í`¯`™`ƒ`,_×_d^n^(`Xc"d|`ƒ_vgekåi!fâg¶jVkMiàdýebjîl=f°]™X-VóUóUÙUBUJU5UBU:UUaVVÊW0W¢WèX1XpXŒX X¤X¾XàY YYWY•YÇYñZ%ZZ Z}Z˜[>\\˜]w^]ô]Ñ]Ë]Ù^^}^©^É_,_–_À_û`"`)`†`àaamaÔbscc›d ddûe:e’eòfe®e˜e“eÁeue5ffwg“hòi/hëh,gph€j ivhnf¥e¯e™edçe.eEe%e*eedôeeMeºf3ffÜg8g˜gàgýgîhhhEhvh¬hÔiiBi­jjjPjj’j}jdjejejnjŠj¨j»jÇjëk+kykÍl+l…lÍlômmmm;m]mŒm»mäm÷mømímõnn.nannÃnänþo o?oYosoŠo£o¶oÃoÓoîpp(p;pMpbpxp„p‰pˆpˆpp~pspkpkpqpwpzp{puplp[pQpOpLpJpLpIp=p-pp poùoíoàoÜoÓoÒoÒoÒoÔoÍoÑoÕoØoØoèpp#pBp^pp pÇpèqqq-q5qeÑe_dådsd c©cQc bÌb bkbAb,aÂ`Ò_í_Ü_Ö`_ï_Ù`’a`a¶ao`Ö`:_‹__-_N_^š^>^<^S^\^Y^Q^>^4^1^@^\^|^^ ^©^Ä^ç^ð^Ù^×^ê__É```Q`!_ö`_ê_˜_p_2_B_ƒ_ú`½`éa0aµa¼bblbba:`°`d_ú_ñ`_Ñ_ƒ_;__^_³_ó`7`„`Õa>a‚aŒavaXa`Ô`Ã`¸`­`«`²`¿`Å`Ï`Ñ`Ð`À`¯`š``c`:` _Ð_–_Z_$^è^©^a^]Õ]];\ø\±\Š\€\ü]²]Õ]Þ^%^§^Å^G^Ñ_‰`³bžbLaóaãa2`¶`œ`€`ºa$auaÈbb]b¢b×ccGcˆc»cêddCdwd dÑee7eZeue¡eØeÿf$fPffšf°fÏføg$gRg~g¤g¿gÔgèg÷gýgÿhh hh&h2hBhRhlh„h™h¯hÃhÍhØhÜhåhóiii)iFi\iviŽi©iÄißiôj jj6jSjpjŒj¬jÄjÒj×jÝjåjìjÿkk@kikk·kØkòl l&l>l^l|l¡lÁlÝlöm m m1mFmXmgmtm€m‰m’mšm m¨m±mµmÀmÅmÊmÑmÓmÔmÒmÒmÓmÒmÔmÕmÕmÓmÒmÍmÈm¿m¹m´m­m¤mžm•mmmmŽm‰m…m†mm}mtmlmimfmgmemfmhmhmrmm‰mŽmˆmmsmhmWmAm.m)m'm!mmmmmmmm mmlýmmmmmlÿmmlþlþmmm m mmmm mlòlÝlÄl°l¥l¤l§lªl¨l¡llwl^lLl?l:l5l/l*l*l*l-l6l=lLl`lrl|lvldlSl>l.ll kòkÙkÂk¨kŽkqkPk3kjûjãjËj¼j°j¢j’j{jbj?jiãi±i|iIih×hhgh6h gågÁg¢ggXg$fãf‘fJfe¸e^edÙd¤d3d cÕcncTc…cmcsddgd$d`e!dædc²chc&c böböbÖb©bub5b aÌad`è`r_ã_P__m_ÿ`[`:_y^Æ^¸^ä__\_¦_ç``O```^`ÉaNaa­a„abbäcŠcb³böc}ddLdwdjdËeªeqeHeaeLe>eeqffbf5ff feâeeIe dùdÞdµd‰dgdJd cýcÙc§czc_cPc9c$cc cccccbúbìbïcc"cCc˜d7d©dÌdýe?e’eïfQfÁg"g™h;h¡iiii‹j jujMj*jYj‚j|jUjBjRjkk$kUkÅl-lGlll lkûkìkækâkÛkØkÒkÒkÐkÏkÐkÕkÜkÞkßkåkîkôkðkókõkûlll)l2l>lGlKlJlFl@l;l5l)l!lllkökíkÝkÍk·kk‚kikRk9kkjîjÖjÂj jzjbjFjiÛi…i,håhÀh–h|hrhHhgñgàgÃg›gsg=fêf§fufcfef9f eÝe¯eŒeXe!dÿdÖd·d“dndhdVd*dcÖc·c¤coc3cb÷bÖb¥bqb;baãaºa”aiaKaHaDa3a*a,a a `æ`º``e`A`#`_Ý_·_–_o_@_^à^»^¢^†^^^9^%^^]é]Õ]Ò]Ï]Î]Å]°]“]s]Q]4]]\é\Î\³\•\y\\\D\/\\\[ó[â[Ô[É[Ç[Ð[Ý[õ[æ[Ä[É[Ë[Í[Ù[å[ð[ú\\[÷[í[õ\\C\y\¬\Ç\ß\ý]]%]A]Q]p]ò^r^Ï__E_…_§_Õ_Ê_ _g_3_ __&_F_u_–_¶_Á_Õ``1`G`O`]`[`f`V`M`L`K`R`R`V`U`N`Z`q`€`™`ª`£`Œ`g`9`_Ð_°_ _”_‰_w_m___N_8_ _ ^è^¾^^Y^1]ó]Â]‘]U]\Ï\’\Y\[Ô[Ž[T[!ZùZ×Z½Z£ZˆZrZTZ2ZYûYäYÙYÕYØYÛYÝYÙYÔYÄY«YŠYbY7YYY-YZYŠY¥ZZQZyZÎ[[q[¹\\L\˜\è][]ï^ƒ^ü_S_¸``}`¾`öaaNa|a¦b bNbgbb‚b•bºc c}cçd;dd¿e$e“eSdêd¯dŠdrdhdxd•d¬dÀdÔdádçdóee)e4e>eCeRebeoeyeteieVe@e(eedìdÖdÌdÅdÃd¸d¼dÁdÁd½d³d«dždˆdmdWdCd5d%ddddcúcõcòcïcçc×cÉc¿c¸c´c¨ccc‚cwclccc^cYcMcDc4c0c c'c/cCcTcpc†c—cŸc§c¡c›cc›c®cØdd7dedŒd°dÕee5e\epe‰e§eÄeÈeÓeåff2f7ff'f9fkf“f·fÖfÿg+gEg]gjgugvgigkgjg}gzgg–gªg¿gÑg×gÃg¯g˜g‘g•gšg¢g—gƒgegqXqgqjqjqiqpq|q…q™q¥q´qÀqÌqÐqÜqêqýr rrrqüqæqÑq¯q•qxq^qJq9q%qpýpßpÂpªppwpapFp.pp oópoüoÛo¾o¡ozoTo(onàn¿n£nŠnvnin^nLn3n mãm´m†mWm(lùlÈl—l_l&kókËk¦k~kUkjäj¥j_jiÌi|i(hÞh“hLhg­gTfñf‡fe”ed d/cÃcccb¸bŒbWb*aÞa`Ø`5_ç_ç`µ`J_Ú`Ïaiara`_ç_N^æ^½^±^¸^D]â]å^^^"^,^4^4^#^+^G^q^“^¹^Ó^ì_ __ ^ú__4_Æ`u`a` _ª_c_._ __#_}_Þ`Taa$avb bb4bŽb\ava `Ü`›`K``_Ø_ _V_K_›_Ø` `B`~`Êa:a‘a¥a¥a—a6`ù`é`Ø`Ï`É`Í`Ü`ê`ö`ø`ù`ï`à`Ï`¼` `w`@`_Ç_‹_N_ ^Æ^~^<]ï]¦]Q]\¹\ƒ\b\–]2]’]u]o]˜]µ]Â^b^ÿ`b`bb7b%aR`¯`i`j`¿aataºbbWb¥bÞccTc”cÈcùd&dTd‹d­dÜeeUe‡e¯eÚff:f^fˆf¹fÙfúgglKlYlYlWlVlblpl~ll—lšlšl“lŽl†lƒl€lzlqlel[lRlIl@l.llkñkÛkÀk«k”k{kfkMk:k kjéjÆj¡jƒj]j&iáiŠiBihÒhÔh«hjh]h7hgòg½g™g[füfÜf©f…f‰fVf)eøeÕe¹e–eue]eKe7edèdËd®dqd?dcïcÕc§cvcMc"bõbÉb”bRb aøaÅa£a}aPa1aa`ï`ä`Õ`Î`¼`Ÿ`u`L`(`_ì_Ë_§_€_\_9_^å^¾^^x^Q^)^]ò]Þ]Â]¢]Ž]}]ƒ]‡]y]d]D]!\ý\Û\Ä\¯\™\~\c\E\)\\[ò[å[Ù[Î[Á[³[¨[™[”[—[£[½[Û[æ[Ò[®[‘[«[Õ[Ê[Ì[×[Ñ[Â[¸[¸[Ý\\T\ƒ\®\Ê\â] ]%]L]„]ô^J^œ__V_†_“_Å_Ù_±_r_U_U_G_C_A_M_V_ƒ_¯_Æ_à`%`W`]`]`n`z`e`\`c`}`v`p`z`x`n`p`…`—`±`Å`É`º`—`c`#_å_¶_£_˜_‹_u_k_l_b_A_ _^ß^¸^†^e^J]õ]²]…]M]\Á\\G\ [Â[t[&ZèZºZ’ZoZLZ4ZZYæYÈYªY–YˆY†YŒY˜Y Y©Y¬Y¡Y“YrYUY1XÿXèXþYYAY\Y±ZZ[Z¶Zý[F[“[ð\@\Š\ê]`]è^x^Ú_(_™` `|`Öa$a]a”aÀaÜbb4bJbpbhb{b´cc˜d d^d­eeJeže’ee)eeeedødødþe ee düdïdÜdÁd®dd”dƒdqd[dKdAd.d$ddddcøcîcßcÏcÆc¸cªc˜c‡c{cocdcZcScEc9c/c&c%c#c.c?cTcYcgcc§c·cÀc¹c»c¨c¥cÊdd2dbd†d³dÖe e?e_ere„e¯eÃeÏeÑeìff2f%f)f.fQftf¨fØgg$gIg\grgg’gŠgˆg‹gg–gœg¥g¿gÐgégëgágÎgºg²gªg¶g¹g½g®gŸgƒgdg8gfÌf™fifFf;f5f>fOfWfnfwf„ff¤f¶fÇfÉfÆf¿f·fšf“frfefHf5feøeãeÊe±eeleBedñdÎdŸd|dMd.dcÞcµc„cUc-bübÌb£bvbQbbaËa¯a{aea>a`ù`Ö`´``p`K`L`K`k`j`†`Š`«`—``…`[``0_I_w_Îbd`Ö[YalÕhÑc¤fmdìd>cùdQjj'iÇl`©WÈTÜT5S÷TZTU$UeU_URUoU½V/V®W(WŸX XYX¬XáXÿYY-YHYfYY²YäZZZRZZï[B[~[¸\S]z^+^>^]ö^#^J^h^‡^ê_D__­_ï`p`·abb-b¶b³bÏc‚cýdbeezfBfÖg4gg»g‡g*füf±fžg–h~hºhÊhRh hˆiViÇi g\fef%e›eFe6eee4edeqemeaeVeOewe¹ffWfžfég)glg¼h'huhŸh¿hÂh¶h¹hÈhêi*i‚iéj=j™kkƒk|kj­j¡jµj×kk!kJkpk£kël;lŠlÓmm,m7m7m/mAmbm†m°mÔmëmðmønnn;n€nÄnéooo/oGojo‘oºoßoüpp%p7pFp\pgp€pšp¯p»pËpÛpåpïpìpépÛpÎpÄpÆpÉpÊpËpÄpÀpÂpÄpÄpÈpÇpÇpÁp¸p©p—p€pipUpLpNpYpbpep^pVpZpdptpxp‚p†p•p¨p¼pÙpþq1q`qŠq¡q¬qªq¤q¢q¤q¯q¼qÎqÝqïqÿrr$r0r:rFrOrQrSrLrEr5rrqéqÐq»q¤qŽq{qdqIq.qpþpãpÆp§p‹pqp`pLp4pYp8poúoÚo³oogoCo$onënÙnÍnÃn¹n¤n†nbn6n mÙm­mmQm"lðl½l~lMlkýkÙk°kxk6j÷j°jhjiÉisi%hÚhh?gìg”g3fÈfReÎeMdÓd]cêc‚cb¼b}bIb0a¨ai`Û`B_Ó_ü`Þ`ž`´a `æ`Ã`•`_h^»^8]ï]ñ^]£]a]Ž]·]Þ]ò^^^-^^^%^^^‘^º^ß__,_B_K_I_M_O_«`Y`p`*_Æ_g_!^à^Û_<_ß`E`¢a=aha£bbbÑbÎcbÞa½a;`ã`x`[`+`_Ñ_£_…_Ž_Î``7`a`‘`äaLa”aºaÓa´aEaaa`ó`ì`õaaaaaaaa`÷`Û`µ`~`?_ü_º_t_1^ç^›^X^]Â]l]\Ä\ˆ\Z\]\Ä]\Ð\Û\ß]]š^-^Ä_Ìa£b7bKbZa9`‰`V`^`Âaaoa·bbWbœbÛc!c`cœcÖdd5dgd˜d¹dçe,ere§eÙff;fkf£fÐfôgg*gJgogšgÊgòhh;hQh]hkhnhyhxhoh|h“hžh¨h³hÇhëiii/iLimi‚iŽi–i§i¼iÐiéjjj0jHj`jzj˜j³jÉjãjýkk:kVkfkrkyk…kk£k»kÕkïllRl…l¡l©l¸lÖlûmm?mamm™m²mÄmÕmämônnnn'n1n9nAnGnNnUn\n`nfnonsntnsnunqnmngncnan_nanan_n]nVnKnAn6n)n nnnn n nnmümòmçmàmÜmÛmámæmñmöm÷nnn"n*n*n-n0n1n/n+n#nmúmåmÚmÜmámÖmÂm´m²mªm¡mšm—m“mŽm”m¢mm–m•mŒm‡m€m€m…m‰mŠm‡m€mymymm‰m‹m„momPm3m"m!m'm0m6m*mlûlålÓlÈlÁl¹l°l£lšl’l‡ll€lƒl‘lžl—llnl]lNlDl4ll k÷kÚk¾k¡k‚kfkSk@k-kkjñjÜjÈj¯j˜jwjSj,jiÚi©ivi>ihÌh–hghAh%h gþgégËg„gfÇftf"eçe´e‚eIe%e+dÿd±dndcçcÒcÙddd6d¾edîd´dGcücêcâcÉc¤cic b¤bJa÷aa@`×`i`(`.`/`\`ž`¸`Ú`Œ_÷_–_ƒ_§_É_ó`>`¢`Ý`¿`èaWa“aŠaTa{aüb«cYcVcfcÑdd…d™d«dÆe1ffeÈe÷eÏeÑff@fdf€fyf\f&feïeÉeªe^edÝdµd”ddgdCdcÿc×c§c‚cqcicOc:c,c!c"c)c'cbúbõcc2cnc¥côd9dªdþe=e—eøfYfÎgWgÏh+h|hèi6i…iÄj>k&kuk'jøjÊj·jËjðk0k&kkCk¬köllXl£l¨l²l¬l«l¦l¨l­l±l¹l¹l¹l´l²l«l¡l“l…llŒlœl­l·l¸l²lµlÂlÓlèlùml÷lílãlÝlÕlÓlÌlÅl¹l¬l¥lœll‚lpl]lGl0llkîkÕk½k§k‘kzkakEk$jÿjÜj»j—jkj9iói¨iFi i!héh¯h¼hŽhVhgægÈg‚g2gKg/fèfÁf“f|fOf'feëeÅe½eÁe©eyeQe&dõd¼d‡dYd.cÿcÇc–cgc5cbÚb¥bhb6aýaÁašaraYa;aa`ß`½`™`„`u`p`V`0`_ì_Í_«_…_b_;_^ò^Ï^ª^^V^4^ ]ã]Ë]½]¬]]h]D]C]E]9]#]\æ\Ã\£\‡\p\[\A\)\ [÷[á[Ó[Â[´[¨[œ[”[Œ[|[m[_[W[Z[m[[¦[[}[[[Z[o[q[‡[ [®[¢[ˆ[u[[§[ë\+\g\‘\°\à]]B]„]Ë^^^^è_@_l_v_£_Ô_È__”__‘_†_d_?_?__¾_Ý_ê`#`V`e`a`d`\`R`I`b`š``~`’`‰`…`‰`”`¡`¹`Ï`Ü`Ù`»`‚`5_é_´_Ÿ_–_‘__q_l_[_5_^ó^Ñ^§^t^@^]×]¥]v]9\ø\±\s\4[ô[¦[OZøZ¯Z|ZRZ+ZYçYÊY¯Y“Y{YaYMY;Y7Y:YHY[YlYvYvYlYSY7YXìXÈX×XêYY8Y}YÖZ%Z”Zá[[h[É\"\e\È]L]Ó^G^–^ö_}_ó```Ëaaqa´aåaýb&bNbVbrb\bubÃc#ccþdhdÉe:eŒe¿e¿e’eae?e;eHeDe;e4eAeHeReQeNeZege|e‹e«e¾eÛeèeóeïeéeÑe½e©e—e‰exele`eZeOeQeJeDeHeFeHeCe6e!edþdódædÑd»dždŠdrd\dLdAdjpj»k'kSkjÞjÔjãk k8kak•kÁkül%l_lšlÚmmHmcmam[mamm¦mÌmïnnnn%n:nbn£nàooo%o6oNonošoÈoöpp5pGpZpeptp„p•p¯pÅpÛpêpýq qqqqqpüpòpðpõpøpúpüpþqqqqqpÿpùpípÙp¿p®p›p“p’p—pžpžpŸpžp¥p«p¼pÄpÑpÜpäpòqqqAqtq¦qÌqãqêqèqÞqÙqÜqãqôrrr*rFrYrqr„rrŽr“rrˆr‰rŒrˆrwrdrKr1rq÷qÛqÆq®qq{qkqVq>qpõp×p¹p¤ppup›pupUp3poðoÌo¨o…ohoMo:o-o%oonúnØn¶n‹n]n3nmÚm®mƒmRm!làl©lylTl,lkÈkk;jòj®jcjiÂiri#hÔhh(gÌgpgfƒeþezdýd‹dc¤c2bÌbpb@bEa—a`–` _Ò`[asaRaja=`¦`Y`0_Ø_^4]l]/]v]ª]H](]m]]Ë]å]ñ^^L^@^^ ^:^w^¬^Ú__4_^_z_†__“_¼`=`˜`‘`_™_4^Ý^þ_˜`7`ÀaTaÔaÙaùbñc”cqcÄc ba;a`¯`c`?`-_Ì_ _Â_â``-`f`‘`¸aa_aŸaßaúa·aVaHaAa/a%aaa'a4a:a:aBa@a[N[}[É\\Q\{\£\á]1]j]ž]Ù^4^²__:_Z_†_¶_Ï_Ç_È_Ð_Ã_¶_–_u_q_¤_Õ_ô``-`P`e`Z`M`;`*````-`b`‚`“`¤`¥`Ÿ`§`´`Å`Ü`ï`Ü``?_å_²_œ_”_Ž_€_v_j_V_7_^ì^Ë^•^a^*]ô]Ä]—]_]"\ã\ž\Z\[É[t[ZÒZZTZYïYÈY¡YYdYCY*YXýXïXéXéXõY Y$Y7Y@Yq=q6q+qqpôpêpäpâpÛpÝpÞpâpæpîpõqqqq)q3q>qJq^qq°qèr r#r'r&r!rrrr.r;rPrcr„rœrµrÉrÙr×rÐrËrÇrÒrÔrÔrÑr¿r¡r†rerGr,rqøqâqÓq¿q©qŽqiqAq qpëpÕp¸pÜp·p“pspOp.p oæoÆo©o’o…o€ozoro]oFo(onÝn­n‰n_n9n mâm±mmGmlØl«llPl kÉk†k@jþjºjjjiÄinihÆhlh g¨gdd d[dYb—awa[a`®`U`+_ò_é```2`X`•`Æ`ìa0ata«aØaßaµayaraja\aPaGaGaNaUa\a^adaba_aWaIa0a `Ú`œ`W`_Ã_|_2^ê^œ^W^ ]¸]_] \Â\Š\‚\¨]]C]n]˜]Ã]¬^+_i^è^w`bub¶`}_ë`(`;`ªaaaa¶b b[b¨bìc3cscµcðd'dYd‹d½dÞe eMeŒeÄe÷f+fmf³fýg5gdgƒg¡gÁgæhh&hHhwhœhºhÌhÞhéhóhùhõhùi iii!i5iRiri’i·iÝiûjjj*j@jUjnj…jœj¹j×jõkk%kEkdk~k˜kµkÑkåkùlll"l:lIl[lxl›l²lÊlûmm(mDmjmm±mÐmònn8nVnsnŠnn®nºnÅnÐnÝnänènìnònönüooo oooooooonÿnónänßnánÞnØnÕnÒnÌnÅn·n¬n¢nšn”nŽn‹n†nnxnmnfn\nQnNnOnVn]nknvn~n‡nŽn›n¥n©n«n±n·n°n¯n´n´n°n§nŸn n¡nŸn™nnƒnqn`nHn4n$nnnmÿmûmîmÝmÖmÐmÓmßmêmôm÷mômèmämçmún nn mômÒm¼m¦m–m–m¤m«m¤m‘mxmdmUmIm=m0mm lölâlÐlÌlÑlÒlÆl¯l°lµllˆlplSl=l&lkþkìkßkÄk­k›k‰kvkakMk8k"kjëjËj¬jŒjljLj'iþiÔi£iri@iháhºhšh†hyhuhShgÑgˆgIgfòf¦f^fTf-fe¹e_dêd™ddœd€dddˆdëedïdëdÛdÉdÏdÀdÀd„d5dc±c[cb¯bFaâav`ÿ`Ë`Þ`È`²`Å`ÿaua¤a¨a•aI`Þ`V` `B`ª`íaamaµa°aÊbCbÃbÎbÑccic€c›cÍddzeeEeYe’eaeQeCe2ezeÏeãeèeøffeÍeze]e_e@edýdØd¬d‘dudYdDd0dcÿcÑc®c›cclc]cVcHc=c7c/c*cc c$ccÒcùdh†hØiJi§i÷jdkkÒk¯krkŽkŽkTkkfl3lkÊkÃkØllil¶lÏlÿmMmcmkmgmdmam]mamkmnmdmVmHm:m1m3m2m;mEmVmimzm„m†m…m…mˆmŽm’mmm…m‚mzmombmUmCm9m,mmlólÝlÉl´lšllelLl4l l kðkØk¿k›k{k[k9kkjãj¾jjVj"iìi¸i‰iUi0hÿhÒh¢hlh9hgögÖg§g€gXg/g fÞf¤fyf8eöff feñeÉeŸeae0ed×d”dIcÿc½c€cNc#býbÇb’beb2aýaËaaPa`í`Å`¤`…`g`J`"_õ_Ü_Ê_¯_›_{_[_3_^æ^¿^”^p^K^'^]å]É]¯]–]]f]K]/]\÷\Ú\¾\š\v\U\<\\[ã[Ë[³[¢[“[‚[q[d[U[G[3[*[[[ [[ZòZäZàZð[[#[8[2[ZàZá[[)[M[X[T[5[[[([k[º\ \?\g\»]]K]r]³^^“^ó_-_T_r_’_Å_×_ç_ö_ç_Ú_Å_¶_±_Ï_ñ``` `'`P`N`I`9``_ë_ý`@`s`Ž`±`¹`©`£`ª`³`Í`äa`þ`°`>_Ø_ __Œ_‚_x_p_h_W_9_^ç^¼^ƒ^O^]ð]Á]Ž]R]\Ï\‡\;[æ[[;ZæZ¡ZfZ!YâY°Y…YaY=YXûXÜXÃX±X¡X™X›X¥X¹XÓXíXþYYXòXÖX³X¢X˜X¯XáYYuYÄZZZZÀ[#[[Ä[ô\$\a\Ü]]ü^[^Í_I_Â`?`¥a ama£aÂaÔbbnbÁb³b~b¼c'cycÆddˆee¢eõfff eóeÖeÎeÑeÈe·e´e°eºe»e¹e¿eÒeçeùff,fNfkf€ff‰f}fafJf8f,fffeöeëeçeèeíeéeÚeÆe³e¨e–eƒeseceSe?e+e dòdÚdÀd¬d–dŠd|dudfdUdBd3d&ddcòcÛc¿c¨c’c}cjcWcGc8c0c&ccccc cc-cNcbc~cŸc¯c´c¸c¾cµc¶cÄcßdd/d^d‹d¸dîee-eFeseŒe e¨e¬eªe¹eõf+fCfAfMftf°fïg'gQgwg—g¼gÃgÑgÊgÍgÊgÕgÓgÛgìhh h,h9h3h#hhh hhhhhgögåg¿gœg^g!fåf®fffˆf¢fµfÑfëg g!g=gGgGgHgDg;g2g$gfúfìfàfÇf­f”fuf\f(feÉe eke@edêdÃd•dkd6dcÕc£cgc=cbàb˜b~bJb5aõaÔa”aja#`æ`™`U`(_ø_é_Ó_Ø_Ã_Ò_Ð_è_ï```z`W` _Ð_^Þ_±a[`‚_o\ð]›drh{eè`!c¾hiegi)o•g&`´Z1V[VÌW¯U TlT7T+TTçUUUU¦UÄUòVVƒVúW‡XXXúYIYY¶YÎZZZ:ZBZZZqZ‡Z»[[?[–[í\ \n]8]Ý]ô^]ø^^:^Ó_&_`'`ÝaOa``¹azbÒdDdee¾fMf°fïg:g°hIh‰hˆhãiNiÄjiÿjGiûiWhÁhTh gëgõg†gf±f_fLf$eìeÞeðff9f=fWf_frfŽf­fØggPg…g¾gíhhqHqUq_qnq}qˆq•q£q¿qçrr=rYrgrlrprlririrtr€r˜r­rÈrßrøs ssssssssssrêrËr¯r’rur^rIr8r(rqóq×q³qqlqUq:q!pÿqpúp×pµp’popIp&poíoÞoÕoÑoÊo¾o§oŠopoMo+nûnÕn²n‘nlnCnmßm¦mhm3mlÎlšlYlkÑk‘kQkj½jfjiºiei hªhGgâgrfðfaeÛeWdàd^cæccbíbrb(b$aë`ý`2_Â_·`Üaahaba!a `Ù`Ä`b_u^o]œ]c]Ž]·] ]†]‚]a]O]h]¥^^%^^^^^E^w^ª^ã_ _a_‘_Í``*`}`o`%`3`_¼_B__X_ï`Óaqaýcc_b¯b±cDcXc coc#aüa\a `ý`¯`^`^`–`z`X`j`”`É`þa0ara˜a»aÕaÓaÍa«aa—aa~ayawa{a{aa~a€a€a|aragaOa-`ü`Â``;_ï_©_]_^Ë^‚^:]ì]™]>\ó\¯\§\ê]I]}]‚]§]¸]u]¬]¯\õ\–]á`¶a§_Å__æ`'`¢`ÿaea´b b^b²bõc;c|cÀdd2dbd›dÈdîeeVe’eÊff?ffÃggNgˆg³gÞgýhh4hVhxh hÄhãhüii!i2i=i8i:iFiQiRiZihi„i«iÒjj%j>jNjZjxj“j¨j½jÑjèkkk=k\kzk˜kµkÓkõll.l>lMlXlclullŸl®lÇlìm m"mImdmm¤mÊmênn(nLnonn°nÌnãnõooo o0o>oEoKoRoWo^o`o^o^obocococoeofoco_oYoRoDo3o(o#ooooonÿnônãnÙnÕnÓnÎnËnÄn·n©nŸn›n’nˆnˆnn™n›nŸn©n²n¾nÆnÓnÝnænínônùnùnönõnônðnínçnænçnçnçnçnÞnÇn±nŸnŠntnfnYnDn9n4n-n"nmûm÷nn nn$n(nnn n.n@nNnOn;nnmêmËmÂmÓmâmãmÖm½m¦m•m…mvmfmPm9m"m lþlùlõlðlÚl²l³lÅl¾lÂl¸l•lqlQl8l$l k÷kékØkÅk«k—k‚kmkXkFk+k jéjÇj¨jŒjrjPj+jiÕi¥itiDihùhØhÃh°h¬hhqh_h(gòg¹gng-gfåf™f^f e´e>eeDefeIe1e*eedìdòdöee ee,dñd²d˜dQcòc–cEbàbmaéada+a;a4a0a,a+a„aÊaßbb7aÒ`î`[`i`¾`ã`åa5ašaÕb b•c?cQcLc†cãcæcÆcÌcÀddãeeGe¢eKee5e0eNe‚eŽe°ffeße®e}e]eJe&e dñdÒd±d’dud`dMd2ddcìcÄc­c˜c‡c|cuc]cLc?c6c0ccc+c‡c÷d*d]dšdÝeLeÎfKf¸g"g¤h!hnh¦hôi[i½j"j®k\kÍkÐk¾kÈkÏk«kpkœl$lkúkýll/lYl½mm,mxmÛmêmÔmËmÀmµm³mºm½m±m¡m‘mmm’m—m¥mµmÈmÜmèmèmÝmÔmÕmØmÛmÜmÜmÖmÏmÈm½mµm­mžmŒm|mhmSm;m&m lúlàlÅl§llYl@l2l lkìkÎk«k‹klkKk)kjþjéjÅj–j\j!içi±iƒi_i*i hæh°hhdh7hgÚgÃg•gWg1gfófÒfœfSfpf„fif!feÝeŸeke0dÿd·dgdcÐcŒc`c7c bØb§bxbGbaâa°ama/a`×`°`z`O`/`_Æ_«_–_z_e_G_$^õ^Ñ^ª^ˆ^b^@^]ü]à]Ã]§]Œ]u]a]F]&]\å\È\ª\‰\d\>\[ú[Ü[¾[š[‚[i[W[I[=[2[&[[ ZøZëZàZ×ZÑZÊZÃZ¸Z²Z¨Z­Z»ZÑZâZÛZºZ”Z›Z¿Zê[[([2[*[ZøZÿ[%[o[Ç\\A\¡\ù]+]R] ^^‹^Þ__?_[_{_´_Ì_ç_ù_ô_ç_×_Ù_Þ_ñ_ÿ`_ë_×_ê``7`J`M`A`*``G`€`œ`µ`Â`·`ª`¬`³`É`ÿaaa`Ÿ`_¹_‰_€_|_v_x_s_n_[_7_^ë^³^~^M^]ö]Æ]‘]R] \·\d\[§[MZÿZµZrZ4YöY»Y†YWY(XüXÑX®X‰XyXhXWXOXPXXXiX€XžXµXÇXÌXÄXµXX}XoX|X¯XòY[YºZZfZfyf fÀfÝfåfåfÑf¹f¤f’f…ftfhfVfKf;f8f4f:f5f#feíeÚeÁe­e›ee}egeOe6eedìdÑd¹dªdŸd—dˆdwdddWdDd6d#d cñcÐcµcœcˆcvc`cPcf=fYf…fÇgg2gSgzg«gÃgÖgØgÞgÝgégçgògõhh!h7hBhKhGh:h0h$hh#h$h,h*h$hhgàg´ggBgfØf¼f±f¶f»fÞfóg"gBgPgbghghglghgfgVgKg?g/gg fôfÛf¿ffofDfeãe«eyeNe!d÷dÊdždfd6cùcÉcŒcfcbýbÃb¤bwb[b%b a¹aŠa1`ã`ƒ`K`_ö_Þ_Ã_»_™_ª_‡_¨_™_á_ë`W_ö^M^^º_4_Ýbbc`ç`ºd^f8b‘a^.`ÉjmŠjujSoâf%^&YAWIY:["VOTgT‚TET¥TÏUo;o?o;o5o.o(o'o%o"o"o!onúnçnÝnÍn¹n§nnznonlnenCnnn n)n8nLnYnWnOnSnanrn€nntn[nBn m÷mámônnnmümßmËmÀm°mŸm‹mrmXmAm0m)mmmlílÝlÜlålölðl×lµl‘lolLl,llkôkçkÍkµkk‰kskZkAkkjåjÇj®j“jtjVj3j iài­iiWi3iihñhéhâhÔhÙh·h‡hYhgÅggMgfÈf‡f`feÌeØeùffeÞe¦eweeeYePebeWeMePe(edßd”dAcüc§cHb×bKaúaÝaËaÂaÈa­aiaaÍbbMb›bqaºa`È`Î`É`§`ÚaLaÃb%b£cbc¢c•cÀdJd‡d[d"cÉcºd dRd”eeGeGeMeOegeeye‚eËeðe¶eeqeWe(edødädÇd¯d•dxdadUdCd,dcðcÒc¿c®cžc”cc{cdcPcIc@c0c,c4c‘ddVdxd¨dëenff€fýg~gøh^h¡hØi!iii´j3kk•k•k¥k÷lClLlkËkål?lHl(l$l-lklsl·mvm«mînOn_nMn5n&nnnnnmúmõmömþnnnn0n@nFnBn5n&n#n+n-n)n(n%nnn nmýmömëmÜmÉm±m•m}mkm]mNm(lûlÎl¨lƒlhlJl*lkðkÊk¥k€klkRk4kkjíjÒj¯j€jNjiái¬i{iNi/ihÖh«hŒhfh[[Ø\'\…\×] ]B] ^%^^Í^ý_ _;_o_¬_¼_Ê_ã_ý_õ_â_é_ù`_ÿ`_ñ_ä_ò`#`L`k`t`x`v`y`”`£`µ`Ä`À`¾`½`Ç`Ó`åaa"a`Û`f_ò_§_‰_ˆ_Œ__Ž_‹_†_l_C_^â^«^v^F^]ø]Ç]‹]?\ì\Ž\1[Í[n[ZÉZ‡ZGZYËY“Y[Y+XõXÄX“XkXLX8X'XXX XX X0XMXkX€XŽXX†XkXNXGX[XwX™Y Y”YàZ"ZZÆ[*[›[Ü\\K\Å]P]Ó^@^­__``L`Ña=a‹aèb'bib·bøccf;f>f?fIf^f€f¤fÎfúgg7g?g=g)ggfôfèf×fÈf·f«f˜ff†f‰f‚fsfQf2feúeêe×eÉeµeŸe€emeQe4edödßdÎdÆd¾d²d¢dddod\dEd)dcécÆc¨cczcfcSc=c(ccbòbëbíbóbùccc,cQcvc•cucOcEclc“cµcÒcîdd8dZdrd’d¹dÝee%eFe]ereˆee–eªeäff,f0fAf[f–fÜgg2gbggºgÐgâgñgígïgçgügþhhhChLh\h[hYhYhHh>h6h9h:h;h?h9h;hgûgØg¡gwg=g fæfÝfØfígg*gMgmgug…gˆgŽgg‘gˆggngng]gPg8g#gfäf·ffYfeîeÂeŠe`e0d÷dËd“d_dcïc¥ccLc!båbÏb¢bŠbMbaàa©a9`ë`Ž`[`_ù_Ë_°_§_Ž__a_ƒ_`_‘_©_×_i]`]ü^!^V`Œb­bÔdze“gb~\Q[1[²`ÁiÊoan]kínçgg\¯W VÚZZzVTªTÐTTÐTäU^U–VV;VyVV±WWƒWéXvXòYlY³YëZ=ZoZ¡Z¨Z´ZµZÃZ×[[L[ç\F\“\¿]] ]œ^!^^^C^S^Ó_A_g__×`Óa¢aÁaÒbCbÎb÷cöe9eïf¸gëhõi¥jjjgføf¾f‹f\fPfVf~ff»fßfæfõgg2gdgƒg©gÜhhOh‡h²hàhÜhÛi i(i[i–i¿i¿i²iÁiìjj4j6j4jQj€j·jökIkžkÜl l7lcll·l×mmZm}m|m€m›m³m¹m½mànn%n6nDn]n|nžn¸nÔnênþoo0oIo\oro…o¥oÌpp1p_p…pœp«p¹pÕpåpøqqq,qHqiqŽq°qÌqÝqâqÚqÌqÀq±q­q±q³q½qÊqÛqëqöqüqûqýqôqïqäqÛqÈq²q«q¬q¬q°q±q²q®q±q·qÉqÙqëqörrr$r7rDr]rxr¡rÉrïssssssss#sc¤d;dydŽd«ee“ffg*gÏhGh£hÜiidiœiÊj/kkákôkøl^mm)l‰l/lXl¬l¤lzl€ll´lßmm¨nnYn˜n®n¥nn™n‹n{nqnin^nSnXn^nnn}n‰n‘n n¤nnˆn{n{n€n‚n€nznonfn[nTnOnJnDn@n9n*nnmìm×mÆm¶m¢mˆmam3mløl×l©lulBlkôkÑk¢kƒkekKk+k jéjÆjjzjUj%jiÏi›iqiJihúhÑh®hŒhjhIh#gügØg·g–gygTg0gfõfâfÉf¡fqf8eÿe¼ewe'dØd‘d@còcµccLcbïbÆb—beb.aõa½a‰aXa)`ô`¾`Š`W`(`_à_¼__]_8_^ò^¾^…^K^%]ù]Î]¬]]z]n]Y]C]*] \ï\Ò\±\\j\?\[ô[Ï[«[‡[e[D[#[ZåZÈZ²Z¡Z•ZZ‰ZƒZyZlZbZWZOZHZDZ=Z7Z4Z.Z-Z=ZRZYZVZSZPZc]cmc\c/cc2ctc³cãdd0dJdedvd’d²d×dÿe!e7eNene}e‹e‘e¼eèff(f5fCfof«fæg g=gog©gÌgçgøgþhgõhh h#h*hFhThkhhhthphlh^hPhLhHhMhThZhYhNh9hgügÐgžgrg=ggfýgg>gUg|g‰gžg¡g´gµg¹g±g·g«g¤ggŒgwgegGg$fýfÇfŸfgf8eþeÒe™ehe5dûd¸dˆd=d cÔc¦cncMccbÊb­b|bSba·aUa`¥`o`4`_Ú_»_œ_z_s_T_F_7_D_d_S_^Ò_-\[ ^ôbbh†j_e)]5WéX³\a³fîn~o¡lâj…beZºW X‹ZãWÏU~UUTÏTóU/U•UáV]V‡VÅVÈWW6W©XXXçYhYÎZ ZRZŒZËZÎZÛZÕZòZí[#[J[Õ\q]]]2]w]Ï^7^1^/^L__í`W`L_ÿ`ˆa]aÉb™c‰cÕcÓdÑf3fg hpiÑjljNi÷jjhjLiúi’iFi5ihËhxhXh1hgÞg·g•gxgIgfåf£fgfjff¡fÄfêgg7gHgPgzg¯gÏgæhhb.b%b"bbbb baöaìaÞaÒaÁaºa¬aša…ada2`ï`Ÿ`K_ø_®_l_'^ã^š^P^]¬]`]\ø]=]n]@]]\ð\Ò\_[ÿ\\é^5^C^_^å_{` ``üahaÂbbfb´bôcCc‹cåd0dbd—dÝeeEe{e¸eøf+fZfŒfÊg gPg”g×hhYh‘hÃhîii4iXisiŠiži¹i×iøjjj j j jj$j8jQjzj®jØjökk#kGkekykŽk¢k´kÊkâkùllBljl’l´l×lömm*mDmZmjmtm€mm¤m¹mÍmãmÿnnAnbn†n­nÏnôoo-oCo\ovo‘o­oÄoÜoóppp/pApPp_pmpup{p‚p‡pˆpƒp{pppcpWpOpMpJpCp>p1p%ppoýoñoão×oÉo»o´oªoŸo•oo‰o‡o‚o{orojo]oKoHoRo[o]oaogolovoo…o‡oˆoo›o©o³o´o°o¯o´o¹o·o³o«o¥o›oŽoŒo‡oo|o{ovopodoRo;o#oonãn³n}nUnBnJnfnn®n¹n·n³n³n¾nÇnÎnÈn½nºn…nDnnnAnknn|npnfnCn"nmúmémÓm´m•mƒmnmdmSmKmLmPmRmJmn+nn mûmçmÍm°mšmxmPm#lñlÃl›lvlBlkÏkŸkqkBkjèjÁj—jkj[Ö[p[ZÀZtZ,YèY©YkY1XùXÂXŒXTX%WþWÞWÆW¬W˜WW‰W‰W“WW±WÇWåWûX XXXWøXX1XqXÀYYiYÅZ7ZšZë[T[§[é\=\´])] ^^Ž__‰`$`³a!a{aÞb(bqb¦bäc*c{cØd%ded£déeDe¯eøf)fff¨fÓfõg g>g/gfÿfófèfÝfÓfÌfÌfÙfßfûg"gKgzg¤gÉgÕgÜgÒgÌg¼g³g¨gšgŽg~gugcgUg>g'gfüfìfÖf¹f›fƒfnf_fJf:ffeåeÇe§e€eeeJe;e,ee dúdêdÔd¿d§d‹dldFd#cüc×c¯ccicOc1ccbèbÔbÇbÃbÃbÍbÓbçbõbþccc=cQcEcbôccEc®cõd d2d]dldxdd¬dÖdôee&eKeceve‚e™e¾eòff'f2fWf‚f¿fíg!gXgŒgºgÞgõhhhh hh+h8hMhahvhvhˆh†h”h„h~hch\hZhWhmhshthjhRh>hgügËg gngHg;g-gJghg‰g›g¶g¹gÑgÍgâgØgÜgÕgÖgÊgÃg¯gžgˆgag:gfÜf¬f‡fGfe×e«ebe+dèd§ded-cñcÎc c{cHc#bûbÕb–bgbaÉaga`Ò`‹`J`_á_®_™_‡_h_W_1_.^ø_'^ä^¹_Pa_Ì^¯`›cÙcÃhh³a¯ZUKX _ªdRhlq=mejft^aY±Y[ZãZUVvU³UHU.U(U0UiUÕV:V™VÙWWWMWuWÎX,X‚XæYNY¶Z ZWZ“ZÙZÝZýZï[[[L[f[Ë\W].]‰]~]š]Ù^8^$^^h_w`f`æa`·`¬`ûaªcFdd®d_d¨eïg!g”h¿jj3iÞißj[j¤j¸j¶jipi hËhµh™h…hhhNh+h gçgÊgŸgwgLgfÈf³f´fÌfþg'g\g‰g›g§g¼gâhh"h?hah™häi#iJi]iTi[idi„i¼iåjjj-jIjgj‡jœjµjÒjük kOkkêl1lil“l³lÐlímm2mWmmm˜m®m¸mÊmÛmön n/nFnUn]nin‰n®nÝnüo#o>oXoooƒo’oŸo°oÉoöppMprp•p°pÍpåqqq$q1qGqcq}q™q¿qárr$r6r5r1r rrr rrr'r0rArMrYrfrmrtrjrbrVrHr7r*r.r/r2r3r0r*r%r&r=rRrer|rŽr¤r³r¿rÈrÖrìss8sass»sÎsÁs¥s˜sžs³sÂsÖsãsòsþtttt+t*t/t.t(ttsós×s´sžs’s…sysgsOs0srùrárÄr¢rrZr6rrDr-rqþqáqÆq¥q†qeqOq?q1q%qpøpÛp¿ppzpQp(poóoÞoÁoœomo=onÔnœnbn'mëm¥m_mlÆlvl'kßk‘kCjëj‘j,iÊibhùh†hg€gf}eòe]d»dceb¯aýa'``&_—_˜_æ`‰aÌbLbIbçc`bõb‚b6a¶a6`Û``?`_ï_Ð_º_Š_M^ø^Ï^Õ^±^]Y]]h]ä^W^È_=_“_¿_ú`L`žaobrb§b>a½aaga¨aæa¤a„aza9a`×`†`óaCa6bYddÒe“eÎe½d&bÓb†b^ba¼aqaAaAašaÃaÔb b$b8bSbgb|b‡b„bybnbdb\b[bWbSbGbg gfÛf±f|f:eöe¥eOdðd•dNd cÅc‰cVc"böbÒb¨bvbrWr]rZrSrFrDr@rArHrRr]rkr{r†r“rr¢r£r›r‘r†rrrrnrlrirmririrhrkryrr¢r·rÏrãrñr÷sss*sJsqsœsÌtttsôsãsÙsçs÷t tt+t4t;tFtPt\t]tft`t[tQtBt,tsösßsÐsÃs¹s¦s–s|scsKs0srîrÈr¤r€r]r¤rŽrwr_rCr'rqäqÅqªq›q‹q~qfqMq1qpôpËp¦p~papHp2poôoÆo’o\o&nìn°non4mñm­memlËl~l4käk”k;jâjj$iÁiWhåhfgãgcfÛfKe°edSc—bÞb)aS`…_Ä__J`$`‹aqbÍc«dzdYcibëbŽaôaŒaAa`Î`›`g`1`_ß_º_x_^Ù^á^Ô^H]x]+]¨^\^ú_Š_Ú_î_î` `oaRbzc#c:b¿b)a²b b bÌbba½aªaÂbbÒbîbIbtcÔe|f+eZdØdcMcbÊb~ba¿aa€a¸aÖaëbb@bfbb©bºbÀb½b´b§bŸb™b™b•bŽb‚bybibWbCb.baÿaêaßaÖaËa¯a}a5`â`‹`9_ò_ª_^_^Ñ^…^:]ë]¢]\]\ú\à\Û\Ø\‡\J\[÷\\F\¶]o^F^ì_‚` `Š`õa_aºbb]b¥bôcKc«ddYd¥dóe=eie’eÐffQf†fµfäggQgŒgËh hQhhÜii@ini˜i½iàjjj?j`jj™jjjŒj“j¦jÂjÚjõkkEkfkŠk©kÊkækül l$l9lMlalulŽl¥lËlôm!mKmsmšm½mÛmònnn5nBnNnZnenun†n—n­nÌnóooBobowo‹ožo·oÓoòpp1pPpkp†p˜p¬pÃpØpèpöqqqq&q,q1q4q3q,q!q púpåpÖpÎpÄp¼p¯p¡p•p‡ptpcpRpGp`H`P`O`\`p``«`Ë`å`ýaa&a7aDaLaNaOaAa:a1a/a%a`æ`Ç`©`’`€`q`Y`8`_ü_Ó_ž_j_-^î^°^}^T^.]ÿ]Ç]],\Ï\n\[–[%Z¹ZZZY»YxY>YXÈX‰XUX"WìW³W„W^Wkëk“k8jàj†j%i¿iHhÊhIgÈg>f­f e^d£cÜcbcaš`ã`_9_H_æ`la¼cøe~eódöcÒcPbÆbaÃa‚a]aGa#`î`¬`h`*_ö_Ì_Š_1^÷^ï^å^d]¿] ^*^î_y_©_‰_€_Ï`~akb~cwd+dcpbÐbéccbÝbèc"cb½ccådOdWcÛdQe7e¦e³döcðc²c„cbÊbfb-aôaÂaÓaðbbHbzb¥bÈbæb÷bþbøbïbäbÜbÔbÑbÎbÈb¾b²b¦b—bƒbjbPb2bbaýaôaßa¶aya+`Ø`…`7_í_¥_Y_^Î^‰^@]õ]³]g]%\ä\­\¶\‘\6[ô[î\*\“]]Å^k__›``Š`ìaVa´b bXb¤býc[c¹ddqdËe&eme‡e·eýf>f}f¶fäggBgxg³gòh5hxhºh÷i2i`ii»iéjj4jYj}j¢jÂjÒjÔjÑjÒjÞjôk k!kBkkk˜k¸kØköll-lBlVlil€l“l©l¾lØlñmm5mem”mÀmên n.nGn\nonŠnŸnªn¯n·nÅnÐnÜnòo o1oZo{o•o©oÁoØoñp p-pNppp‘pªpÄpÚpîqqq-q=qLqYqbqhqnqtqvqzqyqpq`qJq0qq qpùpípÝpËp»p¬pžp‘p‡p{pmp_pVpQpPpLpEp?p4p*ppppppppp,p9pHpUpap]pMp:p,p)p0p=pNpZpcp]pSpHp9p/p$ppppppp#p pp oúoæoÍo·o§ooco$nßn¹n´nÊnêooIoYojoboQoEo4onøn×n­n‘nŸn­nÐnúooo nýnänÆn²nµn—nsn\nNn1nmòmãmÒmÇmÌmØmÔm¸mmjmDmlòlÆl¥l‚lblBl&lkùkåkÐk½k§k‹ktkckRk7k"k jøjÞjÂj¦j„jaj>jjjjiÿiþjjiçi»iŠiYi'høhähÇh­h”hthjhLhPh{h[hhhgãgÇg§gˆgggVgLgh gègÅg g„g{glg`g^gQgKg>g"gfÓf›fXfeÂemed¾d`dcÔc“cXc)bþbÚb³b‚bLb aÎaaQa`á`£`a`.`_Ø_°_„_Y_+^ÿ^Ð^^m^?^]Ý]¶]]k]G]"\þ\à\À\ \|\Z\5\[ì[À[’[a[+ZïZ¾ZŒZ^Z-ZYÝY½Y YŠYuYaYLY7Y%YYY Y Y Y YYYYY#Y-Y7YHY`YŒY½YíZZZZZZ*Z[Z‡Z¯ZÍZì[[V[¢[á\$\Š\ñ]M]«^^d^¦^Ý___6_S_€_©_Î_õ`` ` `7`B`Q`a`b`h`y`™`¶`Õ`ôaa1aJa_akatayaxafaWaSaSaJaWVíVÊV²V›VˆVV‰V›V±VÐVôWW3WTWrW†W•W¤WÀWÛWýXaXÓYBY—YÕZ9Z˜[[\'\ª]-]ª^$^“_ _•` `w`×aDaÈbdFdcd‡d¯dÉdædÿee1eOeteŸeÐeõff3f\fŒfÃfôg0gSg†gªgÎgégûhhh0hGhah}hŽh h°hÀhÍhÙhähØhÉh§hhŒhšh”h²h®h¯h¦h•hŽhxh\h5h gögàg×gâgéhhh*h/hAhIhLhGhKh=h?h)h!hgôgÙg·g’geg=gfÒf˜f^feÐe{e6dïdÃdxdXd'cÿcÉcŸcoc8böb£bJaõaªa^a`Ó``K`_Ê_¡_t_S_-_ ^î^Ù^¿^¡^Q^Z_`a›ei hi_f›dÈeâ`·bGiÚmDq+i"cSe\cK^F^ç[ùWxWV³UàUoUÔU¨UþV-V³WWaW WÐWüXXSXdX³XÃY(YDY´YöZ^Z ZÝZÿ[[>[c[Å\7\b\%\m]]—]Ä]á^^5^E^V^›^â^ï_2_ž``}aHb4cˆdLdéfmfÑf¢gah?iiÛjškGk¦kùjöjiéiÃi±i…imiTi8i)i"iiihêhÊhµh–hahChgâg¬gšg©gÀgßh h-h=hPhfh…h”h§hßiijiži¿iÎiÐiájj3jZj„j©jÓjëjùkkk&kLkykŸkÕllUl”lÈl÷m"mVmm˜m¥m¹mÔmémýn n%nr'rqõqÛq¼qžqqWq0q pðpÝpÅp¤pypDp oÌo‰oConÇn‘nXnmÕmmClõl¤lLkøk kHjïj‘j*i´i;h¶h5g«gfveÂed:ckb¯bar`Ï` _á_Ü`:be6f}f‘e‘dTcÞc5bWaûaáaÐaÀa¹a‰a;`ì`†`*_æ_µ_Œ_E^î^¯^·^¼^+^ ^¢_5___-___ï`¤a€bzcFd dµdÔd•dˆdMdcècæd dpd…dÖeKe¦fewee;eðfdeKd\dldc‘czbþb…b>b bb8bbb‰b¯bØbücc+c4c+ccc ccbÿbúbóbçbßbÕbÃb¬b‹bhbJb4b'bb aêa¶aoa$`×`ˆ`;_ï_£_X_^Ô^•^P^ ]Ê]]8\ì\²\‡\W\=\Y\ \ÿ]^^±_:_¹`%`Š`ñaSa°bbPb¯ccucÑd,d…dÜe?e‘e¨eÝf-fsf°fággBgug®gèh"h]h˜h×iiBisi¨iÛjjAjmj“j¹jÜjøk k k kk$k9kRkrk—k»kàkýll=lVljll•l«lÇlÛlímmm9mWm‚m±mÜn n8n]nzn•n®nÄnÙnínùoo ooo(oh]h~h—h«h·hÄhÚhãhòhïhÝhÉh·h¨h§h§h¶h¸hÉh»hÁh®h£h™hwh`haŒe i#hHhueNba~`ƒcj»pr¶kÕeqb"a`ö^°ZŽW£W#VkU¦U®UÑUÓV VSVÈW.W—WÞXXKXbXXœXÚXéY;YdYÏZ ZrZ»Zç[ [)[P[{[¬\\ˆ\h\]=]µ]ø^=^h^^t^^Þ_4_f_Õ`F`i`˜a,bc-dUe_fvfËfÒgCgýhÝiÑj¯kIk½ljöj4jièiái¶iŸi†iiwiqieiYiMi;i)ihÿhÓh±hhghDh4h,h5h@hOh\hfh‡h–h¤hÞii1ibi›iÑiòiþiüjj@jtj—j·jÙjþkk7kHkKkSkuk–k®kÎllIl†lÀmmAmrm™m½mÙmònn$npXpup“p°pÈpçqq%qBq^qqq~qqœq±qËqërr#rErlr‘r¬r¿rÈrÍrËrÍrÎrÎrÓrÜrìrûs ss*s5s6s6s/s1s5s;s;s-sssss s)s7sDsVshswsŠsœs¯sÃsßsýt#tCtbttŸtÊtåtçtËt¦t“t’t›tªtµtÁtÊtÐtÛtâtçtçtçtßtÛtÓtÌtÂt®ttŠt~tttqtdtYtPt`‚b«fIgf¦f)educ©b}bb)b/b*b3baÏar`ú`†`_Ð_¨_~_*^¢^~^Ï^Œ^+^[^Ô_;_T_©`?`äa–bycEddÛeZeˆe±e©e²e¹ereKe¸feÝege,eLe~e·eîfƒfRe`e*endµddMc»bíb bnbobb©bÏbïcc1cMc_cdc_cQcDc9c1c.c,c(c#ccc bübãbÃb b~b_bJb8b)baça°ama"`×`Ž`;_ë__]_$^ê^¯^r^1]ë]§]g] \ç\Í\É\Þ]]z]ù^x^õ_q_ß`F`Ÿ`ÿa_aÁbbgbÌc7cžcõdSd®eeae¸eÒffbf¡fÞgg>gmg§gâhhThhÁh÷i*i]i’iÈiýj1jfj•jÁjîkk,k8k=kDkUkikzk—k»kàll)lFldl}l‘l«lÂlÙlòm m!m5mHmam|mšmÊmùn%nNn|n¤nÁnßnøoo(o:oGoQoVo_oioxoŒo o³oÌoêpp!p=p\puppªpÅpápùqq2qNqfqq˜q²qËqÚqÜqÙqÛqÜqÝqáqçqìqèqÙqÃq«q–q‡qyqmq^qKqk jÎjjXjiÙiÄiživiLi#húhÅhh\h5h gëg½ggNg?g3ggfúfÕf¨fpf0eæešeKdõd—d?cóc±cpc7bÿbÌbbobAbaÃa|a;`ú`¿`}`@`_Ú_Ÿ_j_;_^ê^¾^Œ^]^0^]Õ]«]]R](\þ\Ö\²\\j\H\![ü[Ó[ª[|[K[ZçZ±Z{ZCZYàY±YƒYNY!XûXÙX»XªX•X„XrX_XNXBXXBXJXSXcXtX‹X¤X¸XÍXÜXùY,YnY£YâZYýYøYãYÚZZKZŽZ¸ZÑZö[&[`[¯\\…\ô]`]Ð^ ^\^“^¼^à__4_g_•_Ã_ë``/`C`P`^`r`†`Ž`ˆ`›`¶`Ô`ôaa6aXawaa¢aªa¬a¢a‘a†a„a„a†aaoaXa:a`ò`Î`ž`k`<`_Ì_ž_j_3_^Ó^§^t^8]ì]š]>\Ü\q\ [£[:ZÊZUYâY}Y&XØX”XSXWÜW¡WaW#VäV°VxVJV%VUèUÛUÎUÍUÛUóVVGVnV˜VÊV÷W W:WNWfW’WÕX X„XÊYY¨ZZ{Zý[¢\/\À]H]·^^^ï_P_à`M`¼aLa½b$bjb¦c6c™côd†eepeÔfFf¶g,g‹gØhhcbÝb®b‡b`bJb-b&bbb'b-b9b>bCbCbUbhb‹b°bÏbíbùc c cc c7ccÇcìddd4dad‹d§dÍdèe e)eIeje˜eÎeòffIf|f°fägg3gRgsg“g·gËgêh h/hShrh’h¥hºhÃh×hêhóhøhöhêhÛhÏh¼hÀhÄhÃhÔhÒhÚhÌhÈh±h«h“h{hfhKhCh8hHhUhchmhhƒhh†h‡h‚hxhgh\hLhCh*hgégÃg—g]g.fõf·fyf;eèe¦eae#dïd¶d‹dld(dcÄc‰c"bÝb‚b@aâa›aH`þ`±`[`"_Î_£_f_I__#^é_^È^°^L^3^_Aa;eiÇjÔjJg3ag_}b c×h]qásgo jïb `µ`ï\>[{YôWV UÔUÌU¶UýV VnVØWXW¯XXDXŒX§XÒXåXþY+YWY³ZZbZ¨ZÛ[[[I[f[¦[æ\`\ä\¿\¨]+]¸^E^¶^¼^·^œ^¿_._é`W`·a%a`àaccòd¸e†fffïg*gÖhÆiØjªk2kÿkßjÉj,j2j*j%iøiçiÌiÅi¹i³iži„iƒivisiiiIi ihíhÕh´h¦hžh¢h’h•h–h‚h±hÊh´iiWizi¨iÒjj!j5jAj_j‰j½j×jèkk+kRkjk{k€kŠk©kÇkÛkìllIllÕmmgm•mµmÝnn-nQnin€n“n²nÎnìnþo o.oDoQoooÊp$pPpUpNpEp1p4p:pApMpUpfp~pp¹p×pñq q%qDq_qrq‰q™q¬qÀqÕqêrrr6rXrzržrºrÐrârërïrîrõr÷ssss&s3sHsWsesfsjsfscslsvs{sqsdsSsQsUsasks{s†s•s¨s´sÅsÒsëtt tjwj­jákk7kSkfkuk„k‘k kºkÚll*lNlpllªlÄlÛlóm m%m?mXmqm…mœmµmÒmün-nXn…n±nÙnöoo.oIo_owoˆo”ožo¬o¶oÈoÞoïppp0pHpep}pœp¸pÒpìqqq:qWqvq“q¯qÎqêrrr#r"rrrrrrrrqõqäqÓqÅq²q q‘q‚qrq`qSqGqAq>q6q0q)q#qqqqpüpôpêpæpâpâpépëpîpôpÿqqqqpÿpúpþqpópßpÏpàpópõpøpëpÔpÂp¿p¹p³pšpƒp|p~p‰p‘p‘p…pp|pspbpXpLp=poìo¸oŠolodo|o¼o÷p o÷oÍoÃo®o§o±o»o·o¤o|oVoEoHo[oto|omoUoNoNoEo0onÞnÀn©n†ngnMn8n%nn mëm¨mZmlÕl­llllIl3llkùkþl lkúkçkÕkÕkËkÄkÀk¸k«k”kwkOk0k jëjÍj¶j©j¥j°jÂjÎjºj”jujUjBj8j7j'j iýiÃiioiviri{i‰i`i1ihÕhÄh²h›hh}hXh(gøgÈg„g2fÒfxfeÅee/dæd’dBdcÙcŸcucQc7cbèbÊbûcbØbsbvb¶b}bebhb-b9b]bcc–ddId¬eœeëeåfSf~f‡fIfeÜeîffeßeÄe©e’e~eee[eWeTeJe=e0e eedðdÛdÍdÂd¶d®d¬d´d²d¤d‰djdBdcëcÏc¬c“cÖd{d÷dûdÐdÒenf7ggòhƒiiqiìjrjÙkDk·l lblƒlºlàl×lëmƒn'nanÄnôoo"o6ob_bb­bÚbócccb÷cc>cˆc½cÙcèdd>dhd‘d·dÞee e`Caa0a“aéaaßc?dhe¦fYfŠfãgRgÀh“iKjJkkkÕkjtjRjmj]jHj&jjjiëiôiÙiÎiÄi¿iÅi·iši|iXiIi.i i i hÿhûhöhðiiiiMixiÈjjj:j\j€j£jÍjókkk.kOk}k–kžk¯kÅkålll(lDlvl¸mm_m°mÜmþn!nNnon’n­nÍnêoo)oFo_o€ošoŽoƒoÞp™pùpøpÜpºp‹p`pQpXpip}p’p¦pÇpãqqq7qPqnqˆq˜qªq¸qÎqärrr2rLrcrr™r¸rÎrærøsssss$s0sc4c7cPcic„cc±c½cÃc»cªc˜c‡c~cycscvcucpcjc^cPc9cbìbÆbœbvb_bRb>b'baÍa‹a<`ä`‰`4_ñ_·_€_H_^í^À^^Z^*^ ^^^1^n^¼__o_Ï`4``íaIa«b bab¸c&c’cîdPd¶eeue»ff=ffÜgg>gmg§gèh-hnh«hÝi i5idiiÀiôj(j\j“jÊkk8k^k{k‘k§k¿kÐkÜkøll:lkl–lºlÜlöm m"m>mXmpm‰m¤m¼mÒmêmþnnCnrnŸnÍnöoo3oMogoƒo™o±oÃoÓoäoôppp,p:pJp[pmp€pœpµpÒpêqq!q?qYqyqšq»qØqørr7rPrbrirmrjrarXrNrFr;r0r'rrr qúqêqÚqÌq¾q®qŸq’qˆqqwqrqmqgqaq[qRqJq>q4q,q(q#q#q'q-q-q1q6qAqGqIqGq@q?q;q8q=q9q$qq qqq(q'qpÛp÷q qpæpÁp´p¯p´p´p´p¯pªp¥p£p–pŒp|pjpJp"oöoÑo³ošooÐpp9pqq q qqq"q qqqq qpýpïpçpÝpßpápÞpßpÛpÙpÎp¿p´p£p•pˆp{ppplpopppspcp?p"poâo·ozoAonÖnšnan(mñm¿m|m9lþlÀl€lElkÕk˜kakjÖj›jhj'jiÖi¢iziNihóhºhyhThgògÀgWg%g&ggfîfÕf°f‰f_f&eæeœeKdùd¦dOcòc¢cUcb°bob?b!aøa»awa3`í`±`r`-_ê_¢_b_+^û^Ã^†^R^!]þ]Ü]ª]o]>]\ê\¾\’\d\;\[å[¾[‘[d[4ZúZÂZ…ZDZYÈY‹YSYXóXÅXœXpXCXWòWÖW¹W¨W˜W‹W}WvWlWlWnWyWŠW¤W½WÙXXX1XGXnX¯XöY&Ydcác³ccHcbÞb²b†bcb=bbaìaÝaÔaÒa×aÞaéaôaÿbb1bPb~b±bábûc ccbèbùctsñsÏs·sžs‰sssRs2srßr¸r“rnrQr4rqæq±qqMqpÙp”pPp oÊooYo!nén©n`nmÇmym*lÐlmlk˜k#j¤j*i¯i,h©hgŠføf_e¹edactbòb@`ýaTc¶f`gŽfâfµfpe„d½c|bxbsbôcycœcsc bba±aJ`å`•`D_Ð_+__^u^Z^Í_``NaaVab/béc{cÖdaeee eUe›ffjfžf¢ftfešeYe˜eïfbgféff«fpf e³ewead²dZdc©c‹cc‰c c»cÍcâcìcïcæcÙcÆc´c£c›c˜c™c™c—c“c‡czcccDcbòbÅbb‚bsbcbWbBbaÝaa;`á`ˆ`F`_È_“_g_B_!_^á^Á^§^^¬^Ì^ù_:_ƒ_×`-`„`Úa8a›aýbPb£ccmcÓd&d‡dôeYe­eìf#ftfÔggLgpgžgÙh#hqh²héiiEiki”i¼içjjCjyj²jïk*k`kƒk¢k¾kÚkòlll8l^l…l±lÛmm%mDm[msmŒm£m»mÖmònn$n:nOnmn‘n½níoo7oXosoo¦o»oÑoçoüpp*p@pUpipwppp›p¨p¾pÛpùqq-qIqdqq¡qÃqärr$rCr^rxrŒr™r£r©r¤ržr“rƒrsrarPrHrGrEr?r2r$rr qüqîqâqÑqÃq¹q²q®qªq¥qšq’q‹q„qyqoqnqkqaqbqfqiqiqpqtq{qqƒq„q{qtqsqtq{q~qpq`q[qXq\q\qUq3qqJqhqUq4qpûpèpÞpÒpÍpÍpÑpÐpÒpÏpÅp³pœp~p]p7poüoÛoÊoëp+pWptp|p\pCpQpPpJpHp0oóo¨odoLofo’o°o£omopošoowo^ouQuduˆu¶uêvuùuÚu¿u¯u®u³uÀuÑuØuÞuÚuÔuÐuÒuÑuÏuÍuÈuÃuºu²u§u£uŸuŸušu“u‡u|unu_uOu8u%uiuPu4u tçtÁtžtutNt*tsùsâsÇs­ssds7s rär¿r¢r†r]r0qþqÈq’q\q"pàpŸpZpoÜo£oeo(nën¢nWn mÁmrml½lXkík{k jšj i§i/h³h6g²g0f¬f!e˜dÙdLcàc†cûe2f–g_gfÅf…e9cðcbjbÓc·d1dCcÛc6b²blba®aC`Û`u` _E^ß_K^ó^£_ _«`xa0aˆaÐbCbÙc]cËdcdÌd«d½eefeÐf0fwfzfDeìe¾eÔeêeéfdg fæf¬fÖf¾fœf&e­ežedÁdkd càcÃcÅcÒcðddddddcøcâcÐcÃc¾c¿cÁc¿c¸c¯c¥ccscKc"bøbÍb¬bšbb„bxb^b+aäaa8`à`š`[`_í_¿_˜_}_f_Q_B_2_)_/_O_w_®_ð`;`‰`Øa-a‡aåb?b‘bécJc¬d d`dÊe;ešeãff[f¶ggTg€g¡gÌh h]h©hïi&iTi{i¥iËiíjj7jej™jÏk kEk}k§kËkåll!l;ldl…l¥lÎlöm!mPmum”m¬mÄmÜmõnn*nGncnyn”n¬nÊnîoo>oco€o o¹oÓoìppp-pDp[pqp†pšp¬p»pÁpÇpÚpõqq9qQq`qlq…q¥qÉqîrr2rRrnr‡rŸr³rÂrÑrÚrßrÜrØrÌrºr¤rrrursrsrkr`rXrOrIr>r1r"rrqúqðqèqãqÞqÖqÌqÂq¸q­q¤q qŸqšqšqœq q q§q®q²q·q»q¸qµq«q¢q q¦q®q³q»q·q®q¢q‹q…q’qšq³q²q—qwqQq9q)qqpöpôp÷pÿq q pÿpípØp¼pœpzpVp8ppp p?pop˜p³pœpzpwp~p~p{php"oºo_oEobo«oëoöoão×oÎo¸o o{oMo&onánÄn®n”nkn7nmâm»mmŠmzmtm^mEm+mmlðlàlÓlÆl¶lŸl|l\l;l$lllll0l,lkíkÈk¤k€kgkCk*k+k)k4kLkFk]kQkjýkkk"kkjÝj°jÒjùj×jªj|jIj=j$jiúiÚi´i‡i;héh¢hgh6hg¸gzg2féf¤f-e—e4dùdÃd•dodndSd cÉcmc"bâbŸb‘b«b„baØaÑañb1b—c ccc^cddcd6dtd~d‚dÓe$e­eÔeêfMf&eÔe¼e´e²e¢e›e•eˆe„eweneiekebe_e\eSeNeDefíg…hh³iWii›jj}jÙkGk“kýlOljl®m4mmm¤mÔmînnmn¡nÐooGooÇoßoåppoÿp3pµpäp¸pÅqMqÊq°q¶q¾q­q¨q£q£q¡qšqq†qwqhqSqDq^]×]­]]W] \é\Á\—\o\E\[è[¸[‰[T[ZåZ¥ZbZYÔYŒYBXýXºX~XNXWìWÁWžW{WXW4WVìVÎV¸V¦V›VšVžV¤V§V¬V²VÂV×VøWWCWkW‰W§WÔXXYX‰X¨XÕXóXëXñY-Y‰YöZ`Z‹Z¦ZÎ[+[’[å\]\Å]]\]©]î^^P^Š^Ü_0_x_Ñ```'`X`„`£` ` `¶`Ð`óaa6aYa~a¢aÀaÖaÜaÙaÎaÌaØaÜaÚaÙaÎa»aœa€acaCa`í`¼`Š`K`_É_Œ_G_^Ì^Ž^A]ä]‚]\±\A[Ì[UZâZmYüYŠYX±XZXW³WfWVÞV›VSVU±UaUTÌT’TrTcTaThTqT…T©TßU'UrU¿VVfV¥VÐVþW9W‘WòXfXÞYTZZœ[![±\B\Ý]l]÷^u^ç_N_Ì`E`°a0aµbCbñc d d‚dûekeØfCf¦fögcbÈb—bjbEbaüaÝaÆa­ašaa‡aa‚aa a»aÛaüb'bWb‡b»bÞbýbøböbðbæcc5cgc‰c cÇcÿd9dtdšd¼déee0eWe†e¾eëff?fjfŠf´fÒfúggEgkg“gÀgähhBhkh‡hžh§h·hÅhàhøiii/i*i.i*i+i'i(i!iiii iihþhõhðhßháhÜhôhõihÿi iihòhãhÇh½h«h“hwhKh#gêg¾g}gUgfæf¤fwf4feÄe“eOedÌd dEdc³cfcb²bEa×aoa `®`N_þ_¹_s_3_^ý^Þ_^à^Ñ^A^%^(`dði¤jwk&lRo•plo×lÏlcnœl:iŠcc‘kdøZëWÀVüVVU¯V VDV}V¼WW\W¶XX‰XËYY+Y™YµZZEZº[[O[}[ [É[×\\\M\X\š\à]\õ])]ƒ^'^N^l^_/_ó`Â`Š`4`’`˜` `²a\bºc›d„emeÝfêh£i÷k$j‘jj…j´j¿jÏjÃjÃjåjõjïjæjâjÜjÌjÃjÈjÌj»jœjžj“jajHjvjdjEj=j>j-jjjj"j7jMjqj„j™jªjÏjôkk-kDkak„kžk¶k¾kÌkâkøll=lcltl•l®lÒlßlûmmFmtm«mânnFnvn¾oo3o@oMooooŸoÁoîp'p\ppœpyp?qrrar]r7q¿q pæqq#qHqfqxq‰qŸq­q¸qÀqÏqÛqåqïqôrr rr;rnr˜r·rÖrèrûss sss's7sRsfs|ss¤sµsÉsÛsìs÷ttttt"t+t7t?t=t5t(t)t/tItdt‚t”t£t§t¬tµtÅtÙtðu u,uIu`uuu†u©uÕv v9vEv3vvuþvv vv&v+v#vvvvv v vvvuûuôuðuëuèuçuâuÜuÒuÈuºu«u•uuÉu±u•uouKu$týtÒt¥tƒtgtNt9ttsäs¼sŽsbs5srñrÐr­rrKrqåq®quq4põp®pnp,oìo±oro.nænŸnRnm¶m`m l©lHkãkxkjžj2iÄiPhßhogÿgg%f¿f4e§e½ffÕfŽfŒgŒgpf×f‰e?dodKcŒd¤e´eSdÂd4cc bÛbba§a:`Ø`r_Ã_F_ _„_-_k`'`Ùagaébb@b°cc}cìd,d;de e>eke¿f!f;feáeÒeêeÞf fªg,gf½fùg&gLfØfMfezedªd^d*ddd dd-dl*lll>lYlHl%lkÞk·k•kpkTkTkhkwkk€kœk˜kokNkXkik`kTkOk=k9kZkjk@kjÝj³j¨jŠjVjJjAjiÉi|i4húhºh…h`h!gçg¶gzgf‡feÔeˆe/dîd»d§d€d?cüc­ckcb¡bob‚bpb3baîaòbb2b’búc.cccGcŠcÍd)dLdŸdëdóeyeæeËeífeóeÜeÑeÂe£eœeŸe—eŒe|exeteyee†e„e{eqemeie[ePeNeReUeLe4e dád¸d—d‡d¨ee–ff¨g…h@hèiƒjj/jJj©jêkEk´llnlžlŽl’m mm¾mânn-nAnyn´nío?o‰o¶oæp ppbp‘pˆp„pêqUqnqGqoqøqõqørqõqìqëqîqêqâqÍqºq£qŒqrqdqiq€q™q¶qÇqÐqÔqÔqÙqÓqÐqÄq°q›qqeqFq$pþpÛp¼ppp\p0oþoÆo–ono@o nÓnšnbn'mëm©mjm%lÝlžlel1kök»k{k8jûjÅj•jhj:jiÒi“iXihØh©h„hWh.gügÑg¯ggWg'gfîfÈf˜fZfeÓeŽeIed¼dpdcÀcXbûbŸbFbaàa¾a”ada&`ã`ž`Y`_É_€_9^í^^f^(]ï]¶]ƒ]W]\ç\¹\“\s\K\[ë[¶[„[O[ZÛZZWZYÇY}Y2XèX¡X\XWðWÃWW^W9WVïVÎV­VŒVkVSV>V2V1V6V=VDVDVEVQVbVyV˜VÅVøW(WEWnW¥WåX XLX–XÊXÝYYzYÛZZ^ZnZhZ¤[[h[Ç\K\É]]M]ƒ]»]â^^Z^µ_ _e_¾_ì_æ``^`u`Š`œ`Ÿ`¶`Ó`ùaaEajaŽa°aÎaÞaèaêaëaðaõaúaöaóaæaÒa´a˜auaUa,`þ`Ê`“`O`_Ä_€_9^û^À^z^)]É]i]\“\[ [(ZµZ?YÏYWXèXŠX3WÝWWEWV½VsV(UÖU|U"TÏTƒTFTTTT TT4TQT‰TÚU-U†UæV:VV°VãWW|WãXmXåYEZZ·[I[â\q]]®^<^¿_;_¸`2`¨aa—b;bàcd$d“düe\eÕf?f£fíg8g‚gÈh$h‹héi>i|i˜i©i³i«i›iŽi„iƒiˆiŠi›i¶iÉiáiôjjj$j!j,j#jjjjj2j5j0j)jjiéiÛiÉi¿i«iœi†ixiciOi5ihòhÏh«hhWh1hgÞg­ggPgfæf®fnf2eøeÄe•ede'dðd»dƒdKd cÍc‡cLc bÒb”bib:baîaÐa¸aœaŠavatajahanaa”a­aÑaûb/bUb‹b³bÙbíbûcbübûcc6c`c…c©cßddQd‚dždÅdìee>eleŸeÌeúffiFii9i?i3i/i!iiiiii iii ii%ii0i!i'ii hóhÞhËh¬h‰hgh:hgÝg•gsg4g fÏf f`f5eñe»exe@düd·dld*cÆc‰c"bÀbTaéa|a `¬`J_ù_¨_]_0^û^æ^â^Ý^Å^É^2^>^y_àc¤h-k m.qKrodj'gbj¸l>f'c­b„f=hÛ]2XWiVºVHVVV VdVÈWWqW£X/XSXÍXôYY@Y±YßZDZ‹Zû[N[”[Ì[ï\ \$\F\k\\¦\Î\ç]*]]A]Œ^ ^ ^m__à`L`O_í_Ô`/` ``¬a–bZbÖcOcÖefÕhei€jÊj×j‰j“jàk/k jÙjÚjøkk%kkkkjÿk kkjòjëjêjÉj´jàj×jÆj½j¹j«jžj¤j©j¯j¹jÁjÖjêkkk(kLknk€k’k­kÄkÝkîlll)l@l]lzl¤lÀlälúm mm6mfm“m¿mènn?nXnznµnÿoFoqo€oŒoo¹oÞoûp)pkp£pÀp™pQpøqÿr‰r¢rr:qœqUq^q|q™q°q¼qÑqírr rrrr rrr rr(rNr{rªrÑrõs ss&s+s4s6s=sDs^svs“s§s½sÔsésût tt#t,t1t9t@tMtXt^t]t]tUtWt^tqt‹t§tÁt×tätítöuuu)uBu[uvuu¡u²uÍuøv-v`v~v€vnvZvNvLvWv`vhvmvivUvQvMvMvIvHvFvBv?v>v;v4v4v1v2v-v+v%vvvuñußv$v uôuÐu©u…u\u0utÝtÄt¦tŽtstWt6tsßs²s„s`sEs"rýrÏrŸrlr:rqÊq‰qHqp¾p}p=oþo¿o{o1nænšnKmÿm®mXmlªlQkîkŠk*jÅj^iðiˆi'hÃhdh gÆgygg~h¦hôgàfög0g@fãf·eÖe¤eöeógqg•fCedxdc¡cHb×btba¦aRa`—`=`` `2`E`¼aBa¸bGb1b8b‡b­bücLc§dd‘d÷ee5eweÕfeäeèffe÷f|fûgÛhg!fåggf¼fkfCeÇeadãd“ddd;d3d?dNd[dfdkdqdtdpd_dHd,ddd ddddcÿcòc×c·ccgcAcbýbébàbØbÏbµb†b>aæaŽaFa`â`¼`Š`X`/```````0`R`~`µ`ôa=aƒaÊbbXb¦ccfc»ddodÌe/e›eúf@f‰fÞg5gƒg¿gähh1hwhÉii\ii½iãj jj4jQjwjŸjÔkk=kwk¯käll8l`ll¼lëmm7m\m…m´mænn6nNnfn|nšn¼nÝnÿoo3oPono‹o§oÄoápp p:pSplp†pp¯pÅpÔpãpôqqqq,q@q[quqq¡q±q¾qÏqõrrCrer†r£r¾r×rïrÿs sss(s.s2s3s1s1s)ss rürôrîrär×rÊr½r¶r´r²r¬r¡r“r†r{rqrkrcrZrPrBr6r.rrrqüqùqüqÿqÿrrrr r r r rqôqëqèqëqïqïqñqùrqûqûqôqþrrr,rqüqâqÈq»q¢q‡qgqOqIqVqjqxq|qkqRq4qpñp´pdp]p{pkptp«pàqq pçp³p•p‰pvpMp6poéoÒoãpp6pDpOpRp?poéo¨o‚oeoBo'onønÛnªnin.nn%nnmómÔmºmžm„mpmbmRmBm4m(m!mmlëlÊlžlzlYlEl=lKl|lulSl1l këkÄkŸkkykŽk¡k´kÉkÏkÑk³k„k†k“kŽkŠk…k…kƒk‚kkŠkfk9kjþjäjÆj¸j¯jpj"iãi¤ieihâhÁh‘hZh+gîgpfêf£fpfe£ePe dÖdœddd*céc­cNbËbwbabHb2b+baçaÈaÆbbµc+cbõc2cOcwcÁcõdgdðdádãeUenene­eØeÚeÇeÊe·e£e¨e¨e˜e‹eŒee™e§eµe¶eªe eœe’eŒe…eƒe‡e„eueae?edôdÕdÓeemeìfXfÀg™h_hþiªj3j€jÄjôk4k¥l$lªlÜlël·l¦mm‰mÛmÿn'nDn_nnÃoo…oëpp@pXpdpÂqqqqCqÓr q¼q©rr'r8r>r1r/r,r.r+rrqîqÌq¯q—q”q¡q¸qÕqôrrr#r,r/r/r'rrqéqÎq¯qˆqdq8q pàp¾p™ppp;oüoÂoŽoyoYo$nën®nqn:n mÑm‹mCml¾lƒlHlk×kškck*jùjÅj“j_j'iïi®iyiBi hÜh«hxhJh!gïgÈg¡gtgGgfùfÔf£fbfeÓe†e=dñd¦dadc¿c\bøb›bGbaÊa£azaKa`×`”`P` _Ã_u_*^ä^™^Y^ ]Ð]]W]$\Ø\ž\…\g\E\[é[·[[J[ ZÑZZJZYÀYvY)XÚX’XOXWÕW¦WrW[«\8\Å]]K]p]]§]È^^q^ß_E__¼_Æ_õ`=`P`f``œ`±`Ï`÷a"aGahaa·aÓaãaëaöbb b bbb aüaåaÂa£aa_a1a`Ê`Ž`H_ü_´_n_,^ð^±^h^]µ]T\é\u[÷[}[Z‘ZY¦Y.XÂXcX WºWpW,VèVŸVOUùUžU@TßT‰T:S÷SÁS¦S¢S®SÅSßTTBT–TðUOU²VVYVŽVÄWW^WÑXcXÊYYZ1ZÕ[]\\«]P]ÿ^‘__¦` `“aa¥b8bßc dUdÊe#eveÒfFf¥ggIg·hhBh€hÛi8i„i·iÛiôiúiíiÝiÉiÈi×iãiñjjj+j:jHjYjhjxj‚jŒj‰j‰j„j€jjŽj‰jˆj|joj\jIj7j"jjiòiÔi¼i iˆikiLi$ihÝh²hˆh_h3hgÕg¡gpg>gfÍffVfeée³eŠeIedäd®dud3cócªcpc#báb•blb;baíaÒa²a‘azakahaaaaajaya„a’a²aÓaýb)bYbŠb¶bÚbñccbûbïcc,c_c„cµcëd-dcd‡d dÊdóeeKeye¦eÏeðf f-fSfvfšf¾fçg gBgmg›gÆgìhh9hShlh€hŽh¥h½hßiii)i:i;iLiQiSiHiPiNiQi`Ý`U`gaaˆaazaÙbNaùbb^bdb­c cŠdd‚dåe!eJeze¸eîeµeèfŠf×fëgHfëghg¼gbgtg{fçfff>eñe•edÉddhdddmdud„dd“d–dšdšdŒdwd^dFd6d0d3d;d9d8d/d!d cïcÊc¤c~cXc5cccbþbóbÖb™b@aáa‘a[a7a!`õ`Å`™`z`s`v`{``ˆ`–`³`ÜaaHaŒaÏbbNbŽbäcMc¥cüdYd±e ebe¾ffbf¹ggrg¿gôhh;hjh²iiPiŽiÁiíjj-jAjYjujœjÄjôk$kXk‘kÍll7ldl•lËmm6m]m~m¤mÑnn6ncn†n nµnÌnëo o,oRotoŽoªoÄoÞoúpp0pRpop‰pžp±pÆpØpèpùqqq&q7qFqTqhq|q—q­qÂqÔqåqúrrErirŽr­rÉrãrüss#s/s6s=sFsMsTsYs]s_sbscs\sTsKs;s-sssrõrïrërèràrÖrÉrÀr¶r­r§rŸr–r‹r}rprir[rKr=r1r-r,r+r0r/r1r1r1r.r.r.r)rrrrrr rrr#r-r1r2r9rErSrhr_rHr/rrqìqÎq«qqqqˆq˜q¡q™q‰qtqZq;qpÙpÉpÀp›p•p¹pïqq'pýp¿p›p†p€popgp`p?p'p)p>pTpjpppipGpoéo¿o”omo^oFo*on¾nynNnSn`nTnCn)nmèmËm³m¢m•m„mtmim_m]mQm@m)m lãl¼l’lvlglnlŸl™lvlZl9lkókÍk­k¥kºkÛkèk÷kþkÿkëk»k¬k°k«k²kºk«k‡k‹kËkÜkÁkŸk{kZkKk:kjîj¯jzjCj iÓi…i>i h×h§h„hVgÙg`g'fôf–f#eÂefedÞd¯dvd2cåc‚cb—b\b@b5b4baðaÅa§aÉbGbÂbÆbÉccYùY®YgYXÎX}X6WóW²WvW>WVÕV¥VƒV^V4V UãU½U˜UvU\UMUHUIUIUNUWUgUwU‰U™U®UÏVV?VrVŽV¯VëW2WWÑWþX%XYRYûZ/Z'ZZ3Z„ZÃ[[\\®]]A]^]o]~]]Â^(^¬__N_u_–_Æ``$`D`s`•`¯`Î`ùa!aEafaŒa¹aÌaÙaæaûb bbb$b$b!baòaÌa¨a€a\a0a`Ã`„`;_ë_£_]_ ^â^Ÿ^W^]¥]A\Ò\[[Ü[aZèZvYûY‚Y XžX?WîW WZWVÐV‚V*UÇUfUT TFSîS£SiSGSASRSlS’S¼SûTVTµUUƒUãV.VmVŸVåWgng—gÄgèh h/hDh]hoh|h—h³hÕhõii+i>iRiUi]iXiaidili^iXiLiJi7i?i6i8i6i5iGiKibi[ihiYiZiPi=i.ihñhÒh¬h~hRhgég´g‹g\g+fûf¿fŽfIf eÌe’eDdýdªdXdc¦cVbçbqb a„a`™`?_Ò_Š_3^ð^Ä^–^ˆ^€^b^V^/]Ø^a?fôiÍmÊl³l‡mØnYe‡`De c^u^)\ã`d_IXÖW{VðUÉVVeVYV²V÷W†WÛXYX‚XñYPY–YY—Y°YêZ1Z[[m[Æ\\E\d\”\´\Ð\ì]]"]8]C]M]_]z]­]õ^]^ÿ_-^ö^ã_/_¯`a`­``¨a|b1b’bžb…c-dÓf£gáhÅiÏj·k7kXkek…k‹k#jÛk k5k[knkxk‹kŒk‘k’k™k k³kÚkÎk‘kbknk–k¾kºk°k£k«k«k½kÔkîkíkékékßkÛkàll$lElQl]lil„l“l³lÙlýmmmm5mNmdm…m£mÍmøn'nMnmn•n¯n¾nÒnÿo;oqoooœoÆoóppp#pHp‰pÂpÃpŠpdpúqËrLr‡ržr“rmrQrqÿqúrr'rjrr³r¹rÁr·ršrwrZrKr>rJr`r~r rÎrúss?sQsfspss‡sŽs‹s’s§s»sÏsãsýtt1t?tNtXtbtftrttŽt‘tŒtˆt‡ttštªt½tÓtíuu6uVumu‚uŽu›u©uµuÈuÒuäuóvv"vCvev‡vªvËvåvævávÛvÜvÚvßvßvâvßv×vÑvÏvÐvÌvÉvÅvÄvÁvÄvÄvÃvÃvÁvÁv¿vÂvÃvÀvµv§v—vØvÆv®vvjv?vuÝu´u“uuuVu4utôtÑt£twtFtsþsàs¼s–sis9s r×r¤rhr0qîqªqgq%pãp£p^poÇoxo.nãn•nImüm´mcml·l_lk­kTjõjjFiòi©ijiHi3i4i„içißi hháhµh g’gëhhgêgfúeÛdód}d3cØc~cb¶bnb$aîaÐa†a`ôa¢bkaõa¢bba˜aíb6b†bêcMcÕd]dÎeeOe]eŒeÊeÔeðf´gmvm¤mÈmðn"nWnŒnµnØnðoo!o?o]oƒo©oÍoéoþpp*pKpjpˆp¥p»pÑpäpùqqq q.qkjÓjjmj9jiÍi˜ici*hõh½h‡hThgïg±g€gJgfàf£faf-feÕe‘e:dÞdƒd/cçc™cMbþb bDaêa ada4a`Ð`•`[`_Ü_˜_Q_^½^y^5]ë]—]G]\Á\z\,\[Þ[µ[‡[T[ZßZžZ]ZYÐY„Y7XëX›XHW÷W°WkW/VóV±V{VMV UüUÓU¬UUZU5UTõTßTÎTÇTÊTÐTÙTéUUU0UAUSUrU¯UòVV/VWV§W WQW‰WµX X«YPYäYÿYéZZaZ‹ZÁ[G[æ\‚\ã]"]B]Z]a]d]]ý^…^Û_ _7_i_›_Í``8`o`–`¶`Ùa a5a\a|aa·aÇaØaêbbbb"b+b*b baãaºaaha@a `Ñ`‘`L_þ_°_e_(^ë^ª^`^ ]²]L\Ø\][Þ[eZíZsYòYrXõX†X$WÔWŒWIWV¿VfVU›U0TÇTaTS¥SRSRìRíSS!SRS‚SÐT0T—UUkUÎVVUVVÝW5WËXVXæYÚZ„[[Û\¨]v^5^ø_¦`?`Ñanbb·c„dVdþeueÇf fLfœfÿgsgêhihÑi7i˜i¢ii³iäj!jWjpj}jujzjjˆj™j±jÂjÕkkk1k6k1kDkZk`k\kUkKk>k5k(kkk kjûjëjÞjÄj·jŸjŠjdjIj'j iìiÍi©i‰ici>ihìh¹hˆhVh gïg¹g‰gMg fÍf“fOfeÛe¥eke:edÑd–d[dcëc©cYcb·bnb4aõaÉa—a{a\aWaIaLaMaZagaraa˜a³aÉaóbbDb_b“b¿bâbèbæbÛbÊbËbíc.cqc¬cîd$dSdhd‰d¨d×ee1eYe‚e«eÍeìf f&fFfkf“fÃfìggLgvg£gÈgèhh*h=hUh]hvh“h´hãiii;iMi]i]idihioiqiuiiieiXiRiLiIiKiLiXiWioieiyikivigiiiLi8i"hûhÜh§h}hFhgÛg²g~g^gfëf­fuf4eõe³eled¹ded c¸cEbØbpaîap`ó`y` _œ_M_^¿^o^V^P^ ^0]±]º^Ã`*dÓhdlµr‡rŸpQm1i’a®`%`1Z„ZXXºaØ\‹XwV›VöWV¹VVµW:WºX:XXÿYDYµYãYüYðZZNZqZº[[š\\S\Œ\¦\â]]]4]K]^]m]z]•]¥]µ]û^>^›^^·^÷_R_œ``ÌaMa aaübÆc+bäccöe7f®gåhºiÍj°k&kœkok™knjïjñk,kSk|k’k·kÅkÏkÜkãkãkël'lkðkÖkÃkÒll!l)l'l-l1l3l:lJl]ldljlilplolŒl l¾l¹lÆlÙlólþmmDmompmom…m¦m¹mÌmônn:nanŽn¸nÕnÿool?lBl7l"l]lŽl‰lelb¸bVb)bbbaøaõa÷aùb b(bnb©b¡bºbëbécc7c‰cÑc÷dTdŸdÅdøe6e\ecese•e¬eµe³e·eÂeÓeòfff ffffffff feíeâeØeéeüff-fbf›fÑggog¹h$h™hái@iÓjbjúkll´mmGmTmrm¸månnnn+nfn·oo2o}oùp€pÒpêpýq0qxqãrYržr¸ròssQrâr±rêrérÄrÑrÛrârÕrÄr±r˜r|rfrQrGrErNrgr‹r¨rÁrÕràrÞrÖrÃr®r’rxr_rIr,r qéq½q‹qTq*püpÈppqp:oøoºowonÌn“nfn$mÚm“m`mlÜl™l]l këk¹k|kDkjàj­jyjCjiÝi©iti[ ZËZ‹ZLZ YÂYwY'XÒX‡X]G]O]i]¸^+^^¸^í_ _f_ª_ò`1`\`„`·`ãaa7aWaya”a¦aºaÐaåaùbbbb$b'bbaæa¸aaea9a`Ê`‡`?_õ_¨___#^ã^ ^V^]«]?\Ç\M[×[dZèZfYßYTXÓXeXWµWvW7VôV¦VEUàUoTüTT'SÄSdS RÂRžR™R¯RÖS SIS SÿTmTÛUFU©UñV*VpV¼W&WµXTY#ZZ­[H\\í]°^x_R`*`öaªbCbâc›d‚eOeÇff5fmfºgg‹hhˆiikiªiÝiàiÚiåj jCjojœj¼jÀjÍjØjíkk&k0k>kpk˜k¨k°k½kÀk¿k»k²k¤k—kˆk~ktkck]kWkRkLkbZb~b—bÁb×bÞbÒbÉb²b¼bëc6ccÄdd5dUdod‡d«dÖee.e\e‚e¬eÆeçeûff@fiffºfèggDglg›g½gßhhh%h5hGheh†h°hÞii i6iKi[ihijipioi{i†i€iwijigiaiViZi_ieilirixiqi‚iri‚iii^i@i'ih×h§hkh?hgãg­ggEgfÏf¡f[f.eãe™e9dÞd€d%cÉcUbýbpaüa`û`y_ó_‘_+^Ü^…^P^^ ]æ]¿]]h^þ_öd™j,lwq{t\n¥k|iµa,\~\~XæXïW_XÞcÌ]/Y¡W WŸW™WV—VàW–WòX„XÛYaYYèZZZZYZZ£ZÐZû[@[­\\o\©\Ý]]?]V]j]|]‡]”]°]É]×]î^$^(^K^N^œ_ _Ž``h`Ôayakadb b¼c$cc_dEe eòf®gh»i®jjêjjlj×jÂjék,kbk…k¯kÖkõlll$l4l9ldlklel\lJl?lSllœl¬l¶lÀl¼l·l³lËlÜlålål÷lÿmmm1m:mImVmnmymm¤m»mÄmÒmõnn&n;ngnˆnnÁnîo$oGopo˜oÉoäppp2p#oÿpp=pƒp p¤p‘pp¦pÔpôq q7q‹qàrr0rJrcrjrhrEqóqÚrr}rÓs&sJsTswvæv¯v€v^vFv&vuÞu¹u“ulu@utëtÍt­ttit;tsàs·ssds4rÿrÅrˆrHrqÇq…q>pöp¥pZpoÈoo?nÿn·ninmÄmlmlÏll.kÛkˆkrPrnrŒr¥rÀráss#sBs[svsŠs™s¤sªs³s½sÊsÔsÝsåsësísêsêsæsâsÚsÑsÈs¸s¦s™s“ss‡ss{sssfs\sRsGsj#iýiÜi±iˆiVi"hêh°h~hDhgÞg§g_gfÛf—fQfeÍe’eVedÜddhd9cýc¸cicb¾blb$aèa¶a“araZaEa:a-a.a0aBaHa_ataŽa­aább?babubšbµbÐbÎbÎb´b®bÄccKc›cáddLdjddd­d×dÿe/eWe‡e¤eÃeÜeþffCfaf‹fµfàgg=gag†g¨gÊgïgûh hh6hZh‚h®hÝiii/iHi\ifigioiui‰iiiƒi|isiqiniiioigioisi{i}i†i†i}iziYiQi!ihÌhœhgh.hgÕg­gpg@gfÒfˆfafeÍeie d§dKcæc€cbba„a`€_ô_|_^À^c^]Á]Ê]¡]K\ä]`5b2g,lÃjulêp&k hNh5b¢[PYÐY%WäVÀY’e ]²[ØY;WfW§VÂV¢WTWÌX]XÚY&Y±YüZCZdZ¦ZÂZéZó[6[D[ƒ[Ë\+\\Ä]]I]t]‰]›]¡]¦]³]Ö]ð^ ^^5^'^D^|^¼^ý_c_ß`,`X`ëa3abb“bûcCc¥d)dÄeCeffòh iºihñigj!j}jãk$khk•kÎkòll&lGlYltlzlŠl¦lÁlÊl»l°l©lÄlèmm'mrOrcrzrŽr¥rºrÔríss3sTsrsŠsžsªs·sÁsÈsÒs×sâsìsøtt tttttsýs÷sósçsÙsÐsÅs»s¸s­s£sœs‘s‰ssssgs]sRsJsFs>s7s0s(sssrþròrärØrÎrÅr¹r­r¤r›r•r‘rrrrŽrrŽrŽr”r¥r¾rÏrçsss*s-s+sssrêrÃr¢rˆryror^rBrqíqÎq¾qªq“q”qq€qCqqq+qoq¦qµq¸q­qŽqvq`q5qq$qq pûpópûqpûpæpÃp•phpVpGp1pp oöoÞo»o•opoHo*o nÞnÂnÂn´n¬n™nyn]nDn>nKnXnYnLn;n#nmäm¾mœm„mpm^mMm:m lþlÕl±l‘lrlTl:l4lSl‚llËlêlÞlÏl½l»l³lšl¢l»l»l¬l¦l—l“lšl‘l{lRl)l këkÆkŠkEkjÏj–jbj6iìiŽi&hØh»h{hg´gLgfÈf…f8eée°ewdódMc®bþbpb*bbaóaÓaacaKaqaÇb'bib‹b§bŽbsb”bµbßc8c”cÚddNd“dÌdöe eYe†e§eÀeÔeâeõff4fZfkfffffkfoftfwfzfxfqfff`fUfmf’fºfègg3gDg^g‡gÒh'h€hóihi¸j jpjçk_kõl‰l÷m5mam§mçnnn6nMn•nüoqo­oÔppep»póq4q>qZqžq²qÛrfsMsÉsòtsÚs s“sGs7sKs[sasWsWsIs6srðrÓrÆr½rÃrÑrãrõrýss ss rûrærÒr¼r©r•r}rbr=rqâq³qrq6qpìp¯pqp/oâo‚o=onÏntn-mðm¨mZlúl½l…lIl"kïk¸k€k@k jÜj°jjJjißi³iiPih×hŽhKh gÄg|gCgf¸f…fMeþe•edÐd±d¬d‰dtSthtztŽt¦tÁtÖtátçtètètåtåtætêtòuu u@ulu•uÄuëv vv&v*v.v+v,v3v8vHvTviv…v¢v¾vÚvñww/wIwcwvw†w‘w—w–w“w‘w˜w¤w°wÁwÏwÚwÝwÙwÖwÓwÒwÖwÞwæwówûxwûwöwçx,xx wîw¾w‰wUw+w vïvÎv¨v‚v[v0vuãuºu™uxu\ujüjÀj†j`j@ióiÕi@hRgýhUh hah.hEg]feeæe|dþdÅd´d(cµc—c”c¡c±dd5d…e0dôd!bÒaçaŠaa/aÙbXbäc[cÛdrdÓee„ffÖgfg’hÃi¤hÆhLhMh˜hGh5h™iiki|hÛh'g•fàfebdÿdÚdÚdÚdÜdñeeee,e6e6e3e0e'ee dödãdÚd×dÞdædídìdædÌd¯dded6dcþcôcïcòcõcôcëcÉc€c.bçbÄbÁb»b´bšbibTbKb;b4b>b\bwbžbÂbëccVc¡cüdPd¡e e‘eófDf™fèg;g‘hhih±hÛhýi&iWiiÍjjJj”jÊjòkkAkek‰kªkÌkíll:lbllÁmm^m’mÁmòn'ngn°nôo.o`o”oÀoçp p+pKpfppšp·pÖpñq qq6qOqkq‰qžq®q½qÎqÜqéqôrr rr!r,r9rJrarsrƒr™r®rÃrÛrísss9s]s{s˜s­s¿sÎsØsÞsäsèsêsótttt&t-t1t3t0t*t$ttt sÿsósësäsÜsÓsÍsÅs½s²s¨s›ss…ssxsuspsfs^sVsKs?s3s*s!ssrúrírÝrÎrÅr·r°r©r¡r rržr¡r¦r©r°rÃrÝrôss5sIsVsZsQs@s7s5s*srôrÚrÆr³r§r–rgr"qìqÛqÒq»q¨q•q¬q©q‹qq‰qÂqëqßqÑqÓq´qŠqjqUqLqKqFqDq9q.q4q`]`~`³`ìaa,a2aPara…a—a£a¬a½a×aèaðaóañaåaÊa¥azaRa+`õ`¼`w`5_ð_¯_p_9^ÿ^¾^x^*]Î]e]\£\0[¬[#ZŽYôY\XÌXKWáWšWhW+VâV‹V'U¸UGTÊTNSÐSURÝRsR!QñQéR RFR’RåSFS¬T T–UUSUšUúVpVêWsX+YYñZ¤[i\J]]ê^§_r`4`Þaºb¤cœd”exf6f fñg>g¤h2h¼i(iiºi¿iéj%jEjEj?jHjpjºjùkkIk˜kÕkûllDlglsl}lŽl›l¡l l¥l±l³l²lµl®l¡l˜l‡lltljlblZlMlEl4l&llkíkÓk¼k¢kkokSk/k jßj»j—jkj?jiÌiŒiQi h×hœhjh'gâg¡g]gfÕf”fMf eÄe…eAed¾d|d7cüc¶cfc b³bvb6aþaÄa£aŽa^a>a1a*a(a+a1aBaKaQaTakaŠaºaèb$bNbubb©b·b¼b´b¬bÈbøc;cƒcãd'dkd‘d­dµdÉdÞdþee:eTeree±eÐeðff:fYf‰f­fÕfýg"gBghg‰g£g¸gÇgäg÷hh@hxh hÎhèii'iEiNi^iZikiyi“iŸi¥i£i›i‘iˆi}iuixiuii‚ii‡i™iƒi‹ilici:ihåh¨h{hAh gãg¹g€gPgfãf®fxf*eÄemd÷d§d*cÎcHbÛb>aÊa`œ` _x_^m^4]¬]o\‡\}\X\½_Acxk;pxi'gakg¿a^` dÑ_N_]afYƒWú[€YÞXâ[WœVCWpVâW£XXÅYY…YöZBZ¢ZÝ[[0[Q[w[ž[¿[é\ \<\†\¾] ]L]]³]Ê]ß]å]ö]û^$^F^[^a^h^^«^Õ__V_´``E`{`º`ÖaRb bböcGcwc¨cädQeeãgihµh(h}i i¢j.j©jÿkjk°ll9l_lrlŠlŸlÀlßmm%mGmrmm}mmm™m¹mènn.n9n6n.n*n-nAnPnfnn•n©n¹nÇnÓnènônÿoo1oCo\o\obo^oeoˆo²oÆoÖoïppEp|p´páqq&q@qWqdqmqwq•q´qqYq;q8qiq—q¬q·qÐqÝqÓqÐqÊqàqërr+rar~r¤rÍrõss*s(ssssrîrÔrÙss sssss(sCs[s{s›s¿sàtttt!t+t6tCtNt`tut~t”t¯tÉtãtòtøtùtùtútýuuuuu*uHuoušuÇuövv7vCvHvFvDv=vCvHvWvnv…v v¼vÖvëwww1wMwlw…wžw®wºw¿w½w¾wÄwÔwâwõxxxxxxxxx"x,x:xBxFxBxYpYÒZIZ×[Z[È\\s\»\þ],]`]˜]Þ^(^m^¯^ì_J_«_ù`.`Y`t`Ÿ`Ýaaaa>aZalazaxa}aša¾aÓaÞaâaâaÖaÀaaxaSa.`ý`Ä`„`A_ü_Á_ˆ_R_^Ö^^F]ð]Ž]3\Ð\Y[Ó[BZ®ZYƒXíXbWõW«WtW6VìV‘V1UÃUSTÔTPSËSIRÇRURQÒQÍQîR*R|RÓS5S TTTöULU¬VVšW8WàX¶Y˜Z`[[Ü\¼]£^z_,_é`„`úa¹b«cÎdÿeÛfpfÞg>g–gûhˆi i_i³iñj)jLj^jijfjtj jæk)k\k‘kÃkÿl8l\l…lªlÄl×lélõlülölömmmmmlÿlülñlçlàlÕlÎlÃl¶l©lžll‚lol[lFl0llkókÕkºk•kvkMk*kjÕjŸjaj&iài iZiháhªhahgÙg•gLg fÌf‚f?eüe´esewYwww•wµwÎwÝwéwíwðwówÿx x x5xBxJxLxExExJxPx[xixwx€x„x‡xƒxx½x·x©xxkx0w÷wÇw¨wŒwnwLw)vÿvÚv²v‡vbv=vuüuÚu°u}uMu tÿtëtÕt¹t‘tet/sûs»s{sqZqsqˆq¢qÁqÙqïrrr+r8rErSr`rlrsr|r†r’rœr¬rÀrÒrærüss!s6sFsSses~s—s¶sÔsêsüttt t%t(t&t%t't1t;tEtPtYtdtmtstrtktct[tOtBt3t)t"ttttt ts÷sêsâsÛsÔsÑsÐsÊsÃs¼s³s©sžss„s{sssjs\sIs4s#s rýrèrÚrÕrÏrÈrÅrÂrÊrÕrßrõssCseszs‹s›s™ssszsƒsŽs…spsZsg]gwg•g¨gÆgçhh8hhhŽh¹h×iii,i5iBiHi\iniŒi’i™i™i™i“iiŠi‰iiŽi”i–i—i–i—i‹i…iciQihôh©h‰hFhgßg³g}gAgfêf²flfe±e[dîddc©c&b–baj`¹`3_¦^ø^o]ù]˜]Ž\Å\ð]&_Cd/eÆi‹k f9f h>cô_´\t_¯j_g_p`YÇVpU[TÊV3X}WV•WWXXöYðZ'ZVZuZé[[J[[œ[È[æ\\&\Q\d\”\½\þ]:]ˆ]°]ç^-^R^R^8^W^y^œ^»^Ñ^ö_(_W_¯`P`s`y`©`óa'`Ð`‰a7b–cacibÅbÕcÄdgdãeìgShúiqh¦hUhŸii•jjyjðkZkÝl9lzl’l°lÆlêm m4mVmum”mÏn(n%n8nBncnun•n¬nÝoo"ooo o ooo5oCo[ofowowo†oo´oÇoâoøppp&p2p0pDpbppp~p‰p¥pÎpÿq#qIqqqœqÈqòrrrr rnòn£nUnm²mnm/læl˜lPlk³kgkj¹j¯j_i‘i–iÏiŒi™iáiÙiyi(hêhIgNfreÏeueWeeçeîee¼f¬fwee&d®dmdc b€b¥c7cÊcñd;d·dþe>e‘ffugqiçkjKi@iÒk]jfj¿jÛjhj}j¶jJiphugÄgYfífleóeˆe?ee dþeee#e+e:e6e4e+e5e;eCe>e4e%eeeeee e%e#eedîdÒd¨dƒdbdSdTdhdvddkd\dMdcÝcÐc°cyc8c#c!c$c%c!cc%c8cScwc™cÃcöd)dmdÙe\e·eìf:f£ggrg»hhzhüiri¤iºiêj'jfj¡jãk)kfkškÀkãll(lElflŽl¾lòmmGmzm­mçnnSnŒnÀnöo;o€o½oòp)pUp€p§pÎpòqq3qPqhq}q•q±qÐqìrr r4rErTrdrrr}rŠr“rŸr¨r´r¿rÍrÙrërýss&s7sLs\sls}ss£s¹sÑsìttt,t6th{h®hôi2imi¼j8j­kkIkˆkïl{lìmm&mymmÑn%nSnjn¡o)o¤p!p{pºpñq2qq¸qÐqùrr*r rqþrtuAuttHttt tt-tEtbtst‚tt€twthtNt9t!t sþsüs÷sõsîsæsØsÈs¸s¨s†s]s/srór¹r¯r›rlr6qöq½q{q;pép”pbp*oéoªofo(nßn’nEmôm¤mWm lÀlyl2këk¦klk1jõj»j‚jCjiÀiˆibi,hñh¯hph3gûgÃg‹gLgfÑfŒf?eçeŽe6dÝdxcúclc bóbðb¸bTaëaq`ü`¼`†`D_ð_š_H^û^µ^a^]ç]Ï]Å]ª]{]G]\Ô\‡\2[Ü[Š[6ZäZŽZ8YäY”Y@XèXX1WÑWtWV¶VUUòU‘U5TÜT~T)SÕS|S,RéR¤RqRJR#QúQÙQ»Q¥QšQ’Q‹Q~QoQqQ€Q QÓRRXR˜RØS S-S1SmPmem]mKmemŽm‚mjmNm*m læl·l…lnlglblWl5lkäk¼kžkpk7kjçjªjKiÙiti"hÄhVgÞgkfófyf7fCfSfe¬edsdc®cFccc(bîbžbYb aÏa¤a|aia|a½b b9bPbGbYb¢bÕcchcÌd ded½dùe9e‡eÜf(fkff»fÖfèfñfúfûg gg/g8gNgzg«gËgËg«gŒg¦gÃgÖgûhhSh©hÊiiti¸jjhjÍkk[k™kìlXl¼m mCm†mŒmÑn)nXnƒnÔoVo½pCp©qqGqnq£qÆqãrr,rsrtr,rWrÜsàu>u#tqt*tt.t,tAtZt{t›t¸tÍtÔtÜtÞtÒt¸t›tƒtutgt[tNtIthâlÌn–oi¥eÏhÀ` YÞVŠX^_Â]—ZÄZvV3TœU#UmUÙVVMV»WŽW»Y[¾\«[ZÁ[[ƒ[Ð\\\$\2\b\r\Š\’\ž\Ÿ\®\ñ]F]‡]Ç^^K^k^f^|^†^°^â__V_t_˜_¥_¿_ë_Ù_ø`K`”a `êaaÛb8bŒb¢brbþc7cPc¼cõedgvgÓhhshÍiEi¨j jŒkk“llll¦lÎlõmm3mZm„m³mØnnVn§nÀnÚnëoo*oMo]oxo§oåoòoîoõoöoùoýpoüoýoùppp1pIpaprp†p˜p­p¶pÁpºpÇpÝpùqqqq(qAqVqiq~q›qÒrr)rDr[rxr‚ržrºrërðrérÐr²r‘r—r¨r¬r³r¿rÛrírússsrýssssss9s?s2ssrùsss's2sJshsns[s[s^sVsns™s¸sÆsËsßsóttt,tEt]twt–t°tÂtÏtÓtÞtít÷tûuu uu&u7u>uCuFuMuWuhu‰u±uèvv@vTvfvtvƒv†vˆv‰v’v¨vÁvâww#w?wYwowˆw£w¼w×wòxx7xQxaxmxtxxxxŠx›x¨x²x·x¿xÃxËxÖxåxòxÿy yy y)yayiydySy0yxÏx¥x‚xjxMx/xwòwØw¶wŒw^w4w väv·vŠvWv#uýuÝuÌu½u®u—uuuHutÏt‘tStsÑs‹sJs rËrˆrGrqÂq‚q;põp¤pUpo¶oho nÒn†nBmþmºmnm%lÓlŠlCl k¿kYk/kjèk1klkXk(kDklKlVlRl9lkôkÀk˜kqkFkjôjÈjyji¾icih—h%g«g.f³fbfYf]f.eÒeTdÌd_dc¶cLc$c2cbäbµbYbaÏaa`ataÙbCbgbobGbEb~bb¹cc•d djdºdëe!emeÑf-fnf«f×fìfòfîfñfügg;gNgWgeg‰gßhJhZhgÔgÛgúhh`m`”`·`Í`Ú`å`ã`éaaa*a>aRama„a”a¡a¤aa’a„apaXa3a`Í`—`_`0_ú_É_Ž_J_ ^Ã^}^2]Û]m\ï\d[Ö[>Z¥ZY{XíXsXW´WdWVÂVpVU²UATÁT4S™SRsQüQ¹QµQÞR!RyRÞS\SåTuTýUvUþVœW?WôXÍYºZÅ[Ö\Ù]Ä^†_H`2aaÛbzc cÁd•eXeúfgLgîhRh¶i)iliiõjMj¥jòk4kjk®kòll7lallÂlûm1mem—mÓnn(nAnTnXnZnXn[n_nenknvn€n‚n€n}nunknanTnKn;n+nnnmûmæmÔmÀm¦m‘m€mimNm4mlöl×l±lˆlSlkÝk›kXkjÌj„j>iøi³iqi5hÿhãhÍh‰h7gëg¥g]g fÃfxf%eÜe­e†ere8dâdŠdRdcçcÀcšcacbìb¹b˜bvbcbDb+baùaãaÏa¸a¨a™a¦aÌaàaòaøbb4bHbPb_bvbbÅbócc;c_c¥dd[dŒd¼dådèdád×dÓdéee0eQeye”eªe¼eÖeëff"f?f`f„f§fÆfêg g4gNgsg’gºgèhhFhhh’h²hÊhÞhïiii/ij±k7k¸l1l‰lÁlòmm9mZmˆm²månnTnŸnæoo,oMogo„o¢oºoÐoïp-pMpVp\pfplpspuptplpfpfpqp†p›p´pÇpÙpèqqqqq'q,qgFg$fÐf¾fÐfågGgÍgÁg|gTg$f{fff¡gg’gúhZh´i imiÐjj;j€jØk+krk´kól0ljl²lèmm2mMm[memm¢m¾månnHn~n¹ooIoŠoÄoöp/ppp°pãq q;qbq‹q²qÕqórr-rArTrnrˆrŸr·rÍrárðssss(s3s;sDsKsUs\sfsrss‹sœs­s¾sÓsésüt tt/tCtTtetvt‡t˜t t tštŽttltct_t^t^t^t^t^tatgtktltrtutttrtotitat\tYtWtVtStRtOtJtCt=t2t)t"tttttts÷sñsêsçsÞsÓsÊsÀs¯s¡s‘sxs_sMsFsHsPsRsQsOsOsXsis„s¡s·sÐsésûtt tt+t'tsýsãsÌs¶s¡s‹sts^sGs7s/s%sròråss0s*srôrÄr™r‹r†rrwrhrLr3rrrr'r3r rqòqÕq¹q’q|qdqPq?q&qpüpêpâpÝpÏp½p¨ppvpTpoÜoÎoÅo¥oo‰ovocoZoOoFoFoSo\oVoGo0onän²nnrn_nZn]nTn?nmàm²m™mƒm\m-lýlÛlÑlõm%mDmTm_m|m—m¦m¬m’momXmHm,lõl§lRl"l$l:l?l(lkøkÏk¢knkGkjòjÇjŒjIiîi‰i+hÃhKgÉgOfâf’fufnfOfeŸe1dÅdfdc¡cCcc cbîbb'aòa¶a{asa±bb-b+baübCbkbˆbØc\cîdXd¤dáe!ejeÐf7f|fµfäggfîgg"gFgtgzgsg{g»hhÜh¤hbh!hhhAhxhÆhÞhãiigiºj&jj¡jÙkkVkªlldl°lýmXm¦mùnFnnnœnÐo$op&pžpöqOq•qÝqÿr,rrÎrtrHrzrqrýtt¼u u1utÊt€tktlt†t©tâuu*u:uZuruˆu†uuu]u=u)uu tôtêtÛtÍt­tthtHtsãsÃs¡s~s_sn*nmýmîmÛmÃm¬mŒmlmGm+mlÓlŸlel)kçk¦kakjÑj‘jCiþi¸iiYi;i1ih´h]hg¾gog#fãffVf$eþeôe«eFdôd¾d’ddd-cùcÉc¥cŒc[c6cbòbÎb²b™b|bZb=ba÷aÓa½a¹aÇaÍaÉaßaübbb'b:bmbb´bÞbýcc>c¡d ddd¡dÙdãdádÝd×dÔdíe e7e[epe‡e‹eše§eÅeÛfffDfeff²fÑfÿgg`I` `#`T`‚`}`®`æaaJa­bb{bôchcÁc¬cúdfefBgcg÷h„h÷itièjjjèkekÞlDl›lÙmm8m`mzm²mÛn nEn“næooFoloo¯oÒoîp p%pEppp’p«p±pÄpÏpÝpàpçpßpÛpÖpÚpçpöq qq5qBq[qgqvquq~qqˆq€q†qqšq¬q¿qÓqäqúr r0rGrprr¤r³rÄrÑrärûss rürïrærärîrüss2sLscss”sŸss•s”s’s™s£s¢s¡s¢s”s†szsps`sEs?sBsRshs~sŒssvsyssŒs§s×tt#t7tFtXthtrt{tˆt–t¥t´t²t¹t¿tÑtãtúuuu(u3u:uCuPuSuSuVufuƒu®uÚv v)v@vTvcvnvyv„v’v¤vºvÖvõwwi hähªhsh-gìg³gjg=füfÒfœfaf,eÖe¢e5dëdydcbëb?a`é`B_«^Â^7][è[‰\]¦a\h?móprŒcy]ˆ_Z˜W&ViWÉ[ûZ4X£V¯UªVzVFU©UØUòVWeXUZT]W]@[©ZîZÃ['[˜[û\Y\É\ì]]]\å\ý\á\ì\é]])]h]¹]å^$^A^g^–^Ø_ __º`1`{`j`s``L`H`e`„`ÕaQamaka¬bbibñcÄdYdŠdLdcdÓe f‚gZhh˜ii”jjœkkŽll^l¶lñm-mSm|m¡mÑnn5ntnÍo&oSo~o§o×oûpp9p[pyp˜p¸pÎpçpùqqq+q2q>qAqBq>q@qGqLqaqpqŠq›q°q¹qÈqÌqÕqÙqàqßqâqäqêqørrrr&r,rFr\r{r”r¨r¸rÄrÕrês ssssssss/sMsesxs‰s¤s»sÇsÆsÂsÁsÅsÖsësísæsásásßsÐs¿sœsvs`sYs^sesnsmsisxs‚s‰sŠs—s®sÛttt2tDt]tjtuttt—tžtštštt¨tÉtátöu uu(u5u>uKuPuLuQuZuou•u¾uévv&vsRs`smsxssŒs•ss¢s§s­s°s¹sÁsÇsÓsÝsçs÷tt!t1t?tNt]tltyt…ttšt¡t¤t¡t™tˆtzthtZtStEt6t0t0t6t;t;t6t-t#tttt"t't/t5tRÝR„R-Q×QƒQ6PîP«PnP;P OÜO­OƒOWO7OOO1OkO¤OÒOòPPPXP©PýQSQªQöR RQûR&R~RýSkSÞT]TèUÿW.WçXNX]XXXZX§XõYVYÊZEZÀ[,[†[à\B\–\å]F]³^ ^[^¢^ê_,_g_¢_Ù``B`f`Š`©`¿`È`Ï`Þ`õaa"a4aBaPa^aoaxa~a€a~asa`aAa`÷`Ñ`¨`z`I`_Ú_™_V_^Û^”^>]Ý]o\ë\[[Â[(Z€YÒY(XŽXW¾WxW=WVËVŒV?UéU‹UT¦T*S«S1RÕR¥R©RæS-S©TWU U£V$V¢W/WòXØYµZ¯[¶\Í]ä^º_€`daOb bÊcdIeeËfŠg'g¬hh¬iVièj/jMjVj_j…jÚkZkÊl%lslØm5m€mÁmùn.ngnžnÊn÷oo:oRo^ogonotozo€oŠo•oŸo¡oŸo›o‘o‡oouoqomogoboYoKo>o*oonénÓn¿n¬n™n„nfnFnmùmÖm±m…mWmlàl¤lel(käk¢k^kjÜj’jEjiíiÍi¦itiBhûhŸhShgÓg‹gEgféfËf½f‹f9eõe¯efedÂd¡džd™dyd^d5dcôcÔc¸c•cvcTc4c bábªbwbCbaîaëaäaÐaÒaÔaÒaæbb3bRbabŠb¾bèc cSc£cød>dadˆdœd¬d©d¿dÉdæee#e0e1e5e1e@eVe|e˜eÃeèffihêh¶h‚hBhgÁg|gHgfåf f}f1eùe¬eYed‘dEc¤c/btaßa`Š_Í_P^y]|\Ã[£\_]_¾_è`'`e``¤`°`t`]`v`¼a_aÝaÉa©b*bÖc>cÜdïeMedØdçeNf-fëgŠh+h¯i3i¼jNjÏkGk²l!lylÎmmKmxmŸmÆmñn)nan°ooWoƒo«oÕpp+pTp|pŸpÃpáp÷q q$q3qEqRqdqwq‡qq“q–q•q™qšq§q¶qÎqâq÷rrrr&r+r1r8r;rDrErLrPrVrUr[r]rdrzrŒr¡r³rÆrÒrårùss!s's(s s s's8sQskszs‘sžs²sÇsÑsÐsÊsËsàsÿtt/t.t!t ttsùsÕs¯sŠswsfs]s[s^s\s^scsisws’s¨sÃsÜsîttt+t9tLtXtgtntzt…tˆt„t‚tœt¼t×téuuu!u.u8u@u=usüs»s}s;rõr«r^r q»qnq pÕp‹p@o÷o¬o`on¾ngnm·mXm lÎl°lÂlämmFm#lÈlMk¼k(jŒj‰jŸjZji˜iXivi–i¦iÇj[jŸjHiêi•i«iÝj]j×jŠiÿi©iliGiYiJh¥hg|gVgÛh!iDjvlmlÖm8m2l”l kDjIi­i8hÌh`h gÚg›g]gfÅfrfe¸e\düd¼d d…dsdsdŽd«dÒdöee'e5e@eKeTeYe^eeeqeeŒe–eœe­eÃeÃe©eeOedúd×dÀd²d¯d­d dŠdtdkdsdƒd‹d‹d|d[d6d.d^d†ddšd«dÅdõeCe¦f fbf©fåg,g{gÏh.h•hôiNi³jjpj¹k kfk»l lUlžlãm(mjm§mânnDn`nknjncncnzn˜n·nØoo+oco±ppvp¥pØqq>q‹qÎrr.rXrwr˜r¶rÅrßrûss)sDs^sos~sˆs˜s¤s®s¼sÅsÍsÔsÖs×sÞsäsésòsútt tt(t7tDtUtetrt€t‡tt˜tœtžtt—tt…t{tmt_tQt>t)ttt tsÿttsûsîsåsåsís÷tt ttt&t-t3t6t5t1t)t%ttsþsðsãsÕsÍsÂs·s³s±s´s¸s´s¯s©s s–sŠsxsesPs8s-s.s9sHsWsbsgsas^sesqss¾sñtt*t6tlôl­lil%kâkœkUkjÇjxj(iØiŠi7håh’hCg÷g©gZgf±fRe÷e”e8dÓdEcõcÂctcbÂbmb aŸa0`Ü`’`K` _Ã_}_*^Ô^x^]À]i]\Ò\–\]\.\[ô[Û[§[k[.ZôZ²ZmZYÈYtY#XÎXzX$WÌWqWV²VGUÒUSTÍTKSÕSdRþR¡RHQôQ¦QWQ P»PrP6POÒOŸOiO5ONÖN´NªN·NæO*OhO˜OºOÛPPVP¯QQIQŠQ¥Q«Q¨QÐRRySSˆT TU°VÕW‰WøX WóWãX!XnX¿Y*Y¡ZZ›[ [i[¾\\p\Ã]-]Š]Ó^"^k^¶^ú_:_w_ª_á``N`s`–`¯`º`Ã`Ò`å`ûaa&a5a?aMa^ajauaxa{auafaJa*a `è`Å`˜`e`2_ú_¹_u_8^ü^¶^c^]—]\[õ[YZ³ZYTX¬X'WÉW†WWW)VøVÃV…V:UèU‡U%TºTDSÚSŠSbSoS©T TœU'UºVfVûWˆX4XîY¶Z[\}]y^•_†`Waaúb²cVcùd­eqf9fÚgYgÛhvi1iËjWjjŽj…j„jÁk7k³llqlÕmGmªmúnAnƒnÂnùo&oSo{o›o²o¿oÆoÎoÓoÕo×oÛoÝoëoúpoÿoòoìoáoÛoÖoÚoÑoÎoÃo³o¥o’o‚onoZo>o*o nönÝnÃn¨nnYn2nmîmÃmmYm"lælªlrl8kòk¹k€kAj÷j£jcj'iòiºiŒiZi*hñh«hWh gÂgwgOg/g!ggfÎf…fe»eee5e!ee dôdÛd´d™dƒd\d.d cçcÌc®c†cZc"bêb°b}bOb%aôa×aÊaÑaÑaÜaôbb b6bJbxb½bßc cKc—cædd*dAdWdfd„d•dªdÀdãdúeedþdþee3eYe‡e¥eÝff3fPfufŠf°fÚg g4gRgpg‡gµgÖhh0h_hthh¤h¾hÜhôii"iBiWiqiyi|iyi„ii›i˜i˜iŒiihiCi"h÷hÌhhXhgÓg•gPgfëf¯fŠf?feÃe…e.d¿dpcÌcvb§b)aK`Ý`_Ÿ^Ë^8]T[-[_[îbkpVngj«aÁ`anZpVˆTõUYÈ[>X#V©WñZ)XÇV¾V1VNWÕXYZ.]û^:\_[Ÿ[A[[\[\ \Š]]R]]h]s]T]^]Z]|]¤]Ý]ñ^^/^U^]^H^q^º_+___é`-`5`U`¾`¤`‹`y`y`¤aaaÅaóbb¶crcÙdt)t sçsºsœs}sgsPsEs=sj&iÜjiŸi3i i7j«kÃmbmzmÁnm³lÜkïjÏji iHh÷hˆh-gòg¸grgfÑf‚f0eØe‡e#dÒd dtdHd8dTd}d¯dÚdùe ee.e@eQecereeˆee–eœe¥e·eÈeÁeŸeqe8edØd³d™dd•dŸd™dŒd|dsdwd€dŽd™d›d‘dzdnd˜dÀdÃdÉdÜdûe$ege¼ffƒfæg4gqg³gþhTh´iixiÚjAj jîkAk—kèl8l‚lÉmm^m¦mín*n^nŠn¥nµn¸n¾nÁnÏnãnúo o+o\oŽoÆppŒpÒq q>q|q¯qär&rZr}r€rrÔrësss2sUsksƒs”sŸs¨s¹sÅsÒsâsðsùtt t tttt#t+t2t9t?tMtYtctst‚t‰t’t—tšt¢t¦t¦t£tšt‘ttƒtttkt^tOt=t(tsôsØs¼s°s¹s¼s¶s¬s¥s¨s¸sÉsØsèsòsÿt tttttt tsùsësÝsÑsÆs¼s«s™s‘ssssss‹s…sswsgsUsDs/sssss%s,srqåq´q~qRq=q+qqpöpèpãpÞpÜpÚpÙp×pÐp¸p‘pfp@p!poñoÒo»o²o¨oŸožo o¥o¥ožo‡oao/nònÀn™n~nunrnbnKn3nmñmÐm³m–m{mVm+mlþmmm:mkm’m¯m«m§m m„momYm8mlíl³lkl+lkþkëk¼k{kSkBk'jüjÆj„j;iúiÀiiKhôh¢hQgûg•g7fôfÁffmfWf.eðe¦eYdùd«dsdEd cËc‡cTc&bÍbYaùa¹a‡a‚aza‹a¶a¿aÂaébFb®c`ddGdsdÇee„eêf@f‘fÑføfòf÷ggEg¡gŸglgøižiµiFhþhçhÜhÔhÚhÍhýiUi€i‰i«iïjXjÖk k.kLk¡kðlllsm!m§nnbn²ooOopoºppQpÇpêpÜqqSq¤r+ršr;rrqûr;rŒr½résút|tÛutÀt£t˜t’t½tîuu9uVuuºußuñuòuîuîuèuæuãußuÙuÖuÈu·u u}uOu"tótÀt“tat3tsÚs®sƒsPsrär«rqr6qôqµqvq8pñp¥p\p oÂoyo-nÝn‘nAmïm¡mVmlÀlxl2kêk kWk jÀjoj iÐi|i%hÎhh.gÜg‰g9féf”f6eÛexed¯d2c×cc?bÛbzb'aÍai`ï`—`R` _È_„_>^ó^¢^J]í]“]>\ê\¢\b\"[õ[Ï[´[‘[^[&ZèZ°ZqZ/YèY˜YCXõX£XQWûW¢WJVïVŠVU¡UT“TSS1RÏRtRQÈQ{Q*PÝPPAOýOÈOšOkO4NóN·N‡NgNXN\NsN¢NÜO OIO‹OÌPPcPžPÕQ Q.QDQLQpQ˜QñR—S0S¶TRU\VuW)W WÙWÅW¯WÛX(XŒYY‚ZZ„Zö[X[¯\\R\®]]]]§]ñ^=^‰^Ì__S__À_ü`.`Z`ƒ`Ÿ`¶`¾`Ç`Ú`ða aa.a;aGaQaaanasayavaiaUa=a a`Þ`´`…`P`_Õ_–_W_^×^ˆ^)]Á]H\¼\-[–ZøZOY™XëX^WïW¥W~WXW/WVÏV”VQVU°UOTïTT^TCTPT…TöUVV´WYWûXŽYTZ!ZØ[›\‹]w^d_c`Oa.aîb£cDcâdƒe:eóf¨g6g­h2hêi±j.jj©j—j”j·kk¥ll|lØmGm´nnin¸ooJo„o²oÝoùpp#p0p9p>p:p4p*p$p"p3pKpSpQpGpJpCpFpCp?p7p.ppoÿoæoÖoºo¥o…oioKo3onünän¾n™nrnOn(mýmÆm•mam-lýlÉll[l/kûk±kek jºjcjiÙiªiŒixiOi h©h@gèg¢gtg]gXgWgYg8fæftfeÉe°e¢e˜e–e}eWe5e!e dàd¨d{dPd9dcÿcÏccec(bóbºb‚bAbaêaäaãaáaßaÝaàaøbb9bmb¥bÎböc.cmc·cÌcßcðdd"dNdadwd¡dÁdÛdÒdÎdÇd×dðeeCeqeœeÁeñff@fXfvf—fÐgg'gVÚYSZ[ö_^1\B[‡[[[L[[Â\J\±]>]m]£]”]Š]|]–]˜]Å^^?^]^^™^—^‘^z^^ž^ú_F_¾``N`y`´`…`s`z`Ž`áanaªa aïb\bùcœd%d{dìe;exeeífqfôggühhïiyj j›kk‚kîlRl°lùmCm|m³mçn!ngn·o oWoo°oÙoþp0p`ppÆpÿq6qPqeqtq|q…q™q£q±q½qÙqèqýrr r r r rr!r0rKr`rxr„r—rŸr°r¸rÉrÓrÛrÞrßrßrØrÙrÍrÇr¸rºrµrÁrÌràrôss+sAs[sksws}s‰s‘sžs¥s°s»sÄsÊsÑsËsÊsÃs¿s»s½sÇsÖsõtt5t5t@tMtAt!t sæs¿s–sws`sMs9s1s.s3sBsFs_s{sšs©sÁsÆsÍsÓsËsÌsÃs¹s´sÆsâsþtttGtitt¨t¹tÎtØtätãtåtñuuu1uKuiuu³uÐuèuûv vv%vm“màn*ngnnËnänïnñoooo0o;oCofo¥oÒoÿpPp­pðq qMq’qÐrrOrr¼rÙrçsss#s(sKs}sœs±s¿sËsÏsÜsìsút tt&t/t5t5t5t?tKtRt\tgtotqt{t„tŽtšt¦t«t®t²t´t¶t´t¯tªtŸt•t”t‡tttltetWtEt0tsòsÒs­s‰sswsosgsgsqs‚s“s¤s·sÄsÎsÝsçsìsðsôsôsðsåsÙsÍsÂs¸s­s¡s–ss~srskshsgsgscs_sZsPsDs5s%sssrýrôrïrîrùssrúröss+sbs”s¾sÚsísösõsñsësÙsÊs·s s‘s€sksZsIs8s)srërÈr»rÈrëssrûrÖr»r®rÁrÃr¹r°r­r™rzrorYrOr\rgrZr>r qúqÐqqeq>q"qp÷pépßpÛpÚpÛpâpëpîpåpÏp®p‚pVp/poøoÚoÆo¹o®o¤oŸoœo£o¬o®o¡o|oOonèn½nšn‡nznknRn4nmómÎm¬mmomJmlølãlèmm-m\m†m¨m±m³m®m”mymbmIm%lýlÀlxl:llkðk¹krk\•\è]1]|]É^^^^¥^í_-_k_£_Þ``E`l``®`¼`Í`á`õa a!a3a?aHaSa`amaxa~a}auadaNa6a`ú`Ò`¡`l`1_ñ_²_s_5^ó^©^O]ì]w\ô\o[Þ[GZ§ZYYX¾XBWëW¾W™WsWKWVëVµV~V;UíUªUuURU>UJUˆUõV…W2WÙXxYY™Zm[K[í\¤]…^{_c`9abbÈcbcëd‡e-eØfpgg«hBhÈiQiéjKj~jj‘jµkkŒll~lãmCm°nnƒnão=ooËpp0pUpqpˆp“p¤p¨p§pžp‘pƒpvprpƒp£p ppŸp¨p¬p²p©p¤ppŽp€pkpQp9p!poåoÂo¤oŠoooYoEo(o nânµnndn5nmÌm–mkm?mlïlÂl¦lilkÂkok#jÏjŠjCj iðiÍi—iThðhwhgèg¸g—g‚g€ggYgf·fmf=f,fff eïeÇe¡e‰eueMedädºd®d—d}dOd"cåc¨cmc-bøbºb}b@baöaäaÎa³a a²aÊaìbbFbƒb«bÞcc6cMcgcqc—cÇcýddJdvd‰d«d¬dd“d™d­dØdûe/eYe…e¯eÙfff>f`f•fÇf÷gg g-gQgwg©gÛgýh"hrCrArPr[rurŠr§r³rËrØrêrôsssssssss srðrærÙrÕrÚrèrùss3sPsjs{sss¯s·sÁsÉsÓsÔsÞsásäsãsßsÙs×sÐsÌsÍsËsÙsêsüttt ttsösãsÅs¡ssesQs:s-s,s(s.s.s8s=sHsVshstssƒszsŠsszscs`sasuss¡sÒtt0tPtit…t›t­t´t¸t»tÏtÜt÷uu-uNuqu”u³uÑuçuývvv6vVvwvžvÉvùw(wQw|wœwºwÒwòxx4x]xx¼xëyy7ySyiy}yy¨y¾yÓyÞyâyßyÝyÝyÜyéyüz#zwvþvÝvºv†vNv uÈuŠuMutÖtštUt s¼sisrºrirqÆq{q.pÚp…p(oÊoron¿nbmúm’m,lÖl§l¯lÎlk~kBkJk'kl(l_lŽlÍmmm4mHm]n næn«n mnmlÛlálØl§m…n¨n}mƒlallÐm7mÑmÛm§m¸m¯nnqndn m“lýlwk…j¯jiÃixi[i#hÇhth-gãgŒgAfëfœf?eíe©ejed·dtd)cécÝdd=dpd›dºdÔdîee:e`eeœeªe«e§e¢e”e›eÀe½eŠe=dùdÛd½d›d‚d‚d‘džd¥d¡d™dd„ddŒd›d²dÆdÚdîee(ee,eNene˜eÆffQf¬gg~gßh>hhÐi"i~iàjEj¦jÿkWk­kýlIllÏmmfm»n n\n¦nÜooo%o,o?oVoeovo†o•oºoóp&pTppÇpüq:qsq»rrHrƒr½rþss3sPsdstsƒsžs¶sÌsásïsýttttt2tDtRtbt_t\tYtdtwt~tƒtŒt–tžt¬t¸tÀtÄtÉtËtÌtÊtÆtÃtºt±t«t£ttšttƒtxtlt^tTtl kõkÛk­klk,kjåj¿j|j!ißi£iiiGi2ihíh®hXgûgŸg@fñf±fyfNf0feûeÑeže€eKedÔd‰d/c­c;bìb¢bRbBbaÃaša‚axaqaa¸aâb/bµcDc«cödQdÙeleãf5fof´fìg gggIgXgzg¯hyiÄi„igiii3i?i>i;i:iEi™iþj!j2joj¶jèjûkkQkkšk¾kñl>lÆm?m®nn}oo¹p(p^pŠp®pÕpþq q6rs&s¥s•sPsr¦r‘rœr®s+stt;trt÷u#tétÑtäuuAuiu€uŽu³uâvvv uþu÷uõuóuóuõuöuéuÞuÉu±uŒu^u-týtät¾tŽtTt%s÷sÈsžsgs1rör¼r€rErqÇqŒqPqpÊpp3oâo“oEnönªnXn m»mkmlÎlƒl8kôk¯kbkj½jhjiÇivihºhSgøgŸg:fÕfyfeÂejed³dQcíc€cb¾bdba¥aE`ã`„`&_Î_€_4^ø^¶^t^.]Þ]Š]2\á\\F[ý[º[y[D[ZòZÊZŽZTZYâY«YkY%XØXŒX=WëW–W@VíV”V3UÅUDT¾T7SºSIRãR…R*QÐQrQPÎPƒP5OçOžOhOeÚflfòg”hLhæiDi”iájj9jij§k k‘ll‰límSm¸n'n“nùoYo²ppCp|p¥pËpãpõqqqqqpîpÝpÑpËpÔpóp÷püqq qqqqqpíp×pºpžpypVp9poüoçoÔoÃo¯o™o}oZo,nþnÊnœnln8nmÎm¥mqmLm$mløl½lbl k¹kƒkRkjÏj‹jUjiÝi–i6hÑhhEhgôgÖgÄg­g‡gZgfêfÃf©f‹f€fjfKf eôeÐe´e’ece?eeedôdÔd­dpd-cßc˜cXcbåb¬bbCb aÜa¹aa€ava–aµaéb0bfbŠb¦bÂbÑbícc>cxcÆcäcðd d9didzdhd_dfdrddÂdõeeKekežeÈeîff fKf‡f¾fØfúfügg,g_ggÂgáhh%h>heh€h¯hÆhîiii.i2i7i4iAiSifiriyi„ixiXi*hþhÐhžhih1gúg½g†gJgfÝf°fif?eèeªeOdïd‘côc¡bÄbVaj`ã`u` _Þ^ø_•_²bYi»nîoòta ZŽ]i^Z_VSX^ðXªV,UåTòVFW£WmVpUéWm[„^ša€^[¹[­[j[Ž[•[Ï\\š]]l]¤]Ë]¼]Ð]Æ]ì^,^‚^Ñ^ö___:_?_4__ __ __O_Î`H`A``$`_`–`™``Úaa…b/bÜc{d_dòe%eCege®eþfpfîghgàhXhÄiu túuuIusuŽu¨u°uÍuñv vvuíuàuÛuäuøuþvuúuíuÚuÂu“uduCuutÓtštat-sÿsÔs£sms8rürÁr†rLrq×q–qXqpÐpƒp+oÖoŠo;nån—nNnmÅmxm,lßl™lVlkÐkk2jÝj‰j3iàiŒi5hÐh_gÿg›gfœfAeéeŒe-dËdld c©cHbßbvba¹aW`õ`š`E_è_‡_1^â^ ^f^*]ë]£]N\û\¨\Z\[É[‡[>[ZÚZ®Z}ZBZYÉY“Y]Y$XãXœXQXW±W_W VºVhVUœU TžTS›S%R¾R`RQ¦QHPöP¥P[P O¶OmO9ONÚN˜NNNMÏMªM“M‡M€M{MŠMÚNBN’NÁNÞOO[O–OÉOóPPEPtPšPÆQQÀR€SHTOU2UÙViVÔWW+W‘XEY Y}Y‚Y¿Z@Z²[[b[­[ú\M\ \ó]<]~]Ã^^i^»__C_~_¯_Ý` `9`d`‰`«`Ã`Û`öaa'a6aCaPa^apaa†aaŒa‡aaiaUaAa&a`Ù`¦`i`._ï_°_u_:^ó^¥^L]ã]r\þ\†\[~ZæZKY¼YEXæX›XhX?XWøWÌWžWrWYWBW+W#W3WNWxW¾X-XÃYlZZ¼[J[×\Ÿ]f]õ^ª_`Ma"aøbÇcŽd1d¹eEeÞfifçgegýhºiJi{iiÂiîj7j‘kk‡llŽløm_mÐn6n¢ooioÎp*p}p¸pêqq8qJq]qgqjqlqfqZqMq>q3q1q6qIqWqeqpqzq€q„qqrq_qCqpûpÒpªp‰pmpSpIp=p4p(poòoÍo oooAonÝnªnwn?nmÝm§m€mTm6m0lÿl¦lDkðkËk­kvk1jìj¨jcjiÌiui%håh±h‚h`h=hgýgàg½g“glg3gfæfÑf¸fšfrfIfeåeÃe›e{eheYeEe>e*edÞdœdMdcÉc‰cJcbßbŸbcb!aêa¦asa_anata“aÚb&bDbVbrb€b“b³bêc$cucgcFc}cìd!d6d/d(d4dFdfdˆd¿dàee5eheˆeºeÐeðf f:f~f¦fËfÐfæfígg;gwg›gÅgæhh)hHhrhh»hÒhýiiii!i(i7iMi^ijiziƒiwiLihæh®hˆhFhgÚg³grgCgf×f£fcf'e×eŠed¾d?cÇc%b’aµa/`’`B`"_M_j^ç` f9n¤ogo“a%\&`»`DZCUíVâZuVmTÌUTÞU|V§W/VMUÂV¸YÅ^bw^[r[s[T[€[¢[Ç\$\‘\ý]s]¥]Á]Ë]à]ø^.^^Þ_$_)_I_`_x_~_l_O_L_N_i_‚_•_ô`1```'`X``‘`Š`°`Åa6b5bòcGd džee4e}eÒf)fŸg gŒgùhwhßi_iÏj^j×kOkÂl/l•lòmNm˜mên.n…nÉooXo’oºoðp"p[p¡pêq qFqjq„q¦q¹qÓqàqóqúrrr/rBr[rpr‰rœr¢r³r´rºr¶r¾rÁrÓrßrôsss+s3s?sFsWshsuss„s„s„syspsbsSsedëd×dÈd¿dµd°d®d®d¨d¢d˜d’dd’dšd®dÉdçe e7epe—e—e¬eÚff?ffÆg.g|gËh9h§iiSižièj=jšjúkZk¹ll^l«lím0m{mÌnnjn·ooFovo”o§o¹oÆoÜoíoÿpp?pop•pºpÕpíqq>qqÌrrhr°s sJsjs’s¶sÜsøt tt(t8tAtTtntyt‚t‡tŠtŒtt¬tËtÜtåtåtßtÚt×tÔtÕtßtêt÷uu uuu u ut÷tîtât×tËtÂt¹t¯t¤t˜tŽt|tkt[tNts%srýrøròrærüsss ss+s8sLsZsbslsusns]sEs5s)s#sssssssr÷rërârÖrÆr´r¡r’r‰r‡r‹rr‡rvr_rGr8r;rJrbrxrrr«rÇrÚrßrârõss/sZsbsQsKs0srûrérèrârïrãr¼r•r‡rr}rxrmrdrgrhrSr@r/r"r-rOrjrprirLrq÷qêqïqþqüqãq»q˜qsqRq/q pæpÂp°pžp“p•p˜pœp¢p¨p«p¥p–pxpTp0p oìoÍo·o¨ožo˜o•o—oœo›o—oŒoroNo%nûn×n¶n“npnSn8nmômÎm¨m~mQm&lùlÌl¬l¨l»lâlñmm*m:m@mJmQmVm]mXm7lÿl°l]lkÖk¨kŠkhk/jíj´jjj?i¹i…i_i+ihöhÝhÄhœh]h gµgegfóf¾ffMf1f&f)fFf8eïe¹eRdËdYcöc¤c_cBc bÝbªb5aÕaŸaƒama^a~a£a¸bbŸc cºd™ee7eÅf?fgffŸf·fÊfÞg#gNg‡göhÜiãiÞi—iuizižiÇiÅi¤iÉj:j{jfjgj¸jïjêjÊjjžjÞk&k[k›kÚll€m mÈn^oo¹pBp”p»pÇpºpÒqRqér~ssšs¤s“s»s™szsJsswtjtsÝtztýu1u#uuJupu–u³uËuÌuØuìuúuôuàuËu¹u¼uÔuþvvv vuíuÏu­u†u^u9utÙt tit7tsÔs sps9rÿrÈr‘rWrqàqžqaqpÉprpo¾ojo'nÙn|nCnmÞm˜mSmlÎl‰lHkÿk°kZjûj¢jKiõi¡iGhåh~hg gf—fAeée|e dŸd=cÅcObób–b2aÎaja`™`D_ò_ _C^é^–^I^]Ô]–]V]\¶\d\[Ñ[Œ[DZûZ¾ZŽZcZ(YëY°YvYBY XÙXšXYXWÈW|W,VÝVŒV=UáUyUTˆTSS RžRBQäQ†Q+PÓPtPOÅOzO4ONÛN¥NfN!MãM¯M‹MtMgMdM\MvMÈNNhN–NµNÜO OBOdOˆO¸OèPPCPpPÃQ_RRÙS×TÁUoVV|VÇVÿWXDY#Y¬YY¹Z*Z—Z÷[=[‡[Õ\)\\Í]]\]¥]ø^Q^£^æ_%____½_ì``L`r`“`®`Í`èaaa$a4aDaXaja{a‡aŠaŠaŠa…auabaNa:a`î`¾`„`G` _Ñ_—_`_^Ø^…^%]¼]N\ß\n[í[ZZÉZAYÏYpY#XéX¿XXX]X3X WüWûWîWéXX5XyXÕYCYÎZs["[Õ\v\õ]¨^v__¾`”aZbbÜcd>dÀe9eÊfafég^gÑhMhÒiCii¨iØjjwjëksll’mmhmÞnUn¾o o{oáp?ppâq%qYq}qšq®q»q¾q½q»q°q©q q’qŠq‹q“q¢q·qÌqßqèqëqìqáqÎq®qƒqVq,pýpÜp½p©p¤p¡pŸp’pyp^p:poÜo§oyoLonðnÃnŽnUn%mðmÁm“mrmbm7lâlyl0lkúkÅk}k/jÜjŠjs?sIs]stsˆs s°sÃsÑsÚsãsêsésìsçsàsØsÑsËsÈsÅsÂsÃsÁsÅsÀsÄsÂsÀs·s©s”svsXs6ssrórãrÏrÈrËrÉrÆrÄr½r·r±r¯r¨r§r¤r¥rœr’r“r’rœr˜r™r¢r¨r ršr™rœr®rÄríssvuÇu‰uAtõt¨tVts°sfsrÑr‡r:qÞq~qp½pZoöo’o,nÁnEmÐm[ml¸l‘l+llÅm5lõmm«n¤o>oPop?pÅpóq2rVr^q¡q poåq‹r qVp‹poIo}oŸnØn«oo,on½n€nYn-m›mllk°k'jÃjgjiÄi‰ibi.ihÆhwh#gÐg€g%fÕf|f$eÏeeVedÔdŠdGd)dcÉc³cÌc÷d'dWdŒdºdíe&eWeqe”e¸eÁeÈeÔeèeðeÍe‰eGe dêdädàdÖdÅdºd²d­d¤dœd™d™d˜d™dœd¨dÀdàe e8eoe¦e³eËeÿf.fyfÅggrg½hh`hÌi3i…iÑjjpjÈk$kˆkílAllØmm`m¬múnGnnÜo*ooo§oÏoèoûpp$p.p;pSpupŸpÆpÞpôq#qVqŒqÔrr\r¦rès>sks„s²sßttBt]tvt‚twtatyt±tÄtÉtÖtâtïtóuuu$u)u&u&uuuu uuuu%u*u/u/u-u(u!uutùtëtÜtÑtÅt¼t´t¦t—t„tot]tNt8tsþsßs»s–sis@srþrîrärßrÙrÛrÅržr“r r¤r·rÙrðrýss*s/s'srÿrîrérërírñrðrírèrÞrÓrÅrµr¥r–r†rsr_rQrNrRrXr\rSrEr+rqïqíqþrrr+rPrwrŒr‹rˆr›r¶rÓrûsss s rürærÓrÈr·rµr³r¬r—r~rerZrWrMrAr7r9r:r6r%rr rrr0r6r'rqßqÊqÊqÓqÒq¿qžq{qZqCq+qpìpÅp¤pŒppypzpƒp‡p„p‚pzpsp`pDp(p oêoÎo»o®o¤ošooo‰o„oƒozofoIo&onßn¼nœnznZn=nmõmÖm²mˆm\m5m lßlÃlÂlÅlßlölÿmm&m%m#m+m3m9m8mlél¤lVl kÏk˜krkOkjÄj–j…j‚jViºigi:hÿhØhÆh§hhnh@gùg®gfg=gDg fºfmf3f@fLfTfQf e¤e%d–d c›cTcc cbþbÚb–b7aäa¾a‘aJa#as rÉr–r_rqãq¦q\pýp¶popo¹oWo,nònŽn^n6mþm¿mum7lõl®lclk½k_jöj˜jAiçii/hÑhmgôg‰g$f¼fWeãeqed–d.c®cb¥bIaäa|a`¯`D_à_Š_A^í^ž^N]ý]¿]z]=\ú\©\Z\ [Ã[€[AZýZµZsZ7ZYÂY„YRY%XîX¼X‰XPXWÏW‹WCV÷V¬VbVUÁU]TìTwSóSmRñR„R'QÎQxQP¢PO¥OKONðNÇN¡NpN8MþMÌMŸM|MjM`MXM_MŒMÏNNMNqN‰NœN½NãOO(OOO€OµOçPPsPÿQ¬R[SMTUUU¸V7V‘VìW}X5YY~YY¯ZZ‚Zà[[³\\O\—\î];]‰]â^2^z^Á__:_k__Î_ÿ`+`P`q`Ž`¬`Ë`ë`ÿaa&a5aKabataaˆaaaˆa}ama^aKa.a`×`ž`d`*_î_·__I_ ^Á^j^]¢]=\Ö\[[Ô[PZÎZYYøY¸Y~YOY(Y XùXÙX½X¹XÄX½XÀXãYY[YÈZDZÈ[[\\Ç]^^º_‘`>`ça bTcc£dAdÒeAe¹f>fÇgHg³hhwhÑi.i—iñj;j‡jíkgkôlŽm mtmænanÓoCo¨pp]p°pÿqGq…q¹qÜqòrr r rqýqóqêqäqâqæqïqÿr rr2rHrSrSrFr-rqäq¶q„qWq3qqpýpùpöpñpÐpªpˆpbp7p oÛo·o’omoHonæn²nynCn mÝmµm—mnm&lÂlwlUl1lk¸kdk j½jujCjiäi¶i„i\i+ihÜh¸hhihChgág©g{gUg1g fáf¬fjf'eùeÐe«eeŠeseceLeyjy‹y›y¬yÇyêzz6zNzSzTzYz`zxz†z“zŸz©zºzËzÚzæzèzåzÛzÔzÎzÍzÆz¸z­z¥z™zƒzfzGz$zyíyÖy¿y¡yƒyYy*xõxÂxxixDx$xwÚw¯w|wIwvÔv–v[vußu˜uPtÿt°t`t s»sos)rÝr–r>qåq‡q1pÕpxpo©o>nÃnDm»m]lúlÖlxlDmQmëm—m!mŸoœpnpeqvr0qÊqSq`rOrxqÛq~pûqqàq¶qSqprqƒp‚poëpoÐofonln mØm°m(lkkæktkj³jLiòiªiii0ihÜh›hXhg´gbgfÃfkfeÉeƒeFe dÆdd8ddcêcÀc½cÜdd4ddd•dËee)eDewe«eºeÊeÞeðeõeÌeƒeq(qqpòpÓp¯ppqpbpapcpfp_pWpMpBp7p)ppoíoÑoÀoºo´o©o˜o‰oopoeo]oRo[ò[ª[e[$ZéZ¬ZiZ"YâYžY[YXñXÉX–XjX6XWËWŒWLWVÆV{V7UðU UETÜTiSçS`RâRyRQËQqPÿPhOÓOUNïN¼N¢N‰NhN;NMæM¾MŸMMjM^M[MqM•MÂMúNN/NFNYNtNŠNŸNºNàOOFO‚OÆP(P®QLQïRÓSåTÉU|VVjVêW†X*XáYYYsY¦ZZrZÆ[[?[Œ[æ\=\ˆ\Ù]*]|]Ë^^Y^Ÿ^Ü__G_x_«_Û``*`L`n``²`Ñ`ë`ÿaa$a:aWakava€a‡a‹a‹a€asajaWa@a`î`¹``H`_Ý_ª_v_@^ý^­^R]ù]]9\È\N[Õ[YZÞZ{ZDZYëYÊY®YœY~YrY‹Y®Y°Y³YÙZZBZ¨[/[´\<\Ý]Ÿ^p_"_Ð`™aTaöb“c-c¼dKdÛe^eÖfIf´gg~gähFhšii‚jjkj´kk~kõl‹m!m“múnknâoQoµppwpÊqqmqªqèrr:rJrRrRrRrIr=r1r%r*r2rCrXrprƒr™r§r²rµr¨rrkrBrqàq²qqtq`qVqIq?q@q,põpÇp¤pˆplpAp poàoÊo¡oio9onÏn™n[n-mýmÍmŸmdml¿lˆlXl*kåk•kDkjËjjqj@jièi¸iiXi(ihÛh¯hƒhVh!gïgÅg•gkgBgfÜf™fTfeâe¶e ee‡eze`eLe@e*edìdÀdŠdCcôc«czc?c bØbbhb7b aãaÓaÌaÎaÊaÑaÕaâaèaõb b%bHbtbÄbébôb÷ccBcgc‰cµcádd1dVd{dŽd d·däe e;eRete•eÌeþf1fKfWfiftf¡fÀfùggMggg—gµgÞgÿhhFhchh›h¿hµhÒhÅhëhýi ir0r#rr qýqðqáqØqÛqãqìqìqæqÜqÂq›q{qdq\qgq’qÒqôrrrrr+rEr[rmr}r›rµrµr™r…r‡r}rmrfrbrPr1rrqøqêqÛqËq¸q´qÎqßqÔqÀqšq‹q­qÁq°q•q~qkqiqsqiqRq8q"qqpõpépÙpºp•popVpMpFpGpAp2p"poýo÷oóoíoãoÕoËoÈoÀo±o oˆonoXoJoAo8o)onùnÜnÁn¢n‚n]n6nmìmÏm³mmfmGm(mlölïmm mmmm mlÿlõlølýlýlíl¿lŒlLkäkkykNkjØj¶jjcj5iði•i@hïh®hzhGhh gögçgßgÌgÌgÅg±g‡gGfúf—fZ"Z&Z\ZŸZÁZËZï[ [N[ \"\¶]B]É^p_R`.`Ýa‰b3b×cfcåd_dáeheëfifØg0gyg¿h#h•hñi|jj¥k kOkªllm*m´nn„nîocoÑp7p”pñqIq›qårrPrrrr˜r›r—r’r‡rxririr~r•r¹r×ròsssssrírÊršrir;rqòq×qÁqºq±q£q—q‚q_q0qpõpâpÇp¢p€phpMp.oûoÅo’oeo+nïn¬nsn>n mÔm—mRml½llLlk×k™kbk(j÷jËjžjqj>j iÒiœiji@ihëh»hŒh[h'gögÈg›glg>gfÑf•f^feíeºee{eheVeGe=e$edðdÔd¼d}d-cäc§cucBc bÔb–bdb=b"bbaêaØaÏaÃaÀa¹aÂaÎaÞaöbbWbsb„bb¼bèc'cWc…c¶cäd d7d^dpdmdld‘d·dèee8eTe„e¬eâfff1fooÈpprBrCr7rqõqËq½q±q½qÐqâq÷rr rr"r,rszsÂt tGt{t«tÒtôuu0uKueu{u‹u›u¦u­u³u·u¹u¹u¸u·u³u¯u«uªu¥uŸužu›u–u‘uŽu‡uƒu€u~uzuruju]uOu>u-uutëtÓt»t¢t‰tptXt?t'tsôs×s³sŒsesDs*ss srôrârÎr¹rœrurRr:r(rrrrrrqèqÓqæqûqýqñqçqçqíqþrrrr rqûqîqãqÛqÒqÌqÀq³q£q˜q”qq”q™qžq¦q¤qqsqQqrKrUrYr_r`rTrGr9r\í\­\z\D[ý[·[p[!ZÔZˆZGZ YØY«YtY4XóX·XvX:XWÞW¸WWfW5WVÖV™VUVUÝUœU^UTÀT]SáS]RáR}R(QËQZPÔP4O’NùNˆN=NNMóMäMÒMÈMÂM²M”MyMoM‚M¨MÍMíNNN MýMùMüMÿNN N N:NlN¾O.OÖP‰QQŒR@SGTZUU¹V4V¿WzX4Y Y Y°YÃZZbZ¬Zñ[>[–[ê\:\‹\Ù]]Z]š]Û^^Q^‹^Â^ù_._]__¶_à` `2`S`s`’`ª`Â`Ý`ùaa6aMa`ajaua|a~a{asaoagaXa>a`ó`Â``_`0`_Ö_¦_p_-^ã^˜^S^]£]B\ç\\ [ [R[0[[ ZÿZîZÝZæ[([}[Â[ì\\F\z\Î]:]¶^2^¸_n`Na aÖbubüc…dd†e e‡eøf^fÎgKg¹hhGhŒhïihjj¿kWk»kûlXlËmSmØnMn­o owoìpRp±qqhq¾rrLr‰r®rÌrßrârårßrÙrÐrÃrÁrÓrössEsess†s€syscsDsrórÃr“rorQr>r(rrrqûqàq¼qœq‰qqqhqTqBq'pþpáp¹p‘pcp.oùoÇo…oDonÀn„nInmÓm•mPm lËllUl!këk´k€kOkjîj½j‰jQjiÛi¥iwiFihéh¸h„hOhgêg¼gŽgbg,fÿfÊf™fdf-eñeºe†eZe8eeedõdædÐdÀd“dIdcÔcchc,böb½bŒbbb@bbaýaêaØaÂa¶a¦aŸa¡aªaµaÉaæbbb7b_b—bÝccMccµc×dd6dQdGd3d>dcd—d¿dðeeWšZ¡]K[ÉY7XÊ[²\ZðZEYîYËZ%ZŒ[[™\\´] ]|]³^^^r^®__[_™_Ì_Ù```8`7`l`y`¤`©`Â`£```O`6`<`…`Õa?araaqa»b9bèc˜dd¶eOeßfKf²füg_gºh*hŽiitiìjnjØkCk¡l lrlÞmGm´nn_n¯ooTo›oØppJp€p¶píq#qXq•qÊqür$rHrbrƒr›r²rÉrÛrïsss4sUs{s¢sÉsås÷sþsôsîsäsåsésòsúsúsþtttt1tAtSt\tctctct]tOtAt2t(t t!ttt tsþsõsésßsÕsÊsÄsºs²s¨s¢sœs›s•s‘sss•sšs£s¢s¥sšs’s~sps_sOsAs*sröràrÁr­r’ryrarMrhøh¹hxh3g÷g³gggfÎf|f(eÍe~e=e dÜdŸdNdcÇc¦c¢ccŒc’c¥cÅcäddYd†d­dáeeSe‡e¤e»eÐeÚe¸ened×dÊdÕdÕd¿dªd¢d¦d«d²d±d«dŸdd‚d‚dƒdydƒd¶e efe´eçf faýb£c0c«dd”e*e´f2ffÞgEgÀhShÙi+iQi’jjÀkillql¶mm–nn…néo:ooópfpßq;q‘qÚrr^r rássss+s-s&sss"s=shs—s½sÚsïsósçsÔs¹s–sqsIsrôrÑrºrªrœr‰rzrmrarOr.rrqýqôqäqÐqºqqzqYq-q p×ppep#oÜo™oSonÒnnVnmÙm˜mXmlÙl£lml8kÿkÈk–kbk4jÿjÌjjQjiØi¦itiCi hÝh£hlh7hgÔg¨ggTg*fùfËffpf:eÿe¿eeBedîdÙdÔdÏdÈd¹dœd\dcèc´c‚cQcbÖb•bSb.bbaõaêaÙaÈaµa”a{auauauaŒa™aµaËaäb bEb‹bÌccDcmcŒc«cÕcùcüc÷cød d@dvd«dÙdüeeFefeŠe¢e¿eÎeíf f6fcfŒf¸fÞgg/g^gsg¢g¸gägóhh)h;h[hjh™h£hÞhÙih÷ihÚh¼h h_h]hhg¹g½gtggg$f÷f¼fcf%e¨eddÐdscµc:bhaØa`Ÿ^Ò_a aeooftŽtn’a×[BWîV5VU¡UÈUhULV™W]X.[K\PZVYaYsZôZPY¬Y}Y_Y|YÅZ0Z½[`[ì\\ö]i]ª^^'^l^¨^û_?_€_±_×` ``A`L`|``½`¿`Ò`Ê`Æ`º`©`¾`¹`÷aDakaaªa˜aÞb]ccµdCdÞexff‚fîg6g‘gãhIh¨ii‰j jŽjûklkÁl%l{làmEm©nn]n°oo]oŸoäp p^p–pÐqq?qvq«qÜr r6rYr}r”r®rÇrÜrósss.sNsos•s½såttt/t,t+t#t(t,t3t6t.t/t.t6t=tMtYtgtrttƒt„ttqthtXtPtHtBt:t5t/t*tt súsãsÒs¿s±s¢s—s‡s„szsssnshsgsdslspsvsusxsqsgsXsDs4s!srúrærÑrÀr¦rrzrbrFr-rrqúqèqÝqÑqÉqÉqÊqËqÉqÅqÉqÒqÙqÜqÓqÅq¬q‰qeqEq,q%q.q7qCqRq`qoq{qˆq˜q¢q­q¸q¿qËqÓqßqòrr(rXr”rÒss_sªsît+tbtžtéu/uvu´u÷v8v|v¹vêwwCwjwŠw³wÚx xFx‹xÚy!yXyyžy¸yßz z{1{{{{{{{ {{{{zôzázÉz±z’zmz@zyåy²yyyEyxÝx«xwx@xwÅwŠwUwvçv§viv uÖu…u2tÙt€t'sÖsŠs8rçr‹r>qêq­qlq?qpÓp‘p*oÔoEnºn m¾n¡päpÚp¸qq¼q¿qcqp¸p p…pîqxqŒqªq¿q¶q¦qiqJqJq4qqqpÜppDo²o-nÇnNm­ml™l#k¨k-jÇjnj%ièiµixi7híh¡h\hgÙgŽgDfùf«f[fe¹ene,dúdÉd“d?cëc¥cwcicXcScVcuccÂcúd5dgd¡dÜdîee^ee¯eÍeÖe¯e]dÿdÍdÇdØdÙdÀd§džd¨d´d¸d¯dždˆdqd^dYd]d\dgd—döe\e³e÷ff>fwfÁggngÔhBh¬iiliÖjBj²kkxk½ll`l¾mmsm¿nnCn}n¾ooKo™oåp1pxp¸péqq+qAqaqƒq¯qßrr:r_r’rÄròs"sUssËt tEtzt¦tÌtïuu)uAuVuju}uušu¦u±u¹uÂuÌuÓuÛußuÝuÜuÚuÕuÐuÎuÎuÉuÂu¾u¹uµu­uŸuu„uwujuZuIu7u%utütçtÇt£tƒtbtDt+tsîsÌs­s‰scs>srörÕrÁr´r¨r¡r”r‰r‰rˆrxr]r:rqìqÈq¨qq†q„q‚q‡qŽqqqoqcq`qVqPqNqLqPqOqMqLqJqFq>q3q,q'q"qqqpîpÙpÌpÌpÛpåpïpõpópðpípîpõqq qq#q9qJqWqVqWqaqhqzq—q¯q·qÏqêqçqØq×qÖqÄqÂq½q³q°q¤q‹qhq@q!qqpïpëpñpõpùpòpðpòpép×pÂpÎpäpìpëpåpÞpÓpÂp®p˜ppkpRp4ppoæoËo®o–o„ovopovo‡o£oÀoÔoÚoÔoÂo£oƒo_o]|]·]ì^#^X^Š^¼^ê__E_q_ž_Ç_í``1`L`f`€`š`º`Û`ÿaa3aFaVabajaiajagafafa[aGa%a`Õ`®`…`\`5` _Ù_ž_b_'^ó^º^y^9]ð]›]B\ë\¦\v\Z\V\b\t\\¯\ó] ]J]Ä^^`^Å_._œ``f`âazbb³cMcÈd:d‘ee¼fNfÏgkkÓl'l„lämEm¡mðn2npn¬nèo)omo³ppYp£pæqqGqiq„q¤qÉqör$rSrrªrÙss3sds˜sÏtt;tltštÃtçuuu4uGu[ulu|uŒu–u¡u«u²u»uÅuÎuÕuÜuÜuÛuÜuÜuÙuÔuÒuÍuÉuÅuÀu·u«uœuŽu~umu_uLu6uu t÷tÞtÃt¦t‰titGt't sésÄs›swsQs(srßr½rrˆrxrkrcrYrJrBrIrJr5rqûqÛq»q›qvq\qLqCq>q:q>q@q6q+q%qqqq q q qpùpôpîpèpÞpÏpÇpÀp¸p²p©pžppzpopopvppˆppp“pp§p±p·p½pÅpÕpæpöqqqqqq%q>qTqeqpq~qŽq•qŽq…q†qˆq„q~qxqdqOq4qqpõpàpÜpñp÷pãpËpµp§p©p˜p‡p”p¤p¹pËpÎpÉpÀp®p”p{p^pFp2pp oñoÓo¯o†odoKo?oBoUojo„o¤oÀoÏoÍo¼oo|oUo1o nànÅn«n–nŠnnvnnn_nFn+nmìmÉm¤mm\m5mmmm mlélÙl­lslPlJlFl7ll k÷kÆkŸkok7k jßj–jRj3jjjiúiŸih¢h¿h³g¾fÂfñgJgkgZg7gfãfÄf­f•fzf[f.eõe«eOdíddEd cØc—c0b²b@aóaÒaãb bbb b>b_bsbsbQbaòaÛaÙa÷b$bvc=cïd]dÅe9e÷fŽf€f2fkgg7gg¨h‚ifiyhÛh¼håiiIi‡iÃiûj8jqj˜jÜkkk9kikpkk³kÑllIl‹lÙmmHm»nMoo oêp~pãq5q©rr[r¬s;tItÁtŒtêuçv{uóu4u3ubuBuPuTuLuJuVucujufubuzu|uŽu”u¬vvNvEvuúuývv8vOvavfv]vNv-uùuÏu}uf·f/e¡e ducÝcQbÈbDaÂaF`Ô`e_ø_Œ_(^Ó^q^]•] \š\ [„[ Z¯ZeZ3ZYÓY–YUYXÎX‘X_X5XWßW©WwW=VüVÅV¡VVaVFV%V UéU»U€UFUTâT°TwT4SÕSbRíR…R1QÔQWP±OïON[MÊMMtMMŒM‘M”M”MMƒMmMTM3MMMM=M[MnMtMM’M§MÀMÜMòNMýNNƒO/OöP§QIQèRÀS£T5TÊU\VVÝW¼XYYFYxYÓZ"Z_ZœZ×["[p[Ä\\_\§\í]/]l]¨]Ü^^F^x^§^Ñ^ù_#_O_x_ž_Ã_æ` `,`E`a`{`˜`¸`Ú`üaa5aEaUa`afagaeafahaeaYa=a`ø`Ð`¬`„`]`:`_Ü_¡_j_<_ ^Ö^§^k^]×]‘]T]+]]]]4]Z]š]×]â^^š^÷_O_È`A`¸a-a™bbbÞcRcâdOd°dûelf4fìgƒgýhChkhÁivj9jÜk>kWkll¯m4m¥nnznçoWo¶p p\p·qqsqárBr•rÜssMs{sžs¯s¸s­s˜s…s‡s¥sæt0tqt«tÈtÚtÑt¶t™trtEt!tsísÚsÂs´s­sªs–s~srs\sJs*ssssrürârÈr¤r€rar>r!qýqÌq—qZqpÍpp5oðo§ofo%nãn£n`nmØm›m_m#líl¶l€lLlkákªkrk8jújºjzj;iýiÂi†iJihÕhhgh7hgâg»g™gtgKg#fúfÓf¦f{f@feÄe€e>dïdµd¢ddŸd—dpdDdcËc•cTcb®b`b aòaÎaÀaªa a’a–aŠavaZa3a#a a#a#a7aEaYaxa§aÑaþb6btb¬bÔbóccc,cKc[c€c¦câddEdhd‚d¤d¿dédùee+eMeee“e¹eåff=fwf“fËfàgg0gUgig‰g§g¸gâgòh)h5hghrh™h©h´h±h¦hhvhXh4hgßgÔgŒgŠg?g8fîfÉfzf,eÚeTedFdcbµaÚa}`ôaƒa'`¦dJkurltžfà\WXJV›V1U¨UdU±UoVbV VlX1YXeY Y7Y XÛX€XŒXÉXþY;YµZ8Zú[§\_\å]c]µ]ÿ^;^l^¨^Ú__P_‹_ª_Ý``*`b`Ÿ`Ûaa*a7a;a3a7aHaRa{aÃaÏa¥aa·aåb/bšc-cÅdTdíežfag ggÂgüh2h‚hÒi5i£j"j¨k&k—k÷lHl’lómIm¬münTn«nýoSoœoép+pop¡pÕqqCqzq±qòr#rTrur”r­rÈrãrýss-sDsZsus“s¹sãt t5tStltrtstotntqtvt|t‚t†t…tˆt‡t‘t“t¡t­t²t¶t®tªt¤t¡t›t”t‰t…t{tytot^tPt6ttsæsÆs¬sswscsMs;s+s#ssssssssssrörårÐr´rr‡ryrmr`rVrEr7r!rqñq×qÁq¨q˜q„qrqgqaq[q^qYqYqVqNqPqIq=q+qqpúpæpÓpºpžp‰psplpkptpzp‰p˜p±pÈp×pðqqq*qAqRq\qgq€q©qär/rƒrÝs*sms¥sÞttjt»u uYu¦uóv9vvv«vÜww7wbw“w¾wóx2xzxÉyyLywyœy¿yñzzMzqzpz‰z’z–z¤zÁzàzþ{{/{M{`{g{f{Y{R{N{Q{Y{Z{[{T{Q{K{H{E{B{9{){zïzÌz¥z}zOz&yûyÍy—ycy+xóx¸xx?wûwÃwwYwvÞv˜vRvu´uYtût tFsøs¢sWsr¸rcrqàq«q€qWq/q påp™pŠp o¾pÚr,ròsr¾r€rqýrrMr$rqñr r&qürrQrqˆq*qq6q/p‹p p poãoxonwmþmml’l kzjåjsjiÑiiXi&håhœhSh gÃgg:fìf¡fTfeºete6dúd¹d}d>cþc½cmcbäbØbÔb×cc7c‹cÇcùd1d[d³dédádóe'ese¾eÔe²e_e dÙdÑdãdÝdÆdªdd£d°d¹d°džd|dNddddd2dpdÚeOe¶ff2fMf}fÑggqgÖhMhÈi>i iýjrjìkVk¤kêlBl¨m mnmÉnn^n›nÓo oMooÓppupÊqqQqq¨qÊqírr;rhr”r¼rèssGsys§sØtt6tett´tÙt÷uu1uIuYueuru}u‡uu—uŸu¨u°u¹uÅuÑuØuÚuÝuàuÞuÛuÙuÖuÑuÊuÄu»u¬užuu~umuZuDu,utùtàtÊt´tšt|t^tBt&t sísÉs¢sxsNs$rÿrÝrºr•rtrRr6r/r,rrqòqørqüqêqÕq¼q¡qqtqSq2qqpópìpäpäpãpÞpßpÚpÑpÍpÇp¾p¸p´p®p£p—p‹p}pop`pSpNpHp>p1p%ppppppp%p,p>pQpWpYp]p`popxpƒp™p¬p¼pÇpÎpÐpÖpép÷pûqqq2q9qGqKqDq?q7q5q,qqqpìpÚpÀp›p™p­pªp›ppppopbpdpbpxp—pªpªp¡p“ptpUp9ppoõoåoËo¬oˆodoCo)oo$o7oOomo‡o¢oµo·o­o“osoJo!nønÇnžnnhnYnMnEnCn>n-nnmæmÇm¦mmYm.mlîlálÔlÒl¶l™lvl9lkðlkìkÀk©k›kqk0kjØjºj¥jejiàiÁi«i“iaih‰h*h+hgCf‘f¶fØfØfÚf»f†fffNf>f%f eøeßeºe}e1dÙdxdcÏc‰cBbçbcaúaÎa©a²aàaéaÀaÄbb=b`bhbNbaòaÛaÜaùb#b\bæc­dPd»eereÙeåeÖfnggAgMgšh$håih·h«hçiiGiƒi¼iýj8jlj”jÖkkkFkqkžk»kÎkòl-lfl¤lámm\mónçoÏp+pNp¹pðq9qÞrGrŒr¡rÛs±tt–t˜unv;uªu3uuÕu¶u¯u‡ufuYudu|uu˜uŒu‡uuunuvu”uÞv vvuøvv!vGvdvsvuvrv\v*uøuêuÏu¬u˜uuuZuGu-u tät¹t‘tat.súsÃssTsrærªrnr1qðqªqcqpÎpp.oÝo‡o1nÝnˆn1mÛm‡m1lÞl‚l'kÇkcjÿj˜j/iÁiOhÕhZgÖgOfËf@e¨edfcÍc9b¨baa`ž`+_»_E^Ò^m^]´]Q\ð\~[ö[^ZËZPYéY¤YxYRYXÞX¢X^X#WêW»WžWyWIWVßV¬VqVFV%V UõUÛUÅU«U‚UHUTãT´T‹TYTSËScRîR‹R:QáQhP¿OúO&NZMÀMsMdMqM~M‚M~MqMeMRM9M%MLùLíLóM M%M9MLMgMM¬MÐMøNNENMNmNÛOxP6PâQxRRùS¾TBTâUWVVòWÊXuXÆYYgYÖZZYZZÈ[[e[º\\Q\—\Ü]]Y]”]Í^^0^a^Š^±^Ø^ý_#_M_t_š_Á_å` `,`I`d`‚`Ÿ`À`äaaa4aGaRa]aaaba_aeajacaSa5a`ñ`Î`ª`†`e`@`_ã_²_‡___7_^Ý^Ÿ^h^:^]ú]Ý]Ì]Ð]ï^(^z^Æ^Ý__r_Í`2`ºa@aÅb>b­c cocÇd,d¤döeGe¦ff¿gƒh*hŒhÁiiujjÁkUk¿kùlCl«m+m­n.n±o o‡oípMppíqKq§r rorÒs(sis˜s»sàtttsèsÖsÍsÞt!tt×u u/u>u5utütÐtžtztft^tStKt:t2t5t8t)tsësÎs¾s¯sœs’sŠsusVs;srör×r°r”rtrMr"qëq¨q^qp¾pwp,oéo¨odo nÝn—nQnmÏm’mYm#lìl¶l~lIlkÝk¡kfk&jßjj\jiãi¤ihi*hêh°h|hOh!gúgÒg²g‘gjgCgfôfÉf flf8eûe¿e†e;dådµd’dd~dgdOd!cñcµcic b¯b_baêa»a™ayafaMaSa]aXaBa)aaa`û`ýaaa3a_aa§aÐaýb2bdbbªbÏbàc c!cIcsc¨cÕcüdd,dKd`dd¡dÂdÍdðe e-e\e†eÃeèf!f@f{f›fÅfßgg$gAgfgyg¤gºgãgúh$h>hWhhh~h…h‡h{hphQh9hgïgÎg”g‹gDgMfûfõfŸfef eeKdŠdLcxc'baq`ˆ`\`'`ci®oøsTgö[œWYDWßVéUÓU‹U§UHUÈUVUóW§X÷XMXOX2XBXNX$XbX°XæXÿY¢Z#ZÒ[€\1\Ô]\]¾^ ^?^f^£^Ð__:_w_š_É_ì``]`˜`ða5a\ataaxaxa‹a¦a×aêaãaÞaãbbFb›bêcMcÅd0dŸe'eñfÜgŒgòh$hMh‰hÑi-i“jj“kk—kúlNl¢lümTm®mÿnVn¢nõoGo“oãp)pip pÖqq>q{q¹qør0r]rržr·rÒrðss%sBsUsms…s£sÆsîttDtft~tƒtƒt€tyt{t}tƒtt—tžt¦tªt°t®t±t¹t¼t½tµt°t­t¯t¬t¨t›t’tŒt‚twtitYtAt-tsùsÛs»sžs~sbsEs.ssrÿrþrþrúrürørórêrÝrÐrÄr¯rr‡rqr\rIr9r(rrrqïqßqÉq±q—q{qeqMq;q'qqq q qqq qpüpñpâpÏp¬p”ppqpip[pCp)poùoøoüp pp#p=pQplp†p¢p½pÖpãpôpÿqq5qdqŸqÙr#rpr½ssLssÚt+t~tØu+u}uÌvvQv‡v¹véwwFwrw¤wÜxxmxºyy;ymy“y¾yíz"zPzKzozƒzŠz“z§zÈzì{{1{O{g{o{t{n{i{e{i{t{|{{w{t{k{g{_{[{Z{R{>{zòzÉzŸztzLz"yûyÊy™ycy/xøx¾xx>wûw»w‰wLwvÏvŒv@uîušu=tçt‰t2sÚs‹sjrj›jÌkk]kqkk½kâkùllDl~lºlþmAmnq’qërFr±s s]s¬sätt%tCtbthtKt6t/tBtztÓu*uluŒu‘u‡uhuHu!tûtätÈt¼tÊtÑtÛtátÚtÛtÑt¶tŠtatEt5t'tt s÷sÖs°s‹sas>srúrârÁr rtr8qñqžqFpöp©p`p#oÚo›o\onÑn†n@mÿmÁm‡mUm"lçl­lxlClkÒk‘kSk j»jwj-iìiÀi†i?hýhÁhh_h/hgãgÆg¦gƒg^g4g fáf¶f‹fUfeðe¹e…e?død½dŒdjdVdHd'd cÖc†c bºb^baÕa avaMa1aa a aa a`ø`í`å`á`á`Ù`ì`öaa2a[a‚a±aÜb b?b\bŒb§bÔbòccBctc™c²cËcÓcòdd/d?d_dodŒd§dÄdøe eaeŠeÄeìffEfof‘f¯fÒfögg3g\g~gšg»gÕgõhh%hHhLhYhRhMhrirŽr§rÄrÞröss0sJs]syss­sÎsõt tJtqt…tt‹t‡tt€t‚t‹t’tœt¤t¯t¸t¼t¾t¹t¾tÂt¾t¶t²tªt¯t¯t¥t™t‹t„tytot^tQt=t,tsþsâsÃs¤sƒsgsCs'srórêrärãrÚrØrÑrËr¾r±r rŽrxrfrTrCr3rrqøqäqÏqÀq®qšq‡qvq`qIq2qpÿpápÐpÂp¶p±p®p¯p±p´pªp p‹pvpVp2ppo÷oëoäoÔo¾o¢oo†oŒo”o¡o²oÄoÞoýp!pAp]pppˆp—p­pÊpíqq:qlq¯r r^r¬rôsCs”sætFt¡tùuPu uäv'v]vv¼vêwwOw…wÁx xVx§xìy*y^y‰yºyízzz?z_zwz†z›z¾zå{{6{W{o{{{z{y{€{Œ{›{ {{–{Œ{„{x{r{m{d{J{zëz¸zˆz^z5z yÛy¬ytyAy xÒxŒxEwöw¸wyw;vòv­v]v u¯uPtîtˆt*sÏs|s,râršr[rqïqÂq q|qWqoqBqÉssrær³r¥r’rˆrDrqÏqºq‹qTqBqKq?qpÃp“pzp:oÏo‰oZo#nán£n_nm§m/l±l9kÏkfjýjšj5iÎieih¾h‚h@gýg±g_g f¹fnf!eØe‡e9d÷dºd‚dEdc¿c~cAbïb˜bYbBb>b—c cDcic®ddÃe,eeee9ese—eŠeGedîdédôdãdÂd§d¤dµdÄdÆdµd•ded.dcôddKdÀe:e§ffEfsf¤fôg;g¤h%h®i2iªj+j¢kkckÅllplïmdmËn(nnÃoo?ooÌp pWp¬qq`q°qïr#rRr}r£rÌr÷s#sPsƒs´sâtt2tYt}tžtÆtëuu3uMu`umuquwu€u…uŒuu–u™u¢u­u¹uÅuÍuÒuÒuÑuÑuÌuÂu´u¢u’u„uru\uDu'utôtàtÌt°tttt_tLt9t tsäsÃs¢s}sSs+srÛr·r“rrrOr2rqüqÙqÁq¯qžqŠqwqbqTqJqAq4q"qp÷pÚpµp•ppgpMp8p&pppppp!p!pp oþoíoÚoÇo¹o©o•o~oioZoQoNoGoBo@o:o6o3o8oFoVodoxo‰o”o¥o²oÃoÔoçoüp pp,p6p9p?pGpQpzpœp­p°pšpupop{pp|pnpQp+p0p0p(pp pppoòoßoÏoÇoëpp3p%p oôoÓo´o”o{oioSo7onønænÜnÛnëooo0oo3on÷nÉn’nVn!mýmémÞmÜmÞmÝmÛmÔmÅm¸m¨mŽmpmAmlëlÁl l…l]lNl+kêkÆk•kRkjþjÕj°jNjièi¶iŠi]i hßh³h˜hmh6gðg´gtg3fÞfwfeâeÚeÑeÅe°eˆeieGe0eeedídÅdƒd(cµc@bÞbbDaÒaƒaIa?a‰a«a[a!aqaÊbb5b4b aãaÉaÐaèbbibñc±dddÙd×e.eÇfCfŸfÎg g gRh`d`…`¤`¿`á`þaa4aFaNaQaTa^ajaqakaZa;a`ô`Î`¯`•`{`^`:`_û_å_Ñ_½_£_ˆ_|_w_p___`__·``£`úa8ažaúbcbäcjcídedÎe0e‘ffufÚg,gƒgòhjhºhüinjj¨kLkálWlÇm*mm÷nrnîozp ppýqaqÊr"rwr×sEsžsìt.tit“t¯tÂt¾tŸt˜t¡tÕu usu²uÍuÐu¶u‹ukuRulk¿kƒk9jÓj€j(iìi¿iwi&hÕh§hyhHhgãgÊg¬g€gSg%föfËf™flf8f eÓe¢eme1déd£dhdMdd cÏc“cNcbÉbzb'aòaäb.bŸbêc%c‚cød{dÅdÌdïdöeeSekefe8eed÷d÷dêdÈd§d¥d½dÐdÔdÃdªd‰ded;dd(didÜeYe¶ffHf|fªfíg=g´h:hÉiOiÆjMjÂkkrkÖl-lšmm‹mònQnªnòo2oro¶ppFpŽpÝq5q‹qÚr rXr‹r¸rÞss.s]sŒsºsåt t/tVtwt–t»tàu u4uTukuwu{u}u„uu•u•u–u—ušu¡u¨u±u·u»u¾u¾u¼uµu¬u£u˜u†uuuduUu?u"utútÜt½t­t›t}tatKt9t%tsòsÎs§sƒsbs>srñrÈr£r~r`rIr1rqûqÝq¹q—q{q^q=q'qqpìpãpápÑp¼p¤p†pnpTp:p"p oöoàoÎo¾o´o¸o¸o¶oµo±o£o™o‘o‚onoZoHo6oonínØnÎnÉnÉnÊnËnÉnÆnÂnÃnÊn×nänõo oo,oCo`oxoŽo¥o¸o¿o¶oÂoÑoäp pp)p2p`Ôaa}a×bb%baÝaÂaÂaÙbbYbÂcvd1d“dëefeÜf2ftf°fÒfÝggÀh€h£h“hÅi)iOi~iÑj1jvj¶jþk9k€k¿käl l5l`l†l lÝm#mimºn5nÉo4o~ppÝq©r-rKr–rÙs+s¦sétFt{u@uÜvuðuØvvuáuÍuÌuºu˜u~u}uŽu£uµu»u¼uÂuÎuàuîuùvv)vXv‹vŸvžv£v±v¶v³v¨v“vuvKv$vuçuÈu¤u~uSu tîtÁtŽtWt&sïs¶sss4rìrŸrKqðq–q;p×ppp o£o;nÕnlnm¡m>lÙlplk“kj¬j3i»i?h½h>g·g+f™eôe$d™d cUb›aâa=`«`*_¬_(^¡^]ˆ\þ\t[ï[s[ Z¥Z1Y¥YX•XW¹WzWJWVæV¯VVUV7VUôUÃUUXU%TÿTìTâTÖTÈTÉT³TT`T3TSþSßS¯SfS R¬R]RQ±QP`OšNèNgNMÜM¸M™MuMJM LîL½L™LŽLŸLÀLÞLþMMGM}MÄNNTN®OOiO¡PP›Q0Q¯RARÒSVTTÖUUËV_W W–XX€YYkY¾YñZ2ZzZÖ[,[u[¸\ \M\‘\Î] ]D]{]¯]à^^-^V^€^¨^Õ__(_V_ƒ_¬_Ö_ý``F`b`}`Ÿ`Ç`êaa a6aBaGaMaYajavayamaPa1a `ë`É`²`£`’`r`X`J`:`,`)`*`!`````*`R`‰`Ôa>a±b b‹bècLcÈdCd¿e6e ffbfÆg(ggåh2hŽhói@iŒjj²kRkßldlÕm=mªnnŒoo†p pq qxqârKr¤ssosÌttgt¡tÕtôutütëtät÷uueu£uÝuúuôuäuÍu¶u¬u¶u·u²uµuÝvvv)v(vvuÕu©uyuYuAu-utôtÇtŒtPtsãs¶sshsMs6srër›r/q¸qIqpÕpŸp\p o¾ononÎn…nJnmëmÎmmUmlÏlˆlVl#kÌkyk#jÃjUjiìi­i]ih×hhjh-gïgÔgºgˆgPgfãf¶f†f\f2feÙe§eveQedÍd€dEd&dcÃctcbºb\baµaua=a`é`Î`³`ž`ž`¥`²`·`Å`¾`²` `œ``›`®`áaa?aua®aábbEbibb£bÁbãbþcc%c5cOcdc…c”c°c¿cÙcðddEd}d¾dûe/ece’e»eçf f7f]ff¹fåg g%gHg`g~g–g¸gÌgågìgõgÚgÕg°g¥g~gqgXgEg/g fïf°fefe”edd,cšca„b)b\còiUohqPmóa\ [RX©W&V_UèUÛUåUöVùXXW±WêWÕWñX X XDXyX´YY‚YüZŸ[=\ \‹]6]¨^$^R^^²__B_…_¶_ì``'`=`‹`Ç`óa0amaaŸaÆaébb‡bÁbúc#cIcŒcÊddNd›dÒee6e¾fgagþhQhŠhØi+i—jj†jûkukÜlQl¹m0m™nn]n³nýoQo¢oþpMp–pàqqfq¥qérrZrr°rËrísss4sSs`szs‹s¬sÎsýt tIt`trtst{ttŒtšt§t´t¿tËtÒtÕtÎtÃtºt²t«t«tŸt¢t–tŽt|tmtVtGt/t%tt sþsùsãsÌs©sŒsksFs rùrÙrÂr±r£r‘r„rsrdrVrDr4r#rqúqîqÛqÔqÄq¶qžq„qaqAqqpèpÝpÊp¶pœp}pap@p#p oõoèoâoáoãoàoØoÈoªo‰obo9onýnìnänànÛnÏn´n nŸnªn´nÇnâo oo-oonñnànËnµnœn~nenUnTnTnVnWnSnLnHnHnMnYnhnwn†n—n®nÉnãoo o/o@o@oDoUoloƒo’o o¢o³o¾o¯o—o‰o”o­o¶o§o‰otoˆoo¢oŽonoboboRoimi“ièjDj“jék#kQk„kÂkþl-lVlˆl¼lÒmm[m–mÞnbnìoo€pBq q—rr‰ssos®ttRt²u.u†uívkvjvcvPvuçu¸u®u®u¦u‹uu’u©uÃuÌuÒuÔuÒuÞuûvvEvfv‡v©v²vºvÊvävóvîvÓv±vŒvlvPv3vvußu¶u‹u]u/týtÌtžtit3s÷s¶srs rÎrvrq²qLpäp|po¢o8nÎnfmþm—m4lÌlbkôkƒk j’ji™ih—hg‹gfqeÔedkc×c!bca­a`` _‡_^l]á]L\·\&[˜[Z‘ZY°Y3X±X0W²WBVïV´V‡V[V,UùUÐU´U•UyUSU TîT¿T˜TƒT~TvToTyTqTTT/TSåSÕS½SšSaS R³RiR*QÖQRPªOõORNØN~N@N MÓMžMhM-LóLºLL|LL¸LÝMM1MjM®NNMN¥OOOáP-P”QQ„RRˆSSTaUUVVWWWòXvXíYTYªYçZ-ZwZÊ[[[[Ÿ[ð\.\l\¦\à]]J]~]±]Þ^^3^_^ˆ^´^Ý__2_[_…_®_Õ_û`#`B`Y``®`Î`éaa!a2asVs_sys„s¥sÅsïtt5tEt[t^tjtutŠtžt²tÁtÏtÖtÚtÙtÌtÁt¯t«t¢t¢t›tœtŒt„totbtDt1ttsîsäsØsÓsÁs«s‹sjsCsr÷rÒr±r˜rƒrlrTr@r.rr qüqñqáqÕqÅqºq«qžq‹q|qfqTq3qpîpËp¬p“p~phpPp;p poáo¾o¦o‹o|osooomoho\oFo$onßn¸n˜n|nknan]n]nRn>n-n+n0n=nUn{n©nÓnûo$oLoroŽo¨oÈoãpp'pWp–pìqOq¦rrbrÑsKsÂt3tŸtùuHu†u¸uëvv]v¡væw6wwéxBxŒxÍyyCy/ykyžyÑyýz(zOzyzªzÜ{ {1{U{t{ˆ{˜{¦{²{Â{Ó{ß{å{ì{ò{ð{ä{Ï{·{¡{‚{T{zÞz¤zszLz!yøyÌy¢y€yYy.xõx³xhxwÍwƒw=vòv¦vYvu®uNtêt‚tsÃsrs-rêr°rƒr\r=rqúqäqÔqÔqÙqîrqþqíqØqÅqªqˆq_q7q pÏpŒpPpoÓooLon¸nun6móm³mrm6lþlÉl“l_l#kÛk’k=jÞjwj iši!h«h=gÙg€g-fÞf•fBeñe¤eZe d¶dedcÑc’chc;c bÔbbZbaÒa•araŽaÔb%btbÈcctcéd8dMd8dtdÚeeed÷eee d÷dÑd«d±dØdõd÷dédßdádâdÓdÁdÁdöeFe•eÎffTfŽfÇg gcgÓhWhèiui÷jujôkikÎl)l‹lýmmmànDn§ooWo£oèp0p~pÈq qVq¡qðr=rrºrïss@sis”s¼sât t-tKtkt‘t¿têuu9u`u{u”u§u®u®u±u¸uºu¹u·uµu±uµu¼uÂuÇuÆuÆuÆuÉuÅu»u³u§uu“u‡uuluVu=u tÿtätÉt«ttptPt5tsôsÚs¸s•sosMs(srßr¶r‹rcrBr)rr qöqáqËq±q“qrqMq%pûpÌp£pˆpfpLp;p#poúoáoÍo¸o¤o”o†o}oooYoBo!nûnßnÌnËnÎnÓnÕnÉn½n¯n—nƒninWnHn0nmúmçmÛmÙmÙmØm×mÒmÌmÏmÛmèmönnnn3nPnnnn£n³n¿nÃnÉnØnìnýoooo-o@o7oooo9oGoAo7o5o'ooo o!oonînÑnÄn¿n×ooonùnØn¶n’nxnenYnQnKnEnAn?nCnKnRnUnPnHn9n/n,n.n&nmómÉmœmzmamOmHmMmMmKm?m6m-m#mmlèlÀl†lDlkêkÆk‘kUkjìjäj¦j0i¼iŽini*hîh¶h…hVh%gôg¾gg7fïfªfff%eãe¤eje2dçd“dWdSdhdmd[d5dcÑc´c¨c¦c¨c©cœcqcbŸbaµa}aG`î`›`o`²a`õ`L`N`ÔaNaµaæaíaËa®a¢a²aÙbb\b»c‚dOdêeSeÃf*f\fFfføggªhœh‰hzhÔi-iii¡iòjPj¥j÷k1klkžkØll>lal“lÇlômCmmÏn$n›oo.o™p+pãqªrgs s“s÷t>t’t¯tëuvvSvuv\vsvXvuçuµuu‘u”uŽuˆu•u©uÅuØuÞuÙuÞvv9vsv¤vÄvÖvãvåvívÿwwwvåvÆv«v•v{vhvWv7vuóuÍuŸuou?utátªtwt9sïs sLrðrŽr%q¹qQpæpwpo—o,nÅn[mñmm/lÃlWkækqjõj{iüiyhõhtgégafÔfpùp¦pKpo©oQo2nÿnÄn“nMnmàm¬mdmlíl°lGkïk£k:jÍjŒjAiøi±ini/h÷h½hŽh[h#gègŸgSgf·fdfeèeÐe¿e©eekeCedÜd”dQdcãcšcGbñb–b>aèa—aMa`ß`Ç`³``€`k`b`a`l``‡`‚`m`c`X`_`u`‰`®`ÛaatCtQtbtztt¨t¹tÈtÏtÐtÒtÈtÄt²t¯t¥t£tœt˜t†t~tctTt:t#tsêsÑsÆs·s°ssƒsdsAsrïrÇr¤r€rdrLr*rqóqßqËq¾q­q§qžq˜q‰q|qkqZqFq5qqpõpÞp½p—pspMp*poùoæoÎo³o˜owo[o;o"o onõnïnánÓn¸n›nxnUn5nmúmémÚmÒmÏmÊm½m²m´mºmÎmënn5n[nn¬nÛoo%oGobo…oo¶oçp>p¢qqYqµr ršsstthtÄu uGuxu­uãv*vpv¿wwtwÓx$xlx°xïxÐyyMy„y·yçzzJzz¶zè{{?{b{}{“{¦{·{Â{Ð{Ú{ã{ï{û{ý{ó{Ü{À{¨{‹{b{.zóz·z„zYz/zyØy±y‘ytyRyxåx£xVxw¶wkwvÔvŠvoûo¶olo'nÙnnGnm¾mxm3lýlÎlœlel0kôk¤kTkj³jYiöi‹ihŸh/gÀgZfûf fGeîeœeTed¶dldcÆc}c;cbÚb¯bbNbaÓa“aVa,a;ava¿bbnb¹cckcµcÌcÜd/d’dÙdçdÔdÔdôeedýd×d±dºdçee edÿeeee ee6epe²eäff^f›fÕggygâhdhÿijj–kk“kølSl³m"m”nnsnØo5o‰oÚp+pvpÁqqPq–qàr,rpr±rèssFsns“s·sÞtt"tEtft‰tµtôu'uMuouŽu¦u¸uÃuÄuÆuÉuÏuÑuÐuÔuÕuÕuÙuâuæuéuíuñuñuîuéuâuÙuÌuÁu¸u©u˜uƒuiuKu,u tètÈt§tˆtgtEt!süsÔs¯sŒsisGs'srÙr°r…r[r5rqýqíqÝqÌq¹q©q•q€qhqAqpüpÐp¢pupKp'p oíoÕo¹o›oƒoloUoAo2o#oonþnçnÇn£n€nln_n[n`nhnonfnIn4nmômËm²m´m¨m”m„mtmcmZmTmQmQmSm\mfmsmƒm‘m m­m»mÉmÞmùn nn$n8nCnPndntnnn¢n¹n¸nµn®n™n§nÃnØnßnànÎn¯n¡n¢nªn¦n©n§n‰nsngndnn§n¸n«n’ntnRn1nnnnnmþmýmúmúmûmûmúmòmåmØmÏmÒmÔmÈm³m›mwmVm8m&mmmmmlólélÛlÒlÁl¥llMl kÉk˜kzkWk)jàj”jj?iÕi€iBhþhÁh¢hwhGhgßg¥ghg%fÛfŠf]m]£]Ô^^1^Y^^«^×__*_U_~_®_Ú``%`G`o`‘`°`Ë`ëaaa%a4aIadata€ava_aBa&aaaaaa`û`ùaa"aEawaŸa³a¤a¢aÙb,b”bûcecÒdEd±e!eeûfffÓg`k`„`Îaa[aˆa½aÌaÖaÛaõb3b¤ccˆcïdWd¯dãdýeege¸ffKfÃg>gÈh9hÀi+iiòjDj€jÉkkrkçlxmm¤n$n‹náo6ooíp4pqp¾qqIq‘q×rr[r•rÍròss.sCsOs]sasrszsŽs¦sÌsâsÿt tt t3tCt[trtˆt›tªt¸t½tÃtÁt¿t¶t³t¨t¦t—t‘t}totYtAt#t sésÔs¹s¥s‘s‚sksSs3srær»r’rmrNr/rqêqÇqªq—q~qsqcq\qVqOq?q5qqpøpàpÉp°pp…pmpTp2poåo¿oŸo†oooWo?o'o nínÐn°nœn†nxngnUn@n(n mðmÎm±m’mzmcmNm=m5m7m4m3m5mDmWmmmm±mØnn8nen’n½nàooo0oEoƒoØp@pŸqquqîrfrásZsÌt3t†tÐtÿu5ulu°uövEv˜vöwXw²wýxHxŽxmx±xóy2ygyœyÒz zKzˆz¾zô{&{N{l{†{›{±{º{Ã{Ë{Ø{ä{ò{ó{ç{Í{¶{Ÿ{‚{a{.zõz¾zŽz^z7z yáy½y¢yŠylyAy xÎx‡x9wìwwKwvºvovu¼u]tüt˜t:sæs•sQsrÙr´r‰rdr>rqóqÓq±qqwqbqTqKqdrddŸd´dàeeedÞd²d¸dîeeeee%e:eGeFeKebe‹e¼eðf)fgf¥fäg/g‚gôh}ii®j5j¹k6k´llzlØmBm¶n*nœoodo¿ppdp±pÿqHqŽqÔrrbr£rÞss>shsŠs¯sØsûtt@tdt’tÄtùu/uXu€u¡uµuÈuÖuÜuÛuäuçuövvvvvvvvv v v#v"vvv uÿuóuåuÔuÃu­u‘uuuWu7utðtÍt¨t€tVt/tsÚs²sŒsesAsrórÌr£rurGrqúqÜqÈqµq¥q—q…quqiqVq>q#qpáp»p˜pmpEp"oüoÕo²o‹omoQo2onÿnînØnÆn¹n±n¡n‹nonLn+nmúmómømõmðmám×mÇm©mzmUmBm.m(m%mmlñlâlÕlÎlÍlÒlØlàlêlõmmm-m?mJmZmgmmmymˆm”m¦m¾mÚmìmúnnn'n1n6n.n2n>nRncngndnSn6n#n.n4n7nHn8nnmõm÷n nJnWnOn7nmümßmÍm¿m¹m¶m°mªm¦m¤m mœmœmšm‘m~mmmnmwmzmnmamJm0mlýlðlçlßlÏl½l«lžl‘l„lpl[l7lkÍkŠkJkjðjÁjjJjiÚiiFhûhºhŒhdh6hgÇgŠgNgfÊff+eÑe|e.dèd§dqd?dc»cic4c,cAcOcIc'bôbÊbµb²b·b¿bÊbÄb™b;aºaG`ÿ`Ö`˜`Z`5`X`±`—_Ù_›``®a6aa¹a³a—a‚a‰a¦aÞb6b¸c`d d–eegeeÀf fžgg`gÖgºgÎhRhÍiioiâj%jjjÉkkMkkØll(lJltl¯lëmmPmªnnpnÐoMo²p2pÇqNr rØs–sñtVu uuƒu´vpv÷wv¼v¦v|v1vuÖuªuyu_uGuGueu{u u¿uÚu÷v-vcvšvÕww/wMw[wXw[wWwRwHw=w-wwvøvçvÙvÇv¸v©v‹vjvCvuæu·uˆuUutÓtƒt)sÈsdrùrŒrq¯qCpÕpeoóoˆo"n½nYmõmŠm#l¹lFkÎkTjÔjOiÉiEh·h)gœgfjeÓe0d–còbçaèa`š`P_è_d^ã^[]Í]1\[é[CZ£Z YuXÜXOWÆWMVáVuVUŠU%TÓT”TvT]TET+TSúSßSÁS¤S‡SjSNS@S@SMSoSˆSƒSwSeSLSESGSIS6S RÆRˆR]R4QæQtPìPpPOÊO„OAN÷N¦NFMàMcL×LuL\L‚LÆMMhM¼NN…OOsOÇPPnP¼PýQQ‰RIRãST&T—TÿU~UþVwVÉWWgWÅX+XŽXîYHYŸYðZFZŽZÑ[[V[[Æ[ÿ\4\h\–\Ä\ç] ]4]c]]È]ô^^G^s^›^È^õ_#_P__¯_ß` `/`R`r``­`Ì`é`ÿaa"a9aUaiaxauacaGa3a#aaa)a4a5a/a3a8aSaa½aöbbbb@bŽbícbcÞdUdÑe@e±f"f’fügpgáh[hÁi*iiãj=jˆj×k#kkÝl>l¡mmŠnnonÚoMoÉpFpÕq]qÕrJrÃs1sªtt|tÏuuBu^utu|uu¤u¼uÒuõv)v|vØw=www–w¡w¢w­wÁwÑwçwõxxxx$x xxwòw×w¿w w„wewLw/w våv³vvv.uØuvutËt³t£tˆtytHt sÊssBsrÍrŒr4qÝqŒq/pÞp›pZpo¾ooFnønÅn{n2mëmœm]mAlþl©l]lkÂkMjçjjFiõi²iki'hêh³h}h>g÷g³gagfÆfgeüe›ebe]eYePe8edìd·d‚dDdc¼crcbÇbjba¿ata,`þ`á`Ù`Í`²`˜`Š`y`l`f`]`h`l`z``†`‰`˜`¢`¹`Ê`å`øaa#a1a3a?aGaSagasaŒa™a¬a¸aÙaêb b bGb[b‚b˜bÃbíccCcuc§cÊcúddFdldœdÊee8eoešeÍeõff:fVfcf…f fÊfÚföfñg g ggggggfèf×f‰fcfeTdØdc›ckcýfäkelKkdD]Ã\²\ð\¦\~XÙV¦VEVV=V[V¥VÚWfW»X@X†XÂXÛXæYYHY†YÁYêZ>Z‘[[‚\\–]]‡]Ý^*^v^¿__c_«_õ``0`7`b`ˆ`Üaama¦aÚaèbbb!bgbÆc0cddndÎee,e7ere»ffUfÂg.g©h!h¬i$i•iäj4jij¡jÓk)k›l,lÌmrmýnlnËo!ooÖpp`p£pëq;q‚qÐrrVr“rÏrûs!s7sJsQs[s_sksqs„s—sµsÍsäsísþsýt tt4tLtatxt„t–t¢t«t°t®t¨t¨tŸt™t‹ttjtVt:t#tsðsÑs¶s–ssgsRs5srñrÎr¨r€rZr8rqþqÜqµqqnqWq@q0qqqpýpèpØp½p¨ppup_pDp+poøoãoËo¯o’omoGo#onénÑn½n¨nnynYn:nnmímÙmÁm­m’m{m_mFm)mlõlÚlÀl­l¦l¦l©l­l´l¾lÎlåmm0m]mm»mênnMnwn“n§n·nÚoonoÓpMpÉqFqµr'r§s!s”sótJtˆt¾tóu4uyuÄvvpvÑw5w‹wÚx'xxIx—xßyyLy†yÇz zTz’zÏ{{5{W{s{Š{¢{«{³{º{Ç{Ò{Ý{Û{Ë{°{›{Š{l{K{zëzµzŠz_z5z yçyÃy«y–y|yUy&xïx«xbxwÆwvw(váv˜vBuèuŒu-tÏtmtsÎss@srÙr®r…r[r4r qÙq¯qŠqgqOq7qqpçpÎp³pŽpip:poÐo•oPo nÈn‡nGnm¾mvm0lèl¦lel%kàkŸk]kjÌj†j:iãii:hâh|hg§g;fÈfYeëe…e&dÎdodc·coc#bÒb‚b=b aÖa«aƒa_a+`ò`¶````Ûa*a‡aàb9bbãc0cScŽcÒdd;ded‰d¾dôedùdßd¼d¾dëee(e$e#e4eOecehefese–eÀeõf,fmf­fðg?gh h‘i,iÍjWj×kVkÓl=lœlúmamÒnMnÂo,o‹oæp?p–päq1qyqÂr rPrrÌrþs,sXss¨sÉsìtt8tpt tÎuu4uRutu£u¿uÎuåuøvvvv!v1v:vBvNvMvMvMvMvLvOvPvOvJvBv8v.v"vuþuëu×u¾užu~u]u7utétÀt–tntAtsès¸ssfs>srêrÁršrmr@rqíqÌq«qqxqkqUqb2bZˆZÏ[[E[x[¯[ã\\A\o\š\¼\ß]]+]U]‡]±]Þ^^5^`^^¼^ë__N_€_°_Þ``'`I`h`†`¦`Æ`Þ`òa a#aAaYajanabaLa;a.a2a6aIaUa`adagapa‘aÀaþbAbabkbyb¨bícAc®d'd¨e-e¬f*fgg†hh}höiciÎj6j•jèkFkœkØllvlÕm8m¬n(n oofoÖpSp×qdqår_rÓsLs¼t0t—tîu0uau~u–u¬u¼u×uóvv;vyvÄw&w‹wÞwüxxxx;xLx_xoxyx…xŠx‘x‘x~xjxOx8x(xxwæwÈw©w…wdw;w vÍvƒv)uÇunu8u1utöt¾t~t=sðsÇs§sps(rÙr}r#qÎq{q%pÚp˜pFp oÌo€o*nôn·npn&mçm¦memlÜl¨lUkôkvkj½jejiÑi‰i@høhÄh†hBgög±g^gfÄfqfeÀeueXeHe3edödÑdšdhd'cècžcXcb¯bQba¬aea%a`ò`î`ä`Ï`­`Ž`†`|`{`r`p`q`…`…``•`®`´`Ç`Ð`á`ïaa a aaaaaaa,a/a?aJaja{ažaµaÚaôbb=bcbb½bíccCclc”c¹cÛcüd,dUd‡d»dòe'e[eŠe·eÕeùff-fEfyff±f¿fÕfÝfîfûgggg fáfäf°ff-e°emsm mÔmønn'nAnsnÏoCo¸p'p­q!qzqïrrrís[s¹t tJt}t·tõu=u‡uÞv=v¤ww`w¯wwÚx)x{xÇxüy2ywyÄzz[z zÛ{{;{]{v{{™{¡{£{­{·{½{¶{£{Œ{{{m{U{5{zÛz­zzZz6zyëyÌy·y¢y‰yby6yxÀx|x2wæwšwLwv¹vhvuµuTtøt›t?søs«sds+r÷rÈr˜rjr@rqéq»q‘qcqp oÙo£ojo3onÉnnTnmÛm›m]mlÎlƒl3kèk¡kZkjÃjxj0iéiiRih°hSgôgŠg"f²fCeÒeje d¦d8cÍcncbÊbwb%aØa›aca9a`ô`Ç`˜`_`3`)`4`k`´aa]a¾b*bŸbìcc7ctc°cød?dmd—dÑdídìdÚd¼d¾dèee'e(e&el?lBlPlalpl~l‘l§l»lÑlémmm!m-m8mBmHmAm0mm mm2mKmTmVmMmBm3m+mDmsm—m¥m£m’mzmamNm?m4mmlølñlëlælàlÝlÕlÌlÈlËlÓlÙlÜlÙlÕlÄl±lšlƒlnlTl8lkúkäkÒkÅkºk«k•ktkHkjÕj“jWj iãi¡iYihÐhhIhgÊg˜gbg,f÷fÃf‰fKf eÂeke d­dKcïc£c_c)bûbÇb‰bDbb bb,b'b aàaÇa½aÀaÇaÚaêaåa®aM`Ü``L`_ï_Ì_â`I`e_°_%_r` ` a$ava‹axa\a\aya·bbŸc2cÆdUdãexeÖffMf¿fãfìggihh\hÖi2i^iØj^jËk'kok¥kÎkòl!lBlml¡lÆlîmm_mÃn@nºo@oÄp$p«q'q·rwrûs§tt^tûuŠuiu•všvôvàvÃv…v2uúuÆu®uŽujuMu3u6ugu¦ußvvAvnvv×wwPwhww•wwšw•w™w™w“wŠw|wnw`wSwFw>w3w#wvòvÅv—vfv/uüuÃuŒuItôt–t2sÉs]ròr…rq«qCpÚpopoœo8nÍnbmøm‹mlªl.k©k'jœji„hôh]gÇg*fˆeìeJd¯dccb`à`_I^Ö^r^ ]¤]\o[¶ZûZHYªYXŒXWqVäV]UáUsUT—T&SÇS~SGS%SSRôRßRÇR²R›R–RŽR|RoRpR…R£RÍRäRëRðRäRÜRäRúSRðRÉR•RnRQR(QÚQqQP£PlP0OéO¤OZONºNPM¾MYMCM]M¡MëN>NŽNèOPO²PPZP¿QQoQÄR:R¬SS¯TUTÁU UmUÈVVrVÇW!WvW¼X XrXßY;YžY÷ZQZ™ZÝ[[B[p[›[Ã[î\\E\s\”\¶\Ñ\ô]]G]k]š]Ã]ò^#^Q^‚^µ^å__L_}_­_Ö_ø``=`\`` `º`Ñ`ía a,aEaYa^aXaJa>a7a=aDa[ama‡a’a›a´aÛbbDbqbœb¹bÙccPc¡ddwd÷exeûfŒg gŒhhƒii|iôj`jÛk;kskÌl)lol¶mmfmÕnHn¿o7o•oópdpèqjqérirâsRsÌtAt¬uuLuu¦uÂuÞu÷vv8vXvƒvÂwwiwÚx5x^xpx‚xx¨x¿xÒxäxïxüxþxùxôxßxÃx x}xixnxpxZx>xw÷wÏw­w…wXwvÔv{vuÌu¨u¡u~uFutÃtzt0ttsÂsssrÂrirqÏq}q+pÙp€pNpoÐoro,nün·ntn;mçm–mRm lÕlŠl.k¿k[jýj”j=iìižiIhþhÖhhFgþg±g_gf¿ftfeÛe™efeJe%edâd¶ddJdcÊc€c:bébœbDa÷a¡a`a.a aa`ÿ`ì`Ï`¦`”`ˆ`†`~`}`w`†`€`Š``ž`«`Â`Ç`Ð`Ú`ã`æ`Þ`Ü`Ô`Ò`Ì`Ð`Ë`Ò`Ô`â`ä`øa a*aCafaŠa«aÔaÿb,bWb…b´bßcc4cYcxc—cºcâddAdwdªdàeeLeree¯eÔeèff8faff—f­fÊfÓfìföfûfóf÷fÕfËf²f&eïe]d§c›d7f\ihk±kDgd`­^x^ÉaGbÔ]6YyW“VuV6VmVVòWwWçXPXƒXÒXÉXûY$YwY·ZZgZ¯[[^[Û\\\Í]]]×^$^g^¥^ç_._z_Á_û``/`T`Œ`Ýa2a’aÜb&bObyb—bÁbñcCc‹cædFdªe e]e¦eÔff5frf¯fögBg¤h hŠiiniÈjjVjyjˆj´kk’l(lÓmrmúngnÍo&o~oÜpplp¼q qZq¢qçr.rmr°râss*s>sGsKsMsUs\sjs|s”s§sºsÂsÁsÅsÅsÐsãsùt tt8tMt^tltmtjtdt_tZtQtBt2ttsís×s¼s§s‹sosLs*srèrÂržr|r\r=rrqéqÎq­q†q[q/qpæpÊp¯p˜p…popXp=poúo×o²o˜owo\o;onþnÝn¾n¢nˆnpn]nEn+nmãmÄm­m mm~mjmMm,mlÝl»l lŠlrl^lNl:l(lkþkåkÊk©kŠkpkgkrkŠk£k¼kÙköll7lil˜lÌl÷m&mSmxm’mªmßnKn×oLo»p1pŒpÏq=qÊrGr¼s's…sÐtt:trt°töuEu¢v vsvÜw5wwiw¼xxfx«xßyysyÊzzez¦zâ{{@{^{z{Š{“{‘{”{˜{—{{{{e{Y{N{;{zõzÌz¦z€zZz8zyöyØyÃy«yykyAy xÎxˆxAwøw¬wbwvÍvv,uÏutut»tetsÇs‚sCs rÖr¢rrrErqãq³qƒqYq0qpÝp°pˆpdp8p oÔo“oSonÝn©nxnInmÝm¡mfm/lñl¬lblk»kgkjÆjuj#iØi”iMi hÄhrhg¹g^gf•f*e½eUdñdŒd c§c3bÒbb(aÍa}a4`ó`Å`¢`†`b`5`_Ú_Ñ_è``A``àaNa½b1b…b¸bäc"cqc¾ddOdsd¢dÅdÑdÓdÉdÇdãe e(e3e7eLejeƒe†e|e}e•e¼eðf1ftfÂggdgÊh@h¿i`iúj‡k kˆllwlåmIm§n n€nøogoÈp&p}pÔq&qwqÃrrZršrÑss2s\s“sÈsôt%t^tt¼tðuu/uHunu¥uÑuæv v)vacaa»aîbbMbwb¥bÐbõcc7cRcucšcÁc÷d'dgd—dÖee9eYe{e›e¾eçff3f[fnf’f¬fÍfÑfõfÝføfæfÔf½fFfe#džcæegÖiék j¤f cÑb¸`L_?aa\_YÓXbWVgVoV¢VòWqWêXQX“XÃXÕXøY2YwY±ZZ`ZÌ[$[ƒ\\y\ð]J] ]ã^-^h^¢^Ù__`_©_Û_þ`#`T`”`àa?ažaøb>bzb²bØc c@c€cÃddad¿eene¶eïf)fff­fìg#gXg¢hhvhêiXiµjjVj~jˆj›jÒkHkÙlwm m£nnŒnðoQo¹p pZp¨püqBq‡qÇrrMrŽrÂrôss-s7s=s>sDsJs\sos„sšs¤s¬s­s¬s«sµsÄsÔsåsøt t#t7t@tFtAt:t6t,t!tsüsæsÔs¿s«ssxs^s@sr÷rÒr®rrnrKr-rqôqÙq¹qœqwqKq pñpÄp£p†pkpTp>p+poõoÕo®oŠoao8onñnÏn¯n‹npnJn'nmçmÏm²mžm‡mimKm)mmlñlãlËl®l‹lcl:lkùkâkÑkÃk°k¡k‘kklkUk7kjéjÍjÊjãkk$k?kXkwk•kÂköl(lXlŠl»lìm mm@m’nn¦o.o•oÝp/pŸq'q«r#r”rûsNss¾sôt*tit¶u uruÜvKv±v”vówOw¢w÷xIxˆxÈyyqyÎz#znz¯zå{{@{^{t{{{z{w{q{f{V{B{8{3{){ zëzÌz«zŒzjzJz)zyõyÝyÄy£ywyGyxÒxŽxIxw»wrw)vàv“vCuãu‹u0tÓt€t-sàsšsTsràr©rpr=rqÓq¤qrq>q pÜp³p‰pZp.poÓo˜oWonÉn‰nOnmìm·mƒmOmlìl¹lxl.kákŠk1jØj‚j1iÞi‹i@hùh¹hph%gØg|g#fËfmf e¥e@dØdsdccb¢b7aÙa|a&`Ð`„`M`*`_ñ_Ë_¥_€_n_Š_š_Î``j`ìa^aÉb,b‡b³bÞc2c˜cõd5dTdrdžd±d»dÂdÌdêe e&e9eKefe€e“e•eŽe‰e™eÀeöfvRvavmvuvv…v‹vv”v“v”vvƒvyvnvavPvAv2v$vvuóuæuÏu³u–utuPu,utÜt³t‹t_t-sûsÎsžslsAsrår¹r‰r[r-rqÛq²qŠqgqCq!qpápÆp§p“p~pfpMp9p(poûoãoÇo£oo[o;onùnÛnÄn¬n“nsnRn/n mîmÔm¹mm‡mnmRm0mm l÷làlÉl«lŽlslYll1l*llllll"l/l9laCa=a:a8aAaNada‹aºaÞaíbb9bzbšb§bác$cQc™cõd]dºe-e f#f±gBgØhehòiqiðjajÔkAk›kðlRl¾m$mmÚn4n“nöoooäpPp½q%qrrxrísfsÜtVtËu6u‰uÉuüv!vFvsv¡vÅvåwwDw”wîxRx¹xóyyvuÓu–u_u3tÿtÐt‘tIsýs sLsrÉr€r-qÌq}q*pìpªpJoäoŸoqo=nùn¬nVnmÏmmBlþl¯lblk‹kjŸjCiàiŒiMih´hhhg¿gcgf­fPfe¿eŠeZe.edãd»d‘dYd!cßcžcZcbÐb”bGaýa¼aaqaWaVaPaFaX™XÍXýYY:YgY¿ZZuZô[I[Ã\&\•]]q]¾]ü^>^k^¨^Û__J_‹_»_ä` `B``ëaQa¨bbNb—bËcc8ckcªcìd/dpdÃe e^e¢eçf&frf½gg7gcgšgéhXhÉi=i¢jjPjjjœj¹kkll§m:mÂn9n´o(o”oþpUp¢pòq6quqªqçr!r`r›rÌrósss*s*s2sl.lkûkÛk±kŒkjkMk9k*kkkj÷jçjÔj¿j¡jwjQjj]jjœj´jÏjókkPk†k¾kúl4lqlœl°l´lËm#m²nIn¾ooŠpp…q qrrlrÂs sFsys­sãt*t}tàuOuÀv,vv}vÜw3w…wÛx$xkx»yyxyÔz+zqz¬zã{{>{]{i{g{[{N{G{={1{"{{{zÿzézÐz¸zŸzzhzMz4zyþyßyºy‰yQyxÐxŒxKxwÀwyw0vëv vQuøu™uAtít˜tGsös¬sds'rêr°rvr;qþqÁq‡qQqpãp³ppUp0po×o¦ojo%nán¢n]nmÚm˜mYmlæl¸lŠlXl%kêk¥kTkj§jJiìi–i@hñhªhdhgÎgg*fÝfŽf:eåeŠe)dÁdXcðc{cb‰ba a3`Ó`|`+_â_¶_•_v_[_?_$_ __2_Y_’_ø`€`îaaaÎb.bhb•bécdcËdd4dCdgdŠd¬dÅdÎdêee'eDe`eƒeŸe¬e«e¤eŸeªeÓff[f±ggjgÆh8hªii™j$j¬k2k®l'lžmmwmÚnAn±o)o˜oúpTpªpüqNqŸqñr@rˆrÇrÿs6sns£sÐtt?tgt›tÉtëu(u^uu¾ußvv%vDvavrv}v„v‹vŽvv“v“v•vv…vyvov^vRv>v&vvuóuâuÏuµu¦u•u{u[u7utêtÃt–tjt=tsàs¨sxsPs rðrÄr›rorBrqèqÁq˜qqqIq)qpßpÀpŸp„phpOp7p p oòoØoÀoªoŽopoQo/o nénÁnn…ntn]nIn0nmðmÍm«m‹mqmXmBm,mlúlålÏl½l¨l‰lhlFl"lkâkÂk¥k…kek=kjñjÉj§jŒjvj^jAj*jjiæiÏiÂiºi²i®iªi¥i¤iªiºiÏiìjjj/jFjVjcjljsjyj~j†jŽjžjµjØjøk kk5k>kFkPkOkLkQkzk¼kîkýkèkØkÚkÜkêllAl`lxl~l}lqlalIl0lk÷kÝkÊk»k±k­k°k½kÎkÛkäkçkåkßkÐk¾k©kkmkDkjßj¸jšj‚jtjrjhj[jLj1jiÎii4héhŸhVhgÑg…g=fëfšfIeÿeÃeebe:edÚd˜dOdc®cXb÷bœbBaða¬ama1`ð`¶`†`k`h`u``€`u`d`]`^`a`h`{`—` `{`._à_«_ˆ_Y_O_P_¢`D_Ï^â^Ã_,_Ã`a`åa(a2a aa.ahaÈbKbÕc^cÔd+dudÎe(efffþgRg—gêh+hliiŠiÛj>jÆkMk®kÿlGll¨lÙm#m|m¤mÑnn9nxnäoVo´p2pp÷qqàqÔrmrìs>t‡tett©u÷v›v£w vÕvjvu¿uuxusuu’uµuév?v€v²vëw&wYw‚wªwÆwäwúxx!x/xQ#QPúPëPãPàPåPôQQQ*Q@QeQ’QÎQúRR8RBRRRlR€R~R†RzRdRXRMR7RQÂQjQPÓP­PPrPUP:POßO°OŽO‡OšOÒPPkPÎQQ`Q‘QÏR*RaR”RãSGS¼T TtTÎUUbU»V V™WWWåXsSsastsyswsvsxsss™s§s´sÂsÏsÚsésçsãsØsÇs±s—s|sks\sPsCs0srýràrÁr¤rrarDr)r qíqÍq«qˆqaq9qpæp¿p•phpBpoüoåoÒoÀo¨o‘osoOo-onÐnžngn6nmÛm°m‡mem@mlölÌlªl†lelDl!lkìkÑk²k”kykfkQk:kjøjÕj¸j¡jŽjƒjwjnjbjVjIj;j&j iäiÆi³i¹iÏièjj'jNjxj¥jÚkk\k¢kél"lClCl>lnlémwmõngnÞofo÷p~pÿq{qær@rŠrÍrþs/sas¡sôtWtÇu8u¨uv vnvËw#wuwºxxXxµyy~yßz*zlz§zß{{6{F{@{3{!{{{{{{zýzõzîzßzÎz½z£zˆzpzXz>z$zyÚy y^yxÓxxLx wÅww=vöv°v^v u±uUut­t_tsÊss?rÿrÀrƒrAqúq¸qvq6põpµppPpoðoÂoŽo\o%nçn£ndn%måm¤m`mlÈl„lOl"kïkºk†kKkj¹jfji°iRhõhhOhg¸gigfÓf…f5eìe¦e^ed«dCcØcfbìbsaôas`ø`Ž`,_Ú__M_%_^ð^Ó^¹^¥^§^Å^ì_$_‘` `n`ôataÉbb:b—cccßdd!dCdsd’d¸dÔdée e$eKete¡eÄeÓeÛeÔeÍeÑeöf5f‡fêgDg hhdhÐiDi¶j>jÅkCk»l/l¦mm}mçnPnÁo3o¡p p`p·q qWq¦q÷rErˆrÇssGs„s¶sãt t5tntštËuuOuzu¯uívv0vMvgvyv„v‡v‡vŒvvvŒvv‡v~vwvcvRvEv@v!vuòuÞuÑu·uuulu[uAu tûtÕt¬t…t]t/tsÖsŽsVs.srÖr¬r€rQr&qõqÅq™qqqHq!púp×p¹p–pupVp9p!poöoÞoÁo¦oouoZo?o"onÞn½n‘nanGn1nn mïmÙmÁm¢m‚mimMm/mlùlàlÊl±lœl…lolUl8lkõkÖk±kŽknkMk&jÿjÖj¯j‹jaj5jiîiÐi²i’i|ihiNi3iii ihþhøhôhñhöhýi ii:iSikiƒi—i¬i»iÅiÌiÓiÕiØiÜiëjj$jJjojˆjj±jºj¹j¸jÍkkGkuk†krkYkVkYkhk—kÇkëllllkökßkÅk¨k’kskXkGk@kMk]krkk„k†kƒk{kpkbkLk1k jÝjªjvjFj%jjiúiôiçiÛiÉižifihÐh~h-gßg–gSg fÄfuf&eØeeLedädºdŒdVdcÑc‚c*bÍbnba¿ana*`ê`°`r`0_ú_Þ_ß_ë_ó_ø_ó_ç_â_ä_ç_ì_þ``2`_â_ž__q_I_E_W_Š_ü_Ç^ã^^ê_q``²aaa`úaaSa­b/b¼cBc¸ddudÌe!ee÷f{fògMg’gäh3huhøijjdjêkrkçlOl–lÔlúm-mmþnnnNn•nÏoojoÑprpÉpäqFq×qðr;s t t¥s‚sÜuv’vðvðwvèv¢vcvuäuÈuÒuðv v*vev±vîw%wTwˆw²wÖw÷xx+xDx[xixvxx…x…x†xƒx|xox\xAx$xwÞw·wˆwVw!vív®vov5uùu¼uŽuSut°tSsós„sr¢r;qÐq_pîp|po±oGn×n`måmblàlSkÇk;j¤jifh¾hgjf¶eõe0dsc¸bõb.an`È`/_¥_f^û^9]§\ú[ÝZüZWY’XÝX2W‘WV„VU®U:TÌTwTS›SRRQˆQ'PäPµP‹PePEP6P7P:PBPZPPP³PÎPøQ.QkQ¤QÒQïRR RR*R;RjRmRZRRRORER&QòQ§QaQ$P÷PÚPÄP¯P°P PyPZPGPGPRPmPœPáQ$QdQ¤QÔRRRÐSStSÃT TNT“TÚU#UjU·VVœWWuWÛX7X‰XÁXÓXÞYYAY‡YÓZZSZwZ‹Z¡Z½ZÞ[ [3[\[z[[½[á\\)\O\p\–\º\æ]]H]w]¬]Ý^^F^}^°^ä__<_g_Ž_·_Û``.`^`‹`¶`Üaaa#a"a%a*a4aBaWaaºaûb(bFb\b”c c0ccdc¹ddbdÒeTeÊfJfÔgcgýh–i0i¶j1jŸkkgkÎlFlËmemðnUn¤oo^oÂp-p•púq\qÃr+r›s s{sêt_tÓuKu²v vRvŒv¼vëwwKwnw‡w·wûxPx¸y*y}y²yÛzz&zNzgzvz~zzzwzizWz*yèy±yŒyuy‡y¦yºy¶y²y¨y•yny0xåx–xSx%x wåwÄww`w-våv©v‹v\v%uñuÁu‹uDutÆtt0sÊses;rþr«rZr qÁqfqp¹p|pYpoÛo”oDnøn­n_n mÃm…mMmlºl2k±k4jÌjhji¯iRhþh©h]hg±gNfãf†f5eÞe‹eCedúdÜdµdŽddd.côc¬cjc7bõb¼bˆbKbaîa×aÎaÂa¶a´a£a”a~agaNa0a `â`º`œ``Š`¡`Ã`å`ø`ÿ`ö`ã`Ï`»`¥`Š`k`@`_Û_´_‹_p___Y_X_\_n_‡_©_Æ_ð``=`_``¹`ëaa9aaa|a˜a´aØaùb!bPbb±bàccPc‰cÑddLdrd¥dÂdôeeQe|e§eôffQfof’f§fßfÔfÎfƒeÏe^e6eÕgæiñiÔjój¿e=`[`Çbl_›][ö[~ZmYVXpW’W5WaW†WÁXX_X›XÀYYFY~Y§YëZ8Z§[[[ø\d\Ë]!]‰]È^^`^˜^Ç^ò_ _+_U_k__½` `f`Îa9ažaèb/b|b¾býc6csc¨cìd-dfdœdÒeeYe¸fffËgg(gUg|gªgýhjhåiWiÄj*jŽjÜjøjßjék"kkîlilóm‰n+nÇoXoÂppbp¦pëq/qjq‘qµqßr rHr{r¤rÂrÓrçrñrÿsss.s=sMsRsSsSsVs`slsys‰s“sšs§s¯sµs±s¨s•s|s[s>s(ss rþrörèrÔr·r˜r{r[r^ò^¼^—^^h^K^5^4^O^w^µ__z_à`j`øaUa™aÙbBbÆcWc½cÜcùd%dgdƒd¦dÐdàee,eVe„e¹eïffff ff+flfºgg‚gÞhEhªi iniÜjVjÕkYkÎl?l¯mmmènVnÇo4ožppZp²qqZq¤qêr.rnr¯rüsAsws²sÝsøt"tet›téu?usuu×vv.vHv_vrv}vƒv‡v‹v‰v‰v…v}v„vvrvhvYvJv8v0vvuñuÙuÆu¨u‡ucuDu(utçt¿t•tkt@tsés½s„s3s rír¼r‡rZr/rqØqªq~qQq&qpÙpµp’pkpIp)p oðoÖoÁo¨ooyo]oCo,onìnÊn©nŠnjn@nmúmámÌmµm—mmimMm.mlølÞlÃl¬llzl`lFl1llkåkÆk£kkYk4kjêjÇj jyjPj'jiÙi°i‰ici;ihïhÛh¿hŸh…hwhfhQhIh@hBhCh?h=hChJhWhjhƒhžhµhÏhäh÷iiiiiii!i:iZiiªiÖiøjjj!j+jNjˆjÄjôjýjíjÚjÌjÉjçkkDkmkƒk“kšk’k‚kkkOk8kkjäj×jâjókkkkkkkjòjÝjÃj›joj9jiÕi±i–iˆi€izipiaiRi1hýh´hbh g´gdgfÖfŽfGeúe²ene+dédªdpd;dcÕc cZc b±bQaðaa3`ã` `c`)_ð_¯_t_P_I_X_l_s_n_k_g_h_j_n_~_¡_Ã_À_’_Z_H_G_K_r_Œ_…_¾_¿^á^Y^«_+_Ú`u`×`õ`ã`à`ûa?aœbbªc0c¦ddndÉe"e~eífjfágBg•gãh;h†hïijj~k kŸl+l‡lÕm/mCm„mñn:nFnhnÁoo(oCoªpEpãq1qXqqqñr½ržrçtFs•rÎs²u vÜw)w wAwvïvÏv™vnv]vevrvˆv±vêw#w^ww¶wáxxx@x]xwx‘x¥x²x¼xÀxÂxÂxÂx»x¶x¤xˆxex?xwéw¹wˆwWw$vðv³vxv3uêu®u‰uXutÄtjts–s#r¦r8qÎq`pôppo«o>nÊnOmÍmLlÁl/k¢k juiÐi*hzgÐgf[ed¶cöc6bma«`ø`b_÷_¬_n^ô^3]M\J[ZY¢YXlWâW>V§VU¬U@TüTûTçT}SØS3RˆQãQLPÏPnP$OèO®O…OqOpOzOO·OêPP3PUP†PÇQ QKQ€QŸQ½QÒQçQýRRYRYRIRHRKRJR8RQÙQŸQkQGQ.QQ Q QPóPëPäPçPðPýQQMQ‚Q³QèR(RoRÉSSnSÉT Tq pÿpÛp¹p’popIp"oýo×o±oŽonoRo1onðnÉn¦n{nRn#mìm³mwm7lýlÃllYl(k÷kÃk•kik>kjõjÐj¯j‘jqjPj3jiòiÓi»i§i‘i~iiiTiAi/i"iiiiii iihçhÅh¦h’h“h¥hÊii;ihi–iÒjjpjÀkk6kGkTk˜l lmmwmñnqníoooèpbpÔq7qŽqÓrr6rdrŸrïsWsÌt>tµtÂu7užuûvTv©võwBw˜wòx[xÆy0yŒyÚz z^z˜zÅz×zÑzÉzÅzÇzÓzÜzæzëzìzñ{{{ { zùzåzÑz¼z¤z‹znzEzyØyy7xãx›x_x wáw›wZwvÓvˆv7uäuŽu:têt›tTtsÌsŠs@rùr­r\r qºqhqpËp‡pFpoÍo”oZonên¸n†nJnmÎmŒmKml¾lul$kÌkxk,jçj¦jhj)iåi£i_ih¾hbhgœg?fëffPf eÈe…eBedÇd‡dAcöc¦cHbÝbeaàaS`Ä`>_Å_S^ò^ ^[^.^ ]ï]Ñ]¼]¼]Ï]ò^8^‘^ø___Ô```Ña1a•bb‡ccŒc«cêddIdpd™dÊdÚdûe-ebe”eÌffIfbf_fRfPfjf¢fñgLg¬h hphØi0i‹jjvjçkfkÑl?lµmm}mänPn»o)o”oõpNp’páqHqqÚr!rdr¬rÿs?ses¥sØtt9txtÊu$u`uuÏvv"v6vSvhvtvzv{vzv|v|vv…v†v…vzvlv`vTvEv2v!v uðuÖu½užuxuSu2ut÷tÐtªt‚tUt,tsØs§sxsIsrær²rxrCrqçq¸qŠq[q1qpÜp¶pŽpfpApoùoÙo·oœo…onoVo=o$o nònÛnÁnžn{n]nhHhPhShWhchvh–h¸hâii8i`iwi‡i›iÂiõj,jSjnjdjCj2j:jSjujžjÁjêkkk jüjêjÏj¸jžj€jmjpj‚j—j£j¨j¦j¦jžj‘jjnjTj+iýiÉi”ici;ii ihûhóhêhÝh½hŒhHgøg gDfìfžfVfeÐeŠeIe dÊd‰dHd cÊccXc!bãb™bHaãaya`ª`S` _Ó__g_-^ô^È^»^Ç^Ø^ä^ê^è^â^è^í^í^û__E_R_7___*_/_J_^_Q__µ^Ý^2^r^é_–`E`³`Õ`Ç`Ã`åa,aŒb b—c"c—ddbdÁeeweàfSfÈg+gŽgãh;h‡hðijjŒkk²l>lƒmm°m¡m¾nQnvnTn“o!oƒo–oŽoÏpNpœpÿqÅqÝqñrýrcrAsIrqržt=uDvëvävÄwNwZwQwFw(wvþvövþwwBwmwwÊwíxx0xOxmxˆx©xÃxÛxêxôxùxüyxþxüxïxáxÇx¥x}xPxwñw¾w‹w\w.vüvÀv€v4ußu–uƒuhu(tØt~ts¬s(r£r=qÖqdpùpˆpožo'n­n0m¯m-lšlkqjÍj4iŒhäh6gŠfÒf e;dUc‰bÍbaF`”`_ê_º_u^ò^\æ[ÄZÊY€YXïXƒXWyVîVGUšU=U\U†UFT¦SßS(RqQÃQPP O£OOONÎN±N«N³N×OOBOO²OÛPPYPªPðQ%QRQxQ£QÄQëRR>Rxpx½yy€y×z(zczšzÏzû{{1{8{+{{ {zúzÓz—z‡z…zz…z–zšzŠz~zmzLz5yüy­yUy xóxãxÜxÂx’xRx wÄwƒwFwvÛv—vVv,uùu²ueu&tât¦t]ts¶sgsrÍr‰r:qðq¡qYqpáp§p]poäoŸoNonžnQnmÑm‹mFlël{kéknjýjj(iÁidihÊhrhg®gQgf»fbeýe e~eNe"düdÑd©dvd@dcÊc‘cgce‚fúi6i¶hMfeÍdm^®]|]3\ý]\A[tZÇZYYX¡XMX@XGXbXžYYY¬Y§Y¹YÑYçZZ5ZZò[d[Ô\O\±]]Z]¸^^_^¯^Û_ _ ___&_/_P_”_á`:`”`þaZa¸bbUbœbæc-cvc»ddLddÀdíee2efe­f+f fîg"gGgpg˜gùhohäiSiÃj;j¿kk/kjûk"klkÙl_mm£nEnÈo!ouoÅp pHpŒp×qq?qUqwqŸqÒrr$rJrdr…rr±rÇrÕrãrïrórùrùrûsss$s0s;sFsNsPsNs@s+sròrÞrÐr¿r«rr{rkrXrJr0rqñq×q¸q–quqQq0qpìpÎpµp™pzpZp6poêoÁo›opoJo!nÿnÝn²nŒnan4n mÞm³mmHmlÍllMl kÒk”kWkjãj¯j€jSj/jiéiÈi§iŠiiiLi/ihúháhÎh½h¬h›hŠh|hphhhghihhh|hyh`hthlhIh-hhhh$hah¥hËhõi8iŒiäj1jyj¯jÐjõkYkÝlQl¶mmwmænYnÜoYoÒpGp®q qQq†q¶qår!rtrÜsSsÎtGtetÕu;ušuóvCv’vßw1wŒwþxpxÖy7y‰yÖzzSzƒz”z“z“z™z¢z·zÊz×zßzëzö{ {#{({%{{zøzãzÊz¯zzdz/yðy¢yGxöx¯xux6wôw´wqw1vïv¥vVvu­uZu tÁt~t;søs´shsrÈrtrqÊquq$pÚppJp oËo‰oLonÚn¢nqn9müm¶mqm'lÜllFkùk£kIjïjjKiýi´iji&hæh hThg§gHfçf†f1eæe¡ede%däd¦ded%cîc±cicb¿bTaÜaR`Ç`3_¦_)^¸^V^]Ç]˜]x]^]D];]O]r]­^^l^×_D_È`O`àa`aÝbJbÁc(ccc´cñd-dddŒd¹dÏdÞeefeœeÛf'fkf’f›f’f“f®fàg&gvgÎh,h“hùiZi¾j(j–kkwkÔl:l³mm†mãnIn°oo„oêp>prp¾q$qfqÉr$rjr¹ss4sMs’sât tPtšuuRuu²uçvv"vl*llkñkÙkÂk«k–k|kdkHk*k jíjËj©j‚j\j8jiëiÅiživiNi'ihÕh­hhVh%gögÃgg\g5gggfôfâfÛfÛfÔfÉfÁf¹f¸f¾fÇfÖfèggg0gDgUgegvg…g“g¤g´gÉgÙgñhh6hahŽh´hÓhûi$iYiˆi³iÇi®i‘ii£i¸iÕiÿj7jcj…j–j‹j|jijMj0jjjjj j-j2j3j/j%jjióiÙi´i‡iXi%hðhÄh£h‹h{hxhqhgh^hEhgÜgg7fØf}f*eÞe–eZedØd£dhd(câc›cVcbÚb¢bib$aØaxa`Ÿ`/_Î_|_;_^×^§^r^?^(^-^C^U^\^]^b^d^c^i^z^ž^Ê^ã^Û^Ê^á_ __ __*_p_ž^Ø^ ^.^°_U` `ˆ`±`¬`«`Õa a„bbcccýd_dÁe eeçfLf¹ggƒgÝh*hihØi~j j†k kžl6l†mmÄmÁmÆncn»n¹nÙoRoÓoÕoÀoÝpEp†pÛqÁqûqxqÙqÃqæršr rUtuv4vQv¾w}w˜w²wÀw¹w¤wwŠw“w¦wÂwçx x+xIxgx‚xŸx»xØxòyyy+y3y7y=y@y8y/yxþxÜxµx‡xVx'wõwÁw’whw>w vÌv…v?uÜu|u‚uxu3tét’t/sµs/r²rCqÛqppüppoŠo nnm~lúllkÑk6j—ióiRh¯gúgFf‹eÅdòdcLbaÈa`Ž`:`_Ã_\^½]ï\Â[†Z›YwYY X³X=WÅWFV|UÉU¦UëUãUfTµSàSRMQšPëPDOµO:NÍNoN0N M÷M÷NNSN˜NêO.O^OŸOîPGP–PÒQ QaBaHaGaJaCa2a`ò`Ò`¹`—`p`;`_Ä__<^ü^Å^–^t^\^P^N^_^t^”^»^Ý__&_D_e_z_˜_«_É_Ý_ü``C`w`¡`äaaKaza·aåb'bjb¹c cCcŒc¬cÓdd-d_d¦dÚe"ene¦ffZfšf™ee7eHepfÐhZhµfùctb¸bú_F]\"[Ô[Ö[Å[ŽZÛZ@Y°XãXzX}XlX„XÝYNY¯YåYÿZ ZZ&Z+ZKZZê[g[å\_\À]]K]›]î^F^…^Ï_^þ_ ^ô^ô^ó_ _3_y_É```ëaXa«bbNb¥bócHc—câdd]dždÆdêdîd÷ee‰ff”fëg'gWggÓhAh»iiiÿjyjçk&kjökkJk·l9lÑmhmînNn­o o^o£oÞp%ppÓqqq0qWq~q¨qÐqórr;rZrwrr r«r³rºr½rÃrÆrÒrÝrérøss ssssrërÔr¿r³r¨r˜rr]r?r&rr qóqÛq¼qœqzqVq/q pãp»pœp~pcpMp.poñoËo¢oqoGonínÆn›nrnGnmím¼mmcm2mlÌl”lVlkÐkŒkGkjºjvj3iôi¿iŒi`i6ihïhÒh¶h˜h€hbhIh1hh gøgègÚgËg¾g´g¬g¯g±g¸gÏgÍg¹gÜgâgÄg©g‘ggxg‹g»hhh2hƒhíiOi¥iñj3jhjªkk˜llwlÊmmmmÚnTnÑoFo»p&pƒpËqq4qgq¥qýrkräsdsætt‚tìuIu¤uõvEv“vçwQwÒxBx°yyfy³yøz1zJzSzYzjz‚zŸz¸zÏzßzízý{{<{E{A{@{3{{zëzÃz’zYzyÅyiyxÎxŽxRxwÎw’wOw v½vgv u°uYu tÅtt?s÷s¦sTrúr¡rHqðq›qCpñp§p[poÎo†o>nÿnÁnƒnHn m¿mum+lÜlŠl6käk‘ksrèr±r|rIrqÖqžqeq5qpÌpœplpApoâo²o‡oaodûdÁdd@cüc¹ctc'bÜb•bRbaÒaa@`Þ`n_÷_ƒ_^Ç^„^P^#]ö]Å]¢]–]¨]½]Ê]Ï]Ô]Õ]Ü]æ]ý^(^R^i^x^’^Â^ñ__ __.__^]ò^‡__×`g`–`”` `Øa0a¤b*b¾cJcÂd-d•eegeÍf2f—ggegÊhhYh¯iMiýj|jÜkollZläm_mam¡nyxïxÂx˜xkx;xwÑw¤w{wMwvÌvwv2uÎu“u•ufutÄtasés^rØr]qðqwpöptoñojnÞnRmÅm/l’lkdjÈj"ithÍhgXfŽe¼dçdc@buaÄa2`Ç`{`-_¹_3^‰]»\T[ ZY\YPYXžXWŸVüV&UÒV&V:U°T×SçRûR#QVP˜OêOGN¶N=MÝM MqMMMMMqM½N"N‰NÓOOjOÉP+PzP¼PúQQ[b[[¿[ñ\%\Z\‹\¿\û]1]g]Ÿ]Þ^^R^^Å^ø_(_T_„_·_ï`(`^`Ž`¯`Æ`Ø`êaaa5aYaaóbbb¿ccHc¨cýcÝcød˜e1e¼fCf÷g§h5hÃihjjƒj÷khkñl€mm nEnðozoåpPp»q1q­r%r•ssisÊt4t¬u#u–vvgvÊw!wlw«wêx0xnx£xÏyyyáz6zœzì{+{g{{È{ä{ô{ñ{à{Ï{Ð{Ö{Ð{À{³{­{¤{ˆ{f{S{D{7{ {zãz»zŒz>yçyÇy°y²y»y˜yZyx½x`wûw¦wfw6vëvšvVvuÖu˜uHtòt³t~t(sÉsqs'rárrGrqÁqpq4pìp°pvp6oòoœoOnþnŸnSnm¸mUlòl†lkk j„ji«iWih£h>gÝgwg"fÑf’fWf"eçeªeme=e dÚd©dpd3cÿcécÚc²cbc5ccbùbèbÅb˜bpbObaæaÁaµa¨a›a”a•a—a›a–a‘azaVa+`ø`Ñ`µ`™`u`G`_Ñ_Ž_E^þ^º^~^P^)^ ]ý]ÿ^ ^^F^f^Œ^­^Ê^ã^ù__%_C_Z_‡_®_ç``R`ƒ`Â`ña+aca¨aîb8bbÉc c@cic£cÓd dRd”dÕe eoeØfcf{dÜdÁdïeNfÒg©g$d¤aú`}_Ã_$]£\Ò[ÓZÊZøZÇZjZY{YXÜX¶XÄXöYHY¿ZZ@ZrqôqßqÕqÇq³q˜qzqXq,qpÕpªppVp3po÷oÜo»oœosoGonán±nnTn"mñmÃm‹mWm líl¹llQlkÖk’kHkj³jdjiÅizi1hðh´h€hQh(hgægÊg´g˜ggfgSg?g/g!ggføfôfífðfófúg gg(gEgv•vüwtwëxexÈyyiy¯yìzzz-zFzhzzªzÈzãzó{{%{O{]{\{Y{O{>{({ zÖzœzazyÈyuy%xåx¨xjx-wìw°wrw-vÙv€vuÄuru'tâtŸt[tsÁslsr¹rdr q±q`qpÁpvp0oæoŸoWonÌnˆnCnm¸mhmlÁlmlkÊkwkjÂjciüi“i#h¸hJgåg‰g3fæf›fIeîee6dâd›d_d-cöcºc~cCcbÂbbAaòa”a'`¡` _m^Ò^B]½]G\ê\«\…\e\H\=\X\…\Æ]]‘^^«_v`0`žaa™bbbâc-c£cîd1d^dwd´dèe7e…eÍffpfºfâfðfüggLg‹gÕh&h}håi[i¼j&j™kkjkÒl9l m m…mïnEn§oooáp9p’pçqOq¦rrRrŠrÄssQs¥sít4tœtýuDuƒu±uÍuévvv/vCvTv`vovuv}vvuvnvcvXvFv7v,vuÿußu¼užusuButótÍtªt†tct9t sÜs¬s{sNs/srÚr©rtrAr qÖq qgq+põp¿p‰pTp$oòoÁoo`o5o nånÆn¢nunSn6nmûmãmÐmÂm«m’mvmZm>mlñlËl¥l}lUl/l kðkÕk·k™k}k_k^~^Â^ñ^ñ^ã__M^ê]è]À^H^å_¬`@`y`|``Îa/a¢b)b¾cLcÈd:d©eeˆeìfJf¤ggkgËh hhh–h÷iÊjfj›kkwkÞl|lâmmTm¬nn•n¸n€nmnÄoo…pEp¬pÙqKqÛr2rZrmr‡r£ssÖtÚvwwªwüxSx}xx‡xŠxŒx–x¡x®xÉxéyyy6yQyhy}yŠy—y¢y«y·y¼yÀy¶y¢y€yWy'xûxÎx§xxRx"wñwÆw™wgw,vÚvxvEv uÓu³uqu!tÉtdsåsYrÐrQqÙq^pæp`oÕoPnÇn7m¤lùlNkÏk/j‰iéi@h’gÝgfJe{dªcäcboaÚaea`¦`<_À_!^p]”\ZÚYÿYxYvY,X’WòWyVîUÂU¤V{V‡UÔTÈSÔRÞQôQPLO—NðNQMÒMkMLÝL§L˜L¸MM}MøNRNŸNýOcOÅPPlPµP×QQ^Q¤QÇQÞQíQþRR=RIRLR@R.RRQôQöQøQüRR RR"R5RKRfRƒR§RÍR÷S#SYS–SÛT"TrT¸TöU+UjU£U×VVdVÁWWUW®WìX X-XXX‘XÌY YGYwYYÊYéYÿZZ$Z2Z>ZKZUZcZoZ†ZœZ¶ZÐZì[[:[f[š[Ð\\:\r\©\Þ]]N]‡]Å^^D^~^µ^é__I_~_¶_ñ`+`_`†`¤`¿`Õ`òaa(aOaŽaäbXbÂccDc”cùd%ddye%eºfJg gÞh„ii¥j0j¯k%kŸl,lÏmnnn¥oEoÎp>p¬qq‘rrssssÝtCt±u(u™vvlvÒw3w‰wÑxxSx˜xáy/yfy¥zzazÁ{{g{¦{à||5|L|S|M|:|&|6|G|B|9|)||{æ{È{¯{“{y{`{B{ zþzÌzŠzKzyóyÔyÌyÊy‚y2xçxœxqpëpÂp”pZp%oûoÖo¸o–o}o]o8o nØn¦npn>nmÚm«mtm;mlÉl“lWlkÞk¢khk)jéj£jVj i´icihºhlh#gâg«gygJg!fÿfäfËfµf¡f‰fvfffXfNfAf:f-f+f*f-f5f>fLfgf…f›ffŸf”ffmf_flf”f¶fÅggjgähshîiFi‘iíjyjàkkkkÎl5l m m€mînbnÍo-o†oØp&pfp´qq˜r&r¸s@srsátHt¦tÿuRuœuêvc†câd?dPdveefJg#hh½iQißjbjâkdkìlzm&mÍnioo•ppqqxqþrwrôsisÝtJt¹u(u—vvevÎwkÇk5j§j&iÃifhÿhh8gÙg€g3f÷fÉf¡fmf4eúe·emedÒd¡d€dOd'd%d'dcêc­cŽcƒcoc@c bßbÀb£bƒbibMb/b b"b+b4b=b=b-baìa¥ada"`ì`¹`Ž```1_ó_ª_]_^Á^y^8^]Ï]¤]‚]e]S]G]X]g]‡]™]»]Ð]î^^$^<^c^^À^ð_$_]__Ç_ó`1`f`¢`èa%amaºaïb8bsb±b÷c;c†cÃd-dªdØe+e%dcìd{e^e›eßeaâ`É`_^õ]N\¶\›[[Z‘ZYîZZYêYÆYŒYWYVYgY”YÖYñZZ$Z:ZiZ›Zè[)[ \_\æ\é\ñ]]3]o]¡]½]Í]ã^ ^;^^^Š^´^Û^Ø^ò_%_v_Õ`E`³aa‰aíbZb¼ccSc—cÎdd2dgddÈee@e‡eÐffwfÐg5gÂhNhÐi8i‹iáj[jÄjòjîk,k­l?lºmm5mem¸n!nnnŠn¢nûo”ppOpZpkp…p­pËpíqq-qPqrq–q¬q¾qÆqÎqØqèqûrrr,rcóc©cgc3cbÝb±b}bIbaÚa›a[a`´`E_Ã_.^]ð]^\Ì\K[ç[¡[r[M[>[=[`[¡[ò\X\ð]^]__j_Ë`4`Ýaøb®bÌccfc¦cæddSdŸdòe@eœeöfOf¦fògg>g[g}gµgóhIhžii{iÖjDj¯kk~kðlhlØmDm±nnznÔo,ooôpUpªpûq:q‘qér5r˜rïs.ssÕt"tstÌuuVu‡u uÅuîvv(vzGzHzCz>z0zyñyÀyyZy,y xðxËx£xyxMxwÛw–wYw!vÓv›v[vuÕu€u"t¸tRsÉs r™r(q¦qpžp+o£on”nmklÒl/k‚jÆjimhÓh,gtf²eäedic¾c'b¿bMaÑaS`à`\_Ñ_^D]$[¼Z–YÞYnY¹Y§XWVgWY=YGWÚV¾U§T’SR‹Q•P›OÄNíN!MlLÝLpLKÔKKWKWKµLJLëMYM»N$N™NüOcOÁP PJP“PîQ:QoQ–Q³Q×QþR!RT~TÄUUMUŠUÅUýV3VdV›VÕW WAWmWWÑXX>X~XµXâYY6YeYYŒYšY§Y³YºYÁYÉYÎYÖYâYïYÿZZ&Z?Z[ZZ«ZÙ[ [J[‚[Â\\A\w\¯\é]']f]¥]ã^ ^\^˜^Ó_ _F__À_õ`(`S`z`œ`Á`çaaCa~aÍb>bµccCcƒcÚdPd•dªee¯fxg[h:hæi‚jj£k,k¸lDlØm‡n0nÇoRoâpipçqgqèrhrÝsSsÇtEt¿u4uŸvv[v¸ww“wþxVx“xÒy)y–yùz9zkzžzà{E{¼||K|}|¯|Õ|ö} }}} |ü}}|ø|ç|Ò|·|›|||\|<|{ê{¿{–{v{^{4zêzˆzFz"zzyüyÃywy+xßx—xTxwÁw…wKwvÆv—vTvu¸u\u t¿t|t:sâs”sMràrrYr'qÚq”qWqpÒppGpoÁohon¦nMmñmšm@làllkŒkjzji—i0hÎhhh g´ghg(fúfÎfšfcf)eäe…edÆd“dˆdrdId-ddcñc´c›c‘ccac6cbûbêbÓb¸b“bpb_b_bgbub†bbwbfbCbaÊa‚a?`÷`¹`…`Q` _Á_p_^Ï^Š^F^]Ò]™]h]5]\ò\é\á\ö]]]6]V]q]‘]²]Ô]ý^)^^^^Á^ð_*_[_‡_¼_ê`'`n`§`øa9a|aÆbbZb§bõcVcµd#d€dÕd dd8d„ed˜d3dœaA_£_÷^ƒ^Ý^,[È[B[=[ Z>Y¸YÀY¨YœY›Y‰YfYeY‹Y¤Y¦Y‘Y‡Y™YÐZ/ZŠZÓZð[*[Û\¢\¿\Ð\Ä\Ð\ÿ]&]R]h]‰]È^ ^Z^˜^Ê^í^à^ù_)_w_µ``m`Õa,a‡aïbRb®b÷c=cxcµcãddMdƒd»dþe5e|eÃffkfÏg[hhii`i¬jjjÜjækkl(l¡lôm$mBmwmÀmùnnDn¶o7oœoÞoôp p&pMpnp“p²pÒpðqq2qRqbqpq|q„q›q©qºqÓqãqõrrrrrqøqÝqºq–qwqZqCq1q#qq púpåpÁp’pmpApo«ono5onÔn«nŸn–nŒnlnb6bub¦bûcLc™cÜdddd´dùe_eÒf$ffØg gMgrggÇgþhUh±ii‹iêjbjÁk"k˜ll‚lùmimÙn@n¨o o`o´ppypÇqqZqÇrr{résHs’sÔttbt­tùu=uzu¡uÅuïvv(v?vRv\v`vav^vTvDv6v'vuþuÍuÆu²uuquNutótÌt¨t…tctDt(tsås¿sˆsXs(rúrÖr¨rxrFrqÞq¥qoq6pùp½p~p@poÆo‹oOonÚnŸnln7nmÖm—mmmIm&mlàlÌl¶lœl}lalClkúkÚkµkkkkGk"kjÝj·j˜j{j`jDj$jiÞi¹i—iziYi5iihòhçhÐh»hžhƒhdhChg÷gÎg™gbg+fùfÃff]f/eüeÈe—e`e&dëd­d{dJdcîcÇcctcPc6ccböbèbßbÌb¸b®b b b¥b¤b¯b¼bÍbÚbãbñcc$cIcvc¦cÐcødd9dVdƒdÊeebe¢eÝff+fBfRfjf‰f¸f×fùg1g^grgvgpgkghgjgkgtgzgygrgdgRg>g'gfôfÍf¥fnf9feïeÔeºe eŒexeWe.dód°didcÄcccb©bGaãa‚a!`Ç`o`_Ð_„_5^ä^’^:]Ø]p]\\#[Î[[a[:[[[[[1[O[o[€[Œ[ [Ê[ý\/\X\™\ü]}]â^3^e^;^^B^R]ª]K]°^Y_"_¿``$`S`®a'a¥b0bÇcccðdtdùeze÷f\f±g gjgÑh>h­iiri³jjcjÎkYkÖllm m{mün~nòoYo oøpoÕoûpXq"qór©s3sÔtlt™tÒu)užv"v®w>wÇxHxªyyOyuy“y y©y»y×yüzz*z9zQzdztzz‰zz–z—zŽz‚ztzbzDzyìy¹y…y[y?y#xûxÖx¥xmx1wów©wkw8vövµvmv$uÇuetýt“tswrîrqqîqUp¹pLoÔoMnÃn2m£mlik­jÚji‚hêhJg–fØf eKd¢cÿcoc b¦b!a˜a`—` _V^n]J\ZûYüY_Y;Y¡X¤WÆWzX’YéYzX:W/VTÌS¦RvQcPYOxNœMÇLùL]KéKK[KJÒJÎK=KæL…LõMbM×NJN®OOrOÊPPmPÌQQMQ|Q QÈQóRR8RQR_RdRbRaRbRfRpR~RRžR´RÍRäSSS>SeSS¿SõT'T_T™TÛUU_UšUÑVV0V]VVÀVñW%WZWŽWÉXX>XtX¥XÏXðYYEY\YdYpYxY~Y‚Y‰YŒYY—Y YªY¹YÇYÚYîZ Z0ZUZ€ZµZï[0[|[¿\\9\t\®\ð].]p]®]ò^3^t^±^ï_+_j_©_Þ``;`f`“`¿`óa'a_a¢bb„bõc>czcÈd6dºdûe1e¸fˆg‡hchúij.jÎkakøl’m5mãn†oo˜p&p®q:qÉrYrÙsPsÁt:t¼u?u¸v vtvÀw)w“x xsx´xøy]yËz,zqz©zÜ{#{{ú|U||Â|ò}};}[}j}s}i}a}S}L}@}-}}|å|Æ||y|R|%{ñ{Ç{¥{˜{y{1zÏzŽzxzhzOzyÞy“yFyxÀx|x5wîw­wywJwvÆvv:ußu„u=tét tXts½sjsr·rqrAqýq¼qyq=pøp³psp(oÝoˆo+nÎnpnm¼m[lþl–l*k­k!j™ji¦i>hÕhvhg¾gqg5gf×fžf_f"e¿eKdòd­d™dŽdzd^d7dcôcÒc·c¨c›c€c[cAc*c$cbõbÖb¸b­b¡b£b®bºbªb±bªb‹b[b,aëaŸaPa `Â`~`._Û__3^â^˜^X^]Ð]Œ]T]\ã\²\•\{\v\x\Œ\¡\Â\ã]])]Q]z]«]á^^I^x^¢^Ð^ê_%_Q_ƒ_Ä``N`§`ôaMa aöbPb«ccrdd“dƒdd=d)dMd|c7cAaš^o_a^}^B^\\t[É[É[™ZêZ3YÊY|YSYIYPY?Y[Y‹YY½YÃY¡YY±ZZXZ›ZÐ[[~[ã\1\w\f\z\•\·\ð]7]v]º^^H^~^¸^Ñ^ð__d_»` `O`‘`×aajaÃb&brbÀccDcxc²cæddTd”dÔe ebe­eÿf`fÖg|h%h°i iriÇj8jšj·jÓk*kªl,lœlÛmm-m_mm»mônwnëo3oaoo›oÁoèpp6p[p~pœp¹pÓpñqqq*q>qNqeqvqˆqœq¬q¹qÄqËqÍqÂq­qŒqmqGq'q pûpêpØpÅp«p‹pjp9poÙo’oFo nán­nnPn nnmûmÚm¤mhm$lälžlYlkÂkyk1jêj¥j[jiÇi}i)hÙh‡h2gßgg8fãfŒf,eÍeqedÛdŸdodId#dcàcÅc«cœc“c•c•c™c™cžc¡c®c¹cÎcàcûdd.dUdxddºdÍdÐd»d£d›dÉe%ere´ff¨gKgÙhfhÿibi—i×jjZj«kkllmm•nngn±oosoÚpSpÎqUqÖrVrprßsEs¬ttwtËuupuÜvVvÓwDw¯xxyxÌyyiy¹z z]z¯zð{/{W{u{‚{‰{Œ{‘{”{‘{‰{z{_{/zêz«zpz9yñy¡yVyxÖx›xZxwØww:vÞv„v/uäu—uPut·tatsÃsys1rër—r@qæq‰q(pÍpqpo½o_nþnŸnBmám}mlÁlhlkÅk{k0jãj›jLiðiŽi%h¹hFgÔgXfÑf>e¨ed‡d c—c5b÷b¿b‰bMbañaÎa­a‰a_a0`ø`¼`}`7_Û_m^ð^]]Ä]"\†[ñ[hZöZ¤ZgZAZ(Z Z?ZZõ[v\0\þ]®^;^ª__¤`–a°b:bZbŽbác=c•càd,d~dÁe eeùfcfÉg gRg~g gÕh hVh®iiŠiðjijÁk&kl lvlõmlmånSn¶oodo´p pZp²qqWqÐrBr¦s sns²sñt2t|tÆuuNu‚u«uÒuøvv(v@vJvLvLvFvDv5vvvuþuàu¹uœuuuUu8utòtÉt©t†tctMt3tsòsÊs¤stsFsrárµrrLrqßq©qqq9qpÁp‚pEpoÇo‹oLonÖn›ncn)mõm¾mmWm lölÎlžlƒlilDl,lkíkÌk©k†kak;kjïjÌj¡j‚jaj?j$jiëiÒi³i˜isiLi+ihìhÂh¤hŽh†h{hchLh,h gêgÃgšgpgCgfÜf¡fjf5fe×e¦eyeLedéd°drd1c÷cÁcŽc`c/bÿbØbºb•bubUb6bb aøaáaÒaÀa¸a¬a¥a¶aÍaÞaëaöaöaøbb&bNbb¶bìcc4cLcfc‘cÛd7dŠdÑe eEedene‰e¤eÊeèffBf„f®fÁfÇfËfÊfÈfÌfÙfäfåfàfÒf¿f®ffŒfwfTf)eóe½e†e\eAe(edùdídÑd®d}d@dc¸cbbýb”b/aÇa]`÷`‘`,_Ê_q_^Ì^{^*]Ó]~]&\Å\X[á[t[ZÙZ ZsZWZEZCZUZxZ ZÆZÚZî[[0[l[¥[À\\‡]&]]ß^]Ù]®]Þ^]–]9]—^<^þ_•_Ô_ô`8`«a(a¦b+bÀcbcödƒe e”ff}f×g/g‹gõh^hÊi8i¥iýj\jÓkJkËlNl›lùmNm…mÛnioTpp/pYpcpmp†pqPr/rÎs»t‡tÖuuWu²vvœw.wµx/x¡yyby yÊyêyûzz1zLzdzzzz¦z¹zÈzÓzÜzÞzßzázØzÍz¿z«z’zrzHz yìy»y—y|yWy/yxÍx‹xJxwÏwwTwvÈvwv uÂuZtêtysûsfrÞrZqÛq9pp$o²o&n”nmlâl?k€j©ièiUh¼hgpf²eíe\{\Ù]%]x]¼]þ^C^u^Ÿ^Ò__W_°``k`°`Øaa4axaÃbbPb“bÚccNcc¾cùd;d‚dÎe eae¨ffifùg¦hIhÆi#iuiØj8j^j\j†jäk\kãl>lˆl´lØlúmmMmÛnhn´nÎnîooKomo‘o¸oàpp5pTpqp†p¤p¾pÖpöqqq!q0q?qKqZqfqiqoqkqcqNq3qpôpØpÁp©p‘pqpPpoïoÆošoXonÇnžnonBnmêm´m€mgmfm_m+l÷l²lkl$kÖk‡k9jäj–jDiùi¥iVih«hSgøgœgCfåff9eçe”e:dÞdd)cÛc›chc@cbúbÞbÈb²b¡b•bb•b¢b¨bµb½bÎbÝbõcc.cLclcc¶cßdd%d3d,dddDdždée)eŽff½gYgûhªi ifi¡iâjjLj¡kk­l>lÓmWmÏn6nnÔo4o—pp†q q†qÿrr„rìsVsÂt*t‰tÛu4u¡vv“wwwwäxNx®yycyÅz)zŠzß{!{X{z{Œ{{Ž{{Ž{{‡{z{f{E{zÑzzRzyÖy‰ya#a `æ`·`„`O`_Ò_„_^›^ ]v\Ù\;[£[ZšZ@YûYÇY¦Y–Y¯YöZZZâ[†\E]]µ^1^¡_3`aaûbNbVbŽböcMc—cídCdŽdëeYeÂf7f—fògBg„g´gßhhXh©ii…iøj^j«k"k•ll„l÷mlmïnfnºo ogo³oôp7pžqqxqír\rÞsIsšsÏt tGt•tãu.uduŒu´uÞuúvvv$v&v)v%vvvuûuéuåuÒu½u uyuLu.utïtÑt³t”tstQt7t tsás¸sŒsWs&rðr¹r‡rSrqäq¯quq9pýp¿ppBpoÇo†oIo nÏn”nVnmâm°mxmDmlßl´lˆlZl6lkékÂkŸk€k`k>kjíjÆjšjnjKj&jiäiÈi³iži†iniPi0i hëhÄh¥h‰hqhRh7h"h gôgÓg±gŽgigtÌt[såsYrËrIq¾qp~po{nìnjmÝmIlµlk]jŸiÜi6h™gùgJf•eÜe2d¤dc’cMböbcaÚaU`Í`8_¢^¿]¥\Ç[ç[ZYX×Y [%[ÛZíY‡XÊXlW‚VqU#SËRuQ6OüN÷N M'LQKKJ«JuJ7JJ J^JøK•LLM M†MõNfNÏO3O…OâP@PšPãQ"QbQQÅQýR#RCRYRhRvR‰R•R¦RÁRßRõSS*SISfS€SœS¿SíTTETvT§TÐTþU0UaUU¸UßVV1V[V‹VÅWWCW{W­WÚXX,XWXˆX°XÑXêXûYYYYXûXñXòX÷XúX÷XùXýYYY"Y6YQYoY›YÌZZDZ…ZË[[S[–[Ö\\T\™\Û]]`]¥]ï^3^v^·^ú_6_u_¬_â``J`€`½`þa@a„aÚbMbËc3cŽcìdJdëe{eÄff¬g¡h¢iAiÕjk1kÓlmmmén«o>o®p"p¢q(qÆrqssŽtt“uu˜vv’v÷wNw§x xxxÓyyryßzLz zà{{^{Ó|H|¡|æ}}J}t}›}Å}å}ù~}ù}ã}¿}¤}¨}˜}{}X}<}1})}|Û|¯|‚|Y|;|{î{Ì{¡{h{({zßz±zpz(yìyy7xðxµxwx3wæw¶wwBwvÅvtv uÐu“uItùt tHts°sms%rÍršrcrqÓq‹qRq pÀp}p5oéooEnõn™nj®j-i¸iOhçhŠh.gàg“gUgfÔffCeóe…e3dîdÍdÑdÌdµd‡dZd1dcÿcëcÒc¾c¤cƒcc~c|c{cccDc/cccbùbãb×bÉbÁb´b¡b{bHbaµaga`¹`[`_«_a_^¾^k^]Ê]}].\ß\\G\[Ñ[§[‡[~[…[ [Ã[ò\\K\„\¸\õ]]L]j]z]˜]µ]Õ^ ^>^‹^ì_V_Ð`9`ž`ña^aÇb%b‚bÑc'chc~c¢cÒcÚcpcb`b»`:^Y^¶^˜^-]a\Ï[¾ZÇZFZ YâY¥YeYAYEYpÿpÁp‚p@poÄoŠoKo nÍnŽnWnmÞm¦mpmehe}e‰eeše¦e«e¤e•e‚eneZeGe,edÝd©dsd?dcþcécÖcÁc±cœc|cTc bÜbƒba¦a+`´`B_Ë_[^ë^€^]º]Z\û\Ÿ\@[ê[•[>ZÝZrZY«YbY#XñXËX´X¸XËXðY$YXY‚Y¢YÈZZFZ}ZŒZÝ[š\b\é]O]y]P]8]s]Ð]l]]w^^Â_7_e_“``—a)a¥bb¦cFcçdee«f3f­ggpgËh*h…häiWiÓjJjÏk_kðltlðmTm³nnon·oGp p}pÎpþq2qjq´rrÆsºt~uuquËv(vväwJw·x1x£yyuyÎzzMzyzšz¶zÎzê{{{:{S{m{~{ˆ{Ž{{‡{{{k{W{B{+{zízÌz¢zwzHzyòyÛy®ybyyxÅxyxQx%wÙw€w$vÊvsvuut­t7s¿s?r´r'qšpûpaoÔoHnÀn8m£ml‹kæk9jiÕihlgÓg*f|eÊe,d¢dc c[cbŒba‡a`'_R^Ó^9]k\^ZèY®Y>Y›Z’[O[…[ YùXºXWXV`U$SÐRxQ+OìNÈMÓLîLK@JžJ)IåI¸I•I IòJ†KK£L#L£M#MšNN€NåO9O–O÷P[P¨PçQ1QgQ¦QëRR6RTRfRwR‘R¢R¼RÜRÿSS\ˆ\Û]"]f]§]Û^^@^w^²^ò_:_†_Ù`7``Úaaa3aYa„a»aîb(bdb–bÖccec«cùd:d„dÍee\eµf(fÒg~hh~hÙi%iDihähøiRiÓj^jÖk'kNkXk‰ll·mQm¼m»m§mÒn#n_nŠn¥nÏnþo9oko“o°oËoïpp$pApUp`phphpwpzpˆp†pŒp‰p‡pyprp\p@p'p oåoÃo odo(onÜn£nWn$mómÁm•m\m,lòlµllFl"l/l)kúk²kikjÉjpji¼i]hþhh8gÓggfúf‡fe§e:dÑdgdc©cUcb¶bcba¿a{aAa`á`¼`¥`œ`˜`—`•`”`”`œ`«`Ã`ã`ùaa1aSa€a©aÔaýb&bSb‚b´bàbòbôbùccOc„cÎdFdéef4fÌgjhh»i7ivi‹i›iÆj)j½kOkÚlsmm‡mënFnnüohoäpfpàqPqmqØrBr²s%s–sÿtetÍu9u®v.v³w6w´x,x™y y„zzozÓ{{Y{}{“{˜{–{Š{|{u{b{P{5{zúzÉzˆzCyÿyÀywy*xÛxxDwúw¬w\wv½vpv(uìu¼uŒuSutªtOsòs™sArïr˜r?qÚqwqp¸pYoõo…onœn1mÏmom l¨lHkökœk9jØjujiµi\húh©h`hgÉgngf°fJeàepdñdYc»c bƒaòaqa`·`ƒ`U`,`_ú_ß_Å_¤__R_$^ñ^°^Y]å]^\Ï\8[šZþZqYòY|Y"XðXÆXžXXÌYY`Z'[ [Ï\„]]®^N^÷_Õ`ßaŽa½aÒb%b›c c\c¾d'dqdÐe>eºf$f‡fðgZg©gîh2hrhµi iiiÓjBjµk$kzkølnlämbmÒnQnÅo opoÇpp;p³qCqºr4r¸s-sƒsàttOttÏuuLuruŽu¤uµu¿uÃuÃuÍu×u×uÙuÛuÓuÊu¾uªu˜u‡uwu`uEu'utätÄt¡ttetIt.ts÷sÒs¬sƒsOsrßr¤ror9rqÂq„qFqpÅp€pAoÿoÃo‡oJonÓn˜n[nmám§mmm4lýlËl˜lel2kùk½kk[k'jôjÆj›jxj]j;jiåi»i’iiiAi!i høhæhÓh·hhhah?hgög×g·g˜g~gbgGg(gfòfÍf¥f~fOfeße¥eoe3dñdµdydAdcÔc¡cpc?c bÚb¨brb>b a×a¤awaDa`Ú`¤`p`G`#_ü_Ó_®_‹_h_L_0___ ^ø^Ý^Ú^Ø^Õ^Ý^ï___6_U_x_ _Ç_ï``M`~`­`áa%a}aæbTb¯bãbõcccCcnc—c¿cäddId„d±dÑdâdêdödÿdþdêd×dÄd±dd‰dndLdcëc¶c†cgcMc9c$ccbñbÓb¡b]baŸa'`¢` _¤_(^µ^D]Ù]l]\™\4[Ñ[q[ZÀZlZY­YEXéX¡XiX4X WöW÷XX(X\X›XÍXúY&YaY±YðZZo[V\1\Ã]]%] ]]t]Ê]^]]l^^­_ _(___é`a$aŸbb‘c-cÐdme e§f9f¾g,gŽgìhLh¨i i‡jj…kk¬lClÁm/m”nnenÒoRoØpfpÐqq^q£qõrnrøsœtKtõu„vvgvÃwwywßxDx³yyƒyÝz&zfzŸzÌzò{ {({B{]{v{{­{Ä{Ò{ß{æ{ß{Ô{Â{«{’{y{^{={zózÇzzmz:zyòyÀy[yyxêxšxhx/wÛww#vÆv^uåugtôtƒtssr‡rqpápPoÆo*n—nmˆlílXkÁkjgi·hèhCg´g fce¼e$d›d!c¥cNcb­b'aÇaO`k` _£_^,]q]f\t[Ø[[[2[3Z÷ZŠY»XW£VðVTðS©RXQ OÙN­M®LÍKæKJII¹I_I3II+I€J J¡K*KµL8L½M@M¾N0N—NíOPO´PPyPÂQ QKQ•QÙRR)RKRfR{R’R¬RÐRòSS?SbSƒS¬SÑSõT!TMTzT¢TÍTîUU:U]U‚U¼UæV V2VZV…V³VáWWBWqW˜W®WÃWãXX+XLXlX~X‡X‹XŠXƒXwXiX\XRXGX>X8X6X0X0X4X=XMXcX~X¤XÙYYKYYÐZZdZªZö[7[y[º\\G\Ž\Õ]]h]³]ý^D^‰^Ê_ _A_|_¶_ñ`+`t`»aaNa–aòbfbäcgcîdmdûe¡f5f”ggÌh´ikj9kkËl]låmn|oLoÜpHp±q)q°rMssœt)t´u?uÆvLvÑwBwŸxxjxÍy(ywyàzUz¹{{E{‹{ô|n|×}}S}}À}ð~~I~k~†~Œ~ˆ~l~@~}ñ}Ó}·}}}”}Š}t}P}"|ù|É|£|ƒ|R|{û{Ì{¦{{<{zÉzzTz"yëyžyLyxÃx{x*wáw­ww>wv§vQvu¼utu~l~”~µ~Ç~Ç~À~§~‡~V~.~}à}Ã}º}Â}«}–}v}@}|á|½|£|{|J|{î{Î{¡{c{zÀz‚zYz*yãy§y_xþx×x›xHxwÄw•wNw v±vfv+uäu›uOtét‹t[tsÊs}s6srËrrNrq®qUqpÝp«pwp9oïo¦o[on¬nJmèm€mlšlk¡k*j£j)i²iFhæhŒh>gïg¢g]gfÅf{f(eÌe{eGe;e4edåd¦ddsdXdEd0dcøcÞcÖcÁc±c¦c¡c¤c¢c”cvcPc$böbÔbÑbÊbÉb¯b”blbDbaâaªaka0`ñ`±`d`_¯_S^ï^^*]Ë]h]\¯\U[û[­[n[3[ ZãZÍZÎZâ[[)[U[Š[´[å\\C\\›\»\ç]+]‡]÷^p^á_L_²``r`ÃaaraßbVb¹ccPcoc›dcÔc af_ß_J^è^š^ ]Y]E]h] [ÊZÃZ YªY‹Y}YJYXØXØX÷XøY YY9YiY„Y£YÐYùZ Z3Z•Zæ[[>[u[´[ï\%\g\œ\×]]C]r]Ÿ]Ð^^;^|^´^ù_0_r_½``T`”`Â`Ý`óaaa:a`a•aÇb bVb¢bìc.cgc¤cæd;d¡dùeeeéfˆgg˜gèh-h7hgâhh[hÅi5i—iájj+j4jVj¯k0kŠkãlZlÙm2m}m¶män n?nmn›n´nÏnéo o.oJodorovo{o‡o’o˜o—o—o”o‘oxohoSo=o o nân»n‰nanAn"mûmÐm¬m„mWmlÎl„l-kÞk˜kYk,jõjújøjÏj‡j3iÝi‚i&hÄhcgÿg‘g)f´f;eºe4d¬d(cµcFbÕb`aîa{a `ž`E_ò_¯_s_9_^Ì^Ÿ^‰^o^`^X^P^U^b^y^Ž^Ÿ^¹^Ø__)_L_{_©_å``T`‡`¶`ëa$a`aŽaªa¹aÖaøb&b„bùc‡d:dñeœf:fñg¼h[h´häii;i‡iújvjâkNkÕlhlçmYmÉn?n¿oGoÌpHp¹pÜqCq°rr’sss÷tntëunvv–w'w­x4x¶y@yÁz5z™zì{){U{q{€{†{‚{x{d{O{9{{zâzºzŒzOz yÂyvy%xÑxyx#wÑw~w*vÜv‰v6uãu˜uZu(tÿtØtžtEsÙsir÷r}qÿq|pûpp.oôo¸owo&nÃnenmªmSlþl›l4kÎk_j÷j‘j%i·iDhÐhhhg®gZgfÙfšfJeêe…ed¡d-c²c#bƒaåaI`³`'_¬_L_^Þ^Ì^¾^£^…^m^R^-^ ]à]±]r]\¤\[…ZèZTYÈYFXÇX\XWÒW§W™W©WáXDXµY‰Zn[2[ó\œ]5]Å^d_ _Æ`o`åaKa»b@bÄc:c”cìdCd¯ee‡f f…fûglgÄhhhÓiiei¾jjxjòkTk¹lAlÄm7mÄnDn·o)ozoÅp/pŸqqqìrfrÞsOs sät!t`t›tÐtúuu/uEuNuNuTuduou|uu™uu”u‚u€uvuduTuBu4u!u tôtÛtÁt§ttvtZt;ttsÛs¯s{sFs rÓr˜rSrqäq¥q]qpÓp”pPp oÆo‡oKo nÓnšnen0mòm·m}mDmlËl•l[l&kök»kkHkjÐj’jZj!ièi³iƒiVi2i hçhÂh h†hihKh4hhgågÊgªg…gcgBg"fþfßfÄfªf‘fufWf5feùeÔe¨e|eIe dÍd‹dPdcÓccOcbÙb¡bcb aÜa aja4`þ`È`–`b`6`_Ô_˜_^_'^ð^»^ˆ^Z^']ø]Î]©]]u]V]:]#]\ë\×\Á\¦\³\È\Û\ð]]/]N]p]’]µ]æ^!^\^˜^Ð__W_°``ƒ`Øaa2aQauaœaÇaùb,bRb“bçc1cgcxc‡c’ccƒcqc^cNcBc5c%cbëb½b‘bdb;baïaÚaÍaÇa¾a¦a|a?`ê`€`_z^í^i]ç]h\î\w[ÿ[ˆ[Z¡Z2YÊYiYX¾XpXW¹WfW$VïVÀVšV~V|V‰V¬VÜWW[WšWÝX-X…XÙYY¬Zñ[å\g\\’\“\Ñ]V]¶]O]]†^:^Í^é^È^û_­`uaa˜aúbcbòc›dCdëe–f;fÓg\gÑh@h¬i ijj•kk¢l2l¯m!m‘n nn÷ouoäp`pÇq}r rQr·s7sÌtbtùu•v&v®w%wŒwãxEx¬xóyCyyõzNz”zÖ{ {A{n{“{¸{Ø{ö||1|H|W|c|q|r|o|g|V|>|{ø{Ê{š{d{'zëz»zœz~zTz+yêyŽy6yyxùx­xcxw¾w[vîvuuþuƒtøt‡ts¡s2rÆrNqÑqQpÇplÞm]nooÐpapÎqEqÉrZrøs“t)t­u6uÎv_vìwiwÚxMxÄy+y†yàz>z§{{`{°||h|Í}+}w}²}ì~"~W~‡~´~Ù~õ~ý~â~º~¢~~‚~T~~~}ÿ}ê}Ã}‹}]};}|þ|Û|¯|x|6| {è{±{t{"zÉz¦z€zAyíy¯yqx÷x¿xªxix!wÞw¯w]wvÈv‰vDv uµu^tÿt¦trt'sós¡sNsrãr¤rkr%qÓqwq1qpËp•p^poÖoo7nánn%m»mQlálikókxjþj‚ji˜i)hÎhth(gÜggHfúf±fcfeÍe“e}efeFe"dödåd¼d›d†didHd%dcòcÔc·c c¤c¨c c’crcOc#bÿbæbábÐbÂb¡bƒb^b6baÞa®ayaEa`à`›`Q_ø__=^Ü^x^]½]\\ü\›\I[ð[¤[o[A[Z÷ZìZæZèZÿ[[;[i[š[â\,\z\»\ð]#]`]±^^k^Ï_/_Ž_á`4``Ùa9a¬b#bXbµccNcldnd†b‹`ö`!_d^å^¬^$]™]‚]\À[¥ZÈYÚYCY YYXçXªX™X§X¼XÅXËXÛXèYY3YbY‡Y±Z'Z‹ZÅ[[C[Œ[Î\\A\o\š\É\ó]"]N]w]]Í^^:^v^°^ä__U_š_Ü` ```†`¥`¯`·`È`ãaa^(^^]ï]Ô]»]˜]v]O]$\ð\¦\:[·[#ZŠYùYiXéXnWÿW˜WZW1WWWMW¦WÞX“Y Z[J[ø\‘]#]³^)^Ñ_¾`Œ`óaKaÉbYbîcTcµdd}dåeVeËf3f¿g@g¬hhƒhÙiihi¿jjzjàk@k®l*l¤m"m›nnynðo_oÓpNp³qqƒrrzrâs=ssÄttEt‚tªtÉtåtÿuuuu,uGuXu`uluuuyusucuYuFu6u)uut÷tâtÏtÁt­ttˆttt]t>tsøsÆs’sYsrÙr¡rgr)qðq°qhqpÎppSpoÌo‹oPonÙnnbn)mñm¶m}mBmlÏl˜lbl'kík²kxk^]Ì]™]c].]\Ú\¶\“\v\Z\3\[ù[ç[È[¬[Ÿ[›[³[½[Ê[ó\(\W\x\–\¼\ë] ]Y]•]Ö^^g^¿_!_‰_ã`%`P`u`œ`É`÷a+a_a–aÑbb%bEb€bµbÏbÑbÅb³bžb’b†bzbab@baõaËa§a}aSa4a%aa`þ`×`›`I_ä_i^Ú^M]È]F\Æ\E[Æ[HZËZMYÔYbXöX‘X6WäWœWMVöV¤VbV.VUÜUÄUÃUÓUõV#V^VžVæW4W‘WðXEX~YFZŸ[—\\G\L\R\“]!]Ž]4]]š^V^í_^À^ß_™`jaa™aóbPb×c~d/dßef:fÜgmgñhlhÝiSiÈjGjËkSkÛl\lÑmIm¿n?n¼o0o¨ppŒpäq½r–ràs]sætyuu§v;v¿w:w”wßxxtyyqy±yþzJzœzá{"{Z{‘{¼{à||&|K|p||˜|¡|ª|®|¯|ª|ž||m|?|{Û{”{DzýzÁz’zqzUzX½XŸX’XnXIXEX4X3XAXFX7X:X_XXØXöY?ZZsZ¹[[U[®[ñ\/\\\†\­\Ú] ]2]Q]k]…]¨]É]ô^+^V^^Ã^û_7_n_©_ã``?`U`]`[`k`ƒ`¶`ía/aya°aåbb]bÆcMc²ddTd¶e"e‘ffƒfÝgg5g/g9gZg—gáh:h‰hÊhýihþiieiçjqjýk}kâl6lyl»l÷m6mim›m»mÒmènn%nHngn€nn™n¡n¥n¥n¤n¤nnŒn~njnNnoºp,pWpÈq8q¨rr¡s.s¾tFtÖuovv¬wHwÝxdxãy\yÑz5z†zÆzö{{9{L{S{U{O{D{5{{zÛz´z‡zRzyÐyˆy;xìx—x>wæw‹w2vÙv„v1uÞuŒuCtût¹t{tm¼nDnØo]oÓpDp qqŒrrrrÈssbs›sÖttFtkt‰t¢t¿tÕtåtûuu,u8u?uGuJuFu@u0u#uutôtãtÓtÆt·t¡t—tŒt†t|tltSt2t sÛsœsbs*rïr°rsr4qöq¶qxq3pÝp–pXpoÛoŸobo&nénªnhn,mñm³mym;lýlÅlŠlPlkÜk§kjk*jëj«jkj-iòi¸i{iDihÊh–hih=hgñgÒg³g–gg_gEg(gföfÛf¹f™f~f^fAf$feíeÔe·e¡e‡eee@edäd°dpd/cècŸcRcb·bqb-aía±aqa8`ó`¯`n`2_ù_¾_{_9^ü^À^‡^P^]ç]³]]K]\ß\©\n\7\[Ú[³[[n[H[#[ZíZÔZÃZ¢Z{Z„ZZ ZÊZþ[5[Y[t[’[¹[ç\\R\”\Ü])]x]Î^-^”^ñ_6_h__À_ö`'```–`Ê`úa!aSa aäbbbb a÷aéaÙaÍa¹aŸaˆafa?a`ô`Â`š`€`n`_`K`)_ñ_¡_=^Å^=]²]-\¨\"[[Z™ZYŒYXŒXW²WZW VÅV~V1UæU¡UfU8UU U U UAUlU¢UãV5V‰VïWYW´WóXÎZ2[9[¼[ì\ \\R\ê]`] \î]“^[^ñ_^Ï^Þ_`aaa”aðbLbÅcbddÌe~f2fÜgyhh‹ii€iûj|jýk„ll~lõmpmònqníodoápYpÝqZr#ræsbsüt–u7uÑvXvÔwDwµx xRx‡xÀySyÌzzRz™zÞ{${c{Ÿ{Ñ||,|T||¥|Â|Ô|Ü|é|í|í|ê|á|Õ|¹|‹|\|3{î{Ž{1züzÐz zkzBz1zyíy¨y9x»x«xxMxwÃwWvåvv3u¸u4t«t(sÊsysr«rg3h hÕi–j7jÔk—lym7mÊnqoVp)pÁq6q·rKrês‡tt©u;uÒvkvûwx xxøymyÕz0z‹zâ{;{—{ó|[|Ê}}[}Æ~~L~†~¹~é4Pa_D"~ý~ô~û ~û~Ù~¸~~o~E~}à}Ë}¢}u}V}:}|Ç|–|c|#{ä{®{|{<{z°z^z$yÛy«y{y5xðx¬xZxwÕwˆwm×nrnþo|oêp)p¡qqŽr r•s+s¿tNtçuŠv/vÑwewóxwxïy_yÈz"zjz§zÕzû{{/{={@{?{5{!{ zézÅzzmz;yþy¹yry(xØx„x-wÓwwwvÀvhvu¾ulu t×ttBsîs“s-rºr7qÂq^pùp“pLpoßo oZonÙn‹n(m¹mAlÍlbkök‹kj›ji›ih”hg›g,fÍfvf-eôe³ere.dÖdYcÕcWbÙbTaËa;`¤`_‚^ö^q]ó]u]\ß\Ç\±\£\˜\\v\O\![ñ[À[€[3ZÇZGY³YXŽX W’W$VÅVnV'VUíUùVMV½WIXXðYÈZŽ[@[â\v]]”^F_:`%`ªaa¨bKbÍc>cddmdÒeJe¿f@fÁgJgÚhVh¾iimi¾jjsjÎk/k”kçl>l¯m,m½nFnÌoDo¾p1p’qqqÿrfrµrøs3ses™sÎsùttEtct…tŸt¶tÛtùuuuuuuu týtêtÙtÌt½t±t£t”t„trtmtjtft_tRt;tsâs§ses+rõr¿r„rJr qÇq‡qCp÷p¥p^p%oïoµo|oAonÂn…n?múmºmxm=lýl¼llDl kÐk’kWkjØj•jUjiÛiœi_i hãh©hmh5hgØg¯gŠgfgFg&g fïfÕf¸f¤fŠfifMf3feûeâeÇe­e“e|eceHe+e dæd½dŒdRdcÏc„c5bÛb‡b6aßaa'`ã`Ÿ`f`%_ß_¦_t_8^ú^¼^‰^N^]Á]„]R]&\ó\¾\\V\[é[±[x[?[ ZÞZ·ZZcZ:Z YêYØYÈY·YšYYsY‡Y¯YÏYðZZ-ZKZyZ®Zà[[X[Ÿ[ë\:\ˆ\Ú]5]›]þ^L^…^´^ê__U__Ê``8`i`¥`âaa7aMaWaLa?a0a%aa`ð`Ô`±``h`9` _ß_¿_§_‘_p_8^ï^’^]™]\‰\[{ZñZjYàYQXÄX8W³W;VÑVwV)UçU¯UgUTÙTToTOTKTWTuT™TÄTóU3U‰UçVNV»W!WgXWY¼Z¹[C[[¢[¸\\¾]\Ë\Ø]^N^Ý_^Ü^ò_Ÿ`eaa˜aýbMb¸cSddÂe}f4fâgˆhh§i(i§j"j¤k"k§l$l¡m m¢n%n¤o o™pp¤q:qÚr…s-sÙtu>uævwwswÐx/x„xÌyy8y”zz_z™zÒ{{X{˜{Ö| |A|p|¡|Ï|ò} }}}%}#}(}$}|û|Ê|¤|…|O|{¥{D{zóz¿zŠzZzBz-zy®y(x”xxzx/wîwŽw-vÎv}v u‘u&t­t-sÓsvsr¦r#qpöp^oÉoQzQ¼Q÷R*RWRˆR¿R÷S&SWSˆS¼SóT(TWT…T²TÝUU.UWU†U³UÔU÷VVDVsVžVÃVÔVãVþWWW WWW.WDW[WhWmWjW]WMW=W1W/W6W?WHWHWAW3W"WVýVéVÕVÅV¶V¶VÃVÝW W:WyW¼XXLXXÑYYeY¨YêZ+ZsZ¾[[b[»\\p\Ê]%]w]É^^S^^Í__d_±_ò`"`@`g`–`âaJaÐb…c\dVeefegWh+höiÂjrkkÈl£mqn n orpDpæq^qèrs s½tUtèu~vv¸wEwÊxPxÈy>y­zzvzÕ{2{{é|H|´}(}{}Ã~~a~›~Î/Qlˆ|yyeUNE(~ë~Ç~ ~u~M~(}ú}Í}Ÿ}€}c}4|ù|º|ƒ|D|{Ú{ {Y{zÎzoz0yüy¿y‰yVyxÎxx,wâwŒwIwv¡vDv u°u|uItôtÒtƒt4sòsŠsFsrÄr—rSr q¿q|qCpõp³pypBp oÐooInýn°nXmúm—m/l¼lQkÜkpkj‘j i©iChâh‡h1gæg¡g]gfàf£fhf,eõeÁe¤e‚ebeCe&edýdçdÌd¬d”dŽdd]dcÁcoc\cNc1c"bÿbíbÌb³bbybPb*aýaÛa¶a‰aaa0a `Þ`´`†`N`_Ä_y_3^ñ^®^i^]Ã]t]#\Ù\”\O\ [Ç[«[›[…[k[:[ZöZï[[N[Ÿ\\l\Ò]/]]Ü^(^m^²^ö_=_‹_÷`\`Ëa@a*aVaÒbtc"cacÉcóa`^Õ^ã^û_$_l^É^4^]“\â[¹Z‘Y£XìXEW§W2WV÷VÎVÎWW*W%W%W:WiW²WÏXXY`YúZcZÈ[[}[É\ \;\[\‚\¦\É\ä]]]]]%]/]E]h]Ÿ]Ü^^K^q^–^²^Ü__5_]_v_‹_Œ_›_´_Ö` `=`v`¾a+a¨b-b¤b÷c/cXc›cäd3d…dèe]eÁff f%f8fff¢fìg?g“gÐgÿhh0hjhÊiIiÂj3jšjìk6k|kÇllSl‡l±lÛlûmm7m]m|m—m¨m¯m´m²m±m©m¢m“mƒmnmMmlòlÑl©llal@l.lkôkÈkœk„kck9k jÎjjBiÖiXhûhÒh¼h¾h®h{h,gÊg_féfkeðeldädYcËc:b«ba…`ñ`X_Ã_.^¤^]Š\û\o[ó[[?ZüZÀZ†ZVZ+ZYêYÎY·Y¨Y YªY·YÍYõZ*ZhZ«Zí[#[W[[Ä\ \T\§\ù]K]š]Ù^^l^¯^é_(_o_ä`ŒaaoaùbÀcqddÂepff™f÷gHg©hhthÞiIiºj0j´kAkÐlalùm™n9nÇoDoµppqq“rr¤s?sÛtsuu»vYvðw€xx~xïyVy³z zLz‡zºzá{{{){0{/{${z÷zØz¶zzdz/yòy¯ydyxÉxsxw¿wewv¬vVuûu¥uQtþt­t[ts¥sArÑrbqîq‹q5pÒpwp

?ƒ@ºBC D/EöGhG©H0JvJÇJ=IãJJXJ—KL MHNqN¯N*N\O£P’PÜPsOtNeM¼MfLÉKxIÿIH¨HlHG)EÏE$E4—3H1J/-,ÿ*Ô(ž&8#ë!”`µ£xæ{1 :Šñq"õýkÌf!"# %'F)X*+1+Ý,-+-Ð. .0-¾,î-ï012è4ú6/6®6ê7/77©9`;+<<“=¦>c>÷@?o<â;t;':È;‚=±@äC.DeFèIK5LLåMM{LîL›LšLÅLÛL•L#KKJOI¡IH¦HhHGöGÄGÅGÕHHGõH7I JJçK°K³K|K…KxJ{HÓGµGNGæH7H3GÞG¯GZFéFXE´E!D”D(CÚCŽCDC BÍBwBAÀA\@é@j?Û?@>£=þ=S<´<;†:á:-9d8—7Ã6è65N4¤43372å2ž2Z2%1Þ11x1…1Ö272¦33€3ì4i55´6p7%7¼8T8û9ˆ9Ö::Ÿ;Â=¡?h@ÖBQCTD7EÊG{HaIeJáJšIêIµIðJKJ±KDLXMžNÌONoNQO†P›QPÓP O"N]MæMNLFK J‹JJIçI|HÁGtF3E²FFFäFÂF(EqDúEEÏG[I@J¤K°LLLnL_LkLiLLL~LíM~MëN¸QTVzVzVmVÔW/W'W/W`WhWVˆUñU‡UTUKU¸V®WáY YËZ>Zæ[/ZDXTÀQCO$NœNÂO^OµO¬OúP.POôPPOáOÞOìOóP)PÞQ°QÜQŽQSQOQgQwQ¾RÜTrU:UnUáVaVžVàWeXwYGY5Y YYZYÄYëYÁYÓYÿZ&YÁYXWÏVõVU&TrT)TTLTÈUžUßUS®R•Q·P²O‰MòL7JLHìHpHnGçFÕE[D—D'CGA=>—=ä>z=·<„ò=¿;¢:Â:Œ:;;*=ÊA/DE¸G°IÇKKÜL¨MML·LZLNL˜LÅL¿LŽL9KÂKJ\I¨IH¥H8GàG•GtGIGsGGdG6G·H+I0KK¼K°KíKÑK JIiHlGóHH$GåG²GbFëFzEëEmDóD‡D$CÑC—CXC BÂBmB A¨A9@¾@1?œ>ü>\=È=6<§<;:Û:9]8ˆ7«6Ï5û5?4˜43³3i3%2å2Ã2ž22µ2¾2ì3*3I3¥4-4‹4ß5b66Î7~8=9 9ã:T:z:ž:ù;×=—?uA4C"D\DÖEÖG}HåJ0JÀJ)I‰IIöJKJÈK¹LøN]OOONjN´PPíQPŽOûO£A®DbFqHMIóJÛKžL:L˜L|L&KóL L@LnLxLaL,K­K+J—JIvHþHsH G•GaGRG\G[FûFàF H©KÙLKöL*KÕK1J¼JHúH!G‘G}G±G·GMFÎFKEÍEYDçD‚D.CÒCƒC6BÚB~BA±A3@©@?o>Í>0=Ÿ=$<¦<;v:½9÷9$8D7S6e5Œ4Ö4L3ö3³3d3H3d3T3V3{3ô4P4f4º5G5º66W6Ì7ƒ8R9?:7:é;#;;d;÷=7?DATC†EE[EßGIHÐJCJmJI„IžJJSJ¼KªM NOUONsN™O¡P›PãPšPQOîOTN›MøM[LøL‘L2KîKÒKŒJdHGrG9GBGHF÷FœFƒFüH IŽJäL-LÿLÙLBK–K(K!KJK¬L¢MèNßOªQTS$S€R QÌQ™QûR¬S*SƒSôTgT¯UU™VbW]XuY9Y—YãYÑXáW4UYS]QoP@OéP?PµQQ—Q°QhQ&PîPPO½OœOpOEOXOÝP‰PëQ$QkQ¤Q‘RTUáV"UÅU}UiUBUTV¨XX`XvXàY(YXçYÀA{BX?å<>9®7ƒ52á0².…,)ª'8$ø"Ð ¾†hŠ\1>5ýÑÄ„ ¶ú!à&À)ñ-(.ñ/µ/é/¹/}/0W0õ1h22¶2{2­3„4Í5¬5Á5ã6X78l:':Ö:’:æ<Û=2s=ò=…=<‹;ú;f:·9ï98 7%6$5J4«4I43È3ª3Ê3«3n3©4B4Ô5]5Ù6C6º7H7ª7ã8Y99õ:Î;y;µ;©;æ<™>@^B–D–E‰EBEÃGHzIÜJJ3IôIìJ JqJáK¡LñNkO1NÞNUNšOcP>PÅPÄP«PŽP*OyNÇN³?Ì?Í>ñ<Ê:17Ö5„3^1=/,Ç*f( %ï#å!îèüvÆ©¡œ˜Â |÷ŽN'  Ñ!T Æ< A$<&9(R+».¡090_0Q0a0Ø122ž3<2ï2«2ë3´4¦5M5½6V7L8[9P9o9)9×;b<<<< <\=‡@ BcD}FGGâI'J)K(KðL[L@KöK|K.JëJ¾J¼KK‰K´K|JæJsJ IöI¥IKH|GàGBFêFdD²B×?ðDEK>LL K}KÊL K½K“K"J|I¨IHÎHuHGˆGF¥F·>-=¬=G<áþA–CïE]E[DÀE~FßGîI'I¤JkJœJiJEJ{KK´LÔN=NôNŽN(N–OFOêP|PìQ1Q)PæPbO»ON™MîMUMHMâN³NÄMSKI[H?G«GvG‰GØHQHãI½KLdMKMgMLbKtJ£JzK LM‘OXP±PèPºPÛPÙP,O^NöNÐNìOEOÚPªQ€R!RRæS7S…S°SÃSÜSûSòSóTTS÷SüSÁSBSSYS1R”R QÃQiPíPlOñO—OSONàOOwOøP‰QWR R9RãTgUaUT|TTTT\UûWX.X|X‘X‚XðY”YæYÒY„Y'X£W¢VƒUµTmS„SR­R¾S3T#T˜TSQÍPÌOÔN„LÝK[JI H#G¹FúFIFFF÷FOD±E#F_F¦Dß?$<~c!Ø Ø"<#¥%) ,|/090«0ã111ð22_2€2ƒ2°383ù4µ5\678 8¹8¥8/8y9j:a;P;þ<‡=Y>Î@µByD[FG~H½IîKKöLvLWLK{KJƒJIœI»J#JLJ)IÌIÈIªII:HÑH!GŒFÕFGFD/@G<@hI¢LàL^K_JÕK>KlKTK*JÉJFIšI H”HGºGRFïF˜F7EÀEADÈDXCøC”Cò>S=Ì=v=<Ã<~<;:Ô:98 6ï5°4ã4i4D4{4Ù5R66Å7J7®7ô8-8^8O8N8¶9 9‚9ø:˜;/;¶<4MØL4J±IgH‘HGŽFzEïFEÌFqFuEÞFUG)HGD<+:M896N4I2L00.+î)ô($&l$Ê#+!° TCŸcjˆÌ*­ P! !â"´#—${%$%¦%m$•$«%…&³(Ô+%,ý.D//±0.0´11H1¢22q2µ33·4b5 5­6Ž78"7ø7j7~8V9ž; Ü@4ARB§D9E½G/HQI^JgKL8L8KØKJJðJzJIyI+IHåHøHûI+IHæH†HG~FæFPE©EŠCF>q9é;œEkL'L­KÆJñJ¤JÝJþJÿJ«J1I¥IH‰H-GäGaFùFÒFŠF EED D;CØC}CB¬B:A±A"@{?Ñ?$>~>=É=ˆ=l=R<úh@JB§D|DìDTDIE5F FÙGìI!JvKAK:JåJåKIKóM N_O N«NNN¿O…P0P»Q>Q’Q˜Q‡QfP÷PSO·OIO.OvP&P¢PN\LcJµIHÝH„HvH®I-IáJ½KÄL²M9MiM%LUK\J¢J‚K]LäN‰PPîPéPSOŒN{M™M+M MRMâN£OzPSQQ«RRnRâSeSÊT"T‚TÌTÑTTWTBThT’T|T S¢RôR!Q`PÐPrP2OöO°OYON˜N%N3N³ODP@Q»RÿT6U¢VfUûTþTgTSŽSVTÇWvXÝXÕXAW³XCYFY®Y£YuY@XÙX7WMVWUjT7SKRÞR·R–RfRtRyR6Q´Q P-OMKÐJ.IHuH@G£F«FŠF•EíFF;F†FûFŽGBHÍHUFD$BâA?º>S<ˆ:“8¨6È4Ë2Ú0Ë.Ä,Ç*ì)?'¬&E$Þ#”"l!w Ò o K V € Õ!X!ù"ª#x$M% %º&B&²'7'¨((O(š)h*š+“,I-./0"11t1Ï2N2À33>3™4,4Ù5‰6E77e7]7B7h8 9D:Ù?ž@ÐAÝBÿDCEšFñHH×I–J¥K©L K²KJÞJ•J:I¼I0H¶HwHŒH«HÛHÃH–HCGéGJFEÕEDµB==ñ<<öCEJ•LºLIKÝKbK=K$JÿJ›JI‹HïHƒH+G¾G7GG(FÖFSEÌERDàDyDC±CPBëBpAìA\@±@ ?f>Ä>M>=Þ=Ð=­=m= <ˆ;ï;F:¤9õ8ü8-7À7ã89&9Á:B:–:Ç:¯:m:98ú8‘8„8ê9®:‡;D;¾<NNàO¤P0P–PùQAQvQQ¾QÞR"RŸS?SÛT/SðSPR€QwP§P(OÝO›ORO N¸NIMÁMÁNUO;PÔR¢TVVAW VLUOUT¡SÙT‡WXžXBW3V¯WºXÄXûXõXìX¤XWNVJUSÆSRéRÑR>QÃQ©QËQ¸PìO„MúL?JtIH—HG9GfG…FDôESFEG¬G®GÍHÂH—FìDßC[AK>Ó<Ï:½8À6°4§2k04.,)*o(Ð'm&$å#Ó#"x"6"3"Z"¯##Ç$e%&&Õ'R'½(B))g)k)Ÿ*A+8,R-N.n/Ñ11Ô2A2´33b33ï4i55¼6b6Ê77Q7«8\9¤;T=L?J@ÏBCGDEîG0H,HÇIYJMKi>=þ=à=Ü=Ä=_<Î<>;¯;):¢:R:.:l:Ò;;!:ò:ž:9x8â8„8<8:8­9…:‰;|<<†<ô=Î?uA/BvCC CåEtFmFîGÏI‘JÍKTK$JåK K¤L³NO1ONQNNwOhP_P«P¬Q9QðRFR!Q©Q#PàQ2Q¾Q°P¨O;M­LEKgJ°JI»IèJK7KÉL?LLDKžK2K1K–L—M¸NuNúO.NÄMòM$LdK¼KeKZK€KÉL/L˜M MrMžMšM™M–MßN}O]P„Q“ROR¸RÂRLQiPgOÊO{O:NïNµN‚NMMõMqMzNO0Q RðTöVØVãUéUeU_UTÄVW®W¸VÒUäVWTXXAXxXrXW|VÀU§TwS‰SQSgR»Q’PñQ0QkPªONN L°KI“H¼GÝFúHGËDÆC5DIEEF€@NAÄC DCEF»GËHwHÇIIØJBJ"J*J9JI|HáH,GÆG²H+HH¼HfGðFýFî>h>'=÷>@>x>1=±=2<· ?°AAÌBAB£CÓE˜FÙGiH*IøKK7JãJ£JÅKcLaMÕO,O#NRNNaO%ç%Ë%Ø&&V&š&j&f()–)´)è*l+,+ñ,“,Ú- -š.¦/Â0š1-1u1Ò2L2Ç343’3å404‹4ú5}5ø6t77È8X9.:‚<6>W@3A»C DKEqFG…H>H¯I IgIqI…IàJ!JI’HßHGŠGhGäHŽHØHGG1FEhERFÇJ%JpHÙIdJ7JK5K›KxK%JéJ»JpJI‘HØGíHHTHGoFëFhEßEcDìD{D CœC BœBAV@¬@?O>Þ>†>>7>x>g>-=Æ=Q<í<“<[<=<;ô;¿;_:Ã:9¢9<8È8€8o8±9I::œ;^8?È@µAA¥B\CÒEG GàHŸJHKJçJ‰J]J‚K KÿM–O ONAMòN\O4P$P·PÐPôQŽRSR¿RÈR“RlR‡S SeR¬Q0ONyM–L·KöK^KKK KK2K1K JóKK8K•L(L™LèMTMáNENVNMiL˜LKÛKÂK¦KnK4K-K9KOKhKŒK©K°K¡KK‡K­LL§M:MˆMœMMM™M”M©MÎMôMûM¬MzMÍNiO¥QbSTõUèUrTôTâTþUiVPWVýVUúUcU†V6VÉWXW¹WžW:VÉVHU-T3T TOTzSP£OŽOíOýO)M¤LQKjJŠI¿HüH]HaHFE¦EjEEExEÛGH|GñGgEàD˜C4A¨?÷>B<¢:Ã8ü75-3U1™0.{-+Û*Ö)î))(ƒ( '²'z'|'‹'®'ë'ß'q'Ú)º*Þ++v,,¸-N-Ø.).S.•/>/æ0?0œ1T22¸3!3y3Ô44r4Ý5e5ú6ž7Z7ÿ8 9˜:â<[>7@A¤BõDE8F7G,GóH¼I{I¾IpIyIëJ JI·I!H\GÙGÀH2HÙIGýFWED`DÂF¦JK~IíHÛI1IãJäKTJðJPJ'JkJxJ)IÂI6HH˜HkGÿGyGFFE†E D›D.C¾CGBÁB(A˜@ü@c?Ð?d? >ˆ>S>Œ>²>‡>)=½=V<ø<­<;Ô;v:á:u:e:a:M:.::+:Â;#;!;€"?p@#@}A>B0CËE’GH;IJ}JÊJ_J0J‰@(AÒC+DSE]FOG/H(IOJIïIÜJ"J>J!IÓI4H‡HGðHOHGžEÕD~CÔD EøIŒKºKdJÊJ‚JFJJàJ®J„J™J£JKIïIˆI!HÇH[GÜGcFáF_EàE_DçDlCøCyBïBZAÏA2@¢@:?à?…??$?<>÷>“>=¤=7<à<•L?K?º@ŠA«C0EF¸HGIJ^JNIîIøJdJºJÏKjMNNN=MÀMàN¥O»PuP©PõQžR|SiSÔS~S+SlT?U T¬RÒPÆO—NÚNTNoMÔLJ¦JyJÆJöK0K€KæLKèKhJÔJ“JØK»LÈMhM»N2NƒN`MñM«M”MWLØLKJ"IVH©GÛGAG7GÌH¸I3I7I«J·KÄLiLõM‰N.NŸN–NÊOˆP¥RSaT‡UFTäT TeUUŠVhVìV/UkTõT‹T©UIVVÃW&VçV_U¢T»S›SlTJTŸS¡QLOSO£QPZM_JwHŽG™GG6GFFuGvH¸G‰EèEÜFˆG‹HAGþG;EþD³CVAí@A>¹= ;T97á64y2ï1m0.Ù-Þ,ñ,9++ *Ê**z*w*o*’*Î*ã+0+Ò,“---û.S.¢.þ/^/¦/ê0W11Î2r2ô3u3÷4W4š4ã5R5â6…7C7ø8Ë:;z<ì>Œ@ A‡BÛDEFFÕGÙIJJwJ}JwJaJ3IãImHôHhGÐGeFãFDÎCãCÝDMEŠHJ”LLËL*JšIñJ{JÒJËJÌJ¬JJIåI‰I*HÄHQGÛGjFïFpEòExEDŠDC˜CB†AþAx@û@²@r@?±?¥?…?1>Ã>-=º=L<ï<¥<^<%<;è;Ü;é;ß;Ô;×;¿;‡;^;a;¢<)<à=G=}>:>û?o@ZAžC+EF­HUI³I÷I«I„IôJÓKrKsK¡L´MËMÜMMâNÕOÿPÑQHQÄRvSiTSØSkS•TYU[U|SÇR:Q²PTOÝPNËKÖJpJoJµJóKHK¥KüLK±KJ“J‚KLLôM‰N NAN3N,NON[MêLçK˜J.IHjGÏGPGGG H:HyI#JKÞLÊM—NRNþO NüO˜PÙR±TT¡UTëSóSðT§UU¾VDUYTBSÚSŸT!UU¸V‚V½VZUÈUT)S¬T,T…T2SPÒOµPÂPøN†KDH G9G/G_G+EÔFÁI|H\EEiG!H HGÙFüE¾DFBàAc?ä>A<¥:î9=7–5ü4\2ç1˜0[/Y.v-°-,ž,3+ü+Ô+Ò+Æ+ã,",s,Î-,-¨..q.ª.ä/'/t/Ì070Å1n22±3I3Ë4-44Ø5<5¸636×7–8d9s:æ<‘>H?@ôBtCÚEFFâGÑIJJ˜J½JšJZJI¨ItI H)FóEŸD¨DCÜDŠEsFsGÁI(KL;K•JºJlJ3JQJ‡J—JrJI®IIHßHuHGGFFEŸE%DªD1C¶C*B†AóAAKA @·@^@5?÷?‰? >e=×=V<ó<¦ >Ô?M@A?B´DŠF\H I’IˆII!IÝJüKýLFL>L®MgM¶M•M·NrOP½Q©RZRéS”TSïSS¶TcUU@T5SÕSºQ¤P¼Q‚O×LãK.J¿JÞKK>KšKÜKíKØKKLKDKvKÕLLL)LdLÇMVMÞNM•LKnJLIrHÆH&G¶G†G}G¼H]HôIØKNL¿M÷NòO¶P'OúOËPQASqT˜T®TÚTWSnSvTTmU UwTcRøRR¦S“TšUeVV'UâUrTÕTtTµU/TçT>SsQ‚O¿OþPeNpKTHÕG—GÊGnFnE”F“I9IjHHhHÀH3HKH&GEþD¹CPAï@€>þ=Š;õ:c8Ô7R5Ö4n31÷0ç0 /R.¦./-À-u-*-- --0-T-Ÿ-ù.L..ê/#/E/k/£/ê0N0Ö1†2:2´2ÿ3C3•44Ë5O5º6;6Ö78^9`:»&?\@ˆBC¥DúF#G GßHòIìJ“JòJÛJzJIÛIÔIWHF$DECICgDlEÏF“G+H H©I´JÈJÓJ£JcIÐIqI¨J2JMJI IDHèHHG–G&F©F.E´EDDÏDZCêCbB¶BA×A»A…AJA @µ@??±?>O=®=.<Ô<€<><;Ð;|:p9ô:):ˆ;%;ÈW??š@pA{B«DXF*GêIMIVHáHËIJòL9LèM)MaMMÄM´M½N5O7PoQ¨R¶SpSíT SïS¢S·TSTáTêT^TSfQQQ|P:MýLSKKjK}KœKÈL L2L+LLL/LMLKƒJâJ²JöKƒL6LÐLùLƒKÏKJhIÊIHcHGÝGäHHIIæJõLCM¼O;P{QPQfQP¶P`Q_STŒTdT$SqRØSSÈT]TÅTåS«R!Q©RS;TRUUxUœUcUTåUU—UµUATjSrQãPO‡O•N)K°IoH1GïFòEZE—GÏI®JÒK]IÎGËGÃH‡H7GzF7ECÉBuA&?×>f<ñ;‹:8¢7=5ò4Ÿ3ƒ2|1Œ0Û0=/¾/>.î.¥.j.L.9.K.b.{.§.ò/C/|/§/É/á0050Œ11¬282ˆ2•2Ï3l44£5>5¸6N77¹8¬9®:õ<Ÿ>?N@žBCID FG8HHëI´J|K"K;JÈJTJJJAIdGšEaC‡CCòEQFFãGGÙHdIJ JBIìI³IªII“JJ4JIžI@HèHHGªG8FÀFNEÜEgDöDŒD&C®C#BBdBOB'AÜAs@ë@R?¦>ã>(== <²>°?X@A BCDiEüG¥IICHîH³IKLMcMæN1N[N?NN2NËOæQAR¥S¬T8TNT!SðTT–TâT²T‹SãR‘QåQxPWN²M@L}LBLRLvLŠL£LÃLÕLÙL÷MLºK½JäJµJßKKiKKfK J¬JJI½HüHsHNHLHINJDK>LjMÃOlQ$R^R…R/Q¤PçQ©S“TKSÓRóR2RˆS³T¶U U TR²R0RxSaT4T­TçU TîU4UšUûUøU^T‹S…R|Q)PYONMLVJkHëGbEÜEGI IÊI†F´EõGžH&H+G†FCECºB{A?Ä>f<û;}:,8¦7]64Ø3Ï2ä21}0þ0|0&/Ô/˜/t/R/P/g/s/‡/Ä0 0i0¡0¹0Ý1/1•2 2Ž2ò33q44Œ4Ñ5C5í6Î7¸8Ï9ç:Ó<-=·?@˜AùBÞD\FSG£HvI)IøJÚKoK`JàJ¦JžI¤GxEWDnDÍEšF|FëFãGMGËHcIˆJJJ(I·I¢I±IÌJJIÀIZHþH H@GÓGcFñFwEùEƒED¡D9CÒCkCB¾BpBA‰@ò@M?‘>È=ó=;<Ç<|<,;á;‘;:?9Š9Ë:L:t:(: ::Ì;}<Ä=É>•?O@ AB`CvDEÎGMH±I7I?HýIŒKL±M¾NmNêO8O,NüNûOšPÊRS*SðTaT|TTT´UUUTsSlRŒQ‹POON"MžMfMwM–M—M¨M»MÈMÝMêMdLKK†KSK*KJïJÓJ›J?IºIHzHUHŽHëI¤JÔKõMN8O¥QqSS‘SwRâRRLS‰TGSÀRdQõSRTÒUlUvUT6S®SYS¦TT$T!TŸU"UÇV?V3UxTS»SRQþQ-O‰NLçJ¹GÐFTE­FíGšGrE¾C5EzG¸HH=GFDÀC–B>A?“>F<Ñ;q:8º7p6;5$473v2µ261±1O0ú0ª0…0j0X0X0+/ý0…1:1[1n1ä2”2ò3'3u3Ò404£4÷55X5ÿ789;:b;< =±?C@ÏB CAE&GHHÐI‘JeKJK¼KvK"JôI¹G3EoE¤FQF…FÓG9G™GßHsIoJ)JcIùII‚I·IãIºIdHøH…HAHG§G=FÂFGEÊEKDÏD\CæC‚CB¬B-A¦A@~?Ú?>6=S<´<^<5<<;Ó;e:ó:ü;j;²;ˆ;Y;Â<<¦=™>Ž?F@ABuCÆDçFG@HrIIrI{IÄJüL¡MñNëO¢P3PfPDP PmQmR\SS²TaUU?UU*U|UŸU¢TùSñRÿQòQPOO‡NþN¸N¸NÃNÊNÍNÅN¶NÑNgM^L—L'K¬K:JòJ´J[IÚIH„HHHfIJFKÀMNJOfP¬R\SçT›T¨T7S“SJSºTÉTÌS¦SPTeUIUwUuUNTíT}TT2T<•;O:8Æ7ž65Ž4Ñ4 3t2ä2l21º1q1T1:10´000„1e1Ø2O313÷46414P4 55[5‰5Ñ6„7x8`9\:f;*<=_>Ó@[AéC„EFFîHHÍI†J:JíKAKYK‘K8IcGFtGGJFÙGGùHBH–I†IîIÒI¤IoIaIšIÓI£I0H°HGÐG®GƒG;FÍFPEÊEFDÄDBC¿CBB·B6A«A$@@?u>¯=²<Ð<^<3<.<=®?O@*AHB¡CüE6FhG‰HuIInIËJ KLšN"O`PVQQhQvQ$Q Q®RpRÖS SåU0UêUßUÇVVYVaUÆT¹SùS^R¥QÙQ!PƒPOÜOðOòOÜOËO¸OÏO}N—MµM LeK¿KCJÜJmIàI2H²H IBÆBPAƒC—F£G1GÅG‚FöEÞDßC­BoAX@>Ñ=¨Ï@,AÓCxDðFiG±HtII®IöIÔJ JJ}ICGðGºGéG»GPGH^H½I0IÀI“IHñH÷IIMIœI¡IBH¤HG¨GgGEGFµF>E»E9D©DCCBrAæAZ@Ú@U?×?O>Š=z<¶W>Ý?‚@xA¤BíDª=‡™=d<žK>Â?o@tA¥BíD>E®GH-HêIIXJ8KKéMmNñP>Q\RRxRÂS S=SsSŽRôRƒStUW¡X¬X>WWÛW¥VYUMUƒUÕU SßSRwQ÷Q¾QÐQµQ@PúPôP‚O•NµMòM@LjK‹JÖJlJ›KSLZMvOPèR2S†TâUÁUíUìUøUÓUÍUåU—TêT€ToT¥TÍTwTTTðU•U³UTäT&S£SUS‡TTS¶RßRQÛQ„Q%QPêPcOxMJØH™G&E CËA_@mAzC*DßEFcG7G‚=lÃ@FA±B¤CaD†FG[H H^H¹HøH“GÌFèFgF¤G(GÖHžHøHÖI IšI¬IHÿHZH^HsHkH–HàIHÌH7G¥GJGFÓF‘FE¥E'DŒCàC>B£BA[@Ð@P?ê?ˆ?>l=<;º;r;=;<<=Y=Ã=I<æ<ó=N=í>k>Þ?¬@ØB CZD¶F$GsH{IITIÈJ¬KlL;M¹O&PDQgR?RÎS\T+TçUITüSðSBSÜU¢WçYyYhX´X½X¼W«V’VµWKW VUT!SkRÆRR—R3Q“Q2PçPEOwNåN}MÜMLlLDL´MdN&O3P©QïST}UuU›UUÐUïUæUöUÚU|TøT‡TšU#U*T‰SÏS®TªUÒVjV@UaT†T SÀS¸TSÑS4RzQêQ«QIQ PšPO N¨M"JõIG^E0Bä@¶@¿BÅDnEsFG;GSG=FýFvEDdC²BAŽ@?V>h=^«?¬ACBÃCºDbEæ> <ÝM>»?H@7AzBºDEWF©GàH·I)IÁJ{KIKëLÑN`O­PÍQõRÍS¤T®UðVÕVˆUdTÿU˜V¼XxYÎZY£Y{YXWÐXQXpWÑVÒU¯T SÂS[SORâR QvQ1P§PO²OŸOrO0OO OpP;Q\RIST*TçUÝ=Õ<Û;ö;:\9…8Ñ8'7x6Ü6U5ã5e54Î44Å5c616Å7'7L7‰7à8 8j9u:b:¿;Q<¢>(?O@VAØCpDxE EäG5HHHÄIDIÉIÂHÊGE÷FbG™I IûIøJJUI¬HÎH‘HTGÿGÛG›GGÒGøGçG•G(FµF7EÝE°ElDäDFCˆB§A­@Í?ð?m?Ñ?÷?]>¡=‚<Ó<Ë==²>(>L>[>k>V>B>Y>‘>¹>ð?;=d<€;˜:Þ:9i8Ê8:7Ž76«6`6+5þ66¬7c7Ì7Ü7ý8“9K9À:0;;{;±<•>1?¿A BcCÀDÍEwF|GÚHáIJIÊJTIâHFRFzHIJbJpJ0J#IŠH±HqHjHJHGÂG“G°G±GG-FµF@EÀEiELDêD\CœB”A/@?2?@@}?³>Û=ì=x=¿>3>·>Ó>Ò>Ü>ë??d?Ï@@F@W@§A[BrCËEF0GIH>HïI˜JKKŸL›MÎNùPQ"RLSFTUV/VV"UôUòUíV®X&Y‚ZYáY”YYY§Z:Z YOX9WUüU3TÈTTSˆRªR'QÇQTQQ2Q†QÒR/R¿SS=SËTwT¹U&UÜVEVeVbV9VVVVUàUmUT¼SåSS´TÕT4RFQ{RRÜSES8RjQŽQ(PšP O–O#NlM™LmKcIûGÇEC*D»E'E‚FÄAf?ÜDsDñEFvF2EöDàDVCU=“<Ñ<;`:Â: 9‚8ø8{87»7g7/7[7Ø838u8}8„8þ9ó;;» ?A@‡AÅCD*EEÿGHKI(IvIÝJZIµGÐF€G=IJ?J“JAIÉI‹IHrHLHnH’H_GåG¹GÁG¤GdFÜFCEÕEnED÷D¿D3CQAâ@k?Ì?0?ÛAhAB@?S>˜>>“>î?/?=?b??ñ@U@ÇA3AnAŽAºB1BöCþEFFòGÆH”I7IåJÄKdL0MANeOƒP›QÎRÐSTRVQ¥Q{QÕRPRÀSBSzSwSÌT[T½UnVV3VPVPVJViVGUûU¤UTÙUTÐTTeSçR\PaPQÒSS.R¾QÞQ(PdOÆOgNéMýL×KtJH}F®CDCúCÝF?õ?ØDjBD FMF&EÎED?CUBXA-@D?\>e=£<â<1;£:û:u9à9d8ô8§88¹99@9“9î:\;)<4="=Ì>g?7@AA÷CDOE"FGDH‰I&IZIÙJI)GÕGÃHöJ JsJ0IpHäH|H%H0H˜HÎHUGÖGÂGG#FvEÌEeEDÎDªD~CÆB6@P??@LBpAÄ?ô?j>q>U?q?ÿ@ @W@ÆAMAÖB.BqB¡BãCRCøDÍEÀF—GEG÷H²IVJKKÄL£M—NžOºP»QÑR²S?SÚT>T9T=TETTUVÂXPXþYX°X}XüZ2[ZøZJYsXŒW¹WV¨V USÎRÆR\RqRÆSGS¸SÅSÏT5TÈUbUíVV3VQVLVsVŠVBUÃU*TžTÞU5U TïTYSQ±P&OÿQÉSSHRÿRVQaP…OçOoNÎM›LnJïI?HF”DC´B×BÂDåA@;AÎA>C*FCFFEªEDCPB_A@@e?™>Ù>F=†<÷l??­@}A‚BfC"DDóE¤F`GzHµIwIÁJ J/IÀI*I/I²JJGJI[H‘H0H Hâ?Ž@ØA(A%A‘B"B™CC8CfC¥DDuEEÉFG#G¹HWHîIŽJJKrL>MNOPQ QþR·SNS¼S•SjSÆT/TT6UWpX}X—X%WâXSYŠZä[LZÐZ#Y€XëXgX W¦V¾U‡T}SÕSÀT TYTTÁUFU×V-VDV,V@VHViVºV“VUqT®TŽUUTçT–SWRP÷P{Q˜SSSS R‰Q”PÍPTO»N²M)KµJ$H‘GEÆD8CFBB8@ï=¬?AýCC»E!EçEÈE ED CKBcAe@®?Í??>®>-=¡=%<<&;ï;Ô< <7<Ý=q=©> >l? ?©@6@ãA¯BÀC±DkEEFF GƒHŸI—JgA(Cð@ÚA D>EHE±E…EtDùDChBlAÕA,@¢@?š?>²>T=Ó=³=§=á>>Z>¤>›>ú?˜@3@ÉA6AâBÇC¹D»E–FNG G¾H„IlJ:JèK`K‰KžK¬K`J¬IýI˜IHGrGµH0HkH{H^GÖGGGF¾F`EýE}EEMEKD•C¤BˆA3A’C\DJCåCB{AÖAþB«BÈBÒC%CuC±CôDD=DgD»E=EÕF„GGŽH H±I€JeKBL€MGN"NþOÁPtQ2QõR¾SPSR°S1TT’TÏU´VûWWdVûVàWwXtY¨Z‹ZÈZ—ZsZHZY¼YŽYUXÏXWkWVÎVÚWW9WVªVzV£WWaW"V‹UÄUT§TTBT;T$S QÍP÷PwQdR™RsR Q~PþPÞPnOoNL©JêI!G£F¡EŽDjB}@Ø@BžC<Ú<©BÖDeD¤EE-E=DÚDHC\B¡AúA§A@å@G?í?•?R?W?`?š?“?¥?Ê@\AA™BB˜CuD”EŒF}GRHHÃIŒJAJØKLLBL%KÄK!J^IvH^G\FìGG”HVH·HšHCG÷G«GHFºFUEýEüEÄD˜CNBAA¬BÃC¹CîCøCŒBÏBÚCKCdC˜CÝD DAD‚D¼DÛDòEhFF´G"G¢HIIJ!KKÛLæM¥NeOOÀP^Q%QöR¶S)SRéSZTTTßU”VFV„VV~VnVÃW{XfYkZ1Z‚Z—Z…ZlZ7YøYÅYuYXnWîWŽWwWzWgW;V÷WW}WÇWšVöV6U™U)TÐTbSïSìS©R Q¿QPvQR&QùQ”Q~QMQ P|OtN?LøKYI…GìGFREC8A=@ÚBÌ@•:[;µC$C A_AÞDODÓDÝD¡D'CÔCBöBcB0AíAA=@ò@â@¡@Á@à@Ã@éAsBB…C&CßD§E´F§G}HfII J6J¨JûKaK®K„JÿJJ(IdGûF©FhFjF:GHZIIIHûHGÛG6FÖFœFFDëCÎClCDDDD‡DLC¬CC×DDeD‚DDÆEE@ETEyFF«G8G±HYI.JK K·LJM%MêNžONPPîQ×R˜SSDSžTTaTŠUUU¼UáUòUìVEVñWàXéYªZ Z#ZYÐYƒY:YXÁXdX WÎW•WYW[WºXWÕWV?U¡UBTËT+SÂS»S)R;Q¥PÔP©QaQUQ1QœQPýO×N°M`K§I¨GÃFÉEôDtB%@°@ ?m? BpC¬=E<™AãC¿DTDxDCÀC‰CÔCjC/BÆB”B:B;AèBB,B=B‡C%CÀD{EvFjGbHTIIèJtJÎK%K+JINH$G"FWF‡F`EýEÎE´G3II¹IÉIÃIGÜFÌFYFFFbF%DèDUDdDFD-D¡DþD­D1DRDÍDñDëEEoE¨EÐFF¸GXGêH¯IžJKVKêLtMCMöN˜OYP/Q QÜR}SSxT(TpTUTTT´UUFUeUpUVUzU÷V£W€XWXíY6YIY,XïX¯XŒX[XWÐW”WvW}WÉWóWÏWDVyU¾U@TòTvSìSÑSäS=RWQ²P¾PPfPP—QFQŽPêO¸N§M}LJHFEŠDòC’BA)BD~D½AÐ;Ï;A@`@éB3ByC—D>D—D¢D’D#D C›CsC-C6C`C€C¼CõD‰E=F-GGäH²I"IžIàI³IžIÇIÍH¹FåEŒE]GG³FPE‰F GˆI8JJJJHðGPEüE`E,E°FŠEÛDÞDÀDÈEEqEpE7DäEEoEbEqE¶FFHF~FèGrHH¢I|J`KK•L LœMUMùN°OœPgQ1QÚRS-TTzTOTOT›TæUUT÷TÍTêUYUïV’W3WÁXX"X WêWÃWŽWXW1WTW~W¢W—W2V®UàU8TôTÃTMSÿT.TSQÚPýOèOYOƒO®P=QPÿOôN³M¥LjJmH]F¡EŠEPD‚C»C`D±D†A¯< :š<÷<É?…?x>^ADDŠDèExEiED÷DÀDuDPD­D¾EE8E½FbFòG½H{H¡H?GüGJFvGeI’IàH:GƒH&HùG“E~FGžI9JIJpJWI0GpFDíD4ERGF¢E”EˆEÃEùEîEÑEÁEêF EöF,F…FåG"GbGËH^IIÙJ™K4K±L4LÀMKMöN´O‡P0PêQ­RtSmTGTuTUTsT¯T¾T›TT€TlT‘UU~UòVcV¹VñWVñVØV¿V£V»WW VáV‹VUNT¹TžT–TIT+TpT3RçQ ;í>£B[E&FÄF[F6EÏEïEkE1EÂEñF"F>FÕG8GYG…GÆG‘G[G"FÀGÊI>IUIIiJ6I·F\DªF‘I+K4K=J¢IôH¯G•FÞFeFÓGÌGAF EåF'FZF`FzF¬FÂFªFÈGGtG½GñH3H´InJ4J×KWKßLlLÓM>MïN†OO¸PsQ\RnS—T`T‡TnTfTxTdT'TT1T2T@TtT»U U_U¬UÙUÑUÂU´U£U©UéV1V=V U›UTŠTLTGTAT(T>TˆT!RtPYNñN]N(NNqOOÆPO°OANdLìJðI G¼FpEE>D!CC¡CdA—@>¿@A`>6r=Œ=~?·DËEîF1FVFqFF6FpFF]FÙFCúA¬CgF\FeEõFEàE"EÁH±L)KH(I1KhK5JJJÎIãHéH6GcFúG4GYGfG¤GèHH)H'H.HUH¨II HðIcJ&JãKyKÜLL†MUMéNlNúOàQYRùT T–T†TSÈS—SLSVS§SôTT#T#T÷>S>A`FEBCcFÈGžF‚D½D+E!HYK®L|KïKKMJ›JMJóKJJ“I(HGÜHqIIHòHÞHîIIRI”IïJ5J9IïIíJJJ±K2KKÞL–M¤NINÏO©QR S´T,TJSêSMRïRR,R.R„RÞS4SzS¡SÎSõTTTSõS¼SySbSxS¼SòT TSóSROP-MúLØLšM!NNuNÂO:OŠOtNÚNLÔKFIGëF€EJ•J|J2JJ5J†JÞK+K_KxKˆK•K K¼KýL]MNÌOàP³QÏRóSŒS¨S¢SIRšQÜQP¡P«Q=QøRžSSISrS‘SÂT T\TT¨TZSÑRþQÞP-N*L¨LL)L´MMÚN7NmNsN1MSLJbH»G)E÷E1DªDdD‚EfEáF"EêFOnPjPªOÍOÒQ}SLT(TGSoQ P)OÔOçOèOúPPOþOÝO|NÛMöLöLLkL¢LíM…NhOBOÅOèOóPP)P~QcRZRÔRÂQùP¤O,M¨L?KHJÞJëK9K·LEL¿MŽOP P NÌL·KÉL/MaN¸O²POÁOQNüNÕN©NMN NNBN1M¿MXMkM¾NFO-PP¢P«PqP>QQÃR5R^R*Q%O+LÆJÂI§I‡JKLLÎMrN§P.PÚOóN$MMORQQáQ¤PóP€PCO¾ONöO PDP OMNóO%O–PP‡P¦PPR R`RjRQOL_JII›KLÕN@O#O§OðO×ONMÎNÞPšQÎRQÖQ–Q#P[OÙP†Ž÷+•cCHóHò¸ PA{ÿ‘+•cCICG²À C„j‚+•cC_sH¢Ì FY+•cCf£:âØÐH„H+•cCj3èÐM„)‚%+•cCkó-Ãc ši‘+•cCl“'Ó˜ iv‚z‘+•cCmÓs° †ï½Ñ+•cCm37#Ð ÐÒ üÇQ+‚•‚ƒY30ãŒ ß ¬ôÑ+‚•‚ƒV³+C¤ Pð R(‘+‚•‚ƒQ³$³Ä [½‘+‚•¡ÃF# c€Ñ. þøQ+‚•¡ÃE‚õÓ`Ñ6 Ô…+‚•¡ÃCòí`=† ¯…++ÿ•¡ÃB³óhm ÈÇ+ÿ•Á0ãc¼Qy„ Œ…ð‘+ÿ•Á+ãÃØ¤ Æ€Ñ+ÿ•àC ¤T‘¤  Ä‚Q+ÿ•àC TT‘® †ŸQ+ÿ•àCƒôdQÌ +ÿ•ÿƒÃ„l‘Ó‚ú+ÿ•ÿƒ’ôäp‘熩‡`Q+ÿ–à õ4€êŸhÑ+ÿ–à äô„Ò†ÔˆQ+ÿ–Âøë„Ü ’ Ð‘+ÿ–Â÷²ë4Ü ’&³ˆ3Ñ+ÿ–Âõ‚åDä Ò:ix+ÿ–>ï’Ñå<’SÊ+‚–>ç"ÁHRXˆÛQ+‚–>åâ¼õ(Rn¯ +Q+‚–>Ýr½”L€y‰aÑ+‚–>×2¹Ô<Ò›‚‰ÂQ+‚–]BÌB´Ô¤"Ò² Ü Ñ+‚–|‚Åbš”Ð*R²ÛŠ +‚–|‚ÅbšäÐ*RÆ› R‘+–›Â½B™ôÔ(’ð%ŠÝÑ+–ÚB­”'“  â 1Q+–ù‚£¢Šô+„º d‘+–ù‚bˆ$(,“>[‹ã+—8òDˆ0HB Q+—WBŒ‚~$1Skò y‘+—•‚‚sÔ„8o è ˆ‘*ˆ—•€òrDˆ8ŽŸŒù*ˆ—ÔBvòg¤¼.Ó¢mK‘*ˆ—ÔB~ÂnÔÜ “±L„Q* —ó‚‡2udضA˜Ñ* —ó‚†âs4̽0 ¸‘* —ó‚…o$¤Ï ëQ* —ó‚„²j$`Óâ î8* ˜‡‚f|íÙŽb* ˜ÂŒ‚f´ˆÔµ°‘* ˜ˆ"\dx”—Žó* ˜2‡ÒXpÔ.hcQ* ˜2rVÄ´ Ô]&‘* ˜QB"ODx”ˆö)Ž˜p‚ŽbLt¸T‰ ô¢Ñ)Ž˜p‚ŽN¼Ô¿¹c)Ž˜ÂŽbHd|ÔØ¢¶)Ž˜¯âH´Tû’2Q)˜ÎBŠRBÄÌ% ^Ä‘)˜í‚ŠA4ÄÊ úÄ(™‰Â†B>d %Ö'ÏßÑ'šÂ|B6ä¸-GÁ–CÑ'šEB€9d”0’¤îÑ";žkÂ|â3Äx^m‰;9Q!¾žªB„b74tb|„9gÑ!¾žè†â8Ät_X‰7ŽQ!¾Ÿ…¢8tt]˜‹†7•ÿÿÿÿÿÿú…ò8ÇÿÿÀXm‰;"C|=T€qÿð7777  653 IUSD40 OKLI 201200 BUFRŽY   €É4fÿÿÿÿÿÿÿÿ¨ e“ëÚ‹<­ QhŒl ½FS< PM„ ‚2Ñ+•cCj³4óL Pû:‘+•cCj³1ÓP P_ šhÑ+•cCiÃ#sHކö+‚•cCk8Ü ¼ƒêQ+ÿ•‚ƒY2ØÃ PÞ ¯ƒñÑ+ÿ•‚ƒX’Þ ß ¬ó‘+ÿ•‚ƒXBÛ“ ‘' 6Ó‘,|•¡ÃCèl‘3‚ úùQ,|•¡Ã?Cƒt8 á Q,|•¡Ã=³ “x‘@ ¼!,|•¡Ã<"¾ƒxO s…P,|•¡Ã9 Ãpm ß´,ù•Á/òý£XQ• 0/Ñ,ù•Á%RéS ‘© ×pÑ,ù•àCr䣸 Q­  Ä,ù•àC2îÈ ‘³ ¬†‘,ù•àCõ3à ÑÇ Y†Ï‘,ù•àC$Q΂ :è,ù•àCCD ‘ô¥‡_,ù•ÿƒ²úÓüÒ†Ö-v–Âú2ð4 ’- ÐÑ-v–>ôBèd\’:¤ðÒãdtRb»Q,ù–]BäòÖ”€#Ò¨4 ¢Ñ,ù–»ÌB”|(RÆ Ü Ñ,|–ÚBÁò´4ˆ+’䇊a,|—·ò¦t”1S! â (Q+ÿ—v‚ ÒŽ´„3S;†ž‹+ÿ—•–҃Ĝ0Sf9Œ‘+‚—ÔB‰u¸,‰ è ~‘+‚˜‚2n„|-“©–¥ŒåÑ+˜QB}2häh;“¬  î‘+˜QB}2häl;ÓÖA ‘Q+˜Âƒ"hD¼ Ó÷ øÑ*ˆ˜¯‹’_„  î0Ñ*ˆ˜¯ŒÒYDlÔ‚ëŽ6*ˆ˜¯ŒÒXôlÔ׎_*ˆ˜¯Š¢TD`ÔD…Q*ˆ˜ÎB‘‚Np”g„VŒ‘*ˆ˜í‚•’LtPÔ°õœ*ˆ™,rDTT± ôŸÑ*ˆ™,"C´TÝÁ‘BÑ*ˆ™KB’"E”””ì±|Q*ˆ™KBrBt´UAl’„* ™‰ÂBtxUX ^‘* ™©B>´„#UsL“‘* ™ÈBâBtœ#UÅÑ)Žš&ˆ"<„œ%ëq‘)ŽšEB…ò:¤X$– úÃ)šƒÂ…ò>d'–8åHÑ)šÂB‚Ò9´˜*–©¶–™Ñ(›}Â{R5”:̪—Ñ(›¼Bx23$´4Öâ„¢—G‘'š›Û‚v¢24°3— –¾Q'šœ{5¤°6—X·& œ—‚29¨3— mÑ&#²7„„8—Æ d%¦R‚{ò6Dt@—óZ¸Q%¦°Btr1DŒFzBœ|$/Ÿ¢B$d\Øò2ž ‘#² †B>h^Xö 20‘#² žB‡Ò?¤d_Y„/“#5 üBD`hY),žâÑ#5¡:‚‹BAÔXmB*4Q#5¡˜BŒÒBÄHhYN)]Q#5¡ÖÂ’D¤@g™ˆ $ Q#5¢±‚ž¢M´8™$ *¿ÿÿÿÿÿú 2OçÿÿÀYˆ $¢FjEciÿð7777  843 IUSD40 OKLI 200600 BUFRY   €É4Þÿÿÿÿÿÿÿÿ¨ e“ëÚ…t­ QhŒl ½F†ŽõÑ+•DICIBØÐA~ý+•DLKÂèÐF]‚ ‘+•DecHK>Q+•Dis63_½VÑ+‚•cCf£$(d šg‘+‚•cCe"Ón\‚…+‚•cCcƒ$²ø‚ß‚ÂÑ+‚•cCjbþBœP–dƒÑ+‚•Dh3¢hP›EQ+ÿ•Dh‚ë‚hPÝ ¬òQ,|•DWb´ë \„Ñ,|•DT2ûrÌ, ú÷‘,ù•D>¢ã4Ñm ¹ËÑ-v•cC'Ò̓,‘• ýPÑ-v•‚ƒÒº#|   ÄzÑ-󕂃R¶˜Q¤ ³††Ñ-󕂃b³“œÉ‚ ‡Ñ-󕂃 "ôãÄ‘Îù‡‘-ó•¡ÃBó£Ðö‚E©Q-ó•ÁýÝt0Ò Ð‘-ó•ÁóòãhÒ†ÆQ-ó•àBóRà”p’#ŠˆL‘-ó•àBíbØÄÒIüˆÑ‘-v•ÿ‚ßRÇ”¨$’Z„¾ ‘-v–ÂØrÉÄ &Òžê‰êQ,ù–|‚ÂB·ô¨1Ò¢ Ü úQ,ù–|‚Á¶´¬2Rú â Ñ+ÿ—¢b˜¨>“ „ ›+ÿ—v‚”¢ŠT¬D6F‹ï+‚—•‚4¬J^ è x+—ó‚’ud ;Ór†» ¼Ñ+˜Â²u”6Ó•—h D‘+˜QByrn4T9“¸„ Ø*ˆ˜Â‘Òv¤ŒÍ î**ˆ˜ÂŒÒgT˜Ïê2Ñ*ˆ˜ÂŒ‚fÓÔàGQ*ˆ˜Âre$„Ô Q*ˆ˜¯”¢Z4g‡ö“Q*ˆ˜í‚’NTˆi ô›*ˆ˜í‚’OäŒÔ°§‘šQ*ˆ™,’ÂN„îvXÑ* ™j‚’Jäx• ^¿Q* ™j‚޲JD˜•“„L)ŽšÂŒ‚ED¤.Õ´ü”°‘)šEB‰BÄÄ0U¹ úÀ)šEB‡ÒB$Ä/UÔ„ìÑ(”šd‚€¢=$¨+c®–Û'š›?Bz8Ĉ3~„¤—4'š›}Âwâ7„˜6ª –»Ñ'›¼Bz²:Tˆ5—t7‘&#œ—wâ6äÈAW]fû‘%¦vò6D¨BWe d‘%)w’7Ô¨Bæ‡K›º‘$/ž-B€;DlJÀ7777  932 IUSD40 OKLI 200000 BUFR¼Y   €É4”ÿÿÿÿÿÿÿÿ¨ e“ëÚw<­ QhŒl ½F „'öÿÿðVïÿû€ïíÿ·Äÿ€sûé@Ÿþø±-‘¯ˆÙfÜ ø€ÿÿƒâï‰ÿàà7777 emoslib-000392+dfsg.1/data/wmo_synop.bufr0000755000175000017500000000051412127406245021304 0ustar amckinstryamckinstryBUFRLb Õ  ”Á Á Á Á  e g    ÂAÂE  > q ! B  A o p   C + )–ˆ)ª©!¤§aõp͸Lf˜l7à@gx_ÿÿÿøC’c„ðCèÿÿþ i(_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüþ€ÿÿÿÿÿߢàŸé£Ø DþÆ@ ÿÿÿÿÿÿÿÿþ7777emoslib-000392+dfsg.1/data/buoy.crex0000755000175000017500000000032712127406245020235 0ustar amckinstryamckinstryCREX++ T000103 A001 D08003 E++ 148583 2/// 3/// 40 52003 611 725 815 910 08336 1-14709 2///// 310114 4//// 5// 6/// 7//// 8/// 9/// 0/// 1//// 2/// 3// 4// 5/// 6// 7// 8//// 9// 0// 1// 2////++ 7777 emoslib-000392+dfsg.1/data/wmo_temp.bufr0000755000175000017500000000276212127406245021110 0ustar amckinstryamckinstry@ 177 IUSD40 OKLI 100000 BUFRÒY  €É4ªÿÿÿÿÿÿÿÿ§ e“ê‘7D­ QhŒl ½F<€$O(wÿÿÀ ˆ>Ñ*ˆ•DÿÿÿÿÿÿÐGuF+•cCFÃ;‚LPl+•cCKÃ:C, P±•‘+•cCPs?“x Ð#“¢Q+•cCYÓL” Ð4ÕQ+•cCYÓM£Ð 6 ÚQ+•cCYƒM£Ô PC†¾þQ+•cCXCHSÐPZ/‚>‘+•‚ƒTÓ=Ð p¨‚|‘+•‚ƒNC:ãü Ps šƒQ+•‚ƒMS:ä PªJ%+•¡Ã=8p¶†ƒIÑ+•¡Ã8³7$pP»†äƒX+•¡Ã<#0ätÈžƒ{Ñ+•¡Ã9£(ttó  ¬ü‘+•àC-s„D ‚ #HQ+•àC%£äT^ x…D+•ÿƒ ÔP ‘e TZÑ+•ÿƒ“DL Qo† &wÑ+•ÿƒÃ$p ‘‹ £Ì‘+–ÃRøTøš d…ö‘*ˆ–ÃÂþåQ¦† 1*ˆ–ÃbñÅ4‘¿  Äf‘*ˆ–Âú2ìu$ {‡^‘* –]Bä¢Þe8"’: ÐìQ)Ž–]BÙbÎÅ "ÒP‚ƒˆ.Ñ)–|‚ÔbÆõ0’d„;ˆo)–|‚ÌâÃ5D!Ò£r‰.Q(–›ÂÀ´…h'ÒÍ艼‘'š–›Â±b¨¥\*ÒÒ Ü ÉÑ'š–›Â¯Ò¦Å\*’ßµ ôQ'–»«r¢\)Òë‚‘Š‘'–»¨R¡%X'Ó+ â êÑ&#–ÚBš’ŒÕ\(Hœ DÑ%¦–ÚB•B…D%““ è EÑ%)–ù‚šâzD"˜Ý V‘%)–ù‚x…D"S¸‚– Ì$¬—¡"e%S„ êÑ$¬—¢`%Sè< oQ$/—8£òMµ“þ„¾‘$/—8¦ÂFÔÜÔñ‘$/—WB£R@D´” î Ñ$/—WB£?ô´Ôé§ôŒ‘"¸˜2¡Â?´!ÕË‘";˜p‚Ÿâ=Äd+•« ^¼Ñ!¾™KB›‚:¤|1•ÍJ‘!¾™‰Â˜²8Ä16 ”SQ Äšd‚•’6”l?a úÈ‘ ÄšÂB™9TD–µÒ•Ò‘ G›}–‚74XLW0¥—HÑMœô™ò9´Œe×] –ãÑБ–Ò74ljWs„˜)Ðî—"7„hmX ddÑY ½‚®’HdXˆX%bš€Y Ü°rI¤T‰ØWW›9Qܡ֪‚E”Pc„U›cÜ¢B¨òDTH‘˜¬IœNQ_£«‚±Iô\ªXÖCéÑ⤆B°ÂI¤dŸÙa 2À‘î§Ò·NdÈ™l0žëÑî¨/µÂMd`ÏY£„+»Qô©¦Â»²Qt\Ò™É' BwªÀ´2L$`Ïš‰"!;}¬u‚º"P„pÓš ¡~Q¬ò‚¸’ODpÓ ¡…?ÿÿÿÿÿú¸BOGÿÿÀZ‰"".úXë=ÿð7777 emoslib-000392+dfsg.1/data/wmo_synop_1.bufr0000755000175000017500000000037212127406245021526 0ustar amckinstryamckinstryBUFRúY "€ÁZÂÂ#Â$Â/Â0Â%Â+Â,AÂ-Â.º() ¤ –¦$¡*©/ª£­ QhŒl ½L=ðP0\Öa``¢eüe¼`Ÿ[öZ]VOæJU?Ê66.ì&:'-0Ì=9K"W{`v?P€_½k[p—qerûq,k;bÆ[S`MÁG÷B<^2ß)I&c-7åDSÕaAjÑK—`In—x+{üy²w@neÑVñGü;•:%; 8å6û4^3¨4s:E²R0a…l•oCUjvwÌs€¬|It“g™YÝJ=> 8p:;ç@½9‹.d7C:{FhQÓaoo?r n·]toÂ{‚H‚T|±re:SöCƒ2ˆ07/8AÝ@ÿ:7FØHÃNá]fg­oss d"p£xÒ~È~»{XsÁjd`DK871î>!?­@ÃGhJÒTËSôZ³ag+n´s¨d g=pYt)yÉzíväp@h^NNFBF*JÞL~PäQå]W³_Éh³p€s“xÕi_¶iâmGmùtqvµrLm]gHXWôX×X?T_VZ®]Ç_î` b¡bHcafcù_j`kúnGn§pYoôköjËhÀ`]e_]\v[Ž^b_eBf›fvd:aócÇ_Û]*[ï7777emoslib-000392+dfsg.1/data/wmo_climat_synop_2.bufr0000755000175000017500000000101412127406245023052 0ustar amckinstryamckinstry@ 043 ISCD50 OKLI 011435 BUFRìY   Ö€ÁZ  3  e33 v4 w  — B2 !2B4 5 ˜5 ™5 e5 e 5 .5 < 352B45 4   3  e33 v4 w  —    <5B2ò() ¤ –¦$¡*©/§`€­ QhŒl ½Aá&eŸcÿÿÿø[dIQ·žgâgâ1ÿþ €¢}€ €0À€H`¨E€®€ ±6êPÖ¨@œ CChyüö3ÐxHz(€–À€8à ÿÿ½›èX €"L¡>/ÿÿÿð ¶Á²£iÅÄTÿÿ {7аM@„›ø€€ €07777 emoslib-000392+dfsg.1/data/850ght.grib0000755000175000017500000003030012127406245020252 0ustar amckinstryamckinstryGRIB`4€byÿ€dR0001 ÿI*!€ix€€è¯Èèè€D*&c/cb›ba²a}aZa`l_O]Æ[ÿZ+XjV¹TüSPñNŸL;IàG–ERC@š>(;Å9Œ7€5‘3œ1/c-8+))J'—%ÿ$n"Õ!1|´Øï :‡îgèr  ¬ [ Ä}AA›.YÏgÖžeredšdWd1d cÕcŒc+b aÇ`‰^æ\úZìXÛVÑTÀR’P4M¢JñHAEªC3@Ñ>v<9É7‚5A2þ0·.y,Z*g(&ê%9#!¾ð)2?` ýu ¾ — ” ¢ »ê8 ’º„xŒ´ë2…hg5fÙggSgqgºh¨´¾ÊÚð0INAnÜnm´m×n#nm—m*m!mOm6l“k‚j,h€fPc®`ú^ƒ\6Y¼VÚS°P…MƒJ¡GÓE"B–@=š; 86>41³/D,Õ*‡(Q& #¢!HC´ƒ~„•¸æFˆî‡[mÀKó‘C]fdU5 ä¼”r®q¥q#qeqýr:qìqqhq‰qvpéoòn£lÝjƒgÊe b·`W]¤ZŒWRT8QBNRKfHFCx@Õ>;s8ô64 1°/Y-)+ (ù'%Æ%$o#…!îÓµ  «¼‰zÏAž-ÕkØ  6 -þ¸g •yx¬xHxxwÛwdvêv vovuet]rôqn­liOf¥cã`ì]ÉZ—WgT>Q/NDKmH‰E—B¸@ =; 8½6x4`2v0»/:. -0,+›*'©$¥!™ô4B ‰!Ç"é#Ò$m$Ê%%%Ý&&!&:&l&•&Œ&M%ñ%Š%€Ø€·€F€~}®|ú|d{Õ{Ez«yäx¿wtërbo²lùj/g=d#`î] Z4VÃS{PhM\J=G6D‰B/?ä=‹;R9`7‘5±3×2U1F0o/ƒ.g-+ƒ) '™%Á$a#¥# $N%‰'(°*++T+*­*7)º)@(ø) )a)»)ð**)æ)¢†é‡†›…‘„6‚ò߀ØÙ~ù~+}4{òznxžvVs…plmYjWg1cÍ`F\½Y8U¶RANñKßI!F¸DƒBQ@={:¨7ª53‡363f3@2£2 1Â1w0Á/¶.Å./-æ-Ò. .¤/0Â1Ê2d2X1¦0n.Ú-$+«*É*Ž*Á+'+°,K,Ë--‹Ý‹×‹UŠR‰‡¯†X„ûƒ¾‚¹¨€.~Z|¥{7y‘wsÕp\miÖfZb›^Í[ WVSÇP˜MâK…ITGFEBB×?{;Y7­5û6«8”::a:9¡9N8¸7Û7#6ã77>7‰88³9u::—:¼:k9Ž8;6®5A4=3¡3(2 2#1â1Ü1ê22ÌÇŽë{‹¹‰ãˆ †˜…j„uƒQ¸Ð}ì|yÐvßs]o·l%hƒd¦`¨\ÈYU®R”OýMÚKÝIÙGÜEÝC¨A`?Æ?v@ @‚@p@Q@Ž@È@e?w>£>f>²?9?É@Z@íAzAïB9BUBHB A‰@Ç?Ø>Ô=Ï<Ó;å; :]9ç9‘9:8è8«’‘’ü“ ’‘‘{ïŽ4ŒjŠˆ§†Ä…ƒhÕ€~{¬xÖu‰qònNjŸf¼b¦^«[WÚTãR6OÞM¼KËJQIIHvGÆG3F¹F8EáEòF"EàE-DªD½E*E›FF¨GBGÉHSHáIKI{I„IZHåHWGûG—F°E_D:CjBA@¼@%?†>┿•2•h•2”o“A‘ÍŽ!Œ‰å‡¶…¤ƒµÂ¢}Bz„wDs“oÁlhTdƒ`±]YÀV¤SÌQDO M:KòJòIÂHdGlGI‹IúJMJ†JêKžL{MPNNÆOLOÌPpPéP·P"OþP8O¿NILãL#KUJHóHbGÔG –[–é—5—–ƒ•®”˜“)‘cTŠ•ˆ4…݃o€ã~<{exAtÞqdmÝj5fybÙ__[îX¨UÄSPMFK^JCIpI I}JYJ¿JªJ¼K.KÅLgMM¢N;O P PøQáRÞSáTçUöVÝW€XUTkSiRºQâPÊ—v˜&˜y˜˜<—™–‹•L”’n>œŠïˆ]…ƃÿ|ßyºv}s&oÍlfhÝeVaæ^q[XURPOcNóMÔLÌLÚMqM¡M¬N"NÄOXP8QuR¨SÕUIVæXVY›ZÆ[Ø] ^Î`Qaa\bHc—dc‘bêb­bTa¡`ò`<_>^I]z\PZјG™™}™Ž™T˜Ï—û–Ü•“ï’2/²ŠÑ‡ó…3‚UO|AyuÌr¤ohkÓh.dÐa^[ÆY#VÑUmTÀS™QÒPÁPóQTQ*QQˆRRSKT™VWTXßZÚ\ì^ç`ËbGc\d¶f}gýhøiÛjÁk[kk‰kyknk.j¯j'iŠh¨g¾fàe®d0˜¡™[™Þš ™Ë™=˜{—l–”w’ÂùŽôŒ‰á‡„1L~{«xÖv so¯lwi|fzca^º\œZíYpW³V TùTCS–S5SfSÿTßVWŸY@[]S_Âaõdf5gòi1jµlŠmçnép+qFq°qÃqÞqïrrqÛqcpÑp%oVn]m*kؘ֙‘™Û™Ì™u˜æ˜–ו‡”’ObŽxŒsŠEˆ …ÃT€Ë~({Lx%tàqÐol}iîgŒeBbÜ`‚^i\hZgX±WXV=U“UjU]UjV WEXç[]¶`@btd’fÜiSk˜mSnÚp‹r+sštývv­vöw/wPwSw8wvñv¹v;ustks?r ˜@˜ð™"˜ú˜—¹–¿•«”^’®ÂŽ×ŒåŠ×ˆÇ†½„—‚P€ }Ã{.xOu¨suqAn½l)i¦gdxaá_G\ÓZ¶YWÐW"V³VCUàUáV‚WšY/[³^ôaéd:fƒik»ncpÆrÁt„vwWxžyòzì{R{g{y{h{zízõz¼z5yx˜wlvi–ã——±—[–»•ٔēš’7ˆŽÊ‹ˆò†à„ ‚X€;~ {žyGw!tór‚oçm‰k€i8fqc«a$^¸\¨[#YëXëXW$VU{UHU™V¿X¤[^bbeBgâj¥m¥pŠs+ušw×y³{#|f}~p~÷' ~ã~Y}É}Y|­{×{%zgyŸxû”ð•n•‡• ”€“©’v‘|ÂŒŠWˆh†I„§5|¿zLwæuÂsòr#pmÕkti+g dÌb\`^\S[)ZWY‚X¡W¹V´UÄULU’V§X,Yð\ØaEe–h®k‰nßr'uwäzj|v~{€£x‚‚_‚p‚E”€we~e}}|é|‘|T|’±“ ’õ’„‘âÛlÒŒŠ4ˆ6…üƒ¹e~ï|–zwnu#sqo…mþl>jŸhÛf²d¥b¬`~^ƒ][ë[ZHYVXgWV¤UëUèVqWUXÓZÁ]}aËf^i¤lŸp9s²vÉyÃ|‡~ð€ã‚kƒ„\„¾„ú…„ç„&ƒ"‚A‚€î€µ€y€ZAnŽ‘C‹­‰Õ‡¤…ƒƒY€Ý~y|yvw$tÃrLpqnÖmVlZkigfeÓcËaÜ`=^¾]Y[÷ZÁYÙY XgWêWWwWÛXPX×YÎ[A\¬^ÛcRhJkgn3qüu“xÇ{ß~‚€ãƒ„ˆ…’†?†¿‡!‡:‡†s…×…q…„´„„#ƒâƒ½xYŒå‹üŠÔ‰D‡O…@ƒ€Á~4{‹y0vÕtzrœp¶n†lŸjùi‚h@f¼dôcUaÊ`:^Ð]|\E[JZeYšXÑWÝW:WWEXY3Z9[X\k]k^Îa‡fOjômuptwœz˜}³€Q‚n„7…†’‡,‡˜‡ð‡ì‡È‡‡*†Û†ƒ†"…ì… …O… ŠûŠs‰Îˆ¶‡D…]ƒ€Ï~C{IxguòsÑq´o‰mWk*i)g2ehcçbH`‘^é]—\é\([ZZYòY¯YœYYƒYqY.XÂXXôY¸[]^û`ˆb dVh,lcoOr‰vÅz|‡1½ƒÆ…L†R‡‡‡‡©‡º‡•‡a‡<†û†×†µ†y†V†…Ó…¯ˆx‡¨†®…Tƒ›b~Ã{áxuHrµpŸnfk¾høf cT`ã^œ\¯[*YÓYXµXŒXwXWíWúW”W²X“YaYúZ(YÄYvZ[o\Ö^^”_…bÌgPk.n¦qšsûvœyw{ï~€Àƒj…!†9†è‡+‡N‡4‡†î†û‡‡†Ý†¬†v†O†…ò…Á…u„hƒXT|ÆyÖv}rùpmbjˆgtcù`^\ÄY.VcÊdŒgko4qisLt†v¡yØ{Ô|°}¶€}„_†r‡‡ßˆ‡˜†…ƒ˜‚~ñ|¥{ž{yÿxëx2yJ{|~4ƒÔy¹xºwPt¢q%mŒiÈfTbÛ^ÅY¡S°NjJŽH=GF²F³GGúIJpK–LL¡M£NšOOÑP¼SSWwX³[sa a’a,cfej)nŽqäu~w—yu{8|²}ÚR‚Š…`†Z‡#ˆ‡²†¯…›ƒÉ6~#{§yxuwÂv¶u‡r`r¯vw‘{}†}xv|usoÃkïg»cv_©\X TPBLíJ´I"HWHIH×IûKGLìNFNuN•OÃP‡PP™PÔSVWWY¢[‚]d^Üac0fsk†orev®z¿}÷€-èÿ‚Å„æ†?‡k‡¥‡Ã‡˜†5„^‚CÊ|yiu·s„shs1rÒpÚp&q[rÖwj{0{¶v uns~qvnókbgbX]ÇZVHRžOlLÛK+JIiIeJ€LM”OVQ!R„RšRFR1RëTSàUKøK9K…LLnMHNŽP#Q¹SUV UÛUSôTTXVY\^Z`aÜbÓeg¢kÉr»vÓy{[~€‚t…S†ëˆ‰ºŠÚЉƒ‡¶†'…)ƒn~*zíwÊuksárZqtqprpq%oOk~nYrt;sÏrçpünk$hdC_Ì[VßRÑOWLÖKÛL­NkPP÷R SnU@VÛXY-XyUÔTsU®V~WµZy]ª_ÿa´cc´fijnªs}wˆ{ô}uí„9†‚ˆ>‰v‹)‹ìв‰`†Ò„™ƒŠ‚\€T{ßxTv|tr¸pÙmÜjƒs€ˆ|èxDt‡ŽçÉØŽâk‹ªŠ‡ï„ÚÛ~~z:vºsq~némŒh‰fhþiÃkDlõo®rÎu^wÒ7777GRIB`4€byÿ€‚dR0001 ÿI*!€ix€€è¯Èèè€ Búâìí¹µ üx f¦ÅveV%¥¬2þ`ô®޵ÿ8q ³g TŒí  ³ ` -ôß0û/=iû h ® #  ñ À Íïolá º ÷ ­øÓp~ +Q.6Á“K& 1 i»-^N‚¦å– ‹Ûƒsù¯•''  –¦ÞÐ?NEÆHe  ¨  ú † ©9åNBÕE¾>£Þo =¬F Í""Ô£üg«]Éu´’a ÞÞóé?¹- ” ç è ?ÖN*É Ú0w=Uù‚åŸ6ÕY§ìl5 µ{ئl .!Ê# #Ý$c$à%„&K''v'†'E&ç&¥& &×'*'w'©'¾'¹'•ºX#w#Võ´Zû€Ë j – ÓÓtÚÊà Ì b | Z  `zpÑùŒ¡ƒ!F!›! ^  # a ý"O$h&×(ñ*T++“, ,|,Ð,õ,ü--9-..s.Š.p.b.‡.¾.´.?-‰,î, ,{,)&K%¶%•%$ú#²!‚^}uûh’  ¥ _ w  V  + H  A Ü J = ]Ú,bÎ}4 ®"à$<$Ý%m&‰(E*/+²,q,a+Ä+*Ð+=,7-c.‡/¬0Þ1ë2ƒ22Ž2°33232Þ2³2{1ê104/å/ë/©.¯3 5#4È2^.ì+ &‘!nN0U¾” A Ù ž ù W £ žK'NfŽ6›F]ˆl!"å$ð' )*Â,A-),ð+w)u(/(¢*à."1S3¤4â5l5Ñ6K6645W4–4y4Ý565G5W5´65ï4é3{2K1ˆ0Û/è2´4 3Ž1W.!*'%-‘°²Bü:B «ÞžÆ³ÅDPªê-Ií€"L%'((‡) )÷++z*ù)À(g't'Z(˜+r/g3356Y6 5¶67 8c9?8ð7r5q3Ä2Ï2{2‘33Ý4Þ5œ5µ5432W1â5f5J4†2ú0g,-&6¯JàÌ{7ÆËZ\¤Ko´‘ ."W$:%¨&<&(&<&ú((÷)˜*D++Ó,V,À-U.P/é2%4±78¿9É:9µ98ð9°:Ï;2:7º52ñ1ú1Ç1©1K11=1õ2»3U3Í3÷3X9W8z7V6J4š1@,ˆ'Ã#|P)Ñe ½óðd¿¬€úK˜ Ä!¯"X"Õ#J#Ý$Ž%J&M(*¿-Z.ä/P/„021<2D3J4s5Â7W9<=Ò=ä<˜;g;U<<ªv==<*;«:P6Ï1à,Ó'‰!€óîzŠß@‚FÃg¤%–ËDpª]ã, ¥"Ë$'&0*Y/[1à0T,ê++›-.p02³69¤=G@ƒB)A¨@?;?[?«?ž?I>†= ;j:Á;;7:¶:Ö<>Ç?¬?1>°>‹=Ú@Š?w?7?è?Ž=9½6ç3½/2*X&Ó$ iæº4%M”ÆW%͈Ù1c>!#Á&£)é-X/°/™-¡,(,«.B/„0Â3B7);Z>÷AÞCÔDaCÏCMCC®BÛAH@??´@@e?Á=Ô;j9Ù9ž:!:¹;u<½>j?¹@ò@ÛAAûBkAˆ?ÿ>Ü=?9.2²,&ã"i’Ëp{HÌp\Å¥_¶Ý„_!#&%·(¤+ ,¸.4/¹1+2„3Ã4ù6©9[<½?ìBrDdEµFNFxF˜FŸF'ECãBìAÿ@Õ?ñ?Ý?§=õ;£; }7,.±):&´$ Æ!ú ÷ ÷a±Â?Ï"!$|&b)0-^26‰:b=L? ?ï@‹A0BC9DvE¼GGçGfFE DÖD½DŠD…D¯DÛD±C­BdB¡DGDkAò?Ö@KAŸAøAÐAX@ ??óC F=EþDC†D CÈBÅAþ@³<ñ6\/J*Š(Y&¨$4!–biø°.’öðr!P#ÿ'³+Ë/ø4¬9¡=o?Y@'@ÛA´B²CØEF FùGØH¡I&HÆG&ECDrDD€DDÙDÔEFäHÜH EjD±FF´F¯GtHiIJ×LüMLLoLmDóF©GWFCÅBwBíBØ@"<×;Ô;I7³2-ù+º)+%Ñ"ÿ!—!q!ñ"‹#)$ %N&à(á+¿/·4*7ë:|H?†?åAmCßEÆFÿHEIŠJƒKzLuM6NbPgQüR!Q¤PßO/MFLFK“J¥J/JIrIaJtKLmMvN‚O—Q©TPV8WÈYõ\]H]žRPRM†J§HQEÁCgCîGuIÆG×C@^?e>Ð=˜<{;™:¤:Â<0<†:Ô9M9'99ï:`:»<'?wBËCåC‹D6F}HÇJuLÏOÌQtQ¡R#S#SÐT…TÿTeS£SBQŠN°MeMvLMJHÜHãIÞKÍN PvRíUVV¨WŸYZƒ[á]M^×_ÔWfUeRàOLŸJIG}E‘G!JÖLÜKÙI;F®D­BìAŒA%A—AÈ@Ó?p?S@S@(>8<Ÿ='?ÙCUE_EQEE¦GIäNbRÅUÄW4V‡TÊTÇV=VZUT=SäS¶SæS[QWOJMþLdJ0H=G&GsIÁMÖR)TëV*W–YTYöY·YýZô\N]Ö^¹XbWV=T»RdOÇKgFSD¬FÆIzKOLK\I‘G1D‚BG@ß?ý@qC2FIFD3BA™B6C™E£G´I LOfRìVtYó\]\dZUXVÜVŸVU9TôUvU£UTR¤P¨N‘L®J²H”F½EÓFuH¸LkPõT‘UùVAV¿WmXXeX#XHYAZV VòV"T©RsOCJÊG"FRF”FˆGlHµHŠGYF.DÆCZBØC`DÒGYJ'K±JÑGjDaEËJœN™QŸUWOXƒ[^3_ì`U_¸]cZAWÁUËT¿UÎXAZ Z>Y-WœUÅSKP¢NpLIVGYFàG{HÍK2NÃR.SÿT©UEU°UFT3S…SŸS+Q¤T¬V UzRvMõIµG-G6H¬I¤JVK8KQJ=HŸGƒG´IKsNuOÊOGOvQgS–S¡RS,W¢[:\Û^`˜b\de d¨c›b(`m^¼\ÅZÐZ2ZYYÎZ4\[\ŸY¢V“TRQOÝM}K?IªHþIIšJKqNP¯R%RjQÓPhMïJïHFÂEWT T-R|N¥JkH•IYJÄK!JÐKKPKL›LðLãNƒP:QÚT…U&SÈSãTŒV.Zö^ÿ_H_Za^cÃe“g hEhÿhÿh¼hþiŠig‘eˆbò`„^g[+XçZ\›[@Y$W«U(QbM‰KJ HÇG²GwG F×G×IdJJG™DÀAã>¾¦>á>w=`<,:{9&8 6˜5Ã514WdX]X2WøUÊR™O†M¦NkOÃP“Q¨S UÏXRY`[ñ^R^n^è_|`Qblc:bÕc/cmbäbsc)ddJfbjúpPt>trÕq‡pÈp¥o§l×lE3=ß;z;\<;‹9î8Z5Ä4]55Ö5ï5í7¡:8;Rk;½:©;U<ô9º5Å3./Ê.Œ0N3,4¿4o5‡9 ;y<î?S@vTõUˆV¨UÊS,QýRQÉRîSèS×TÈTÁT­T4QÇPOO/NøPaSU›UŒX\ð`Øgˆp4vauHn¼nQ§PcN‰NM–M¿O¾Q’RªRÈT¥X–\3b[l`sótxrfqÍsEvÐzDz©zz«tÁnßqævzÙw{nÁdÑ_c“`ðY$QÁH,BÍ>›:¥7R5í2Ê.),«-¼04-z)Ë' )Ø2 5d8û>>2="@¢Z YW¬XYØW|T·T2RÏRRPÆOINÿNMMÚNãNM O"SOW–VDR„XWbZfþi€m qivwñye~x€PÄÖwap¾p^r,|Õ¥y…o‰dà`òW{O E´?Y@<õ; 2º,9-À/!. )6(Ž(&Y%ñ'ï)a+ê00»7ßD}N¬[ZöYéWÇX§Y¢XV¹U)S]RÜQ–P«Q8P¡PÉP‰P/O)LýMÁP0U+Wn‰g§RJ3B²®@ø>Ç:Ö-ó'b&Ä'é)é($«!Q!Ö#‘)n*x/}9mIü\Â^_`z_$^ö_^J][ÿ[«ZåZ0Y¢X'VÄWWcWdWUVSŠS‹T—TÈU+WíY˜U^áq«s‡u±{ä|ú}À‚xˆˆ™…z„؈l‹ÏR"¥ˆ.zvwŠr²neîT©EZ@åC®DcC'9…+i$%%%Ë%¹%»#"R,v.º?àXÖcÕdFZ†]Mb×_”]ê_c`ÿa/_L^Ž]ó]\#[LZ»Z”ZoZ>YW“V¢V*V¸WaX_V;U@\ g’nÍr²xby=yŒ|ó‚̆ÿ…„˜ˆ"Œ×Þ“ñý‡:Ú~j€ny›pòk}]%LoDmD®F_Ic@½.'‘'$µ'"&Û(+( )±39:§NÂYZ*aŽ\¿\©gc]¦\Ÿ^0abb#a`W_#^À]¹]J\Y[$Z—Z]YXqZ)X”XOYç]¸fk¥mðrsñt²wHz™nƒÀ…»‰‹2“’æ’ð”‡n‡‹‰.…-€Ixikl?oµskv›z |j7‚Æ„±Šì•Ö–B™Z—l‘Œ‘ˆ<„F}‰u?mfCZ“O_OQ‰S½PdF÷C¬@=‘@+@¤AD³NR\3coeÙgœb¥c—cbl0kYiõd=atbŒas`‰a’cÐcaû`Û_ß^Ó^l^2^B^N^ô_ ]ï\A_"cd‡jps’u´x=}«ß­|çy ¿›–w™éœt2™b“Á@‹7…Ð{¢rnfŒ\ýY÷WYVÅP H‘KzGÊCB³B;FûJÎUÀbðg”gkmîkvkDndlµl¸hÈczc‰dZaðabØddjcüc*cb·aUa`_Ü_`]bžf}iklqkuÝwÍyà<…r6äŒy‡xŒd“˜å›æžÇž™™´•ã‘³Š…µÆ{Mrºk1g–e’`ï_°Z NÈM[OýOuOwRž\Jb”f1fÁiBjÝm€ryqAnYpªn9mZkÑgGc”e©eËc,b)chd;dtdddcbc)bæa`U`×c½k\pÕtwŽx y‚|û+„‰`ö‹ìb•#—䘦šEŸAžI™L–[’¸ŽÀŠÈ‡ý„~ewBp_hÝhçjHhd)[¤TSÄU Y^ dfÅd+cg›l:q tgt"r,7777emoslib-000392+dfsg.1/data/IUSD40_OKLI.crex0000755000175000017500000004556312127406245021020 0ustar amckinstryamckinstryCREX++ T000103 A002 D09052++ 11 520 ///////// 080 04 006 05 18 2007 11 20 17 30 00 5000833 01444806 03020 03034 000304 // 07 08 0040 36 61 60 // ///// 0082 00000 200000 10000 00160 0000000 00000000 //// //// /// //// 00000 434000 09823 00304 0001000 00001000 0205 -0085 156 0013 00088 200000 09250 00785 0001000 00001000 -0255 -0275 161 0039 00125 030000 08989 01012 0001000 00001000 -0405 -0405 174 0037 00130 030000 08951 01046 0001000 00001000 -0395 -0445 176 0036 00135 020000 08917 01076 0001000 00001000 0315 -0415 179 0036 00140 010000 08882 01108 0001000 00001000 0545 -0855 182 0035 00145 020000 08848 01140 0001000 00001000 0655 -1105 186 0035 00155 020000 08787 01196 0001000 00001000 0715 -1275 193 0034 00199 200000 08500 01470 0001000 00001000 0735 -1465 230 0036 00210 010000 08429 01538 0001000 00001000 0775 -1765 236 0038 00255 030000 08158 01807 0001000 00001000 0755 -0975 244 0047 00420 010000 07160 02869 0002000 00002000 0115 -1175 227 0042 00446 200000 07000 03051 0002000 00002000 0035 -1355 233 0049 00480 004000 06820 03258 0002000 00002000 -0125 -1565 241 0056 00570 020000 06326 03854 0002000 00003000 -0495 -2375 224 0075 00605 004000 06140 04089 0002000 00003000 -0515 -3065 216 0075 00620 010000 06057 04196 0002000 00003000 -0565 -3345 216 0072 00635 030000 05983 04292 0003000 00003000 -0605 -2005 218 0068 00730 004000 05520 04916 0003000 00004000 -1175 -1735 239 0085 00755 020000 05401 05082 0003000 00004000 -1335 -1755 246 0084 00840 010000 05004 05659 0003000 00005000 -1715 -2015 277 0078 00841 200000 05000 05665 0003000 00005000 -1715 -2025 277 0078 00860 004000 04923 05781 0003000 00005000 -1795 -2165 281 0081 00920 010000 04658 06192 0003000 00006000 -2075 -2595 283 0078 00935 010000 04596 06292 0003000 00006000 -2145 -3095 284 0074 00975 030000 04435 06553 0003000 00007000 -2385 -3085 288 0064 00980 030000 04414 06587 0003000 00007000 -2385 -3605 289 0063 01085 030000 04009 07281 0003000 00007000 -2995 -3395 311 0050 01087 200000 04000 07298 0003000 00007000 -3005 -3405 311 0050 01100 004000 03943 07399 0003000 00007000 -3075 -3595 313 0043 01140 004000 03794 07672 0003000 00008000 -3265 -4215 335 0030 01190 004000 03620 08000 0002000 00008000 -3535 -4755 338 0057 01200 010000 03585 08069 0002000 00008000 -3575 -4885 330 0061 01245 004000 03422 08389 0002000 00008000 -3845 -4865 275 0084 01280 004000 03315 08607 0002000 00008000 -4045 -4985 271 0107 01335 010000 03131 08993 0002000 00009000 -4395 -5145 297 0139 01380 200000 03000 09279 0002000 00010000 -4615 -5985 308 0169 01380 014000 02999 09280 0002000 00010000 -4615 -5975 308 0169 01420 004000 02870 09570 0001000 00011000 -4875 -6005 309 0162 01505 004000 02635 10127 0001000 00013000 -5395 -6305 257 0158 01555 200000 02500 10461 0001000 00014000 -5695 -6485 258 0172 01585 020000 02420 10666 0001000 00014000 -5895 -6575 266 0178 01660 004000 02231 11172 0001000 00016000 -6325 -6795 290 0192 01680 010000 02180 11313 0001000 00017000 -6435 -6895 292 0197 01750 004000 02020 11774 0001000 00019000 -6755 -7225 289 0224 01759 200000 02000 11834 0000000 00019000 -6805 -7275 290 0224 01820 120000 01855 12284 0000000 00021000 -7125 -7615 303 0187 01860 004000 01755 12614 0000000 00021000 -6875 -7385 311 0130 01890 030000 01689 12841 -0001000 00022000 -6605 -7175 310 0080 01900 004000 01667 12923 -0001000 00022000 -6615 -7245 307 0068 01915 004000 01632 13050 -0001000 00022000 -6675 -7375 297 0060 01950 004000 01578 13253 -0001000 00022000 -6685 -7535 280 0087 01989 200000 01500 13560 -0001000 00023000 -6595 -7665 287 0112 02010 020000 01459 13728 -0001000 00023000 -6435 -7645 290 0103 02050 010000 01386 14042 -0001000 00023000 -6575 -7975 286 0082 02085 004000 01327 14308 -0001000 00024000 -6585 -8115 284 0079 02140 004000 01233 14757 -0001000 00024000 -6405 -8155 301 0051 02235 004000 01101 15446 -0001000 00025000 -6415 -8395 286 0082 02320 034000 01004 16012 -0002000 00026000 -6375 -8485 302 0089 02323 200000 01000 16035 -0002000 00026000 -6385 -8435 303 0087 02430 004000 00882 16804 -0002000 00027000 -6375 -8615 287 0099 02480 020000 00836 17136 -0002000 00028000 -6295 -8605 292 0121 02550 004000 00771 17633 -0003000 00029000 -6505 -8795 307 0116 02634 200000 00700 18218 -0003000 00030000 -6515 -8845 305 0100 02964 200000 00500 20264 -0005000 00035000 -6635 -8935 296 0151 03150 020000 00414 21399 -0007000 00039000 -6955 -9175 302 0180 03215 004000 00387 21799 -0007000 00041000 -6835 -9095 293 0192 03365 004000 00328 22793 -0009000 00044000 -6855 -9115 310 0201 03454 200000 00300 23325 -0010000 00046000 -6895 -9135 295 0218 03500 004000 00286 23605 -0010000 00048000 -6825 -9105 289 0221 03842 200000 00200 25750 -0013000 00059000 -6975 -9195 294 0288 03860 020000 00196 25863 -0013000 00059000 -6985 -9255 295 0287 03975 004000 00173 26623 -0015000 00063000 -6865 -9195 298 0283 04060 004000 00157 27187 -0015000 00066000 -6865 -9215 283 0312 04095 020000 00151 27416 -0016000 00068000 -6735 -9145 284 0312 04150 004000 00142 27788 -0016000 00070000 -6875 -9235 294 0288 04270 020000 00124 28627 -0017000 00075000 -6935 -9275 286 0376 04315 044000 00118 28925 -0018000 00077000 -6695 -9165 285 0392 04345 020000 00114 29111 -0018000 00079000 -6615 -9115 285 0381 04370 004100 00111 29265 -0018000 00080000 -6655 -9125 285 0374 04375 030000 00111 29295 /////// //////// -6645 -9115 /// //// 0001 04315 044000 00118 -0018000 00077000 0113 ////++ 7777 CREX++ T000103 A002 D09052++ 11 520 ///////// 080 04 006 05 18 2007 11 20 11 15 00 5000833 01444806 03020 03034 000304 // 07 08 0040 36 61 60 // ///// 0075 00000 200000 10000 00161 0000000 00000000 //// //// /// //// 00000 434000 09825 00304 0001000 00001000 0245 -0075 170 0013 00080 200000 09251 00786 0001000 00001000 -0235 -0265 168 0032 00130 030000 08894 01098 0001000 00001000 -0455 -0475 199 0045 00135 020000 08857 01130 0001000 00001000 -0175 -0385 202 0046 00140 020000 08824 01160 0001000 00001000 0275 -0555 205 0048 00145 010000 08792 01190 0001000 00001000 0445 -0745 207 0049 00155 020000 08727 01251 0001000 00001000 0675 -1045 211 0052 00160 004000 08694 01282 0001000 00001000 0675 -1145 212 0053 00190 200000 08500 01467 0001000 00001000 0645 -1605 210 0060 00285 030000 07934 02032 0002000 00001000 0685 -2705 206 0068 00440 010000 07033 03009 0003000 00002000 0115 -3995 200 0105 00445 004000 07007 03039 0003000 00002000 0095 -3825 200 0106 00446 200000 07000 03046 0003000 00002000 0085 -3905 200 0106 00590 010000 06252 03942 0004000 00003000 -0595 -3505 219 0070 00615 010000 06132 04093 0004000 00003000 -0715 -2115 221 0072 00625 004000 06082 04157 0004000 00003000 -0765 -2305 222 0074 00640 010000 06008 04252 0004000 00003000 -0815 -4835 222 0076 00670 010000 05863 04440 0004000 00003000 -0915 -2395 220 0076 00730 004000 05566 04840 0005000 00004000 -1205 -2815 214 0069 00810 030000 05216 05335 0005000 00004000 -1545 -3465 232 0066 00850 010000 05038 05595 0005000 00005000 -1765 -3615 238 0053 00859 200000 05000 05652 0005000 00005000 -1805 -3315 242 0050 00870 004000 04953 05722 0005000 00005000 -1875 -3085 248 0047 00910 004000 04787 05974 0005000 00005000 -2065 -2675 265 0057 00925 010000 04724 06072 0005000 00005000 -2155 -2635 264 0066 01000 004000 04427 06548 0005000 00006000 -2525 -2905 255 0103 01075 030000 04144 07024 0006000 00007000 -2925 -3245 264 0102 01115 200000 04000 07275 0006000 00008000 -3115 -3495 279 0102 01140 004000 03912 07433 0005000 00008000 -3225 -3655 285 0109 01220 020000 03638 07941 0005000 00009000 -3605 -4065 288 0143 01360 010000 03176 08867 0005000 00012000 -4395 -4705 287 0161 01420 200000 03000 09247 0004000 00013000 -4725 -5165 290 0174 01480 004000 02831 09628 0004000 00015000 -5045 -5605 293 0197 01602 200000 02500 10425 0003000 00018000 -5785 -6365 289 0205 01655 030000 02365 10772 0003000 00019000 -6105 -6715 295 0193 01740 004000 02163 11322 0002000 00021000 -6545 -7185 302 0176 01810 200000 02000 11794 0002000 00023000 -6765 -7395 287 0182 01875 130000 01867 12207 0001000 00025000 -6925 -7575 282 0238 01880 004000 01856 12242 0001000 00025000 -6925 -7575 283 0239 01965 004000 01666 12893 0001000 00027000 -6735 -7595 303 0131 02030 004000 01556 13307 0000000 00028000 -6465 -7875 296 0084 02063 200000 01500 13531 0000000 00028000 -6425 -8075 283 0079 02065 010000 01495 13552 0000000 00028000 -6425 -8085 283 0079 02085 004000 01455 13716 0000000 00028000 -6495 -8235 280 0087 02185 004000 01290 14453 0000000 00029000 -6275 -8435 284 0062 02255 020000 01196 14922 0000000 00030000 -6145 -8485 276 0083 02400 034000 01002 16008 0000000 00032000 -6405 -8745 263 0089 02402 200000 01000 16023 0000000 00032000 -6415 -8765 263 0089 02490 020000 00899 16675 0000000 00033000 -6255 -8705 293 0102 02520 004000 00866 16905 0000000 00033000 -6405 -8805 301 0093 02690 004000 00729 17960 -0001000 00035000 -6355 -8805 286 0113 02736 200000 00700 18210 -0001000 00036000 -6315 -8925 289 0141 02790 020000 00665 18522 -0001000 00037000 -6295 -8805 295 0141 02955 004000 00566 19511 -0002000 00040000 -6575 -8995 295 0148 03030 004000 00528 19934 -0002000 00041000 -6645 -9055 278 0146 03090 200000 00500 20260 -0003000 00043000 -6645 -8945 281 0158 03185 004000 00458 20795 -0003000 00045000 -6745 -9085 294 0170 03410 004000 00365 22143 -0005000 00051000 -6985 -9235 293 0232 03480 004000 00341 22559 -0005000 00053000 -7085 -9295 301 0211 03525 020000 00325 22838 -0006000 00054000 -7135 -9325 300 0206 03602 200000 00300 23313 -0006000 00056000 -6995 -9215 300 0218 03760 020000 00254 24308 -0008000 00060000 -6765 -9105 298 0206 03905 004000 00218 25231 -0009000 00064000 -6845 -9155 289 0226 03980 200000 00200 25736 -0010000 00066000 -6965 -9195 285 0258 04070 020000 00180 26361 -0010000 00069000 -7205 -9355 291 0280 04340 020000 00133 28168 -0013000 00080000 -6335 -8815 281 0371 04580 020000 00101 29850 -0014000 00092000 -6635 -8945 282 0377 04589 200000 00100 29914 -0014000 00093000 -6585 -8895 281 0381 04645 020000 00094 30308 -0015000 00096000 -6315 -8755 280 0417 04690 004000 00089 30627 -0015000 00098000 -6475 -8825 278 0436 04740 020000 00084 30953 -0015000 00101000 -6425 -8795 274 0417 04765 004000 00082 31117 -0015000 00103000 -6305 -8735 272 0414 04880 044100 00073 31869 -0015000 00110000 -5855 -8445 270 0518 04890 030000 00072 31938 /////// //////// -5805 -8375 /// //// 0001 04880 044000 00073 -0015000 00110000 0105 ////++ 7777 CREX++ T000103 A002 D09052++ 11 520 ///////// 080 04 006 05 18 2007 11 20 05 29 00 5000833 01444806 03020 03034 000304 // 07 07 0040 36 61 60 // ///// 0057 00000 200000 10000 00154 0000000 00000000 //// //// /// //// 00000 434000 09816 00304 0001000 00001000 0115 -0065 079 0021 00088 200000 09250 00780 0001000 00000000 -0215 -0255 148 0044 00125 030000 08989 01007 0001000 00000000 -0395 -0395 182 0059 00130 024000 08956 01036 0001000 00000000 -0305 -0315 186 0063 00140 020000 08891 01094 0001000 00000000 0505 -0435 192 0072 00150 030000 08828 01153 0001000 00000000 0635 -1005 197 0080 00190 004000 08570 01395 0002000 00001000 0545 -1585 202 0098 00201 200000 08500 01462 0002000 00001000 0495 -1625 199 0098 00220 020000 08377 01580 0002000 00001000 0445 -1565 190 0098 00260 020000 08127 01827 0002000 00001000 0665 -2795 167 0097 00300 004000 07881 02079 0002000 00000000 0595 -2175 154 0093 00310 030000 07818 02145 0003000 00000000 0605 -3395 154 0093 00442 200000 07000 03041 0004000 00000000 0045 -2535 173 0088 00470 020000 06841 03223 0004000 00000000 -0045 -2885 179 0088 00600 004000 06132 04086 0005000 00000000 -0735 -3665 205 0087 00730 004000 05490 04935 0006000 00001000 -1465 -4355 203 0114 00810 030000 05114 05467 0006000 00002000 -1945 -4975 223 0092 00833 200000 05000 05635 0007000 00002000 -2025 -5105 230 0081 00840 010000 04967 05683 0007000 00002000 -2055 -5185 231 0080 00915 010000 04637 06187 0007000 00002000 -2415 -3095 241 0070 00925 004000 04595 06254 0007000 00003000 -2475 -3135 244 0068 01005 010000 04234 06845 0007000 00004000 -2835 -3845 268 0127 01060 200000 04000 07250 0007000 00004000 -3125 -3665 282 0123 01065 030000 03980 07285 0007000 00005000 -3145 -3745 284 0122 01095 004000 03861 07498 0007000 00005000 -3335 -3995 292 0127 01170 010000 03577 08030 0006000 00006000 -3785 -4545 298 0146 01205 020000 03452 08274 0006000 00007000 -4005 -4475 296 0155 01340 010000 03029 09153 0005000 00010000 -4715 -5045 298 0199 01349 200000 03000 09217 0005000 00010000 -4755 -5085 299 0201 01524 200000 02500 10395 0003000 00015000 -5735 -6065 298 0250 01600 020000 02312 10884 0003000 00018000 -6175 -6505 299 0272 01645 004000 02189 11220 0002000 00019000 -6395 -6765 299 0296 01724 200000 02000 11768 0001000 00022000 -6785 -7175 296 0239 01765 030000 01910 12043 0001000 00023000 -6845 -7185 293 0219 01835 134000 01744 12586 0001000 00025000 -7045 -7405 277 0230 01905 020000 01582 13176 0000000 00027000 -6265 -7135 291 0100 01946 200000 01500 13504 0000000 00027000 -6425 -7625 294 0064 01950 004000 01492 13539 0000000 00027000 -6435 -7665 292 0063 01960 010000 01472 13621 0000000 00027000 -6405 -7695 289 0063 02065 004000 01279 14489 0000000 00028000 -6175 -8045 263 0076 02255 034000 01005 15973 0000000 00030000 -6305 -8425 290 0068 02259 200000 01000 16004 0000000 00030000 -6305 -8375 291 0067 02400 020000 00847 17025 0000000 00032000 -6235 -8435 289 0100 02525 004000 00748 17787 -0001000 00034000 -6305 -8535 286 0106 02592 200000 00700 18197 -0001000 00034000 -6365 -8555 294 0094 02855 020000 00540 19784 -0002000 00039000 -6435 -8715 297 0187 02920 004000 00505 20186 -0003000 00041000 -6545 -8795 305 0193 02930 200000 00500 20248 -0003000 00041000 -6585 -8815 305 0189 02985 020000 00472 20595 -0004000 00042000 -6815 -8975 298 0172 03270 004000 00349 22404 -0006000 00049000 -7025 -9115 290 0204 03325 020000 00329 22760 -0006000 00051000 -7095 -9155 294 0216 03413 200000 00300 23303 -0007000 00053000 -7005 -9065 290 0214 03645 004000 00232 24822 -0009000 00060000 -7095 -9175 306 0261 03770 020000 00204 25606 -0010000 00064000 -7125 -9195 298 0265 03786 200000 00200 25710 -0011000 00064000 -7105 -9145 298 0264 04045 034000 00151 27394 -0013000 00073000 -6835 -9035 283 0299 0000++ 7777 CREX++ T000103 A002 D09052++ 11 520 ///////// 080 04 006 05 18 2007 11 19 23 15 00 5000833 01444806 03020 03034 000304 // 07 07 0080 36 61 60 // ///// 0065 00000 200000 10000 00162 0000000 00000000 //// //// /// //// 00000 434000 09826 00304 0001000 00001000 0065 -0085 094 0026 00015 020000 09742 00373 0001000 00001000 0165 -0065 100 0039 00093 200000 09250 00789 0001000 00000000 -0135 -0195 131 0039 00120 034000 09084 00933 0001000 00000000 -0235 -0235 152 0049 00135 020000 08997 01010 0001000 00000000 -0035 -0195 161 0061 00145 020000 08934 01067 0001000 00000000 0245 -0295 165 0071 00150 020000 08905 01093 0001000 00000000 0535 -0465 166 0076 00165 030000 08816 01175 0001000 00000000 0625 -0495 168 0090 00200 004000 08603 01375 0002000 00000000 0535 -0415 169 0107 00218 200000 08500 01474 0002000 00000000 0555 -0415 171 0103 00240 004000 08375 01595 0002000 00000000 0485 -0555 173 0096 00340 030000 07782 02189 0003000 00000000 0175 -1025 155 0096 00360 024000 07671 02305 0003000 -00001000 0365 -1415 155 0099 00385 030000 07530 02456 0003000 -00001000 0335 -1885 159 0094 00485 200000 07000 03042 0004000 -00001000 -0105 -1955 176 0075 00495 004000 06947 03103 0004000 -00001000 -0155 -1955 176 0074 00585 004000 06492 03638 0004000 -00001000 -0445 -2255 188 0108 00600 030000 06426 03719 0005000 -00001000 -0485 -2315 189 0115 00835 004000 05346 05133 0007000 00000000 -1615 -3815 196 0145 00913 200000 05000 05631 0008000 00001000 -2035 -4515 201 0120 01125 030000 04144 06990 0010000 00002000 -3225 -5635 202 0112 01130 004000 04124 07023 0010000 00002000 -3245 -5645 202 0114 01165 200000 04000 07238 0011000 00002000 -3355 -6215 207 0119 01165 010000 03999 07240 0011000 00002000 -3355 -6165 207 0119 01245 004000 03727 07730 0011000 00003000 -3735 -6085 220 0100 01315 010000 03488 08182 0012000 00004000 -4125 -6265 247 0128 01345 004000 03391 08374 0012000 00004000 -4205 -5075 256 0141 01360 010000 03340 08477 0012000 00004000 -4265 -4995 257 0143 01425 004000 03143 08883 0012000 00006000 -4585 -5375 252 0127 01465 030000 03015 09160 0012000 00006000 -4785 -5525 261 0123 01470 200000 03000 09192 0012000 00006000 -4825 -5555 263 0123 01505 004000 02886 09446 0012000 00007000 -5055 -5675 279 0123 01530 004000 02811 09618 0012000 00007000 -5185 -5725 289 0136 01635 200000 02500 10365 0012000 00010000 -5855 -6335 296 0228 01670 010000 02393 10639 0011000 00011000 -6125 -6545 300 0255 01735 030000 02194 11170 0010000 00013000 -6595 -7015 300 0328 01755 044000 02132 11345 0010000 00014000 -6635 -7065 299 0335 01810 200000 02000 11730 0009000 00016000 -6755 -7155 294 0267 01825 130000 01967 11830 0009000 00017000 -6805 -7185 292 0246 01885 020000 01832 12260 0009000 00018000 -6715 -7235 283 0208 01950 020000 01694 12740 0009000 00020000 -6045 -7195 280 0110 01955 004000 01682 12783 0009000 00020000 -6055 -7255 280 0100 01980 004000 01639 12944 0009000 00020000 -6135 -7575 271 0067 01990 010000 01622 13011 0009000 00020000 -6155 -7665 265 0062 02035 004000 01531 13367 0009000 00021000 -6035 -7845 249 0071 02051 200000 01500 13495 0009000 00021000 -5995 -7905 249 0072 02155 004000 01323 14275 0009000 00022000 -6135 -8355 272 0050 02275 004000 01158 15099 0009000 00022000 -6235 -8545 236 0068 02345 004000 01067 15605 0009000 00023000 -6255 -8575 261 0081 02400 034000 01002 15989 0009000 00024000 -6255 -8605 260 0086 02402 200000 01000 16003 0009000 00024000 -6245 -8635 260 0086 02475 004000 00918 16532 0009000 00025000 -6235 -8645 294 0097 02555 004000 00842 17066 0009000 00026000 -6245 -8725 277 0090 02735 200000 00700 18202 0009000 00029000 -6235 -8865 290 0150 02755 020000 00687 18319 0008000 00029000 -6195 -8805 292 0151 02940 004000 00567 19489 0007000 00033000 -6565 -9105 309 0153 03050 200000 00500 20253 0006000 00034000 -6795 -9215 298 0135 03060 120000 00495 20319 0006000 00034000 -6835 -9235 297 0133 03135 004000 00457 20794 0006000 00036000 -6815 -9195 292 0146 03245 004000 00406 21504 0005000 00038000 -6945 -9255 306 0179 03440 004000 00332 22695 0004000 00042000 -6895 -9215 299 0212 03536 200000 00300 23305 0003000 00045000 -6985 -9205 303 0192 03640 004100 00271 23915 0002000 00047000 -7065 -9355 296 0173 03645 030000 00269 23943 /////// //////// -7025 -9335 /// //// 0001 01755 044000 02132 0010000 00014000 0113 0156++ 7777 emoslib-000392+dfsg.1/data/temp.crex0000755000175000017500000000466412127406245020234 0ustar amckinstryamckinstryCREX++ T000103 A002 D09007 R04000 B07004 B08001 B11061 B11062 E++ 161 2052 3/// 4// 52003 612 721 822 900 01348000 100217000 200227 3/// 4// 5// 6//// 7// 8// 9// 00052 110000 2040 3000126 4/// 5/// 6/// 7//// 809890 9100 0000223 1234 2-046 3020 40020 509250 6040 7000792 8228 9-092 0065 10100 208500 3040 4001505 5184 6-216 7080 80060 907000 0040 1003114 2094 3-066 4225 50060 605000 7040 8005766 9-059 0-539 1145 20040 304000 4040 5007443 6-159 7-609 8280 90040 003000 1040 2009493 3-335 4-605 5345 60140 702500 8040 9010719 0-437 1/// 2305 30150 402000 5040 6012160 7-555 8/// 9280 00180 101500 2040 3013896 4-695 5/// 6250 70310 801420 9010 0////// 1/// 2/// 3260 40320 501000 6040 7016240 8-785 9/// 0265 10090 200970 3024 4////// 5-799 6/// 7245 80070 900943 0002 1////// 2/// 3/// 4240 50060 600882 7002 8////// 9/// 0/// 1325 20050 300839 4002 5////// 6/// 7/// 8035 90050 000817 1002 2////// 3/// 4/// 5105 60050 700799 8002 9////// 0/// 1/// 2145 30060 400768 5004 6////// 7-819 8/// 9/// 0//// 100700 2044 3018221 4-757 5/// 6215 70050 800668 9002 0////// 1/// 2/// 3245 40050 500615 6004 7////// 8-717 9/// 0/// 1//// 200586 3002 4////// 5/// 6/// 7150 80020 900575 0002 1////// 2/// 3/// 4055 50030 600539 7002 8////// 9/// 0/// 1065 20070 300511 4002 5////// 6/// 7/// 8120 90100 000500 1040 2020172 3-697 4/// 5115 60100 700494 8002 9////// 0/// 1/// 2110 30100 400474 5004 6////// 7-689 8/// 9/// 0//// 100470 2002 3////// 4/// 5/// 6130 70070 800444 9002 0////// 1/// 2/// 3100 40050 500424 6002 7////// 8/// 9/// 0055 10040 200422 3004 4////// 5-641 6/// 7/// 8//// 900412 0002 1////// 2/// 3/// 4035 50050 600388 7002 8////// 9/// 0/// 1045 20060 300386 4004 5////// 6-657 7/// 8/// 9//// 000369 1002 2////// 3/// 4/// 5075 60070 700356 8004 9////// 0-619 1/// 2/// 3//// 400352 5002 6////// 7/// 8/// 9070 00100 100335 2002 3////// 4/// 5/// 6090 70120 800316 9002 0////// 1/// 2/// 3105 40090 500300 6040 7023232 8-605 9/// 0095 10080 200297 3002 4////// 5/// 6/// 7085 80090 900294 0004 1////// 2-605 3/// 4/// 5//// 600287 7002 8////// 9/// 0/// 1105 20080 300263 4002 5////// 6/// 7/// 8070 90080 000254 1002 2////// 3/// 4/// 5075 60100 700239 8002 9////// 0/// 1/// 2040 30090 400222 5002 6////// 7/// 8/// 9090 00080 100209 2006 3////// 4-523 5/// 6080 70090 800200 9040 0025762 1/// 2/// 3/// 4//// 50001 601420 7010 80070 90220++ 7777 emoslib-000392+dfsg.1/data/tigge.grib20000755000175000017500000150564312127406245020436 0ustar amckinstryamckinstryGRIBÿÿ‹£bØ hCä(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿX œ…X œnL0ÿÿÿÿÈ$(-2<@HHKQZ`dlx}€‡–  ´´´ÀÀÈØØááððóú   ,,@@@@hhhhhhwww€°°°°°ÂÂÂààààààæôôô@@@@@@@@XXXXX€€€€€€€€€€ˆˆ£££££££ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÙÙÙîîîîîîîî                                                                                          îîîîîîîîÙÙÙÐÐÐÐÐÐÐÐÐÐÐÐÐУ££££££ˆˆ€€€€€€€€€€XXXXX@@@@@@@@ôôôæàààààà°°°°°€wwwhhhhhh@@@@,,   úóððááØØÈÀÀ´´´  –‡€}xld`ZQKHH@<2-($%‚‚d† ÿÿÿÿÿÿ3CäCa%y€ ÿ‡Í4R2f0¨/±/n/€/Ò0Š1£2Ì3¥44Œ5U6B6Å6š5È3÷14-+|+Ý,¸,Œ+¬*Ð*Š+P,ö/1_3n403¹3Ý5ú8å::>8ã7'5*S)A'£%Î%Ñ'Ç)²*7)Ç)w)Á*)»(ã(¹){*S*þ,!.0S2*2å2h1ß2Ó5D7Ö9—:;C<;·8ˆ2°-"#>"£"Q!å"Ø$î&e&é'Æ)n*Ž*“*–*„)\'Ú'L'›((æ*ž,¯./60p1@1Ž2v4¨6Å7¼8õ:¨;K;£<:R5 -°&Å#–"!2 ú ö!}"‡#Ø%I&Ô)+&+|++®,‡,9+)^'ö'¼'ÿ(‡)ê+7,j./y0&0¢1Ò46Ã8839º;b:ç;LP4Û-`+(ö&Û%Ï#ë"°"U!^ !Ü"!ñ"Ž#q$»&í))å*•+ó,(+¨+þ,,ð-O-¤-'+h)ß(Þ'½'­(8(Û*”,,u-\.Ô//T/{1 2ë4F6h8ä;”<ð;p;¸?r@ÿ? :Ü35,t+a+(†&ÿ%«$~$#&!®Í ã#8"Ô"Ü$E$##4#$-&e'Þ'Ü(Q(¯)'*|*Æ**µ*²+ +Ð+Å+o+$)Ì(Ú('ª(Î)ÿ+O,£-/-z.”/c/0'1ð3£668‚;Ì>Þ=;W>ÓA‡AzB¥A7À.‚,«+ï)Š'Â&t%o$Ÿ#="ë"I"$á'&&Z%ð&"$Ä# ##ˆ#-#j$ #L#1$Y%p'{(™(()(Y(z(]((œ(Í(ð)¢)›)Ó)N'ù'Ó'µ(Ú*ï+†,?- -«.£.€.”/ó12ü68z;G? ?¨=5> AA?>=E:50’.y+°)˜(`&ž%Ò%C$#Š$®&ã)Ü+Y*ô*9)]'ñ%"z! TW ê#Þ%P'4'^&‡'&x&5'&»''Š'r(f(O(°)+((E'5'ð)ï*•+²+É+,»-l-ì.Ò02‘5´9;ú>þA?Q?ÑBbAœ?·>q<ý=;(5ú1Ì-Å*y(0'·& %&$î$)&O*_,u,è,Â,¡+·*Á&†!;‚Ôžéik"#D%k&/%î&3&9&'& &q&O&x&Š&È'j'(2(<('Ÿ&Í'+(ô*Ê*ä)Ó*#++,,T,å.R0ö3ê7¨< >@°BAÂC†CeAÀ@*?i>£?9ý4G1Ó.P+Ê(à(N&š%^%3%~'´+V-š.ˆ/.É-Þ,4*ƒ$××ÚˈîÂê#V%u&%Ô%ø%‹$Á%l%‰%F%i$ì$ì%]%d&.&ð'M'¥(,'›&æ&.':)()Â)Ï(ß&ü'¿*R*q+,Ó.14·8ã=—?:@˜A¼B›DœDˆDòC¦C@CtEêD 9€6ã4/š-Ž)e)'%æ%1%'G*-c/p0 1 0ƒ/v-Ý+ë&b r±Iã%Ÿ‚£ Ϙ"…$Ö$Ê$ƒ$£%%c%%W%n$Æ$ #Ù#‡#Ä$$Ø% &'R'J'¥'e'%x%U'Ë)e)Z(&I$›&(9'õ(×*3+}-Í1 4?8L=3?‡?†@âAID¤H^I-J†I…HôE™CbFtB;:98È4à0ð/ *2*.'®&—%s%r&Í*ñ-•.ž1+272[1‘06/·-¡%Ÿ|ÓoÓèÄ >‹» ß!Ô$X$5#ñ$i$>$Œ$j$/$#ø#,""Ü## "¶#ç$d%›$† § Á"p$T%”%&%'9)s(q&:%"ß"M$ˆ& &ã&ì(Å*­,õ1)5O9!=°?Ð>b@NB1F7KK‘N:POrQóS/T”XMP1<ý7¼6g2·0Ä+â+}(;'¸%‰%·%õ)I--k0ç2ž3K2†1t0c.¦(¼ ¢åÚYÜ0ÝÊ.(GE"=" !m"¶#Ç$©$#è#|#I"P"˜##"ð!ß"ê$D%…"阯°vê"5$4%a'Ñ)8'J$"Û!ç!Î"ë##-#‹&Z(n+å/À36d9%=<Ý>AB"GsMŽNDRËUÞV!á&>+þ/ž44ERðV‹U§SûV½RËQP\RV±P˜N?N}PðY+\×^ `•_XïVÁV WP7QšV1F¿<]:›9¦8«52¤0ú0z2Ò5 3À1].Ê-ö-‡05[7á4ç4î87º4C213.m.õ,f&Î$N"–#˜'*e)Œ'%ù%0)a'´!ë!Ó£- Ü <5ì,í”!'"Ë"–"À$ç%Ô$¨"Mö3[Þ"…%¤%¹$."l"½$?$Î%j%E$Í%#% %%&%þ''&Ò& ;KÁ~óúég!&1*“/€1Þ@ËT SØRVTDUØUNVO~PäPPöNFRðWlRÿPüV¤]0`c6_l]Æ\ TÀWW‹U×LS@"=8:õ:Ø9»9.7²6D5Ý8Ú<Å;r8Ü3Ý0i0a/3B88<5J67í6‡4ï3Å3<1Ò1ß1m.''ç#-#ñ%Ù(Š*Š)Ã'À%}%Â-×2W*|#¹"‰ æÇÅÒÐD'EáÄ$ʪj!1"m#S%)%–#ó!e§‡o"l%f%ï#M ¹ Ó!ñ"²#L"Ù##X#•#¾$=%d%Õ&%Ù&Ñ&à&=#c#‚é´ÕsŒ­0 #³'ç0<;=ŸESJUŽT]TPPQqPîN=KïM¼KuEÖITO~QrU%Zg_QaÁc¯_Ã\O`V O¥XU2IK@š=Ë;Û:g:¤;Ä>‘>¦>:>@BâA=>‹;]7x5S2Û4ÿ9 8Š6°5ˆ6N5ñ5 3²333”2Ð2S/Ì.ž+±*a-ì-9-*-+õ*3'Ü'!(½-±/Ž)M! Ï"` büœgNôšÈ<§3? !Ö$\%°${"! Ve I$%Ü#· ñ!t u F!¥"""%!¹"£#›%%x%¹%Ñ% %¾%À%m$InRÔB6™Ñ¯œðL p#Ø+÷>—HíC2C•O°U&QçM*J]P‰QËLaLÞQSÄSÖOZLyPZVFZ4\$_2`uadÏ`ÿ\]^VS,TtKÎA+<18™8¦:„:BNE¨FîFÌECÔC×C­C°@Â=Ð>[<|8û:R:7°6°5/54Ä3Y2Ð2„32í2c1>/+0/„/'/P-f-,ð,*,G*Ð);'o*10¤.@(p%ô#‡"H!ð Sì¡0@qÄ„ð}Y{5GÔà!A$%Ž$À"B ¨ÑàÝ!õ$ÿ#Û!VCÌ׉à r!–!®" !‰!¼"’"ü#Ò%3%¯%=%h%:$ó$Á$á#3ù…70ÄzFÛ{ãÞ!$)ÿ:dLøNõHŸJPÇOlKÙLèOQ»IéE&MèR€M~J®N²R]SUuZÝ\%]_`a¶bdFg^cÉ^’W8SnQÀKºEz?Z8z4µ8 :ú=“FüJæL$KžI FESDåF—DˆA\B™@Æ;£:L7©6w7n4Ö4ú4_2˜2›2Ñ3[3<2s1Ž0“0/^.6,`,Q,Ù+p+Á*ú*£)ƒ&„*2¹1Ï0Æ2™,Ë#ðg寴µî‡˜8#MÜPwV!j$ì%Â#¾" ¢Ä+‚8"µ$:!â io“öù ˜!2!á"¡!£!x!·"š##é$‡#Ö$g$1$›$8#Ð$-"a}hYÅúÈPEºW!´#B#Ê'¿3¿FîMÆM“O³Q–N¯K"NŸM«FžB$M²V,Q8MuMºO†QûU/V~Z[o]ƒ^`‹b~ad˜f‚a‹Q«SÎUËGAAƒ= 6‡45K7½?¶G½MwOO NÐK"I“J2II­I¯G1C¹? ;à9t86®8h:75/4„2”1ì2o3C3Y3>2æ2í4~4è4¨4€3/e,l+…*ò+ë+v*Ÿ*Ø)ù)„(#(N* ,—/È0Ç3/h$à ß bsBtÈ·I¨ µÍ©î"†Tüš ˆ"a$y%i$:"«" ÿ}0Æ …"Y!¶hÑî«å{ó H!K""@"~!®!}!s!2" "ª"ÿ# "Þ#"ô#w#æ#œ#ç#=!û ú†¼õÌô¸§Òù#%& &Ê(='Ó0.CžMMPxR¶SÍOJþNPÚPPÇXEWNâO¥QQžQæP¹S|UýWÅYIZÐ^K^s_4_±aöcñ_wdk\ÓJTQ QÇAê>0;4Õ23ž4š7ù@¦HšMOåQ:QÆOŒM¤K HmI:IuHÐE7=948w78ó;“;285è3ã33‘3‚4f56ñ:^<‹=¾=î>hºJ=H`IêNŽOGKðKMORðUVÆQÿOSøSQXR²S+U)VBWƒZy[!\•\£]B]?^1`í_2fÉ^H„M¤M$?<;~8$3Z2A45¹:HBõJ LíO§QÇRRgP¶KcGÝI6HGE‡AD2EE-CÞB>Z:Å7­4¹3»2S1h1„0×/—.,î-O-À*q&³%Ò)O*¨%œ#"H_¨à”›= /!w! ]ªØöÈ ^!E"³#ó%»%ä$"!ÓJP6–$'&óᣙ… =!A#&"²"Å"Ð"æ#Õ#Ë#e#!"{"ì"ó"„"]!Õ!¢!Y!ß!Ü"_"?"c ì Tz¯ṯ!l=">'—)ç*è+d,œ4>7>|A|K¹M¢I¨K°OeP9R™RQO8LTM~O‰PÍP´SUÑWWYÀZA[—ZöZÀ]G\W_†a)a1YíTTòL&@M:˜6;34067·>]F=KqNO^Q$R£SÏS:OðK„H:IeFãC´A`:Â:<¥=ó?/?>?”?[>æ@B C>D DXDãEªGmH‰HkHUFkC¾@’>:;‰9z9+7û7$5Ø4Ø4320¬0Ï/³.ó,$$^,+k#:ø HzT`úøð ó"!Á!ýÄ!!P!H Ö!ò$¾%Ì&&Í%#!8š£Åf×<»ëU9ì½ê!^"¾"ó#g#Û#ë$Î%¤%î%$M# #‚#}"å"”!Ì" !Z!‡!À!¬"o!{!½!” –Ô¿CEö+OÉÃ"_&•(‡*W+-/•2ê6€œ7>53þ66_9`BcH€LnOPƒRS‡T—T™R»O"JÿJÿF¹@|>;Ô>{AwAi@±AÄD~EEsF„FóHIKI/II”JìKlK[IÜFöD@†?{>ü>^>›=(<9ÿ8g6É4©4 3Ð3Ÿ1Ü1Ó-&*\/L,Ñ#8Ö ´Aå3jZž!!!=! !!3!Ñ"ø#»#›#p$å&‘'·'‰&è%ª#³?«B¢EÀEàD D+F®H´I@I³IvI¼KÇLÌLLL¯M0MuL¾K/IH[D”A+B‰BùCBãBrA[?ê=²:¬7¦5B3<3ß2â1£/É)£)~+.µ0º/Ã,‘"S[æÇ œ!Ü!™!" À!&"j#y$B%>$å$)$Â&T(v)b(U&ô$~": ^>ÞD~‹§! !•!º!m ô +W "·$$Ì%[%»&j&™'Û(¿)»)Ë)Å)2($&ª$Ñ$g#^"Ð"!Æ"9##§#˜#¸"ò"è!(d¯ V¹ Ÿ!f ÀÂ!ó$²%­'(–*ê-â.,1õ=UA]AíDvFGFDHßJŽMÈQ§PÂP}N KÀKÚJ¶LEN5M PnR†U9VYV»W%VÓV™U˜V#V"VvWWLNNO—Y]TpJX>89Ž613›5Ô6S8·AqIKO«PnR)T U¶UýUV¨URQ!MñLèJàG EFlI.J˜JG¨G¡JK9KªKµK½KÅLFMáO&O£OqOtPPÄO½L¨KÅLJ¢F3DKE•FÄH)H‹HlGbFDÒBÿA£ —!P!, y!‘"‘#ó%x&Á&Î&{(l'÷'=(˜(ï(É(&Â$î# ?Æt…ŠÑñ g"#T##"9"M!@ ^!#J#è$ $ý$£%M&#&7'€(@)«*³*÷+1*;)[(T&Û%h$Y#o"ž"`"7"µ#„#ð$##â#²"î ÿ! %8'Æ%º$D"c »"]"'!ý#^$&ë((Ü,ü0¯1Ý2Ë8€& &Ê)' Ô#y%˜&T(Î)8*L)9'a$i! —ÞÊ›õ!i# $¨%R$ö$´#¥#"n"c###½#ç$S%%©&4&\'@(Ÿ)ê*)ÿ**©)Ã(Ð(&'&&%$Ÿ#"{##U#ž$¸$ä$Ž$$Æ&{%v%0%®%Y(µ'l!<" $b"Ù$ã&`&U')`+‡/y5i7F8¯9ç;ÙA)CöBÍ@Å@¨CG ÖÝ {# $ñ&0&Þ&"%…%$¬$”$F#ñ$%#û$³%%J%ï&7&¥&¥&a'J(w(Þ)Š)Í*H*K)g(©'ì'/&%2$"Õ"¸"Š#¤%%ƒ%¢$»$§'(',&þ'ö,.€)#$o$È$,'—(v&à(v(ì*|2•747X7"5¸:ÔCÖIÃIöC?£@IC8F_G{GhGGªFìE»GÃMÝNDGTH[IðIÁMN~PSP¥QcRP¼QCP!Q@RT£YXZlYOY<\ZNMi;¹6W6ÿ:<ð?FäKÚOQrS†TUéWX±Z2Y°WÃU+ToSRÊRPRQÈPºPÏPxPO¬OðPPbP¡PµP¦RSSçT¸TðVWWW÷VÿV4W~UÔNÊI-G1GÄJmMHOÎQqQ P–O(MáMKªJ÷IÙIDì=J9ø7­56G8E1­+½)'))*Ø*Ô)²'›#µ#g! 9£{!ç!ã#œ&Í)F*˜*ý+q+I+(½(á(ì'¡+I,ª+«,ž*¼&"Ÿ!2æ"2 ‰#o%ë' 'H''/'/&h%õ&&%º&/&"&1&ù'‘'U''S'Ô'Ø'9'Ë(-((;(µ(Ñ)(ã(w(/' %Ö$ë$#°"ñ#$5&5&J&-&€&ï('((§)@*e*¨'Ê î ¨%'Ù*y)Ó'n)‰(Ñ)#2X5Ã3l1T.ø3$9>'AR<ú:á=œ@fBÞDÍFHFåFiDÉE¤DÐE NžLóGçIÞI:JL€M¼NNŸNîMãNMOQrT’WÉWˆ_\[VwZSY M—<%7¡9Ï;o?F/OR'S‹SüTÃUV!VôXšYÍXÃXV&UøUÕU„UÕT:RáRuRRXQuQÀQÕQ’QÍR?RbQùRNR’TUtVVWxYé[Â\XÉWÄXôUN@I®I=J™MEOÁR S‰SqRŽPÈOÙN‰MDL®KžK)IÔGNAî=bëApAùBTD‰FEOC®E;DF4PõNeF3IïJ³IKKZLÞL2K°K¶KKêLOORTÉVIXù]Æ_]%ZßV§K<8«:ª:¿AäJñRSñT0U"T¦U^V#WoXhY]YöXûWÏWW…W¤W×WWV:T¸S¿SwSiS¸T&SóTTS¤S§S†SöTZV#WYW‰XY¦\.]b]®ZŠZÙVæMÈKØLDN'PcR¸TäUTTÚSÎRãQ¤QOûNfN0L©J¼GIC@·>V=à~?È@S?ÛADE#CÔDÆDæE:OOýEûIñL˜IMJ H¾K:K:J‚JJI¬L®N4QTS{VÄXaO SdVrPOÖF¡;::p=ŒIjQTqTæUhV9U»V‰XNYAYHYJYXóXÐYvZ2Z]ZiX²X6V·UÇVV/VáVwVSV;V!UÛUãU¿U´V:WXX›YZG[B]·^"]ò\"\0ZíN¹L9PgR U|VÄVóVT»SÚRQaQ[PïP!NðMoI”FšCA@ª?Ë?E>—=ù(Í*)%)Ï-¾0â2¡4:4ì6°877À7a4þ4ã5ÿ3F-Ò(Â%‘# W×ò­n!@$['),(a))‡(Ý)(ç)õ)Ÿ*ï.f/,Ü+Ê+f*©*9)Ã)X)ß*9*$*0)”)l) )>)4(Ù)|(ù(L(((}))j(Í(¯'&è%ì$#ò%%‘$ë&3&&ñ&2(ž+S$°!ú#Q$ù%B#p"A"*#¨%Z'•&&©(¡([(g'#.'-è'•)(y)ö,„.³7`?>Ï?Ô?ƒ=°=‹<Ð?BªB$B¹DKCFŠP[N¿H´L£LòKƒK+I`J*K3MLN PFS¥UAUØUKY¿XÈO¡TúMÎIHš<¢8å8û:KBqN¡SÚTwUÓV€VúW^X YÀY™Y(YþZZ‹[{[[t[•[YÍY8XX?Y(Y YXYYYLX…XhWÞWgWpXXòYšZ‘[\]ô_®^Ú^ž]¯\C[SàRQV0WÅYNXòX#W)UÕTER•QFQü>É>ö>®;œ8ÿ4í2œ+u"ƒ$¶)ÿ(c$Ÿ$,$U"[ &š-/¶+ü*$/1þ7.9C8ç99 8¸9Ö;39õ7¿4Ö0Ð,Ÿ*'"‹ BOÍYÞ"Ï&3(Ý)Š)Ã)ƒ)k)G*e*‡*½*¨*ß/K1o/ß-ý,´+†*£*a**)*‰*Ä+*¦*)k(ù)()J)('ì'¤( (k(à(ê))f)Š)H(W'S&t%+$%"&›$!ä$'+&u&Ã%Ë"î ÿ  * "#¿!ï!Ù%±%v$,$ä%‚'(++Í,Ü'<(¨'#u&z(¸)º2¼:Á:n<;•<Ë:Ð4j-)h*O(ß*â*Ð%Ì$"!Í"ˆ!&a- 1160X4 4A75Õ5æ7¦7¥9W9<896n2œ.+])+&Ã# !® ŠUæÈÆ# %˜(()ß)*€**´,U-',F++\,q2¤4„0Œ-æ-À,º+†*¸*¶*’*È+-+Ü+­*±)Ö)0(Ì'Ù('ç'Á'Ô'³'¼'Í(/(º)))ƒ(ö(Ë'÷&ý%ß$Ë%Ô$Ó&Ò& $›'j&r$/#"Û%#ê#E"4!ó!x ð"5  ´0ý"¨!R""è%(¡*£(&\&2#L!8"ý&k(—-58â7"654•78ÿ;z>b?¬>@=E]D9KYTËSJMMCLZKzKÇJèInHçJöNaNñNZPvSšXuOŠPQS—L×Q(S Nf?87Þ:7ò:'@—K•S:T×V:WúX)XzXíY‡[b\a]±^ ^]}]$]ƒ]ç^*^r^„^Ë^µ^^ã^^Ý^q]Ü]û]g]=\[ü[á[«[°[Õ\¸]e^1_.``’``_¸_:]ûZ«ZÎ\[­[ª[/ZGY@XAV†TßTRßQhP;PeO™M“KíH&ElEÇE=CÚBmB=AŒ@7@×AŽB³B>A ?=E;>7Ì3å25÷4f3Ã2?+ô)À&½ e¨#A& -Ù3È7ù7Ó54ò0å1V3Q6ú7µ7£86-5§2',ß)(ë'!%&%8"¤ }ÓðžÏ T"J$p'z)!*•+‡+F+Ù+‡,Ù/71¸.×,g-í/÷45Ë2Û/a.+-å,ð,G+‘*Ç*Ø+š+d,,++Í*+(÷(É('Ù&ÿ'9&Ÿ&þ'Ë'’'&´&ã&ß' &Î&<%L%"$œ#Ž%% %À%å&y)Ê&Ì"'"ø#8$ð$%"j"’!ú$m!ô"¨$´ I!Ÿ!I…í ô!µ#Ú'‘(u'™&a%•% #£#q$`%ó*ž-Æ5§<»4ÿ13+5À8#9½=a=>N>'@aDƒIÕQTŸR†GOFïKõKÿLÍLžL˜JªIdI—KLL L¢LUQöRbIÙOÔPœN¨UTLNuA¼;;9f;G?¨IÄRtT\VDWaX4X­Y=YïZÁ^W^¸^ò_^__,_p_°_é`>`»aa!aqata4`÷`É`ª`×`o_^è^[^S^`^^T^B^T_/``š`†`Åa0`ò`^û^W\Ú]]Û\b\,[ìZYWsUdTSCR;QLQP$M­KbIGE§E4DrC|BvBBAÜA,BšCrDeB@3?™;ª8®:{<9[9=795¦3–0p. ,[*(,%/;4É7ž6™4þ1ª.Ã.1ø5È7Ç4ô4é2ƒ.°/)ã'³( (é(%V"¨""¥" #h##Ñ$:%î&5(O*˜+?,q,ã.d-.â1î4¸1q/k/·2W;68÷0õ/–/B.ê.B-ª-4,¼,*+ë+Ð,"+y+…+")»(º'Ü'Â' 'Y&&×%š$Ö% $©%B$ #Ð####"[# "®"h#Û$ì$w#ô%¨'‡&‡%$°%’#Ù#¬$ú%'£Ž»"ž ¶#Ù#®O.#S"š#Î$B%—%ò$ò$‚$ë#-#u%)"™&ï*O)ñ,i-Ú5T7×8Å;Ã9¸= =5J2LµPPURäKçN°XˆU†NÄE<; ;j/@ ?C;Œ:à9¸6Ø65)2u/ /$./B3Ø56´6½2¦06.+,v/ç3¬5ø7þ2©-7,å,ˆ*Ú'Ø(F*È*¼)j(2(µ&Œ#j&&€'H'¡&#'w$Ý%g(ƒ+,Ï,».L/¬0Õ.Ý/S2ö7 732o1o5G@ =0]/}05.Å.Ä.ï/.~.­.-,å,+­,+â*ù*2(¬(2'j&¤%ô$è$d#“#—"z!à" !ž!ƒ! ª µ!V Õ!>"!k!L!$#)%&–( %í%,%…&•&³%e$þ#É'$åƒCÊ ³$ä$$Â%x"&#³#Ö$«'0&Ø&O$å%¿$Ó$&%²'Æ((Q(¨+¼6ÿ=¥9’;=à<ð<ÿ<;s;{=;@RH`M K+KÈII#HADGwHŒJíLnMLôM*JÀJ¾J J|K/KRR3NïMCUÞRµK3K„I…>•:&=W@XHN·Q÷TÜVTWX„Y][h]^^»_[aÿb¯cc½cÐd7cøcüd2cðddWee[dëdºd0ddc1c1cúcJ`×`aUbªc$bLaÙaÂbbfb§b‡ba­a£aâa4`¥`_ª_U^É^Ý]ZcYkYöY‚W…U¾UvUVTÝShOøK²JýIÿHðHÀHNGñF.DnA:B‚C@àB»DÀFôK MÌK8JML F’Ba?$<$9ü9.8™7­7#52ñ0R/W3Á6x5K5g51G,Á,º.×3Þ5x;—9Ñ)+.P+\)t(q/,2,“3I0ƒ+'¨%ö*Ë.E+B)å'F&»&f'()Ñ+ö-.-r/ú2§2Ë0Ù2ð5Ö:e:¯6¿643K/õ0Ê1F/p150>/T/.U/{/"/Î/2.Z-I,#+ã+¨+’*£)ô)Z(b'Q%¢$:"™ úÐÙm â  ©‰ Ÿ˜ ã!% ¯ ß ò"k"Ç##“$\%+%&ž%/$ž'é'¿%K#%%Ì$L% !µñP b!ö#ñ$ó#! l#ü&p&]%ú$%n$ä%K#æ$€%•& (õ(M*+Z+i. 4ô;ú9û8e<Ù´9µ@F—LxO“SRU¡V(X×YŠZ³^_ _éa%c™cýddËd–dádÕeede’eªeQdçdâd§c˜b3a’`Œ^5^^_à^DZ¸[D_awaA`ÚbCbGbEbBb‰b€aÕbaÉaÁa(`Ô`”```^ü\¯Y‡XZXõX³WwVÔVÚV¡U®R*MºJUJòJtIàJHèHXE›BçA‹CgAïBDÅC E™JòJ'FkHªMáLqEÁA=¿<Ö;N9z9o99¹63$356÷4ä4U4µ3þ/d+".É2Í8þ;¢D>Š)ì8:9–/f6p8Ä;99 7Ô1€1–1%'Ÿ"ª&™/)I'ö'³$ñ&/&M)¨-T.&.164Æ1Y4¶:½?ý:Z81¼? E“KN!QTýUVÆYÙZ \Q_7`•aâbÛc·d6dVdfdZe'e·f9fQfge«dÜdàd–ecía¦`B` ^Ô\G[@[[ YsZ¢\Š\\Á][^´_‘`Xata±blb–bõbÄba_`ß`È`I`r_s]Ž[äZvXzWŒX3X¶XXXWVTRCM¹KyKKmKK1J¹I©FC›B$BLC@B Bi@(? AŒEîKMoQcR NÆI‹FC[=ó;å;":º;-><ä7b5ã6û6ß5 4]3þ2ü1,î*Ù/o4>=IBtA7Ez7¼18T.71‹;®<^;w>8\(9.#'¶!À2‹6­1H&$#Â$µ#…&'"+…+Ë+R.Ð24³5Ÿ3Ò4Ú9k@•D%;O:‚?Y@„?ú=<|7l3Â1È/×./?0²/ë0I/Ù/,½+1)l)ª(\'D'¢&Ø&³#‘"… ¸’!W#'¼(#"Å!Ï!"_!G!t#)"í#[#s"ˆ!Å"•#ÿ"˜"÷%L'~%×'u&Á#Œ$î% ''&|'k#-'#>ÉŒ1 O •#& @ "B4€"a#“$!!ç"#$…'p**È*ú+f-4æ4,¸/´6µ6 5}7œ7²7f7Ö8Ä;â>SCgMQIñ@y?½Añ>D9…:â:ƒ:ÿ=òBöH2KL5L6NaN}PõSŽPhS"VnSV]\GZUOÚE)@ýAéG/L~OIQ¹ToUÞVõX¹ZS\;]å`ÒbybÿcddpdÖe+eeúe*dÿdídídkdcdwcßc­`þ^m]„^¿_4\\ZyZüZ¬YXyWMV>WçY4Z6\Y]Œ_²aÿbÜb•b>aÈaÌa ` _ç_]ü[ÔZ-Y XFWÂWÆX/XmX¬X¦X¹X–UáQIMwLLXLªLøL~KdI7ECUBBúCºBzCp?˜@âA¢@ÚEãGÓNƒPoOxLéCyB`A:È:V;Î;˜=½;_8U887®6Q51×1¥/U+ ,_1r7z?èGhI:K®:«"b%»+à-92Â9ª9$8Ç;^5Ì3 ®X21^%9Ô í »$×'(+I)˜1<ÀA=ã5Ù34g6~;†A_@0BÒHûJ‹C}<¥?}<¢6¥2X0r.ô0t1·1#0Ì/³/+’,‡+/,+u*+(K!Š ¶Üæ f!Ê"³'(Û*è2".*I)¶'T$–#Ý$š$Z$’$x"C7á#”#Ñ Ï# (å-­*’'K%û%Â':'N'¹'&É$¦ð¶ ÛrªÅ#ø ¼9ù¬T ¤SŠ! #$*'')*Ã,â+å,?.-Ý/Ê6t7A66U4“5-798•;r=ÛAI[J0CW@ @;=W:n9é8ƒ:o<ÿ?ÖE2I9JwK½M/NQhS«RéRUÓWÞZº\¼S*GÂC¦DG­MZOËQRéT¿WtWüXé[£] ^1aÑbšb”c×cîd¤e@eÅed»dÀdìe\eleÃeÏezdˆd€c„`#^+]o^’`^x[ð[,ZdXÐXGWIUêTöS°R¦RßV&Z]_N`ÄaQaea”a,`ì`2_=^1]I\W[9Z—Y`XXcXºXøYXÐXõXœY YSˆNÇM8L¸M MäNMõL"I+FD@BÇA©DšCìA¨B=¼<ó?´@`C˜@gBRIPF¶JÌNEÐB(@[;š:ß;ƒ: ;ö=0;å;9°9/7Ñ5Ù3#1 0Y,¡)š,]1|8Â?UD¨KŸM"@È*·"½*.ª3Ç6-6; 1ý0È1G/¼-f23Ó4Ë2#,ê+®(,&ö&À&F&%Õ','r)½*×/è: 5½-©.@.¾)n$b$à#ƒ#!Dpê"þ$V"î#@#â%Ø)?+ä+S*;(ä((¢'°&$ì$í&p$|"A$]¯€ï÷Ë-É3©$Õßx O"[Öm3äµ™#ý&¶)Á+‘.Y/§-Ñ+m,-I/¬1Y1›2n2º3¸4Ã759¢;ê>ÿAªFHxBË=«AADæBÚ=J:!9«:=Ä@D(H7I•KÚKýNSSKS°ThUàY©[VW–MËE°DGwKŽO PäQ}RàT•U©WŠX(Y0[ƒ\™]Æ`bbÅbßbýcydfd»dæd–dd5dËeceÆeºeÏeµe®ešd±a!]\Z\º]¤^¸^l\šZÆYüXwVŽUUUDT"TqT*T†X [©]¢_ ` _å`8`Á`Î_µ^j]—]¹]Q[øZ±YÞY´Y7YáYâY¬X‚XZXNXéYDRMkMnMpNQNÒN LáK*HvFsD C4BDdDÜ?¢>Ê?¥@ˆ@è=£@EA‰AšHB^<øFIB¥>“<ÿ:V:i:Ó;Ô>i=°<:†9K9f7k470v-ë,ö(…+V1†8ÖC·GéLdH5è'Î'@,Í2»>]C7=eAg<9'1!r"q!Î%ü"¬í!KÖ"|&Ž&Ã'¹(«(-,Þ2p:OE9M;KÃM"Q‰Gê:Ë:>Â>ý@™B'IºQtIÜBw@3=7¡301]/§2Â4f3–3U1œ387„9~6Õ5Q3í.]++r,'-‰+ê+ ,˜,P._0º36p7ø21-Õ,+**ç)Ó'ð#“ ù“ ,#Ï!Ë#%$Ü$i&‹*â-š,è,®.a+ò'c'q(&”%ð$§#ª!Y%b*z'h#²$%X(&s Ö!²žBœŸ1ž´"ó!íú"™'7(N)­,.ò.a,Œ+_+Õ+8+o.ç1Ù2ˆ3ï5`5‹8W:¥=0?ìBiG§IBP>MCØGtF2A7=Ã:ë9û?tAZAáEcHÏK¬L'N>P#SXÏYXWÇUÿOïGrEGILNGQÝSKSOTsUUªVôWÖY3[#[ç\º^Û`ÙbÇcbãc×d:d0dcc®cŒc­ddgddôe7e#eQdÎbA^\G\ð]4\¿\Ú\ó[ÄYZXšW„U`UèV§VWVV¨WžWNW7Xø[W\‰^]_‘_z_Ð`D_^°^å^â]ì\À\[SZÿZl[ZYëXÿXKWîXEW§P LÚM‚N=OWO½NK¿JíHŽFÂC¯CGC‡D”Eä?ñ>ÎCrC@T<Á>ÀCã@©A†Du@ÓAÑEdB°=p=c<;V<@;Þ<Í$ð%÷(%-Á*Û*é>CÂGWJKåRTTP4@¸8!:?ÂD×IgOQ8Jó>Ž9À8µ3¸1b0;25C3Õ4M1×3ð7»7 8Y5À3G/Ø. 1w1×5§/¦-v5{1Ú3?6š5µ1ì/‚,‡(Ø$ú#r,Â2·/š%ã!¹$$'k(K&œ$<#Ú&£$ó', ,J-|1ì/¯+—)'í'Ò(~+Ž*m)Ö*% •"&f(ž){( &ñ!3%<+ó|„ŸqÈÖ$‘%!% $¥&Ò( )ü*M*T*d+F*¤+$,+í1‚9¢9`7Á7Ä7;9þ<@LB&D¯JûI¸C*BFÜI\IéFûA <Ë<Š>²@wB;EAJùKcI¦PÚ>k;„D.;ä8%5½5­2W0¾2Â634×4À2ÿ3„2.Ý5Y5.ª(Q+v6ˆ8593o1Ä8½6´5ï3Œ/@*+*’%<"Y#¨*A/Q.ê%¤!Ú"½&È(i'}'?&Ä'Ö%&Í(|)À.Ù3Ú-y+å,à(Æ*³)ø)½(¨(í+#)n) $~=`Ú)äcFR­E ¬ z4}Ó"å&†&å'Q#E%§'1'Ÿ'ã(k*Ÿ,¼,,‡-§+¸1õ@'@@:•:·:8<+>³BñE¯HwK¡J1IáI°K‚MKzHçDÇ@Å>s>ÌA^BíEcJÊLoJO’YTmIlG‡IuFÖF—EHýSXW­WîWWWŒVUV£W–XÈY¨Z+ZŒ[ \ÿ^œ_¤awccÍd>d’cêchc(bõb bÎbðbÔbôc›cùdÏe6b‚_ \Ü[˜ZÄ[t\Ç[º[Â\IYüX\WùW¦XXvXHY&ZXþYHZcZØ\o^ _†`J`T`_Õ_¦_4_ü`´`È`•``Ó`$_«^ê^^ ]ß^]~\š[·ZŽYDXXÞWHR€OüNGLñN4OHO±O¨N-L®KÐKàJHFŒEkE²DöDÉE¾BÍ?´>g=P=Î>>Ð?¥>§@OAš@µ@ìAtDuD@Ÿ?Ê>C=F<ñ<Û<%;ß;t9¡:9{8Ï8À88)5o.­*=+L(¨&W(?.AÙISLÓF1H¦EºA&DW=˜3Þ5$:J;Î>ûDÎFØ3õ45D0Ç5;7û8?5¯3ã4Ÿ2‚4S3Ý/â/Å4§7à1*á/f8$:ð7û4Æ1Ã0Ä3¿4`0-)H'l)[(µ*e,æ,·*Ú'=-22›)¿ ß"%„$£%m&!&Y&„'C'¿+¼,Ä)¹'P$€)¨,õ)á.&.b))Ü(‡&C&."»$8'T$Ñ%%%#ÌÉ€ª ýBq)!Ú$®!ð$Ý#¤!%v%e't'##¤&g'Œ'Û)\)ê+8-.Ë/A.À-þ-÷0÷;ÁHsGs=ä:]:Þ<“ADDíGKõMoL LòM‹MÐN˜LËKÄJmG•D ?±>£@AÔFJ“K†KÝKìNªUÑR[E_?ŽAþCæBïDzI•R™ZKZ¯YîZYNXDX@YDYHYòZZ‚Z£[*\ë^;^å_¥`œaŸb„cªcìcÎcœcDcdc0cidc·c‹c„c)cWdwc<]äYaW¡Y[ \\òZöZq[1YWÂWW±YOZZæ[´\0[[5\s^o`ya5aŸak`Â`0`Ha£baüaÇaxa`;`j``L_€^õ_2_C^®]{\µ[QYŠX¢XåW•RÀO•NçN0MÛO%OíNÁNZM-K§KÄKäJGËG0F™F(DWCsE¬DÌ@x=ã=é?U?7>ˆ@?t?Ü@ëA6CC?D¯D@??ü>)=C<ý<—;Ÿ;O<)9ù9`9Š9^8í8Ä8c6^0Í*.+(®$Ä'2-°7Ê=ÙDÙIñE(;Ñ4³1‡3X2½,ó1©7ØARGl=µ<6=®A Fl@‘9à0”#£ß!x#%3+Ë.2g8¿<¶<€A“EÑ>ö@‹E™EâG’I“G?1=›@; 3¯4u7ì7¦9©;û<>°9,5Ù9Ã4ª4–2í/Û68±=9!2Õ5ò43X4æ6t2¢/h/&ó"Ë%9*z/[/-|*#+?1Ü.÷)T$‰àË!@$·,Ï33n/Ž*/©4(YÒ5Nòˆ ó$ª) **[,<'l""#d${'²)T(}+Ï.(-Û-í*6&R&€#­$ (A&%û%.$O&1"³# Fµ{!ä"I!ç!–'O(“&f"@‰$$w$$ˆ$Å((G)p+ +-…1ª0û,2)õ)³+Ñ/U5@›F³@ý=¬>N= AÒDìDFzIŸJ$H—J·NKPP“N$MÛLbI—F×AX>@VD­FwH½OPfMÊQJT)KcBKBEÓF E0KªV¿]-]k\ç][ð[[ [ZÜZd[f[\Zð[o\Í^_A`v`Å`Îaßb;bÔcƒc¶cåd+d€dÒe eªd c£c…cAcPbß_ŸZ¬XMUÄWZYbYKYóZZWÖVWYZé\(]Ð]Ò\æ\S\¢^Ô````|`+_Î`œaËbÊbHaÌa²aH`ê`ˆ`a`‚`ß``6`_¯^Ï]m[ÎZY×YàY`V(QAPÄOŒMGMêO'O6MÆMrLPJßJçJâIŠG‚G·GðFkCÿBèEEäA“>J=ø=Ì>¥?‘?É>@gB“?ëB5C5C½C1@”@“=Ê<ú<`;»;À;v<¼Z_;_±^o]M\÷[ö[ÂZÓYÇYÂY¥Z[[ü\ã]Î_1`pa¥aˆaÿc3cŸcÀcjceee½f|f„fxf8cçb0b‚caØ`Ì]¦XˆXNUÿTšWyWNW™YNY¶Y7W°V‡Xß[Ö],^Ê`§aBasb”ccPc,bLaaa`ÿ`æa«bKbDaßaÇa§aba`À`’`Ôa`ß`š_â^À]Ž[áZY¦ZÜZ)W/TJQ«PˆN=MuONHMNMLçK8IÆI¸IsHšGœG»GPEaCDC_EîG.C¨@?¥??>‡>±=t?QAJ? @U?Ê@–A¼>H=5<û=#;Ý;´;Ï;;ý<,=8<&<Ó;É;79Â5è2ø.È.*%.ð#½3:?@aG*NªIâ>f:¡4Œ6“5£38ÜCSE1?ñD8>y9->–;\:);ë=ÏCE˜JMŽKMPOP™O˜OLRC? A7F‚JÁLòNTO~RøRõMæI6G­MVÈY[[`§aa`„^Ø\\3\‡ZàXÈWÙXX Y‚\]A]Ç_?`ìaïb#b­c¥cªc”c\cÄdŸf£gfÔfÛfuec_b8bÿcpa¦` [VTØVX,VuU(UFVúXaZY±WVY÷^™`bb/bòbÞbbrb¯bpbÙb”a¯aîbaia¶b-bEb&aÔa~ata"`Å`ÏaGa1`œ_¸^p]\ZwXâY¨ZÖZV SŽR¾OÁM´NNÑML–LQKyJH¦H¨HyGG6F{E DgDDxFiG Cá@³@nAyA?‡?©?^?‡>ý= =é;ñ;¶=ã>35X1š6‡9¯:AàF@r>ðB¹@ÙD†CÚ@3A<1æ"²'Û1?9u'K$3,«1ò.ê0[2Ã+²)‡.ñ65×/u//02ž8);+=T;"8¹5d3ƒ5l:ë=:í5.ä.w-`,!+',„++3-«*'§&i'0(›*L-²,Ÿ+ˆ+Þ*ó/µ1Ÿ,‹+Ï-ª/}-N)ß*¤)m(M$®#e!T ©!$n$&$u"ÚÁÕés²"€%•%—'a)Ú/ž1‚-j.+ö*Y0/”/Ð2S/z/Å2Š1J6G<¾;Š:V8e6Û6æ8,:f?úD H K¬K¤MuO)QCPzPOõJˆB‚A¨H6LFN'L¸N:PÚM^LLORiWó\b]Ä_öa˜a–`Ÿ_^]N[•YXXHVûW4WÁXO\<^ê_´`ðaÉb£cŽd×d™cÁcõd#eafg³g+g gÈfKdncØd c.b=_Â\dY÷VäU§TêU=TJTUèV’Z([YY‘W£[oaEb{bŠa™aMa°aÒaÞbb±b5`Õa¬bþb‚baäbaÞa¤aca`ö`Ý`c`g`G_¸^=\Õ[©Z›Y`W…W»W\V¦ThSvRÜNÀMÐNþMñL¶L”LJÐI`HBHGgF’FxEÁEDËE„F2G@HuEðA§@%A]A!@@Í?F>q>T?Ë?Ë=Z;@9ë;ê;_:_?6>Û?Ÿ?ý@#>G? =;Ç=-9Ñ51,þ#¯*í*º%)[*í+D%£#*&C)(/U/&,X.l.U041þ.u-`-µ+ä,'*a)%’$z#C õ½ò!á$H&?)Ù% ÷[‹#.%['Â)H+M-.J*í&@+/1x2å/î1é13{4233é4´8 9€9Ž886ú89:<¾BGÛJÄJ¸MJP`Q“Q»PæOQ«K‡DZH†JÀJzI¨KXLöN!S2V”Xí[ø]™_`§aSb'a*`a^ä[ˆYBWWSVƒUÂW@Xˆ]`“aaâb‰dqe9dc@cXd fgBgKg2gUh¦hafÁeÌe=dfb¦ab_ŸZ XŒYVXwWfU±RñQÐTfVWYr[L\f[\°a@a`[aOaaaa«aÔbaîbYbD`Þa2bc%b;afaµa¿aÈafaUa<`²_Þ_›_9^§]][˜[*Z>>†=ö=×=€;Å=`=b¥Á"²Æ¬Bxä%'%û!)Œ #&R(|+É, ,A+l+Ä,`,¸103N4A42[3„2È8æ7ß1!666/5z6û8 8Ö8M8<7†9,:5=;AîGJ¦KyMxPÞR›RpRÂP\QŸRHJÃF÷HYIIKÞP¢SNVX@YU\1_»`î``saÆb `ð`^[ŸZ´X]X Y¯V)UcXÀ]*`Ža±b—c©e3eHc™c dJeïfíg¸g¤gogñiiFg¦g f;etd•c _˜Z®WmW-UêS1T‹V"SÆQôSWU*WzYZ¥\ƒ]^ßaé`É_©aja`ò`Ùaaua8a2aÔb aíbb”baaa­aËb a±aE`µ`k_²^–]¬]\.Z¢ZgYeX V½VW!W T¦SxR—OÇNÆN‘M~LàL³KâJ²I8HŠH¥GsF¦FFtFvF»G­HÿJBKgKÁKÓFö@’@¦@z?œA‹Aª?´?¼><¡=þ=®>j>c<ä<Þ=e=b=‡>:=m= >f>>=¯=e<¶;Ë;¦:~;q:½:.9+9ä7ý3>(`-+%ñ,µ,•1g7y?ƒD?8Ž48Ï=>•91§++3ýC…@ÙA”FÏCA=Ú9¯4¾-…,¹2 6Ê=uH5MëL KµHGsGÔBº>}QöNNH¬HGGðN€TèV“WºY½[{]§_ä`ç`!`.aa1a*`2^è\®ZíYËYD\ë^ƒ\ì]_úbb÷cÔe(excöcZd¨eÎfÊgPgVggwhñhVgâg–gf€fc˜aà^WUOV¡WIU£SROS>R!R¶UTX-YÎZ€[=\Å_UaÝaÀ`Üa‹`†`†`{`¬`µ`Ö``ra%aJa´bUb%a‡aÜaÜa‰a`š`_Ñ^·]|\®[¬ZØZY X.VÈV-UöWV½T6S3ROÎO~NËMÎMML’KcJ6I"H°H.G%FýFjFG3HeIcJñKÂL„L»LÜH‹B@ý@Å@ÎAžAò?Þ> >F>>®=ñ>®>½>®??P> =g=>4>>¤=ð=Ú>E>­>±=v=Ø<ù=m=Š>0<Þ<¥<:ö6 ',|Pc°Q%n&B,86“.ž3Ï@žHE>]43-K1žBó@=3FCC;>Š942ú.2g:¼C’KåMZK_IPHþJFH CÜA¢>27¼3&-‡*±4;Ö99„9c89+2´5B8ê7î85õ6æ66¥5ÿ6‡6±797µ7@7×7ž87n6Õ6p6‡6c7¬5Â/+–+-+{+(+1e2þ4P7ó8¸4‰8dAZ89Ë9µ4ê3Ž4¼2Ñ)Î0c1î3D1a.¨3Ç8==œ:N:\:¢;^9ã1R03,.d) ,’+‚)% 'w*4*D,þ,•-‚,+ê+™.w.³/¸*'²+/((€$U!‹ÞÌ7Py7•âû!€"‡%E$ß!Í#/'Ò' %Š)H+¥-@0ƒ57+8_7B5Â7x9C6š6g8¨:Ù@;Ô7Ö7Ü6y7,7–8F8Ò9ó;`>BAGJLÍMûO˜TDT‡T=T˜UäVOHÒI7I×MÅTîX&XîZK[Ò\ò^J_Òa`A`)aO`¿`ˆ_ì_Á^¼]ß^Å]Y`Ebi_ã`Ibc dGe eÂdÐdše»fØf£f©fYf·gÕhÞjih[gŒg>f`dˆ`Ï_å^®YáTÎQQ/RGSiR­SiThTžW7Y0ZVYÍZ[5\‹_b1baIay`5_Í_Œ`J`m`N_t_C_Ï`†aÒb´=i<á=h?>{<Æ}>Ý=Ç=Ä>=>î@R@‡@q?ð?Ã?€@–?û@Y?è>×>!=@=U<1 )’¡› Þ6ñ|%÷66CÈDŽ9î4ã+À-„4h:ZA EB ?X;)9E6Û4_=õE¿HWLœKÙJI^G>HI1GÍCf?á>1-&ï9ÝK+EÑ;â8Ë;,=†EGDÛ=¢:ú6Þ7½7g5ú6F6}76£77Ï8¾6ê7»7ö9 8ã6Ò6é7»87814õ1=0 *ð,^/J/Ñ5d2æ8Cê@|:å=ªH‰CÍ>^>“7U5+J)o,W00ü2M9)103º7Ž7;;D<<¡:i:$:I6Á1¨-Þ+&æ(?&â'A$÷$š)2*',œ-p-Æ+h*è)š*ö+q-*D&s+Ï(}%{%¨'t# ½¨BéXµõ!•#ß&'P(€(x)#)î+Þ-..\-C.z26¸89x9k7468!;ã;:æ8.9¡<Ü8§7¸958û99¡:­;D•AÌD†H®LªMxM)Q'TTSÁSÚRSP²K6II“M½UkZ_ZøZÈZ‚[Ñ^F_}`‘ai`q_×a%`Ö`Oa˜akaºaÕbwb açbça•bc‹d9eLf¯fïeðeëgg$fïfMff¢hii~jikéi’gðgg)f€e4c(a¤^íZUñPvOAPÉPLQÇQBQÔUW-Y-[\)ZœZµ\\{]y`kbµa°aO`i`_ú_d_Œ_ã_f^z^Ã_9``a`a°aåbah`®`D_±_!^‰]ù].\b[jZ{Y‹YX_XV¹UÄUSUeXrV™RÙSRNP—N½M]ML³L.K=J‘JXIºHãHGÄHHUI2IŸItJKKýLgKªL—M²KH5EvBëA]@V@ƒ@×AÜB¢BAA3@©?›=»<§;H9±9–;_=h>Ë>Ú?.??^@|@þBoBA…BAßA;AêB!A…AG@˜@U>Ú=£;ü=ç9/\%Ímè…ñ Oú1®>åEAV>y573z0!5@?>wAƒB,=A;[:79R8g?øHgGâN»NñHHH&DéC B?BgAù=Ë7ê* 'OFW“J#D2>Þ9÷;Ô=¥?g>\<[>7>t:Ä9$6-*×% !ô'°#È%H%w"‚&·++Ü+™*â&Š%£%S'c(ø)¸*D'Œ)÷(›$Î$u&W%ã±lÁšî¡Rp J%`& &a'N)ü+=+Ê+ü*ý+œ-£0 11 2r6º9V;k>?s?O;Å9V:;7>U<Æ7ì7»88†9X9::ü<†=j>K@wB“DÂFáJ>MNN3M­PtTtU²UT”SèNÜIêHíJúS!Z\~\-\!\\”^X_A_Ða0ana·aãb a„aJbüb½c d-dCc¬cc»cddËf;g×hg—gU²QÿR£Q4P4OTN%MDL°L>KKsK/J‹I…H·HÃHÿI[I~I±JJÏKçLVLÞLM NJHSGE5CA¥A A‚BòB°C¥D B×At?Œ<å99¡;e=;>>J?'@vAA–C@CBçB©BèCBÊC/C(CBÝB’AÞAW@+@>¡=,;B8-Äåj²Aœ%0?$Ñ2Ì:íD„LÏKÚ@ù@ 7e8ãD <ì=úD&A3= 9'9Ã7R=ELHAKÄOqG¾B.>?I:7ˆ7®5Æ4R/Ÿ9dRŽO›DÄIžAÝ9×8w:O;Æ;N=;<*;};'9³8¤7©7ß8º8Ê99ƒ9H9Î9Ú9é:9o8­7j5ù74£4|5Î290í/Á0¾1m/5\8678AýF1DKD­F'DûE(EøFWLhDr;8˜10xƒ7y7¸9@r@9B:.;¥=0?T@~B3=ô968£-Ù% Ð%¾/%s# $œè# '»* )s(Ó'‡'Ï(Ï)ï)Q(Ó(((ù(,&—%í&$‡ Zå*ë©a!t'8'¹((Ü(Û)M*'+{,7,œ-m.¼/1©2à1[5+7ï839š=‘A¤Ay?®;u9¢<¯=û<;´<’;õ;!;;*:õ<†=Ì?FBD‹FTH J²MÄP NŠO$UW U5VW™QGI(H®P2X¬[ý]Ì^V]£]r]Ô_` `ªaZb c%bðbÁbb[d”cbc‘d†d[d™d™dªePgvhthÙgÑfÚfÄggvgÀgÜg”iZln múm8lðm^o3oJnjlÖikf7`Û_W^ÌX³VcT_SæSeR”QìPQ?P9NÄNYMÆLÿL/KoK²K:JµJ5IŸI¹IxIRIqIÊJ­K.LLÀM(MƒM‡M¼JôI­I{GfEoDCBiBñB$B[CÌDùDŒA>K>k>°@ŒA•C(DCÎC„C’C&CRCICCC¥CÏCaCVC8CAó@6@?ã=Â9[/È#Íÿ`¤ó–,õ;­=”B©IêFýD€K”C=aDt@À<«A‡DšBs=Î?˜CD¶KèGWJ/O¤I²CFÈK…D>®9þ8 >OH+M]<¯;(9È8ü99Ë9Á:6: : :1:z:G9F8p6V6 7Œ66¤5ß3Ô2m0n/}0é24;eB¹AìF–A4B]J/LzI¯GHHàU‚QÃDÜ?Ú5m1H=ØC:â=ÒC}H¿M@º:oC0C¼Aa?ä?ô@ =:*Pé C'.7'Ý!í€y!i#™'o))*Ã+š+l,+v*†*—(ù)()'%'''S&¢&µ%µ Í' %&¥(Á(i)H)9*·+'++é,©.».ï0/T0®4¥4R5­6Z79 ;Æ>X@yBæ@Ö>Ý=õ<Í=,=­=)ÑAÖEG)IKrM°O±ONÐSØWvWBW³X¼SAIXITí[U]p`_J^z^`^ÿ`3`ø`ù`¤bgcàc€cvb©cße«cMd$dódÇfôg gýi•jUh2f³eùf€gg”hši9j1kÐnoeoQo°p`oûoSq?qspïpÍpØpHcR] ^ÛV UæTRøU:U4TUR7RySCUCX¡[b\ ] \ä\t]”]ß^Q]¬]â^¦_~_Ê_V^\×\Â]Ý_>^þ^I^Ç_‹`Ra/a`Ë_ý_e^­^U][\¢\8[F[YàYžXÍYXÙWËUTÎTƒV«XR§QÙQóQ9PaO NØMÿML“L§L“KtJ§JWJIÒIñIêJJƒKzL!L¯M’M€MMqM³L’K×J±HËG„FD(A´A¦B9BÛC†CÓDžBµ=:ß=H>®??®@"AÆC½EADçC“CqC›C”CNCEC«CµC¾DDMD¡CëCKC#B1@V>È>•$FCFzLKNÔN/MÒMÆN D=ùCM]PmN%KÉHvFÞCÊ@Æ=5;f:–:: 9R9Ð9ë::Q:H9Ú9Õ8{5ê6Q6Ö7Ï8b5Ù3Â2“2Ü11Ô0Æ4¾BCF¦KŠH C]@-FeOJHOHOÈV·X­VÁMþFQLYJt:÷&<&8n/Ç&$ Þ&I­Â"Ø(B*D,°-5-Æ.Ö.Î-,½+S*«)4(ð(?)6'ã)'§(9z6“&‹)Þ*{* *Ÿ**ä+,5--(/y/Ù111º4(3Í4‘5·8Ï;Ñ;­=(=®>u>o=<<<ä<Ú=æ>¹@ÓDØG°JL*NP=PJNöR?WX]X¢XæSÊJºLœWÚ\«_X`¦_L_|_[`V`š`üaÛa5b}d d c«cwdÏf"dúeÖfVfRhìjiøjhëgfáfÕg¹i+jXkvlÌn­poÂoœo/ogp#p{q%qæ:¿;j=ƒ??@@ÎBNBûD¸EÄD¯CVCBÊB»CüDdCùCÿD D:D÷DãE(E1E DáCrB¼BAAŽ@A>Å:›4W.˜*$&Ð!ùC'ü#,d2“6Ã;˜<«E5J…GI0J0JìFcBŠB—BDÓCEˆGOBÊDšHÖJÃISHHIdJ¹INECDMG¢PÝQN OMMÉKÕH±IDeD»OhU×USöR×P¸N9K¤I€GpD'@ä> <»:Ü9š9¸9¾:,:•9ø9Û9Å9Ž8X5ý66î77u6Õ6ù7É6x4î3¾32}3á:ñ?²FºL¸I¾DÄA LžX}U˜MÐIoMƒS‹[._†^¤ZUðNðE±B§CqFAD=ùGJˆGÉD¬A¼CcCk?¹=Ü8j0ò-['~%º%W!\s¦¥#(¹)P+S,.t/Ë08/p.t-°,¬*^)ó*‹(ƒ)”(©+})¯)ã$› Õ ¢"Ì)_(ñ*Ä)!)P*ó+z+õ+Ý,¥-\-Å.Ê012[3±5Â4Ä3ø5ó9 <ð=Á<Å;É;B>àBm@a?@>s<Þ=9=÷?0>=É=<)<º=ƒ>§?–AhDzGIpK„M¦O*OùOÇOuQŸT‰VãYY^RïK3M;Wh]ã`Œa¥`¿`n_è_þa aNaßaýaazbëdrdêd†dÑfgfMfrg¹hUiIiôiôi¼hÇgegnheiëk”l³mênáprqZp¾o@n—oKoopp²qVq7qqq—qªpwnWk^kZmof}XïW%ZžZÍZ YmZ½ZEYû[(\P\ß\ë]\]M]D]S]>]»^C^ê_·_Ã_Ç_N^Ç^û^Ð^>^µ_*^¾_1_^v^Ë_ê`ßa-a`^÷^g]È]4\¹\Y\[Ã[mZDYŽXÐX8XW‘V)S®SThWvYT*RPRªRŠRtPõP N{N>N!MƒMžLªJ°JIlH•II$IhJ J®KK]KÒL@LâM}MÿM˜MMâM±LKÄJïGÌFzFÏF'EµBÚ@ÜATA%Ak?q;Ä:x;í=ð@?B(C;DD^E=E D9BÈB*B·CSC¤CŽDQEmFˆFFLFÿGûG«F F+E½DCB@Q>H<¤9ö5ï0à+ä'ü%m Cù&Ý-2?ØAÑ?KCVCfCU:õ=69/*)='%¼"ó!"·ÿZS#Ï(ò'Â)¿,b/y0\0ç/«.ö-*í*h**k)(,C*h+ *Y,($}¡ Õ#L*Õ'û)x(p){)i)ª*º+ï,p-c.³/H0‘1u3p3œ674³5T9£=ø?=ù°@#@ü?³=é<ò<½=@=Ü>á@¹CqExGwIžKoM_NOtPhQ2R€TUV¯X\W'Q(LêRÅ[Ì`2aóa\`¥`­`damaÚb%bƒaßaæb=b€cöeKeHeAfÝhXhMhñiFi—iØi‚i–h¯gOgÚj¥m–pp‘oðq1qÑrAqho0o3oÌoþpp˜pçpúq*qSqzqµqDq\q¥n:k*jSmªkÇ]MYm]ë_º_ž]n]—\ç\¯]]P]â^l^ò^^K]è^^“_:`=`žaGa‘`^`=` _’_¶_p^ú^Ž^Î__^ì_ãa>a›aT_õ^õ^-]|] \Ï\l\[û[TZ XêXDWóWÉV‰TîRwR[TJVøXPTÂS?SRžR#Q PNsNNNLöK6IÐH£H:H HˆHÊI#IáJ™J–JÐKK9KøLÊMgMTLÄLiLòLoKÅK¾IsGlF+D]C×BýB@Ø>>)<Œ< fA CÇECEwEçE9C§CkBªC*BêB˜CrD¼E£EoH&HÐH4G¦G0G5E´DäDèDÐCýBîA?\>M<ë:Ç71ì-m* $å"£#‰(º-õ+-2¥:S:=@}FfGÝH]EADèIVI$JýO,L’L¨LÙJ*L/J9H¸KiKÅKöMLüNQQ]O×OdO|P¥Q³Q]S÷T QëTMWÒ[Â\PY†X÷X|V€TýSüQûPcO MÙL·JòHºFCÂA•@Z@¹A\@=„;S:R8Q5¿4Ù5õ6F7A6£6–=®Að@N:6"4à6¹8’8¥EGR‰N:G-FÛI$R¹VXïZ Yía`æ^´_)^(]X"M0OõX‘WeMD\F'IÛOVKîC:f3ú7ê5-Ø5¢5¤*‚+-w)µ(9&œ)î/{&Æ"#%z(ì(+,ÿ.Ô.Ÿ/Ô.Å-â,³*Ë+?+,w*÷.:,¥.Ï-®/:)ì0"l# $C'k%º'–%½(b(d*¹*]+y, -.…/M01434×796²4î8Î>o@Ç?û>k=´<ñ?ÙAW?­={?*CÖD#A8>ä=ÙŽ@ÓBqDâF¯H`IúKÝM9N}OÙP¥RSnTíWmXþWˆQCOOXw`êb^b a¢a´a„a a³bbJaýb²c£cbÈc”dðeÆe³g™i‰iÁj"iÛj›jmj+j9gæh kŠnanðnèn•m¦nêpDpÄp·o“pÔq*pRpùqqqUqaqT>>¾>ž=/>°AµE%EE‡FmE’DCB{CeBÈC¼DQDìECvED¿DñEDC•D:DC€C­C±CîCAÙ@¯?<—9Ã7‰4Ž2e-Ý)Z(õ+Õ1¶1Æ.º0>/R1¡=¦=î=·?ö@¼@2>W@ÍDöCî@Ù=c<å;²;}<>ÕBTD~F?GãIÙJL—MØOPƒQœS9TqV„XSWT¶Q´U÷^õbºb+bbaµamaÏbccObVcBcêdŒdxcµd}eúfg”j4jîjÕkkejÃjÈijh¡k©mqmmmJmlrmpp¥pÆpÙqíq×pØq½q¥qËq»q3p°p›o¹oÞoo:ol–l l\mzn2n nWm¯kgÄf`eôd¨cb™bäd=e$edb`Ñ`Y`8`_aa†acaa a#`O_S^ù_"_)_i_´_¾_¶`]aÀbQb`p^‡]Œ]z]\ö\Š[€ZùYeXWÙWVdU·SDQ×Q)P€QƒSÑUUTVRTP£O_MîL±K‡KíMdM¼K¸IFÚFvF‡G¦IoIýJ+JJ9IÊIõJ‰JÊK@L˜LÄLBKÎKËKÖKTJ·I®J2HpDXCAíB1A¾AsAA—A@°@-?R@¢CUEPE#F„G¢F&BÖA BBVC_Dý@˜@A?â@\@ŠB´BìDHCÍD(C”CRDjDCÊCWB#@•?ž?Å?y<È8ö5Ç4¼1+-ÿ.h/Ã1å0K4:Ä<ÉC BqEIRJ&J¥KBM‘KÁLìK†I_H¿HæK"LõMŒPTWùYhYìXoPèR,[Ù_›_õ`O`¿_ï_“`Š_G_1]ý]ª\øZÙZÈYïWøV¾U¯T:S:RP¸OçN©M‹L’K"JtI4GŠEWC@c=¨;1:8ž76³8¡;%6p6ˆ867¨767ª6y8d=@FLdP‰OúS¤TU[ZY\=\6\^\|\á]ò_uaîce<_½]øVNT[YyYôNùCŸOPÐOUMF³CÖG€I?\5"0ç.>*§)ä)Q-£,j)Y2Œ8}. *¿+h'ç'«))ž(ó&A#$Ì*¥-ã.¯-ì0/€1.¬1ç.ÇÕ)Ç)$'í*)(ˆ)'±)‰)a+j+¨-$,Ú.'.ä/Ö12 4ª6¢9:v9á8L= BãC)Ag?F>G>æ?>>ø@¥=ìA3E†CÎCˆBøEÚGÂI*KKðM¯NnOºQ!R›TbU¥XgY&VÔU4W¿_(bÐbbicbÕbÃbÁbbÐcªc)bßcÎdeUdàddîfPgg¸jlk°kæll^k“iÐlŸmrk˜kUl llflÃlXn¤ppqq)q]rrŠr÷rAqçqŠqoto|ojnËnõncnImQl+kþlFm¤nZn|l±iµhÎgÚg&g)fâf–ezdêe]fAfgdÚcjb a(a `Ž`ˆaNa|`å`ëa&`«_^©^m__›``f`™`©`õb.b×b`ê^›]‘]^]W]p]\[xYaWSW;V¿V0U¦S4QQP?N²OƒQŒTTÙSÅQONâM€L+JH²IÒKwLÄKÉIAGJF½FîGHIIÊI¯I•I€IgI¡JÑKpKEKìL€L­KëKBK7KJdJ`IµHÑG7D«A³@–BuBaBŒBA6@†@"@¡A®CœDuEEÆGXFÛDe@­?Š@PAæD{EÉC‚@LAk?Ò@ÉAÌC’D¼D&G$EÙF DGC CÉC¿CôCˆD7C~CÚBBRAC>š= :a9>5÷1Ý233[52w1 79r>AaEYJ¦KLåLùL¡KÄL‰LÛLKJÇMMÁO,QT·X¿[0[xZSV¶SAXÚ`aa}`»`ä`O`®a!a `g`Â`¿_<]ÿ\Ø\í[YÝYœXpVßU¤U>TS.RsQ¦P¬OŒNGLéKI³H F¬DÑA°?ï=Àà<¨:Ä9á8‹<Ó?â@I®NýQ>STBV†XZUZzZ8Z[ƒ\ ]›^®`bíc=e×aë]GZDZÅ\¬Z$XR1PÒIüJ”Q;MÛN2L¨KàLNI>Ó40ß0“/D+)Y& %ª.…77«4‰-î+³+#*,¬0˜2À0°.Ò*<'H*â-ø.m/ï0`0ë151À1j2›/!.&,J*y-z,!,Ü,1*™*#+ +p,H-*./I/i0ó1O2Ý4p6û9}:b:$:‡?%CCÊB@??†?Û>|=¬>>ðGH´G>Eš<ø=´=×;j;¯=îC-EÍH†J™K«LêNhONP6QÆR§T“V X\]^J_Ma*b˜c#aûb_cZc`cbÿbÙbãcÃd£d¹cµc¸d9eBeldšefggóh`jrlÉlŸmAmIm5kj˜nZl jIk¯knkël`mµm{l–n·p‹pˆp>qr6sr¸r‘rRq p’oOn¸n‘n^nDnmèm¸lål‚m{nmånŠlôi|h–gEfBf±g™g«e‹d‘e>fˆf‹e¢e"c‰b`™^Ø^|``Å`Qa `÷`‚`$^è^~_N``­`Ù`Ða aˆbc bž`»^¿]ú]×]ù]÷]9\5[¥X–VwW4V©UòTrQ1O×PÀNåMãO†QiTSÆQÛPZM KOJ3HG2IJ,J†IÕH;FRFaGdGVGûHÿJI™HãHØHþIRJÀK²K¾KçLELKKJ”JÞJ™JxJ>IG¸E_CÜC&B…A+AÍA°A8A·A¶BžD–DÊCßE3FjGbEöBN>c>Û?õC¦G&C:@Û@ž>L<ÿA\AbB»D G€J EG D£CCßBgBV@ãB«AŒ<>:+755„54b4p6™CpG¿JëL!MÅLèLrMQMuLÊN NaOAQR¯TgSÄW[^[¹\Y\èWrT¡\z`¦`n`zaaWap`ß`Ða `h`R`3_¥^r][p[¯Z‚Y8XÌW U‰TÇTšS]RâQüP¤P O$M¼LUJÞI)G±FD¾BªA@*?G>õ>¨?s?¬AjDdAä=";ó;ÄAÛF0G"N P¸R¼T£UEWXÿ[0Y¸Y¦Zm[l[Ä\´_/`üAcD_EªHüIƒ?Ž?*?]= < =LC#FÏI¸K¨LóNÔOqPMQZRùT8UéWZY­_©a¨a¢bÍb¹bibccfcÖd=dc´c½dKd”ed›def!fCebe™g&gÐh§iYj“l¼lâm!m6nJl¬ltn'lmunŠmimlClÎmÙmmíoPoMo0p¡rr§r9rrpo‰n|n.mÖmÉmZm»n9nenWnRnqnnnnlhögKe›dÌeÛgLfydÈe?eãfe·e|epdÖcËbG`R__Ò`/_²`:`{`Ñ`f^Õ^__%`%aaRa?aŒbIccmb¤`¶_^+^T^Û^¼]ô\~[‚X.UñV£UÅTÏR†OO{P¶NL²NQ8TkSP÷OßLšJ‚I.FýG+H·IlI~GªGFÊG=GÅFÐGËISJ4IÞI`H„HkI3J¡KÝLtKØK¸LqKÅKJJ{JAIêI GRDmB~B“BTAèArA´AŒAœAÎAëCÌE8CQB¥E´G:G2Dš@»=~?ÙDF©F’D&C.B–A‘@R>ô<âEHGDvA I EÅBºC?ªAAAqBæAA@ŒBãCRBÕA¶A@ú?”=p;\9×84Ô6:*=S> ?³AßEJƒL{L MN4NP5R$RÑS¨U2TšUyU;T]WµYm\]C[£YY®_¡_æ`ËaúaL`Û`‹`Àa"a¹aaŽ`Å`j_N^U]ˆ[ÐZÍ[Y»X>WQUÏTÜTSyR¹R[QÃPèP%N»MŒLK£J–HöGÜF¢F@EºDïEF^GFHåIÝCˆ>ª=GCKiP3P!O0TˆV#U¿VëX@Z^Z•[Õ[~Z™\¡]<^¶`ÄbXde c‘cºcv_ú^]¸`DZôT±U·VxS=Q…RHQÂOÌNêOÄM E8<9 3u6:M81‡1%=r7í5Æ;ö?<4·6Q7š6þ4Â1ø/²/¦/g.Ó0 0“1l1D0ò0l0Ý/w0a.Ý(+±/è--~-¢,Ä,™+B+¯+K,-I.Ö/l0 1J23u4ñ8:6=Ý>R@cCˆDIC¤B@³@@™@(A°ACÿDÌCîErH#I†A*=Ë?À>u< <þAûGxJÞL·N}OñPQýRéT%UnW XºZé`Ša£agbjbbbób’ccÇd@cçc÷d7dneXfe¬eešf'g gšg0fëh@h”i%jjùlÂmkm…möoDmLm¾mël-m mm­l½lm)mün^mþnÐn˜nàpxq‘q®qÖr…qŒoËnÐmÍmÂmJlølýmrm÷mùn"nSn:mùmïm–lyjÈhgf=epeDe+frfÂe*eewe`eReejeeôe8d[b_`_P_+^à^Ø_É` `_t_2^Å__Ý`kaaŽaßb—cMc¹cŸb,`^É^Í_d_Ž^Ô^]d\3XvU¹VŸU[SQ0OeNÛOANáMkMÕNÜQ’TîSP¢OÞKËIJ$IG~HTHyHçHïFNEçGG¡GHFMGH J6JI‚I HPHäJJÈK[L1KçKPKKxKJÑJöJÛJ—I'F'C‡Až@±@Ë@Ý@ÕAAÂB$B1BABûDñE]C—C EbGBFoDAžEIF³F%FÉG|E F FCHA¤CÉJJ«I&IöIG¼DkB÷DÊBáAœB­@Ý@ŠAAÑCCøC÷ClBGA@ÍA?Ï<ç;B:9;Ã@ @V?b?§@(BfE GŽI÷L|O‘O×O’RWTCUGUìVäW~WBW5UyV.VƒT¼Y\[‘ZæZ]1_z_ `­aaÙbVaÂaŒ`œ`øa[a`üa`Ù_ÿ_&]·\Ë\z[%ZGZXíW¸V§UÿU,TaTCS†RÔR(Q†PæPdOÎNåNEMsLåKýK[JíJJOJ8JÔLy?? ;•3: >5;>¼@”>¯7†4Š7ñ5È3p2¿1¦2!1ž0§/‹.ô.Ë/ª/Ä..Û./0 -«/Q-æ)j,%-—,:+Ž* +;+Ç,(+å,P-*-|.«/>0:1:2]3s4ã7°9Á<Ô?¶AúCƒCÌD*CA×@Û@÷B¶FåGÊHùL&IF>F­HÔG¸DðGÌJÇIK“L/I2IÓE§DbCôAOCLAûA@±AkC:AË@yAqE D|CCðBcAØA ?=>Ü@M@ÿA>A@ö?ÕA9BC>EZFÖIL|R>W†VòVíX5XY.XêWnU^TRcTAY%ZÂ[H["YÂ[ú^–^ñ`ŽaAa©aöa„a´a$a a?a·bQae`Ú`¯_Ë_^0\Å\[êZ˜YžY¹XµWãW$VGUâU0U8T’TSîSzS~S)RâRGQ‹QQPÆOÞO[O~OäP7QQÚR-PwL'J½LoNÑQRZRçTÈW5WuX WïXXôYAZ@Z[Ð]4]¬^¨_½`›bc¸dLcžbÍcÛd5ca³^h^V_x[,WíZfW‹WRm;O6=>ç>0>;ú9 5L4ü7%4ü2(1Ë2+3é2ñ1¾/Ú.x.ë.-Î--±-à-ê.µ-_/A*’$©*õ,Ó++,)+y*„*¥+8*Ã,!,þ-z/*0U1Œ1Ð2ª3Ó5^7:n=K@"CBÌC"CnB¨B5B B+A`BwAýCZE2EAG‰EåFHGE#CA=ê>¢@<ý=+?BF5KáMÝP`QLS5S÷TTðUÊXZo[O\L`ebübzbpccGcc?cod(dÞdÛd©dõe¯f1f²feÛfaf…g0g¹hæiÅi÷jj˜jåkl6lémpm×nµoxnn nõnylák8n^o3lgl˜m.nLn.m€mRm)o0p•oßnÕmÀmkn³nînm¦l>kþk¤kùmmumdm@lÝl–këk}jýji˜gufîg`ggïg§fîf>e…eae d{dTd¦d‘d²eºe}d„dc²aÜa'aT``äa`{`_i_8_e_æa'a¶b‰cc–d d[c‰aÆ`Ð`:`ƒ`’`™_n_^õ\W¯UªU†R›Q®QDO.LQIJ“M»NžNõQ#TÞS`N;L·J,HÁJÆKJíIÔIRJmIF¡EŒFF6EëEFWGÌIqI¢HÿH)GDF¶GMGÇGŒHEHîJ–JwIIoI¼IHnGÁG;GÂF†FG›GlF›GF½DüDCøDDäEKE B{B¤DšD^C BÕEŠAœ@ÿH[EsDDJ¶JáGG¼HÕH¢DØCºIIêM Ih>åEHgEŒB6?'C×B“@§A+BµCãCÎF±FFÌDÉA¿CÞCrC!B±?þ@hD&DMBB4@†?@:@­A@BBNA&BEEuHÓMÏPPËR€TüW¿Y+Y)VwQbOSÑXdYz["Z}X¡Zu]‘]Ö^ÎaCaÇb6b—bzba `ÙaaO=§@m=f=p?\E&LHO,QRT'TIT±U¹WY©[Ù]B]`*cXc–b®b¶c\cxcmcjcád“e2e¦eðf fg)fyflg"gsgÞhiPjnjØk€l#lllzlÚmCm¸n,o§p$nµnknnDlxlon&khlmmömåmUl*l opÆp0nlm§nno3nøm¢l·k˜kTk3k×l§l¥ll¡lkojiiºiàidg˜foféfºgf´evdÄdØd¾d’dcðc¤cÏd d©eÙdÅcmdd bIaùaõa8`ó`¬``-_Ð_È`#`aa`b¡bÈc/d;dUcpaá`õ`œ`Ý`¾`a__w_€\,WçV¢VCRúR•RLP(L:GHÜM½P]Q—RÐUkS&MåMXK³J…K”KL"K^JRJ˜IF¬E™EþE¡EEEÝFƒGeI IqI7H HGFTG-GGhHI3IRFûE|EÿGNG”GFÄFÏF0F…H:IŽI”I‚IŸHFEDZDŒFîGçFOC¨BµCìC˜A™D–GóC2C–F±D;E@HkJ5HÃIÊK¬J…G D½IMJÇJiKBIòLÚJsETE®FAFAèAñAôBÆDÊBlFªGÁE›EãD‡DCCCCµFiHÉ????X?@?[?Î?;?¿A‘E¹I}KsMØP•SUÃY4X R:QUÇY•ZP[o\[~[C\?]¼^z`òaíbb)aÎbgaþa;`úaWaúaÛaSa.`*_u_0^]g]6\1[”\[ZiYõYrYxY+Z\ZÂYÅYêZZsZ|ZÈZ¹YÜY¶Y XPX,W¸UŠTTŒT SÎSäTTƒU2UŒUFV-WJWÛXÐYÁZŸ[5[‡\a\M\Î]V]à_%`_ü`abMd-côd_càdcgeædý_È\ì_Í]Þ]ÛXPTcR;K|RÁU²QëQ‡Q@N'G%>Ì7º:Ì<×<¼:f<A+AlB¾@¸>Ä=¤>^=i;†995§4f32å2v1ø1.°-l,‰,-†..“.P.Ö0 /õ-])\((ó*«&¿#¢'¥*A*½)õ,@.ƒ.Ô0611Û2«3þ4§5ü8-;=™?e@©@AAÑBmBõB”DyE}C´GœE5D J¢KÓIàG¬E¿CúB˜?—=5>&@E> =a?ÑD,LVP-QySŸTƒT²U€VÄXKYÞ[Ù]Î^!_Ìb†cÀcHbÈccðdMdFcçdJdîe„ffÀgfg[fügRg¡g­h!hŸi“j¾k¦lDlòlìlömcm!nnópoènm—k iõjÊmõn¾k§i’km!nMnl¡jÏkôpkqsoÔn©nXn‰nÅn³mKlkjÄk?l`l—l3lk¯júj/i:hGhJh%f±ff‚eed{cÛd@dOdc³cÇc¡cFccôdd“cyc)b÷bhb«bkbQaí`q`xa`Ü`î`èaI`ë`ÙaŠbÄcnc°d*dic¡b.a+`á`¼`J` _~_ù_}\(XbWuUùS R¿QþPöMiF?F—KûP+SÐW*WËSNMãM)JàKŽMMÜLúKJäJ HbF£GF|E*EÇFG£IHÿINIH>G¦FŸFíG+G€H0H*GpEÎD›D!EœGG¢GvGGþH4G÷HøJ‚JôJÉITGmHI$JKDH5DàBƒCDùB–EÕEK;TA¿GHC,HoJzIƒJFJgGÕF„F;DÿEùG{GsIÅKF®E:G FFDØF.DMCœC@BF ExHoJøGE§EÓFjEÂE?DXG!J«JRHXE{B­@%=o=Z? ?[?°??Á??]@%A­F JhL_M)OHQ“UâX•TôS3UrYî[DY¡YÃ\O^[Â\]˜`hbBb&b‘b^blba¦`ô`€aba×aÉa<`>_{_2^ó]À]¡]X\‰\-\<[¸[a[x[a\S\«\t\ö\Ø\í]m]X]\[å[pZ™YkVòTÉV›YwYWúV¬VdVœVËVõVëW%XX±YbZ;ZÒ[î\P]]b]¸]é^I^™_Š`}_ç`¶b(d cd2d×eng½fxeüb[T^F\†VU®TŽROOèR×SBRHP¾NO¾M£I_EfAm>n?<ç<ÑCF“EçCHB6@@ò?X=;Ä9ú74É4W3`2/0ö.ù--\-.©/*//Û0c/³/<2 /Ã-f*@'|(<((»)Ï*>*5+;-/72Þ3j2ñ3á4j5w6Ù8‚:ñ=:>>Ä?™A‚BC„DgDàFXGcI’IYHƒIÈL_JNIKFBÚDkAR>%<(?¯?¼>'@ðCJùP‡RfT—TÏUeVpWqXŸYâ[¥]i^¨_u`'aécc;cwcdcãd’ee¦e´ff{f™ggGgVgbgõhQh]hßiûjök÷l©lÇlk jåj¡klk:k jCih/hOiøl n*m6jÅh¢iül¥nmökïj6jçprpn­nm|mHmçl¡kyj¢j³k^kÎk¨k{kuj¹iýhüg½fÎg"fäe¦dôe-c¿c¹c²cÒdc½ddŸd½cÍcAbäcsc bÞb´cXb{a%açasaýb@`ã`îa6aZaaTaªa:a"a¤aûbÂc-d e@c°ba`t`Y`\`_¹`_€[ÙX;W¾TGPóP¤P›PMIG.F«JìQ³Y…[ˆU7NåNåMÃLÛJ6JèMcMMÐKóJÃJƒIS= :Œ9Í8 65Û3Ï20X/·.¡0`11…1D10Þ/›/ñ/Ø2/õ*n'Ã&Ô*+Ê)¦)ë*€,-Ž0™3™3Á4Ý5F5Ü6â8ý:Ùc\ctbÏb®c[cAbÝaaa;aQaºba/a1aaya-a5a`«`i` `B`~avbÐdêeb§aŒ`ˆ`Q`<`_½`0`^ÛZ˜WéVPôNÞN NMÏL FèHM`U{\ÀZRçM²M?J»JÄJJñLþLÈMØL/J„I"GiEæDcDÊEDšD7DÑF:GðI‘HéHsHoHF¦EŒEC$BhD¢FE)D~FDHI³LtK}K&J/IYH F1HK NPQGÜIGˆD)DíDãCT@àD•K K|LTK£J¤J7KÄGÉDÒB¼?^C˜GVF®E²Aá? A @ã?jA»CjDùF^F~E8?i="A’FQHuKE³DWFMFXH¥IIÌF€DvA‡>ÍD?h@ÏAæBBâCgCŽDÊGrJ°MNþP™RØUSV!V VÚZ÷XªZc^Ü\Ý\Ö\>[ÿ]Ïa‚b¡bCb`bEb~aõaŽa”a’`0_ü`Ða`Ça0aI`j`^`}_½_°`^Å]´]\ç^ `$aUa¨b0bÃc³ckbØc‰cvbÈba“_^â`f``³`Ã`r_¨^\»[’[[l[U[_[ Zî[[?\\x\´\Ô]´^f_i_.^®^ç_i`UaLbtdcódÅe†dÔf;hfÃd»d´aÌa_,_Õ_?W[T©O§MNçMöN“JÚM•Q'N¤R=RNúL“K©MNŽO%JmDëC=A¼?î>J=k<§<È;Ø;&;c9ß97,4h2¿2¼0S/µ1Î34H4)2f22¦1…1\1§2ý0³*Æ&l(*i*¯)­*ü-‘+€-ù/ù0ß436‚7899ß:öž@bBJDpF†GmI8KÕMè=¨;ï>>Ì@0A3BMCDWF?H1IKM:NÒP8R(TGT¢U¼WY¨Yg[×`â^©]%\Í\ï]æ_qb‚b¡bMbKaïbb'aúataÊa€`}`+`‰`ä`é`{```>`_©_^Í^]ã]Î^ûab‡b§bàbzb¨cc7c¬cécðcbàcjcÀddçdñd|cÜc3cQbai`Ž`._^T]ñ]±]a\¢\¿\±\Û\ú]W]6]›^U^ï_~_^ç_ƒ`Ia®bœc@d?dŸeñešecfphg/e"d]d cca`X«TQlOêPÛO"MšL—MøL£LQtUÒT±V¸WUSPãP¸QHK)FûGdGEgB“?}=®=\=R<×;: :9x96I3ê42V1­3ƒ55Ý7K694f3ˆ2`3•3 3‰44t1c)¬)k+Ô-@+Õ+,+z*°,z-ì0ä4¼7Q7±8¸9¹9A:\=?ûA C F H^I}IIÄK…M£L¯M#M‰KÄJG;C–AQ@ç?=L;o;ÿ>%?(@¥C¾G¥JMNôQ T«W*XöY!Y™Z%ZDZ¿[’\s\¤\ß]ì^°_6_ü`áaaòc3dhfg£hgÿgêgRfúggg©h$hîiók—l¤kŒhŠf¥f`fÁg€hhšiejŠjjfkIk­kãkÜkºj‚iái4jlmimk|iTg‘j%oJp6oòo[màl¢k^kj>jFjj‡k$k-jÑiæhìg™fäfeÒeÝeíeõe·e7d8d"d!d7cÑd;déeedµdˆdcäcÁb`aëbéc;b²`Œ^ï_Š`Äbbybb"`ä_‚^÷^l_`•aÃas`š_ÿ`ga÷ddQbQa_í`_ú_Ä_n_5_Þ]ËZ§WUõRÇOdML)LQIKI3I8PdTãUOPÂMÝKÃJ¯JˆIæJÜKlKÚMNåS.U OÍKìIEDBÀB¸ChDDBCøCîCCËDEDxDCvC’EøFáEDÀBZAÝADBuEìHAIÑLXOáNtIF{GÕJñNËNsNˆMàNúQÅQÈSWSµRÄJDFãJ£LTG½GHFáACB…?¡;E×M¶M/K¬K©JÐHÓGsHSFÇF&F‡G7J'HôH_H;H/Cü@æAßDˆF…H³G‹CûEiAÀ>…=Ä@£@;@8D×J*PSKG§GECA??ñ?ä=á?K>¨>Ó>ƒ??@A5BD5F×HlJsL2MþNÄO¨QïTTVXXóYè]R_’]¹]h\q\Í^@_WbšbŽb3bÉbTb˜baáaG`ïadaG`C`#`Á`¿`©`¢`q`h`_Û_S^Ø^À`ib,bºbˆb«cc c¹dSdydYcœbóbb§cgcŸdLdÎe eCe«e¬ebdùdâcb¶bYbkbèbqa]_Á^á^ð_¥_ _Í_¥^ä^^Ì_3_Z^ó_k`'a]bÝcBd«eÉfBeÕeèf×h{hfIbìb“cšbú^…VðWªPUOÈRNtPëMÄOæOK|Q»XŠXÇZ"YƒVâUR4PâLÜK’JhIfH”F$C“@>0>+@‘? ;:98e65h64á44Å6'7Ù8Á8 76Œ616u66‘4¶4“53'0Î,‚.d/Å.².Ë-$-M.¶033Ã8n8ó9M:Œ:/;3>O@îCEèH@JcL±LšJùKòN‚N•M²L|J¥H©ETB@<>Ö<íÖ>ø?¨BüG¡JÆMQMOÆS“W’YÍYÉZ=Z¿[*[_[X[Ì\-\]](]B]µ^]_˜`ïatbc6dMe`fíhhÛh gÜgÈg8gÑhEi&j8l(l`jh[gfifnf¤g{hQi/j j4j³j÷kOk4jájâj©iØi"j²lFm)l±jÍh†g(iên>oËpæqpnàmÜljkj¦j4j³j‰k…jèj igÐfôfe‚eíf6eøe©eÈeMcúc•cvcéd dd±dÃdˆdxcãc´c¥c«bùbÄc"bZbŸa6^ˆ^à_Ô`ua¼aÑaæa`j_'^’_^`P`Ž``—`‰a9aÙb»b<`à`1_¹_ú__š^¿^¿^y[»XöVwT|QÈOãM(KIÆH§HéH˜I‘N~UµShLZKÄK©J…IÃJ|KéJàKÍO Q)TÏWkVTOyG'AÏBKD9D÷FœFÔD¨C7BÜBÓC#BÒBáC€EZGnGF¤BÚ@ =s=©B*H&K­MÅQO£N5M1N@OÒN—LCJ‘JÌMVLßJ[LöMrRÈR­GøFÑJ·K–IÏIZIþBÿ@ˆD>@X@ZHL GöHGÌHnH»I!HzGÞJJ¯IôH€GÿFE–D0BÒA·A³B+E²HG:H7Aà<ô;›;Û:Ù>AíA·MHõ>¶CÚFóCHA\??@¢AW=~?@áA@X@Ø@¿AmAíBqE*H\KALÊN“PP½RS&S/UWcZ[\º]Ñ^C]ô^]p]Î__Ëbb.aêb;açbrb b0ba`Œa[a[`%_E`aT`w`^`ÓaOa[`¤`‚a#bob­bðdd»díeIffšf³eŠd¶e&d cc}c1cc²dÛdÜdÏdÈe6eee*edÓdd1c:b>a‘a½bb&b;aýa|a`!_°_^ú^™_`,`õbIcKeDfgg@gFeâfFh»hGgàejccec¼_Ñ[ ]tTèSTVSšRNP1ROuRÙUÐXµ[G[R[ÚZQZQU‚QJOÏOqNNGNL5IþE A·AdBì@C;K:19K8W6ß8¬<ß:í8V7Ø77”8Æ9j9%8¬8ö8ó88B8P7—553—1Ê2o0I0À2c/ã.¦/«0’478è9d9ë:ñ;û=æ@0BmEHKL£M¡ONiM!N}PNKJI FrC‘@j>u?>ˆ=;í<Ï=é?k@×BoEœIÚMbMÌOjS;XFZ\[[n[j[x[“[ [Ž\\´]o]r]Æ^^x_G`Sa6b+cad•fg hh¡h”h|hQhMhEh÷jlP™QµT0U(VaT½PìJ)C—B>AøB¥C¾D—ECóC`CUBAûAàA†BPDXE?„AØCFCCBC>C•B~CFIkL.N ?"=S;79?8\8Ù:º;³;¬<ì=¨=;ž9ï9ÿ8M66C525d3ö0N/¾11l/é001b2Ì7$9æ:´:Ð<|?¦B CÎFâJ.KÄM]MðM©M}MõN5O%OLfI(FCpB.@ =Û>o= <<^==>3@‚@éBIEHCM5N~O#R¼X/Z¦[­\-[â\x[Ô[ˆ[ü\!\\æ]"]„]ç^f_/_Æ`±aa¬bzcïeƒf(g)hh hh™ihÐijCk•l$lk6iSgãgrgwgìh gøgÞgËgûhZii‹i‹iRiéjsiójDk­l-k‰j j h÷g i?k$mÛpvp@mñmvCOJOÈKMHžJ,HßF6EõGƒGÜH0NO˜OñT9RÇSVQöNéKGWDp@÷@2@YA…CBC BhCCžCrCBÕCB—B'BBúCŠC©BÜBÕD–JCN"ORÆT€T‰RÛR?MŽJŠOÛQ)R‰RóQ›NzLVQÎORèUŽROòJ€KèH€E E¢AšDüEnB¯C§A{A©B‘E†GðIªKÑL JkHàFEEGÌH¶D CéCCCæBdBVCWCiC*F”FÜGîDJ@A? A2CåExFªK«MõBPCMAèAAG‰C¶C9B>j>¬A[C…D×DÞDD]D~DmC¯C@EvHMKMvO›Q‚R?SR¬R€SyW[\]]„^L^¹_e_+_‹`m`™aâbŒbâb>a€a¸aÓaÜaýa}`ä`K`$`™`™_å__¡`kaa?a¹b*bQb¸cNdÃf«fNffheÛf&fßfÕf¢f;edþefeËed´cócÊc[c‰ddãedæd§d·džd_dddLd”:Â;…=¹>l>·@I?!=ê@§>ý:‹::e;´;Y:Œ=7??ï?¡?=†:,8a7Ò7 6Ø6å6E3Š2n3Æ33°4¬4ó7œ:p;;y> ALCêFåJVMM6M(M¥MúM…MâNIMÆLoIÙFVC©Ae?¬?5?`?ª=ú<â= =ˆ?5AlA%BËD4FNLôOO‰S"Y [d[Ô\d[ï\k[çZê[[[ô\R]G]O]î^ ^E_o`n`êaFb#bªcfdke·fñg¯hhh!i=i˜i3i¶jÂll j@h¬g]ftføggghg•g³g­g„g«hQh‘hg·h¸i}iQijûk~jìiåiãiØgýikn¯q p,mâl‹kkˆk¬k`j|jj;i.h‘gèfÂf.eøeËføg\f7e_e*e¥d5ddãdßea‹açbPa¿`£`z`ça!a5`p^É]I\ñ\X™V9S÷SÿS[P%J±FÿDv@ºD…B›=—==CqJoGÙGúI#IG’I´M4IüG›NˆO¨OhSO·OP^OzM-J»G£HCŽ>b?¼ACcC¦DEoEQDŒDÄCÙBcAÆC¬F>G¶HäHèKJMIQrU¸VëWTWØVbU\SLIŽKýL4LñQQàNZJ±L8MçSUeWÂRƒIùHõG…JæHÓC°E!E–DCÐB¥D`F!GH>HJ I·FÓGfEöEÁHGI$G%E,BÓDÞEŽEQC·CNEýDlFGHÕEOC»@Ó?ÜCÆAçC8M|NÎ;BAMEÖ?ŽDz>ž?ŽAo@HA§B½EEvE¨DÞDÅDìDíDCòEáG×IøL“N²P©R-S`RÍQÊRÖVY˜[«]Ý^‘^ð_­_Í`;`Ú`ñavb%bóbZa±a¦aB`ýa0`Ña`‘_è_Ú_ù`N_­_n_¶`¾`îa€aøb«ckcdÌf;f=f’gf§eve]f2f‡g*gÌgfífÎeÿdïdˆc¼c¬còcŠcÅdqee4e d®d|dJd?dMd.dUd£d©d‹dwdHd8cåcŒcjcba`Š`­aapcHdÌfTg«hbh f“gïhQhkh)hti.hÊh-g¾fdccLcp_ü\)W`VJUíUæ<>">Ç@îA·@L>˜>ž@°@=´;ø:ë:h9s:<@|CÆD­D A;>\;{9'8þ8ô97ª6Ø89F9a9ž:;4:¤;ú=á=G@$C¶E÷I­M9NN^NŒMuLëL¾LKöJ¢HHGåEÓB¹AT@•@&@¦@Ç>ð=è=Ž>±@›B4AïBÌCyE1KçNàOÚS'Xõ[µ\k]¢]?\½\Ö]!]g^(^¨^ð_;_8_;_ï`?`ùa·bYb¸c%d.dçe›f$fÞgUhFhkhhÝiÿjUjÝkKj+ih›féeÐf¦fõfÂfœføgŒg¥gagªh gyg[gùgêh§hÝjTjÝjxi?iÀjíhÔhãk¿oÎqæoín8m$jÎjÑjäkj&izi¹i8hHhg¬g{hGgÑfÉfÕfPeKe2dþdžd+dõeºeÅeðfg>gcg g¨gãg8<È=ÀCüEåEâFâHJK\JGJJKGîGNFOFMUNøN"OgP¶QIOlNxMÊPýSNJDíAv?µBBUC.DpD¤C´C^CCÖDIF!L5P4Q°R3T\VÕWJY–Y3YÿZPXÃVËUÝTÎOtMhLWOšNèL‹O}NMOÿQ…R S¥SsWºT»RAO EèGæD @XByC¢FŸF…FGkHxI¥J IcGFDpB•FˆHiHJWJ¾IjGðF‡EÊEIDÉF;EKFÅG±GˆIOHpHˆF'C€>­;t@zB”DE­JøH<žCpG[F@GLAÔCoEF Dï@ÈDlFEÅF0EcDèDÜD×DmEsFÏHêJ§LkMñO¯QyRwQäPþR“TpVìY[B]Í_<_Ó`I`Ýa*aha{a•bbˆaÚa_a)a0`´`Ía;`˜`š`Y`_ƒ_Y_{_Ý_Ë_?_Š``õaNbjcuc"cÛdâeXff=eÉe­e™e¡eEe’f@fýh,ihÇg‘fšeße9d'cÏcýc†c>cµd[eeTee/dùd’dbdjdVdKdd“d¼d¯dŸd®drc¬c)c buaøaÚaÔbjbRbßdÀfµh1gôh™h%gÑh¤h%hh¢i3i h¼hÇh…hSgdfd&_¡YNUðUqW@YÒYKXW÷X`^‰`4^Ø`[][^¯]ÖZ-YEQýM¾MŽJZIlGoHµIDýBã>ó?l@b@ÁCÁD,Aô@]@?¤AA=É;ß;%8Ù8€:[=¨BÌE0FÖH†F2BÒ@:=Ý;Ú:c9Ø9k;²>!=è?0@‚?â@ÙAP?ð?¼? ?ÚCVFNHšKÜNÕOKO!N$LÙLIKÎJµIÊI±GŠGAI¦G‚CAžBB\AûA\@P?‚?>@+A´BÔC3C[EEE GªM¡ObP­T!Xl[|\ž\¸]]^)^m_j__°`Ì`Îa5bbbÕcEc6c[bàcFcíd6d1dGdýebfXfþg¦ii?h¸hýiÃiüj2j7i¨héhEg(f·g‡gÄgrf‚fpgtgÈg(g)g|gyg g)ggfg÷hüjKjsj†jQj­lqmk2jmzpžr qpmôjÎj”j±jÌi™hËi7iXhgÿh¶i i·iwg0eZdôdZe!e[efe©e¿e‚dÊe°g;fÁfÏgêhfÑf‚fWf[geÇdcc”dÝe cxc¾ddûeŠeãe´e“ed³dêdûeyedþcYaøajaþbbaÚaocdidçcÊak_Š]w](\2YWŠTÿRPìOzN^M3J¿GÜFD‰A>i>ã@½CçEDYD²G-IÙI7IdJ7I-H†M NÐNYNœM4P-Q¶R_Q:QºS-U!TtO MëI—FA`>ƒ@S@—A–@Q@BLDYGaNÚW’ZæZ~XîYyZgZo]Z/Z‡\_[:Y‰WW.R¼RÉR0Q:QïQ¤PBNÆPoQ`RQ¢QëPÝT¾TU9PÿBÌCsAÒApEFG9E³G;J3JÄIhJcK"I’G_CªBšF¥JçLxIF>GVHèGiEÇFbWa:aa’aÙ`ˆ_×`ø`'_Ï`_£_{_Ã_¯_®``` _¹_Ò`da‘b*bÖd3e"eµeçeie e eeYeSe£e‚eÞghŒi³iïixh$gBf¥eºedcÛcMcSc£dFeeWeQeye)dÚdñdûee eedïd¢d”d9ccc bñbƒb‰bœbàcpcÉegfÁhShhqhÈh ikihŠhŒibiMih´hKhíhŒgIeyaÐ` _[ü]5]MYæ[#[TV[~aaaÒc.^º_^Zo[ËV´NûK?G`H}HFÛEúE4F–@þ?Š@@·D$EsE C.A[ABùC@é<Ã:Ð:S:–;ö?mD9GIJ¨IÅGÎEÔB¥@R@?1?WB6AýABˆB¼B“C}DÔE«CYAvD:EÈG`KWNæPŒP8P3NÂM?L»L JHH—H©G}G H(FUCÄCBC\DzDŽC²BAAwBŠCÃDD¥F(FÆE GøNSOæQÅTôX[Š\´\Î^^ä_+`4aaÜc"cdee™eÿe¯eêfeYe7e(e ee^e±e´f f×gXgÑhÙi·i h®i^ièiçiµhøh$g…g†hZhRgîg=f«fágRgg‚gwggggøgégåijjjÂjçj¯knmTo m3jOmìpœrpqoËnõkbjqj—j‡j…i‡h½g–g3gœgÏh0hYh\g„fd³c‹dšeEeÚfjf1f&dède eäe“eógdgõfÌfœf~e©f•eÇb@a‰ef¶feßfAfŸeÖfkfNeÿe¼ee3eºfÆf÷fºe*c%b:b)aôa˜b[bÀcud»ec·aF_B\É[èZšXW²U?SQuO›OMI[F!ED AÌ?™ARC¡CêCÐC=EsG¢GGŽI$HõH GJöNSPQÒMãM+MFO>QåS¸UUÄTYS|UšU…SœJÍEªBD>?\?W?B DnGœN»W\[Ø[g\X\\Z÷^9\àZf[\YM‹IóIVJIK‘IQKÙR0PæOÀQ4PãS¼ST’QßR%RœQÅQ¯H B ApDLF]GXG”GSHÚI"J¿KCMÌMãJuFàB÷CE6JLE÷AÔDVFE°G1GiIùK¡NiLDMŠL$?áHTJ E{EMF•F$A¦ElLtU¸LÉHFƒ;-<?ÜBaBFF=BþC½A‘ElDãE F D˜EDDcD¡FZG¯I[J¤KöMKNÞP OªO÷QLTUUlUäW˜XÇYí[+\I]‰^©_¦`[`ü`«`õ`´`¬a'a¿aI``Ò`ø_ý_2___M`#`¸a"a`À`—`K`)`m`Õa¾bïd@dÓdñedÿdÔd½dådŠd¬edf…g%gäi2j.j¾j‘iCgÞg:fqeµdòdQcÃc[cQcªdGee–eÈeœeqe^e`e„etewefed³dc¨c:c=c9c^dcÆd9df(guh4h¼h˜iDi[iíiði@h iOiji#håhËiZhŒe,bgaic´b•]Ž^¸]9[›\ ZûX¸[Å`Úb‚c’a`L`Õ`d_YéQ KœFƒHÎN)N+LŸJùKâFXAÒ?;?€DHGPG£G°E!BµCöC’Aû> ;»;x;¶=p@ìDtH$JáLMKLÄJGeFrF/DïE:F¯ElDæE´E•FGvH¶I%G¤GHËIKNåQQPOFN³MðMKäH·GCH@HQI'H¢FD¶E˜EÞF±FmE!D B›DE“E×EBF’HOFâF6JeOSQJSçVX¦[Ÿ\Ä]Ã^£_C`ÚbCc³dÉeCeøfªgZgbg2g4gTgfáffžfkffff‘f˜fäg©h‘@ãC…DnC¶C4FcFuE>G HÏH„G¿HGKFNQ2V·V&S,NMQQSàV§WÖWÔY>Z›ZXwS—Q KGE‘BâB BèBªD.F+K¿TÎ[±ZÞ\%^7_]ï^‘^ [g[¡[½ZŒMßGÌKðL¡LœL•MP)NïO$P'Q­T%NŒQDRsPþQvP.O{HA¸AµE@GIIRHîJ>JPL‰NN{MÃL2GÍCYpZG[8\e]4]¤^D^î_`e`å`éaa_Ø_ä`¡`H_a__„_Ù`ÁapaÅaÒbb9b„b%aWa'a„aÃb"bXboccTc)c\dNe eafLgh&hój$k:kûl‚l9kEj5iJgîgf`etdPcácycžd{eÄfBfofzf†fqfBf$feÖe\e*dWcÏbþc†c½d0d–e fQg;g¼h@hËi*ixiÕják jài hijNiši¦iri´h›i-eÿ_`b´eeeÁbïb‹`]Ó_U_aubHcc a“a«b²a‹`ÌY*QÏOìYöa—[è`aŠW«QSQO%MtI¼J2L P L¯FxHÞH¨G”E“AJ?ªBžBÍC]FaIK“N#P¦R4QKO"MrN“PQNõNMÛMËNgOPžQ0QbQkQ½Q>P2PQR@RÇQÝP‹OÎNãMùM%LK\I¤FðE’EìGÜKKpM MK¼HZErG–HkI1Jï=e=<‡;þBcHKDPæOM·JfJ>MÆL@KªGîH E$BGDYDdFEšEéBw=y<ž? B˜DUEIEnHIVG¿CtDÁG[BÍBRBÙAƒ?Ø@oB3D!GHI¤J+JüLLÖMÀNƒP1PÔQíR±S­T·TµUVVòWüX™WñXwY`Zu[A[Ò\á]¤^¡_C``;`‰`Þ`¿`³_ë_¶_k_~`Y`Ë`+_Ÿ`Y`îayaùbFbb9bb9bMLJçK#HÝF~GFyGJôKØL¬ML(KHGNIsJºLpM*MN±POðOµOkP=SUVÜYY[J\Î^P_ß`h`¨aaøbµbúcÛdNd®eOeèfogaiémÜp:mhãg2fŒgðhÁh^g¶fŒfšgMh6ii”i´jEkk kelk¦jªj)hóhKgÜfÞgdi+i fg hÓihJg4gTg¬gÉhShóhÀhÈi3i§iòjjækðnÖoOlÀkok½nÞqAstÈt6t r·mLhÂhBh g+h]g‰gÏgúhkhïiRjóh…iSiºd½g i®hºgúf‰g=g¯hviøjfk~k­i×ihÿhƒh²i&h˜h2hÓg†g2iiÞiUeàb¼dƒggûgõhkhLi$jajjGj±ipg|gdg*g®g fºhj—k jiägØc bdëd^`4a|c*`/]›[ÝZXˆVaR§NåNgKµFôDxEsGÅGGÇI¿K‰J]GßFGƒICHIIHÎFÔG–GƒHLM%MMN®PÿS}SmSvSYRòTÌWPYµ\T]*]@__D^‘]²\[[X$V{R›NPQ!NBL–KÚIAI˜Ru[õ^Î]Ø]É^ ]Á^œ^\–\´[WúOF¾IPMXMM8MÝL¤L[MÝM?OONM3N&MwKzLZM{J?GšF$EH„L¥OPjOkMI‰F¯EËF}H"H—G÷EÁE4E|ExDYA?¾>>>û>å>e?F@ÍEéLØQYMKÚK!J¶KöK?JèG†H‚EñCØIGWDjG.E}@H@•>T@CCóEžDGI\IþGCC¬AªF;EÿE_CáA=@ËAuBÐE3G‡HjJFK@KÎLNM4N4O P*PÑRRÌSˆSÞT T…UPV^W–X¬Y-Z„ZÑ[,[å\«]‰]ï^u^k^ê_Z_ê`1`f`}_£_\^ã^™`a`¦_¼_ß`>apb4bBbˆb¸bÃb¼bzbmbjbƒbºbÕc?cWcdOdcòdJd_d«eeÔgžiiùk7kólÀm:mnmlmm5mrmköj|hÜg|fWffeéf&f‡geg²gÇgƒg8gDf¢ffjfFfe)d[dHded³dýeLf=ggÈh,hŽhîi&iªjjòk9jûjÁj“håh\jZjjvjijLMXOO˜OøQ°RùRQQMRšSÆUåX•ZÖ\“]µ^b^¿^ã_€`^a=aÍbƒc[c¹d–eeyfJfgVjoVrÜpÞlii*h»h÷i]iÜhØg@f‚g3g¥h¼j~kkok°l:l„kékhk_jOih#g”hi¦i8fÑfÁhÒi°i gÏgøhbh~hBhIhÇi$iyjk llamnÎmÕkàlmOoœqisLut~rpèmÏh gEggg_h…gÄh’i¥jßlVkGj%hKlhl–fák;l^ih¹hZh~hLi±j|j¬kÖl¨kÉjiÜihêioiBgõhðiMh3i²kÒlFiœfŠg;ii‹i†iÊjSj0jj\j‹jçi®hgfêhghi-km4kÆi‡i+ela9acìdaìc²có_ì]p\Â[|Y[VCR„ON€KFDûF¹H€GªGþI3J°L!KÝI,HÕI²HùKžIÝF˜HtH9IeLÎMMËNÖM²L(MNòNÍOdRJVEZ']]t\µ]-]Í]3\™[:XdX4[F[QíPVZWWL6BÙ<? J^R|SßUéY¥\º]¿^3][6[íY¡V-QIIíKHNéMDNOqNÉMwK¶M$M¶JKÎNÅMMM¯MµK“HLE¬FGçLP©ONºNŸKHwG«GWG‹IíJ)HšF¼E.FmFÏDÜBÌ@ý>Ä?O?©BekeveüfËg|hh½i%hìi…jjŠkk0kÕkŽkùk½jJiykkÑjÜjÿj_kVk¬lXki4g·geàeŒgb·czdßdeŽd©eŠe7eAcÚcªeûeòfaf!dcÜdÁdXf‰d³a^e d`ócËc°`·bVcµ_Ø\A[8ZUV¡QBLðH—FÑG°I¡LMN}Pm(mºmùmòn^m¡l¸k½jÆiëi·ilh ggògóg´gàhšjjÇjwjPk8kÛk¢lmzn/mØlÔl0mnyp)q?råuvuks¸qxq½nèi¸iyl0k…m3l¶lk¾m‰jÍeVi#nNlohóh‘j©ottürGsžsLowlƒj/jÓgêg”jj"j@j‚k–kQk_jzkkòlemün:l hØi“jªj>jÁjNj”k1jjj¬jüjh¡hGhgÔjên lujkhnf­hgÏeïcxc9dcña^Õ_^Ÿ^„\ºZ,V¢R‘P`NvI@EE~GÁHˆFGSHrIÝM’P&QPãMðJþJGÅG×I^H™I¨LLMGM+KöK9J®JìK‹LÛP~UYV\]’[áYôYWóVV#XéZr\ÁYW^[Á\ôcjf¼dÐ`Y3VTV´Y~WaKÌIP­V\\¡WÙY´[­X¬VWP+KIòIFÜJ#S[P9NXQO%NåOPHMÚKÄHúDŠD‰CÅEqHXJ,JxK K“H÷H¦H_G¼HuI/IÒIH‹G(D×CAÔAP@‚@¥A-DgG_HkLÁMLJ«G'C­GÃKQJ}KüJ„GÙIGGµEE E2DÃCB?¾?¼A.BEtE9FrHóKO¢Oj>gÚnŠnÿmo–pµqíq•qÞpRjþlYk¿h g>fhxgÔh§j3iVhBh€jujUk£kl­oRnSlDmòoiõhhüiØjåjAiuièj«k]krjuhúh×jœm%n3lRõRtS2V¤Y\\6XòZ[']I`tbãbƒcšfªc–bëd˜aSDKLkOèVÏ\T^'[7W°VNW†T[NLN½J EÃPRûQÞShPwNÜL¥LýL¼K‡F±BDºBìEôJµI¾IJ÷KºIÜI7IdHgHVG‰FÁF^G·GC¬Aj?³?‰?—@™CQGI¸LüN\HrG×F°BÌDICB6J÷LOG‘LšJÒHF€CNCÕB@ÿADEIGGÛH•K‘NPHP­P¾N:HÄDöElG‚F¹E5DôFïHýJmKåL9M‚MÞN{O(PP¦Q QzQÓR.QÑR¢S+S RÐS2TTÕUæWWûXªY˜Z›[&[€[Ô\I\ˆ\ò]Œ]‰]k]¸^U^Ì_—`_g_`Y`m`+_Ø^¡`ahaªbÏdcÈcåd2c¨cçcãdc¯c…c¹cÖd dre,eSed˜dÞe^fagÑiTjùl1mXn,nãoîpzp¨p×qpÞpÊpÕpÉpªpmp¢p­pQn¡l)ji‚iWi‚híhgh h(h(gžg.f¸fLf+fPf@fvfêgfhh‡ii¼iÎi+i±j½k§ll€lšlÚlúl–kNj£käkšjöjok—lEl”l"kjhígf]]]^]b]-]†]ò^­__]_þ`c`t`§aeb¨dZe}f gýh˜ijñmÄquDyzÿ{œ{|yvgsÃro¼m^ml¾lÍnVn1nŠo³o+nÿo›o?nxmÛlxl³mm]lÅk/jhwiJj¢j5i˜iKÇH%GÈG?GJØL†MM“MBMÖMLŽLKPKÒNÅSm>1ADóJáNŽQPPªIGIFÜCRB­BŸBêHçH;CHJI,G¢F¼AŒAóBAD@F}GaF“IIÊNPQPÖQIQõNÃGÔFWHªH G2EÿF»IUJÍLbM4M½OOeOäOÓPæQžQÏRžR½RR&SmSrSS-S“SâT°U’VWXªYuYªZZá[É\ˆ]]]þ]Ì]X]w^ ^É_^ù^±^À_Â_Ò_Ä`>_À`Žb¥cbƒcúem¯pâqYmªi`hÇkk×lBl¤jÀi¾hûg™dãfdhÌiªj_j‚k¸k—k!k jûlýn^mÚqoXl±njm7j›hêk¬l6k™lFkÒkgiÜj¸l0mšpŽrŽp}ppWmjk¸n"lh¿h,eÛfËhVh×fóc"]Ô[[õ\{]\“Z¥VŠQüOöJFHK-MiIeG{IœIXJMLËOˆQòSOSPL,HG[JGM“I‚G­IˆI‰IAI¯IiI…KLUJGïGØII=F½AÓ?á>=WA¦F^N6S QM«IÙF”FC1@ËD$F5F_GòI L›K^HiFÎDÕD½BNA*@/DøFoGIVJâO„Q;RRQeNÓIÅJ;KœHšGŸG“IBKKL†M-M9NŠONOŠQQ£RGR‘RàSnS®STTÎTMSŸSES·T%TöUÛVËW®XSX£YY±Zp[T[ó\\Þ]T]b]*]‚]ò^‡^Ö^¬^È_‘`__R``´`íb2c}cdeÿepe2eBd¨dd‡dÆee/edÉese£e¤e[e eBf.fÒgÌi²j¾l‹môo˜q?q¾qÂq°qq8qpépçpÖpèq q8qˆqËrq0omk«jÑjiÜi6hËh¹ihÝh#g›g‚g[g@gNg…g÷h³i'i¬iäi»iFii¨j­kélqlémNm.lèl“kõkLkšlvk/kKl‰mkl¡l'k5f¥fg$gÔfjdþd}dehÚkHm—kSl7kÇc8f£d“dph¾išiRfsg(g¼gEh"jòjži¥f¿f&e²d£b]_XÓY[AVíSÎUÏT3OOÇQ/P§PRŠSSˆUfUˆV“VmTÒUzVûY¶\H\A[[×]©^†^Ù]Ó\a[­Z÷Z»Z7YëYüY´XoWÒXdVÓU1TeQîPÄQ;Q@PäQP¼QJQ‡OéNÔL˜K­KµL²MbMlN‡Q3R:R'SWT|UýVðX.YYéZ`ZÞ[m[ì\ƒ]]’^:__­`Za,b7de¯gahçj‘kámQoŒr¸vKya{Ô{¤{|%{½xÃv™uãu·tòt¬srq¬q¯q¹qr"s6rzqËqpÈp›n×nbnmÊm±m mmlRjÏjßk”lkljukªlBkùkÛk˜lœmÎm÷mémÒn×qÃuqtïs%tµw•xxwžv‘utu@rÖn¢mÆlžlimˆo”r,r7q6roðnÒr7o¥jÙi½i^h¨i j„jªgðeÚfÞgÓj`i>e•gÀjßkpk”k[kMkßk«kJln\nSoÖrr^ssqnŠkwlMmrn5n@k—kkìkÏk®ortøu&spÒmCk}mn™iëfÜg(gðhágôhžgødh^‘Zâ[\;][ÈY VªTLQŒMbHÆIÂN•OàM'L¤LìKFK¬M1N¸OÛQYQˆNÕLmIÇHHœIHhHÅI€KM9MSN„PÂON•O¯NjLèKžLqNM¡KQFcDbDiEE€D'@ˆCàNèWÊb=h¥k’jvdIf%fª\SgIs>aAG±MßT"UˆXZ-Z•X½TñW¥YóW»TŽQ%PNHN³N+MtOQLR7NÅLÙL¹M)M^L I H©JEKKKqIvGüI4KÞLtL6KKJîLaO OYM KYI–HdH´GœC¬AÄ@ ?4?ÆB¯H¹OoRhM,IˆF°DäDB CúF DëDGKGÁI)JjH„EžDsE»C²C†CDõF“GyLPQÄQÔRÞR4QÓQNL¡KHÒGªGSHŽK~LlLæM¢NàP§PàPQñRðRÇRÄSˆSÈSŸT"T©UiUJT¡TxTŒT‘TÃUWVVÝWœWÒX0XêYMZZÜ[Œ[ö\S\ð]0]]j]ó^e^ê_X_…_ó``p_ä_’``~`xa±c´cÍc¼e»f‰e«e8edãdÒeNe×eõeíezeœeòeeree¸eòeúf1gòi—jšlªnªpér:rTr^rqÆq•q(pÈp”p¶pÁp÷qUq€qÜrRr~rqo mk®kj®j2ihÅhohvhihgägÞgùg¢g gðhEi(iƒj4jxjiÎi2iniæk„lÊl¬m:m£mŽml^l,kÈkãkÍjëkl8l²lpm jf”hg»gˆgeØd{dafqj›m"nwmj jÐe±eõg_eIhâiçjðj"jçiîg·k`kˆinhHfdeþbºa«d`Þ\ÿ[;\ÅZ,U,UêY&U;QŠQÄOµOnOPP×Q£UVoV›V“TøUX8[ƒ\V\…]½^+^R^u^7]É]r]+]\ù\:[IZÏZ[[.ZÎZXÝU§T­UƒTüTŒU‡TrS=SÌS}TuTNOHL®KØKO%OÙL¥K+LðOP°R SS_SÿUJVKWjXXìY“ZRZÿ[ž\d]!]ù^Ý_¡``ÎaŽbÀdRf%gäi©jàlƒn4oýrˆuÆy¾|O|î{›zËzã{ zJwÖuüvªw&v`v tÄs}rùs1sVsosÛsÏsçs qêqÌq¦qoÑnhn°onm¾m£n(mëlîlmll­m m‹qKtÐtfsés¿sqïp$mHm;nîomij²kelkÕlnq?uÃvbrnl'kblxn4iûg‹hïiüh;d-dÒd"aÝ`]à\n\[XjW[VNUR,OKMZK°M€QSRSRQ‡PJOkN]NãOŽO½OÃNÚN>LŽK®KŸJ€IIKKN\O MÁOP­MéNuP×L]HóHNH³K%K¦KoIzFÝDBÞBØC$C6Jœ^!ixl-m ióbRUxR^SOŽJõAÂ?bCÚGìP&SØVDZY[p[KWY…V‘R?UMUSnTW—U¬P®K°KcN¹N7LÒLLSKKJHóI²JJ1J½KmJÚIÔJ0L¤=P@½E¯KkR¯N&I4G¼EÒCh@üBùD[GyHìH FœK3K¨GþFçDfF«DŠDœDÒEeFWF‹NJR>QR¦SšR÷SrP¸LiIØHFCEÝH J×M$MØNbO²QR!RkRQS S%SŠT2T‘TæTÃTïU9UßUôU@UzU©U/UU©VŸWWÞXdXéYZY°ZaZµ[i[æ\\I\Á]]Ï^^Š^¸^Ü_ª`j``–`g`?` ``ÃbcÒdxcJd‚gTfÏezeme;eaeßfaf.eÜf eÁe¶eÅeÞe×eÞf e¡eþgØirk m[pr|s6rýr´rˆrqvpípÆp›pxp©pÞq@qÁrrfsrÖrUpæn»lÂk´k1j£j&i>hPh$hFhSh|hAhNhGhhKh˜i*iójåkjÔjÕj+jDj_k/l‚m m•nnm¹m7l°l:kŸkÓkllmm9lÈl i;erg>hÔi{gÏe£eÊhªjbkümLk¼l/kþkdi¸hWg,hjhhØgVe}hpgb«iánli¹ec bwc7aÕ`óbób`^]Ú]5\ YDW~YÒW½TDSYOŠNâMËM–OZPÁTÞW2UøU¶VOWÀZ[ [¹]™^b^…]\å\ê\É^^}^¥^‰\ÎZ³ZÄZ[ˆZæW0WÄZZÝZ’ZIX‹X-WV×XRVXTeToQ½QWSŒSÊUŒVS½QXQzRzRFR»SyT?UU±VnW}X^YŽZx[‘\¬]Ý^Ë_”`_`êaaìbÉcŸe f_hi kMm:o>pÙsv—z |¾}|L{„{lyñyyz)xvßxwxv’vUutŒs¯sÂtt>t¤t¥t‘srJqñqÛqàq>oíoOo¾o½oKn«n¯n°n»nomlkll}l»lslÉnmúmömæmhn oÂqÍq»st&s-uw`xÖxÖx`x-xcwCvur]nnÎlÛmToŽnåo6n[kÈnÜrYp¦l.iAd°f¨lØjAh?gg¥i'jÝlìnAqBq§qlqipÞpnëp:nàm5n}mjlorÛsttLs¾ro¿nmm­oan¦l·jãlll2mm=pus­qŒoVnTkuiÿjk#jakû@mB˜FoMkTPTÖUPU€UÏVVQV,VVVV´WZW!VçVæWWW°XUXóYxYÂZ%Z [#[s\ \>\Ë]Ç^L^Š^©^ù_,_>_Š`!`Ž`¹a]a\a'aËbac¡d´cId`hhfôfNeÓff7fxfxfUf€f&eýe÷f!fEfofe6eõhiÓk‚n!qÄs»s±s¤s=rÜr(q¶q6p²ppjp†påq4qqr&r{ss‡ser‚pénclgk³k'j|iŸih½hµh°h®hÇh§hÀh¶h²i:izj,ják”kÊkÏk k-k;kól´mmìnonNm½m¯m0m*ll kËl_lil~lkñi¨f›hEiƒkak!hûjˆnm¹kªkùlµnOmòkkjmhFh h™gðihiiødgimðn$h_aª_ka³gÄe•bÌbj^¢^Á_è_Ð^Ï[¨\ÓZoVóW5R€NzLÉLBM{PBTáVÒUbU›WmYÑZDXæZ‡]Æ]”]A\[¿\€\à^0^`^L] \â[[2[t[–[üXÑZD^k]ô]"\é[fZgYÂZZ·YVWV6VV­XšXsVÇUUTzSÇTVTïVUùVV´W[XY Z,[p\]ý_C`‚aZaób‚bócÊdXeSØPÖP›P‹OóO¢PfQ/P§PN±MNOeOìP€Q«R NåMfN[M;OQpOJ;K*S]TÂO°NL§RY^ãfgfïf£fœiÇcÊaIhNa\UZ£SiNML PöZ„Z«V‹W°XðXáXXÈ[]I]`\S[±Z(UåP„RPS­RýQ+OQQüN‹IšICr„rq€qpªpepn¢n‚nOn™m£m´lìl¿l3lÉmlžlÞlWi§gžixi¾k}lÌl§n+nwn`nl†mÜo nNlTlymh•gmj«j8jj¤h®j g™hqi;k“jJb^¶]Sf+hˆc±a^aËaë`o`H]Î]¸[Y3Z9V‡P{MYL«MOVRSOSþUýWHXÁYY>[^']F\l[ú\Q\†\‡]\]S\¨ZÔ\4[[^[cYÏ\k^+__z^[_T_ü^Y[ý\ ]Z4Zî\9ZªZYZZ=Z)XJV«VÐVÂVèWsW¼X…XÃYNYTYÆZi[?\]ö_l`•a­b–chcædˆdüeËf’gVguhCi4km$oqtw½z¯|Ž|ù|h||a{5z¡z‘z*y1y§z¸y¾wÏv§v(vYv3u’ttLu tðu…tëtvurt¢sàsîs rqqñqPpžp·p£pÃpàp2oùpoÊoáp¼pØpomün‹o"o‡qrBrìs}tÄt“r¡uixUy¨zOyÄzyLyÅyÅvŠw†y'rþq#n›nµp`p£ogoaq®rØqÊr]oúp¸rrn/obqËprm`nOpXq¸r,rHsÙt­u>s©q£rXtÈv tcrp"oqtušsKp!l jql pÞq¦s1vRq£o’p–o²o“o'oáqYqUq4r:rçq:nHkŠi¾hæh(kprrëpÎqÉr8iÎ` ]…_ó_¯\ YJWfWðZZ,YX†WôV·W:UßUSWÉX¤WnV­V0TJU}TÇQ[PUPLQRrSRxQÝR9QªO“NñPvQP1QµUºVåW"U-RHSlR[PÖNM«U¶\b[#YNWgW|^`ËaØb¡c‡dßfîg‡h£kij™jYfGcÚ^Å^¢e¡dO_’_$\ÿY¢WŠYFY-YÇ\ª]Î\êYäWvT¾TSSÈVaVQÞQÁPRLëJÁJDG´EƒBzC+J'L¨JF|CþEøIbOPNäJ:GdEáF–FÝHÐHìHGìGåGyG F@GþGJÑPìPíQ M KOHWH\J'I¯HÓH&K QP[N\QyNCI¯F†HÂIuG›I;JàO$S¨SÇRòSÉTkUÌVïXgX§TÞRÚR^M–MOQBS^SvT@ToU UÄVºW‚XX]X`XâYŽXÜXaXÙYˆYXŠXñY YLY›YgXÚYjZYíYY²ZD[[@[ª\\W\¾]H^,^¢^È^â_z_™_Õ`#`L`¿`öazaãb c>cdyedkdOeÑh˜iKhghhth4hBgégGfôf¿fšflf®fÂfùf'eeÄfÞijömnrŒuPu6tÏtƒsîs`rÅr`qÚqap­p1ppnqšq‡q—rºssùt0s½s4r†p¹nl¦kàjíji×i–j j«jrjXj jjj1j#jÂkllblãlþmrm¢mhm¤mÞn•nÞnØn¹o n}n-mXm$l¼lÁmŽmTl€lMj‡iiájŒkÝl´mžmêmnwq4q‰qgo`mõl÷l®miîjRnmIiæhgiÍllgÀjlžjGg|bÆcr_,b€fƒc`bÊczezc½cVdQb]]BXÞXÒZ9XÚQºNO"NwO%PFQÜSÀU™VcW¤Y“[ý]è^¹]?\Î](\°\d\‰]2\¢[#[B\CYÀ[]%^X`_í^à_b`aª`û__ _š_]5]õ^E]Ð]È]\Y[nYOY5YÝZZ\Z›ZÄ[V[¶\"\\o\©]d^ƒ_±ab cJcÿdäeNeëfag+ggïh:izkmOo0qtwç{}}³};|©|b|W{4z„zzK{ | {ÖyñwÐv­v@vnv!vu@tXuXuiumuÍuîu‹ts¯tªtsis0r¿qÏq4q®rÎr[q‡qBpùp‹qq½q&r*rUp™o„oòq¨rærtr½tÅv¼tcsv®z;|¯{Ôzø{Ô{{V{evøx|___K_c_È`ra"a)`ìa&a‚a·b[bÝcædËdËeñedÀe‹g'iÅi×hòi¤iÈi[ih¥h^g·fõf±f†f×fñgg5eŽdÆe§fèink/m$ršvgv"u‡ut ts…srËr‚qÌqcqpŸp~qgqçqiqºrês­sãsÑs­ss#rÕq«oYmUlZk¾jºjWiùièj~j»kk,k$júj·j§jÙk?kßlTl¤mtm—mÌmçnn-nnÚn­nÀo n¬nnÁnœmãm™mŽmxmùmêm:mzkEiijjXl7lôn_nWn!o¤oTp¬rqÌpÌn¿lol6l²k|l¯o-oYmqj!gyj5lDf)dÐh?g eµd×eõeaGa6a:aÓdágnhgeùfžgaK[%Y…Zb\×XPÀPóP`O©QžQDRQTAUV XmZ<[V[µ]&]È]^#]£]\Š\˜\Ñ\ô\Ÿ]W\ÌZ [2\Þ^³`O`^`b`_}_—`ù_ž_D`8_¶^L^ß`Æ_Ñ``_M^¾^R]Û\\S\7\Ü]]ˆ]ù^)^Š^½_+_ ^ö^ú_Í`•a»bÁc™d}e f fg%gXg«gæh6hïjkÚm o‘qÀuxŠ{˜}À~¤~s}¼}d}}}Y|x|=|µ}|ó|’{!yaw¿vævmvWvmvv*u¼uSuÌv$u¯uÎv/u5ttftßt[t,sÖs‹sŒsr‹s4sœssrªrWq¨qorbr+qƒrsfs…srÙrßrâtuêwrvcsWt(u×w¸zkzyLz{e{À|®|všvåzOz=wtz4y­w2t1sŽtºt¬s}r›p¿q]r1r1qXqvrœr?ts–r¾sŒt8vîvýsmrËuu÷v'uæuvtÞsís?sütru?uÖtóu¾w%xwüxPx©wÞvÐvw]u˜r q^oìpcpñqÁsÑufvv uÛvRv‡u+qÀmbkÔkkj h°g6f“gµj6npÖq¾qbo÷nÀm=l/ikalY Z±]Ù^+^\`ZÊWûV¦W^VðVUX7YôYRX^W-WŠWZVTWgY:YVôTàRQQQªRñS¯TSTlSS@TTÖUUVªXð\å\Ø[@]Ž^™]ù]F]b`4bÕd\7ZvZ \$[8WôTÆSŽTèW Z6Y"Y¦YUTëU³VÀVVT*QÅS•PŒMxQzQ´PÅR8MÊLNBOÏOeL#NèQžPNÁMõKºL M–JþI`HÐI‘J²MvNõM—N@NLLiI¦LùQçQóQ P‡PN²MJÝGGßH\G„JMKNPFRÌUøVÄTO–LtNËOŠORUIUžUþUÂTÔUU/V{W‚X‘XhUkVU–R£RÛR[Q=R–V"WêW’W WÄX)X=XÝY‚YæZfZ•Z YòZå[m[Ø[x[[[ [Z¸ZïZëZoZe[,[#Zý[ö\3\\È\¬\ã]„^¼_)_|_Ú`2`“`D``ža)aŸaöb/b-axa”bwcBdEe™f ff±eYe>g†ixkjFiÙjåj©j4ivhñh•g­gGfëfÌgggqfSdÚe„f>h4jk×p¾vtvæuÙuàu\tÉt*sµsws+rër¥rPr8rqµrr0q²rrÓssLs@ss>s9srêqÍo¦m¸lÂkÞkjŒiçiòjkkkíkõkµk{k…kÜl0lÎmmomànnXn}nZnXoo3nónén—nmn§nÀn?mÉmÀm¡mÞnInmžjîiujˆkimlímmdm…nÚo”rrlqsŽsÁpLnþmÖlGmgoùn·mTk“g+hàn)o{j’gûi°jlblh@ešeŸfefCgVg_gÀf¾iÓmÆj@dR]s[M_DZ¿RUR½S-QaRQRžTÊU?X\ZŽ[’[\ž_Ž^x]K]]g] [á\ë]M]ž^+]Ì]ž^`"``©a°aM`é`°_âaaŒ_0`’_._{a`ñaëaubgb/b!aÙ`™`*_ _^Ó_[_Š`+``žaVa¥btbmbbrbÊc¡dŠeRffîg“hLhhóhøiKi‹jj¹kˆlòn¦q;tIx"{‘~/;~Ý~Z~;~b~w~ÿ~Æ~[~•~g}C|È{5yQwñwvTvJvÁv\vv4uÝuºv"v+v3v$u•tûtÆtËtÙtît^tEtbt2sësßt sátsùsñsBr„rÊsƒsrLr•suXu¹ueuÚwwxwIus•vu=uu˜sïsžr¯sÏw4{*|u»s tÜtvnpqr¡rÈv3vàt7tŸt3rþqcq(p¬q§rrt[s”t(t|srss¢vw>t×suw“wúvªuÔtôsˆrs™s”sÑuvv2wUwv²wx,xtòstýv„ro;p^p|q q¬s›tÅuôxxPxx wcuìsPoUmmli…hgògôh¨i¦iýiõmŒoãmïlÐm–mCi„`4[G]£^õ^l]&[åXJW;YX«XóZÚYYWpXCXÌY‘Y‚Z©\~\gZzV¿TƒSÈR­RSST%T£U]U[T¦T,TôWœYcZ|Zz^„cFdsf’gðkÔm0lÓmÓi–hPjgihûjÂkìmMneml’nÚnúm¹m’malòl)h¤dÌeLe‘aÍ_.\²YÑ[ù]ZYU¯S!UUåW‚XW¤W®V`UÄW-XVÍWU|S™T¡R–O P:PÌN»P—QePìQRCS¯RéS»SÊR»P´OoO¼P¢PoOŒOÃO!NÈN&OÈPP@N6MrOìOXQŒQuP:P^OhPhPM’KPJ‚G»FÅIPLºO PéSdSäV+UySYR¹Q­S¾T—U”VþVgVV¿UºVV}VW X/XÖWyUòWWÕX_VlTOVTX”Z%ZÒZ¡ZÍZ~Z^ZÕ[[#[~[p[[>\H]‹]G^8]j\¥]J\‘\y\ˆ\L\[˜\)\¯\4\]]ä^-]Ý]Ã^W^ä_Æ`(`V`J`v`Ã`p`úaÄbb”bðcbÚbb€cöe~~ù~ý~Ä~ÿ~Ø~H}K|’zþxëwÍwzv¦vvØwvœv}vkvLuÿv1v´v¸veuŸu?umubu5tËtºtäu5unu”uœtÜtqt¾utÚt†tDu7u¥t¬sÆtSvawwÝwîx3xMwªuåuOvØt¤tÀutttTttºw¬z¼{,w¶r“p]o€rÉs'sq°s´t²stÓtTsqr.qÇp­q#pÐq\usñsŠtÑu5tkt[u"vw©xÅxÏxýy†xZwivÜuÃu¥uéu_vGtosw¼wòwày,w½vst…sîw(x*tdqƒq3qMqúst«uûx`x°w:x xµxÜv˜qýo&n®ncnBlujÒisiÖkk6l%kFjíi÷gßh i¼jVk0f]c]_½_L_8^ðZfY*Z2Yý[y[W½VwYZ#ZZ\p^Ç_,_°^JZÕXŸWWU«TBTÞVsVU¬VôX Z Zø\Ž]vlvv;ušuuuuumÍk>k`mBlÔlÁmŒmËo†pþr$r3r]rñqÒqÆr2ròq—p`q–q÷qËpcqt's°ojºm oÐl¡jºm³mvnYpÛonNlÊjPhh.i…j|j.i¬h¬f¨c¡a?a¢_}\¼Y"W,VzTU­XƒZ™[mYºX!YXãY]Y½Y¦[![æ\Ô]=^Î_»aµcœd«dVcfe(dée‹e_bRbnbp`ë` `ÄabõcfcõeOd·ed~dëdÙeIeùf-gg]hgi]jñkÝm*mên%n‚n¸oBoËpHpµqÏrýt(tñuvv³w¹xÊy¨z‘{c||N{ÀzzÍzßzÃ{N||Ú}J}¡}ß~…~°~Ä~¦~©~~K}Ù}é~}ú}{žzxQwrvçwOw-w xxdx'wwŒwkw1vÒv™u|u1uGuYuÝvvºvâw6wwðx7x“wûwfw¿wèxLxÊy5y_y–ynyWxýwªvUw«zFyîx€yŽ{¦{ xw@y$ywöy’{Ù{pxt"sÄuo{{~y·yu(tÏt.rèsòu#uitUs¸rár qOq¥qÏvÉx´tÒviwªwlw w“yy"xÁy±{N|³{®zÆ|K{3wIvÒybzxtxxËtÖwSx»u&utTtŽvƒwku”u[u{wýwufut[s s6rTkOhhîi¢iõmŒp·qrq-pVppqùk¿g‰n­oFm¨lUkªlWgÑbo`¤_½aSbg`Z`ba¡`0^Å_Ã[ Y×[Þ\ü\ï[¯ZoY#XúZ[[b]ä^À`b3ah^ë]i[—Z4ZûZ[Z[)YCY\N\ñ[‘]ÿbéaÎb]bO`¯acf>mwnÕp“r%q‰pQp mÁf‡] Q×KJÁI$GlH›K0MKÖJÏLKRmWžX®ZZþY«W UR!RcRÅSTsU0U7T/UcT%R¨R¾T6U­T)SrU@W-S±N I|HK¥OKRâY[¼VÈRÞR‰P´QSeTÄSþT4UªS|SR0R?S…UxVWUY Zä[ZoZ WÞU…TÏS„TÊUÀT”R®OP R¡TåSSWXnXËZ~[ XeX„Zó[ZKYœX}WáWÔXX0XXqXŠY‘Zk[…\±^º`$^{]ž]`6`“`ca`V_ã`H`ó`]`B_è_ù``wa!aºb byb¬bÕbxaÒb÷d,dRc?aÎ`÷`ô`òaa0ašaµa,aHa·a¾a¡b+bãcHbñcbdOeYff±ge¿e)e\etf.fjf”hYj jiƒh¹hChÎh“islØnŽm²l¾kûkÍkWjihrhMh:hyh²i'i|iƒjLheêf_fŸhŸkNmu•z’xíx”x wvûw*w†w v¥w v¼vudu]vvt¯s4rürñsrðrˆr³sYs‡s"r÷rSrrËsJsCs#ssrLpÉonmèmýmÉmõnnn mînnlo$o)o nço:ooŽoyo©oÚo÷pppIo½oloo oxoÐo«oÊpCp-o^lìjrk‘mÏmSmÊo&o oöqqãq¥r”uCts.rrsòrÂqÙsOs-p4n:l¦kmzoüqÿp…nˆnXncoÖn5n¯pRn—kèiChgÙi j±jÃk:j7g·e“bòcd÷b^T^×\W[4[Ã]é]×Y [ùZ„YZkY_ZçZZj[V[¦] _%`ycµd]d5dËeýf}fÚhOeÑdBd;d¦cM`aäcüdÙff0fâffåf3fYfxfxwyw‘xxoyyYyïyîyûyÖyyMy\z¿{ùzÈy yí{|pzqw¬w‰x`ywŽwÿyñx{u„s©t¾uÀwáy–yýv½uzu›s’tMu·u¯tÎsØsxrírrqÅqÃv*x^u¼vw¾wiwQxqy,yåyy­zq{Tz4wy”zÌwvvûvÔwªxqyÞv¦uu tËuôv^v.w^yƒy)xÜwÈx´vŸsæoÌlZl+oZq®i¿h´j#jÇkçkæm2n³qpoEoÝpÒr–m gÖkckþi`i%j_k8k6g~dš`à_Ïc/c&aÏb=aâ`l_³[—ZÝ[QZª\ ]€^]\ [±[[ ]/`bTbÊb)`Ý^ð]\”[»[t[B[g\£^G_Z^?\s^ `Æ`abañdf?j(o÷oßoªmâkCiîgÓc±]T=LèJ™KcJðK¨JùI†LOKÔJ÷OUUmW‹WˆXýZ0XÌQvLzN3S T“STfUU\U2W"XAY!YTX¬WWUøVÛVÅV¦U7Q»OSNxN÷OkSY1XûTÁRïVØX¹ZX[.WÈWNV>UXV˜U¿R³RîTUV{W¯XîZ¦\¡] ZùZ¯YðW™U¸UAUÍUæS&PÿP™RÒTkUcVAZV]l[¬Zø[[Ò\m\‡[”[~ZwY¥XõX­XÕYY,Y˜ZÈ[\]¤^’`?a°_\Q[V^i`ªaŸaò`´`é`ò`b`>``aaÊaeaÖbÞcüddOd&d'dBd(e¸eÈe8dµddHd1c£c2b†b\b1bDbÉcc@c/c+cdcFcpdeZfÚghjñk2jÇj”içiÏiýj lšn×nnm\lFkvkj1idiihïh×iyiòj0jDjåjgf;f‡gÔjØlös3z~z`yyxwÏwÅw¹w¸w¿wÒw¸vêuÊuuv½vOtæsäs‘s@s#sVrÜrîs“sÈsEsrçrjrËs†sªs«s¸s¥sq÷p¦o€n£n¶nãnôo oo nàn×nÛooCo’ofo\oo]o†oÉoôpp–p põpÝp”poóo˜oàp*pfpÇpÕo±mdkkàoæo“mnoÃqFsys‘rset£tËr§qsÀvvsrôrFsip¼n münðqqópün³qäqgm:p`mŠnq©nj¿h«h^h&i–kÄjìk jXih#eúeebca³b¬^¿^c]”_§ZnO¦ZÀ^%[Z]a[¯[)[œ[d[.\Š]z`ÛbLcôdde hÛh¬h¼jóh¬gS_Á\W`öbcÂeÞeîgµg¼hohÃhÈh³h~h{h{hÿiajk1l¬mÎo7p q5q…rr/rÎsZt t“t°u&uêvíwDwáxlyy©z{€|‚~¤€ ~o~¶€€€ §_~£~R~*~k~Ñ~á ~Ç~}Í}q}X~~|bywðxbwñwfvÄv vlw wÁwùww“w%vwu¤tôt­tÄtÒu!uY®ZeZÍ\a\ô[×[M[ \D^¹a>cšc„bÆ`ì_]]Ë]¼[.Z ZÓ\­]U__ð_ÑcXr[J[§WiT+VI[å]B][ÇVvövËvrvÕwwOwjwåx.x¬y5y¸zyÉy‰xåxšxÝx‘wîyzx1wqx@x6xåwÕxv¸vðxéz²zXxYw2wèygyØyŒy8zJxx,wnw½yCw^ySwprlmjÚnžléj l¿mlnlwjÍpnÁk$n®p=opmÈnIk˜k lÉjOdÆb$dsf…h¦gÂe¶c‰cdbˆb«cËcÂa³`\a;`ß` `7`Þ^,Z£XÕYU\_aÿddIcVc]Y]}\p]Ž]·]\X[]a»e›e&eeÒe¾h:lïp›s”tBt±w¥v²rkªeÕdægÛe™bØ`ã[¬XžV>TéU2UPR,PCNûMŒL[ÓZiWY7\‰]Ô_éaOakahaa3`á`Û`ìa_aÙb aÑbbCb€bØcdeõf’b5^e^§a7düdûd_dÜdédhcòeághkh¤hmhf—fgfÝg™h:i£jnjjjiÝi¾j"jVj iÓhhg8eØeúgh(hNgVf!e‰e«f:g&h[iÅjj¦kgk jRjiÓjLk®l¤m m#lÃlll˜lOk¥lIn"oóp{pIodmnlûmUmlÕlUlkÃk`kllymRmÀmj–h×høi‡lÞmÝp¢yÍ|ƒz¡zy±z7z`yÁyòy-yŒz°z yÀx„xAx wúwÙwÎvt¦sãsr°r qgGg­hUiMiºiºg2g|g>f”gËg²gAeÊf\cW±UÊ]ã]»[-YŽ\ÏcxddÎe—fBfNf ff=dyi‰m#o5l.qr!]·dèiÖg|i’k mƒmSn%no¡oôpAo®oeoDopoTppuq›rÏt|vw}yy™yoy1xÀx xÆxóy8yzzzÁzzÄ{4{Ê|d~$®€–€›€{€J€p”‚<‚±ï¯Y€ø€M¨X8$~à~æ~H}V} {Ù{H{Ó{Èzåy­xóx]wvžvuœu.uzv5v±w w†w×wÄwŠw]w$wLww9w{w w†wwÛx;xVxSxOxRxžxÅyIy‡yòz7z8zzÚ|.}p~f}å}õ}Ù}j|ò}}:|+zÿy†z9zyz(z/y/yy#yÔyÎ{0|8xy1{/x‹x÷xºwþwkwv¶vÒv8uÔuÉu“uDu+u6u_xUyxYxÝxzZ{ { {ÇzzµzìyRyÜxqx;y¯xÛxêx/x]xnwëxMz¥{Q}8}~{%zŸy²yòyzõ{?{0yhw‘x_yé{žuÿso7hÐjÿnoHoJoHpXqn‹n·lžh¼k”n¯n/k3kùhåi¼kìhegf=dœemfh hõcc#czc¬dUe[c˜a.aPaGbŽb¬bM`_ê_¿^ƒ`ôd»eúdícÉcÐcb_Yî[×\Ý^.^˜^O[5\+aÇ`þ_ab\akiNoaoýsMuÝwszÂ{v¡r¼mbf÷fbé^É^]S^],WSSÕR–S2QkOQOOQhZ-cÑiÖr]t r¶sr,mógýdsd8f°iÄlamÄkj kïkðl o9rck(aØ]õY5Zc_Õ_X\}Z\1`Ûb]c>a¹cëaôZâX—UWU4W[É^«_o`ùa‘^u]_Î_^-]F[ÚZXŽWþWÒWW]WV´V¤WëZ[)[ö[ÎW¼U¦XÿZä]_çaˆb"bSb¡b–b¾båbìc¸d¬d›dÝd·dZe:e‚e“f/g?dÁa_‡`ccOdÝd²eûfØfºg gh—hZi}jÄjÞj‹hÞi(jJkŽl°lÙlVlhkÕk•kYk4k\kDkuj[ivŒvÞvæw v·v v^v1vwAx¨xÊxVy'xgwzÐ{°| }õ|O{ð{¤wÍwNxúyXyËyyyExÛx˜wäx°zL{Ó}{*| |0z8yØz0zCx¼yx{z$yŒyx=yzyØvtpÂgÁhönÏpUq¡rSt,szqŸpQpápyo9m˜mœp[qtroxoi˜g“i°jÑgbßdBgcd³bhc}cqdÚee¬e“dPcaöbÏc€c`±`a`õbIdóeæf…fYeaÌ^Ò\Ž[?]"^v]¶[o__F]A`†abl_Ddôoåqwrbu4wÆz,{ì{ wsr kßgLd9^ñZXãXþ[/]qYÚSS)S¼T.RòQhQÖRûZÅjIwmw¸utDt{wÏw%uÐqkgìa˜_db^ñe“^F_ýeYcVdAbZ^¦ZVsW…[ú`b.at^O`5__` ^s^ß^"][ÊYþXøXqWýXXpX‰XÛYRZ\[<[¿[lYlWtX7X•Z(]w_aáböbhcc‡cæd4eEf1fÙg„gdfçg gqfþggˆg#dºaÊ`z`’c¯d©e–fïgÛhhahsg‘g«hIi‹j&j jˆkNmRnjoo»oosnÑmÉm¼n m)l?kfkˆlDll k’jàjih7h hThÍi×j¶kpkÔl l®mOm>lÇkùlmn»pBo+mumYmVlõl•mSn.oLpdoýoŽp q p5nÏn mŸmËnGn7nnm¨m‘mÒnn¤nÛnlÚkk kÚlüoµoöqQy°}¦|c|'{;{-|{£{h{zQzSzCzì{‡{Æ{¢{+{3zbyêy|w(utøtwt„t3tsqsr³r*rHrsQsêtsútttóuÓuøuâuûuòu–u¢u½vvuùuåuÃu†uEtátxsãsbsMs srÝs4sRsUsIs)ss:sCspsâsåtgtetÆtjtÔt–t„têt‰tîtYsÅqœrÂrJlFlqs2vzvóqApZoçpqäqEqiqMqÕt¯u“tq·q°t´q§qŠrÝq1oVk“obo¬p[v…wvÅu.r2qoålij iƒiˆh™hÃi{j¯kil2jshŸjRjXl"kÜl´nsjêkRf3Z…\Ý^:_™b>bhgiùjÔjäk³j‹iìjÁlInvoýoio¼p¡uFt.g°eÕfñi¹m)o0r™rUr¦rÇt;tYteu1v¥vGsÚsMs˜t—ufv‚wax‘yz‰zá{z´zyÒy¡yúz+z¦zò{2{e{ø|¢}E~;˜€¼€Ú€·€™€£€™-‚9ƒCƒk‚²C]M5€ó€‡õŒ€.~4~c~}<|½|SzÏy@xQxšyþz…z˜yÖxöw™u³u&tÄt­uušv!véwxwTw w&wÄwèwêxx'x$x;xVx¨xÒxñy“zRzMz;z(z yüyÃzyðz{Ž|É~B~Ê}þ}÷}‡}Ÿ}ä}€~P}è|J{ù{¬|F{ zJyÍxSx)x­yŽzÁzVz¥zÐz‚zºyyyÆyrx\výv³w vßwAwUwww6vÜvçw¹w­wày#z w§u×wë{{.yÿzyIy{y{xQydy¾yyîy‘yÌyyxºxÙy¨{s}”{Cy~y±yÈz$z z'yªzr||þ|á|izñ|f{ uøsqOkClfqr xyàywFuñt¸qEoÎsDskp6p—rµu½tytXpøi˜h(hqlÑk[¹[ ZØ[Ž[\ ^•]Ù_åcbcÎc_cYe.eÙfg gÅh¬h™hÃhÕhÊii4hke÷aªa `l_­d˜fgi#iòjh¤hîi#i/iÄjoj³k0lWnpqØr·sEsrƒp­o'onún n•nÖo onƒmÎlrjóiöjjbj2jªkYl#l³lïm,mamomm6mmüpdqÞp´onŠnInnJn_oÂp™pŠo”n‘o‰pËq"pioKn!mìnƒn¬n‡n»nÄn»o ooJoPnwmnl«lÆm#n oòq_qXv}W}Ñ|‘|F{ |€}Y|«| {¦zîzÞzñ{]{y|0|š| {É{7{dz#w{vÛvu\uÝuÆuûu_tÝths:s(rÊrÖs§t?t®tÛt«uuµvewvùww www(w+w,w8w7w.w vËvVuÞuDtÉtCtWttÃtžuu&uHuju/uRtÛtÒttut^r­tpßkBmçoŒu.y2n½mnpoUr‰r|qq rOsÛr sSrUrWsÒpErƒrŠmljÓm¥rØqp˜vWz zziz=vÒq(lßjƒj°j–k\km”olkµm¸mlíoôqÖt¨sÌsÊrÞpŒppk_^ ad g5hlmVlPldm8lãnPoƒqÛqÔp*p`qÃuõs|hðeqj iömoÒq¾sçs t²uÓwOw|x¼zä|S{Ñzy=xýy{y‚z)z›{{H{Š{a{zIyöyây­z z6zÍ{6{ã|Š}f~—è2j€·€2€O€ª€Ñ¼ƒƒ\ƒ8‚¹‚ c@€ä€w€¥q° ~3~"}û}A|š|¥{Ÿy xqx'xwxšxŽx5w½w'vuÉuÙueuu‘uévIvÔw)wswŽwÈxCxŒx·xÞxçy3yy3y€y·z8z®z¶zzz6z yàzz@{|˜}ˆ~Ñh0~p~b~"}}}Ÿ}K~b~Ú}P|ú}b|‹|¦{¹zcz^y”yþz¸{Ø}×}G{Özpyqzuz#yxÌxveunuìvÆw¢w©wPvyx•xêw’x[xÑz}|ôy•wòxz›{ËzÝyÔzz zŒzz4yÎyÿz„y¹zyxöyXyqyDzL|&{šz»z4zRzzÆ{)zÞz+{}~™~{þ}<};zøv'rÜlµnIv½wáyFxˆwæx‡xÛx0vspºs‹s`o7l'g¦j¢jfÿe®e3h=dÉb|c)b°dc¹c]bŠba`*_F^`ƒe½eFbb`E^O_ÝaŽb_Ä]m^0]Æ_‡_`\Ÿ[+[Í^H^n__¤`ý`Üa}ao_’b g]qìvÒviw$vKv#uÓvˆ{z q(n¼omm”j—fücÕ_Ð_` ]õ^[dnk)rvx zPyMz{Ù}V|¯yPxÜxÐxSwdu‡p—jZd_]Ú`jëss(oõsƒspp'oÕrUtŸs&pFoîrcpKl©iiÅfŒe»l,iIgb a!cë_0[mXøY ^efÓd¦cû`™] _É`_ö`™`_ú`P_—[ŸYöY!WvW@W:W·Yu[µ\4\-\>[æ\‹^d]c[ò]x]Ÿ_Fd4f¥f#deDfIe™f~hihÂiwi4h©h&e|c^a_”aŠa,a‘ghYiBkjIiØj jyj,jk m]o[p»rrêtuutôtÚtus°rRqzq†q¢q6q q(q§qÈq8p5o8nmmmŒmónonm‰mˆn!n{n¡n_n’oÎq$r@rPpþpoªo=n•nZnnùq6p_nÏnDn¾oÓp^qp±oun‹náo0o(o_o˜o›oÇoîoõposn¦nm¿nðo·pùrÅq×t{½~æ}¾}B|_|–}œ~D} }8}{ˆzô{C{w{–|`|Ú|ƒ{¨{}|zx+wwÖwRv´vÑw—wPwEvôu@t±t.s€sÇtgtÝu/u@u–v%vÏwÄwÚxx3xxxx2xLxGxXx|xrx‚x=wñwbv¢vu¥uaucu9u5tûuuNuKuau'u.tæutôuu€u¡uõuÎueuIu]u{u€uès³t¹u¤n?kâoftwqµoMp„pmtsr?t ss"s¤u/s´trv‚u1usüqGrqunp(qMqXv~yyø|˜}1x”rÓqYoÕmOk lãn*q soƒq0rÇtÄurtrìs2t rÁuçnØb–c×h}hõj§jÌko·nänÒomokqupLn"qÆq­pépstkiEd;h kRk]n±qzrÌsðtÑw4xŸzf{B|å~’~õ~9}X|™|M|D{ã|| |j|g|{[z²zzzzzcz­{U|#}?~)C€”©¬€Ú€j€Ã€ëª‚Úƒ‚‚΂hÎZN€è€t€¹oU ~º~U}Ç}Ÿ}m|Õ|È|]{zxÆw­wðxbx`xxRwàvñwv¾vuÿvvGv´wwkwíxNxŽxèy>yuynyæz-zyÖz zez‰zz5zz]zº{„|y}¶~U~³§P.#~5}k}}›}ç}}“~N}‡}E|j{/{ô{®{å{‰{#|C{Ó{ÿ{xÈzxzÂxayzSzÞzØz¿|a}I|æ}1|§~~G}-}}¾|•{¬{N} z¬vCyQ{nzøz­zÙzÖzÁz®z9zÀz¿zz5yùy¦y¢yµy·y«y”zz&{zþ{Z{{{´{Rz¿z$y5z÷|â|{IyœzQxus#vVy¿vRvvNw¹xxwÆw:wÀwÞxw3u*sÜsŽsŒtmtºsÐnØiükAhæeÌcÐcÞh‡f„eOdÇbmb'aÈb¶b3bja»`S`]be^fÉfHd–b”_@^å`!`B^Ÿ^Y_h]ƒ]w]Ä^R]‚]^^[^ê^ô^]__b`1`g/lasŽt°u wäwVuçujsÁvŸ{«z“zPz~vÀroÍoçl•eke˜lqTuuvêyf{z£}Î~Ý|Î{}{P{È{?zÌyx‘yy/uÄsÎs”o.kÛn.r†sSqXr¥tsxru uEsu+tªtÑsÙtÜr†q>iˆ`¦jŸjÝecÉcæfd _6Z\taæcRcºc£dF`Ó_av`Ra`ý_ï^È^V^Ù\Â\1[”Z¼Z YKY-Y´[¶\Š\Š\ï]]Î]Ö]\´\Ù]}^ác¶fÜhoh/f[g‹gxf#f'hni;iIh£f¾daúa¤`fc)ebbdÑiˆjèlÇläjÍkêmJlñmðpr]tzv wwVw´x;xvÎv[uÁt¸tcsFsnt3tstqs‚r³s†tct=s×sJr4pÍpjpëp\nðnµooØo÷p_qnr8rûrërUqqpùoÛn›m m^mýoÝpënzm¯nxo,oÀplqˆq;p o}o‘o­oâoÕp#p€p•p³qpÁp1oƒoep‡qorJs\s'sÈyà”O~}°} ~~D~Ô~•~A}»|.{S{¬|P||‘|½|{Œ||t{°y–xyyIx’wtwæwçwˆwöx9wMv>ugtst't¸uJu²uàuòvnvïwŸwÏwùx,xpxšxŸx¦x½yyy3y!yKy1xðx€wÓwkw0vÉv|v5vvBv,v^vdv}v|vDv4uÑuÝuŒuÑvuõvv(vvv7wAvÖwƒw&uPwtîmSmÏqèu4yQtÚrësüuIuPuÝvàrÒrýtÓtcstMu†w*wutäshsrvqwq%s#uwª{}.}7|&{rytãoúlül¦mãps§suÊvþyxAsms®rutÇnWefnÍplEn‹r%q»pÉp4rqsr=r”poÆrqoÕqprÒvÕsêf—gÕjçjôlôn¯qºttu‚vÈy`|}×~°¡€š~¯~}¯}Ì}Ÿ}h}n}\}£}A|_{w{z¹z¬zÁzò{Z||š}~¤¸€üŸ°€ë€€†€Ò3‚ ‚‚‚Ž‚¥‚ ¹vN€¾€2å¨I]\~Â~”~,}»}±}~}6}<|„{Zz\y˜y¦zyÝxäyŽzGy8wíwwYw¨wYvßvºwwowãxsxäyKy´zyíyÚz"zy¥yÊz zPz…zã{n|} }í~a~°U½ÊÑ’~×}Ï}o}~s~Í}~N~ ~ƒ}e|{ëzÝzäzz¤z^y.xþyy­yyÐ{;yºy˜{Œ}"~~?}¤-~5}4~®`€ˆ€€oõ~£|Ì}°~]|;uÄsÈz´{¬{:{f{{·{¢{ß{Ÿ{¸zóz†z›yòy¿zÕ^€~Ôð?d?&~»~¢~t~}ç}Æ}R}/}/|¸|t|g|¯|š|L{…{l{¯{xAxØx{wÄuËtÙtžxª{ß}|ƒ}ì}³~i©€#€Œ€P‚=‚æƒ,ƒm‚Pƒ…–„ò‚ã‚®ƒ§‚²ýÕ‚y6¹~{{¶x:xÓy1xÏxþxjwv+s;pÊvL{BzÈy xÿx]wtýuúpfhÔh2j„lžgcfRh/ddwf"b‹aadÈc&a…c‰cc]bÜcocÏd!a´cDc]ë^Ã``M`Æ_î^×^v^c^T^l_Z_¡`ža^[ \T^†_dñii‰iWi‘lŸlnjÑf§eDgMjogÚb¼fRdÈb­dedaa`Xhmp*pˆpós(sµsis¹t_w¹}ÆÏ‚ºu€ƒÑ}Þy³xw›vv…v‡u¾u uŠv w/w v©wÎwÿw2v§vuVtxsÅs­rq{q»r{sˆsÏslsesjsgrárIp¥n´nãpPq[r roËnn}nÜo1o·pqr™qépÚp¹pÝp|p‘päqNqƒqâr rkrŸrÐs­tWt@uuu+xÛ~Ú€ù€k€[ŽezYªž†q =~ó'D~ã~ð} |½|ì}Ó}Þ|æ|<{hzkyxÙxoxwÛwËxxwçwÛwTvÝvcv©vòww&vêvÝwawéxJxhx†xØxÜyyy5y*y)y/ymy›y¼yzycyVyxíxxIxx xxxZxCx™xŠxzxpxExwáwËw¬wíwÓx4xTxVx7x¸wøxÁvDx^xTqòqÒr u*rÕuv„vÉx½tîs5qôrVsvt•vßvHuJu2tvvväv)sÀu+tJw^yxHyåz½{|W}«|½xDreqÿrFsÀt¬tÓt|twwx'y w*xˆzJt¾n‚rÎv‡sŒrLpÒu‡vLt¤uhv’u¢r¥s8vPx#tëw°zßwWqTmýi\iWk¬nãq‡qtuv\wï|#€ ‚N‚Ú‚e€Å~û}ú}²}‘}…}˜}v}™}¯~%~u~o}ò}¤}}¬~~2~@~ŽO€K€äH΂‚8ª¼‚i‚ׂ݂¤‚‚}‚‚ ‚ ®‘%€x×lqWC~û~Þ~é~;~ ~!~+}ñ}}i}d}}}Â} |Æ|¶|{º|{Ð{qzìzêz°y?xŒxˆx€x¡yy—zz²{{M{t{U{8{W{Â|Š}˜~lYú€a€Ï€AÏ€€äÁ~‚~ˆ~n~Ð~æ­~‹|Ûº€§~ö}7|\{ézêzïy·{G{úyÚyðz½zžyxxÏxtzJ|̵€u€¤v€n}û€¸€~~w€}€»{í‚€x~œ|¤|Ä|ÄzÞ|+|á||»}}/}d}i}N|ä|={Y{zézÿ{_{Ÿ{R{&zø{B{{/{é}|H|È|êzËz@y½yîyêyÇyäy°yCygx'x y z%x7xw2wñy+x>w¯vÄuXtÐuÞuÜvsËq€suuŒuäu[tFqz$yíyªy¤yNy7xéyxõyy(y3ymy?y^y%xýxÙxÜx›xx±x¾xyxiyjxÞyxÍxxwÜwºrœs+r™twzuøuòuÉr›qÂrÄs™tžvHvåuÐvÁvšwKv vÙx-wFwtuwíyŠy|h|à~~c}S~£z¨sÅs¬u„w%wÓw)wrwywÅyÎ{Ý|v{7zùw˜rs™v¢uKs÷qƒp+wªtút³vûv u sþv{vðsþtJz¯v]nŠjljiÔmñqrDsPt`vSvñyÚ{¼€ƒL„pƒ—‚g€x~®}³}y}ƒ}œ}è~~A~ƒ~ç ~ø~–~y~9~>~Én뀯>žç‚T‚¶ƒ‚Ò‚n‚;‚ƒ'ƒ ‚͂Ђ—‚|þ}²ð³ª€L×–†#~î~â~Ø~©~ˆ}®}€}}µ}¸}©}J}B}†}P}W} |Õ|g|N|"{…{{t{§|/|Æ|;{g{)z¹zJzÈ{o{æ|l}}…}º}Ö}×~~`/û€ j€õ€N€Qõ¦~ÌM`SŽ‹<|Ù~ š€I~1|¥|}{—{¦{/yzé}|5yu{.|yyoy{)~dò€ùc€N€˜Û‚2‚·‚÷ƒ)‚-~w|Ã}3}À– ?€Bûÿ(€d|w|†}d} }9}Ç~ }Ù}Ü}Î}à}P}>|»|{á{{{p{j{+{f{Œ{Š{Ô{qzÿzazz^y÷zgyÇy›y„y}y×yÐyyy´y²yWyy*{|¼{îyAx;wËwyxx¥yowÌvËvQvav½v uKr¬pœr;tŒt®uªvvÚuÀsboüf'`O_Ža'c‘c¡aì`Ôe~jRj$g›gilldkjdlk™kÀjhÖe±`Û``³aE`>]ô\U[W[—^/^#^]d›hµgQh¾lœnRo¡müm9qQu\u>teutt‚r¼rtFt8t&vTvªu£x¬}}¼}/{(y6yx|~{€Æ‚A€»¸GV‚'ƒ–ƒÜ‚¯„ƒÎ„܆…݆P†6†d†Ð…|…J…µ„!„W„<„E…,„Ë„„ý„'€êîñŒ~è|ì{’xswzùyu¶xãxuwvxDskt¡rÌklUmÇkíj»fìaÆb‹d cdOd(eddÝge“b~`^`_a_Ç`a’b]aØdEdlc bƒaÇa5aaSa…aËaÎa×aÕaÿbecVb»^Þ\N^ØbSdEgÓiókClhýgmfüeXe!eNfJhµhg*g|ikUh hŽhmf4jøiSitposAtÂtÆtävûx»w{wö~‚Ø„T…h†“‡‡†„[ƒ(Å>zÃxÒwóvÚvæv1vu˜u»wkxZx–x“yy~xNvœuÁu;uutXsßt@s´sGsds[sÔsüs¹s¾s‹r»r>rYsmt^sÂrÛqäqqRp€p\p“qFqÞrÐs¾s»sÝsPr;rr8qíq{qærŽr¨rªrÅsKsÈt€ušuÊv"vcvFw}{±€•" ‚@€]€}€¾€‹€€–€€Õ€ˆ€[€F€_€g€I€{€/Ñ€OJ4~Õ~K}ü}K|d{¦{´|T|T{í{1zyyxx"wÊx#xðyŠy·ywyxÛyyxäx xWxpx¬yyqyÃyæyòyÜyÓyïzz^z¯z¢z¦z³z­zÂz\zQzyûyæy¹z yÈyìyÊy¶yÃyÑyÀy‹yy'y xæxùxšxèyyydyyÅy¨y™y¶x•u¶u=uHq q's/uzyÊu$vExDu¬tÙtØužu sÕv)wxFyÎyƒxRwPx£y½z¾z5xš{Gz”wÍzÚ|í~r€N‚‚š|#wwwPyzzÝ{z¬z3zûyÃzzÁzCzØwqºsvÝwÂwÑu+s(p&p>w€vÒu¯wEwus‹ww…xðzuyår¸j jÞkcmNolq¾t t\uÚv¨w„xË|~D„ù…{…EƒÕ‚Þ€É~J}º}Ë}Þ~@~‹_äë‰~ö~Ì nù€ú£‚‚m‚¥‚ñƒƒ‚¿‚Ÿ‚~‚m‚‚ïƒ!‚ù‚Å‚ž‚i‚E‚PÛ˜øßn>€¶€Pó?~Þ~®~~~i~?~}¤}R}|ì}=}F}}}p}…}«}¶}Ì}£}½}N}}|™{Àzèz–zØ{Í} ~~I~4}ì}G}3}“~~Ó{€€S€—)H3 €ü€ß€Ì€é8¦R€Í€g€L€€G~ö‡³ZŸ£ã|™}} €K~d}`| {Û| |4yÖyƒ{>zË|"}°€#€½}x}…c€á‚,-Òƒb„Î…‚ï€7€uä}ÛzÌz|Ü~ò€×¶‚€ }ô}R||î}B}}~}Z}Ñ}ë}ß~@~}¤}}B|%{Þ{t{J{†{X{?{{Y|u|v|a{é{A{8z¸zWzyÄyDyGyšyéyÊyŒy|yíy§x±xžxªxÉxxJwéwPxx°wñu0tåtìt´t½t§tXrpÁr¹utðu¦u·vØvöt­q]k¿i€k~[}Ø}ý~+}ç}Â}S|ð|É||A|5|u|¼}}J}à}ò}õ~}ë~~}ý}½~ }æ|Nzú{|}}}©~ ~}~T~~w~õŸ€:€’€À€íjL€ø€£€S€+€€L€|€Ã€Ô€§€Z€|N]5©¬{–åÎ}£}À€ñ7}d{ô||¦| {Iy¼z…{zmz\{~Ñ~'}x€°€Oÿ€*ƃ¿„í…Ð…î„!”€TF€çk{Iy!yÍ{l €õ~ºz&zO{—{¢||C|{|l|ý}|~~3~}Ê}“}|2{»{o{>{0{6{>{v{š|‚|Ð|„|g|{hzäzyúyªy8y‰zlz‚yöyõyçz=zky¼y xºy0xÝywÕwxwvvftÔuŸutÿu±u*t@sDrrÕuut—uuµuþurÄnvlõhËeZd/craK`WdefÁg¥e>cæeëjŸllEmŽkÊl>jñf’ižh c4dbp^x_XdOhXllfmMl”ik“oŠp)nymjl`n`p@qs_ttuupw—wzw-v›t•téwfxîvïuw«}5}Q|!}Ÿ~j€8‚S~Y#‘‚éƒX„p…­…k…Œ†Ë…±†½† …i‡'……D‡g‡\‡T‡wŠ)‹¡‰rˆàˆ†€„Š‚%~ú{”z®yxxgx+x”x8uuvuÐwòw8satdr¿nNm&mìm™mn‘liòjNiziEi¯iithÁgÆf?e™dÓb`S^Ü]‘]q^&_K`Yacb‚b¿aÃb]b¤añaÈaÊb.b¹d deffŸf?ed°dÌf&h?jek®mm{ifÙhok)k‚jOh jAl®gÛh%mLoŽoÜo#m+l›n¥olqftu]v®vjvÆy?zXz{}u©‚¥…†*‡7‡£†j…J…]ƒý‚Éó|z7yŽz“yIvšuitÒu vŒxxÕx1wšvŸuðuNtçt±t©tÄt‰/ˆ™Š}ˆç†>†ï‰‰ü‰À‰íˆ¦†žÔ|ª{ñzéxæz¶{!xJxðyex‹wv yQ|#z v9u¦sdo*mËlÒkèkØmîm®k†k‰k\iÎiivg³fPfBe„e0fcÑ`"^ÿ^V^ ^E^´_`«aa1aib¢cGb€bbgccUdd÷eáfÌgSfdŽf*gThikl#kÄkh3grj(iIhŠl]morq¤l“m^q±qpˆoØn¥nép qÿt&uÝv/wyy{‚{ÿ{5{æ}ƒ‚½…_‡‡Á‡f†ƒ…]…–„Wƒ^‚ÿ¶|£{_{uzÔx¾v|u,tÏuDw$xx wfvËvuzu!uu9uiuŸuuBuVu:u‘uïv4v4v&u¢sãsosÍt¬uRujvuþuÀu’uäv‚wwLww¥wvŸvuÝuëu¨u£utÛtÙtÅtªuu·vww>wÉy„{‚~“}“!‚AƒMƒzƒ`‚È‚‚`‚r‚R‚V‚C‚M‚M‚:çv€ùrz~€²€x€q€›n}F{Ê{F{‹||~Qx}>~Ð~É~Ö~Š}±|Ô|{Jz­zzzbz zÙzŒzNzIzzRzMyày£y”y¶yÝzzgz†z}zÔzÍzø{{){Z{N{‘{z{¬||i|Q|9{î{ß{Ý{Á{Ë{8zóz¹zƒz@yÎzz yëzyÝzjzÙ{^{±zqyly0xCwJwvìv-t~rpprâwWvšx"|yàwXxêzA{´{){;|©{z‡{5zÈ{j}j€›ƒIE„‚Åë…â…삸¢I¶P}¤}Ò€†~ó`þIc~Î~æzðxåyw¹xˆx®xrx³yQxMuisq¿qeoBlänàt¯xjxwíw‘tÏlFi²pls.sØvýx§x“y+z {ž|_}jE‹„1‡ˆ…²„ ‚é‚C‚i_€^ø ¹Õ€ˆÌ‚?‚u‚©‚—‚ª‚“‚¹‚Ƃ胃3ƒaƒbƒ1‚ƒ(ƒHƒFƒVƒSƒƒVƒƒB‚õ‚}‚¶ƒgƒm‚ª‚ §€¯€Yßà~®}}6|«|r{ï{Y{'zæ{ž}}j|‹|1|Ç}$}³~Y~k~暺œ1~ï~Á~š~d~R~æ*M~¢}¬}j}m}G|Ñ|¤}!}©}z}Õ~–^ŸÆ[ 0ysfR~é~Œ~Ï5lužð€I+€zÿØ~!~Ûd€æ6}){Ý|{zÅ|^}’~T„€ƒ€Ü‚Xƒ”‚—ä„—…{„å„äƒÂ„±„^ƒƒƒƒ‚₇yü‚¢YÂ~j}€|¾z‰z{B{uu•u>ufv%uÔu!vªu>pùmëhàe‚fˆknjj4f¯i¥kkk¸mkUi°iDlcoßoHoyo}j‘cëcbJb™iœnÅrpq±qrq{rìsnu›uAqoSlºgµjáuxw²w­y¢yewñwÞx-vŽu ttu2v¾w¼vXvÍyÚ}þ~Ç–~ý~ºƒƒ…I„Rƒ®…@…i‡Ì†8†p†ñ†|ˆ,‰wЉ‘‰ÚŠŸ‰ëЉˆ‡­…Z†ÛŠˆê…s‚ÜO}9ypz†y­yj{ùzXxÚyLyóx—wœ| }z±x€wuvnHjßj[klÿnùo[nQožmÜh˜hÜjchÆhÁgühge)c¿aA`ƒ_í_:_ _‘_Ù_»_Û`¾avbccçcebˆb ccåd¨erfSf³g[g?f^gÀiiÄjpkÙlGkje¶flFk´j-o­ršs5trqÌrÜsþs®r¨q©qæs4t…vNw…wòxïz¸{|{|(|K}$~fƒú†‡‡û‡Ž†ã…¯…Ž…ƒÀƒ¿‚S[}‰|¶{°z2wØvOuÓu¿v‹xx”wÍvîvLuÉu¥u¶uËv vvÉv’vvŒvÄvàw ww3v¤týt„u v|wxYy xÆy,xüxÍxòyUzyôy2wÿwqw…w‹w\v×v.ußvuÿuóvv{v‹w„xwÿ{’¿x£Ôÿ‚LƒeƒÜƒÿƒÕƒ%‚¹‚›‚^‚®‚Å‚€‚°‚}‚`‚c6Q±÷ÅhD*€ü€ð€8~b|†{Õ{Ú|è~ð€)€n€i0?$vk~ü~q}š|Ð|z|X|‹|õ|Á|m|S{ô|P|’{ë{z²z’zŽ{{D{i{8{r{˜{{¯{Â{é||'||H|Œ|³|V|Y|X|4|:|| {§{©{„zÿzÿz´zÌ{'{ {%{/{Š{þ{»z¬yðy'y,xŽwÈwwBw uîtrpâpéwvw‚wPz”x yi|×{};} |~j~Õu|É{Æc;‚©ƒFÙ„)† …9†ˆˆó‡´ƒëQ€ €'€|€C€“€¿€É€Ö€¶€/€x}ÌzÅz1zYyúyy xySx—vt°sr›r5qJkînŠw w’wÞwqüoOq—t0v xHxäy€ze{q{¼| ~ $„|‡0‰/ˆj…´ƒW‚ƒ‚‚À‚È‚>ÄAzi£ž‚v‚Ѓ0ƒ=ƒƒ)ƒ$ƒ4ƒƒ&ƒ1ƒYƒ`ƒoƒˆƒ™ƒ‚ƒSƒ=ƒHƒxƒ~ƒuƒSƒLƒDƒZƒƒƒPƒƒ‚s€wÿäj~}å}{å{Ù{2{{a{.{Ó}¨~¸~U}¼~A~û€H€^€Bün~ÿ~­~š~=~%~ }ê~J~œƒé1~&}ƒ}š}ó~~?~}…}Ö~r~ó&˜…~ê~É~Ø~ê~Ã~‘~Z~`~T~­oÜ€#€T€vPž²€o»~Û€Ó}ë}»{Ï{¥{{1|È}(~W€€,î€{„o„h‚–„¹„ƒOƒÔƒø„˜…€ƒªƒƒ‚ß¿€E'ê€A~Ð~)}|C|)|Î}¦}³}>~ƒ„™j[~~É)‚*-~{zzÈzD{¨|M|){Ù{+zÉ{|C}ôe ~Õ}±~z}†|2|Œ|y|{›{Mzÿ{:zú{@{{{Œ{G{{\{ zÛz–z¨yõyÎy6yæ},|Z|=|†zôy}w¹vôvhv¦v(vtv—vuŠtÚtÔtt—uuëu‡uÄv¹w)x“x²w²uÏpqkmaÖb&bƒc»cÔbÆb¦c)ddþe¬fŠg/g»h;h€hÛi‹j×kqlŽmsm²l$fŸg}mÞoðo«qãt!t÷tòsúsªsðuAu‡u€tÈt¯uÕwUxÀylz_{|.}Q}©|Ý}V~€Gƒž…©‡/‡Üˆ‡ƒ‡…â„þ…Q…„„ƒˆÝ€|~t|£{ày¯wÆv¹vÉwžxNxØxmw€vàv‚v€v˜vÍwOw{xxw¦wœw wÏx"x&x wÊvôv³vÖwKwywÂwùxyŒz'zzž{|zy8xÓx¾x©x/w†w&wwZwŽwawXwwYx*y xuz×ò„ù„<‚ƒ'ƒ6ƒã„)„n„Wƒ•‚õ‚àƒƒ ‚݂ςʂ¶‚ª‚^ǃ}ù‚/ìùȲ³‰;€'~ |‚|7}‘‡€˜€¾€5ñÓ퀀‹~O}C}}x}°~/~~~~V~}¦}®~~ }s|‰|+{Ú|/|e|‚|»}}H}0}|·|€|e|2|C|ý}|Î|y|q|ƒ|‘|®|´|®|¶|„|T|&{Ô{Ó{É{ð| {ñ|{ë{^zÌy®yµyAy+x›x]xÌw‡wÑv¿u›r‡o¨uüy}vcyÜ{â}{üvS{P~~}~X~Ó€€u_u‚jËpƒŠ‚Jƒ<‡+†K†$ˆêŠ)ˆR‚“€¡¯è€o‚T‚‚‚&€€û^€v~»}]|ã|D{'z˜z»z‡yçxw3vtƒsòsSsrrpÝpþokpvpp°sßu¬vXwÓyyì{~|+|Z} Ùƒó‡|‰-‰‡õ…€ƒìƒH‚ö‚è‚Õ‚î‚ç‚‚7‚‚‚Jí‚‚šƒEƒ-ƒ†ƒ²ƒé„ƒèƒˆƒ<ƒVƒ9ƒ‚ƒ¥ƒÛƒÆƒÄƒŽƒhƒKƒAƒqƒNƒ…ƒ“ƒ›ƒXƒfƒUƒ6ƒ-ƒ‚w—™T€Ï€\€€ }°}à|î{®{±{z´zòzø{ô}Ó~Ê~õ&ô€P€]€M€…~Õ~¬~š~n~T~+~~E~y~~~À˜€l€;>~~~ÄN+~b~.~h~ð&g~{~G~-}å}–}Ÿ}¬~~6~¶z€N€š€Ÿ€µ€ €ˆ„»(€3•C€€~|b{°{@yà{¬}Y}}™|n|¶€Ñƒ–†T…j„†3ƒ‚ ‚÷ƒ¼„Cƒ‚‚ÿ‚¾‚»€æGî§A~¬~I~Î }é~ê€\}´€é„b‚‘€W€©‚9‚ –})|î|«y=yz¡z´{Q{vzx{+}¸€Ï~ }£}‘Ā،}ÿ|ó|2{¼{É{!{ zü{C{n{À{º{{A{w{5z…zxzNzyJ{~k{ÎzyåyÛzÚy3xw…wTw2vùvÀv½v’uÜutt‚u+v#v0u¯uåv)vøw@u—tguZroÑtu%t“qÝn§m³m‘n¾nünlPp\tZtîu«v©vÂsÛozjVgƒjâpòo£mÄmvnMnàn£rq€pÝqòpxn4mp]vEx`y¿zÒz&yIxGw’w‘v§t¢u°w2xÝz/yMxd{ñ{0z Õu~à€¼‚3ƒ)„…5‡.б‹‹6‹ÈŒiŤ‹’Œè.Œ¡kìŽ9Œ;‡Í‚Œž¡}xú}P8~"}È|¨y}`€æ3È‚Pƒ$„¿„€$u”m¢ikal¹k0kÉjâkÛk iÓjðk/jèkniqgög¬hüi5fId d¼eÆe=c“a½a¯a¦a`ð`oaUbhb×c,baúcc»e6fQggÈhtii£j!jÓl lûm½n§oll8g jo(qlr1s]uQuÕv+u‘tmt5uÂwwÔwUw8wüx¶z/{É|—|•}$}ú~þ~Ø?<„Z†Œ‡J‡ïˆ‡¶‡&†¥†1†%†1†\…”„Vƒ4‚7€W~­}É|zìy˜xùy¦zdzSy‡xw½wdwQw‘wøx\x˜y0yxüxûxÀx¸x¹xÖx¸xÂx¥xÝy/y¢yœxºyuz}zµ{†|'|§|à{òzöz“zOyúy~x÷x“xixcxux›xox4xry3yUy5{)€×…Ò†N…1ƒ³ƒŒƒÑƒ¦„9„§„Ý„Šƒ¼ƒƒ ƒ|ƒfƒƒ8ƒ7ƒKƒ"‚Í‚:Ö‚‚]‚•‚‹‚|‚E‚ ‚‚‚Ž€P~§~UM€…nÏçû{+€ú€°€ €~¦}|)|¿~%~~ÞI~Ï~K}­}Õ~$~e}Í}l|Ë|G|J|||õ}^}Ä}Á}|ë|Ä|W|©}L}[|ð|¤|§}}}|ã} |ÿ}6}%|ç|ÿ|œ|p|@{÷{Ã{–{zÔz9z&yëyËyixþxÕyxýw®wlwnvms²q‹w¼y&wžzIzñ{&yÉ}e|Å~~s~€§€Îk_‚vxÿ„@„D„D…ž†ˆ‡B‰IŠ(‰x„-м€³–‚EƒEƒ8ƒ`‚­°‚œ€s~J}¯}b|€{‡{Œ|fzïy w»vUsãs{uuuiu€ts¸s t2uØvJvHx6yFza{ã}}`~,…¦ˆˆ‰ˆ‡†0…‡„³ƒõ„ƒõƒÏƒW‚΂êƒ!‚Þ‚¿‚߃'ƒ´ƒÞ„(„¯„Ʉӄ~„5ƒ÷ƒðƒÖƒƒæƒý„1ƒëƒìƒÌƒ˜ƒ†ƒlƒ}ƒ|ƒµƒƒƒ€ƒƒ‚ô‚Þ‚«‚±öo€á€‹€q€~ê}‰}m|×{è{Ä{Ž{‡{q{d|…~Qc¤ø€Ÿ€â€Ì€¤€@ó‚%~ï~ç~¡~€~¦~¾.:¯€m€æÜ~ã~¼<Ð~æ~ŸD-~§~#}e}]}}Œ}¹}Ç}ô~D$þ€Ø€È€A€HÅ£€=€åq„€€'}c{©{œzwz¤}I}Ÿ~ª}¼}B€Q„Ù…µ„WƒÃƒƒÆ‚(‚ÿƒwƒƒƒ1‚ €Ô3€×}Õ~@~Ë€Ë" +„ü€ÐÍ~ü~±}ß}ûƒÃ„<ƒ‚¾b€¢€Ä›}y{þ{ýy~x­z”zy°zzgzû}’€Ú±€¥€•€ˆ7ܤ€ƒ~l|è|À{À{zÖzò{Y{¸{U{C{vku^tÎtñtõu†v)v:vdv:uäuîu£sãuBwtŠsûusrjv9tÈnâprñq/kômpt%w`w|xâxv¸u­oâkŠl,p&mËl m?lklEmipîqq—r³qKnìmÕrvw*yqz¬zOzÒz7yñyUwªvlvUvÝx~xby’z–zƒzÝ|¨€@~N}J~ž]€X‚²„„ˆY‰­‡‰R‹RŒ_ާRäŽáŽÄŽ'¯JÖvŒ4‡e‡È„ã€ä}™x–z„‚¯‚ÔáH‚.|P| €f„n…f†¹ŠL…<3ršl!l"m m‡l;lòl#l—lZji"jŸk kéiSglg“fŸfhd”akaƒcÉeïdYa‹`¢_ú` _™_Q_ `vaÃb™aËa¥b¹c¸eEf6ghhRiiÔj¦kulXm>nÊo•pp€m)j;m pqrÊs”t?vRw w¡wüwºw w‚x‚yay xŽyyyözÍ|õ}ý~k€%ۃ…º†Þ‡oˆCˆ‡¹‡²‡„‡‡‡ž‡}‡ž†Õ…f„ƒÕ¨}{|„{å{Ÿ{Ð|£|zãz–yéyxfx‹y3yÅz'zÎzözÑzJyËy™yyÔy£y’yÃzzV{{äzÎzpz¿z {ì|Œ|Ñ}q} }|³{az²zWyØy”ycyxy—y¥y­y¶yâyÄzF|âú…ê†{†õ†$„©„ˆ„ „”……C…z„¹ƒ ƒ1ƒƒäƒÙƒƒÊƒðƒíƒîƒŸ‚É‚-‚„‚ƃƒ‚Ò‚³‚Ù‚¯‚¸‚·‚}‚Y€ù€üOšø‚W‚p‚6õ‰%€â€~ˆ}+|¬}‰~Ä~þd“™Y~q}±}¸}­~X~?}|ã|w|'{þ|B|˜|Ë|i|Y}}•}ƒ}»~}Q|Ì|Ê|ö}l}U}l}?}€}g}]}j}N}|ã|œ|@| {B{zdz]yòy°yâyˆyYx»xÉy¼yxNvÊv®våt¸r6sx}@}ËzwåwJ{Z~}.yÏ}¢}4}Ü|û€þƒe„¾„›ƒ®„m„ª…Öˆ™†Âˆ…‹y‰E„¼ƒ•ƒ¦ƒ7ƒE„ˆ„¢ƒƒ#‚̵€bé~Q}k}…}s|¥|Ù}>{zœvüu9u„tŽvÏu™sitt×u]v¬wevœwxoygyþ{Ó}}ö~Ë€÷…†¢‡‡<†z†…e…X…w…ê…܄鄌ƒíƒÙƒÛƒÅƒ«„„—„˄󅅉…‘…X…„ᄟ„M„#„ ƒì„„„A„9„9„ƒÜƒ´ƒ‡ƒ©ƒºƒÏƒ¼ƒêƒ«ƒdƒ‚ü‚¥‚a‚‚/‚ {M €ß€~í}ø}‘} |£|C| |Ÿ|ã|ô}ÿ?³Û€€X€¥€ï€úº—œ¬£wlyPw»ô€ €:€…€L“XÏê~Ô4P~ý~k~}j}m}±}»}³}Ý~~¨Í€“€µ€ˆ€S€€ ñô€N€È€pk~Ü|“{2{¶zª{`|{d}f!ƒ-„q‚±ƒ¿‚ó‚vƒÇ…eƒxƒ_ƒÞƒW‚ÜtBì‚€œ‚x€¡ž€8¬‘~¶~Å~±ì~Y|È}~„›ƒ}ƒÉ‚¢N!€~}Ð|´}|’|µ~j~i|yÚyNz|°Ö€Ô€‡€É€¶€ù€Ç—‚$À²Šî}ñ|R{{L{Ü{æ}(~?~ˆ|ð{!zIz3z'{ò~ã}Ê|”|¿|Ñ|W{¼|$zày!x›w£w3w£w®w€wv/unu4uÄuÞuÔuÐuÉuvusudt€ržvbw!uÔu sâv„P„„k„n„Ð……n…ï…â…“……©…M…=……„„‹„r„P„-„2„y„†„—„‚„W„4ƒòƒÈƒâƒÐƒÖƒçƒíƒƒjƒIƒ‚¶‚À‚u‚|‚Wúç„?€€•~Ó~4}}[}@}Q}Û~N~½¬€^€¡€®€²€Ø€ÑM¢X€è€’€]€.€€1€v€¹€ê€€€€`€S€l€A€†€–€_ô¹€ò³€G~ö~z~K}æ}Ó~~\~Œ~ç?ç€d€Š€Z€J€¤€F€O€S€€}€u}~õ€ã€ä~Ò| {¢|zm}€,‚6…„ø‚Áœ‚ø†½…ʃÄO†+„ ƒ „Oƒþƒi‚?‚‚¡‚¯“«€ ࣸ˜~‹%~~-|á}Nr€qà‚—ƒ°„¦ƒÓƒƒ$‚¢€Ÿ~"}d}@}#~2€a€ß€ë€Ÿ}ÎzØzî}2ÉÔ€(€Š€á€Þ€ô©‚ ý€ÇÏõÀÕ„~N}~|ôº6~\~s~Œ~¬}ó~0~Ç}²E}Ú}|e}|æ{þzxÃx1xwòw§wUvcuñumuÃvv uÆuÖtôu1uvtÛutsðsuwqx¹x^}|$z±yÜuðsÎuçwÔw uDt½yDzNzýy3tNr§p_o n¤m“lblUkßl}nÐpqós¶sùr…wò}D|>}@yéy{(zÊ|Ã|º{å|c{=z.zxz†|l~Ž|½zUzF{3|~{`z²~Ù€; }ù}@}a|Ô€•ƒ…'ˆt‰ï<ŽùÝ’<’I“Ž’ù’(s‰0‰„‡ek|3|+O‚…)€É} …8‡Î†‡æ…«„ë‡mŠ,ˆw‰L~'rjm¾pÃnEm¤ll¶kÚlŸmßnzl`kîmkhfŠd‹ca¬`__1]z[ß`WaV__Â_^_2^á__†`²`x`Ãazb…bïcàeVgRh»ijÖkalÆmÓo(pFq†rss8s:sr r½tœvIw,wZwÃxTyKyùzº{Ç|¨|O{ý|<|o}U~Ä€ €€k‚»„è†Á‡u‡„ˆ‰6ˆÝˆTˆˆ!ˆƒˆˆ#ˆˆV‰,‰Cˆüˆw†à…Rƒ™ƒOƒ6‚¶ƒ$ƒ„‚û‚¿á€«@}a|Ð|Œ|S{÷{k{‰{ð|a||}|U{×{´{[zÆz÷{Q{s{–{ø||Ò}y}±}û~O~B~Q~%~Š}Þ|¶|$|{à{\{"{{V{€{õ|4|}€uƒ…?…DžІ)‡‡t††5„ú„dž§†¡†¬†9„Ó„]„ˆ„ê„°„¢……s…„æ… „ì„?ƒjƒ´„k„\„ƒÄƒ{ƒµƒÒƒ£ƒÒƒÇƒK‚‚¡‚¶‚ºƒƒBƒ9ƒOƒ;ƒ‚õ‚„‚Ds€˜€~¦}‰}u}Ø~\~¾~Ø~}o}™}‰}Ð~W~5~4}Â}†}S}!|À|¾}}a~M~0}á}»}g}i}ã~H~rBe~½~W~~[~~}´}|º|X{»{zgy¸yy%yySyÂy_yxÊyKxgv“v|wv+uÉu>s;}iƒC|Ázº{‘y$}#€ç>{«~˜ª€÷„1…LJ˜‰¼ŠA‰ZˆÑЉЄ‹ëŽŽ‰Ê„ƒ¹…ƒÖ„0…-…*„¸„“ƒÝ‚@‚€Ä€±õ~ê~Ú€]~S}M|ò|°|á}} |‚y¿x×wŒwxxiy‡yÐyx´zœ|'}Ÿz2„ †µ†²‡!‡y†…ꆅDžƒ… „Œ„n„{„œ„ë…R…g…|…x† †G…Ò…±…©…‹…E…,…*…g…2…]„ä„—„„Єë„Í…„߄„y„+ƒÓƒÆƒê„„!„ ƒòƒÎƒ¨ƒ–ƒŒƒƒ‚Þ‚~‚l‚Cã—€ó€N­%~›~_~‚~Ù6Ù€_€á@‹Q€á€ù%Žæ›€Ü€¤€ƒ€‘€þ[oMIÁÈ€µ€©€›€æ€ö€„€ñ€€B€Q€E€­_|VZ‚«»à½€€^€€ÿ€È€k€–€ˆ€Í€–€[€å€Ï€-×~Ñ{È{î{Ózó‚'ƒ˜†Ú„É‚ ƒÂ…¹…;ƒN„H…™†„3‚yƒ¶„‚ì‚›‚v«€ñ2€÷y€a€~Ù}Ûp}ä}Ì~ö€æ9ƒxƒ„C†9„¨ƒÞƒÉƒÕ¢}ê}-|>}ü€Ð‡~¾€…~¯~ù ~çO|‘뀈r‚‚ø‚ €¤@Ÿq€ü€ €6Da€ÄY¾é±~×¥€ ~7~õ~~m}Ä|¬}=}a}\{ŸzºyÍxýxƒwËwðw v¢uýu®u¿vcu¥uŽubtuuLt¹u5u¾t:wSwIwE|ƒh‚H€Y}Ëz¤wvÀ|zÜqwvA{Jz‰zhxGuÇp@pÝoÎm—l¾lMl›lXnîppþrtÓuñyÎ}¾}ƒ}‘yŠyê|'{À}$|é|| {»|}_Ï€`€†B~(|X|µ}Ùzß}~K}Á}Õ~G~<}x~ŀㄓ‰Šm‹5Œ§ŽÅ‘ú’ú‘G;Õ‰Sˆ>„@€T}´~Â~| }x¢€iˆ_†M‡‰ ƒù‡=‰™Œ1‰ƒÐr¤jßmBqpŽnDmel:l=klál*jviDkldk¹g¯dc>a¶_¯_1^Ï_?]Œ]5_p_¹_ù`)`p`®`¹a a)`b`èa”cccyd{f!gëiµj³k“lƒmñop—qæssÃtCtSt3trsít+u¢vòx xÍyGylyïz9{‘}O~¬~x}Î~~È€/J‚Nƒ6„‡…ˆõ‡\‡ZˆB‰€‰ˆbˆ[ˆ'ˆ‹‰!‰9ˆÅˆ¹ˆä‰t‰I‰_‰:ˆg†Û… „Jƒ~ƒWƒ×……Â…²„ ‚Ç©—~É~0}Ÿ}…}H|Ê|S|r|Ò|é|ß|{¬{£{Q{{.{¥{ê||¿}=}½}Æ}¢~&~Ä~Ñ~9~‰}ª|ú}}|Ë|o|”||À}#}n}Ï7‚"„Ç…U…›†!†}†ì‡¢‡B‡-†“…†J‡m‡o‡(†P…X„±…4………C„î…$…Á…Å…‹…ƒ…¦…„I„4„™„à„Ó„l„9„ƒíƒ×ƒ¶ƒ“ƒƒ›ƒ¹ƒìƒÓƒñƒÛƒ¾ƒ–ƒ¤ƒjƒUƒ‚Ë‚p‚-«€³U}†|œ|!|D|½}N}Î~~L~U~h~°~…~h~7}ý}U}P}ï~8~*~1~5}ï~}Œ}Z}·~=~ìA~þ0Ée~×}Õ}Q}€}“}H}|§|`{vzÏyÅyœz5xÊxÄx¶y¹yx„xšxwvðvévívWuƒu¿sPtN{‡€T{¡z|{õ~€bži~?~¸~Ù‚ ƒF‡ ‡àŠ“‹¦‹‹äŒ¸Œº ‹ÜŠ.=‹„…‡v‡V„­…‹„å„§„m„„‹ƒ ƒ!‚»‚#\Ù‚2»˜€í€w€o€þ€û€v€ Œg}Ý|3zx¥x½yè{>zÏy­y÷{ÿ}Ëß‚„€†p‡S‡Êˆ$†ò†'†ˆ††2…Þ…«…j…:……M…Ö…Ð……ņP†–†y†4†`†/…ò…˜…‘…ù†Z†0…Ì…V…V…F…h…j……… …„Ÿ„c„)„S„n„U„„‘„v„`„5„)„ƒ¾ƒRƒ6ƒƒ‚¬‚l‚=À2€Û€r€€€@€n€×‚Øù´¾ªnd½¶·¼Ã½œ—΂‚(ÏÂß¹·Ñ>€³€ål€ç€p€y€€€\€y€h€t€o€D€ûÔµŸÐü€2€Ø€ˆ€¤€ñ€É€¨€â€qBI6~u}÷|X|]{Üz`{}'‚¨‡…„û†[…™†……I†‘†I…'ƒ0ƒƒ ñ€ö‚™‚Á‚ ƒ ƒƒ‚t €z€›–ž€•€aê‚MÊ„,…釈‡à…Û„ó„CƒÂ‚ßq|I~ã~€N~Î9~¦~Ð~¢~Â~x~´~x~ì~ð~ òù‚§Ô€ã€¶€b€‘€Ôƒ‚6•‚Èõ€zÜ}~¿çs¢œ€R¨}°}Ä}|”||{iz.y}ylxxtwÉw(v’vluºuuau)uÐuÉuu{tØsütt»u¿u¾x\~¬‚̃ƒƒc€Ø}p}W~h}Ñuªt-yS{2z@yÉxyo´p@qnwlâluo"pp=ožpgq~v:z6zYzH}¹~âzU{—|­|}B|Í|*}~GŠ€ç‚.‚l?[gŒ€w}}‰|ª~}Êê;}LYF€ˆj‚N…’‡«Šâ ŽÂ‘’Ð’?Žû¸’|’#‹^‰Ë„M€ó€¹€Î€Ù¿}k€K„ƒ†ë€…Á‡@w„ Šä‰Ålóièn­n×n_mºmlRlAkµl±häeÎf:iUfàfÝg.dÊd0b’_Ÿ`'_¹^~^~_e`:_Äbe«e“dóc˜aé`©_h_ñ`ëcÏd…e|fþhìjck•lmÊo pœqÑst,t­uPv9wCwbv–uÒv\w‡yz {R|p}P}[}»~Ìéq~äÉ‚[ƒ2„?…$…憛‡‡[ˆR‰Z‰Dˆuˆoˆ0ˆ/‰;‰Ÿ‰s‰ˆû‰›‰ô‰€‰˜‰‚‰êˆ`†/…„˜„Kƒú…†<†6„Ÿƒ4‚7€&U~\}Ô~~T~~~}v}–|á|{ä|{í{ì{Ë||n|„|Í}x~~”1SžH ~½~Ç~½~`~}ú}÷}þ~<~¡|`„…»…å†9‡„‡‚†é†j‡‘‡~‡"†g…7‡{‡ý‡§‡A†‘†…@…¢…g…A…C…>…˜…å†B†>†Y…à…„°…$…\…,… …„ð„Ä„h„ƒÆƒ†ƒÐ„„ƒé„-ƒðƒ¿ƒŒƒ«ƒMƒ"ƒ ‚Û‚·‚š‚oÓ€·~Ã}{ú{e{v{»|1}}±}þ~~j~Š~‹~>~}ü~~¤~à~½~Ò6AG8FB~ï~¶~˜~-~=~5b~c}o}k~*~`}¨} |0{ó{Ž{ozîzizTxÀxAwèwüwñwýwáwôwywlv„vÃvévv?v¥q•p5zÐ{6ze{X{j~ÆNû€‘?1„րЄš‡þ‰Š‹.hŒøP¢õR“‹‡Á‡……‚ŒƒQƒÇƒ‘„„¬„Ѓéƒñ„]„;ƒª„x„鄨„Á„3ƒp‚¸‚Ö‚Ÿ½M€·€d ~u}z÷yty0yž{A|2|½~Ì€]í„\†¬‡J‡®ˆËˆo‡<†¼†Š†x†¸†l†_…ù…ç† †3††¨††ë‡|‡j‡À‡J†ò†¯†‡†S†ž‡>‡†t…ò…ú†…Ѕ醅þ…²…Q…#„؄̄˄ç„ü…$…;…`…E…„½„«„„8ƒ½ƒ•ƒšƒ¦ƒ‘ƒS‚Á‚a‚‚)‚ϼÃõ‚ ‚I‚d‚y‚)‚¡¤³¬Ö‚‚C‚c‚E‚@‚$‚,‚U‚O‚d‚%ʨC€ï7bNgwa€š€b€f€f€ ð¯ÄÙ€€P€º€÷€îQz.€Ú€½€—€¶€§"c‹€×X€Â~É}°|Ã|j|ïzh{;–††J„²……ˆ„ø†„é„u†i‡C†ÇƒªŠº‚j‚Q‚é„:„ü†S…£„,‚žÆ¬ÈŽ€€Ó ô‚¹ƒÝ…4‡ÐŠ¡ŠÍˆ¿† …Ô„ô„„ƒi€®€Þ‚8ƒ€}Ò&E}½÷€T€€?—9~Ð~~B~<~hd€®o€€n‚‚n)‚»‚N‚ƒ‰€€ƒn«ÆƒÒ„F~~S€øN~Æ}a}f|ÿ|Õ{M{$z,y—xÿxíx¥x;w°wswvOuÎuu“v¡vgu–tìsés sÐtÁt|vý|†ƒ<…¦…L…¢‡¤…ý±{Á|Ï|ªv"v5z±zx„{ˆuˆp,oÜnèm¦oÌuv\r§oFoƒswïz {{°~Kg|O}9}¡}[}®}b}m~*(€‰‚}‚«‚'‚>‚8i€¾â‚€†}ü~t|Û~«€ã(€~W…R„†ò‡k…€ˆsŠ‹Œß‘è’E’¶“ ŽÎ“’KŒ€‡ sH~Kâv‚ÁÊ~Û„©…>¹¤ƒ*E~Y‚\‰"ˆ`Xok¶kélðm†l?m lim!lHiBeôfâfmgñf\f—gee×càb_ê`bfb‹ba|_œ_’b¾fe±eäe„c/`½_f_Ã`(cfeMfÍgýjZk\l˜mZn•oÖqtr¡sõuvv¾wLx‹xTw¾w_w×xKy‹z¿|3}~ÉN€d)€”€¦}‚gƒp„~…-…ð†°†ö‡2‡Ø‰G‰˜ˆÃˆµˆÞˆš‰‰º‰ß‰Ñ‰¦‰¼ŠIŠz‰ðЉèŠO‰¦‡Ô†Z…Å…ô…C†‡V‡ …Å„+‚‚&€~í~=~~Z~Ã~ð~2~}¡} |‘|m|}|°|œ|“|©|¤|Ø}A~ ~ÒÈ€_ €Ö€¯€ø€¤€,€€€Ü€€‰¨„ ††Ä††dˆˆè‡Ø‡†à‡X‡W‡ †G…˜ˆUˆf‡¿‡Ê‡J†…؆5…¼…s…`………y††ú‡†½† …Î…Ã…s…r…v…D…Y…u…)„¼„—„k„f„€„´„‡„£„„f„7„ƒ»ƒ•ƒXƒ#‚ñ‚¾‚Ђ‚€¬~‘|ï|{_{${{E{Ä|'|e},}Þ~B~)~=~a}û}Ò}ï~!~)~Ç©p~ú~ù$~£~~V~ ~Ü4~ö~Ó}¹}U}Ä}â}â}ˆ|Í|º|m{‹zÌyÜxðxqxwÆw…wBw‹xgx0xBwzv¯vXw.v´w†V†h†}†D…¾…P………,…u…ž…¼…ù…Î…×…Ÿ…=……6…„È„4ƒû„%„k„ƒ„8ƒÁƒ›ƒaƒ:ƒƒ%ƒƒ(ƒHƒ'ƒ‚Ñ‚¤‚u‚_‚‚0‚'‚B‚J‚¡‚æƒ ‚Ô‚¦‚w‚h‚`‚]‚'ÒˆmC€÷€ì€¸€°€ €œ€±€é€?/~Ó~a~~X~b~~G}é}Y}I|Ü|Û}}U}£}O|ð|»|á}j~aÆ€þ‚‚Š‚ ‚@‚(‚4‚r‚ªƒ;ƒ¶ƒÎ„=…ˇE‡œ‡‰‡‡°‰‰ˆ¸ˆg‡ž‡W†ð†Ê†A†ãˆåˆ¬ˆ™ˆ‡Š‡+†‘†e…ï…¥…m…"…,…‡†ê‡¬‡À‡”‡R‡†—…ê…|…1„ç…!…~…Ê…–…X…5…:… … „õ„Ú„Ú„â„ú„Ú„–„_„ƒñƒ­ƒ`ƒ ƒƒ‚d }§|{Ò{ezøzô{zï{š|||‡}&}Ó~.}÷}‰}v}}}v}ï~}Ó~6~“~/~~5}ù~Ó~È~À~â}ß}E|í|‚|¸}|.|W{syôyfxÆx˜x7xw‘w>w×x@xBw¿wovÓv©v•wvEv…vÉv´v²v¹tns¨|Û|yŒyÄyàsƒ¿‚΄„Ö‡u…˜†¸‡«‰fŽŒŽ(åΑ•“’¿’J•‡–ŠÕ‡l‡¬…ׄƒ©ƒP‚Ç…X‡j†µ‡¼ˆÝ‰d‰'ˆ­ˆŽˆÃ‰Hˆ^‡š†A…#„ƒbƒ ‚.Þä~s|é{ó{Œ|~K“9ƒ„O…A†Ãˆø‰òŠˆù‡Õ‡’‡h‡´ˆˆ)‡i†ï†ž‡‡¨ˆJˆ|ˆö‰:‰.ˆþˆ§ˆ,‡Ë‡£‡öˆˆK‡ï‡i‡†¦†~†‘†¶†™†}†#…´…e…„…¯…Ɇ††Ã†Ô†¥†f…ë…ª…w…±…°…D„j„+„u„è„Ï„Œ„Õ…"„Ì„v„H„„ƒûƒ¬ƒ{ƒRƒ‚ø‚Þ‚·‚³‚΂‹‚Ä‚áƒ%ƒ‚Â`‚@‚ ‚;Œ—ƒ$€ö€¾€¢€z€s€`€†€†€Š€·X‚‚Ñž§–«‚l‚V‚K‚Š‚±‚j‚y‚G‚¶‚vAj‚‚C‚‚O‚¨b€c~3}‚}Á|Ÿ} â„<‚­„ …±†‡††…¾…>†Å‡ ††T†>†ÂƒÕ€p€ë†8‹‹‹fЉ_‡<…Ú…m…0ƒÜ…6…„ƒ-ƒ°…A†Ì‡¨ˆ‰×‰4‡ø…˃â‚ðƒü…¨†(†L„Æ„û…„ƒû‚m<€7~ÖB‚肱‚=‚€“¯Ï€€N€ñ€j€V€>ç€,ăXƒ2ƒ¹ƒÜ…yƒÔ‚y‡{Їš„ȃM‰Á‹†¥Šê‚B~‚¬‚Bˆì?}×|â{Az÷zšzàzÝzùz¥z/yïzyÁyiyGy xèxÂyºxþv—t€sÓsÏt½tüw\z}|<6:áÈ2|äyz8y›yOzxÌ|d{Ïs²tvÜw‘wuéuët]svñ~o{{‰~½~J~›~a¯ç~Ž~ ~¼ç‚ ‚Ńr…ꈱ†X„„‚ô‚ÀƒdƒSƒ©ƒ‚Û‚’ö(€‚x2‚9Aƒ-ã‚•……ˆ¿ ‹æmŠ”ˆ÷†úŠ ‹F჊‰PÁ~΀€“‚ƒÃƒÚ‚/‚]Š}Ò‚~õ€ö„ù„|ƒõ¤yõuœm1l-lTlÂlÜnîm”fÈguj hOfŠgfÌe5dÀdgbÙ`W_…d[fÜd•a_½^Ó^þa dNc{dÑc»cöc|a»c‡d‚gYhi¼júlMmn!opSqdrùt=ufvÀwíyyŠyÐy¯yðyæzZz}{0|G}á~Û‹€W‚Rƒ2ƒMƒdƒæ„}…^† †¶†Æ†¡‡:ˆ¯‰¨‰á‰‰bŠMŠšŠÌ‹йЯŠÁ‹‹h‹Š‹n‹8ŠúЏŠî‹8‹«Šôˆ†††,…÷…ñ†m†¦…ë…„{ƒÐ‚X€å‘~Ø~~Z~*}ü}ù}»}p}1}8}?}S}T}›~}Þ}b}}Z~~‘QÌ€Ú‚aƒTƒáƒ“ƒ«ƒÅƒÖ„Ã…·‡†ù†K‡2ˆ$ˆ$ˆ‡àˆD‰¬Š‰‰‰‚ˆ¬‡·‡$†ô†Ç†”ˆ©‰)‰ˆìˆRˆ †é†g†O†…­…<… …ކ¸ˆˆ‡¥‡–‡r‡6‡ †«…é…Y„®„”„Ë…R…Ɇ…É…•…£…y…ª…¡…¤…¿…Ó…¥…8…„Ô„|„F„E„8„ ƒùƒ‘ƒA‚£t€S~ü}ù}D|ž{ëzñz‰zŽz~zÃ{n|}.}Ë}Î}}x}…}A}$}}} }|×|þ} }è~ê~~Õ~k}|g{Û{®{¹{ˆ{,{@zEyDxãx|xyxQwøwËwtw®wÙwwOw1v˜vMv>vv¥v'vyw©vSw3v¦u®?˜{b{&{ ~ãƒÞ„ …F‚ðƒá„R…ΉUˆuŒKŽg޳x5’ã”á’e’ÿŒ‘‰>ŠMˆƒÞ¤€´‚ …°ˆ‰‰•Š`ŠŠ‰ö‰È‰ÈŠŠ‰`ˆF‡]†u…„Ü„@ƒ–‚Ý‚H’€K~ê}¦|Ð}Ox‚~„ „B…ɇ«‰1Š:Š‚‰>ˆ‡ùˆ&ˆàˆX‡Ä‡b‡u‡<‡Ôˆˆ™‰?‰‰›‰M‰)ˆ÷ˆ¤ˆMˆŒˆÀˆcˆCˆ ‡„‡,†¾†¯†¸†ø†ø†¸†?†!…Ü…Ø…ã†C†Ù‡=‡‚‡s‡(†Ï†q†…ㆆ"…±…„d„}„ë…›…µ…y…`…]„ù„æ„Ô„˜„„„J„(„:„0„ƒ²ƒ{ƒ‰ƒlƒlƒrƒ‹ƒ‰ƒŒƒ%‚낎‚h‚Ú¯}e€ì€Ã€Æ€º€¸€ù€Ä€§€É€ø€ˆ€»&€ÜA·š{ÝÆ‚ æ‚!‚G‚o‚Œ‚m‚>‚B‚2ʃ4‚4 ‚8ƒ9‚–ýâö~7~}ô}þ~r¨¢û€:‚‚„·ƒbƒøƒÀƒ‚õ†(†¼ƒö„Ñ„÷„ǃ©„$Œ€‘ŠiŒ]‹Ë‹pŠ`ˆÑ‡ÿ‡2†…£…«…ˆ…{„¿…”†Ø†Ü‡Yˆõ‰T‡A†æ†„‚úƒó†1†§†ã„wƒ–ƒô„[†‡o‡ƒ³U"€«€fãƒS‚ˆN€;€€”€çRfªn‚‚݃gƒt‚Ÿƒƒ‰…i„L‚Ňú‹C‹+‰©÷‚ЇY‰Úˆzƒß„‚„‚€©`~|ú{ß{˜zî{R{Ð|8{£{b{{{zú{.{5{7z’{{xÝu`tªt÷u¿vuwsy={à|Ò}䯂>ô€»€å~_}¨}Ó~^|Uy‰x·z}}w}u?vwuv»t£s2qµr[wâà}[}3ú€3%-€g~ü~'~ò€€³‚烶….†_‰£‰þ†º†‘†2„|„ƒÁƒø„’„ü…ÙƒÓ‚Þ€öåÊ€Ú€|‚+‚`‚õ€ù‚°‡”‰þ¹„¢†A†‚„µ…œ‚ƒ¿†‰‚Ÿú‚܂Մ΄„+›‚4L}{A~iè„‚u‚Ƈ”…àxùu‹pêl^mãnVnÉmjdùeÊhEg¾feeÓf1eÌeöc¦ba`”`\e9c¨aëaa`§`$`«a”b7a„dÎd0b±dŠe$gÎhji.iÚk¤l—mpn$o4psqàstuuzv³w°xéz4zzpz¸zÞ{{{—|®}·~ÿj€.€ú‚Žƒ}„O„`„…)…ä†a†¥†È‡ˆ‰7Š$Љ“‰yŠ‹6‹…‹a‹?‹&‹?Šþ‹ŒŒ}ŒI‹¿‹¬‹e‹l‹ÃŒšŒD‰h‡hˆ ‡(†H†î†Â…b„È„‘„#‚ó€ðÓ;~À~Ÿ~w~N~$~}¥}}B}V}˜}Ê}õ~ }ï}„}¤~X.{Ü€€‚ƒƒM„„»……8…•†¯ˆˆÛˆ^‡ìˆÂ‰S‰}ˆÚˆ­‰»ŠoŠ"‰ÜŠ ˆ“‡¥‡£‡ˆ‡U‡Ì‰r‰q‰U‰ˆÂˆ3‡#‡ †×†„˜„8…=† ‡èˆV‡á‡¢‡š‡‡®‡‡2†œ†\…¤„¿„„‡…?…ï†S…ï…Ç…ˆ…·††U†_†D…·„è…%…@„à„Ø„|„K„'„„!ƒÚƒÅƒ ƒ-‚Ê‚RN€=~á}{´z§zAz\zó{v{þ|Û}ì~G}ð}ž}b}9}|ü|õ}5}K}o}å~Š9~È~}v|S|%|$|E|o|1|{yÌxôx|x›xx˜xOxSx8wòwwiw.vÛvŒvv´v_vbvÞvØvÓvœvëwAv‚w~{{Ð|{|l‚„ˆaˆ%†{…}…¢ˆgЏÿLí»”Ê‘É‘@“á‰W†¢‰‰ˆ<…Ë…²‚´ƒ‡‡ˆòРй‹9‹N‹/ŠúŠIŠŠŠôŠÛ‰°ˆŠ‡Å‡©†Š…Ë…(„W„ƒ~‚ÝdÓ~Ç~a€mƒ¦ƒ¡ƒþ…H†x‡ˆ‰›‹Š¡‰Yˆ¼ˆÜˆÛ‰ ˆMˆaˆ!‡ï‡äˆHˆ¬‰:‰;‰9‰C‰B‰6‰ˆøˆ÷ˆÕˆHˆ\ˆF‡å‡‘‡†¾†Æ†»†ò†Ù†œ†^†_†0†[††ÿ‡\‡Äˆ ‡Í‡y‡†á†”†˜†¿† †C…Ù…a…w…Ɇ†$…Ê…p…w…ƒ…’…X…2…!……+…6…„¡„6ƒôƒú„ ƒüƒÔƒÌƒÐƒ©ƒ"‚Õ‚n‚L‚úçÖ¼;#_|:AJN0L€â€õ€ß€Ê€²+^wž£áÿ‚j‚\‚‚¦‚z‚©‚¤ƒƒ!„ ‚®D7‚‚„‚ä²K0~Ÿ.~×!€K€l€’€Â(€&}¶!€1|¶†`ˆ»ƒ.… …÷„6ƒ„ƒÚ(ƒp‹‹¦‹Ô‹m‰µ‰Hˆøˆç‡—†Ê†”†—†¨…e…ù‡;ˆE‰r‹]Šs†Ã††‡…tƒ¨‚È‚ƒ‚ã‚ÿƒƒˆ…]‰wŒGŠô†ƒ_€Ô€óË„.„"‚“–;È‚¸ƒ‚•€kã‚#ƒ]ƒÌƒl‚܃¼ƒ„&„΂Ɇ/ŒJ‹ùŠˆòƒ>‚kƒ˜ˆŒÙŽDŠÍƒÊ€‘š~~š}ç}G|©|…}[|ñ}}|||q{ÿ||¢|Ž|W{ž{P{Øzòwyvv€vÄwEx¢z>|7}þă8Þ€•€˜€™O}Ì~{~á~%}âZ€}Éxu$u×uÎtçr$rtuÍyÙ€=}â~¿΀f€{[·µ€$€Ù‚R‚Fƒô…Q‡‡ÀŠ+‹€‰X‰Rˆ—†ê…î…&„?„„Z…+„®„ž‚ý‚”ƒg„JƒKƒ„]„Vƒ]ƒÒƒ»…C…x·†ƒI€®‚r€ó‚õ‚o€ö‡‚/‚ö…¹…‘† ƒn ‡ƒ.Àè~¹†…܇L‰[‹|~ÆyœuîqÂs0pOpyl|gmdédse~fnecïd‡cce`Ð`‚`€bgd[b?aa``™a·fÎgWgg©dEdìgýj¡j¯jÕkÙmVnnÂo~pñr/stt­uìvêxx÷zz²{{{E{¬{ù|p}/~]~ó±ö‚ƒx„W…*…b…à†Q‡ ‡1‡eˆ)‰PŠsŠ}Š ‰ÓŠ2ŠÍ‹|‹¤‹Â‹m‹q‹Z‹•‹ÀŒKŒ¯AŒìŒzŒ9ŒGŒjŒŒÒ3‰ö‰‰š‡h†ù†Ö†…æ……„KƒL‹€<¿t:~÷~Ý~‰~Z}í}Å}²}ñ~#~N~6~~<~L~«Mú€F€¨“ƒCƒjƒ`„]…²†\†ü‡kˆ ‰=‰H‰§Š Š}Ša‰Õ‰{Š@‹#нЂЕРˆ„‡äˆ9ˆLˆ)‰‰½‰‘‰ ‰ƒ‰"ˆ‡¼‡c‡ †„5ƒâ…«‡rˆzˆ]ˆ‡úˆ%ˆ+ˆ<ˆ‡à‡N†è†¸…ë„“ƒõƒÊ„††8††>†é‡‡g†©…š„Yƒkƒß„ç…Á†}…½„œ„8ƒÏƒ®ƒ¶ƒÂƒ£ƒ„ƒOƒ‚«‚Iÿ~•}{Ò{=zßz’zÅ{À}}Û~ }Ì}Ì}Ï}×}þ}ü~~=~l~Ž~©~K}¡|Ñ|›|||F|0|U| {°zy0x®xwxçxÔxÌxòy(xæxvwŠw%w5vívâv{vDvvtv„våv›w4vàw vâu¡y8}œ}H|~–€ø†ðˆ+‡Fˆ‡`‡‹Œ2m‘k‘ ‘\“p•\”S•犈mЧˆ±‡…(‚T…ˆºŠbй‹mŒKŒm‹ç‹3ŠöŠß‹ ‹Š­ŠLЉˆ˜‡Ê‡È‡‘‡™‡…ƒ„Ò„ƒ"E€€Šƒ:„A„f…l†Äˆ6‰ÿ‹Š›‰˜ˆæ‰ˆå‰Q‰a‰‰r‰6ˆñˆâˆèˆçˆÏ‰+‰C‰[‰^‰§‰‰ˆ|ˆUˆlˆ ˆ‡“‡'†ý†ù†ç†þ†ô‡ †à†¿†Û‡)‡–ˆ ˆ!ˆWˆD‡é‡¢‡Z‡†·‡†ê†Ç†o†…ÿ††)†(†…Ø…»…n…P…’…®…©…„…t…t…Z…„°„§„ „„„Š„X„ ƒßƒžƒtƒEƒƒ‚낽‚À‚«‚¨‚©‚Ä‚·‚ɂႨ‚Dò½s@)x!€÷€á€Û€üpQuÑ·Õ‚x‚’‚8‚&‚‚ƒƒƒâƒûƒµò€Í€òº‚¼‚uÆ€„N€Ø€s߈O€€€|€ÝY|½{s~ H:„Š‰Ð†Ûˆˆ!‡ˆ\†šƒ6†NŠ}‹<‹ŠbˆÉ‰%‰‰|ˆŸˆ‡ì‡ª‡?…A†H†4‡4‰z‰‰â‰ñˆEˆˆu‡……t‚GÍ~ހЂû„„臠‹'‹-†±„ƒ0º³¤‚´„U„Rƒ¡ƒ}‚=*€À€¼€¸€-€€b‚X‚O‚›„Š„Ž‚Ãƒ*„/‚‚æŠrœŠÇ‹„ý~v‚pƒ‚„`ŒTމò…€pË:~Ÿ~e~éÿÿ~ú~7}™}9}=}%|Ì|õ}t|ò|"{^{ {Ç{{yWw}n|zçzzÖ{¦|a|¾}Y~p~³~Ï ~é~Æ~Ü~X~/}Î}H|ñ|Ž||‹|}|Q{Ã{Ez¤yÛy x xØxüy7yYyQy€y y6xsw€w2wFwMvÉw vàvÊw$vùw5wwvwvx w vitòyª~œ}€M.ƒP…÷‡¶‡ˆ¿‰ˆ ŒeÝ“˜“2“S–}•"‘Í–X•†,‹ÿ‹‡u†r†‚®…؈ˊn‹'‹®ŒùŒÔŒ‹`‹Šà‹‹VŠèŠ‘ŠvŠŠŠ6‰—‰ËŠ(ЉŠ‰aˆ‹ˆp‡²„‚z‚a„„U…2†é‡ã‰8‹‹‹‰Ø‰»‰¶‰»ŠŠg‰î‰éŠ`Š(‰Ú‰º‰.ˆðˆïˆêˆÝ‰‰€Š‰·‰ˆ®ˆžˆŽˆWˆ=‡“‡n‡E‡)‡F‡‡åˆ/‡Ø‡?‡D‡Z‡‹‡ýˆFˆxˆ^ˆ‡÷‡Ó‡“‡'‡‡†¡†E…܆†n†X†O†@†††;…÷…Û…ê…Þ…‘…)……$…G…G…G…9„ù„ä„â„‹„M„ƒÿ„„„ ƒäƒ²ƒpƒiƒƒªƒÀƒŸƒY‚‚´‚ƒ‚i‚%Å€¦€¹€Á€Q€E€®€ê€ö€ò#Dy‚.‚,òË£Âø‚Ÿƒ^ƒ„'„K‚1€íNªÑ‚<ù€¼€.\€D€÷€$€<€r}¿|b||æ~¦‚[„aŠŽw‹vŠ9ˆu‡¼‰Ãˆ>„‹†"‰%‰ˆUˆÆ‰¦‹d‹Q‹Š‘‹ÚŠëŠšŠ™‡5ˆUˆûˆìŠ.‹g‹e‹ŠêŠF‡ÿ†}ˆD†§„Ø…f…¯…ñ…)ƒ‰…Hˆï‹FŠ3†Ï„nƒîƒ4‚¯ƒ!‚ûƒL„½„þ„£ƒ\‚«€f‚7‚:{‚ß €þ„„óƒ‚S‚섃ĆÎLP‡&­ä¼‚^‹òŒÇ†Oƒ$ƒn‚‚‚}‚݂Ѓ«ƒÿƒU‚/ú~ü~}}Û}8|Ù|Š} }=|Ã{Ì{W|6{æzçxîw¿xLyyãzÈ{p|º}7׀䂬‚îƒn‚ЂçS}ü}Ì~Í~~Ž‚Ë£|TzÝxÆwoxÕ{C€òn‚þh~-ËôÅÒõ€C€*2‚¾„ † ‡Z‰Y‹[E¤¾Ž¾ŽcŒF‰Öˆ­‡|†…Ѕ؆J…Ì…†k†û†è†Ç†¯†o…Ñ„*ƒIƒÃ‚~‚ëƒÈæ„‚Ÿ‚„‚ò‚¾‚J…„™„k…Œƒ×‚˂ԃö„ƒ™‚‘„ñœ‚ˆ†Á‡ŠŠŒ‚ŽéÆŒ¨â€ÙÍv.qÉq›oÃn$mÔiBd—bºbÌcbòcúb‚`oa}í~™Cã€q€ßN»‚¾ƒƒ„A„ñ…ª†y‡‡ÝˆÅ‰æŠq‹‹­Œ ‹[ŠÀŠº‹‹ÕŒ'Œ[Œ‹í‹éŒ Œ ŒIŒžŒÜ1EF{îŽ&ŽaŽ£ŸNY‹M‰Ã‰eˆôˆÌˆg‡(‡-‡%†Ÿ†˜…E„ƒéƒÂ‚‘¸™7 €”€<ù€€õ€€õ€€;€€°aô‚[ƒƒÒ„Ä……:†C‡‰ˆQˆ^ˆˆå‰\Š=ŠW‰‰'‰Ó‰ÔŠß‹¼‹‘‹>‹‚‹”ŠÍˆçˆö‰ø‰†‰¾Š‚Š¡Š8ŠºŠŠS‰Ò‰‡ˆéˆôˆà‡u‡N‡‡eˆ‰;‰*ˆÅ‰‰9‰¬‰qˆïˆF‡ì‡{†ø†ª†‘†…Z„+„…$…ø†¦‡<‡v‡#†p…{……G…’…e„Õ„Œ„W„ „ƒÊƒ²ƒÌƒ´ƒvƒ˜ƒ|ƒ‚Ö‚„‚w‚g‚+ÄP€Ö€~|×{±{*{A{|{¯|¸~­qiS~å~…~8~[~V~}Å}>}|ë|¤|3{czýz‹z yÅy2y,yXyŒy˜y…yxy yÆyy2x™wßw¹w-wŠwTw-wMwswvw”x x@xÇxFyÝxæxZuz«‡î‚¤~Šå‚!„¢„‚‡G‡´‹‹ìŠ‹ï‘÷’•1””“Ø”Š–%–ö•R”W§Œ0ŠA†—…Uƒ"†•‰ç‹ÑŒŒ¨UAŒæŒ'‹Ú‹X‹}‹l‹’‹›‹ß‹Ö‹µ‹]‹k‹ØŒÀ%‹ÔŠÑ‰²ˆù‡c„胴‚g‚Xƒä„É…ñ‡aˆ3ŠŒY‹‰ÂЉôŠoŠéŠéŠòŠ÷‹‹Šƒ‰Ô‰G‰ˆÜˆËˆÑˆÂ‰\Š2Љy‰ˆîˆâˆÂˆyˆ>ˆ‡È‡â‡ÿˆ5ˆpˆœˆdˆˆ>ˆˆˆ³ˆÛˆ©ˆQˆ/ˆ‡ï‡˜‡~‡˜‡0†Ÿ†6†d†¼†¦†u†“†§†°†ä†ö†g†C†…×…„…4…[…‡…è…ä…©…k…R…D…8…„ú„݄߄ç„ô„õ„²„\„'„ƒþ„ƒ÷ƒßƒ…ƒCƒUƒx‚è‚‚'ÁF€«€^€^€[€»°€ €q€Ô +…Á`F8\gŸÜ‚J‚–ƒƒv„„z‚Ú€ëŠÃáa€ø.€œ~YTw§€l€N~9|²}ó~·w„«†1ˆç‹ÌŽÃŒdŠ´‹&‡®‡ŸˆÑ‡}‡»…h„L„€†åЍŒ™Œ¡;‹ ŒŒƒXŠ)‰4‹xŒ¦ŒRÇŽŽ(ŒÔ‹<ˆYˆ¦‹ñŠZ†t„䃴ƒÏ„ûƒ«„T‡;‰‡s„9‚=‚ã„„V„ƒÏƒ„…m…Ά…x„RN×bƒK‚ö‚|‚L‚ׂãƒEƒŸƒ˜‚ó…Άð„ï†ÞŠŽž‰w·€{‚Cƒ{…·ž=ˆƒˆbŠËˆ…ˆ‡ˆÕ†]…Ã…¦„“„d‚ë<‘~}—}}}¤}–}|{Ú{Â{ÌzæyUx™yƒz{†|}}~6È€6€Ž„è„ ƒ3ƒ°Ó‚ÿ‚قق҃p‚Ûœr{zJ|þ€Ï‚ô‚ï‚€‚IÃ~6~ò¥~Ó~Ý €c}‚ƒ¯…X‡ˆ"Š Œ2zŽ¡8x‘äfŠžŠ.‰‰ˆb‡B†É†û†ƒ†}‡Iˆ‡Ã‡Ÿ‡1††ü‡R†r†%†O†C…±†Ð†q†¤‡A…`††3…°„ŽƒY‚þƒP„„O……Ñ„ù…!‚q…¦†U„2ŠÒ‹–ŒÄ‘ކ‰G„bzqáoæo¨oioûp„k¿e+ccÖb”cJg‡fpa»a¿b…¹†…‡6ˆ.‰HŠj‹R‹ƒŒ)Œ£Œ‹2‹3‹WŒ ŒiŒŒŒOŒ=Œ-ŒiŒ§Œ· _,.;§úŽš›ÁªŽÄ‹ÃŠg‰¥‰&‰‰`‡^‡Eˆ³ˆWˆ"†Û…ˆ„Ó„\„'ƒÿƒ‡ƒ<ƒ‚j‚Ä~A8QYsafaØ‚ ƒƒ’„… …Ò††°‡¡ˆ?ˆŽˆ¿ˆç‰‰s‰ñ‰.ˆÞ‰‰›ŠQ‹áŒ‹ˆ‹l‹®‹CŠC‰:‰èЉЂ‹ˆŠüж‹,ŠÞŠšŠ@ЉT‰[‰^ˆ‡¢‡3‡Œˆˆ¾ˆ­ˆÈ‰0‰J‰×‰Ð‰ ˆ{ˆfˆ&‡ƒ†æ†ß†0…ƒä„0…ֆ͆¾† †p†/…÷…x…†F†¬†»†i††U†…²…U„¸ƒûƒÃƒ„ƒoƒ„ƒ}ƒ7‚–‚‚>ºl/ €€²~©}ƒ}|Í|C{ö|¦~J ~­~Ü~Ý~Ÿ~ª~|~w~)}¢}|”|‰{ß{HzÎz]zy¹y¢yÀyìz"zyõyÄy‚y²yÕy¡yIyxNxxxExmx8wúxax»xëy[y/y¡xÅy¬y«z w°y—€8…6„@‚î…‚³‚-…yŒÌ®ŒmŒL¿e’B•K’i’|˜™ì—Ø—p9‹R‹!ˆ„ƒØˆZŠ‘‹â‹ùŒû6‡9ŒŠŒa‹™‹‰‹c‹ò‹íŒ}ŒÔŒâDªO1‹®Š“‰»ˆ^†‹…§„ƒ~ƒj„O…r†°‡æ‰ Š»‹ã‹…‹ŠÌŠÂŠ÷‹%‹~‹¸‹Ê‹£‹OŠžŠ ‰Ã‰t‰#‰ˆö‰B‰÷Š¢Šž‰ù‰¥‰x‰<‰B‰<‰/ˆ×ˆèˆÞˆ‘ˆîˆùˆîˆ÷ˆìˆ½ˆ.ˆ+‰-‰Lˆ½ˆSˆ@ˆ!‡ü‡ä‡ÿ‡»‡†ý‡O‡¹‡„‡#†Ì†Ð‡‡K‡D‡†»†‡†t††[††F†r†x†X†(…Í…Ü…Î…Ú…Á…°…¾…¹…‰………<„Ê„„„I„b„ƒ„¹„‡„ƒ~ƒXƒÛ„ž„ƒƒ‚|Ë€§€_€U€ Ük%4‹Áü€tbåEN'šÕ‚j‚F‚Ѓ»ƒVƒÛƒyÚ{{'{œ{ø|º}^}§~~ƾ€…Y…ƒK„H„è…ñ„ë‚uò‚Ê‚ýƒ2ƒÅñ~Ô~ö„ƒô‚>‚‚€~¿p€(~ì~ÇÔ]€‡Ž‚µƒA„r†(‡3ˆÔŠsŒ°Ž§9ª’d’(‘ˆŽ~‹ë‹&ŠŸ‰»ˆg†ý…ø†Ê‡Š‡Ð‡Á‡=‡?‡?†Ö†Ð†d†§†`†B†~†„é…ƒl‚¦„‘ƒ–…kƒ°‚£„·„w„ž…|…膇…ƒÔˆˆ×‡à‰„ˆЇ޹I„ŒïzuAq—p3pÇrræmµf¿g™he’f3j)gþc&c>bÉca¬cêh¸dM`žcaêc=hdj§iBkœlh¢lDnânœoßptqdrít‡uvGw1x/yxzz{{{ü|Õ}c}ç~=~Êh€)€ÿÍ‚]‚ŃPƒ¹„?„ … …q…ñ†‘‡´ˆ…‰§ŠÊ‹¤‹íŒnŒáŒX‹±‹œ‹øŒŒ¡ŒšŒ¾ŒšŒ™Œ”Œ©ŒïL]½Ž c6¼Ž ŽÝ¢"Ž´Q‹ûŠõŠ¡ŠC‰‰vˆˆu‰É‰¯‰£ˆg‡ †l…Ô…f„ø„4„ƒàƒ‚ƒdƒ‚¶‚ˆ‚¿‚À‚”‚€‚x‚Å‚âƒ4ƒ­„ „°…I†.†Ë‡‡ˆˆMˆAˆuˆîˆÝˆÓ‰~‰Ó‰`‰£‰‡Š‹eŒv‹ó‹a‹Ž‹u‹>Š¥Š5Š±ŠŸŠ*‹—Œ'‹œ‹a‹@‹ŠÄŠrЉn‰Ã‰¡ˆ1‡á‡±‡»ˆsˆlˆ*‰E‰ãŠEŠ_‰î‰1ˆÑˆ†ˆVˆK‡J†œ†„ªƒÎ„V…Ňw‡l†´†…v…^…R……W…Ã…÷†h†…„»…8………ƒ…„bƒÏƒA‚ï‚ó‚ü‚ñ‚È‚Oïwaba7€Ó€pÛH~è~}}}z}á~@6Ú@~Å~ƒ~~C}w|ý|Š|"{¦{2zÏzjzZzqz‡zÙzàzÖzÃztz.zz4yïzy»y°yxyyŒyÙywyyx÷yHyYyëyºyÓyªyÔz5zÔzŸyæ{Ó]…˅Ã慃ƒ§ƒ«… ŠzŽB6‹Õ‹Ž °’¿–X–—–Ç–——"š„˜Œ‘‰Žˆy†ó…ˆ¢ŠËŒ]Œ×7}q-ŒžŒZŒ)ŒA‹ÕŒ)Œ!ŒŽŒÈÿŽ•VŒp‹ Љˆ]‡š†¬…[„Ç„…J†¾‡×ˆ ‰‡Šì‹„‹S‹0‹<‹k‹;‹›ŒŒŒŠŒ*‹{ŠÛŠ=‰Ã‰j‰P‰Aˆó‰¾Šè‹BŠøŠ^ЉÁ‰¼‰Ì‰©‰˜‰Dˆíˆ³‰‰ë‰ó‰w‰k‰AˆŠˆ”‰AЉŒˆÜˆ}ˆ?ˆ7ˆˆ-ˆ ‡Ë‡‘ˆ5ˆÛˆ°‡ã‡P†í‡S‡•‡„‡/†ú†ý†ñ‡‡‡&‡‡‡ †ï†³†½†·†­†–†µ†Ï†Â†…£…‘……Z…,….…!…[…V…s…`…%„Õ„,ƒ3ƒ~ƒý„ ƒ¯ƒ>‚ª÷£U€³€x€(ÐTR>£Ê€ €ðe93Ü‚*‚U‚8‚ûƒe‚g‚¥‚¾õ€½€€ô‚_ƒ‚}€ ~J~Ð~r~–~¬~¬~ß~V}·}ø~~ù„„à‡½Œ,‹¶Œ-Š”‹"‹3ˆ£‰c‰óˆž†„‰“‹&Œ«(hŽBŽoŽÔŠæ¶UŒ²Žø:‘Jì‚’Ž]ŽÒŠŽ¶Œî†™„nƒ±…*ƒä…]ˆÃ‰ƒˆ0‡u†¥…#„¿†6‡²†Ì„²ƒ™‚’ƒ¦…3‡z‰iˆF‡\†¾„ヂI‚KƒIƒ¸„¶… ‡È‰,Šë‡Œ†ä‰?‰*‡ð‡ïµ‰‰j„ ƒ…@‡“;p‹ùŽ×”¶‰Íˆ †Á……ƒ6䀃€€Y€Ï€Ô€<·~•}Ê}R{Î{‘}4}\{|Ô|q||t}}Â~~×~Õ€|m„1ƒòƒ)‚Ƀ3„qƒh5(ƒp„Ã…„τ냼‚‹‚£‚³€|!‚jÑá€FN€Ç€(€~€†‚ ƒlƒ´„x…a…¾‡‰ ‹vŒÎŽ;ów‘+’©‘í“.“»‘dŽÏŒYŠë‰Ý‡²…µ†‡ ‡¿‡ú‡H‡4‡d‡‡‡,† †Ã†å†e…؆ †]„^ƒ¥ƒÌƒ›„£ƒO…冱…&…ð‡Æˆ$‡ ‡P„ö†ˆÂ‰‰ˆï‡ß‰~‹íTIN‹ñ‚3uqqTpæp¹rs3p,k»lÏkÙiYhni6gBdcbºbäa0eéhÚbðab;beVküpp–qDlèjŽn#oqq#qãs|v-vvÅx xžyy³z?z¢{7{õ|d}v~v~ñ‡€R¹‚¡ƒ/ƒè„o„â…H…½††{†¥‡:ˆE‰$‰ü‹&‹›‹ûŒSŒõŒÛŒ‹îŒŒ[Œ°ŒùŒªŒÒŒ±ŒïŒçb¡ŽŽ/ŽYަáŽFŽ|Ž+ŽÙŽØŽÏŽ¢Ž'Œó‹ï‹‹‹YŠ–Š[‰`‰7‰Æ‰9ˆ­ˆÀ‡È†ð†¬…÷…E„µ„‰„l„•„‰„[„#ƒöƒÑƒ½ƒµƒËƒÿƒíƒü„_……€…ô†~‡5ˆˆšˆ.ˆˆU‰‰‰½‰÷ŠFŠ¢ŠgŠ ‰Á‹5ŒsŒ¦‹ï‹¿‹ß‹"‹‹Š{Šã‹D‹áŒ˜ŒzŒU‹ø‹n‹A‹#ŠÏЉC‰ ‰ºˆy‡n‡T‡äˆæˆ£ˆqˆaˆ‰éІŠ‰Ž‰ ‰^‰Ï‰‡/…Ü…B„…P†Ž‡ˆ7‡Å†Æ…ù…á…¹…‡…a…7…5…R…ц †w†I†u…ÿ…=…„Û„ „}ƒ¸‚‚΂ₛ‚TÖ·ò‚þÅj €µ€KÃ~±~/~~~,~ eL~¡~~\~ }m|õ|Ä|i|{{&{'{2{n{•{©{¥{a{0{zóz…z™zVzdz`z*z-zzz yÓyyIyFy¯yŸyÒyøy¥y­yšz~zË{¦{¼|Ç|´„B„x…¢… ‡¬…¢„ˆ‹[Œc‹¡‰¼‹8’ñ”#‘]”A–V—ë˜R˜ë™\™¸škŽV…õˆ§‡Oˆì‹ôŒKKAŒòŒªŒ<Œ‹õŒŒlŒoŒ”ŒwŒòŒåŒ²Œ´‹üŠó‰ý‰ˆ¿ˆoˆ‡£†´…å†f‡%‡Î‰в‹m‹Z‹Q‹™‹˜‹g‹ÎŒ\ŒÅŒ¼Œd‹ü‹œŠóŠO‰ü‰·‰©‰Ï‰·Šå‹Þ‹ŠõŠ—ŠdŠBŠ%‰Å‰¾‰7ˆnˆ#ˆÜ‰ÙŠŠ„‰•‰_ˆðˆ¯Š(ЦŠ8‰v‰2‰ˆ×ˆ´ˆŸˆñˆšˆKˆ‰I‰–‰ˆM‡Õ‡¿‡á‡j†þ†Þ†õ‡7‡|‡Ï‡æ‡Þ‡Î‡Ñ‡¶‡Ï‡Ç‡±‡q‡‡‡†à†™…Ø…Ñ…ê…²…¬…u…r…¥…ۅ׆"†y†H† †…M„ƒ„Kƒþƒƒ/ƒ ‚à‚Ÿ‚—‚n€Ð€x¯ŠHk€M€¶'€ã€úZx‚(‚4‚E‚Ç‚¢º<«à€²&‚‚Ò€Œ~z~ˆAj~œ~g~x~\~‡~G=€Ÿ…H…mˆ¢Š¹Šç‹´‰û‹ŠŒ‰–ŠCŠN‰¿ˆ‹?ŒœŽ=Ì©'Žn޾Ž*Œ}ŒVr‹¡åŽîqŽœ‚6ÌŠWŒå‡ã…(ƒ®„l… ‡˜‰ãˆE†¡…¾„¤†D…‚…|‹¹Œx‰F‡Š…™„H‚ò†ˆ»ˆ²ˆx‰Ô‰H‡®‰„ˆA…Í…†¤†êˆ{ˆ·Š{‡ ‡}Œ_‹‰h‰ù‘¸‘Œ~‡„Ì…2‰g«!“[,ÃŽx‹1‰¼‡8…ö…±„—ƒ(‚‚8W¾æ€ð€7~¦}õ}q|ž}ž|¤}ð~‰}b}}V~r~ˆ€C8‚¾…ò…*„6‚}‚‚ƒÉ€âjÛ¬”,ƒÚýó€U O€‚M„O‚^‚&ƒ‚«‚–‚„D†„Ù…?…=…g‰‹qŒãŽ2—‘O’ ’’ï’&“I”Ý”î“ØÆqŠÖ‰Äˆìˆe‡ ‡Š‡††å†¨†ò†—‡+‡k‡¼‡9‡†Û‡a‡¦†?…Ó†o‡C†/†~†çƒÁ†ˆ·ˆ[ˆµ‰‡…%ˆÝŠ&‰ß‰dЇŒ×þ£4oˆb~¤t}pÙp½n÷nCoFo=mømakçkäjÔith•fXdHdÐeûeÛh¯fçbebKbAd¼h@oáv‡s€nhkÛn‰pXqõsmrFröv„xixÆyÐzz.z¨zà{q{ò|ª}´߀; œ‚zƒ*ƒë„\…A…醿‡ ‡N‡W‡¦ˆ?‰‰Õе‹v‹ÿŒ.ŒÆG Œ¤Œ‡ŒwŒtŒÝŒýŒíŒôŒÞV”Ž3ŽiŽýŽüŽÝi/޵nŽ»ËŽ†ŽaŽ˜Ž^Ž8MŒ\‹ðŒŒ‹h‹Z‹ЧŠÍŠc‰€‰×‰‡Ñ†c…¯…Ñ…‹…o…c…p…L…F„ÿ„û………B…0…6…+…y…φR†Ð‡3‡™‡þˆ^ˆlˆ»‰’ŠŠ=Š#ŠÂ‹]жЫŠTŠq‹˜Œ¡ŒÊŒŠŒŒ‹«Šù‹Ô‹MŠ ‹ ‹™ŒŽŒËŒ©Œ ŒM‹û‹ˆ‹ŠãŠªŠRŠŠ(‰‡î‡\‡–‡æ‡çˆ0‡Õ‡/ˆ¹ŠжŠÕЉáŠ÷‰ã‡H…‹…/„B„L…†·ˆÜ‰ˆ†§††?…Ø……+……Ȇ€†ˆ‡_‡B‡'†á…è…*„Ë„†„w„:ƒ­ƒ&‚À‚Õ‚í‚«‚h‚%‚h‚À‚µ‚¢‚s‚8ù…?€é€DèY~¿~¤~˜~o~}ò}Ù}Š}U})}|ß|S{Ö{{S{i{Œ{æ{ð{Ä{‡{ž{R{N{zâzÖz­zÑz£z2yôyÛy[yMxïxøxÚyyWyoy´yŽyúz {{©|Ô|÷~}V~p†Ý‡6†…f‡¾‡§„–ˆ÷ŽgŒLŠ Ž‘•&’á’C“j”–—L™€•ý™¼–èˆÅ‰‰‰ˆîŒŸŒÕŽGœ‡>5Œ¿ŒŒ†Œ4ŒQ‹ÚŒ;‹“‹Ã‹ÕŒ)Œ[Œ^ŒŒ%‹‰ð‰&‰D‰¯‰ˆ‰ˆh‡ÿ‡„‡Ã‰3е‹¨‹|‹–‹…Šø‹‹”‹êŒ;Œ…Œ—Œa‹ö‹tŠºŠT‰Ê‰ž‰éŠŠ|Œ‹õ‹S‹!ŠÂŠjŠyŠ“Š|ІˆØ‡´‡Ó‰Š*‹&‹‰ç‰¿‰E‰º‹p‹MŠeЉ։”‰‰³‰‘‰[ˆ¨ˆÛ‰ÇŠGЉ{ˆâˆ„ˆL‡Á‡H†é†ü‡}‡Øˆ7ˆ„ˆÆˆêˆò‰ ˆÎˆ‚ˆEˆ‡©‡P‡L‡ †¤†G†c†Š†K††…Ð…§…Á††a†£‡]‡[†“†T†'…-„J„$„‡„q„&„7ƒ¥ƒ–ƒ‚‚2ª:€ˆ€ja€X€€°€ò€e€øÙæ÷ž8€‚€€u€ì³€D€ªŠ¢~6~g~k~º ~>~#~R~#~§€>ž€ã„…«‡_‰–‹D‹®‹k‹e‹Š8‰t‰ö‹ ж‹ŸŒ˜ŽŽPŽŽFjòŽ Ž°TŽEŽ ŒìŒ¢‹¡Œñ4‘vÆŠŽiŽˆ4…V„—„›‡ºˆ÷Šˆ½„邞ƒø…6޽±Œ(Š-‰‡cƒt„™†Ï‡+‡‡ŒUŒÙŒSŠ¡ˆú‡[‡áˆÌŠ;ˆø‰A†=‡<ŒÑ‹é‰ü‰‚‘}’ð׊|†;…·ˆÉŠˆ³q“Ì’{޹‰š2ŒEŠˆÀ‡•‡¤†Wƒõƒ‚™‚‚›‚l‚$ô¬€‘~×~s}o}tN}ì~3 }þ~~`~Ù>€ ‚}݇‚…„2„Gƒ*‚Ml‚d€›¥~šw€˜U~~í€%€W÷ô‚ŃþƒÇƒ¶„ „(ƒ„„Œ…®†¼…÷†\‡-ˆqŒ|ËŽŽë¼’#’ú“r’m‘u“••Q”ê“|‘D³‹°ŠyŠ<‰A‰*ˆTˆˆÐˆ\ˆA‡Ïˆ¿ˆgˆ ‡Y‡G†ùˆˆT‡ùˆˆrˆN†Ï‡Õ†`…ôˆ†ˆú‰­ˆûˆ©‡‡š‰ù‰­‹œ‹Œ~ŽVE‘ʼnø…ã}Ôt0o«n1m@oJo—mk¥jsi%j˜jöhög\fgáhVgºjÒkg!dDcîe´jJm—rÎsüo@m¶oPp±q½t^uy}R{…uÝxùzzª{ {{¡|N|»}˜~—Ú€ˆ9ƒ‚J‚ʃ¨„.……§†±‡fˆBˆ†ˆÊ‰ ‰ŠŠpŠ÷ŒŒ¡ŒÙovŒòhŒÁŒø[[m<càŽ6Žº·˜qŽÏ"Ž.ÂþéŽÓŽyú„EG' ŒºŒn‹É‹F‹!ŠûŠw‰H‰‡Ð‡)‡7†á†ž†?†_†k†|†‹†‰†d†G†Š†±†˜†™†®†ÿ‡ŠˆˆAˆˆ]ˆö‰ÍŠŠÅŠ¶Šî‹\‹—‹P‹Šþй‹ÆŒòŒ±ŒdŒŒ‹¡‹N‹à‹”‹‹d‹ÑŒ¦ŒÕŒêŒäŒtŒ‹‹ŠÒ‹;‹g‹F‹=Š‚ˆ¨‡ß‡­‡Âˆˆsˆ¹‡Ùˆ‰ü‰ÍŠ ‹œŠŠŠ‰¾ˆ@†b…ᄹ„A…&…¼‡Ô‰2‰=‡Â†ò†K†2…ú…ð…è† †Ú†Í†y†'†½‡†z…¹…M„ä„^„F„(ƒÓƒyƒ3ƒ9‚á‚§‚µ‚øƒ*ƒ`ƒ‚ƒŒƒuƒMƒL‚ñ‚…‚2·€Ðº~t~}ý}ˆ}z}f}C}H|ÿ|Ñ||3|{ {°{q{x{O{5{){l{[{+{M{ {{zçzxzyyjy@yxÇxªy y,y„yxyŒyˆz zS{-|}^}÷E~õ|”‚ª†ê…ï„ãˆ2ˆI…£…‹ ‘`ŽŠçŠ¬ÑŒ!y•'“7–±”ý™—Ï–ü›±Žúˆ0‰Nˆ•$¬Žm©X0ŒŒd‹ùŒ‹q‹‹‹×‹ëŒ²%ŒÈŒ|‹°Š“‰êŠ8‹(‹H‹%ŠÏŠ‰ÔŠº‹ŸŒŒ‹©‹`ŠûŠÓ‹T‹é‹ðŒdŒ›Œ`ŒU‹Ñ‹xŠçŠ¡ŠŠó‹‹‹ˆŒ®Œ1‹”‹GŠ»ŠŠµŠûŠÚŠŸ‰?ˆ(‡oˆÖŠ®‹›‹aŠnŠŠ‹‹¼‹RЍŠG‰ÿ‰Ç‰¶‰ëŠ+Š,Š ŠfŠáмŠb‰í‰‰ˆ}‡ö‡Ö‡Íˆc‰‰U‰‰¢‰º‰Í‰í‰°‰l‰*ˆ’ˆ‡Å‡ª‡†å†¸†Ä‡†¯†V†…߅؅ȅĆ†Ñ‡±ˆXˆ‡˜†õ†5…y………”…³…H„ü„h„Lƒôƒƒ‚h΀bñ¶”««Óµù€c€Õ4€©€¢€7€.€'€­D€[€2†€0~õ~_~'~<~W~A~C~/~h[‚öƒX„7†Þ‰Š-‹Ò‹ŠWŒŒYŒ‹ŸŠÈ‹+‹2‹q‹ÆŒ¡óŽ^ŽƒŽ¿Ž+2ŽFŽdŽS’ŽTŽñ—VŒPЉˆŒ­‘¹%ŽŠ1…õ„¦„·ˆˆº‰O‹NˆW…"…†«‡ØŠ{’~’&Œ•ŠšŠŠá‡„õ…³„‹†Œ›’ï’ÆÕ‰âˆÞ‡4‡@ˆŠŠp‰>…݇µŒº‹ ‰f‰è’“©’Ù‘"‹…‡†wˆWˆhË”¨•ü“qïŽisŒŠY‰¥‰]ˆZ†µ†_…“„-ƒƒƒ¶‚¯ÜHÔµ~Ë~ Sƶ‡~}Ž~f~ò€U€îƒG‚ë„*Š……©‚4ƒ{ƒ»„‚–‚ûö€Þ€XcËŸ|€n±â¥€¢‚‹…Ï…è…7…v…™… †‡‡A†ù‡`‰ ŠÛŒ(ªŽÚj’,“Ÿ’í‘ó’u”6•†•v•¨•g• ’\Žª‹±ŠèŠRŠÎ‹¢‹vЬ‰‡‰/‰"‰Ò‰w‰Lˆyˆ‡êˆ“‡ãˆ'ˆ‡ç†´†˜‡ì†7ˆ5ˆ¯ˆŠpŠ`‰Á‡æ‰˜Œ˜ŒoŒÔ‹8W^‘)ñ“…¼‚ôƒX|øw„qïlÌm¹omËl´jqhÏiniªi³h²g!jÄlúk¨nÃl…j7ijhi¢m‘rƒõƒƒ‚ú‚C9€0~v~*}à}°}©}ž}‚}Z}G}:|Ù|Ï|”|O{í{´{+zÝzízñ{!zõzézÏz¡zezXyêyžy€y1yxâyyy6yMy–yyÂz%zÜ{Œ|C}!}ò~ð_€~v€z‡‰=…}ˆ"‡‰†„o…š<‘àŽZŠù’¢‘‘"‘«Œg•¨–F–­˜v”ï™ß“‹‰LŠV‰ãŽlެŽVpLŒ­ŒÊŒSŒoŒ ‹ÿ‹î‹‹|‹ÑŒ!ŒëŽ)u&Œ‘‹Ÿ‹;‹ÒŒ²ŒèŒ—Œ™ŒÒŒ™Œ^Œ‹Þ‹¨‹FŠøŠÞ‹”ŒBŒŠŒˆŒÄŒöŒR‹ï‹*‹ ‹!‹C‹ ‹‹µŒÆŒ±‹Ò‹|‹#ŠÀŠŒŠëŠùŠìŠ2‰@ˆ¨‰ü‹C‹š‹„‹й‹$ŒqŒF‹‹ŠŒŠ&ŠIŠ:Š0ŠkЫШжŠÂŠƒŠ{Љ¿‰+ˆžˆNˆ‰‰SŠŠŠ)Š.Š2ŠŠOЉá‰Ï‰:ˆ’ˆTˆbˆDˆ+‡¸‡¥‡b‡ †Õ†¢†k†ƒ†½†ß‡‡Vˆ4ˆ°ˆJ‡J‡?‡8‡†µ†<…°…”…º…ß…•…*„ׄq„ƒž‚ï‚3»O€ú€œ€á€Â€V€M€©&]Oh™,-€Õ€W€*€ €Bþy”ž‡~ƒ~³“~~À~Ø~k¡˜Ìƒs„Ć‘‡ð‰œŠÑ‹#‰^ŠÑ8Š¿‹Œs‹Ë‹‹2‹‘‹"Œ]Ž!ŽšŽ'ŽÆ ŽŽŽ®ŽÜŽe’‘Ã1ŽûŠÚ‰*ˆT‰é‹éÍŽ¬Š•‹‰ †æ†©ˆ ˆñŠ|Š Šh‰‰ˆm‰€Š ‹Ž·”"œ‹ÝŠîŠÓ‹x‰L…s†† ‰éE’v‘z‹ˆ…ˆ‡Ç‡ÉˆÉŠc‰K‡‡ëŒš‹h‹°J’Ñ“”_’ÑŽ*ˆ«†›ˆ_Š\Žv”©˜t•+’𭚎\‹þ‹ŸŠ]‰ò‰‰,ˆñ‡|…o„£†+„‚Ž‚Yf€€šm´€5€š€_‰õiä‚΃-„t„ㆦŠûˆi…„ƒb„º…<„ ƒJ‚“¼€„€€€ƒ€H€L‚ۃÃç9ƒ „…ۆȆ¤‡ ‡‡~ˆšˆ£ˆ©ˆž‰q‹iŒ¹ŒÓ¬Æ‘O“*’÷‘’d“û”X•Ò—B—O–>–l•é”$’u¸ŒC3ŒÑ‹ë‹A‹z‹b‹(‹Љ&ˆ×ˆ˜ˆÁˆ±ˆô‰‡Ó‡l†Ïˆç‡ñ†=‡ãŠŠãЍ‰ûˆáˆëŠ«öްŒ±ŒÞ‘ÒôŒó‹„~£²~ky+xtúo—m¤nªnÂlŽjjBiëkxl«j{jÒoªpëp¹oËn5pan‡mmnÓrXv=v0ss2rßsÅsÒvývÐ{;‡6{ xã}#{?}N|Ó~N~X¥Í€“€—@¤‚ ‚|ƒƒñ„¾…φ¶‡îˆÏ‰¥Š!Š¿ŠÂ‹‹QŒ®ÄŽÁFn0ŽÜŽCŽŽ ŽŽŽ Ž›ŽzŽfŽMŽGŽ&Ž]ŽÆ*Ed¤Ü!b,û¼íÜަŽu.Á¸1ŽöŽÍŽìJLD Ž¿Ž¼4ŒžŒ7Œ‹º‹ŠÌŠR‰â‰œ‰‰‰C‰ ˆÒˆÐˆÁˆ{ˆJ‡úˆˆ%ˆUˆ‹ˆ ˆ‘‰(‰¿Š˜‹Œ‹BŠâ‹dŒ<Œ‹ó‹æŒŒœuŒ‰$@Œ¹Œ[‹zŒ ŒKŒŒ*Œ ‹¦‹’ŒjŒtŒŒ1Œ|Œ˜ŒwŒ1ŒŒ‹û‹ô‹È‹î‹ð‹â‹YŠ>‰•‰<‰V‰¶‰Oˆ†ˆÄˆ–‡q†Œ†œ‡ ˆgˆ³ˆ ‡ †.…å…Ž…~†=‡/ˆˆ‡}†ß‡ãˆÐˆF‡’‡L‡ †Û‡=‡H‡†ï†Ë‡c‡ˆ†y…ñ…N„Þ„¨„¦„Þ„µ„‰„Iƒúƒÿƒöƒ°ƒÅƒ˜ƒƒ¼ƒÕƒÄƒðƒóƒßƒ[ƒ&ƒPƒ?ƒ'‚K1€ ,~À~¼~¤~®~}~q~a~3~+~~D}Ò}t|ä|M{½{:{zïzÊz¥z~z^z6yÖyÉy´y^yjy*y7yy?yWyty¹yîz zj{5{Ì|||—}†}ë~Û〓€·€ˆfˆ]Š…|‡ð…7…•„D…Ê’ÖÚ‹®‘” ’6”µ’î“V—#”¹™/˜-‹2Šl‹³Œ\ŽÓŽ›ŒóŒÎŒ¬ŒmŒO‹î‹›‹ÇŒŒTŒˆŒìAŽŽŽ]Ž 7Œ«ŒŽŒüŒÎŒÊ‰Ž0Žñ£ŒïŒ›ŒnŒ)Œ(‹Ý‹ÔŒ3ŒœŒÏJŒ‰Œ4‹­‹¦‹§‹O‹A‹‹‹}ŒÄŒ™‹ì‹«‹CŠ÷‹ ‹=‹j‹PŠ ‰L‰µŠ}‹¢ŒUŒ ‹jŠ÷‹µŒÆŒc‹œŠ¿Š‰ÉŠJŠô‹$‹:‹ Š×Š”ŠóŠôнБŠF‰¶‰ˆà‰/ŠŠOŠgŠ…ŠÆŠÀŠÓŠõŠÔŠYЉ©‰ ˆ”ˆ:ˆ}ˆ©ˆ±ˆ9‡¶†ü†¬†f… …˜†m‡‡)‡‡\‡X…á„¿„……û‡‡’‡í‡q†H…Y……|…D…„å„ý„„;ƒ…ƒ‚í‚­‚i‚‚ “xˆÂà‚X‚M‚"ô”€×€æ€”€Ò€T~[€c‚kµ€=%™=~‹€Ñ%H€½„…›‡7ˆ‰»ŠÚ‹Š¿‹£Ì‹”ˆ€‹‚ª Œ=‹·‹#‹ŒšéŽ:ޝ ™Ž Žz2|Þ‘ˆ÷/Žw¬Žv‹Cˆ½‰‰__ŽÖŒ‹ÄŠÆ‰èŠŸŒ‹å%bŠ=‰~‰Ÿ‰^ŠŒÙ“ —ŽÚŠ˜‹‰‹BŠœˆä† …7†7‹ž5Ž<ޑЂˆé‰÷ˆm‡–ˆþ‰Uˆ ‡µ‰ÔŒ¦ŒèŒ`Ë’N””‘pŽ_‰‹‡Çˆô‰þ‹tŒ’ šé™Ÿ”å‘2_EŒŠ‹÷‹Šù‰;ˆáˆøˆî†ò…D†ß„•‚낸‚º€Öqc€¾€Z€ú€ú#¨ƒ=ƒ]ƒµ…׆†‡‡‡Š}–ŒÑ‹‡å…O†3‡…3ƒ^ƒ‚ ¬‡‚‚D‚*‚¢ƒÑ„ð„@‚²Ð‚K‚à…‡ïˆ‡Ü‰‰‰H‰‹‰’ŠŠnŠÕ‹ükŽóu‘…’­‘qö“”.•—˜ԗ –\–•”ƒ“ú”k“"‘-‘DŒŠ‹ÁŒ ‹ÕедŠ~‰Ó‰À‰ ‰%ˆˆX‰PˆÍ‡p†¶ˆ‹‡¿‡Õ‰;ŒŒ¦‹ÜŠ"Š "N Ž`’9”2û‡ê‡„}}{¬{åwÛu²v\t4q#oinsnl°k”j,m‘o‡mYn¼qûsWrÑqQróu®qûr±u©vîwv%t†tstšuÒv®ymwö~l†¡yŸ{h}¦|ŠW~]€F€"câû‚…‚™ƒ5ƒÃ„b…=†>‡Y‡åˆ•‰@Š=ŠÅ‹[‹Ò;ŽX†ŽvŽVŽ2ŽòŽh5p?ŽÎŽÊލŽèŽÔSfqÄô/J@þ¸ë¤X-«ý°‘l‹Ñ2ùš‡ލŽmäm`,ŒÓŒoŒ&‹â‹g‹йЂР‰¨‰ƒ‰a‰M‰[‰RˆÆˆ«‰‰ÀŠê‹ë‹`‹‹w‹ÙŒoŒ”Œ¼Œ$ŒhZ²ÏâÞª~ŒýŒÛŒ.Œ*Œ•Œ\ŒXŒ{ŒOŒ‹³‹øŒ™ŒŒBŒ_Œ|Œ°ŒÏŒ«ŒD‹ÿ‹ú‹õŒBŒlŒ4‹šŠÛЉ”‰Š Š)‰Ü‰ä‰'‡Û†ó†…‡‡¸ˆ9ˆ†u…ª††P…è†E‡ÓˆÏˆ´‡–‡"ˆ¼‰å‰¹‰ ˆiˆ‡‘‡^‡Ö‡ ‡$‡‡1‡q†é†`† …å…—…V…„¿„W„ ƒÓƒé„A„Z„ƒÀƒºƒˆƒxƒJƒOƒƒƒBƒ\ƒ]ƒ9ƒ5‚ׂ:¨9€U€%€€€€ €#€ €@€_€zòZ~€}“};|¨|5{ÿ{Ï{¤{o{z°z–z1zyöyñy‰yyy|yšyæzzwz¦{1{Á|ª}}Š}á~f~Ê]ò€¢´‚Q†\Šè††i„©ƒoƒÈƒ½‡­Žþ”Ü‘ç‹÷‘>”y–’5’¥–;’¹•Ж㉄ŒžR—ŽèŽ•Í Œ°Œ”ŒÞŒ½Œ“ŒÓŒ§ŒxŒ‰Œ¥ŒwŒ‰øŽƒŽ]Ž <ŒÎ Œ‹Û‹HŠ€‹‹…ŠÎŠKŠÛŒŒ¸Œ¿ŒËŒŠŒ¨ŒÖ0]„˽iŒ¾Œ)Œ‹ï‹‚‹W‹@‹ ŒŒÕŒŒ‹º‹ˆ‹^‹x‹Ä‹ÐŠi‰”Š"Š˜ŒŒæŒ®‹îŒyŒµ‹éŠ ‰Á‰èŠª‹æŒ ‹Ø‹eŠûŠõ‹?‹Q‹?‹"ŠÂŠC‰÷ŠŠ…ŠëŠ×‹3‹†‹ž‹f‹@‹$ŠíŠt‰Û‰bˆ×ˆ@ˆ ˆrˆˆ€ˆ#‡w†°†r†……I……â…·…o…‡…F„ª„¼„‚„ ƒ–ƒÁ„7…²†™†'……o†…º…R„„΄ۄà„u„ƒÎƒ«ƒC‚‚—¬¯‚-‚[‚t‚M‚?‚ ·7€ê€Ï€y€c~¬~Ø‚3瀀M€g€Y€ËчB¿‚Q›5…®†ì‡µˆµ‰ßŠ ‹;ŒdޔދªŠzŽ]ÿ Œ Œ‹;‹$ŒŠŸŽþ“ŽgŽ`û+‘O‘VN4ŒCWŽÑŽÿ‰ú‡‰ßŠ‘ŒXºŽóŽmŽY·½åŽD‘Í‘—ƒŠê‹.‹DŒ~Žj•$™ª­‰ã‹gŠŠˆ“‡$…†ŒÄnŽÆ‹Eˆìˆk‰.‡†‘‡™‡ï‡º‡æ‰±‹æŒqŒ½ç‘ú”º”Å“x³Ž‹‹p‰­‰UŠgŠ8‹¡˜˜hšÅ”áÐŽç&ŒÉ‹ß‹jŠN‰¤‰.ˆâ‡†w‡Å„è„(ƒ{‚ò‚k)¦ ”F#‚‚±„1………v‡#‡àˆ6ˆVŠ}éŒä)Ž)‰’„À…«†»„À„ƒv‚Ö‚ïƒ*ƒ3ƒ6„„á…€„ÚƒF‚¤‚ª‚õ„h†°ˆqˆ‰Y‰;ˆŽ‰ëŠ]Š‹i‹ÞŒýŽØ‚‘O‘±‘ò‘(’N“[”´—†™Ä™±—y–‚”‚“”ž”M“»’œ‘‘pøŽÖ-ŒÇ‹Š{ŠÁŠ\‰æ‰i‰‰ ‡ïˆ\‰‰4ˆ@†Ôˆ]ˆVˆŠŠi>Ž Œ:ŠšŽ|‘Î) ’D‘ià’´”\ŒS„„‘ƒ¥B{\xÝustNu6tËrÎqLp‡oénˆmtlwolqŸpÖqÑrútRsŸr/t@w5u¦xí{ãyêx vÕv0vGv¬xyª{gzÎ}¦÷z¢~~¥†€^€b‚3Ë‚ð‚¼ƒ‰ƒL„„P„Ý……ц‘‡Iˆ ˆÝ‰åŠãŒG1Ž(T‡ë_Ž ŽlŽpŽ˜ŽYŽÀ],Ä‚XDC0€m·,*]^vp5ý÷ô$G"ÅñÙ¯è7{%)î«KŽãŽ¢ŽoŽ\Ž.ί¥Œ‹6ЏЖŠzйŠïоŠxŠI‹ŒŒß&Œ‹‹Ý?ŽgŽ0ŒºOŽ2Ž7É!½¡=2Œ§ŒkŒˆŒÔŒÅŒ¬ŒÁŒ ŒlŒŒŒwŒŒPŒ_ŒŒÔŒ¿Œ§ŒwŒNŒ9ŒXŒeŒSŒ3‹þ‹‰Š©Š`Š.Š_Ф‹‹-Š*ˆj‡’‡Þ‡s‡|ˆŠˆR††f†Ð†Ó‡‡Š‡sˆ~ˆÝ‡×ˆÐ‹J‹NŠO‰ð‰$ˆ°‰ ˆùˆ‡ˆ‡†‡.‡‡C‡M†è†ª†•†$…Ä…<…„Æ„¢„˜„ž„€„H„!ƒæƒÉƒgƒƒk‚‚—‚Óƒ&ƒ‡ƒ¸ƒ¼ƒcƒ‚y‚_‚5‚"‚"‚ áZ€â€Ý€Ë€·€Ÿ€Nöh~ç~›~A~}Ä}v}D}|r|2{Æ{c{{ zåz­z®zÖ{ {O{È||«|ñ}x}°}â~^~¸€K€an×‚ŽƒÑ„Õˆ.†\…=…(ƒþƒÍ„R„ƒˆÚŽ‹aØ’‘‘ÂÒ•™”æ–t•ÒG4ËŠVŠŒì Lަ·W4ŒÜES"ŒïŒúY9Œ÷Œê,Z]Ž$EŒ¾‹ÝЇ<†hˆÂŠˆG‡g‡þ‡ù‰h‹óŒù.ÆýŽŽ(Ž ¯Š¬‘ŒêŒµŒN‹u‹A‹ŠÝ‹_Œ^Œ°Œ³ŒV‹ù‹ëŒŒbŒ>ŠÜ‰öŠXŠ‹‹Á Ýïž°rŒýŒr‹Î‹:‹+‹eŒŒ3Œ)‹è‹š‹Õ‹Ð‹…‹U‹e‹F‹&‹‹‹ ‹G‹¯‹è‹üŒ‹‹‹¯ŠåŠ>‰â‰”‰!ˆ›ˆÊˆ¼ˆ+ˆ‡Ä‡†œ†r†8†`…æ…á…Ó…,…E…[…?…3„ÿ„ž„¢„ƒÞƒ¾ƒÁ„#„„×…ˆ†g†…¯…9… ……(„à„—„[„Mƒ¼ƒ\ƒ‚jÝÛ‚h‚Š‚‚h‚QýÏ1M€Ê€¶ ~:ˆƒ¡À ²ó‚)‚W‰º²€ý‚ðƒÿƒbƒ„¯†<‡&ˆ‰¶Š´Š ‹ÔŒ<ŒJVŽØmÁŽ\Á‹Œå‹ÇXäéŽÀŽÌŽ1ŽžŽïŽ¿Í2.뎊ŒnŒ¯Ž-׉»† ˆÌŠ4‹ûQœ!ƒ»Ok>½”8’Ž6ë‘t’¤”™™Þ‰åŠGˆÑˆ˜ˆˆˆ ˆû¿iŒßŠ\ˆ~‡º‡K‡’†‚†Q†E‡?‡a‡Ç‰c‹ƒŒÁŽHM‘é”—”À“É‘¨­ƒŒM‰›ŠšŠçŒGŽ“ñ›h—E“îáŽ^Œ³ŒXŒŒ.ŠkŠ:‰%†ò†ò‡]„ƒØƒ ‚˜‚»gW%kõ‚8‚‚~‚ùƒÆ„󅃆pˆ5‰†‰«ŠÎ*ŒÖŒ9è–ˆˆ†0‡8……m…„£„G„^„˜„š„Ú…z†4…Ë„›ƒÐƒ!ƒƒã„¿‡³ˆˆ[‰b‰7ŠjŒtŒËŒÂzŽè‘‘Bè«‘}”›•ï—1˜Ï˜Ü˜¢—Ý–¡”‚“™”È”½”U“ž“Š’ó‘RùŒ‚Š—‹‹#Š«ŠêЇ‰ùˆ÷ˆRˆ#‡ˆ‰‡?†íˆ;‰ÕiŽŽ\ŒçŒ|‘q‘d‘-’ç“Q’ö’w’ž•mŽíƒàC·¼}µv:oérÿuËs¸rqÆp¾p–pTo1obq­stŒuøtÇtss=r»uVx©x’z€{9yôyEx‹xxvy¦{p|Ý}J΀~R~Å€­€“Ñ‚ýƒlƒ«„g„]…1…1…ð…½†]† ‡ˆ)‰XЇ‹ËŒÙÒŽæœt¬ªŽÅ޻ިŽêcR¤u;ñžnq†e¦ÆYÁå©uظ[*x{N%ÿQoˆ¯‡_78ó¤€fŽçŽŠŽ±ŽŒŽŽŒ«‹¾‹ËŒ‹ÿ‹Ò‹½‹²Œ,Œ°€·ŒÿŒâŒÄ‘YŽèðÿŽoŽäŽÌ÷JŒ`Ћa]InnŒõŒâŒ÷ŒèŒéŒãŒÏŒá Œ÷Œ–ŒKŒSŒŒ«ŒŒ§ŒŒjŒ)Œ7Œ_ŒqŒKŒQŒ ‹‹%‹‹ Š­‹‹iŠ×‰Q‰‰ñˆ†µ‡OˆÅŠH‹‰†E‡¢ˆm‡Ü‰6ˆçˆM‰ä‹r‹ñ‹¤ŠT‰q‰l‰ËŠ ‰Lˆ­ˆG‡Ù‡›‡"‡‡O‡@‡E‡#†£…µ…„½……)„ò„„„ƒ·ƒƒ¾ƒO‚³‚¥‚o‚š‚Ù‚öƒ*ƒ‚ý‚»‚ã‚邪‚‹‚>‚7‚„€ë€‘€a€K€F€,€K€8€€ Òµ«›GQ~Ö~G}‡} |Ø|Ö|²||~|Y|B||Ÿ|ô}?}Ë~~P~”~ë~þÌ€.€ü—¼‚“ƒ„1…t†º‡R…Ä„ä„~„d…£†‡Þ‹Fý“J‘~’Ö“•“H•|”@–וå’)e†¶ˆ‰‹‘Žš-ŽÛŽŽVW|ÈüŽ'ÿOŒâŒµŒ‹Œ·aŽŽÉXˆêŒBŠˆˆoŠ*‹Ò‹-‰‡•‡†à†­‡‰8‹¥ŒóŽ<Ž]ŽŒŽ´ŽtŽ>ޓ޹è%ŒæŒA‹—‹›‹a‹‹€ŒjŒÀŒøŒÿŒÙŒÅŒ¬ŒöŒØ‹ŠŠŸŠ’‹YKŽŒŽ_ú°Œ‚# Œ~Œ"ŒAŒKŒJŒWŒ?ŒWŒ†Œ^‹Ã‹9‹ƒ‹Ò‹Ò‹”‹™Œ ŒHŒcŒ"‹Õ‹˜‹p‹u‹#ЮЉŠxŠ‰ð‰—‰[ˆ·‡öˆ ˆ‡m‡2‡4†Ý‡†Ô‡i‡y†î†â†¤†¹†v…î…}…„°„ƒ„t„8„f„ª„¤…M†e†l†!…ê…y…+…m…k…„š„g„ƒøƒ‚Í‚?‚‚±‚‚ª‚z‚e‚‚ ‹v€Ø€@~s€ „„ ƒ;ƒCƒWƒÐƒí„ „ ƒ“ƒ[ׂ÷„•ƒ±ƒí…­‡ˆ]‰~‹:‹Ì‹êŽ!ŽÉ¿ÂŽäç Ž@ŽÐbŽýŽhÄŽŽ ¢ÃŽ›Ú?·‹“ŠJŒ$ŽÛ\Œvˆô‡÷‰+ŠÛŒ´ŽÍ÷¸¦Iޓ޿$“{–B—k–ð˜s—ššü“Œ(ŠUŠœˆ«†Ä‡´ˆ‰¶‹6t‹ Љíˆ)‡4†z†]†b‡e‡ç‰ïŠÛŒOŽÓ¬ƒ‘f”§•¹– –æ”î­’UŒ-‹ÆŒ­Œô’ê$šÃ—ª•”’iŽ4Œß«ŽiŒŠÙˆæˆ‡Û†~…ƒëƒ‚I‚vóԑƒ ‚Í‚›‚Ã/„„º†)†Ì‡š‰ ŠG‹Œ#Œ6‹¤‹–‹3†ä†ù†¡†W†>†…Ž…i…*…]…†5†«†a…a„¨„mƒÄ„…œ‰(ŠZ‰éŠ,ŠúŒÔ€Ž*ޱD™‘|‘ø‘Ê‘‘ê•<—.˜Ò™u™a˜é˜m—”ö•T•Ï”Á”ý”½”ê“ 'lޱŒÔ‰Cˆ’ˆeˆ5‰‰)ˆ°ˆý‰‡†k…ì‡BˆŸˆ=‰ž‹tº/K±Ž¡"”ƒ”q“ ’ì•P”&”Ð’²…´€0~;|~‚~µt pùt¹tIrÇq²p²qÐrlq3qºtYujvÉxÎwšvdu–uuvÓwÕx){ä|¡|'{Ì{f{k{À}}œ€¹ƒ"‚¥€Ì¶Ð‚Šƒ¸ƒâ„܄؅À…Ó†r†Ú†Ñ‡7‡‡ˆ‰ Šn‹OŒ¨„ŽKŽ{§.—YŽVŽËЖÞ]¼‘ÕjᤔŒÂ{Ë‘]‘p‘"´³ÅÏÉÄæÚÏ­jBGgNN^”¢ªt®ª Ç°oD*0ŽéŽ3쎎æùŽSŽkŽÅŽøŽÕ ŽQŒ~`[ô¢ŽùŽ©ŽÐ) 1Ž` Œ1ŒDäŽ-´{v·Ž ŽD×?#?(ŒäoŒ¦Œ°ŒÅŒ€Œ<Œ\Œ•ŒJŒ1ŒSŒsŒTŒWŒgŒV‹pŠBŠeŠÅ‹ŠÍŠ‰ÏŠŠÌ‰ÊˆŸˆAˆ«‰¦Œ3Ž Ž#ŒøŠpŠÁŠÐ‰ÙŠÂ‰Zˆ:ˆS‡þ‰/‹@Ši‰jŠ+ŠlŠkЉx‰ˆ”ˆ‡Á‡§‡¼‡–‡‰‡m†ì†$…i…8…„…5„§„W„ƒíƒÛƒƒ^‚ù‚±‚Ò‚…‚i‚¢‚Ђ°‚0ûú‚‚5‚è¬u4€Ê€n€€å÷€,ûßͧxˆªÛ“¼ÐÊn~·~n~~}÷}û}á}™}Š}Ú}ô~J~’~¾~Ï~ë~àUB²€×G‚I‚’‚ø„˜†]†¼‡Y†8…˜…z…g…›‡ü‡À‡v’á•=“¾’l‘y–²˜%”À•‘˜Ž•Ž‹!Šv†rˆŒÓŽÑŽ—Ž™âåÉæŽmŽëŽÎŽPÌ,Œ‘Œ.Œ4Œ!ŒŒõŽf§o5Ž< Œ‹àŒôŒ‘Œ‹Ë‹XŠ’ŠŠ‹‰I‡4ˆDŠ;‹4t޽@ŽçŽÑŽü޾Ž#wŒÜŒ}ŒkŒÂŒëŒpŒ2Œµ}Ö“„¼ÒaŒ:‹€‹¼‹ˆ‹nkŽÑŽuŽ"Ž ¶ŒøŒMŒ³/ŒâŒºŒÐŒµŒ‹’‹#‹òŒ…Œ_ŒŒ-Œ}ŒkŒ‹ô‹Ó‹u‹¬‹¤‹Š¥Š@Љ[‰A‰‰ˆºˆˆ>ˆ»ˆœˆtˆ8‡öˆ?ˆˆˆMˆ¨ˆÑˆ¸ˆO‡P‡‡'† …F…-…€††+…É…;…4…ý†’†I…ý…¥…v…¬…š…i„ç„c„ ƒùƒ•ƒ+‚Ý‚ç‚È‚¦‚±‚ނЂG‚õ—€ÈÚ\„4‡†9…à„ï„Q„}„Ô„æ…?„-„ ‚Àƒ*„/ƒŒ„w†KˆL‰vŠZ‹_‹Õ{ ‘d‘½’)‘Ö‘:‘$õaXŽÀްñQŽDX þŽÓŽéIöltŽާ‹ ‹ŽÆ7’Ò‰Bˆ=Š*gŽ§Ù‘Í’QŽ=ŽT‘åc’9”‘˜}š~œ!š¹p™ÒpŒ‰n‰!‡®†1‰‰÷ŠE‹˜‹¿Œ—ŒÝŒ|‹‰ˆC‡ü‡n‡‡Cˆ‰éŒ2ŒTŽ3»‘ ä’•¡˜+š˜Ç•{“Ζy’}Œ¡ŒOŒýŒß|™¸šášg™Ö—Ó•´‘}ŽcwŽ‹ê‰ö‰ ‰yˆê†…Y„!ƒ¯ƒ4‚ÂK‚‚P‚[ƒ°ƒ±ƒ]ƒ^ƒ™„1„憗‡Mˆˆô‰”‹+GŒŒ›ŒK‰×‰>‡6‡m‡"††÷‡,†¿†s†'†:†V††‡P‡v†Z…Ñ…Ž„õ……åˆx‹wŒóŒ8jŽé‹áŠ]ŽŽ0ŽJŸËÙ’0’í”ø—œ˜§š$š‘šÉ™F˜Ý˜€•ɕߖY••d•M•h”ã‘ïÂ@ˆÞˆ ˆf‡A‡ž†Ä†g†¡†æ…_…•„ý†2Š ŠV‹SŒ™¤ÊCŽŽ‘‰”;—á•o”+’•7”Â’“aŠV[õ|ËyL{DuqOtFuœt|s5tmuˆu*tîu$vjww”x€x«xwawwXwšyâ€~7}÷}¥~~LV€l‚ƒÀ„fƒÚƒõƒâ„…3…g…÷†‹†Þ‡V‡;ˆ-ˆOˆé‰hŠ>н‹RŒqŒÆ\±ŽYަvù§ö¤c®‘%‘<É#ücÆ‘O‘‡‘“‘É~<çØ¦¶ù\¯‘‘S‘`‘¹‘u‘N‘c‘#¯‘‘!‘H‘%‘Y‘N‘㪸ŸÎÛþ‘÷¾T:Þp8.ŽëŽÇެŽLŽ“ YŒ?ïèuŽÌŽä!Ò f+0ÍæaŽ­>ŒÉŒÝµŽÑŽ¿ÆÈéŽEŽs¼fH<:ŒØŒÚ.ŒÉŒ›Œ‹-Šä‹+‹r‹A‹QŒŒÑŒñŒ°ŒP‹€ŠSŠ,ŠŸŠd‰ï‰íŠBŠ*ŠùŒ,‹®ŠÝ‹£ŒŒmu{»|°ŒžŠ{Š×Љ.‡Ã‡çˆ9‰(‰]ˆý‰vŠ)ФŠcЉ¤‰Pˆ¹ˆpˆ2ˆ‡Ë‡€‡'†Ì†m†…¿…a„Þ„“„'ƒçƒÜƒñƒc‚òƒDƒ´ƒÚ„ƒ ‚º‚¡‚°‚’‚6ÿÚéâÍ´…J€ç€¢€•€e€ëõ«£©ŒDB2R¯ÏÕ¬,~‚~N~~~1~F~t~t~Š~­~Ã~ú~é~í1bq€€z<ã‚D‚ÿ‚úƒò„ˆ'†ª‡…ë…°…n†¸†ïˆ¼‰ˆm”g”p”a•¶•I–_•…•)” ˜¯—'’r֊؇wˆ_Œ66Ž<ŽMŽÚŽEŽQޤ)IŽÇŽ;wŒR‹ŠQŠ}‹d‹ŒŒœèê4|ŽhŽyŽf€Œmí«tŒÅ‹ÞŠÅЏЗ‰ùŠÂŒ‡Ž5Ž”ŽýŽ™¤ŒùŒªŒ¸‘UŒÿŒŒOŒÈ¦ŽdŽ¡ŽiŽ:ô—ŒªŒŒ8‹ù‹†uŽó޳ŽzŽVŒ™‹úŒ:yȳ©sft:ŒéŒ¸‹·‹±ŒÄ+Œ–ŒgŒxŒ2ŒŒOŒjŒPŒ'‹È‹AŠÈЉ‰ù‰‰&‰Š‰x‰n‰C‰2‰S‰(ˆëˆìˆ{ˆ7ˆ†ˆfˆNˆpˆÆ‰bŠhŠ–ˆÇ†…“…Á…ñ†Â‡‰‡„†ç†¨†[…‰…‹†7†@†…ª……¢…¤…‹…„ „ƒÞƒÇƒ•ƒoƒ'‚ë‚äƒ ƒ‚Á‚º‚}‚){€Ìã€Æ‡9‰‡¸†·…¾…ž†Ô‡û†—…ã†Ì‰ÿˆ¤…Õ„³„>…E†ëˆ¤ˆõ‰³‰ÕŠÓ1Žˆ}U‘§’/‘ó‘ .¨E©HáΑ‘å‘ÖÆï«ÏwŽB¤°Ž±Ž6YÊŒüŒD‰v‡ÕŠ&tŽñ¥T’I‹EŽ&z’?“˜›|⟠˜S‹‰ˆGˆ£†Š†I‰‹cŠç‹o‹Ô‹ê‹Ì‹ÕŠf‰ˆ•ˆ/‡[‡›ˆh‰0‹¬ŒûŽ+‘+’Ò’-’’æ–“™Òš×–Ñ”ç—8—œ“[Žž·‚Žè•T˜à—¹™h™Ï–¶‘½'茲‹V‰X‰r‰oˆ~†Ø…«…)„Fƒ´ƒ‚‚ó‚j‚-‚섃{ƒE„Q„Ô…|†è‡&ˆ ˆ“‡Æˆ ŠmŠÓŒŠ†ˆ@ˆ`‡‡L‡Y‡“‡Š‡i†ë†Ú†¼†é‡‡ÐˆÛˆ+‡Ã‡ †N†A†:†ÕˆžŒ[Ž”n‰Ó„ð†ŒŒ0`‘|‘oç’”Í–ä—æ™j›w›•ší˜L—å˜~—Œ—~—‘–Ζ6–l–“𑠎뿉CˆÈˆ±‡“‡5†0† …s…{……4…˜†¦‰ö‹Á*ŽÓK‘­‘nT“×–´˜Á–ò•]“¨“m”I‘[’.ŽÔ„áƒÍƒêzâv©sªr­rôsÙuv=wbwywvàwv¡u^vúwwùx8w`wŠwöz~I‚ú€E€Ç€¸€º€ãÅ„-……3…Ì…Ã…Ð…¹†¬‡"‡ˆ;ˆ;ˆŸˆÙ‰V‰ßŠŠñ‹ ‹¡‹þŒ²F¢ŽKðâ‘L‘‡‘)‘€’O’È’C‘w¨qm“‘N‘„‘Õ’‘Ü‘—‘H×»J Ï,}Ì‘-‘a‘F‘:‘V‘L‘Ú‘ô‘‘U‘N‘l‘£‘‚‘á‘ݑӑ¶‘b‘7‘4‘=‘U‘¥‘‡‘î´´6VŽÚD˧³Êø*Ö–Ùr>%Ñ’TŠ3‘‘2–+ ú Ž4„ŽaŽÊŽØŽšŽBñꎎIހ޻\=² -ŒÖŒÙ!ŒîŒ@‹¼‹K‹ ‹%ŠöŠ_Š‹‹òŒgŒ³ŒŠâг‹,Š‘‰ø‰}ŠŠÉŠÿ‹ÝŒ ŒcŒÉŒÝŒ\ŒeŒ0ŒXŒ™Œðv/Œ´‹â‹•‰‡Õ‡aˆ1ˆÌˆÆˆî‰bŠyŠœŠ…Š‰ð‰˜‰O‰ˆáˆW‡Ä‡H†ï†¤†a…ê…J„É„ç„é„´„ˆ„ƒ›ƒ©ƒžƒ•ƒ ƒÒƒÇƒAƒ‚Å‚g‚ ò‚ ‚9‚1‚‚Û{=€ò€¯€Õ¶}F^~è~Ì~¿~¼~—~Ð~ß~í~Ä~˜~=~*~Z~©~Ô~Î~î~ý-A"4`kcÏ€€¸wa‚z‚óƒ3ƒ~„K… ††F†Ä††‡†±‡Vˆ‰7ˆëŠ×–Å”¨’p‘â’Š‘ó‘@•”– —ã˜8“¹w ‰'ˆÖŒæŽ\çÕŽŽ.Ž”’zŽîŽ™óŒÜŒ'Šõ‰6‰8‰’‰OЉ‹ ”8ŸÁhPŽê5ŽÖްކ޳ނŽTŽ6Œ‚‹‰úŠ‹B‹;ŠÊŒ•–º=ŒiŒðŒðŒ°Œá 4ŒåŒÜ—ŽÊÂ…G޳Ž=lŒJ‹Œ‹«‹p Ž”ŽEŽËŒ’$†ÅúäÕÁ¯0ŒåŒ¹~ŒÍŒ{ŒŒNŒç-ŒÐŒC‹kŠÑŠJŠ€ŠxŠ!‰ÿЉö‰ä‰–‰Š‰u‰I‰‰ˆÈˆ‡¹‡ùˆý‰ ‰À‰üŠŠL‰Á‡7††7†Â‡Âˆcˆe‡ù‡¹‡•‡†Ü†Ï†o†'†† …¿……\„õ„„C„#„ƒðƒÐƒ|ƒSƒfƒ[ƒ~ƒJƒ/‚¯‚[Ä_€o°ˆ>‹4Š?ˆ¬‡–‡XˆÝ‰¿‰ˆK‰ÒŽ ‹½‡ï…Õ„„…b†•‡èˆ¡‰¯‰½‰ì‰ ‰-ŒDJh‘ë)I0Ðב±‘ª’Š“¹”“~“1“#’!zã¥å‘ ÓR’š“H‹¹ˆÃ‡àˆF‹ªµŽƒŽoŽ0éŽúŒ˜ÕÖ’k“Æ• •·š›Åœó”—ä‹ ‡ý†æ„—‡Š“ŒâŒ‹+Š ŠhŠcŠ|ŠR‰Óˆˆ`ˆ³‰³Š8ŠßŒí߆’­“’Š’X’¼—$™ó™–å—k˜ß—Ɣ脧†ŽŽŽ“ˆ•1—Üš˜´“ñé^ŒBŠC‰Hˆ½‡d†4…C…‰„Ñ„+ƒ‚Æ‚U‚”‚^‚G‚¨‚žƒ&ƒÍ„š…{†Â‡/‡×†·†¬‡xˆÑŠþ‰ì†œ„̇ÿˆÛ‡þ‡Ì‡Ã‡Ú‡àˆD‡Ï‡¦‡I‡~‡r‡Ê‰ŽŠ ‰­‰{ˆs‡"†é†ä†ãˆ¥ŠØˆÍ…ú„ÿ†É‹ÅŒo޳“„“’+•]˜~š%™ä›ó]œ™Ø˜—W—­˜~˜s–¨• –l•º·ŽZŽöÍ‹ý‰K‰Õ‰ ˆy‡Ô‡0†Š…º…j…j…§††‡‹ˆÊ‹GU¤ò’“’“©‘“Ó”Ù—5™¯˜i–Õ•'• ”“”‘ÿŠŽ†¶…I|¬tÞrrðrïsÎwDx wµwgvñvÎuêt¨v«w˜w‘xx@yà{#~úƒF„D‚x‚‡‚X‚\‚:„…چ̆ †S‡?‡L‡–ˆˆÐ‰‰…‰|ŠŠ–ŠÐ‹}ŒŒ›ŒžŒ¸@—Ž1Ž‚e”+W³‘‘b‘²’c“y“W’ƒ‘¯‘_ß½õ‘|‘ê’F’³’Â’c’’‘q‘ËÁ©‘‘ ‘4‘W‘u‘Q‘K‘v‘Á’P’`’’<’:’Q’?‘þ’:’A’9’’ ‘á’’ ’@’‘¹‘L‘*‘éq±² 9é‘y‘n‘B՚Αð¬W뎴PP‘k‘Ý‘_æÖ‘‘Ñ  `: 7tÁ§޲ŽpŽtŽŽŽ“ŽhŽàŽŽ"ŽŽ À²Œk‹ì‹SгжŠÈŠœŠjŠvЬн‹‹€‹\‹$Še‰œŠÊŠèŠÒŠÙŠf‹C‹ÂŒ^ŒµŒŒFŒfŒ$ŒVŒŒ]Œ¼ŒÏŒæÕŒœ‹ƒŠ»ˆ7‡íˆöˆÓˆí‰ŠŠÎŠãŠ—ŠgЉõ‰š‰Sˆäˆƒ‡î‡v†Ó†c…î…œ…R„è„u„ƒÃƒ“ƒƒƒÀƒÖƒÆƒ²ƒcƒVƒ‚€‚7ðŸ½ð‚!‚‚X‚<ý‚ ‚Oa€®™e~Ç~Þ~Æ~{~“~~©~®~¼~¿~é~î~õ~Ú"X_’µ´ •—v‰ð€€w€œ€;'¬‚H‚‚΃ƒ'ƒ6„„½…þ†e†×†z†h‡m‡Æˆ‘‰Í‰@Ë–˜“¥”“-“%“¯‘Ñ“[”Õ•ç” –U˜R—S”mY‰À‰H Žéߎ×F3&BŽëŽH3‹|‰ðˆ]ˆo‰.‰~‰Ü‹Ž=‘b‘‘s`í‘vœ^=:Ž¥Ž —ŒŒ5‹œŠZ‰j‰‡ŠáŠÚ‹/‹¶ÖÉŽ°H;Œ¾Œò˜ŽŽº?¡6ìÞŽæŽHŽjŒTŒ1‹þ/ŽõŽçŽ]®Œ¶‹ðŒ^™è쎎òŽd±ÿò‹PŒ¤ŒoŒÖ7ŒÝ‹öŠØŠ(ŠŠÅŠÑ‰é‰ÏŠRŠKŠ`ŠVŠŠ‰É‰Ð‰‰ˆ‰}ˆÓˆè‰.‰w‰»‰ÜŠ‰í‰¸‰…ˆ–‡3†¼‡äˆÚˆîˆªˆeˆ‡ð‡¹‡M†Þ† †[†–†¹†F…Á…E…„y„w„s„9„ ƒöƒØƒ´ƒÍƒöƒóƒÕƒ‹ƒ‚ׂ;ÿ1©…‰t‹Ò‹°Šfˆò‰tŠªSŒÑ‹yŒi‰©‡4…Ç…‡†Ò‡ ˆÍŠ‹‹Šú‰á‰y‹§Ž–uŽ£z¶+„0‘‘@‘}’Ó“Q”Á•c•Õ•ª”Œ“¯“a‘I2þ‘‡‘öç‘ã“o•3“ Œ Šuˆ•ˆ‹ÁŽ´Ží‹Ý ŽŠÉŽ˜¡³jç“3’R•õ˜ú™Çœ?“tŠq†·†&‡ÌŠÞŒeŒ²‹êЉùŠHŠhŠ®ŠQŠUŠHйŠá‹H‹¶Åމk‘'‘•’'’h’U““—_™/˜4—˜ñš/™–yꎪQK$Ž“J’–0˜M˜Ý—m“š’õ‘Ž‹ÜŠ2ˆ¦‡p‡†,…±„§„>ƒ{‚å‚Ý‚u‚b‚:‚Ç‚‚x‚׃m…/…ð†‰†˜†÷…’…Ô†h‡­‹‡Ú„Þ„k…݈ÀˆºˆŠ‡õˆ3ˆOˆLˆZˆ'ˆ‡è‡Ý‡Îˆ$ˆÑ‰æ‰é‰Ø‰›ˆæˆ&‡J‡’‡‘ˆQˆ‡†n†5‰ì»œ’ª–š—´˜»šx›ÔORݽžœÞšÎšY˜»˜Y˜s˜$–m––•ŒŠŒŒ‹º‹/ŠÒŠš‰Ž‰>ˆ ‡û‡†¾†Q†V††jˆg‰ŠGŠIÏ‘I’6”哽‘±•È—¥˜8˜k—ó—Зz•†“à’pŽrŒ¾‹v…2~¡}’zt‚qpïshvåxˆwäw¹vüw‡vâwv±vëx[y!y÷{|ý~¹‚³†…¢„?„Õ„Ú…F…M†¾ˆt‡ª†â‡$ˆtˆ°‰0‰ŠŠdгŠ÷‹oŒŒ/@ðŽ/Ž{ޱaXñ8‡‘ö‘T‘]‘’‘Ã’v’ø“»“o’‚‘Û‘€‘E‘S‘Å‘ñ’C’m’¼’ñ’‘’(‘Š‘Ò’V‘ð‘æ’‘Þ‘œ‘p‘‘‘ê‘ö‘Î‘Š‘â’2’p’«’ã““m“G’Ê’ª’s’‰’x’ª’š’¢’¢’Ë’õ’²’“’‘š‘v‘¢‘‚‘“Ž‘U‘ú’v’ÿ’Ø’R’‘Ÿ‘–‘Б¤‘e‘¤)Žò‘§’@‘Û‘‘n‘©‘³‘t‘1«3.€dÕÆËû³n7ŽòŽäŽýŽøŽÍŽŽvކŽtŽoŽ‚ŽuŽ{íŒÿŒzŒ2‹Ù‹7ŠÐŠÍŠï‹Šß‹}‹ä‹l‹’ŒYŒ{‹bŠc‰¿‰áЉ®‰¶‰¯Š-ŠÙ‹¤ŒCŒ¬Œ£ŒlŒ‰ŒµŒ†‹á‹õ‹ïŒD‹Ï‹æŒÉkŒË‹¤×‹Uˆ‰s‰µ‰v‰ŠЦ‹ ŠçŠÈŠŠ1‰û‰Ù‰Ø‰<ˆªˆ‡“†ç†n†%…Ý…À…9„e„"„ƒß„„ „ ƒÿƒÔƒºƒ¢ƒ]ƒ‚݃‚±¹¸‚&‚V‚‚‚‚‚@‚^€^€ßµƒpV0~þ~ù+;I\xµÝ×þ€€T€_€l€€€•€z€L€f€†€ˆ!1€è€Ž¶‚S‚؃ƒ7ƒoƒQƒ"„ …)†%‡ ‡‡“‡j‡®ˆWˆÜ‰v‰ØŠê“Ê™•”J’蓇’Ç“}“õ”–h’€l’}’ ’Ë—(“"ÙŽõ ކŽgŽ9¿æAŽÁŽTÜŒ—ŠÏ‰7ˆ‡R†àˆðŠSŒÌ2Þ‘‘»‘ª«ó¢‘”Á'syÀ‚eŽÄŽ©‹‡Š‹8ŒŒ‘Œ9[4èŽiYL£ŒíŒ‹¢ŒŠÔŽçñš‘˜XÖŽyŽ`Œ,‹ÉŽÍŽDŽìŽAÃkŒ¶‹óŒnÎŽ.ŽŽŽgŽZŽ=ŽþŽ?ŽpŽ{Ùƒ-ŒúŒòŒâŒÑŒŠÑŠoŠpŠË‹Q‹RŠç‰ôŠ ŠYŠbŠsŠ\Š?Š7Š‰à‰°‰Lˆòˆ~ˆï‰â‰Ö‰²ŠŠ ‰¶‰–‰)‰ˆo†¿‡CˆÍ‰ˆ¸ˆgˆJˆJˆPˆ‡¹‡)†¹†~†ž‡†º†U…Î…I…„Ù„º„ƒ„_„G„3„5„M„I„b„R„)ƒþƒ’ƒ@ƒƒ2‚Z‚†ƒ†×ŒÐtA‹çŠb‹®ŽÕÝ¸ŠˆˆÆ‡)†™†§‡„ˆ¡‰PŠˆ‹´Œ,Œ~‹Œƒ\?"9{(¥‘!‘¨’f’¯“”L–;–C•Þ”³“c’È’Ù’E‘‘”‘»·»ò’Å•$”æ”5‘ŽäŒ]‹µŒHŽtæ§ŽÞlŒçß¡Ž«Ž§Ý‘’¾• —ˆš“’ŒûŠäˆkŠ’Œ«»Ž2ŽªK‹ÆŠLŠ‰ÉŠŠ×‹ÉŒŒŒ‹¯‹«ŒnŠŽ¬Žîý‘?‘Î’]’“’¡”é—ƒ˜˜™”œ›M—†’žŽàŽor- ¡jÀ”h™<™"œS™&•Ô–ŽŒEŠ‹‰:ˆ†à…æ…˜„„ƒtƒ6ƒ ƒ4‚¡‚,Á‚~‚K‚­‚è‚öƒ·„<…Ä…n„Ñ„……·üŠï…Ô„ƒª„Ȉ݈Aˆ}ˆˆ}ˆŠˆº‰ˆéˆ—ˆxˆ|ˆ9ˆ°ˆË‰º‰ò‰Â‰b‰ˆÞˆ/ˆ‡›ˆ’ˆ‡±†Œ†õŒU{’D”ì™›€š]šu›ÐTžžtž£Ÿ(›4™ˆ™Ñ—<•¾—Ï™M˜—˜‘óÈ†Š•ŒnŒªŒ3Œ‹x‹Š™Ša‰/ˆÎ‡Í‡°‡!‡3‡²‡{ˆ3ˆÂŠ­‰Iоñ“9“• ”É‘\”z˜C–I”^•“–Ç—’‹¶Ž%‰ë‹§wˆnY~Hy“u(qq÷v x xKw¡x_xUwºvýw5vÿwÄzv{Ž|Ú~–€ƒ-†}‡£†â†}†¥†¢‡,‡]ˆsˆ³‡Ûˆ8‰‰ªŠŠÉŠÎ‹c‹ÁŒ5ŒeŒ¹+ŽÉ‘ ‘ž‘¬‘ᦼü‘ ‘'‘U‘m‘Á‘À’’0’f“#“t“A’y’$‘w‘t‘³’’j’N’k’¿““’ï’E‘B‘I’/’²“”“L’-‘ü‘ì’'’’¢’M‘î’œ“ “V“a“““u“Y’É’©’˜’Î’Ï’ð’â’Ê’§’—’v’r’Â’‘î‘–‘’‘w’’~“)“œ““Í“}““’Ú’±’Ä’|‘À‘9¾5`ŽÛ‚’ ’”’,‘¼‘ß’’‘Œ‘oç‘D‘:Ë]ßÃS:×S8n}h:H2ŽîŽÖŽËŽÀŽØŽÉŽ(Œ(‹¡‹ËŒ”Œg‹[еЛŠŠqŠ÷‹:‹“Œ»XŒ¥Š®‰š‰ÙŠR‹/‹:ŠpŠÆ‹VŠâŠªŠç‹–‹ÓŒ/ŒîŒÍŒ&‹ÛŒ‹•‹x‹°Œ/ŒuŒ‚Œ™$‰‹ˆ¦ŠvŠO‰Â‰ˆå‰Ê‹8‹?Š÷ŠÇŠ–ŠF‰þ‰â‰ˆÀˆ2‡‡&†à†† …Ñ…‰… „Õ……!…$…„„µ„΄°„pƒÂƒX‚þ‚„‚O‚‚v‚‚‚U‚‚ú¿ E€ì€Ç€|€‹€y€X€Z€€€÷€G€†€j€„€¤€£€Ö W{Zz|žd‹S‹n‹{‹pŠíŠÆŠÆŠÇŠ¡Š•ŠŠºŠ¸Š)‰à‰—‰hˆýˆÀ‰eŠlŠÿŠÝŠwŠŠ‰ã‰yˆÉˆðˆx‡ˆ)ˆûˆƒˆ:ˆ¢ˆ°ˆ3‡ù‡ƒ‡—‡f†®†h†¾‡†î†¥†b…ù…‹…8„ÿ„ù„è„΄߄¿„á„ç„҄„’„U„„ „ „)ƒ†„?ƒ¤‡›ŽŒ–µŽtމ¢ŽS‹çˆß‡I‡ ˆ ‰˜Š¶‹Ô‹ÅŒ2àŽ&™ŒÝz*À¹†sñ‘¾“{”±“²“ø•O——2—0•T’Ý’%’¤’ò“g“I’v‘‘ýF’•^— ™˜m“ŸŽ QŒµŒå×ÇŽ^ƒ‹?ŠŒ_ŒæŽ@u’Ô•}–U” VŠvŠ!Œz ƒŒ©¼5Šˆ^ˆ^‰_‹zŽ6‹è‹¡Œk׎¢ŽÎ.‘F’@’@’Æ“¡•l–ã—ø™»œš€—‘ìŽ?ŽXŽkn²Ò‘˜™–ášXQ™;™,“ ‹Š«‰>‡Ì†ò†`…[„²ƒ§ƒC‚¥ƒ‚MüÌÊÕ‚jƒƒ]ƒÎƒ¤ƒƒ‚ȃ,ƒ„¤†•‰«‹ˆ…2ƒdƒ\„é‰SˆñˆÖˆ½ˆøˆÙˆåˆö‰6‰HˆÐ‰ˆˆ®‰‰ÙŠ.Šl‰¼‰ˆãˆÞˆÔˆBˆà‡ìˆO‡¤ˆŒÛ$’¦–+šª–œ~žLžzžž¯Ÿ¢ž™^™™™—×–º˜˜!–Ý–šŽ7„Š'9ŒìŒ»ŒPŒ‹nв‰ü‰]ˆÑˆgˆˆˆ ˆ®ˆØˆÿ‰å‰SŠsL”u“Æ“•“*”•˜R—g—8—u”ç“gUŒ—Šè†…;ˆŠ'ˆ¹„Ôx¿s q½s€ycwíy3ysz)z|yyñx½x¬{Y}*~\€6‚„A†[ˆ1ˆEˆ+ˆbˆKˆ‡Ê‡ôˆ„ˆÃ‰‰’ŠŠË‹5‹ŒŒôŒçL…ަ’"“_“’›‘f‘3‘‘v‘¿‘»‘בБ®‘Ç‘ò’Q’’“-“c“’›’*‘Å‘M‘æ’’3’=’°’Ô’ÿ““{’͑Б¬’1’Ë“#“¼“’_’b’i’¡’Á’å’Å’¶“\“©“ƒ“n“|“}“^““È“­“Q“4““8“&’Ã’­’µ’˜’¿’ë“’¿’R’x’õ“§“„“G““)““‡““l“Q“\’ö’…‘Ìæ„Fÿ’$’Ó’•’_’o’b’ ‘›‘2‘ú‘x‘őɑ–‘{Ö’ábc*èð˳°´«o8'" Ž×Ž4@ŒF‹åŒ9Œˆ‹ø‹K‹q‹…‹7‹uŒ@ŒÍxrŒ8‹g‹£ŒXŒ‰‹þ‹‹ãŒ¥‹§Šé‹‹øŒpŒwŒ°Œ¾Œ§Œ}ŒŠ‹‘ŠÃ‹šŒÕbŽŒ0‰FŠ‹@ŠÍŠo‰:ˆ‰#Š×‹R‹M‹4ŠöŠÏŠqЉHˆÞˆ€‡ï‡l‡†…Ö…ç†=† ……W…M…4…P…‰……d„Ô„j„„ƒý‚û‚»‚ッƒ‚󂸂˂Ђü‚Ü‚^Îìá·«‡emD€ýZôãˆÈÛÛ‚!‚ƒ‚µ‚·‚e‚[‚Š‚±‚p‚ë‚#‚$Ü‚"»Ü‚‚M‚؃]ƒÛ„„ž…„…»…Š…î†Ž‡‡‡a‡ðˆKˆ=ˆ—ˆÉ‰&‰cŠ{‹§‹ Ë•m”,–[•Å•–*–ƒ—î—â—1‘7‘‡’Ç’úž•«Ž²‰ÿOŽXÁŽæŽE¹‹9‰†9‡µˆÑ‡wŠì޳‘:‘ꑜ’Ž’¹’ž’¢’z’’‘’’ž’5’‘Z™ìÒWŽ©#‡Øòºk £cÊŠ Š ÞßwŠûŠõ‹éùA‘3‘ý‘ê‘ ìN;ŽÈäZŽ“¿8zŽüŽÞްŽ7±Œ¹Œ-ŒHŒÂyÐlšŽ Ž÷ކç5ŒóŒ÷Œ÷Œ‹Œ=‹’‹‹Œ‹ý‹ê‹‡‹.ŠëŠÿийŠdŠ2Š‹‹#‹i‹Šˆ‰ý‰µ‰·‰ùŠ‹F‹бŠa‰È‰â‰½‰<ˆÚ‰ˆÂˆ,‰ˆìˆˆFˆÊˆùˆ‰ˆ‡a‡m‡Œ‡@†ü†î†•†¶†k†$†'†…ë…Î…‘…m…t…œ…Œ…\…4…/…*…… „ê…6„è…W…*…E„ˆˆhŽBŽ6¥¿‹UŠñ‹ ‹M‹‹"‹¾Œã(8‡·9ŽUŽe€`~Ç‘‘Û”S•*””C•¹——N—Ø–G’Î’ “…”_”ø”Ê“•’s’*’o“¶–¡˜R˜¡™´—4,Ž‚ŽBŽ'GKŽú¾‹i‰Y‹½ŒæŒ4d‘s“\“™’]RŽw‹ÃН-ޢŀö’$‘ xŠ"ˆ:‡¹ˆ§ŠúŽ޳›‹¬Œ1XõŽ&ŽJJ‘‚’ž’l“y••è–h˜F› YžœÍ˜‡’6b[ޏŽÔZè°ß‡–á—Ù™ žài›4’¿¬ŠÚ‰ºˆ´‡F†……P…†„~„.ƒIƒ‚ºõ‚‚r‚èƒ(ƒyƒ…ƒ¿ƒƒ7‚µƒHƒ*„ý†ìˆR‰¶„è‚£ƒÇ…Fˆ ‰ú‰{ˆé‰[ˆÍ‰‰¡‰Õ‰ñ‰]‰1‰‰‰rŠMІŠY‰Ç‰¹‰`ˆò‰r‰G‰Y‰Fˆô‡÷ˆÎŒ¦.“Å—C›³ÚžžÙŸy { E s æ°™M™™³šI™q˜é—𗇔CŒ4ŒWŒŒKŽÃ¦†ZŒñŒoŒ‹ ‹,Š$‰Ç‰ ˆÚˆÿˆÎ‰-‰"Š%‰¡Š¯‹òŒü“õ•“Ú–Õ“A” —š–Řɖ¸‘»2Œ¢‰ˆ/„p¡„½„õ€ïzy]w“sorˆ{}z¸zÖ{³|²}d~½Å}·|9~´߃a…x‡j‡ûˆò‰‰f‰Æ‰šˆéˆAˆ¡‰$‰ÇŠŠ|‹(‹ÍŒ2ŒlŒº›úŽ’o’°“Ó“–’¦‘¦‘q’ ’2’`’+’G’‘ô‘ú’’t’ä“/“5’ã’™’v‘Þ‘N‘é’˜’;’’ž’דB”!”Y“2’’n“j“–“£“‘“~’ë’ë’Ò’ñ“““@“r“Ì“ô”“ó“ܓÓñ“ý”“û“ ““V““6“b“U“”“ë”#”£”·”¬”N“Õ“Ó”“²“6“&’÷“3“‘“õ“Û“¹“Á“[’”‘ª,5ŽuŽJ’8“H’ï’å’à’¿’i‘Ú‘K‘O‘–‘È’‘Þ’‘õ‘~†ðÒô99^[E2ÌéðÀŠVGŽøŽÛ޳޶ŽtθÈ]ŒÉŒØ7ŒŒ\ôŽ—Ž[ŽZŽaŽPænKNŒŒ#ŒýŒÛŒŒtŒ£Œ•Œ;ŒLŒÀŒ¡Œ$ŒF‹DŠ3ЉŠÒ‹ÁŒN‹†ŠÕ‰ã‰‡Šо‹ Š7‰®‰;‰4Šº‹q‹m‹x‹R‹4ŠÐŠ;‰€ˆüˆÐˆy‡«†ë†«†+†<†’†L†G†.…¬…•…´…ó…û…¨…L„÷…P…ª…Y„9„/„i„„-„<ƒîƒÃƒú„+„5ƒðƒc‚½‚À‚À‚™‚Ž‚…‚‚ꂱ‚A‚~‚Š‚^‚6‚q‚x‚°‚Ï‚ñƒ ƒ‚ç‚æ‚ì‚ò‚Ù‚Á‚¾‚x‚ǂà ƒWƒ„ƒ½„„_„Ú…/…R…؆Œ‡P‡h‡&‡M‡ž‡|‡´ˆˆpˆ¥ˆÎˆ¿‰ŠŠ)ŒŒ8UŽÁ–‡–à•Z’†“D– •…—Ì•Š–d•Ó•y—Ô–0— ‡h‹ ޹ŽáŽîŽ)PŒ÷‹îŒUŒDŠi‡ †DŠÚ‰È†åеŽ‘å“““¦“]““’`‘¿‘Í’;““ “z“|‘ø3Žô8 pŽ:7åm’"‘_‘\]·ÂŽûþŒ½A&‹Š‹ÍŒnŽ´É^¸¿¯¼Ž÷Ž´b9BT{"Žñ)Q鋎‹—ŒSŒ9ŒQŒ@‹S‹‹¦‹‹‹—‹‹‹j‹»‹ÖŒ$ŒŒ ‹ÒŠõŠÐ‹ ‹U‹:‹‹(ŠïŠŠSŠZŠÂ‹ÈŒ3‹´ŠóŠ7‰ð‰ìŠlŠþŠßŠø‹ ŠÑŠžŠdŠS‰À‰M‰}‰û‰ºˆå‰‰ ‰ˆîˆºˆLˆ‡Ý‡§‡o‡%‡†ì†½……a…q…솎†¬†c†O†††…Þ…î…ß…Ð…Â…ç…í†0…ã†1††‡†!…Å…t‡tŒ†MqŽ<ŽvŽÔŽžŒ7†’,’‘tj²‘$‘‘>‘Ô½JŽÎ\‘w‘ב1‘1ÛÆ‘d’'“¨–!–”€•i–—w—¿—Ô•Û“W“•8–}–•ã”ѓݔ”¼•ï—™lšs˜O’åŽ"‹æP'þ‹w‰ðŠëŒÌŒýŽ!Üó‘7X’Ž?ŒÞŒŽÛ‘¿‘ô’?À’ŽÁŒYŠLˆ¾‡Ðˆ¨Š}Ø"ޱ'/¥Ç¦Ž{‘ã’°’¯•–Ö¢–ä˜úšñœýž$2˜§•HÀŽ ’ÈÓŽ“´!-Žþ‘d–Y™Z›Zœ‘Ÿ%“üŽ+‹½‰M‰!‡Æ‡9†?†…H…,„Ž„°ƒÈƒƒ"ƒ9ƒƒRƒý„@„™ƒòƒÅƒ)ƒ„v…û†”…‡†R„¿‚à„€†J‰‹4ЉF‰~‰-‰]‰ãŠ&ŠŠ‰¡‰g‰°Š-ŠrŠ/ŠŠ)ŠyŠX‰ù‰êŠfŠ<‰Û‰M‰o‰ŸŠLŽã“ò™_žž"ž‰Ÿ‰Ÿw   _ ÷ cœm˜ ˜P™<šgš?™¾™/–E ‹oŽŽW{ŽÓÝŽM”ŒùŒœ‹Æ‹iШЇ‰ú‰´‰s‰Š‰¯ŠªŠX‹h‹„‹\’c”…“<—”‚”Ÿ–b–rš”\&Ž˜‹5‡X„>‚Žà~ä}\zeyÐxtz¸x\s$wé|c}l}òáØ?ƒ€8‚¹ƒë…ˆ{Š‰ÒŠNŠQŠvЬŠ8‰ ‰~‰ÁŠQ‹Šï‹™ŒŒ ŽKÖŽkáÓ‘Û’ö“ “Ö“â“‘Αe’q“ ’ý’ÿ’É’à’Ù“’û“A“|“«“™“’ë’Å’‘x’8“J“=’Â’ß““¹”}”¼“U’N’·“q“g“W“Ê“¬“}“"“N“/“d“d“»”D”„”ª”P”%”:”B“ã”1”K“铬“µ”””1”/”$”L”¢”º”Ò•„• •<”ó”·”H“Ñ“`“7“B“n“¸“¸“í“ö”$““’¾’)‘pލŽ}Ô’¬“•“3’û“’ê’»’e’E’’’%’s’j’>’>‘ª‘U†ì‡…ØÕÊ»¹¶øY<þ¾œ¡‚WŽþŽÆŽŽiޤ2oYYŽÛŽÕŽ|Žz&ŽµŽªŽ6쎎 Ž6ŽrŽ~ŽxŽ9\ŒãŒ¨ŒKŒxŒþ.8Œ9‹‹=‹ Š_‰ÃŠ1Œ0$HŒÿ‹ìŠYˆŽ‰‰ò‰êŠ‚Š>Š‹‹ß‹§‹›‹‚‹ŠfŠ‰Ù‰z‰*ˆÛˆîˆ—ˆ ‡p‡!‡D‡!‡5‡_‡ ‡"‡†O…è…Õ†]†l†p† …×…¶††G…f„Ý„œ„¶……5„¶ƒÍƒXƒ=ƒIƒ¯ƒ˜ƒeƒ&ƒƒ@ƒrƒKƒ(ƒ ‚m‚k‚q‚°‚̓ƒƒAƒmƒ[ƒ1ƒ0ƒ3ƒ/ƒ[ƒ>ƒµƒ–ƒÄ„A„„„Ç„ø…F…¦…ÿ†t‡‡6‡i‡ÄˆWˆ©ˆcˆ&ˆzˆˆ2ˆÙ‰%‰}‰w‰Ä‰pŠQг‹„ŒìŽ9ŽâN•–í•?“‚–2˜I–F—”ö•¿“Š“9”J‘R‘áËŽ#rŒ ŽØŽž‹gŠ•Š]Š˜ŠH‰|‰…‡Õ†ŠgŒ-‰>‘’ì“䓯“““T“«“£“Ò’‚‘N‘9’“ “3“E“J’Ƒّ!œîŽ‚eŒð‹Æ€‘‘Û‘K‘äRŽ×9À;bŒÂމŒÝŒ÷Žg÷5TŽ>(Œ˜Œ²Ž)Žù„~ºUj¨nzŽô&ÊŒŒ/Œ‹l‹†‹CŠø‹8‹ZŠù‹‹T‹€‹Õ‹Ë‹íŒ-ŒvŒ¶Œ)‹bмŠí‹*‹*‹(еŠpŠb‹+ŒXŒÜŒ:ŠÞŠ‰Û‰Æ‰¬Š нŠÜг‹‹ŠòŠÑŠM‰Ì‰ ‰ÝŠXŠ`‰Ž‰=‰b‰œ‰)ˆZ‡›‡€‡¼‡í‡†…“…·†(…E…º†d†Ú†Ï†×†¶†Ü††3†N†l†††@†f†6†µ†­‡†Ú‡†õ‡†ß†²…¸†ÝŒ¢Ž¿ŽÚî‘I‘ÖE“Š–¤•Ñ”À“.‘}‘?“’¶’é’Ù‘BëŽÉD‘É‘á‘Y’6‘þ‘„’’Ç“–•7–¹–—•§–è——˜e–·•¬–Y—2—m—–=•Ê•Ÿ–d–É—Ó˜š—ž$˜¹ŽŒb‹#Û±ŽàŽ¡Æ‹¯Š‰ü‹Ó]Ž^Y¬ž¨ŒŒtŽô‘k“”{—š—–Ø’Û‰‹ˆ,‡ˆ—ЉŽP; Ž×Ž^ŽÝRŽ ŽÒs‘ë““s—*˜˜C—º˜öš&œžXžýašÛ“x“Q›”‘k†Dº]"’º——c™á¡G”[‡ ‰Ë‰\ˆ†ˆå‡®‡ †õ†S…f…gƒÏƒ©ƒúƒÝƒ—„(„¢„„„ƒƒo…[†“‡†#ƒæƒëƒÒƒ…‡q‰¿‹ªŠh‰Ì‰À‰‰€‰æŠŽŠŠ5Š<Š{ŠmŠ„ŠH‰áŠŠ‹ ŠÍŠÔŠ^‹c‹MЉÁЉù‹x1”^š²ŸªŸ˜ŸÂŸ‘ž¾žŸ Ÿ›’˜¢˜D˜¯™®š`—h’¥ŽØŒ§Ž¨ä:€Ž¨ŽéŽ[ÍÍŒýŒgŒ#‹œ‹Š´ŠžŠ†Š:Š1ŠkŠ×‹‹Ã‹‹Ì•“»•€–Η–ü—™/’¨ŽßŠï‰”„g‚€} {ù{jzLyÐzêzÂu>t]|¤€%X€Y€Ï‚\‚Ô‚(‚‚u„:…6‡¦Šœ‹ú‹Û‹z‹1ŠìŠÑŠ—Š)Š#Š›‹±Œ7ŒŒó÷ŽÏÜ”‘:‘v’y“ý“Õ”“o’<’’꓃“Ç””””%”F”)“ì”C”J”“Š“,’ë’>‘»’:“õ”“P“g“Š”%”‹“Õ’¦‘å’Ž“Ÿ”“Д”:“ë“à“±“Å“À“÷”H”Û”ø”Ü”­”x”+“Ǔœڔ“ž“q“Å”2”›”ڔԔɔԔw“Ê“)“~”ú•|•Z• ”j“ù“‡“M“’í“/“`“•“蓹“F’š’œ’¡‘ï+ U’º“ò“g“ ““““'’ç’¹’ˆ’^’I’s’b’<’‘Ÿ‘< îÕ¿ÑÕ¸SX |Þ±¢{I޷ޛ޿ p‰Ž~ŽrûŽ Žv޹ިŽóŽºŽ’Ž¤Ž«ŽEýŽ?Ž¿Ž²Ž›Ž<#ŒªŒ|Œ^Œ¾0X…‹“E‹ì‹ŠØŠ®‰‰±ŒkŒÃ@ŒbŠR‰\Š;Š•ŠÊŠéŠ Š?Šm‹Ê‹ý‹¿‹hŠÃŠOŠ;ŠH‰ô‰ä‰m‰™‰Û‰lˆÈˆbˆJˆxˆˆˆM‡Û‡µ‡D†ÿ†­†²†•†n†h†Ô‡†Â†F…¥……É…ì…’…„Wƒå„ „Q„†„©„)ƒÊƒžƒcƒ‚â‚ä‚È‚ýƒƒVƒ‚úƒƒVƒˆƒÜ„ ƒàƒ¯ƒšƒò„„‡„儸„ê„þ……q…dž+†¸‡A‡ùˆHˆuˆtˆ[ˆÑ‰ˆä‰ˆ»‰ˆþˆqˆù‰uŠ ‰ÊŠfŠqŠz‹S‹ÁŒhMº¼‘Ë’‘䕘N–ë••Ò—¦–7˜–•_‘=Œa€ŽºŠ‹‹‹ŠUŠJ‰’Še‰ÇŠ:‰)‡C†¢ˆ!‹5ˆ4‹¿’‘è’Ó“Ê“ì“ö“ï“b“J“9’ðˆà‘0‘å’Þ’ö’é’†‘§õg¦>ŽË““‘“’‰‘ ‚ŽóbŽdŽžŽs0ºGL>\ŽŽe/r.u‘0‘)áÈ—lI”XX`ŽÂ”Œ®ŒÝŒ‡‹æ‹³‹ÓŒAŒ>‹í‹Ó‹ÄŒŒ"‹êŒ%ŒeŒOŒRŒzŒG‹ò‹0ŠîŠâŠ­Š•ŠuŠÜ‹™Œ¡Œ–‹ÆŠ¤ŠoŠˆŠ#ŠŠŸ‹‹%‹‹9‹T‹H‹<Š—Š5ŠŠsŠºŠe‰Þ‰Ž‰ ‰½‰=ˆY‡«‡4†ß‡W‡v‡>†œ†w‡r‡a‡Œ‡h‡a‡‡ †ß†Ò†l†½‡†ò‡†Ö‡;†ö‡„‡q‡ü‡è‡ì‡³‡õ‡s†û†?‡ÜŽ[XÝ‘©’t“Ž”Ç”£–L— ”Ø“\’/‘Ö’6’Ž’“7”“@’:’o’º’g’“!“n“’ç“S”s•O–U——l—˜b˜Z™s™ç™y™˜ª—ò—Ž–ü–g–B–x–p–þ—j˜ ™™â™“lŽÛ`‹’‹)Œ†‰ŽÏ޾Ž4ŒÞ‹LŠì‹°㎓+Žù¦Œ‹à6Ž.Ž‚’• œ¡šõ“󎉊‡á†ø‰‹bŽÌ^ŽAŽ£—Žû±‘]’‚“¨”Y˜˜˜®˜f™_š*œQžc £žr™Ç–%™9¢•÷Ž€ng/ŽLŽ€Žñ”Y˜‘™ ¿™‘%‰ŠÏ‹‰ÔŠƒŠ‰<ˆM‡Á†V…¥„£……Q…9„˄܅=„ï…s†‡4‡øˆû…ü…V….‚á‚«‚…Έ~ŠK‹ŸŠ´Š.Љc‰q‰ËŠDŠŠyŠyЧГŠŠ6ŠŠŠ‹‹s‹‹a‹«ŒLŒ ‹A‹+‹lŒ„Ž.“°š^ž² ¡Ö ÙŸmžÒžÕž@%›™Ž˜í™`™Ø˜î”œeH‰¯X>©?ŽtޝŽŸ9Œ®ŒP‹õ‹ç‹‘‹‹‹8Šû‹"‹@‹³ŒŒš‹»Œâ“u” •s—T—+˜˜Z–¼ŽjŽ£ŒØŠí…m‚€/~Ò},|W|B~}r{Ky]w–{€G˜€þƃ·ƒ®ƒƒ%„f†­‡Ã‰‹‹F‹öŒPŒ‹¯‹~‹€‹ ‹”‹ÖŒ}w¿Ž]O;‘%’¶•ò’pÁ‘œ‘Œ” “ú“î“’Ö“”“ó”1”³•'•{•”¢”S”””s”A”&“ž“’ï’÷“~”~•&”t”0”7”A“ý’ö‘ñ‘E’A“}””N”e”€”~”Š”O”!””%”[””Ê””Š”V”]”1” ” ”B”W”b”·”ì•”â”ù”ë”ŔГ¤’m‘®’j””•d•<”Þ”“¨“7“ ’í’Î’¸’Γ5“L’Ñ’’ד&“+“ ‘ב˜“W”_“Ç“-“’ê’ý’ø“ “’Ü’ˆ’Œ’¥’‰’c’‘¤‘‘FÒ‹0þ»ëøÒ]4ÐYô¥xiz~b[qw±Ÿ”xŽ`½Õާ;ŽëŽÅ$ŽZì䎀SŽdWŒ%Œ-ŒMŒ•0Zt­›HŒ½‹¸‹o‹-ŠßŠN‰í‹›ŒkŒ+ŒI‹œŠ:Š+оІŠpŠ,ŠGŠŠ|Œ)ŒMŒ‹»‹F‹ŠîŠÁŠ,‰ý‰Î‰Ò‰ß‰ï‰Ö‰ý‰ç‰½‰¤‰1‰ˆŒˆ_ˆ(‡Î‡H‡‡,‡B‡r‡x‡)†ç†«†ž†Ú†¥†…É………²…ú…Ç…K„ä„©„u„>ƒµƒFƒ…ƒìƒdƒyƒ¡ƒÔƒÂƒŽƒ ƒù„a„v„ „©„Õ„é…L…x…†…Û…Ñ…±…DžцR†ù‡y‡ûˆ‰ ‰ˆîˆò‰"‰d‰¿‰w‰¢‰Á‰—‰Ø‰P‰ª‰ýУи‹,‹{‹2‹]‹ÂŒÞAŽ˜f‘»’ÿ“…’’•I˜–é—–– “;”¿‘e”L”à“ý•*ÊŽM^Œ¥Œ˜Œëï“=Z/Šá‡«ˆ ‰N‹–ޏ“4’z’£“q”“z“T“å’ò“B’º‘ì‘*¶‘0‘Í’p’ë“@“I“M’Ï’Œ‘Ô‘ ‘i’Z“©“º’‡‘3#~rP3޶‰xžŽàŽ5Žfe"b•tnŒêô‘ ‘?‘‘Ô׎|ŽøøŒËŒUŒëx+ŒïŒ¯Œ'‹»‹ÊŒŒkŒEŒŒ[Œb‹ê‹´‹‡‹‹ŠèŠŽŠ¤ŠÚŠâ‹%‹ÈŒ€ŒÒŒhŒ‹|Š+‰¦‰·‰èŠn‹&‹C‹)‹Q‹…‹Å‹“‹ ŠgŠhŠq‹ ‹'ЄР‰ú‰Þ‰jˆíˆ6‡©‡ž‡¸ˆ*ˆLˆ‡ú‡ˆˆ$‡Þ‡|‡7†à†‰†’†à…â†~‡–‡›ˆˆˆDˆPˆÅˆ¡‰ ˆ¿‰ˆdˆ‹ˆˆ‡ˆ;?““Ý””ø•Ç–±˜A˜€—²”%‘Ô’…“’U’$’È“à•"–•‹”ß”[”`”Ç•i•Q•3”I”è–•••ÿ—˜¤˜ä˜½™x›*›Å›7š£š<˜¾—·–Ж5––w–ø—%—l—–þ–*“w,4Œ€SŽŽ\ØTߎNŒr‹O‹Ã6ÊŽ'ŽcøŒæ‹ÊŒÄ£’”E—M™½œœ1–‚‹xŠ“ˆaˆ‰¤Š‹-Œ{Ž‘ Ž>Ñ‘³“$”…•­•`˜ž˜¿˜ò˜‹™÷š}œ!žS œÛš~›À›3¥H›ŽÆ_Žð;:Ññ?—˜ÄžÞ¥—בlŒëŒ‹®Œ7‹~Š…Šh‹*‰H‡z†³‡€ˆƒ‰„ˆQˆñˆ¥‰L‹?Š­‰ž‡ò‰Í†$„„8‚r‚›‚Ô„–†y‰fŠ•‹A‹JŠ‹Š<‰®‰‰ÀŠ^ŠŠMСФŠÑŠ–Š;Š5Šï‹1‹;‹–‹òŒ‘Œ¯ŒwŒwŒ?ŒÝŽÕy•T›}žŸú¡V ö zŸøŸœì˜› ˜‰—é—?• ’©ÿSPE—‘!MþlDŽöŽ=Že©nŒ½ŒcŒ&Œ7‹ê‹½‹·‹•‹¿Œ0ŒÚBŒG‚’¼•½–Ñ—L–9—^™Ï—ä]ŽÜ‰Ÿ„5î~0x€(€²€N}ê~|õ|ƒl€ƒj…b†£…Ô…ý‡ˆ£‰ÌŠN‹ÙŒŒ#ŒxŒ”+ÄŽ!Ž›‹h‘C‘º’8’“’â”ç’B’H“ ’?”‰“õ“»“£”P”}”o”Ö•S•‡••™••”Ôu“î“ü“­““±””£”Ñ•• ”Æ•”“Ú’ž‘ç’ð’Ö“”••”á”ê”ß”×”C”J”H”p”±”ДƔµ”Д±”Õ”Ÿ”l”N””Í••••E•”Ú”›”H“„’ ’’?“”l•K•R”Ô”#“ª“W“H“ ’Ë’’¸’¿’v’[’Ç“y“K“4“C“Q“ý”+“•“’û’ÿ““ ’ê’ö’í’Æ’ˆ’[’‚’Œ’Y‘÷‘ž‘ѵ‘a‘"‘/‘.øÞsüî0}p"Ä« É®¼¯ƒcd]NSZ ŽÌŽÍŽõŽíŽªŽëBGŽúŽŽ-ŽQŽÎ"ŽÀÄŒìŒjŒrŒ¼?\@UrŒŒC‹b‹6ŠãŠjŠXЬ‹‹Ì‹PŠrŠÑ‹Ü‹¶‹ŠºŠ£ŠVŠh‹ŒŒ²Œ˜ŒsŒ‹¼‹€‹9‹ŠÒŠUŠŠ‰»‰íŠ.ŠRŠ+‰ž‰bˆíˆÑˆÏˆÀˆ”ˆ1‡á‡ä‡ë‡©‡{‡‡c‡C‡Q‡*†ì†¦†M†f†È†½†×†š†@…¯…b…=„ä„ß„«„Ê…'…F„v„A„g„p„b„H„r„½…[…T…v…š…¶††=†_†U†H†€†™†Ÿ‡(‡ßˆbˆº‰ ‰³‰åŠŠ ‰ßŠ&Š*Š+‰í‰‘Š2Š–ŠÃŠŠŠ„Šî‹a‹–ŒŒŒ-ŒŒMCɑ˒“”“™“•”ƒ’ù“ù•Q•0–n”Æ–H”n•Ê–ð‹×Š ‘Î ‹û’'–Å’_Š!‹‹‡‰X‰ÓŒpŽq“n“ú“E“W””’¸‘ÏdȑԒR‘ù‘ÿ’“A“=“’ï“’ò“&“*“¡”“ì“뒱˼ù˵ê‘X‘-ž˜d펵lŒ•ŒoŒñGŽÓ¬Ä/Ž¢ŽkŽ~ò`j°Éu ÎNŽÏûŒèŒSŒµŒÌŒuŒPŒ7ŒBŒõŒz‹Ô‹‹r‹EŠúЏ‹#‹>‹N‹e‹J‹=‹÷Œ‹Œ„Œ3‹å‹‹ŠhŠ*Š^Šè‹^‹r‹]‹r‹¼‹®‹ø‹Ò‹:ФХ‹‹°‹cоŠI‰è‰†ˆþˆÇˆ¼ˆ˜ˆ‡ˆ§ˆ‘ˆœˆDˆrˆ7ˆIˆEˆ ‡¥†‚†X†èˆ ˆÓ‡i‡qˆOˆˆÄ‰M‰/ˆó‰P‰T‰µ‰b‰½‰)‰^ˆÛˆ¤‡˜‹Š–9•í”w”Ù–2—Ò—Ñ™k™ˆ—%“唸—“–””¢”á”%•+˜X˜-•’”û•ì”ü•*–ý–±•6–Ÿ—5–™——^˜˜gš›”œwœ›yš¦™ä˜q—–Z––å—ƒ—{––:•¸”€’䑳ΚŽ.Ž}ƒ_ŽËf‘I\ŽDŒ‹/‹~Œ_Œ}ŒÖŒõŒ†‹…‹qŒÚÀ’f•—e™8š™˜—”¨Ž¦‹ã‰£ˆÉŠg‹‹¬ŒÆŒÂŽ”ÝŽA3v’À’Ý”c–]—¾–s˜‰˜è˜œ˜‹š_›$ žóŸ$”kžæŸt¨n›¾û‘s‘qPWèŽ~’7™K˜™ï•²“EtŽ7ŽT{ùSŽ‹ŒÀŒ|Œ‹nŒ3Ì‹]ˆÁ‹ ‹7Š{‡/ˆ'…uƒ/ƒo‚`‚ëƒ\…‘‡˜Š…ŠÏ‹‹æŠîЉ»‰­‰¯Š=‰é‰ÞІЛмŠDŠLŠŽŠÄ‹A‹…ŒDŒ¥"Œ­Œã£!ÊRê•Iœ?ŸTŸ«ŸfŸ<  Ÿ4ž Ÿ]Ÿ“š –R”n“ ’6‘bý­¥‘‘_‘&‘è ·UFŽÌŽDŽ5}JŒÇŒ²Œ~ŒŒJŒ¢ŒÀ·±ŒÇʔۖ”)“—“Ò”@—Œ˜n’¨Dƌ׌‚Œ†A?€s^ƒf„7……‚¾TŸ~E~Jäƒx…߉lj¯Š.‹X‹åŒG‹™Œ%‹ÂŒGN¸Ž<ކfmì‘‘C’“ “œܓH”e’3‘‚“’Æ”r”.”L”ß•”ë•G•6••‡•é–•´•1”p“Í“¶”j”Ž”þ”ò”î••,•2•B•C”Ú”/“W’e‘¾’J’F“X• •z•”ò•-•E•g”Ë””`”]”x”À”¼”¼”ü•(•+••••4•• •=•ƒ•b•2”ꔀ”i””””7”ˆ”•7•J”’”“Í“Œ“y“©“ù“’ù’†’Æ“7“m“g““f“Æ”“ì“¢“w““““’Ö’Ï’î’ê’®’Q’’`’§’q’-’‘ÿ‘È‘‘p‘“‘z‘l‘U‘:‘îÝ’q,:K`ü¢wžŠ\PŽçXÄ®|n`{zy5Ž¢žšŽŽªŽÇÛŒÿŒ‰ŒŒòIŒÜÙŒÀ‹¾‹4ŠÊб‹‹‹ÉŒÐŒ¤Œ9‹H‹kŒ(‹‹b‹_‹J‹%‹ ŒJEQKŒÝŒf‹ö‹Ž‹Ž‹›‹”‹[ŠéŠ´ŠwŠ<ŠSŠˆŠŠTŠ&‰Ï‰l‰>‰ˆ÷ˆÌˆrˆ‡ª‡º‡Ç‡âˆ‡Å‡Ù‡š‡_‡Ÿ‡Ç‡ ‡‡q†Ö†{†~†j†`†…¥…ª……»…}…4…„Û„ù…1…)…K…憆—†Ÿ†~†Ò†Ê†ã†Î†¤†Ý‡‡Q‡îˆzˆÒ‰6‰ª‰ùŠ5ŠŠÔŠÎŠµŠ¯Š¹ŠñЧŠhŠ%Šƒ‹‹3ŠÝŠFŠ{‹l‹Ý‹çŒ_Œ™Œ×ŒâŒò¸ºÊ‘Ä’d’³’í“’“Ý” “—’Ý’Ð’f’ª“P• ““%”씩§Œ ’¤Ì‹ŠŽ¥’)“0Š‰ÇŠO‡ä‰©‹ŽgY“Þ‘À”‘¡¬’~’ê‘)³À,‘’§“I“2““º“Y’û’¿’­’Ì“7“›”!“󓸒° 2æÝÖ’·’Å’‘çË ŽŒÉŒ9ŒfŒç§ŽâŽ·Ž}Ž¢ŽÚŽ‹º¯Ž£Ž· p¢ÉOŽ‚ Œ>Œ'ŒŒ5ŒcŒuŒÙŒ÷§ä^Œ¯ŒLŒ‹—‹>‹¶ŒqŒSŒaŒ4Œ>ŒŒ×ŒŒ+‹°‹ƒ‹'‹4‹A‹X‹‹´‹³‹T‹Q‹‰‹¾‹¿‹ú‹¢ŠÿŠ¢Š¿‹%‹á‹ Š0Љ‘‰7‰I‰.‰‰e‰"‰ˆÞ‰ˆ¶ˆxˆqˆÌˆ¢ˆ;‡ë‡zˆˆ[ˆ‡Èˆ‰F‰GˆË‰2ˆù‰'‰‰t‰©‰úŠIŠ8ŠTŠx‰ö‰É‰a•—Ø••––Ê–Ÿ˜i˜"™šS˜•>–¤–Þ• ”÷•B“»’’U–M˜‡—,•W”(”S•Ö–^–9–¼—'–ò˜Æ™ü™™Y˜Â›"œ$œ§œ ›š ™Q˜—\–ÿ—f˜ —Ä–À•¹”Ö“ñ“w’¸‘â½C¿8’[‘ÙÛ‘F‘lÞÇŒ‹!‹~‹»‹‹ÜŒ9ŒŠ×‹ÄŽ9‘R”—–š›c›C™†–哆’ŸŒ ‹½ŸIŽ?Í/!h[°“#“7•ȘA˜¼—™@™ŽššzšÞ›}ŸŸˆŸK ŸÕ ¥^ª“އŒ— qtRš¨”°HéŽáU±­7ŽòhæŽ6ަ#؈†“‰…ˆîˆó†°†„¹ƒRƒ@‚»ƒt„w†žˆž‹ ЙЋ4ŠÜŠX‰â‰²‰­‰¼‰îŠ/ІЗŠÀЮЀŠà‹‹©Œ!Œ·Y™@ŽYP’’ "Æ”Œ›pŸåŸÞŸ/Ÿ8 T 0Ÿ™ŸyŸ¶ž­˜Ä•½”’B’Z‘p‘‘^‘`‘X‘g‘a‘  sIÌ¡;WŽñ޵ޕŽ#Ž_ÛØ]R-¥çŽzŽôú”ª•©”š’õ“"“‰“–À˜U“©Œø_ŒT‰‡]ƒÇÔ‚„o†‡k‰ÿˆï†Ÿ….…爱„®‚¨ƒõƒh…Kˆ¾‰»ŠÌŒ˜ŒÞŒqŒŒŒFyŽŽHŽÕ6e™1²‘ ’³“ì”r”’{”V”µ’“r”5”ô”Ž”Ê•¾•¨•4”å”Õ•B–@–N•³”~“—“ñ”Еv•¾•¯”â“‹“m“¾••Š•Y”÷“—’¨’E’X’&’^’生•Ê•`•=•M•\•‚•~•”ܔД ”¶•”é”Ê”ð•T•n•t•o•f•]•@•?”ߔՔ╠•”ð”j“á“Ú”U• •U•p•[•”{”N”#“ä“À“ç“𓊓’ê“’ø’È““h“ž“¶“ª“H“_“]“>“[“6’ü’â’è’–’i’e’J‘ú‘î’’E’j’g’1’*’%‘‘©‘Ê‘½‘¾‘t‘±‚ ÄÕÞÖÅܨW+ÊgR%iÂÁÑîäì¶£+ŽPŽŽŽ ŽÿŽã㌯Œ‡ŒßŒ«Œ¤)T«VŒŒŒ Œ8Œ@Œ‹[‹¨Œ§Œ\‹½‹j‹/‹$‹R‹³‹’‹Z‹-‹WŒòŽ$Ž6ö›2Œ¥Œ,ŒŒ?Œ‹Þ‹Ø‹£‹«‹V‹6‹W‹$‹ ŠÅŠ…ŠZЉœ‰_‰-ˆÏˆ„ˆCˆeˆÇˆÚˆÒˆˆˆiˆ7ˆZˆsˆkˆpˆ ‡á‡€‡C‡‡†ó†¬†-…ñ††k†&…‚…i…M…¡…ã…ù†l†ÿ‡-‡[‡y‡‡@‡‹‡v‡Œ‡¾‡àˆBˆ˜‰‰£‰úв‹3‹E‹ƒ‹‹‹­‹–‹:‹y‹ ‹B‹SŠåФŠÎ‹U‹!ŠäŠ„‰ü‹ÑŒbŒãj§ŽŒHI¡‘(‘Î’j’{’Æ““'“þ“˜“£”/”U“!’¦“³“Ý“1’/É”™‘J‘¹‘Ê—4ŽŽŒ ŠÿŒ4‹†nÆwŽîŽÓw*ޤ_Ïk’’°‘%‘ª“É“ò“„““x“ ’.’"’5’O’¦’ª’¹’}‘K,‘'‘UTõ?p’Ñ’º‘ÖÊ´TŽÀŽL!ŒøD•šŒI‹ëŒÌ™ŽmŠ'Žv§(ŽŽ ŽŽ"Ž_rŽzŽOŒA‹˜Œ1Œ†>_#CŒãŒÞ~äœKP"ŒáŒkŒ‹l‹O‹y‹¯‹ÑŒŒ0‹Û‹¶‹j‹R‹a‹¸Œ Œ)‹Õ‹S‹ ‹?‹—ŒGŠö‰ûŠ‰æŠŠIŠ@‰Å‰È‰Š‰‘‰S‰ˆÔˆ¹ˆÏ‰ˆÕˆ¦ˆÚ‰‰7‰ˆÇˆÍ‰Ì‰Ê‰ ŠKŒ‰Ì‰e‰«‰°ŠOŠZ‹‹‹Ó‹W‹zЉУ’‰—ª—Z—•`•®—ö˜Ê™ÅšÅ—˜”£•t”9’Å“X”-“ô•”–¬—#–O•v–H–ê˜@™0˜Ç˜–—ó–ž–Ä™š2š@𙯛s›››à›š˜ÿ˜{˜˜˜ýš<š˜v–¼•’•”>“ï“,’‘à‘Ê‘(‘i’|’{‘0‘6;޹HŒaŒ`‹ò‹¹ŒÔŒ¹Œk“—6™º›Ùž=Ÿ8J˜“Ý’s‘ÍÏJ’k–_”<‘Ò“’*‘€âÇ‘§”X”6—CšM™b˜™Ššš›§œ.›Zœ2œìž/Ÿ± ¢ª¢gžŸ®¦F¢W‘á‘Ú¥<W’Ø™M˜xš8—´“ ‘sŽ}òcŽQÓŒ¥Œé ¹’^D‡U‡ˆ)‡µ‡†† …—„OƒV‚äƒ{„C…h‡j‰†‹dŠ—ŠXŠJЉŠ8‰æ‰Œ‰áЉõŠ#ŠuбЉŠéŠä‹c‹ÜŒAŒý·é}|‘;’x’T‘O#6‘ß–ÉžÓŸI h …Ÿä žêá™”„’æ’4’Ð’K‘¿‘¢‘ɑ‘¨‘‘v‘Nö§l+ô¼q–p9ŽªŽÇޥޥSÚ‘Ø•”W“’·“2“ʓߕȖݒÿàðŒ¦Š$†ú„]„À…»††y‰¼Ž#¨5Ž’ùŠ6‚NƂÅ4‡HˆšˆùŠë‹èŒ&ŒŒYeŽ5ŽˆŽíV²ª'b‘t’ç“æ”ü”»”P““ü•’}””à”E”ì–$–+•S•4”j•r–L–~•Ö” “Ù”j•Ì–=–"•Z”ž”“ˆ” ••³•"“®’‘ ‘ƒ’}’«’·“¨”¯•’•¯•‚•º•Ö– –•Õ•k•”ü•)•b•T•%•=•;•8• ”ñ”õ•G•L• •• •I•À•敔ߓm’ò’[“(•1•¨•l•%”Ì”E”P”p”ƒ”K”“p’ö’è“3“M“’Ê“8“¬“¢“r““K“c“3“…“o“I“]“’´’6’/’m’Š’‘Ò‘Â’’’6’|’©’q’D’1‘ë‘¢‘²‘Ü‘¨‘f‘‘[‘}‘‘7öܸ†BOk®Jʆd¨Ò"LtvI%ÈLŽàŽì #ŽêŽhŽŒõŒŒÏŒÍŒÈŒ¯ŒõŒ×Œt ç ?HF.Œ£‹Ó‹R‹øŒ}‹ÿ‹‰‹´‹>‹uŒ•Œ|Œ‹¯‹‹Ò¢Ž{Ž]Ž턌úŒp‹Þ‹¶‹ã‹íŒ ‹é‹Õ‹À‹˜‹‹W‹Š³Š”ŠˆŠ[Љ鉱‰‰­‰¬‰z‰¯‰‘‰<‰‰/‰!ˆëˆíˆ¹ˆ‹ˆ(‡ü‡Ò‡×‡}‡5‡‡W‡!†Â†£†]†w†>††(†²†ä†Û‡f‡Ã‡û‡¬‡u‡¦‡Ñˆ ˆ%ˆ.ˆ±‰S‰ÓŠAŠ‚ŠÕ‹+‹+Š®ŠgŠô‹s‹Q‹ ŠÇ‹>‹f‹‘‹Û‹Ã‹®‹q‹‡‹l‹1‹ГЭ‹bŒC ãŽ0ŽºVÄ‘j‘o‘•’+’u’è’ò“@“d””^”©”Ö”#”"“D’š‘êöÀ“©’Ó’‹Ã“²—’ Œ³Š¾‹>Šz‹q‹‰8ŠN‰¾‡ôŒ³Œ³ŒÊŽöÌ‘”h‘µ‘P’ö“…“ “„“1’x’‘Ê‘>‘/‘,‘Ñò‘’5’’&‘B‘ Ø‘f’ø’™‘/ýcŽ„Ž9«ŒKŒ„ŒËŒTŒŒ‹ÜŒEŒøŽßwŽöŽZÐŽcŽ;Ž õŽ;ŽÀŽø +ޯ޼ŽŸiŽzŸ¼÷Ž‚Ž÷6c"ŽÈŽ ŽVݰ=Œ‘Œ‹Ê‹õŒ-Œ%Œ-Œ;Œ‹ø‹ù‹ž‹"‹WŒŒ?Œ$‹ü‹Ð‹b‹xŒŒÍ‹ŠbŠšŠcеŠWŠeŠSŠ3Š'‰ø‰Â‰±‰¬‰“‰«‰Ý‰‡‰b‰Z‰ ‰b‰°‰·Š4‰ÿ‰AЉ4Š}‰Á‰ÎŠTŠ(‹ ‹'ŒŒŒùŒ;ŒŒŠYŒY”ç•÷•í•p”Œ–®—7˜P™ ››™Ë–5•h”û–—;˜e˜F™P˜÷—M•ß–—n—d——Ô™z˜.•·•ñ—À˜ ™ÜšÇšà››J›p›©šÞ™À˜ç˜˜™<ššé›!šB˜â—$–c•Æ•6”å”V”Q”Š”.“l‘é÷4‘/’%‘äú|ŽúŽ%ŽŽàŽËŽ/ŽD“'–Ç™ƒ›øž£¡=¡xž”˜Ê•Æ•í•U“o“Ü—˜@–£™š2”œ“E’cã“ß–i–-˜Ý›sš™bšÕ›m›Kœ]œMž,žÐ €¢R¥¦¦c§Tª©²Ÿ –y™€—A_=‘Á»‘X—l˜œI™–}“·è\Ž‘Ã’¼‘ú‘c‘ ”’#‘%“¹‘ÐlН‡[‡Ë†¾‡‡H†ƒ…F„ƒÚƒÔ„‡…K†¦ˆo‰ùŠ­Š[Š£ŠŠƒŠ Š<ŠŠŠdŠ·‹Šô‹ ‹‹;‹­ŒŒ^Eèá§Ž+2’’u’‘­‘®‘.>„”ìŸm👠â¡  ŸéŸ‰ƒ™ ”’^’i’è““-“@“8’î’š’š’‘Ö‘5úÌ•w-m`%éŠv„Ø)‘è“7“X“b“–“Š”z”8”w–\“ ØŽe‹‡™‡Aˆq‡°ˆPŒr‘¢’i’‹“W“d–Α‰Š|† ƒË„·ʉz‰nŠÕŠÿ‹»ŒlŽ´Žä,§ÃsÔ‘J’“”+”—•5”M”á•Ï•ÿ”È‘‰”?”Ŕŕô•ì•h”Дؔ1•‡–A– •L”Ȕ敂•ö•L”¨”p”{”â•8•P•š“Ï’«’>‘S‘j‘û““%“‡”l•0•™•²•ò– –ž–ø–¯–7•­•M•o•Ä•Á•{•i•\•@•3•4•V•m•’•’•¶––‚–ˆ–˜–]•¿•&”“ó“N”H•ÿ•Ä•”Ý”ª”W”–”½”Ò”ˆ”(“Å“°“§“¸“Ž“n“h“œ“€“2“%’ê““““““‘“‚’Õ’(‘ê’X’z’T’’’<’€’’œ’Õ’ú’ò’Ì’l’ ‘Ù‘ª‘‰‘ƒ‘‘Y‘o‘a‘f‘?‘"õÅlR‚tG 3?H:0tknU=&ù×6ŽÕŽ‘ŽŽ>ŽxåÃTŒÓgœ;)ŒóŒ²Œ¹Œö“¦<Œ¼ŒÔŒµŒ·ŒÞŒC‹ÏŒ2Œ§ŒŒ# Œ¶ŒSŒŒEEŽ1ŽZŽÆ\ŒÕ‹ê‹Ÿ‹m‹ª‹þ‹ñŒ ‹í‹Ê‹ž‹™‹‹ŠÐŠÛмлХЬЀŠcŠ ‰û‰Ý‰¾‰Z‰4‰:‰U‰l‰ˆñˆÓˆ¨ˆuˆtˆƒˆwˆ ‡É‡Úˆ‡á‡ ‡…‡(†Ö†¨†à‡‡;‡¾ˆˆUˆ[ˆ]ˆCˆ+ˆˆˆØˆÆ‰‰¥Š*Š«Šö‹‹ ‹p‹‰‹I‹v‹ûŒXŒ…Œ'Œ‹Ó‹üŒiŒxŒuŒ^ŒxŒD‹³‹«‹ù‹ð‹Å‹ÎŒŒ¦ØÿŽGŽ\ŽºŒ1J’‘,‘’’š“#“““@“[“ë”A”]”[”‹“­’Æ’­—ñ’ž“ “ö‘ð’Ë”‘k ‹‡ŒÔŒ ‰i‰æ‰¥‹ïŠ•‡Ž‹‹ŒjŽpŒÆŒú‘’eïI’Š“©““Ÿ“E’c‘‘\Êpú‘Ü’ç’}’P‘ê‘‚uÞ6‘Ý’z‘ÒåSbŽm’ŒÐŒV‹³‹ËŒVŒŒ1‹÷‹´‹ÇŒŒù!Ln„wJŽ ŽLމŽÜ6zo>ŽìŽ÷ŽÀŽ^Ž6¹ÁŽdŽéTž™{oMŽ›ŽaŽ ŒºŒ~ŒKŒVŒaŒJŒMŒOŒKŒ7ŒC‹ÿ‹Ô‹ƒ‹ÊŒ ŒZŒšŒÁŒ‚Œ ŒFŒ¨Œò‹nŠÐ‹ŠÈŠÓЦŠÒŠíŠ ŠÆŠ¿ŠqŠ8Š#Š.ŠDŠ#‰àŠ‰ÑŠ‰âŠ@‰ØŠ4‰ˆŠèŠþ‰àŠŠoŠÿ‹‹´ŒŒù"›ŒþŒª‹¯‘–Ë•&•>”¿•É—÷˜Z™I˜r˜Â˜—„˜ ™š¶››º›ƒšÄ™*˜Ò˜É˜Í˜+–ò—˜˜d–Ù—1—٘Ι™yš€›_›‘™±™ÛšKš9™ ˜ì˜™˜…™‘š šÒœ2›Œ™H—l—–Ñ–—D—z—¤™˜à–‹”x’Ô‘–’-’û“À“è“’ÿ’º’‘–‘I‘-䑿“ù–7˜ýšØŸx¢ã£Ó š5—û˜æ˜ò™#šZšŸ›5›šÐ˜d•Q•w“É’²•å—×?™©›¶š²š2› ›ß›ÕžŸ £¡¡U¢t¦ ©‹¬˜­Š«Ø«º©)›˜ºÂ˜N‘šÝ{‘ú—6—Ü!™.›™Ü•A‘ñ÷—,™q™Ø˜‰’ƒ¤‹%Œ[Œ|‹–ˆ¬‡ÎˆZ‡€‡m‡¯†…X„Ò„†„í…¡†ùˆ‰mŠœŠ§ŠÂ‹&ŠšŠæŠ]Š>ŠMŠ«‹U‹Þ‹ê‹•‹„‹Ý‹ÞŒ>ŒŸnŽÙŽXØ‘@’b’ª’‘é’’9‘x€‘o˜Ó žMŸØ¡½ ¬Ÿ×ŸƒŸ–›û˜i•ö“Â’˜’ç“(“’õ’ý“R“G“V“#’ó’–’‘Eøò²ª¿ô³§öšŸHUT^”Ǒ哳”#”F”·”‘”l—m”¬ß‘·’ô³C‹é‹=‰ø‹ˆ0“{”“c–c—}—É–‚“‹ …ª…ˆ5Š}ŠÇ‹-Šò‹þŒ|Žš©«¾Qú‘ˆ‘ð’À“u“ë”d”Á”½””ô•z–W•Ë’™”’”þ•W–X•1• ”+“n”•]•·•˜• •æ•›•H”˜” “˜” •º•Ö•­•D”Ÿ’±’)‘á‘z‘n‘r“G“”a••k•3•>•Ï–C— —Z—X–à–€–I•ó•à•Ú•¬•¡•s•H•j•Ý–-–•畱•Ú–?–G•ò•÷•”ÔL”9”€”Ÿ•– •}•”ã”’”c”¡”°”—”I” ””“¹“³“­“µ“Ÿ“z“H“’Ù’÷’ú’Ñ’à’ò“²“Þ’Ó’’ ’?’q’f’Š’ä“<“f““€“¥“†“O’ô’l‘ÿ‘Ú‘É‘—‘Š‘Y‘O‘s‘„‘x‘p‘G‘u3 1U„fuš{yBVjntR í½ŽôŽÝŽ¥ŽØÓŽ Âr€Œ´ÐŽ6ŒÖ‹Ä‹ ‹ìŒƒŒüŒêŒ·Œ|Œ¥Œ»Œï;©ÃAŒðŒíŒo4ŽQŽIŽÜŽ?ŒX‹ã‹‹Y‹]‹ ‹þ‹ò‹Û‹Ò‹Ü‹¡‹*‹‹ŠþŠíŠ»ŠÞŠ¨ŠŠxŠYŠ9Š(‰í‰Ó‰ú‰üŠ ‰Ñ‰|‰‰ˆâˆÙˆüˆÏˆ€ˆ?ˆ4ˆ>ˆ{ˆ]ˆˆ ‡µ‡¦‡‘‡´‡µ‡àˆ.ˆ<ˆoˆÉ‰ZŠŠ]ŠjŠ¥ŠÛ‹7‹x‹‡‹¤‹—‹¬Œ¡ŒèWÛУŒÛ:DDco–‚/ i—·œÒŽ+Žœ k¡Ùa·Ü‘‘’)’¢’À’Ë’Ù“a“”“ç“ø“æ“¶“ ’™‘E‘°¦à‘A’«”h“‘zæ“m’c‹¦‹4‹ ˆñˆ/ˆŠ@Œt±ÑŒ(ĬŠêá‘AÉP’z“å’ä“Z“O’…‘‰‘BqhŽÁÆ’x’Ö’/‘â‘‘[@ÛÚì’u’ ‘GüÕŽz™Œ­‹ýŒ ŒÔ:ŒèŒÐŒ»ŒbŒ¤ŒáŒ7h‡ŽâC‹V‹'ŠÉŠ©Š—ŠŠ‚ŠŠ<Š]ŠŠE‰éŠ]ŠYŠûŠÏ‰Ý‹oŠŠŠÒ拆‹ÜŒ†‹öð»ŒÈ~”q—(–<—ˆ——˜‡™îšËš™T˜–—ï™/œâœ+œ<œ›´š&™Á˜ù˜n˜Z—û˜ë™Íš-š«›%—Þ–˜—K—§˜³™y™{™Ç™h™i™Œ™Ÿš™ëš š?ššC›Vš˜`—›˜˜˜§˜Ý˜Ý™ošmš˜–C”±“Ù“¹“¾”ü–#••:”¯“Ú““”“”x—˜zšæœ¸žP 3£Ô¥¬£ZŸp›–›ÝŸX¢¦¢ž• žJ˜§–À——M•>”“–°˜3——™^ššš›;b’žMŸ… Ñ¢¢Z¢u¢S¤‚©[ªÒª¡­¤«ð¥\œ3šxœ~›ø™`”G’F—þ”þ—š ý §œ™ÙšJœ–ò”?‘$P‹‹‹‹ÝŠ5‰†ˆCˆýˆj‡ÍˆSˆØ†ö…ã…è…ֆʇhˆµ‰qŠš‹ŠÑ‹‹‹2‹SŠí‹1‹f‹ØŒ6ŒœŒYŒ]Œ*ŒwŒ¨$¨Ž4É‘q’ú“’i‘â’+’•’>’-‘…ºƒû•D ˆ ú¡¢qŸáŸxžÞžu›E˜–y”&’¹““`“^“f“Z“…“^“5“5“$’è’W’‘ˆ‘!‘W‘-‘P‘O‘{‘‘N‘#‘Çž²‘‘’†“3”"”K”œ”ᔩ”¬“•,•¾“z”2‘ô‘ ‘5`‡ŽÇŽ€‘—•p™=š™šS™ú–“À’bŒ_ˆË‡Fˆº‹‹‚‹|Œ}ŽXÌò¦iŒ‘(‘ù’ “L“³“â”C””ø”3“î”ô•P•¼”¯’‹“¸”“(“¶””“ “k•2•¢– –T–Ó–¯•””'“Y“{•©•œ”Ø”?“s’`‘ì‘|‘|Ñ‘(“픞••3”Д¸•ˆ–T–ó—v—×ܗ*–Œ–•Û––•œ•d•F•9•G•9•!••u•º•s•”•¹•†•<”®”Y”5”›•*•|•Ö•Ì•]”î”ӔΔÔ¨”—”8“¹“Ê“ê“Î“Ž“›“’“X“F“R’ú’Û’é’õ’¶’–’¯’ú“—“œ“6’©’Å’º’¤’·’ï“-“h“}“‹“™“t“3“$’Ø’h’L’=‘û‘©‘q‘W‘a‘p‘q‘a‘D‘Ú°½¡ÑÀ‘ÿä—Ziz—YG$*ïÙÃbŽÒŽÔM€h:ŽÝŽŽ+ŽKØ†Žˆj+RÇŒª‹Ÿ‹B‰Î‰óŒŒÍŒ›Œí¢©q:“ãŽRŽEŽ3ޠއŽ>Žޫ޶ŽyŽNŽ3É]ŒùŒS‹¿‹1‹SŒgŒ°ŒN‹ê‹¶‹ã‹Á‹f‹‹ŠöŠïŠïŠöŠÆŠÙ‹‹ŠçŠÕаŠzŠŠÉŠ•Š#‰È‰t‰,‰ˆí‰‰'‰>ˆïˆ«ˆšˆÎˆ¤ˆ>ˆ:ˆˆ‡º‡êˆˆK‰‰“‰ûŠœŠÜ‹9‹Ö‹š‹¼ŒŒŒ6ŒnŒaŒ…„ŽöŽáŽ>!…ÜôŽBŽMŽnŽ^ŽKŽkŽuŽ^Ž"ŽAŽ'ŽZŽˆŽÞŽ©ŽªŽÎŽ¿&‡ö‘‘ç‘‘…‘ù’%’r’Æ“c“L““*’þ“.“q“˜’•‘ì‘‘‘~C‘‘ד!”‘“±‘D‘…‘}掠‹¶¦ŽD‹*ŒñЋ¸‹°ŒØ‹Œ&ŠwŒ‘:‘w““’´’Ë’Ð’³‘†‘äSŽ5w’T’o‘µ‘’‘¥‘‰‘3š~PÓ¹ô’ ’,‘wò}Žà² AŽŽgŽ{Žhç1ŒuŒ|ŒMŒJŒˆŒ1Œ`{˜tE1?:2qa[^{iB8ŽËŽ}ŽeŽ:Ž4ŒËŒ¨ŒúŒàŒ¢ŒŒŒ‡ŒÉŒú;Rw}qŒðŒ|Œv0Œ|Œ£ LŒ¼‹^‹¨‹‰‹/Šä‹a‹¶‹®‹›‹¦‹c‹‹-‹‹ЩйŠrŠpŠMŠiŠVŠ–Š­ŠÁвŠ‰õŠŠÍŠö‹JŒŒx;¨ŽŽœŽ!Ž)^9‘«•­—\—ì˜Ç™†™Ô›$šÓ›ˆ››œpZž„hµt›Z™ï˜Õ˜g˜‡˜²š8šÇ›y›)˜,•r–P—÷˜Û™›™ñ™Õ™¹™'˜÷™Rš>š™æš‡šEšŠš­™í˜Ò˜%˜N˜g—þ˜­˜Ë™™Ÿ™m˜¢— –&•b”Õ”³•*–‹˜O˜h—@–”•ò•w–<–B•·—›šN›µ3žò Â¢n¤%¥e¤ð¢9žŸ”¤÷§¢K›m+›y˜q˜Î™ ˜2–I–|˜!˜j—,˜ç˜Y™F™o›ŠžpžÞ ' ô¡®£Q£Ü££¸£“¥Ì«Çªù§êªÇ¦©@œŸ$ ×Ï•g«–t›ßšQ—a™—÷–)–Ü–Æ’œŽŽuŒÚŒR‹Î‹ŸŠºŠJ‰+ˆÄ‰5Š.‰"‰ÝŠ7ˆÏ‡2‡>‡‡Qˆ&ˆÛ‰õŠ–‹g‹‹‹œ‹;‹~‹‹3‹³‹øŒŽŒtŒºŒ˜Œ€ŒoaŽ Ž8Žg=’“V’ü’K’’'’Q’ƒ’7’‘i«ž‘9‘?š§¢S¢¡QŸ»Ÿøž¥œ¸šG˜•½“‡’ò““4“c“r“x“˜“Ó“±“|“{“—“=’­’ ‘†‘€‘m‘¨‘y‘¯‘g‘f‘—‘‘‘‘'‘?‘•’)“””€”Ü”¸”­”#”w”g”Ž•Í•”E’A’Å‘Ìíf£‘H”H•­˜UœHœõšÀ—÷•’{Œ?ŠˆˆÝ‹‹öŒ¯®ŽÓ›—‘'‘0‘†‘ö’Γ*“ö“ù“ã””l•”Æ•C•s•ß”ú“R“­“³”“h’H’Þ“Z’µ“Õª•´–³—°—I–””7”k“¼“S“ð•O•”æ”a”“p’Æ‘ö‘ ¦’,”‘”ÿ•J”ä”5”•ì–Þ—˜˜˜3˜.—«–Ò–)–*– –•镸•š•T•5”´”¬””÷•N•y•‰•c•”À”„”n”A”7””M••‹•.”Þ”³”—””F”“»“ғ듽“}“r“:“ ’û““L’ï’š’ä“ ’»’¤’Ä““Œ“͓͓“¡“O“!’ù““@“N“C““’ö“ “7“9“&“’Ö’v’%‘Í‘¶‘ ‘h‘R‘V‘œ‘ž‘s‘v‘ˆ‘y‘¦‘Y‘EèTøñ LfMVIQùç•e|ŠŽ‘Æ„ŽÚŽ÷Ž*÷E$‘§YŒ¾‹z‹`‹JŠ”‹BŒsŒœŒvŒŽàŽ_Ž{ŽëŽÃŽ¬ŽºŽãŽ€ŽIŽeŽÃ޹ŽþŽºŽsŽeèyŒ=‹›Œ ŒÊŒGŒŒŒ‹á‹…‹3‹ŠÜЭеШ‹T‹‹‹аеНеŠÅŠ¢ŠšŠ}ŠKŠŠ‰Û‰—‰l‰›‰þŠŠ ‰Ó‰q‰V‰d‰I‰[‰<ˆèˆî‰#‰W‰ÿŠkŠÓ‹‹‰‹ã‹ÍŒUŒªŒ¹ŒŽŒŒÕJŽx¸ÁŽdäüŽŽÌIFS;ŽÿŽýG¬jƒÃÇÄÌŽ&°Žá’ ’q’1‘Α‘æ’’#’’t’“ “’Г’ú’ú’Å“i“ ’–’,‘aáŠ:[e‘¡’º’á’Ö“o“ž’µ’”’:Ž5Œî;‘Ÿ¥‘*ŒŒ©Œ ‹ÝŒþŒpŽƒ’"è’““’²’’’”’Í‘¥‡{NŽ0H’&’‡’_’¬’ª’Þ’‘ý‘D¿/ ΑS‘¡‘j¹isŽŽ ŽŽ-ŽžŽùŽøŽšoŒlŒkŒêŒ‘Œ ‹î‹ÄR]Ó¶VŽÛŽõ#5ƒÊìñ$òìúØ•‡X#Ž:¿‘Ô²@ŒØŒ«Œ«Œ…Œ¥ 9@}‡AηŒÑŒ¢ŒþŒíŒÃŒÔ6Ž’Ð‹ÍŒS‹ï‹;‹!‹¢Œ‹ñ‹í‹µ‹g‹:‹w‹f‹k‹ŠÚŠŸŠžŠzŠeŠƒŠ­ŠûŠÖŠŠ-ŠrŠºŠà‹-‹ÊŒJÏŽ7Ž§ŽªŽ¯ŽJŽŒÕŒù”‡™^š.š¨š[™Çš;œ)â%Úžäž…ž2žž\žRž†T›Óš˜ï˜§™0™™m™ôšôš#—~˜=™Ëš™ñ™ýš­š•™'™&™™=™Þ™}™®š š›%›™ã™e™âšH™ü™i˜é˜‡˜ —¥—µ—‰–Ô–Ä–-•´–9–¾—™xšŽš¸™Â—Ú—[—ј$™Nšóœ”´ž€ [¡¶¢Þ£»¤Ø¥h£X ‰¢^¦]¨³¥ûœ5›š–™ ™™K™•˜G™!™€™'˜b™ä˜Å™•™÷œž< ¡o¡é¢s¢ó£ì£¤+§¨F¬(§Á›Ò¦/ª÷êœX¢S iŸ¸ž ›’Ç”%›™ä“ô“¹‘y,¤a7.'½‚‹ù‹rŠ^‰ì‰œŠª‹ŠèЏ‹Šm‰1ˆ€ˆ˜ˆi‰ ‰lŠ]‹‹o‹‰‹´Œ]ŒeŒ‹«‹×‹±ŒFŒWŒÎŒñ,-"²Ž ŽlŽˆ±‘¼“J’x’`’k’ ’©’Z’Z’ˆ’?‘Á‘¯ñ‘))–H O£™¡B jŸüú›:˜]—|–*“é“#“L“`“³“¦“ç” “û“²“““Á“±“S’Ü’œ’f’‘±‘º‘½‘¼‘­‘‘K‘I‘u‘J‘c‘Ñ’ä“j“®”Ž”a”-”U””Z”a”N“¤”¥•O“Ä’Á“1q2Ž­0ñ’•/–Õ›#›îš˜•M“#,Šx‰‚ŠH‹ÏŒÆ3ŽÒó‘-‘`‘d‘´’a’¿’ñ’î“¡““Ä““ú”³•8•°•°– ”ï‘’r”1•M•K“m’㔕”y”m•â–E— —ò–ð•”’Ó“A“³“»”\•l–)•ž”¢”“ª’‘z‘I’à”¿•°•ˆ•”W“î”Ó–v—B—§˜!˜\˜Œ˜X—†—–z––R–&– •‹• ”Ø”U”O”Æ•J•x•Ð•Š•”Ï”ž”™”{”r”F””F•L•¨•*”÷”®”q”7”.“Ñ“{“ “p“Q“2“/““3“g“N“’Ù’–’ª’à’ë““j“Æ”,”q”t”{”T“Ó“`’ð““7“R“d“[“M“^“š“É“ú“÷“”“ ’„’w’s’ ‘°‘¬‘·‘Æ’’ ’‘÷‘䑽‘˜‘+³KK¼ÏʾnOA/4ö»ÖÉÂÆ“ŽIŽŽ ² -0¨4ONŒ…‹û‹ÌŒXŒSŒ1ŒÒÛF8 (Ž»´ŽiޤøÖîŽeŽó+޾ŽQŽ Ò°Œ€ŒÅ.ŒìŒ«Œ±ŒzŒOŒZŒ&‹î‹º‹«‹f‹]‹ ‹à‹“‹ ‹‹‹‹ ŠÞŠÙŠëŠÍŠ×Š³ŠŠ‹ŠuЇХŠÞŠÓŠŠ9Š6ŠvŠ–ŠƒŠ\ŠF‰ùŠŠ/ŠyŠéŠß‹‹Y‹}‹ÑŒlŒ¾Œø*ŒŽ0ޏ êšŽŽ Žn¦)P#™ $„âs™€Q pŽÊŽ+ŽØ‘J“’³’s’N’ ’$’E’Í’Á’Û’õ“'“l“i“-’’]’9’y’¬’i‘É‘?‘R‘¢‘o‘¯’’n’¥’÷’}’Ý“`““ “Q“s”q“Ù’v“S‘ሌ†Š%ˆÉ!Ž[Š!Фޭ“ë“æ“¥“º’ù’ú’v’|’›‘¹AŽæŽêô1’{’à’è“Ó€“v“*’”‘¸¬<ŽÑ0Žñê‘U‘ð‘Ó‘á‘ԑБ> Ž§Ž˜@ñeŽ™ŽßŽ«Ž ³NeŽZ`ÅK*f|Â%G‚sTjˆlZÌ ŽyòŽŽKŽ<éºp2ŒîŒæ0%fŸx-g~/$ŒéŒâŒüŒ´-ŽfŒ*ŒfŒS‹Ú‹ÂŒŒ%‹Ø‹ø‹¼‹š‹s‹›‹~‹9‹ŠÐŠ—ŠlŠ|ЦмŠôŠÚŠ©ŠxŠŠ¢Šø‹‹t‹ñŒ¢mŽ-ޙޖŽ]ŽÅ¼º˜®š¸š3š™™ù™áœaŸžï2jžqóž2ŸÛŸ:ž’Rœzš¼š<™ð™ü™Ê™dš¾›š•šS›ä›ú›ã›š?™ç™Žšwšqš ™Èš1šišï›†›Ýœ$›Lšwš½›T›û›,™×˜À˜—m—†—З´—«—k–œ–|——½˜cšEœUœušê™q™™Dš€œ Ežž±ŸÌ¡–¢`¢¼£4£º¤n¤ƒ££‰¦‚¨Ó§®š1šùšfšuš+šh™â›ŠšçšÀš›!š!šNšÌø Í¢¢ñ¢¢w£¢¦¡ä§È«qª¸§æ¤„¬&§œð›ë¢¡ « Nž—Z‘š” ’‘ð‘å‘ ÚŽƒuŽ_«DŒ,‹ð‹<‹<‹YŒ"‹ü‹žŒ‹æŠ/‰Â‰‘‰¢‰äŠ}Šp‹j‹¿ŒHŒHŒª“Y>ŒÐŒïŒ‰ŒÓŒá06x@Ÿ–Ž2Ž|ŽžE’{“;“#’U’G’¨“0’ç’­’‚’–’ª’s’D’j‘Ì’•S›â£ TžkúœMš©—°–Ζn”–“6“}“–“í“å“ù” ”,” “Ó”“à“•“y“’’€’X‘ç‘Ò‘À‘‘¡‘°’‘•’]“ “4“x” ”“À“i“n”X”;”-”D”“¤”E•~”C“,‘ÿŽÏŽÕŽìŽ ~”B–,špš>šð™·•7’¤ç'Љ¢ŠÊŒkgëð둇‘Û’O’‰’Ë’ë’ö’ó“D“…“k“ܓޔ”Á•à•~•×–l–5“ì’Œ•3•š•Š•È”±•§•[•E•ô–q—ç—º–”‹“ö“B“ì”Y”5”¬•ò–ª–N•_”7“{’Ì’ô”Y••¯• •‹•(”|”;•œ—&—G—M˜ ˜€˜œ˜”˜M—±–Ù–•–Á–Š–•f”–”c”k”Ç•g•Ù•ì–N•º•X•§––-•ï•Å•”æ•3•·•´•A”Ø”ˆ”c“ü“¾“n“w“˜“[“e“m“v“‹“‚“q“¢“€“V“’ì““h“â”F”a”U”%””“ï“È“X“G“r“¹” “þ””U”n”F”>”%“ä““’Ø’œ’`’;’=’.’’’’’7‘ô‘Ô‘‚‘ÔÁ¼ÁÞêñû‘Ücbp‰ýŸwƒÎDŽ`ŽˆŽ2HJ ŒsaŽ˜ÄŽjùŒŒ\Œ ŒŒTŒ Œ>FŽ9 -ŽŽŽ~Ž¾ŽŽ'¶ÜŽmŽØކŽJŽ!úÍ“kŒýŒè"%Œ¤ŒŒŒBŒ ‹Ù‹á‹ñ‹Ö‹Î‹¬‹Ê‹¤‹‡‹i‹m‹o‹]‹R‹h‹d‹ŠÜŠ®Š¯Š˜Š¥Š±ŠlŠ6ŠAŠkŠ~ŠØŠÜŠ’ŠŠ¬Š›ŠÄŠÊ‹.‹o‹Š‹¹‹ËŒ/OrùŽ‚Œ²‹Žñ޹޵޶$Ü•‘+îìŽÿŽzŽ-èŽSÄ &Ž—ŽRŽ…ŽI‘z“=“¤“F’¤’_’E’P’ì““ “S“s“j“ ’Í’œ’‡’È’’3‘Á‘v’’B’q’“’…’Ï“R’Ç’˜’ž’×’’<’j“ʓ֓H•”é”’¢­Ž§‹ÃÜëŠ ‹}“‰“»“æ“Ì“S“’Õ’µ’Î’6®{ïŽÞ‘L‘%ã‘Ì’§’á’’ç’™‘ü‘ˆÙ<»2Ž÷ò‘Š’L’F’*’"’L‘Ë‘"•&wT¿B/¶Ô½4ŽéŽŽŒõ´Åöõù–®À€‡ouÝbŽéŽnöŽ ŽŽ£Ž„Ž^Ž%Æ¢gb-/W•Œ->oUŒ×ŒýŒÓŒ„Œ§Ž%Ž×mŒ_Œ?Œ»Œ=Œ8ŒQŒW‹øŒ‹Í‹²‹‡‹|‹g‹C‹ŠèŠÇŠ¯ŠšŠ§Š¹‹‹ŠÇЂж‹‹s‹Š‹êŒ>Œò„ŽqŽªŽÊŽ¡aŽ3ŽÏ›.›=™“™˜c˜—Ëšœ­žãžAýžÎžy  KŸ´ž8wœ_›ä›™››šß›³›i𮛯œÐœ£œÝ›í›PšÓšÁ›)›]›~›üœrœÅœëœþœŸœƒœ~›ÿœhœß^œ š˜ ——–—¢—¸—×?–ñ—m—Þ˜–˜c™\›•›€šãšœš¨›h7ž*ŸŸ¾ Æ¢¢Z¢ë¢ç£"£Ö£á£¹¢«£È¨§þ¤r$›2›w›› š›k›Údœ×œ¢œRœ‡›âœ^›ÈžŸo¡”££æ¡â¢¸¡å¢O¤†ª­û­ ªÐ¬ «ëšd™›ÔŸ 3 M Ð˜k’‘@Â’$‘.‘³‘j‘³¡ê ŽÁYTŒéŒpŒéjŒÈŒ¦Œà‘Œ½‹QŠÛ‹‹M‹‹«Œ”;™ŽèŽá®ÈŽ8ŽŽŽŽŸåŽŽGŽcŽYŽÔ޽‘½““U’Ò’2’V“ “’h’³’Ñ’Ò’v’Ô’Š“…’P’M”g™)¢” èž‘I›šƒ—¯—–Z”‘“’“ð“ò”%”4”M”C”#“ë“ד̓«“˜“”“d“#’Í’~’W’Z’L’U’[’k’9’©”=“ꔓŸ“<““B“/“””^”r”N”`•E•n”Y’ü’z‘­¹‘Œ&å‘‘Å’|•ä›'›çœ šÒ˜“”|ŽîŽšü‹˜Œ'=±0‘‘¾’’h’Ò“"““““0“p“9“€“´“À”<”ý•î••É”´•3–g“û”³•X–\–ò•/•€”N”¤—$—ª—`•Ï• •”$“×”}””]•ƒ–“–Ó– •ž”y”6”h•8•Ú•Ù––•¥”÷”¼•r–Ê—O—D—c—Ęc˜r˜.—û—`——–ß–À–$–•Ú•ê•Ï–(–Ó–Þ–s–n–0–q–å–õ–Š•ð•_”Õ?•ϕᕥ•J”Ú”””>“õ“Ï“•“ “¸“¿“¡“±””E”J”M”'“Ï“®“L“““}“ð”“ܓГȓדӓƓƓ‘“¦“µ””;”s”ò•”¹”$“¤“\“P“C’è’‘’Q’*’B’U’?’r’e’*’E’4‘½‘w‘i‘b‘W‘@‘/‘"‘*‘M‘_‘‰‘/xfšH.ô÷àò°G”²ßWŽ.Ž"Ž‘ŽÐ¥ŸýŽªŽ‰Ž~ŒãŒ‡Œ¹ŒùŒÈŒUŒÊŽY%­ŽúŽÃŽ×Ž‘ŽQŽ‘Ž.Ž&Ž…ŽÇ%ŽàŽ›ŽsŽ}ŽsŽ%ê­…>mk@ŒëŒØŒ¼Œ«Œ{Œ@Œ‹ú‹ý‹ûŒŒ‹ô‹ñ‹Î‹|‹“‹Ÿ‹{‹„‹f‹U‹7‹1‹‹‹‹‹#‹C‹p‹ˆ‹¾‹¿‹›‹=ŠÀФŠÃŠ…ŠÒŠÒ‹‹y‹åŒQŒ‹ŒËgŽŽ6ŽˆŽ¦ŽãŽÔŽÍ޽ŽTŽRjù‘‘ß‘ÝÚ1Ž&ŽŽŽ8ŽÞìŽ޹Œ£ãŽÜ’¬”¨”Δ¨”M“ä“¢“M“$“:“ ’ü“;“ˆ“Ä“…“$“’I’’@’’:’s’é“’ï’ö“u“;“$“ “’v’r’““1’å“£”Ó”n•]”©“¾’›2#¨Ñ‹û‹jŒÏ‹ 4’À’‰’Y’“ ’ï“(’¯’ž’$Д>ŽeŽÕù¿½å³…Ï‘B‘Ì‘¢‘‚‘•çkQOè‘J‘à’ ‘³‘Ä’G’«“7“a‘×*±¼y2¼ì;íŽ|7XP.$6¾Ýܦ&äŽÆŽŒŽdŽaމŽãŽæŽíŽ¡ŽTŽÑ[~o}Œ€Œ‚ ‡ží£ŒQŒàŒ¦Œ±Ž!ŽŒÎŒŒR6ŒšŒÁŒ±ŒˆŒŒŒ ‹À‹j‹[‹1‹Šä‹ŠïŠàŠÉŠí‹#‹;‹0‹)Šõ‹5‹…‹°‹àŒ…ŒêƒÚŽŽ°ŽÌŽÁŽÈŽÕ©;—`›f›^™»š˜­˜n›1›« ¡o @žÒŸ~Ÿ³ VŸî JžâC’œÖœ­œtœ’œîz'œáglqGœ{œ§œ›‚œ†œÙœžtž”ž)XSãžWמŸ1žÇ뜅™³˜O˜˜—ö˜d—Ø—ñ˜$˜Ã˜Ú˜ ˜u™•›ÃœQœoœœžåŸ{ Ö¡ã£O¤¸¤°£=£££!£¢¾¢Ô£9¤‘¦X¤G ¢›b›P›¸›[›eœO„žÐŸŸ«žðžƒžæ¡ÃŸÐŸ¯ Á¢—£´£æ¢/¢ž¢d£Ä¥:©±¬«j¤ýºœp‘“š"Ÿ žÂžx˜ð“Õ‡‘Lâ‘S‘‡’Mã‘14뻎êŽ-ŽÈŽ…£4…,Ž´ŽŒ. Œd‹ü‹ê‹êŒ_Œ¹Œþ*ëŽbŽùŽˆŽsŽ˜Ž„Žõ'=?{ŽÅŽ¢ŽgŽ|ަŽíŒ‘Ú’Ó’ž“"’„’t“3““@’Â’ë’ª’Ø’>““S“®“#“5’û”oç uìœ ›­š–©–!•b”“ô“î“é”5”*”<”M”c”<”7“ð“ñ”“ç“s“%’ú’Ö’Ä’¡’¹’ÒΓ“~”G“‹’’¡’Y’-“”“þ”¾•¿•©•<•1••I•º“­’ô’à’Z‘÷‘ã‘ɤ‘#’,’ΕC–x˜&™‡™›Èší–6•o’ŠŒŒÊÜŽLü‘2’6’š’Ü’ò““““%“e“|““C“´””m”Ý”û”:•E•O•¥•ö”S”镹—P—Ó–O—²–­”q——Ó•8””Ò”—“0“ž”™”…•G–9–ž–£–_•ɕƕè•þ•á•Û•î–•ê•Æ•¹–L–ì–Í–£——U—4—‹—‰—U—2—,—Q—<—–â–†–Ÿ–^–‘–d–z–Á— –Ì–9•Ø–8–‘–5•õ•µ•,”®”á•B•~•ˆ•>”»”ˆ”F”!“ý“䓜ѓô”"”\”Ô•”â”Д•”“°“a“I“9“x“Œ“°“²“Гܓî“ý“ë“ï”E”d”j”‰”Œ”Ü•”Õ“ö“S’õ’û’¼’d’M’Z’h’7’$’8’i’ ’¶’|’‘ã‘Ó‘¾‘Á‘®‘ž‘†‘f‘ˆ‘”‘¬‘j‘2ÊŒ{W`yk®Û\”“"”5””»•{•–—Œ˜Ô—÷”¼’tŽßJíÛ‘™’’0’i’½’õ’¡“D“f“X“£””“’\“%“S““·“Ž“P•Û–¼—Á—Ù•b–¿—––—¦–q•6–h–Ž–””@”<”9”È•;–%–v– –É— –á–Ž–ˆ–{–;•è•ÿ–0–\–s–“–á—&—x—œ—Ú—¿—¹—²—°—&–`•ó–†–¿— –é–Ï–{–;–¦–~– –!–+–g–™–•–µ— –³–@–R–#•õ•Ó•Ž•M•D•S•(”Û”²”{”›”¦”«””Ë•$•a•H•K•[••§•A”Ê”v”7””ž•0•p•‚•º•®•g•\•:•l•I”ô”ë••.•”‘”“哊“_“’Ò’œ’¯’´’’§’á’º’`’’©’G‘à’4’S’6’‘ˑ㑿‘¿‘Ê‘Ÿ‘Ege,ŽïŽÍŽú.x.L&¡>ŽúŽ[/Ž ŽªŒÓ‹«ŠP‹ÉŽà_ŽŽÐŽ”rŒÕ7ŒÌŒìõŽó»IÎÐŽqŽVâ¶SR/ŽôŽèNjŽ³ŽµŽ¤Ž˜ŽLŽÞŽ'ŽDøðȦnŒäŒì;23&ŒñŒ—ŒƒŒÚŒÚŒÉŒÍŒÅŒÉŒÁŒŒJŒMŒ#‹ô‹Ê‹’‹’‹;‹‹Q‹”‹±‹©‹£‹}‹=‹4‹l‹³‹Ö‹ÝŒŒ×PiùŽQŽÃ޾ޝŽöh¸¸vVQ¸‘5’’¦’=‘n¿‘H’h’K’m”—<›®˜p™6že¡(£¡n¡'žœ™Ë›äžòŸlŸ­Ÿi P¡Ÿ¢S¡v ò IŸ&ž–žžFžëž°ž‡r6Ÿ‘3‘ ’z”<”e”Ë––ø–¿––Z–S–:–˜W––3•“”„”Ì”º•í•_•>”î••–E–¥•–•×—•˜”H“ò‘äÚ ª‰Ç˜‘œ’ ’5’C’m’ó’Ð’§“דë“ú”€”{”û”w“×”3”E“Ü’Ò“w“¿•G–ƒ–¿•ñ–4˜–Õ–0–¯•^”û–Š–À–«•Δø”a”¬•S–E–×–£–²—y—×—÷—”— –°–)•å•»–O–®–²–‘–°–í—š—ë—õ——à—瘗җ`—`—”—.–Õ–¼–þ–õ–î–ø—–î–v–s–Š–å—@—\—5–Ô–±––°–L•õ•Ε™•ƒ•g•N•”┸”è•••5•U•k•p•R•€•¸•ê•Õ†•*”ß”””“”û•D•’•Å•ð•ã•–•M•”Å”’”‡”{”v””‘”>”“Ñ“±“˜“Ž“w“ ““"’»’’’À’¬’‰’Q’|’‰’_’…’Ž’„’{’‘æ‘’‘Ü’0‘ ¶Ç£–‰Ê1r7d;|„;Ž_ŽŽŽÈŽ9ŒR‹ìŒ)ŒpŽ8ŽëŽïŽÏÛµƒ„Ž‚`…¸gïŽßŽŽÙ¸JŽÌoºŠu1?qX7Ž ŽrŽfŽ-ŽŽrŽ­ŽTŽ9Ž:ô¸†‡¦š4pýŽKŽCß™–•5Œ—ŒJŒ~Œç'ŒÆŒW‹å‹‹.‹*‹‹‹‡ŒŒ‹Þ‹¿‹ßŒ*Œ>ŒYŒŠŒˆŒ²ŒòE¯¾ŽSŽÐŽ°ŽŽ½ò¸"쑉‘ø’’p’T’¡‘éA¹ý&Ž¿ŽYŽÚµädh©£‘O‘~‘FÕ‘8’Š’’¦“Á“»“²“¯“á“r“’‹’’3’°’Ø’â’¿’’’m’:’’¹“Δu”“0’à’¼’©’‰““¥“²””Дö”3“O’ô’ô’É’K’f‘‘jޏƒ‹ÎóŽJÝ’ƒ¢:’““I‘˜õ‘‘D‘¹’•’z‘ (Ž4Ü‘ü‘žŽÿŽ‹ˆ‹äŽöý‚Œ}Œx‹ðŒíŒs퓎1ní’ ‘°‘º‘RȲ&z)ìèæ‘ »ÃÀ ƒ’Àà‘ é‘ ÓÆœnr;îÝZޣ޹ŽöŽÅŽïŽHŽ‚Žü40YŽÖ ޶ŽYÖˇŽŽšŽBïг`ùò<‹Õ‹‹ŠÞЦŠ8Š7ŠOŠíŠé‹*‹{‹ïŒ"Œ{ŒšŒ®Œá+W¸Ž޲›ë@mD”‘‘R‘Αê’+“z”(“è“Ê™g—ƒ–L™í4£¡o¡¬Ÿ›ž—›çšÿŸ¡Õ¢.¢à£w¢L¢ ¡• ×ŸÆŸGŸŒŸZŸŸLžåž-Çž”ž¸žÛ a£ Æœ®¢þ¤R£¶¢t¢…¥"£F¢ß£À£8¢Ð£¡£¤£”ŸFœ„Y<›ËöŸS¡<¢ö¤j ˆžáŸ $¢è£Ä¤!¤±¥¤â¤£L£W¢£¢6¡ ¡Ò¡Ÿ¡H ¼ #Ÿižl¥&œökhž=Ÿ —¡ß¤¥7¥¹¦h¦®¦f¤Ó£ï£(£0£Q¥y§ ¨a«,¨Â¨"©4«š­Äªû¨oªª[•ü ¡m£¢ £Ÿ ™Ã• ”{“­–ê˜Êš›šE™S¡ÎŸ¶œu›–™—m–”둎íŽPŽ Ž=Ž Ž>Ž1Ž–ŽHŽÔ]bˆJŽòŽFëêŽ1ª’ú&PúŽr‘`’Ï“’¨’‰’’¡’’[’¥“/’Õ“””#“Ú“ú”Ž”i”(”b”Õ”ž”`”^”.”é”h˜›˜šÀ™ú—„•‰•Õ”¤”³”†”£”‰”Ç•+•a•a•´•i”à”Ø”¥”ˆ”“ä“ð” ” “©“’9‘Ž‘š’9““’ד\”•Þ—,—u—B–’–¯–C–€– –i™ •G–î–ƒ”Ú•„••ˆ”ë•M•“—;˜ê™³˜ó—¡”֑̺‘'‘3‘KI!k‘$’’G’X’M’‰’½’ã“~” ”D”€”ʔוT•@•o”û“¤“?’±”6”´•E•«•t–&˜˜U—Ï—Û–4–\”ÿ“æ”Ԗ–•q•0•ž–k—_—k—‘—З«—ð—ý—É—4–Ê–O–&•ü–H––'––B– ——&—c—g——«—{—=—Q———v—_–ü–¿–¥–¬–Ó—‹—™—2—–Ô–ä–ê—5—–ô–Í–¥–¾–è–É–„–k–J•Ï•œ•M•••^•Ê•ä•ݕŕc•1•m•¬•ã–•É•ˆ•/••)•”Ó••s•¾•Ö•­•S”š”R”'”e”W”)”:””:”4”“Þ“¤“_“4’î’à’þ’ê’L‘ç‘Þ’’t’’‚’’ä’ê“ ’µ’B’’ ’ ’R’Q‘¾‘ý‘_‘•‘Ÿ‘‰‘‘ ‘ƒ‘–‘p‘JÈÐÅíár¶ŽõŽØŽ~ŒÅŒXŒ‹oŒ©ŽABºŽ°Ž6±^ËŽVŽÁiŽÍŽ”«sŽõK:Žß<1©¼§³¦¥Ž5ŽýŽÛŽ§Ž“ŽŽ—Ž¥ŽŽuŽdŽ‡Ž’ŽžŽtÁaÌŽ‹ŽsŽ\Ž}Ž!ƒŒãŒS‹öŒ‡HMŒ×Œ‰Œ‹À‹¸‹º‹´Œ&Œ˜ŒéŒÔŒÞŒÀŒÞZ|W‰ÈòŽ ÷ŽŽeŽ˜ŽÂŽ€ŽžKéÖîo‘‘h‘à’’ ’‘×’‚’Ê‘ªŽ{)÷àªïȳ š‘3‘h‘R‘jém‘Q‘ÙWª„‘ý’ö“ “’Ñ‘ü‘ibäú‘I‘[‘‘n‘«‘Ï’³“N“y“1’Õ’£’‘’R’Z’+’’º“š”””;“¯“=“’«“’ì’‡’‘|‰Ž"ŒŽLŽ Ž‘Š‘%š95’O“Ô’•È‘X‘ã’v’¹’·’ræ¨×Ž_Œ±ŽM??ŽŽ8ŒŽ‹Õ‹>ÉŒOŒzŒމµ‘7…<Ø‘Z‘ŽÈþ`äcŒP½§iÄ˵÷‘𑀑¢‘_‘/Ö°WF9oÀP{òÖŽãŽÛŽYrhYLb`$Ž×ŽüŽìŽƒŽÊޫމŽ~ŽUŽ9Ž>ŽœŽÑŽwŽŒŽ/n­ŽŽFŽ&Œ–‹9ŠüŠïŠëŠrŠsŠÒ‹'‹:‹[‹¦ŒIŒ©Œ›Œ¾Œô'c£ÊÛŽCŽ™)šLfô‘‘A‘}’ ’>“0“c“Γò•”D•Õ—t™û›˜ œœ­ž›žkŸ>ŸEö o£ã¤4¤}¤j¢ì£N£-¡´ ’ Ñ þŸ°ŸOŸèžÙžqKéž*ž¬ž¤ ¢¶¢™SžŸ¢ü¡©¡º£ ¥1¤¨££Ä¤Q¥+¦B¦k¦Ç¢Zž2$ž žÁ>žŒ’Ÿ@¢€¢ì ˜ Ä¡‘¡Ï¢q£Ý¤]¤3¤0£é¤$£[¢ã¢å¢T¡Ñ¡Á¡É¢¡3 ŸwžÀÛžž[žƒž!žÚŸ÷¡C¢œ¤=¥B¥‘¥Ð¦*¦$¥g¤a£Ì¤£x¥ä§R¨Í«×«t©Ç¨»­ ¬¸ª,®pªa™¤’4˜¤»Ÿš žÌ¡œ§E¥ä ¸›Ð™Óœ&Ÿwž]žŸÃŸt 5žøžfœš"™!—€”!Ž›ŽÍŽ•ŽÄŽyަޒŽþ%~~JS: Ž’ß¨ÈŽ„¢òAbŽAÍd‘Ò’Ú’Ô’Ø’ë’¥’˜’Å’®“ “%“5“G”S”t“Ô””¢”€”H”¬”–”¬”$”¹”#”ܔݖ'š³š]˜––3•œ–G•Á•Ɣ͔ë”â• •Z•i•Š•«•”•?”¶”§”Þ”Ú”‡”T”W”-“Ú’Â’Ý“T““Q“N“Ï”%”_”Z•1—à˜—G—]—— –•––#•ñ—‡•–™–­•§•••a•A• •Ö˜š7šS—ð•&‘ô‘p‘Ö‘z¨_H‡Wï‘à’³’­’¨’³’ý’õ“”Q”,””Å•K• ”ã•=•O“Þ“?”(”3”¢”Ç•9•-•š—D™È˜(–›–Q”f•J”y’™’“–ò—–E–ˆ——瘗¾—혗§—é—¡—º—d–ã•ÿ•ª•Á–•Ý–!–#–€–`–}–ž–×—A—e—ª—D–š——+—5—²—“— –¤–l––Ž—©—ÿ—Ó—€—I—F—)—7—–û–½–æ–ì—=—w—‚—\—4–æ–K•Ø•µ•Ç––V–]•ò•e”ø”Å••Ó–#–•ô•º•g•c•Z•A•g•̕㕑•-”Д‰”*”A”T”M“ä“f“N“Ž“ý“¿“Ž“¿“¹“U“ “,“–“š“’`’N’y’Ÿ’Ä’û’Û’Ö“_“;“ ’‘’a’t’‰’q’’”’Q’,’„’•’v’J’p’›’™’‹’/’‘TΑ0ë‘‘%‘G‘ ·Þ0ŽÎŒÛ`ŒQТ½o•Ž¢ŽСއ޴އŽeä‘m‘?ê³ä¸þ9 â䑈¹¾“Œ½¹‡:1&ŽôŽÆI!ŽÁŽ.ŽŽDŽÖŽÓŽ­ŽƒŽ§Ž´Ž§GŒÕŒ6ŒBŒ¤ŒÉŒ¸Œ³Œ—ŒmŒlŒÛÈ»«£¶Ž.ŽWŽPŽXŽeŽoŽ€Ž~Ž’Ž|ŽÀŽÍŽÄŽÂ „kÑö`‘6‘A‘R‘Ã’’Z’E’+’w’‰’f‘Ø‘yaE[q0ð«‘5‘ƒ‘ý’‘.‘“’ý’樎CŽH9S‘‚‘xúî=8íøl˜ª‘’Z’é’ß’Þ’‚’P’)’‘–‘\‘{‘®‘Õ’R“ž“©“ ’‘““@“>“Y“<’Þ’u’…ï’\’<‘ŽnŽbºÃ;ä’¦‘v:¾‘–’¼’¶’Ó“O’\”9‘c‘ {Œd‹Ï⎷Ž1Ž&¿Œ°ŽÚõ§dOŽGÌ+΋푈‘â‘¶#7ŽºŽŽ¥ÒÈÏÍ­X‘`‘Ì‘â‘ø‘­‘u‘>‘!Ö…íéÎ|D{Žè =ŽÔZ©ßÑæÐn4 ŽåŽ¿Ž¦0LL;ŽâŽØŽúŽíŽöިޝޑŽ¥·¿Ž`Ž_Œ÷‹Ô‹Œ‹.ŠçŠmŠ ŠIХЧŠsŠè‹ÀŒ™Œü5{§ØãüŽŽqŽ…aœI©‘C‘e’‘ø’ã’Ü“i“ˆ”‡”q”û”ó“›“´–Á›A–Œ—n›&œ¯ëžÕŸ: z Ý£¤#¥>¥}£h¢ß¢u¢¢H¢w¢± ÒŸ³ ŸbŸÞžž…žçžü »¤p£Ê¥™O›¥ ;Ÿ­žœžN¡q¢Ù¡q£š¤Ï¥µ¦´¦1¦\¥:¢gŸqŸ% „žœsœ/ž ¡r£3¤™£Ý¢£¥¥ ¥Š¥ £ø¤,£±£A£w££8¢ë¢¡É¡j¢_¡ÍŸ£ž\žÊŸeŸoŸ Ÿ£ ã¡¿¢£º¤ª¤Þ¥*¥¿¥•¤ü¤g¤W¤Ù¥¥Ú§E¦ù¨Õ¬J¬j«{¬(¬É©-ŸÕ™o‘b“™ž© %¢è¥¥]¦ž¨ ¨+¤´¡ ¡×¡ê yŸJžÞŸŸ8 oŸ‚šÚ˜°—s”+޹ŽáŽý>>…޹‚ŽØŽûAŽÝŽuŽ€Ž:Ž6މñŽŽGŽ“‘¤’f’®’Ÿ’ž’Í“’å““;“V“œ“ȓ˔(”ä”±”p”#”P”u””…””•U”ϔΔ”Z•3—e˜¾–Þ—Ì—–;–!–å—|•¡• ”æ•O•j•¯•Ï–•u•B•Y•.•+••M•”Á”-“!’’±““ã”{”¾”à”Ï•2•€–©˜B—ã—Å—‰—–í–—–4•Ô”¡•Û———ª••Ø•.••*”ö”Þ•#–¼˜{˜”3’‘|‘–ûìõ‘,‘ü‘ ‘Ò’w’©’“"“P“s“|“À“»“ö”Œ•R•v”ù”¹•)”.“”w•”R”µ•1•_•w–$•˜–Ä–a”•´•¹•“¸‘³–—à—–—ä—ä˜?—›—{—5— ——³—¬—Ó—c–Þ–k–™–––Ò—?—.—0–å–•–œ–¸———h—²—]—f—l—t—¥—£—G–å–¤––>—f˜Y—÷—Á—¬—r—u—u—q——e—h——:—q—«—¯—½—s–º–‡–^–$–6–+–&•î•D”ǔՕB•â–)–•ô•À•Þ––1–9–V–•g”—”8”?”6”<”6”“Æ“·“«“`“M“¯”S”v”N”j”“ “Ê“ú“š“M“Ž“ñ””“—“T“V“_“`“J“““+““3’â’Á’ö“’ù“’á’ï’½’º’µ’¸’!‘ ‘d‘HñÇÒ‘L‘ƒ‘´‘t‘‘ r¦Žùðò÷ÄFwOúŽóŽdŽ ÁŽ&ŽÞZŽùg‘³‘Ž‘ †;©–„KILï ,Ò¬ñ5 Ò¶zT&ޏŽkŽ'Ž:ŽTŽŽ«Ž®ŽŽ”Ž˜Ž)Û4ŒÏŒÏ 7:QJ€¿ŽŽh޲ŽÉŽ•ŽKŽNŽ“2Žêލ޴ޛޭޡޫ޹Žù.v·ÐŒ¯b‘‘#™‘‘ó‘à‘…‘0‘Å’Û“g“p“;’Û’A’’#’‘H”ŒNZð‘L‘â’m‘Ø‘Š’œ’ÿ’¯ýަހŽcŽÊ;X«ŽÈŽ—ŽŠŽà@ü‘ ‘‘‘z’1’¼’Ý’N’ ‘å‘Â‘Ž‘@‘Ú¯‘‘•’m“M“z“O“©“ð“ã“Д”.”Ö“\‘Ÿ’U¬*ë_Žy¶/dŽ\ŽMŽ~Ò’.“'“K’Ú‘zŠŽÀœ‘z›‹?Š.‹Œ°á°‘ô‘r‘S½‘<‘£RŽÈŽŽ¢/-Cu¸­ŒÕi´pÒf9¢#’ ’g’¥’ ’‘í‘à‘®‘{‘;üi×ïØ®8M ft-v:B%áƒ7.ŽóE„Ñí{KgDŽÞŽ·ŽÓHŽÛŽ ªÕŽiŽbŽŒj‹ï‹ß‹^Š»ŠŠ ŠMЉމàŠÜ‹”‹ØŒ{ŽŽfŽPŽTŽކޥ,•o¸‘§‘»’|’l’é““Û“Ç”D”}”“”攓F’~™î™Æ˜ÒœœMžÊže¡Ý¡ÿ¢ó¢ø¤ ¥£G£€£æ£®¤£;¢à¢  Z¡å¡¦ž¨žÞŸOžÆŸô£Í¡‹›Ô›.í¡Œ£Û£m  H Á °¢â¤1¥“¥•¤Ô¤–¤¡ò v  ý¢•¡P V¡¦Ÿöž‡žä¢ˆ¥÷¥^£º¤*£û¤¤¤]¤¤ì¥.¥D¥ž¥†¥)¤}£ô¤!¤à¥»£J ½ Þ ó Â j \ Œ¡¡¢¥£Æ£ä¤I¤î¥s¥­¤ï¤f¤\¤s¥ç¦\¨ ¤Î£Ö©%¬c® ¬9«8¬5žÚ”â›Ô¡Ú¡˜¡S¦*§Ò§G¨´§Õ§¨¥å£c¢«£¢¡m ÌŸ'«žÿ›Õ™È—T‘µŽžŽìš"› üñ‡ŽòŽÏqMŽåŽÒŽšŽsŽÒްŽÂEi‘S’’ ’Ö’æ’Γ “““I“r“@“á“­”•6•_•C”È”V”“Þ“¦“U“„“è”»•+•+•”k”œ•c”ç•ú–º•w•9•œ—¦™s—O•c•L•à•Ò–D–7– •¸•†•Z• •‡•Õ•Ú•¤•8”'“0“u””"•<•y•”î•(•Ç–——Ü—©— —C— –“–•Í•l”¾–W™I—n”)•î•”•?”¿”[”“­”A•”…’S‘ ‘ª’’ ‘ð‘`‘,‘‘~‘§’’Ê“3“‰“•“\“u“_“„“w“í”È•••Ý•x”Ë”‘“Æ”D•”ô”T•j•¯•à•¢•Ÿ•Ü–K•÷••~–^–§”Ý“i’p•Õ˜>—¿˜9—Ì—°—F—)–ȖזΗF—„—¾—å—]–­–Ö—-——˜—å˜.—¢—Y–ø—!—J—–ë–û—ܘL—Ê—i—˜˜—ï—×—–ÿ–>–K—¾˜ ˜—Ý—ë—­—…—ž—®—¬—D–Ó——C—E—6—ƒ—\— –‰–@–d–q–w–b–•j”ÿ”á•;•Ø–+–J–)––*–<–Š–o•ו”—“꓈“c“ ”j”’”L“ü“ý”“È“h“…”‡”¸”„”ü”ò”j”@”S“哾”I”[”8”3“õ“‡“l“i“V“c“N“ª“¥“N“’ü’Y’J’o’M’5’‰“.“|“H’d’0’Ÿ’‘sÚ‘‘‘ ‘?’’o’/‘Ý‘‰‘–‘‘1!l'/Ï‘]‘#ØŽÐŽnŽêÿŽÍ!ŽWŽ ý‘*‘X‘c?Œ‘ ‘šj-·ÚìI|ik€,Ù¾¼íþÕËÛ“N> ŽßŽŽiŽ5Ž,Ž Üž¿ŽŽ,îïæŽŽ|ŽŠŽÊŽó޽ŽÅŽùŽúŽàŽ­ŽãŽÉŽŸŽ³Žù@Yk™§ÿäçc~i\¿‘D‘}ì’Æ“Ï“¼“““+“’ò’Í’ª’š’ˆ’*’‘¦‘ ¸‘‘ô’]’1’3’š’›’Ø’ZQŽsŽpwº{KŽöŽüŽF޲‘&’î“9’ñ’Ž’6’_’>’ ‘Ö‘|‘8‘ ä„(2," %í‘È“C“õ”””b”Ú•Õ–u•­”,‘¾‘xö팄‚ŠŒŒP‹Ç_•ÜŽÓŽ\\‘à’òû…ŽËNŽÓŽMi‹—Ša‰GŠxb‘Õ‘ªFÂ×-‘û„ˆŽÆŽæªcÒ8ÑŽ¸Â›Œo㎗žiГ֓U’»’´’‘‘—‘k‘†‘Y‘.É:ý Hx hüÔ¼nÆz=È¢‘žu†’m^gª=´¨ç‰½º‚z~޲Ž_ލŽÅŽ{ì>Œ´Œi‹à‹*Š~ŠcŠfŠwнŠh‹‹Ž‹³Œg…ÅŽ9ŽeޠޖލŽÎ\Ážù‘Ø’#’´’ð“s“g““Ë””:”“ê“Ï”“íš5›Êš ›sšÎœj›·œ  É£°£h££„¢¡é¢å£g¤£ý£ã¤•¢b¡¾¢û zŸ î ¶¡&£<¢ÌŸ«›Ãš © Ñ¡Ç¢a¢(¢ø¤'¤ø¤)¤A¥[¤þ¥ƒ¥U¤ ¢9¡W " "¥™¥Ÿ ¡¥¢X¡î¡’¢Õ¤ä¤Â¤F¤ž£ó¤‡¥ ¥‚¦y¦Ã§§Ù¨+¨_¨<§Î¨ ¨§G¥¤š¤¢h¡·¡Y¡”¡~¡Î¢“£N£¿¤ ¤n¥>¦B¥Þ¥÷¥ì¤å¤È¥ß¦D¨‘§Ô¥1¥¡«>«­­¬h«À£9™£R£M ¥]¥Õ§I¦ª¨©§(¦”¥£•¢J¡÷¡‹ Ï cŸ3žB¼‚œª›wš¢•â·Ž}þ]sU …Wó^Žú ¾˜¸ŽÓ.[[£B‘.’’’y’r’è“ “ ““/“k“U“©“â”e”b”ɕɕ²•.”¼””“E’è’Ú’Œ“~”X”Ñ• ”Ù”B•”à““—g–ÿ•(•n•_—´™¡˜|—•¿•°–6–,–y–0– –•í–"–æ–g•¬•ü•0“¬’ù“`”>•–Y–´–®–T–#–c–ˆ—"—|—S—C–ú–|•µ•k•Ǖі|˜™e—P”g•þ•Š•n”È“´“u““’þ’’‘ґߑܑ±‘‘r‘¤‘×’’B’¯“R“|“ƒ“”“x“„“E“T“t“锯•˜–8•£”ו‹•ð•ø•• •b–7•ç•ܕ͕à–Ñ– •\”§“¼”,•`“€’J“•m˜«—„—Ê—°—¨—M–ê–Ñ––––ð—à˜˜0—ƒ——Ó—¤—~—ä—Ù˜—â—À—¡—™—^—G—g—J—›˜ ˜=˜—ñ˜˜f˜§˜Ê˜z˜—Ô——%—Ô˜B—Ê—£—r——¶—ö—Ü—–½–¼–ÿ—*–ô–ç–Æ–Ç–0•ú–^–´–Õ–¼–V•È•–•’•´– –p––s–S–l–¼–|•©”ÔJ“õ“=’í’î“=“º”\”{””5”·”Y“擟“œΔ$”ΔԔ¡”W”r”^“ú“¼“¬””“ô“Ÿ“Ç““p““œ“¦“’‰’0‘”ç‘ ‘Bù‘ ‘ë’­“’³’‘c‘O‘yÔ^ÉÏ‘:‘x‘“‘€‘Ÿ‘“‘Z’I‘ÄúŽv¡t/Ñ™‘Ô‘‰ŽÒŽ£Ž_Ž#ŽŽ‘ޏŽOŽxŽ×޳PXЄNÚãŽV™a¨{_ß‘w‘R‘ÑÑÜãÇ»»ÌßÕ¯qj2ÙvXŽçŽàŽêŽÐŽ´ŽœŽ‹ŽaŽŽŽ"Ž>ŽŠŽÞŽÞިޏޡŽþƒ~wI+!7Cg–Öíøò`:#Nr;'cù‘-‘Ö‘´“<“š“1“0“5“’ï’æ’É’p’t’i’Q’-’‘Ó‘Ñ‘ë‘æ’`’«’¤’“’v’e‘¨zŽ›Žå†ËHiâü“[“›’Ð’°’x’R‘ì‘Α†‘^û›dèÊl~c€‰0Ø’“'”1”ô•­–•º”Ý“à“+‘)áÊ‘‘U“zÆŽØñŽŸv$œzœ¹.WbÍY¼Žk ‘4½‹Ò‹OŽ_ŽÊ‘©–6Å5Ö›` {6†–Ži~ I2UŒ™ŒŸŒÅŽŽ—ŽÂq’“ž“’é’t’?’J’B’‘Б–‘—yÝéäD¼tÌ„Bhî‘ ™>G"䱈´â×OAk¢Ì,4ì©p,ŽÕŽÅŽ›Žõ%Œq‹Å‹©‹Ç‹‡‹Y‹™‹d‹å‹ìŒ"Œe:;ZÛŽ ŽmŽ×©«‘q’’Ž’õ““'“w“…“£“å“Í”>”h”ДЕ™6´œå›É›·›ššêœ—ž£žö¡š¢.¢w¡â¡U¡¡É£ £¢‰£¥¤j¢L¡ñ BŸ ŸÊ ¿ Ó¤¡íž@œ^šÝž#Ÿ5¢D¥K¥Ý¥`¥¤£ ¢ä£"£Û£‚¢²¡ã ‰ Ç£?¥r¤>¡Ð£²¢"£¤ß¥‰¥8¤¡¤é¥w¥³¥Ã¦&¦â§/¦ø§§Ô¨0©Ñª©h©C¨õ§k§§†¥¿¤´¤3£q£/£"£–¤'¤•¤£¥j¥‰¥¨§;§[§¼§´¦ª¦$¥Ë§6¨{©¥A ç¨š¤—¨1¬tª¹§B¢G¥‰—1•Ӥ˥_§§Þ§t¨F¦é¦¤û£Á¢¡Ä¢¡È¡f ^ 6Ÿ#ž…¯œ˜ގŵ¤×¸ÙŽ~’P—šÊßõ†c¨¬‘©’n’ã“D“’º’Ý“L“\“p““r“³“Ó“ñ”=”I”é•`•¡•Ž•&”v”Å“ý“*’µ’©’˜“1”A”Ò”Ù”µ“攕”@–d•ñ•°•¡•ˆ—\™˜5–¯– ––Ñ–U–¹–´–œ–E•¼–9— –<•Ö(”Þ“q“+“Ù•‰–Ì—%——%–ò–¾–»–Å–÷—H—L—4–•^•”¶•Ÿ––Ö——O–°”Ï•û•Дڔ¢”“Ž“<“1’}’"‘ú‘Ž‘Á‘ґÑ¥‘ˑݑü’&’Ì“D“Œ“œړϓ¦“`“2“ˆ“à” ”™•q•ð•%”½•@•+••c•”–)–d–W•þ–R—–ß–Ï—Ü—<–`–8•Í“†’I“i”(˜?—à—¢—Z–“•Ζ–•w•×—U—û—ë˜n˜˜y˜ ˜Ò˜f˜+—ۗΗô—È—«—•—4—.—|—÷—Þ——î˜s˜Q˜@˜R˜a˜¬™˜Ž˜—”———Η헒—q—Ž—Î˜v˜8—h—–ù–Ö–«–•Õ–•–ù–¼–³–¤——#–ñ–È–‰–– –=–D–²–º–N–•õ•Ñ•”Y“Ë“6’Å’†’…’…’º’ñ“ÿ”¦”·••¿•h”}“b““"“.“x“Í””¢”Œ”r“ô“å”r”Ԕ̔_“㔓»“o“}“’B‘ç‘ZÏÈSyà‘:‘ ‘:‘œ’“’¢’t‘בY‘ñ’‘õ‘fm´‘Kœy½õË‘Ÿ‘ ‡7ôþ‘Ü’Ô“’¢’‘&¡> 8¡4¡Î¢`¡H ¡V¢²£Ì¢O¡f¢ ŸÇžs FŸ°£Z¢ÒŸY-žŸVtž`¡E£ ¢õ£Q£‚¢R¢}£¢9¡™¢ ¡‰¡*¡ £U¤²¥ ¦å§¦ä¥P§Q¦ ¤£b¤¥W¥¥«¦†¦±§&¦á¦ú§B§é§ó¨ü¨ï¨ÿ©:¨‹§¸¨ž©)§„§j¦¤»¤i¤Ö¤þ¥¥ÿ¦d¦6¦¦F¦÷¨R¨D§Æ§¦ö¦c§ç¨É© §«£„¨S§æ¬«¬]ªmª9§u¡‘£«Ž§d¦;¤ó¥¦G§*§¥c£¢¡‰¡º¢ ¢5¡Í¡Y µŸ²§šz”–µÙøúーª¡LÇÃÃÌÜ­{Ï‘ó’ד\“?“€“j“‡““R“”“¡““®“½“Þ”:”_”‘”Á•Ò–0–7•|•G”Ü”ò“Г’’’†““>”J•””‰”%”÷”›•Ž•ç•Ê•˜•ß•ë˜i—e“ý•¶–`–©–Ñ–Á–Ô–Ò–¦–P–p–{•£– •¤”+“^“Ö•©—P—Š—4—-——–ð–ô—<—–Ø—–â–>”ã”+“›•–6–Œ–è——”Ü”F•—•,”´”&“p’Ë’»’ő󑚑€‘€‘\‘‘š’’,’g’Ó“Ž“±“¶“Ç”””“ó“·“õ”„”¹•J•´”Ç“„”u•\”8”Ø•¾•ß—!–í–‰–¦–Ñ—ƒ—u˜ò™¬˜˜˜ —o—•æ“Õ” “\——â—ï—·–Ç–Q•à•4•n––î—\—b˜ ˜l•p’5–0˜ñ˜Y—û—À—j—Ì—˜–ß–é—/—˜˜———y˜S˜ˆ˜l˜a˜–˜˜˜î˜ÿ˜}—×—£—ª—Í—Æ—i—T—n—ᘟ˜·˜.—o—.–Û–œ–F–©˜'˜6——=——(—?—:–Ó–Ë–§–†–N•ê–$–8•á–•›”µ“é“q“’ó’ä’Æ’¾’’¯“g”c”n”¶”ß•}•å•:“Ò“3“>“m“Ô3”Д”C”N””j•7•_”ê”'“ç“·“$’2‘¶‘îçî°$’’¤‘¸‡‘é’›“|“O’’ ’w’£’ò’ã’øÐZbìyÊô’=““0’º’Š‘œ‘лO˜äºJ´£?¹G’(AðÔÄ’>““_’û’k’‘Í‘…‘/щ% þ0#6a0þÒ‘„Äô ¿L ŽúŽÀŽ»ŽóŽìŽíŽän®¯Ñ¾KŽýŽæA{¼óÍGiQPKD Ž|.TAŽ÷@²0cujæÖò‡€ ›}by9ü‘t‘Ö‘ú‘Ò‘ù‘Ô‘y‘<‘‘\’(’n’’2’&’X‘ɧ*»ëð‘‘Ž‘þ’–’ó’¦’P’'’’‘Ñ‘‘6êˆB9JC4òÁÅ+o‘'’U’Ø’å’É’[‘ÿ‘ì’‘}‘¨û‹,¼” ”#‘ìb)‘>‘ ŒgŒ®Ä޳ŽšŽŒÔî@‘xõ’I’+ðºaË‘˜‘øíPŽœŽÙŽ;ŽƒŽa>ŽîŽ1ŽXŒÉ Œ5ŒCŒZŒ“æŽ[޵4‘Z‘‘ž‘‘Ý‘ù’M’‘õ‘g‘s‘‘ᑘ‘m‘4ÿ‘A‘‚‘¡Z“~·¢TqUa‰ý‘7‘)Äwê650TcSÜÕk޼áŒÓŒÕŒ­ŒZŒ` “掎"Ž4Ž~Ž…ŽþŽôs²‘&‘ƒ‘ë’W’©“)“{“à”;”°•"•µ–!–H–\–Ú–4™Ñœ®œt›ÄšÛ› œv›#›´ž0žÉ  JžbŸ /¡œŸôž o %¡A¢g¡ô¢ sŸé Ùžä¡NŸÊŸ: ¡#¡• NŸ„ŸKŸ«ŸV ¡É¡Á  ¢ò¢P¡IŸôŸÁ æ¡°£´¤K¦©ë¨½§m§Äª3©Z¦q¥8¥Û¥Ü¥r¥i¦–§<§Û§[§M§U§°§¥¨K¨—¨§¨ö¨î¨¬¨â¨ý§ã¨_§¦r¦C¦7¥ª¦h¦ç§2¦ã¦ §@¨©y©3¨–§Ï§w¨§±¨™¨]¨k¦d¥¹§«bªy««mª%›Ó‘º‘À—g¦3¥Î£Ë¤R¥n§¦ï¦9£õ¢¶¡Â¡¹¡Ø¡¡µ ÿ Qžrœn˜'‘ݑⲧ˜‚j”£|^%ê¶Yƒ¯‘õ““£“V“¨“€“»““°“¢” ““ø”Y”4”H”e”¯•••4–£–Ö–q•b•©•Ôē“(“’û“ “-”<”ø•J”Œ“‚“£”…”X”Í•Š•}•4•• –y–”–—— —#–Ò—)–Ý–˜–Ÿ— –1•6•u”/“x”•³—@—Õ—Á—¦—‘—_—j—–û—^—:–o–f–0•á”Ç””1”å•ú–v–Þ—-–••E”Ë”Á””¡”¡“½“7’‰’Ÿ’%‘ß‘‹‘·‘Á‘ý’’Z’F’[’þ“º“œ”0”i”¦”t”/”>”z”±”Õ•Y–•¹”ú”…”ý”±“0“¨•%•´——;–‚–½–•–“—$˜Â˜—˜œ—Ç—(—S–?”|•d•„˜k˜0˜˜—±—t•b•– •Õ¸––R–ÿ—וK‘©”‘˜L˜–©–Ç–Û–ô•D“b”X•Ÿ–Ƙ$˜ž˜«˜=˜¿˜á˜é˜®˜¶˜Â˜â˜ë˜á˜~˜/˜6˜`˜6—ß—Á—È—ç˜W™ ˜ÿ—ü—f–ú–à—,˜ ˜Ç˜<—ž—–ë—B—;—A—"–û–¹–»–=•z•”û”‚”=“ó“T““$“7“5“r““w’ô’÷“Δ^“à“ç” ”œ”Ä”˜”N“Ä“¢“Ü”z•–•ˆ”x“Û””(”g”‘”Æ”œ”±”«“þ“’9‘…‘Ù¡Žë޽Žý‘_’r‘W‘‘Û’Q“W“€“;“’ÿ’Ï’£’«’º““ “K“t“G’ë’e‘z‘o‘ú‘X’’­“’ý‘Ò‘‰æ×T!Ò ŽÌޢ޷Ž÷ŽžŽŽŽŽ·ŽÚŽ‚Ž~gƒ-D÷hÍёӒï’í’c’‘®‘z‘$ñ¤T ýÛѸR 1GŽ~NgXn[ZJHSŽú>Kks§ëù¢tak³òAsŒsnpfÜŽûŽtŽ8Ž@ŽŽ¹Ž—ŽEŽ’Žã€gŽñk4-"úÍ”Ré¶‘e‘õ’D’@’+‘q‘¯´‘e’§’w‘¦‘©‘Ç‘¼‘ÌÂÚ‘@‘{‘Q‘7‘‘é‘ԑב¦‘ß‘ì‘ó‘”‘R‘K‘\‘Z‘F‘X‘?‘9ÿå–¡í‘a‘y’’q’I‘o¦Ý‘v‘¬’Í‘.o‘¨•”z“J‘å‘•‘E‘çêhý‹óä`‘]êŽ×j ޹ù’(n‘n‘„i‘‘ ’)‘ˆ™Ÿ@Æ1ŽÑOŽ`ðŽ&’Žfâýí$Œ§Œ1Œ[‹:‹6ŒëŒYŒ3–çÂŽI$ï‘N‘6‘’I’Ž’µ’£’I‘©‘D’3’7‘¡‘Ë‘ž‘ª‘ ‘Z²Û9Åî‘4󘊋‘k‘0‘$‘z‘ב´‘…‘>‘—‘ß‘°ß­ÈªÂ›¡Ìð•og5ºŽ÷ÜŒ¾Œ«Œ•í玎ºPE•ÛmŸê‘t‘ý’S““U“Ï”2”†••v•è–-–q–ù—————a——)™ƒœ2›Ä›Û›0™æšØ›ZœÕ¯›—œ 5ŸžžÐ­ŸþŸÄ   ˆ ®¡‘¡h¡p ñáŸcŸ žïŸü 'Lš —{—ƒ›ažÔŸQ l¢þ  ÷¡ Ÿ·žµŸâ¢ ¤C¦é¦õ§7§t¦å¨¨†¨+©^¨î¨Â¨ò¦¦Y¦#¦ø§w§½§•§ã¨ž¨¨m©¨Ý¨E¨T¨•¨¶¨%§¸¦ö§Á§þ§¥§‘§.¦„§n§e§"§S§ ¨q©ÃªDª©ƒ¨h§¨%¨=©¨‘¨(¨§À§§jª¬«6¨¾ªAœÀ›¡÷¤H¨¥¥ £y¢©¤ƒ¦¦…¥¯£§¢„¡“¡F¡]¡l¡* 4Ÿ>;š”ªæÃ‘S¸½x‡š§Ã¾FÆsm ‘‡“6”“æ“™“z“–“Ž“…“c“°“±” ”.”]””ù”ñ••K•’•µ•Ú–^–™––¿–ª•º”“‚“œ“““~“™”#”‘”·”—“,“” ”Δ”§•;••ª–F•£–i—8—9—X—Η^—@—g——+—†˜3•þ”h“÷“0“¦”ë—`˜j˜,˜—î—Ï—’—\–ý–í—_—{–³––•”•””´”æ•L•Ù—–쓽“˜”½“Ƒђ~”¸“ê“7’Ö’›’’‘‘š‘‘Ø’’J’¥““¶”“甤”Ŕ͔”–”Û••O•‹–#–P––:•ž”Ç“Ž“#“û”b”É•?–5–{–.–c–t—“™˜}˜À–à–– •$”^–9—:˜Ñ˜˜}˜‹˜ –ø•3•²•ô–•­•%•‘–¡–á“·¦‘R•U—W•ã•¿•“)‘}‘|“k”k•V—Á™ ™{™6™™™/˜ú˜è˜î™`™K˜ì˜Ã˜ý˜ò˜Ï˜£˜t˜1˜˜˜[™2™k˜„—Œ—q—ݘ:˜x˜|˜—“—J—0—¨—t—&——(–û–“•r”0“¦“°“q“h“¡“R’·“ “û“ø“㔓„’ž’õ“À“ê”"”Ç”ä”Ù”‹”­”ꔑ”•• –1–º•â•Õ•¹”g“ª“N“8“T”-”ž”=”“s’y‘¤µ«ŽƒŽHŽpÔŽÌä,‘†‘È’’°’1‘`‘{‘ð‘•‘¡‘¹’‚“z”k”]“씓Œ’¾’R’m’^’~’ ’‰’Ä’»’½’’“&’*‘|êނއ ŽîŽUŽ{޼©YVlŽŽŒ ]ÇËhŽàËì—‘Ì’@‘ñ‘—‘5‘$âÇr>,癎Ŏ§ŽœŽ-‡‹¨nnMEˆ–SŽüŽâ2rzƒŠÆÈœ¨Ëûìn}gLQ'0 DŽrñÙŽŽ[ލŽÊŽáŽÒŽˆŽ¬Ž›ŽõŽËލŽêŽûŽô3Agoco°X‘A’’4’’U’F’9‘•îÕ‘×’U‘æ‘^‘@‘´‘g˜`­‘%‘‘˜‘±‘ȑ쑤‘œ‘ˑ‘¿‘Ú‘Ö’ ’‘ç‘ì’ ’‘À‘~‘Q‘R‘;‘I‘D‘‘+‘“’’’9‘•‘‘/ò‘O‘·’v’œ‘’ë•V”V“”“’ ‘¡‘Þ‘w‘Ê‘[‘ñ”ŽŽø“[“w’ `Ž v‘w‘B‘Q’ʑƑç’%’‘N‘Löû°©6­Ž¼ðÇ|Ž8Ž\ŒÓŒæŒ^‹„‹ÐŒqŒ5Œ˜ŽnŽ÷ÉW‘,‘¢‘Ô’W’ù’§’Ÿ’™’‘ª‘‘’‡’Z’G’Ž’%‘û‘—‘—‘wÓ‘‘ƒ’‘jÕ‘/’’J’t’^’b’4’‘¿‘£‘Ÿ‘ä’’>‘ñ‘ž‘z‘u‘‘f‘„‘‘‘[‘Z‘;‘)Ëv¯)Ž'uS6ºŽSŽdŽ]ŽªrÏÿR—´šé‘s’‘“ “|””ˆ”ç•`•·––a– –Η+—²—À˜˜(˜——ö›m›}›>šôšÒœ;œ8œ~œAšbš²›¿œÙœØ÷žžÈžò 2 * ’¡žŠŒœC–E86¯‘X‘J‘P’B—žÏŸ| ã   ®ŸŸëŸiŸ”¦û©"¥¨¤c¦O§Y¦à§œ¨™¨ß©2©§©d§X¦É¦L¦Ö§7§‘¨7¨d¨Ý¨¿¨¨½¨¡¨ §§¡§3¦›§§(¨¨z¨œ¨É¨?¨¨¨ §ð§È¨©Êª“©÷ª ©N©©?©Xª©¢©t©(§\¦ó¥å¥t§‹¦é¨eªÔ£¾¤Ç¥‘¦Y¦¤]¤â£·£ã£½¥`¤¹£¢˜¢C¡|¡¡ OŸ‹»›õ–è‘Sä‘~˜LIL`nxdSøÚÇ>Ø‘“’€””z“ô“Ô“¼“©“t“–“`“i“ž”*”¯••[•l•—•{•©•Ú•ð––·–™–ì–¯—T–\”ã”2”,”7“‹“e“Õ“Ê“í”w”9”¡“r’n’›”R”º”G”j•–“—z–ã˜Äš5˜9—´˜B˜ ˜!—°———ª˜“•Š“ç””C•9–é˜î™˜Å˜³˜I—ô—µ—g–Þ–‰— —|—\–Á•ú•j•”ì”a”‰”¿•(–Á—Еʔ’õ“p’Ñv’P“£“Í“’°’2‘é‘ó‘à‘í’’’Œ’ý“W“É“÷”ƒ”ú”Ñ•.”í••3•½•æ•ü–––³–¶•æ•\”k“H”!”D”¯”Þ••ù•Ø–0–—˜ó˜Ê˜å—–B•¸–7”ö–—k˜h˜\˜–˜[—Ü–”¾”ñ”£•)”ý•••o•Ú’tŽoŽ\“y–²–•” ’º‘ö’â”x•9•4–X—{˜Ê™_™[™—™Z™™2™:™¤™Ã™¾™E™.™s™­™‹™˜w˜Z˜f˜£˜õ™‰™U˜©˜c˜I˜í™E˜´˜@—Ù—ª—ƒ——Z—>— — –¤•R” ’í’é“n’Ä’\’{““~“4“y“Ž“>““ ““””=”¨•M•Ø•ï•Ô•§•`”ú”Ҕ압ᖔ•n”r“y“o“j“`“¹”“ø“ý“ˆ“’‘ <3ŽöŽßŽ‘Žÿ„Ü‘6‘Ñ‘¥÷ý¡‘*’Ÿ““x“`“y“y““9“”“e’Ê’Y’z’¶’*’’ö’Ý’è’“ ’7‘(æLp]³«ŽÂŽü ÌR;„ŽŽeޤŽü/Ž©Ž}Ž’=¢Ös‘ ¾ü‘µÖÈ¢|:ŽàŽŽIŽdŽ•Ž˜Žcޏ&MUi›Õȫɵ¤™ªŸ…n}Ž£¶êÝÏ.…U,Ë– ü!7-ŽpŽtŽ-ôŽ*Ž!Ž ŽPŽŽbŽÙŽâ=ޱŽèPŽáý¦ÚëŽ])8Ã0|‘‘ø’’[’C’N’?‘Õ‘`RýБ1çú‘Y‘€‘‘œ‘ÑӑԒI’f’&’‘Ó‘¾‘¯’’A’)’’ ’‘æ‘ã‘ñ‘É‘B‘?‘L‘I‘þøý‘a‘w‘²’‘=s·‘n‘W’»“%“P“¨”¯”ñ”3“!’’’’!‘~‘‰‘Ú‘c‘Y )Ž“…‘¸¹Ž ‘ ’"f8”‘Ú‘×’N’æ’—’9‘‘‘‘uü7¥Žë:Ž–ÉŒÈªŽMŽ ŽQŽØŽFŽ u>Œ™‹ŒŒ‹ðŒ„Œ\fØŽè·‘O’c“’?‘Ë‘f‘^‘˜‘£’’Ë’¶’è“’Á‘ô‘~‘[â…¬‘|’#’Q’5’’ù“z“˜“3’á’È’®’V’.’1’F’¾’ª’’‘Ë‘÷’ ‘ñ’b’8‘đבꑀ‘š‘Q‘ÆZð[ŽÃŽ(Ž ŽŽ<Žã޵ŽÚ@KˆÊ^o¼‘‘ è‘c‘ý’œ“s”””ï•`•Ê–– –ä——¨—ј —ñ—ó—«—î—¡– •©–ê™g›6›'œ2TœwœoœiœN©EœSgœìžžžqžìžòž-žÙ¡]–Ÿ‘c‡žäÍ‘(’ª’â“1‘ ’Bœ &žÆŸ•ŸÅ Ÿ  r¢y¢þ§¥A£Û£ã¦(¦ü¥p¥$¦º§ë¨Í©(¨â¨Ê§¯¦»¦Â§E§»¨§È§ë¨„¨ï¨a¨*¨T¨M§d¥D¤õ¦w¨ ©X©;©P©Ç©`©!¨ê¨†¨b¨&¨ê© ª©†©¼©Êª]« ªÙª•©Á©]©î¨,§§-¦n¨¬¬Êª¢§z¨Q¤Û¤0£¥¤~¥L¤>£+£¤U£|£X¢Í¢"¡W¡5 É ŸEEš]”ž‡‘ÂR]þ.¸¹ºZÇ‘Z‘y’Ò“¾”S”-“˜“ö“Â“Š“Œ“´“T“Ó”7”÷•r•t•Ÿ•Ü•ú––8–b–Ï–¾—c–õ–æ–Ä–¨•e”w”•”ú”h“Ɠۓړ³“ß”]” ”,“#’(’ ”'”W”=“«”ã—i—g——ј(—t—‹˜ ˜=—÷—™—U—X˜L™_–Š”Ê•€•£–—ë™˜Þ˜ç˜ø˜n—é—š—Y— –|–p——¿–ê–•œ“y”©”ï”U”]•.–Y–‘–;–A”È“_“Q‘q‘™’“p“/’U’K‘þ’‘Ì’’’Y’ñ“}”$”˜”~”¾”㔳”½”ñ•ˆ•w–F–{–~––––{”œ•™•W”Ñ’õ’u’¯“°•ÿ•וä–>–í—y—E˜˜­˜Ê™˜ –¿—––~—¦˜¹˜×˜Ê˜p—u•à”z•L•ñ”ß”;”î”Ü””Û“´¾®”›–{•þ”„“²“Y’g’ÿ”b•±––R–{—F˜P™N™™=™7˜ë™dš&š$šš#š9š@™ô™ ˜›˜°˜ñ˜É˜ì™™–™¶™²™Ì™h™ˆ™u—î—0—–¶–Ó—D—b—.–Ì–,”ø“‰’ð’X’L’õ’D‘¿‘«’%“x“~“u“Í”-” ”Ӕ唰••Ζ;•Е֕蕺•™•d•'• •”²”ƒ”­”+”z“¥’Î’P‘v‘n’ ’ü“|“É“Y’Ó‘ô‘ ûÙ‘4‘¹³ôc?à¶;úM}‘{‘ï’ë’ß’f’½“,“B“4“ ““¢“C’ƒ’<’v’Œ’Œ’‚’ž’¾’(‘ó‘€`Áô eØŽ–Žr_“lŽ_áòŽ}ŽÍŽÞ޼ŽÆŽžŽ<Ž!Ž‚ŽÑÎ8Õhc&ŽæŽáŽèŽÇްޢŽ~Ž@ŽŽrŽÁŽŒŽ[ŽeŽ£ŽÂZÐ\»ô× V3=‘¦¬ØÍ¼žËL~*òÊé@ª—Ħ9Ž Ž,ûÊŽµ´Ž'éŽUŽòŽ{Ž$ŽbŽ)ÒX b•ÖŽŠŽî$S6µê‘ë’ä“’ó’Ï’ˆ’*‘ŒE"ê´ÀyØ‘-‘Z‘X‘e‘F‘6‘:‘”‘‘q‘{‘Бð‘ݑ쒑ڑ¾‘¶‘º‘½‘–‘l‘&‘/‘‘@‘1‘ ‘D‘R‘T‘˜‘ø‘}¹)†vÑ‘g“Y“¹“ù’ì’“º”}“’~’‘Ï‘»‘Ç‘éH ŽÞ晴ê’P‘ *ÆÓ縒-“–’s’h“’Æ’˜’ˆ’B’Ý‘a“£3T‘Ô‘Bˆ°ŒÕÐŽ°‘K/ŽéŽŽLŽEŒª‹ÂŒjŒ¦[åŽ@·pÌN-Ô‘y‘g‘é’Ë’ë’ç“’«’/ð„h(° ‘Ö’›’¼“4“±“Ü“÷”“Á“G’Õ“8’¿’m’’¤“@“~“^’¯’/’J’‚’B’9‘Ü‘€õ‘‘B‘™‘‚‘y‘s‘ Ñsør)Ž<Ž&Žý `Ôˆú®Ø‘M‘‘‘²‘ö’Í“ƒ””n”è•L•Á–)–µ— —¬—Í—¼—z———Š—y—–ß–“•7”Ò•¶šœœ€žØhCù°ž¿œHâŸñÝ €ž¯žñžñžùŸ›ž¿œš‘’’’I’‘ˆ’’Ø“r’’µ“}’—® MŸŸÏ¡ŸU’¥¡ß¤4£Z o¢à¡Ã¡   í¡¢â¦e§§û¨µ© ¨D§Æ§¼§Ç§Ø§‘¦¸¦Ê¦ê¨ ¨¤§š¨v¨Â¤´£4¥5¦I§Ò¨ß©Éªšªmª(©›©{©'¨Ä¨™©©H¨Ò©©‚ªÅ«¾«w«Ÿ«ªˆª!ª“ª©««GªªÈ®V«=¨À§w¦»¥­¤N£Ù¤k£æ¤¾¤¯¤Z£'¢i¢[¢w¢H¡† Ê v @ž¼¬˜‘½ÿ‘^¡¿ëõÙº¾À‘ú‘Ç’d’?“…”\”“¿“¥“Í““†“Ò”w”)”u•J•À•Ó•Ö––b–¸–ß——†˜—ª—~—.—/—V•º••g•4•d”p“Ø”C”“¥” ”u”-”“@’‡‘Ù“J“‘”U“ú”Í—v—a—°˜—â—ì—Ú—ê˜+—ê—ˆ—#— ˜0™[—¥•̕䖖јq˜¼˜Ê˜§˜O—ç—Ÿ—‘—Y—B—–––è—V—3—Õ–Ú”œ”ò”Œ”$”ê••º–•–*•|’Œ’t’I’Q¦‘…“t’³’j’’S’s’«’Ç“D“#“4“k“=“I“÷”0“Á“‚“ñ•J•æ–)–i–‘•ô–Ö9•C˜î—l•(“Ã’Ÿ’\“”í•×–Q–J–ç—°—V—˜p˜f˜H—Ηۖ¤–ˆ——™™˜p—Û–Æ–[–—­—ä”Ò”+”æ•1”f”o”ž“…”4•¹•‘•±”t“y““\“¢””†••<•:–˜™™ù™œ™'—ЗԘöš^šgš?š8™ù™Å™X™Ôš5š,™¥™[™<™„™ëš…šôšõ™·—ΖT•ô•<”¨”Ë•"•Ú•Ï• ”s”S“ï“!’»’z’’[’““F“‰“À“†“º”p”½”ý•a•à–"–n–Ï—M–?•X••K•h•p•X•^•c”Ø”j”§”X”%“m’Û’‘<—†‘:‘®’’²’U’ƒ’\’.’+‘t‘ç¹ðßý‘呚‘Ÿ¼J‘’I’~’Ú“>’­’ò“<“#“’è“e“j“k’Ñ摎‘ð’+’T’o’u’V‘ÓîcV‘ ‘1‘wo*H/ Ž$ŽÈŽÆP+VŽäŽ—Ž4Ž>Ž¢ŽÙe½ãŠ:2ŽñŽÎŽÊŽßŽèŽÚŽÃŽrŽ1ŽkŽ£ŽÂŽðŽÈŽšŽ¶ŽŽµ\‹|vp‘’d/5•-•––å—'—‚—<–ƒ–Š–ç—9—$——V–›–@•ê–2”£–,š_œq¤œ°žžª8€˜Ú˜L˜‰•\˜^šžÍ ýŸ'š5–?’¤“9“Ê“²“.’c’º“á“·“ù“{“r“©“'ŸÕŸàžAšáœ)œó›âšµž`žâŸiž×Ÿ›Ÿå¡V¤ý¥Ø¦g§Œ¨“¨Ú¨l¨¸¨@§5¦¡¦{§d¦à§p§¦§/§S£ó¤Ê¦”§%©ª=ªžªhªmªÇª”©é©2¨«¨¨Ù©¨¡©eª«¸¬m«ß­R¬‡©uª>ª§ª³«;«º¯y­¬Äª@§´§J¦ ¥Š£•£B£d£K¤û¥¤B£¢Ç¡Ñ¡Ã¢¡t ® N tŸ˜œ8”¸Ã‘‹‘<"Fe"+çñg‘(’—“B’µ“3“a””“Гɓþ“þ“û“ô”C••!•C•Õè•ö•æ–W–¿——/—f˜˜L—è—)—"–Ï–¤•„–…—•¦•”…“Õ””‹”””3”)“Ø’å’Ê’P’¯““Ü”b•1—;—‰—³˜—Ê—°—Å—¾—¢—v—c—J—y˜`™/˜:–Ï––Á—˜Q˜ž˜X˜$—ï—×P—F—f—S—Q——S—–å–I•`–)–S”«“”j•ó–•È••©•¢’Ê’5‘W’‰‘Ãã“u“U’ã’1‘Û‘…‘þ’u’R‘ê‘ü’_’D’!’Ï’ß’¬“8’í“o”Õo–‚–•Ö• “î–|™6—C•”s”a”–y•ï•Ý–h–&–ò—ޗ͘@˜»˜®˜7—¤—c–Ù–œ—F˜B˜½˜D—s–×—˜˜Í™1—¨”˜”_•m•Z”P”H”©•¿–•”g•T”Ö“½“¯“è“¢“‹“Š“²“Δ@–— ˜E™Ê™i—D•Q– —§™³šVš?š™Ý™ÿ™¡šš𠙏™‹™›™™™÷š˜Í—~–-•6•?•\”å”î”Ú”h”U”“Z“4“ƒ“Ç“c“4“ ’É’œ’Ì“G“€“­”­•±––Ë——|——r—|—Ž—³–©•Þ•¢–$–•ü–(•Ö•”Ž”|”¢”‚“ï“P’ï’V‘Ö‘«‘‘Ûâ‘V’6’‚’O‘Üô‘‘‘»’G’Á’㔕“›“Ë“G’Þ’¦’”’‰’¢’í’‘’”’“’š’j’?’‚’’¶’<‘­‘‘³’’’’_’‘Ñ¢‘þ’ ’*’T‘V¡Z||JlŽã+P §yk3ŽÕŽÐ޼޻ޭŽë€ó±ƒhDŽýŽÙŽÏŽÑŽß1BŽäŽÅ5ŽÖŽ»ŽÂŽü½¡¯¨~‚’B&%=_@= !Qºo”Ž‹˜ž†4ª޳ޭ÷Élm½¨›£ŒE©¹ŽŽqŽ&þpaìjŒ~bމŽiŽÞŽþ Jà²ü´‘)‘¡‘Ñϑñ‘è‘‹‘Ñ ƒþæ¿•®¢è&d˜‘‘o‘º‘µ‘Ô‘æ‘É‘¢‘ƒ‘t‘Ç‘È‘×‘š‘±‘ˆ‘²‘Æ’’ ’2‘Ö‘L,`£ƒû‘‘^’É” ”f”!“@“K“q”Ø”V’þ’0‘ÑÂû‘xÒC±ŒM‹ìN’H’Q”)’X’R“‘Ζv–¬“˜“P” ’Ù““’$’„‘FŽ–B‘Ô‘T’‘FŽ’ŒëŽÝߎ5â’¤’_““!‘”’ÄâÃË›Ž0ŽÊŽeŽüzŽð|bãúi‚‘F‘Š‘ X(gK#]­†€’Š’ø““e“ú”;”>”"“ä“Y“§“c’æ“ “:“@“Ž“£“’ ‘ä’ì“c’Í’‘@’ØŽµŽÞÌ;‰á‘+‘5Æ–oç¼”Ë%±"ka‘v’Ø’Â’®’Ù’Þ“f“Ê“¯“唕?•Ö–˜–‰–µ–Ï–ö–Ø–7––ž–É—–®–Ë–„–v•î–2–,”ø•â—ÚEœ}œ¦š•>”v“ó”d•”Æ•t”`”ù”\”^’?’-’ ”`““Ý”_”¤”\”¡”N”9”4“Ó”¤“X•M˜m—Û“W““y“˜ž›aœ’šÉ›×žWžªŸ/  ½ ÷¡Ü£f£\¤î¥Ý§W¨"¨A§Ê¦n¦R¨D¨”¦è§y§¦Ì¦~¥|¥¼§‡§ƒ§þ¨Ê©Øª2©¨ªÐªëªÀ©Ì¨ç¨¨s©d©i©„©'¨¥ªc­•­®«à«-§®¨Ô©s©æª¢§¯®Ü® ­-«.¦H¥Ú¦7¥ž¤÷¢Ú¢¥¤,¥¥À¥j¤>¢P¡‚¡Ù¡Ï¡2 š S ‘ž•£‘)‘¨‘z‘ëÚˆ»éÝ󑦒““²“¸“º“Ú“å”9“ö”c”O”k”W”¸”Í•"•}•¤•õ–––V–2–\–Ê——5—¿˜—Ù—˜–Ù–n•î•¥•²–ç–”•O•””’ú“X”Œ”X”_”””M” “t“c“’ê“„“·”„•*–V—“—¨—¹——~—°—°—a—b—O— —'˜;™6˜:–¼–p— –¡—5—ð—Η——P—»—µ—t—’—r—V——–À–~–=•ˆ•ß•i•³”R“ •f•â–=•(•&•Ý’Ù‘Æ‘o’’5“°”7“d’Ý’<‘Ï‘=‘‘e‘¸’]’›’V’­’º’¶“„“¿“á”h”X”‚’ד®“˜•š˜Œ—g˜—E–Ñ•Á—©–Ó–––/–!—!˜˜!˜¨˜À˜N—ì–ò—— —½˜Z˜ –µ•ú–•Ë–ª˜™<™E˜l–r”Ø•6”Õ“ý””_•r– •+”””ã”l“ž“‚“'’º’Ô““Q“î••q•L•Ô”t“‹“q”•7–ᘘí™~˜é˜˜æ™›™¥™£™I˜Õ˜[˜—󖉕”J“§“²”!“÷””‡”…”€“Ö“S’ç’ْד&“R’â’æ““““D“ü•–Ï—€—i—g— —„—I——4—o—B–™–§–™–Á–†–,•­•6”Ä””6”3”“¿“d’þ’s‘°‘Ÿo¤¿‘]’V’z’*’†’J‘ƒ‘›’Y’˜““~“¤“ø”‚”%”“Γؓw“’r’"’G’z’x’6‘ß‘v‘‘µ‘ÿ’\’Z‘둵‘é’’‘»‘è‘®‘å’5’K’h’E’‘­VhÖɪ0]eP'Ͷ̩–™¶OŽÜŽÍŽû;ÁV¤^=ŽõŽàŽÝ …›¹ŽŽîŽûŽÀŽ›ŽqŽ×‹Îð柗…X078 eÆ K€…wK?ÓQŽ¾Ž‘Ž¦Ž¼Ž Œ¤Œ÷ŒŒ¾Œ­Œ‹´ŒŒMŒtŒEŒŒ¥ŒÓŒûH{¼ŽàŽfŽ>ŽgŽ–ŽÉŽÎICH’5’¬’ƒ‘‹ä‘A•˜h–Ó”p”H“9“4“’ì“A’!‘¤˜·˜’s”h‘=‘™¿“Ô‘j“e”[”¿•O”š“©‘ŽbŽˆŽ*Ž Ž UÌŽAŽÝ޾ÿŽÓa£ r‘àÉ[¤–—Ä¿‘£‘ã‘i’K‘á‘ì’F“Ñ”x”,“Û“£“:“’û’Ù’ô’ï“0“›’µ’p‘é‘å“’Ð’Ð’Yh]ÁŽŽŽë¿O‚ÔÀ‘Š ƒŽUŽAaÛ÷.Bly‘W’’’æ“<“Í“þ”d”x”º”Дߕ9•S•c–Q–û——*–ï–;–š–i–È–¬–£–“–u–°––O–A•Ë•^•——•¢”Ó”””x•$•M–,•Ü•ï•:”ö“󔇔 ”²””{”ð•<”—”À”Ý••‹•Y•N•”­•Q”/”¨•1”(”ý”˜•–l–P›œOœÅ DŸzžbù 6¢M¡Ô¢ï¢÷¤š£Ã¤ä¦î¦6¦X¦y¦ §š§9¦U§¦s§§L¦f¦ý§[§3¨¨’¨Ê©©©õª{ªŒ©R¨¦§Ö¨©;©êªfª6©Ÿª^­â®NªMªv¨¡§ð¨’¨Ÿ¨¶¦<«ˆªç«•ª{©¨¥k£T¢t¢"¢¡£Ý¤Ï¦¥!£õ¢V¡† ò¡C¡A P ÀŸ˜š‘ª‘‘Ë‘‘'ì‘L‘Y‘¥‘–‘Ñ’L’Ë“Y”””^”” ”1”S”f”Ք˕L•V•z•‹––t–i–[–O–M–G–€––¹–ÖŒ—h˜^——L–ÿ•°•T•n––2•b• ”¹“Õ’º“À”c”‡”Ì”ï”x”“˓۔Y”@”¤”W””ì•v——r—.–à——>—–÷—<—'—B—J—ê™ ˜~—¶—P—ï—S——d—–—c— —ˆ—Ÿ—&—;—¤—`—A——–p–\•ø•ԔǕ–‚”>“#“8•0•±•<–;”’ë‘}‘£’4’”“Ñ“?“ ’1ò!P³‘:‘a’’†’‰’ú’ù’º“è”Ö”ƒ”ö”j“V““¦”[—]™P—ɘ<—ë–——V—š–T– ”µ“·“W”S•B–¢—O—Œ—«–——‡˜D™˜…—)•»•È•«–×—À—¥—ÿ™¨š0—-”ð“þ“Γ““´”ޕޕý”Ó씸”Ž”U”~“¿’}’­’î““w“î••”p’+‘¥’Á“9“²”••”Y‘cà”³—ž—ö—Ηˆ–¶•¹•r•Ôœ“…“y“Ý“š“Q“^“i“£“°”6”h”š“›“+“t“d“‰“‡“Q“ “Ú””––—X—´—q—d—E—.——F—%—9—›—Ó—–b–s–»–²–…–G–%•ו±•j••”a“‹’¾’^’‘¼‘/‘T’:“2“³“¡“N’Æ“’¾’E’8““y“¤“i“I“%“¤”\”¢”Q“k’ß“’ï’Õ’¼’Ö’R‘Þ‘í‘ý’"’e’½’Þ“G“V““‹’⑺‘C‘‹‘ê’’R’<‘ß‘¢‘w‘g€ªoÇ(Š -Ju@62kŒ©Žù «Néþ”ñ¥º]&\nGŽûŽ¢Ž„Ž¿Ž·Ž¸ q©‚fts]f=+Žû ŽôŽÏŽëX¸ß8Hë³[ŽüŽŽŽ'ŽŽwŽ˜ôaŒkŒxŒ1‹s‹~‹°‹—‹‹‹¿ŒRŒŒ‹ãŒ5ŒNŒ8Œ‹15J†\ÃŽVŽŽ'ŽRއ$:zœ¥ñrÖΘ‹‡iŽäŽÂŽWŽUŽ›`ãæ@…“Ã^Ô™eG¡n’)Å‘·’j’&’¨’}’Z‘ìåYʎ历ŽÃLß­“L”0“ѓƓ“Γ›“»”~”R“*’Y’õrg‘€j|ޱŒ“דŠÜ’o‘h’+–º—W–„•”¦’„’““’;‘`– —¾“\’*˜_–å“ ¸ú“ß’½”ª”Ë•Ž• •a”ì’ÊZŽ'ŽŽÇŽ&Ž@Ûðæïޡި?#Ž»’‘ò‘ÈT.DÖ‘t‘gÁ‘Ž‘_‘F‘š“a”N”-“Ê“_“““ ’á’5’“’Û‘‘õ’Y‘Š’¤’’e’¡‘7«ŽžŽbŽ/Žßß‘‘ °]‘ ø£ŽdŽ:Ž.ŽRs䂌Ø6ŽÁÁ’!“S“Ê”*”{••.•e•+•6•Œ•¾•á–B–û—V—–Ó–5–V–w–Å–¯–ƒ–»––S–a–)–!–O–P•G•€•Q•N•Þ•m•r•^–'•o•~•o•g•H• ”Ù”¼”'”ì””­•S•Εð•Õ]•¼•‚– •‘•ô•­•q”ü•Û”ã•æ™"–B”á™$›¼ŒžïÖ)œÈž{¡ô¢ƒ¢&¢:¥¦¥â¦¥­¥¸¥Ö¤í¥¡¦‘§ý§±¦^§§ƒ§ƒ¦ì¦ ¦¦=§†§î¨>¨c¨Ü©ñ©ª¨ø§ä¦Å§©!«±«jª`©÷«Ù­ý­Ù¬­¬©’¦ü§¦ê§ §í©Ñ§Í§ø¥è§¦¤¥[¤–¢ £Z£F£½¤…¥7¥£Ø¢Ÿ¡Ñ¡Š¡„ ÷¡ +™Þ’¹‘z‘¹‘1’=’‘¢‘Ê‘±‘Õ‘ì’½“=“h“Õ“è“ï””ˆ”y””w”á•!•‡–F–e•Å––²–©–Ž–›–4–B–$–˜–¿–‘–b–––í––÷—o–•]•]–U•Ì”â”Ö”|””j•\••>•F•r•”ª” ””à•1•$”â”ê•9”À•–ê—I–ؖٗ"—–ê—%–ó———©˜Ø˜p—ð—)—B–ø–ÿ—2—„—°—€—[—‹—t—/—Ë——j–à–ý–É–¸•ܕەd”Ç•,”“•“ ’ü’›“„––3”B’)‘p’ |ó’¥’Q’*‘H‘‘ð‘‘Ã’/’\’»’Ö“%’Û’\“ˆ””n•“»’’“Õ“Š•˜ï–Ó—˜–Š•i–“–A•x• ”“”~”"“—”[”𕜕ã–×—9–¼—ž˜˜Œ˜í˜ñ˜û—ê—F•ð•¿–g–L•×–(˜8—•”™”T“ß“~“Ž” ”n•P•I”ñ””ê•G”¯“Õ“§““q“ ”I–ú–Z”½’;œ’“””à”““¤‘U‘²•—–—•—-––•á–•¦”µ”“o““”ƒ”j“²“r“L“ƒ“Ÿ””È•+”“ß”R”3”o”˜”$”¶•­–@–¿—S——R—–î–ë—–ò–ò–Ý—Z—‰—–ë•ì––=–N–?– •ý•è–•••|•I•”€“â“»”5”P”1”r”/“ГR““]“S“Í“˜“““k“[“.“’Ê’³’Ç““i”“õ“#’è’°’¶’¥’<’e’†’‘Þ‘ø’’1’[’y’‚’³’U’ø’É‘æ‘ö’y’¢’ ‘sú†|‚=SOˆþØÁ§e-ü8,MʤÕɃˆ¼‘.óžévжÀ\ 5g«F4_0 ŽäŽñŽðŽù0d™VK!$ ŽéŽÑŽ¡ŽUŽ!Ž9Žwޕ޲Žë`©Í¬†Ž¥ŽlŽ.ú¾õŽ3ýƒŒ ŒIŒ¡IŒØŒ‹œ‹¹‹ÂŒmegŒŒvŒŒEŒ6ŒiŒ›Œ¤Œè4Œ·´’ŽG¢(ߊ‘>‘9~Ó-ޏŽMŽ,üµœ‹¿âŽuH¨Å¦¶·ç§ŽéŽöM)ŽŸîŽyh…‘Ø‘©‘Ž‘Xг2ŽVŽRŽŸŽWØ“ ”“‹“‚“O“†“y“Q” “÷’é’‘‚‘z‘K‘+‘kØ!Œö‘¶²’0ó“È““Ñ—:–É–”²”:’·’’¬‘ÿ‘‘‘““D“”q•†— ™j–’èá‘’@’ó–n•”R•=•[“‘Ž›ŽwŽ«ŽªŽÍŽh¬Ž\b]¬K ލÄZŽÊ‘Ü’B’4‘)'¿9‘‘&ú‘S‘ ’’Ï““š“g“~“V“8“$“‘{‘q’)“U’'‘Ý‘‹“’‘Ü‘T‘,»ÍŽRŽmŽÝ޳w‘q‘tY0m‘2äSŽà5Ž[ŒýùA¸Ž’”j”¥”ð•k•e•9”¼•••–"–¦–æ–¨–‘––Ç–—–ƒ–­–ΖN–W–x– ––f–D•Ô•••˜•Š–•Ô•{•€•Ü•ð–U––+•Ô•W•(”ü•H•F•• •‘•¸•—•‡•›–V•â–5•¨•©•Օ̕іw•Ù–o•¾–—G•ª– ˜è›ëŸœŸ­žíñœjœ^Ÿ1 ç¡H¢+¢º£µ£Î¥_¥S¥]¥¥1¦¦Æ§Í§t§¦’¦í§0¦í¦8¦{¦—¦º¦ß§“§ä¨ª©3¨³¨š§<¦¢§M¨æª¨â© ©A«Ú­Ü­E­7¬ˆªð¨]§®§6¨1¦µ¦D¥÷¦‚¥•¦¦ ¥i¤£¢ý£¯¤T¤™¤¬¥£‚¢ê¢E¡Ã¡3¡w¡!š“j‘Ç’A‘'‘ô’š’%’G‘ݑ㒅“1“|“z“µ“Ç“ä”d”®”»”_“)“Ù”õ•z––B–?•«–\–Ä–¶–ˆ–š–•þ•©• –d–––K–•õ•Ò•È––Å–Ÿ–•z•¾•X”Ñ”–” ”ΕM•˜•>”¨”ö•Û•[•L•\•”ĕѕޕ”æ•‘”Ó•0–‘— –Õ–¼–ò–ú–®— —T—&—(—Ž˜„˜’˜L—Q–Ê–…–¡–Æ——Ì—ï—m—"—K–ö—2—¹—Æ—<—–Ë–­–ƒ–-••”þ”º””©”h“V“Ø–a—–”g‘Ö’>‘;‘6’=’‘°‘‘‘b‘”‘n‘Ñ“L“¬“W“}“p““)“ë“””l“¦“%”¨•ˆ•R–‘™Æ—ó—©—•ç”Ò–-– •@•N““¿“‹“ª””ø•²•¹–ö–å—˜„™˜{˜}˜í™g™Z™æ˜"–+–I–d•½”¡•ö–'•&•V”¾”¶•••0•/–N•Ε¿•¼”Ÿ“à““Ï“Ï“L“‰’Ó“ß— –ߔҒNxfo‘¬“õ–%–Ë–”ï”ü–(–J–•ô•¥•´– •”””"“§“Ù“´“ “œ“4““‰“Å”F”Þ•O”Ê”˜”g”@”§”Á”ЕŸ–É—I—p—ƒ—.——–í–ç–Þ–Ö–õ–É–­–Ç———.—–@•ð–•Ò•á–$–b–•²•=•”±”²••¥•ו~”«“Ò“P’ÿ’Ñ“ ““Y“L“.’Ô’¾’’’’ˆ’x’P’Œ’ñ“Z“’·’®’e‘á‘•‘¾‘Æ‘Ä‘š‘¨‘Á‘µ‘Þ‘­‘°‘P‘/à‘‘j‘ݑّđ}‘€;@´.¶ÉÔ³˜¦Ôóýð DW.c7^a¨ã­‰{tð§|oeF)VgvläÛm8ŽöŽÑŽçŽð*6F?&ŽðŽšŽ‚ŽsŽeŽnŽ"ǽ¶ÂØŽŽ^ŽÈ@v%ŽàŽ¸ŽŒŽ.é¼ qŒöŒkŒ:Œ¤ŠŽvŽüŽ Œ•ŒïœŽ˜Žß쉨ŒÏŒ}ŒIŒŒ Œ+ŒmŒžŒ¯I•/ŽBTéÑ’X†3ŽŽQŽ-Õy- `÷Ž‹ŽÇ%‹•nIŽýŽdŽŒŽì}e}"B&ý‘Á‘÷‘ ‘TËí¸NŽÑŽkŽaŽÊj’ƒ“¾’ÿ“’û’¼“ “r“k’ò’{’Z’‘Þ‘H‘cɧ«ŒÛ‘)‘¨‘‘Ä“l•[“ç•–=•—•É”œ“ð“C’D‘4‘Ç’"’”>““v’ù”D•~”)”•“’"’'“©“i““Í”[’ †%ŽBŽôYŽËèŽôŽŽà‘B} ŽÔއŽgŽ/‘X’c‘EjƒCª‘@’(‘“ha‘¸’Y’H’ê’Ò’`’â“7“–“w“¦’‘‘à“f‘ÝÃŽâ'‘L‘Å: ލŽnŽ_ŽŽvŽ)Žòסœ«ú@XŽ—ŽmŽAŽmŽ.ŽÜ[­ŽeŽû]C‘³“‘”²••”Ë”~”’”N“ì•U–X— —2–~–²–È—–Ë–£–a–#–•Ü•’•”–$–Š–R–`•®•¹•«•Ï•ê–8–£–––•à•³•×–•Ñ•}•_•••c•>•V•Š–_–]–,•Ž• – ––&–Ж±–¦–¦–u–æ–{–[–û–¡š‚›ç/œÌœï?¯ž2Ÿ Y¢N¡¡ç¢†¤<£w¤ ¤ê¤¤¥–¦m¦÷¦£¦È¦u§¦Å¦†¦.¦¦È§¦¨¦Ÿ§§¶§(§:§¦Æ¦æ¦½¨ž©ç©Y¨¨Aª¶¬‰­9¬£¬€«²ªC©3¨ ª}©¦÷¥§¤£½¢š¤T¤ø¤Ž¤s¤/¥”¥¥P¥¤|£Z¢€¢¢R¢} ™›×“_‘Š’—’/’<’ý’W’E’5‘å‘Ó‘ï’€’î“I“ˆ“Ü“ó”e”›”Δœ”D”†•N•w•½•Ø•û•ô–¤–~–I–@–£–h–•ã•À–e–Ç–³–·––/–^•à•ã•ç•k•$•D•%”à••>”å”Ç”²”ë””þ•³•z•—•ù– ”þ•~–•C”®•Œ••«––Ê— ——–ÿ–Ú——–Ú——z˜—ó˜—Ó—.–Ë–œ—N—ï˜)—ã—i–¾—A—A–——8—#—–Ü–u—%—D–•¬•±•á”Q”V•<•=”ó–g—^—«–h’ð’s‘쀑E’=’‘³‘i‘…‘Æ‘«‘V’“.’¸“0“ˆ“¦”+” ’â’Ê’¬“Á”=“~•T–}˜•˜l–±”Ù”’딕b”a“Ü’­’Î’t“"“0“ø”l•"˜X—¸˜…™¼™P˜Ñ˜æ™˜Á—ú˜¦—@•ž–‰–…•%”^”º•”®•3”ª””¥• •|•^–.•ȕܖ”¨“Š“J“§“µ’¡“3“’é”i”ò”’ø’d‘ß‘x“/“Á”Ö—•—Ý—x—‹—ǖЕ”¯• •ö–•Í•ý–•Z”è”<”“ö“ö“ð“ó“÷”n••d•”»”u”6”·”û•^–t—¦—·—P—––§–}–ž–ž–’––ǖš–{–¡–¥–Š–ô–¼•ð•‹•r•(•>•ˆ•ҕ•ˆ•ȕϕö•í•È•©•7”(“y’ä’Å’z’H’y’Ÿ’¸’¨’d’_’8’(‘ñ‘ä‘ä‘ô’ ’`’°’V‘‘°‘Så‘‘h‘;‘ü‘D‘b‘€‘P‘C‘J‘+ö‘Y‘m‘´‘ºV3?itóÉ‹:14i˜aW³¶ª¶óä ¢²»§¨oQ[f°u@?ŽñŽëanwé¾€49ŽáŽíŽùŽèŽçŽâŽÏŽÝŽ’ŽSŽúè×¥sm›ƒhm’ÚŽ#Ž”ŽîŽÕŽŽͲ…¡Á™‡Ž)ޣ޲ޙŽXŽñÝÞŽŽ-ëyn9¨ŽIEŒMŒQŒVŒÇ€¢ ŒÒÛGŽÖ1,Ê„Ž–Ž$ߎŒÞŒùQÒŽ]ŽŠŽ´Ž÷"*L7ŽìŽƒŽÍŽª1ŽËŽÒ#*Å—ì‘Ñ呋‘‘m˜#Ž'çŽhްŽÉú‘¦’ù“ “’Ë’Ž’3’i’k’§’P’‘ ‘U‘^‘+ÆŽ„Œaüo’ޑוë˜ñ—Ë•¿•9—•Ë–%”ô”ø“’§“C“T“E”‘–“Ù“’Ê••B•#•s•D’¹’A‘Ð’ƒ’>’[’“’‘r[ìŽ0ŽŽmIÕÌ2?ÿC+±r޹ŽOŽ‘ŽfJ’‘~ÿŽ·Y‘L‘8„ÿ‘|‘‘’4’ñ’æ’%’’^“ “^“¯“9’Š“ “ˆŽÐŽ‹Š÷K¡£ªŽóŽŽ|ŽÊ<ŽßŽ·0޹Ž[ñŽegŽáŽÅŽÁŽºŽZŽ/^mŽÖ Û‘)‘©’I“§”"”1“ⓞ”8“a“Ú–H—2–å–â–£–¢–Ù–Ç–+•Ò•Å•••Ë–)•¸•È–z—––[–––>– – – –3––]–S–J–•ü•Ã•Š•u•†•¨•Ÿ•€•§•ý–•Ü•ñ–––]–u––¨–›–è–â—–µ–æ–З<–÷”Л5›¹›¨œ…›êœ˜žiœÂŸG " Ù¡?¢Á¢Ú¢Ü¢˜£v£ö¤B¥L¦r¦ÿ¦ö§W§ø¨3§£¦Ò¦Š¦o¦b¦§¦¤¦m¦¦,¤Ñ¤Œ¥˜§¦ý¦O¦…¨,«”¦D¤0¨ÜªÑ¬b­`­Á«Ô«\©“¨Pª…¬/§µ¡žä Y¡¦£Œ¤x¤|¥'¥%¦ ¥¿¥·¤ý£ý¢§¢’£í¢Ÿ@˜?“2‘±’š’&’†“e’ù’æ’‹‘ë‘­ù‘8‘«’“5“Ï”>”l”é”î•”ð•K”ü•”ü•j•¨–A–c–|–]•ã–H–Ú–•0•𕿖f——–í——–ä•ï•J•$•&• ”Ì”•”¶•X•¤•”K”0”ÿ•L• ”û•ž•¹–3–­–•L•ð•À”w•••e•ñ•õ–G–…–ë–Ö–À——–Þ–¤——Ô—ó˜/˜†˜"—y–æ—ɘ[˜#—o–‰–=—Q—«•Ì–Œ–ë—8–ä–¹–y–¡–©•¼•Ö•á•ð”Ô“™“4”v• –ò—•–Ì––“ü’e‘%•‘¬‘í‘m‘‘)‘Y‘y‘¦‘°’*’Ž’ž“Š“õ”&“¾“”+–̘2–×”ä”ü•ê˜û˜û– ”À’þ’!“#”U“ù“G’Ê’¬’g’ ‘Ý’‘“}•™#™}™š#™Àš™L˜Í˜"–•±•q•R•÷•í”””û”w“Ó“i””z” “×”U”©”•3•ö•µ•“•“¥““b“¨““™“Γx“g“š“t“x““a“m”Ç”b”¿—m—à˜˜9˜@—Ö•¾”Ý”õ•/•Þ—0—–Õ—–å–o•é•r•L”¯”m”}”¹• ”Ý”’”o”ª”Ž”­”á•—;—¿—––u–>–I–A–<–#–4–I–'•î•ô•Á•D•”ó”Ó”ã”Ü”³”{”«••K•L•<•)•#••S•Š•r•$”¯“ä“6’Ÿ’t’N’+’!’M’I’0’’‘Ü‘Á‘‘‘x‘j‘W‘<‘X‘†‘y‘U‘@‘⺑ÕŘޑ#‘ ‘*‘4‘;‘`‘ÄlZêîèÓ£}•a<ŽÔŽÄŽÿt‘qYY@%¥‘™‘‘%ƉcZSòm ޯޮ޳ŽÈcÑêàØ¬’QQFŽÐŽ¦ŽŒŽTŽ+ýåÍ”K4Œê0(!A–äŽ[ެŽÔŽÄŽŽtŽƒŽ}ŽwއބŽÀŽõލŽ{ŽsŽIŽ—aŒòPP2¬B ƒŽZŽâŽŒÝŒ·rŽFw«Ž}âŽ>ŽéŽÛŽ2úïŒެދŽ$²7ŒÞŒ¦Œ¡ŒÚ¥Ž1Ž´Žæ69 Ž»Žš¥Ž޵Žú1«›§K‘9‘p‘m‘½grŽþŽõŽ«Ž~ޱ’£‘ô’ä’è’·’Å’ƒ’€’N’2‘”‘³‘{‘;eylŽB…‘À‘¶‘D“„’Û˜i— –5—l“œ”–¢–ø•¨–E”Ø”+“¾””Ÿ•}•9”¢‘ꑆ—•ê”}” •ƒ•S“Ê’‚‘ò‘Æ’’×’‘ÜzŽhޏÌ $q­VâæñmŽÍ޵…ÏúÌ‘m‘ …Ž‚J …ò‘%‘‘d’%“3“’ì’w‘¾‘”’)“’J‘†‘‘ ÃpŽï] žHa~ ÜxŽÉŽ”ŽGŽTŽ3ޏŽ?ŽÛŽ­=ޝŽUŽn޲|ŽÓ|bø‘+‘Ãn#‘‘Ì’G’Ì“.“c“Ì•»–o–£–Á–¤–¥–[–.•»•T•9•%•D•r• •Á–c–×—'—/–º–Ï–¼–L•Þ–&–…–m–8–"–•ù•ß•ï•ð•æ•²•|•b•2•A••º–G–(–,––– –¾–b–¢–ž—%–ñ–«–å–Ø–J–œ–/”·œ `œ$œœ#œ?Wœt›ež ŸG ¬¡¡µ¢y¢l¢½£P£­¤¬¥‰¦N¦1¦ä§p¨Ì©%¨Ü§€¦ñ¦Ö¦¦=¥Ë¥ª¥ ¥™¥8¤N¤¥¥>¥ò¦C¤‘¥ª‡¦(¤l¨g¨4¨c©È¬}­Ÿ¬¡¨°©T§ ªñ¨Ë ì tŸç¡F£+£Ü¤M¤à¥‡¥Ý¦#¥m¤Ô£¿£¤¤ y—f“Õ’|’“’n’\“8“’Â’ë‘Ö‘j‘B‘B‘¶’’Ɠ֔p”n”™•”Í•”è•3•”¦”z•q•¡–`–Ζƒ•Ø•q–i— –¿•ä––q––~–`–M–‰–ø–‡•Æ•1•”唢””Õ•„•¤––B•”•<–-–•Í–`–$––½—6–q–M–”‘•—•E”ò•• •z•y•ø–Ø–â–Ó–²–ž–I–t–Ò—”˜!˜|˜v˜—­—옘*—Ж»–¶—Ò˜9–›–ˆ–‚–©–ù–ö– –G–(––-•î•Ý•ç”ê“ ““]•–”B“•Ç–”©“æ‘d‘¦‘:‘†‘–‘…‘£’,‘ð’’8´‘±’À“Ë””[–—×̘B–ù–ä™›˜ñ–?•“F‘à‘H’“ “’ؑ󒜒²’’’Ý“4”V•Ó–Š•–—ªšA˜#—0–ƒ•7”„”=•‘•X”X“Ï•d”©“³““~”¯•)”u””$“ý”°••”•©•*”“’´“`“¸“«“¦“Á“^“í”-“¹“X“^“”õ•Ú–&–[–[——–é–ٕ㕞–—ª—Ö˜8˜—â—Ș —æ—,–Å–/•F”ΔؔڔÀ”z”’”º”º”O”/•=–é—Ò—=–»–v–B–#•ì•ë•Æ•£•‘•;•<”ç”x”F”L”]”d”¥”ɔӔï”è”̔ŔД¼””T”I”7””é•”Ù”>“[’“’e’2’’ ‘ã‘û‘Ñ£‘’‘Ÿ‘™‘0Ü«|…™ô‘9‘òÚ—mÁ^|Xr©æØî½ÂÁWúóßÂÌåÓ½æÐy=*Žñ(7ŽÊ#6;Žþlµ‘?Ú1 ôßÌrG7<Ž©ŽÙŽâ9ú þðʱ‹\bNŽýŽ™ŽDðØaZEŒõŒÿŒõŒêŒäŒÙŒÐŒíQ…ûŽYŽeŽžŽÁŽÇŽâŽÚŽ¿Ž¯Ž¦ŽÞ1Žðެ޲Ž|Ž”8ŒäŒåŒØRƒå—™òŽ+Ž9މ޽ނcæ µiN6$)h2ŽÓޏޑŽrŽLðž&Œ­ŒvŒgŒ}Œâ"¬ùŽ0Ž7ŽBŽSŽx޲ŽáŽ“Ž>ÜŽ,ŽÔ.]ùàUHj‘Ç@ã¿jKŽÏŽ{Žsê[ï‘)‘“‘sÙ‘)‘œ‘iÕ´œ½ÏŽèŽŽŸ¼0‘’R”É–Ž˜˜ •Þ—…–P“Á•ð—7–•ä•X” ”ú•/–—•¬•̔딒K’Ò—”0“ ”e••”c“Õ‘í’è’…“ ’5‘Б"í{(éiÚ‘•þþ2 [ÆÞsŽ´7JkåçŽþl[“ ‘k’P’H’+““Γ/’ý“†’½‘¹‘ú’·‘/Éè·BH v†â˜¶ä/b?ޏŽzކŽOŽ)ŽÁŽßŽPŽŽ˜Ú%ÏùÎxè‘,‘­‘Ü’‘v÷Oב’(“-’û”n–(–$–`–{–A–.••/•6”î”â”é”Ê•• •­–q–ú——k— —–Þ–|–T•ì•è•ä•ÿ–5–›–v–\•ñ•••*•d•'•!•j•Ø•ó– •V•A––•–4–s–š–™–©–º–ï—–>•ê•·••”@˜4›€Œœ*›éœOœ,›‹‡Ÿf¡?¡Š¡s¢¢H¢h££†¤a¤¨¤è¤É¥ç¦7§G¨0¨…§Ÿ§’¦ê¦;¦¥¸¥a¥5¤á¤Ã¤¬¤Ÿ¥E¥Ï£¿£F¥¬§ß¤Ã¦!§&¥s¦Ï¨Ž¬¬a¦¢¢ §p¥™ªK¨Õ¡í¢g¡ Û¢££Ë£½¥)¥¡¥ˆ¥°¦|¦ž¥ä C—¯’‡’ô“Ú“â“§“k“™“’\‘ã‘v‘ ‘B‘k’}’ü““ȓÓô”V”“”ÔÔޔÀ”º”¾”L”~•¿–H–É–ã—–Š–m——H—h–º–‘–Ï–y•«•_•‡•“•¾•Á•t”Ê”˜”h””û•º–~–=–;–v•ç•‘••–Q–Š– –›–w–h–Ž—.—=—;–à•}•<•g•”Ç”‰”הϔ™•¨–z–Ò–Ä–¬–d–g–o–Ú—ƒ˜˜M˜!—û—ʘ+˜g˜d—x——И—5–µ–ø–Í–Ï–Û–½–v–/–1–!–ΖԖ•¬“Z“f”­•%”)“‘e’1”œ•|”ß“&‘¨‘œ‘+‘À‘’‘Œ‘à‘û‘ó’‚‘È‘õ“S”©•"•¼—z˜œ™8˜M•[–5˜¾™O˜#–R•L”{“‘þ’9“&’2‘!‘à’ó’e’~‘|´’}‘*‘¿–k˜ç–¼–¸–}•*“Æ’â•–¬••“˜””O”¬“f’æ“¿”Ñ•7”­”6”=•x–B—&–è• “´“Ÿ“2“/“a“Ë“à“¯””³”D“ž“«“‹“ϕ֖ë—0––&•u”Ø• •+•S•a•§—Ž™˜ó˜i˜{˜‰˜µ˜y—É—\–”– •€•„•ϕΕ®•\•s•n•v•Ò–Û—æ—w–“–v–"–!–.–•Ò•i”ì”ӔϔÔ¬”“” ”ª”ƒ”z”x”V”m”p”O”“Γž“{“6“8“r“u“Å“ý”$”“œ“’K‘á‘ñ‘÷‘è‘Í‘œ‘I‘.öÚØÉ…G$…¸®ŸÁ—[DH1+ë/n^hezj0 .ЬâÄfŽéŽåŽàŽÜŽæŽóŽûŽí"+0dUÀŠÄløíÀ ¤sRHŽÏ/o¬æÿΓ>FŽûŽ_ð”|wi\hŒùŒòŒðŒéŒËŒ·ŒÐ 5oäŽBŽ‚ŽºŽÔŽÓŽÂŽµŽ£Ž›Ž¿Ž¹ŽŸŽhŽ~ŽQŽ!ë~+ŒÖŒ¼ŒÊŒÜ*t¤Â ¸ÜÏÉŽ(Ž=Ž^Ž]ކޠŽÀŽºŽrŽ;Ž;ŽeކŽtŽ;Žîé½ÀŽ;Œ³Œ~ŒŒŒ/ŒrŒÁ.:Sho‹ÜŽ:ŽaŽNŽŒŽ—ŽŠŽÏ _GQB[(aâŠÌV/ŽRŽëùdz(Tr»Ž¦ëŽŽ4{vŽã;ŽíŽ…ŽIÁ‘>S”¥™=˜^˜G–µ˜ ˜K•–p—˜—•“–ˆ–T–2—“—–*”>”0“­‘h’}–ƒ–“V’­”–Š•¡““”’Ú“Ï““s’/‘›‘ž’ ‘¾‘¥•Ì‘?‘cÄ» Ž‰ŽƒwŽ{Ž·Ncµt“4Žën…µ$—‘þ“S“!’¼“œ“r’˒ד擨’ô“H’~‘ØŽ´üÇèÌŽýÓíÇ-ÿ’u(ŽÚŽoŽzŽ–ŽIްŽÉŽ‹ŽCZúÅ‘‘¼‘€‘Ó’?’’‘SБ-‘d鸑Y’†“D•t•Þ•ê–1––H•÷•Ö• –J•á”y””” ”••Ü––¯—Y—k—J–ú–0•õ•Ì•ù•ý–V–X–'–,–H•™•—•a•d”Û“œ”‚•€•A•›•è•y•³••Еt•ª–?–…–°–¢–C–l•‰•”•“y““°•k˜\SœžœœŸœÓ›ßœ°žÏ h¡B¡Ã¡M £¡¢¢ £?£S£Ø¤4¤ ¤¤Á¥[¥Æ¥è¦•¦­¦Ä¦c¥Õ¥C¥P¤Ê¤Ò¤ç¥|¤Á¤R¥T¥©£î¢££¥Í¥³§¥ï¥þ§E¦–¦þ¦º¨ë«€¬L¥Ô¨“¤â¡Ã¢4¡dŸy¡M¢°£¹¤l¤¤è¥Ã¦¬¦S£çœ¢“Á‘“ì”0“ѓՔC”“d“ ’‘µ‘t‘ˆ’’Ï“[“¨“Õ“˜””.”T”p”°”æ”¶”i”(”ø••¯–!–S–Ç–±–Ú—)—=—:—–ñ–´–q–m–+•º•P• ”÷”}”h”m”A”G”N”Ü•T•ñ–Œ–·––z–4•¤–\–÷—–œ–È–æ–f–Ñ–¿— —W—;–ò••6”¾”â”Ô”³”ë”ß•C––…–“–°–ž–l–n–Y–×—”˜˜˜ ˜?˜k˜Ê˜[——˜˜_˜ –v–f—#–Ù–¦–¼–€–a–:•­– —S•ý•^““I“ê”J”$”r“,YÙ“D”=”½“g’²‘¶¯‘V‘‘‘í’‰’´’2’J“C“•D•á–®—ø—{™E™¢—L—¦˜»—‡–•4•Ë––•ߓ”Y”(“,’’W‘½’«‘f‘ø‘òì‘““•’••q–h—:”ï“ “œ”––A•ô“™“•”†”甈••p•k•”î”f”a•y–­—_—{•ø”?”“Å“®“y”2”w“å”ô•[•B•H”§”)”Á•¾–H—?—[—i–$”`“»“ï“Δ”‘•:–Øb˜¤˜S˜ ˜¬˜4—ä˜R˜s˜Š˜h˜²™ ˜‰—è—&–Ζº———õ—¿–á–t–\–•ÿ•¬•Ä•ˆ•|•”Ò”ð”Í”¦”¢”Ê”º”~”L”“æ“…“1“m“ˆ“s“=““&“V“N“4“e““Ä“®“i’ú’L‘ǑˑבǑº‘—‘~‘V‘â†f3 ßæB@Zv‚|qdŠg<Ä®°ñ÷ÿ& >GæÆ¼²…>ŽòŽÖŽÍŽ­Ž¾Ž¿ŽÄŽÈŽê޵ޅŽUŽ·ŽìŽÝŽòŽÞ“O"ø¶i`U/%`£ØëÁÀݰHŽÓŽÝŽ»Ž:·‹†nSŒçŒíŒòŒÔŒ»Œ¦Œ¸ŒíFÏíŽ'Ž:Ž?ŽLŽUŽ[ކހŽPŽôîúá¾uŒÃŒ—Œ¨ŒÍ+™ßàÏŽ Ž ŽŽÝΞ}¹ŽŽˆ_zƒ}iuF:#=3ŒÊŒ’Œ(‹ú‹¶‹«‹¢‹¾‹ßŒŒKŒ^ŒuŒ^ŒwŒž ‹ŽŽ"ŽŽ)ŽhŽŸŽÒŽÕŽÿŽºŽ—ŽJŽ|äмûëË1G ŽÏŽÈNÚÌ——˵ŽÊ9.=ŽKŽŽË ‘~ê’(–™˜f˜8˜e˜@˜–º–^–;”–È–M”‰•<•š–¥–••0“°’ÈèV“S’p”×”Þ•®–Ê•“Ê“‘“`“#““8‘Ó‘ý‘Ÿ‘Ù‘Ý‘q‘@‘$˜–XTèKBŽÀŽNŽ; ;XRSÒ_iÙà““ù“s“Ž“»’ö’Æ’_’w’i’ ’Sã$ËÐM©I¾ä]ò‘â¡«QD•ŽÄ޲Ž{ޤŽíŽ‹ŽÛŽçYw‘º‘­‘ä’=’V’<’X’ ’‘î‘p‘O‘#ݳ‘%’&“ “˜•;•²•â•é•ï– •»––I–F–N•!”]”U”Z”X••••¿–v––½–Ó–f•Á•a•}•”––"•Û•ô•ü•Ž•E•”ã•••{•‰•v•ƒ•“•1•l•o•Y•m•”•×–•«•Q”w”k”Û”¬“@’Õ’“6•¼–š˜Ýš›8› œUœ AŸ~ ó¡§¡C ± & ­ Ñ¢1¢Ð£—£ø£ì£÷¤¤Ý¥s¥+¤¢¤ø¥`¥;¤W£Ñ¤T¤3£Â£ï¤g¤0¥ ¥F¤Ô£9Ÿž¤´¥$£³¢ü£Ö¡¿ž0œšŸšª®ó¬¡¤Æ©ý¦!¤£ ¥ž? «¢P¢ü£ù¤D¤õ¥|¦•¤ížß–“”Q“ü“z“Ç“c“$“,“S“–“U“8“’Å’à““Ê”“û“ä””(”¥”Ü•”ܔޔ+”/•.•Ç•¡•Ò•â––^–|–¸–¯–ƒ–U–%–• •»•c•”Å”t”ᔜ”j”ˆ•8•m•9•‰•v•Ж8––9–(–.•Á—M—Š—–ö–£–ê–¶—–ë—.— —A—¼—8•þ”ê”è”û”é”°”Ë••Ò–h–§–Öô–Æ–Ä–®–ì–ý—P—›—•—ß—ö˜b˜Ê˜Î˜˜.˜k˜”—?–@—F—^—–ø–œ–Ž–x–-•Ì–ˆ–•€“I’'‘'“]” ’¥‘Èû=‘R‘²“·“®’u’+‘„‘.‘p‘¾’B’X“)“,“|“º”T“𔸗¥˜&—s”Ԕߙ7™”—*”ð” •œ–•Z“§–•£”e”C“k“²‘%‘F×@‘‘“‘é‘ú‘·”“Õ’Ä”X”N–W•@“”Ï•l–/–®”ê“r“¸”Þ•_”û”¹•"–Ø–¨–=—˜m˜—U——*–ˆ•¨•W––e–•œ”÷”â”…••É”¡”I–<–®–ô—•ø•|”ó”â”ЕG”“””š””Ÿ•p–´— —Q—û˜²˜Ï™5™ûš-™ ˜ü˜ø˜‚—î—Ê——´˜=˜g˜/—V–Œ–;–'– •ò•í–B–T–•‘•k••”ÿ”ë”ÿ”ï”ã” ”D“듵“»“Γ²““Š“\“<“V“R“D“$““?“>“’©’&‘Ù‘´‘°‘È‘ª‘¤‘“‘Jü¹}M&å®ÎÛ,]––iQ~2Ÿ³›žç+'17=5ß©p'ŽþŽËŽ¿Ž™Ž‘Ž}ŽPŽOŽhބހŽ.Žް޾ަŽÌŽùh¼ä!ô¹…;ŽäŽãŽÙ Oe‡w‹€v^<ŽÿŽóޛޓŽÂޏŽNôÈž…„Œ£~T!ŒæŒ×ŒÔŒù^g³ÅÏÌøòàȦbMc:8.ŒôŒËŒ—Œ…ŒˆŒåcÀŽ6ŽyŽIŽ€ŽyŽ7ŽÓ§fk€KŒúŒäŒèŒÜŒÒŒÅŒèŒåŒÝŒåŒòŒŒLŒ4Œ‹û‹¬‹b‹d‹H‹C‹Q‹_‹ž‹ÅŒŒIŒ®ÉŽê뎎EŽ|ŽmŽ$þÓaÈ,ŽÌÇ‘ ‘¨‘d‘Y‘wØOæÙÈqD~TC uZãYމióÑz"•N—j–`™™Ú™$—}–¶—~˜.•Æ•-”ï•z— •”O––•“}’µ‘À—’»’”]”H–”Æ’+“ ”L”“ ’ü’𑦑©‘i‘”‘o‘‘I±`šÿ|¸bŽcމމNލp‹0·]‹NÄp÷‘V’õ““z”O’©‘Ð’z’f’3““R’“OŽü5á Àl ‹LŽâFÛ8±rùŽU﹎eŽèޮޑި‘á!à’’P’M’X’ë’£’Y’:’‘ç‘C‘,‘0î»’’§’𓯔–•#•b•‚•å––]––&•ä•Ñ•™•F”Í””ö•”ݔƕG–A–š–r–9–•ž•V•x•Ù•ø•œ•”ý•3••7•C”ï”–•I•‡•g•••-••b•£•]•.•i•s•\”—“ï”B”w” ”a’æ’y’h“w”ו…—JšëÒ‡žœ¦°ŸÉ š¡¤¡¡ ¹ G ¨ H ý£†£g¢Ñ¢ü£¬¤ ¤.¤¯¤g¤Q¤¸¥4£+¢ž£<£b¢Ê£¢«¤q¥Ô¤™£yŸüŸ`ŸÑ¥`¢ð¢4£FŸ™¬˜l˜èœV£à§«ìŸ7›Û™™]šZ›OŸ¡ž£q¤2¥¥F¥6¥€Ÿ§–Ø“ “擘“t“ï’ñ’&’^“"“ˆ“w“D“w“t“¯“¥“Ë““}“…””4”{••a•S”Ý”Š”w••,•a•N•@•¬•ì•ì•õ•͕ԕϕ…•&”·””˜”7“ø”””é•3•”Ö•K••­•Ä•ž––X–™–p•å–2–¹—²—™–À–Ò–î— —"—(–ö–ü—&—G—,—v–Ë•ý•_••”À”é•'•²–&–µ–Ó–÷–î–é–Ζۗ!—<—ƒ—±—ñ—÷˜`˜ˆ˜Ê˜ƒ˜¯˜õ˜ù˜W–[–¶—Ž—¾—œ—5—–‡–ƒ––[•”“–’N”]”“A‘@‘ ’o’H“i”—“v’ܓʓ‘Õ‘Í‘§’7’P’¿’¥‘©‘’V“ü•—˜Ìšn—¦•™—¾™¥™;˜¼–Ï•n•?“®“R“l•Á”Õ””3’E“µ“Ù”“î‘iñ‘U’ˆ‘Ós“1’†’ÿ“y”Ù“m’~”M•ñ––§•°“a“*”‡“ä“X”(•’˜i˜L—n—阑˜—¦—Зø—=–‘–È–{–0– •ù•û•$”•”1“²”•5—蘗Ɨ+•›”K“Í”`”4”^”Ö•I”Ü”U”“æ”M”Å•Á–ù˜p™©ššIšE™Þ™˜J˜V˜x˜I˜˜˜¨˜ú˜H—^–Ó–K–9–=–•ï•õ–<–•_•M•”ê”הҔ䕔ù”¬”[”””“à“ä“è“ì“ߓ˓µ“„“L“,“’é’ô’±’…’Q’‘ᑼ‘¯‘‘›‘k‘C‘ÚŸkBóÀÃD1Yš£oPYM–G둬Ùô /J\xsi=Ê…=ŽöŽªŽ~ŽcŽHŽ<ŽŽŽ"޹¼÷ŽWŽuŽgŽcŽÌŽó_€ ›CŽîŽåŽÛ޻ީޢ޵޲ŽÓŽóŽþŽìŽþŽÁŽÏŽÌŽÉŽ­ŽŽZŽZŽ Ž"ÿŽŽCŽVŽaŽMŽEŽBŽ@ŽõÓ¥ŠF'ŒÿŒ÷ŒÔŒêŒû& I[dW\4ŒìŒ×ŒÌŒ¨ŒŒpŒEŒ4ŒXŒ¡ ¦ŽD޲,.ŽôŽÙ޵ޡŽJ¸QŒÊŒŒxŒ¨Œ½Œ|Œ\ŒaŒ‰Œ‚Œ•ŒÀŒ¨Œ‹ŒQ‹æ‹Ú‹Á‹¡‹±‹ô‹ø‹Þ‹­‹s‹4‹ ‹0‹—‹ùŒdŒï¯ùðñëñÒÞȪBŒË\Ž]»‘‘>‘`‘H‘z‘e‘ÓNMöõ|hvU~–²‘‡Ž&Ž´‘“à‘(“]”‹–p™ƒ™ï™˜A˜C—e—õ–Ä”U“‹”•”1”z•¤•5”X”‘’ñ’6‘¹’KA¥‘–“l’î’0“.“„“—’Ø’’’’‘Ô’‘Ý‘–‘¹‘LÕˆ°l­¦óyŽÈ,^[ހ޷'…òŽõq.¨ó‘N’2“]’›’s“’*‘u‘J‘¤‘%’’í’UóކÃ\`ŽôŽ|ŽtŽÈ1ÐògϨ÷OÑÊ­þ;¶Î1ê‘\‘t‘ö’¤’’‘’¡’£’À’¯’x’?’C‘Ž‘·¢Ù‘á’Y“” ”‘”¹”ö••Ç•ï–O–•ù•Õ•ˆ•Y•/•”é•!••••G•ó•ð•ß•æ•Ñ•W•S••E•|••1•€•}•”ϔ̔ٔǕO•ž•#••”ý••s•L”÷•E•x•¬••…•@•‹•¡”¶”Ó“Ÿ“.“ä–!–•Á–™B=œ+›'œYàŸu¡x¡à¡­¡   ž¶ž C¡¡  ” ¬¢ ¢¬¢¢Ï£h£¤„£¡Ú¡n¢C¢A£¢L£¯¤L£¢* '£T¢¤ ¢ Í¡ušh—E™™Ä›Æ¥ý©ë®µŸR—ÑœžqžË“žžÝ¡¢ï¥3¥`¥·¦‡ ¢—’L“p“Ú“Œ“ì““s“Ô“¢“¡“[“J’Ì’Ò“´“ë“ȓӒm’O’É”;••s•y•“•O”þ”ù”ý•8••!•;•b•˜••o•c•• • ”Û”O“Ô“ú“ٓؓ“唤•r•”n”}”ÿ•˜•õ•å•À–S–»–î—‡——?˜e˜—Ÿ–ô–”—— —]—S–Í–È— —D—U—p— –­•”•F•v•J”ì”ã•m––£— —B—L—R—p—C—J—H—Ž—˜—Ú˜0˜<˜e˜Ê˜ä˜ñ™™™—&–è—ƒ—³—©—d—l–è–(•‡•z”” ”S”‘«“÷•””¨’7Å,™“<•Š•!”w”7”$’D‘œ‘¬’ ’×’Ö’kõ4â’f“˜––¾••Æ–†——ò—±—Ÿ–¤•Y“Û’Å”N•u“ë“”’X‘u“;“5’ >Žó=™œ‘¡‘8’‡‘ì’j’’ï“m‘ú‘Ä“‚••f•ø•µ”ú”“z’唿–——d•è—í˜4—Ì—û˜=—Ÿ–•Õ– –m–&•ž•¼•Ö–––”–ˆ”¾”•Ó—Ô—þ—å—ø—'•” ”U”^”:•=–y•‘”J“ ““Ú”:•`–[—˜‚™–™Ï™‰™˜»˜ ˜˜^˜6˜ª˜¿˜ã˜ú˜}—ô—I–Жz–L–•ð•ø•õ•ê•z••• •#•e•k••i•:”𔣔Y”m”p”e”Š”š”k”4“þ“Û“«“m“.’ñ’ô’ü’ö’È’q’ ‘Û‘Å‘¬‘†‘v‘>‘ãÌ´{DAQz…›Ÿ‘³|f>˜‘$ÌÈî'B[xŠuwRBïŸWŽÑŽ•ŽvŽ1ÿÕËí¶d$;X•áìÀÑŽ^Ž£ŽÓK€Z)Ž÷ŽÀŽ“ŽŽTŽAŽ>ŽHŽIŽ3Ž[ŽKŽ'ŽŽŽ/Ž&ŽVŽƒŽ‚ŽFŽRŽKŽcŽuŽ˜Ž¬ŽôŽôŽçŽåŽÐŽ³ŽŸŽtŽ'ݾu0ŒòŒÉŒ¿Œ³Œ½Œ¿ŒÃŒÎŒèŒåŒâŒÎŒ³Œ“Œ—ŒgŒJŒ%Œ#ŒŒŒDŒrŒÄ5掩.¤šD;ŽœŽ ¶/+ŒýŒšŒxŒzŒšŒ ŒvŒzŒŽŒÄŒèŒìŒÂŒÕŒÒŒ²ŒWŒ‹×‹°‹²‹ôŒŒ‹Ç‹Š‹R‹‹1‹—Œ3Œ£^ïŽ.Ž ÒŠŽ’±‹dŒü ŒÙŒ™£Žr—‘c‘‰‘Æ‘g‘T‘W‘±C0"xµò‘.ß‘*ï_ŽÞËŽYSà•¥”ו$˜>™M™Ø™‡˜-—5–p•|“ã“ß”]“Ö“-“‰•ç–••“•<•r“’_’F’4î‘’ú“!’Œ“ “@“{“›’û’¡’7’%‘Ö‘á‘¥‘€‘`‘f‘YÔ¹©‘Ù‘÷‘&¡éã"ÊŽõŽMŽä‘*‘=ŽóŽbcŽÑƑ̒O’B’½’L‘d¸‘R‘@ô‘²‘p’6’[’àÏŽø.ŽÆŽSŽ*ޏŽàŽôaŽÂŽX’‘%Ò‘û‘^‘y‘¹‘ÿ’ ’Á“N’Î’¡““`“s“‹“Û“µ“Ý““’±’q‘á‘B‘‘:‘t‘·’¤“ú”a”]”K”Å•••¶•Ø•ö–•§•\•”ݔ͔ä”ĔԔ¤”Ï”û•‚•••›•³•“••^•,•R•‡•w•”å•• •8•+”û”Ô”ì•8”ê•”ò•,•?•z•=”È••••™––j–C–5•Æ•e•”ê“x•l•Ë–2–Q˜œ#ž®áVœ×ž   /Ÿæ Á @žôžÒœ°›n8žÂž4nž$žxž™ž–  Ž [ Ï ôŸ;Ÿ/Ÿ° ª¡„ uŸ€×œ~Ÿ¤¢Q¡¢ð¡ã § M˜N–阽˜‹™j¦Uªb­¬« ©U¡Ÿúžëœœª q¢Ò¥i¥%¥!¡²–E’:“Ô”R““æ“â”!”””L“ð“È“1“/““@” ”I”z”°“{“Q“ß•X•ç•c•y•\•I•"•$•~•M•Z•[•D•n•X•$”y”^”(”ˆ”›”B“è“ú”T“ì“®““”Í–:–ã–Q•t•.•T––…– –s–§—)——Ò—á—ñ™˜‘—½—w—"—t—I—o—S–©–­–ö—(—g—R—k—•Ò•”•×–!•¬•²•Ê–!–J–¨——‡———½—©—‘—”———¾—ô˜˜(˜Š˜Ü™S™Ÿ™°™O˜“—–Á—7—>–ñ——–‚•ó•®•”®“†‘¡”›“}–-˜¢•$“Гp‘-‘Þ‘;’w”••Ä•” ’›‘‘ù’’ ’q’p‘›¸Å‘’’O”†”³”`–&–{—£—ö”Ò•-•ª•i•• –Ò•V“ä“‘““¤‘W‘š#‘‘É’±“ ‘‘lÖ’ª‘ú‘É“3“u’à“Ì”I”ç••/•¹”Ä“P’¯“—”˜—˜+•µ—7˜—Ó—A˜6˜ •ž• •“–_–ð–•ß–•±–2–¹—H–‘––f—C—…—,–Ú—p–H”B“Ú”·•z—;˜Š–Ŕ֓‹““T“‘”b•<•¨–±˜€™l™¿™k˜ó˜ê˜³˜a˜P˜Ì˜ç˜ó˜ì˜¦˜)—f— –·–‚–c–•Ý•°•ו³•M•c•‚•¦•ȕؕî•è•Í•‡•Q”ã”Ú”Õ”¦”Ç”ô”蔽”Ÿ”X” “§“l“D’ü““ ’Ö’„’&‘ò‘Å‘¥‘d‘k‘Y‘9ûì‘õpxÂü‘'‘&‘)ßÛÉ« ·ê±f< DIV}˜¯¢¤k(Ù¿m8ŽÙŽˆŽ0Ž ñÓôLj4")']zD/uáŽbŽŽŽ­ŽûŽíŽÍŽ{ŽNŽ"Ž êïüŽŽúŽãŽ Ž ŽŽ^Ž}Ž‘Ž¢ŽšŽ›Ž¿ŽÚ T1<"3ŽõŽ™ŽcŽ)ã¶u=ŒÚŒªŒ—ŒmŒUŒVŒ^ŒiŒsŒuŒyŒ“ŒpŒMŒ‹ú‹ç‹ù‹Ñ‹þŒEŒ‰ŒËdŽIŽÌlÙð†Ï±ŽbŽ‘[ŒÌŒ“ŒŒ­ŒéŒÞŒî=OŒ÷ŒþŒÙŒ‹Œ)‹õ‹ÐŒŒ9Œ‹ä‹£‹\‹.‹o‹ìŒ{ŒÛŒëŽ!Žó¿¯•šÇÏÁÁW颒ú‘O‘¥‘¢‘‘‘*{&OWìó‘ ‘‘ˆ§ŽÊŽ Œj—UK=”‡•+••˜T˜¶˜å™—Ù– •u•“»“3”••h”›”¤– —–¸•p”’‘1‘Ä’ž®Æ’}’õ’¾“8“¬“Ÿ“ë“1’–’¼’n’’?‘ß’’Q‘Ñ‘Ää‘’L‘"4>—ÿäŽÊŽ‘ÖŽ¶ZˆŽH¤L^‘³’»‘ù‘–‚M¬E‘’_’“c’`’ù’ ußÝ™Ž%ŽŽÉŽÚbqŽ¥ŽÄŽñÍ‘.‘°’<’“-’ö“<“Œ””!“Û“æ”k”F”…”¡”¡”v”³”j”L”-“ד‘ü‘Þ’Š“ “T“³“÷“÷”N”s”¾”ú••P•ž•©•ꕉ•2”²” ”‹”¯””¿”‚”‹”~”Ç”à•?•t•y•'•-”ʔ̕•o•l••'”ü”›”ٔ”ç”û”ß”þ”â• •5• ”ΔŕM••{•Z–'–s–T–Q•·”Ý””M”3–Õ•¯”ð•–ƒš_Ÿ¬ žò½ž”ŸWŸŸ¦ŸžÖž¹ž-›}™•šz›ç›Ù›ä›Ï›Šœìœ ~žÅž?ž•ž»„¼žŸ«žžŒ›i•ßÛ †¤,¢b W –ŸÂ˜Ê—J—‚™ j¥¿©+ªÖª†ªj©£¢Û ŸŸŠœ\›üŸ³¢H£‰¥j£õ›]“+“攓’“ç”” ”f”””%“Œ“?“v“¹””3”z”Ï•”à”ä•'•“•v•c•S•I•p•J•O•Á•œ•Z•²•Û”ü”£”>“]’ý’“[“Ô“á”1”P”•”§”›•m–ë—ܘ,—e–M– –<–•–Á–ª–s–g——R˜;˜h—Õ˜(˜¿˜a—å—œ—š—ƒ—]—K–ã–Ô—L——”—œ—x—3–x–-–+–0•²––*–ª–¯–Ÿ–É—•—ú˜˜—í—à—´—õ—ò—ö˜N˜¶™!™‘™Ž™P˜Ü˜*———l—D—(–ŖΖè–m•²•©•/•X”+Å”_” ”}˜Œ–ý“Š“ê’æ“—’!ç‘5–•ì’‘ ‘,‘P’ ’4’‘É’‘y™v‘‚’d’ù“­”÷–˜™¹—¡•L“õ“Ò“¯– — ”ä”Ï’Õ“®“ƒ‘ò‘¬“{•“A‘£’’“D‘¹‘‘¹ÔH‘±’x’“Z““n“ë“÷•‡•‘”$“X“m”³•ù—$—u—?˜<˜š–°—}˜µ—]•Í••a–2––h–û–±–>–ª—'–`”ÿ••ü–l–i•D•§–È–Š•z”‡“î”B–=–ÿ• “Ò““.“@“ê”ß•¶–^—«˜Û™¶š ™—™^™F™˜Ì˜Î™™˜÷˜—ï— —5–ê–º–Ÿ– –_–4–|–x–•Ó––+––:–:–•¯•°•§•€•d•e•P•!•(•8”ê””R“ü“˜“O“!’ú’ä’¹’†’h’‘‘ڑБ·‘–‘y‘&‘‘!‘S‘L‘S‘'‘‘2‘l‘Ž‘ ‘‘D‘P‘A‘'‘îøÓ“ª´ÑÓëÞÍׯŸh@¬^ŽùŽÎŽ€ŽMŽŽŽ Êz&f£bŒÂŒÅ6ÄŽCŽ}ޥ޾ިŽáŽÓŽóŽÏŽ¢ŽtŽ0ŽáÌÎÂéûŽŽŽ-Ž1Ž,ŽKŽiޤŽãAab?j{U;{hvK/ŽíŽ¡ŽVŽߤzDŒÒŒšŒ`ŒDŒ2Œ2Œ+Œ/ŒWŒbŒ]ŒUŒ ‹ô‹õ‹þŒ‹þŒ/ŒYŒ¸“çŽ\%ÏBéQŽÙŽwŽ ‘> Œõ+”© U>¯œ†XIPP,ŒìŒŒ:ŒŒ‹Ñ‹»‹|‹~‹žŒŒsŒî{쎎ýîÂÀŸÃŽŽ<Žxބބޖvr|ž‘5‘l‘‘a‘<‘¢Eöñ0ƒ‹¼è‘ÃhŽeªŒ=Œc}qo“ѕĕO–——Y˜˜n–²•§”ò“ö”8”å•b•ž•Ó—6—q––•“É’ˆÙݵ‘, Ó’g“ ’â’›’ñ’Ê“p“U“*“â’Ð’q’Ó’‘â’@’=’ ’7’f’»“§‘H:‘ ºÊxŽÛŽÕ޹ŒÍŒå¼€Âìæƒ’…’Qr¯ ë’ד“(‘¬‘d’—‘‚ š‘k“$ª]fö“=Ž ŽEŽú ‘T’O“J“p’Õ’¼’:’“¥”D””€”x”º”«”›”¨”Ñ”¨”Þ”ó”蔵”•”Q“ד£“¼“¨“›“¹“¹“ö” ”q”ž”·• •,•‚•q•š•"•9”Ý”Ž”]”w”A”4”7”R”B”x”\”}””֔Ĕѕ •=•”ì”^”M”Ÿ”Ñ••!”Ù”š”²”Ò”º””锰”𔆔§”ç”þ•Q•’•l•Ž––m–<•­•3“'’y“œ—,˜–”§–1™œže Qžûž,ž†ž“žYLœ÷œãœ—›*š6˜ó˜Ê™n™ïšÕš™fš:šßœ“œ"œJœšbœT›Íœk›œ ›ŒœÎ›±”E›’œ›£à¢/¢1¡»žU˜ì˜>—ÎšŽ£I¦€¨k¨,¥ª¨8«U§'¡G휜ažo¡£m¢dšÈ“ó“2“å“§”@”$“ß””$”(”“³“±““»””P”Š”Ï”ç”Ï”“••”•“•®•¥•‰•Û•/”ß•w•²•ç•þ–L–g•3”z”“y’ö’s’Ÿ’«“ƒ”™”Œ”¥•h–3—=˜˜˜˜…˜9——O—7–•–8•ò– •Ñ•ë–}—~—X–Öėà˜H˜f˜}—ô—°—P—0——-—`—¬—~—[—$—q—%–Ë–¹–“–,–K–£——[—–––å—p—̘˜˜—þ—똘D˜z˜é™Q™:™,™ƒ™m˜€˜]˜–w–:–ñ–¬–‰–N•³•£•“•W•´“ë”V”j“p•$–~’Ÿ“y””g”Y’.’ ”Ë”¯‘RÀ’#‘™‘l’ ’f‘ƒ‘º‘ÔŽìZ¨‘E’#“É”W”ЕݗR–´”M“T“¡“P•a–•e”:’8–„•2”0•B•A•.’¼’˜•“’’ב’’‘ ‘‹‘ã’h’¹“‡“Œ“K“p’ô’-“ü”Ç”3“„“C•”8•9–Ηa˜,˜H˜l˜,—–¦–Ÿ•²”$“¾•¨–ä—Y–ó–4–’—–é•Ù•‚•K•4–(•ô•Ï––P–r–A”ß“F“‰”Ñ”Z“V“z“¥“¦“Þ”Y•½–t–_—ç™=™m™”™y™˜™:˜—˜)˜ ˜‚™/™.˜S˜—¹—¥—P–õ–æ–Ö–ä–÷— —–Ù–ò–Ö–«–‰–z–{–$–)•ð–+––•ü•ܕؕµ•U•A•”£”1“ò“š“a“’ä’Ä’³’™’N’’‘ó‘ܑԑʑ ‘q‘<‘T‘v‘ӑёÑȑߒ‘á‘æ‘§‘’‘§‘Ž‘–‘c‘ ò‘‘ ‘N‘H‘a‘Q‘D‘M‘F‘0‘-‘)è‡TªT޼Ž|ŽOŽUŽUŽ6ÄP9I·âcŒ½ŒËXÚŽKކ޹ŽËŽÇŽúŽéŽ~ŽyމŽ1ŽêÎÄãðŽŽ.ŽŽ@ŽfŽ¢ŽÌk›¡¬”‰ˆv|€q\G4 ŽÔŽ‘ŽqŽ5ŽÃ<Œ·ŒŒXŒ'Œ ŒŒŒŒVŒrŒeŒGŒ/ŒŒ1ŒFŒ1Œ ŒTŒÓKÇŽŽÅ0¢þ=‰ƒ!ŽÊŽ[ŽÞ­~±ãÂegkRMŒ–Wvv„K Œ¯ŒŒŒSŒ/Œ Œ.Œ5ŒŒŒÜ5£ŽŽbŽgŽMŽûŽŽ Ž(ŽpŽÝŽºŽšhß·¢é hÞö‘*µb!Öý+¬L²Zך‘ ŽóŒí‹\‹+j¿‘-“’•Ž•ÿ•‘–ò—¼—g•Ç•l•”¼•W–{–[—U˜0˜—­–'“è’«’H×s5(R{’´’:’’ë’U’R’À“(“*““4“p’ï’>’’\’Å’t’“’Ý’;’fºÅÊlŽqŽ?ŽW÷Û߉¸Ž¯Äù3Ãh”’K‘_ŽyŽtn‘u“¬“ד “‘‰‘ Ÿ‘ ‘š‘ñ“Œ‘-‘“G’Ye‘Žq~Fq‘`’’7’L‘Õ’I“P” ”f”9”ƒ”g”j”p”g”S”³”¹”¼”ä•:•5”ä”}”P“ø“”“L“p“~“l“š“ª“â”C””’•"•¨•w•`”ñ”ÿ”Æ”””i”P”3”(”)”(”%”“˜“q“”“î” ”E”b”‹”“ø“Õ”6”Á”Ž”¬”ý”é”Á”­”É”À”»”Ž”h”b”z”Š”’”²”è• ••––a•Þ”ù”Ú“ü“°“¯”w—>—}”þ—Ù›šŸvŸý¢žjž%^›Êœ&œ9šáš5˜°˜,˜—ª˜œ™Ð˜k—¬˜½šŽœ›ò›¡šÀ˜W˜œ˜×™é˜s™™™ã˜™D—Wí›þ ö¡Ê¢ ¡s¡ržxQž·¤k¦h§¥Ø¥”§}§Q¢:ž3Ÿçœ0›MðŸæ …š“’ò”;“£”$”“ù“þ“Á“”&”'”” “°“ß”Y”•”µ”¡“‚‘ÿ‘É“”W•'•{•0•!• ”ו•u•É•þ–ƒ–ê–ʕǔ}”“­“’¬’b’w“—”–6–ô—ᘗ˜ø™˜"—â—Ę˜k—É––•ˆ•{”{’ï’•“¯”–•;•‡–ꘘ)˜G˜—ª————)——r—‚—V——*—0—+–¾–;•Õâ–ê—Q—Ä—i–{–t–à—?—¯—ù—â—÷˜˜%˜8˜©˜û˜æ™™T™—Y”Ö”” ””À•Á––±–“–P––•µ•ú•¸”ñ•”ᓦ”ß•e•4”Š”h“"’Œ“¼“S”“ŸÅ‘9’‘“‘‘È‘ ¢‘ŽŽ0޽vñ‘æ’ñ““â•R•Ê“þ” ’±‘Ô“c•h•³“ ”O–“´–b–6”î”N“’ç”0“/’U’“’Ù’`’m’#’—“%’ú’)’ú“{“º’É“·“V“Ñ“—”–e”¶–A–ï—¶˜g˜­™t—¥•¸•r•&•©–ª•“|”o”Û”k••%”¾•ÿ–d–••‘–â–Û—`—L—$—[˜7—F— –Ý•{•B”x”“W’û“ó”t•J–n–E–”—¬˜Å™Ö™¥™ ™,˜Ý˜×—¾–í—ÙA™;˜´˜^—×—h—j—"—%—b—i—K–ù–ù———1—.—–ç–ª–Ü–¬–×–`–†–~–¡––1•蕇•*”ý”“”C“ù“»“p“7’ò’ú’ç’¦’Z’6’A’2’=’<‘þ‘¬‘„‘Ÿ‘Û‘î‘×‘ë’ ’ ’'’B’"’ ’’’ ‘Ú‘˜‘e‘A‘m‘z‘𑬑§‘µ‘Ÿ‘‘‘´‘©‘–‘a‘G‘ž[ïÀc'ŽâޮޒޙŽÝ~ˆÖôŽ9Ž’ŽlŽ‘%kŽ5Ž•ŽÂŽšŽ¨ŽçŽ¼ŽœŽqŽ_Ž/ŽóáÂÔúŽ Ž,Ž8ŽbŽÛ( y® >H.Ñrr¶˜ž~m1 ŽéŽÈ޼ޖŽCŽô‡CŒÿŒ¶Œ]ŒHŒ,ŒŒ?ŒeŒ|ŒŒ Œ§Œ¡Œ¡ŒœŒ¢Œ­ŒÑD‰®ŽŽÝ@°\—=Ì`ŽìŽ«Ž`ŽRŽ>ŽgŽiŽ+§s|] B²øŽŽ7ŽŽ Å‚ŒÜŒ¤Œ Œ¼ŒªŒ¥ŒâŒþK¸ŽŽZŽlŽkŽ2Ž+Ž&ŽiŽƒŽeŽ:³¯ŽØ…««ÀÚÜ Wo¦8Ðö|a=œh ¶Ž<Œ¤ŒÚ‘‹ñ”‚”~“ ”„”À—:—u–ŕ͕••K•R•£—˜˜Æ™<˜Æ—x• “"‘בH‰wŽHŽŽh7’'‘h‘V’%‘‘†‘°‘á‘€‘í’¿”£”<’¿’/’’‘Ë’;’U‘ì‘dÖ¡ˆï'Ž*Ž–½Ž:€HåV 7¬Ê–‘¢’pÉŽèŽiÖ’(””“™“L’:ŽÇ‘ ’’Á“ò’´’Å’„’qϑΠj2MŸe‘Y‘™‘‘¡“””[””&”:”R”v”B”U”V”’”•”Á••T•R•”s”“ç“Ý“|““¢“½“z“»“œ“Ù“ç” ”©••/”ô”¶””y”Q”2”5”“÷“ð“â””*“g““ “6“”~””“ⓚ“€“³”m”¬”¶•&”ú”·”͔ɔ†”š”m”O”I”„”œ”””¦”½”½•&•¥– •ñ•ž”ï”é•y•­•Ò••…– ”ñ—c—÷š}›½œÎž>BUTœ”š1™Èšöšª›2ššˆ˜U–Ê—Þ˜]˜—ˆ—È™y˜Ñ™Æ™—ù—ž——(–M”¥“Å–_–ü—¡•Oší›?\ J eŸT££É£H¡¡´£{¦Ø§î¦c¥î¤‰§#¢Ý›Bž+›W›ž œp˜*“/“¨”ˆ“á””f”G”Å”)“«“Ÿ“ª”q”””i””£”攘“‘þ‘’=“„“Û“Þ””Û•À•• •ª•­–8–¢–õ–±–;•Ž”«”œ”!“»“P““K“ì•V•ã–õ˜™™y™˜—Ò—'—F˜˜j˜_–÷”ò“k’@‘³‘}‘5‘è““h”ü—J˜"˜.˜ —t–Æ–Ó–×—7—'——0—.—–ý–÷–Ì–v–^–•û–û—V—¨—Q–t–n–Ä—— —s—ñ—ø˜˜7˜ ˜ë˜®™™‘˜_–<”Ù”V”l” ”–•I••A–&––’–O–#–4•ô•n•ö•C”f”Y’ç”w•°•f•ø“3’¸“h’v““t’r’C’«‘—‚F…¥‘q„_—’“W“W•á—F•-–}“ ’K“˜”÷•¼”†˜X™–i–¥”«•C”]“¬’Ñü’ ’Ž’Ì’‘Ö‘ÚÚ€¯’¢’Ä‘…‘ÿ‘Ÿ’x‘^’ý“@“¶“J“ê•{“Ü•£—?˜˜ž™U—×–¹—˜]—Ö—^—õ–½”ó”Ù•q•”ó”_“t””’•Q•§•€–S–ý—§—†˜$—w—I—™ ™w—¸–N”Í•J”°“U“C”-”Ý”ô•‡•ˆ•Ò—™™¡™ì™Æ™x˜›˜æ™8˜|˜’™”™š˜ü˜Ž˜@—ð—Š–ü–Ö–å—5—r–ÿ——^—{—u—1–ז–­——%—G——7——1—–ß–j–&•±•e•”£”X”&“ד¤“Z“5“ ’ë’À’”’†’•’Æ’Ï’œ’T’=’’,’4’<’I’]’ˆ’u’š’r’b’W’A’3’‘‘›‘¢‘­‘Ñ‘À‘ǑߑۑÁ‘â’%’‘æ‘´‘†‘DñÁw$͇>$ŽüŽ ù¥¥àã÷Žù§ts­ôŽþæŽ%Ž|Ž·ŽÀŽ_ŽVŽ=ŽŽŽŽ ŽŽ,ŽfŽpŽŽëg ®Ñóãö 냇•×Ë”eQ1ŽàŽû.:ŽÀŽ]Ž)í°KŒÏŒ›Œ†Œ•ŒŽŒÑS“®³bF3;@iÁðþŽWŽ×k¶úA*âWDŽðŽ®ŽSŽJŽKŽqŽ¡p8/OKRuQE“ÿŽ8ŽIŽŽûÒ€AŒÎŒ‹Œ|Œ¤Œ¨ŒÜw©ÙøŽ Ž*ŽMŽ]æÃ³ÈŽ5 ¨ š…‰ƒ‚ÛýòHùùñÆ ¬TÞÝW‘E¿8 ½”•b“î•S—¾˜¸–l–x•V•F–Y–:––â˜Æ™Èš ˜º–Û”™’š’Y’=‘2œŽ<ŽÃŽƒŽh‚‘í‘Í‘‘:ú¥©Žö‘’{“’f’Õ’^‘PŽ‘<‘Ú~&^\ýr1ŽH׳§ŽßŽÿŽÊŽ–‚ªþaÒ‘d‘š’&­ËMà’Ä”¦•G•3• “îûQ‘¹“’Í“ “o’ž‘I‘Б @‘)‘ùºömî‘‹‘…‘’ª“û”%”“ēꔔ ”.”””`”Ž”5”<”À•C•u•c”‘” “É“õ“½““‚“½““¯“½“É“â“û”1”3”¿”Ÿ”n”H”?”"“û“â“דû“ü“Ï“»“ì““`“G“$“q”O”C“Ú“Ê““”1”e”m”v”ȔΔ锻”†”w”M”F”>”O”X”V”–””¾”Ø••…– –"•¶•à•p•¢•{•­•ù•˕Ɣ¥–˜ šš¹›´ž‰ÃœœÙœxš+™·šn™÷š™šmšé˜+––ù˜”˜Ù—™•á–Ë–Ì— –î–P—–•g“C“…“…”1”Á–Ü–jšNœQœÂœ!ô 9¢§¤%¡B¡™£‹§U§{¨l¨¯§{ª §á¢ ;›á›/œ8™r•“å”×”"”r”Ë”’”µ”n”&”“å”;”¿• ••1”ù•A•”2“’X’²”K”͔ȔǕ•S•Ä––•÷–)–T—–ü•ø•”“¶”b”p”?””@”H”Œ•í–Œ—Ù™™@™=™ ˜—ù———–•Ž”‹“F‘䑃‘Í’G‘Û’W’ÿ’’J“™•˜—$—Ä—t—–Ô— —––£—G—–~–6–&•㕘•“•Ü–—-—B—l—Ÿ–ï–±–ç—5———Ö˜ ˜L˜Š˜Ð˜¬™7™o—‚•Þ•S•U”ö”‚” “™“ˆ”P”l•…–`–›–¡–G•Ù–•b•Ü–H•K–“Ž‘ú“Ÿ•#•·”M“š’ê““)“u”$“ð“î’‘‘‘5ß‘1’O‘¾á³ýç’]“a” •«–Ä–—8’Ø“r••<••B—ñš»˜ï–%”ä–~•“ï“{“z’ƒ‘š’Q’J’¬’x’¬”Y’ª’©’Ì‘ø’÷“{”Ö’{“c”s“é“Ý“D’ú•‰•ê•æ–3–m™˜v™¨™™˜J—½˜r˜g—³— —–ª–Ï–.“ð“’ì’å• •å–©–ö—Z—j—®˜˜6˜¨˜ê™ ™N™–ù•ó–/•°” “ϔڔ„”¤•M”÷•(—™™ø™]™-™s˜ø˜þ™Z™‡™V™°™˜œ˜M˜‹˜#—3–Ø——S—´— ——¤—Ò—á—·—I—:–Ö—4—Зŗ—·—ܘ—Ø—‚—–½–8•¶•b•2”Ó”‚”6”“¼“Ž“^“4“>“8““0“F“/“ ’¿’˜’’¡’ž’©’Ì’’Œ’§’Á’Ô’Å’¤’¶’`’%’‘ì‘Þ‘Ø’’/’9’6’’’6’e’V’*‘ø‘‘a‘R‘,‘»s À£ˆeŽÖŽ=ŽŽ<ŽdŽ€ŽiŽ%ÉÒŽ ŽLëmŒýfŽ;޼ŽÎŽ¸ŽˆŽyŽ}Ž€ŽgŽeŽuŽ­ŽýFGw¨Èùø6ʉw©ýŃ‹¶Ê¥pE(ŽýŽø3—[——ü˜"˜˜˜—æ—Ê—g—d—C—X—Ÿ—r—‹—ô—ù˜.˜H—ã—Ž—-–Ë–c•Ú••0”ã”®”r”#“Û“¯“¬“™““x“ˆ“¡“«“„“s“6“G“W“]“G“I“G“2“3““J“L’ö’º’ª’˜’’‚’|’’u’„’‘’’±’½’Ã’Õ’Â’„’&‘ø‘⑼‘œ‘“‘Qþ©yWO RP‰¦œkKŽÎŽWŽŽŽBë›TB‡Ž'ŽbŽ‘ŽÑŽåM5Žì‘ ">3ýÚæíɨ© ÈÌijx5Žþ@‹J>ŽôŽÀއŽyŽGŽ Ú׸`8-Yz‹æŽmŽjŽBŽ=Ž8ý͹ӎŽœZQcO +ŽØŽà›ŒÒŒÚŒë?z‰F4†”‘¯Ÿ{CTe¤ÑÄ—]-$-ŒÈŒµŒºŒéŒñ\†ÄÛœ`±ŽŽBŽrŽ÷‰å»¼§”@DrÈæÀaWŽ¡ŽŠŽc竎ώ·Ž˜ŽŸHÛŽ0Ò§‘Z˜o–]—r–Ê“ý•Á˜I—¬•æ–w–€–O—/—ÿ˜ã™„šbšñ˜b–¡”W’“’‘rÉ~T=%ŽÆŽ´‘q’>‘è‘sªŽŽÀŽî޲5ä+?®¸ŽX5+CŽ'ŽæVŽ‘ŽŽŽäŽ9ŽyŽí¾Ñ«à±™Ö‚û‘ä‘ú‘Ä‘l‘°“:“8””Õ”‹•t”ß“õ”¼’w“®”V’ÿ“¶“{“^” “Ò“j“F“’•’³’Â’ñ“B“““,“©”8“Ö“f’ø“Œ“ؓؓ“À“Ÿ“y“Z“M“—“´“Ë”{””$“I“p“ˆ“l“W““'““a“m“€“„“™“¹“w“C“ó”V”.”“Œ’¼’ª“[“c“E’ý’Þ’ñ’æ’ú“ “}“­””I”.”e”m”f”/“þ”#”j”M”U”‹• ””C”X”@””!”“ý“ê“è“þ””T”ë•,•'•j•¢–<–F–'•Ç•å•r”&”L’ò“ýšµšN™+›º›:4^,›š´R›„šåœl›´š2›×›]™#—O”Ø”i––µ–Ê–a•”…—Ù˜³’æ‘/䀒†“B– › ˜Ú)Q›¢žƒžÇ¡£8¢¹¢=¡ó¥Ü¨5¥¦L¦±¤Û¡Ï §ž™šy–i”å••(•½”ü••>”ª”ڔΕ€•¨•Q”Ñ”””i”N“†’í“?“²”,”´””Ȕë•I•Õ–••^•E•Æ•›•:––Å–•™•:•p•Ä•Y•Ö–W–¿—'—¤˜0˜¹˜Ë˜¢˜l—ü—–—Y–m•#“ô“X’š‘Ò‘¨‘›‘P’U’6‘¢‘‘/‘Ø’‘O‘’‘³’c•–»—–¸•›”’ß’t’¡’t’Ÿ“f“„“Ü”ò•ä–ˆ—¤˜d˜5— —8˜$———\—@—=———¯˜˜˜÷˜é—¨•Ü•D•<•••ˆ•™•š•ž•M”ö•1•ù–‰——&–£–r•¬•À–|– •&”æ––@”‹“{” –•w•!–'”ô”Z•C•™•=”C”“t“@“ý””„””’X‘î‘r‘á’G’Ô”±”†“æ–­˜K—$–t—••c–~—J”*“û–4—s•Ô’¾“M“ý”ã•é•_”&“z“·“;”_—<—þ•Ç“À“ì“Ä“W“y“””½“¥”=“땵—˜ ˜ •ð–V– •›–„—ܘ–¬–‹˜å˜ ˜—õ—•t“ä–A•w“r“c‘ê’z”‚–o—:—>–z–y˜k™%™”™š˜ü™4™W—:–á–Z–x–S”\””•I• ”§”²–ì™Õšªš{š^™¥˜–¥•a• –R˜’™Y™[˜å˜——¨—ä—ý—Ú—Ï—ê˜ ˜ —å—¥—í˜L˜M˜ —¶—µ—Ò—µ—Ú˜)˜—¶—v—C–Ä–X•þ•¥•N•”Ú”¬”f“ô“ä“哯“À“æ“ò”“½“Ò“é”K”´”Œ”9“ë“Û“Ù“ƒ“X“a“p“‘“K“’û“ “’ÿ““;“c“p“b“H“’ô’Ö’ž’’~’j’;’‘í‘ë‘ᑹ‘v‘E‘ Ä‚UVh¾± ¡~ŽíޤŽGɤ“ž’€u ŽŽ”£bv%8iŒâûÝÅ¥†C1Nk])úÞË»„C8':c[D™Å¤‰jhVŽøŽ—ûÛ‘Q;B1?\¾Ž ŽŽEŽjŽdùÌœªÏŽ&Žœ#ŽäŽ¿ŽÒŽ¼ŽŒŽ'zŒ”ŒDŒŒ×e•ŒòŒÏŒŠŒ+ŒØ¥µsMEŒÖ¨QŒòŒêŒÂŒÐŒÕ#n]h½óŽ&ŽOŽ,ŽGŽ}ŽëB¤ü?0b-úÆçý猂ŽßŽ‹ŽKŽ%üÔŽ"Ž£Ž=Ž环|ŽZŒåž¤‘¼•—•ã”­•¯–©—½—°–¬–¾–¨–œ–ü—É™™š;šL—J–¾”y’Ñ}‘‰ˆÁ,ŽÆx‘@‘l’ ‘Ú/ŽÌޏ޾ަ‰4úŽŽê[:ÇL69†ŽØŽ­_ŽÞŽUŽs6J7g æÚ‘‘µ‘2’›’‘¡‘y’>’ˆ’S“L”5”¿•T“u”L•‘Ε3•{”…”ʔޔ““¬“3“O“æ“Å“¬”””@”`”N”,“Ë”“ñ“”“”“¾“Гý“Ä“À“w“ˆ“H“0“%“““Q“Z“’Ó’Á’û’ô“4“ ’ú’Ý““!““`“~“““_“|“¾“É“©“ ’Õ““u“_“€“e’í’î’§’¨’º’““„”:”K”^”X”“Å“¿“à”””””U”n”~”)”2“é““ϓ«“ž“Î“ç“ø”D”¹•U•†•˜–T–˜–c•ã•]•V•—”û”1“é‘q•dšÒš®œ&œf›™›ð›2šÇ˜âš'›h™œ™òšãš™‹˜u™–¦”F”𖌘m–¾•›—M–ƒ’³“L’‘0D‘,“,•M™¸–‹›(Ÿ<š#—5˜Øš…žø X Þ¢}£0¥©¥|¤Õ¤l¤v¢ŽŸ£Ÿ¢žAœ1–å”Ӕߔù•¼–6–•g•”ý•Y•Z•’•'•V”°“Ò“Ú“ ’p’®“¬”b”™•"•>”æ”ŔĔù•`•”˜”Ø•7”ù•V––†–©–d•Ø•ã–õ——·—×k—×˗֘ —ë—¨—£—S— –Õ–Œ”드’¢‘÷‘Ú‘Ü‘­’’¾“|’{‘Ÿ‘Ö‘p‘U‘ÿ‘¸‘X‘Y‘¥’Óò”Ô•‰•`”3’\‘‘“‘Ô’i“W“­”ê––®–Ë—°˜— –0–b—2— –ý–ð—@—j—P—€—L—q—Á—e–––E–N•ß–!–E–––&–!–I–[•û–¬—‘—D—‰–î–•Ò•:••à•R•ì–Ÿ—•‰”"“ù”6”ë•Ï—A—Ä–m•“c“œ“Ñ“‰“É“Ÿ“;“#“V““ú“É”%’®’’d‘Ø’¤”+•B–Ó—I—~˜?—»–À–Ç–>–C’¦“-•J˜–ï“ï”­”?”½”ž“Ì”4••u•¥–‰—阖¹•o“Ë”4•;“™’É““’€’销–'—–Q—Á—Δ®“—“‡•–2–ÿ–Í”†•¯—Þ˜Š˜¹—¶–×–ð—S•Ȕڕ¡’Í”#•¿–?—%—=—û—«—Ô—Û™W™Íšš/šð™à˜º˜¬—•¨”ǔҕ²•õ• ”v••ü–¶šU˜c–5•²•Ö•”╞–=–ñ—l—m—*—o—“—‹—š—‹—è˜˜˜—ú˜>˜c˜ˆ˜u˜—Ô—±—•—ʘ ˜—Å———x—T—–o–• •‚•Y•”Æ”m” ” ”“þ”-””Z”œ”•”•”Ó•9”Õ”~”–”–”…”<”“û“ܓƓ°“m“A“T“b“’“®“½“ؓܓý“Í“™“)’ã’­’’˜’Á’¢’q’<’’2’A’‘þ‘ä‘‘k‘O‘L‘‰‘ɑܑ¿‘ܑőcÏtŽÅŽ8çÜÛÇ‹_a­Ž2ޱyR‘C‘£‘´‘±‘‹‘n‘t‘‚‘š‘r‘"ËŸ£ŽH÷·w{\utlRi……zLCILW‰ƒ’Ÿ.ïÊìau|ލŽŽ2Ž&ø¯Ìíü˜p{ÙŽ1Ž^ŽÈŽ¥Ž4Ž ŽއŽpŽnŽ]ޅ޼„Œ£ŒrŒDŒ`ŒÈŒ¿Œ£1Œ—ŒÙy¸e:G§pfP ŒþŒùMm_\ߎVŽ¡Ž¿,€Ðù"MjK>?XÚ¸”}ŽèŽÚŽ‚·€dÜŽ4ŽsŽ>æ…FìŽÒi_Õ‘4’†‘×–•õ——Š•z—>—`–z––‹–©–—¹˜¡™žš@™(–Œ–®”·’Q‘<|Ž¿Ž«Žp7‘*‘´’g’‘‘ŽÃŽxŽÂŽûŽÏ ŽÌÚ³r88ÑÇú. Ž÷ŽÐއŽfCš„­G‚_UF‘‘­’’“‹“/’s‘ÑؒN“/“]“£“‹“Ñ“$•–A”–u”ؔϓý•„–5•¾”“‚“õ“[“l“/“Ë”†”W”¢”’”;”“¬“„“`“s“t“¾“½“”“ƒ“D“‡“‡“Y“6“\“B““?“8“m“5“m“|“]“A“"“ “’ò’Ð’â““5“q“l“8“’ï’Ÿ’T’Ç“V“<’í“C“d’ô’¤’s’W’•’‚’¿’ï““¶“è”” “ñ“÷“å“Ë“ “°“ÿ”C”4”8“ߓՓ—“™““e“r“S“[“À”6”Ö•n•ž•å–™––K•Ù•š••o•Ø• ”À’J’–„š›œ}›Ûœ=œ¢4ššÒ›~™Êš ˜K—"–¹–W—¿˜Àš™[—Ë––T—î–F• ”©”-“’óí˜XX”Ñ—˜•ž•ö›Ú—±”Ô——Àã²á¡¢s£´££A£.£ ŸxŸí ïœÕ”½•…•J”í–l–F–F•‘•°•†•Z•ˆ•€•E•-”+“ “„“ƒ“4’æ“í”Ì”è•*•<•X•!•••F•g”–”B”„”[”9”Ù•Ü–¿–­–ž–î—…—½——š—ˆ—µ—’—¡—Z—C–å–¤–2–•”™“J“ēΒ֒’’:’-’B’r’7’’¤’°‘³‘f‘Û‘„‘-‘4‘h’’­“ö”-’Ø‘‘‘ԑ֑Б´’M’»“–0—·—6——G•i”å•”–”ÿ•}•§–·—O—[—C–Ζw–M–<–ƒ–o–z——$–ï–Ò——}—r—’—&–g–J–˜——–—Á–Ô––•=•v•9•y•ù–`”»’”’÷“…””r–H˜˜—”,““’M’%’ ’Š’X“”‘•à”õ”7’¬’m“›“Ó’U’Å“¬•D–É–“–•Š–l—L—•‘k•¦˜q˜¨–©”{”“§•w•{“ð’Ú“ì•M–q—q—/–>•³–­•ü–͘]”דf“¶’~“”T”–•{–\–]—7˜¦–Ï–²•ß”N“û“i’]‘I’”z•>•ø–§˜®™%—£™Ó˜™™,™!—°–Ó•ç–§˜˜d—Y—}—ð™n˜í™¢™½™N™?™-™]—f•¶•Ô–`–¦––•#”•¡–?–è—6–‚•Ñ– •Æ•4•0•1”ê••E–––X——Ž—Â—À——Ê—Å—æ˜1˜,—ã—ó˜+˜B—á—̘6˜)˜E˜h—ª—K—–ç—]—R— ––•¥•{•“•-”Å”r”c”i”I”H”}”Ôö”Дû•I•.”Æ”ó•S•'”ÿ”ú”¸”L”C”“ý“ߓדΓ“ϓړû”C”t”~”3”“‘“'’Û’Ç’ç“’ã’¿’¿’¶’ ’±’‘’h’]’Q’/‘ù’’Y’²’¾’§’¬’‡’N‘»‘E¨ލŽQ޼€¨÷ŽNŽÊ1¤‘s‘Þ’*’9’.‘ä‘ޑ㑼‘¨‘Pù¤lîé‹^:O€¨¶Î´_(ŽõŽÿ&[€‹oöÁ‡H¶ýŽ(ŽŽÕŽPüýÔâ£XGL–ù޶ŽÎŽ/ûÇ£ŸÉŽ.ŽLŽª Œ”ŒžŒ2‹ðŒŒ,ŒšŒùU‹>:óö§.*EjC-0 L_`v•¾Ž Ž]ޝŽË!V¤'Y]ob^ÞÝò뉯í­1ŽaЌٌðŽLŽÆóº>ŽG-,Žè’/”ž”N—h•­—4˜*–¿–À—6— –.–E•â–—œ—µ™Ÿ™È—õ–t–9•&’1‘ŽáŽ)ŽŒêÒŽÎ/Ê‘W‘—‘­‘fkŽzޤdGCŽÄŽnŽÛÂŽÐSZu3Žý<ŽìŽùŽTŽògŽßg Žæ‹ŽÕŽ•ŽÝ‡‘y’’¶“)“ ’‘Ú‘˜’¼’¾’Ø’ž“H’Õ”•›•M–+”5”ð”•,–™˜˜¦˜ó—î•“u“D““ä”_””.””@“¯“w“ˆ“¥“p“‡“Z“e“h““…“@’¾““ “דž“Ž“¯“Û” “Ú“µ“†“J““’ì’ø’ð’·’Â’ù““+“!“)“*’ô’Æ’Ÿ’ä’Õ’º““9“’„’•’F’W’€’š’z’ô“C“µ“á“Ǔڔ”“æ“Õ”” ””“ð“™“z“<“Q“-““““6“””Å•C•Å–]–²–¢–ø–¯•씩”Ó•;•Œ”š“ò’¦“¦šù™Öš›FœÅœjœŠ›šdšôšm™²–ã•'•Ç–à–è˜—Þ—Š˜—•Ҕ˓÷’YO‘ÿ“6’r‘eS‘s”Í—Ò›Ÿœ'–cœ š•l–ç–œœ™ž/Ÿ«¡6 ¢¡W Ø Ÿ¡Š¡•¡ Mjž™u”•¹”ã”ï–6––^–•Ó•ˆ•ו²•Z”ú””“º“å”=“𓎔³•5•S•¿•Ñ•ñ•¬•u•·•ô•±• ”»”ä•E••µ–k—k—S——c—\—Y—Š—m—–î–°–¢–– ”ó”,“Ä“ì“ø“ ‘ñ’’¹“’J‘õ’’8’t’N’N’[’’K’L’`’Í’š’^’I’?’x’{’÷“’C‘m‘‚‘ؑ摫’»“’[“ç–‘—ä—’–-“ì”7”c“S“d“þ”Þ•Í•ý–•ë•ä•Ý•ª•Ò–¸—<—Ú˜J—ê˜M˜Î˜Ô˜ð™$™˜™d™˜–®–Å–J•Ε)“X“h““j”%••¬•ž”è’Å‘¶‘ä’W’=”S–n—>—”Æ•\•Ñ•ç•ٔܔí•g•A•×–A•<”R“““ª”“$“C’T“÷—–½•£”㔕G–•¢“f•ö—É—§–^•(”g“–”B”“L’y’é”3••7•‚––ˆ—n—°˜˜Y– ”“õ’å“Ñ””1•Z–|–ñ•}—¤—I–ü˜Œ— •†•°”%’Z’ᔓ”””›–N—“™<’$÷˜ ˜û˜š—’–—>—l–Y–³—Þ˜˜)™˜Î™0˜ˆ—ë—¹–Ž•q–†—>–ß–‰•”¸”/”®–¨—ì—g—–ƒ–a•à”º”§”Ÿ“ó”V”f”•&•“•†•õ——£—ä—Ä———º—ý˜)—ј4˜-—X–ƒ–B—>˜-˜:—ã—–«–L•ö–6–4–S––2–s•µ•…•y•A”å”Ä”¬”²”†”é•D•p•ƒ•„•‹•1”ò•K•±•¹•›•[•@”ò”¶”””p”D”C”””” “ê”2”˜”‹”w”\”“µ“Q“C“4“<“[“Q““““E“B“(’ò’Ñ’Ÿ’„’¨’Ü““ “=“*’ï’Ò’£’Y‘¨‘¡XÌqŽüŽ„ŽGŽBŽpŽŠŽ€Žá« ‘‘È‘Á‘­‘Ì‘È‘é‘ø‘ü’‘²‘Qå˜ô餃u™¡ËàìÌŽwR6ŽïŽÙŽÚŽØHŽ«Ž0Ž ŽÔŽ4ŽtޏŽà*ŽÿŽ!ïÿäŽ9ŽVûØ~žÿŽÝCŽåŽTŽ7ÌÀ¤úŽ(ŽxuŽ ŒÑŒ©ŒªŒÌŒŒˆŒ‹{ÃŽ Ç_ŒËÖŠŽ¶îŽ·mxt‰†¶öŽŽŽOޛ޼&Ej™Zq@&ÇåàÄ@€¥Û¢›ŽµìŒ|Œ“ŒšŽ1ޤçŒ쌣dŒ‹ŒŽºû“Œ•Ë•þ”þ•K•Ƙ—•Õ•«–ù–š•ý•‚–b—p˜D™R˜—–n–·–À• ‘‹[Ž~“ŸŒ£‘ŽSŽPˆ‘o¾ú§¦-ŽÝŽëŽçYŽhñäñŽ ŽÆŽïŽáŽÏŽ^Ž:ŽžŽlŽÂŽ^ŽºŽŒŽÌŽïŽÚŽë¥¯ÓŽn‘"‘v’y’x‘õ’l’I‘é’[’“@“]“¿“‚•>–Ü•¤–”m”L”º•“––Й8™–)•“À“Å“à”¤“ñ”(”8”N””“à“ú“”“h“y“»““Ž“’Ç’i’’Ý“B“0““l“l“䓽“a“g“K’ù’Ò’Ê’à’Þ’®’q’Ž’«’·’¼’¤’¤’–’˜’·’Ü’â’ö“2““$’‹’“’b’G’8’&‘Ô’=’““œ“Ò“»””:“哳“Ó“Ç“½“é“Ë“‰“`“’ð’Ú’ì’Ò’ì“0“z“ö”±”ý•B•­•ï•è–/–ž–X”x”¤”¬”’“÷”“’­›ù™&˜ÒšêšÄ™˜™½›!š™£šŽ˜ˆ–䘗«–Δߔĕ¢–^–Õ”í”E”¾“ù‘œä‘L“’ç“ZèR’g•š™šµš±–^ž(Öo–3–Í›¹žÈ¡t ãž¥ªŸ–¢¢ˆ¢Ÿ)œœu—•%”Y”T•Ì––‰–.–;•ð•õ•“•{•F”ï”›”È”œ”±”†”‡”›”ï”ê”ó•O•…•m•ˆ•Œ•·–6•ú•ë•ã•¡•“•Z•ð–¢—ª—É—€—&—–í–é–É–I•ž•¤•x“™’͒Г(“n“š’ò’E‘æ’““Š’j‘ü’I’e’B’&‘ú’’&‘ö’“’”f“î“«“½“^“’Ó““Ø“‚’š‘¡‘È‘Û’@“Ú“‰’E’“•–j”*’^“%“ñ““’á“^”ý•Û•ü•핼•è–T–ì–ä—X˜'˜Ð˜È˜¼˜Ó™$™r™˜Ô˜û™K™v™v˜ƒ–›––,•†”“’®’²“'”Y•4”Æ”V“M‘øÏ‘ “e”ä–‡—6–,”»•Ç–Œ–d–®–j– –«–[–D–"•’”Y’º“'”q”‚“U“ “”ؔؓó••å”-“í“×”g”=”S•+––͕ϔɓg“%“T“i”¯•„•i• ”Ü–—U——N—’˜&— •“” “å“É“²“à”ô•·–?•ý”J—ߘ¬—Ï™%™D—‰–k”ï“:“J“ð”9”-’â‘¿”©– ™Ó™–^—Ï—Ô™™4˜]—Û˜æ˜Ë—”˜Ø˜˜„—,“â—"—^–&–¹–X•C–£—B–É—w–n•g”ΕU—’˜‘–þ–q––4••”N”:”w“š”"”v”4”ƒ•ĕߖ——^——j—Z—\—\—P–ð—–©• “þ“┆–U—X—D–‰•ÿ•ë•…•B•I•%”š”ÿ–¶–¶•é•¥•˜•P•:••”ý•r•ä–––•Þ•³•«•‰•†•€•–•P••”𔵔•”†”<“±“™“Ù“Ü“g“³””(”W”h”N“ד¡“¼“¦“q“o“Œ“ “á”H””)“ê“Í“’“’Ï’Ÿ’ð“1“)““U“f“;“’ÿ’ž‘ð‘9õ§jÒP ŽþŽûŽÿŽí0NwŽñaÅ‘;‘¬‘´‘Ü’ ‘ÑF×w<-ÊÃÏÔ  ÏŸb<.ŽìŽâŽï3ŽpßÛŽŽçKŽšŽZŽhŽŒŽqŽLŽzŽ{Ž@ÛÄŽ ޝŽÜŽÁދޮކŽgŽŽ]ŽŠŽmމcgŒúcaw·ŽŽNŽŽsŽWŽ/ŽVŽeŽÇŽåŽÓŽ¡ŽrŽaޏœsŠ€¾ŽŽ1ŽOŽiŽ»ŽåŽî ”8”˜”֖•–l•˜•‰•ù•Í–S•Ê™C˜ó•x–ß•0”h”9”””¤””\””~“ô”” ”“Þ”0”O”"“¯“]’Í’È’Ü’†’^’b’F’’=’Š’ø“ ’ò“’ê’–’~’†’§’Ÿ’š’€’€’m’p’’•’‡’N’’Œ’Æ“’å’Ù’è’ÿ’¡’w’.’-’4’/‘Ó’’~’¯’Ü“q“¯”””“é““´“ȓړ¿“|“F“4’û’”’¹’¿’Í““p“Ä”]”P”Ž•”Ï”•”¦••“È”(”T”O”W”“‘’sš ›^›åœššm˜®—˘W›Wš}™v™­™`šæ™Ö˜D–°“V“±–)–k”㔕X”Æ”•Z”å”6””Ý’ù’¾“G”­˜wšâše•Ö™sœW™8—Ó—˜ãœŸ£ŸOœJœœøžÏ T wMš³›6šä•¸”þ“í”~–/–°–µ–¨–À•Ú•é•~•Ù•”Ï”ì”÷•;•I”í•””˕”ö•D•™•©•ª•Ж–:–$•ï•͕󕯕†•ü–ä—m–ë–Öf–––>•Ý•Á•›”ü•”¥’m‘Ð’y’j’H’D‘Å‘…’“Q“m“j“9’‰’=’q‘÷‘‘đæ’&’ ’ê•<•Ÿ• ••”ê”þ”’â“L““À“Q’‡’g’ “Ó“ò“’Ž‘ú’i“’ª’L’‘“𓾓:““ó•–‹–T–+––&—u—~—ð˜À˜Ò˜Ÿ™™-™)˜Ú˜7—j•³”Ÿ”u•"•ø”²”M”3’é’h‘ÿ‘ü‘¾‘ï’ç“•’ì’’g’‘Ñ‘(“H•T–ȕؓ^”4•{•z•z•g•&”“”‚••”â”:“‰”%”s“ë“{“6’ì“ä•w“Þ“w”ƒ–…•–“¦’¢’™’½’“Ÿ”ú•¤”ê”'“—“Ó”e”Å•à•¯•8•×–[–c–U–²—M–ú—Ò˜ –“ª’Ý“f”Ï•)•Q••”Ü•$˜`˜¶˜Ï˜“™]š—í•“Ó““J”)””<”5•©•³—L˜n™˜Ñ•Ù–h—û˜d—˜6™—o˜ï™B˜ô˜––L˜—f–¥–ï–i–‘–Þ–˜–T–þ˜—Ô•…––º–Ê–«–>–/•J”|“Š“§“Ø“_“哺“b““•––— –Ç–¤—–Þ–‡–“•É•J•h•¤”®“¡“=’é“É••›”“””“ù”[”Ý””(“Ôù–p–Ü–N•֕ו¬•˜•t•¡– –f–•—•‚•È–•÷•½•p”í••C•”ç”î”±””W“““ ’Ô’û““"“^“©”1“õ“þ”v”“Ä“¿“§“¯“°“Ž“|“f“ð”û”󔊔=”:”2”“{“0’ð’ҒÓ“““ “’Ô’p’‘‰‘»p4"PKØUŽ×IŽÁŽuޝ)Ø{‘8‘U‘^‘Ô‘µ‘q‘3‘ºoH->/,ý©†mfF1ŽùŽöŽèŽ÷(*3ŽàŽŽÆ lœ>Ž×ŽÓ;ms Ž¦ŽŽfŽ\ŽHŽYޱޱ޹Žò8!ޤŽ]ޔ޶ŽdŽ&£rcŒâŒâŽ¢°Ž)ŽdŽZŽOŽPŽkŽÑŽþŽäŽªŽjŽÚ±¸£hS|…ÄŽ"Ž=Ž[އޥ޽Žã/ˆ´ÏÌÉ–±Ž‘gRXX/[c.ŽæÚ#Ѱ–ŽóŽ{ꗌ録Œ=‹½‹ò‹ðŽÐW¦‘U“Ÿ˜h”œ•}•®–F—.•—•Ÿ•Õ–°–x–\•³•{•²•Å”’…#"Ž.Ž7mXŒñ*Îæ‘r‘Æ¼ŽŒ¤áŽÉŽ¿ŽnƒŽáŽMŽª5ŽòŽÕŽàŽ ‚=ŽŽæ^ŽŽˆŽ•þêŽdŽcì’ú’“X“t“ˆ“m“~“Í”R“Þ“P”Á–•_—]•ê•””ç–Û•»• •ä˜å—é•“²“ã”{”<”¢”*”,”_”~”s”+”“ò“ß““ “¼“¬“‘“l“ˆ“D“'’ó“E“N“6“’Á’Ñ““““’Ã’’}’=’h’¤’¼’³’©’’’‘’P’c’>‘Þ‘¼’’E’Ñ’â’Ö’Í’À’’x’’’‘á‘™‘Å’_’¤’Ÿ“J“²“ϓ̓¸“x“š“^“’î“F’ý’í’­’—’“’Ô’”’Ž’ã“>“k“듹“ü”4”.“ß“'“®”^”«”|“›”•K”d”þ‘v“ ™ ›ÚHœ œš‹Éœ»›øœK˜ò™š™S—(–“î”\•4“¨”ù•”˜•¶”X“å•”†”“Ù“M“»”‚”«–í™ô˜Í•K•—£—.–Ô˜™%šóœèœŸšƒ›œožœ ½žƒ™µ›¸›P˜u—–Œ”é”ê– –ð–¾–¶–s•ñ–––••q•â•É•~•@•J•l••S•G•&•Æ•ˆ•Ù–•ÿ–6–9–D•ž•c•¢•E•l–—-—i––•Ô•Ÿ•#•”¶••#”Ó“‘Ì‘û‘Ì‘~‘®‘ß’(’"’[“z“)’ñ“"’È’/’z’’‘û’’?“ •–Ö•ö•À•ó••Ζ”Ü’’}’Z“q“Y’­“Û”“­“Ö’Ø’R’4’’R’O’^’À“È””_“–“•O–h•ÕY•§–—\—o—옜˜Ã˜Ä˜˜˜È™X™˜`–“ï’l’f’É“ ’Ì’#‘þ‘²‘“‘À’.‘Ü‘í’\“A“:“’Z’1“F’.’p”¹–ÿ–æ”,“ø”ì•<”ë”U“A’«“õ”ó“Xü~Y‘n’#’’X“u“Ž“â•”·•ø–*–?•˜“”’«’“’±’o“ ”{•b”씂”ᔩ“Ò”••Q”y”•C•H•‰•¦•„”ï•–´•a”?“©“U•;•i•_•‡•7”Ζ/˜²˜2˜˜u™’šL™™–—”Ô“H“““Œ“Ê”•3•æ–Ö”ü•ø–‹”y”Õ–í˜g—Ž—Ó˜i˜i˜(™â™¨™K˜–V– —T—p–I—O—?––— —£˜u˜W–å—X•Ö••ý–•è”é”A““[“'“8”)”!“K“n”°•Q–O–ÖA•¬–;–»–h–]•¥•ƒ•ΕՔ´“š“Ž“`’þ“W“•““\“L”f”¿””›””5”o•1––Œ–C–;––•ñ––•ù•¡•:”d”x•¢–@–>•[”Ÿ””™””b”…”~”T”C“¸“ ’‘’ˆ’ž““\“j“´“M’ü“0“B“Ÿ“ê“æ“«“D’Ù’Ë’£’â”/”Û•”Ì””t”l”,” ““’‡’X’X’É’ö“ ’à’Ž’†’3‘÷‘¦‘‹‘J‘C‘ü‘I‘è2ÀlŽ]Ž:ŽZŽŒI5âÞ‘Q‘›‘‘I‘‘ ÷Þøç°ii-Õ˜h&6 ??AONR09ŽþŽøŽÚŽýŽûŽúIc:ŽÞŽÀŽŠŽzŽsބީIa\5ŽÌŽŒúk%UŒùŒî˜Ó¢¨ŽŽ3ŽQŽTŽrŽ£ŽÙŽðŽÇŽfã`ŒûŒí 0,\³îŽŽ3ŽVޤŽû Ž÷Ž÷Œsœ™izr]^q0Žó7x—x&.Ÿ ŽÆŽ:© Œ¦Œ6‹‹7‹oŽ%‘0{”Ý•‘rß’c“Ì—o•Ù•@•É••ß•´•n”Ä”””Y“Ÿ‘u9k•ŽýŽN€éŽŽ–y£ˆŒŽi²iÖŽ›PŽÝ©N'}j}ŽðލހŽIf ŒÚŽÚh¼Ž¯ËŽŽpæ‘ÏË’R“>’ƒ’’`’ï“ú”0“ô”v•–M– —;•Ý••”Ÿ–…•6”þ—†˜*••“x”j“‰“_”“é“È“o“À“G“i“:“’ò“R“(“a“j“©“ˆ““,““ “"“H“W“Q“P“&’ó’ø’ñ““’à’’’g’§’í“.“?“J’ï’Ê’˜’…’6‘¸‘ ‘»‘á’/’<’J’’0‘ÿ‘ö‘´‘±‘‘‡‘ ‘Í’J’–’ª““`“”“À“¡“N“t“2’ú’ª’Ø’‡“$’›’1’’c’o’±’ç““9“~“`“š“Í”7“‹““ݓғñ””“ÔH”•’Ë‘;–¼›’›ü›››ŠœòœÌ›nšQš–š<œ‚›Ÿ˜k—q•î”R”’ê•d˜M–z–<”Û’“¨”*”¨“í”Ô”2”'–w˜s™F˜X™´——‰™/–Œ–ìšfœ+œ{›@™Ž›ÖœÀŸOž"›zºšñ˜:˜M—f•2•R•ã––Ô–¹––K–K–1–W–––š–¦–0–0•ü•Ú•Ò•‡”É”¤•!”z”Å•o•ȕܕ¦•Ä•ƒ•f•s•X••~–v–À–Q•²•c•”®”$”•”d“Ç’-‘«‘î‘Ç’i““0“ “’ù’Î’È‘ê‘O’<’e’‘ô’N’ë’‡’·“ô–—‘––8–#•Ñ––(•æ“¢’’n’J’.’J“”“Ú”“‘ª‘Î’ ’¿’’“D“œ”*”“•”˜•f”›”¬–>—!—†—Ú˜Œ˜â˜·˜ ˜Æ™a™—Ý•]“’Ï’î’,’3’’(’A’’%’’ð“’¸“@“u“å”F”7“´’ã’Ï’š’ó”•–f–”{•I–½•“ß“:’]““Ä’¯ì i‘R’Ú”©•Ж½–/”땈•ɕۖm”‘¾÷‘Ë’Œ“K’c’Q”`•¸”Õ”p”<“ƒ“e‘£’ “ª“o’›’“z”P”F”‘•ƒ•ª”z”•x”Ó’¸”f–:—+—b–÷–°—J˜"˜—Z—Y™‹™¦™Æ—R•”Z“¥“f“O“q”?”ë”’–]–8–&•‚•y“´”À—–ÿ—Ø—˜f—y™ášÈ™T—Á–,—;—‰—ƒ—=˜˜ƒ˜¬˜÷˜ˆ—Í—ù—À—¯–}•ó–•“”딋”w“‡’þ““%“;“Ó’ê’Ë”>”¡•¸–¬–¤–•–•³•Œ•Á•õ•ß•›••o”[“ò“{““*’¼’¨““–•r•”~”â”+”A•=•€•x–4––1––ˆ–S–,•¶•M• ”Ý”N”J• •ž•´”÷”|””³”À””‘”¶”€”4“Ž’¿’ù“?’ì““’ž’E’A‘ÿ’’8‘ú’’’ ’e’¦“G“7’«“’”R””Ù”Ú”¼”«”Z“â“\’ø‘ÿ‘R‘A‘ã’|’È’Ç’n’R’Z’y’n’j’‘בv‘€‘בÿ’+‘EˆcŽÒއޤŽÝŽÁ޾1f³Ú‘‘E‘†‘g‘3‘1‘I‘n‘™‘«‘¨‘†‘8æv ¾IE>W–›s|D3*&ŽÿŽéŽyŽhŽç6TN?* ŽñŽïŽÊŽ­Ž£Ž€ŽŸŽ­8 ŽýZhŽg=Œáf•{½óñ¨™Ú펎!ŽŽ=ŽMŽYŽœHŒñŒŒiŒRŒ+ŒSŒª0‘¯—¿ŽŽ+Ž Že>ŽþŽúoYkXIŽõŽé ;&ŽüŽ´ŽÁŽÄŽÀ7¬³¨½"Á‰cŽ9MŒîŒ›Œz‹dŠkŠeŠ’«’B¨”í“Ì‘˜”ܕݖU•õ•k•þ• •'•G”Δ4“Í“Q’Ã÷RŽÉŽ­‰ÙŽÊÍߎ¬ŽtŽ{ŽïÃŽŽŽ2÷ŽŽÔPÿŽÇŽþŽZVÎVEŽ‚ŽŽWŽ Ž,Žì Ÿ"›ôIŽçr<ÿ‘h’’’÷’„’´“ø•@”Ô•€–^•â–v– –¹—*——і†–n•ô–—`–¨•u”¾“²•Ë“n’Ë“ƒ“ñ“¥’³’Þ’Ì“l““ ’Ü“’“T““j“º“m“ ’ý’ø’°’f’¹“"’ó“m“^“““O“L“<“)“ ““’©’Â’Ô’Ï’R’,’<‘Б©‘Œ‘‘œ‘¡‘ï‘ö‘ó‘Æ‘À‘‘}‘‘Øæ‘*‘y‘Ô’&’˜’º’è““\“–“q’ó’o’R’=’G‘£’O’<’,’’'’C’m’“’¬’ä“"“’÷“‡”{“ï“ñ’ã’ ’Г¥”¹”“Ô “È“y’!“7™º›*›ÆœLœD=Ÿ‹›®›´œ?œéœ„š˜\–Ò“ª”1•l–Ë™F–ˆ“a“‰’ì“*•Å—€”ß•“Ñ” –Å—Å™š6i˜¶–šìšØ–ð—w™å›}š‰˜ÄšM›E›#𓙿›ôœÈ™‰˜¶—Ò—à•—•X•ø– –‘–––6–…–‹–8–z–t—Ÿ—ñ— –Ö–X–`–•p”Ç”h“½’¨’±’Ï“$“Ú””p••”Ù•5•/•X•›–;–Q•ЕG”x”t”A“ú“aåy‘‘–‘›‘u‘Ë’J“,“Ò”H”’ì’N‘‡‘Á’ ‘x‘Â’Ú”M”É”!“Õ’å“V•I•‡”ï• •Õ–Q–¥–ž“æ’…“'’¸’/’4’g’Ü“7“3’ª‘uÚ½‘‘C’k’Û“Q“Q“ð•Q“Å“›”*“˜”¢–6—[—~˜˜¤˜Ï˜à˜ç™D™4—ª”ß’ã’£“’Ú‘Î’’Á““S’Ä’£“j”B”Û”Ù•”ì”єݔo“Гq’§’Æ““›“8“Ó•Ù–~–®–›•ô•)“£’'‘Œ‘’’ “‘ø‘Ç“À”Å“¸”••$••¾—8•ï•r”’’’u’”“Ë”-•G–3•e• ”©“½“Ÿn]’Ñ’˜’³“‡”Ó•ì–•ÿ•”U“‘•)•w”‰“ǕޗF——®—ˆ——ؘV˜~˜G–£˜V˜{—á”É“”"”g“¤’~’î“Þ’Û“• ’±’Ǖؗ$”4”i–,”W—3—З_—÷™åš™Œ™è™¤™ÿ˜€˜%˜n˜‹˜5˜*˜a—˜–Жæ–y— –”j•*•Ì•>”G””’à’Q’×’™“ ’Ä’Ø” ”œ”ô––Ä•ü””`”£••«–•ã•ð–K•”(“’“Ÿ“Æ’ì’¸“^“Õ”Þ”…”N”“}“À•–)–•©”ᕱ––Ê–6•”””^”“Ú”E”‘”W”8””´”ª”Ú”û•%•”ú”Ç”‰“ì““\“]’¨’‘¬‘å’$’H‘Ú‘æ‘Ú‘¸‘‘J‘_‘ë“;”8“ƓĔ””Y”Š”°”¿”“ò“ ’,‘ÂÄ‘9’.’ƒ’E‘æ‘é’#’@’X’v’­’|’:’q’–’ž’y‘)«¾ŽÓŽÆ1žs,)¨Ñ=Ч½Û‘ ‘-®]ŽàZ¸(.…C½¨hzq¼‡¼Á|bB;GBާŽú&ިޓ޳ޏިŽóŽëŽ¯ŽŽ…ŽyŽ|Ž¡ŽòŽÊŽ hŽz /üŽ«ŽŽ ŽÏöŽ îæåÙqŒÎŒkŒ3ŒŒ‹à‹_‹h‹ìŒêLn˜èŽŽ Ž9ޢ޸ŽËާŽÅ( ŽÒޡޒŽsŽ£Ž Ž±Ž©Ž“ŽŽ“Žÿv±£³Ú è º>ŒîŒ‚ŒÕŒ²Œ¤‹‹Š¬Žƒ’aˆ‘†“Èù“ƒ—”°”Õ¿–‹•c”y”º“Þ“J“1’c‘ô­57޳ŽLŽeál<펃ŽªŒ¤?ŽŽ.‘9äŽ3Ž.d( Ž´ŽnŽ ŽýGÌœŽ¾Ž^ŽŸŽ™ŽÙŽ“Ž¿*˜0¾À™L5…’’R“t“Á”••†•n–Œ—1–«–þ–¢–¾–½–H—–K–3–Å——2—f–’•«”Š•þ”“;“º”“ä“““Δt” “Ö“L“ª“]“x“€“¡“<“+““ ’Ð’Á’½’û’ó“U“““ “5“6“’ù’ð’Ê’ë’À’˜’d’ ‘§‘J‘l‘r‘‚‘l‘|‘³‘¥‘¯‘ ‘§‘³‘›‘}‘Xí|4v§í‘‘—’+’’=’Œ““?“’’$’’B‘둵‘}‘¤‘Ü’’+’’’8’d’k’~’’•’““t“¼’t’N’i’°“/“.““U“7“¥’€x—Bšœòžäž¥ 1¡“ ržk°†ÁöœšJ˜\–\•m•z—µ˜U—T•q“ë“R•˜Ž˜”c’Ó“m–©˜w˜n˜é˜Sš¥šZ–ù˜Öžšß˜F™Ú™Ê˜—<—˜Î™s—Ø•}—-š ™H˜È–ë–S•:•ü–i–¡–b•ø–[–”–´–¬–D––B—©—º—±–Ü–²–M••u”ï”{“¥’,‘g‘S‘'‘2‘ƒ’%““R“I“Ž”I•F•\•Ü•è•w“í‘(øöŽ}Ž#Ž1~¢‘Å’¥“t“—”-”N”“+’-‘¾’‘§‘ø’…’Õ’æ‘»‘Ø’É’0’t’ì’Ï’û”F•t•W•H”Ü“U’¡’{‘™‘*‘‚’ ’’’Ñ“”’„zÁ‹xa’f“ӓГ‘”ª““W“m“””¥–&–ù—ò˜ ˜t˜r˜ˆ—Ý–§•“º“K“R’Â’*’´“Ž“ã“µ“ž”K•2•«–`——œ–ê•¶•…•K”ã“r’µ’’Ï’©“#“'“ᕪ–·—Z——ž—‡–”°“©’ü’#””Y”N•Η˜—–”–o•0•H”’•”G“A’`‘¿‘ʑᒛ’Ù’’”ñ”ã”ÿ”‡‘hk’8“œ“M“n““ “@“±”T–B—+—u–ï• ”Ÿ•Ê–f–W– —Q—È—u—u—ê—Ø˜_˜K–å–Ö•‡–¼—p—h•Y“³•×–O“É“¬•x”-’”¢””ì—Ž—€—ì—©–û”–ª™ —q–ݘ`™Ö™ý™²™|™Ö™Z™˜ä™˜â˜z˜¬˜y—Z–•º—I–ë•£•R•5– ”þ“»”x“‚’ ’°’È’Û’Å’¡“&”Z”°•^•ï”ß“¥“¹“²”F••N•±•X•Œ”ú”W“—“Ö“ý“’f’}“{“à“«’Þ’„“]’Û’ú“á”(”q”*”Дò•/”Ú“Á“”“ ”`”}”7“攓ë“ΔA”a”œ”ç•g•ç– •Ø•”_“—““q“>’#‘R‘‘ö‘ñ’‘U‚1R§‘#‘¢’¢“S“e“š“§“î”””“À“t’ñ‘·Ë®tTø‘x‘4°È‘¡’’’4’¼“’ü’ד““B’‹‘‘ Š»‘Z‘‘S‘BŒ—Žø ŽßŽRŽÆ™2£a$ްŽû ޳޿qQŽÛŽçŽ}ޱެŽéQ£~nŽŽ€8ŽöŽoŽ^ŽLŽaŽ`Ž“ŽµŽ°Ž“Ž¶Ž»ŽŽˆŽsŽmŽyŽºŽŽ<EL+ŽíŽŽrRԛɹÁé÷çì·{@Œ´Œ ‹­‹“‹§‹âŒ‹æ‹´‹ÆŒ¢$U@^s¿ýÇ׎&ŽAŽgŽØŽóŽâŽÊŽôŽÒŽ“ŽIŽ%ŽMŽ`Ž/ŽŽŽ éŽ¹Ž‚ŽÿSÒáŽùzw³ŒúkVìŒm‹OŠÛŒc×px&“î“à‘I”±”L’j’Дŕs“d’‚’‘Š‘Ý‘–ÿ^íŽåãyû€±Ž]Ž+ñŽP¦ŒŒÈ@¹O^É÷Ž7ŽúÁ6ŽÙZH[´å&މŽ÷ŽBŽÅŽªŽÞ/_FÚn†ßÅ‘$“’à“ ”€••y•©–€—ˆ—‰—ǘ!—l—)–`—E–¹–C–ì—™Yš$–Ü•(•&•P”+””†”^”m”8”Y”ˆ”R””f“±“ª“«“|“j“—“$“’p’¼““~“H“/““’Þ“=’ê’e’0’.’&’p’z’Ç’¯’_’ ‘õ‘¼‘-²¯ÆÜÙæ‘4‘J‘S‘z‘‚‘M‘(‘Ód!8öå-‘‘¡‘M‘‚‘£‘¶‘»‘ ‘€‘P‘P‘û’A‘?‘*‘‰‘²‘ý‘É‘è‘ô‘ì’’’‘ù’V’2’t’P’X‘Ä’@‘ô’z’6’†’ü““b“²’’4™øšO›WŸ Æ¡ý¡† 'Ýœœ†ž"ž0œ(™©˜•T”y˜‘˜Í˜ò˜t–Ô–C— ˜”—ª•’”O–R™—Y•B•„—ëš™›²›+š ô›q™‘š™¼˜Ã–v–&™’–:•—¯”…”“–½—É–V•#•ó–N– –â–W––D––Ö䖈•q•¸–æ——]–Ó–J•l• •”â“ö“k’¼‘ó’G’<‘¥‘f‘C‘‘Ö’’’c“¾”…“é’(Ì@°[»'ïŽ}Ž«#‘š’k’ã’æ“À””2“ ’’/’=‘ò’‘}’k“‘æ‘E’’’˜’²“s•– •·•(”M’Ô’’r’Á‘»‘ ‘#‘Ò’’\’…’µ’L´¶ÛãMˆ‘“ “!’ç’ø““2“-“‹”c––Í—|—•Ò”Y“õ”•••”D“®“ð““u”0”v”ÕH–9–Ë–õ—ž—o—ª—З–‘•Æ•A“»’û’ô““L“’Í•—–K•ú–ñ—%–Ú—•¦”“±“i• –E–ð–©—ž˜`–˜–³•”¬“[’ä“.“n“R’^‘©’“h“’“‰–8•Ó••’š‘}“r“í” ’£“•j””W•·——°˜ƒ˜Z— •Z•’— —Û—?˜˜©˜a˜˜b˜‚˜y˜‹˜—ç–ê—ž—ï—ˆ—–®—ú˜Å˜2–\”Ô”_•‡”T”Ó–¤——ž—˜‹—¯—$–1–˜)—ø—&—u™R™ä™ø™üš™›™[™Š™r™†™Ä™™y™˜û™R˜G–w–O–c•¦•Š”é”0”+“S’w“9’Ô’¢“’Ô’Í“°”`”Í•u•7“²“-“”y•î•æ–•§•e•”:’é“0“q’Ó’m’C’È“|“ƒݒɓΓ\“c“r““ž“’“V“E“½”“ߓړ°”H”„”r“’“W“Á”—•2”æ”ó•-•ê–n–‹–%•µ•0”“U“o“’“’³“(’Õ‘ó‘~³‹ëøãi!glÒ‘’’p“¥“““唓Á“Γ6’Š‘ì©°D'5–¿Ñ‘Á’*’a’§“ “^“l“Œ“1“ “ ’Í’®’â’Û’Ò’£’u’=‘Þ‘=ÎŽÃŽUŽ6ŽçÏV9 CÃŽÈýŽZ,Žo]åèÁ’%ŒµŒ¦S½ŽR2ƒš¦«=ŽŒþ—jŽŽo޲ޅŽYøÔŽŽ2ŽVŽüŽ$Ž{ŽQŽ1ŽŽÉKeŽ{މŽÙŒôŒ'x/ƒ×óÊË”tZŒn‹ñ‹œ‹Œ‹}‹îŒMŒNŒ*ŒlŒµŒøW;U»–e[—ÌŽŽ9Ž|Ž”ŽŽjŽqŽààŽÔЮqq"ŒÒŒáWÈŽ]ŽÑŒNR¾È™}㎑ŽŒ^‹ŠáŽˆ‘5é‘¿•o”“ç“Ä’}‘v’’2‘ ‘‘‘|‘N‘.ˆÙ”ŽãŽ‰Ž ŽŽŽÖ“4ާŽz Œ¬ŒÓ'ÄŽOŽ´Ž£µŽùÙí©7^i|«]êŽêÒŽ8ŽqŽžŽ„ŽÂ~—\¹’Z”“ª“‘“󔱕d–Ž˜˜^—똘>–—y—Á—–w•ö—v˜æ™4™ß—I”]”b”ƒ””|”‚”=””z”v”z”f”‘”N“Á“j“”“|““’”’Œ’’’^’ÿ’Ñ’ä’â“’Û’Ù’Ä’œ’F’$‘ó‘ȑŒ ’’4‘Ò‘µ‘Ÿ‘’‘Ѩ¤º¢¹Úæë‘íúôµweZ,ì]ªc†Ÿ å½pŸ¹Ø‘5õ‘b‘¸‘Ï‘þ‘v‘€‘Ñæ‘ë‘Þ‘æ‘Ë’’ ’#’’‘•‘Ç’’€’K’·’Ë“ ’Ý“j’=“ ›™h˜ÿœÊž < £ Ö /œšœRŸ ŸŠ™™—–”ږǗŘ—˜Õ˜û—ò–&•à•e–'—Ó˜è˜ð˜š–Ç—š®œ†›Ýœ¥-ž`œ—™]˜˜R—9–7—˜µ”’µ—®”_’Ÿ”¬”²“!’ô•n–p——i––À–˜———r–•<•—–C–•ú•²•š•R”Ò”œ”ê“Å“$’b’’Q’*’„“X“J’Ý’é’¾’ƒ‘è‘e‘“‘½ˆu޶Ž­µ¨ýŽCŽûõ‘V‘‘‘ý’_‘,‘J’Û“(“8’¹’³’ˆ’ ’‘Ë‘÷’”’u‘Ë’“#’ڒГø•À–Ì•ì”:”“‘ŽXrõC ²ë‘‘õ‘ö‘¯‘ä‘Yü¯‹·‘·§‘ó“I’B’’Ý“#““”O•œ–}–¸•“ý“Ü”K”´•9•a”Ó””3”£“÷“´••é–/–|–£–Ú——%———J—t—E–Ö”\“t“P“:“:’è“A•¶—6—D– –ø—œ–‡•l“À”2”.“d•×–+–¦——Á˜Q–æ–’•œ•p•”k”"“»”“Ï“t”“דٔv•?–•𔽔'’æ’z’Q“§’ù”›–D”æ–>—ó—”—j˜˜(—=–¬–Ò—Œ˜O˜^˜Å˜Â˜‘™A™p™™4™r™£™Y˜ê™˜E—–ԗЙ™‘˜×˜ ˜–Ž— –÷–Œ—B–Ò—ï˜r˜¤˜—’—И—g–â—ç—Ø—Ú—à˜e˜;™€™Ò™Ìšfšlšgš¨š|šÄ›šëš¢™P—™•ò•ø–'”¹”” “²“Γ(“a“’¥’Ù’Ð’Ó’¸“z“ý”j”…“Ê””3”õ•¯•è•ë•™”ü• ”C’ˆ’’à’¦’|’¼““`“[“““‰“Ô“q’ï’µ’ÿ’¹’ƒ“}”^”m”””,”£””‘”“Ž“ë”Û•J• •*•7•O•¹•®”¹”´•”Í”C“ú“¥“–“Å“Á“f’[‘jËyôM,J&‘‘d‘‘£“O“ˆ“È”“å“’’á’€‘¹Í­Ž«Ž—ŽÏoÙÑôù½‘þ’Û’Ö’©’ö“j“Õ“þ“¿“j“i““²“¡“R“0’ù““ “’­‘fŽ[ޔ޶¨ ïø…ŽòŽQީ޾ŽpÒ‹’yŒáP¸ÐŽ9ŽŠ"nl)Ž¿ŽD×^NŽ(ޡޏŽzŽ2ŽèôŽ"ŽÖpŽ@‚u[F^iŠ qŒã ŒùŒÌNDŒ®YiVxs8ŒÑŒ½ŒrŒ‹¤‹Š‹?‹¥ŒhŒtŒ_Œ[Œ_ŒšŒ³ŒÃŒÆŒ»ŒÜŒ¢ŒnŒ‚ŒÕY¢ùŽ3Ž;Ž Ž#յĿvO&ŒÝŒŒ~ŒiŒ…ŒáCÖŽŽ$hëŽ#ŽWíŽlŽtŽ«‹ÅгŒ[1OÁá‘o“Ø“œ’<“¢’N‘Ôwð‘‘ÍÉ*ût ŽrŒÚYGiRh9ŽÈŽFÕxÌäŽeOŽ ü(}ŽçŽŽ~Žæ´ ´Ìߎçê¾ìŽèŽ?ŽwòŽb?ŠÑ´’’K“¦“r“ù”‘•x–#–˘˜Ü˜÷˜T˜q—b— —£—{–ê–—E˜4˜/˜–¼•Û•“”“@“˜“²””9”^”””ƒ”’”=” “”“Q“+“’R’9’’‘ë‘Ü’’’¡’æ’Â’Ã’Â’”’›’¬’G‘ü‘Ø‘½‘¡‘ґ‘‘¸‘}‘U‘‘爜ϨºÔ×ô÷ïÚ¹‹sYMÇÚ%?ýøÖÚ$B^ž»ú‘J‘\‘p‘U‘{‘¸‘š‘§‘ÿ‘ó‘ù’‘ç‘À‘|‘|‘Š‘s‘Ë‘ñ’7’¦’’“~’Γ‚’8“w›¹š˜o›¨‘¡¡u¡Ï¡xùžžŸ]¡.žÞ˜Ù•Ì–Ñ• •;•®– —g–Ñ–?–º•4•E–ݘޘG–¾š—†–¾™\š[šË››íš£›bš–™ª™J“:“U–É•˜””­•“š“F“ÿ“€“’”’µ•–§–è–Æ–å–ž–þ—(———•”Ñ•d•c•Š•s•^”…“µ”]•{•<”‘’*‘{’0‘ý‘³’Q“9“f“¤“|“B“S’g‘!‘G‘ _oŽtŽŽ|ŽÔ7Åõ‘n‘º‘^‘¦‘¢[&’[“’D’Ø“ª’Ǒܒ%’P“Š“’’Ï’á’ò“¼•§—L—f– ”O“v“0’QÌ‘5’ ‘Ù‘RÛ@’)“Y”×–U—…—-•3”“ ’Z‘ª’‘`’6“%‘Þ‘÷’œ’ò““9“Ε •œ•,”†”&””o”d”?””0“Ç”%”D”q•a–N–w–O–r–œ–º— ——S—Ÿ—q———u–¬–)•5“¤“'“0“R“`”E–”ô–1–¼—o—ö—0•á“Ê””Æ“n•š—9——Ï–”ß•_•á•î–‚–”–e–M•¾•­•0“ø”D“9’ú•:–Z—|—2–©•Ù”’’’É•ø•̕떫–ã–¬–í—\—ˆ˜Q˜—–¯—;˜˜Þ™™+™–™òš:™Ü™>™Â™à™i˜½™™—Ï—†˜#˜ç™F™¶š*™Ž™¾š˜p—,—З4–û˜v˜Ã˜p˜ÿ˜€˜dšµ˜ò——Ù˜˜1˜;˜ —p™,™¾šqšÍšÒ›&›•›»›w›.™ë˜–Æ—–›–k–J•_”ú”f”?•J”Ñ”“€’Ç’a’‚’±’•“1“i“¼” ”Ü•/”Y”·”Ù•C•‰•}”“•”s’×’’’N’¸’^’Œ“y“m““¶“ê“ғГ’$’ ’3’U’Ì“ï”ð”Ù”I”ª”£”µ”è•”À“ѓ֔Á•C•• •,•&•8”¼“Ž“º”ì•·•›•’•š”Ù“þ“Ù“÷“6‘°_–ÎdZC±ˆñ‘ô‘Å’M““_’zð‘’t’\’‘ÀåÝºŽ«H&‘‘ï­Æ‘¬’,“ “Ê“M’Ê“(“î”|”ƒ”!“Õ“’“‘“”“£“†’ü“’û’ì’Ð’è‘ެ޷ŽêDŽ£PaNŽc]­PC¨Øz7Ÿ³@z½ŽTŽŽ0އŽÉŽøŽ®ŽOŽ-Ž×àŽdŽþެŽhŽˆŽ—ŽŠŽ—ŽŽMÏ}ŽHjyG“÷“û“J“’´’—’!’>’;’E’P’6‘û‘Ý’#’o’’X’[’M’’’`’D‘Ú‘Ë‘h‘c‘‡‘ž‘–‘Ž‘d‘k‘]‘Y‘$蘾ºƒb¤¥¨¸­¸Žp69ê”´´[hn¿ÐÙpàß‘ ÃÎßú‘H‘`‘„‘y‘¤’‘ó’‘Ø‘¯‘¦‘š‘(‘)æ‘g‘Ý’G’½’ü““X“ñ“r’ö˜¿œ­š‚å¡(£¢7¢0¢_¡©¡ÄŸ*žË »Ÿf™E–€—ƒ—È—,•╨˜—N–©—A“é–Q—?–[—«•—G”•šÍœ-›¤™±˜‹•—˜V—(“¹•š”Þ“;““t”¦• ”甕A•Ó“/“Õ•––n–Y– –³–ï—3—A—1–N•)”à”V”ߔǔÁ”c”…”©”¿”n“f‘H‘/’¦“>’ú““‚“´“Í“ý” “Ö’û‘Ü‘w‘¯ÍAŽ”ŽÜËœ‘,‘鑤㑻’#‘1‘C‘o”P”÷“Ú”1“‘Æ’ ’ú’l’µ’Ð’Ç’I‘s’Ö•!— —o–Í•½”‡”E“¬“[“M”/““’’¡h“K”Ý•`––ü—’—¢–ì•‹”¸“y’j‘î‘ü’‘–‘{’’µ’í““À•”û”|•”¢”C“°“b“p“’ø“'“á”`•O–4–Z–W–¥–Ù—–ò–í—'——W—Ó˜R˜h———•ò”ƒ“‡“¬“Ÿ“Ú•””d•ä— —‚—§—–Ó¼“¸”Ø” ”{––‘—0•d“攊–ˆ˜—°——®—–O–.–”|”“Ê“À”••–G•K•¯”‚“ø“J’‹”à•E–ì—Ö—½——ǘy˜>˜4—ð—Á—Ÿ—ݘY™ ™7™V™š5šmš2™Ì™¨™ ™6˜ÿ˜õ˜—˜˜B™7™l™c™iš.š,™I™D—–Y˜Ö—ø—X˜j˜œ˜™™O™l˜Ašš£™@™.˜Õ—â—™˜/˜c™!˜ÿšPš÷›(›E›[›Š››™è˜–¸——M—ˆ—–4•«•”Q“¬“ì“ä“#’˜’M’P’2’ª“B“I“Ç“š”x•”O”À”c”1”–”ä””#“’ä“’$’Š’É’‘“j”(“á“°””m”“b’(‘Ǒۑǒ¥“씢”蔼”å”Ù”é•2•Z”í“ä“¿”…•$• ”¯”Ò•h•ƒ”ݓє•¢–u–£–Þ–Ÿ•«”Õ”R”_”|“_‘-Ý‘®‘‘‘«‘¾‘®‘x’E““Ú“‹’1ƒ‘¤’Â’ ‘Ž‘/Ž×ލ÷ý‘ ‘#‘‚‘—‘C‘¹’8““ý“ô“’¹’á“7’ÿ’]’‘ߑӑޒ>’Ž’Ê’Ä’O’R’@’‡‘´Õn”*ŽU=R8¼ ŽrŽ\=‘õ´Ž¸›-hÚægÌŽcŽYŽDŽLŽKŽ™Ž?Ž(ŽWŽ펎¸ŽÜŽáŽøŽëŽÉŽ©ŽºŽ´Ž8Ž“·†cG[Xµ¹¿‡òÆŒýŒçŒÑ>Œë"ŒÓŒºŒÈŒ—ŒAŒ‹ö‹È‹u‹Ÿ‹§‹’‹‘‹ÖŒŒŒAŒG‹á‹©‹„‹‰‹™‹‹¼‹ÿŒLŒŒ™ŒÀŒï0D12%Œ­Œ{Œ4‹á‹“‹¬‹•ŒŒŒŒi ­ÍŽoŽ`Ž,ŽŽUŽ~ŽgŽ|ŽfñŒŠÛ‹c¥U}‘´“ÿ%3‘@¢•l‘‘VÊ ÏŽø(Ò@ŒàÕ^™>Q~|e<ŽtŽ×¥µÃr’œ¶¨Ž/ŽsŽìŽÕGÍÛŽÏîJ{ŽZŽÏ—›|,‘‘ ‘‡“㓟• •ã••^––à—ü—Å™W˜ú•s—–f•ó–â–Ü•ü–”Ø••ô”““I“X’’Γ\”“픓ñ“““L“H“ ’ó’µ’Ã’‘Þ‘ß‘ú‘ú‘â‘ב¿’’ ’’‘בۑè‘ê‘®‘‘o‘[‘b‘S‘Œ‘‘`‘q‘X‘c‘U‘¬·³°Œ£Ÿ~IQojs’†[W<ްކŽÓ’éŸÌÇý‘<ƒ½Þ‘‘ ‘(‘b‘‰‘Õ‘ê’‘Ó‘µ‘K‘L‘A‘1‘‘¬’ ’É’Ö’ÿ’à“l“Y”ª’-’êî͞㟟!  % ¼ ÷ ­¡   ŸŸžÇ™£˜˜A™—´—s—à——K——m”ø–á—•ä™D•+”a”–b™š)›—Æ–Ç—ô–•‡•á–¶•p“„”¹’H’!”5–——!–î–Ê–_”`“Ì““““6”•§–D–ò——/–Õ–”ò“ü”©”•”y”˜”ᓺ“™“þ’­‘J‘¼““ª””Q“—’Ö’X’’‘ß‘‚‘‘‘ ®Ë7*ºË‘¡’o’.’Ä’í““n’Õ•\”|“¸’‘{‘Í’ ’`’³’“’•’b“Q–—N—~—X–à–³–•¦”Æ”L”“ª‘æŽÓ†B$’“Ä“â”V”Ž”ù–Q—_—–<•¯”m’ð’W’Z’V’’’8’¾“הᔲ”g”v”$““–“‘’ã’W‘ó’;“Ü••x•º•Ï––Q–˜–¬–­–Þ–ë——U—ˆ—ј<˜}˜:—r–ß–®•“°“““Y•2••x••Ÿ–‚—–B“Õ•I•㓺” •²–µ—Œ– •”Ê•>•ß–è— —C– –•ó–I•'”#“ü•I•²–¤˜— •Ù”G“Õ“ª“É••á˜_˜o˜6˜À˜Ê—•——V—ݘ¸˜ì™™kš™ßšš1š‚š6šš)š™ï™]™¡˜ç—æ—¸—ã™$™âšštšš™“™—B•––£—E—M—á˜u™5™Y™˜&˜›G›)šsšr™õ˜Þ˜®˜’™´š’šÝšÈ›› ›/›^š™Š˜_—5—%˜;˜,—|–”•è•…•7•<”ž”’ë’0’Ü’Ÿ’’’’ã““?““º”¾”Ú”à”n“Ç“õ”c”Z””“ “’â’X’Û’¢“”½”¹“ “”a” ’ç‘ʑʒ!’’ç”Z”¾•"•:”þ•E•Z••Q•“ÿ“‚“¤“ø”””°•8•”Ú”}”è•ý––W–f•µ”ݔ͔»”p”-“²’ó’ò“B’h’Ž’’E’J‘°‘í’·“ “ “f’‘<’j’(‘f°C’ެŽ#ŽÈ)‘#‘H™–u›‘‘¸’g’s’Ñ’|‘“òõ‘Z‘‘i‘M‘?‘'‘Q‘P‘U‘7‘‘ϑ璑ߑ‘‘P‰ÀSy•Ó‘ÇÚ½ˆ@,¼ŽÀ^ŒþŽ'JŽæõàŽ”Ž¼ŽÓŽ­Žkޱ޾ŽÏŽ­ŽŒŽƒŽDŽEŽZ޳#ŽôŽàޱŽò7CQ_F\LGGž’Žvާf.Œö 'J ŒŒ$‹øŒ‹è‹Ë‹ª‹}‹q‹…‹Ó‹à‹ÿŒ‹ý‹À‹Œ‹J‹?‹K‹b‹…‹Ð‹üŒŒŒ,ŒTŒvŒ¨ŒÃŒÍŒ¥Œ‚ŒBŒ‹öŒ+Œ‹õ‹…‹™ŒŒ=‹å‹–‹óŒˆƒŽŽwŽ]ñåŽ@úŽYŽŽŒ¶ŠÓŠª‹ŽÎ‘ŠÎ{,‘+‘o‘r‘—\,‘ ®©sBE½¨HŠ0©W–1Œ›‘÷ދ޵Æ[(Óö©Q4D{' ޼ŽõŽîËŒŽ<šªŽŽ.N¸¥£Žê‘l‘³_’š“¹’Î”É•h•é•R”ו¹–€•ê—Å–(“f–Ë”å••â–Æ•î•”­•”ã“‚“ž“K’ã’‰’ß“7“é“Ë”“Ì“““v“m“_“8“%’Â’‹’„‘Ë‘‘"‘M‘\‘t‘’‘ܑޑёő•‘Ç‘ú‘“‘D‘P‘!‘a‘_‘g‘X‘n‘‘n‘f‘M‘S‘z‘[‘Áj®Ùško,O1´³1Úx+ŽÕŽŽ{ŽÓFŠõ<¶éò‘r4‰ŸÂÀùê‘'‘t‘Ò‘®‘y‘Œ‘®‘n‘W‘S‘I‘b’ ’“0’[’è’’“?’u’Ñ‘&‘ž%žÐæœÍœ Ÿž`  ÙŸî¡¹ OŸÄŸœ˜¾™)™à™U˜¬™œš™e˜Ò—«—Ý—ö—¥—A–™˜”Œ”y–r—À—䚘¬—k™7™#•*”:“Œ”Γƒ+“è’G’¤’“ç—Æ™¢™Ï™/–=”Ò•^”h“˜“씕)–¥–Ò–à–í–•”w“î”j”U”4”³”y””ƒ”’‘³’ö“‰“ß”&”F“>’/‘Ö‘®‘Ì’‘Αe‘?‘>‘U³ÛÒë¬øh‘æ“R“ö“#‘ò“L“À“†” ”.“D‘ݑ鑸‘Ö’K’“ “›”^•––ú–Η"—Ÿ—!–±–k•Ò”¨“q’¸’Ë’î‘¡ŽÝô”‘©“z“À”¶••L–—5—ý—·—•û”[’ë““ “…’†‘ð“C”m”R“˓哶’ß“C“>’‘ô’’ò“ؔʔð”þ•.•s•¼•õ–I–¾–Ö½–ì——e—W–í––•î•Еƒ•ç”»“å“È“‰“F“ê”c”K“¤”6••ΖL•Ì–>•e“à•€–F•ì•’”V“è”Ó•ü–j˜3—€•¶•B”P”Ì–•˜”å“ò••– –Š—§–V”ë”™”&”:••s—9™Y˜ê˜×™˜Î—è—ã˜u™4™z™™d™c™¹š9šæ›y›ä›ç›mšx™õ™þ™ôšš˜è˜M™ššƒš˜šNštš†š™h˜Ú—–——D˜™˜™™ ˜à™†˜Ú˜ šÃ›cš¾››Rší›d›H›m›-šÈšìššušúšy—Ú—N—L–õ–}—L˜P—•›•e”é”h”b”>”“š“+“)’—’ ’X’Ž’Â“U’õ’Ö’¹“Q”£”ø”•””†••”Ô•"”,’ì’k‘Á““,“[”5”\“C’¡“ü”š“À“(’³’x’Ï“T”N”„”ú• •&•/•”Ø”ù”ü“i’m’U’3‘ñ’ “³••r•Š•]•¨•Ö•»•Ü••3”u”R”Δؔ9“È“»“½“ç“’~‘ä‘»’ ’š“+’Ü’’n’ù’ß’Ø’§‘Û‘tWý$Ž0Ž}4G‘(j†<‘ ‘f‘r’>‘ù‘Þ‘µ‘%ùé‘=‘lûáÔê‘(‘<‘ ½Ú‘J‘¯‘m‘‘Š‘HG½j…‘º‘â‘Ñ‘Zµ[a’1ö±nŽìŽWøŽ_ކŽoŽqŽƒŽ€ŽûŽ‚ãŽ,ŽŽ°Ž¯Ž¾Ž¹ŽÙŽÕŽêŽÝŽí"ŽõŽãŽà޲޳+]T0:=8*/F…ŒŽÃŽÆ{ŒùŒà ŒñŒ÷*, ŒÁŒ7‹Þ‹‘‹…‹x‹s‹^‹c‹q‹Š‹¸‹”‹œ‹„‹z‹L‹ŠÄŠœŠÈ‹‹‹G‹{‹Ì‹Â‹Ó‹õ‹üŒ'ŒSŒVŒ‹È‹=Šû‹ ‹Ÿ‹éŒŒ)Œ-Œ.‹ò‹¸‹]‹®ŒmŒÅ6p®¿Ž¤ŽŽݪxŒý‹ÙŠeŠD‹³1¥™³¦’í’í‘0»áøâºåÞ{µYì‹lêÌç¶,hß ,ŽjŽLuŽÑŽéEÅäŽþŽ ŽµÏ»jí²í,$|bŽ® ‚掷SúŽô‘O‘êô“O”.‘ý””ã•I”w” ”²•Y•[—•À“1–Ÿ“𔓔”È•A”­”V“M“f““®’Ü’ì’k’r““¬“­“Þ“À“y“%“-“3“’ö’†’\‘ü‘ž‘‘‘[‘Kù‘3‘;‘‡‘L‘[‘#‘‘ª‘º‘)•­É‘C‘'‘7‘l‘v‘c‘8‘(‘Z‘è‘$‘F‘Þ¼ï÷vWQc+Š#ŽÙŽí8¼Ad–±mâgK“g¦Àïö‘-‘T‘”‘ ‘³‘‘Y‘2‘‰‘’*’ö“v’t’¨’¤’õ’«‘Ù‘DšÖžÿŸiênžÐžCŸÈ ŸÑ ˜ 9¡žP— ™¨šŸ˜Íš»›¹››·šÕ™…—r—‰–Þ—–ɘ´˜í“‡•ƒ™]šd˜ò•Ž”9–³—š—š•Ä”–P—x“’“C’/’e’ “ñ—-™Ö™¯™4—Ó•›”®”s“Ý”µ•y•…•æ•T–V•Þ•”É”õ”Ÿ”““ù“ò•d•p•ã”þ’Ø‘Á““é“Q“‡“唓(’v‘ёɒ¡’|‘ì‘‘‘g‘…‘Jæ¿MÉ‘ ’““(“𓬒ù’Ã’1“r“á’È‘í’8“Ì’ ‘÷’‰’¦”Š•µ–•Ç–i–›–@–K–V–5–+–•)“h’8’6’1ͪ‘²„Û‘Ï’ð”y”à•‚–¥—D—Θ›—!–/•&“W“Ö“ó’Ë’*’ÿ”N”W“w“‘“B’Â’â’ó’{’6’q’é“Ë”S”^”`”¤”Ô•8•:•»–*–D–t–À–ÿ–å–j•“Г֔@””r•2–•D“Óԕ=”—“¢“n“†“Ï”p•É•>•R–d”Ú“ç•n–Ç•4“Ê“~”¯•Ó–ª—Ä—µ—¨•ç••7”€”Ñ•z”4”â•°–•!”Í–•ß•9••-•Ÿ•~– ™›>›šÖšò›–›Q›››Ù›{› š“š\˜š—¤™]šÇš}š¡œ:XœÓœxœœ|œ»›ÉšÅ™«šš5špšiš`šmš`š4šTš˜ —ᘉ™™Ú™Y™™/™G™Œ™Ù›ššÌ›"››%›²›ešd™x™Öšš#š{šì™k——w—J–º—-—p˜–ï•þ•Ԕꔴ“Ø“(“Д“ˆ“““I’Ó’É’µ“&“’©’’š”Ž•L”}”k••®•À”ܔܔÁ” ’À’f“â“$“6’Ô’Ì’Õ‘ñ’Ô”‘”ž”<“É””i”r”´”7”c”*”“”|”°”æ”Ôñ“U’‘é‘l‘^‘˓ȕI••§•™––*•Е®•O”×”]”D”š”×””Z”{”N”“F’t’I’™’ ‘Ô’‰’Ê’ª’M““’1‘‘‘%ª·Ž’õŽû%K¨ƒÿ‘›‘‘V‘ˆ‘½’F‘°‘£‘È‘•‘j‘‘6‘ ‘‘Ëô‘$‘#éˆK›¾‘>‘l‘|‘;Ó‘ã‘n’q‘ç‘~^ÒŸ4ß§ÐrÖ ŽWŒÃŒ×2‚ŽHŽ“ŽŸŽ¼Ž¯ŽÁ&=1ŽôŽòŽóޱ޵ލŽÈŽÈޏŽÀŽéŽïŽà ‚õ+Žïv{SŒÔŒ ŒŠŒhŒ§ŒúŒûŒæŒ´Œo‹ð‹£‹\‹ŠÙŠËЬЛŠß‹&‹5‹ ‹‹1‹2ŠîНŠ_Š_Š©ŠàŠÁŠÑŠö‹.‹2‹p‹‰‹s‹‹¦‹˜‹…‹QŠØŠºŠð‹q‹ùŒŒ+ŒŒŒ‹Ö‹[‹ˆŒoŒÃŒŒwŒ½ŒÅ5+rÑÇÀÆŒýŒDнСŠXÏ‘»ò}Á‘’’~‘v’ÇIT'ð\³3‘+‘!ÔbÆÏ ‘‘d€2^iQŽ‘‘ ‘‘?‘,‘œ‘§‘!ñîãvAüËÝû­Ã«Ž'Ž6Ž2ŽFŽ)Ž ŽŽ*Ž¡ŽÌŽÝޣޠŽÓŽü ŽØŽž(Ž¢Ž{Ž$üŽ/ŽpŽsŽˆŽ¦Ž–Ž›ŽûR6LXñhŒøŒõŒÁŒwŒIŒCŒ‡Œ¿ŒÄŒ¥ŒpŒ ‹OЏЉŠCŠŠ#Š-ŠFаиŠéŠò‹ ‹&‹ŠìЇŠ&ŠŠ[ŠŠcŠPŠvŠì‹:‹z‹‰‹‹K‹ŠêŠý‹‹‹ ‹:‹O‹[‹¼‹ú‹Ö‹¡‹´‹·‹£‹ÛŒXŒlŒ-‹ðŒ$ŒYŒ_Œ½ŒýŒÑ57ü´6‹á‹4Š‹v,ÚYíå‘4”É”O’²ÿ’R“ËêÙW.ü‰$îHý‘Ž‘Ê‘3`B;tLßV©nXA‘‘ )ŽúŽáõ a5G¾kƒªw¡Ë»¹ŽÝ–‘^’5‘C‘_‘Ÿ”h”–”´•-•$•;”Ç”a”R––3”K“w”ç”ú“;“(“²””•Ú“¶’ê“I“H“]’Ó’Q‘ˆ‘R‘î’g““J“’ê’§’s’i’P’N’Ò’¸’{‘瑘‘CòÚÔ¶\**X<.ªÛßÃȲ‘)‘ éà™(àqŽú- J[×Ř,…Ëkh°·‡YM[CP~’ƒ‡›^?.T‚¯ %A)K1}X£™‘ã‘#‘†‘´’¥“’Ò’6’á‘‘ýœM”oš<šèš"šÞš›<ž¡!Ÿ  {¡¡KŸiœ;›Ð›i›Ö›Þ™ü™h™˜šÉœg›e˜µ˜^—À—Ø–º–q˜˜Ò™•è”A”˜””‚”¦“”7˜wš¥™I–”“à“@–©—Œ•Í–•µ“’õ”–À˜·–º”à•À””¶••`•l”Ê•J•••d•h•@•.•`•´•F•L”„’Ä‘¬‘ˆ’½’…““”H”¸”0’’9‘Û‘Ô¿!‘t‘b‘p’S“°“þ“Ÿ“A’³’¿“,“Œ“Ž“—“¾”!’Æ‘<’'““#’e’ГÓq‘É’“g”!“`“”Æ–™——/–ã–•B”!””!”B”“““A“;“K’í’|’+‘:Ï‘€’S“-”’–.—D—š˜ ˜1”ó“§’ò’`‘ö‘)’ ’Š“T“’«’ ‘?‘‘E’+““›“9’ç’È’ç“C“ä”'”a”å••n•Ç––£–h•Ó•Y”Ò”D“]’z’g’䔑•?••Õ†•)”™“ö“ȓ픕K”’• •¿•Ò–Ò•8“[”Q•Ε‰“.“µ•D–¢—‘˜#˜—¡–š—*—ñ–ã—f—q—0•••˜—ã™Í—Ö›—Ò˜——–Ęçœ@œÚœ:œ¦œÎœ«œœ›êšýš)šSššKšôšýš¿™i™0™N˜†˜A››®›šÊš¸šl™¦šÅœœ˜›‡›*šlš™i™™™Œš™Z—"—D—.˜M™¤™Š™M™=™s™z™Z™÷š!š™Äš$š.šˆ™ì—Ý—€—M—§˜J—Ø@š$šÒš–šP–û•¨–¢—C—º—˜—½—E–Е­“¶“’ë’ÿ’°’œ’K’¨“M’ö“9“V“X’Æ’ã”<”I”j•¡•]•”þ”«”"”+”H”(”ò”É”f”i“’p’à’ì”›•K”½”y”†”¹•k•…”’”d”ž”ɔޔݔž••” ’3’…’^‘̑ג{“­”:”“°”O––Š•Â•+”Ô«”¸”씊“£“““•’Ñ~šG@î°Ò©‘¦‘7,T¤Â™ÑÞ&¯·ùØ‘ý‘ñ‘º‘\‘Í’“’1‘û‘æ‘£‘Á‘󑺑e‘;‘‘$‘‘1‘ ‘G‘iÿ~ÌûA™‘?‘P‘‘Z‘w‘j‘‘R‘¨‘lû‘<4=Oc i”ýÐ ŽãŽ›ÌŽŽaŽŽ Ž­ ŽÈޤŽiŽÂŽûŽÖŽÉŽú+)Ž{æÒö÷ŽŽ ŽŽ:ŽMŽ‚9ŽÙŽyޝŽyåKŒåŒ¨ŒŠŒcŒ^Œ”Œ¹ŒÆŒžŒ}Œ‹]ŠŠ{ŠsŠCŠ%Š2ŠgІŠ{ŠcŠaŠŒŠÄоНЄŠiŠ9Š7ŠŠŠ*Š^ŠÁмдŠÍ‹‹оŠ;Š\м‹<‹3‹ ‹&‹F‹Â‹Ô‹«‹z‹¥Œ‹Ö‹ÓŒŒ‹ø‹æ‹ñŒ‹Ý‹ÌŒTŒ)ŒiŒ‡aÐâ‹ó‹„‹%õȱȲ“•¦”ê”h”÷’x’ªQŽ|Ž[ ¦·ºá”ö‘ÆùJކŽ*ɦŽ';¤ÿÀ`¨µ‚.(§ÇM"BQCD ÿÒWŽ[Žæ’‘‘טû’Ñ”ë”j•&•à–ô•ö”›“Å——a’c’´““ü“Q’㔵–Á•Í“1“ ’Œ“X“P’ä’5‘)¿‘&‘r’A’Ï’Ë’x’K’3’K’S’,’s’G’C‘¶‘z‘3æÁ’{6ÿú¬©JyÈ4R„v¨‘ûò=éíÒ\ŽúŽÏŽü:ƒeŽ™ŽqŽ¤ŽžŽ“ŽË&>\0taXmzF,9#?zƒ‹‹¾˜Åãâþöðx‡š¨‘M‘J’<’Ä’E‘ì‘TÜ‘u“™–šD—b˜#™|™šš¦àž Ÿê¡ó¡UŸL ›d›¡œGœ(›hš>šœpœD™˜—!–`–)•µ–†˜L˜×—j–¼—Ô–ß•b– •¿•q˜Wšÿš”™©™«–‡”*—-–•–!–®–0—»–”.”>—t—#•Ñ—5”·”™•-•”ú”€”B”ÿ•f••:•$•%•J•Q••¸“¤‘÷’<’Û’½“הΕ’ò‘Ó’Ç’‘Œ+a~‘‘Б5‘¼’Ò“”)“Ø”“³“»“⓽““J’’3’è““œ’““®“M“Æ“ô”p”5““Ȕꕅ–ª—´—Ÿ—"–^”Д)”J”¶•R•]”ë”@“â“à“z’µÓ‘r’W“.“єΖ3—S—¢–ˆ“Ô’ù’«‘º‘:‘~’(’?’Á’E‘Qëñ‘W’z“M“b“5’©’{’ˆ’þ“‚“å”z””¨•)•§•Ä•o•H•=”º”b”p”'“’ö““w”ò•)••î– •ÿ”ݓ֔b”Ä•,•Û•W•‘•^•…–”š””ߔƔ]“®•¨——”˜˜7—à—?–ï˜5™˜—ç—o–¹•º—Å™Ašvš‰—Ú—ð™>—ë–[–/—l›N&œ•†OœÙœP›AšƒšQšKš/›:›š[šl™d™V™ ˜w˜˜›ÜœPœGœÚšÿ™æ™®› ›œœiœÝœn›éšâšA™ðš)šU–€”—5—Ñ—m˜Ò™G™a™º™=˜á˜ç™ ™$™-™R™“™`™Ã™³˜¾˜e—»—o—á˜øšŽ››š…š-˜$–à–·——å˜Ï™¼˜þ—¢—#–{•*”ž”o”Ó”“=“D” “Þ“.’í’ä“’é“4“ñ• ”÷”g” ”•’ô““’“Е•:”ו”ì’¤’’€’Ÿ”n•”$“ø”g”ª•{•[”È”ø”ö”””ޔɕ•>”‘ø’+‘„‘›’w’:’ª“ ”’”5•u–ˆ– •o•(”µ”­”<“=’Ú’–’’…’a‘eT”Eޣި Žá‘Y‘môJQë‘~’Œ‘Úÿ*•óEGÿ’$’‘ç‘Æ‘Á’c’Ž’’4‘î’’ ‘Ç‘‘E‘?‘7‘‘`‘d‘š‘‘/…]ô‘‘\‘€‘\õÞ‘Y‘£’-‘°‘· Ž R…í¤¥Üèä¸{&@Ž…ŽŽŽZŽ™ŽöUo)ŽÕŽJŽoŽYŽ{ޤ޼ŽâŽÝŽ‡Ù£~©üŽŽö莎DŽ{އŽ#ïÕ©ž7ŒÏŒŒqŒ[ŒdŒnŒfŒwŒeŒ?‹ì‹RŠ€ŠiЕІŠsŠŠŠ…ŠŠQЉìŠ>Š”Š•Š“ŠˆŠc‰ø‰¹‰c‰o‰ÖŠEŠ…ŠkŠiŠzŠÔ‹Š£Š+Š=ŠgŠ£Š³ŠžŠï‹‹C‹p‹a‹R‹G‹‹‹£‹Ä‹­‹Ø‹³‹r‹´‹´‹ô‹Á‹Õ‹Ð‹ÀŒŒ˜gêì7ŒW‹kŠâê=qŽ·”•Ý•‘¡”h’ ìàLŽ·‰ãkIIg5äÜ}Á–OmŽìO@‘ÑúHŽþxsß”Vò%‰OÛ&‘m‘À°Žñ6?Ž¢Ý‘ iŽøL“X“¹•z•ø–u”¹•|–•’˜”î’’‡”;“A’`’Û”x”)“ “’“b’÷’þ’4‘Ï‘–‘¯‘ì’m’R’a’6‘ó‘ç‘»‘Å’’‘ç‘Õ‘Ž‘,ǶyX!ÞáÝÀ_6\Ì ?¯ýhe²½Úöº c*ŽóŽÏŽ·ŽzŽ+ŽcŽŽxŽ®2csE%Žû,ŽÒ4a[bULY\;imq…xV^fsÏÈáɦ3ñ_‘‘T‘„’‘c‘ls0©–Șœ–•Ø•ý•‡–Y™™—šYœ#Ÿt¡Ÿ"žœn™qš®›Ô›ºœŒWœŠš/™*˜ —b–É—“–g•–•/•Ä—všŸÐ²– œûœ››¸œÞœÇœŸ˜æ—˜Ú—W–ý˜„™lš{š'šA˜Q˜›˜d˜˜9•1”°”ó•>•y•”Ý•N•”¡••A•.•p•~•:”~’§ñ‘u”'“{“ø”õ•›•ý“2’’‹’ ‘l‘&Å‘V‘l‘î’‘×’J“h”L”“þ“÷”T” “š“/’Ó’·“®“Ö” ”R’Å“;“ ’ò•)•y”͔Ĕç•(”¹”ì–¿—–f–z–‘–s•ç•›•”ù”Å”4“ý“˜’‘¦‘Ý’‘²‘ü’´’¯’÷”§”ã“É’â’L‘û‘V‘e‘‘‘-‘0‘ ‘7‘Õ’ ’Ý’ã’Ê’¢’x’S’T’µ“'“—” ”]”[”Ó•†•€”´“”“b“Æ“p““I“©“ë“K’Ç“ˆ•}––]–™–:–:•‘”&”`•£–‰–Ì–•^•i–Ԗ”֓’“_’â“f”–—(–ç—k—œ—J—+˜˜|˜Ÿ˜š˜1—w——Òšš™À™á™&˜ü˜Õ˜–ö–Ä™‚œêŒ>©‘*œ¥œ8›XšˆšJšfšË›Jš¨šµš~™\™T™5˜Ó™7œáœœ=š+™ùš‡›Ÿ››ÞœŸœ’›u›šYšq™Ž”ü”¬–«–t•z—ò™x™c™8˜×˜Â˜«˜â™˜Ô˜Š˜ö˜ñ˜Ê™™˜˜˜U˜™™†šLšùšèš§š]ššŽ›t››œ*œ›ãœ›Y™—v—™–ÿ–@– –7–^–•²•w“…“c“~“H“a“)“•“Ç”¸”†”^”›•)•Ï’L‘f’’å“Γå”G”ý•E“T‘¦‘ˆ“O”‘”ž”t“ö”L”Ì•ˆ•˜•@•W•q”z”J”½”Š”¬•<”Š’"‘Ñ‘f‘u‘‘Œ’Q“” ”á•–c•¤”ï”ú”e“Ñ’²‘‘—‘Ë“g“ù“ˆ’Z‘(‰)޵Žú‘‘ã‘G®““”g”D“¡‘ÅÛÃdŽéŽÂv±´‘A’Y’Ñ’È’c‘ß’’C’H’*‘Ë‘„‘C‘ ‘h‘£‘‘¤‘š‘;òþê.À‘ø‘‘qÈW‘x’ž‘÷†Ž šŽ©ÿ\_ƒ<^¤õ楎ùb1?810ަø°ŽŽEŽ¤Ž¾ŽƒŽ6©‚e³ÖŽŽæÏÄþŽŽŽí“TŒäŒÚŒœŒ„ŒŒjŒ_Œ^ŒLŒ:Œ‹Ó‹‹‹‹6‹ŠžŠzŠgŠfŠ-‰ì‰Ñ‰ÿŠ,Š<Š[ŠaŠNЉ¾‰Š‰¬‰ÛŠ*ŠMŠFŠ'Š3ŠŠ·ŠŸŠiŠ$Š9ŠoŠ‘ŠžŠå‹‹%‹3НеŠÉŠù‹‹#‹ ‹ Š·ŠOŠé‹K‹£‹È‹¦‹Ù‹ðŒŒ‹IŒ»ÀFŒÍ‹‹ùŽí‘ =´¦®‘;½»‘i”Q”Š”ˆ‘]‘; HC#…ŽÆŽúŽLŽ3ŽÑŽJ÷ŽfŽcžÂ*G:‘Gë&ŽÈ0BƒWˆU¬±-‚’“ ꎤЎŽ4a ydO“^“ô”£“Æ• ”¥”Ô–à”¤——K“T“ä–r”9’Α…“ “å“(’µ’i“$“’ì’)’d‘Ó’$’@’5‘û’‘÷‘Ü‘®‘z‘b‘“‘˜‘–‘<‘‘§.¸ß»Ì©FŽùޤޒ#¦·D%æ ‘›T¦‰ŽëŽØPQCDŽËŽˆŽzŽWŽ%ŽNŽ­ ŽÁŽÎޝŽÈŽ´ŽæŽÕ 96„‹kŽÌަŽÏŽÕ"HüÝ/{wŸÇh äðb/òÌ8•x™˜(–Ƙʗ4•y—‘˜î™Ê™“šœž Ÿªž œš¾š›j›f V™Ê™—½•`•«–k•6–^•n•š•ü˜¸›»›«œx› ›œc žFžoûjš½˜˜´šÑœ*œ¶›$™òšÁ›}›šœP›œšÚ˜¬•Ÿ••y•Ø–=––"•U”£””Þ•••L•2”è’’C“ ’¦–•_”ó•T–½—q”I’—’m’|‘Ò‘ú‘Š‘^‘¼’£“5’±’þ“í”B”;”p”Ä”î“þ“a““€”¥•É–8•µ•.“““´””“Г֔啥•Еm•ˆ–˜–‹––––x–E–•¥•”°”M“Ä“‹“œ’ô’?‘ù’’’‹‘Ñ3’M’¬’¤’ž‘»ÊqŠ4g‘T‘±’x“+“J“)“’Ž’O’f’’’<’À““—” “è”y•”=“v’ù’º“E“#’’S’.’Ž’ó’o‘õ“r––o•þ–-–„–®–]•R•h•û–•¹”¥”-“ᔿ”Ø”-’Û’Å’¾“¬”—•Z•ë–§—ž———·—ò˜c˜˜>˜f˜«™e˜é™š:š ™áš:™Â™ ™R™=˜K˜Þ›Í„‘fB3œ÷œœ ›n›7›%› šë™Ò™`›š˜h˜W™øšyš›·\œÐ›™Ë›1›Ú›r›g›Ðœ©œ4œ<›:šÁ™ž™Á˜ã•Ö˜—–•I—Š—æ˜|™^™@˜Ú˜·˜ê˜‰˜ª˜¤˜¬˜¤˜v˜˜Ï˜ð™-˜ü™Óšmš”š§šÃšñšç›,›|›T›1š‹šË›C›•ší™²™ ˜m—Η|——–Å–{–Ù•‹”‘““y“…“O””•7”Ä“§“ü”u”´’;¸‘µ’ó“U’ý“…“ä”›“Ü’Q‘Ò“k“Í“¼”d””•H•Е»•º••À•”Ï”‰”1”?”à”¬’<‘£‘œ‘5‘¯“,“\’@“f”‹••$”¬“Ï“M’Õ’…’’€’Ì’l”Š”˜“‰’mãƒh¼)ŽÊ‘I®°ï’^”p”u”&”“µ‘Žê\]¨ X»‘T’’Á’®’O‘ë‘ô’–’l’K’:’‘À‘‰‘†‘ó‘ç‘Ú‘ï‘…ø‘Az™Þ7ãòÛU,©Ê“’†‘6ŽIÌŽUŽh÷ŽŽÇŽß!ZÎðãǺ¦ZmZX§ÌnŽÙŽwŽ=ŽNŽ“ŽšŽ³Ž‰Ž ›Wr—Ž*Ž'Ò­µÌ›˜™uŒÍŒ®Œ¼ŒÝŒãŒ¹ŒsŒ.ŒCŒ`Œ=Œ2‹î‹´‹g‹!ŠýŠÈŠ¡ŠeŠGŠ,ŠŠŠ+Љí‰É‰Ç‰÷Š$ŠŠ ‰â‰Æ‰Í‰Ó‰õŠ6ŠnŠNŠ^ŠSŠ}ŠuŠG‰ë‰éŠ*ŠsŠ‚ŠŠÐŠ·ŠoŠŠ#‰ò‰ûЉû‰ø‰˜‰A‰2‰¦Š§‹F‹¶‹|‹¼ŒFŒ^ŒÛV™ò¤ŒëŒ~Œ‹Ž‘“‘ë¡¿§ÉŒ‘*Ðx³‘à–U— —ГM‘×3Ž¢oއބ¬Ž!Ž Ž:Ž&ŽTŽÝC¬ŽåŽÄ[‘§‘l[ŽBŽXÅ!¶å‘‘Î’0’1‘‘ ‘ ’åÖ:޲ŽÎQz»<‘ö~‘n“h” ”ì”a”¬”í”I–Еþ”˜•‡”|”6•*”À”t‘û“‰“÷“ ’Ö’Á“B“’Ü’i’ƒ‘÷’L’ ‘û‘Б¦‘‘â‘‘^‘$‘5‘+‘E‘&ò¸s]ö²rˆu‚IŽžŽõŽ0€3„ K¡Ž²û^MEŽNŽ;Ž~Žä-(ŽÄŽkŽ5ŽŽŽöŽŽŽ<Ž;Ž‹ŽŽŽ·Ž«ŽÏŽÕŽÿ€T(ŽÎŽìŽÐŽ’Ž-ŽXŽŠŽÈuXœ~”Ík½Z²Dæï4Âä Ž–u—û—å—y˜——ä•y–†–ј8™Tš—œ²ž'œêœ7šOšA›Â›+Tr#œkšk™±˜E•Ü”]”˜–$˜°•ë”õ•¢—¦™«›zœc›;tž©žÔž+žJŸ‚ŸÕž´;šÚ›Õž¦=›%šÏœ$›–›–›V›šÌ˜Ò•ô••N•<•s•`•”ú•V•9”÷”Δ½”Ú•”h‘“ó•o“á—–•••ò——‡•”““E“’ú’¾‘û’@“~“ü”9”9“ד~””ó”ÿ”Á”`”&””œ•–p–Ò–•P”Ó̔(”<“¼“¨”‚•/•&•^•€•´•ý––T–}–v–N–•³•y•+”…”“ª“Þ””R“ß“C“,“–“Ö“l“0’L‘®‘9‘‘L‘8‘h‘$§-‘…’Ý“t“¿“‹“‘“b’ð’~’s’J‘Ë’’f’æ“m“¡“Á”.””“Ô’˜’s’s’‡’q‘¾‘S÷È‘D‘Ì’ž“d”t•©•Ø– –h–Ÿ––‰––V•ì•É” ””!“Ô7“»“Ô’±’(“”§•î–Ç————{— —¤˜*˜.˜G™˜˜Õ™Û™]™uš#š'™€™|™¶™o™Q™]šL›—œÛ†_5œåœd›å›Wš“››Ú›«›L™»™Í›–™L˜³™Ošž™ÿ™‰›H›·žˆP›¯›ø›‡šöšÕšÍ›s›u›Qš—šv™æ™±™h—Ö—°—Ø—.–—E•Ò–=—Ù˜ —ì—ë˜C˜E˜l˜‚˜†˜œ˜˜_˜À™™v™6™†šš‚š²šåš·š½šìšášÄš‘šVšš£š£š²šõšËšœ™è™f™—ã–å–™—8—‡–Ù•‚”ç“÷”-•0–>——3•ð•â•1’UŠê‘²’—“n“0“2“Ñ”L“–’Ô’’p’ý“Q“à”T”8•b–••Ú•ï•Ҕ˔w”X” “ß”9”u’ˆ‘…‘‚‘‡’®“«“¼“攨”­”š” “‹’Ø’\’µ’Š‘‡‘‘‘Ø”4”Q” “n‘䑼‚¹­šQ‘;ϳ‘ï“”C”o”“V“{‘»i’1‘ƒÔ™’’“’£’•’|’1’n’Ì’ ‘È‘ó‘ì‘‘¹‘÷’’ ’‘µ‘‘Ã’%’‘Å‘Px2ŽŽ×Šð‘7œ\ ŽJ޲‘Ž‘ô‘3ºg$މŽÐ޶8|ÛÖÅÛµ·ÀÃËœb4Lvh7ŽýŽÇކÍ,ŒÞIQQ7nRŒþ]Ž8ŒÏŒ‚ŒxŒiŒ‰ŒíŒÝŒuŒ#Œ+Œ=Œ.ŒŒŒ‹Ô‹ZŠõŠµŠŽŠ_‰ù‰¯‰µ‰Ú‰æ‰Ò‰­‰[‰Y‰”‰ç‰Â‰£‰à‰í‰–‰s‰½ŠIŠpŠ-Š?Š4ŠjŠFЉ±‰ËŠŠ>ŠGŠiŠŠŠb‰ñ‰^‰ˆÊˆ£ˆì‰ˆÍˆ±ˆ¥‰‰N‰®Š‹ ‹S‹ÑŒNŒ$ŒoŒñ+kˆŒ—‹ú‹Ñ¥‘FÃVÈDÙˆ{ÜÖ±¯‘”•¶–Ø–Ö“"wŽCö}eŽŽÌŒŽ ÖŽŽÙº*Ž,‘9’µ‘8ÆC‹+_ ‘í“’ד.’àÖ‘;’’,W©º#>ôÝâ”T“Z¾‘’€”F”®”½”“å“!“ü”ø“͓͒°‘ˆ’5”•‚’|“P“Z“’Ó’î“q’õ’È’n’‘é’‘Ñ‘ã‘l‘Ž‘I‘p‘)‘6‘ ‘éêûÞ}«Q'32ŽóއŽÖŽŽÇ›ÀœäœÞœ‹œ«›»›lœœÙœ›³›Ç›Ã›{ššˆœ)™i™l™™H˜M—©˜š˜Ý›ô›Oœ$œ»›³›6šëšâ›N›[›q›%š8™–™O™u˜”—Y—Ó—ø–i–󕳕P––x—Ϙ†—Á—°—L—§˜c˜v˜e˜<˜‚˜Ÿ˜ñ˜é™®ššTšlš¼š`šgšqš‚š{š™Ò™Ôš"š4™Ô™Î™¦™™]™8™d™ˆ™O˜ƒ—Í—Ÿ—š— –‘–.•Ø•p——7———B–•“ s‘ ’˜’Ö“c““.”?”r“©“9’‰’f‘á’É“p“ç”\•1•ú•á•Ù•d•”Δx””+”X”\”‘“ª’'‘“‘v‘±’5“J”B”ž”E”^”~”+“Ñ““†’>‘z‘‹‘¤’¹“õ“ð“l’h‘аž‘š‘)vÖ‘¢‘ˑǒ¡“G“V“°”“Ù“<“’h‘æ !‘š’‹’Û’V’W’†’©’©’ç“#’J‘å‘Ü‘¼‘Ð’{’µ’¶’Ë’¾’›““G“l“[’ ‘›ŠþzŽÝ<‘‘ÄŽXq‘+Ýh”¤ª®sÆ™…µ²"! ì¥?T1ŽÛŽšŽyŽŽ¨Ž×5?>ŽÙކŽDÆ(ŒkŒ}Œ¿ŒòŒúŒÜ %ŒÜŒíŒÀŒWŒŠŒ¥ŒhŒŒ8ŒƒŒŒtŒ)ŒŒŒ‹åŒ‹í‹â‹“‹ŠžŠwŠaŠ0‰ó‰Ã‰Ó‰Õ‰ç‰Û‰hˆïˆß‰c‰}‰‰'‰¤‰¢‰l‰‰óŠWŠyŠ}ŠqŠdŠ<Љ¤‰­‰Ç‰ÕŠŠ0Љâ‰)ˆ+‡š‡Ò‡É‡ôˆ{ˆ‚ˆ±ˆ ˆý‰N‰#‰)Š Šà‹‹n‹¼ŒRŒà/B<Œ`ŒeŒ‹x‹™Œ ™‘S¹×·m¦‡=-±­7©‘ —˘P“ ’I¢TŽvnìɱ°ŽŒÕdŒÔ›‘Gæ’ ’g¬G‘•’Z“·’d’¶“+’{’È:šLü:r”“‰ú‘<”-“ô“µ“““ú’Ú‘ÿ“l“³“J’ “”G•Š•†“%“ž“:“h“F“W“B’ü’º’N‘ü‘¸‘ꑳ‘Æ‘y‘xù‘ÖßÚÔ®ÍÇ–§3ŽãŽÄŽ£ŽŸ+CŽ–ŽdŽ"Ž Ž˜ŽÚŽà:sGŽšŽî:ŽðŽÙŽÆŽŠÛÈìŽ@Ž)Ž ŽÅ™pcQ$-u±ŽŽŽŽŽ}ŽeŽƒŽ¢ŽÕŽ‹ŽtŽbŽ_¿‹½‹µ‹ÝŒŒMŒŒµŒ¢ŒŒß!œŽ$ŽZŽWŽ0Ž!ŽwŽŽF3h‡Žó1’ˆƒ›šD›œw™ô——d—Š–ê—ö˜ù—öš8¸›ô–Å–°——zšœ2›‚™ ™F˜à–µ•w•`˜#˜—$—c—M—ì™6š›››·EõœÍœ›b›ðÕžã )›rš›=œ;žžúœ°œB›‘›g›5™ð˜ý– ••c”Á•”Û”â”,”h”ˆ”Ó””k”” ’Ú’º•<“°”ë–»—3–/——z–“–Ê–y–Ó––¶•£“ “-“S“””¹–•¼”<“z”Ì•!”Ž”.”K”¦•…–P–ˆ–˜–{–Á–\•Ñ”£“”••9”²”וƒ–•ĕޕ²•‘•—•S•F•5”Û”ª”U“Ø“º””x”é”ô”È”¢”¸”É••:•˜•–”É”²”Δ˜”/”'“ד£“Û“å” “ؓɓã“Ü“ö“=’y’¼““ ’Æ“4“À””A”4”y”¦“‘j‘ø’e‘ô‘ú’”’JwŽ2"ŽÀ’”l”A”£•Í–s–˜–”–ü—–Ж<–@•””†“¹“’ø’ò“““%”€–5—6—8—Û˜/—å—•˜A˜¹™L™˜É™ý™…˜¡™5™Ùš;šòšàšB™v™‘šÏ›J›nœ œ™œœ;œ¬œG›¹œb²žÜŸJž©œ,›l›ª›‹œ\ž&›³™ô™+˜’˜Z—c˜˜Æ›šQšÈ›Âœ9œ+›×›œ›^›p›&šÔš>™õ™‡™?˜B—;—¦—Ï–­–Ä–”ð”㕃——¢– –`–£—u—㘘I—ù˜-˜h˜ñ˜õ™™¾š3šQšDššcššš˜è˜*˜¤™™™"˜ä˜¨˜­™™A™™B˜Í˜Z˜¹˜R—Ø—m—w—Y•â•5–¿–Ø—Œ—¡–º–w”Ä’ð’r“’Œ’†“v“˜••”“†’Ó’‡‘8’å“Ý“d”r•d••ƒ”û”Š”B”C”r”d”‹• ”Ý” ”“ ‘ý‘©‘~’ “&“K“õ”®”‘••7•”í”Ó”“ÿ”ˆ””¬”W“º’‡‘í’Y‘בC‘f‘t†ð‘’ƒ’õ’Ì“)“¬“Ç“·“–“¦“B’Ñ£Ìñÿ‘–‘á’*’’’w’ ’â“R“e’k‘þ‘ñ‘ö’“/“h“f“E“&““$“c““f’l‘¡‘Xõ_^é A»‘”([¹‘âÄŸ¸‘Ù‘$‘5‘ÆŒ¦Û‘±Z è–V6ŽóŽÊŽ]ŽôóçŽôµ¹Ï¤jŒèŒøŒøŒûŒÜŒÑŒÃŒ•Œ ŒaŒŒjŒŒ7‹ãŒŒ1ŒjŒyŒaŒK‹÷‹Ø‹É‹è‹Ú‹í‹â‹¡‹ ŠÄŠŠnŠ ‰Ž‰›‰›‰µ‰ó‰ÃˆÝˆgˆÛ‰N‰‰‰©‰Ï‰¶‰Ž‰›‰ÞŠ+ŠDŠqŠ[Š ‰ð‰°‰–‰‹‰Ö‰Í‰l‰=‰Kˆt‡‡‡@‡a‡¶‡ùˆ!ˆ\ˆ†ˆ¬ˆø‰ ‰‰‰tŠB‹ŠÓ‹ˆ‹Ý‹ÑŒ>Œ±Œš‹ÞŒŒ1‹|‹[‹/B‘‘E9ƒ˜6š†sIæÅf—]—„’K•w•[’h޹ŽWÁ»ÚTn=ŒÕŒ™lŽk¡‘’-•w‘X‘ú“~“˜“¡‘n’Ý“LqÔH¬¾=$ËÊ’a”¾’¿‘ë‘_’“Ï“9““““ ‘æ‘Ø“F‘ã‘Ò’é“Ä“m•¦–“V“•“g““4“`““’¸’]’0‘‘µ‘‘“‘Nþéõ¡¢’Ü–r.+ÁœWŽÝŽÃŽ­ŽÍ$ ŽVŽ&¯EÁŽŠŽ›Ž@ŽÁ™f!ŽäŽÂŽ–ŽÃ޵ŽŽŽŽBŽ20,+4ŸµûŽó²Y ››³œòŸ3ŸŸÆ xž·ŸOŸ›ŸÆ 5¡sžÖšcšó›ž›N™˜Ë™a›q›#šš£œ5œÉœ`›÷›Š›•›5š™¿™j™#™*˜t—á—ð——–É–+•ý•4•„–•–t–^–O–ΖP–å—3—³—œ–â—Ø˜‡˜Ð˜ý™x™¤™õ™Óšš š ™Ð™Þ™—–ï—s—ú—ö˜˜˜ž™&™(™K™ ™†™H˜í˜€—j—&—o—É–À••‹–?•º–Í—n–Á–x•”“d“’”’°”“Å”s”«”“Ó'“‘S‘Ž“À”“”•[•,”9“æ“דÁ”L”Ê”ã•^•@””Ø”œ““’ ‘Þ‘˜’œ“^”:”Ó”•/•d•”ý•m–M–j–•†•;”Ø”±”“¢“ª’ß‘å¹À>J¯†‘‘s‘X’h“C““f“>“O“(“.’Á‘9‘ƒ‘_Y†á‘z’$“ “x“H“`“6’i’‘Ý’<“)“Ä“¡“@“’ó’Ì’’’q’l’â’őߑ^‘!½ˆ)˜÷`¿‘‘‘ÌÖ°åßíßa5¦ŽàŽ„ŽÅGúÙášß÷ÒvŽëŽxñ‚Y!ŒÙŒ¼Œð 6Q?³úئU ŒÔŒxŒ[Œ-ŒŒXŒFŒ‹Ü‹Í‹üŒ(ŒIŒSŒ@Œ%Œ"‹ë‹¯‹˜‹š‹w‹|‹йŠmŠiŠ=‰É‰“‰w‰‰Á‰ü‰ˆ×ˆ‰ ‰(‰M‰¸‰¿‰Í‰§‰‰ÆŠ-ŠˆŠ¤ŠˆŠ;‰ú‰É‰˜‰Ž‰«‰@ˆµˆjˆ?‡“‡‡~‡—‡‡‡À‡¾ˆ6ˆyˆcˆJˆ¤‰#‰]‰®ŠŠpŠlŠËŠÎ‹?‹ÿŒ„‹Ë‹.‹2‹Ž‹¾‹]Š£‰ÓŽH“&‘!%‘Lt)[iâg!á’ü—_•ƒ”û–핞’¾MŽ×& Ž–ŽEŒEŽ9Ž §~Žõ"¯Ê7’’“ä’¥“N“ö“;‘“y“ê‘•‘.‘ÑkÕÓ•x‘Š’´’Ú“•’V“N”ž’Ÿ“V’Ø’’*“”ö“v’“š’F”é•þ“[“𓥓Γe“6“@“’Â’Y’+‘‘a‘‘%öÌÁÊŸ?fXpü´iF+ŽïŽäŽÕŽ÷ŽÒŽÑŽZïs…¨ÞŽëÿŽ‘Žò…“޹ŽÌŽdŽ„ŽyŽ•ŽRsŒáŒÞŒòFEC1ŒèŒéŒé<„Ï;Œ’Œ‹»‹š‹ÝŒ2Œ^ŒT‹è‹w‹|‹ëŒ3‹Ù‹Ÿ‹¨‹Ë‹É‹©‹ÁŒ$ŒG FwññõŽEŽŽÞŽdŽÁŽÉž:œ¡²£¤¨ žŠ²›Ã—–m–{˜,—ÿ˜D™F˜—®˜–œ–å—t—"˜È˜9˜š˜3–¾–#–ÿ——-–/–Áš ›Üœ/›™·™Õš—››b›‰›ºšüš_š|›Sœ_›Ú™ûžpžR›©œ››â›P›RšU—±—ý—å–•N•••h•5•—•Ö•å–"•ë—ĖΓ𓠒–y——ӕM’Š•a–n–וò•–+–ý–}•ê–-•¬–E–„–•¢”Ö”¾”ë”Ò”h“×”@”u”²•©–3–b––i–\–¤–š–Š–2•ç•`••A•X•ˆ•o•d•n•—•g••”Δ¿”Í”¸”m““`“j“™“v’ó’ð“©””n••4••”æ••ƒ•·•¡•a•”ê”’”“Ç“L“’÷’Ø“,’þ’¬’o’W’a’­“#“’î““Y’‘H‘‘g‘Á‘“‘‡‘‘´’R‘TŽ Ž,0믒““o“Í”;”K“¤“E“,“ ‘¶‘ø‘ò‘•‘³‘e‘­’4““˜”´–Š——6—¹˜˜P˜F˜%˜£™(™È™Ïš=šîš*™Ó™[™Ëš=šGšˆšüšÅš²›¹œ*œ’œÐœìœœ?œ@›BžDŸÕ ŠŸº 1¡› é¡[ ì ª & õ¡Mž¥¡[¢´¢! %œÈ› ›n›››b›šó›Í›ýœ)›õ›,š¶šP™Í™™™m™±˜B––ã—°—f•ø•Ε—•È— –Ë–Ú—2–ø–—6—l—?–”•_•󗋘[˜­™)™t™©™§š š ™å™„™ —¸–ð—–û——B—:—‹—Ö˜r˜Î˜Ê™+˜Ö˜ò˜ú˜é˜È˜[—–Y••f•¼–+–¶–ì—–•ð–8•\“Ñ“$’ê’d”!”®”ܔܓˆ’†““Ì’3‘“Y”Q’€” ””B”µ”¨”””Å”á”Ô•V•e”®”³•K•c”¦“2‘ݑ뒓0“Ï”@••%•d––L–©–Z•Ê• ”甿”­”†“þ“©“=’^‘J ”ª‘/‘S‘Ç’A’…’’é“'“’î‘G‘¹‘P‚‘’\“8“­“}“’§’’`’l“@“Õ“—“’Õ’Ì’|’o’‘àΑo’­’‘Õ‘YÚPÛ x‘e‘¯‘!¨) Ã(–¾Ž!·FŽ ŽfŽ&ŽuRÁ,°EŽéŽœíÈʧNŒèŒÜŒò!Pf:‘ŽРI$ŒäŒ»ŒsŒ/ŒnŒ«Œ‹ŒDŒ,ŒŒŒŒ=Œ:Œ Œ ŒŒŒ‹Ý‹Ç‹˜‹s‹#ŠÞІŠQŠ7Š‰Ý‰¬‰™‰‰¥‰É‰–‰ˆû‰?‰‰¬‰ž‰ž‰¤‰²‰É‰êŠ(ŠqЬЭŠR‰ú‰Õ‰µ‰NˆÉˆYˆ2‡¬‡‡‡°ˆ‡Ù‡á‡Ç‡Ä‡Þ‡Ñ‡®ˆ'ˆä‰|‰›‰ÔŠ"ŠŠ‰ôŠfЍ‹µ‹gжЫБ‹-‹¬ŒŠáŠ_Ùf’1’Z‹þef@Ufö½P’c”î••v”Æ“ÅÎÕ˜«3ŽÿŽŽð¸•…Žì‘†’–‘TՑړ픓;“¬“‡“’O“_“¢’Ö’ ’Œ‘ä‘:ÝEÆc‘–’’’”“ï“~“F”m’?’–“$‘á’K’B“ß•U•µ”€”ö”©•}–„”+”i“Ó“®“»“L“5’»’¼’l’‘ב¿ºÕìn¡8#ÃbjóüÃ&Žó ŽßŽÇŽwޤŽuŽHŽŽ$Ôº ŽPÌFŽôMJŽÄŽ‘ŽÁŽnŽ ŽMŽr§Œ¡ŒzŒÅ#ŒçŒøŒ«ŒÂŒºŒÝŒ£Œ-‹à‹QŠìŠŠ£‹‹gŒ.ŒoŒ€‹ä‹“‹«Œ.Œ«ŒQŒG‹ãŒ†ŒtŒÛO›Ž^ŽT’ZÐŽŽqŽ(Ž‰Ž ŽŒŽ?ŽòŽ ŽBŒÙŒœÊ¦L©4¦ˆ¡| ÌžÂüš7—ý•·–––)•_•î–n—˜˜æ—E–|–K–v–Š••˜,˜$—•¼•Õ•Ì—%—á—ä™I›G›íšíœ‹žKœˆšøš¨šù›ù›'šŸ™íš™ý›šA›œ-›%›ˆšÂ›B››É™®—%—Œ–G•a•…••â–-•„•Õ––y˜™–Ó“Ð’ï’•‘ˆ”wšÃ™î—`•è”Ø–A–Í–~•[•0•Ü–k•±•^•b•]––%•̕”Ԕ”ÕL• ”:•?•_•–!•ó–r–ƒ–?–#–q–u–‚–g–(•ª•'•v•s•U•:••7•$•"”””~”X”Q”x”|”“·“J“O“{“F’Œ’J““>“?”#•;•Ž•”À”£”¼•y•æ•î•••”““Ê“8“6“e“¯“ý“ó“:’Ž’~’µ’Î’¡’S’0’j’‹‘n‚‘ ‘S‘Q‘‘-‘G‘ ‘Q‘cÏzŽêŽÎRæ‘f’’|’ª’¡’Ô’À’\’"’B’—“’’m’‡’’’í”»••Ù–©–Ü—”—¼˜˜/˜¨˜³™#™¦š<š‚š™Ç™T™q™~šš…š‹››£›<›…œ¢`9œs›ß›Ð›U›¹ž€Ÿ×¡D¡æ¢Y¡Ï¢J¢_¢+¡o º  Ò£W¢3£K¢o¡% GX›#šå›)››C›%›tšÄšè›Ð›ùšé™v™¨™à™´š™˜Ÿ™-˜Þ˜_˜˜–x”镯–‚——–¿–Öº–±–%– –.– –û—㘾™N™F™w™Ñ™ó™Ì™”˜ª—°————C—-—/—t—Ø—ü˜+˜—À˜ ˜N˜y˜v˜¹˜ë™6˜¹—•à•G”…“›”Ù–+—•g”£•,•O”W“Ç”:“Z“Д””“<‘¢’^“:’>‘’S“æ“d“¯’1‘»“_”°”m“𔑔¬”ø•v•I••••N•~”²“p’U‘Ø’’€“e”m•k–7–¨–°–—•Ý•^”Þ”À”W“÷”“ê“¢“q’¼î¿ŽáŽ·â‘µ’n’„’P’ ‘á’„’ù’ý’oÇ‘#’3‘¯‘Ú‘’‘î’ˆ’~’£““ ’›’˜’†’ד¼“ç“C’ó’â’ª’_‘ä‘þ‘«É‘>’6’›’‰’z’‹’—’^’(‘|ΫâÓ…6•u^ŽñŽöÐ78B1YñtŽóB–‰Ä¨A޼ޡŽýûŽ؈i.ŒéQ\Z8Œ·Œ“T9ŒÕŒ—Œ¶Œ¬Œ˜ŒgŒ~ŒZŒCŒ/Œ0ŒAŒLŒIŒIŒ4Œ‹Ù‹š‹EŠûŠÃŠŠFŠ'ŠŠ0Š%РЉñ‰®‰‘‰“‰Jˆî‰8‰š‰…‰o‰H‰{‰Ÿ‰ê‰þŠŠ;Š…Š·Š6‰Â‰¤‰@ˆl‡©‡8‡Í‡”†ž†¨‡_ˆ‡Ã‡b‡3‡B‡8‡‡7‡œˆˆÃˆÄ‰P‰Ñ‰›‰“‰³Š‰¦ŠGŠ„ŠNŠ ŠNŠ~‹I‹©ŒX‹AŠ¢‹ ŒfŽÍÏ‘Uœ‹—õuñé’¥— –™•‚”boÉ‘šÊº`‘) 콑Ǒü“0”œ”“Ä”:“¿’þ“”%”X“z’Þ“Ž’L’-‘ő‘:’y’’&’ø”ú“¨“H’5’È“´‘’ü“Z’Í““/’_”•¸•®–²”“Ÿ”„“æ“J“q“^’Î’§’D‘é‘À‘-§PoÐdgæÏ7Ž–ŽÊ@™†:-ŽüŽ²ŽŽŽzޏޤޝŽÙÀäŽíŽo5-ŽéŽÞ޼ŽPŽ%UYŒñŒ¸ŒÑŒäŒäŒãŒÛŒŒŒŒ<Œy‹Ê‹PŠŠ‰ãŠ\Šã‹TŒŒmPƒ˜SŒôŒÜŒfŒ¡ A­A39gŒÔŒ“Œ¥Œ«º¾Ž0ÄŽªŽ$­¢‹½‹¦ž>§×¦å¤{¡é¡Ÿ#Ÿž]œ—ð–ý–V––—>™Æš—˜™—•…–^”Î’å—e˜6—Ä—}—Æ—4˜˜~—í—2—€˜˜þœžžž ž³œ›› ›4œ1š(™xšð›[›í›|›NšÞ›–›¸œ-™‰–ʕʕ1•â•r•>••˜•n•w•ö–••Á“%‘¿’i’#”r˜¼›{™¿—&• • •«– •ñ•O”ø•^•À”¯•+•• •c•î•À•’•g”Ø•••€”ñ•l•¤•á–(•Ù–?–^–1––!–W–1•û•Õ•¾•U•q•Ž•F•a•”ð”±”·”œ”n”c”%””“ד‹“K“)“3“’ó’¶’ã“;“>’¯’k“w”Z”&“ý”“ã“»“ß“ø“˜“e“F“*’ÿ“<“n““š“ ’h’ ’„’“‘þ‘rù­õÕ]©šòà‘莕[Ò!ÕLŽˆ?¾Ÿ‘Â’ç“…“‹“Œ“ “t“@’ï“p”“À““1’’"“f•\•·–&–y–é—î˜#˜Â˜Ç™*™X™áš\š6™øš)šGššX™Òšž›^œ4œ‘œÑœ›œåœÆ œ?šòœ=œLœëŸŒ¢!£¤£Ò£®¡(¡3¤&¥4¤K£m¡ø t£h£££Ž¢e¡ xž¨œ4šðš’š}œNœïœ2š³š9š”šàš¹šMšršš_šv™qšÌœ›PšB™É™Ü—ç•”‚•º–¨–ñ–`••«–,–•ø–‰–Ò—˜\˜â™=™™p™l™¿™¹˜ˆ—s—!—7—f—-—Ù˜—ì˜6˜#—ü—à— —Æ—ø˜ ˜˜D˜¢˜m˜Ú™™+—¯–<•–”ö•c–B–¶•q••G•^”ɓʔW”“Á’È’Ž’ô“[’!‘±’u‘òP‘m”“m‘Lë’¥“” ”x“÷”U” ”°•וi•”ÿ”Ç”ï•<•`•d”¾“Ù“)“(“픎•ê–¼–š–H–.•£•=”ò”¢”@”4”z”Ž”“|’à‘ÎÖyŽÉŽºŽŒÃ’n“’“½“Š“Q“=“S“2’Ò’÷æ‘À‘Ì‘â’=’M’}’®’¹““ˆ“;“(’ã’÷“N“w“b“[“`“#’ã‘å’)’®’r’œ’:‘´‘‘ÿ’5’É’î’á’„’*‘ËÝ‘‘ú‰É_Žú6Õç× Ö©˜Œ®—weŽôŽÐŽŽ”ŽgŽnŽMþ¥dSŒþm'ŒO‹å‹z‹¦Œ¾"b\-ŒØŒžŒŒŒfŒlŒ[ŒnŒaŒYŒ0Œ8Œ2Œ‹ë‹’‹K‹ ŠÏŠyŠGŠŠ ‰ó‰ë‰ïŠŠ‰Í‰¼‰›‰Š‰m‰ƒ‰¶‰§‰Š‰M‰M‰A‰‰—‰Š‰y‰šŠ‰È‰—‰\ˆ®‡‡†e†-‡*‡z†Û†Œ†ö‡N‡†Ö†‹†ž†§†“†Ý‡i‡¦‡ãˆ\‰6‰“‰‰x‰s‰Dˆú‰]‰Þ‰ï‰ÞŠ ŠUŠîŠñ‹_‹ÞŒ&‹?Š®ŠÕŠæ•ù¢tѤ\R—Y’•¨”d‘þ’\“Ü‘öŒßº¢‘x‘ ‘ï’+‘º’¹’““¶””u”>”d“ö”-•O•H“z’ˆ“—’Ü’°’‘â‘‘¸‘]‘‘‘S‘0ì”p”ÿ”’´““¢‘æ”8“2‘P’’ï”Ç—3˜— •†“À“¸”“,’!’û“’²’}‘㑾‘…‘ƒW:\I¶†ŽÍŽã`Š’£QŽÿ-ŽÁޛ޾޻ ŽÍŽªŽöާ‘ ŽbŽ,L>GeŽóŽB„ŒËŒÀŒxŒ¼ŒÔŒÃŒ‚Œ¥Œ¨ŒzŒHŒ ‹Î‹u‹œŠßŠ)‰X‰{Še‹¡ŒhŒÇŒù…i9`-ŒàŒKŒºŒŒ_‹ì‹ß‹Í‹ÏŒŒ1Œ2Œ"ŒsŒ/ŒLŒŒbŒHŒÛŒÓGŒG‹æŠ±ŠUœ¢§‹¥¤†¢` #Ÿ[ŸŸfŸœD™Æ—*–‰–H—(š𬗖 ”m•‰•’ï—ššå™E˜Œ™ˆ™)™ ™E—æ•}–蘤™q›ltžùžþŸ>œlœ$œa›î›€œ›°™ê™³›/œ›:šÅ›“›¨˜£—È–k–ˆ–º–¥–—•l•ˆ•G••E”B“”G“ä“ù“î’Ò’D“c˜šœršÄ™]–²’´”À•Ú•·•Ε‹”²•:–.”Õ•V••'••h•t•N•»•†•š•••,•€•÷•¾•Á––9–(•ߕו¶–•Ö•i•Y•k•r•P•”˜”×”Ô”®”\”””O”$“à“î“ø“Å“‚“a“B“ ’·’¶’¨“““&“d“„“£“f“&’Ð’í“~“y“a“d“p“©“=’ö’ñ“’ü’Ê’©’’A‘Û‘{àLîÙú]m#2 C¥WD=Qö'‘~÷ŽcÌŽïŽÔŽJ¤‘¬’i“ “}“𓬓¡““ ’“’:‘Ó‘6‘r’.“Æ•Q•Ë–1––ž—7—¯˜6˜‡™(™”™óš„šÃš?šˆšÕš¬›<›<œL>œÒœÁœ€œƒœIœýœòœ¸›šŠœW›RžÜ¢ë£¢ ¤¤y¤¢P¢²¤«¤¥¤u¥ˆ£À Ž£{¤£«£ˆ¢9¡™¡4Ÿ¹ÐœXœÏŸYŸ©Ÿh«šV™qš—›› šÝšÂšx™Þš%›±œ·œìšášš­˜ò•ƒ“<”ì–g–Á–~•Æ••~•Ž––¦—!—ʘʙ8™.™@™ ™…™S˜T—0–ö—<—&—/—V—¶—Æ—®—Ô˜—ì—ø—ù—ô—Á—Ì—¦—Řb˜“˜ó˜F˜:˜š—Ì–<•y”÷”ã•N”H”¤”Ó•X•(”†”i””8’¨’)’V’‘ó’’Ü’ý‘ø’H’|’|’®’Ø“ ““¡”N”L”?“b“˜•k•–•”¾”’”Ü••Š–;–p–••L•9”ú••Ø•ó•䕸•¤•”{”” ”x”÷• ”¡“°’Ä‘þ‘ÒÑÌW‘“|”ç”ú”ª”r”<“ù“Ä“–“^’‘t>´‘¿’6’P’x’’Ø’ä“J“ô“Œ“Æ“k“:“W“g“Ɠɓ¾“o’Ÿ‘‘Ì“ “ ’ë’j‘ó’ ’*‘ç’\’®’¹’=‘Ü‘\ª¶ãHÑ åejëÃ¥Êë|X°öÞÕ»§ÖžŸš]4%Ž«Ž…Ž¦ŽŽŽ6Ž>ŽǨŒF*¯­ŒÌ‹º‹ªŒŒŒŒes‹]ŒøŒëŒ¬ŒyŒ}Œ~ŒˆŒRŒ…Œ[ŒŒ‹ø‹´‹g‹ŠÍŠ›ŠfŠCЉÿ‰üЉà‰Ä‰Å‰¸‰Ê‰Õ‰Ú‰¾‰“‰¡‰“‰c‰a‰Y‰?‰^‰q‰†‰m‰n‰³‰Ö‰§ˆã‡É†±††‡C‡3‡†ø‡‡†Ô†Ÿ†Z†U†Š†›†¢‡‡™‡Ëˆ,ˆ¹ˆÇˆíˆë‰ˆéˆ¿ˆø‰Y‰º‰‡‰ÛŠRŠú‹ÖŒ‹•‹}‹ÊŒ ‹DŠÃ‰Ì‹—‡‘‘D´@ˆ£•ÿò-’—s˜ž™°™ò—à”ˆ‘¸‘ ’6’+’}’…“ö•4•‘”É”• ”Ò•&•¤•+•·–Ÿ–Ε2”H”””7“”’å‘ï‘^‘É’ˆ‘û‘‘¡‘5âØ’d“P“§’’\“?“”f’’^”–“¢•o–—2˜c”’½“Γm“*’’º“1’À’e‘À‘—‘,Άb)òé½c:1± Œ×ŒC4K ŽÖŽÒŽ»ŽÞŽÿŽýŽ‹Ž$Ž,5’ÙŽ>@ŽôH|ŽŒŽ}ŒýŒ¸Œ¬Œ]ŒXŒŸŒ¼ŒnŒN‹ð‹PЧŠAЉÿŠŠŠ‹©ŒŸŒ™ŒàŒÿ) Œ×ŒÑŒ“‹k‹©‹›‹—‹l‹‰‹|‹»ŒŒ)ŒQ‹ÿŒ‹×Œ‹ýŒ‹Ÿ‹¿‹¿‹þ‹½‹ZŠÎŠe‰ËŠÕœ<¨æ¦@£Æ¡ì ó ŸVŸh ŸN§œ'›l™ß˜‘—¬—$”Ï”r•Ÿ•q”€“_˜ šæ˜™šY˜ã—î–•–±•˘üš>˜ŒšCœÉß‚žélRœãœ›œÃš»šÙšþ™•šAš@šq›íš¶—¡”וQ•Œ–~–w–ƒ—–•*”‰”®”‚”Ž’¤’È’ø’ ’Ð’\”E˜Ç›Üƒ›š?˜“P•%•T•!•n•g•&•S–G•4•2•@••'•• •n•’•4•”¤”Ÿ••{–•ý•€•÷–•ÿ••”•½•Ç•j••#”ö•”Û”t”/”7”=”5“þ“ñ“Ô“Ä“à“ç“°“œ̓k“’×’¢’+’=’“’å“!“V“””]“Æ“R““ “_“›“œ擶“R’û“(“q“‰“K’Í’[‘Æ‘ •Pݾå DUV„b”H“ ’®’3“l”Û•”•”5”‚•V•ý– –•ä•ï•¶•}•”ø• •b•ˆ•£•D”¤“Ù“e“q”"•1•”´“Ù’Ú’\‘ß‘‹‘ÝØ‘%“–•”{“‡“.“„“à“æ“Û” ““>’’\’’q’z’Ó’ü“Q“œ”N”{“l”7”i“þ“º“u“ø”S”F“Ï“g’ƒ’³’û’”’i’Š’·’Ù’ù’›’’Ÿ’ë’‘æ‘`‘4‘*‘ºb0î~¨VôÜÔ;Ž“ŽäªÕЬƒŽÛŽ/*Œ~ŒÐÎŽ<ŽO޵ŽwŒ ŽŽÊçŽÒ“®½hVŒÈŒ´Œ€Œ\ŒD—Љ.ŒóŒ¶Œ‘Œ„Œ{ŒŒŒAŒ‹í‹ë‹é‹è‹{‹*ŠïŠŸŠjŠ3Љë‰ê‰ä‰Ü‰Á‰Å‰º‰Ù‰ß‰á‰Í‰¥‰š‰‰‰|‰P‰M‰0‰L‰^‰A‰Q‰ÅŠN‰—ˆ†‡ž†þ‡"‡‚‡j†à‡C‡¾‡{‡?‡†Þ†À†š†ƒ†]†i†³‡A‡¸‡âˆ‡ÊˆˆZˆTˆLˆcˆ²ˆë‰.‰z‰•ŠŠ‘Š÷‹«‹þ‹ë‹™‹å‹ŠŒŠ}ŠNŒÌ’‘FØt~; 6fÁX“Á—¡˜Ï—k”h’!’b“t“M“·”—”Ò•,–g•ð•Æ–Ò•Ó•j•½•Õ•ù–‰–Œ”Ž“””씞” ”’ö’‘‘0’7’s’$‘ß‘ƒº‘x‘F‘û’ó’#““q“}“_’Õ”4”e’x”j•,–q—Õ“z’n“-““ž“ “1“5’„’‘«‘Wñ‘mR?ýj_ƒuINrÎÂÀÖº’`ZŽùŽàŽ·ŽäŽÚŽ«ŽO޳µêõŽ´_Žô WŽpŽGæ@ŒðŒÎŒ™ŒKŒdŒ ŒgŒ‹¨‹Šs‰Ø‰Ë‰ÎŠ.ŠŠã‹¸Œ+Œ±ŒÃ%ŒØŒÕŒƒŒ[Œ ‹œ‹9‹.‹‹‹Šì‹G‹z‹š‹®‹–‹¾‹Ê‹®‹¦‹o‹Ž‹ÈŒŒ Œ3Œ>ŒZ‹ï‹¢‹­‹B‹U‹‰•‰d”Ò¢w¦ö¥b¡² Þ ¥ ‰ b 1 IŸJžZ⛘M•Ì•o–k—,˜Ú—j•‘–u™ôš¸˜&™ú›öœ›—¸——(™\šÿ™¯š{›Ý»žAžãžÝž^ öž¦œ%›Gš™‘šõš"™ š;–唆•J•°•o•\•„•à–š–¤–?–•%”i”¥“*’F’6’´• •\—†œœLœ:™Ì˜u—d”•"”æ”ø•"”ú•!•'•ô••>•A•H•T•e”ô•e•X”»”Ë•”§”Ε´––“•á–X•畘•>”å•1•]•Q••”è”Õ”””!“ò“ê“ß”“擵“–“¥“¡“”“𓣓~“Œ“d’²’}’U’”“#“#’ú““3“ò”3“£“'’ü“““3““4“L“9““2“H“’‘‘´‘¨ššcÐV!“~”|•E—”’ ’¦“6’û“œ”Ï•5”š”°• •¼–”•­•å–Œ–j–¬–ð•ß•;”"“¯“›’“ȓ2‘ôêב§’<’=’”“:’ ’‘Ô“’·’ü“ß”'—!–=•¤”Ø“…”b•B•z—•ë’o’”’Ÿ“'“Ö“¡“’“1’¡’‘™úÀ¡†MÝ-Žï*š¨¦¢ÁêÞÙÕÆŠfP0Ž÷ŽûŽÞŽÀŽÈŽ×Ž{Žèw|ŽYަqoŽÇŽìŽŽ†íjŒ»Œ¾ŒÐŒ“ŒQŒ‹Ì‹SŠw‰ì‰‰‰äŠo‹…‹_‹˜ŒŒŒiŒ¥Œy‹ß‹Æ‹j‹!йŠÄŠÓ‹‹‹‹yŠû‹‹C‹g‹L‹a‹8Šü‹ŠÞ‹‹fŒŒƒŒƒŒ"Œ>ŒEŒ‹ÊŒ‹þ‹Â‹¯‹¦Š‘/—ݤ§Q¢£¡I¢ ê q Ú Ä %ž§=™Y–¢–ô–Õ˜'™ªšG™˜Ö™šæ›Ýš ›ÀžVžrœ¬›ªš™­š{šk›Ûž¿žÀžGŸ¶žâµžìœþ›Úœ±š,˜í™ï˜•–Y–“²”4•­””à”î•À•£•²–&––ä–•Ŕȓª’˜’0“‚–&—ÔšeÚœ¦š¯˜,–±”ï“”­”Æ”Ÿ”°””Ÿ”Ì•^•9••H•z•j•“”ÿ•M•M”~”:”¼”Ü”·•T–'–©–?–9•¤•Q•S”ô•”í”ܔǔԔǔf”n”?“î“ò“Ï“á“ò“´“{“l“h“K“0“"“C“~’ë’j’|’䓯”“¬’ï’©’º““’¶’£’`’’“ “>“9“C“€“4’¶’~’]’!‘ž‘V‘%‘ Å ÓÆýlä‘4‘J‘h‘Ñߑ/®Pç‰dU‘)‘>ìLèˆQBP¤ '³‘‘úü‘t‘ì’’å““R“û”b”k”ã•&•^•Ì–n–é—M—à˜r™"™Äš6š\š¹››h›™›âœœCœPœ‡œ—œCœ›œ¦œòœÆ›Š›rœ3œù¡ÿ¢Ý£@¤¥²£<£X¤y£ú¤´£ô£¸¤B¥Ê¦§¥²¤È¤ ¢º¢T¡¦ a EžàÆ b¡»¢L¡„ Ò¢|¤†¥¢° lž—Ÿ- ì¡W I¡¢¡bL™Ì˜‰–¹•È“_’³”¬•1•2–•ë•¶•¦•v•Ù–T–ý–§–§–Ê–c•T•S•‰•S–—-—*—X—^—U—P—–³–»–»–Ô–Æ–‹–Ÿ– –ì—6—J—ˆ—Ù—µ—C——W—d—=—“—”–ÿ–•f•(”~““P“:“ž“ù“À“·’Ç‘¿‘5‘Î’ ’“G“¾’¡*Q‘è“X“5“0” “‰“$‘’‘V‘vÔ’˜• ”{””–•J•Ù•ˆ•›•r•L”û”È”‚”¡”k”¨”Æ”`”“±“O’µ’’P”/”­”Z”,“¡’û’F‘Ÿ‘k‘”’“Ù”8“ž’™’0’@’Þ“ð”“Ø“™“Š“·“å” “蔓ғð”5”,”a”´••6”Ó“û“ȓҔ”ˆ”î• ”甯”2“’è’»’Å“g“–“F’½‘ì‘^Õ˶¦WD‘’/’¶’¨’Œ’^’‘¦‘|We|§‘ ‘W‘#‚  +Ž…Ž}޳ŽUŽvŽqׯŽÁx¸Ž ŒŒå3¡œ±ùŽ4ŽCŽìŽëÑ¢_ŒÎe’)Œ†ŒIŒiŒ|Œ=Œ2Œ,‹ë‹ß‹º‹¥‹e‹=ŠþŠÜŠ¥ŠyŠlŠFŠRŠ7Š5ŠŠ'Љü‰½‰³‰§‰Œ‰™‰f‰X‰n‰f‰P‰k‰ˆ‰™‰\ˆëˆ%‡¡‡•‡ƒ‡”‡ƒ‡‡–‡ ‡­‡…‡H‡1‡(‡†¶†^†…õ†;†¯†õ†Ä†f†X†Ô‡i‡£ˆ@ˆ|ˆYˆvˆ¦ˆÖ‰‰:‰d‰çŠ7‹ ‹„‹îŒ7Œ1‹ÞŠZ‰Wˆ±Œ éD#"h‰›æÒ”o•”Z– ”»“©“u“]“j“¿”•(• •]•8•V•Ô”Õ•7•”•–õ—í•Q•Š•s“µ”“““{’·’ˆ’!‘z‘W‘•’ ‘Ç’’“V“>“è’Š”“œ֘œ–¯–ê–š“󕕯•D•œ“”‘ª’ ’:’擈““}“D’±‘Ä‘‘¹±™‡)Ã`3ŸûÀz€·˜âÞrTôa6ŽõŽêŽÁŽgŽFŽCŽOŽ‹Ü†ŽŽ—•ƒŽ¤ŽƒŽŽLö•0ŒöŒ÷Œ¸ŒJŒ‹É‹3ŠŠŠ Šž‹Šæ‹†‹ª‹“‹Þ‹þŒ.Œ*‹_‹/‹ŠÇЧЬŠù‹‹óŒ!‹5‹‹R‹Š÷ŠèŠûŠÄЇŠlŠ[Š­‹‹ª‹Ï‹ð‹…‹Š‹g‹·‹Ã‹¿‹è‹ó‹×‹Ü‹†‰ö§E¦¹¤s¤¢›¡v¡ª¡X ìŸ0œ4˜–3˜®™òšw›¯œ›±›K›wœñœ›Ÿ¡ ¢Ÿ±Ÿ¹Ÿ¹Ÿ ž/ûžˆŸâ d¡ ›ŸßŸsœÈŸ)žœæœ€™Â™‹˜¨•ý“’€’Í”•9”Å•(”°•n•e•Ô•Ý•ò–¬–±—I–V•ƒ“×’³“9•¾˜ß›³GœY™¦–‘–¿”Γ”ì”k””Ž”‘”Q”m”°”Ø•"••h•*•X•D”ä”Ú”»”}”Y”¯”z•+–M–Š–I••4”ᔕ”}”¡”ª”ޔޔ”Q”+”“ü“ó“ò“Ö“¼“¡“‡“*““ ““0“š“™’G’!’x’´’þ’q‘õ‘¾‘Ǒܒ’M’t’ƒ’’h’˜’Ÿ’£’Ô’æ’×’—’m’:‘ù‘±‘V‘ßz§¿Oü‘4î‘‘¤‘Α`£Aj1âîÄÕÆŽ{Ž£ŽÀ;tŽþ)+FYyq¯‘.‘‘o‘|‘Ù’¦“e“·”.”K”Ë•F•±–>–Å—!—©˜n˜Í™…š šqšŸšÍšñ››‡›ýœ@œ¼œ–œ‚œÇœ­NœŽ›ÃœMŸŸì ¿£!¤¤Ø¥¦&¤Í¤]£ø¤"¥¤¹¤—¥¦e¦‹¤÷£Š¢ü¢²¢¡÷¡RŸ{®ž«¢¡©¡9¡— Ò¡H£y¥¥r¥¸¦q¦Ê¤)£Ò¢È£¤å¢ ö™)—â—Q–”÷’¥“ ”m•Z–?•”•‚•Ö•°–V–i––‰–s–B•‘”/”¿”ª”y–Ù—d—B—8–â–Ж®–™–i–†–~–r–F–/–J–B–]––½—k—•–<–^–—C—a—ª—q—f—C–Þ–Ø–X•N”›“û“!“,“©“–“)’‘ ‘ö’T’z“Q““E‘B‘K’†“N’¯‘ ’‘‰‘¯‘X´‘'õ‘™“û”S””¦•m•Å•{•v•>•"”è”Ç”;”“ð”3”C””““\’à’b’’ù””“¼“]’Ó’C‘°‘À’–“ “Ï“N“9’Ú““F““`“Z“I“B“o“ž“—“d“@“\“R“I““Ï“Y“i“>’Ï“—“ò“É“£“p“”+”g”ò”ø”¾”p“ì“§“…“ؓœ©“’G‘œÄm¥OiŽ³ÌŽ':Ž„ŽˆŽ‚ŽžŽ®ŽˆŽeŽyŽŽ¨»¿‘;‘g‘²˜;ŽûŽ´Ž;믪ËfkŒîŒÿ€I#àŽŽ8ŽuŽÄŽ[ŽŽ2Ž+Ž ã™ZŒ±‹ìŒ)ŒGŒ&ŒrŒ¿Œ¨Œ§ŒyŒCŒBŒ‹ø‹Í‹z‹e‹R‹:‹ ŠôŠÎЏЩЍЦЋŠvŠfŠUЉ䉫‰Š‰…‰¡‰Š‰{‰…‰¨‰©‰™‰Š‰ˆ‰Ç‰kˆåˆ ‡‹‡‡~‡Œ‡€‡‡™‡¼‡º‡‘‡‰‡Š‡}‡r‡ †¶†;…Ä…Å…ò†j†N† †4†ž‡ˆˆ™ˆ“ˆ1ˆ^ˆiˆŽˆ…ˆËˆÜ‰‰m‰ê‹‹Š‹·‹Ê‹ÌŠŽ‰»ˆhŒ2“T‘ƒ(õoìLÌŽx•p–&•ž”Ø“_’“P“‘“¦“Δi•°•ã•&•k•ö”è”Ú””›—»™P–§–8–š”§“‘”&”Ç’£’}“P“ ’‚‘ö’K‘ð’#““唥•o’é’ù’þ“ä—‚• ”ÿ”Q’Õ’í”v•|”X’Ÿ‘ñ’Ò’z’›“T“…“a“’”’‘j‘ôéÔ“@ûàËÿìŒ[z^C®òN›Î¢Í‹N.ޱހŽPÕŽŽ7³¬ŽiŽ£`ŽÒŽçŽPŽsŽ©HV@Œ±ŒS‹Ö‹9мЋŠ\ŠfŠó‹)‹ ‹ƒ‹ÿ‹ú‹ç‹â‹Ö‹ÂŠÐйŠvŠ£ŠÓŠÀŠ×Š£ŠüŠô‹6‹ ‹2Š¯Š‡Š„Š„ŠŽŠ•Š ‰¢‰ÊŠ Šê‹:‹hŠá‹ ŠôŠÖŠ˜ŠÉŠ­Š·‹Š«‹‰ÀЬ•£Ìªä©>¥M¤p¤t¤K¥&£ð ïœ ˜{—ΙIšr›…œÁ ›Ù›Sœ6€œÁžV¡©¢u¢$¡? ã ¢ Ü¡4¡…¢h¢¡˜¢1 µŸåŸ`›Èœl𜠚œ›9šð–>“ê’˜‘ò’Œ┘”ñ””ù•Ê•Œ•®•º––p–µ——U—€•s”B”’–±˜xšg››q˜Ž”•“Γؕ”B”³”a”“ñ“ÔK”…”v”•T•z•O•9”›”Ý”§”0”'”¢”f”Í–!–>–$•È•”í”±”€””/”Z”k”j”2”“ۓϓ֓˜“£“±“»“`“6““’å““7“7“<‘Ô‘<‘O‘M‘šæ‘c‘u‘‘½’’‹’·’Ä’Ç’È’»’Œ’j’{’T’#‘Ý‘‘‘U‘)Æoá?5Ø_U1C’kŽËŽŽ®^á)†å‚ÅŽ$ŽKŽIŽ=ŽpŽXŽqŽeŽÝB›¹Ï×òEr‡˜Íô‘’N““˜”^”ä•––U–Û—@—¤—é˜v˜×™œš>š¸››„›|›rœœ½œøMœœ,ß  ¼¡Í¤5¤á¥³¦N¦Î§§@¥Ö¤ ¡ ä¤n¤ð¤É¥ ¤£££z£V¢ë¢  ÿŸÓŸ9 Ü¡y¡P¡] wŸé¢„¤ö¥9¥æ¨Z©"¥¦1¥é¥ö§ž¤ØŸÅš ˜b—ì—E–h”“ß”>”¦•Ê–Y–f–u–š–é–‚–•÷–"•­”Û”V••X• —q—¬—–á–H–––)–"–•ѕؕ̕½•­•Ò•î–0•Í–@–蕚•×–\–=–‚–t–¸–‹–”–,•Í–ƒ–x•ç•-”¼”4“©“דª“o’¿‘_‘¥’,’¢“ˆ“S“L’V‘ì‘í‘«‘ú‘‡‘j‘O‘0‘&‘‘'ð±’“i””ª•l•q•7•F••”|”O”“ö“ð“ã“u’„’‘’‚’X’ ’N“0“˜“O’Ì’e’d’»“E“ÓŸ“’¤’’I’…’y’h’’‘’À’Ò’í““X“j“j“;“ “'“i“Ñ“T“G’ñ’ܓ蓭“&“R“Y“X“]“ó”ü•”ý”Ó”x”%” ”“\’Ä‘ô‘x‘BŠŽvŽS&ÉiŽ,ŒºŒ@ŒAŒ Œƒ Ž âÙêÒ¦ŽŽØ$UZŽ@ŒK‹ÁŒ+§OTŽÜŽï·Ž,޶=(Œ?Œ'•íŽŽŽ¸ŽœŽVŽbŽ]Ž2ŽŽ w‹ê‹[‹`Š÷‹OŒ8Œ—Œ»ŒmŒ4ŒŒŒ‹è‹Ù‹„‹V‹D‹9‹ŠïŠßŠ¥ŠžŠ‹Š}ŠVŠNŠWŠ4‰î‰µ‰©‰“‰²‰„‰v‰[‰u‰ª‰ž‰~‰R‰i‰n‰ˆ9‡æ‡§‡¨‡”‡‡³‡Áˆ ˆ(ˆ0‡Ü‡Ç‡Ì‡Ì‡~†ò†A…§…“…ž…Î…ú…ñ†*†^‡ˆ ˆ:ˆ+ˆˆ@ˆcˆÁˆuˆsˆ˜ˆºˆì‰BŠAŠfŠçŠý‹jŠ‚ˆÎ‡óŠø‘3 ç)aFŒÆ ñ©“Ý•#”]”ò““’ƒ’ú’Å’É“š”•W•’”m”'”~•?”€“¯”©–5—Ú—¥–É–e•Γü“ˆ•r”b“¼“æ“‘“Õ“¡“d“7“K’•“4•b–{“½’"’ÿ“¤•„–Å•@“”¯’’*”ë“Á’~’q’’È’ò“\“e“C“ ’S’ ‘W‘2‘1‘‘j€x&õ Ú9ŽïnÈëíáUÒ‘‘¥è°wkŽÖŽŽ:¨¼ŽGMÁŽv$<ŽÕŽÆŽå޼ŽÁŽ_& Œ©Œ@‹‘Š®ŠmŠ„ŠzŠIŠ«ŠÒŠ´Šâ‹g‹Ï‹¬‹›‹+ŠÕŠRŠmŠYŠÆŠëŠqŠ$Š3Š]ŠzŠ‰ïŠ ‰ßЉë‰ú‰Û‰Ê‰NˆÖ‰ ‰cŠRŠú‹9Šå‹ЩЉæ‰Ñ‰è‰ôЉì‰ÿ‰­ˆI‹™ð¦TªY¨g¦z§.¦[¥ö¤¡Nžn›?› › ™Úš‹œ‹cœ‡œ_œGœÑ´žŸ}ŸŽŸ`ŸŸ:  “ $Ÿô¡`¡  ÁŸåœúqžŸž8œ›ØÊš×™ÿœ?š’n‘n’I‘Š’Q’g”L”è•)•L•j•È–8–c–‹–B–À–ô—n—Š–£–L–¬˜Ò˜p™j››A–û“¯”·“” ”Ú”<”:”“à“–“"“Ø”F”M”²”£••|•‘””Ô^“דö”*”„”O•>––•¡•y”ä”t”V”=”6”1”“ø“Ù“£“»“â“Û“»“²“c“c“'“’ã’Ø’Ð’Ï’Ø’¹’3Êo²¶­õ‘?‘j‘n‘”‘ë’I’î“=“\“w“]’Ù’m’#‘ô‘½‘†à/Þ½kŽÃކŽxŽwŽ•ŽÁ>ECGŽ»ŽB<ŒýiàŽgŽSÈŒ$‹ÃŒŒŽŒÁ œƒ¦»ŽäÈŽDŽûX‚Ê=§Å‘ ‘‘˜’M“ “›“ú”i”ó•@•²–H–²—@—“—ò˜X™#™¬š?š››¶œŒœÆœ)œËœüœ½œGœo‘žóŸ¤žÊœºŸx¥/¦¦§ç¨.¦è¦Ø¤­Ÿ—œ‚ =¤"£ £_¥¤”£¨¤¤/¤¤k£Å¢  ± ¡}¢a¡ÿ¡U ” I¢f¤¤¥Å¨^©§"¨™©E©(§ £ž @›Ž™=˜–è–4•”!”1“Ó<”¸–Ä—&–š–'––•v•¡•V”Õ•9•••«—k—l–Öq–•ª•u•k•P•P•s•‰•o•”õ•[•<•g•S”Ñ•¸——O–|•ӕᕼ•‚”ï”Æ”ð”â•o•«•¼•…• ”¾”1”“ì“̓ǒC‘O‘ù’9“o“´“’;‘5‘^ñJÌ1Ù‘‘s‘#ìž’““H“A’É’~“(””p” “ï“Ù“¯““u“£“H’m‘Ä’’9‘ø‘ô’’O’ö“3“’ˆ’B’·“9“>’Ú’’<‘û‘ϑȑæ’‘õ‘þ’{’‡’L’N’’Г’¨’g“%“;““6’Ú’‰“k“§“P“³“¸“Óþ”*”¡• •l•'”S“í“Æ“B’‘&‘‘'‘uaÉry޻ާŽÚ޶}ŒŽŒÐŒ'‹¶Œ>Œ”Œö@ŒíX¡ÎçtŒÍŒG‹³Šæ‹*‹=‹xŽÍŽ®ŽŽŽŒŽ?ŽíýÛwŒÎ Œl‹u‹ßŽŽ}ŽûŽÎ޵ŽQŽ"Ž'ŽŽŒE‹Ö‹¢‹™‹°Œ*ŒÓŒ¿ŒjŒ Œ‹ú‹Ó‹¿‹h‹b‹$‹‹ŠêŠØŠÅŠÁŠ‹ŠpŠEŠVŠTŠUŠ#‰À‰‰p‰ƒ‰u‰u‰c‰~‰¬‰Â‰È‰¿‰[‰ˆèˆhˆ$‡è‡Ü‡¨‡Ã‡ÖˆˆmˆqˆsˆBˆeˆ'‡à‡‡†”…Ø…^…F…=………”…§‡6‡»ˆ‡ùˆYˆ(ˆˆlˆqˆiˆwˆˆê‰‰—ŠgЦŠÄŠ2ˆ­ˆA‰ð'ê¤å¡ñÔÄ}VÀ“<•”¦•|“~’Œ’'’’“G“Ô.”¾”ð”Þ”¯”•Ç“ã’Ô”¤”r–œ— –¾–#–•Ê”»•”ɔŔG’v’8“”“ë’þ’þ’¨”n•Ê”¿“”’¢’Ÿ’Ú•—”—“é•i’’”"—’“²‘‹’³’Õ“N“j“u“k“’þ’;‘Ì‘G‘@‘ ‘‘8y¬Ãa,&¸ŽòþeX jÎÒž䩼ŦEŽäŽ G\ŽF ŽÇŽ` Ž°Ž¨Ž³Ž’ŽŽ(45.Œ¶Œ‹ŠŠ½Š§ŠÂŠëŠÌŠ~‰ý‰þŠœ‹‹ZŠòŠåŠ{Š1ŠJŠ}ŠšŠ¹ŠdŠ7Š2ŠOŠjŠ!‰H‰_‰D‰P‰‚‰ˆëˆ§ˆúˆ¼ˆ•ˆpˆõ‰ÑŠtŠyŠ©ŠVŠUŠ-‰ç‰«‰Å‰w‰Åˆç‰Y‡âŠ˜ý¡P¨ «A©E©Ú§ý¥?£¡¢Ÿ¾Yœ×œ1›œ2Cœ4š}›/ž‰ž·ž™ŸžŠž$žŸüŸ¨Ÿè¡ {ž„žœûœÀœÁ›ª››ˆœ`š šº›œ™n‘ó‘Ù’‘l’H’¬”8”î•*•K––0–<– –#–h–“–ï—— –—/šÅš†šÀœ=™è””…“¥“Ä”¸“î”1“¼“ß“ ’ï’Û“­“ÿ”\“ù”Ò••È”‰“6’‚“[“ï“””2” ”¢•u•¹••”¼”[”?“î“Õ”“™“’“g“‡“²“Å“˜“ ““‰“’ã’¹’Ê’µ’‘ò‘fϫл‘‘‘‘s‘¾’ ’˜“$“Ž“ª“p“(’k‘÷‘v‘‡ÕX,ŽéŽ…ŽGŽOŽ9Ž-ŽŽ8ŽŒŽ ŽÊŽñŽßŽÔŽ«ŽªŽ^ŽJx%‚ŽëGŒˆ‹ïŒŒGŒ%]<5O9c™Ž&Ž¢=g¹I‘(‘"‘‘%‘_‘Ö’=’°““´“º“É”k••å–u–——À˜Ã™Çš“š¶›p›XœsržŸ' G ˜Ÿ ¡¡ü¢¡.¡6£@§7©e©Ð¨ä¦¹¦J£‘Ÿë¡¢·¡p¢"£þ¤O£¸¤y¥Ÿ¤½¤v£ÿŸøžn Ù¤;£ï¢n¢W¢Ž¢U¢Ä¤¤¥÷§­¨–§d§Ô©G§ã¤ö ñŸ‡ž›Œ™î˜š–ÕX”Ë”«“Ç’¿”-–ç—A–·–x••H•r•˜•¯•·•…•y–]—<–à––s•ÿ•‹•5”Ù”¢””È”î”É”€”ª”󔊔Œ”[’͒Ô‡•Ó•ö–•´” ”£”{”Å••5•F••"””"””(””%’’ ’’O“™’ò‘á5骎ÃÞXûÚ†‘<¯·‘½‘š‘V‘Ú’&’Ÿ“U“s“““È“–“N“l“r’ò‘´‘'‘F‘“‘בؑőŸ’+““R“/’ø’Ï’Ý’¯’[’1‘Ü‘¾‘±‘x‘Ú‘þ‘ёݑ#’\’—’¤’ž’\’n’Ö’‰’ô“G““N“““_’Ï’’R’/’'’É””–”§“à’{ÝÓ‘?‘b†‘#‘Õ0Ž÷/쌬Œ‹ì‹r‹¦ŒJŒ€ŒÓ‹óŒ ŒØŒÜŒ‹È‹ ŠÅ‹‹ ‹NЩЉ‹ŒŒ®Áހ޵Ž>x´Ž°ÒïøŽ~I‹ ŠÀŒÝ޹&ŽÿŽj÷þŽÊVŒŠŒG‹Æ‹y‹ÚŒ_ŒPŒCŒ:Œ$Œ2Œ ‹³‹Š‹F‹J‹-‹Š÷ŠÎŠ³ŠœŠŒŠWŠeŠKŠ=Š'‰ó‰©‰›‰~‰r‰x‰¢‰Ž‰²‰ø‰æ‰›ˆüˆ¿ˆ”ˆXˆ)ˆ*ˆˆ,ˆ@ˆ‘ˆÂ‰ˆ¡ˆ˜ˆˆˆG‡ò‡p†Æ…Ø…±…‚…%…=…‚…†…ô…ü†;‡‡‡‰ˆ‡áˆˆKˆLˆ™ˆ§ˆ§ˆÈˆþ‰ŽŠÕŠÇŠ(‰f‡¹ˆ Ž?“XŸïïG¶½¢pú•”z”ö”<’h’v‘Z’¶’å“Þ”c•4•L•K“2”Õ”¤’W““W–Ê—+–^–€–œ—–s•¾” •9•l“Ü“M”’^’)’â”8•Á”Ò”¢” “,“«–³•Ǔݗ7—«– ™–r‘u’a’ð“'“­“¬“†’î’Ý’P‘›‘2‘+‘#‘B‘ÂÔIû…™Â´€ûŠŽàŽ8ŽÑޏޫ¸Ö<)Ž4cváŽ[ŽûÎŽÏŽ»Žä޽ŽcŽp¥ŒíŒéŒ¬Œ„Œ‹Õ‹/ŠÙŠžŠ×нŠD‰ÎŠ/ŠÊ‹ŠèŠPŠGŠSŠTŠ+Š Š<Љn‰Ò‰ç‰É‰—ˆÈˆ°ˆiˆ|ˆiˆ'‡á‡äˆGˆ{ˆˆQˆjˆ´‰0‰8‰S‰{‰¸‰i‰µ‰6‰Œ‰)‰‚ˆ¬ˆ~‡K‡¨”4ž¥Ð«¢«¦«a©‚¥¸¥è¥´¢ü¡> ’ Ÿžá $ŸÈáœìœÑž|Ÿi IŸ§ž{ŸŸ]  Ÿ/Ÿž÷ž·ž"Kœ›Ñšíšá›HšÔš­›œG›÷’ù‘Ž’%‘•’;’Ë”¥•”þ•‹•‘•V•ꕞ•¥•Ú•ÿ–k—Q–ù–ט š››¡šû–ï“•‚“c” ”©“œ“ý“=“Ð’Ö’¯’Z““³”&”¿•Ÿ”<•½•Г̒q’°“Ô“p“N“Ÿ”””•V•2”¢”­”?“ý“哚“Ç“¿“¯““‚“S“‹“{“W“H“—“j“ ’À’<‘ø’‘oñ‘‘A‘‘‘*‘Óý‘#‘i‘Ó’‡““”“o’p‘È‘N‘5ý¢à<ŽÜŽŽ2ŽŽÿðŽŽLŽsŽÓŽÒŽÓŽ~ŽbŽŽ.Ž ÇŒÆŒð/5OŒèŒ{ŒjŒðŒøŒø\X‹ÄŽŽq lÐEà’‘ ‘q‘ï’{““p“Ÿ“┽•e•‡– –Ê—”™)š5› œožŒ† ¼¡ Ÿ÷ž–žéŸxœØ›“ ò¦;§|¢Ò¡šª­¬ª¦Ð¥¤¢u¢¦¢¢u¢¢}£!¤R¥B¦—¤³›½šr™¹œf¢g£˜¡ë¢÷¤R¥.¦§¬§§§À§k§±§§¤¯¢~ øŸÊœš³™ˆ—×!–Ì•œ”“ْó•d—0–4•Ñ””+”†”¶•Ε •–іɖ™–V–q–Y•­•a•”a”“è“ù”/”F”5”7”A” “ï”X“£‘±à’ý••¶•7“єݕm•`•a•.•A”ó”ה”»”w””4”3”i“U’h’c‘Ð’Ï’ëö(=Ž*zèqÿ¥ÌÛ’‘jÒ×@Ük‘‘&ò¯‘|’—“h“h“ ’Œ‘ «¹‘e‘s‘g‘M‘?‘©’'’€’“’{’v’i’P’ ‘Ë‘µ‘¬‘¤‘w‘‘9‘@‘>‘7Ý‘ ‘|‘³‘˜ö‘’@’M’ ’m“@“A“’Ñ’¨’Á‘­‘ ‘I‘L‘Uæ‘?‘Ý’“!’Ë‘Áн‘I¸»t‘i‘?¹}ŽH^^ŒêŒ‹ŒD‹‹v‹©Œ Ž-Ž#Œ,ŒŒYŒT‹åŒ‹œ‹‹f‹7ŠëŠÑŠŸŠ…‹‹©ŒµŽŽmŽ@ŽƒLŽŽNŽqŽŠ ‹9Šô‹ŒuŽ_ŽÙŽòŽMŽáüçwLŒÁŒ¯Œ©Œ—Œ?ŒIŒgŒ.Œ‹Ã‹©‹q‹Y‹h‹3‹Y‹F‹N‹*‹ ŠáŠ¿Š“ŠuŠ?‰õЉ߉­‰‰¸‰™‰Í‰æ‰çŠ.Š+‰Ì‰Kˆ¾ˆtˆWˆOˆYˆkˆ“ˆÒ‰ ˆö‰ˆ£ˆÖˆŸˆK‡¸‡c†û†…ã… …"……k…ˆ…Ã…à…î†J†à‡;‡F‡‡.‡D‡ ‡ù‡ðˆˆnˆ›‰>ŠŠ?‰î‰™‡à‡Œ5’rÍUƒíêÚ·œ‘–ו”5“T‘¿’.‘¨’s’ “Þ”O•¹•¿•“-”×–’Ç““‰”R•ˆ•t–—E—¶—–Ñ•­••Å””“s” “’Ë“â”n”©”G“Ž“©••¢—†–®—Ø›™¶—–Ö“Ö‘O’ž“6“¤“Ɠ󓃓Z“F’@‘w‘]‘?‘‘-‘ÌôËH)EYš³åŽèŽUŽŽ:Ž\ŽÇŽ“ŽBÂQŽéŽeh´ ©ŽLŽñ4ŽzŽMŽ-֌쌆ŒBŒ‹ã‹Ð‹dŠêŠçŠðŠIŠŠŠJŠÖŠãŠ›Š&Š*Šn‰÷‰½‰¾‰š‰­ˆí‰‰ˆÈˆä‡½‡×‡¡‡¹‡z‡G‡G‡²‡Üˆˆˆ ˆ‡åˆ ‡øˆ‡õˆsˆ<ˆ‹ˆl‰ˆØˆ×ˆÓˆIˆW†FŠ©™X¢þ§ž¬ì«³ª¦¨H§ï¨0¥¤L£U¢r¢^¢¡»¡¡& ™ŸjŸÀ [ ¯Ÿ°Ÿ#Ÿ­ŸˆžÛž4žißž?œsœ;œ›ï›P›#šÂšë›œ‡V”û’’M‘Ö’™””õ”´•;•a”ô•#•#•E•I•”••¯™7˜ëšmœÍœþžEŸSœª”ä‘)•|”¸”"”h“«“œ““V’À’N’’J““ù“è“÷“• •_”‹“¾’/’¢“H’Ð’Ù“ “I”.”Ì”w”x”}“û“Ù“ª“s““±“ƒ“•“t“G“.“@’î“’û’¯’)‘;à‘óºÃ÷‘)‘L‘j‘@ì‘&‘ë‘K’ ’d’Z‘ý‘J‘ñÖaEŽŽíެŽ@Ž Û̦¡ÝŽŽ³ŽëŽØŽ¢ŽvŽ¢ŽŽJŽ ŽŽBŽ šŒkŒ Œ!ŒŒŒ§ŒßI̲¬_ŒƒŒ…wr˜Ž,ŽÆ1´ý 7"7K–‘ ‘ê’œ“9“­””œ”וt––Ș6˜Ì™›ŽžŠ¡Ï¡¬¡·¢š¡\ŸÖìuâ›–œª¥¨û©§¤¨Å¬Ø­[­Dªž§&¥‘£¡Þ¢L£z£}¢O¢˜£4¤?¤Š¤£¥ž8»ŸLžæŸT£ £ê££ó¤î§7§ô§(¥ì¦Õ¦W¥®¥Ø¥Ø¤*¢‘¡ý )žšHœ>›/™’˜Ö˜w—C–…•’³”"–â–'• ”R“Õ“ú”1•B•˜•ª–‚–‚–F–•à•³•W•-”´“þ“¿“®“°“³“Å“²“É“Æ“Š“v“•“ÿ“l‘7’,””§”¨•R•D•”ú”Д¬”a”/”4”6”M””?”‰”K“¥’÷’¿‘È’]’ÉPŽ»jwŽEŽÁ„¸®‘‘J‘.‘p‘qÈCÕ”«²Óåð‘+’ù“(“’—‘ƒÅË‘M‘>‘‘ ‘L‘§‘Ö‘÷‘ù‘ב½‘à‘ꑘ‘‚‘\‘e‘D‘8ؼ{“©Ÿ®áù}‘$‘A‘Ô’$’]’!‘þ’‘ð‘G™‘‘1Ñ¢ªßæ]‰‘V‘qͦœ²*.VæŽîÛVüŽhö:Œ‹ðŒ'ŒúލO‘röŒç‹Ü‹‹ÿŒŒŒ¤%LŒ~‹Ü‹X‹ŠõŠ:ŠŠØ‹Ä.¸:E'A.ŒJŒoŒp‹~ŠáŠkŠXŠñ‹æŒÞŽŽªŽ¨ŽP޼ÕÓ}µè}ŒöŒíŒŒSŒPŒ;‹ö‹³‹¸‹’‹Ÿ‹¯‹‹‹™‹4‹4‹‹2‹ŠÞŠ·ŠEŠ-Š.Š#‰Õ‰Ð‰Å‰ä‰ä‰Ð‰ûЉ¢‰Yˆìˆ±ˆ†ˆuˆ’ˆ×‰‰"‰^‰Z‰.‰‰tˆåˆ:‡º‡>†¤…õ…P…u…l…'…Y…3…’…­…“…Þ†+†£†Å†ì†³††â‡7‡·‡A‡³‡ÖˆÁˆé‰-‰ˆô‡+†‹¯‘Ç…ÏÒ爎C•Ú–Ž”ü“‘»’’:’$‘;“”!•T•”÷”`”[“ÿ’ô•”’å””Y”ÿ•¹–·–û—–²–Œ•>”B“Ì“.’^’J“E”’”[”g”“&“ú•V˜ü˜8—µ—¾—À—›• ’‘Û’Í“n“Ë“¡“ø“Ž“¡’ÿ‘ÿ‘‘[‘8‘ýàëë½c\/ujWm}Ž ÀŽrŽ~UpÑ[R¡Žšß¨Œv­Ë‚þŽŽã’ŽÚŽÞÉ:Œ¤Œ‹æ‹ù‹ä‹³‹™‹b‹’‹:ŠVŠŠ*ŠNнŠf‰»‰¼‰ ‰|ˆôˆ„ˆr‡÷‡ùˆˆ<ˆ ‡Þ‡²†±‡‡†Ê††Ç†î‡9‡F‡t‡^‡”‡q‡w‡˜‡S‡y‡*‡S‡-‡`‡Œ‡èˆˆˆ|ˆa‡ëˆ3‡ú†/‘›‰£è­H¬Û«œ«Nª ¨ò¦}¥Á¤d£è¤æ¥"¤£†¤í£¡J¡w¡”¡¨¡`¡ƒ •ŸOžGО óž‡æ»TœàœõœÜœ«›½›)›pœÍžA˜’X’ ““·•”Ôæ•C•”Š”p”y•k”±••Z– œŠ›¢œ7蟠’ êª“¯‘”4”ƒ“ø“þ“‚’ì“’É’ô’@‘Ê‘v’“©””l”-”á” ”õ”¼’Ý’!’û“;’à’­’¾““À“’“‚“÷”” “¸“p“£“Õ“•“d“[“X“’ÿ’É’ê’¶’·’<‘6Ó‘ ‘Þþ‘‘7‘j‘5‘‘ô£ª‘H‘±‘ÏÎS2PŽƒŽ<Žuޡ޷²–¬u¾Žl ެŽζ¿îŽ0Ž9Ž&ŽŽŽ›Œ¢‹Ý‹“‹SŠ•ŠÊŒ,¡ŽŽ³ÿŽ ’Œ4ŒY@NPþŽ“Žþ:©Å ñÊùcΑ=‘á’ ““¾””E”Ù•a—Лzœ¤É ´¡\¢'¢­£”¤&¢ÛŸØžžýï 0§%ªœ¬_­D­M­­’®«©Ÿ§v¤¢££·¢µ¢j£Ð£þ£j£R¢Ð£Õ£#£+£a£â¤m¥¤*¤Á¤ ¡W¢†¤}¥]¤š¤ÿ¤R¤u¤œ¤˜¤h¢ì¢5 ¨ž…œéœÄ›™šxšO˜‘—.•Š“‚’Ä“û•"”{”.”””L”¦••/•¶–•Æ••t•6•”Í”:“Ÿ“Z“’ë’ü“D“N“,“’Ð’ý““W“Ö“Kýó‘’²””É”j”¥”s”!“攓æ“Ç“Ã“Ï“Ž“³”E”M” “™“’w’£‘þŽòZŽÒe¹èú£USVð-8Q$ ²¼’h“—“(“ ’ÆäѱŸÓ‘f‘Œ‘‡‘Å‘­‘{‘K‘?‘†‘n‘B‘‘&âÀJt|àfd ‘W‘\‘C‘‘I’G’-‘Ò‘²‘Ñϑ\±}‘ ‘UcT–¢ò¨Ýf-è âVŽLߟ¹&ŒQŒ=ŒzzŽñ€‘p‘ч‘k‘3ŽúŽ/¶ËŽ¿”#j}ÇŽ^C‹ùŠ®ŠCŠlŠ—ŠŠ˜Š€‹&Œ‘ˆŒú‹˜‹g‹ÎŒ/‹ô‹ŠÊŠÅФм‹fŒáŽ Ž¢ŽrðÉ´dŒûÞŽGÜ€ŒøŒ¾ŒUŒ;Œ‹ò‹È‹Î‹Þ‹ÔŒ‹¬‹ŠöŠlЇ‹ŠñŠ¿Š‰ŠŠŠ&Š2Š"‰ûŠŠ ŠŠŠ‰±‰‹‰%ˆãˆ­ˆ¶ˆî‰"‰^‰‰Â‰ß‰Š‰f‰”‰ˆ"‡‘‡ †q†.…R…p…0……[……x…£…Q…k…¤†e†ž†´†«†œ†¢†ã‡˜†Â‡†Ç‡‡‡Ìˆ¤ˆ˜ˆ‚‡wˆt’“ÏQb®Ññ‰£}ã‘N”Ÿ•ð“ê‘ѧ’’A’/‘Þ‘õ”•h”é”{“ô“§’.“╇“[““)“t”…” •ž–Ù—Z—c–ÿ•o”†”k“Y’‘“d“Õ•F””“R“^“Ú—–Q– —1˜S˜[“Å’’d““ˆ“²“°“Ó““µ’À‘õ‘µ‘n‘:‘áÍôçå¦aX–CèiŽŽ&ޱñV’¼ÞؽÂ=±ŽáŽ?í¢¨Æ×/§ŽŽŽkŽÖŽFŒøŒA‹š‹r‹ñŒ‹œ‹}‹Ê‹­‹{ŠÍЉ³‰›‰­‰‡‰ˆ½ˆóˆÝˆÉˆÉˆ ‡¬‡¡‡•‡¶‡ƒ‡‡,†Ö†c†ˆ†Ä†D…þ†+†I†k†Ÿ†§†±†Ð†æ‡‡‡E‡'‡/†ý†Ù†É†í‡)ˆˆ ‡°ˆ†ïˆ†^†x’½ Äª­a«Ë¬«Ù©Ó¨è§ì¦T¥Ã§§¥Z¤d¥"¤X¤£`£¤£È£`¢t šŸdžðž’ž_ŸŸˆŸSŸEžZœØœ¬œò›–›|›7œ\\Ÿ”• ““”ø”ñ•Q”•Q”Ê•”7“ö”y”è”6•”Ò•|ž¿žœŸ% ž Užàœ«˜ Å“M•>”“Ñ“%“g’½“’•’÷’0‘‘!‘Z’{“¤”/“â””‰•G•J”“’í‘ß’’z’‘’]’’º“"’‘7’@”.“â“£”“Ò“i“{“4“/“.“’º’Á’´’Q‘§‘'û‘öáÔõ‘‘5õÈÄzTz‘‘ ÀuÏo ŽâŽ®ŽeŽ›ŽÅŽrѳ§ÆŽ‡ZÁŽvŽ{æÊ×…@Os§½–f)Œ}‹À‹ß‹ÿ‹lŠô‹°3ýŽ\¡¿ŽŒÉŒMA‰Ž*ŽÄŽånPŽÎl£®ÑÿE{ë‘Ð’m““'“²“Д¬š¡(¥¤£¢¦¡<¢1¢/¡œ¢(¢Ÿ :žuŸ¹¡~¡G¡7¦é­5°Ì¯V®0®&®ë®'¬ü­L§È¤”£?£ê¤7¢‚¡Ï¡V¡y¡…¢½£œ£û£ã£á£þ¤¾¤Ì¥j£Š¢f œ]œjž¤¢­£„£ý¤—¤U¤¤o¤$¢¬¢‡¢%ŸÚž@a\œ†›À™/—í–‡”«’°’Z“€’Þ’ó””D””é”Ñ”ä•%•K•,•/•”å”Ó”c“È“’Û’x’3’P’’¿’º’’A’n’Ê“’Ó“€“H‘qÖ’“»””R”v”“Þ“ñ” “ö“Ó¿“½“š“Ž“¯”H“ñ“‡“%’~’¸‘²\ ¶ê޹ޤˆç´Â‡gæÈÍoIŽØ›xã’’“D“5’‘‘ÌP==ǷЂ‘#‘,öö‘‘‘!‘‘]‘e‘=‘X‘F¥n2Þx«þçAÛ‘5‘‘g’A’p’!‘å‘őܑ|Óz':Ñ´-z@jgð‡ŽýÏp]'ŽèŽ%Ó*Œõ1Žq¦‘‘ ‘‘‘‘‘1ú€×#ŽŽzŽvŽº#VËYü‹ÄŠŠŠFŠšŠ2‰ç‰½‰¾ŠÀ‹Ë‹ÊŠØŠfŠ=Š6ŠB‰ÙŠ:Š~Š7‰ý‰ïŠs‹GŒ¸´`ŒŒÛŒú‹õŒ‹ÃŽ>ì›’4ŒÙŒ„ŒlŒ<ŒPŒMŒ­ŒŠE‰¹‰œ‰G‰L‰ëŠ?Š2ŠQ‰ß‰âŠŠMŠqŠSŠ*Š<ЉôЉ—‰€‰l‰N‰‰‰5‰‰œ‰þŠŠTЉî‰Çˆ÷ˆ‡u‡†_…ñ…{…²…z…z…?„²„¸…ž…U„û……˜†,†i†©† †û‡=‡X†m†m†‡‡,†ê‡å‡³ˆŠ‡¥ˆ“”¤<¢üôàweå”ç˜.–Ã’õ‘â’’’¹’%’K‘¡’á“Ë”¯”Ü“¨”/’<“'”§“4’Õ’ý“º”“Δù•[—^˜]˜P˜ –»•”*“Z”‡”G“Ú•-”¼•1•G–”Ú”š”“–Ð—C•R” ’G’†’£“*“ ““Ÿ“‹“o“r’’‘À‘”‘‘+êæÞÊéñ—*2h;9Ž%Žžðú‘*îÆ¹¸6Q ¬_Žnåºz«(ÊŽqŽ¢)Ž®¾Œ£‹¤ŠŒŠ£‹s‹»‹ƒ‹A‹2ŠûŠ©Š[Š ‰É‰T‰ˆäˆ¡ˆ]ˆ‡ð‡ð‡ô‡‘‡€‡™‡y‡@†à†Õ†Á††††)†/†T†.†8††N†5†V†N†¦†Ð†Ã‡/†÷‡2†Å†ó†·†™†œ†Ú‡µ‡&‡.†›†r†—„€Ž ž¦ç®M®Œ­û¬ßª›«,©ñ¨u¨©=§º¥£Í£¢££¡£Š£–£´£Ä£©£b¡JŸ.ŸžöžÜŸý¡¢u£·¡<èxÀœœ˜œ²œvœ6üž­—V••Œ”ö•:”¥•:”£• “é”J”*”š”єȔ畻ŸÑ¡¡o¢¿¢Ÿ‡™|•3¦”^”c“I“¿’¼“=’‚’´’…’¥’Y‘ß‘1‘‘Ÿ’˜“$“{“Ó”ˆ”Ù”Ô•/”œ’Ü‘S‘U‘l‘‚‘?û}äŽ?’5”S”f”R”_““=“_“™“p“z“’ˆ’a’‘m‘+‘S‘<ç‘‘‘\‘2؇E,N|Æ¢êÆ³AŽÜ ŽßŽ¡ŽOér¨’lX65ráÔž¬²&7C+ŒðŒ¢‹ø‹ ‹‹\‹’‹™‹ÎŒÛŽ ‘ŒËŒ´\=T’ŽŽoŽØ()*€¹Ÿ­°ÛC‘‘È’X’C’Ù’M“Ò›œ¤[©z¨~¦.¤Ý¤£Z¡Ù m 5 6 g¢ÿ¦•¦>¨­É°g±V°°‘¯…¯Â¯o°^°·¦å£C¢Ó¢ª£Þ£N¢³¡¢¡{¡±¢_£[£¼£¹£ë£²¤K£–£í¢Ð¡\ŸX?ìž ·¡¤¢‡£¢*¢£ ¤L£Ú¢¢J¡ø¡\ ežÊœK›[™G˜2–†•g“Ð’}‘k/5’,””€”ÿ”Å”w”D””¥”€”¢”¥”P“ð“f’ª’}’!‘‘ܒ’ ’‘Ï‘½’’U’µ’³’»““’ï“"“P“¤“è“´“]“’ä’V’T’퓆“˓Ɠš“7“á“ⓚ“/’r’j‘©Œ¿Á3ŽvDêâOÀÅ0©X›î’â“’1‘ý‘¼’}’º‘摜‘БmŒ´w€l¼{‘×¹–­¡Ä÷‘>‘W‘*‘*‘A¶nŽù„ס®E‘‘§’L’y’ƒ’Æ’’Z’&‘Ü‘a¿A¿µ3`“œíŸˆCޝŽyS°×_úŽŽŽ’Ž¬Ž¦Èù‘‘_‘Ô¨ž’ŽÂ˜ZþfŽ'‰tN펢Žê Or€ŽÞ‹SŠüŠøŠÄŠE‰àŠi‹‹)Šf‰å‰lˆ³ˆõ‰‰‰-‰`‰a‰¤ŠŠDŠ«‹Y‹à‹p‹:‹d‹`‹¦ŒŒßŽbŽ'ßÝhŒ×Œ¯Œ¼ŒÛ3$а‰‰]‰œŠ‰Ÿ‰¦‰Ü‰‰ž‰EˆÝˆ»ˆ¹‰$ŠŠ ŠeŠŠ\ЉӉ։”‰Hˆù‰‰5‰³‰åŠFŠKŠ›ŠrЉˆ©ˆ ‡™‡-†±†-…Ã…€…0…B…k„åƒò…Y…X…'…S…4…߆ †9†G†Ÿ†×‡†S†A†S†F†f‡r‡€‡ˆ‡ˆ–’–]‘*ûšn›¼•Û˜”ϑۑ§’‚‘‰’¨‘î’S’¨’Í“]”s”»““I’v’+“'“(’’’Ê“+” ”[”q–T–­—¹—ê—ƒ—(–Û•Ì•¤”’ã—˜B—}–•—D•†’§Æë€‘µ’#’€’ד¶“à“š“~“b“_“\’¨‘º‘—‘‘0üÛÛÌ‘ µEZ‘¶Ã‚ÑŽë8jöÏ‚³¬‹cXȳ­ŽçŽ:Ì*Œß”}ŽEކŽ×ŽŒ÷Œ¸‹gŠcŠŠlŠÙŠÍЧŠ×‹ŠåŠ ‰¯‰X‰-ˆ¨ˆO‡ô‡Á‡‹‡•‡´‡ª‡v‡v‡Y‡T‡<†Í†µ†T†?…è…ò…ö††#††*…ᆅↆ#†\†±†Ý‡‡‡X‡ ‡†­†™†q†>†‰†ª††„ˆ…,„iŒ0Ÿ5§‡­ÿ¯t¬ä¬A«Î«ò«9ª‹©à©D§¢¦³¤Î£F£Ê¥ £{£¢X¢Á£i¢Ú¢ cŸÓŸWž© £+¤¢‰Ÿž5ž:žoŸéž"kœ$Fž=—±•j•¢”š”ՔŔДx”¸“ò”f“»”™”r”R•Û”À™£G¤&£3££_š“a‘n“Õ”Y“n“V’”’R‘ö’Y’N’‘í’‘|墑y’ˆ“J“B“è”:”D”[”©”ƒ“’‘0ñt'ŽèŽ]ú~“]”“å” “Ê“ ’ë“T“k“z“’†’ ’ ‘«‘"þ‘þà®ì‘>‘ =åΣÉM¤P) ŽÜŽžŽŠŽcŽ—Ž4Æ`g0ŒâŒÞŒUŒ[Œ·ŒúŒãŒ÷ŒËŒÅŒïŒmŒBŒ¥ŒëŒðŒæŒ‹‹à‹aŠ¡Š1ŠzŠÓ‹7‹ãŒqŒÞŒy‹÷‹ûŒ)Œ‹íŒIŒ¦ŒæyÛ½Ž2ŽÞŽÚFJŽó*LbШì‘Q‘w‘ёɗi¢Ëª8­ª®¨Â§†¥+¥ˆ¤b¡Ñ _›nžw¦‚«„®U°°±¹±Ð±õ°Î±P¯ó°å¯j£á ¹ Ÿà¢±¢ú¢¡¢÷¢?¡X¡&¡ó¢v¢j£¨¢þ£i£,¢•¡€ ž1›„œ žÍ yŸºžÀžIždžržŸë¢˜¢)¡¹¢H¢W¡6Ÿ” œFšt—ã—¶•¤”R“X’70@Α…“É””]”“”{”5”3”””<”"“Ø“”“’†’V’‘‘h‘l‘p‘m‘]‘_‘®‘ô‘ê’R’’K’‚’}’V’{“5“q“"’Õ‘Í‘‘ü’R’}’Þ“°”“Æ’ï’Óå“Ì’Ç’¼’‘¦‘ü©Ž¬Žurø>žÁAıZܑޑ.‘±’Ð’o‘¶‘±‘ב@‘ ‘t‘)nŽÐŽÖ¥F·‘ùïêá‘ ‘#‘‘‘ òÉ‘‘ŽŽè—Ì)ø‘c’6’M’c’o’i’e’G‘Ú‘R‰ ö†{õ't·jû޹#g± •CŽÊŽÉޥ޷«ÿ‘C‘R‘6éøã¶úbjŽÇœŒØŒŒ}ŒLŒDŒqŒ×ÛŽaŽ´ŽôŽâŽ'tŽ)ދޫŽÄŽxŽÕŒ‹°‹`‹±Œ.Œ3Œ‹Ÿ‹:ŠèŠÏНŠX‰Õ‰ùŠ2ŠvŠ>Š$ŠÑŠÛŠšŠ?Š0ŠDŠÕŒ¬ŽŠŽŽrŽÏHCqöŠŠ•Š¿ŠJŠ:‰–‰«‰‰‰ˆùˆ$‡¯‡½‡Êˆ·‰>‰³ŠŠiЉӉ¦‰Q‰q‰k‰¨‰êŠ]ŠwŠŠ¢‹ ŠÊЉBˆˆ‡æ‡N‡!‡†Ž†…×…Í…ˆ…z…=„…{…O…=…S…І…ä…ê† † †I†}…¼††…Ȇ‰†v†÷†¿†—‰ò’—´‘š‘- 'øH‡——t’J‘둟‘ôâ‘‘­‘Ò’_’ó“Ë”"”l“Ç“Œ“.’y’…’ӑꑤ’I’ê“—“{•–ó–a˜¦˜Z—Ę“˜`—•®”5“s— —Á˜&™;˜u• u]Œ_ÑÛ‘©’a’Š“"“³“¥“R“+“2““/’Æ‘¸‘Œ‘z‘*‘ ÿ‘î詘í‘C‘.‘(³PB¶XEÐÑp.,¹µŸJŽšìL$îÞŽ0ŽÏŽGÍŒ‹Š€ŠUŠ!‰·Š ŠQŠdŠåŠû‰‰‰7ˆm‡±‡’‡­‡›‡}‡K‡=‡ ‡‡ †Õ†Ý†½†€†G†.…é…ȅąDž؅؅΅¸…à…ç…á…ô†+†a†±†Ï‡ †ô‡?‡@‡†è†D†z…†I…i…'ƒïƒÍ‚„Œ-¢´§b¬(±­Z¬ã¬ô«ã¬«ªsª¨û¨a¥ó¥Q¥.¥c¢û¢£¡þ¡¤¢Ü¢!¡¤ ] & JŸë ¬¢ì¤h¢®  ŸÖŸ{žžŸŸZœ½œ¥›²• ”ü•T”C”†””µ”c”R“Ö“º“{”“Þ”~”ù“ÝË¥¸¤y£Z¢££tŸ’–mÕ’÷”a“?’ ’l‘Ñّ‘¦‘ž’‘÷‘ƒ`œ‘’’Õ“e“œ“É“å“Ú”(”“x’x‘¾Â}ަŽ%ŽŽ.?“*”†“­“2’Û’„’Ç“ “V’û’s‘ô‘Ë‘@‘½Æ‘㟶™Kg;(cŽÒŽˆŽžŽáŽºŽzŽ3ŽcÌL)ŒÐŒyŒ#‹í‹c‹v‹¾‹é‹Ë‹ò‹Ú‹òŒ%‹¢‹y‹®‹ñŒZŒØŒ¯‹û‹j‹ŠŒ‰ž‰u‰ºŠC‹ ‹1‹~‹ê‹Å‹¾‹Î‹~‹O‹=‹/‹|‹îŒPŒŸŒÜ„úáÕYŽ®ŽôZÐÐ$–‘‘¿˜l¢B¨1­Û­æª)¨Æ¨§€¢Xžâ HöœÍ ü¨š¯!°^¯Œ°±‘±V±w²±Ù°±©šŸ± )Ÿx p¢n¡Ã¡È¢Æ¢.¡c é c ž¢c¥×¥6¤£¢F¡BžÑœîš™™é›àœe›h›@›Ö›±šñšÔžs¢3¡L t ²ŸtŸš¯˜>–“ª•/•“Á‘÷‘zÿ›p·’‰’ô“”[”n“õ“±“„““t“j“$’Ð’‘’‘Š‘/‘‘‘)è¿¶‘‘%‘„‘¡‘¨’’‘â‘©‘Í’’Ö’ü’?’"‘‘~’ã”(”Ê“’’͓Δ’»‘ò”$“×’5’ý’\‘¸Óð‰ŽbŽšŒ'CuD=Û¸‘Ù‘ÐqÚ‘T‘'‘‘)‘®‘3Ý‘H‘ pÁŽÞGò‘]‘O‘n‘˜‘Y‘Êø‘ÿ‘êÞ¬v†*­̯‘‘c‘À’’-’&‘ù‘ô’F’O’‘¶ÿ66†ËAÚ‘‘0‘º‘Ì‘W‘‹‘þ‘m½‘;‘¡,I޶ŽÐÔ¥û‘‘É5޾ŽHŽrœŒ,‹è‹Â‹›‹’‹u‹ÉŒ$Œ^Œ×G˜¶ŽŽŽÙŽáùŒ\‹¤ŒŒÆµŽ!òõy;ŒÐŽ4޵޿ŽÆŽŽWnjʌH‹cŠÅŠÌ‹ŠÇŠŠŠ.Š+ŠŠ;Š™Œ3®Ž\ޤŽhŽŸ¸ÊŽ ‹„‹U‹5ŠãŠA‰Ø‰Ó‰Œ‰®‰@ˆ²ˆ‡›‡¥‡„‡ÑˆÚ‰Â‰ñŠtŠ=‰ù‰Ü‰¶‰ôŠ?ŠsвŠ÷ŠÅŠ®‹ ‹,Š`‰Œˆ­ˆ,‡‹‡†Ð†º†»†¥†4…á…¢…}…‹…k…I……%„ñ…h…”…Û…ž…‚…²…û†…w……=…†h†!†§†ì†$‰k‘–ƒÙ¢:ÕŽÜ9ލã—Û—Ð’0‘î’‘°Êv‘‹‘’“6“““ƒ“Ä”v“~’|’+’‘ß‘ü’½’©“Ž“P“¯•m•a—8—ˆ—w—£—É—•Å—&——˜êšF›§šF”呯'Œ# ‘y’¨’m’Á““;“’à“%’â’ù’±‘Ù‘™‘f‘‘‘‘êåç‘#‘E‘˜‘p‘Òн£—¿&¡„‡m2·Òfޝ÷(Œô°Ž¹tŽgŽHޏŽ8“aŒÛŒY‹Ö‹)Š™ŠÂ‹ Š:‰‘‰†‰6ˆ·‰;‰,ˆ‡€‡‡‘‡n‡7†ë†æ‡‡†ÿ† †q†r†N†0†…ö…熆…Õ…§…ƒ…Î…º…í…å…ô†J†—†É†Ø‡.†ý‡X†Ñ‡C†–†ª††…p„­ƒýƒ8‚ª†ožð¨Êªz°5­ú­­K¬1¬V«¯ª¶ª$©D¨i¦n§y¥Ô¤>£6£@¢¢m¢ª¢=¡' @ ƒ o¡ë¡¡ ¤k£…¢”¡5 zžøŸ žƒŸ<žÒžr”Ö”õ•c“x”M”M”†”2“¼“F““.“M“²“Å“š•y M§ £¤î£¡³ŸÎ“(î“§’¿’¡‘â‘Õ‘x‘¸‘E‘0ß‘E‘{‘ñ‘5›­‘:‘¹’)“.“;“q“|“]“V“d“5’Ú’L‘òŽéŽŽQŽrŽé‘-“i“¹“‚’;’<’p’p’¾’t‘®‘Ê‘XņXw°ž8Ók`Q9CqޏŽ2ŽŽŽMމŽøŽŽ(ŒÅŒ®ŒJ‹Æ‹4ŠåŠÐŠó‹‹M‹^‹Y‹=‹e‹h‹D‹‹‹ ‹a‹²‹†ŠìŠSŠ/‰·‰&‰#‰¯Š%Š.ŠoйŠî‹ŠùŠ¢Š§ŠŠ€Š Š¸Šò‹5‹‘ŒŒ­ Plƒ‡ÊŽŽ·ŽÛŽÄ ¡ho“Tš‘ –¦Ô¬Æ¬¨þ¨Â§K Oœ¶ ÿ¡%¢ç§ü©i«G­®®®®7¯%°W°p±m¬Ç¡uŸú ]ŸZ · ÿ¢¢£ £)¢5¡ ¡ß£ë¥¼¥£É¡ÄŸ³ŸgžPœ.šØš™}™Kš0™Ÿ™X™q™™­™§›À R¡ >ŸßŸwŸ˜5•Y“°’N““’Û‘x‘)TŽùž’k’ö“”““5“’÷’ã’ê’™’*‘Àã:÷è;Ÿd,1ÀÖá‘(‘i‘ž‘‘m‘`‘d‘«’L’‘¨‘º‘E’0“¨•È–’œ’Ø”&’Ç‘,’Ä“a’P“M’Ÿ‘°ç‹LŽB]ž™P`Ú>ŽÍæ²£ŽÃÀ‘›‘b‘^‘J‘w‘¾‘-‘‘]‘D»À’’H‘®‘‘‘5‘±Íïեʦ•{{e¾[¿‘‘‘«’K’‘n‘p‘K‘.‘›‘‘‘wÙÜ/n½ý9Ÿ‘‘p‘ú’M‘Ö‘×’'’W’,’i’µ’†’‘†€Ù˜Ë§„¦Ž½¼¿ŽSöŒ±‹‹v‹“‹g‹b‹`‹äŒ¶%ŒïŒËŒæ`À᪌W‹4‹O‹f‹—Œ ŒSŽnŽÜ?Œ‡/ÓŽCŽ™ŽÙŽÈŽÆŽéŽÈŽšŽ‹ÃŒt‹ž‹‰ŠôŠ]‰ôŠŠŠŠ ŠT‹6Œ v ŽÂŽkŽiŽ)Ž_lŒœ‹Ã‹G‹ŠsŠJ‰ï‰‹‰aˆÓˆkˆA‡à‡µ‡§‡€ˆt‰»ŠlŠœŠDŠ(ŠKŠbŠÇ‹4‹.‹b‹9‹F‹GŠý‰õ‰<ˆžˆ1‡›‡A†Û†§†’†ž†{†4† …³…l…<…7…"„ʄυ(…(…—…j…¨…¤…ñ…C…„‘…w…V†*…†‹ˆ…‘^”Ë‘RÀH¡Šhu–Q—t—š–P’N’%‘±ß‘ƒ‘_‘Ú’»“ “H“–“°”3“’Ñc‘ã’O’'’X‘듞“«“E“ƒ”—•—˜Ø˜T˜›—$˜íšã™P™O˜_•;’U‘‚‘ÏžŽåî ‘1’h‘ü’Œ’Ó““ ’2’³’Ø’Â’+‘‰‘b‘ è‘‘Øè‘‘,‘I‘V‘{‘;ö‘ äŒv'è4À”AÇLt>ŽãŽiø^ÐŽ’0Ž?ŽŽ»Ž/XŒÖŒ—Œ‹a‹‹+Š”Š)Љñ‰™‰5ˆ²‡Ë‡i‡‰‡‚‡r‡)‡†ò†ú‡†å†Å†‡†_†<†,…á†B† ††-†5†…Á…Ӆ円†7†s†±†ó†×‡‡ ‡;‡$‡ †Ô†Ù…Ä…ù„ç„ç‚õ‚¥ìì™À¨¬ï®ô­á®Ú­Ñ­±«â«ÿ«Sª“©›©§P¨N§Û¥¤N£F¢ë¢é¢d¢«¡) M Î Y¢ Ý¡£=£Ï¦£ì¡ËŸó GŸ  B Õž¢”ý”v”2“W”M”0“ø“´“’ˆ’q’h’o“O“8” ’¦—¤Õ£Á¢}¡è£ C‘‘‘÷“ø’‘þ¬‘y‘B‘fÉ:ytò‘#‘]‘,òß‘’—’È’¿’Ò’Î’§’j’z’’¦’\‘¨zòÄŽr!k‘»““4’Ž‘î‘ï’’‘ ‘ƒ‘õ`09}Ë3¦>ŽËŽçŽô޶Ž.ø¸éŽŽ&èå×AŒ¨ŒqŒ@‹Ë‹Š•Š{ŠZŠ}жŠá‹‹.‹+‹ ‹;‹Q‹ Š¡ŠeŠ[ŠTŠ~Љ§‰‹‰f‰ˆî‰(‰‰‰Q‰˜‰ïŠŠ$ŠŠ‰ì‰Ì‰Ü‰è‰õŠ8ŠÏ‹ŒDŒuŒÉŒæ6ŠŽ7Ž=Ž ˜Då‘`•ÿ¢³ª®tª[¨§ ¢ï¡£ã¥¦Þ©µ©Ãªrªöª©«"«ç¬/­±®û¯ö®k¦¡1¡½ ‰ 5Ÿ /¡‰¡£5£¥¤¤}¤¿£Ç¢&¢ ¢m D·œ¤œ(™Ø˜{–˜–1—w—ã˜4˜q˜”™Ššð›_î Ø WŸòŸXŸ‡š»”葦’u’WÁ‘2*’F’ÖÔ(‘”“ “b“š“’¥’]’c’b’‘¿‘'vÎ,޲ŽÊÜÚ“Æ+`}˜ð‘/‘îâú‘8‘‚‘[‘‘Ÿù‘V’r“¸”D’Ž“V“y’‘¾’Ô“’›’µ‘ÑQ‘ÙŽÆúh¹±(EŽøŽkV ŽsŒTjvf¹ã‘8‘ؑ͑\‘V‘j‘¦‘°’%’§’ ‘Š‘L‘_‘?‘‘âÂÄꇜll_`ŽâŽÒŽÉ `‘e‘”’’‘&¸¹w…ç‘;8Ž«ŽÖM…³îC€ã‘;Õ±ev­u‘‘‘•‘Œžœ’ó>ŽâŽžŽ±ŽÀñ?ŒoŒ4ŒjŒqŒpŒ ‹õŒ\Œ[ŒiŒ4‹ì‹E‹P‹ãŒ>Œ‰Œ’Œ‹‹ƒ‹Z‹E‹$‹f‹æŒ>Œ"‹ÿŒwíŽÈūڎfŽtŽ´ŽØŽbՌ⋙ŠaŠ Š'Š'Š8Š-ŠkŠq‹*ŽP޾ŽÝŽ¬Žž†ŒýŒ$‹Ò‹FŠÀŠ\‰Ð‰¤‰>ˆÄˆjˆ1ˆ‡í‡Ð‡üˆœ‰œŠÄ‹ŠÐŠŒŠ°ŠØ‹‹[‹€‹À‹ˆ‹cŠÌŠ1‰‚‰"ˆwˆ0‡À‡ž‡†«†=†M†U†c†,…³……=…„²„¡„ӄ̄܅……[„à…Œ„}„¨„$„ý„Ó†;…}†À†ŒŠX˜2• µ™/¬ŽëèŽÖ„˜– – –-‘’‘³‘‘˜’k’’r’ђÓh“Œ“Œꓬ’’T’3‘¼’È’‘¤’–“’…”U”––d–V•|–u”ÿ”U”3’a’²“”’k’v’f’!’<‘­s×"‘³‘²‘Ð’ ’Ê’¬‘=’J’Ã’±’K‘l‘W‘×äí͑0‘a‘^‘C‘Q‘A‘èƒPÎ$YrYl…M8ŽÉŽEŽ/òбŽ^ŽˆŽ;ކŽ+gŒðŒ¹ŒY‹Ù‹Œ‹U‹;ŠÅŠŠŠ9Šh‰Ûˆi‡Š‡?‡$‡_‡d‡‘‡„‡v‡R†ü‡ ‡†ý†±†¨†o†v†c†¼†¦†¦‡‡††>††C†R†‡†¢†Í†é†æ‡‡‡‡‡*†ø†º†æ†-†„˜„‘‚‚€*€\š/©¬Ï®.­*®¤­§®å¬ø¬£«j«Cª©?¨[§‰¨…¦ž¤Ù£@¢³¡Ï¡0¡‡ Ì { ü   Ï ×¡;¡¢£¥Õ£Z¢¶ŸÏžß ~ Tœ£–ª•“­” “m“â“è“·“I“’m’-’’’1“’¶“ƒ’Ô’¬ž!£ }›Á›j™P¶’‡’Ì‘…‘BBê‰ÆŸµÙR¼‘>‘I‘‘ß‘Œ‘Ð’’(’2‘ô‘‘a‘l‘|‘±‘à‘⑳Ž,—Ž8e¯’^’‘¦‘…‘Ƒޑw‘‘ ý{çiˆø\ŽýŽèŽÂŽÚŽÏŽéŽ€÷Úš¶ëϹwŒ‰ŒbŒ=‹Ý‹kŠÏŠ‘Š@ŠŠ[Š´Šç‹‹ŠðŠî‹‹ŠèŠb‰å‰Á‰z‰N‰"‰9‰ˆîˆ¼ˆ³ˆÝˆæˆæˆÐˆ±ˆ×‰ ‰=‰<‰5‰ˆãˆ»ˆÛ‰*‰‚ŠŠ×‹ÉŒFŒ ŒžŒ—Œ¢2…¬Ž©lÑþƒ‘Ê’âšY¢¸©J®Ñ¬è©5§–¦w¦ ¦§5¨|¨© ªXª ©úªDªRª¢¬¬¬Ò­ªû¤&¢ã£6¢¡ì¡¡•¡r¢Z£ž¤Æ§¥o£ ¡ŸŽ [¡[ŸêÜœcœXœ'š5—¤•Á•j–N—^—å—û˜Î™Ç›ˆœË¿Ÿ{  9žI…šT•ó“i”’éFT_‘Æ’žAŽëŽ|¬‘ð““~’¯’>‘ù‘Ó‘±‘DÔë[ŽÖŽZŽŽ"ŽIŽÿB Y¤©õJ‹®ªÅè‘¢ŸÑb‘>²Ö±‘ô’×’Ë“^’­’l’Ö“8“¿“’‘·‘JµVŽ÷Ž{*|ŽûŽ/Ž…ŽE@4ŒÝ޹Q¦ŽÒvkáPý‘ϧ‘5‘h‘Ó‘¥ûoÍ‘ÿ ¾¢'/:6ˆcgI€޶ޒޖ޽°Ö‘[‘€‘2Óªªi/7,øþŽ› ($[k¥ØEbªÊ¢@Å﬑$‘>‘û£Žû޽ީ޵ޖ`ŒƒŒ1ŒŒuŒîŒïŒ®ŒKŒ ‹ö‹à‹Ò‹—‹mжн‹XŒ-Œßi¸"ŒoŒ Œ‹Ù‹Ú‹É‹‹š‹¿ŒŒ/ŒŒŒÙŒäŒ®Œ9Œ)ŒŽI¬Ž Ž„ŽÝ!Ž‚Œ¨Š Š ŠSŠ(‰ù‰ùŠ7Š:+¢JITŽ‹êŒŒL‹ðŠÂ‰ø‰ì‰Î‰‹ˆúˆÖˆ–ˆF‡ÿ‡çˆ:ˆŽ‰“Š×ŠñНŠÒ‹‹(‹`‹×Œ‹á‹}ŠìŠ6‰ô‰Y‰ˆ[ˆ‡…‡D†Ù†Æ†?†?† †7†6…Ñ…s…„Ö„^„†„‚„½„­„Ì„±„þ„–„šƒœ„@„„Ç„’† …Y†Ø…äŠJ—鑱E Žª&ŽÜºŽ‘}˜ ˜*—E”’O’ø‘£ð‘I’’ˆ’‡‘±‘¦’““/“Ý’g’ï’I‘¡‘f‘v’#’w’$‘’G’’K“”2’Ä•§—J”X‘ ±%™’™’È’‘î’ò“\’g‘vµÀÕ‘K‘‘?’f’o‘‘¸’i’D‘ë‘.‘&‘3¶¿’ç‘#‘F‘Cû‘(‘,ë“O ´Ì+6ê/ŽþŽõŽ§ŽŽŽ Žê×·ŽŽƒŽ¬Ž.>ŒÕŒk‹õ‹`ŠøŠÔŠÌŠfŠ@ŠzЉrˆ‡’‡ ‡r‡l‡J‡v‡È‡¼‡Á‡©‡w‡;‡)†à†Ø†¸†À†Ö†õ‡‡J‡‡Æ‡9‡†Ø†ë†É‡†Ï†Ø†¸†`† †±†ö†õ†ú‡(†¬†–†h…é…3„Ÿ‚ù‚“€U€Å™Æ«®®è¬h®l®ª¯­Ù­œ¬Ñ«¬«ªw©1§ ¨g§Â¤Ñ£Ú£K¡ D Q¡ ¡"¡k¡À¡³¢¦¢µ¢Â¤H¥›¢ú¢L Ÿ@ž —¤“ã”#”~”“Û““¹“j“Y’Ÿ’ ’8’‡’’=’f’ó“E’v“®‘Ì’÷˜LšG•e’°’Ì’E“‘¸‘z´.l' ®Ÿ&ˆ´ 7bœ¶Ä‘‘,‘"‘%‘V‘°‘‘‚‘I‘;‘µ‘6‘ ‘¸‘lÒ:Úˆ’2’­‘P鑨û‘‘P‘Ï'a$ŽÇ޼Žö Ž]Ž3Ë‘­†”­|ŒØŒŒUŒ=‹Ô‹TйŠ=ŠGŠŠeŠËŠóŠœŠqŠ£ŠÐŠõŠþŠîŠ ‰ä‰3‰‰ˆõˆ¯ˆ¬ˆ®ˆ¿ˆjˆqˆcˆoˆqˆ;‡úˆ ˆ/ˆPˆ~ˆsˆVˆ:ˆ+ˆ(ˆbˆÉ‰VŠŠî‹†ŒŒLŒUŒeŒò.\ŽQÕûòe“!›þ¤Á¨¬®¯«·¨5¦^¦l§¢¨a¨Å¨£¨¸¨ã©þ©Ð¨Œ¨Äª~«¸«}ª-¦£ ¢Ÿ¡| ê¡{¡¡Œ¡¡¢Ñ¥,¥˜¡é ŸPŸ@  ÑŸœÈ›Òš™Ú—Å––—¯—ƒ—Ęl™$™ðšš¶šîšíœÈ«œÛc™ô—Í•–“œ’Ì‘ Âl‘‘xb…Ž•â‘g“M’˜‘À‘–‘n‘_¡ìŽÀûœŠlþŽnŽœŽ®Žþ+D¥A6Vuò«8{ô/gXŽŸz‘/’’l’]’Ê’œ’𔆓ƒ’6‘ä‘Fö,&“ÃUUŒgŒL ¾Y<ŒðŽÝŽŽµŽÏŽMŽÌŽŽŽóª+A¦ßé¶"]Äó¿?0Ž»ªð» ?]o3ޤŽÍŽä/Ö‘ ë­xŒTø ŽRäW³ŽxŽÝŽ Žr޵޴ŽtŽÇZùsÐÝëòß‘£^Á—Ž4©ŒéŒè‰ŽTŽ“Ž‡ÉŒ¯‹vŠŒŠ9ŠvŠæ‹0‹®‹ó‹õ‹Ð‹|‹G‹K‹ˆ‹ð‹ê‹å‹}‹b‹ÖŒŽ Œ‹èŒŒ;ŒGŒ,‹î‹ÞŒŒŒ(ŒVŒ5Œ'Œ‹Ÿ‹ ‹ÈŒ6ŒÖYŽŽtŽÉD ŠÀ‰óŠŠM‰U‰¶ŠE‹²ÅQ]ŽDόŌ ŒŒ$ŠÇŠŠ^‰²‰‚‰%‰0ˆóˆºˆZˆ:ˆOˆÇŠ;ŠÒŠŸŠÓ‹.‹C‹€‹áŒŒ‹€ŠõŠe‰ì‰¡ˆùˆ«ˆ‡å‡s‡1†Ð†Ï†…҅܆…ª…`„ô„Ø„±„C„Y„+„œ„$„˜ƒÌƒÓƒØƒÓƒ”ƒÿƒñ„¾„Q…‚…€†<…c‰`”¹‘ [ó Žö¹Žõ’—˜€–^“3“†’¯‘ö’’ƒ’ú’è’ª‘6‘Z’­“z’º“a’S’”’6‘¤–ûÌÑË’{‘k‘º’a’€–’ç‰íÛ¬O‘‘’’R’ד’4‘p~‘4‘‘)’R’—‘‘’#‘à‘h‘#Å‘3’‰¶•ÌÄ‘‘'Ê‘‘ªR9ÙçÏÚÄÏÀŽÐŽÜŽŽŽLãÚÁ·³¼ŽkŽÂŽ3Ždã ŒôŒ{‹í‹eŠðЦŠ|Љ½‰§‰·‰Jˆ±ˆ‹ˆÁˆ!‡§‡Õ‡Ç‡Ê‡ó‡å‡©‡‡‡Y‡.‡ †Ð†â†ð†î†ð†ß‡/‡[‡—‡[‡†Ù‡ †ç‡†ö‡†À†Å†æ‡ †ò‡<‡k‡"†™†x†œ†…¶„cƒû‚8‚&ž‘ «®þ°Y¯­Ñ­W®¯®®g¬ý¬«ˆª×©<¨½¨:¥ê¤ê¤M£p¢¡¡Œ¡ˆ¢Ù£=¢ð£<¤2¥O¦'¨„¦d¡ƒŸjž—ý“{’æ”»•1“p“µ“ž“–“P“N’’É’’?’’1’™’p“h’Ì’Ó’´‘æ’P“V“L“‚“8“ ’.‘+ˆˆíÞl_'ŽñD:cyÀ×íÿfJ)'Ž‘H‘T‘K‘4‘&سFS`·‘t‘iþŽÍŽ6ލ’!’[±õ‘iÿ‘2‘Sá1 I\Õ(Ž÷ŽôŽõŽúŽ ¦zL*pPŒšŒLŒI‹ì‹;ŠÊŠyŠQŠdе‹)‹ŠûŠ8‰ë‰Ç‰ÏŠ9ŠLŠrЉˆˆžˆÙˆÀˆfˆHˆwˆŒˆxˆ—ˆ@ˆ‡è‡­‡P‡B‡V‡u‡¹‡·‡»‡™‡¦‡»‡Ôˆˆ‰‰ùŠ®‹1‹g‹Ç‹óŒXŒ¾&´ŽÏŽé•©•Rœ ¡Ù¥¨Ë®;®¬©Í¨ª5«ªJ©©ªªQ¨´§»¨ŽªªJªs§¡Ž ³žî›Ð›bd›žœ¢ê Ù¤5£ó¢*Ÿ¤œžéŸõŸMmœÄœºšð™w˜ó˜—q—Œ˜—ݘz˜Ý˜[˜“˜s˜8—è–Ú—Š˜ëššù˜ß™R•Ø’L’šˆ—¸‘}ÕTÄ Ž§Žô0’ø’}‘‘‘\‘õRºŽÅŽ'qŒàŒåŒí&_˜òŽIޤŽÎŽì{Ö›ô ñPUU¦¯~Žc±ýŽzŽä™‘9’“M‘ÑÒ‘(¦HcØ2QŒŒìŒm‹ÓŒŒŒ‚?RŒ»Œ8Œ¦ŒŒÔYhø•ðŽýó%;Ûаç0ŽÛä™±ŒÚŒQ ŽY±lhf{AbÚŽúŽ×ŽáŽÓR'\‡€X£'Žp–/3ÑŽpŽêŽ´ŽiŽAŽoŽtŽI޵‹ë¿ŸåÕy<ŽŠ©=Œ¼Œ©Œù²ŽRŽgìŒÍ‹#ŠŠƒŠ^Š_Š?‰¢ˆòˆï‰9‰ÅŠXЧнНЛл‹‹ŠÝЏ‹‹ó‹Ê‹(‹ ‹‹:‹®‹Â‹Ö‹ç‹¹‹”‹«‹á‹ºŒ$Œ‹°‹‰‹’‹¶‹îŒŒ ‹ÛŒEdŽ=ŽŒÑŠÑ‰ßŠ)Š)Š‹‹)‹#ÇDxŽÌŒ}‹éŒ\‹é‹ŠºŠw‰¨‰µ‰m‰)ˆæ‰ˆŒˆ¤‰PŠ4нŠuІ‹‹O‹)‹`‹ÑŒ‹Á‹ŠvŠ:‰ç‰5ˆ§ˆwˆ$‡ý‡…‡2†¯†©† …„à…=…w…O„Á„œ„]„„H„„@ƒè„.‚áƒ`ƒ´ƒíƒ½„ƒÿ„J„j…E…J„â„Z‡±’¦”ÒŒÛbš$Š’j•L—M—T•â”’±’ ’Š“V’M’-’r‘;‘'’“#’]’’…‘ð‘ö‘š40Ì`à¬ç’@ñ’’“1–g¢˜b0-Ë‘u‘É’c’Á’l!ŽÖ²ƒÍ’=’s‘èÈ‘c‘<Þ‚ô`^ÁµÑºæû±õ°^+4ÏÀ¯ùº¥˜{,ŽäŽÂކŽAñÓÆ¸µ¦ûŽ…Ž!Ž1Ž,SŒ¦ŒxŒ‹‰‹$ŠúŠäŠ!‰„‰‰‰(‰ ‰+‰v‰w‰‰ç‰²‰ˆþˆs‡¢‡%†û†©††p†˜†¯†Ï†¸†¿‡+‡Š‡®‡n‡R‡'‡C‡†ë†Ö†í†Ñ‡,†ø‡r‡t‡Ò‡è‡O†à†m†Ð†J†|„Š…­‚ªíЍÿ­w­F®Œ¬ ­­$®µ®q¯>¯ ®;­¬¼«„ªhªV§É¤ô£Ê¤˜£p£/£{¢ê£]£c¤¢¤¥0¦˜§×ª4§Ù¡Æ 5žN”“T“Ö“Å•P““í““_“Y“0’¯’’Q’-’‘¨’’’,’d‘á’’‡’’’£’ï’s’d’‘©]}ЭeŽâŽ‚Ž‰ŽŽû;*YCnƒå\Éç‘ ‘/‘0çÕUâÊ᱑)½ŽåJÍŽQm‘¥‘sm‘/‘½‘Z‘B8\]»!ŽãŽÝŽÈŽ¼Ž†Ž ¡xNS,ŒÙŒÖŒÁŒŒŒY‹ê‹GŠóŠ»ŠˆŠZŠ#Š ŠÙŠŠ{‰Ê‰Ä‰ž‰r‰®‰­‰Ñ‰gˆR‡g‡×ˆ‡ˆšˆjˆ@ˆ‡üˆ(ˆVˆ@ˆ‡©‡¢‡c‡5‡‡‡;‡‡‡:‡p‡‚‡’‡¤‡úˆKˆ½‰žŠxЇ‹‹n‹‰ŒŒ¹ŒÚSŽŽNŽÈM¼“{˜û±£+¦Õ«¤®®­¥¬DªTªJ«·¬P«ªªË©¦)¦h§¿¨Å¨¦0£z¡Ÿ› ˜¾˜Mšžœpœ•àž $¢í£°£m Xž¦Ÿož`œœcœ¿šÂ™b˜Ê™H™—Ë—Œ—Ö—Ó—¥—×U—8–'•C•A•=–â˜Y—¸–”˜Ù–n“’Nd W’G¡\ŽéŽ¡ä,’’/‘|‘-Ú³MÅŽÕñŒœŒxŒ±ŒŠŒ»ŒÉŒ¹6šŽŽ_ŽaŽí,ŽÁŽÜ¬^ »(Á$ŽïŽÆŽ€ÌŽ1ŽŸŽäޏŽoŽÚŽáŽôM¾GŽ¡ŽðŽ†åŒ›ŒVŒU‹Á‹´‹‹l‹²‹þ‹±‹ÝŒsŒ¸Œ`ŒiŒ[‹ã‹ÏŒôŽK5Ìo.ŽéŽåŽîŽÔ%kŽçŽ%¤-†ŽG¥BPHÕW9~ŽêŽØ޳?¦£:v—¸ëŽR‹ WáŽBŽÀŽßŽ”ŽŽDŽŠŽ®x\ŽºŽNŽ"[ZŽ*ŽƒŽ%‰îŽlŽlŽtŽ{äŒt‹ŠgŠŸŠîгŠ~Š=Љ剗‰ˆ•ˆiˆ•ˆÓ‰‰>‰I‰A‰–Š4ŠÌ‹T‹S‹c‹z‹ŠœŠœŠ‹‹i‹f‹_‹_‹L‹K‹Št‹8‹Ê‹â‹¨‹€‹˜‹ÊŒŒ2‹±Š½‹Œ„Ž&Ž“ŽwŽ µŒŠ‰çа‹*ŠÔ‹çÎŽŠŒ`ŒíŒh‹ÛŒ^‹Ù‹4‹<Š­‰õ‰¤‰.‰‰ˆÛˆÈ‰ÏŠ ŠüŠÀ‹‹3‹K‹/‹‹‹^‹Ç‹ Š©Šp‰ÿ‰ˆ.‡â‡Â‡–‡i‡ †è††f…¸…X„\„0„è…„˜„i„Fƒñƒèƒø„„ ƒÍ‚tƒ!ƒ–ƒÎƒ?ƒ­ƒHƒµ„c„…*„D‚Ƭ‘ ’uZ†Žö$ŽãS—•>—ä˜ –ò”“„’w“â”A’V’’<‘Ñ‘‚’ð“¢’‰’Ê’R¹‘•‘:Òç°Þ'v‘À’Ö’n’½‘ݓݕ×é0md‹¹‘9‘A‘†‘€‘Ý‘Cq޵² ‘e’0’0Ô…žmõ9Û7f¯±°¿ëø‡›ˆ/ü ÓáØÇ²}[rKŽÝŽXŽ7Ž ÂC~âäØÀŽ-ŽNŽŽ’ŒªŒXŒ‹—‹0ŠÛŠ×ŠU‰‰ˆÖˆÌ‰ ‰3‰MŠCЉ.‰-‰‰ ˆO‡«‡†²†~†h†s†Š†¢†¤‡‡>‡[‡i‡“‡’‡‡X‡~‡ †ú†¹†º††Ä†Ê‡%‡b‡Ü‡ú‡ª‡b†å‡²†‡1…6…n‚ò‚³8‚Ó ñ«"«g­ ¨-«¬~¬­W®"­²®6­×­~­¬<ªó¨Y§ ¥û¥w¤ø¥c¥¤Ü¤¾¤f¥n¥%¦Ä§Éª*ª §T¢ ¡º¡å•ž’Гǔ™–“Ò“õ“,“Ì“F’Ë’Â’V’œ‘¹‘|ý“\ªååì‘g‘õ‘㑽‘Ñ‘«‘,‘«\჎üŽ¥ŽDéÝäŽ$ŽŽ²ŽÊŽÙŽÎ!rÎè#BO†³ÒÊŒEÄL«ÈçÖÎ㨎nŽí™‘e‘¬í~‘‘&7B@R޳޹ŽË8 ŽìŽœŽšCŒóŒÇŒ›Œ±Œ§ŒoŒ_‹à‹)ŠÄŠÉŠžŠUŠ6Š\ŠŠ5‰üŠ0‰¥‰R‰‰‰ ‰=‰sˆï‡½†w†“‡g‡è‡ê‡Ï‡t‡j‡‡îˆ7ˆ ‡Ú‡ª‡‡E†Í††k†ˆ†—†Ô‡‡@‡q‡w‡–‡Íˆˆi‰1‰ Š(ŠŠä‹i‹ØŒŒ!¯Ž0ŽÝŽlÅ•è›ï¢Q¥œ©®G®Ó­$ªºªx¬3®;®n«ñ¨¥<£î¤Ü¦¥š£³¡ì Ç /¶™à˜u˜\šœ~KžŸÜ¡I¢Ø¢Ñ£!¢V ŸŸ;¦LI;›ó𙉙¿—¸•r”i”½•o•×–õ–•—”j““J“F”ê–$•þ•E—–¬”B’V‘2õ㉑i‘ âŽ„Ž#ŒÜQn’ ‘hà«X#½ŽŒíŒŸŒiŒrŒ ŒÄŒšŒŒŒ¦ÃŽŽŽnŽKâŽ4Ž(Ž«„%U‰OŽÙŽ™Ž5òŽ!ŽoŽó޶ŽY)¤Ž¡Ž»Ž\Ž^Ž­Ž:Œ¼Œ“ŒD‹à‹Ä‹c‹}‹²‹‹‹rŒ Œ‰ŒH‹ë‹·‹ÕŒŒºÂO-ŽŽ_ŽyŽ{ŽWŽTŽsŽIŽ––¿ŽŽvŽÿZ4Žæ(x¾G%v'ŽÞŽùŽÆŽ·ŽŠŽ€Æb‘*«Ž©mŒä€ŽŽRŽmŽÈ"Ž’ŽIŽÉqŽ7Ž>ŽŽÄŽµuj޾ŽêŽkŽ3ŽN½ŒT‹€ŠÃŠ1Š9ŠÎ‹}‹[‹ ŠÉŠN‰ç‰z‰R‰<‰ˆÐˆ³ˆnˆ,ˆ ˆˆ&ˆc‰ ‰—Š,ŠQŠnŠçŠ­ŠUŠ‚Š(ŠBŠ‘ŠÍ‹ŠöŠøŠ÷Šv‰l‰;‰­Š…ŠË‹ ‹a‹ÆŒ ŒŒhŒŠÞŠ/‹à¢è‰×Ž6Œ=Š)Š¿‹dНЗ‹‡Œ Œ ŒŒ‹ñŒŒC‹¥‹4‹IŠÁŠ?‰º‰e‰.‰ˆÖ‰)ŠsŠªŠcŠŠ{ŠKŠ`Š8Š‚‹‹Q‹4ŠŸŠ¢Š5‰4‡ó‡©‡•‡•‡S‡ †Û†Ë†@…Œ„ä„΄"ƒ6ƒß„¬„»„;ƒÒƒÈƒì„'ƒïƒ«ƒ³ƒ8ƒ0ƒ)‚ù‚¯ƒT‚”ƒ¢„l„-ƒ‰‚ð‚†Š•g‘O(—Žåo޽™Ž¤‘õ—ç—g–°–Z”µ“ô’˜”¶”’²’S‘’‘Þ“J“‚“*“}’‘2R®cÄŽO ‘6‘â“8‘Ø‘þ’kÈ@—ìÞQtÜ‘.‘]‘w‘<‘Œ‘‘6•{‘{‘vò‘,‘Á‘N÷­ýãJ™Û½Èíw{€#% $ úò šUŽßŽŸŽ&Ž Ìb€ÉÆêÈöŽ6˥Ό‹þŒ‹ŠŠéŠhŠ^‰²‰,‰‰ ‰‰ ‰qЉÀˆéˆèˆˆ“ˆ ‡X†±†Š†Š†i†f†€†ß‡‡†Þ‡<‡Y‡u‡É‡¶‡+‡j‡‡$†Ä†Ã†{†_†‹†»‡ ‡A‡Ó‡âˆ%‡Äˆ®‡¸‡Ë†…Ø„P‚Ñ_’¡¦)«Ó§Z§ç­¬‡«Å«Cªû¬‹­Q­…­‚¬iª]¨§R¨¨=§B¦”¦Ü§B§?§t§k¨©©&«T¬±ª»£r£N£•Y“p”©”@– “Ô”0“Š“|“’ƒ’‹’@’4‘›?åz ŽÅަ(µL«‘I‘•‘hÓM?Ž[Ž©,Œü?t®áÑÛÿŽ%Ž‹ŽÈ@‡ÌƦd 6RžÒæŒÂŽ“ãŽŽLБH‘MÄ÷‘'ï&=}Ž†ŽŸŽºŽåŽÂŽªŸŒ¬Œ[ŒPŒÅŒäŒ¿Œx‹¯‹ŠÓН‹#‹€Š¿Š2ŠŠ-‰ã‰j‰.ˆýˆ ˆ±ˆë‰‰ˆÓ‡Â†††‚‡6‡†æ††€†‰†Ö‡&‡Y‡–‡f‡…‡K†ª†T†2†‰†Ñ†ß†ë‡‡5‡…‡œ‡Š‡Ê‡üˆ ‰G‰ÔŠŠjŠØ‹‹‹åŒÓ}Ž8á”ÖšÒ å¤p§÷­ ®Ö¬¬ªª`¬B­«{¨=¦¤7¤5£À£¡ŸˆŸTz›Ûœ7œ‰›¾›±œR ž¡¡Ç¡¾ ¶¡9¡ŽŸ•ž´žj…Ê蛽›šR—Ô• “Ü”u”ēє “…”“£’ ‘‰‘S’J“ ”Ø•¥—d—M”­“.’Å’½‘ö‘Ï‘ù’\k»ŒxŒ±ú‘Ó‘Ìoþ«eŽêŽ ŒŒŒG‹öŒ-Œ­Œ¾ŒãŒßcÄ–ž§IzÁŽ#ŽkŽ„ŽŽ{ŽˆŽ\Ž)ŽŽŽŽDŽ’Žaã{G _ÉŽ9ŽŠáŒïŒå Œ–ŒW‹õ‹¹‹úŒ6‹ä‹„‹<‹R‹|‹ŒŒ®Œ¶Œê$Œ¤‹»‹‹¡Œw ŒÅŒnŒ¦Œ*‹º‹´ŒœŒèŒìFŽ%އŽIŽƒŽ\ާŽÓŽâ.QŽ›éŽšŽÜŽxŽ¢ŽvÚÝdk}veùþŽŽ®ŽjŽuW—n~‚ŒÔ®ŽmŽó)Ž%ÄŽLÇŒ½ŒGŒ.‹þ‹Ð‹9СБŠó‹‹ŠúŠ{Љ‚‰W‰Rˆäˆºˆ»ˆéˆàˆÔˆf‡é‡”‡o‡§‡Ä‡ñˆ0ˆiˆ‚‰F‰Ï‰n‰Š;Š]Š…Š|ŠsЏŠê‹%‹d‹{‹4ŠêŠ ‰‹‰—ŠŠº‹ÑŒqŒuŒ7Œ ‹ÒŠ‘Š9‹† ZŒoŒõ†‹É‹|Œ Š¿‰ë‹G‹‚‹ŒŒ‹åŒdŒ^‹¢‹>‹[‹Šu‰»‰ˆ‰V‰4‰ ‰T‰þ‰¿‰h‰€‰¶‰’‰­‰ÀŠ–ŠîŠÜŠyŠsŠy‰rˆi‡¼‡×‡l‡D†ñ†å†¢†X…u„„Hƒ¼ƒDƒ„„T„<„)ƒÝƒªƒ¼ƒµƒ•ƒ·ƒ«ƒ}‚Ì‚ È‚K‚Ö‚vƒ–„Z„}‚.ƒÌ‚Œˆc•¡ t¯Ž¬|ŽîT˜C™ê“å•‹•Ù”{”¶“þ”]’Á‘ß’‘ó’N‘á’Š’×’¾’(’Å’—‘¸OxŒWŒ§ŒNµŽfŽ»TÌ‘‘Z‘žèPrŸ)м‘N‘~‘™‘t‘@‘2ô‘=‘ž‘wÒøºØY»‰™¨ŽüG+šÒ¶zwçxNO3n.Á÷üÉ¢tŽþޣްŽlŽ5¿`G¢€„¤¯S‚‚ŒD‹ôŒ:‹±‹:Š{ŠlŠ.‰ü‰¦‰t‰‰ ‰Ð‰ˆvˆoˆz‡Ô‡‡¯‡o†´†b†z†™†Í‡‡8‡Rˆˆ‡ª‡™‡±‡ã‡á‡¼‡$‡>‡"‡G†Ð†Ö†q†r†>†È†È‡‡h‡Õˆ|ˆ ˆ½ˆ1‡è†©…ìƒW‚‰~ÞƒZ• ¡Ï£Ë¥©¼ª›ªª©¼ªM«b¬ð­¬R«›ª ¨f¨ØªÑª§ä§F¦€¥›§^§Å¨º©^«^¬#¬…­€¦¥¢¢õ•H“Š”{”y•}“·“Œ“’Û’Ä’&’’‘­MŽ›ŽXŽŽ ŽmŽàEøL…ø*ŽŽŽ,Ž]ÝQŒŒ‹Ì‹æŒ0Œ·ŒÿŒëŒúŒÚŒÝŒÓ+8¨Ž ŽMŽŽê.5ŽôާŽaŽËRWt±¨]UŽÈ¥ÄŽ¥i‘’‘%ÎøÍ¡¨îÇŽSŽâŽöŽÆŽ©Ž¨ŽˆxŒæŒ§ŒaŒ_Œx4Œ»‹Ü‹‹‹’Œ4Œ3ŠÏŠŠ8ŠE‰Gˆ°ˆ¶ˆ–ˆ}ˆˆˆµˆ¥ˆÓˆ°‡¨†ä†z†´†­†i†4†…÷††V††É†¦†·†â†¨†*†*†W†g†]†“†ç‡‡u‡­‡Ó‡êˆ.ˆà‰e‰âŠŠHŠXŠ ‹‹ãŒ’6ÅøŽ•͜«¬ˆ«•©ŠªE¬o¬¨B¦Ž§N¤’¢c 7žrœúœšÏ™M˜ÄšÛˆž­Ÿ+žážfFžmŸï ^ – ª ‰ŸKž´žhžžÙŸ2žt;›ƒ™Ý—•g•{•·”ò”9’Αç“÷’u²†ñ‘:’Œ”™•­–‘”’Ì“e”““8’¤‘ÊêŒå‹ÚŒÐ‘°ë¢ÁŽÐŽNŒ`Œ*‹ÈŒ,ŒãŒöŒÖŒÝEjŒí1&ŒÀŒâ_ÂË«´»—‹”·Ü±€ Œ£ŒÃŒêŒï*[Œ4‹ŒŒLŒ‹º‹êŒ<ŒÙŒ‚‹„‹%‹|ŒbŒ|ŒÖŒËŒŒŒ0‹€‹‹Œ‹ÝŒŒðŒòŒÃŒðŒ#‹`Š}ŠÏ‹o‹ÒŒŽ Ž&ØÖŽ ŽqŽvŽÑŽJŒÍŒD&ŽzŽQEŒÒ…ÎŽ†ò7Yˆܯ0ŽÆŽk­·ŽâŒºŒJ¬Ž%åŽ/ް}pŒêŒ ‹fŠî‹‹S‹.‹‹q‹#вŠOŠ,ŠZЉ…ˆöˆw‡Ð‡¬ˆˆyˆY‡@†±†Ù‡‡‡-‡U‡¹‡¢ˆ ˆ½‰ ‰8‰j‰±‰øŠLŠ%‰ùŠ5ж‹@‹–‹x‹Ö‹“‹ЧŠŠ{‹hŒiŒ×ŒxŒ;‹âŠþŠA‹Œí#‹3‹û?Œ¹‹A‰ÿ‹ Œ‹€‹†‹ª‹ßŒcŒ€‹˜‹6‹SŠöŠŠ"‰ê‰Ó‰¸‰™‰—‰;ˆÐˆÎ‰ˆÞˆù‰YŠXŠ‘Š^Š-ŠBŠB‰ˆQ‡Ö‡Á‡*‡†¼†Ý†a…¨„„Z„a„ƒ‡ƒbƒð„$„ƒ¶ƒƒ˜ƒÝƒ’ƒÆƒÔ‚Ï‚ ‚‚ô‚؃‡ƒË„ Ç„{ƒ$…ú•’°ŽÙ‡Ž“*” •C’ñœ#˜u“g–²–A••”œ’㑈‘š‘ï‘…‘1‘n’9’·‘Ï‘û’T‘z Ž„‹µŒJŒkªêŽXŽ{Ž#Ô“’ŽöŽˆ ˜í³]§‘‘ ‘C‘D‘+ŒÏ‘‘e=Ž"Žr]ã ¥oG;ŽJŽÈ"²ÌÊV3|F<;-3þ‹éÒ¸UޏނŽzŽLò»hH3ŒùFL)Œ¾ŸŒ»ŒŒ%‹³‹CаЀŠnŠb‰³‰¯‰=‰‹‰^ˆˆˆ>ˆ‡Ý‡-†Ÿ†Â‡‡‡F‡e‡<‡P‡†ˆUˆçˆ:ˆ‡‘‡É‡L‡†Á†¹†’†Ö†¦†|††#††>†’†Ö‡1‡ˆ‡i‡ú‡©‡°†††M„¤‚a€~8‰’9™  £/¦¦“¨]¨|©üª_¬6­Q­X¬Íª­ªñ«Ø«««2ª½©$§¶¦¥ ¥Æ¨ðª­œ®g¯8¯¨ï§s›ì”A•”0”ø”G“¿“.’è’W’\‘ʑݑÁ©`/£Ž§Ž^ŽTŽåôŽŽMŽÛSÇýAŽ €¦¾ÖŒù‹ñ‹<ŠÛŠSŠOŠË‹‹ç‹§‹Š‹×‹ã‹ØŒ.ŒGŒ–ŒÂªŽbŽ ŽÏŽÔŽÁŽŽ$úŽ.`¡À‹3JŽ{˜Ž(!‘n‘¸°§•ÆZå¢QބޮŽÐŽ^މŽDɌڌœŒÁcŒ½Œ±Œ£‹À‹«‹|‹¾Œ‹•жŠ5Š@‰ÒˆûˆEˆˆ”ˆLˆcˆsˆˆˆ ˆˆ`‡Ô‡e‡.‡&†ë†˜†'…À………²…ë† …ü†<††6††…ë… …o…^…À†>†¸‡‡a‡’‡·ˆˆ¥ˆñ‰‰5‰£‰°Š‹‹ƒŒŒŽgŽ`Ž€“‘X™ Ó¦K§Z¨åª©›«Ü­ª§¦¾¥6 ™žU·œ› ™{—7—?—¸™kœ»žoûœÉÑŸ¡ R é¡4 ó 9Ÿež¡ž÷ŸãŸÖŸúŸ ¤œE™ð–Ó•j• ”†””“”W•q’Xa1¬‘¸’©’i‘z#ݑ“2“µ“…’ñ‘ÝŽ/ùŒ±‹ä޳ø|:ËQŽËŽqь茙ŒVŒŒ'Œ²ŒÙŒ“Œ¯K7ŒêŒ´ŒÀŒÙŒ£ŒŒŒžŒ‹Œ×7)ŒñŒÛŒé?@C@KPŒ‹ß‹ïŒŒC‹vŠyЍŠË‹‹Œ4Œ‹Æ‹÷‹ö‹ø‹š‹)‹<‹‹‹à‹6‹ ‹H‹%‹ŠÂŠ ‹ ‹ ŒiR?ŒûŒ|Œ½Œ¢Œ‚Œm‹+‰¨‰kŠ[‹AŒ—&5JC½æŽ·Œ‹[‹WŒ¾ŽI0‹ï4dd‹úê,©ÕY¤3ŽÕŽàŽæŽœŒZŒd*’[Ž~0ŒÕŒ ‹.ŠRŠl‹‹JŠÓŠnŠQŠ>ŠZŠ9Šj‰ˆˆR‡ú‡Å‡J†˜†d†›‡ ‡ †R††c†¤†Å†Í‡‡¹ˆˆŒˆÂ‰)‰M‰2‰‰ÆŠ3Š(ŠŠFŠŠŠ›ŠŒŠe‹$‹”‹œ‹ö‹¤ŠþŠº‹‹ŒOŒºŒG‹¬‹¦‹Š·ŒMŽ‹øŠoŒ»Ž[p‹*Љg‰x‹M‹P‹oŒ8Œ`Œ€‹“‹D‹E‹*ŠàЧБбГŠ‰vˆëˆŠˆBˆˆˆå‰åŠ{Š(‰ç‰ÀŠ$‰sˆŠˆ‡»‡U†õ†ÿ†¯††'…§„ú„’„&„.ƒQƒƒ3ƒƒƒËƒœƒÈƒƒ±ƒ¨ƒ¦ƒe€à-ä‚£ƒkƒÀƒ‡ƒ6‚ï‚aƒ^ƒÔŒ7—Š‘%$¦“I”M“O‘{™l™8——{•³“G’*‘÷ë‘]‘?å…âÏ‘9‘k‘‘P‘d‘+'4Œ3‹ûŒQŒ¾9—ŽOqޱ’Ê‘UŽ"Ž;_kÃÙ(t½¬ÕîÀéÚ‘UßuŽw=Ùz|"ŽóŽköŒ¼8÷Mõô‘5Û—N ŽÄŽ–ŽsŽIŽÙHŒòŒáŒ¡ŒwŒ©ŒÒŒÚŒœŒ:ŒŒjŒŒJŒ‹ð‹EнŠ#‰ð‰½‰í‰×‰‰s‰ˆ¢ˆŽˆ‡©‡†É‡ˆ‡ë‡¤‡Ÿˆr‰‰8ˆŽˆˆ‡«‡j†8…‰…&…a……Ã…€…U…H……]…s†,†<†Þ†ª‡‡ ‡7‡‡>†Î†R…‚ý‚v9~CƒX“xŸ´¢æ¦X¥)¦œ§Á©g©“ª9«ñ­ ­ƒ­r®w®á®C­m¬þ«¨«§÷¦Ç¦9¦jª¯°à±›²ð¯©«Ç¨·—Ԕɕޓú•” ”(’—’´’+’‘€‘´‘{’-êy޷޲ŽlŽe9 FÌŽ–ŽÑŽË©'X¨PŒ‹ŠU‰ß‰´‰½‰ÉŠŠ‰ìŠ#Š}ŠØŠþ‹‹V‹œ‹ùŒzŒÔ{íŽaހނŽZŽ(ŽŽŽaŽÙŽÝ%vm(Ž1v‘đޑBó#oepŽáŽpŽ—ŽŽÓ]ŒÛŒ°Œ~ŒÃ‰Œ¥ŒŒLŒ‹Í‹‹–‹€ŠÒŠŠ‰Ìˆÿˆzˆˆjˆˆ@ˆˆˆˆ%ˆ ‡Ë‡½‡œ‡•‡‡C†Ó†q†…©…¢…·†'…²…±…ª…‘…à… …\„Ä„¡„¢„û…A…Ó†V‡!‡8‡;‡5‡d‡¼ˆ+ˆ¦‰‰¡‰øŠ²‹‹J‹wŒÉèŽÌz–Ÿ¥ñ¦Z¦÷¨¦ª¬ «á§ø¦,¥_¢ž¸œ›u™†˜º—à–x––}™"œœø›¾œœ§žxž‰Ÿ‰¡¡¡,¡@¡e¡Z¡ Ù ;Ÿ÷žåždD™±—:–Ä”†“¹“ñ“a•É—}•œ‘Måï0‘›“P‘8ÏŽ*W‘ ’B’󓵓¼’Ô’: Ž aŒ‹MŒé½Ÿ}]ŽêŽÈŽsŒµŒµŒ‰ŒeŒ%ŒjŒwŒ Œm#Œ¾Œ‡Œ^Œ€ŒbŒŒŒDŒvŒÌŒãŒäŒñŒµŒƒŒˆŒ´ŒÉŒ¹ŒºŒ¯ŒÔŒÓŒc‹èŠïŠAŠ%ŠŠ"Š\‹>‹¿‹§‹M‹'‹„‹·‹SŠÑŠŠÀ‹‹‹¹Œ{ŒjŒŒ¬ŒÀŒÖŠŽ"pŒýŒ«ŒŒŒŸ‹Ý‹S‹®Œ+Š™ˆ@ˆ"‰!ŠŠÎ‹;‹Ž‹d‹ÑŒ¿z‹ØŠ|‰Ó‹e¿ŒÐŒßŒ‰Ž"Û«%2ˆ¤.°NޤŽBŽLŽ”ŒáŒeŒ*ŒŒ¸ŒáŒÊŒ¨ŒÀŒŸŒºŒb‹:Š’‹‹ŠšŠHŠPŠOŠfŠK‰î‰†‡…¡†H††…ŅɆ†h†Q††ê†÷‡‡†ò‡V‡m‡¬‰)‰™‰[‰q‰{‰Sˆÿˆf‡l‡Y‡Û‡æ‡‘ˆˆÚ‰‰~‰uŠ!Šî‹ˆ‹l‹‹kŒ_Œ½ŒI‹x‹1Š€Šù‘"‰èŠSŒ¾Œ¾Š¿‰Ç‰^‰‹£‹¨‹†ŒBŒ6Œv‹™‹G‹‹p‹,‹‹ ŠìŠc‰Wˆ¶ˆ„ˆ'‡Ûˆˆ\‰Š>Š ‰u‰P‰‰ÙˆÑˆy‡â‡’‡B‡+†Ò†‘†o†)†…a„¾„"„¦ƒøƒÕƒlƒQƒ­ƒèƒÀƒ®ƒ©ƒ’‚óòˆ‚&‚|ƒ<„„4„-ƒ_‚é‚‚´c†ï‘’)%AŽêE•T’mÑ•™Ó™˜&–µ“@‘5‘‘ ›‘&kéá²oÖèô v ¤ŒùŒX‹æ‹ØŒÔ„!Œì?‚B\އŽŽÝ$O$iÊÕÿ_yšø¶Ž'ŒísŽ2aKŽÊŽޏ‚#{o)Ƽ úßÕÕ¥;C—2ŽÒŽžŽtïÝé´RŒØŒ˜ŒfŒŒ&ŒRŒGŒ‹þ‹w‹p‹›‹^‹r‹²‹aŠî‰û‰y‰“‰¼Š‰ò‰è‰ó‰‰YˆÚˆ“ˆ‡Ã‡÷ˆBˆZˆˆ9‰‰<ˆäˆùˆg‡ô‡¦†Ã…:„®„h„°„¶„î„Ì„³„Þ„¢„߄مž…ˆ€†~†È†À†á†Ù†Ø‡†=…’ƒ=vF~€ ’5£p¥Ý¤þ¦·¦{§B¨@©÷«}¬n­é¯c¯"¯Â¯ ¯‹®•­ª@©t¤Á•F–£© ±È²Ü²¦­Õ¥…—±•n•œ”8”ߓƓ쒔’õ’‘î‘G‘‘‘8'íÂdŽêŽc쩌ߌuŒ}Œ‚ bÁ“Te€‹Ó‹Š­Š‰¦‰Ü‰Ø‰‡ˆäˆ‡â‡ÖˆA‰-‰ÍŠ)ЉŠù‹¬ŒŒ‹zÚŽ2ŽJŽSŽHŽeŽ‚Ž]Ž}Ž&ŽdŽù??Ž)Œÿþ’‘Ü‘ûw#Fx)Ž»Ž"Žfþ‚LŒÚŒ“Œ€Œ¥Œ%‹a‹{Œ Œ‡Œp‹VŠSŠ|ŠÄбŠ;‰ˆjˆIˆÐˆ'ˆˆu‡ô‡É‡£‡ª‡¡‡·‡±‡Â‡²‡Æ‡º‡)†¥†P†…U…1…—… …„î…#…;…„‚„K„H„…„‘……]†J‡‡ ‡ †Ó‡,‡‰ˆ|ˆÑ‰‰«ŠoŠªŠÏŠ´‹‡ŒŽU…ã“ڛݣ֤ߤò§d©é©~¨~¦®¤õ¢œŸ†{šä™ — •û•à–2•È—¹›uyœZš\š=œ¾œ³›üž! Ñ¡×¢¡…¡€¡þ¡” Ÿ¸Ÿ€Ÿ¹žíšÈ˜Q˜¨–j”X“û’Ñ•·•˜“Æ’~|HÙ’ûýß‘]ì‘L’¾“S’[¢¦Ž¨Ž:ùŒŠ‹âހޯŽÑ%Žçޫއ:ŒÂŒt‹ì‹³‹–‹ÍŒ ‹ÃŒŒTŒpŒuŒYŒTŒ=‹ì‹GŠÿ‹>‹´Œ)ŒJŒDŒ¡ŒäŒíŒÈŒ–ŒžŒ›Œj‹ùŒŒÏŒl‹„‹Šh‰á‰³‰èŠz‹‹N‹R‹G‹$ŠÿŠÆŠŽŠVŠ–‹uŒ-Œ{\ÔŽÙŽžŽe¥Œ¡Œ´JŒŒ"Œ+‹ФŠÄ‹‹EŠˆG‡1‡3ˆˆÅ‰S‰Š‰ÐЍ‹ÿ%ŒOŠ‘‰¯Š:‹>Œ¶)ŒYŒŒŒcLŽ#ŽÂñ5Ž9䲌ߌû Œ…ŒiŒ<‹â‹ÿŒ‹Œx‹öŒŒ‹çŒ‹Õ‹j‹^ŠÜŠdŠC‰Ô‰×‰Ù‰ˆˆ–‡ÿ‡4†z†!…»……{……È…ñ†K‡;‡ ‡M‡‡+‡.‡‡‡D†Ï‡u‡T†H††M†…… „‚„g„¼„¤„˜……/…!…#…¿† †Ñ‰Šý‹`‹U‹2‹ÿŒw‹}‹3аŠÐŒçO‰¸Š‹Ö‹M‰Æ‰þ‹‹±ŒL‰û‰ñ‹/ŒV‹ü‹}‹l‹t‹y‹:‹6Љõ‰%ˆ°ˆs‡®‡’‡õˆ‰DЉ³ˆå‰‰R‰"ˆHˆ'‡¢‡ž‡'†Ù† †€†`…ÿ…ä…‚…$„2„JƒŸƒ`‚ñƒ…ƒœƒôƒ¡ƒÑƒWƒ2ƒ‚þ‚郦ƒúƒàƒŸƒ‚†ÝÞàŽl“ôz&Žºä–‚•ù—n˜¶šH™™–;•_”Ÿ’}‘‹Í¸RŽäŽ­Žºì²–Œô!ŒžŒÒŒŒæŒÀ‹·Œ™Œ‹‹Œ/ãŒøŽzv_ŽÎŽ€ŽüN,3 ³Öæ"ì(×´Ž}Œ·Œ{ŒìŽ\)/ŽëŽÂÔŽEŽü†¬ë†;0°´™Ï™y› þî°޲ŽkŽõ¹µjKŒôŒßŒŽŒ>‹ó‹‹a‹‹‹š‹ ‹›‹\‹&‹‹‹‹Y‹+ŠvŠ‰ÝŠŠTŠ£Š?Šgб‰Ø‰h‰4ˆÿˆíˆVˆXˆÇˆ¬ˆæ‰6ˆŠˆJˆ.ˆ‡¶‡†…„­„Œ„ò…$… …G…:…¦…{…¥…e…W…E…£† †n†x†j†À†n†Ñ†#…„ ‚nE€œ‰Ä˜Ÿ Â£Ø¢¤¢Õ£¸¤Û¦P§l©;«u­™¯k¯§°° °´®ä®w¬›¦ÀŸ‘‘©¥²š²B¯¡¨‹›w•–u•”Í”'“ñ”’ü’å‘ÿ‘û‘9‘?À {Ž¿Ž¤ŽnŒÄŒEŒ‹Æ‹É‹½‹Ü‹æŒŒç$5`Œn‹>ŠóеŠ‰\‰,‰ˆœ‡É‡D†Û†‡†’‡ˆˆÈ‰jŠ@Šì‹j‹êŒFŒÁãŽVŽvŽŠŽØŽ ŽPŽ ÎŽ*޵# ^û¡‘´’à Ž„ŽûŽÂŽ]ÁÕà ŒïŒ¡ŒŽŒ-Œ%ŒÞ‹ì‹5‹<‹—Œ‹÷‰ÿˆ½‰7Š-Љ†ˆ&ˆ7ˆnˆçˆoˆ6ˆ/‡§‡W‡U‡g‡’‡ý‡ð‡ä‡‡¶‡Í‡ †a†A†„†d…s„Ÿƒò„ „„V„‡„€„.ƒÚƒ¶„„>„|„¬…•†]†«†õ†Ý‡K‡±ˆ}ˆê‰‰‰_Š Š3Šà‹‹(‹îEŒ›Žt”Åœk£‚£ë¥…§è©i¨ ¥½¤‚£E¡„Ÿ'œ+˜–^”W“¯”‹•• ˜¢›Ìš–ž•®•¼—˜ê˜¶šžœ"ÔŸ½ ž¡q¢¢X¡ ŸŸ‡ŸÅ µŸýP›™“–ô–Ô•þ’½•!“[’\’V±ª‘"‘m‘ÏY‘N’Í“5’&ï2ŽùŽW³ŠÈ‰”‹\‹ç‹‚ŒŠŽ ŽÖŽ]Ž1 @Œ«‹¹‹Šû‹Z‹s‹Á‹l‹9‹ÖŒ-Œ*ŒbŒšŒ‹VŠ‘ŠŠ[‹‹{‹¿‹îŒ$ŒuŒ¢ŒÃŒ°Œ¹ŒÜŒÖŒ=‹N‹î%Œ¢‹Ê‹ZŠÿŠ‹ŠwеŠÔЏŠ+‰ñ‰¸‰ÉŠ'ŠpоŠÇ‹‹ÑŒ$ {_CŒkŒ‹¹‹X‹(‹g‹Ü‹iŠâŠöŠjŠFŠi‰²‰¹ŠS‰ÖˆÂ‡Ö‡_‡V‡S‡“ˆ.ˆkˆÿŠ×Œ‹–‹Šn‰ Š„‹ÒŒ(‹‘ŒŒˎŬŽnŽÜŽ„9ŒÐŒü…Œ‹äŒ%ŒŒ‡ŒsŒ‹ ‹Ï‹È‹G‹Q‹M‹‹,ŠøŠ­Š¿ŠNŠ'‰¾‰&‰ˆ¯ˆ<‡¡†ä†4…Æ…l…b…„²„Ð…k† †Ï‡ †y…È…Û†)†J†‹†X…ì…}…„£„„„€„Ó……<…o…K…K…1…A…F………)…&„®„{„°…í‡îŠX‹p‹xŒŒŠìŠ˜Š‹‹ŒÔŠ·Š\‹ûŠö‰U‰–ŒŒ­‹˜ˆÐˆ¢Š®Œ:‹–‹6‹#‹c‹JŠÖŠ‘‰´ˆïˆÖ‰ˆk‡l‡/‡¢ˆ‰}‰Ò‰`‰(‰JˆÐˆRˆ5ˆ‡š‡s†ë†ï†°††I†…¥…:…„•„Œ„„ƒ•„ ƒuƒÄƒPƒžƒbƒËƒú„œƒƒ”„/ƒ볂@b a€[Б+ŽÀĎ敎’¯•¯šaš*”Œ•w–´””•𔲒N‘9 dŒ¬‹Ö‹}‹t‹жЂŠAŠž‹1‹‰Zˆ§ˆb‰7‰%‡ëˆ:ˆ‡ÿˆDŠ •ŒŒIŽGŽÔŽúަx- QÊ€U?6ŽÄƒŒŒXŒùûŽÍ޶ާðÓŽoŽí;ŽÐŽŒ]7p= WÅâÉŽôŽ–Ž6˜–•žZŒ¯Œ ŒaŒ ‹Ÿ‹^‹7‹‹D‹m‹O‹:‹ŠÝŠäŠÆŠÖŠÞвСŠcЧŠnЂНŠÙ‹'Š2Š‰Þ‰ð‰ßˆî‰‰Kˆþ‰8‰]ˆÃˆ‡•‡C†î†8…Œ…E…*…醆†Ö†m†’††ô†â†ä†â†O…Û…w…膆‰†N†g†D†)††…S„Úú‚bI„V”à >Ÿž¡R£ì¥¿¦ì¨7ªE¬*®¯!¯‹¯%¯_¯!¯j­6¤  ižM¨è±L­\¦žR—’—-–•”͓“ñ“n“ ’È’<‘W÷‘#¥޵ŽSŽŠŒÝŒ5‹º‹5ŠúŠàŠ÷‹‹‹ Œ2Œ‰ŒµZŒ5‹ ‹UŠÿ‰ ˆ¨ˆ?‡å‡ª‡D†ð†H…ï…¸…ð†`†í‡ÃˆÈ‰®ŠMŠÂ‹Q‹ÒŒLŒÔ@©ŽŽ^Ž}ŽÏŽ¡ŽŽWêøŽ–ŽúBñ6ÿï’–‘È/ަ ŽøŽâŽ"Õ…› ŒÎŒzŒ[Œ6‹ÔŒU‹¾‹Šá‹ÏŒ\Šx‰N‰z‰*‰0‰Pˆíˆˆ²ˆÚˆÜˆ4‡þ‡À‡s‡8‡<‡-†Ò†û‡z‡Ã‡k‡b‡N†ç†t†…ㆆ†S…¹…„r„$ƒßƒìƒùƒÛƒ¯ƒ…ƒ¾ƒÏƒñ„—……´†Ž†¿†ö‡ˆKˆ–ˆ×ˆö‰­‰ÕŠ›ŠÉ‹N‹ú#NŽä•À£˜£Ü¥P¤õ¥z¥£Ã¤E£0¡JŸ³œ$˜<–“õ“.“x“¢•˜3˜ó–’“¹“…“W”/”›”K—qšŽ›IœsŸ£¡ˆ¡Ï  Ÿ8Ÿ\Ÿ t è 8›A˜w–‹––Ô“æ”è“’m‘Ýù‘Aˆ‘·‘ŽVŽïæ‘t’’¢“9’Á‘M4ŽùbŒ–Š¿‰^Š5ŠÀŠ•‹Œ÷ŽiŽNŽQ¥$ŒF‹9ŠýŠê‹7‹E‹„‹l‹C‹ÂŒ"Œ_ŒŸŒ~‹¯Šè‰ù‰\‰lŠ:ŠÕ‹‹‰‹³‹óŒ4ŒgŒvŒaŒ8ŒnŒô‹ØŠl‹ñ‹æŠÛ‹ŠÛŠ)‰ë‰¥‰u‰Q‰€‰¶Š/а‹2‹ª‹(ŠÊ‹µCŽŒ¡‹z‹X‹ŠÏŠŠ1ŠBŠ9ŠeŠP‰Ý‰Ù‰´‰6ˆÿˆ«ˆ¡ˆ¼ˆ²ˆã‰ˆúˆp‡“‡‡1‡8‡C‡á‰KŠЬŠÐ‰óˆ»ˆ£‹)ŠæŠd‹Œ †ÞŽ}ŒŒküg‹à‹ÝŒŒ\Œ/‹…оŠÉ‹/‹‹,‹YŠìŠ­Šn‰»‰‰GˆÜˆoˆ…ˆ„ˆG‡à‡%†y…Å…r…?„È„u„Ý…o††q†p…¥„¢ƒçƒÌƒšƒŠ„ „>„Z„M„€„„£„´…„ù„Æ„ö……….…=…y…`… …y…¥…D…„‚é‚w„µˆ£Šº‹‹ô‹,ŠºŠiŠ$‹šŠ)‹…‹‰’‰F‹³C‹Nˆžˆi‰ß‹´‹<‹ŠÙ‹ŠàŠ+‰ˆˆBˆûˆú‡^‡ ‡‹‡©ˆN‰Ë‰‰?‰%ˆ²ˆˆ ˆ3‡Â‡z‡†Ø†Î†p†¨†Z†5…Ã…u„ô„‰„Hƒñ„ƒ¿ƒàƒ5ƒW‚܃Uƒƒ_‚½‚ÍÊŪ˂ ã‚€í€nz€8Œ@¥H¬–,” —;œ˜£‘ ý’‚”î’ËŽp:ŽÌŒž‹4Љ7‰—‰ˆêˆ‡Ä‡rˆpˆEˆ]‡´‡ ‡¤‡t‡†‡·‡Ú‡¡‡T††ˆÆ‰AŠ€ŒÊúŽŽ«ŽŽÕŽìŽ©ŽÜŽÜ.ŽÉŽ™ŽÜ3RŽýŽÖŽÇŽJ*ŒAŒ!ŒºòŽÀŽ”È¬Ž"Ž„Ž@މŽcŽ:ŽFŽ¥Ž÷ ",Kr5ŽõŽŽŽ2¿…xJŒÁŒpŒ+Œ&‹¡‹‹ŠóŠÛ‹0‹[‹ŠÚŠáŠã‹ŠãпнЅІŠÏбн‹R‹}‹(ŠIŠF‰¶‰e‰/ˆëˆöˆÓˆ³ˆŠˆAˆ‡à†<† …Ï…·…ƒ…é†*‡J‡¦‡°‡l‡•‡›‡‚‡ž‡…‡’‡)‡†o†v†9†d†D†P†z†6…è†V…Þ…Š„K‚÷‚ƒ B–n˜Ø™›žŸ§£¥R¦û¨'©¿«£¬ÿ®1¯° °_°ô¯!®hª¨)«Ô­æ¬¯¢Á› ›u™¿—Œ–µ•g•u”G“¯“ª“B“6’E‘ø‘/汫#ŽáŽvÑ{ŒëŒx‹¤ŠêŠ8ЉùŠ,ŠwŠŠ‘ЬŠì‹DŒšŒ7‹Y‹VŠî‰—‰ˆ†ˆ‡ë‡y†Ù†X†w†3…û…•…®†V†û‡ˆ7‰ ŠŠ“‹E‹ãŒœ7—ŽŽ?Ž‡ŽŽ¦Ž¦ŽªŽŽŽ$ZŽq‘y’dîŽnŽŽ¢#Ž%Žj„$ŒÇŒzŒ‹Ý‹w‹®‹hŠñе‹Œ‹°Š]‰íЉ=‰=‰…‰Ÿ‰ˆ·ˆCˆ2‡¼‡’‡[‡Q‡J‡8‡;‡†æ‡2‡Z‡4‡0‡‡†µ†G…ͅㆆº†Ç†…ò…o„Ï„ƒ‹ƒJƒmƒMƒeƒ_ƒnƒÈ„#„l…h†H†•†ô‡¡ˆˆ'ˆhˆÖ‰;‰ÔŠ‹!‹§$莉”ož £ý£Æ¢º£C¥4£m¢•¤&£ ¢>¢cž™]–¦”¨“Q“”K–—Ñ–é•”1“™’Y‘}‘’‘n’ì—Ë™d™D›7œoaž‘ŸÁŸ˜ŸØ \ Ó¡R þ›—˜º–Š•ÿ–Ê”K•Ó“‘¨‘~‘¿‘W‘‘XKŽcŒÐŽ-®’‘Ý’¸’ï‘G*´.ŒgŒ4‹‰Ü‰PŠ‹*‹_ ŽàÓmŒÊ‹à‹/‹‹N‹c‹.‹4‹E‹C‹Œ$Œ›Œ®Œ ‹ Ѝ‰ñ‰5‰‰¦ŠiŠ Šñ‹k‹Ô‹øŒŒFŒoŒpŒcŒ¾ŒÎŠÉˆü‰µ‹X‹wНŠvŠ?‰Ü‰ÒŠHŠÍ‹U‹ÖŒgŒbŒ ‹ŠÔŠ£Š×‹ÇŒ‹CŠÄŠÆŠ‰Ð‰‰¼‰ˆ‰¥‰®‰Ë‰ò‰^ˆ¡ˆKˆ‡¹‡€‡7‡‡M‡¾ˆDˆyˆ6ˆ ‡™‡6‡Q‡Mˆˆ©‰)Š<ŠÁ‰‘‡tˆ©‰Œ‰Ž‰æ‰á‹™£²Œ Œ™ŒD‹»Œ~@‚Œ¯ŒmŒ0‹ã‹IŠ©ŠsŠKŠJŠEŠJŠó‹ІŠ%‰Rˆöˆk‡õˆ3ˆG‡î‡ž†Ú†I…æ…E„õ„|„A……v…`…b„œ„!ƒ¡ƒ)‚¸‚¯‚¯‚êƒKƒƒÁƒ¾ƒÍƒÄƒçƒóƒÝƒ2ƒ ƒ³„„ „/„N……“…U…K…e…c…1„È„C‚®/‚8†'‰ð‹™‹rŠbŠR‰|‹IŒ Š8гŠßŠfŠ ‰¼ŠÊŠ ˆ¢ˆKˆŸŠÝ‹ŠÆŠuЧŠP‰±ˆÄ‡¨ˆ:‰ˆà‡3‡ ‡°‡±ˆ¬‰‹ˆ“ˆˆˆ!ˆˆ.‡ä‡w‡?†þ†¶††¿†Ñ†p†6…Î…v„ö„¯„S„,„ƒ­ƒN‚¿‚¦‚Ë  €ñ€q €Ù‚‚ K€ó€€Ö8ö|Œ¥²»’Š•q“i—kšë— ‘&“@“§“ÿ‹Êä‹°Šh‰øˆˆ8ˆk‡ˆ‡F†?† …ñ†·…î…ì…I„b…x…®…|†D‡X†ì‡ƒ‡¥†’‡#‡‡)‰x‹¥Œ–ŒŽ‹ø‹ð–oŽÁŽ£Ž}ŽHŽWŽqŽ©Ž ŽªŽÂŽ¡ŽCˌ܌!‹ùŒ³âôjT¢Ž8ŽúË•åŽ,ŽŽçŽòŽçŽéŽÌŽºŽì޾ީŽ2­MŒâŒ¸ŒÚŒÝŒŸŒG‹×‹‘‹.ŠúŠíŠèŠÄŠùŠÿДЗ‹Š×Šÿ‹ŠÍŠ‹ŠRŠnŠ‹‹V‹–ŠáЉwˆãˆšˆCˆCˆ5ˆšˆl‡ý‡º‡‡f‡†¤…e…i…O…±…ª†–‡&‡Òˆ1ˆ>ˆ‡þˆ ‡Â‡Ð‡Åˆ‡Š‡‡H‡†È†·†…†™†A†²†(††%…²…Ããƒ×‚Ã…}æ” ”™ žu¢%¤©§¨~©{«¬T­Ž®„°c°d±7±°Gªw©ù¯>ªg¡µ•ÿ‘É–O—©—–%•є֓¤“Š“2’þ’©’=’‘Nʲ(SŽl 0Œ„ŒK‹bŠ’‰¯‰C‰B‰®‰ç‰ð‰È‰ÝŠ&Љ‹´‹Ö‹m‹G‹0ЙБЉ‰/ˆ¡‡ú‡Å‡À‡F†á†G…ÿ…ü†…ï†L‡ˆS‰…Š…‹,‹áŒ´H¬äŽŽ?Ž´Ž©ŽÑŽ¸Ž‚Ž«ŽƒBgŽØŽÆ‘·ç޶Ž@ŽŽôŽZŽuŒ÷Œ³Œ&‹É‹[‹^‹)ЦŠЗЛВ‰¢‰v‰ÈЉ¬ˆìˆQ‡Ç‡‡‡‡€‡{‡l‡a‡g‡s‡_‡S‡R‡P‡h‡]‡C‡†ð†¥†a…ø…¬…£…݅߆ž†ô†é†ƒ…®…„ƒ‚ƒ#ƒƒ(ƒƒƒnƒ}„K…R†'†ž†¸†ð‡H‡Ïˆˆ‰‰˜Š{‹vŒßåŽê’i›‰¥¥û¢©¤=¥6¢7¢r£¢{¢Í¢ž9šÿ™–¯•!•–­—›–E”®“¾“’5šŽv!Ž¢‘“d“e•^——̙”ŸŸÎŸƒžzyŠœµ™i–)˜U—’”•Ô“•‘W¿‘DøsÏdzŒwŽ}’z’e’V‘¤%NÑŒ’Œ‹×Š‘‰Œ‰ÉŠéŒ Œ¬‰~_<Œs‹c‹(‹‹7‹ŠØŠØŠíŠâ‹6‹Ö‹í‹Â‹gНŠg‰ù‰6‰ ‰U‰àŠ>Š¥‹%‹u‹ˆ‹ ‹À‹ôŒpŒÜŒ¬ŒûŒñŠü‰fŠ‹ Œ”_B‹…ŠÔ‹d‹ðŒxŒ±ŒëŒ8Š÷Š ‰¯‰ôŠ ‰±‰Ó‰Ä‰Î‰Û‰Ÿ‰Ž‰]‰g‰J‰i‰ ˆ[‡ß‡q‡š‡ó‡¶‡x‡<†÷†ç†à†û‡^‡çˆ"ˆEˆdˆSˆ;ˆ‡ð‡½‡Žˆ(‰‰Æˆ’‡yˆ‰§‰T‰Š4‹ÖŒßŒ.Œè‹òŒUŒ¯~ŒèŒZŒ‹‘Šƒ‰ùŠ9Љÿ‰þ‰úŠ)‰ñ‰Aˆ·ˆ ‡Ú‡¹‡÷ˆE‡”‡†½†.†0…–„ª„&„5……FƒûƒUƒW‚§‚‚E‚'ïý‚M‚­‚Õ‚î‚í‚«‚Ž‚§ƒ‚ï‚|‚%‚*‚ƒ ƒƒ5ƒ„0„³…G…f…`…µ…¯…H„Þ„G‚R€0<…ˆí‹šŠäŠ@‰Š!‹¯Š?‰‡‰ª‰yЉaˆÏˆˆˆ(ˆ ‰‰ŠoеŠhŠ0‰wˆ¤‡¼‡Sˆœ‰ˆ¬‡¬‡‡‡âˆöˆ´‡á‡Ê‡n‡Ëˆ‡‹‡'‡†Ú†š††ª†¬†…Ó…u…I…2„ㄽ„h„#ƒz‚ï‚ v€É€˜€C€‚€€5€–€€uà€X€;€ž€j€ƒ€Zƒ]LŽHŽ©“2“É“;–å—Ž—H’™•]”謋+‹‹ ‰X‰¼‰zˆE‡!†¯†?†b……… „Í„;„Mƒ™‚¿‚,‚ 󂆄3„ø‡n‰ˆa‡o†x††¥ˆ<Š/‹yŒ‹BŠçŒhŽ_2ޥ޼¤ÞŽ Ž Ž4Ž{ŽKç9Œ…ŒŒŒ¯ŒÿÔú¸®]i¬ÙŽ(Ž_ކŽaŽVŽ^ŽIŽIŽCŽ>ý@ŒeŒŒAŒ“ŒÂŒ}ŒqŒG‹¼‹œ‹²‹·‹ІŠ`‹&‹=ŠÀŠXж‹ ŠîŠçбŠdŠ ŠQŠ}Љˆfˆ^ˆwˆ@‡Ý‡Œ‡}†Ä†ƒ†¢†¡†Q†8†K†`† … …Æ…é†x†X†Ü‡X‡ƒ‡ƒ‡X‡_‡k‡f‡0‡H‡%‡<‡‡‡6‡†þ‡h†ß†õ†v†j†‘†h†s††³…º„©‚ÒƒE‹‘è”G˜Õo¡?£ ¤¥¦~¨_ª ªÈ¬A¬Þ¯b°À±Ý±6°Ì±²;¬×œC”V““ ”P•–c•t•“ô“¶“’Ñ’Ê’Y’µ’X‘—Ò:䥣ŽèŽK­Œ»‹ÆŠÌ‰˜ˆõˆÁ‰‰i‰¯‰°‰‰ˆ‰ÑФ‹*‹A‹‹;‹#‹ ŠÃŠSŠ0‰ò‰_‰J‰ ˆ˜ˆ‡]†Ú†[†…s…¸†‡ˆO‰UŠT‹3‹óŒ¨ŒùFÆÕýŽ(Ž"Ž‚ŽÇŽŽ€ŽV‰9Ž«OŽ‘ Ž@ŽŽIއŽ1»cŒêŒ§Œ0Œ ‹Z‹ ‹3еŠuŠŠ ŠC‰'‰u‰Ñ‰Qˆ}‡Ô‡‡u‡‹‡~‡f‡q‡‡”‡´‡ð‡å‡Í‡È‡®‡°‡R‡G‡†Ã†¾†¡†D…ì† †i†,†G†…†u†…ↅ–„̓àƒ‚Ö‚ö‚ڂق܃Q„…_††a†„†½†ÿ‡J‡ôˆ…‰f‰Ú‹DŒxŽ}©”oñ¥·¦Õ¤ñ¥å¤  ” ¸ ¶¢~£K Þœü›þœA™ç—û—µ—N–S”[’Œ‘+Bm‹òŠÑ‰X‰›‰‰åŒOŽ´‘„’ѕޛ@œðœ¡›Åœ¬œÑœÐµš —Èšä™*–0•¦’\šƒæî4Š;ðŒV, ’’ ‘,ŽéŽäŽFŒçŒ*‹åЉиŒ­Žñq+ØŽ‹êëŽVŽMÔˆŒöŒ©Œ¡ŒxŒ…‹ð‹5‹ŠœŠkŠ ŠrŠÅ‰î‰íˆíˆ ‡Ä‡•‡Ê‡¤‡«‡³‡ÉˆˆˆQˆˆ–ˆ‘ˆŽˆ€ˆVˆ‡V‡e‡.†µ†Í†°†C…ã…÷†_†¦†É†Ù†“†…À…ª…†…€…F„‚ò‚„‚’‚¢‚À‚Óƒ6„‰…x†††A†l†¯‡4‡Éˆé‰}Šá‹íí—¿¢Æ¤£»¤¥£o D .¡A£¦¢Œ :›(šú™ï—õ—±–W“ú’ÔcŠ~ˆÂ‡r†¼†C†o†3…Ά¾‡`ˆø‹z9‘î˜o›²œ>›œ›ÿ›÷œ{œÖšg™m›™ç—)”•‘˜±Ž0ޏbéo6îŽÞô’µ“™‘£±øŽ-Ž5ŒØ‹MŠZ‰l‰-‹Ô÷ŽR™fl6Œó‹ë‹9ŠóŠÖпЖŠ@ŠaЉá‰ä‰Í‰}‰¬‰Ø‰å‰˜ˆìˆåˆ¼ˆ|ˆ´‰)ˆû‰'‰¦‰ò‰ÿŠŠŠ'ЇŠà‹L‹ŠD‰‰–‰º‰õ‰Ý‰M‰‰‰)‰ ˆøˆÛˆ®ˆ£ˆ“ˆ©ˆuˆpˆYˆhˆ”ˆŽˆˆmˆ‡†Ö†…×…¤…#…W…ü††† †…Ü…v…C…T…’…Ê…÷†C†t†¿‡8‡”‡þˆ0ˆtˆ0‡â‡{‡:†Š†‡@‡ñˆ ˆ¼‰Z‰ˆ‡èˆ¹Š ŒñfŒÚŒqŒ–k‹±‹l‹ŠzŠ#Š&‰°‰o‰„‰d‰8ˆÎˆ\ˆ0ˆ—ˆ)‡—‡ê‡j…¬…½‡@‡…–„À„tƒ·ƒLƒÞƒÌ‚Ý‚+€å¦úy€æ€º2Sw‚ð‚#‚…‚A¼dÚØp:JЂq‚°‚óƒƒ0ƒ(ƒƒ|ƒä„ƒØ„4„>ƒ…w%Ö…1‰òŠ‚‰/‰‰ßŠ’ˆ³ˆJ‰Cˆ“ˆ;‡:‡¸‡Ô‡Í‡üˆO‰"‰|Š3‰Yˆ¬ˆ|‡Úˆµ‰RˆÊˆ‡¦‡ûˆ3ˆ¢ˆ2‡‚‡M†à†È‡<‡†«†¯†·†«†7†…Ì…–…™…Ç…Ö…b„ˆƒ©‚Ãå€ô€–€<…†~ú~¥ ~ÚcÅ€ü"d~¹±~Û€¾B¼„‚£“.ŽÀN‘c÷ŽícA“3‘9”铊Œv‹Šä‰³‰rˆé‡¦†……Š…²„„4„„ƒÂ‚táÿ¨b€—€c€éhƒ†¨‰‰Ð‹‹¦‰ˆŒŠ‰½‰Mˆ¢ˆc‰¤‹n‹»Š|‰àŠ‘Œ@YŒ®ŒÅŒà ˆ²EŒÕŒ…ŒŒŒ~ŒoŒ´Œ¯ŒkG¬3Œ˜Œ¡Œ²ŒÉŒÆŒéUy9-ŒØ I†MŒ©Œ9Œ_ŒŒŒŒ@‹å‹­‹£‹™‹ÊŒL‹n‹8Š…‰ëŠŠ ‰ã‰°‰ø‰h‰C‰b‰{‰ó‰•ˆÊˆbˆ/ˆ6ˆ1ˆ¨‰ ‰‘ˆ÷‡ý‡c‡†ú†¯†­† †É†s†„„5„ ƒÌƒÜƒð„ƒü„ƒû„„ „m„¶„­„«„ž„„˜„„¢„u„U„·„˜„ „¾… …T…±†Œ†I†á†Œ†¿…(ƒÛŒ”U™g™šu ¤¢Ð G¢¢l£W£y¤À§^©ª«§«i§6•÷“ ‘M‘i’À’­’Û”!”9“¨’þ’¨’‚’w’(’Õ’¸’0‘°ŽÀŽ#ŽMŽœŽ0ɈqqŒ»ŒŠÉ‰“‰x‰‰—‰n‰D‰‰ó‰å‰ÂŠ ŠØ‹?‹#Š¿ŠœŠmŠ1н‹&‹Šƒ‰ˆ¤ˆ]ˆ)‡ü‡Ù‡s†ë†œ†G…ë†Òˆ$‰Š\‹‹…‹ÛŒ2ŒŒŒáŒùNM”çŽSŽŽ¢Ž¨É`pŽ/—ŽéÛÇΎ㽌-Œ?Œ\ŒaŒ‹}‹Š»Š˜ŠŠ ‰ó‰c‰‚ˆ¯ˆHˆ,‡åˆ ˆ>ˆˆˆmˆÁˆ»ˆÛˆóˆþ‰ˆúˆØˆ²ˆq‡ª‡t‡E†î†Î†Ý†‡…ä…º…²…ù†>†*…ë…Ò…v…7…-…I…‹„ðƒž‚j‚Y‚w‚Š‚º‚ƃ„Ú…ã…±…×…Ù†7†ƒ‡:ˆOˆÊŠ+‹ŽØû˜À¡Ùžv›˜Þ˜ó›œ<žË ¨¢à¢ ¸ž9š‘˜—™•z’Öʎ푊툒‡†§†…†d†|†P†i†#…µ… ……D†c‹î“$˜U››Ó›½œ,œ¦›¾œ#œ”›äš$—J”È‘…Žx:âŽÐ ‘‰’’˜’“‘î‘Ã]Ɍȋk‹.‹ó‹ÇŠÐ‰l‰©ŠäcŽÿŒa\iŒÃ‹FŠªŠŠ¬Š»Š—ŠTŠEŠ/Š ‰Ô‰Œ‰E‰Q‰N‰*ˆàˆˆ(ˆˆnˆƒˆîˆ¿ˆÈ‰[‰˜‰}‰‰¾‰ÕŠ>ŠžŠ²Š`‰ï‰%ˆˆˆˆˆ0ˆzˆë‰"‰2ˆÜˆ‘ˆjˆ½ˆ0‡`‡øˆ=ˆ‡è‡Öˆˆ:ˆ&‡º‡†Ï†*…=…&…:„Þ„l„u„‚„‡„k„g„”„’„—„·„¦……~…½…ÿ††g†Ì‡O‡¼ˆ<ˆ}ˆ‡q‡W†¤…§†a‡‡Ïˆ<ˆ¼ˆÁˆF‡Ê‡ ‡å‹«Œ‹áŒŒ_ŒÂ‹йŠîŠ[ŠY‰Ù‰0‰‰'‰Pˆ®ˆZˆÁˆg‡ò‡§‡Ê‡°‡…Ó†X‡«†Æ…„^ƒÏ‚¨ƒ#ƒÙƒ‚€Ïà!‚Ñ‚ô€t€³€L€(€Æ€ú7·d€Ô€Ÿ&€á€z€h€Ž€ß°‚‚AÑî‚6‚Alà‚dƒ‰„_‚è¡€®x…ô‰ý‰mˆÁ‰°Šµ‰n‡Úˆ¾ˆŒ‡ê‡…‡ö‡êˆj‰%‰H‰…‰£Š‰5ˆ®ˆˆŒ‰0‰ ˆK‡ôˆˆxˆ ˆi‡p‡†É†‘†ö‡7†ò†f†[†M†E…ö…ê…»…²…˜…J„ªƒ¸‚Ù‚¤&€©€1¶ò€Ê!€—(œÿ±Y"Ô5ä~â€H/€ñíÓ‘ ‘.Ž6<’©‘^p€‘\”í‘ë?Œ™‹bŠ‹‰f‰rˆ÷‡† …‰…„7ƒçƒoƒ‘ƒX‚KMk‚<«?ŠƒÁ…¢‡¢ˆã‰QŠ‹¼Šâ‡öˆW‰`‰b‰‰'‰rŠ”‹c‹VŠ×‰Ó‰×‹–@Œ³Œ®ŒßŒñŒÓŒÛDn-Œ¸ŒGŒŒDŒHŒ1ŒŒfŒ^Œµ7ŒÂŒfŒVŒjŒmŒ–ŒÉŒÒŒóŒ¬ŒªŒaŒ?ŒpŒ´Œ»Œ«ŒdŒdŒeŒ+Œ‹Ü‹Œ‹ÝŒÀ‹¥‹>‹ŠM‰¿‰X‰[‰+‰'‰‰N‰v‰y‰ý‰yˆ®ˆˆ®‰ˆÕˆìˆ¡ˆ†õ†*…ú…¬……I…g…@…^„÷„¸ƒ‚ÿ‚ñ‚Ú‚Ø‚­‚à‚ôƒƒƒ ƒ+ƒ+ƒSƒzƒ_ƒsƒPƒVƒcƒƒRƒ+ƒ-ƒ:ƒiƒfƒ”„C„‚…h……† …ó†Œ…Æ‡ŠŽ‡‘q—dš2™‘ Ÿxžßž$  É£'£@£P¤¡ðž¶›‰›˜ “O>‘Ù‘á’ ’»“T“z“ ’ ’L’’L’|’Ã’’J‘p‘~ŽkŽ$ÊÖŠuJFŒUŒ ‹}Š™‰Ü‰±‰òŠ)‰Ä‰Ÿ‰ß‰ó‰±‰ ‰œŠŸŠKŠŠ«ŠSŠ›‹ˆ‹B‹‹І‰SˆR‡øˆ"ˆCˆa‡Ý‡†a…½† ‡Tˆõ‰ÆŠŠ¿‹‹ª‹ÐŒIŒŠŒÍŒæ1sÝŽiŽÎŽ·ÎŽ‚Žù¿Ž›”ÊûÖaŒ}Œ3Œ_ŒDŒ‹º‹4ŠŸŠ—ŠwЉ˜ˆíˆºˆäˆçˆÙˆìˆáˆôˆÏˆ¨ˆÔ‰‰[‰o‰B‰P‰q‰ˆ¹ˆ€ˆ\ˆ ‡º‡y‡J†ø†õ†Ä†…·…—…²…¸…º…u…:„ë„´„¨„Ï…Y…c„mƒQƒŒƒy‚Õ‚¶‚‚ø„ „ý…U…¦…u…å…݆q‡œ‡ü‰gŠ5ré˜,™™—M•ð˜O›› šœš=›Ež  ð™Ë’Vˆ ŒyŠ8ˆ‡†ô†k†R††7†…Ñ…Ô…š…¹…¥…º…h… ……T‡ÍŒ‚”Qš¬›7š«›ÈšY™%›¯äž¦›d–Ï•F’]YŽŒ§à4‘e’1“·’?ºšŽØŒi‹”Šº‰Œ‰¬‰Pˆø‰‰‹_ޱ8SWa5Œ9‹7ŠÛŠ/‰áŠ,Š·Š´ŠJŠ#Š#Š‰Í‰s‰ˆ¾ˆ¡ˆC‡è‡Ž‡©ˆˆ+ˆvˆkˆžˆþ‰*‰O‰W‰Q‰~‰‰‰½ŠEŠd‰³ˆˆ4‡Ü‡ƒ‡Q‡‡‡8‡‡ÊˆˆHˆôˆËˆˆ[ˆhˆ!ˆˆ‡ð‡ä‡Œ‡2†²†!…t„¼„ƒ•ƒ=‚°‚¹‚öƒƒIƒOƒoƒé„J„p„m„¶…"…(…Q……؆†l†Û‡U‡Å‡Á‡”‡E†o…*…M†°‡[‡äˆ4‡¨‡‡‡Ž†€ˆó‹˜‹¿‹K‹E‹¾ŠÈ‰ùŠ ŠŠ/‰º‰3‰-ˆ¼ˆœ‡ô‡°ˆ‡½‡ †Ò‡‡†5…­†B†Õ…ø„Ѓ™‚‚ƒ ‚9Í~ÁÁÀì]6€E€ åÔé€*€?€<€Ÿ€XìÌ€ €€€€€.€t€÷?A€ˆ€ž€‰W€€êq¨‚HƒVƒÍ‚Vývo‡'‰·ˆz‰Š„‰Q‡œˆ›ˆ–‡®‡x‡ÞˆˆÅ‰¬‰œ‰„‰ó‰¥‰7ˆÙˆq‰‰6ˆW‡íˆ?ˆ•ˆêˆ‘‡Ë‡/†ô†W†ƒ‡U‡&†Œ†† …Î…Ã…´…Ç…—…V„å„*‚ÒßvI€Ö€¢€M€¹Y‘Ά­%€€i€k΀ÑÃ[~ðõÈ€ €8€(u” GÅ-y’ç—Š‘£àX‹t‰Ó‰³Š.‰ˆ †í†B…7„aƒG‚óƒAƒÃƒjƒ ‚¦‚G‚Y€úȂ݂U„{†Ñ‡§‡»ˆkˆÄ‰ê‹;‰Ì‡Þ‡÷‰ˆÔ‰vŠGŠšŠ›Š‹Z‹qŠY‰ñ‹¨,ŒûŒÚŒ¿ŒÊ3ŒÂŒtŒŒ1ŒœŒoŒŒtŒ4‹ãŒ—Œ´Œ0ŒŒ8ŒYŒYŒ›Œ¥Œ®ŒyŒ,‹©‹`‹{‹¹‹Ð‹ð‹ð‹üŒ‹º‹j‹ŠÏ‹SŒyŒéŒûŒ}Œ?‹ºŠþŠf‰¦‰„‰…‰‰>‰R‰•‰™Š¦‰Õˆ—ˆðˆé‰#ˆ•ˆ5‡1†…"„*„ƒÕƒýƒ©ƒƒŽƒ£ƒqƒ5‚^‚Q‚E‚'‚ãÛ¼ÛäÇÉûú‚‚‚‚,ÿ‚ßóù‚1‚5‚=‚f‚}‚؃%„„Ä…¹…d…ñ…>‡÷ŽÄÎn–œ™¢››1›–œ\'O ¬¢¡ð¡³ Cž7›˜R’ Ž(Š‘‘ ‘@’:‘ë’’î’¸’’+’,’!’6’S’1‘¥ÅòŽÞŽ™R‚ŒÝ‹‹Š.‰Sˆò‰\‰æŠŠ7Š'ŠuŠ=‰ñ‰è‰æ‰Ýˆäˆ‰…‰‹‰7‰Ü‰ãŠ’‹+Љ„‰‚‰µ‰{ˆK‡}‡h‡Ãˆñ‰Wˆ6†¤…µ…Ÿ†[‡¿ˆÌ‰§‰ÙŠ*г‹‹O‹Œ ŒJŒ¨Œ÷sÝŽzŽýŽÄd›p°UŽ ."ÏädŒÌŒAŒAŒ#‹ë‹Ç‹gŠ®ŠxŠŽŠ ŠIŠ0‰F‰P‰;‰‰‰‰Œ‰¡‰¥‰ ˆë‰#‰[‰BˆÑˆ˜ˆ¯ˆ`ˆTˆ™ˆˆ3‡á‡Š‡[‡@‡†¹†b†…ô…°„ü„²„^ƒêƒ˜ƒHƒCƒ™„W…„ò„Æ…3…„rƒ§‚¡‚lƒ0„„¾…?…(…G…V…ž†ª‡5ˆ.‰.‹fŽ¡“³–C“Ù’‚‘ ’¡’‡°ãÈŽ-Žíšr˜ò­Œ]†Ó†‰‡)‡†³†i†T†…à…q…I„ß„î„å…-… …!„ù„´„¼„΄”†[‘šæ™Í— •Û• ™Ušg™žoŸ'™•S”$ºŽJŽ]Ž-H‘x‘½É‘ù‘KÌÎŽ­ŒŠ;Љi‰ˆ{‰7‹ÅŒÇŒ¶Œ Œ˜5J|mŒ©‹ü‹RŠóŠb‰÷ŠHŠÙŠºŠ™ŠÉВЉ»‰~‰ˆŒ‡ò‡e‡‡‡p‡Â‡èˆˆƒˆÖˆËˆÙˆþ‰&‰‰ˆ}ˆ#ˆ…‰ˆë‡¼‡x‡s†ÿ†•†L†K†X†²‡ ‡H†ð†Ð†Æ†Ã‡:‡n‡`‡\‡R‡5‡6†Ó†w†…:„}ƒÄ‚ã‚>á4€ê¥‚7‚\‚M‚ðƒƒ|ƒ£ƒó„7„~„Ʉۄü…N…¥…ý†v†Æ‡‡Ž‡V†„ö„8„ß…š†}†÷†ì††P‡±†Ö†á‰ЧŠÞŠeЍŠÏ‰´‰ ‰3‰b‰6ˆÐˆŽ‡Ö‡h‡‡‡7‡††X‡>†÷…÷…B…~…½…„ ‚”D‚S‚Ð\~Å~+³€$~Óxf†+E?0`Œ=&G{¯·¢Æ€,€f€%”~ô1~=~Ø€J€Ö/}ÔøƒS‚úE~LGƒTˆËˆæˆMŠ1‰ˆ@ŠRŠ»‰Ôˆs‡ª‡ôˆˆÖˆÒ‰+‰Æ‰u‰^ˆÇˆ›‰sˆ¦‡Ö‡ñˆˆÒˆÝˆ‡_‡†Œ†B†Ç‡/†ž†S†*†…à…á…¹…¬…K…„RƒPý €Ö X€Í€£€¬Ç¦á߀ðîñ¦¯€è€}ÓÚŸ~å~Ò~Í›B€L€Îº™¢LŽÏ’rç¶q‘-” ûŒŒw‹1‰Ý‰G‰Ö‰<‡Á‡-…Ô„uƒ‚*‚0‚󃂃fƒŠ„$ƒW‚`fÔ‚àƒK…#†|‡V‡©‡Æ‡†‡&ˆ‰žˆè‡Vˆ8ˆ<ˆ ‰L‰s‰¿‰ÝŠMŠô‹-Šf‹ (…[hŒàŒ¬ŒþŒ¤ŒŒŒŽŒƒŒ~Œ:ŒN‹†‹½ŒwŒNŒ1ŒŒ@ŒVŒ•Œ ŒwŒ<‹é‹g‹ŠÜŠú‹#‹=‹x‹“‹‹?ŠäŠ}ŠŠ"ŠcŠâ‹‚ŒŒ‚‹ÿ‹ZŠÜŠlŠ ‰Œ‰´‰gŠŠïŠJ‹kŠsˆ~ˆüˆ½ˆÐˆ6‡]†…„¶ƒ ƒvƒ[ƒaƒ ‚΂¶‚§‚­‚ƒØwX7€ê€À€¸€·€€Œ€¬€€€¹€Ó€ú€Ñ€ò€Ô€ß€Ð!d€€Ð‚7ƒƒ|„Ç„ù…Ã……¿Š‹Ž¡“G”ô”¸”Å•„”ú•–ˆ™FšËœ;›Ú™<–m“V©Ž‚z)d‘+‘%‘W’ ’5’,‘ΑÀ‘¹‘À‘Æ‘•‘’HŽ”Á{ ZŒî*Œ<‰”‡ñ‡„‡S‡¬‡áˆEˆá‰/‰«‰íЉä‰È‰²‰/ˆ†ˆ¾‰…‰ˆÔˆå‰H‰«‰ ˆùˆ½ˆsˆˆ,‡¹‡a‡fˆ‰Ÿ‰‡*…º…P…£†‹‡Œˆ+ˆÅ‰b‰ªŠ=Š“Šû‹j‹µŒŒ`—ŽŽžŽËŽÜ»ŽÑMŽ#Ž5ŒÚŒ«nŽ ¸8ŒŒBŒU‹ÿ‹¬‹Š¦‰òŠ=ŠŠŠýŠD‰Š‰6‰9‰Ö‰×‰×‰ù‰ ‰ž‰rˆÄ‡Ø†ÿ†¸‡‡y‡óˆtˆ<‡{‡;‡A†õ†·†{†E…æ…r… „>ƒY‚Ò‚Š‚*ÝŠµ‚7‚¹ƒ•„,„o„9„„m„á„›ƒ[‚m‚ªƒˆ„•… „¤„¶„Ñ…•†W†¶‡wˆÈ‹¯ŽÊDŽ7‹¼‹1‹7‰…‡F‰z‰)‡Ü’û˜­“±†ñ†a†Ï†½†C…å…Œ…2„á„|„Eƒç„ƒÝ„@„_„œ„›„¼„E„t…†’Ž„“C‘s‘@‘÷”5œ¬šX!Ô›–â•“‘ý‘çŽz’p=޹Ž`Þvšê‹f‰Ù‰Sˆå‰ŠžŒœŒ5‹ðŒ”ŒælJ ŒÏŒ5‹ú‹œ‹5ŠÐŠgŠ2Š ŠŠuŠ\‰ü‰—‰=ˆïˆ‡‡û‡†*†"†º‡B‡c‡ˆˆ ˆšˆ‹ˆ¾ˆˆ”ˆ¦ˆâˆÎˆ¸ˆÚˆSˆ/‡à‡{‡_‡&†Ù††…؆†t†ì†¨†R†M†|†Ï†€…ü…Ê…ÿ†.†:†…»…%„„ƒÕ‚íÝ€©€ €l€.€îÁù‚‚ ‚ ×é‚)‚o‚ñƒ£„„„6„m„¡…G…Ù†6†¼‡#†–„tƒƒ3ƒç…9†††…æ…ƒ†ï‡'†s‡ˆÇŠ6Š1‰¾Š‰yˆ—ˆ”ˆÀˆ²ˆ/‡£‡"†Ý†o†V†¾†«…â…°†z†‚…Ê… „ª„mƒÐ‚‘”€ÃÁì4~ç~X}Ë~Ê~h~~7~“~¨~Ì~É~­~¥~p~k~~T~#~4~O~§~ÐILÍ€7¾Z~³~k~É~Σۀ&€­€u€Ø ¶‚ëé}t~n€¦†nˆÆ†ÁˆDˆ…ˆ—Š•‹ŠÊŠ@ˆä‡Ÿ‡çˆ.ˆÀ‰”‰‰-‰ˆÈ‰J‰‰ˆ(‡ÑˆCˆ¾ˆæˆx‡™‡;†ö†—†ª‡†Õ†w†s†…Î…Î…Ã…„…k…„èƒÎ‚UA€Ò€é€ö€™€{€ã‚Æ‚c‚*€™î€¿Ø‚ €É€iÕ„9~Æ~<~*€_Šw—sÁ ‘ƒöœŒÕŽÍwŒE‹]Š1‰q‰»‰&‰ˆ5‡†[…E„>‚´]‚<ƒï„z„­…ƒp‚RƒCƒÔƒ„ƒÖ…N…©…󆇇‡d†ª…}†Å‡º† †»‡X‡9‡£ˆˆµ‰‰4ˆ“ˆò‰—аŒÇ/1ŒñŒÂ,Œå Œ˜Œ…Œ­Œ’ŒVŒ#ŒZŒYŒŒ7ŒB‹Š‹K‹þŒLŒ;‹þŒ7ŒTŒƒŒ¤Œ¦Œ%‹­‹AŠäŠËŠºŠÃŠÑ‹‹.‹&ŠÍŠUŠ1Š‰ðŠ ŠŠŠ;‹‹¯‹qŠÒŠÅŠ¨ŠŠ!‰èŠJ‹:ŠÓŒ+‹uˆ¬ˆ”ˆpˆˆ†Æ…[„EƒÇƒCƒ[ƒ&‚ý‚Í‚Š‚A‚úò€Ü€ƒ€Ð§›€€5Õ¯êÉÝ€€ô߀ €Ú£Ó÷€€0€y€j€ˆ€ù[‚9‚”ƒbƒî„Û……‡‹ˆÇ‹ÄŽ‘€ËÆŽ9ŒyŒÓœ<‘-#JŒ)QŽª€}Žm&ˆ½‡y†^†>†g‡‡Šˆ%ˆÈ‰1‰\‰‰N‰ˆÄˆ…ˆEˆâˆÐˆRˆPˆtˆ³ˆZˆ-ˆ‡‡[‡‚‡©‡|‡.‡›ˆð‰‡O…—„·„ô…¶†™‡E‡Ëˆ<ˆ£‰X‰ËŠdŠÚ‹m‹ÙŒ$Œ˜ ¦Ž޶ާ%[¹'ŒMŒZŒÀ¸ÂkŒ²Œ*ŒLŒ‹Î‹¹Š¬‰Ä‰åŠŠ9ŠÂŠ˜‰æ‰¥‰¬Š‰ø‰áŠ ‰õ‰ïˆÅ‡C…÷…O…½†‡‡R‡Æ‡õ‡]†&…õ†o†M…­„é„—„ƒ€‚õ‚2ÆT €´€Œ€G€*€’€ût‚ ‚»‚؃ƒ,„i…®…ƒyæÞƒ„i„w„X„2„……l†?†g‡ö‰÷ŠF‰ƒ‰‚‰Bˆ‡Z‡†(…ø‡ƒ‡ ˆT‹‹ ˆt†”†¡†>…Ò…A…&„—„h„ƒ›ƒ\ƒƒ`ƒiƒÂƒ—„ ƒ×„D„„„q‡ªÙÿ°•šœÜ›Ÿ˜äšë›X–v”’›’”‘«Ž„‘ÞZŠøŠù‹qwŒ‡ŒpŠÝ‰–ˆoˆìŠÓŒ2ŒâsÆ©JŒ»ŒdŒ&‹¾‹…‹ŠÌŠÉŠc‰ó‰ß‰ø‰½‰·‰£‰|‰vˆë‡å†Ö…É…£†t‡!‡W‡i‡ÌˆˆRˆ‘ˆxˆZˆ§ˆh‡ê‡Ê‡öˆuˆ ‡¼‡Ò‡R†Û† †n†G†…ò…É…ª…×…Ê…¥…x…q…Ç…®…>„Ÿ„d„¸„Ä„ƒ„:ƒøƒ°ƒW‚ÕÊ€Œ€€A€È€¢Žf€Ñ€¬€ä€ýFŒ‚?‚Ý‚òƒ&ƒ¼„„Q„·…N…Ά†ï…-ƒÀƒ’‚¾‚yƒª……‚…¾†S†©†¯†ž‡Eˆº‰Û‰¯‰Q‰5ˆ‚ˆˆMˆ!‡s†ð†q†7…þ…à†:†E…Œ„ñ…b…å…s„Õ„Cƒž‚Ñz€Õ€n~¹}î}}’}’} }Œ}ß~3~)~{~~6}î}ã}¥}F}J}H}Ž~~_~èWI·ñ{~^~~wá{~æ~ØV`…€€\Ò‡}ý}E~éƒ{ˆ†¹†Ùˆ6ˆŠ‰æŠ‰†ŠŠ8ˆ£‡‡ˆï‰æ‰ÇˆóˆG‰*‰Ù‰DˆMˆDˆµˆèˆ¬ˆ ‡ƒ‡5†®†­†á†É†[†G†?…Ý…ñ…³…¦…a…1…#„§‚Õ(€ž€©€ò€l€íQe€ù€RæË›o€e€ÖV€¥€ž´iu/~Ò~E²~ €¬˜ü•Žè‘5zŽívŒÿ‹ŠŠ.‰„‰P‰<‰%ˆ×ˆ‡‚†Å†L„ÿƒ}Ú€Çs2ƒÿ„’„Ê„¨ƒ§‚Ƃ΃ž„D„*„}„°„¨„‡……݆u…Í…¢…=‚»ƒ¹…¤†B†1…³†;†k‡ ‡R‡•‡Ñˆ_ŠúŒˆŒŽ‹Ò‹H‹øŒrŒ“Œ.ŒOŒŒÖŒ´ŒLŒ€ŒoŒ^Œ0Œ‹´‹J‹šŒ0Œ-Œ Œ,Œ%ŒqŒ“Œ°Œ‹˜‹o‹ ŠÕЭзЛЍоГŠ\‰ý‰ß‰û‰èŠŠ!ŠŠ‰ýŠŠ¤ŠŽŠsŠNŠŠŠ(Š7‹–Œ ‹Î‹.ˆóˆ@ˆK‡×‡R†0„уùƒ…ƒZƒ!‚«‚q‚-ÛuG€û€Ü‹A~Æ~’~²~¡>g~ê~×~î~õ~ü @CC!~Ò~é~ÿ9ªœ”’Èò€³W‚‚­ƒ‡„%„î…º…”‡l‰¨ŠbŠ*Š/Š%ˆ÷‰nЏ‹ ‹ñŒhŒFŒñÍŽú°¬ŽÚŽmŽåÜàI‘Þ¯‘V‘ÓYâ‡|~r@ŽÊŽÞŽ:µŒŠü‰Ú‰‡†…Ú…Û†f†¶‡J‡Ùˆ@ˆZˆTˆ£ˆ²ˆbˆ4‡ý‡á‡ì‡¢‡ª‡ñˆˆ‡Î‡«‡3†’†R†Ì‡)‡‡ˆˆv†í…:„7„ž…}…ò†G†œ†ù‡e‡úˆ‰nŠ.Šõ‹T‹ÐŒSŒ½S˜ŽŽ{ŽæEŽŽpŒÊ‹ùŒŒ½Œå{Ž6ŒªŒŒ?Œ#‹ó‹‰Š´Š*‰êŠ ŠkŠw‰ù‰ðŠ ‰›‰Ø‰Õ‰÷Š/‰Ç‰‡^†6…u…V†[‡3‡‚‡‹‡|†w…3…O…Ã…=„FƒY‚æ‚]¼O€æ€“€ú½šh5,]–É€ƒ »‚ƒ%„„€„§‚±(‚σê„#ƒöƒÙƒÃƒÎ„¬„õ…j†#‡†¥†™‡,†\…ä†(†ð†´†ê‡G†[…ò†$…ù†…Ï…D…&„µ„ƒôƒÅƒ!‚à‚²‚‡‚›‚”ƒ‚烢ƒ{ƒ×ƒµ„ƒÁ„9ˆK‰Ò‹t‹=Š—ˆ$‰›o˜ñ™P—x–½šœ˜°—t•“ ‘œOõ‘‹ßTŒ(‹>Š'ŠJ‹ŠŠ‰ˆE‰Š‹ØKÕqeŒÌŒuŒ2‹Ô‹™‹`‹0ЉåŠ!Š!Š;‰Ñ‰q‰?‰ ‰‰d‰Ð‰œˆŸ‡¶†Í†S††Û‡†ˆˆ€ˆ‰ˆ;‡¥‡†Ö†û‡T†ý†ô†Í†H††j†ð†À†o†…Ï……D…(…9…T…U…•…Þ…y„¹„ª„䄿„\ƒ¬ƒ“ƒF‚¶‚¬‚Ï‚™‚”‚Ý‚Š~€þ€þ€œ€}€Ù€ä€p€A€L€H€M€9€E€€C ø‚„‚úƒkƒ°ƒì„ „’…'…’†s†T…‡…9ƒÉƃ„„Þ…†ˆ†¾†ß‡rˆ‰CˆþˆÇˆM‡¦‡Î‡²‡†¥†$…Ç……‡…¯…Ò…{„ˆ„Ž…(„Æ„Bƒ¬‚ê‚#€I瀀Q~È~c}…|x|‰|µ|ê}}T}p}•}Ò}¿}}X|ÿ|¢|\|J|Ž}7}«~;~Ø[}lk~~4p­w~M}®}‰}«~%~%~€Ÿ¢¡|Î}•€‹†u†ö…˜‡á‰>‰é‰tˆˆè‰Å‰À‡æ‡ˆ ‰ˆ‰ùˆè‡ä‰cЉAˆ‘ˆ ‰ˆÒˆS‡Á‡y‡@†µ†Ú†Ø†„†…ø…Ò……{… …*„õ„é„«ƒØ‚€Á€”€¿eM€s€|€8X‰~à E~æÑ€T€Ký€Ž¥~è~ð~Ç~­~ô}ž~g€—™ï¼ijGbŽŸ™ŒŒ‹K‰Ÿ‰žˆ¨ˆwˆ ˆM‡=†Y…℉‚÷6€~ƒPu‚à„‹„˜ƒy‚Ã₃¦„ˆ„Ì„0ƒ‚:‚كɅ8…Õ…Å„s€ã‚¡ƒñ„ƒ&„ä…ƒ…W…³…톆­‰`‹‹:Šq‰¶‰‰Ó‹‹x‹‹‹¤ŒŒyŒŠŒŒRŒŒ‹ö‹×‹[‹0‹×ŒŒ.ŒŒŒ6ŒŒ‹à‹¥‹w‹ŠÈŠ›ŠŸŠ~ŠIŠ[Š'‰Ô‰¶‰š‰Ó‰¹‰Ï‰÷Š2ŠDŠŠKŠ0ŠA‰Ñ‰¾Š‰ºŠ=Š ‹«Œ‘ŠX‰åˆô‡‡ž‡-†á…Ê„&ƒƒHƒ‚½‚i‚a€ÿ€¾€ƒ€É~5}ó}±}’}À}‹}~}^}.}U}¾~~L~‚~â~ó~¬~s~9~~1~²~þ3B.~ÿ~¹~Û~÷.®€«e‚‚ƒ!„9„¿…Þ‡™‡X‡/ˆSˆÚ‰9‰ÜŠŠR‹“ŒÞüU»ZŽpæŽ y4ŽëŽÚaˆÛ›Ô™ÆG0]tDޗަޏŽ&Œ‘Œg‹—ˆê‡K†…ñ†††b†µ†ü‡8‡Ç‡ß‡É‡–ˆˆ=‡Û‡´‡L‡+†Ü†ä‡<‡šˆ+ˆ‡‚†Ü†@…ó†K†x†‡†Î‡‚‡×†m„¹ƒñ„*„Â……W…ƒ…†A†þ‡Íˆ…‰BŠŠš‹.‹±Œ=Œ¾IÕŽ4ŽšŽéŽîÝŒuŒ#Œ©Œ¹Œ³Œ‹‰‹¾‹Ü‹ü‹˜ŠœŠŠIŠcŠ"‰õŠ ŠŠŠ9‰y‰Ð‰Ì‰ä‰ü‰1‡è†…ù…ʆª‡ª‡Š‡†È†G… „˜„Ú„ý„‚Û‚~€ì€ZÒu7~æ~´~z~i~M~c~ }ü~]~Œ~ùš€M„‚?‚õ„/ƒÍ‚;€|€Ý‚xƒƒ®ƒIƒ‚Ńƒ’„h„f„§„z„‡…T…d† …ä…‚…í…å†4†ñ†‡†…Â…y…2„É„z„ƒÉƒ\ƒB‚µ‚•‚‚ ‚P‚5‚ª‚u‚û‚݃‹ƒ$ƒpƒéƒ[„­…ó‰V‰šˆŠ…€ŒO•¹«•|˜0–š˜œ›ï—Ö—-” Š’6pK‹ÑˆÜˆ¥‰†Š­Š®‰‰ ‰F‰ç‹˜Œt%#ŒÙŒqŒ‹È‹@ŠºŠÃŠùЉi‰B‰ˆ‰Þ‰©‰M‰ˆ±ˆœ‰ˆíˆžˆ[ˆ7‡©†ö††b†ï‡¿ˆ‡ˆ†‡…‡…¥…Ç…ü†á†^… …c…?…h…þ†°†®†y†&…è…›…J„ô„®„´„Á„Õ„Ú……5„넃»„ ƒÐƒ‚„‚c‚™‚§‚c‚N‚Œ‚À‚g‚S‚ €œÜÆ€l€Ž€M€L€x€U€5€X‚3‚‚þƒHƒyƒzƒ¯„_„Ü…‚†=†E†…²„¢‚€Ÿ|ƒl„„V…E††o†Ç‡[ˆŒˆ¾ˆ1‡ñ‡™‡{‡k‡†[…ñ…—…%……+…L…*„4„„Lƒøƒ¥‚ÿ‚*€þâm€€@ë~¯}Ê|Œ{{{Â|7}}|•|˜|˜||¢|s|{µ{|{€|'}}{~H~þ0~ô~Ó~ñ~Ï~w~ÔŬ~Ö}G|J{÷|:|:|:}a}æ~Š~w€Rè|€|±~¡„C†U„̇#ˆý‰£ˆïˆHˆ]ˆÙ‰éˆ‡_ˆL‰ëŠ—ˆÀ‡ü‰‰š‰Jˆ–ˆ×‰ˆ’ˆ.‡°‡k‡B†Ù†´†O†…Ñ…w…„ß„¶„ˆ„±„…„ž„#ƒ2s€0€—_‚Hxø~Ø~Ã~ø~´~ã~s~À<|öÆ€€È¹Iz~*~}è|Ë}È‚—‘•9ÔÆæøaŽ/rŒê‹á‰é‰×ˆá‰ˆ#‡P‡D†¥†6„D‚N€‡Y~‚~g õ‚ƒ’‚{‚ ‚E‚Ó„0„(ƒàƒKeÛ€cE‚÷„y„Õƒd€[€›€âcãvƒÞ…Q„ø…!…ø†Ô†ó‡ÎŠŠŠ!Š2‰‰+Š‹ ‹+‹J‹m‹ÄŒ<Œ-Œ!Œ‹×‹â‹ï‹¹‹‰‹ÞŒ"Œ$‹æ‹¾‹ ‹›‹º‹Î‹±‹O‹ŠœŠ[ŠŠ‰÷‰Ë‰Á‰S‰C‰‰;‰>‰P‰£ŠŠwŠ:Š*Љì‰m‰`‰a‰?Љå‹!‹•‰¤‰]ˆé‡Ý‡.†¡†Ö…愃7‚Û‚Á‚Núª€»€x€S~Á}|Æ|©|}|‚||4|f|Á}}|}¤}Ô}û~}É}œ}g}a}–~+~y~{~f~8}ü~~~n~âc€€°«‚?ƒ/ƒp„„¦…†k‡ˆ‰¯Š¶‹›‹áŒúŽT\Ã.ŽyêŽKX™Ž¥Ž~äŽ$ŽújÂoŽ×ޏŽqŽƒŽ¿ŽÞŽ`´ŽúŒä‹¬‰6†ï†H†5†…Õ†C†V†Û†ô‡:‡"‡!†Ú‡‡‡‡†Ü†â†Î†à‡ ‡Ã‡ô‡L†_…û…†5†q†;†|‡U†×„gƒ2ƒ‹„„f„y„¦„ý…†w‡6ˆˆô‰£ŠAŠÀ‹sŒ Œ>厙Žñ,ŽAƒŒ‚Œ5ŒaŒ€ŒºŒ‹Œ ‹{‹y‹p‹c‹Š_ŠUŠäŠ[‰°‰÷ВЉ‰È‰_‰b‰jˆ>†®†d†G†Ìˆ‡Q†³†á†g…„DƒÎƒd‚®€€º€›~ù~e~} }o}8}C}i}‚}b|Ú|Þ|ô}>}}~ ~¤¤€|{‚•ƒŽ‚©€º€H²‚݂̂‰‚)‚*‚]ƒaƒ‹ƒ¾„#„´…… …… …/…#……X…U…Ž…„¨„h„LƒÛƒ•ƒ0‚å‚_‚Áª°Ûì‚‚a‚zƒa‚̃‚ ƒkƒƒ…ò…Ê…ƒ÷‡‡Ýˆ“ëšBœk›îœ‰•å•d—D’Ú‘6zެŽöŒˆ‰ÁˆzŠ€Š)‰ÜˆsˆçŠmŠ\‹=‹"ŒIŒƒŒ4‹í‹PŠáŠŸŠ¥ŠÓŠŽ‰é‰œ‰˜‰u‰Ÿ‰.ˆéˆÏˆ§‰ˆ²ˆ‡ñˆ‡”‡†t†Y†¸‡‡~‡D‡†q†*†¤†ú…÷ƒ–‚ï„ …\…ò†N††Ž† …e…1……… …O…<„Þ„ „UƒÕƒ6ƒƒ.‚Ì‚^‚M‚\‚ê‚Ø‚±‚6‚?‚W‚-R€Ù€S€>€œ€¦€²€­€´€,D€kï‚=‚m‚¨‚僃Œ„0„Ø…ž…ü…Ü…æ…„0ƒ£„ƒ…A„݄ۅ?…Ò†R† ‡¶ˆ‡š‡k‡Y‡5‡†‰…ü…`„à„²„i„„ƒqƒÊƒ«ƒE‚›’€~ê~ä—‡~]|]zôz³zê{}K}t|{Š{“{€{T{ zÛzˆz·{P|;})~"~ž~[~~7~M~ð †Ó~-|9{*{qzÕ{zž|7|ì}Ÿ~R©`{Ï|f~£‚Ž‚»„^‡‚ˆ¶ˆøˆ‡¾ˆ8‰™ˆÂ‡Ç‡öŠ ‰¾‡ÇˆWˆ¾ˆ¹ˆ7ˆ£ˆìˆ’ˆOˆ‡¼‡6†­†S…þ…Ï…h„ß„š„`„„A„@„"ƒÖƒn€ö‚,â€F<~~W~‹~d~`~K}â~~Å¿€L€v€6€€ä”~<~È}„|!~/ŠÕ–·?ŽßŽºnÏŽHŽzŒŒy‹Š^‰oˆÿ‡¢‡!†Ú…ÿ…³ƒª¤ê~ì~`~i~•€‚Z­‚‚@‚œƒ¼ƒƒ3‚}Ý~P~Ë€}‚ž‚û¤€œõ€A€uÚƒî„|ƒÃ„†"‡õ‡ÛˆŸŠF‰ÌŠ8Š0ŠFŠAŠwŠò‹Ší‹{‹ï‹{‹:‹‹‹é‹Þ‹ª‹¹‹î‹ÿ‹Õ‹•‹x‹]‹‹o‹f‹ŠÍŠ‰Ø‰‰Z‰M‰#‰ˆ¾ˆÊˆ¥ˆÒˆÔ‰ ‰rŠ,ŠVЉ¼‰?‰‰(‰0‰®‰dŠ{‹#‰Ä‰ ˆÚ‰P‡˜†Ï‡†)„+‚Ê‚]À倒ùg~¶}è|{é{¦{¦{€{ë{í||a|y|¿|³|½|ã|é|™|m|;|i|¾}}|å|Ê|Ã|È|ü}>}½~H~—J‘€4€ýÉ‚Œƒƒ[ƒ–„G…[†ÓˆŠ$‹¯ŒTŒUŒ˜ŽelŽÝŽZŽ<ŽŽ{z£Ž¨m¤ºŽ¥r`ŽØŽwŽ4ŽŽ ŽcŽfŽVަŽŒuŠ—ˆe‡†{†c………—…¨†I†q†§†¾†“†?††† †1†'††=†÷‡:‡)‡'†i…Ά…²††…k…`†/…¸ƒ^‚y‚ëƒQƒ•ƒ‚ƒß„H„Ù…’†‚‡E‡õˆÑ‰­ŠIЧ‹EŒ!ŒâŽŽ=޳:ŽÃŽŒïŒ/ŒŒ]Œ}Œ4‹å‹‘‹Œ‹iŠïŠ­ŠrŠlŠT‰Á‰¸‰°‰¼‰,‰g‰ˆˆÓ‰‰ˆ6†¸†r†/†¶‡w†…ã…—„:ƒ_ƒ:‚Ù‚4Q€L/~~~}o}|š|${â{Å{¦{é{î{ó{Â{»{Í{½{Ç|K}}¾~…g€ Tƒ ‚à€²‭­‚ Òðæ‚L‚§‚¨ƒƒR„ „™„i„œ„™„¨„›„°„\ƒÉƒ1ƒ9ƒ1ƒžƒ@ƒ‚΂ƒ‚(®€c‰vAÊê‚t‚Y‚‚0‚Ü‚+‚¶‚Œ‚I‚‚E‚Ü… —ô˜þ—Í›7—…”•“Ï…¶ŽðŽâŽ‹°Š_Œ)ŠÁ‰ˆ ˆÉŠñ‹>‹‹*‹û‹ª‹†‹F‹ŠýŠèŠëŠ¥Š/‰¦‰v‰ˆé‰™‰rˆþˆ©ˆzˆÃˆÃˆˆ ˆ‡ÿ‡½‡U†ã†M†^††ã†ª…û††;‡‡„¬‚„ „Ƅׅ…{…Â…r„â„e„„K„€……„…¥…8„©„¤„ ‚邽‚´‚~‚‚›ƒ3ƒ‚‚Q‚b‚@‚?‚Ü‚€à€Ì-(€\·£€?€ ~Å~Q~â€:r©ç‚E‚˜‚îƒ}ƒý„­…a…}…Q…H…U…:……Y…,„À„Z„Ç…¦…¡…ù†Ú‡/‡‡†ù†Ú†a…Ý…Y„¬„%ƒÅƒ®ƒ^‚÷ƒAƒV‚ñ‚D€Õ~[~D~o~ì}à{´zAz ze{|Ù|È{z¼zÝz™zryìyyy«zB{{é}}Ò}Í}:}}‹}«~¤~Ç~Ë{ª{|_|Ñ{‰{({<|+{Â|V}b~~szÛ|!~¤€³O„&ˆˆÊˆ ‡D†Á‡…‰/ˆ(‡º‡›ˆî‰i‡øˆ.ˆF‡Ë‡Éˆ¥ˆ¯ˆdˆFˆ<‡§†ÿ†–†"…Ï…¥…Z„Ò„q„'„#ƒýƒÕƒ°ƒ½ƒ(‚J‚_‚l‚Œ“á~a}¿}Â}Ö}ñ~%~ ~3~h~®©ë€Ç€Y€×€I€c¤;~({&€A‚BŽ9—’Ç»‘E’þ޶ޔŒËŒ‰‹sŠ[‰7‡É†à†¢…â…¬„™‚–~‰~[~6~?D€¼€yÉ‚š‚¯‚Ñ‚‚D‚R~Ó~B€Ùb€>€@à€Õ€#ƒ1ƒà„ ƒ_‚ƒL†eˆ)ˆ‰±‰t‰‰{‰í‰ÌŠŠLŠ•ŠÔŠà‹r‹Š¢‹X‹”‹‹h‹4‹F‹e‹~‹ŠòŠÄ‹‹ŠîŠqŠ4‰¯‰"ˆÖˆ“ˆ‹ˆtˆbˆ/ˆ'ˆˆ,ˆFˆ¢‰ ‰”‰ä‰»‰hˆöˆôˆ²‰aŠ»‰¨‰ö‰´‰0‰ˆÝ‰i†É†Q†é…ë„c‚´‚35€M€>€;€~–}Ð}@{¹{3zì{{j{Û{¼{{†{ {²{¬{Ù{Ï{±{t{P{V{d{{É{•{|{o{˜{º{Ñ|G|}1}•~~¾y€?€¶M΂‹ƒx„„õ†M‡¡ˆ£‰t‹Œ|ŒFŒ„Ž莎HŽJŽß«€Ž†ðºmlÕŽhŽ2¹Ýæ€øŽŽŽ+‰Œ©Šý‰ª‡ý‡‡‡ †…Z…²…t…M…i…œ…m…p… …“…†…‡…§…¨…€…‘†T†«†È‡d†Ÿ†…Ê…^………„•„Ã…N„#øÉ‚L‚b‚»‚êƒRƒ¦ƒû„‰…d†1‡ˆˆ‰,‰¯ŠS‹!ŒñŽuŽõŽÛŽ9tŒŒŒ7Œ‹ä‹¯‹g‹d‹GŠ£Š}Š=Š"Љ´‰•ˆôˆáˆÜˆþˆ˜ˆkˆÁˆ´ˆ†è†9…Û…Š†…¨… „ƒm‚‚% €ÁŽ~°}l|«|I{Û{RzÕz¨z=z1zzDzLzQz2zz$zHziz{"{û|â}µ~G~šöü‚)€·}€v€þ€ûRZß‚B‚‚½‚¥ƒMƒšƒ¨„„x„S„ƒ—ƒ;‚k•‚‚…‚¶‚Á‚b‚²\$€ïI&€ÖJ©Ï鵂'‚4À|€Ø€ç=‚¢†Ýø‘(‘8’œѓí’ÒèŽZŽŸjUŽá®ŒÈ‹JН‰ƒˆ:‰‹ ‹ä‹ž‹¡‹‹‹‹<Šø‹ŠçŠîŠÁІŠ‰<ˆãˆxˆt‰‰y‰ ˆiˆVˆPˆ¡ˆñˆ¯ˆ_‡ã‡À‡¥‡ƒ‡5‡†Ì†€†B†$…ú††y†ô…ëƒÍƒÈ„¯„š„S„V„„t„ƒm‚‰‚T‚O‚v‚T‚X‚ùƒKƒxƒ£ƒ]‚ñ‚}‚M‚A¯X‚ ƒŒƒÈƒ ‚X‚‚ÇoU®0€Ô€Ý!€f~2}º~¦ÎÊ®Pqæ‚S‚ôƒTƒ§„K„Û…„Ó„Í…/…)„à„¶„Š„„„Ü…`…:…¤†o† †¿†¿†´†(…“…$„€ƒÍƒNƒ ‚½‚d‚S‚‰‚Kœ€S~Ä}ï}œ}ã~8}û|î{|zy¥yÿz‹{è{¿z’zzyÕytx¶xNxÕyÕz¶{d|O|‘|x|ƒ|Ä}|÷}Ó~¯}o{j}}L{ºz¹zÛz×{d{ž||µ}N|‘zM|H~ˆ€@î„x‡§ˆµ‡:†M…߆‡ñ‡K†á†Æ‡¦‰ˆ‡üˆ ‡’‡Ìˆ‡ˆ‡ˆ-ˆGˆ@‡„‡ †{†…ã…­…h„Õ„x„„ƒ´ƒšƒ‰ƒƒƒ1‚ÿ‚ら‚Y¸~}‰}ˆ}¤}£}ë}ÿ}¤}°~BÄ€˜€-€¾ëè€1~\‹êŠ®~—AÜ‘ZA’¶“âlŽ§Ë FŒ–‹[‰¹ˆM‡l†þ†H…D„þ€*~¢}õ}®}Ç~:Õ€ôáý¡!Zl»€j~¼~³s€01<€šøE݃ ‚£‚P‚ºv%ƒY†U†ÝˆN‰?‰¬‰2ˆÝ‰=‰¤‰]‰–ŠLŠŠÿŠêŠLŠô‹Š ŠÁЩаŠÅ‹Š©ŠƒŠLŠ‹Š~ŠiŠ ‰g‰$ˆ”ˆGˆ‡Õ‡¡‡‹‡Ž‡•‡‡Ÿ‡¾‡öˆr‰ ‰l‰T‰ˆçˆöˆî‰Š‰¿‰«ˆÐˆ²‰C‰ž‰@†¦†M…þ…0ƒÇ‚DրʀÜ•~ª}Ø}|˜zÜzrzoz™{’{·{O{GzìzîzñzÜ{0{z¢zjzˆSˆ‘ˆ„‡ùˆˆ/ˆ1ˆ/†µ†Z†?„¢„x„ûƒ“‚õ‚«s€†’~Æ}ª|É{´z÷zŽz.yÐyqy„y1yxÝxåxäxÞx¹x•x¥x·xâyyQyÄzÇ{Â|Ì}_}g~J€D^€g~z}õ\Ú€=€…€ñuЂ<‚‚O‚Ê‚ç‚ÿƒsƒÜ„ ƒ;‚‡Â(µ‚(‚*ßÖ¡iIK€·€ì€À€þ€ýC׹ŀž€h€Ç€â%….‹_Œó‹ÝŽeå‘&ÁŽØç»Â‘WŽFb‰íŠÆŠUˆ¤Š0‹‡‹Ý‹†‹Š½ŠŒŠ‰ŠcŠ•ŠyŠ¸ŠŸŠw‰ó‰1ˆÅˆ?ˆˆs‰:‰ˆ„‡ü‡Óˆ!ˆ?ˆsˆˆˆ‡¡‡k‡A‡!†û†Å††Ž†ƒ…օĆ;†‚†¶…?ƒî„1„ƒÕƒsƒ@ƒqƒ‚XV€ô€û*€½€@É“÷€1­~~}¦}¤}–}k~)$Q~•~8Ñ™‚#‚‚³‚F‚Š‚3x~7~å€:\ÎÛ[D0=‚‚΃ ƒXƒ»„7„‹„Š„«„÷„ö„™„Bƒåƒ§ƒÛ„•„ç……<…}††N†1…¾…1„«„?ƒ”‚悯‚PÑa‡©.€8~»}±}M}E}u}h|HzÊyyGyIz{TzÜzIyyfyLxmwÏwÈx[yƒz7z{1{|{»||V|H|%|¾~Q}{k{#|J|¢z÷yÜzysyý{I{Æ|l{ìzhz¯|Õ~bØ‚•…⇮‡ñ†4…[…‰…?†œ†Ä†o††`‡ú‡Ò‡øˆ‡k‡•ˆTˆ…ˆ,ˆWˆ ‡d‡†|†*…å…£…Z„·„m„*ƒàƒ­ƒÅƒÒƒ¤ƒgƒZƒ(‚޳€gn~X}~|Ü}}v}ñ}„}3}Ø~(~§!“€,€ã€y€Ý€ ~\ ˆ8Œ”á—[“±” –&–¿“Â·Ž¾ŽpŒí¬ŒÁ‹ìŠuˆ±ˆE‡'†…Z„U‚—€¿~}Ö}}U}(~È€/ùz€I€¾€€ÐÅ€~w~±~T~v~÷~Q~ºwÕ‚=}M€r{€¼ƒƒ„͆#‡}‰ ˆF‡tˆ=ˆ³ˆ>ˆˆÓ‰ûІŠÃŠLŠœ‹Š$‰÷‰òŠPŠšŠ´ŠLŠ‰Ã‰ÜŠ ‰»‰…ˆûˆ”ˆ5‡ã‡w‡†¼††Â†ò‡‡‡Q‡x‡Æˆ*ˆ­‰ˆìˆÍˆÉ‰(‰|‰1ˆtˆéˆI‡Ýˆá‰dˆ†g†4…|„±ƒÍ€í䳤@~t}Ì} |u{ózˆyúz5zÁ{2zÒz¯zïzŠzWzszªzëzÃzyby_yyyKy'yy%ylyÁyùzzzRzË{8{Ø||ü}¹~=œ€%‚}„…\…®†\ˆP‰ÐŠMŠœ‹aŒ'‹äŒŒÝÐŽ¦ŽâŽÜå‹zF"‹Ú‹3‹PŒxdŒ÷ŒÔŒzŒ:ŒÒŒh‹kŠÂ‰×ŠQ‰´ˆÌˆk†-„ý„!ƒJƒzƒû„«„߄߄ò„΄.„!„l„„@ƒ÷ƒà„/„T„«„¬„–„ƒäƒƒŠƒ&ƒ$ƒ`ƒáƒ£€›é€Õ(NV¬‚‚q‚œ‚Þƒ}„R…W†„†ä†¼†q†ˆ!‰ Š^‹gŒcXŽ ¼SŒÈ‹ì‹‹‹r‹Ž‹aŠåŠÖŠ¢Š,‰±‰B‰<‰ˆ¥ˆ.‡Ô‡ö‡ñ‡¾‡j‡‹‡™‡å‡à†Ð†v†_„Ń‚Û©€\€ ÈO~a}¥|˜{Ó{ zEzyÒy‘yBy&xÑxqxyx›xbx*wÉw~ww€ww–wàx xyŽz™{„|!{û|V~Cã{}d|ö}¥~‘{瀃%aqPŸ‚Y‚c‚“‚µ‚ₘîA €©€{±É›žV6/€ß€™€Ø€’€ƒ€¾€¾l¯º€µ€ñ/V‚f…Yˆ$‡ˆ‹µŽyŽvŽWŽGŽÌú‘œ Ž«ŽÜŒŠÓ‰N‰‹$‹Ë‹º‹dвŠ?‰å‰©‰n‰n‰\‰g‰~‰†‰ˆ¿ˆzˆ9ˆˆˆˆßˆÈˆ‡‡a‡Œ‡ž‡‡™‡`‡7†ë†Ÿ††T…ä…‘…™…ƒ…z…ˆ3†¥†n„󃼃]ƒ¢ƒŸ‚¯‚$Ñ–€š’‘XMR%~ß~¬~¥~ˆ~J}Ü}ž}r}m}W}¹}Å}R}B}J}(}0}â~i€(‚?‚þ‚Vðè‚Cä~Á~~“€§%€ó€å€Ó€€®Y‚2‚Œ‚§ƒƒ“ƒø„o„µ„±„Ž„]ƒÍƒOƒCƒ¬„ „J„N„„q…,…˜…W„á„Mƒ¹ƒ<‚£‚WâU€Û€»€õ€à€6~ÿ}Ý}|®|Ü|¿{µzzyCxÛxÃyµz÷zžzyMx˜x^wxwwSx yy¦zzŒ{{_{œ{Ê{B{…|1}9{Üzz}z”{Ž{,yUxûz{ˆ{þ{‘{Ózøz‚|2}Y~Ù€fƒ;†¤‡t†Ô…ž…<…$„ú…Ô…ã…í…ô…쇇"‡‡ˆ ‡<‡SˆQˆxˆCˆoˆ%‡††ã†©†)†…è…‹…„°„f„ƒòƒÈƒñƒ¿ƒYƒƒM‚:î~A}7|—|Ï}†}|¢}F}Ü}Ž}ò~,Þû€Š€z€¡€6€†r‰ «™Â•ê–y•ñ•±–N“™ŽŽÔޝŒï$ŒÖŠõˆW‡ † …+ƒÎ‚ú‚@€Û~Õ~B}Ö}è~2u€$ }Š}¡~¦³å~üûK€•U~ë~¡~A~~nœ€¦¾€"ª~_~©€»‚Ë„O…^‡~‡\†Ä‡ˆ,‡À‡‡Tˆê‰ÿŠœŠŒŠBŠîŠz‰û‰f‰½ŠIŠF‰ý‰}‰H‰*‰l‰H‰ˆ¯ˆ ‡Æ‡_†Æ†…˜…»†0†‰†Ú†ð†é†Þ‡ ‡\‡Èˆ?ˆqˆƒˆˆ¦ˆ‡Œ‡%‡‡›‡ ‡m‡™†á†Š…Æ„vƒ°‚‡w€`‚ ~õ~™}Ù|î|{Gzìz.z z€zÀzvzz zzzzz-yæyJx®xLxWxNxwúwÛx=x{xÐyyySy‡zzÇ{–||‚}—~~&~<~‰<€;U‚½„N„s„+…J‡f‰„бŠìŠAŠ ŠŽ‹-ŒìŽŽŽŽwOŒêŒàŒ`‹Ó‹‹y‹’‹¾‹uŠÄŠÉ‹a‹Š=‰3ˆ»‰aˆzˆN‡{„ë„‚«Ÿ6‚Zƒ.‚ñƒ ƒƒƒ‚¹‚2‚8‚3‚$‚K‚U‚a‚Añ'€€€‚™‚‚nƒƒ‘‚ÄOþ€h€x€…€ìmÜó‚‚¥ƒ§„Ù…V„¯„Ï…x†‡ˆá‰šŠR‹8Œa²Œe‹‹F‹Q‹?ŠùŠƒŠ˜Š)‰«‰Kˆ¯ˆZˆ.ˆ,‡å‡“‡u‡c‡9‡ †ú†ä‡|‡x†„…÷…?„ð€jÍ~ú~Ë~h}µ}!|¡{í{ezÊzyÈy_y xŸx!wœw]wÇwøwžw‚wSv÷vßvÆvºvbv`vˆvÌw{xjy%yÿz®ztzŸ|~g~¹}M|g|¬}µ~… Ï€c€¸€¡€ÄÑ‚㸞f€h€&€H€ˆDðË)€ñ">.€ü€¢€’€U€Ç€õ"#Ç~Ô~³&€áÁ‚1炽‚à‚儺†¦‹#‹#‰œŠX‹­Ž©Œ¾Šg‹êó2+‰ú‰°‹)‹‰‹_ŠêŠH‰Ê‰ ˆªˆjˆ7‡ü‡§‡e‡1†ú†é†à‡N‡Ãˆˆ/ˆˆ‡ù‡¯‡‡‡‡#‡-†¾†g† †…Þ…º…g…&…„å„Ï„ø…r…ò†•†d†M…0ƒuƒÀƒ&ä €|€*E~ê~“~6}Ù}˜}u}K}I}^}}-}}}>}H}G}Œ}Ì}®}W}D}} |ž|è}ÓÂÞ‚]Ü‚¾b~ã~E}ªU€&óú€C€[€(Á€€ÝI„‚%‚®‚ñƒbƒß„;„j„Rƒãƒ]‚ý‚ׂ±ƒƒÂƒÂƒrƒ´„g„„%ƒ´ƒ ‚§‚Í¢€€,€M€„áb}|d|9|/{”zªyGxŠxƒyyÒy®yEx wžwv‘vÍw@xxÎy7y|zzÂzøzôzþzAz©{Ü|Vz¦xüy®zGz’z_yšxƒyzr{c{¿{Ï{•|h}â~KÆ‚!…†…ß…®„ƒƒôƒÝ„°…™……H…ß…¿†ñ†¾†ö‡æ‡ ‡,ˆˆ:ˆkˆtˆ‡‚†ð†È†C†V†……I„ö„À„g„e„„'ƒÀƒ¼„ƒ8ö€òÀ~à}ô|æ|y|S}}|¤|Ø}!}±}‘}W~+ô€©ö€€aŠ–Ž9¤–ˆ“—º–X”o”à” ‘bŽBµyŽ€ŒÚŠ—‰Š‡±†‚†ÿ…X‚ÙÌ~»D'€€\~“|p}}ë~Ì~™}ðô€»€¸€qÙ`ÃO~~×uV€ä~Ï~P}Y} ~O€x‚'ƒÎ†{†´†C†Ã‡R†k…¸†‡²‰­Š1ŠzŠOдоŠt‰–‰N‰Ó‰ú‰ñ‰<ˆöˆÓˆ¿ˆÂˆl‡Ú‡q‡†Q…¬…„Ê……Q…£…÷†_†¦†¡†¥†Ç‡*‡™ˆ ˆ‡ðˆ‡<†Ð†Ì†Î†Õ†i†U†„†m†„¢ƒ|‚™½€EX~r~$}x|Ç|{ zczyðzSzz=yäyayxêxÿyMy­yLx½x$wtwˆwjwvÃvÔwwhw®wîxx@x£xÿyÎz–{4{~{ ||¤|ø}b~%€5Ì‚€‚áƒPƒCƒT…_ˆÖŠˆâˆ‰!‰mŠRŒ]°ŽŽQŒßŒG‹Æ‹…‹FŠà‹S‹±Še‰ÒŠ#‰ëЉ/‡Ý‡ü‡¹‡€‡é†„2ƒcz€0€ÒÙ€€€A€M€…€Üd]€z€/€7€I€k€Bå6~A}¸~ê€ö‚Tƒ!¯Ç~É~çTvñ€z€Þ€ê?àƒ=ƒÏƒžƒn„#„ä…œ‡3ˆš‰8‰¶Šœ‹ŒçnŒs‹J‹Q‹|‹ ŠÏŠGЉ°‰ ˆ­ˆ+‡›‡•‡¤‡w‡J†î†Ê†›†œ†…††²†Ý…à…„쀶o~²}é}_|À|G|{Vzºz5yÆyNxÖxWwíwIv½vOv;vŒvËv­v{vuvGvRvBv)uûuçuuMu¥vHw.w¡xSx÷y yzi|ö~‡}Ã|8{ñ|¼}}~ÁyØ €P§¶:€¢€h€0€8€f€þ‚¦€Á€•€…€€~€æt§c{€Æ€…€6€N€*€€~,}4}0}Ó™_‚Áþ€€h‚¯„.ˆ7ˆ<‡<ˆÔŠß9‹,‰Fˆ¨ŠžŽO Š|Š/Šï‹ŠÐŠ5‰Ž‰ˆoˆ‡«‡S†¾†T…ï…²…w…B……8…†ۇÈ‡ß‡Š‡q‡P‡†ª†²†W…ÿ…˜…"…=…3…Y…„Ä­„I„ „+„“… …«…ù†ª…Þƒj‚µøˆ€4£D~¿~F}Ò}F||||{Ð{Ù|||¹|Û|·|Å}6}t}`}E}*|è|æ|™|±|ä|î|u|}ÖBËá€æ€E~é~%}Ü~… n‹{—§˜¤€ €Ä4UÞ‚g‚…‚ºƒ6ƒ½ƒñƒÔƒj‚Ö‚y‚ Ù‚tƒ!ƒ$‚Þƒƒ/‚÷‚Ä‚`‚ £A€ù€rå`7[~ì¨~c|‚{‡{LzÐz?y]x„x'xTxÝx¹x3wlvôvuöv”wwäxOx±xïyºz8zezHyøyºz{?{¥yÜxyy{{Ozçy”zy3x7x¡z{f|p}}…~z~ÚR8„8„̄‚»‚M‚—ƒ¨… „¹„ô…Î…5†q†È†â‡p†ã‡@‡¤ˆˆ*ˆTˆ‡p‡ †¬†k†>…÷…²…+…„û„Š„W„/„ƒð„jƒˆ¡€É€II~Q}s|×|.{Ú| |Z|3||Ó}s|ë|î}~F{ÃÓ€:ãŠÆ’èŽF—ƒ›t–;–“õ”M“‘’«¡Ïš@ŒjŒï‰xˆœˆ.‡‡n†rƒ9€c~…}}´~â~ô~¨ÂB}{m||}\}×}{`í€5€L€Iû€+€7~™~~ß~Ö~~+~}æ}W|è|+|`}õ¸Ž„…X…±……e„z„d„Ã…äˆÕ‰òŠdŠqŠiŠžŠs‰€ˆ‡‰ ‰v‰‰0ˆˆ^ˆ5‡À‡k‡†»†+…Š…„\ƒØƒÆ„5„Ø……f…Æ…ú†%†[†¸‡‡r‡o‡†Û†N…ò†|†††…»…È…­…9„rƒC‚¨È€è€q·~È}Ë}8|N{Û{gz˜zFzypy·yÕyˆyxƒx&wáx,x®x w­wLv°v‘vXuÍu®u¸v;vlv§w wWwµxx»y¥zdzzfzzË{¸|˜}Ž~‰Œ€€R€¸¥¯À‚[„ ‡[ˆ†£‡‡Š‡tŠ)9Ž6hŒŒžŒT‹[ŠÖŠMŠ?Šš‹bж‰?‰Z‰'‰Rˆ2†×†ò…½†Ü‡C„õƒxº€—E~È~í7~Ö~~f]€“€ƒ_~Ó~R~~}á}‹}J|Ã|i|Ò~1~¨G.t€½~Þ}Ô~-~[1œ€$€)€U€]€ù‚{‚‡‚w‚Öƒp„6…™‡‹ˆÈˆø‰‹Šs‹ŒÎŒØŒÁ‹¶ŠÜŠþŠ‚Š)‰Ô‰—‰,ˆt‡Ì‡`‡‡T‡@†á†‡†A†8†)†…›…À†„Á„"ƒq€¶n~}¦|ª{¼{Y{zÂzyoxöxow×wQvÛvPuÍuouu u@uuuZuqu7uu u'u%ufut¦t‚tmu%u¼v"vÖw®xxUyÙ|8}|l{ˆ{G{6|G}]~–~öò€fðç€O€g€l€ù€û€Ú€ã€Œ€‘€ù`Œ‚àÚ] €P£@#~×~Œ~(}|ˆ{¶||»~«lƒh\%€°‚Í‚îƒÈ…¡†a‡ô‰ž‰ÔˆE‡w‡:‰ó‹nЉÁŠŠTŠQ‰ò‰ˆf‡Ô‡›‡†¶†$…®…„¹„d„ ƒÅƒˆƒ½„ˆ…ô‡ ‡`‡†º†á†â†›†)…Ì…d„É„†„j„Ú„Õ„¤„5ƒ·ƒuƒsƒÏ„9„ç„󄺅Ń섒ƒm,¿1~¾~•}Ç}/|–{Ó{«{U{W{Ì{ô||@|j|}|µ|÷}|º|{¿{à{õ{ô||À|k|s}3}H~w€ô/}€}¡~~´68B+& -û€„€"ñ‚|‚v‚h‚׃2ƒ@‚î‚wÅ ì‚x‚Wë d€w€¬0~¡~}‘}‚~~ˆ|ú{¡zÁzyÞy+x˜x wûxWw¸wBv›uÈu¦vhv³wƒw³wxxíy”y“yjyxîy(z‹{x£x z{÷zÕy–zvzÆz»ztz£{Ë}–~B~›~~2~mt€j€ü€O€›‚*÷‚r……„å…„憢†¬‡†ë†ö†Û‡z‡Õˆ‡ä‡7‡†o†O…Ã…‰…5„ü…„Ò„Œ„€„jƒý„%‚¦€GÞ†~…}Q|¡|3{|{©{É|*{¹|8|d|Ó|s|›~£Ü´‰ìŠÍ–UZ˜ —£”ê“'‘mÑŽº‹ŽI挄‹×†ý‡C‡€…m„•„>D=}u}7~w ~7~y|úzózRzhzÛ{Ò|Õ}h~Âç€A€€3€*€*~Ÿ~¶~±~-~'}Š|’|t{Ð{M|}À €ìƒ1„j„ß„¹ƒÐ„„M…õˆâ‰i‰ß‰ÿŠ"‰ñ‰iˆ¯ˆlˆþ‰ ‰=ˆ‡µ‡~†ø†œ†€†…P„÷„6ƒ9ƒƒ}ƒô„4„­……3…p… ††Ä‡†á†Q…Ê…h…>† …û…K…#„ÿ„Œƒ°‚´ÃB€Ê€N¡~Ã}”|¿|4{ŒzÝzbzy½xÚxÇxáxÅxOx:w¢vÚwÆw—vãvÞv?uuužuFt®t¥t÷upu‰uÓvGvÌwBw¡xeyywyPy yz+{||æ}Š~r~ˆ~Ž~\~VMÏ€K>‚ƒc„¹„DŽ˅φB‡9ІŽŠ›Šk‹6ŠÂ‰ä‰qŠŠEЏТ‰C‰n‰‡ü†À…Š…„Ö†¸†c„,‚’€Ä€0 ~~~-~Á}å}…}>}à~w~~X}?|9|D|N|X|8|M{Ô{m{‰{•|^}ò·€±€Ó~F|¶}$}‹~ƒˆ[x{€|¼šÌ‚‚ȃå…_‡Zˆß‰‰jŠ‹ Œ5ŒbŒ(‹bгŠ`‰÷‰Ž‰6ˆûˆG‡œ‡†Ä†™†¥†…†4…Ó…–…„…±…e„Ç…„ƒZ‚™ÀÃ~¸}¥|d{izÎz‹yÑxòxLwðwÀw4v•vukut·t˜tVtst¯t°twtRt(tsãttMtYt\tKt)sÍs†s²sÜtGu v/w(waxnza{Õ{mzÆzzo{s|š}Þ~u~«~þ~É~XA€u€ÒH±€ò€¼_7€Ùy?3€Ÿ€:ä~#}Ÿ}}Z}W|Ó|{õ{+z‹zú{à|’~,€„ž~…€,s‚°ƒ·„¤…h…ц…À…´†=‡ˆWˆ‰N‰ ‰±‰Ì‰‰ˆ:‡®‡(†ù†ž†…G„…ƒºƒF‚·‚“‚r‚ “Ûƒ‘„ÿ…û†’†p†O††Š† …³…„œ„ƒü„R„”…0„h„ƒ´ƒ1ƒIƒyƒƒëƒJ„¤„•ƒw…w‚ÝÆ>~å~ˆ~C~-~V}¦|{$z„zUzzz\zezVzYz=z›{a{¸{r{zÇzÕ{{v{ð|\|[|‹|ñ|æ~^g\~u}9}B}„~0~Ó~þ~ù~ï~öˆ€€5€žˆ‚‚Ùè‚%‚7‚ª€Ãû€3€ýZ€è€£€h€êµ0Ki~}è}?|¯}”}Ù|s{sz\y)xÒx/x6wÖwx(wyÎy|y9xOxBwûwÄwww“wmwwÛvívNvut%t8sàs£s»t`t¾tæu†¿††¥†G…Ý…„aƒ€‚ÇùM€€$€&€“€¤€t€€i…‚Pƒ=„6„ü…c…¦…F…C„ï„„d„ƒžƒÅ„Œ„ü„¿„ß„ƒâ‚¸‚ƒ… †—‚L€œ€ ~t~$~/~V~ |ÎzõyÚy?x¯wøwtwfwÚxXz{|v|ç}|õ|P{P{ {z{\{*z²zcz¡{6{X| |z}NÏ€±~º}}<}V}Ó~À~Ñ~–~p~W~ x`‘€€j€É€ï€³€o€l€‚€p€Qþ'~8}þ~oQÜá˜l5~ ~~Ñ~Ú~¦~a}ï}½}>|2|>{XykwõxkynxFwEvÁvÄvšvVuCt4t”uHu•v8vÅuõv(vévävAv³vâvâwSx=yXw¿wWyzª{N{¯{•{ž|2|{€{+{e{É|F}*~~g~2~~¸€ €—€œ€e~ê#€M‚„„M„Þ……P…â…ä†*…ð†.†x†…£…š…?…5„Û„K„L„¤„Þ„$„ƒsƒ5‚l€™vR?k~¯}ò|í|Y{Í{.{{@{c{ú|-|B|ª}9}~}÷~R}ÔÕý’vœ\’”“ËŽÀ‘cŽT‹2‹‹À‰¸‡Ä„ñƒò„ „l„Q„ƒ1‚Äî|‘z–yžx¥wwwbw”x³yPyåzI{Z|&{è{î{Ÿ{á{ƒ{­{þ|¹}}Ö~]~í~g}»}|¨{¤z{yœy«{8|¯~³ƒÙƒ{‚·‚Ú„¬†ß‡F‡]‡Úˆˆˆ|ˆ;ˆ;ˆˆHˆŠˆ\‡‘†ˆ…ç…„pƒéƒU‚žót?HÝ‚Š‚Ä‚ò‚û‚éƒ ƒ„l…1… „ƒ“ƒþ„ „C„_ƒÑƒ˜ƒR‚6€€€B€×O~í~\}X|R{‹zÀyÄyxuxwšwvövSvv¢v¶vŽvþv¤uësýqÂq‘qórrr¸rÖsFs€sÑt ttætõu{||_|_|L|Ñ}ó~ € €ï€p€E’„…š†­‡Ãˆ"ˆpˆÓ‰«Š;Љwˆ¬ˆ‡‡Ý†Ò†Z†j†…e…„¹„ª„z„W„ƒÆƒ€ƒ]ƒ ‚©‚‹‚r†€¢Ý~–}Ÿ|N{2z#xòxwvut1s‚sr±r;qÚqfqBq¤qÏqòqÞqÜqÇq¬qq}]|ç}Y~^-nC ~­~`~£~£~i~P~}Û}{szÉy©xÿyy)ylw¤vÀvnvívív uJs¨sÐtœu u°v"u”u-u¢uêupuuüv0v±w%wåwðwXwšy5z}{R{Œ{»|A|Ó}E}3}p~L~ý•ÄpJ~¬}µ}f}§~ €c#~}ò‚¯ƒÓ„r„ß„è…L…X………q…±…ÿ…›…H…6„ì„õ„E„„„P„…„Tƒóƒoƒ'‚×€ð€™€H€ñU~}B|–|o|||{Ö{´|t| }f|ç~g}3~×Ó*”(›‘“Œv’Ž’’’Ž©‹ûŠöŠ ‡å‡5…=ƒ¼ƒœƒ:ƒJ‚ù‚¼Å~©{èzDy’x)w|vnvÚwÿxÕyy»yéz{FzÓ{!z¼zèyèyDz%zÌz:{|h}—}Ÿ|®|{á{,z2yVxñz{}?v‚m‚3™Íƒú‡'†ý‡‡#‡<ˆ$ˆ‡…‡¤‡›‡¥‡±‡&†o†0…‘„hƒu‚Ó‚bÎ]€à€V€L€ÐvØ‚-‚Z‚W‚Ž‚üƒ¿„ƒ‡‚Ë‚¯ƒƒ9ƒLƒ,ƒ‚Ò‚AX€^€€ßH~p}ü}†|ê|{‚zæyÓxîx=wÑw5w%vªvBuývluýu¹vUuÖtßrÄp¡p}qerjr¡rUr‚rºrûsUs†sÌsËs‰s/r°rïs¼t£tÓu'uÑv"v¨vówžxx1yCy¬y0x1y)z’xÆy{|W}N|ö} ~¼ÍƒO„¹†}…Þ…D†L‡K‡?†-…n„¡…%…™ƒö‚Ø‚€É–‚š‚€l~|å|ò}u}&|{z²z\z/xUv¯wPyzúzÍzˆzx*vèvÎww}wˆwwx:y8yÚzyÍy_y!xÿyPyìz¸zý{3{i|L}@}PK€YЗ€çƒþ…p†?‡„ˆ ˆˆj‰‰7ˆòˆJ‡Ñ‡Õ‡&…Ñ…[…™…„£„#ƒ¬ƒŽƒNƒlƒKƒ‚¾‚YÅ4€ë€b˜~p}”} {|zxèxw>vCu-ts+r}qúq€q pqpoîpp8p„p©pÚp»p¨pfp9p9oÞoâo oõpop¶qˆqÀqŽqKpéq­rWr:qìqdpÑqrs(ttëvw/xxÕy˜z zGz³{ö|Ò}Z}É~}÷}€|ä}}|è|«|#|T{p{N{:zÙ{ z…yxúxéx|xx1wöw¬wšxÁzzÏzø{4{£|}'}Ì¥ƒ"ƒGƒƒ‚{€ß€åT‚úƒCƒ¼„î…‹…¸…À…Q„Ê„ƒ9‚þ’€ñ€™ü“~æ~Ó~¯~×~õ(ƒõ€ª_‚nƒ4„„ˆ„È„S„ƒ‚°‚Š‚Šƒ‚J…I†3„D‚t€(Å‚é€Ñ€à|~~(}}R|zx÷x w vÏwwãxï{|·|Ù|a|{Â{S{{f|Š}¢}ñ}Q|>{|zåz7y®z%{†{ø||ã~×J}´|©|x|Å|é|ð|Ì}}•~~J~²~ê~ß ~µ~2}ý~A~»  ~õ~î~á~Ü~i}ƒ|…|X|é}­~¨~õ~í~¼~J~K~L~C~~}Ç}{£z¬yšxewðxxõwËvºvFv÷w1v,u[ss ttXtóu’u8t‡tŠttt“tâuVvv\v£w?w"ww¿xÉz{.{²{}{Í|Q|V|W|š}+}ª}F}1}º}¶}\|W{û} ~ô~Š}Ÿ|e{ëMŽ‚zƒ±„µ„Ö„–„¡……e…p…'„þ„ì„„„ƒã„„[„„ƒ—ƒƒ]‚k‚65€ö€r€¥×šN~ó~p}–}H|ò}3|É|§||;|0}Å|Ý}|{Œ~s€â€é“¾“’>•“M’’‚ÇyÍ‹/‡ñ…½ƒÿƒêƒ-‚Y´€‡}þzäyØx¿x[wvyuàw x.x©y*y=y–yîz$yùzrzAzÇzQy:y/zyÈyhyƒzØ{¯{\{m{:zÕyÇxÅxGxéz{{Å}T€¯€Ó‚®‡†¸†,‡†úˆ‡Ë‡‡N‡6†È†{†…¦……„½ƒ‚‚‚î¤E÷ -¨€<€½!Žû‚8‚c‚Ê‚²‚ëõ‚3‚Y‚:‚‚¼&€k¤´¡D~¥}‘|€{ç{ö{‰{z’y»xíxYw”vÄvjvvu¥u²u˜u4u‹u0s¥qGo”oÉqJr)r qÆqªrrÛscrúr“rt¤uDu{ô}B}½{ÞzP{Ò~x€;L‚׃é„Gƒ÷„h„Ï„à„¶„š„­„p„Bƒðƒ©ƒ©„8ƒêƒüƒ^ƒxƒcƒ‚~¼Œ€|€ ~¦~Å~¸~¹~@}i~}}o|E|Ì|A}¡|Ž} {j~[õ’ì”t‘Ô“æ’sZŽÓ,Á“ –”•‹„ׄ^ƒ×‚›¸€Ä€ }¥z÷xïxÂw§wGvuöuøw‘xwÖx§x»xåxÂy ykzzZzî{Jzéy¥ySyÛy™x¯xÉyyyßz zjy‡x^x x$yEz„{Z~<€v€j€€Ê„»†E…†† †ò‡Á‡ †¥†à†Ú†~…â…°…[„Šƒs‚bfb{³xË~Ÿ~R~~ €v„Øø¥\‘lY@€é€†ùj2~í~[}Ä|æ{ zŽz¶zªzHzy‚xœxBw„vÍuîtãutèt¾tïtts5qro¾oo÷p¦qpúpùq&rss?r{q–pºo™o2op†qœrqÚr3rËrös^sÚt tOu`uûtps[sñt¦v wvîx¨{°|.{‡zçzszþ{z}¹ ƒ¸„¯„ ƒ¸…†=…"„i‚²l‚Œ‚’Ñ~üÅ€5B}‰{ây÷xÊwêwðxuxóy®xæw tzr!q–tuætÍsÐrãr‡r>rrs s‘t%tïv"www³wfwlwx6xyxæy5y¶zž{½{B}L~P~€~K%„6…Û†?‡x‡h‡\‡†•†ù‡ˆ†X††?…Ù…„M„j„ƒQ‚S›`œ­–S€mp~–~~¯~Ë~2}n|…{¹z…yxÆw·v—u«t³s¼rârqRp¾poTnžnmxmvmmín=nyn§nfn{nÈn÷oonñnÄnÛo9o—pMpspApoþpp¯q-q7q=p¸oïoaoyp“qÁrhs’uHvÏw~wÉx*x3yz€{e{¨{Â{’z÷{x{IzšzÍzç{4{Cz–y‡yx÷y%y&x°x‘xwÐwÌvßvvPv÷wxŠy(yhyýz±{ {À|š}K€Y„@…2€Ù}®|Ž|—ø€½}‚òƒfƒH‚ì‚ô‚–‚Yå—c€í€kóo ~é~á~©~3}€}$}}G}‘}ê~~d~àd±€S‚a„9„¾‚ã €N€¾€gƒo†‡ˆ9ï€tƒIT€‹þ~}æ}$|‡zÛx›w¾v´vkv“vôw±y{=zÖyfyNyêz;yxøySyâzbzšzŠ{%{é{Ã{ z`yízu{7{[{c|á~d|[zËzöz„z;z(z‰{'{®{ê{í{ã|#|X|‚|á|ë|Ô|„|{á||Ê}~}¿}´}y}p}w|Ê{æ{å{‡{~|±}§~}Ý} }U}3}}|ª|+{´z÷yÂx#v…uçxbxîváv&vu”uTt°rzq“r s1s®t6tÎt3sãsjs rðræs3sïtt¬uuuu‡uËvUv¹w¥xÖyÔzAz¢{ z›z&yöyñz/z#yàyÄyôz yçyuyTz©|£|Kz|y}{}¤€7‡ƒƒbƒÞ„]„w„a„Y„B„;„ƒèƒÒƒƒêƒ¯ƒ{‚؃ƒ+ƒR‚ã‚f±€‡€}v}’}¦~Ñ~;~~"}˜}õ}¿}s|A}Q|}Ñ|ë|ézj|É}¯{Bð•J’º‘}’g’t‘œß’‘Í•“`ŠLƒ‚ɪ€ê~Ý}ø{†zx;whvävîvXuÊvPwCwïwQwwbw™w‚xsx¶yHyázAz£zùzüzz>yáyx§x2wx/xØyˆy¯x½wþwÕxLyPy²{‰€6Ðm)„J…p…†Õ‡¾†²†E†p†S…ë…s…"„‚ÛÄ€ö€j€ÿyH€r~™}–}G}Y}Â~~z4Ö€?€Ì€ã€®€—€±€~€<€4€O€´x~º~™~„~}o|Ó{ázpxûy.y¯yOy&xõx4wówvWuasºs¡t8tsÑs¹rÔq–p€oWoÈp‚oîo±oìppÑqértrÜr„póoxn\m¼mÉnÄp,ppoÐpphpÜqÉrTrss‡r\rcrÇs+t^u!u–výxãyÆzUzFyDy3yazs}­Žƒ‚Ú‚ðƒŸ…„價‚ÙŒ€Ý€S}w|ý}n}’}:|!z’xæwovIvqw2wßx—w¬u'rMpoLpór.qfp¢p&oào–o¢pp·qLqÔr–sÙuCv8v&uÀuÊvCwSwÀxwçxLxÄyØzëyÝ{»|ò}B}-}ȃ±†N†t‡w†¹†8†…ä†l†’……`…3„Ô„”„„ƒ¸‚Åž €Ï€¹€ß€õ€I9~=}—}“}˜}é}P|~{Œzyµx†xw)uëtët*s`r’qØqpRo¡on6mªm=lôl÷m9mœmõnn n'n\nÏo&onønÐnßo3oTo¢oÃp*po°oïp?p˜p¤pÈp³pAo|n²nªo¨pŒqer¼t”vkvðww(wgxœz zµz¶z­zÖ{z$y§y’y|yâzWz>y%xPwËx_xÎw(vSvluãu©u’uðv°wwFwÔxgx»yyoyýz‚{}ª€„B†Ú {Ùzš|2C~}ó~å+M‡€L€ådc€‘€…9~¼~‡~}~œ~Š}Î|þ|o|i|‰|è}0}]}ß~<~]~ÂÌ‚"‚Ø€S1v~þ~s€å„Y‰H‰&f6ß瀇Æ~¦}õ|í{Uy½xvôv—v§w)w¾xy zÉxõxxÁyxy˜y’z6z½{{3zÛ{;{•zOxÎxzÒ{R{À|||{ë{{s{{{¨{é||{ú| |d|±|ò|â|³|×|Æ|{£{;zÙ{v|C}}_}a}7|þ|Ô|•|O{õ{±{;y×wóvqvMx‰y"w>uóu‹tát»tzrYpæp÷rdsDsdsásás²rûrdrYr@r4r°s`sªsÕttÚt¸uFvv¢wx'yyzyÚz%zy˜yayGyCy)x˜wéxDx¡xœxWxyÉ{†{yWxÒz| ~½Ä‚”‚öƒ‚ƒü„„G„!ƒàƒÂƒËƒÄƒGƒiƒ0ƒ‚ž‚Í‚îƒ(‚Ø‚fv€Ûð}‘|·|V}h}¤~ }P}£}W}}|V}b|µ~ˆ|”|ïzœ}Ò}{ ð‘i"{ö’k“ž“ö“»”o’ד݇߂ôdU~%~…}-}{¸z~xnw°vÿvavuâvÍvôw(vËvRv›vªv¡wwîxñyRyRybxúy‚zz7z/y¹yxv™vÐw©x.y#y:xzwþw¼xx‘y'| ~¹<~ó €Ôƒr…Q††³†œ…ù…W…„î„›ƒ¶‚ G€Ò€e€.€$€›€/~|Ó{ò{—||‘}}Î~„~Í7Srb*;>&~Ë~—~V~O~}•|º|_|L{6y¿xKx"yxÖxixÕxÊxvþu»tÀs6r´ssWr÷r¯qépŸponúo½nùnboo˜peqZqSq_qªp‹om¾l:kËlºmøn;m}lîl÷m†njo¥p´q.q¬q‹q]r@ssšt tt·uuuüv¸wÙxÑx ww`xXzv~ÿ‚‚ ‚^‚¿ƒ©„Sƒ‚ Qý~e}=|`{Œ{°|{î{+yüxcvÚvvvmv›v¢uÀs)p‘nqm†nDn•nmÀmïnmÍm¦m¶nYoppìqûsCtHt•tqtat©u¡vfv×vÆwBwÖy yÔxGyî{›{©||/ʇe‡D†€†K…t……U… „œ„ „©„D„+„ƒgƒ4‚ä‚"€Ž€,€€ ß/~>}K|È|³|Á} |ƒ{¿z›y™yCx3w›väu†tus°srxqÐpýp1opnÉn3mÀmdm>mUmQm}mØm¯mÃmîn)n nánînÉnÃnónüoo8o8oøoýokoDo_oÁoþp=poùo¬o5nTnn²oUpqÈsêuév²vœvHv™wòynyðz/z‚zay¸y`yxïxïy5y£xûwëw+w•w›ut³uBtßt„tÐu–uõv7vôw1wxwãx:xQxÚyÆzl}ª‚Ó†‚Àzôxdy9{—~3}|+{Æ|6|{|0|¿}‚~mÈñ€òŒB~»~r~6~R~w~*}@|7||{û|0|w|Ð}}h}q}}Å}ƒ|Ð~>~Ì~}£f„lŠÌˆ€‘€¨€Œ€q€T»~;|]y x wvxv³w3wÑw¨xyqxéwew:wêyy…zu{–{–{À{Èz÷z‰z,y.yyFy xåyyWy%xâxkxQxÊy:y5y=yqy¼yöz'z°{K{¿{ó|| |{¦zñzbz;zwzæ{k{±{ö|3|j|m|R|9|3| {Ó{mzÁzÀ{{³|p|Í|Ø|Æ|—|_{ö{—{¸{hyòx/vÓv¤xxŒw6u‡u tæt|trdp”oÞqr¡r³râs€sˆrærIqØq¿q¿q¼rr›rÄswt9t4t t’uvvcwvxmx’xÍxàxªx.wÐwÐwDwv¾vžw wTw€ww5xßzsy«xw‘x¥z{|Î}Ž‚e‚ƒvƒÃƒæƒõƒ¾ƒjƒdƒƒ:ƒ/‚‰‚E‚[‚‚ì‚¢‚-\€ªè~|±{ä{ë|Q}g|Ý}|Ô|î|p|,}|è}ž||³y~¦~^}È’ ’úŽÄv‘8’¨’V’É•[“²ÍŒ†Ÿ‚Èï€ }¤}t|±|è|˜|y;w…vÛv7v[vqvãvÚvŽvv>vNv8v8v°wgxaxœx¬xˆwÀwÓxIx¤xúy†yYxww'vvúwrx!xÍx¬wöwtwwŸwþy)|=~~,~áÜ$ƒN„¾…)…„•ƒÙƒ«ƒª‚áǀʀ…€,¼€~äêl~|ë{™z•z*z•{\{è|||ü}¨~'~p~~~²~¡~Z~>~@~}Ä}`}^}L|º{é{{’zÏy‘x8w]xxsx^xÓx£w—v]v tîrÕqÜqÿrmrqqµpÃoóoŒnénPnrmÏlÛm…não´p‰p£o´o€o¢oLmÀjáiÍjækÉkÞk"j†j·kvl“mÞooÏpnûn7o=pqÀr¿s-sJs^sysØt¼uûv}uubv¡x#{ è€Ä‘‚¡ƒ3‚±Z€3}{ö{Mz¾z¢zuzrzy0xv˜u¼uuMuu}}}Ô}j~ç€ç‚®…¯†ü‚ó÷€€¶‚$qïL}+z¯xVwKv‚vVvÅwBwHvv¿xVhŒï‘‘e’Ó’”õЇ¬…šþ»~—}+}|§|Œ|P{žx…v¼vçvšv€v²vªvcvuu´u©u¼u¤uów wºxxwrvÛww3vävÆw¡wÂwbw^wvÙw$wowûxiw°w&vœv‹w/wvy&|}v}Ô~èÖ€Ùû‚o‚_‚u‚s‚@‚%k€²€#–"~³~}/}=}³}ˆ}|?{>z{yÆy‹y»yûzŽzþ{ƒ|5||¶|÷}:}X}`}[}P} |Ë|^{ú{Þ{z{9zïzÂzxy†xwpw4wÑx„xîxGw v;v u4rxqqq¤q%oñoJolnÑnmŸm lOkƒl1no’poÎnRm)mkmÌm8k iXi¤jiði‚i/iAjkl&m m¥nlÿkÑl@lðmäop^qqDqpâq2qësutRtuv¹xÅ|œ››€‰ X€Ü)~5}~{ézmyâzy”y/x‡wëwquòtásûsËsÊsq­odm÷l¸k‰jðj jŽj”jék#kjôjík)k£lZm4nƒpq5q}q2q6q}qÂqûr/r s3t:uzvÓv¼uòw*xyyjy™~%ƒh„¾ƒÂƒRƒ:‚Ä‚‡‚Ž‚Ê€ÆÖ$€€!€j~å~’~~A}Î}|0{|{R{z{{{zJyKxdxwtvõvYu sÌrðr|r&q¾q0pQoãoko&o#o nønˆnQnm÷mÛmmÂn;nsnrnWnsn‡nmn­o+oto6ooo/nÆn6mºmõo8o¯o‡nãn¼n·nTngm­mXn"nîoîr7tult½t(uÄwžxlyy+xªxw­w3wïx(w!wvØww>uót¶tttt*tOtatqt¼uFuußu÷uÎuàvšx6yáz„zgzÚz«xºx yWyzyDz"zyÇyñyIyxøx‰x·xøx÷y ywyÆzz%zŒ{ {x|K}}s}¶}Í|ç{ó{Mzä{1{Z{•{¤{ï|}]~k}ð~@€tn€Ý†ƒ%‚_€=€¤¦Þ¦Õ~Ñ}Ã{lywyvÊv v€vúv¼v u"v5wpvuéu^v,wMw)w}wxxÓyžzUyèy´yyxÄy¦y¤yÖyùy&xüx w¬x6xfx{xlxzxbxLxaxƒxÊyyWyËz$zgz˜z¬z°zœz¢z¨z®zzz¬{ {ƒ{¼{¹{{c{,{ z´yûy¼yÐz=z÷{r{Á{¼{{{{1zñz6x‹wNw#wHw-w=vwutÚtps’r‘q×qGphptqqAqqñr*rxMxAxCxfx€xÄyy·{]|q|Ø|{KzÎzÈ{9{O{”|†}µ|ЀLƒ°}ìz|à€)€‚€ÿ€ø€V~Æ}à|MzLxŸw#vuäv€vÈvRugusvˆv\ut°t¥uãu»uÏv)vÇx yoxÈxwÁww¡w¤ww´x/wuwwwRw{wzwKw+wwLw‹wÈwøxexÃy+yyyèzNzŒz„z…zqzJzRz|zzkz\z¯{"{R{8{zàzzPygy=yyØz¡{E{U{z´zžzÎz©yîx6wGw vÙv±vºuÍutjsÑsrqPp}p;pup¢pçqq-qsqÅqÎq[pØp‹pHp;pÇq¼r°rñrmr1r·s§tu2w v©vvjvFvBuÅut­tbtHt2tjt`t}týv9vÒv|u‚uêv™v#x{¿~uû€ùw(€¹€c€\]©ŠL;OZ€O~ü~Ñ}c{â{}{­|||q|G{õ{„{Gzî{e{`zm{’}߆’ýŽAŒ‹Œ DŽŽ0޵`І¿€O~Â~Ã|Ö|À{x{Uz¼xÃvÎv´v’w#vÏuþu`téutætXt=t½tüv vxuÃuFu9uÇuèuquLtÿtLtrtuu³vdw vöw•wrv´vuƒuñv&vGxæ|E} |˜}†€S€Z€Å‡M~ó~L}À}:|‡|{z‰zÂ{y{{,zñz_yzxÈxcxMxxzxo¶nän6nnm¯ml}lÁmen>oõrts¦rísduav’w,w.vžuïuÿvÚuöuLuunv1u¹u%t>sˆtZtVtAt‚u9wx1wgw–w]ww vÌw+wwvßvÏv…v¨vxvcvBv\vÙwhw©wÍx"xCx˜xÜy›z=z•zƒzfzEz?z'zzzz'zTz¬zïzõzªzŒz=zy>xÊyyTzz½zÄz­zhz(zMz6y xBw0vÖvRuâvuštøtas©røruƒuõvNvÃv×vñvÜv«v‘vŽv“v¬v¥vŽv¼w½yË{p|p{½{ {z|¹~F~ÿ~xsv¨y£z{å}ô~ï…~ý}s|{zx¬w+v’u¶uluvvtüu0uëuItãsßrÊsssHsHtbv vÓv–vÚvÂv‡vXvv/vv9vvuëvv2vDv$vsvÅww/wBw‚w®xxky(yyïyáyÇy•yˆy‡y˜y³y«yÄyàz(zEzmz5z yÜy¨y-x’x¼xóy‰z+z>z2zyáyßyØybx0vûvcuâuZu,tªtZt@s‰rºrBqqp²pnpboÛoÅoåpo´o•p[qq pÏp¯pZppTq#qnqeqGqHqƒr&rÀt4uEtÍt¼u,u¶ubtsàs{sKss s{{ß}a~Q}ð~}ú}.|Ö|7{Œz¨y×xÑxxxxVx˜x¯x»xªxmwñww~wTwv¶v{vuèuàv4v¿wwSwfw’w¹w»w«w²wÂwžw@vívfuÇuMt—tÃtàt*rÎrkp÷p˜pŠnºm*l„júiôiShrhFhgÚh+i`kîn8nlêlkk jÄj8j!i+h>gÔgfuf‡f‰f–fgFg|f‹fÀfÎfÏggeh hüj8kUl?lÍm´nÀoârëv„wŒwcx7zD{J{ z½z {[{Ã{ˆzÔz-zxþw\vuuêt–rÖq¤p]o€nÏnVmÃkÚjïj1hžgÉg f‚ff=fyf§fÔgxhÀi¡iüiÖjj)jWjuj˜j•jtBtstetytct[t˜tèuMuwuÇuËuÚuÎu¥u¨u«u¹uüvMvvþwßyª{:z¼yZz»{›z»zÕxCw¼y²yÇz’{Ö}~}G|V{!z1yx&vôuÓtëtÈt±u5uöutøutŽtvs¸rsrNr~rÀrˆs„t§u vv uèu…u\uhu7u"uuu„uÂuËuðuúv v"vevtv~všv²vØvõwKwÄxfyy©ymWnŸoªqÔu€w^w‡w xzy¶zLzHyçz z]zzryÇyŒytxdvFtït)r¡qTp8oanYmµmLk{j~iïh“g£fÖfeweleÄf f.fÏgïhfh‘h¡hÅii¡i©i\i;ii i,irj kk÷lUlYm“o³q=qþrótuXv°wWwÛy{|”|é|p{Õ|€|[z‹yx vÅvÓw[xxóykyJx¸wówfv·vrv\u¤t®tsÒsŸsxsr²r-qbpŽo»nÎmÝmWmkm[lÙlœl˜lLl1lEl%lumlŠl+lªl¼lÒmm®n"n'm²l kGkÜlâm\m@m²møn8n7mÞmlm{nLn«mølðljlkîll{mmjo q]rMr¢s»uu]tùtâtûtÂtsps×tytCs“s7s&sr^rrŒr_qÆpÜp p„qoqÅqÐqËr#rÕsÐtïulut—t\sñsessRsmsŠs¤sxsŽs˜susYsls§sÚt+t[t`t®t¦t±tätæt¶ttøuªv•vôw_xDw w’zUzfxÆyLx¼y~{z¬yÿz{Ä|­|{$zySxœxv¿uŽtsÑsÔt¦u´tâtuu$tsòsír¿rqÑr r6ss—tBtîut¬t7tFt‘t•t^ttÖuCuru¾uÍuÓuæuúvvvv/vPvtv»vòwXwáxˆxŠxBwâwºw³w¹wÚx x¢yyOykyryYyOy5yx¢x9x)x;x­yy6yxëyyxôxu'tXrõrÄsvtVuKvvœw wšxWy7zL{w|×~(5€€Ê€8~}r}Ž}a}|¤||ó}}Y}€}X}D|‰|5|&|¯|Û|‘~„8‡í‰LŒ\ˆ¬ˆ¨‰Íˆ8Fއ:“=~2}a|_{6yPx°wÿx`x7vqv—vàvt¶utisŽs'rÆrÒsr®rvr~rr4qîqÏq³r_r%rwrÆrr´s^tWtptæut½tóuiu¹vuâtãtssos]sªt$vœy×{3zà{{ü{¾{È{Í{š{zzyµyx×xæx[w%vEuâuñv=v·v×v°v\vuõuëu¼u7tÄt$sÞsÄsÚt sùtt t.tSt¦téuLu¦v vuÈu…tÏtBs8r¼r[pºoýonm³mYljïi†hŸgûgfófÀfÊgOill'jÄióiShÓi+iVh¯hbh$hgçg¦gAg-g;fPedƒdºd¨dÃee|f1fógîhÉihjplDnYoq]u%www‘wËx‰x²yy8yKy_yhyhy/xðx±wZtÿshrˆqaoönæmÑm7lPjÆiïi h.gZf{e³e6efe©eêfXg!geggg²gÑh\iiBhÜhUh+hh h h²iºjjàk5l–nªoïpVpùr4s¬uuòvCwZy;zzzúzázyŽy¨xGvÙvXv{w=x„yxªwúvùuÅuouœtÄsÐs3s rÈr¥r`qéqˆq,pZn¨mnlïl½lql9kókèkËkŠk¥k”kÄl[l@llZl©ml”lêm±mlltkvkDlmÂnAn m¥mXm„m¦mªmKmm7ml‘lFkëkéll0l}lmAo¥qÚr‹sntt»t¥tutitsat8t¡s•rôr—r^rÅrsrwrªqÔqppèp;pšq^q¤qnq1q.qÒssÏsÀszs r“rxrDr~rËss s$s=rörçr¡ršrÊrùss,sCs,s?sfs´tttt tÞv v¹v™v2x¥{zJz¶zËyÙzþ{qq?r,s8sGsÀtsüsAsMs¬sæs´sÑtt’tùuPu~ušu™u˜upu‚u u¸uÏv v4vbvŽvõw§wçwswwwtw wxx¶xóxöxèxóxõxÓx€wüwÐwÇwÝxGx¨x xˆxcxLx2wvnuKtys|rÃrÚr­qÄqsqtqZq?qq}qœq‘q6q4qør,qæqXpRo‚n€nWoQpjpÆp-ouo:oµp'p)oÇo¹p;p°q»s:sïsãs2r¥r¶rãrJq´qxqdq9qr0rZryr‘ssnsœs3rör÷s–tƒu‹vCvƒvÑw+w»x`yfz¾|l~Æ€NN}á|ò|º|Î|ð|Ü|ð}\}6}x}x}|ú|E|}ÿ~Õo€ä„1‡u‰ÊŽ:ŒI‰«ŠòÈ„{€¿G|Ï}:{ö{ yGx‘w‘w³xv*u¤v‰uÄuru's1rŒr'r`rr´s r‡r]rƒrq¹pØqgqLqnqÏqqßr­ss­sêttjiwi h\hqh‹gêgÈgfggfñfËfÒgeúdlcød8d(d d&d½eXffÊgSg«h:iÎm3o¶pútgvtww%vûwŒw‹xxYxxQx˜xxx…xwwÉw,u«sMqçpæonˆmŸlâkûj‘iuhÄhgPf¤eäedóe*e·fxføgfógg:hhÇhôh‰gígŸgTgfégEhTiTiÀj k lÜmïnuDuuuuuu"uNutu¦u¿uÞvvªw4vþv¦vww¶ww£x(xEx;x_x‡x‡x`wòwšwzwvÆw=wòx"xw½wšwVv®u«t©s¢r‚r$rEqþqTqq'q qq pãpÌpûq4qcqœq³qûr5rBrpúoonHn¥ppÎpIo…o®pHp†poio|oàp~qqrbrûr·rDrrNr)q—q2q)q(q7qŸrr r"r+r3rárørërûs4s`t tÈuWuôvXvÄwBwúxykz2{–}f~~`}E|~|H|g}%}"}}à}}ó}·|å| |Î}7†nˆW†\ŽŽžŠ’Š`Š<ŠœŠ8‰‚~Œ}ö|d|~{XzŒy xwvñw‘vâu%u|uvtÃs™rqšqqîqq³r>r7rqºq›qÙpÒpaoÀpMq pxpñqÒrÂrÙrÒrÊs3s;sötžuPuOut*s^s%rVrÅsZrätGwRy…zzDztzBzlyy»yýz:z@zy¬xtv¸u­u¹uÐv/vLv$u†u'tÛtÊt‘t7s·s.r«rOrq×qÂqÒqøqôr1rJrµrûs>s\ses{strÚrpøoun3ml£l¤kŠiDhsg{f‘e²dúeNeŽf7fÑhiÑjsiòhíheh^hIgˆf±fÇfŸf›f²fºgfeîeµe0d1c¸c¼c§c¦d d‹ee¢eñf]fôgWjŽo+qsuÄvJvuévÖvövíw vÃvþw¤w…w7wrwvauŽsîq¹ponAm]l½kÝjJi=hƒgègPf{eãeOdóe+ffÂfÆf¡f¨f×gDhh¡h¿h/gÎgŽg-fœf]fÄghh&h·hàiñl2l”lWlgl¨méop¿q¨rwrñs-rjrržs©tÏu§uòuštõtŸt‚uuövv–u¢t£tsÒr÷r>q¸qJq pÕp–pMo¾o n1m³m¼l£kÁk¢k™kckpk jÛkrkbkck_kškÓkÄl kþk€k,k-kšlNlÂmAmôn nmám[mmmmm-m m lhk¹k„k°ll#l?kókÔk°k—mAp$qÍr³sqt tNt%tsøsésÃrùq±qIqgq qJqâq}qq\qàqÙpúp¥pÉpÞpÿp½pBpxqqp£p7pQpÁqLq›qËqõr/rMr'qúqqˆqtqŠqýrBrŠr¬rÁrrkr:rrorîsÎtWtFt$t«uýv uÏuîuÂvÚx~yDxÖxÜyÂy£xmwÿxŒx?x8wñw'vWu=tLsŽssgt¼tDs+rÑrCqýrSrœqÕqHp°p[qœs?sösìsSrâs_sÝs–r÷rqÏrysJtDt¤t²t–t~tqtxt€tŠtšt§tåuuNu[u¸vŽv©vQv7vuwtuóvæwvwwßw†wŸwŠwvw>vëv„uæt·sŠs†sŒsÊsÌsÚs¸s„sXs_srsfs r§r q·q‚q^qbqFq:qqqqQq{q›q¼qørarœrkq´pŒomÝl¥lkújŒhmgôg3eµdÔd„dƒeffxg›iXjeiÿhµh}håh$g$fÓf¨f"ffKf©f–ešdóe8etdÙdXcÙcic…cžcèdd(dvd÷ffÀh¢mŠq!r»tYut£tÓu¹vv%v^vnv-vXvXu×uÿv9uŽtÅsÏqo’n°nm2l¦kÈjXiTh;g»g>fTeåee2e€fLfxf›fÓfðg g“h,hqhhhgÒg‡gRf°f?fkfÞgIgÈgýhák°kÝj×jÙkkXlmXnn­nÌonÖnép-púq¢résìt'sªrèr“st)u,uªuJtWs^rÝrHq¬pûpbpoÏo{o+n£mãm®m‡lÖllkÞk-j_j)içi¹j6jRjojrjsjÌjñjÛjžj¿kVkðlglãmRm¹n%n:npmülúl”lƒlmlŽl»l”l¤lkknkikÛl?lppæpƒoêoŽoÁpqXqmq‹qÈqµq²q•qqqPq3q!qyqÏrr;rWr}r„r‹rfrOrOr´sKs—sôt^t{tóuœuÜu tÁttÙwxxxŽxÐxqw‚w]wBw~w’wv¾vwu!s˜rÄràt9trþrqmq^q°r$qÎqãqop,pr1sºsbr“r0sEts‡r–q€q0q¤r6s+sät"tsåsÛsÒsÚsótt!t'tAttÓtüuv)vIvv vovþw\wgwywªwÂw¯wsvúv‰v@uÿvvlvÓvùww!võv}u˜t¶sÃr·r®r¥q prpQpTp˜pìq3p5oho+nûn÷onøoooPoßp…q.q†q¼qÔq0o@mÿnêp€pôpBoîp%p'oíojo*o¨p_pÚqq/q'qgqˆq%pþq q qq#qCqŒqŒq)q1q3q*qqq0pïp°qq¬rPssžtTtäu¸v{wRx0x¯y[z{˜|X|m|{ò|M|v|Ð}å}þ}”}Š|±|g{ô€f‰:ˆx„„‹4ŽóŒÉŒŽŒìŽ»õŠW‡K„~ã{Gz¢z}yvxwfv¸vÏvÈwYu?sžs2r´q»pEoÙoîosoAo[o°qp oÏpRognÕnm¬nünûn[oppÎpÕpÞpäq‡r r4rísèts°s4rÝrÑr{qÛr:qŠpŽpMoßoüpbqpqÉqèqùqÃqfq>qpÒp—p”p±p‚pp\pnp„pÆq!q‚qÀqëqäqÖq—qkq-pèpÐp¿pÖp’pNoØo}ofo¸p$pgp€p³q6qrqopáoßoUmËl&kpkGi¶hhCgèf>d cèdEdþe°f7f×h3iirh$gßhŽgÜgf§eÿeÉff%f e1dVddd‚dÉd¢dzd‹d~dycÀc+cc cZcüe]fâgÀjüoÞrr»sfsXsÂtÂu"u u+u™u¡u€uAtµtÛut˜sýróqooncm¿mlpkÍjvi)hggf–f eŠeˆeÐf4f;f¢fâg3g|g”hhAh8hgýgÜg½gigißjnkslmm{mÚnm¸mõnëoîp}pÕqqpØq!qžr~s¼t}tqs›ršqóqupïp.oo1nënžn5m¿m lülölekàk¬kIjji¾iliLi(iHiÐjiúj.jgj6jiûjj{k)kÌlÇm‚mm¢m\l¿lTllll|kók¨kèkül!lkÓk¹kÇkÛllk¥kMk#k]kkÆnƒqqôr°sªsðsÏsDrrEr*qq#qqqq)q3pûq q×rŽrfr q•q9p¹pspo³pUppoÙoÁoïpøqÔqÓqŽqcq^qDqpÑp˜pŠp·qqxqŠq–qq§qÃqër5rBrvrssks¿t†t·t©t´tÍt¢ts”sùuSw w²w w·vôvrvWvÙwAvÒv‰v³uŽsàr–rZs·s³rêqÚpãp³qVqãq˜q­qpüp^qžrîrhr'rrÀs…s.r(q*pÈp÷q'qºrÈsAsLsCsr÷ròs/sms‡s•s®sËttktºujuèuíuÔuÕv vfv®vÕvµv–vDuóuîu÷uáuÈvv_vtvvÖv¸vuLtnsYrÉrfrXqépep9pOpwpðq'qoÎoHodopoqo‡oo€o,n°n‘náoÛp¨qq^qÖqDo±nqnp pËpepoúp5p4oƒo2o]oápp²pÔq q#pàp p«pÐpÎpËpñq4qXqpõqpÍpVp,oûo÷o¹o¬ppqSqçr°s8sót¬u`vCvùwêxƒymzŠ{~{×|{Ê{¾{ß|/}}=|æ|Ÿ|Á{x|x#ä„6‹WŽô ŒÆŠ/‹Ž2Š0ˆ†ÔÛzÝz›y¹yxwvývzv;vÆu s=r¹rcpîotnénÂnPn+nFnÐp›o­nQn­nÝn-lñlÙn.nlýmËo oso«oãpcùdedãcÈb˜b"bbFcYd¦fgêiOmWp¸qhqårBrsµtCtt>t–tÆt§tYsâsút s…sqëp,nún mslÜl"k{j‹i[hg_fñf™feÖeüffff~f½g%gsgg¿gúh%hgñgâgígÉg¡fØf…eûffˆf@j2llißh h"h±iiâjOkkîllºlÈläm$mÃnfnùoEoÇp>pzp“q rrøsrSqmpãpp*oon˜n1màmclÕl:l(lKlk_jºjQi¾i‡ih²hâiiiÊiþiýiêiæiºi·iÜj'jjÌk†kõkÖlxlÊk¦jók¬ll6lhlk±kmkLk~kgjÐk%kŒkykOkkjôk1k-j“kÕo_q‹rrÖs¤sÄsrÐqúqÈq)pŽpXpmp¡p—p¹pŽoÜoîpÅq4qOpËpëq[q@pñoÉoCoeoHo€oÞp(p°qCqEpüpðpÎp˜pfWf©fîg`g£gáhgëgãg¼gÄg¯g¡g|g4fe¬eGe±lupQkºgvfög>geh>hîimiÖj•k(k¬l!lYlÇmm|mÌnXnØoo@oÄp¦qAq>pÀp o¶oˆomo0nänŒn m†lølakÂk‚k kojçjVjiÃiqihçhðhôii:ii¤iˆiiVi=ibiiªiˆi˜iõjpkjlkdj´jùkPkƒkýkük¬kgjójèkj»jøk\k1jýjåkk-k k/j«jlAoüqqÎr¾sjsRrørq³qp>ppFp]pXpoÉoŽo„pp~p¸pp7qpËp¬pMogn™nCn°oNppup•p®pnp>poýoonÛnéoyoðp;p5oõoÉoÇoêp5p‚p“pèqkq¬qÓrfr°rþs„sÉtt s÷sêt sðs¨tÓvsvu­utÒtïuuCuht”ss`sIqÚrmsErÌqÏq)ponŽnýpWp.pqq.papëqÛrr¬rérÙrLqp4ppo«o¯oÉpLpØq\qvqq4qÐr‰rÉrÌrÂrÐs&sysÓtTtÏu/uUuFucuiukuzuŒuu–ulutÿuoûo¯nSlj.iøjñlYnmŒjùiTh¶hæimiþji¾iihæi´k lPl¤lZldl`l—lÑmmxnnmnäo§pQp—oÛo·oßomoXoRnõnŠnXmþm½mglªkÄjÎjqjIjuj±j¸j÷k"kqkŠk‹kžk˜k€kOk6kjík!kGkmkÆkúl'l`l•mm[mànXn¯oAoSo nîn®n›n‹n£m«mkhBf eheÞeKd—cÝb;aÀb~bÌcveeúeÎe…dëdc¨c©c"c-cIcb¦b@bžbrbb”bíbÝbðbòbÚbœbwa^`·aQbˆc©dåfÍg™f¾hÛnoÀoàp»qwr'r/rºrÐr›rqQq^q0pÚp onm l_kÍk>jñj€i›hƒgŠfýfÉfÓfßfðgg fKe“e›fvgYgg¯gûh'gÛg†gTg>g(ggfÍf_e1dcæd¿d¾dïeeeie¬fSf«gg£h“i¶jék¹k¨kkk¨l;lðm–múmòmÄm£mmŽmÈnnvnÍn¦n mZlvk†j×jTjOjLjYjiœiVi1hÓh§hthEhvhh¸h«h’hqhxh“hkhBh+hxhòi@i»jLj;jukjµjœk=kjaj i°iÌj*jNjEj/jtjïkbkjÏj´i¼išl·oìpqq˜q²q‰pÜp6o”o€oúo§oWo—ouoLožo±oÛoÈpfpðp?oÂowo²oSm÷m…mên‡nønÞn§nšnÑonÀnn n†nån¶mém'lÌläm`mõn~o oko¦p p„pßqIqªr%r~rràs“sâsæsÍss¿u6tìs¯s:s2s/s:sXrŒr-rßr‘r&r+r qJpOon.làlm#ovpp™qpØpNoÏo,oo!o¿q:qØq/oŠn­n*mªmínào o•oƒpcq™qøqØqËqÍrrWrºss(sZsqsxs¥sútBt„t¡tztvt™t¨t”tdts‘sGsrÃrTqÅqIpÓpGp@p‰pžpÑp¢p.o×ppsp|pspbpp©p¦p…p„pdp3poõoìoyo o'o¸p=p¬p²oênfn:ooÇo«o!nÿowo»o\nÔn2mömün>n—nìoToÖoçoòppNpdplpobnãnêocoðpPpopRpppƒpøq8q¬q÷rÃsctdu„viw:wýx}x×y%yysylz‚zw~€=…¶ŽÒŒ‰\Š Šø‰qˆ‡„‚J~†}&{@z1yJw±vµv=vGuêvŸv„särärp¶ošnelÔjJhÌi†j‚l¡m(iÈg¯fíg™hnhhh_hegâhìiÙk:k6jÊkkIkk´kÍl,l¡menloeoYn_nmþmÒmZlÈl‹l«lykãj‚ijimiÒjiäiÑiïj1j'jLjkjžjÆjîkkjíj»j j®j²jÊjújØjØjÉkk¤l,l³m,m¶n8n&mÕm§m¡mÏlÆlXi÷gepe5eNdÓc–bÝb,aaXaèb?bïc«d4cÆbßbVb]b¼cbêbfaüa‡aÕbPb aüb:b§bábbDbdb)aña>`…`îb3cdZeÕfÒf•f›kXoo¡p5p¦q^qYq¬r.qèqsp×p²pŠpojn†ml¯kók[jèj’j:i³hÏgîg+f¡fÄg(gjgwgf8eweZfegg,g9g„ƒ4}€{äzàyËxuwbvÀv1uÑuÄu¼tÅsr¤q½pÉo½n\lâjÔhùhçi$jßl irhf f;gMgf®fƒg9gg†gÃh™idi¥iþjiÌi‚i]ii%jk¹m`n™n[mžm)lžk©j³iêiuhèhah4hBhÙi[i·i¢i-i!i*i0iSiei–i¯iájj/j?jZjejzjÈjÌjèjÖjÆj¿j°jÚk%krkÆl lnll¯l¦l£lÂkÂkhpf$dýedÔdHcaÂaÀ`å`…`õa$a‹aÎaýb.ba×aåbRbœbalahaEa½aÜa aÖb%bKbqbŒb$aºa{ar`Ë`R`¸aÉb§c’e f6fPezhæmòo%o‹pp‘p¯p¦q;qDpàpcoòoìoŽnÐmöm l(kskj jDiìi•hòhLg×g/fêgKg™g\fíffešeGf4f¶f¾f¥fJfrfðgJgfóf·f”f€ffsf@f»f–eˆd¼dœdHdcïddPd¿e2e ffÁg¸hÍiÇjiÓjjÝkµllkákÐll6lHl|mmŸmÏmâmvlÕlk8j„i×itihÂh‰hwhHhIh1hh,hh;h;h'gÒgŽg¬gÓgågøhh;hIhKhVhzh³hßiHh÷hªiNiihçh¨hîhåhÅhãiEi¦iÖiúj4j€jijCj€jRi kanÆoóp-pëpçp€oòoUonÕnÉn¥n¡nÒo5oBo*o]ošppoÄonnæn^mþmlŒl¶mAm¦mŽm­mÃnn­nŒmFlŒlØmVm®m7l_kãkælFl½mm~m¯mãn]nÒoIoÌpFp¦pýqqqôrKr™s s]s_r…r3smsCrFq×qÉq¼q°rcrWqõrdq¨páqcq[p]onbmdl*jÌkXmÃnnÁn¹nmAluk­k‚l lônxpq†pnlklÇo7o6nn2nÈoápàq=pûpÜpÆpªpÅqqqÜqçqÖq°qœq£qµqær+rmr£ržržr‚rSrBrqÔq•qKq6q8púqpýppoßo…o”pp…p“p’ptp:ppoôoÕoºoÅoÍo©o…oŽopoIo/o4oooŒp)pŒp¯ppoOn†nŽo˜pip;oÇo¨oäo‚nàn=mÓmsmomúnŸo$oŒoºo¤oÆoëo§o&nªnµnóoso«oâoóoêpoÛpp/ppÇqJqêssÀtUtÛuhv$v vov¨x!x xžyz}•¥‡zЍŒ:‹6‰N‹GŠý}|u{+zhxÝwÒv¼uïvu±tŒsþsìsUr³q`pFoŒnÛmak°iÀh‘hkiÓki¾h·eQdïf%eüf0ežfwfrfyf™ffÞg†h*h™hgNgug½gŸg”h•iÓk«mm5l˜k²jªi¢hÒh—h˜hKhgÞhZh²h}h™h€hKh2hqh±hÖii8inibi†i³iÏjj(jdj¤jÀjÐjºj°j°j³jájàjñkk kkJkmkŽkj±iJfŸejd¾dÈd¥cêbÏayaaZaSa}aa6a^a`aaaRa*`ôaZaÎaDaaia“a•`ø`²a!a¨bbCbtbaŽaa`Â`R`[ab8bÏdmf fdeff÷l>n¬n oPoÏp oâpBp pBoîo”oWnØnm0lkØk+jÆj3iñiœi1hÌhggÿgxg\g}g”goföfjeêe°ffŽfÁf\eveufOf»fÂfÈf¨f®f†fyffšfffXf;eÁed•d d8cñcÄcõdddîeƒeÜfXg gêh§i=ij1kk•kxk5k7kKkik•kØl9lÞm4mYm#l¯lk&jkiËiVhèh’h*gûgÓgÄgÝgìgígïhgÜg¸gghgfg„gœg«gÓgöh.h;hKhPhmh\hHhh(hËhòhhRh´h³hphxhœh±h×hüi/i·jjIjbj¯jGjdmo‡oîp`pto×ofonµn‡nˆnnnHnbnÏnÐn”n¾oAoÂoÅoÎonÛnOmßlþlmljlºmm2mpm®n+nn lkUkcl"lálîl=kÖkÍll{l}l¸lüm8m}nnŒnëoboìprp½q:q¦qàrTr±rårq›qÏržrPq¦qRqyq qÈrrrvqÓpÑpïq1pdnûnœm×lèkœj9kllÎlÎlØlkjzjcj‰l mÔo(q•q¡n½lLlmånombmm n;o&pDp”pTp oòoáoôp‘qq'pèp»pÈpÉpâqqPq‰q­q·q®qµq°q®q–qkqMqpùpðp®p²pwo¿o…oÌp+p[pZpMp+oûoÂoyo$nØncnnmùmÏm¤mªm¼mæmþn]nÌoBo¥oºppupŸpaoÿo2nßo°pŒpÅp=oÒoÁoœnùn`mùm~mœn0nÃo;ozo‡o‚o™oŒo=næoooko¦oÍoøo¸oÑoãppRpjp1pƒpðrsut%t`t‡uu/ujuNv/wEwßxxy{ê…]‡ì‰Y‰ ˆZ‡Òƒ›~ï}–|GzÈyÐx-wWv[ulu&tÌsErPr…r¶rMp‰o•nànWm$kûjÄhÜgçh}iñj’iŠe_d eezeÈe*e˜e¡eÇeßeše"eoff¦g$f¾f#ffPf+fžguhþjÃk˜k…jújiNhÄh5hgôg‘g2gg~fÌfúgJgzgáh3hnh¶hñi iUi€i…i©iÑiíjjjGj[jj—j~j‡juj€jƒj€j[jHj7j_j•jªj©i=g2e=dŒd*dIcübœa`Ýa#aƒa÷aáa`¸`Ÿ`Ü`¹`Q`7``Ya`Ä`b`©aa2`›`>`z`ëasaõb!aÂa–a`¯`d`5`i`Öaëbxc‹dòe¥eŒeÌjmõnIn¿oon´nqnóopodon›nmhl´kîkEjìjiÍi§ihõhxh]h1gÔg±g‡g~gKfófÞffLfnf“f³f dðe/ffVfffwff†f…f~fDfafeff™fTf eÍe“død€cçc¶ddee[e‰e¸f-fÂghdiyjFjëk5kjújëkkkAkwkãlfl•lqlkjàj!iwih~h)gêg³gªg g g³g·g¦g¥gg`g"ggg%gGgbgvgg¸gÉhgóg¬g{gµh-hVh¤hÊh$g”gÛhhhh;h^h]hxh¶i'iriÍjjŠjÜjŽk]no”o³oÎolnën³nhn%n mémòn nnn nSnšnÛnÚnînênnm±mOlÖlbl4lˆlõm[mžmãmÖm>l&jji­jƒkŸlKkíkkkhkvk˜kÛl l6l¬láml#llylÜmenZoYo‡o)nùo ooeoëp?pDpoÌoÖpppapËq!qOq8q4q$qqp÷pÖp—pupNp5pMpfpUpapWpoío°oOnÉn`mòm}ml§l5ll kúkÝkºk¬k”k¯kÿl—mUn2n©n«oWoùp^p^pNpo'nØoipZpÑp[oØo“o&n¾nomém¶m×nkooQotomo…o„omo$oo7ohoÈppoÀoœoyoŒoópap0oùppŸrs^t7tBtet¹tÎtìtžuxvÎvöxŒz±}z?„†ø‡ª†‹„êu~›} {Oz’y.w6vku¡t³ts¥rq_qÛr¢qˆnöonRmulŒk†k"i@gŸgkhìjÞjÂgAdcžee‚dóe2e0eSeIeVdÀdbdfd±eœf(f8ffYfefµfóg>h‡iÆjjiŒh¯gíg2f÷föføféf–f,f'f“gg{g½góh+hDhJhŒh–hÚiiEiži´jj)j8j;j%jjjjj#iïiÏi·i§i\iiÍiëj'g3edcxc@czb8`Â`µ`þa@a&`¸`:`6`_Ö``_í_‚_l``C``Y`˜`M_È_å`A`åaWa£a‘a„al`å_ý_¤`uaaÐb‘c¢d¬e¥ezf\jåm™mØn,nm©mcmÄn6nkŽk²kžkFj»j"i}hÖh{gôg’gig9g%g'gg#g1glâl‹l-k§kak7k kkCkdkxkpkOk%kk kf&fDeïeˆedºdcÈc×ddFd~dzd_dÉe¿gehÔiÑj@j}jRj*jjjj€jÂjÔj¿jvj#i|i h{hg³gLg8g8gfúfåfòfïfÿfþgfúfëfõfóggggggggÙh=gåh0hÊhhg’g:gjg3ggcglg|g´hh'hkh“hÅiiÎjajÖjºklÞnn>npn;mÒmšmhmxmYm:m3m:m0m)mm,m$mcn&mßlŠkßkùl&kÍkjk5kVkBk j@hÖhÚiÂj¼kÕl'k%jjÆjÞkkbkkšllÐmmRmHm¸nÜoho¸oÜpPpüq?pÛp|p[p½pûq‹r²sràr}rq.pfoåo¿o¡oûoèoco5mËkyióh¯gBfÅf‹ftfFeƒegf£hjŸl>mTmel‰kˆjÑj¦jþjàjÓk@kÜl€lÒmlùmlðlømmCmlûm#mAm¦nn¡o oFoqo«oÒoõoÁo¶o§oÂoÚoÁoLnemSlRkÚkƒkbkCkj¶j©j¬j¼jék7k–kÓkækËk¹k«kkzktkpkƒk…llÝmñn`n#njoDpCpdoüoaoocppRpofnên—n/mèmûnenæo>oMoLo>o3o8o7oLo²ppdp1p+o­oo*op9pqpFppTqr•sÜt0tsàtBtŽtkubwBy¬{J}?"‚ƒó~H{wzx¼wµv…v4tßr¨qŠpUoøp o p+pwoFm¨l2kŽjÏkkhbffìhÑiêfõdchde&dQc÷cÔdÁe dÑdd+cÔcÀc›cÁdAee±eàffŸgHgxg[f¦eýe˜e0eyeÂeóff7f eËeÏf+f5fJfQfSf¹f×g3gag›gëhhbh¤iiDiBi7húihñhšh)hh)h7hah_hÙhÝg#c)b>aza¨a ab`µ_½_Ÿ_O^x^G^¥_(_%^ý_|_•_€_X^Õ^‘^è_h_š_¨_—_x_m_¹``}`Ï`ó`ß`µ`å`Ú`}`9`±a_aibbçcºe eýeœfiˆl¢mµm¯m(lÒlOllgf´fsf|ff§fÁfÉfÖf×fæfÞfðfÒfÓfìfúfàg&gúhhhÏi$hrgÎgtgggfg=gKgŠg‰gmgÅhMh~hThŸhæihiøj{jžj‚kŸmNmþnmïm{mQm=m5mlólÎl·l»lÂlÙlÛlÞlÂl«l‘l½mem4l1k„kgk„kjejj9j[j€iúh¯hyiiÌjškîl‡kZj™j¥j—j¹jÛj÷kfl lŸl½lilm;nnðoUo‹p$p¼pzpapEpDp°qGqÞrrmrlqøqkp®oøonÓoÝoÜo>o&nÒlÿjÅiSgåf×f;e÷e”dádˆdÒfh"iÂkp;pnlãl/k*jŽj¨kÿiËf]eÑg+iofÇd'cŠdQd¤c'bˆbjcòd‡dEd5dUcøc³côc÷d"cëd6dd…dydèed«dgd{d£d¼eOe–eÿeíeÁeeVe]eƒeªe¢eÚffjfÓg0g|gÀhh=hjh”h¢hÌh×hhLhggfófßfñggkhh fÍdœb#aáaÉa£`Ð`%_Œ^œ^$]ß]Â^8^?^3^R^Ã_\_u_­_Y^‹^]^é_(_._:__z_¦_Û``3`¥`¾`t`O`=`F`Ž`ÉaEaUa³b‘c]dƒe£eÝe^fðj@lBlGl6lk€kdkekjkjGjXj"iÑieiCihÈh+gpgfÍf³fÕfªfágg fÙggfúf¨ffYeõd¹d/dãežeÛeÿfff5f1fMf*fLffe¾enfeäeXed™cÝcrc‰cìdd6d’dèef¢gÈhØigi¨i•i­i®i¬iÓi¿iŸi:hÜh³hKgòg•g_gVgFgf®f}fOfgf{f–fŠfƒf‚ff¯f³fÒfÁfºfÒfÎfógvgÔh4h\hthkgägBgEgLgg[g¼hhEh|h·hvh7h`hži:iÜj^j\jSkmmTnnm¶m l½lÄlÒl™lclIlpîqrq:q§qÆq€q*p-o`nùnÜnØnÜnÏnmni±hºgÙgkfÄf7e÷f.f‰fÀføgAg‡gÇgîhh gégÃg¦g¢gÉh/hbh³hÓhùi iNi›iëj]jékÜlæmRlõm'n>n²nMmünknönŠnInšnùoTohe¦dFcðb‹_a`Ðbaˆb c d0dd.d cdcc”cWc(cocuc²c¼cêcÌdLd©e/eše`dÐdÁdÉd_d/d$dyd‹dyd¬dõef5f¯g g^g¼güh3hBhgƒfëfenedÅdådÞd cùcbub+b:a`k_Â^ð^™^‹]µ]H]'\ï\Ê\Ã]]n]È]Ô]º]ï^8^ ^Ì^E^=^Ê^Ë^Í^ê^ß^ä_6_“_Ø``_Ü_¼_Ø``Üa+`û`ùa a±bacEdœekeçeèegf"gÚi1i­iéiéiêiéi‰iJhéhÄh‚gèh hDhg›gfõf©fœfZf:eóeÝfMf›ggg'fòf·f†eÉe1eˆeHdicÑcrcncmcádPd‡dôe„eÀeeƒe¸eµe£eàeÓeYd¿cæbüb­c>céd8d‹dóe–f?fÊgˆh#h›hàh÷hïh·h¼hxh$gÇgƒgFfáf•fQeïeˆe•e‡eše¤e»eÁe”ešeºeáeÉe«eµe¹eÇeùfffQf‚f„fOf8fhf]fufÄfÞgBgygžhLh­hžhŸh”hyhqhehƒhÑi^iùjIj,jWkÇl÷m.lÑlkl0l+l@lkék¤kvkQkHkGk:k2k$kjþjÚjPi”i>i7i i*iRi\ih¸hh8hôiiiiCi¡jiâiOih¢hÛiqiñj‹kAkªkÀk’k±l@lžlôm'mRmHnoIoƒo‘oÁoâpŽqKq q:q±qŽqpIpoPn±nžnmnemämÙm!kKi©h€hgÂgšg.fBdõc¢bÚc c¼d1d•dæffâf8e)dEcÞddXd†dvd5cÅcQc|dd²e*eŸeèffŒfåg gfh9hagÎg;f×f®f^eõeZeeeee¥eìf(f:ff*f’f©f|frfºg g™göhih­hòii+iCi^iµjjujákkÄlÉmtmfmKmÀn†nÍn½oonPnGn­n·nênßnHn&n:n*nin¡nëooo nìooo"nÃn‹nÑo‹ojoonÐoKoio¢ožosowooÉqîsPs5s)sDs)s‹tÍvÒyz…{‰{¸{"z­zXy‡w…uÎuFs™pänZmÉlçlmm»mõnmkØj%iPi”iëjèj´heoe!eÅf¬h?fìdxd@c¤`8`…bSaP`×aäcc¾dˆe£e/cbÃcMbìbßb¶b¨b¶ccyd d;dUd„dsdbdCdcoc7cicšcÆc»cÜcýdod÷e7e¦e³eÒeÇefd×dc@bŽbe’e¶e–e€e‰e§eÝff fLfff¼f°fsfjfyfOfjf·fæfùfêgg3gewg{g#ec·b+``Ûbãbaebbçc cÅd6dåc`bébšbNbKbNb]bzc+c?c[c¾c·c…c¦ceböb®bXbxb­c c2cpc«cìd$d*d c¿cbòbŸba‘a'`åa aAaíbCbUbgbaÛay`k`_^Ö^ž^I]ó]¥]V\Ì\Ô\é\ñ]]5]–]µ]–]Í^^F^‘^®^p]Ã]È^]Ó]ü^v^ú_e_k_v_€_§_±_Ö`E`‚`¡`s`¦`Ùa;b(cdd¹eJeÜeûežeˆeÇfbggÐh=h9hgùgégãg¹gjgUg0gfòfÍff e–eteÇepeofDfÆfÓf»f…flfseÀe_eee3dŠc³cMcYc«ddad·eLeieWeQe5e.edÄd„dDcÀcfc3c\c–d d£eNeþfJf­fðgNgÇh*h$gìg˜gKfÆf~f_f.eøe˜e`eJekeXeCe*ee9eŒeže\e4eDe…eÝf fKf}ffäfÝfÆf¿fšfŒf‘fÕfúfÉffvfEfrf¾fÉfûg5g^gÌh i1iNiÊjmjg`g~gÑh5gýhGi&iÉjqj±k&kÏkÂkkwkœkŽlGmm lÌnn¯nÕo!oPo·p¢pðp÷qGq#qpwoŽnÜnfmòm¨m(l¦llÇlbkúkëlkÓkjîj™iÒiFhŠgôge©dFbÝaŸa‹aõb‘cQccPbpaE`%_y_•_î_}_5_-_+_˜`f`â`ðaa}b€cncÊd2ddud_d.dddXdydŸdÐe>fBggg¿g£ggd dcÏd5d¤e›f%eÕeZdñeeeff_f[f]f[fVfBf0f e¿eFdþd¿d¡d’dºeed}dd"d&dMdLd€d—dTc÷czbób’bâbÍbäcc2cÀd*ded(c”cbüccc6c¥còdd cêd d d2dhd»eDeÖf"f5ffeçeØeõeØe¯e˜ežeuedàd¶d¬dªd½dÀdÂdùedÚdÞeeeWe¡eÛffGfuf}fàfÏf:eùffif fÝfÐfágfÔf[eäeýfEfAfsf¬ggÀh6h|hyh±iEiGi…j®k=k@kMk,k#kjèj¢jUji¨i^iGi*hÓhCg föfYf'fPfrfCeÆeˆeËf;eÿeKd‰cRc ccNdVeeÏfWf¥gguhei“j@iÄiTiiai¦j j6jÇjíkkmlm m\mtmÒnOoo©oÛoãoWnènøn°n"m®m#l_kükÊk‰kek5k8k*jÜjXi›hÄh&gçgÎg|gfe{d9bøaýa’a‚agaD`á`(_n_P_|^Ô^l^‚^í___D_Ï`„a7bb}bƒbbÂcc%cGccíd4dZd³ee0e~f f~f f0eœeoeîf²gƒh hLh~hWhwh‚h hÆhøiUii¥i]ii@i¼iÞjœk kXkˆll"k–l l–l´l±lÈm9mªmÛngnsm¶mHmgmÒnnmïnn,n mèmÆm”m¯m®l±l lmRlžkílÍnÉpdp†p;pÂrNss róråràr»r¨s0s÷tíu\rðo§nOmFk·jfi‹iàjÝjƒiÌiahgýg.f¶eÂeÐgfNf7e dc7a`aUaèb¤dëfve‚džbx`–`!`îaïba©`akaL^ð_aäb’a›aùbmbiaìaÒaåaÖbb;baáa¨aªa—`t_W_a_ã`2``2`m`~`“`‹`J_È_h^ù^©^+]Ÿ]]€]a]3]z]ž]1\ä\ê]D]S\T\‡\q\i\h\e\Û]t]‚]‹]¦]]x]>]K]i]¯]ç]‡]š]±]»^^^3^0^N^{^_^¿^ô___±_ù`_â_Ç``9`J`{`O`«aažb™c˜cÀcúd¯d c÷e%eµee.e eeOeÍf eóeÝeÔeÁeÉeœe>d¼d˜dœdsdkd”d±d/c_crc¼ccZccVc¥c”cb]aðaÏbRbºc4cVcœcùdd_cèc^ccböc cjcŸcÃcêdcüdd"d@drdÄe"eeóffe×eŸexeae‚eepeaeKdþdÉd´d¤d¤dÂdÑd×dödÒd¾dâeeeEeoele§eêf ffff"f]fyf‡fÂg ggg2fñf–f,ffcfsf£fÚgg”h hlhˆh®hïhøh÷iòj×jÞjñjéjéjájÅj—j0iÂici$hýhÖhjgàg6f{eéeˆe¤e­ehedûeJeree dýc a·b/b¢ctd’e@e£f2f‹ghCi;i©i3héibi[ibiñj7j¬jôk(kØlkmmqmrm¦n;nÇo)oaoBnÑnznvnCmÑmwlâl8lkðkÄkgjújÇjŽjUiôi=h€gÏgPg0g"gg fe¡dcgbhhÖi_i¢jjkkPk§lkxkLkÑlSlQl6l¬mlÝmJnnmlm+mAmOm’mØm¨m„mmŒmklýmRmk†k€l!l1k´k‹l‰nâpçpþpËqr$rÍræsEsrçrrdrrÖtsÀp™m·køjh´h:hÍiúj6i˜ihXg†fÐe²e"dàeõfÐeûf8ekdicäbY`¹`µa©b³d{e€e(c$a¯`y`daYaÊb·a4_Ç_’^Î_¾b a¯_ð`?`Ýa€a§agaša”aa«aÏaºaÑaÛaÕa"_æ_M_d_æ_ñ` `4`_î_—_Q^ß^s]õ]]F\ó\Ò\¢\›\ [Ü[Î[µ[¹[œ[ñ\5\P\…\‚\l\j\°]]L]o]]”]]f]7]J]—]è]ÿ]Ù]¹]²]â^^L^e^F^l^£^l^r^Û_‰_ä_î_ï_¬_â_é_Û`-`"_ð``}`µafañbˆcBcÄdÍd†c}cÇd³eJeFe7eWeaeueºeÂeÍeØeÂe¶ekdädddndld8dEdHdcibñccc›c0bµb…b±bŽb—b~añaßb4b{bubYb3bŸc2c™các¨cpcb¾bÃcc‚cŸc‚cTc‡cÔddeýfyfÈggg%g h:h…hphth¿ihäiŠjejjj¨jÔjÇj°jœj`iñiˆih÷hÁhxhg g f/e‘e=e dòd“d`d¨dèdÕddcñdœdbabvckdpee‘eÛfb„b–bŒbYbLb•bÏbla›a>aPaöcc~c~cbªb»bñc]c’cTb¨b±ccµd&dfd¡d×e/e˜eúeøeêeÖeÆeeWe0eHedýdédÎd´d¯dÀdÂdÓd¸d½d´d¡d„dße edVd¹dÛd¹cÀc¬cßb6arbWc{djdîe_f g g›h hŠhRhjhõhþi.iÜiÐiÕjljíkxl1lÝmmm—nn6nOn(mãm–m˜m’mGl®lk³k’kfkj½j&iµiYiHihgÈgfŒfDff&feˆd•cob®b a`þ`Ž`_½__S_^Ì^Ê^á^Ï^Ø_"_ˆ``‡`üa`ùaXbbccucÚddMdgdxdÇd÷e'd±cócšcÅd{effmf™f-fÕg®g¨fåf£f§g.gg¦h)h¦i,i•jjnjÐkk>kAkjÔk4k’k¼l:l«l‹lylþmcacHcbKbcb¦cBcÏdMd­dÍeereÚeèeÓe¤e¬e‘eieVe#dóedÔd»dÍd×d×dªd§d†d¯dŸd‘d£d±džd—dÈe3eÞf%fCfrfÀf×gg@gfg•g£g²g~g°gf°f9f6f·gJgxgrgßh›h¿h¤hxhÍh¶iièiójj jiþißieihØh†h]gøg¬gHf¦fe€ed‘d1d)d7d~d›ddAc¸cBb a aÁb×cÌd§epf%fqfºgxgÒg™gÂh(hi.ii–i·jj¶kk§l;lHlElâmŸmÍmæmÓmNlûlülïlØl[k¿k.jßjËj¯j_iäiwi"hÿh¶h‰hgof×f*eÁe}e?dãd^c¥bèbQaëat`þ``_Ä_—_s_Y_[_\_N_O_[_«_ù`%`‹aa“aæb9brb¿c2c­cødiúiØiºipi h¥heh"hgÑg{f÷fGeµedÇdxdcmbçb}ba³aY`ä`…`A``_ê_Õ_Ó_Ø_å``_à_á_ÿ``aTaâb'b^b¤bìc7c›d dwd…dzdd×dÄc¥bãccèeeëf]f^f\eÐe–eÄeÒf&f”ggƒh!h¤hÔiivi®iõjEjxj´j×j’j­k9k•k•kõlmkãl,lÇl´l'kk k1jÝkkAkÃlkÕk1i¯hgæhRhÙiûkld?d+dcûd(djd½e eFeyeŽee™eÙff9ff½fôg4gTg%fÇf8eæffŠfÌfÇgggÈgúh«ih´h£h’hŠiSi}iei„ibi?ih²hshKhgêg´gLfêffee d†d-dd7dZdxdšcŸcb±`Ý`{a‡cdHdpd·dÈe3eÝfVfµgfhh@hhÜij>jrj7jªjÉjj#krl±lålÉl·l‘lFkÚk¯ktkj{ióiŒiCi7hôh£hi}ihÉh•iìjõjÈj}j&jñkÌk´kŠk¥k‹k!jÜjÓjµj>i™ihyhgïg gf‚eÝeje;eAe]eIedÞd”dgcøcžcXcb¼bkb%aÏaa_aQaAa#a*aFaMa]ahaHaBa`§`óaMa7afaAa-aÊbc#cncŸc„cÝd(cbzbüd(e:dÕd(dždÝdìe)eeÎf³gnhh%g÷hh^h’háiiNiPi’i÷j jj^jäjýk%kk\kAk¨këkäjájUj7h¨ij«j&iohóiHg§f|f}f¾g7gwhÜj"i¥hHgÊg¹gffÜfçfØf€f^f*eLd=dcÏc°c­cab¦b)b'a°`½`A`‚a/aÏb aÖada `N_Á^Û\º['ZJYîZ [f[Ü\˜]ä`aPaa+_ð^Ô_Á^w]I]œ]}]¥]—]â]ö]þ^V^‘^§^t^Ì^ò^è^º^©_7_Á_‹^æ^Ì_<_¸_Y^Å^0]º]l\Æ\D\\0\ƒ\Ë]]p]Ð^A^T^v^m^h]°]‚]Š]·]¼]]L]d]W]]x]˜]]3^<_q``%`K`_‹_&_k_Š_>_ ^ù_o_Ž_˜_Ÿ_…_†_~_®_´_Â``b`o`H`h`ËaaGapasamaua€aua˜a‘aaùb5b?btbwaøa©aTa a@a=a}ažaœa‘a­aáaâbbaçaÌaÀa°a˜aÄb b6bRbVbcbùc`crcbc$cbïbÇb®bƒb?bbJbTbaßa±a~a^aJaxaaŠa–aša†a€anauawaaáb+b©cc>c/c3c&cScbcpc±cÍdcýddd'd^dhdjdadtddðe`eÁffkf fÑggJg¼gÅgÈh:h£h±hÐhóhÉh heh¹i`iPii hÅhjh g³g}g{gugLg+fåfŽfe­eEduc‘bôb¸b©bÎcc9c btb6aò`˜_„`a$bNb«bñc”dqe#docºcÒd€e¡gBh€hžhhRjkkji¥iVjjék&k#k'kjÂjŠj`jZj!ižhÃgêgxg-fÎfgfe e!dÌdªddvdkdQd+dcËc cFc"bûbÉbœbXb%aíaçaÌa´ašaŽa¨aÀaÖaºaÇaºaeaba‰aŠaÀaz`Ï`Êaˆbvc ccrc”c@bb%cRdtdodd_®_e^Ò^à_4_Q_Z_e_‹_ž_³_Ä_ê``S`–`«`‹`˜`äa4axaža«a¡aŸakapa›aPa5awa±aèb+b b%aÿaªa­a’a‡a}a¹aÝaØaíaÎaÐa§aŠaauaeaŸaÙaíb bbb`bÝccbýbÜbÎbÆbÁb¡bvbObEbaäaÀa`aJa'`Õ`¶`¹`òa `õ`ã`ä`Ö`Êaa9ašbb^bÌbìcc"c8c]c“c”cpcYcKclcbc^c@c/cbîcJc¾dCdÕeªfVf´f½fÍg g”h=hjhÇhåhihjii$hàhØh¶h€hnhðisi7hÚh§h¢hrhgÝg gŒgRfôf¹fEe±eRe*dÌdc9b¨bFbbQb¡bäb´bvb‡bßaš^¹^„`‡açbSb”c%c®d%d6chbfb7bøegShMhhýjSjRii.híijej”j~j†jqjCjiïiëiÍiˆh¼gÇg ftf?eÚe\e dÖdŸdQd=d'cícÍcÙc³c„cbc5c0bóbÜbÉb™bmb=bQb@bFb7baþaÔaðaøbbaäa»a¯aÄbbEa`ÆabbÜcvc®c¶ba…b"bæcÆdcþdd0d„d…dsdùffØgˆh8gügrgngÆh)h…hŠh}h±i"ixiki—iïj jj]kjôjÌk[k[kUj„iüi²h¿i8i+hÙh!gÏhCfÓfRfAfeôf6g-g gpg*fÜg4fle£ed•d&cÇcìcÈcpc„ccbÙbwb a¥akaoaa`ô`÷a0aZa[a[ac`¤_¯_^¯\”Y±XSW÷Yƒ[g\¬^]Ê\J[‚]Ü`s`^ë^Y^Ý^"\é]\Ð\”\×],]E\Å\-[×[¼[o[a\;]2]ó^´^Ä^¢^Ò^ò^´^z^]‹]š]>\›\/[Ô[ç\-\S\_\Ì]G]Æ]÷^ ^6^^]Á\ö\d\•]\Ä]];\Å\ï\õ]-^â`¤`I_‘_¼_Ê`!` `¯aŠ`Ù_Í_¹_š_1_-_Y_‘_Ã``@`+``(``©`ß`ö`’`b`Žaa–a­awa“aˆaŽa^aWasa^aMa]agaoaca{a~aœaÎaàaæaÉaªaša£a§a~aTa\a}aµaÊaõbbVb†bµb¾bÁbÙbÅb¨bØb¸bŒbeb@b b aàa¿aÀaaa(`êa0aZafa`aKayaaÐbbLb{bÇbácGc4c=cHccc ccbb#aÌaÌaëbRc)d"eQfTg2gÛgâg.g:gÉhbhÆi2i#h¥hÌi8i)hêh²h_hMhÌiFhùh³hµhlgêg­gvgXg"fše÷eadõd¿dªd7cbµbbxa÷aLaVbb¾c?c–bÃa†aÐb|c©dcùcèddBdd­eçf­gBgÓgngg(g­h4h/hhIhÑhäh¸hÏi„iªiÖjIj j‚j–k"j×j!iGh§hzihÒh™ggYgfifZeãfe›eØeïfÂff4fke¡e.dÓdrd cþccJcbia÷añama1`ò`²`çaFaZaPa‚a\`È_^Õ^Z\œYÓXmXBY^ZÞ[´\Ì]P\ó[–\Ì_{_k]Æ]è^i\Ø\d\˜\ƒ\½]]k]D]<]o]Ï]%[Ï[ò\a]^ ^V^c^Ñ^÷^‡]É]]\4[Ð[±[î\:\p\q]]—]Ô]ð]Ø]ó^&]Ò]¨]]]œ]s]&\‰\u] ]I^Ø`ž` ^ê_1_Ñ_ã_ù_§`Ka`‡`3`W`†`n`œ`v`Z`„``|```j`G`p`°aa!a`¯`_ü`°a‰a¨aa}a†a`a\aVa_a{aiavaŠaŠa˜a±aÇaÿb aèa·a‰a”aaoa`a’a¹a”aa‰a„a³aåaïaùb/b~bjbWbebzb5b6bb”bbLb4ba±aˆafa8amalaŽa¸a¼a¾a£a­aÃañb-bub±bÐbÀbéb½b¡b¬b“bnaÃa`î`÷aPa÷cdOešf‡fŽf¤fÖfÕfðgZg¶h1hoh¼h¶h‘i iJi,hÝh_h hQhÜi4hÐh"hgögÀg·gƒgMfe®d³dd.dFd6cÏcAbÃbŒbaôbKb­bzb[bjbKaÁ_/]à_@`ça´bbÛc c@c¦c2c,d%e¬f…gvh…iiLhÓh€h†ikjiÞi i~ikiYihÎh¯hnhgÿgÍge‘dVdcâc¯clc^c7c)cbýcbæbÆb™bpb(bb#bbb(bb7b9bCb[bhbQbob{bobwbbb_b_bsb/a¢abbkccbaGa'bVcÃc›c¦cÉc¯dcúd•eÉfMfÍg¼g‘g.ggpgÄgÚgàhhyhahhhÕigiAiÁiïi§j jIjÒjCi’höhhFhåhŸh7g^g f¶fefXe¸eêeßeée|ede…e9dÓdªd;ddudVdc°c`b‡a“a/a!`ï`Ñ`’`âawa©aÆaœaH`´`D_-^],[ Y$XÅYZ¥[ø\I]]8] \\^A^¥]¿]a]\d\\N\s\é]]¡^T^¡^¡^—^&\Ï\*[Ç[º\s]™^'^^C^X]Å]@\Ø\U[Ë[¡[ï\ \K\”]]]¢]½]Ý] ^T^:]©]Ú] \é]C]$\Ë\¹\ñ]1^‘`S_Ó^€^Ì_4_3_Ö`m`C`Á`¶`N`¼`•`f``ê`_ú` ` `i`‘`º`Å`¾`Ða"a%a-a`˜`A``a"a“a¤aašaa~aaxa[aoaŸa²aÛaèbbbba±aˆa™a¶a¤amaa¥a`a>aaasa/a>a‚a aÉaüb1aúbaüaübb:b]b5bañaÌa‹a~a `~``ž`ï`ø`±`ñ`Ü`“`Œ`•`ßa-aoaÇaøb.b;b b3baœ`á`'``/`„a7bWcße-e™e†eÊf]f§fÞgegêhbihûhÃhŠh‚iiDhóh‡h)gíhFhÄhØhzgñhgñg0f±ff}edƒcÍcŽcŽc’cšcˆc§c¿c’b‡aÄaºb&b™bƒb9a€ad_ý]u^'`)aa”b;cc^c"bßcclc«côd¢eÐfãgÇh7hUh€inji²iChüháhßhëh½hThgÕg–gGgfmdëc‡ccbÕb½b¦b‰bubxb{bcb[b]bQbb b#bbaÿaâaÌaÆaÃa´aÁaâbb1beb”b»bÆb±bÄbzaÀacaÓbbŽb³a5`]ab[cyclcmc_cycÔc²d_e…ff—gzgŠgf¶g gxgÑgægcg]á]¬]u]]\ß\X\[Ï[\%]o]”]–^o^\ù\Œ[÷[„[“[Ò[÷\`] ]{]Š]¶]å]Ó]ð]d]o]®]\Î\¡\›\©\Õ] ]±_¨`>^ž^Z___J_ø`’` _]_x`P`ð`½a a `ü`Ò`~`“``„`¸`ßa aOaJaZaMaaa`·`¸a*aˆaÙaÊa³a±a¨a§a¯aÆaÞaäaÜbaûaïañaÆa“a†a¯a«aJa aa!aa `Ð`Õa)`Ö`åa`üa9abaˆa“a¦a¦aÍaÒa«a¼a¹aayaZ`Ü`5^§]ø^Î^Ë_4_–_z_ê`\`t`R`p``–`²`Ùa`öa a.`ò`V_ñ_i_h_­_±`abÏcádVd1dieðfxf|fägti!iþii‚i:h¥hÎi h³h;gÊg­gäh`hÜhÍh8g¸g£g8f†fUfed¡c¼cVcecRcgcEc c{cœc,baa)aŸbkb{aì`ë`ª`3]£]^þ`a-avbÇcqbûbØckcÃcÞcåcÇde…f f™gFhliiüinh¶hShlh|h|hZh g±gPgf«fqf\f1eSc›bwbaÛaÄaÐa×aºaÑaøa÷b/bfbBb1bb%baÑaàa¾a’amaVaOaOaZaWa|aaªaÐaÞaÕaÇac`Ÿ`¤`øaha¼`É`laubRbåcc&c;cWc}c›d^e eÝfŽgBgðgµfºfœggYg£gqg gihVhðh²h4h—hÔi•iÔiiRhòhFg?g?h%heh•gøgZfåfwf7e°eneše¬eFdýe2ese­e¯eed×dAcácðcb½b#a3`«`¬`Æaa³brbÃb•aäaC`£_K]ë\Ò[bZ&X½WÖWÂXwZ…\\Þ]O^_1_.^Å^§^Ã]½\Â\,[Ø\ \\f\R\ä]]]°]¥\È\À\ò\å\\µ]F]|\é\@\Ô]E\ø]È^\Ù\[m[¥[À[ž\\s]7]W]•^V^`]¼] ]]³]0] ]\Ï\Ë\é\ý]í_G_¯^^\_J_=_{_•_w_-^é_ß`À`û`Ç`°`_`h`‚`_`˜`¢`w`¡`ìaaGaNaSaIa0a'a,a)a?aja˜a²aÕaÝaäaåaìaøaÞbbaÓa·a‰ahaWaca4`Á`¥`äa±a‚`É`é`G``³`•`î`Ú`t`áa@awadaKadaHaMa€`í`\_Ç_Ú_ä^í][Ù]+]ý^x_ _º`†aeaÇaúb*a®ac`¨`T`w`…`R_Á_S^ù^¼^í___X`BaÞbjbíc‚egfyf€gg°idižiíj5ih¢h„hgºgtg’hhƒh¹hƒgÇgugBfe¢e;e dxcªcccccböc…cÍcab¬ab`òaayaÄam`´`"_h]x\½^``Øab‘cÕc®cqdddždxe;f e«e‚fÎh_h­h>g®g_gDggàgÓgtföfkf(f*fcºcscb‡aöaH`àa`ÅaaØb2bYbfaé`…``_D_\”XW¢WÎX;YÀ[²\Ý]^A_ _À_{_|_^\Š[Ö[¹[Á[ê\\ \{](]Ž]¶]\á\ó\ö]7]š]å]ë]ì]g\Õ\ö]]Û]š\s\[©[’[Y\\ª]:]z]^Ù^„\ô\Ÿ]l]¦]:]]\Ï\Ï]]w^Í_y^æ^x^é_<_S_Ã_o^ž^__˜``5`Ú`Ð`µ`Ë`µ`‰``—`³`ž`Â`òaaaaa%a aa;aQa}aa£a¸a»aêb b aüaéaÎava$a`þ`÷`ª`T`_ì`` `û``ƒ`‡_æ```H`_ï_à`o`úa+a;aJa`å`ñ`^E^&^À_Œ_î_4]\¿]´^Z_``ƒaŽbŸcmcµc­c b—aß`Ç`†`8_e^k^Q^7^^U^è^÷^c^Ö`.a2bocdšgfâfœggpgÔhPi­j iyh¡g§g€gMglgèhahÇhžg·fêfke£ehese%decHb¸bÙcc6c(c&cRc_bàb]a•`Ë``¥a`ð`N_²^¹]\A]^_#`X`ra^c¼d@cÃdQdc c0d¾e1d™e:fŸfdeˆdâd™dÌdîe d÷dÌd•d‚ddàe[edÇd(dcÊc3bSaUaaXaaaha}a•a¶aÐaÀaÇa³a²aŸa§aœaaxamakaUaZa8a(aa a#aa`à`'`ja(``)`µa³b{bnb_b±bc3c¹cÃdpe,eõfNf–gGg-f•fFffhfügBg?g>g„gÊhèih`Š`ÆaOaa¹aÒaÚaÀa™acaƒa°aÛaßa¦a»aÊaÁa.`†`;_œ_!^ô^š^B]ÿ]Ü]U]x^^©_^ä_^½^h^ª^ß^‘^p^2]\$\|\Õ\¢\RZõZÕ\w\‘^ƒa¡aïbQb_é^^^\^e^ž_0_\_ _K_ˆ_¶`H`_`D_î_¥_J^ó^O^ ^n^4]Ü]x^]e\\ï]ª_ `çb¦cÀd®ffâg6gfÒf¹f•fØföfïf¤eþeÇeLe#dÕdd}cÛc1b•aöaja b%b¥b®b_aûaR`ø`•`_¢_C_9^ô^Í^ð^—^r]±\q\0]`^Ø_Ë`›`”`àb/b@a)a•b9bTc‡ddddÄdÅd¦dcsc7cIc™cÕc–cIc&bóbÏbÖbœb…bFaæa•ahaSa&a5a>a_a?`Ý`^_ß_±_Û`"`S`}``”`ˆ`¼`ýaaPaWaQa7a `Ü`âa!a`_á`_…_6_Õ`Éaªa`Þ`Ía-a–búc?c2côd«eeOeÇfSe™e]eŸeeçf[g€ggfßg4gngjfÞfOffîgg g¾hNgÉg_fþgg$f³eûdùdßd£d$dc´cKbØb`baça¼b4b¯ccBbðbúccdøgðg­dy`Ñ][RZû[A\Ò]È^]^]á^>^²_€^]M]K\³\c\[õ[¾[º[Ã\V\Š\s\£\ò\Ò\Ü]3]_]g]:]w]†]˜]˜]f]&\þ\Þ[ÿ[Y[ [£\Ô]5^ ^´_³_¸^e]$[Ñ\V] ]:]í^J^—^P^^'^‹^È^f^}_–`(_½_]N[è]ª_\___J_t_¨_Ù`_ƒ_p_›_Á_Ë_ía aµaáb.bVbab}baåaèaçbaþaáaW`¸`_¶_ª_¦_û_ª_Š_u_´`+^ã]ò]}]2]Ô^ƒ^p]Í]Û]ü^.^]¶]×]à]T\\;[CZ9Z•\_j`ZaaÝaìaú`ï_£_2_^º^Ä^Å^¥^`^ ]Ã]^ ^Ë_'_ ^Ï]ã]Û]Â]Å^œ^È^f]×^Í^‰]\â\Þ]^ _ÔabDb¢c5cúd:dÉdÛe5e]død«d^d c{bÉb›bcaßa{a3aZa]aea•apaaa*` `_ _^Ó^{^E^^9^·^^X^.]‰\m[¼\„^%_`X`»``;`ªa `£a aµa‡bŠc¡c~cNc_c.cc bØbŽbLb?b-a³aaa`¹`¶`Ä`Ü`–`o`o`_`e`i`¢`¹`ëaa/`ó`œ`K` _í_º_§_i_j_¬_Ó``§aaEalaIa`¶`Ž`•`0_ ``‰_*__µ`ˆa`1_„``ÛaIbdbàbÐcd_dÕe&egff$eÉeÝeþf6fAfÄf¦f‹fðfðf«fBfPf”fçfåf³gBg‚f´feóff9f eÉeKdÁd=cçchcbbaðaŸaªaîbobŸbìbúbÀc/behâfÔdÁad]b[Œ[|[ý\]C^0^»^]ñ^Ž^_P]ý]–]x\”\X[Ê[Î[Õ[Ø\!\—\=[ø\^\\¸\Ý\Ä\Ó] \Ì\Ö]],] \Ö\”\'[ˆZ÷[7[þ\¿] ]¨^í__K_r^\M[Ê\W\©];^_6_‘_‰^Þ^}_^·^;_0_ã_”^é^ð^]\p\{^r_¿_–_‡_Ù_«_{^Ú^§^÷_V_b_–`¸aŽaôb9b—bÔbîb¤b^bNba‹`Ø`h``1`Îa&aia¾a%_h^}]’]I^<^Û_J^a]^]]]E] \í\E\ \[Â[¿\1\‚\b]<^2^ÿ_÷` aIaMa.aaäa `N`„`_Â_É_”^×^˜^l^^]á]Í^^u^o]ÿ]û^9^n__Ñ` _ ]Ø^‰__k^Á\‹[«\ª]8]–^a^Z^÷^Ê^¨^ï^Õ_Û`:`«`-_D^a]k]Ù]?]t^^–__<_#_L_%__›_^÷^Œ]ô]Ù]Œ]-\Î\á]’]°^]÷]>\Ò\W[¦[¥]_``Èa:`¯_Â_Ç`‘``a^apa¦b´cGbÎbVaÇa`º`ž`‹`9_ÿ_©_i_®``_ö`` `!`````:`a`‚``Æ`Ë`õ`é`Ñ`°```_º_g_^ÿ^í__k_ó`³aa.a`ì`¡`¯`W_ƒ_£`P_¬^…^î_|`b`^Ž^È_x_å`„aœbŸb½c*cádbdðdµdàeµf>f€fFfeðf fjf·fxfAfe¸ffHfeÈeše½eéeøeõeÜeƒe6e.ecdîcUbZbHa–a4a`‘`œ`j`¦aMaÀaåbb`b¶cc­gmf‰bbî`f\Â\‡\4\¬]]´^™^í^^x^Ñ^]_^]«]º]*]\‰\t\/\n\…[Ø[E[~\b\»]\œ[Ç[Û\\&\B\>\T\r\[y[Z¯[P\d\Û\ß]D^¦_l^P]­^]Û\[µ[Á\:]^6_R_Y_Æ^Ö^,_^8]Õ_d`_]q]Ó_;^:\l\Ú__í_¶_Å_î_€^b^7^t^È__P`ca{b b1bƒbâbþbÃbLa `¯```aHa¢bbgaÜaÍa‡`=^²]p\p[}ZÑ\—_Š_ÿ_½__^£]2[GZ Z Z)YõZZ„[¯\ì]«^ ^Þ_Ô`íaa`X_Ù`F`f`>`¡`™`Q`¦`£`”`^`_Ä_Ü_™^Þ_´_­_­`¥`3_V]Ä]8^‹^ú_±_ì^Ë^]÷^[\ßZÒZä[Ö\G\§\¥\ˆ\[ð\©\{\Â]{\]™]W^_^C^ó\lZï\a\¨]/]“^^K^j^Š^V]Ò]I]g\o[ZBYþZ`T_¬_Í`@`•`úaaaba=aob8b•bGa¯`ë`F_Ì_j__ _G_h_»_ý`_è_ˆ_Y_W_<_ _K_§_Ð``G`†`áaa#a#a `Ó`€`7_ò_¾_q_^Ÿ^š^Ð_Y`P`È`÷a `Ù`l`<_É_ _F_À_J_'_v_·`Í_²]²^!^F^{_q`…aÜbqbäc–d d§dçd dkdËezeÁeÒeèfeðee7e?eZeœeºe?dÚdÕeed÷dödßdÎdédêdhdcxb(aQ`¨_Í_·`%`-```[`÷a[a‡a®aëb c×eÓheñccN_\¦\Æ\–]±^^o_ _(^I^T^¼^5^’^]ö^1^^B^^ ]e\£[gZ‚[[Æ\R\g\¥\*[˜[²[Ð\![±[,[ZÄZzZ\\o^9_«_2_­_5]]Y\³ZœY?YY W’WEWÇWµXKYYZ6Z€ZŽZÕ[É]/^B_U`aa9a7`_‘`%`¾aaia€a][æ]0]³]–_~`a`<`ü_m]´]5[ Z Y°YœZLYòZY‰Y@[•\QZëYøY³YmY Y:Ze\Z]^][ï[>\r^Ú_ã^ÿ^Ý_ä`™`í_š]D]Y[¯Zu\å^-`¥_ß]Z^\j\:\Œ[‘[ÜZöY­WêXYXnV²YZvYSWæV2VßW£W`WâXhXËYpZ"ZrZß[Å\¶]^‚_‘`fa!`Û_§_”`K`ña¡b4bDa©a`__Â_d_h_¨_z_0_^ô^Ô^»^ä^ò^‡]Þ]\j\\ \8\D\V\N\y]D^ ^Ç_•` `W``Ô`á`·`—`s`?_ë_x_!^Ù^€^<^À_Ì`g`]```_]^»^©^î_?_¸_Ï_Å`n_ê]ð]†]Ä];]“^j^ÿ_Î`ýb&bÖc^c­cc–d"d£dždfd^d}dsdUd:d7dwd d„djdxdmd+c±cFc>c.cBc5býb£bbaj`b_ó_©`gaaAaUa a"`í`«aa’aÀa»cŠeÆf eêedcÔ`¥]¦]š^^¦_P_H_´_§_^ÿ^k^œ^²^ô^Á^§___^ß^R]]\O[â\ \*[Ý[{[Õ[¾ZÅ[`\)[ï[»["ZèZ­Zµ[[[:[³\Î^^³^Û^û_^t]Ø\Â[[ô\\O\ ]&^v]ˆ\B]€_2_^` _æ_‹_À_9\"Z·\3]9^W^Á^à^Ÿ^ ^„`b_±]Û\²]o`]_Î_Ž`F_ñ`` `7`e`÷aîbZaÓaka`Ù`__ _Ê^M]%\Z=ZƒZ¡Z`Z¸ZMZ%ZYÜYyZZZ;YLVÏT¶Vd[¾\\ö^I][\Ë]]2^_v]Â]][Ž[UYwXTW{VéW3VVeV¥WþXýX¶XDWîWâX4XAYZ[P\©^_?_Õ_ ^#^õ_^8]b\[•ZJYýZè[d]\ø^l\CZœXÎW¦WT-T6TUPTµY[]\’]¬]È]î^^v^D\\Ò_ý`t^ª\µ\ ___—__[_s_Ý_ù``WaaŸaYa}a_z^À^!\\,^—]à[]ZYFYUYZY&X\X`XÝYX¬XXÙX¼WÒVTÝQ×RÃZ}[¿\8^]¢^]_])]X][_YþY½Y_Y-WÂVŠUáUT€T(SÜTNUWV8VFUìUÕU›U¿V6VžVèWÜY Z‹[Ý\G\{\Ñ]]\X[ YåX“W[W„X$YYïY‘YâYuY%VIUOTxQ”QnQÆSbT¸XºVåPÂS!WîX;VªWÃXÎY+Z [ZaY¢YˆZü]û`wa a@_·^#^7^à`ja¼baÞa”`ˆ_°_‹_¶_w^]Ö]l]\9[S[[¡\"\U\R\J\ª]*]Ž]ã^^Q^—^ö_¥`2`y`z`g`M`?`_·_Ÿ_J^°^È_b_I_1_]^÷^0^#^^»_^_q_y_ø_8]º]”^…_^ÿ^Á^È^»_B`¼a”aóbYbWbƒbÍc+cbc­dcícÀcàdc÷cØc˜cºcQb®bÙb½b7b b#aãaébaÅaa` _æ_ô_þ`_Ó_›_¢^ß_Ç`_a+e½gfLd¦b“_€^I_Ø``k`a``` ` _j_i_‰_J_,^ý^í^È^£^\û[­ZFY½[!\-[2Zÿ\&\_[é[Z[ZÀZô[Ë\f]-^@^x^D_8_Q_š_Ã^§]p\g\,\R\¨]ˆ^"\Ï\C]ž^ß_+_X_ ^Â^ë^¬^+^ ^q^f]õ]j]‡]ß]D]Á``â_]\í^w_‡`L`Ó`5_Ü`ša*`»``Ÿ`È`Á^¨\,[[([([â]Á\ÊZiY½X¸WhWÔX^WÍWþWVÿWVþVIUMTQQiNâQa[@\¤\à^l^n_\ë[—[—ZçY¬XVXXWDVUT3SvRœRQäR-R RÿS‡S„SiS¦TTCT‡TÍUsVuW¯YYðZœZðZÆZÂY×X†WKUÌT¿T-TaT«UVWÇW8RúO$ONsM÷NcNNO QRªS¬UaU²VXCW²XQW÷VY+ZWY1XXÚZ§]Õ`Óa¿aC_²^z^ë`GaAa‚a¿a\`_k^É^}]ô]Q\×\o[Å[n[P[ä\î]»^7^1^9^>^P^€^¤^ç^ì__z_‚_ž_û`G`@`-`0`H`H`_±_(^Û__^Ë_8^Ì]õ]þ^6^}^÷_X^ø_`^X]q]¬^ˆ_g^ß^„^†^d^Ù_Ð`j`Þa¡aßa©a¸b_bØc3c‡c‡ccªc­czc4c)cbbÂbsb§bRaæaxa aÍa²an`y_«_ ^Š^µ^Ê^Ô^à_#`àað`T_d_a"f&fÍd¶c9aÆ`)_`U`‘`p_â_Ï_Õ`'`}_º_¡_Š_9_%_^á^—^z][èZ»Z Z[’\j[ü\+\`\[Û[NZç[[°\p]]¢^d^,^g^ø^Æ_ª_^3]B\ê]\Ï\²]n]þ]¡]y]j]w]]Œ]ª]¥]º^^ ]ì]ï]}\°\\\–]D^]º^\`Ø`ü^«]ˆ^”`VaÅbg`†^^¸`Æa `°`–_ä]Û[xZ©Z(Y Z [[æ[.YÑX©W`VóW4W W"W‚VðV`e`5_ø_œ_[^ì^¶^Ë^j]ù]E\[&ZÛ[]\\\6\E\#\7[Ç[m[$[%[³\u]@]Ï^k^Â_^š^_ˆ^u]\z\û]\–]†]ù]Ô\ú]g]5\ú])]3]C]Q]¼]œ\X[Z|Z Zf[˜\D\‹Zø[^“`±`q_´`Q`_`Ì`¯]b[Þ]ã^ä_6`]^Ë\6[oZkXðWûX Y Y]Y XW]Ï^^^k^¦^Ë^F]‹]6\ý\Æ\Ý\Õ\æ]]d]Â]’]\\’[m[[o\r]<]O]|^ƒ_T_¿`_ø``"`J`8`D`-_È_}_,_'^û^Ã^4]|]’]ü^^Ö_^Â^ý_%^¡]ç]ª]†]^ ^];]2]F]!]â^ä`"``²`h_û``a1bQPÞPÐPˆOµNîN0MM‘MÿNÛO`OfO1O5OàP¡Q7Q²Q÷RQÀPøPÐP¸OÆOON²N[NNM@LKK5J2IiHIH×I¾K_LþN5N¯M”LœL­PÝSÔTRTSçV'UÀVeX£Z[ZÝ[û\ˆ\—]X]ý]í]ª]•]^] \”\¤\\\R\¨\»\Ð\à] \ñ\Ñ[wYÀZ Zû[i[µ\a]f^¹_¯`J`‚`T`u`/`_ý_»_º_¸__S_"^¦]ò]}]¢]ì^^f^¹^Â^Â_'_"^Y]Ô]ˆ]b]H]¢]Ú\»\•\Ã\¼]H^0_v_â`*``0`V``¸a¥bnb¾baa»a{aoa@aGaP`ãaHa_`s`w_²^^.^u^®]ã]£]\\^-_Óada¾`q`ÆaLe/d1]%]»`a_×]Z\^R_Ø`_œ_Ú_ß_e^Ê^”^j^]ú]•[æZeYæZb[c[Š[Y[F[â\#\p\\[[[Õ]#]Î^Y^³^Ê_Ž_N]Ð[ÉZíZcZ \^†^J]]Ö]©^^}^P^´^´^^2^P^)\ù[xZ¹Y÷Z Y\Y Y¬XèXY¼[ê\?]›^^]ß]™\¨[›[¸\\£]O] \®ZäXŒV¤UÊU¢UdUzUUTšSÝS€S‹S“SrSZRêSxUUQìMKOüY[|Z9ZÒ[ƒZÙYTW,UET\SäSµS1S8SRÝRzRiR{RŽR“QêPÙONM/LàM!M’MÄM¼MRM MN"NuNÒOLO–O³OgNÅN‹NaNDN8MÏM L*KØK„J+H^G’GIHK^L¢LÐLJ°JéK¸NPØR§R›S×RÁPŠTÜWÙY¹ZÅZ“ZÅ[€[È[ý\ï\õ\ë\ƒ\‚\#[×[Í[õ[ó[¦\ \D\j\b[ÓYêYZ[[-[[¤\ú^H_œ`,`}``;_Ü_Þ_Þ_Ê_Î`_ì_1^T]‰]r]Õ^^^P^s^@^Œ^Õ^½^]|]]]+]¯]¦\K\\Y\­]O^^è_Š_Ð_¤_»^ð^Š_l`ËanaÎbaU`ß`Ÿ`×`ÿ`Q`Ò`ø`&`_4^j^2^ê^¯]º\Ö[Ð[Ò\ð]Ã_baãa¥a6bšbç[áZ^-]±ZGXpYÌ\C^«_©`_â_c^ø^N^2^]Û]ê\Ò[YèYJYµZd[[~[É\-\ê\Ú\†]]ñ^©^¹_ _Y^Ž]bZþYY4Y7Zä\E\’\Z\Æ\×^K_w_¢_¨`_^§_G_Ö`_c^_]’\È[NZåZïZJZ$ZV[5\™^]Ï\Œ[ÒZ÷YýYfYÔ[[í[åZ¡X¢V}TnSòT5TMT"T&TTS%R´RÝRÑRèRyRRRSQ5MxRÏZ˜[çZ]ZZpYˆW¡UÈTŠS­SKSS?S¹S{S(RÀRßSMSèT S¨SQžPNXML§LÃLÒL’LNLLCL‚LœMM€MÇMèNMßMM>LéLeL(KàKjKKJ2I’H£GVGƒHJrLßLÄKNJ–J†KLŽN¬PÕPðR€RÃR­T”U÷WBVÖW=WªYp[([‹[ö[G\,[é[>[®[[•[‰[<[[‡[¹[¸[š[SZ)YgYæZ¤[[y\µ]Ý^ø_¼`:`d``6_ø_Ä`!_á_‹^Û]Õ]˜]À^]ö]Ü^&^']ñ^3^À^ˆ]ç]e\ÿ\Ë\Ë]]˜]i\O\ \‡]4]C]½^°__G_j^×]”\»] ^º`'`òa`½`¤`-`M`k_¤``E_‹_e_?^æ^¹^Ï^q^+]f\H[=[=\Ë^Åa¨bcaõ`âbNcr\áZ9\¶[ˆXÃWÊX@Y2[P]¸_†_º_B^¢]˜]§]¼]Ö^=]I\'[NZKZZ€[G[À[ü\^]L]|]R] ]ß^^^Ž^Ê^"]*\XnX_ZƒYª[Z¬[—[¾_`Ea;`é_¥_À_ƒ_>__D_Ö_Â_a^w]\Ê\D[í[’[©[ý\~\<[„ZéZ€YüY1XÛX"WƒWóXPPçQQóR²U[VT'VVÈVÕXY7[(ZÎ[R[£Zñ[J[P[8[[,[P[P[y[PZÝZµZYqYˆZ ZÃ[&[û]^^Ä_ _\_Ž_»_…_^ô^¿^b]Ü]²^]í]Ç]Ø^^']Â]«^]ì]r]\È\‡\M\:\Á]}]2\œ\p\q]]h]Ÿ^Y^µ^ö^Á]„\…\x\n\¿^_Ë``j_à_—_Ð_m__¾_–__]^ö^e^Î_^Ð]î\¯[ºZZv\Ò^j`Kavaª`êb4aÉ\U[p[ßYzWãWWSWkX[G^_…_ ^:]¥]]u]¼^]G\º\[+Zæ[[G[ [0[g[j[n[°\8\j\ÿ]G\Ý[ç[ºZ…UåWn\¥]L_ _d^^;]ò`J`}`•_Ø^ë^x^]É]=^]ê]±]ý]˜])]]&\¦[ï[“[pZÜZYWXýX³X|WfUÓUhUT[SÓSrR×SwTSJRÀSSWRàR]QƒQuQüQûPðQ)Q²RiQ³PìW%ZŸZsZ‹YsXÖW3UšT.S6RæS SƒSwSKSpSóTnT‰TÕUTDSgRðR{QþPÖN‘LµKÈKäK¿K;JâJÌJªJJºJ±J¶JfJyJIòIåIºIÎIHçH5HG¶FRGHöKqL4KJK&K„LMJN[OÀO]P¢Q¤S×U‹T1SìTƒXçYX¤ZÝ[[GZýZëZÏZ|Zš[ [_[j[EZ²ZYÒY•YyY”Z$ZƒZü[õ]]ê^7^[^^^3]Õ]à]Õ]¹]ì]ô]ú]Ú]Î]ë]Ÿ]]ú]Ý]-\Ñ\s\[«[ó\š\¾\E\\·] ]L]¦^^v^Ð^Í]ÿ\—\\]]]H^S_Å`M_}_D_S^æ^Ï_^¿^n^L__‰^Y]I[…ZuZ»[Y\®]`:a8`£``ã^xY£[sZwWaVÖU†UÂVW«[^Y^Æ]è]®]O]£]¸]\§\BZàYÂY8Y«Y¬YAYsXêXëY-Y¥Z•[rZãY–X¥XU©SUXù_,`Îaa~`7_H`a__f^Å^¥^‚]÷]î]‰^5]À\ö]\–\o]]4]{^,]$[5Y‰X¼XèXÑXzX@VèU5T§THSáSoS8S9SlSfRïRŸRÍSRëRhQPÇQ-P¾P2P»QºR´S©V;YiY¼ZZXÙXAV2TÌSoRéSS_SZS=S¿TT£TõTåU TSRºR.Q™Q-PßP2N¹L§KxJøK J»JaJ[J IåIqIqHþHæH¶HËHúHƒH°GïGîH[GóFÈE§F8GlJK¾JÅJ%J÷JÿKÕMMHNVNLP^QHQ[TSÖRTXYÄZ,YÂ[YZüZáZ…ZSoSdS]S~M–ORO-P©QôS{UUÚY8\»^]OZ¤Y*X.W VLUÖUßUÓVVXVnWWV¹V R¶M\JILÐPîPRäYTZí]\ð\§[ÄWÕYTZ“Zö[…[Z®ZgZ…ZZBZ5ZK[<[•[qZTYIXøXV§VÍWuWÊWáW¹WÉWWWAW9W(W(W-WXWW@VSS¾PŽN¼N¹MrM•PQÆT¶V¼VÔVUBU¡UèTîSÛRùSwSƒS'RñRØS#S:SuSR‹RQ¢P³OlNEMdMLAJ¹I'IIÁJªJIHFGJF®E·E^DÓDñEEE(DÜDÒD†DCîCµDDÏF´G¿GÌG¿HH,HHøH HÃKM±QP÷SþXSYY X[XšXÃXµYYY`Y‚Y¿Y±YœY¸Z ZdZYíY½YÝYÒYSYIY*XYWšWvVëV\\æ\CZZ¥Zó[â]ZNX XNW×XXW¶W+W_Y,YµX^XAYÞZšZ'Y¹ZÌZVYð[”V N3M£NN×PWQ>S‰U"WZ½\ï\³Z=XW1VWUÍUU UZUBUxUäV6VæXWuQÛJêH7I´IéJ¤Q XpZ ZœZZNZ•X³WJW[XŸY\YpY_Y(YX©XØXàXïYYøZ_YýYŠXñXVÊV2V†VîW2W.WHW4W;WRWXW€WrW1VV'TûRSOŠNN M%MOcRTVTîUNUaTDTÁUTS;RéSsS–S"R­R™R€RR‘QùQÅQµQsPN¨M‹L’LdKàJ«I’IIëJYI½HGFŒFEŠDªCËD`DÊDÀD¸D+D CÕC¯C8C-C›D$E+EóFZF9FûGNGºHHH+J¤I™JôQŸRñTðV§W†YXÒYXŸW¶W¹WSW¢WçXŒXØY&Y¥YöZ‚ZuZ5YÁYËYÏYSYXY?X>W VUTëUV…[^m]l[k[ Z#YÔZ Y.YPYŒZØZÙYèZÆ[T\1[{[Â[ÙYòZiY±YgZfYÜZ1ZŠZÚ[ë\Ö]ú]Ž[¬[½ZÛY Z ZòZ¤YlXEXVfSbRÜUÁWeW%W3VMV^XÃWDP³L|LALµMÛO^P¾RÏT V"Zj[ÖZÝY–WŸV{U÷U_TÄTIT@T–TÕU‰VW±XêRÿJWF6GŒI¥IfMÊUVX±XSXIXšX”YŠXäVzV0UÙV‹WQW´W¤W8WWhWEW¥XX“X,XWÍW­VØUUTUNUlUvULUnUÊU°UUT­T&S‘RöP·NLMƒMLaMµP5R!SATT>SÆSöS RãRR»SS3RæRGQ­QŽQ•QQ7QjQOrN LýL.K‹KJFI`I)HùH¦GÃGF†EªEDNCÝD,D^D D=CÞCvBûB€B{B­CHDD‡DäEFZGHiGÿJOJHÚPâTsTÖVV¬WúW‡WhVÊWÊXhXW!VÛWzWàX·YcZZZ3Z ZZ,Y¯XæWÿVÃU€T‡SæTVõ[À\HZ`ZÆZcXcYÀZ˜YÓZÚ[9ZeZù[ÿ[L[aZ YXY.Z)XWþXüZ[[ƒ\û^^*[™ZT[}\ [ZÜ[U[ YþWlSƒPþO•Q’UU§U!TSU3UPPJpI]JŸLXN‚O³QgS U>YÊZÌZXåVÊVGUS”RáSSËTIVVžV+SWJ*DŠEÆHœJÚOkUöW˜VÜVÏW¦WüWÄW#V%U,SòT¡U’VUÿU—V,UþUßVVVVbVkV8VPUÎT‰T!SòSqS]SÅSûSæS$RvQ½Q¼R.QßQ—O»MmM#LëL LwN1O{PWQ_RR®R¼RFRVRR‡RbRpRRQ-P‚PPP0PGPdP NïMÍLÇLKSJóJZII6H…GóG3FžF=ElDÃD1CÛCïDCÐCˆCeBÍB™BBBoBÏC\D*DèDéEcEÒH^J¿MwOÁPžSÃSžSÊU¤VXW”XzY-YwYÌYY|XþXWjWUWÉXUXöYQYõYØYÓZ&YžXjW U¦T¨SÎR°TBXŠZY3ZZ¢Y]XåZpXÃUÈVyVÒV•WbXNXyWªWüX®WÕY£[NYÓZ[Û[âYþZ„]^S\}ZYÎYÛZtZÉZsZCXøV»RÈN M\MNxP.PÇP˜QåRˆOÜLCHŸG H#J+LàNlPnQÓTFYjZ1XÓWÐVURšQ¢QöR~RÜT¦V3R6MÀJEXEFþHÆLAQÛV,VÝW[W#V¶V‘VlVcT¦TGSVSCTTžT·T»TãTªTôU1UT÷U?U¬U|TéT1S~SLRÛRNRgR(Q´PìPÂP†P«QSQDPâN2KêLYLŽL LTMËNûOìQ QÀQéQŽQ–RRAR%R@RBQ¹PŽOµO…OaORONNáN.M2L&K†KJ¡IÿIBH‚GþG}GFBEZD­DCØC¬C·CqCQBšB%B AÊBAÿBtC*CâDlEEõGcJÚMOR TÌT½TèVW^WðX(X^W±VüW X X)WMWW]WêXÈYfZ YóYÃY¯XÜWZUÓTÉSÏR:RˆW‰Y|WX–Y³W›W„XÛVîU2VT¡UmWŒUºV VoWVXVXXGWWªY†ZBYYXXVX WÓWýYY¡Y0YQYcXmUíRNËN2MÅMsLäMONîNðMlJ$H„F÷FFAI2L NdPvSX¹YÞX£X U½RtPfPóQQÂS¯U‡Q™KžK^JâJØK J’MP¿TPUÎV~VNUÝUîU­U?S“SjRŽR2RèSSSˆSzS£SÛSÑT TTTtU!UJT©T$S‹SRAQUQPèP§POÞOÄPPfPfPdMqJîK–KÐKåL L¢MßNÖO¿PP;PpPÞQ­QåQîRQçQYP ONµNN]N MÉMzLÁKÌK@K!JíJsI™HùHƒGÕGTFbEŽE D¸DHC´CÎCUBáB’BIBCBQB£B¥CCMC—DDƒEFnI™KˆMQU0V¿VäV–VUYUiU®U]UÎV~V®V£VÊWW W¸X¥YYuY­Y\X×X\VºUTDS%Q“QÌVƒYbWcWW~V¨V´WTýSUUwSÄSžTwRzSÏUUcU¸W¯ZX•WFUŸU VûV»UšU{V\WcWªWZV¥U·TÛTSP—N«OFMÄKØKzL9N,MzKÛJ:HUGFEWD·F†I¿M_P SàYBYóY"WaS*PO÷PPiRS˜SO´N^P±PòQOÿNâP QURÒS¸TÁU$T¡TmT SËR0Q¶Q^QR7R†R~R,RbRERRÈRÍSlT@T¹T[SþS¦RÓQ³Q+PýPzO°OHNÊOOAP OlJÀI÷JøK$K”KrLpMZN.NÉO$O‘PKPâQQAPãPTO[N~MìMÀM•M#LáLrKÓKJÙJ¸JaIÝIH½HIGxFF E­ED)D"C†BúBÁBgB£BÛCjC»C­CžC‰CÄDûF7HòLNxRU+VµV¶V U¨UšU—U@U%U#U«VbWWoWªX XXXX5X(WUfT@SAQ—QNRãW WÖUëVªWÿW®WU»SßT SøT5RjST5T=T/TVKUˆTTiUSUöUU²UÕTÌT‹T€SÓRIQoQPNãO°P%LöJæKGK¥J³HÑG‘GîFVD:CÙDäH²M+P@T8ZZZxWS}OÌO*OOQºR©QêQIQåS„SRMPíPšQQ³RYRŽSSuSfRÜRvPPPqP¥PúQQQ5Q[Q!Q]QQòRáSÍT8SïS‡RèRQ%QPÍO‚NÎN]NªN³OÍN”I±IBJ?JàKK´LLmLäMEMùN—O*OxOˆO\ONmMÒM5MLæL@KÕKkKJÅJÖJ£J>IƒHùH¶GëG FkFE¹DûDVCC!BÖBÙCCD,D÷E*DgCDDEIMP#T~VçUZUU„T»SëS˜SðT TÑU“V6W,WòXiX¯XSW}VêVT|S?SÀQOÑRdWmZ0X‰W:W{X+WøWNVS´SR*P»RyRRIR^R‚SKRÀRýRpRbR±R—RR/RQÍQìQòQÇPÐOkOO¿OÛLùJ^IŸHÂH­HJGaENCTB§DÚK©O^RW\ZÐXS0P7N—NfN”OøR@S$RÞQäQkP¿OÍP:P¬OÊO‚PÇQ=QQzQxPÒPOMãN¼O˜OªO„O:OOO¢PPPCPµQ QÅRÊSRS)SR¨QþQ&QPÙOoN]M«M¶N5O{NsIäH¶IÚJ{KOKãL%LELaL™LÍLúM|MÕMÊM¬M¯M„M?LÐLtKÞK?K JêJÒJâKKJXIDHœH6GÙGcFÇFDE±ED€CçCCNCIC C]D5DóEÃE%DµDtDÿF¡GÀK_OãSÝU‰RªR[SÅSR¡RgRèSŠTTäU¶V…W7X/X…XoWÕV›UåR­P+QêRËTVXYyXÑW®WIX–YŽY6XVrV)UST–TQP PÉQ;Q™QSQ8P¨P|PbPXPÄPvPRP‘QÉSmSQ#OMKÐLLfK@IëI“HUF–DýB A«AÈF,Q1T—V YÉWåT7QN|M-LƒM¥QT(T%RPQOOM&KšM¤O®NÍNN€N÷OFONòNkMïL[M“NTN—N@MÄMìN–O&OPOÉP P~Q—R—RhR9R;QPÑP:O+N;M¬MQMMN˜NØJÎH IŠJ,J‹JûKrK=KOK¥KËLL+LoLšLÀLÁLNK¡JâJgJVKV¼WFWÓW©UfT@R„O]OsP&S!VéXIXW‰X2XÇYÔZÅZ&YzXÂVßTÒR%O¢OƒOO_ObO†PDQ%PaP9QOßP:P²Q)R¿RòQÙM K­K‰I‚IUFåF?GBCƒA'>?AÄHNTzVVUQSOoMKÓK/LÝQÄT¡SgP…NKLÄJŸI¨LM²LÓLGL‹LáL¶LâL»L KRK¹LRM2M\LÿLôM‘NNdNëO[OÕPeQ¬QáQgQ™PÿPLOŠNM¦LÁL®MNLMÝJDH¿IGIîJJTJyJ•J¹JÐJêK>K:KaKTKLK JfJIÈIùJCJ°K3KWKTK)JtI0G÷GaGKGaG‚FòFEEšDÈDƒDWDCbC_C¡D¢EúE·FGGiK)LGJhM¾OP©T&TQT'SãSËS,Q²PeOÏPXQ»SOSyRÖSSR#RÔS9R"PøMÒLPPVRYLXüYƒYõZÅ[»[.Z.YXXUxPÕO9N±MóN3OpP»PžP‰P-P*PCO·OÔNºO×Q3Q?RM‚L"LcFDÃDmCUCQ?r<ª9í<*B,H+Q¤T™S(Q‘MÄJØI©IôIÙKæOœOyM”L¾KlJƒIúI2J=JßIðIæJ¼KuKRKAK`K"J,JuKKKÄLLGLÄM9M†MãNqO6OªP­QP˜PiOôOˆN°MØMoL¬LCL©NM-I{HxII…JKJ#I¹I…IrIwIdIhIxI¨IºIÂIIYIŽIÞJ\JÃK(K_KCK J{IÛHðGáGhG GGeGF¡EúEDÂDžDC|CÔDD–FUGgH¼J†MšPOôPãRÅTXTÞTÂT·TŠTcR˜QP˜OÕOmNàNÚNÉMöMêN±OýPïP\PP‰OXLÕN*T…X,XcY×[.[ý\Z[ñZØYQWkRvNN N*NPNlN¤OäOøOòOÔOKNëN¾N¸MõN²NM¸PlL¬H GÒC~A>@H?Â?*<#9ã7$9ÆA8FÿN RUR§P·LéJÎIqHG™H€JcJ|I{I[I:IjI§IoI4GˆFhG¡IJ‚K)JûJ³JHIfIŽJ3J©KKMKÉL¨MMuN:NßOoOýOãO«O;NôNML^LRLHLðLÆIDGîHÚIÒJGJ IÖI˜ImIcI’IêJtJ´J™J§JèKfK£KtKZKJeIEH¾HCGFæFŠGFùF±FE0D½D:CŸCØDXDÂFÎH´JµK(LyPPRšUVˆUJUlU—T”RPP/OÒOœN¹N7MELáLÉNN1M’O©PN'LÝNOQÒWé[Ý\–[­Z³YLUJN÷LáM™M×NÆO+OMíNkNOMÎMuMoMëMœMDMjNXKÿHTEAõ=Ô<ç<*9b7„6><ƒDÀJŽOwRP8N£NÙIEDDÄEûGiIIßJIÅIF»EˆGIJ³KˆKxJ3I‰II¨JaJ¶JâKCL'L}LÚM¦N+N´ONõONÂN*MiLÐLL L!L2LàK3HÔHhIPJBJ{JrJcJTJJÛKNL L¦MMWML”KéK\KJŠIòHæHG“GPF«FjF³F”F~EÞE9D²CÈC-CÛDÈE[GçJ]K¾LIM„QåU"UÝVV5VÙV RöP¨P-NÛN NNN ML]KÀMUM¦LONpONMnLLÀQLX:[*[g[*ZWíSMîLôMvNNMöN!MNMóMÉM=M#M5M–LâMÂKóH€JKJ E @;©:v9¼8V7–6¹;¿CáHML_QwQDPüPÝIECRBA|BÚF?IIZHáH GüG;FDFWH†JKrK´J©I«HâIYJJáK>KpL'LRLÜM{M½N#N[NPNBMøLôL1KÎKèKºK©LNKßJLINI¿JŽK KUKK­K½L'LðMÄN,M¦L¿KõKžKWJI¼H™G—FíFFHFIFXFVED„DC©CYD.DÝDäG²IGJ>M³N»QeUòWWîX U@QºO°NßMXMŽMµM@MMLêKñKsLýLdM N/ML¯E.IuMÉPOP†N²GØB¸AlACFŸHçGßGOGtGGMGGZIJ\JÓJˆIŠII IWJ;KKßL7L%L£MM‹MéMýM¨MKL×L#K©KtKhJúKK¿KÖK J`JOJØK+KfK¬LL‚LëMEM+LÃLK„KJdIŠH„GÃFÐFEæEÜE–DÿDxD6C­C0C^DDáEùHGIžOBQ`OÅU½Y0XõX=SÒPªO MiLL•MîMÚLúLœKPJ[KjKKKêL;KŸKN÷UÔY‘YæZ•YèUÆOºN:MâM*MþM6L¼LÌLàL÷LúLvLmLK§LHI¤D©BŽ@°•;Ó<&?@ AsAÐB­B[BRCîDõF;G|I³JH“H•G¶G/G‹GÅH5HºHÜHHHRH×HïIdJlKQLRLÍM—MÚMzML^KwKJ¶IäIVIGIWI¸JrK€LDL–L·LÛM0M4LÒL K^JDIˆI:HgGFF9E]DßDiDC×C–CBÅC{DEFýJMP‹QÌQòVæYËYÖ@ìB BB%D9F=F%G GFFFÛFF¿FÓFÕG9GËH4G GŠGLG•GéHMIkJWK³LˆL²ML×L^K¿JÈJIGH¦HmH/HKH³IHJ JÞKvK³KÙKKVJØJI{HèHqG F+ED—D*C»C‹C?BõBsBŒC»E FÎHÞKÔNTOƒO²QÔVYQYCSèMüJÓJJÚKuJ÷J§I{GáFÏFGñJKôN×R>VñYAYúYoUnQæPP{PÊO-NQMQLoLÁL‡LPLŽLJXGãDÎBd@X=«<{<þ=‰=P=È?úCDàCßChEFyF„GmG²EBEsFÓF8F¡F]EáFLF¬FãFæG:F²FvF§F®GµHéJ J|J„J÷KJšIÉI)H©H(GÐGjGGGUGÛHjIIFIvIŒItIH¤HOGûGHE¶DTD;DVC×C`BîBZBCD¦EóGJLÉM$L O5SaVpYXžS'MJ?IfJ1JiIÌHÁGyFdF1HIóK¨NQëVÌXòYÈWXQ~NêOWOÛO5N†NM–N>0@*A`A*BF#GOD0DçF·E}E›F®EþE¶EÃE{F EE1E`EàFÃG_GEáE8E+E^FœGSGåHhHÊIHÜHMG¼G0F˜F>FLFF.FoFÉG-GhG–G†GGGSFÜEGC×CšC¦CƒCB@AªB¾DjEôHCJlLWL™MïSU-UÃXÞWÏQ3KKITI.IHƒG”GQGÊIqJæMPõT¶V³W·WðT P-OwOKNœMúLíMÙN–LýLÎL=JG5C‰@®@™@Ò@£@èA‚C¯EÌG•E˜EHEÃD®EnDtD…DHE0E%D¯E[EÍGHFàFšEŒDjC©C~D$E F FœGG FÖF\EäE¶E[E0EDëEEiEŒEÕFF FF2E%CùCÝC{CBMA‚AÃBìD‰FúI§K LjLéO)PþOÂSkXæVŸO;JZHyH‰H´H7H%HÂJÀMèRÐVAW—WfSëPãPP"N¬MhM[NwO0LûLqLŒIÂFÔD&BºC5CÆBÄ@LC{EèAÄ@ŸErF BÁD=D:C+CàD&D´DWEE»FµEÿEzDïC³BCAËBCCDEDÖEE:D€D!D_D{DrDYDpD¯DÞDÑD¯DÔE8DéCéCÐCZB§BJAWAùCJD¶F¬HOJ@K³KM²QéS,S£UôWêTÀN9JSHûH"H®IeJ!L»>™>Å>ï?-?»?ø?á@4@ÈAAlAèBKBÍBõBÛB^AŒA¡ApA(BÂD·F©GMGòIÎJTL¿N…NvPíRbRdR~PŸSHXXWUÈTgT,ThQàMùL›L‘K=H»E CCòAp?¼BQB«A@Ì@ÛAHB…BKAÓBkAÈAA@Z?r?>Á>„>n>Ÿ> >Â?W?Â?ù@_@ÍA9A§BB{B‰BGAÌAcAZAAtCXEjF»FôG¹I;J$LLôLÕOÄPúNçMðMCN¸RPSßTÆUHS¤STËSÕPkOOLæIE#C°CÏBÑCêFLC\>´?FAŒAžASAAA{Ah@ê@N?µ?Z>«>a>,>:>Ô???e?Ç@8@¸AMAýBiB!A…AAA"A¥CGE†FüG^G­H3IÆL!MNŸO~MµNP„Q¼QÛS[T$PäO8QùR5NðL¢J¦HFyF»GGFñEÂBa?g@áB.@j?ö@Ç@¶@¹@Î@@?Æ?v>ï>¿>Ž>4>q??Z?z?Ú@¢AEA^A1A AAABA“B¦DÏF¯GGH-IÁJûKÞMlNSMXMÃO¡O]N€O"MõK:K>KêJ'H*FÝEðFsGrGE­D{CNB†AÀ@s@0@´@o@F@R?Ò?™@?f>ê? ???Z?É@_@ÝAA@AQAA(B CÙFG-G-GÅHðJOL8MzMiMÉMhKÌL¤N¬N%KRH6GFÙF›GGFEøE5BäAIA,@ÿ@æA@P?ï@½@y@'@e@?ª@#AAjAOA7A ABC}E?FóGÁG×HqIÝKKâM–N2KÛJULMFKœI=GÇFˆEõF$EëEGDSC B AB@á@Ð@4@$@ì@»@¨@øAEA™AíAåA²A¢A‰A‹B;CáEéGGmHNI×JßK’LKAIáIµIûIbHEGEÞED~DND>CBTA_A*A@ãA~A†B B¢BÇBnB AþB A½AaAçCŠEMFWGHIIdI1H GíG;F„EÞEND§CóCˆCŒC•C:B¶BmB7A×CCKC´CÖCC0B‰AûBFCzDÜEàF9EÎDüD?CÈC|C)BàBåC1CvC{CACICjCqCCBãB„BiB BïCCBÙB³BB¢BÅBöC#7777emoslib-000392+dfsg.1/data/wmo_temp_2.bufr0000755000175000017500000000343612127406245021330 0ustar amckinstryamckinstry@ 002 IUSD40 OKLI 050000 BUFRþY  €É4Öÿÿÿÿÿÿÿÿ¨ e“ê —<­ QhŒl ½F<€ÿï(WÿÿÀP ˆ+‘*ˆ•DÿÿÿÿÿÿÐGHF+•cCuSNC4 ójQ+•cCzóJ3( „f¨+•cC~cFsH*†.ÁQ+•cC}sFs\P/ Α+•cC|3Eƒ`Pb š}Q+‚•‚ƒgCB³x ªÓƒ`Ñ+‚•‚ƒKs;3Ðņ5ƒ´Q+‚•‚ƒAÃ1Ó¼ È'ƒ¼+‚•‚ƒB(s´ PʆÃÑ+‚•‚ƒC£ 㨠ÐÞ  ¬ÿÑ+‚•¡Ã?BÿÓTPõ 4„C‘+‚•¡Ã=²ÞDQ) è+ÿ•¡Ã2Âȃ¼J r…U‘+ÿ•Á*òÑCœQo‚ µÓÑ+ÿ•Á!BÚó€Q `†‘+ÿ•àC“C\ Q‹ 00Ñ+ÿ•àCbýSH ‘¢  Ä,|•àC“c@ ѵ‚ o†¾,|•àC Rÿƒ\ ÑØÙ‡2Q,|•àCÂðÓX‘ôh‡Ž,|•ÿ‚öÂå“Qö^‡–‘,|•ÿ‚ö"àãQû‚K¦Ñ,|•ÿ‚õ2ÊÒÑ‘,ù•ÿ‚ó¾2ØRÔˆ Ñ,ù•ÿ‚í²ºÂ¸’ Ð,ù•ÿ‚íbº"¸’UðˆÝQ-v•àBÜÒ£òˆ!’l¢ *Ñ-ó•àBÖâœ"˜(R¨ Ü ú‘.í•ÁÀb“b”4ß@Š­/ç•Á°"‰b°9Ó â !Ñ0d•¡Â£ò…¢´7S¦ oQ0ᕡœr„´7SYŒ72X•¡Â”y"È9o è |‘2Õ•¡Â޲trè3“pæŒ2Õ•¡ÂŽbt"è3“†žŒñQ3R•¡Â‹âqRà*šŒ 3R•¡ÂŒ2pà&† Q3R•¡ÂŒÒoÂä%¤„w3‘3R•¡Â˜btrô!Ó»M Ñ3Ï•¡Â˜²b£0SÞõ‘3Ï•¡ÂœÂSóÓó î:3Ï•Áœ"OCL T†­ÈÑ4L•ÁŸBH³Ô ÔoKº4L•àBžRBÄ4”’)Q4L•àB›Ò@ä TÁýš‘4L•ÿ‚@ãäTˇôµQ4L•ÿ‚²A4TË ôµÑ4L•ÿ‚²<4TøΑ0‘4L–žR@DÐUZ†’8‘4L–>™¢<Ô¬™ ^ãÑ3Ï–>›‚:õ@VB·‘3Ï–]B¢@” ÖW úôÑ3Ï–|‚¡">´|–wë•R3Ï–|‚¡"?¥We –‘3R–›Â¤’A0d—…Œ˜„Ñ3R–›Â¦"B Æ{™U‘3R–›Â«ÂF3è ˜%e’‘3R–»§BÅDX* d£‘3R–»§²CehØ9aÖQ3R–»¬²FÐ ˜W[9‘3R–»²¢K0lØ\ZIQ3R–»²òK0tXpV›‹Q3R–»±IðpØ•P 2Õ–›Â·¢N¡hÀI›Ñ3R–›Â¸’OCD ˜ùA_3R–»¼òRc  Y5„9ž/3R–»ÁòUÕXYS5žšQ3R–»¿"Sðh V5ž¡Ñ3R–»¾‚SPt q2Ÿ‘3R–»Â’VqÜYt 2‘3R–»Â’V"l™ƒ0ŸEÑ3R–»À²Tãh¦-ÃÑ3R–ÚBÁ¢UÔ4Ù¿* ‘3R–ÚBÈÒZÔèé' °‘2Õ–ù‚ÓÂbU$$Z*"!“Q2X–ù‚ߢjp¼ Z7!!Á2X–ù‚æ‚o d C ¡êQ2X–ù‚é¢qUx Ú_¢K1Û–ù‚ë‚r•Hd¢^?ÿÿÿÿÿúë‚r—ÿÿÀ7777 emoslib-000392+dfsg.1/data/synop.crex0000755000175000017500000000047512127406245020433 0ustar amckinstryamckinstryCREX++ T000103 A000 D07005 B13023 B13013 E++ 110 2033 31 42003 512 621 722 800 95483000 000950000 100033 209917 309958 40041 5// 6300 70100 8011 9-005 0/// 12500 2002 301 401 5025 601 702 80175 935 020 110 201 307 406 50152 602 7// 8// 9//// 003 1// 2// 3//// 4// 5// 6// 7//// 8///// 9/////++ 7777 emoslib-000392+dfsg.1/data/spectral.grib0000755000175000017500000002203012127406245021051 0ustar amckinstryamckinstryGRIB#â4€bÇÿ€‚mq| /0001z!2???BB&lãB?¥ÖB_£B†{ºB´•˜BêÇpC§ïC_C äC#úkC,“}C7:‘CDm[CTǘCi ?C‚$bC¡>8CÇÆ¿C÷„ªD*µD‚DŠ¢D"=D(ˆ D/-rD5ÏSD<ÎDA³yDF}/DJS²DM+DNþ4DOÍÝDO {DNgDL€TDI°ÀDF)\DBxD=ZsD8K D2ó8D-pÂD'á€D"b[DÎDQDMÇCð®C´{%C€üzCVžšC5uÊC5VBÒdÖBAã¥AuâF=O·><ì>võD?Ïð?-¤0?T²S?‹Â¢?Ó¹R@Ó@„H@!I(@*@3Õv@>rg@Iω@U̶@bFÁ@o2@|ý@‰$I@–"@¢³=@®ê±@º‘µ@Ň[@Ï®N@Øí@á12@èk@@óª“@÷·™@úË-@üÿE@þx@ÿd°A!šÀ€ Â!jf6 Bݲ°Afa‡Á7}tA1iÉÀY©HÀ{=’?±iÈÀ–Éo@ÊA@|Â>RýÀL À9C:@xHÆ@LŠÀ‰Í'ÀKó@9øV@.ä?Ñð@8 ÓÀ=À+ˆ@8Ò@(_¨À.ä¾§Îë?GÙ¿?A“¡ëAp(@Lú@MÀg$À&«?¨"Œ@P^¿á`À(Ô?c(u?kÄ!?¨«?Dº¿û!~¿7V?i\3?MÕbÁ;àA™¿µi#?¦'Ý¿2îá¿Î=Q½Úµ?‡×{¿{®M?4ß¶¿³^¿½W£¿‹´„?„¬ï¿Sè¿Å¿SÀ½¹øAC|>¥=×?¼Ë–¿GR6??Æ¿ŠÆû>òÛÒ?HÊ¿b½`¾[¸g¿W% >dOÒA.Ë?À?ï=? ­Å>ÊÀ@¾a€ß¿.B8¾xó‹?,•=¿ ×ë?"u1¾y~>?î‚Á+m¡A!ÈÇ?'¿ú¿]áÐ?r[?ž€¿,•>ŽG¾$ ¿$bå@¿Àüï·¿+Gο%üu¿ ÎC?"c¿»˜>ªï@ŽÀjRþ>uþˆG2¾W;QÀkÆMÀ3RÚ?ãÖ¿]vÀ]ÙÀ\£¿@{ÅÌ@|Ô¶‘d†é«d†K×d†d†¦d†5d†oÁd†m±d†/âd†.pd†5kd†Ž¼d†5©d†Q6d†&Hd†IÉd†Uød†\d†Td†Nïd†Kqd†]d†{d†jíd†}¥d†j5d†kÜd†WBd†ˆƒd†\.d†u|d†x»d†c_d†Ld†]-d†tXd†`Æd†hNd†\bd†S d†Fàd†nèd†iNd†\ÿd†l›d†a†d†gWd†Cod†|šd†oµd†XId†héd†aVd†[«³nn$0OÂ}talVRuag»Oñd_gScÆL|}25U~x æ>Ãy1“°x>[´ZP…UnJQ³fŠiHxGv;d¡PúS1a:HÏ]OÞPØnó‚éfõlÊc9u LY¹`_y÷c]D\_NcÕa\p`_l´gJ\ffÆe_^`¶[(ZW}›Q¥r[LÌ{ÞaìW±hj_Ð_µe`ñYÏi _Él“kBjÛWb]l{^:hMcW_o©`O\„Y°bù`×Yèa_n#`‘wäp`^5tU^Âo'oàUuRŒoÊsrLÄeÜ[hL[¤aUi rRÂeƒxínOúfŒUM´_éyP[¬hjXñs5fïq2nqÜweœ^#t¤fÐe‚Lo_j‚]Z_sÜdwYA^ågf_j+^TiLjÅXZg_y-e¹V`vI]Ρ\ñmh\Á^dL£yAXu¢Z­jîfb¨bõqÉjbfqm÷hfâhck‘S…cœM~_›XolsBh`*en^ëb4kw_,WÇ[–d?_”l´fBd1w(g]RA`˜ppMTsNlìd[]£q.^tl;vÎeâq÷a3hÀrø\xpmiÎR@V"xtMTj5}M—[Þlîe#W„w¯SÀf¤qüm|d{°[ cŠggûj¦kJÑjýWÍHƒUíu8_¡g²^QVRb²iib:gWï\šjbl rf²kbmîJºgZQ±m`yjo&[tVrËa½lg!cgi²`õYãm8^ aœiccYoh~VçUOh¢jSgs[æqÂj5h¬\HiÛZajc,q^Y3_B\¶e¢_÷qÑIr^¦xT_2U6qîdÜWdnÅpñj¦{ÌW'i6|är˜l c‹a¯h™k cGpˆe²l(nàjáaøkÇuHhZïb·fq£cdP`Ek†I£‡ú`ÊJ%ja¶OóHµqpVÿU‚]tf­]ÿ^V;SƒlÊehm,sÝ{jYÏYfq1^¸a¯c»laÀn3nLq‘g‰tai‚\#fcb•n(lÓ\>k·Y&]Ü_ml)Z`gÇb1[»UÁd `g?wŸf²uOa|s\þkb\n"cms)wUk^g¶hiòpMnðh{g\cæl@kBl,YNuùl°`5[wod©[CjRít7e—i\¢Jq2]Â[ |'v¬omqÒdWgRttj`ªeÍk¶a«i‡Kõb$abm`hv@]Ùj˜Hß\ài(_„mcNc«]Äh®Oß\cñ`cd h`£_ËfdznŽa’f¹a¹]¨_ÑdLifc°`Ãf¡iwUšqÂWqpY”l;R€iwWË[cT¥k\gº\än»Ti^›i8gƒe‰_(b*\&PišfâK‚k3lsysäc²kphÁ[Žf£lqe|Ÿ`‚[èzÿvðhsîh0JtDHÅPágæNdùU/|'n¾XÙlòtg…Y–o«k®fa›c pvu‚TÕd0i‘`¬^bšbj`_’cnaëe)d‡nþb0dI`÷f×hh>iÑbËf~k'd®axkú_e gü`^_c×dÇU‘fÆahYÞi®dMjc—i0`_mmf‰[›`’iIfYÉa¸a·]¼iú]-^„]üc÷auX|kz\¶Píb¦]ÓVlN`TvfWdS\¦^(PžY”eå_Re˜nåe}d_ÚSmWÜTÂ^FVÇh,]xc$Xl·kRf%h_dîI+aXf6_øyÀ~b[~eRsmüX´hª]vl„Vf]k_b1kb±j‚jd›nâeeˆs~nöhádñcÆdDjŠgat³bDk%eEgb©d%d3dufÖdÃb0fr³\ýY/kÑmWo™x$wÖegvFhÈdWep^˜jóp a(hytd`(fd[ÇcícÆfÍa«d—cÁdk±]ã`Îm_õiãh³c3gàjzeˆhœoaY½j›a._çeqjÆ^¨cð_ln`eeWa¿mÒdÇSðn´_ iža’oþd:i†^X [EgÀd8TÔuuSc[ÈUni·Zamnu#im|?m©bypeoÆhze©hÁD,kîmDIPxJfÕoÌt5yÖa`×lVgeím®lÓ\Fy WÀi `õcùP=g o$N¨ZÕllhêc´m*`‡[£lÃjïeÞiäu§fCbGkgcgòaiek YAj\ggdÀhã]VlL`“g6]Fg¨h“a³cƒháR nÔabÝ^…_bgÌaHM5lQbá^Gg1WÜe9Uÿg˜i~oé\aýkƒdfá{˜Zíg…tðfñfµrOeÕ^ñxúsæbZT™L™\SWPÖZÆa¹igOs|LËrµaclˆX¨dgS;R`_rZÔYmJT\ºr?pudËkn9h,fÚg¡bÕ`puø\”jõe;aÚUŒcd`˜Z eåcYcg`cÍgih`—h•`†c´g‚d_ÏcVblcÒfàj“l]¥e[×e1`ŒV‘k8UY‰bŸdv`;i$cîkhe%Z¾J¼`cg¡b˜Tv0SBmÞ^fýsþrÝ]0n ig TÐj‹gc˜]7g Sp]xj€TÐf°dcjµSãmüužEzMb'Tñ],_Òp d™a·eêYôf\cÙZ3t.q`{f‹cgRÈc›UYé_@Xëb\ÑXp“dèPgc{gYà`²j†ajÞd˜dôgìicOcƒp}`gmIh3eïnêa£aˆ_s_‚Uü_ hXAZv\JTªcU3]¼fQ¹Q¥gùn,_ŒZj•K…pÎd$P jÄaNIöb*yøUhm*lHy%`Ñi¯wr\æcìt¿`©mAm'M‚^šg¿aPfk€adª\ndÆI²bêdû_ŽYépgQÀu5[ahÆdX]ónÜ^p»uÁj@xŸlxnžkWX<}J]giiZ¿aÚlGiQdêaâbÅeµ\@dÊm‡g-ak"q+f_rìd¦bÛ`£_µUYgEX%ZAo"aÑd VdófÎW¢hÕj²rmk‚\tQ'`piAfuQÍZ1kñ_eTí}Eh ^_ReùX5m d—Zp_¡sd>Q_`€naxVcl½^#iMDø`5gpV“v<|l^ÀséˆsQØsÁzÆ]PQ#c·e¿>8j‹N–PFiCg7_L_ƒdô[þZÑ`_Ïb~`±bea•aúf®j„dœf>g ic:aPh+kQ[™^»j*b*omu¬`Ëgå^{fYg%_(sŸfÎVaµ[A[[^Jmb`[2eTjsbê]ŽnÄ[So‰_˜mm h´hxauÏ]ew_Ê}b3o9oÝo½^ye7gÕf¼V@]QVÊjŸc b*y•S1i³|JXây~tëe6VÓmCRßYW¯VšW£_òu [ w;c[c>eáaX5Tn¿Y_cÆt b˜iP_CbåaÍb‹r `ðrSkUfHcÏ`kügZjk·^ˆo~^òZ„s~]±dYiÅ^|z”W¥lppùVði3bÆ\7hÞ[beÙW}e°K§lòaIbÍ]“m\I*_©GLfÇV“b=[ùi`uePiõhv'su`ßmÖ|Ç`ÀSähÃk|^£l@h·rÙi7}ë]îibmÄ]×iÜ\ŒWxeÃe[Rns¶m/j-`©fÐT,\ÌViMaO³em hˆq^Ðu¨ekamiÉh Z´etyZbfu¦]fTg•fH_iYdþi#^ãe\a\yµ[ v³]ÓiopaÂfÞoi>_`ePfRP?yh=nób•uX>Qœd-fÓcliÔq¼`ü^³zVºQÒk|_qFwY³€XQopj—†Êc-k3lZics${ÝO(l_pRp»N—f˜d«[Z[€p4`î]˜nÇ^_5g×pô^tlìn gód‹bh)c/g„gÝZ¤`î_ÎVh°a›[mföfû]Åd)ob±t)kŒngRWRxÖ\ŠZyi:dV]èvÖftjŸwU‡b‹p8^LRZxUWVulpmÀToÕg´_RnŸk—^6`eóiØ`‹sg¹g`d0wîfMd¡[¯`Db·nzI|b2i3i*V¿t%Xºg¨_Èa1m-\|n÷YÙ^õ`Éb’[WW^eJdíeÂ^ÕZëSüZbKaˆ`vd‹fYg¦fÊ]pcea`æ`±^ãe£vâV™aVuOgü\o3` ]oRXeRif¦]9cbagq3Y>e‚oåS[oTFh—Uji.Vyjc[Uó\ò^¸S£bÂm¸Oš^ˆsºsQTÔwh]‚haÊfXT¹qê`d![Œ]âlõZêXÁs;eÌpWn^ÿgd`å_Ue7hŽlâ`¼ršZWdMbšh×fÃgëlòcùf£bm^ cUp^¢d—rLW4uÆh2^5`ÝrÖ\¨e³}þmäcˆk!XøD™bX\ôb¡t…T¼`¬mñTÿeOP_2c½egñi_`Íh…[!kmfKrbbmJSmfz¢_ÔcféWÒb£uŒX]o’y•h b²vOw©{D`&de4f¿U=T´pXa&f¶[¼_5wÃ`ÇeMaGl‹Zwd\_aHY3lSjîuí^åVbJeÑ\)g£gÂgFjgÀrbv@o XgiµZ[Y§mPllsHc±hÞlRW´xis/T `·o¢^qkho6Y¯ovSLo ‰YÃrqsU:X2i aø^Ô~ý\nfväc—nÃj_Z³`;Rü_af[^aGfŸaU^Þb˜rJl]d5]îw-[lupRvFqÓsÒl,gT^¿oÂR×oþdêS<]7n÷f#^Òs7`îYhñ[aZfú`mÃ?µiÐVì^“s¾i^£r‰HÕqü[|Ytr¤f5`w^­e®Xc f añwÈaÊf¥vchHcpn›Tíaq_=_àZŽo¥_rfÃi¥poNV1lÚ\cÕf¶jònŽi†pfõ`jXVw¸aHg»hxjk\ép^Ug£jˆg¡iÛjX^Îh‡\,aB\Uµ[Y\rrå_Sïn2g_KBvleÐKS|hÝn¦j^måq‘_t[okÍWè_ÛeÙXRŠkhhÌlXa¢q džUfs^ÜU9m‘SÌfâgAzÁ\sdoÞn p\cc[$aêXW²\CWgoIdðp~e mÉZbfYiµ`äLôlgc_qÆgãNá‚›\ëhÞ` X»] YÿcGküb]k†kjædÐb÷eCbüY°i‰j[g=sÆ]hlÃn÷t¬ve{÷a>`ªbÈm9[\]%lVgBjÁn(ou f8s>cíl/[t^\_f_ŠY”VöhâPÉXLt=b#jP`Ì\¤]ôS6`•a0dAfõa5rJi0`ôcfk¾dÄ[¨aÁf™Z;nês'`Re\côsáZÙa5o9f»la'qsùL±p``dÆ[|!`ójÞkßvu\¶s døvêhzW}¶g˜_æVÙnIP—spi\Ùbjo[V³h§pö^e![g§Yýlóm†c_^2h¸aº^+Z4_øbgádl7bCg–aúe kbj"f\m¬n¼_øwi UÂjpeœZ'y[W'bþ[ur[wën–ƒpuW_8Rujœn®[ò\jp¿fbE{ej €e~h…mÃv\øY=gû`P&kqÞNš^x+KebJgVLükìgýz t ÷rj¸z#WÆf¿`,b“Oìao_uDcsw3a\`Zv^ãLj¯f®e f ^gûj~pŒY apTÞjØyÖ_ÿo³_r]iÄ]/S²`Nn9Xl lYf¸Xõka³_ÎZm·h bd{nX]g j‘Pƒb­jfZ·dsØ[åaº\ `k*lòmk¨n¼YYaÞ^©QªZ/VohùaË^»r­X¹yFexqûcmlÐYíXû`Pc=nÊe°kÿj_ÌVLoÚfôZæjo>o g“t¨fço(]âdùrFpU„wkÞUvncúlfOüpN^[St¥^!^xuhcË`½Åf¥j>pê|ÚN¿gKdÃkúXdAZµazd‚W¾}&`eXàbk8Xn;f£mLknb”S¶c»[|b`cbco\˜lÚs:p_lÌdUdôlõfŠ[ûo÷sa„k¾…øl³R}—iÊ]fÄv±jXÄxÔa#WE|ÊgN`ús Y]^pºh jfe¯g$k£XöqNp¼TZ“ZïS4PPûpÂ__?vçp+jº\ØsåYQ^k“TKj3p>d˜a¬acl`¿gqÝa²lwjÌZ­ZEu `dZíh>yG]»cCn”_Ql[)^5jœX„m]Yl7c®g?sgeŠnâmsg$W#iydÙR±dñd$w{hsjAu–a«dmg§]ðP^`YÔtFP‹jnanP–_h6`†vCmc j6jŸf€nšh¤mKº`œ^ÅPÑLkižin_÷e´wFhZi€^Kr*jpV…aƒiê^~`vfÜ_&f h\9sž\êepeˆh‘UjVh"Zòc“WzS]ç\‹X2xq`žpÑ[ögÍX¼RÉod‰]êdã^jb¼_ ^ta¨^[­X‡bC\PO~d lâ[ÎRÙn9Q–YOXîkjm]úw izb½eBh»v½bË_sÌ`¸YÐsÖgaöcli£^R\\‚f¥aNW"a/UˆUË[Ëc…NetÃf»hïh"eƒidh“EÊ^a|d°bÝiáV›kÆ_Gi]bÀjßZý`^j!lÍg;ps]`¢b”]Ã` ]}bmš_^GvÄgáKwcÖzVqh&xu\,Uep_Mpeh|lƒf-mâ]ºgJX~läX(lìiïbwYLcõf fd^Æf2i^ iÅfŽ_ŒgqflOØjØTóbufeGbìh{Zâd»`Ém;nƒbÿk¥cÛfÁS¨Wîf–\ÂZÛht´`ÃYçg²jÕXVbÔaÂ_:hOhqc,u_h0ghðZÓj`b_ú]¤d``i]Ú]@fhIcog¾j…Swj^Db…bËdŸdºjZEgXõg `=[Ïl#_qdìp‘i§g®bOq ZNlmbŸoùh±c•]Jh„U¹\eKo*bGV(nPaÌOfb^i´erSp6Psøm…iýcÐjµmw]BX†r±kÊm^}l‚_Jlf2_¦e’b~Zh”n–dÉwÇd¶pËcµkqXd6]Ðkî^FoBTŽun_(gW;^íf[[ñPáx¥tóR3o!hŠ_önäk#_*pIaÁp‹i?rVe!gKV(cÏi¨We[`dk`b¿_ŒiíZbdµ_‰a¢dálbj]owm^d[lTdmy^`_TÓ]ÎjUâc?gïg¿[u^xr¢d Z˜fmcZ2XÃb cinF]{râegm©cT`!hçj¼cÍQ¤ba]f-Q[_aM\Íji{o¼ar_d6et_ÊfCnh\Úd€vìiSlMqMm.hˆg%UPl¾aö\i¹kø`ïg am\e(]ÉeScNe»lèg:]\?bd8a“g^bËgwb4kºeefS`Qm¸S·aðc>\aJêk¨jñ`µO·bi™eÐj fâgÑiÜaÐf*g$pW_èriÇe3dªdÔb¿kggÆm jƒb:fagñ^Ç`-fÐ^hl/ekfj’^a ddk8eNkAd~_eeÕfjXúfLc"gÃen^Üfpg»VÃbCiçW*fàa[d¸d^gh°`Òb×bˆj5dÈ_`cÍ_ƒVñ`[ì`ô`©afm)a™bIepdg)gDi‰bìc|díf%c[c¤d–cZj’c)fed`"fŠ^(eïg)dBf¼\r\gü_3e¢aÖdGdWc¸iyhn_Ánoe2j/cn bjÚ`¨l€WÑ^ÊfÈhgbZfb`„dDbTh4eDc™fa•lhg™jmög8n÷c—\ój°_«`…ic¯e5iÚdâ`ÓlAe­\^e÷]DeŒcbð\úb`ßd¬`Fc^h8höbögŒbàgï^ncSf£fGb®bõib4bƒe{c+b ^¿aƒ[h“c¨cBff½dÙeá`hl`¥c‹ebehWÿÿÿð ¶°Ò£_í‡Cqÿÿ ?{7ÐÀM@„}ø€€ €07777 emoslib-000392+dfsg.1/data/wmo_sarep.bufr0000755000175000017500000000022212127406245021242 0ustar amckinstryamckinstryBUFR’" ÿ ÿÔC€ÁÁ Á !–V–jklmnopqrstuvw-_B>£ Ò"dianmu 0406*/žç½*`ÎHÑ屌b7777emoslib-000392+dfsg.1/data/gaussian.grib0000755000175000017500000000377012127406245021060 0ustar amckinstryamckinstryGRIBœ4€bÅÿ€§d 0001 ÿ(Ì€mÝ€‚¯ÈS0<€ B÷[ß |!Ö3P809uJj[phMn˜oüpcrq}s!t3tßu:ut¬tRsÅsArcpâoLmul"iæg_d§bºaÜaçaÜbRaça`| H'²8$?ÉP7]fh5nåpãpdqsrÏt„uuv‘vÅwDw‹wvvuôu,tIrïq p+ouoYnën(m3jxhaf”f%fmffdÚÎ)9|FÄX dnn¤pqHsCu„w'x±yþ{þ}–ÈH~K|í{#ytäo:`5QDK€JDMå\9bÆgFiÕiájCjhTlV2VíUBS6N EZ?H0çE´aše•_Vh}f'eµd“kPkÃm/nv:wyyó{}ž€Â„‡I‰äŠ$Ša‹UŒŒŽ}©kCh×llòjàc±\VjTLZ ]§akRM—R*G.Håo_pWq½o•ddZdSÚh]zt|=} ~~Ï샔‡?‰Š‰ŠðŒ¬ŽÏ†—v{umxËx­|ô€Kw¥r>jÛbÞ\êY\òV_P LMJF¶xx½yxÝy²{c|:}Å~K€€8¶€Bôå„u‡‰¥‰Ï{nœn,t,{T}à‰þŠ!~z™|Ê}§{qv‘pØi£a½[ÅVêR{Lœ€ ‡‚ Í‚sƒ‚7‚…ƒiƒ3‚€Õ€ŸÆƒ¬…ևĊ{öi™rœ~@~£ƒ™Š(ÜŒ,Š®솱z¸E|zz8w€p0e¡Yc€…ƒ…Òˆ@ˆ‰‰‰Ç‰;‡‡„ØÃ€cPƒJˆ&‹ŒÀuGˆ¹ˆµ€„ɉ¢>çŽeŠŽiµŽ9¶…;€y•xnv r)i‘š‚s…‚‡ùŠAŒ¸WŒfІúƒÁ€Xw*l@~Í…‰‰aŽžŽ?„ö—ˆˆidþðÄ“AŒÀŠÓˆ–††Œ‚„{YvÌu©”¤sü„‘‚…çz¬…m¦ô¤ð§)©[¡^· ¸³ªk²Ý–䚪©6„"|ØnxÁiÐmÉq-k#s½{‘¸4µÉ´F²V¬™«I¬–¬N©¤h}†Ãƒ_~O¨¯~®;­ª±µé·âµS°·d¸P¯Ï–o§{¡°~ uëjÛr0kõrdyC„r1~ »|ºµ$´‰±¿°/±f±ª¯™¬š¨£ž¥­Ê¯ži¼¡®¤—¶}»"»e»Ð»a·®°á¯Ù«‡¦‰†Óœ¯ˆ‡¢oŠ&Œ?Ž ˜¬Šr¿¾¸·¸·±®Q®¯‰­ß©¦µž •܉튜‹Â›Œ² ¢ñ«%ºã¹ ¾íÁ†¿ã½À¹#±±o¯e¬‘®M±‘¥'‰T‘âšQ¥û¡û½Ø¿ïÂä½Ð¸ÿ¶°§±ù°ï®w©aŸF€;Ž|¹m {¦®¨©«À°¡°ç¼[ÄöÅܹ¨Å»·ºë·Ë´ë±3³”¦…wš€«a°Ù7777emoslib-000392+dfsg.1/data/ISMD01_OKPR.bufr0000755000175000017500000000561412127406245021010 0ustar amckinstryamckinstry 052 ISMD01 OKPR 211200 BUFR´Y ×  @ÇPˆNH€_Z;%–pš[YHÛØÙ[ÝšXÙH˜ZKT^ž[™HX™\™XÈšXž\Û]ˆœ››ËU\˜[žHÜݘ]˜KS[Ü݈ۛ\ P5*’2m‡¥Èæwž)÷R±&ÂP šLR=-E{^ŒC!FÎQ[„Î0úØÀàÉɳ•VQ+ ,µ°BBB€9ÍgPY¶Kž°_™}€ñ‰rÔŠ l&¿øü ª ð 0ůZÓšP2ˆÀÈÒa4¤€Dd°¡‘†3Ð(«HTRl  ;Œ¹t@0èà ( 2lL@Ÿÿÿþ‘ìK—.\°®îî$ÄD@‚€0À¶²xha†A©¦ši¤ÆÇqÇ@8ŽÌÌÀÝŽ8ãŽ((€` k  ÿøüp?àü@ÿøÿàÿð?ÿÀÿþÀÿÿÿüQ"p|ŸèDA€üþôÿÀ`1B?Ѐÿàb×­@ ÿðÐÿü2Ž\È9¦È€ûn (xPxÊ0†P ( ¾ûÿÿÀi€?àÀÿUÿÿþôàà?øþÿÿüÿð?ÿÀÿÿúÿð?üÿàÿÿþÿøþÿø7777  380 ISMD01 OKPR 210600 BUFRÊY ×  @ÇPžNH€_Z;%–pš[YHÛØÙ[ÝšXÙH˜ZKT^ž[™HX™\™XÈšXž\Û]ˆœ››ËU\˜[žHÜݘ]˜KS[Ü݈ۛ\ P 5*’2m‡¥Èæwž)÷R±&ÂP šLR=-E{^ŒC!FÎQ[„Î0úØÀàÉɳ•VQ+ ,µ°BBB€]ÙiÑî^žà_‘ Ž\ôÍJ…_ü ~Õøb×­i‡$Œxd ›ŠóKI  ¤F‘)ŠøM(*ŠM”'q—.ˆ…€Ã ‚<ð€XÄÿà &Jõë׊®îàLÄD+(ÁP„ ê÷†‚…`ši¦š@,lqÇqC‰îî ßcŒ8ಀ @n¯°_øÿÀðþÀ$øÿþÿð?ÿüÿàM£Ý  ("4Ã’222LH¼^§úBx€@„ð‡ÿÿ€ýðL@è ?ø€†µë_Ðÿüôi}$Œ}\Œ›‡ÐG ®dÓd@ý€2< PPQƒd xUý€ÿ€@ûi€?àp ÿÕïÿÿüèÀÿÀð?üÿÿøÿàÿÿþôÿàøÿÀÿÿÿüÿð?üÿð7777  633 ISMD01 OKPR 211800 BUFR¼Y ×  @ÇPNH€_Z;%–pš[YHÛØÙ[ÝšXÙH˜ZKT^ž[™HX™\™XÈšXž\Û]ˆœ››ËU\˜[žHÜݘ]˜KS[Ü݈ۛ\ P$5*’2m‡¥Èæwž)÷R±&ÂP šLR=-E{^ŒC!FÎQ[„Î0úØÀàÉɳ•VQ+ ,µ°BC€=ËfOù~AžÌOìnà}Hg0 "`ü ~áøb×­i‘(%’$ØÜx!Æ—2@ ²ù},–R2@U›(Nã.] q¸$@´x$à°)ˆÿð?ÿÀ2=‰råË–PÂI&"C»»€+$ A# Ã@0à ( ,²Ë, 6a†!ÀD‡wwÆàA0Y 0`* `À@,þàð<Àÿ€@ð þàÿÿüÀÿÿÿø ŽßàÔ]/ÿðD‰Àò !Bð?øÐÿ€XÄþ€ÿ€a‹^µý€zÊCq6 ™¬ý€?ÿÀ (á5̃š` ˆ@?°- ¥‚¼(bŠ+Êóà?°ð?ü˜þ<ßÿüèÀÿÀð?üÿÿøÿàÿÿþôÿàøÿÀÿÿÿüÿð?üÿð7777  811 ISMD01 OKPR 210000 BUFRÆY ×  @ÇPšNH€_Z;%–pš[YHÛØÙ[ÝšXÙH˜ZKT^ž[™HX™\™XÈšXž\Û]ˆœ››ËU\˜[žHÜݘ]˜KS[Ü݈ۛ…}p,@ÔTªHɶv—#™Þx§Ü JĘ @(Ri09HôµaíxN1 …9En8Ãëcƒ'&ÎUYD¬0²ÖÀ J7U¥C§y†|q~#÷“Î"+<(Eð$"øàa‹^µ¦¼Z†Pk°Í3d€%¡’Dn¢,¤‚5ª(PQÆ\º ãfyE)On `S'ÿàÿ€dòåÿ—,{¿»€ ñ¬  @0•^íî ý4ÿM &7ôÓý4€" Ù˜íö¬  @0•V»ƒßð °=À@,þàð<Àÿ€@ð þàÿÿüÀÿÿÿøÿüÿðD«ÀÐò +À€–ÿàð 8P€XÄÿ@ª¯þ ª†µë_Ðÿüôÿÿ €£„×2i€2 þÀ((((‚Œ¡Þ2<Ê€ý€ÿÿà4Àðoÿü ?ÿÿüèÀÿÀð?üÿÿøÿàÿÿþôÿàøÿÀÿÿÿüÿð?üÿð7777 emoslib-000392+dfsg.1/data/wmo_buoy.bufr0000755000175000017500000000064312127406245021115 0ustar amckinstryamckinstry 765 IOZX11 LFVW 040300 CCG BUFR|Ø ,°€$•Á Á Á Á Á3” (!!!?ÂÂÂQQQQ"<F¾V#¨&ÆÆQ @ÂQ ! e g  !R!©   + )R!   ®¤WŸUD}UVý)þÀñŸu(ªZgn`}™©É©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿƒ€û¬úì jàÓ°y«À.îœF¾€ú9Ä4 ¸Ü¾kðu3iѯ¿àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà7777 emoslib-000392+dfsg.1/data/synop_ship.crex0000755000175000017500000000036412127406245021453 0ustar amckinstryamckinstryCREX++ T000103 A001 D08004 B12005 B10197 E++ 1000001009 2315 3009 41 52003 611 705 806 900 0-0800 1-00320 2///// 310134 40001 500 6150 70080 8220 9171 0/// 12000 2003 302 402 5090 601 707 80045 937 025 116 22948 3190 4///++ 7777 emoslib-000392+dfsg.1/data/amdar.crex0000755000175000017500000000020512127406245020336 0ustar amckinstryamckinstryCREX++ T000103 A004 D11001++ 00001008 0 2003 11 05 00 00 3150500 01311833 3 01005 -482 318 0293 // ///// ///// //++ 7777 emoslib-000392+dfsg.1/data/wmo_aws_3.bufr0000755000175000017500000000050112127406245021144 0ustar amckinstryamckinstryBUFR@N  J€ÁZ Á[ ÂHAÇ?ÂE ! &+ÂÂNÂIÂJÂKÂLÂGÂM!ÂO ÂPÂQÂR ;ØĦ4·22·12¹3/ª¢$ÇõRPh|t × ›ºv—ä¿ÿÿÿ€dû„{xœà\I@ qQÃô' 0Ö@2?ü%‡ÿÿÿÿÿÿÿÿÿþÿÿúà¡g Æÿÿÿÿÿÿÿü‹E(OíÿÿïíÿÿÿÿÿÿÿÿÿÿÿÁ?üOíÏ¿·üŸþ íÿÿ€sú>ÿ¸€£ã_ÿ€2> ?ÿþøŸûâÄÿÿÿÿþ7x19ÿþøŸÀ7777 emoslib-000392+dfsg.1/crextables/0000755000175000017500000000000012127406245017612 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/crextables/D0001030000755000175000017500000054720212127406245020401 0ustar amckinstryamckinstry D00002 2 B00002 B00003 D00003 3 B00010 B00011 B00012 D00004 9 D00003 B00013 B00014 B00015 B00016 B00017 B00018 B00019 B00020 D00010 3 D00003 R01000 B00030 D01001 2 B01001 B01002 D01002 3 B01003 B01004 B01005 D01003 3 B01011 B01012 B01013 D01004 4 B01001 B01002 B01015 B02001 D01005 2 001035 001034 D01011 3 B04001 B04002 B04003 D01012 2 B04004 B04005 D01013 3 B04004 B04005 B04006 D01021 2 B05001 B06001 D01022 3 B05001 B06001 B07001 D01023 2 B05002 B06002 D01024 3 B05002 B06002 B07001 D01025 3 D01023 B04003 D01012 D01026 7 D01021 B04003 B04003 B04004 B04004 B04005 B04005 D01029 3 B01018 B02001 D01011 D01030 4 B01018 B02001 D01011 D01024 D01031 5 D01001 B02001 D01011 D01012 D01022 D01032 5 D01001 B02001 D01011 D01012 D01024 D01033 5 B01005 B02001 D01011 D01012 D01021 D01034 5 B01005 B02001 D01011 D01012 D01023 D01035 7 B01005 B01012 B01013 B02001 D01011 D01012 D01023 D01036 5 D01003 B02001 D01011 D01012 D01023 D01037 6 D01001 B02011 B02012 D01011 D01012 D01022 D01038 6 D01001 B02011 B02012 D01011 D01012 D01024 D01039 6 D01003 B02011 B02012 D01011 D01012 D01023 D01040 6 D01003 B02011 B02012 D01011 D01012 D01024 D01041 5 B01007 B02021 B02022 D01011 D01012 D01042 2 D01041 D01021 D01043 5 B01007 B02023 D01011 D01013 D01021 D01044 5 B01007 B02024 D01011 D01013 D01021 D01049 5 B02111 B02112 B21062 B21063 B21065 D01051 6 B01006 B02061 D01011 D01012 D01021 B08004 D01055 7 B01005 B02001 D01011 D01012 D01021 B01012 B01014 D01062 2 R01000 D01001 D01065 8 B01006 B01008 B02001 B02002 B02005 B02062 B02070 B02065 D01066 6 D01011 D01013 D01023 B07004 B02064 B08004 D01070 3 B02143 B02142 B02144 D01071 5 B01007 B01031 B02020 B02028 B02029 D01072 4 D01071 D01011 D01013 D01021 D01074 4 B02143 B02142 B02145 B02146 D01075 6 D01001 B01015 D01024 B08021 D01011 D01012 D01076 3 B02011 B02143 B02142 D01090 6 D01004 D01011 D01012 D01021 B07030 B07031 D01091 10 B02180 B02181 B02182 B02183 B02184 B02179 B02186 B02187 B02188 B02189 D01092 9 B01011 B01003 B02001 D01011 D01012 D01021 B07030 B07031 B33024 D01093 3 D01036 B07030 B07031 D01110 5 D01001 B01011 B02011 B02014 B02003 D01111 6 D01001 B01011 B02011 B02013 B02014 B02003 D01112 5 B01006 B02011 B02013 B02014 B02003 D01113 3 B08021 D01011 D01013 D01114 5 D01021 B07030 B07031 B07007 B33024 D01193 5 001007 001031 002196 002221 002222 D01250 4 D01193 D01011 D01013 D01021 D02001 4 B10004 B10051 B10061 B10063 D02002 5 B10004 B07004 B10003 B10061 B10063 D02003 9 B11011 B11012 B12004 B12006 B13003 B20001 B20003 B20004 B20005 D02004 7 B20010 B08002 B20011 B20013 B20012 B20012 B20012 D02005 4 B08002 B20011 B20012 B20013 D02006 4 B10004 B10051 B10062 B10063 D02011 3 D02001 D02003 D02004 D02012 3 D02002 D02003 D02004 D02013 4 D02006 D02003 R01000 D02005 D02021 3 B22001 B22011 B22021 D02022 3 B22002 B22012 B22022 D02023 3 B22003 B22013 B22023 D02024 3 D02022 R01002 D02023 D02031 4 D02001 B10062 B07004 B10009 D02032 4 B07032 B12101 B12103 B13003 D02033 2 B07032 B20001 D02034 2 B07032 B13023 D02035 7 D02032 D02033 D02034 B07032 D02004 R01000 D02005 D02036 6 R05000 B08002 B20011 B20012 B20014 B20017 D02037 3 B20062 B13013 B12113 D02038 4 B20003 B04024 B20004 B20005 D02039 2 B04024 B14031 D02040 4 B07032 R02002 B04024 B13011 D02041 7 B07032 B04024 B04024 B12111 B04024 B04024 B12112 D02042 11 B07032 B02002 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 D02043 7 D02038 R01002 D02039 D02040 D02041 D02042 B07032 D02044 3 B04024 B02004 B13033 D02045 7 B04024 B14002 B14004 B14016 B14028 B14029 B14030 D02046 3 B04024 B04024 B12049 D02047 3 R02003 B08002 B20054 D02043 7 D02038 R01002 D02039 D02040 D02041 D02042 B07032 D02048 5 B05021 B07021 B20012 B05021 B07021 D02049 7 B08002 B20011 B20013 B20012 B20012 B20012 B08002 D02051 12 B10004 B10051 B07004 B10003 B12004 B12051 B12016 B12017 B13004 R02004 B08051 B08020 D02052 7 B07032 B07033 B12101 B02039 B12102 B12103 B13003 D02053 3 B07032 B07033 B20001 D02054 8 D02052 D02053 B07033 D02034 B07032 D02004 R01000 302005 D02055 8 B20031 B20032 B20033 B20034 B20035 B20036 B20037 B20038 D02056 2 B02038 B22043 D02057 3 D02056 D02021 D02024 D02058 8 B07032 B07033 B04024 B04024 B12111 B04024 B04024 B12112 D02059 12 B07032 B07033 B02002 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 D02060 4 D02038 D02040 D02058 D02059 D02062 18 D02001 D02052 D02053 007033 R01000 D02034 007032 R01000 D02005 008002 R01000 D02055 R01000 D02056 R01000 D02021 R01000 D02024 D02063 6 D02038 R01000 D02040 R01000 D02058 D02059 D02066 16 B20023 B20024 B20027 B20054 B20023 B20027 B20054 B20025 B20026 B20027 B20040 B20066 B20027 B20021 B20067 B20027 D02069 4 B07032 B07033 B33041 B20001 D02070 8 B07032 B07033 B11001 B11002 B11043 B11041 B11016 B11017 D02071 14 B07032 B07033 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 B04025 B11016 B11017 D02072 5 B07032 B07033 B12101 B12103 B13003 D02073 7 B20010 R05004 B08002 B20011 B20012 B33041 B20013 D02074 4 B20003 B04025 B20004 B20005 D02075 5 B08021 B04025 B13055 B13058 B08021 D02076 7 B02021 B20022 B26020 B20023 B20024 B20025 B20026 D02077 12 B07032 B07033 B04025 B12111 B12112 B07032 B04025 B12112 B02176 B20062 B02177 B13013 D02078 4 B02176 B20062 B02177 B13013 D02079 5 B07032 B02175 B02178 B04025 B13011 D02080 3 B02185 B04025 B13033 D02081 2 B04025 B14031 D02082 7 B04025 B14002 B14004 B14016 B14028 B14029 B14030 D02083 8 B04025 B08023 B10004 B11001 B11002 B12101 B13003 B08023 D03001 3 B07003 B11001 B11002 D03002 3 B07004 B11001 B11002 D03003 4 B07004 B10003 B12001 B12003 D03004 6 B07004 B10003 B12001 B12003 B11001 B11002 D03011 4 B07003 B08001 B11001 B11002 D03012 4 B07004 B08001 B11001 B11002 D03013 7 B07004 B08001 B10003 B12001 B13003 B11001 B11002 D03014 7 B07004 B08001 B10003 B12001 B12003 B11001 B11002 D03031 6 B07004 B08003 B07021 B07022 B08012 B12061 D03032 2 B20011 B20016 D03033 2 B20010 B20016 D03041 8 B02152 B02023 B07004 B11001 B11002 B02153 B02154 B12071 D03050 7 B04086 B08042 B07004 B05015 B06015 B11001 B11002 D03051 7 B04086 B08042 B07004 B05015 B06015 B11061 B11062 D03051 7 B04086 B08042 B07004 B05015 B06015 B11061 B11062 D03052 7 B04086 B08042 B07009 B05015 B06015 B11001 B11002 D03053 7 B04086 B08042 B07009 B05015 B06015 B11061 B11062 D03054 10 B04086 B08042 B07004 B10009 B05015 B06015 B12101 B12103 B11001 B11002 D03250 8 B02252 B02023 B07004 B11001 B11002 B02197 B02198 B12193 D04001 5 B08003 B10004 B12001 B11001 B11002 D04002 4 B08003 B10004 B11001 B11002 D04003 2 B08003 B12001 D04004 4 B08003 B10004 B20010 B12001 D04005 4 B02024 B07004 B07004 B13003 D04006 3 B14001 B14001 B14003 D04011 27 B02163 B02164 B08012 B07024 B02057 B08021 B04001 B04002 B04003 B04004 B08021 B04024 R10004 B08021 B04004 B04005 B04006 B08021 B04004 B04005 B04006 B11001 B11002 R03010 B02163 B07004 B12001 D04030 3 B27031 B28031 B10031 D04031 3 B01041 B01042 B01043 D04032 5 B02153 B02154 B20081 B20082 B20012 D04033 8 B02152 B02166 B02167 B02153 B02154 B12075 B12076 B12063 D04034 9 R02004 B27001 B28001 B07022 B05043 B20010 B20016 B33003 B10040 D04250 27 B02231 B02232 B08012 B07024 B02057 B08021 B04001 B04002 B04003 B04004 B08021 B04024 R10004 B08021 B04004 B04005 B04006 B08021 B04004 B04005 B04006 B11001 B11002 R03010 B02231 B07004 B12001 D05001 4 B11001 B11002 B13060 B13071 D05002 11 D01012 B12001 B13003 B14051 B13060 B13072 B13080 B13081 B13082 B13083 B13084 D05003 4 D01012 B04065 R01000 D05001 D05004 3 D01030 D05002 D05003 D05006 8 B13072 B13082 B13019 C07005 C01004 B12001 B13073 B13060 D05007 5 D01029 D01012 B04065 R01000 D05006 D05008 4 D05006 C07005 C01004 B12030 D05009 5 D01029 D01012 B04065 R01000 D05008 D05010 3 D05008 B02091 B02091 D05011 5 D01029 D01012 B04065 R01000 D05010 D05016 7 B14021 B07004 B13003 B11002 B11001 B11041 B11043 D05017 5 B13080 B13081 B13083 B13085 B13084 D05018 7 D01029 D01012 B04065 R03000 D05008 D05016 D05017 D06001 4 B02032 R02000 B07062 B22042 D06002 3 B02031 B22004 B22031 D06003 4 B02002 B11011 B11012 B12004 D06004 6 B02032 B02033 R03000 B07062 B22043 B22062 D06005 5 B02031 R03000 B07062 B22004 B22031 D06006 3 D06003 D06002 B22063 D06007 6 B01012 B01014 D06008 B04024 B27003 B28003 D06008 3 B02034 B02035 B02036 D06019 9 B01075 D01011 D01012 B22042 B22120 B22121 C01002 B04015 B04065 D06020 8 B01075 D01011 D01012 B22042 B22120 B22121 B04075 B04065 D06021 7 B01075 D01011 D01012 B22122 B22123 B12001 D03002 D06022 5 B01075 D01011 D01012 B22038 B22039 D06023 8 B01015 D01023 D01011 D01012 B22038 B22039 B22120 B22121 D06024 4 D06020 R02000 B22038 B22039 D06025 4 D06019 R02006 B22038 B22039 D07001 2 D01031 D02011 D07002 2 D01032 D02011 D07003 3 D07001 R01000 D02005 D07004 3 D07002 R01000 D02005 D07005 3 D07001 R01004 D02005 D07006 3 D07002 R01004 D02005 D07007 2 D01031 D02012 D07008 2 D01032 D02012 D07009 2 D01031 D02013 D07011 16 B01063 B02001 D01011 D01012 D01024 B07006 B11001 B11016 B11017 B11002 B11041 B07006 B12001 B12003 B10052 B20009 D07012 4 R03000 B08023 B05021 B20001 D07013 7 R06000 B01064 B08014 B20061 B08014 B20061 B20018 D07014 2 R01000 B20019 D07015 3 R01000 D02005 B20002 D07016 2 R01000 B20020 D07017 2 R01000 B11070 D07018 13 B08016 R02000 B08017 D01012 R04000 B07006 B11001 B11002 B11041 B20009 R01000 B20001 D07014 D07020 3 D07011 D07014 D07016 D07021 9 D07011 D07012 D07013 D07014 D07015 D07016 D07017 D07018 D07015 D07030 2 B15001 B15002 D07031 7 B08022 B08023 B15001 B08023 B15001 B08023 B15002 D07041 7 D01001 B01015 D01024 D01011 D01012 D01070 D07030 D07042 9 D01001 B01015 D01024 D01011 D01012 B08021 B04025 D01070 D07031 D07043 7 D01001 B01015 D01024 D01011 D01012 D01074 D07030 D07044 9 D01001 B01015 D01024 D01011 D01012 B08021 B04025 D01074 D07031 D07060 2 B07061 B12030 D07061 3 D01031 R01005 D07060 D07062 3 D01032 R01005 D07060 D07063 2 B07061 B12130 D07080 13 D01090 CREX template for synoptic reports D02031 D02035 D02036 D02047 B08002 D02048 D02037 D02043 D02044 R01002 D02045 D02046 D07081 24 D01090 CREX template for synoptic reports RA I D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12122 B13056 B13057 B20101 B20102 B20103 B20104 B20105 B20106 B20107 B20108 D02043 D02044 R01002 D02045 D02046 D07082 15 D01090 CREX template for synoptic reports RA II D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12121 B12122 D02043 D02044 R01002 D02045 D02046 D07083 14 D01090 CREX template for synoptic reports RA III D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12122 D02043 D02044 R01002 D02045 D02046 D07084 16 D01090 CREX template for synoptic reports RA IV D02031 D02035 D02036 D02047 B08002 D02048 D02037 B20055 R01000 C05001 D02043 D02044 R01002 D02045 D02046 D07086 11 D01090 CREX template for synoptic reports RA VI D02031 D02035 D02036 B08002 D02037 D02066 D02043 D02044 R01002 D02045 D07090 13 D01092 CREX template for synoptic reports from mobile land stations D02031 D02035 D02036 D02047 008002 D02048 D02037 D02043 D02044 R01002 D02045 D02046 D08001 3 D01033 D02011 B22042 D08002 3 D01034 D02011 B22042 D08003 3 D01035 D02011 B22042 D08004 3 D01036 D02011 B22042 D08005 2 D08004 D02024 D08006 8 B10004 B10061 B10063 B11001 B11002 B12004 B13003 B22042 D08007 4 D01055 D02011 B07062 B22042 D08008 3 D01093 D02062 D02063 D08009 7 D01093 D02001 D02054 B08002 D02055 D02057 D02060 D08010 15 B01011 R13000 D01011 D01012 D01021 B04080 B22049 B04080 B22059 B04080 B22005 B02042 B22032 B02042 B04080 D09001 3 D01037 R01000 D03011 D09002 3 D01038 R01000 D03011 D09003 3 D01037 R01000 D03012 D09004 3 D01038 R01000 D03012 D09005 4 D01037 D02004 R01000 D03013 D09006 4 D01038 D02004 R01000 D03013 D09007 4 D01037 D02004 R01000 D03014 D09008 4 D01038 D02004 R01000 D03014 D09011 3 D01039 R01000 D03011 D09012 3 D01039 R01000 D03012 D09013 4 D01039 D02004 R01000 D03013 D09014 4 D01039 D02004 R01000 D03014 D09015 3 D01040 R01000 D03011 D09016 3 D01040 R01000 D03012 D09017 4 D01040 D02004 R01000 D03013 D09018 4 D01040 D02004 R01000 D03014 D09019 4 D01031 B02003 R01000 D03011 D09020 7 D01031 B02003 R04000 B07003 B11003 B11004 B11005 D09030 7 B15004 B15005 R04000 B04015 B08006 B07004 B15003 D09040 3 D01075 D01076 D09030 D09041 4 D07041 D01075 D01076 D09030 D09042 4 D07042 D01075 D01076 D09030 D09044 4 D07044 D01075 D01076 D09030 D09050 7 D01110 D01113 D01114 R01000 D03050 R01000 D03051 D09051 7 D01110 D01113 D01114 R01000 D03052 R01000 D03053 D09052 9 D01111 D01113 D01114 D02049 B22043 R01000 D03054 R01000 D03051 D09053 7 D01112 D01113 D01114 R01000 D03054 R01000 D03051 D10001 5 D01042 D03031 D03032 R01026 D03025 D10002 5 D01042 D03031 D03032 R01009 D03023 D10003 5 D01042 D03031 D03032 R01006 D03023 D10004 5 D01042 D03031 D03032 R01003 D03024 D10005 5 D01042 D03031 D03033 R01000 D03025 D10006 5 D01042 D03031 D03033 R01000 D03023 D10007 5 D01042 D03031 D03033 R01000 D03024 D10008 8 D10011 R01019 D10012 B02150 B25079 B25080 B33032 B14045 D10009 3 D10011 R01015 D10012 D10010 3 D10011 R01005 D10012 D10014 3 D01072 D03041 D04011 D10015 13 D01072 B07024 B10002 D03041 R01003 D04032 B02152 B02024 B07004 B07004 B13003 R01003 D04033 D10016 13 D01072 B07024 B10002 D03041 R01012 D04032 B02152 B02024 B07004 B07004 B13003 R01012 D04033 D10020 6 D10022 D01011 D01013 D01021 D04034 D10021 D10022 4 B01007 B02019 B01033 B02172 D10023 17 D01072 B30021 B30022 B08012 B07024 B07025 B10002 R01012 D04032 R05002 B02152 B02024 B07004 B07004 B13003 R01012 D04033 D10050 13 D10051 D10052 R01000 D10053 R01004 D10054 B20010 D10052 R01015 D10053 D10052 R01004 D10053 D10195 3 D01250 D03250 D04250 D11001 9 D01051 B07002 B12001 B11001 B11002 B11031 B11032 B11033 B20041 D11002 4 D01065 D01066 D11003 D11004 D11003 5 B10070 B11001 B11002 B12001 B13002 D11004 12 R01000 B11034 R01000 B11035 R01000 B11075 R01000 B11076 R01000 B33025 R01000 B33026 D11005 13 B01008 B01023 D01021 D01011 D01013 B07010 B08009 B11001 B11002 B11031 B11036 B12101 B33025 D11006 6 B07010 B11001 B11002 B02064 B12101 B12103 D11193 16 D01197 D01011 D01012 D01023 B08004 B07004 B08021 B11001 B11002 B11031 B11034 B11035 B12001 B12003 B13003 B20041 D12001 2 D01043 D04001 D12002 2 D01043 D04002 D12003 2 D01042 D04003 D12004 2 D01042 D04004 D12005 2 D01042 B20014 D12006 2 D01044 D04005 D12007 2 D01042 D04006 D12010 6 B01007 B05040 B02021 B05041 B04001 B04043 D12014 8 D12010 D12011 R05056 D01023 B05042 B05052 D12012 D12013 D12016 3 D12010 D12011 D12015 D12018 3 D12010 D12011 D12017 D12020 11 D01047 D01048 B15015 B29002 B21076 R04012 B06030 R02012 B05030 B21075 B21066 D12021 6 D01047 R01003 D01049 B11012 B11011 B21067 D12022 15 D01047 B08022 B11012 B11050 B22070 B22026 D12041 B10050 B21068 B21071 B21072 B21073 D12042 B21062 B15011 D12023 7 D01047 R03003 B08022 B12061 B22050 B21069 B21085 D12024 11 D12020 B08060 B08022 B08060 B08022 B25014 B22101 B22097 B22098 B22099 B22100 D12025 11 D12019 B08060 B08022 B08060 B08022 B25014 B22101 B22097 B22098 B22099 B22100 D12026 19 D01046 D01011 D01013 D01023 D12031 R01004 D12030 B21110 D01023 D21027 B21111 D01023 D21027 B21112 D01023 D21027 B21113 D01023 D21027 D12027 9 D01047 R05009 D01023 B07021 B12061 B07021 B12061 B21085 B21070 D12031 8 B05034 B06034 B21109 B11081 B11082 B21101 B21102 B21103 D12032 4 B21120 B21121 B13055 B21122 D12033 4 B02104 B08022 B12063 B12065 D12042 6 B21077 B21078 B21079 B21080 B21081 B21082 D12045 21 B01007 B02019 B01096 B25061 B05040 D01011 D01013 D01021 B07002 B12180 B12181 B12182 B12183 B12184 B12185 B02174 B21086 B12186 B21087 B12187 B33043 D13009 3 B21001 R01000 B21001 D13010 3 B21036 R01000 B21036 D13031 4 B06002 B06012 R01000 B30001 D13032 4 B05002 B05012 R01000 D13031 D13041 9 B06002 R10000 R04000 B06012 R01000 B30001 B06012 R01000 B30001 D13042 4 B05002 B05012 R01000 D13041 D13043 11 B06002 B05002 B05012 R12000 R10000 R04000 B06012 R01000 B30001 R01000 B30001 D15001 5 B01011 D01011 D01012 D01023 D06001 D15002 5 B01011 D01011 D01012 D01023 D06004 D16001 10 D01011 B04004 D01023 B01021 B02041 B19001 B10051 B19002 B19003 B19004 D16002 15 B08021 B04001 B04002 B04003 B04004 B04005 B01033 B08021 B04001 B04002 B04003 B04004 B04005 B07002 B07002 D16003 10 R09000 B08011 B08007 R04000 B05002 B06002 B10002 B11002 B08007 B08011 D16004 11 R10000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B11031 B08007 B08011 D16005 9 R08000 B08005 B08007 B05002 B06002 B01026 B19001 B08007 B08005 D16006 12 R11000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B20011 B20012 B08007 B08011 D16007 10 R09000 B08011 B08007 R04000 B05002 B06002 B19005 B19006 B08007 B08011 D16008 11 R10000 B08001 B08007 B08023 R03000 B05002 B06002 B10002 B08023 B08007 B08001 D16009 11 R10000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B20041 B08007 B08011 D16010 8 R07000 B08011 B08007 B01022 B05002 B06002 B08007 B08011 D16011 17 R16000 B08011 B01022 B08007 R02000 B05002 B06002 B08021 B04001 B04002 B04003 B04004 B04005 B20090 B08021 B08007 B08011 D16020 5 B01023 B01025 B01027 D01011 D01012 D16021 23 D01023 B02041 B19001 B19007 B19005 B19006 B19008 B08005 B10004 B08005 B10004 B19007 B08005 B08021 B04075 B11040 B19007 R05004 B05021 B05021 R02002 B19003 B19004 D16022 23 B01032 B02041 B19001 B19010 R18000 B08021 B04014 B08005 D01023 B19005 B19006 B10004 B11041 B08021 B04075 B11040 B19008 R05004 B05021 B05021 R02002 B19003 B19004 D16026 2 D16020 D16021 D16050 16 D01001 D01011 D01012 002160 008005 005002 006002 008005 019100 019005 019006 019101 019102 019103 019104 019105 D16052 28 D01005 D01011 D01012 001007 025150 R22000 001027 019150 019106 008005 005002 006002 008005 019107 019005 019006 019108 019109 019110 019111 019112 019113 019114 019115 019116 019117 019118 019119 D18001 2 D01025 B24011 D18003 4 D01026 B24005 B24004 B24021 D18004 6 D01025 B04023 B13011 B24005 B24004 B24022 D21001 6 B02101 B02114 B02105 B02106 B02107 B02121 D21003 4 B21051 B21014 B21017 B21030 D21004 4 D01031 B02003 R01000 D21003 D21005 12 B25004 B02121 B02122 B02123 B02124 B02125 B02126 B02127 B02128 B02129 B02130 B02131 D21006 4 B25001 B25002 B25003 B25005 D21007 8 B25009 B25010 B25011 B25012 B25013 B25015 B25016 B25017 D21008 3 B25006 B25007 B25008 D21009 2 B25018 B25019 D21010 13 B02101 B07002 B02102 B02103 B02104 B02105 B02106 B02107 B02108 B02109 B02110 B02132 B02133 D21011 3 B30031 B30032 B29002 D21012 2 R01000 B02135 D35001 4 B08035 B35001 B08036 D01001 D35002 4 B08035 B35001 B08036 B01033 D35003 6 B08021 B04001 B04002 B04003 B04004 B04073 D35004 7 B08021 B04004 B08021 B04004 B35000 D01001 B35011 D35005 7 B08021 B04004 B08021 B04004 B35000 B01001 B35011 D35006 7 B08021 B04004 B08021 B04004 B35000 B01003 B35011 D35007 9 B08021 B04004 B08021 B04004 B35000 B01001 R02000 B01002 B35011 D35010 3 D35002 D35003 D35007 emoslib-000392+dfsg.1/crextables/D0001010000755000175000017500000054720212127406245020377 0ustar amckinstryamckinstry D00002 2 B00002 B00003 D00003 3 B00010 B00011 B00012 D00004 9 D00003 B00013 B00014 B00015 B00016 B00017 B00018 B00019 B00020 D00010 3 D00003 R01000 B00030 D01001 2 B01001 B01002 D01002 3 B01003 B01004 B01005 D01003 3 B01011 B01012 B01013 D01004 4 B01001 B01002 B01015 B02001 D01005 2 001035 001034 D01011 3 B04001 B04002 B04003 D01012 2 B04004 B04005 D01013 3 B04004 B04005 B04006 D01021 2 B05001 B06001 D01022 3 B05001 B06001 B07001 D01023 2 B05002 B06002 D01024 3 B05002 B06002 B07001 D01025 3 D01023 B04003 D01012 D01026 7 D01021 B04003 B04003 B04004 B04004 B04005 B04005 D01029 3 B01018 B02001 D01011 D01030 4 B01018 B02001 D01011 D01024 D01031 5 D01001 B02001 D01011 D01012 D01022 D01032 5 D01001 B02001 D01011 D01012 D01024 D01033 5 B01005 B02001 D01011 D01012 D01021 D01034 5 B01005 B02001 D01011 D01012 D01023 D01035 7 B01005 B01012 B01013 B02001 D01011 D01012 D01023 D01036 5 D01003 B02001 D01011 D01012 D01023 D01037 6 D01001 B02011 B02012 D01011 D01012 D01022 D01038 6 D01001 B02011 B02012 D01011 D01012 D01024 D01039 6 D01003 B02011 B02012 D01011 D01012 D01023 D01040 6 D01003 B02011 B02012 D01011 D01012 D01024 D01041 5 B01007 B02021 B02022 D01011 D01012 D01042 2 D01041 D01021 D01043 5 B01007 B02023 D01011 D01013 D01021 D01044 5 B01007 B02024 D01011 D01013 D01021 D01049 5 B02111 B02112 B21062 B21063 B21065 D01051 6 B01006 B02061 D01011 D01012 D01021 B08004 D01055 7 B01005 B02001 D01011 D01012 D01021 B01012 B01014 D01062 2 R01000 D01001 D01065 8 B01006 B01008 B02001 B02002 B02005 B02062 B02070 B02065 D01066 6 D01011 D01013 D01023 B07004 B02064 B08004 D01070 3 B02143 B02142 B02144 D01071 5 B01007 B01031 B02020 B02028 B02029 D01072 4 D01071 D01011 D01013 D01021 D01074 4 B02143 B02142 B02145 B02146 D01075 6 D01001 B01015 D01024 B08021 D01011 D01012 D01076 3 B02011 B02143 B02142 D01090 6 D01004 D01011 D01012 D01021 B07030 B07031 D01091 10 B02180 B02181 B02182 B02183 B02184 B02179 B02186 B02187 B02188 B02189 D01092 9 B01011 B01003 B02001 D01011 D01012 D01021 B07030 B07031 B33024 D01093 3 D01036 B07030 B07031 D01110 5 D01001 B01011 B02011 B02014 B02003 D01111 6 D01001 B01011 B02011 B02013 B02014 B02003 D01112 5 B01006 B02011 B02013 B02014 B02003 D01113 3 B08021 D01011 D01013 D01114 5 D01021 B07030 B07031 B07007 B33024 D01193 5 001007 001031 002196 002221 002222 D01250 4 D01193 D01011 D01013 D01021 D02001 4 B10004 B10051 B10061 B10063 D02002 5 B10004 B07004 B10003 B10061 B10063 D02003 9 B11011 B11012 B12004 B12006 B13003 B20001 B20003 B20004 B20005 D02004 7 B20010 B08002 B20011 B20013 B20012 B20012 B20012 D02005 4 B08002 B20011 B20012 B20013 D02006 4 B10004 B10051 B10062 B10063 D02011 3 D02001 D02003 D02004 D02012 3 D02002 D02003 D02004 D02013 4 D02006 D02003 R01000 D02005 D02021 3 B22001 B22011 B22021 D02022 3 B22002 B22012 B22022 D02023 3 B22003 B22013 B22023 D02024 3 D02022 R01002 D02023 D02031 4 D02001 B10062 B07004 B10009 D02032 4 B07032 B12101 B12103 B13003 D02033 2 B07032 B20001 D02034 2 B07032 B13023 D02035 7 D02032 D02033 D02034 B07032 D02004 R01000 D02005 D02036 6 R05000 B08002 B20011 B20012 B20014 B20017 D02037 3 B20062 B13013 B12113 D02038 4 B20003 B04024 B20004 B20005 D02039 2 B04024 B14031 D02040 4 B07032 R02002 B04024 B13011 D02041 7 B07032 B04024 B04024 B12111 B04024 B04024 B12112 D02042 11 B07032 B02002 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 D02043 7 D02038 R01002 D02039 D02040 D02041 D02042 B07032 D02044 3 B04024 B02004 B13033 D02045 7 B04024 B14002 B14004 B14016 B14028 B14029 B14030 D02046 3 B04024 B04024 B12049 D02047 3 R02003 B08002 B20054 D02043 7 D02038 R01002 D02039 D02040 D02041 D02042 B07032 D02048 5 B05021 B07021 B20012 B05021 B07021 D02049 7 B08002 B20011 B20013 B20012 B20012 B20012 B08002 D02051 12 B10004 B10051 B07004 B10003 B12004 B12051 B12016 B12017 B13004 R02004 B08051 B08020 D02052 7 B07032 B07033 B12101 B02039 B12102 B12103 B13003 D02053 3 B07032 B07033 B20001 D02054 8 D02052 D02053 B07033 D02034 B07032 D02004 R01000 302005 D02055 8 B20031 B20032 B20033 B20034 B20035 B20036 B20037 B20038 D02056 2 B02038 B22043 D02057 3 D02056 D02021 D02024 D02058 8 B07032 B07033 B04024 B04024 B12111 B04024 B04024 B12112 D02059 12 B07032 B07033 B02002 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 D02060 4 D02038 D02040 D02058 D02059 D02062 18 D02001 D02052 D02053 007033 R01000 D02034 007032 R01000 D02005 008002 R01000 D02055 R01000 D02056 R01000 D02021 R01000 D02024 D02063 6 D02038 R01000 D02040 R01000 D02058 D02059 D02066 16 B20023 B20024 B20027 B20054 B20023 B20027 B20054 B20025 B20026 B20027 B20040 B20066 B20027 B20021 B20067 B20027 D02069 4 B07032 B07033 B33041 B20001 D02070 8 B07032 B07033 B11001 B11002 B11043 B11041 B11016 B11017 D02071 14 B07032 B07033 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 B04025 B11016 B11017 D02072 5 B07032 B07033 B12101 B12103 B13003 D02073 7 B20010 R05004 B08002 B20011 B20012 B33041 B20013 D02074 4 B20003 B04025 B20004 B20005 D02075 5 B08021 B04025 B13055 B13058 B08021 D02076 7 B02021 B20022 B26020 B20023 B20024 B20025 B20026 D02077 12 B07032 B07033 B04025 B12111 B12112 B07032 B04025 B12112 B02176 B20062 B02177 B13013 D02078 4 B02176 B20062 B02177 B13013 D02079 5 B07032 B02175 B02178 B04025 B13011 D02080 3 B02185 B04025 B13033 D02081 2 B04025 B14031 D02082 7 B04025 B14002 B14004 B14016 B14028 B14029 B14030 D02083 8 B04025 B08023 B10004 B11001 B11002 B12101 B13003 B08023 D03001 3 B07003 B11001 B11002 D03002 3 B07004 B11001 B11002 D03003 4 B07004 B10003 B12001 B12003 D03004 6 B07004 B10003 B12001 B12003 B11001 B11002 D03011 4 B07003 B08001 B11001 B11002 D03012 4 B07004 B08001 B11001 B11002 D03013 7 B07004 B08001 B10003 B12001 B13003 B11001 B11002 D03014 7 B07004 B08001 B10003 B12001 B12003 B11001 B11002 D03031 6 B07004 B08003 B07021 B07022 B08012 B12061 D03032 2 B20011 B20016 D03033 2 B20010 B20016 D03041 8 B02152 B02023 B07004 B11001 B11002 B02153 B02154 B12071 D03050 7 B04086 B08042 B07004 B05015 B06015 B11001 B11002 D03051 7 B04086 B08042 B07004 B05015 B06015 B11061 B11062 D03051 7 B04086 B08042 B07004 B05015 B06015 B11061 B11062 D03052 7 B04086 B08042 B07009 B05015 B06015 B11001 B11002 D03053 7 B04086 B08042 B07009 B05015 B06015 B11061 B11062 D03054 10 B04086 B08042 B07004 B10009 B05015 B06015 B12101 B12103 B11001 B11002 D03250 8 B02252 B02023 B07004 B11001 B11002 B02197 B02198 B12193 D04001 5 B08003 B10004 B12001 B11001 B11002 D04002 4 B08003 B10004 B11001 B11002 D04003 2 B08003 B12001 D04004 4 B08003 B10004 B20010 B12001 D04005 4 B02024 B07004 B07004 B13003 D04006 3 B14001 B14001 B14003 D04011 27 B02163 B02164 B08012 B07024 B02057 B08021 B04001 B04002 B04003 B04004 B08021 B04024 R10004 B08021 B04004 B04005 B04006 B08021 B04004 B04005 B04006 B11001 B11002 R03010 B02163 B07004 B12001 D04030 3 B27031 B28031 B10031 D04031 3 B01041 B01042 B01043 D04032 5 B02153 B02154 B20081 B20082 B20012 D04033 8 B02152 B02166 B02167 B02153 B02154 B12075 B12076 B12063 D04034 9 R02004 B27001 B28001 B07022 B05043 B20010 B20016 B33003 B10040 D04250 27 B02231 B02232 B08012 B07024 B02057 B08021 B04001 B04002 B04003 B04004 B08021 B04024 R10004 B08021 B04004 B04005 B04006 B08021 B04004 B04005 B04006 B11001 B11002 R03010 B02231 B07004 B12001 D05001 4 B11001 B11002 B13060 B13071 D05002 11 D01012 B12001 B13003 B14051 B13060 B13072 B13080 B13081 B13082 B13083 B13084 D05003 4 D01012 B04065 R01000 D05001 D05004 3 D01030 D05002 D05003 D05006 8 B13072 B13082 B13019 C07005 C01004 B12001 B13073 B13060 D05007 5 D01029 D01012 B04065 R01000 D05006 D05008 4 D05006 C07005 C01004 B12030 D05009 5 D01029 D01012 B04065 R01000 D05008 D05010 3 D05008 B02091 B02091 D05011 5 D01029 D01012 B04065 R01000 D05010 D05016 7 B14021 B07004 B13003 B11002 B11001 B11041 B11043 D05017 5 B13080 B13081 B13083 B13085 B13084 D05018 7 D01029 D01012 B04065 R03000 D05008 D05016 D05017 D06001 4 B02032 R02000 B07062 B22042 D06002 3 B02031 B22004 B22031 D06003 4 B02002 B11011 B11012 B12004 D06004 6 B02032 B02033 R03000 B07062 B22043 B22062 D06005 5 B02031 R03000 B07062 B22004 B22031 D06006 3 D06003 D06002 B22063 D06007 6 B01012 B01014 D06008 B04024 B27003 B28003 D06008 3 B02034 B02035 B02036 D06019 9 B01075 D01011 D01012 B22042 B22120 B22121 C01002 B04015 B04065 D06020 8 B01075 D01011 D01012 B22042 B22120 B22121 B04075 B04065 D06021 7 B01075 D01011 D01012 B22122 B22123 B12001 D03002 D06022 5 B01075 D01011 D01012 B22038 B22039 D06023 8 B01015 D01023 D01011 D01012 B22038 B22039 B22120 B22121 D06024 4 D06020 R02000 B22038 B22039 D06025 4 D06019 R02006 B22038 B22039 D07001 2 D01031 D02011 D07002 2 D01032 D02011 D07003 3 D07001 R01000 D02005 D07004 3 D07002 R01000 D02005 D07005 3 D07001 R01004 D02005 D07006 3 D07002 R01004 D02005 D07007 2 D01031 D02012 D07008 2 D01032 D02012 D07009 2 D01031 D02013 D07011 16 B01063 B02001 D01011 D01012 D01024 B07006 B11001 B11016 B11017 B11002 B11041 B07006 B12001 B12003 B10052 B20009 D07012 4 R03000 B08023 B05021 B20001 D07013 7 R06000 B01064 B08014 B20061 B08014 B20061 B20018 D07014 2 R01000 B20019 D07015 3 R01000 D02005 B20002 D07016 2 R01000 B20020 D07017 2 R01000 B11070 D07018 13 B08016 R02000 B08017 D01012 R04000 B07006 B11001 B11002 B11041 B20009 R01000 B20001 D07014 D07020 3 D07011 D07014 D07016 D07021 9 D07011 D07012 D07013 D07014 D07015 D07016 D07017 D07018 D07015 D07030 2 B15001 B15002 D07031 7 B08022 B08023 B15001 B08023 B15001 B08023 B15002 D07041 7 D01001 B01015 D01024 D01011 D01012 D01070 D07030 D07042 9 D01001 B01015 D01024 D01011 D01012 B08021 B04025 D01070 D07031 D07043 7 D01001 B01015 D01024 D01011 D01012 D01074 D07030 D07044 9 D01001 B01015 D01024 D01011 D01012 B08021 B04025 D01074 D07031 D07060 2 B07061 B12030 D07061 3 D01031 R01005 D07060 D07062 3 D01032 R01005 D07060 D07063 2 B07061 B12130 D07080 13 D01090 CREX template for synoptic reports D02031 D02035 D02036 D02047 B08002 D02048 D02037 D02043 D02044 R01002 D02045 D02046 D07081 24 D01090 CREX template for synoptic reports RA I D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12122 B13056 B13057 B20101 B20102 B20103 B20104 B20105 B20106 B20107 B20108 D02043 D02044 R01002 D02045 D02046 D07082 15 D01090 CREX template for synoptic reports RA II D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12121 B12122 D02043 D02044 R01002 D02045 D02046 D07083 14 D01090 CREX template for synoptic reports RA III D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12122 D02043 D02044 R01002 D02045 D02046 D07084 16 D01090 CREX template for synoptic reports RA IV D02031 D02035 D02036 D02047 B08002 D02048 D02037 B20055 R01000 C05001 D02043 D02044 R01002 D02045 D02046 D07086 11 D01090 CREX template for synoptic reports RA VI D02031 D02035 D02036 B08002 D02037 D02066 D02043 D02044 R01002 D02045 D07090 13 D01092 CREX template for synoptic reports from mobile land stations D02031 D02035 D02036 D02047 008002 D02048 D02037 D02043 D02044 R01002 D02045 D02046 D08001 3 D01033 D02011 B22042 D08002 3 D01034 D02011 B22042 D08003 3 D01035 D02011 B22042 D08004 3 D01036 D02011 B22042 D08005 2 D08004 D02024 D08006 8 B10004 B10061 B10063 B11001 B11002 B12004 B13003 B22042 D08007 4 D01055 D02011 B07062 B22042 D08008 3 D01093 D02062 D02063 D08009 7 D01093 D02001 D02054 B08002 D02055 D02057 D02060 D08010 15 B01011 R13000 D01011 D01012 D01021 B04080 B22049 B04080 B22059 B04080 B22005 B02042 B22032 B02042 B04080 D09001 3 D01037 R01000 D03011 D09002 3 D01038 R01000 D03011 D09003 3 D01037 R01000 D03012 D09004 3 D01038 R01000 D03012 D09005 4 D01037 D02004 R01000 D03013 D09006 4 D01038 D02004 R01000 D03013 D09007 4 D01037 D02004 R01000 D03014 D09008 4 D01038 D02004 R01000 D03014 D09011 3 D01039 R01000 D03011 D09012 3 D01039 R01000 D03012 D09013 4 D01039 D02004 R01000 D03013 D09014 4 D01039 D02004 R01000 D03014 D09015 3 D01040 R01000 D03011 D09016 3 D01040 R01000 D03012 D09017 4 D01040 D02004 R01000 D03013 D09018 4 D01040 D02004 R01000 D03014 D09019 4 D01031 B02003 R01000 D03011 D09020 7 D01031 B02003 R04000 B07003 B11003 B11004 B11005 D09030 7 B15004 B15005 R04000 B04015 B08006 B07004 B15003 D09040 3 D01075 D01076 D09030 D09041 4 D07041 D01075 D01076 D09030 D09042 4 D07042 D01075 D01076 D09030 D09044 4 D07044 D01075 D01076 D09030 D09050 7 D01110 D01113 D01114 R01000 D03050 R01000 D03051 D09051 7 D01110 D01113 D01114 R01000 D03052 R01000 D03053 D09052 9 D01111 D01113 D01114 D02049 B22043 R01000 D03054 R01000 D03051 D09053 7 D01112 D01113 D01114 R01000 D03054 R01000 D03051 D10001 5 D01042 D03031 D03032 R01026 D03025 D10002 5 D01042 D03031 D03032 R01009 D03023 D10003 5 D01042 D03031 D03032 R01006 D03023 D10004 5 D01042 D03031 D03032 R01003 D03024 D10005 5 D01042 D03031 D03033 R01000 D03025 D10006 5 D01042 D03031 D03033 R01000 D03023 D10007 5 D01042 D03031 D03033 R01000 D03024 D10008 8 D10011 R01019 D10012 B02150 B25079 B25080 B33032 B14045 D10009 3 D10011 R01015 D10012 D10010 3 D10011 R01005 D10012 D10014 3 D01072 D03041 D04011 D10015 13 D01072 B07024 B10002 D03041 R01003 D04032 B02152 B02024 B07004 B07004 B13003 R01003 D04033 D10016 13 D01072 B07024 B10002 D03041 R01012 D04032 B02152 B02024 B07004 B07004 B13003 R01012 D04033 D10020 6 D10022 D01011 D01013 D01021 D04034 D10021 D10022 4 B01007 B02019 B01033 B02172 D10023 17 D01072 B30021 B30022 B08012 B07024 B07025 B10002 R01012 D04032 R05002 B02152 B02024 B07004 B07004 B13003 R01012 D04033 D10050 13 D10051 D10052 R01000 D10053 R01004 D10054 B20010 D10052 R01015 D10053 D10052 R01004 D10053 D10195 3 D01250 D03250 D04250 D11001 9 D01051 B07002 B12001 B11001 B11002 B11031 B11032 B11033 B20041 D11002 4 D01065 D01066 D11003 D11004 D11003 5 B10070 B11001 B11002 B12001 B13002 D11004 12 R01000 B11034 R01000 B11035 R01000 B11075 R01000 B11076 R01000 B33025 R01000 B33026 D11005 13 B01008 B01023 D01021 D01011 D01013 B07010 B08009 B11001 B11002 B11031 B11036 B12101 B33025 D11006 6 B07010 B11001 B11002 B02064 B12101 B12103 D11193 16 D01197 D01011 D01012 D01023 B08004 B07004 B08021 B11001 B11002 B11031 B11034 B11035 B12001 B12003 B13003 B20041 D12001 2 D01043 D04001 D12002 2 D01043 D04002 D12003 2 D01042 D04003 D12004 2 D01042 D04004 D12005 2 D01042 B20014 D12006 2 D01044 D04005 D12007 2 D01042 D04006 D12010 6 B01007 B05040 B02021 B05041 B04001 B04043 D12014 8 D12010 D12011 R05056 D01023 B05042 B05052 D12012 D12013 D12016 3 D12010 D12011 D12015 D12018 3 D12010 D12011 D12017 D12020 11 D01047 D01048 B15015 B29002 B21076 R04012 B06030 R02012 B05030 B21075 B21066 D12021 6 D01047 R01003 D01049 B11012 B11011 B21067 D12022 15 D01047 B08022 B11012 B11050 B22070 B22026 D12041 B10050 B21068 B21071 B21072 B21073 D12042 B21062 B15011 D12023 7 D01047 R03003 B08022 B12061 B22050 B21069 B21085 D12024 11 D12020 B08060 B08022 B08060 B08022 B25014 B22101 B22097 B22098 B22099 B22100 D12025 11 D12019 B08060 B08022 B08060 B08022 B25014 B22101 B22097 B22098 B22099 B22100 D12026 19 D01046 D01011 D01013 D01023 D12031 R01004 D12030 B21110 D01023 D21027 B21111 D01023 D21027 B21112 D01023 D21027 B21113 D01023 D21027 D12027 9 D01047 R05009 D01023 B07021 B12061 B07021 B12061 B21085 B21070 D12031 8 B05034 B06034 B21109 B11081 B11082 B21101 B21102 B21103 D12032 4 B21120 B21121 B13055 B21122 D12033 4 B02104 B08022 B12063 B12065 D12042 6 B21077 B21078 B21079 B21080 B21081 B21082 D12045 21 B01007 B02019 B01096 B25061 B05040 D01011 D01013 D01021 B07002 B12180 B12181 B12182 B12183 B12184 B12185 B02174 B21086 B12186 B21087 B12187 B33043 D13009 3 B21001 R01000 B21001 D13010 3 B21036 R01000 B21036 D13031 4 B06002 B06012 R01000 B30001 D13032 4 B05002 B05012 R01000 D13031 D13041 9 B06002 R10000 R04000 B06012 R01000 B30001 B06012 R01000 B30001 D13042 4 B05002 B05012 R01000 D13041 D13043 11 B06002 B05002 B05012 R12000 R10000 R04000 B06012 R01000 B30001 R01000 B30001 D15001 5 B01011 D01011 D01012 D01023 D06001 D15002 5 B01011 D01011 D01012 D01023 D06004 D16001 10 D01011 B04004 D01023 B01021 B02041 B19001 B10051 B19002 B19003 B19004 D16002 15 B08021 B04001 B04002 B04003 B04004 B04005 B01033 B08021 B04001 B04002 B04003 B04004 B04005 B07002 B07002 D16003 10 R09000 B08011 B08007 R04000 B05002 B06002 B10002 B11002 B08007 B08011 D16004 11 R10000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B11031 B08007 B08011 D16005 9 R08000 B08005 B08007 B05002 B06002 B01026 B19001 B08007 B08005 D16006 12 R11000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B20011 B20012 B08007 B08011 D16007 10 R09000 B08011 B08007 R04000 B05002 B06002 B19005 B19006 B08007 B08011 D16008 11 R10000 B08001 B08007 B08023 R03000 B05002 B06002 B10002 B08023 B08007 B08001 D16009 11 R10000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B20041 B08007 B08011 D16010 8 R07000 B08011 B08007 B01022 B05002 B06002 B08007 B08011 D16011 17 R16000 B08011 B01022 B08007 R02000 B05002 B06002 B08021 B04001 B04002 B04003 B04004 B04005 B20090 B08021 B08007 B08011 D16020 5 B01023 B01025 B01027 D01011 D01012 D16021 23 D01023 B02041 B19001 B19007 B19005 B19006 B19008 B08005 B10004 B08005 B10004 B19007 B08005 B08021 B04075 B11040 B19007 R05004 B05021 B05021 R02002 B19003 B19004 D16022 23 B01032 B02041 B19001 B19010 R18000 B08021 B04014 B08005 D01023 B19005 B19006 B10004 B11041 B08021 B04075 B11040 B19008 R05004 B05021 B05021 R02002 B19003 B19004 D16026 2 D16020 D16021 D16050 16 D01001 D01011 D01012 002160 008005 005002 006002 008005 019100 019005 019006 019101 019102 019103 019104 019105 D16052 28 D01005 D01011 D01012 001007 025150 R22000 001027 019150 019106 008005 005002 006002 008005 019107 019005 019006 019108 019109 019110 019111 019112 019113 019114 019115 019116 019117 019118 019119 D18001 2 D01025 B24011 D18003 4 D01026 B24005 B24004 B24021 D18004 6 D01025 B04023 B13011 B24005 B24004 B24022 D21001 6 B02101 B02114 B02105 B02106 B02107 B02121 D21003 4 B21051 B21014 B21017 B21030 D21004 4 D01031 B02003 R01000 D21003 D21005 12 B25004 B02121 B02122 B02123 B02124 B02125 B02126 B02127 B02128 B02129 B02130 B02131 D21006 4 B25001 B25002 B25003 B25005 D21007 8 B25009 B25010 B25011 B25012 B25013 B25015 B25016 B25017 D21008 3 B25006 B25007 B25008 D21009 2 B25018 B25019 D21010 13 B02101 B07002 B02102 B02103 B02104 B02105 B02106 B02107 B02108 B02109 B02110 B02132 B02133 D21011 3 B30031 B30032 B29002 D21012 2 R01000 B02135 D35001 4 B08035 B35001 B08036 D01001 D35002 4 B08035 B35001 B08036 B01033 D35003 6 B08021 B04001 B04002 B04003 B04004 B04073 D35004 7 B08021 B04004 B08021 B04004 B35000 D01001 B35011 D35005 7 B08021 B04004 B08021 B04004 B35000 B01001 B35011 D35006 7 B08021 B04004 B08021 B04004 B35000 B01003 B35011 D35007 9 B08021 B04004 B08021 B04004 B35000 B01001 R02000 B01002 B35011 D35010 3 D35002 D35003 D35007 emoslib-000392+dfsg.1/crextables/units.config.dat0000755000175000017500000001153712127406245022724 0ustar amckinstryamckinstry001 metre m M 1 002 kilogram kg KG 1 003 second s S 1 004 ampere A A 1 005 kelvin K K 1 006 mole mol MOL 1 007 candela cd CD 1 021 radian rad RAD 1 022 steradian sr SR 1 030 hertz Hz HZ 1 031 newton N N 1 032 pascal Pa PA 1 033 joule J J 1 034 watt W W 1 035 coulomb C C 1 036 volt V V 1 037 farad F F 1 038 ohm ohm OHM 1 039 siemens S SIE 1 040 weber Wb WB 1 041 tesla T T 1 042 henry H H 1 060 degree Celsius Cel CEL 1 070 lumen lm LM 1 071 lux lx LX 1 080 becquerel Bq BQ 1 081 gray Gy GY 1 082 sievert Sv SV 1 110 degree (angle) deg DEG 1 111 minute (angle) ' MNT 1 112 second (angle) " SEC 1 120 litre l L 1 130 minute (time) min MIN 1 131 hour h HR 1 132 day d D 1 150 tonne t TNE 1 160 electron volt eV EV 1 161 astronomic unit AU AU 1 170 parsec pc PRS 1 201 knot kt KT 1 210 decibel dB DB 1 220 hectare ha HAR 1 231 year a ANN 1 300 per cent % PERCENT 1 301 parts per thousand 0/00 PERTHOU 1 310 eiths of cloud octa OCTA 1 320 degree true deg DEG 1 321 degrees per second deg/s DEG/S 1 350 degrees Celsius C C 1 351 degrees Celsius per metre C/m C/M 1 352 degrees Celsius per 100 metresC/100 m C/100 M 1 360 Dobson Unit DU DU 1 430 month mon MON 1 441 per second /s /S 1 510 foot ft FT 1 530 hectopascal hPa HPAL 1 620 grams per kilogram g/kg G/KG 1 710 millimetre mm MM 1 740 kilometre km KM 1 emoslib-000392+dfsg.1/crextables/D0002070000755000175000017500000055616212127406245020413 0ustar amckinstryamckinstry D00002 2 B00002 B00003 D00003 3 B00010 B00011 B00012 D00004 9 D00003 B00013 B00014 B00015 B00016 B00017 B00018 B00019 B00020 D00010 3 D00003 R01000 B00030 D01001 2 B01001 B01002 D01002 3 B01003 B01004 B01005 D01003 3 B01011 B01012 B01013 D01004 4 B01001 B01002 B01015 B02001 D01005 2 001035 001034 D01011 3 B04001 B04002 B04003 D01012 2 B04004 B04005 D01013 3 B04004 B04005 B04006 D01021 2 B05001 B06001 D01022 3 B05001 B06001 B07001 D01023 2 B05002 B06002 D01024 3 B05002 B06002 B07001 D01025 3 D01023 B04003 D01012 D01026 7 D01021 B04003 B04003 B04004 B04004 B04005 B04005 D01029 3 B01018 B02001 D01011 D01030 4 B01018 B02001 D01011 D01024 D01031 5 D01001 B02001 D01011 D01012 D01022 D01032 5 D01001 B02001 D01011 D01012 D01024 D01033 5 B01005 B02001 D01011 D01012 D01021 D01034 5 B01005 B02001 D01011 D01012 D01023 D01035 7 B01005 B01012 B01013 B02001 D01011 D01012 D01023 D01036 5 D01003 B02001 D01011 D01012 D01023 D01037 6 D01001 B02011 B02012 D01011 D01012 D01022 D01038 6 D01001 B02011 B02012 D01011 D01012 D01024 D01039 6 D01003 B02011 B02012 D01011 D01012 D01023 D01040 6 D01003 B02011 B02012 D01011 D01012 D01024 D01041 5 B01007 B02021 B02022 D01011 D01012 D01042 2 D01041 D01021 D01043 5 B01007 B02023 D01011 D01013 D01021 D01044 5 B01007 B02024 D01011 D01013 D01021 D01049 5 B02111 B02112 B21062 B21063 B21065 D01051 6 B01006 B02061 D01011 D01012 D01021 B08004 D01055 7 B01005 B02001 D01011 D01012 D01021 B01012 B01014 D01062 2 R01000 D01001 D01065 8 B01006 B01008 B02001 B02002 B02005 B02062 B02070 B02065 D01066 6 D01011 D01013 D01023 B07004 B02064 B08004 D01070 3 B02143 B02142 B02144 D01071 5 B01007 B01031 B02020 B02028 B02029 D01072 4 D01071 D01011 D01013 D01021 D01074 4 B02143 B02142 B02145 B02146 D01075 6 D01001 B01015 D01024 B08021 D01011 D01012 D01076 3 B02011 B02143 B02142 D01090 6 D01004 D01011 D01012 D01021 B07030 B07031 D01091 10 B02180 B02181 B02182 B02183 B02184 B02179 B02186 B02187 B02188 B02189 D01092 9 B01011 B01003 B02001 D01011 D01012 D01021 B07030 B07031 B33024 D01093 3 D01036 B07030 B07031 D01110 5 D01001 B01011 B02011 B02014 B02003 D01111 6 D01001 B01011 B02011 B02013 B02014 B02003 D01112 5 B01006 B02011 B02013 B02014 B02003 D01113 3 B08021 D01011 D01013 D01114 5 D01021 B07030 B07031 B07007 B33024 D01193 5 001007 001031 002196 002221 002222 D01250 4 D01193 D01011 D01013 D01021 D02001 4 B10004 B10051 B10061 B10063 D02002 5 B10004 B07004 B10003 B10061 B10063 D02003 9 B11011 B11012 B12004 B12006 B13003 B20001 B20003 B20004 B20005 D02004 7 B20010 B08002 B20011 B20013 B20012 B20012 B20012 D02005 4 B08002 B20011 B20012 B20013 D02006 4 B10004 B10051 B10062 B10063 D02011 3 D02001 D02003 D02004 D02012 3 D02002 D02003 D02004 D02013 4 D02006 D02003 R01000 D02005 D02021 3 B22001 B22011 B22021 D02022 3 B22002 B22012 B22022 D02023 3 B22003 B22013 B22023 D02024 3 D02022 R01002 D02023 D02031 4 D02001 B10062 B07004 B10009 D02032 4 B07032 B12101 B12103 B13003 D02033 2 B07032 B20001 D02034 2 B07032 B13023 D02035 7 D02032 D02033 D02034 B07032 D02004 R01000 D02005 D02036 6 R05000 B08002 B20011 B20012 B20014 B20017 D02037 3 B20062 B13013 B12113 D02038 4 B20003 B04024 B20004 B20005 D02039 2 B04024 B14031 D02040 4 B07032 R02002 B04024 B13011 D02041 7 B07032 B04024 B04024 B12111 B04024 B04024 B12112 D02042 11 B07032 B02002 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 D02043 7 D02038 R01002 D02039 D02040 D02041 D02042 B07032 D02044 3 B04024 B02004 B13033 D02045 7 B04024 B14002 B14004 B14016 B14028 B14029 B14030 D02046 3 B04024 B04024 B12049 D02047 3 R02003 B08002 B20054 D02043 7 D02038 R01002 D02039 D02040 D02041 D02042 B07032 D02048 5 B05021 B07021 B20012 B05021 B07021 D02049 7 B08002 B20011 B20013 B20012 B20012 B20012 B08002 D02051 12 B10004 B10051 B07004 B10003 B12004 B12051 B12016 B12017 B13004 R02004 B08051 B08020 D02052 7 B07032 B07033 B12101 B02039 B12102 B12103 B13003 D02053 3 B07032 B07033 B20001 D02054 8 D02052 D02053 B07033 D02034 B07032 D02004 R01000 302005 D02055 8 B20031 B20032 B20033 B20034 B20035 B20036 B20037 B20038 D02056 2 B02038 B22043 D02057 3 D02056 D02021 D02024 D02058 8 B07032 B07033 B04024 B04024 B12111 B04024 B04024 B12112 D02059 12 B07032 B07033 B02002 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 D02060 4 D02038 D02040 D02058 D02059 D02062 18 D02001 D02052 D02053 007033 R01000 D02034 007032 R01000 D02005 008002 R01000 D02055 R01000 D02056 R01000 D02021 R01000 D02024 D02063 6 D02038 R01000 D02040 R01000 D02058 D02059 D02066 16 B20023 B20024 B20027 B20054 B20023 B20027 B20054 B20025 B20026 B20027 B20040 B20066 B20027 B20021 B20067 B20027 D02069 4 B07032 B07033 B33041 B20001 D02070 8 B07032 B07033 B11001 B11002 B11043 B11041 B11016 B11017 D02071 14 B07032 B07033 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 B04025 B11016 B11017 D02072 5 B07032 B07033 B12101 B12103 B13003 D02073 7 B20010 R05004 B08002 B20011 B20012 B33041 B20013 D02074 4 B20003 B04025 B20004 B20005 D02075 5 B08021 B04025 B13055 B13058 B08021 D02076 7 B02021 B20022 B26020 B20023 B20024 B20025 B20026 D02077 12 B07032 B07033 B04025 B12111 B12112 B07032 B04025 B12112 B02176 B20062 B02177 B13013 D02078 4 B02176 B20062 B02177 B13013 D02079 5 B07032 B02175 B02178 B04025 B13011 D02080 3 B02185 B04025 B13033 D02081 2 B04025 B14031 D02082 7 B04025 B14002 B14004 B14016 B14028 B14029 B14030 D02083 8 B04025 B08023 B10004 B11001 B11002 B12101 B13003 B08023 D03001 3 B07003 B11001 B11002 D03002 3 B07004 B11001 B11002 D03003 4 B07004 B10003 B12001 B12003 D03004 6 B07004 B10003 B12001 B12003 B11001 B11002 D03011 4 B07003 B08001 B11001 B11002 D03012 4 B07004 B08001 B11001 B11002 D03013 7 B07004 B08001 B10003 B12001 B13003 B11001 B11002 D03014 7 B07004 B08001 B10003 B12001 B12003 B11001 B11002 D03031 6 B07004 B08003 B07021 B07022 B08012 B12061 D03032 2 B20011 B20016 D03033 2 B20010 B20016 D03041 8 B02152 B02023 B07004 B11001 B11002 B02153 B02154 B12071 D03050 7 B04086 B08042 B07004 B05015 B06015 B11001 B11002 D03051 7 B04086 B08042 B07004 B05015 B06015 B11061 B11062 D03051 7 B04086 B08042 B07004 B05015 B06015 B11061 B11062 D03052 7 B04086 B08042 B07009 B05015 B06015 B11001 B11002 D03053 7 B04086 B08042 B07009 B05015 B06015 B11061 B11062 D03054 10 B04086 B08042 B07004 B10009 B05015 B06015 B12101 B12103 B11001 B11002 D03250 8 B02252 B02023 B07004 B11001 B11002 B02197 B02198 B12193 D04001 5 B08003 B10004 B12001 B11001 B11002 D04002 4 B08003 B10004 B11001 B11002 D04003 2 B08003 B12001 D04004 4 B08003 B10004 B20010 B12001 D04005 4 B02024 B07004 B07004 B13003 D04006 3 B14001 B14001 B14003 D04011 27 B02163 B02164 B08012 B07024 B02057 B08021 B04001 B04002 B04003 B04004 B08021 B04024 R10004 B08021 B04004 B04005 B04006 B08021 B04004 B04005 B04006 B11001 B11002 R03010 B02163 B07004 B12001 D04030 3 B27031 B28031 B10031 D04031 3 B01041 B01042 B01043 D04032 5 B02153 B02154 B20081 B20082 B20012 D04033 8 B02152 B02166 B02167 B02153 B02154 B12075 B12076 B12063 D04034 9 R02004 B27001 B28001 B07022 B05043 B20010 B20016 B33003 B10040 D04250 27 B02231 B02232 B08012 B07024 B02057 B08021 B04001 B04002 B04003 B04004 B08021 B04024 R10004 B08021 B04004 B04005 B04006 B08021 B04004 B04005 B04006 B11001 B11002 R03010 B02231 B07004 B12001 D05001 4 B11001 B11002 B13060 B13071 D05002 11 D01012 B12001 B13003 B14051 B13060 B13072 B13080 B13081 B13082 B13083 B13084 D05003 4 D01012 B04065 R01000 D05001 D05004 3 D01030 D05002 D05003 D05006 8 B13072 B13082 B13019 C07005 C01004 B12001 B13073 B13060 D05007 5 D01029 D01012 B04065 R01000 D05006 D05008 4 D05006 C07005 C01004 B12030 D05009 5 D01029 D01012 B04065 R01000 D05008 D05010 3 D05008 B02091 B02091 D05011 5 D01029 D01012 B04065 R01000 D05010 D05016 7 B14021 B07004 B13003 B11002 B11001 B11041 B11043 D05017 5 B13080 B13081 B13083 B13085 B13084 D05018 7 D01029 D01012 B04065 R03000 D05008 D05016 D05017 D06001 4 B02032 R02000 B07062 B22042 D06002 3 B02031 B22004 B22031 D06003 4 B02002 B11011 B11012 B12004 D06004 6 B02032 B02033 R03000 B07062 B22043 B22062 D06005 5 B02031 R03000 B07062 B22004 B22031 D06006 3 D06003 D06002 B22063 D06007 6 B01012 B01014 D06008 B04024 B27003 B28003 D06008 3 B02034 B02035 B02036 D06019 9 B01075 D01011 D01012 B22042 B22120 B22121 C01002 B04015 B04065 D06020 8 B01075 D01011 D01012 B22042 B22120 B22121 B04075 B04065 D06021 7 B01075 D01011 D01012 B22122 B22123 B12001 D03002 D06022 5 B01075 D01011 D01012 B22038 B22039 D06023 8 B01015 D01023 D01011 D01012 B22038 B22039 B22120 B22121 D06024 4 D06020 R02000 B22038 B22039 D06025 4 D06019 R02006 B22038 B22039 D06026 21 B01075 B01015 D01021 D01011 D01013 R15000 B04016 B08015 B02007 B22120 B22121 B04016 R08000 B10051 B22038 B22040 B04026 R03004 B08023 B22038 B22040 D06027 5 B01005 B01052 B02047 D01011 D01013 D06028 4 D06027 D01011 D01013 D01021 D06029 3 B25170 B25171 B25172 D06030 14 D06027 D06029 R11000 B33002 D01011 D01013 B25025 B25025 B25026 B22185 B04015 B04065 R01004 B22182 D06031 14 D06027 D06029 B01053 B33002 D01011 D01013 D01011 D01013 B22185 B22182 B04016 B04066 R01000 B22184 D06032 7 B02032 B02033 R03000 B07062 B22043 B22062 B22066 D07001 2 D01031 D02011 D07002 2 D01032 D02011 D07003 3 D07001 R01000 D02005 D07004 3 D07002 R01000 D02005 D07005 3 D07001 R01004 D02005 D07006 3 D07002 R01004 D02005 D07007 2 D01031 D02012 D07008 2 D01032 D02012 D07009 2 D01031 D02013 D07011 16 B01063 B02001 D01011 D01012 D01024 B07006 B11001 B11016 B11017 B11002 B11041 B07006 B12001 B12003 B10052 B20009 D07012 4 R03000 B08023 B05021 B20001 D07013 7 R06000 B01064 B08014 B20061 B08014 B20061 B20018 D07014 2 R01000 B20019 D07015 3 R01000 D02005 B20002 D07016 2 R01000 B20020 D07017 2 R01000 B11070 D07018 13 B08016 R02000 B08017 D01012 R04000 B07006 B11001 B11002 B11041 B20009 R01000 B20001 D07014 D07020 3 D07011 D07014 D07016 D07021 9 D07011 D07012 D07013 D07014 D07015 D07016 D07017 D07018 D07015 D07030 2 B15001 B15002 D07031 7 B08022 B08023 B15001 B08023 B15001 B08023 B15002 D07041 7 D01001 B01015 D01024 D01011 D01012 D01070 D07030 D07042 9 D01001 B01015 D01024 D01011 D01012 B08021 B04025 D01070 D07031 D07043 7 D01001 B01015 D01024 D01011 D01012 D01074 D07030 D07044 9 D01001 B01015 D01024 D01011 D01012 B08021 B04025 D01074 D07031 D07060 2 B07061 B12030 D07061 3 D01031 R01005 D07060 D07062 3 D01032 R01005 D07060 D07063 2 B07061 B12130 D07080 13 D01090 CREX template for synoptic reports D02031 D02035 D02036 D02047 B08002 D02048 D02037 D02043 D02044 R01002 D02045 D02046 D07081 24 D01090 CREX template for synoptic reports RA I D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12122 B13056 B13057 B20101 B20102 B20103 B20104 B20105 B20106 B20107 B20108 D02043 D02044 R01002 D02045 D02046 D07082 15 D01090 CREX template for synoptic reports RA II D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12121 B12122 D02043 D02044 R01002 D02045 D02046 D07083 14 D01090 CREX template for synoptic reports RA III D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12122 D02043 D02044 R01002 D02045 D02046 D07084 16 D01090 CREX template for synoptic reports RA IV D02031 D02035 D02036 D02047 B08002 D02048 D02037 B20055 R01000 C05001 D02043 D02044 R01002 D02045 D02046 D07086 11 D01090 CREX template for synoptic reports RA VI D02031 D02035 D02036 B08002 D02037 D02066 D02043 D02044 R01002 D02045 D07087 20 D01001 B02001 D01011 D01012 D01023 B07030 B07031 D02001 B10062 B07004 B10009 B07032 B12101 B12103 B13003 B07032 B20001 D02004 R01000 D02005 D07088 25 B20003 B04024 B20004 B20005 B04024 B02004 B13033 R02002 B04024 B14031 R02002 B04024 B13011 B07032 B04024 B12111 B04024 B12112 B07032 B02002 B08021 B04025 B11001 B11002 B08021 D07089 2 D07087 D07088 D07090 13 D01092 CREX template for synoptic reports from mobile land stations D02031 D02035 D02036 D02047 008002 D02048 D02037 D02043 D02044 R01002 D02045 D02046 D08001 3 D01033 D02011 B22042 D08002 3 D01034 D02011 B22042 D08003 3 D01035 D02011 B22042 D08004 3 D01036 D02011 B22042 D08005 2 D08004 D02024 D08006 8 B10004 B10061 B10063 B11001 B11002 B12004 B13003 B22042 D08007 4 D01055 D02011 B07062 B22042 D08008 3 D01093 D02062 D02063 D08009 7 D01093 D02001 D02054 B08002 D02055 D02057 D02060 D08010 15 B01011 R13000 D01011 D01012 D01021 B04080 B22049 B04080 B22059 B04080 B22005 B02042 B22032 B02042 B04080 D09001 3 D01037 R01000 D03011 D09002 3 D01038 R01000 D03011 D09003 3 D01037 R01000 D03012 D09004 3 D01038 R01000 D03012 D09005 4 D01037 D02004 R01000 D03013 D09006 4 D01038 D02004 R01000 D03013 D09007 4 D01037 D02004 R01000 D03014 D09008 4 D01038 D02004 R01000 D03014 D09011 3 D01039 R01000 D03011 D09012 3 D01039 R01000 D03012 D09013 4 D01039 D02004 R01000 D03013 D09014 4 D01039 D02004 R01000 D03014 D09015 3 D01040 R01000 D03011 D09016 3 D01040 R01000 D03012 D09017 4 D01040 D02004 R01000 D03013 D09018 4 D01040 D02004 R01000 D03014 D09019 4 D01031 B02003 R01000 D03011 D09020 7 D01031 B02003 R04000 B07003 B11003 B11004 B11005 D09030 7 B15004 B15005 R04000 B04015 B08006 B07004 B15003 D09031 7 B15004 B15005 R04000 B04025 B08006 B07004 B15003 D09040 3 D01075 D01076 D09030 D09041 4 D07041 D01075 D01076 D09030 D09042 4 D07042 D01075 D01076 D09030 D09043 4 D07043 D01075 D01076 D09030 D09044 4 D07044 D01075 D01076 D09030 D09045 3 D01075 D01076 D09031 D09046 4 D07041 D01075 D01076 D09031 D09047 4 D07042 D01075 D01076 D09031 D09048 4 D07043 D01075 D01076 D09031 D09049 4 D07044 D01075 D01076 D09031 D09050 7 D01110 D01113 D01114 R01000 D03050 R01000 D03051 D09051 7 D01110 D01113 D01114 R01000 D03052 R01000 D03053 D09052 9 D01111 D01113 D01114 D02049 B22043 R01000 D03054 R01000 D03051 D09053 7 D01112 D01113 D01114 R01000 D03054 R01000 D03051 D10001 5 D01042 D03031 D03032 R01026 D03025 D10002 5 D01042 D03031 D03032 R01009 D03023 D10003 5 D01042 D03031 D03032 R01006 D03023 D10004 5 D01042 D03031 D03032 R01003 D03024 D10005 5 D01042 D03031 D03033 R01000 D03025 D10006 5 D01042 D03031 D03033 R01000 D03023 D10007 5 D01042 D03031 D03033 R01000 D03024 D10008 8 D10011 R01019 D10012 B02150 B25079 B25080 B33032 B14045 D10009 3 D10011 R01015 D10012 D10010 3 D10011 R01005 D10012 D10014 3 D01072 D03041 D04011 D10015 13 D01072 B07024 B10002 D03041 R01003 D04032 B02152 B02024 B07004 B07004 B13003 R01003 D04033 D10016 13 D01072 B07024 B10002 D03041 R01012 D04032 B02152 B02024 B07004 B07004 B13003 R01012 D04033 D10020 6 D10022 D01011 D01013 D01021 D04034 D10021 D10022 4 B01007 B02019 B01033 B02172 D10023 17 D01072 B30021 B30022 B08012 B07024 B07025 B10002 R01012 D04032 R05002 B02152 B02024 B07004 B07004 B13003 R01012 D04033 D10050 13 D10051 D10052 R01000 D10053 R01004 D10054 B20010 D10052 R01015 D10053 D10052 R01004 D10053 D10195 3 D01250 D03250 D04250 D11001 9 D01051 B07002 B12001 B11001 B11002 B11031 B11032 B11033 B20041 D11002 4 D01065 D01066 D11003 D11004 D11003 5 B10070 B11001 B11002 B12001 B13002 D11004 12 R01000 B11034 R01000 B11035 R01000 B11075 R01000 B11076 R01000 B33025 R01000 B33026 D11005 13 B01008 B01023 D01021 D01011 D01013 B07010 B08009 B11001 B11002 B11031 B11036 B12101 B33025 D11006 6 B07010 B11001 B11002 B02064 B12101 B12103 D11007 7 B07010 D01021 B11001 B11002 B02064 B12101 B12103 D11008 7 B01008 D01011 D01013 D01021 B08004 R01000 D11006 D11009 7 B01008 D01011 D01013 D01021 B08004 R01000 D11007 D11193 16 D01197 D01011 D01012 D01023 B08004 B07004 B08021 B11001 B11002 B11031 B11034 B11035 B12001 B12003 B13003 B20041 D12001 2 D01043 D04001 D12002 2 D01043 D04002 D12003 2 D01042 D04003 D12004 2 D01042 D04004 D12005 2 D01042 B20014 D12006 2 D01044 D04005 D12007 2 D01042 D04006 D12010 6 B01007 B05040 B02021 B05041 B04001 B04043 D12014 8 D12010 D12011 R05056 D01023 B05042 B05052 D12012 D12013 D12016 3 D12010 D12011 D12015 D12018 3 D12010 D12011 D12017 D12020 11 D01047 D01048 B15015 B29002 B21076 R04012 B06030 R02012 B05030 B21075 B21066 D12021 6 D01047 R01003 D01049 B11012 B11011 B21067 D12022 15 D01047 B08022 B11012 B11050 B22070 B22026 D12041 B10050 B21068 B21071 B21072 B21073 D12042 B21062 B15011 D12023 7 D01047 R03003 B08022 B12061 B22050 B21069 B21085 D12024 11 D12020 B08060 B08022 B08060 B08022 B25014 B22101 B22097 B22098 B22099 B22100 D12025 11 D12019 B08060 B08022 B08060 B08022 B25014 B22101 B22097 B22098 B22099 B22100 D12026 19 D01046 D01011 D01013 D01023 D12031 R01004 D12030 B21110 D01023 D21027 B21111 D01023 D21027 B21112 D01023 D21027 B21113 D01023 D21027 D12027 9 D01047 R05009 D01023 B07021 B12061 B07021 B12061 B21085 B21070 D12031 8 B05034 B06034 B21109 B11081 B11082 B21101 B21102 B21103 D12032 4 B21120 B21121 B13055 B21122 D12033 4 B02104 B08022 B12063 B12065 D12042 6 B21077 B21078 B21079 B21080 B21081 B21082 D12045 21 B01007 B02019 B01096 B25061 B05040 D01011 D01013 D01021 B07002 B12180 B12181 B12182 B12183 B12184 B12185 B02174 B21086 B12186 B21087 B12187 B33043 D13009 3 B21001 R01000 B21001 D13010 3 B21036 R01000 B21036 D13031 4 B06002 B06012 R01000 B30001 D13032 4 B05002 B05012 R01000 D13031 D13041 9 B06002 R10000 R04000 B06012 R01000 B30001 B06012 R01000 B30001 D13042 4 B05002 B05012 R01000 D13041 D13043 11 B06002 B05002 B05012 R12000 R10000 R04000 B06012 R01000 B30001 R01000 B30001 D15001 5 B01011 D01011 D01012 D01023 D06001 D15002 5 B01011 D01011 D01012 D01023 D06004 D16001 10 D01011 B04004 D01023 B01021 B02041 B19001 B10051 B19002 B19003 B19004 D16002 15 B08021 B04001 B04002 B04003 B04004 B04005 B01033 B08021 B04001 B04002 B04003 B04004 B04005 B07002 B07002 D16003 10 R09000 B08011 B08007 R04000 B05002 B06002 B10002 B11002 B08007 B08011 D16004 11 R10000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B11031 B08007 B08011 D16005 9 R08000 B08005 B08007 B05002 B06002 B01026 B19001 B08007 B08005 D16006 12 R11000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B20011 B20012 B08007 B08011 D16007 10 R09000 B08011 B08007 R04000 B05002 B06002 B19005 B19006 B08007 B08011 D16008 11 R10000 B08001 B08007 B08023 R03000 B05002 B06002 B10002 B08023 B08007 B08001 D16009 11 R10000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B20041 B08007 B08011 D16010 8 R07000 B08011 B08007 B01022 B05002 B06002 B08007 B08011 D16011 17 R16000 B08011 B01022 B08007 R02000 B05002 B06002 B08021 B04001 B04002 B04003 B04004 B04005 B20090 B08021 B08007 B08011 D16020 5 B01023 B01025 B01027 D01011 D01012 D16021 23 D01023 B02041 B19001 B19007 B19005 B19006 B19008 B08005 B10004 B08005 B10004 B19007 B08005 B08021 B04075 B11040 B19007 R05004 B05021 B05021 R02002 B19003 B19004 D16022 23 B01032 B02041 B19001 B19010 R18000 B08021 B04014 B08005 D01023 B19005 B19006 B10004 B11041 B08021 B04075 B11040 B19008 R05004 B05021 B05021 R02002 B19003 B19004 D16026 2 D16020 D16021 D16027 2 D16020 D16022 D16050 16 D01001 D01011 D01012 002160 008005 005002 006002 008005 019100 019005 019006 019101 019102 019103 019104 019105 D16052 28 D01005 D01011 D01012 001007 025150 R22000 001027 019150 019106 008005 005002 006002 008005 019107 019005 019006 019108 019109 019110 019111 019112 019113 019114 019115 019116 019117 019118 019119 D16060 14 D01011 D01012 B05002 B06002 B19005 B19006 B05002 B06002 B05002 B06002 B04074 B20048 B11041 B13055 D16061 16 D01011 D01012 B05002 B06002 B19005 B19006 R02000 B05002 B06002 R02002 B05002 B06002 B04074 B20048 B11041 B13055 D18001 2 D01025 B24011 D18003 4 D01026 B24005 B24004 B24021 D18004 6 D01025 B04023 B13011 B24005 B24004 B24022 D21001 6 B02101 B02114 B02105 B02106 B02107 B02121 D21003 4 B21051 B21014 B21017 B21030 D21004 4 D01031 B02003 R01000 D21003 D21005 12 B25004 B02121 B02122 B02123 B02124 B02125 B02126 B02127 B02128 B02129 B02130 B02131 D21006 4 B25001 B25002 B25003 B25005 D21007 8 B25009 B25010 B25011 B25012 B25013 B25015 B25016 B25017 D21008 3 B25006 B25007 B25008 D21009 2 B25018 B25019 D21010 13 B02101 B07002 B02102 B02103 B02104 B02105 B02106 B02107 B02108 B02109 B02110 B02132 B02133 D21011 3 B30031 B30032 B29002 D21012 2 R01000 B02135 D35001 4 B08035 B35001 B08036 D01001 D35002 4 B08035 B35001 B08036 B01033 D35003 6 B08021 B04001 B04002 B04003 B04004 B04073 D35004 7 B08021 B04004 B08021 B04004 B35000 D01001 B35011 D35005 7 B08021 B04004 B08021 B04004 B35000 B01001 B35011 D35006 7 B08021 B04004 B08021 B04004 B35000 B01003 B35011 D35007 9 B08021 B04004 B08021 B04004 B35000 B01001 R02000 B01002 B35011 D35010 3 D35002 D35003 D35007 emoslib-000392+dfsg.1/crextables/D0002030000755000175000017500000054720212127406245020402 0ustar amckinstryamckinstry D00002 2 B00002 B00003 D00003 3 B00010 B00011 B00012 D00004 9 D00003 B00013 B00014 B00015 B00016 B00017 B00018 B00019 B00020 D00010 3 D00003 R01000 B00030 D01001 2 B01001 B01002 D01002 3 B01003 B01004 B01005 D01003 3 B01011 B01012 B01013 D01004 4 B01001 B01002 B01015 B02001 D01005 2 001035 001034 D01011 3 B04001 B04002 B04003 D01012 2 B04004 B04005 D01013 3 B04004 B04005 B04006 D01021 2 B05001 B06001 D01022 3 B05001 B06001 B07001 D01023 2 B05002 B06002 D01024 3 B05002 B06002 B07001 D01025 3 D01023 B04003 D01012 D01026 7 D01021 B04003 B04003 B04004 B04004 B04005 B04005 D01029 3 B01018 B02001 D01011 D01030 4 B01018 B02001 D01011 D01024 D01031 5 D01001 B02001 D01011 D01012 D01022 D01032 5 D01001 B02001 D01011 D01012 D01024 D01033 5 B01005 B02001 D01011 D01012 D01021 D01034 5 B01005 B02001 D01011 D01012 D01023 D01035 7 B01005 B01012 B01013 B02001 D01011 D01012 D01023 D01036 5 D01003 B02001 D01011 D01012 D01023 D01037 6 D01001 B02011 B02012 D01011 D01012 D01022 D01038 6 D01001 B02011 B02012 D01011 D01012 D01024 D01039 6 D01003 B02011 B02012 D01011 D01012 D01023 D01040 6 D01003 B02011 B02012 D01011 D01012 D01024 D01041 5 B01007 B02021 B02022 D01011 D01012 D01042 2 D01041 D01021 D01043 5 B01007 B02023 D01011 D01013 D01021 D01044 5 B01007 B02024 D01011 D01013 D01021 D01049 5 B02111 B02112 B21062 B21063 B21065 D01051 6 B01006 B02061 D01011 D01012 D01021 B08004 D01055 7 B01005 B02001 D01011 D01012 D01021 B01012 B01014 D01062 2 R01000 D01001 D01065 8 B01006 B01008 B02001 B02002 B02005 B02062 B02070 B02065 D01066 6 D01011 D01013 D01023 B07004 B02064 B08004 D01070 3 B02143 B02142 B02144 D01071 5 B01007 B01031 B02020 B02028 B02029 D01072 4 D01071 D01011 D01013 D01021 D01074 4 B02143 B02142 B02145 B02146 D01075 6 D01001 B01015 D01024 B08021 D01011 D01012 D01076 3 B02011 B02143 B02142 D01090 6 D01004 D01011 D01012 D01021 B07030 B07031 D01091 10 B02180 B02181 B02182 B02183 B02184 B02179 B02186 B02187 B02188 B02189 D01092 9 B01011 B01003 B02001 D01011 D01012 D01021 B07030 B07031 B33024 D01093 3 D01036 B07030 B07031 D01110 5 D01001 B01011 B02011 B02014 B02003 D01111 6 D01001 B01011 B02011 B02013 B02014 B02003 D01112 5 B01006 B02011 B02013 B02014 B02003 D01113 3 B08021 D01011 D01013 D01114 5 D01021 B07030 B07031 B07007 B33024 D01193 5 001007 001031 002196 002221 002222 D01250 4 D01193 D01011 D01013 D01021 D02001 4 B10004 B10051 B10061 B10063 D02002 5 B10004 B07004 B10003 B10061 B10063 D02003 9 B11011 B11012 B12004 B12006 B13003 B20001 B20003 B20004 B20005 D02004 7 B20010 B08002 B20011 B20013 B20012 B20012 B20012 D02005 4 B08002 B20011 B20012 B20013 D02006 4 B10004 B10051 B10062 B10063 D02011 3 D02001 D02003 D02004 D02012 3 D02002 D02003 D02004 D02013 4 D02006 D02003 R01000 D02005 D02021 3 B22001 B22011 B22021 D02022 3 B22002 B22012 B22022 D02023 3 B22003 B22013 B22023 D02024 3 D02022 R01002 D02023 D02031 4 D02001 B10062 B07004 B10009 D02032 4 B07032 B12101 B12103 B13003 D02033 2 B07032 B20001 D02034 2 B07032 B13023 D02035 7 D02032 D02033 D02034 B07032 D02004 R01000 D02005 D02036 6 R05000 B08002 B20011 B20012 B20014 B20017 D02037 3 B20062 B13013 B12113 D02038 4 B20003 B04024 B20004 B20005 D02039 2 B04024 B14031 D02040 4 B07032 R02002 B04024 B13011 D02041 7 B07032 B04024 B04024 B12111 B04024 B04024 B12112 D02042 11 B07032 B02002 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 D02043 7 D02038 R01002 D02039 D02040 D02041 D02042 B07032 D02044 3 B04024 B02004 B13033 D02045 7 B04024 B14002 B14004 B14016 B14028 B14029 B14030 D02046 3 B04024 B04024 B12049 D02047 3 R02003 B08002 B20054 D02043 7 D02038 R01002 D02039 D02040 D02041 D02042 B07032 D02048 5 B05021 B07021 B20012 B05021 B07021 D02049 7 B08002 B20011 B20013 B20012 B20012 B20012 B08002 D02051 12 B10004 B10051 B07004 B10003 B12004 B12051 B12016 B12017 B13004 R02004 B08051 B08020 D02052 7 B07032 B07033 B12101 B02039 B12102 B12103 B13003 D02053 3 B07032 B07033 B20001 D02054 8 D02052 D02053 B07033 D02034 B07032 D02004 R01000 302005 D02055 8 B20031 B20032 B20033 B20034 B20035 B20036 B20037 B20038 D02056 2 B02038 B22043 D02057 3 D02056 D02021 D02024 D02058 8 B07032 B07033 B04024 B04024 B12111 B04024 B04024 B12112 D02059 12 B07032 B07033 B02002 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 D02060 4 D02038 D02040 D02058 D02059 D02062 18 D02001 D02052 D02053 007033 R01000 D02034 007032 R01000 D02005 008002 R01000 D02055 R01000 D02056 R01000 D02021 R01000 D02024 D02063 6 D02038 R01000 D02040 R01000 D02058 D02059 D02066 16 B20023 B20024 B20027 B20054 B20023 B20027 B20054 B20025 B20026 B20027 B20040 B20066 B20027 B20021 B20067 B20027 D02069 4 B07032 B07033 B33041 B20001 D02070 8 B07032 B07033 B11001 B11002 B11043 B11041 B11016 B11017 D02071 14 B07032 B07033 B08021 B04025 B11001 B11002 B08021 R03002 B04025 B11043 B11041 B04025 B11016 B11017 D02072 5 B07032 B07033 B12101 B12103 B13003 D02073 7 B20010 R05004 B08002 B20011 B20012 B33041 B20013 D02074 4 B20003 B04025 B20004 B20005 D02075 5 B08021 B04025 B13055 B13058 B08021 D02076 7 B02021 B20022 B26020 B20023 B20024 B20025 B20026 D02077 12 B07032 B07033 B04025 B12111 B12112 B07032 B04025 B12112 B02176 B20062 B02177 B13013 D02078 4 B02176 B20062 B02177 B13013 D02079 5 B07032 B02175 B02178 B04025 B13011 D02080 3 B02185 B04025 B13033 D02081 2 B04025 B14031 D02082 7 B04025 B14002 B14004 B14016 B14028 B14029 B14030 D02083 8 B04025 B08023 B10004 B11001 B11002 B12101 B13003 B08023 D03001 3 B07003 B11001 B11002 D03002 3 B07004 B11001 B11002 D03003 4 B07004 B10003 B12001 B12003 D03004 6 B07004 B10003 B12001 B12003 B11001 B11002 D03011 4 B07003 B08001 B11001 B11002 D03012 4 B07004 B08001 B11001 B11002 D03013 7 B07004 B08001 B10003 B12001 B13003 B11001 B11002 D03014 7 B07004 B08001 B10003 B12001 B12003 B11001 B11002 D03031 6 B07004 B08003 B07021 B07022 B08012 B12061 D03032 2 B20011 B20016 D03033 2 B20010 B20016 D03041 8 B02152 B02023 B07004 B11001 B11002 B02153 B02154 B12071 D03050 7 B04086 B08042 B07004 B05015 B06015 B11001 B11002 D03051 7 B04086 B08042 B07004 B05015 B06015 B11061 B11062 D03051 7 B04086 B08042 B07004 B05015 B06015 B11061 B11062 D03052 7 B04086 B08042 B07009 B05015 B06015 B11001 B11002 D03053 7 B04086 B08042 B07009 B05015 B06015 B11061 B11062 D03054 10 B04086 B08042 B07004 B10009 B05015 B06015 B12101 B12103 B11001 B11002 D03250 8 B02252 B02023 B07004 B11001 B11002 B02197 B02198 B12193 D04001 5 B08003 B10004 B12001 B11001 B11002 D04002 4 B08003 B10004 B11001 B11002 D04003 2 B08003 B12001 D04004 4 B08003 B10004 B20010 B12001 D04005 4 B02024 B07004 B07004 B13003 D04006 3 B14001 B14001 B14003 D04011 27 B02163 B02164 B08012 B07024 B02057 B08021 B04001 B04002 B04003 B04004 B08021 B04024 R10004 B08021 B04004 B04005 B04006 B08021 B04004 B04005 B04006 B11001 B11002 R03010 B02163 B07004 B12001 D04030 3 B27031 B28031 B10031 D04031 3 B01041 B01042 B01043 D04032 5 B02153 B02154 B20081 B20082 B20012 D04033 8 B02152 B02166 B02167 B02153 B02154 B12075 B12076 B12063 D04034 9 R02004 B27001 B28001 B07022 B05043 B20010 B20016 B33003 B10040 D04250 27 B02231 B02232 B08012 B07024 B02057 B08021 B04001 B04002 B04003 B04004 B08021 B04024 R10004 B08021 B04004 B04005 B04006 B08021 B04004 B04005 B04006 B11001 B11002 R03010 B02231 B07004 B12001 D05001 4 B11001 B11002 B13060 B13071 D05002 11 D01012 B12001 B13003 B14051 B13060 B13072 B13080 B13081 B13082 B13083 B13084 D05003 4 D01012 B04065 R01000 D05001 D05004 3 D01030 D05002 D05003 D05006 8 B13072 B13082 B13019 C07005 C01004 B12001 B13073 B13060 D05007 5 D01029 D01012 B04065 R01000 D05006 D05008 4 D05006 C07005 C01004 B12030 D05009 5 D01029 D01012 B04065 R01000 D05008 D05010 3 D05008 B02091 B02091 D05011 5 D01029 D01012 B04065 R01000 D05010 D05016 7 B14021 B07004 B13003 B11002 B11001 B11041 B11043 D05017 5 B13080 B13081 B13083 B13085 B13084 D05018 7 D01029 D01012 B04065 R03000 D05008 D05016 D05017 D06001 4 B02032 R02000 B07062 B22042 D06002 3 B02031 B22004 B22031 D06003 4 B02002 B11011 B11012 B12004 D06004 6 B02032 B02033 R03000 B07062 B22043 B22062 D06005 5 B02031 R03000 B07062 B22004 B22031 D06006 3 D06003 D06002 B22063 D06007 6 B01012 B01014 D06008 B04024 B27003 B28003 D06008 3 B02034 B02035 B02036 D06019 9 B01075 D01011 D01012 B22042 B22120 B22121 C01002 B04015 B04065 D06020 8 B01075 D01011 D01012 B22042 B22120 B22121 B04075 B04065 D06021 7 B01075 D01011 D01012 B22122 B22123 B12001 D03002 D06022 5 B01075 D01011 D01012 B22038 B22039 D06023 8 B01015 D01023 D01011 D01012 B22038 B22039 B22120 B22121 D06024 4 D06020 R02000 B22038 B22039 D06025 4 D06019 R02006 B22038 B22039 D07001 2 D01031 D02011 D07002 2 D01032 D02011 D07003 3 D07001 R01000 D02005 D07004 3 D07002 R01000 D02005 D07005 3 D07001 R01004 D02005 D07006 3 D07002 R01004 D02005 D07007 2 D01031 D02012 D07008 2 D01032 D02012 D07009 2 D01031 D02013 D07011 16 B01063 B02001 D01011 D01012 D01024 B07006 B11001 B11016 B11017 B11002 B11041 B07006 B12001 B12003 B10052 B20009 D07012 4 R03000 B08023 B05021 B20001 D07013 7 R06000 B01064 B08014 B20061 B08014 B20061 B20018 D07014 2 R01000 B20019 D07015 3 R01000 D02005 B20002 D07016 2 R01000 B20020 D07017 2 R01000 B11070 D07018 13 B08016 R02000 B08017 D01012 R04000 B07006 B11001 B11002 B11041 B20009 R01000 B20001 D07014 D07020 3 D07011 D07014 D07016 D07021 9 D07011 D07012 D07013 D07014 D07015 D07016 D07017 D07018 D07015 D07030 2 B15001 B15002 D07031 7 B08022 B08023 B15001 B08023 B15001 B08023 B15002 D07041 7 D01001 B01015 D01024 D01011 D01012 D01070 D07030 D07042 9 D01001 B01015 D01024 D01011 D01012 B08021 B04025 D01070 D07031 D07043 7 D01001 B01015 D01024 D01011 D01012 D01074 D07030 D07044 9 D01001 B01015 D01024 D01011 D01012 B08021 B04025 D01074 D07031 D07060 2 B07061 B12030 D07061 3 D01031 R01005 D07060 D07062 3 D01032 R01005 D07060 D07063 2 B07061 B12130 D07080 13 D01090 CREX template for synoptic reports D02031 D02035 D02036 D02047 B08002 D02048 D02037 D02043 D02044 R01002 D02045 D02046 D07081 24 D01090 CREX template for synoptic reports RA I D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12122 B13056 B13057 B20101 B20102 B20103 B20104 B20105 B20106 B20107 B20108 D02043 D02044 R01002 D02045 D02046 D07082 15 D01090 CREX template for synoptic reports RA II D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12121 B12122 D02043 D02044 R01002 D02045 D02046 D07083 14 D01090 CREX template for synoptic reports RA III D02031 D02035 D02036 D02047 B08002 D02048 D02037 B12122 D02043 D02044 R01002 D02045 D02046 D07084 16 D01090 CREX template for synoptic reports RA IV D02031 D02035 D02036 D02047 B08002 D02048 D02037 B20055 R01000 C05001 D02043 D02044 R01002 D02045 D02046 D07086 11 D01090 CREX template for synoptic reports RA VI D02031 D02035 D02036 B08002 D02037 D02066 D02043 D02044 R01002 D02045 D07090 13 D01092 CREX template for synoptic reports from mobile land stations D02031 D02035 D02036 D02047 008002 D02048 D02037 D02043 D02044 R01002 D02045 D02046 D08001 3 D01033 D02011 B22042 D08002 3 D01034 D02011 B22042 D08003 3 D01035 D02011 B22042 D08004 3 D01036 D02011 B22042 D08005 2 D08004 D02024 D08006 8 B10004 B10061 B10063 B11001 B11002 B12004 B13003 B22042 D08007 4 D01055 D02011 B07062 B22042 D08008 3 D01093 D02062 D02063 D08009 7 D01093 D02001 D02054 B08002 D02055 D02057 D02060 D08010 15 B01011 R13000 D01011 D01012 D01021 B04080 B22049 B04080 B22059 B04080 B22005 B02042 B22032 B02042 B04080 D09001 3 D01037 R01000 D03011 D09002 3 D01038 R01000 D03011 D09003 3 D01037 R01000 D03012 D09004 3 D01038 R01000 D03012 D09005 4 D01037 D02004 R01000 D03013 D09006 4 D01038 D02004 R01000 D03013 D09007 4 D01037 D02004 R01000 D03014 D09008 4 D01038 D02004 R01000 D03014 D09011 3 D01039 R01000 D03011 D09012 3 D01039 R01000 D03012 D09013 4 D01039 D02004 R01000 D03013 D09014 4 D01039 D02004 R01000 D03014 D09015 3 D01040 R01000 D03011 D09016 3 D01040 R01000 D03012 D09017 4 D01040 D02004 R01000 D03013 D09018 4 D01040 D02004 R01000 D03014 D09019 4 D01031 B02003 R01000 D03011 D09020 7 D01031 B02003 R04000 B07003 B11003 B11004 B11005 D09030 7 B15004 B15005 R04000 B04015 B08006 B07004 B15003 D09040 3 D01075 D01076 D09030 D09041 4 D07041 D01075 D01076 D09030 D09042 4 D07042 D01075 D01076 D09030 D09044 4 D07044 D01075 D01076 D09030 D09050 7 D01110 D01113 D01114 R01000 D03050 R01000 D03051 D09051 7 D01110 D01113 D01114 R01000 D03052 R01000 D03053 D09052 9 D01111 D01113 D01114 D02049 B22043 R01000 D03054 R01000 D03051 D09053 7 D01112 D01113 D01114 R01000 D03054 R01000 D03051 D10001 5 D01042 D03031 D03032 R01026 D03025 D10002 5 D01042 D03031 D03032 R01009 D03023 D10003 5 D01042 D03031 D03032 R01006 D03023 D10004 5 D01042 D03031 D03032 R01003 D03024 D10005 5 D01042 D03031 D03033 R01000 D03025 D10006 5 D01042 D03031 D03033 R01000 D03023 D10007 5 D01042 D03031 D03033 R01000 D03024 D10008 8 D10011 R01019 D10012 B02150 B25079 B25080 B33032 B14045 D10009 3 D10011 R01015 D10012 D10010 3 D10011 R01005 D10012 D10014 3 D01072 D03041 D04011 D10015 13 D01072 B07024 B10002 D03041 R01003 D04032 B02152 B02024 B07004 B07004 B13003 R01003 D04033 D10016 13 D01072 B07024 B10002 D03041 R01012 D04032 B02152 B02024 B07004 B07004 B13003 R01012 D04033 D10020 6 D10022 D01011 D01013 D01021 D04034 D10021 D10022 4 B01007 B02019 B01033 B02172 D10023 17 D01072 B30021 B30022 B08012 B07024 B07025 B10002 R01012 D04032 R05002 B02152 B02024 B07004 B07004 B13003 R01012 D04033 D10050 13 D10051 D10052 R01000 D10053 R01004 D10054 B20010 D10052 R01015 D10053 D10052 R01004 D10053 D10195 3 D01250 D03250 D04250 D11001 9 D01051 B07002 B12001 B11001 B11002 B11031 B11032 B11033 B20041 D11002 4 D01065 D01066 D11003 D11004 D11003 5 B10070 B11001 B11002 B12001 B13002 D11004 12 R01000 B11034 R01000 B11035 R01000 B11075 R01000 B11076 R01000 B33025 R01000 B33026 D11005 13 B01008 B01023 D01021 D01011 D01013 B07010 B08009 B11001 B11002 B11031 B11036 B12101 B33025 D11006 6 B07010 B11001 B11002 B02064 B12101 B12103 D11193 16 D01197 D01011 D01012 D01023 B08004 B07004 B08021 B11001 B11002 B11031 B11034 B11035 B12001 B12003 B13003 B20041 D12001 2 D01043 D04001 D12002 2 D01043 D04002 D12003 2 D01042 D04003 D12004 2 D01042 D04004 D12005 2 D01042 B20014 D12006 2 D01044 D04005 D12007 2 D01042 D04006 D12010 6 B01007 B05040 B02021 B05041 B04001 B04043 D12014 8 D12010 D12011 R05056 D01023 B05042 B05052 D12012 D12013 D12016 3 D12010 D12011 D12015 D12018 3 D12010 D12011 D12017 D12020 11 D01047 D01048 B15015 B29002 B21076 R04012 B06030 R02012 B05030 B21075 B21066 D12021 6 D01047 R01003 D01049 B11012 B11011 B21067 D12022 15 D01047 B08022 B11012 B11050 B22070 B22026 D12041 B10050 B21068 B21071 B21072 B21073 D12042 B21062 B15011 D12023 7 D01047 R03003 B08022 B12061 B22050 B21069 B21085 D12024 11 D12020 B08060 B08022 B08060 B08022 B25014 B22101 B22097 B22098 B22099 B22100 D12025 11 D12019 B08060 B08022 B08060 B08022 B25014 B22101 B22097 B22098 B22099 B22100 D12026 19 D01046 D01011 D01013 D01023 D12031 R01004 D12030 B21110 D01023 D21027 B21111 D01023 D21027 B21112 D01023 D21027 B21113 D01023 D21027 D12027 9 D01047 R05009 D01023 B07021 B12061 B07021 B12061 B21085 B21070 D12031 8 B05034 B06034 B21109 B11081 B11082 B21101 B21102 B21103 D12032 4 B21120 B21121 B13055 B21122 D12033 4 B02104 B08022 B12063 B12065 D12042 6 B21077 B21078 B21079 B21080 B21081 B21082 D12045 21 B01007 B02019 B01096 B25061 B05040 D01011 D01013 D01021 B07002 B12180 B12181 B12182 B12183 B12184 B12185 B02174 B21086 B12186 B21087 B12187 B33043 D13009 3 B21001 R01000 B21001 D13010 3 B21036 R01000 B21036 D13031 4 B06002 B06012 R01000 B30001 D13032 4 B05002 B05012 R01000 D13031 D13041 9 B06002 R10000 R04000 B06012 R01000 B30001 B06012 R01000 B30001 D13042 4 B05002 B05012 R01000 D13041 D13043 11 B06002 B05002 B05012 R12000 R10000 R04000 B06012 R01000 B30001 R01000 B30001 D15001 5 B01011 D01011 D01012 D01023 D06001 D15002 5 B01011 D01011 D01012 D01023 D06004 D16001 10 D01011 B04004 D01023 B01021 B02041 B19001 B10051 B19002 B19003 B19004 D16002 15 B08021 B04001 B04002 B04003 B04004 B04005 B01033 B08021 B04001 B04002 B04003 B04004 B04005 B07002 B07002 D16003 10 R09000 B08011 B08007 R04000 B05002 B06002 B10002 B11002 B08007 B08011 D16004 11 R10000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B11031 B08007 B08011 D16005 9 R08000 B08005 B08007 B05002 B06002 B01026 B19001 B08007 B08005 D16006 12 R11000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B20011 B20012 B08007 B08011 D16007 10 R09000 B08011 B08007 R04000 B05002 B06002 B19005 B19006 B08007 B08011 D16008 11 R10000 B08001 B08007 B08023 R03000 B05002 B06002 B10002 B08023 B08007 B08001 D16009 11 R10000 B08011 B08007 B07002 B07002 R02000 B05002 B06002 B20041 B08007 B08011 D16010 8 R07000 B08011 B08007 B01022 B05002 B06002 B08007 B08011 D16011 17 R16000 B08011 B01022 B08007 R02000 B05002 B06002 B08021 B04001 B04002 B04003 B04004 B04005 B20090 B08021 B08007 B08011 D16020 5 B01023 B01025 B01027 D01011 D01012 D16021 23 D01023 B02041 B19001 B19007 B19005 B19006 B19008 B08005 B10004 B08005 B10004 B19007 B08005 B08021 B04075 B11040 B19007 R05004 B05021 B05021 R02002 B19003 B19004 D16022 23 B01032 B02041 B19001 B19010 R18000 B08021 B04014 B08005 D01023 B19005 B19006 B10004 B11041 B08021 B04075 B11040 B19008 R05004 B05021 B05021 R02002 B19003 B19004 D16026 2 D16020 D16021 D16050 16 D01001 D01011 D01012 002160 008005 005002 006002 008005 019100 019005 019006 019101 019102 019103 019104 019105 D16052 28 D01005 D01011 D01012 001007 025150 R22000 001027 019150 019106 008005 005002 006002 008005 019107 019005 019006 019108 019109 019110 019111 019112 019113 019114 019115 019116 019117 019118 019119 D18001 2 D01025 B24011 D18003 4 D01026 B24005 B24004 B24021 D18004 6 D01025 B04023 B13011 B24005 B24004 B24022 D21001 6 B02101 B02114 B02105 B02106 B02107 B02121 D21003 4 B21051 B21014 B21017 B21030 D21004 4 D01031 B02003 R01000 D21003 D21005 12 B25004 B02121 B02122 B02123 B02124 B02125 B02126 B02127 B02128 B02129 B02130 B02131 D21006 4 B25001 B25002 B25003 B25005 D21007 8 B25009 B25010 B25011 B25012 B25013 B25015 B25016 B25017 D21008 3 B25006 B25007 B25008 D21009 2 B25018 B25019 D21010 13 B02101 B07002 B02102 B02103 B02104 B02105 B02106 B02107 B02108 B02109 B02110 B02132 B02133 D21011 3 B30031 B30032 B29002 D21012 2 R01000 B02135 D35001 4 B08035 B35001 B08036 D01001 D35002 4 B08035 B35001 B08036 B01033 D35003 6 B08021 B04001 B04002 B04003 B04004 B04073 D35004 7 B08021 B04004 B08021 B04004 B35000 D01001 B35011 D35005 7 B08021 B04004 B08021 B04004 B35000 B01001 B35011 D35006 7 B08021 B04004 B08021 B04004 B35000 B01003 B35011 D35007 9 B08021 B04004 B08021 B04004 B35000 B01001 R02000 B01002 B35011 D35010 3 D35002 D35003 D35007 emoslib-000392+dfsg.1/crextables/B0002030000755000175000017500000056104312127406245020377 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 CHARACTER 0 3 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000004 BUFR/CREX MASTER TABLE CCITTIA5 0 0 16 CHARACTER 0 2 000005 BUFR/CREX EDITION NUMBER CCITTIA5 0 0 24 CHARACTER 0 3 000006 BUFR MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000007 CREX MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000008 BUFR LOCAL TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 CHARACTER 0 1 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 CHARACTER 0 2 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 CHARACTER 0 3 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000015 UNITS NAME CCITTIA5 0 0 192 CHARACTER 0 24 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000017 UNITS SCALE CCITTIA5 0 0 24 CHARACTER 0 3 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 CHARACTER 0 10 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 CHARACTER 0 3 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 48 CHARACTER 0 6 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 NUMERIC 0 2 001002 WMO STATION NUMBER NUMERIC 0 0 10 NUMERIC 0 3 001003 WMO REGION NUMBER/GEOGRAPHICAL AREA CODE TABLE 1003 0 0 3 CODE TABLE 1003 0 1 001004 WMO REGION SUB-AREA (SEE NOTE 9) NUMERIC 0 0 3 NUMERIC 0 1 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 NUMERIC 0 5 001006 AIRCRAFT FLIGHT NUMBER CCITTIA5 0 0 64 CHARACTER 0 8 001007 SATELLITE IDENTIFIER CODE TABLE 1007 0 0 10 CODE TABLE 1007 0 4 001008 AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION CCITTIA5 0 0 64 CHARACTER 0 8 001009 TYPE OF COMMERCIAL AIRCRAFT CCITTIA5 0 0 64 CHARACTER 0 8 001010 STATIONARY BUOY PLATFORM IDENTIFIER; E.G. C-MAN BUOYS CCITTIA5 0 0 64 CHARACTER 0 8 001011 SHIP OR MOBILE LAND STATION IDENTIFIER CCITTIA5 0 0 72 CHARACTER 0 9 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM* M/S 0 0 10 M/S 0 3 001014 PLATFORM DRIFT SPEED (HIGH PRECISION) M/S 2 0 10 M/S 2 4 001015 STATION OR SITE NAME CCITTIA5 0 0 160 CHARACTER 0 20 001018 SHORT STATION OR SITE NAME CCITTIA5 0 0 40 CHARACTER 0 5 001019 LONG STATION OR SITE NAME CCITTIA5 0 0 256 CHARACTER 0 32 001020 WMO REGION SUB-AREA NUMERIC 0 0 4 NUMERIC 0 2 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 NUMERIC 0 4 001022 NAME OF FEATURE (SEE NOTE 11) CCITTIA5 0 0 224 CHARACTER 0 28 001023 OBSERVATION SEQUENCE NUMBER NUMERIC 0 0 9 NUMERIC 0 3 001025 STORM IDENTIFIER CCITTIA5 0 0 24 CHARACTER 0 3 001026 WMO STORM NAME CCITTIA5 0 0 64 CHARACTER 0 8 001027 WMO LONG STORM NAME CCITTIA5 0 0 80 CHARACTER 0 10 001031 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE (SEE NOTE 10) CODE TABLE 1031 0 0 16 CODE TABLE 1031 0 5 001032 GENERATING APPLICATION CODE TABLE 1032 0 0 8 CODE TABLE 1032 0 3 001033 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 1033 0 0 8 CODE TABLE 1033 0 3 001034 IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE CODE TABLE 1034 0 0 8 CODE TABLE 1034 0 3 001035 ORIGINATING CENTRE COMMON CODE TABLE C-11 0 0 16 COMMON CODE TABLE C-11 0 5 001036 AGENCY IN CHARGE OF OPERATING THE OBSERVING PLATFORM CODE TABLE 1036 0 0 20 CODE TABLE 1036 0 7 001041 ABSOLUTE PLATFORM VELOCITY - FIRST COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001042 ABSOLUTE PLATFORM VELOCITY - SECOND COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001043 ABSOLUTE PLATFORM VELOCITY - THIRD COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001050 PLATFORM TRANSMITTER ID NUMBER NUMERIC 0 0 17 NUMERIC 0 6 001051 PLATFORM TRANSMITTER ID NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001060 AIRCRAFT REPORTING POINT (BEACON IDENTIFIER) CCITTIA5 0 0 64 CHARACTER 0 8 001062 SHORT ICAO LOCATION INDICATOR CCITTIA5 0 0 32 CHARACTER 0 4 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 CHARACTER 0 8 001064 RUNWAY DESIGNATOR CCITTIA5 0 0 32 CHARACTER 0 4 001075 TIDE STATION IDENTIFICATION CCITTIA5 0 0 40 CHARACTER 0 5 001080 SHIP LINE NUMBER ACCORDING TO SOOP CCITTIA5 0 0 32 CHARACTER 0 4 001081 RADIOSONDE SERIAL NUMBER CCITTIA5 0 0 160 CHARACTER 0 20 001082 RADIOSONDE ASCENSION NUMBER (SEE NOTE 12) NUMERIC 0 0 14 NUMERIC 0 4 001083 RADIOSONDE RELEASE NUMBER (SEE NOTE 12) NUMERIC 0 0 3 NUMERIC 0 1 001085 OBSERVING PLATFORM MANUFACTURER'S MODEL CCITTIA5 0 0 160 CHARACTER 0 20 001086 OBSERVING PLATFORM MANUFACTURER'S SERIAL NUMBER CCITTIA5 0 0 256 CHARACTER 0 32 001087 WMO MARINE OBSERVING PLATFORM EXTENDED IDENTIFIER NUMERIC 0 0 23 NUMERIC 0 7 001090 TECHNIQUE FOR MAKING UP INITIAL PERTURBATIONS CODE TABLE 1090 0 0 8 CODE TABLE 1090 0 3 001091 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 10 NUMERIC 0 4 001092 TYPE OF ENSEMBLE FORECAST CODE TABLE 1092 0 0 8 CODE TABLE 1092 0 3 001093 BALLOON LOT NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001094 WBAN NUMBER NUMERIC 0 0 17 NUMERIC 0 5 001095 OBSERVER IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 001096 STATION ACQUISITION CCITTIA5 0 0 160 CHARACTER 0 20 002001 TYPE OF STATION CODE TABLE 2001 0 0 2 CODE TABLE 2001 0 1 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 2002 0 0 4 FLAG TABLE 2002 0 2 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 2003 0 0 4 CODE TABLE 2003 0 2 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUREMENT OR TYPE OF C CODE TABLE 2004 0 0 4 CODE TABLE 2004 0 2 002005 PRECISION OF TEMPERATURE OBSERVATION K 2 0 7 K 2 3 002011 RADIOSONDE TYPE CODE TABLE 2011 0 0 8 CODE TABLE 2011 0 3 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 2012 0 0 4 CODE TABLE 2012 0 2 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 2013 0 0 4 CODE TABLE 2013 0 2 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM USED CODE TABLE 2014 0 0 7 CODE TABLE 2014 0 3 002015 RADIOSONDE COMPLETENESS CODE TABLE 2015 0 0 4 CODE TABLE 2015 0 2 002016 RADIOSONDE CONFIGURATION FLAG TABLE 2016 0 0 5 FLAG TABLE 2016 0 2 002019 SATELLITE INSTRUMENTS CODE TABLE 2019 0 0 11 CODE TABLE 2019 0 4 002020 SATELLITE CLASSIFICATION CODE TABLE 2020 0 0 9 CODE TABLE 2020 0 3 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2021 0 0 9 FLAG TABLE 2021 0 3 002022 SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2022 0 0 8 FLAG TABLE 2022 0 3 002023 SATELLITE DERIVED WIND COMPUTATION METHOD CODE TABLE 2023 0 0 4 CODE TABLE 2023 0 2 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2024 0 0 4 CODE TABLE 2024 0 2 002025 SATELLITE CHANNEL(S) USED IN COMPUTATION FLAG TABLE 2025 0 0 25 FLAG TABLE 2025 0 9 002026 CROSS TRACK RESOLUTION M 2 0 12 M 2 4 002027 ALONG TRACK RESOLUTION M 2 0 12 M 2 4 002028 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 M 0 6 002029 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 M 0 6 002030 METHOD OF CURRENT MEASUREMENT CODE TABLE 2030 0 0 3 CODE TABLE 2030 0 1 002031 DURATION AND TIME OF CURRENT MEASUREMENT CODE TABLE 2031 0 0 5 CODE TABLE 2031 0 2 002032 INDICATOR FOR DIGITIZATION CODE TABLE 2032 0 0 2 CODE TABLE 2032 0 1 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 2033 0 0 3 CODE TABLE 2033 0 1 002034 DROGUE TYPE CODE TABLE 2034 0 0 5 CODE TABLE 2034 0 2 002035 CABLE LENGTH M 0 0 9 M 0 3 002036 BUOY TYPE CODE TABLE 2036 0 0 2 CODE TABLE 2036 0 1 002037 METHOD OF TIDAL OBSERVATION CODE TABLE 2037 0 0 3 CODE TABLE 2037 0 1 002038 METHOD OF WATER TEMPERATURE AND/OR SALINITY MEASUREMENT CODE TABLE 2038 0 0 4 CODE TABLE 2038 0 2 002039 METHOD OF WET-BULB TEMPERATURE MEASUREMENT CODE TABLE 2039 0 0 3 CODE TABLE 2039 0 1 002040 METHOD OF REMOVING VELOCITY AND MOTION OF PLATFORM FROM CURRENT CODE TABLE 2040 0 0 4 CODE TABLE 2040 0 2 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 2041 0 0 6 CODE TABLE 2041 0 2 002042 INDICATOR FOR SEA SURFACE CURRENT SPEED CODE TABLE 2042 0 0 2 CODE TABLE 2042 0 1 002044 INDICATOR FOR METHOD OF CALCULATING SPECTRAL WAVE DATA CODE TABLE 2044 0 0 4 CODE TABLE 2044 0 2 002045 INDICATOR FOR TYPE OF PLATFORM CODE TABLE 2045 0 0 4 CODE TABLE 2045 0 2 002046 WAVE MEASUREMENT INSTRUMENTATION CODE TABLE 2046 0 0 4 CODE TABLE 2046 0 2 002048 SATELLITE SENSOR INDICATOR CODE TABLE 2048 0 0 4 CODE TABLE 2048 0 2 002049 GEOSTATIONARY SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2049 0 0 8 FLAG TABLE 2049 0 3 002050 GEOSTATIONARY SOUNDER SATELLITE CHANNELS USED FLAG TABLE 2050 0 0 20 FLAG TABLE 2050 0 7 002051 INDICATOR TO SPECIFY OBSERVING METHOD FOR EXTREME TEMPERATURES CODE TABLE 2051 0 0 4 CODE TABLE 2051 0 2 002052 GEOSTATIONARY IMAGER SATELLITE CHANNELS USED FLAG TABLE 2052 0 0 6 FLAG TABLE 2052 0 2 002053 GOES-I/M BRIGHTNESS TEMPERATURE CHARACTERISTICS CODE TABLE 2053 0 0 4 CODE TABLE 2053 0 2 002054 GOES-I/M SOUNDINGS PARAMETER CHARACTERISTICS CODE TABLE 2054 0 0 4 CODE TABLE 2054 0 2 002055 GEOSTATIONARY SOUNDINGS STATISTICAL PARAMETERS CODE TABLE 2055 0 0 4 CODE TABLE 2055 0 2 002056 GEOSTATIONARY SOUNDINGS ACCURACY STATISTICS CODE TABLE 2056 0 0 4 CODE TABLE 2056 0 2 002057 ORIGIN OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2057 0 0 4 CODE TABLE 2057 0 2 002058 VALID TIMES OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2058 0 0 4 CODE TABLE 2058 0 2 002059 ORIGIN OF ANALYSIS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2059 0 0 4 CODE TABLE 2059 0 2 002060 ORIGIN OF SURFACE INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2060 0 0 4 CODE TABLE 2060 0 2 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 2061 0 0 3 CODE TABLE 2061 0 1 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 2062 0 0 4 CODE TABLE 2062 0 2 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 DEGREE 2 5 002064 AIRCRAFT ROLL ANGLE QUALITY CODE TABLE 2064 0 0 2 CODE TABLE 2064 0 1 002065 ACARS GROUND RECEIVING STATION CCITTIA5 0 0 40 CHARACTER 0 5 002066 RADIOSONDE GROUND RECEIVING SYSTEM CODE TABLE 2066 0 0 6 CODE TABLE 2066 0 2 002067 RADIOSONDE OPERATING FREQUENCY Hz -5 0 15 Hz -5 5 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 2070 0 0 4 CODE TABLE 2070 0 2 002080 BALLOON MANUFACTURER CODE TABLE 2080 0 0 6 CODE TABLE 2080 0 2 002081 TYPE OF BALLOON CODE TABLE 2081 0 0 5 CODE TABLE 2081 0 2 002082 WEIGHT OF BALLOON KG 3 0 12 KG 3 4 002083 TYPE OF BALLOON SHELTER CODE TABLE 2083 0 0 4 CODE TABLE 2083 0 2 002084 TYPE OF GAS USED IN BALLOON CODE TABLE 2084 0 0 4 CODE TABLE 2084 0 2 002085 AMOUNT OF GAS USED IN BALLOON KG 3 0 13 KG 3 4 002086 BALLOON FLIGHT TRAIN LENGTH M 1 0 10 M 1 4 002091 ENTRY SENSOR 4/20 MA A 4 0 10 A 4 3 002095 TYPE OF PRESSURE SENSOR CODE TABLE 2095 0 0 5 CODE TABLE 2095 0 2 002096 TYPE OF TEMPERATURE SENSOR CODE TABLE 2096 0 0 5 CODE TABLE 2096 0 2 002097 TYPE OF HUMIDITY SENSOR CODE TABLE 2097 0 0 5 CODE TABLE 2097 0 2 002100 RADAR CONSTANT dB 1 0 12 dB 1 4 002101 TYPE OF ANTENNA CODE TABLE 2101 0 0 4 CODE TABLE 2101 0 2 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 M 0 3 002103 RADOME FLAG TABLE 2103 0 0 2 FLAG TABLE 2103 0 1 002104 ANTENNA POLARISATION CODE TABLE 2104 0 0 4 CODE TABLE 2104 0 2 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 dB 0 2 002106 3-DB BEAMWIDTH DEGREE 1 0 6 DEGREE 1 2 002107 SIDELOBE SUPPRESSION dB 0 0 6 dB 0 2 002108 CROSSPOL DISCRIMINATION (ON AXIS) dB 0 0 6 dB 0 2 002109 ANTENNA SPEED (AZIMUTH) DEGREE/S 2 0 12 DEGREE/S 2 4 002110 ANTENNA SPEED (ELEVATION) DEGREE/S 2 0 12 DEGREE/S 2 4 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 DEGREE 1 4 002112 RADAR LOOK ANGLE DEGREE 1 0 12 DEGREE 1 4 002113 NUMBER OF AZIMUTH LOOKS NUMERIC 0 0 4 NUMERIC 0 2 002114 ANTENNA EFFECTIVE SURFACE AREA M**2 0 0 15 M**2 0 5 002115 TYPE OF SURFACE OBSERVING EQUIPMENT CODE TABLE 2115 0 0 5 CODE TABLE 2115 0 2 002116 PERCENTAGE OF 320 MHZ BAND PROCESSED % 0 0 7 % 0 3 002117 PERCENTAGE OF 80 MHZ BAND PROCESSED % 0 0 7 % 0 3 002118 PERCENTAGE OF 20 MHZ BAND PROCESSED % 0 0 7 % 0 3 002119 RA-2 INSTRUMENT OPERATIONS CODE TABLE 2119 0 0 3 CODE TABLE 2119 0 1 002120 OCEAN WAVE FREQUENCY Hz 3 0 10 Hz 3 4 002121 MEAN FREQUENCY Hz -8 0 7 Hz -8 3 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 Hz -6 3 002123 PEAK POWER W -4 0 7 W -4 3 002124 AVERAGE POWER W -1 0 7 W -1 3 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 Hz -1 3 002126 PULSE WIDTH S 7 0 6 S 7 2 002127 RECEIVER INTERMEDIATE FREQUENCY Hz -6 0 7 Hz -6 3 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 Hz -5 2 002129 MINIMUM DETECTABLE SIGNAL dB 0 -150 5 dB 0 3 002130 DYNAMIC RANGE dB 0 0 7 dB 0 3 002131 SENSITIVITY TIME CONTROL (STC) FLAG TABLE 2131 0 0 2 FLAG TABLE 2131 0 1 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 DEGREE 2 5 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 002136 RANGE PROCESSED BY RANGE ATTENUATION CORRECTION M -3 0 16 M -3 5 002140 SATELLITE RADAR BEAM AZIMUTH ANGLE DEGREE 0 0 9 DEGREE 0 3 002141 MEASUREMENT TYPE CCITTIA5 0 0 24 CHARACTER 0 3 002142 OZONE INSTRUMENT SERIAL NUMBER/ IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 002143 OZONE INSTRUMENT TYPE CODE TABLE 2143 0 0 7 CODE TABLE 2143 0 3 002144 LIGHT SOURCE TYPE FOR BREWER SPECTRO PHOTOMETER CODE TABLE 2144 0 0 4 CODE TABLE 2144 0 2 002145 WAVE LENGTH SETTING FOR DOBSON INSTRUMENTS CODE TABLE 2145 0 0 4 CODE TABLE 2145 0 2 002146 SOURCE CONDITIONS FOR DOBSON INSTRUMENTS CODE TABLE 2146 0 0 4 CODE TABLE 2146 0 2 002148 DATA COLLECTION AND/OR LOCATION SYSTEM CODE TABLE 2148 0 0 5 CODE TABLE 2148 0 2 002149 TYPE OF DATA BUOY CODE TABLE 2149 0 0 6 CODE TABLE 2149 0 2 002150 TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER CODE TABLE 2150 0 0 6 CODE TABLE 2150 0 2 002151 RADIOMETER IDENTIFIER CODE TABLE 2151 0 0 11 CODE TABLE 2151 0 4 002152 SATELLITE INSTRUMENT USED IN DATA PROCESSING(6) FLAG TABLE 2152 0 0 31 FLAG TABLE 2152 0 10 002153 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 Hz -8 8 002154 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 Hz -8 8 002156 PERCENTAGE OF VALID KU OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002157 PERCENTAGE OF VALID S OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002158 RA-2 INSTRUMENT FLAG TABLE 2158 0 0 9 FLAG TABLE 2158 0 3 002159 MWR INSTRUMENT FLAG TABLE 2159 0 0 8 FLAG TABLE 2159 0 3 002160 WAVE LENGTH OF THE RADAR CODE TABLE 2160 0 0 4 CODE TABLE 2160 0 2 002163 HEIGHT ASSIGNMENT METHOD CODE TABLE 2163 0 0 4 CODE TABLE 2163 0 2 002164 TRACER CORRELATION METHOD CODE TABLE 2164 0 0 3 CODE TABLE 2164 0 1 002166 RADIANCE TYPE CODE TABLE 2166 0 0 4 CODE TABLE 2166 0 2 002167 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2167 0 0 4 CODE TABLE 2167 0 2 002168 HYDROSTATIC PRESSURE OF LOWER END OF CABLE (THERMISTOR STRING) PA -3 0 16 KPA 0 5 002169 ANEMOMETER TYPE CODE TABLE 2169 0 0 4 CODE TABLE 2169 0 2 002172 PRODUCT TYPE FOR RETRIEVED ATMOSPHERIC GASES CODE TABLE 2172 0 0 8 CODE TABLE 2172 0 3 002173 SQUARE OF THE OFF NADIR ANGLE (7) DEGREE2 4 0 10 DEGREE2 4 4 002174 MEAN ACROSS TRACK PIXEL NUMBER NUMERIC 0 0 9 NUMERIC 0 3 002175 METHOD OF PRECIPITATION MEASUREMENT CODE TABLE 2175 0 0 4 CODE TABLE 2175 0 2 002176 METHOD OF STATE OF GROUND MEASUREMENT CODE TABLE 2176 0 0 4 CODE TABLE 2176 0 2 002177 METHOD OF SNOW DEPTH MEASUREMENT CODE TABLE 2177 0 0 4 CODE TABLE 2177 0 2 002178 METHOD OF LIQUID CONTENT MEASUREMENT OF PRECIPITATION CODE TABLE 2178 0 0 4 CODE TABLE 2178 0 2 002179 TYPE OF SKY CONDITION ALGORITHM CODE TABLE 2179 0 0 4 CODE TABLE 2179 0 2 002180 MAIN PRESENT WEATHER DETECTING SYSTEM CODE TABLE 2180 0 0 4 CODE TABLE 2180 0 2 002181 SUPPLEMENTARY PRESENT WEATHER SENSOR FLAG TABLE 2181 0 0 21 FLAG TABLE 2181 0 7 002182 VISIBILITY MEASUREMENT SYSTEM CODE TABLE 2182 0 0 4 CODE TABLE 2182 0 2 002183 CLOUD DETECTION SYSTEM CODE TABLE 2183 0 0 4 CODE TABLE 2183 0 2 002184 TYPE OF LIGHTNING DETECTION SENSOR CODE TABLE 2184 0 0 4 CODE TABLE 2184 0 2 002185 METHOD OF EVAPORATION MEASUREMENT CODE TABLE 2185 0 0 4 CODE TABLE 2185 0 2 002186 CAPABILITY TO DETECT PRECIPITATION PHENOMENA FLAG TABLE 2186 0 0 30 FLAG TABLE 2186 0 10 002187 CAPABILITY TO DETECT OTHER WEATHER PHENOMENA FLAG TABLE 2187 0 0 18 FLAG TABLE 2187 0 6 002188 CAPABILITY TO DETECT OBSCURATION FLAG TABLE 2188 0 0 21 FLAG TABLE 2188 0 7 002189 CAPABILITY TO DISCRIMINATE LIGHTNING STRIKES FLAG TABLE 2189 0 0 12 FLAG TABLE 2189 0 4 002190 LAGRANGIAN DRIFTER SUBMERGENCE (% TIME SUBMERGED) % 0 0 7 % 0 3 004001 YEAR YEAR 0 0 12 YEAR 0 4 004002 MONTH MONTH 0 0 4 MONTH 0 2 004003 DAY DAY 0 0 6 DAY 0 2 004004 HOUR HOUR 0 0 5 HOUR 0 2 004005 MINUTE MINUTE 0 0 6 MINUTE 0 2 004006 SECOND SECOND 0 0 6 SECOND 0 2 004007 SECONDS WITHIN A MINUTE (MICROSECOND ACCURACY) SECOND 6 0 26 S 6 8 004011 TIME INCREMENT YEAR 0 -1024 11 YEAR 0 4 004012 TIME INCREMENT MONTH 0 -1024 11 MONTH 0 4 004013 TIME INCREMENT DAY 0 -1024 11 DAY 0 4 004014 TIME INCREMENT HOUR 0 -1024 11 HOUR 0 4 004015 TIME INCREMENT MINUTE 0 -2048 12 MINUTE 0 4 004016 TIME INCREMENT SECOND 0 -4096 13 SECOND 0 4 004017 REFERENCE TIME PERIOD FOR ACCUMULATED OR EXTREME DATA MINUTE 0 -1440 12 MINUTE 0 4 004021 TIME PERIOD OR DISPLACEMENT YEAR 0 -1024 11 YEAR 0 4 004022 TIME PERIOD OR DISPLACEMENT MONTH 0 -1024 11 MONTH 0 4 004023 TIME PERIOD OR DISPLACEMENT DAY 0 -1024 11 DAY 0 4 004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -2048 12 HOUR 0 4 004025 TIME PERIOD OR DISPLACEMENT MINUTE 0 -2048 12 MINUTE 0 4 004026 TIME PERIOD OR DISPLACEMENT SECOND 0 -4096 13 SECOND 0 4 004031 DURATION OF TIME RELATING TO FOLLOWING VALUE HOUR 0 0 8 HOUR 0 3 004032 DURATION OF TIME RELATING TO FOLLOWING VALUE MINUTE 0 0 6 MINUTE 0 2 004041 TIME DIFFERENCE, UTC -LMT (SEE NOTE 6) MINUTE 0 -1440 12 MINUTE 0 4 004043 DAY OF THE YEAR DAY 0 0 9 DAY 0 3 004051 PRINCIPAL TIME OF DAILY READING OF MAXIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004052 PRINCIPAL TIME OF DAILY READING OF MINIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004053 NUMBER OF DAYS WITH PRECIPITATION EQUAL TO OR MORE THAN 1 MM NUMERIC 0 0 6 NUMERIC 0 2 004059 TIMES OF OBSERVATION USED TO COMPUTE THE REPORTED MEAN VALUES FLAG TABLE 4059 0 0 6 FLAG TABLE 4059 0 2 004065 SHORT TIME INCREMENT MINUTE 0 -128 8 MINUTE 0 2 004073 SHORT TIME PERIOD OR DISPLACEMENT DAY 0 -128 8 DAY 0 2 004074 SHORT TIME PERIOD OR DISPLACEMENT HOUR 0 -128 8 HOUR 0 2 004075 SHORT TIME PERIOD OR DISPLACEMENT MINUTE 0 -128 8 MINUTE 0 2 004080 AVERAGING PERIOD FOR FOLLOWING VALUE CODE TABLE 4080 0 0 4 CODE TABLE 4080 0 2 004086 LONG TIME PERIOD OR DISPLACEMENT SECOND 0 -8192 15 SECOND 0 5 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005015 LATITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005016 LATITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005023 SUN TO SATELLITE AZIMUTH DIFFERENCE DEGREE 1 -1800 12 DEGREE 1 4 005030 DIRECTION (SPECTRAL) DEGREE 0 0 12 DEGREE 0 4 005031 ROW NUMBER NUMERIC 0 0 12 NUMERIC 0 4 005033 PIXEL SIZE ON HORIZONTAL - 1 M -1 0 16 M -1 5 005034 ALONG TRACK ROW NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005036 SHIP TRANSECT NUMBER ACCORDING TO SOOP NUMERIC 0 0 7 NUMERIC 0 2 005040 ORBIT NUMBER NUMERIC 0 0 24 NUMERIC 0 8 005041 SCAN LINE NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005042 CHANNEL NUMBER NUMERIC 0 0 6 NUMERIC 0 2^M 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005044 SATELLITE CYCLE NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005060 Y ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005061 Z ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005193 ALONG TRACK ROW NUMBER AT 50 KM NUMERIC 0 0 10 NUMERIC 0 4 005194 ALONG TRACK ROW NUMBER AT 25 KM NUMERIC 0 0 11 NUMERIC 0 4 005195 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 7 NUMERIC 0 3 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 M 2 10 005232 DIRECTION (SPECTRAL) DEGREE 2 0 16 DEGREE 2 5 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006015 LONGITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006016 LONGITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006021 DISTANCE M -1 0 13 M -1 4 006030 WAVE NUMBER (SPECTRAL) RAD/M 5 0 13 RAD/M 5 4 006031 COLUMN NUMBER NUMERIC 0 0 12 NUMERIC 0 4 006033 PIXEL SIZE ON HORIZONTAL - 2 M -1 0 16 M -1 5 006034 CROSS-TRACK CELL NUMBER NUMERIC 0 0 7 NUMERIC 0 3 006040 RADIUS OF CONFIDENCE M 0 0 13 M 0 4 006193 CROSS TRACK CELL NUMBER AT 50 KM NUMERIC 0 0 6 NUMERIC 0 2 006194 CROSS TRACK CELL NUMBER AT 25 KM NUMERIC 0 0 7 NUMERIC 0 3 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 M 2 10 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 ADS/M 5 4 007001 HEIGHT OF STATION (SEE NOTE 1) M 0 -400 15 M 0 5 007002 HEIGHT OR ALTITUDE M -1 -40 16 M -1 5 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 007004 PRESSURE PA -1 0 14 PA -1 5 007005 HEIGHT INCREMENT M 0 -400 12 M 0 4 007006 HEIGHT ABOVE STATION M 0 0 15 M 0 5 007007 HEIGHT M 0 -1000 17 M 0 6 007008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 007009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 007010 FLIGHT LEVEL M 0 -1024 16 FT -1 5 007021 ELEVATION (SEE NOTE 2) DEGREE 2 -9000 15 DEGREE 2 5 007022 SOLAR ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 007024 SATELLITE ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007025 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007026 SATELLITE ZENITH ANGLE DEGREE 4 -900000 21 DEGREE 4 7 007030 HEIGHT OF STATION GROUND ABOVE MEAN SEA LEVEL (SEE NOTE 3) M 1 - 4000 17 M 1 5 007031 HEIGHT OF BAROMETER ABOVE MEAN SEA LEVEL (SEE NOTE 4) M 1 - 4000 17 M 1 5 007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) M 2 0 16 M 2 5 007033 HEIGHT OF SENSOR ABOVE WATER SURFACE (SEE NOTE 6) M 1 0 12 M 1 4 007040 IMPACT PARAMETER (SEE NOTE 8) M 1 62000000 22 M 1 8 007061 DEPTH BELOW LAND SURFACE M 2 0 14 M 2 5 007062 DEPTH BELOW SEA/WATER SURFACE M 1 0 17 M 1 6 007063 DEPTH BELOW SEA/WATER SURFACE M 2 0 20 M 2 7 007064 REPRESENTATIVE HEIGHT OF SENSOR ABOVE STATION (SEE NOTE 7) M 0 0 4 M 0 2 007065 WATER PRESSURE PA -3 0 17 PA 0 6 007070 DROGUE DEPTH M 0 0 10 M 0 4 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 M 2 10 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8001 0 0 7 FLAG TABLE 8001 0 3 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 8002 0 0 6 CODE TABLE 8002 0 2 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 8003 0 0 6 CODE TABLE 8003 0 2 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 8004 0 0 3 CODE TABLE 8004 0 1 008005 METEOROLOGICAL ATTRIBUTE SIGNIFICANCE CODE TABLE 8005 0 0 4 CODE TABLE 8005 0 2 008006 OZONE VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8006 0 0 9 FLAG TABLE 8006 0 3 008007 DIMENSIONAL SIGNIFICANCE CODE TABLE 8007 0 0 4 CODE TABLE 8007 0 2 008008 RADIATION VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8008 0 0 9 FLAG TABLE 8008 0 3 008009 DETAILED PHASE OF FLIGHT CODE TABLE 8009 0 0 4 CODE TABLE 8009 0 2 008010 SURFACE QUALIFIER (TEMPERATURE DATA) CODE TABLE 8010 0 0 5 CODE TABLE 8010 0 2 008011 METEOROLOGICAL FEATURE CODE TABLE 8011 0 0 6 CODE TABLE 8011 0 2 008012 LAND/SEA QUALIFIER CODE TABLE 8012 0 0 2 CODE TABLE 8012 0 1 008013 DAY/NIGHT QUALIFIER CODE TABLE 8013 0 0 2 CODE TABLE 8013 0 1 008014 QUALIFIER FOR RUNWAY VISUAL RANGE CODE TABLE 8014 0 0 4 CODE TABLE 8014 0 2 008016 CHANGE QUALIFIER OF A TREND-TYPE FORECAST OR AN AERODROME FORECA CODE TABLE 8016 0 0 3 CODE TABLE 8016 0 1 008017 QUALIFIER OF THE TIME WHEN THE FORECAST CHANGE IS EXPECTED CODE TABLE 8017 0 0 2 CODE TABLE 8017 0 1 008018 SEAWINDS LAND/ICE SURFACE TYPE FLAG TABLE 8018 0 0 17 FLAG TABLE 8018 0 6 008020 TOTAL NUMBER OF MISSING ENTITIES (WITH RESPECT TO ACCUMULATION O NUMERIC 0 0 16 NUMERIC 0 5 008021 TIME SIGNIFICANCE CODE TABLE 8021 0 0 5 CODE TABLE 8021 0 2 008022 TOTAL NUMBER (WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 NUMERIC 0 5 008023 FIRST ORDER STATISTICS CODE TABLE 8023 0 0 6 CODE TABLE 8023 0 2 008024 DIFFERENCE STATISTICS CODE TABLE 8024 0 0 6 CODE TABLE 8024 0 2 008025 TIME DIFFERENCE QUALIFIER CODE TABLE 8025 0 0 4 CODE TABLE 8025 0 2 008029 REMOTLY SENSED SURFACE TYPE CODE TABLE 8029 0 0 8 CODE TABLE 8029 0 3 008030 MANUAL ON CODES (VOLUME I.1, SECTION C) CODE TABLE FROM WHICH DA NUMERIC 0 0 13 NUMERIC 0 4 008031 DATA CATEGORY CREX TABLE A NUMERIC 0 0 8 NUMERIC 0 3 008033 METHOD OF DERIVATION OF PERCENTAGE CONFIDENCE CODE TABLE 8033 0 0 7 CODE TABLE 8033 0 3 008035 TYPE OF MONITORING EXERCISE CODE TABLE 8035 0 0 3 CODE TABLE 8035 0 1 008036 TYPE OF CENTRE OR STATION PERFORMING MONITORING CODE TABLE 8036 0 0 3 CODE TABLE 8036 0 1 008040 FLIGHT LEVEL SIGNIFICANCE CODE TABLE 8040 0 0 6 CODE TABLE 8040 0 2 008041 DATA SIGNIFICANCE CODE TABLE 8041 0 0 5 CODE TABLE 8041 0 2 008042 EXTENDED VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8042 0 0 18 FLAG TABLE 8042 0 6 008049 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008050 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8050 0 0 4 CODE TABLE 8050 0 2 008051 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8051 0 0 3 CODE TABLE 8051 0 1 008052 CONDITION FOR WHICH NUMBER OF DAYS OF OCCURRENCE FOLLOWS CODE TABLE 8052 0 0 5 CODE TABLE 8052 0 2 008053 DAY OF OCCURRENCE QUALIFIER CODE TABLE 8053 0 0 2 CODE TABLE 8053 0 1 008060 SAMPLE SCANNING MODE SIGNIFICANCE CODE TABLE 8060 0 0 4 CODE TABLE 8060 0 2 008065 SUN-GLINT INDICATOR CODE TABLE 8065 0 0 2 CODE TABLE 8065 0 1 008066 SEMI-TRANSPARENCY INDICATOR CODE TABLE 8066 0 0 2 CODE TABLE 8066 0 1 008070 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8070 0 0 4 CODE TABLE 8070 0 2 008072 PIXEL(S) TYPE CODE TABLE 8072 0 0 3 CODE TABLE 8072 0 1 008074 ALTIMETER ECHO TYPE CODE TABLE 8074 0 0 2 CODE TABLE 8074 0 1 008075 ASCENDING/DESCENDING ORBIT QUALIFIER CODE TABLE 8075 0 0 2 CODE TABLE 8075 0 1 008076 TYPE OF BAND CODE TABLE 8076 0 0 6 CODE TABLE 8076 0 2 008081 TYPE OF EQUIPMENT CODE TABLE 8081 0 0 6 CODE TABLE 8081 0 2 008082 (CBS) ARTIFICIAL CORRECTION OF SENSOR HEIGHT TO ANOTHER VALUE CODE TABLE 8082 0 0 3 CODE TABLE 8082 0 1 008083 NOMINAL VALUE INDICATOR FLAG TABLE 8083 0 0 15 FLAG TABLE 8083 0 5 008085 BEAM IDENTIFIER CODE TABLE 8085 0 0 3 CODE TABLE 8085 0 1 008193 TIME QUALIFIER CODE TABLE 8193 0 0 6 CODE TABLE 8193 0 2 008194 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8194 0 0 4 CODE TABLE 8194 0 2 008195 DATA TYPE CODE TABLE 8195 0 0 7 CODE TABLE 8195 0 3 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008222 GENERATOR SIGNIFICANCE CODE TABLE 8222 0 0 4 CODE TABLE 8222 0 2 008223 LAND/ICE SURFACE FLAG FLAG TABLE 8223 0 0 7 FLAG TABLE 8223 0 3 008224 LAND/SEA FRACTION NUMERIC 3 0 10 NUMERIC 3 4 010001 HEIGHT OF LAND SURFACE M 0 -400 15 M 0 5 010002 HEIGHT M -1 -40 16 M -1 5 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 010004 PRESSURE PA -1 0 14 PA -1 5 010007 HEIGHT M 0 -1000 17 M 0 6 010008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 010009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 010010 MINIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010011 MAXIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010031 IN DIRECTION OF THE NORTH POLE, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 010032 SATELLITE DISTANCE TO EARTH'S CENTRE M 1 0 27 M 2 9 010033 ALTITUDE (PLATFORM TO ELLIPSOID) M 1 0 27 M 2 9 010034 EARTH RADIUS M 1 0 27 M 2 9 010035 EARTH'S LOCAL RADIUS OF CURVATURE M 1 62000000 22 M 1 8 010036 GEOID UNDULATION (SEE NOTE 4) M 2 -15000 15 M 2 6 010040 NUMBER OF RETRIEVED LAYERS NUMERIC 0 0 10 NUMERIC 0 4 010050 STANDARD DEVIATION ALTITUDE M 2 0 16 M 2 5 010051 PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010052 ALTIMETER SETTING (QNH) PA -1 0 14 PA -1 5 010060 PRESSURE CHANGE PA -1 -1024 11 PA -1 4 010061 3-HOUR PRESSURE CHANGE PA -1 -500 10 PA -1 4 010062 24-HOUR PRESSURE CHANGE PA -1 -1000 11 PA -1 4 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 10063 0 0 4 CODE TABLE 10063 0 2 010070 INDICATED AIRCRAFT ALTITUDE M 0 -400 16 M 0 5 010080 VIEWING ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 010081 ALTITUDE OF COG ABOVE REFERENCE ELLIPSOID M 3 0 31 M 3 10 010082 INSTANTANEOUS ALTITUDE RATE MS-1 3 -65536 17 MS-1 3 6 010083 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM PLATFORM DATA DEGREE2 2 0 16 DEGREE2 2 5 010084 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM WAVEFORM DATA DEGREE2 2 0 16 DEGREE2 2 5 010085 MEAN SEA SURFACE HEIGHT M 3 -131072 18 M 3 6 010086 GEOID'S HEIGHT M 3 -131072 18 M 3 6 010087 OCEAN DEPTH/LAND ELEVATION M 1 -131072 18 M 3 6 010088 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 1 M 3 -32768 16 M 3 5 010089 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 2 M 3 -32768 16 M 3 5 010090 LONG PERIOD TIDE HEIGHT M 3 -32768 16 M 3 5 010091 TIDAL LOADING HEIGHT M 3 -32768 16 M 3 5 010092 SOLID EARTH TIDE HEIGHT M 3 -32768 16 M 3 5 010093 GEOCENTRIC POLE TIDE HEIGHT M 3 -32768 16 M 3 5 010095 HEIGHT OF ATMOSPHERE USED M 0 0 16 M 0 5 011001 WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011002 WIND SPEED M/S 1 0 12 M/S 1 4 011003 U-COMPONENT M/S 1 -4096 13 M/S 1 4 011004 V-COMPONENT M/S 1 -4096 13 M/S 1 4 011005 W-COMPONENT PA/S 1 -512 10 PA/S 1 4 011006 W-COMPONENT M/S 2 -4096 13 M/S 2 4 011010 WIND DIRECTION ASSOCIATED WITH WIND SPEED WHICH FOLLOWS DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011012 WIND SPEED AT 10 M M/S 1 0 12 M/S 1 4 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011014 WIND SPEED AT 5 M M/S 1 0 12 M/S 1 4 011016 EXTREME COUNTERCLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011017 EXTREME CLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011019 STEADINESS OF WIND (6) % 0 0 7 % 0 3 011021 RELATIVE VORTICITY 1/S 9 -65536 17 1/S 9 6 011022 DIVERGENCE 1/S 9 -65536 17 1/S 9 6 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 M**2/S -2 6 011030 EXTENDED DEGREE OF TURBULENCE CODE TABLE 11030 0 0 6 CODE TABLE 0 2 011031 DEGREE OF TURBULENCE CODE TABLE 11031 0 0 4 CODE TABLE 11031 0 2 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 M -1 5 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 M -1 5 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 M/S 1 4 011035 VERTICAL GUST ACCELERATION M/S**2 2 -8192 14 M/S**2 2 5 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST SPEED M/S 1 0 10 M/S 1 4 011037 TURBULENCE INDEX CODE TABLE 11037 0 0 6 CODE TABLE 11037 0 2 011038 TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11038 0 0 5 CODE TABLE 11038 0 2 011039 EXTENDED TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11039 0 0 6 CODE TABLE 11039 0 2 011040 MAXIMUM WIND SPEED (MEAN WIND) M/S 1 0 12 M/S 1 4 011041 MAXIMUM WIND GUST SPEED M/S 1 0 12 M/S 1 4 011042 MAXIMUM WIND SPEED (10-MIN MEAN WIND) M/S 1 0 12 M/S 1 4 011043 MAXIMUM WIND GUST DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011044 MEAN WIND DIRECTION FOR SURFACE - 1500 M (5000 FEET) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011045 MEAN WIND SPEED FOR SURFACE - 1500 M (5000 FEET) M/S 1 0 12 M/S 1 4 011046 MAXIMUM INSTANTANEOUS WIND SPEED M/S 1 0 12 M/S 1 4 011047 MAXIMUM INSTANTANEOUS WIND SPEED OVER 10 MINUTES M/S 1 0 12 M/S 1 4 011049 STANDARD DEVIATION OF WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011050 STANDARD DEVIATION OF HORIZONTAL WIND SPEED M/S 1 0 12 M/S 1 4 011051 STANDARD DEVIATION OF VERTICAL WIND SPEED M/S 1 0 8 M/S 1 3 011052 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 13 M/S 2 5 011053 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 DEGREE TRUE 2 5 011054 MEAN WIND DIRECTION FOR 1500 M - 3000 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011055 MEAN WIND SPEED FOR 1500 M - 3000 M M/S 1 0 12 M/S 1 4 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 M/S 1 4 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 M/S 1 4 011070 DESIGNATOR OF THE RUNWAY AFFECTED BY WIND SHEAR (INCLUDING ALL) CCITTIA5 0 0 32 CHARACTER 0 4 011071 TURBULENT VERTICAL MOMENTUM FLUX M**2/S**2 3 -128 14 M**2/S**2 3 5 011072 TURBULENT VERTICAL BUOYANCY FLUX KM/S 3 -128 11 KM/S 3 4 011073 TURBULENT KINETIC ENERGY M**2/S**2 2 -1024 13 M**2/S**2 2 4 011074 DISSIPATION ENERGY M**2/S**2 2 -1024 10 M**2/S**2 2 4 011075 MEAN TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011076 PEAK TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011077 REPORTING INTERVAL OR AVERAGING TIME FOR EDDY DISSIPATION RATE S 0 0 12 S 0 4 011081 MODEL WIND DIRECTION AT 10M DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 011082 MODEL WIND SPEED AT 10M M/S 2 0 14 M/S 2 4 011095 U COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011096 V COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011230 MAXIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011231 MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011232 MINIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011233 HIGHEST GUST DURING THE 10 MINUTE PERIOD PRECEDING OBSERVATION M/S 1 -4096 13 M/S 1 4^M 012001 TEMPERATURE/DRY-BULB TEMPERATURE K 1 0 12 C 1 3 012002 WET-BULB TEMPERATURE K 1 0 12 C 1 3 012003 DEW-POINT TEMPERATURE K 1 0 12 C 1 3 012004 DRY-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012005 WET-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012006 DEW-POINT TEMPERATURE AT 2 M K 1 0 12 C 1 3 012007 VIRTUAL TEMPERATURE K 1 0 12 C 1 3 012011 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012012 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012013 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 1 0 12 C 1 3 012014 MAXIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012015 MINIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012016 MAXIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012017 MINIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012021 MAXIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012022 MINIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012030 SOIL TEMPERATURE K 1 0 12 C 1 3 012049 TEMPERATURE CHANGE OVER SPECIFIED PERIOD K 0 -30 6 C 0 2 012051 STANDARD DEVIATION TEMPERATURE K 1 0 10 C 1 3 012052 HIGHEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012053 LOWEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012061 SKIN TEMPERATURE K 1 0 12 C 1 3 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 C 1 3 012063 BRIGHTNESS TEMPERATURE K 1 0 12 C 1 3 012064 INSTRUMENT TEMPERATURE K 1 0 12 K 1 4 012065 STANDARD DEVIATION BRIGHTNESS TEMPERATURE K 1 0 12 K 1 4 012070 WARM LOAD TEMPERATURE K 2 0 16 K 2 5 012071 COLDEST CLUSTER TEMPERATURE K 1 0 12 K 1 4 012072 RADIANCE WM**(-2)SR**(-1) 6 0 31 WM**(-2)SR**(-1) 6 9 012073 TEMPERATURE K 2 0 16 K 2 5 012075 SPECTRAL RADIANCE WM**(-3)SR**(-1) -3 0 16 WM**(-3)SR**(-1) -3 5 012076 RADIANCE WM**(-2)SR**(-1) 3 0 16 WM**(-2)SR**(-1) 3 5 012101 TEMPERATURE/DRY-BULB TEMPERATURE K 2 0 16 C 2 4 012102 WET-BULB TEMPERATURE K 2 0 16 C 2 4 012103 DEW-POINT TEMPERATURE K 2 0 16 C 2 4 012104 DRY-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012105 WEB-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012106 DEW-POINT TEMPERATURE AT 2M K 2 0 16 C 2 4 012107 VIRTUAL TEMPERATURE K 2 0 16 C 2 4 012111 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012112 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012113 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 2 0 16 C 2 4 012114 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012115 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012116 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012117 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012118 MAXIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012119 MINIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012121 GROUND MINIMUM TEMPERATURE K 2 0 16 C 2 4 012122 GROUND MINIMUM TEMPERATURE OF THE PRECEDING NIGHT K 2 0 16 C 2 4 012130 SOIL TEMPERATURE K 2 0 16 C 2 4 012151 STANDARD DEVIATION OF DAILY MEAN TEMPERATURE K 2 0 12 C 2 4 012152 HIGHEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012153 LOWEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012161 SKIN TEMPERATURE K 2 0 16 C 2 4 012162 EQUIVALENT BLACK BODY TEMPERATURE K 2 0 16 C 2 4 012163 BRIGHTNESS TEMPERATURE K 2 0 16 C 2 4 012164 INSTRUMENT TEMPERATURE K 2 0 16 K 2 5 012171 COLDEST CLUSTER TEMPERATURE K 2 0 16 K 2 5 012180 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012181 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012182 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012183 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012184 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012185 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012186 MEAN NADIR SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012187 MEAN DUAL VIEW SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012188 INTERPOLATED 23.8 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 012189 INTERPOLATED 36.5 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 013001 SPECIFIC HUMIDITY KG/KG 5 0 14 KG/KG 5 5 013002 MIXING RATIO KG/KG 5 0 14 KG/KG 5 5 013003 RELATIVE HUMIDITY % 0 0 7 % 0 3 013004 VAPOUR PRESSURE PA -1 0 10 PA -1 4 013005 VAPOUR DENSITY KG/M**3 3 0 7 KG/M**3 3 3 013006 MIXING HEIGHTS M -1 -40 16 M -1 5 013007 MINIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013008 MAXIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013009 RELATIVE HUMIDITY % 1 -1000 12 % 1 4 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT KG/M**2 1 -1 14 KG/M**2 1 5 013012 DEPTH OF FRESH SNOW M 2 -2 12 M 2 4 013013 TOTAL SNOW DEPTH M 2 -2 16 M 2 5 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGED RATE) KG/(M**2)S 4 0 12 KG/(M**2)S 4 4 013015 SNOWFALL (AVERAGED RATE) M/S 7 0 12 M/S 7 4 013016 PRECIPITABLE WATER KG/M**2 0 0 7 KG/M**2 0 3 013019 TOTAL PRECIPITATION PAST 1 HOUR KG/M**2 1 -1 14 KG/M**2 1 4 013020 TOTAL PRECIPITATION PAST 3 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013021 TOTAL PRECIPITATION PAST 6 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013022 TOTAL PRECIPITATION PAST 12 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013023 TOTAL PRECIPITATION PAST 24 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013031 EVAPOTRANSPIRATION KG/M**2 0 0 7 KG/M**2 0 3 013032 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 8 KG/M**2 1 3 013033 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 10 KG/M**2 1 4 013038 SUPERADIABATIC INDICATOR CODE TABLE 13038 0 0 2 CODE TABLE 13038 0 1 013039 TERRAIN TYPE (ICE/SNOW) CODE TABLE 13039 0 0 3 CODE TABLE 13039 0 1 013040 SURFACE FLAG CODE TABLE 13040 0 0 4 CODE TABLE 13040 0 2 013041 PASQUILL-GIFFORD STABILITY CATEGORY CODE TABLE 13041 0 0 4 CODE TABLE 13041 0 2 013042 PARCEL LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013043 BEST LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013044 K INDEX K 0 -30 8 K 0 3 013045 KO INDEX K 0 -30 8 K 0 3 013046 MAXIMUM BUOYANCY K 0 -30 8 K 0 3 013047 MODIFIED SHOWALTER STABILITY INDEX K 0 -60 6 C 0 2 013051 FREQUENCY GROUP, PRECIPITATION CODE TABLE 13051 0 0 4 CODE TABLE 13051 0 2 013052 HIGHEST DAILY AMOUNT OF PRECIPITATION KG/M**2 1 -1 14 KG/M**2 1 5 013055 INTENSITY OF PRECIPITATION KG/(M**2)S 4 0 8 MM H-1 1 3 013056 CHARACTER AND INTENSITY OF PRECIPITATION CODE TABLE 13056 0 0 4 CODE TABLE 13056 0 2 013057 TIME OF BEGINNING OR END OF PRECIPITATION CODE TABLE 13057 0 0 4 CODE TABLE 13057 0 2 013058 SIZE OF PRECIPITATING ELEMENT M 4 0 7 MM 1 3 013059 NUMBER OF FLASHES (THUNDERSTORM) NUMERIC 0 0 7 NUMERIC 0 3 013060 TOTAL ACCUMULATED PRECIPITATION KG/M**2 1 -1 17 KG/M**2 1 5 013071 UPSTREAM WATER LEVEL M 2 0 14 M 2 5 013072 DOWNSTREAM WATER LEVEL M 2 0 14 M 2 4 013073 MAXIMUM WATER LEVEL M 2 0 14 M 2 4 013080 WATER PH pH 1 0 10 pH 1 3 013081 WATER CONDUCTIVITY S M-1 3 0 14 S M-1 3 4 013082 WATER TEMPERATURE K 1 0 12 K 1 4 013083 DISSOLVED OXYGEN KG/M**3 6 0 15 KG/M**3 6 5 013084 TURBIDITY LUMEN 0 0 14 LUMEN 0 4 013085 OXYDATION REDUCTION POTENTIAL (ORP) V 3 0 14 V 3 4 013090 RADIOMETER WATER VAPOUR CONTENT KG/M**2 1 0 10 KG/M**2 1 4 013091 RADIOMETER LIQUID CONTENT KG/M**2 2 0 8 KG/M**2 2 3 013093 CLOUD OPTICAL THICKNESS NUMERIC 0 0 8 NUMERIC 0 3 013095 TOTAL COLUMN WATER VAPOUR KG/M**2 4 0 19 KG/M**2 4 6 013096 MWR WATER VAPOUR CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013097 MWR LIQUID WATER CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013098 INTEGRATED WATER VAPOUR DENSITY KG/M**2 8 0 30 KG/M**2 8 10 014001 LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014002 LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014003 SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014004 SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014011 NET LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014012 NET LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014013 NET SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014014 NET SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014015 NET RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 -16384 15 J/M**2 -4 5 014016 NET RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 J/M**2 -4 5 014017 INSTANTANEOUS LONG-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014018 INSTANTANEOUS SHORT-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014019 SURFACE ALBEDO % 0 0 7 % 0 3 014020 GLOBAL SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014021 GLOBAL SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014022 DIFFUSE SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014023 DIFFUSE SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014024 DIRECT SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014025 DIRECT SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014026 ALBEDO AT THE TOP OF CLOUDS % 0 0 7 % 0 3 014027 ALBEDO % 0 0 7 % 0 3 014028 GLOBAL SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014029 DIFFUSE SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD J/M**2 -2 0 16 J/M**2 -2 5 014030 DIRECT SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014031 TOTAL SUNSHINE MINUTE 0 0 11 MINUTE 0 4 014032 TOTAL SUNSHINE HOUR 0 0 10 HOUR 0 4 014033 TOTAL SUNSHINE % 0 0 9 % 0 3 014034 SUNSHINE OVER PERIOD SPECIFIED MINUTE 0 0 11 MINUTE 0 4 014042 BI-DIRECTIONAL REFLECTANCE % 0 0 7 % 0 3 014045 CHANNEL RADIANCE (W/M**2)*(1/SR)*CM 0 0 11 WM-2SR-1CM-1 0 4 014046 SCALED IASI RADIANCE (W/M**2)*(1/SR)*(1/M) 0 -5000 16 (W/M**2)*(1/SR)*(1/M) 0 5 014047 SCALED MEAN AVHRR RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014048 SCALED STANDARD DEVIATION RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014050 EMISSIVITY (SEE NOTE 5) % 1 0 10 % 1 4 014051 DIRECT SOLAR RADIATION INTEGRATED OVER LAST HOUR J/M**2 -3 0 14 JM-2 -3 4 014055 SOLAR ACTIVITY INDEX NUMERIC 0 -32768 16 NUMERIC 0 5 014061 (VAL) INSTANTANEOUS LONG-WAVE RADIATION W/M**2 0 -512 10 W/M**2 0 4 014062 (VAL) INSTANTANEOUS SHORT-WAVE RADIATION W/M**2 0 -2048 12 W/M**2 0 4 015001 TOTAL OZONE DU 0 0 10 DU 0 4 015002 AIR MASS (SLANT PATH AT 22 KM) NUMERIC 2 0 10 NUMERIC 2 3 015003 MEASURED OZONE PARTIAL PRESSURE (SOUNDING) PA 4 0 9 NBAR 0 3 015004 OZONE SOUNDING CORRECTION FACTOR NUMERIC 3 0 11 NUMERIC 3 4 015005 OZONE P DU 0 0 10 DU 0 3 015011 LOG 10 OF INTEGRATED ELECTRON DENSITY LOG (1/M2) 3 14000 13 LOG (M-2) 3 4 015015 MAXIMUM IMAGE SPECTRAL COMPONENT BEFORE NORMALIZATION NUMERIC 0 0 31 NUMERIC 0 10 015020 INTEGRATED 03 DENSITY KG/M**2 8 0 21 KG/M**2 8 7 015025 TYPE OF POLLUTANT CODE TABLE 15025 0 0 4 CODE TABLE 15025 0 2 015026 CONCENTRATION OF POLLUTANT MOLMOL-1 9 0 9 MOLMOL-1 9 3 015027 CONCENTRATION OF POLLUTANT KG/M3 9 0 10 KG/M3 9 4 015031 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 10000 15 M 4 5 015032 ESTIMATED ERROR IN ATMOSPHERIC PATH DELAY M 4 0 10 M 4 4 015033 DIFFERENCE IN PATH DELAYS FOR LIMB VIEWS AT EXTREMES OF SCAN M 5 -10000 15 M 5 5 015034 ESTIMATED ERROR IN PATH DELAY DIFFERENCE M 5 0 14 M 5 5 015035 COMPONENT OF ZENITH PATH DELAY DUE TO WATER VAPOUR M 4 0 14 M 4 5 015036 ATMOSPHERIC REFRACTIVITY (SEE NOTE 5) N-UNITS 3 0 19 N-UNITS 3 6 015037 BENDING ANGLE RADIANS 8 -100000 23 RADIANS 8 7 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 19001 0 0 6 CODE TABLE 19001 0 2 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 M -2 4 019003 WIND SPEED THRESHOLD M/S 0 0 8 M/S 0 3 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 M -2 4 019005 DIRECTION OF MOTION OF FEATURE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 019006 SPEED OF MOTION OF FEATURE M/S 2 0 14 M/S 2 5 019007 EFFECTIVE RADIUS OF FEATURE M -3 0 12 M -3 4 019008 VERTICAL EXTENT OF CIRCULATION CODE TABLE 19008 0 0 3 CODE TABLE 19008 0 1 019009 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD (LA M -3 0 12 M -3 4 019010 METHOD FOR TRACKING THE CENTRE OF SYNOPTIC FEATURE CODE TABLE 19010 0 0 4 CODE TABLE 19010 0 2 019100 TIME INTERVAL TO CALCULATE THE MOVEMENT OF THE TROPICAL CYCLONE CODE TABLE 19100 0 0 4 CODE TABLE 19100 0 2 019101 ACCURACY OF THE POSITION OF THE CENTRE OF THE TROPICAL CYCLONE CODE TABLE 19101 0 0 4 CODE TABLE 19101 0 2 019102 SHAPE AND DEFINITION OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19102 0 0 3 CODE TABLE 19102 0 1 019103 DIAMETER OF MAJOR AXIS OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19103 0 0 4 CODE TABLE 19103 0 2 019104 CHANGE IN CHARACTER OF THE EYE DURING THE 30 MINUTES CODE TABLE 19104 0 0 4 CODE TABLE 19104 0 2 019105 DISTANCE BETWEEN THE END OF SPIRAL BAND AND THE CENTRE CODE TABLE 19105 0 0 4 CODE TABLE 19105 0 2 019106 IDENTIFICATION NUMBER OF TROPICAL CYCLONE NUMERIC 0 0 7 NUMERIC 0 3 019107 TIME INTERVAL OF THE TROPICAL CYCLONE ANALYSIS CODE TABLE 19107 0 0 4 CODE TABLE 19107 0 2 019108 ACCURACY OF GEOGRAPHICAL POSITION OF THE TROPICAL CYCLONE CODE TABLE 19108 0 0 3 CODE TABLE 19108 0 1 019109 MEAN DIAMETER OF THE OVERCAST CLOUD OF THE TROPICAL CYCLONE CODE TABLE 19109 0 0 4 CODE TABLE 19109 0 2 019110 APPARENT 24-HOUR CHANGE IN INTENSITY OF TROPICAL CYCLONE CODE TABLE 19110 0 0 4 CODE TABLE 19110 0 2 019111 CURRENT INTENSITY (CI) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019112 DATA TROPICAL (DT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019113 CLOUD PATTERN TYPE OF THE DT- NUMBER CODE TABLE 19113 0 0 4 CODE TABLE 19113 0 2 019114 MODEL EXPECTED TROPICAL (MET) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019115 TREND OF PAST 24-HOUR CHANGE (+: DEVELOPED, -: WEAKENED) NUMERIC 1 -30 6 NUMERIC 1 2 019116 PATTERN TROPICAL (PT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019117 CLOUD PICTURE TYPE OF THE PT- NUMBER CODE TABLE 19117 0 0 3 CODE TABLE 19117 0 1 019118 FINAL TROPICAL (T) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019119 TYPE OF THE FINAL T-NUMBER CODE TABLE 19119 0 0 3 CODE TABLE 19119 0 1 019150 TYPHOON INTERNATIONAL COMMON NUMBER (TYPHOON COMMITTEE) CCITTIA5 0 0 32 CHARACTER 0 4 020001 HORIZONTAL VISIBILITY M -1 0 13 M -1 4 020002 VERTICAL VISIBILITY M -1 0 7 M -1 3 020003 PRESENT WEATHER (SEE NOTE 1) CODE TABLE 20003 0 0 9 CODE TABLE 20003 0 3 020004 PAST WEATHER (1) (SEE NOTE 2) CODE TABLE 20004 0 0 5 CODE TABLE 20004 0 2 020005 PAST WEATHER (2) (SEE NOTE 2) CODE TABLE 20005 0 0 5 CODE TABLE 20005 0 2 020008 CLOUD DISTRIBUTION FOR AVIATION CODE TABLE 20008 0 0 5 CODE TABLE 20008 0 2 020009 GENERAL WEATHER INDICATOR (TAF/METAR) CODE TABLE 20009 0 0 4 CODE TABLE 20009 0 2 020010 CLOUD COVER (TOTAL) % 0 0 7 % 0 3 020011 CLOUD AMOUNT CODE TABLE 20011 0 0 4 CODE TABLE 20011 0 2 020012 CLOUD TYPE CODE TABLE 20012 0 0 6 CODE TABLE 20012 0 2 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 M -1 4 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 M -1 4 020015 PRESSURE AT BASE OF CLOUD PA -1 0 14 PA -1 5 020016 PRESSURE AT TOP OF CLOUD PA -1 0 14 PA -1 5 020017 CLOUD TOP DESCRIPTION CODE TABLE 20017 0 0 4 CODE TABLE 20017 0 2 020018 TENDENCY OF RUNWAY VISUAL RANGE CODE TABLE 20018 0 0 2 CODE TABLE 20018 0 1 020019 SIGNIFICANT PRESENT OR FORECAST WEATHER CCITTIA5 0 0 72 CHARACTER 0 9 020020 SIGNIFICANT RECENT WEATHER PHENOMENA CCITTIA5 0 0 32 CHARACTER 0 4 020021 TYPE OF PRECIPITATION FLAG TABLE 20021 0 0 30 FLAG TABLE 20021 0 10 020022 CHARACTER OF PRECIPITATION CODE TABLE 20022 0 0 4 CODE TABLE 20022 0 2 020023 OTHER WEATHER PHENOMENA FLAG TABLE 20023 0 0 18 FLAG TABLE 20023 0 6 020024 INTENSITY OF PHENOMENA CODE TABLE 20024 0 0 3 CODE TABLE 20024 0 1 020025 OBSCURATION FLAG TABLE 20025 0 0 21 FLAG TABLE 20025 0 7 020026 CHARACTER OF OBSCURATION CODE TABLE 20026 0 0 4 CODE TABLE 20026 0 2 020027 PHENOMENA OCCURRENCE FLAG TABLE 20027 0 0 9 FLAG TABLE 20027 0 3 020029 RAIN FLAG CODE TABLE 20029 0 0 2 CODE TABLE 20029 0 1 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 M 2 3 020032 RATE OF ICE ACCRETION CODE TABLE 20032 0 0 3 CODE TABLE 20032 0 1 020033 CAUSE OF ICE ACCRETION FLAG TABLE 20033 0 0 4 FLAG TABLE 20033 0 2 020034 SEA ICE CONCENTRATION CODE TABLE 20034 0 0 5 CODE TABLE 20034 0 2 020035 AMOUNT AND TYPE OF ICE CODE TABLE 20035 0 0 4 CODE TABLE 20035 0 2 020036 ICE SITUATION CODE TABLE 20036 0 0 5 CODE TABLE 20036 0 2 020037 ICE DEVELOPMENT CODE TABLE 20037 0 0 5 CODE TABLE 20037 0 2 020038 BEARING OF ICE EDGE (SEE NOTE 3) DEGREE TRUE 0 0 12 DEGREE TRUE 0 3 020039 ICE DISTANCE M -1 0 13 M -1 4 020040 EVOLUTION OF DRIFT OF SNOW CODE TABLE 20040 0 0 4 CODE TABLE 20040 0 2 020041 AIRFRAME ICING CODE TABLE 20041 0 0 4 CODE TABLE 20041 0 2 020042 AIRFRAME ICING PRESENT CODE TABLE 20042 0 0 2 CODE TABLE 20042 0 1 020043 PEAK LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020044 AVERAGE LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020045 SUPERCOOLED LARGE DROPLET (SLD) CONDITIONS CODE TABLE 20045 0 0 2 CODE TABLE 20045 0 2 020050 CLOUD INDEX CODE TABLE 20050 0 0 8 CODE TABLE 20050 0 3 020051 AMOUNT OF LOW CLOUDS % 0 0 7 % 0 3 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 % 0 3 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 % 0 3 020054 TRUE DIRECTION FROM WHICH CLOUDS ARE MOVING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 020055 STATE OF SKY IN TROPICS CODE TABLE 20055 0 0 4 CODE TABLE 20055 0 2 020056 CLOUD PHASE CODE TABLE 20056 0 0 3 CODE TABLE 20056 0 1 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 M 0 4 020062 STATE OF THE GROUND (WITH OR WITHOUT SNOW) CODE TABLE 20062 0 0 5 CODE TABLE 20062 0 2 020063 SPECIAL PHENOMENA CODE TABLE 20063 0 0 10 CODE TABLE 20063 0 4 020065 SNOW COVER (SEE NOTE 4) % 0 0 7 % 0 3 020066 MAXIMUM DIAMETER OF HAILSTONES M 3 0 8 M 3 3 020067 DIAMETER OF DEPOSIT M 3 0 9 M 3 3 020070 MINIMUM NUMBER OF ATMOSPHERICS NUMERIC 0 0 7 NUMERIC 0 3 020071 ACCURACY OF FIX AND RATE OF ATMOSPHERICS CODE TABLE 20071 0 0 4 CODE TABLE 20071 0 2 020081 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020082 AMOUNT SEGMENT CLOUD FREE % 0 0 7 % 0 3 020083 AMOUNT OF SEGMENT COVERED BY SCENE % 0 0 7 % 0 3 020090 SPECIAL CLOUDS CODE TABLE 20090 0 0 4 CODE TABLE 20090 0 2 020095 ICE PROBABILITY NUMERIC 3 0 10 NUMERIC 3 4 020096 ICE AGE ("A" PARAMETER) dB 2 -4096 13 dB 2 4 020101 LOCUST (ACRIDIAN) NAME CODE TABLE 20101 0 0 4 CODE TABLE 20101 0 2 020102 LOCUST (MATURITY) COLOR CODE TABLE 20102 0 0 4 CODE TABLE 20102 0 2 020103 STAGE OF DEVELOPMENT OF LOCUSTS CODE TABLE 20103 0 0 4 CODE TABLE 20103 0 2 020104 ORGANIZATION STATE OF SWARM OR BAND OF LOCUSTS CODE TABLE 20104 0 0 4 CODE TABLE 20104 0 2 020105 SIZE OF SWARM OR BAND OF LOCUSTS AND DURATION OF PASSAGE OF SWARMCODE TABLE 20105 0 0 4 CODE TABLE 20105 0 2 020106 LOCUST POPULATION DENSITY CODE TABLE 20106 0 0 4 CODE TABLE 20106 0 2 020107 DIRECTION OF MOVEMENTS OF LOCUST SWARM CODE TABLE 20107 0 0 4 CODE TABLE 20107 0 2 020108 EXTENT OF VEGETATION CODE TABLE 20108 0 0 4 CODE TABLE 20108 0 2 020193 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020194 AMOUNT OF SEGMENT CLOUD FREE % 0 0 7 % 0 3 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 PA -1 5 021001 HORIZONTAL REFLECTIVITY dB 0 -64 7 dB 0 3 021002 VERTICAL REFLECTIVITY dB 0 -64 7 dB 0 3 021003 DIFFERENTIAL REFLECTIVITY dB 1 -5 7 dB 1 3 021005 LINEAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021006 CIRCULAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION M/S 0 -128 8 M/S 0 3 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION M/S 0 -128 8 M/S 0 3 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION M/S 0 -128 8 M/S 0 3 021014 DOPPLER MEAN VELOCITY (RADIAL) M/S 1 -4096 13 M/S 1 4 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 0 8 M/S 1 3 021021 ECHO TOPS M -3 0 4 M -3 2 021030 SIGNAL TO NOISE RATIO dB 0 -32 8 dB 0 3 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT KG/M**2 0 0 7 KG/M**2 0 3 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 M/S 7 4 021041 BRIGHT-BAND HEIGHT M -2 0 8 M -2 3 021051 SIGNAL POWER ABOVE 1 MW dB 0 -256 8 dB 0 3 021062 BACKSCATTER dB 2 -5000 13 dB 2 4 021063 RADIOMETRIC RESOLUTION (NOISE VALUE) % 1 0 10 % 1 4 021064 CLUTTER NOISE ESTIMATE NUMERIC 0 0 8 NUMERIC 0 3 021065 MISSING PACKET COUNTER NUMERIC 0 -127 8 NUMERIC 0 3 021066 WAVE SCATTEROMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21066 0 0 12 FLAG TABLE 21066 0 4 021067 WIND PRODUCT CONFIDENCE DATA FLAG TABLE 21067 0 0 13 FLAG TABLE 21067 0 5 021068 RADAR ALTIMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21068 0 0 8 FLAG TABLE 21068 0 3 021069 SST PRODUCT CONFIDENCE DATA FLAG TABLE 21069 0 0 10 FLAG TABLE 21069 0 4 021070 SST PRODUCT CONFIDENCE DATA (SADIST-2) FLAG TABLE 21070 0 0 23 FLAG TABLE 21070 0 6 021071 PEAKINESS NUMERIC 0 0 16 NUMERIC 0 5 021072 SATELLITE ALTIMETER CALIBRATION STATUS FLAG TABLE 21072 0 0 4 FLAG TABLE 21072 0 2 021073 SATELLLITE ALTIMETER INSTRUMENT MODE FLAG TABLE 21073 0 0 9 FLAG TABLE 21073 0 3 021075 IMAGE SPECTRUM INTENSITY NUMERIC 0 0 8 NUMERIC 0 3 021076 REPRESENTATION OF INTENSITIES CODE TABLE 21076 0 0 3 CODE TABLE 21076 0 1 021077 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 M 3 5 021078 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 M 3 3 021079 ALTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 M 3 4 021080 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 M 3 4 021081 OPEN LOOP CORRECTION (HEIGHT-TIME LOOP) M 3 0 10 M 3 4 021082 OPEN LOOP CORRECTION (AUTO GAIN CONTROL) dB 3 -3000 14 dB 3 5 021083 WARM TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021084 COLD TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021085 ATSR SEA SURFACE TEMPERATURE ACROSS- TRACK BAND NUMBER NUMERIC 0 0 4 NUMERIC 0 2 021086 NUMBER OF PIXELS IN NADIR ONLY, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021087 NUMBER OF PIXELS IN DUAL VIEW, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021088 WET BACKSCATTER dB 2 -5000 13 dB 2 4 021091 RADAR SIGNAL DOPPLER SPECTRUM 0TH MOMENT dB 0 -100 8 dB 0 3 021092 RASS SIGNAL DOPPLER SPECTRUM 0TH MOMENT, REFERRING TO RASS SIGNA dB 0 -100 8 dB 0 3 021093 Ku BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021094 S BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021101 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 NUMERIC 0 1 021102 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 NUMERIC 0 1 021103 TOTAL NUMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 NUMERIC 0 2 021104 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 3 -30000 15 NUMERIC 3 5 021105 NORMALIZED RADAR CROSS-SECTION dB 2 -10000 14 dB 2 5 021106 KP VARIANCE COEFFICIENT (ALPHA) NUMERIC 3 0 14 NUMERIC 3 5 021107 KP VARIANCE COEFFICIENT (BETA) NUMERIC 8 0 16 NUMERIC 8 5 021109 SEAWINDS WIND VECTOR CELL QUALITY FLAG TABLE 21109 0 0 17 FLAG TABLE 21109 0 6 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021114 KP VARIANCE COEFFICENT (GAMMA) dB 3 -140000 18 dB 3 6 021115 SEAWINDS SIGMA-0 QUALITY FLAG TABLE 21115 0 0 17 FLAG TABLE 21115 0 6 021116 SEAWINDS SIGMA-0 MODE FLAG TABLE 21116 0 0 17 FLAG TABLE 21116 0 6 021117 SIGMA-0 VARIANCE QUALITY CONTROL NUMERIC 2 0 16 NUMERIC 2 5 021118 ATTENUATION CORRECTION ON SIGMA-0 dB 2 -10000 14 dB 2 5 021119 WIND SCATTEROMETER GEOPHYSICAL MODEL FUNCTION CODE TABLE 21119 0 0 6 CODE TABLE 21119 0 2 021120 PROBABILITY OF RAIN NUMERIC 3 0 10 NUMERIC 3 4 021121 SEAWINDS NOF* RAIN INDEX NUMERIC 0 0 8 NUMERIC 0 3 021122 ATTENUATION CORRECTION OF SIGMA-0 (FROM TB) dB 2 -10000 14 dB 2 5 021123 SEAWINDS NORMALIZED RADAR CROSS SECTION dB 2 -30000 15 dB 2 5 021128 NUMBER OF VALID POINTS PER SECOND USED TO DERIVE PREVIOUS PARAME NUMERIC 0 0 8 NUMERIC 0 3 021130 SPECTRUM TOTAL ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021131 SPECTRUM MAX ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021132 DIRECTION OF SPECTRUM MAX ON HIGHER RESOLUTION GRID DEGREE 3 0 19 DEGREE 3 6 021133 WAVE-LENGTH OF SPECTRUM MAX ON HIGHER RESOLUTION GRID M 3 0 29 M 3 9 021134 RANGE RESOLUTION OF CRESS COVARIANCE SPECTRUM RAD/M 3 0 19 RAD/M 3 6 021135 REAL PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021136 IMAGINARY PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021137 KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021138 STD KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021139 KU BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -2048 12 dB 2 4 021140 S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021141 STD S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021142 S BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -1024 11 dB 2 4 021143 KU BAND RAIN ATTENUATION dB 2 -1073741824 31 dB 2 10 021144 ALTIMETER RAIN FLAG FLAG TABLE 21144 0 0 2 FLAG TABLE 21144 0 1 021150 BEAM COLLOCATION CODE TABLE 21150 0 0 2 CODE TABLE 21150 0 1 021151 ESTIMATED ERROR IN SIGMA0 AT 40DEG INCIDENCE ANGLE dB 2 0 9 dB 2 3 021152 SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -80 7 dB/DEG 2 3 021153 ESTIMATED ERROR IN SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -40 6 dB/DEG 2 3 021154 SOIL MOISTURE SENSITIVITY dB 2 0 12 dB 2 4 021155 WIND VECTOR CELL QUALITY FLAG TABLE 21155 0 0 24 FLAG TABLE 21155 0 8 021156 BACKSCATTER DISTANCE NUMERIC 1 -4096 13 NUMERIC 1 4 021157 LOSS PER UNIT LENGTH OF ATMOSPHERE USED dB/M 10 0 22 dB/M 10 7 021158 ASCAT kp ESTIMATE QUALITY CODE TABLE 21158 0 0 2 CODE TABLE 21158 0 1 021159 ASCAT SIGMA-0 USABILITY CODE TABLE 21159 0 0 2 CODE TABLE 21159 0 1 021160 ASCAT USE OF SYNTHETIC DATA NUMERIC 3 0 10 NUMERIC 3 4 021161 ASCAT SYNTHETIC DATA QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021162 ASCAT SATELLITE ORBIT AND ATTITUDE QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021163 ASCAT SOLAR ARRAY REFLECTION CONTAMINATION NUMERIC 3 0 10 NUMERIC 3 4 021164 ASCAT TELEMETRY PRESENCE AND QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021165 ASCAT EXTRAPOLATED REFERENCE FUNCTION PRESENCE NUMERIC 3 0 10 NUMERIC 3 4 021166 ASCAT LAND FRACTION NUMERIC 3 0 10 NUMERIC 3 4 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022005 DIRECTION OF SEA SURFACE CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022011 PERIOD OF WAVES S 0 0 6 S 0 2 022012 PERIOD OF WIND WAVES S 0 0 6 S 0 2 022013 PERIOD OF SWELL WAVES S 0 0 6 S 0 2 022021 HEIGHT OF WAVES M 1 0 10 M 1 4 022022 HEIGHT OF WIND WAVES M 1 0 10 M 1 4 022023 HEIGHT OF SWELL WAVES M 1 0 10 M 1 4 022025 STANDARD DEVIATION WAVE HEIGHT M 2 0 10 M 2 4 022026 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT M 2 0 10 M 2 4 022031 SPEED OF CURRENT M/S 2 0 13 M/S 2 4 022032 SPEED OF SEA SURFACE CURRENT M/S 2 0 13 M/S 2 4 022035 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 2 0 14 M 2 4 022036 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 2 0 14 M 2 4 022037 TIDAL ELEVATION WITH RESPECT TO NATIONAL LAND DATUM M 3 -10000 15 M 3 5 022038 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 3 -10000 15 M 3 5 022039 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 12 M 3 4 022040 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 14 M 3 5 022041 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 1 0 12 K 1 4 022042 SEA/WATER TEMPERATURE K 1 0 12 K 1 4 022043 SEA/WATER TEMPERATURE K 2 0 15 K 2 5 022044 SOUND VELOCITY M/S 1 0 14 M/S 1 5 022045 SEA/WATER TEMPERATURE K 3 0 19 K 3 6 022049 SEA SURFACE TEMPERATURE K 2 0 15 K 2 5 022050 STANDARD DEVIATION SEA-SURFACE TEMPERATURE K 2 0 8 K 2 3 022055 FLOAT CYCLE NUMBER NUMERIC 0 0 10 NUMERIC 0 3 022056 DIRECTION OF PROFILE CODE TABLE 22056 0 0 2 CODE TABLE 22056 0 1 022059 SEA SURFACE SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022060 LAGRANGIAN DRIFTER DROGUE STATUS CODE TABLE 22060 0 0 3 CODE TABLE 22060 0 1 022061 STATE OF THE SEA CODE TABLE 22061 0 0 4 CODE TABLE 22061 0 2 022062 SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022063 TOTAL WATER DEPTH M 0 0 14 M 0 5 022064 SALINITY PART PER THOUSAND 3 0 17 PART PER THOUSAND 3 6 022065 WATER PRESSURE PA -3 0 17 PA -3 6 022066 WATER CONDUCTIVITY S M-1 6 0 26 S M-1 6 8 022067 INSTRUMENT TYPE FOR WATER TEMPERATURE PROFILE MEASUREMENT CODE TABLE 22067 0 0 10 CODE TABLE 22067 0 4 022068 WATER TEMPERATURE PROFILE RECORDER TYPES CODE TABLE 22068 0 0 7 CODE TABLE 22068 0 3 022069 SPECTRAL WAVE DENSITY M2HZ-1 3 0 22 M2HZ-1 3 7 022070 SIGNIFICANT WAVE HEIGHT M 2 0 13 M 2 4 022071 SPECTRAL PEAK WAVE PERIOD S 1 0 9 S 1 3 022072 SPECTRAL PEAK WAVE LENGTH M 0 0 13 M 0 4 022073 MAXIMUM WAVE HEIGHT M 2 0 13 M 2 4 022074 AVERAGE WAVE PERIOD S 1 0 9 S 1 3 022075 AVERAGE WAVE LENGTH M 0 0 13 M 0 4 022076 DIRECTION FROM WHICH DOMINANT WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022077 DIRECTIONAL SPREAD OF DOMINANT WAVE DEGREE 0 0 9 DEGREE 0 3 022078 DURATION OF WAVE RECORD S 0 0 12 S 0 4 022079 LENGTH OF WAVE RECORD M 0 0 16 M 0 5 022080 WAVEBAND CENTRAL FREQUENCY Hz 3 0 10 Hz 3 4 022081 WAVEBAND CENTRAL WAVE NUMBER 1/M 5 0 13 1/M 5 4 022082 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE DENSITY M**2S 2 0 20 M**2S 2 7 022083 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE NUMBER M**3 2 0 20 M**3 2 7 022084 BAND CONTAINING MAXIMUM NON- DIRECTIONAL SPECTRAL WAVE DENSITY NUMERIC 0 0 7 NUMERIC 0 3 022085 SPECTRAL WAVE DENSITY RATIO NUMERIC 0 0 7 NUMERIC 0 3 022086 MEAN DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022087 PRINCIPAL DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022088 FIRST NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022089 SECOND NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022090 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S 2 0 20 M**2S 2 7 022091 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**3 2 0 20 M**3 2 7 022092 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S/RAD 2 0 20 M**2S/RAD 2 7 022093 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**4 2 0 20 M**4 2 7 022094 TOTAL NUMBER OF WAVE BANDS NUMERIC 0 0 7 NUMERIC 0 3 022095 DIRECTIONAL SPREAD OF INDIVIDUAL WAVES DEGREE 0 0 8 DEGREE 0 3 022096 SPECTRAL BAND WIDTH 1/S 3 0 4 1/S 3 2 022097 MEAN WAVELENGTH > 731 M OF IMAGE SPECTRUM AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022098 WAVELENGTH SPREAD (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022099 MEAN DIRECTION AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022100 DIRECTION SPREAD AT LOW WAVE NUMBERS(WAVELENGTH > 731 M) DEGREE 0 0 9 DEGREE 0 3 022101 TOTAL ENERGY (WAVELENGTH > 731M) AT LOW WAVE NUMBERS NUMERIC 0 0 31 NUMERIC 0 10 022120 TIDE STATION AUTOMATED WATER LEVEL CHECK CODE TABLE 22120 0 0 5 CODE TABLE 22120 0 2 022121 TIDE STATION MANUAL WATER LEVEL CHECK CODE TABLE 22121 0 0 5 CODE TABLE 22121 0 2 022122 TIDE STATION AUTOMATED METEOROLOGICAL DATA CHECK CODE TABLE 22122 0 0 5 CODE TABLE 22122 0 2 022123 TIDE STATION MANUAL METEOROLOGICAL DATA CHECK CODE TABLE 22123 0 0 5 CODE TABLE 22123 0 2 022141 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 2 0 15 K 2 5 022150 NUMBER OF 18 HZ VALID POINTS FOR KU BAND NUMERIC 0 0 10 NUMERIC 0 4 022151 KU BAND OCEAN RANGE M 3 0 31 M 3 10 022152 STD OF 18 HZ KU BAND OCEAN RANGE M 3 0 16 M 3 5 022153 NUMBER OF 18 HZ VALID POINTS FOR S BAND NUMERIC 0 0 10 NUMERIC 0 4 022154 S BAND OCEAN RANGE M 3 0 31 M 3 10 022155 STD OF 18 HZ S BAND OCEAN RANGE M 3 0 16 M 3 5 022156 KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022157 STD 18HZ KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022158 S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022159 STD 18HZ S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022160 NORMALIZED INVERSE WAVE AGE NUMERIC 6 0 21 NUMERIC 6 7 022161 WAVE SPECTRA M**4 4 0 27 M**4 4 9 023001 ACCIDENT EARLY NOTIFICATION ARTICLE APPLICABLE CODE TABLE 23001 0 0 3 CODE TABLE 23001 0 1 023002 ACTIVITY OR FACILITY INVOLVED IN INCIDENT CODE TABLE 23002 0 0 5 CODE TABLE 23002 0 2 023003 TYPE OF RELEASE CODE TABLE 23003 0 0 3 CODE TABLE 23003 0 1 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 23004 0 0 3 CODE TABLE 23004 0 1 023005 CAUSE OF INCIDENT CODE TABLE 23005 0 0 2 CODE TABLE 23005 0 1 023006 INCIDENT SITUATION CODE TABLE 23006 0 0 3 CODE TABLE 23006 0 1 023007 CHARACTERISTICS OF RELEASE CODE TABLE 23007 0 0 3 CODE TABLE 23007 0 1 023008 STATE OF CURRENT RELEASE CODE TABLE 23008 0 0 2 CODE TABLE 23008 0 1 023009 STATE OF EXPECTED RELEASE CODE TABLE 23009 0 0 2 CODE TABLE 23009 0 1 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 23016 0 0 2 CODE TABLE 23016 0 1 023017 FLOW DISCHARGE OF MAJOR RECIPIENT M**3/S 6 0 20 M**3/S 6 7 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 23018 0 0 3 CODE TABLE 23018 0 1 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 M 0 6 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 M 0 6 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 M 0 8 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 M/S 1 4 023024 MAIN TRANSPORT SPEED IN WATER M/S 2 0 13 M/S 2 4 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 M/S 2 4 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 23031 0 0 2 CODE TABLE 23031 0 1 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 23032 0 0 2 CODE TABLE 23032 0 1 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 Bq -11 9 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 Bq -11 9 024003 COMPOSITION OF RELEASE CODE TABLE 24003 0 0 5 CODE TABLE 24003 0 2 024004 ELEMENT NAME CCITTIA5 0 0 16 CHARACTER 0 2 024005 ISOTOPE MASS NUMERIC 0 0 9 NUMERIC 0 3 024011 DOSE mSv 2 0 32 mSv 2 10 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME OF ARRIVAL) mSv 2 0 32 mSv 2 10 024013 GAMMA DOSE IN AIR ALONG THE MAIN TRANSPORT PATH (DEFINED LOCATIO mSv 2 0 32 mSv 2 10 024021 AIR CONCENTRATION (OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA) Bq/M**3 2 0 32 Bq/M**3 2 10 024022 CONCENTRATION IN PRECIPITATION (OF NAMES ISOTOPE TYPE) Bq/L 2 0 32 BQ L-1 2 10 024023 PULSE RATE OF BETA RADIATION 1/S 1 0 14 1/S 1 4 024024 PULSE RATE OF GAMMA RADIATION 1/S 1 0 14 1/S 1 4 025001 RANGE-GATE LENGTH M -1 0 6 M -1 2 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 NUMERIC 0 2 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 NUMERIC 0 3 025004 ECHO PROCESSING CODE TABLE 25004 0 0 2 CODE TABLE 25004 0 1 025005 ECHO INTEGRATION CODE TABLE 25005 0 0 2 CODE TABLE 25005 0 1 025006 Z TO R CONVERSION CODE TABLE 25006 0 0 3 CODE TABLE 25006 0 1 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 NUMERIC 0 4 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 NUMERIC 2 3 025009 CALIBRATION METHOD FLAG TABLE 25009 0 0 4 FLAG TABLE 25009 0 2 025010 CLUTTER TREATMENT CODE TABLE 25010 0 0 4 CODE TABLE 25010 0 2 025011 GROUND OCCULTATION CORRECTION (SCREENING) CODE TABLE 25011 0 0 2 CODE TABLE 25011 0 1 025012 RANGE ATTENUATION CORRECTION CODE TABLE 25012 0 0 2 CODE TABLE 25012 0 1 025013 BRIGHT-BAND CORRECTION FLAG TABLE 25013 0 0 2 FLAG TABLE 25013 0 1 025014 AZIMUTH CLUTTER CUT-OFF (SEE NOTE 1) NUMERIC 0 0 12 NUMERIC 0 4 025015 RADOME ATTENUATION CORRECTION FLAG TABLE 25015 0 0 2 FLAG TABLE 25015 0 1 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 dB/M 5 2 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 25017 0 0 2 FLAG TABLE 25017 0 1 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 NUMERIC 7 2 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 NUMERIC 2 3 025020 MEAN SPEED ESTIMATION CODE TABLE 25020 0 0 2 CODE TABLE 25020 0 1 025021 WIND COMPUTATION ENHANCEMENT FLAG TABLE 25021 0 0 8 FLAG TABLE 25021 0 3 025025 BATTERY VOLTAGE V 1 0 9 V 1 3 025026 BATTERY VOLTAGE (LARGE RANGE) V 1 0 12 V 1 4 025028 OPERATOR OR MANUFACTURER DEFINED PARAMETER NUMERIC 1 -16384 15 NUMERIC 1 5 025030 RUNNING MEAN SEA-SURFACE TEMPERATURE USAGE CODE TABLE 25030 0 0 2 CODE TABLE 25030 0 1 025032 WIND PROFILER MODE INFORMATION CODE TABLE 25032 0 0 2 CODE TABLE 25032 0 1 025033 WIND PROFILER SUBMODE INFORMATION* CODE TABLE 25033 0 0 2 CODE TABLE 25033 0 1 025034 WIND PROFILER QUALITY CONTROL TEST RESULTS* FLAG TABLE 25034 0 0 4 FLAG TABLE 25034 0 2 025036 ATMOSPHERICS LOCATION METHOD CODE TABLE 25036 0 0 4 CODE TABLE 25036 0 2 025040 CO2 WIND PRODUCT DERIVATION CODE TABLE 25040 0 0 4 CODE TABLE 25040 0 2 025041 MOVING PLATFORM DIRECTION REPORTING METHOD CODE TABLE 25041 0 0 2 CODE TABLE 25041 0 1 025042 MOVING PLATFORM SPEED REPORTING METHOD CODE TABLE 25042 0 0 2 CODE TABLE 25042 0 1 025043 WAVE SAMPLING INTERVAL (TIME) S 4 0 15 S 4 5 025044 WAVE SAMPLING INTERVAL (SPACE) M 2 0 14 M 2 5 025045 HIRS CHANNEL COMBINATION FLAG TABLE 25045 0 0 21 FLAG TABLE 25045 0 7 025046 MSU CHANNEL COMBINATION FLAG TABLE 25046 0 0 5 FLAG TABLE 25046 0 2 025047 SSU CHANNEL COMBINATION FLAG TABLE 25047 0 0 4 FLAG TABLE 25047 0 2 025048 AMSU-A CHANNEL COMBINATION FLAG TABLE 25048 0 0 16 FLAG TABLE 25048 0 6 025049 AMSU-B CHANNEL COMBINATION FLAG TABLE 25049 0 0 6 FLAG TABLE 25049 0 2 025051 AVHRR CHANNEL COMBINATION FLAG TABLE 25051 0 0 7 FLAG TABLE 25051 0 3 025052 LOG-10 OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA NUMERIC 4 0 15 NUMERIC 4 5 025053 OBSERVATION QUALITY FLAG TABLE 25053 0 0 12 FLAG TABLE 25053 0 4 025054 SSMIS SUBFRAME ID NEMBER NUMERIC 0 0 5 NUMERIC 0 2 025055 MULTIPLEXER HOUSEKEEPING K 2 0 16 K 2 5 025060 SOFTWARE IDENTIFICATION (SEE NOTE 2) NUMERIC 0 0 14 NUMERIC 0 5 025061 SOFTWARE IDENTIFICATION AND VERSION NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 025062 DATABASE IDENTIFICATION NUMERIC 0 0 14 NUMERIC 0 5 025065 ORIENTATION CORRECTION (AZIMUTH) DEGREE 2 -1000 11 DEGREE 2 4 025066 ORIENTATION CORRECTION (ELEVATION) DEGREE 2 -1000 11 DEGREE 2 4 025067 RADIOSONDE RELEASE POINT PRESSURE CORRECTION PA 0 -8000 14 PA 0 4 025068 NUMBER OF ARCHIVE RECOMPUTES NUMERIC 0 0 7 NUMERIC 0 3 025069 FLIGHT LEVEL PRESSURE CORRECTIONS FLAG TABLE 25069 0 0 8 FLAG TABLE 25069 0 3 025070 MAJOR FRAME COUNT NUMERIC 0 0 4 NUMERIC 0 2 025071 FRAME COUNT NUMERIC 0 0 5 NUMERIC 0 2 025075 SATELLITE ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 NUMERIC 0 2 025076 LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER) FOR ATOVS LOG (1/M) 8 0 30 LOG (1/M) 8 10 025077 BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS NUMERIC 5 -100000 18 NUMERIC 5 7 025078 BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS NUMERIC 5 0 17 NUMERIC 5 6 025079 ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS W/M**2 4 0 24 W/M**2 4 8 025080 ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS M 10 0 14 M 10 5 025085 FRACTION OF CLEAR PIXELS IN HIRS FOV NUMERIC 0 0 7 NUMERIC 0 3 025086 DEPTH CORRECTION INDICATOR CODE TABLE 25086 0 0 2 CODE TABLE 25086 0 1 025091 STRUCTURE CONSTANT OF THE REFRACTION INDEX (CN2) dB 3 -18192 13 dB 3 5 025092 ACOUSTIC PROPAGATION VELOCITY M/S 2 28000 14 M/S 2 5 025093 RASS COMPUTATION CORRECTION FLAG TABLE 25093 0 0 8 FLAG TABLE 25093 0 3 025095 ALTIMETER STATE FLAG FLAG TABLE 25095 0 0 2 FLAG TABLE 25095 0 1 025096 RADIOMETER STATE FLAG FLAG TABLE 25096 0 0 5 FLAG TABLE 25096 0 2 025097 THREE DIMENSIONAL ERROR ESTIMATE OF THE NAVIGATOR ORBIT CODE TABLE 25097 0 0 4 CODE TABLE 25097 0 2 025100 XBT/XCTD FALL RATE EQUATION COEFFICIENT A NUMERIC 5 0 20 NUMERIC 5 6 025101 XBT/XCTD FALL RATE EQUATION COEFFICIENT B NUMERIC 5 -500000 21 NUMERIC 5 6 025102 NUMBER OF MISSING LINES EXCLUDING DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025103 NUMBER OF DIRECTIONAL BINS NUMERIC 0 0 8 NUMERIC 0 3 025104 NUMBER OF WAVE-LENGTH BINS NUMERIC 0 0 8 NUMERIC 0 3 025107 FIRST WAVE-LENGTH BIN M 3 0 29 M 3 9 025108 LAST WAVE-LENGTH BIN M 3 0 29 M 3 9 025111 NUMBER OF INPUT DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025120 RA2-L2-PROCESSING FLAG CODE TABLE 25120 0 0 2 CODE TABLE 25120 0 1 025121 RA2-L2-PROCESSING QUALITY % 0 0 7 % 0 3 025122 HARDWARE CONFIGURATION FOR RF CODE TABLE 25122 0 0 2 CODE TABLE 25122 0 1 025123 HARDWARE CONFIGURATION FOR HPA CODE TABLE 25123 0 0 2 CODE TABLE 25123 0 1 025124 MWR L2 PROCESSING FLAG CODE TABLE 25124 0 0 2 CODE TABLE 25124 0 1 025125 MWR L2-PROCESSING QUALITY % 0 0 7 % 0 3 025126 MODEL DRY TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025127 INVERTED BAROMETER CORRECTION M 3 -32768 16 M 3 5 025128 MODEL WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025129 MWR DERIVED WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025130 RA2 IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025131 IONOSPHERIC CORRECTION FROM DORIS ON KU BAND M 3 -32768 16 M 3 5 025132 IONOSPHERIC CORRECTION FROM MODEL ON KU BAND M 3 -32768 16 M 3 5 025133 SEA STATE BIAS CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025134 RA2 IONOSPHERIC CORRECTION ON S BAND M 3 -32768 16 M 3 5 025135 IONOSPHERIC CORRECTION FROM DORIS ON S BAND M 3 -32768 16 M 3 5 025136 IONOSPHERIC CORRECTION FROM MODEL ON S BAND M 3 -32768 16 M 3 5 025137 SEA STATE BIAS CORRECTION ON S BAND M 3 -32768 16 M 3 5 025138 AVERAGE SIGNAL TO NOISE RATION NUMERIC 0 -2048 12 NUMERIC 0 4 025140 START CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025141 END CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025142 CHANNEL SCALE FACTOR NUMERIC 0 0 6 NUMERIC 0 2 025150 SATELLITE INTENSITY ANALYSIS METHOD OF TROPICAL CYCLONE CODE TABLE 25150 0 0 4 CODE TABLE 25150 2 2 026001 PRINCIPAL TIME OF DAILY READING IN UTC OF MAXIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026002 PRINCIPAL TIME OF DAILY READING IN UTC OF MINIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026003 TIME DIFFERENCE MINUTE 0 -1440 12 MINUTE 0 4 026010 HOURS INCLUDED FLAG TABLE 26010 0 0 26 FLAG TABLE 26010 0 9 026020 DURATION OF PRECIPITATION MINUTE 0 0 11 MINUTE 0 4 027001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027003 ALTERNATE LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027004 ALTERNATE LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 NUMERIC 0 5 027021 SATELLITE SUBLOCATION DIMENSION NUMERIC 0 0 16 NUMERIC 0 5 027031 IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THE EARTH'S C M 2 -1073741824 31 M 2 10 027080 VIEWING AZIMUTH ANGLE DEGREE TRUE 2 0 16 DEGREE TRUE 0 5 028001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028003 ALTERNATE LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028004 ALTERNATE LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028031 IN DIRECTION 90 DEGREES EAST, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 029001 PROJECTION TYPE CODE TABLE 29001 0 0 3 CODE TABLE 29001 0 1 029002 CO-ORDINATE GRID TYPE CODE TABLE 29002 0 0 3 CODE TABLE 29002 0 1 030001 PIXEL VALUE (4 BITS) NUMERIC 0 0 4 NUMERIC 0 2 030002 PIXEL VALUE (8 BITS) NUMERIC 0 0 8 NUMERIC 0 3 030004 PIXEL VALUE (16 BITS) NUMERIC 0 0 16 NUMERIC 0 5 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 NUMERIC 0 4 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 NUMERIC 0 4 030031 PICTURE TYPE CODE TABLE 30031 0 0 4 CODE TABLE 30031 0 2 030032 COMBINATION WITH OTHER DATA FLAG TABLE 30032 0 0 16 FLAG TABLE 30032 0 6 031000 SHORT DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 1 NUMERIC 0 1 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 31021 0 0 6 CODE TABLE 31021 0 2 031031 DATA PRESENT INDICATOR FLAG TABLE 31031 0 0 1 FLAG TABLE 31031 0 1 033002 QUALITY INFORMATION CODE TABLE 33002 0 0 2 CODE TABLE 33002 0 1 033003 QUALITY INFORMATION CODE TABLE 33003 0 0 3 CODE TABLE 33003 0 1 033005 QUALITY INFORMATION (AWS DATA) FLAG TABLE 33005 0 0 30 FLAG TABLE 33005 0 10 033006 INTERNAL MEASUREMENT STATUS INFORMATION (AWS) CODE TABLE 33006 0 0 3 CODE TABLE 33006 0 1 033007 PER CENT CONFIDENCE % 0 0 7 % 0 3 033015 DATA QUALITY CHECK INDICATOR CODE TABLE 33015 0 0 6 CODE TABLE 33015 0 2 033020 QUALITY CONTROL INDICATION OF FOLLOWING VALUE CODE TABLE 33020 0 0 3 CODE TABLE 33020 0 1 033021 QUALITY OF FOLLOWING VALUE CODE TABLE 33021 0 0 2 CODE TABLE 33021 0 1 033022 QUALITY OF BUOY SATELLITE TRANSMISSION CODE TABLE 33022 0 0 2 CODE TABLE 33022 0 1 033023 QUALITY OF BUOY LOCATION CODE TABLE 33023 0 0 2 CODE TABLE 33023 0 1 033024 STATION ELEVATION QUALITY MARK (FOR MOBILE STATIONS) CODE TABLE 33024 0 0 4 CODE TABLE 33024 0 2 033025 ACARS INTERPOLATED VALUES CODE TABLE 33025 0 0 3 CODE TABLE 33025 0 1 033026 MOISTURE QUALITY CODE TABLE 33026 0 0 6 CODE TABLE 33026 0 2 033027 LOCATION QUALITY CLASS (RANGE OF RADIUS OF 66 % CONFIDENCE) CODE TABLE 33027 0 0 3 CODE TABLE 33027 0 1 033030 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 33030 0 0 24 FLAG TABLE 33030 0 8 033031 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 33031 0 0 24 FLAG TABLE 33031 0 8 033032 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 33032 0 0 24 FLAG TABLE 33032 0 8 033033 FIELD OF VIEW QUALITY FLAGS FOR ATOVS FLAG TABLE 33033 0 0 24 FLAG TABLE 33033 0 8 033035 MANUAL/AUTOMATIC QUALITY CONTROL CODE TABLE 33035 0 0 4 CODE TABLE 33035 0 2 033036 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 % 0 3 033037 WIND CORRELATION ERROR FLAG TABLE 33037 0 0 20 FLAG TABLE 33037 0 7 033038 QUALITY FLAGS FOR GROUND-BASED GNSS DATA FLAG TABLE 33038 0 0 10 FLAG TABLE 33038 0 4 033039 QUALITY FLAGS FOR RADIO OCCULTATION DATA FLAG TABLE 33039 0 0 16 FLAG TABLE 33039 0 6 033040 CONFIDENCE INTERVAL % 0 0 7 PERCENT 0 3 033041 ATTRIBUTE OF FOLLOWING VALUE CODE TABLE 33041 0 0 2 CODE TABLE 33041 0 1 033042 TYPE OF LIMIT REPRESENTED BY FOLLOWING VALUE CODE TABLE 33042 0 0 3 CODE TABLE 33042 0 1 033043 AST CONFIDENCE FLAG TABLE 33043 0 0 8 FLAG TABLE 33043 0 3 033044 ASAR QUALITY INFORMATION FLAG TABLE 33044 0 0 15 FLAG TABLE 33044 0 5 033045 PROBABILITY OF FOLLOWING EVENT % 0 0 7 % 0 3 033046 CONDITIONAL PROBABILITY OF FOLLOWING EVENT WITH RESPECT TO SPECI % 0 0 7 % 0 3 033047 MEASUREMENT CONFIDENCE DATA FLAG TABLE 33047 0 0 31 FLAG TABLE 33047 0 11 033048 CONFIDENCE MEASURE OF SAR INVERSION CODE TABLE 33048 0 0 2 CODE TABLE 33048 0 1 033049 CONFIDENCE MEASURE OF WIND RETRIEVAL CODE TABLE 33049 0 0 2 CODE TABLE 33049 0 1 033050 GLOBAL GTSPP QUALITY FLAG CODE TABLE 33050 0 0 4 CODE TABLE 33050 0 2 033052 S BAND OCEAN RETRACKING QUALITY FLAG TABLE 33052 0 0 21 FLAG TABLE 33052 0 7 033053 KU BAND OCEAN RETRACKING QUALITY FLAG TABLE 33053 0 0 21 FLAG TABLE 33053 0 7 033060 GQISFLAGQUAL-INDIVIDUAL IASI-SYSTEM QUALITY FLAG CODE TABLE 33060 0 0 2 CODE TABLE 33060 0 1 033061 GQISQUALINDEX - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033062 GQISQUALINDEXLOC - INDICATOR FOR GEOMETRIC QUALITY INDEX % 0 0 7 % 0 3 033063 GQISQUALINDEXRAD - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033064 GQISQUALINDEXSPECT - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033065 GQISSYSTECSONDQUAL - OUTPUT OF SYSTEM TEC QUALITY FUNCTION NUMERIC 0 0 24 NUMERIC 0 24 033066 SBUV TOTAL OZONE QUALITY CODE TABLE 33066 0 0 4 CODE TABLE 33066 0 2 033067 SBUV PROFILE OZONE QUALITY CODE TABLE 33067 0 0 4 CODE TABLE 33067 0 2 035000 FM AND REGIONAL CODE NUMBER CODE TABLE 35000 0 0 10 CODE TABLE 35000 0 3 035001 TIME-FRAME FOR MONITORING CODE TABLE 35001 0 0 3 CODE TABLE 35001 0 1 035011 NUMBER OF REPORTS ACTUALLY RECEIVED NUMERIC 0 0 14 NUMERIC 0 4 035021 BULLETIN BEING MONITORED (TTAAII) CCITTIA5 0 0 48 CHARACTER 0 6 035022 BULLETIN BEING MONITORED (YYGGGG) CCITTIA5 0 0 48 CHARACTER 0 6 035023 BULLETIN BEING MONITORED (CCCC) CCITTIA5 0 0 32 CHARACTER 0 4 035024 BULLETIN BEING MONITORED (BBB) CCITTIA5 0 0 24 CHARACTER 0 3 035030 DISCREPANCIES IN THE AVAILABILITY OF EXPECTED DATA CODE TABLE 35030 0 0 4 CODE TABLE 35030 0 1 035031 QUALIFIER ON MONITORING RESULTS CODE TABLE 35031 0 0 7 CODE TABLE 35031 0 2 035032 CAUSE OF MISSING DATA CODE TABLE 35032 0 0 4 CODE TABLE 35032 0 1 035033 OBSERVATION AND COLLECTION DEFICIENCIES CODE TABLE 35033 0 0 7 CODE TABLE 35033 0 2 035034 STATISTICAL TRENDS FOR AVAILABILITY OF DATA (DURING THE SURVEY P CODE TABLE 35034 0 0 3 CODE TABLE 35034 0 1 035035 REASON FOR TERMINATION CODE TABLE 35035 0 0 5 CODE TABLE 35035 0 2 040001 SURFACE SOIL MOISTURE (MS) % 1 0 10 % 1 4 040002 ESTIMATED ERROR IN SURFACE SOIL MOISTURE % 1 0 10 % 1 4 040003 MEAN SURFACE SOIL MOISTURE NUMERIC 3 0 10 NUMERIC 3 4 040004 RAIN FALL DETECTION NUMERIC 3 0 10 NUMERIC 3 4 040005 SOIL MOISTURE CORRECTION FLAG FLAG TABLE 40005 0 0 8 FLAG FLAG TABLE 40005 0 3 040006 SOIL MOISTURE PROCESSING FLAG FLAG TABLE 40006 0 0 16 FLAG FLAG TABLE 40006 0 5 040007 SOIL MOISTURE QUALITY % 1 0 10 % 1 4 040008 FROZEN LAND SURFACE FRACTION % 1 0 10 % 1 4 040009 INUNDATION AND WETLAND FRACTION % 1 0 10 % 1 4 040010 TOPOGRAPHIC COMPLEXITY % 1 0 10 % 1 4 emoslib-000392+dfsg.1/crextables/B0002070000755000175000017500000056503612127406245020411 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 CHARACTER 0 3 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000004 BUFR/CREX MASTER TABLE CCITTIA5 0 0 16 CHARACTER 0 2 000005 BUFR/CREX EDITION NUMBER CCITTIA5 0 0 24 CHARACTER 0 3 000006 BUFR MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000007 CREX MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000008 BUFR LOCAL TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 CHARACTER 0 1 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 CHARACTER 0 2 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 CHARACTER 0 3 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000015 UNITS NAME CCITTIA5 0 0 192 CHARACTER 0 24 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000017 UNITS SCALE CCITTIA5 0 0 24 CHARACTER 0 3 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 CHARACTER 0 10 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 CHARACTER 0 3 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 48 CHARACTER 0 6 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 NUMERIC 0 2 001002 WMO STATION NUMBER NUMERIC 0 0 10 NUMERIC 0 3 001003 WMO REGION NUMBER/GEOGRAPHICAL AREA CODE TABLE 1003 0 0 3 CODE TABLE 1003 0 1 001004 WMO REGION SUB-AREA (SEE NOTE 9) NUMERIC 0 0 3 NUMERIC 0 1 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 NUMERIC 0 5 001006 AIRCRAFT FLIGHT NUMBER CCITTIA5 0 0 64 CHARACTER 0 8 001007 SATELLITE IDENTIFIER CODE TABLE 1007 0 0 10 CODE TABLE 1007 0 4 001008 AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION CCITTIA5 0 0 64 CHARACTER 0 8 001009 TYPE OF COMMERCIAL AIRCRAFT CCITTIA5 0 0 64 CHARACTER 0 8 001010 STATIONARY BUOY PLATFORM IDENTIFIER; E.G. C-MAN BUOYS CCITTIA5 0 0 64 CHARACTER 0 8 001011 SHIP OR MOBILE LAND STATION IDENTIFIER CCITTIA5 0 0 72 CHARACTER 0 9 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM* M/S 0 0 10 M/S 0 3 001014 PLATFORM DRIFT SPEED (HIGH PRECISION) M/S 2 0 10 M/S 2 4 001015 STATION OR SITE NAME CCITTIA5 0 0 160 CHARACTER 0 20 001018 SHORT STATION OR SITE NAME CCITTIA5 0 0 40 CHARACTER 0 5 001019 LONG STATION OR SITE NAME CCITTIA5 0 0 256 CHARACTER 0 32 001020 WMO REGION SUB-AREA NUMERIC 0 0 4 NUMERIC 0 2 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 NUMERIC 0 4 001022 NAME OF FEATURE (SEE NOTE 11) CCITTIA5 0 0 224 CHARACTER 0 28 001023 OBSERVATION SEQUENCE NUMBER NUMERIC 0 0 9 NUMERIC 0 3 001025 STORM IDENTIFIER CCITTIA5 0 0 24 CHARACTER 0 3 001026 WMO STORM NAME CCITTIA5 0 0 64 CHARACTER 0 8 001027 WMO LONG STORM NAME CCITTIA5 0 0 80 CHARACTER 0 10 001031 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE (SEE NOTE 10) CODE TABLE 1031 0 0 16 CODE TABLE 1031 0 5 001032 GENERATING APPLICATION CODE TABLE 1032 0 0 8 CODE TABLE 1032 0 3 001033 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 1033 0 0 8 CODE TABLE 1033 0 3 001034 IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE CODE TABLE 1034 0 0 8 CODE TABLE 1034 0 3 001035 ORIGINATING CENTRE COMMON CODE TABLE C-11 0 0 16 COMMON CODE TABLE C-11 0 5 001036 AGENCY IN CHARGE OF OPERATING THE OBSERVING PLATFORM CODE TABLE 1036 0 0 20 CODE TABLE 1036 0 7 001041 ABSOLUTE PLATFORM VELOCITY - FIRST COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001042 ABSOLUTE PLATFORM VELOCITY - SECOND COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001043 ABSOLUTE PLATFORM VELOCITY - THIRD COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001050 PLATFORM TRANSMITTER ID NUMBER NUMERIC 0 0 17 NUMERIC 0 6 001051 PLATFORM TRANSMITTER ID NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001052 PLATFORM TRANSMITTER ID CODE TABLE 1052 0 0 3 CODE TABLE 1052 0 1 001053 TSUNAMETER REPORT SEQUENCE NUMBER TRIGGERED BY A TSUNAMI EVENT NUMERIC 0 0 7 NUMERIC 0 2 001060 AIRCRAFT REPORTING POINT (BEACON IDENTIFIER) CCITTIA5 0 0 64 CHARACTER 0 8 001062 SHORT ICAO LOCATION INDICATOR CCITTIA5 0 0 32 CHARACTER 0 4 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 CHARACTER 0 8 001064 RUNWAY DESIGNATOR CCITTIA5 0 0 32 CHARACTER 0 4 001075 TIDE STATION IDENTIFICATION CCITTIA5 0 0 40 CHARACTER 0 5 001080 SHIP LINE NUMBER ACCORDING TO SOOP CCITTIA5 0 0 32 CHARACTER 0 4 001081 RADIOSONDE SERIAL NUMBER CCITTIA5 0 0 160 CHARACTER 0 20 001082 RADIOSONDE ASCENSION NUMBER (SEE NOTE 12) NUMERIC 0 0 14 NUMERIC 0 4 001083 RADIOSONDE RELEASE NUMBER (SEE NOTE 12) NUMERIC 0 0 3 NUMERIC 0 1 001085 OBSERVING PLATFORM MANUFACTURER'S MODEL CCITTIA5 0 0 160 CHARACTER 0 20 001086 OBSERVING PLATFORM MANUFACTURER'S SERIAL NUMBER CCITTIA5 0 0 256 CHARACTER 0 32 001087 WMO MARINE OBSERVING PLATFORM EXTENDED IDENTIFIER NUMERIC 0 0 23 NUMERIC 0 7 001090 TECHNIQUE FOR MAKING UP INITIAL PERTURBATIONS CODE TABLE 1090 0 0 8 CODE TABLE 1090 0 3 001091 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 10 NUMERIC 0 4 001092 TYPE OF ENSEMBLE FORECAST CODE TABLE 1092 0 0 8 CODE TABLE 1092 0 3 001093 BALLOON LOT NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001094 WBAN NUMBER NUMERIC 0 0 17 NUMERIC 0 5 001095 OBSERVER IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 001096 STATION ACQUISITION CCITTIA5 0 0 160 CHARACTER 0 20 002001 TYPE OF STATION CODE TABLE 2001 0 0 2 CODE TABLE 2001 0 1 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 2002 0 0 4 FLAG TABLE 2002 0 2 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 2003 0 0 4 CODE TABLE 2003 0 2 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUREMENT OR TYPE OF C CODE TABLE 2004 0 0 4 CODE TABLE 2004 0 2 002005 PRECISION OF TEMPERATURE OBSERVATION K 2 0 7 K 2 3 002011 RADIOSONDE TYPE CODE TABLE 2011 0 0 8 CODE TABLE 2011 0 3 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 2012 0 0 4 CODE TABLE 2012 0 2 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 2013 0 0 4 CODE TABLE 2013 0 2 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM USED CODE TABLE 2014 0 0 7 CODE TABLE 2014 0 3 002015 RADIOSONDE COMPLETENESS CODE TABLE 2015 0 0 4 CODE TABLE 2015 0 2 002016 RADIOSONDE CONFIGURATION FLAG TABLE 2016 0 0 5 FLAG TABLE 2016 0 2 002019 SATELLITE INSTRUMENTS CODE TABLE 2019 0 0 11 CODE TABLE 2019 0 4 002020 SATELLITE CLASSIFICATION CODE TABLE 2020 0 0 9 CODE TABLE 2020 0 3 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2021 0 0 9 FLAG TABLE 2021 0 3 002022 SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2022 0 0 8 FLAG TABLE 2022 0 3 002023 SATELLITE DERIVED WIND COMPUTATION METHOD CODE TABLE 2023 0 0 4 CODE TABLE 2023 0 2 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2024 0 0 4 CODE TABLE 2024 0 2 002025 SATELLITE CHANNEL(S) USED IN COMPUTATION FLAG TABLE 2025 0 0 25 FLAG TABLE 2025 0 9 002026 CROSS TRACK RESOLUTION M 2 0 12 M 2 4 002027 ALONG TRACK RESOLUTION M 2 0 12 M 2 4 002028 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 M 0 6 002029 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 M 0 6 002030 METHOD OF CURRENT MEASUREMENT CODE TABLE 2030 0 0 3 CODE TABLE 2030 0 1 002031 DURATION AND TIME OF CURRENT MEASUREMENT CODE TABLE 2031 0 0 5 CODE TABLE 2031 0 2 002032 INDICATOR FOR DIGITIZATION CODE TABLE 2032 0 0 2 CODE TABLE 2032 0 1 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 2033 0 0 3 CODE TABLE 2033 0 1 002034 DROGUE TYPE CODE TABLE 2034 0 0 5 CODE TABLE 2034 0 2 002035 CABLE LENGTH M 0 0 9 M 0 3 002036 BUOY TYPE CODE TABLE 2036 0 0 2 CODE TABLE 2036 0 1 002037 METHOD OF TIDAL OBSERVATION CODE TABLE 2037 0 0 3 CODE TABLE 2037 0 1 002038 METHOD OF WATER TEMPERATURE AND/OR SALINITY MEASUREMENT CODE TABLE 2038 0 0 4 CODE TABLE 2038 0 2 002039 METHOD OF WET-BULB TEMPERATURE MEASUREMENT CODE TABLE 2039 0 0 3 CODE TABLE 2039 0 1 002040 METHOD OF REMOVING VELOCITY AND MOTION OF PLATFORM FROM CURRENT CODE TABLE 2040 0 0 4 CODE TABLE 2040 0 2 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 2041 0 0 6 CODE TABLE 2041 0 2 002042 INDICATOR FOR SEA SURFACE CURRENT SPEED CODE TABLE 2042 0 0 2 CODE TABLE 2042 0 1 002044 INDICATOR FOR METHOD OF CALCULATING SPECTRAL WAVE DATA CODE TABLE 2044 0 0 4 CODE TABLE 2044 0 2 002045 INDICATOR FOR TYPE OF PLATFORM CODE TABLE 2045 0 0 4 CODE TABLE 2045 0 2 002046 WAVE MEASUREMENT INSTRUMENTATION CODE TABLE 2046 0 0 4 CODE TABLE 2046 0 2 002047 DEEP-OCEAN TSUNAMETER TYPE CODE TABLE 2047 0 0 7 CODE TABLE 2047 0 2 002048 SATELLITE SENSOR INDICATOR CODE TABLE 2048 0 0 4 CODE TABLE 2048 0 2 002049 GEOSTATIONARY SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2049 0 0 8 FLAG TABLE 2049 0 3 002050 GEOSTATIONARY SOUNDER SATELLITE CHANNELS USED FLAG TABLE 2050 0 0 20 FLAG TABLE 2050 0 7 002051 INDICATOR TO SPECIFY OBSERVING METHOD FOR EXTREME TEMPERATURES CODE TABLE 2051 0 0 4 CODE TABLE 2051 0 2 002052 GEOSTATIONARY IMAGER SATELLITE CHANNELS USED FLAG TABLE 2052 0 0 6 FLAG TABLE 2052 0 2 002053 GOES-I/M BRIGHTNESS TEMPERATURE CHARACTERISTICS CODE TABLE 2053 0 0 4 CODE TABLE 2053 0 2 002054 GOES-I/M SOUNDINGS PARAMETER CHARACTERISTICS CODE TABLE 2054 0 0 4 CODE TABLE 2054 0 2 002055 GEOSTATIONARY SOUNDINGS STATISTICAL PARAMETERS CODE TABLE 2055 0 0 4 CODE TABLE 2055 0 2 002056 GEOSTATIONARY SOUNDINGS ACCURACY STATISTICS CODE TABLE 2056 0 0 4 CODE TABLE 2056 0 2 002057 ORIGIN OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2057 0 0 4 CODE TABLE 2057 0 2 002058 VALID TIMES OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2058 0 0 4 CODE TABLE 2058 0 2 002059 ORIGIN OF ANALYSIS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2059 0 0 4 CODE TABLE 2059 0 2 002060 ORIGIN OF SURFACE INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2060 0 0 4 CODE TABLE 2060 0 2 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 2061 0 0 3 CODE TABLE 2061 0 1 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 2062 0 0 4 CODE TABLE 2062 0 2 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 DEGREE 2 5 002064 AIRCRAFT ROLL ANGLE QUALITY CODE TABLE 2064 0 0 2 CODE TABLE 2064 0 1 002065 ACARS GROUND RECEIVING STATION CCITTIA5 0 0 40 CHARACTER 0 5 002066 RADIOSONDE GROUND RECEIVING SYSTEM CODE TABLE 2066 0 0 6 CODE TABLE 2066 0 2 002067 RADIOSONDE OPERATING FREQUENCY Hz -5 0 15 Hz -5 5 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 2070 0 0 4 CODE TABLE 2070 0 2 002080 BALLOON MANUFACTURER CODE TABLE 2080 0 0 6 CODE TABLE 2080 0 2 002081 TYPE OF BALLOON CODE TABLE 2081 0 0 5 CODE TABLE 2081 0 2 002082 WEIGHT OF BALLOON KG 3 0 12 KG 3 4 002083 TYPE OF BALLOON SHELTER CODE TABLE 2083 0 0 4 CODE TABLE 2083 0 2 002084 TYPE OF GAS USED IN BALLOON CODE TABLE 2084 0 0 4 CODE TABLE 2084 0 2 002085 AMOUNT OF GAS USED IN BALLOON KG 3 0 13 KG 3 4 002086 BALLOON FLIGHT TRAIN LENGTH M 1 0 10 M 1 4 002091 ENTRY SENSOR 4/20 MA A 4 0 10 A 4 3 002095 TYPE OF PRESSURE SENSOR CODE TABLE 2095 0 0 5 CODE TABLE 2095 0 2 002096 TYPE OF TEMPERATURE SENSOR CODE TABLE 2096 0 0 5 CODE TABLE 2096 0 2 002097 TYPE OF HUMIDITY SENSOR CODE TABLE 2097 0 0 5 CODE TABLE 2097 0 2 002100 RADAR CONSTANT dB 1 0 12 dB 1 4 002101 TYPE OF ANTENNA CODE TABLE 2101 0 0 4 CODE TABLE 2101 0 2 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 M 0 3 002103 RADOME FLAG TABLE 2103 0 0 2 FLAG TABLE 2103 0 1 002104 ANTENNA POLARISATION CODE TABLE 2104 0 0 4 CODE TABLE 2104 0 2 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 dB 0 2 002106 3-DB BEAMWIDTH DEGREE 1 0 6 DEGREE 1 2 002107 SIDELOBE SUPPRESSION dB 0 0 6 dB 0 2 002108 CROSSPOL DISCRIMINATION (ON AXIS) dB 0 0 6 dB 0 2 002109 ANTENNA SPEED (AZIMUTH) DEGREE/S 2 0 12 DEGREE/S 2 4 002110 ANTENNA SPEED (ELEVATION) DEGREE/S 2 0 12 DEGREE/S 2 4 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 DEGREE 1 4 002112 RADAR LOOK ANGLE DEGREE 1 0 12 DEGREE 1 4 002113 NUMBER OF AZIMUTH LOOKS NUMERIC 0 0 4 NUMERIC 0 2 002114 ANTENNA EFFECTIVE SURFACE AREA M**2 0 0 15 M**2 0 5 002115 TYPE OF SURFACE OBSERVING EQUIPMENT CODE TABLE 2115 0 0 5 CODE TABLE 2115 0 2 002116 PERCENTAGE OF 320 MHZ BAND PROCESSED % 0 0 7 % 0 3 002117 PERCENTAGE OF 80 MHZ BAND PROCESSED % 0 0 7 % 0 3 002118 PERCENTAGE OF 20 MHZ BAND PROCESSED % 0 0 7 % 0 3 002119 RA-2 INSTRUMENT OPERATIONS CODE TABLE 2119 0 0 3 CODE TABLE 2119 0 1 002120 OCEAN WAVE FREQUENCY Hz 3 0 10 Hz 3 4 002121 MEAN FREQUENCY Hz -8 0 7 Hz -8 3 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 Hz -6 3 002123 PEAK POWER W -4 0 7 W -4 3 002124 AVERAGE POWER W -1 0 7 W -1 3 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 Hz -1 3 002126 PULSE WIDTH S 7 0 6 S 7 2 002127 RECEIVER INTERMEDIATE FREQUENCY Hz -6 0 7 Hz -6 3 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 Hz -5 2 002129 MINIMUM DETECTABLE SIGNAL dB 0 -150 5 dB 0 3 002130 DYNAMIC RANGE dB 0 0 7 dB 0 3 002131 SENSITIVITY TIME CONTROL (STC) FLAG TABLE 2131 0 0 2 FLAG TABLE 2131 0 1 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 DEGREE 2 5 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 002136 RANGE PROCESSED BY RANGE ATTENUATION CORRECTION M -3 0 16 M -3 5 002140 SATELLITE RADAR BEAM AZIMUTH ANGLE DEGREE 0 0 9 DEGREE 0 3 002141 MEASUREMENT TYPE CCITTIA5 0 0 24 CHARACTER 0 3 002142 OZONE INSTRUMENT SERIAL NUMBER/ IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 002143 OZONE INSTRUMENT TYPE CODE TABLE 2143 0 0 7 CODE TABLE 2143 0 3 002144 LIGHT SOURCE TYPE FOR BREWER SPECTRO PHOTOMETER CODE TABLE 2144 0 0 4 CODE TABLE 2144 0 2 002145 WAVE LENGTH SETTING FOR DOBSON INSTRUMENTS CODE TABLE 2145 0 0 4 CODE TABLE 2145 0 2 002146 SOURCE CONDITIONS FOR DOBSON INSTRUMENTS CODE TABLE 2146 0 0 4 CODE TABLE 2146 0 2 002148 DATA COLLECTION AND/OR LOCATION SYSTEM CODE TABLE 2148 0 0 5 CODE TABLE 2148 0 2 002149 TYPE OF DATA BUOY CODE TABLE 2149 0 0 6 CODE TABLE 2149 0 2 002150 TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER CODE TABLE 2150 0 0 6 CODE TABLE 2150 0 2 002151 RADIOMETER IDENTIFIER CODE TABLE 2151 0 0 11 CODE TABLE 2151 0 4 002152 SATELLITE INSTRUMENT USED IN DATA PROCESSING(6) FLAG TABLE 2152 0 0 31 FLAG TABLE 2152 0 10 002153 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 Hz -8 8 002154 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 Hz -8 8 002156 PERCENTAGE OF VALID KU OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002157 PERCENTAGE OF VALID S OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002158 RA-2 INSTRUMENT FLAG TABLE 2158 0 0 9 FLAG TABLE 2158 0 3 002159 MWR INSTRUMENT FLAG TABLE 2159 0 0 8 FLAG TABLE 2159 0 3 002160 WAVE LENGTH OF THE RADAR CODE TABLE 2160 0 0 4 CODE TABLE 2160 0 2 002163 HEIGHT ASSIGNMENT METHOD CODE TABLE 2163 0 0 4 CODE TABLE 2163 0 2 002164 TRACER CORRELATION METHOD CODE TABLE 2164 0 0 3 CODE TABLE 2164 0 1 002165 RADIANCE TYPE FLAGS FLAG TABLE 2165 0 0 15 FLAG TABLE 2165 0 5 002166 RADIANCE TYPE CODE TABLE 2166 0 0 4 CODE TABLE 2166 0 2 002167 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2167 0 0 4 CODE TABLE 2167 0 2 002168 HYDROSTATIC PRESSURE OF LOWER END OF CABLE (THERMISTOR STRING) PA -3 0 16 KPA 0 5 002169 ANEMOMETER TYPE CODE TABLE 2169 0 0 4 CODE TABLE 2169 0 2 002172 PRODUCT TYPE FOR RETRIEVED ATMOSPHERIC GASES CODE TABLE 2172 0 0 8 CODE TABLE 2172 0 3 002173 SQUARE OF THE OFF NADIR ANGLE (7) DEGREE2 4 0 10 DEGREE2 4 4 002174 MEAN ACROSS TRACK PIXEL NUMBER NUMERIC 0 0 9 NUMERIC 0 3 002175 METHOD OF PRECIPITATION MEASUREMENT CODE TABLE 2175 0 0 4 CODE TABLE 2175 0 2 002176 METHOD OF STATE OF GROUND MEASUREMENT CODE TABLE 2176 0 0 4 CODE TABLE 2176 0 2 002177 METHOD OF SNOW DEPTH MEASUREMENT CODE TABLE 2177 0 0 4 CODE TABLE 2177 0 2 002178 METHOD OF LIQUID CONTENT MEASUREMENT OF PRECIPITATION CODE TABLE 2178 0 0 4 CODE TABLE 2178 0 2 002179 TYPE OF SKY CONDITION ALGORITHM CODE TABLE 2179 0 0 4 CODE TABLE 2179 0 2 002180 MAIN PRESENT WEATHER DETECTING SYSTEM CODE TABLE 2180 0 0 4 CODE TABLE 2180 0 2 002181 SUPPLEMENTARY PRESENT WEATHER SENSOR FLAG TABLE 2181 0 0 21 FLAG TABLE 2181 0 7 002182 VISIBILITY MEASUREMENT SYSTEM CODE TABLE 2182 0 0 4 CODE TABLE 2182 0 2 002183 CLOUD DETECTION SYSTEM CODE TABLE 2183 0 0 4 CODE TABLE 2183 0 2 002184 TYPE OF LIGHTNING DETECTION SENSOR CODE TABLE 2184 0 0 4 CODE TABLE 2184 0 2 002185 METHOD OF EVAPORATION MEASUREMENT CODE TABLE 2185 0 0 4 CODE TABLE 2185 0 2 002186 CAPABILITY TO DETECT PRECIPITATION PHENOMENA FLAG TABLE 2186 0 0 30 FLAG TABLE 2186 0 10 002187 CAPABILITY TO DETECT OTHER WEATHER PHENOMENA FLAG TABLE 2187 0 0 18 FLAG TABLE 2187 0 6 002188 CAPABILITY TO DETECT OBSCURATION FLAG TABLE 2188 0 0 21 FLAG TABLE 2188 0 7 002189 CAPABILITY TO DISCRIMINATE LIGHTNING STRIKES FLAG TABLE 2189 0 0 12 FLAG TABLE 2189 0 4 002190 LAGRANGIAN DRIFTER SUBMERGENCE (% TIME SUBMERGED) % 0 0 7 % 0 3 004001 YEAR YEAR 0 0 12 YEAR 0 4 004002 MONTH MONTH 0 0 4 MONTH 0 2 004003 DAY DAY 0 0 6 DAY 0 2 004004 HOUR HOUR 0 0 5 HOUR 0 2 004005 MINUTE MINUTE 0 0 6 MINUTE 0 2 004006 SECOND SECOND 0 0 6 SECOND 0 2 004007 SECONDS WITHIN A MINUTE (MICROSECOND ACCURACY) SECOND 6 0 26 S 6 8 004011 TIME INCREMENT YEAR 0 -1024 11 YEAR 0 4 004012 TIME INCREMENT MONTH 0 -1024 11 MONTH 0 4 004013 TIME INCREMENT DAY 0 -1024 11 DAY 0 4 004014 TIME INCREMENT HOUR 0 -1024 11 HOUR 0 4 004015 TIME INCREMENT MINUTE 0 -2048 12 MINUTE 0 4 004016 TIME INCREMENT SECOND 0 -4096 13 SECOND 0 4 004017 REFERENCE TIME PERIOD FOR ACCUMULATED OR EXTREME DATA MINUTE 0 -1440 12 MINUTE 0 4 004021 TIME PERIOD OR DISPLACEMENT YEAR 0 -1024 11 YEAR 0 4 004022 TIME PERIOD OR DISPLACEMENT MONTH 0 -1024 11 MONTH 0 4 004023 TIME PERIOD OR DISPLACEMENT DAY 0 -1024 11 DAY 0 4 004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -2048 12 HOUR 0 4 004025 TIME PERIOD OR DISPLACEMENT MINUTE 0 -2048 12 MINUTE 0 4 004026 TIME PERIOD OR DISPLACEMENT SECOND 0 -4096 13 SECOND 0 4 004031 DURATION OF TIME RELATING TO FOLLOWING VALUE HOUR 0 0 8 HOUR 0 3 004032 DURATION OF TIME RELATING TO FOLLOWING VALUE MINUTE 0 0 6 MINUTE 0 2 004041 TIME DIFFERENCE, UTC -LMT (SEE NOTE 6) MINUTE 0 -1440 12 MINUTE 0 4 004043 DAY OF THE YEAR DAY 0 0 9 DAY 0 3 004051 PRINCIPAL TIME OF DAILY READING OF MAXIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004052 PRINCIPAL TIME OF DAILY READING OF MINIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004053 NUMBER OF DAYS WITH PRECIPITATION EQUAL TO OR MORE THAN 1 MM NUMERIC 0 0 6 NUMERIC 0 2 004059 TIMES OF OBSERVATION USED TO COMPUTE THE REPORTED MEAN VALUES FLAG TABLE 4059 0 0 6 FLAG TABLE 4059 0 2 004065 SHORT TIME INCREMENT MINUTE 0 -128 8 MINUTE 0 2 004066 SHORT TIME INCREMENT SECOND 0 -128 8 SECOND 0 2 004073 SHORT TIME PERIOD OR DISPLACEMENT DAY 0 -128 8 DAY 0 2 004074 SHORT TIME PERIOD OR DISPLACEMENT HOUR 0 -128 8 HOUR 0 2 004075 SHORT TIME PERIOD OR DISPLACEMENT MINUTE 0 -128 8 MINUTE 0 2 004080 AVERAGING PERIOD FOR FOLLOWING VALUE CODE TABLE 4080 0 0 4 CODE TABLE 4080 0 2 004086 LONG TIME PERIOD OR DISPLACEMENT SECOND 0 -8192 15 SECOND 0 5 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005015 LATITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005016 LATITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005023 SUN TO SATELLITE AZIMUTH DIFFERENCE DEGREE 1 -1800 12 DEGREE 1 4 005030 DIRECTION (SPECTRAL) DEGREE 0 0 12 DEGREE 0 4 005031 ROW NUMBER NUMERIC 0 0 12 NUMERIC 0 4 005033 PIXEL SIZE ON HORIZONTAL - 1 M -1 0 16 M -1 5 005034 ALONG TRACK ROW NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005036 SHIP TRANSECT NUMBER ACCORDING TO SOOP NUMERIC 0 0 7 NUMERIC 0 2 005040 ORBIT NUMBER NUMERIC 0 0 24 NUMERIC 0 8 005041 SCAN LINE NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005042 CHANNEL NUMBER NUMERIC 0 0 6 NUMERIC 0 2^M 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005044 SATELLITE CYCLE NUMBER NUMERIC 0 0 11 NUMERIC 0 4 055045 FIELD OF REGARD NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005060 Y ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005061 Z ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005193 ALONG TRACK ROW NUMBER AT 50 KM NUMERIC 0 0 10 NUMERIC 0 4 005194 ALONG TRACK ROW NUMBER AT 25 KM NUMERIC 0 0 11 NUMERIC 0 4 005195 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 7 NUMERIC 0 3 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 M 2 10 005232 DIRECTION (SPECTRAL) DEGREE 2 0 16 DEGREE 2 5 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006015 LONGITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006016 LONGITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006021 DISTANCE M -1 0 13 M -1 4 006030 WAVE NUMBER (SPECTRAL) RAD/M 5 0 13 RAD/M 5 4 006031 COLUMN NUMBER NUMERIC 0 0 12 NUMERIC 0 4 006033 PIXEL SIZE ON HORIZONTAL - 2 M -1 0 16 M -1 5 006034 CROSS-TRACK CELL NUMBER NUMERIC 0 0 7 NUMERIC 0 3 006040 RADIUS OF CONFIDENCE M 0 0 13 M 0 4 006193 CROSS TRACK CELL NUMBER AT 50 KM NUMERIC 0 0 6 NUMERIC 0 2 006194 CROSS TRACK CELL NUMBER AT 25 KM NUMERIC 0 0 7 NUMERIC 0 3 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 M 2 10 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 ADS/M 5 4 007001 HEIGHT OF STATION (SEE NOTE 1) M 0 -400 15 M 0 5 007002 HEIGHT OR ALTITUDE M -1 -40 16 M -1 5 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 007004 PRESSURE PA -1 0 14 PA -1 5 007005 HEIGHT INCREMENT M 0 -400 12 M 0 4 007006 HEIGHT ABOVE STATION M 0 0 15 M 0 5 007007 HEIGHT M 0 -1000 17 M 0 6 007008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 007009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 007010 FLIGHT LEVEL M 0 -1024 16 FT -1 5 007021 ELEVATION (SEE NOTE 2) DEGREE 2 -9000 15 DEGREE 2 5 007022 SOLAR ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 007024 SATELLITE ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007025 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007026 SATELLITE ZENITH ANGLE DEGREE 4 -900000 21 DEGREE 4 7 007030 HEIGHT OF STATION GROUND ABOVE MEAN SEA LEVEL (SEE NOTE 3) M 1 - 4000 17 M 1 5 007031 HEIGHT OF BAROMETER ABOVE MEAN SEA LEVEL (SEE NOTE 4) M 1 - 4000 17 M 1 5 007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) M 2 0 16 M 2 5 007033 HEIGHT OF SENSOR ABOVE WATER SURFACE (SEE NOTE 6) M 1 0 12 M 1 4 007040 IMPACT PARAMETER (SEE NOTE 8) M 1 62000000 22 M 1 8 007061 DEPTH BELOW LAND SURFACE M 2 0 14 M 2 5 007062 DEPTH BELOW SEA/WATER SURFACE M 1 0 17 M 1 6 007063 DEPTH BELOW SEA/WATER SURFACE M 2 0 20 M 2 7 007064 REPRESENTATIVE HEIGHT OF SENSOR ABOVE STATION (SEE NOTE 7) M 0 0 4 M 0 2 007065 WATER PRESSURE PA -3 0 17 PA 0 6 007070 DROGUE DEPTH M 0 0 10 M 0 4 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 M 2 10 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8001 0 0 7 FLAG TABLE 8001 0 3 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 8002 0 0 6 CODE TABLE 8002 0 2 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 8003 0 0 6 CODE TABLE 8003 0 2 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 8004 0 0 3 CODE TABLE 8004 0 1 008005 METEOROLOGICAL ATTRIBUTE SIGNIFICANCE CODE TABLE 8005 0 0 4 CODE TABLE 8005 0 2 008006 OZONE VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8006 0 0 9 FLAG TABLE 8006 0 3 008007 DIMENSIONAL SIGNIFICANCE CODE TABLE 8007 0 0 4 CODE TABLE 8007 0 2 008008 RADIATION VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8008 0 0 9 FLAG TABLE 8008 0 3 008009 DETAILED PHASE OF FLIGHT CODE TABLE 8009 0 0 4 CODE TABLE 8009 0 2 008010 SURFACE QUALIFIER (TEMPERATURE DATA) CODE TABLE 8010 0 0 5 CODE TABLE 8010 0 2 008011 METEOROLOGICAL FEATURE CODE TABLE 8011 0 0 6 CODE TABLE 8011 0 2 008012 LAND/SEA QUALIFIER CODE TABLE 8012 0 0 2 CODE TABLE 8012 0 1 008013 DAY/NIGHT QUALIFIER CODE TABLE 8013 0 0 2 CODE TABLE 8013 0 1 008014 QUALIFIER FOR RUNWAY VISUAL RANGE CODE TABLE 8014 0 0 4 CODE TABLE 8014 0 2 008016 CHANGE QUALIFIER OF A TREND-TYPE FORECAST OR AN AERODROME FORECA CODE TABLE 8016 0 0 3 CODE TABLE 8016 0 1 008017 QUALIFIER OF THE TIME WHEN THE FORECAST CHANGE IS EXPECTED CODE TABLE 8017 0 0 2 CODE TABLE 8017 0 1 008018 SEAWINDS LAND/ICE SURFACE TYPE FLAG TABLE 8018 0 0 17 FLAG TABLE 8018 0 6 008020 TOTAL NUMBER OF MISSING ENTITIES (WITH RESPECT TO ACCUMULATION O NUMERIC 0 0 16 NUMERIC 0 5 008021 TIME SIGNIFICANCE CODE TABLE 8021 0 0 5 CODE TABLE 8021 0 2 008022 TOTAL NUMBER (WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 NUMERIC 0 5 008023 FIRST ORDER STATISTICS CODE TABLE 8023 0 0 6 CODE TABLE 8023 0 2 008024 DIFFERENCE STATISTICS CODE TABLE 8024 0 0 6 CODE TABLE 8024 0 2 008025 TIME DIFFERENCE QUALIFIER CODE TABLE 8025 0 0 4 CODE TABLE 8025 0 2 008029 REMOTLY SENSED SURFACE TYPE CODE TABLE 8029 0 0 8 CODE TABLE 8029 0 3 008030 MANUAL ON CODES (VOLUME I.1, SECTION C) CODE TABLE FROM WHICH DA NUMERIC 0 0 13 NUMERIC 0 4 008031 DATA CATEGORY CREX TABLE A NUMERIC 0 0 8 NUMERIC 0 3 008032 STAUS OF OPERATIONS CODE TABLE 8032 0 0 3 CODE TABLE 8032 0 1 008033 METHOD OF DERIVATION OF PERCENTAGE CONFIDENCE CODE TABLE 8033 0 0 7 CODE TABLE 8033 0 3 008035 TYPE OF MONITORING EXERCISE CODE TABLE 8035 0 0 3 CODE TABLE 8035 0 1 008036 TYPE OF CENTRE OR STATION PERFORMING MONITORING CODE TABLE 8036 0 0 3 CODE TABLE 8036 0 1 008040 FLIGHT LEVEL SIGNIFICANCE CODE TABLE 8040 0 0 6 CODE TABLE 8040 0 2 008041 DATA SIGNIFICANCE CODE TABLE 8041 0 0 5 CODE TABLE 8041 0 2 008042 EXTENDED VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8042 0 0 18 FLAG TABLE 8042 0 6 008049 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008050 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8050 0 0 4 CODE TABLE 8050 0 2 008051 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8051 0 0 3 CODE TABLE 8051 0 1 008052 CONDITION FOR WHICH NUMBER OF DAYS OF OCCURRENCE FOLLOWS CODE TABLE 8052 0 0 5 CODE TABLE 8052 0 2 008053 DAY OF OCCURRENCE QUALIFIER CODE TABLE 8053 0 0 2 CODE TABLE 8053 0 1 008060 SAMPLE SCANNING MODE SIGNIFICANCE CODE TABLE 8060 0 0 4 CODE TABLE 8060 0 2 008065 SUN-GLINT INDICATOR CODE TABLE 8065 0 0 2 CODE TABLE 8065 0 1 008066 SEMI-TRANSPARENCY INDICATOR CODE TABLE 8066 0 0 2 CODE TABLE 8066 0 1 008070 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8070 0 0 4 CODE TABLE 8070 0 2 008072 PIXEL(S) TYPE CODE TABLE 8072 0 0 3 CODE TABLE 8072 0 1 008074 ALTIMETER ECHO TYPE CODE TABLE 8074 0 0 2 CODE TABLE 8074 0 1 008075 ASCENDING/DESCENDING ORBIT QUALIFIER CODE TABLE 8075 0 0 2 CODE TABLE 8075 0 1 008076 TYPE OF BAND CODE TABLE 8076 0 0 6 CODE TABLE 8076 0 2 008081 TYPE OF EQUIPMENT CODE TABLE 8081 0 0 6 CODE TABLE 8081 0 2 008082 (CBS) ARTIFICIAL CORRECTION OF SENSOR HEIGHT TO ANOTHER VALUE CODE TABLE 8082 0 0 3 CODE TABLE 8082 0 1 008083 NOMINAL VALUE INDICATOR FLAG TABLE 8083 0 0 15 FLAG TABLE 8083 0 5 008085 BEAM IDENTIFIER CODE TABLE 8085 0 0 3 CODE TABLE 8085 0 1 008193 TIME QUALIFIER CODE TABLE 8193 0 0 6 CODE TABLE 8193 0 2 008194 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8194 0 0 4 CODE TABLE 8194 0 2 008195 DATA TYPE CODE TABLE 8195 0 0 7 CODE TABLE 8195 0 3 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008222 GENERATOR SIGNIFICANCE CODE TABLE 8222 0 0 4 CODE TABLE 8222 0 2 008223 LAND/ICE SURFACE FLAG FLAG TABLE 8223 0 0 7 FLAG TABLE 8223 0 3 008224 LAND/SEA FRACTION NUMERIC 3 0 10 NUMERIC 3 4 010001 HEIGHT OF LAND SURFACE M 0 -400 15 M 0 5 010002 HEIGHT M -1 -40 16 M -1 5 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 010004 PRESSURE PA -1 0 14 PA -1 5 010007 HEIGHT M 0 -1000 17 M 0 6 010008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 010009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 010010 MINIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010011 MAXIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010031 IN DIRECTION OF THE NORTH POLE, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 010032 SATELLITE DISTANCE TO EARTH'S CENTRE M 1 0 27 M 2 9 010033 ALTITUDE (PLATFORM TO ELLIPSOID) M 1 0 27 M 2 9 010034 EARTH RADIUS M 1 0 27 M 2 9 010035 EARTH'S LOCAL RADIUS OF CURVATURE M 1 62000000 22 M 1 8 010036 GEOID UNDULATION (SEE NOTE 4) M 2 -15000 15 M 2 6 010040 NUMBER OF RETRIEVED LAYERS NUMERIC 0 0 10 NUMERIC 0 4 010050 STANDARD DEVIATION ALTITUDE M 2 0 16 M 2 5 010051 PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010052 ALTIMETER SETTING (QNH) PA -1 0 14 PA -1 5 010060 PRESSURE CHANGE PA -1 -1024 11 PA -1 4 010061 3-HOUR PRESSURE CHANGE PA -1 -500 10 PA -1 4 010062 24-HOUR PRESSURE CHANGE PA -1 -1000 11 PA -1 4 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 10063 0 0 4 CODE TABLE 10063 0 2 010070 INDICATED AIRCRAFT ALTITUDE M 0 -400 16 M 0 5 010080 VIEWING ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 010081 ALTITUDE OF COG ABOVE REFERENCE ELLIPSOID M 3 0 31 M 3 10 010082 INSTANTANEOUS ALTITUDE RATE MS-1 3 -65536 17 MS-1 3 6 010083 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM PLATFORM DATA DEGREE2 2 0 16 DEGREE2 2 5 010084 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM WAVEFORM DATA DEGREE2 2 0 16 DEGREE2 2 5 010085 MEAN SEA SURFACE HEIGHT M 3 -131072 18 M 3 6 010086 GEOID'S HEIGHT M 3 -131072 18 M 3 6 010087 OCEAN DEPTH/LAND ELEVATION M 1 -131072 18 M 3 6 010088 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 1 M 3 -32768 16 M 3 5 010089 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 2 M 3 -32768 16 M 3 5 010090 LONG PERIOD TIDE HEIGHT M 3 -32768 16 M 3 5 010091 TIDAL LOADING HEIGHT M 3 -32768 16 M 3 5 010092 SOLID EARTH TIDE HEIGHT M 3 -32768 16 M 3 5 010093 GEOCENTRIC POLE TIDE HEIGHT M 3 -32768 16 M 3 5 010095 HEIGHT OF ATMOSPHERE USED M 0 0 16 M 0 5 011001 WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011002 WIND SPEED M/S 1 0 12 M/S 1 4 011003 U-COMPONENT M/S 1 -4096 13 M/S 1 4 011004 V-COMPONENT M/S 1 -4096 13 M/S 1 4 011005 W-COMPONENT PA/S 1 -512 10 PA/S 1 4 011006 W-COMPONENT M/S 2 -4096 13 M/S 2 4 011010 WIND DIRECTION ASSOCIATED WITH WIND SPEED WHICH FOLLOWS DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011012 WIND SPEED AT 10 M M/S 1 0 12 M/S 1 4 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011014 WIND SPEED AT 5 M M/S 1 0 12 M/S 1 4 011016 EXTREME COUNTERCLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011017 EXTREME CLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011019 STEADINESS OF WIND (6) % 0 0 7 % 0 3 011021 RELATIVE VORTICITY 1/S 9 -65536 17 1/S 9 6 011022 DIVERGENCE 1/S 9 -65536 17 1/S 9 6 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 M**2/S -2 6 011030 EXTENDED DEGREE OF TURBULENCE CODE TABLE 11030 0 0 6 CODE TABLE 0 2 011031 DEGREE OF TURBULENCE CODE TABLE 11031 0 0 4 CODE TABLE 11031 0 2 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 M -1 5 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 M -1 5 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 M/S 1 4 011035 VERTICAL GUST ACCELERATION M/S**2 2 -8192 14 M/S**2 2 5 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST SPEED M/S 1 0 10 M/S 1 4 011037 TURBULENCE INDEX CODE TABLE 11037 0 0 6 CODE TABLE 11037 0 2 011038 TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11038 0 0 5 CODE TABLE 11038 0 2 011039 EXTENDED TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11039 0 0 6 CODE TABLE 11039 0 2 011040 MAXIMUM WIND SPEED (MEAN WIND) M/S 1 0 12 M/S 1 4 011041 MAXIMUM WIND GUST SPEED M/S 1 0 12 M/S 1 4 011042 MAXIMUM WIND SPEED (10-MIN MEAN WIND) M/S 1 0 12 M/S 1 4 011043 MAXIMUM WIND GUST DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011044 MEAN WIND DIRECTION FOR SURFACE - 1500 M (5000 FEET) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011045 MEAN WIND SPEED FOR SURFACE - 1500 M (5000 FEET) M/S 1 0 12 M/S 1 4 011046 MAXIMUM INSTANTANEOUS WIND SPEED M/S 1 0 12 M/S 1 4 011047 MAXIMUM INSTANTANEOUS WIND SPEED OVER 10 MINUTES M/S 1 0 12 M/S 1 4 011049 STANDARD DEVIATION OF WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011050 STANDARD DEVIATION OF HORIZONTAL WIND SPEED M/S 1 0 12 M/S 1 4 011051 STANDARD DEVIATION OF VERTICAL WIND SPEED M/S 1 0 8 M/S 1 3 011052 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 13 M/S 2 5 011053 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 DEGREE TRUE 2 5 011054 MEAN WIND DIRECTION FOR 1500 M - 3000 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011055 MEAN WIND SPEED FOR 1500 M - 3000 M M/S 1 0 12 M/S 1 4 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 M/S 1 4 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 M/S 1 4 011070 DESIGNATOR OF THE RUNWAY AFFECTED BY WIND SHEAR (INCLUDING ALL) CCITTIA5 0 0 32 CHARACTER 0 4 011071 TURBULENT VERTICAL MOMENTUM FLUX M**2/S**2 3 -128 14 M**2/S**2 3 5 011072 TURBULENT VERTICAL BUOYANCY FLUX KM/S 3 -128 11 KM/S 3 4 011073 TURBULENT KINETIC ENERGY M**2/S**2 2 -1024 13 M**2/S**2 2 4 011074 DISSIPATION ENERGY M**2/S**2 2 -1024 10 M**2/S**2 2 4 011075 MEAN TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011076 PEAK TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011077 REPORTING INTERVAL OR AVERAGING TIME FOR EDDY DISSIPATION RATE S 0 0 12 S 0 4 011081 MODEL WIND DIRECTION AT 10M DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 011082 MODEL WIND SPEED AT 10M M/S 2 0 14 M/S 2 4 011095 U COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011096 V COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011230 MAXIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011231 MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011232 MINIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011233 HIGHEST GUST DURING THE 10 MINUTE PERIOD PRECEDING OBSERVATION M/S 1 -4096 13 M/S 1 4^M 012001 TEMPERATURE/DRY-BULB TEMPERATURE K 1 0 12 C 1 3 012002 WET-BULB TEMPERATURE K 1 0 12 C 1 3 012003 DEW-POINT TEMPERATURE K 1 0 12 C 1 3 012004 DRY-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012005 WET-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012006 DEW-POINT TEMPERATURE AT 2 M K 1 0 12 C 1 3 012007 VIRTUAL TEMPERATURE K 1 0 12 C 1 3 012011 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012012 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012013 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 1 0 12 C 1 3 012014 MAXIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012015 MINIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012016 MAXIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012017 MINIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012021 MAXIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012022 MINIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012030 SOIL TEMPERATURE K 1 0 12 C 1 3 012049 TEMPERATURE CHANGE OVER SPECIFIED PERIOD K 0 -30 6 C 0 2 012051 STANDARD DEVIATION TEMPERATURE K 1 0 10 C 1 3 012052 HIGHEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012053 LOWEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012061 SKIN TEMPERATURE K 1 0 12 C 1 3 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 C 1 3 012063 BRIGHTNESS TEMPERATURE K 1 0 12 C 1 3 012064 INSTRUMENT TEMPERATURE K 1 0 12 K 1 4 012065 STANDARD DEVIATION BRIGHTNESS TEMPERATURE K 1 0 12 K 1 4 012070 WARM LOAD TEMPERATURE K 2 0 16 K 2 5 012071 COLDEST CLUSTER TEMPERATURE K 1 0 12 K 1 4 012072 RADIANCE WM**(-2)SR**(-1) 6 0 31 WM**(-2)SR**(-1) 6 9 012073 TEMPERATURE K 2 0 16 K 2 5 012075 SPECTRAL RADIANCE WM**(-3)SR**(-1) -3 0 16 WM**(-3)SR**(-1) -3 5 012076 RADIANCE WM**(-2)SR**(-1) 3 0 16 WM**(-2)SR**(-1) 3 5 012101 TEMPERATURE/DRY-BULB TEMPERATURE K 2 0 16 C 2 4 012102 WET-BULB TEMPERATURE K 2 0 16 C 2 4 012103 DEW-POINT TEMPERATURE K 2 0 16 C 2 4 012104 DRY-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012105 WEB-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012106 DEW-POINT TEMPERATURE AT 2M K 2 0 16 C 2 4 012107 VIRTUAL TEMPERATURE K 2 0 16 C 2 4 012111 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012112 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012113 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 2 0 16 C 2 4 012114 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012115 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012116 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012117 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012118 MAXIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012119 MINIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012121 GROUND MINIMUM TEMPERATURE K 2 0 16 C 2 4 012122 GROUND MINIMUM TEMPERATURE OF THE PRECEDING NIGHT K 2 0 16 C 2 4 012130 SOIL TEMPERATURE K 2 0 16 C 2 4 012151 STANDARD DEVIATION OF DAILY MEAN TEMPERATURE K 2 0 12 C 2 4 012152 HIGHEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012153 LOWEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012161 SKIN TEMPERATURE K 2 0 16 C 2 4 012162 EQUIVALENT BLACK BODY TEMPERATURE K 2 0 16 C 2 4 012163 BRIGHTNESS TEMPERATURE K 2 0 16 C 2 4 012164 INSTRUMENT TEMPERATURE K 2 0 16 K 2 5 012171 COLDEST CLUSTER TEMPERATURE K 2 0 16 K 2 5 012180 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012181 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012182 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012183 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012184 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012185 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012186 MEAN NADIR SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012187 MEAN DUAL VIEW SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012188 INTERPOLATED 23.8 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 012189 INTERPOLATED 36.5 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 013001 SPECIFIC HUMIDITY KG/KG 5 0 14 KG/KG 5 5 013002 MIXING RATIO KG/KG 5 0 14 KG/KG 5 5 013003 RELATIVE HUMIDITY % 0 0 7 % 0 3 013004 VAPOUR PRESSURE PA -1 0 10 PA -1 4 013005 VAPOUR DENSITY KG/M**3 3 0 7 KG/M**3 3 3 013006 MIXING HEIGHTS M -1 -40 16 M -1 5 013007 MINIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013008 MAXIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013009 RELATIVE HUMIDITY % 1 -1000 12 % 1 4 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT KG/M**2 1 -1 14 KG/M**2 1 5 013012 DEPTH OF FRESH SNOW M 2 -2 12 M 2 4 013013 TOTAL SNOW DEPTH M 2 -2 16 M 2 5 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGED RATE) KG/(M**2)S 4 0 12 KG/(M**2)S 4 4 013015 SNOWFALL (AVERAGED RATE) M/S 7 0 12 M/S 7 4 013016 PRECIPITABLE WATER KG/M**2 0 0 7 KG/M**2 0 3 013019 TOTAL PRECIPITATION PAST 1 HOUR KG/M**2 1 -1 14 KG/M**2 1 4 013020 TOTAL PRECIPITATION PAST 3 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013021 TOTAL PRECIPITATION PAST 6 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013022 TOTAL PRECIPITATION PAST 12 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013023 TOTAL PRECIPITATION PAST 24 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013031 EVAPOTRANSPIRATION KG/M**2 0 0 7 KG/M**2 0 3 013032 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 8 KG/M**2 1 3 013033 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 10 KG/M**2 1 4 013038 SUPERADIABATIC INDICATOR CODE TABLE 13038 0 0 2 CODE TABLE 13038 0 1 013039 TERRAIN TYPE (ICE/SNOW) CODE TABLE 13039 0 0 3 CODE TABLE 13039 0 1 013040 SURFACE FLAG CODE TABLE 13040 0 0 4 CODE TABLE 13040 0 2 013041 PASQUILL-GIFFORD STABILITY CATEGORY CODE TABLE 13041 0 0 4 CODE TABLE 13041 0 2 013042 PARCEL LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013043 BEST LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013044 K INDEX K 0 -30 8 K 0 3 013045 KO INDEX K 0 -30 8 K 0 3 013046 MAXIMUM BUOYANCY K 0 -30 8 K 0 3 013047 MODIFIED SHOWALTER STABILITY INDEX K 0 -60 6 C 0 2 013051 FREQUENCY GROUP, PRECIPITATION CODE TABLE 13051 0 0 4 CODE TABLE 13051 0 2 013052 HIGHEST DAILY AMOUNT OF PRECIPITATION KG/M**2 1 -1 14 KG/M**2 1 5 013055 INTENSITY OF PRECIPITATION KG/(M**2)S 4 0 8 MM H-1 1 3 013056 CHARACTER AND INTENSITY OF PRECIPITATION CODE TABLE 13056 0 0 4 CODE TABLE 13056 0 2 013057 TIME OF BEGINNING OR END OF PRECIPITATION CODE TABLE 13057 0 0 4 CODE TABLE 13057 0 2 013058 SIZE OF PRECIPITATING ELEMENT M 4 0 7 MM 1 3 013059 NUMBER OF FLASHES (THUNDERSTORM) NUMERIC 0 0 7 NUMERIC 0 3 013060 TOTAL ACCUMULATED PRECIPITATION KG/M**2 1 -1 17 KG/M**2 1 5 013071 UPSTREAM WATER LEVEL M 2 0 14 M 2 5 013072 DOWNSTREAM WATER LEVEL M 2 0 14 M 2 4 013073 MAXIMUM WATER LEVEL M 2 0 14 M 2 4 013080 WATER PH pH 1 0 10 pH 1 3 013081 WATER CONDUCTIVITY S M-1 3 0 14 S M-1 3 4 013082 WATER TEMPERATURE K 1 0 12 K 1 4 013083 DISSOLVED OXYGEN KG/M**3 6 0 15 KG/M**3 6 5 013084 TURBIDITY LUMEN 0 0 14 LUMEN 0 4 013085 OXYDATION REDUCTION POTENTIAL (ORP) V 3 0 14 V 3 4 013090 RADIOMETER WATER VAPOUR CONTENT KG/M**2 1 0 10 KG/M**2 1 4 013091 RADIOMETER LIQUID CONTENT KG/M**2 2 0 8 KG/M**2 2 3 013093 CLOUD OPTICAL THICKNESS NUMERIC 0 0 8 NUMERIC 0 3 013095 TOTAL COLUMN WATER VAPOUR KG/M**2 4 0 19 KG/M**2 4 6 013096 MWR WATER VAPOUR CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013097 MWR LIQUID WATER CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013098 INTEGRATED WATER VAPOUR DENSITY KG/M**2 8 0 30 KG/M**2 8 10 014001 LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014002 LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014003 SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014004 SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014011 NET LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014012 NET LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014013 NET SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014014 NET SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014015 NET RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 -16384 15 J/M**2 -4 5 014016 NET RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 J/M**2 -4 5 014017 INSTANTANEOUS LONG-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014018 INSTANTANEOUS SHORT-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014019 SURFACE ALBEDO % 0 0 7 % 0 3 014020 GLOBAL SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014021 GLOBAL SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014022 DIFFUSE SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014023 DIFFUSE SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014024 DIRECT SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014025 DIRECT SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014026 ALBEDO AT THE TOP OF CLOUDS % 0 0 7 % 0 3 014027 ALBEDO % 0 0 7 % 0 3 014028 GLOBAL SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014029 DIFFUSE SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD J/M**2 -2 0 16 J/M**2 -2 5 014030 DIRECT SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014031 TOTAL SUNSHINE MINUTE 0 0 11 MINUTE 0 4 014032 TOTAL SUNSHINE HOUR 0 0 10 HOUR 0 4 014033 TOTAL SUNSHINE % 0 0 9 % 0 3 014034 SUNSHINE OVER PERIOD SPECIFIED MINUTE 0 0 11 MINUTE 0 4 014042 BI-DIRECTIONAL REFLECTANCE % 0 0 7 % 0 3 014045 CHANNEL RADIANCE (W/M**2)*(1/SR)*CM 0 0 11 WM-2SR-1CM-1 0 4 014046 SCALED IASI RADIANCE (W/M**2)*(1/SR)*(1/M) 0 -5000 16 (W/M**2)*(1/SR)*(1/M) 0 5 014047 SCALED MEAN AVHRR RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014048 SCALED STANDARD DEVIATION RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014050 EMISSIVITY (SEE NOTE 5) % 1 0 10 % 1 4 014051 DIRECT SOLAR RADIATION INTEGRATED OVER LAST HOUR J/M**2 -3 0 14 JM-2 -3 4 014055 SOLAR ACTIVITY INDEX NUMERIC 0 -32768 16 NUMERIC 0 5 014061 (VAL) INSTANTANEOUS LONG-WAVE RADIATION W/M**2 0 -512 10 W/M**2 0 4 014062 (VAL) INSTANTANEOUS SHORT-WAVE RADIATION W/M**2 0 -2048 12 W/M**2 0 4 015001 TOTAL OZONE DU 0 0 10 DU 0 4 015002 AIR MASS (SLANT PATH AT 22 KM) NUMERIC 2 0 10 NUMERIC 2 3 015003 MEASURED OZONE PARTIAL PRESSURE (SOUNDING) PA 4 0 9 NBAR 0 3 015004 OZONE SOUNDING CORRECTION FACTOR NUMERIC 3 0 11 NUMERIC 3 4 015005 OZONE P DU 0 0 10 DU 0 3 015011 LOG 10 OF INTEGRATED ELECTRON DENSITY LOG (1/M2) 3 14000 13 LOG (M-2) 3 4 015015 MAXIMUM IMAGE SPECTRAL COMPONENT BEFORE NORMALIZATION NUMERIC 0 0 31 NUMERIC 0 10 015020 INTEGRATED 03 DENSITY KG/M**2 8 0 21 KG/M**2 8 7 015025 TYPE OF POLLUTANT CODE TABLE 15025 0 0 4 CODE TABLE 15025 0 2 015026 CONCENTRATION OF POLLUTANT MOLMOL-1 9 0 9 MOLMOL-1 9 3 015027 CONCENTRATION OF POLLUTANT KG/M3 9 0 10 KG/M3 9 4 015031 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 10000 15 M 4 5 015032 ESTIMATED ERROR IN ATMOSPHERIC PATH DELAY M 4 0 10 M 4 4 015033 DIFFERENCE IN PATH DELAYS FOR LIMB VIEWS AT EXTREMES OF SCAN M 5 -10000 15 M 5 5 015034 ESTIMATED ERROR IN PATH DELAY DIFFERENCE M 5 0 14 M 5 5 015035 COMPONENT OF ZENITH PATH DELAY DUE TO WATER VAPOUR M 4 0 14 M 4 5 015036 ATMOSPHERIC REFRACTIVITY (SEE NOTE 5) N-UNITS 3 0 19 N-UNITS 3 6 015037 BENDING ANGLE RADIANS 8 -100000 23 RADIANS 8 7 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 19001 0 0 6 CODE TABLE 19001 0 2 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 M -2 4 019003 WIND SPEED THRESHOLD M/S 0 0 8 M/S 0 3 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 M -2 4 019005 DIRECTION OF MOTION OF FEATURE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 019006 SPEED OF MOTION OF FEATURE M/S 2 0 14 M/S 2 5 019007 EFFECTIVE RADIUS OF FEATURE M -3 0 12 M -3 4 019008 VERTICAL EXTENT OF CIRCULATION CODE TABLE 19008 0 0 3 CODE TABLE 19008 0 1 019009 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD (LA M -3 0 12 M -3 4 019010 METHOD FOR TRACKING THE CENTRE OF SYNOPTIC FEATURE CODE TABLE 19010 0 0 4 CODE TABLE 19010 0 2 019100 TIME INTERVAL TO CALCULATE THE MOVEMENT OF THE TROPICAL CYCLONE CODE TABLE 19100 0 0 4 CODE TABLE 19100 0 2 019101 ACCURACY OF THE POSITION OF THE CENTRE OF THE TROPICAL CYCLONE CODE TABLE 19101 0 0 4 CODE TABLE 19101 0 2 019102 SHAPE AND DEFINITION OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19102 0 0 3 CODE TABLE 19102 0 1 019103 DIAMETER OF MAJOR AXIS OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19103 0 0 4 CODE TABLE 19103 0 2 019104 CHANGE IN CHARACTER OF THE EYE DURING THE 30 MINUTES CODE TABLE 19104 0 0 4 CODE TABLE 19104 0 2 019105 DISTANCE BETWEEN THE END OF SPIRAL BAND AND THE CENTRE CODE TABLE 19105 0 0 4 CODE TABLE 19105 0 2 019106 IDENTIFICATION NUMBER OF TROPICAL CYCLONE NUMERIC 0 0 7 NUMERIC 0 3 019107 TIME INTERVAL OF THE TROPICAL CYCLONE ANALYSIS CODE TABLE 19107 0 0 4 CODE TABLE 19107 0 2 019108 ACCURACY OF GEOGRAPHICAL POSITION OF THE TROPICAL CYCLONE CODE TABLE 19108 0 0 3 CODE TABLE 19108 0 1 019109 MEAN DIAMETER OF THE OVERCAST CLOUD OF THE TROPICAL CYCLONE CODE TABLE 19109 0 0 4 CODE TABLE 19109 0 2 019110 APPARENT 24-HOUR CHANGE IN INTENSITY OF TROPICAL CYCLONE CODE TABLE 19110 0 0 4 CODE TABLE 19110 0 2 019111 CURRENT INTENSITY (CI) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019112 DATA TROPICAL (DT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019113 CLOUD PATTERN TYPE OF THE DT- NUMBER CODE TABLE 19113 0 0 4 CODE TABLE 19113 0 2 019114 MODEL EXPECTED TROPICAL (MET) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019115 TREND OF PAST 24-HOUR CHANGE (+: DEVELOPED, -: WEAKENED) NUMERIC 1 -30 6 NUMERIC 1 2 019116 PATTERN TROPICAL (PT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019117 CLOUD PICTURE TYPE OF THE PT- NUMBER CODE TABLE 19117 0 0 3 CODE TABLE 19117 0 1 019118 FINAL TROPICAL (T) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019119 TYPE OF THE FINAL T-NUMBER CODE TABLE 19119 0 0 3 CODE TABLE 19119 0 1 019150 TYPHOON INTERNATIONAL COMMON NUMBER (TYPHOON COMMITTEE) CCITTIA5 0 0 32 CHARACTER 0 4 020001 HORIZONTAL VISIBILITY M -1 0 13 M -1 4 020002 VERTICAL VISIBILITY M -1 0 7 M -1 3 020003 PRESENT WEATHER (SEE NOTE 1) CODE TABLE 20003 0 0 9 CODE TABLE 20003 0 3 020004 PAST WEATHER (1) (SEE NOTE 2) CODE TABLE 20004 0 0 5 CODE TABLE 20004 0 2 020005 PAST WEATHER (2) (SEE NOTE 2) CODE TABLE 20005 0 0 5 CODE TABLE 20005 0 2 020008 CLOUD DISTRIBUTION FOR AVIATION CODE TABLE 20008 0 0 5 CODE TABLE 20008 0 2 020009 GENERAL WEATHER INDICATOR (TAF/METAR) CODE TABLE 20009 0 0 4 CODE TABLE 20009 0 2 020010 CLOUD COVER (TOTAL) % 0 0 7 % 0 3 020011 CLOUD AMOUNT CODE TABLE 20011 0 0 4 CODE TABLE 20011 0 2 020012 CLOUD TYPE CODE TABLE 20012 0 0 6 CODE TABLE 20012 0 2 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 M -1 4 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 M -1 4 020015 PRESSURE AT BASE OF CLOUD PA -1 0 14 PA -1 5 020016 PRESSURE AT TOP OF CLOUD PA -1 0 14 PA -1 5 020017 CLOUD TOP DESCRIPTION CODE TABLE 20017 0 0 4 CODE TABLE 20017 0 2 020018 TENDENCY OF RUNWAY VISUAL RANGE CODE TABLE 20018 0 0 2 CODE TABLE 20018 0 1 020019 SIGNIFICANT PRESENT OR FORECAST WEATHER CCITTIA5 0 0 72 CHARACTER 0 9 020020 SIGNIFICANT RECENT WEATHER PHENOMENA CCITTIA5 0 0 32 CHARACTER 0 4 020021 TYPE OF PRECIPITATION FLAG TABLE 20021 0 0 30 FLAG TABLE 20021 0 10 020022 CHARACTER OF PRECIPITATION CODE TABLE 20022 0 0 4 CODE TABLE 20022 0 2 020023 OTHER WEATHER PHENOMENA FLAG TABLE 20023 0 0 18 FLAG TABLE 20023 0 6 020024 INTENSITY OF PHENOMENA CODE TABLE 20024 0 0 3 CODE TABLE 20024 0 1 020025 OBSCURATION FLAG TABLE 20025 0 0 21 FLAG TABLE 20025 0 7 020026 CHARACTER OF OBSCURATION CODE TABLE 20026 0 0 4 CODE TABLE 20026 0 2 020027 PHENOMENA OCCURRENCE FLAG TABLE 20027 0 0 9 FLAG TABLE 20027 0 3 020029 RAIN FLAG CODE TABLE 20029 0 0 2 CODE TABLE 20029 0 1 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 M 2 3 020032 RATE OF ICE ACCRETION CODE TABLE 20032 0 0 3 CODE TABLE 20032 0 1 020033 CAUSE OF ICE ACCRETION FLAG TABLE 20033 0 0 4 FLAG TABLE 20033 0 2 020034 SEA ICE CONCENTRATION CODE TABLE 20034 0 0 5 CODE TABLE 20034 0 2 020035 AMOUNT AND TYPE OF ICE CODE TABLE 20035 0 0 4 CODE TABLE 20035 0 2 020036 ICE SITUATION CODE TABLE 20036 0 0 5 CODE TABLE 20036 0 2 020037 ICE DEVELOPMENT CODE TABLE 20037 0 0 5 CODE TABLE 20037 0 2 020038 BEARING OF ICE EDGE (SEE NOTE 3) DEGREE TRUE 0 0 12 DEGREE TRUE 0 3 020039 ICE DISTANCE M -1 0 13 M -1 4 020040 EVOLUTION OF DRIFT OF SNOW CODE TABLE 20040 0 0 4 CODE TABLE 20040 0 2 020041 AIRFRAME ICING CODE TABLE 20041 0 0 4 CODE TABLE 20041 0 2 020042 AIRFRAME ICING PRESENT CODE TABLE 20042 0 0 2 CODE TABLE 20042 0 1 020043 PEAK LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020044 AVERAGE LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020045 SUPERCOOLED LARGE DROPLET (SLD) CONDITIONS CODE TABLE 20045 0 0 2 CODE TABLE 20045 0 2 020050 CLOUD INDEX CODE TABLE 20050 0 0 8 CODE TABLE 20050 0 3 020051 AMOUNT OF LOW CLOUDS % 0 0 7 % 0 3 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 % 0 3 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 % 0 3 020054 TRUE DIRECTION FROM WHICH CLOUDS ARE MOVING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 020055 STATE OF SKY IN TROPICS CODE TABLE 20055 0 0 4 CODE TABLE 20055 0 2 020056 CLOUD PHASE CODE TABLE 20056 0 0 3 CODE TABLE 20056 0 1 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 M 0 4 020062 STATE OF THE GROUND (WITH OR WITHOUT SNOW) CODE TABLE 20062 0 0 5 CODE TABLE 20062 0 2 020063 SPECIAL PHENOMENA CODE TABLE 20063 0 0 10 CODE TABLE 20063 0 4 020065 SNOW COVER (SEE NOTE 4) % 0 0 7 % 0 3 020066 MAXIMUM DIAMETER OF HAILSTONES M 3 0 8 M 3 3 020067 DIAMETER OF DEPOSIT M 3 0 9 M 3 3 020070 MINIMUM NUMBER OF ATMOSPHERICS NUMERIC 0 0 7 NUMERIC 0 3 020071 ACCURACY OF FIX AND RATE OF ATMOSPHERICS CODE TABLE 20071 0 0 4 CODE TABLE 20071 0 2 020081 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020082 AMOUNT SEGMENT CLOUD FREE % 0 0 7 % 0 3 020083 AMOUNT OF SEGMENT COVERED BY SCENE % 0 0 7 % 0 3 020090 SPECIAL CLOUDS CODE TABLE 20090 0 0 4 CODE TABLE 20090 0 2 020095 ICE PROBABILITY NUMERIC 3 0 10 NUMERIC 3 4 020096 ICE AGE ("A" PARAMETER) dB 2 -4096 13 dB 2 4 020101 LOCUST (ACRIDIAN) NAME CODE TABLE 20101 0 0 4 CODE TABLE 20101 0 2 020102 LOCUST (MATURITY) COLOR CODE TABLE 20102 0 0 4 CODE TABLE 20102 0 2 020103 STAGE OF DEVELOPMENT OF LOCUSTS CODE TABLE 20103 0 0 4 CODE TABLE 20103 0 2 020104 ORGANIZATION STATE OF SWARM OR BAND OF LOCUSTS CODE TABLE 20104 0 0 4 CODE TABLE 20104 0 2 020105 SIZE OF SWARM OR BAND OF LOCUSTS AND DURATION OF PASSAGE OF SWARMCODE TABLE 20105 0 0 4 CODE TABLE 20105 0 2 020106 LOCUST POPULATION DENSITY CODE TABLE 20106 0 0 4 CODE TABLE 20106 0 2 020107 DIRECTION OF MOVEMENTS OF LOCUST SWARM CODE TABLE 20107 0 0 4 CODE TABLE 20107 0 2 020108 EXTENT OF VEGETATION CODE TABLE 20108 0 0 4 CODE TABLE 20108 0 2 020193 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020194 AMOUNT OF SEGMENT CLOUD FREE % 0 0 7 % 0 3 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 PA -1 5 021001 HORIZONTAL REFLECTIVITY dB 0 -64 7 dB 0 3 021002 VERTICAL REFLECTIVITY dB 0 -64 7 dB 0 3 021003 DIFFERENTIAL REFLECTIVITY dB 1 -5 7 dB 1 3 021005 LINEAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021006 CIRCULAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION M/S 0 -128 8 M/S 0 3 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION M/S 0 -128 8 M/S 0 3 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION M/S 0 -128 8 M/S 0 3 021014 DOPPLER MEAN VELOCITY (RADIAL) M/S 1 -4096 13 M/S 1 4 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 0 8 M/S 1 3 021021 ECHO TOPS M -3 0 4 M -3 2 021030 SIGNAL TO NOISE RATIO dB 0 -32 8 dB 0 3 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT KG/M**2 0 0 7 KG/M**2 0 3 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 M/S 7 4 021041 BRIGHT-BAND HEIGHT M -2 0 8 M -2 3 021051 SIGNAL POWER ABOVE 1 MW dB 0 -256 8 dB 0 3 021062 BACKSCATTER dB 2 -5000 13 dB 2 4 021063 RADIOMETRIC RESOLUTION (NOISE VALUE) % 1 0 10 % 1 4 021064 CLUTTER NOISE ESTIMATE NUMERIC 0 0 8 NUMERIC 0 3 021065 MISSING PACKET COUNTER NUMERIC 0 -127 8 NUMERIC 0 3 021066 WAVE SCATTEROMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21066 0 0 12 FLAG TABLE 21066 0 4 021067 WIND PRODUCT CONFIDENCE DATA FLAG TABLE 21067 0 0 13 FLAG TABLE 21067 0 5 021068 RADAR ALTIMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21068 0 0 8 FLAG TABLE 21068 0 3 021069 SST PRODUCT CONFIDENCE DATA FLAG TABLE 21069 0 0 10 FLAG TABLE 21069 0 4 021070 SST PRODUCT CONFIDENCE DATA (SADIST-2) FLAG TABLE 21070 0 0 23 FLAG TABLE 21070 0 6 021071 PEAKINESS NUMERIC 0 0 16 NUMERIC 0 5 021072 SATELLITE ALTIMETER CALIBRATION STATUS FLAG TABLE 21072 0 0 4 FLAG TABLE 21072 0 2 021073 SATELLLITE ALTIMETER INSTRUMENT MODE FLAG TABLE 21073 0 0 9 FLAG TABLE 21073 0 3 021075 IMAGE SPECTRUM INTENSITY NUMERIC 0 0 8 NUMERIC 0 3 021076 REPRESENTATION OF INTENSITIES CODE TABLE 21076 0 0 3 CODE TABLE 21076 0 1 021077 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 M 3 5 021078 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 M 3 3 021079 ALTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 M 3 4 021080 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 M 3 4 021081 OPEN LOOP CORRECTION (HEIGHT-TIME LOOP) M 3 0 10 M 3 4 021082 OPEN LOOP CORRECTION (AUTO GAIN CONTROL) dB 3 -3000 14 dB 3 5 021083 WARM TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021084 COLD TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021085 ATSR SEA SURFACE TEMPERATURE ACROSS- TRACK BAND NUMBER NUMERIC 0 0 4 NUMERIC 0 2 021086 NUMBER OF PIXELS IN NADIR ONLY, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021087 NUMBER OF PIXELS IN DUAL VIEW, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021088 WET BACKSCATTER dB 2 -5000 13 dB 2 4 021091 RADAR SIGNAL DOPPLER SPECTRUM 0TH MOMENT dB 0 -100 8 dB 0 3 021092 RASS SIGNAL DOPPLER SPECTRUM 0TH MOMENT, REFERRING TO RASS SIGNA dB 0 -100 8 dB 0 3 021093 Ku BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021094 S BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021101 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 NUMERIC 0 1 021102 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 NUMERIC 0 1 021103 TOTAL NUMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 NUMERIC 0 2 021104 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 3 -30000 15 NUMERIC 3 5 021105 NORMALIZED RADAR CROSS-SECTION dB 2 -10000 14 dB 2 5 021106 KP VARIANCE COEFFICIENT (ALPHA) NUMERIC 3 0 14 NUMERIC 3 5 021107 KP VARIANCE COEFFICIENT (BETA) NUMERIC 8 0 16 NUMERIC 8 5 021109 SEAWINDS WIND VECTOR CELL QUALITY FLAG TABLE 21109 0 0 17 FLAG TABLE 21109 0 6 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021114 KP VARIANCE COEFFICENT (GAMMA) dB 3 -140000 18 dB 3 6 021115 SEAWINDS SIGMA-0 QUALITY FLAG TABLE 21115 0 0 17 FLAG TABLE 21115 0 6 021116 SEAWINDS SIGMA-0 MODE FLAG TABLE 21116 0 0 17 FLAG TABLE 21116 0 6 021117 SIGMA-0 VARIANCE QUALITY CONTROL NUMERIC 2 0 16 NUMERIC 2 5 021118 ATTENUATION CORRECTION ON SIGMA-0 dB 2 -10000 14 dB 2 5 021119 WIND SCATTEROMETER GEOPHYSICAL MODEL FUNCTION CODE TABLE 21119 0 0 6 CODE TABLE 21119 0 2 021120 PROBABILITY OF RAIN NUMERIC 3 0 10 NUMERIC 3 4 021121 SEAWINDS NOF* RAIN INDEX NUMERIC 0 0 8 NUMERIC 0 3 021122 ATTENUATION CORRECTION OF SIGMA-0 (FROM TB) dB 2 -10000 14 dB 2 5 021123 SEAWINDS NORMALIZED RADAR CROSS SECTION dB 2 -30000 15 dB 2 5 021128 NUMBER OF VALID POINTS PER SECOND USED TO DERIVE PREVIOUS PARAME NUMERIC 0 0 8 NUMERIC 0 3 021130 SPECTRUM TOTAL ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021131 SPECTRUM MAX ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021132 DIRECTION OF SPECTRUM MAX ON HIGHER RESOLUTION GRID DEGREE 3 0 19 DEGREE 3 6 021133 WAVE-LENGTH OF SPECTRUM MAX ON HIGHER RESOLUTION GRID M 3 0 29 M 3 9 021134 RANGE RESOLUTION OF CRESS COVARIANCE SPECTRUM RAD/M 3 0 19 RAD/M 3 6 021135 REAL PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021136 IMAGINARY PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021137 KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021138 STD KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021139 KU BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -2048 12 dB 2 4 021140 S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021141 STD S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021142 S BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -1024 11 dB 2 4 021143 KU BAND RAIN ATTENUATION dB 2 -1073741824 31 dB 2 10 021144 ALTIMETER RAIN FLAG FLAG TABLE 21144 0 0 2 FLAG TABLE 21144 0 1 021150 BEAM COLLOCATION CODE TABLE 21150 0 0 2 CODE TABLE 21150 0 1 021151 ESTIMATED ERROR IN SIGMA0 AT 40DEG INCIDENCE ANGLE dB 2 0 9 dB 2 3 021152 SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -80 7 dB/DEG 2 3 021153 ESTIMATED ERROR IN SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -40 6 dB/DEG 2 3 021154 SOIL MOISTURE SENSITIVITY dB 2 0 12 dB 2 4 021155 WIND VECTOR CELL QUALITY FLAG TABLE 21155 0 0 24 FLAG TABLE 21155 0 8 021156 BACKSCATTER DISTANCE NUMERIC 1 -4096 13 NUMERIC 1 4 021157 LOSS PER UNIT LENGTH OF ATMOSPHERE USED dB/M 10 0 22 dB/M 10 7 021158 ASCAT kp ESTIMATE QUALITY CODE TABLE 21158 0 0 2 CODE TABLE 21158 0 1 021159 ASCAT SIGMA-0 USABILITY CODE TABLE 21159 0 0 2 CODE TABLE 21159 0 1 021160 ASCAT USE OF SYNTHETIC DATA NUMERIC 3 0 10 NUMERIC 3 4 021161 ASCAT SYNTHETIC DATA QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021162 ASCAT SATELLITE ORBIT AND ATTITUDE QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021163 ASCAT SOLAR ARRAY REFLECTION CONTAMINATION NUMERIC 3 0 10 NUMERIC 3 4 021164 ASCAT TELEMETRY PRESENCE AND QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021165 ASCAT EXTRAPOLATED REFERENCE FUNCTION PRESENCE NUMERIC 3 0 10 NUMERIC 3 4 021166 ASCAT LAND FRACTION NUMERIC 3 0 10 NUMERIC 3 4 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022005 DIRECTION OF SEA SURFACE CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022011 PERIOD OF WAVES S 0 0 6 S 0 2 022012 PERIOD OF WIND WAVES S 0 0 6 S 0 2 022013 PERIOD OF SWELL WAVES S 0 0 6 S 0 2 022021 HEIGHT OF WAVES M 1 0 10 M 1 4 022022 HEIGHT OF WIND WAVES M 1 0 10 M 1 4 022023 HEIGHT OF SWELL WAVES M 1 0 10 M 1 4 022025 STANDARD DEVIATION WAVE HEIGHT M 2 0 10 M 2 4 022026 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT M 2 0 10 M 2 4 022031 SPEED OF CURRENT M/S 2 0 13 M/S 2 4 022032 SPEED OF SEA SURFACE CURRENT M/S 2 0 13 M/S 2 4 022035 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 2 0 14 M 2 4 022036 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 2 0 14 M 2 4 022037 TIDAL ELEVATION WITH RESPECT TO NATIONAL LAND DATUM M 3 -10000 15 M 3 5 022038 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 3 -10000 15 M 3 5 022039 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 12 M 3 4 022040 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 14 M 3 5 022041 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 1 0 12 K 1 4 022042 SEA/WATER TEMPERATURE K 1 0 12 K 1 4 022043 SEA/WATER TEMPERATURE K 2 0 15 K 2 5 022044 SOUND VELOCITY M/S 1 0 14 M/S 1 5 022045 SEA/WATER TEMPERATURE K 3 0 19 K 3 6 022049 SEA SURFACE TEMPERATURE K 2 0 15 K 2 5 022050 STANDARD DEVIATION SEA-SURFACE TEMPERATURE K 2 0 8 K 2 3 022055 FLOAT CYCLE NUMBER NUMERIC 0 0 10 NUMERIC 0 3 022056 DIRECTION OF PROFILE CODE TABLE 22056 0 0 2 CODE TABLE 22056 0 1 022059 SEA SURFACE SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022060 LAGRANGIAN DRIFTER DROGUE STATUS CODE TABLE 22060 0 0 3 CODE TABLE 22060 0 1 022061 STATE OF THE SEA CODE TABLE 22061 0 0 4 CODE TABLE 22061 0 2 022062 SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022063 TOTAL WATER DEPTH M 0 0 14 M 0 5 022064 SALINITY PART PER THOUSAND 3 0 17 PART PER THOUSAND 3 6 022065 WATER PRESSURE PA -3 0 17 PA -3 6 022066 WATER CONDUCTIVITY S M-1 6 0 26 S M-1 6 8 022067 INSTRUMENT TYPE FOR WATER TEMPERATURE PROFILE MEASUREMENT CODE TABLE 22067 0 0 10 CODE TABLE 22067 0 4 022068 WATER TEMPERATURE PROFILE RECORDER TYPES CODE TABLE 22068 0 0 7 CODE TABLE 22068 0 3 022069 SPECTRAL WAVE DENSITY M2HZ-1 3 0 22 M2HZ-1 3 7 022070 SIGNIFICANT WAVE HEIGHT M 2 0 13 M 2 4 022071 SPECTRAL PEAK WAVE PERIOD S 1 0 9 S 1 3 022072 SPECTRAL PEAK WAVE LENGTH M 0 0 13 M 0 4 022073 MAXIMUM WAVE HEIGHT M 2 0 13 M 2 4 022074 AVERAGE WAVE PERIOD S 1 0 9 S 1 3 022075 AVERAGE WAVE LENGTH M 0 0 13 M 0 4 022076 DIRECTION FROM WHICH DOMINANT WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022077 DIRECTIONAL SPREAD OF DOMINANT WAVE DEGREE 0 0 9 DEGREE 0 3 022078 DURATION OF WAVE RECORD S 0 0 12 S 0 4 022079 LENGTH OF WAVE RECORD M 0 0 16 M 0 5 022080 WAVEBAND CENTRAL FREQUENCY Hz 3 0 10 Hz 3 4 022081 WAVEBAND CENTRAL WAVE NUMBER 1/M 5 0 13 1/M 5 4 022082 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE DENSITY M**2S 2 0 20 M**2S 2 7 022083 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE NUMBER M**3 2 0 20 M**3 2 7 022084 BAND CONTAINING MAXIMUM NON- DIRECTIONAL SPECTRAL WAVE DENSITY NUMERIC 0 0 7 NUMERIC 0 3 022085 SPECTRAL WAVE DENSITY RATIO NUMERIC 0 0 7 NUMERIC 0 3 022086 MEAN DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022087 PRINCIPAL DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022088 FIRST NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022089 SECOND NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022090 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S 2 0 20 M**2S 2 7 022091 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**3 2 0 20 M**3 2 7 022092 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S/RAD 2 0 20 M**2S/RAD 2 7 022093 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**4 2 0 20 M**4 2 7 022094 TOTAL NUMBER OF WAVE BANDS NUMERIC 0 0 7 NUMERIC 0 3 022095 DIRECTIONAL SPREAD OF INDIVIDUAL WAVES DEGREE 0 0 8 DEGREE 0 3 022096 SPECTRAL BAND WIDTH 1/S 3 0 4 1/S 3 2 022097 MEAN WAVELENGTH > 731 M OF IMAGE SPECTRUM AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022098 WAVELENGTH SPREAD (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022099 MEAN DIRECTION AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022100 DIRECTION SPREAD AT LOW WAVE NUMBERS(WAVELENGTH > 731 M) DEGREE 0 0 9 DEGREE 0 3 022101 TOTAL ENERGY (WAVELENGTH > 731M) AT LOW WAVE NUMBERS NUMERIC 0 0 31 NUMERIC 0 10 022120 TIDE STATION AUTOMATED WATER LEVEL CHECK CODE TABLE 22120 0 0 5 CODE TABLE 22120 0 2 022121 TIDE STATION MANUAL WATER LEVEL CHECK CODE TABLE 22121 0 0 5 CODE TABLE 22121 0 2 022122 TIDE STATION AUTOMATED METEOROLOGICAL DATA CHECK CODE TABLE 22122 0 0 5 CODE TABLE 22122 0 2 022123 TIDE STATION MANUAL METEOROLOGICAL DATA CHECK CODE TABLE 22123 0 0 5 CODE TABLE 22123 0 2 022141 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 2 0 15 K 2 5 022150 NUMBER OF 18 HZ VALID POINTS FOR KU BAND NUMERIC 0 0 10 NUMERIC 0 4 022151 KU BAND OCEAN RANGE M 3 0 31 M 3 10 022152 STD OF 18 HZ KU BAND OCEAN RANGE M 3 0 16 M 3 5 022153 NUMBER OF 18 HZ VALID POINTS FOR S BAND NUMERIC 0 0 10 NUMERIC 0 4 022154 S BAND OCEAN RANGE M 3 0 31 M 3 10 022155 STD OF 18 HZ S BAND OCEAN RANGE M 3 0 16 M 3 5 022156 KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022157 STD 18HZ KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022158 S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022159 STD 18HZ S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022160 NORMALIZED INVERSE WAVE AGE NUMERIC 6 0 21 NUMERIC 6 7 022161 WAVE SPECTRA M**4 4 0 27 M**4 4 9 022182 WATER COLUMN HEIGHT M 3 0 23 M 3 7 022184 WATER COLUMN HEIGHT DEVIATION FROM THE REFERENCE VALUE M -2000 0 12 M 3 4 022185 BPR TRANSMISSION COUNT NUMERIC 0 0 10 NUMERIC 0 3 023001 ACCIDENT EARLY NOTIFICATION ARTICLE APPLICABLE CODE TABLE 23001 0 0 3 CODE TABLE 23001 0 1 023002 ACTIVITY OR FACILITY INVOLVED IN INCIDENT CODE TABLE 23002 0 0 5 CODE TABLE 23002 0 2 023003 TYPE OF RELEASE CODE TABLE 23003 0 0 3 CODE TABLE 23003 0 1 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 23004 0 0 3 CODE TABLE 23004 0 1 023005 CAUSE OF INCIDENT CODE TABLE 23005 0 0 2 CODE TABLE 23005 0 1 023006 INCIDENT SITUATION CODE TABLE 23006 0 0 3 CODE TABLE 23006 0 1 023007 CHARACTERISTICS OF RELEASE CODE TABLE 23007 0 0 3 CODE TABLE 23007 0 1 023008 STATE OF CURRENT RELEASE CODE TABLE 23008 0 0 2 CODE TABLE 23008 0 1 023009 STATE OF EXPECTED RELEASE CODE TABLE 23009 0 0 2 CODE TABLE 23009 0 1 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 23016 0 0 2 CODE TABLE 23016 0 1 023017 FLOW DISCHARGE OF MAJOR RECIPIENT M**3/S 6 0 20 M**3/S 6 7 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 23018 0 0 3 CODE TABLE 23018 0 1 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 M 0 6 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 M 0 6 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 M 0 8 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 M/S 1 4 023024 MAIN TRANSPORT SPEED IN WATER M/S 2 0 13 M/S 2 4 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 M/S 2 4 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 23031 0 0 2 CODE TABLE 23031 0 1 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 23032 0 0 2 CODE TABLE 23032 0 1 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 Bq -11 9 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 Bq -11 9 024003 COMPOSITION OF RELEASE CODE TABLE 24003 0 0 5 CODE TABLE 24003 0 2 024004 ELEMENT NAME CCITTIA5 0 0 16 CHARACTER 0 2 024005 ISOTOPE MASS NUMERIC 0 0 9 NUMERIC 0 3 024011 DOSE mSv 2 0 32 mSv 2 10 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME OF ARRIVAL) mSv 2 0 32 mSv 2 10 024013 GAMMA DOSE IN AIR ALONG THE MAIN TRANSPORT PATH (DEFINED LOCATIO mSv 2 0 32 mSv 2 10 024021 AIR CONCENTRATION (OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA) Bq/M**3 2 0 32 Bq/M**3 2 10 024022 CONCENTRATION IN PRECIPITATION (OF NAMES ISOTOPE TYPE) Bq/L 2 0 32 BQ L-1 2 10 024023 PULSE RATE OF BETA RADIATION 1/S 1 0 14 1/S 1 4 024024 PULSE RATE OF GAMMA RADIATION 1/S 1 0 14 1/S 1 4 025001 RANGE-GATE LENGTH M -1 0 6 M -1 2 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 NUMERIC 0 2 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 NUMERIC 0 3 025004 ECHO PROCESSING CODE TABLE 25004 0 0 2 CODE TABLE 25004 0 1 025005 ECHO INTEGRATION CODE TABLE 25005 0 0 2 CODE TABLE 25005 0 1 025006 Z TO R CONVERSION CODE TABLE 25006 0 0 3 CODE TABLE 25006 0 1 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 NUMERIC 0 4 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 NUMERIC 2 3 025009 CALIBRATION METHOD FLAG TABLE 25009 0 0 4 FLAG TABLE 25009 0 2 025010 CLUTTER TREATMENT CODE TABLE 25010 0 0 4 CODE TABLE 25010 0 2 025011 GROUND OCCULTATION CORRECTION (SCREENING) CODE TABLE 25011 0 0 2 CODE TABLE 25011 0 1 025012 RANGE ATTENUATION CORRECTION CODE TABLE 25012 0 0 2 CODE TABLE 25012 0 1 025013 BRIGHT-BAND CORRECTION FLAG TABLE 25013 0 0 2 FLAG TABLE 25013 0 1 025014 AZIMUTH CLUTTER CUT-OFF (SEE NOTE 1) NUMERIC 0 0 12 NUMERIC 0 4 025015 RADOME ATTENUATION CORRECTION FLAG TABLE 25015 0 0 2 FLAG TABLE 25015 0 1 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 dB/M 5 2 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 25017 0 0 2 FLAG TABLE 25017 0 1 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 NUMERIC 7 2 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 NUMERIC 2 3 025020 MEAN SPEED ESTIMATION CODE TABLE 25020 0 0 2 CODE TABLE 25020 0 1 025021 WIND COMPUTATION ENHANCEMENT FLAG TABLE 25021 0 0 8 FLAG TABLE 25021 0 3 025025 BATTERY VOLTAGE V 1 0 9 V 1 3 025026 BATTERY VOLTAGE (LARGE RANGE) V 1 0 12 V 1 4 025028 OPERATOR OR MANUFACTURER DEFINED PARAMETER NUMERIC 1 -16384 15 NUMERIC 1 5 025030 RUNNING MEAN SEA-SURFACE TEMPERATURE USAGE CODE TABLE 25030 0 0 2 CODE TABLE 25030 0 1 025032 WIND PROFILER MODE INFORMATION CODE TABLE 25032 0 0 2 CODE TABLE 25032 0 1 025033 WIND PROFILER SUBMODE INFORMATION* CODE TABLE 25033 0 0 2 CODE TABLE 25033 0 1 025034 WIND PROFILER QUALITY CONTROL TEST RESULTS* FLAG TABLE 25034 0 0 4 FLAG TABLE 25034 0 2 025036 ATMOSPHERICS LOCATION METHOD CODE TABLE 25036 0 0 4 CODE TABLE 25036 0 2 025040 CO2 WIND PRODUCT DERIVATION CODE TABLE 25040 0 0 4 CODE TABLE 25040 0 2 025041 MOVING PLATFORM DIRECTION REPORTING METHOD CODE TABLE 25041 0 0 2 CODE TABLE 25041 0 1 025042 MOVING PLATFORM SPEED REPORTING METHOD CODE TABLE 25042 0 0 2 CODE TABLE 25042 0 1 025043 WAVE SAMPLING INTERVAL (TIME) S 4 0 15 S 4 5 025044 WAVE SAMPLING INTERVAL (SPACE) M 2 0 14 M 2 5 025045 HIRS CHANNEL COMBINATION FLAG TABLE 25045 0 0 21 FLAG TABLE 25045 0 7 025046 MSU CHANNEL COMBINATION FLAG TABLE 25046 0 0 5 FLAG TABLE 25046 0 2 025047 SSU CHANNEL COMBINATION FLAG TABLE 25047 0 0 4 FLAG TABLE 25047 0 2 025048 AMSU-A CHANNEL COMBINATION FLAG TABLE 25048 0 0 16 FLAG TABLE 25048 0 6 025049 AMSU-B CHANNEL COMBINATION FLAG TABLE 25049 0 0 6 FLAG TABLE 25049 0 2 025051 AVHRR CHANNEL COMBINATION FLAG TABLE 25051 0 0 7 FLAG TABLE 25051 0 3 025052 LOG-10 OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA NUMERIC 4 0 15 NUMERIC 4 5 025053 OBSERVATION QUALITY FLAG TABLE 25053 0 0 12 FLAG TABLE 25053 0 4 025054 SSMIS SUBFRAME ID NEMBER NUMERIC 0 0 5 NUMERIC 0 2 025055 MULTIPLEXER HOUSEKEEPING K 2 0 16 K 2 5 025060 SOFTWARE IDENTIFICATION (SEE NOTE 2) NUMERIC 0 0 14 NUMERIC 0 5 025061 SOFTWARE IDENTIFICATION AND VERSION NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 025062 DATABASE IDENTIFICATION NUMERIC 0 0 14 NUMERIC 0 5 025065 ORIENTATION CORRECTION (AZIMUTH) DEGREE 2 -1000 11 DEGREE 2 4 025066 ORIENTATION CORRECTION (ELEVATION) DEGREE 2 -1000 11 DEGREE 2 4 025067 RADIOSONDE RELEASE POINT PRESSURE CORRECTION PA 0 -8000 14 PA 0 4 025068 NUMBER OF ARCHIVE RECOMPUTES NUMERIC 0 0 7 NUMERIC 0 3 025069 FLIGHT LEVEL PRESSURE CORRECTIONS FLAG TABLE 25069 0 0 8 FLAG TABLE 25069 0 3 025070 MAJOR FRAME COUNT NUMERIC 0 0 4 NUMERIC 0 2 025071 FRAME COUNT NUMERIC 0 0 5 NUMERIC 0 2 025075 SATELLITE ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 NUMERIC 0 2 025076 LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER) FOR ATOVS LOG (1/M) 8 0 30 LOG (1/M) 8 10 025077 BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS NUMERIC 5 -100000 18 NUMERIC 5 7 025078 BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS NUMERIC 5 0 17 NUMERIC 5 6 025079 ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS W/M**2 4 0 24 W/M**2 4 8 025080 ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS M 10 0 14 M 10 5 025085 FRACTION OF CLEAR PIXELS IN HIRS FOV NUMERIC 0 0 7 NUMERIC 0 3 025086 DEPTH CORRECTION INDICATOR CODE TABLE 25086 0 0 2 CODE TABLE 25086 0 1 025091 STRUCTURE CONSTANT OF THE REFRACTION INDEX (CN2) dB 3 -18192 13 dB 3 5 025092 ACOUSTIC PROPAGATION VELOCITY M/S 2 28000 14 M/S 2 5 025093 RASS COMPUTATION CORRECTION FLAG TABLE 25093 0 0 8 FLAG TABLE 25093 0 3 025095 ALTIMETER STATE FLAG FLAG TABLE 25095 0 0 2 FLAG TABLE 25095 0 1 025096 RADIOMETER STATE FLAG FLAG TABLE 25096 0 0 5 FLAG TABLE 25096 0 2 025097 THREE DIMENSIONAL ERROR ESTIMATE OF THE NAVIGATOR ORBIT CODE TABLE 25097 0 0 4 CODE TABLE 25097 0 2 025100 XBT/XCTD FALL RATE EQUATION COEFFICIENT A NUMERIC 5 0 20 NUMERIC 5 6 025101 XBT/XCTD FALL RATE EQUATION COEFFICIENT B NUMERIC 5 -500000 21 NUMERIC 5 6 025102 NUMBER OF MISSING LINES EXCLUDING DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025103 NUMBER OF DIRECTIONAL BINS NUMERIC 0 0 8 NUMERIC 0 3 025104 NUMBER OF WAVE-LENGTH BINS NUMERIC 0 0 8 NUMERIC 0 3 025107 FIRST WAVE-LENGTH BIN M 3 0 29 M 3 9 025108 LAST WAVE-LENGTH BIN M 3 0 29 M 3 9 025111 NUMBER OF INPUT DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025120 RA2-L2-PROCESSING FLAG CODE TABLE 25120 0 0 2 CODE TABLE 25120 0 1 025121 RA2-L2-PROCESSING QUALITY % 0 0 7 % 0 3 025122 HARDWARE CONFIGURATION FOR RF CODE TABLE 25122 0 0 2 CODE TABLE 25122 0 1 025123 HARDWARE CONFIGURATION FOR HPA CODE TABLE 25123 0 0 2 CODE TABLE 25123 0 1 025124 MWR L2 PROCESSING FLAG CODE TABLE 25124 0 0 2 CODE TABLE 25124 0 1 025125 MWR L2-PROCESSING QUALITY % 0 0 7 % 0 3 025126 MODEL DRY TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025127 INVERTED BAROMETER CORRECTION M 3 -32768 16 M 3 5 025128 MODEL WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025129 MWR DERIVED WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025130 RA2 IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025131 IONOSPHERIC CORRECTION FROM DORIS ON KU BAND M 3 -32768 16 M 3 5 025132 IONOSPHERIC CORRECTION FROM MODEL ON KU BAND M 3 -32768 16 M 3 5 025133 SEA STATE BIAS CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025134 RA2 IONOSPHERIC CORRECTION ON S BAND M 3 -32768 16 M 3 5 025135 IONOSPHERIC CORRECTION FROM DORIS ON S BAND M 3 -32768 16 M 3 5 025136 IONOSPHERIC CORRECTION FROM MODEL ON S BAND M 3 -32768 16 M 3 5 025137 SEA STATE BIAS CORRECTION ON S BAND M 3 -32768 16 M 3 5 025138 AVERAGE SIGNAL TO NOISE RATION NUMERIC 0 -2048 12 NUMERIC 0 4 025140 START CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025141 END CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025142 CHANNEL SCALE FACTOR NUMERIC 0 0 6 NUMERIC 0 2 025150 SATELLITE INTENSITY ANALYSIS METHOD OF TROPICAL CYCLONE CODE TABLE 25150 0 0 4 CODE TABLE 25150 2 2 025170 SAMPLING INTERVAL (TIME) SECOND 0 0 10 SECOND 0 4 025171 SAMPLE AVERAGING PERIOD SECOND 0 0 10 SECOND 0 4 025172 NUMBER OF SAMPLES SECOND 0 0 10 SECOND 0 4 026001 PRINCIPAL TIME OF DAILY READING IN UTC OF MAXIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026002 PRINCIPAL TIME OF DAILY READING IN UTC OF MINIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026003 TIME DIFFERENCE MINUTE 0 -1440 12 MINUTE 0 4 026010 HOURS INCLUDED FLAG TABLE 26010 0 0 26 FLAG TABLE 26010 0 9 026020 DURATION OF PRECIPITATION MINUTE 0 0 11 MINUTE 0 4 027001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027003 ALTERNATE LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027004 ALTERNATE LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 NUMERIC 0 5 027021 SATELLITE SUBLOCATION DIMENSION NUMERIC 0 0 16 NUMERIC 0 5 027031 IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THE EARTH'S C M 2 -1073741824 31 M 2 10 027080 VIEWING AZIMUTH ANGLE DEGREE TRUE 2 0 16 DEGREE TRUE 0 5 028001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028003 ALTERNATE LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028004 ALTERNATE LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028031 IN DIRECTION 90 DEGREES EAST, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 029001 PROJECTION TYPE CODE TABLE 29001 0 0 3 CODE TABLE 29001 0 1 029002 CO-ORDINATE GRID TYPE CODE TABLE 29002 0 0 3 CODE TABLE 29002 0 1 030001 PIXEL VALUE (4 BITS) NUMERIC 0 0 4 NUMERIC 0 2 030002 PIXEL VALUE (8 BITS) NUMERIC 0 0 8 NUMERIC 0 3 030004 PIXEL VALUE (16 BITS) NUMERIC 0 0 16 NUMERIC 0 5 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 NUMERIC 0 4 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 NUMERIC 0 4 030031 PICTURE TYPE CODE TABLE 30031 0 0 4 CODE TABLE 30031 0 2 030032 COMBINATION WITH OTHER DATA FLAG TABLE 30032 0 0 16 FLAG TABLE 30032 0 6 031000 SHORT DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 1 NUMERIC 0 1 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 31021 0 0 6 CODE TABLE 31021 0 2 031031 DATA PRESENT INDICATOR FLAG TABLE 31031 0 0 1 FLAG TABLE 31031 0 1 033002 QUALITY INFORMATION CODE TABLE 33002 0 0 2 CODE TABLE 33002 0 1 033003 QUALITY INFORMATION CODE TABLE 33003 0 0 3 CODE TABLE 33003 0 1 033005 QUALITY INFORMATION (AWS DATA) FLAG TABLE 33005 0 0 30 FLAG TABLE 33005 0 10 033006 INTERNAL MEASUREMENT STATUS INFORMATION (AWS) CODE TABLE 33006 0 0 3 CODE TABLE 33006 0 1 033007 PER CENT CONFIDENCE % 0 0 7 % 0 3 033015 DATA QUALITY CHECK INDICATOR CODE TABLE 33015 0 0 6 CODE TABLE 33015 0 2 033020 QUALITY CONTROL INDICATION OF FOLLOWING VALUE CODE TABLE 33020 0 0 3 CODE TABLE 33020 0 1 033021 QUALITY OF FOLLOWING VALUE CODE TABLE 33021 0 0 2 CODE TABLE 33021 0 1 033022 QUALITY OF BUOY SATELLITE TRANSMISSION CODE TABLE 33022 0 0 2 CODE TABLE 33022 0 1 033023 QUALITY OF BUOY LOCATION CODE TABLE 33023 0 0 2 CODE TABLE 33023 0 1 033024 STATION ELEVATION QUALITY MARK (FOR MOBILE STATIONS) CODE TABLE 33024 0 0 4 CODE TABLE 33024 0 2 033025 ACARS INTERPOLATED VALUES CODE TABLE 33025 0 0 3 CODE TABLE 33025 0 1 033026 MOISTURE QUALITY CODE TABLE 33026 0 0 6 CODE TABLE 33026 0 2 033027 LOCATION QUALITY CLASS (RANGE OF RADIUS OF 66 % CONFIDENCE) CODE TABLE 33027 0 0 3 CODE TABLE 33027 0 1 033030 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 33030 0 0 24 FLAG TABLE 33030 0 8 033031 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 33031 0 0 24 FLAG TABLE 33031 0 8 033032 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 33032 0 0 24 FLAG TABLE 33032 0 8 033033 FIELD OF VIEW QUALITY FLAGS FOR ATOVS FLAG TABLE 33033 0 0 24 FLAG TABLE 33033 0 8 033035 MANUAL/AUTOMATIC QUALITY CONTROL CODE TABLE 33035 0 0 4 CODE TABLE 33035 0 2 033036 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 % 0 3 033037 WIND CORRELATION ERROR FLAG TABLE 33037 0 0 20 FLAG TABLE 33037 0 7 033038 QUALITY FLAGS FOR GROUND-BASED GNSS DATA FLAG TABLE 33038 0 0 10 FLAG TABLE 33038 0 4 033039 QUALITY FLAGS FOR RADIO OCCULTATION DATA FLAG TABLE 33039 0 0 16 FLAG TABLE 33039 0 6 033040 CONFIDENCE INTERVAL % 0 0 7 PERCENT 0 3 033041 ATTRIBUTE OF FOLLOWING VALUE CODE TABLE 33041 0 0 2 CODE TABLE 33041 0 1 033042 TYPE OF LIMIT REPRESENTED BY FOLLOWING VALUE CODE TABLE 33042 0 0 3 CODE TABLE 33042 0 1 033043 AST CONFIDENCE FLAG TABLE 33043 0 0 8 FLAG TABLE 33043 0 3 033044 ASAR QUALITY INFORMATION FLAG TABLE 33044 0 0 15 FLAG TABLE 33044 0 5 033045 PROBABILITY OF FOLLOWING EVENT % 0 0 7 % 0 3 033046 CONDITIONAL PROBABILITY OF FOLLOWING EVENT WITH RESPECT TO SPECI % 0 0 7 % 0 3 033047 MEASUREMENT CONFIDENCE DATA FLAG TABLE 33047 0 0 31 FLAG TABLE 33047 0 11 033048 CONFIDENCE MEASURE OF SAR INVERSION CODE TABLE 33048 0 0 2 CODE TABLE 33048 0 1 033049 CONFIDENCE MEASURE OF WIND RETRIEVAL CODE TABLE 33049 0 0 2 CODE TABLE 33049 0 1 033050 GLOBAL GTSPP QUALITY FLAG CODE TABLE 33050 0 0 4 CODE TABLE 33050 0 2 033052 S BAND OCEAN RETRACKING QUALITY FLAG TABLE 33052 0 0 21 FLAG TABLE 33052 0 7 033053 KU BAND OCEAN RETRACKING QUALITY FLAG TABLE 33053 0 0 21 FLAG TABLE 33053 0 7 033060 GQISFLAGQUAL-INDIVIDUAL IASI-SYSTEM QUALITY FLAG CODE TABLE 33060 0 0 2 CODE TABLE 33060 0 1 033061 GQISQUALINDEX - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033062 GQISQUALINDEXLOC - INDICATOR FOR GEOMETRIC QUALITY INDEX % 0 0 7 % 0 3 033063 GQISQUALINDEXRAD - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033064 GQISQUALINDEXSPECT - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033065 GQISSYSTECSONDQUAL - OUTPUT OF SYSTEM TEC QUALITY FUNCTION NUMERIC 0 0 24 NUMERIC 0 24 033066 SBUV TOTAL OZONE QUALITY CODE TABLE 33066 0 0 4 CODE TABLE 33066 0 2 033067 SBUV PROFILE OZONE QUALITY CODE TABLE 33067 0 0 4 CODE TABLE 33067 0 2 035000 FM AND REGIONAL CODE NUMBER CODE TABLE 35000 0 0 10 CODE TABLE 35000 0 3 035001 TIME-FRAME FOR MONITORING CODE TABLE 35001 0 0 3 CODE TABLE 35001 0 1 035011 NUMBER OF REPORTS ACTUALLY RECEIVED NUMERIC 0 0 14 NUMERIC 0 4 035021 BULLETIN BEING MONITORED (TTAAII) CCITTIA5 0 0 48 CHARACTER 0 6 035022 BULLETIN BEING MONITORED (YYGGGG) CCITTIA5 0 0 48 CHARACTER 0 6 035023 BULLETIN BEING MONITORED (CCCC) CCITTIA5 0 0 32 CHARACTER 0 4 035024 BULLETIN BEING MONITORED (BBB) CCITTIA5 0 0 24 CHARACTER 0 3 035030 DISCREPANCIES IN THE AVAILABILITY OF EXPECTED DATA CODE TABLE 35030 0 0 4 CODE TABLE 35030 0 1 035031 QUALIFIER ON MONITORING RESULTS CODE TABLE 35031 0 0 7 CODE TABLE 35031 0 2 035032 CAUSE OF MISSING DATA CODE TABLE 35032 0 0 4 CODE TABLE 35032 0 1 035033 OBSERVATION AND COLLECTION DEFICIENCIES CODE TABLE 35033 0 0 7 CODE TABLE 35033 0 2 035034 STATISTICAL TRENDS FOR AVAILABILITY OF DATA (DURING THE SURVEY P CODE TABLE 35034 0 0 3 CODE TABLE 35034 0 1 035035 REASON FOR TERMINATION CODE TABLE 35035 0 0 5 CODE TABLE 35035 0 2 040001 SURFACE SOIL MOISTURE (MS) % 1 0 10 % 1 4 040002 ESTIMATED ERROR IN SURFACE SOIL MOISTURE % 1 0 10 % 1 4 040003 MEAN SURFACE SOIL MOISTURE NUMERIC 3 0 10 NUMERIC 3 4 040004 RAIN FALL DETECTION NUMERIC 3 0 10 NUMERIC 3 4 040005 SOIL MOISTURE CORRECTION FLAG FLAG TABLE 40005 0 0 8 FLAG FLAG TABLE 40005 0 3 040006 SOIL MOISTURE PROCESSING FLAG FLAG TABLE 40006 0 0 16 FLAG FLAG TABLE 40006 0 5 040007 SOIL MOISTURE QUALITY % 1 0 10 % 1 4 040008 FROZEN LAND SURFACE FRACTION % 1 0 10 % 1 4 040009 INUNDATION AND WETLAND FRACTION % 1 0 10 % 1 4 040010 TOPOGRAPHIC COMPLEXITY % 1 0 10 % 1 4 emoslib-000392+dfsg.1/crextables/B0001010000755000175000017500000056104312127406245020374 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 CHARACTER 0 3 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000004 BUFR/CREX MASTER TABLE CCITTIA5 0 0 16 CHARACTER 0 2 000005 BUFR/CREX EDITION NUMBER CCITTIA5 0 0 24 CHARACTER 0 3 000006 BUFR MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000007 CREX MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000008 BUFR LOCAL TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 CHARACTER 0 1 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 CHARACTER 0 2 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 CHARACTER 0 3 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000015 UNITS NAME CCITTIA5 0 0 192 CHARACTER 0 24 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000017 UNITS SCALE CCITTIA5 0 0 24 CHARACTER 0 3 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 CHARACTER 0 10 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 CHARACTER 0 3 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 48 CHARACTER 0 6 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 NUMERIC 0 2 001002 WMO STATION NUMBER NUMERIC 0 0 10 NUMERIC 0 3 001003 WMO REGION NUMBER/GEOGRAPHICAL AREA CODE TABLE 1003 0 0 3 CODE TABLE 1003 0 1 001004 WMO REGION SUB-AREA (SEE NOTE 9) NUMERIC 0 0 3 NUMERIC 0 1 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 NUMERIC 0 5 001006 AIRCRAFT FLIGHT NUMBER CCITTIA5 0 0 64 CHARACTER 0 8 001007 SATELLITE IDENTIFIER CODE TABLE 1007 0 0 10 CODE TABLE 1007 0 4 001008 AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION CCITTIA5 0 0 64 CHARACTER 0 8 001009 TYPE OF COMMERCIAL AIRCRAFT CCITTIA5 0 0 64 CHARACTER 0 8 001010 STATIONARY BUOY PLATFORM IDENTIFIER; E.G. C-MAN BUOYS CCITTIA5 0 0 64 CHARACTER 0 8 001011 SHIP OR MOBILE LAND STATION IDENTIFIER CCITTIA5 0 0 72 CHARACTER 0 9 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM* M/S 0 0 10 M/S 0 3 001014 PLATFORM DRIFT SPEED (HIGH PRECISION) M/S 2 0 10 M/S 2 4 001015 STATION OR SITE NAME CCITTIA5 0 0 160 CHARACTER 0 20 001018 SHORT STATION OR SITE NAME CCITTIA5 0 0 40 CHARACTER 0 5 001019 LONG STATION OR SITE NAME CCITTIA5 0 0 256 CHARACTER 0 32 001020 WMO REGION SUB-AREA NUMERIC 0 0 4 NUMERIC 0 2 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 NUMERIC 0 4 001022 NAME OF FEATURE (SEE NOTE 11) CCITTIA5 0 0 224 CHARACTER 0 28 001023 OBSERVATION SEQUENCE NUMBER NUMERIC 0 0 9 NUMERIC 0 3 001025 STORM IDENTIFIER CCITTIA5 0 0 24 CHARACTER 0 3 001026 WMO STORM NAME CCITTIA5 0 0 64 CHARACTER 0 8 001027 WMO LONG STORM NAME CCITTIA5 0 0 80 CHARACTER 0 10 001031 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE (SEE NOTE 10) CODE TABLE 1031 0 0 16 CODE TABLE 1031 0 5 001032 GENERATING APPLICATION CODE TABLE 1032 0 0 8 CODE TABLE 1032 0 3 001033 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 1033 0 0 8 CODE TABLE 1033 0 3 001034 IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE CODE TABLE 1034 0 0 8 CODE TABLE 1034 0 3 001035 ORIGINATING CENTRE COMMON CODE TABLE C-11 0 0 16 COMMON CODE TABLE C-11 0 5 001036 AGENCY IN CHARGE OF OPERATING THE OBSERVING PLATFORM CODE TABLE 1036 0 0 20 CODE TABLE 1036 0 7 001041 ABSOLUTE PLATFORM VELOCITY - FIRST COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001042 ABSOLUTE PLATFORM VELOCITY - SECOND COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001043 ABSOLUTE PLATFORM VELOCITY - THIRD COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001050 PLATFORM TRANSMITTER ID NUMBER NUMERIC 0 0 17 NUMERIC 0 6 001051 PLATFORM TRANSMITTER ID NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001060 AIRCRAFT REPORTING POINT (BEACON IDENTIFIER) CCITTIA5 0 0 64 CHARACTER 0 8 001062 SHORT ICAO LOCATION INDICATOR CCITTIA5 0 0 32 CHARACTER 0 4 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 CHARACTER 0 8 001064 RUNWAY DESIGNATOR CCITTIA5 0 0 32 CHARACTER 0 4 001075 TIDE STATION IDENTIFICATION CCITTIA5 0 0 40 CHARACTER 0 5 001080 SHIP LINE NUMBER ACCORDING TO SOOP CCITTIA5 0 0 32 CHARACTER 0 4 001081 RADIOSONDE SERIAL NUMBER CCITTIA5 0 0 160 CHARACTER 0 20 001082 RADIOSONDE ASCENSION NUMBER (SEE NOTE 12) NUMERIC 0 0 14 NUMERIC 0 4 001083 RADIOSONDE RELEASE NUMBER (SEE NOTE 12) NUMERIC 0 0 3 NUMERIC 0 1 001085 OBSERVING PLATFORM MANUFACTURER'S MODEL CCITTIA5 0 0 160 CHARACTER 0 20 001086 OBSERVING PLATFORM MANUFACTURER'S SERIAL NUMBER CCITTIA5 0 0 256 CHARACTER 0 32 001087 WMO MARINE OBSERVING PLATFORM EXTENDED IDENTIFIER NUMERIC 0 0 23 NUMERIC 0 7 001090 TECHNIQUE FOR MAKING UP INITIAL PERTURBATIONS CODE TABLE 1090 0 0 8 CODE TABLE 1090 0 3 001091 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 10 NUMERIC 0 4 001092 TYPE OF ENSEMBLE FORECAST CODE TABLE 1092 0 0 8 CODE TABLE 1092 0 3 001093 BALLOON LOT NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001094 WBAN NUMBER NUMERIC 0 0 17 NUMERIC 0 5 001095 OBSERVER IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 001096 STATION ACQUISITION CCITTIA5 0 0 160 CHARACTER 0 20 002001 TYPE OF STATION CODE TABLE 2001 0 0 2 CODE TABLE 2001 0 1 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 2002 0 0 4 FLAG TABLE 2002 0 2 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 2003 0 0 4 CODE TABLE 2003 0 2 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUREMENT OR TYPE OF C CODE TABLE 2004 0 0 4 CODE TABLE 2004 0 2 002005 PRECISION OF TEMPERATURE OBSERVATION K 2 0 7 K 2 3 002011 RADIOSONDE TYPE CODE TABLE 2011 0 0 8 CODE TABLE 2011 0 3 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 2012 0 0 4 CODE TABLE 2012 0 2 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 2013 0 0 4 CODE TABLE 2013 0 2 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM USED CODE TABLE 2014 0 0 7 CODE TABLE 2014 0 3 002015 RADIOSONDE COMPLETENESS CODE TABLE 2015 0 0 4 CODE TABLE 2015 0 2 002016 RADIOSONDE CONFIGURATION FLAG TABLE 2016 0 0 5 FLAG TABLE 2016 0 2 002019 SATELLITE INSTRUMENTS CODE TABLE 2019 0 0 11 CODE TABLE 2019 0 4 002020 SATELLITE CLASSIFICATION CODE TABLE 2020 0 0 9 CODE TABLE 2020 0 3 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2021 0 0 9 FLAG TABLE 2021 0 3 002022 SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2022 0 0 8 FLAG TABLE 2022 0 3 002023 SATELLITE DERIVED WIND COMPUTATION METHOD CODE TABLE 2023 0 0 4 CODE TABLE 2023 0 2 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2024 0 0 4 CODE TABLE 2024 0 2 002025 SATELLITE CHANNEL(S) USED IN COMPUTATION FLAG TABLE 2025 0 0 25 FLAG TABLE 2025 0 9 002026 CROSS TRACK RESOLUTION M 2 0 12 M 2 4 002027 ALONG TRACK RESOLUTION M 2 0 12 M 2 4 002028 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 M 0 6 002029 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 M 0 6 002030 METHOD OF CURRENT MEASUREMENT CODE TABLE 2030 0 0 3 CODE TABLE 2030 0 1 002031 DURATION AND TIME OF CURRENT MEASUREMENT CODE TABLE 2031 0 0 5 CODE TABLE 2031 0 2 002032 INDICATOR FOR DIGITIZATION CODE TABLE 2032 0 0 2 CODE TABLE 2032 0 1 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 2033 0 0 3 CODE TABLE 2033 0 1 002034 DROGUE TYPE CODE TABLE 2034 0 0 5 CODE TABLE 2034 0 2 002035 CABLE LENGTH M 0 0 9 M 0 3 002036 BUOY TYPE CODE TABLE 2036 0 0 2 CODE TABLE 2036 0 1 002037 METHOD OF TIDAL OBSERVATION CODE TABLE 2037 0 0 3 CODE TABLE 2037 0 1 002038 METHOD OF WATER TEMPERATURE AND/OR SALINITY MEASUREMENT CODE TABLE 2038 0 0 4 CODE TABLE 2038 0 2 002039 METHOD OF WET-BULB TEMPERATURE MEASUREMENT CODE TABLE 2039 0 0 3 CODE TABLE 2039 0 1 002040 METHOD OF REMOVING VELOCITY AND MOTION OF PLATFORM FROM CURRENT CODE TABLE 2040 0 0 4 CODE TABLE 2040 0 2 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 2041 0 0 6 CODE TABLE 2041 0 2 002042 INDICATOR FOR SEA SURFACE CURRENT SPEED CODE TABLE 2042 0 0 2 CODE TABLE 2042 0 1 002044 INDICATOR FOR METHOD OF CALCULATING SPECTRAL WAVE DATA CODE TABLE 2044 0 0 4 CODE TABLE 2044 0 2 002045 INDICATOR FOR TYPE OF PLATFORM CODE TABLE 2045 0 0 4 CODE TABLE 2045 0 2 002046 WAVE MEASUREMENT INSTRUMENTATION CODE TABLE 2046 0 0 4 CODE TABLE 2046 0 2 002048 SATELLITE SENSOR INDICATOR CODE TABLE 2048 0 0 4 CODE TABLE 2048 0 2 002049 GEOSTATIONARY SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2049 0 0 8 FLAG TABLE 2049 0 3 002050 GEOSTATIONARY SOUNDER SATELLITE CHANNELS USED FLAG TABLE 2050 0 0 20 FLAG TABLE 2050 0 7 002051 INDICATOR TO SPECIFY OBSERVING METHOD FOR EXTREME TEMPERATURES CODE TABLE 2051 0 0 4 CODE TABLE 2051 0 2 002052 GEOSTATIONARY IMAGER SATELLITE CHANNELS USED FLAG TABLE 2052 0 0 6 FLAG TABLE 2052 0 2 002053 GOES-I/M BRIGHTNESS TEMPERATURE CHARACTERISTICS CODE TABLE 2053 0 0 4 CODE TABLE 2053 0 2 002054 GOES-I/M SOUNDINGS PARAMETER CHARACTERISTICS CODE TABLE 2054 0 0 4 CODE TABLE 2054 0 2 002055 GEOSTATIONARY SOUNDINGS STATISTICAL PARAMETERS CODE TABLE 2055 0 0 4 CODE TABLE 2055 0 2 002056 GEOSTATIONARY SOUNDINGS ACCURACY STATISTICS CODE TABLE 2056 0 0 4 CODE TABLE 2056 0 2 002057 ORIGIN OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2057 0 0 4 CODE TABLE 2057 0 2 002058 VALID TIMES OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2058 0 0 4 CODE TABLE 2058 0 2 002059 ORIGIN OF ANALYSIS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2059 0 0 4 CODE TABLE 2059 0 2 002060 ORIGIN OF SURFACE INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2060 0 0 4 CODE TABLE 2060 0 2 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 2061 0 0 3 CODE TABLE 2061 0 1 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 2062 0 0 4 CODE TABLE 2062 0 2 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 DEGREE 2 5 002064 AIRCRAFT ROLL ANGLE QUALITY CODE TABLE 2064 0 0 2 CODE TABLE 2064 0 1 002065 ACARS GROUND RECEIVING STATION CCITTIA5 0 0 40 CHARACTER 0 5 002066 RADIOSONDE GROUND RECEIVING SYSTEM CODE TABLE 2066 0 0 6 CODE TABLE 2066 0 2 002067 RADIOSONDE OPERATING FREQUENCY Hz -5 0 15 Hz -5 5 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 2070 0 0 4 CODE TABLE 2070 0 2 002080 BALLOON MANUFACTURER CODE TABLE 2080 0 0 6 CODE TABLE 2080 0 2 002081 TYPE OF BALLOON CODE TABLE 2081 0 0 5 CODE TABLE 2081 0 2 002082 WEIGHT OF BALLOON KG 3 0 12 KG 3 4 002083 TYPE OF BALLOON SHELTER CODE TABLE 2083 0 0 4 CODE TABLE 2083 0 2 002084 TYPE OF GAS USED IN BALLOON CODE TABLE 2084 0 0 4 CODE TABLE 2084 0 2 002085 AMOUNT OF GAS USED IN BALLOON KG 3 0 13 KG 3 4 002086 BALLOON FLIGHT TRAIN LENGTH M 1 0 10 M 1 4 002091 ENTRY SENSOR 4/20 MA A 4 0 10 A 4 3 002095 TYPE OF PRESSURE SENSOR CODE TABLE 2095 0 0 5 CODE TABLE 2095 0 2 002096 TYPE OF TEMPERATURE SENSOR CODE TABLE 2096 0 0 5 CODE TABLE 2096 0 2 002097 TYPE OF HUMIDITY SENSOR CODE TABLE 2097 0 0 5 CODE TABLE 2097 0 2 002100 RADAR CONSTANT dB 1 0 12 dB 1 4 002101 TYPE OF ANTENNA CODE TABLE 2101 0 0 4 CODE TABLE 2101 0 2 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 M 0 3 002103 RADOME FLAG TABLE 2103 0 0 2 FLAG TABLE 2103 0 1 002104 ANTENNA POLARISATION CODE TABLE 2104 0 0 4 CODE TABLE 2104 0 2 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 dB 0 2 002106 3-DB BEAMWIDTH DEGREE 1 0 6 DEGREE 1 2 002107 SIDELOBE SUPPRESSION dB 0 0 6 dB 0 2 002108 CROSSPOL DISCRIMINATION (ON AXIS) dB 0 0 6 dB 0 2 002109 ANTENNA SPEED (AZIMUTH) DEGREE/S 2 0 12 DEGREE/S 2 4 002110 ANTENNA SPEED (ELEVATION) DEGREE/S 2 0 12 DEGREE/S 2 4 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 DEGREE 1 4 002112 RADAR LOOK ANGLE DEGREE 1 0 12 DEGREE 1 4 002113 NUMBER OF AZIMUTH LOOKS NUMERIC 0 0 4 NUMERIC 0 2 002114 ANTENNA EFFECTIVE SURFACE AREA M**2 0 0 15 M**2 0 5 002115 TYPE OF SURFACE OBSERVING EQUIPMENT CODE TABLE 2115 0 0 5 CODE TABLE 2115 0 2 002116 PERCENTAGE OF 320 MHZ BAND PROCESSED % 0 0 7 % 0 3 002117 PERCENTAGE OF 80 MHZ BAND PROCESSED % 0 0 7 % 0 3 002118 PERCENTAGE OF 20 MHZ BAND PROCESSED % 0 0 7 % 0 3 002119 RA-2 INSTRUMENT OPERATIONS CODE TABLE 2119 0 0 3 CODE TABLE 2119 0 1 002120 OCEAN WAVE FREQUENCY Hz 3 0 10 Hz 3 4 002121 MEAN FREQUENCY Hz -8 0 7 Hz -8 3 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 Hz -6 3 002123 PEAK POWER W -4 0 7 W -4 3 002124 AVERAGE POWER W -1 0 7 W -1 3 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 Hz -1 3 002126 PULSE WIDTH S 7 0 6 S 7 2 002127 RECEIVER INTERMEDIATE FREQUENCY Hz -6 0 7 Hz -6 3 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 Hz -5 2 002129 MINIMUM DETECTABLE SIGNAL dB 0 -150 5 dB 0 3 002130 DYNAMIC RANGE dB 0 0 7 dB 0 3 002131 SENSITIVITY TIME CONTROL (STC) FLAG TABLE 2131 0 0 2 FLAG TABLE 2131 0 1 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 DEGREE 2 5 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 002136 RANGE PROCESSED BY RANGE ATTENUATION CORRECTION M -3 0 16 M -3 5 002140 SATELLITE RADAR BEAM AZIMUTH ANGLE DEGREE 0 0 9 DEGREE 0 3 002141 MEASUREMENT TYPE CCITTIA5 0 0 24 CHARACTER 0 3 002142 OZONE INSTRUMENT SERIAL NUMBER/ IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 002143 OZONE INSTRUMENT TYPE CODE TABLE 2143 0 0 7 CODE TABLE 2143 0 3 002144 LIGHT SOURCE TYPE FOR BREWER SPECTRO PHOTOMETER CODE TABLE 2144 0 0 4 CODE TABLE 2144 0 2 002145 WAVE LENGTH SETTING FOR DOBSON INSTRUMENTS CODE TABLE 2145 0 0 4 CODE TABLE 2145 0 2 002146 SOURCE CONDITIONS FOR DOBSON INSTRUMENTS CODE TABLE 2146 0 0 4 CODE TABLE 2146 0 2 002148 DATA COLLECTION AND/OR LOCATION SYSTEM CODE TABLE 2148 0 0 5 CODE TABLE 2148 0 2 002149 TYPE OF DATA BUOY CODE TABLE 2149 0 0 6 CODE TABLE 2149 0 2 002150 TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER CODE TABLE 2150 0 0 6 CODE TABLE 2150 0 2 002151 RADIOMETER IDENTIFIER CODE TABLE 2151 0 0 11 CODE TABLE 2151 0 4 002152 SATELLITE INSTRUMENT USED IN DATA PROCESSING(6) FLAG TABLE 2152 0 0 31 FLAG TABLE 2152 0 10 002153 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 Hz -8 8 002154 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 Hz -8 8 002156 PERCENTAGE OF VALID KU OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002157 PERCENTAGE OF VALID S OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002158 RA-2 INSTRUMENT FLAG TABLE 2158 0 0 9 FLAG TABLE 2158 0 3 002159 MWR INSTRUMENT FLAG TABLE 2159 0 0 8 FLAG TABLE 2159 0 3 002160 WAVE LENGTH OF THE RADAR CODE TABLE 2160 0 0 4 CODE TABLE 2160 0 2 002163 HEIGHT ASSIGNMENT METHOD CODE TABLE 2163 0 0 4 CODE TABLE 2163 0 2 002164 TRACER CORRELATION METHOD CODE TABLE 2164 0 0 3 CODE TABLE 2164 0 1 002166 RADIANCE TYPE CODE TABLE 2166 0 0 4 CODE TABLE 2166 0 2 002167 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2167 0 0 4 CODE TABLE 2167 0 2 002168 HYDROSTATIC PRESSURE OF LOWER END OF CABLE (THERMISTOR STRING) PA -3 0 16 KPA 0 5 002169 ANEMOMETER TYPE CODE TABLE 2169 0 0 4 CODE TABLE 2169 0 2 002172 PRODUCT TYPE FOR RETRIEVED ATMOSPHERIC GASES CODE TABLE 2172 0 0 8 CODE TABLE 2172 0 3 002173 SQUARE OF THE OFF NADIR ANGLE (7) DEGREE2 4 0 10 DEGREE2 4 4 002174 MEAN ACROSS TRACK PIXEL NUMBER NUMERIC 0 0 9 NUMERIC 0 3 002175 METHOD OF PRECIPITATION MEASUREMENT CODE TABLE 2175 0 0 4 CODE TABLE 2175 0 2 002176 METHOD OF STATE OF GROUND MEASUREMENT CODE TABLE 2176 0 0 4 CODE TABLE 2176 0 2 002177 METHOD OF SNOW DEPTH MEASUREMENT CODE TABLE 2177 0 0 4 CODE TABLE 2177 0 2 002178 METHOD OF LIQUID CONTENT MEASUREMENT OF PRECIPITATION CODE TABLE 2178 0 0 4 CODE TABLE 2178 0 2 002179 TYPE OF SKY CONDITION ALGORITHM CODE TABLE 2179 0 0 4 CODE TABLE 2179 0 2 002180 MAIN PRESENT WEATHER DETECTING SYSTEM CODE TABLE 2180 0 0 4 CODE TABLE 2180 0 2 002181 SUPPLEMENTARY PRESENT WEATHER SENSOR FLAG TABLE 2181 0 0 21 FLAG TABLE 2181 0 7 002182 VISIBILITY MEASUREMENT SYSTEM CODE TABLE 2182 0 0 4 CODE TABLE 2182 0 2 002183 CLOUD DETECTION SYSTEM CODE TABLE 2183 0 0 4 CODE TABLE 2183 0 2 002184 TYPE OF LIGHTNING DETECTION SENSOR CODE TABLE 2184 0 0 4 CODE TABLE 2184 0 2 002185 METHOD OF EVAPORATION MEASUREMENT CODE TABLE 2185 0 0 4 CODE TABLE 2185 0 2 002186 CAPABILITY TO DETECT PRECIPITATION PHENOMENA FLAG TABLE 2186 0 0 30 FLAG TABLE 2186 0 10 002187 CAPABILITY TO DETECT OTHER WEATHER PHENOMENA FLAG TABLE 2187 0 0 18 FLAG TABLE 2187 0 6 002188 CAPABILITY TO DETECT OBSCURATION FLAG TABLE 2188 0 0 21 FLAG TABLE 2188 0 7 002189 CAPABILITY TO DISCRIMINATE LIGHTNING STRIKES FLAG TABLE 2189 0 0 12 FLAG TABLE 2189 0 4 002190 LAGRANGIAN DRIFTER SUBMERGENCE (% TIME SUBMERGED) % 0 0 7 % 0 3 004001 YEAR YEAR 0 0 12 YEAR 0 4 004002 MONTH MONTH 0 0 4 MONTH 0 2 004003 DAY DAY 0 0 6 DAY 0 2 004004 HOUR HOUR 0 0 5 HOUR 0 2 004005 MINUTE MINUTE 0 0 6 MINUTE 0 2 004006 SECOND SECOND 0 0 6 SECOND 0 2 004007 SECONDS WITHIN A MINUTE (MICROSECOND ACCURACY) SECOND 6 0 26 S 6 8 004011 TIME INCREMENT YEAR 0 -1024 11 YEAR 0 4 004012 TIME INCREMENT MONTH 0 -1024 11 MONTH 0 4 004013 TIME INCREMENT DAY 0 -1024 11 DAY 0 4 004014 TIME INCREMENT HOUR 0 -1024 11 HOUR 0 4 004015 TIME INCREMENT MINUTE 0 -2048 12 MINUTE 0 4 004016 TIME INCREMENT SECOND 0 -4096 13 SECOND 0 4 004017 REFERENCE TIME PERIOD FOR ACCUMULATED OR EXTREME DATA MINUTE 0 -1440 12 MINUTE 0 4 004021 TIME PERIOD OR DISPLACEMENT YEAR 0 -1024 11 YEAR 0 4 004022 TIME PERIOD OR DISPLACEMENT MONTH 0 -1024 11 MONTH 0 4 004023 TIME PERIOD OR DISPLACEMENT DAY 0 -1024 11 DAY 0 4 004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -2048 12 HOUR 0 4 004025 TIME PERIOD OR DISPLACEMENT MINUTE 0 -2048 12 MINUTE 0 4 004026 TIME PERIOD OR DISPLACEMENT SECOND 0 -4096 13 SECOND 0 4 004031 DURATION OF TIME RELATING TO FOLLOWING VALUE HOUR 0 0 8 HOUR 0 3 004032 DURATION OF TIME RELATING TO FOLLOWING VALUE MINUTE 0 0 6 MINUTE 0 2 004041 TIME DIFFERENCE, UTC -LMT (SEE NOTE 6) MINUTE 0 -1440 12 MINUTE 0 4 004043 DAY OF THE YEAR DAY 0 0 9 DAY 0 3 004051 PRINCIPAL TIME OF DAILY READING OF MAXIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004052 PRINCIPAL TIME OF DAILY READING OF MINIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004053 NUMBER OF DAYS WITH PRECIPITATION EQUAL TO OR MORE THAN 1 MM NUMERIC 0 0 6 NUMERIC 0 2 004059 TIMES OF OBSERVATION USED TO COMPUTE THE REPORTED MEAN VALUES FLAG TABLE 4059 0 0 6 FLAG TABLE 4059 0 2 004065 SHORT TIME INCREMENT MINUTE 0 -128 8 MINUTE 0 2 004073 SHORT TIME PERIOD OR DISPLACEMENT DAY 0 -128 8 DAY 0 2 004074 SHORT TIME PERIOD OR DISPLACEMENT HOUR 0 -128 8 HOUR 0 2 004075 SHORT TIME PERIOD OR DISPLACEMENT MINUTE 0 -128 8 MINUTE 0 2 004080 AVERAGING PERIOD FOR FOLLOWING VALUE CODE TABLE 4080 0 0 4 CODE TABLE 4080 0 2 004086 LONG TIME PERIOD OR DISPLACEMENT SECOND 0 -8192 15 SECOND 0 5 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005015 LATITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005016 LATITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005023 SUN TO SATELLITE AZIMUTH DIFFERENCE DEGREE 1 -1800 12 DEGREE 1 4 005030 DIRECTION (SPECTRAL) DEGREE 0 0 12 DEGREE 0 4 005031 ROW NUMBER NUMERIC 0 0 12 NUMERIC 0 4 005033 PIXEL SIZE ON HORIZONTAL - 1 M -1 0 16 M -1 5 005034 ALONG TRACK ROW NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005036 SHIP TRANSECT NUMBER ACCORDING TO SOOP NUMERIC 0 0 7 NUMERIC 0 2 005040 ORBIT NUMBER NUMERIC 0 0 24 NUMERIC 0 8 005041 SCAN LINE NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005042 CHANNEL NUMBER NUMERIC 0 0 6 NUMERIC 0 2^M 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005044 SATELLITE CYCLE NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005060 Y ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005061 Z ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005193 ALONG TRACK ROW NUMBER AT 50 KM NUMERIC 0 0 10 NUMERIC 0 4 005194 ALONG TRACK ROW NUMBER AT 25 KM NUMERIC 0 0 11 NUMERIC 0 4 005195 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 7 NUMERIC 0 3 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 M 2 10 005232 DIRECTION (SPECTRAL) DEGREE 2 0 16 DEGREE 2 5 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006015 LONGITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006016 LONGITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006021 DISTANCE M -1 0 13 M -1 4 006030 WAVE NUMBER (SPECTRAL) RAD/M 5 0 13 RAD/M 5 4 006031 COLUMN NUMBER NUMERIC 0 0 12 NUMERIC 0 4 006033 PIXEL SIZE ON HORIZONTAL - 2 M -1 0 16 M -1 5 006034 CROSS-TRACK CELL NUMBER NUMERIC 0 0 7 NUMERIC 0 3 006040 RADIUS OF CONFIDENCE M 0 0 13 M 0 4 006193 CROSS TRACK CELL NUMBER AT 50 KM NUMERIC 0 0 6 NUMERIC 0 2 006194 CROSS TRACK CELL NUMBER AT 25 KM NUMERIC 0 0 7 NUMERIC 0 3 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 M 2 10 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 ADS/M 5 4 007001 HEIGHT OF STATION (SEE NOTE 1) M 0 -400 15 M 0 5 007002 HEIGHT OR ALTITUDE M -1 -40 16 M -1 5 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 007004 PRESSURE PA -1 0 14 PA -1 5 007005 HEIGHT INCREMENT M 0 -400 12 M 0 4 007006 HEIGHT ABOVE STATION M 0 0 15 M 0 5 007007 HEIGHT M 0 -1000 17 M 0 6 007008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 007009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 007010 FLIGHT LEVEL M 0 -1024 16 FT -1 5 007021 ELEVATION (SEE NOTE 2) DEGREE 2 -9000 15 DEGREE 2 5 007022 SOLAR ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 007024 SATELLITE ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007025 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007026 SATELLITE ZENITH ANGLE DEGREE 4 -900000 21 DEGREE 4 7 007030 HEIGHT OF STATION GROUND ABOVE MEAN SEA LEVEL (SEE NOTE 3) M 1 - 4000 17 M 1 5 007031 HEIGHT OF BAROMETER ABOVE MEAN SEA LEVEL (SEE NOTE 4) M 1 - 4000 17 M 1 5 007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) M 2 0 16 M 2 5 007033 HEIGHT OF SENSOR ABOVE WATER SURFACE (SEE NOTE 6) M 1 0 12 M 1 4 007040 IMPACT PARAMETER (SEE NOTE 8) M 1 62000000 22 M 1 8 007061 DEPTH BELOW LAND SURFACE M 2 0 14 M 2 5 007062 DEPTH BELOW SEA/WATER SURFACE M 1 0 17 M 1 6 007063 DEPTH BELOW SEA/WATER SURFACE M 2 0 20 M 2 7 007064 REPRESENTATIVE HEIGHT OF SENSOR ABOVE STATION (SEE NOTE 7) M 0 0 4 M 0 2 007065 WATER PRESSURE PA -3 0 17 PA 0 6 007070 DROGUE DEPTH M 0 0 10 M 0 4 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 M 2 10 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8001 0 0 7 FLAG TABLE 8001 0 3 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 8002 0 0 6 CODE TABLE 8002 0 2 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 8003 0 0 6 CODE TABLE 8003 0 2 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 8004 0 0 3 CODE TABLE 8004 0 1 008005 METEOROLOGICAL ATTRIBUTE SIGNIFICANCE CODE TABLE 8005 0 0 4 CODE TABLE 8005 0 2 008006 OZONE VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8006 0 0 9 FLAG TABLE 8006 0 3 008007 DIMENSIONAL SIGNIFICANCE CODE TABLE 8007 0 0 4 CODE TABLE 8007 0 2 008008 RADIATION VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8008 0 0 9 FLAG TABLE 8008 0 3 008009 DETAILED PHASE OF FLIGHT CODE TABLE 8009 0 0 4 CODE TABLE 8009 0 2 008010 SURFACE QUALIFIER (TEMPERATURE DATA) CODE TABLE 8010 0 0 5 CODE TABLE 8010 0 2 008011 METEOROLOGICAL FEATURE CODE TABLE 8011 0 0 6 CODE TABLE 8011 0 2 008012 LAND/SEA QUALIFIER CODE TABLE 8012 0 0 2 CODE TABLE 8012 0 1 008013 DAY/NIGHT QUALIFIER CODE TABLE 8013 0 0 2 CODE TABLE 8013 0 1 008014 QUALIFIER FOR RUNWAY VISUAL RANGE CODE TABLE 8014 0 0 4 CODE TABLE 8014 0 2 008016 CHANGE QUALIFIER OF A TREND-TYPE FORECAST OR AN AERODROME FORECA CODE TABLE 8016 0 0 3 CODE TABLE 8016 0 1 008017 QUALIFIER OF THE TIME WHEN THE FORECAST CHANGE IS EXPECTED CODE TABLE 8017 0 0 2 CODE TABLE 8017 0 1 008018 SEAWINDS LAND/ICE SURFACE TYPE FLAG TABLE 8018 0 0 17 FLAG TABLE 8018 0 6 008020 TOTAL NUMBER OF MISSING ENTITIES (WITH RESPECT TO ACCUMULATION O NUMERIC 0 0 16 NUMERIC 0 5 008021 TIME SIGNIFICANCE CODE TABLE 8021 0 0 5 CODE TABLE 8021 0 2 008022 TOTAL NUMBER (WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 NUMERIC 0 5 008023 FIRST ORDER STATISTICS CODE TABLE 8023 0 0 6 CODE TABLE 8023 0 2 008024 DIFFERENCE STATISTICS CODE TABLE 8024 0 0 6 CODE TABLE 8024 0 2 008025 TIME DIFFERENCE QUALIFIER CODE TABLE 8025 0 0 4 CODE TABLE 8025 0 2 008029 REMOTLY SENSED SURFACE TYPE CODE TABLE 8029 0 0 8 CODE TABLE 8029 0 3 008030 MANUAL ON CODES (VOLUME I.1, SECTION C) CODE TABLE FROM WHICH DA NUMERIC 0 0 13 NUMERIC 0 4 008031 DATA CATEGORY CREX TABLE A NUMERIC 0 0 8 NUMERIC 0 3 008033 METHOD OF DERIVATION OF PERCENTAGE CONFIDENCE CODE TABLE 8033 0 0 7 CODE TABLE 8033 0 3 008035 TYPE OF MONITORING EXERCISE CODE TABLE 8035 0 0 3 CODE TABLE 8035 0 1 008036 TYPE OF CENTRE OR STATION PERFORMING MONITORING CODE TABLE 8036 0 0 3 CODE TABLE 8036 0 1 008040 FLIGHT LEVEL SIGNIFICANCE CODE TABLE 8040 0 0 6 CODE TABLE 8040 0 2 008041 DATA SIGNIFICANCE CODE TABLE 8041 0 0 5 CODE TABLE 8041 0 2 008042 EXTENDED VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8042 0 0 18 FLAG TABLE 8042 0 6 008049 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008050 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8050 0 0 4 CODE TABLE 8050 0 2 008051 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8051 0 0 3 CODE TABLE 8051 0 1 008052 CONDITION FOR WHICH NUMBER OF DAYS OF OCCURRENCE FOLLOWS CODE TABLE 8052 0 0 5 CODE TABLE 8052 0 2 008053 DAY OF OCCURRENCE QUALIFIER CODE TABLE 8053 0 0 2 CODE TABLE 8053 0 1 008060 SAMPLE SCANNING MODE SIGNIFICANCE CODE TABLE 8060 0 0 4 CODE TABLE 8060 0 2 008065 SUN-GLINT INDICATOR CODE TABLE 8065 0 0 2 CODE TABLE 8065 0 1 008066 SEMI-TRANSPARENCY INDICATOR CODE TABLE 8066 0 0 2 CODE TABLE 8066 0 1 008070 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8070 0 0 4 CODE TABLE 8070 0 2 008072 PIXEL(S) TYPE CODE TABLE 8072 0 0 3 CODE TABLE 8072 0 1 008074 ALTIMETER ECHO TYPE CODE TABLE 8074 0 0 2 CODE TABLE 8074 0 1 008075 ASCENDING/DESCENDING ORBIT QUALIFIER CODE TABLE 8075 0 0 2 CODE TABLE 8075 0 1 008076 TYPE OF BAND CODE TABLE 8076 0 0 6 CODE TABLE 8076 0 2 008081 TYPE OF EQUIPMENT CODE TABLE 8081 0 0 6 CODE TABLE 8081 0 2 008082 (CBS) ARTIFICIAL CORRECTION OF SENSOR HEIGHT TO ANOTHER VALUE CODE TABLE 8082 0 0 3 CODE TABLE 8082 0 1 008083 NOMINAL VALUE INDICATOR FLAG TABLE 8083 0 0 15 FLAG TABLE 8083 0 5 008085 BEAM IDENTIFIER CODE TABLE 8085 0 0 3 CODE TABLE 8085 0 1 008193 TIME QUALIFIER CODE TABLE 8193 0 0 6 CODE TABLE 8193 0 2 008194 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8194 0 0 4 CODE TABLE 8194 0 2 008195 DATA TYPE CODE TABLE 8195 0 0 7 CODE TABLE 8195 0 3 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008222 GENERATOR SIGNIFICANCE CODE TABLE 8222 0 0 4 CODE TABLE 8222 0 2 008223 LAND/ICE SURFACE FLAG FLAG TABLE 8223 0 0 7 FLAG TABLE 8223 0 3 008224 LAND/SEA FRACTION NUMERIC 3 0 10 NUMERIC 3 4 010001 HEIGHT OF LAND SURFACE M 0 -400 15 M 0 5 010002 HEIGHT M -1 -40 16 M -1 5 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 010004 PRESSURE PA -1 0 14 PA -1 5 010007 HEIGHT M 0 -1000 17 M 0 6 010008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 010009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 010010 MINIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010011 MAXIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010031 IN DIRECTION OF THE NORTH POLE, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 010032 SATELLITE DISTANCE TO EARTH'S CENTRE M 1 0 27 M 2 9 010033 ALTITUDE (PLATFORM TO ELLIPSOID) M 1 0 27 M 2 9 010034 EARTH RADIUS M 1 0 27 M 2 9 010035 EARTH'S LOCAL RADIUS OF CURVATURE M 1 62000000 22 M 1 8 010036 GEOID UNDULATION (SEE NOTE 4) M 2 -15000 15 M 2 6 010040 NUMBER OF RETRIEVED LAYERS NUMERIC 0 0 10 NUMERIC 0 4 010050 STANDARD DEVIATION ALTITUDE M 2 0 16 M 2 5 010051 PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010052 ALTIMETER SETTING (QNH) PA -1 0 14 PA -1 5 010060 PRESSURE CHANGE PA -1 -1024 11 PA -1 4 010061 3-HOUR PRESSURE CHANGE PA -1 -500 10 PA -1 4 010062 24-HOUR PRESSURE CHANGE PA -1 -1000 11 PA -1 4 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 10063 0 0 4 CODE TABLE 10063 0 2 010070 INDICATED AIRCRAFT ALTITUDE M 0 -400 16 M 0 5 010080 VIEWING ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 010081 ALTITUDE OF COG ABOVE REFERENCE ELLIPSOID M 3 0 31 M 3 10 010082 INSTANTANEOUS ALTITUDE RATE MS-1 3 -65536 17 MS-1 3 6 010083 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM PLATFORM DATA DEGREE2 2 0 16 DEGREE2 2 5 010084 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM WAVEFORM DATA DEGREE2 2 0 16 DEGREE2 2 5 010085 MEAN SEA SURFACE HEIGHT M 3 -131072 18 M 3 6 010086 GEOID'S HEIGHT M 3 -131072 18 M 3 6 010087 OCEAN DEPTH/LAND ELEVATION M 1 -131072 18 M 3 6 010088 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 1 M 3 -32768 16 M 3 5 010089 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 2 M 3 -32768 16 M 3 5 010090 LONG PERIOD TIDE HEIGHT M 3 -32768 16 M 3 5 010091 TIDAL LOADING HEIGHT M 3 -32768 16 M 3 5 010092 SOLID EARTH TIDE HEIGHT M 3 -32768 16 M 3 5 010093 GEOCENTRIC POLE TIDE HEIGHT M 3 -32768 16 M 3 5 010095 HEIGHT OF ATMOSPHERE USED M 0 0 16 M 0 5 011001 WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011002 WIND SPEED M/S 1 0 12 M/S 1 4 011003 U-COMPONENT M/S 1 -4096 13 M/S 1 4 011004 V-COMPONENT M/S 1 -4096 13 M/S 1 4 011005 W-COMPONENT PA/S 1 -512 10 PA/S 1 4 011006 W-COMPONENT M/S 2 -4096 13 M/S 2 4 011010 WIND DIRECTION ASSOCIATED WITH WIND SPEED WHICH FOLLOWS DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011012 WIND SPEED AT 10 M M/S 1 0 12 M/S 1 4 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011014 WIND SPEED AT 5 M M/S 1 0 12 M/S 1 4 011016 EXTREME COUNTERCLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011017 EXTREME CLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011019 STEADINESS OF WIND (6) % 0 0 7 % 0 3 011021 RELATIVE VORTICITY 1/S 9 -65536 17 1/S 9 6 011022 DIVERGENCE 1/S 9 -65536 17 1/S 9 6 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 M**2/S -2 6 011030 EXTENDED DEGREE OF TURBULENCE CODE TABLE 11030 0 0 6 CODE TABLE 0 2 011031 DEGREE OF TURBULENCE CODE TABLE 11031 0 0 4 CODE TABLE 11031 0 2 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 M -1 5 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 M -1 5 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 M/S 1 4 011035 VERTICAL GUST ACCELERATION M/S**2 2 -8192 14 M/S**2 2 5 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST SPEED M/S 1 0 10 M/S 1 4 011037 TURBULENCE INDEX CODE TABLE 11037 0 0 6 CODE TABLE 11037 0 2 011038 TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11038 0 0 5 CODE TABLE 11038 0 2 011039 EXTENDED TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11039 0 0 6 CODE TABLE 11039 0 2 011040 MAXIMUM WIND SPEED (MEAN WIND) M/S 1 0 12 M/S 1 4 011041 MAXIMUM WIND GUST SPEED M/S 1 0 12 M/S 1 4 011042 MAXIMUM WIND SPEED (10-MIN MEAN WIND) M/S 1 0 12 M/S 1 4 011043 MAXIMUM WIND GUST DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011044 MEAN WIND DIRECTION FOR SURFACE - 1500 M (5000 FEET) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011045 MEAN WIND SPEED FOR SURFACE - 1500 M (5000 FEET) M/S 1 0 12 M/S 1 4 011046 MAXIMUM INSTANTANEOUS WIND SPEED M/S 1 0 12 M/S 1 4 011047 MAXIMUM INSTANTANEOUS WIND SPEED OVER 10 MINUTES M/S 1 0 12 M/S 1 4 011049 STANDARD DEVIATION OF WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011050 STANDARD DEVIATION OF HORIZONTAL WIND SPEED M/S 1 0 12 M/S 1 4 011051 STANDARD DEVIATION OF VERTICAL WIND SPEED M/S 1 0 8 M/S 1 3 011052 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 13 M/S 2 5 011053 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 DEGREE TRUE 2 5 011054 MEAN WIND DIRECTION FOR 1500 M - 3000 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011055 MEAN WIND SPEED FOR 1500 M - 3000 M M/S 1 0 12 M/S 1 4 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 M/S 1 4 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 M/S 1 4 011070 DESIGNATOR OF THE RUNWAY AFFECTED BY WIND SHEAR (INCLUDING ALL) CCITTIA5 0 0 32 CHARACTER 0 4 011071 TURBULENT VERTICAL MOMENTUM FLUX M**2/S**2 3 -128 14 M**2/S**2 3 5 011072 TURBULENT VERTICAL BUOYANCY FLUX KM/S 3 -128 11 KM/S 3 4 011073 TURBULENT KINETIC ENERGY M**2/S**2 2 -1024 13 M**2/S**2 2 4 011074 DISSIPATION ENERGY M**2/S**2 2 -1024 10 M**2/S**2 2 4 011075 MEAN TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011076 PEAK TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011077 REPORTING INTERVAL OR AVERAGING TIME FOR EDDY DISSIPATION RATE S 0 0 12 S 0 4 011081 MODEL WIND DIRECTION AT 10M DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 011082 MODEL WIND SPEED AT 10M M/S 2 0 14 M/S 2 4 011095 U COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011096 V COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011230 MAXIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011231 MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011232 MINIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011233 HIGHEST GUST DURING THE 10 MINUTE PERIOD PRECEDING OBSERVATION M/S 1 -4096 13 M/S 1 4^M 012001 TEMPERATURE/DRY-BULB TEMPERATURE K 1 0 12 C 1 3 012002 WET-BULB TEMPERATURE K 1 0 12 C 1 3 012003 DEW-POINT TEMPERATURE K 1 0 12 C 1 3 012004 DRY-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012005 WET-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012006 DEW-POINT TEMPERATURE AT 2 M K 1 0 12 C 1 3 012007 VIRTUAL TEMPERATURE K 1 0 12 C 1 3 012011 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012012 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012013 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 1 0 12 C 1 3 012014 MAXIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012015 MINIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012016 MAXIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012017 MINIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012021 MAXIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012022 MINIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012030 SOIL TEMPERATURE K 1 0 12 C 1 3 012049 TEMPERATURE CHANGE OVER SPECIFIED PERIOD K 0 -30 6 C 0 2 012051 STANDARD DEVIATION TEMPERATURE K 1 0 10 C 1 3 012052 HIGHEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012053 LOWEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012061 SKIN TEMPERATURE K 1 0 12 C 1 3 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 C 1 3 012063 BRIGHTNESS TEMPERATURE K 1 0 12 C 1 3 012064 INSTRUMENT TEMPERATURE K 1 0 12 K 1 4 012065 STANDARD DEVIATION BRIGHTNESS TEMPERATURE K 1 0 12 K 1 4 012070 WARM LOAD TEMPERATURE K 2 0 16 K 2 5 012071 COLDEST CLUSTER TEMPERATURE K 1 0 12 K 1 4 012072 RADIANCE WM**(-2)SR**(-1) 6 0 31 WM**(-2)SR**(-1) 6 9 012073 TEMPERATURE K 2 0 16 K 2 5 012075 SPECTRAL RADIANCE WM**(-3)SR**(-1) -3 0 16 WM**(-3)SR**(-1) -3 5 012076 RADIANCE WM**(-2)SR**(-1) 3 0 16 WM**(-2)SR**(-1) 3 5 012101 TEMPERATURE/DRY-BULB TEMPERATURE K 2 0 16 C 2 4 012102 WET-BULB TEMPERATURE K 2 0 16 C 2 4 012103 DEW-POINT TEMPERATURE K 2 0 16 C 2 4 012104 DRY-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012105 WEB-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012106 DEW-POINT TEMPERATURE AT 2M K 2 0 16 C 2 4 012107 VIRTUAL TEMPERATURE K 2 0 16 C 2 4 012111 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012112 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012113 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 2 0 16 C 2 4 012114 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012115 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012116 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012117 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012118 MAXIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012119 MINIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012121 GROUND MINIMUM TEMPERATURE K 2 0 16 C 2 4 012122 GROUND MINIMUM TEMPERATURE OF THE PRECEDING NIGHT K 2 0 16 C 2 4 012130 SOIL TEMPERATURE K 2 0 16 C 2 4 012151 STANDARD DEVIATION OF DAILY MEAN TEMPERATURE K 2 0 12 C 2 4 012152 HIGHEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012153 LOWEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012161 SKIN TEMPERATURE K 2 0 16 C 2 4 012162 EQUIVALENT BLACK BODY TEMPERATURE K 2 0 16 C 2 4 012163 BRIGHTNESS TEMPERATURE K 2 0 16 C 2 4 012164 INSTRUMENT TEMPERATURE K 2 0 16 K 2 5 012171 COLDEST CLUSTER TEMPERATURE K 2 0 16 K 2 5 012180 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012181 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012182 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012183 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012184 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012185 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012186 MEAN NADIR SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012187 MEAN DUAL VIEW SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012188 INTERPOLATED 23.8 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 012189 INTERPOLATED 36.5 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 013001 SPECIFIC HUMIDITY KG/KG 5 0 14 KG/KG 5 5 013002 MIXING RATIO KG/KG 5 0 14 KG/KG 5 5 013003 RELATIVE HUMIDITY % 0 0 7 % 0 3 013004 VAPOUR PRESSURE PA -1 0 10 PA -1 4 013005 VAPOUR DENSITY KG/M**3 3 0 7 KG/M**3 3 3 013006 MIXING HEIGHTS M -1 -40 16 M -1 5 013007 MINIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013008 MAXIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013009 RELATIVE HUMIDITY % 1 -1000 12 % 1 4 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT KG/M**2 1 -1 14 KG/M**2 1 5 013012 DEPTH OF FRESH SNOW M 2 -2 12 M 2 4 013013 TOTAL SNOW DEPTH M 2 -2 16 M 2 5 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGED RATE) KG/(M**2)S 4 0 12 KG/(M**2)S 4 4 013015 SNOWFALL (AVERAGED RATE) M/S 7 0 12 M/S 7 4 013016 PRECIPITABLE WATER KG/M**2 0 0 7 KG/M**2 0 3 013019 TOTAL PRECIPITATION PAST 1 HOUR KG/M**2 1 -1 14 KG/M**2 1 4 013020 TOTAL PRECIPITATION PAST 3 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013021 TOTAL PRECIPITATION PAST 6 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013022 TOTAL PRECIPITATION PAST 12 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013023 TOTAL PRECIPITATION PAST 24 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013031 EVAPOTRANSPIRATION KG/M**2 0 0 7 KG/M**2 0 3 013032 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 8 KG/M**2 1 3 013033 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 10 KG/M**2 1 4 013038 SUPERADIABATIC INDICATOR CODE TABLE 13038 0 0 2 CODE TABLE 13038 0 1 013039 TERRAIN TYPE (ICE/SNOW) CODE TABLE 13039 0 0 3 CODE TABLE 13039 0 1 013040 SURFACE FLAG CODE TABLE 13040 0 0 4 CODE TABLE 13040 0 2 013041 PASQUILL-GIFFORD STABILITY CATEGORY CODE TABLE 13041 0 0 4 CODE TABLE 13041 0 2 013042 PARCEL LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013043 BEST LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013044 K INDEX K 0 -30 8 K 0 3 013045 KO INDEX K 0 -30 8 K 0 3 013046 MAXIMUM BUOYANCY K 0 -30 8 K 0 3 013047 MODIFIED SHOWALTER STABILITY INDEX K 0 -60 6 C 0 2 013051 FREQUENCY GROUP, PRECIPITATION CODE TABLE 13051 0 0 4 CODE TABLE 13051 0 2 013052 HIGHEST DAILY AMOUNT OF PRECIPITATION KG/M**2 1 -1 14 KG/M**2 1 5 013055 INTENSITY OF PRECIPITATION KG/(M**2)S 4 0 8 MM H-1 1 3 013056 CHARACTER AND INTENSITY OF PRECIPITATION CODE TABLE 13056 0 0 4 CODE TABLE 13056 0 2 013057 TIME OF BEGINNING OR END OF PRECIPITATION CODE TABLE 13057 0 0 4 CODE TABLE 13057 0 2 013058 SIZE OF PRECIPITATING ELEMENT M 4 0 7 MM 1 3 013059 NUMBER OF FLASHES (THUNDERSTORM) NUMERIC 0 0 7 NUMERIC 0 3 013060 TOTAL ACCUMULATED PRECIPITATION KG/M**2 1 -1 17 KG/M**2 1 5 013071 UPSTREAM WATER LEVEL M 2 0 14 M 2 5 013072 DOWNSTREAM WATER LEVEL M 2 0 14 M 2 4 013073 MAXIMUM WATER LEVEL M 2 0 14 M 2 4 013080 WATER PH pH 1 0 10 pH 1 3 013081 WATER CONDUCTIVITY S M-1 3 0 14 S M-1 3 4 013082 WATER TEMPERATURE K 1 0 12 K 1 4 013083 DISSOLVED OXYGEN KG/M**3 6 0 15 KG/M**3 6 5 013084 TURBIDITY LUMEN 0 0 14 LUMEN 0 4 013085 OXYDATION REDUCTION POTENTIAL (ORP) V 3 0 14 V 3 4 013090 RADIOMETER WATER VAPOUR CONTENT KG/M**2 1 0 10 KG/M**2 1 4 013091 RADIOMETER LIQUID CONTENT KG/M**2 2 0 8 KG/M**2 2 3 013093 CLOUD OPTICAL THICKNESS NUMERIC 0 0 8 NUMERIC 0 3 013095 TOTAL COLUMN WATER VAPOUR KG/M**2 4 0 19 KG/M**2 4 6 013096 MWR WATER VAPOUR CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013097 MWR LIQUID WATER CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013098 INTEGRATED WATER VAPOUR DENSITY KG/M**2 8 0 30 KG/M**2 8 10 014001 LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014002 LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014003 SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014004 SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014011 NET LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014012 NET LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014013 NET SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014014 NET SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014015 NET RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 -16384 15 J/M**2 -4 5 014016 NET RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 J/M**2 -4 5 014017 INSTANTANEOUS LONG-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014018 INSTANTANEOUS SHORT-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014019 SURFACE ALBEDO % 0 0 7 % 0 3 014020 GLOBAL SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014021 GLOBAL SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014022 DIFFUSE SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014023 DIFFUSE SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014024 DIRECT SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014025 DIRECT SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014026 ALBEDO AT THE TOP OF CLOUDS % 0 0 7 % 0 3 014027 ALBEDO % 0 0 7 % 0 3 014028 GLOBAL SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014029 DIFFUSE SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD J/M**2 -2 0 16 J/M**2 -2 5 014030 DIRECT SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014031 TOTAL SUNSHINE MINUTE 0 0 11 MINUTE 0 4 014032 TOTAL SUNSHINE HOUR 0 0 10 HOUR 0 4 014033 TOTAL SUNSHINE % 0 0 9 % 0 3 014034 SUNSHINE OVER PERIOD SPECIFIED MINUTE 0 0 11 MINUTE 0 4 014042 BI-DIRECTIONAL REFLECTANCE % 0 0 7 % 0 3 014045 CHANNEL RADIANCE (W/M**2)*(1/SR)*CM 0 0 11 WM-2SR-1CM-1 0 4 014046 SCALED IASI RADIANCE (W/M**2)*(1/SR)*(1/M) 0 -5000 16 (W/M**2)*(1/SR)*(1/M) 0 5 014047 SCALED MEAN AVHRR RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014048 SCALED STANDARD DEVIATION RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014050 EMISSIVITY (SEE NOTE 5) % 1 0 10 % 1 4 014051 DIRECT SOLAR RADIATION INTEGRATED OVER LAST HOUR J/M**2 -3 0 14 JM-2 -3 4 014055 SOLAR ACTIVITY INDEX NUMERIC 0 -32768 16 NUMERIC 0 5 014061 (VAL) INSTANTANEOUS LONG-WAVE RADIATION W/M**2 0 -512 10 W/M**2 0 4 014062 (VAL) INSTANTANEOUS SHORT-WAVE RADIATION W/M**2 0 -2048 12 W/M**2 0 4 015001 TOTAL OZONE DU 0 0 10 DU 0 4 015002 AIR MASS (SLANT PATH AT 22 KM) NUMERIC 2 0 10 NUMERIC 2 3 015003 MEASURED OZONE PARTIAL PRESSURE (SOUNDING) PA 4 0 9 NBAR 0 3 015004 OZONE SOUNDING CORRECTION FACTOR NUMERIC 3 0 11 NUMERIC 3 4 015005 OZONE P DU 0 0 10 DU 0 3 015011 LOG 10 OF INTEGRATED ELECTRON DENSITY LOG (1/M2) 3 14000 13 LOG (M-2) 3 4 015015 MAXIMUM IMAGE SPECTRAL COMPONENT BEFORE NORMALIZATION NUMERIC 0 0 31 NUMERIC 0 10 015020 INTEGRATED 03 DENSITY KG/M**2 8 0 21 KG/M**2 8 7 015025 TYPE OF POLLUTANT CODE TABLE 15025 0 0 4 CODE TABLE 15025 0 2 015026 CONCENTRATION OF POLLUTANT MOLMOL-1 9 0 9 MOLMOL-1 9 3 015027 CONCENTRATION OF POLLUTANT KG/M3 9 0 10 KG/M3 9 4 015031 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 10000 15 M 4 5 015032 ESTIMATED ERROR IN ATMOSPHERIC PATH DELAY M 4 0 10 M 4 4 015033 DIFFERENCE IN PATH DELAYS FOR LIMB VIEWS AT EXTREMES OF SCAN M 5 -10000 15 M 5 5 015034 ESTIMATED ERROR IN PATH DELAY DIFFERENCE M 5 0 14 M 5 5 015035 COMPONENT OF ZENITH PATH DELAY DUE TO WATER VAPOUR M 4 0 14 M 4 5 015036 ATMOSPHERIC REFRACTIVITY (SEE NOTE 5) N-UNITS 3 0 19 N-UNITS 3 6 015037 BENDING ANGLE RADIANS 8 -100000 23 RADIANS 8 7 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 19001 0 0 6 CODE TABLE 19001 0 2 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 M -2 4 019003 WIND SPEED THRESHOLD M/S 0 0 8 M/S 0 3 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 M -2 4 019005 DIRECTION OF MOTION OF FEATURE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 019006 SPEED OF MOTION OF FEATURE M/S 2 0 14 M/S 2 5 019007 EFFECTIVE RADIUS OF FEATURE M -3 0 12 M -3 4 019008 VERTICAL EXTENT OF CIRCULATION CODE TABLE 19008 0 0 3 CODE TABLE 19008 0 1 019009 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD (LA M -3 0 12 M -3 4 019010 METHOD FOR TRACKING THE CENTRE OF SYNOPTIC FEATURE CODE TABLE 19010 0 0 4 CODE TABLE 19010 0 2 019100 TIME INTERVAL TO CALCULATE THE MOVEMENT OF THE TROPICAL CYCLONE CODE TABLE 19100 0 0 4 CODE TABLE 19100 0 2 019101 ACCURACY OF THE POSITION OF THE CENTRE OF THE TROPICAL CYCLONE CODE TABLE 19101 0 0 4 CODE TABLE 19101 0 2 019102 SHAPE AND DEFINITION OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19102 0 0 3 CODE TABLE 19102 0 1 019103 DIAMETER OF MAJOR AXIS OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19103 0 0 4 CODE TABLE 19103 0 2 019104 CHANGE IN CHARACTER OF THE EYE DURING THE 30 MINUTES CODE TABLE 19104 0 0 4 CODE TABLE 19104 0 2 019105 DISTANCE BETWEEN THE END OF SPIRAL BAND AND THE CENTRE CODE TABLE 19105 0 0 4 CODE TABLE 19105 0 2 019106 IDENTIFICATION NUMBER OF TROPICAL CYCLONE NUMERIC 0 0 7 NUMERIC 0 3 019107 TIME INTERVAL OF THE TROPICAL CYCLONE ANALYSIS CODE TABLE 19107 0 0 4 CODE TABLE 19107 0 2 019108 ACCURACY OF GEOGRAPHICAL POSITION OF THE TROPICAL CYCLONE CODE TABLE 19108 0 0 3 CODE TABLE 19108 0 1 019109 MEAN DIAMETER OF THE OVERCAST CLOUD OF THE TROPICAL CYCLONE CODE TABLE 19109 0 0 4 CODE TABLE 19109 0 2 019110 APPARENT 24-HOUR CHANGE IN INTENSITY OF TROPICAL CYCLONE CODE TABLE 19110 0 0 4 CODE TABLE 19110 0 2 019111 CURRENT INTENSITY (CI) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019112 DATA TROPICAL (DT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019113 CLOUD PATTERN TYPE OF THE DT- NUMBER CODE TABLE 19113 0 0 4 CODE TABLE 19113 0 2 019114 MODEL EXPECTED TROPICAL (MET) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019115 TREND OF PAST 24-HOUR CHANGE (+: DEVELOPED, -: WEAKENED) NUMERIC 1 -30 6 NUMERIC 1 2 019116 PATTERN TROPICAL (PT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019117 CLOUD PICTURE TYPE OF THE PT- NUMBER CODE TABLE 19117 0 0 3 CODE TABLE 19117 0 1 019118 FINAL TROPICAL (T) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019119 TYPE OF THE FINAL T-NUMBER CODE TABLE 19119 0 0 3 CODE TABLE 19119 0 1 019150 TYPHOON INTERNATIONAL COMMON NUMBER (TYPHOON COMMITTEE) CCITTIA5 0 0 32 CHARACTER 0 4 020001 HORIZONTAL VISIBILITY M -1 0 13 M -1 4 020002 VERTICAL VISIBILITY M -1 0 7 M -1 3 020003 PRESENT WEATHER (SEE NOTE 1) CODE TABLE 20003 0 0 9 CODE TABLE 20003 0 3 020004 PAST WEATHER (1) (SEE NOTE 2) CODE TABLE 20004 0 0 5 CODE TABLE 20004 0 2 020005 PAST WEATHER (2) (SEE NOTE 2) CODE TABLE 20005 0 0 5 CODE TABLE 20005 0 2 020008 CLOUD DISTRIBUTION FOR AVIATION CODE TABLE 20008 0 0 5 CODE TABLE 20008 0 2 020009 GENERAL WEATHER INDICATOR (TAF/METAR) CODE TABLE 20009 0 0 4 CODE TABLE 20009 0 2 020010 CLOUD COVER (TOTAL) % 0 0 7 % 0 3 020011 CLOUD AMOUNT CODE TABLE 20011 0 0 4 CODE TABLE 20011 0 2 020012 CLOUD TYPE CODE TABLE 20012 0 0 6 CODE TABLE 20012 0 2 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 M -1 4 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 M -1 4 020015 PRESSURE AT BASE OF CLOUD PA -1 0 14 PA -1 5 020016 PRESSURE AT TOP OF CLOUD PA -1 0 14 PA -1 5 020017 CLOUD TOP DESCRIPTION CODE TABLE 20017 0 0 4 CODE TABLE 20017 0 2 020018 TENDENCY OF RUNWAY VISUAL RANGE CODE TABLE 20018 0 0 2 CODE TABLE 20018 0 1 020019 SIGNIFICANT PRESENT OR FORECAST WEATHER CCITTIA5 0 0 72 CHARACTER 0 9 020020 SIGNIFICANT RECENT WEATHER PHENOMENA CCITTIA5 0 0 32 CHARACTER 0 4 020021 TYPE OF PRECIPITATION FLAG TABLE 20021 0 0 30 FLAG TABLE 20021 0 10 020022 CHARACTER OF PRECIPITATION CODE TABLE 20022 0 0 4 CODE TABLE 20022 0 2 020023 OTHER WEATHER PHENOMENA FLAG TABLE 20023 0 0 18 FLAG TABLE 20023 0 6 020024 INTENSITY OF PHENOMENA CODE TABLE 20024 0 0 3 CODE TABLE 20024 0 1 020025 OBSCURATION FLAG TABLE 20025 0 0 21 FLAG TABLE 20025 0 7 020026 CHARACTER OF OBSCURATION CODE TABLE 20026 0 0 4 CODE TABLE 20026 0 2 020027 PHENOMENA OCCURRENCE FLAG TABLE 20027 0 0 9 FLAG TABLE 20027 0 3 020029 RAIN FLAG CODE TABLE 20029 0 0 2 CODE TABLE 20029 0 1 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 M 2 3 020032 RATE OF ICE ACCRETION CODE TABLE 20032 0 0 3 CODE TABLE 20032 0 1 020033 CAUSE OF ICE ACCRETION FLAG TABLE 20033 0 0 4 FLAG TABLE 20033 0 2 020034 SEA ICE CONCENTRATION CODE TABLE 20034 0 0 5 CODE TABLE 20034 0 2 020035 AMOUNT AND TYPE OF ICE CODE TABLE 20035 0 0 4 CODE TABLE 20035 0 2 020036 ICE SITUATION CODE TABLE 20036 0 0 5 CODE TABLE 20036 0 2 020037 ICE DEVELOPMENT CODE TABLE 20037 0 0 5 CODE TABLE 20037 0 2 020038 BEARING OF ICE EDGE (SEE NOTE 3) DEGREE TRUE 0 0 12 DEGREE TRUE 0 3 020039 ICE DISTANCE M -1 0 13 M -1 4 020040 EVOLUTION OF DRIFT OF SNOW CODE TABLE 20040 0 0 4 CODE TABLE 20040 0 2 020041 AIRFRAME ICING CODE TABLE 20041 0 0 4 CODE TABLE 20041 0 2 020042 AIRFRAME ICING PRESENT CODE TABLE 20042 0 0 2 CODE TABLE 20042 0 1 020043 PEAK LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020044 AVERAGE LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020045 SUPERCOOLED LARGE DROPLET (SLD) CONDITIONS CODE TABLE 20045 0 0 2 CODE TABLE 20045 0 2 020050 CLOUD INDEX CODE TABLE 20050 0 0 8 CODE TABLE 20050 0 3 020051 AMOUNT OF LOW CLOUDS % 0 0 7 % 0 3 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 % 0 3 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 % 0 3 020054 TRUE DIRECTION FROM WHICH CLOUDS ARE MOVING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 020055 STATE OF SKY IN TROPICS CODE TABLE 20055 0 0 4 CODE TABLE 20055 0 2 020056 CLOUD PHASE CODE TABLE 20056 0 0 3 CODE TABLE 20056 0 1 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 M 0 4 020062 STATE OF THE GROUND (WITH OR WITHOUT SNOW) CODE TABLE 20062 0 0 5 CODE TABLE 20062 0 2 020063 SPECIAL PHENOMENA CODE TABLE 20063 0 0 10 CODE TABLE 20063 0 4 020065 SNOW COVER (SEE NOTE 4) % 0 0 7 % 0 3 020066 MAXIMUM DIAMETER OF HAILSTONES M 3 0 8 M 3 3 020067 DIAMETER OF DEPOSIT M 3 0 9 M 3 3 020070 MINIMUM NUMBER OF ATMOSPHERICS NUMERIC 0 0 7 NUMERIC 0 3 020071 ACCURACY OF FIX AND RATE OF ATMOSPHERICS CODE TABLE 20071 0 0 4 CODE TABLE 20071 0 2 020081 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020082 AMOUNT SEGMENT CLOUD FREE % 0 0 7 % 0 3 020083 AMOUNT OF SEGMENT COVERED BY SCENE % 0 0 7 % 0 3 020090 SPECIAL CLOUDS CODE TABLE 20090 0 0 4 CODE TABLE 20090 0 2 020095 ICE PROBABILITY NUMERIC 3 0 10 NUMERIC 3 4 020096 ICE AGE ("A" PARAMETER) dB 2 -4096 13 dB 2 4 020101 LOCUST (ACRIDIAN) NAME CODE TABLE 20101 0 0 4 CODE TABLE 20101 0 2 020102 LOCUST (MATURITY) COLOR CODE TABLE 20102 0 0 4 CODE TABLE 20102 0 2 020103 STAGE OF DEVELOPMENT OF LOCUSTS CODE TABLE 20103 0 0 4 CODE TABLE 20103 0 2 020104 ORGANIZATION STATE OF SWARM OR BAND OF LOCUSTS CODE TABLE 20104 0 0 4 CODE TABLE 20104 0 2 020105 SIZE OF SWARM OR BAND OF LOCUSTS AND DURATION OF PASSAGE OF SWARMCODE TABLE 20105 0 0 4 CODE TABLE 20105 0 2 020106 LOCUST POPULATION DENSITY CODE TABLE 20106 0 0 4 CODE TABLE 20106 0 2 020107 DIRECTION OF MOVEMENTS OF LOCUST SWARM CODE TABLE 20107 0 0 4 CODE TABLE 20107 0 2 020108 EXTENT OF VEGETATION CODE TABLE 20108 0 0 4 CODE TABLE 20108 0 2 020193 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020194 AMOUNT OF SEGMENT CLOUD FREE % 0 0 7 % 0 3 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 PA -1 5 021001 HORIZONTAL REFLECTIVITY dB 0 -64 7 dB 0 3 021002 VERTICAL REFLECTIVITY dB 0 -64 7 dB 0 3 021003 DIFFERENTIAL REFLECTIVITY dB 1 -5 7 dB 1 3 021005 LINEAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021006 CIRCULAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION M/S 0 -128 8 M/S 0 3 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION M/S 0 -128 8 M/S 0 3 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION M/S 0 -128 8 M/S 0 3 021014 DOPPLER MEAN VELOCITY (RADIAL) M/S 1 -4096 13 M/S 1 4 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 0 8 M/S 1 3 021021 ECHO TOPS M -3 0 4 M -3 2 021030 SIGNAL TO NOISE RATIO dB 0 -32 8 dB 0 3 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT KG/M**2 0 0 7 KG/M**2 0 3 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 M/S 7 4 021041 BRIGHT-BAND HEIGHT M -2 0 8 M -2 3 021051 SIGNAL POWER ABOVE 1 MW dB 0 -256 8 dB 0 3 021062 BACKSCATTER dB 2 -5000 13 dB 2 4 021063 RADIOMETRIC RESOLUTION (NOISE VALUE) % 1 0 10 % 1 4 021064 CLUTTER NOISE ESTIMATE NUMERIC 0 0 8 NUMERIC 0 3 021065 MISSING PACKET COUNTER NUMERIC 0 -127 8 NUMERIC 0 3 021066 WAVE SCATTEROMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21066 0 0 12 FLAG TABLE 21066 0 4 021067 WIND PRODUCT CONFIDENCE DATA FLAG TABLE 21067 0 0 13 FLAG TABLE 21067 0 5 021068 RADAR ALTIMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21068 0 0 8 FLAG TABLE 21068 0 3 021069 SST PRODUCT CONFIDENCE DATA FLAG TABLE 21069 0 0 10 FLAG TABLE 21069 0 4 021070 SST PRODUCT CONFIDENCE DATA (SADIST-2) FLAG TABLE 21070 0 0 23 FLAG TABLE 21070 0 6 021071 PEAKINESS NUMERIC 0 0 16 NUMERIC 0 5 021072 SATELLITE ALTIMETER CALIBRATION STATUS FLAG TABLE 21072 0 0 4 FLAG TABLE 21072 0 2 021073 SATELLLITE ALTIMETER INSTRUMENT MODE FLAG TABLE 21073 0 0 9 FLAG TABLE 21073 0 3 021075 IMAGE SPECTRUM INTENSITY NUMERIC 0 0 8 NUMERIC 0 3 021076 REPRESENTATION OF INTENSITIES CODE TABLE 21076 0 0 3 CODE TABLE 21076 0 1 021077 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 M 3 5 021078 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 M 3 3 021079 ALTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 M 3 4 021080 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 M 3 4 021081 OPEN LOOP CORRECTION (HEIGHT-TIME LOOP) M 3 0 10 M 3 4 021082 OPEN LOOP CORRECTION (AUTO GAIN CONTROL) dB 3 -3000 14 dB 3 5 021083 WARM TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021084 COLD TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021085 ATSR SEA SURFACE TEMPERATURE ACROSS- TRACK BAND NUMBER NUMERIC 0 0 4 NUMERIC 0 2 021086 NUMBER OF PIXELS IN NADIR ONLY, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021087 NUMBER OF PIXELS IN DUAL VIEW, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021088 WET BACKSCATTER dB 2 -5000 13 dB 2 4 021091 RADAR SIGNAL DOPPLER SPECTRUM 0TH MOMENT dB 0 -100 8 dB 0 3 021092 RASS SIGNAL DOPPLER SPECTRUM 0TH MOMENT, REFERRING TO RASS SIGNA dB 0 -100 8 dB 0 3 021093 Ku BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021094 S BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021101 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 NUMERIC 0 1 021102 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 NUMERIC 0 1 021103 TOTAL NUMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 NUMERIC 0 2 021104 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 3 -30000 15 NUMERIC 3 5 021105 NORMALIZED RADAR CROSS-SECTION dB 2 -10000 14 dB 2 5 021106 KP VARIANCE COEFFICIENT (ALPHA) NUMERIC 3 0 14 NUMERIC 3 5 021107 KP VARIANCE COEFFICIENT (BETA) NUMERIC 8 0 16 NUMERIC 8 5 021109 SEAWINDS WIND VECTOR CELL QUALITY FLAG TABLE 21109 0 0 17 FLAG TABLE 21109 0 6 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021114 KP VARIANCE COEFFICENT (GAMMA) dB 3 -140000 18 dB 3 6 021115 SEAWINDS SIGMA-0 QUALITY FLAG TABLE 21115 0 0 17 FLAG TABLE 21115 0 6 021116 SEAWINDS SIGMA-0 MODE FLAG TABLE 21116 0 0 17 FLAG TABLE 21116 0 6 021117 SIGMA-0 VARIANCE QUALITY CONTROL NUMERIC 2 0 16 NUMERIC 2 5 021118 ATTENUATION CORRECTION ON SIGMA-0 dB 2 -10000 14 dB 2 5 021119 WIND SCATTEROMETER GEOPHYSICAL MODEL FUNCTION CODE TABLE 21119 0 0 6 CODE TABLE 21119 0 2 021120 PROBABILITY OF RAIN NUMERIC 3 0 10 NUMERIC 3 4 021121 SEAWINDS NOF* RAIN INDEX NUMERIC 0 0 8 NUMERIC 0 3 021122 ATTENUATION CORRECTION OF SIGMA-0 (FROM TB) dB 2 -10000 14 dB 2 5 021123 SEAWINDS NORMALIZED RADAR CROSS SECTION dB 2 -30000 15 dB 2 5 021128 NUMBER OF VALID POINTS PER SECOND USED TO DERIVE PREVIOUS PARAME NUMERIC 0 0 8 NUMERIC 0 3 021130 SPECTRUM TOTAL ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021131 SPECTRUM MAX ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021132 DIRECTION OF SPECTRUM MAX ON HIGHER RESOLUTION GRID DEGREE 3 0 19 DEGREE 3 6 021133 WAVE-LENGTH OF SPECTRUM MAX ON HIGHER RESOLUTION GRID M 3 0 29 M 3 9 021134 RANGE RESOLUTION OF CRESS COVARIANCE SPECTRUM RAD/M 3 0 19 RAD/M 3 6 021135 REAL PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021136 IMAGINARY PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021137 KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021138 STD KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021139 KU BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -2048 12 dB 2 4 021140 S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021141 STD S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021142 S BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -1024 11 dB 2 4 021143 KU BAND RAIN ATTENUATION dB 2 -1073741824 31 dB 2 10 021144 ALTIMETER RAIN FLAG FLAG TABLE 21144 0 0 2 FLAG TABLE 21144 0 1 021150 BEAM COLLOCATION CODE TABLE 21150 0 0 2 CODE TABLE 21150 0 1 021151 ESTIMATED ERROR IN SIGMA0 AT 40DEG INCIDENCE ANGLE dB 2 0 9 dB 2 3 021152 SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -80 7 dB/DEG 2 3 021153 ESTIMATED ERROR IN SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -40 6 dB/DEG 2 3 021154 SOIL MOISTURE SENSITIVITY dB 2 0 12 dB 2 4 021155 WIND VECTOR CELL QUALITY FLAG TABLE 21155 0 0 24 FLAG TABLE 21155 0 8 021156 BACKSCATTER DISTANCE NUMERIC 1 -4096 13 NUMERIC 1 4 021157 LOSS PER UNIT LENGTH OF ATMOSPHERE USED dB/M 10 0 22 dB/M 10 7 021158 ASCAT kp ESTIMATE QUALITY CODE TABLE 21158 0 0 2 CODE TABLE 21158 0 1 021159 ASCAT SIGMA-0 USABILITY CODE TABLE 21159 0 0 2 CODE TABLE 21159 0 1 021160 ASCAT USE OF SYNTHETIC DATA NUMERIC 3 0 10 NUMERIC 3 4 021161 ASCAT SYNTHETIC DATA QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021162 ASCAT SATELLITE ORBIT AND ATTITUDE QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021163 ASCAT SOLAR ARRAY REFLECTION CONTAMINATION NUMERIC 3 0 10 NUMERIC 3 4 021164 ASCAT TELEMETRY PRESENCE AND QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021165 ASCAT EXTRAPOLATED REFERENCE FUNCTION PRESENCE NUMERIC 3 0 10 NUMERIC 3 4 021166 ASCAT LAND FRACTION NUMERIC 3 0 10 NUMERIC 3 4 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022005 DIRECTION OF SEA SURFACE CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022011 PERIOD OF WAVES S 0 0 6 S 0 2 022012 PERIOD OF WIND WAVES S 0 0 6 S 0 2 022013 PERIOD OF SWELL WAVES S 0 0 6 S 0 2 022021 HEIGHT OF WAVES M 1 0 10 M 1 4 022022 HEIGHT OF WIND WAVES M 1 0 10 M 1 4 022023 HEIGHT OF SWELL WAVES M 1 0 10 M 1 4 022025 STANDARD DEVIATION WAVE HEIGHT M 2 0 10 M 2 4 022026 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT M 2 0 10 M 2 4 022031 SPEED OF CURRENT M/S 2 0 13 M/S 2 4 022032 SPEED OF SEA SURFACE CURRENT M/S 2 0 13 M/S 2 4 022035 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 2 0 14 M 2 4 022036 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 2 0 14 M 2 4 022037 TIDAL ELEVATION WITH RESPECT TO NATIONAL LAND DATUM M 3 -10000 15 M 3 5 022038 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 3 -10000 15 M 3 5 022039 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 12 M 3 4 022040 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 14 M 3 5 022041 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 1 0 12 K 1 4 022042 SEA/WATER TEMPERATURE K 1 0 12 K 1 4 022043 SEA/WATER TEMPERATURE K 2 0 15 K 2 5 022044 SOUND VELOCITY M/S 1 0 14 M/S 1 5 022045 SEA/WATER TEMPERATURE K 3 0 19 K 3 6 022049 SEA SURFACE TEMPERATURE K 2 0 15 K 2 5 022050 STANDARD DEVIATION SEA-SURFACE TEMPERATURE K 2 0 8 K 2 3 022055 FLOAT CYCLE NUMBER NUMERIC 0 0 10 NUMERIC 0 3 022056 DIRECTION OF PROFILE CODE TABLE 22056 0 0 2 CODE TABLE 22056 0 1 022059 SEA SURFACE SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022060 LAGRANGIAN DRIFTER DROGUE STATUS CODE TABLE 22060 0 0 3 CODE TABLE 22060 0 1 022061 STATE OF THE SEA CODE TABLE 22061 0 0 4 CODE TABLE 22061 0 2 022062 SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022063 TOTAL WATER DEPTH M 0 0 14 M 0 5 022064 SALINITY PART PER THOUSAND 3 0 17 PART PER THOUSAND 3 6 022065 WATER PRESSURE PA -3 0 17 PA -3 6 022066 WATER CONDUCTIVITY S M-1 6 0 26 S M-1 6 8 022067 INSTRUMENT TYPE FOR WATER TEMPERATURE PROFILE MEASUREMENT CODE TABLE 22067 0 0 10 CODE TABLE 22067 0 4 022068 WATER TEMPERATURE PROFILE RECORDER TYPES CODE TABLE 22068 0 0 7 CODE TABLE 22068 0 3 022069 SPECTRAL WAVE DENSITY M2HZ-1 3 0 22 M2HZ-1 3 7 022070 SIGNIFICANT WAVE HEIGHT M 2 0 13 M 2 4 022071 SPECTRAL PEAK WAVE PERIOD S 1 0 9 S 1 3 022072 SPECTRAL PEAK WAVE LENGTH M 0 0 13 M 0 4 022073 MAXIMUM WAVE HEIGHT M 2 0 13 M 2 4 022074 AVERAGE WAVE PERIOD S 1 0 9 S 1 3 022075 AVERAGE WAVE LENGTH M 0 0 13 M 0 4 022076 DIRECTION FROM WHICH DOMINANT WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022077 DIRECTIONAL SPREAD OF DOMINANT WAVE DEGREE 0 0 9 DEGREE 0 3 022078 DURATION OF WAVE RECORD S 0 0 12 S 0 4 022079 LENGTH OF WAVE RECORD M 0 0 16 M 0 5 022080 WAVEBAND CENTRAL FREQUENCY Hz 3 0 10 Hz 3 4 022081 WAVEBAND CENTRAL WAVE NUMBER 1/M 5 0 13 1/M 5 4 022082 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE DENSITY M**2S 2 0 20 M**2S 2 7 022083 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE NUMBER M**3 2 0 20 M**3 2 7 022084 BAND CONTAINING MAXIMUM NON- DIRECTIONAL SPECTRAL WAVE DENSITY NUMERIC 0 0 7 NUMERIC 0 3 022085 SPECTRAL WAVE DENSITY RATIO NUMERIC 0 0 7 NUMERIC 0 3 022086 MEAN DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022087 PRINCIPAL DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022088 FIRST NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022089 SECOND NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022090 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S 2 0 20 M**2S 2 7 022091 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**3 2 0 20 M**3 2 7 022092 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S/RAD 2 0 20 M**2S/RAD 2 7 022093 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**4 2 0 20 M**4 2 7 022094 TOTAL NUMBER OF WAVE BANDS NUMERIC 0 0 7 NUMERIC 0 3 022095 DIRECTIONAL SPREAD OF INDIVIDUAL WAVES DEGREE 0 0 8 DEGREE 0 3 022096 SPECTRAL BAND WIDTH 1/S 3 0 4 1/S 3 2 022097 MEAN WAVELENGTH > 731 M OF IMAGE SPECTRUM AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022098 WAVELENGTH SPREAD (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022099 MEAN DIRECTION AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022100 DIRECTION SPREAD AT LOW WAVE NUMBERS(WAVELENGTH > 731 M) DEGREE 0 0 9 DEGREE 0 3 022101 TOTAL ENERGY (WAVELENGTH > 731M) AT LOW WAVE NUMBERS NUMERIC 0 0 31 NUMERIC 0 10 022120 TIDE STATION AUTOMATED WATER LEVEL CHECK CODE TABLE 22120 0 0 5 CODE TABLE 22120 0 2 022121 TIDE STATION MANUAL WATER LEVEL CHECK CODE TABLE 22121 0 0 5 CODE TABLE 22121 0 2 022122 TIDE STATION AUTOMATED METEOROLOGICAL DATA CHECK CODE TABLE 22122 0 0 5 CODE TABLE 22122 0 2 022123 TIDE STATION MANUAL METEOROLOGICAL DATA CHECK CODE TABLE 22123 0 0 5 CODE TABLE 22123 0 2 022141 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 2 0 15 K 2 5 022150 NUMBER OF 18 HZ VALID POINTS FOR KU BAND NUMERIC 0 0 10 NUMERIC 0 4 022151 KU BAND OCEAN RANGE M 3 0 31 M 3 10 022152 STD OF 18 HZ KU BAND OCEAN RANGE M 3 0 16 M 3 5 022153 NUMBER OF 18 HZ VALID POINTS FOR S BAND NUMERIC 0 0 10 NUMERIC 0 4 022154 S BAND OCEAN RANGE M 3 0 31 M 3 10 022155 STD OF 18 HZ S BAND OCEAN RANGE M 3 0 16 M 3 5 022156 KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022157 STD 18HZ KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022158 S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022159 STD 18HZ S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022160 NORMALIZED INVERSE WAVE AGE NUMERIC 6 0 21 NUMERIC 6 7 022161 WAVE SPECTRA M**4 4 0 27 M**4 4 9 023001 ACCIDENT EARLY NOTIFICATION ARTICLE APPLICABLE CODE TABLE 23001 0 0 3 CODE TABLE 23001 0 1 023002 ACTIVITY OR FACILITY INVOLVED IN INCIDENT CODE TABLE 23002 0 0 5 CODE TABLE 23002 0 2 023003 TYPE OF RELEASE CODE TABLE 23003 0 0 3 CODE TABLE 23003 0 1 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 23004 0 0 3 CODE TABLE 23004 0 1 023005 CAUSE OF INCIDENT CODE TABLE 23005 0 0 2 CODE TABLE 23005 0 1 023006 INCIDENT SITUATION CODE TABLE 23006 0 0 3 CODE TABLE 23006 0 1 023007 CHARACTERISTICS OF RELEASE CODE TABLE 23007 0 0 3 CODE TABLE 23007 0 1 023008 STATE OF CURRENT RELEASE CODE TABLE 23008 0 0 2 CODE TABLE 23008 0 1 023009 STATE OF EXPECTED RELEASE CODE TABLE 23009 0 0 2 CODE TABLE 23009 0 1 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 23016 0 0 2 CODE TABLE 23016 0 1 023017 FLOW DISCHARGE OF MAJOR RECIPIENT M**3/S 6 0 20 M**3/S 6 7 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 23018 0 0 3 CODE TABLE 23018 0 1 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 M 0 6 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 M 0 6 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 M 0 8 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 M/S 1 4 023024 MAIN TRANSPORT SPEED IN WATER M/S 2 0 13 M/S 2 4 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 M/S 2 4 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 23031 0 0 2 CODE TABLE 23031 0 1 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 23032 0 0 2 CODE TABLE 23032 0 1 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 Bq -11 9 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 Bq -11 9 024003 COMPOSITION OF RELEASE CODE TABLE 24003 0 0 5 CODE TABLE 24003 0 2 024004 ELEMENT NAME CCITTIA5 0 0 16 CHARACTER 0 2 024005 ISOTOPE MASS NUMERIC 0 0 9 NUMERIC 0 3 024011 DOSE mSv 2 0 32 mSv 2 10 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME OF ARRIVAL) mSv 2 0 32 mSv 2 10 024013 GAMMA DOSE IN AIR ALONG THE MAIN TRANSPORT PATH (DEFINED LOCATIO mSv 2 0 32 mSv 2 10 024021 AIR CONCENTRATION (OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA) Bq/M**3 2 0 32 Bq/M**3 2 10 024022 CONCENTRATION IN PRECIPITATION (OF NAMES ISOTOPE TYPE) Bq/L 2 0 32 BQ L-1 2 10 024023 PULSE RATE OF BETA RADIATION 1/S 1 0 14 1/S 1 4 024024 PULSE RATE OF GAMMA RADIATION 1/S 1 0 14 1/S 1 4 025001 RANGE-GATE LENGTH M -1 0 6 M -1 2 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 NUMERIC 0 2 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 NUMERIC 0 3 025004 ECHO PROCESSING CODE TABLE 25004 0 0 2 CODE TABLE 25004 0 1 025005 ECHO INTEGRATION CODE TABLE 25005 0 0 2 CODE TABLE 25005 0 1 025006 Z TO R CONVERSION CODE TABLE 25006 0 0 3 CODE TABLE 25006 0 1 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 NUMERIC 0 4 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 NUMERIC 2 3 025009 CALIBRATION METHOD FLAG TABLE 25009 0 0 4 FLAG TABLE 25009 0 2 025010 CLUTTER TREATMENT CODE TABLE 25010 0 0 4 CODE TABLE 25010 0 2 025011 GROUND OCCULTATION CORRECTION (SCREENING) CODE TABLE 25011 0 0 2 CODE TABLE 25011 0 1 025012 RANGE ATTENUATION CORRECTION CODE TABLE 25012 0 0 2 CODE TABLE 25012 0 1 025013 BRIGHT-BAND CORRECTION FLAG TABLE 25013 0 0 2 FLAG TABLE 25013 0 1 025014 AZIMUTH CLUTTER CUT-OFF (SEE NOTE 1) NUMERIC 0 0 12 NUMERIC 0 4 025015 RADOME ATTENUATION CORRECTION FLAG TABLE 25015 0 0 2 FLAG TABLE 25015 0 1 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 dB/M 5 2 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 25017 0 0 2 FLAG TABLE 25017 0 1 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 NUMERIC 7 2 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 NUMERIC 2 3 025020 MEAN SPEED ESTIMATION CODE TABLE 25020 0 0 2 CODE TABLE 25020 0 1 025021 WIND COMPUTATION ENHANCEMENT FLAG TABLE 25021 0 0 8 FLAG TABLE 25021 0 3 025025 BATTERY VOLTAGE V 1 0 9 V 1 3 025026 BATTERY VOLTAGE (LARGE RANGE) V 1 0 12 V 1 4 025028 OPERATOR OR MANUFACTURER DEFINED PARAMETER NUMERIC 1 -16384 15 NUMERIC 1 5 025030 RUNNING MEAN SEA-SURFACE TEMPERATURE USAGE CODE TABLE 25030 0 0 2 CODE TABLE 25030 0 1 025032 WIND PROFILER MODE INFORMATION CODE TABLE 25032 0 0 2 CODE TABLE 25032 0 1 025033 WIND PROFILER SUBMODE INFORMATION* CODE TABLE 25033 0 0 2 CODE TABLE 25033 0 1 025034 WIND PROFILER QUALITY CONTROL TEST RESULTS* FLAG TABLE 25034 0 0 4 FLAG TABLE 25034 0 2 025036 ATMOSPHERICS LOCATION METHOD CODE TABLE 25036 0 0 4 CODE TABLE 25036 0 2 025040 CO2 WIND PRODUCT DERIVATION CODE TABLE 25040 0 0 4 CODE TABLE 25040 0 2 025041 MOVING PLATFORM DIRECTION REPORTING METHOD CODE TABLE 25041 0 0 2 CODE TABLE 25041 0 1 025042 MOVING PLATFORM SPEED REPORTING METHOD CODE TABLE 25042 0 0 2 CODE TABLE 25042 0 1 025043 WAVE SAMPLING INTERVAL (TIME) S 4 0 15 S 4 5 025044 WAVE SAMPLING INTERVAL (SPACE) M 2 0 14 M 2 5 025045 HIRS CHANNEL COMBINATION FLAG TABLE 25045 0 0 21 FLAG TABLE 25045 0 7 025046 MSU CHANNEL COMBINATION FLAG TABLE 25046 0 0 5 FLAG TABLE 25046 0 2 025047 SSU CHANNEL COMBINATION FLAG TABLE 25047 0 0 4 FLAG TABLE 25047 0 2 025048 AMSU-A CHANNEL COMBINATION FLAG TABLE 25048 0 0 16 FLAG TABLE 25048 0 6 025049 AMSU-B CHANNEL COMBINATION FLAG TABLE 25049 0 0 6 FLAG TABLE 25049 0 2 025051 AVHRR CHANNEL COMBINATION FLAG TABLE 25051 0 0 7 FLAG TABLE 25051 0 3 025052 LOG-10 OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA NUMERIC 4 0 15 NUMERIC 4 5 025053 OBSERVATION QUALITY FLAG TABLE 25053 0 0 12 FLAG TABLE 25053 0 4 025054 SSMIS SUBFRAME ID NEMBER NUMERIC 0 0 5 NUMERIC 0 2 025055 MULTIPLEXER HOUSEKEEPING K 2 0 16 K 2 5 025060 SOFTWARE IDENTIFICATION (SEE NOTE 2) NUMERIC 0 0 14 NUMERIC 0 5 025061 SOFTWARE IDENTIFICATION AND VERSION NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 025062 DATABASE IDENTIFICATION NUMERIC 0 0 14 NUMERIC 0 5 025065 ORIENTATION CORRECTION (AZIMUTH) DEGREE 2 -1000 11 DEGREE 2 4 025066 ORIENTATION CORRECTION (ELEVATION) DEGREE 2 -1000 11 DEGREE 2 4 025067 RADIOSONDE RELEASE POINT PRESSURE CORRECTION PA 0 -8000 14 PA 0 4 025068 NUMBER OF ARCHIVE RECOMPUTES NUMERIC 0 0 7 NUMERIC 0 3 025069 FLIGHT LEVEL PRESSURE CORRECTIONS FLAG TABLE 25069 0 0 8 FLAG TABLE 25069 0 3 025070 MAJOR FRAME COUNT NUMERIC 0 0 4 NUMERIC 0 2 025071 FRAME COUNT NUMERIC 0 0 5 NUMERIC 0 2 025075 SATELLITE ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 NUMERIC 0 2 025076 LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER) FOR ATOVS LOG (1/M) 8 0 30 LOG (1/M) 8 10 025077 BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS NUMERIC 5 -100000 18 NUMERIC 5 7 025078 BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS NUMERIC 5 0 17 NUMERIC 5 6 025079 ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS W/M**2 4 0 24 W/M**2 4 8 025080 ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS M 10 0 14 M 10 5 025085 FRACTION OF CLEAR PIXELS IN HIRS FOV NUMERIC 0 0 7 NUMERIC 0 3 025086 DEPTH CORRECTION INDICATOR CODE TABLE 25086 0 0 2 CODE TABLE 25086 0 1 025091 STRUCTURE CONSTANT OF THE REFRACTION INDEX (CN2) dB 3 -18192 13 dB 3 5 025092 ACOUSTIC PROPAGATION VELOCITY M/S 2 28000 14 M/S 2 5 025093 RASS COMPUTATION CORRECTION FLAG TABLE 25093 0 0 8 FLAG TABLE 25093 0 3 025095 ALTIMETER STATE FLAG FLAG TABLE 25095 0 0 2 FLAG TABLE 25095 0 1 025096 RADIOMETER STATE FLAG FLAG TABLE 25096 0 0 5 FLAG TABLE 25096 0 2 025097 THREE DIMENSIONAL ERROR ESTIMATE OF THE NAVIGATOR ORBIT CODE TABLE 25097 0 0 4 CODE TABLE 25097 0 2 025100 XBT/XCTD FALL RATE EQUATION COEFFICIENT A NUMERIC 5 0 20 NUMERIC 5 6 025101 XBT/XCTD FALL RATE EQUATION COEFFICIENT B NUMERIC 5 -500000 21 NUMERIC 5 6 025102 NUMBER OF MISSING LINES EXCLUDING DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025103 NUMBER OF DIRECTIONAL BINS NUMERIC 0 0 8 NUMERIC 0 3 025104 NUMBER OF WAVE-LENGTH BINS NUMERIC 0 0 8 NUMERIC 0 3 025107 FIRST WAVE-LENGTH BIN M 3 0 29 M 3 9 025108 LAST WAVE-LENGTH BIN M 3 0 29 M 3 9 025111 NUMBER OF INPUT DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025120 RA2-L2-PROCESSING FLAG CODE TABLE 25120 0 0 2 CODE TABLE 25120 0 1 025121 RA2-L2-PROCESSING QUALITY % 0 0 7 % 0 3 025122 HARDWARE CONFIGURATION FOR RF CODE TABLE 25122 0 0 2 CODE TABLE 25122 0 1 025123 HARDWARE CONFIGURATION FOR HPA CODE TABLE 25123 0 0 2 CODE TABLE 25123 0 1 025124 MWR L2 PROCESSING FLAG CODE TABLE 25124 0 0 2 CODE TABLE 25124 0 1 025125 MWR L2-PROCESSING QUALITY % 0 0 7 % 0 3 025126 MODEL DRY TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025127 INVERTED BAROMETER CORRECTION M 3 -32768 16 M 3 5 025128 MODEL WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025129 MWR DERIVED WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025130 RA2 IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025131 IONOSPHERIC CORRECTION FROM DORIS ON KU BAND M 3 -32768 16 M 3 5 025132 IONOSPHERIC CORRECTION FROM MODEL ON KU BAND M 3 -32768 16 M 3 5 025133 SEA STATE BIAS CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025134 RA2 IONOSPHERIC CORRECTION ON S BAND M 3 -32768 16 M 3 5 025135 IONOSPHERIC CORRECTION FROM DORIS ON S BAND M 3 -32768 16 M 3 5 025136 IONOSPHERIC CORRECTION FROM MODEL ON S BAND M 3 -32768 16 M 3 5 025137 SEA STATE BIAS CORRECTION ON S BAND M 3 -32768 16 M 3 5 025138 AVERAGE SIGNAL TO NOISE RATION NUMERIC 0 -2048 12 NUMERIC 0 4 025140 START CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025141 END CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025142 CHANNEL SCALE FACTOR NUMERIC 0 0 6 NUMERIC 0 2 025150 SATELLITE INTENSITY ANALYSIS METHOD OF TROPICAL CYCLONE CODE TABLE 25150 0 0 4 CODE TABLE 25150 2 2 026001 PRINCIPAL TIME OF DAILY READING IN UTC OF MAXIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026002 PRINCIPAL TIME OF DAILY READING IN UTC OF MINIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026003 TIME DIFFERENCE MINUTE 0 -1440 12 MINUTE 0 4 026010 HOURS INCLUDED FLAG TABLE 26010 0 0 26 FLAG TABLE 26010 0 9 026020 DURATION OF PRECIPITATION MINUTE 0 0 11 MINUTE 0 4 027001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027003 ALTERNATE LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027004 ALTERNATE LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 NUMERIC 0 5 027021 SATELLITE SUBLOCATION DIMENSION NUMERIC 0 0 16 NUMERIC 0 5 027031 IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THE EARTH'S C M 2 -1073741824 31 M 2 10 027080 VIEWING AZIMUTH ANGLE DEGREE TRUE 2 0 16 DEGREE TRUE 0 5 028001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028003 ALTERNATE LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028004 ALTERNATE LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028031 IN DIRECTION 90 DEGREES EAST, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 029001 PROJECTION TYPE CODE TABLE 29001 0 0 3 CODE TABLE 29001 0 1 029002 CO-ORDINATE GRID TYPE CODE TABLE 29002 0 0 3 CODE TABLE 29002 0 1 030001 PIXEL VALUE (4 BITS) NUMERIC 0 0 4 NUMERIC 0 2 030002 PIXEL VALUE (8 BITS) NUMERIC 0 0 8 NUMERIC 0 3 030004 PIXEL VALUE (16 BITS) NUMERIC 0 0 16 NUMERIC 0 5 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 NUMERIC 0 4 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 NUMERIC 0 4 030031 PICTURE TYPE CODE TABLE 30031 0 0 4 CODE TABLE 30031 0 2 030032 COMBINATION WITH OTHER DATA FLAG TABLE 30032 0 0 16 FLAG TABLE 30032 0 6 031000 SHORT DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 1 NUMERIC 0 1 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 31021 0 0 6 CODE TABLE 31021 0 2 031031 DATA PRESENT INDICATOR FLAG TABLE 31031 0 0 1 FLAG TABLE 31031 0 1 033002 QUALITY INFORMATION CODE TABLE 33002 0 0 2 CODE TABLE 33002 0 1 033003 QUALITY INFORMATION CODE TABLE 33003 0 0 3 CODE TABLE 33003 0 1 033005 QUALITY INFORMATION (AWS DATA) FLAG TABLE 33005 0 0 30 FLAG TABLE 33005 0 10 033006 INTERNAL MEASUREMENT STATUS INFORMATION (AWS) CODE TABLE 33006 0 0 3 CODE TABLE 33006 0 1 033007 PER CENT CONFIDENCE % 0 0 7 % 0 3 033015 DATA QUALITY CHECK INDICATOR CODE TABLE 33015 0 0 6 CODE TABLE 33015 0 2 033020 QUALITY CONTROL INDICATION OF FOLLOWING VALUE CODE TABLE 33020 0 0 3 CODE TABLE 33020 0 1 033021 QUALITY OF FOLLOWING VALUE CODE TABLE 33021 0 0 2 CODE TABLE 33021 0 1 033022 QUALITY OF BUOY SATELLITE TRANSMISSION CODE TABLE 33022 0 0 2 CODE TABLE 33022 0 1 033023 QUALITY OF BUOY LOCATION CODE TABLE 33023 0 0 2 CODE TABLE 33023 0 1 033024 STATION ELEVATION QUALITY MARK (FOR MOBILE STATIONS) CODE TABLE 33024 0 0 4 CODE TABLE 33024 0 2 033025 ACARS INTERPOLATED VALUES CODE TABLE 33025 0 0 3 CODE TABLE 33025 0 1 033026 MOISTURE QUALITY CODE TABLE 33026 0 0 6 CODE TABLE 33026 0 2 033027 LOCATION QUALITY CLASS (RANGE OF RADIUS OF 66 % CONFIDENCE) CODE TABLE 33027 0 0 3 CODE TABLE 33027 0 1 033030 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 33030 0 0 24 FLAG TABLE 33030 0 8 033031 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 33031 0 0 24 FLAG TABLE 33031 0 8 033032 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 33032 0 0 24 FLAG TABLE 33032 0 8 033033 FIELD OF VIEW QUALITY FLAGS FOR ATOVS FLAG TABLE 33033 0 0 24 FLAG TABLE 33033 0 8 033035 MANUAL/AUTOMATIC QUALITY CONTROL CODE TABLE 33035 0 0 4 CODE TABLE 33035 0 2 033036 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 % 0 3 033037 WIND CORRELATION ERROR FLAG TABLE 33037 0 0 20 FLAG TABLE 33037 0 7 033038 QUALITY FLAGS FOR GROUND-BASED GNSS DATA FLAG TABLE 33038 0 0 10 FLAG TABLE 33038 0 4 033039 QUALITY FLAGS FOR RADIO OCCULTATION DATA FLAG TABLE 33039 0 0 16 FLAG TABLE 33039 0 6 033040 CONFIDENCE INTERVAL % 0 0 7 PERCENT 0 3 033041 ATTRIBUTE OF FOLLOWING VALUE CODE TABLE 33041 0 0 2 CODE TABLE 33041 0 1 033042 TYPE OF LIMIT REPRESENTED BY FOLLOWING VALUE CODE TABLE 33042 0 0 3 CODE TABLE 33042 0 1 033043 AST CONFIDENCE FLAG TABLE 33043 0 0 8 FLAG TABLE 33043 0 3 033044 ASAR QUALITY INFORMATION FLAG TABLE 33044 0 0 15 FLAG TABLE 33044 0 5 033045 PROBABILITY OF FOLLOWING EVENT % 0 0 7 % 0 3 033046 CONDITIONAL PROBABILITY OF FOLLOWING EVENT WITH RESPECT TO SPECI % 0 0 7 % 0 3 033047 MEASUREMENT CONFIDENCE DATA FLAG TABLE 33047 0 0 31 FLAG TABLE 33047 0 11 033048 CONFIDENCE MEASURE OF SAR INVERSION CODE TABLE 33048 0 0 2 CODE TABLE 33048 0 1 033049 CONFIDENCE MEASURE OF WIND RETRIEVAL CODE TABLE 33049 0 0 2 CODE TABLE 33049 0 1 033050 GLOBAL GTSPP QUALITY FLAG CODE TABLE 33050 0 0 4 CODE TABLE 33050 0 2 033052 S BAND OCEAN RETRACKING QUALITY FLAG TABLE 33052 0 0 21 FLAG TABLE 33052 0 7 033053 KU BAND OCEAN RETRACKING QUALITY FLAG TABLE 33053 0 0 21 FLAG TABLE 33053 0 7 033060 GQISFLAGQUAL-INDIVIDUAL IASI-SYSTEM QUALITY FLAG CODE TABLE 33060 0 0 2 CODE TABLE 33060 0 1 033061 GQISQUALINDEX - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033062 GQISQUALINDEXLOC - INDICATOR FOR GEOMETRIC QUALITY INDEX % 0 0 7 % 0 3 033063 GQISQUALINDEXRAD - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033064 GQISQUALINDEXSPECT - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033065 GQISSYSTECSONDQUAL - OUTPUT OF SYSTEM TEC QUALITY FUNCTION NUMERIC 0 0 24 NUMERIC 0 24 033066 SBUV TOTAL OZONE QUALITY CODE TABLE 33066 0 0 4 CODE TABLE 33066 0 2 033067 SBUV PROFILE OZONE QUALITY CODE TABLE 33067 0 0 4 CODE TABLE 33067 0 2 035000 FM AND REGIONAL CODE NUMBER CODE TABLE 35000 0 0 10 CODE TABLE 35000 0 3 035001 TIME-FRAME FOR MONITORING CODE TABLE 35001 0 0 3 CODE TABLE 35001 0 1 035011 NUMBER OF REPORTS ACTUALLY RECEIVED NUMERIC 0 0 14 NUMERIC 0 4 035021 BULLETIN BEING MONITORED (TTAAII) CCITTIA5 0 0 48 CHARACTER 0 6 035022 BULLETIN BEING MONITORED (YYGGGG) CCITTIA5 0 0 48 CHARACTER 0 6 035023 BULLETIN BEING MONITORED (CCCC) CCITTIA5 0 0 32 CHARACTER 0 4 035024 BULLETIN BEING MONITORED (BBB) CCITTIA5 0 0 24 CHARACTER 0 3 035030 DISCREPANCIES IN THE AVAILABILITY OF EXPECTED DATA CODE TABLE 35030 0 0 4 CODE TABLE 35030 0 1 035031 QUALIFIER ON MONITORING RESULTS CODE TABLE 35031 0 0 7 CODE TABLE 35031 0 2 035032 CAUSE OF MISSING DATA CODE TABLE 35032 0 0 4 CODE TABLE 35032 0 1 035033 OBSERVATION AND COLLECTION DEFICIENCIES CODE TABLE 35033 0 0 7 CODE TABLE 35033 0 2 035034 STATISTICAL TRENDS FOR AVAILABILITY OF DATA (DURING THE SURVEY P CODE TABLE 35034 0 0 3 CODE TABLE 35034 0 1 035035 REASON FOR TERMINATION CODE TABLE 35035 0 0 5 CODE TABLE 35035 0 2 040001 SURFACE SOIL MOISTURE (MS) % 1 0 10 % 1 4 040002 ESTIMATED ERROR IN SURFACE SOIL MOISTURE % 1 0 10 % 1 4 040003 MEAN SURFACE SOIL MOISTURE NUMERIC 3 0 10 NUMERIC 3 4 040004 RAIN FALL DETECTION NUMERIC 3 0 10 NUMERIC 3 4 040005 SOIL MOISTURE CORRECTION FLAG FLAG TABLE 40005 0 0 8 FLAG FLAG TABLE 40005 0 3 040006 SOIL MOISTURE PROCESSING FLAG FLAG TABLE 40006 0 0 16 FLAG FLAG TABLE 40006 0 5 040007 SOIL MOISTURE QUALITY % 1 0 10 % 1 4 040008 FROZEN LAND SURFACE FRACTION % 1 0 10 % 1 4 040009 INUNDATION AND WETLAND FRACTION % 1 0 10 % 1 4 040010 TOPOGRAPHIC COMPLEXITY % 1 0 10 % 1 4 emoslib-000392+dfsg.1/crextables/B0001030000755000175000017500000056104312127406245020376 0ustar amckinstryamckinstry 000001 TABLE A: ENTRY CCITTIA5 0 0 24 CHARACTER 0 3 000002 TABLE A: DATA CATEGORY DESCRIPTION, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000003 TABLE A: DATA CATEGORY DESCRIPTION, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000004 BUFR/CREX MASTER TABLE CCITTIA5 0 0 16 CHARACTER 0 2 000005 BUFR/CREX EDITION NUMBER CCITTIA5 0 0 24 CHARACTER 0 3 000006 BUFR MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000007 CREX MASTER TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000008 BUFR LOCAL TABLE VERSION NUMBER CCITTIA5 0 0 16 CHARACTER 0 2 000010 F DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 8 CHARACTER 0 1 000011 X DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 16 CHARACTER 0 2 000012 Y DESCRIPTOR TO BE ADDED OR DEFINED CCITTIA5 0 0 24 CHARACTER 0 3 000013 ELEMENT NAME, LINE 1 CCITTIA5 0 0 256 CHARACTER 0 32 000014 ELEMENT NAME, LINE 2 CCITTIA5 0 0 256 CHARACTER 0 32 000015 UNITS NAME CCITTIA5 0 0 192 CHARACTER 0 24 000016 UNITS SCALE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000017 UNITS SCALE CCITTIA5 0 0 24 CHARACTER 0 3 000018 UNITS REFERENCE SIGN CCITTIA5 0 0 8 CHARACTER 0 1 000019 UNITS REFERENCE VALUE CCITTIA5 0 0 80 CHARACTER 0 10 000020 ELEMENT DATA WIDTH CCITTIA5 0 0 24 CHARACTER 0 3 000030 DESCRIPTOR DEFINING SEQUENCE CCITTIA5 0 0 48 CHARACTER 0 6 001001 WMO BLOCK NUMBER NUMERIC 0 0 7 NUMERIC 0 2 001002 WMO STATION NUMBER NUMERIC 0 0 10 NUMERIC 0 3 001003 WMO REGION NUMBER/GEOGRAPHICAL AREA CODE TABLE 1003 0 0 3 CODE TABLE 1003 0 1 001004 WMO REGION SUB-AREA (SEE NOTE 9) NUMERIC 0 0 3 NUMERIC 0 1 001005 BUOY/PLATFORM IDENTIFIER NUMERIC 0 0 17 NUMERIC 0 5 001006 AIRCRAFT FLIGHT NUMBER CCITTIA5 0 0 64 CHARACTER 0 8 001007 SATELLITE IDENTIFIER CODE TABLE 1007 0 0 10 CODE TABLE 1007 0 4 001008 AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION CCITTIA5 0 0 64 CHARACTER 0 8 001009 TYPE OF COMMERCIAL AIRCRAFT CCITTIA5 0 0 64 CHARACTER 0 8 001010 STATIONARY BUOY PLATFORM IDENTIFIER; E.G. C-MAN BUOYS CCITTIA5 0 0 64 CHARACTER 0 8 001011 SHIP OR MOBILE LAND STATION IDENTIFIER CCITTIA5 0 0 72 CHARACTER 0 9 001012 DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 001013 SPEED OF MOTION OF MOVING OBSERVING PLATFORM* M/S 0 0 10 M/S 0 3 001014 PLATFORM DRIFT SPEED (HIGH PRECISION) M/S 2 0 10 M/S 2 4 001015 STATION OR SITE NAME CCITTIA5 0 0 160 CHARACTER 0 20 001018 SHORT STATION OR SITE NAME CCITTIA5 0 0 40 CHARACTER 0 5 001019 LONG STATION OR SITE NAME CCITTIA5 0 0 256 CHARACTER 0 32 001020 WMO REGION SUB-AREA NUMERIC 0 0 4 NUMERIC 0 2 001021 SYNOPTIC FEATURE IDENTIFIER NUMERIC 0 0 14 NUMERIC 0 4 001022 NAME OF FEATURE (SEE NOTE 11) CCITTIA5 0 0 224 CHARACTER 0 28 001023 OBSERVATION SEQUENCE NUMBER NUMERIC 0 0 9 NUMERIC 0 3 001025 STORM IDENTIFIER CCITTIA5 0 0 24 CHARACTER 0 3 001026 WMO STORM NAME CCITTIA5 0 0 64 CHARACTER 0 8 001027 WMO LONG STORM NAME CCITTIA5 0 0 80 CHARACTER 0 10 001031 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE (SEE NOTE 10) CODE TABLE 1031 0 0 16 CODE TABLE 1031 0 5 001032 GENERATING APPLICATION CODE TABLE 1032 0 0 8 CODE TABLE 1032 0 3 001033 IDENTIFICATION OF ORIGINATING/GENERATING CENTRE CODE TABLE 1033 0 0 8 CODE TABLE 1033 0 3 001034 IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE CODE TABLE 1034 0 0 8 CODE TABLE 1034 0 3 001035 ORIGINATING CENTRE COMMON CODE TABLE C-11 0 0 16 COMMON CODE TABLE C-11 0 5 001036 AGENCY IN CHARGE OF OPERATING THE OBSERVING PLATFORM CODE TABLE 1036 0 0 20 CODE TABLE 1036 0 7 001041 ABSOLUTE PLATFORM VELOCITY - FIRST COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001042 ABSOLUTE PLATFORM VELOCITY - SECOND COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001043 ABSOLUTE PLATFORM VELOCITY - THIRD COMPONENT (SEE NOTE 6) M/S 5 -1073741824 31 M/S 5 10 001050 PLATFORM TRANSMITTER ID NUMBER NUMERIC 0 0 17 NUMERIC 0 6 001051 PLATFORM TRANSMITTER ID NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001060 AIRCRAFT REPORTING POINT (BEACON IDENTIFIER) CCITTIA5 0 0 64 CHARACTER 0 8 001062 SHORT ICAO LOCATION INDICATOR CCITTIA5 0 0 32 CHARACTER 0 4 001063 ICAO LOCATION INDICATOR CCITTIA5 0 0 64 CHARACTER 0 8 001064 RUNWAY DESIGNATOR CCITTIA5 0 0 32 CHARACTER 0 4 001075 TIDE STATION IDENTIFICATION CCITTIA5 0 0 40 CHARACTER 0 5 001080 SHIP LINE NUMBER ACCORDING TO SOOP CCITTIA5 0 0 32 CHARACTER 0 4 001081 RADIOSONDE SERIAL NUMBER CCITTIA5 0 0 160 CHARACTER 0 20 001082 RADIOSONDE ASCENSION NUMBER (SEE NOTE 12) NUMERIC 0 0 14 NUMERIC 0 4 001083 RADIOSONDE RELEASE NUMBER (SEE NOTE 12) NUMERIC 0 0 3 NUMERIC 0 1 001085 OBSERVING PLATFORM MANUFACTURER'S MODEL CCITTIA5 0 0 160 CHARACTER 0 20 001086 OBSERVING PLATFORM MANUFACTURER'S SERIAL NUMBER CCITTIA5 0 0 256 CHARACTER 0 32 001087 WMO MARINE OBSERVING PLATFORM EXTENDED IDENTIFIER NUMERIC 0 0 23 NUMERIC 0 7 001090 TECHNIQUE FOR MAKING UP INITIAL PERTURBATIONS CODE TABLE 1090 0 0 8 CODE TABLE 1090 0 3 001091 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 10 NUMERIC 0 4 001092 TYPE OF ENSEMBLE FORECAST CODE TABLE 1092 0 0 8 CODE TABLE 1092 0 3 001093 BALLOON LOT NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 001094 WBAN NUMBER NUMERIC 0 0 17 NUMERIC 0 5 001095 OBSERVER IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 001096 STATION ACQUISITION CCITTIA5 0 0 160 CHARACTER 0 20 002001 TYPE OF STATION CODE TABLE 2001 0 0 2 CODE TABLE 2001 0 1 002002 TYPE OF INSTRUMENTATION FOR WIND MEASUREMENT FLAG TABLE 2002 0 0 4 FLAG TABLE 2002 0 2 002003 TYPE OF MEASURING EQUIPMENT USED CODE TABLE 2003 0 0 4 CODE TABLE 2003 0 2 002004 TYPE OF INSTRUMENTATION FOR EVAPORATION MEASUREMENT OR TYPE OF C CODE TABLE 2004 0 0 4 CODE TABLE 2004 0 2 002005 PRECISION OF TEMPERATURE OBSERVATION K 2 0 7 K 2 3 002011 RADIOSONDE TYPE CODE TABLE 2011 0 0 8 CODE TABLE 2011 0 3 002012 RADIOSONDE COMPUTATIONAL METHOD CODE TABLE 2012 0 0 4 CODE TABLE 2012 0 2 002013 SOLAR AND INFRARED RADIATION CORRECTION CODE TABLE 2013 0 0 4 CODE TABLE 2013 0 2 002014 TRACKING TECHNIQUE/STATUS OF SYSTEM USED CODE TABLE 2014 0 0 7 CODE TABLE 2014 0 3 002015 RADIOSONDE COMPLETENESS CODE TABLE 2015 0 0 4 CODE TABLE 2015 0 2 002016 RADIOSONDE CONFIGURATION FLAG TABLE 2016 0 0 5 FLAG TABLE 2016 0 2 002019 SATELLITE INSTRUMENTS CODE TABLE 2019 0 0 11 CODE TABLE 2019 0 4 002020 SATELLITE CLASSIFICATION CODE TABLE 2020 0 0 9 CODE TABLE 2020 0 3 002021 SATELLITE INSTRUMENT DATA USED IN PROCESSING FLAG TABLE 2021 0 0 9 FLAG TABLE 2021 0 3 002022 SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2022 0 0 8 FLAG TABLE 2022 0 3 002023 SATELLITE DERIVED WIND COMPUTATION METHOD CODE TABLE 2023 0 0 4 CODE TABLE 2023 0 2 002024 INTEGRATED MEAN HUMIDITY COMPUTATIONAL METHOD CODE TABLE 2024 0 0 4 CODE TABLE 2024 0 2 002025 SATELLITE CHANNEL(S) USED IN COMPUTATION FLAG TABLE 2025 0 0 25 FLAG TABLE 2025 0 9 002026 CROSS TRACK RESOLUTION M 2 0 12 M 2 4 002027 ALONG TRACK RESOLUTION M 2 0 12 M 2 4 002028 SEGMENT SIZE AT NADIR IN X DIRECTION M 0 0 18 M 0 6 002029 SEGMENT SIZE AT NADIR IN Y DIRECTION M 0 0 18 M 0 6 002030 METHOD OF CURRENT MEASUREMENT CODE TABLE 2030 0 0 3 CODE TABLE 2030 0 1 002031 DURATION AND TIME OF CURRENT MEASUREMENT CODE TABLE 2031 0 0 5 CODE TABLE 2031 0 2 002032 INDICATOR FOR DIGITIZATION CODE TABLE 2032 0 0 2 CODE TABLE 2032 0 1 002033 METHOD OF SALINITY/DEPTH MEASUREMENT CODE TABLE 2033 0 0 3 CODE TABLE 2033 0 1 002034 DROGUE TYPE CODE TABLE 2034 0 0 5 CODE TABLE 2034 0 2 002035 CABLE LENGTH M 0 0 9 M 0 3 002036 BUOY TYPE CODE TABLE 2036 0 0 2 CODE TABLE 2036 0 1 002037 METHOD OF TIDAL OBSERVATION CODE TABLE 2037 0 0 3 CODE TABLE 2037 0 1 002038 METHOD OF WATER TEMPERATURE AND/OR SALINITY MEASUREMENT CODE TABLE 2038 0 0 4 CODE TABLE 2038 0 2 002039 METHOD OF WET-BULB TEMPERATURE MEASUREMENT CODE TABLE 2039 0 0 3 CODE TABLE 2039 0 1 002040 METHOD OF REMOVING VELOCITY AND MOTION OF PLATFORM FROM CURRENT CODE TABLE 2040 0 0 4 CODE TABLE 2040 0 2 002041 METHOD FOR ESTIMATING REPORTS RELATED TO SYNOPTIC FEATURES CODE TABLE 2041 0 0 6 CODE TABLE 2041 0 2 002042 INDICATOR FOR SEA SURFACE CURRENT SPEED CODE TABLE 2042 0 0 2 CODE TABLE 2042 0 1 002044 INDICATOR FOR METHOD OF CALCULATING SPECTRAL WAVE DATA CODE TABLE 2044 0 0 4 CODE TABLE 2044 0 2 002045 INDICATOR FOR TYPE OF PLATFORM CODE TABLE 2045 0 0 4 CODE TABLE 2045 0 2 002046 WAVE MEASUREMENT INSTRUMENTATION CODE TABLE 2046 0 0 4 CODE TABLE 2046 0 2 002048 SATELLITE SENSOR INDICATOR CODE TABLE 2048 0 0 4 CODE TABLE 2048 0 2 002049 GEOSTATIONARY SATELLITE DATA-PROCESSING TECHNIQUE USED FLAG TABLE 2049 0 0 8 FLAG TABLE 2049 0 3 002050 GEOSTATIONARY SOUNDER SATELLITE CHANNELS USED FLAG TABLE 2050 0 0 20 FLAG TABLE 2050 0 7 002051 INDICATOR TO SPECIFY OBSERVING METHOD FOR EXTREME TEMPERATURES CODE TABLE 2051 0 0 4 CODE TABLE 2051 0 2 002052 GEOSTATIONARY IMAGER SATELLITE CHANNELS USED FLAG TABLE 2052 0 0 6 FLAG TABLE 2052 0 2 002053 GOES-I/M BRIGHTNESS TEMPERATURE CHARACTERISTICS CODE TABLE 2053 0 0 4 CODE TABLE 2053 0 2 002054 GOES-I/M SOUNDINGS PARAMETER CHARACTERISTICS CODE TABLE 2054 0 0 4 CODE TABLE 2054 0 2 002055 GEOSTATIONARY SOUNDINGS STATISTICAL PARAMETERS CODE TABLE 2055 0 0 4 CODE TABLE 2055 0 2 002056 GEOSTATIONARY SOUNDINGS ACCURACY STATISTICS CODE TABLE 2056 0 0 4 CODE TABLE 2056 0 2 002057 ORIGIN OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2057 0 0 4 CODE TABLE 2057 0 2 002058 VALID TIMES OF FIRST GUESS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2058 0 0 4 CODE TABLE 2058 0 2 002059 ORIGIN OF ANALYSIS INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2059 0 0 4 CODE TABLE 2059 0 2 002060 ORIGIN OF SURFACE INFORMATION FOR GOES-I/M SOUNDINGS CODE TABLE 2060 0 0 4 CODE TABLE 2060 0 2 002061 AIRCRAFT NAVIGATIONAL SYSTEM CODE TABLE 2061 0 0 3 CODE TABLE 2061 0 1 002062 TYPE OF AIRCRAFT DATA RELAY SYSTEM CODE TABLE 2062 0 0 4 CODE TABLE 2062 0 2 002063 AIRCRAFT ROLL ANGLE DEGREE 2 -18000 16 DEGREE 2 5 002064 AIRCRAFT ROLL ANGLE QUALITY CODE TABLE 2064 0 0 2 CODE TABLE 2064 0 1 002065 ACARS GROUND RECEIVING STATION CCITTIA5 0 0 40 CHARACTER 0 5 002066 RADIOSONDE GROUND RECEIVING SYSTEM CODE TABLE 2066 0 0 6 CODE TABLE 2066 0 2 002067 RADIOSONDE OPERATING FREQUENCY Hz -5 0 15 Hz -5 5 002070 ORIGINAL SPECIFICATION OF LATITUDE/LONGITUDE CODE TABLE 2070 0 0 4 CODE TABLE 2070 0 2 002080 BALLOON MANUFACTURER CODE TABLE 2080 0 0 6 CODE TABLE 2080 0 2 002081 TYPE OF BALLOON CODE TABLE 2081 0 0 5 CODE TABLE 2081 0 2 002082 WEIGHT OF BALLOON KG 3 0 12 KG 3 4 002083 TYPE OF BALLOON SHELTER CODE TABLE 2083 0 0 4 CODE TABLE 2083 0 2 002084 TYPE OF GAS USED IN BALLOON CODE TABLE 2084 0 0 4 CODE TABLE 2084 0 2 002085 AMOUNT OF GAS USED IN BALLOON KG 3 0 13 KG 3 4 002086 BALLOON FLIGHT TRAIN LENGTH M 1 0 10 M 1 4 002091 ENTRY SENSOR 4/20 MA A 4 0 10 A 4 3 002095 TYPE OF PRESSURE SENSOR CODE TABLE 2095 0 0 5 CODE TABLE 2095 0 2 002096 TYPE OF TEMPERATURE SENSOR CODE TABLE 2096 0 0 5 CODE TABLE 2096 0 2 002097 TYPE OF HUMIDITY SENSOR CODE TABLE 2097 0 0 5 CODE TABLE 2097 0 2 002100 RADAR CONSTANT dB 1 0 12 dB 1 4 002101 TYPE OF ANTENNA CODE TABLE 2101 0 0 4 CODE TABLE 2101 0 2 002102 ANTENNA HEIGHT ABOVE TOWER BASE M 0 0 8 M 0 3 002103 RADOME FLAG TABLE 2103 0 0 2 FLAG TABLE 2103 0 1 002104 ANTENNA POLARISATION CODE TABLE 2104 0 0 4 CODE TABLE 2104 0 2 002105 MAXIMUM ANTENNA GAIN dB 0 0 6 dB 0 2 002106 3-DB BEAMWIDTH DEGREE 1 0 6 DEGREE 1 2 002107 SIDELOBE SUPPRESSION dB 0 0 6 dB 0 2 002108 CROSSPOL DISCRIMINATION (ON AXIS) dB 0 0 6 dB 0 2 002109 ANTENNA SPEED (AZIMUTH) DEGREE/S 2 0 12 DEGREE/S 2 4 002110 ANTENNA SPEED (ELEVATION) DEGREE/S 2 0 12 DEGREE/S 2 4 002111 RADAR INCIDENCE ANGLE DEGREE 1 0 10 DEGREE 1 4 002112 RADAR LOOK ANGLE DEGREE 1 0 12 DEGREE 1 4 002113 NUMBER OF AZIMUTH LOOKS NUMERIC 0 0 4 NUMERIC 0 2 002114 ANTENNA EFFECTIVE SURFACE AREA M**2 0 0 15 M**2 0 5 002115 TYPE OF SURFACE OBSERVING EQUIPMENT CODE TABLE 2115 0 0 5 CODE TABLE 2115 0 2 002116 PERCENTAGE OF 320 MHZ BAND PROCESSED % 0 0 7 % 0 3 002117 PERCENTAGE OF 80 MHZ BAND PROCESSED % 0 0 7 % 0 3 002118 PERCENTAGE OF 20 MHZ BAND PROCESSED % 0 0 7 % 0 3 002119 RA-2 INSTRUMENT OPERATIONS CODE TABLE 2119 0 0 3 CODE TABLE 2119 0 1 002120 OCEAN WAVE FREQUENCY Hz 3 0 10 Hz 3 4 002121 MEAN FREQUENCY Hz -8 0 7 Hz -8 3 002122 FREQUENCY AGILITY RANGE Hz -6 -128 8 Hz -6 3 002123 PEAK POWER W -4 0 7 W -4 3 002124 AVERAGE POWER W -1 0 7 W -1 3 002125 PULSE REPETITION FREQUENCY Hz -1 0 8 Hz -1 3 002126 PULSE WIDTH S 7 0 6 S 7 2 002127 RECEIVER INTERMEDIATE FREQUENCY Hz -6 0 7 Hz -6 3 002128 INTERMEDIATE FREQUENCY BANDWIDTH Hz -5 0 6 Hz -5 2 002129 MINIMUM DETECTABLE SIGNAL dB 0 -150 5 dB 0 3 002130 DYNAMIC RANGE dB 0 0 7 dB 0 3 002131 SENSITIVITY TIME CONTROL (STC) FLAG TABLE 2131 0 0 2 FLAG TABLE 2131 0 1 002132 AZIMUTH POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002133 ELEVATION POINTING ACCURACY DEGREE 2 0 6 DEGREE 2 2 002134 ANTENNA BEAM AZIMUTH DEGREE 2 0 16 DEGREE 2 5 002135 ANTENNA ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 002136 RANGE PROCESSED BY RANGE ATTENUATION CORRECTION M -3 0 16 M -3 5 002140 SATELLITE RADAR BEAM AZIMUTH ANGLE DEGREE 0 0 9 DEGREE 0 3 002141 MEASUREMENT TYPE CCITTIA5 0 0 24 CHARACTER 0 3 002142 OZONE INSTRUMENT SERIAL NUMBER/ IDENTIFICATION CCITTIA5 0 0 32 CHARACTER 0 4 002143 OZONE INSTRUMENT TYPE CODE TABLE 2143 0 0 7 CODE TABLE 2143 0 3 002144 LIGHT SOURCE TYPE FOR BREWER SPECTRO PHOTOMETER CODE TABLE 2144 0 0 4 CODE TABLE 2144 0 2 002145 WAVE LENGTH SETTING FOR DOBSON INSTRUMENTS CODE TABLE 2145 0 0 4 CODE TABLE 2145 0 2 002146 SOURCE CONDITIONS FOR DOBSON INSTRUMENTS CODE TABLE 2146 0 0 4 CODE TABLE 2146 0 2 002148 DATA COLLECTION AND/OR LOCATION SYSTEM CODE TABLE 2148 0 0 5 CODE TABLE 2148 0 2 002149 TYPE OF DATA BUOY CODE TABLE 2149 0 0 6 CODE TABLE 2149 0 2 002150 TOVS/ATOVS/AVHRR INSTRUMENTATION CHANNEL NUMBER CODE TABLE 2150 0 0 6 CODE TABLE 2150 0 2 002151 RADIOMETER IDENTIFIER CODE TABLE 2151 0 0 11 CODE TABLE 2151 0 4 002152 SATELLITE INSTRUMENT USED IN DATA PROCESSING(6) FLAG TABLE 2152 0 0 31 FLAG TABLE 2152 0 10 002153 SATELLITE CHANNEL CENTRE FREQUENCY Hz -8 0 26 Hz -8 8 002154 SATELLITE CHANNEL BAND WIDTH Hz -8 0 26 Hz -8 8 002156 PERCENTAGE OF VALID KU OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002157 PERCENTAGE OF VALID S OCEAN RETRACKER MEASUREMENTS % 0 0 7 % 0 3 002158 RA-2 INSTRUMENT FLAG TABLE 2158 0 0 9 FLAG TABLE 2158 0 3 002159 MWR INSTRUMENT FLAG TABLE 2159 0 0 8 FLAG TABLE 2159 0 3 002160 WAVE LENGTH OF THE RADAR CODE TABLE 2160 0 0 4 CODE TABLE 2160 0 2 002163 HEIGHT ASSIGNMENT METHOD CODE TABLE 2163 0 0 4 CODE TABLE 2163 0 2 002164 TRACER CORRELATION METHOD CODE TABLE 2164 0 0 3 CODE TABLE 2164 0 1 002166 RADIANCE TYPE CODE TABLE 2166 0 0 4 CODE TABLE 2166 0 2 002167 RADIANCE COMPUTATIONAL METHOD CODE TABLE 2167 0 0 4 CODE TABLE 2167 0 2 002168 HYDROSTATIC PRESSURE OF LOWER END OF CABLE (THERMISTOR STRING) PA -3 0 16 KPA 0 5 002169 ANEMOMETER TYPE CODE TABLE 2169 0 0 4 CODE TABLE 2169 0 2 002172 PRODUCT TYPE FOR RETRIEVED ATMOSPHERIC GASES CODE TABLE 2172 0 0 8 CODE TABLE 2172 0 3 002173 SQUARE OF THE OFF NADIR ANGLE (7) DEGREE2 4 0 10 DEGREE2 4 4 002174 MEAN ACROSS TRACK PIXEL NUMBER NUMERIC 0 0 9 NUMERIC 0 3 002175 METHOD OF PRECIPITATION MEASUREMENT CODE TABLE 2175 0 0 4 CODE TABLE 2175 0 2 002176 METHOD OF STATE OF GROUND MEASUREMENT CODE TABLE 2176 0 0 4 CODE TABLE 2176 0 2 002177 METHOD OF SNOW DEPTH MEASUREMENT CODE TABLE 2177 0 0 4 CODE TABLE 2177 0 2 002178 METHOD OF LIQUID CONTENT MEASUREMENT OF PRECIPITATION CODE TABLE 2178 0 0 4 CODE TABLE 2178 0 2 002179 TYPE OF SKY CONDITION ALGORITHM CODE TABLE 2179 0 0 4 CODE TABLE 2179 0 2 002180 MAIN PRESENT WEATHER DETECTING SYSTEM CODE TABLE 2180 0 0 4 CODE TABLE 2180 0 2 002181 SUPPLEMENTARY PRESENT WEATHER SENSOR FLAG TABLE 2181 0 0 21 FLAG TABLE 2181 0 7 002182 VISIBILITY MEASUREMENT SYSTEM CODE TABLE 2182 0 0 4 CODE TABLE 2182 0 2 002183 CLOUD DETECTION SYSTEM CODE TABLE 2183 0 0 4 CODE TABLE 2183 0 2 002184 TYPE OF LIGHTNING DETECTION SENSOR CODE TABLE 2184 0 0 4 CODE TABLE 2184 0 2 002185 METHOD OF EVAPORATION MEASUREMENT CODE TABLE 2185 0 0 4 CODE TABLE 2185 0 2 002186 CAPABILITY TO DETECT PRECIPITATION PHENOMENA FLAG TABLE 2186 0 0 30 FLAG TABLE 2186 0 10 002187 CAPABILITY TO DETECT OTHER WEATHER PHENOMENA FLAG TABLE 2187 0 0 18 FLAG TABLE 2187 0 6 002188 CAPABILITY TO DETECT OBSCURATION FLAG TABLE 2188 0 0 21 FLAG TABLE 2188 0 7 002189 CAPABILITY TO DISCRIMINATE LIGHTNING STRIKES FLAG TABLE 2189 0 0 12 FLAG TABLE 2189 0 4 002190 LAGRANGIAN DRIFTER SUBMERGENCE (% TIME SUBMERGED) % 0 0 7 % 0 3 004001 YEAR YEAR 0 0 12 YEAR 0 4 004002 MONTH MONTH 0 0 4 MONTH 0 2 004003 DAY DAY 0 0 6 DAY 0 2 004004 HOUR HOUR 0 0 5 HOUR 0 2 004005 MINUTE MINUTE 0 0 6 MINUTE 0 2 004006 SECOND SECOND 0 0 6 SECOND 0 2 004007 SECONDS WITHIN A MINUTE (MICROSECOND ACCURACY) SECOND 6 0 26 S 6 8 004011 TIME INCREMENT YEAR 0 -1024 11 YEAR 0 4 004012 TIME INCREMENT MONTH 0 -1024 11 MONTH 0 4 004013 TIME INCREMENT DAY 0 -1024 11 DAY 0 4 004014 TIME INCREMENT HOUR 0 -1024 11 HOUR 0 4 004015 TIME INCREMENT MINUTE 0 -2048 12 MINUTE 0 4 004016 TIME INCREMENT SECOND 0 -4096 13 SECOND 0 4 004017 REFERENCE TIME PERIOD FOR ACCUMULATED OR EXTREME DATA MINUTE 0 -1440 12 MINUTE 0 4 004021 TIME PERIOD OR DISPLACEMENT YEAR 0 -1024 11 YEAR 0 4 004022 TIME PERIOD OR DISPLACEMENT MONTH 0 -1024 11 MONTH 0 4 004023 TIME PERIOD OR DISPLACEMENT DAY 0 -1024 11 DAY 0 4 004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -2048 12 HOUR 0 4 004025 TIME PERIOD OR DISPLACEMENT MINUTE 0 -2048 12 MINUTE 0 4 004026 TIME PERIOD OR DISPLACEMENT SECOND 0 -4096 13 SECOND 0 4 004031 DURATION OF TIME RELATING TO FOLLOWING VALUE HOUR 0 0 8 HOUR 0 3 004032 DURATION OF TIME RELATING TO FOLLOWING VALUE MINUTE 0 0 6 MINUTE 0 2 004041 TIME DIFFERENCE, UTC -LMT (SEE NOTE 6) MINUTE 0 -1440 12 MINUTE 0 4 004043 DAY OF THE YEAR DAY 0 0 9 DAY 0 3 004051 PRINCIPAL TIME OF DAILY READING OF MAXIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004052 PRINCIPAL TIME OF DAILY READING OF MINIMUM TEMPERATURE HOUR 0 0 5 HOUR 0 2 004053 NUMBER OF DAYS WITH PRECIPITATION EQUAL TO OR MORE THAN 1 MM NUMERIC 0 0 6 NUMERIC 0 2 004059 TIMES OF OBSERVATION USED TO COMPUTE THE REPORTED MEAN VALUES FLAG TABLE 4059 0 0 6 FLAG TABLE 4059 0 2 004065 SHORT TIME INCREMENT MINUTE 0 -128 8 MINUTE 0 2 004073 SHORT TIME PERIOD OR DISPLACEMENT DAY 0 -128 8 DAY 0 2 004074 SHORT TIME PERIOD OR DISPLACEMENT HOUR 0 -128 8 HOUR 0 2 004075 SHORT TIME PERIOD OR DISPLACEMENT MINUTE 0 -128 8 MINUTE 0 2 004080 AVERAGING PERIOD FOR FOLLOWING VALUE CODE TABLE 4080 0 0 4 CODE TABLE 4080 0 2 004086 LONG TIME PERIOD OR DISPLACEMENT SECOND 0 -8192 15 SECOND 0 5 005001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005011 LATITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005012 LATITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005015 LATITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 005016 LATITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 005021 BEARING OR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005022 SOLAR AZIMUTH DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 005023 SUN TO SATELLITE AZIMUTH DIFFERENCE DEGREE 1 -1800 12 DEGREE 1 4 005030 DIRECTION (SPECTRAL) DEGREE 0 0 12 DEGREE 0 4 005031 ROW NUMBER NUMERIC 0 0 12 NUMERIC 0 4 005033 PIXEL SIZE ON HORIZONTAL - 1 M -1 0 16 M -1 5 005034 ALONG TRACK ROW NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005036 SHIP TRANSECT NUMBER ACCORDING TO SOOP NUMERIC 0 0 7 NUMERIC 0 2 005040 ORBIT NUMBER NUMERIC 0 0 24 NUMERIC 0 8 005041 SCAN LINE NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005042 CHANNEL NUMBER NUMERIC 0 0 6 NUMERIC 0 2^M 005043 FIELD OF VIEW NUMBER NUMERIC 0 0 8 NUMERIC 0 3 005044 SATELLITE CYCLE NUMBER NUMERIC 0 0 11 NUMERIC 0 4 005052 CHANNEL NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005053 FIELD OF VIEW NUMBER INCREMENT NUMERIC 0 0 5 NUMERIC 0 2 005060 Y ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005061 Z ANGULAR POSITION FROM CENTRE OF GRAVITY DEGREE 6 -8000000 24 DEGREE 6 8 005193 ALONG TRACK ROW NUMBER AT 50 KM NUMERIC 0 0 10 NUMERIC 0 4 005194 ALONG TRACK ROW NUMBER AT 25 KM NUMERIC 0 0 11 NUMERIC 0 4 005195 ENSEMBLE MEMBER NUMBER NUMERIC 0 0 7 NUMERIC 0 3 005217 LOCATION OF PLATFORM, X M 2 -1073741824 31 M 2 10 005232 DIRECTION (SPECTRAL) DEGREE 2 0 16 DEGREE 2 5 006001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006011 LONGITUDE INCREMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006012 LONGITUDE INCREMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006015 LONGITUDE DISPLACEMENT (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 006016 LONGITUDE DISPLACEMENT (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 006021 DISTANCE M -1 0 13 M -1 4 006030 WAVE NUMBER (SPECTRAL) RAD/M 5 0 13 RAD/M 5 4 006031 COLUMN NUMBER NUMERIC 0 0 12 NUMERIC 0 4 006033 PIXEL SIZE ON HORIZONTAL - 2 M -1 0 16 M -1 5 006034 CROSS-TRACK CELL NUMBER NUMERIC 0 0 7 NUMERIC 0 3 006040 RADIUS OF CONFIDENCE M 0 0 13 M 0 4 006193 CROSS TRACK CELL NUMBER AT 50 KM NUMERIC 0 0 6 NUMERIC 0 2 006194 CROSS TRACK CELL NUMBER AT 25 KM NUMERIC 0 0 7 NUMERIC 0 3 006217 LOCATION OF PLATFORM, Y M 2 -1073741824 31 M 2 10 006232 WAVENUMBER (SPECTRAL) RADS/M 5 0 13 ADS/M 5 4 007001 HEIGHT OF STATION (SEE NOTE 1) M 0 -400 15 M 0 5 007002 HEIGHT OR ALTITUDE M -1 -40 16 M -1 5 007003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 007004 PRESSURE PA -1 0 14 PA -1 5 007005 HEIGHT INCREMENT M 0 -400 12 M 0 4 007006 HEIGHT ABOVE STATION M 0 0 15 M 0 5 007007 HEIGHT M 0 -1000 17 M 0 6 007008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 007009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 007010 FLIGHT LEVEL M 0 -1024 16 FT -1 5 007021 ELEVATION (SEE NOTE 2) DEGREE 2 -9000 15 DEGREE 2 5 007022 SOLAR ELEVATION DEGREE 2 -9000 15 DEGREE 2 5 007024 SATELLITE ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007025 SOLAR ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 007026 SATELLITE ZENITH ANGLE DEGREE 4 -900000 21 DEGREE 4 7 007030 HEIGHT OF STATION GROUND ABOVE MEAN SEA LEVEL (SEE NOTE 3) M 1 - 4000 17 M 1 5 007031 HEIGHT OF BAROMETER ABOVE MEAN SEA LEVEL (SEE NOTE 4) M 1 - 4000 17 M 1 5 007032 HEIGHT OF SENSOR ABOVE LOCAL GROUND (OR DECK OF MARINE PLATFORM) M 2 0 16 M 2 5 007033 HEIGHT OF SENSOR ABOVE WATER SURFACE (SEE NOTE 6) M 1 0 12 M 1 4 007040 IMPACT PARAMETER (SEE NOTE 8) M 1 62000000 22 M 1 8 007061 DEPTH BELOW LAND SURFACE M 2 0 14 M 2 5 007062 DEPTH BELOW SEA/WATER SURFACE M 1 0 17 M 1 6 007063 DEPTH BELOW SEA/WATER SURFACE M 2 0 20 M 2 7 007064 REPRESENTATIVE HEIGHT OF SENSOR ABOVE STATION (SEE NOTE 7) M 0 0 4 M 0 2 007065 WATER PRESSURE PA -3 0 17 PA 0 6 007070 DROGUE DEPTH M 0 0 10 M 0 4 007217 LOCATION OF PLATFORM, Z M 2 -1073741824 31 M 2 10 008001 VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8001 0 0 7 FLAG TABLE 8001 0 3 008002 VERTICAL SIGNIFICANCE (SURFACE OBSERVATIONS) CODE TABLE 8002 0 0 6 CODE TABLE 8002 0 2 008003 VERTICAL SIGNIFICANCE (SATELLITE OBSERVATIONS) CODE TABLE 8003 0 0 6 CODE TABLE 8003 0 2 008004 PHASE OF AIRCRAFT FLIGHT CODE TABLE 8004 0 0 3 CODE TABLE 8004 0 1 008005 METEOROLOGICAL ATTRIBUTE SIGNIFICANCE CODE TABLE 8005 0 0 4 CODE TABLE 8005 0 2 008006 OZONE VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8006 0 0 9 FLAG TABLE 8006 0 3 008007 DIMENSIONAL SIGNIFICANCE CODE TABLE 8007 0 0 4 CODE TABLE 8007 0 2 008008 RADIATION VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8008 0 0 9 FLAG TABLE 8008 0 3 008009 DETAILED PHASE OF FLIGHT CODE TABLE 8009 0 0 4 CODE TABLE 8009 0 2 008010 SURFACE QUALIFIER (TEMPERATURE DATA) CODE TABLE 8010 0 0 5 CODE TABLE 8010 0 2 008011 METEOROLOGICAL FEATURE CODE TABLE 8011 0 0 6 CODE TABLE 8011 0 2 008012 LAND/SEA QUALIFIER CODE TABLE 8012 0 0 2 CODE TABLE 8012 0 1 008013 DAY/NIGHT QUALIFIER CODE TABLE 8013 0 0 2 CODE TABLE 8013 0 1 008014 QUALIFIER FOR RUNWAY VISUAL RANGE CODE TABLE 8014 0 0 4 CODE TABLE 8014 0 2 008016 CHANGE QUALIFIER OF A TREND-TYPE FORECAST OR AN AERODROME FORECA CODE TABLE 8016 0 0 3 CODE TABLE 8016 0 1 008017 QUALIFIER OF THE TIME WHEN THE FORECAST CHANGE IS EXPECTED CODE TABLE 8017 0 0 2 CODE TABLE 8017 0 1 008018 SEAWINDS LAND/ICE SURFACE TYPE FLAG TABLE 8018 0 0 17 FLAG TABLE 8018 0 6 008020 TOTAL NUMBER OF MISSING ENTITIES (WITH RESPECT TO ACCUMULATION O NUMERIC 0 0 16 NUMERIC 0 5 008021 TIME SIGNIFICANCE CODE TABLE 8021 0 0 5 CODE TABLE 8021 0 2 008022 TOTAL NUMBER (WITH RESPECT TO ACCUMULATION OR AVERAGE) NUMERIC 0 0 16 NUMERIC 0 5 008023 FIRST ORDER STATISTICS CODE TABLE 8023 0 0 6 CODE TABLE 8023 0 2 008024 DIFFERENCE STATISTICS CODE TABLE 8024 0 0 6 CODE TABLE 8024 0 2 008025 TIME DIFFERENCE QUALIFIER CODE TABLE 8025 0 0 4 CODE TABLE 8025 0 2 008029 REMOTLY SENSED SURFACE TYPE CODE TABLE 8029 0 0 8 CODE TABLE 8029 0 3 008030 MANUAL ON CODES (VOLUME I.1, SECTION C) CODE TABLE FROM WHICH DA NUMERIC 0 0 13 NUMERIC 0 4 008031 DATA CATEGORY CREX TABLE A NUMERIC 0 0 8 NUMERIC 0 3 008033 METHOD OF DERIVATION OF PERCENTAGE CONFIDENCE CODE TABLE 8033 0 0 7 CODE TABLE 8033 0 3 008035 TYPE OF MONITORING EXERCISE CODE TABLE 8035 0 0 3 CODE TABLE 8035 0 1 008036 TYPE OF CENTRE OR STATION PERFORMING MONITORING CODE TABLE 8036 0 0 3 CODE TABLE 8036 0 1 008040 FLIGHT LEVEL SIGNIFICANCE CODE TABLE 8040 0 0 6 CODE TABLE 8040 0 2 008041 DATA SIGNIFICANCE CODE TABLE 8041 0 0 5 CODE TABLE 8041 0 2 008042 EXTENDED VERTICAL SOUNDING SIGNIFICANCE FLAG TABLE 8042 0 0 18 FLAG TABLE 8042 0 6 008049 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008050 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8050 0 0 4 CODE TABLE 8050 0 2 008051 QUALIFIER FOR NUMBER OF MISSING VALUES IN CALCULATION OF STATIST CODE TABLE 8051 0 0 3 CODE TABLE 8051 0 1 008052 CONDITION FOR WHICH NUMBER OF DAYS OF OCCURRENCE FOLLOWS CODE TABLE 8052 0 0 5 CODE TABLE 8052 0 2 008053 DAY OF OCCURRENCE QUALIFIER CODE TABLE 8053 0 0 2 CODE TABLE 8053 0 1 008060 SAMPLE SCANNING MODE SIGNIFICANCE CODE TABLE 8060 0 0 4 CODE TABLE 8060 0 2 008065 SUN-GLINT INDICATOR CODE TABLE 8065 0 0 2 CODE TABLE 8065 0 1 008066 SEMI-TRANSPARENCY INDICATOR CODE TABLE 8066 0 0 2 CODE TABLE 8066 0 1 008070 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8070 0 0 4 CODE TABLE 8070 0 2 008072 PIXEL(S) TYPE CODE TABLE 8072 0 0 3 CODE TABLE 8072 0 1 008074 ALTIMETER ECHO TYPE CODE TABLE 8074 0 0 2 CODE TABLE 8074 0 1 008075 ASCENDING/DESCENDING ORBIT QUALIFIER CODE TABLE 8075 0 0 2 CODE TABLE 8075 0 1 008076 TYPE OF BAND CODE TABLE 8076 0 0 6 CODE TABLE 8076 0 2 008081 TYPE OF EQUIPMENT CODE TABLE 8081 0 0 6 CODE TABLE 8081 0 2 008082 (CBS) ARTIFICIAL CORRECTION OF SENSOR HEIGHT TO ANOTHER VALUE CODE TABLE 8082 0 0 3 CODE TABLE 8082 0 1 008083 NOMINAL VALUE INDICATOR FLAG TABLE 8083 0 0 15 FLAG TABLE 8083 0 5 008085 BEAM IDENTIFIER CODE TABLE 8085 0 0 3 CODE TABLE 8085 0 1 008193 TIME QUALIFIER CODE TABLE 8193 0 0 6 CODE TABLE 8193 0 2 008194 TOVS/ATOVS PRODUCT QUALIFIER CODE TABLE 8194 0 0 4 CODE TABLE 8194 0 2 008195 DATA TYPE CODE TABLE 8195 0 0 7 CODE TABLE 8195 0 3 008200 NUMBER OF OBSERVATIONS NUMERIC 0 0 8 NUMERIC 0 3 008222 GENERATOR SIGNIFICANCE CODE TABLE 8222 0 0 4 CODE TABLE 8222 0 2 008223 LAND/ICE SURFACE FLAG FLAG TABLE 8223 0 0 7 FLAG TABLE 8223 0 3 008224 LAND/SEA FRACTION NUMERIC 3 0 10 NUMERIC 3 4 010001 HEIGHT OF LAND SURFACE M 0 -400 15 M 0 5 010002 HEIGHT M -1 -40 16 M -1 5 010003 GEOPOTENTIAL M**2/S**2 -1 -400 17 M**2/S**2 -1 6 010004 PRESSURE PA -1 0 14 PA -1 5 010007 HEIGHT M 0 -1000 17 M 0 6 010008 GEOPOTENTIAL M**2/S**2 0 -10000 20 M**2/S**2 0 7 010009 GEOPOTENTIAL HEIGHT GPM 0 -1000 17 GPM 0 5 010010 MINIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010011 MAXIMUM PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010031 IN DIRECTION OF THE NORTH POLE, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 010032 SATELLITE DISTANCE TO EARTH'S CENTRE M 1 0 27 M 2 9 010033 ALTITUDE (PLATFORM TO ELLIPSOID) M 1 0 27 M 2 9 010034 EARTH RADIUS M 1 0 27 M 2 9 010035 EARTH'S LOCAL RADIUS OF CURVATURE M 1 62000000 22 M 1 8 010036 GEOID UNDULATION (SEE NOTE 4) M 2 -15000 15 M 2 6 010040 NUMBER OF RETRIEVED LAYERS NUMERIC 0 0 10 NUMERIC 0 4 010050 STANDARD DEVIATION ALTITUDE M 2 0 16 M 2 5 010051 PRESSURE REDUCED TO MEAN SEA LEVEL PA -1 0 14 PA -1 5 010052 ALTIMETER SETTING (QNH) PA -1 0 14 PA -1 5 010060 PRESSURE CHANGE PA -1 -1024 11 PA -1 4 010061 3-HOUR PRESSURE CHANGE PA -1 -500 10 PA -1 4 010062 24-HOUR PRESSURE CHANGE PA -1 -1000 11 PA -1 4 010063 CHARACTERISTIC OF PRESSURE TENDENCY CODE TABLE 10063 0 0 4 CODE TABLE 10063 0 2 010070 INDICATED AIRCRAFT ALTITUDE M 0 -400 16 M 0 5 010080 VIEWING ZENITH ANGLE DEGREE 2 -9000 15 DEGREE 2 5 010081 ALTITUDE OF COG ABOVE REFERENCE ELLIPSOID M 3 0 31 M 3 10 010082 INSTANTANEOUS ALTITUDE RATE MS-1 3 -65536 17 MS-1 3 6 010083 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM PLATFORM DATA DEGREE2 2 0 16 DEGREE2 2 5 010084 SQUARED OFF NADIR ANGLE OF THE SATELLITE FROM WAVEFORM DATA DEGREE2 2 0 16 DEGREE2 2 5 010085 MEAN SEA SURFACE HEIGHT M 3 -131072 18 M 3 6 010086 GEOID'S HEIGHT M 3 -131072 18 M 3 6 010087 OCEAN DEPTH/LAND ELEVATION M 1 -131072 18 M 3 6 010088 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 1 M 3 -32768 16 M 3 5 010089 TOTAL GEOCENTRIC OCEAN TIDE HEIGHT SOLUTION 2 M 3 -32768 16 M 3 5 010090 LONG PERIOD TIDE HEIGHT M 3 -32768 16 M 3 5 010091 TIDAL LOADING HEIGHT M 3 -32768 16 M 3 5 010092 SOLID EARTH TIDE HEIGHT M 3 -32768 16 M 3 5 010093 GEOCENTRIC POLE TIDE HEIGHT M 3 -32768 16 M 3 5 010095 HEIGHT OF ATMOSPHERE USED M 0 0 16 M 0 5 011001 WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011002 WIND SPEED M/S 1 0 12 M/S 1 4 011003 U-COMPONENT M/S 1 -4096 13 M/S 1 4 011004 V-COMPONENT M/S 1 -4096 13 M/S 1 4 011005 W-COMPONENT PA/S 1 -512 10 PA/S 1 4 011006 W-COMPONENT M/S 2 -4096 13 M/S 2 4 011010 WIND DIRECTION ASSOCIATED WITH WIND SPEED WHICH FOLLOWS DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011011 WIND DIRECTION AT 10 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011012 WIND SPEED AT 10 M M/S 1 0 12 M/S 1 4 011013 WIND DIRECTION AT 5 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011014 WIND SPEED AT 5 M M/S 1 0 12 M/S 1 4 011016 EXTREME COUNTERCLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011017 EXTREME CLOCKWISE WIND DIRECTION OF A VARIABLE WIND DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011019 STEADINESS OF WIND (6) % 0 0 7 % 0 3 011021 RELATIVE VORTICITY 1/S 9 -65536 17 1/S 9 6 011022 DIVERGENCE 1/S 9 -65536 17 1/S 9 6 011023 VELOCITY POTENTIAL M**2/S -2 -65536 17 M**2/S -2 6 011030 EXTENDED DEGREE OF TURBULENCE CODE TABLE 11030 0 0 6 CODE TABLE 0 2 011031 DEGREE OF TURBULENCE CODE TABLE 11031 0 0 4 CODE TABLE 11031 0 2 011032 HEIGHT OF BASE OF TURBULENCE M -1 -40 16 M -1 5 011033 HEIGHT OF TOP OF TURBULENCE M -1 -40 16 M -1 5 011034 VERTICAL GUST VELOCITY M/S 1 -1024 11 M/S 1 4 011035 VERTICAL GUST ACCELERATION M/S**2 2 -8192 14 M/S**2 2 5 011036 MAXIMUM DERIVED EQUIVALENT VERTICAL GUST SPEED M/S 1 0 10 M/S 1 4 011037 TURBULENCE INDEX CODE TABLE 11037 0 0 6 CODE TABLE 11037 0 2 011038 TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11038 0 0 5 CODE TABLE 11038 0 2 011039 EXTENDED TIME OF OCCURRENCE OF PEAK EDDY DISSIPATION RATE CODE TABLE 11039 0 0 6 CODE TABLE 11039 0 2 011040 MAXIMUM WIND SPEED (MEAN WIND) M/S 1 0 12 M/S 1 4 011041 MAXIMUM WIND GUST SPEED M/S 1 0 12 M/S 1 4 011042 MAXIMUM WIND SPEED (10-MIN MEAN WIND) M/S 1 0 12 M/S 1 4 011043 MAXIMUM WIND GUST DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011044 MEAN WIND DIRECTION FOR SURFACE - 1500 M (5000 FEET) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011045 MEAN WIND SPEED FOR SURFACE - 1500 M (5000 FEET) M/S 1 0 12 M/S 1 4 011046 MAXIMUM INSTANTANEOUS WIND SPEED M/S 1 0 12 M/S 1 4 011047 MAXIMUM INSTANTANEOUS WIND SPEED OVER 10 MINUTES M/S 1 0 12 M/S 1 4 011049 STANDARD DEVIATION OF WIND DIRECTION DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011050 STANDARD DEVIATION OF HORIZONTAL WIND SPEED M/S 1 0 12 M/S 1 4 011051 STANDARD DEVIATION OF VERTICAL WIND SPEED M/S 1 0 8 M/S 1 3 011052 FORMAL UNCERTAINTY IN WIND SPEED M/S 2 0 13 M/S 2 5 011053 FORMAL UNCERTAINTY IN WIND DIRECTION DEGREE TRUE 2 0 15 DEGREE TRUE 2 5 011054 MEAN WIND DIRECTION FOR 1500 M - 3000 M DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 011055 MEAN WIND SPEED FOR 1500 M - 3000 M M/S 1 0 12 M/S 1 4 011061 ABSOLUTE WIND SHEAR IN 1 KM LAYER BELOW M/S 1 0 12 M/S 1 4 011062 ABSOLUTE WIND SHEAR IN 1 KM LAYER ABOVE M/S 1 0 12 M/S 1 4 011070 DESIGNATOR OF THE RUNWAY AFFECTED BY WIND SHEAR (INCLUDING ALL) CCITTIA5 0 0 32 CHARACTER 0 4 011071 TURBULENT VERTICAL MOMENTUM FLUX M**2/S**2 3 -128 14 M**2/S**2 3 5 011072 TURBULENT VERTICAL BUOYANCY FLUX KM/S 3 -128 11 KM/S 3 4 011073 TURBULENT KINETIC ENERGY M**2/S**2 2 -1024 13 M**2/S**2 2 4 011074 DISSIPATION ENERGY M**2/S**2 2 -1024 10 M**2/S**2 2 4 011075 MEAN TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011076 PEAK TURBULENCE INTENSITY (EDDY DISSIPATION RATE) M**(2/3)/S 2 0 8 M**(2/3)/S 2 3 011077 REPORTING INTERVAL OR AVERAGING TIME FOR EDDY DISSIPATION RATE S 0 0 12 S 0 4 011081 MODEL WIND DIRECTION AT 10M DEGREE TRUE 2 0 16 DEGREE TRUE 2 5 011082 MODEL WIND SPEED AT 10M M/S 2 0 14 M/S 2 4 011095 U COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011096 V COMPONENT OF THE MODEL WIND VECTOR M/S 1 -4096 13 M/S 1 4 011230 MAXIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011231 MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011232 MINIMUM MEAN WIND SPEED M/S 1 -4096 13 M/S 1 4^M 011233 HIGHEST GUST DURING THE 10 MINUTE PERIOD PRECEDING OBSERVATION M/S 1 -4096 13 M/S 1 4^M 012001 TEMPERATURE/DRY-BULB TEMPERATURE K 1 0 12 C 1 3 012002 WET-BULB TEMPERATURE K 1 0 12 C 1 3 012003 DEW-POINT TEMPERATURE K 1 0 12 C 1 3 012004 DRY-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012005 WET-BULB TEMPERATURE AT 2 M K 1 0 12 C 1 3 012006 DEW-POINT TEMPERATURE AT 2 M K 1 0 12 C 1 3 012007 VIRTUAL TEMPERATURE K 1 0 12 C 1 3 012011 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012012 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 1 0 12 C 1 3 012013 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 1 0 12 C 1 3 012014 MAXIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012015 MINIMUM TEMPERATURE AT 2 M, PAST 12 HOURS K 1 0 12 C 1 3 012016 MAXIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012017 MINIMUM TEMPERATURE AT 2 M, PAST 24 HOURS K 1 0 12 C 1 3 012021 MAXIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012022 MINIMUM TEMPERATURE AT 2M K 2 0 16 C 2 4 012030 SOIL TEMPERATURE K 1 0 12 C 1 3 012049 TEMPERATURE CHANGE OVER SPECIFIED PERIOD K 0 -30 6 C 0 2 012051 STANDARD DEVIATION TEMPERATURE K 1 0 10 C 1 3 012052 HIGHEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012053 LOWEST DAILY MEAN TEMPERATURE K 1 0 12 C 1 3 012061 SKIN TEMPERATURE K 1 0 12 C 1 3 012062 EQUIVALENT BLACK BODY TEMPERATURE K 1 0 12 C 1 3 012063 BRIGHTNESS TEMPERATURE K 1 0 12 C 1 3 012064 INSTRUMENT TEMPERATURE K 1 0 12 K 1 4 012065 STANDARD DEVIATION BRIGHTNESS TEMPERATURE K 1 0 12 K 1 4 012070 WARM LOAD TEMPERATURE K 2 0 16 K 2 5 012071 COLDEST CLUSTER TEMPERATURE K 1 0 12 K 1 4 012072 RADIANCE WM**(-2)SR**(-1) 6 0 31 WM**(-2)SR**(-1) 6 9 012073 TEMPERATURE K 2 0 16 K 2 5 012075 SPECTRAL RADIANCE WM**(-3)SR**(-1) -3 0 16 WM**(-3)SR**(-1) -3 5 012076 RADIANCE WM**(-2)SR**(-1) 3 0 16 WM**(-2)SR**(-1) 3 5 012101 TEMPERATURE/DRY-BULB TEMPERATURE K 2 0 16 C 2 4 012102 WET-BULB TEMPERATURE K 2 0 16 C 2 4 012103 DEW-POINT TEMPERATURE K 2 0 16 C 2 4 012104 DRY-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012105 WEB-BULB TEMPERATURE AT 2M K 2 0 16 C 2 4 012106 DEW-POINT TEMPERATURE AT 2M K 2 0 16 C 2 4 012107 VIRTUAL TEMPERATURE K 2 0 16 C 2 4 012111 MAXIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012112 MINIMUM TEMPERATURE, AT HEIGHT AND OVER PERIOD SPECIFIED K 2 0 16 C 2 4 012113 GROUND MINIMUM TEMPERATURE, PAST 12 HOURS K 2 0 16 C 2 4 012114 MAXIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012115 MINIMUM TEMPERATURE AT 2M, PAST 12 HOURS K 2 0 16 C 2 4 012116 MAXIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012117 MINIMUM TEMPERATURE AT 2M, PAST 24 HOURS K 2 0 16 C 2 4 012118 MAXIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012119 MINIMUM TEMPERATURE AT HEIGHT SPECIFIED, PAST 24 HOURS K 2 0 16 C 2 4 012121 GROUND MINIMUM TEMPERATURE K 2 0 16 C 2 4 012122 GROUND MINIMUM TEMPERATURE OF THE PRECEDING NIGHT K 2 0 16 C 2 4 012130 SOIL TEMPERATURE K 2 0 16 C 2 4 012151 STANDARD DEVIATION OF DAILY MEAN TEMPERATURE K 2 0 12 C 2 4 012152 HIGHEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012153 LOWEST DAILY MEAN TEMPERATURE K 2 0 16 C 2 4 012161 SKIN TEMPERATURE K 2 0 16 C 2 4 012162 EQUIVALENT BLACK BODY TEMPERATURE K 2 0 16 C 2 4 012163 BRIGHTNESS TEMPERATURE K 2 0 16 C 2 4 012164 INSTRUMENT TEMPERATURE K 2 0 16 K 2 5 012171 COLDEST CLUSTER TEMPERATURE K 2 0 16 K 2 5 012180 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012181 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012182 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS AT NADIR K 2 0 16 K 2 5 012183 AVERAGED 12 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012184 AVERAGED 11 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012185 AVERAGED 3.7 MICRON BT FOR ALL CLEAR PIXELS, FORWARD VIEW K 2 0 16 K 2 5 012186 MEAN NADIR SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012187 MEAN DUAL VIEW SEA SURFACE TEMPERATURE K 2 0 16 K 2 5 012188 INTERPOLATED 23.8 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 012189 INTERPOLATED 36.5 GHZ BRIGHTNESS T FROM MWR K 2 0 16 K 2 5 013001 SPECIFIC HUMIDITY KG/KG 5 0 14 KG/KG 5 5 013002 MIXING RATIO KG/KG 5 0 14 KG/KG 5 5 013003 RELATIVE HUMIDITY % 0 0 7 % 0 3 013004 VAPOUR PRESSURE PA -1 0 10 PA -1 4 013005 VAPOUR DENSITY KG/M**3 3 0 7 KG/M**3 3 3 013006 MIXING HEIGHTS M -1 -40 16 M -1 5 013007 MINIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013008 MAXIMUM RELATIVE HUMIDITY % 0 0 7 % 0 3 013009 RELATIVE HUMIDITY % 1 -1000 12 % 1 4 013011 TOTAL PRECIPITATION/TOTAL WATER EQUIVALENT KG/M**2 1 -1 14 KG/M**2 1 5 013012 DEPTH OF FRESH SNOW M 2 -2 12 M 2 4 013013 TOTAL SNOW DEPTH M 2 -2 16 M 2 5 013014 RAINFALL/WATER EQUIVALENT OF SNOW (AVERAGED RATE) KG/(M**2)S 4 0 12 KG/(M**2)S 4 4 013015 SNOWFALL (AVERAGED RATE) M/S 7 0 12 M/S 7 4 013016 PRECIPITABLE WATER KG/M**2 0 0 7 KG/M**2 0 3 013019 TOTAL PRECIPITATION PAST 1 HOUR KG/M**2 1 -1 14 KG/M**2 1 4 013020 TOTAL PRECIPITATION PAST 3 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013021 TOTAL PRECIPITATION PAST 6 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013022 TOTAL PRECIPITATION PAST 12 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013023 TOTAL PRECIPITATION PAST 24 HOURS KG/M**2 1 -1 14 KG/M**2 1 5 013031 EVAPOTRANSPIRATION KG/M**2 0 0 7 KG/M**2 0 3 013032 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 8 KG/M**2 1 3 013033 EVAPORATION/EVAPOTRANSPIRATION KG/M**2 1 0 10 KG/M**2 1 4 013038 SUPERADIABATIC INDICATOR CODE TABLE 13038 0 0 2 CODE TABLE 13038 0 1 013039 TERRAIN TYPE (ICE/SNOW) CODE TABLE 13039 0 0 3 CODE TABLE 13039 0 1 013040 SURFACE FLAG CODE TABLE 13040 0 0 4 CODE TABLE 13040 0 2 013041 PASQUILL-GIFFORD STABILITY CATEGORY CODE TABLE 13041 0 0 4 CODE TABLE 13041 0 2 013042 PARCEL LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013043 BEST LIFTED INDEX (TO 500 HPA) K 0 -20 6 K 0 2 013044 K INDEX K 0 -30 8 K 0 3 013045 KO INDEX K 0 -30 8 K 0 3 013046 MAXIMUM BUOYANCY K 0 -30 8 K 0 3 013047 MODIFIED SHOWALTER STABILITY INDEX K 0 -60 6 C 0 2 013051 FREQUENCY GROUP, PRECIPITATION CODE TABLE 13051 0 0 4 CODE TABLE 13051 0 2 013052 HIGHEST DAILY AMOUNT OF PRECIPITATION KG/M**2 1 -1 14 KG/M**2 1 5 013055 INTENSITY OF PRECIPITATION KG/(M**2)S 4 0 8 MM H-1 1 3 013056 CHARACTER AND INTENSITY OF PRECIPITATION CODE TABLE 13056 0 0 4 CODE TABLE 13056 0 2 013057 TIME OF BEGINNING OR END OF PRECIPITATION CODE TABLE 13057 0 0 4 CODE TABLE 13057 0 2 013058 SIZE OF PRECIPITATING ELEMENT M 4 0 7 MM 1 3 013059 NUMBER OF FLASHES (THUNDERSTORM) NUMERIC 0 0 7 NUMERIC 0 3 013060 TOTAL ACCUMULATED PRECIPITATION KG/M**2 1 -1 17 KG/M**2 1 5 013071 UPSTREAM WATER LEVEL M 2 0 14 M 2 5 013072 DOWNSTREAM WATER LEVEL M 2 0 14 M 2 4 013073 MAXIMUM WATER LEVEL M 2 0 14 M 2 4 013080 WATER PH pH 1 0 10 pH 1 3 013081 WATER CONDUCTIVITY S M-1 3 0 14 S M-1 3 4 013082 WATER TEMPERATURE K 1 0 12 K 1 4 013083 DISSOLVED OXYGEN KG/M**3 6 0 15 KG/M**3 6 5 013084 TURBIDITY LUMEN 0 0 14 LUMEN 0 4 013085 OXYDATION REDUCTION POTENTIAL (ORP) V 3 0 14 V 3 4 013090 RADIOMETER WATER VAPOUR CONTENT KG/M**2 1 0 10 KG/M**2 1 4 013091 RADIOMETER LIQUID CONTENT KG/M**2 2 0 8 KG/M**2 2 3 013093 CLOUD OPTICAL THICKNESS NUMERIC 0 0 8 NUMERIC 0 3 013095 TOTAL COLUMN WATER VAPOUR KG/M**2 4 0 19 KG/M**2 4 6 013096 MWR WATER VAPOUR CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013097 MWR LIQUID WATER CONTENT KG/M**2 2 0 14 KG/M**2 2 4 013098 INTEGRATED WATER VAPOUR DENSITY KG/M**2 8 0 30 KG/M**2 8 10 014001 LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014002 LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014003 SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014004 SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014011 NET LONG-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014012 NET LONG-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014013 NET SHORT-WAVE RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -3 -2048 12 J/M**2 -3 4 014014 NET SHORT-WAVE RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -3 -2048 12 J/M**2 -3 4 014015 NET RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 -16384 15 J/M**2 -4 5 014016 NET RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 -16384 15 J/M**2 -4 5 014017 INSTANTANEOUS LONG-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014018 INSTANTANEOUS SHORT-WAVE RADIATION (SEE NOTE 6) W/M**2 -3 -2048 12 W/M**2 -3 4 014019 SURFACE ALBEDO % 0 0 7 % 0 3 014020 GLOBAL SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014021 GLOBAL SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014022 DIFFUSE SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014023 DIFFUSE SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014024 DIRECT SOLAR RADIATION, INTEGRATED OVER 24 HOURS J/M**2 -4 0 15 J/M**2 -4 5 014025 DIRECT SOLAR RADIATION, INTEGRATED OVER PERIOD SPECIFIED J/M**2 -4 0 15 J/M**2 -4 5 014026 ALBEDO AT THE TOP OF CLOUDS % 0 0 7 % 0 3 014027 ALBEDO % 0 0 7 % 0 3 014028 GLOBAL SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014029 DIFFUSE SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD J/M**2 -2 0 16 J/M**2 -2 5 014030 DIRECT SOLAR RADIATION (HIGH ACCURACY), INTEGRATED OVER PERIOD S J/M**2 -2 0 16 J/M**2 -2 5 014031 TOTAL SUNSHINE MINUTE 0 0 11 MINUTE 0 4 014032 TOTAL SUNSHINE HOUR 0 0 10 HOUR 0 4 014033 TOTAL SUNSHINE % 0 0 9 % 0 3 014034 SUNSHINE OVER PERIOD SPECIFIED MINUTE 0 0 11 MINUTE 0 4 014042 BI-DIRECTIONAL REFLECTANCE % 0 0 7 % 0 3 014045 CHANNEL RADIANCE (W/M**2)*(1/SR)*CM 0 0 11 WM-2SR-1CM-1 0 4 014046 SCALED IASI RADIANCE (W/M**2)*(1/SR)*(1/M) 0 -5000 16 (W/M**2)*(1/SR)*(1/M) 0 5 014047 SCALED MEAN AVHRR RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014048 SCALED STANDARD DEVIATION RADIANCE (W/M**2)*(1/SR)*(1/M) 0 0 31 (W/M**2)*(1/SR)*(1/M) 0 10 014050 EMISSIVITY (SEE NOTE 5) % 1 0 10 % 1 4 014051 DIRECT SOLAR RADIATION INTEGRATED OVER LAST HOUR J/M**2 -3 0 14 JM-2 -3 4 014055 SOLAR ACTIVITY INDEX NUMERIC 0 -32768 16 NUMERIC 0 5 014061 (VAL) INSTANTANEOUS LONG-WAVE RADIATION W/M**2 0 -512 10 W/M**2 0 4 014062 (VAL) INSTANTANEOUS SHORT-WAVE RADIATION W/M**2 0 -2048 12 W/M**2 0 4 015001 TOTAL OZONE DU 0 0 10 DU 0 4 015002 AIR MASS (SLANT PATH AT 22 KM) NUMERIC 2 0 10 NUMERIC 2 3 015003 MEASURED OZONE PARTIAL PRESSURE (SOUNDING) PA 4 0 9 NBAR 0 3 015004 OZONE SOUNDING CORRECTION FACTOR NUMERIC 3 0 11 NUMERIC 3 4 015005 OZONE P DU 0 0 10 DU 0 3 015011 LOG 10 OF INTEGRATED ELECTRON DENSITY LOG (1/M2) 3 14000 13 LOG (M-2) 3 4 015015 MAXIMUM IMAGE SPECTRAL COMPONENT BEFORE NORMALIZATION NUMERIC 0 0 31 NUMERIC 0 10 015020 INTEGRATED 03 DENSITY KG/M**2 8 0 21 KG/M**2 8 7 015025 TYPE OF POLLUTANT CODE TABLE 15025 0 0 4 CODE TABLE 15025 0 2 015026 CONCENTRATION OF POLLUTANT MOLMOL-1 9 0 9 MOLMOL-1 9 3 015027 CONCENTRATION OF POLLUTANT KG/M3 9 0 10 KG/M3 9 4 015031 ATMOSPHERIC PATH DELAY IN SATELLITE SIGNAL M 4 10000 15 M 4 5 015032 ESTIMATED ERROR IN ATMOSPHERIC PATH DELAY M 4 0 10 M 4 4 015033 DIFFERENCE IN PATH DELAYS FOR LIMB VIEWS AT EXTREMES OF SCAN M 5 -10000 15 M 5 5 015034 ESTIMATED ERROR IN PATH DELAY DIFFERENCE M 5 0 14 M 5 5 015035 COMPONENT OF ZENITH PATH DELAY DUE TO WATER VAPOUR M 4 0 14 M 4 5 015036 ATMOSPHERIC REFRACTIVITY (SEE NOTE 5) N-UNITS 3 0 19 N-UNITS 3 6 015037 BENDING ANGLE RADIANS 8 -100000 23 RADIANS 8 7 019001 TYPE OF SYNOPTIC FEATURE CODE TABLE 19001 0 0 6 CODE TABLE 19001 0 2 019002 EFFECTIVE RADIUS OF FEATURE M -2 0 12 M -2 4 019003 WIND SPEED THRESHOLD M/S 0 0 8 M/S 0 3 019004 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD M -2 0 12 M -2 4 019005 DIRECTION OF MOTION OF FEATURE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 019006 SPEED OF MOTION OF FEATURE M/S 2 0 14 M/S 2 5 019007 EFFECTIVE RADIUS OF FEATURE M -3 0 12 M -3 4 019008 VERTICAL EXTENT OF CIRCULATION CODE TABLE 19008 0 0 3 CODE TABLE 19008 0 1 019009 EFFECTIVE RADIUS WITH RESPECT TO WIND SPEEDS ABOVE THRESHOLD (LA M -3 0 12 M -3 4 019010 METHOD FOR TRACKING THE CENTRE OF SYNOPTIC FEATURE CODE TABLE 19010 0 0 4 CODE TABLE 19010 0 2 019100 TIME INTERVAL TO CALCULATE THE MOVEMENT OF THE TROPICAL CYCLONE CODE TABLE 19100 0 0 4 CODE TABLE 19100 0 2 019101 ACCURACY OF THE POSITION OF THE CENTRE OF THE TROPICAL CYCLONE CODE TABLE 19101 0 0 4 CODE TABLE 19101 0 2 019102 SHAPE AND DEFINITION OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19102 0 0 3 CODE TABLE 19102 0 1 019103 DIAMETER OF MAJOR AXIS OF THE EYE OF THE TROPICAL CYCLONE CODE TABLE 19103 0 0 4 CODE TABLE 19103 0 2 019104 CHANGE IN CHARACTER OF THE EYE DURING THE 30 MINUTES CODE TABLE 19104 0 0 4 CODE TABLE 19104 0 2 019105 DISTANCE BETWEEN THE END OF SPIRAL BAND AND THE CENTRE CODE TABLE 19105 0 0 4 CODE TABLE 19105 0 2 019106 IDENTIFICATION NUMBER OF TROPICAL CYCLONE NUMERIC 0 0 7 NUMERIC 0 3 019107 TIME INTERVAL OF THE TROPICAL CYCLONE ANALYSIS CODE TABLE 19107 0 0 4 CODE TABLE 19107 0 2 019108 ACCURACY OF GEOGRAPHICAL POSITION OF THE TROPICAL CYCLONE CODE TABLE 19108 0 0 3 CODE TABLE 19108 0 1 019109 MEAN DIAMETER OF THE OVERCAST CLOUD OF THE TROPICAL CYCLONE CODE TABLE 19109 0 0 4 CODE TABLE 19109 0 2 019110 APPARENT 24-HOUR CHANGE IN INTENSITY OF TROPICAL CYCLONE CODE TABLE 19110 0 0 4 CODE TABLE 19110 0 2 019111 CURRENT INTENSITY (CI) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019112 DATA TROPICAL (DT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019113 CLOUD PATTERN TYPE OF THE DT- NUMBER CODE TABLE 19113 0 0 4 CODE TABLE 19113 0 2 019114 MODEL EXPECTED TROPICAL (MET) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019115 TREND OF PAST 24-HOUR CHANGE (+: DEVELOPED, -: WEAKENED) NUMERIC 1 -30 6 NUMERIC 1 2 019116 PATTERN TROPICAL (PT) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019117 CLOUD PICTURE TYPE OF THE PT- NUMBER CODE TABLE 19117 0 0 3 CODE TABLE 19117 0 1 019118 FINAL TROPICAL (T) NUMBER OF THE TROPICAL CYCLONE NUMERIC 1 0 7 NUMERIC 1 3 019119 TYPE OF THE FINAL T-NUMBER CODE TABLE 19119 0 0 3 CODE TABLE 19119 0 1 019150 TYPHOON INTERNATIONAL COMMON NUMBER (TYPHOON COMMITTEE) CCITTIA5 0 0 32 CHARACTER 0 4 020001 HORIZONTAL VISIBILITY M -1 0 13 M -1 4 020002 VERTICAL VISIBILITY M -1 0 7 M -1 3 020003 PRESENT WEATHER (SEE NOTE 1) CODE TABLE 20003 0 0 9 CODE TABLE 20003 0 3 020004 PAST WEATHER (1) (SEE NOTE 2) CODE TABLE 20004 0 0 5 CODE TABLE 20004 0 2 020005 PAST WEATHER (2) (SEE NOTE 2) CODE TABLE 20005 0 0 5 CODE TABLE 20005 0 2 020008 CLOUD DISTRIBUTION FOR AVIATION CODE TABLE 20008 0 0 5 CODE TABLE 20008 0 2 020009 GENERAL WEATHER INDICATOR (TAF/METAR) CODE TABLE 20009 0 0 4 CODE TABLE 20009 0 2 020010 CLOUD COVER (TOTAL) % 0 0 7 % 0 3 020011 CLOUD AMOUNT CODE TABLE 20011 0 0 4 CODE TABLE 20011 0 2 020012 CLOUD TYPE CODE TABLE 20012 0 0 6 CODE TABLE 20012 0 2 020013 HEIGHT OF BASE OF CLOUD M -1 -40 11 M -1 4 020014 HEIGHT OF TOP OF CLOUD M -1 -40 11 M -1 4 020015 PRESSURE AT BASE OF CLOUD PA -1 0 14 PA -1 5 020016 PRESSURE AT TOP OF CLOUD PA -1 0 14 PA -1 5 020017 CLOUD TOP DESCRIPTION CODE TABLE 20017 0 0 4 CODE TABLE 20017 0 2 020018 TENDENCY OF RUNWAY VISUAL RANGE CODE TABLE 20018 0 0 2 CODE TABLE 20018 0 1 020019 SIGNIFICANT PRESENT OR FORECAST WEATHER CCITTIA5 0 0 72 CHARACTER 0 9 020020 SIGNIFICANT RECENT WEATHER PHENOMENA CCITTIA5 0 0 32 CHARACTER 0 4 020021 TYPE OF PRECIPITATION FLAG TABLE 20021 0 0 30 FLAG TABLE 20021 0 10 020022 CHARACTER OF PRECIPITATION CODE TABLE 20022 0 0 4 CODE TABLE 20022 0 2 020023 OTHER WEATHER PHENOMENA FLAG TABLE 20023 0 0 18 FLAG TABLE 20023 0 6 020024 INTENSITY OF PHENOMENA CODE TABLE 20024 0 0 3 CODE TABLE 20024 0 1 020025 OBSCURATION FLAG TABLE 20025 0 0 21 FLAG TABLE 20025 0 7 020026 CHARACTER OF OBSCURATION CODE TABLE 20026 0 0 4 CODE TABLE 20026 0 2 020027 PHENOMENA OCCURRENCE FLAG TABLE 20027 0 0 9 FLAG TABLE 20027 0 3 020029 RAIN FLAG CODE TABLE 20029 0 0 2 CODE TABLE 20029 0 1 020031 ICE DEPOSIT (THICKNESS) M 2 0 7 M 2 3 020032 RATE OF ICE ACCRETION CODE TABLE 20032 0 0 3 CODE TABLE 20032 0 1 020033 CAUSE OF ICE ACCRETION FLAG TABLE 20033 0 0 4 FLAG TABLE 20033 0 2 020034 SEA ICE CONCENTRATION CODE TABLE 20034 0 0 5 CODE TABLE 20034 0 2 020035 AMOUNT AND TYPE OF ICE CODE TABLE 20035 0 0 4 CODE TABLE 20035 0 2 020036 ICE SITUATION CODE TABLE 20036 0 0 5 CODE TABLE 20036 0 2 020037 ICE DEVELOPMENT CODE TABLE 20037 0 0 5 CODE TABLE 20037 0 2 020038 BEARING OF ICE EDGE (SEE NOTE 3) DEGREE TRUE 0 0 12 DEGREE TRUE 0 3 020039 ICE DISTANCE M -1 0 13 M -1 4 020040 EVOLUTION OF DRIFT OF SNOW CODE TABLE 20040 0 0 4 CODE TABLE 20040 0 2 020041 AIRFRAME ICING CODE TABLE 20041 0 0 4 CODE TABLE 20041 0 2 020042 AIRFRAME ICING PRESENT CODE TABLE 20042 0 0 2 CODE TABLE 20042 0 1 020043 PEAK LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020044 AVERAGE LIQUID WATER CONTENT KG/M**3 4 0 7 KG/M**3 4 2 020045 SUPERCOOLED LARGE DROPLET (SLD) CONDITIONS CODE TABLE 20045 0 0 2 CODE TABLE 20045 0 2 020050 CLOUD INDEX CODE TABLE 20050 0 0 8 CODE TABLE 20050 0 3 020051 AMOUNT OF LOW CLOUDS % 0 0 7 % 0 3 020052 AMOUNT OF MIDDLE CLOUDS % 0 0 7 % 0 3 020053 AMOUNT OF HIGH CLOUDS % 0 0 7 % 0 3 020054 TRUE DIRECTION FROM WHICH CLOUDS ARE MOVING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 020055 STATE OF SKY IN TROPICS CODE TABLE 20055 0 0 4 CODE TABLE 20055 0 2 020056 CLOUD PHASE CODE TABLE 20056 0 0 3 CODE TABLE 20056 0 1 020061 RUNWAY VISUAL RANGE (RVR) M 0 0 12 M 0 4 020062 STATE OF THE GROUND (WITH OR WITHOUT SNOW) CODE TABLE 20062 0 0 5 CODE TABLE 20062 0 2 020063 SPECIAL PHENOMENA CODE TABLE 20063 0 0 10 CODE TABLE 20063 0 4 020065 SNOW COVER (SEE NOTE 4) % 0 0 7 % 0 3 020066 MAXIMUM DIAMETER OF HAILSTONES M 3 0 8 M 3 3 020067 DIAMETER OF DEPOSIT M 3 0 9 M 3 3 020070 MINIMUM NUMBER OF ATMOSPHERICS NUMERIC 0 0 7 NUMERIC 0 3 020071 ACCURACY OF FIX AND RATE OF ATMOSPHERICS CODE TABLE 20071 0 0 4 CODE TABLE 20071 0 2 020081 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020082 AMOUNT SEGMENT CLOUD FREE % 0 0 7 % 0 3 020083 AMOUNT OF SEGMENT COVERED BY SCENE % 0 0 7 % 0 3 020090 SPECIAL CLOUDS CODE TABLE 20090 0 0 4 CODE TABLE 20090 0 2 020095 ICE PROBABILITY NUMERIC 3 0 10 NUMERIC 3 4 020096 ICE AGE ("A" PARAMETER) dB 2 -4096 13 dB 2 4 020101 LOCUST (ACRIDIAN) NAME CODE TABLE 20101 0 0 4 CODE TABLE 20101 0 2 020102 LOCUST (MATURITY) COLOR CODE TABLE 20102 0 0 4 CODE TABLE 20102 0 2 020103 STAGE OF DEVELOPMENT OF LOCUSTS CODE TABLE 20103 0 0 4 CODE TABLE 20103 0 2 020104 ORGANIZATION STATE OF SWARM OR BAND OF LOCUSTS CODE TABLE 20104 0 0 4 CODE TABLE 20104 0 2 020105 SIZE OF SWARM OR BAND OF LOCUSTS AND DURATION OF PASSAGE OF SWARMCODE TABLE 20105 0 0 4 CODE TABLE 20105 0 2 020106 LOCUST POPULATION DENSITY CODE TABLE 20106 0 0 4 CODE TABLE 20106 0 2 020107 DIRECTION OF MOVEMENTS OF LOCUST SWARM CODE TABLE 20107 0 0 4 CODE TABLE 20107 0 2 020108 EXTENT OF VEGETATION CODE TABLE 20108 0 0 4 CODE TABLE 20108 0 2 020193 CLOUD AMOUNT IN SEGMENT % 0 0 7 % 0 3 020194 AMOUNT OF SEGMENT CLOUD FREE % 0 0 7 % 0 3 020215 PRESSURE AT THE BASE OF CLOUD PA -1 0 14 PA -1 5 021001 HORIZONTAL REFLECTIVITY dB 0 -64 7 dB 0 3 021002 VERTICAL REFLECTIVITY dB 0 -64 7 dB 0 3 021003 DIFFERENTIAL REFLECTIVITY dB 1 -5 7 dB 1 3 021005 LINEAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021006 CIRCULAR DEPOLARISATION RATIO dB 0 -65 6 dB 0 2 021011 DOPPLER MEAN VELOCITY IN X-DIRECTION M/S 0 -128 8 M/S 0 3 021012 DOPPLER MEAN VELOCITY IN Y-DIRECTION M/S 0 -128 8 M/S 0 3 021013 DOPPLER MEAN VELOCITY IN Z-DIRECTION M/S 0 -128 8 M/S 0 3 021014 DOPPLER MEAN VELOCITY (RADIAL) M/S 1 -4096 13 M/S 1 4 021017 DOPPLER VELOCITY SPECTRAL WIDTH M/S 1 0 8 M/S 1 3 021021 ECHO TOPS M -3 0 4 M -3 2 021030 SIGNAL TO NOISE RATIO dB 0 -32 8 dB 0 3 021031 VERTICALLY INTEGRATED LIQUID-WATER CONTENT KG/M**2 0 0 7 KG/M**2 0 3 021036 RADAR RAINFALL INTENSITY M/S 7 0 12 M/S 7 4 021041 BRIGHT-BAND HEIGHT M -2 0 8 M -2 3 021051 SIGNAL POWER ABOVE 1 MW dB 0 -256 8 dB 0 3 021062 BACKSCATTER dB 2 -5000 13 dB 2 4 021063 RADIOMETRIC RESOLUTION (NOISE VALUE) % 1 0 10 % 1 4 021064 CLUTTER NOISE ESTIMATE NUMERIC 0 0 8 NUMERIC 0 3 021065 MISSING PACKET COUNTER NUMERIC 0 -127 8 NUMERIC 0 3 021066 WAVE SCATTEROMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21066 0 0 12 FLAG TABLE 21066 0 4 021067 WIND PRODUCT CONFIDENCE DATA FLAG TABLE 21067 0 0 13 FLAG TABLE 21067 0 5 021068 RADAR ALTIMETER PRODUCT CONFIDENCE DATA FLAG TABLE 21068 0 0 8 FLAG TABLE 21068 0 3 021069 SST PRODUCT CONFIDENCE DATA FLAG TABLE 21069 0 0 10 FLAG TABLE 21069 0 4 021070 SST PRODUCT CONFIDENCE DATA (SADIST-2) FLAG TABLE 21070 0 0 23 FLAG TABLE 21070 0 6 021071 PEAKINESS NUMERIC 0 0 16 NUMERIC 0 5 021072 SATELLITE ALTIMETER CALIBRATION STATUS FLAG TABLE 21072 0 0 4 FLAG TABLE 21072 0 2 021073 SATELLLITE ALTIMETER INSTRUMENT MODE FLAG TABLE 21073 0 0 9 FLAG TABLE 21073 0 3 021075 IMAGE SPECTRUM INTENSITY NUMERIC 0 0 8 NUMERIC 0 3 021076 REPRESENTATION OF INTENSITIES CODE TABLE 21076 0 0 3 CODE TABLE 21076 0 1 021077 ALTITUDE CORRECTION (IONOSPHERE) M 3 0 14 M 3 5 021078 ALTITUDE CORRECTION (DRY TROPOSPHERE) M 3 0 9 M 3 3 021079 ALTITUDE CORRECTION (WET TROPOSPHERE) M 3 2000 10 M 3 4 021080 ALTITUDE CORRECTION (CALIBRATION CONSTANT) M 3 0 11 M 3 4 021081 OPEN LOOP CORRECTION (HEIGHT-TIME LOOP) M 3 0 10 M 3 4 021082 OPEN LOOP CORRECTION (AUTO GAIN CONTROL) dB 3 -3000 14 dB 3 5 021083 WARM TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021084 COLD TARGET CALIBRATION NUMERIC 0 0 16 NUMERIC 0 5 021085 ATSR SEA SURFACE TEMPERATURE ACROSS- TRACK BAND NUMBER NUMERIC 0 0 4 NUMERIC 0 2 021086 NUMBER OF PIXELS IN NADIR ONLY, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021087 NUMBER OF PIXELS IN DUAL VIEW, AVERAGE NUMERIC 0 0 9 NUMERIC 0 3 021088 WET BACKSCATTER dB 2 -5000 13 dB 2 4 021091 RADAR SIGNAL DOPPLER SPECTRUM 0TH MOMENT dB 0 -100 8 dB 0 3 021092 RASS SIGNAL DOPPLER SPECTRUM 0TH MOMENT, REFERRING TO RASS SIGNA dB 0 -100 8 dB 0 3 021093 Ku BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021094 S BAND PEAKINESS NUMERIC 3 0 16 NUMERIC 0 5 021101 NUMBER OF VECTOR AMBIGUITIES NUMERIC 0 0 3 NUMERIC 0 1 021102 INDEX OF SELECTED WIND VECTOR NUMERIC 0 0 3 NUMERIC 0 1 021103 TOTAL NUMBER OF SIGMA-0 MEASUREMENTS NUMERIC 0 0 5 NUMERIC 0 2 021104 LIKELIHOOD COMPUTED FOR SOLUTION NUMERIC 3 -30000 15 NUMERIC 3 5 021105 NORMALIZED RADAR CROSS-SECTION dB 2 -10000 14 dB 2 5 021106 KP VARIANCE COEFFICIENT (ALPHA) NUMERIC 3 0 14 NUMERIC 3 5 021107 KP VARIANCE COEFFICIENT (BETA) NUMERIC 8 0 16 NUMERIC 8 5 021109 SEAWINDS WIND VECTOR CELL QUALITY FLAG TABLE 21109 0 0 17 FLAG TABLE 21109 0 6 021110 NUMBER OF INNER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021111 NUMBER OF OUTER-BEAM SIGMA-0 (FORWARD OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021112 NUMBER OF INNER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021113 NUMBER OF OUTER-BEAM SIGMA-0 (AFT OF SATELLITE) NUMERIC 0 0 6 NUMERIC 0 2 021114 KP VARIANCE COEFFICENT (GAMMA) dB 3 -140000 18 dB 3 6 021115 SEAWINDS SIGMA-0 QUALITY FLAG TABLE 21115 0 0 17 FLAG TABLE 21115 0 6 021116 SEAWINDS SIGMA-0 MODE FLAG TABLE 21116 0 0 17 FLAG TABLE 21116 0 6 021117 SIGMA-0 VARIANCE QUALITY CONTROL NUMERIC 2 0 16 NUMERIC 2 5 021118 ATTENUATION CORRECTION ON SIGMA-0 dB 2 -10000 14 dB 2 5 021119 WIND SCATTEROMETER GEOPHYSICAL MODEL FUNCTION CODE TABLE 21119 0 0 6 CODE TABLE 21119 0 2 021120 PROBABILITY OF RAIN NUMERIC 3 0 10 NUMERIC 3 4 021121 SEAWINDS NOF* RAIN INDEX NUMERIC 0 0 8 NUMERIC 0 3 021122 ATTENUATION CORRECTION OF SIGMA-0 (FROM TB) dB 2 -10000 14 dB 2 5 021123 SEAWINDS NORMALIZED RADAR CROSS SECTION dB 2 -30000 15 dB 2 5 021128 NUMBER OF VALID POINTS PER SECOND USED TO DERIVE PREVIOUS PARAME NUMERIC 0 0 8 NUMERIC 0 3 021130 SPECTRUM TOTAL ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021131 SPECTRUM MAX ENERGY NUMERIC 6 0 28 NUMERIC 6 9 021132 DIRECTION OF SPECTRUM MAX ON HIGHER RESOLUTION GRID DEGREE 3 0 19 DEGREE 3 6 021133 WAVE-LENGTH OF SPECTRUM MAX ON HIGHER RESOLUTION GRID M 3 0 29 M 3 9 021134 RANGE RESOLUTION OF CRESS COVARIANCE SPECTRUM RAD/M 3 0 19 RAD/M 3 6 021135 REAL PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021136 IMAGINARY PART OF CROSS SPECTRA POLAR GRID NUMBER OF BINS NUMERIC 3 -524288 20 NUMERIC 3 7 021137 KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021138 STD KU BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021139 KU BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -2048 12 dB 2 4 021140 S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021141 STD S BAND CORRECTED OCEAN BACKSCATTER COEFFICIENT dB 2 -32768 16 dB 2 5 021142 S BAND NET INSTRUMENTAL CORRECTION FOR AGC dB 2 -1024 11 dB 2 4 021143 KU BAND RAIN ATTENUATION dB 2 -1073741824 31 dB 2 10 021144 ALTIMETER RAIN FLAG FLAG TABLE 21144 0 0 2 FLAG TABLE 21144 0 1 021150 BEAM COLLOCATION CODE TABLE 21150 0 0 2 CODE TABLE 21150 0 1 021151 ESTIMATED ERROR IN SIGMA0 AT 40DEG INCIDENCE ANGLE dB 2 0 9 dB 2 3 021152 SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -80 7 dB/DEG 2 3 021153 ESTIMATED ERROR IN SLOPE AT 40DEG INCIDENCE ANGLE dB/DEG 2 -40 6 dB/DEG 2 3 021154 SOIL MOISTURE SENSITIVITY dB 2 0 12 dB 2 4 021155 WIND VECTOR CELL QUALITY FLAG TABLE 21155 0 0 24 FLAG TABLE 21155 0 8 021156 BACKSCATTER DISTANCE NUMERIC 1 -4096 13 NUMERIC 1 4 021157 LOSS PER UNIT LENGTH OF ATMOSPHERE USED dB/M 10 0 22 dB/M 10 7 021158 ASCAT kp ESTIMATE QUALITY CODE TABLE 21158 0 0 2 CODE TABLE 21158 0 1 021159 ASCAT SIGMA-0 USABILITY CODE TABLE 21159 0 0 2 CODE TABLE 21159 0 1 021160 ASCAT USE OF SYNTHETIC DATA NUMERIC 3 0 10 NUMERIC 3 4 021161 ASCAT SYNTHETIC DATA QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021162 ASCAT SATELLITE ORBIT AND ATTITUDE QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021163 ASCAT SOLAR ARRAY REFLECTION CONTAMINATION NUMERIC 3 0 10 NUMERIC 3 4 021164 ASCAT TELEMETRY PRESENCE AND QUALITY NUMERIC 3 0 10 NUMERIC 3 4 021165 ASCAT EXTRAPOLATED REFERENCE FUNCTION PRESENCE NUMERIC 3 0 10 NUMERIC 3 4 021166 ASCAT LAND FRACTION NUMERIC 3 0 10 NUMERIC 3 4 022001 DIRECTION OF WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022002 DIRECTION OF WIND WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022003 DIRECTION OF SWELL WAVES DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022004 DIRECTION OF CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022005 DIRECTION OF SEA SURFACE CURRENT DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022011 PERIOD OF WAVES S 0 0 6 S 0 2 022012 PERIOD OF WIND WAVES S 0 0 6 S 0 2 022013 PERIOD OF SWELL WAVES S 0 0 6 S 0 2 022021 HEIGHT OF WAVES M 1 0 10 M 1 4 022022 HEIGHT OF WIND WAVES M 1 0 10 M 1 4 022023 HEIGHT OF SWELL WAVES M 1 0 10 M 1 4 022025 STANDARD DEVIATION WAVE HEIGHT M 2 0 10 M 2 4 022026 STANDARD DEVIATION OF SIGNIFICANT WAVE HEIGHT M 2 0 10 M 2 4 022031 SPEED OF CURRENT M/S 2 0 13 M/S 2 4 022032 SPEED OF SEA SURFACE CURRENT M/S 2 0 13 M/S 2 4 022035 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 2 0 14 M 2 4 022036 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 2 0 14 M 2 4 022037 TIDAL ELEVATION WITH RESPECT TO NATIONAL LAND DATUM M 3 -10000 15 M 3 5 022038 TIDAL ELEVATION WITH RESPECT TO LOCAL CHART DATUM M 3 -10000 15 M 3 5 022039 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 12 M 3 4 022040 METEOROLOGICAL RESIDUAL TIDAL ELEVATION (SURGE OR OFFSET) M 3 -5000 14 M 3 5 022041 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 1 0 12 K 1 4 022042 SEA/WATER TEMPERATURE K 1 0 12 K 1 4 022043 SEA/WATER TEMPERATURE K 2 0 15 K 2 5 022044 SOUND VELOCITY M/S 1 0 14 M/S 1 5 022045 SEA/WATER TEMPERATURE K 3 0 19 K 3 6 022049 SEA SURFACE TEMPERATURE K 2 0 15 K 2 5 022050 STANDARD DEVIATION SEA-SURFACE TEMPERATURE K 2 0 8 K 2 3 022055 FLOAT CYCLE NUMBER NUMERIC 0 0 10 NUMERIC 0 3 022056 DIRECTION OF PROFILE CODE TABLE 22056 0 0 2 CODE TABLE 22056 0 1 022059 SEA SURFACE SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022060 LAGRANGIAN DRIFTER DROGUE STATUS CODE TABLE 22060 0 0 3 CODE TABLE 22060 0 1 022061 STATE OF THE SEA CODE TABLE 22061 0 0 4 CODE TABLE 22061 0 2 022062 SALINITY PART PER THOUSAND 2 0 14 PART PER THOUSAND 2 5 022063 TOTAL WATER DEPTH M 0 0 14 M 0 5 022064 SALINITY PART PER THOUSAND 3 0 17 PART PER THOUSAND 3 6 022065 WATER PRESSURE PA -3 0 17 PA -3 6 022066 WATER CONDUCTIVITY S M-1 6 0 26 S M-1 6 8 022067 INSTRUMENT TYPE FOR WATER TEMPERATURE PROFILE MEASUREMENT CODE TABLE 22067 0 0 10 CODE TABLE 22067 0 4 022068 WATER TEMPERATURE PROFILE RECORDER TYPES CODE TABLE 22068 0 0 7 CODE TABLE 22068 0 3 022069 SPECTRAL WAVE DENSITY M2HZ-1 3 0 22 M2HZ-1 3 7 022070 SIGNIFICANT WAVE HEIGHT M 2 0 13 M 2 4 022071 SPECTRAL PEAK WAVE PERIOD S 1 0 9 S 1 3 022072 SPECTRAL PEAK WAVE LENGTH M 0 0 13 M 0 4 022073 MAXIMUM WAVE HEIGHT M 2 0 13 M 2 4 022074 AVERAGE WAVE PERIOD S 1 0 9 S 1 3 022075 AVERAGE WAVE LENGTH M 0 0 13 M 0 4 022076 DIRECTION FROM WHICH DOMINANT WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022077 DIRECTIONAL SPREAD OF DOMINANT WAVE DEGREE 0 0 9 DEGREE 0 3 022078 DURATION OF WAVE RECORD S 0 0 12 S 0 4 022079 LENGTH OF WAVE RECORD M 0 0 16 M 0 5 022080 WAVEBAND CENTRAL FREQUENCY Hz 3 0 10 Hz 3 4 022081 WAVEBAND CENTRAL WAVE NUMBER 1/M 5 0 13 1/M 5 4 022082 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE DENSITY M**2S 2 0 20 M**2S 2 7 022083 MAXIMUM NON-DIRECTIONAL SPECTRAL WAVE NUMBER M**3 2 0 20 M**3 2 7 022084 BAND CONTAINING MAXIMUM NON- DIRECTIONAL SPECTRAL WAVE DENSITY NUMERIC 0 0 7 NUMERIC 0 3 022085 SPECTRAL WAVE DENSITY RATIO NUMERIC 0 0 7 NUMERIC 0 3 022086 MEAN DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022087 PRINCIPAL DIRECTION FROM WHICH WAVES ARE COMING DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022088 FIRST NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022089 SECOND NORMALIZED POLAR COORDINATE FROM FOURIER COEFFICIENTS NUMERIC 2 0 7 NUMERIC 2 3 022090 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S 2 0 20 M**2S 2 7 022091 NON-DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**3 2 0 20 M**3 2 7 022092 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE FREQUENCY M**2S/RAD 2 0 20 M**2S/RAD 2 7 022093 DIRECTIONAL SPECTRAL ESTIMATE BY WAVE NUMBER M**4 2 0 20 M**4 2 7 022094 TOTAL NUMBER OF WAVE BANDS NUMERIC 0 0 7 NUMERIC 0 3 022095 DIRECTIONAL SPREAD OF INDIVIDUAL WAVES DEGREE 0 0 8 DEGREE 0 3 022096 SPECTRAL BAND WIDTH 1/S 3 0 4 1/S 3 2 022097 MEAN WAVELENGTH > 731 M OF IMAGE SPECTRUM AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022098 WAVELENGTH SPREAD (WAVELENGTH > 731 M) AT LOW WAVE NUMBERS M 0 0 14 M 0 5 022099 MEAN DIRECTION AT LOW WAVE NUMBERS (WAVELENGTH > 731 M) DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 022100 DIRECTION SPREAD AT LOW WAVE NUMBERS(WAVELENGTH > 731 M) DEGREE 0 0 9 DEGREE 0 3 022101 TOTAL ENERGY (WAVELENGTH > 731M) AT LOW WAVE NUMBERS NUMERIC 0 0 31 NUMERIC 0 10 022120 TIDE STATION AUTOMATED WATER LEVEL CHECK CODE TABLE 22120 0 0 5 CODE TABLE 22120 0 2 022121 TIDE STATION MANUAL WATER LEVEL CHECK CODE TABLE 22121 0 0 5 CODE TABLE 22121 0 2 022122 TIDE STATION AUTOMATED METEOROLOGICAL DATA CHECK CODE TABLE 22122 0 0 5 CODE TABLE 22122 0 2 022123 TIDE STATION MANUAL METEOROLOGICAL DATA CHECK CODE TABLE 22123 0 0 5 CODE TABLE 22123 0 2 022141 SEA-SURFACE TEMPERATURE (15-DAY RUNNING MEAN) K 2 0 15 K 2 5 022150 NUMBER OF 18 HZ VALID POINTS FOR KU BAND NUMERIC 0 0 10 NUMERIC 0 4 022151 KU BAND OCEAN RANGE M 3 0 31 M 3 10 022152 STD OF 18 HZ KU BAND OCEAN RANGE M 3 0 16 M 3 5 022153 NUMBER OF 18 HZ VALID POINTS FOR S BAND NUMERIC 0 0 10 NUMERIC 0 4 022154 S BAND OCEAN RANGE M 3 0 31 M 3 10 022155 STD OF 18 HZ S BAND OCEAN RANGE M 3 0 16 M 3 5 022156 KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022157 STD 18HZ KU BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022158 S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022159 STD 18HZ S BAND SIGNIFICANT WAVE HEIGHT M 3 0 16 M 3 5 022160 NORMALIZED INVERSE WAVE AGE NUMERIC 6 0 21 NUMERIC 6 7 022161 WAVE SPECTRA M**4 4 0 27 M**4 4 9 023001 ACCIDENT EARLY NOTIFICATION ARTICLE APPLICABLE CODE TABLE 23001 0 0 3 CODE TABLE 23001 0 1 023002 ACTIVITY OR FACILITY INVOLVED IN INCIDENT CODE TABLE 23002 0 0 5 CODE TABLE 23002 0 2 023003 TYPE OF RELEASE CODE TABLE 23003 0 0 3 CODE TABLE 23003 0 1 023004 COUNTERMEASURES TAKEN NEAR BORDER CODE TABLE 23004 0 0 3 CODE TABLE 23004 0 1 023005 CAUSE OF INCIDENT CODE TABLE 23005 0 0 2 CODE TABLE 23005 0 1 023006 INCIDENT SITUATION CODE TABLE 23006 0 0 3 CODE TABLE 23006 0 1 023007 CHARACTERISTICS OF RELEASE CODE TABLE 23007 0 0 3 CODE TABLE 23007 0 1 023008 STATE OF CURRENT RELEASE CODE TABLE 23008 0 0 2 CODE TABLE 23008 0 1 023009 STATE OF EXPECTED RELEASE CODE TABLE 23009 0 0 2 CODE TABLE 23009 0 1 023016 POSSIBILITY OF SIGNIFICANT CHEMICAL TOXIC HEALTH EFFECT CODE TABLE 23016 0 0 2 CODE TABLE 23016 0 1 023017 FLOW DISCHARGE OF MAJOR RECIPIENT M**3/S 6 0 20 M**3/S 6 7 023018 RELEASE BEHAVIOUR OVER TIME CODE TABLE 23018 0 0 3 CODE TABLE 23018 0 1 023019 ACTUAL RELEASE HEIGHT M 0 -15000 17 M 0 6 023021 EFFECTIVE RELEASE HEIGHT M 0 -15000 17 M 0 6 023022 DISTANCE OF RELEASE POINT OR SITE OF INCIDENT M 0 0 24 M 0 8 023023 MAIN TRANSPORT SPEED IN THE ATMOSPHERE M/S 1 0 12 M/S 1 4 023024 MAIN TRANSPORT SPEED IN WATER M/S 2 0 13 M/S 2 4 023025 MAIN TRANSPORT SPEED IN GROUND WATER M/S 2 0 13 M/S 2 4 023027 MAIN TRANSPORT DIRECTION IN THE ATMOSPHERE DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023028 MAIN TRANSPORT DIRECTION IN WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023029 MAIN TRANSPORT DIRECTION IN GROUND WATER DEGREE TRUE 0 0 9 DEGREE TRUE 0 3 023031 POSSIBILITY THAT PLUME WILL ENCOUNTER PRECIPITATION IN STATE IN CODE TABLE 23031 0 0 2 CODE TABLE 23031 0 1 023032 PLUME WILL ENCOUNTER CHANGE IN WIND DIRECTION AND/OR SPEED FLAG CODE TABLE 23032 0 0 2 CODE TABLE 23032 0 1 024001 ESTIMATE OF AMOUNT OF RADIOACTIVITY RELEASED UP TO SPECIFIED TIM Bq -11 0 28 Bq -11 9 024002 ESTIMATED MAXIMUM POTENTIAL RELEASE Bq -11 0 28 Bq -11 9 024003 COMPOSITION OF RELEASE CODE TABLE 24003 0 0 5 CODE TABLE 24003 0 2 024004 ELEMENT NAME CCITTIA5 0 0 16 CHARACTER 0 2 024005 ISOTOPE MASS NUMERIC 0 0 9 NUMERIC 0 3 024011 DOSE mSv 2 0 32 mSv 2 10 024012 TRAJECTORY DOSE (DEFINED LOCATION AND EXPECTED TIME OF ARRIVAL) mSv 2 0 32 mSv 2 10 024013 GAMMA DOSE IN AIR ALONG THE MAIN TRANSPORT PATH (DEFINED LOCATIO mSv 2 0 32 mSv 2 10 024021 AIR CONCENTRATION (OF NAMED ISOTOPE TYPE INCLUDING GROSS BETA) Bq/M**3 2 0 32 Bq/M**3 2 10 024022 CONCENTRATION IN PRECIPITATION (OF NAMES ISOTOPE TYPE) Bq/L 2 0 32 BQ L-1 2 10 024023 PULSE RATE OF BETA RADIATION 1/S 1 0 14 1/S 1 4 024024 PULSE RATE OF GAMMA RADIATION 1/S 1 0 14 1/S 1 4 025001 RANGE-GATE LENGTH M -1 0 6 M -1 2 025002 NUMBER OF GATES AVERAGED NUMERIC 0 0 4 NUMERIC 0 2 025003 NUMBER OF INTEGRATED PULSES NUMERIC 0 0 8 NUMERIC 0 3 025004 ECHO PROCESSING CODE TABLE 25004 0 0 2 CODE TABLE 25004 0 1 025005 ECHO INTEGRATION CODE TABLE 25005 0 0 2 CODE TABLE 25005 0 1 025006 Z TO R CONVERSION CODE TABLE 25006 0 0 3 CODE TABLE 25006 0 1 025007 Z TO R CONVERSION FACTOR NUMERIC 0 0 12 NUMERIC 0 4 025008 Z TO R CONVERSION EXPONENT NUMERIC 2 0 9 NUMERIC 2 3 025009 CALIBRATION METHOD FLAG TABLE 25009 0 0 4 FLAG TABLE 25009 0 2 025010 CLUTTER TREATMENT CODE TABLE 25010 0 0 4 CODE TABLE 25010 0 2 025011 GROUND OCCULTATION CORRECTION (SCREENING) CODE TABLE 25011 0 0 2 CODE TABLE 25011 0 1 025012 RANGE ATTENUATION CORRECTION CODE TABLE 25012 0 0 2 CODE TABLE 25012 0 1 025013 BRIGHT-BAND CORRECTION FLAG TABLE 25013 0 0 2 FLAG TABLE 25013 0 1 025014 AZIMUTH CLUTTER CUT-OFF (SEE NOTE 1) NUMERIC 0 0 12 NUMERIC 0 4 025015 RADOME ATTENUATION CORRECTION FLAG TABLE 25015 0 0 2 FLAG TABLE 25015 0 1 025016 CLEAR-AIR ATTENUATION CORRECTION dB/M 5 0 6 dB/M 5 2 025017 PRECIPITATION ATTENUATION CORRECTION FLAG TABLE 25017 0 0 2 FLAG TABLE 25017 0 1 025018 A TO Z LAW FOR ATTENUATION FACTOR NUMERIC 7 0 6 NUMERIC 7 2 025019 A TO Z LAW FOR ATTENUATION EXPONENT NUMERIC 2 0 7 NUMERIC 2 3 025020 MEAN SPEED ESTIMATION CODE TABLE 25020 0 0 2 CODE TABLE 25020 0 1 025021 WIND COMPUTATION ENHANCEMENT FLAG TABLE 25021 0 0 8 FLAG TABLE 25021 0 3 025025 BATTERY VOLTAGE V 1 0 9 V 1 3 025026 BATTERY VOLTAGE (LARGE RANGE) V 1 0 12 V 1 4 025028 OPERATOR OR MANUFACTURER DEFINED PARAMETER NUMERIC 1 -16384 15 NUMERIC 1 5 025030 RUNNING MEAN SEA-SURFACE TEMPERATURE USAGE CODE TABLE 25030 0 0 2 CODE TABLE 25030 0 1 025032 WIND PROFILER MODE INFORMATION CODE TABLE 25032 0 0 2 CODE TABLE 25032 0 1 025033 WIND PROFILER SUBMODE INFORMATION* CODE TABLE 25033 0 0 2 CODE TABLE 25033 0 1 025034 WIND PROFILER QUALITY CONTROL TEST RESULTS* FLAG TABLE 25034 0 0 4 FLAG TABLE 25034 0 2 025036 ATMOSPHERICS LOCATION METHOD CODE TABLE 25036 0 0 4 CODE TABLE 25036 0 2 025040 CO2 WIND PRODUCT DERIVATION CODE TABLE 25040 0 0 4 CODE TABLE 25040 0 2 025041 MOVING PLATFORM DIRECTION REPORTING METHOD CODE TABLE 25041 0 0 2 CODE TABLE 25041 0 1 025042 MOVING PLATFORM SPEED REPORTING METHOD CODE TABLE 25042 0 0 2 CODE TABLE 25042 0 1 025043 WAVE SAMPLING INTERVAL (TIME) S 4 0 15 S 4 5 025044 WAVE SAMPLING INTERVAL (SPACE) M 2 0 14 M 2 5 025045 HIRS CHANNEL COMBINATION FLAG TABLE 25045 0 0 21 FLAG TABLE 25045 0 7 025046 MSU CHANNEL COMBINATION FLAG TABLE 25046 0 0 5 FLAG TABLE 25046 0 2 025047 SSU CHANNEL COMBINATION FLAG TABLE 25047 0 0 4 FLAG TABLE 25047 0 2 025048 AMSU-A CHANNEL COMBINATION FLAG TABLE 25048 0 0 16 FLAG TABLE 25048 0 6 025049 AMSU-B CHANNEL COMBINATION FLAG TABLE 25049 0 0 6 FLAG TABLE 25049 0 2 025051 AVHRR CHANNEL COMBINATION FLAG TABLE 25051 0 0 7 FLAG TABLE 25051 0 3 025052 LOG-10 OF PRINCIPAL COMPONENTS NORMALIZED FIT TO DATA NUMERIC 4 0 15 NUMERIC 4 5 025053 OBSERVATION QUALITY FLAG TABLE 25053 0 0 12 FLAG TABLE 25053 0 4 025054 SSMIS SUBFRAME ID NEMBER NUMERIC 0 0 5 NUMERIC 0 2 025055 MULTIPLEXER HOUSEKEEPING K 2 0 16 K 2 5 025060 SOFTWARE IDENTIFICATION (SEE NOTE 2) NUMERIC 0 0 14 NUMERIC 0 5 025061 SOFTWARE IDENTIFICATION AND VERSION NUMBER CCITTIA5 0 0 96 CHARACTER 0 12 025062 DATABASE IDENTIFICATION NUMERIC 0 0 14 NUMERIC 0 5 025065 ORIENTATION CORRECTION (AZIMUTH) DEGREE 2 -1000 11 DEGREE 2 4 025066 ORIENTATION CORRECTION (ELEVATION) DEGREE 2 -1000 11 DEGREE 2 4 025067 RADIOSONDE RELEASE POINT PRESSURE CORRECTION PA 0 -8000 14 PA 0 4 025068 NUMBER OF ARCHIVE RECOMPUTES NUMERIC 0 0 7 NUMERIC 0 3 025069 FLIGHT LEVEL PRESSURE CORRECTIONS FLAG TABLE 25069 0 0 8 FLAG TABLE 25069 0 3 025070 MAJOR FRAME COUNT NUMERIC 0 0 4 NUMERIC 0 2 025071 FRAME COUNT NUMERIC 0 0 5 NUMERIC 0 2 025075 SATELLITE ANTENNA CORRECTIONS VERSION NUMBER NUMERIC 0 0 5 NUMERIC 0 2 025076 LOG-10 OF (TEMPERATURE-RADIANCE CENTRAL WAVENUMBER) FOR ATOVS LOG (1/M) 8 0 30 LOG (1/M) 8 10 025077 BANDWIDTH CORRECTION COEFFICIENT 1 FOR ATOVS NUMERIC 5 -100000 18 NUMERIC 5 7 025078 BANDWIDTH CORRECTION COEFFICIENT 2 FOR ATOVS NUMERIC 5 0 17 NUMERIC 5 6 025079 ALBEDO-RADIANCE SOLAR FILTERED IRRADIANCE FOR ATOVS W/M**2 4 0 24 W/M**2 4 8 025080 ALBEDO-RADIANCE EQUIVALENT FILTER WIDTH FOR ATOVS M 10 0 14 M 10 5 025085 FRACTION OF CLEAR PIXELS IN HIRS FOV NUMERIC 0 0 7 NUMERIC 0 3 025086 DEPTH CORRECTION INDICATOR CODE TABLE 25086 0 0 2 CODE TABLE 25086 0 1 025091 STRUCTURE CONSTANT OF THE REFRACTION INDEX (CN2) dB 3 -18192 13 dB 3 5 025092 ACOUSTIC PROPAGATION VELOCITY M/S 2 28000 14 M/S 2 5 025093 RASS COMPUTATION CORRECTION FLAG TABLE 25093 0 0 8 FLAG TABLE 25093 0 3 025095 ALTIMETER STATE FLAG FLAG TABLE 25095 0 0 2 FLAG TABLE 25095 0 1 025096 RADIOMETER STATE FLAG FLAG TABLE 25096 0 0 5 FLAG TABLE 25096 0 2 025097 THREE DIMENSIONAL ERROR ESTIMATE OF THE NAVIGATOR ORBIT CODE TABLE 25097 0 0 4 CODE TABLE 25097 0 2 025100 XBT/XCTD FALL RATE EQUATION COEFFICIENT A NUMERIC 5 0 20 NUMERIC 5 6 025101 XBT/XCTD FALL RATE EQUATION COEFFICIENT B NUMERIC 5 -500000 21 NUMERIC 5 6 025102 NUMBER OF MISSING LINES EXCLUDING DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025103 NUMBER OF DIRECTIONAL BINS NUMERIC 0 0 8 NUMERIC 0 3 025104 NUMBER OF WAVE-LENGTH BINS NUMERIC 0 0 8 NUMERIC 0 3 025107 FIRST WAVE-LENGTH BIN M 3 0 29 M 3 9 025108 LAST WAVE-LENGTH BIN M 3 0 29 M 3 9 025111 NUMBER OF INPUT DATA GAPS NUMERIC 0 0 8 NUMERIC 0 3 025120 RA2-L2-PROCESSING FLAG CODE TABLE 25120 0 0 2 CODE TABLE 25120 0 1 025121 RA2-L2-PROCESSING QUALITY % 0 0 7 % 0 3 025122 HARDWARE CONFIGURATION FOR RF CODE TABLE 25122 0 0 2 CODE TABLE 25122 0 1 025123 HARDWARE CONFIGURATION FOR HPA CODE TABLE 25123 0 0 2 CODE TABLE 25123 0 1 025124 MWR L2 PROCESSING FLAG CODE TABLE 25124 0 0 2 CODE TABLE 25124 0 1 025125 MWR L2-PROCESSING QUALITY % 0 0 7 % 0 3 025126 MODEL DRY TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025127 INVERTED BAROMETER CORRECTION M 3 -32768 16 M 3 5 025128 MODEL WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025129 MWR DERIVED WET TROPOSPHERIC CORRECTION M 3 -32768 16 M 3 5 025130 RA2 IONOSPHERIC CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025131 IONOSPHERIC CORRECTION FROM DORIS ON KU BAND M 3 -32768 16 M 3 5 025132 IONOSPHERIC CORRECTION FROM MODEL ON KU BAND M 3 -32768 16 M 3 5 025133 SEA STATE BIAS CORRECTION ON KU BAND M 3 -32768 16 M 3 5 025134 RA2 IONOSPHERIC CORRECTION ON S BAND M 3 -32768 16 M 3 5 025135 IONOSPHERIC CORRECTION FROM DORIS ON S BAND M 3 -32768 16 M 3 5 025136 IONOSPHERIC CORRECTION FROM MODEL ON S BAND M 3 -32768 16 M 3 5 025137 SEA STATE BIAS CORRECTION ON S BAND M 3 -32768 16 M 3 5 025138 AVERAGE SIGNAL TO NOISE RATION NUMERIC 0 -2048 12 NUMERIC 0 4 025140 START CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025141 END CHANNEL NUMERIC 0 0 14 NUMERIC 0 5 025142 CHANNEL SCALE FACTOR NUMERIC 0 0 6 NUMERIC 0 2 025150 SATELLITE INTENSITY ANALYSIS METHOD OF TROPICAL CYCLONE CODE TABLE 25150 0 0 4 CODE TABLE 25150 2 2 026001 PRINCIPAL TIME OF DAILY READING IN UTC OF MAXIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026002 PRINCIPAL TIME OF DAILY READING IN UTC OF MINIMUM TEMPERATURE HOUR 1 0 12 HOUR 1 3 026003 TIME DIFFERENCE MINUTE 0 -1440 12 MINUTE 0 4 026010 HOURS INCLUDED FLAG TABLE 26010 0 0 26 FLAG TABLE 26010 0 9 026020 DURATION OF PRECIPITATION MINUTE 0 0 11 MINUTE 0 4 027001 LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027002 LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027003 ALTERNATE LATITUDE (COARSE ACCURACY) DEGREE 2 -9000 15 DEGREE 2 4 027004 ALTERNATE LATITUDE (HIGH ACCURACY) DEGREE 5 -9000000 25 DEGREE 5 7 027020 SATELLITE LOCATION COUNTER NUMERIC 0 0 16 NUMERIC 0 5 027021 SATELLITE SUBLOCATION DIMENSION NUMERIC 0 0 16 NUMERIC 0 5 027031 IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THE EARTH'S C M 2 -1073741824 31 M 2 10 027080 VIEWING AZIMUTH ANGLE DEGREE TRUE 2 0 16 DEGREE TRUE 0 5 028001 LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028002 LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028003 ALTERNATE LONGITUDE (COARSE ACCURACY) DEGREE 2 -18000 16 DEGREE 2 5 028004 ALTERNATE LONGITUDE (HIGH ACCURACY) DEGREE 5 -18000000 26 DEGREE 5 8 028031 IN DIRECTION 90 DEGREES EAST, DISTANCE FROM THE EARTH'S CENTRE M 2 -1073741824 31 M 2 10 029001 PROJECTION TYPE CODE TABLE 29001 0 0 3 CODE TABLE 29001 0 1 029002 CO-ORDINATE GRID TYPE CODE TABLE 29002 0 0 3 CODE TABLE 29002 0 1 030001 PIXEL VALUE (4 BITS) NUMERIC 0 0 4 NUMERIC 0 2 030002 PIXEL VALUE (8 BITS) NUMERIC 0 0 8 NUMERIC 0 3 030004 PIXEL VALUE (16 BITS) NUMERIC 0 0 16 NUMERIC 0 5 030021 NUMBER OF PIXELS PER ROW NUMERIC 0 0 12 NUMERIC 0 4 030022 NUMBER OF PIXELS PER COLUMN NUMERIC 0 0 12 NUMERIC 0 4 030031 PICTURE TYPE CODE TABLE 30031 0 0 4 CODE TABLE 30031 0 2 030032 COMBINATION WITH OTHER DATA FLAG TABLE 30032 0 0 16 FLAG TABLE 30032 0 6 031000 SHORT DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 1 NUMERIC 0 1 031001 DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031002 EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031011 DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 8 NUMERIC 0 3 031012 EXTENDED DELAYED DESCRIPTOR AND DATA REPETITION FACTOR NUMERIC 0 0 16 NUMERIC 0 5 031021 ASSOCIATED FIELD SIGNIFICANCE CODE TABLE 31021 0 0 6 CODE TABLE 31021 0 2 031031 DATA PRESENT INDICATOR FLAG TABLE 31031 0 0 1 FLAG TABLE 31031 0 1 033002 QUALITY INFORMATION CODE TABLE 33002 0 0 2 CODE TABLE 33002 0 1 033003 QUALITY INFORMATION CODE TABLE 33003 0 0 3 CODE TABLE 33003 0 1 033005 QUALITY INFORMATION (AWS DATA) FLAG TABLE 33005 0 0 30 FLAG TABLE 33005 0 10 033006 INTERNAL MEASUREMENT STATUS INFORMATION (AWS) CODE TABLE 33006 0 0 3 CODE TABLE 33006 0 1 033007 PER CENT CONFIDENCE % 0 0 7 % 0 3 033015 DATA QUALITY CHECK INDICATOR CODE TABLE 33015 0 0 6 CODE TABLE 33015 0 2 033020 QUALITY CONTROL INDICATION OF FOLLOWING VALUE CODE TABLE 33020 0 0 3 CODE TABLE 33020 0 1 033021 QUALITY OF FOLLOWING VALUE CODE TABLE 33021 0 0 2 CODE TABLE 33021 0 1 033022 QUALITY OF BUOY SATELLITE TRANSMISSION CODE TABLE 33022 0 0 2 CODE TABLE 33022 0 1 033023 QUALITY OF BUOY LOCATION CODE TABLE 33023 0 0 2 CODE TABLE 33023 0 1 033024 STATION ELEVATION QUALITY MARK (FOR MOBILE STATIONS) CODE TABLE 33024 0 0 4 CODE TABLE 33024 0 2 033025 ACARS INTERPOLATED VALUES CODE TABLE 33025 0 0 3 CODE TABLE 33025 0 1 033026 MOISTURE QUALITY CODE TABLE 33026 0 0 6 CODE TABLE 33026 0 2 033027 LOCATION QUALITY CLASS (RANGE OF RADIUS OF 66 % CONFIDENCE) CODE TABLE 33027 0 0 3 CODE TABLE 33027 0 1 033030 SCAN LINE STATUS FLAGS FOR ATOVS FLAG TABLE 33030 0 0 24 FLAG TABLE 33030 0 8 033031 SCAN LINE QUALITY FLAGS FOR ATOVS FLAG TABLE 33031 0 0 24 FLAG TABLE 33031 0 8 033032 CHANNEL QUALITY FLAGS FOR ATOVS FLAG TABLE 33032 0 0 24 FLAG TABLE 33032 0 8 033033 FIELD OF VIEW QUALITY FLAGS FOR ATOVS FLAG TABLE 33033 0 0 24 FLAG TABLE 33033 0 8 033035 MANUAL/AUTOMATIC QUALITY CONTROL CODE TABLE 33035 0 0 4 CODE TABLE 33035 0 2 033036 NOMINAL CONFIDENCE THRESHOLD % 0 0 7 % 0 3 033037 WIND CORRELATION ERROR FLAG TABLE 33037 0 0 20 FLAG TABLE 33037 0 7 033038 QUALITY FLAGS FOR GROUND-BASED GNSS DATA FLAG TABLE 33038 0 0 10 FLAG TABLE 33038 0 4 033039 QUALITY FLAGS FOR RADIO OCCULTATION DATA FLAG TABLE 33039 0 0 16 FLAG TABLE 33039 0 6 033040 CONFIDENCE INTERVAL % 0 0 7 PERCENT 0 3 033041 ATTRIBUTE OF FOLLOWING VALUE CODE TABLE 33041 0 0 2 CODE TABLE 33041 0 1 033042 TYPE OF LIMIT REPRESENTED BY FOLLOWING VALUE CODE TABLE 33042 0 0 3 CODE TABLE 33042 0 1 033043 AST CONFIDENCE FLAG TABLE 33043 0 0 8 FLAG TABLE 33043 0 3 033044 ASAR QUALITY INFORMATION FLAG TABLE 33044 0 0 15 FLAG TABLE 33044 0 5 033045 PROBABILITY OF FOLLOWING EVENT % 0 0 7 % 0 3 033046 CONDITIONAL PROBABILITY OF FOLLOWING EVENT WITH RESPECT TO SPECI % 0 0 7 % 0 3 033047 MEASUREMENT CONFIDENCE DATA FLAG TABLE 33047 0 0 31 FLAG TABLE 33047 0 11 033048 CONFIDENCE MEASURE OF SAR INVERSION CODE TABLE 33048 0 0 2 CODE TABLE 33048 0 1 033049 CONFIDENCE MEASURE OF WIND RETRIEVAL CODE TABLE 33049 0 0 2 CODE TABLE 33049 0 1 033050 GLOBAL GTSPP QUALITY FLAG CODE TABLE 33050 0 0 4 CODE TABLE 33050 0 2 033052 S BAND OCEAN RETRACKING QUALITY FLAG TABLE 33052 0 0 21 FLAG TABLE 33052 0 7 033053 KU BAND OCEAN RETRACKING QUALITY FLAG TABLE 33053 0 0 21 FLAG TABLE 33053 0 7 033060 GQISFLAGQUAL-INDIVIDUAL IASI-SYSTEM QUALITY FLAG CODE TABLE 33060 0 0 2 CODE TABLE 33060 0 1 033061 GQISQUALINDEX - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033062 GQISQUALINDEXLOC - INDICATOR FOR GEOMETRIC QUALITY INDEX % 0 0 7 % 0 3 033063 GQISQUALINDEXRAD - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033064 GQISQUALINDEXSPECT - INDICATOR FOR INSTRUMENT NOISE PERFORMANCE % 0 0 7 % 0 3 033065 GQISSYSTECSONDQUAL - OUTPUT OF SYSTEM TEC QUALITY FUNCTION NUMERIC 0 0 24 NUMERIC 0 24 033066 SBUV TOTAL OZONE QUALITY CODE TABLE 33066 0 0 4 CODE TABLE 33066 0 2 033067 SBUV PROFILE OZONE QUALITY CODE TABLE 33067 0 0 4 CODE TABLE 33067 0 2 035000 FM AND REGIONAL CODE NUMBER CODE TABLE 35000 0 0 10 CODE TABLE 35000 0 3 035001 TIME-FRAME FOR MONITORING CODE TABLE 35001 0 0 3 CODE TABLE 35001 0 1 035011 NUMBER OF REPORTS ACTUALLY RECEIVED NUMERIC 0 0 14 NUMERIC 0 4 035021 BULLETIN BEING MONITORED (TTAAII) CCITTIA5 0 0 48 CHARACTER 0 6 035022 BULLETIN BEING MONITORED (YYGGGG) CCITTIA5 0 0 48 CHARACTER 0 6 035023 BULLETIN BEING MONITORED (CCCC) CCITTIA5 0 0 32 CHARACTER 0 4 035024 BULLETIN BEING MONITORED (BBB) CCITTIA5 0 0 24 CHARACTER 0 3 035030 DISCREPANCIES IN THE AVAILABILITY OF EXPECTED DATA CODE TABLE 35030 0 0 4 CODE TABLE 35030 0 1 035031 QUALIFIER ON MONITORING RESULTS CODE TABLE 35031 0 0 7 CODE TABLE 35031 0 2 035032 CAUSE OF MISSING DATA CODE TABLE 35032 0 0 4 CODE TABLE 35032 0 1 035033 OBSERVATION AND COLLECTION DEFICIENCIES CODE TABLE 35033 0 0 7 CODE TABLE 35033 0 2 035034 STATISTICAL TRENDS FOR AVAILABILITY OF DATA (DURING THE SURVEY P CODE TABLE 35034 0 0 3 CODE TABLE 35034 0 1 035035 REASON FOR TERMINATION CODE TABLE 35035 0 0 5 CODE TABLE 35035 0 2 040001 SURFACE SOIL MOISTURE (MS) % 1 0 10 % 1 4 040002 ESTIMATED ERROR IN SURFACE SOIL MOISTURE % 1 0 10 % 1 4 040003 MEAN SURFACE SOIL MOISTURE NUMERIC 3 0 10 NUMERIC 3 4 040004 RAIN FALL DETECTION NUMERIC 3 0 10 NUMERIC 3 4 040005 SOIL MOISTURE CORRECTION FLAG FLAG TABLE 40005 0 0 8 FLAG FLAG TABLE 40005 0 3 040006 SOIL MOISTURE PROCESSING FLAG FLAG TABLE 40006 0 0 16 FLAG FLAG TABLE 40006 0 5 040007 SOIL MOISTURE QUALITY % 1 0 10 % 1 4 040008 FROZEN LAND SURFACE FRACTION % 1 0 10 % 1 4 040009 INUNDATION AND WETLAND FRACTION % 1 0 10 % 1 4 040010 TOPOGRAPHIC COMPLEXITY % 1 0 10 % 1 4 emoslib-000392+dfsg.1/fft/0000755000175000017500000000000012127406245016235 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/fft/Makefile.shared0000755000175000017500000000105412127406245021145 0ustar amckinstryamckinstry# # Makefile for libemos/bufrdc # LIBRARY = ../lib$(LIB)$(R64).so # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # PROFILE=$(SHLIB) # TARGETS = all clean # include sources # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(EXTRAOBJ) $(LD) $(DYNLINKFLAGS) $? -o $@ clean: \rm -f $(OBJECTS) emoslib-000392+dfsg.1/fft/gpfa5.f0000755000175000017500000004510712127406245017420 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c subroutine gpfa5(a,b,trigs,inc,jump,n,mm,lot,isign) * fortran version of *gpfa5* - * radix-5 section of self-sorting, in-place, * generalized pfa * *------------------------------------------------------------------- * dimension a(*), b(*), trigs(*) data sin36/0.587785252292473/, sin72/0.951056516295154/, * qrt5/0.559016994374947/ data lvr/128/ * * *************************************************************** * * * * * N.B. LVR = LENGTH OF VECTOR REGISTERS, SET TO 128 FOR C90. * * * RESET TO 64 FOR OTHER CRAY MACHINES, OR TO ANY LARGE VALUE * * * (GREATER THAN OR EQUAL TO LOT) FOR A SCALAR COMPUTER. * * * * * *************************************************************** * n5 = 5 ** mm inq = n / n5 jstepx = (n5-n) * inc ninc = n * inc ink = inc * inq mu = mod(inq,5) if (isign.eq.-1) mu = 5 - mu * m = mm mh = (m+1)/2 s = float(isign) c1 = qrt5 c2 = sin72 c3 = sin36 if (mu.eq.2.or.mu.eq.3) then c1 = -c1 c2 = sin36 c3 = sin72 endif if (mu.eq.3.or.mu.eq.4) c2 = -c2 if (mu.eq.2.or.mu.eq.4) c3 = -c3 * nblox = 1 + (lot-1)/lvr left = lot s = float(isign) istart = 1 * * loop on blocks of lvr transforms * -------------------------------- do 500 nb = 1 , nblox * if (left.le.lvr) then nvex = left else if (left.lt.(2*lvr)) then nvex = left/2 nvex = nvex + mod(nvex,2) else nvex = lvr endif left = left - nvex * la = 1 * * loop on type I radix-5 passes * ----------------------------- do 160 ipass = 1 , mh jstep = (n*inc) / (5*la) jstepl = jstep - ninc kk = 0 * * loop on k * --------- do 150 k = 0 , jstep-ink , ink * if (k.gt.0) then co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s*trigs(3*kk+2) co4 = trigs(4*kk+1) si4 = s*trigs(4*kk+2) endif * * loop along transform * -------------------- do 140 jjj = k , (n-1)*inc , 5*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 135 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc j = 0 * * loop across transforms * ---------------------- if (k.eq.0) then * do 110 l = 1 , nvex t1 = a(jb+j) + a(je+j) t2 = a(jc+j) + a(jd+j) t3 = a(jb+j) - a(je+j) t4 = a(jc+j) - a(jd+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ja+j) - 0.25 * t5 a(ja+j) = a(ja+j) + t5 t8 = t7 + t6 t9 = t7 - t6 t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jb+j) + b(je+j) u2 = b(jc+j) + b(jd+j) u3 = b(jb+j) - b(je+j) u4 = b(jc+j) - b(jd+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ja+j) - 0.25 * u5 b(ja+j) = b(ja+j) + u5 u8 = u7 + u6 u9 = u7 - u6 u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jb+j) = t8 - u11 b(jb+j) = u8 + t11 a(je+j) = t8 + u11 b(je+j) = u8 - t11 a(jc+j) = t9 - u10 b(jc+j) = u9 + t10 a(jd+j) = t9 + u10 b(jd+j) = u9 - t10 j = j + jump 110 continue * else * do 130 l = 1 , nvex t1 = a(jb+j) + a(je+j) t2 = a(jc+j) + a(jd+j) t3 = a(jb+j) - a(je+j) t4 = a(jc+j) - a(jd+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ja+j) - 0.25 * t5 a(ja+j) = a(ja+j) + t5 t8 = t7 + t6 t9 = t7 - t6 t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jb+j) + b(je+j) u2 = b(jc+j) + b(jd+j) u3 = b(jb+j) - b(je+j) u4 = b(jc+j) - b(jd+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ja+j) - 0.25 * u5 b(ja+j) = b(ja+j) + u5 u8 = u7 + u6 u9 = u7 - u6 u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jb+j) = co1*(t8-u11) - si1*(u8+t11) b(jb+j) = si1*(t8-u11) + co1*(u8+t11) a(je+j) = co4*(t8+u11) - si4*(u8-t11) b(je+j) = si4*(t8+u11) + co4*(u8-t11) a(jc+j) = co2*(t9-u10) - si2*(u9+t10) b(jc+j) = si2*(t9-u10) + co2*(u9+t10) a(jd+j) = co3*(t9+u10) - si3*(u9-t10) b(jd+j) = si3*(t9+u10) + co3*(u9-t10) j = j + jump 130 continue * endif * *-----( end of loop across transforms ) * ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 135 continue 140 continue *-----( end of loop along transforms ) kk = kk + 2*la 150 continue *-----( end of loop on nonzero k ) la = 5*la 160 continue *-----( end of loop on type I radix-5 passes) * if (n.eq.5) go to 490 * * loop on type II radix-5 passes * ------------------------------ 400 continue * do 480 ipass = mh+1 , m jstep = (n*inc) / (5*la) jstepl = jstep - ninc laincl = la * ink - ninc kk = 0 * * loop on k * --------- do 470 k = 0 , jstep-ink , ink * if (k.gt.0) then co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s*trigs(3*kk+2) co4 = trigs(4*kk+1) si4 = s*trigs(4*kk+2) endif * * double loop along first transform in block * ------------------------------------------ do 460 ll = k , (la-1)*ink , 5*jstep * do 450 jjj = ll , (n-1)*inc , 5*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 445 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = ja + laincl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = jh + jstepl if (ji.lt.istart) ji = ji + ninc jj = ji + jstepl if (jj.lt.istart) jj = jj + ninc jk = jf + laincl if (jk.lt.istart) jk = jk + ninc jl = jk + jstepl if (jl.lt.istart) jl = jl + ninc jm = jl + jstepl if (jm.lt.istart) jm = jm + ninc jn = jm + jstepl if (jn.lt.istart) jn = jn + ninc jo = jn + jstepl if (jo.lt.istart) jo = jo + ninc jp = jk + laincl if (jp.lt.istart) jp = jp + ninc jq = jp + jstepl if (jq.lt.istart) jq = jq + ninc jr = jq + jstepl if (jr.lt.istart) jr = jr + ninc js = jr + jstepl if (js.lt.istart) js = js + ninc jt = js + jstepl if (jt.lt.istart) jt = jt + ninc ju = jp + laincl if (ju.lt.istart) ju = ju + ninc jv = ju + jstepl if (jv.lt.istart) jv = jv + ninc jw = jv + jstepl if (jw.lt.istart) jw = jw + ninc jx = jw + jstepl if (jx.lt.istart) jx = jx + ninc jy = jx + jstepl if (jy.lt.istart) jy = jy + ninc j = 0 * * loop across transforms * ---------------------- if (k.eq.0) then * do 410 l = 1 , nvex t1 = a(jb+j) + a(je+j) t2 = a(jc+j) + a(jd+j) t3 = a(jb+j) - a(je+j) t4 = a(jc+j) - a(jd+j) a(jb+j) = a(jf+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ja+j) - 0.25 * t5 a(ja+j) = a(ja+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jc+j) = a(jk+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jb+j) + b(je+j) u2 = b(jc+j) + b(jd+j) u3 = b(jb+j) - b(je+j) u4 = b(jc+j) - b(jd+j) b(jb+j) = b(jf+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ja+j) - 0.25 * u5 b(ja+j) = b(ja+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jc+j) = b(jk+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jf+j) = t8 - u11 b(jf+j) = u8 + t11 a(je+j) = t8 + u11 b(je+j) = u8 - t11 a(jk+j) = t9 - u10 b(jk+j) = u9 + t10 a(jd+j) = t9 + u10 b(jd+j) = u9 - t10 *---------------------- t1 = a(jg+j) + a(jj+j) t2 = a(jh+j) + a(ji+j) t3 = a(jg+j) - a(jj+j) t4 = a(jh+j) - a(ji+j) a(jh+j) = a(jl+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jb+j) - 0.25 * t5 a(jb+j) = a(jb+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(ji+j) = a(jq+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jg+j) + b(jj+j) u2 = b(jh+j) + b(ji+j) u3 = b(jg+j) - b(jj+j) u4 = b(jh+j) - b(ji+j) b(jh+j) = b(jl+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jb+j) - 0.25 * u5 b(jb+j) = b(jb+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(ji+j) = b(jq+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jg+j) = t8 - u11 b(jg+j) = u8 + t11 a(jj+j) = t8 + u11 b(jj+j) = u8 - t11 a(jl+j) = t9 - u10 b(jl+j) = u9 + t10 a(jq+j) = t9 + u10 b(jq+j) = u9 - t10 *---------------------- t1 = a(jh+j) + a(jo+j) t2 = a(jm+j) + a(jn+j) t3 = a(jh+j) - a(jo+j) t4 = a(jm+j) - a(jn+j) a(jn+j) = a(jr+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jc+j) - 0.25 * t5 a(jc+j) = a(jc+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jo+j) = a(jw+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jh+j) + b(jo+j) u2 = b(jm+j) + b(jn+j) u3 = b(jh+j) - b(jo+j) u4 = b(jm+j) - b(jn+j) b(jn+j) = b(jr+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jc+j) - 0.25 * u5 b(jc+j) = b(jc+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jo+j) = b(jw+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jh+j) = t8 - u11 b(jh+j) = u8 + t11 a(jw+j) = t8 + u11 b(jw+j) = u8 - t11 a(jm+j) = t9 - u10 b(jm+j) = u9 + t10 a(jr+j) = t9 + u10 b(jr+j) = u9 - t10 *---------------------- t1 = a(ji+j) + a(jt+j) t2 = a(jn+j) + a(js+j) t3 = a(ji+j) - a(jt+j) t4 = a(jn+j) - a(js+j) a(jt+j) = a(jx+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jp+j) - 0.25 * t5 ax = a(jp+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jp+j) = a(jd+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 a(jd+j) = ax u1 = b(ji+j) + b(jt+j) u2 = b(jn+j) + b(js+j) u3 = b(ji+j) - b(jt+j) u4 = b(jn+j) - b(js+j) b(jt+j) = b(jx+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jp+j) - 0.25 * u5 bx = b(jp+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jp+j) = b(jd+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 b(jd+j) = bx a(ji+j) = t8 - u11 b(ji+j) = u8 + t11 a(jx+j) = t8 + u11 b(jx+j) = u8 - t11 a(jn+j) = t9 - u10 b(jn+j) = u9 + t10 a(js+j) = t9 + u10 b(js+j) = u9 - t10 *---------------------- t1 = a(jv+j) + a(jy+j) t2 = a(jo+j) + a(jt+j) t3 = a(jv+j) - a(jy+j) t4 = a(jo+j) - a(jt+j) a(jv+j) = a(jj+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ju+j) - 0.25 * t5 ax = a(ju+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(ju+j) = a(je+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 a(je+j) = ax u1 = b(jv+j) + b(jy+j) u2 = b(jo+j) + b(jt+j) u3 = b(jv+j) - b(jy+j) u4 = b(jo+j) - b(jt+j) b(jv+j) = b(jj+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ju+j) - 0.25 * u5 bx = b(ju+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(ju+j) = b(je+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 b(je+j) = bx a(jj+j) = t8 - u11 b(jj+j) = u8 + t11 a(jy+j) = t8 + u11 b(jy+j) = u8 - t11 a(jo+j) = t9 - u10 b(jo+j) = u9 + t10 a(jt+j) = t9 + u10 b(jt+j) = u9 - t10 j = j + jump 410 continue * else * do 440 l = 1 , nvex t1 = a(jb+j) + a(je+j) t2 = a(jc+j) + a(jd+j) t3 = a(jb+j) - a(je+j) t4 = a(jc+j) - a(jd+j) a(jb+j) = a(jf+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ja+j) - 0.25 * t5 a(ja+j) = a(ja+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jc+j) = a(jk+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jb+j) + b(je+j) u2 = b(jc+j) + b(jd+j) u3 = b(jb+j) - b(je+j) u4 = b(jc+j) - b(jd+j) b(jb+j) = b(jf+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ja+j) - 0.25 * u5 b(ja+j) = b(ja+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jc+j) = b(jk+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jf+j) = co1*(t8-u11) - si1*(u8+t11) b(jf+j) = si1*(t8-u11) + co1*(u8+t11) a(je+j) = co4*(t8+u11) - si4*(u8-t11) b(je+j) = si4*(t8+u11) + co4*(u8-t11) a(jk+j) = co2*(t9-u10) - si2*(u9+t10) b(jk+j) = si2*(t9-u10) + co2*(u9+t10) a(jd+j) = co3*(t9+u10) - si3*(u9-t10) b(jd+j) = si3*(t9+u10) + co3*(u9-t10) *---------------------- t1 = a(jg+j) + a(jj+j) t2 = a(jh+j) + a(ji+j) t3 = a(jg+j) - a(jj+j) t4 = a(jh+j) - a(ji+j) a(jh+j) = a(jl+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jb+j) - 0.25 * t5 a(jb+j) = a(jb+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(ji+j) = a(jq+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jg+j) + b(jj+j) u2 = b(jh+j) + b(ji+j) u3 = b(jg+j) - b(jj+j) u4 = b(jh+j) - b(ji+j) b(jh+j) = b(jl+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jb+j) - 0.25 * u5 b(jb+j) = b(jb+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(ji+j) = b(jq+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jg+j) = co1*(t8-u11) - si1*(u8+t11) b(jg+j) = si1*(t8-u11) + co1*(u8+t11) a(jj+j) = co4*(t8+u11) - si4*(u8-t11) b(jj+j) = si4*(t8+u11) + co4*(u8-t11) a(jl+j) = co2*(t9-u10) - si2*(u9+t10) b(jl+j) = si2*(t9-u10) + co2*(u9+t10) a(jq+j) = co3*(t9+u10) - si3*(u9-t10) b(jq+j) = si3*(t9+u10) + co3*(u9-t10) *---------------------- t1 = a(jh+j) + a(jo+j) t2 = a(jm+j) + a(jn+j) t3 = a(jh+j) - a(jo+j) t4 = a(jm+j) - a(jn+j) a(jn+j) = a(jr+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jc+j) - 0.25 * t5 a(jc+j) = a(jc+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jo+j) = a(jw+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jh+j) + b(jo+j) u2 = b(jm+j) + b(jn+j) u3 = b(jh+j) - b(jo+j) u4 = b(jm+j) - b(jn+j) b(jn+j) = b(jr+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jc+j) - 0.25 * u5 b(jc+j) = b(jc+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jo+j) = b(jw+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jh+j) = co1*(t8-u11) - si1*(u8+t11) b(jh+j) = si1*(t8-u11) + co1*(u8+t11) a(jw+j) = co4*(t8+u11) - si4*(u8-t11) b(jw+j) = si4*(t8+u11) + co4*(u8-t11) a(jm+j) = co2*(t9-u10) - si2*(u9+t10) b(jm+j) = si2*(t9-u10) + co2*(u9+t10) a(jr+j) = co3*(t9+u10) - si3*(u9-t10) b(jr+j) = si3*(t9+u10) + co3*(u9-t10) *---------------------- t1 = a(ji+j) + a(jt+j) t2 = a(jn+j) + a(js+j) t3 = a(ji+j) - a(jt+j) t4 = a(jn+j) - a(js+j) a(jt+j) = a(jx+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jp+j) - 0.25 * t5 ax = a(jp+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jp+j) = a(jd+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 a(jd+j) = ax u1 = b(ji+j) + b(jt+j) u2 = b(jn+j) + b(js+j) u3 = b(ji+j) - b(jt+j) u4 = b(jn+j) - b(js+j) b(jt+j) = b(jx+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jp+j) - 0.25 * u5 bx = b(jp+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jp+j) = b(jd+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 b(jd+j) = bx a(ji+j) = co1*(t8-u11) - si1*(u8+t11) b(ji+j) = si1*(t8-u11) + co1*(u8+t11) a(jx+j) = co4*(t8+u11) - si4*(u8-t11) b(jx+j) = si4*(t8+u11) + co4*(u8-t11) a(jn+j) = co2*(t9-u10) - si2*(u9+t10) b(jn+j) = si2*(t9-u10) + co2*(u9+t10) a(js+j) = co3*(t9+u10) - si3*(u9-t10) b(js+j) = si3*(t9+u10) + co3*(u9-t10) *---------------------- t1 = a(jv+j) + a(jy+j) t2 = a(jo+j) + a(jt+j) t3 = a(jv+j) - a(jy+j) t4 = a(jo+j) - a(jt+j) a(jv+j) = a(jj+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ju+j) - 0.25 * t5 ax = a(ju+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(ju+j) = a(je+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 a(je+j) = ax u1 = b(jv+j) + b(jy+j) u2 = b(jo+j) + b(jt+j) u3 = b(jv+j) - b(jy+j) u4 = b(jo+j) - b(jt+j) b(jv+j) = b(jj+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ju+j) - 0.25 * u5 bx = b(ju+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(ju+j) = b(je+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 b(je+j) = bx a(jj+j) = co1*(t8-u11) - si1*(u8+t11) b(jj+j) = si1*(t8-u11) + co1*(u8+t11) a(jy+j) = co4*(t8+u11) - si4*(u8-t11) b(jy+j) = si4*(t8+u11) + co4*(u8-t11) a(jo+j) = co2*(t9-u10) - si2*(u9+t10) b(jo+j) = si2*(t9-u10) + co2*(u9+t10) a(jt+j) = co3*(t9+u10) - si3*(u9-t10) b(jt+j) = si3*(t9+u10) + co3*(u9-t10) j = j + jump 440 continue * endif * *-----(end of loop across transforms) * ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 445 continue 450 continue 460 continue *-----( end of double loop for this k ) kk = kk + 2*la 470 continue *-----( end of loop over values of k ) la = 5*la 480 continue *-----( end of loop on type II radix-5 passes ) *-----( nvex transforms completed) 490 continue istart = istart + nvex * jump 500 continue *-----( end of loop on blocks of transforms ) * return end emoslib-000392+dfsg.1/fft/gpfa2.F0000755000175000017500000005350712127406245017360 0ustar amckinstryamckinstry subroutine gpfa2(a,b,trigs,inc,jump,n,mm,lot,isign) C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C * fortran version of *gpfa2* - * radix-2 section of self-sorting, in-place, generalized pfa * central radix-2 and radix-8 passes included * so that transform length can be any power of 2 * *------------------------------------------------------------------- * dimension a(*), b(*), trigs(*) data lvr/128/ * * *************************************************************** * * * * * N.B. LVR = LENGTH OF VECTOR REGISTERS, SET TO 128 FOR C90. * * * RESET TO 64 FOR OTHER CRAY MACHINES, OR TO ANY LARGE VALUE * * * (GREATER THAN OR EQUAL TO LOT) FOR A SCALAR COMPUTER. * * * * * *************************************************************** * n2 = 2**mm inq = n/n2 jstepx = (n2-n) * inc ninc = n * inc ink = inc * inq * m2 = 0 m8 = 0 if (mod(mm,2).eq.0) then m = mm/2 else if (mod(mm,4).eq.1) then m = (mm-1)/2 m2 = 1 else if (mod(mm,4).eq.3) then m = (mm-3)/2 m8 = 1 endif mh = (m+1)/2 * nblox = 1 + (lot-1)/lvr left = lot s = float(isign) istart = 1 * * loop on blocks of lvr transforms * -------------------------------- do 500 nb = 1 , nblox * if (left.le.lvr) then nvex = left else if (left.lt.(2*lvr)) then nvex = left/2 nvex = nvex + mod(nvex,2) else nvex = lvr endif left = left - nvex * la = 1 * * loop on type I radix-4 passes * ----------------------------- mu = mod(inq,4) if (isign.eq.-1) mu = 4 - mu ss = 1.0 if (mu.eq.3) ss = -1.0 * if (mh.eq.0) go to 200 * do 160 ipass = 1 , mh jstep = (n*inc) / (4*la) jstepl = jstep - ninc * * k = 0 loop (no twiddle factors) * ------------------------------- do 120 jjj = 0 , (n-1)*inc , 4*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 115 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 110 l = 1 , nvex t0 = a(ja+j) + a(jc+j) t2 = a(ja+j) - a(jc+j) t1 = a(jb+j) + a(jd+j) t3 = ss * ( a(jb+j) - a(jd+j) ) u0 = b(ja+j) + b(jc+j) u2 = b(ja+j) - b(jc+j) u1 = b(jb+j) + b(jd+j) u3 = ss * ( b(jb+j) - b(jd+j) ) a(ja+j) = t0 + t1 a(jc+j) = t0 - t1 b(ja+j) = u0 + u1 b(jc+j) = u0 - u1 a(jb+j) = t2 - u3 a(jd+j) = t2 + u3 b(jb+j) = u2 + t3 b(jd+j) = u2 - t3 j = j + jump 110 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 115 continue 120 continue * * finished if n2 = 4 * ------------------ if (n2.eq.4) go to 490 kk = 2 * la * * loop on nonzero k * ----------------- do 150 k = ink , jstep-ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s*trigs(3*kk+2) * * loop along transform * -------------------- do 140 jjj = k , (n-1)*inc , 4*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 135 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 130 l = 1 , nvex t0 = a(ja+j) + a(jc+j) t2 = a(ja+j) - a(jc+j) t1 = a(jb+j) + a(jd+j) t3 = ss * ( a(jb+j) - a(jd+j ) ) u0 = b(ja+j) + b(jc+j) u2 = b(ja+j) - b(jc+j) u1 = b(jb+j) + b(jd+j) u3 = ss * ( b(jb+j) - b(jd+j) ) a(ja+j) = t0 + t1 b(ja+j) = u0 + u1 a(jb+j) = co1*(t2-u3) - si1*(u2+t3) b(jb+j) = si1*(t2-u3) + co1*(u2+t3) a(jc+j) = co2*(t0-t1) - si2*(u0-u1) b(jc+j) = si2*(t0-t1) + co2*(u0-u1) a(jd+j) = co3*(t2+u3) - si3*(u2-t3) b(jd+j) = si3*(t2+u3) + co3*(u2-t3) j = j + jump 130 continue *-----( end of loop across transforms ) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 135 continue 140 continue *-----( end of loop along transforms ) kk = kk + 2*la 150 continue *-----( end of loop on nonzero k ) la = 4*la 160 continue *-----( end of loop on type I radix-4 passes) * * central radix-2 pass * -------------------- 200 continue if (m2.eq.0) go to 300 * jstep = (n*inc) / (2*la) jstepl = jstep - ninc * * k=0 loop (no twiddle factors) * ----------------------------- do 220 jjj = 0 , (n-1)*inc , 2*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 215 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 210 l = 1 , nvex t0 = a(ja+j) - a(jb+j) a(ja+j) = a(ja+j) + a(jb+j) a(jb+j) = t0 u0 = b(ja+j) - b(jb+j) b(ja+j) = b(ja+j) + b(jb+j) b(jb+j) = u0 j = j + jump 210 continue *-----(end of loop across transforms) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 215 continue 220 continue * * finished if n2=2 * ---------------- if (n2.eq.2) go to 490 * kk = 2 * la * * loop on nonzero k * ----------------- do 260 k = ink , jstep - ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) * * loop along transforms * --------------------- do 250 jjj = k , (n-1)*inc , 2*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 245 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc j = 0 * * loop across transforms * ---------------------- if (kk.eq.n2/2) then cdir$ ivdep,shortloop do 230 l = 1 , nvex t0 = ss * ( a(ja+j) - a(jb+j) ) a(ja+j) = a(ja+j) + a(jb+j) a(jb+j) = ss * ( b(jb+j) - b(ja+j) ) b(ja+j) = b(ja+j) + b(jb+j) b(jb+j) = t0 j = j + jump 230 continue * else * cdir$ ivdep,shortloop do 240 l = 1 , nvex t0 = a(ja+j) - a(jb+j) a(ja+j) = a(ja+j) + a(jb+j) u0 = b(ja+j) - b(jb+j) b(ja+j) = b(ja+j) + b(jb+j) a(jb+j) = co1*t0 - si1*u0 b(jb+j) = si1*t0 + co1*u0 j = j + jump 240 continue * endif * *-----(end of loop across transforms) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 245 continue 250 continue *-----(end of loop along transforms) kk = kk + 2 * la 260 continue *-----(end of loop on nonzero k) *-----(end of radix-2 pass) * la = 2 * la go to 400 * * central radix-8 pass * -------------------- 300 continue if (m8.eq.0) go to 400 jstep = (n*inc) / (8*la) jstepl = jstep - ninc mu = mod(inq,8) if (isign.eq.-1) mu = 8 - mu c1 = 1.0 if (mu.eq.3.or.mu.eq.7) c1 = -1.0 c2 = sqrt(0.5) if (mu.eq.3.or.mu.eq.5) c2 = -c2 c3 = c1 * c2 * * stage 1 * ------- do 320 k = 0 , jstep - ink , ink do 315 jjj = k , (n-1)*inc , 8*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 312 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc j = 0 cdir$ ivdep,shortloop do 310 l = 1 , nvex t0 = a(ja+j) - a(je+j) a(ja+j) = a(ja+j) + a(je+j) t1 = c1 * ( a(jc+j) - a(jg+j) ) a(je+j) = a(jc+j) + a(jg+j) t2 = a(jb+j) - a(jf+j) a(jc+j) = a(jb+j) + a(jf+j) t3 = a(jd+j) - a(jh+j) a(jg+j) = a(jd+j) + a(jh+j) a(jb+j) = t0 a(jf+j) = t1 a(jd+j) = c2 * ( t2 - t3 ) a(jh+j) = c3 * ( t2 + t3 ) u0 = b(ja+j) - b(je+j) b(ja+j) = b(ja+j) + b(je+j) u1 = c1 * ( b(jc+j) - b(jg+j) ) b(je+j) = b(jc+j) + b(jg+j) u2 = b(jb+j) - b(jf+j) b(jc+j) = b(jb+j) + b(jf+j) u3 = b(jd+j) - b(jh+j) b(jg+j) = b(jd+j) + b(jh+j) b(jb+j) = u0 b(jf+j) = u1 b(jd+j) = c2 * ( u2 - u3 ) b(jh+j) = c3 * ( u2 + u3 ) j = j + jump 310 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 312 continue 315 continue 320 continue * * stage 2 * ------- * * k=0 (no twiddle factors) * ------------------------ do 330 jjj = 0 , (n-1)*inc , 8*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 328 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc j = 0 cdir$ ivdep,shortloop do 325 l = 1 , nvex t0 = a(ja+j) + a(je+j) t2 = a(ja+j) - a(je+j) t1 = a(jc+j) + a(jg+j) t3 = c1 * ( a(jc+j) - a(jg+j) ) u0 = b(ja+j) + b(je+j) u2 = b(ja+j) - b(je+j) u1 = b(jc+j) + b(jg+j) u3 = c1 * ( b(jc+j) - b(jg+j ) ) a(ja+j) = t0 + t1 a(je+j) = t0 - t1 b(ja+j) = u0 + u1 b(je+j) = u0 - u1 a(jc+j) = t2 - u3 a(jg+j) = t2 + u3 b(jc+j) = u2 + t3 b(jg+j) = u2 - t3 t0 = a(jb+j) + a(jd+j) t2 = a(jb+j) - a(jd+j) t1 = a(jf+j) - a(jh+j) t3 = a(jf+j) + a(jh+j) u0 = b(jb+j) + b(jd+j) u2 = b(jb+j) - b(jd+j) u1 = b(jf+j) - b(jh+j) u3 = b(jf+j) + b(jh+j) a(jb+j) = t0 - u3 a(jh+j) = t0 + u3 b(jb+j) = u0 + t3 b(jh+j) = u0 - t3 a(jd+j) = t2 + u1 a(jf+j) = t2 - u1 b(jd+j) = u2 - t1 b(jf+j) = u2 + t1 j = j + jump 325 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 328 continue 330 continue * if (n2.eq.8) go to 490 * * loop on nonzero k * ----------------- kk = 2 * la * do 350 k = ink , jstep - ink , ink * co1 = trigs(kk+1) si1 = s * trigs(kk+2) co2 = trigs(2*kk+1) si2 = s * trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s * trigs(3*kk+2) co4 = trigs(4*kk+1) si4 = s * trigs(4*kk+2) co5 = trigs(5*kk+1) si5 = s * trigs(5*kk+2) co6 = trigs(6*kk+1) si6 = s * trigs(6*kk+2) co7 = trigs(7*kk+1) si7 = s * trigs(7*kk+2) * do 345 jjj = k , (n-1)*inc , 8*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 342 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc j = 0 cdir$ ivdep,shortloop do 340 l = 1 , nvex t0 = a(ja+j) + a(je+j) t2 = a(ja+j) - a(je+j) t1 = a(jc+j) + a(jg+j) t3 = c1 * ( a(jc+j) - a(jg+j) ) u0 = b(ja+j) + b(je+j) u2 = b(ja+j) - b(je+j) u1 = b(jc+j) + b(jg+j) u3 = c1 * ( b(jc+j) - b(jg+j ) ) a(ja+j) = t0 + t1 b(ja+j) = u0 + u1 a(je+j) = co4*(t0-t1) - si4*(u0-u1) b(je+j) = si4*(t0-t1) + co4*(u0-u1) a(jc+j) = co2*(t2-u3) - si2*(u2+t3) b(jc+j) = si2*(t2-u3) + co2*(u2+t3) a(jg+j) = co6*(t2+u3) - si6*(u2-t3) b(jg+j) = si6*(t2+u3) + co6*(u2-t3) t0 = a(jb+j) + a(jd+j) t2 = a(jb+j) - a(jd+j) t1 = a(jf+j) - a(jh+j) t3 = a(jf+j) + a(jh+j) u0 = b(jb+j) + b(jd+j) u2 = b(jb+j) - b(jd+j) u1 = b(jf+j) - b(jh+j) u3 = b(jf+j) + b(jh+j) a(jb+j) = co1*(t0-u3) - si1*(u0+t3) b(jb+j) = si1*(t0-u3) + co1*(u0+t3) a(jh+j) = co7*(t0+u3) - si7*(u0-t3) b(jh+j) = si7*(t0+u3) + co7*(u0-t3) a(jd+j) = co3*(t2+u1) - si3*(u2-t1) b(jd+j) = si3*(t2+u1) + co3*(u2-t1) a(jf+j) = co5*(t2-u1) - si5*(u2+t1) b(jf+j) = si5*(t2-u1) + co5*(u2+t1) j = j + jump 340 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 342 continue 345 continue kk = kk + 2 * la 350 continue * la = 8 * la * * loop on type II radix-4 passes * ------------------------------ 400 continue mu = mod(inq,4) if (isign.eq.-1) mu = 4 - mu ss = 1.0 if (mu.eq.3) ss = -1.0 * do 480 ipass = mh+1 , m jstep = (n*inc) / (4*la) jstepl = jstep - ninc laincl = la * ink - ninc * * k=0 loop (no twiddle factors) * ----------------------------- do 430 ll = 0 , (la-1)*ink , 4*jstep * do 420 jjj = ll , (n-1)*inc , 4*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 415 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = ja + laincl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = je + laincl if (ji.lt.istart) ji = ji + ninc jj = ji + jstepl if (jj.lt.istart) jj = jj + ninc jk = jj + jstepl if (jk.lt.istart) jk = jk + ninc jl = jk + jstepl if (jl.lt.istart) jl = jl + ninc jm = ji + laincl if (jm.lt.istart) jm = jm + ninc jn = jm + jstepl if (jn.lt.istart) jn = jn + ninc jo = jn + jstepl if (jo.lt.istart) jo = jo + ninc jp = jo + jstepl if (jp.lt.istart) jp = jp + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 410 l = 1 , nvex t0 = a(ja+j) + a(jc+j) t2 = a(ja+j) - a(jc+j) t1 = a(jb+j) + a(jd+j) t3 = ss * ( a(jb+j) - a(jd+j) ) a(jc+j) = a(ji+j) u0 = b(ja+j) + b(jc+j) u2 = b(ja+j) - b(jc+j) u1 = b(jb+j) + b(jd+j) u3 = ss * ( b(jb+j) - b(jd+j) ) a(jb+j) = a(je+j) a(ja+j) = t0 + t1 a(ji+j) = t0 - t1 b(ja+j) = u0 + u1 b(jc+j) = u0 - u1 b(jd+j) = b(jm+j) a(je+j) = t2 - u3 a(jd+j) = t2 + u3 b(jb+j) = u2 + t3 b(jm+j) = u2 - t3 *---------------------- t0 = a(jb+j) + a(jg+j) t2 = a(jb+j) - a(jg+j) t1 = a(jf+j) + a(jh+j) t3 = ss * ( a(jf+j) - a(jh+j) ) a(jg+j) = a(jj+j) u0 = b(je+j) + b(jg+j) u2 = b(je+j) - b(jg+j) u1 = b(jf+j) + b(jh+j) u3 = ss * ( b(jf+j) - b(jh+j) ) b(je+j) = b(jb+j) a(jb+j) = t0 + t1 a(jj+j) = t0 - t1 b(jg+j) = b(jj+j) b(jb+j) = u0 + u1 b(jj+j) = u0 - u1 a(jf+j) = t2 - u3 a(jh+j) = t2 + u3 b(jf+j) = u2 + t3 b(jh+j) = u2 - t3 *---------------------- t0 = a(jc+j) + a(jk+j) t2 = a(jc+j) - a(jk+j) t1 = a(jg+j) + a(jl+j) t3 = ss * ( a(jg+j) - a(jl+j) ) u0 = b(ji+j) + b(jk+j) u2 = b(ji+j) - b(jk+j) a(jl+j) = a(jo+j) u1 = b(jg+j) + b(jl+j) u3 = ss * ( b(jg+j) - b(jl+j) ) b(ji+j) = b(jc+j) a(jc+j) = t0 + t1 a(jk+j) = t0 - t1 b(jl+j) = b(jo+j) b(jc+j) = u0 + u1 b(jk+j) = u0 - u1 a(jg+j) = t2 - u3 a(jo+j) = t2 + u3 b(jg+j) = u2 + t3 b(jo+j) = u2 - t3 *---------------------- t0 = a(jm+j) + a(jl+j) t2 = a(jm+j) - a(jl+j) t1 = a(jn+j) + a(jp+j) t3 = ss * ( a(jn+j) - a(jp+j) ) a(jm+j) = a(jd+j) u0 = b(jd+j) + b(jl+j) u2 = b(jd+j) - b(jl+j) u1 = b(jn+j) + b(jp+j) u3 = ss * ( b(jn+j) - b(jp+j) ) a(jn+j) = a(jh+j) a(jd+j) = t0 + t1 a(jl+j) = t0 - t1 b(jd+j) = u0 + u1 b(jl+j) = u0 - u1 b(jn+j) = b(jh+j) a(jh+j) = t2 - u3 a(jp+j) = t2 + u3 b(jh+j) = u2 + t3 b(jp+j) = u2 - t3 j = j + jump 410 continue *-----( end of loop across transforms ) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 415 continue 420 continue 430 continue *-----( end of double loop for k=0 ) * * finished if last pass * --------------------- if (ipass.eq.m) go to 490 * kk = 2*la * * loop on nonzero k * ----------------- do 470 k = ink , jstep-ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s*trigs(3*kk+2) * * double loop along first transform in block * ------------------------------------------ do 460 ll = k , (la-1)*ink , 4*jstep * do 450 jjj = ll , (n-1)*inc , 4*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 445 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = ja + laincl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = je + laincl if (ji.lt.istart) ji = ji + ninc jj = ji + jstepl if (jj.lt.istart) jj = jj + ninc jk = jj + jstepl if (jk.lt.istart) jk = jk + ninc jl = jk + jstepl if (jl.lt.istart) jl = jl + ninc jm = ji + laincl if (jm.lt.istart) jm = jm + ninc jn = jm + jstepl if (jn.lt.istart) jn = jn + ninc jo = jn + jstepl if (jo.lt.istart) jo = jo + ninc jp = jo + jstepl if (jp.lt.istart) jp = jp + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 440 l = 1 , nvex t0 = a(ja+j) + a(jc+j) t2 = a(ja+j) - a(jc+j) t1 = a(jb+j) + a(jd+j) t3 = ss * ( a(jb+j) - a(jd+j) ) a(jc+j) = a(ji+j) u0 = b(ja+j) + b(jc+j) u2 = b(ja+j) - b(jc+j) u1 = b(jb+j) + b(jd+j) u3 = ss * ( b(jb+j) - b(jd+j) ) a(jb+j) = a(je+j) a(ja+j) = t0 + t1 b(ja+j) = u0 + u1 a(je+j) = co1*(t2-u3) - si1*(u2+t3) b(jb+j) = si1*(t2-u3) + co1*(u2+t3) b(jd+j) = b(jm+j) a(ji+j) = co2*(t0-t1) - si2*(u0-u1) b(jc+j) = si2*(t0-t1) + co2*(u0-u1) a(jd+j) = co3*(t2+u3) - si3*(u2-t3) b(jm+j) = si3*(t2+u3) + co3*(u2-t3) *---------------------------------------- t0 = a(jb+j) + a(jg+j) t2 = a(jb+j) - a(jg+j) t1 = a(jf+j) + a(jh+j) t3 = ss * ( a(jf+j) - a(jh+j) ) a(jg+j) = a(jj+j) u0 = b(je+j) + b(jg+j) u2 = b(je+j) - b(jg+j) u1 = b(jf+j) + b(jh+j) u3 = ss * ( b(jf+j) - b(jh+j) ) b(je+j) = b(jb+j) a(jb+j) = t0 + t1 b(jb+j) = u0 + u1 b(jg+j) = b(jj+j) a(jf+j) = co1*(t2-u3) - si1*(u2+t3) b(jf+j) = si1*(t2-u3) + co1*(u2+t3) a(jj+j) = co2*(t0-t1) - si2*(u0-u1) b(jj+j) = si2*(t0-t1) + co2*(u0-u1) a(jh+j) = co3*(t2+u3) - si3*(u2-t3) b(jh+j) = si3*(t2+u3) + co3*(u2-t3) *---------------------------------------- t0 = a(jc+j) + a(jk+j) t2 = a(jc+j) - a(jk+j) t1 = a(jg+j) + a(jl+j) t3 = ss * ( a(jg+j) - a(jl+j) ) u0 = b(ji+j) + b(jk+j) u2 = b(ji+j) - b(jk+j) a(jl+j) = a(jo+j) u1 = b(jg+j) + b(jl+j) u3 = ss * ( b(jg+j) - b(jl+j) ) b(ji+j) = b(jc+j) a(jc+j) = t0 + t1 b(jc+j) = u0 + u1 b(jl+j) = b(jo+j) a(jg+j) = co1*(t2-u3) - si1*(u2+t3) b(jg+j) = si1*(t2-u3) + co1*(u2+t3) a(jk+j) = co2*(t0-t1) - si2*(u0-u1) b(jk+j) = si2*(t0-t1) + co2*(u0-u1) a(jo+j) = co3*(t2+u3) - si3*(u2-t3) b(jo+j) = si3*(t2+u3) + co3*(u2-t3) *---------------------------------------- t0 = a(jm+j) + a(jl+j) t2 = a(jm+j) - a(jl+j) t1 = a(jn+j) + a(jp+j) t3 = ss * ( a(jn+j) - a(jp+j) ) a(jm+j) = a(jd+j) u0 = b(jd+j) + b(jl+j) u2 = b(jd+j) - b(jl+j) a(jn+j) = a(jh+j) u1 = b(jn+j) + b(jp+j) u3 = ss * ( b(jn+j) - b(jp+j) ) b(jn+j) = b(jh+j) a(jd+j) = t0 + t1 b(jd+j) = u0 + u1 a(jh+j) = co1*(t2-u3) - si1*(u2+t3) b(jh+j) = si1*(t2-u3) + co1*(u2+t3) a(jl+j) = co2*(t0-t1) - si2*(u0-u1) b(jl+j) = si2*(t0-t1) + co2*(u0-u1) a(jp+j) = co3*(t2+u3) - si3*(u2-t3) b(jp+j) = si3*(t2+u3) + co3*(u2-t3) j = j + jump 440 continue *-----(end of loop across transforms) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 445 continue 450 continue 460 continue *-----( end of double loop for this k ) kk = kk + 2*la 470 continue *-----( end of loop over values of k ) la = 4*la 480 continue *-----( end of loop on type II radix-4 passes ) *-----( nvex transforms completed) 490 continue istart = istart + nvex * jump 500 continue *-----( end of loop on blocks of transforms ) * return end emoslib-000392+dfsg.1/fft/sources0000755000175000017500000000042612127406245017650 0ustar amckinstryamckinstry# # Sources for fft # SOURCES.f = \ fax.f \ fft99.f \ fft991.f \ fftrig.f \ gpfa.f \ gpfa2.f \ gpfa3.f \ gpfa5.f \ rpassf.f \ rpassm.f \ qpassf.f \ qpassm.f \ set99.f \ syminv.f \ setgpfa.f emoslib-000392+dfsg.1/fft/gpfa5.F0000755000175000017500000004535612127406245017366 0ustar amckinstryamckinstry subroutine gpfa5(a,b,trigs,inc,jump,n,mm,lot,isign) C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C * fortran version of *gpfa5* - * radix-5 section of self-sorting, in-place, * generalized pfa * *------------------------------------------------------------------- * dimension a(*), b(*), trigs(*) data sin36/0.587785252292473/, sin72/0.951056516295154/, * qrt5/0.559016994374947/ data lvr/128/ * * *************************************************************** * * * * * N.B. LVR = LENGTH OF VECTOR REGISTERS, SET TO 128 FOR C90. * * * RESET TO 64 FOR OTHER CRAY MACHINES, OR TO ANY LARGE VALUE * * * (GREATER THAN OR EQUAL TO LOT) FOR A SCALAR COMPUTER. * * * * * *************************************************************** * n5 = 5 ** mm inq = n / n5 jstepx = (n5-n) * inc ninc = n * inc ink = inc * inq mu = mod(inq,5) if (isign.eq.-1) mu = 5 - mu * m = mm mh = (m+1)/2 s = float(isign) c1 = qrt5 c2 = sin72 c3 = sin36 if (mu.eq.2.or.mu.eq.3) then c1 = -c1 c2 = sin36 c3 = sin72 endif if (mu.eq.3.or.mu.eq.4) c2 = -c2 if (mu.eq.2.or.mu.eq.4) c3 = -c3 * nblox = 1 + (lot-1)/lvr left = lot s = float(isign) istart = 1 * * loop on blocks of lvr transforms * -------------------------------- do 500 nb = 1 , nblox * if (left.le.lvr) then nvex = left else if (left.lt.(2*lvr)) then nvex = left/2 nvex = nvex + mod(nvex,2) else nvex = lvr endif left = left - nvex * la = 1 * * loop on type I radix-5 passes * ----------------------------- do 160 ipass = 1 , mh jstep = (n*inc) / (5*la) jstepl = jstep - ninc kk = 0 * * loop on k * --------- do 150 k = 0 , jstep-ink , ink * if (k.gt.0) then co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s*trigs(3*kk+2) co4 = trigs(4*kk+1) si4 = s*trigs(4*kk+2) endif * * loop along transform * -------------------- do 140 jjj = k , (n-1)*inc , 5*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 135 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc j = 0 * * loop across transforms * ---------------------- if (k.eq.0) then * #ifdef _CRAY cdir$ ivdep,shortloop #endif do 110 l = 1 , nvex t1 = a(jb+j) + a(je+j) t2 = a(jc+j) + a(jd+j) t3 = a(jb+j) - a(je+j) t4 = a(jc+j) - a(jd+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ja+j) - 0.25 * t5 a(ja+j) = a(ja+j) + t5 t8 = t7 + t6 t9 = t7 - t6 t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jb+j) + b(je+j) u2 = b(jc+j) + b(jd+j) u3 = b(jb+j) - b(je+j) u4 = b(jc+j) - b(jd+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ja+j) - 0.25 * u5 b(ja+j) = b(ja+j) + u5 u8 = u7 + u6 u9 = u7 - u6 u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jb+j) = t8 - u11 b(jb+j) = u8 + t11 a(je+j) = t8 + u11 b(je+j) = u8 - t11 a(jc+j) = t9 - u10 b(jc+j) = u9 + t10 a(jd+j) = t9 + u10 b(jd+j) = u9 - t10 j = j + jump 110 continue * else * #ifdef _CRAY cdir$ ivdep,shortloop #endif do 130 l = 1 , nvex t1 = a(jb+j) + a(je+j) t2 = a(jc+j) + a(jd+j) t3 = a(jb+j) - a(je+j) t4 = a(jc+j) - a(jd+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ja+j) - 0.25 * t5 a(ja+j) = a(ja+j) + t5 t8 = t7 + t6 t9 = t7 - t6 t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jb+j) + b(je+j) u2 = b(jc+j) + b(jd+j) u3 = b(jb+j) - b(je+j) u4 = b(jc+j) - b(jd+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ja+j) - 0.25 * u5 b(ja+j) = b(ja+j) + u5 u8 = u7 + u6 u9 = u7 - u6 u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jb+j) = co1*(t8-u11) - si1*(u8+t11) b(jb+j) = si1*(t8-u11) + co1*(u8+t11) a(je+j) = co4*(t8+u11) - si4*(u8-t11) b(je+j) = si4*(t8+u11) + co4*(u8-t11) a(jc+j) = co2*(t9-u10) - si2*(u9+t10) b(jc+j) = si2*(t9-u10) + co2*(u9+t10) a(jd+j) = co3*(t9+u10) - si3*(u9-t10) b(jd+j) = si3*(t9+u10) + co3*(u9-t10) j = j + jump 130 continue * endif * *-----( end of loop across transforms ) * ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 135 continue 140 continue *-----( end of loop along transforms ) kk = kk + 2*la 150 continue *-----( end of loop on nonzero k ) la = 5*la 160 continue *-----( end of loop on type I radix-5 passes) * if (n.eq.5) go to 490 * * loop on type II radix-5 passes * ------------------------------ 400 continue * do 480 ipass = mh+1 , m jstep = (n*inc) / (5*la) jstepl = jstep - ninc laincl = la * ink - ninc kk = 0 * * loop on k * --------- do 470 k = 0 , jstep-ink , ink * if (k.gt.0) then co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s*trigs(3*kk+2) co4 = trigs(4*kk+1) si4 = s*trigs(4*kk+2) endif * * double loop along first transform in block * ------------------------------------------ do 460 ll = k , (la-1)*ink , 5*jstep * do 450 jjj = ll , (n-1)*inc , 5*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 445 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = ja + laincl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = jh + jstepl if (ji.lt.istart) ji = ji + ninc jj = ji + jstepl if (jj.lt.istart) jj = jj + ninc jk = jf + laincl if (jk.lt.istart) jk = jk + ninc jl = jk + jstepl if (jl.lt.istart) jl = jl + ninc jm = jl + jstepl if (jm.lt.istart) jm = jm + ninc jn = jm + jstepl if (jn.lt.istart) jn = jn + ninc jo = jn + jstepl if (jo.lt.istart) jo = jo + ninc jp = jk + laincl if (jp.lt.istart) jp = jp + ninc jq = jp + jstepl if (jq.lt.istart) jq = jq + ninc jr = jq + jstepl if (jr.lt.istart) jr = jr + ninc js = jr + jstepl if (js.lt.istart) js = js + ninc jt = js + jstepl if (jt.lt.istart) jt = jt + ninc ju = jp + laincl if (ju.lt.istart) ju = ju + ninc jv = ju + jstepl if (jv.lt.istart) jv = jv + ninc jw = jv + jstepl if (jw.lt.istart) jw = jw + ninc jx = jw + jstepl if (jx.lt.istart) jx = jx + ninc jy = jx + jstepl if (jy.lt.istart) jy = jy + ninc j = 0 * * loop across transforms * ---------------------- if (k.eq.0) then * #ifdef _CRAY cdir$ ivdep,shortloop #endif do 410 l = 1 , nvex t1 = a(jb+j) + a(je+j) t2 = a(jc+j) + a(jd+j) t3 = a(jb+j) - a(je+j) t4 = a(jc+j) - a(jd+j) a(jb+j) = a(jf+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ja+j) - 0.25 * t5 a(ja+j) = a(ja+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jc+j) = a(jk+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jb+j) + b(je+j) u2 = b(jc+j) + b(jd+j) u3 = b(jb+j) - b(je+j) u4 = b(jc+j) - b(jd+j) b(jb+j) = b(jf+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ja+j) - 0.25 * u5 b(ja+j) = b(ja+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jc+j) = b(jk+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jf+j) = t8 - u11 b(jf+j) = u8 + t11 a(je+j) = t8 + u11 b(je+j) = u8 - t11 a(jk+j) = t9 - u10 b(jk+j) = u9 + t10 a(jd+j) = t9 + u10 b(jd+j) = u9 - t10 *---------------------- t1 = a(jg+j) + a(jj+j) t2 = a(jh+j) + a(ji+j) t3 = a(jg+j) - a(jj+j) t4 = a(jh+j) - a(ji+j) a(jh+j) = a(jl+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jb+j) - 0.25 * t5 a(jb+j) = a(jb+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(ji+j) = a(jq+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jg+j) + b(jj+j) u2 = b(jh+j) + b(ji+j) u3 = b(jg+j) - b(jj+j) u4 = b(jh+j) - b(ji+j) b(jh+j) = b(jl+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jb+j) - 0.25 * u5 b(jb+j) = b(jb+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(ji+j) = b(jq+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jg+j) = t8 - u11 b(jg+j) = u8 + t11 a(jj+j) = t8 + u11 b(jj+j) = u8 - t11 a(jl+j) = t9 - u10 b(jl+j) = u9 + t10 a(jq+j) = t9 + u10 b(jq+j) = u9 - t10 *---------------------- t1 = a(jh+j) + a(jo+j) t2 = a(jm+j) + a(jn+j) t3 = a(jh+j) - a(jo+j) t4 = a(jm+j) - a(jn+j) a(jn+j) = a(jr+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jc+j) - 0.25 * t5 a(jc+j) = a(jc+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jo+j) = a(jw+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jh+j) + b(jo+j) u2 = b(jm+j) + b(jn+j) u3 = b(jh+j) - b(jo+j) u4 = b(jm+j) - b(jn+j) b(jn+j) = b(jr+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jc+j) - 0.25 * u5 b(jc+j) = b(jc+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jo+j) = b(jw+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jh+j) = t8 - u11 b(jh+j) = u8 + t11 a(jw+j) = t8 + u11 b(jw+j) = u8 - t11 a(jm+j) = t9 - u10 b(jm+j) = u9 + t10 a(jr+j) = t9 + u10 b(jr+j) = u9 - t10 *---------------------- t1 = a(ji+j) + a(jt+j) t2 = a(jn+j) + a(js+j) t3 = a(ji+j) - a(jt+j) t4 = a(jn+j) - a(js+j) a(jt+j) = a(jx+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jp+j) - 0.25 * t5 ax = a(jp+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jp+j) = a(jd+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 a(jd+j) = ax u1 = b(ji+j) + b(jt+j) u2 = b(jn+j) + b(js+j) u3 = b(ji+j) - b(jt+j) u4 = b(jn+j) - b(js+j) b(jt+j) = b(jx+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jp+j) - 0.25 * u5 bx = b(jp+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jp+j) = b(jd+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 b(jd+j) = bx a(ji+j) = t8 - u11 b(ji+j) = u8 + t11 a(jx+j) = t8 + u11 b(jx+j) = u8 - t11 a(jn+j) = t9 - u10 b(jn+j) = u9 + t10 a(js+j) = t9 + u10 b(js+j) = u9 - t10 *---------------------- t1 = a(jv+j) + a(jy+j) t2 = a(jo+j) + a(jt+j) t3 = a(jv+j) - a(jy+j) t4 = a(jo+j) - a(jt+j) a(jv+j) = a(jj+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ju+j) - 0.25 * t5 ax = a(ju+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(ju+j) = a(je+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 a(je+j) = ax u1 = b(jv+j) + b(jy+j) u2 = b(jo+j) + b(jt+j) u3 = b(jv+j) - b(jy+j) u4 = b(jo+j) - b(jt+j) b(jv+j) = b(jj+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ju+j) - 0.25 * u5 bx = b(ju+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(ju+j) = b(je+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 b(je+j) = bx a(jj+j) = t8 - u11 b(jj+j) = u8 + t11 a(jy+j) = t8 + u11 b(jy+j) = u8 - t11 a(jo+j) = t9 - u10 b(jo+j) = u9 + t10 a(jt+j) = t9 + u10 b(jt+j) = u9 - t10 j = j + jump 410 continue * else * #ifdef _CRAY cdir$ ivdep,shortloop #endif do 440 l = 1 , nvex t1 = a(jb+j) + a(je+j) t2 = a(jc+j) + a(jd+j) t3 = a(jb+j) - a(je+j) t4 = a(jc+j) - a(jd+j) a(jb+j) = a(jf+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ja+j) - 0.25 * t5 a(ja+j) = a(ja+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jc+j) = a(jk+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jb+j) + b(je+j) u2 = b(jc+j) + b(jd+j) u3 = b(jb+j) - b(je+j) u4 = b(jc+j) - b(jd+j) b(jb+j) = b(jf+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ja+j) - 0.25 * u5 b(ja+j) = b(ja+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jc+j) = b(jk+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jf+j) = co1*(t8-u11) - si1*(u8+t11) b(jf+j) = si1*(t8-u11) + co1*(u8+t11) a(je+j) = co4*(t8+u11) - si4*(u8-t11) b(je+j) = si4*(t8+u11) + co4*(u8-t11) a(jk+j) = co2*(t9-u10) - si2*(u9+t10) b(jk+j) = si2*(t9-u10) + co2*(u9+t10) a(jd+j) = co3*(t9+u10) - si3*(u9-t10) b(jd+j) = si3*(t9+u10) + co3*(u9-t10) *---------------------- t1 = a(jg+j) + a(jj+j) t2 = a(jh+j) + a(ji+j) t3 = a(jg+j) - a(jj+j) t4 = a(jh+j) - a(ji+j) a(jh+j) = a(jl+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jb+j) - 0.25 * t5 a(jb+j) = a(jb+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(ji+j) = a(jq+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jg+j) + b(jj+j) u2 = b(jh+j) + b(ji+j) u3 = b(jg+j) - b(jj+j) u4 = b(jh+j) - b(ji+j) b(jh+j) = b(jl+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jb+j) - 0.25 * u5 b(jb+j) = b(jb+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(ji+j) = b(jq+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jg+j) = co1*(t8-u11) - si1*(u8+t11) b(jg+j) = si1*(t8-u11) + co1*(u8+t11) a(jj+j) = co4*(t8+u11) - si4*(u8-t11) b(jj+j) = si4*(t8+u11) + co4*(u8-t11) a(jl+j) = co2*(t9-u10) - si2*(u9+t10) b(jl+j) = si2*(t9-u10) + co2*(u9+t10) a(jq+j) = co3*(t9+u10) - si3*(u9-t10) b(jq+j) = si3*(t9+u10) + co3*(u9-t10) *---------------------- t1 = a(jh+j) + a(jo+j) t2 = a(jm+j) + a(jn+j) t3 = a(jh+j) - a(jo+j) t4 = a(jm+j) - a(jn+j) a(jn+j) = a(jr+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jc+j) - 0.25 * t5 a(jc+j) = a(jc+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jo+j) = a(jw+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 u1 = b(jh+j) + b(jo+j) u2 = b(jm+j) + b(jn+j) u3 = b(jh+j) - b(jo+j) u4 = b(jm+j) - b(jn+j) b(jn+j) = b(jr+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jc+j) - 0.25 * u5 b(jc+j) = b(jc+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jo+j) = b(jw+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 a(jh+j) = co1*(t8-u11) - si1*(u8+t11) b(jh+j) = si1*(t8-u11) + co1*(u8+t11) a(jw+j) = co4*(t8+u11) - si4*(u8-t11) b(jw+j) = si4*(t8+u11) + co4*(u8-t11) a(jm+j) = co2*(t9-u10) - si2*(u9+t10) b(jm+j) = si2*(t9-u10) + co2*(u9+t10) a(jr+j) = co3*(t9+u10) - si3*(u9-t10) b(jr+j) = si3*(t9+u10) + co3*(u9-t10) *---------------------- t1 = a(ji+j) + a(jt+j) t2 = a(jn+j) + a(js+j) t3 = a(ji+j) - a(jt+j) t4 = a(jn+j) - a(js+j) a(jt+j) = a(jx+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(jp+j) - 0.25 * t5 ax = a(jp+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(jp+j) = a(jd+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 a(jd+j) = ax u1 = b(ji+j) + b(jt+j) u2 = b(jn+j) + b(js+j) u3 = b(ji+j) - b(jt+j) u4 = b(jn+j) - b(js+j) b(jt+j) = b(jx+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(jp+j) - 0.25 * u5 bx = b(jp+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(jp+j) = b(jd+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 b(jd+j) = bx a(ji+j) = co1*(t8-u11) - si1*(u8+t11) b(ji+j) = si1*(t8-u11) + co1*(u8+t11) a(jx+j) = co4*(t8+u11) - si4*(u8-t11) b(jx+j) = si4*(t8+u11) + co4*(u8-t11) a(jn+j) = co2*(t9-u10) - si2*(u9+t10) b(jn+j) = si2*(t9-u10) + co2*(u9+t10) a(js+j) = co3*(t9+u10) - si3*(u9-t10) b(js+j) = si3*(t9+u10) + co3*(u9-t10) *---------------------- t1 = a(jv+j) + a(jy+j) t2 = a(jo+j) + a(jt+j) t3 = a(jv+j) - a(jy+j) t4 = a(jo+j) - a(jt+j) a(jv+j) = a(jj+j) t5 = t1 + t2 t6 = c1 * ( t1 - t2 ) t7 = a(ju+j) - 0.25 * t5 ax = a(ju+j) + t5 t8 = t7 + t6 t9 = t7 - t6 a(ju+j) = a(je+j) t10 = c3 * t3 - c2 * t4 t11 = c2 * t3 + c3 * t4 a(je+j) = ax u1 = b(jv+j) + b(jy+j) u2 = b(jo+j) + b(jt+j) u3 = b(jv+j) - b(jy+j) u4 = b(jo+j) - b(jt+j) b(jv+j) = b(jj+j) u5 = u1 + u2 u6 = c1 * ( u1 - u2 ) u7 = b(ju+j) - 0.25 * u5 bx = b(ju+j) + u5 u8 = u7 + u6 u9 = u7 - u6 b(ju+j) = b(je+j) u10 = c3 * u3 - c2 * u4 u11 = c2 * u3 + c3 * u4 b(je+j) = bx a(jj+j) = co1*(t8-u11) - si1*(u8+t11) b(jj+j) = si1*(t8-u11) + co1*(u8+t11) a(jy+j) = co4*(t8+u11) - si4*(u8-t11) b(jy+j) = si4*(t8+u11) + co4*(u8-t11) a(jo+j) = co2*(t9-u10) - si2*(u9+t10) b(jo+j) = si2*(t9-u10) + co2*(u9+t10) a(jt+j) = co3*(t9+u10) - si3*(u9-t10) b(jt+j) = si3*(t9+u10) + co3*(u9-t10) j = j + jump 440 continue * endif * *-----(end of loop across transforms) * ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 445 continue 450 continue 460 continue *-----( end of double loop for this k ) kk = kk + 2*la 470 continue *-----( end of loop over values of k ) la = 5*la 480 continue *-----( end of loop on type II radix-5 passes ) *-----( nvex transforms completed) 490 continue istart = istart + nvex * jump 500 continue *-----( end of loop on blocks of transforms ) * return end emoslib-000392+dfsg.1/fft/fft99.f0000755000175000017500000001317312127406245017355 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE FFT99(A,WORK,TRIGS,IFAX,INC,JUMP,N,LOT,ISIGN) DIMENSION A(N),WORK(N),TRIGS(N),IFAX(*) C C SUBROUTINE 'FFT99' - MULTIPLE FAST REAL PERIODIC TRANSFORM C SUPERSEDES PREVIOUS ROUTINE 'FFT99' C C REAL TRANSFORM OF LENGTH N PERFORMED BY REMOVING REDUNDANT C OPERATIONS FROM COMPLEX TRANSFORM OF LENGTH N C C A IS THE ARRAY CONTAINING INPUT & OUTPUT DATA C WORK IS AN AREA OF SIZE (N+1)*MIN(LOT,64) C TRIGS IS A PREVIOUSLY PREPARED LIST OF TRIG FUNCTION VALUES C IFAX IS A PREVIOUSLY PREPARED LIST OF FACTORS OF N C INC IS THE INCREMENT WITHIN EACH DATA 'VECTOR' C (E.G. INC=1 FOR CONSECUTIVELY STORED DATA) C JUMP IS THE INCREMENT BETWEEN THE START OF EACH DATA VECTOR C N IS THE LENGTH OF THE DATA VECTORS C LOT IS THE NUMBER OF DATA VECTORS C ISIGN = +1 FOR TRANSFORM FROM SPECTRAL TO GRIDPOINT C = -1 FOR TRANSFORM FROM GRIDPOINT TO SPECTRAL C C ORDERING OF COEFFICIENTS: C A(0),B(0),A(1),B(1),A(2),B(2),...,A(N/2),B(N/2) C WHERE B(0)=B(N/2)=0; (N+2) LOCATIONS REQUIRED C C ORDERING OF DATA: C X(N-1),X(0),X(1),X(2),...,X(N-1),X(0) C I.E. EXPLICIT CYCLIC CONTINUITY; (N+2) LOCATIONS REQUIRED C C VECTORIZATION IS ACHIEVED ON CRAY BY DOING THE TRANSFORMS C IN PARALLEL C C N MUST BE COMPOSED OF FACTORS 2,3 & 5 BUT DOES NOT HAVE TO BE EVEN C C DEFINITION OF TRANSFORMS: C ------------------------- C C ISIGN=+1: X(J)=SUM(K=0,...,N-1)(C(K)*EXP(2*I*J*K*PI/N)) C WHERE C(K)=A(K)+I*B(K) AND C(N-K)=A(K)-I*B(K) C C ISIGN=-1: A(K)=(1/N)*SUM(J=0,...,N-1)(X(J)*COS(2*J*K*PI/N)) C B(K)=-(1/N)*SUM(J=0,...,N-1)(X(J)*SIN(2*J*K*PI/N)) C IF(IFAX(10).NE.N) CALL SET99(TRIGS,IFAX,N) NFAX=IFAX(1) NX=N+1 IF (MOD(N,2).EQ.1) NX=N NBLOX=1+(LOT-1)/64 NVEX=LOT-(NBLOX-1)*64 IF (ISIGN.EQ.-1) GO TO 300 C C ISIGN=+1, SPECTRAL TO GRIDPOINT TRANSFORM C ----------------------------------------- 100 CONTINUE ISTART=1 DO 220 NB=1,NBLOX IA=ISTART I=ISTART DO 110 J=1,NVEX A(I+INC)=0.5*A(I) I=I+JUMP 110 CONTINUE IF (MOD(N,2).EQ.1) GO TO 130 I=ISTART+N*INC DO 120 J=1,NVEX A(I)=0.5*A(I) I=I+JUMP 120 CONTINUE 130 CONTINUE IA=ISTART+INC LA=1 IGO=+1 C DO 160 K=1,NFAX IFAC=IFAX(K+1) IERR=-1 IF (IGO.EQ.-1) GO TO 140 CALL RPASSM(A(IA),A(IA+LA*INC),WORK(1),WORK(IFAC*LA+1),TRIGS, * INC,1,JUMP,NX,NVEX,N,IFAC,LA,IERR) GO TO 150 140 CONTINUE CALL RPASSM(WORK(1),WORK(LA+1),A(IA),A(IA+IFAC*LA*INC),TRIGS, * 1,INC,NX,JUMP,NVEX,N,IFAC,LA,IERR) 150 CONTINUE IF (IERR.NE.0) GO TO 500 LA=IFAC*LA IGO=-IGO IA=ISTART+INC 160 CONTINUE C C IF NECESSARY, COPY RESULTS BACK TO A C ------------------------------------ IF (MOD(NFAX,2).EQ.0) GO TO 190 IBASE=1 JBASE=IA DO 180 JJ=1,NVEX I=IBASE J=JBASE DO 170 II=1,N A(J)=WORK(I) I=I+1 J=J+INC 170 CONTINUE IBASE=IBASE+NX JBASE=JBASE+JUMP 180 CONTINUE 190 CONTINUE C C FILL IN CYCLIC BOUNDARY VALUES C ------------------------------ IX=ISTART IZ=ISTART+N*INC CDIR$ IVDEP DO 200 J=1,NVEX A(IX)=A(IZ) A(IZ+INC)=A(IX+INC) IX=IX+JUMP IZ=IZ+JUMP 200 CONTINUE C ISTART=ISTART+NVEX*JUMP NVEX=64 220 CONTINUE RETURN C C ISIGN=-1, GRIDPOINT TO SPECTRAL TRANSFORM C ----------------------------------------- 300 CONTINUE ISTART=1 DO 410 NB=1,NBLOX IA=ISTART+INC LA=N IGO=+1 C DO 340 K=1,NFAX IFAC=IFAX(NFAX+2-K) LA=LA/IFAC IERR=-1 IF (IGO.EQ.-1) GO TO 320 CALL QPASSM(A(IA),A(IA+IFAC*LA*INC),WORK(1),WORK(LA+1),TRIGS, * INC,1,JUMP,NX,NVEX,N,IFAC,LA,IERR) GO TO 330 320 CONTINUE CALL QPASSM(WORK(1),WORK(IFAC*LA+1),A(IA),A(IA+LA*INC),TRIGS, * 1,INC,NX,JUMP,NVEX,N,IFAC,LA,IERR) 330 CONTINUE IF (IERR.NE.0) GO TO 500 IGO=-IGO IA=ISTART+INC 340 CONTINUE C C IF NECESSARY, COPY RESULTS BACK TO A C ------------------------------------ IF (MOD(NFAX,2).EQ.0) GO TO 370 IBASE=1 JBASE=IA DO 360 JJ=1,NVEX I=IBASE J=JBASE DO 350 II=1,N A(J)=WORK(I) I=I+1 J=J+INC 350 CONTINUE IBASE=IBASE+NX JBASE=JBASE+JUMP 360 CONTINUE 370 CONTINUE C C SHIFT A(0) & FILL IN ZERO IMAG PARTS C ------------------------------------ IX=ISTART DO 380 J=1,NVEX A(IX)=A(IX+INC) A(IX+INC)=0.0 IX=IX+JUMP 380 CONTINUE IF (MOD(N,2).EQ.1) GO TO 400 IZ=ISTART+(N+1)*INC DO 390 J=1,NVEX A(IZ)=0.0 IZ=IZ+JUMP 390 CONTINUE 400 CONTINUE C ISTART=ISTART+NVEX*JUMP NVEX=64 410 CONTINUE RETURN C C ERROR MESSAGES C -------------- 500 CONTINUE GO TO (510,530,550) IERR 510 CONTINUE WRITE(6,520) NVEX 520 FORMAT('1VECTOR LENGTH =',I4,', GREATER THAN 64') GO TO 570 530 CONTINUE WRITE(6,540) IFAC 540 FORMAT( '1FACTOR =',I3,', NOT CATERED FOR') GO TO 570 550 CONTINUE WRITE(6,560) IFAC 560 FORMAT('1FACTOR =',I3,', ONLY CATERED FOR IF LA*IFAC=N') 570 CONTINUE RETURN END emoslib-000392+dfsg.1/fft/syminv.f0000755000175000017500000000534612127406245017744 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE SYMINV(A,NDIM,N,COND,V,DEPS) DIMENSION A(NDIM,NDIM),V(NDIM) C INVERT IN PLACE THE LOWER TRIANGLE OF A (I.E. A(I,J) I.GE.J) C A IS A SYMMETRIC POSITIVE DEFINITE MATRIX C THE UPPER TRIANGLE OF A (IE. A(I,J) I.LT.J) IS NOT USED OR ALTERED C C THIS VERSION IS OPTIMIZED FOR THE CDC FTN COMPILER. C IT REQUIRES THE FUNCTION 'NUMARG' FROM 'ECLIB' C IF(N.LT.1)RETURN EPS=0. c IF(NUMARG().EQ.6) EPS=DEPS NDIA=NDIM+1 IMX=ISAMAX(N,A(1,1),NDIA) ZMX=A(IMX,IMX)*FLOAT(N*N) C SECTION 1 & 2 COMBINED IN THIS VERSION C**** 1. ROOT FREE CHOLESKY DECOMPOSITION A =L D L(TRANSPOSE) J=1 IF(A(1,1).LE.EPS)GOTO91 V(1)=1./A(1,1) IF(N.EQ.1)GOTO20 X=A(2,1)*V(1) A(2,2)=A(2,2)-X*A(2,1) A(2,1)=X IF(A(2,2).LE.EPS)GOTO91 V(2)=1./A(2,2) IF(N.EQ.2)GOTO20 DO 14 I=3,N DO 12 J=3,I S=A(I,J-1) DO 11 K=3,J 11 S=S-A(I,K-2)*A(J-1,K-2) A(I,J-1)=S 12 CONTINUE S=A(I,I) DO 13 J=2,I X=A(I,J-1)*V(J-1) S=S-X*A(I,J-1) 13 A(I,J-1)=X A(I,I)=S C CHECK FOR POSITIVE-DEFINITENESS AND INVERT DIAGONAL MATRIX D. IF(A(I,I).LE.EPS)GOTO91 V(I)=1./A(I,I) 14 CONTINUE C C**** 2. COPY INVERSE OF D WHICH HAS ALREADY BEEN CALCULATED. 20 DO 21 J=1,N 21 A(J,J)=V(J) IF(N.EQ.1) GO TO 50 C C**** 3. INVERSION OF L 30 A(2,1)=-A(2,1) NM1=N-1 IF(N.EQ.2)GOTO40 DO 33 I=2,NM1 DO 32 J=2,I S=A(I+1,J-1) DO 31 K=J,I 31 S=S+A(I+1,K)*A(K,J-1) 32 A(I+1,J-1)=-S 33 A(I+1,I)=-A(I+1,I) C C**** 4. INV A = INV L(TRANSPOSE) * INV D * INV L 40 DO 44 J=2,N S=A(J-1,J-1) DO 41 I=J,N X=A(I,I)*A(I,J-1) S=S+A(I,J-1)*X 41 A(I,J-1)=X A(J-1,J-1)=S IF(J.EQ.N) GO TO 50 DO 43 I=J,NM1 S=A(I,J-1) DO 42 K=I,NM1 42 S=S+A(K+1,I)*A(K+1,J-1) A(I,J-1)=S 43 CONTINUE 44 CONTINUE C 50 IMX=ISAMAX(N,A(1,1),NDIA) COND=1./ABS(A(IMX,IMX)*ZMX) RETURN C 91 COND=-FLOAT(J) RETURN END INTEGER FUNCTION ISAMAX(N,A,M) C C FIND THE LARGEST ABSOLUTE ELEMENT OF A , SPACED M WORDS APART C DIMENSION A(*) C LARGE=1 IF(N.LE.1) GO TO 9 INDEX=1+M DO 1 I=2,N IF(ABS(A(INDEX)).GE.ABS(A(LARGE))) LARGE=I 1 INDEX=INDEX+M 9 ISAMAX=LARGE RETURN END emoslib-000392+dfsg.1/fft/rpassf.f0000755000175000017500000016477412127406245017730 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c C SUBROUTINE 'RPASSF' - PERFORMS ONE PASS THROUGH DATA AS PART C OF MULTIPLE REAL FFT (FOURIER SYNTHESIS) ROUTINE C C A IS FIRST REAL INPUT VECTOR C EQUIVALENCE B(1) WITH A (LA*INC1+1) C C IS FIRST REAL OUTPUT VECTOR C EQUIVALENCE D(1) WITH C(IFAC*LA*INC2+1) C TRIGS IS A PRECALCULATED LIST OF SINES & COSINES C INC1 IS THE ADDRESSING INCREMENT FOR A C INC2 IS THE ADDRESSING INCREMENT FOR C C INC3 IS THE INCREMENT BETWEEN INPUT VECTORS A C INC4 IS THE INCREMENT BETWEEN OUTPUT VECTORS C C LOT IS THE NUMBER OF VECTORS C N IS THE LENGTH OF THE VECTORS C IFAC IS THE CURRENT FACTOR OF N C LA IS THE PRODUCT OF PREVIOUS FACTORS C IERR IS AN ERROR INDICATOR: C 0 - PASS COMPLETED WITHOUT ERROR C 2 - IFAC NOT CATERED FOR C 3 - IFAC ONLY CATERED FOR IF LA=N/IFAC C LIPL=.T. => RESULTS ARE RETURNED TO INPUT ARRAY C (ONLY VALID IF LA=N/IFAC, I.E. ON LAST PASS) C C----------------------------------------------------------------------- C SUBROUTINE RPASSF(A,B,C,D,TRIGS,INC1,INC2,INC3,INC4,LOT,N,IFAC, * LA,IERR,LIPL) DIMENSION A(N),B(N),C(N),D(N),TRIGS(N) LOGICAL LIPL C DATA SIN36/0.587785252292473/,SIN72/0.951056516295154/, * QRT5/0.559016994374947/,SIN60/0.866025403784437/ C M=N/IFAC IINK=LA*INC1 JINK=LA*INC2 JUMP=(IFAC-1)*JINK KSTOP=(N-IFAC)/(2*IFAC) C IBASE=0 JBASE=0 IBAD=0 C ! Increase the vector length by fusing the loops if the ! data layout is appropriate: IF (INC1.EQ.LOT.AND.INC2.EQ.LOT.AND.INC3.EQ.1.AND.INC4.EQ.1) THEN ILA=1 ILOT=LA*LOT INC21=LA*LOT ELSE ILA=LA ILOT=LOT INC21=INC2 ENDIF C IF (IFAC.EQ.2) THEN C C CODING FOR FACTOR 2 C ------------------- 200 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 JA=1 JB=JA+JINK C IF (LA.NE.M) THEN C DO 220 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 210 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=A(IA+I)-A(IB+I) I=I+INC3 J=J+INC4 210 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 220 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB-IINK IBASE=0 JBASE=JBASE+JUMP JUMP=2*JUMP+JINK C IF (IA.LT.IB) THEN DO 250 K=LA,KSTOP,LA KB=K+K C1=TRIGS(KB+1) S1=TRIGS(KB+2) IBASE=0 DO 240 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 230 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) D(JA+J)=B(IA+I)-B(IB+I) C(JB+J)=C1*(A(IA+I)-A(IB+I))-S1*(B(IA+I)+B(IB+I)) D(JB+J)=S1*(A(IA+I)-A(IB+I))+C1*(B(IA+I)+B(IB+I)) I=I+INC3 J=J+INC4 230 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 240 CONTINUE IA=IA+IINK IB=IB-IINK JBASE=JBASE+JUMP 250 CONTINUE ENDIF C IF (IA.EQ.IB) THEN IBASE=0 DO 280 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 270 IJK=1,ILOT C(JA+J)=A(IA+I) C(JB+J)=-B(IA+I) I=I+INC3 J=J+INC4 270 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 280 CONTINUE ENDIF C ELSE !!! Case LA=M IF (LIPL) THEN DO 294 L=1,ILA I=IBASE !OCL NOVREC DO 292 IJK=1,ILOT T1=2.0*(A(IA+I)-A(IB+I)) A(IA+I)=2.0*(A(IA+I)+A(IB+I)) A(IB+I)=T1 I=I+INC3 292 CONTINUE IBASE=IBASE+INC1 294 CONTINUE ELSE DO 298 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 296 IJK=1,ILOT C(JA+J)=2.0*(A(IA+I)+A(IB+I)) C(JB+J)=2.0*(A(IA+I)-A(IB+I)) I=I+INC3 J=J+INC4 296 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 298 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.3) THEN C C CODING FOR FACTOR 3 C ------------------- 300 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 IC=IB JA=1 JB=JA+JINK JC=JB+JINK C IF (LA.NE.M) THEN C DO 320 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 310 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=(A(IA+I)-0.5*A(IB+I))-(SIN60*(B(IB+I))) C(JC+J)=(A(IA+I)-0.5*A(IB+I))+(SIN60*(B(IB+I))) I=I+INC3 J=J+INC4 310 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 320 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK C IF (IA.LT.IC) THEN DO 350 K=LA,KSTOP,LA KB=K+K KC=KB+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) IBASE=0 DO 340 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 330 IJK=1,ILOT C(JA+J)=A(IA+I)+(A(IB+I)+A(IC+I)) D(JA+J)=B(IA+I)+(B(IB+I)-B(IC+I)) C(JB+J)= * C1*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))-(SIN60*(B(IB+I)+B(IC+I)))) * -S1*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))+(SIN60*(A(IB+I)-A(IC+I)))) D(JB+J)= * S1*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))-(SIN60*(B(IB+I)+B(IC+I)))) * +C1*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))+(SIN60*(A(IB+I)-A(IC+I)))) C(JC+J)= * C2*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))+(SIN60*(B(IB+I)+B(IC+I)))) * -S2*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))-(SIN60*(A(IB+I)-A(IC+I)))) D(JC+J)= * S2*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))+(SIN60*(B(IB+I)+B(IC+I)))) * +C2*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))-(SIN60*(A(IB+I)-A(IC+I)))) I=I+INC3 J=J+INC4 330 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 340 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC-IINK JBASE=JBASE+JUMP 350 CONTINUE ENDIF C IF (IA.EQ.IC) THEN IBASE=0 DO 380 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 370 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=(0.5*A(IA+I)-A(IB+I))-(SIN60*B(IA+I)) C(JC+J)=-(0.5*A(IA+I)-A(IB+I))-(SIN60*B(IA+I)) I=I+INC3 J=J+INC4 370 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 380 CONTINUE ENDIF C ELSE !!! Case LA=M SSIN60=2.0*SIN60 IF (LIPL) THEN DO 394 L=1,ILA I=IBASE !OCL NOVREC DO 392 IJK=1,ILOT T1=(2.0*A(IA+I)-A(IB+I))-(SSIN60*B(IB+I)) T2=(2.0*A(IA+I)-A(IB+I))+(SSIN60*B(IB+I)) A(IA+I)=2.0*(A(IA+I)+A(IB+I)) A(IB+I)=T1 B(IB+I)=T2 I=I+INC3 392 CONTINUE IBASE=IBASE+INC1 394 CONTINUE ELSE DO 398 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 396 IJK=1,ILOT C(JA+J)=2.0*(A(IA+I)+A(IB+I)) C(JB+J)=(2.0*A(IA+I)-A(IB+I))-(SSIN60*B(IB+I)) C(JC+J)=(2.0*A(IA+I)-A(IB+I))+(SSIN60*B(IB+I)) I=I+INC3 J=J+INC4 396 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 398 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.4) THEN C C CODING FOR FACTOR 4 C ------------------- 400 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 IC=IB+2*M*INC1 ID=IB JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK C IF (LA.NE.M) THEN C DO 420 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 410 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(IC+I))+A(IB+I) C(JB+J)=(A(IA+I)-A(IC+I))-B(IB+I) C(JC+J)=(A(IA+I)+A(IC+I))-A(IB+I) C(JD+J)=(A(IA+I)-A(IC+I))+B(IB+I) I=I+INC3 J=J+INC4 410 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 420 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC-IINK ID=ID-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK C IF (IB.LT.IC) THEN DO 450 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) IBASE=0 DO 440 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 430 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I)) D(JA+J)=(B(IA+I)-B(IC+I))+(B(IB+I)-B(ID+I)) C(JC+J)= * C2*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) * -S2*((B(IA+I)-B(IC+I))-(B(IB+I)-B(ID+I))) D(JC+J)= * S2*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) * +C2*((B(IA+I)-B(IC+I))-(B(IB+I)-B(ID+I))) C(JB+J)= * C1*((A(IA+I)-A(IC+I))-(B(IB+I)+B(ID+I))) * -S1*((B(IA+I)+B(IC+I))+(A(IB+I)-A(ID+I))) D(JB+J)= * S1*((A(IA+I)-A(IC+I))-(B(IB+I)+B(ID+I))) * +C1*((B(IA+I)+B(IC+I))+(A(IB+I)-A(ID+I))) C(JD+J)= * C3*((A(IA+I)-A(IC+I))+(B(IB+I)+B(ID+I))) * -S3*((B(IA+I)+B(IC+I))-(A(IB+I)-A(ID+I))) D(JD+J)= * S3*((A(IA+I)-A(IC+I))+(B(IB+I)+B(ID+I))) * +C3*((B(IA+I)+B(IC+I))-(A(IB+I)-A(ID+I))) I=I+INC3 J=J+INC4 430 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 440 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC-IINK ID=ID-IINK JBASE=JBASE+JUMP 450 CONTINUE ENDIF C IF (IB.EQ.IC) THEN IBASE=0 SIN45=SQRT(0.5) DO 480 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 470 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=SIN45*((A(IA+I)-A(IB+I))-(B(IA+I)+B(IB+I))) C(JC+J)=B(IB+I)-B(IA+I) C(JD+J)=-SIN45*((A(IA+I)-A(IB+I))+(B(IA+I)+B(IB+I))) I=I+INC3 J=J+INC4 470 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 480 CONTINUE ENDIF C ELSE !!! Case LA=M IF (LIPL) THEN DO 494 L=1,ILA I=IBASE !OCL NOVREC DO 492 IJK=1,ILOT T1=2.0*((A(IA+I)-A(IC+I))-B(IB+I)) T2=2.0*((A(IA+I)+A(IC+I))-A(IB+I)) T3=2.0*((A(IA+I)-A(IC+I))+B(IB+I)) A(IA+I)=2.0*((A(IA+I)+A(IC+I))+A(IB+I)) A(IB+I)=T1 B(IB+I)=T2 A(IC+I)=T3 I=I+INC3 492 CONTINUE IBASE=IBASE+INC1 494 CONTINUE ELSE DO 498 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 496 IJK=1,ILOT C(JA+J)=2.0*((A(IA+I)+A(IC+I))+A(IB+I)) C(JB+J)=2.0*((A(IA+I)-A(IC+I))-B(IB+I)) C(JC+J)=2.0*((A(IA+I)+A(IC+I))-A(IB+I)) C(JD+J)=2.0*((A(IA+I)-A(IC+I))+B(IB+I)) I=I+INC3 J=J+INC4 496 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 498 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.5) THEN C C CODING FOR FACTOR 5 C ------------------- 500 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 IC=IB+2*M*INC1 ID=IC IE=IB JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK JE=JD+JINK C IF (LA.NE.M) THEN C DO 520 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 510 IJK=1,ILOT C(JA+J)=A(IA+I)+(A(IB+I)+A(IC+I)) C(JB+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))+QRT5*(A(IB+I)-A(IC+I))) * -(SIN72*B(IB+I)+SIN36*B(IC+I)) C(JC+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))-QRT5*(A(IB+I)-A(IC+I))) * -(SIN36*B(IB+I)-SIN72*B(IC+I)) C(JD+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))-QRT5*(A(IB+I)-A(IC+I))) * +(SIN36*B(IB+I)-SIN72*B(IC+I)) C(JE+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))+QRT5*(A(IB+I)-A(IC+I))) * +(SIN72*B(IB+I)+SIN36*B(IC+I)) I=I+INC3 J=J+INC4 510 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 520 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK C IF (IB.LT.ID) THEN DO 550 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) IBASE=0 DO 540 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 530 IJK=1,ILOT C A10=(A(IA+I)-0.25*((A(IB+I)+A(IE+I))+(A(IC+I)+A(ID+I)))) * +QRT5*((A(IB+I)+A(IE+I))-(A(IC+I)+A(ID+I))) A20=(A(IA+I)-0.25*((A(IB+I)+A(IE+I))+(A(IC+I)+A(ID+I)))) * -QRT5*((A(IB+I)+A(IE+I))-(A(IC+I)+A(ID+I))) B10=(B(IA+I)-0.25*((B(IB+I)-B(IE+I))+(B(IC+I)-B(ID+I)))) * +QRT5*((B(IB+I)-B(IE+I))-(B(IC+I)-B(ID+I))) B20=(B(IA+I)-0.25*((B(IB+I)-B(IE+I))+(B(IC+I)-B(ID+I)))) * -QRT5*((B(IB+I)-B(IE+I))-(B(IC+I)-B(ID+I))) A11=SIN72*(B(IB+I)+B(IE+I))+SIN36*(B(IC+I)+B(ID+I)) A21=SIN36*(B(IB+I)+B(IE+I))-SIN72*(B(IC+I)+B(ID+I)) B11=SIN72*(A(IB+I)-A(IE+I))+SIN36*(A(IC+I)-A(ID+I)) B21=SIN36*(A(IB+I)-A(IE+I))-SIN72*(A(IC+I)-A(ID+I)) C C(JA+J)=A(IA+I)+((A(IB+I)+A(IE+I))+(A(IC+I)+A(ID+I))) D(JA+J)=B(IA+I)+((B(IB+I)-B(IE+I))+(B(IC+I)-B(ID+I))) C(JB+J)=C1*(A10-A11)-S1*(B10+B11) D(JB+J)=S1*(A10-A11)+C1*(B10+B11) C(JE+J)=C4*(A10+A11)-S4*(B10-B11) D(JE+J)=S4*(A10+A11)+C4*(B10-B11) C(JC+J)=C2*(A20-A21)-S2*(B20+B21) D(JC+J)=S2*(A20-A21)+C2*(B20+B21) C(JD+J)=C3*(A20+A21)-S3*(B20-B21) D(JD+J)=S3*(A20+A21)+C3*(B20-B21) C I=I+INC3 J=J+INC4 530 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 540 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK JBASE=JBASE+JUMP 550 CONTINUE ENDIF C IF (IB.EQ.ID) THEN IBASE=0 DO 580 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 570 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(IB+I))+A(IC+I) C(JB+J)=(QRT5*(A(IA+I)-A(IB+I))+(0.25*(A(IA+I)+A(IB+I))-A(IC+I))) * -(SIN36*B(IA+I)+SIN72*B(IB+I)) C(JE+J)=-(QRT5*(A(IA+I)-A(IB+I))+(0.25*(A(IA+I)+A(IB+I))-A(IC+I))) * -(SIN36*B(IA+I)+SIN72*B(IB+I)) C(JC+J)=(QRT5*(A(IA+I)-A(IB+I))-(0.25*(A(IA+I)+A(IB+I))-A(IC+I))) * -(SIN72*B(IA+I)-SIN36*B(IB+I)) C(JD+J)=-(QRT5*(A(IA+I)-A(IB+I))-(0.25*(A(IA+I)+A(IB+I))-A(IC+I))) * -(SIN72*B(IA+I)-SIN36*B(IB+I)) I=I+INC3 J=J+INC4 570 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 580 CONTINUE ENDIF C ELSE !!! Case LA=M QQRT5=2.0*QRT5 SSIN36=2.0*SIN36 SSIN72=2.0*SIN72 IF (LIPL) THEN DO 594 L=1,ILA I=IBASE !OCL NOVREC DO 592 IJK=1,ILOT T1=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * +QQRT5*(A(IB+I)-A(IC+I)))-(SSIN72*B(IB+I)+SSIN36*B(IC+I)) T2=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * -QQRT5*(A(IB+I)-A(IC+I)))-(SSIN36*B(IB+I)-SSIN72*B(IC+I)) T3=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * -QQRT5*(A(IB+I)-A(IC+I)))+(SSIN36*B(IB+I)-SSIN72*B(IC+I)) T4=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * +QQRT5*(A(IB+I)-A(IC+I)))+(SSIN72*B(IB+I)+SSIN36*B(IC+I)) A(IA+I)=2.0*(A(IA+I)+(A(IB+I)+A(IC+I))) A(IB+I)=T1 B(IB+I)=T2 A(IC+I)=T3 B(IC+I)=T4 I=I+INC3 592 CONTINUE IBASE=IBASE+INC1 594 CONTINUE ELSE DO 598 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 596 IJK=1,ILOT C(JA+J)=2.0*(A(IA+I)+(A(IB+I)+A(IC+I))) C(JB+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * +QQRT5*(A(IB+I)-A(IC+I)))-(SSIN72*B(IB+I)+SSIN36*B(IC+I)) C(JC+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * -QQRT5*(A(IB+I)-A(IC+I)))-(SSIN36*B(IB+I)-SSIN72*B(IC+I)) C(JD+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * -QQRT5*(A(IB+I)-A(IC+I)))+(SSIN36*B(IB+I)-SSIN72*B(IC+I)) C(JE+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * +QQRT5*(A(IB+I)-A(IC+I)))+(SSIN72*B(IB+I)+SSIN36*B(IC+I)) I=I+INC3 J=J+INC4 596 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 598 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.6) THEN C C CODING FOR FACTOR 6 C ------------------- 600 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 IC=IB+2*M*INC1 ID=IC+2*M*INC1 IE=IC IF=IB JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK JE=JD+JINK JF=JE+JINK C IF (LA.NE.M) THEN C DO 620 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 610 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(ID+I))+(A(IB+I)+A(IC+I)) C(JD+J)=(A(IA+I)-A(ID+I))-(A(IB+I)-A(IC+I)) C(JB+J)=((A(IA+I)-A(ID+I))+0.5*(A(IB+I)-A(IC+I))) * -(SIN60*(B(IB+I)+B(IC+I))) C(JF+J)=((A(IA+I)-A(ID+I))+0.5*(A(IB+I)-A(IC+I))) * +(SIN60*(B(IB+I)+B(IC+I))) C(JC+J)=((A(IA+I)+A(ID+I))-0.5*(A(IB+I)+A(IC+I))) * -(SIN60*(B(IB+I)-B(IC+I))) C(JE+J)=((A(IA+I)+A(ID+I))-0.5*(A(IB+I)+A(IC+I))) * +(SIN60*(B(IB+I)-B(IC+I))) I=I+INC3 J=J+INC4 610 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 620 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK IF=IF-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK C IF (IC.LT.ID) THEN DO 650 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB KF=KE+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) C5=TRIGS(KF+1) S5=TRIGS(KF+2) IBASE=0 DO 640 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 630 IJK=1,ILOT C A11= (A(IE+I)+A(IB+I))+(A(IC+I)+A(IF+I)) A20=(A(IA+I)+A(ID+I))-0.5*A11 A21=SIN60*((A(IE+I)+A(IB+I))-(A(IC+I)+A(IF+I))) B11= (B(IB+I)-B(IE+I))+(B(IC+I)-B(IF+I)) B20=(B(IA+I)-B(ID+I))-0.5*B11 B21=SIN60*((B(IB+I)-B(IE+I))-(B(IC+I)-B(IF+I))) C C(JA+J)=(A(IA+I)+A(ID+I))+A11 D(JA+J)=(B(IA+I)-B(ID+I))+B11 C(JC+J)=C2*(A20-B21)-S2*(B20+A21) D(JC+J)=S2*(A20-B21)+C2*(B20+A21) C(JE+J)=C4*(A20+B21)-S4*(B20-A21) D(JE+J)=S4*(A20+B21)+C4*(B20-A21) C A11=(A(IE+I)-A(IB+I))+(A(IC+I)-A(IF+I)) B11=(B(IE+I)+B(IB+I))-(B(IC+I)+B(IF+I)) A20=(A(IA+I)-A(ID+I))-0.5*A11 A21=SIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) B20=(B(IA+I)+B(ID+I))+0.5*B11 B21=SIN60*((B(IE+I)+B(IB+I))+(B(IC+I)+B(IF+I))) C C(JD+J)= * C3*((A(IA+I)-A(ID+I))+A11)-S3*((B(IA+I)+B(ID+I))-B11) D(JD+J)= * S3*((A(IA+I)-A(ID+I))+A11)+C3*((B(IA+I)+B(ID+I))-B11) C(JB+J)=C1*(A20-B21)-S1*(B20-A21) D(JB+J)=S1*(A20-B21)+C1*(B20-A21) C(JF+J)=C5*(A20+B21)-S5*(B20+A21) D(JF+J)=S5*(A20+B21)+C5*(B20+A21) C I=I+INC3 J=J+INC4 630 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 640 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK IF=IF-IINK JBASE=JBASE+JUMP 650 CONTINUE ENDIF C IF (IC.EQ.ID) THEN IBASE=0 DO 680 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 670 IJK=1,ILOT C(JA+J)=A(IB+I)+(A(IA+I)+A(IC+I)) C(JD+J)=B(IB+I)-(B(IA+I)+B(IC+I)) C(JB+J)=(SIN60*(A(IA+I)-A(IC+I)))-(0.5*(B(IA+I)+B(IC+I))+B(IB+I)) C(JF+J)=-(SIN60*(A(IA+I)-A(IC+I)))-(0.5*(B(IA+I)+B(IC+I))+B(IB+I)) C(JC+J)=SIN60*(B(IC+I)-B(IA+I))+(0.5*(A(IA+I)+A(IC+I))-A(IB+I)) C(JE+J)=SIN60*(B(IC+I)-B(IA+I))-(0.5*(A(IA+I)+A(IC+I))-A(IB+I)) I=I+INC3 J=J+INC4 670 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 680 CONTINUE ENDIF C ELSE !!! Case LA=M SSIN60=2.0*SIN60 IF (LIPL) THEN DO 694 L=1,ILA I=IBASE !OCL NOVREC DO 692 IJK=1,ILOT T1=(2.0*(A(IA+I)-A(ID+I))+(A(IB+I)-A(IC+I))) * -(SSIN60*(B(IB+I)+B(IC+I))) T5=(2.0*(A(IA+I)-A(ID+I))+(A(IB+I)-A(IC+I))) * +(SSIN60*(B(IB+I)+B(IC+I))) T2=(2.0*(A(IA+I)+A(ID+I))-(A(IB+I)+A(IC+I))) * -(SSIN60*(B(IB+I)-B(IC+I))) T4=(2.0*(A(IA+I)+A(ID+I))-(A(IB+I)+A(IC+I))) * +(SSIN60*(B(IB+I)-B(IC+I))) T3=(2.0*(A(IA+I)-A(ID+I)))-(2.0*(A(IB+I)-A(IC+I))) A(IA+I)=(2.0*(A(IA+I)+A(ID+I)))+(2.0*(A(IB+I)+A(IC+I))) A(IB+I)=T1 B(IB+I)=T2 A(IC+I)=T3 B(IC+I)=T4 A(ID+I)=T5 I=I+INC3 692 CONTINUE IBASE=IBASE+INC1 694 CONTINUE ELSE DO 698 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 696 IJK=1,ILOT C(JA+J)=(2.0*(A(IA+I)+A(ID+I)))+(2.0*(A(IB+I)+A(IC+I))) C(JD+J)=(2.0*(A(IA+I)-A(ID+I)))-(2.0*(A(IB+I)-A(IC+I))) C(JB+J)=(2.0*(A(IA+I)-A(ID+I))+(A(IB+I)-A(IC+I))) * -(SSIN60*(B(IB+I)+B(IC+I))) C(JF+J)=(2.0*(A(IA+I)-A(ID+I))+(A(IB+I)-A(IC+I))) * +(SSIN60*(B(IB+I)+B(IC+I))) C(JC+J)=(2.0*(A(IA+I)+A(ID+I))-(A(IB+I)+A(IC+I))) * -(SSIN60*(B(IB+I)-B(IC+I))) C(JE+J)=(2.0*(A(IA+I)+A(ID+I))-(A(IB+I)+A(IC+I))) * +(SSIN60*(B(IB+I)-B(IC+I))) I=I+INC3 J=J+INC4 696 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 698 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.8) THEN C C CODING FOR FACTOR 8 C ------------------- 800 CONTINUE IF (LA.NE.M) THEN IBAD=3 ELSE IA=1 IB=IA+LA*INC1 IC=IB+2*LA*INC1 ID=IC+2*LA*INC1 IE=ID+2*LA*INC1 JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK JE=JD+JINK JF=JE+JINK JG=JF+JINK JH=JG+JINK SSIN45=SQRT(2.0) C IF (LIPL) THEN DO 820 L=1,ILA I=IBASE !OCL NOVREC DO 810 IJK=1,ILOT T2=2.0*(((A(IA+I)+A(IE+I))-A(IC+I))-(B(IB+I)-B(ID+I))) T6=2.0*(((A(IA+I)+A(IE+I))-A(IC+I))+(B(IB+I)-B(ID+I))) T1=2.0*((A(IA+I)-A(IE+I))-B(IC+I)) * +SSIN45*((A(IB+I)-A(ID+I))-(B(IB+I)+B(ID+I))) T5=2.0*((A(IA+I)-A(IE+I))-B(IC+I)) * -SSIN45*((A(IB+I)-A(ID+I))-(B(IB+I)+B(ID+I))) T3=2.0*((A(IA+I)-A(IE+I))+B(IC+I)) * -SSIN45*((A(IB+I)-A(ID+I))+(B(IB+I)+B(ID+I))) T7=2.0*((A(IA+I)-A(IE+I))+B(IC+I)) * +SSIN45*((A(IB+I)-A(ID+I))+(B(IB+I)+B(ID+I))) T4=2.0*(((A(IA+I)+A(IE+I))+A(IC+I))-(A(IB+I)+A(ID+I))) A(IA+I)=2.0*(((A(IA+I)+A(IE+I))+A(IC+I))+(A(IB+I)+A(ID+I))) A(IB+I)=T1 B(IB+I)=T2 A(IC+I)=T3 B(IC+I)=T4 A(ID+I)=T5 B(ID+I)=T6 A(IE+I)=T7 I=I+INC3 810 CONTINUE IBASE=IBASE+INC1 820 CONTINUE ELSE DO 840 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 830 IJK=1,ILOT C(JA+J)=2.0*(((A(IA+I)+A(IE+I))+A(IC+I))+(A(IB+I)+A(ID+I))) C(JE+J)=2.0*(((A(IA+I)+A(IE+I))+A(IC+I))-(A(IB+I)+A(ID+I))) C(JC+J)=2.0*(((A(IA+I)+A(IE+I))-A(IC+I))-(B(IB+I)-B(ID+I))) C(JG+J)=2.0*(((A(IA+I)+A(IE+I))-A(IC+I))+(B(IB+I)-B(ID+I))) C(JB+J)=2.0*((A(IA+I)-A(IE+I))-B(IC+I)) * +SSIN45*((A(IB+I)-A(ID+I))-(B(IB+I)+B(ID+I))) C(JF+J)=2.0*((A(IA+I)-A(IE+I))-B(IC+I)) * -SSIN45*((A(IB+I)-A(ID+I))-(B(IB+I)+B(ID+I))) C(JD+J)=2.0*((A(IA+I)-A(IE+I))+B(IC+I)) * -SSIN45*((A(IB+I)-A(ID+I))+(B(IB+I)+B(ID+I))) C(JH+J)=2.0*((A(IA+I)-A(IE+I))+B(IC+I)) * +SSIN45*((A(IB+I)-A(ID+I))+(B(IB+I)+B(ID+I))) I=I+INC3 J=J+INC4 830 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC21 840 CONTINUE ENDIF C ENDIF C ELSE C IBAD=2 !!! Illegal factor C ENDIF C C RETURN C ------ 900 CONTINUE IERR=IBAD RETURN END emoslib-000392+dfsg.1/fft/rpassm.f0000755000175000017500000004776512127406245017737 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE RPASSM(A,B,C,D,TRIGS,INC1,INC2,INC3,INC4,ILOT,N,IFAC, * ILA,IERR) REAL A(*),B(*),C(*),D(*),TRIGS(*) C C SUBROUTINE 'RPASSM' - PERFORMS ONE PASS THROUGH DATA AS PART C OF MULTIPLE REAL FFT (FOURIER SYNTHESIS) ROUTINE C C A IS FIRST REAL INPUT VECTOR C EQUIVALENCE B(1) WITH A (ILA*INC1+1) C C IS FIRST REAL OUTPUT VECTOR C EQUIVALENCE D(1) WITH C(IFAC*ILA*INC2+1) C TRIGS IS A PRECALCULATED LIST OF SINES & COSINES C INC1 IS THE ADDRESSING INCREMENT FOR A C INC2 IS THE ADDRESSING INCREMENT FOR C C INC3 IS THE INCREMENT BETWEEN INPUT VECTORS A C INC4 IS THE INCREMENT BETWEEN OUTPUT VECTORS C C ILOT IS THE NUMBER OF VECTORS C N IS THE LENGTH OF THE VECTORS C IFAC IS THE CURRENT FACTOR OF N C ILA IS THE PRODUCT OF PREVIOUS FACTORS C IERR IS AN ERROR INDICATOR: C 0 - PASS COMPLETED WITHOUT ERROR C 1 - ILOT GREATER THAN 64 C 2 - IFAC NOT CATERED FOR C 3 - IFAC ONLY CATERED FOR IF ILA=N/IFAC C C----------------------------------------------------------------------- C REAL A10(512),A11(512), * A20(512),A21(512), * B10(512),B11(512),B20(512),B21(512) C SAVE SIN36, SIN72, QRT5, SIN60 C DATA SIN36/0.587785252292473/,SIN72/0.951056516295154/, * QRT5/0.559016994374947/,SIN60/0.866025403784437/ C M=N/IFAC IINK=ILA*INC1 JINK=ILA*INC2 JUMP=(IFAC-1)*JINK KSTOP=(N-IFAC)/(2*IFAC) C IBAD=1 IF (ILOT.GT.512) GO TO 910 IBASE=0 JBASE=0 IGO=IFAC-1 IF (IGO.EQ.7) IGO=6 IBAD=2 IF (IGO.LT.1.OR.IGO.GT.6) GO TO 910 GO TO (200,300,400,500,600,800),IGO C C CODING FOR FACTOR 2 C ------------------- 200 CONTINUE IA=1 IB=IA+(2*M-ILA)*INC1 JA=1 JB=JA+JINK C IF (ILA.EQ.M) GO TO 290 C DO 220 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 210 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=A(IA+I)-A(IB+I) I=I+INC3 J=J+INC4 210 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 220 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB-IINK IBASE=0 JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IA.EQ.IB) GO TO 260 DO 250 K=ILA,KSTOP,ILA KB=K+K C1=TRIGS(KB+1) S1=TRIGS(KB+2) IBASE=0 DO 240 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 230 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) D(JA+J)=B(IA+I)-B(IB+I) C(JB+J)=C1*(A(IA+I)-A(IB+I))-S1*(B(IA+I)+B(IB+I)) D(JB+J)=S1*(A(IA+I)-A(IB+I))+C1*(B(IA+I)+B(IB+I)) I=I+INC3 J=J+INC4 230 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 240 CONTINUE IA=IA+IINK IB=IB-IINK JBASE=JBASE+JUMP 250 CONTINUE IF (IA.GT.IB) GO TO 900 260 CONTINUE IBASE=0 DO 280 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 270 IJK=1,ILOT C(JA+J)=A(IA+I) C(JB+J)=-B(IA+I) I=I+INC3 J=J+INC4 270 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 280 CONTINUE GO TO 900 C 290 CONTINUE DO 294 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 292 IJK=1,ILOT C(JA+J)=2.0*(A(IA+I)+A(IB+I)) C(JB+J)=2.0*(A(IA+I)-A(IB+I)) I=I+INC3 J=J+INC4 292 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 294 CONTINUE GO TO 900 C C CODING FOR FACTOR 3 C ------------------- 300 CONTINUE IA=1 IB=IA+(2*M-ILA)*INC1 IC=IB JA=1 JB=JA+JINK JC=JB+JINK C IF (ILA.EQ.M) GO TO 390 C DO 320 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 310 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=(A(IA+I)-0.5*A(IB+I))-(SIN60*(B(IB+I))) C(JC+J)=(A(IA+I)-0.5*A(IB+I))+(SIN60*(B(IB+I))) I=I+INC3 J=J+INC4 310 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 320 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IA.EQ.IC) GO TO 360 DO 350 K=ILA,KSTOP,ILA KB=K+K KC=KB+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) IBASE=0 DO 340 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 330 IJK=1,ILOT C(JA+J)=A(IA+I)+(A(IB+I)+A(IC+I)) D(JA+J)=B(IA+I)+(B(IB+I)-B(IC+I)) C(JB+J)= * C1*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))-(SIN60*(B(IB+I)+B(IC+ * I)))) * -S1*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))+(SIN60*(A(IB+I)-A(IC+ * I)))) D(JB+J)= * S1*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))-(SIN60*(B(IB+I)+B(IC+ * I)))) * +C1*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))+(SIN60*(A(IB+I)-A(IC+ * I)))) C(JC+J)= * C2*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))+(SIN60*(B(IB+I)+B(IC+ * I)))) * -S2*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))-(SIN60*(A(IB+I)-A(IC+ * I)))) D(JC+J)= * S2*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))+(SIN60*(B(IB+I)+B(IC+ * I)))) * +C2*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))-(SIN60*(A(IB+I)-A(IC+ * I)))) I=I+INC3 J=J+INC4 330 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 340 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC-IINK JBASE=JBASE+JUMP 350 CONTINUE IF (IA.GT.IC) GO TO 900 360 CONTINUE IBASE=0 DO 380 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 370 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=(0.5*A(IA+I)-A(IB+I))-(SIN60*B(IA+I)) C(JC+J)=-(0.5*A(IA+I)-A(IB+I))-(SIN60*B(IA+I)) I=I+INC3 J=J+INC4 370 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 380 CONTINUE GO TO 900 C 390 CONTINUE SSIN60=2.0*SIN60 DO 394 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 392 IJK=1,ILOT C(JA+J)=2.0*(A(IA+I)+A(IB+I)) C(JB+J)=(2.0*A(IA+I)-A(IB+I))-(SSIN60*B(IB+I)) C(JC+J)=(2.0*A(IA+I)-A(IB+I))+(SSIN60*B(IB+I)) I=I+INC3 J=J+INC4 392 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 394 CONTINUE GO TO 900 C C CODING FOR FACTOR 4 C ------------------- 400 CONTINUE IA=1 IB=IA+(2*M-ILA)*INC1 IC=IB+2*M*INC1 ID=IB JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK C IF (ILA.EQ.M) GO TO 490 C DO 420 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 410 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(IC+I))+A(IB+I) C(JB+J)=(A(IA+I)-A(IC+I))-B(IB+I) C(JC+J)=(A(IA+I)+A(IC+I))-A(IB+I) C(JD+J)=(A(IA+I)-A(IC+I))+B(IB+I) I=I+INC3 J=J+INC4 410 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 420 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC-IINK ID=ID-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IB.EQ.IC) GO TO 460 DO 450 K=ILA,KSTOP,ILA KB=K+K KC=KB+KB KD=KC+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) IBASE=0 DO 440 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 430 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I)) D(JA+J)=(B(IA+I)-B(IC+I))+(B(IB+I)-B(ID+I)) C(JC+J)= * C2*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) * -S2*((B(IA+I)-B(IC+I))-(B(IB+I)-B(ID+I))) D(JC+J)= * S2*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) * +C2*((B(IA+I)-B(IC+I))-(B(IB+I)-B(ID+I))) C(JB+J)= * C1*((A(IA+I)-A(IC+I))-(B(IB+I)+B(ID+I))) * -S1*((B(IA+I)+B(IC+I))+(A(IB+I)-A(ID+I))) D(JB+J)= * S1*((A(IA+I)-A(IC+I))-(B(IB+I)+B(ID+I))) * +C1*((B(IA+I)+B(IC+I))+(A(IB+I)-A(ID+I))) C(JD+J)= * C3*((A(IA+I)-A(IC+I))+(B(IB+I)+B(ID+I))) * -S3*((B(IA+I)+B(IC+I))-(A(IB+I)-A(ID+I))) D(JD+J)= * S3*((A(IA+I)-A(IC+I))+(B(IB+I)+B(ID+I))) * +C3*((B(IA+I)+B(IC+I))-(A(IB+I)-A(ID+I))) I=I+INC3 J=J+INC4 430 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 440 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC-IINK ID=ID-IINK JBASE=JBASE+JUMP 450 CONTINUE IF (IB.GT.IC) GO TO 900 460 CONTINUE IBASE=0 SIN45=SQRT(0.5) DO 480 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 470 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=SIN45*((A(IA+I)-A(IB+I))-(B(IA+I)+B(IB+I))) C(JC+J)=B(IB+I)-B(IA+I) C(JD+J)=-SIN45*((A(IA+I)-A(IB+I))+(B(IA+I)+B(IB+I))) I=I+INC3 J=J+INC4 470 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 480 CONTINUE GO TO 900 C 490 CONTINUE DO 494 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 492 IJK=1,ILOT C(JA+J)=2.0*((A(IA+I)+A(IC+I))+A(IB+I)) C(JB+J)=2.0*((A(IA+I)-A(IC+I))-B(IB+I)) C(JC+J)=2.0*((A(IA+I)+A(IC+I))-A(IB+I)) C(JD+J)=2.0*((A(IA+I)-A(IC+I))+B(IB+I)) I=I+INC3 J=J+INC4 492 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 494 CONTINUE GO TO 900 C C CODING FOR FACTOR 5 C ------------------- 500 CONTINUE IA=1 IB=IA+(2*M-ILA)*INC1 IC=IB+2*M*INC1 ID=IC IE=IB JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK JE=JD+JINK C IF (ILA.EQ.M) GO TO 590 C DO 520 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 510 IJK=1,ILOT C(JA+J)=A(IA+I)+(A(IB+I)+A(IC+I)) C(JB+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))+QRT5*(A(IB+I)-A(IC+ * I))) * -(SIN72*B(IB+I)+SIN36*B(IC+I)) C(JC+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))-QRT5*(A(IB+I)-A(IC+ * I))) * -(SIN36*B(IB+I)-SIN72*B(IC+I)) C(JD+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))-QRT5*(A(IB+I)-A(IC+ * I))) * +(SIN36*B(IB+I)-SIN72*B(IC+I)) C(JE+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))+QRT5*(A(IB+I)-A(IC+ * I))) * +(SIN72*B(IB+I)+SIN36*B(IC+I)) I=I+INC3 J=J+INC4 510 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 520 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IB.EQ.ID) GO TO 560 DO 550 K=ILA,KSTOP,ILA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) IBASE=0 DO 540 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 530 IJK=1,ILOT C A10(IJK)=(A(IA+I)-0.25*((A(IB+I)+A(IE+I))+(A(IC+I)+A(ID+I)))) * +QRT5*((A(IB+I)+A(IE+I))-(A(IC+I)+A(ID+I))) A20(IJK)=(A(IA+I)-0.25*((A(IB+I)+A(IE+I))+(A(IC+I)+A(ID+I)))) * -QRT5*((A(IB+I)+A(IE+I))-(A(IC+I)+A(ID+I))) B10(IJK)=(B(IA+I)-0.25*((B(IB+I)-B(IE+I))+(B(IC+I)-B(ID+I)))) * +QRT5*((B(IB+I)-B(IE+I))-(B(IC+I)-B(ID+I))) B20(IJK)=(B(IA+I)-0.25*((B(IB+I)-B(IE+I))+(B(IC+I)-B(ID+I)))) * -QRT5*((B(IB+I)-B(IE+I))-(B(IC+I)-B(ID+I))) A11(IJK)=SIN72*(B(IB+I)+B(IE+I))+SIN36*(B(IC+I)+B(ID+I)) A21(IJK)=SIN36*(B(IB+I)+B(IE+I))-SIN72*(B(IC+I)+B(ID+I)) B11(IJK)=SIN72*(A(IB+I)-A(IE+I))+SIN36*(A(IC+I)-A(ID+I)) B21(IJK)=SIN36*(A(IB+I)-A(IE+I))-SIN72*(A(IC+I)-A(ID+I)) C C(JA+J)=A(IA+I)+((A(IB+I)+A(IE+I))+(A(IC+I)+A(ID+I))) D(JA+J)=B(IA+I)+((B(IB+I)-B(IE+I))+(B(IC+I)-B(ID+I))) C(JB+J)=C1*(A10(IJK)-A11(IJK))-S1*(B10(IJK)+B11(IJK)) D(JB+J)=S1*(A10(IJK)-A11(IJK))+C1*(B10(IJK)+B11(IJK)) C(JE+J)=C4*(A10(IJK)+A11(IJK))-S4*(B10(IJK)-B11(IJK)) D(JE+J)=S4*(A10(IJK)+A11(IJK))+C4*(B10(IJK)-B11(IJK)) C(JC+J)=C2*(A20(IJK)-A21(IJK))-S2*(B20(IJK)+B21(IJK)) D(JC+J)=S2*(A20(IJK)-A21(IJK))+C2*(B20(IJK)+B21(IJK)) C(JD+J)=C3*(A20(IJK)+A21(IJK))-S3*(B20(IJK)-B21(IJK)) D(JD+J)=S3*(A20(IJK)+A21(IJK))+C3*(B20(IJK)-B21(IJK)) C I=I+INC3 J=J+INC4 530 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 540 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK JBASE=JBASE+JUMP 550 CONTINUE IF (IB.GT.ID) GO TO 900 560 CONTINUE IBASE=0 DO 580 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 570 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(IB+I))+A(IC+I) C(JB+J)=(QRT5*(A(IA+I)-A(IB+I))+(0.25*(A(IA+I)+A(IB+I))-A(IC+ * I))) * -(SIN36*B(IA+I)+SIN72*B(IB+I)) C(JE+J)=-(QRT5*(A(IA+I)-A(IB+I))+(0.25*(A(IA+I)+A(IB+I))-A(IC+ * I))) * -(SIN36*B(IA+I)+SIN72*B(IB+I)) C(JC+J)=(QRT5*(A(IA+I)-A(IB+I))-(0.25*(A(IA+I)+A(IB+I))-A(IC+ * I))) * -(SIN72*B(IA+I)-SIN36*B(IB+I)) C(JD+J)=-(QRT5*(A(IA+I)-A(IB+I))-(0.25*(A(IA+I)+A(IB+I))-A(IC+ * I))) * -(SIN72*B(IA+I)-SIN36*B(IB+I)) I=I+INC3 J=J+INC4 570 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 580 CONTINUE GO TO 900 C 590 CONTINUE QQRT5=2.0*QRT5 SSIN36=2.0*SIN36 SSIN72=2.0*SIN72 DO 594 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 592 IJK=1,ILOT C(JA+J)=2.0*(A(IA+I)+(A(IB+I)+A(IC+I))) C(JB+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * +QQRT5*(A(IB+I)-A(IC+I)))-(SSIN72*B(IB+I)+SSIN36*B(IC+I)) C(JC+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * -QQRT5*(A(IB+I)-A(IC+I)))-(SSIN36*B(IB+I)-SSIN72*B(IC+I)) C(JD+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * -QQRT5*(A(IB+I)-A(IC+I)))+(SSIN36*B(IB+I)-SSIN72*B(IC+I)) C(JE+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * +QQRT5*(A(IB+I)-A(IC+I)))+(SSIN72*B(IB+I)+SSIN36*B(IC+I)) I=I+INC3 J=J+INC4 592 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 594 CONTINUE GO TO 900 C C CODING FOR FACTOR 6 C ------------------- 600 CONTINUE IA=1 IB=IA+(2*M-ILA)*INC1 IC=IB+2*M*INC1 ID=IC+2*M*INC1 IE=IC IF=IB JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK JE=JD+JINK JF=JE+JINK C IF (ILA.EQ.M) GO TO 690 C DO 620 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 610 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(ID+I))+(A(IB+I)+A(IC+I)) C(JD+J)=(A(IA+I)-A(ID+I))-(A(IB+I)-A(IC+I)) C(JB+J)=((A(IA+I)-A(ID+I))+0.5*(A(IB+I)-A(IC+I))) * -(SIN60*(B(IB+I)+B(IC+I))) C(JF+J)=((A(IA+I)-A(ID+I))+0.5*(A(IB+I)-A(IC+I))) * +(SIN60*(B(IB+I)+B(IC+I))) C(JC+J)=((A(IA+I)+A(ID+I))-0.5*(A(IB+I)+A(IC+I))) * -(SIN60*(B(IB+I)-B(IC+I))) C(JE+J)=((A(IA+I)+A(ID+I))-0.5*(A(IB+I)+A(IC+I))) * +(SIN60*(B(IB+I)-B(IC+I))) I=I+INC3 J=J+INC4 610 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 620 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK IF=IF-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IC.EQ.ID) GO TO 660 DO 650 K=ILA,KSTOP,ILA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB KF=KE+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) C5=TRIGS(KF+1) S5=TRIGS(KF+2) IBASE=0 DO 640 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 630 IJK=1,ILOT C A11(IJK)= (A(IE+I)+A(IB+I))+(A(IC+I)+A(IF+I)) A20(IJK)=(A(IA+I)+A(ID+I))-0.5*A11(IJK) A21(IJK)=SIN60*((A(IE+I)+A(IB+I))-(A(IC+I)+A(IF+I))) B11(IJK)= (B(IB+I)-B(IE+I))+(B(IC+I)-B(IF+I)) B20(IJK)=(B(IA+I)-B(ID+I))-0.5*B11(IJK) B21(IJK)=SIN60*((B(IB+I)-B(IE+I))-(B(IC+I)-B(IF+I))) C C(JA+J)=(A(IA+I)+A(ID+I))+A11(IJK) D(JA+J)=(B(IA+I)-B(ID+I))+B11(IJK) C(JC+J)=C2*(A20(IJK)-B21(IJK))-S2*(B20(IJK)+A21(IJK)) D(JC+J)=S2*(A20(IJK)-B21(IJK))+C2*(B20(IJK)+A21(IJK)) C(JE+J)=C4*(A20(IJK)+B21(IJK))-S4*(B20(IJK)-A21(IJK)) D(JE+J)=S4*(A20(IJK)+B21(IJK))+C4*(B20(IJK)-A21(IJK)) C A11(IJK)=(A(IE+I)-A(IB+I))+(A(IC+I)-A(IF+I)) B11(IJK)=(B(IE+I)+B(IB+I))-(B(IC+I)+B(IF+I)) A20(IJK)=(A(IA+I)-A(ID+I))-0.5*A11(IJK) A21(IJK)=SIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) B20(IJK)=(B(IA+I)+B(ID+I))+0.5*B11(IJK) B21(IJK)=SIN60*((B(IE+I)+B(IB+I))+(B(IC+I)+B(IF+I))) C C(JD+J)= * C3*((A(IA+I)-A(ID+I))+A11(IJK))-S3*((B(IA+I)+B(ID+I))-B11(IJK)) D(JD+J)= * S3*((A(IA+I)-A(ID+I))+A11(IJK))+C3*((B(IA+I)+B(ID+I))-B11(IJK)) C(JB+J)=C1*(A20(IJK)-B21(IJK))-S1*(B20(IJK)-A21(IJK)) D(JB+J)=S1*(A20(IJK)-B21(IJK))+C1*(B20(IJK)-A21(IJK)) C(JF+J)=C5*(A20(IJK)+B21(IJK))-S5*(B20(IJK)+A21(IJK)) D(JF+J)=S5*(A20(IJK)+B21(IJK))+C5*(B20(IJK)+A21(IJK)) C I=I+INC3 J=J+INC4 630 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 640 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK IF=IF-IINK JBASE=JBASE+JUMP 650 CONTINUE IF (IC.GT.ID) GO TO 900 660 CONTINUE IBASE=0 DO 680 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 670 IJK=1,ILOT C(JA+J)=A(IB+I)+(A(IA+I)+A(IC+I)) C(JD+J)=B(IB+I)-(B(IA+I)+B(IC+I)) C(JB+J)=(SIN60*(A(IA+I)-A(IC+I)))-(0.5*(B(IA+I)+B(IC+I))+B(IB+ * I)) C(JF+J)=-(SIN60*(A(IA+I)-A(IC+I)))-(0.5*(B(IA+I)+B(IC+I))+B(IB+ * I)) C(JC+J)=SIN60*(B(IC+I)-B(IA+I))+(0.5*(A(IA+I)+A(IC+I))-A(IB+I)) C(JE+J)=SIN60*(B(IC+I)-B(IA+I))-(0.5*(A(IA+I)+A(IC+I))-A(IB+I)) I=I+INC3 J=J+INC4 670 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 680 CONTINUE GO TO 900 C 690 CONTINUE SSIN60=2.0*SIN60 DO 694 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 692 IJK=1,ILOT C(JA+J)=(2.0*(A(IA+I)+A(ID+I)))+(2.0*(A(IB+I)+A(IC+I))) C(JD+J)=(2.0*(A(IA+I)-A(ID+I)))-(2.0*(A(IB+I)-A(IC+I))) C(JB+J)=(2.0*(A(IA+I)-A(ID+I))+(A(IB+I)-A(IC+I))) * -(SSIN60*(B(IB+I)+B(IC+I))) C(JF+J)=(2.0*(A(IA+I)-A(ID+I))+(A(IB+I)-A(IC+I))) * +(SSIN60*(B(IB+I)+B(IC+I))) C(JC+J)=(2.0*(A(IA+I)+A(ID+I))-(A(IB+I)+A(IC+I))) * -(SSIN60*(B(IB+I)-B(IC+I))) C(JE+J)=(2.0*(A(IA+I)+A(ID+I))-(A(IB+I)+A(IC+I))) * +(SSIN60*(B(IB+I)-B(IC+I))) I=I+INC3 J=J+INC4 692 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 694 CONTINUE GO TO 900 C C CODING FOR FACTOR 8 C ------------------- 800 CONTINUE IBAD=3 IF (ILA.NE.M) GO TO 910 IA=1 IB=IA+ILA*INC1 IC=IB+2*ILA*INC1 ID=IC+2*ILA*INC1 IE=ID+2*ILA*INC1 JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK JE=JD+JINK JF=JE+JINK JG=JF+JINK JH=JG+JINK SSIN45=SQRT(2.0) C DO 820 IL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 810 IJK=1,ILOT C(JA+J)=2.0*(((A(IA+I)+A(IE+I))+A(IC+I))+(A(IB+I)+A(ID+I))) C(JE+J)=2.0*(((A(IA+I)+A(IE+I))+A(IC+I))-(A(IB+I)+A(ID+I))) C(JC+J)=2.0*(((A(IA+I)+A(IE+I))-A(IC+I))-(B(IB+I)-B(ID+I))) C(JG+J)=2.0*(((A(IA+I)+A(IE+I))-A(IC+I))+(B(IB+I)-B(ID+I))) C(JB+J)=2.0*((A(IA+I)-A(IE+I))-B(IC+I)) * +SSIN45*((A(IB+I)-A(ID+I))-(B(IB+I)+B(ID+I))) C(JF+J)=2.0*((A(IA+I)-A(IE+I))-B(IC+I)) * -SSIN45*((A(IB+I)-A(ID+I))-(B(IB+I)+B(ID+I))) C(JD+J)=2.0*((A(IA+I)-A(IE+I))+B(IC+I)) * -SSIN45*((A(IB+I)-A(ID+I))+(B(IB+I)+B(ID+I))) C(JH+J)=2.0*((A(IA+I)-A(IE+I))+B(IC+I)) * +SSIN45*((A(IB+I)-A(ID+I))+(B(IB+I)+B(ID+I))) I=I+INC3 J=J+INC4 810 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 820 CONTINUE C C RETURN C ------ 900 CONTINUE IBAD=0 910 CONTINUE IERR=IBAD RETURN END emoslib-000392+dfsg.1/fft/fft991.f0000755000175000017500000001314412127406245017434 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE FFT991(A,WORK,TRIGS,IFAX,INC,JUMP,N,ILOT,ISIGN) REAL A(*),WORK(*), * TRIGS(*) INTEGER IFAX(*) C C SUBROUTINE 'FFT991' - MULTIPLE FAST REAL PERIODIC TRANSFORM C SUPERSEDES PREVIOUS ROUTINE 'FFT991' C C REAL TRANSFORM OF LENGTH N PERFORMED BY REMOVING REDUNDANT C OPERATIONS FROM COMPLEX TRANSFORM OF LENGTH N C C A IS THE ARRAY CONTAINING INPUT & OUTPUT DATA C WORK IS AN AREA OF SIZE (N+1)*MIN(ILOT,JP_LOT) C TRIGS IS A PREVIOUSLY PREPARED LIST OF TRIG FUNCTION VALUES C IFAX IS A PREVIOUSLY PREPARED LIST OF FACTORS OF N C INC IS THE INCREMENT WITHIN EACH DATA 'VECTOR' C (E.G. INC=1 FOR CONSECUTIVELY STORED DATA) C JUMP IS THE INCREMENT BETWEEN THE START OF EACH DATA VECTOR C N IS THE LENGTH OF THE DATA VECTORS C ILOT IS THE NUMBER OF DATA VECTORS C ISIGN = +1 FOR TRANSFORM FROM SPECTRAL TO GRIDPOINT C = -1 FOR TRANSFORM FROM GRIDPOINT TO SPECTRAL C C ORDERING OF COEFFICIENTS: C A(0),B(0),A(1),B(1),A(2),B(2),...,A(N/2),B(N/2) C WHERE B(0)=B(N/2)=0; (N+2) LOCATIONS REQUIRED C C ORDERING OF DATA: C X(0),X(1),X(2),...,X(N-1), 0 , 0 ; (N+2) LOCATIONS REQUIRED C C VECTORIZATION IS ACHIEVED ON CRAY BY DOING THE TRANSFORMS C IN PARALLEL C C N MUST BE COMPOSED OF FACTORS 2,3 & 5 BUT DOES NOT HAVE TO BE EVEN C C DEFINITION OF TRANSFORMS: C ------------------------- C C ISIGN=+1: X(J)=SUM(K=0,...,N-1)(C(K)*EXP(2*I*J*K*PI/N)) C WHERE C(K)=A(K)+I*B(K) AND C(N-K)=A(K)-I*B(K) C C ISIGN=-1: A(K)=(1/N)*SUM(J=0,...,N-1)(X(J)*COS(2*J*K*PI/N)) C B(K)=-(1/N)*SUM(J=0,...,N-1)(X(J)*SIN(2*J*K*PI/N)) C IF(IFAX(10).NE.N) CALL SET99(TRIGS,IFAX,N) NFAX=IFAX(1) NX=N+1 IF (MOD(N,2).EQ.1) NX=N cfse NBLOX=1+(ILOT-1)/64 cfse NVEX=ILOT-(NBLOX-1)*64 NBLOX=1+(ILOT-1)/512 NVEX=ILOT-(NBLOX-1)*512 IF (ISIGN.EQ.-1) GO TO 300 C C ISIGN=+1, SPECTRAL TO GRIDPOINT TRANSFORM C ----------------------------------------- 100 CONTINUE ISTART=1 DO 220 NB=1,NBLOX IA=ISTART I=ISTART *vocl loop,novrec DO 110 J=1,NVEX A(I+INC)=0.5*A(I) I=I+JUMP 110 CONTINUE IF (MOD(N,2).EQ.1) GO TO 130 I=ISTART+N*INC *vocl loop,novrec DO 120 J=1,NVEX A(I)=0.5*A(I) I=I+JUMP 120 CONTINUE 130 CONTINUE IA=ISTART+INC ILA=1 IGO=+1 C DO 160 K=1,NFAX IFAC=IFAX(K+1) IERR=-1 IF (IGO.EQ.-1) GO TO 140 CALL RPASSM(A(IA),A(IA+ILA*INC),WORK(1),WORK(IFAC*ILA+1),TRIGS, * INC,1,JUMP,NX,NVEX,N,IFAC,ILA,IERR) GO TO 150 140 CONTINUE CALL RPASSM(WORK(1),WORK(ILA+1),A(IA),A(IA+IFAC*ILA*INC),TRIGS, * 1,INC,NX,JUMP,NVEX,N,IFAC,ILA,IERR) 150 CONTINUE IF (IERR.NE.0) GO TO 500 ILA=IFAC*ILA IGO=-IGO IA=ISTART 160 CONTINUE C C IF NECESSARY, COPY RESULTS BACK TO A C ------------------------------------ IF (MOD(NFAX,2).EQ.0) GO TO 190 IBASE=1 JBASE=IA DO 180 JJ=1,NVEX I=IBASE J=JBASE DO 170 II=1,N A(J)=WORK(I) I=I+1 J=J+INC 170 CONTINUE IBASE=IBASE+NX JBASE=JBASE+JUMP 180 CONTINUE 190 CONTINUE C C FILL IN ZEROS AT END C -------------------- IX=ISTART+N*INC *vocl loop,novrec DO 210 J=1,NVEX A(IX)=0.0 A(IX+INC)=0.0 IX=IX+JUMP 210 CONTINUE C ISTART=ISTART+NVEX*JUMP cfse NVEX=64 NVEX=512 220 CONTINUE RETURN C C ISIGN=-1, GRIDPOINT TO SPECTRAL TRANSFORM C ----------------------------------------- 300 CONTINUE ISTART=1 DO 410 NB=1,NBLOX IA=ISTART ILA=N IGO=+1 C DO 340 K=1,NFAX IFAC=IFAX(NFAX+2-K) ILA=ILA/IFAC IERR=-1 IF (IGO.EQ.-1) GO TO 320 CALL QPASSM(A(IA),A(IA+IFAC*ILA*INC),WORK(1),WORK(ILA+1),TRIGS, * INC,1,JUMP,NX,NVEX,N,IFAC,ILA,IERR) GO TO 330 320 CONTINUE CALL QPASSM(WORK(1),WORK(IFAC*ILA+1),A(IA),A(IA+ILA*INC),TRIGS, * 1,INC,NX,JUMP,NVEX,N,IFAC,ILA,IERR) 330 CONTINUE IF (IERR.NE.0) GO TO 500 IGO=-IGO IA=ISTART+INC 340 CONTINUE C C IF NECESSARY, COPY RESULTS BACK TO A C ------------------------------------ IF (MOD(NFAX,2).EQ.0) GO TO 370 IBASE=1 JBASE=IA DO 360 JJ=1,NVEX I=IBASE J=JBASE DO 350 II=1,N A(J)=WORK(I) I=I+1 J=J+INC 350 CONTINUE IBASE=IBASE+NX JBASE=JBASE+JUMP 360 CONTINUE 370 CONTINUE C C SHIFT A(0) & FILL IN ZERO IMAG PARTS C ------------------------------------ IX=ISTART DO 380 J=1,NVEX A(IX)=A(IX+INC) A(IX+INC)=0.0 IX=IX+JUMP 380 CONTINUE IF (MOD(N,2).EQ.1) GO TO 400 IZ=ISTART+(N+1)*INC DO 390 J=1,NVEX A(IZ)=0.0 IZ=IZ+JUMP 390 CONTINUE 400 CONTINUE C ISTART=ISTART+NVEX*JUMP cfse NVEX=64 NVEX=512 410 CONTINUE RETURN C C ERROR MESSAGES C -------------- 500 CONTINUE IF(IERR.EQ.1) THEN 520 FORMAT('VECTOR LENGTH =',I4,', GREATER THAN 64') ELSEIF(IERR.EQ.2) THEN WRITE(6,540) IFAC 540 FORMAT( 'FACTOR =',I3,', NOT CATERED FOR') ELSE WRITE(6,560) IFAC 560 FORMAT('FACTOR =',I3,', ONLY CATERED FOR IF ILA*IFAC=N') ENDIF END emoslib-000392+dfsg.1/fft/fftrig.f0000755000175000017500000000256012127406245017673 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE FFTRIG(TRIGS,N,MODE) DIMENSION TRIGS(N) COMMON /QQQQFFT/ IXXX C C MARK INITIALISATION AS 'OLD' TYPE C IXXX=0 C PI=2.0*ASIN(1.0) IMODE=IABS(MODE) NN=N IF (IMODE.GT.1.AND.IMODE.LT.6) NN=N/2 DEL=(PI+PI)/FLOAT(NN) L=NN+NN DO 10 I=1,L,2 ANGLE=0.5*FLOAT(I-1)*DEL TRIGS(I)=COS(ANGLE) TRIGS(I+1)=SIN(ANGLE) 10 CONTINUE IF (IMODE.EQ.1) RETURN IF (IMODE.EQ.8) RETURN DEL=0.5*DEL NH=(NN+1)/2 L=NH+NH LA=NN+NN DO 20 I=1,L,2 ANGLE=0.5*FLOAT(I-1)*DEL TRIGS(LA+I)=COS(ANGLE) TRIGS(LA+I+1)=SIN(ANGLE) 20 CONTINUE IF (IMODE.LE.3) RETURN DEL=0.5*DEL LA=LA+NN IF (MODE.EQ.5) GO TO 40 DO 30 I=2,NN ANGLE=FLOAT(I-1)*DEL TRIGS(LA+I)=2.0*SIN(ANGLE) 30 CONTINUE RETURN 40 CONTINUE DEL=0.5*DEL DO 50 I=2,N ANGLE=FLOAT(I-1)*DEL TRIGS(LA+I)=SIN(ANGLE) 50 CONTINUE RETURN END emoslib-000392+dfsg.1/fft/set99.f0000755000175000017500000000307712127406245017373 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE SET99(TRIGS,IFAX,N) DIMENSION TRIGS(N),IFAX(*),JFAX(10),LFAX(7) C C SUBROUTINE 'SET99' - COMPUTES FACTORS OF N & TRIGONOMETRIC C FUNCTIONS REQUIRED BY FFT99 & FFT991 C DATA LFAX/6,8,5,4,3,2,1/ IXXX=1 C DEL=4.0*ASIN(1.0)/FLOAT(N) NIL=0 NHL=(N/2)-1 DO 10 K=NIL,NHL ANGLE=FLOAT(K)*DEL TRIGS(2*K+1)=COS(ANGLE) TRIGS(2*K+2)=SIN(ANGLE) 10 CONTINUE C C FIND FACTORS OF N (8,6,5,4,3,2; ONLY ONE 8 ALLOWED) C LOOK FOR SIXES FIRST, STORE FACTORS IN DESCENDING ORDER NU=N IFAC=6 K=0 L=1 20 CONTINUE IF (MOD(NU,IFAC).NE.0) GO TO 30 K=K+1 JFAX(K)=IFAC IF (IFAC.NE.8) GO TO 25 IF (K.EQ.1) GO TO 25 JFAX(1)=8 JFAX(K)=6 25 CONTINUE NU=NU/IFAC IF (NU.EQ.1) GO TO 50 IF (IFAC.NE.8) GO TO 20 30 CONTINUE L=L+1 IFAC=LFAX(L) IF (IFAC.GT.1) GO TO 20 C WRITE(6,40) N 40 FORMAT('1N =',I4,' - CONTAINS ILLEGAL FACTORS') RETURN C C NOW REVERSE ORDER OF FACTORS 50 CONTINUE NFAX=K IFAX(1)=NFAX DO 60 I=1,NFAX IFAX(NFAX+2-I)=JFAX(I) 60 CONTINUE IFAX(10)=N RETURN END emoslib-000392+dfsg.1/fft/fax.f0000755000175000017500000000347112127406245017172 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE FAX(IFAX,N,MODE) DIMENSION IFAX(10) COMMON /QQQQFFT/ IXXX C C MARK INITIALISATION AS 'OLD' TYPE C IXXX=0 C NN=N IF (IABS(MODE).EQ.1) GO TO 10 IF (IABS(MODE).EQ.8) GO TO 10 NN=N/2 IF ((NN+NN).EQ.N) GO TO 10 IFAX(1)=-99 RETURN 10 K=1 C TEST FOR FACTORS OF 4 20 IF (MOD(NN,4).NE.0) GO TO 30 K=K+1 IFAX(K)=4 NN=NN/4 IF (NN.EQ.1) GO TO 80 GO TO 20 C TEST FOR EXTRA FACTOR OF 2 30 IF (MOD(NN,2).NE.0) GO TO 40 K=K+1 IFAX(K)=2 NN=NN/2 IF (NN.EQ.1) GO TO 80 C TEST FOR FACTORS OF 3 40 IF (MOD(NN,3).NE.0) GO TO 50 K=K+1 IFAX(K)=3 NN=NN/3 IF (NN.EQ.1) GO TO 80 GO TO 40 C NOW FIND REMAINING FACTORS 50 L=5 INC=2 C INC ALTERNATELY TAKES ON VALUES 2 AND 4 60 IF (MOD(NN,L).NE.0) GO TO 70 K=K+1 IFAX(K)=L NN=NN/L IF (NN.EQ.1) GO TO 80 GO TO 60 70 L=L+INC INC=6-INC GO TO 60 80 IFAX(1)=K-1 C IFAX(1) CONTAINS NUMBER OF FACTORS C IFAX(1) CONTAINS NUMBER OF FACTORS NFAX=IFAX(1) C SORT FACTORS INTO ASCENDING ORDER IF (NFAX.EQ.1) GO TO 110 DO 100 II=2,NFAX ISTOP=NFAX+2-II DO 90 I=2,ISTOP IF (IFAX(I+1).GE.IFAX(I)) GO TO 90 ITEM=IFAX(I) IFAX(I)=IFAX(I+1) IFAX(I+1)=ITEM 90 CONTINUE 100 CONTINUE 110 CONTINUE IFAX(10)=0 RETURN END emoslib-000392+dfsg.1/fft/Makefile.in0000755000175000017500000000103612127406245020305 0ustar amckinstryamckinstry# # Makefile for bufrdc # A64 = plat R64 = reals ARCH = arch LIB = depl CNAME = comp LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources # OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ clean: \rm -f $(OBJECTS) emoslib-000392+dfsg.1/fft/qpassf.f0000755000175000017500000017007212127406245017713 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c C SUBROUTINE 'QPASSF' - PERFORMS ONE PASS THROUGH DATA AS PART C OF MULTIPLE REAL FFT (FOURIER ANALYSIS) ROUTINE C C A IS FIRST REAL INPUT VECTOR C EQUIVALENCE B(1) WITH A(IFAC*LA*INC1+1) C C IS FIRST REAL OUTPUT VECTOR C EQUIVALENCE D(1) WITH C(LA*INC2+1) C TRIGS IS A PRECALCULATED LIST OF SINES & COSINES C INC1 IS THE ADDRESSING INCREMENT FOR A C INC2 IS THE ADDRESSING INCREMENT FOR C C INC3 IS THE INCREMENT BETWEEN INPUT VECTORS A C INC4 IS THE INCREMENT BETWEEN OUTPUT VECTORS C C LOT IS THE NUMBER OF VECTORS C N IS THE LENGTH OF THE VECTORS C IFAC IS THE CURRENT FACTOR OF N C LA = N/(PRODUCT OF FACTORS USED SO FAR) C IERR IS AN ERROR INDICATOR: C 0 - PASS COMPLETED WITHOUT ERROR C 2 - IFAC NOT CATERED FOR C 3 - IFAC ONLY CATERED FOR IF LA=N/IFAC C LIPL=.T. => RESULTS ARE RETURNED TO INPUT ARRAY C (ONLY VALID IF LA=N/IFAC, I.E. ON FIRST PASS) C C----------------------------------------------------------------------- C SUBROUTINE QPASSF(A,B,C,D,TRIGS,INC1,INC2,INC3,INC4,LOT,N,IFAC, * LA,IERR,LIPL) DIMENSION A(N),B(N),C(N),D(N),TRIGS(N) LOGICAL LIPL C DATA SIN36/0.587785252292473/,SIN72/0.951056516295154/, * QRT5/0.559016994374947/,SIN60/0.866025403784437/ C M=N/IFAC IINK=LA*INC1 JINK=LA*INC2 IJUMP=(IFAC-1)*IINK KSTOP=(N-IFAC)/(2*IFAC) C IBASE=0 JBASE=0 IBAD=0 C ! Increase the vector length by fusing the loops if the ! data layout is appropriate: IF (INC1.EQ.LOT.AND.INC2.EQ.LOT.AND.INC3.EQ.1.AND.INC4.EQ.1) THEN ILA=1 ILOT=LA*LOT INC11=LA*LOT ELSE ILA=LA ILOT=LOT INC11=INC1 ENDIF C IF (IFAC.EQ.2) THEN C C CODING FOR FACTOR 2 C ------------------- 200 CONTINUE IA=1 IB=IA+IINK JA=1 JB=JA+(2*M-LA)*INC2 C IF (LA.NE.M) THEN C DO 220 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 210 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=A(IA+I)-A(IB+I) I=I+INC3 J=J+INC4 210 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 220 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK C IF (JA.LT.JB) THEN DO 250 K=LA,KSTOP,LA KB=K+K C1=TRIGS(KB+1) S1=TRIGS(KB+2) JBASE=0 DO 240 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 230 IJK=1,ILOT C(JA+J)=A(IA+I)+(C1*A(IB+I)+S1*B(IB+I)) C(JB+J)=A(IA+I)-(C1*A(IB+I)+S1*B(IB+I)) D(JA+J)=(C1*B(IB+I)-S1*A(IB+I))+B(IA+I) D(JB+J)=(C1*B(IB+I)-S1*A(IB+I))-B(IA+I) I=I+INC3 J=J+INC4 230 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 240 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB-JINK 250 CONTINUE ENDIF C IF (JA.EQ.JB) THEN JBASE=0 DO 280 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 270 IJK=1,ILOT C(JA+J)=A(IA+I) D(JA+J)=-A(IB+I) I=I+INC3 J=J+INC4 270 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 280 CONTINUE ENDIF C ELSE !!! Case LA=M Z=1.0/FLOAT(N) IF (LIPL) THEN DO 294 L=1,ILA I=IBASE !OCL NOVREC DO 292 IJK=1,ILOT T1=Z*(A(IA+I)-A(IB+I)) A(IA+I)=Z*(A(IA+I)+A(IB+I)) A(IB+I)=T1 I=I+INC3 292 CONTINUE IBASE=IBASE+INC11 294 CONTINUE ELSE DO 298 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 296 IJK=1,ILOT C(JA+J)=Z*(A(IA+I)+A(IB+I)) C(JB+J)=Z*(A(IA+I)-A(IB+I)) I=I+INC3 J=J+INC4 296 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 298 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.3) THEN C C CODING FOR FACTOR 3 C ------------------- 300 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK JA=1 JB=JA+(2*M-LA)*INC2 JC=JB C IF (LA.NE.M) THEN C DO 320 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 310 IJK=1,ILOT C(JA+J)=A(IA+I)+(A(IB+I)+A(IC+I)) C(JB+J)=A(IA+I)-0.5*(A(IB+I)+A(IC+I)) D(JB+J)=SIN60*(A(IC+I)-A(IB+I)) I=I+INC3 J=J+INC4 310 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 320 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK C IF (JA.LT.JC) THEN DO 350 K=LA,KSTOP,LA KB=K+K KC=KB+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) JBASE=0 DO 340 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 330 IJK=1,ILOT A1=(C1*A(IB+I)+S1*B(IB+I))+(C2*A(IC+I)+S2*B(IC+I)) B1=(C1*B(IB+I)-S1*A(IB+I))+(C2*B(IC+I)-S2*A(IC+I)) A2=A(IA+I)-0.5*A1 B2=B(IA+I)-0.5*B1 A3=SIN60*((C1*A(IB+I)+S1*B(IB+I))-(C2*A(IC+I)+S2*B(IC+I))) B3=SIN60*((C1*B(IB+I)-S1*A(IB+I))-(C2*B(IC+I)-S2*A(IC+I))) C(JA+J)=A(IA+I)+A1 D(JA+J)=B(IA+I)+B1 C(JB+J)=A2+B3 D(JB+J)=B2-A3 C(JC+J)=A2-B3 D(JC+J)=-(B2+A3) I=I+INC3 J=J+INC4 330 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 340 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC-JINK 350 CONTINUE ENDIF C IF (JA.EQ.JC) THEN JBASE=0 DO 380 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 370 IJK=1,ILOT C(JA+J)=A(IA+I)+0.5*(A(IB+I)-A(IC+I)) D(JA+J)=-SIN60*(A(IB+I)+A(IC+I)) C(JB+J)=A(IA+I)-(A(IB+I)-A(IC+I)) I=I+INC3 J=J+INC4 370 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 380 CONTINUE ENDIF C ELSE !!! Case LA=M Z=1.0/FLOAT(N) ZSIN60=Z*SIN60 IF (LIPL) THEN DO 394 L=1,ILA I=IBASE !OCL NOVREC DO 392 IJK=1,ILOT T1=Z*(A(IA+I)-0.5*(A(IB+I)+A(IC+I))) T2=ZSIN60*(A(IC+I)-A(IB+I)) A(IA+I)=Z*(A(IA+I)+(A(IB+I)+A(IC+I))) A(IB+I)=T1 A(IC+I)=T2 I=I+INC3 392 CONTINUE IBASE=IBASE+INC11 394 CONTINUE ELSE DO 398 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 396 IJK=1,ILOT C(JA+J)=Z*(A(IA+I)+(A(IB+I)+A(IC+I))) C(JB+J)=Z*(A(IA+I)-0.5*(A(IB+I)+A(IC+I))) D(JB+J)=ZSIN60*(A(IC+I)-A(IB+I)) I=I+INC3 J=J+INC4 396 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 398 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.4) THEN C C CODING FOR FACTOR 4 C ------------------- 400 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK JA=1 JB=JA+(2*M-LA)*INC2 JC=JB+2*M*INC2 JD=JB C IF (LA.NE.M) THEN C DO 420 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 410 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I)) C(JC+J)=(A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I)) C(JB+J)=A(IA+I)-A(IC+I) D(JB+J)=A(ID+I)-A(IB+I) I=I+INC3 J=J+INC4 410 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 420 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC-JINK JD=JD-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK C IF (JB.LT.JC) THEN DO 450 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) JBASE=0 DO 440 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 430 IJK=1,ILOT A0=A(IA+I)+(C2*A(IC+I)+S2*B(IC+I)) A2=A(IA+I)-(C2*A(IC+I)+S2*B(IC+I)) A1=(C1*A(IB+I)+S1*B(IB+I))+(C3*A(ID+I)+S3*B(ID+I)) A3=(C1*A(IB+I)+S1*B(IB+I))-(C3*A(ID+I)+S3*B(ID+I)) B0=B(IA+I)+(C2*B(IC+I)-S2*A(IC+I)) B2=B(IA+I)-(C2*B(IC+I)-S2*A(IC+I)) B1=(C1*B(IB+I)-S1*A(IB+I))+(C3*B(ID+I)-S3*A(ID+I)) B3=(C1*B(IB+I)-S1*A(IB+I))-(C3*B(ID+I)-S3*A(ID+I)) C(JA+J)=A0+A1 C(JC+J)=A0-A1 D(JA+J)=B0+B1 D(JC+J)=B1-B0 C(JB+J)=A2+B3 C(JD+J)=A2-B3 D(JB+J)=B2-A3 D(JD+J)=-(B2+A3) I=I+INC3 J=J+INC4 430 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 440 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC-JINK JD=JD-JINK 450 CONTINUE ENDIF C IF (JB.EQ.JC) THEN SIN45=SQRT(0.5) JBASE=0 DO 480 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 470 IJK=1,ILOT C(JA+J)=A(IA+I)+SIN45*(A(IB+I)-A(ID+I)) C(JB+J)=A(IA+I)-SIN45*(A(IB+I)-A(ID+I)) D(JA+J)=-A(IC+I)-SIN45*(A(IB+I)+A(ID+I)) D(JB+J)=A(IC+I)-SIN45*(A(IB+I)+A(ID+I)) I=I+INC3 J=J+INC4 470 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 480 CONTINUE ENDIF C ELSE !!! Case LA=M Z=1.0/FLOAT(N) IF (LIPL) THEN DO 494 L=1,ILA I=IBASE !OCL NOVREC DO 492 IJK=1,ILOT T1=Z*(A(IA+I)-A(IC+I)) T3=Z*(A(ID+I)-A(IB+I)) T2=Z*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) A(IA+I)=Z*((A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I))) A(IB+I)=T1 A(IC+I)=T2 A(ID+I)=T3 I=I+INC3 492 CONTINUE IBASE=IBASE+INC11 494 CONTINUE ELSE DO 498 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 496 IJK=1,ILOT C(JA+J)=Z*((A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I))) C(JC+J)=Z*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) C(JB+J)=Z*(A(IA+I)-A(IC+I)) D(JB+J)=Z*(A(ID+I)-A(IB+I)) I=I+INC3 J=J+INC4 496 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 498 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.5) THEN C C CODING FOR FACTOR 5 C ------------------- 500 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK IE=ID+IINK JA=1 JB=JA+(2*M-LA)*INC2 JC=JB+2*M*INC2 JD=JC JE=JB C IF (LA.NE.M) THEN C DO 520 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 510 IJK=1,ILOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=A(IA+I)-0.25*(A1+A2) A6=QRT5*(A1-A2) C(JA+J)=A(IA+I)+(A1+A2) C(JB+J)=A5+A6 C(JC+J)=A5-A6 D(JB+J)=-SIN72*A3-SIN36*A4 D(JC+J)=-SIN36*A3+SIN72*A4 I=I+INC3 J=J+INC4 510 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 520 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK C IF (JB.LT.JD) THEN DO 550 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) JBASE=0 DO 540 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 530 IJK=1,ILOT A1=(C1*A(IB+I)+S1*B(IB+I))+(C4*A(IE+I)+S4*B(IE+I)) A3=(C1*A(IB+I)+S1*B(IB+I))-(C4*A(IE+I)+S4*B(IE+I)) A2=(C2*A(IC+I)+S2*B(IC+I))+(C3*A(ID+I)+S3*B(ID+I)) A4=(C2*A(IC+I)+S2*B(IC+I))-(C3*A(ID+I)+S3*B(ID+I)) B1=(C1*B(IB+I)-S1*A(IB+I))+(C4*B(IE+I)-S4*A(IE+I)) B3=(C1*B(IB+I)-S1*A(IB+I))-(C4*B(IE+I)-S4*A(IE+I)) B2=(C2*B(IC+I)-S2*A(IC+I))+(C3*B(ID+I)-S3*A(ID+I)) B4=(C2*B(IC+I)-S2*A(IC+I))-(C3*B(ID+I)-S3*A(ID+I)) A5=A(IA+I)-0.25*(A1+A2) A6=QRT5*(A1-A2) B5=B(IA+I)-0.25*(B1+B2) B6=QRT5*(B1-B2) A10=A5+A6 A20=A5-A6 B10=B5+B6 B20=B5-B6 A11=SIN72*B3+SIN36*B4 A21=SIN36*B3-SIN72*B4 B11=SIN72*A3+SIN36*A4 B21=SIN36*A3-SIN72*A4 C(JA+J)=A(IA+I)+(A1+A2) C(JB+J)=A10+A11 C(JE+J)=A10-A11 C(JC+J)=A20+A21 C(JD+J)=A20-A21 D(JA+J)=B(IA+I)+(B1+B2) D(JB+J)=B10-B11 D(JE+J)=-(B10+B11) D(JC+J)=B20-B21 D(JD+J)=-(B20+B21) I=I+INC3 J=J+INC4 530 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 540 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK 550 CONTINUE ENDIF C IF (JB.EQ.JD) THEN JBASE=0 DO 580 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 570 IJK=1,ILOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=A(IA+I)+0.25*(A3-A4) A6=QRT5*(A3+A4) C(JA+J)=A5+A6 C(JB+J)=A5-A6 C(JC+J)=A(IA+I)-(A3-A4) D(JA+J)=-SIN36*A1-SIN72*A2 D(JB+J)=-SIN72*A1+SIN36*A2 I=I+INC3 J=J+INC4 570 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 580 CONTINUE ENDIF C ELSE !!! Case LA=M Z=1.0/FLOAT(N) ZQRT5=Z*QRT5 ZSIN36=Z*SIN36 ZSIN72=Z*SIN72 IF (LIPL) THEN DO 594 L=1,ILA I=IBASE !OCL NOVREC DO 592 IJK=1,ILOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=Z*(A(IA+I)-0.25*(A1+A2)) A6=ZQRT5*(A1-A2) A(IA+I)=Z*(A(IA+I)+(A1+A2)) A(IB+I)=A5+A6 A(ID+I)=A5-A6 A(IC+I)=-ZSIN72*A3-ZSIN36*A4 A(IE+I)=-ZSIN36*A3+ZSIN72*A4 I=I+INC3 592 CONTINUE IBASE=IBASE+INC11 594 CONTINUE ELSE DO 598 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 596 IJK=1,ILOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=Z*(A(IA+I)-0.25*(A1+A2)) A6=ZQRT5*(A1-A2) C(JA+J)=Z*(A(IA+I)+(A1+A2)) C(JB+J)=A5+A6 C(JC+J)=A5-A6 D(JB+J)=-ZSIN72*A3-ZSIN36*A4 D(JC+J)=-ZSIN36*A3+ZSIN72*A4 I=I+INC3 J=J+INC4 596 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 598 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.6) THEN C C CODING FOR FACTOR 6 C ------------------- 600 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK IE=ID+IINK IF=IE+IINK JA=1 JB=JA+(2*M-LA)*INC2 JC=JB+2*M*INC2 JD=JC+2*M*INC2 JE=JC JF=JB C IF (LA.NE.M) THEN C DO 620 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 610 IJK=1,ILOT A11=(A(IC+I)+A(IF+I))+(A(IB+I)+A(IE+I)) C(JA+J)=(A(IA+I)+A(ID+I))+A11 C(JC+J)=(A(IA+I)+A(ID+I)-0.5*A11) D(JC+J)=SIN60*((A(IC+I)+A(IF+I))-(A(IB+I)+A(IE+I))) A11=(A(IC+I)-A(IF+I))+(A(IE+I)-A(IB+I)) C(JB+J)=(A(IA+I)-A(ID+I))-0.5*A11 D(JB+J)=SIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) C(JD+J)=(A(IA+I)-A(ID+I))+A11 I=I+INC3 J=J+INC4 610 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 620 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK JF=JF-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK C IF (JC.LT.JD) THEN DO 650 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB KF=KE+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) C5=TRIGS(KF+1) S5=TRIGS(KF+2) JBASE=0 DO 640 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 630 IJK=1,ILOT A1=C1*A(IB+I)+S1*B(IB+I) B1=C1*B(IB+I)-S1*A(IB+I) A2=C2*A(IC+I)+S2*B(IC+I) B2=C2*B(IC+I)-S2*A(IC+I) A3=C3*A(ID+I)+S3*B(ID+I) B3=C3*B(ID+I)-S3*A(ID+I) A4=C4*A(IE+I)+S4*B(IE+I) B4=C4*B(IE+I)-S4*A(IE+I) A5=C5*A(IF+I)+S5*B(IF+I) B5=C5*B(IF+I)-S5*A(IF+I) A11=(A2+A5)+(A1+A4) A20=(A(IA+I)+A3)-0.5*A11 A21=SIN60*((A2+A5)-(A1+A4)) B11=(B2+B5)+(B1+B4) B20=(B(IA+I)+B3)-0.5*B11 B21=SIN60*((B2+B5)-(B1+B4)) C(JA+J)=(A(IA+I)+A3)+A11 D(JA+J)=(B(IA+I)+B3)+B11 C(JC+J)=A20-B21 D(JC+J)=A21+B20 C(JE+J)=A20+B21 D(JE+J)=A21-B20 A11=(A2-A5)+(A4-A1) A20=(A(IA+I)-A3)-0.5*A11 A21=SIN60*((A4-A1)-(A2-A5)) B11=(B5-B2)-(B4-B1) B20=(B3-B(IA+I))-0.5*B11 B21=SIN60*((B5-B2)+(B4-B1)) C(JB+J)=A20-B21 D(JB+J)=A21-B20 C(JD+J)=A11+(A(IA+I)-A3) D(JD+J)=B11+(B3-B(IA+I)) C(JF+J)=A20+B21 D(JF+J)=A21+B20 I=I+INC3 J=J+INC4 630 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 640 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK JF=JF-JINK 650 CONTINUE ENDIF C IF (JC.EQ.JD) THEN JBASE=0 DO 680 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 670 IJK=1,ILOT C(JA+J)=(A(IA+I)+0.5*(A(IC+I)-A(IE+I)))+ SIN60*(A(IB+I)-A(IF+I)) D(JA+J)=-(A(ID+I)+0.5*(A(IB+I)+A(IF+I)))-SIN60*(A(IC+I)+A(IE+I)) C(JB+J)=A(IA+I)-(A(IC+I)-A(IE+I)) D(JB+J)=A(ID+I)-(A(IB+I)+A(IF+I)) C(JC+J)=(A(IA+I)+0.5*(A(IC+I)-A(IE+I)))-SIN60*(A(IB+I)-A(IF+I)) D(JC+J)=-(A(ID+I)+0.5*(A(IB+I)+A(IF+I)))+SIN60*(A(IC+I)+A(IE+I)) I=I+INC3 J=J+INC4 670 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 680 CONTINUE ENDIF C ELSE !!! Case LA=M Z=1.0/FLOAT(N) ZSIN60=Z*SIN60 IF (LIPL) THEN DO 694 L=1,ILA I=IBASE !OCL NOVREC DO 692 IJK=1,ILOT A11=(A(IC+I)-A(IF+I))+(A(IE+I)-A(IB+I)) T1=Z*((A(IA+I)-A(ID+I))-0.5*A11) T5=Z*((A(IA+I)-A(ID+I))+A11) T2=ZSIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) T4=ZSIN60*((A(IC+I)+A(IF+I))-(A(IB+I)+A(IE+I))) A11=(A(IC+I)+A(IF+I))+(A(IB+I)+A(IE+I)) T3=Z*((A(IA+I)+A(ID+I))-0.5*A11) A(IA+I)=Z*((A(IA+I)+A(ID+I))+A11) A(IB+I)=T1 A(IC+I)=T2 A(ID+I)=T3 A(IE+I)=T4 A(IF+I)=T5 I=I+INC3 692 CONTINUE IBASE=IBASE+INC11 694 CONTINUE ELSE DO 698 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 696 IJK=1,ILOT A11=(A(IC+I)+A(IF+I))+(A(IB+I)+A(IE+I)) C(JA+J)=Z*((A(IA+I)+A(ID+I))+A11) C(JC+J)=Z*((A(IA+I)+A(ID+I))-0.5*A11) D(JC+J)=ZSIN60*((A(IC+I)+A(IF+I))-(A(IB+I)+A(IE+I))) A11=(A(IC+I)-A(IF+I))+(A(IE+I)-A(IB+I)) C(JB+J)=Z*((A(IA+I)-A(ID+I))-0.5*A11) D(JB+J)=ZSIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) C(JD+J)=Z*((A(IA+I)-A(ID+I))+A11) I=I+INC3 J=J+INC4 696 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 698 CONTINUE ENDIF ENDIF C ELSEIF (IFAC.EQ.8) THEN C C CODING FOR FACTOR 8 C ------------------- 800 CONTINUE IF (LA.NE.M) THEN IBAD=3 ELSE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK IE=ID+IINK IF=IE+IINK IG=IF+IINK IH=IG+IINK JA=1 JB=JA+LA*INC2 JC=JB+2*M*INC2 JD=JC+2*M*INC2 JE=JD+2*M*INC2 Z=1.0/FLOAT(N) ZSIN45=Z*SQRT(0.5) C IF (LIPL) THEN DO 820 L=1,ILA I=IBASE !OCL NOVREC DO 810 IJK=1,ILOT T3=Z*((A(IA+I)+A(IE+I))-(A(IC+I)+A(IG+I))) T4=Z*((A(ID+I)+A(IH+I))-(A(IB+I)+A(IF+I))) T1=Z*(A(IA+I)-A(IE+I)) * +ZSIN45*((A(IH+I)-A(ID+I))-(A(IF+I)-A(IB+I))) T5=Z*(A(IA+I)-A(IE+I)) * -ZSIN45*((A(IH+I)-A(ID+I))-(A(IF+I)-A(IB+I))) T2=ZSIN45*((A(IH+I)-A(ID+I))+(A(IF+I)-A(IB+I))) * +Z*(A(IG+I)-A(IC+I)) T6=ZSIN45*((A(IH+I)-A(ID+I))+(A(IF+I)-A(IB+I))) * -Z*(A(IG+I)-A(IC+I)) T7=Z*(((A(IA+I)+A(IE+I))+(A(IC+I)+A(IG+I)))- * ((A(ID+I)+A(IH+I))+(A(IB+I)+A(IF+I)))) A(IA+I)=Z*(((A(IA+I)+A(IE+I))+(A(IC+I)+A(IG+I)))+ * ((A(ID+I)+A(IH+I))+(A(IB+I)+A(IF+I)))) A(IB+I)=T1 A(IC+I)=T2 A(ID+I)=T3 A(IE+I)=T4 A(IF+I)=T5 A(IG+I)=T6 A(IH+I)=T7 I=I+INC3 810 CONTINUE IBASE=IBASE+INC11 820 CONTINUE ELSE DO 840 L=1,ILA I=IBASE J=JBASE !OCL NOVREC DO 830 IJK=1,ILOT C(JA+J)=Z*(((A(IA+I)+A(IE+I))+(A(IC+I)+A(IG+I)))+ * ((A(ID+I)+A(IH+I))+(A(IB+I)+A(IF+I)))) C(JE+J)=Z*(((A(IA+I)+A(IE+I))+(A(IC+I)+A(IG+I)))- * ((A(ID+I)+A(IH+I))+(A(IB+I)+A(IF+I)))) C(JC+J)=Z*((A(IA+I)+A(IE+I))-(A(IC+I)+A(IG+I))) D(JC+J)=Z*((A(ID+I)+A(IH+I))-(A(IB+I)+A(IF+I))) C(JB+J)=Z*(A(IA+I)-A(IE+I)) * +ZSIN45*((A(IH+I)-A(ID+I))-(A(IF+I)-A(IB+I))) C(JD+J)=Z*(A(IA+I)-A(IE+I)) * -ZSIN45*((A(IH+I)-A(ID+I))-(A(IF+I)-A(IB+I))) D(JB+J)=ZSIN45*((A(IH+I)-A(ID+I))+(A(IF+I)-A(IB+I))) * +Z*(A(IG+I)-A(IC+I)) D(JD+J)=ZSIN45*((A(IH+I)-A(ID+I))+(A(IF+I)-A(IB+I))) * -Z*(A(IG+I)-A(IC+I)) I=I+INC3 J=J+INC4 830 CONTINUE IBASE=IBASE+INC11 JBASE=JBASE+INC2 840 CONTINUE ENDIF C ENDIF C ELSE C IBAD=2 !!! Illegal factor C ENDIF C C RETURN C ------ 900 CONTINUE IERR=IBAD RETURN END emoslib-000392+dfsg.1/fft/gpfa2.f0000755000175000017500000005351012127406245017412 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c subroutine gpfa2(a,b,trigs,inc,jump,n,mm,lot,isign) * fortran version of *gpfa2* - * radix-2 section of self-sorting, in-place, generalized pfa * central radix-2 and radix-8 passes included * so that transform length can be any power of 2 * *------------------------------------------------------------------- * dimension a(*), b(*), trigs(*) data lvr/128/ * * *************************************************************** * * * * * N.B. LVR = LENGTH OF VECTOR REGISTERS, SET TO 128 FOR C90. * * * RESET TO 64 FOR OTHER CRAY MACHINES, OR TO ANY LARGE VALUE * * * (GREATER THAN OR EQUAL TO LOT) FOR A SCALAR COMPUTER. * * * * * *************************************************************** * n2 = 2**mm inq = n/n2 jstepx = (n2-n) * inc ninc = n * inc ink = inc * inq * m2 = 0 m8 = 0 if (mod(mm,2).eq.0) then m = mm/2 else if (mod(mm,4).eq.1) then m = (mm-1)/2 m2 = 1 else if (mod(mm,4).eq.3) then m = (mm-3)/2 m8 = 1 endif mh = (m+1)/2 * nblox = 1 + (lot-1)/lvr left = lot s = float(isign) istart = 1 * * loop on blocks of lvr transforms * -------------------------------- do 500 nb = 1 , nblox * if (left.le.lvr) then nvex = left else if (left.lt.(2*lvr)) then nvex = left/2 nvex = nvex + mod(nvex,2) else nvex = lvr endif left = left - nvex * la = 1 * * loop on type I radix-4 passes * ----------------------------- mu = mod(inq,4) if (isign.eq.-1) mu = 4 - mu ss = 1.0 if (mu.eq.3) ss = -1.0 * if (mh.eq.0) go to 200 * do 160 ipass = 1 , mh jstep = (n*inc) / (4*la) jstepl = jstep - ninc * * k = 0 loop (no twiddle factors) * ------------------------------- do 120 jjj = 0 , (n-1)*inc , 4*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 115 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 110 l = 1 , nvex t0 = a(ja+j) + a(jc+j) t2 = a(ja+j) - a(jc+j) t1 = a(jb+j) + a(jd+j) t3 = ss * ( a(jb+j) - a(jd+j) ) u0 = b(ja+j) + b(jc+j) u2 = b(ja+j) - b(jc+j) u1 = b(jb+j) + b(jd+j) u3 = ss * ( b(jb+j) - b(jd+j) ) a(ja+j) = t0 + t1 a(jc+j) = t0 - t1 b(ja+j) = u0 + u1 b(jc+j) = u0 - u1 a(jb+j) = t2 - u3 a(jd+j) = t2 + u3 b(jb+j) = u2 + t3 b(jd+j) = u2 - t3 j = j + jump 110 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 115 continue 120 continue * * finished if n2 = 4 * ------------------ if (n2.eq.4) go to 490 kk = 2 * la * * loop on nonzero k * ----------------- do 150 k = ink , jstep-ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s*trigs(3*kk+2) * * loop along transform * -------------------- do 140 jjj = k , (n-1)*inc , 4*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 135 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 130 l = 1 , nvex t0 = a(ja+j) + a(jc+j) t2 = a(ja+j) - a(jc+j) t1 = a(jb+j) + a(jd+j) t3 = ss * ( a(jb+j) - a(jd+j ) ) u0 = b(ja+j) + b(jc+j) u2 = b(ja+j) - b(jc+j) u1 = b(jb+j) + b(jd+j) u3 = ss * ( b(jb+j) - b(jd+j) ) a(ja+j) = t0 + t1 b(ja+j) = u0 + u1 a(jb+j) = co1*(t2-u3) - si1*(u2+t3) b(jb+j) = si1*(t2-u3) + co1*(u2+t3) a(jc+j) = co2*(t0-t1) - si2*(u0-u1) b(jc+j) = si2*(t0-t1) + co2*(u0-u1) a(jd+j) = co3*(t2+u3) - si3*(u2-t3) b(jd+j) = si3*(t2+u3) + co3*(u2-t3) j = j + jump 130 continue *-----( end of loop across transforms ) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 135 continue 140 continue *-----( end of loop along transforms ) kk = kk + 2*la 150 continue *-----( end of loop on nonzero k ) la = 4*la 160 continue *-----( end of loop on type I radix-4 passes) * * central radix-2 pass * -------------------- 200 continue if (m2.eq.0) go to 300 * jstep = (n*inc) / (2*la) jstepl = jstep - ninc * * k=0 loop (no twiddle factors) * ----------------------------- do 220 jjj = 0 , (n-1)*inc , 2*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 215 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 210 l = 1 , nvex t0 = a(ja+j) - a(jb+j) a(ja+j) = a(ja+j) + a(jb+j) a(jb+j) = t0 u0 = b(ja+j) - b(jb+j) b(ja+j) = b(ja+j) + b(jb+j) b(jb+j) = u0 j = j + jump 210 continue *-----(end of loop across transforms) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 215 continue 220 continue * * finished if n2=2 * ---------------- if (n2.eq.2) go to 490 * kk = 2 * la * * loop on nonzero k * ----------------- do 260 k = ink , jstep - ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) * * loop along transforms * --------------------- do 250 jjj = k , (n-1)*inc , 2*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 245 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc j = 0 * * loop across transforms * ---------------------- if (kk.eq.n2/2) then cdir$ ivdep,shortloop do 230 l = 1 , nvex t0 = ss * ( a(ja+j) - a(jb+j) ) a(ja+j) = a(ja+j) + a(jb+j) a(jb+j) = ss * ( b(jb+j) - b(ja+j) ) b(ja+j) = b(ja+j) + b(jb+j) b(jb+j) = t0 j = j + jump 230 continue * else * cdir$ ivdep,shortloop do 240 l = 1 , nvex t0 = a(ja+j) - a(jb+j) a(ja+j) = a(ja+j) + a(jb+j) u0 = b(ja+j) - b(jb+j) b(ja+j) = b(ja+j) + b(jb+j) a(jb+j) = co1*t0 - si1*u0 b(jb+j) = si1*t0 + co1*u0 j = j + jump 240 continue * endif * *-----(end of loop across transforms) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 245 continue 250 continue *-----(end of loop along transforms) kk = kk + 2 * la 260 continue *-----(end of loop on nonzero k) *-----(end of radix-2 pass) * la = 2 * la go to 400 * * central radix-8 pass * -------------------- 300 continue if (m8.eq.0) go to 400 jstep = (n*inc) / (8*la) jstepl = jstep - ninc mu = mod(inq,8) if (isign.eq.-1) mu = 8 - mu c1 = 1.0 if (mu.eq.3.or.mu.eq.7) c1 = -1.0 c2 = sqrt(0.5) if (mu.eq.3.or.mu.eq.5) c2 = -c2 c3 = c1 * c2 * * stage 1 * ------- do 320 k = 0 , jstep - ink , ink do 315 jjj = k , (n-1)*inc , 8*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 312 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc j = 0 cdir$ ivdep,shortloop do 310 l = 1 , nvex t0 = a(ja+j) - a(je+j) a(ja+j) = a(ja+j) + a(je+j) t1 = c1 * ( a(jc+j) - a(jg+j) ) a(je+j) = a(jc+j) + a(jg+j) t2 = a(jb+j) - a(jf+j) a(jc+j) = a(jb+j) + a(jf+j) t3 = a(jd+j) - a(jh+j) a(jg+j) = a(jd+j) + a(jh+j) a(jb+j) = t0 a(jf+j) = t1 a(jd+j) = c2 * ( t2 - t3 ) a(jh+j) = c3 * ( t2 + t3 ) u0 = b(ja+j) - b(je+j) b(ja+j) = b(ja+j) + b(je+j) u1 = c1 * ( b(jc+j) - b(jg+j) ) b(je+j) = b(jc+j) + b(jg+j) u2 = b(jb+j) - b(jf+j) b(jc+j) = b(jb+j) + b(jf+j) u3 = b(jd+j) - b(jh+j) b(jg+j) = b(jd+j) + b(jh+j) b(jb+j) = u0 b(jf+j) = u1 b(jd+j) = c2 * ( u2 - u3 ) b(jh+j) = c3 * ( u2 + u3 ) j = j + jump 310 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 312 continue 315 continue 320 continue * * stage 2 * ------- * * k=0 (no twiddle factors) * ------------------------ do 330 jjj = 0 , (n-1)*inc , 8*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 328 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc j = 0 cdir$ ivdep,shortloop do 325 l = 1 , nvex t0 = a(ja+j) + a(je+j) t2 = a(ja+j) - a(je+j) t1 = a(jc+j) + a(jg+j) t3 = c1 * ( a(jc+j) - a(jg+j) ) u0 = b(ja+j) + b(je+j) u2 = b(ja+j) - b(je+j) u1 = b(jc+j) + b(jg+j) u3 = c1 * ( b(jc+j) - b(jg+j ) ) a(ja+j) = t0 + t1 a(je+j) = t0 - t1 b(ja+j) = u0 + u1 b(je+j) = u0 - u1 a(jc+j) = t2 - u3 a(jg+j) = t2 + u3 b(jc+j) = u2 + t3 b(jg+j) = u2 - t3 t0 = a(jb+j) + a(jd+j) t2 = a(jb+j) - a(jd+j) t1 = a(jf+j) - a(jh+j) t3 = a(jf+j) + a(jh+j) u0 = b(jb+j) + b(jd+j) u2 = b(jb+j) - b(jd+j) u1 = b(jf+j) - b(jh+j) u3 = b(jf+j) + b(jh+j) a(jb+j) = t0 - u3 a(jh+j) = t0 + u3 b(jb+j) = u0 + t3 b(jh+j) = u0 - t3 a(jd+j) = t2 + u1 a(jf+j) = t2 - u1 b(jd+j) = u2 - t1 b(jf+j) = u2 + t1 j = j + jump 325 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 328 continue 330 continue * if (n2.eq.8) go to 490 * * loop on nonzero k * ----------------- kk = 2 * la * do 350 k = ink , jstep - ink , ink * co1 = trigs(kk+1) si1 = s * trigs(kk+2) co2 = trigs(2*kk+1) si2 = s * trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s * trigs(3*kk+2) co4 = trigs(4*kk+1) si4 = s * trigs(4*kk+2) co5 = trigs(5*kk+1) si5 = s * trigs(5*kk+2) co6 = trigs(6*kk+1) si6 = s * trigs(6*kk+2) co7 = trigs(7*kk+1) si7 = s * trigs(7*kk+2) * do 345 jjj = k , (n-1)*inc , 8*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 342 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc j = 0 cdir$ ivdep,shortloop do 340 l = 1 , nvex t0 = a(ja+j) + a(je+j) t2 = a(ja+j) - a(je+j) t1 = a(jc+j) + a(jg+j) t3 = c1 * ( a(jc+j) - a(jg+j) ) u0 = b(ja+j) + b(je+j) u2 = b(ja+j) - b(je+j) u1 = b(jc+j) + b(jg+j) u3 = c1 * ( b(jc+j) - b(jg+j ) ) a(ja+j) = t0 + t1 b(ja+j) = u0 + u1 a(je+j) = co4*(t0-t1) - si4*(u0-u1) b(je+j) = si4*(t0-t1) + co4*(u0-u1) a(jc+j) = co2*(t2-u3) - si2*(u2+t3) b(jc+j) = si2*(t2-u3) + co2*(u2+t3) a(jg+j) = co6*(t2+u3) - si6*(u2-t3) b(jg+j) = si6*(t2+u3) + co6*(u2-t3) t0 = a(jb+j) + a(jd+j) t2 = a(jb+j) - a(jd+j) t1 = a(jf+j) - a(jh+j) t3 = a(jf+j) + a(jh+j) u0 = b(jb+j) + b(jd+j) u2 = b(jb+j) - b(jd+j) u1 = b(jf+j) - b(jh+j) u3 = b(jf+j) + b(jh+j) a(jb+j) = co1*(t0-u3) - si1*(u0+t3) b(jb+j) = si1*(t0-u3) + co1*(u0+t3) a(jh+j) = co7*(t0+u3) - si7*(u0-t3) b(jh+j) = si7*(t0+u3) + co7*(u0-t3) a(jd+j) = co3*(t2+u1) - si3*(u2-t1) b(jd+j) = si3*(t2+u1) + co3*(u2-t1) a(jf+j) = co5*(t2-u1) - si5*(u2+t1) b(jf+j) = si5*(t2-u1) + co5*(u2+t1) j = j + jump 340 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 342 continue 345 continue kk = kk + 2 * la 350 continue * la = 8 * la * * loop on type II radix-4 passes * ------------------------------ 400 continue mu = mod(inq,4) if (isign.eq.-1) mu = 4 - mu ss = 1.0 if (mu.eq.3) ss = -1.0 * do 480 ipass = mh+1 , m jstep = (n*inc) / (4*la) jstepl = jstep - ninc laincl = la * ink - ninc * * k=0 loop (no twiddle factors) * ----------------------------- do 430 ll = 0 , (la-1)*ink , 4*jstep * do 420 jjj = ll , (n-1)*inc , 4*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 415 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = ja + laincl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = je + laincl if (ji.lt.istart) ji = ji + ninc jj = ji + jstepl if (jj.lt.istart) jj = jj + ninc jk = jj + jstepl if (jk.lt.istart) jk = jk + ninc jl = jk + jstepl if (jl.lt.istart) jl = jl + ninc jm = ji + laincl if (jm.lt.istart) jm = jm + ninc jn = jm + jstepl if (jn.lt.istart) jn = jn + ninc jo = jn + jstepl if (jo.lt.istart) jo = jo + ninc jp = jo + jstepl if (jp.lt.istart) jp = jp + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 410 l = 1 , nvex t0 = a(ja+j) + a(jc+j) t2 = a(ja+j) - a(jc+j) t1 = a(jb+j) + a(jd+j) t3 = ss * ( a(jb+j) - a(jd+j) ) a(jc+j) = a(ji+j) u0 = b(ja+j) + b(jc+j) u2 = b(ja+j) - b(jc+j) u1 = b(jb+j) + b(jd+j) u3 = ss * ( b(jb+j) - b(jd+j) ) a(jb+j) = a(je+j) a(ja+j) = t0 + t1 a(ji+j) = t0 - t1 b(ja+j) = u0 + u1 b(jc+j) = u0 - u1 b(jd+j) = b(jm+j) a(je+j) = t2 - u3 a(jd+j) = t2 + u3 b(jb+j) = u2 + t3 b(jm+j) = u2 - t3 *---------------------- t0 = a(jb+j) + a(jg+j) t2 = a(jb+j) - a(jg+j) t1 = a(jf+j) + a(jh+j) t3 = ss * ( a(jf+j) - a(jh+j) ) a(jg+j) = a(jj+j) u0 = b(je+j) + b(jg+j) u2 = b(je+j) - b(jg+j) u1 = b(jf+j) + b(jh+j) u3 = ss * ( b(jf+j) - b(jh+j) ) b(je+j) = b(jb+j) a(jb+j) = t0 + t1 a(jj+j) = t0 - t1 b(jg+j) = b(jj+j) b(jb+j) = u0 + u1 b(jj+j) = u0 - u1 a(jf+j) = t2 - u3 a(jh+j) = t2 + u3 b(jf+j) = u2 + t3 b(jh+j) = u2 - t3 *---------------------- t0 = a(jc+j) + a(jk+j) t2 = a(jc+j) - a(jk+j) t1 = a(jg+j) + a(jl+j) t3 = ss * ( a(jg+j) - a(jl+j) ) u0 = b(ji+j) + b(jk+j) u2 = b(ji+j) - b(jk+j) a(jl+j) = a(jo+j) u1 = b(jg+j) + b(jl+j) u3 = ss * ( b(jg+j) - b(jl+j) ) b(ji+j) = b(jc+j) a(jc+j) = t0 + t1 a(jk+j) = t0 - t1 b(jl+j) = b(jo+j) b(jc+j) = u0 + u1 b(jk+j) = u0 - u1 a(jg+j) = t2 - u3 a(jo+j) = t2 + u3 b(jg+j) = u2 + t3 b(jo+j) = u2 - t3 *---------------------- t0 = a(jm+j) + a(jl+j) t2 = a(jm+j) - a(jl+j) t1 = a(jn+j) + a(jp+j) t3 = ss * ( a(jn+j) - a(jp+j) ) a(jm+j) = a(jd+j) u0 = b(jd+j) + b(jl+j) u2 = b(jd+j) - b(jl+j) u1 = b(jn+j) + b(jp+j) u3 = ss * ( b(jn+j) - b(jp+j) ) a(jn+j) = a(jh+j) a(jd+j) = t0 + t1 a(jl+j) = t0 - t1 b(jd+j) = u0 + u1 b(jl+j) = u0 - u1 b(jn+j) = b(jh+j) a(jh+j) = t2 - u3 a(jp+j) = t2 + u3 b(jh+j) = u2 + t3 b(jp+j) = u2 - t3 j = j + jump 410 continue *-----( end of loop across transforms ) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 415 continue 420 continue 430 continue *-----( end of double loop for k=0 ) * * finished if last pass * --------------------- if (ipass.eq.m) go to 490 * kk = 2*la * * loop on nonzero k * ----------------- do 470 k = ink , jstep-ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) co3 = trigs(3*kk+1) si3 = s*trigs(3*kk+2) * * double loop along first transform in block * ------------------------------------------ do 460 ll = k , (la-1)*ink , 4*jstep * do 450 jjj = ll , (n-1)*inc , 4*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 445 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = jc + jstepl if (jd.lt.istart) jd = jd + ninc je = ja + laincl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jf + jstepl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = je + laincl if (ji.lt.istart) ji = ji + ninc jj = ji + jstepl if (jj.lt.istart) jj = jj + ninc jk = jj + jstepl if (jk.lt.istart) jk = jk + ninc jl = jk + jstepl if (jl.lt.istart) jl = jl + ninc jm = ji + laincl if (jm.lt.istart) jm = jm + ninc jn = jm + jstepl if (jn.lt.istart) jn = jn + ninc jo = jn + jstepl if (jo.lt.istart) jo = jo + ninc jp = jo + jstepl if (jp.lt.istart) jp = jp + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 440 l = 1 , nvex t0 = a(ja+j) + a(jc+j) t2 = a(ja+j) - a(jc+j) t1 = a(jb+j) + a(jd+j) t3 = ss * ( a(jb+j) - a(jd+j) ) a(jc+j) = a(ji+j) u0 = b(ja+j) + b(jc+j) u2 = b(ja+j) - b(jc+j) u1 = b(jb+j) + b(jd+j) u3 = ss * ( b(jb+j) - b(jd+j) ) a(jb+j) = a(je+j) a(ja+j) = t0 + t1 b(ja+j) = u0 + u1 a(je+j) = co1*(t2-u3) - si1*(u2+t3) b(jb+j) = si1*(t2-u3) + co1*(u2+t3) b(jd+j) = b(jm+j) a(ji+j) = co2*(t0-t1) - si2*(u0-u1) b(jc+j) = si2*(t0-t1) + co2*(u0-u1) a(jd+j) = co3*(t2+u3) - si3*(u2-t3) b(jm+j) = si3*(t2+u3) + co3*(u2-t3) *---------------------------------------- t0 = a(jb+j) + a(jg+j) t2 = a(jb+j) - a(jg+j) t1 = a(jf+j) + a(jh+j) t3 = ss * ( a(jf+j) - a(jh+j) ) a(jg+j) = a(jj+j) u0 = b(je+j) + b(jg+j) u2 = b(je+j) - b(jg+j) u1 = b(jf+j) + b(jh+j) u3 = ss * ( b(jf+j) - b(jh+j) ) b(je+j) = b(jb+j) a(jb+j) = t0 + t1 b(jb+j) = u0 + u1 b(jg+j) = b(jj+j) a(jf+j) = co1*(t2-u3) - si1*(u2+t3) b(jf+j) = si1*(t2-u3) + co1*(u2+t3) a(jj+j) = co2*(t0-t1) - si2*(u0-u1) b(jj+j) = si2*(t0-t1) + co2*(u0-u1) a(jh+j) = co3*(t2+u3) - si3*(u2-t3) b(jh+j) = si3*(t2+u3) + co3*(u2-t3) *---------------------------------------- t0 = a(jc+j) + a(jk+j) t2 = a(jc+j) - a(jk+j) t1 = a(jg+j) + a(jl+j) t3 = ss * ( a(jg+j) - a(jl+j) ) u0 = b(ji+j) + b(jk+j) u2 = b(ji+j) - b(jk+j) a(jl+j) = a(jo+j) u1 = b(jg+j) + b(jl+j) u3 = ss * ( b(jg+j) - b(jl+j) ) b(ji+j) = b(jc+j) a(jc+j) = t0 + t1 b(jc+j) = u0 + u1 b(jl+j) = b(jo+j) a(jg+j) = co1*(t2-u3) - si1*(u2+t3) b(jg+j) = si1*(t2-u3) + co1*(u2+t3) a(jk+j) = co2*(t0-t1) - si2*(u0-u1) b(jk+j) = si2*(t0-t1) + co2*(u0-u1) a(jo+j) = co3*(t2+u3) - si3*(u2-t3) b(jo+j) = si3*(t2+u3) + co3*(u2-t3) *---------------------------------------- t0 = a(jm+j) + a(jl+j) t2 = a(jm+j) - a(jl+j) t1 = a(jn+j) + a(jp+j) t3 = ss * ( a(jn+j) - a(jp+j) ) a(jm+j) = a(jd+j) u0 = b(jd+j) + b(jl+j) u2 = b(jd+j) - b(jl+j) a(jn+j) = a(jh+j) u1 = b(jn+j) + b(jp+j) u3 = ss * ( b(jn+j) - b(jp+j) ) b(jn+j) = b(jh+j) a(jd+j) = t0 + t1 b(jd+j) = u0 + u1 a(jh+j) = co1*(t2-u3) - si1*(u2+t3) b(jh+j) = si1*(t2-u3) + co1*(u2+t3) a(jl+j) = co2*(t0-t1) - si2*(u0-u1) b(jl+j) = si2*(t0-t1) + co2*(u0-u1) a(jp+j) = co3*(t2+u3) - si3*(u2-t3) b(jp+j) = si3*(t2+u3) + co3*(u2-t3) j = j + jump 440 continue *-----(end of loop across transforms) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 445 continue 450 continue 460 continue *-----( end of double loop for this k ) kk = kk + 2*la 470 continue *-----( end of loop over values of k ) la = 4*la 480 continue *-----( end of loop on type II radix-4 passes ) *-----( nvex transforms completed) 490 continue istart = istart + nvex * jump 500 continue *-----( end of loop on blocks of transforms ) * return end emoslib-000392+dfsg.1/fft/gpfa3.f0000755000175000017500000002373612127406245017422 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c subroutine gpfa3(a,b,trigs,inc,jump,n,mm,lot,isign) * fortran version of *gpfa3* - * radix-3 section of self-sorting, in-place * generalized PFA * *------------------------------------------------------------------- * dimension a(*), b(*), trigs(*) data sin60/0.866025403784437/ data lvr/128/ * * *************************************************************** * * * * * N.B. LVR = LENGTH OF VECTOR REGISTERS, SET TO 128 FOR C90. * * * RESET TO 64 FOR OTHER CRAY MACHINES, OR TO ANY LARGE VALUE * * * (GREATER THAN OR EQUAL TO LOT) FOR A SCALAR COMPUTER. * * * * * *************************************************************** * n3 = 3**mm inq = n/n3 jstepx = (n3-n) * inc ninc = n * inc ink = inc * inq mu = mod(inq,3) if (isign.eq.-1) mu = 3-mu m = mm mh = (m+1)/2 s = float(isign) c1 = sin60 if (mu.eq.2) c1 = -c1 * nblox = 1 + (lot-1)/lvr left = lot s = float(isign) istart = 1 * * loop on blocks of lvr transforms * -------------------------------- do 500 nb = 1 , nblox * if (left.le.lvr) then nvex = left else if (left.lt.(2*lvr)) then nvex = left/2 nvex = nvex + mod(nvex,2) else nvex = lvr endif left = left - nvex * la = 1 * * loop on type I radix-3 passes * ----------------------------- do 160 ipass = 1 , mh jstep = (n*inc) / (3*la) jstepl = jstep - ninc * * k = 0 loop (no twiddle factors) * ------------------------------- do 120 jjj = 0 , (n-1)*inc , 3*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 115 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep, shortloop do 110 l = 1 , nvex t1 = a(jb+j) + a(jc+j) t2 = a(ja+j) - 0.5 * t1 t3 = c1 * ( a(jb+j) - a(jc+j) ) u1 = b(jb+j) + b(jc+j) u2 = b(ja+j) - 0.5 * u1 u3 = c1 * ( b(jb+j) - b(jc+j) ) a(ja+j) = a(ja+j) + t1 b(ja+j) = b(ja+j) + u1 a(jb+j) = t2 - u3 b(jb+j) = u2 + t3 a(jc+j) = t2 + u3 b(jc+j) = u2 - t3 j = j + jump 110 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 115 continue 120 continue * * finished if n3 = 3 * ------------------ if (n3.eq.3) go to 490 kk = 2 * la * * loop on nonzero k * ----------------- do 150 k = ink , jstep-ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) * * loop along transform * -------------------- do 140 jjj = k , (n-1)*inc , 3*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 135 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 130 l = 1 , nvex t1 = a(jb+j) + a(jc+j) t2 = a(ja+j) - 0.5 * t1 t3 = c1 * ( a(jb+j) - a(jc+j) ) u1 = b(jb+j) + b(jc+j) u2 = b(ja+j) - 0.5 * u1 u3 = c1 * ( b(jb+j) - b(jc+j) ) a(ja+j) = a(ja+j) + t1 b(ja+j) = b(ja+j) + u1 a(jb+j) = co1*(t2-u3) - si1*(u2+t3) b(jb+j) = si1*(t2-u3) + co1*(u2+t3) a(jc+j) = co2*(t2+u3) - si2*(u2-t3) b(jc+j) = si2*(t2+u3) + co2*(u2-t3) j = j + jump 130 continue *-----( end of loop across transforms ) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 135 continue 140 continue *-----( end of loop along transforms ) kk = kk + 2*la 150 continue *-----( end of loop on nonzero k ) la = 3*la 160 continue *-----( end of loop on type I radix-3 passes) * * loop on type II radix-3 passes * ------------------------------ 400 continue * do 480 ipass = mh+1 , m jstep = (n*inc) / (3*la) jstepl = jstep - ninc laincl = la*ink - ninc * * k=0 loop (no twiddle factors) * ----------------------------- do 430 ll = 0 , (la-1)*ink , 3*jstep * do 420 jjj = ll , (n-1)*inc , 3*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 415 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = ja + laincl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jd + laincl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = jh + jstepl if (ji.lt.istart) ji = ji + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep, shortloop do 410 l = 1 , nvex t1 = a(jb+j) + a(jc+j) t2 = a(ja+j) - 0.5 * t1 t3 = c1 * ( a(jb+j) - a(jc+j) ) a(jb+j) = a(jd+j) u1 = b(jb+j) + b(jc+j) u2 = b(ja+j) - 0.5 * u1 u3 = c1 * ( b(jb+j) - b(jc+j) ) b(jb+j) = b(jd+j) a(ja+j) = a(ja+j) + t1 b(ja+j) = b(ja+j) + u1 a(jd+j) = t2 - u3 b(jd+j) = u2 + t3 a(jc+j) = t2 + u3 b(jc+j) = u2 - t3 *---------------------- t1 = a(je+j) + a(jf+j) t2 = a(jb+j) - 0.5 * t1 t3 = c1 * ( a(je+j) - a(jf+j) ) a(jf+j) = a(jh+j) u1 = b(je+j) + b(jf+j) u2 = b(jb+j) - 0.5 * u1 u3 = c1 * ( b(je+j) - b(jf+j) ) b(jf+j) = b(jh+j) a(jb+j) = a(jb+j) + t1 b(jb+j) = b(jb+j) + u1 a(je+j) = t2 - u3 b(je+j) = u2 + t3 a(jh+j) = t2 + u3 b(jh+j) = u2 - t3 *---------------------- t1 = a(jf+j) + a(ji+j) t2 = a(jg+j) - 0.5 * t1 t3 = c1 * ( a(jf+j) - a(ji+j) ) t1 = a(jg+j) + t1 a(jg+j) = a(jc+j) u1 = b(jf+j) + b(ji+j) u2 = b(jg+j) - 0.5 * u1 u3 = c1 * ( b(jf+j) - b(ji+j) ) u1 = b(jg+j) + u1 b(jg+j) = b(jc+j) a(jc+j) = t1 b(jc+j) = u1 a(jf+j) = t2 - u3 b(jf+j) = u2 + t3 a(ji+j) = t2 + u3 b(ji+j) = u2 - t3 j = j + jump 410 continue *-----( end of loop across transforms ) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 415 continue 420 continue 430 continue *-----( end of double loop for k=0 ) * * finished if last pass * --------------------- if (ipass.eq.m) go to 490 * kk = 2*la * * loop on nonzero k * ----------------- do 470 k = ink , jstep-ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) * * double loop along first transform in block * ------------------------------------------ do 460 ll = k , (la-1)*ink , 3*jstep * do 450 jjj = ll , (n-1)*inc , 3*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 445 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = ja + laincl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jd + laincl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = jh + jstepl if (ji.lt.istart) ji = ji + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep, shortloop do 440 l = 1 , nvex t1 = a(jb+j) + a(jc+j) t2 = a(ja+j) - 0.5 * t1 t3 = c1 * ( a(jb+j) - a(jc+j) ) a(jb+j) = a(jd+j) u1 = b(jb+j) + b(jc+j) u2 = b(ja+j) - 0.5 * u1 u3 = c1 * ( b(jb+j) - b(jc+j) ) b(jb+j) = b(jd+j) a(ja+j) = a(ja+j) + t1 b(ja+j) = b(ja+j) + u1 a(jd+j) = co1*(t2-u3) - si1*(u2+t3) b(jd+j) = si1*(t2-u3) + co1*(u2+t3) a(jc+j) = co2*(t2+u3) - si2*(u2-t3) b(jc+j) = si2*(t2+u3) + co2*(u2-t3) *---------------------- t1 = a(je+j) + a(jf+j) t2 = a(jb+j) - 0.5 * t1 t3 = c1 * ( a(je+j) - a(jf+j) ) a(jf+j) = a(jh+j) u1 = b(je+j) + b(jf+j) u2 = b(jb+j) - 0.5 * u1 u3 = c1 * ( b(je+j) - b(jf+j) ) b(jf+j) = b(jh+j) a(jb+j) = a(jb+j) + t1 b(jb+j) = b(jb+j) + u1 a(je+j) = co1*(t2-u3) - si1*(u2+t3) b(je+j) = si1*(t2-u3) + co1*(u2+t3) a(jh+j) = co2*(t2+u3) - si2*(u2-t3) b(jh+j) = si2*(t2+u3) + co2*(u2-t3) *---------------------- t1 = a(jf+j) + a(ji+j) t2 = a(jg+j) - 0.5 * t1 t3 = c1 * ( a(jf+j) - a(ji+j) ) t1 = a(jg+j) + t1 a(jg+j) = a(jc+j) u1 = b(jf+j) + b(ji+j) u2 = b(jg+j) - 0.5 * u1 u3 = c1 * ( b(jf+j) - b(ji+j) ) u1 = b(jg+j) + u1 b(jg+j) = b(jc+j) a(jc+j) = t1 b(jc+j) = u1 a(jf+j) = co1*(t2-u3) - si1*(u2+t3) b(jf+j) = si1*(t2-u3) + co1*(u2+t3) a(ji+j) = co2*(t2+u3) - si2*(u2-t3) b(ji+j) = si2*(t2+u3) + co2*(u2-t3) j = j + jump 440 continue *-----(end of loop across transforms) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 445 continue 450 continue 460 continue *-----( end of double loop for this k ) kk = kk + 2*la 470 continue *-----( end of loop over values of k ) la = 3*la 480 continue *-----( end of loop on type II radix-3 passes ) *-----( nvex transforms completed) 490 continue istart = istart + nvex * jump 500 continue *-----( end of loop on blocks of transforms ) * return end emoslib-000392+dfsg.1/fft/gpfa3.F0000755000175000017500000002373512127406245017361 0ustar amckinstryamckinstry subroutine gpfa3(a,b,trigs,inc,jump,n,mm,lot,isign) C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C * fortran version of *gpfa3* - * radix-3 section of self-sorting, in-place * generalized PFA * *------------------------------------------------------------------- * dimension a(*), b(*), trigs(*) data sin60/0.866025403784437/ data lvr/128/ * * *************************************************************** * * * * * N.B. LVR = LENGTH OF VECTOR REGISTERS, SET TO 128 FOR C90. * * * RESET TO 64 FOR OTHER CRAY MACHINES, OR TO ANY LARGE VALUE * * * (GREATER THAN OR EQUAL TO LOT) FOR A SCALAR COMPUTER. * * * * * *************************************************************** * n3 = 3**mm inq = n/n3 jstepx = (n3-n) * inc ninc = n * inc ink = inc * inq mu = mod(inq,3) if (isign.eq.-1) mu = 3-mu m = mm mh = (m+1)/2 s = float(isign) c1 = sin60 if (mu.eq.2) c1 = -c1 * nblox = 1 + (lot-1)/lvr left = lot s = float(isign) istart = 1 * * loop on blocks of lvr transforms * -------------------------------- do 500 nb = 1 , nblox * if (left.le.lvr) then nvex = left else if (left.lt.(2*lvr)) then nvex = left/2 nvex = nvex + mod(nvex,2) else nvex = lvr endif left = left - nvex * la = 1 * * loop on type I radix-3 passes * ----------------------------- do 160 ipass = 1 , mh jstep = (n*inc) / (3*la) jstepl = jstep - ninc * * k = 0 loop (no twiddle factors) * ------------------------------- do 120 jjj = 0 , (n-1)*inc , 3*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 115 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep, shortloop do 110 l = 1 , nvex t1 = a(jb+j) + a(jc+j) t2 = a(ja+j) - 0.5 * t1 t3 = c1 * ( a(jb+j) - a(jc+j) ) u1 = b(jb+j) + b(jc+j) u2 = b(ja+j) - 0.5 * u1 u3 = c1 * ( b(jb+j) - b(jc+j) ) a(ja+j) = a(ja+j) + t1 b(ja+j) = b(ja+j) + u1 a(jb+j) = t2 - u3 b(jb+j) = u2 + t3 a(jc+j) = t2 + u3 b(jc+j) = u2 - t3 j = j + jump 110 continue ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 115 continue 120 continue * * finished if n3 = 3 * ------------------ if (n3.eq.3) go to 490 kk = 2 * la * * loop on nonzero k * ----------------- do 150 k = ink , jstep-ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) * * loop along transform * -------------------- do 140 jjj = k , (n-1)*inc , 3*jstep ja = istart + jjj * * "transverse" loop * ----------------- do 135 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep,shortloop do 130 l = 1 , nvex t1 = a(jb+j) + a(jc+j) t2 = a(ja+j) - 0.5 * t1 t3 = c1 * ( a(jb+j) - a(jc+j) ) u1 = b(jb+j) + b(jc+j) u2 = b(ja+j) - 0.5 * u1 u3 = c1 * ( b(jb+j) - b(jc+j) ) a(ja+j) = a(ja+j) + t1 b(ja+j) = b(ja+j) + u1 a(jb+j) = co1*(t2-u3) - si1*(u2+t3) b(jb+j) = si1*(t2-u3) + co1*(u2+t3) a(jc+j) = co2*(t2+u3) - si2*(u2-t3) b(jc+j) = si2*(t2+u3) + co2*(u2-t3) j = j + jump 130 continue *-----( end of loop across transforms ) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 135 continue 140 continue *-----( end of loop along transforms ) kk = kk + 2*la 150 continue *-----( end of loop on nonzero k ) la = 3*la 160 continue *-----( end of loop on type I radix-3 passes) * * loop on type II radix-3 passes * ------------------------------ 400 continue * do 480 ipass = mh+1 , m jstep = (n*inc) / (3*la) jstepl = jstep - ninc laincl = la*ink - ninc * * k=0 loop (no twiddle factors) * ----------------------------- do 430 ll = 0 , (la-1)*ink , 3*jstep * do 420 jjj = ll , (n-1)*inc , 3*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 415 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = ja + laincl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jd + laincl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = jh + jstepl if (ji.lt.istart) ji = ji + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep, shortloop do 410 l = 1 , nvex t1 = a(jb+j) + a(jc+j) t2 = a(ja+j) - 0.5 * t1 t3 = c1 * ( a(jb+j) - a(jc+j) ) a(jb+j) = a(jd+j) u1 = b(jb+j) + b(jc+j) u2 = b(ja+j) - 0.5 * u1 u3 = c1 * ( b(jb+j) - b(jc+j) ) b(jb+j) = b(jd+j) a(ja+j) = a(ja+j) + t1 b(ja+j) = b(ja+j) + u1 a(jd+j) = t2 - u3 b(jd+j) = u2 + t3 a(jc+j) = t2 + u3 b(jc+j) = u2 - t3 *---------------------- t1 = a(je+j) + a(jf+j) t2 = a(jb+j) - 0.5 * t1 t3 = c1 * ( a(je+j) - a(jf+j) ) a(jf+j) = a(jh+j) u1 = b(je+j) + b(jf+j) u2 = b(jb+j) - 0.5 * u1 u3 = c1 * ( b(je+j) - b(jf+j) ) b(jf+j) = b(jh+j) a(jb+j) = a(jb+j) + t1 b(jb+j) = b(jb+j) + u1 a(je+j) = t2 - u3 b(je+j) = u2 + t3 a(jh+j) = t2 + u3 b(jh+j) = u2 - t3 *---------------------- t1 = a(jf+j) + a(ji+j) t2 = a(jg+j) - 0.5 * t1 t3 = c1 * ( a(jf+j) - a(ji+j) ) t1 = a(jg+j) + t1 a(jg+j) = a(jc+j) u1 = b(jf+j) + b(ji+j) u2 = b(jg+j) - 0.5 * u1 u3 = c1 * ( b(jf+j) - b(ji+j) ) u1 = b(jg+j) + u1 b(jg+j) = b(jc+j) a(jc+j) = t1 b(jc+j) = u1 a(jf+j) = t2 - u3 b(jf+j) = u2 + t3 a(ji+j) = t2 + u3 b(ji+j) = u2 - t3 j = j + jump 410 continue *-----( end of loop across transforms ) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 415 continue 420 continue 430 continue *-----( end of double loop for k=0 ) * * finished if last pass * --------------------- if (ipass.eq.m) go to 490 * kk = 2*la * * loop on nonzero k * ----------------- do 470 k = ink , jstep-ink , ink co1 = trigs(kk+1) si1 = s*trigs(kk+2) co2 = trigs(2*kk+1) si2 = s*trigs(2*kk+2) * * double loop along first transform in block * ------------------------------------------ do 460 ll = k , (la-1)*ink , 3*jstep * do 450 jjj = ll , (n-1)*inc , 3*la*ink ja = istart + jjj * * "transverse" loop * ----------------- do 445 nu = 1 , inq jb = ja + jstepl if (jb.lt.istart) jb = jb + ninc jc = jb + jstepl if (jc.lt.istart) jc = jc + ninc jd = ja + laincl if (jd.lt.istart) jd = jd + ninc je = jd + jstepl if (je.lt.istart) je = je + ninc jf = je + jstepl if (jf.lt.istart) jf = jf + ninc jg = jd + laincl if (jg.lt.istart) jg = jg + ninc jh = jg + jstepl if (jh.lt.istart) jh = jh + ninc ji = jh + jstepl if (ji.lt.istart) ji = ji + ninc j = 0 * * loop across transforms * ---------------------- cdir$ ivdep, shortloop do 440 l = 1 , nvex t1 = a(jb+j) + a(jc+j) t2 = a(ja+j) - 0.5 * t1 t3 = c1 * ( a(jb+j) - a(jc+j) ) a(jb+j) = a(jd+j) u1 = b(jb+j) + b(jc+j) u2 = b(ja+j) - 0.5 * u1 u3 = c1 * ( b(jb+j) - b(jc+j) ) b(jb+j) = b(jd+j) a(ja+j) = a(ja+j) + t1 b(ja+j) = b(ja+j) + u1 a(jd+j) = co1*(t2-u3) - si1*(u2+t3) b(jd+j) = si1*(t2-u3) + co1*(u2+t3) a(jc+j) = co2*(t2+u3) - si2*(u2-t3) b(jc+j) = si2*(t2+u3) + co2*(u2-t3) *---------------------- t1 = a(je+j) + a(jf+j) t2 = a(jb+j) - 0.5 * t1 t3 = c1 * ( a(je+j) - a(jf+j) ) a(jf+j) = a(jh+j) u1 = b(je+j) + b(jf+j) u2 = b(jb+j) - 0.5 * u1 u3 = c1 * ( b(je+j) - b(jf+j) ) b(jf+j) = b(jh+j) a(jb+j) = a(jb+j) + t1 b(jb+j) = b(jb+j) + u1 a(je+j) = co1*(t2-u3) - si1*(u2+t3) b(je+j) = si1*(t2-u3) + co1*(u2+t3) a(jh+j) = co2*(t2+u3) - si2*(u2-t3) b(jh+j) = si2*(t2+u3) + co2*(u2-t3) *---------------------- t1 = a(jf+j) + a(ji+j) t2 = a(jg+j) - 0.5 * t1 t3 = c1 * ( a(jf+j) - a(ji+j) ) t1 = a(jg+j) + t1 a(jg+j) = a(jc+j) u1 = b(jf+j) + b(ji+j) u2 = b(jg+j) - 0.5 * u1 u3 = c1 * ( b(jf+j) - b(ji+j) ) u1 = b(jg+j) + u1 b(jg+j) = b(jc+j) a(jc+j) = t1 b(jc+j) = u1 a(jf+j) = co1*(t2-u3) - si1*(u2+t3) b(jf+j) = si1*(t2-u3) + co1*(u2+t3) a(ji+j) = co2*(t2+u3) - si2*(u2-t3) b(ji+j) = si2*(t2+u3) + co2*(u2-t3) j = j + jump 440 continue *-----(end of loop across transforms) ja = ja + jstepx if (ja.lt.istart) ja = ja + ninc 445 continue 450 continue 460 continue *-----( end of double loop for this k ) kk = kk + 2*la 470 continue *-----( end of loop over values of k ) la = 3*la 480 continue *-----( end of loop on type II radix-3 passes ) *-----( nvex transforms completed) 490 continue istart = istart + nvex * jump 500 continue *-----( end of loop on blocks of transforms ) * return end emoslib-000392+dfsg.1/fft/Makefile0000755000175000017500000000107212127406245017700 0ustar amckinstryamckinstry# # Makefile for libemos/bufrdc # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY) : $(LIBRARY)($(OBJECTS)) #$(LIBRARY): $(OBJECTS) #$(AR) $(ARFLAGS) $@ $? #$(RANLIB) $@ clean: \rm -f $(OBJECTS) emoslib-000392+dfsg.1/fft/qpassm.f0000755000175000017500000004327512127406245017726 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE QPASSM(A,B,C,D,TRIGS,INC1,INC2,INC3,INC4,ILOT,N,IFAC, * ILA,IERR) REAL A(*),B(*),C(*),D(*),TRIGS(*) C C SUBROUTINE 'QPASSM' - PERFORMS ONE PASS THROUGH DATA AS PART C OF MULTIPLE REAL FFT (FOURIER ANALYSIS) ROUTINE C C A IS FIRST REAL INPUT VECTOR C EQUIVALENCE B(1) WITH A(IFAC*ILA*INC1+1) C C IS FIRST REAL OUTPUT VECTOR C EQUIVALENCE D(1) WITH C(ILA*INC2+1) C TRIGS IS A PRECALCULATED LIST OF SINES & COSINES C INC1 IS THE ADDRESSING INCREMENT FOR A C INC2 IS THE ADDRESSING INCREMENT FOR C C INC3 IS THE INCREMENT BETWEEN INPUT VECTORS A C INC4 IS THE INCREMENT BETWEEN OUTPUT VECTORS C C ILOT IS THE NUMBER OF VECTORS C N IS THE LENGTH OF THE VECTORS C IFAC IS THE CURRENT FACTOR OF N C ILA = N/(PRODUCT OF FACTORS USED SO FAR) C IERR IS AN ERROR INDICATOR: C 0 - PASS COMPLETED WITHOUT ERROR C 1 - ILOT GREATER THAN 64 C 2 - IFAC NOT CATERED FOR C 3 - IFAC ONLY CATERED FOR IF ILA=N/IFAC C C----------------------------------------------------------------------- C SAVE SIN36, SIN72, QRT5, SIN60 C DATA SIN36/0.587785252292473/,SIN72/0.951056516295154/, * QRT5/0.559016994374947/,SIN60/0.866025403784437/ C M=N/IFAC IINK=ILA*INC1 JINK=ILA*INC2 IJUMP=(IFAC-1)*IINK KSTOP=(N-IFAC)/(2*IFAC) C IBAD=1 IF (ILOT.GT.512) GO TO 910 IBASE=0 JBASE=0 IGO=IFAC-1 IF (IGO.EQ.7) IGO=6 IBAD=2 IF (IGO.LT.1.OR.IGO.GT.6) GO TO 910 GO TO (200,300,400,500,600,800),IGO C C CODING FOR FACTOR 2 C ------------------- 200 CONTINUE IA=1 IB=IA+IINK JA=1 JB=JA+(2*M-ILA)*INC2 C IF (ILA.EQ.M) GO TO 290 C DO 220 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 210 IJK=1,ILOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=A(IA+I)-A(IB+I) I=I+INC3 J=J+INC4 210 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 220 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JA.EQ.JB) GO TO 260 DO 250 K=ILA,KSTOP,ILA KB=K+K C1=TRIGS(KB+1) S1=TRIGS(KB+2) JBASE=0 DO 240 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 230 IJK=1,ILOT C(JA+J)=A(IA+I)+(C1*A(IB+I)+S1*B(IB+I)) C(JB+J)=A(IA+I)-(C1*A(IB+I)+S1*B(IB+I)) D(JA+J)=(C1*B(IB+I)-S1*A(IB+I))+B(IA+I) D(JB+J)=(C1*B(IB+I)-S1*A(IB+I))-B(IA+I) I=I+INC3 J=J+INC4 230 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 240 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB-JINK 250 CONTINUE IF (JA.GT.JB) GO TO 900 260 CONTINUE JBASE=0 DO 280 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 270 IJK=1,ILOT C(JA+J)=A(IA+I) D(JA+J)=-A(IB+I) I=I+INC3 J=J+INC4 270 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 280 CONTINUE GO TO 900 C 290 CONTINUE Z=1.0/FLOAT(N) DO 294 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 292 IJK=1,ILOT C(JA+J)=Z*(A(IA+I)+A(IB+I)) C(JB+J)=Z*(A(IA+I)-A(IB+I)) I=I+INC3 J=J+INC4 292 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 294 CONTINUE GO TO 900 C C CODING FOR FACTOR 3 C ------------------- 300 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK JA=1 JB=JA+(2*M-ILA)*INC2 JC=JB C IF (ILA.EQ.M) GO TO 390 C DO 320 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 310 IJK=1,ILOT C(JA+J)=A(IA+I)+(A(IB+I)+A(IC+I)) C(JB+J)=A(IA+I)-0.5*(A(IB+I)+A(IC+I)) D(JB+J)=SIN60*(A(IC+I)-A(IB+I)) I=I+INC3 J=J+INC4 310 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 320 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JA.EQ.JC) GO TO 360 DO 350 K=ILA,KSTOP,ILA KB=K+K KC=KB+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) JBASE=0 DO 340 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 330 IJK=1,ILOT A1=(C1*A(IB+I)+S1*B(IB+I))+(C2*A(IC+I)+S2*B(IC+I)) B1=(C1*B(IB+I)-S1*A(IB+I))+(C2*B(IC+I)-S2*A(IC+I)) A2=A(IA+I)-0.5*A1 B2=B(IA+I)-0.5*B1 A3=SIN60*((C1*A(IB+I)+S1*B(IB+I))-(C2*A(IC+I)+S2*B(IC+I))) B3=SIN60*((C1*B(IB+I)-S1*A(IB+I))-(C2*B(IC+I)-S2*A(IC+I))) C(JA+J)=A(IA+I)+A1 D(JA+J)=B(IA+I)+B1 C(JB+J)=A2+B3 D(JB+J)=B2-A3 C(JC+J)=A2-B3 D(JC+J)=-(B2+A3) I=I+INC3 J=J+INC4 330 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 340 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC-JINK 350 CONTINUE IF (JA.GT.JC) GO TO 900 360 CONTINUE JBASE=0 DO 380 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 370 IJK=1,ILOT C(JA+J)=A(IA+I)+0.5*(A(IB+I)-A(IC+I)) D(JA+J)=-SIN60*(A(IB+I)+A(IC+I)) C(JB+J)=A(IA+I)-(A(IB+I)-A(IC+I)) I=I+INC3 J=J+INC4 370 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 380 CONTINUE GO TO 900 C 390 CONTINUE Z=1.0/FLOAT(N) ZSIN60=Z*SIN60 DO 394 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 392 IJK=1,ILOT C(JA+J)=Z*(A(IA+I)+(A(IB+I)+A(IC+I))) C(JB+J)=Z*(A(IA+I)-0.5*(A(IB+I)+A(IC+I))) D(JB+J)=ZSIN60*(A(IC+I)-A(IB+I)) I=I+INC3 J=J+INC4 392 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 394 CONTINUE GO TO 900 C C CODING FOR FACTOR 4 C ------------------- 400 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK JA=1 JB=JA+(2*M-ILA)*INC2 JC=JB+2*M*INC2 JD=JB C IF (ILA.EQ.M) GO TO 490 C DO 420 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 410 IJK=1,ILOT C(JA+J)=(A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I)) C(JC+J)=(A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I)) C(JB+J)=A(IA+I)-A(IC+I) D(JB+J)=A(ID+I)-A(IB+I) I=I+INC3 J=J+INC4 410 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 420 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC-JINK JD=JD-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JB.EQ.JC) GO TO 460 DO 450 K=ILA,KSTOP,ILA KB=K+K KC=KB+KB KD=KC+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) JBASE=0 DO 440 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 430 IJK=1,ILOT A0=A(IA+I)+(C2*A(IC+I)+S2*B(IC+I)) A2=A(IA+I)-(C2*A(IC+I)+S2*B(IC+I)) A1=(C1*A(IB+I)+S1*B(IB+I))+(C3*A(ID+I)+S3*B(ID+I)) A3=(C1*A(IB+I)+S1*B(IB+I))-(C3*A(ID+I)+S3*B(ID+I)) B0=B(IA+I)+(C2*B(IC+I)-S2*A(IC+I)) B2=B(IA+I)-(C2*B(IC+I)-S2*A(IC+I)) B1=(C1*B(IB+I)-S1*A(IB+I))+(C3*B(ID+I)-S3*A(ID+I)) B3=(C1*B(IB+I)-S1*A(IB+I))-(C3*B(ID+I)-S3*A(ID+I)) C(JA+J)=A0+A1 C(JC+J)=A0-A1 D(JA+J)=B0+B1 D(JC+J)=B1-B0 C(JB+J)=A2+B3 C(JD+J)=A2-B3 D(JB+J)=B2-A3 D(JD+J)=-(B2+A3) I=I+INC3 J=J+INC4 430 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 440 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC-JINK JD=JD-JINK 450 CONTINUE IF (JB.GT.JC) GO TO 900 460 CONTINUE SIN45=SQRT(0.5) JBASE=0 DO 480 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 470 IJK=1,ILOT C(JA+J)=A(IA+I)+SIN45*(A(IB+I)-A(ID+I)) C(JB+J)=A(IA+I)-SIN45*(A(IB+I)-A(ID+I)) D(JA+J)=-A(IC+I)-SIN45*(A(IB+I)+A(ID+I)) D(JB+J)=A(IC+I)-SIN45*(A(IB+I)+A(ID+I)) I=I+INC3 J=J+INC4 470 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 480 CONTINUE GO TO 900 C 490 CONTINUE Z=1.0/FLOAT(N) DO 494 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 492 IJK=1,ILOT C(JA+J)=Z*((A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I))) C(JC+J)=Z*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) C(JB+J)=Z*(A(IA+I)-A(IC+I)) D(JB+J)=Z*(A(ID+I)-A(IB+I)) I=I+INC3 J=J+INC4 492 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 494 CONTINUE GO TO 900 C C CODING FOR FACTOR 5 C ------------------- 500 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK IE=ID+IINK JA=1 JB=JA+(2*M-ILA)*INC2 JC=JB+2*M*INC2 JD=JC JE=JB C IF (ILA.EQ.M) GO TO 590 C DO 520 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 510 IJK=1,ILOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=A(IA+I)-0.25*(A1+A2) A6=QRT5*(A1-A2) C(JA+J)=A(IA+I)+(A1+A2) C(JB+J)=A5+A6 C(JC+J)=A5-A6 D(JB+J)=-SIN72*A3-SIN36*A4 D(JC+J)=-SIN36*A3+SIN72*A4 I=I+INC3 J=J+INC4 510 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 520 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JB.EQ.JD) GO TO 560 DO 550 K=ILA,KSTOP,ILA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) JBASE=0 DO 540 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 530 IJK=1,ILOT A1=(C1*A(IB+I)+S1*B(IB+I))+(C4*A(IE+I)+S4*B(IE+I)) A3=(C1*A(IB+I)+S1*B(IB+I))-(C4*A(IE+I)+S4*B(IE+I)) A2=(C2*A(IC+I)+S2*B(IC+I))+(C3*A(ID+I)+S3*B(ID+I)) A4=(C2*A(IC+I)+S2*B(IC+I))-(C3*A(ID+I)+S3*B(ID+I)) B1=(C1*B(IB+I)-S1*A(IB+I))+(C4*B(IE+I)-S4*A(IE+I)) B3=(C1*B(IB+I)-S1*A(IB+I))-(C4*B(IE+I)-S4*A(IE+I)) B2=(C2*B(IC+I)-S2*A(IC+I))+(C3*B(ID+I)-S3*A(ID+I)) B4=(C2*B(IC+I)-S2*A(IC+I))-(C3*B(ID+I)-S3*A(ID+I)) A5=A(IA+I)-0.25*(A1+A2) A6=QRT5*(A1-A2) B5=B(IA+I)-0.25*(B1+B2) B6=QRT5*(B1-B2) A10=A5+A6 A20=A5-A6 B10=B5+B6 B20=B5-B6 A11=SIN72*B3+SIN36*B4 A21=SIN36*B3-SIN72*B4 B11=SIN72*A3+SIN36*A4 B21=SIN36*A3-SIN72*A4 C(JA+J)=A(IA+I)+(A1+A2) C(JB+J)=A10+A11 C(JE+J)=A10-A11 C(JC+J)=A20+A21 C(JD+J)=A20-A21 D(JA+J)=B(IA+I)+(B1+B2) D(JB+J)=B10-B11 D(JE+J)=-(B10+B11) D(JC+J)=B20-B21 D(JD+J)=-(B20+B21) I=I+INC3 J=J+INC4 530 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 540 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK 550 CONTINUE IF (JB.GT.JD) GO TO 900 560 CONTINUE JBASE=0 DO 580 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 570 IJK=1,ILOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=A(IA+I)+0.25*(A3-A4) A6=QRT5*(A3+A4) C(JA+J)=A5+A6 C(JB+J)=A5-A6 C(JC+J)=A(IA+I)-(A3-A4) D(JA+J)=-SIN36*A1-SIN72*A2 D(JB+J)=-SIN72*A1+SIN36*A2 I=I+INC3 J=J+INC4 570 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 580 CONTINUE GO TO 900 C 590 CONTINUE Z=1.0/FLOAT(N) ZQRT5=Z*QRT5 ZSIN36=Z*SIN36 ZSIN72=Z*SIN72 DO 594 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 592 IJK=1,ILOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=Z*(A(IA+I)-0.25*(A1+A2)) A6=ZQRT5*(A1-A2) C(JA+J)=Z*(A(IA+I)+(A1+A2)) C(JB+J)=A5+A6 C(JC+J)=A5-A6 D(JB+J)=-ZSIN72*A3-ZSIN36*A4 D(JC+J)=-ZSIN36*A3+ZSIN72*A4 I=I+INC3 J=J+INC4 592 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 594 CONTINUE GO TO 900 C C CODING FOR FACTOR 6 C ------------------- 600 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK IE=ID+IINK IF=IE+IINK JA=1 JB=JA+(2*M-ILA)*INC2 JC=JB+2*M*INC2 JD=JC+2*M*INC2 JE=JC JF=JB C IF (ILA.EQ.M) GO TO 690 C DO 620 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 610 IJK=1,ILOT A11=(A(IC+I)+A(IF+I))+(A(IB+I)+A(IE+I)) C(JA+J)=(A(IA+I)+A(ID+I))+A11 C(JC+J)=(A(IA+I)+A(ID+I)-0.5*A11) D(JC+J)=SIN60*((A(IC+I)+A(IF+I))-(A(IB+I)+A(IE+I))) A11=(A(IC+I)-A(IF+I))+(A(IE+I)-A(IB+I)) C(JB+J)=(A(IA+I)-A(ID+I))-0.5*A11 D(JB+J)=SIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) C(JD+J)=(A(IA+I)-A(ID+I))+A11 I=I+INC3 J=J+INC4 610 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 620 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK JF=JF-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JC.EQ.JD) GO TO 660 DO 650 K=ILA,KSTOP,ILA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB KF=KE+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) C5=TRIGS(KF+1) S5=TRIGS(KF+2) JBASE=0 DO 640 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 630 IJK=1,ILOT A1=C1*A(IB+I)+S1*B(IB+I) B1=C1*B(IB+I)-S1*A(IB+I) A2=C2*A(IC+I)+S2*B(IC+I) B2=C2*B(IC+I)-S2*A(IC+I) A3=C3*A(ID+I)+S3*B(ID+I) B3=C3*B(ID+I)-S3*A(ID+I) A4=C4*A(IE+I)+S4*B(IE+I) B4=C4*B(IE+I)-S4*A(IE+I) A5=C5*A(IF+I)+S5*B(IF+I) B5=C5*B(IF+I)-S5*A(IF+I) A11=(A2+A5)+(A1+A4) A20=(A(IA+I)+A3)-0.5*A11 A21=SIN60*((A2+A5)-(A1+A4)) B11=(B2+B5)+(B1+B4) B20=(B(IA+I)+B3)-0.5*B11 B21=SIN60*((B2+B5)-(B1+B4)) C(JA+J)=(A(IA+I)+A3)+A11 D(JA+J)=(B(IA+I)+B3)+B11 C(JC+J)=A20-B21 D(JC+J)=A21+B20 C(JE+J)=A20+B21 D(JE+J)=A21-B20 A11=(A2-A5)+(A4-A1) A20=(A(IA+I)-A3)-0.5*A11 A21=SIN60*((A4-A1)-(A2-A5)) B11=(B5-B2)-(B4-B1) B20=(B3-B(IA+I))-0.5*B11 B21=SIN60*((B5-B2)+(B4-B1)) C(JB+J)=A20-B21 D(JB+J)=A21-B20 C(JD+J)=A11+(A(IA+I)-A3) D(JD+J)=B11+(B3-B(IA+I)) C(JF+J)=A20+B21 D(JF+J)=A21+B20 I=I+INC3 J=J+INC4 630 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 640 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK JF=JF-JINK 650 CONTINUE IF (JC.GT.JD) GO TO 900 660 CONTINUE JBASE=0 DO 680 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 670 IJK=1,ILOT C(JA+J)=(A(IA+I)+0.5*(A(IC+I)-A(IE+I)))+ SIN60*(A(IB+I)-A(IF+I)) D(JA+J)=-(A(ID+I)+0.5*(A(IB+I)+A(IF+I)))-SIN60*(A(IC+I)+A(IE+I)) C(JB+J)=A(IA+I)-(A(IC+I)-A(IE+I)) D(JB+J)=A(ID+I)-(A(IB+I)+A(IF+I)) C(JC+J)=(A(IA+I)+0.5*(A(IC+I)-A(IE+I)))-SIN60*(A(IB+I)-A(IF+I)) D(JC+J)=-(A(ID+I)+0.5*(A(IB+I)+A(IF+I)))+SIN60*(A(IC+I)+A(IE+I)) I=I+INC3 J=J+INC4 670 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 680 CONTINUE GO TO 900 C 690 CONTINUE Z=1.0/FLOAT(N) ZSIN60=Z*SIN60 DO 694 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 692 IJK=1,ILOT A11=(A(IC+I)+A(IF+I))+(A(IB+I)+A(IE+I)) C(JA+J)=Z*((A(IA+I)+A(ID+I))+A11) C(JC+J)=Z*((A(IA+I)+A(ID+I))-0.5*A11) D(JC+J)=ZSIN60*((A(IC+I)+A(IF+I))-(A(IB+I)+A(IE+I))) A11=(A(IC+I)-A(IF+I))+(A(IE+I)-A(IB+I)) C(JB+J)=Z*((A(IA+I)-A(ID+I))-0.5*A11) D(JB+J)=ZSIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) C(JD+J)=Z*((A(IA+I)-A(ID+I))+A11) I=I+INC3 J=J+INC4 692 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 694 CONTINUE GO TO 900 C C CODING FOR FACTOR 8 C ------------------- 800 CONTINUE IBAD=3 IF (ILA.NE.M) GO TO 910 IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK IE=ID+IINK IF=IE+IINK IG=IF+IINK IH=IG+IINK JA=1 JB=JA+ILA*INC2 JC=JB+2*M*INC2 JD=JC+2*M*INC2 JE=JD+2*M*INC2 Z=1.0/FLOAT(N) ZSIN45=Z*SQRT(0.5) C DO 820 JL=1,ILA I=IBASE J=JBASE CDIR$ IVDEP *VOCL LOOP,NOVREC DO 810 IJK=1,ILOT C(JA+J)=Z*(((A(IA+I)+A(IE+I))+(A(IC+I)+A(IG+I)))+ * ((A(ID+I)+A(IH+I))+(A(IB+I)+A(IF+I)))) C(JE+J)=Z*(((A(IA+I)+A(IE+I))+(A(IC+I)+A(IG+I)))- * ((A(ID+I)+A(IH+I))+(A(IB+I)+A(IF+I)))) C(JC+J)=Z*((A(IA+I)+A(IE+I))-(A(IC+I)+A(IG+I))) D(JC+J)=Z*((A(ID+I)+A(IH+I))-(A(IB+I)+A(IF+I))) C(JB+J)=Z*(A(IA+I)-A(IE+I)) * +ZSIN45*((A(IH+I)-A(ID+I))-(A(IF+I)-A(IB+I))) C(JD+J)=Z*(A(IA+I)-A(IE+I)) * -ZSIN45*((A(IH+I)-A(ID+I))-(A(IF+I)-A(IB+I))) D(JB+J)=ZSIN45*((A(IH+I)-A(ID+I))+(A(IF+I)-A(IB+I))) * +Z*(A(IG+I)-A(IC+I)) D(JD+J)=ZSIN45*((A(IH+I)-A(ID+I))+(A(IF+I)-A(IB+I))) * -Z*(A(IG+I)-A(IC+I)) I=I+INC3 J=J+INC4 810 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 820 CONTINUE C C RETURN C ------ 900 CONTINUE IBAD=0 910 CONTINUE IERR=IBAD RETURN END emoslib-000392+dfsg.1/fft/gpfa.f0000755000175000017500000000546212127406245017333 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE GPFA(A,B,TRIGS,INC,JUMP,N,LOT,ISIGN) * * SUBROUTINE 'GPFA' * SELF-SORTING IN-PLACE GENERALIZED PRIME FACTOR (COMPLEX) FFT * * CALL GPFA(A,B,TRIGS,INC,JUMP,N,LOT,ISIGN) * * A IS FIRST REAL INPUT/OUTPUT VECTOR * B IS FIRST IMAGINARY INPUT/OUTPUT VECTOR * TRIGS IS A TABLE OF TWIDDLE FACTORS, PRECALCULATED * BY CALLING SUBROUTINE 'SETGPFA' * INC IS THE INCREMENT WITHIN EACH DATA VECTOR * JUMP IS THE INCREMENT BETWEEN DATA VECTORS * N IS THE LENGTH OF THE TRANSFORMS: * ----------------------------------- * N = (2**IP) * (3**IQ) * (5**IR) * ----------------------------------- * LOT IS THE NUMBER OF TRANSFORMS * ISIGN = +1 FOR FORWARD TRANSFORM * = -1 FOR INVERSE TRANSFORM * * WRITTEN BY CLIVE TEMPERTON ECMWF 1990 * *---------------------------------------------------------------------- * * DEFINITION OF TRANSFORM * ----------------------- * * X(J) = SUM(K=0,...,N-1)(C(K)*EXP(ISIGN*2*I*J*K*PI/N)) * *--------------------------------------------------------------------- * * FOR A MATHEMATICAL DEVELOPMENT OF THE ALGORITHM USED, * SEE: * * C TEMPERTON : "A GENERALIZED PRIME FACTOR FFT ALGORITHM * FOR ANY N = (2**P)(3**Q)(5**R)", * SIAM J. SCI. STAT. COMP., MAY 1992. * *---------------------------------------------------------------------- * DIMENSION A(*), B(*), TRIGS(*) DIMENSION NJ(3) * * DECOMPOSE N INTO FACTORS 2,3,5 * ------------------------------ NN = N IFAC = 2 * DO 30 LL = 1 , 3 KK = 0 10 CONTINUE IF (MOD(NN,IFAC).NE.0) GO TO 20 KK = KK + 1 NN = NN / IFAC GO TO 10 20 CONTINUE NJ(LL) = KK IFAC = IFAC + LL 30 CONTINUE * IF (NN.NE.1) THEN WRITE(6,40) N 40 FORMAT(' *** WARNING!!!',I10,' IS NOT A LEGAL VALUE OF N ***') RETURN ENDIF * IP = NJ(1) IQ = NJ(2) IR = NJ(3) * * COMPUTE THE TRANSFORM * --------------------- I = 1 IF (IP.GT.0) THEN CALL GPFA2(A,B,TRIGS,INC,JUMP,N,IP,LOT,ISIGN) I = I + 2 * ( 2**IP) ENDIF IF (IQ.GT.0) THEN CALL GPFA3(A,B,TRIGS(I),INC,JUMP,N,IQ,LOT,ISIGN) I = I + 2 * (3**IQ) ENDIF IF (IR.GT.0) THEN CALL GPFA5(A,B,TRIGS(I),INC,JUMP,N,IR,LOT,ISIGN) ENDIF * RETURN END emoslib-000392+dfsg.1/fft/setgpfa.f0000755000175000017500000000306512127406245020044 0ustar amckinstryamckinstryc Copyright 1981-2012 ECMWF. c c This software is licensed under the terms of the Apache Licence c Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. c c In applying this licence, ECMWF does not waive the privileges and immunities c granted to it by virtue of its status as an intergovernmental organisation c nor does it submit to any jurisdiction. c SUBROUTINE SETGPFA(TRIGS,N) * DIMENSION TRIGS(*) DIMENSION NJ(3) * * DECOMPOSE N INTO FACTORS 2,3,5 * ------------------------------ NN = N IFAC = 2 * DO 30 LL = 1 , 3 KK = 0 10 CONTINUE IF (MOD(NN,IFAC).NE.0) GO TO 20 KK = KK + 1 NN = NN / IFAC GO TO 10 20 CONTINUE NJ(LL) = KK IFAC = IFAC + LL 30 CONTINUE * IF (NN.NE.1) THEN WRITE(6,40) N 40 FORMAT(' *** WARNING!!!',I10,' IS NOT A LEGAL VALUE OF N ***') RETURN ENDIF * IP = NJ(1) IQ = NJ(2) IR = NJ(3) * * COMPUTE LIST OF ROTATED TWIDDLE FACTORS * --------------------------------------- NJ(1) = 2**IP NJ(2) = 3**IQ NJ(3) = 5**IR * TWOPI = 4.0 * ASIN(1.0) I = 1 * DO 60 LL = 1 , 3 NI = NJ(LL) IF (NI.EQ.1) GO TO 60 * DEL = TWOPI / FLOAT(NI) IROT = N / NI KINK = MOD(IROT,NI) KK = 0 * DO 50 K = 1 , NI ANGLE = FLOAT(KK) * DEL TRIGS(I) = COS(ANGLE) TRIGS(I+1) = SIN(ANGLE) I = I + 2 KK = KK + KINK IF (KK.GT.NI) KK = KK - NI 50 CONTINUE 60 CONTINUE * RETURN END emoslib-000392+dfsg.1/NOTICE0000755000175000017500000000161712127406245016372 0ustar amckinstryamckinstryEmoslib ======= Copyright 1981-2013 ECMWF This product mainly includes software developed by the Data and Services Section and Meteorological Visualisation Section at the "European Centre for Medium-Range Weather Forecasts" (ECMWF - http://www.ecmwf.int ). We would like to acknoledge the following contributions to Emoslib: - Files written by NCAR, the National Center for Atmospheric Research. bt_ibm_bal.bal btibm.special - File kwprs1.F makes use of the WMO Manual on Codes re GRIB Code. http://www.nco.ncep.noaa.gov/pmb/docs/on388/appendixc.html. - File c2gene.F Algorithm used to determine groups is derived from Harry R. Glahn (U.S. Met Service), from a working paper submitted to WMO SGDRC in 1995. - File calcop.F Located in the materials contains the following citation: Seber, G.A.F. (1979). Linear Regression Analyses. John Wiley and Sons emoslib-000392+dfsg.1/.list/0000755000175000017500000000000012127406245016507 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/.list/gribtemplates0000755000175000017500000001047612127406245021307 0ustar amckinstryamckinstrygribtemplates/localDefinitionTemplate_001_098_001 gribtemplates/localDefinitionTemplate_007_000_001 gribtemplates/localDefinitionTemplate_007_098_001 gribtemplates/localDefinitionTemplate_007_098_011 gribtemplates/localDefinitionTemplate_007_098_018 gribtemplates/localDefinitionTemplate_0255_098_001 gribtemplates/localDefinitionTemplate_0255_098_018 gribtemplates/localDefinitionTemplate_034_098_001 gribtemplates/localDefinitionTemplate_054_098_001 gribtemplates/localDefinitionTemplate_058_098_001 gribtemplates/localDefinitionTemplate_058_098_011 gribtemplates/localDefinitionTemplate_074_098_001 gribtemplates/localDefinitionTemplate_074_098_004 gribtemplates/localDefinitionTemplate_074_098_011 gribtemplates/localDefinitionTemplate_074_098_015 gribtemplates/localDefinitionTemplate_074_098_016 gribtemplates/localDefinitionTemplate_074_098_018 gribtemplates/localDefinitionTemplate_074_098_021 gribtemplates/localDefinitionTemplate_078_098_001 gribtemplates/localDefinitionTemplate_078_098_018 gribtemplates/localDefinitionTemplate_078_098_191 gribtemplates/localDefinitionTemplate_080_098_028 gribtemplates/localDefinitionTemplate_080_098_029 gribtemplates/localDefinitionTemplate_080_098_191 gribtemplates/localDefinitionTemplate_084_098_001 gribtemplates/localDefinitionTemplate_085_098_001 gribtemplates/localDefinitionTemplate_085_098_004 gribtemplates/localDefinitionTemplate_085_098_015 gribtemplates/localDefinitionTemplate_085_098_016 gribtemplates/localDefinitionTemplate_085_098_018 gribtemplates/localDefinitionTemplate_085_098_021 gribtemplates/localDefinitionTemplate_098_000_001 gribtemplates/localDefinitionTemplate_098_000_002 gribtemplates/localDefinitionTemplate_098_000_003 gribtemplates/localDefinitionTemplate_098_000_004 gribtemplates/localDefinitionTemplate_098_000_005 gribtemplates/localDefinitionTemplate_098_000_006 gribtemplates/localDefinitionTemplate_098_000_007 gribtemplates/localDefinitionTemplate_098_000_008 gribtemplates/localDefinitionTemplate_098_000_009 gribtemplates/localDefinitionTemplate_098_000_010 gribtemplates/localDefinitionTemplate_098_000_011 gribtemplates/localDefinitionTemplate_098_000_013 gribtemplates/localDefinitionTemplate_098_000_014 gribtemplates/localDefinitionTemplate_098_000_015 gribtemplates/localDefinitionTemplate_098_000_016 gribtemplates/localDefinitionTemplate_098_000_017 gribtemplates/localDefinitionTemplate_098_000_018 gribtemplates/localDefinitionTemplate_098_000_019 gribtemplates/localDefinitionTemplate_098_000_020 gribtemplates/localDefinitionTemplate_098_000_021 gribtemplates/localDefinitionTemplate_098_000_023 gribtemplates/localDefinitionTemplate_098_000_023.old gribtemplates/localDefinitionTemplate_098_000_024 gribtemplates/localDefinitionTemplate_098_000_025 gribtemplates/localDefinitionTemplate_098_000_026 gribtemplates/localDefinitionTemplate_098_000_026.old gribtemplates/localDefinitionTemplate_098_000_027 gribtemplates/localDefinitionTemplate_098_000_028 gribtemplates/localDefinitionTemplate_098_000_029 gribtemplates/localDefinitionTemplate_098_000_029.old gribtemplates/localDefinitionTemplate_098_000_050 gribtemplates/localDefinitionTemplate_098_000_190 gribtemplates/localDefinitionTemplate_098_000_191 gribtemplates/localDefinitionTemplate_098_000_192 gribtemplates/localDefinitionTemplate_098_231_001 gribtemplates/localDefinitionTemplate_098_231_004 gribtemplates/localDefinitionTemplate_098_231_015 gribtemplates/localDefinitionTemplate_098_231_016 gribtemplates/localDefinitionTemplate_098_232_001 gribtemplates/localDefinitionTemplate_098_232_004 gribtemplates/localDefinitionTemplate_098_232_015 gribtemplates/localDefinitionTemplate_098_232_016 gribtemplates/localDefinitionTemplate_098_233_001 gribtemplates/localDefinitionTemplate_098_233_004 gribtemplates/localDefinitionTemplate_098_233_015 gribtemplates/localDefinitionTemplate_098_233_016 gribtemplates/localDefinitionTemplate_098_234_004 gribtemplates/localDefinitionTemplate_098_234_015 gribtemplates/localDefinitionTemplate_098_234_016 gribtemplates/localDefinitionTemplate_098_240_001 gribtemplates/localDefinitionTemplate_098_241_001 gribtemplates/localDefinitionTemplate_098_242_001 gribtemplates/localDefinitionTemplate_098_243_001 gribtemplates/localDefinitionTemplate_200_098_191 gribtemplates/localDefinitionTemplate_244_098_001 gribtemplates/localDefinitionTemplate_098_000_030 gribtemplates/localDefinitionTemplate_098_000_027 emoslib-000392+dfsg.1/.list/land_sea_mask0000755000175000017500000000113312127406245021214 0ustar amckinstryamckinstryland_sea_mask/0-INDEX-0 land_sea_mask/defaults_for_table_001 land_sea_mask/defaults_for_table_128 land_sea_mask/lsm_xx_lsm0p5deg land_sea_mask/lsm_xx_lsm10m01 land_sea_mask/lsm_xx_lsmn080 land_sea_mask/lsm_xx_lsmr160 land_sea_mask/parameter_processing_defaults land_sea_mask/r160_xx_19790930 land_sea_mask/r160_xx_19910917 land_sea_mask/r160_xx_19930804 land_sea_mask/r160_xx_19940302 land_sea_mask/r160_xx_19940823 land_sea_mask/r160_xx_19950404 land_sea_mask/LSM_GG_0048 land_sea_mask/LSM_GG_0080 land_sea_mask/LSM_GG_0128 land_sea_mask/LSM_GG_0160 land_sea_mask/LSM_GG_0256 land_sea_mask/LSM_GG_0400 emoslib-000392+dfsg.1/.list/gribtables0000755000175000017500000000264112127406245020556 0ustar amckinstryamckinstrygribtables/local_table_2_version_128 gribtables/local_table_2_version_129 gribtables/local_table_2_version_130 gribtables/local_table_2_version_131 gribtables/local_table_2_version_132 gribtables/local_table_2_version_140 gribtables/local_table_2_version_150 gribtables/local_table_2_version_151 gribtables/local_table_2_version_160 gribtables/local_table_2_version_162 gribtables/local_table_2_version_170 gribtables/local_table_2_version_171 gribtables/local_table_2_version_172 gribtables/local_table_2_version_173 gribtables/local_table_2_version_174 gribtables/local_table_2_version_175 gribtables/local_table_2_version_180 gribtables/local_table_2_version_190 gribtables/local_table_2_version_200 gribtables/local_table_2_version_201 gribtables/local_table_2_version_210 gribtables/local_table_2_version_211 gribtables/local_table_2_version_220 gribtables/local_table_2_version_228 gribtables/local_table_2_version_230 gribtables/cen080/local_table_2_version_201 gribtables/cen085/local_table_2_version_001 gribtables/cen085/local_table_2_version_002 gribtables/cen085/local_table_2_version_003 gribtables/cen085/local_table_2_version_128 gribtables/cen085/local_table_2_version_128.ecmwf gribtables/cen085/local_table_2_version_128.mf gribtables/wmostd/table_2_version_001 gribtables/wmostd/table_2_version_002 gribtables/wmostd/table_2_version_003 gribtables/wmostd/table_2_version_003.ecmwf gribtables/wmostd/table_2_version_003.mf emoslib-000392+dfsg.1/.list/bufrtables0000755000175000017500000000260412127406245020570 0ustar amckinstryamckinstrybufrtables/B0000000000078011007 bufrtables/B0000000000089011255 bufrtables/B0000000000098000000.TXT bufrtables/B0000000000098000000.buf bufrtables/B0000000000098002001.TXT bufrtables/B0000000000098002001.buf bufrtables/B0000000000098006000.TXT bufrtables/B0000000000098006000.buf bufrtables/B0000000000098006001.TXT bufrtables/B0000000000098006001.buf bufrtables/B0000000000098010000 bufrtables/B0000000000098011000 bufrtables/B0000000000098011001.TXT bufrtables/B0000000000098011001.buf bufrtables/B0000000000098012000.TXT bufrtables/B0000000000098012000.buf bufrtables/B0000000000098012001.TXT bufrtables/B0000000000098012001.buf bufrtables/B0000000000254011001.TXT bufrtables/B0000000000254011001.buf bufrtables/D0000000000078011007 bufrtables/D0000000000098000000.TXT bufrtables/D0000000000098000000.buf bufrtables/D0000000000098002001.TXT bufrtables/D0000000000098002001.buf bufrtables/D0000000000098006000.TXT bufrtables/D0000000000098006000.buf bufrtables/D0000000000098006001.TXT bufrtables/D0000000000098006001.buf bufrtables/D0000000000098010000 bufrtables/D0000000000098011000 bufrtables/D0000000000098011001.TXT bufrtables/D0000000000098011001.buf bufrtables/D0000000000098012000.TXT bufrtables/D0000000000098012000.buf bufrtables/D0000000000098012001.TXT bufrtables/D0000000000098012001.buf bufrtables/D0000000000254011001.TXT bufrtables/D0000000000254011001.buf bufrtables/L0000000000098012001.TXT emoslib-000392+dfsg.1/.list/crextables0000755000175000017500000000010212127406245020562 0ustar amckinstryamckinstrycrextables/B000103 crextables/D000103 crextables/units.config.dat emoslib-000392+dfsg.1/pbio/0000755000175000017500000000000012127406245016407 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/pbio/sources.FUJITSU0000755000175000017500000000100112127406245021140 0ustar amckinstryamckinstry# # Sources for libemos/pbio for FUJITSU. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/Makefile.shared0000755000175000017500000000124412127406245021320 0ustar amckinstryamckinstry# # Makefile for libemos/pbio # LIBRARY = ../lib$(LIB)$(R64).so # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # PROFILE=$(SHLIB) # TARGETS = all clean # include sources.$(ARCH) # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.c) FASTOBJ.o = $(FASTSRC.c:.c=.o) FASTOBJ = $(FASTOBJ.o) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(FASTOBJ.o): $(FASTSRC.c) $(CC) $(FASTCFLAGS) -c $(FASTSRC.c) $(LIBRARY): $(OBJECTS) $(EXTRAOBJ) $(LD) $(DYNLINKFLAGS) $? -o $@ include make.dep clean: \rm -f $(OBJECTS) $(FASTOBJ) *.f emoslib-000392+dfsg.1/pbio/grprs.h0000755000175000017500000000104312127406245017716 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C Common blocks holding default or user supplied values for printing. C LOGICAL GRPRSET INTEGER GRPRSM C COMMON /GRPRSCM/ GRPRSM, GRPRSET emoslib-000392+dfsg.1/pbio/sources.CRAY0000755000175000017500000000070412127406245020556 0ustar amckinstryamckinstry# # Sources for libemos/pbio for CRAY. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = emoslib-000392+dfsg.1/pbio/sources.decmips0000755000175000017500000000073012127406245021443 0ustar amckinstryamckinstry# # Sources for libemos/pbio for decmips # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte_alpha.c emoslib-000392+dfsg.1/pbio/fort2c.c0000755000175000017500000000162012127406245017754 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include /* fort2c.c */ #include "fort2c.h" char *fcd2char(fortchar) _fcd fortchar; { #ifndef VAX char *name = _fcdtocp(fortchar); int len = _fcdlen(fortchar); #else char * name = fortchar->address; short len = fortchar->length; #endif char * newp = (char *) malloc(len+1); if(!newp) { perror("malloc"); return((char*)0); } strncpy(newp,name,len); while( len && newp[--len] == ' '); newp[++len]='\0'; return(newp); } emoslib-000392+dfsg.1/pbio/readany.c0000755000175000017500000000313112127406245020177 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* readany.c */ #include "bufrgrib.h" #include "fortint.h" #ifndef NULL #define NULL 0 #endif #include "fileRead.h" fortint readany(FILE * file, char * buffer, fortint * prod_len) /* file = file pointer returned from PBOPEN buffer = buffer big enough to hold the product prod_len = size of the buffer on input, becomes size in BYTES of the product read. If the end-of-file is hit, the value is returned unchanged (ie. when the function return code is -1). Function returns: 0 if a product has been successfully read -1 if end-of-file is hit before a product is read -2 if there is an error in the file-handling (eg. if the file contains a truncated product) -3 if the size of buffer is not sufficient for the product */ { /* Read the product */ fortint length; fortint original_len; original_len = *prod_len; length = readprod(NULL,buffer,&original_len,fileRead,fileSeek,fileTell, file); *prod_len = original_len; if ( buffer == NULL ) return ( length == -1 ? length : -3 ); else return ( length > 0 ? 0 : length ); } emoslib-000392+dfsg.1/pbio/fileRead.h0000755000175000017500000000421512127406245020300 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef FILE_READ_H #define FILE_READ_H /* fileRead.h */ #include #ifdef linux # if !defined __off64_t_defined typedef __off64_t off64_t; #define __off64_t_defined #endif #endif #ifdef FOPEN64 #define OFF_T off64_t #else #define OFF_T off_t #endif static fortint fileRead(char * buffer, fortint length, void * file) { /* // buffer = buffer to fill, // length = size of buffer in bytes, // file = file pointer from fopen(). // // Returns the number of bytes read. // On END_OF_FILE, returns negative value for number of bytes read . */ fortint nbytes; nbytes = (fortint) fread( buffer, 1, length, (FILE *) file); if ( feof((FILE *) file ) ) { clearerr( (FILE *) file ); return (-nbytes); } return nbytes; } #ifdef FOPEN64 static OFF_T fileSeek(void * file, OFF_T offset, fortint from) { return ( (OFF_T) fseeko64((FILE *) file, offset, from) ); } #else static fortint fileSeek(void * file, fortint offset, fortint from) { return ( (fortint) fseek((FILE *) file, offset, from) ); } #endif #ifdef FOPEN64 static OFF_T fileTell(void * file) { return ( (OFF_T) ftello64((FILE *) file) ); } #else static fortint fileTell(void * file) { return ( (fortint) ftell((FILE *) file) ); } #endif #ifdef FOPEN64 fortint readprod( char *, char * , fortint * , fortint (*fileRead)(char *, fortint, void *), OFF_T (*fileSeek)(void *, OFF_T, fortint), OFF_T (*fileTell)(void *), void * ); #else fortint readprod( char *, char * , fortint * , fortint (*fileRead)(char *, fortint, void *), fortint (*fileSeek)(void *, fortint, fortint), fortint (*fileTell)(void *), void * ); #endif #endif /* end of FILE_READ_H */ emoslib-000392+dfsg.1/pbio/pbcrex.F0000755000175000017500000000526212127406245020011 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PBCREX(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) C C----> C**** PBCREX C C PURPOSE C _______ C C Reads next CREX product from a file. C C INTERFACE C _________ C C CALL PBCREX(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) C C C Input parameters C ________________ C C KUNIT - unit number for the file returned from PBOPEN C KARRAY - FORTRAN array big enough to hold the CREX product C KINLEN - size in BYTES of the FORTRAN array C C C Output parameters C ________________ C C KOUTLEN - size in BYTES of the CREX product read C KRET - 0 if a CREX product has been successfully read C -1 if end-of-file is hit before a CREX product is read C -2 if file read error is generated C -3 if the size of KARRAY is not sufficient for the C CREX product C C C Common block usage C __________________ C C None. C C C Method C ______ C C Calls CREXRD. C C C Externals C _________ C C CREXRD - Read next CREX product. C C C AUTHOR C ______ C C J.D.Chambers ECMWF C C C MODIFICATIONS C _____________ C C None. C C****************************************************************************** C----< C IMPLICIT NONE C C Subroutine arguments C INTEGER KARRAY(1) INTEGER KUNIT,KINLEN,KOUTLEN,KRET C C Local arguments C INTEGER NREAD, IRET C C Get the CREX product C CALL CREXRD( KARRAY, KINLEN, NREAD, IRET, KUNIT ) C C Escape if the user buffer is too small to hold even the early sections of C the product or EOF encountered C IF( IRET.EQ.-4 ) THEN KOUTLEN = NREAD KRET = -1 RETURN ENDIF C C Escape if no CREX product is found in the file C IF( IRET.EQ.-1 ) THEN KOUTLEN = 0 KRET = -1 RETURN ENDIF C C Escape if file read error C IF( (IRET.EQ.-2) .OR. (IRET.EQ.-5) ) THEN KOUTLEN = 0 KRET = -2 RETURN ENDIF C C Check if the array is big enough for the CREX product C IF( IRET.EQ.-3 ) THEN KOUTLEN = NREAD KRET = -3 RETURN ENDIF C C Set success code if product retrieved C IF( NREAD.GE.0 ) THEN KOUTLEN = NREAD KRET = 0 ENDIF C RETURN END emoslib-000392+dfsg.1/pbio/pbio.c0000755000175000017500000011115012127406245017506 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* // pbio.c */ #include #include #include #include #include #include #include #ifdef PTHREADS #include #endif #ifdef FOPEN64 #define OFF_T off64_t extern FILE *fopen64(const char *, const char *); #else #define OFF_T off_t #endif static FILE** fptable = NULL; static int fptableSize = 0; #ifdef PTHREADS static pthread_mutex_t fpTableBusy = PTHREAD_MUTEX_INITIALIZER; #endif #define BUFFLEN 4096 /* // Default buffer size for I/O operations (set via setvbuf) */ #define SIZE BUFSIZ static long size = SIZE; static int sizeSet = 0; static char * envSize; static char** fileBuffer = NULL; /* // Debug flags. */ #define DEBUGOFF 1 #define DEBUG (debugSet > DEBUGOFF ) static char * debugLevel; static int debugSet = 0; #include "bufrgrib.h" #include "fort2c.h" #include "fortint.h" #include "fileRead.h" #define NAMEBUFFLEN 256 #define MODEBUFFLEN 10 #define CURRENT_FILE (fptable[*unit]) FILE* pbfp(long index) { if( (fptable == NULL) || ((int)index < 0) || ((int)index >= fptableSize) ) return (FILE *) NULL; else return fptable[index]; } /* //------------------------------------------------------------------------ // PBOPEN - Open file (from FORTRAN) //------------------------------------------------------------------------ */ #if defined hpR64 || defined hpiaR64 void pbopen_(fortint* unit,_fcd name,_fcd mode,fortint* iret,long l1,long l2) { #else void pbopen_(fortint* unit,_fcd name,_fcd mode,fortint* iret,fortint l1,fortint l2) { #endif /* // Purpose: // Opens file, returns the index of a UNIX FILE pointer held in // an internal table (fptable). // // First time through, reads value in environment variable PBIO_BUFSIZE // (if it is set) and uses it as the size to be used for internal file // buffers; the value is passed to setvbuf. If PBIO_BUFSIZE is not set, // a default value is used. // // Function accepts: // name = filename // mode = r, r+, w // // Note: l1 and l2 are the lengths of the FORTRAN character strings // in name and mode. // // Function returns: // INTEGER iret: // -1 = Could not open file. // -2 = Invalid file name. // -3 = Invalid open mode specified // 0 = OK. */ int n; char *p; char flags[4]; #if (!defined CRAY) && (!defined VAX) char namebuff[NAMEBUFFLEN+1], modebuff[MODEBUFFLEN+1]; #else char * namebuff, * modebuff; #endif /* // See if DEBUG switched on. */ if( ! debugSet ) { debugLevel = getenv("PBIO_DEBUG"); if( debugLevel == NULL ) debugSet = DEBUGOFF; /* off */ else { int loop; for( loop = 0; loop < strlen(debugLevel) ; loop++ ) { if( ! isdigit(debugLevel[loop]) ) { printf("Invalid number string in PBIO_DEBUG: %s\n", debugLevel); printf("PBIO_DEBUG must comprise only digits [0-9].\n"); debugSet = DEBUGOFF; } } debugSet = DEBUGOFF + atol( debugLevel ); } if( DEBUG ) printf("PBIO_PBOPEN: debug switched on\n"); } #if (!defined CRAY) && (!defined VAX) /* // Put the character strings into buffers and ensure that there is a // null terminator (for SGI case when FORTRAN CHARACTER variable is full // right to end with characters */ { int n1, n2; n1 = (l1>NAMEBUFFLEN) ? NAMEBUFFLEN : l1; n2 = (l2>MODEBUFFLEN) ? MODEBUFFLEN : l2; strncpy( namebuff, name, n1); strncpy( modebuff, mode, n2); namebuff[n1] = '\0'; modebuff[n2] = '\0'; } #else if(!(namebuff = fcd2char(name))) { *iret = -2; return; } if(!(modebuff = fcd2char(mode))) { free(namebuff); *iret = -2; return; } #endif strcpy(flags,""); /* *unit = (fortint) NULL; sami bug fix */ *unit = 0; *iret = 0; /* // Strip trailing blanks */ p = namebuff + strlen(namebuff) - 1 ; while(*p == ' ') { *p = 0; p--; } if( DEBUG ) printf("PBIO_PBOPEN: filename = %s\n", namebuff); /* // Build open flags from "modes" */ p = modebuff; switch(*p) { case 'a': case 'A': strcat(flags, "a"); break; case 'c': case 'C': case 'w': case 'W': strcat(flags, "w"); break; case 'r': case 'R': if( *(p+1) == '+' ) strcat(flags, "r+"); else strcat(flags, "r"); break; default: *iret = -3; return; } if( DEBUG ) printf("PBIO_PBOPEN: file open mode = %s\n", flags); /* // Look for a free slot in fptable. // (Create the table the first time through). */ #ifdef PTHREADS /* // Wait if another thread opening a file */ pthread_mutex_lock(&fpTableBusy); #endif n = 0; if( fptableSize == 0 ) { int i; fptableSize = 2; fptable = (FILE **) malloc(fptableSize*sizeof(FILE *)); if( fptable == NULL ) { perror("Unable to allocate space for table of FILE pointers"); exit(1); } fileBuffer = (char **) malloc(fptableSize*sizeof(char *)); if( fileBuffer == NULL ) { perror("Unable to allocate space for FILE buffers"); exit(1); } for( i = 0; i < fptableSize; i++ ) { fptable[i] = 0; fileBuffer[i] = NULL; } } else { while( n < fptableSize ) { if(fptable[n]==0) { *unit = n; break; } n++; } } /* // If the table overflows, double its size. */ if( n == fptableSize) { int i; fptableSize = 2*fptableSize; fptable = (FILE **) realloc(fptable, fptableSize*sizeof(FILE *)); if( fptable == NULL ) { perror("Unable to reallocate space for table of FILE pointers"); exit(1); } n = fptableSize/2; fileBuffer = (char **) realloc(fileBuffer, fptableSize*sizeof(char *)); if( fileBuffer == NULL ) { perror("Unable to allocate space for FILE buffers"); exit(1); } n = fptableSize/2; for( i = n; i < fptableSize; i++ ) { fptable[i] = 0; fileBuffer[i] = NULL; } *unit = n; } if( DEBUG ) printf("PBIO_PBOPEN: fptable slot = %d\n", *unit); #ifdef FOPEN64 if( DEBUG ) printf("PBIO_PBOPEN: using fopen64\n"); fptable[n] = fopen64(namebuff, flags ); #else if( DEBUG ) printf("PBIO_PBOPEN: using fopen\n"); fptable[n] = fopen(namebuff, flags ); #endif if(fptable[n] == NULL) { perror(namebuff); *iret = -1; #if (defined CRAY) || (defined VAX) free(namebuff); free(modebuff); #endif #ifdef PTHREADS pthread_mutex_unlock(&fpTableBusy); #endif return; } /* // Now allocate a buffer for the file, if necessary. */ if( ! sizeSet ) { envSize = getenv("PBIO_BUFSIZE"); if( envSize == NULL ) size = SIZE; /* default */ else { int loop; for( loop = 0; loop < strlen(envSize) ; loop++ ) { if( ! isdigit(envSize[loop]) ) { printf("Invalid number string in PBIO_BUFSIZE: %s\n", envSize); printf("PBIO_BUFSIZE must comprise only digits [0-9].\n"); exit(1); } } size = atol( envSize ); } if( size <= 0 ) { printf("Invalid buffer size in PBIO_BUFSIZE: %s\n", envSize); printf("Buffer size defined by PBIO_BUFSIZE must be positive.\n"); exit(1); } sizeSet = 1; } if( DEBUG ) printf("PBIO_PBOPEN: file buffer size = %d\n", size); if( fileBuffer[n] == NULL ) { fileBuffer[n] = (char *) malloc(size); } if( setvbuf(CURRENT_FILE, fileBuffer[*unit], _IOFBF, size) ) { perror("setvbuf failed"); *iret = -1; } #ifdef PTHREADS pthread_mutex_unlock(&fpTableBusy); #endif #if (defined CRAY) || (defined VAX) free(namebuff); free(modebuff); #endif } #if (defined hpR64) || (defined hpiaR64) void pbopen(fortint* unit,_fcd name,_fcd mode,fortint* iret,long l1,long l2) { #else void pbopen(fortint* unit,_fcd name,_fcd mode,fortint* iret,fortint l1,fortint l2) { #endif pbopen_(unit,name,mode,iret,l1,l2); } /* //------------------------------------------------------------------------ // PBSEEK - Seek (from FORTRAN) //------------------------------------------------------------------------ */ void pbseek_(fortint* unit,fortint* offset,fortint* whence,fortint* iret) { /* // // Purpose: // Seeks to a specified location in file. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // offset = byte count // // whence = 0, from start of file // = 1, from current position // = 2, from end of file. // // Returns: // iret: // -2 = error in handling file, // -1 = end-of-file // otherwise, = byte offset from start of file. */ int my_offset = (int) *offset; int my_whence = (int) *whence; /* // Must use negative offset if working from end-of-file */ if( DEBUG ) { printf("PBIO_PBSEEK: fptable slot = %d\n", *unit); printf("PBIO_PBSEEK: Offset = %d\n", my_offset); printf("PBIO_PBSEEK: Type of offset = %d\n", my_whence); } if( my_whence == 2) my_offset = - abs(my_offset); *iret = fileTell(CURRENT_FILE); if( DEBUG ) printf("PBIO_PBSEEK: current position = %d\n", *iret); if( *iret == my_offset && my_whence == 0) *iret = 0; else *iret = fileSeek(CURRENT_FILE, my_offset, my_whence); if( DEBUG ) printf("PBIO_PBSEEK: fileSeek return code = %d\n",*iret); if( *iret != 0 ) { if( ! feof(CURRENT_FILE) ) { *iret = -2; /* error in file-handling */ perror("pbseek"); } else *iret = -1; /* end-of-file */ clearerr(CURRENT_FILE); return; } /* // Return the byte offset from start of file */ *iret = fileTell(CURRENT_FILE); if( DEBUG ) printf("PBIO_PBSEEK: byte offset from start of file = %d\n",*iret); return; } void pbseek(fortint* unit,fortint* offset,fortint* whence,fortint* iret) { pbseek_(unit,offset,whence,iret); } void pbseek64_(fortint* unit,long long* offset,fortint* whence,long long* iret) { /* // // Purpose: // Seeks to a specified location in file. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // offset = byte count // // whence = 0, from start of file // = 1, from current position // = 2, from end of file. // // Returns: // iret: // -2 = error in handling file, // -1 = end-of-file // otherwise, = byte offset from start of file. */ long long my_offset = (long long) *offset; int my_whence = (int) *whence; /* // Must use negative offset if working from end-of-file */ if( DEBUG ) { printf("PBIO_PBSEEK: fptable slot = %d\n", *unit); printf("PBIO_PBSEEK: Offset = %d\n", my_offset); printf("PBIO_PBSEEK: Type of offset = %d\n", my_whence); } if( my_whence == 2) my_offset = - abs(my_offset); *iret = fileTell(CURRENT_FILE); if( DEBUG ) printf("PBIO_PBSEEK: current position = %d\n", *iret); if( *iret == my_offset && my_whence == 0) *iret = 0; else *iret = fileSeek(CURRENT_FILE, my_offset, my_whence); if( DEBUG ) printf("PBIO_PBSEEK: fileSeek return code = %d\n",*iret); if( *iret != 0 ) { if( ! feof(CURRENT_FILE) ) { *iret = -2; /* error in file-handling */ perror("pbseek"); } else *iret = -1; /* end-of-file */ clearerr(CURRENT_FILE); return; } /* // Return the byte offset from start of file */ *iret = fileTell(CURRENT_FILE); if( DEBUG ) printf("PBIO_PBSEEK: byte offset from start of file = %d\n",*iret); return; } void pbseek64(fortint* unit,long long* offset,fortint* whence,long long* iret) { pbseek64_(unit,offset,whence,iret); } /* //------------------------------------------------------------------------ // PBTELL - Tells current file position (from FORTRAN) //------------------------------------------------------------------------ */ void pbtell_(fortint* unit,fortint* iret) { /* // // Purpose: // Tells current byte offset in file. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // Returns: // iret: // -2 = error in handling file, // otherwise, = byte offset from start of file. */ /* // Return the byte offset from start of file */ *iret = fileTell(CURRENT_FILE); if( *iret < 0 ) { if( DEBUG ) { /* error in file-handling */ printf("PBIO_PBTELL: fptable slot = %d. ", *unit); printf("Error status = %d\n", *iret); } perror("pbtell"); *iret = -2; } if( DEBUG ) { printf("PBIO_PBTELL: fptable slot = %d. ", *unit); printf("Byte offset from start of file = %d\n",*iret); } return; } void pbtell(fortint* unit,fortint* iret) { pbtell_(unit,iret); } /* //------------------------------------------------------------------------ // PBTELL64 - Tells current file position (from FORTRAN) //------------------------------------------------------------------------ */ void pbtell64_(fortint* unit,long long* iret) { /* // // Purpose: // Tells current byte offset in file. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // Returns: // iret: // -2 = error in handling file, // otherwise, = byte offset from start of file. */ /* // Return the byte offset from start of file */ *iret = fileTell(CURRENT_FILE); if( *iret < 0 ) { if( DEBUG ) { /* error in file-handling */ printf("PBIO_PBTELL64: fptable slot = %d. ", *unit); printf("Error status = %d\n", *iret); } perror("pbtell64"); *iret = -2; } if( DEBUG ) { printf("PBIO_PBTELL: fptable slot = %d. ", *unit); printf("Byte offset from start of file = %d\n",*iret); } return; } void pbtell64(fortint* unit,long long* iret) { pbtell64_(unit,iret); } /* //------------------------------------------------------------------------ // PBREAD - Read (from FORTRAN) //------------------------------------------------------------------------ */ void pbread_(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { /* // Purpose: // Reads a block of bytes from a file.. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // nbytes = number of bytes to read. // // Returns: // iret: // -2 = error in reading file, // -1 = end-of-file, // otherwise, = number of bytes read. */ if( DEBUG ) { printf("PBIO_READ: fptable slot = %d. ", *unit); printf("Number of bytes to read = %d\n", *nbytes); } if( (*iret = fread(buffer, 1, *nbytes, CURRENT_FILE) ) != *nbytes) { if( ! feof(CURRENT_FILE) ) { *iret = -2; /* error in file-handling */ perror("pbread"); clearerr(CURRENT_FILE); return; } else { *iret = -1; /* end-of-file */ clearerr(CURRENT_FILE); } } if( DEBUG ) { printf("PBIO_READ: fptable slot = %d. ", *unit); printf("Number of bytes read = %d\n", *nbytes); } return; } void pbread(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { pbread_(unit,buffer,nbytes,iret); } /* //------------------------------------------------------------------------ // PBREAD2 - Read (from FORTRAN) //------------------------------------------------------------------------ */ void pbread2_(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { /* // Purpose: // Reads a block of bytes from a file.. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // nbytes = number of bytes to read. // // Returns: // iret: // -2 = error in reading file, // -1 = end-of-file, // otherwise, = number of bytes read. */ if( DEBUG ) { printf("PBIO_READ2: fptable slot = %d. ", *unit); printf("Number of bytes to read = %d\n", *nbytes); } if( (*iret = fread(buffer, 1, *nbytes, CURRENT_FILE) ) != *nbytes) { if( ! feof(CURRENT_FILE) ) { *iret = -2; /* error in file-handling */ perror("pbread2"); clearerr(CURRENT_FILE); } } if( DEBUG ) printf("PBIO_READ2: Number of bytes read = %d\n", *iret); return; } void pbread2(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { pbread2_(unit,buffer,nbytes,iret); } /* //------------------------------------------------------------------------ // PBWRITE - Write (from FORTRAN) //------------------------------------------------------------------------ */ void pbwrite_(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { /* // Purpose: // Writes a block of bytes to a file. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // nbytes = number of bytes to write. // // Returns: // iret: // -1 = Could not write to file. // >=0 = Number of bytes written. */ if( DEBUG ) { printf("PBIO_WRITE: fptable slot = %d. ", *unit); printf("Number of bytes to write = %d\n", *nbytes); } if( (*iret = fwrite(buffer, 1, *nbytes, CURRENT_FILE) ) != *nbytes) { perror("pbwrite"); *iret = -1; } if( DEBUG ) { printf("PBIO_WRITE: fptable slot = %d. ", *unit); printf("PBIO_WRITE: number of bytes written = %d\n", *iret); } return; } void pbwrite(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { pbwrite_(unit,buffer,nbytes,iret); } /* //------------------------------------------------------------------------ // PBCLOSE - close (from FORTRAN) //------------------------------------------------------------------------ */ void pbclose_(fortint* unit,fortint* iret) { /* // Purpose: // Closes file. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). //// Returns: // iret: // 0 = OK. // otherwise = error in handling file. */ if( DEBUG ) printf("PBIO_CLOSE: fptable slot = %d\n", *unit); if( ( *iret = fclose(CURRENT_FILE) ) != 0 ) perror("pbclose"); CURRENT_FILE = 0; return; } void pbclose(fortint* unit,fortint* iret) { pbclose_(unit,iret); } /* //------------------------------------------------------------------------ // PBFLUSH - flush (from FORTRAN) //------------------------------------------------------------------------ */ void pbflush_(fortint * unit) { /* // Purpose: Flushes file. */ if( DEBUG ) printf("PBIO_FLUSH: fptable slot = %d\n", *unit); fflush(CURRENT_FILE); } void pbflush(fortint * unit) { pbflush_(unit); } /* //------------------------------------------------------------------------ // PBREAD3 - read (from FORTRAN) //------------------------------------------------------------------------ */ void pbread3_(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { /* // Purpose: // Reads a block of bytes from a file.. // // Function returns: // status : -2 = error in reading file, // -1 = end-of-file, // otherwise, = number of bytes read. */ if( DEBUG ) printf("PBIO_READ3: number of bytes to read = %d\n", *nbytes); *iret = read(*unit, buffer, *nbytes); if( DEBUG ) printf("PBIO_READ3: number of bytes read = %d\n", *iret); /* // Error in file-handling */ if(*iret == -1) { *iret = -2; perror("pbread3"); return; } /* // Read problem */ else if(*iret != *nbytes) { printf("EOF; pbread3; bytes requested %d; read in: %d\n", *nbytes,*iret); *iret = -1; return; } } void pbread3(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { pbread3_(unit,buffer,nbytes,iret); } void pbread4_(fortint* unit,char* buffer,size_t* nbytes,size_t* iret) { /* // Purpose: // Reads a block of bytes from a file.. // // Function returns: // status : -2 = error in reading file, // -1 = end-of-file, // otherwise, = number of bytes read. printf("PBIO_READ4: sizeof = %ld\n", sizeof(buffer)); */ /* if( DEBUG ) */ printf("PBIO_READ4: number of bytes to read = %ld\n", *nbytes); /* Is 4MB ok ? */ size_t left = *nbytes; size_t len = 0; size_t chunk = 4*1024*1024; /* Is 4MB ok ? */ size_t pos = 0; while((left > 0) && (len = read(*unit,(buffer+pos),chunk)) > 0) { left -= len; pos += len; if(left < chunk) chunk = left; } if(len>0) *iret = pos; else *iret = len; if( DEBUG ) printf("PBIO_READ4: number of bytes READ = %ld\n", pos); if(*iret == -1) { *iret = -2; perror("pbread4"); return; } /* // Read problem */ else if(pos != *nbytes) { printf("EOF; pbread4; bytes requested %ld; read in: %ld\n", *nbytes,pos); *iret = -1; return; } printf("PBIO_READ4: number of bytes read = %ld\n", pos); printf("PBIO_READ4: return code *iret = %ld\n", *iret); } void pbread4(fortint* unit,char* buffer,size_t* nbytes,size_t* iret) { pbread4_(unit,buffer,nbytes,iret); } void pbread5_(fortint* unit,char* buffer,size_t* nbytes,size_t* iret) { /* // Purpose: // Reads a block of bytes from a file.. // // Function returns: // status : -2 = error in reading file, // -1 = end-of-file, // otherwise, = number of bytes read. */ if( DEBUG ) printf("PBIO_READ5: number of bytes to read = %d\n", *nbytes); *iret = read(*unit, buffer, *nbytes); if( DEBUG ) printf("PBIO_READ5: number of bytes read = %d\n", *iret); /* // Error in file-handling */ if(*iret == -1) { *iret = -2; perror("pbread5"); return; } /* // Read problem */ else if(*iret != *nbytes) { printf("EOF; pbread5; bytes requested %d; read in: %d\n", *nbytes,*iret); *iret = -1; return; } } void pbread5(fortint* unit,char* buffer,size_t* nbytes,size_t* iret) { pbread5_(unit,buffer,nbytes,iret); } /* //------------------------------------------------------------------------ // oct_bin3 //------------------------------------------------------------------------ */ static int oct_bin3(int onum) { /* // Converts an integer to octal digits */ char tmp[20]; int rc; sprintf(tmp,"%d",onum); sscanf(tmp,"%o",&rc); return rc; } /* //------------------------------------------------------------------------ // PBOPEN3 - Open file (from FORTRAN) //------------------------------------------------------------------------ */ void pbopen3_(fortint* unit,_fcd name,_fcd mode,fortint* iret,fortint l1,fortint l2) { /* // Purpose: // Opens file, return UNIX FILE pointer. // // Function returns: // iret: -1 = Could not open file. // -2 = Invalid file name. // -3 = Invalid open mode specified // 0 = OK. // // Note: l1 and l2 are the lengths of the character strings in // name and mode on SGI. */ char *p; int oflag; int dmas; int filemode; char flags[4]; #if (!defined CRAY) && (!defined VAX) char namebuff[NAMEBUFFLEN], modebuff[MODEBUFFLEN]; #else char * namebuff, * modebuff; #endif /* // See if DEBUG switched on. */ if( ! debugSet ) { debugLevel = getenv("PBIO_DEBUG"); if( debugLevel == NULL ) debugSet = DEBUGOFF; /* off */ else { int loop; for( loop = 0; loop < strlen(debugLevel) ; loop++ ) { if( ! isdigit(debugLevel[loop]) ) { printf("Invalid number string in PBIO_DEBUG: %s\n", debugLevel); printf("PBIO_DEBUG must comprise only digits [0-9].\n"); debugSet = DEBUGOFF; } } debugSet = DEBUGOFF + atol( debugLevel ); } if( DEBUG ) printf("PBIO_PBOPEN3: debug switched on\n"); } #if (!defined CRAY) && (!defined VAX) /* // Put the character strings into buffers and ensure that there is a // null terminator (for SGI case when FORTRAN CHARACTER variable is full // right to end with characters */ { int n1, n2; n1 = (l1>NAMEBUFFLEN) ? NAMEBUFFLEN : l1; n2 = (l2>MODEBUFFLEN) ? MODEBUFFLEN : l2; strncpy( namebuff, name, n1); strncpy( modebuff, mode, n2); namebuff[n1] = '\0'; modebuff[n2] = '\0'; } #else if(!(namebuff = fcd2char(name))) { *iret = -2; return; } if(!(modebuff = fcd2char(mode))) { free(namebuff); *iret = -2; return; } #endif strcpy(flags,""); *unit = 0; *iret = 0; /* // Strip trailing blanks */ p = namebuff + strlen(namebuff) - 1 ; while(*p == ' ') { *p = 0; p--; } if( DEBUG ) printf("PBIO_PBOPEN: filename = %s\n", namebuff); /* // Build open flags from "modes" */ p = modebuff; switch(*p) { case 'a': case 'A': oflag = 0x100 | 2 | 0x08; filemode = 766; break; case 'c': case 'C': case 'w': case 'W': oflag = 0x100 | 1; filemode = 766; break; case 'r': case 'R': oflag = 0; filemode = 444; break; default: *iret = -3; return; } if( DEBUG ) printf("PBIO_PBOPEN: file open mode = %s\n", modebuff); dmas = umask(000); *unit = open(namebuff, oflag, oct_bin3(filemode)); umask(dmas); if(*unit == -1) { perror(namebuff); perror("pbopen3"); *iret = -2; } if( DEBUG ) printf("PBIO_PBOPEN3: file pointer = %0x\n", *unit); #if (defined CRAY) || (defined VAX) free(namebuff); free(modebuff); #endif } void pbopen3(fortint* unit,_fcd name,_fcd mode,fortint* iret,fortint l1,fortint l2) { pbopen3_(unit,name,mode,iret,l1,l2); } /* //------------------------------------------------------------------------ // PBCLOSE3 - Close file (from FORTRAN) //------------------------------------------------------------------------ */ void pbclose3_(fortint* unit,fortint* iret) { /* // // Purpose: Closes file. // // Function returns: // status : non-0 = error in handling file. // 0 = OK. */ if( DEBUG ) printf("PBIO_PBCLOSE3: file pointer = %0x\n", *unit); *iret = close(*unit); if(*iret != 0) perror("pbclose3"); } void pbclose3(fortint* unit,fortint* iret) { pbclose3_(unit,iret); } /* //------------------------------------------------------------------------ // PBSEEK3 - Seek (from FORTRAN) //------------------------------------------------------------------------ */ void pbseek3_(fortint* unit,fortint* offset,fortint* whence,fortint* iret) { /* // // Purpose: Seeks to specified location in file. // // Function returns: // status: -2 = error in handling file, // -1 = end-of-file // otherwise, = byte offset from start of file. // // whence = 0, from start of file // = 1, from current position // = 2, from end of file. */ fortint my_offset = *offset; int my_whence; if( DEBUG ) { printf("PBIO_PBSEEK3: file pointer = %0x\n", *unit); printf("PBIO_PBSEEK3: offset = %d\n", my_offset); printf("PBIO_PBSEEK3: type of offset = %d\n", *whence); } /* // Must use negative offset if working from end-of-file */ if( *whence == 2) { my_offset = - abs(my_offset); my_whence = 2; } else if(*whence == 0) { my_whence = 0; } else { my_whence = 1; } if((*iret=lseek(*unit, my_offset, my_whence)) < 0) { perror("pbseek3;"); *iret = -1; /* end-of-file */ } if( DEBUG ) printf("PBIO_PBSEEK3: byte offset from start of file = %d\n",*iret); } void pbseek3(fortint* unit,fortint* offset,fortint* whence,fortint* iret) { pbseek3_(unit,offset,whence,iret); } /* //------------------------------------------------------------------------ // PBWRITE3 - Write (from FORTRAN) //------------------------------------------------------------------------ */ void pbwrite3_(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { /* // Purpose: Writes a block of bytes to a file. // // Function returns: // status: -1 = Could not write to file. // >=0 = Number of bytes written. */ if( DEBUG ) { printf("PBIO_PBWRITE3: file pointer = %0x\n", *unit); printf("PBIO_WRITE#: number of bytes to write = %d\n", *nbytes); } *iret = write(*unit, buffer, *nbytes); if( DEBUG ) printf("PBIO_WRITE3: number of bytes written = %d\n", *iret); if( *iret != *nbytes ) { perror("pbwrite3: "); *iret = -1; } } void pbwrite3(fortint* unit,char* buffer,fortint* nbytes,fortint* iret) { pbwrite3_(unit,buffer,nbytes,iret); } /* //------------------------------------------------------------------------ // GRIBREAD //------------------------------------------------------------------------ */ void gribread_( char* buffer,fortint* buffsize,fortint* readsize,fortint* status,fortint* unit){ /* // Called as a FORTRAN subroutine: // // CALL GRIBREAD( KARRAY, KINLEN, KOUTLEN, IRET, KUNIT ) // */ fortint holdsize = *buffsize; /* // Read GRIB product */ *status = readprod("GRIB",buffer,&holdsize,fileRead,fileSeek,fileTell, CURRENT_FILE); *readsize = abs(holdsize ); if( DEBUG ) { printf("PBIO_GRIBREAD: fptable slot = %d. ", *unit); printf("Number of bytes read = %d\n", *readsize); } return; } void gribread( char* buffer,fortint* buffsize,fortint* readsize,fortint* status,fortint* unit){ gribread_(buffer,buffsize,readsize,status,unit); } /* //------------------------------------------------------------------------ // BUFRREAD //------------------------------------------------------------------------ */ void bufrread_( char* buffer,fortint* buffsize,fortint* readsize,fortint* status,fortint* unit){ /* // Called as a FORTRAN subroutine: // // CALL BUFRREAD( KARRAY, KINLEN, KOUTLEN, IRET, KUNIT ) // */ fortint holdsize = *buffsize; /* // Read BUFR product */ *status = readprod("BUFR",buffer,&holdsize,fileRead,fileSeek,fileTell, CURRENT_FILE); *readsize = abs(holdsize ); if( DEBUG ) { printf("PBIO_BUFRREAD: fptable slot = %d. ", *unit); printf("Number of bytes read = %d\n", *readsize); } return; } void bufrread( char* buffer,fortint* buffsize,fortint* readsize,fortint* status,fortint* unit){ bufrread_(buffer,buffsize,readsize,status,unit); } /* //------------------------------------------------------------------------ // PSEUREAD //------------------------------------------------------------------------ */ void pseuread_( char* buffer,fortint* buffsize,fortint* readsize,fortint* status,fortint* unit){ /* // Called as a FORTRAN subroutine: // // CALL PSEUREAD( KARRAY, KINLEN, KOUTLEN, IRET, KUNIT ) // */ fortint holdsize = *buffsize; /* // Read GRIB product */ *status = readprod(NULL,buffer,&holdsize,fileRead,fileSeek,fileTell, CURRENT_FILE); *readsize = abs(holdsize ); if( DEBUG ) { printf("PBIO_PSEUREAD: fptable slot = %d. ", *unit); printf("Number of bytes read = %d\n", *readsize); } return; } void pseuread( char* buffer,fortint* buffsize,fortint* readsize,fortint* status,fortint* unit){ pseuread_(buffer,buffsize,readsize,status,unit); } /* //------------------------------------------------------------------------ // PBSIZE //------------------------------------------------------------------------ */ void pbsize_(fortint* unit,fortint* plen) { /* // Returns the size in bytes of the next GRIB, BUFR, TIDE, BUDG, DIAG // product. // // Called from FORTRAN: // CALL PBSIZE( KUNIT, LENGTH) // // unit = file id returned from PBOPEN. // plen = size in bytes of the next product. // = -2 if error allocating memory for internal buffer. // // The input file is left positioned where it started. */ fortint iret; char statbuff[BUFFLEN]; char * buff; long offset, loop = 1; /* // Use a smallish buffer for processing; this should suffice for all cases // except versions -1 and 0 of GRIB and large BUFR products */ offset = (fortint) fileTell( CURRENT_FILE); if( DEBUG ) { printf("PBIO_SIZE: fptable slot = %d. ", *unit); printf("Current file position = %d\n", offset); } *plen = BUFFLEN; if( DEBUG ) printf("PBIO_SIZE: current buffer size = %d\n", *plen); iret = readprod(NULL,statbuff,plen,fileRead,fileSeek,fileTell,CURRENT_FILE); if( iret == -2 ) { printf("readprod error %d\n", iret); *plen = -2; return; } /* // If the smallish buffer is too small, progressively increase it until // big enough */ while ( iret == -4 ) { loop++; buff = (char *) malloc( BUFFLEN*loop); if( buff == NULL) { perror("malloc failed in PBSIZE"); *plen = -2; return; } *plen = BUFFLEN*loop; if( DEBUG ) printf("PBIO_SIZE: buffer size increased to: %d\n", *plen); offset = (fortint) fileSeek( CURRENT_FILE, offset, SEEK_SET); offset = (fortint) fileTell( CURRENT_FILE); iret = readprod(NULL,buff,plen,fileRead,fileSeek,fileTell,CURRENT_FILE); free(buff); } if( iret == -2 ) { printf("readprod error %d\n", iret); *plen = -2; } /* // Put the file pointer back where it started */ if( DEBUG ) { printf("PBIO_SIZE: file pointer set back to: %d\n", offset); printf("PBIO_SIZE: Product size = %d\n", *plen); } offset = (fortint) fileSeek( CURRENT_FILE, offset, SEEK_SET); return ; } void pbsize(fortint* unit,fortint* plen) { pbsize_(unit,plen); } /* //------------------------------------------------------------------------ // CREXRD //------------------------------------------------------------------------ */ #define END_OF_FILE -1 #define FILE_READ_ERROR -2 #define USER_BUFFER_TOO_SMALL -3 #define FILE_TOO_SMALL -5 #define MINIMUM_CREX_SIZE 13 #define CREX 0x43524558 typedef char * String; void crexrd_(String buffer,int* bufflen,int* size,int* status,fortint * unit) { /* // Called from FORTRAN: // CALL CREXRD( KARRAY, KINLEN, NREAD, IRET, KUNIT ) */ int loop; OFF_T foundPosition; int number, crexFound = 0, endFound = 0; String endBuffer; String next; char plplcrcrlf7777[10] = {0,0,0,0,0,0,0,0,0,0}; char PlPlCrCrLf7777[10] = {0x2b,0x2b,0x0d,0x0d,0x0a,0x37,0x37,0x37,0x37,0x00}; /* // Check buffer big enough for CREX search */ if( *bufflen < MINIMUM_CREX_SIZE ) { *status = USER_BUFFER_TOO_SMALL; return; } /* // Look for CREX */ for( loop = 0; loop <= 4; loop++) buffer[loop] = '\0'; while( !crexFound ) { buffer[0] = buffer[1]; buffer[1] = buffer[2]; buffer[2] = buffer[3]; number = fread((buffer+3), 1, 1, CURRENT_FILE); if( feof(CURRENT_FILE) ) { *status = END_OF_FILE; return; } if( (number != 1) || ferror(CURRENT_FILE) ) { perror("crexrd file read error"); *status = FILE_READ_ERROR; return; } if( strcmp(buffer,"CREX") == 0 ) { crexFound = 1; #ifdef FOPEN64 foundPosition = ftello64(CURRENT_FILE) - 4; #else foundPosition = ftell(CURRENT_FILE) - 4; #endif } } /* // Read some more characters into the buffer */ number = fread((buffer+4), 1, ((*bufflen)-4), CURRENT_FILE); if( ferror(CURRENT_FILE) ) { perror("crexrd file read error"); *status = FILE_READ_ERROR; return; } endBuffer = buffer + number + 3; /* // Look for ++CrCrLf7777 at end of product */ next = buffer+4; endFound = 0; for( loop = 0; loop < 8; loop++ ) plplcrcrlf7777[loop] = *(next++); plplcrcrlf7777[9] = '\0'; while( (!endFound) && (next<=endBuffer) ) { plplcrcrlf7777[8] = *(next++); if( strcmp(plplcrcrlf7777,PlPlCrCrLf7777) == 0 ) { endFound = 1; *size = (int) (next - buffer); } for( loop = 0; loop < 8; loop++ ) plplcrcrlf7777[loop] = plplcrcrlf7777[loop+1]; } if( !endFound ) { if( feof(CURRENT_FILE) ) *status = END_OF_FILE; else *status = USER_BUFFER_TOO_SMALL; return; } /* // Position file at end of CREX product */ #ifdef FOPEN64 *status = fseeko64(CURRENT_FILE, (foundPosition+(*size)), 0); #else *status = fseek(CURRENT_FILE, (foundPosition+(*size)), 0); #endif } void crexrd(String buffer,int* bufflen,int* size,int* status,fortint * unit) { crexrd_(buffer,bufflen,size,status,unit); } emoslib-000392+dfsg.1/pbio/readgrib.c0000755000175000017500000000320712127406245020337 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* readgrib.c */ #include "bufrgrib.h" #include "fortint.h" #include "fileRead.h" #include "sizeRoutines.h" fortint readgrib(FILE * file, char * buffer, fortint * grib_prod_len) /* file = file pointer returned from PBOPEN buffer = buffer big enough to hold the GRIB product grib_prod_len = size of the buffer on input, becomes size in BYTES of the GRIB product read. If the end-of-file is hit, the value is returned unchanged (ie. when the function return code is -1). Function returns: 0 if a GRIB product has been successfully read -1 if end-of-file is hit before a GRIB product is read -2 if there is an error in the file-handling (eg. if the file contains a truncated GRIB product) -3 if the size of buffer is not sufficient for the GRIB product */ { /* Read the GRIB product */ fortint length; fortint original_len; original_len = *grib_prod_len; length = readprod("GRIB",buffer,&original_len,fileRead,fileSeek, fileTell,file); *grib_prod_len = original_len; if ( buffer == NULL ) return ( length == -1 ? length : -3 ); else return ( length > 0 ? 0 : length ); } emoslib-000392+dfsg.1/pbio/0-INDEX-00000755000175000017500000000420712127406245017501 0ustar amckinstryamckinstry0-INDEX-0 mac This index file Makefile mac libemos.a makefile for this directory PBGroutines.c mac Handle pure binary GRIB files in indexed fashion. PBGroutines.h mac header for PBGroutines.h. README mac Description of the files in this directory blokex.F mac BLOK extraction routines bufrgrib.h mac Header for PBBUFR/GRIB routines config.pbio mac Configuration file for make crexrd.c mac (dead)C routine for reading CREX products extras.c mac Get environ value; remove blanks from end fileRead.h mqc Default definitions for fileRead, fileSeek and fileTell fort2c.c mac FORTRAN to C character conversion fort2c.h mac FORTRAN to C character conversion header fortint.h mac Allow for Fortran INTEGERs to be C int/long gbyte.c mac Machine independent gbyte(s),sbyte(s) gbyte_alpha.c mac gbyte for ALPHA lwsize.c mac Returns byte size of next GRIB, BUFR, TIDE, BUDG, DIAG make.dep mac Make dependencies mvchars.c mac Fortran callable to move a string to integer array. newpbio.c mac (dead)PBOPEN/READ/WRITE/SEEK/CLOSE file-handling pbio.c mac PBOPEN/READ/WRITE/SEEK/CLOSE file-handling routines pbio_alpha.c mac (dead)(new)pbio for ALPHA pbbufr.F mac Reads next BUFR product from a file pbcrex.F mac Reads next CREX product from a file pbfp.c mac Returns C file pointer for a file opened by PBOPEN pbionum.F mac Returns PBIO_CYCLE pbgrib.F mac Reads next GRIB product from a file pbpseu.F mac Reads next GRIB/BUFR/DIAG/TIDE/BUDG product from a file pbsize.c mac (dead)Returns size in bytes of following product. readany.c mac Reads any product (GRIB,BUFR,BUDG,..) from a file readbufr.c mac Reads next BUFR product from a file readcrex.c mac Reads next CREX product from a file readgrib.c mac Reads next GRIB product from a file readnext.c mac Reads next BUFR/GRIB product from a 'stream' readprod.c mac Reads next BUFR/GRIB product from a file readprod_alpha.c mac Reads next BUFR/GRIB product from a file (ALPHA) recheckLength.c mac Calculates the length of GRIB from lengths of sections setpar.c mac Sets no. of bits per word, largest negative no. sizeRoutines.h mac Function protypes for size functions (prodsize, etc) sources.XXX mac Sources for platform XXX. emoslib-000392+dfsg.1/pbio/PBGroutines.h0000755000175000017500000001376612127406245021001 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef PBG_ROUTINES_H #define PBG_ROUTINES_H #include #include #ifdef FOPEN64 extern FILE *fopen64(const char *,const char *); #define OFF_T off64_t extern OFF_T ftello64(FILE *); #else #define OFF_T off_t #endif #define _fcd char * #define fortint int #define integer int #define bool int #define MAX_NUMBER_OF_GRIBS 100 typedef struct gribfile { FILE * fp; _fcd fname; char readwriteflag; integer max; integer count; OFF_T * offset; integer * length; integer * parameter; integer * level; integer * date; integer * time; integer * timestep; integer * localDefinitionNumber; integer * type; integer * stream; integer * repres; integer * levtype; integer * number; integer * vdate; integer * vtime; integer * tcNumber; integer * tcTotal; integer * clusterMethod; integer * tcStep; integer * clusterStepEnd; integer * tcNorth; integer * tcWest; integer * tcSouth; integer * tcEast; integer * clusterOpFcNumber; integer * clusterControlFcNumber; integer * tcNumOfFcs; integer * probScale; integer * probIndicator; integer * probLower; integer * probUpper; integer * ni; integer * nj; integer * nlat; integer * nlon; integer * slat; integer * slon; integer * di; integer * dj; integer * splat; integer * splon; integer * quasi; integer * directionNumber; integer * frequencyNumber; integer * optimisationTime; integer * leadTime; integer * sensitiveAreaDomain; integer * sensitiveAreaMethod; integer * verifyingMonth; integer * averagingPeriod; integer * forecastMonth; integer * referenceDate; integer * climateDateFrom; integer * climateDateTo; integer * thresholdUnitsScale; integer * thresholdIndicator; integer * lowerThreshold; integer * upperThreshold; struct gribfile *next; }gribfile; typedef struct collection { integer (* exists)(_fcd , fortint); integer (* addRead)(_fcd , fortint); integer (* addWrite)(_fcd , fortint); void (* removeFile)(_fcd , fortint); integer count; integer max; struct gribfile * files; }collection; /* // Prototypes */ #ifdef __cplusplus extern "C" { #endif fortint pbgtotl(_fcd filename, fortint filename_len); fortint pbgtotl_(_fcd filename, fortint filename_len); fortint pbgleng(_fcd filename, fortint * n, fortint filename_len); fortint pbgleng_(_fcd filename, fortint * n, fortint filename_len); fortint pbgoffs(_fcd filename, fortint * n, fortint filename_len); fortint pbgoffs_(_fcd filename, fortint * n, fortint filename_len); fortint pbgparm(_fcd filename, fortint * n, fortint filename_len); fortint pbgparm_(_fcd filename, fortint * n, fortint filename_len); fortint pbglevl(_fcd filename, fortint * n, fortint filename_len); fortint pbglevl_(_fcd filename, fortint * n, fortint filename_len); fortint pbgdate(_fcd filename, fortint * n, fortint filename_len); fortint pbgdate_(_fcd filename, fortint * n, fortint filename_len); fortint pbgtime(_fcd filename, fortint * n, fortint filename_len); fortint pbgtime_(_fcd filename, fortint * n, fortint filename_len); fortint pbgstep(_fcd filename, fortint * n, fortint filename_len); fortint pbgstep_(_fcd filename, fortint * n, fortint filename_len); fortint pbgtype(_fcd filename, fortint * n, fortint filename_len); fortint pbgtype_(_fcd filename, fortint * n, fortint filename_len); fortint pbgstrm(_fcd filename, fortint * n, fortint filename_len); fortint pbgstrm_(_fcd filename, fortint * n, fortint filename_len); fortint pbgrepr(_fcd filename, fortint * n, fortint filename_len); fortint pbgrepr_(_fcd filename, fortint * n, fortint filename_len); fortint pbglevt(_fcd filename, fortint * n, fortint filename_len); fortint pbglevt_(_fcd filename, fortint * n, fortint filename_len); fortint pbgfind(_fcd filename, fortint * param, fortint * level, fortint * date, fortint * time, fortint * step, fortint * n, fortint filename_len); fortint pbgfind_(_fcd filename, fortint * param, fortint * level, fortint * date, fortint * time, fortint * step, fortint * n, fortint filename_len); fortint pbgafind(_fcd filename, fortint * list, fortint * n, fortint filename_len); fortint pbgafind_(_fcd filename, fortint * list, fortint * n, fortint filename_len); fortint pbgbfind(_fcd filename, fortint * list, fortint * n, fortint filename_len); fortint pbgbfind_(_fcd filename, fortint * list, fortint * n, fortint filename_len); fortint pbgvfind(_fcd filename, fortint * param, fortint * level, fortint * vdate, fortint * vtime, fortint * status, fortint * n, fortint filename_len); fortint pbgvfind_(_fcd filename, fortint * param, fortint * level, fortint * vdate, fortint * vtime, fortint * status, fortint * n, fortint filename_len); fortint pbgxfind_(fortint * grib1, _fcd filename, fortint filename_len); fortint pbgxfind(fortint * grib1, _fcd filename, fortint filename_len); fortint pbgget(_fcd filename, fortint * buffer, fortint * bufflen, fortint * n, fortint filename_len); fortint pbgget_(_fcd filename, fortint * buffer, fortint * bufflen, fortint * n, fortint filename_len); fortint pbgput(_fcd filename, fortint * buffer, fortint * bufflen, fortint filename_len); fortint pbgput_(_fcd filename, fortint * buffer, fortint * bufflen, fortint filename_len); void pbgclos(_fcd filename, fortint filename_len); void pbgclos_(_fcd filename, fortint filename_len); #ifdef __cplusplus } #endif #endif /* end of PBG_ROUTINES_H */ emoslib-000392+dfsg.1/pbio/readnext.c0000755000175000017500000000373512127406245020400 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* readnext.c */ #include "bufrgrib.h" #include "fortint.h" #ifndef NULL #define NULL 0 #endif #include "fileRead.h" fortint readnext(char * buffer, fortint * grib_prod_len, fortint (*read_func)(char *, fortint , void *), void * stream) /* buffer = buffer big enough to hold the next product. If buffer = NULL, the function will return the length of the product, but not the product itself. grib_prod_len = size of the buffer on input, becomes size in BYTES of the next product read. If the end-of-file is hit, the value is returned unchanged (ie. when the function return code is -1). read_func = function to read input stream stream = data for read_function, eg. file pointer returned from PBOPEN Function returns: 0 if a product has been successfully read -1 if end-of-file is hit before a product is read -2 if there is an error in the file-handling (eg. if the file contains a truncated product) -3 if the size of buffer is not sufficient for the product -4 if buffer too small to start in on product */ { /* Read the product */ fortint length; fortint original_len; original_len = *grib_prod_len; length = readprod(NULL,buffer,&original_len,fileRead,fileSeek,fileTell, stream); *grib_prod_len = original_len; if ( buffer == NULL ) return ( length == -1 ? length : -3 ); else return ( length > 0 ? 0 : length ); } emoslib-000392+dfsg.1/pbio/pbio_alpha.c0000755000175000017500000004200412127406245020654 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include static FILE** fptable = NULL; static int fptableSize = 0; #define BUFFLEN 4096 #include "fortint.h" #include "fileRead.h" /* // pbio_alpha.c */ #include "fort2c.h" #include "bufrgrib.h" #define NAMEBUFFLEN 256 #define MODEBUFFLEN 10 /************************************************************************* // FUNCTION: pbopen - Open file (from FORTRAN) ************************************************************************** */ void PBOPEN(fortint* unit, _fcd name, _fcd mode, fortint* iret, int l1, int l2){ /* // Purpose: // Opens file, returns the index of a UNIX FILE pointer held in // an internal table (fptable). // // Function accepts: // name = filename // mode = r, w // // Note: l1 and l2 are the lengths of the FORTRAN character strings // in name and mode. // // Function returns: // INTEGER iret: // -1 = Could not open file. // -2 = Invalid file name. // -3 = Invalid open mode specified // 0 = OK. */ char *fname; char *modes; char *p; char flags[4]; char namebuff[NAMEBUFFLEN], modebuff[MODEBUFFLEN]; int n; /* // Put the character strings into buffers and ensure that there is a // null terminator (for case when FORTRAN CHARACTER variable is full // right to end with characters. */ strncpy( namebuff, name, NAMEBUFFLEN - 1); strncpy( modebuff, mode, MODEBUFFLEN - 1); namebuff[l1] = '\0'; modebuff[l2] = '\0'; strcpy(flags,""); *unit = NULL; *iret = 0; /* // Convert Fortran to C string: file name. */ if(!(fname = fcd2char(name))) { *iret = -2; return; } /* // Strip trailing blanks. */ p = fname; while(*p) { if(*p == ' ') *p = 0; p++; } /* // Convert Fortran to C string: open modes. */ if(!(modes = fcd2char(mode))) { free(fname); *iret = -2; return; } /* // Build open flags from "modes". */ p = modes; switch(*p) { case 'a': case 'A': strcat(flags, "a"); break; case 'c': case 'C': case 'w': case 'W': strcat(flags, "w"); break; case 'r': case 'R': strcat(flags, "r"); break; default: *iret = -3; return; } /* // If read/write, change flags. */ if( !strcmp(flags,"wr") || !strcmp(flags, "rw") ) strcpy(flags, "r+w" ); /* // Look for a free slot in fptable. // (Create the table the first time through). */ n = 0; if( fptableSize == 0 ) { int i; fptableSize = 2; fptable = (FILE **) malloc(fptableSize*sizeof(FILE *)); if( fptable == NULL ) { perror("Unable to allocate space for table of FILE pointers"); exit(1); } for( i = 0; i < fptableSize; i++ ) fptable[i] = 0; } else { while( n < fptableSize ) { if (fptable[n]==0) { *unit = n; break; } n++; } } /* // If the table overflows, double its size. */ if( n == fptableSize) { int i; fptableSize = 2*fptableSize; fptable = (FILE **) realloc(fptable, fptableSize*sizeof(FILE *)); if( fptable == NULL ) { perror("Unable to reallocate space for table of FILE pointers"); exit(1); } n = fptableSize/2; for( i = n; i < fptableSize; i++ ) fptable[i] = 0; *unit = n; } fptable[n] = fopen(fname, flags ); if(fptable[n] == NULL) { perror(fname); *iret = -1; } free(fname); free(modes); return; } /************************************************************************* // FUNCTION: pbseek_ - Seek (from FORTRAN) ************************************************************************** */ void PBSEEK(fortint* unit, fortint* offset, fortint* whence, fortint* iret) { /* // // Purpose: // Seeks to a specified location in file. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // offset = byte count // // whence = 0, from start of file // = 1, from current position // = 2, from end of file. // // Returns: // iret: // -2 = error in handling file, // -1 = end-of-file // otherwise, = byte offset from start of file. */ fortint my_offset; fortint my_whence; my_offset = *offset; my_whence = *whence; /* // Must use negative offset if working from end-of-file */ if( my_whence == 2) my_offset = - abs(my_offset); *iret = fileTell(fptable[*unit]); if( *iret == my_offset && my_whence == 0) *iret = 0; else *iret = fileSeek(fptable[*unit], my_offset, my_whence); if( *iret != 0 ) { if ( ! feof(fptable[*unit]) ) { *iret = -2; /* error in file-handling */ perror("pbseek"); } else *iret = -1; /* end-of-file */ clearerr(fptable[*unit]); return; } /* // Return the byte offset from start of file */ *iret = fileTell(fptable[*unit]); return; } /************************************************************************* * FUNCTION: pbread_ - Read (from FORTRAN) ************************************************************************** */ void PBREAD(fortint* unit, char * buffer, fortint* nbytes, fortint* iret) { /* // Purpose: // Reads a block of bytes from a file.. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // nbytes = number of bytes to read. // // Returns: // iret: // -2 = error in reading file, // -1 = end-of-file, // otherwise, = number of bytes read. */ if( (*iret = fread(buffer, 1, *nbytes, fptable[*unit]) ) != *nbytes) { if( ! feof(fptable[*unit]) ) { *iret = -2; /* error in file-handling */ perror("pbread"); clearerr(fptable[*unit]); return; } else { *iret = -1; /* end-of-file */ clearerr(fptable[*unit]); } } return; } /************************************************************************* * FUNCTION: pbread2_ - Read (from FORTRAN) ************************************************************************** */ void PBREAD2(fortint* unit, char * buffer, fortint* nbytes, fortint* iret) { /* // Purpose: // Reads a block of bytes from a file.. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // nbytes = number of bytes to read. // // Returns: // iret: // -2 = error in reading file, // -1 = end-of-file, // otherwise, = number of bytes read. */ if( (*iret = fread(buffer, 1, *nbytes, fptable[*unit]) ) != *nbytes) { if( ! feof(fptable[*unit]) ) { *iret = -2; /* error in file-handling */ perror("pbread"); clearerr(fptable[*unit]); return; } else { *iret = -1; /* end-of-file */ clearerr(fptable[*unit]); } } return; } /************************************************************************* * FUNCTION: pbwrite_ - Write (from FORTRAN) ************************************************************************** */ void PBWRITE(fortint* unit, char * buffer, fortint* nbytes, fortint* iret) { /* // Purpose: // Writes a block of bytes to a file. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // nbytes = number of bytes to write. // // Returns: // iret: // -1 = Could not write to file. // >=0 = Number of bytes written. */ if ( (*iret = fwrite(buffer, 1, *nbytes, fptable[*unit]) ) != *nbytes) { perror("pbwrite"); *iret = -1; } return; } /************************************************************************* * FUNCTION: pbclos_ - clos (from FORTRAN) ************************************************************************** */ fortint PBCLOSE(fortint* unit, fortint* iret) /* // Purpose: // Closes file. // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). //// Returns: // iret: // 0 = OK. // otherwise = error in handling file. */ { *iret = fclose(fptable[*unit]); fptable[*unit] = 0; if(*iret != 0) { perror("pbclose"); return (1); } return (0); } void GRIBREAD(char * buffer, fortint* buffsize, fortint* readsize, fortint* status, fortint* stream) { /* // Called as a FORTRAN subroutine: // // CALL GRIBREAD( KARRAY, KINLEN, KOUTLEN, IRET, KUNIT ) // */ fortint holdsize = *buffsize; /* // Read GRIB product */ *status = readprod("GRIB",buffer,&holdsize,fileRead,fileSeek,fileTell, fptable[*stream]); *readsize = abs(holdsize ); return; } void BUFRREAD(char * buffer, fortint* buffsize, fortint* readsize, fortint* status, fortint* stream) { /* // Called as a FORTRAN subroutine: // // CALL BUFRREAD( KARRAY, KINLEN, KOUTLEN, IRET, KUNIT ) // */ fortint holdsize = *buffsize; /* // Read BUFR product */ *status = readprod("BUFR",buffer,&holdsize,fileRead,fileSeek,fileTell, fptable[*stream]); *readsize = abs(holdsize ); return; } void PSEUREAD(char * buffer, fortint* buffsize, fortint* readsize, fortint* status, fortint* stream) { /* // Called as a FORTRAN subroutine: // CALL PSEUREAD( KARRAY, KINLEN, KOUTLEN, IRET, KUNIT ) */ fortint holdsize = *buffsize; /* // Read GRIB product */ *status = readprod(NULL,buffer,&holdsize,fileRead,fileSeek,fileTell, fptable[*stream]); *readsize = abs(holdsize ); return; } /************************************************************************* // FUNCTION: pbopen - Open file (from FORTRAN) ************************************************************************** */ void PBSIZE(fortint* unit, fortint* plen) { /* // Purpose: // Returns the size in bytes of the next GRIB, BUFR, TIDE, BUDG, DIAG // product. // // Called from FORTRAN: // CALL PBSIZE( KUNIT, LENGTH) // // Function accepts: // unit = the index of a UNIX FILE pointer held in // an internal table (fptable). // // Returns: // plen = size in bytes of the next product. // = -2 if error allocating memory for internal buffer. // // The input file is left positioned where it started. */ fortint iret; char statbuff[BUFFLEN]; char * buff; fortint offset, loop = 1; FILE *in = fptable[*unit]; /* // Use a smallish buffer for processing; this should suffice for all cases // except versions -1 and 0 of GRIB and large BUFR products */ offset = (fortint) fileTell( in); *plen = BUFFLEN; iret = readprod(NULL,statbuff,plen,fileRead,fileSeek,fileTell,in); if( iret == -2 ) { printf("readprod error %d\n", iret); *plen = -2; return; } /* // If the smallish buffer is too small, progressively increase it until // big enough */ while ( iret == -4 ) { loop++; buff = (char *) malloc( BUFFLEN*loop); if( buff == NULL) { perror("malloc failed in PBSIZE"); *plen = -2; return; } *plen = BUFFLEN*loop; offset = (fortint) fileSeek( in, offset, SEEK_SET); offset = (fortint) fileTell( in); iret = readprod(NULL,buff,plen,fileRead,fileSeek,fileTell,in); free(buff); } if( iret == -2 ) { printf("readprod error %d\n", iret); *plen = -2; } /* // Put the file pointer back where it started */ offset = (fortint) fileSeek( in, offset, SEEK_SET); return; } #define PBOPEN3 pbopen3_ #define PBREAD3 pbread3_ #define PBWRITE3 pbwrite3_ #define PBSEEK3 pbseek3_ #define PBCLOSE3 pbclose3_ void PBREAD3(fortint *unit, char * buffer, fortint * nbytes, fortint * iret) /* * * Purpose: Reads a block of bytes from a file. * * Function returns: status : -2 = error in reading file, * -1 = end-of-file, * otherwise, = number of bytes read. */ { *iret = read(*unit, buffer, *nbytes); /* Read problem */ if (*iret == -1) { *iret = -2; /* error in file-handling */ perror("pbread3"); return; } else if (*iret != *nbytes) { *iret = -1; printf("EOF; pbread3; bytes requested %d; read in: %d\n", *nbytes,*iret); return; } } static oct_bin3(int onum) { char tmp[20]; int rc; sprintf(tmp,"%d",onum); sscanf(tmp,"%o",&rc); return rc; } void PBOPEN3(fortint *unit, _fcd name, _fcd mode, fortint * iret, fortint l1, fortint l2) /* * Purpose: Opens file, return UNIX FILE pointer. * * Function returns: iret: -1 = Could not open file. * -2 = Invalid file name. * -3 = Invalid open mode specified * 0 = OK. * * Note: l1 and l2 are the lengths of the character strings in * name and mode on SGI. */ { char *fname; char *modes; char *p; int oflag; int dmas; int filemode; #if (!defined CRAY) && (!defined VAX) char namebuff[NAMEBUFFLEN], modebuff[MODEBUFFLEN]; /* Put the character strings into buffers and ensure that there is a null terminator (for SGI case when FORTRAN CHARACTER variable is full right to end with characters */ strncpy( namebuff, name, NAMEBUFFLEN - 1); strncpy( modebuff, mode, MODEBUFFLEN - 1); namebuff[l1] = '\0'; modebuff[l2] = '\0'; #endif *unit = 0; *iret = 0; /* convert fortran to c string : file name */ #if (!defined CRAY) && (!defined VAX) if(!(fname = fcd2char(namebuff))) #else if(!(fname = fcd2char(name))) #endif { *iret = -2; return; } /* strip trailing blanks */ p = fname + strlen(fname) - 1 ; while(*p == ' ') { *p = 0; p--; } /* convert fortran to c string : open modes */ #if (!defined CRAY) && (!defined VAX) if(!(modes = fcd2char(modebuff))) #else if(!(modes = fcd2char(mode))) #endif { free(fname); *iret = -3; return; } /* build open flags from "modes" */ p = modes; while(*p) { switch(*p) { case '+': break; case 'a': case 'A': oflag = 0x100 | 2 | 0x08; filemode = 766; break; case 'c': case 'C': case 'w': case 'W': oflag = 0x100 | 1; filemode = 766; break; case 'r': case 'R': oflag = 0; filemode = 444; break; default: *iret = -3; return; } p++; } dmas = umask(000); *unit = open(fname, oflag, oct_bin3(filemode)); umask(dmas); if(*unit == -1) { perror(fname); perror("pbopen3"); *iret = -2; } free(fname); free(modes); } void PBCLOSE3( fortint * unit, fortint * iret) /* * * Purpose: Closes file. * * Function returns: status : non-0 = error in handling file. * 0 = OK. */ { *iret = close(*unit); if(*iret != 0) perror("pbclose3"); } void PBSEEK3(fortint * unit, fortint * offset, fortint * whence, fortint * iret) /* * * Purpose: Seeks to specified location in file. * * Function returns: status : -2 = error in handling file, * -1 = end-of-file * otherwise, = byte offset from start of file. * * whence = 0, from start of file * = 1, from current position * = 2, from end of file. */ { fortint my_offset = *offset; int my_whence; if ( *whence == 2) { my_offset = - abs(my_offset); my_whence = 2; } else if (*whence == 0) { my_whence = 0; } else { my_whence = 1; } /* must use negative offset if working from end-of-file */ if ((*iret=lseek(*unit, my_offset, my_whence)) < 0) { perror("pbseek3;"); *iret = -1; /* end-of-file */ } } void PBWRITE3( fortint * unit, char * buffer, fortint * nbytes, fortint *iret) /* * Purpose: Writes a block of bytes to a file. * * Function returns: status : -1 = Could not write to file. * >=0 = Number of bytes written. */ { if ((*iret = write(*unit, buffer, *nbytes)) != *nbytes) { perror("pbwrite3: "); *iret = -1; } } emoslib-000392+dfsg.1/pbio/pbpseu.F0000755000175000017500000000472012127406245020022 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PBPSEU(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) C C----> C**** PBPSEU C C PURPOSE C _______ C C Reads next PSEUDO GRIB product from a file. C C INTERFACE C _________ C C CALL PBPSEU(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) C C C Input parameters C ________________ C C KUNIT - Unit number for the file returned from PBOPEN C KARRAY - FORTRAN array big enough to hold the PSEU product C KINLEN - Size in BYTES of the FORTRAN array C C C Output parameters C ________________ C C KOUTLEN - Size in BYTES of the PSEU product read C KRET - 0 if a PSEU product has been successfully read C -1 if end-of-file is hit before a PSEU product is read C -3 if the size of KARRAY is not sufficient for the C PSEU product C C C Common block usage C __________________ C C None. C C C Method C ______ C C Calls PSEUREAD. C C C Externals C _________ C C PSEUREAD - Read next PSEUDO GRIB product. C C C AUTHOR C ______ C C J.D.Chambers ECMWF C C C MODIFICATIONS C _____________ C C None. C C****************************************************************************** C----< C C Subroutine arguments C INTEGER KARRAY(1) INTEGER KUNIT,KINLEN,KOUTLEN,KRET C C Local argument(s) C INTEGER NREAD, IRET C C Get the PSEU product C CALL PSEUREAD( KARRAY, KINLEN, NREAD, IRET, KUNIT ) C C Escape if the user buffer is too small to hold even the early sections of C the product or EOF encountered C IF( IRET.EQ.-4 ) THEN KOUTLEN = NREAD KRET = -1 RETURN ENDIF C C Escape if no PSEU product is found in the file C IF( IRET.EQ.-1 ) THEN KOUTLEN = 0 KRET = -1 RETURN ENDIF C C Check if the array is big enough for the PSEU product C IF( IRET.EQ.-3 ) THEN KOUTLEN = NREAD KRET = -3 RETURN ENDIF C C Set success code if product retrieved C IF( NREAD.GE.0 ) THEN KOUTLEN = NREAD KRET = 0 ENDIF C RETURN END emoslib-000392+dfsg.1/pbio/README0000755000175000017500000004642412127406245017304 0ustar amckinstryamckinstry /cc/od/metapps/src/lib/emos/pbio/README i) FORTRAN ------- This file describes a number of subroutines which can be called from FORTRAN to handle an unblocked binary file: PBGRIB to read GRIB products PBBUFR to read BUFR products PBOPEN to open the file (must be used before the other routines are called) PBCLOSE to close the file PBSEEK to position the file (optional) PBREAD to read from the file PBREAD2 to read from the file (different behaviour on hitting end-of-file) PBWRITE to write to the file The subroutines are written in C and use standard library functions for file handling (fopen, fclose, fseek, fread and fwrite). ii) C _ There are three additional C functions to handle unblocked binary files: readgrib to read GRIB products readbufr to read BUFR products readnext to read any mixture of products These functions are written in C and use standard library functions for file handling (fopen, fclose, fseek, fread and fwrite). iii) LIBRARIES --------- A library (libemos.a) has been made for the BUFR and GRIB binary file reading and writing routines. It is planned to put future software updates into libemos.a and make no changes to the original emoslib.a. The original emoslib.a library ( /home/ecmwf/emos_sms/lib/emoslib.a ) still exists and still contains the original BUFR/GRIB handling routines. One set of the binary read/write sources is maintained, hard-linked into the three directories: /home/ecmwf/emos_sms/src/libemos/sun4 /home/ecmwf/emos_sms/src/libemos/sgimips /home/ecmwf/emos_sms/src/libemos/unicos An object library containing the routines has been made for CRAY, SGI and SUN: /usr/local/lib/libemos.a The library names follow the normal UNIX convention and can be specified in the compile/link command using the standard ld convention, for example: cc -o program program.c -lemos PBGRIB ------ A subroutine which can be called from FORTRAN to retrieve GRIB products from an unblocked binary file. The subroutine is an interface to a set of C routines which handle the binary file as a stream of bytes. The GRIB products are delivered one per call to a user array. The format and arguments for the subroutine are as follows: SUBROUTINE PBGRIB(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) where: Input parameters are INTEGERs: ----- KUNIT = unit number for the file; this must have been obtained by calling PBOPEN (see below) - it is a C FILE pointer and not a FORTRAN unit number. KARRAY = FORTRAN array big enough to hold the GRIB product. KINLEN = size in BYTES of the FORTRAN array. Output parameters are INTEGERs: ------ KOUTLEN = actual size in BYTES of the GRIB product read into KARRAY. KRET = 0 if a GRIB product has been successfully read. -1 if end-of-file is hit before a GRIB product is read. (Note that EOF does not cause a program fail, so this value must be explicitly caught by the caller to avoid looping at the EOF) -2 if there is an error in the file-handling (eg. if the file contains a truncated GRIB product). -3 if the size of KARRAY is not sufficient for the GRIB product. PBBUFR ------ A subroutine which can be called from FORTRAN to retrieve BUFR products from an unblocked binary file. The subroutine is an interface to a set of C routines which handle the binary file as a stream of bytes. The BUFR products are delivered one per call to a user array. The format and arguments for the subroutine are as follows: SUBROUTINE PBBUFR(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) where: Input parameters are INTEGERs: ----- KUNIT = unit number for the file; this must have been obtained by calling PBOPEN (see below) - it is a C FILE pointer and not a FORTRAN unit number. KARRAY = FORTRAN array big enough to hold the BUFR product. KINLEN = size in BYTES of the FORTRAN array. Output parameters are INTEGERs: ------ KOUTLEN = actual size in BYTES of the BUFR product read into KARRAY. KRET = 0 if a BUFR product has been successfully read. -1 if end-of-file is hit before a BUFR product is read. (Note that EOF does not cause a program fail, so this value must be explicitly caught by the caller to avoid looping at the EOF) -2 if there is an error in the file-handling (eg. if the file contains a truncated BUFR product). -3 if the size of KARRAY is not sufficient for the BUFR product. readgrib -------- A C function which can be invoked to retrieve GRIB products from an unblocked binary file. The GRIB products are delivered one per call to a user array. The format and arguments for the function are as follows: long readgrib(FILE * file, char * buffer, long * grib_prod_len) file = file pointer returned from PBOPEN buffer = buffer big enough to hold the GRIB product grib_prod_len = size of the buffer on input, becomes size in BYTES of the GRIB product read. If the end-of-file is hit, the value is returned unchanged (ie. when the function return code is -1). Function returns: 0 if a GRIB product has been successfully read -1 if end-of-file is hit before a GRIB product is read (Note that EOF does not cause a program fail, so this value must be explicitly caught by the caller to avoid looping at the EOF) -2 if there is an error in the file-handling (eg. if the file contains a truncated GRIB product) -3 if the size of buffer is not sufficient for the GRIB product. In this case, the buffer is filled with bytes from the product and the file is positioned at the beginning of the following product, if any. -4 if the user buffer is too small to allow any processing of the product at all (eg. less than 8 bytes long) If the second parameter is a NULL pointer, the function will pass back the length of the next product and will position the file on the byte following the end of the product. readbufr -------- A C function which can be invoked to retrieve BUFR products from an unblocked binary file. The BUFR products are delivered one per call to a user array. The format and arguments for the function are as follows: long readbufr(FILE * file, char * buffer, long * bufr_prod_len) file = file pointer returned from PBOPEN buffer = buffer big enough to hold the BUFR product bufr_prod_len = size of the buffer on input, becomes size in BYTES of the BUFR product read. If the end-of-file is hit, the value is returned unchanged (ie. when the function return code is -1). Function returns: 0 if a BUFR product has been successfully read -1 if end-of-file is hit before a BUFR product is read (Note that EOF does not cause a program fail, so this value must be explicitly caught by the caller to avoid looping at the EOF) -2 if there is an error in the file-handling (eg. if the file contains a truncated BUFR product) -3 if the size of buffer is not sufficient for the BUFR product. In this case, the buffer is filled with bytes from the product and the file is positioned at the beginning of the following product, if any. -4 if the user buffer is too small to allow any processing of the product at all (eg. less than 8 bytes long) If the second parameter is a NULL pointer, the function will pass back the length of the next product and will position the file on readnext -------- A C function which can be invoked to retrieve GRIB or BUFR products from an unblocked binary file. The products are delivered one per call to a user array. The format and arguments for the function are as follows: long readnext(char * buffer, long * prod_len, long (*read_func)(char *, long , void *), void * stream) Where: ------ buffer = buffer big enough to hold the GRIB product. If buffer = NULL, the function will create its own internal buffer and will return the length of the product, but not the product itself. prod_len = size of the buffer on input, becomes size in BYTES of the product read. If the end-of-file is hit, this value is returned unchanged (ie. when the function return code is -1). read_func = function to read input stream stream = data for read_function, eg. file pointer returned from PBOPEN If the second parameter is a NULL pointer, the function will pass back the length of the next product and will position the file on the byte following the end of the product. Function returns: 0 if a product has been successfully read -1 if end-of-file is hit before a product is read -3 if the size of buffer is not sufficient for the product -4 if the user buffer is too small to start processing product PBOPEN ------ A subroutine which can be called from FORTRAN to open an unblocked binary file and return a suitable unit number for use in calls to PBGRIB, PBBUFR, PBSEEK, PBREAD, PBREAD2 and PBWRITE. The format and arguments for the subroutine are as follows: SUBROUTINE PBOPEN(KUNIT,FILENAME,MODE,KRET) where: Input parameters are CHARACTERs: ----- FILENAME = a character string describing the file MODE = a character string describing the mode of access to the file: r for read w for write a for append Output parameters are INTEGERs: ------ KUNIT = unit number for the file - it is a C FILE pointer and not a FORTRAN unit number. KRET = -1 = Could not open file. -2 = Invalid file name. -3 = Invalid open mode specified 0 = OK. PBCLOSE ------- A subroutine which can be called from FORTRAN to close an unblocked binary file previously opened with PBOPEN. The format and arguments for the subroutine are as follows: SUBROUTINE PBCLOSE(KUNIT,KRET) where: Input parameter is an INTEGER: ----- KUNIT = unit number for the file; this must have been obtained by calling PBOPEN (see below) - it is a C FILE pointer and not a FORTRAN unit number. Output parameter is an INTEGER: ------ KRET = -1 error in handling the file. 0 = OK. PBSEEK ------ A subroutine which can be called from FORTRAN to position an unblocked binary file at any desired byte position. The format and arguments for the subroutine are as follows: SUBROUTINE PBSEEK(KUNIT,KOFFSET,KSTART,KRET) where: Input parameters are INTEGERs: ----- KUNIT = unit number for the file; this must have been obtained by calling PBOPEN (see below) - it is a C FILE pointer and not a FORTRAN unit number. KOFFSET = number of bytes to offset the file; this is used as either an absolute or relative offset depending on the value of KSTART. KSTART = 0 if KOFFSET is an absolute count from the beginning of the file, 1 if KOFFSET is a relative offset from the current byte position in the file, 2 if KOFFSET is an absolute offset from the end of file. Output parameter is an INTEGER: ------ KRET = -2 if there is an error in handling the file -1 if end-of-file is encountered (Note that EOF does not cause a program fail, so this value must be explicitly caught by the caller to avoid looping at the EOF) >= 0 byte offset from the start of file after positioning. PBREAD ------ A subroutine which can be called from FORTRAN to read a block of bytes from an unblocked binary file. ( Note that this routine behaves differently from PBREAD2 on hitting end-of-file. ) The format and arguments for the subroutine are as follows: SUBROUTINE PBREAD(KUNIT,KARRAY,KOUNT,KRET) where: Input parameters are INTEGERs: ----- KUNIT = unit number for the file; this must have been obtained by calling PBOPEN (see below) - it is a C FILE pointer and not a FORTRAN unit number. KOUNT = number of BYTES to read from the file. Output parameters are INTEGERs: ------ KARRAY = an INTEGER array to accept the bytes from the read. KRET = -2 if there is an error in handling the file -1 if end-of-file is encountered (Note that EOF does not cause a program fail, so this value must be explicitly caught by the caller to avoid looping at the EOF) >= 0 number of BYTES read from the file. PBREAD2 ------- A subroutine which can be called from FORTRAN to read a block of bytes from an unblocked binary file. ( Note that this routine behaves differently from PBREAD on hitting end-of-file. ) The format and arguments for the subroutine are as follows: SUBROUTINE PBREAD2(KUNIT,KARRAY,KOUNT,KRET) where: Input parameters are INTEGERs: ----- KUNIT = unit number for the file; this must have been obtained by calling PBOPEN (see below) - it is a C FILE pointer and not a FORTRAN unit number. KOUNT = number of BYTES to read from the file. Output parameters are INTEGERs: ------ KARRAY = an INTEGER array to accept the bytes from the read. KRET = -2 if there is an error in handling the file >= 0 number of BYTES read from the file. If end-of-file is encountered, KRET returns the number of bytes actually read. The caller must check this value against the number of bytes requested to detect EOF. PBWRITE ------- A subroutine which can be called from FORTRAN to write a block of bytes to an unblocked binary file. The format and arguments for the subroutine are as follows: SUBROUTINE PBWRITE(KUNIT,KARRAY,KOUNT,KRET) where: Input parameters are INTEGERs: ----- KUNIT = unit number for the file; this must have been obtained by calling PBOPEN (see below) - it is a C FILE pointer and not a FORTRAN unit number. KARRAY = an INTEGER array holding the bytes for the write. KOUNT = number of BYTES to write to the file. Output parameter is an INTEGER: ------ KRET = -1 if there is an error in writing to the file >= 0 number of BYTES written to the file. C C A sample FORTRAN program C program test3 C integer iret integer length integer buff(50000) integer buflen data buflen/200000/ character*1 moder,modew,modea data moder/'r'/,modew/'w'/,modea/'a'/ character*24 filename data filename/'bufr.u'/ character*24 newfilename data newfilename/'bufr.ext'/ C open - for read call pbopen(iunit1,filename,moder,iret) write(*,*) 'After PBOPEN, iret = ', iret if ( iret .ne. 0 ) stop 'open failed' C open - for write call pbopen(iunit2,newfilename,modew,iret) write(*,*) 'After PBOPEN, iret = ', iret if ( iret .ne. 0 ) stop 'open failed' do loop =1,500 C Get the next BUFR product call pbbufr(iunit1, buff, buflen, length, iret) write (*,*) 'BUFR product number= ', loop write (*,*) 'Length of BUFR product = ', length write (*,*) 'iret = ', iret if (iret .eq. -1 ) stop 'EOF' if (iret .eq. -2 ) stop 'file handling problem' if (iret .eq. -3 ) stop 'array too small for product' C Write product to new file C buff(length/4) = o call pbwrite(iunit2,buff,length,iret) write(*,*) 'After PBWRITE, iret = ', iret if ( iret .lt. 0 ) stop 'write failed' enddo C Close files call pbclose(iunit1,iret) write(*,*) 'After PBCLOSE, iret = ', iret if ( iret .ne. 0 ) stop 'close failed' call pbclose(iunit2,iret) write(*,*) 'After PBCLOSE, iret = ', iret if ( iret .ne. 0 ) stop 'close failed' stop end emoslib-000392+dfsg.1/pbio/PBGroutines.c0000755000175000017500000021260412127406245020764 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #ifdef linux # if !defined __off64_t_defined typedef __off64_t off64_t; #define __off64_t_defined #endif #endif #include "PBGroutines.h" #ifdef gribAPI long date_to_Julian(long ddate); long Julian_to_date(long jdate); #else long date_to_julian(long ddate); long julian_to_date(long jdate); #endif integer pbginitInput(_fcd filename, fortint filename_len); integer pbginitOutput(_fcd filename, fortint filename_len); void dsgnbt_(fortint *, fortint *, fortint *, fortint *); void copyName(_fcd * , _fcd , fortint ); fortint readgrib(FILE * file, unsigned char * buffer, fortint * prod_len); void pbgindx(fortint); void gribdata( unsigned char * header, integer number_of_fields, integer * parameter, integer * level, integer * date, integer * time, integer * timestep, integer * localDefinitionNumber, integer * type, integer * stream, integer * repres, integer * levtype, integer * number, integer * vdate, integer * vtime, integer * tcNumber, integer * tcTotal, integer * clusterMethod, integer * tcStep, integer * clusterStepEnd, integer * tcNorth, integer * tcWest, integer * tcSouth, integer * tcEast, integer * clusterOpFcNumber, integer * clusterControlFcNumber, integer * tcNumOfFcs, integer * probScale, integer * probIndicator, integer * probLower, integer * probUpper, integer * ni, integer * nj, integer * nlat, integer * nlon, integer * slat, integer * slon, integer * di, integer * dj, integer * splat, integer * splon, integer * quasi, integer * directionNumber, integer * frequencyNumber, integer * optimisationTime, integer * leadTime, integer * sensitiveAreaDomain, integer * sensitiveAreaMethod, integer * verifyingMonth, integer * averagingPeriod, integer * forecastMonth, integer * referenceDate, integer * climateDateFrom, integer * climateDateTo, integer * thresholdUnitsScale, integer * thresholdIndicator, integer * lowerThreshold, integer * upperThreshold ); static gribfile * latestFile(collection); static gribfile * currentFile(collection, integer); /* // */ #define DEBUGOFF 1 #define DEBUG1 (debugSet > DEBUGOFF ) #define DEBUG2 (debugSet > (DEBUGOFF + 1) ) static char * debugLevel; static int debugSet = 0; #define ONEBYTELONG(a) (long) ( *(a) ) #define TWOBYTELONG(a) (long) ( (*(a))<<8 | (*((a)+1))<<0 ) #define THREEBYTELONG(a) (long) (TWOBYTELONG((a))<<8 | (*((a)+2))<<0 ) #define FOURBYTELONG(a) (long) (THREEBYTELONG((a))<<8 | (*((a)+3))<<0 ) #define MISSING -1 #define NOTGIVEN(x) ((x) == MISSING ) #define MATCH(a,b) (NOTGIVEN((a)) || ((a) == (b))) #define HEADLEN 10000 integer exists(_fcd , fortint ); integer addRead(_fcd , fortint ); integer addWrite(_fcd , fortint ); void removeFile(_fcd , fortint ); collection openFiles = {exists,addRead,addWrite,removeFile,-1,-1,NULL}; void pbgindx(fortint thisFile) { /* // Fills in details of current file */ unsigned char header[HEADLEN]; fortint status; fortint headerlen; OFF_T space; integer number_of_fields = 0; gribfile * file = currentFile(openFiles,thisFile); /* // Loop through products in the file */ file->offset[0] = 0; do { headerlen = HEADLEN; status = readgrib( file->fp, header, &headerlen); /* // Accept product if OK or if only problem is 'buffer too small' or // on EOF */ if( (status!=0) && (status!=-3) && (status!=-1) ) exit(1); if( status == -1 ) break; /* // Note the product byte offset in the file */ file->length[number_of_fields] = (OFF_T) headerlen; #ifdef FOPEN64 file->offset[number_of_fields] = ftello64(file->fp) - file->length[number_of_fields]; #else file->offset[number_of_fields] = (OFF_T) ftell(file->fp) - file->length[number_of_fields]; #endif /* // If it's a GRIB edition 1 product, pick up more information // (parameter,level,..) */ if( strncmp((char *)header,"GRIB", 4)==0 ) { /* // Eliminate GRIB editions 0 and -1 */ if( (header[ 7] != '\1') ) break; if( (header[19] == '\0') && (header[20] == '\0') && (header[21] == '\0') && (header[22] == '\0') && (header[23] == '\0') ) break; gribdata( header, number_of_fields, file->parameter, file->level, file->date, file->time, file->timestep, file->localDefinitionNumber, file->type, file->stream, file->repres, file->levtype, file->number, file->vdate, file->vtime, file->tcNumber, file->tcTotal, file->clusterMethod, file->tcStep, file->clusterStepEnd, file->tcNorth, file->tcWest, file->tcSouth, file->tcEast, file->clusterOpFcNumber, file->clusterControlFcNumber, file->tcNumOfFcs, file->probScale, file->probIndicator, file->probLower, file->probUpper, file->ni, file->nj, file->nlat, file->nlon, file->slat, file->slon, file->di, file->dj, file->splat, file->splon, file->quasi, file->directionNumber, file->frequencyNumber, file->optimisationTime, file->leadTime, file->sensitiveAreaDomain, file->sensitiveAreaMethod, file->verifyingMonth, file->averagingPeriod, file->forecastMonth, file->referenceDate, file->climateDateFrom, file->climateDateTo, file->thresholdUnitsScale, file->thresholdIndicator, file->lowerThreshold, file->upperThreshold ); #define REALLOC(a) (a) = realloc((a) , (size_t) space) number_of_fields++; if( number_of_fields == file->max ) { integer newSize = (file->max)*2; file->max = newSize; space = (OFF_T) (sizeof(OFF_T)*newSize); REALLOC(file->offset); space = (OFF_T) (sizeof(integer)*newSize); REALLOC(file->length); REALLOC(file->parameter); REALLOC(file->level); REALLOC(file->date); REALLOC(file->time); REALLOC(file->timestep); REALLOC(file->localDefinitionNumber); REALLOC(file->type); REALLOC(file->stream); REALLOC(file->repres); REALLOC(file->levtype); REALLOC(file->number); REALLOC(file->vdate); REALLOC(file->vtime); REALLOC(file->tcNumber); REALLOC(file->tcTotal); REALLOC(file->clusterMethod); REALLOC(file->tcStep); REALLOC(file->clusterStepEnd); REALLOC(file->tcNorth); REALLOC(file->tcWest); REALLOC(file->tcSouth); REALLOC(file->tcEast); REALLOC(file->clusterOpFcNumber); REALLOC(file->clusterControlFcNumber); REALLOC(file->tcNumOfFcs); REALLOC(file->probScale); REALLOC(file->probIndicator); REALLOC(file->probLower); REALLOC(file->probUpper); REALLOC(file->ni); REALLOC(file->nj); REALLOC(file->nlat); REALLOC(file->nlon); REALLOC(file->slat); REALLOC(file->slon); REALLOC(file->di); REALLOC(file->dj); REALLOC(file->splat); REALLOC(file->splon); REALLOC(file->quasi); REALLOC(file->directionNumber); REALLOC(file->frequencyNumber); REALLOC(file->optimisationTime); REALLOC(file->leadTime); REALLOC(file->sensitiveAreaDomain); REALLOC(file->sensitiveAreaMethod); REALLOC(file->verifyingMonth); REALLOC(file->averagingPeriod); REALLOC(file->forecastMonth); REALLOC(file->referenceDate); REALLOC(file->climateDateFrom); REALLOC(file->climateDateTo); REALLOC(file->thresholdUnitsScale); REALLOC(file->thresholdIndicator); REALLOC(file->lowerThreshold); REALLOC(file->upperThreshold); } } } while( (!feof(file->fp)) && (number_of_fields < file->max) ); file->count = number_of_fields; return; } void gribdata( unsigned char * header, integer index, integer * parameter, integer * level, integer * date, integer * time, integer * timestep, integer * localDefinitionNumber, integer * type, integer * stream, integer * repres, integer * levtype, integer * number, integer * vdate, integer * vtime, integer * tcNumber, integer * tcTotal, integer * clusterMethod, integer * tcStep, integer * clusterStepEnd, integer * tcNorth, integer * tcWest, integer * tcSouth, integer * tcEast, integer * clusterOpFcNumber, integer * clusterControlFcNumber, integer * tcNumOfFcs, integer * probScale, integer * probIndicator, integer * probLower, integer * probUpper, integer * ni, integer * nj, integer * nlat, integer * nlon, integer * slat, integer * slon, integer * di, integer * dj, integer * splat, integer * splon, integer * quasi, integer * directionNumber, integer * frequencyNumber, integer * optimisationTime, integer * leadTime, integer * sensitiveAreaDomain, integer * sensitiveAreaMethod, integer * verifyingMonth, integer * averagingPeriod, integer * forecastMonth, integer * referenceDate, integer * climateDateFrom, integer * climateDateTo, integer * thresholdUnitsScale, integer * thresholdIndicator, integer * lowerThreshold, integer * upperThreshold ) /* // Returns parameter, level, date, time , etc information // for a GRIB product. */ { /* // Decode the GRIB product */ #define POLAR_STEREO 5 #define SEC1 7 #define LEN1 8 #define TABLE 4 #define PARAM 9 #define LEVELTYPE 10 #define LEVEL1 11 #define LEVEL2 12 #define YY 13 #define MM 14 #define DD 15 #define HOUR 16 #define MIN 17 #define TIMEUNIT 18 #define STEP1 19 #define STEP2 20 #define TIMERANGE 21 #define CENTURY 25 #define LOCALDEF 41 #define CLASS 42 #define TYPE 43 #define STREAM 44 #define NUMBER 50 #define REPRES 6 #define NI 7 #define NJ 9 #define NLAT 11 #define NLON 14 #define SLAT 18 #define SLON 21 #define DI 24 #define DJ 26 #define DI_PS 21 #define DJ_PS 24 #define SPLAT 33 #define SPLON 36 #define ISOTHERMAL_LEVEL 20 #define ISOBARIC_LEVEL 100 #define ALTITUDE 103 #define HEIGHT 105 #define SIGMA_LEVEL 107 #define HYBRID_LEVEL 109 #define DEPTH_BELOW_LAND 111 #define ISENTROPIC_LEVEL 113 #define PRESSURE_DIFF 115 #define VORTICITY_SURF 117 #define HEIGHT_HIGH_PREC 125 #define SATELLITE_BAND 127 #define DEPTH_BELOW_SEA 160 #define ENTIRE_ATMOSPHERE 200 #define ENTIRE_OCEAN 201 #define ISOBARIC_HIGH_PREC 210 #define PROBABILITY 16 #define PROBSCALE 52 #define PROBINDIC 53 #define PROBLOWER 54 #define PROBUPPER 56 #define CLUSTERMEAN 14 #define CLUSTERSD 15 #define CLUSTERNUMBER 50 #define CLUSTERTOTAL 51 #define CLUSTERMETHOD 53 #define CLUSTERSTEP 54 #define CLUSTERSTEPEND 56 #define CLUSTERNORTH 58 #define CLUSTERWEST 61 #define CLUSTERSOUTH 64 #define CLUSTEREAST 67 #define CLUSTEROPFCNUM 70 #define CLUSTERCONTROLFCNUM 71 #define CLUSTERFORECASTS 72 #define TUBETYPE 24 #define TUBENUMBER 50 #define TUBETOTAL 51 #define TUBESTEP 71 #define TUBENORTH 55 #define TUBEWEST 58 #define TUBESOUTH 61 #define TUBEEAST 64 #define TUBEFORECASTS 79 #define CLUSTERMEAN 14 #define CLUSTERSD 15 #define CLUSTERNUMBER 50 #define CLUSTERTOTAL 51 #define CLUSTERMETHOD 53 #define CLUSTERSTEP 54 #define CLUSTERSTEPEND 56 #define CLUSTERNORTH 58 #define CLUSTERWEST 61 #define CLUSTERSOUTH 64 #define CLUSTEREAST 67 #define CLUSTEROPFCNUM 70 #define CLUSTERCONTROLFCNUM 71 #define CLUSTERFORECASTS 72 #define DIRECTIONNUMBER 52 #define FREQUENCYNUMBER 53 #define OPTIMISATIONTIME 92 #define LEADTIME 93 #define SENSITIVEAREADOMAIN 94 #define SENSITIVEAREAMETHOD 95 #define VERIFYINGMONTH 56 #define AVERAGINGPERIOD 60 #define FORECASTMONTH 61 #define REFERENCEDATE 63 #define CLIMATEDATEFROM 67 #define CLIMATEDATETO 71 #define THRESHOLDUNITSSCALE 75 #define THRESHOLDINDICATOR 76 #define LOWERTHRESHOLD 77 #define UPPERTHRESHOLD 79 integer table, leveltype, timeunit, timerange, multiplier, century, year; integer twoByteNumber, ECclass, ensembleNumber; integer section2Offset; integer status, eight = 8, sixteen = 16, twentyFour = 24; table = header[SEC1+TABLE]; parameter[index] = table*1000 + header[SEC1+PARAM]; leveltype = header[SEC1+LEVELTYPE]; levtype[index] = leveltype; switch( leveltype ) { case ISOTHERMAL_LEVEL : case ISOBARIC_LEVEL : case ALTITUDE : case HEIGHT : case SIGMA_LEVEL : case HYBRID_LEVEL : case DEPTH_BELOW_LAND : case ISENTROPIC_LEVEL : case PRESSURE_DIFF : case VORTICITY_SURF : case HEIGHT_HIGH_PREC : case SATELLITE_BAND : case DEPTH_BELOW_SEA : case ENTIRE_ATMOSPHERE : case ENTIRE_OCEAN : case ISOBARIC_HIGH_PREC: /* level[index] = header[SEC1+LEVEL1]*256 + header[SEC1+LEVEL2]; */ level[index] = TWOBYTELONG(&header[SEC1+LEVEL1]); break; default: level[index] = header[SEC1+LEVEL1]; } century = header[SEC1+CENTURY]; year = (century-1)*100 + header[SEC1+YY]; date[index] = year*10000 + header[SEC1+MM]*100 + header[SEC1+DD]; time[index] = header[SEC1+HOUR]*100 + header[SEC1+MIN]; timeunit = header[SEC1+TIMEUNIT]; #define DAY 2 #define MONTH 3 #define THREE_HOURS 10 #define SIX_HOURS 11 #define TWELVE_HOURS 12 switch( timeunit ) { case DAY : multiplier = 24; break; case MONTH : multiplier = 30*24; break; case THREE_HOURS : multiplier = 3; break; case SIX_HOURS : multiplier = 6; break; case TWELVE_HOURS : multiplier = 12; break; default: multiplier = 1; } #define RANGE_P1_TO_P2 2 #define ACCUMULATION 4 #define DIFFERENCE 5 #define TWOBYTE 10 timerange = header[SEC1+TIMERANGE]; switch( timerange ) { case TWOBYTE : timestep[index] = TWOBYTELONG(&header[SEC1+STEP1])*multiplier; break; default: timestep[index] = header[SEC1+STEP2]*multiplier*10000 + header[SEC1+STEP1]*multiplier; } type[index] = header[SEC1+TYPE]; #define ANALYSIS 2 if( type[index] == ANALYSIS ) { vdate[index] = date[index]; vtime[index] = time[index]; } else { long iverd = (time[index] + timestep[index]*100) / 2400; #ifdef gribAPI long ijvday = date_to_Julian(date[index]) + iverd; vdate[index] = Julian_to_date(ijvday); #else long ijvday = date_to_julian(date[index]) + iverd; vdate[index] = julian_to_date(ijvday); #endif vtime[index] = (time[index] + timestep[index]*100) - (iverd*2400); } localDefinitionNumber[index] = header[SEC1+LOCALDEF]; ECclass = header[SEC1+CLASS]; stream[index] = TWOBYTELONG(&header[SEC1+STREAM]); twoByteNumber = ( (localDefinitionNumber[index] == 4) && (stream[index] == 1090) ) || (localDefinitionNumber[index] == 9) || (localDefinitionNumber[index] == 15) || (localDefinitionNumber[index] == 16) || (localDefinitionNumber[index] == 21) || (localDefinitionNumber[index] == 23); if( twoByteNumber ) ensembleNumber = TWOBYTELONG(&header[SEC1+NUMBER]); else ensembleNumber = header[SEC1+NUMBER]; number[index] = ensembleNumber; /* // Extra information for tubes */ if( type[index] == TUBETYPE ) { tcNumber[index] = header[SEC1+TUBENUMBER]; tcTotal[index] = header[SEC1+TUBETOTAL]; tcStep[index] = TWOBYTELONG(&header[SEC1+TUBESTEP]); tcNorth[index] = THREEBYTELONG(&header[SEC1+TUBENORTH]); dsgnbt_(&tcNorth[index],&tcNorth[index],&twentyFour,&status); tcWest[index] = THREEBYTELONG(&header[SEC1+TUBEWEST]); dsgnbt_(&tcWest[index],&tcWest[index],&twentyFour,&status); tcSouth[index] = THREEBYTELONG(&header[SEC1+TUBESOUTH]); dsgnbt_(&tcSouth[index],&tcSouth[index],&twentyFour,&status); tcEast[index] = THREEBYTELONG(&header[SEC1+TUBEEAST]); dsgnbt_(&tcEast[index],&tcEast[index],&twentyFour,&status); tcNumOfFcs[index] = header[SEC1+TUBEFORECASTS]; } /* // Extra information for clusters */ if( (type[index] == CLUSTERMEAN) || (type[index] == CLUSTERSD) ) { tcNumber[index] = header[SEC1+CLUSTERNUMBER]; tcTotal[index] = header[SEC1+CLUSTERTOTAL]; clusterMethod[index] = header[SEC1+CLUSTERMETHOD]; tcStep[index] = TWOBYTELONG(&header[SEC1+CLUSTERSTEP]); clusterStepEnd[index] = TWOBYTELONG(&header[SEC1+CLUSTERSTEPEND]); tcNorth[index] = THREEBYTELONG(&header[SEC1+CLUSTERNORTH]); dsgnbt_(&tcNorth[index],&tcNorth[index],&twentyFour,&status); tcWest[index] = THREEBYTELONG(&header[SEC1+CLUSTERWEST]); dsgnbt_(&tcWest[index],&tcWest[index],&twentyFour,&status); tcSouth[index] = THREEBYTELONG(&header[SEC1+CLUSTERSOUTH]); dsgnbt_(&tcSouth[index],&tcSouth[index],&twentyFour,&status); tcEast[index] = THREEBYTELONG(&header[SEC1+CLUSTEREAST]); dsgnbt_(&tcEast[index],&tcEast[index],&twentyFour,&status); clusterOpFcNumber[index] = header[SEC1+CLUSTEROPFCNUM]; clusterControlFcNumber[index] = header[SEC1+CLUSTERCONTROLFCNUM]; tcNumOfFcs[index] = header[SEC1+CLUSTERFORECASTS]; } /* // Extra information for probabilities */ if( type[index] == PROBABILITY ) { probScale[index] = header[SEC1+PROBSCALE]; dsgnbt_(&probScale[index],&probScale[index],&eight,&status); probIndicator[index] = header[SEC1+PROBINDIC]; probLower[index] = 65535; if( probIndicator[index] != 2 ) { probLower[index] = TWOBYTELONG(&header[SEC1+PROBLOWER]); dsgnbt_(&probLower[index],&probLower[index],&sixteen,&status); } probUpper[index] = 65535; if( probIndicator[index] != 1 ) { probUpper[index] = TWOBYTELONG(&header[SEC1+PROBUPPER]); dsgnbt_(&probUpper[index],&probUpper[index],&sixteen,&status); } } /* // Extra information for wave 2D spectra */ if( localDefinitionNumber[index] == 13 ) { directionNumber[index] = header[SEC1+DIRECTIONNUMBER]; frequencyNumber[index] = header[SEC1+FREQUENCYNUMBER]; } /* // Extra information for sensitive area forecasts */ if( localDefinitionNumber[index] == 21 ) { optimisationTime[index] = header[SEC1+OPTIMISATIONTIME]; leadTime[index] = header[SEC1+LEADTIME]; sensitiveAreaDomain[index] = header[SEC1+SENSITIVEAREADOMAIN]; sensitiveAreaMethod[index] = TWOBYTELONG(&header[SEC1+SENSITIVEAREAMETHOD]); } /* // Extra information for coupled atmospheric, wave and ocean models */ if( localDefinitionNumber[index] == 23 ) { unsigned char scale; verifyingMonth[index] = FOURBYTELONG(&header[SEC1+VERIFYINGMONTH]); averagingPeriod[index] = ONEBYTELONG(&header[SEC1+AVERAGINGPERIOD]); forecastMonth[index] = TWOBYTELONG(&header[SEC1+FORECASTMONTH]); referenceDate[index] = FOURBYTELONG(&header[SEC1+REFERENCEDATE]); climateDateFrom[index] = FOURBYTELONG(&header[SEC1+CLIMATEDATEFROM]); climateDateTo[index] = FOURBYTELONG(&header[SEC1+CLIMATEDATETO]); scale = header[SEC1+THRESHOLDUNITSSCALE]; if( scale & 0x80 ) { scale &= 0x7f; thresholdUnitsScale[index] = - ONEBYTELONG(&scale); } else thresholdUnitsScale[index] = ONEBYTELONG(&scale); thresholdIndicator[index] = ONEBYTELONG(&header[SEC1+THRESHOLDINDICATOR]); lowerThreshold[index] = TWOBYTELONG(&header[SEC1+LOWERTHRESHOLD]); upperThreshold[index] = TWOBYTELONG(&header[SEC1+UPPERTHRESHOLD]); } /* // Section 2 */ section2Offset = THREEBYTELONG(&header[LEN1]); repres[index] = header[LEN1+section2Offset-1+REPRES]; ni[index] = TWOBYTELONG(&header[LEN1+section2Offset-1+NI]); nj[index] = TWOBYTELONG(&header[LEN1+section2Offset-1+NJ]); nlat[index] = THREEBYTELONG(&header[LEN1+section2Offset-1+NLAT]); dsgnbt_(&nlat[index],&nlat[index],&twentyFour,&status); nlon[index] = THREEBYTELONG(&header[LEN1+section2Offset-1+NLON]); dsgnbt_(&nlon[index],&nlon[index],&twentyFour,&status); slat[index] = THREEBYTELONG(&header[LEN1+section2Offset-1+SLAT]); dsgnbt_(&slat[index],&slat[index],&twentyFour,&status); /* // Section 2 is different for polar stereographic */ if( repres[index] == POLAR_STEREO ) { di[index] = THREEBYTELONG(&header[LEN1+section2Offset-1+DI_PS]); dj[index] = THREEBYTELONG(&header[LEN1+section2Offset-1+DJ_PS]); } else { slon[index] = THREEBYTELONG(&header[LEN1+section2Offset-1+SLON]); dsgnbt_(&slon[index],&slon[index],&twentyFour,&status); di[index] = TWOBYTELONG(&header[LEN1+section2Offset-1+DI]); dj[index] = TWOBYTELONG(&header[LEN1+section2Offset-1+DJ]); splat[index] = THREEBYTELONG(&header[LEN1+section2Offset-1+SPLAT]); dsgnbt_(&splat[index],&splat[index],&twentyFour,&status); splon[index] = THREEBYTELONG(&header[LEN1+section2Offset-1+SPLON]); dsgnbt_(&splon[index],&splon[index],&twentyFour,&status); } quasi[index] = ( (ni[index] == 0xFFFF) || (nj[index] == 0xFFFF) ); return; } /* // **************************************************************** */ fortint pbgtotl_(_fcd filename, fortint filename_len) { /* // Returns number of GRIB products in the file. */ integer thisFile; gribfile * file; thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGTOTL: Number of GRIBs in file %s = %d\n", pfile, file->count); free(pfile); } return ( file->count ); } fortint pbgtotl(_fcd filename, fortint filename_len) { return pbgtotl_(filename,filename_len); } /* // **************************************************************** */ fortint pbgleng_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns length (in bytes) of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGLENG: length of GRIB %d in file %s = %d\n", (index+1), pfile, file->length[index]); free(pfile); } return ( file->length[index] ); } } return (-1); } fortint pbgleng(_fcd filename, fortint * n, fortint filename_len) { return pbgleng_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbgoffs_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns offset (in bytes) of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGOFFS: offset of GRIB %d in file %s = %d\n", (index+1), pfile, file->offset[index]); free(pfile); } return ( file->offset[index] ); } } return (-1); } fortint pbgoffs(_fcd filename, fortint * n, fortint filename_len) { return pbgoffs_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbgparm_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns parameter number of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGPARM: parameter number of GRIB %d in file %s = %d\n", (index+1), pfile, file->parameter[index]); free(pfile); } return ( file->parameter[index] ); } } return (-1); } fortint pbgparm(_fcd filename, fortint * n, fortint filename_len) { return pbgparm_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbglevl_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns level of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGLEVL: level of GRIB %d in file %s = %d\n", (index+1), pfile, file->level[index]); free(pfile); } return ( file->level[index] ); } } return (-1); } fortint pbglevl(_fcd filename, fortint * n, fortint filename_len) { return pbglevl_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbgdate_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns date (as YYMMDD) of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGDATE: date of GRIB %d in file %s = %d\n", (index+1), pfile, file->date[index]); free(pfile); } return ( file->date[index] ); } } return (-1); } fortint pbgdate(_fcd filename, fortint * n, fortint filename_len) { return pbgdate_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbgtime_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns time (as HHMM) of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGTIME: time of GRIB %d in file %s = %d\n", (index+1), pfile, file->time[index]); free(pfile); } return ( file->time[index] ); } } return (-1); } fortint pbgtime(_fcd filename, fortint * n, fortint filename_len) { return pbgtime_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbgstep_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns timestep of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGSTEP: timestep of GRIB %d in file %s = %d\n", (index+1), pfile, file->timestep[index]); free(pfile); } return ( file->timestep[index] ); } } return (-1); } fortint pbgstep(_fcd filename, fortint * n, fortint filename_len) { return pbgstep_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbgtype_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns field type of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGTYPE: type of GRIB %d in file %s = %d\n", (index+1), pfile, file->type[index]); free(pfile); } return ( file->type[index] ); } } return (-1); } fortint pbgtype(_fcd filename, fortint * n, fortint filename_len) { return pbgtype_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbgstrm_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns stream of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGSTRM: stream of GRIB %d in file %s = %d\n", (index+1), pfile, file->stream[index]); free(pfile); } return ( file->stream[index] ); } } return (-1); } fortint pbgstrm(_fcd filename, fortint * n, fortint filename_len) { return pbgstrm_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbgrepr_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns repres of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGREPR: repres of GRIB %d in file %s = %d\n", (index+1), pfile, file->repres[index]); free(pfile); } return ( file->repres[index] ); } } return (-1); } fortint pbgrepr(_fcd filename, fortint * n, fortint filename_len) { return pbgrepr_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbglevt_(_fcd filename, fortint * n, fortint filename_len) { /* // Returns levtype of GRIB product n or -1 if n is greater // than the number of products in the file, or less than 1. */ integer index = (*n)-1; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGLEVT: levtype of GRIB %d in file %s = %d\n", (index+1), pfile, file->levtype[index]); free(pfile); } return ( file->levtype[index] ); } } return (-1); } fortint pbglevt(_fcd filename, fortint * n, fortint filename_len) { return pbglevt_(filename,n,filename_len); } /* // **************************************************************** */ fortint pbgfind_( _fcd filename, fortint * param, fortint * level, fortint * date, fortint * time, fortint * step, fortint * n, fortint filename_len) { /* // Returns the index of the GRIB product with the specified param, level, .. // Searching starts after GRIB product n. */ integer index = (*n); integer p = *param, l = *level, d = *date, t = *time, s = *step; integer loop; integer thisFile; gribfile * file; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); for( loop = index; loop < file->count; loop++ ) { if( p == file->parameter[loop] ) if( l == file->level[loop] ) if( d == file->date[loop] ) if( t == file->time[loop] ) if( s == file->timestep[loop] ) return (loop+1); } } return (-1); } fortint pbgfind( _fcd filename, fortint * param, fortint * level, fortint * date, fortint * time, fortint * step, fortint * n, fortint filename_len) { return pbgfind_(filename,param,level,date,time,step,n,filename_len); } /* // **************************************************************** */ fortint pbgvfind_( _fcd filename, fortint * param, fortint * level, fortint * vdate, fortint * vtime, fortint * status, fortint * n, fortint filename_len) { /* // Returns the index of the GRIB product with the specified param, level, // verifying data and time (vdate & vtime). // Searching starts after GRIB product n. // // Returns the index of the first match found, or -1 if no match is found. // If more than one match is found (eg analysis and forecast fields), // status returns the index of the second match; otherwise status = 0. */ integer index = (*n); integer p = *param, l = *level, d = *vdate, t = *vtime; integer loop; integer thisFile; gribfile * file; *status = 0; if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); for( loop = index; loop < file->count; loop++ ) { if( p == file->parameter[loop] ) if( l == file->level[loop] ) if( d == file->vdate[loop] ) if( t == file->vtime[loop] ) { long innerloop; for( innerloop = loop+1; innerloop < file->count; innerloop++ ) { if( p == file->parameter[innerloop] ) if( l == file->level[innerloop] ) if( d == file->vdate[innerloop] ) if( t == file->vtime[innerloop] ) *status = innerloop+1 ; } return (loop+1); } } } return (-1); } fortint pbgvfind( _fcd filename, fortint * param, fortint * level, fortint * vdate, fortint * vtime, fortint * status, fortint * n, fortint filename_len) { return pbgvfind_(filename,param,level,vdate,vtime,status,n,filename_len); } /* // **************************************************************** */ #define L_PARAM 0 #define L_LEVEL 1 #define L_DATE 2 #define L_TIME 3 #define L_STEP 4 #define L_ENSEMBLE 5 #define L_TYPE 6 #define L_STREAM 7 #define L_REPRES 8 #define L_LEVTYPE 9 #define L_VDATE 10 #define L_VTIME 11 #define L_NI 12 #define L_NJ 13 #define L_NLAT 14 #define L_NLON 15 #define L_SLAT 16 #define L_SLON 17 #define L_DI 18 #define L_DJ 19 #define L_SPLAT 20 #define L_SPLON 21 #define L_QUASI 22 #define L_PROBSCALE 23 #define L_PROBINDIC 24 #define L_PROBLOWER 25 #define L_PROBUPPER 26 #define L_TUBENUM 23 #define L_TUBETOT 24 #define L_TUBEN 25 #define L_TUBEW 26 #define L_TUBES 27 #define L_TUBEE 28 #define L_TUBESTP 29 #define L_TUBEFC 30 #define L_CLUSNUM 23 #define L_CLUSTOT 24 #define L_CLUSMETH 25 #define L_CLUSSTP 26 #define L_CLUSSTPE 27 #define L_CLUSN 28 #define L_CLUSW 29 #define L_CLUSS 30 #define L_CLUSE 31 #define L_CLUSOPFC 32 #define L_CLUSCFFC 33 #define L_CLUSFC 34 #define L_DIRECTIONNUMBER 23 #define L_FREQUENCYNUMBER 24 #define L_OPTIMISATIONTIME 23 #define L_LEADTIME 24 #define L_SENSITIVEAREADOMAIN 25 #define L_SENSITIVEAREAMETHOD 26 #define L_VERIFYINGMONTH 23 #define L_AVERAGINGPERIOD 24 #define L_FORECASTMONTH 25 #define L_REFERENCEDATE 26 #define L_CLIMATEDATEFROM 27 #define L_CLIMATEDATETO 28 #define L_THRESHOLDUNITSSCALE 29 #define L_THRESHOLDINDICATOR 30 #define L_LOWERTHRESHOLD 31 #define L_UPPERTHRESHOLD 32 #define L_LOCALDEF 35 #define L_ALIST_LENGTH 12 #define L_BLIST_LENGTH 36 fortint pbgafind_( _fcd filename, fortint * list, fortint * n, fortint filename_len) { /* // Returns the index of the GRIB product with the specified param, level, .. // Searching starts after GRIB product n. */ integer index = (*n); integer param = list[L_PARAM], level = list[L_LEVEL], date = list[L_DATE], time = list[L_TIME], step = list[L_STEP], ensemble = list[L_ENSEMBLE], type = list[L_TYPE], stream = list[L_STREAM], repres = list[L_REPRES], levtype = list[L_LEVTYPE], vdate = list[L_VDATE], vtime = list[L_VTIME]; integer loop; integer thisFile; gribfile * file; if( DEBUG1 ) { _fcd pfile; integer loop; copyName(&pfile, filename, filename_len); printf("PBGAFIND: searching file %s\n", pfile); free(pfile); for( loop = 0; loop < L_ALIST_LENGTH ; loop++ ) { if( list[loop] != MISSING ) printf("PBGAFIND: ilist[%d] = %d\n", (loop+1), list[loop] ); } } if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); for( loop = index; loop < file->count; loop++ ) { if( MATCH(param,file->parameter[loop]) ) if( MATCH(level,file->level[loop]) ) if( MATCH(date,file->date[loop]) ) if( MATCH(time,file->time[loop]) ) if( MATCH(step,file->timestep[loop]) ) if( MATCH(ensemble,file->number[loop]) ) if( MATCH(type,file->type[loop]) ) if( MATCH(stream,file->stream[loop]) ) if( MATCH(repres,file->repres[loop]) ) if( MATCH(levtype,file->levtype[loop]) ) if( MATCH(vdate,file->vdate[loop]) ) if( MATCH(vtime,file->vtime[loop]) ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGAFIND: matching GRIB found at position %d in file %s\n", (loop+1), pfile); free(pfile); } return (loop+1); } } } return (-1); } fortint pbgafind(_fcd filename,fortint* list,fortint* n,fortint filename_len) { return pbgafind_(filename,list,n,filename_len); } /* // **************************************************************** */ fortint pbgbfind_( _fcd filename, fortint * list, fortint * n, fortint filename_len) { /* // Returns the index of the GRIB product with the specified param, level, .. // Searching starts after GRIB product n. */ integer index = (*n); integer param = list[L_PARAM], level = list[L_LEVEL], date = list[L_DATE], time = list[L_TIME], step = list[L_STEP], localDef = list[L_LOCALDEF], ensemble = list[L_ENSEMBLE], type = list[L_TYPE], stream = list[L_STREAM], repres = list[L_REPRES], levtype = list[L_LEVTYPE], vdate = list[L_VDATE], vtime = list[L_VTIME], ni = list[L_NI], nj = list[L_NJ], nlat = list[L_NLAT], nlon = list[L_NLON], slat = list[L_SLAT], slon = list[L_SLON], di = list[L_DI], dj = list[L_DJ], splat = list[L_SPLAT], splon = list[L_SPLON], quasi = list[L_QUASI]; integer tcNumber = MISSING, tcTotal = MISSING, clusterMethod = MISSING, tcStep = MISSING, clusterStepEnd = MISSING, tcNorth = MISSING, tcWest = MISSING, tcSouth = MISSING, tcEast = MISSING, clusterOpFcNumber = MISSING, clusterControlFcNumber = MISSING, tcNumOfFcs = MISSING, probScale = MISSING, probIndicator = MISSING, probLower = MISSING, probUpper = MISSING, directionNumber = MISSING, frequencyNumber = MISSING, optimisationTime = MISSING, leadTime = MISSING, sensitiveAreaDomain = MISSING, sensitiveAreaMethod = MISSING, verifyingMonth = MISSING, averagingPeriod = MISSING, forecastMonth = MISSING, referenceDate = MISSING, climateDateFrom = MISSING, climateDateTo = MISSING, thresholdUnitsScale = MISSING, thresholdIndicator = MISSING, lowerThreshold = MISSING, upperThreshold = MISSING; integer loop; integer thisFile; gribfile * file; if( DEBUG1 ) { _fcd pfile; integer loop; copyName(&pfile, filename, filename_len); printf("PBGBFIND: searching file %s\n", pfile); free(pfile); for( loop = 0; loop < L_BLIST_LENGTH ; loop++ ) { if( list[loop] != MISSING ) printf("PBGBFIND: ilist[%d] = %d\n", (loop+1), list[loop] ); } } if( (type == CLUSTERMEAN) || (type == CLUSTERSD) ) { tcNumber = list[L_CLUSNUM]; tcTotal = list[L_CLUSTOT]; clusterMethod = list[L_CLUSMETH]; tcStep = list[L_CLUSSTP]; clusterStepEnd = list[L_CLUSSTPE]; tcNorth = list[L_CLUSN]; tcWest = list[L_CLUSW]; tcSouth = list[L_CLUSS]; tcEast = list[L_CLUSE]; clusterOpFcNumber = list[L_CLUSOPFC]; clusterControlFcNumber = list[L_CLUSCFFC]; tcNumOfFcs = list[L_CLUSFC]; } if( type == TUBETYPE) { tcNumber = list[L_TUBENUM]; tcTotal = list[L_TUBETOT]; tcStep = list[L_TUBESTP]; tcNorth = list[L_TUBEN]; tcWest = list[L_TUBEW]; tcSouth = list[L_TUBES]; tcEast = list[L_TUBEE]; tcNumOfFcs = list[L_TUBEFC]; } if( type == PROBABILITY) { probScale = list[L_PROBSCALE]; probIndicator = list[L_PROBINDIC]; probLower = list[L_PROBLOWER]; probUpper = list[L_PROBUPPER]; } if( localDef == 13 ) { directionNumber = list[L_DIRECTIONNUMBER]; frequencyNumber = list[L_FREQUENCYNUMBER]; } if( localDef == 21 ) { optimisationTime = list[L_OPTIMISATIONTIME]; leadTime = list[L_LEADTIME]; sensitiveAreaDomain = list[L_SENSITIVEAREADOMAIN]; sensitiveAreaMethod = list[L_SENSITIVEAREAMETHOD]; } if( localDef == 23 ) { verifyingMonth = list[L_VERIFYINGMONTH]; averagingPeriod = list[L_AVERAGINGPERIOD]; forecastMonth = list[L_FORECASTMONTH]; referenceDate = list[L_REFERENCEDATE]; climateDateFrom = list[L_CLIMATEDATEFROM]; climateDateTo = list[L_CLIMATEDATETO]; thresholdUnitsScale = list[L_THRESHOLDUNITSSCALE]; thresholdIndicator = list[L_THRESHOLDINDICATOR]; lowerThreshold = list[L_LOWERTHRESHOLD]; upperThreshold = list[L_UPPERTHRESHOLD]; } if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); for( loop = index; loop < file->count; loop++ ) { if( MATCH(param,file->parameter[loop]) ) if( MATCH(level,file->level[loop]) ) if( MATCH(step,file->timestep[loop]) ) if( MATCH(time,file->time[loop]) ) if( MATCH(date,file->date[loop]) ) if( MATCH(ensemble,file->number[loop]) ) if( MATCH(type,file->type[loop]) ) if( MATCH(stream,file->stream[loop]) ) if( MATCH(repres,file->repres[loop]) ) if( MATCH(levtype,file->levtype[loop]) ) if( MATCH(vdate,file->vdate[loop]) ) if( MATCH(vtime,file->vtime[loop]) ) if( MATCH(ni,file->ni[loop]) ) if( MATCH(nj,file->nj[loop]) ) if( MATCH(nlat,file->nlat[loop]) ) if( MATCH(nlon,file->nlon[loop]) ) if( MATCH(slat,file->slat[loop]) ) if( MATCH(slon,file->slon[loop]) ) if( MATCH(di,file->di[loop]) ) if( MATCH(dj,file->dj[loop]) ) if( MATCH(splat,file->splat[loop]) ) if( MATCH(splon,file->splon[loop]) ) if( MATCH(quasi,file->quasi[loop]) ) if( MATCH(tcNumber,file->tcNumber[loop]) ) if( MATCH(tcTotal,file->tcTotal[loop]) ) if( MATCH(clusterMethod,file->clusterMethod[loop]) ) if( MATCH(tcStep,file->tcStep[loop]) ) if( MATCH(clusterStepEnd,file->clusterStepEnd[loop]) ) if( MATCH(tcNorth,file->tcNorth[loop]) ) if( MATCH(tcWest,file->tcWest[loop]) ) if( MATCH(tcSouth,file->tcSouth[loop]) ) if( MATCH(tcEast,file->tcEast[loop]) ) if( MATCH(clusterOpFcNumber,file->clusterOpFcNumber[loop]) ) if( MATCH(clusterControlFcNumber,file->clusterControlFcNumber[loop]) ) if( MATCH(tcNumOfFcs,file->tcNumOfFcs[loop]) ) if( MATCH(probScale,file->probScale[loop]) ) if( MATCH(probIndicator,file->probIndicator[loop]) ) if( MATCH(probLower,file->probLower[loop]) ) if( MATCH(probUpper,file->probUpper[loop]) ) if( MATCH(directionNumber,file->directionNumber[loop]) ) if( MATCH(frequencyNumber,file->frequencyNumber[loop]) ) if( MATCH(optimisationTime,file->optimisationTime[loop]) ) if( MATCH(leadTime,file->leadTime[loop]) ) if( MATCH(sensitiveAreaDomain,file->sensitiveAreaDomain[loop]) ) if( MATCH(sensitiveAreaMethod,file->sensitiveAreaMethod[loop]) ) if( MATCH(verifyingMonth,file->verifyingMonth[loop]) ) if( MATCH(averagingPeriod,file->averagingPeriod[loop]) ) if( MATCH(forecastMonth,file->forecastMonth[loop]) ) if( MATCH(referenceDate,file->referenceDate[loop]) ) if( MATCH(climateDateFrom,file->climateDateFrom[loop]) ) if( MATCH(climateDateTo,file->climateDateTo[loop]) ) if( MATCH(thresholdUnitsScale,file->thresholdUnitsScale[loop]) ) if( MATCH(thresholdIndicator,file->thresholdIndicator[loop]) ) if( MATCH(lowerThreshold,file->lowerThreshold[loop]) ) if( MATCH(upperThreshold,file->upperThreshold[loop]) ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGBFIND: matching GRIB found at position %d in file %s\n", (loop+1), pfile); free(pfile); } return (loop+1); } } } return (-1); } fortint pbgbfind(_fcd filename,fortint* list,fortint* n,fortint filename_len) { return pbgbfind_(filename,list,n,filename_len); } /* // **************************************************************** */ #define INDEX_TOO_BIG -1 #define FSEEK_ERROR -2 #define FREAD_ERROR -2 #define BUFF_TOO_SMALL -3 fortint pbgget_(_fcd filename, fortint * buffer, fortint * bufflen, fortint * n, fortint filename_len) { /* // Gets the nth GRIB product. */ integer index = (*n)-1; integer length, status; OFF_T offset; integer thisFile; FILE * fp; gribfile * file; if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGGET: getting GRIB number %d in file %s\n", (index+1), pfile); free(pfile); } if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { length = file->length[index]; if( DEBUG1 ) printf("PBGGET: length of GRIB number %d = %d\n", (index+1), length); if( *bufflen < length ) { fprintf(stderr, "PBGGET: user buffer too small, %d bytes required\n", length); return BUFF_TOO_SMALL; } offset = file->offset[index]; if( DEBUG1 ) printf("PBGGET: offset of GRIB number %d = %d\n", (index+1), offset); fp = file->fp; #ifdef FOPEN64 if( fseeko64( fp, offset, 0) ) { #else if( fseek( fp, offset, 0) ) { #endif perror("PBGGET: error in fseek"); return FSEEK_ERROR; } status = fread(buffer, 1, length, fp); if( status != length ) { fprintf(stderr,"PBGGET: error in fread\n"); return FREAD_ERROR; } return length; } } return INDEX_TOO_BIG; } fortint pbgget(_fcd filename, fortint * buffer, fortint * bufflen, fortint * n, fortint filename_len) { return pbgget_(filename,buffer,bufflen,n,filename_len); } /* // **************************************************************** */ #define FWRITE_ERROR -1 fortint pbgput_(_fcd filename, fortint * buffer, fortint * bufflen, fortint filename_len) { /* // Write an array to a file. */ integer length; integer thisFile; FILE * fp; gribfile * file; if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBGPUT: putting %d bytes to file %s\n", *bufflen, pfile); free(pfile); } thisFile = pbginitOutput(filename,filename_len); file = currentFile(openFiles, thisFile); fp = file->fp; length = fwrite(buffer, 1, *bufflen, fp); if( DEBUG1 ) printf("PBGPUT: number of bytes written = %d\n", length); if( length!=(*bufflen) ) return FWRITE_ERROR; else return (*bufflen); } fortint pbgput(_fcd filename, fortint * buffer, fortint * bufflen, fortint filename_len) { return pbgput_(filename,buffer,bufflen,filename_len); } /* // **************************************************************** */ void pbgclos_(_fcd filename, fortint filename_len) { openFiles.removeFile(filename, filename_len); return; } void pbgclos(_fcd filename, fortint filename_len) { pbgclos_(filename,filename_len); } /* // **************************************************************** */ integer pbginitInput(_fcd filename, fortint filename_len) { /* // Initialise indices for current file if necessary. */ integer thisFile; if( DEBUG2 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBG_pbginitInput: checking if file %s already open\n", pfile); free(pfile); } thisFile = openFiles.exists(filename,filename_len); if( thisFile == -1 ) { if( DEBUG2 ) printf("PBG_pbginitInput: file not yet open\n"); return ( openFiles.addRead(filename, filename_len) ); } if( DEBUG2 ) printf("PBG_pbginitInput: file has open slot %d\n", thisFile); return thisFile; } integer pbginitOutput(_fcd filename, fortint filename_len) { /* // Initialise output file if necessary. */ integer thisFile; if( DEBUG2 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBG_pbginitOutput: checking if file %s already open\n", pfile); free(pfile); } thisFile = openFiles.exists(filename,filename_len); if( thisFile == -1 ) { if( DEBUG2 ) printf("PBG_pbginitOutput: file not yet open\n"); return ( openFiles.addWrite(filename, filename_len) ); } if( DEBUG2 ) printf("PBG_pbginitOutput: file has open slot %d\n", thisFile); return thisFile; } integer exists(_fcd filename , fortint filename_len) { integer n; _fcd pfile; gribfile * file; /* // See if DEBUG switched on. */ if( ! debugSet ) { debugLevel = getenv("PBG_DEBUG"); if( debugLevel == NULL ) debugSet = DEBUGOFF; /* off */ else { int loop; for( loop = 0; loop < strlen(debugLevel) ; loop++ ) { if( ! isdigit(debugLevel[loop]) ) { printf("Invalid number string in PBG_DEBUG: %s\n", debugLevel); printf("PBG_DEBUG must comprise only digits [0-9].\n"); debugSet = DEBUGOFF; } } debugSet = DEBUGOFF + atol( debugLevel ); } if( DEBUG2 ) printf("PBG_exists: PBG_DEBUG switched on\n"); } if( openFiles.count > -1 ) { copyName(&pfile, filename, filename_len); if( DEBUG2 ) printf("PBG_exists: looking for filename = %s\n", pfile); for( n = 0; n <= openFiles.count; n++ ) { file = currentFile(openFiles, n); if( file != 0 ) { if( strcmp( file->fname, pfile ) == 0 ) { free(pfile); if( DEBUG2 ) printf("PBG_exists: file found in slot= %d\n", n); return n; } } } free(pfile); } return -1; } integer addFile(_fcd filename , fortint filename_len, char readwriteflag) { _fcd pfile; char mode[2] = " "; FILE * in; gribfile * previousLatest, * latest; openFiles.count++; copyName(&pfile, filename, filename_len); if( DEBUG2 ) printf("PBG_addFile: adding filename = %s\n", pfile); mode[0] = readwriteflag; #ifdef FOPEN64 in = fopen64(pfile,mode); #else in = fopen(pfile,mode); #endif if( in == NULL ) { perror("Error opening file"); exit(1); } if( openFiles.count == 0 ) { openFiles.files = (gribfile *)malloc(sizeof(gribfile)); latest = openFiles.files; } else { previousLatest = latestFile(openFiles); previousLatest->next = (gribfile *)malloc(sizeof(gribfile)); latest = previousLatest->next; } latest->fp = in; copyName(&(latest->fname),filename,filename_len); latest->readwriteflag = readwriteflag; latest->max = MAX_NUMBER_OF_GRIBS; latest->count = 0; #define MALLOC(a) (a) = (void *) malloc(space) if( readwriteflag == 'r' ) { integer space; space = sizeof(OFF_T)*MAX_NUMBER_OF_GRIBS; MALLOC(latest->offset); space = sizeof(integer)*MAX_NUMBER_OF_GRIBS; MALLOC(latest->length); MALLOC(latest->parameter); MALLOC(latest->level); MALLOC(latest->date); MALLOC(latest->time); MALLOC(latest->timestep); MALLOC(latest->localDefinitionNumber); MALLOC(latest->type); MALLOC(latest->stream); MALLOC(latest->repres); MALLOC(latest->levtype); MALLOC(latest->number); MALLOC(latest->vdate); MALLOC(latest->vtime); MALLOC(latest->tcNumber); MALLOC(latest->tcTotal); MALLOC(latest->clusterMethod); MALLOC(latest->tcStep); MALLOC(latest->clusterStepEnd); MALLOC(latest->tcNorth); MALLOC(latest->tcWest); MALLOC(latest->tcSouth); MALLOC(latest->tcEast); MALLOC(latest->clusterOpFcNumber); MALLOC(latest->clusterControlFcNumber); MALLOC(latest->tcNumOfFcs); MALLOC(latest->probScale); MALLOC(latest->probIndicator); MALLOC(latest->probLower); MALLOC(latest->probUpper); MALLOC(latest->ni); MALLOC(latest->nj); MALLOC(latest->nlat); MALLOC(latest->nlon); MALLOC(latest->slat); MALLOC(latest->slon); MALLOC(latest->di); MALLOC(latest->dj); MALLOC(latest->splat); MALLOC(latest->splon); MALLOC(latest->quasi); MALLOC(latest->directionNumber); MALLOC(latest->frequencyNumber); MALLOC(latest->optimisationTime); MALLOC(latest->leadTime); MALLOC(latest->sensitiveAreaDomain); MALLOC(latest->sensitiveAreaMethod); MALLOC(latest->verifyingMonth); MALLOC(latest->averagingPeriod); MALLOC(latest->forecastMonth); MALLOC(latest->referenceDate); MALLOC(latest->climateDateFrom); MALLOC(latest->climateDateTo); MALLOC(latest->thresholdUnitsScale); MALLOC(latest->thresholdIndicator); MALLOC(latest->lowerThreshold); MALLOC(latest->upperThreshold); } latest->next = 0; if( DEBUG2 ) printf("PBG_addFile: adding file %s in slot = %d\n", pfile, openFiles.count); free(pfile); return openFiles.count; } void removeFile(_fcd filename , fortint filename_len) { integer thisFile; int status; if( DEBUG2 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBG_removeFile: trying to remove filename = %s\n", pfile); free(pfile); } thisFile = openFiles.exists(filename,filename_len); if( thisFile != -1 ) { integer index; gribfile * previous = openFiles.files; gribfile * current; current = previous; for( index = 0; index < thisFile; index++ ) { previous = current; current = current->next; } status = fclose(current->fp); if( status != 0 ) { perror("Error closing file"); exit(1); } if( DEBUG2 ) printf("PBG_removeFile: removing file %s from slot %d\n", current->fname, thisFile); free(current->fname); /* // Input files have arrays of values */ if( current->readwriteflag == 'r' ) { free(current->offset); free(current->length); free(current->parameter); free(current->level); free(current->date); free(current->time); free(current->timestep); free(current->localDefinitionNumber); free(current->type); free(current->stream); free(current->repres); free(current->levtype); free(current->number); free(current->vdate); free(current->vtime); free(current->tcNumber); free(current->tcTotal); free(current->clusterMethod); free(current->tcStep); free(current->clusterStepEnd); free(current->tcNorth); free(current->tcWest); free(current->tcSouth); free(current->tcEast); free(current->clusterOpFcNumber); free(current->clusterControlFcNumber); free(current->tcNumOfFcs); free(current->probScale); free(current->probIndicator); free(current->probLower); free(current->probUpper); free(current->ni); free(current->nj); free(current->nlat); free(current->nlon); free(current->slat); free(current->slon); free(current->di); free(current->dj); free(current->splat); free(current->splon); free(current->quasi); free(current->directionNumber); free(current->frequencyNumber); free(current->optimisationTime); free(current->leadTime); free(current->sensitiveAreaDomain); free(current->sensitiveAreaMethod); free(current->verifyingMonth); free(current->averagingPeriod); free(current->forecastMonth); free(current->referenceDate); free(current->climateDateFrom); free(current->climateDateTo); free(current->thresholdUnitsScale); free(current->thresholdIndicator); free(current->lowerThreshold); free(current->upperThreshold); } if( thisFile == 0 ) openFiles.files = (current->next); else previous->next = (current->next); free(current); openFiles.count--; } } integer addRead(_fcd filename , fortint filename_len) { integer thisFile; if( DEBUG2 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBG_addRead: add for reading filename = %s\n", pfile); free(pfile); } thisFile = addFile(filename,filename_len,'r'); pbgindx( thisFile); return thisFile; } integer addWrite(_fcd filename , fortint filename_len) { integer thisFile; if( DEBUG2 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBG_addWrite: add for writing filename = %s\n", pfile); free(pfile); } thisFile = addFile(filename,filename_len,'w'); return thisFile; } void copyName(_fcd * pfile, _fcd filename, fortint filename_len) { /* // Copies FORTRAN filename to C string. */ char * blankCharacterPointer; integer space; *pfile = (char *) malloc((size_t) (filename_len+1) ); memcpy(*pfile, filename, (size_t) filename_len); space = (integer) filename_len; (*pfile)[space] = '\0'; blankCharacterPointer = strchr(filename, ' '); if( blankCharacterPointer != NULL ) { space = (integer) (blankCharacterPointer - filename); (*pfile)[space] = '\0'; } return; } gribfile * latestFile(collection openFiles) { integer index; gribfile * last = openFiles.files; for( index = 1; index < openFiles.count; index++ ) last = last->next; return last; } gribfile * currentFile(collection openFiles, integer thisFile) { integer index; gribfile * current = openFiles.files; for( index = 0; index < thisFile; index++ ) current = current->next; return current; } #ifdef gribAPI long Julian_to_date(long jdate) { #else long julian_to_date(long jdate) { #endif long x,y,d,m,e; long day,month,year; x = 4 * jdate - 6884477; y = (x / 146097) * 100; e = x % 146097; d = e / 4; x = 4 * d + 3; y = (x / 1461) + y; e = x % 1461; d = e / 4 + 1; x = 5 * d - 3; m = x / 153 + 1; e = x % 153; d = e / 5 + 1; if( m < 11 ) month = m + 2; else month = m - 10; day = d; year = y + m / 11; return year * 10000 + month * 100 + day; } #ifdef gribAPI long date_to_Julian(long ddate) { #else long date_to_julian(long ddate) { #endif long m1,y1,a,b,c,d,j1; long month,day,year; year = ddate / 10000; ddate %= 10000; month = ddate / 100; ddate %= 100; day = ddate; if (year < 100) year = year + 1900; if (month > 2) { m1 = month - 3; y1 = year; } else { m1 = month + 9; y1 = year - 1; } a = 146097*(y1/100)/4; d = y1 % 100; b = 1461*d/4; c = (153*m1+2)/5+day+1721119; j1 = a+b+c; return(j1); } fortint pbggeth012_(_fcd,fortint*,fortint,fortint,fortint); fortint soffset012_(unsigned char*,fortint*,fortint*,fortint*); #define XFIND_ERROR -1 fortint pbgxfind_(fortint * grib1, _fcd filename, fortint filename_len) { unsigned char* buffer1 = (unsigned char*) grib1; static fortint* ibuffer2 = NULL; static fortint buffer2Length = 0; fortint status, totalLength, headerLength, numberOfGribs, loop; fortint is0, is1, is2; fortint js0, js1, js2; numberOfGribs = pbgtotl_(filename,filename_len); if( numberOfGribs < 1 ) { if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("PBXFIND: No GRIBs in file %s\n", pfile); free(pfile); } return XFIND_ERROR; } status = soffset012_(buffer1, &is0, &is1, &is2); if( status ) return XFIND_ERROR; totalLength = THREEBYTELONG(buffer1+is0+4); headerLength = (is1 - is0); headerLength += THREEBYTELONG(buffer1+is1); if( is2 != 0 ) headerLength += THREEBYTELONG(buffer1+is2); for( loop = 0; loop < numberOfGribs; loop++) { fortint next, totalLength2, headerLength2; unsigned char * buffer2; next = loop + 1; if( ibuffer2 != NULL ) { if( buffer2Length < headerLength ) { ibuffer2 = (fortint*) realloc(ibuffer2,headerLength); if( ibuffer2 == NULL ) { printf("pbgxfind_: realloc failed\n"); return XFIND_ERROR; } buffer2Length = headerLength; } } else { ibuffer2 = (fortint*) malloc(headerLength); if( ibuffer2 == NULL ) { printf("pbgxfind_: malloc failed\n"); return XFIND_ERROR; } buffer2Length = headerLength; } totalLength2 = pbggeth012_(filename,ibuffer2,buffer2Length,next,filename_len); if( totalLength2 > 1 ) { buffer2 = (unsigned char*) ibuffer2; status = soffset012_(buffer2, &js0, &js1, &js2); if( status ) return XFIND_ERROR; if( totalLength == totalLength2 ) { headerLength2 = (js1 - js0); headerLength2 += THREEBYTELONG(buffer2+js1); if( js2 != 0 ) headerLength2 += THREEBYTELONG(buffer2+js2); if( headerLength == headerLength2 ) { if( (memcmp((buffer1+is0),(buffer2+js0),(size_t)headerLength) == 0) ) return next; } } } } return XFIND_ERROR; } fortint pbgxfind(fortint * grib1, _fcd filename, fortint filename_len) { return pbgxfind_(grib1,filename,filename_len); } #define GRIB_TOO_SMALL -4 fortint pbggeth012_(_fcd filename, fortint* buffer, fortint bufflen, fortint n, fortint filename_len) { /* // Gets section 0,1 and 2 for the nth GRIB product. */ integer index = n - 1; integer length, status; OFF_T offset; integer thisFile; FILE * fp; gribfile * file; if( DEBUG1 ) { _fcd pfile; copyName(&pfile, filename, filename_len); printf("pbggeth012: getting GRIB number %d in file %s\n", (index+1), pfile); free(pfile); } if( index >= 0 ) { thisFile = pbginitInput(filename,filename_len); file = currentFile(openFiles, thisFile); if( index < file->count ) { length = file->length[index]; if( DEBUG1 ) printf("pbggeth012: length of GRIB number %d = %d\n", (index+1), length); if( length < bufflen ) return GRIB_TOO_SMALL; offset = file->offset[index]; if( DEBUG1 ) printf("pbggeth012: offset of GRIB number %d = %d\n", (index+1), offset); fp = file->fp; #ifdef FOPEN64 if( fseeko64( fp, offset, 0) ) { #else if( fseek( fp, offset, 0) ) { #endif perror("pbggeth012: error in fseek"); return FSEEK_ERROR; } status = fread(buffer, 1, bufflen, fp); if( status != bufflen ) { fprintf(stderr,"pbggeth012: error in fread\n"); return FREAD_ERROR; } return length; } } return INDEX_TOO_BIG; } #define ERROR(a,b) {perror(a);return b;} #define GRIB 0x47524942 #define len3oct(p) ((((long)*(p))<<16) + (((long)*(p+1))<<8) + (long)*(p+2)) #define BIT1 0x80 #define BIT2 0x40 #define BIT3 0x20 #define BIT4 0x10 #define BIT5 0x08 #define BIT6 0x04 #define BIT7 0x02 #define BIT8 0x01 static int grab(unsigned char * , unsigned char * , long ,long ,long * ); fortint soffset012_( unsigned char * buffer, fortint* is0, fortint* is1, fortint* is2 ) { long s0, s1, s2, edition; int large = 0; int found = 0; int code = 0; long bytes_read = 0, advance; unsigned char p, edit_num, flag23; unsigned char size[3]; int section0 = 8, section1, section2; long total; /* // Read bytes until "GRIB" found */ do { if( grab(buffer, &p, 1, 1, &bytes_read) != 0) return 1; code = ( (code << 8) + p ) & 0xFFFFFFFF; if (code == GRIB ) found = 1; } while ( ! found ); s0 = bytes_read - 4; bytes_read = 4; /* // Now find out which edition of GRIB is present (default is 1) */ edition = 1; s1 = s0 + 8; if( (*(buffer+21-s0) == '\0') && (*(buffer+22-s0) == '\0') ) { edition = -1; /* GRIB edition -1 */ s1 = s0; section1 = 20; section0 = 4; } else { if( grab(buffer, size, 3, 1, &bytes_read) != 0) return 1; total = len3oct(size); if( total == 24 ) { /* // Move past the edition number */ if( grab(buffer, &edit_num, 1, 1, &bytes_read) != 0) return 1; edition = 0; /* GRIB edition 0 */ section1 = 24; s1 = s0 + 4; section0 = 4; } } if( edition == 1 ) { /* // See if it is an extra large (wave) product */ if( total > 0x800000 ) { total = (total&0x7fffff) * 120; large = 1; } /* // Move past the edition number */ if( grab(buffer, &edit_num, 1, 1, &bytes_read) != 0) return 1; /* // Read length of section 1 */ if( grab(buffer, size, 3, 1, &bytes_read) != 0) return 1; section1 = len3oct(size); } /* // Now figure out if section 2 is present */ advance = 4; bytes_read += advance; if( grab(buffer, &flag23, 1, 1, &bytes_read) != 0) return 1; section2 = flag23 & BIT1; /* // Advance to end of section 1 */ advance = section1 - (bytes_read - section0); bytes_read += advance; /* // Read section 2 length if it is given */ if( section2 ) { s2 = s0 + bytes_read; if( grab(buffer, size, 3, 1, &bytes_read) != 0) return 1; section2 = len3oct(size); advance = section2 - (bytes_read - section0 - section1); bytes_read += advance; } else { section2 = 0; s2 = 0; } /* // Success! */ *is0 = (fortint) s0; *is1 = (fortint) s1; *is2 = (fortint) s2; return 0; } static int grab(unsigned char * buffer, unsigned char * where, long size,long cnt,long * num_bytes_read) { long number = size*cnt; memcpy(where, (buffer+(*num_bytes_read)), number); *num_bytes_read += number; return 0; } emoslib-000392+dfsg.1/pbio/readbufr.c0000755000175000017500000000315312127406245020352 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* readbufr.c */ #include "bufrgrib.h" #include "fortint.h" #include "fileRead.h" fortint readbufr(FILE * file, char * buffer, fortint * bufr_prod_len) /* file = file pointer returned from PBOPEN buffer = buffer big enough to hold the BUFR product bufr_prod_len = size of the buffer on input, becomes size in BYTES of the BUFR product read. If the end-of-file is hit, the value is returned unchanged (ie. when the function return code is -1). Function returns: 0 if a BUFR product has been successfully read -1 if end-of-file is hit before a BUFR product is read -2 if there is an error in the file-handling (eg. if the file contains a truncated BUFR product) -3 if the size of buffer is not sufficient for the BUFR product */ { /* Read the BUFR product */ fortint length; fortint original_len; original_len = *bufr_prod_len; length = readprod("BUFR",buffer,&original_len,fileRead,fileSeek, fileTell,file); *bufr_prod_len = original_len; if ( buffer == NULL ) return ( length == -1 ? length : -3 ); else return ( length > 0 ? 0 : length ); } emoslib-000392+dfsg.1/pbio/sources.linux_g770000755000175000017500000000075112127406245021645 0ustar amckinstryamckinstry# # Sources for libemos/pbio for linux # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte_alpha.c emoslib-000392+dfsg.1/pbio/pbfp.c0000755000175000017500000000116112127406245017504 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include extern FILE** fptable; extern int fptableSize; FILE * pbfp(long index) { if( (fptable == NULL) || ((int)index < 0) || ((int)index >= fptableSize) ) return (FILE *) NULL; else return fptable[index]; } emoslib-000392+dfsg.1/pbio/lwsize.c0000755000175000017500000000315712127406245020101 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include "fortint.h" #include "fileRead.h" #define BUFFLEN 4096 void lwsize_( fortint ** unit, fortint * plen) { /* // Returns the size in bytes of the next GRIB, BUFR, TIDE, BUDG, DIAG // product. // // Called from C: // LWSIZE((fortint **) &unit, &plen); // // unit = file id returned from C fopen64. // plen = size in bytes of the next product. // = 0 if no product found // // The input file is left positioned where it started. */ fortint iret; char statbuff[BUFFLEN]; long offset; /* // Record the current position of the file */ offset = (fortint) fileTell(*unit); if( offset < 0 ) { perror("LWSIZE: fileTell error"); exit(1); } /* // Use a smallish buffer for processing; this should suffice for all cases // except versions -1 and 0 of GRIB and large BUFR products */ *plen = BUFFLEN; iret = readprod(NULL,statbuff,plen,fileRead,fileSeek,fileTell,*unit); if( (iret < 0) && (iret != -3) && (iret != -1) ) { *plen = 0; return; } /* // Put the file pointer back where it started */ offset = (fortint) fileSeek( *unit, offset, SEEK_SET); return ; } void lwsize(fortint** unit,fortint* plen) { lwsize_(unit,plen); } emoslib-000392+dfsg.1/pbio/sources.VPP50000000755000175000017500000000100112127406245020761 0ustar amckinstryamckinstry# # Sources for libemos/pbio for FUJITSU. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/fort2c.h0000755000175000017500000000464012127406245017766 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef FORT2C_H #define FORT2C_H /* fort2c.h */ #ifdef CRAY /* #include */ typedef int _f_int6; typedef long _f_int8; typedef _f_int6 _f_int; typedef _f_int8 _f_int4; typedef _f_int8 _f_int2; typedef _f_int8 _f_int1; typedef long _f_log8; typedef _f_log8 _f_log; typedef _f_log8 _f_log4; typedef _f_log8 _f_log2; typedef _f_log8 _f_log1; typedef double _f_real8; typedef long double _f_real16; typedef _f_real8 _f_real; typedef _f_real16 _f_dble; typedef _f_real8 _f_real4; typedef _Complex double _f_comp8; typedef _f_comp8 _f_comp; typedef union _FCD { char *c_pointer; struct { unsigned bit_offset : 6, fcd_len : 26, word_addr : 32; } _F; } _dcf; typedef void *_fcd; typedef void *_GPTR; typedef const void *_GPTR2CONST; extern _fcd _cptofcd (char *_Ccp, unsigned _Len); extern char * _fcdtocp (_fcd _Fcd); extern unsigned int _fcdlen (_fcd _Fcd); extern _f_log _btol (long _BV); extern long _lvtob (_f_log _LV); extern long _ltob (_f_log *_LP); extern char * _f2ccpy (_fcd f, ...); extern char * _fc_copy (_fcd f, char *s, int slen); extern char * _fc_acopy (_fcd f); extern int _c2fcpy(char *c, _fcd f); extern int _isfcd (long _P); static _fcd __cptofcd(char *c, unsigned int l); #pragma _CRI inline __cptofcd static _fcd __cptofcd(char *c, unsigned int l) { _dcf f; f.c_pointer = c; f._F.fcd_len = l << 3; return ((*(_fcd *) &f)); } static char * __fcdtocp(_fcd f); #pragma _CRI inline __fcdtocp static char * __fcdtocp(_fcd f) { char *c; _dcf d; d = (*(_dcf *) &f); d._F.fcd_len = 0; c = d.c_pointer; return (c); } #else #define _fcd char * #define _fcdtocp(a) a #define _fcdlen(a) strlen(a) #endif #ifdef VAX typedef struct {short length; short magic; char * address;}DESC; #define _fcdtocp(a) fcdtocp(a) #define _fcd DESC * #endif char *fcd2char(); /* fortran to c string convertion (alloc memory) */ #endif /* end of FORT2C_H */ emoslib-000392+dfsg.1/pbio/pbionum.F0000755000175000017500000000555512127406245020204 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION PBIONUM(KONOFF) C C----> C**** PBIONUM C C Purpose C ------- C C Returns current PBIO_CYCLE version number. C C C Interface C --------- C C INUM = PBIONUM(KONOFF) C C Input C ----- C C KONOFF - switch for displayed message C = 0 if display is required on the first call C = non-zero if display is not required C C C Output C ------ C C Returns a 6-digit version number, aaabbc, where: C aaa = 3-digit major number C bb = 2-digit minor number C c = 1-digit spare number (normally 0) C C C Method C ------ C C Reads a 6-digit version number from the environment variable C PBIO_CYCLE. If this does not give a 6-digit number, an internal C hard-coded default value is used. C C On the first call, the function (optionally) displays a message: C C ************************************** C * PBIO_CYCLE version number = aaabbc * C ************************************** C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF May 1998 C C C----< C ------------------------------------------------------------------ C* Section 0. Variables. C ------------------------------------------------------------------ C C IMPLICIT NONE C #include "grprs.h" C C Function arguments C INTEGER KONOFF C C Local variables C INTEGER INUMBER, ICOUNT, IOFFSET SAVE INUMBER, ICOUNT CHARACTER*38 CMESS CHARACTER*20 YNUMBER C DATA INUMBER/000010/, ICOUNT/0/ DATA CMESS/'* PBIO_CYCLE version number = ****** *'/ C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C IF( ICOUNT.EQ.0 ) THEN C C See if the environment variable has an override value C CALL GETENV( 'PBIO_CYCLE', YNUMBER) IOFFSET = INDEX( YNUMBER, ' ') IF( IOFFSET.EQ.7 ) THEN READ(YNUMBER,'(I6.6)') INUMBER ENDIF C C First time through, display the message if required C IF( KONOFF.EQ.0 ) THEN WRITE(CMESS(31:36),'(I6.6)') INUMBER WRITE(GRPRSM,*) '**************************************' WRITE(GRPRSM,*) CMESS WRITE(GRPRSM,*) '**************************************' ENDIF ICOUNT = 1 ENDIF C PBIONUM = INUMBER C RETURN END emoslib-000392+dfsg.1/pbio/sources.ibm_power40000755000175000017500000000072712127406245022074 0ustar amckinstryamckinstry# # Sources for libemos/pbio for rs6000. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/bufrgrib.h0000755000175000017500000000134312127406245020366 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef BUFRGRIB_H #define BUFRGRIB_H /* bufrgrib.h */ #include #include /* defines for BUFR functions */ #define ARRSIZE 100 #define TRUE 1 #define FALSE 0 #define BOOL int #define BOOLEAN int #ifdef VAX #define off_t char * #include #include #endif #define BUFSIZE 200 #endif /* end of BUFRGRIB_H */ emoslib-000392+dfsg.1/pbio/sources.linux0000755000175000017500000000074612127406245021165 0ustar amckinstryamckinstry# # Sources for libemos/pbio for linux # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte_le.c emoslib-000392+dfsg.1/pbio/mvchars.c0000755000175000017500000000235012127406245020221 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include "fortint.h" fortint mvchars_(fortint * k, char * s, long ls) { /* // Callable from Fortran to move a string of characters from s to integer // array k: // // INTEGER K(*) // CHARACTER*(*) S // INTEGER MVCHARS // EXTERNAL MVCHARS // // IRET = MVCHARS(K, S) // // Trailing blanks are ignored. // IRET is the count of the number of characters moved. */ int loop, last = -1; char * p = (char *) k; /* // Find the last non-blank character */ for( loop = (ls - 1) ; loop >=0; loop-- ) if( *(s+loop) != ' ' ) { last = loop; break; } /* // Fill k from s */ for( loop = 0; loop <= last ; loop++ ) *p++ = *(s+loop); return (fortint) (last+1); } fortint mvchars(fortint * k, char * s, long ls) { return mvchars_(k,s,ls); } emoslib-000392+dfsg.1/pbio/sources.hpia640000755000175000017500000000077612127406245021124 0ustar amckinstryamckinstry# # Sources for libemos/pbio for hppa. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/recheckLength.c0000755000175000017500000000774312127406245021337 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include long len3oct(char *p) { unsigned char A, B, C; A = *p; B = *(p+1); C = *(p+2); return( ((long)(A)*65536) + ((long)(B)*256) + (long)(C) ); } #define GRIB 0x47524942 #define BIT1 0x80 #define BIT2 0x40 static int grab(char * , char * , long ,long ,long * ); long recheckLength(char * buffer) { /* // On entry, buffer contains a GRIB edition 1 product (somewhere). // // The value returned is the length of the GRIB product calculated // from the individual lengths of sections 0, 1, 2, 3, 4 and 5; // sections 2 and 3 are optional and may or may not be present. // // If there is a problem processing the product, or if GRIB edition // -1 or 0 is encountered, the return value is -1. */ int large = 0; int found = 0; int code = 0; long bytes_read = 0, advance; char p, edit_num, flag23; char size[3]; int section0 = 8, section1, section2, section3, section4, section5 = 4; long total; char grp_7777[5]; long s0; /* Read bytes until "GRIB" found */ do { if( grab(buffer, &p, 1, 1, &bytes_read) != 0) return (-1); code = ( (code << 8) + p ) & 0xFFFFFFFF; if (code == GRIB ) found = 1; } while ( ! found ); s0 = bytes_read - 4; bytes_read = 4; if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); total = len3oct(size); if( total > 0x800000 ) { total = (total&0x7fffff) * 120; large = 1; } /* Check the edition number */ if( grab(buffer, &edit_num, 1, 1, &bytes_read) != 0) return (-1); if( edit_num != 1 ) { printf("Cannot handle GRIB edition 0\n"); return (-1); } /* reject edition 0 */ if( (*(buffer+21-s0) == '\0') && (*(buffer+22-s0) == '\0') ) { printf("Cannot handle GRIB edition -1\n"); return (-1); } /* reject edition -1 */ /* Read length of section 1 */ if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); section1 = len3oct(size); /* Now figure out if sections 2/3 are present */ advance = 4; bytes_read += advance; if( grab(buffer, &flag23, 1, 1, &bytes_read) != 0) return (-1); section2 = flag23 & BIT1; section3 = flag23 & BIT2; /* Advance to end of section 1 */ advance = section1 - (bytes_read - section0); bytes_read += advance; /* Read section 2 length if it is given*/ if( section2 ) { if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); section2 = len3oct(size); advance = section2 - (bytes_read - section0 - section1); bytes_read += advance; } /* Read section 3 length if it is given*/ if( section3 ) { if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); section3 = len3oct(size); advance = section3 - (bytes_read - section0 - section1 - section2); bytes_read += advance; } /* Read section 4 length */ if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); section4 = len3oct(size); if( large ) section4 = total + 3 - bytes_read - section4; advance = section4 - (bytes_read - section0 - section1 - section2 - section3); bytes_read += advance; /* Check 7777 group is in the expected place */ if( grab(buffer, grp_7777, 4, 1, &bytes_read) != 0) return (-1); bytes_read += 4; /* Success! */ return (section0+section1+section2+section3+section4+section5); } static int grab(char * buffer, char * where, long size,long cnt,long * num_bytes_read) { long number = size*cnt; memcpy(where, (buffer+(*num_bytes_read)), number); *num_bytes_read += number; return 0; } emoslib-000392+dfsg.1/pbio/gbyte.c0000755000175000017500000001670712127406245017703 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* // gbyte.c */ #include #include #include #include "fortint.h" /* // Retrieve or store arbitrary bit-size values from or to SWORD-bit words // // Rewritten April 2000, J.D.Chambers, ECMWF. // */ void gbytes_( void *, void *, fortint *, fortint *, fortint *, fortint *); void gbytes( void *, void *, fortint *, fortint *, fortint *, fortint *); void gbyte_( void* , void *, fortint *, fortint *); void gbyte( void* , void *, fortint *, fortint *); void sbytes_( void* , void *, fortint *, fortint *, fortint *, fortint *); void sbytes( void* , void *, fortint *, fortint *, fortint *, fortint *); void sbyte_( void* , void *, fortint *, fortint *); void sbyte( void* , void *, fortint *, fortint *); #ifdef INTEGER_8 #define BITS_PER_WORD 64 #else #define BITS_PER_WORD 32 #endif # define SWORD BITS_PER_WORD /* Word size in bits */ static fortint MASK = -1; /* Mask of sword bits */ # define VALUE(p,q,b) \ (((b)==BITS_PER_WORD ? MASK : ~(MASK<<(b))) & ((p)>>(SWORD-((q)+(b))))) /* // Gets a b-bit value, with its leftmost bit at position q // (q = 0 for most significant bit) */ # define MASKVALUE(q,b) \ ((b)==BITS_PER_WORD ? MASK : (~(MASK<<(b))<<(SWORD-((q)+(b))))) /* // Creates a b-bit mask, with its leftmost bit at position q // (q = 0 for most significant bit) */ void gbytes_( void *Source, void *Destination, fortint *startSkip, fortint *bitsPerValue, fortint *skipBetweenValues, fortint *numberOfValues) { /* // GBYTES: // // Unpacks values from source to destination. // // Makes an initial skip over bits in source, then skips bits between values. // // startSkip >= 0 Number of bits to be skipped preceding first // value in source // // 0 < bitsPerValue < 32 Size in bits of each value // // skipBetweenValues >= 0 Number of bits to be skipped between values // // numberOfValues >= 0 Number of values to be packed/unpacked // */ fortint * source = (fortint *) Source; fortint * destination = (fortint *) Destination; fortint nextWord,nextValueFirstBit,next; nextWord = 0; nextValueFirstBit = *startSkip; for (next = 0; next < *numberOfValues; ++next) { gbyte_(&source[nextWord],&destination[next],&nextValueFirstBit,bitsPerValue); nextValueFirstBit += *bitsPerValue + *skipBetweenValues; nextWord += nextValueFirstBit/SWORD; nextValueFirstBit %= SWORD; } } void gbytes( void *Source, void *Destination, fortint *startSkip, fortint *bitsPerValue, fortint *skipBetweenValues, fortint *numberOfValues) { gbytes_(Source,Destination,startSkip,bitsPerValue,skipBetweenValues, numberOfValues); } void gbyte_( void* Source, void *Destination, fortint *nextValueFirstBit, fortint *bitsPerValue) { /* // GBYTE: // // Unpacks one value from source to destination. // // nextValueFirstBit >= 0 Number in word of first bit to process // // 0 < bitsPerValue < SWORD Size in bits of each value // // Value may overlap a word boundary */ fortint * source = (fortint *) Source; fortint * destination = (fortint *) Destination; fortint countOfLeftmostBits,nextWord,leftmostBits,startBit,remainingBits; /* // Position at start word and bit */ startBit = *nextValueFirstBit; remainingBits = *bitsPerValue; if (startBit >= SWORD) { nextWord = startBit/SWORD; startBit %= SWORD; } else nextWord=0; /* // If value spans a word boundary, pick up leftmost bits first */ countOfLeftmostBits = startBit + remainingBits; if (countOfLeftmostBits > SWORD) { countOfLeftmostBits = SWORD - startBit; remainingBits -= countOfLeftmostBits; leftmostBits = (VALUE(source[nextWord],startBit,countOfLeftmostBits)) << remainingBits; startBit = 0; nextWord++; } else leftmostBits = 0; /* // Complete value by picking up the rightmost bits */ *destination = leftmostBits + (VALUE(source[nextWord],startBit,remainingBits)); } void gbyte( void* Source, void *Destination, fortint *nextValueFirstBit, fortint *bitsPerValue) { gbyte_(Source,Destination,nextValueFirstBit,bitsPerValue); } void sbytes_( void* Destination, void *Source, fortint *startSkip, fortint *bitsPerValue, fortint *skipBetweenValues, fortint *numberOfValues) { /* // SBYTES: // // Packs values from source to destination. // // Makes an initial skip over bits in source, then skips bits between values. // // startSkip >= 0 Number of bits to be skipped preceding first // value in destination // // 0 < bitsPerValue < 32 Size in bits of each value // // skipBetweenValues >= 0 Number of bits to be skipped between values // // numberOfValues >= 0 Number of values to be packed/unpacked // */ fortint * source = (fortint *) Source; fortint * destination = (fortint *) Destination; fortint nextWord,nextValueFirstBit,next; nextWord = 0; nextValueFirstBit = *startSkip; for (next = 0; next < *numberOfValues; ++next) { sbyte_(&destination[nextWord],&source[next],&nextValueFirstBit,bitsPerValue); nextValueFirstBit += *bitsPerValue + *skipBetweenValues; nextWord += nextValueFirstBit/SWORD; nextValueFirstBit %= SWORD; } } void sbytes( void* Destination, void *Source, fortint *startSkip, fortint *bitsPerValue, fortint *skipBetweenValues, fortint *numberOfValues) { sbytes_(Destination,Source,startSkip,bitsPerValue,skipBetweenValues, numberOfValues); } void sbyte_( void* Destination, void *Source, fortint *nextValueFirstBit, fortint *bitsPerValue) { /* // SBYTE: // // Packs one value from source to destination. // // nextValueFirstBit >= 0 Number in word of first bit to store // // 0 < bitsPerValue < SWORD Size in bits of each value // // Value may overlap a word boundary // */ fortint * source = (fortint *) Source; fortint * destination = (fortint *) Destination; fortint countOfLeftmostBits,nextWord,startBit,remainingBits,rightmostBits; /* // Position at start word and bit */ startBit = *nextValueFirstBit; remainingBits = *bitsPerValue; if (startBit >= SWORD) { nextWord = startBit / SWORD; startBit %= SWORD; } else nextWord = 0; /* // If value spans a word boundary, store leftmost bits first */ countOfLeftmostBits = startBit + remainingBits; if (countOfLeftmostBits > SWORD) { countOfLeftmostBits = SWORD - startBit; startBit = SWORD - remainingBits; remainingBits -= countOfLeftmostBits; destination[nextWord] = ((destination[nextWord] >> countOfLeftmostBits) << countOfLeftmostBits) + (VALUE(*source,startBit,countOfLeftmostBits)); startBit = 0; nextWord++; } /* // Complete value by storing the rightmost bits */ rightmostBits = VALUE(*source,SWORD-remainingBits,remainingBits); destination[nextWord] = (destination[nextWord] & ~MASKVALUE(startBit,remainingBits)) + (rightmostBits << SWORD-(remainingBits+startBit)); } void sbyte( void* Destination, void *Source, fortint *nextValueFirstBit, fortint *bitsPerValue) { sbyte_(Destination,Source,nextValueFirstBit,bitsPerValue); } emoslib-000392+dfsg.1/pbio/sources.itanium0000755000175000017500000000075112127406245021470 0ustar amckinstryamckinstry# # Sources for libemos/pbio for linux # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte_alpha.c emoslib-000392+dfsg.1/pbio/pbsize.c0000755000175000017500000000424612127406245020060 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #ifndef VAX #include #endif #include "bufrgrib.h" #include "fortint.h" #define BUFFLEN 4096 #include "fileRead.h" void PBSIZE(FILE ** in, fortint * plen) /* Returns the size in bytes of the next GRIB, BUFR, TIDE, BUDG, DIAG product. Called from FORTRAN: CALL PBSIZE( KUNIT, LENGTH) in = file id returned from PBOPEN. plen = size in bytes of the next product. = -2 if error allocating memory for internal buffer. The input file is left positioned where it started. */ { fortint iret; char statbuff[BUFFLEN]; char * buff; long offset, loop = 1; /* Use a smallish buffer for processing; this should suffice for all cases except versions -1 and 0 of GRIB and large BUFR products */ offset = (fortint) fileTell( *in); *plen = BUFFLEN; iret = readprod(NULL,statbuff,plen,fileRead,fileSeek,fileTell,*in); if( iret == -2 ) { printf("readprod error %d\n", iret); *plen = -2; return; } /* If the smallish buffer is too small, progressively increase it until big enough */ while ( iret == -4 ) { loop++; buff = (char *) malloc( BUFFLEN*loop); if( buff == NULL) { perror("malloc failed in PBSIZE"); *plen = -2; return; } *plen = BUFFLEN*loop; offset = (fortint) fileSeek( *in, offset, SEEK_SET); offset = (fortint) fileTell( *in); iret = readprod(NULL,buff,plen,fileRead,fileSeek,fileTell,*in); free(buff); } if( iret == -2 ) { printf("readprod error %d\n", iret); *plen = -2; } /* Put the file pointer back where it started */ offset = (fortint) fileSeek( *in, offset, SEEK_SET); return ; } emoslib-000392+dfsg.1/pbio/gbyte_le.c0000755000175000017500000002534012127406245020354 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #define EFDEBUG 0 #define fortint int #define GBYTES gbytes_ #define GBYTE gbyte_ #define SBYTES sbytes_ #define SBYTE sbyte_ #define SWORD 32 #define MASKSWORD 0x3f static int onbit[32] = { 0x00000001,0x00000002,0x00000004,0x00000008, 0x00000010,0x00000020,0x00000040,0x00000080, 0x00000100,0x00000200,0x00000400,0x00000800, 0x00001000,0x00002000,0x00004000,0x00008000, 0x00010000,0x00020000,0x00040000,0x00080000, 0x00100000,0x00200000,0x00400000,0x00800000, 0x01000000,0x02000000,0x04000000,0x08000000, 0x10000000,0x20000000,0x40000000,0x80000000}; static unsigned long masks[] = {0,1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, 2147483647, -1}; /* // GBYTE: // // Unpacks one value from source to destination. // // Makes an initial skip over bits in source. // // startSkip >= 0 Number of bits to be skipped preceding first // value in source // // 0 < bitsPerValue < SWORD <= 32 Size in bits of each value // // // Rewritten to get better preformance on little endian machines. // This code is portable to big endian machines. // November 2006 Enrico Fucile // */ void GBYTE( void* Source, void* Destination, int* bitToSkip, int* bitsPerValue) { fortint mask,nextWord,nextValueFirstBit,moveBitsLeft,moveBitsRight,nextByte,nextBitOfByte; int bytesPerValue,extraBitsPerValue; unsigned long i0,i1,i2,i3,temp,temp1; unsigned char* source = (unsigned char*) Source; fortint* destination = (fortint*) Destination; nextBitOfByte = *bitToSkip % 8; extraBitsPerValue = *bitsPerValue % 8; #if EFDEBUG printf("---- nextBitOfByte = %d\n",nextBitOfByte); if (nextBitOfByte != 0) printf("---- (not zero) nextBitOfByte = %d\n",nextBitOfByte); printf("---- bitsPerValue= %d ---\n",*bitsPerValue); #endif if (*bitsPerValue > 32) { int byte, bitShift, bit; fortint t = 0; int bpv = *bitsPerValue; int nextBit = *bitToSkip; for ( bit = 0; bit < bpv; bit++ ) { byte = ( nextBit ) >> 3; bitShift = 7 - ( nextBit++ ) & 0x7; temp <<= 1 ; if( (source[byte] & onbit[bitShift]) ) temp |= 1; } *destination = temp; return; } if ( extraBitsPerValue==0 && nextBitOfByte == 0 ) { nextByte = *bitToSkip / 8; #if EFDEBUG printf("---- nextByte = %d\n",nextByte); printf("---- bytesPerValue = %d\n",bytesPerValue); fflush(stdout); #endif switch (*bitsPerValue) { case 8: *destination=(fortint) source[nextByte]; break; case 16: *destination=(fortint) ((source[nextByte]<<8) + source[nextByte+1]); break; case 24: *destination=(fortint) ((source[nextByte]<<16) + (source[nextByte+1]<<8) +source[nextByte+2]); break; case 32: *destination=(fortint) ((source[nextByte]<<24) + (source[nextByte+1]<<16) +(source[nextByte+2]<<8)+source[nextByte+3]); break; default: destination=0; } #if EFDEBUG printf("-------------------- destination=%ld\n",(long)*destination); #endif } else { mask=masks[*bitsPerValue]; nextWord = *bitToSkip / SWORD; nextByte = nextWord*4; nextValueFirstBit = *bitToSkip % SWORD; moveBitsLeft = 0; moveBitsRight = SWORD - *bitsPerValue - nextValueFirstBit; #if EFDEBUG printf("---- nextWord = %d\n",nextWord); printf("---- nextValueFirstBit = %d\n",nextValueFirstBit); printf("---- moveBitsRight= %d\n",moveBitsRight); #endif if (moveBitsRight > 0) { i0=(unsigned long)(source[nextByte]) << 24; i1=(unsigned long)(source[nextByte+1]) << 16; i2=(unsigned long)(source[nextByte+2]) << 8; i3=(unsigned long)(source[nextByte+3]) ; *destination = (fortint)( ((i0 + i1 + i2 + i3) >> moveBitsRight) & mask ); #if EFDEBUG printf("-------------------- destination=%ld\n",(char)*destination,(long)*destination); #endif } else if ( moveBitsRight < 0 ) { moveBitsLeft=-moveBitsRight; moveBitsRight=SWORD-moveBitsLeft; i0=(unsigned long)(source[nextByte]) << 24; i1=(unsigned long)(source[nextByte+1]) << 16; i2=(unsigned long)(source[nextByte+2]) << 8; i3=(unsigned long)(source[nextByte+3]) ; temp1 = (unsigned long)(i0 + i1 + i2 + i3) << moveBitsLeft ; i0=(unsigned long)(source[nextByte+4]) << 24; i1=(unsigned long)(source[nextByte+5]) << 16; i2=(unsigned long)(source[nextByte+6]) << 8; i3=(unsigned long)(source[nextByte+7]) ; temp= (unsigned long)(i0 + i1 + i2 + i3) >> moveBitsRight; *destination = (fortint) (temp1 | temp); *destination &= mask; #if EFDEBUG printf("+++++++++ destination=%ld temp1=%ld temp=%ld mask=%ld bitsPerValue=%d moveBitsRight=%d moveBitsLeft=%d\n",*destination,temp1,temp,mask,*bitsPerValue,moveBitsRight,moveBitsLeft); #endif } else { i0=(fortint)(source[nextByte]) << 24; i1=(fortint)(source[nextByte+1]) << 16; i2=(fortint)(source[nextByte+2]) << 8; i3=(fortint)(source[nextByte+3]) ; *destination = ( i0 + i1 + i2 + i3 ) & mask ; #if EFDEBUG printf("-------------------- destination=%ld\n",(char)*destination,(long)*destination); #endif } } } #if 0 void GBYTE( void* Source, void* Destination, int* startSkip, int* bitsPerValue) { /* // GBYTE: // // Unpacks one value from source to destination. // // Makes an initial skip over bits in source. // // startSkip >= 0 Number of bits to be skipped preceding first // value in source // // 0 < bitsPerValue < SWORD Size in bits of each value // // Move one bit at a time (!!) // Uses shifts and masks instead of divides. // Sets destination bit to 0/1 as source bit is 0/1. */ int bpv, temp, nextBit, byte, bitShift, bit; unsigned char* source = (unsigned char*) Source; int* destination = (int*) Destination; temp = 0; bpv = *bitsPerValue; nextBit = *startSkip; for ( bit = 0; bit < bpv; bit++ ) { byte = ( nextBit ) >> 3; bitShift = 7 - ( nextBit++ ) & 0x7; temp <<= 1 ; if( (source[byte] & onbit[bitShift]) ) temp |= 1; } *destination = temp; } #endif /* // Retrieve or store arbitrary bit-size values from or to SWORD-bit words // // Rewritten April 2000, J.D.Chambers, ECMWF. // */ void GBYTES( void* Source, void* Destination, int* startSkip, int* bitsPerValue, int* skipBetweenValues, int* numberOfValues) { /* // GBYTES: // // Unpacks values from source to destination. // // Makes an initial skip over bits in source, then skips bits between values. // // startSkip >= 0 Number of bits to be skipped preceding first // value in source // // 0 < bitsPerValue < SWORD Size in bits of each value // // skipBetweenValues >= 0 Number of bits to be skipped between values // // numberOfValues >= 0 Number of values to be packed/unpacked // // Move one bit at a time (!!) // Uses shifts and masks instead of divides. // Sets destination bit to 0/1 as source bit is 0/1. */ unsigned char* source = (unsigned char*) Source; int* destination = (int*) Destination; int bpv, bit, byte, bitShift, nextBit, nextValueFirstBit, next, step; bpv=*bitsPerValue; step = *bitsPerValue + *skipBetweenValues; nextValueFirstBit = *startSkip; /* assert(*bitsPerValue <= 8*sizeof(*destination)); */ for (next = 0; next < *numberOfValues; ++next) { destination[next] = 0; nextBit=nextValueFirstBit; /* printf("--- nextValueFirstBit=%d\n",nextValueFirstBit); */ GBYTE(source,&destination[next],&nextValueFirstBit,&bpv); /* for ( bit = 0; bit < bpv; bit++ ) { byte = ( nextBit ) >> 3; bitShift = 7 - ( nextBit++ ) & 0x7; destination[next] <<= 1 ; if( (source[byte] & onbit[bitShift]) ) destination[next] |= 1; } */ nextValueFirstBit += step; } } void SBYTES( void* Destination, void* Source, int* startSkip, int* bitsPerValue, int* skipBetweenValues, int* numberOfValues) { /* // SBYTES: // // Packs values from source to destination. // // Makes an initial skip over bits in source, then skips bits between values. // // startSkip >= 0 Number of bits to be skipped preceding first // value in destination // // 0 < bitsPerValue < SWORD Size in bits of each value // // skipBetweenValues >= 0 Number of bits to be skipped between values // // numberOfValues >= 0 Number of values to be packed/unpacked // // Move one bit at a time (!!) // Uses shifts and masks instead of divides. // Sets destination bit to 0/1 as source bit is 0/1. */ unsigned char* destination = (unsigned char*) Destination; int* source = (int*) Source; int bitShift, bitPosition; int nextValueFirstBit, bpvm1; int nextDestination, nextBit, bit; int step, nextValue; unsigned char setBit0[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char setBit1[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; step = *bitsPerValue + *skipBetweenValues; nextValueFirstBit = *startSkip; bpvm1 = (*bitsPerValue - 1); for( nextValue = 0; nextValue < *numberOfValues; ++nextValue) { nextBit = nextValueFirstBit; for ( bit = 0; bit < *bitsPerValue; bit++ ) { nextDestination = ( nextBit ) >> 3; bitShift = (bpvm1 - bit) & MASKSWORD; bitPosition = 7 - (( nextBit++ ) & 0x7); if( (source[nextValue] & onbit[bitShift]) ) destination[nextDestination] |= setBit1[bitPosition]; else destination[nextDestination] &= setBit0[bitPosition]; } nextValueFirstBit += step; } } void SBYTE( void* destination, void* source, int* startSkip, int* bitsPerValue) { /* // SBYTE: // // Packs one value from source to destination. // // Makes an initial skip over bits in source. // // startSkip >= 0 Number of bits to be skipped preceding first // value in source // // 0 < bitsPerValue < SWORD Size in bits of each value // */ int skipBetweenValues=0, numberOfValues=1; SBYTES(destination, source, startSkip, bitsPerValue, &skipBetweenValues, &numberOfValues); } emoslib-000392+dfsg.1/pbio/sources.hppa0000755000175000017500000000100512127406245020743 0ustar amckinstryamckinstry# # Sources for libemos/pbio for hppa. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c_hppa.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/sources.ibm_power70000755000175000017500000000072712127406245022077 0ustar amckinstryamckinstry# # Sources for libemos/pbio for rs6000. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/sizeRoutines.h0000755000175000017500000000216612127406245021273 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef SIZE_ROUTINES_H #define SIZE_ROUTINES_H static fortint prodsize(fortint, char *, fortint, fortint *, fortint (*fileRead)(), void *); static fortint gribsize(char * , fortint, fortint * , fortint (*fileRead)(), void * ); static fortint bufrsize(char * , fortint, fortint * , fortint (*fileRead)(), void * ); static fortint tide_budg_size(char *, fortint, fortint *, fortint (*fileRead)(), void *); static fortint lentotal(char *, fortint *, fortint, fortint , fortint , fortint , fortint (*fileRead)(), void *); static fortint waveLength(char *); static fortint crex_size( void * ); #endif /* end of SIZE_ROUTINES_H */ emoslib-000392+dfsg.1/pbio/setpar.c0000755000175000017500000000171012127406245020053 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* // setpar.c // // This is a replacement for the SETPAR.f FORTRAN-callable subroutine. // It sets the number of bits per word (kbit), // and the largest negative number (kneg). // The diagnostic print option is no longer supported (kpar). // */ #include #include "fortint.h" void setpar_(fortint * kbit, fortint * kneg, fortint * kpar) { *kbit = sizeof(fortint)*8 ; #ifdef INTEGER_IS_INT *kneg = INT_MIN ; #else *kneg = LONG_MIN ; #endif return; } void setpar(fortint * kbit, fortint * kneg, fortint * kpar) { setpar_(kbit,kneg,kpar); } emoslib-000392+dfsg.1/pbio/extras.c0000755000175000017500000000322312127406245020064 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* extras.c */ #include #include #include static char *putfstr(char *target, char *source, int length_target) { int i; /* Move characters from C source to Fortran target */ strcpy(target,source); /* Pad Fortran target to end with spaces */ for(i = strlen(source); i C**** EMOSNUM C C Purpose C ------- C C Returns current EMOSLIB version number. C C C Interface C --------- C C INUM = EMOSNUM(KONOFF) C C Input C ----- C C KONOFF - switch for displayed message C = 0 if display is required on the first call C = non-zero if display is not required C C C Output C ------ C C Returns a 6-digit version number, aaabbc, where: C aaa = 3-digit major number C bb = 2-digit minor number C c = 1-digit spare number (normally 0) C C C Method C ------ C C Reads a 6-digit version number from the environment variable C EMOS_CYCLE. If this does not give a 6-digit number, an internal C hard-coded default value is used. C C On the first call, the function (optionally) displays a message: C C *********************************** C * EMOSLIB version number = aaabbc * C *********************************** C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF May 1998 C C C----< C ------------------------------------------------------------------ C* Section 0. Variables. C ------------------------------------------------------------------ C C IMPLICIT NONE C #include "grprs.h" C C Function arguments C INTEGER KONOFF C C Local variables C INTEGER INUMBER, ICOUNT, IOFFSET SAVE INUMBER, ICOUNT CHARACTER*35 CMESS CHARACTER*20 YNUMBER C DATA INUMBER/000392/, ICOUNT/0/ DATA CMESS/'* EMOSLIB version number = ****** *'/ C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C EMOSNUM = INUMBER C RETURN END emoslib-000392+dfsg.1/pbio/Makefile.in0000755000175000017500000000122112127406245020453 0ustar amckinstryamckinstry# # # A64 = plat R64 = reals ARCH = arch CNAME = comp LIB = depl LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources.$(ARCH) # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.c) FASTOBJ.o = $(FASTSRC.c:.c=.o) FASTOBJ = $(FASTOBJ.o) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(FASTOBJ.o): $(FASTSRC.c) $(CC) $(FASTCFLAGS) -c $(FASTSRC.c) $(LIBRARY): $(OBJECTS) $(FASTOBJ) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ include make.dep clean: \rm -f $(OBJECTS) $(FASTOBJ) *.f emoslib-000392+dfsg.1/pbio/blokex.F0000755000175000017500000015403212127406245020012 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C Subroutine BLOKEX (Ksec0,Ksec1,Ksec2,Klen2, & Kblok,Kbdim,Kword,Kmaxw,Hoper,Hform,Kret) C----> c** c**** Name *BLOKEX* c**** ---- c** c** Purpose c** ------- c** 1) Block data in BLOK code, Edition 0. c** 2) Unblock data from BLOK code. c** 3) Decode only identification section of BLOK c** coded data ie Sections 0 and 1. c** c** A number of options exist when coding or decoding data. c** See values allowed for requested function, Hoper, Below. c** c** Interface c** --------- c** c** Call BLOKEX (Ksec0,Ksec1,Ksec2,Klen2, c** & Kblok,Kbdim,Kword,Kmaxw,Hoper,Hform,Kret) c** c** c** Integer K* c** Character H* c** c** Input parameters for all functions: c** ----------------------------------- c** c** Hoper - Requested function: c** c** 'B' To code data in BLOK code. The input, c** when using this function, is the full c** data array (original parent form) Ksec2. c** The output array, Kblok, in this case c** contains all related BLOK messages. The c** length of each BLOK message is Kmaxw, c** except the last one which length is c** (Kword-(Ksec0(5)-1)*Kmaxw). c** c** 'C' To code data in BLOK code. The input, c** when using this function, is the part of the c** data array (origianl parent form) Ksec2 c** which will be coded in BLOK code. c** c** 'F' To unblock data from BLOK code. By c** successive calling Blokex with this c** function, it will collect related BLOK c** messages until the original parent form is c** achieved (when the return code is 0). c** c** 'I' To decode only identification c** sections 0 and 1 of BLOK code. c** c** 'L' Return length of BLOK message, in c** bytes, and BLOK edition number only. c** c** 'U' To unblock single BLOK message. c** c** Kbdim - Dimension of array Kblok c** c** Kret - Response to error indicator c** c** 0 , Abort if error encountered. c** Non-zero , Return to calling routine c** even if error encountered. c** c** Input parameters for coding functions. c** -------------------------------------- c** Section Word Contents: c** ------- ---- --------- c** Ksec0 4 Flag; c** c** decimal c** value meaning c** ----- ------- c** 0 Section 1 to be omitted c** 128 Section 1 to be present c** c** Input parameters for coding functions. c** Output parameters for decoding functions. c** ----------------------------------------- c** Ksec2 - Integer parameters of section 2 (Data c** section) of BLOK code. c** c** Klen2 - Length of array Ksec2 c** c** Kmaxw - Maximun length of single BLOK message c** c** Output parameters for coding functions. c** Input parameters for decoding functions. c** ---------------------------------------- c** Kblok - Integer parameters of BLOK coded data array. c** c** Output parameters for decoding functions. c** ----------------------------------------- c** Ksec0 - Integer parameters of section 0 of c** BLOK code. c** Integer array of 7 words. c** c** Word Contents: c** ---- --------- c** 1 Total length of this BLOK c** 2 BLOK code edition number c** (currently edition 0) c** 3 Total length of parent form c** 4 Flag; c** c** decimal c** value meaning c** ----- ------- c** 0 Section 1 omitted c** 128 Section 1 present c** c** 5 Total number of related BLOKs c** 6 Sequence number of this BLOK c** 7 Reserved c** c** c** Ksec1 - Integer parameters of section 1 c** of BLOK code (contains integer parameters c** of section 0 and identification section c** of the parent form). c** When coding data, if Section 1 requested to be c** present (Ksec0(4)=128) then: c** Function 'B' requested - Ksec1 is extracted c** from the parent form and inserted in each related c** BLOK. c** Function 'C' requested - Ksec1 is extracted from c** the parent form when the Ksec0(6)=1 and saved to c** be inserted in each related BLOK (untill the c** Ksec0(6)=1 again). c** c** Output parameters for all functions. c** ------------------------------------ c** Kword - Number of words of Kblok occupied by c** coded data. Output parameter for coding c** function only. Not required as input c** for decoding. c** c** Hform - Parent data format description ('GRIB', c** 'BUFR',' '). c** c** Kret - return code. c** c** 0 , no errors encountered (when 'F' c** function requested, also means c** that the all related blocks unblocked c** and original parent form achieved). c** c** Kret leter then 0 - Informative codes for c** decoding functions. c** c** -1 , input array (Kblok) does not contain c** BLOK coded data. c** -2 , 'F' function requested, all c** related blocks not yet unblocked and c** and the original parent form not yet c** achieved. c** c** Kret greater then 0 - Error codes. c** c** Error codes are described by the c** appropriate output error messages when c** encountered. c** c** Method c** ------ c** Input data packed in BLOK code in accordance with c** parameters given or set by user or fully or partially c** unpacked, depending on function used. c** c** Externals c** --------- c** *Abortx* - Terminate execution of the job. c** *Inxbit* - Contains calls to the routines gbyte(s) c** and sbyte(s) or their equivalents. c** *Setpar* - Set number of bits in the computer word c** (and largest negative number). c** c** Reference. c** ---------- c** WMO manual on codes for BLOK definition. c** c** Comments. c** --------- c** Versions of source code exist for the vax, cyber, ibm c** and sun workstation, as well as the cray. c** c** The following defaults are used. They have been selected c** to facilitate the most frequent usage at ECMWF. c** c** 1) by default debug printout is switched off. c** Call grsdbg (i) where c** i=non-zero, to switch on debug printout. c** 0, to switch off debug printout. c** c** 2) by default the rounding of 120 octets is switched on. c** Call grsrnd (i) where c** i=non-zero, to switch on rounding c** 0, to switch off rounding c** c** Author c** ------ c** D.Jokic, ECMWF, Feb-1992. c** C----< c* c* Prefix conventions for variable names. c c Character H, dummy arguments, c Y, local variables. c Integer N, global. c K, dummy arguments. c I, local variables. c Implicit none c Character*1 Hoper Character*4 Hform c Character*1 Ycoper Character*1 Ydoper Character*1 Yoper c Integer i Integer Ibits Integer Ibufr Integer Icoun Integer Idata Integer Ie Integer Ieblk Integer Iedit Integer Iendm Integer Igrib Integer Iilen Integer Ilen1 Integer Ilen Integer Iname Integer Inblok Integer Initial Integer Inspt Integer Insptl Integer Imisng Integer Ioff Integer Iorder Integer Iret Integer Is Integer Isec1 Integer Itblen Integer Itplen Integer Itemp Integer Iword2 Integer Iword c Integer Jbedno Integer Jplen1 c Integer Kblok Integer Kbdim Integer Klen2 Integer Kret Integer Ksec0 Integer Ksec1 Integer Ksec2 Integer Kword Integer Kmaxw c Integer Nblok Integer Nbcoun Integer Nbseqn Integer Ndbg Integer Nfcoun Integer Nflag Integer Nrnd Integer N7777 Integer Nuser c c Blok code version number used when coding data. c Parameter (Jbedno=0) c c Length (in octets) used for section 1, when coding data. c Parameter (Jplen1=36) c Dimension Kblok(*) Dimension Ksec0(*) Dimension Ksec1(*) Dimension Ksec2(*) c Dimension Nblok(4) Dimension Ibufr(4) #ifdef CRAY Dimension Idata(Kbdim) #else Dimension Idata(34000) #endif Dimension Ieblk(4) Dimension Iendm(4) Dimension Igrib(4) Dimension Iname(4) Dimension N7777(4) Dimension Isec1(Jplen1) c c c Characters BLOK and 7777 in ascii for use in sections 0 and 3 c of BLOK code. c Data Nblok /66,76,79,75/ Data N7777 /55,55,55,55/ c c Characters GRIB and BUFR in ascii. c Data Igrib /71,82,73,66/ Data Ibufr /66,85,70,82/ c c Ycoper - Default operator value for all coding functions c Ydoper - Default operator value for all decoding functions c Data Ycoper /'C'/ Data Ydoper /'D'/ c c First Call flag c Data Initial /0/ c Real Fref Integer Nfref,Nvck Common /GRBCOM/ Fref,Nfref,Nrnd,Ndbg,Nvck,Nuser c Save Nblok,N7777 Save Nbseqn,Nbcoun,Nfcoun Save Nflag Save Initial,Ibits,Itplen Save Ilen1,Isec1 c c ------------------------------------------------------------------ c c* 1. Initialise c ---------- 100 Continue c c Set number of bits per computer word and debug indicator, c if first time through (Imisng is not using). c If (Initial.eq.0) Then Call Setpar (Ibits,Imisng,Ndbg) Initial=1 c c Internal length of the parent form c Itplen=0 c c Nflag - Flag ; 0 - 'F' function not requested c 1 - 'F' function requested and full c parent form uncompleted c 2 - 'F' function requested, full c parent form uncompleted and fields are c not in right order c 3 - 'F' function requested, full c parent form completed and fields are c not in right order c Nflag=0 c c Field counters c Nbcoun=1 Nfcoun=0 c c Sequence number c Nbseqn=0 c End if c c* 1.1 Initialise variables c 110 Continue c c Internal return code c Iret=0 c c Bit-pointer c Inspt=0 c c Number of words in the single BLOK message c Iword=0 Kword=0 c c* 1.2 Set parameters c 120 Continue c c Set default values for parameters, if values not already set, c either on previous call or by user via calls to the grs--- c routines. c If (Nuser.ne.11041967) Then c c Set rounding to 120 bytes on c Nrnd=1 c c Set debug print off c c Ndbg=0 c c Mark common values set c Nuser=11041967 c End if c c When coding, print input parameters, if required. c If (Ndbg.eq.1) Then Write (*,*) '/Blokex/ Paragraph 1.' If (Hoper.eq.'C') Then Call Blprs0 (Ksec0) End if End if c c c ------------------------------------------------------------------ c c* 2. Check input parameters and reset appropriate variables c ----------------------------------------------------- 200 Continue c If (Ndbg.eq.1) Write (*,*) '/Blokex/ Paragraph 2.' c c* 2.1 Check that valid function has been requested c 210 Continue If (Hoper.ne.'B'.and.Hoper.ne.'C'.and. & Hoper.ne.'I'.and.Hoper.ne.'L'.and. & Hoper.ne.'U'.and.Hoper.ne.'F' ) Then Iret=210 Write (*,9210) Hoper,Iret Go to 910 End if c c Set internal function parameter c If (Hoper.eq.'B'.or.Hoper.eq.'C') Then Yoper='B' Else Yoper='U' End if c c* 2.2 Rounding of 120 bytes c 220 Continue If (Yoper.eq.'B') Then c If (Nrnd.eq.1) Then If (Mod(Kmaxw*Ibits,120).ne.0) Then Iret=220 Write(*,9220) Kmaxw,Nrnd,Iret Go to 910 End if End if c c* 2.3 Check BLOK identification section flag - Ksec0(4) c 230 Continue If (Ksec0(4).ne.0.and.Ksec0(4).ne.128) Then Iret=230 Write(*,9230) Ksec0(4),Iret Go to 900 End if c c Reset length of BLOK identification section c If (Ksec0(4).eq.0) Ilen1=0 c c* 2.4 Check dimensions and preset output array to 0 c 240 Continue c c Check dimension Kbdim of the output array Kblok against the c the length of the parent form Klen2 c If (Kbdim.le.Klen2) Then Iret=240 Write(*,9240) Kbdim,Klen2,Iret Go to 900 End if c c Array to receive coded BLOK data c Do 242 i=1,Kbdim Idata(i)=0 242 Continue c c First and last position for the extraction from the Ksec2 c Is=0 Ie=0 c End if c c* 2.5 Extract section 0 and section 1 of the parent code and c* make identification section of BLOK code (if BLOK c* identification section requested Ksec0(4)=128) c 250 Continue c c Do the extraction if function 'B' requested or c function 'C' requested and BLOK sequence number is 1 c If (Hoper.eq.'B'.or.(Hoper.eq.'C'.and.Ksec0(6).eq.1)) Then c If (Ksec0(4).ne.0) Then c c Parent code edition number; Extract field c Itemp=56 Call Inxbit (Ksec2,Klen2,Itemp,Iedit,1,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=251 Write (*,9101) 'parent code edition number.',Iret Go to 900 End if c If (Iedit.eq.0) Itemp=32 c c Length of the parent identification section; c Extract field c Call Inxbit (Ksec2,Klen2,Itemp,Ilen1,1,Ibits,24, & Ydoper,Iret) If (Iret.ne.0) Then Iret=252 Write (*,9101) & 'length of the pareant identification section.',Iret Go to 900 End if If (Ilen1.gt.Jplen1) Then Iret=2521 Write (*,9251) Iret Go to 900 End if c c Length of the BLOK identification section c Itemp=Itemp-24 Ilen1=Ilen1+Itemp/8 c c Parent section 0 and section 1; c Extract field c Itemp=0 Call Inxbit (Ksec2,Klen2,Itemp,Isec1(1),Ilen1,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=253 Write (*,9101) 'Parent section 0 and section 1.',Iret Go to 900 End if c End if c End if c c* 2.6 Reset internal parameters c 260 Continue If (Hoper.eq.'B') Then c c Total number of related bloks c If (Kmaxw.le.0) Then Iret=260 Write (*,9260) Kmaxw,Iret Go to 900 End if Inblok=Klen2/Kmaxw+1 c c Total length of all BLOK messages c Itblen=Inblok*Kmaxw Itemp=Klen2+(Inblok*(120*8/Ibits)) If (Itblen.lt.Itemp) Inblok=Inblok+1 c Ksec0(5)=Inblok c c Total length of the parent form c Ksec0(3)=Klen2*Ibits/8 c c Blok sequence number c Nbseqn=0 c End if c c Number of Ksec2 words which will be inserted c into one BLOK message c If (Hoper.eq.'C') Then c If (Kmaxw.le.Klen2) Then Iret=263 Write (*,9263) Kmaxw,Klen2,Iret Go to 900 End if c Iword2=Klen2 c Else if (Hoper.eq.'B') Then c Iword2=Kmaxw-(((16+4+Ilen1)*8/Ibits)+1) Iret=Iword2*Ibits If (Mod(Iret,960).ne.0) Then Iret=Iret/960 Iret=Iret*960 Iword2=Iret/Ibits End if c End if c c ------------------------------------------------------------------ c c* 3. BLOK Section 0 c -------------- 300 Continue c c Section 0 shall always be 16 octets long c If (Ndbg.eq.1) Write(*,*) '/Blokex/ Paragraph 3.' c c* 3.1 Octets 1-4; The letters B L O K c 310 Continue c c Four 8 bit fields c If (Yoper.eq.'B') Then c c Insert fields c Call Inxbit (Idata,Kbdim,Inspt,Nblok(1),4,Ibits,8, & Ycoper,Iret) If (Iret.ne.0) Then Iret=310 Write (*,9100) 'Octets 1-4; The letters B L O K',Iret Go to 900 End if c Else c c Extract fields c Call Inxbit (Kblok,Kbdim,Inspt,Ieblk(1),4,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=311 Write (*,9101) 'Octets 1-4; The letters B L O K',Iret Go to 900 End if Do 312 i=1,4 If (Ieblk(i).ne.Nblok(i)) Then Iret=-1 Go to 910 End if 312 Continue c End if c c* 3.2 Octets 5-7; Length of message c 320 Continue c c One 24 bit field c If (Yoper.eq.'B') Then c c When coding data, skip field. Length is inserted c later, when known. c Insptl=Inspt c c Update bit-pointer. c Inspt=Inspt+24 c Else c c Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Ksec0(1),1,Ibits,24, & Ydoper,Iret) If (Iret.ne.0) Then Iret=320 Write (*,9101) 'Octets 5-7; Length of message.',Iret Go to 900 End if c c c If only length is required, go to paragraph 9. c If (Hoper.eq.'L') Then Write(*,9321) Ksec0(1) Go to 900 End if c Kword=(Ksec0(1)+Ibits/8-1)*8/Ibits c End if c c* 3.3 Octet 8; Blok edition number c 330 Continue c c One 8 bit field c If (Yoper.eq.'B') Then c c Set value c Ksec0(2)=Jbedno c c Insert field c Call Inxbit (Idata,Kbdim,Inspt,Ksec0(2),1,Ibits,8, & Ycoper,Iret) If (Iret.ne.0) Then Iret=330 Write (*,9100) 'Octet 8; Blok edition number.',Iret Go to 900 End if c Else c c Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Ksec0(2),1,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=330 Write (*,9101) 'Octet 8; Blok edition number.',Iret Go to 900 End if c End if c c* 3.4 Octets 9-11; Total length of parent form c 340 Continue c c One 24 bit field c If (Yoper.eq.'B') Then c c Insert field c Call Inxbit (Idata,Kbdim,Inspt,Ksec0(3),1,Ibits,24, & Ycoper,Iret) If (Iret.ne.0) Then Iret=340 Write (*,9100) 'Octets 9-11; Length of parent form.',Iret Go to 900 End if c Else c c Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Ksec0(3),1,Ibits,24, & Ydoper,Iret) If (Iret.ne.0) Then Iret=341 Write (*,9101) 'Octets 9-11; Length of parent form.',Iret Go to 900 End if End if c c* 3.5 Octet 12; Flag (Code table 1) c 350 Continue c c One 8 bit field c If (Yoper.eq.'B') Then c c Insert field c Call Inxbit (Idata,Kbdim,Inspt,Ksec0(4),1,Ibits,8, & Ycoper,Iret) If (Iret.ne.0) Then Iret=350 Write (*,9100) 'Octet 12; Flag.',Iret Go to 900 End if c Else c c Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Ksec0(4),1,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=352 Write (*,9101) 'Octet 12; Flag.',Iret Go to 900 End if c End if c c c* 3.6 Octet 13; Total number of related BLOKS c 360 Continue c c One 8 bit field c If (Yoper.eq.'B') Then c c Insert field c Call Inxbit (Idata,Kbdim,Inspt,Ksec0(5),1,Ibits,8, & Ycoper,Iret) If (Iret.ne.0) Then Iret=360 Write (*,9100) 'Octet 13; Total number of related bloks.', & Iret Go to 900 End if c Else c c Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Ksec0(5),1,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=361 Write (*,9101) 'Octet 13; Total number of related bloks.', & Iret Go to 900 End if c c Check order of fields if function 'F' requested c If (Nflag.ne.0) Then If (Nbseqn/1000.ne.Ksec0(5)) Then Iret=-362 Write (*,9425) Iret Call Blprs0 (Ksec0) Go to 739 End if End if c End if c c* 3.7 Octet 14; Sequence number of this BLOK c 370 Continue c c One 8 bit field c If (Hoper.eq.'B') Then c c Reset value c Nbseqn=Nbseqn+1 Ksec0(6)=Nbseqn c End if c If (Yoper.eq.'B') Then c c Insert field c Call Inxbit (Idata,Kbdim,Inspt,Ksec0(6),1,Ibits,8, & Ycoper,Iret) If (Iret.ne.0) Then Iret=370 Write (*,9100) 'Octet 14; Sequence number of this BLOK.', & Iret Go to 900 End if c Else c c Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Ksec0(6),1,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=371 Write (*,9101) 'Octet 14; Sequence number of this BLOK.', & Iret Go to 900 End if c End if c c* 3.8 Octets 15-16; Reserved c 380 Continue c c One 16 bit field c If (Yoper.eq.'B') Then c c When coding data, skip field. c Ksec0(7)=0 c c Update bit-pointer. c Inspt=Inspt+16 c Else c c Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Ksec0(7),1,Ibits,16, & Ydoper,Iret) If (Iret.ne.0) Then Iret=381 Write (*,9101) 'Octets 15-16;',Iret Go to 900 End if c End if c c ------------------------------------------------------------------ c c* 4. BLOK Section 1 - Identification section c --------------------------------------- 400 Continue If (Ndbg.eq.1) Write (*,*) '/Blokex/ Paragraph 4.' If (Ksec0(4).ne.128) Go to 499 c c* 4.1 Coding data c 410 Continue c c Copy section 0 and identification section of the parent code c into the section 1 of BLOK code c If (Yoper.eq.'B') Then c c Insert field c Call Inxbit (Idata,Kbdim,Inspt,Isec1(1),Ilen1,Ibits,8, & Ycoper,Iret) If (Iret.ne.0) Then Iret=415 Write (*,9100) 'bit fields into BLOK section 1.',Iret Go to 900 End if c c* 4.2 Decoding data c 420 Continue Else Itemp=Inspt c c Name of the parent form c Call Inxbit (Kblok,Kbdim,Itemp,Iname(1),4,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=421 Write (*,9101) 'Name of the parent form.',Iret Go to 900 End if Icoun=0 Hform='GRIB' Do 422 i=1,4 If (Iname(i).eq.Igrib(i)) Icoun=Icoun+1 422 Continue If (Icoun.ne.4) Then Icoun=0 Do 423 i=1,4 If (Iname(i).eq.Ibufr(i)) Icoun=Icoun+1 423 Continue If (Icoun.eq.4) Then Hform='BUFR' Else Iret=423 Write (*,9423) Iret Go to 900 End if End if c c Parent code edition number; Extract field c Itemp=Inspt+56 Call Inxbit (Kblok,Kbdim,Itemp,Iedit,1,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=424 Write (*,9101) 'Parent code edition number.',Iret Go to 900 End if c c Set first word in the output array Ksec1 and check order c of fields if 'F' function requested c If (Nflag.ne.0) Then If (Iedit.ne.Ksec1(1)) Then Iret=-425 Write (*,9425) Iret Call Blprs0 (Ksec0) Call Blprs1 (Ksec1,Hform) Go to 739 End if End if Ksec1(1)=Iedit c c Reset position of the length of the parent section 1 for c the different parent code versions c If (Hform.eq.'GRIB'.and.Iedit.lt.1) Then Itemp=Inspt+32 Else if (Hform.eq.'BUFR'.and.Iedit.lt.2) Then Itemp=Inspt+32 End if c c Length of the identification section; Extract field c Call Inxbit (Kblok,Kbdim,Itemp,Ilen1,1,Ibits,24, & Ydoper,Iret) If (Iret.ne.0) Then Iret=426 Write (*,9101) 'Length of the section 1.',Iret Go to 900 End if Inspt=Itemp c c* 4.2.1 GRIB code identification section c 4210 Continue If (Hform.eq.'GRIB') Then c c Octet 4 : Version Number of Table 2. c Octet 5 : Identification of centre. c Octet 6 : Generating process identification. c Octet 7 : Grid definition. c Octet 8 : Flag. c Octet 9 : Indicator of parameter. c Octet 10 : Indicator of type of level. c c Seven 8 bit fields. c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(1),7,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4210 Write (*,9101) 'Octets 4-10; Section 1.',Iret Go to 900 End if c c Octets 11 - 12 : Height, pressure etc of levels c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(8),2,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4211 Write (*,9101) 'Octets 11-12; Section 1.',Iret Go to 900 End if c c Octet 13 : Year of century. c Octet 14 : Month. c Octet 15 : Day. c Octet 16 : Hour. c Octet 17 : Minute. c Octet 18 : Indicator of unit of time range.. c c Six 8 bit fields. c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(10),6,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4212 Write (*,9101) 'Octets 13-18; Section 1.',Iret Go to 900 End if c c Octets 19 - 20 : Period of time. c One 16 bit field or two 8 bit fields. c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(16),2,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4213 Write (*,9101) 'Octets 19-20; Section 1.',Iret Go to 900 End if c c Octet 21 : Time range indicator. c One 8 bit field. c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(18),1,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4214 Write (*,9101) 'Octet 21; Section 1.',Iret Go to 900 End if c c Octet 22 - 23 : Number averaged. c One 16 bit field. c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(19),1,Ibits,16, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4215 Write (*,9101) 'Octets 22-23; Section 1.',Iret Go to 900 End if c c Octet 24 : Number missing from averages etc. c Octet 25 : Century of data. c Octet 26 : Reserved field. (set to 0) c Three 8 bit field. c Itemp=3 Ilen=20 If (Iedit.le.0) Itemp=1 c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(20),Itemp,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4216 Write (*,9101) 'Octets 24-26; Section 1.',Iret Go to 900 End if c c Octets 27 - 28 : Units decimal scale factor. c One 16 bit field. c If (Iedit.gt.0) Then c c Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(23),1,Ibits,16, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4217 Write (*,9101) 'Octets 27-28; Section 1.',Iret Go to 900 End if Ilen=24 c End if c c Set output array Ksec1 and check order of fields if c 'F' function requested c Do 4218 i=1,Ilen If (Nflag.ne.0) Then If (Ksec1(i+1).ne.Isec1(i)) Then Iret=-4218 Write (*,9425) Iret Call Blprs0 (Ksec0) Call Blprs1 (Ksec1,Hform) Go to 739 End if Else Ksec1(i+1)=Isec1(i) End if 4218 Continue c c* 4.2.2 BUFR code identification section c 4220 Continue Else if (Hform.eq.'BUFR') Then c c Octet 4 : BUFR master table c One 8 bit field. c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(1),1,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4220 Write (*,9101) 'Octet 4; Section 1.',Iret Go to 900 End if c c Octet 5-6 : Originating centre c One 16 bit field. c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(2),1,Ibits,16, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4221 Write (*,9101) 'Octets 5-6; Section 1.',Iret Go to 900 End if c c Octet 7 : Update sequence number c Octet 8 : Flag. c Octet 9 : BUFR message type c Octet 10 : BUFR message sub-type c Octet 11 : Version number of master table used c Octet 12 : Version number of local tables used to augment c the master table in use c Octet 13 : Year of century. c Octet 14 : Month. c Octet 15 : Day. c Octet 16 : Hour. c Octet 17 : Minute. c Octet 18 : Indicator of unit of time range.. c c Twelve 8 bit fields. c Call Inxbit (Kblok,Kbdim,Inspt,Isec1(3),12,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=4212 Write (*,9101) 'Octets 7-18; Section 1.',Iret Go to 900 End if c End if c End if 499 Continue c c Print content of Section 0 and Section 1 if function 'I' requested c If (Hoper.eq.'I') Go to 900 c c ------------------------------------------------------------------ c c* 5. BLOK Section 2 - Binary Data Section c ------------------------------------ 500 Continue If (Ndbg.eq.1) Write(*,*) '/Blokex/ Paragraph 5.' c c* 5.1 Coding data c 510 Continue If (Yoper.eq.'B') Then c c First and last position of the Ksec2 array for the c data which will be inserted in the current BLOK message c Is=Ie+1 If (Ksec0(5).ne.Ksec0(6)) Then Ie=Is+Iword2-1 Else Ie=Klen2 End if c c Data to be inserted in the current blok c Iilen=0 Do 511 i=Is,Ie Iilen=Iilen+1 Kblok(Iilen)=Ksec2(i) 511 Continue c c Insert field c Call Inxbit (Idata,Kbdim,Inspt,Kblok,Iilen,Ibits,Ibits, & Ycoper,Iret) If (Iret.ne.0) Then Iret=512 Write (*,9100) 'binary data section (Section 2).',Iret Go to 900 End if c c* 5.2 Decoding data c 520 Continue Else c c Length of the data section c Iilen=(Ksec0(1)*8-Inspt)/Ibits c c Data section; Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Idata,Iilen,Ibits,Ibits, & Ydoper,Iret) If (Iret.ne.0) Then Iret=522 Write (*,9101) 'binary data section (Section 2).',Iret Go to 900 End if End if c c ------------------------------------------------------------------ c c* 6. BLOK Section 3 - Ascii 7777 c --------------------------- 600 Continue If (Ndbg.eq.1) Write (*,*) '/Blokex/ Paragraph 6.' c c Four 8 bit fields c c* 6.1 Coding data c 610 Continue If (Yoper.eq.'B') Then c c Insert field c Call Inxbit (Idata,Kbdim,Inspt,N7777(1),4,Ibits,8, & Ycoper,Iret) If (Iret.ne.0) Then Iret=611 Write (*,9100) 'BLOK Section 3 (7777).',Iret Go to 900 End if c c Length of BLOK message c Ksec0(1)=(Inspt-Iword*Ibits)/8 c c Insert field c Call Inxbit (Idata,Kbdim,Insptl,Ksec0(1),1,Ibits,24, & Ycoper,Iret) If (Iret.ne.0) Then Iret=802 Write (*,9100) 'Total length of this message',Iret Go to 900 End if c c* 6.2 Decoding data c 620 Continue Else c c Reset counter c Itemp=0 621 Continue c c Extract field c Call Inxbit (Kblok,Kbdim,Inspt,Iendm(1),4,Ibits,8, & Ydoper,Iret) If (Iret.ne.0) Then Iret=621 Write (*,9101) 'BLOK Section 3 (7777).',Iret Go to 900 End if c c Check that 7777 group is found where expected c Icoun=0 Do 622 i=1,4 If (Iendm(i).ne.N7777(i)) Icoun=Icoun+1 622 Continue If (Icoun.ne.0) Then c c Search backward c Inspt=Inspt-8-4*8 Itemp=Itemp+1 If (Itemp.gt.8) Then Iret=623 Write (*,9623) Iret Go to 900 End if Go to 621 Else c c Update length of the data section c If (Itemp.eq.0) Then Iword=Iilen Else Iword=Iilen-(Itemp*8/Ibits) End if End if c End if c c ------------------------------------------------------------------ c c* 7. Complete single message c ----------------------- 700 Continue If (Ndbg.eq.1) Write(*,*) '/Blokex/ Paragraph 7.' c c* 7.1 Coding data c 710 Continue If (Yoper.eq.'B') Then c c Any unused part of last word is already set to binary zeroes c Increment pointers as necessary c Iword=Inspt/Ibits Itemp=Iword*Ibits Ioff =Inspt-Itemp If (Ioff.ne.0) Then Inspt=Inspt+Ibits-Ioff Iword=Iword+1 End if c c Round length to a multiple of 120 octets, if required, c any additional words are already set to 0. c If (Nrnd.eq.1) Then i=Inspt/960 i=i*960 i=Inspt-i If (i.ne.0) i=(960-i)/Ibits Iword=Iword+i Inspt=Iword*Ibits End if c c Output BLOK coded data array c If (Nbseqn.eq.Inblok.or.Hoper.eq.'C') Then Do 711 i=1,Iword Kblok(i)=Idata(i) 711 Continue End if Kword=Iword c c* 7.2 Decoding data; Function 'U' c 720 Continue Else if (Hoper.eq.'U') Then c Do 721 i=1,Iword Ksec2(i)=Idata(i) 721 Continue Klen2=Iword c c* 7.3 Decoding data; Function 'F' c 730 Continue Else if (Hoper.eq.'F') Then c c Collect fields c If (Nflag.eq.0) Then c c Nflag=0; Function 'F' requested, first time through c c Check the order of the first field c Nflag=1 If (Ksec0(6).ne.Nbcoun) Then c c Field is not in right order c Nflag=2 c c Suppress current unblocking stage c Nfcoun=1 Ksec2(Itplen+Iword+1)=Ksec0(6)*1000000+Iword c End if c Else if (Nflag.eq.1) Then c c Nflag=1; Function 'F' requested, fields in order c c Check the order of the current field c If (Ksec0(6).ne.Nbcoun) Then c c Fields are not in right order c Nflag=2 c c Suppress previous and current unblocking stage c If (Nfcoun.eq.0) Then Itemp=Nbseqn/1000 Itemp=Nbseqn-Itemp*1000 Ksec2(Itplen+Iword+1)=Itemp*1000000+Itplen End if Nfcoun=2 Ksec2(Itplen+Iword+2)=Ksec0(6)*1000000+Iword c End if c Else if (Nflag.eq.2) Then c c Nflag=2; Unblocked fields are not in right order c c Increase counter of the fields which are not in order c Nfcoun=Nfcoun+1 c c Suppress current unblocking stage c Ksec2(Itplen+Nfcoun)=Ksec0(6)*1000000+Iword c c Update internally used part of Ksec2 c Do 733 i=Nfcoun,1,-1 Ksec2(Itplen+Iword+i)=Ksec2(Itplen+i) 733 Continue c c Reset flag if total number of related bloks achieved c If (Nbcoun.eq.Ksec0(5)) Nflag=3 c End if c Do 734 i=1,Iword Itplen=Itplen+1 Ksec2(Itplen)=Idata(i) 734 Continue Klen2=Itplen Nbseqn=Ksec0(5)*1000+Ksec0(6) c c Repack parent form if fields are not in right order c If (Nflag.eq.3) Then c c Find first field in right order, if any c If (Nfcoun.eq.Nbcoun) Then c c No fields in order c Iilen=0 Icoun=0 Inblok=1 Itblen=0 c Else c c Number of the fields in right order c Icoun=Ksec2(Itplen+1)/1000000 Inblok=2 Itblen=Icoun-1 c c Length of the fields in right order c Iilen=Ksec2(Itplen+1)-Icoun*1000000 c End if c Do 7350 Ie=Inblok,Nfcoun Icoun=Icoun+1 Is=Iilen c Do 7351 i=Ie,Nfcoun c c Sequence number of the field c Iorder=Ksec2(Itplen+i)/1000000 c c Length of the field c Ilen=Ksec2(Itplen+i)-Iorder*1000000 c c Field starting index in the array Ksec2 c If (Iorder.eq.Icoun) Then Itemp=i Go to 7352 Else Is=Is+Ilen End if c 7351 Continue Iret=-7351 Write(*,97351) Icoun,Iret Call Blprs1(Ksec1,Hform) Go to 739 c c Repack parent form so that 'Icoun' field is c in right order c 7352 Continue c Do 7353 i=1,Ilen Idata(i)=Ksec2(Is+i) 7353 Continue Do 7354 i=Is+Ilen+1,Itplen Ksec2(i-Ilen)=Ksec2(i) 7354 Continue Do 7355 i=Itplen-Ilen,Iilen+1,-1 Ksec2(i+Ilen)=Ksec2(i) 7355 Continue Do 7356 i=1,Ilen Iilen=Iilen+1 Ksec2(Iilen)=Idata(i) 7356 Continue c c Repack internaly used part of Ksec2 c Idata(1)=Ksec2(Itplen+Itemp) Do 7357 i=Itplen+Itemp+1,Itplen+Nfcoun Ksec2(i-1)=Ksec2(i) 7357 Continue Do 7358 i=Itplen+Nfcoun,Itplen+Iorder-Itblen,-1 Ksec2(i)=Ksec2(i-1) 7358 Continue Ksec2(Itplen+Iorder-Itblen)=Idata(1) c 7350 Continue c End if c c Reset internal total parent length if it is achieved c Itemp=Ksec0(3)*8/Ibits If (Nbcoun.eq.Ksec0(5)) Then Iret=0 If (Itplen.ne.Itemp) Then Iret=-739 Write(*,9739) Itemp,Itplen,Iret End if Else Iret=-2 Nbcoun=Nbcoun+1 Go to 800 End if c End if c c Reset flags to default values c 739 Continue If (Hoper.eq.'F') Then Nflag=0 Itplen=0 Nbseqn=0 Nbcoun=1 Nfcoun=0 End if c c ------------------------------------------------------------------ c c* 8. Continue loop over all single BLOK messages c ------------------------------------------- 800 Continue If (Ndbg.eq.1) Write(*,*) '/Blokex/ Paragraph 8.' c If (Nbseqn.ne.Inblok.and.Hoper.eq.'B') Then Go to 300 End if c c ------------------------------------------------------------------ c c* 9. Return code handling c -------------------- 900 Continue c If (Ndbg.eq.1) Write(*,*) '/Blokex/ Paragraph 9.' If (Ndbg.eq.1.or.Hoper.eq.'I') Then Call Blprs0 (Ksec0) If (Ksec0(4).eq.128.and.Yoper.ne.'B') Then Call Blprs1 (Ksec1,Hform) End if End if c c If no error has been encountered, set return code to informative c value, if required. c c Abort if any error has been encountered and user has requested c an abort. Informative values are negative and do not cause an c abort. c 910 Continue If (Iret.gt.0.and.Kret.eq.0) Then Call abortx ('BLOKEX') Else Kret=Iret Return End if c 9100 Format (' Blokex: Error inserting ',a,' Return code=',i4) 9101 Format (' Blokex: Error extracting ',a,' Return code=',i4) 9210 Format (' Blokex: Error, Unrecognised function requested: ',a/ & ' ',' Return code=',i3) 9220 Format (' Blokex: Error, Requested length of single', & ' BLOK message ',i10,' words'/ & ' is not multiple of 120 bytes.'/ & ' ',' Rounding of 120 bytes included; Nrnd=',i3/ & ' ',' Return code=',i3) 9230 Format (' Blokex: Error, Unrecognised entry Ksec0(4)=',i6/ & ' ',' Valid entry: 0 /or/ 128.'/ & ' ',' Return code=',i3) 9240 Format (' Blokex: Error, Output array too small to receive', & ' BLOK coded field.'/ & ' ',' Kbdim=',i9,' Klen2=',i9/ & ' ',' Return code=',i3) 9251 Format (' Blokex: Error, Unrecognised parent data format.'/ & ' ',' BLOK Section 1 requested to be', & ' included (Ksec0(4)=128) for the'/ & ' ',' unrecognised parent data format.'/ & ' ',' Return code=',i4) 9260 Format (' Blokex: Error, Maximum length of single BLOK ', & ' message Kmaxw=',i9/ & ' ',' not valid.'/ & ' ',' Return code=',i3) 9263 Format (' Blokex: Error, Required single BLOK length Kmaxw=', & i9,' too small'/ & ' ',' to receive input field Klen2=',i9, & '; Fuction C requested.'/ & ' ',' Return code=',i3) 9321 Format (' Blokex: Total length of this BLOK is ',i8, & ' octets.') 9423 Format (' Blokex: Error, Unrecognised parent code name.'/ & ' ',' Return code=',i3) 9425 Format (' Blokex: Error, Input fields are not in right order.' & /' ',' Unblocking uncompleted.'/ & ' ',' Function requested F.'/ & ' ',' Return code=',i5) 9623 Format (' Blokex: Error, End of message 7777 group not', & ' found.'/ & ' ',' Return code=',i3) 9739 Format (' Blokex: Error, Original parent length: ',i12,/ & ' ',' differ from the length achieved after full', & ' decoding: ',i12/ & ' ',' Return code=',i4) 97351 Format (' Blokex: Error, BLOK sequence ',i3,' missing.'/ & ' ',' Unblocking uncompleted.'/ & ' ',' Return code=',i5) c End Subroutine Blprs0(Ksec0) c** c**** Name *Blprs0* c**** ---- c** c** Purpose c** ------- c** Print the information in the Indicator c** Section (Section 0) of BLOK data. c** c** Interface c** --------- c** Input: Ksec0 - Array of decoded parameters from Section 0. c** c** Output: Printed data on the standard output. c** c** Method c** ------ c** Fields are printed as integers. c** c** Externals c** --------- c** None. c** c** Author c** ------ c** D.Jokic, ECMWF, February-1992. c** Integer Ksec0(*) c c ------------------------------------------------------------------ c c* 1. Write Ksec0 c ----------- 100 Continue Write (*,9000) Write (*,9001) Write (*,9002) Write (*,9003) Ksec0(1) Write (*,9004) Ksec0(2) Write (*,9005) Ksec0(3) Write (*,9006) Ksec0(4) Write (*,9007) Ksec0(5) Write (*,9008) Ksec0(6) c 9000 Format (' ') 9001 Format (' ','BLOK Section 0 - Indicator Section. ') 9002 Format (' ','----------------------------------------') 9003 Format (' ','Total length of this BLOK. ',I9) 9004 Format (' ','BLOK Edition Number. ',I9) 9005 Format (' ','Total length of parent form. ',I9) 9006 Format (' ','Flag (Code Table 1). ',I9) 9007 Format (' ','Total number of related BLOKs. ',I9) 9008 Format (' ','Sequence number of this BLOK. ',I9) c Return End Subroutine Blprs1(Ksec1,Yform) c** c**** Name *Blprs1* c**** ---- c** c** Purpose c** ------- c** Print the information in the Identification c** Section (Section 1) of BLOK data. c** c** Interface c** --------- c** Input: Ksec1 - Array of decoded parameters from Section 1. c** Yform - Format of data c** c** Output: Printed data on the standard output. c** c** Method c** ------ c** Fields are printed as integers. c** c** Externals c** --------- c** None. c** c** Author c** ------ c** D.Jokic, ECMWF, February-1992. c** Character*4 Yform c Integer Ksec1(*) c c ------------------------------------------------------------------ c c* 1. Initialise c ---------- 100 Continue Write (*,9000) Write (*,9001) Write (*,9002) Write (*,9003) Yform Write (*,9004) Ksec1(1) c c ------------------------------------------------------------------ c c* 2. GRIB data c --------- 200 Continue If (Yform.eq.'GRIB') Then c Write (*,9202) Ksec1(2) Write (*,9203) Ksec1(3) Write (*,9204) Ksec1(4) Write (*,9205) Ksec1(5) Write (*,9206) Ksec1(6) Write (*,9207) Ksec1(7) Write (*,9208) Ksec1(8) Write (*,9209) Ksec1(9) Write (*,9210) Ksec1(10) Write (*,9211) Ksec1(11) Write (*,9212) Ksec1(12) Write (*,9213) Ksec1(13) Write (*,9214) Ksec1(14) Write (*,9215) Ksec1(15) Write (*,9216) Ksec1(16) Write (*,9217) Ksec1(17) Write (*,9218) Ksec1(18) Write (*,9219) Ksec1(19) Write (*,9220) Ksec1(20) Write (*,9221) Ksec1(21) Write (*,9222) Ksec1(22) Write (*,9223) Ksec1(23) c c ------------------------------------------------------------------ c c* 3. BUFR data c --------- 300 Continue Else if (Yform.eq.'BUFR') Then c Write (*,9302) Ksec1(2) Write (*,9303) Ksec1(3) Write (*,9304) Ksec1(4) Write (*,9305) Ksec1(5) Write (*,9306) Ksec1(6) Write (*,9307) Ksec1(7) Write (*,9308) Ksec1(8) Write (*,9309) Ksec1(9) Write (*,9310) Ksec1(10) Write (*,9311) Ksec1(11) Write (*,9312) Ksec1(12) Write (*,9313) Ksec1(13) Write (*,9314) Ksec1(14) Write (*,9315) Ksec1(15) c Else c Write (*,9400) Yform c End if c 9000 Format (' ') 9001 Format (' ','BLOK Section 1 - Identification Section.') 9002 Format (' ','----------------------------------------') 9003 Format (' ','Binary data format. ',A4) 9004 Format (' ','Parent edition number. ',I9) c 9202 Format (' ','Code Table 2 Version Number. ',I9) 9203 Format (' ','Originating centre identifier. ',I9) 9204 Format (' ','Model identification. ',I9) 9205 Format (' ','Grid definition. ',I9) 9206 Format (' ','Flag (Code Table 1) ',I9) 9207 Format (' ','Parameter identifier (Code Table 2). ',I9) 9208 Format (' ','Type of level (Code Table 3). ',I9) 9209 Format (' ','Value 1 of level (Code Table 3). ',I9) 9210 Format (' ','Value 2 of level (Code Table 3). ',I9) 9211 Format (' ','Year of data. ',I9) 9212 Format (' ','Month of data. ',I9) 9213 Format (' ','Day of data. ',I9) 9214 Format (' ','Hour of data. ',I9) 9215 Format (' ','Minute of data. ',I9) 9216 Format (' ','Time unit (Code Table 4). ',I9) 9217 Format (' ','Time range one. ',I9) 9218 Format (' ','Time range two. ',I9) 9219 Format (' ','Time range indicator (Code Table 5) ',I9) 9220 Format (' ','Number averaged. ',I9) 9221 Format (' ','Number missing from average. ',I9) 9222 Format (' ','Century of data. ',I9) 9223 Format (' ','Units decimal scaling factor. ',I9) c 9302 Format (' ','BUFR master table. ',I9) 9303 Format (' ','Originating centre identifier. ',I9) 9304 Format (' ','Update sequence number. ',I9) 9305 Format (' ','Flag. ',I9) 9306 Format (' ','BUFR message type. ',I9) 9307 Format (' ','BUFR message subtype. ',I9) 9308 Format (' ','Version number of master table used. ',I9) 9309 Format (' ','Version number of local table used. ',I9) 9310 Format (' ','Year of data. ',I9) 9311 Format (' ','Month of data. ',I9) 9312 Format (' ','Day of data. ',I9) 9313 Format (' ','Hour of data. ',I9) 9314 Format (' ','Minute of data. ',I9) 9315 Format (' ','Indicator of unit of time range. ',I9) c 9400 Format (' Blprs1: Error, Unknown data format: ',a) c Return End emoslib-000392+dfsg.1/pbio/sources.ibm_power60000755000175000017500000000072712127406245022076 0ustar amckinstryamckinstry# # Sources for libemos/pbio for rs6000. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/fort2c_hppa.c0000755000175000017500000000165012127406245020767 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include /* fort2c.c */ #include "fort2c.h" char *fcd2char(fortchar) _fcd fortchar; { #ifndef VAX char *name = _fcdtocp(fortchar); int len = _fcdlen(fortchar); #else char * name = fortchar->address; short len = fortchar->length; #endif char * newp = (char *) malloc(len+1); if(!newp) { perror("malloc"); return((char*)0); } strncpy(newp,name,len); while( len && newp[--len] == ' '); newp[++len]='\0'; return(newp); } emoslib-000392+dfsg.1/pbio/make.dep0000755000175000017500000000150612127406245020023 0ustar amckinstryamckinstry# # Header file dependencies # PBGroutines.o: PBGroutines.h crexrd.o: /usr/include/stdio.h extras.o: /usr/include/stdio.h fort2c.o: fort2c.h gbyte.o: /usr/include/stdio.h /usr/include/limits.h fortint.h newpbio.o: bufrgrib.h fort2c.h fortint.h /usr/include/sys/types.h /usr/include/sys/stat.h /usr/include/fcntl.h pbsize.o: /usr/include/stdio.h /usr/include/unistd.h bufrgrib.h fortint.h fileRead.h readany.o: bufrgrib.h fortint.h fileRead.h readbufr.o: bufrgrib.h fortint.h fileRead.h readgrib.o: bufrgrib.h fortint.h fileRead.h sizeRoutines.h readnext.o: bufrgrib.h fortint.h fileRead.h readprod.o: bufrgrib.h fortint.h /usr/include/stdio.h /usr/include/unistd.h /usr/include/string.h /usr/include/memory.h fileRead.h sizeRoutines.h recheckLength.o: /usr/include/stdio.h /usr/include/string.h setpar.o: /usr/include/limits.h fortint.h emoslib-000392+dfsg.1/pbio/fortint.h0000755000175000017500000000114312127406245020247 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef FORTINT_H #define FORTINT_H #ifdef INTEGER_IS_INT #define fortint int #else #if defined hpR64 || defined hpiaR64 #define fortint long long #else #define fortint long #endif #endif #endif /* end of FORTINT_H */ emoslib-000392+dfsg.1/pbio/readprod_alpha.c0000755000175000017500000003516012127406245021530 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* // readprod_alpha.c */ #include "bufrgrib.h" #include #include #include #include #include #define THREE_BYTE_LONG(p) ((((long)*(p))<<16) + (((long)*(p+1))<<8) + (long)*(p+2)) #define CHECK(stat,message,code) if((stat)) {perror(message);return(code);} #define WMOBIT1 0x80 #define WMOBIT2 0x40 #define WMOBIT7 0x02 #define WMOBIT8 0x01 #define END_OF_FILE -1 #define INTERNAL_ERROR -2 #define BUFFER_TOO_SMALL -3 #define USER_BUFFER_TINY -4 #define MISPLACED_7777 -5 #define SECT_0_LEN 4 #define LEN_7777 4 #define SMALL 40 #define LARGEBUF 200000 #define GRIB 0x47524942 #define BUFR 0x42554652 #define BUDG 0x42554447 #define TIDE 0x54494445 #define DIAG 0x44494147 #include "fortint.h" #include "fileRead.h" #include "sizeRoutines.h" fortint readprod( char * prod_id, char * buffer, fortint * size, fortint (*fileRead)(char *, fortint , void *), fortint (*fileSeek)(void *, fortint, fortint), fortint (*fileTell)(void *), void * stream) /* // Reads a BUFR, GRIB, BUDG, TIDE, DIAG product. // // prod_id = "BUFR", "GRIB", "BUDG", "TIDE", "DIAG" ... // buffer = buffer to hold product, // size = on input, size of buffer in bytes, // on output, number of bytes read. // fileRead = function used to read the product, // fileSeek = function used to reposition within the product byte stream, // fileTell = function used to report the current byte position within // the product byte stream, // stream = data describing the input stream (eg. FILE *). // // Returns // -1 if can't find product (eg. end-of-file) // -2 if internal processing error (malloc fail, file seek error) // -3 if buffer too small for whole product. // -4 if user buffer too small to even start product processing. // -5 if the 7777 group is in the wrong place // */ { static char * shold = NULL; /* buffer used to read product */ char * hold = NULL; fortint holdsize = SMALL, numread; fortint found = 0, num = 0, length, prodlen; fortint given_buflen = *size; char p; unsigned fortint code=0, wanted = 0; int status = 0, i; /* See if user gave a buffer for holding the product */ if ( buffer == NULL ) { /* No buffer given, get some */ if ( shold == NULL ) { /* but only first time round */ shold = (char *) malloc( LARGEBUF); CHECK((shold == NULL),"malloc failed in readnext",INTERNAL_ERROR); } given_buflen = LARGEBUF; hold = shold; } else /* User buffer given */ hold = buffer; /* Make sure the user gave some buffer */ if ( given_buflen < holdsize ) return USER_BUFFER_TINY; /* Look for product identifier */ if ( prod_id != NULL ) for ( i = 0; i < 4; i++ ) wanted = ( (wanted << 8) + *(prod_id+i) ) & 0xFFFFFFFF; /* Read some bytes from the product */ do { numread = fileRead( &p, 1, stream ); if ( numread <= 0 ) { *size = 0; return END_OF_FILE; } code = ( (code << 8) + p ) & 0xFFFFFFFF; if ( prod_id == NULL ) { switch(code) { case BUDG: case BUFR: case GRIB: case TIDE: case DIAG: found = 1; } } else if ( code == wanted ) found = 1; } while ( ! found ); /* Find the product length */ prodlen = prodsize( code, hold, given_buflen, &holdsize, fileRead, stream); if( prodlen == -4 ) return USER_BUFFER_TINY; /* Move to end of product and check position of 7777 group in the case that the user gave a NULL buffer and zero length */ if ( *size == 0 ) { char grp_7777[5]; *size = prodlen; /* report the actual product length */ status = fileSeek( (FILE *)stream, prodlen - holdsize - LEN_7777, SEEK_CUR); CHECK(status,"fileSeek error in readprod",INTERNAL_ERROR); numread = fileRead( grp_7777, LEN_7777 ,stream ); grp_7777[4] = '\0'; if( strcmp(grp_7777,"7777") != 0 ) return MISPLACED_7777; return BUFFER_TOO_SMALL; } /* Otherwise read as much of the product as possible into the buffer, then move to end of product and check position of 7777 group */ *size = prodlen; /* report the actual product length */ length = (given_buflen > prodlen) ? prodlen : given_buflen ; if ( length > holdsize ) { numread = fileRead( hold+holdsize, length-holdsize ,stream ); if ( given_buflen < prodlen ) { char grp_7777[5]; status = fileSeek((FILE*)stream,prodlen-given_buflen - LEN_7777,SEEK_CUR); CHECK(status,"fileSeek error in readprod",INTERNAL_ERROR); numread = fileRead( grp_7777, LEN_7777 ,stream ); grp_7777[4] = '\0'; if( strcmp(grp_7777,"7777") != 0 ) return MISPLACED_7777; return BUFFER_TOO_SMALL; } } if(strncmp(hold+prodlen-LEN_7777,"7777",(size_t)4)!=0) return MISPLACED_7777; return *size; } static fortint gribsize(char * hold, fortint leng, fortint * holdsize, fortint (*fileRead)(), void * stream) /* // Calculates the size in bytes of a GRIB product. // // hold = buffer to hold product, // leng = length of buffer, // holdsize = number of bytes of the product in the hold buffer. // Note that this increases if necessary as more bytes are read. // fileRead = function used to read the product, // stream = data describing the input stream (eg. FILE *). */ { fortint length, numread, num, hsize = *holdsize; fortint section2, section3 ; unsigned char * phold = (unsigned char *) hold; /* Need more bytes to decide on which version of GRIB */ if ( leng < 24 ) return USER_BUFFER_TINY; /* Put first 24 bytes in buffer */ num = 24; if ( hsize < num) { numread = fileRead( hold + hsize, num - hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = num; } *holdsize = hsize; /* See if the GRIB version is 0 ... */ if ( THREE_BYTE_LONG(phold+4) == 24 ) { length = 28; /* GRIB + section 1 */ /* Check for presence of sections 2 and 3 */ section2 = ( hold[11] & WMOBIT1 ) ; section3 = ( hold[11] & WMOBIT2 ) ; /* Add up all lengths of sections */ return lentotal(hold, holdsize, leng, length, section2, section3, fileRead, stream); } /* ... or version 1 ... */ if ( ( hold[21] != 0 ) || ( hold[22] != 0 ) ) { /* Nightmare fixup for very large GRIB products (eg 2D wave spectra). If the most-significant of the 24 bits is set, this indicates a very large product; the size has to be rescaled by a factor of 120. This is a fixup to get round the GRIB code practice of representing a product length by 24 bits. It is only possible because the (default) rounding for GRIB products is 120 bytes. */ fortint fixlen; fixlen = THREE_BYTE_LONG(phold+4); if( fixlen > 0x7fffff ) return ((fixlen & 0x7fffff) * 120); else return fixlen; } length = 24; /* GRIB + section 1 */ /* Check for presence of sections 2 and 3 */ section2 = ( hold[7] & WMOBIT8 ) ; section3 = ( hold[7] & WMOBIT7 ) ; /* Add up all lengths of sections */ return lentotal(hold, holdsize, leng, length, section2, section3, fileRead, stream); } static fortint lentotal(char *hold, fortint *holdsize, fortint leng, fortint length, fortint section2, fortint section3, fortint (*fileRead)(), void *stream) /* // Returns the total length in bytes of all sections of the GRIB product. // // hold = buffer to hold product, // leng = length of buffer, // holdsize = number of bytes of the product in the hold buffer. // Note that this increases if necessary as more bytes // are read. // length = length of (section 0 + section 1). // section2 is TRUE if section 2 is present in the product. // section3 is TRUE if section 3 is present in the product. // fileRead = function used to read the product, // stream = data describing the input stream (eg. FILE *). */ { fortint numread, hsize = *holdsize; unsigned char * phold = (unsigned char *) hold; fortint next, next_sec = 4; /* Adjust count of sections to check */ if ( section2 ) next_sec--; if ( section3 ) next_sec--; /* Get the size of the next section */ if ( leng < length ) return USER_BUFFER_TINY; if ( hsize < length) { numread = fileRead( hold + hsize, length - hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = length; } *holdsize = hsize; /* Get the size of remaining sections */ for ( next = next_sec; next < 5 ; next++ ) { if ( leng < (length+4) ) return USER_BUFFER_TINY; if ( hsize < (length+4)) { numread = fileRead( hold+hsize, (length+4)-hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = length + 4; } *holdsize = hsize; length += THREE_BYTE_LONG(phold+length); } /* Add on the size of section 5 */ length += LEN_7777; return length; } static fortint bufrsize(char * hold, fortint leng, fortint * holdsize, fortint (*fileRead)(), void * stream) /* // Returns the size in bytes of the BUFR code product. // // hold = buffer to hold product, // leng = length of buffer, // holdsize = number of bytes of the product in the hold buffer. // Note that this increases if necessary as more bytes are read. // fileRead = function used to read the product, // stream = data describing the input stream (eg. FILE *). */ { unsigned char * phold = (unsigned char *) hold; fortint numread, hsize = *holdsize; fortint num, length; fortint next, next_len, next_sec = 3; /* Need more bytes to decide on which version of BUFR */ if ( leng < 24 ) return USER_BUFFER_TINY; num = 24; /* put first 24 bytes in buffer*/ if ( hsize < num) { numread = fileRead( hold + hsize, num - hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = num; } *holdsize = hsize; /* If it's Edition 2, or later, octets 5-7 give full product size */ if ( hold[7] > 1 ) return THREE_BYTE_LONG(phold+4); /* Otherwise, we have to step through the individual sections adding up the lengths */ /* Add on the length of section 1 and ensure enough of product is in memory to continue */ length = SECT_0_LEN + THREE_BYTE_LONG(phold+4); if ( leng < (length+4) ) return USER_BUFFER_TINY; if ( hsize < (length+4)) { numread = fileRead( hold+hsize, (length+4)-hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = length + 4; *holdsize = hsize; } /* Check for presence of section 2 */ if ( hold[11] & WMOBIT1 ) next_sec = 2; /* Get the size of remaining sections */ for ( next = next_sec; next < 5 ; next++ ) { length += THREE_BYTE_LONG(phold+length); if ( leng < (length+4) ) return USER_BUFFER_TINY; if ( hsize < (length+4)) { numread = fileRead( hold+hsize,(length+4)-hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = length + 4; *holdsize = hsize; } } /* Add on the size of section 5 */ length += LEN_7777; if ( leng < length ) return USER_BUFFER_TINY; return length; } static fortint tide_budg_size(char * hold, fortint leng, fortint * holdsize, fortint (*fileRead)(), void * stream) /* // Returns the size in bytes of the TIDE/BUDG/DIAG code product. // // hold = buffer to hold product, // leng = length of buffer, // holdsize = number of bytes of the product in the hold buffer. // Note that this increases if necessary as more bytes are read. // fileRead = function used to read the product, // stream = data describing the input stream (eg. FILE *). */ { unsigned char * phold = (unsigned char *) hold; fortint numread, hsize = *holdsize; fortint num, length; fortint next, next_len, next_sec = 3; /* Need more bytes to get length of section 1 */ num = 8; /* put first 8 bytes in buffer */ if ( leng < num ) return USER_BUFFER_TINY; if ( hsize < num) { numread = fileRead( hold + hsize, num - hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = num; } *holdsize = hsize; /* Have to step through individual sections adding up the lengths */ /* Add on the length of section 1 and ensure enough of product is in memory to continue */ length = SECT_0_LEN + THREE_BYTE_LONG(phold+4); if ( leng < (length+4) ) return USER_BUFFER_TINY; if ( hsize < (length+4)) { numread = fileRead( hold+hsize, (length+4)-hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = length + 4; *holdsize = hsize; } /* Get the size of remaining section */ length += THREE_BYTE_LONG(phold+length); /* Add on the size of section 5 */ length += LEN_7777; if ( leng < length ) return USER_BUFFER_TINY; return length; } static fortint prodsize(fortint code, char * hold, fortint leng, fortint * holdsize, fortint (*fileRead)(), void * stream) /* // Returns size of BUFR, GRIB, BUDG, TIDE, DIAG product in bytes. // // hold = buffer holding product, // leng = size of buffer in bytes, // holdsize = number of bytes of product already read into hold. // fileRead = function used to read the product, // stream = data describing the input stream (eg. FILE *). */ { *holdsize = 4; switch( code ) { case BUFR: memcpy(hold,"BUFR",4); return bufrsize( hold, leng, holdsize, fileRead, stream); case BUDG: memcpy(hold,"BUDG",4); return tide_budg_size( hold, leng, holdsize, fileRead, stream); case GRIB: memcpy(hold,"GRIB",4); return gribsize( hold, leng, holdsize, fileRead, stream); case TIDE: memcpy(hold,"TIDE",4); return tide_budg_size( hold, leng, holdsize, fileRead, stream); case DIAG: memcpy(hold,"DIAG",4); return tide_budg_size( hold, leng, holdsize, fileRead, stream); default: return 0; } } emoslib-000392+dfsg.1/pbio/sources.sun40000755000175000017500000000074312127406245020714 0ustar amckinstryamckinstry# # Sources for libemos/pbio for sun4. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/readcrex.c0000755000175000017500000000320412127406245020352 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* readcrex.c */ #include "bufrgrib.h" #include "fortint.h" #include "fileRead.h" #include "sizeRoutines.h" fortint readcrex(FILE * file, char * buffer, fortint * crex_prod_len) /* file = file pointer returned from PBOPEN buffer = buffer big enough to hold the CREX product crex_prod_len = size of the buffer on input, becomes size in BYTES of the CREX product read. If the end-of-file is hit, the value is returned unchanged (ie. when the function return code is -1). Function returns: 0 if a CREX product has been successfully read -1 if end-of-file is hit before a CREX product is read -2 if there is an error in the file-handling (eg. if the file contains a truncated CREX product) -3 if the size of buffer is not sufficient for the CREX product */ { /* Read the CREX product */ fortint length; fortint original_len; original_len = *crex_prod_len; length = readprod("CREX",buffer,&original_len,fileRead,fileSeek, fileTell,file); *crex_prod_len = original_len; if ( buffer == NULL ) return ( length == -1 ? length : -3 ); else return ( length > 0 ? 0 : length ); } emoslib-000392+dfsg.1/pbio/sources.rs60000000755000175000017500000000072712127406245020757 0ustar amckinstryamckinstry# # Sources for libemos/pbio for rs6000. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/sources.decalpha0000755000175000017500000000075512127406245021567 0ustar amckinstryamckinstry# # Sources for libemos/pbio for decalpha. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte_alpha.c emoslib-000392+dfsg.1/pbio/newpbio.c0000755000175000017500000003222412127406245020224 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* newpbio.c */ #include "bufrgrib.h" #include "fort2c.h" #include "fortint.h" #include #include #include #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define PBOPEN3 pbopen3 #define PBREAD3 pbread3 #define PBWRITE3 pbwrite3 #define PBSEEK3 pbseek3 #define PBCLOSE3 pbclose3 #else #define PBOPEN3 pbopen3_ #define PBREAD3 pbread3_ #define PBWRITE3 pbwrite3_ #define PBSEEK3 pbseek3_ #define PBCLOSE3 pbclose3_ #endif #endif #define NAMEBUFFLEN 256 #define MODEBUFFLEN 10 /************************************************************************* * FUNCTION: pbopen - Open file (from FORTRAN) ************************************************************************** */ void PBOPEN(FILE ** unit, _fcd name, _fcd mode, fortint * iret, if defined hpR64 || defined hpiaR64 long l1, long l2) #else fortint l1, fortint l2) #endif /* * Purpose: Opens file, return UNIX FILE pointer. * * Function returns: iret: -1 = Could not open file. * -2 = Invalid file name. * -3 = Invalid open mode specified * 0 = OK. * * Note: l1 and l2 are the lengths of the character strings in * name and mode on SGI. */ { char *fname; char *modes; char *p; char flags[4]; #if (!defined CRAY) && (!defined VAX) char namebuff[NAMEBUFFLEN], modebuff[MODEBUFFLEN]; /* Put the character strings into buffers and ensure that there is a null terminator (for SGI case when FORTRAN CHARACTER variable is full right to end with characters */ strncpy( namebuff, name, NAMEBUFFLEN - 1); strncpy( modebuff, mode, MODEBUFFLEN - 1); namebuff[l1] = '\0'; modebuff[l2] = '\0'; #endif strcpy(flags,""); *unit = NULL; *iret = 0; /* convert fortran to c string : file name */ #if (!defined CRAY) && (!defined VAX) if(!(fname = fcd2char(namebuff))) #else if(!(fname = fcd2char(name))) #endif { *iret = -2; return; } /* strip trailing blanks */ p = fname + strlen(fname) - 1 ; while(*p == ' ') { *p = 0; p--; } /* convert fortran to c string : open modes */ #if (!defined CRAY) && (!defined VAX) if(!(modes = fcd2char(modebuff))) #else if(!(modes = fcd2char(mode))) #endif { free(fname); *iret = -2; return; } /* build open flags from "modes" */ p = modes; while(*p && ( strlen(flags) < 3 ) ) { switch(*p) { case '+': strcat(flags, "+"); break; case 'a': case 'A': strcat(flags, "a"); break; case 'c': case 'C': case 'w': case 'W': strcat(flags, "w"); break; case 'r': case 'R': strcat(flags, "r"); break; default: *iret = -3; return; } p++; } /* if read/write change flags */ if ( !strcmp(flags,"wr") || !strcmp(flags, "rw") ) strcpy(flags, "r+w" ); *unit = fopen(fname, flags ); if(*unit == NULL) { perror(fname); perror("pbopen"); *iret = -1; } free(fname); free(modes); } /************************************************************************* * FUNCTION: pbseek - Seek (from FORTRAN) ************************************************************************** */ void PBSEEK(FILE ** unit, fortint * offset, fortint * whence, fortint * iret) /* * * Purpose: Seeks to specified location in file. * * Function returns: status : -2 = error in handling file, * -1 = end-of-file * otherwise, = byte offset from start of file. * * whence = 0, from start of file * = 1, from current position * = 2, from end of file. */ { int my_offset = (int) *offset; int my_whence = (int) *whence; int my_iret; if ( my_whence == 2) my_offset = - abs(my_offset); /* must use negative offset if working from end-of-file */ my_iret = fseek(*unit, my_offset, my_whence); if(my_iret != 0) { if ( ! feof(*unit) ) { my_iret = -2; /* error in file-handling */ perror("pbseek"); } else my_iret = -1; /* end-of-file */ clearerr(*unit); *iret = (fortint) my_iret; return; } my_iret = ftell(*unit); /* byte offset from start of file */ *iret = (fortint) my_iret; return; } /************************************************************************* * FUNCTION: pbread - Read (from FORTRAN) ************************************************************************** */ void PBREAD(FILE ** unit, char * buffer, fortint * nbytes, fortint * iret) /* * * Purpose: Reads a block of bytes from a file. * * Function returns: status : -2 = error in reading file, * -1 = end-of-file, * otherwise, = number of bytes read. */ { int my_nbytes = (int) *nbytes; int my_iret; if ( (my_iret = fread(buffer, 1, my_nbytes, *unit) ) != my_nbytes) { /* Read problem */ if ( ! feof(*unit) ) { my_iret = -2; /* error in file-handling */ perror("pbread"); clearerr(*unit); } else { my_iret = -1; /* end-of-file */ clearerr(*unit); } } *iret = my_iret; return; } /************************************************************************* * FUNCTION: pbread2 - Read (from FORTRAN) ************************************************************************** */ void PBREAD2(FILE ** unit, char * buffer, fortint * nbytes, fortint * iret) /* * * Purpose: Reads a block of bytes from a file. * * Function returns: status : -2 = error in reading file, * otherwise, = number of bytes read. */ { int my_nbytes = (int) *nbytes; int my_iret; if ( (my_iret = fread(buffer, 1, my_nbytes, *unit) ) != my_nbytes) { /* Read problem */ if ( ! feof(*unit) ) { my_iret = -2; /* error in file-handling */ perror("pbread"); clearerr(*unit); } } *iret = my_iret; return; } /************************************************************************* * FUNCTION: pbwrite - Write (from FORTRAN) ************************************************************************** */ void PBWRITE( FILE ** unit, char * buffer, fortint * nbytes, fortint *iret) /* * Purpose: Writes a block of bytes to a file. * * Function returns: status : -1 = Could not write to file. * >=0 = Number of bytes written. */ { int my_nbytes = (int) *nbytes; int my_iret; if ( (my_iret = fwrite(buffer, 1, my_nbytes, *unit) ) != my_nbytes) { /* Problem with write */ perror("pbwrite"); my_iret = -1; } *iret = my_iret; return; } /************************************************************************* * FUNCTION: pbclose - close (from FORTRAN) ************************************************************************** */ void PBCLOSE( FILE ** unit, fortint * iret) /* * * Purpose: Closes file. * * Function returns: status : non-0 = error in handling file. * 0 = OK. */ { int my_iret; my_iret = fclose(*unit); if(my_iret != 0) perror("pbclose"); *iret = my_iret; return; } /************************************************************************* * FUNCTION: pbflush - flush (from FORTRAN) ************************************************************************** */ void PBFLUSH( FILE ** unit) /* * * Purpose: Flushes file. * */ { fflush(*unit); } void PBREAD3(fortint *unit, char * buffer, fortint * nbytes, fortint * iret) /* * * Purpose: Reads a block of bytes from a file. * * Function returns: status : -2 = error in reading file, * -1 = end-of-file, * otherwise, = number of bytes read. */ { *iret = read(*unit, buffer, *nbytes); /* Read problem */ if (*iret == -1) { *iret = -2; /* error in file-handling */ perror("pbread3"); return; } else if (*iret != *nbytes) { *iret = -1; printf("EOF; pbread3; bytes requested %d; read in: %d\n", *nbytes,*iret); return; } } static oct_bin3(int onum) { char tmp[20]; int rc; sprintf(tmp,"%d",onum); sscanf(tmp,"%o",&rc); return rc; } void PBOPEN3(fortint *unit, _fcd name, _fcd mode, fortint * iret, fortint l1, fortint l2) /* * Purpose: Opens file, return UNIX FILE pointer. * * Function returns: iret: -1 = Could not open file. * -2 = Invalid file name. * -3 = Invalid open mode specified * 0 = OK. * * Note: l1 and l2 are the lengths of the character strings in * name and mode on SGI. */ { char *fname; char *modes; char *p; int oflag; int dmas; int filemode; #if (!defined CRAY) && (!defined VAX) char namebuff[NAMEBUFFLEN], modebuff[MODEBUFFLEN]; /* Put the character strings into buffers and ensure that there is a null terminator (for SGI case when FORTRAN CHARACTER variable is full right to end with characters */ strncpy( namebuff, name, NAMEBUFFLEN - 1); strncpy( modebuff, mode, MODEBUFFLEN - 1); namebuff[l1] = '\0'; modebuff[l2] = '\0'; #endif *unit = 0; *iret = 0; /* convert fortran to c string : file name */ #if (!defined CRAY) && (!defined VAX) if(!(fname = fcd2char(namebuff))) #else if(!(fname = fcd2char(name))) #endif { *iret = -2; return; } /* strip trailing blanks */ p = fname + strlen(fname) - 1 ; while(*p == ' ') { *p = 0; p--; } /* convert fortran to c string : open modes */ #if (!defined CRAY) && (!defined VAX) if(!(modes = fcd2char(modebuff))) #else if(!(modes = fcd2char(mode))) #endif { free(fname); *iret = -3; return; } /* build open flags from "modes" */ p = modes; while(*p) { switch(*p) { case '+': break; case 'a': case 'A': oflag = 0x100 | 2 | 0x08; filemode = 766; break; case 'c': case 'C': case 'w': case 'W': oflag = 0x100 | 1; filemode = 766; break; case 'r': case 'R': oflag = 0; filemode = 444; break; default: *iret = -3; return; } p++; } dmas = umask(000); *unit = open(fname, oflag, oct_bin3(filemode)); umask(dmas); if(*unit == -1) { perror(fname); perror("pbopen3"); *iret = -2; } free(fname); free(modes); } void PBCLOSE3( fortint * unit, fortint * iret) /* * * Purpose: Closes file. * * Function returns: status : non-0 = error in handling file. * 0 = OK. */ { *iret = close(*unit); if(*iret != 0) perror("pbclose3"); } void PBSEEK3(fortint * unit, fortint * offset, fortint * whence, fortint * iret) /* * * Purpose: Seeks to specified location in file. * * Function returns: status : -2 = error in handling file, * -1 = end-of-file * otherwise, = byte offset from start of file. * * whence = 0, from start of file * = 1, from current position * = 2, from end of file. */ { fortint my_offset = *offset; int my_whence; if ( *whence == 2) { my_offset = - abs(my_offset); my_whence = 2; } else if (*whence == 0) { my_whence = 0; } else { my_whence = 1; } /* must use negative offset if working from end-of-file */ if ((*iret=lseek(*unit, my_offset, my_whence)) < 0) { perror("pbseek3;"); *iret = -1; /* end-of-file */ } } void PBWRITE3( fortint * unit, char * buffer, fortint * nbytes, fortint *iret) /* * Purpose: Writes a block of bytes to a file. * * Function returns: status : -1 = Could not write to file. * >=0 = Number of bytes written. */ { if ((*iret = write(*unit, buffer, *nbytes)) != *nbytes) { perror("pbwrite3: "); *iret = -1; } } emoslib-000392+dfsg.1/pbio/gbyte_alpha.c0000755000175000017500000001327012127406245021040 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #define GBYTES gbytes_ #define GBYTE gbyte_ #define SBYTES sbytes_ #define SBYTE sbyte_ #define SWORD 32 #define MASKSWORD 0x3f static int onbit[32] = { 0x00000001,0x00000002,0x00000004,0x00000008, 0x00000010,0x00000020,0x00000040,0x00000080, 0x00000100,0x00000200,0x00000400,0x00000800, 0x00001000,0x00002000,0x00004000,0x00008000, 0x00010000,0x00020000,0x00040000,0x00080000, 0x00100000,0x00200000,0x00400000,0x00800000, 0x01000000,0x02000000,0x04000000,0x08000000, 0x10000000,0x20000000,0x40000000,0x80000000}; /* // Retrieve or store arbitrary bit-size values from or to SWORD-bit words // // Rewritten April 2000, J.D.Chambers, ECMWF. // */ void GBYTES( void* Source, void* Destination, int* startSkip, int* bitsPerValue, int* skipBetweenValues, int* numberOfValues) { /* // GBYTES: // // Unpacks values from source to destination. // // Makes an initial skip over bits in source, then skips bits between values. // // startSkip >= 0 Number of bits to be skipped preceding first // value in source // // 0 < bitsPerValue < SWORD Size in bits of each value // // skipBetweenValues >= 0 Number of bits to be skipped between values // // numberOfValues >= 0 Number of values to be packed/unpacked // // Move one bit at a time (!!) // Uses shifts and masks instead of divides. // Sets destination bit to 0/1 as source bit is 0/1. */ unsigned char* source = (unsigned char*) Source; int* destination = (int*) Destination; int bpv, bit, byte, bitShift, nextBit, nextValueFirstBit, next, step; bpv = *bitsPerValue; step = bpv + *skipBetweenValues; nextValueFirstBit = *startSkip; for (next = 0; next < *numberOfValues; ++next) { destination[next] = 0; nextBit = nextValueFirstBit; for ( bit = 0; bit < bpv; bit++ ) { byte = ( nextBit ) >> 3; bitShift = 7 - ( nextBit++ ) & 0x7; destination[next] <<= 1 ; if( (source[byte] & onbit[bitShift]) ) destination[next] |= 1; } nextValueFirstBit += step; } } void GBYTE( void* Source, void* Destination, int* startSkip, int* bitsPerValue) { /* // GBYTE: // // Unpacks one value from source to destination. // // Makes an initial skip over bits in source. // // startSkip >= 0 Number of bits to be skipped preceding first // value in source // // 0 < bitsPerValue < SWORD Size in bits of each value // // Move one bit at a time (!!) // Uses shifts and masks instead of divides. // Sets destination bit to 0/1 as source bit is 0/1. */ int bpv, temp, nextBit, byte, bitShift, bit; unsigned char* source = (unsigned char*) Source; int* destination = (int*) Destination; temp = 0; bpv = *bitsPerValue; nextBit = *startSkip; for ( bit = 0; bit < bpv; bit++ ) { byte = ( nextBit ) >> 3; bitShift = 7 - ( nextBit++ ) & 0x7; temp <<= 1 ; if( (source[byte] & onbit[bitShift]) ) temp |= 1; } *destination = temp; } void SBYTES( void* Destination, void* Source, int* startSkip, int* bitsPerValue, int* skipBetweenValues, int* numberOfValues) { /* // SBYTES: // // Packs values from source to destination. // // Makes an initial skip over bits in source, then skips bits between values. // // startSkip >= 0 Number of bits to be skipped preceding first // value in destination // // 0 < bitsPerValue < SWORD Size in bits of each value // // skipBetweenValues >= 0 Number of bits to be skipped between values // // numberOfValues >= 0 Number of values to be packed/unpacked // // Move one bit at a time (!!) // Uses shifts and masks instead of divides. // Sets destination bit to 0/1 as source bit is 0/1. */ unsigned char* destination = (unsigned char*) Destination; int* source = (int*) Source; int bitShift, bitPosition; int nextValueFirstBit, bpvm1; int nextDestination, nextBit, bit; int step, nextValue; unsigned char setBit0[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char setBit1[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; step = *bitsPerValue + *skipBetweenValues; nextValueFirstBit = *startSkip; bpvm1 = (*bitsPerValue - 1); for( nextValue = 0; nextValue < *numberOfValues; ++nextValue) { nextBit = nextValueFirstBit; for ( bit = 0; bit < *bitsPerValue; bit++ ) { nextDestination = ( nextBit ) >> 3; bitShift = (bpvm1 - bit) & MASKSWORD; bitPosition = 7 - (( nextBit++ ) & 0x7); if( (source[nextValue] & onbit[bitShift]) ) destination[nextDestination] |= setBit1[bitPosition]; else destination[nextDestination] &= setBit0[bitPosition]; } nextValueFirstBit += step; } } void SBYTE( void* destination, void* source, int* startSkip, int* bitsPerValue) { /* // SBYTE: // // Packs one value from source to destination. // // Makes an initial skip over bits in source. // // startSkip >= 0 Number of bits to be skipped preceding first // value in source // // 0 < bitsPerValue < SWORD Size in bits of each value // */ int skipBetweenValues=0, numberOfValues=1; SBYTES(destination, source, startSkip, bitsPerValue, &skipBetweenValues, &numberOfValues); } emoslib-000392+dfsg.1/pbio/pbbufr.F0000755000175000017500000000470412127406245020006 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PBBUFR(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) C C----> C**** PBBUFR C C PURPOSE C _______ C C Reads next BUFR product from a file. C C INTERFACE C _________ C C CALL PBBUFR(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) C C C Input parameters C ________________ C C KUNIT - Unit number for the file returned from PBOPEN. C KARRAY - FORTRAN array big enough to hold the BUFR product. C KINLEN - Size in BYTES of the FORTRAN array. C C C Output parameters C ________________ C C KOUTLEN - size in BYTES of the BUFR product read C KRET - 0 if a BUFR product has been successfully read C C -1 if end-of-file is hit before a BUFR product is read C C -3 if the size of KARRAY is not sufficient for the C BUFR product C C C Common block usage C __________________ C C None. C C C Method C ______ C C Calls BUFRREAD. C C C Externals C _________ C C BUFRREAD - Read next BUFR product. C C C AUTHOR C ______ C C J.D.Chambers ECMWF C C C MODIFICATIONS C _____________ C C None. C C****************************************************************************** C----< C C Subroutine arguments C INTEGER KARRAY(1) INTEGER KUNIT,KINLEN,KOUTLEN,KRET C C Local argument(s) C INTEGER NREAD, IRET C C Get the BUFR product C CALL BUFRREAD( KARRAY, KINLEN, NREAD, IRET, KUNIT ) C C Escape if the user buffer is too small to hold even the early sections of C the product or EOF encountered C IF( IRET.EQ.-4 ) THEN KOUTLEN = NREAD KRET = -1 RETURN ENDIF C C Escape if no BUFR product is found in the file C IF( IRET.EQ.-1 ) THEN KOUTLEN = 0 KRET = -1 RETURN ENDIF C C Check if the array is big enough for the BUFR product C IF( IRET.EQ.-3 ) THEN KOUTLEN = NREAD KRET = -3 RETURN ENDIF C C Set success code if product retrieved C IF( NREAD.GE.0 ) THEN KOUTLEN = NREAD KRET = 0 ENDIF C RETURN END emoslib-000392+dfsg.1/pbio/Makefile0000755000175000017500000000122512127406245020052 0ustar amckinstryamckinstry# # Makefile for libemos/pbio # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources.$(ARCH) # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.c) FASTOBJ.o = $(FASTSRC.c:.c=.o) FASTOBJ = $(FASTOBJ.o) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(FASTOBJ.o): $(FASTSRC.c) $(CC) $(FASTCFLAGS) -c $(FASTSRC.c) $(LIBRARY): $(OBJECTS) $(FASTOBJ) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ include make.dep clean: \rm -f $(OBJECTS) $(FASTOBJ) *.f emoslib-000392+dfsg.1/pbio/crexrd.c0000755000175000017500000000532512127406245020052 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define CREXRD crexrd #else #define CREXRD crexrd_ #endif #endif #define END_OF_FILE -1 #define FILE_READ_ERROR -2 #define USER_BUFFER_TOO_SMALL -3 #define FILE_TOO_SMALL -5 #define MINIMUM_CREX_SIZE 13 #define CREX 0x43524558 typedef char * String; void CREXRD(String buffer, int* bufflen, int* size, int* status, FILE** in) { /* // Called from FORTRAN: // CALL CREXRD( KARRAY, KINLEN, NREAD, IRET, KUNIT ) */ int loop, foundPosition; int number, crexFound = 0, endFound = 0; String endBuffer; String next; char plplcrcrlf7777[10] = {0,0,0,0,0,0,0,0,0,0}; char PlPlCrCrLf7777[10] = {0x2b,0x2b,0x0d,0x0d,0x0a,0x37,0x37,0x37,0x37,0x00}; /* // Check buffer big enough for CREX search */ if( *bufflen < MINIMUM_CREX_SIZE ) { *status = USER_BUFFER_TOO_SMALL; return; } /* // Look for CREX */ for( loop = 0; loop <= 4; loop++) buffer[loop] = '\0'; while( !crexFound ) { buffer[0] = buffer[1]; buffer[1] = buffer[2]; buffer[2] = buffer[3]; number = fread((buffer+3), 1, 1, *in); if( feof(*in) ) { *status = END_OF_FILE; return; } if( (number != 1) || ferror(*in) ) { perror("crexrd file read error"); *status = FILE_READ_ERROR; return; } if( strcmp(buffer,"CREX") == 0 ) { crexFound = 1; foundPosition = ftell(*in) - 4; } } /* // Read some more characters into the buffer */ number = fread((buffer+4), 1, ((*bufflen)-4), *in); if( ferror(*in) ) { perror("crexrd file read error"); *status = FILE_READ_ERROR; return; } endBuffer = buffer + number + 3; /* // Look for ++CrCrLf7777 at end of product */ next = buffer+4; endFound = 0; for( loop = 0; loop < 8; loop++ ) plplcrcrlf7777[loop] = *(next++); plplcrcrlf7777[9] = '\0'; while( (!endFound) && (next<=endBuffer) ) { plplcrcrlf7777[8] = *(next++); if( strcmp(plplcrcrlf7777,PlPlCrCrLf7777) == 0 ) { endFound = 1; *size = (int) (next - buffer); } for( loop = 0; loop < 8; loop++ ) plplcrcrlf7777[loop] = plplcrcrlf7777[loop+1]; } if( !endFound ) { if( feof(*in) ) *status = END_OF_FILE; else *status = USER_BUFFER_TOO_SMALL; return; } /* // Position file at end of CREX product */ *status = fseek(*in, (foundPosition+(*size)), 0); } emoslib-000392+dfsg.1/pbio/sources.sgimips0000755000175000017500000000100112127406245021462 0ustar amckinstryamckinstry# # Sources for libemos/pbio for sgimips. # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte.c emoslib-000392+dfsg.1/pbio/pbgrib.F0000755000175000017500000000467312127406245020000 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PBGRIB(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) C C----> C**** PBGRIB C C PURPOSE C _______ C C Reads next GRIB product from a file. C C INTERFACE C _________ C C CALL PBGRIB(KUNIT,KARRAY,KINLEN,KOUTLEN,KRET) C C C Input parameters C ________________ C C KUNIT - Unit number for the file returned from PBOPEN C KARRAY - FORTRAN array big enough to hold the GRIB product C KINLEN - Size in BYTES of the FORTRAN array C C C Output parameters C ________________ C C KOUTLEN - Size in BYTES of the GRIB product read C KRET - 0 if a GRIB product has been successfully read C -1 if end-of-file is hit before a GRIB product is read C -3 if the size of KARRAY is not sufficient for the C GRIB product C C C Common block usage C __________________ C C None. C C C Method C ______ C C Calls GRIBREAD. C C C Externals C _________ C C GRIBREAD - Read next GRIB product. C C C AUTHOR C ______ C C J.D.Chambers ECMWF C C C MODIFICATIONS C _____________ C C None. C C****************************************************************************** C----< C C Subroutine arguments C INTEGER KARRAY(1) INTEGER KUNIT,KINLEN,KOUTLEN,KRET C C Local argument(s) C INTEGER NREAD, IRET C C Get the GRIB product C CALL GRIBREAD( KARRAY, KINLEN, NREAD, IRET, KUNIT ) C C Escape if the user buffer is too small to hold even the early sections of C the product or EOF encountered C IF( IRET.EQ.-4 ) THEN KOUTLEN = NREAD KRET = -1 RETURN ENDIF C C Escape if no GRIB product is found in the file C IF( IRET.EQ.-1 ) THEN KOUTLEN = 0 KRET = -1 RETURN ENDIF C C Check if the array is big enough for the GRIB product C IF( IRET.EQ.-3 ) THEN KOUTLEN = NREAD KRET = -3 RETURN ENDIF C C Set success code if product retrieved C IF( NREAD.GE.0 ) THEN KOUTLEN = NREAD KRET = 0 ENDIF C RETURN END emoslib-000392+dfsg.1/pbio/sources.i86pc0000755000175000017500000000075112127406245020753 0ustar amckinstryamckinstry# # Sources for libemos/pbio for linux # HEADERS = \ bufrgrib.h \ fort2c.h SOURCES.F = \ blokex.F \ pbbufr.F \ pbcrex.F \ pbgrib.F \ pbionum.F \ emosnum.F \ pbpseu.F SOURCES.f = SOURCES.c = \ PBGroutines.c \ extras.c \ fort2c.c \ lwsize.c \ mvchars.c \ pbio.c \ readany.c \ readbufr.c \ readcrex.c \ readgrib.c \ readnext.c \ readprod.c \ recheckLength.c FASTSRC.c = \ gbyte_alpha.c emoslib-000392+dfsg.1/pbio/readprod.c0000755000175000017500000006115512127406245020366 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* // readprod.c */ #include #include #include #include #ifdef FOPEN64 #define OFF_T off64_t #else #define OFF_T off_t #endif #ifdef sun4 #include #endif #include "bufrgrib.h" #include "fortint.h" #include "fileRead.h" #include "sizeRoutines.h" #define THREE_BYTE_LONG(p) ((((*(p))<<16) & 0xff0000) | (((*(p+1))<<8) & 0xff00) | (*(p+2)) & 0xff) #define CHECK(stat,message,code) if((stat)) {perror(message);return(code);} #define WMOBIT1 0x80 #define WMOBIT2 0x40 #define WMOBIT7 0x02 #define WMOBIT8 0x01 #define END_OF_FILE -1 #define INTERNAL_ERROR -2 #define BUFFER_TOO_SMALL -3 #define USER_BUFFER_TINY -4 #define MISPLACED_7777 -5 #define SECT_0_LEN 4 #define LEN_7777 4 #define SMALL 40 #define LARGEBUF 200000 #define GRIB 0x47524942 #define BUFR 0x42554652 #define BUDG 0x42554447 #define TIDE 0x54494445 #define DIAG 0x44494147 #define CREX 0x43524558 #define CODE_7777 0x37373737 static int grab(char * , char * , long ,long ,long * ); static fortint waveLength(char * ); #ifdef FOPEN64 fortint readprod( char * prod_id, char * buffer, fortint * size, fortint (*fileRead)(char *, fortint , void *), OFF_T (*fileSeek)(void *, OFF_T, fortint), OFF_T (*fileTell)(void *), void * stream) #else fortint readprod( char * prod_id, char * buffer, fortint * size, fortint (*fileRead)(char *, fortint , void *), fortint (*fileSeek)(void *, fortint, fortint), fortint (*fileTell)(void *), void * stream) #endif /* // Reads a BUFR, GRIB, BUDG, TIDE, DIAG product. // // prod_id = "BUFR", "GRIB", "BUDG", "TIDE", "DIAG" ... // buffer = buffer to hold product, // size = on input, size of buffer in bytes, // on output, number of bytes read. // fileRead = function used to read the product, // fileSeek = function used to reposition within the product byte stream, // fileTell = function used to report the current byte position within // the product byte stream, // stream = data describing the input stream (eg. FILE *). // // Returns // -1 if can't find product (eg. end-of-file) // -2 if internal processing error (malloc fail, file seek error) // -3 if buffer too small for whole product. // -4 if user buffer too small to even start product processing. // -5 if the 7777 group is in the wrong place // */ { static char * shold = NULL; /* buffer used to read product */ char * hold = NULL; fortint holdsize = SMALL, numread; fortint found = 0, length, prodlen; fortint given_buflen = *size; char p; unsigned long code=0, wanted = 0; OFF_T status = 0, i, present_position = 0; fortint one = 1; /* See if user gave a buffer for holding the product */ if ( buffer == NULL ) { /* No buffer given, get some */ if ( shold == NULL ) { /* but only first time round */ shold = (char *) malloc( LARGEBUF); CHECK((shold == NULL),"malloc failed in readnext",INTERNAL_ERROR); } given_buflen = LARGEBUF; hold = shold; } else /* User buffer given */ hold = buffer; /* Make sure the user gave some buffer */ if ( given_buflen < holdsize ) return USER_BUFFER_TINY; /* Look for product identifier */ if ( prod_id != NULL ) for ( i = 0; i < 4; i++ ) wanted = ( (wanted << 8) + *(prod_id+i) ) & 0xFFFFFFFF; /* Read some bytes from the product */ do { numread = fileRead( &p, one, stream ); if ( numread <= 0 ) { *size = 0; return END_OF_FILE; } code = ( (code << 8) + p ) & 0xFFFFFFFF; if ( prod_id == NULL ) { switch(code) { case BUDG: case BUFR: case GRIB: case TIDE: case DIAG: case CREX: found = 1; } } else if ( code == wanted ) found = 1; } while ( ! found ); /* Find the product length */ prodlen = prodsize( code, hold, given_buflen, &holdsize, fileRead, stream); if( prodlen == -4 ) return USER_BUFFER_TINY; if( prodlen < -4 ) { /* special case for very large wave products */ fortint estimate; estimate = -prodlen; prodlen = estimate - 128; *size = prodlen; present_position = fileTell((FILE *)stream); status = fileSeek( (FILE *)stream, prodlen - holdsize , SEEK_CUR); CHECK(status,"fileSeek error in readprod",INTERNAL_ERROR); /* Read bytes from the product upto and including 7777 */ code = 0; do { numread = fileRead( &p, one, stream ); if ( numread <= 0 ) return MISPLACED_7777; *size = *size + 1; if( *size > estimate ) return MISPLACED_7777; code = ( (code << 8) + p ) & 0xFFFFFFFF; } while ( code != CODE_7777 ); if( given_buflen < *size ) return BUFFER_TOO_SMALL; else { status = fileSeek( (FILE *)stream, present_position, SEEK_SET); CHECK(status,"fileSeek error in readprod",INTERNAL_ERROR); numread = fileRead(hold+present_position,(*size-present_position),stream); if ( numread <= 0 ) return INTERNAL_ERROR; return 0; } } /* Move to end of product and check position of 7777 group in the case that the user gave a NULL buffer and zero length */ if ( *size == 0 ) { char grp_7777[5]; *size = prodlen; /* report the actual product length */ status = fileSeek( (FILE *)stream, prodlen - holdsize - LEN_7777, SEEK_CUR); CHECK(status,"fileSeek error in readprod",INTERNAL_ERROR); numread = fileRead( grp_7777, LEN_7777 ,stream ); grp_7777[4] = '\0'; if( strcmp(grp_7777,"7777") != 0 ) return MISPLACED_7777; return BUFFER_TOO_SMALL; } /* Otherwise read as much of the product as possible into the buffer, then move to end of product and check position of 7777 group */ *size = prodlen; /* report the actual product length */ length = (given_buflen > prodlen) ? prodlen : given_buflen ; if ( length > holdsize ) { /* // Before reading rest of product, put zero at end of expected 7777 // group to ensure that it is not left over from an earlier product // of the same length */ *(hold+length-1) = '\0'; numread = fileRead( hold+holdsize, length-holdsize ,stream ); if( numread <= 0 ) { *size = holdsize-numread; return END_OF_FILE; } if ( given_buflen < prodlen ) { char grp_7777[5]; status = fileSeek((FILE*)stream,prodlen-given_buflen - LEN_7777,SEEK_CUR); CHECK(status,"fileSeek error in readprod",INTERNAL_ERROR); numread = fileRead( grp_7777, LEN_7777 ,stream ); if( numread <= 0 ) return END_OF_FILE; grp_7777[4] = '\0'; if( strcmp(grp_7777,"7777") != 0 ) return MISPLACED_7777; return BUFFER_TOO_SMALL; } } if(strncmp(hold+prodlen-LEN_7777,"7777",(size_t)4)!=0) return MISPLACED_7777; return *size; } fortint readprod_decode_unsigned_byte_long(const unsigned char* p, long o, int l) { fortint accum = 0; int i = 0; unsigned char b = p[o++]; accum <<= 8; accum |= b ; for ( i=1; i 1 ) return THREE_BYTE_LONG(phold+4); /* Otherwise, we have to step through the individual sections adding up the lengths */ /* Add on the length of section 1 and ensure enough of product is in memory to continue */ length = SECT_0_LEN + THREE_BYTE_LONG(phold+4); if ( leng < (length+4) ) return USER_BUFFER_TINY; if ( hsize < (length+4)) { numread = fileRead( hold+hsize, (length+4)-hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = length + 4; *holdsize = hsize; } /* Check for presence of section 2 */ if ( hold[11] & WMOBIT1 ) next_sec = 2; /* Get the size of remaining sections */ for ( next = next_sec; next < 5 ; next++ ) { length += THREE_BYTE_LONG(phold+length); if ( leng < (length+4) ) return USER_BUFFER_TINY; if ( hsize < (length+4)) { numread = fileRead( hold+hsize,(length+4)-hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = length + 4; *holdsize = hsize; } } /* Add on the size of section 5 */ length += LEN_7777; if ( leng < length ) return USER_BUFFER_TINY; return length; } static fortint tide_budg_size(char * hold, fortint leng, fortint * holdsize, fortint (*fileRead)(), void * stream) /* // Returns the size in bytes of the TIDE/BUDG/DIAG code product. // // hold = buffer to hold product, // leng = length of buffer, // holdsize = number of bytes of the product in the hold buffer. // Note that this increases if necessary as more bytes are read. // fileRead = function used to read the product, // stream = data describing the input stream (eg. FILE *). */ { unsigned char * phold = (unsigned char *) hold; fortint numread, hsize = *holdsize; fortint num, length; /* Need more bytes to get length of section 1 */ num = 8; /* put first 8 bytes in buffer */ if ( leng < num ) return USER_BUFFER_TINY; if ( hsize < num) { numread = fileRead( hold + hsize, num - hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = num; } *holdsize = hsize; /* Have to step through individual sections adding up the lengths */ /* Add on the length of section 1 and ensure enough of product is in memory to continue */ length = SECT_0_LEN + THREE_BYTE_LONG(phold+4); if ( leng < (length+4) ) return USER_BUFFER_TINY; if ( hsize < (length+4)) { numread = fileRead( hold+hsize, (length+4)-hsize, stream); if ( numread <= 0 ) { /* eg. on END_OF_FILE */ *holdsize -= numread; return *holdsize; } hsize = length + 4; *holdsize = hsize; } /* Get the size of remaining section */ length += THREE_BYTE_LONG(phold+length); /* Add on the size of section 5 */ length += LEN_7777; if ( leng < length ) return USER_BUFFER_TINY; return length; } static fortint prodsize(fortint code, char * hold, fortint leng, fortint * holdsize, fortint (*fileRead)(), void * stream) /* // Returns size of BUFR, GRIB, BUDG, TIDE, DIAG product in bytes. // // hold = buffer holding product, // leng = size of buffer in bytes, // holdsize = number of bytes of product already read into hold. // fileRead = function used to read the product, // stream = data describing the input stream (eg. FILE *). */ { long lcode = code; *holdsize = 4; switch( lcode ) { case BUFR: memcpy(hold,"BUFR",4); return bufrsize( hold, leng, holdsize, fileRead, stream); case BUDG: memcpy(hold,"BUDG",4); return tide_budg_size( hold, leng, holdsize, fileRead, stream); case GRIB: memcpy(hold,"GRIB",4); return gribsize( hold, leng, holdsize, fileRead, stream); case TIDE: memcpy(hold,"TIDE",4); return tide_budg_size( hold, leng, holdsize, fileRead, stream); case DIAG: memcpy(hold,"DIAG",4); return tide_budg_size( hold, leng, holdsize, fileRead, stream); case CREX: memcpy(hold,"CREX",4); return crex_size( stream); default: return 0; } } #define BIT1 0x80 #define BIT2 0x40 static fortint waveLength(char * buffer) { /* // On entry, buffer contains a GRIB edition 1 product (somewhere). // // The value returned is the length of the GRIB product calculated // from the individual lengths of sections 0, 1, 2, 3, 4 and 5; // sections 2 and 3 are optional and may or may not be present. // // If there is a problem processing the product, or if GRIB edition // -1 or 0 is encountered, the return value is -1. */ int found = 0; int code = 0; long bytes_read = 0, advance; char p, edit_num, flag23; char size[3]; int section0 = 8, section1, section2, section3, section4, section5 = 4; long total; size_t rtotal; long s0; /* Read bytes until "GRIB" found */ do { if( grab(buffer, &p, 1, 1, &bytes_read) != 0) return (-1); code = ( (code << 8) + p ) & 0xFFFFFFFF; if (code == GRIB ) found = 1; } while ( ! found ); s0 = bytes_read - 4; bytes_read = 4; if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); rtotal = THREE_BYTE_LONG(size); if( rtotal > 0x800000 ) { total = (rtotal&0x7fffff) * 120; } /* Check the edition number */ if( grab(buffer, &edit_num, 1, 1, &bytes_read) != 0) return (-1); if( edit_num != 1 ) { printf("Cannot handle GRIB edition 0\n"); return (-1); } /* reject edition 0 */ if( (*(buffer+21-s0) == '\0') && (*(buffer+22-s0) == '\0') ) { printf("Cannot handle GRIB edition -1\n"); return (-1); } /* reject edition -1 */ /* Read length of section 1 */ if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); section1 = THREE_BYTE_LONG(size); /* Now figure out if sections 2/3 are present */ advance = 4; bytes_read += advance; if( grab(buffer, &flag23, 1, 1, &bytes_read) != 0) return (-1); section2 = flag23 & BIT1; section3 = flag23 & BIT2; /* Advance to end of section 1 */ advance = section1 - (bytes_read - section0); bytes_read += advance; /* Read section 2 length if it is given*/ if( section2 ) { if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); section2 = THREE_BYTE_LONG(size); advance = section2 - (bytes_read - section0 - section1); bytes_read += advance; } /* Read section 3 length if it is given*/ if( section3 ) { if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); section3 = THREE_BYTE_LONG(size); advance = section3 - (bytes_read - section0 - section1 - section2); bytes_read += advance; } /* Read section 4 length */ if( grab(buffer, size, 3, 1, &bytes_read) != 0) return (-1); section4 = THREE_BYTE_LONG(size); /* If it happens that the section 2 is not the difference of bytes between the real message length and the coded message length, that mean that the 120 trick is not used, if so return the real length */ if(section4 > 120 ) return rtotal; section4 = total + 3 - bytes_read - section4; return (section0+section1+section2+section3+section4+section5); } static int grab(char * buffer, char * where, long size,long cnt,long * num_bytes_read) { long number = size*cnt; memcpy(where, (buffer+(*num_bytes_read)), number); *num_bytes_read += number; return 0; } #define BUFFLEN 1000 static fortint crex_size( void * stream) { /* // Returns the size in bytes of the TIDE/BUDG/DIAG code product. // // stream = data describing the input stream (eg. FILE *). */ char buffer[BUFFLEN]; int startPosition, inBuffer; char * next, * endBuffer; char plplcrcrlf7777[10] = {0,0,0,0,0,0,0,0,0,0}; char PlPlCrCrLf7777[10] = {0x2b,0x2b,0x0d,0x0d,0x0a,0x37,0x37,0x37,0x37,0x00}; int endFound, loop, status, size = 0; int size7777 = sizeof(PlPlCrCrLf7777) - 1; /* // Record current file position */ startPosition = fileTell((FILE *) stream); if( startPosition < 0 ) { perror("crex_size: error recording current file position."); exit(1); } /* // Read some bytes to start with */ inBuffer = fileRead(buffer, BUFFLEN, (FILE *) stream); if( ferror((FILE *) stream) ) { perror("crex_size: file read error"); exit(1); } next = buffer; endBuffer = next + abs(inBuffer); /* // Look for ++CrCrLf7777 at end of product */ endFound = 0; while( !endFound ) { for( loop = 0; loop < 8; loop++ ) plplcrcrlf7777[loop] = *(next++); plplcrcrlf7777[9] = '\0'; while( next<=endBuffer ) { plplcrcrlf7777[8] = *(next++); if( strcmp(plplcrcrlf7777,PlPlCrCrLf7777) == 0 ) { endFound = 1; /* // Position file where it started */ status = fileSeek(stream, startPosition, SEEK_SET); if( status != 0 ) { perror("crex_size: file repositioning error"); exit(1); } return ( (int) (next - buffer + size + 4) ); } for( loop = 0; loop < 8; loop++ ) plplcrcrlf7777[loop] = plplcrcrlf7777[loop+1]; } if( !endFound ) { if( feof((FILE *) stream) ) { printf("crex_size: end-of-file hit before end of CREX found\n"); exit(1); } else { size += (BUFFLEN - size7777); memmove(buffer, (buffer+(BUFFLEN-size7777)), size7777); inBuffer = fileRead((buffer+size7777), (BUFFLEN-size7777), (FILE *) stream); if( ferror((FILE *) stream) ) { perror("crex_size: file read error"); exit(1); } if( inBuffer == 0 ) return 0; next = buffer; endBuffer = next + abs(inBuffer); } } } /* // Position file where it started */ status = fileSeek(stream, startPosition, SEEK_SET); if( status != 0 ) { perror("crex_size: file repositioning error"); exit(1); } return 0; } emoslib-000392+dfsg.1/interpolation/0000755000175000017500000000000012127406245020345 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/interpolation/hntfaps.F0000755000175000017500000003025712127406245022131 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HNTFAPS(INGRIB,INLEN) C C----> C**** HNTFAPS C C Purpose C ------- C C Prepare to interpolate input spectral field. C C C Interface C --------- C C IRET = HNTFAPS(INGRIB,INLEN) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C C C Output C ------ C C Field unpacked values are in ZNFELDI, rotated if necessary. C C Returns: 0, if OK. Otherwise, an error occured in rotation. C C C Method C ------ C C Unpack field. C C Rotate the field values if necessary. C C Some rotation coefficients cannot be created because the C algorithm does not converge for rotations which are smaller C than a limit which depends on the spectral truncation. C C If the rotation is too small, it has to be split into three C steps (two forward and one backward). C C Current know limits are: C C Truncation Max South pole lat Minimum rotation C ---------- ------------------ ---------------- C 63 -89.5 0.5 C 106 -85 5.0 C 159 -77 13.0 C 213 -68 22.0 C 319 -51 39.0 C 511 -30.5 59.5 C C C Externals C --------- C C GRIBEX - Decode/encode GRIB product. C GRSVCK - Turn off GRIB checking C INTLOG - Log error message. C INTLOGR - Log error message. C RPHI - Rotate a spectral field by longitude. #ifdef __uxp__ C JACOBIF - Rotates spectral coefficients by latitude. #else C JACOBI - Rotates spectral coefficients by latitude. #endif C C C Author C ------ C C J.D.Chambers ECMWF January 31, 2001 C C C----< C C -----------------------------------------------------------------| C* Section 0. Variables C -----------------------------------------------------------------| C IMPLICIT NONE C C Function arguments C INTEGER INGRIB(*),INLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 40120 ) INTEGER JPLEN, JPNM PARAMETER ( JPNM = JPSTRUNC ) PARAMETER ( JPLEN = (JPNM+1)*(JPNM+6) ) C C Local variables C REAL POLELAT, POLELON CHARACTER*1 TYPE INTEGER IWORD, IERR, KPR INTEGER NUMPTS, NGAUSS INTEGER ISIZE, NBYTES, ITRUNC, LOOP, IRET DATA ISIZE/0/ C REAL SWORK DIMENSION SWORK(1) #ifdef POINTER_64 INTEGER*8 ISWORK #endif POINTER ( ISWORK, SWORK) C REAL*8 DWORK DIMENSION DWORK(1) #ifdef POINTER_64 INTEGER*8 IDWORK #endif POINTER ( IDWORK, DWORK) C REAL*8 DATA DIMENSION DATA(1) #ifdef POINTER_64 INTEGER*8 IDATA #endif POINTER ( IDATA, DATA) C SAVE ISIZE, ISWORK, IDWORK, IDATA C REAL*8 DLON, DLAT, LATLIM LOGICAL LOK, LSPLIT #ifdef CRAY DATA NBYTES/8/ #else DATA NBYTES/4/ #endif C C Externals C #ifdef __uxp__ LOGICAL JACOBIF EXTERNAL JACOBIF #else LOGICAL JACOBI EXTERNAL JACOBI #endif C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE HNTFAPS = 0 IERR = 0 KPR = 0 C C -----------------------------------------------------------------| C* Section 2. Decode data from the GRIB code C -----------------------------------------------------------------| C 200 CONTINUE C C Decode data from GRIB code (no checking) C IWORD = INLEN IERR = 0 CALL GRSVCK(0) IERR = 1 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X ZNFELDI, JPEXPAND, INGRIB, INLEN, IWORD, 'D',IERR) C IF( IERR.LT.0) THEN IF( (IERR.EQ.-2).OR.(IERR.EQ.-4) ) THEN CALL INTLOG(JP_DEBUG,'HNTFAPS: Use missing value',JPQUIET) LIMISSV = .TRUE. ELSE CALL INTLOG(JP_ERROR,'HNTFAPS: GRIBEX decoding fail.',IERR) HNTFAPS = IERR GOTO 900 ENDIF ELSE IF( IERR.GT.0 ) THEN CALL INTLOG(JP_ERROR,'HNTFAPS: GRIBEX decoding failed.',IERR) HNTFAPS = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 3. Handle rotation, if necessary. C -----------------------------------------------------------------| C 300 CONTINUE C C Is a rotation of the SH required? C IF( LNOROTA ) THEN C C Avoid rotating U or V spectral coefficients C IF( (NIPARAM.EQ.JP_U).OR.(NIPARAM.EQ.JP_V) ) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Unable to rotate spectral U or V:',NIPARAM) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF C C Dynamically allocate memory for workspace. C C (Note the multiplication by 2 for REAL*8). C ISIZE = (2*(JPNM+1)*(JPNM+6))*2 CALL JMEMHAN( 11, IDWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'HNTFAPS: memory allocation fail',IDWORK) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF C C (Note the multiplication by 2 for REAL*8). C ISIZE = JPLEN*2 CALL JMEMHAN( 15, IDATA, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'HNTFAPS: memory allocation fail',IDATA) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF C CALL INTLOG(JP_DEBUG,'HNTFAPS: Rotate SH field.',JPQUIET) CALL INTLOG(JP_DEBUG,'HNTFAPS: South pole latitude ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'HNTFAPS: South pole longitude ',NOROTA(2)) IF ( NOREPR.EQ.JPSPHERE ) NOREPR = JPSPHROT IF ( NOREPR.EQ.JPREGULAR ) NOREPR = JPREGROT ITRUNC = ISEC2(2) C C Some rotation coefficients cannot be created because the C algorithm does not converge for rotations which are smaller C than a limit which depends on the spectral truncation. C IF( ITRUNC.LE.63 ) THEN LATLIM = -89.5 ELSE IF( ITRUNC.LE.106 ) THEN LATLIM = -85.0 ELSE IF( ITRUNC.LE.159 ) THEN LATLIM = -77.0 ELSE IF( ITRUNC.LE.213 ) THEN LATLIM = -68.0 ELSE IF( ITRUNC.LE.319 ) THEN LATLIM = -51.0 ELSE IF( ITRUNC.LE.511 ) THEN #ifdef __uxp__ LATLIM = -30.5 #else LATLIM = -29.5 #endif ELSE HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF CALL INTLOGR(JP_DEBUG, X 'HNTFAPS: South pole latitude limit = ',LATLIM) C POLELAT = (REAL(NOROTA(1))/JPMULT) C C If the rotation is too small, it has to be split into three C steps (two forward and one backward). C LSPLIT = POLELAT.LT.LATLIM IF( LSPLIT ) THEN DLAT = -90.0 - LATLIM CALL INTLOG(JP_DEBUG, X 'HNTFAPS: Rotation has been split into three steps',JPQUIET) ELSE DLAT = -90.0 - POLELAT ENDIF #if (defined CRAY) || (defined REAL_8) C C Double precision REALs C DLON = - REAL(NOROTA(2))/JPMULT C C Rotate the spectral field by longitude. C CALL RPHI( ZNFELDI, ITRUNC, DWORK, DLON) C C Rotate the spectral field by latitude. C IF( LSPLIT ) THEN C C Two rotations forward .. C CALL INTLOGR(JP_DEBUG, X 'HNTFAPS: Twice forward through angle ', DLAT) #if (!defined __uxp__) LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF #endif C C .. and one backward C DLAT = -90.0 - ( (LATLIM*2.0) - POLELAT) DLAT= -DLAT CALL INTLOGR(JP_DEBUG, X 'HNTFAPS: Once backward through angle ', DLAT) ENDIF C #if (!defined __uxp__) LOK = JACOBI( ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF #endif #else C C Single precision REALs; so convert to double precision. C DLAT = -90.0 - DBLE(NOROTA(1))/JPMULT DLON = - DBLE(NOROTA(2))/JPMULT C C Expand spectral coefficients to REAL*8 C DO LOOP = 1, ISEC4(1) DATA(LOOP) = DBLE(ZNFELDI(LOOP)) ENDDO C C Rotate the spectral field by longitude. CALL RPHI( DATA, ITRUNC, DWORK, DLON) C C Rotate the spectral field by latitude. C IF( LSPLIT ) THEN C C Two rotations forward .. C CALL INTLOGR(JP_DEBUG, X 'HNTFAPS: Twice forward through angle ', DLAT) #if (!defined __uxp__) LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAPS: Spectral rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF #endif C C .. and one backward C DLAT = -90.0 - ( (LATLIM*2.0) - POLELAT) DLAT= -DLAT CALL INTLOGR(JP_DEBUG, X 'HNTFAPS: Once backward through angle ', DLAT) ENDIF C #if (!defined __uxp__) LOK = JACOBI( DATA, ITRUNC, DWORK, DLAT) #else LOK = JACOBIF(DATA, ITRUNC, DWORK, DLAT) #endif #endif C IF( .NOT.LOK ) THEN CALL INTLOG(JP_ERROR,'HNTFAPS: Rotation failed',JPQUIET) HNTFAPS = JPROUTINE + 3 GOTO 900 ENDIF #if (!defined CRAY) && (!defined REAL_8) C C Single precision REALs; repack spectral coefficients to REAL*4. C DO LOOP = 1, ISEC4(1) ZNFELDI(LOOP) = SNGL(DATA(LOOP)) ENDDO #endif C ENDIF C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/iggmem.F0000755000175000017500000002600412127406245021726 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGGMEM (KPR, KERR) C C----> C**** *IGGMEM* C C PURPOSE C _______ C C This routine acquires heap space. C C INTERFACE C _________ C C IERR = IGGMEM (KPR, KERR) C C Input parameters C ________________ C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C None C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C nifld.common - This file contains all the input field C definition variables. C C NINS - Number of grid points in NS direction for input C field (used in grspace.h). C NIWE - Number of grid points in WE direction for input C field (used in grspace.h). C C nofld.common - This file contains all the output field C definition variables. C C NONS - Number of grid points in NS direction for output C field (used in grspace.h). C NOWE - Number of grid points in WE direction for output C field (used in grspace.h). C C grspace.h - This file contains all the work space array C definitions for grid point to grid point C interpolation. C C GRID_POINT C C NILATGP - POINTER to array MILATG. C NILONGP - POINTER to array MILONG. C NILSMP - POINTER to array MILSM. C NINPNTP - POINTER to array RINPNT. C NISTRTP - POINTER to array MISTRT. C NNSDISTP - POINTER to array MNSDIST. C NNSINDP - POINTER to array MNSIND. C NMAXP - POINTER to array RMAX. C NOLATGP - POINTER to array MOLATG. C NOLONGP - POINTER to array MOLONG. C NOLSMP - POINTER to array MOLSM. C NWEDISTP - POINTER to array MWEDIST. C NWEINDP - POINTER to array MWEIND. C NWFACTP - POINTER to array WFACT. C C MILATG - Dynamic array of length (NINS) (see nifld.common) C which holds the values of the input field C latitudes. C MILONG - Dynamic array of length (NIWE + 1) (see C nifld.common) which holds the values of the C input field longitudes. C MILSM - Dynamic array of length (NIWE, 2) (see C nifld.common) used in calculating the effects of C the land sea mask on interpolation. C MISTRT - Dynamic array of length (NINS) (see nifld.common) C which holds the array offsets of the start of C each latitude line for a quasi regular Gaussian C input field. No space is assigned to this array C for a regular input field. C MNSDIST - Dynamic array of length (2, NONS) (see C nofld.common) which holds the distances to C neighbouring latitude lines of the input field C from the associated line of latitude in the C output field. C MNSIND - Dynamic array of length (2, NONS) (see C nofld.common) which holds the latitude line C numbers (array offset) of the input field C associated with each line of latitude in the C output field. C MOLATG - Dynamic array of length (NONS) (see nofld.common) C which holds the values of the output field C latitudes. C MOLONG - Dynamic array of length (NOWE) (see nofld.common) C which holds the values of the output field C longitudes. C MOLSM - Dynamic array of length (NOWE) (see nofld.common) C used in calculating the effects of the land sea C mask on interpolation. C MWEDIST - Dynamic array of length (2, NONS) for a regular C input field and of length (2, 2 * NONS * NOWE) C (see nofld.common) for a quasi regular Gaussian C input field. This array holds the distances to C neighbouring longitude points of the input field C from the associated longitude points in the C output field. C MWEIND - Dynamic array of length (2, NONS) for a regular C input field and of length (2, 2 * NONS * NOWE) C (see nofld.common) for a quasi regular Gaussian C input field. This array holds the longitude C points (array offset) from the input field C associated with each longitude point in the C output field. C RINPNT - Dynamic array of length (NOWE) (see nofld.common) C used to aid vectorisation in processing C precipitation fields. C RMAX - Dynamic array of length (NOWE) (see nofld.common) C used to aid vectorisation in processing C precipitation fields. C WFACT - Dynamic array of length (4, NOWE * NONS) (see C nofld.common) which holds the interpolation C weights for each point in the output field. C C EXTERNALS C _________ C C IGALLOC - Get a heap allocation for array space. C INTLOG - Logs messages. C C METHOD C ______ C C This routine calculates how much heap space is required. It C then calls IGALLOC to acquire the required space. Finally the C POINTERs to the arrays in grspace.h are initialised to allow C the use of the dynamic arrays. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C None C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C Dummy arguments C INTEGER KPR, KERR C C Local variables C #ifdef POINTER_64 INTEGER*8 IBASE #else INTEGER IBASE #endif INTEGER IREQUEST, IERR INTEGER JPROUTINE PARAMETER (JPROUTINE = 22100) C C External functions C INTEGER IGALLOC C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGGMEM: Section 1.',JPQUIET) C IGGMEM = 0 C C -----------------------------------------------------------------| C* Section 2. Calculate memory required and get heap C -----------------------------------------------------------------| C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGGMEM: Section 2.',JPQUIET) C C REAL arrays (This may change for double precision version) C IREQUEST = 4 * NOWE * NONS * JPRLEN C C REAL arrays for precipitation calculations C IREQUEST = IREQUEST + 2 * NOWE * JPRLEN C C Fixed integer fields C IREQUEST = IREQUEST + (NIWE + 1 + NINS + NOWE + 5 * NONS) * 1 JPILEN C C Regular input fields (These change for reduced Gaussian fields) C IREQUEST = IREQUEST + 4 * NOWE * JPILEN C C Fields for LSM calculations C IREQUEST = IREQUEST + (2 * NIWE + NOWE) * JPILEN C C Get the required memory C IERR = IGALLOC (JPINNER, IREQUEST, IBASE, KPR, KERR) C IF( IERR .GT. 0) THEN IGGMEM = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 3. Initialise base addresses for POINTER arrays C -----------------------------------------------------------------| C 300 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGGMEM: Section 3.',JPQUIET) C C REAL arrays first to ease conversion to DOUBLE PRECISION C NWFACTP = IBASE C C Precipitation REAL arrays C NMAXP = NWFACTP + 4 * NOWE * NONS * JPRLEN NINPNTP = NMAXP + NOWE * JPRLEN C C This offset may change if DOUBLE PRECISION C NILONGP = NINPNTP + NOWE * JPRLEN C NILATGP = NILONGP + (NIWE + 1) * JPILEN NOLONGP = NILATGP + NINS * JPILEN NOLATGP = NOLONGP + NOWE * JPILEN NNSINDP = NOLATGP + NONS * JPILEN NNSDISTP = NNSINDP + 2 * NONS * JPILEN C C These fields change for quasi regular Gaussian input C NWEINDP = NNSDISTP + 2 * NONS * JPILEN NWEDISTP = NWEINDP + 2 * NOWE * JPILEN NISTRTP = NWEDISTP + 2 * NOWE * JPILEN C C MISTRT is not use for regular input grids C LSM arrays C NILSMP = NISTRTP C NOLSMP = NILSMP + 2 * NIWE * JPILEN C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGGMEM: Output base addresses.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGGMEM: WFACT address = ',NWFACTP) CALL INTLOG(JP_DEBUG,'IGGMEM: RMAX address = ',NMAXP ) CALL INTLOG(JP_DEBUG,'IGGMEM: RINPNT address = ',NINPNTP) CALL INTLOG(JP_DEBUG,'IGGMEM: Input long. address = ',NILONGP) CALL INTLOG(JP_DEBUG,'IGGMEM: Input lat. address = ',NILATGP) CALL INTLOG(JP_DEBUG,'IGGMEM: Output long. address = ',NOLONGP) CALL INTLOG(JP_DEBUG,'IGGMEM: Output lat. address = ',NOLATGP) CALL INTLOG(JP_DEBUG,'IGGMEM: NS offset = ',NNSINDP) CALL INTLOG(JP_DEBUG,'IGGMEM: NS address = ',NNSDISTP) CALL INTLOG(JP_DEBUG,'IGGMEM: WE offset = ',NWEINDP) CALL INTLOG(JP_DEBUG,'IGGMEM: WE address = ',NWEDISTP) CALL INTLOG(JP_DEBUG, X 'IGGMEM: Line start array address = ',NISTRTP) CALL INTLOG(JP_DEBUG,'IGGMEM: Input LSM address = ',NILSMP) CALL INTLOG(JP_DEBUG,'IGGMEM: Output LSM address = ',NOLSMP) ENDIF C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGGMEM: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/sources.FUJITSU0000755000175000017500000001044512127406245023112 0ustar amckinstryamckinstryHEADERS = \ current.h \ debug.h \ grdynam.h \ grfixed.h \ grspace.h \ intf.h \ intlog.h \ jparams.h \ memreq.h \ ouspace.h \ parim.h VECTOR.F = \ intfau.F \ jacobif.F \ jagggp.F \ jallgp.F \ jsgggp.F \ jsllgp.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ jwindll.F \ rpassm.F \ sscal.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsh2sh.F \ jspleg1.F \ jsppole.F \ juvpole.F \ jvod2uv.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ ppallow.F \ precip.F \ qpassm.F \ reset_c.F \ rphi.F \ set99.F \ sprotat.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dppp.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/hwtslsm.F0000755000175000017500000003533112127406245022165 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE HWTSLSM X (KLEN,KSCHEME,KLA,PDLAT,PLATIN,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X LSMOLD,LSMNEW,PWTS) C C----> C**** HWTSLSM C C Purpose C ------- C C This routine accepts a vector of points and calculates the C interpolation weightings for each point suitable for the C horizontal interpolation. C C C Interface C --------- C C CALL HWTSLSM C X (KLEN,KSCHEME,KLA,PDLAT,PLATIN,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, C X LSMOLD,LSMNEW,PWTS) C C C Input parameters C ---------------- C C KLEN - Number of points along the vector. C KSCHEME - Flag showing interpolation scheme to use for point C 0 = 12-point C 1 = 4-point bilinear C 2 = nearest neighbour C KLA - Latitude number in original field of latitude north of C point in the vector. C PDLAT - Meridian linear weight. C PLATIN - Gaussian latitudes. C PDLO0 - Zonal linear weight for the latitude of point 5. C PDLO1 - Zonal linear weight for the latitude of point 1. C PDLO2 - Zonal linear weight for the latitude of point 3. C PDLO3 - Zonal linear weight for the latitude of point 11. C NEIGH - List of indices in the original field of neighbouring C point values. C LSMOLD - Array of land-sea mask values ( a reduced gaussian C field which matches the reduced gaussian field to be C used for interpolation) C LSMNEW - Vector of land-sea mask values for the input points C C C Output parameters C ----------------- C C PWTS - Weights for interpolation. C C Common block usage C ------------------ C C None. C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C C Externals C --------- C C None. C C C Reference C --------- C C ECMWF Meteorological Bulletin M1.6/7 C IFS Documentation C Part VI: Technical and Computational Procedures (CY21R4) C March 2000 C Section 2.3 C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF March 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C C Parameters C INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) C C Function arguments C INTEGER KLEN, KSCHEME(KLEN), KLA(KLEN) REAL PDLAT(KLEN), PLATIN(*) REAL PDLO0(KLEN), PDLO1(KLEN), PDLO2(KLEN), PDLO3(KLEN) REAL LSMNEW(KLEN) INTEGER NEIGH(12,*) REAL LSMOLD(*),PWTS(12,*) C C Local variables C INTEGER NEXT, LOOP INTEGER ILA0G, ILA1G, ILA2G, ILA3G INTEGER IMKOUT, IMKIN1, IMKIN2, IMKIN3, IMKIN4, IMKIN5, IMKIN6 INTEGER IMKIN7, IMKIN8, IMKIN9, IMKIN10, IMKIN11, IMKIN12 REAL ZDLAT, ZDY, ZDY10, ZDY21, ZDY32 REAL ZDLO, ZDLO1, ZDLO2, ZDLO3, ZWXN0, ZWXN1, ZWXN2, ZWXN3 REAL ZWY0, ZWY1, ZWY2, ZWY3 REAL ZWXNN, ZCXNN, ZWXSS, ZCXSS REAL ZWXS0, ZWXS1, ZWXS2, ZWXS3 REAL ZWY, ZCY, ZWXN, ZCXN, ZWXS, ZCXS REAL ZWLSI1, ZWLSI2, ZWLSI3, ZWLSI4, ZWLSI5, ZWLSI6 REAL ZWLSI7, ZWLSI8, ZWLSI9, ZWLSI10, ZWLSI11, ZWLSI12 REAL ZWLSI13, ZWLSI14, ZWLSI15, ZWLSI16, ZWLSI17 REAL ZEPSIL DATA ZEPSIL/1.E-5/ C C Inline functions C REAL A, B, ADJUST REAL ALPHA, BETA, GAMMA, DELTA, EPSILON, F2, F3, F4 C ADJUST(A,B) = 1.0 - INT(B + ZEPSIL)*(1.0 - A) C F2(ALPHA,BETA,GAMMA,DELTA,EPSILON) = X ALPHA * ((1.0 + BETA*GAMMA) * X (1.0 + DELTA*(GAMMA-2.0)) * X (1.0 + EPSILON*(GAMMA-3.0))) / X ((1.0 - 2.0*DELTA) * (1.0 - 3.0*EPSILON)) C F3(ALPHA,BETA,GAMMA,DELTA,EPSILON) = X ALPHA * ((1.0 + BETA*GAMMA) * X (1.0 + DELTA*(GAMMA - 1.0)) * X (1.0 + EPSILON*(GAMMA - 3.0))) / X ((1.0 + BETA) * (1.0 - 2.0*EPSILON)) C F4(ALPHA,BETA,GAMMA,DELTA,EPSILON) = X ALPHA * ((1.0 + BETA*GAMMA) * X (1.0 + DELTA*(GAMMA - 1.0)) * X (1.0 + EPSILON*(GAMMA - 2.0))) / X ((1.0 + 2.0*BETA) * (1.0 + DELTA)) C C -----------------------------------------------------------------| C Process each point in the vector. C -----------------------------------------------------------------| C DO NEXT = 1,KLEN C C Clear the weights for the current point C DO LOOP = 1, 12 PWTS(LOOP,NEXT) = 0.0 ENDDO C C Use appropriate interpolation scheme for the current point C C -----------------------------------------------------------------| C C Nearest point selection C C -----------------------------------------------------------------| C IF( KSCHEME(NEXT).EQ.JPNEARN ) THEN C DO LOOP = 1, 4 IF( NEIGH(LOOP,NEXT).NE.0 ) PWTS(LOOP,NEXT) = 1.0 ENDDO C GOTO 900 C C -----------------------------------------------------------------| C C 4-point interpolation C C -----------------------------------------------------------------| C ELSE IF( KSCHEME(NEXT).EQ.JP4PT ) THEN C C -----------------------------------------------------------------| C Initialise the lsm weights C -----------------------------------------------------------------| C ZWLSI1 = 1.0 ZWLSI2 = 1.0 ZWLSI3 = 1.0 ZWLSI4 = 1.0 C ZWLSI14 = 0.0 ZWLSI15 = 0.0 ZWLSI17 = 0.0 C C Modify the weights according to whether or not the target C point matches its neighbours C IMKOUT = NINT(LSMNEW(NEXT)) C IMKIN1 = NINT(LSMOLD(NEIGH(1,NEXT))) IF( IMKIN1.NE.IMKOUT ) ZWLSI1 = 0.0 C IMKIN2 = NINT(LSMOLD(NEIGH(2,NEXT))) IF( IMKIN2.NE.IMKOUT ) ZWLSI2 = 0.0 C IMKIN3 = NINT(LSMOLD(NEIGH(3,NEXT))) IF( IMKIN3.NE.IMKOUT ) ZWLSI3 = 0.0 C IMKIN4 = NINT(LSMOLD(NEIGH(4,NEXT))) IF( IMKIN4.NE.IMKOUT ) ZWLSI4 = 0.0 C IF( IMKIN1.NE.IMKOUT) ZWLSI1 = 0.0 IF( IMKIN2.NE.IMKOUT) ZWLSI2 = 0.0 IF( IMKIN3.NE.IMKOUT) ZWLSI3 = 0.0 IF( IMKIN4.NE.IMKOUT) ZWLSI4 = 0.0 C ZWLSI14 = MIN(ZWLSI1 + ZWLSI2, 1.0) ZWLSI15 = MIN(ZWLSI3 + ZWLSI4, 1.0) ZWLSI17 = MIN(ZWLSI14 + ZWLSI15, 1.0) C ZWLSI1 = ADJUST(ZWLSI1,ZWLSI14) ZWLSI2 = ADJUST(ZWLSI2,ZWLSI14) ZWLSI3 = ADJUST(ZWLSI3,ZWLSI15) ZWLSI4 = ADJUST(ZWLSI4,ZWLSI15) C ZWLSI14 = ADJUST(ZWLSI17,ZWLSI14) ZWLSI15 = ADJUST(ZWLSI17,ZWLSI15) C C -----------------------------------------------------------------| C Weights for bilinear interpolation. C -----------------------------------------------------------------| C ZWY = ZWLSI15 * (1.0 + ZWLSI14 * (PDLAT(NEXT) - 1.0)) ZCY = 1.0 - ZWY C ZWXN = ZWLSI2 * (1.0 + ZWLSI1 * (PDLO1(NEXT) - 1.0)) ZCXN = 1.0 - ZWXN C ZWXS = ZWLSI4 * (1.0 + ZWLSI3 * (PDLO2(NEXT) - 1.0)) ZCXS = 1.0 - ZWXS C PWTS(1,NEXT) = ZCXN * ZCY PWTS(2,NEXT) = ZWXN * ZCY PWTS(3,NEXT) = ZCXS * ZWY PWTS(4,NEXT) = ZWXS * ZWY C GOTO 900 C C -----------------------------------------------------------------| C C 12-point interpolation C C -----------------------------------------------------------------| C ELSE C C -----------------------------------------------------------------| C Initialise the lsm weights C -----------------------------------------------------------------| C ZWLSI1 = 1.0 ZWLSI2 = 1.0 ZWLSI3 = 1.0 ZWLSI4 = 1.0 ZWLSI5 = 1.0 ZWLSI6 = 1.0 ZWLSI7 = 1.0 ZWLSI8 = 1.0 ZWLSI9 = 1.0 ZWLSI10 = 1.0 ZWLSI11 = 1.0 ZWLSI12 = 1.0 C ZWLSI13 = 0.0 ZWLSI14 = 0.0 ZWLSI15 = 0.0 ZWLSI16 = 0.0 ZWLSI17 = 0.0 C C Modify the weights according to whether or not the target C point matches its neighbours C IMKOUT = NINT(LSMNEW(NEXT)) C IMKIN1 = NINT(LSMOLD(NEIGH(1,NEXT))) IF( IMKIN1.NE.IMKOUT ) ZWLSI1 = 0.0 C IMKIN2 = NINT(LSMOLD(NEIGH(2,NEXT))) IF( IMKIN2.NE.IMKOUT ) ZWLSI2 = 0.0 C IMKIN3 = NINT(LSMOLD(NEIGH(3,NEXT))) IF( IMKIN3.NE.IMKOUT ) ZWLSI3 = 0.0 C IMKIN4 = NINT(LSMOLD(NEIGH(4,NEXT))) IF( IMKIN4.NE.IMKOUT ) ZWLSI4 = 0.0 C IMKIN5 = NINT(LSMOLD(NEIGH(5,NEXT))) IF( IMKIN5.NE.IMKOUT ) ZWLSI5 = 0.0 C IMKIN6 = NINT(LSMOLD(NEIGH(6,NEXT))) IF( IMKIN6.NE.IMKOUT ) ZWLSI6 = 0.0 C IMKIN7 = NINT(LSMOLD(NEIGH(7,NEXT))) IF( IMKIN7.NE.IMKOUT ) ZWLSI7 = 0.0 C IMKIN8 = NINT(LSMOLD(NEIGH(8,NEXT))) IF( IMKIN8.NE.IMKOUT ) ZWLSI8 = 0.0 C IMKIN9 = NINT(LSMOLD(NEIGH(9,NEXT))) IF( IMKIN9.NE.IMKOUT ) ZWLSI9 = 0.0 C IMKIN10 = NINT(LSMOLD(NEIGH(10,NEXT))) IF( IMKIN10.NE.IMKOUT ) ZWLSI10 = 0.0 C IMKIN11 = NINT(LSMOLD(NEIGH(11,NEXT))) IF( IMKIN11.NE.IMKOUT ) ZWLSI11 = 0.0 C IMKIN12 = NINT(LSMOLD(NEIGH(12,NEXT))) IF( IMKIN12.NE.IMKOUT ) ZWLSI12 = 0.0 C ZWLSI13 = MIN(ZWLSI5+ZWLSI6 ,1.0) ZWLSI14 = MIN(ZWLSI7+ZWLSI1+ZWLSI2+ZWLSI8 ,1.0) ZWLSI15 = MIN(ZWLSI9+ZWLSI3+ZWLSI4+ZWLSI10 ,1.0) ZWLSI16 = MIN(ZWLSI11+ZWLSI12 ,1.0) ZWLSI17 = MIN(ZWLSI13+ZWLSI14+ZWLSI15+ZWLSI16,1.0) C ZWLSI1 = ADJUST(ZWLSI1,ZWLSI14) ZWLSI2 = ADJUST(ZWLSI2,ZWLSI14) ZWLSI3 = ADJUST(ZWLSI3,ZWLSI15) ZWLSI4 = ADJUST(ZWLSI4,ZWLSI15) ZWLSI5 = ADJUST(ZWLSI5,ZWLSI13) ZWLSI6 = ADJUST(ZWLSI6,ZWLSI13) ZWLSI7 = ADJUST(ZWLSI7,ZWLSI14) ZWLSI8 = ADJUST(ZWLSI8,ZWLSI14) ZWLSI9 = ADJUST(ZWLSI9,ZWLSI15) ZWLSI10 = ADJUST(ZWLSI10,ZWLSI15) ZWLSI11 = ADJUST(ZWLSI11,ZWLSI16) ZWLSI12 = ADJUST(ZWLSI12,ZWLSI16) C ZWLSI13 = ADJUST(ZWLSI13,ZWLSI17) ZWLSI14 = ADJUST(ZWLSI14,ZWLSI17) ZWLSI15 = ADJUST(ZWLSI15,ZWLSI17) ZWLSI16 = ADJUST(ZWLSI16,ZWLSI17) C C Setup latitude numbers for the 4 rows. C ILA1G = KLA(NEXT) ILA0G = ILA1G - 1 ILA2G = ILA1G + 1 ILA3G = ILA1G + 2 C C Setup the weights between rows. C ZDLAT = PDLAT(NEXT) ZDY = ZDLAT * (PLATIN(ILA2G) - PLATIN(ILA1G)) ZDY10 = PLATIN(ILA1G) - PLATIN(ILA0G) ZDY21 = PLATIN(ILA2G) - PLATIN(ILA1G) ZDY32 = PLATIN(ILA3G) - PLATIN(ILA2G) C C -----------------------------------------------------------------| C Polynomial in x-direction. C -----------------------------------------------------------------| C C Northern parallel C ZDLO1 = PDLO1(NEXT) ZWXN1 = F2(ZWLSI1,ZWLSI7,ZDLO1,ZWLSI2,ZWLSI8) ZWXN2 = F3(ZWLSI2,ZWLSI7,ZDLO1,ZWLSI1,ZWLSI8) ZWXN3 = F4(ZWLSI8,ZWLSI7,ZDLO1,ZWLSI1,ZWLSI2) ZWXN0 = 1.0 - ZWXN1 - ZWXN2 - ZWXN3 C C Southern parallel C ZDLO2 = PDLO2(NEXT) ZWXS1 = F2(ZWLSI3,ZWLSI9,ZDLO2,ZWLSI4,ZWLSI10) ZWXS2 = F3(ZWLSI4,ZWLSI9,ZDLO2,ZWLSI3,ZWLSI10) ZWXS3 = F4(ZWLSI10,ZWLSI9,ZDLO2,ZWLSI3,ZWLSI4) ZWXS0 = 1.0 - ZWXS1 - ZWXS2 - ZWXS3 C C -----------------------------------------------------------------| C Polynomial in y-direction. C -----------------------------------------------------------------| C ZWY1 = ZWLSI14*((1.0 + ZWLSI13*(ZDY + ZDY10 - 1.0)) * X (1.0 + ZWLSI15*(ZDY - ZDY21 - 1.0)) * X (1.0 + ZWLSI16*(ZDY - ZDY21 - ZDY32 - 1.0))) / X ((1.0 + ZWLSI13*(ZDY10 - 1.0)) * X (1.0 + ZWLSI15*( -ZDY21 - 1.0)) * X (1.0 + ZWLSI16*( -ZDY21 - ZDY32 - 1.0))) ZWY2 = ZWLSI15*((1.0 + ZWLSI13*(ZDY + ZDY10 - 1.0)) * X (1.0 + ZWLSI14*(ZDY - 1.0)) * X (1.0 + ZWLSI16*(ZDY - ZDY21 - ZDY32 - 1.0))) / X ((1.0 + ZWLSI13*(ZDY10 + ZDY21 - 1.0)) * X (1.0 + ZWLSI14*(ZDY21 - 1.0)) * X (1.0 + ZWLSI16*( -ZDY32 - 1.0))) ZWY3 = ZWLSI16*((1.0 + ZWLSI13*(ZDY + ZDY10 - 1.0)) * X (1.0 + ZWLSI14*(ZDY - 1.0)) * X (1.0 + ZWLSI15*(ZDY - ZDY21 - 1.0))) / X ((1.0 + ZWLSI13*(ZDY10 + ZDY21 + ZDY32 - 1.0)) * X (1.0 + ZWLSI14*(ZDY21 + ZDY32 - 1.0)) * X (1.0 + ZWLSI15*(ZDY32 - 1.0))) ZWY0 = 1.0 - ZWY1 - ZWY2 - ZWY3 C C -----------------------------------------------------------------| C Linear parts for extreme rows. C -----------------------------------------------------------------| C C Northernmost C ZDLO = PDLO0(NEXT) ZWXNN = ZWLSI6 * (1.0 + ZWLSI5 * (ZDLO - 1.0)) ZCXNN = 1.0 - ZWXNN C C Southernmost C ZDLO3 = PDLO3(NEXT) ZWXSS = ZWLSI12 * (1.0 + ZWLSI11 * (ZDLO3 - 1.0)) ZCXSS = 1.0 - ZWXSS C C -----------------------------------------------------------------| C Weights for 12 points interpolation. C -----------------------------------------------------------------| C PWTS( 1,NEXT) = ZWXN1 * ZWY1 PWTS( 2,NEXT) = ZWXN2 * ZWY1 PWTS( 3,NEXT) = ZWXS1 * ZWY2 PWTS( 4,NEXT) = ZWXS2 * ZWY2 PWTS( 5,NEXT) = ZCXNN * ZWY0 PWTS( 6,NEXT) = ZWXNN * ZWY0 PWTS( 7,NEXT) = ZWXN0 * ZWY1 PWTS( 8,NEXT) = ZWXN3 * ZWY1 PWTS( 9,NEXT) = ZWXS0 * ZWY2 PWTS(10,NEXT) = ZWXS3 * ZWY2 PWTS(11,NEXT) = ZCXSS * ZWY3 PWTS(12,NEXT) = ZWXSS * ZWY3 C GOTO 900 C ENDIF C C -----------------------------------------------------------------| C End of processing for current point in vector. C -----------------------------------------------------------------| C 900 CONTINUE C ENDDO C RETURN END emoslib-000392+dfsg.1/interpolation/igbess.F0000755000175000017500000001151012127406245021731 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGBESS(KTRUNC, PBESJ0, KPR, KERR) C C----> C**** *IGBESS* C C PURPOSE C _______ C C Computes initial approximations to Gaussian latitudes. C C INTERFACE C _________ C C IERR = IGBESS(KTRUNC, PBESJ0, KPR, KERR) C C Input parameters C ________________ C C KTRUNC - This is the number of zeros of the J0 Bessel C function required. C C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PBESJ0 - The output array of zeros of the J0 Bessel function. C C Return Value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C The first JPLOOK values are obtained from a look-up table C (ZPBES). Any additional values requested are approximated by C adding PI (3.14159...) to the previous value. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C This routine is adapted from that in the old Marsint library. C The interface and the variable names have been modified. C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Dummy arguments INTEGER KTRUNC, KPR, KERR REAL PBESJ0 (*) C C Local variables INTEGER ILOOK INTEGER JAPPRX, JLOOK INTEGER JPROUTINE PARAMETER (JPROUTINE = 24400) REAL ZPBES (JPLOOK) DATA ZPBES / 2.4048255577E0, 5.5200781103E0, 1 8.6537279129E0, 11.7915344391E0, 14.9309177086E0, 2 18.0710639679E0, 21.2116366299E0, 24.3524715308E0, 3 27.4934791320E0, 30.6346064684E0, 33.7758202136E0, 4 36.9170983537E0, 40.0584257646E0, 43.1997917132E0, 5 46.3411883717E0, 49.4826098974E0, 52.6240518411E0, 6 55.7655107550E0, 58.9069839261E0, 62.0484691902E0, 7 65.1899648002E0, 68.3314693299E0, 71.4729816036E0, 8 74.6145006437E0, 77.7560256304E0, 80.8975558711E0, 9 84.0390907769E0, 87.1806298436E0, 90.3221726372E0, A 93.4637187819E0, 96.6052679510E0, 99.7468198587E0, 1 102.8883742542E0, 106.0299309165E0, 109.1714896498E0, 2 112.3130502805E0, 115.4546126537E0, 118.5961766309E0, 3 121.7377420880E0, 124.8793089132E0, 128.0208770059E0, 4 131.1624462752E0, 134.3040166383E0, 137.4455880203E0, 5 140.5871603528E0, 143.7287335737E0, 146.8703076258E0, 6 150.0118824570E0, 153.1534580192E0, 156.2950342685E0 / C C _______________________________________________________ C C* Section 1. Extract initial values from look up table C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGBESS: Section 1.',JPQUIET) C IGBESS = 0 C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG, X 'IGBESS: No.values requested = ',KTRUNC) C ILOOK = MIN (KTRUNC, JPLOOK) C DO 110 JLOOK = 1, ILOOK PBESJ0(JLOOK) = ZPBES(JLOOK) 110 CONTINUE C C _______________________________________________________ C C* Section 2. Approximate any extra values required C _______________________________________________________ C 200 CONTINUE C IF(KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGBESS: Section 2.',JPQUIET) C DO 210 JAPPRX = ILOOK + 1, KTRUNC PBESJ0(JAPPRX) = PBESJ0(JPLOOK) + PPI*(JAPPRX - ILOOK) 210 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF(KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGBESS: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/outrep.F0000755000175000017500000000146612127406245022004 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION OUTREP() C C----> C*****OUTREP* C C PURPOSE C ------- C C LNOREPR - Flag to say whether or not user specified NOREPR #include "parim.h" #include "nifld.common" #include "nofld.common" OUTREP = 1 IF(LNOREPR) OUTREP = 0 IF( OUTREP.EQ.1 ) THEN CALL INTLOG(JP_DEBUG, X 'OUTREP: Output Representation is Not specified',JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/global.F0000755000175000017500000000141212127406245021715 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION GLOBAL() C C----> C*****GLOBAL* C C PURPOSE C ------- C LGLOBL - Flag to say if output grid is global C C Function argument C #include "parim.h" #include "nofld.common" GLOBAL = 0 IF(LGLOBL) THEN GLOBAL = 1 CALL INTLOG(JP_DEBUG,'GLOBAL: Output Grid is Global' X ,JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/nmakgg.F0000755000175000017500000000626112127406245021730 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE NMAKGG( KTRUNC, KNEXT, PLAT, KNUM, PLEG, KRET) C C----> C**** NMAKGG C C PURPOSE C _______ C C This routine creates legendre functions for latitude rows from C the given latitude. C C INTERFACE C _________ C C CALL NMAKGG( KTRUNC, KNEXT, PLAT, KNUM, PLEG, KRET) C C Input parameters C ________________ C C KTRUNC - Truncation. C KNEXT - Index (in PLAT) of next latitude at which to start C PLAT - Array of gaussian latitudes C KNUM - Number of latitudes to produce C C Output parameters C ________________ C C PLEG - Array of legendre functions for the latitude. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C See below. C C Externals C _________ C C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C Reference C _________ C C None. C C Comments C ________ C C None at present. C C AUTHOR C ______ C C J.D.Chambers *ECMWF* June 1999 C C MODIFICATIONS C _____________ C C None. C C----< C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30500 ) C C Subroutine arguments C INTEGER KTRUNC, KNEXT, KRET, KNUM REAL PLEG, PLAT DIMENSION PLEG(*), PLAT(*) C C Local variables C INTEGER NEXT, ILAT REAL ALAT, DEG2RAD C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG,'NMAKGG: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG,'NMAKGG: Truncation = ', KTRUNC) CALL INTLOG(JP_DEBUG,'NMAKGG: Number of latitudes = ', KNUM) CALL INTLOG(JP_DEBUG, 'NMAKGG: Next latitude = ', KNEXT) CALL INTLOGR(JP_DEBUG, 'NMAKGG: Lat.in degrees = ', PLAT(KNEXT)) ENDIF C C _______________________________________________________ C C* Section 2. Processing. C _______________________________________________________ C DEG2RAD = PPI / 180.0 C NEXT = 1 DO ILAT = 1, KNUM ALAT = PLAT(KNEXT+ILAT-1) * DEG2RAD C IF ( NDBG .GT. 1) CALL INTLOGR(JP_DEBUG, X 'NMAKGG: Next latitude constructed = ', ALAT) C CALL JSPLEG1( PLEG(NEXT), ALAT, KTRUNC) NEXT = NEXT + (KTRUNC+1)*(KTRUNC+4)/2 ENDDO C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_1024.h0000755000175000017500000001751012127406245022477 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG1024(1024) DATA QG1024/ X 18, 25, 32, 40, 45, X 50, 60, 64, 72, 72, X 75, 81, 90, 96, 96, X 108, 108, 120, 120, 125, X 125, 135, 144, 150, 160, X 160, 180, 180, 180, 192, X 192, 200, 216, 216, 225, X 225, 240, 240, 243, 250, X 256, 270, 270, 288, 288, X 288, 300, 300, 320, 320, X 320, 360, 360, 360, 360, X 360, 360, 375, 375, 384, X 384, 400, 400, 405, 432, X 432, 432, 432, 450, 450, X 450, 480, 480, 480, 480, X 480, 486, 500, 500, 512, X 512, 540, 540, 540, 540, X 576, 576, 576, 576, 576, X 576, 600, 600, 600, 600, X 625, 625, 625, 625, 640, X 640, 648, 675, 675, 675, X 675, 675, 720, 720, 720, X 720, 720, 720, 720, 729, X 750, 750, 750, 750, 768, X 768, 800, 800, 800, 800, X 800, 800, 810, 864, 864, X 864, 864, 864, 864, 864, X 864, 864, 900, 900, 900, X 900, 900, 900, 960, 960, X 960, 960, 960, 960, 960, X 960, 960, 972, 972, 1000, X 1000, 1000, 1000, 1000, 1024, X 1024, 1024, 1024, 1080, 1080, X 1080, 1080, 1080, 1080, 1080, X 1080, 1080, 1125, 1125, 1125, X 1125, 1125, 1125, 1125, 1152, X 1152, 1152, 1152, 1152, 1200, X 1200, 1200, 1200, 1200, 1200, X 1200, 1215, 1215, 1215, 1250, X 1250, 1250, 1250, 1250, 1250, X 1280, 1280, 1280, 1280, 1280, X 1296, 1296, 1350, 1350, 1350, X 1350, 1350, 1350, 1350, 1350, X 1350, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1458, 1458, 1458, 1500, X 1500, 1500, 1500, 1500, 1500, X 1500, 1500, 1536, 1536, 1536, X 1536, 1536, 1536, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1620, X 1620, 1620, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1800, 1800, 1800, 1800, X 1800, 1800, 1800, 1800, 1800, X 1800, 1800, 1800, 1875, 1875, X 1875, 1875, 1875, 1875, 1875, X 1875, 1875, 1875, 1875, 1875, X 1875, 1920, 1920, 1920, 1920, X 1920, 1920, 1920, 1920, 1944, X 1944, 1944, 1944, 1944, 2000, X 2000, 2000, 2000, 2000, 2000, X 2000, 2000, 2000, 2000, 2025, X 2025, 2025, 2025, 2048, 2048, X 2048, 2048, 2048, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, X 2160, 2160, 2160, 2187, 2187, X 2187, 2187, 2187, 2250, 2250, X 2250, 2250, 2250, 2250, 2250, X 2250, 2250, 2250, 2250, 2250, X 2304, 2304, 2304, 2304, 2304, X 2304, 2304, 2304, 2304, 2304, X 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2430, X 2430, 2430, 2430, 2430, 2500, X 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2500, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2592, 2592, 2592, 2592, X 2592, 2592, 2700, 2700, 2700, X 2700, 2700, 2700, 2700, 2700, X 2700, 2700, 2700, 2700, 2700, X 2700, 2700, 2700, 2700, 2700, X 2700, 2700, 2700, 2700, 2880, X 2880, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2916, 2916, X 2916, 2916, 2916, 2916, 2916, X 2916, 3000, 3000, 3000, 3000, X 3000, 3000, 3000, 3000, 3000, X 3000, 3000, 3000, 3000, 3000, X 3000, 3000, 3000, 3000, 3000, X 3072, 3072, 3072, 3072, 3072, X 3072, 3072, 3072, 3072, 3072, X 3072, 3072, 3072, 3072, 3072, X 3072, 3072, 3125, 3125, 3125, X 3125, 3125, 3125, 3125, 3125, X 3125, 3125, 3125, 3125, 3125, X 3200, 3200, 3200, 3200, 3200, X 3200, 3200, 3200, 3200, 3200, X 3200, 3200, 3200, 3200, 3200, X 3200, 3200, 3200, 3240, 3240, X 3240, 3240, 3240, 3240, 3240, X 3240, 3240, 3240, 3375, 3375, X 3375, 3375, 3375, 3375, 3375, X 3375, 3375, 3375, 3375, 3375, X 3375, 3375, 3375, 3375, 3375, X 3375, 3375, 3375, 3375, 3375, X 3375, 3375, 3375, 3375, 3375, X 3375, 3375, 3375, 3375, 3375, X 3375, 3375, 3375, 3375, 3456, X 3456, 3456, 3456, 3456, 3456, X 3456, 3456, 3456, 3456, 3456, X 3456, 3456, 3456, 3456, 3456, X 3456, 3456, 3456, 3456, 3456, X 3456, 3456, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, X 3600, 3645, 3645, 3645, 3645, X 3645, 3645, 3645, 3645, 3645, X 3645, 3645, 3645, 3645, 3645, X 3645, 3750, 3750, 3750, 3750, X 3750, 3750, 3750, 3750, 3750, X 3750, 3750, 3750, 3750, 3750, X 3750, 3750, 3750, 3750, 3750, X 3750, 3750, 3750, 3750, 3750, X 3750, 3750, 3750, 3750, 3750, X 3750, 3750, 3750, 3750, 3750, X 3750, 3750, 3750, 3750, 3750, X 3840, 3840, 3840, 3840, 3840, X 3840, 3840, 3840, 3840, 3840, X 3840, 3840, 3840, 3840, 3840, X 3840, 3840, 3840, 3840, 3840, X 3840, 3840, 3840, 3840, 3840, X 3840, 3840, 3840, 3840, 3840, X 3840, 3840, 3840, 3840, 3840, X 3840, 3840, 3888, 3888, 3888, X 3888, 3888, 3888, 3888, 3888, X 3888, 3888, 3888, 3888, 3888, X 3888, 3888, 3888, 3888, 3888, X 3888, 3888, 3888, 3888, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4050, X 4050, 4050, 4050, 4050, 4050, X 4050, 4050, 4050, 4050, 4050, X 4050, 4050, 4050, 4050, 4050, X 4050, 4050, 4050, 4050, 4050, X 4050, 4050, 4050, 4050, 4050, X 4050, 4050, 4050, 4050, 4050, X 4050, 4050, 4050, 4050, 4050, X 4050, 4050, 4050, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096, 4096, X 4096, 4096, 4096, 4096 / emoslib-000392+dfsg.1/interpolation/intuvdh.F0000755000175000017500000001140112127406245022135 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTUVDH(PDATA,KSIZE,KGRIB,KGRBSZ,HOPER,KPARAM) C C----> C**** INTUVDH C C Purpose C ------- C C Encodes/decodes data into/from GRIB code. C C C Interface C --------- C C IRET = INTUVDH(PDATA,KSIZE,KGRIB,KGRBSZ,HOPER,KPARAM) C C Input C ----- C C PDATA - Unpacked field values (if encoding) C KSIZE - Number of unpacked values (if encoding) C KGRIB - Input field in GRIB format (if decoding) C KGRBSZ - Input field length (words) (if decoding) C HOPER - Coding option ('I', 'D' or 'C' only) C KPARAM - Parameter number of the field (for encoding) C C C Output C ------ C C PDATA - Unpacked field values (if decoding) C KSIZE - Number of unpacked values (if decoding) C KGRIB - Output field in GRIB format (if encoding) C KGRBSZ - Output field length (words) (if encoding) C C C Method C ------ C C Uses arrays in intf.h for unpacking GRIB headers. C C C Externals C --------- C C GRSVCK - Turns off GRIBEX checking. C GRIBEX - Encode/decode GRIB product. C IGSETUP - Setup GRIB sections for the output product. C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C C----< C C -----------------------------------------------------------------| C* Section 0. Variables C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "intf.h" #include "nifld.common" #include "nofld.common" C C Function arguments C REAL PDATA(*) INTEGER KSIZE,KGRIB(*),KGRBSZ, KPARAM CHARACTER*1 HOPER C C Local variables C INTEGER IERR, IWORD CHARACTER*1 HFUNC C C Externals C INTEGER IGSETUP C C -----------------------------------------------------------------| C* Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C INTUVDH = IERR IERR = 0 C C -----------------------------------------------------------------| C* Section 2. Decode data from GRIB code (no checking). C -----------------------------------------------------------------| C 200 CONTINUE C IF( HOPER.NE.'C' ) THEN CALL GRSVCK(0) C IERR = 1 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X PDATA, KSIZE, KGRIB, KGRBSZ, IWORD, HOPER,IERR) C INTUVDH = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 3. Encode data into GRIB code. C -----------------------------------------------------------------| C 300 CONTINUE C C Setup GRIB sections for the output product C IERR = IGSETUP( ISEC1, ISEC2, ISEC4 ) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVDH: GRIB section setup fail',JPQUIET) INTUVDH = IERR GOTO 900 ENDIF C C Code data into GRIB C ISEC1(6) = KPARAM IERR = 1 C C If grid-point output, setup for 2nd order packing if requested. C IF( (NOREPR.NE.JPSPHERE) .AND. (NOREPR.NE.JPSPHROT) ) THEN HFUNC = 'C' IF( NOHFUNC.EQ.'K' ) THEN HFUNC = 'K' ISEC4(4) = 64 ISEC4(6) = 16 ISEC4(9) = 32 ISEC4(10) = 16 ISEC4(12) = 8 ISEC4(13) = 4 ISEC4(14) = 0 ISEC4(15) = -1 ELSE ISEC4(4) = 0 ISEC4(6) = 0 ENDIF IF( LIMISSV ) THEN ISEC1(5) = 192 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV ENDIF ELSE ISEC1(5) = 128 HFUNC = 'C' IF( NOHFUNC.EQ.'C' ) THEN ISEC2(6) = 2 ISEC4(4) = 64 ELSE IF( NOHFUNC.EQ.'S' ) THEN ISEC2(6) = 1 ISEC4(4) = 0 ENDIF ENDIF C CALL GRIBEX( ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X PDATA,KSIZE,KGRIB,KGRBSZ,IWORD,HFUNC,IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVDH: GRIBEX encoding failed.',IERR) INTUVDH = IERR GOTO 900 ENDIF KGRBSZ = IWORD INTUVDH = 0 C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/intfa.F0000755000175000017500000001065612127406245021570 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTFA( INGRIB,INLEN,FLDIN,OUTGRIB,OUTLEN,FLDOUT) C C----> C**** INTFA C C Purpose C ------- C C Prepare to interpolate input field... C C C Interface C --------- C C IRET = INTFA( INGRIB,INLEN,FLDIN,OUTGRIB,OUTLEN,FLDOUT) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C FLDIN - Input field (unpacked). C C C Output C ------ C C OUTGRIB - Output field (packed). C OUTLEN - Output field length (words). C FLDOUT - Output field (unpacked). C C C Method C ------ C C Unpack field if GRIB). C C C Externals C --------- C C IBASINI - Ensure basic interpolation setup is done. C GRIBEX - Decode/encode GRIB product. C GRSVCK - Turn off GRIB checking C RESET_C - Reset interpolation handling options using GRIB product. C PDDEFS - Setup interpolation using parameter dependent options. C INTLOG - Log error message. C C C Author C ------ C C J.D.Chambers ECMWF Jan 1995 C C----< C IMPLICIT NONE C C Function arguments INTEGER INGRIB(*),OUTGRIB(*),INLEN,OUTLEN REAL FLDIN(*),FLDOUT(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters INTEGER JPROUTINE PARAMETER (JPROUTINE = 26100 ) C C Local variables C INTEGER IWORD, IERR INTEGER KPR INTEGER LOOP C C Externals INTEGER IBASINI, RESET_C, PDDEFS C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE INTFA = 0 IERR = 0 KPR = 0 C C Check that basic initialisation has been done IERR = IBASINI(0) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFA: basic initialisation fail',JPQUIET) INTFA = IERR GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 2. Decode data from the GRIB code C ------------------------------------------------------------------ C 200 CONTINUE C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_WARN,'INTFA: ZNFELDI allocation fail',JPQUIET) INTFA = IERR GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C If input is a GRIB product If (NIFORM .EQ. 1) THEN C C Decode data from GRIB code (no checking) C IWORD = INLEN IERR = 0 CALL GRSVCK(0) IERR = 1 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X ZNFELDI, JPEXPAND, INGRIB, INLEN, IWORD, 'D',IERR) IF ( IERR .NE. 0) THEN CALL INTLOG(JP_ERROR, 'INTFA: GRIBEX decoding failed.',IERR) INTFA = IERR GOTO 900 ENDIF C C Setup interpolation options from GRIB product characteristics IERR = RESET_C( ISEC1, ISEC2, ZSEC2, ISEC4) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFA: Setup interp. options from GRIB failed.',JPQUIET) INTFA = IERR GOTO 900 ENDIF C C Otherwise, move unpacked values in from user array ELSE DO 210 LOOP = 1, INLEN ZNFELDI( LOOP ) = FLDIN( LOOP ) 210 CONTINUE C ENDIF C C Setup interpolation options based on parameter in field. IERR = PDDEFS() IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFA: Setup interp. options from parameter failed.',JPQUIET) INTFA = IERR GOTO 900 ENDIF C C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Clear change flags for next product processing C RETURN END emoslib-000392+dfsg.1/interpolation/igintr.F0000755000175000017500000001263312127406245021760 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGINTR (KWEDIST, KOWE, KNSDIST, PWFACT, KPR, 1 KERR) C C----> C**** *IGINTR* C C PURPOSE C _______ C C Calculate the basic unnormalised interpolation weights for one C line of latitude when interpolating between regular grids. C C INTERFACE C _________ C C IERR = IGINTR (KWEDIST, KOWE, KNSDIST, PWFACT, KPR, KERR) C C Input parameters C ________________ C C KWEDIST - This array holds the distances to longitude values C in the input field from the associated longitude C values in the output field. C C KOWE - The number of points in the West-East direction in C the output field. C C KNSDIST - This array gives the distances to the latitude of C the lines North and South in the input field from C the line of latitude of the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PWFACT - The unnormalised array of interpolating weights to C the four neighbouring points for every point of the C output line of latitude. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG - Logs messages. C C METHOD C ______ C C The weights are evaluated as the size of the opposing rectangle. C It is trivial to show that this is equivalent to weighting by C the inverse size of the rectangle of which the input point forms C part. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments INTEGER KOWE, KPR, KERR INTEGER KWEDIST (2, KOWE), KNSDIST (2) REAL PWFACT (4, KOWE) C C Local variables INTEGER JOLON INTEGER JPROUTINE PARAMETER (JPROUTINE = 22300) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGINTR: Section 1.',JPQUIET) C IGINTR = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IGINTR: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGINTR: No.output longitudes = ',KOWE) ENDIF C C _______________________________________________________ C C* Section 2. Calculate arrays of weights C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGINTR: Section 2.',JPQUIET) C DO 210 JOLON = 1, KOWE C C The unnormalised weights are the size of the opposing rectangle. C PWFACT (JP_I_NW, JOLON) = 1 REAL (KWEDIST (JP_I_E, JOLON) ) * REAL (KNSDIST (JP_I_S) ) PWFACT (JP_I_NE, JOLON) = 1 REAL (KWEDIST (JP_I_W, JOLON) ) * REAL (KNSDIST (JP_I_S) ) PWFACT (JP_I_SW, JOLON) = 1 REAL (KWEDIST (JP_I_E, JOLON) ) * REAL (KNSDIST (JP_I_N) ) PWFACT (JP_I_SE, JOLON) = 1 REAL (KWEDIST (JP_I_W, JOLON) ) * REAL (KNSDIST (JP_I_N) ) C 210 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGINTR: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/iafree.F0000755000175000017500000001513012127406245021712 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IAFREE (KPR, KERR) C C----> C**** *IAFREE* C C PURPOSE C _______ C C Deallocate heap space used by grid-pt to grid-pt interpolation. C C INTERFACE C _________ C C IERR = IAFREE (KPR, KERR) C C Input parameters C ________________ C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C None C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C Cray error codes C C -1 HPDEALLC block is already free (Warning only). C C 21201 HPDEALLC attempt to free block at address outside the C bounds of the heap. C 21202 HPDEALLC attempt to free block at address which was not C the beginning of a block. C 21203 HPDEALLC returning any other non zero code. C C Errors 21201 and 21202 should not occur and any occurrence C of one of these errors should be reported to Meteorological C Applications. C C Common block usage C __________________ C C memreq.h - This file contains the memory request C definition variables. C C MADDR - The base addresses of the currently allocated C memory segments used and reset. C MREQUEST - The sizes of the current memory requests used C and reset. C C C EXTERNALS C _________ C C INTLOG - Logs messages. C C Cray C C ABORTX - Standard routine to kill task. C HPDEALLC - Cray library routine to deallocate heap space. C C Sun and SGI C C JFREE - "Unix" routine to deallocate heap space. C C METHOD C ______ C C The required heap space is allocated. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C None. C C AUTHOR C ______ C C K. Fielding *ECMWF* May 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Aug 1994 C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "memreq.h" #include "nifld.common" #include "nofld.common" C C Dummy arguments C INTEGER KPR, KERR C C Local variables C INTEGER IABORT, IERROR C INTEGER JLEVEL C INTEGER JPROUTINE C PARAMETER (JPROUTINE = 21200) C C External functions C C _______________________________________________________ C C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IAFREE: Section 1.',JPQUIET) C IAFREE = 0 C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG, X 'IAFREE: Free all heap space.',JPQUIET) C C _______________________________________________________ C C C* Section 2. Free acquired space. C _______________________________________________________ C 200 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IAFREE: Section 2.',JPQUIET) C IABORT = 0 IERROR = 0 C DO 210 JLEVEL = JPLEVEL, 1, -1 C IF (MREQUEST (JLEVEL) .GT. 0) THEN C #ifdef CRAY CALL HPDEALLC (MADDR (JLEVEL), IERROR, IABORT) C IF (IERROR .EQ. -4) THEN IAFREE = - 1 IF (KERR .GE. 0) CALL INTLOG(JP_ERROR, X 'IAFREE: Already free, the block at ', MADDR (JLEVEL)) C ELSE IF (IERROR .NE. 0) THEN C IF (IERROR .EQ. -3) THEN C IAFREE = JPROUTINE + 1 C IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IAFREE: Heap deallocation failed.',IERROR) CALL INTLOG(JP_ERROR, X 'IAFREE: Block outside heap.',MADDR(JLEVEL)) ENDIF ELSE IF (IERROR .EQ. -5) THEN C IAFREE = JPROUTINE + 2 C IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IAFREE: Heap deallocation failed.',IERROR) CALL INTLOG(JP_ERROR, X 'IAFREE: Not at start of block.',MADDR(JLEVEL)) ENDIF ELSE C IAFREE = JPROUTINE + 3 C IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IAFREE: Heap deallocation failed.',IERROR) CALL INTLOG(JP_ERROR, X 'IAFREE: Attempt to free block at: ',MADDR(JLEVEL)) ENDIF ENDIF C IF (KERR .EQ. 0) CALL ABORTX ('IAFREE') GO TO 900 ENDIF #else CALL JFREE (MADDR (JLEVEL) ) #endif C MREQUEST (JLEVEL) = 0 MADDR (JLEVEL) = 0 C ENDIF C 210 CONTINUE C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IAFREE: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/Makefile.shared0000755000175000017500000000142512127406245023257 0ustar amckinstryamckinstry# # Makefile for libemos/interpolation # LIBRARY = ../lib$(LIB)$(R64).so # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # PROFILE=$(SHLIB) # TARGETS = all clean # include sources.$(ARCH) # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) VECTOR.o = $(VECTOR.F:.F=.o) NO_OPT.o = $(NO_OPT.F:.F=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.f) $(VECTOR.o) $(NO_OPT.o) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(EXTRAOBJ) $(LD) $(DYNLINKFLAGS) $? -o $@ $(VECTOR.o): $(VECTOR.F) $(FC) $(VECTFFLAGS) -c $< $(NO_OPT.o): $(NO_OPT.F) $(FC) $(VECTFFLAGS) -c $< include make.dep clean: \rm -f $(OBJECTS) *.f emoslib-000392+dfsg.1/interpolation/hwtsll.F0000755000175000017500000001750012127406245021777 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE HWTSLL X (KLEN,KSCHEME,KLA,PDLAT,PLATINC,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X PWTS) C C----> C**** HWTSLL C C Purpose C ------- C C This routine accepts a vector of points and calculates the C interpolation weightings for each point suitable for the C horizontal interpolation. C C C Interface C --------- C C CALL HWTSLL C X (KLEN,KSCHEME,KLA,PDLAT,PLATINC,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, C X PWTS) C C C Input parameters C ---------------- C C KLEN - Number of points along the vector. C KSCHEME - Flag showing interpolation scheme to use for point C 0 = 12-point C 1 = 4-point bilinear C 2 = nearest neighbour C KLA - Latitude number in original field of latitude north of C point in the vector. C PDLAT - Meridian linear weight. C PLATINC - Increment between latitudes. C PDLO0 - Zonal linear weight for the latitude of point 5. C PDLO1 - Zonal linear weight for the latitude of point 1. C PDLO2 - Zonal linear weight for the latitude of point 3. C PDLO3 - Zonal linear weight for the latitude of point 11. C NEIGH - List of indices in the original field of neighbouring C point values. C C C Output parameters C ----------------- C C PWTS - Weights for interpolation. C C Common block usage C ------------------ C C None. C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C C Externals C --------- C C None. C C C Reference C --------- C C ECMWF Meteorological Bulletin M1.6/7 C IFS Documentation C Part VI: Technical and Computational Procedures (CY21R4) C March 2000 C Section 2.3 C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C C Parameters C INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) C C Function arguments C INTEGER KLEN, KSCHEME(KLEN), KLA(KLEN) REAL PDLAT(KLEN), PLATINC REAL PDLO0(KLEN), PDLO1(KLEN), PDLO2(KLEN), PDLO3(KLEN) INTEGER NEIGH(12,*) REAL PWTS(12,*) C C Local variables C INTEGER NEXT, LOOP INTEGER ILA0G, ILA1G, ILA2G, ILA3G REAL ZDLAT, ZDY, ZDY10, ZDY21, ZDY32 REAL ZDLO1, ZDLO2, ZWXN0, ZWXN1, ZWXN2, ZWXN3 REAL ZWY0, ZWY1, ZWY2, ZWY3 REAL ZWXNN, ZCXNN, ZWXSS, ZCXSS REAL ZWXS0, ZWXS1, ZWXS2, ZWXS3 C C Inline functions C REAL ALPHA, F2, F3, F4 C F2(ALPHA) = ((ALPHA+1.0) * (ALPHA-2.0) * (ALPHA-1.0))/2.0 C F3(ALPHA) = - ((ALPHA+1.0) * (ALPHA-2.0) * ALPHA)/2.0 C F4(ALPHA) = (ALPHA * (ALPHA-1.0) * (ALPHA+1.0))/6.0 C C -----------------------------------------------------------------| C Process each point in the vector. C -----------------------------------------------------------------| C DO NEXT = 1,KLEN C C Clear the weights for the current point C DO LOOP = 1, 12 PWTS(LOOP,NEXT) = 0.0 ENDDO C C Use appropriate interpolation scheme for the current point C C -----------------------------------------------------------------| C Nearest point selection C -----------------------------------------------------------------| C IF( KSCHEME(NEXT).EQ.JPNEARN ) THEN C DO LOOP = 1, 4 IF( NEIGH(LOOP,NEXT).NE.0 ) PWTS(LOOP,NEXT) = 1.0 ENDDO C GOTO 900 C C -----------------------------------------------------------------| C 4-point interpolation C -----------------------------------------------------------------| C ELSE IF( KSCHEME(NEXT).EQ.JP4PT ) THEN C PWTS(1,NEXT) = (1.0 - PDLO2(NEXT)) * (1.0 - PDLAT(NEXT)) PWTS(2,NEXT) = PDLO2(NEXT) * (1.0 - PDLAT(NEXT)) PWTS(3,NEXT) = (1.0 - PDLO1(NEXT)) * PDLAT(NEXT) PWTS(4,NEXT) = PDLO1(NEXT) * PDLAT(NEXT) C GOTO 900 C C -----------------------------------------------------------------| C 12-point interpolation C -----------------------------------------------------------------| C ELSE C C Setup latitude numbers for the 4 rows. C ILA1G = KLA(NEXT) ILA0G = ILA1G - 1 ILA2G = ILA1G + 1 ILA3G = ILA1G + 2 C C Setup the weights between rows. C ZDLAT = PDLAT(NEXT) ZDY = ZDLAT * PLATINC ZDY10 = PLATINC ZDY21 = PLATINC ZDY32 = PLATINC C C -----------------------------------------------------------------| C Polynomial in x-direction. C -----------------------------------------------------------------| C C Northern parallel C ZDLO1 = PDLO1(NEXT) ZWXN1 = F2(ZDLO1) ZWXN2 = F3(ZDLO1) ZWXN3 = F4(ZDLO1) ZWXN0 = 1.0 - ZWXN1 - ZWXN2 - ZWXN3 C C Southern parallel C ZDLO2 = PDLO2(NEXT) ZWXS1 = F2(ZDLO2) ZWXS2 = F3(ZDLO2) ZWXS3 = F4(ZDLO2) ZWXS0 = 1.0 - ZWXS1 - ZWXS2 - ZWXS3 C C -----------------------------------------------------------------| C Polynomial in y-direction. C -----------------------------------------------------------------| C ZWY3 = ((ZDY+ZDY10) * (ZDY) * (ZDY-ZDY21)) / X ((ZDY10+ZDY21+ZDY32) * (ZDY21+ZDY32) * (ZDY32)) ZWY2 = ((ZDY+ZDY10) * (ZDY) * (ZDY-ZDY21-ZDY32)) / X ((ZDY10+ZDY21) * (ZDY21) * (-ZDY32)) ZWY1 = ((ZDY+ZDY10) * (ZDY-ZDY21) * (ZDY-ZDY21-ZDY32)) / X ((ZDY10) * (-ZDY21) * (-ZDY21-ZDY32)) ZWY0 = 1.0 - ZWY1 - ZWY2 - ZWY3 C C -----------------------------------------------------------------| C Linear parts for extreme rows. C -----------------------------------------------------------------| C C Northernmost C ZWXNN = PDLO0(NEXT) ZCXNN = 1.0 - PDLO0(NEXT) C C Southernmost C ZWXSS = PDLO3(NEXT) ZCXSS = 1.0 - PDLO3(NEXT) C C -----------------------------------------------------------------| C Weights for 12 points interpolation. C -----------------------------------------------------------------| C PWTS( 1,NEXT) = ZWXN1 * ZWY1 PWTS( 2,NEXT) = ZWXN2 * ZWY1 PWTS( 3,NEXT) = ZWXS1 * ZWY2 PWTS( 4,NEXT) = ZWXS2 * ZWY2 PWTS( 5,NEXT) = ZCXNN * ZWY0 PWTS( 6,NEXT) = ZWXNN * ZWY0 PWTS( 7,NEXT) = ZWXN0 * ZWY1 PWTS( 8,NEXT) = ZWXN3 * ZWY1 PWTS( 9,NEXT) = ZWXS0 * ZWY2 PWTS(10,NEXT) = ZWXS3 * ZWY2 PWTS(11,NEXT) = ZCXSS * ZWY3 PWTS(12,NEXT) = ZWXSS * ZWY3 C GOTO 900 C ENDIF C C -----------------------------------------------------------------| C End of processing for current point in vector. C -----------------------------------------------------------------| C 900 CONTINUE C ENDDO C RETURN END emoslib-000392+dfsg.1/interpolation/hwts12.F0000755000175000017500000001765412127406245021624 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE HWTS12 X (KLEN,KSCHEME,KLA,PDLAT,PLATIN,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X PWTS) C C----> C**** HWTS12 C C Purpose C ------- C C This routine accepts a vector of points and calculates the C interpolation weightings for each point suitable for the C horizontal interpolation. C C C Interface C --------- C C CALL HWTS12 C X (KLEN,KSCHEME,KLA,PDLAT,PLATIN,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, C X PWTS) C C C Input parameters C ---------------- C C KLEN - Number of points along the vector. C KSCHEME - Flag showing interpolation scheme to use for point C 0 = 12-point C 1 = 4-point bilinear C 2 = nearest neighbour C KLA - Latitude number in original field of latitude north of C point in the vector. C PDLAT - Meridian linear weight. C PLATIN - Gaussian latitudes. C PDLO0 - Zonal linear weight for the latitude of point 5. C PDLO1 - Zonal linear weight for the latitude of point 1. C PDLO2 - Zonal linear weight for the latitude of point 3. C PDLO3 - Zonal linear weight for the latitude of point 11. C NEIGH - List of indices in the original field of neighbouring C point values. C C C Output parameters C ----------------- C C PWTS - Weights for interpolation. C C Common block usage C ------------------ C C None. C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C C Externals C --------- C C None. C C C Reference C --------- C C ECMWF Meteorological Bulletin M1.6/7 C IFS Documentation C Part VI: Technical and Computational Procedures (CY21R4) C March 2000 C Section 2.3 C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C C Parameters C INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) C C Function arguments C INTEGER KLEN, KSCHEME(KLEN), KLA(KLEN) REAL PDLAT(KLEN), PLATIN(*) REAL PDLO0(KLEN), PDLO1(KLEN), PDLO2(KLEN), PDLO3(KLEN) INTEGER NEIGH(12,*) REAL PWTS(12,*) C C Local variables C INTEGER NEXT, LOOP INTEGER ILA0G, ILA1G, ILA2G, ILA3G REAL ZDLAT, ZDY, ZDY10, ZDY21, ZDY32 REAL ZDLO1, ZDLO2, ZWXN0, ZWXN1, ZWXN2, ZWXN3 REAL ZWY0, ZWY1, ZWY2, ZWY3 REAL ZWXNN, ZCXNN, ZWXSS, ZCXSS REAL ZWXS0, ZWXS1, ZWXS2, ZWXS3 C C Inline functions C REAL ALPHA, F2, F3, F4 C F2(ALPHA) = ((ALPHA+1.0) * (ALPHA-2.0) * (ALPHA-1.0))/2.0 C F3(ALPHA) = - ((ALPHA+1.0) * (ALPHA-2.0) * ALPHA)/2.0 C F4(ALPHA) = (ALPHA * (ALPHA-1.0) * (ALPHA+1.0))/6.0 C C -----------------------------------------------------------------| C Process each point in the vector. C -----------------------------------------------------------------| C DO NEXT = 1,KLEN C C Clear the weights for the current point C DO LOOP = 1, 12 PWTS(LOOP,NEXT) = 0.0 ENDDO C C Use appropriate interpolation scheme for the current point C C -----------------------------------------------------------------| C Nearest point selection C -----------------------------------------------------------------| C IF( KSCHEME(NEXT).EQ.JPNEARN ) THEN C DO LOOP = 1, 4 IF( NEIGH(LOOP,NEXT).NE.0 ) PWTS(LOOP,NEXT) = 1.0 ENDDO C GOTO 900 C C -----------------------------------------------------------------| C 4-point interpolation C -----------------------------------------------------------------| C ELSE IF( KSCHEME(NEXT).EQ.JP4PT ) THEN C PWTS(1,NEXT) = (1.0 - PDLO2(NEXT)) * (1.0 - PDLAT(NEXT)) PWTS(2,NEXT) = PDLO2(NEXT) * (1.0 - PDLAT(NEXT)) PWTS(3,NEXT) = (1.0 - PDLO1(NEXT)) * PDLAT(NEXT) PWTS(4,NEXT) = PDLO1(NEXT) * PDLAT(NEXT) C GOTO 900 C C -----------------------------------------------------------------| C 12-point interpolation C -----------------------------------------------------------------| C ELSE C C Setup latitude numbers for the 4 rows. C ILA1G = KLA(NEXT) ILA0G = ILA1G - 1 ILA2G = ILA1G + 1 ILA3G = ILA1G + 2 C C Setup the weights between rows. C ZDLAT = PDLAT(NEXT) ZDY = ZDLAT * (PLATIN(ILA2G) - PLATIN(ILA1G)) ZDY10 = PLATIN(ILA1G) - PLATIN(ILA0G) ZDY21 = PLATIN(ILA2G) - PLATIN(ILA1G) ZDY32 = PLATIN(ILA3G) - PLATIN(ILA2G) C C -----------------------------------------------------------------| C Polynomial in x-direction. C -----------------------------------------------------------------| C C Northern parallel C ZDLO1 = PDLO1(NEXT) ZWXN1 = F2(ZDLO1) ZWXN2 = F3(ZDLO1) ZWXN3 = F4(ZDLO1) ZWXN0 = 1.0 - ZWXN1 - ZWXN2 - ZWXN3 C C Southern parallel C ZDLO2 = PDLO2(NEXT) ZWXS1 = F2(ZDLO2) ZWXS2 = F3(ZDLO2) ZWXS3 = F4(ZDLO2) ZWXS0 = 1.0 - ZWXS1 - ZWXS2 - ZWXS3 C C -----------------------------------------------------------------| C Polynomial in y-direction. C -----------------------------------------------------------------| C ZWY3 = ((ZDY+ZDY10) * (ZDY) * (ZDY-ZDY21)) / X ((ZDY10+ZDY21+ZDY32) * (ZDY21+ZDY32) * (ZDY32)) ZWY2 = ((ZDY+ZDY10) * (ZDY) * (ZDY-ZDY21-ZDY32)) / X ((ZDY10+ZDY21) * (ZDY21) * (-ZDY32)) ZWY1 = ((ZDY+ZDY10) * (ZDY-ZDY21) * (ZDY-ZDY21-ZDY32)) / X ((ZDY10) * (-ZDY21) * (-ZDY21-ZDY32)) ZWY0 = 1.0 - ZWY1 - ZWY2 - ZWY3 C C -----------------------------------------------------------------| C Linear parts for extreme rows. C -----------------------------------------------------------------| C C Northernmost C ZWXNN = PDLO0(NEXT) ZCXNN = 1.0 - PDLO0(NEXT) C C Southernmost C ZWXSS = PDLO3(NEXT) ZCXSS = 1.0 - PDLO3(NEXT) C C -----------------------------------------------------------------| C Weights for 12 points interpolation. C -----------------------------------------------------------------| C PWTS( 1,NEXT) = ZWXN1 * ZWY1 PWTS( 2,NEXT) = ZWXN2 * ZWY1 PWTS( 3,NEXT) = ZWXS1 * ZWY2 PWTS( 4,NEXT) = ZWXS2 * ZWY2 PWTS( 5,NEXT) = ZCXNN * ZWY0 PWTS( 6,NEXT) = ZWXNN * ZWY0 PWTS( 7,NEXT) = ZWXN0 * ZWY1 PWTS( 8,NEXT) = ZWXN3 * ZWY1 PWTS( 9,NEXT) = ZWXS0 * ZWY2 PWTS(10,NEXT) = ZWXS3 * ZWY2 PWTS(11,NEXT) = ZCXSS * ZWY3 PWTS(12,NEXT) = ZWXSS * ZWY3 C GOTO 900 C ENDIF C C -----------------------------------------------------------------| C End of processing for current point in vector. C -----------------------------------------------------------------| C 900 CONTINUE C ENDDO C RETURN END emoslib-000392+dfsg.1/interpolation/igint.F0000755000175000017500000001327712127406245021603 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGINT (KWEDIST, KOWE, KNSDIST, KONS, PWFACT, 1 KPR, KERR) C C----> C**** *IGINT* C C PURPOSE C _______ C C Calculate the basic unnormalised interpolation weights when C interpolating between regular grids. C C INTERFACE C _________ C C IERR = IGINT (KWEDIST, KOWE, KNSDIST, KONS, PWFACT, KPR, KERR) C C Input parameters C ________________ C C KWEDIST - This array holds the distances to longitude values C in the input field from the associated longitude C values in the output field. This distance is the C same for every line of latitude for a regular C input field. C C KOWE - The number of points in the West-East direction in C the output field. C C KNSDIST - This array holds the distances to lines in input C field from the associated lines of latitude in the C output field. The array is dimensioned (2, KONS). C C KONS - The number of points in the North-South direction C in the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PWFACT - The unnormalised array of interpolating weights to C the four neighbouring points for every output point. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C IGINTR - Calculate the basic unnormalised interpolation C weights for one line of latitude when C interpolating between regular grids. C INTLOG - Logs messages. C C METHOD C ______ C C The weights are evaluated as the size of the opposing rectangle. C It is trivial to show that this is equivalent to weighting by C the inverse size of the rectangle of which the input point forms C part. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments INTEGER KOWE, KONS, KPR, KERR INTEGER KWEDIST (2, KOWE), KNSDIST (2, KONS) REAL PWFACT (4, KOWE, KONS) C C Local variables INTEGER IPR, IERR INTEGER JOLAT INTEGER JPROUTINE PARAMETER (JPROUTINE = 22200) C C External functions INTEGER IGINTR C C _______________________________________________________ C C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGINT: Section 1.',JPQUIET) C IGINT = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IGINT: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGINT: No.output longitudes = ',KOWE) CALL INTLOG(JP_DEBUG,'IGINT: No.output latitudes = ',KONS) ENDIF C C _______________________________________________________ C C C* Section 2. Calculate arrays of weights C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGINT: Section 2.',JPQUIET) C C Main loop over latitudes C IPR = KPR C DO 220 JOLAT = 1, KONS C IERR = IGINTR (KWEDIST, KOWE, KNSDIST (1, JOLAT), 1 PWFACT (1, 1, JOLAT), IPR, KERR) C IF (IERR .GT. 0) THEN IGINT = IERR GO TO 900 ENDIF C IPR = KPR - 1 C 220 CONTINUE C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGINT: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/jspleg1.F0000755000175000017500000001234612127406245022032 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JSPLEG1( PLEG, PLAT, KTRUNC) IMPLICIT NONE C C----> C**** JSPLEG1 - Routine to calculate legendre functions C C Purpose C -------- C C This routine calculates the legendre functions for one latitude. C (but not their derivatives) C C C Interface C ---------- C C CALL JSPLEG1( PLEG, PLAT, KTRUNC) C C C Input parameters C ---------------- C C PLAT - Latitude in radians C KTRUNC - Spectral truncation C C C Output parameters C ----------------- C C PLEG - Array of legendre functions for one latitude. C The array must be at least (KTRUNC+1)*(KTRUNC+4)/2 C words long. C C C Common block usage C ------------------ C C None C C C Method C ------ C C Recurrence relation with explicit relations for P(m,m) and C P(m,m+1) C C C Externals C --------- C C None C C C Reference C --------- C C None C C C Comments C -------- C C Rewritten from SPLEG1 to avoid using common blocks. C Work arrays ZHLPx currently dimensioned for T213 using C parameter JPTRP1. C C C AUTHOR C ------ C C J.D.Chambers ECMWF 9 November 1993 C C C Modifications C ------------- C C None C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. #include "jparams.h" C C Subroutine arguments C REAL PLEG, PLAT DIMENSION PLEG(*) INTEGER KTRUNC C C Local variables C REAL ZHLP1, ZHLP2, ZHLP3 DIMENSION ZHLP1(JPTRP1), ZHLP2(JPTRP1), ZHLP3(JPTRP1) INTEGER ITOUT1, I1M, ILM, JM, JCN, IM2 REAL ZSIN, ZCOS, ZF1M, ZRE1, ZF2M, ZM, ZN, ZE1, ZE2 C C _______________________________________________________ C C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C ITOUT1 = KTRUNC+1 ZSIN = SIN(PLAT) ZCOS = SQRT(1.-ZSIN*ZSIN) C C Step 1. M = 0, N = 0 and N = 1 C ILM = 2 PLEG(1) = 1.0 ZF1M = SQRT(3.0) PLEG(2) = ZF1M*ZSIN C _______________________________________________________ C C C Step 2. Sum for M = 0 to T (T = truncation) C _______________________________________________________ C 200 CONTINUE C DO 205 JM = 2,ITOUT1 ZM = JM-1 ZHLP1(JM) = SQRT(2.*ZM+3.) ZHLP2(JM) = 1./SQRT(2.*ZM) 205 CONTINUE ZHLP1(1) = SQRT(3.) C DO 570 JM = 1,ITOUT1 C I1M = JM-1 ZM = I1M ZRE1 = ZHLP1(JM) ZE1 = 1./ZRE1 C _______________________________________________________ C C C Step 3. M > 0 only C _______________________________________________________ C 300 CONTINUE C IF (I1M.NE.0) THEN ZF2M = ZF1M*ZCOS*ZHLP2(JM) ZF1M = ZF2M*ZRE1 C _______________________________________________________ C C C Step 4. N = M and N = M+1 C _______________________________________________________ C 400 CONTINUE C ILM = ILM+1 PLEG(ILM) = ZF2M ILM = ILM+1 PLEG(ILM) = ZF1M*ZSIN C C When output truncation is reached, return to calling program IF ( JM .EQ. ITOUT1 ) GOTO 570 C ENDIF C _______________________________________________________ C C C Step 5. Sum for N = M+2 to T+1 C _______________________________________________________ C 500 CONTINUE C IM2 = I1M+2 C DO 520 JCN = IM2,ITOUT1 ZN = JCN ZHLP3(JCN) = SQRT((4.*ZN*ZN-1.)/(ZN*ZN-ZM*ZM)) 520 CONTINUE C DO 560 JCN = IM2,ITOUT1 C ZE2 = ZHLP3(JCN) ILM = ILM+1 PLEG(ILM) = ZE2*(ZSIN*PLEG(ILM-1)-ZE1*PLEG(ILM-2)) ZE2 = 1./ZE2 ZE1 = ZE2 C 560 CONTINUE C 570 CONTINUE C C _______________________________________________________ C C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/iarcntl.F0000755000175000017500000005623712127406245022130 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IARCNTL(PIFELD, KILEN, POFELD, KOLEN, KILN, 1 OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, OONPOLE, 2 OOSPOLE, KPR, KERR) C C----> C**** *IARCNTL* C C Purpose C ------- C C The global controlling routine for interpolating between a quasi C regular Gaussian input field and a regular Gaussian or C latitude/longitude output field. C C C Interface C --------- C C IERR = IARCNTL(PIFELD, KILEN, POFELD, KOLEN, KILN, OIWEGLOBE, C 1 OINPOLE, OISPOLE, KOLN, OOWEGLOBE, OONPOLE, OOSPOLE, KPR, C 2 KERR) C C C Input parameters C ---------------- C C PIFELD - The input field provided by the calling routine. C C KILEN - The length of the input field. C C KOLEN - The length of the output field. C C KILN - The Northern line number of the input field within C its Gaussian field. C C OIWEGLOBE - A flag indicating whether the input field is C global West to East. C C OINPOLE - A flag indicating whether the North pole is C included in the input field. C C OISPOLE - A flag indicating whether the South pole is C include in the input field. C C KOLN - The Northern line number of the output field C within its Gaussian field. C C OOWEGLOBE - A flag indicating whether the output field is C global West to East. C C OONPOLE - A flag indicating whether the North pole is C include in the output field. C C OOSPOLE - A flag indicating whether the South pole is C include in the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C C Output parameters C ----------------- C C POFELD - The output field returned to the calling routine. C C C Return value C ------------ C C The error indicator (INTEGER). C C C Error and Warning Return Values C ------------------------------- C C 21901 The input data representation was not valid when the C grid was generated. This should not happen as the data C representation has been previously validated. C 21902 The output data representation was not valid when the C grid was generated. This should not happen as the data C representation has been previously validated. C 21903 Attempt to produce global West-East field where the input C field was not global. C 21904 Attempt to produce global North-South field where the C input field was not global. C C C Common block usage C ------------------ C C grspace.h - The include file contains all the array space C for grid to grid interpolation. C C MILLEN - The array of quasi regular Gaussian field C latitude line length definition. C RIGAUSS - Real array of input field Gaussian latitudes is C used. C ROGAUSS - Real array of output field Gaussian latitudes is C used. C C MILATG - The input field latitudes. C MILONG - The input field longitudes. C MISTRT - The array offsets for the start of each latitude C line for a quasi regular Gaussian input field. C MNSDIST - The distances to neighbouring latitude lines of C the input field from the associated line of C latitude in the output field. C MNSIND - The latitude line numbers (array offset) of the C input field associated with each line of C latitude in the output field. C MOLATG - The output field latitudes. C MOLONG - The output field longitudes. C MWEDIST - This array holds the distances to neighbouring C longitude points of the input field from the C associated longitude points in the output field. C MWEIND - This array holds the longitude points (array C offset) from the input field associated with C each longitude point in the output field. C RINPNT - Array used to aid vectorisation in processing C precipitation fields. C RMAX - Array used to aid vectorisation in normalising C interpolation weights and processing C precipitation fields. C WFACT - The array of interpolation weights for each C point in the output field. C C nifld.common - This file contains all the input field C definition variables. C C LCHANGE - Process change flag is used and set. C LSMCHNG - LSM change flag is used and set. C LSM - LSM usage flag is used. C LSMPAR - LSM parameter flag is used. C LPREC - Precipitation flag is used. C LWIND - Wind flag is used. C C NIAREA - Input field area definition (N/W/S/E) is used. C NIGAUSS - Input field Gaussian truncation is used. C NIGRID - Input field grid definition (WE/NS) is used. C NINS - Number of grid points in NS direction for input C field is used. C NIREPR - Input field representation is used. C NIWE - Number of grid points in WE direction for input C field is used. C C nofld.common - This file contains all the output field C definition variables. C C NOAREA - Output field area definition (N/W/S/E) is used. C NOGAUSS - Output field Gaussian truncation is used. C NOGRID - Output field grid definition (WE/NS) is used. C NONS - Number of grid points in NS direction for output C field is used. C NOREPR - Output field representation is used. C NOWE - Number of grid points in WE direction for output C field is used. C C C Externals C --------- C C ABORTX - Standard routine to kill task. C IGDINS - Calculate the distances between points in an C output latitude array and its North and South C neighbours in the input latitude array. C IGGRID - Generate the arrays of latitude and longitude C points for a Gaussian truncation and area. C IGLGRID - Generate the arrays of latitude and longitude C points for a regular latitude longitude grid. C IGLSIZE - Evaluate the array sizes for a regular C latitude/longitude field. C IGLSMD - Generate the land sea mask file information. C IGNORM - Normalise the array of interpolation weights. C IGPLSM - Force an interpolated land sea mask field back to C a real 0-1 field. C IGPOLEG - Calculate the values at the pole of a regular C latitude/longitude field when the input is a C Gaussian field. C IGPOLEW - Calculates the values at the pole of a regular C latitude/longitude wind field when the input is a C Gaussian field. C IGSIZE - Evaluate the array sizes for a Gaussian field. C IRDIWE - Calculate the distances between points in an C output longitude array and its West and East C neighbours in the input longitude array for a C quasi regular input field and regular output field. C IRGMEM - This routine acquires heap space for quasi regular C to regular interpolation. C IRGRID - Generate the arrays of latitude points and the C starting points of the lines of latitude for a C quasi regular Gaussian grid. C IRGTOG - Perform basic interpolation between the input and C output fields for a quasi regular input field and C a regular output field. C IRINT - Calculate the basic unnormalised interpolation C weights when interpolating from a quasi regular C grid to a regular grid. C IRLSMB - Calculate the effects of the land-sea masks on the C unnormalised interpolation weights for a quasi C regular input field and regular output field. C IRPREC - Perform additional interpolation processes for C precipitation fields when the input field is Quasi C regular. C ZPREC - Perform additional interpolation processes C for precipitation C IRSIZE - Evaluate the array sizes for a quasi regular C Gaussian field. C INTLOG - Logs messages. C C C Method C ------ C This is purely a controlling routine with all the work being C performed in the external routines. C C C Reference C --------- C None C C C Comments C -------- C None C C C Author C ------ C K. Fielding *ECMWF* Nov 1993 C C C Modifications C ------------- C J.Chambers ECMWF Oct 1998 C Allow field type for rotated grids. C C S.Curic ECMWF Oct 2005 C Add zprec routine that Perform checking C of precipitation C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 21900) C C Function arguments C LOGICAL OIWEGLOBE, OINPOLE, OISPOLE, OOWEGLOBE, OONPOLE, OOSPOLE INTEGER KILEN, KOLEN, KILN, KOLN, KPR, KERR REAL PIFELD(KILEN), POFELD(KOLEN) C C Local variables C LOGICAL LFAIL, LERROR, LDEBUG, LREGOUT LOGICAL GINSPOLE, GIGLOBE, GISTAND, GONSPOLE, GOGLOBE, GOSTAND LOGICAL GPREC,LSM_VALUES CHARACTER*120 YIFILE, YOFILE CHARACTER*12 YFLAG INTEGER IIOFF, IINDEX, IOOFF INTEGER IIREC, IOREC, IERR C C Working copies of area and grid arrays that may be changed C INTEGER IILGRID(2), IILLINE(2), IOLGRID(2), IOLLINE(2) C C External functions C INTEGER IGDINS, IGGRID, IGLGRID, IGLSMD, IGNORM, IGPLSM, X IGPOLEG, IGPOLEW, X IRDIWE, IRGMEM, IRGRID, IRGTOG, IRINT, IRLSMB, IRPREC, X ZPREC C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IARCNTL = 0 IERR = 0 C C Set all flag variables C LDEBUG = (KPR.GE.1) LFAIL = (KERR.EQ.0) LERROR = (KERR.GE.0) LREGOUT = (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'IARCNTL: Section 1.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'IARCNTL: Input field definition parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IARCNTL: Representation = ',NIREPR) IF( NINS.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IARCNTL: Number N-S = ',NINS) CALL INTLOG(JP_DEBUG,'IARCNTL: Gaussian truncation= ',NIGAUSS) IF( NIAREA(1).NE.0 ) THEN CALL INTLOG(JP_DEBUG,'IARCNTL: Area North = ',NIAREA(1)) CALL INTLOG(JP_DEBUG,'IARCNTL: Area West = ',NIAREA(2)) CALL INTLOG(JP_DEBUG,'IARCNTL: Area South = ',NIAREA(3)) CALL INTLOG(JP_DEBUG,'IARCNTL: Area East = ',NIAREA(4)) ENDIF C CALL INTLOG(JP_DEBUG, X 'IARCNTL: Output field definition parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IARCNTL: Representation = ',NOREPR) IF( NOWE.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IARCNTL: Number W-E = ',NOWE) IF( NONS.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IARCNTL: Number N-S = ',NONS) IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPQUASI) ) X CALL INTLOG(JP_DEBUG,'IARCNTL: Gaussian truncation= ',NOGAUSS) IF( LREGOUT.AND.NOGRID(1).NE.0 ) THEN CALL INTLOG(JP_DEBUG,'IARCNTL: Grid WE = ',NOGRID(1)) CALL INTLOG(JP_DEBUG,'IARCNTL: Grid NS = ',NOGRID(2)) ENDIF IF( NOAREA(1).NE.0 ) THEN CALL INTLOG(JP_DEBUG,'IARCNTL: Area North = ',NOAREA(1)) CALL INTLOG(JP_DEBUG,'IARCNTL: Area West = ',NOAREA(2)) CALL INTLOG(JP_DEBUG,'IARCNTL: Area South = ',NOAREA(3)) CALL INTLOG(JP_DEBUG,'IARCNTL: Area East = ',NOAREA(4)) ENDIF C CALL INTLOG(JP_DEBUG,'IARCNTL: Control flag status:',JPQUIET) C IF( LSMCHNG ) THEN CALL INTLOG(JP_DEBUG,'IARCNTL: LSM change TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IARCNTL: LSM change FALSE',JPQUIET) ENDIF C IF( LSM ) THEN CALL INTLOG(JP_DEBUG,'IARCNTL: LSM flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IARCNTL: LSM flag FALSE',JPQUIET) ENDIF C IF( LWIND ) THEN CALL INTLOG(JP_DEBUG,'IARCNTL: Wind flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IARCNTL: Wind flag FALSE',JPQUIET) ENDIF C IF( LPREC ) THEN CALL INTLOG(JP_DEBUG,'IARCNTL: Precipitn flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IARCNTL: Precipitn flag FALSE',JPQUIET) ENDIF C IF( LSMPAR ) THEN CALL INTLOG(JP_DEBUG,'IARCNTL: LSM param flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IARCNTL: LSM param flag FALSE',JPQUIET) ENDIF ENDIF C C The change of parameter option spans sections 2 to 3 C IF( LCHANGE ) THEN C C -----------------------------------------------------------------| C* Section 2. Get space and define grids. C -----------------------------------------------------------------| C 200 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IARCNTL: Section 2.',JPQUIET) C C Get the required memory C IARCNTL = IRGMEM(KPR, KERR) IF( IARCNTL.GT.0 ) GOTO 900 C C Input field definition C IF( NIREPR.EQ.JPQUASI ) THEN C IARCNTL = IRGRID(NIAREA, MILLEN, KILN, RIGAUSS, MISTRT, X MILATG, NINS, OIWEGLOBE, KPR, KERR) IF( IARCNTL.GT.0 ) GOTO 900 C C Is the input field global C GINSPOLE = OINPOLE.AND.OISPOLE GIGLOBE = OIWEGLOBE.AND.GINSPOLE C ELSE C IARCNTL = JPROUTINE + 1 IF( LERROR ) THEN CALL INTLOG(JP_ERROR, X 'IARCNTL: Illegal input data representation = ',NIREPR) IF( LFAIL ) CALL INTLOG(JP_FATAL, X 'IARCNTL: Interpolation failing.',JPQUIET) ENDIF GOTO 900 C ENDIF C C Output grid definition C C Is the output field global North South C GONSPOLE = OONPOLE.AND.OOSPOLE GOGLOBE = OOWEGLOBE.AND.GONSPOLE IF(GOGLOBE.AND.NOAREA(2).EQ.0) THEN LGLOBL = .TRUE. ELSE LGLOBL = .FALSE. ENDIF C IF( NOREPR.EQ.JPGAUSSIAN ) THEN C IARCNTL = IGGRID(NOGAUSS, NOAREA, KOLN, ROGAUSS, X MOLONG,NOWE,MOLATG,NONS,OOWEGLOBE,KPR,KERR) IF( IARCNTL.GT.0 ) GOTO 900 C ELSEIF ( LREGOUT ) THEN C IARCNTL = IGLGRID(NOGRID, NOAREA, MOLONG, NOWE, MOLATG, X NONS, OOWEGLOBE, KPR, KERR) IF( IARCNTL.GT.0 ) GOTO 900 C ELSE C IARCNTL = JPROUTINE + 2 IF( LERROR ) THEN CALL INTLOG(JP_ERROR, X 'IARCNTL: Illegal output data representation = ',NIREPR) IF( LFAIL ) CALL INTLOG(JP_FATAL, X 'IARCNTL: Interpolation failing.',JPQUIET) ENDIF GOTO 900 C ENDIF C C -----------------------------------------------------------------| C* Section 3. Create output to input grid mapping and distance arrays C -----------------------------------------------------------------| C 300 CONTINUE C IF( LDEBUG ) X CALL INTLOG(JP_DEBUG,'IARCNTL: Section 3.',JPQUIET) C C First check that the input and output fields are compatible. C IF( .NOT.GIGLOBE ) THEN C IF( .NOT.OIWEGLOBE ) THEN C C Cannot produce global output field if input field not global C IF( OOWEGLOBE ) THEN IARCNTL = JPROUTINE + 3 IF( LERROR ) THEN CALL INTLOG(JP_ERROR, X 'IARCNTL: Cannot produce global output from',JPQUIET) CALL INTLOG(JP_ERROR, X 'IARCNTL: non-global input. The W-E input',JPQUIET) CALL INTLOG(JP_ERROR, X 'IARCNTL: direction was not global.',JPQUIET) IF( LFAIL ) CALL INTLOG(JP_FATAL, X 'IARCNTL: Interpolation failing.',JPQUIET) ENDIF GOTO 900 ENDIF C ENDIF C IF( .NOT.GINSPOLE ) THEN C C Cannot produce global output field if input field not global C IF( GONSPOLE ) THEN IARCNTL = JPROUTINE + 4 IF( LERROR ) THEN CALL INTLOG(JP_ERROR, X 'IARCNTL: Cannot produce global output from',JPQUIET) CALL INTLOG(JP_ERROR, X 'IARCNTL: non-global input. The N-S input',JPQUIET) CALL INTLOG(JP_ERROR, X 'IARCNTL: direction was not global.',JPQUIET) IF( LFAIL ) CALL INTLOG(JP_FATAL, X 'IARCNTL: Interpolation failing.',JPQUIET) ENDIF GOTO 900 ENDIF C ENDIF C ENDIF C IARCNTL = IGDINS(MILATG, NINS, MOLATG, NONS, OINPOLE, X OISPOLE, MNSIND, MNSDIST, KPR, KERR) IF( IARCNTL.GT.0 ) GOTO 900 C IARCNTL = IRDIWE(MILLEN, NINS, MNSIND, NONS, MILONG, NIWE, X MOLONG, NOWE, MWEIND, MWEDIST, KPR, KERR) IF( IARCNTL.GT.0 ) GOTO 900 C C The end of primary initialisation C ENDIF C C -----------------------------------------------------------------| C* Section 4. Create normalised weight arrays C -----------------------------------------------------------------| C 400 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IARCNTL: Section 4.',JPQUIET) C C The following code is affected by the Land Sea mask flag C IF( LCHANGE.OR.LSMCHNG ) THEN C IARCNTL = IRINT(MWEDIST, NOWE, MNSDIST, NONS, WFACT, KPR, KERR) IF( IARCNTL.GT.0 ) GOTO 900 C IF( LSM ) THEN C IARCNTL = IGLSMD(NIDATE,NIREPR,NIGRID,NIGAUSS,NIAREA,KILN, X YIFILE,GISTAND,IILGRID,IILLINE,IIREC,KPR,KERR) IF( IARCNTL.GT.0 ) GOTO 900 C IARCNTL = IGLSMD(NODATE,NOREPR,NOGRID,NOGAUSS,NOAREA,KOLN, X YOFILE,GOSTAND,IOLGRID,IOLLINE,IOREC,KPR,KERR) IF( IARCNTL.GT.0 ) GOTO 900 C IARCNTL = IRLSMB(GISTAND, YIFILE, IIREC, IILGRID, IILLINE, X GOSTAND,YOFILE,IOREC,IOLGRID,IOLLINE,KPR,KERR) IF( IARCNTL.GT.0 ) GOTO 900 C ENDIF C C Normalise the weights C IARCNTL = IGNORM(WFACT, RMAX, NOWE, NONS, KPR, KERR) IF( IARCNTL.GT.0 ) GOTO 900 C C This marks the end of a change to the specfication C Clear the Change flags LCHANGE and LSMCHNG C LCHANGE = .FALSE. LSMCHNG = .FALSE. C ENDIF C C -----------------------------------------------------------------| C* Section 5. Interpolate from input to output field C -----------------------------------------------------------------| C 500 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IARCNTL: Section 5.',JPQUIET) C C Perform basic interpolation C IARCNTL = IRGTOG(PIFELD, MISTRT, NINS, NOWE, NONS, MWEIND, X MNSIND, WFACT, POFELD, KPR, KERR) IF( IARCNTL.GT.0 ) GOTO 900 C C -----------------------------------------------------------------| C* Section 6. Additional interpolations from input to output field C -----------------------------------------------------------------| C 600 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IARCNTL: Section 6.',JPQUIET) C C Precipitation field C C Force processing without neighbour check GPREC = .FALSE. CALL GETENV('PRECIPITATION_NEIGHBOUR_CHECK', YFLAG) IF( YFLAG(1:1).EQ.'0' ) GPREC = .TRUE. IF( LPREC ) THEN C IF( GPREC ) THEN IARCNTL = ZPREC(POFELD, NOWE, NONS, KPR, KERR) ELSE IARCNTL = IRPREC(PIFELD, MISTRT, NINS, POFELD, NOWE, NONS, X MWEIND, MNSIND, WFACT, RMAX, RINPNT, KPR, KERR) ENDIF IF( IARCNTL.GT.0 ) GOTO 900 C ENDIF C C Special code for poles if Gaussian input and regular output C C North pole C IF( (NIREPR.EQ.JPQUASI).AND. X LREGOUT .AND. X OINPOLE .AND. X OONPOLE ) THEN C IIOFF = MISTRT(1) IOOFF = 1 IINDEX = (JP_I_N - 1) * NOWE + 1 C IF( LWIND ) THEN IARCNTL = IGPOLEW(PIFELD(IIOFF), MILLEN(1), X POFELD(IOOFF), NOWE, MWEIND(1,IINDEX), X MWEDIST(1,IINDEX), KPR, KERR) ELSE IARCNTL = IGPOLEG(PIFELD(IIOFF), MILLEN(1), X POFELD(IOOFF), NOWE, KPR, KERR) ENDIF IF( IARCNTL.GT.0 ) GOTO 900 C ENDIF C C South pole C IF( (NIREPR.EQ.JPQUASI).AND. X LREGOUT .AND. X OISPOLE .AND. X OOSPOLE ) THEN C IIOFF = MISTRT(NINS) IOOFF = (NONS - 1) * NOWE + 1 IINDEX = ( (NONS - 1) * 2 + JP_I_S - 1) * NOWE + 1 C IF( LWIND ) THEN IARCNTL = IGPOLEW(PIFELD(IIOFF), MILLEN(NINS), X POFELD(IOOFF), NOWE, MWEIND(1,IINDEX), X MWEDIST(1,IINDEX), KPR, KERR) ELSE IARCNTL = IGPOLEG(PIFELD(IIOFF), MILLEN(NINS), X POFELD(IOOFF), NOWE, KPR, KERR) ENDIF C IF( IARCNTL.GT.0 ) GOTO 900 C ENDIF C C LSM field - must be 0 or 1 C C Force processing real LSM LSM_VALUES = .FALSE. CALL GETENV('LSM_VALUES', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LSM_VALUES = .TRUE. IF( .NOT.LSM_VALUES.AND.LSMPAR ) THEN IARCNTL = IGPLSM(POFELD, NOWE * NONS, KPR, KERR) IF( IARCNTL.GT.0 ) GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IARCNTL: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/jreadll.F0000755000175000017500000001024612127406245022077 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JREADLL( KUNIT, KTRUNC, PBUILD, PLAT, PLEG, KRET) C C----> C**** JREADLL C C PURPOSE C _______ C C This routine reads legendre functions for one latitude. C C INTERFACE C _________ C C CALL JREADLL( KUNIT, KTRUNC, PBUILD, PLAT, PLEG, KRET) C C Input parameters C ________________ C C KUNIT - Unit number for open file of legendre functions. C KTRUNC - Truncation. C PBUILD - Grid interval used to build legendre coefficients file C PLAT - Latitude in degrees. C C Output parameters C ________________ C C PLEG - Array of legendre functions for the latitude. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Calculate offset of the legendre functions for the latitude row C in the file, skip to the row and read the functions. C C Retries the read upto 3 times if necessary C C Externals C _________ C C PBSEEK - Position the coefficients file C PBREAD - Read the coefficients file C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C Reference C _________ C C None. C C Comments C ________ C C Only positive latitude values are allowed. C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C IMPLICIT NONE #include "jparams.h" #include "parim.h" C C Subroutine arguments C INTEGER KUNIT, KTRUNC, KRET REAL PBUILD, PLEG, PLAT DIMENSION PLEG(*) C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31100 ) C C Local variables C INTEGER NTRIES INTEGER NSIZE, NRET INTEGER*8 FSIZE, FRET INTEGER*8 NEWPOS, OLDPOS REAL ZLAT DATA OLDPOS/-1/ SAVE NEWPOS, OLDPOS C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE IF ( PLAT .LT. 0.0 ) THEN ZLAT = 0.0 ELSE ZLAT = PLAT ENDIF C C Calculate the byte offset into the file where the legendre C functions for the latitude should be. #ifdef REAL_8 NSIZE = 8 * (KTRUNC+1)*(KTRUNC+4)/2 FSIZE = 8 * (KTRUNC+1)*(KTRUNC+4)/2 #else NSIZE = 4 * (KTRUNC+1)*(KTRUNC+4)/2 FSIZE = 4 * (KTRUNC+1)*(KTRUNC+4)/2 #endif cs NEWPOS = NINT( (90.0 - ZLAT)/PBUILD ) * NSIZE NEWPOS = NINT( (90.0 - ZLAT)/PBUILD ) * FSIZE C C _______________________________________________________ C C* Section 2. Processing. C _______________________________________________________ C C Position file unless the previous read left it in the correct C position already C NTRIES = 0 210 CONTINUE NTRIES = NTRIES + 1 IF ( NEWPOS .NE. OLDPOS ) THEN CALL PBSEEK64( KUNIT, NEWPOS, 0, FRET) IF ( FRET .NE. NEWPOS ) THEN CALL INTLOG(JP_ERROR,'JREADLL: PBSEEK64 error.',FRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF ENDIF C C Read the legendre coefficients CALL PBREAD( KUNIT, PLEG, NSIZE, NRET) IF ( NRET .NE. NSIZE ) THEN IF ( NTRIES .EQ. JPMXTRY ) THEN CALL INTLOG(JP_ERROR,'JREADLL: PBREAD error.',NRET) KRET = JPROUTINE + 3 GOTO 990 ELSE GOTO 210 ENDIF ENDIF C C Record the current file byte position OLDPOS = NEWPOS + NSIZE C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/jacobif.F0000755000175000017500000005456712127406245022075 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION JACOBIF(DATA,NM,W,ROTANG) C C----> C**** JACOBIF C C Purpose C ------- C C Rotates spectral field by latitude (Fujitsu only). C C C Interface C --------- C C IRET = JACOBIF(DATA,NM,W,ROTANG) C C Input C ----- C C NM - Triangular truncation number of the field. C DATA - Linear array of REAL*8s of size (NM+1)*(NM+2) C holding the field. C W - Work array of REAL*8s of size (NM+1)*(NM+2). C ROTANG - Rotation angle (degrees, REAL*8) C (degrees, negative => rotate counter-clockwise about the C new Z-axis). C C C Output C ------ C C DATA - The transformed field. C C Function returns .FALSE. if data cannot be transformed. C C C Method C ------ C C See reference paper below. C C Coefficients are read into or are created in memory. A large C amount of memory may be required; eg, for truncation NM: C 8*(NM*(2*NM*NM + 9*NM +13)/3) bytes. C C Optionally, if the environment variable PP_SAVE_ROT is set, a C file of coefficients can be created in the directory given by C environment variable PP_ROT_DIR. C C The name of the file of rotation coefficients indicates the C triangular truncation NM and the rotation angle ROTANG: C C $PP_ROT_DIR/rot_coefs_Tttt_nnnnnnnnn C or $TMPDIR/rot_coefs_Tttt_nnnnnnnnn C C where: C ttt = triangular truncation C nnnnnnnnn = ROTANG*100000, C or C $PP_ROT_DIR/rot_coefs_Tttt_Mnnnnnnnn C or $TMPDIR/rot_coefs_Tttt_Mnnnnnnnn C C where: C ttt = triangular truncation C nnnnnnnn = -ROTANG*100000 if ROTANG is negative. C C C Externals C --------- C C INTLOG - Logs messages. C INTLOGR - Logs messages. C GETENV - To get environment variable data. C UNLINK - To remove a file. C PPALLOW - Checks if the rotation coefficients can go into mrfs. C C C Author C ------ C C J.D.Chambers ECMWF April 1999 C C C Reference. C ---------- C C "Spectral synthesis on rotated and regular grids" C by P.Lynch and R.McGrath (Irish Meteorological Service). C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Function arguments. C REAL*8 DATA, W DIMENSION DATA(*), W(*) INTEGER NM REAL*8 ROTANG C C Parameters. C REAL*8 EPS PARAMETER(EPS = 1.0E-10) INTEGER JPNM_MAX, JPMAXMM, JPMEM20 PARAMETER( JPNM_MAX = 640 ) PARAMETER( JPMAXMM = 3 ) C `--> maximum number of memory slots C used for rotation coefficients PARAMETER( JPMEM20 = 20 ) C `--> offset in memory allocation table of C first memory slot for rotation C coefficients C C Local variables. C LOGICAL LFOR, LALLOW INTEGER I, ISKIP, J, N, MM, K, IEND INTEGER NN, M, NDEX, IMEMORY C REAL*4 SROTANG REAL*8 SIMAG, S, TEMP, DROTANG REAL*8 RAD, TANB, SINB, COSB, Q, RNKN, BNKN, SQNN REAL*8 SQNN1, SQ2N, PKN, PK1N, RNKN1, SREAL ,RNK0, RNK1 REAL*8 INDEXR(JPNM_MAX), INDEXI(JPNM_MAX) REAL*8 MINUS1(JPNM_MAX) REAL*8 FACTOR(JPNM_MAX) REAL*8 WISQR(JPNM_MAX) REAL*8 WIB(JPNM_MAX) REAL*8 WIR(JPNM_MAX) REAL*8 WIDAT(2*JPNM_MAX) C CHARACTER*256 FILENAME CHARACTER*40 COEFILE DATA COEFILE/'rot_coefs_Tnnn_nnnnnnnnn'/ C INTEGER IUNIT, IRET, ILAT, OLDLAT(3), OLDTRUN(3), IOFFSET INTEGER IFSIZE, ICNDEX INTEGER LOOP, NMP1TM, MAXMEM LOGICAL LINMEM, LEXIST C INTEGER CURRENT, OLDEST DATA OLDEST/1/, MAXMEM/JPMAXMM/ SAVE OLDEST, MAXMEM C DATA OLDLAT/3*9999999/, OLDTRUN/3*0/ DATA LINMEM/.FALSE./, LEXIST/.FALSE./ SAVE IUNIT, ILAT, OLDLAT, OLDTRUN, COEFILE, LINMEM, LEXIST C #ifdef POINTER_64 Cjdc INTEGER*8 ICOEFF #endif REAL*8 ACOEFF DIMENSION ACOEFF(1) POINTER ( ICOEFF, ACOEFF ) C C Externals C INTEGER JCHMOD, UNLINK LOGICAL PPALLOW EXTERNAL JCHMOD, UNLINK, PPALLOW C C Statement function C REAL*8 A, B LOGICAL ABSCHK ABSCHK(A,B) = (ABS(A-B) .LT. EPS*(ABS(A) + ABS(B))) C C W array: 1 -> (NM+1)*(NM+2) for PMN/SQRT(2*N+1) values. C C RNKM values in WIR (for M>0), C in WIB (M<0). C Array of temporary SQRT values in WISQR, and C temporary transformed data in WIDAT C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C JACOBIF = .FALSE. C LALLOW = PPALLOW(NM,ROTANG) C CALL INTLOG(JP_DEBUG,'JACOBIF: truncation = ', NM) SROTANG = SNGL(ROTANG) CALL INTLOGR(JP_DEBUG,'JACOBIF: rotation angle = ', SROTANG) C C Exit immediately if rotation angle is zero. C IF (ABS(ROTANG).LT.EPS) THEN CALL INTLOG(JP_DEBUG,'JACOBIF: No rotation necessary',JPQUIET) JACOBIF = .TRUE. GOTO 999 ENDIF C C Change to radians. C RAD = 180.0/PPI DROTANG = ROTANG/RAD TANB = TAN(DROTANG/(2.0)) SINB = SIN(DROTANG) COSB = COS(DROTANG) Q = SQRT(2.0)/2.0 C ICNDEX = 0 C C -----------------------------------------------------------------| C* Section 2. Generate PMN/SQRT(2*N+1) values in W. C -----------------------------------------------------------------| C 200 CONTINUE C W(1) = 1.0 W(2) = COSB C ISKIP = NM + 1 !OCL SCALAR DO I = 1,ISKIP W(1+ISKIP*I) = W(1+ISKIP*I-ISKIP)*SINB* X SQRT(DBLE(2*I-1)/DBLE(2*I)) W(1+ISKIP*I+1) = COSB*DSQRT(DBLE(2*I+1))*W(1+ISKIP*I) ENDDO C !OCL SCALAR DO I = 2,ISKIP-1 C !OCL VECTOR DO J = 0,ISKIP-I+1 FACTOR(J) = 1.0/DSQRT(DBLE((I+2*J)*I)) ENDDO C DO J = 0,ISKIP-I+1 W(I+J*ISKIP+1) = COSB*DBLE(2*I+2*J-1) X *FACTOR(J)*W(I+J*ISKIP) X - DSQRT(DBLE((I-1)*(I+2*J-1))) X *FACTOR(J)*W(I+J*ISKIP-1) ENDDO C ENDDO C MINUS1(1) = -1 !OCL SCALAR DO I = 2, JPNM_MAX MINUS1(I) = -MINUS1(I-1) ENDDO C C -----------------------------------------------------------------| C* Section 3. Pick up the rotation coefficients RNKM. C -----------------------------------------------------------------| C 300 CONTINUE C C Change the interpolation coefficents if the input latitude is C not the same as the one used the last time through. C ILAT = NINT(ROTANG*100000) C DO LOOP = 1, MAXMEM IF( ILAT.EQ.OLDLAT(LOOP).AND.(OLDTRUN(LOOP).EQ.NM) ) THEN C C Set flags to show the rotation coefficients are in memory C LINMEM = .TRUE. LEXIST = .TRUE. CURRENT = LOOP + JPMEM20 - 1 CALL INTLOG(JP_DEBUG, X 'JACOBIF: Existing memory slot re-used = ', CURRENT) CALL JMEMHAN( CURRENT, ICOEFF, IMEMORY, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL, X 'JACOBIF: Failed to pick up existing memory pool',CURRENT) JACOBIF = .FALSE. GOTO 999 ENDIF GOTO 310 ENDIF ENDDO C LINMEM = .FALSE. LEXIST = .FALSE. CURRENT = OLDEST + JPMEM20 - 1 OLDLAT(OLDEST) = ILAT OLDTRUN(OLDEST) = NM OLDEST = OLDEST + 1 IF( OLDEST.GT.MAXMEM ) OLDEST = 1 CALL INTLOG(JP_DEBUG, X 'JACOBIF: Different memory slot selected = ', CURRENT) C 310 CONTINUE C IF( .NOT. LINMEM ) THEN C C Calculate the coefficients file size (coefficients are REAL*8) C IFSIZE = 8*(NM*(2*NM*NM + 9*NM +13)/3) C C Allocate memory for the REAL*8 coefficients C #ifdef REAL_8 IMEMORY = (NM*(2*NM*NM + 9*NM +13)/3) #else IMEMORY = 2*(NM*(2*NM*NM + 9*NM +13)/3) #endif C 320 CONTINUE C CALL JMEMHAN( CURRENT, ICOEFF, IMEMORY, 1, IRET) IF( IRET.NE.0 ) THEN C C If memory allocation fails, reduce the number of slots in the C memory pool. Exit if the pool is already down to one slot. C IF( MAXMEM.LT.2 ) THEN CALL INTLOG(JP_FATAL, X 'JACOBIF: memory allocation error',ICOEFF) JACOBIF = .FALSE. GOTO 999 ENDIF MAXMEM = MAXMEM - 1 CALL INTLOG(JP_DEBUG, X 'JACOBIF: Reduce number of memory slots to ', MAXMEM) LINMEM = .FALSE. LEXIST = .FALSE. OLDEST = 1 OLDLAT(OLDEST) = ILAT OLDTRUN(OLDEST) = NM CURRENT = OLDEST + JPMEM20 - 1 OLDEST = OLDEST + 1 IF( OLDEST.GT.MAXMEM ) OLDEST = 1 CALL INTLOG(JP_DEBUG, X 'JACOBIF: Different memory slot selected = ', CURRENT) GOTO 320 ENDIF ICNDEX = 0 C C If the file already exists, read it into memory. C For 'standard' rotations try PP_ROT_DIR, otherwise TMPDIR. C IF( LALLOW ) THEN CALL GETENV('PP_ROT_DIR',FILENAME) ELSE CALL GETENV('TMPDIR',FILENAME) ENDIF IOFFSET = INDEX(FILENAME,' ') IF( IOFFSET.EQ.1) THEN CALL INTLOG(JP_WARN, X 'JACOBIF: Unable to open rotation coefficents.',JPQUIET) C ELSE C CALL INTLOG(JP_DEBUG, X 'JACOBIF: Existing coefficients sought in:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JACOBIF: '// FILENAME(1:IOFFSET-1),JPQUIET) C WRITE(COEFILE(12:14),'(I3.3)') NM IF( ILAT.GE.0) THEN WRITE(COEFILE(16:),'(I9.9)') ILAT ELSE COEFILE(16:) = 'M' WRITE(COEFILE(17:),'(I8.8)') -ILAT ENDIF FILENAME = FILENAME(1:IOFFSET-1) // '/' // COEFILE IOFFSET = INDEX(FILENAME,' ') - 1 C CALL PBOPEN(IUNIT,FILENAME(1:IOFFSET),'r',IRET) IF( IRET.EQ.0 ) THEN C C Let user know that a existing file has been opened C CALL INTLOG(JP_DEBUG, X 'JACOBIF: Existing coefficients found in file:',JPQUIET) CALL INTLOG(JP_DEBUG,'JACOBIF: '// COEFILE, JPQUIET) C C Read coefficients into memory C CALL PBREAD(IUNIT,ACOEFF,IFSIZE,IRET) IF( IRET.NE.IFSIZE ) THEN CALL INTLOG(JP_WARN,'JACOBIF: PBREAD failed.',JPQUIET) ELSE C C Set flags to show the rotation coefficients are in memory C and exist. C LINMEM = .TRUE. LEXIST = .TRUE. ENDIF C CALL PBCLOSE(IUNIT,IRET) ENDIF C ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 4. Generate the rotation coefficients RNKM. C -----------------------------------------------------------------| C 400 CONTINUE C C C Generate the rotation coefficients RNKM (K = M dashed in note) C and store in W. For K = 0 special case. C C PMN = W(M*(NM+1) + (N-M+1)) C !OCL VECTOR DO 630 N = 1,NM RNKN = (0.5*(1.0 + COSB))**N BNKN = (0.5*(1.0 - COSB))**N SQNN = DSQRT(DBLE((N+1)*N)) SQNN1 = SQNN*SINB SQ2N = DSQRT(2.0/DBLE(N))/SINB C C Save SQRTS. C !OCL VECTOR DO MM = 0,N WISQR(MM+1) = DSQRT(DBLE((N+MM)*(N-MM+1)))*SINB ENDDO C NN = 1 C C Generate RNKM, M = 0 to N. C !OCL SCALAR DO 590 K = N,0,-1 C C If the coefficients are not (yet) in memory, they have to C be calculated. C IF( .NOT. LINMEM ) THEN C PKN = W(K*(NM+1) + (N-K+1)) IF (K.EQ.0) GOTO 500 C C For K > 0, go forward from zero. C PK1N = W((K-1)*(NM+1) + (N-(K-1)+1)) C C Flip sign if necessary. C IF (MOD(K,2).NE.0)THEN PKN = -PKN ELSE PK1N = -PK1N ENDIF C C Work using forward recurrence as long as coefficient C calculated passes checks. C LFOR = .TRUE. C RNK0 = PKN RNK1 = (-DBLE(K)*TANB*PKN + (WISQR(K+1)/SINB)*PK1N)/SQNN C C Recurrence starts at 2 for M = 0 C WIR(1) = RNK0 WIR(2) = RNK1 C !OCL SCALAR DO MM = 1,N-1 WIR(MM+2) = (2.0*WIR(MM+1)*(DBLE(MM)*COSB-DBLE(K)) X - WISQR(MM+1)*WIR(MM)) /WISQR(MM+2) C C Apply check to generated coefficient to see if its C absolute value is greater than 1. If so, have to C switch to using backwards recurrences. C IF (ABS(WIR(MM+2)).GT.1.0)THEN LFOR = .FALSE. IEND = MM + 3 GOTO 435 ENDIF ENDDO C C If forward recurrence appears OK so far, C test last element RNKN by comparing with WIR(N+1). C IEND = N + 2 IF (ABSCHK(RNKN,WIR(N+1))) GOTO 445 C C If test failed, try generating coefficients using C backwards recurrences. C 435 CONTINUE C C Work backwards from the top. C Specify N; K is already set from the loop above. C Stop at M = 1 (NOT 0). C RNKN1 = RNKN*SQ2N*(DBLE(N)*COSB-DBLE(K)) WIR(N+1) = RNKN C C Check whether difference is within prescribed tolerance. C IF (LFOR .AND. ABSCHK(RNKN1,WIR(N))) GO TO 445 WIR(N) = RNKN1 C C For M = 0: C !OCL SCALAR DO MM = N-1,1,-1 S = (2.0*WIR(MM+1)*(DBLE(MM)*COSB-DBLE(K)) X - (WISQR(MM+2)*WIR(MM+2))) / WISQR(MM+1) C C Accept these if forward recursion failed before C reaching this point. C IF (MM+1.LT.IEND)THEN IF (ABSCHK(S,WIR(MM))) GOTO 445 ENDIF WIR(MM) = S C C If absolute value is greater than 1, give up gracefully C IF (ABS(S).GT.1.0) GOTO 920 C ENDDO C GOTO 920 C 445 CONTINUE C C Now RNKM for M = 0,-N C C RNKM M = -1,-N C C Forward recurrence starts at 1 for M = 0, 2 for -1 etc. C LFOR = .TRUE. C WIB(1) = RNK0 WIB(2) = -RNK1-RNK0*DBLE(2*K)/(SQNN1) C !OCL SCALAR DO MM = 1,(N-1) WIB(MM+2) = (2.0*WIB(MM+1)*(DBLE(-MM)*COSB-DBLE(K)) X - WISQR(MM+1)*SINB*WIB(MM)) /WISQR(MM+2) C C Apply check to generated coefficient to see if its C absolute value is greater than 1. If so, have to C switch to using backwards recurrences. C IF (ABS(WIB(MM+2)).GT.1.0)THEN LFOR = .FALSE. IEND = MM + 3 GOTO 455 ENDIF ENDDO C C If forward recurrence appears OK so far, C test last element BNKN by comparing with WIB(N+1). C IEND = N + 1 IF (ABSCHK(BNKN,WIB(N+1))) GOTO 500 C C If test failed, try generating coefficients using backwards C recurrences. C 455 CONTINUE C C Get R values. C First RNKN, then next highest RNKN1. C RNKN1 = -BNKN*SQ2N*(DBLE(N)*COSB + DBLE(K)) C C Work backwards from the top. C Specify N; K is already set from the loop above. C C Stop at M = 1 (NOT 0). C WIB(N+1) = BNKN IF (LFOR .AND. ABSCHK(RNKN1,WIB(N))) GOTO 500 WIB(N) = RNKN1 C !OCL SCALAR DO MM = N-1,1,-1 S = (2.0*WIB(MM+1)*(DBLE(-MM)*COSB-DBLE(K)) X - (WISQR(MM+2)*WIB(MM+2))) / WISQR(MM+1) C C Accept backwards generated coefficients if forward C recursion failed before reaching this point. C IF ( (MM.LT.IEND ) .AND. ABSCHK(S,WIB(MM)) ) GOTO 500 WIB(MM) = S C C If absolute value is greater than 1, give up. C IF (ABS(S).GT.1.0) GOTO 910 C ENDDO C C End of backwards recurrences reached with no agreed C coefficients, give up. C GOTO 910 C C -----------------------------------------------------------------| C* Section 5. Got RNKM. Now transform spectral data. C -----------------------------------------------------------------| C 500 CONTINUE C C Put coefficients in allocated memory C !OCL VECTOR DO LOOP = 1, N+1 ACOEFF(ICNDEX +LOOP) = WIR(LOOP) ACOEFF(ICNDEX+N+1+LOOP) = WIB(LOOP) ENDDO C ENDIF C C Coefficients are in memory C PKN = W(K*(NM+1) + (N-K+1)) PK1N = W((K-1)*(NM+1) + (N-(K-1)+1)) C C Flip sign if necessary. C IF (MOD(K,2).NE.0)THEN PKN = -PKN ELSE PK1N = -PK1N ENDIF C !OCL VECTOR DO LOOP = 1, N+1 WIR(LOOP) = ACOEFF(ICNDEX +LOOP) WIB(LOOP) = ACOEFF(ICNDEX+N+1+LOOP) ENDDO ICNDEX = ICNDEX + 2*(N+1) C C C Special case when K=0. C IF( K.EQ.0) THEN C SREAL = DATA(2*(N+1)-1)*PKN SIMAG = 0.0 !OCL VECTOR DO M = 1,N SREAL = SREAL X + 2.0*DATA(2*((NM+1)*M-((M-1)*M)/2+1+N-M)-1) X * W((NM+1)*M+(N-M+1)) ENDDO C NDEX = 1+N WIDAT(NN) = SREAL WIDAT(NN+1) = SIMAG NN = NN + 2 C ELSE C SREAL = DATA(2*(N+1)-1)*PKN SIMAG = 0.0 !OCL VECTOR DO M = 1,N INDEXR(M) = 2*((NM+1)*M-((M-1)*M)/2+1+N-M)-1 ENDDO !OCL VECTOR DO M = 1,N INDEXI(M) = INDEXR(M) + 1 ENDDO C !OCL VECTOR DO M = 1,N SREAL = SREAL + X DATA(INDEXR(M)) X * (WIR(M+1)+WIB(M+1)*MINUS1(M)) SIMAG = SIMAG - X DATA(INDEXI(M)) X * (-WIR(M+1)+WIB(M+1)*MINUS1(M)) ENDDO C NDEX = (NM+1)*K - ((K-1)*K)/2+1+N-K WIDAT(NN) = SREAL WIDAT(NN+1) = SIMAG NN = NN + 2 ENDIF C C Update RNKN at both ends of the forward and backward C recurrences. C TEMP = DSQRT(DBLE(N+K)/DBLE(N-K+1)) RNKN = RNKN*TEMP*SINB/(1+COSB) BNKN = -BNKN*TEMP*(1+COSB)/SINB C C End of inner loop. C 590 CONTINUE C C -----------------------------------------------------------------| C* Section 6. Now place the values of the rotated spectral C coefficients in DATA. C -----------------------------------------------------------------| C 600 CONTINUE C NN = 1 !OCL VECTOR DO K = N,0,-1 NDEX = (NM+1)*K - ((K-1)*K)/2+1+N-K DATA(2*NDEX-1) = WIDAT(NN) DATA(2*NDEX) = WIDAT(NN+1) NN = NN + 2 C ENDDO C C End of outer loop. C 630 CONTINUE C C -----------------------------------------------------------------| C* Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C LINMEM = .TRUE. C IF( .NOT. LEXIST ) THEN C C If the environment variable PP_SAVE_ROT is set, save the C rotation coefficients in a file. C 'Standard' rotations go into PP_ROT_DIR, others into TMPDIR. C LEXIST = .TRUE. CALL GETENV('PP_SAVE_ROT',FILENAME) IOFFSET = INDEX(FILENAME,' ') IF( IOFFSET.GT.1 ) THEN IF( LALLOW ) THEN CALL GETENV('PP_ROT_DIR',FILENAME) ELSE CALL GETENV('TMPDIR',FILENAME) ENDIF IOFFSET = INDEX(FILENAME,' ') IF( IOFFSET.EQ.1) THEN CALL INTLOG(JP_WARN, X 'JACOBIF: Unable to save rotation coefficents.',JPQUIET) C ELSE C C Let user know that a new file is being created. C CALL INTLOG(JP_DEBUG, X 'JACOBIF: Creating new coefficients in directory',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JACOBIF: '// FILENAME(1:IOFFSET-1),JPQUIET) C WRITE(COEFILE(12:14),'(I3.3)') NM IF( ILAT.GE.0) THEN WRITE(COEFILE(16:),'(I9.9)') ILAT ELSE COEFILE(16:) = 'M' WRITE(COEFILE(17:),'(I8.8)') -ILAT ENDIF FILENAME = FILENAME(1:IOFFSET-1) // '/' // COEFILE IOFFSET = INDEX(FILENAME,' ') C CALL PBOPEN(IUNIT,FILENAME(1:IOFFSET-1),'w',IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_WARN, X 'JACOBIF: PBOPEN for write failed',JPQUIET) GOTO 995 ENDIF C CALL INTLOG(JP_DEBUG, X 'JACOBIF: New coefficients filename:',JPQUIET) CALL INTLOG(JP_DEBUG,'JACOBIF: '// COEFILE, JPQUIET) C C Change access mode to 'read only' for all users. C IRET = JCHMOD(FILENAME(1:IOFFSET-1),'0444') IF( IRET.NE.0 ) X CALL INTLOG(JP_WARN,'JACOBIF: JCHMOD error.',IRET) C C Write coefficients to file C CALL PBWRITE(IUNIT,ACOEFF,IFSIZE,IRET) IF( IRET.NE.IFSIZE ) THEN CALL INTLOG(JP_FATAL,'JACOBIF: PBWRITE failed.',JPQUIET) IRET = UNLINK(FILENAME(1:IOFFSET-1)) IF( IRET.NE.0 ) X CALL INTLOG(JP_FATAL,'JACOBIF: UNLINK failed',JPQUIET) CALL PBCLOSE(IUNIT,IRET) JACOBIF = .FALSE. GOTO 999 ENDIF CALL PBCLOSE(IUNIT,IRET) LINMEM = .TRUE. ENDIF ENDIF ENDIF C 995 CONTINUE C JACOBIF = .TRUE. C 999 CONTINUE RETURN C C Failure to converge with M < 0. C 910 CONTINUE CALL INTLOG(JP_FATAL,'JACOBIF: Fail to converge M < 0', JPQUIET) JACOBIF = .FALSE. GOTO 999 C C Failure to converge with M > 0. C 920 CONTINUE CALL INTLOG(JP_FATAL,'JACOBIF: Fail to converge M > 0', JPQUIET) JACOBIF = .FALSE. GOTO 999 END emoslib-000392+dfsg.1/interpolation/intout.F0000755000175000017500000006163412127406245022013 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTOUT( HPARN, INTV, REALV, CHARV) C C----> C**** INTOUT C C Purpose C ------- C C Change output field parameters in common block. C C Interface C --------- C C Input C ----- C C HPARN - MARS parameter name. C INTV - MARS parameter value(s) (Integer). C REALV - MARS parameter value(s) (Real). C CHARV - MARS parameter value(s) (Character). C C C Method C ------ C C Recognise MARS paramter and reset appropriate common C variable value(s). C C C Externals C --------- C C JDEBUG - Check if debug switched on. C IBASINI - Check basic initialisation of common blocks is done. C CHEQUAL - Compare two ASCII strings without regard to case. C INTLOG(R)- Log error message. C IGGLAT - Compute gaussian latitudes for given truncation. C C C Author C ------ C C J.D.Chambers ECMWF August 1994. C C Modifications. C -------------- C C S. Curic ECMWF 28.05.07 C added jpeg packing just for merging with grib_api C C----< C IMPLICIT NONE C C Function arguments C CHARACTER*(*) HPARN CHARACTER*(*) CHARV REAL REALV(*) INTEGER INTV(*) C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 28200 ) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "current.h" C C Local variables C INTEGER ITEMP, I, IRET, ILOOP, ILAST, IFILE1 LOGICAL LFOUND C C Externals C LOGICAL CHEQUAL EXTERNAL CHEQUAL INTEGER IGGLAT, JINDEX EXTERNAL IGGLAT, JINDEX C C -----------------------------------------------------------------| C Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C INTOUT = 0 LFOUND = .FALSE. C C Check if debug turned on CALL JDEBUG() C C Ensures basic initialisation of common blocks is done CALL IBASINI(0) C CALL INTLOG(JP_DEBUG, 'INTOUT: option = ' // HPARN ,JPQUIET) C C -----------------------------------------------------------------| C Section 2. Decode request C -----------------------------------------------------------------| C 200 CONTINUE C C Output grid. C IF( CHEQUAL( HPARN, 1, 4, 'grid') ) THEN LFOUND = .TRUE. C (Ignore the call if the grid values = 0.) IF( (REALV(1) .EQ. 0) .OR. (REALV(2) .EQ. 0) ) GOTO 900 IF( (NOREPR.NE.JPREGULAR).AND.(NOREPR.NE.JPREGROT) ) THEN LCHANGE = .TRUE. NOGAUSS = 0 ENDIF IF( LNOROTA ) THEN NOREPR = JPREGROT ELSE NOREPR = JPREGULAR ENDIF LNOREPR = .TRUE. CALL INTLOGR(JP_DEBUG, 'INTOUT: grid e-w = ',REALV(1)) CALL INTLOGR(JP_DEBUG, 'INTOUT: grid n-s = ',REALV(2)) DO I = 1, 2 ITEMP = INT( REALV(I)*PPMULT) IF( NOGRID(I) .NE. ITEMP ) LCHANGE = .TRUE. NOGRID(I) = ITEMP ENDDO LNOGRID = .TRUE. GOTO 900 ENDIF C C Output regular (gaussian). C IF( CHEQUAL( HPARN, 1, 7, 'regular') ) THEN LFOUND = .TRUE. C (Ignore the call if the gaussian value = 0.) IF( INTV(1) .EQ. 0 ) GOTO 900 IF( NOREPR .NE. JPGAUSSIAN ) THEN LCHANGE = .TRUE. NOGRID(1) = 0 NOGRID(2) = 0 LNOGRID = .FALSE. ENDIF IF( LNOROTA ) THEN NOREPR = JPFGGROT ELSE NOREPR = JPGAUSSIAN ENDIF LNOREPR = .TRUE. IF( NOGAUSS .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: regular = ',INTV(1)) NOGAUSS = INTV(1) LNOGAUS = .TRUE. IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'F') ) THEN CALL JGETGG( NOGAUSS, 'F', ROGAUSS, NOLPTS, IRET) IF( IRET .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTOUT: JGETGG fail for NOGAUSS = ',NOGAUSS) INTOUT = IRET GOTO 900 ENDIF NOGAUSO = NOGAUSS HOGAUST = 'F' ENDIF C NONS = 2*NOGAUSS GOTO 900 ENDIF C C Output truncation. C IF( CHEQUAL( HPARN, 1, 10, 'truncation') ) THEN LFOUND = .TRUE. C (Ignore the call if the truncation value < 0.) IF( INTV(1) .LT. 0 ) GOTO 900 IF( NOREPR .NE. JPSPHERE ) LCHANGE = .TRUE. IF( .NOT. LNOREPR ) NOREPR = JPSPHERE LNOREPR = .TRUE. IF( NORESO .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: truncation = ',INTV(1)) NORESO = INTV(1) LNORESO = .TRUE. GOTO 900 ENDIF C C C C Output gaussian => same output type as input. C Double Interpolation C IF( CHEQUAL( HPARN, 1, 20, 'intermediate_gaussian') ) THEN LFOUND = .TRUE. C (Ignore the call if the gaussian value = 0.) IF( INTV(1) .EQ. 0 ) GOTO 900 IF( NOMEGA .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG,'INTOUT: Intermediate gaussian = ',INTV(1)) NOMEGA = INTV(1) LDOUBLE = .TRUE. c NOREPR = JPNOTYPE c LNOREPR = .TRUE. c NONS = 2*NOGAUSS GOTO 900 ENDIF C C Interpolation method C IF( CHEQUAL( HPARN, 1, 13, 'interpolation') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: interpolation = ' X // CHARV ,JPQUIET) IF( CHEQUAL( CHARV, 1, 17, 'nearest neighbour') ) THEN IF( .NOT. LMETHOD ) LCHANGE = .TRUE. LMETHOD = .TRUE. ELSEIF( CHEQUAL( CHARV, 1, 8, 'bilinear') ) THEN IF( .NOT. LO12PT ) LCHANGE = .TRUE. LO12PT = .FALSE. ELSEIF( CHEQUAL( CHARV, 1, 11, 'nearest lsm') ) THEN IF( .NOT. LNNLSM ) LCHANGE = .TRUE. LNNLSM = .TRUE. ELSEIF( CHEQUAL( CHARV, 1, 3, 'off') ) THEN LNNLSM = .FALSE. LMETHOD = .FALSE. ELSE IF( LMETHOD ) LCHANGE = .TRUE. LMETHOD = .FALSE. LO12PT = .TRUE. LNNLSM = .FALSE. ENDIF GOTO 900 ENDIF C C Output ito be generated by automatically selected truncation C (autoresol). C IF( CHEQUAL( HPARN, 1, 9, 'autoresol') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: autoresol (1 = on) = ',INTV(1)) IF( INTV(1).EQ.1 ) THEN LARESOL = .TRUE. ELSE LARESOL = .FALSE. ENDIF ENDIF C C Output data format. C IF( CHEQUAL( HPARN, 1, 4, 'form') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: form = ' // CHARV ,JPQUIET) IF( CHEQUAL( CHARV, 1, 4, 'grib') ) THEN IF( NOFORM .EQ. 0 ) LCHANGE = .TRUE. NOFORM = 1 ELSE IF( NOFORM .EQ. 1 ) LCHANGE = .TRUE. NOFORM = 0 ENDIF GOTO 900 ENDIF C C Input level. C IF( CHEQUAL( HPARN, 1, 5, 'level') ) THEN LFOUND = .TRUE. IF( NOLEVEL .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: level = ',INTV(1)) NOLEVEL = INTV(1) LNOLEVL = .TRUE. GOTO 900 ENDIF C C Input level type. C IF( CHEQUAL( HPARN, 1, 7, 'levtype') ) THEN LFOUND = .TRUE. IF( NOLEVT .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: levtype = ',INTV(1)) NOLEVT = INTV(1) LNOLEVT = .TRUE. GOTO 900 ENDIF C C Input table. C IF( CHEQUAL( HPARN, 1, 5, 'table') ) THEN LFOUND = .TRUE. IF( NOTABLE .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: table = ',INTV(1)) NOTABLE = INTV(1) LNOTABL = .TRUE. GOTO 900 ENDIF C C Input parameter. C IF( CHEQUAL( HPARN, 1, 9, 'parameter') ) THEN LFOUND = .TRUE. IF( NOPARAM .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: parameter = ',INTV(1)) NOPARAM = INTV(1) LNOPARA = .TRUE. GOTO 900 ENDIF C C Output accuracy. C IF( CHEQUAL( HPARN, 1, 8, 'accuracy') ) THEN LFOUND = .TRUE. C (Ignore the call if the truncation value = 0.) IF( INTV(1) .EQ. 0 ) GOTO 900 IF( NOACC .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: accuracy = ',INTV(1)) NOACC = INTV(1) LNOACC = .TRUE. GOTO 900 ENDIF C C Output gaussian => same output type as input. C IF( CHEQUAL( HPARN, 1, 8, 'gaussian') ) THEN LFOUND = .TRUE. C (Ignore the call if the gaussian value = 0.) IF( INTV(1) .EQ. 0 ) GOTO 900 IF( NOGAUSS .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: gaussian = ',INTV(1)) NOGAUSS = INTV(1) LNOGAUS = .TRUE. NOREPR = JPNOTYPE LNOREPR = .TRUE. NONS = 2*NOGAUSS GOTO 900 ENDIF C C Output area. C IF( CHEQUAL( HPARN, 1, 4, 'area') ) THEN LFOUND = .TRUE. CALL INTLOGR(JP_DEBUG, 'INTOUT: north = ',REALV(1)) CALL INTLOGR(JP_DEBUG, 'INTOUT: west = ',REALV(2)) CALL INTLOGR(JP_DEBUG, 'INTOUT: south = ',REALV(3)) CALL INTLOGR(JP_DEBUG, 'INTOUT: east = ',REALV(4)) DO I = 1, 4 ITEMP = INT( REALV(I)*PPMULT) IF( NOAREA(I) .NE. ITEMP ) LCHANGE = .TRUE. NOAREA(I) = ITEMP ENDDO LNOAREA = (NOAREA(1).NE.0).OR.(NOAREA(2).NE.0).OR. X (NOAREA(3).NE.0).OR.(NOAREA(4).NE.0) GOTO 900 ENDIF C C Output scan. C IF( CHEQUAL( HPARN, 1, 4, 'scan') ) THEN LFOUND = .TRUE. IF( NOSCNM .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: scan = ',INTV(1)) NOSCNM = INTV(1) GOTO 900 ENDIF C C Output packing. C C Values for PACKING C SIMPLE C COMPLEX C SECOND ORDER C ARCHIVED VALUE C IF( CHEQUAL( HPARN, 1, 7, 'packing') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: packing = ' // CHARV ,JPQUIET) IF( CHEQUAL( CHARV, 1, 6, 'second') ) THEN IF( NOHFUNC.NE.'K' ) LCHANGE = .TRUE. NOHFUNC = 'K' ELSE IF( CHEQUAL( CHARV, 1, 6, 'simple') ) THEN IF( NOHFUNC.NE.'S' ) LCHANGE = .TRUE. NOHFUNC = 'S' ELSE IF( CHEQUAL( CHARV, 1, 7, 'archive') ) THEN IF( NOHFUNC.NE.'A' ) LCHANGE = .TRUE. NOHFUNC = 'A' ELSE IF( CHEQUAL( CHARV, 1, 7, 'complex') ) THEN IF( NOHFUNC.NE.'C' ) LCHANGE = .TRUE. NOHFUNC = 'C' ELSE IF( CHEQUAL( CHARV, 1, 4, 'jpeg') ) THEN IF( NOHFUNC.NE.'J' ) LCHANGE = .TRUE. NOHFUNC = 'J' ELSE CALL INTLOG(JP_ERROR, X 'INTOUT: Invalid value for PACKING: ' // CHARV(1:6),JPQUIET) LFOUND = .FALSE. ENDIF GOTO 900 ENDIF C C Output reduced. C IF( CHEQUAL( HPARN, 1, 7, 'reduced') ) THEN LFOUND = .TRUE. C (Ignore the call if the reduced value = 0.) IF( INTV(1) .EQ. 0 ) GOTO 900 IF( NOGAUSS .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: reduced = ',INTV(1)) NOGAUSS = INTV(1) LNOGAUS = .TRUE. IF( NOREPR .NE. JPQUASI ) THEN LCHANGE = .TRUE. NOGRID(1) = 0 NOGRID(2) = 0 LNOGRID = .FALSE. ENDIF IF( LNOROTA ) THEN NOREPR = JPQGGROT ELSE NOREPR = JPQUASI ENDIF LNOREPR = .TRUE. IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'R') ) THEN CALL JGETGG( NOGAUSS, 'R', ROGAUSS, NOLPTS, IRET) IF( IRET .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTOUT: JGETGG fail for NOGAUSS = ',NOGAUSS) INTOUT = IRET GOTO 900 ENDIF NOGAUSO = NOGAUSS HOGAUST = 'R' ENDIF C NOAREA(1) = INT( ROGAUSS(1) * PPMULT ) NOAREA(2) = 0 NOAREA(3) = INT( ROGAUSS(NOGAUSS*2) * PPMULT ) NOAREA(4) = JP360 - JP360/NOLPTS(NOGAUSS) NOPCNT = 0 DO ILOOP = 1, NOGAUSS*2 NOPCNT = NOPCNT + NOLPTS(ILOOP) ENDDO GOTO 900 ENDIF C C Output user_regular_gaussian C IF( CHEQUAL( HPARN, 1, 21, 'user_regular_gaussian') ) THEN LFOUND = .TRUE. IF( NOREPR .NE. JPGAUSSIAN ) THEN LCHANGE = .TRUE. NOGRID(1) = 0 NOGRID(2) = 0 LNOGRID = .FALSE. ENDIF C (Ignore the call if the user_regular_gaussian value = 0.) IF( INTV(1) .EQ. 0 ) GOTO 900 IF( NOGAUSS .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG,'INTOUT: user_regular_gaussian = ',INTV(1)) NOGAUSS = INTV(1) LNOGAUS = .TRUE. IF( LNOROTA ) THEN NOREPR = JPFGGROT ELSE NOREPR = JPGAUSSIAN ENDIF LNOREPR = .TRUE. C ILAST = NOGAUSS*2 DO ILOOP = 1, ILAST NOLPTS(ILOOP) = NOGAUSS*4 ENDDO NOGAUSO = NOGAUSS HOGAUST = 'U' LOGIVEP = .TRUE. C GOTO 900 ENDIF C C Output user_reduced_gaussian C IF( CHEQUAL( HPARN, 1, 21, 'user_reduced_gaussian') ) THEN LFOUND = .TRUE. IF( NOREPR .NE. JPQUASI ) THEN LCHANGE = .TRUE. NOGRID(1) = 0 NOGRID(2) = 0 LNOGRID = .FALSE. ENDIF C (Ignore the call if the user_reduced_gaussian value = 0.) IF( INTV(1) .EQ. 0 ) GOTO 900 IF( NOGAUSS .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG,'INTOUT: user_reduced_gaussian = ',INTV(1)) NOGAUSS = INTV(1) LNOGAUS = .TRUE. IF( LNOROTA ) THEN NOREPR = JPQGGROT ELSE NOREPR = JPQUASI ENDIF LNOREPR = .TRUE. GOTO 900 ENDIF C C Output g_pnts. C IF( CHEQUAL( HPARN, 1, 6, 'g_pnts') ) THEN LFOUND = .TRUE. IF( NOGAUSS .LE. 0 ) THEN IRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTOUT: Impossible number of gaussian latitudes.',NOGAUSS) INTOUT = IRET GOTO 900 ENDIF C ILAST = NOGAUSS*2 + 1 DO ILOOP = 1, NOGAUSS NOLPTS(ILOOP) = INTV(ILOOP) ILAST = ILAST - 1 NOLPTS(ILAST) = INTV(ILOOP) ENDDO C NOPCNT = 0 DO ILOOP = 1, NOGAUSS*2 NOPCNT = NOPCNT + NOLPTS(ILOOP) ENDDO NOGAUSO = NOGAUSS HOGAUST = 'U' LOGIVEP = .TRUE. GOTO 900 ENDIF C C Output g_lats. C IF( CHEQUAL( HPARN, 1, 6, 'g_lats') ) THEN LFOUND = .TRUE. IF( NOGAUSS .LE. 0 ) THEN IRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTOUT: Impossible number of gaussian latitudes.',NOGAUSS) INTOUT = IRET GOTO 900 ENDIF C ILAST = NOGAUSS*2 + 1 DO ILOOP = 1, NOGAUSS ROGAUSS(ILOOP) = REALV(ILOOP) ILAST = ILAST - 1 ROGAUSS(ILAST) = -REALV(ILOOP) ENDDO C NOAREA(1) = INT( ROGAUSS(1) * PPMULT ) NOAREA(2) = 0 NOAREA(3) = INT( ROGAUSS(NOGAUSS*2) * PPMULT ) NOAREA(4) = JP360 - JP360/NOLPTS(NOGAUSS) NOGAUSO = NOGAUSS HOGAUST = 'U' LOGIVEL = .TRUE. GOTO 900 ENDIF C C Output rotation. C IF( CHEQUAL( HPARN, 1, 8, 'rotation') ) THEN LFOUND = .TRUE. C IF( CHEQUAL(CHARV,1,3,'off') ) THEN LNOROTA = .FALSE. NOROTA(1) = -99999999 NOROTA(2) = -99999999 IF( NOREPR.EQ.JPSPHROT ) NOREPR = JPSPHERE IF( NOREPR.EQ.JPREGROT ) NOREPR = JPREGULAR IF( NOREPR.EQ.JPQGGROT ) NOREPR = JPQUASI IF( NOREPR.EQ.JPFGGROT ) NOREPR = JPGAUSSIAN ELSE LNOROTA = .TRUE. CALL INTLOGR(JP_DEBUG, 'INTOUT: S.pole latitude = ',REALV(1)) CALL INTLOGR(JP_DEBUG, 'INTOUT: S.pole longitude = ',REALV(2)) DO I = 1, 2 ITEMP = INT( REALV(I)*PPMULT) IF( NOROTA(I) .NE. ITEMP ) LCHANGE = .TRUE. NOROTA(I) = ITEMP ENDDO IF( NOREPR.EQ.JPSPHERE ) NOREPR = JPSPHROT IF( NOREPR.EQ.JPREGULAR ) NOREPR = JPREGROT IF( NOREPR.EQ.JPQUASI ) NOREPR = JPQGGROT IF( NOREPR.EQ.JPGAUSSIAN ) NOREPR = JPFGGROT ENDIF GOTO 900 ENDIF C C Interpolation scheme to use for rotations C IF( CHEQUAL( HPARN, 1, 8, '12-point') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: 12-point = ' // CHARV ,JPQUIET) C IF( CHEQUAL(CHARV,1,3,'yes') ) THEN LO12PT = .TRUE. ELSE LO12PT = .FALSE. ENDIF GOTO 900 ENDIF C C Output user_reduced_latlon C IF( CHEQUAL( HPARN, 1, 19, 'user_reduced_latlon') ) THEN LFOUND = .TRUE. IF( NOREPR .NE. JPREDLL ) THEN LCHANGE = .TRUE. NOGRID(1) = 0 Cjdc NOGRID(2) = REALV(2) LNOGRID = .FALSE. ENDIF C (Ignore the call if the user_reduced_latlon value = 0.) IF( INTV(1) .EQ. 0 ) GOTO 900 IF( NOREDLL .NE. INTV(1) ) LCHANGE = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: user_reduced_latlon = ',INTV(1)) NOREDLL = INTV(1) LNOREDL = .TRUE. IF( LNOROTA ) THEN NOREPR = JPREDLROT ELSE NOREPR = JPREDLL ENDIF LNOREPR = .TRUE. GOTO 900 ENDIF C C Output set raduced_laltlon C IF( CHEQUAL( HPARN, 1, 10, 'red_latlon') ) THEN LFOUND = .TRUE. NOGRID(1) = 0 NOGRID(2) = REALV(2) IF( NOREPR .NE. JPREDLL ) THEN LCHANGE = .TRUE. LNOGRID = .FALSE. ENDIF C (Ignore the call if the user_reduced_latlon value = 0.) cs IF( INTV(1) .EQ. 0 ) GOTO 900 CALL INTLOG(JP_DEBUG, 'INTOUT: reduced_latlon ns = ',NOGRID(2)) cs NOREDLL = INTV(1) LNOREDL = .TRUE. IF( LNOROTA ) THEN NOREPR = JPREDLROT ELSE NOREPR = JPREDLL ENDIF LNOREPR = .TRUE. GOTO 900 ENDIF C C Output ll_pnts. C IF( CHEQUAL( HPARN, 1, 7, 'll_pnts') ) THEN LFOUND = .TRUE. IF( NOREDLL .LE. 0 ) THEN IRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTOUT: Impossible number of latitudes.',NOREDLL) INTOUT = IRET GOTO 900 ENDIF C ILAST = NOREDLL DO ILOOP = 1, NOREDLL NOLPTS(ILOOP) = INTV(ILOOP) ENDDO C NOPCNT = 0 DO ILOOP = 1, NOREDLL-1 NOPCNT = NOPCNT + NOLPTS(ILOOP) ENDDO LOGIVEP = .TRUE. GOTO 900 ENDIF C C Output ll_lats. C IF( CHEQUAL( HPARN, 1, 7, 'll_lats') ) THEN LFOUND = .TRUE. IF( NOREDLL .LE. 0 ) THEN IRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTOUT: Impossible number of latitudes.',NOREDLL) INTOUT = IRET GOTO 900 ENDIF C DO ILOOP = 1, NOREDLL ROREDLL(ILOOP) = REALV(ILOOP) ENDDO C NOAREA(1) = INT( ROREDLL(1) * PPMULT ) NOAREA(2) = 0 NOAREA(3) = INT( ROREDLL(NOREDLL) * PPMULT ) NOAREA(4) = JP360 - JP360/NOLPTS(NOREDLL/2) LOGIVEL = .TRUE. GOTO 900 ENDIF C C Reduced gaussian definition from file C IF( CHEQUAL( HPARN, 1, 15, 'gauss_from_file') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, X 'INTOUT: gauss_from_file = ' // CHARV ,JPQUIET) C C Open the input file C CALL PBOPEN(IFILE1, CHARV, 'R', IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTOUT: Unable to use gaussian definition file:',JPQUIET) CALL INTLOG(JP_ERROR,CHARV,JPQUIET) INTOUT = JPROUTINE + 1 GOTO 900 ENDIF C C Read gaussian number, then number of points at each latitude C CALL PBREAD(IFILE1, NOGAUSS, JPBYTES, IRET) IF( IRET.NE.JPBYTES ) THEN CALL INTLOG(JP_ERROR, X 'INTOUT: Problem reading gaussian no. from file:',JPQUIET) CALL PBCLOSE(IFILE1, IRET) INTOUT = JPROUTINE + 1 GOTO 900 ENDIF C IF( NOGAUSS .LE. 0 ) THEN IRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTOUT: Impossible number of gaussian latitudes.',NOGAUSS) INTOUT = IRET GOTO 900 ENDIF C CALL PBREAD(IFILE1, NOLPTS, JPBYTES*NOGAUSS, IRET) IF( IRET.NE.JPBYTES*NOGAUSS ) THEN CALL INTLOG(JP_ERROR, X 'INTOUT: Problem reading gaussian pts from file:',JPQUIET) CALL PBCLOSE(IFILE1, IRET) INTOUT = JPROUTINE + 1 GOTO 900 ENDIF C CALL PBCLOSE(IFILE1, IRET) C ILAST = NOGAUSS*2 + 1 DO ILOOP = 1, NOGAUSS ILAST = ILAST - 1 NOLPTS(ILAST) = NOLPTS(ILOOP) ENDDO C NOPCNT = 0 DO ILOOP = 1, NOGAUSS*2 NOPCNT = NOPCNT + NOLPTS(ILOOP) ENDDO NOGAUSO = NOGAUSS HOGAUST = 'U' LOGIVEP = .TRUE. LOGIVEL = .TRUE. C IRET = IGGLAT(NOGAUSS*2, ROGAUSS, 0, 1) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTOUT: Problem calculating gaussian latitudes',JPQUIET) INTOUT = JPROUTINE + 1 GOTO 900 ENDIF C IF( LNOROTA ) THEN NOREPR = JPQGGROT ELSE NOREPR = JPQUASI ENDIF LNOREPR = .TRUE. C GOTO 900 ENDIF C C Output grid creation style C IF( CHEQUAL( HPARN, 1, 5, 'style') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: style = ' // CHARV ,JPQUIET) IF( CHEQUAL( CHARV, 1, 13, 'dissemination') ) THEN ITEMP = JPSDISM ELSE ITEMP = JPSMARS ENDIF IF( NOSTYLE .NE. ITEMP ) LCHANGE = .TRUE. NOSTYLE = ITEMP LNOSTYLE = .TRUE. GOTO 900 ENDIF C C Output grid frame C IF( CHEQUAL( HPARN, 1, 5, 'frame') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: frame = ',INTV(1)) ITEMP = INTV(1) IF( NOFRAME .NE. ITEMP ) LCHANGE = .TRUE. NOFRAME = ITEMP LNOFRAME = (NOFRAME.GT.0) GOTO 900 ENDIF C C Output grid bitmap C IF( CHEQUAL( HPARN, 1, 6, 'bitmap') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: bitmap = ' // CHARV ,JPQUIET) ITEMP = JINDEX(CHARV) IF( ITEMP.LT.1 ) THEN CALL INTLOG(JP_WARN, X 'INTOUT: No bitmap filename given.',JPQUIET) INTOUT = JPROUTINE + 1 GOTO 900 ELSE IF( NOBITMP(1:ITEMP).NE.CHARV(1:ITEMP) ) LCHANGE = .TRUE. NOBITMP = ' ' NOBITMP(1:ITEMP) = CHARV(1:ITEMP) LNOBITMP = .TRUE. ENDIF GOTO 900 ENDIF C C Output gaussian grid specification C IF( CHEQUAL( HPARN, 1, 13, 'specification') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTOUT: specification = ', INTV(1)) IF( (INTV(1).NE.12).AND.(INTV(1).NE.18) ) THEN CALL INTLOG(JP_ERROR, X 'INTOUT: invalid value for specification = ',INTV(1)) INTOUT = JPROUTINE + 2 GOTO 900 ENDIF C IF( NGSPEC.NE.INTV(1) ) THEN LCHANGE = .TRUE. NGSPEC = INTV(1) LNGSPEC = .TRUE. ENDIF IF( LNOGAUS ) THEN CALL INTLOG(JP_DEBUG, X 'INTOUT: replace gaussian specification = ', NOGAUSS) CALL JGETGG( NOGAUSS, 'R', ROGAUSS, NOLPTS, IRET) IF( IRET .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTOUT: JGETGG fail for NOGAUSS = ',NOGAUSS) INTOUT = IRET GOTO 900 ENDIF NOGAUSO = NOGAUSS HOGAUST = 'R' C IF( .NOT.LNOAREA ) THEN CALL INTLOG(JP_DEBUG, X 'INTOUT: now replace output area definition',JPQUIET) NOAREA(1) = INT( ROGAUSS(1) * PPMULT ) NOAREA(2) = 0 NOAREA(3) = INT( ROGAUSS(NOGAUSS*2) * PPMULT ) NOAREA(4) = JP360 - JP360/NOLPTS(NOGAUSS) NOPCNT = 0 DO ILOOP = 1, NOGAUSS*2 NOPCNT = NOPCNT + NOLPTS(ILOOP) ENDDO GOTO 900 ENDIF ENDIF GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE IF( .NOT. LFOUND ) THEN CALL INTLOG(JP_ERROR, X 'INTOUT: Unknown keyword or option used:', JPQUIET) CALL INTLOG(JP_ERROR, HPARN, JPQUIET) INTOUT = JPROUTINE + 2 ENDIF C C Set flag to show function has been called LINTOUT = .TRUE. RETURN END emoslib-000392+dfsg.1/interpolation/iggrid.F0000755000175000017500000001646412127406245021737 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGGRID (KGTRUNC, KAREA, KLN, PGAUSS, KLONG, 1 KNWE, KLATG, KNNS, OWEGLOBE, KPR, KERR) C C----> C**** *IGGRID* C C PURPOSE C _______ C C Generate the arrays of latitude and longitude points for a C Gaussian truncation and area. C C INTERFACE C _________ C C IERR = IGGRID (KGTRUNC, KAREA, KLN, PGAUSS, KLONG, KNWE, KLATG, C 1 KNNS, OWEGLOBE, KPR, KERR) C C Input parameters C ________________ C C KGTRUNC - The Gaussian truncation. C C KAREA - The area definition (N, W, S, E) provided by the C calling routine. C C KLN - The Northern Gaussian latitude number for this area. C C PGAUSS - The full list of Gaussian latitudes for this C truncation. C C KNWE - The number of points in the West-East direction in C this field. C C KNNS - The number of points in the North-South direction C in this field. C C OWEGLOBE - This variable will be true if the array of C longitudes spans the globe and it is an input grid. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KLONG - The array of longitudes for this Gaussian C truncation and area. If OWEGLOBE is true the C West-East field array has element KNWE + 1 set C equal to element 1 to help with recognising where C an output grid "wraps around" the break in the C input grid. C C KLATG - The array of latitudes for this Gaussian C truncation and area. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C The arrays KLONG and KLATG are generated using the information C provided by the other parameters. Note that Gaussian latitudes C will be stored as NINT (PGAUSS * 1.0E4). C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments LOGICAL OWEGLOBE INTEGER KGTRUNC, KNWE, KNNS, KLN, KPR, KERR INTEGER KAREA (4) INTEGER KLONG (KNWE + 1), KLATG (KNNS) REAL PGAUSS (*) C C Local variables C INTEGER ILNSTR, IEAST, IWEST INTEGER JLONG, JLAT REAL*8 RWEST, RKKK, RLNSTR INTEGER JPROUTINE PARAMETER (JPROUTINE = 24800) C C Function externals C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGGRID: Section 1.',JPQUIET) C IGGRID = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IGGRID: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGGRID: Northern Gaussian line is ',KLN) CALL INTLOG(JP_DEBUG,'IGGRID: No.long.pts = ',KNWE) CALL INTLOG(JP_DEBUG,'IGGRID: No.lat. pts = ',KNNS) CALL INTLOG(JP_DEBUG,'IGGRID: Area North = ', KAREA(1)) CALL INTLOG(JP_DEBUG,'IGGRID: Area West = ', KAREA(2)) CALL INTLOG(JP_DEBUG,'IGGRID: Area South = ', KAREA(3)) CALL INTLOG(JP_DEBUG,'IGGRID: Area East = ', KAREA(4)) IF( OWEGLOBE ) THEN CALL INTLOG(JP_DEBUG, X 'IGGRID: Input W-E fld is global.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IGGRID: Input W-E fld is NOT global.',JPQUIET) ENDIF ENDIF C IF(KNWE.GT.0.AND.OWEGLOBE) THEN RLNSTR = (REAL(JP360)*10000.0) / REAL(KNWE) ELSE RLNSTR = (REAL(JP90)*10000.0) / REAL(KGTRUNC) ENDIF IEAST = KAREA(JPEAST) IWEST = KAREA(JPWEST) C C _______________________________________________________ C C* Section 2. Generate points around a line of latitude. C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGGRID: Section 2.',JPQUIET) C C Standardise range so that EAST > WEST C IF (IEAST .LT. IWEST ) THEN C IF (IEAST .LT. 0) THEN IEAST = IEAST + JP360 ELSE IWEST = IWEST - JP360 ENDIF C ENDIF C RWEST = REAL(IWEST)*10000.0 C C Generate points in standardised range (0, jp360) C DO 210 JLONG = 1, KNWE C RKKK = RWEST + RLNSTR * (JLONG - 1) KLONG (JLONG) = NINT(RKKK/10000.0) C IF (KLONG (JLONG) .LT. 0) KLONG(JLONG) = KLONG(JLONG) + JP360 C 210 CONTINUE C C Add first point to end of list if global C IF (OWEGLOBE) KLONG(KNWE + 1) = KLONG (1) C C _______________________________________________________ C C* Section 3. Generate points along a line of meridian C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGGRID: Section 3.',JPQUIET) C DO 320 JLAT = 1, KNNS C KLATG (JLAT) = NINT (PGAUSS (JLAT + KLN - 1) * PPMULT) C 320 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGGRID: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/hsp2gg2.F0000755000175000017500000001104012127406245021727 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HSP2GG2(KTRUNC,NS,EW,KGAUSS,KPTS,PLATS,KSIZE) C C----> C**** HSP2GG2 C C Purpose C ------- C C This routine finds a suitable gaussian grid for a given C spectral truncation. C C C Interface C --------- C C IRET = HSP2GG2(KTRUNC,KGAUSS,KPTS,KSIZE) C C C Input parameters C ---------------- C C KTRUNC - The spectral truncation C C C Output parameters C ----------------- C C KGAUSS - The gaussian number C KPTS - Array giving number of points along each line of latitude C in the reduced gaussian grid (both hemispheres) C PLATS - Array giving gaussian latitudes (both hemispheres) C KSIZE - The number of points in the reduced gaussian grid C C Returns 0 if all OK, otherwise there is an error. C C C Common block usage C ------------------ C C None C C C Method C ------ C C None C C C Externals C --------- C C JGETGG - Reads the definition of a gaussian grid C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C C Modifications C ------------- C C S.Curic ECMWF March 2005 C Added checking for a automatic trancation T255, T399, T799, T2047 C and corresponding gaussian grid. C C S.Curic ECMWF April 2008 C Added checking for a automatic trancation T1279 C and corresponding gaussian grid. C C C S.Curic ECMWF Semptember 2009 C Match T255 and T213 against N128 instead of N160 C upon Alan Geer request C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" C C Function arguments C INTEGER KTRUNC, KGAUSS, KPTS(*), KSIZE REAL NS, EW, STEP REAL PLATS(*) #include "jparams.h" C C Local variables C INTEGER LOOP, IRET LOGICAL LDEBUG C C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| STEP = MIN(ABS(NS),ABS(EW)) C 100 CONTINUE C HSP2GG2 = 0 c CALL JDEBUG() LDEBUG = ( NDBG.NE.0 ) C 2.5 and greater -> T63 C IF( STEP.GE.2.5 ) THEN KTRUNC = 63 KGAUSS = 48 GOTO 890 ENDIF C C 1.5 to 2.5 -> T106 C IF( STEP.GE.1.5 ) THEN KTRUNC = 106 KGAUSS = 80 GOTO 890 ENDIF C C 0.6 to 1.5 -> T213 C IF( STEP.GE.0.6 ) THEN KTRUNC = 213 KGAUSS = 128 GOTO 890 ENDIF C C 0.4 to 0.6 -> T319 C IF( STEP.GE.0.4 ) THEN KTRUNC = 319 KGAUSS = 160 GOTO 890 ENDIF C C 0.3 to 0.4 -> T511 C IF( STEP.GE.0.3 ) THEN KTRUNC = 511 KGAUSS = 256 GOTO 890 ENDIF C C 0.15 to 0.3 -> T799 C IF( STEP.GE.0.15 ) THEN KTRUNC = 799 KGAUSS = 400 GOTO 890 ENDIF C C 0.09 to 0.15 -> T1279 C IF( STEP.GE.0.09 ) THEN KTRUNC = 1279 KGAUSS = 640 GOTO 890 ENDIF c KTRUNC = 2047 KGAUSS = 1024 C C Get the reduced gaussian grid information and count the C number of points. C 890 CONTINUE CALL JGETGG(KGAUSS,'R',PLATS,KPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HSP2GG2: JGETGG failed to get gaussian data',JPQUIET) HSP2GG2 = 2 GOTO 900 ENDIF C KSIZE = 0 DO LOOP = 1, KGAUSS*2 KSIZE = KSIZE + KPTS(LOOP) ENDDO IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'HSP2GG2: Corresponding Spectral Truncation:',KTRUNC) CALL INTLOG(JP_DEBUG, X 'HSP2GG2: Corresponding Gaussian Number:',KGAUSS) ENDIF C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/grprs.h0000755000175000017500000000104312127406245021654 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C Common blocks holding default or user supplied values for printing. C LOGICAL GRPRSET INTEGER GRPRSM C COMMON /GRPRSCM/ GRPRSM, GRPRSET emoslib-000392+dfsg.1/interpolation/intisl.F0000755000175000017500000002152712127406245021770 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTISL(OLDLSM, OLDFLD, NEWLSM, NEWFLD) C C----> C**** INTISL C C Purpose C ------- C C Interpolate a field based on an old land-sea mask to a field C based on a different land-sea mask. C C C Interface C --------- C C IRET = INTISL(OLDLSM, OLDFLD, NEWLSM, NEWFLD) C C Input C ----- C C OLDLSM - Old land-sea mask in GRIB format C OLDFLD - Old field in GRIB format C NEWLSM - New land-sea mask in GRIB format C C C Output C ------ C C NEWFLD - New field in GRIB format C C Function returns: C - the size in bytes of the new GRIB product if all is well C - -1, otherwise. C C C Method C ------ C C Unpack input GRIBS. C Create new field and pack it into GRIB format. C C C Externals C --------- C C GRIBEX - Decode and encode GRIB products. C NEWISL - Interpolate old field to new using both land-sea masks. C JMALLOC - Dynamically allocate memory C INTLOG - Log messages C C C Author C ------ C C J.D.Chambers ECMWF August 2000 C C----< C IMPLICIT NONE C C Function arguments C INTEGER OLDLSM(*), OLDFLD(*), NEWLSM(*), NEWFLD(*) C #include "parim.h" #include "intisl.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JPINTB, JPREALB PARAMETER (JPINTB = 4) #ifdef REAL_8 PARAMETER (JPREALB = 8) #else PARAMETER (JPREALB = 8) #endif C C Local variables C INTEGER IXSEC4(512) INTEGER ILSEC0(2),ILSEC1(1024),ILSEC2(1024),ILSEC3(2),ILSEC4(512) INTEGER IFSEC0(2),IFSEC1(1024),IFSEC2(1024),IFSEC3(2),IFSEC4(512) INTEGER IMSEC0(2),IMSEC1(1024),IMSEC2(1024),IMSEC3(2),IMSEC4(512) INTEGER NFSEC0(2),NFSEC1(1024),NFSEC2(1024),NFSEC3(2),NFSEC4(512) INTEGER KLSEC4, KFSEC4, KMSEC4, KPSEC4, NEWTYPE #if (!defined __uxp__) && (!defined sgi) #ifdef POINTER_64 INTEGER*8 IZLSEC4, IZFSEC4, IZMSEC4, IPFSEC4 #else INTEGER IZLSEC4, IZFSEC4, IZMSEC4, IPFSEC4 #endif #endif C REAL ZDUMMY REAL ZLSEC2(1500), ZLSEC3(2), ZLSEC4(1) REAL ZFSEC2(1500), ZFSEC3(2), ZFSEC4(1) REAL ZMSEC2(1500), ZMSEC3(2), ZMSEC4(1) REAL PFSEC2(1500), PFSEC3(2), PFSEC4(1) C POINTER( IZLSEC4, ZLSEC4 ) POINTER( IZFSEC4, ZFSEC4 ) POINTER( IZMSEC4, ZMSEC4 ) POINTER( IPFSEC4, PFSEC4 ) C INTEGER IRET, ILENB, IPUNP, IWORD C C Externals C INTEGER NEWISL #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif EXTERNAL NEWISL, JMALLOC C DATA KLSEC4/0/, KFSEC4/0/, KMSEC4/0/, KPSEC4/0/ SAVE KLSEC4, KFSEC4, KMSEC4, KPSEC4 SAVE IZLSEC4, IZFSEC4, IZMSEC4, IPFSEC4 C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C INTISL = 0 C C -----------------------------------------------------------------| C* Section 2. Dynamically allocate memory for the old land-sea mask C values and old field values. C -----------------------------------------------------------------| C 200 CONTINUE C C Old land-sea mask C IRET = 1 IPUNP = 1 ILENB = NIPOGRS CALL GRIBEX (ILSEC0,ILSEC1,ILSEC2,ZLSEC2,ILSEC3,ZLSEC3,IXSEC4, X ZDUMMY,IPUNP,OLDLSM,ILENB,IWORD,'J',IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'INTISL: Old lsm gribex return code = ',IRET INTISL = -1 RETURN ENDIF C IF( KLSEC4.LT.(IXSEC4(1)*JPREALB) ) THEN IF( KLSEC4.NE.0 ) THEN CALL JFREE(IZLSEC4) CALL JFREE(IZFSEC4) ENDIF KLSEC4 = IXSEC4(1)*JPREALB KFSEC4 = KLSEC4 CALL INTLOG(JP_DEBUG,'INTISL: Allocate old memory = ',KLSEC4) IZLSEC4 = JMALLOC(KLSEC4) IZFSEC4 = JMALLOC(KFSEC4) #ifdef hpR64 IZLSEC4 = IZLSEC4/(1024*1024*1024*4) IZFSEC4 = IZFSEC4/(1024*1024*1024*4) #endif IF( (IZLSEC4.EQ.0).OR.(IZFSEC4.EQ.0) ) THEN CALL INTLOG(JP_ERROR,'INTISL: JMALLOC fail oldies',JPQUIET) INTISL = -1 GOTO 900 ENDIF ENDIF C IRET = 1 IPUNP = IXSEC4(1) ILENB = NIPOGRS CALL GRIBEX (ILSEC0,ILSEC1,ILSEC2,ZLSEC2,ILSEC3,ZLSEC3,ILSEC4, X ZLSEC4,IPUNP,OLDLSM,ILENB,IWORD,'D',IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'INTISL: Old lsm gribex return code = ',IRET INTISL = -1 RETURN ENDIF C C Old field C IRET = 1 IPUNP = IXSEC4(1) ILENB = NIPOGRS IF( LIMISSV ) THEN IFSEC3(2) = NINT(RMISSGV) ZFSEC3(2) = RMISSGV ENDIF CALL GRIBEX (IFSEC0,IFSEC1,IFSEC2,ZFSEC2,IFSEC3,ZFSEC3,IFSEC4, X ZFSEC4,IPUNP,OLDFLD,ILENB,IWORD,'D',IRET) IF( ((IRET.EQ.-2).OR.(IRET.EQ.-4)).AND. X (LIMISSV.EQV.(.FALSE.)) ) THEN WRITE(*,*) 'INTISL: Old field has a bitmap' WRITE(*,*) 'INTISL: A missing value must be specified' INTISL = -1 RETURN ELSE IF( IRET.GT.0 ) THEN WRITE(*,*) 'INTISL: Old field gribex return code = ',IRET INTISL = -1 RETURN ENDIF C C -----------------------------------------------------------------| C* Section 3. Dynamically allocate memory for the master land-sea C mask values and new field values. C -----------------------------------------------------------------| C 300 CONTINUE C C New land-sea mask C IRET = 1 IPUNP = 1 ILENB = NIPNGRS CALL GRIBEX (IMSEC0,IMSEC1,IMSEC2,ZMSEC2,IMSEC3,ZMSEC3,IXSEC4, X ZDUMMY,IPUNP,NEWLSM,ILENB,IWORD,'J',IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'INTISL: Master lsm gribex return code = ',IRET INTISL = -1 RETURN ENDIF C C Dynamically allocate memory for the master land-sea mask values C and new field values C IF( KMSEC4.LT.(IXSEC4(1)*JPREALB) ) THEN IF( KMSEC4.NE.0 ) THEN CALL JFREE(IZMSEC4) CALL JFREE(IPFSEC4) ENDIF KMSEC4 = IXSEC4(1)*JPREALB KPSEC4 = KMSEC4 CALL INTLOG(JP_DEBUG,'INTISL: Allocate new memory = ',KMSEC4) IZMSEC4 = JMALLOC(KMSEC4) IPFSEC4 = JMALLOC(KPSEC4) #ifdef hpR64 IZMSEC4 = IZMSEC4/(1024*1024*1024*4) IPFSEC4 = IPFSEC4/(1024*1024*1024*4) #endif IF( (IZMSEC4.EQ.0).OR.(IPFSEC4.EQ.0) ) THEN CALL INTLOG(JP_ERROR,'INTISL: JMALLOC fail newies',JPQUIET) INTISL = -1 GOTO 900 ENDIF ENDIF C IRET = 1 IPUNP = IXSEC4(1) ILENB = NIPNGRS CALL GRIBEX (IMSEC0,IMSEC1,IMSEC2,ZMSEC2,IMSEC3,ZMSEC3,IMSEC4, X ZMSEC4,IPUNP,NEWLSM,ILENB,IWORD,'D',IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'INTISL: Master lsm gribex return code = ',IRET INTISL = -1 RETURN ENDIF C C Requested field must match the new land-sea mask C NEWTYPE = NOREPR IF( NOREPR.EQ.JPQUASI ) NEWTYPE = JPGAUSSIAN IF( (NEWTYPE.NE.IMSEC2(1)).OR. X ((NOREPR.NE.JPQUASI).AND.(IMSEC2(17).NE.0)).OR. X ((NOREPR.EQ.JPQUASI).AND.(IMSEC2(17).NE.1)) ) THEN CALL INTLOG(JP_ERROR, X 'INTISL: Land-sea mask not suitable',JPQUIET) INTISL = -1 RETURN ENDIF C C -----------------------------------------------------------------| C* Section 4. Create new field and put in GRIB format C -----------------------------------------------------------------| C 400 CONTINUE C IRET = NEWISL(ILSEC2, IMSEC2, ZLSEC4, ZFSEC4, ZMSEC4, PFSEC4) IF( IRET.NE.0 ) THEN WRITE(*,*) 'INTISL: New field creation failed' INTISL = -1 RETURN ENDIF C IRET = 1 IPUNP = IXSEC4(1) ILENB = NIPNGRS C C There may be 'missing' values in the new field if the old field C has 'missing' values. C IF( IFSEC1(5).EQ.192 ) THEN IFSEC1(5) = 192 NFSEC3(1) = 0 NFSEC3(2) = INT(RMISSGV) PFSEC3(1) = 0.0 PFSEC3(2) = RMISSGV ENDIF C CALL GRIBEX (IFSEC0,IFSEC1,IMSEC2,ZMSEC2,NFSEC3,PFSEC3,IMSEC4, X PFSEC4,IPUNP,NEWFLD,ILENB,IWORD,'C',IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'INTISL: New field gribex return code = ',IRET INTISL = -1 RETURN ENDIF C INTISL = IWORD * JPINTB C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/krg2rgu.F0000755000175000017500000001057012127406245022045 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION KRG2RGU(OLDFLD, NEWFLD, NUMGGO, NUMGGN) C C----> C**** KRG2RGU C C Purpose C ------- C C Interpolate a field based on one reduced gaussian grid to a C field based on a different reduced gaussian grid. C C C Interface C --------- C C IRET = KRG2RGU(OLDFLD, NEWFLD, NUMGGO, NUMGGN) C C Input C ----- C C OLDFLD - Old field as array of values C NUMGGO - Number of the old gaussian field C NUMGGN - Number of the new gaussian field C C C Output C ------ C C NEWFLD - New field as array of values C C Function returns: C - the size in bytes of the new GRIB product if all is well C - -1, otherwise. C C C Method C ------ C C Create new field and leave it unpacked. C C C Externals C --------- C C KINTRG - Interpolate reduced gaussian field to reduced gaussian C JMALLOC - Dynamically allocate memory C INTLOG - Log messages C C C Author C ------ C C J.D.Chambers ECMWF February 2002 C C----< C IMPLICIT NONE C C Function arguments C INTEGER NUMGGO, NUMGGN REAL OLDFLD(*), NEWFLD(*) C #include "parim.h" #include "intisl.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Parameters C INTEGER JPINTB, JPREALB, JPMAXNG INTEGER JSEC2 PARAMETER (JSEC2 = 5000) #ifdef INTEGER_8 PARAMETER (JPINTB = 8) #else PARAMETER (JPINTB = 4) #endif PARAMETER (JPMAXNG=4000) #ifdef REAL_8 PARAMETER (JPREALB = 8) #else PARAMETER (JPREALB = 8) #endif C C Local variables C INTEGER OLDGEO(JSEC2), NEWGEO(JSEC2) INTEGER LOOP C REAL PLAT(JPMAXNG) REAL PFSEC3(2) C INTEGER IRET C C Externals C INTEGER KINTRG EXTERNAL KINTRG C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C KRG2RGU = 0 C IF( (NUMGGN*2).GT.JPMAXNG ) THEN CALL INTLOG(JP_ERROR,'KRG2RGU: Gaussian N too big = ',NUMGGN) CALL INTLOG(JP_ERROR,'KRG2RGU: Maximum handled = ',(JPMAXNG/2)) KRG2RGU = -1 GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 2. Create new field. C -----------------------------------------------------------------| C 200 CONTINUE C DO LOOP = 1, JPMAXNG OLDGEO(LOOP) = 0 ENDDO CALL JGETGG( NUMGGO, 'R', PLAT, OLDGEO(23), IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KRG2RGU: Problem calling JGETGG, status = ',IRET KRG2RGU = -1 RETURN ENDIF C OLDGEO(3) = NUMGGO * 2 OLDGEO(4) = NINT(PLAT(1)*1000.0) OLDGEO(5) = 0 OLDGEO(7) = NINT(PLAT(NUMGGO*2)*1000.0) OLDGEO(8) = NINT((360.0-(360.0/REAL(NUMGGO*4)))*1000.0) OLDGEO(10) = NUMGGO C DO LOOP = 1, JPMAXNG NEWGEO(LOOP) = 0 ENDDO CALL JGETGG( NUMGGN, 'R', PLAT, NEWGEO(23), IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KRG2RGU: Problem calling JGETGG, status = ',IRET KRG2RGU = -1 RETURN ENDIF NEWGEO(3) = NUMGGN * 2 NEWGEO(4) = NINT(PLAT(1)*1000.0) NEWGEO(5) = 0 NEWGEO(7) = NINT(PLAT(NUMGGN*2)*1000.0) NEWGEO(8) = NINT((360.0-(360.0/REAL(NUMGGN*4)))*1000.0) NEWGEO(10) = NUMGGN C IRET = KINTRG(OLDGEO, NEWGEO, OLDFLD, NEWFLD) C IF( IRET.LE.0 ) THEN WRITE(*,*) 'KRG2RGU: New field creation failed' KRG2RGU = -1 RETURN ENDIF c sinisa for merging with grib_api NONS = 2*NOGAUSS NOAAPI(1) = NOAREA(1) NOAAPI(2) = NOAREA(2) NOAAPI(3) = NOAREA(3) NOAAPI(4) = NOAREA(4) C cs KRG2RGU = IRET * JPINTB cs this is the outlen KRG2RGU = IRET C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/intuvy.F0000755000175000017500000000605212127406245022020 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTUVY( PVIN, PDIN, INLEN, X PUOUT, PVOUT, OUTLEN) C C----> C**** INTUVY C C Purpose C ------- C C Convert GRIB format input vorticity and divergence field to C unpacked U and V fields. C C C Interface C --------- C C IRET = INTUVY( PVIN, PDIN, INLEN, PUOUT,PVOUT,OUTLEN) C C Input C ----- C C KVIN - Input vorticity field (spectral). C KDIN - Input divergence field (spectral). C INLEN - Input field length (words). C C C Output C ------ C C KUOUT - Output U field C KVOUT - Output V field C OUTLEN - Output field length (words). C C C Method C ------ C C Convert spectral vorticity/divergence to spectral U/V without C subsequent interpolation. C C Note that a common block is used in intf.h to hold the U/V C fields before interpolation. C C Externals C --------- C C INTUVU - Now does all the work! C INTLOG - Log error message. C C C Author C ------ C C S.Curic ECMWF Dec 2006 C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C C Function arguments C INTEGER INLEN, OUTLEN REAL PVIN(INLEN), PDIN(INLEN), PUOUT(*), PVOUT(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 26900 ) C C Local variables C INTEGER IHOLD1, IHOLD2, IHOLD3 LOGICAL LHOLD4 C C Externals C INTEGER INTUVU C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C C -----------------------------------------------------------------| C* Section 2. Unpack the vorticity/divergence fields. C -----------------------------------------------------------------| C 200 CONTINUE C C Ensure output representation says 'spectral, no rotation' C IHOLD1 = NOREPR NOREPR = JPSPHERE IHOLD2 = NOROTA(1) IHOLD3 = NOROTA(2) NOROTA(1) = -9000000 NOROTA(2) = 0.0 LHOLD4 = LNOROTA LNOROTA = .FALSE. C INTUVY = X INTUVU(PVIN,PDIN,INLEN,PUOUT,PVOUT,OUTLEN) C C Restore output representation C NOREPR = IHOLD1 NOROTA(1) = IHOLD2 NOROTA(2) = IHOLD3 LNOROTA = LHOLD4 C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/sources.CRAY0000755000175000017500000001002312127406245022507 0ustar amckinstryamckinstryHEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fixarea.F \ freecf.F \ zprec.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ mkbitmp.F \ makerl.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F # SOURCES.c = \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jindex.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/jmakll.F0000755000175000017500000001414512127406245021736 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMAKLL( KUNIT, KTRUNC, PINTVL, PLAT, PLEG, KRET) C C----> C**** JMAKLL C C PURPOSE C _______ C C This routine creates legendre functions for latitude rows upto C the given latitude in a 'non-standard truncation/interval' file. C C INTERFACE C _________ C C CALL JMAKLL( KUNIT, KTRUNC, PINTVL, PLAT, PLEG, KRET) C C Input parameters C ________________ C C KUNIT - Unit number for open file of legendre functions. C KTRUNC - Truncation. C PINTVL - Grid interval (degrees) C PLAT - Latitude in degrees. C C Output parameters C ________________ C C PLEG - Array of legendre functions for the latitude. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C Determine which functions already exist for the latitude rows C in the file, skip to the end and create necessary extra functions C and add to the file. C C Externals C _________ C C PBSEEK - Position the coefficients file C PBWRITE - Write the coefficients file C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C Reference C _________ C C None. C C Comments C ________ C C Only positive latitude values are allowed. C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Dec 1993 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30500 ) C C Subroutine arguments INTEGER KUNIT, KTRUNC, KRET REAL PLEG, PINTVL, PLAT DIMENSION PLEG(*) C C Local variables C c INTEGER*8 NEWPOS, NSIZE, NRET INTEGER NEWPOS, NSIZE, NRET INTEGER NROWCT, NBYTES REAL ZLATEST, ZLATIT, ZLAT, ALAT, PIBY2, DEG2RAD INTEGER NEXT, FIRST, LAST C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C IF( NDBG.GT.1 ) THEN CALL INTLOG(JP_DEBUG,'JMAKLL: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JMAKLL: Unit number for leg.funcs file =', KUNIT) CALL INTLOG(JP_DEBUG,'JMAKLL: Truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JMAKLL: Grid interval (degrees) = ', PINTVL) CALL INTLOGR(JP_DEBUG, X 'JMAKLL: Latitude in degrees = ', PLAT) ENDIF C IF( PLAT.LT.0.0 ) THEN ZLAT = 0.0 ELSE ZLAT = PLAT ENDIF C C Calculate the byte offset into the file where the legendre C functions for the latitude should be. C #ifdef REAL_8 NSIZE = 8 * (KTRUNC+1)*(KTRUNC+4)/2 #else NSIZE = 4 * (KTRUNC+1)*(KTRUNC+4)/2 #endif NEWPOS = NINT( (90.0 - ZLAT)/PINTVL ) * NSIZE C C Find the current file length C CALL PBSEEK( KUNIT, 0, 2, NRET) IF( NRET.LT.0 ) THEN CALL INTLOG(JP_ERROR,'JMAKLL: PBSEEK error',NRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF C C Use the length to determine how many rows have already been C put into the file C NROWCT = NRET/NSIZE ZLATEST = 90.0 - REAL(NROWCT) * PINTVL C IF( NDBG .GT.1 ) THEN CALL INTLOG(JP_DEBUG,'JMAKLL: File length on open = ', NRET) CALL INTLOG(JP_DEBUG, X 'JMAKLL: Number of rows already in file = ', NROWCT) CALL INTLOGR(JP_DEBUG, X 'JMAKLL: Next latitude to go in file = ', ZLATEST) ENDIF C C _______________________________________________________ C C* Section 2. Processing. C _______________________________________________________ C C Loop through latitudes not in the file yet C #ifdef REAL_8 NBYTES = (KTRUNC+1)*(KTRUNC+4)/2 * 8 #else NBYTES = (KTRUNC+1)*(KTRUNC+4)/2 * 4 #endif C IF( NDBG.GT.1 ) X CALL INTLOG(JP_DEBUG,'JMAKLL: No. of bytes per row = ', NBYTES) C PIBY2 = PPI / 2.0 DEG2RAD = PPI / 180.0 C FIRST = NINT(ZLATEST/PINTVL) LAST = NINT(ZLAT/PINTVL) DO NEXT = FIRST, LAST, -1 ALAT = (NEXT*PINTVL) * DEG2RAD C IF( NDBG.GT.1 ) CALL INTLOGR(JP_DEBUG, X 'JMAKLL: Next latitude constructed = ', (NEXT*PINTVL)) C CALL JSPLEG1( PLEG, ALAT, KTRUNC) CALL PBWRITE( KUNIT, PLEG, NBYTES, NRET) IF( NRET.LT.NSIZE ) THEN CALL INTLOG(JP_ERROR,'JMAKLL: PBWRITE error.', NRET) CALL INTLOG(JP_ERROR,'JMAKLL: bytes required = ', NSIZE) KRET = JPROUTINE + 3 GOTO 990 ENDIF ENDDO C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/sources.decmips0000755000175000017500000001013412127406245023400 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F\ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/intfau.F0000755000175000017500000001763612127406245021762 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTFAU(FLDIN,INLEN) C C----> C**** INTFAU C C Purpose C ------- C C Prepare to interpolate input field... C C C Interface C --------- C C IRET = INTFAU( FLDIN,INLEN) C C Input C ----- C C FLDIN - Input field (unpacked). C INLEN - Input field length (words). C C C Output C ------ C C Field unpacked values are in ZNFELDI. C C C Method C ------ C C Unpack field if GRIB. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF Jan 1995 C C----< C IMPLICIT NONE C C Function arguments C INTEGER INLEN REAL FLDIN(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 26300 ) INTEGER JPLEN, JPNM PARAMETER ( JPNM = JPSTRUNC ) PARAMETER ( JPLEN = (JPNM+1)*(JPNM+2) ) C C Local variables C REAL POLELAT, POLELON CHARACTER*1 TYPE INTEGER NUMPTS, NGAUSS INTEGER ISIZE, NBYTES, ITRUNC DATA ISIZE/0/ C REAL SWORK DIMENSION SWORK(1) #ifdef POINTER_64 INTEGER*8 ISWORK #endif POINTER ( ISWORK, SWORK) C REAL*8 DWORK DIMENSION DWORK(1) #ifdef POINTER_64 INTEGER*8 IDWORK #endif POINTER ( IDWORK, DWORK ) C REAL*8 DATA DIMENSION DATA(1) #ifdef POINTER_64 INTEGER*8 IDATA #endif POINTER ( IDATA, DATA) C SAVE ISIZE, ISWORK, IDWORK, IDATA C REAL*8 DLON, DLAT LOGICAL LOK #ifdef CRAY DATA NBYTES/8/ #else DATA NBYTES/4/ #endif C C Externals INTEGER GGROTAT #ifdef __uxp__ LOGICAL JACOBIF EXTERNAL JACOBIF #else LOGICAL JACOBI EXTERNAL JACOBI #endif INTEGER IRET INTEGER LOOP C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE INTFAU = 0 IRET = 0 C C ------------------------------------------------------------------ C* Section 2. Decode data from the GRIB code C ------------------------------------------------------------------ C 200 CONTINUE C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_WARN,'INTFAU: ZNFELDI allocate fail',JPQUIET) INTFAU = IRET GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C Move unpacked values in from user array DO 210 LOOP = 1, INLEN ZNFELDI( LOOP ) = FLDIN( LOOP ) 210 CONTINUE C C ------------------------------------------------------------------ C* Section 3. Handle spectral rotation, if necessary. C ------------------------------------------------------------------ C 300 CONTINUE C C Is the interpolation from SH with a rotation of the SH first? C IF( ((NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT)) .AND. X LNOROTA ) THEN C C Avoid rotating U or V spectral coefficients C IF( (NIPARAM.EQ.131).OR.(NIPARAM.EQ.132) ) THEN CALL INTLOG(JP_ERROR, X 'INTFAU: Unable to rotate spectral U or V:',NIPARAM) INTFAU = JPROUTINE + 6 GOTO 900 ENDIF C C Dynamically allocate memory for workspace. C C (Note the multiplication by 2 for REAL*8). C NUMPTS = INLEN ISIZE = NUMPTS*2 CALL JMEMHAN( 11, IDWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFAU: memory allocation fail',IDWORK) INTFAU = JPROUTINE + 1 GOTO 900 ENDIF C C (Note the multiplication by 2 for REAL*8). C ISIZE = JPLEN*2 CALL JMEMHAN( 15, IDATA, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFAU: memory allocation fail',IDATA) INTFAU = JPROUTINE + 2 GOTO 900 ENDIF C CALL INTLOG(JP_DEBUG,'INTFAU: Rotate SH field.',JPQUIET) CALL INTLOG(JP_DEBUG,'INTFAU: South pole latitude ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'INTFAU: South pole longitude ',NOROTA(2)) IF ( NOREPR.EQ.JPSPHERE ) NOREPR = JPSPHROT IF ( NOREPR.EQ.JPREGULAR ) NOREPR = JPREGROT ITRUNC = NIRESO #if (defined CRAY) || (defined REAL_8) DLAT = -90.0 - REAL(NOROTA(1))/JPMULT DLON = - REAL(NOROTA(2))/JPMULT C C Rotate the spectral field by longitude. CALL RPHI( ZNFELDI, ITRUNC, DWORK, DLON) C C Rotate the spectral field by latitude. #if (!defined __uxp__) LOK = JACOBI( ZNFELDI, ITRUNC, DWORK, DLAT) #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) #endif #else DLAT = -90.0 - DBLE(NOROTA(1))/JPMULT DLON = - DBLE(NOROTA(2))/JPMULT C C Expand spectral coefficients to REAL*8 C DO LOOP = 1, NUMPTS DATA(LOOP) = DBLE(ZNFELDI(LOOP)) ENDDO C C Rotate the spectral field by longitude. CALL RPHI( DATA, ITRUNC, DWORK, DLON) C C Rotate the spectral field by latitude. C #if (!defined __uxp__) LOK = JACOBI( DATA, ITRUNC, DWORK, DLAT) #else LOK = JACOBIF( DATA, ITRUNC, DWORK, DLAT) #endif #endif IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR,'INTFAU: Spectral rotation fail',JPQUIET) INTFAU = JPROUTINE + 3 GOTO 900 ENDIF #if (!defined CRAY) && (!defined REAL_8) C C Repack spectral coefficients to REAL*4. C DO LOOP = 1, NUMPTS ZNFELDI(LOOP) = SNGL(DATA(LOOP)) ENDDO #endif C ENDIF C C ------------------------------------------------------------------ C* Section 4. Handle gaussian rotation, if necessary. C ------------------------------------------------------------------ C 400 CONTINUE C C Is the interpolation from gaussian with a rotation of the C gaussian first? C IF( ((NIREPR.EQ.JPGAUSSIAN).OR.(NIREPR.EQ.JPQUASI)) .AND. X LNOROTA ) THEN C CALL INTLOG(JP_DEBUG,'INTFAU: Rotate gaussian field.',JPQUIET) CALL INTLOG(JP_DEBUG,'INTFAU: South pole latitude ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'INTFAU: South pole longitude ',NOROTA(2)) IF ( NOREPR.EQ.JPGAUSSIAN ) NOREPR = JPFGGROT IF ( NOREPR.EQ.JPQUASI ) NOREPR = JPQGGROT C C Dynamically allocate memory for workspace. C NUMPTS = INLEN ISIZE = NUMPTS CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFAU: memory allocation fail',ISWORK) INTFAU = JPROUTINE + 4 GOTO 900 ENDIF C C Rotate the gaussian field. C POLELAT = REAL(NOROTA(1))/JPMULT POLELON = REAL(NOROTA(2))/JPMULT NGAUSS = NIGAUSS IF( NIREPR.EQ.JPGAUSSIAN ) THEN TYPE = 'F' ELSE TYPE = 'R' ENDIF IRET = GGROTAT(ZNFELDI,SWORK,NUMPTS,POLELAT,POLELON,TYPE,NGAUSS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFAU: Gaussian rotation fail',JPQUIET) INTFAU = JPROUTINE + 5 GOTO 900 ENDIF C C Move rotated field back into field original array. C DO LOOP = 1, NUMPTS ZNFELDI(LOOP) = SWORK(LOOP) ENDDO OUTLROT = NUMPTS C ENDIF C C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Clear change flags for next product processing C RETURN END emoslib-000392+dfsg.1/interpolation/chequal.F0000755000175000017500000000326712127406245022111 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION CHEQUAL( HIN, KFIRST, KLAST, HCOMP) C C----> C**** CHEQUAL C C Purpose C ------- C C Compare two ASCII character strings without regard to case. C C C Interface C --------- C C Input C ----- C C HIN - First string C KFIRST- position of first character in string for comparison C KLAST - position of last character in string for comparison C HCOMP - Second string C C C Method C ------ C C Compare values as uppercase letters. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 1995. C C----< C IMPLICIT NONE C C Function arguments C CHARACTER*(*) HIN, HCOMP INTEGER KFIRST, KLAST, LOOP, ITEMP1, ITEMP2, ITEMPA #ifdef rs6000 ITEMPA = ICHAR( 'a' ) #else DATA ITEMPA/97/ C | C v C ITEMPA = ICHAR( 'a' ) #endif CHEQUAL = .FALSE. IF( KFIRST .GT. KLAST ) RETURN DO 110 LOOP = KFIRST, KLAST ITEMP1 = ICHAR( HIN(LOOP:LOOP) ) IF ( ITEMP1 .LT. ITEMPA ) ITEMP1 = ITEMP1 + 32 ITEMP2 = ICHAR( HCOMP(LOOP:LOOP) ) IF ( ITEMP2 .LT. ITEMPA) ITEMP2 = ITEMP2 + 32 IF ( ITEMP1 .NE. ITEMP2 ) RETURN 110 CONTINUE CHEQUAL = .TRUE. RETURN END emoslib-000392+dfsg.1/interpolation/igglat.F0000755000175000017500000001464212127406245021735 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGGLAT(KLAT, PGAUSS, KPR, KERR) C C----> C**** *IGGLAT* C C PURPOSE C _______ C C Compute Gaussian lines of latitude for a given truncation. C C C INTERFACE C _________ C C IERR = IGGLAT(KLAT, PGAUSS, KPR, KERR) C C C Input parameters C ________________ C C KLAT - The number of lines of latitude from pole to pole. C C KPR - Debug print switch: C 0, No debugging output. C 1, Produce debugging output. C C KERR - Error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C C Output parameters C ________________ C C PGAUSS - The Gaussian lines of latitude for truncation KLAT/2 C C C Return value C ____________ C C 0 - OK C 24701 - The calculation of Gaussian lines of latitude failed. C C C Common block usage C __________________ C C None C C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C IGBESS - This routine is used to generate initial C approximations to the Gaussian latitudes. C C C METHOD C ______ C C IGBESS is used to provide zeros of the Bessel function J0, C which are used as starting approximations to the Gaussian C latitudes. Newton iteration is used to generate the latitudes C from these approximations. C C Calculated latitudes are stored internally and reused if a C later call asks for the same calculation. C C C REFERENCE C _________ C C None C C C COMMENTS C ________ C C This routine is adapted from that in the old Marsint library. C The interface and the variable names have been modified. C C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C C MODIFICATIONS C _____________ C C J.Chambers ECMWF Aug 1998 C Add reuse of calculated latitudes. C C----< C ------------------------------------------------------- C* Section 0. Definition of variables. C ------------------------------------------------------- C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Function arguments C INTEGER KLAT, KPR, KERR REAL PGAUSS (*) C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 24700) C ------------------------------------------------------- C The convergence criteria is machine dependent C ------------------------------------------------------- C REAL PACRCY #ifdef REAL_8 PARAMETER (PACRCY = 1.0E-14) #else PARAMETER (PACRCY = 1.0E-7) #endif C C Local variables C LOGICAL LDEBUG INTEGER ITRUNC, IERR INTEGER JLAT, JITER, JLN, LOOP, JOLDLAT REAL ZRADDEG, ZCON, ZLAT, ZROOT REAL ZKM1, ZKM2, ZLN, ZFUNC, ZDERIV, ZMOVE REAL ROLDGS DIMENSION ROLDGS(JPGTRUNC*2) C SAVE JOLDLAT, ROLDGS C C Externals C INTEGER IGBESS C C ------------------------------------------------------- C* Section 1. Set constants and get initial approximation. C ------------------------------------------------------- C 100 CONTINUE C IGGLAT = 0 LDEBUG = ( KPR.GE.1 ) C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'IGGLAT: Section 1.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'IGGLAT: No.lines lat from pole to pole = ',KLAT) ENDIF C C Using previously calculated values if truncation is the same. C IF( KLAT.EQ.JOLDLAT ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'IGGLAT: Using previously calculated values',JPQUIET) DO LOOP = 1, KLAT PGAUSS(LOOP) = ROLDGS(LOOP) ENDDO GOTO 900 ENDIF C JOLDLAT = KLAT C ZRADDEG = 180.0/PPI C ZCON = (PPONE - (PPTWO / PPI) ** 2) * PPQUART C ZLAT = KLAT ITRUNC = KLAT/2 C IERR = IGBESS(ITRUNC, PGAUSS, KPR, KERR) C IF( IERR.GT.0 ) THEN IGGLAT = IERR GOTO 900 ENDIF C C ------------------------------------------------------- C* Section 2. Compute abscissae C ------------------------------------------------------- C 200 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IGGLAT: Section 2.',JPQUIET) C DO 240 JLAT = 1, ITRUNC C C First approximation for ZROOT C ZROOT = COS(PGAUSS(JLAT) / SQRT( (ZLAT+PPHALF)**2 + ZCON) ) C C Perform loop of Newton iterations C DO 220 JITER = 1, JPMAXITER C ZKM2 = PPONE ZKM1 = ZROOT C C Compute Legendre polynomial C DO 210 JLN = 2, KLAT C ZLN = JLN C ZFUNC = ( (PPTWO * ZLN - PPONE) * ZROOT * ZKM1 - 1 (ZLN - PPONE) * ZKM2) / ZLN C ZKM2 = ZKM1 ZKM1 = ZFUNC C 210 CONTINUE C C Perform Newton iteration C ZDERIV = (ZLAT * (ZKM2 - ZROOT * ZFUNC) ) / 1 (PPONE - ZROOT ** 2) C ZMOVE = ZFUNC / ZDERIV ZROOT = ZROOT - ZMOVE C C Leave iteration loop when sufficient accuracy achieved. C IF( ABS(ZMOVE).LE.PACRCY ) GOTO 230 C 220 CONTINUE C C Routine fails if no convergence after JPMAXITER iterations. C IGGLAT = JPROUTINE + 1 C IF( KERR.GE.0 ) CALL INTLOG(JP_ERROR, X 'IGGLAT: Calculation of Gaussian lats failed.',JPQUIET) C IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IGGLAT: interpolation failed.',IGGLAT) C GOTO 900 C 230 CONTINUE C C* Set North and South values using symmetry. C PGAUSS(JLAT) = ASIN(ZROOT) * ZRADDEG PGAUSS(KLAT + 1 - JLAT) = - PGAUSS(JLAT) C 240 CONTINUE C IF( KLAT.NE.(ITRUNC*2) ) PGAUSS(ITRUNC + 1) = PPZERO C C Store calculated values for re-use C DO LOOP = 1, KLAT ROLDGS(LOOP) = PGAUSS(LOOP) ENDDO C C ------------------------------------------------------- C* Section 9. Return to calling routine. C ------------------------------------------------------- C 900 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IGGLAT: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/knfrom4.F0000755000175000017500000001125712127406245022045 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL FUNCTION KNFROM4(LVEGGY,RLAT,RLON,OLAT,OLON,PT,OLDFLD) C C----> C**** KNFROM4 C C Purpose C ------- C C Generates a new field point from its four nearest neighbours. C C C Interface C --------- C C VALUE = KNFROM4(RLAT,RLON,OLAT,OLON,PT,OLDFLD) C C Input C ----- C C LVEGGY - 'True' if 'nearest neighbour' processing required C RLAT - Latitude of the new point C RLON - Longitude of the new point C OLAT - Latitudes of the four neighbouring points C OLON - Longitudes of the four neighbouring points C PT - Positions in old field array of the four neighbours C OLDFLD - Array of old field values C C C Output C ------ C C Function returns a value for the new field point. C C C Method C ------ C C Uses neighbours to calculate a value by bi-linear interpolation. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF November 2000 C C----< C IMPLICIT NONE C C Function arguments C LOGICAL LVEGGY REAL RLAT,RLON,OLAT(2),OLON(4),OLDFLD(*) INTEGER PT(4) C #include "intisl.h" #include "parim.h" #include "nifld.common" C C Local variables C INTEGER COUNT, LOOP, NEAREST REAL WEIGHT(4), NWEIGHT, SWEIGHT, NORMAL C C Externals C C C Statement function C REAL A, B LOGICAL NOTEQ NOTEQ(A,B) = (ABS((A)-(B)).GT.(ABS(A)*1E-3)) C C -----------------------------------------------------------------| C* Section 1. Calculate weighting values for each neighbour C -----------------------------------------------------------------| C 100 CONTINUE C C Calculate the north/south weighting values allowing for C southern latitude to be same as northern latitude C NWEIGHT = OLAT(NORTH) - RLAT SWEIGHT = RLAT - OLAT(SOUTH) IF( SWEIGHT.EQ.0.0 ) NWEIGHT = 1.0 C C Calculate the weighting values for each matching neighbour C WEIGHT(NWEST) = ABS((OLON(SEAST) - RLON) * SWEIGHT) WEIGHT(NEAST) = ABS((RLON - OLON(SWEST)) * SWEIGHT) WEIGHT(SWEST) = ABS((OLON(NEAST) - RLON) * NWEIGHT) WEIGHT(SEAST) = ABS((RLON - OLON(NWEST)) * NWEIGHT) C C Normalise the weights C NORMAL = ( WEIGHT(NWEST) + WEIGHT(NEAST) + X WEIGHT(SWEST) + WEIGHT(SEAST) ) C WEIGHT(NWEST) = WEIGHT(NWEST)/NORMAL WEIGHT(NEAST) = WEIGHT(NEAST)/NORMAL WEIGHT(SWEST) = WEIGHT(SWEST)/NORMAL WEIGHT(SEAST) = WEIGHT(SEAST)/NORMAL C C -----------------------------------------------------------------| C* Section 3. Interpolate C -----------------------------------------------------------------| C 300 CONTINUE C C Use nearest neighbour for vegetation field C IF( LVEGGY ) THEN NEAREST = NWEST IF( WEIGHT(NEAST).GT.WEIGHT(NEAREST) ) NEAREST = NEAST IF( WEIGHT(SWEST).GT.WEIGHT(NEAREST) ) NEAREST = SWEST IF( WEIGHT(SEAST).GT.WEIGHT(NEAREST) ) NEAREST = SEAST KNFROM4 = OLDFLD(PT(NEAREST)) C ELSE C C Count non-missing data values C COUNT = 0 IF( NOTEQ(OLDFLD(PT(NWEST)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLDFLD(PT(NEAST)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLDFLD(PT(SWEST)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLDFLD(PT(SEAST)),RMISSGV) ) COUNT = COUNT + 1 C C Interpolate using four neighbours if none are missing C IF( COUNT.EQ.4 ) THEN KNFROM4 = ( (OLDFLD(PT(NWEST)) * WEIGHT(NWEST)) + X (OLDFLD(PT(NEAST)) * WEIGHT(NEAST)) + X (OLDFLD(PT(SWEST)) * WEIGHT(SWEST)) + X (OLDFLD(PT(SEAST)) * WEIGHT(SEAST)) ) C C Set missing if all neighbours are missing C ELSE IF( COUNT.EQ.0 ) THEN KNFROM4 = RMISSGV C C Otherwise, use the nearest neighbour C ELSE NEAREST = NWEST IF( WEIGHT(NEAST).GT.WEIGHT(NEAREST) ) NEAREST = NEAST IF( WEIGHT(SWEST).GT.WEIGHT(NEAREST) ) NEAREST = SWEST IF( WEIGHT(SEAST).GT.WEIGHT(NEAREST) ) NEAREST = SEAST KNFROM4 = OLDFLD(PT(NEAREST)) ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/intf.F0000755000175000017500000003145012127406245021422 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTF( INGRIB,INLEN,FLDIN,OUTGRIB,OUTLEN,FLDOUT) C C----> C**** INTF C C Purpose C ------- C C Interpolate input field... C C C Interface C --------- C C IRET = INTF( INGRIB,INLEN,FLDIN,OUTGRIB,OUTLEN,FLDOUT) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C FLDIN - Input field (unpacked). C C C Output C ------ C C OUTGRIB - Output field (packed). C OUTLEN - Output field length (words). C FLDOUT - Output field (unpacked). C C C Method C ------ C C Call interpolation routines. C C C Externals C --------- C C IBASINI - Ensure basic interpolation setup is done. C INSANE - Ensure no outrageous values given for interpolation. C PDDEFS - Setup interpolation using parameter dependent options. C PRECIP - Says if field is to have 'precipitation' treatment C INTFAU - Prepare to interpolate unpacked input field. C INTFAP - Prepare to interpolate packed input field. C HNTFAU - Prepare to interpolate unpacked input field (using C Hirlam 12-point for rotations). C HNTFAP - Prepare to interpolate packed input field (using C Hirlam 12-point for rotations). C INTFB - Interpolate input field. C INTLOG - Log error message. C JDEBUG - Checks environment to switch on/off debug C INTWAVE - Interpolate quasi-regular lat/long wave field C to a regular lat/long field. C OCEANP - Interpolate GRIB ocean field. C RESET_C - Reset interpolation handling options using GRIB product. C C C Author C ------ C C J.D.Chambers ECMWF Aug 1994 C C----< C IMPLICIT NONE C C Function arguments C INTEGER INGRIB(*),OUTGRIB(*),INLEN,OUTLEN REAL FLDIN(*),FLDOUT(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" #include "current.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 26000 ) C C Local variables C INTEGER IWORD, IRET, IORIGLN, ISAME INTEGER LOOP, IIHOLD, IOHOLD DIMENSION IIHOLD(4), IOHOLD(4) INTEGER NUMTABL, NUMPROD LOGICAL L98WAVE, LUNROT LOGICAL LIQUASI CHARACTER*6 YFLAG INTEGER IOS INTEGER LENMED, ISIZE C C Externals C INTEGER IBASINI, PDDEFS, INSANE INTEGER INTFAU, INTFAP, INTFB, HNTFAU, HNTFAP INTEGER INTWAVE2,INTWAVE,INTWAVU, OCEANP, OCEANU, RESET_C INTEGER FIXAREA LOGICAL PRECIP #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C INTF = 0 IRET = 0 IORIGLN = OUTLEN NOMISS = 0 LUNROT = .FALSE. OUTLROT = 0 C C Save input and output area definitions C DO 110 LOOP = 1, 4 IIHOLD(LOOP) = NIAREA(LOOP) IOHOLD(LOOP) = NOAREA(LOOP) 110 CONTINUE C C Check if debug option turned on C CALL JDEBUG() C C If the input is a set of U and V rotated lat/long fields, C set return length to zero and do not copy input to output C IF( (NIREPR.EQ.JPREGULAR).AND.LWIND.AND.LNOROTA ) THEN OUTLEN = 0 IRET = 0 CALL INTLOG(JP_DEBUG, X 'INTF: Input U and V rotated lat/long fields ...',JPQUIET) CALL INTLOG(JP_DEBUG, X 'INTF: ... no further interpolation has been done',JPQUIET) GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 2. Prepare to interpolate input field. C -----------------------------------------------------------------| C 200 CONTINUE C C Ensure that basic initialisation has been done C IRET = IBASINI(0) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTF: basic initialisation fail.',JPQUIET) INTF = IRET GOTO 900 ENDIF C C Allocate work array ZNFELDI if not already done. C LACCUR = .FALSE. IF( NIFORM.EQ.1 ) THEN IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_WARN,'INTF: ZNFELDI allocation fail',JPQUIET) INTF = IRET GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C Unpack the field headers for packed input. C CALL INTLOG(JP_DEBUG, 'INTF: Unpack GRIB headers.',JPQUIET) IRET = 1 IWORD = 0 CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X ZNFELDI, JPEXPAND, INGRIB, INLEN, IWORD, 'J',IRET) C IF( (IRET.NE.0).AND.(IRET.NE.811) ) THEN CALL INTLOG(JP_ERROR, X 'INTF: Failed to unpack GRIB heders.',JPQUIET) INTF = IRET GOTO 900 ENDIF C C Reset interpolation handling options using GRIB values. C IRET = RESET_C( ISEC1, ISEC2, ZSEC2, ISEC4) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_WARN, X 'INTF: Setup of interp. options from GRIB failed',JPQUIET) INTF = IRET GOTO 900 ENDIF C end of NIFORM = 1 LACCUR = .TRUE. ENDIF C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC cs Regular Gaussian has to be set here for unpacked fields IF( NIFORM.NE.1 ) THEN cs this is for merging with grib_api LUVCOMP = .FALSE. IF( NOREPR.EQ.JPNOTYPE ) THEN IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'F') ) THEN CALL JGETGG( NOGAUSS, 'F', ROGAUSS, NOLPTS, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTF: JGETGG failed, NOGAUSS = ',NOGAUSS) INTF = IRET GOTO 900 ENDIF NOGAUSO = NOGAUSS HOGAUST = 'F' ENDIF NOREPR = JPGAUSSIAN ENDIF ENDIF CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C Check that no outrageous values given for interpolation C ISAME = INSANE() IF ( ISAME .GT. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTF: Interpolation cannot use given values.',JPQUIET) INTF = ISAME GOTO 900 ENDIF Cs setting of out Date NODATE = NIDATE C C If output is same as the input, set return length to zero and C do not copy input to output C IF( ISAME.EQ.-1 ) THEN OUTLEN = 0 IRET = 0 CALL INTLOG(JP_DEBUG, X 'INTF: Output is same as the input.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'INTF: No interpolation carried out.',JPQUIET) GOTO 900 ENDIF C C Set precipitation flag if user hasn't C IF( .NOT.LPRECSET ) LPREC = PRECIP() C C Handle packed fields C C C -----------------------------------------------------------------| C* Section 3. Use special interpolation for: C - an ECMWF wave field. C - a reduced latitude-longitude field C -----------------------------------------------------------------| C 300 CONTINUE C NUMTABL = NITABLE NUMPROD = NUMTABL*1000 + NIPARAM L98WAVE = (NUMTABL.EQ.140).OR. X (NUMPROD.EQ.131229).OR. X (NUMPROD.EQ.131232).OR. X (NIREPR.EQ.26) IF( L98WAVE ) THEN CALL INTLOG(JP_DEBUG, X 'INTF: Wave-type interpolation required.',JPQUIET) C OUTLEN = IORIGLN IF( NIFORM.EQ.1 ) THEN IRET = INTWAVE2(INGRIB,INLEN,OUTGRIB,OUTLEN) cs IRET = INTWAVE(INGRIB,INLEN,OUTGRIB,OUTLEN) ELSE IRET = INTWAVU(FLDIN,INLEN,FLDOUT,OUTLEN) ENDIF IF( IRET.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, X 'INTF: Wave-type interpolated OK.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'INTF: Wave-type interpolation failed.',JPQUIET) ENDIF INTF = IRET GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 4. Use special interpolation for an ECMWF ocean field. C -----------------------------------------------------------------| C 400 CONTINUE C IF( ((ISEC1(24).EQ.1).AND.(ISEC1(37).EQ.4)).OR.LOCEAN ) THEN C CALL INTLOG(JP_DEBUG, X 'INTF: Ocean field interpolation required.',JPQUIET) C OUTLEN = IORIGLN IF( NIFORM.EQ.1 ) THEN IRET = OCEANP(INGRIB,INLEN,OUTGRIB,OUTLEN) ELSE IRET = OCEANU(FLDIN,INLEN,FLDOUT,OUTLEN) ENDIF IF( IRET.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, X 'INTF: Ocean field interpolated OK.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'INTF: Ocean field interpolation failed.',JPQUIET) ENDIF INTF = IRET GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 7. Continue interpolation setup in other cases. C -----------------------------------------------------------------| C 500 CONTINUE IF( NIFORM.EQ.1 ) THEN C C Unpack (and rotate) field if necessary C IF( LUSEHIR ) THEN IRET = HNTFAP(INGRIB,INLEN) ELSE IRET = INTFAP(INGRIB,INLEN) ENDIF C C If a bitmap encountered with some missing values (IRET=-4), C product cannot be interpolated unless 'missingvalue' C specified via INTIN C IF( .NOT.LIMISSV ) THEN IF( (IRET.NE.0).AND.(IRET.NE.-2) ) THEN IF( IRET.EQ.-4 ) THEN CALL INTLOG(JP_WARN, X 'INTF: Product has bitmap and missing data.',JPQUIET) CALL INTLOG(JP_WARN, X 'INTF: Try Using INTIN "missingvalue" option',JPQUIET) ENDIF INTF = -4 GOTO 900 ENDIF ELSE IF( IRET.GT.0 ) THEN CALL INTLOG(JP_WARN, X 'INTF: Problems preparing for interpolation.',JPQUIET) INTF = IRET GOTO 900 ENDIF ENDIF C C Handle unpacked fields C ELSE LUNROT = .TRUE. IF( LUSEHIR ) THEN IRET = HNTFAU(FLDIN,INLEN) ELSE IRET = INTFAU(FLDIN,INLEN) ENDIF ENDIF C IF( (IRET.NE.0).AND.(IRET.NE.-2) ) THEN CALL INTLOG(JP_WARN,'INTF: Prepare interpolate fail',JPQUIET) INTF = IRET GOTO 900 ENDIF C C Field values are now in ZNFELDI. C C Setup output length same as input GRIB length in case straight C copy is done later (ie input is transferred direct to output C without postprocessing). C OUTLEN = INLEN C C Setup interpolation options based on parameter in field. C IRET = PDDEFS() IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTF: Setup interpolation options from param failed',JPQUIET) INTF = IRET GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 8. Interpolate input field. C -----------------------------------------------------------------| C 700 CONTINUE C C If all values missing, set flag to ensure all are missing in the C interpolated field. C IF( ISEC4(1).LT.0 ) NOMISS = ISEC4(1) C C Perform the interpolation. C CALL INTLOG(JP_DEBUG,'INTF: Perform the interpolation.',JPQUIET) C OUTLEN = IORIGLN IF( NIFORM.EQ.1 ) THEN IRET = INTFB( INGRIB,INLEN,OUTGRIB,OUTLEN,FLDOUT) ELSE IRET = INTFB( ZNFELDI,INLEN,OUTGRIB,OUTLEN,FLDOUT) ENDIF C IF( LUNROT.AND.LNOROTA ) THEN OUTLEN = OUTLROT ENDIF C IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTF: Interpolation failed.',JPQUIET) INTF = IRET GOTO 900 ELSE C CALL INTLOG(JP_DEBUG, X 'INTF: Interpolation finished successfully.',JPQUIET) ENDIF C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C C Restore input and output area definitions C DO 910 LOOP = 1, 4 NIAREA(LOOP) = IIHOLD(LOOP) NOAAPI(LOOP) = NOAREA(LOOP) NOAREA(LOOP) = IOHOLD(LOOP) 910 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jfindir.F0000755000175000017500000000411212127406245022102 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION JFINDIR( ENVNAME, DIRNAME) C C----> C**** JFINDIR C C Purpose C _______ C C This routine finds the directory specified by an environment C variable. C C Interface C _________ C C LFOUND = JFINDIR( ENVNAME, DIRNAME) C C Input parameters C ________________ C C ENVNAME - The environment variable. C C Output parameters C _________________ C C DIRNAME - The directory name (if found). C C The function returns .TRUE. if the environment variable gives C a directory name; otherwise it returns .FALSE. C C Common block usage C __________________ C C None. C C Externals C _________ C C Reference C _________ C C GETENV - to read the envirment variable. C C Comments C ________ C C None. C C Author C ______ C C J.D.Chambers *ECMWF* Mar 1996 C C----< C _______________________________________________________ C IMPLICIT NONE C C Parameters Cjdc INTEGER JPROUTINE Cjdc PARAMETER ( JPROUTINE = 30800 ) C C Subroutine arguments CHARACTER*(*) ENVNAME, DIRNAME C C Local variables INTEGER IBLANK C C _______________________________________________________ C C* Section 1. Try the environment variable. C _______________________________________________________ C 100 CONTINUE C JFINDIR = .TRUE. C CALL GETENV(ENVNAME, DIRNAME) C C See if a name was returned. IBLANK = INDEX(DIRNAME, ' ') IF ( IBLANK.LE.1 ) JFINDIR = .FALSE. C C _______________________________________________________ C C* Section 9. Return. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/irsize.F0000755000175000017500000002540012127406245021765 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRSIZE (KGTRUNC, KAREA, KLLEN, KNWE, KNNS, KLN, 1 KTOTAL, PGAUSS, OWEGLOBE, ONPOLE, OSPOLE, KPR, KERR) C C----> C**** *IRSIZE* C C PURPOSE C _______ C C Evaluate the array sizes for a quasi regular Gaussian field. C C INTERFACE C _________ C C IERR = IRSIZE (KGTRUNC, KAREA, KLLEN, KNWE, KNNS, KLN, C 1 KTOTAL, PGAUSS, OWEGLOBE, ONPOLE, OSPOLE, KPR, KERR) C C Input parameters C ________________ C C KGTRUNC - The Gaussian truncation. C C KAREA - The field area definition (N, W, S, E) provided by C the calling routine. C C KLLEN - This array contains the quasi regular Gaussian C line length definition. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KNWE - The maximum number of points in the West-East C direction for this quasi regular Gaussian grid. C C KNNS - The number of points in the North-South direction C in the field. C C KLN - The Northern Gaussian latitude number for this C area. C C KTOTAL - The total field length for this quasi regular C Gaussian grid and area. C C PGAUSS - The full list of Gaussian latitudes for this C truncation. C C OWEGLOBE - This variable will be true if the array of C longitudes spans the globe. C C ONPOLE - This variable will be true if the North polar line C of latitude is included in the grid. C C OSPOLE - This variable will be true if the South polar line C of latitude is included in the grid. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 23801 A non-global area was requested and this option is not C supported yet. C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C IGGLAT - Compute Gaussian lines of latitude for a given C truncation. C INTLOG(R) - Logs messages. C C METHOD C ______ C C C A global definition is generated for the quasi regular field C and all three flag variable are set TRUE. C C A REAL array of the full set of Gaussian latitudes is generated C for the Gaussian truncation requested. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 4 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments LOGICAL OWEGLOBE, ONPOLE, OSPOLE INTEGER KGTRUNC, KNWE, KNNS, KLN, KTOTAL, KPR, KERR INTEGER KAREA (4), KLLEN (*) REAL PGAUSS (*) C C Local variables LOGICAL GZERO INTEGER IGAUSS, ILATNUM, ILS, INDIST, ISDIST, IERR INTEGER JLAT INTEGER JPROUTINE PARAMETER (JPROUTINE = 23800) C C Function externals C INTEGER IGGLAT C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRSIZE: Section 1.',JPQUIET) C IRSIZE = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRSIZE: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'IRSIZE: Gaussian truncation = ',KGTRUNC) IF (KNNS .NE. 0) CALL INTLOG(JP_DEBUG, X 'IRSIZE: No.lat. pts = ',KNNS) C CALL INTLOG(JP_DEBUG,'IRSIZE: Area North = ', KAREA(1)) CALL INTLOG(JP_DEBUG,'IRSIZE: Area West = ', KAREA(2)) CALL INTLOG(JP_DEBUG,'IRSIZE: Area South = ', KAREA(3)) CALL INTLOG(JP_DEBUG,'IRSIZE: Area East = ', KAREA(4)) ENDIF C GZERO = .FALSE. C ILATNUM = KGTRUNC * 2 C C _______________________________________________________ C C* Section 2. If all elements of KAREA are zero generate C a global field C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRSIZE: Section 2.',JPQUIET) C Cxxx IF (KAREA (JPEAST) .NE. 0 .OR. KAREA (JPWEST) .NE. 0) THEN C Cxxx IRSIZE = JPROUTINE + 1 Cxxx IF (KERR .GE. 0) WRITE (*, 9001) IRSIZE, Cxxx 1 REAL (KAREA (JPNORTH) ) / PPMULT, Cxxx 2 REAL (KAREA (JPWEST) ) / PPMULT, Cxxx 3 REAL (KAREA (JPSOUTH) ) / PPMULT, Cxxx 4 REAL (KAREA (JPEAST) ) / PPMULT Cxxx IF (KERR .EQ. 0) CALL ABORTX ('IRSIZE') Cxxx GO TO 900 Cxxx ENDIF C OWEGLOBE = .TRUE. C C _______________________________________________________ C C* Section 3. Generate points along a line of meridian C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRSIZE: Section 3.',JPQUIET) C C Generate full Gaussian latitudes for this truncation C IERR = IGGLAT (ILATNUM, PGAUSS, KPR, KERR) C IF (IERR .GT. 0) THEN IRSIZE = IERR GO TO 900 ENDIF C C Find Gaussian lines corresponding to North and South points C provided C KLN = 1 ILS = ILATNUM C IF (KNNS .EQ. 0) THEN C C Number of lines not set (output field) C KLN = 0 ILS = ILATNUM C DO 310 JLAT = 2, ILATNUM C IGAUSS = NINT (PGAUSS (JLAT) * PPMULT) C IF (KLN .EQ. 0 .AND. KAREA (JPNORTH) .GT. IGAUSS) THEN KLN = JLAT - 1 KAREA (JPNORTH) = NINT (PGAUSS (KLN) * PPMULT) ENDIF C IF (ILS.EQ.ILATNUM .AND. KAREA(JPSOUTH).GE.IGAUSS) THEN ILS = JLAT KAREA (JPSOUTH) = NINT (PGAUSS (ILS) * PPMULT) ENDIF C 310 CONTINUE C KNNS = ILS - KLN + 1 C ELSE C C Number of lines set (input field) C JLAT = 1 KLN = JLAT ILS = JLAT C INDIST = ABS (NINT (PGAUSS (JLAT) * PPMULT) - KAREA (JPNORTH) ) ISDIST = ABS (NINT (PGAUSS (JLAT) * PPMULT) - KAREA (JPSOUTH) ) C DO 320 JLAT = 2, ILATNUM C IF (ABS (NINT (PGAUSS (JLAT) * PPMULT) - KAREA (JPNORTH) ) 1 .LT. INDIST) THEN C KLN = JLAT INDIST = ABS(NINT(PGAUSS (JLAT) * PPMULT) - KAREA(JPNORTH)) C ENDIF C IF (ABS (NINT (PGAUSS (JLAT) * PPMULT) - KAREA (JPSOUTH) ) 1 .LT. ISDIST) THEN C ILS = JLAT ISDIST = ABS(NINT(PGAUSS(JLAT) * PPMULT) - KAREA(JPSOUTH)) C ENDIF C 320 CONTINUE C IF (KNNS .NE. ILS - KLN + 1) THEN IRSIZE = JPROUTINE + 2 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IRSIZE: No. lines specified = ',KNNS) CALL INTLOG(JP_ERROR, X 'IRSIZE: Gaussian N limit = ',KLN) CALL INTLOG(JP_ERROR, X 'IRSIZE: Gaussian S limit = ',ILS) ENDIF C IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IGLSIZE: Interpolation failed.',IRSIZE) GO TO 900 ENDIF C ENDIF C ONPOLE = KLN .EQ. 1 OSPOLE = ILS .EQ. ILATNUM C KNNS = ILS - KLN + 1 C KAREA (JPNORTH) = NINT (PGAUSS (KLN) * PPMULT) KAREA (JPSOUTH) = NINT (PGAUSS (ILS) * PPMULT) C C _______________________________________________________ C C* Section 4. Use line lengths to set maximum length and total C _______________________________________________________ C 400 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRSIZE: Section 4.',JPQUIET) C KNWE = KLLEN (KGTRUNC) C KTOTAL = 0 C DO 410 JLAT = KLN, ILS C KTOTAL = KTOTAL + KLLEN (JLAT) C 410 CONTINUE C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRSIZE: Output parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRSIZE: Max W-E line len = ',KNWE) CALL INTLOG(JP_DEBUG,'IRSIZE: No lat lines = ',KNNS) CALL INTLOG(JP_DEBUG,'IRSIZE: Total no.pts = ',KTOTAL) CALL INTLOG(JP_DEBUG,'IGLSIZE: Northern line no. =',KLN) CALL INTLOG(JP_DEBUG,'IGLSIZE: Southern line no. =',ILS) C IF( OWEGLOBE ) THEN CALL INTLOG(JP_DEBUG,'IGLSIZE: W-E fld is global',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGLSIZE: W-E fld is NOT global',JPQUIET) ENDIF C IF( ONPOLE ) THEN CALL INTLOG(JP_DEBUG,'IGLSIZE: N pole is in fld.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGLSIZE: N pole is NOT in fld.',JPQUIET) ENDIF C IF( OSPOLE ) THEN CALL INTLOG(JP_DEBUG,'IGLSIZE: S pole is in fld.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGLSIZE: S pole is NOT in fld.',JPQUIET) ENDIF C ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRSIZE: Section 9.',JPQUIET) C C9001 FORMAT (' IRSIZE ERROR', I6, ' - One of the area limits is ', C 1 'non-zero.' / 22X, 'They are', 4F10.4) C RETURN END emoslib-000392+dfsg.1/interpolation/ggintrp.F0000755000175000017500000002066212127406245022137 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GGINTRP(NEWFLD,NEXT,INROW,OLAT,OLON,NGAUSS,TYPE,FIELD) C C----> C**** GGINTRP C C PURPOSE C _______ C C Finds values at the points of a row by interpolation within a C gaussian field. C C INTERFACE C _________ C C CALL GGINTRP(NEWFLD,NEXT,INROW,OLAT,OLON,NGAUSS,TYPE,FIELD) C C C Input parameters C ________________ C C NEWFLD - The field of values being created C NEXT - Start offset of the latitude row being created C INROW - The number of points in the latitude row C OLAT - Latitude of target point C OLON - Longitude of target point C FIELD - Original gaussian field C NGAUSS - Gaussian field number C TYPE - Original unrotated gaussian field type C = 'F' for full (regular) gaussian field C = 'R' for reduced (quasi) gaussian field C C Output parameters C ________________ C C NEWFLD(NEXT) to NEWFLD(NEXT+INROW-1) contains the latitude row C values. C C C METHOD C ______ C C Uses distance weighted values of 4 neighbouring points unless C within small distance of one of the neighbours, in which case C the value at that point is used. C C C EXTERNALS C _________ C C JGETGG - Gets gaussian grid definition. C JMKOFGG - Builds offsets to start of each latitude row in the C gaussian grid. C JNORSGG - Find nearest north/south latitude in the gaussian grid. C INTLOG - Logs output messages C C C REFERENCE C _________ C C None. C C C COMMENTS C ________ C C Some loops have been split and simplified to help with C vectorisation on VPP. C C C AUTHOR C ______ C C J.D.Chambers ECMWF April 1996 C C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPFACTR, JPMAXGG PARAMETER( JPFACTR = 10000 ) PARAMETER( JPMAXGG = 4096 ) REAL JPEPS PARAMETER( JPEPS = 1E-2) C C Function arguments C REAL NEWFLD, OLAT, OLON, FIELD DIMENSION NEWFLD(*), OLAT(*), OLON(*), FIELD(*) INTEGER NEXT, INROW, NGAUSS CHARACTER*1 TYPE C C Local variables C INTEGER LOOP, IVALUE INTEGER NORTH, SOUTH, IWESTN, IWESTS, IEASTN, IEASTS REAL NSTEP, SSTEP DIMENSION NORTH(JPMAXGG), SOUTH(JPMAXGG) DIMENSION IWESTN(JPMAXGG), IWESTS(JPMAXGG) DIMENSION IEASTN(JPMAXGG), IEASTS(JPMAXGG) DIMENSION NSTEP(JPMAXGG), SSTEP(JPMAXGG) REAL DNORTH, DSOUTH, DWESTN, DWESTS, DEASTN, DEASTS DIMENSION DNORTH(JPMAXGG), DSOUTH(JPMAXGG) DIMENSION DWESTN(JPMAXGG), DWESTS(JPMAXGG) DIMENSION DEASTN(JPMAXGG), DEASTS(JPMAXGG) REAL GLATS(JPMAXGG/2) INTEGER NGPTS(JPMAXGG/2) INTEGER KOFSET(JPMAXGG/2) INTEGER KRET, OLDGAUS DATA OLDGAUS/0/ CHARACTER*1 OLDTYPE DATA OLDTYPE/' '/ SAVE OLDGAUS, OLDTYPE, GLATS, NGPTS, KOFSET #ifdef __uxp__ REAL ONW, ONE, OSW, OSE DIMENSION ONW(JPMAXGG), ONE(JPMAXGG), OSW(JPMAXGG), OSE(JPMAXGG) #endif C C Externals C INTEGER JNORSGG EXTERNAL JNORSGG #ifndef __uxp__ C C Statement function C INTEGER X, Y REAL OFIELD OFIELD(X,Y) = FIELD(KOFSET(X)+Y) #endif C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C C Get gaussian grid definition (first time only) C IF ( (OLDGAUS.NE.NGAUSS).OR.(OLDTYPE.NE.TYPE) ) THEN C CALL INTLOG(JP_DEBUG, X 'GGINTRP: Get gaussian grid type:',JPQUIET) CALL INTLOG(JP_DEBUG,TYPE,JPQUIET) CALL INTLOG(JP_DEBUG, 'GGINTRP: grid number:',NGAUSS) C CALL JGETGG(NGAUSS,TYPE,GLATS,NGPTS,KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'GGINTRP: Failed to get gaussian grid definition:',JPQUIET) CALL INTLOG(JP_ERROR, 'GGINTRP: grid type:',JPQUIET) CALL INTLOG(JP_ERROR, TYPE,JPQUIET) CALL INTLOG(JP_ERROR, 'GGINTRP: grid number:',NGAUSS) STOP ENDIF C C Build array of offsets in field to start of each latitude line C CALL INTLOG(JP_DEBUG,'GGINTRP: Build row offsets',JPQUIET) IF( TYPE.EQ.'R') THEN CALL JMKOFGG(TYPE,1,NGAUSS*2,0.0,360.0,NGAUSS,NGPTS,KOFSET) ELSE CALL JMKOFGG(TYPE,1,NGAUSS*2,0.0,(360.0-(90.0/NGAUSS)), X NGAUSS,NGPTS,KOFSET) ENDIF OLDGAUS = NGAUSS OLDTYPE = TYPE ENDIF C C _______________________________________________________ C C* Section 2. Find latitudes of grid lines to north and south of C the points and calculate grid interval along lines. C _______________________________________________________ C 200 CONTINUE C DO LOOP = 1, INROW NORTH(LOOP) = JNORSGG( OLAT(LOOP), GLATS, NGAUSS, 1) ENDDO C DO LOOP = 1, INROW SOUTH(LOOP) = MIN( NORTH(LOOP)+1, NGAUSS*2) DNORTH(LOOP) = ABS(GLATS(NORTH(LOOP)) - OLAT(LOOP)) ENDDO C DO LOOP = 1, INROW DSOUTH(LOOP) = 1.0 - DNORTH(LOOP) NSTEP(LOOP) = 360.0/FLOAT(NGPTS(NORTH(LOOP))) SSTEP(LOOP) = 360.0/FLOAT(NGPTS(SOUTH(LOOP))) ENDDO C C _______________________________________________________ C C* Section 3. Find neighbouring points. C _______________________________________________________ C 300 CONTINUE C DO LOOP = 1, INROW C C Calculate normalised distance west and east to neighbouring C points on lines to north and south of the point C IWESTN(LOOP) = INT(OLON(LOOP)/NSTEP(LOOP)) IWESTS(LOOP) = INT(OLON(LOOP)/SSTEP(LOOP)) IEASTN(LOOP) = IWESTN(LOOP) + 1 IEASTS(LOOP) = IWESTS(LOOP) + 1 C DWESTN(LOOP) = X ABS((OLON(LOOP) - FLOAT(IWESTN(LOOP))*NSTEP(LOOP))/NSTEP(LOOP)) DEASTN(LOOP) = 1.0 - DWESTN(LOOP) C DWESTS(LOOP) = X ABS((OLON(LOOP) - FLOAT(IWESTS(LOOP))*SSTEP(LOOP))/SSTEP(LOOP)) DEASTS(LOOP) = 1.0 - DWESTS(LOOP) C C Adjust west and east for longitude wrap-around C IVALUE=NGPTS(NORTH(LOOP)) IF( IEASTN(LOOP).GE.IVALUE) THEN IEASTN(LOOP) = IEASTN(LOOP) - IVALUE IF( IWESTN(LOOP).GE.IVALUE) IWESTN(LOOP) = IWESTN(LOOP)-IVALUE ENDIF C IVALUE=NGPTS(SOUTH(LOOP)) IF( IEASTS(LOOP).GE.IVALUE) THEN IEASTS(LOOP) = IEASTS(LOOP) - IVALUE IF( IWESTS(LOOP).GE.IVALUE) IWESTS(LOOP) = IWESTS(LOOP)-IVALUE ENDIF C ENDDO C C _______________________________________________________ C C* Section 4. Interpolate using neighbouring points. C _______________________________________________________ C 400 CONTINUE C C Use bi-linear interpolation from four neighbouring points. C #ifdef __uxp__ DO LOOP = 1, INROW ONW(LOOP) = X FIELD(KOFSET(NORTH(LOOP))+IWESTN(LOOP)) * DEASTN(LOOP) ONE(LOOP) = X FIELD(KOFSET(NORTH(LOOP))+IEASTN(LOOP)) * DWESTN(LOOP) OSW(LOOP) = X FIELD(KOFSET(SOUTH(LOOP))+IWESTS(LOOP)) * DEASTS(LOOP) OSE(LOOP) = X FIELD(KOFSET(SOUTH(LOOP))+IEASTS(LOOP)) * DWESTS(LOOP) C ENDDO C DO LOOP = 1, INROW NEWFLD(NEXT+LOOP-1) = X (ONW(LOOP) + ONE(LOOP)) * DSOUTH(LOOP) + X (OSW(LOOP) + OSE(LOOP)) * DNORTH(LOOP) ENDDO #else DO LOOP = 1, INROW NEWFLD(NEXT+LOOP-1) = X ( ( OFIELD(NORTH(LOOP),IWESTN(LOOP)) * DEASTN(LOOP) + X OFIELD(NORTH(LOOP),IEASTN(LOOP)) * DWESTN(LOOP) ) X * DSOUTH(LOOP) + X ( OFIELD(SOUTH(LOOP),IWESTS(LOOP)) * DEASTS(LOOP) + X OFIELD(SOUTH(LOOP),IEASTS(LOOP)) * DWESTS(LOOP) ) X * DNORTH(LOOP) ) ENDDO #endif C C _______________________________________________________ C C* Section 9. Closedown. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jchmod.c0000755000175000017500000000264712127406245021771 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #include #include "fortint.h" /* // FORTRAN callable chmod: // // INTEGER FUNCTION JCHMOD (NAME, MODE) // CHARACTER*(*) NAME, MODE // // The normal returned value is 0. Any other value will be a system error // number. // */ fortint jchmod_(char * filename, char * char_mode, long l1, long l2) { mode_t mode = 0; int i, status = 0; char * name; if( (*char_mode) == '0' ) { for( i = 0; i < l2; i++) mode = (mode*8) + (*(char_mode+i)-'0'); } else { for( i = 0; i < l2; i++) mode = (mode*10) + (*(char_mode+i)-'0'); } name = (char*) malloc(l1+1); for( i = 0; i < l1; i++) name[i] = filename[i]; name[l1] = '\0'; status = chmod(name, mode); if( status ) { perror("JCHMOD error"); exit(1); } free(name); return (fortint) status; } fortint jchmod(char * filename, char * char_mode, long l1, long l2) { return jchmod_(filename,char_mode,l1,l2); } emoslib-000392+dfsg.1/interpolation/jacobi.F0000755000175000017500000005160512127406245021715 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION JACOBI(DATA,NM,W,SLAT) C C----> C**** JACOBI C C Purpose C ------- C C Rotates spectral fields by latitude. C C C Interface C --------- C C IRET = JACOBI(DATA,NM,W,SLAT) C C Input C ----- C C NM - Triangular truncation number of the field. C DATA - Linear array of REAL*8s of size (NM+1)*(NM+2) C holding the field. C W - Work array of REAL*8s of size (NM+1)*(NM+2). C SLAT - Rotation angle (degrees, REAL*8) C (degrees, negative => rotate counter-clockwise about the C new Z-axis). C C C Output C ------ C C DATA - The transformed field. C C Function returns .FALSE. if data cannot be transformed. C C C Method C ------ C C See reference paper below. C C A file of rotation coefficients is opened corresponding to C the triangular truncation NM and the rotation angle SLAT: C C $PP_ROT_DIR/rot_coefs_Tttt_nnnnnnnnn C (or $SCRATCH/rot_coefs_Tttt_nnnnnnnnn, C or $PWD/rot_coefs_Tttt_nnnnnnnnn) C C where: C ttt = triangular truncation C nnnnnnnnn = SLAT*100000, C or C $PP_ROT_DIR/rot_coefs_Tttt_Mnnnnnnnn C (or $SCRATCH/rot_coefs_Tttt_Mnnnnnnnn, C or $PWD/rot_coefs_Tttt_Mnnnnnnnn) C C where: C ttt = triangular truncation C nnnnnnnn = -SLAT*100000 if SLAT is negative. C C If the file does not exist it is created. During creation, the C filename is ROTpppppp_Tttt_nnnnnnnnn, where pppppp is the current C process ID. C C The file of rotation coefficients is UNLINKed by the process after C being opened for reading. This causes the file to be removed when C the process terminates. C C C Externals C --------- C C INTLOG - Logs messages. C INTLOGR - Logs messages. C GETENV - to get environment variable data. C GETPID - to get the current process ID. C RENAME - to change a filename. C UNLINK - to remove a file. C C C Author C ------ C C R.McGrath and P.Lynch HIRLAM C C C Reference. C ---------- C C "Spectral synthesis on rotated and regular grids" C by P.Lynch and R.McGrath (Irish Meteorological Service). C C C----< C--------------------------------------------------------------------- C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Function arguments. C REAL*8 DATA, W DIMENSION DATA(*), W(*) INTEGER NM REAL*8 SLAT C C Parameters. C REAL*8 EPS PARAMETER(EPS = 1.0E-10) INTEGER JPNM_MAX PARAMETER( JPNM_MAX = 640 ) INTEGER NPBYTES PARAMETER( NPBYTES = 8 ) C C Local variables. C #ifndef REAL_8 REAL SSLAT #endif LOGICAL LFOR INTEGER I, ISKIP, J, N, MM, K, IEND, IPLUG, IPID INTEGER NN, M, NDEX REAL*8 SIMAG, S, TEMP, DSLAT REAL*8 RAD, TANB, SINB, COSB, Q, RNKN, BNKN, SQNN REAL*8 SQNN1, SQ2N, PKN, PK1N, RNKN1, SREAL ,RNK0, RNK1 REAL*8 WISQR(JPNM_MAX) REAL*8 WIB(JPNM_MAX) REAL*8 WIR(JPNM_MAX) REAL*8 WIDAT(2*JPNM_MAX) CHARACTER*256 FILEDUM CHARACTER*256 FILENAME CHARACTER*24 COEFILE DATA COEFILE/'rot_coefs_Tnnn_nnnnnnnnn'/ INTEGER FIRST, IUNIT, IRET, ILAT, OLDLAT, OLDTRUN, IOFFSET INTEGER IFSIZE INTEGER NMP1TM, MINUS1 DATA FIRST/0/, OLDLAT/10000000/, OLDTRUN/0/ SAVE FIRST, IUNIT, ILAT, OLDLAT, OLDTRUN, FILENAME, COEFILE C C Externals C #ifndef gfortran INTEGER GETPID, UNLINK, RENAME EXTERNAL GETPID, UNLINK, RENAME #endif C C Statement function C REAL*8 A, B LOGICAL ABSCHK ABSCHK(A,B) = (ABS(A-B) .LT. EPS*(ABS(A) + ABS(B))) C C W array: 1 -> (NM+1)*(NM+2) for PMN/SQRT(2*N+1) values. C C RNKM values in WIR (for M>0), C in WIB (M<0). C Array of temporary SQRT values in WISQR, and C temporary transformed data in WIDAT C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C JACOBI = .FALSE. C CALL INTLOG(JP_DEBUG,'JACOBI: truncation = ', NM) #ifndef REAL_8 SSLAT = SNGL(SLAT) CALL INTLOGR(JP_DEBUG,'JACOBI: rotation angle = ', SSLAT) #else CALL INTLOGR(JP_DEBUG,'JACOBI: rotation angle = ', SLAT) #endif C C Exit immediately if rotation angle is zero. C IF (ABS(SLAT).LT.EPS) THEN JACOBI = .TRUE. GOTO 999 ENDIF C C Change to radians. C RAD = 180.0/PPI DSLAT = SLAT/RAD TANB = TAN(DSLAT/(2.0)) SINB = SIN(DSLAT) COSB = COS(DSLAT) Q = SQRT(2.0)/2.0 C C ------------------------------------------------------------------ C* Section 2. Generate PMN/SQRT(2*N+1) values in W. C ------------------------------------------------------------------ C 200 CONTINUE C W(1) = 1.0 W(2) = COSB C ISKIP = NM + 1 DO 210 I = 1,ISKIP W(1+ISKIP*I) = W(1+ISKIP*I-ISKIP)*SINB* X SQRT(DBLE(2*I-1)/DBLE(2*I)) W(1+ISKIP*I+1) = COSB*DSQRT(DBLE(2*I+1))*W(1+ISKIP*I) 210 CONTINUE C DO 220 I = 2,ISKIP-1 C DO 215 J = 0,ISKIP-I+1 W(I+J*ISKIP+1) = COSB*DSQRT(DBLE((2*I+2*J-1)*(2*I+2*J-1))/ X DBLE((I+2*J)*I))*W(I+J*ISKIP) X - DSQRT(DBLE((I-1)*(I+2*J-1))/ X DBLE((I+2*J)*I))*W(I+J*ISKIP-1) 215 CONTINUE C 220 CONTINUE C C ------------------------------------------------------------------ C* Section 3. Generate the rotation coefficients RNKM. C ------------------------------------------------------------------ C 300 CONTINUE C C Generate the rotation coefficients RNKM (K = M dashed in note) C and store in W. For K = 0 special case. C C PMN = W(M*(NM+1) + (N-M+1)) C C Hold the input latitude and check if it is the same as the one C used the last time through C ILAT = NINT(SLAT*100000) IF( (ILAT.EQ.OLDLAT).AND.(OLDTRUN.EQ.NM) ) THEN C C Rewind the existing open coefficients file. C CALL PBSEEK(IUNIT,0,0,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JACOBI: Rewind failed.',JPQUIET) CALL PBCLOSE(IUNIT,IRET) JACOBI = .FALSE. GOTO 999 ENDIF C ELSE C C A different coefficients file is needed. C IF( FIRST.NE.0 ) THEN CALL PBCLOSE(IUNIT,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JACOBI: PBCLOSE failed.',JPQUIET) JACOBI = .FALSE. ENDIF ENDIF OLDLAT = ILAT OLDTRUN = NM C C Setup the file name: rot_coefs_Tnnn_nnnnnnnnn C (Path is given by PP_ROT_DIR, SCRATCH, or PWD.) C CALL GETENV('PP_ROT_DIR',FILENAME) IOFFSET = INDEX(FILENAME,' ') IF( IOFFSET.EQ.1) THEN CALL GETENV('SCRATCH',FILENAME) IOFFSET = INDEX(FILENAME,' ') IF( IOFFSET.EQ.1) THEN FILENAME = '.' ENDIF ENDIF C IOFFSET = INDEX(FILENAME,' ') WRITE(COEFILE(12:14),'(I3.3)') NM IF( ILAT.GE.0) THEN WRITE(COEFILE(16:),'(I9.9)') ILAT ELSE COEFILE(16:) = 'M' WRITE(COEFILE(17:),'(I8.8)') -ILAT ENDIF FILENAME = FILENAME(1:IOFFSET-1) // '/' // COEFILE C FILEDUM = FILENAME IPID = GETPID() IF( IPID.LT.0 ) THEN CALL INTLOG(JP_FATAL,'JACOBI: GETPID failed',JPQUIET) JACOBI = .FALSE. GOTO 999 ENDIF IOFFSET = INDEX(FILENAME,' ') IPLUG = INDEX(FILENAME,'rot_coefs') + 3 WRITE(FILEDUM(IPLUG:IPLUG+5),'(I6.6)') IPID C C Try to open the file to see if it already exists C CALL PBOPEN(IUNIT,FILENAME(1:IOFFSET-1),'r',IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_DEBUG,'JACOBI: PBOPEN for read failed',JPQUIET) CALL INTLOG(JP_DEBUG,'JACOBI: Non-existent file:',JPQUIET) C C Set flag to show file does not exist C FIRST = 0 C ELSE C C File exists C FIRST = 1 C C Unlink the file so it disappears on close C FIRST = 1 IRET = UNLINK(FILENAME(1:IOFFSET-1)) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JACOBI: UNLINK failed',JPQUIET) JACOBI = .FALSE. GOTO 999 ENDIF C C Calculate the coefficients file size and check file is C the correct size (coefficients are REAL*8) C IFSIZE = 8*(NM*(2*NM*NM + 9*NM +13)/3) CALL PBSEEK(IUNIT,0,2,IRET) IF( IRET.LT.0 ) THEN CALL INTLOG(JP_FATAL,'JACOBI: PBSEEK failed.',JPQUIET) CALL PBCLOSE(IUNIT,IRET) JACOBI = .FALSE. GOTO 999 ENDIF C IF( IFSIZE.NE.IRET) THEN CALL INTLOG(JP_FATAL, X 'JACOBI: Coefficients file size incorrect = ',IRET) CALL INTLOG(JP_FATAL, X 'JACOBI: Expected file size is = ',IFSIZE) CALL PBCLOSE(IUNIT,IRET) JACOBI = .FALSE. GOTO 999 ENDIF C C Rewind the coefficients file. C CALL PBSEEK(IUNIT,0,0,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JACOBI: Rewind failed.',JPQUIET) CALL PBCLOSE(IUNIT,IRET) JACOBI = .FALSE. GOTO 999 ENDIF ENDIF ENDIF C DO 530 N = 1,NM RNKN = (0.5*(1.0 + COSB))**N BNKN = (0.5*(1.0 - COSB))**N SQNN = DSQRT(DBLE((N+1)*N)) SQNN1 = SQNN*SINB SQ2N = DSQRT(2.0/DBLE(N))/SINB C C Save SQRTS. C DO 325 MM = 0,N WISQR(MM+1) = DSQRT(DBLE((N+MM)*(N-MM+1)))*SINB 325 CONTINUE C NN = 1 C C Generate RNKM, M = 0 to N. C DO 490 K = N,0,-1 C C Generate the coefficients file if it doesn't exist C IF( FIRST.EQ.0 ) THEN FIRST = -1 CALL INTLOG(JP_DEBUG, 'JACOBI: PBOPEN for write',JPQUIET) IOFFSET = INDEX(FILEDUM,' ') CALL PBOPEN(IUNIT,FILEDUM(1:IOFFSET-1),'w',IRET) IF( IRET.NE.0 ) THEN C C Try to use present working directory C CALL INTLOG(JP_ERROR, X 'JACOBI: PBOPEN for write failed',JPQUIET) FILENAME = COEFILE FILEDUM = COEFILE IOFFSET = INDEX(FILEDUM,' ') CALL PBOPEN(IUNIT,FILEDUM(1:IOFFSET-1),'w',IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'JACOBI: PBOPEN for write failed',JPQUIET) JACOBI = .FALSE. GOTO 999 ENDIF ENDIF ENDIF C IF( FIRST.LE.0) THEN C PKN = W(K*(NM+1) + (N-K+1)) IF (K.EQ.0) GOTO 400 C C For K > 0, go forward from zero. C PK1N = W((K-1)*(NM+1) + (N-(K-1)+1)) C C Flip sign if necessary. C IF (MOD(K,2).NE.0)THEN PKN = -PKN ELSE PK1N = -PK1N ENDIF C C Work using forward recurrence as long as coefficient C calculated passes checks. C LFOR = .TRUE. C RNK0 = PKN RNK1 = (-DBLE(K)*TANB*PKN + (WISQR(K+1)/SINB)*PK1N)/SQNN C C Recurrence starts at 2 for M = 0 C WIR(1) = RNK0 WIR(2) = RNK1 C DO 330 MM = 1,N-1 WIR(MM+2) = (2.0*WIR(MM+1)*(DBLE(MM)*COSB-DBLE(K)) X - WISQR(MM+1)*WIR(MM)) /WISQR(MM+2) C C Apply check to generated coefficient to see if its C absolute value is greater than 1. If so, have to C switch to using backwards recurrences. C IF (ABS(WIR(MM+2)).GT.1.0)THEN LFOR = .FALSE. IEND = MM + 3 GOTO 335 ENDIF 330 CONTINUE C C If forward recurrence appears OK so far, C test last element RNKN by comparing with WIR(N+1). C IEND = N + 2 IF (ABSCHK(RNKN,WIR(N+1))) GOTO 345 C C If test failed, try generating coefficients using C backwards recurrences. C 335 CONTINUE C C Work backwards from the top. C Specify N; K is already set from the loop above. C Stop at M = 1 (NOT 0). C RNKN1 = RNKN*SQ2N*(DBLE(N)*COSB-DBLE(K)) WIR(N+1) = RNKN C C Check whether difference is within prescribed tolerance. C IF (LFOR .AND. ABSCHK(RNKN1,WIR(N))) GO TO 345 WIR(N) = RNKN1 C C For M = 0: C DO 340 MM = N-1,1,-1 S = (2.0*WIR(MM+1)*(DBLE(MM)*COSB-DBLE(K)) X - (WISQR(MM+2)*WIR(MM+2))) / WISQR(MM+1) C C Accept these if forward recursion failed before C reaching this point. C IF (MM+1.LT.IEND)THEN IF (ABSCHK(S,WIR(MM))) GOTO 345 ENDIF WIR(MM) = S C C If absolute value is greater than 1, give up gracefully C IF (ABS(S).GT.1.0) GOTO 920 340 CONTINUE C GOTO 920 C 345 CONTINUE C C Now RNKM for M = 0,-N C C RNKM M = -1,-N C C Forward recurrence starts at 1 for M = 0, 2 for -1 etc. C LFOR = .TRUE. C WIB(1) = RNK0 WIB(2) = -RNK1-RNK0*DBLE(2*K)/(SQNN1) C DO 350 MM = 1,(N-1) WIB(MM+2) = (2.0*WIB(MM+1)*(DBLE(-MM)*COSB-DBLE(K)) X - WISQR(MM+1)*SINB*WIB(MM)) /WISQR(MM+2) C C Apply check to generated coefficient to see if its C absolute value is greater than 1. If so, have to C switch to using backwards recurrences. C IF (ABS(WIB(MM+2)).GT.1.0)THEN LFOR = .FALSE. IEND = MM + 3 GOTO 355 ENDIF 350 CONTINUE C C If forward recurrence appears OK so far, C test last element BNKN by comparing with WIB(N+1). C IEND = N + 1 IF (ABSCHK(BNKN,WIB(N+1))) GOTO 400 C C If test failed, try generating coefficients using backwards C recurrences. C 355 CONTINUE C C Get R values. C First RNKN, then next highest RNKN1. C RNKN1 = -BNKN*SQ2N*(DBLE(N)*COSB + DBLE(K)) C C Work backwards from the top. C Specify N; K is already set from the loop above. C C Stop at M = 1 (NOT 0). C WIB(N+1) = BNKN IF (LFOR .AND. ABSCHK(RNKN1,WIB(N))) GOTO 400 WIB(N) = RNKN1 C DO 360 MM = N-1,1,-1 S = (2.0*WIB(MM+1)*(DBLE(-MM)*COSB-DBLE(K)) X - (WISQR(MM+2)*WIB(MM+2))) / WISQR(MM+1) C C Accept backwards generated coefficients if forward C recursion failed before reaching this point. C IF ( (MM.LT.IEND ) .AND. ABSCHK(S,WIB(MM)) ) GOTO 400 WIB(MM) = S C C If absolute value is greater than 1, give up. C IF (ABS(S).GT.1.0) GOTO 910 C 360 CONTINUE C C End of backwards recurrences reached with no agreed C coefficients, give up. C GOTO 910 C C ------------------------------------------------------------------ C* Section 4. Got RNKM. Now transform spectral data. C ------------------------------------------------------------------ C 400 CONTINUE C C Write coefficients to file C CALL PBWRITE(IUNIT,WIR,(N+1)*NPBYTES,IRET) IF( IRET.NE.((N+1)*NPBYTES) ) THEN CALL INTLOG(JP_FATAL,'JACOBI: PBWRITE failed.',JPQUIET) CALL PBCLOSE(IUNIT,IRET) JACOBI = .FALSE. GOTO 999 ENDIF C CALL PBWRITE(IUNIT,WIB,(N+1)*NPBYTES,IRET) IF( IRET.NE.((N+1)*NPBYTES) ) THEN CALL INTLOG(JP_FATAL,'JACOBI: PBWRITE failed.',JPQUIET) CALL PBCLOSE(IUNIT,IRET) JACOBI = .FALSE. GOTO 999 ENDIF ELSE C 415 CONTINUE C PKN = W(K*(NM+1) + (N-K+1)) PK1N = W((K-1)*(NM+1) + (N-(K-1)+1)) C C Flip sign if necessary. C IF (MOD(K,2).NE.0)THEN PKN = -PKN ELSE PK1N = -PK1N ENDIF C C Read coefficients from file C CALL PBREAD(IUNIT,WIR,(N+1)*NPBYTES,IRET) IF( IRET.NE.((N+1)*NPBYTES) ) THEN CALL INTLOG(JP_FATAL,'JACOBI: PBREAD failed.',JPQUIET) CALL PBCLOSE(IUNIT,IRET) JACOBI = .FALSE. GOTO 999 ENDIF C CALL PBREAD(IUNIT,WIB,(N+1)*NPBYTES,IRET) IF( IRET.NE.((N+1)*NPBYTES) ) THEN CALL INTLOG(JP_FATAL,'JACOBI: PBREAD failed.',JPQUIET) CALL PBCLOSE(IUNIT,IRET) JACOBI = .FALSE. GOTO 999 ENDIF C ENDIF C C Special case when K=0. C IF( K.EQ.0) THEN C SREAL = DATA(2*(N+1)-1)*PKN SIMAG = 0.0 DO 420 M = 1,N NMP1TM = (NM+1)*M SREAL = SREAL X + 2.0*DATA(2*(NMP1TM-((M-1)*M)/2+1+N-M)-1) X * W(NMP1TM+(N-M+1)) 420 CONTINUE C NDEX = 1+N WIDAT(NN) = SREAL WIDAT(NN+1) = SIMAG NN = NN + 2 C ELSE C SREAL = DATA(2*(N+1)-1)*PKN SIMAG = 0.0 MINUS1 = -1 DO 440 M = 1,N SREAL = SREAL + X DATA(2*((NM+1)*M-((M-1)*M)/2+1+N-M)-1) X * (WIR(M+1)+WIB(M+1)*MINUS1) SIMAG = SIMAG - X DATA(2*((NM+1)*M -((M-1)*M)/2+1+N-M)) X * (-WIR(M+1)+WIB(M+1)*MINUS1) MINUS1 = -MINUS1 440 CONTINUE C NDEX = (NM+1)*K - ((K-1)*K)/2+1+N-K WIDAT(NN) = SREAL WIDAT(NN+1) = SIMAG NN = NN + 2 ENDIF C C Update RNKN at both ends of the forward and backward C recurrences. C TEMP = DSQRT(DBLE(N+K)/DBLE(N-K+1)) RNKN = RNKN*TEMP*SINB/(1+COSB) BNKN = -BNKN*TEMP*(1+COSB)/SINB 490 CONTINUE C C End of inner loop. C C ------------------------------------------------------------------ C* Section 5. Now place the values of the rotated spectral C coefficients in DATA. C ------------------------------------------------------------------ C 500 CONTINUE C NN = 1 DO 520 K = N,0,-1 NDEX = (NM+1)*K - ((K-1)*K)/2+1+N-K DATA(2*NDEX-1) = WIDAT(NN) DATA(2*NDEX) = WIDAT(NN+1) NN = NN + 2 C 520 CONTINUE C 530 CONTINUE C C ------------------------------------------------------------------ C* Section 9. Return. C ------------------------------------------------------------------ C 900 CONTINUE C JACOBI = .TRUE. C C If coefficients file has just been generated: C - close it, C - rename it, C - re-open for reading C - unlink it, so it can disappear when closed, C - leave it open. C IF( FIRST.LE.0 ) THEN FIRST = 1 CALL PBCLOSE(IUNIT,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JACOBI: PBCLOSE failed.',JPQUIET) JACOBI = .FALSE. GOTO 999 ENDIF C FILEDUM(IOFFSET:IOFFSET) = CHAR(0) FILENAME(IOFFSET:IOFFSET) = CHAR(0) IRET = RENAME(FILEDUM(1:IOFFSET-1),FILENAME(1:IOFFSET-1)) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JACOBI: RENAME of file failed',JPQUIET) JACOBI = .FALSE. GOTO 999 ENDIF C CALL INTLOG(JP_DEBUG, 'JACOBI: PBOPEN for read',JPQUIET) IOFFSET = INDEX(FILENAME,' ') CALL PBOPEN(IUNIT,FILENAME(1:IOFFSET-1),'r',IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JACOBI: PBOPEN for read failed',JPQUIET) JACOBI = .FALSE. GOTO 999 ENDIF C IRET = UNLINK(FILENAME(1:IOFFSET-1)) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JACOBI: UNLINK of file failed',JPQUIET) JACOBI = .FALSE. GOTO 999 ENDIF ENDIF C 999 CONTINUE RETURN C C Failure to converge with M < 0. C 910 CONTINUE CALL INTLOG(JP_FATAL,'JACOBI: Failure to converge M < 0', JPQUIET) JACOBI = .FALSE. GOTO 999 C C Failure to converge with M > 0. C 920 CONTINUE CALL INTLOG(JP_FATAL,'JACOBI: Failure to converge M > 0', JPQUIET) JACOBI = .FALSE. GOTO 999 END emoslib-000392+dfsg.1/interpolation/intuvxh.F0000755000175000017500000002666612127406245022204 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTUVXH(PUVSH,KNVALS,ZNFLDO,KUGRIB,KVGRIB, X OUTLENU,OUTLENV) C C----> C**** INTUVXH C C Purpose C ------- C C Interpolate U or V component spectral fields to grid point. C C C Interface C --------- C C IRET = INTUVXH(PUVSH,KNVALS,ZNFLDO,KUGRIB,KVGRIB,OUTLENU,OUTLENV) C C Input C ----- C C PUVSH - Spectral U/V values. (U first) C KNVALS - Number of values in each wind component field. C ZNFLDO - Work array. C C C Output C ------ C C KUGRIB - Output wind U component field (GRIB format). C KVGRIB - Output wind V component field (GRIB format). C OUTLENU - Output U field length (words). C OUTLENV - Output V field length (words). C C C Method C ------ C C None. C C C Externals C --------- C C INTUVDH - Encode/decode data into/from GRIB code. C INTFAU - Prepare to interpolate unpacked input field. C INTFBU - Interpolate unpacked input field. C INTLOG - Log error message. C MKFRAME - Create a 'frame' from a rectangular field. C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "intf.h" #include "current.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 40170 ) C C Function arguments C INTEGER KPARAM, KNVALS, KUGRIB(*), KVGRIB(*), OUTLENU, OUTLENV REAL PUVSH(KNVALS*2), ZNFLDO(*) C C Local variables C LOGICAL LFRAME, LOLDWIND INTEGER NPARAM, IRET, ILENF, NTRUNC, NGAUSS, ISIZE, NCOUNT INTEGER NUVFLAG, NLON, NLAT, NUMPTS, NBYTES REAL AREA(4), GRID(2), POLE(2), EAST, WEST CHARACTER*1 HOLDTYP INTEGER LOOP C REAL RGGRID, SWORK POINTER (IRGGRID, RGGRID(1) ) POINTER (ISWORK, SWORK(1) ) C INTEGER KPTS(JPGTRUNC*2) REAL GLATS(JPGTRUNC*2) C C Externals C INTEGER FIXAREA, INTFAU, INTFBU, INTUVDH, HSP2GG INTEGER HIRLAMW, JMALLOC C DATA IRGGRID/-1/, ISWORK/-1/ SAVE IRGGRID, ISWORK C C -----------------------------------------------------------------| C* Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C INTUVXH = 0 C LFRAME = LNOFRAME.AND. X ((NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPREGROT ).OR.(NOREPR.EQ.JPFGGROT ) ) C IF( LNOROTA ) GOTO 300 C C -----------------------------------------------------------------| C* Section 2. Spectral to grid-point with no rotation C -----------------------------------------------------------------| C 200 CONTINUE C CALL INTLOG(JP_DEBUG, X 'INTUVXH: Interoplate U & V fields with no rotation',JPQUIET) C C Unpack and interpolate U field C NIFORM = 0 NIPARAM = JP_U LWIND = .TRUE. LOLDWIND = LWINDSET LWINDSET = .TRUE. C IRET = INTFAU( PUVSH, KNVALS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: Prepare to interpolate failed.',JPQUIET) INTUVXH = JPROUTINE + 2 GOTO 900 ENDIF C IRET = INTFBU( PUVSH, KNVALS, ZNFLDO, ILENF) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVXH: Interpolation failed.',JPQUIET) INTUVXH = JPROUTINE + 2 GOTO 900 ENDIF C C Unpack and interpolate V field C NIPARAM = JP_V C IRET = INTFAU( PUVSH(1+KNVALS), KNVALS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: Prepare to interpolate failed.',JPQUIET) INTUVXH = JPROUTINE + 2 GOTO 900 ENDIF C IRET = INTFBU( PUVSH(1+KNVALS), KNVALS, ZNFLDO(1+ILENF), ILENF) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVXH: Interpolation failed.',JPQUIET) INTUVXH = JPROUTINE + 2 GOTO 900 ENDIF C C Reset the input format flag C NIFORM = 1 C C Get some scratch memory for the U fields before interpolation C (to prevent overwriting V in ZNFLDO during interpolation) C cs ISIZE = ILENF cs CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) cs IF( IRET.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'INTUVXH: memory alloc for scratch memory failed',JPQUIET) cs INTUVXH = JPROUTINE + 2 cs GOTO 900 cs ENDIF C LWINDSET = LOLDWIND C C C If a 'frame' has been specified, build the frame C IF( LFRAME ) THEN LIMISSV = .TRUE. NLON = 1 + NINT(FLOAT(NOAREA(JPEAST) - NOAREA(JPWEST)) / X NOGRID(JPWESTEP)) NLAT = 1 + NINT(FLOAT(NOAREA(JPNORTH) - NOAREA(JPSOUTH)) / X NOGRID(JPNSSTEP)) CALL MKFRAME(NLON,NLAT,ZNFLDO,RMISSGV,NOFRAME) CALL MKFRAME(NLON,NLAT,ZNFLDO(1+ILENF),RMISSGV,NOFRAME) ENDIF C Code data into GRIB cs DO LOOP = 1, ILENF cs SWORK(LOOP) = ZNFLDO(LOOP) cs ENDDO C cs IRET = INTUVDH(SWORK,ILENF,KUGRIB,OUTLENU,'C',JP_U) IRET = INTUVDH(ZNFLDO,ILENF,KUGRIB,OUTLENU,'C',JP_U) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: Wind component into GRIB encoding fail',IRET) INTUVXH = JPROUTINE + 2 GOTO 900 ENDIF C IRET = INTUVDH(ZNFLDO(1+ILENF),ILENF,KVGRIB,OUTLENV,'C',JP_V) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: Wind component into GRIB encoding fail',IRET) INTUVXH = JPROUTINE + 2 GOTO 900 ENDIF C GOTO 900 C C -----------------------------------------------------------------| C* Section 3. Initialise spectral to grid-point with rotation C -----------------------------------------------------------------| C 300 CONTINUE C IF( .NOT.LUSEHIR ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH : Unable to rotate spectral U or V:',JPQUIET) INTUVXH = JPROUTINE + 3 GOTO 900 ENDIF C IF( (NOREPR.NE.JPREGROT).AND.(NOREPR.NE.JPREGULAR) ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH : For U/V, only regular lat/long',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTUVXH : output rotated grids allowed',JPQUIET) INTUVXH = JPROUTINE + 3 GOTO 900 ENDIF C CALL INTLOG(JP_DEBUG,'INTUVXH: Rotate the U & V fields',JPQUIET) CALL INTLOG(JP_DEBUG,'INTUVXH: South pole lat ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'INTUVXH: South pole long ',NOROTA(2)) C C Fill area limits (handles case when default 0/0/0/0 given) C cs IRET = FIXAREA() cs IF( IRET.NE.0 ) THEN cs CALL INTLOG(JP_ERROR,'INTUVXH: area fixup failed',JPQUIET) cs INTUVXH = JPROUTINE + 3 cs GOTO 900 cs ENDIF C AREA(1) = REAL(NOAREA(1))/PPMULT AREA(2) = REAL(NOAREA(2))/PPMULT AREA(3) = REAL(NOAREA(3))/PPMULT AREA(4) = REAL(NOAREA(4))/PPMULT C GRID(1) = REAL(NOGRID(1))/PPMULT GRID(2) = REAL(NOGRID(2))/PPMULT C POLE(1) = REAL(NOROTA(1))/PPMULT POLE(2) = REAL(NOROTA(2))/PPMULT C C -----------------------------------------------------------------| C* Section 4. Convert spectral to suitable global reduced gaussian C -----------------------------------------------------------------| C 400 CONTINUE C NTRUNC = NIRESO IRET = HSP2GG(NTRUNC,NGAUSS,KPTS,GLATS,ISIZE) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: problem getting data for reduced grid',NTRUNC) INTUVXH = JPROUTINE + 4 GOTO 900 ENDIF NCOUNT = ISIZE C C Dynamically allocate memory for global reduced gaussian grid C CALL JMEMHAN( 18, IRGGRID, (NCOUNT*2), 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: memory alloc for reduced grid fail',JPQUIET) INTUVXH = JPROUTINE + 4 GOTO 900 ENDIF C C Set flag to show field is a wind component C NUVFLAG = 1 C C Create the reduced gaussian grid C HOLDTYP = HOGAUST WEST = 0.0 EAST = 360.0 - (360.0/(NGAUSS*4)) C C U component C CALL JAGGGP(PUVSH,NTRUNC,GLATS(1),GLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID,NUVFLAG,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: spectral to reduced gaussian failed',JPQUIET) INTUVXH = JPROUTINE + 4 GOTO 900 ENDIF C HOGAUST = HOLDTYP C C V component C CALL JAGGGP(PUVSH(1+KNVALS),NTRUNC,GLATS(1),GLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID(1+NCOUNT),NUVFLAG,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: spectral to reduced gaussian failed',JPQUIET) INTUVXH = JPROUTINE + 4 GOTO 900 ENDIF C HOGAUST = HOLDTYP C C -----------------------------------------------------------------| C* Section 5. Rotate using 12-point horizontal interpolation C -----------------------------------------------------------------| C 500 CONTINUE C C Dynamically allocate memory for rotated lat/long grid C NLON = 1 + NINT(FLOAT(NOAREA(JPEAST) - NOAREA(JPWEST)) / X NOGRID(JPWESTEP)) NLAT = 1 + NINT(FLOAT(NOAREA(JPNORTH) - NOAREA(JPSOUTH)) / X NOGRID(JPNSSTEP)) C NUMPTS = NLON * NLAT ISIZE = NUMPTS * 2 CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: memory alloc for lat/long grid fail',JPQUIET) INTUVXH = JPROUTINE + 5 GOTO 900 ENDIF C IRET = HIRLAMW(LO12PT,RGGRID,RGGRID(1+NCOUNT),NCOUNT,NGAUSS,AREA, X POLE,GRID,SWORK,SWORK(1+NUMPTS),NUMPTS,NLON,NLAT) C IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: HIRLAMW rotation failed',JPQUIET) INTUVXH = JPROUTINE + 5 GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 6. Pack the fields into GRIB format C -----------------------------------------------------------------| C 600 CONTINUE C C Reset the input format flag C NIFORM = 1 C C Set the components flag for rotated U and V coefficients C ISEC2(19) = 8 C C If a 'frame' has been specified, build the frame C IF( LFRAME ) THEN LIMISSV = .TRUE. CALL MKFRAME(NLON,NLAT,SWORK,RMISSGV,NOFRAME) CALL MKFRAME(NLON,NLAT,SWORK(1+NUMPTS),RMISSGV,NOFRAME) ENDIF C IRET = INTUVDH(SWORK,NUMPTS,KUGRIB,OUTLENU,'C',JP_U) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: Wind component into GRIB encoding fail',IRET) INTUVXH = JPROUTINE + 6 GOTO 900 ENDIF C IRET = INTUVDH(SWORK(1+NUMPTS),NUMPTS,KVGRIB,OUTLENV,'C',JP_V) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVXH: Wind component into GRIB encoding fail',IRET) INTUVXH = JPROUTINE + 6 GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/hll2xyz.F0000755000175000017500000000330012127406245022067 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE HLL2XYZ(RLAT,RLONG,X,Y,Z,INROW) C----> C**** HLL2XYZ C C Purpose C ------- C C Converts an array of latitude/longitude values to an C array of (x,y,z) coordinates. C C C Interface C --------- C C CALL HLL2XYZ(RLAT,RLONG,X,Y,Z,INROW) C C Input C ----- C C RLAT - Array of latitudes. C RLONG - Array of corresponding longitudes. C INROW - Count of latitudes/longitudes. C C C Output C ------ C C (X,Y,Z) - Array of coordinates. C C C Method C ------ C C Z axis is the polar axis directed from south to north. C X and Y axes are in the equatorial plane and have origin at the C centre of the Earth. The X axis passes through (O north, 0 east). C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF C C----< C IMPLICIT NONE C C Subroutine arguments C REAL RLAT,RLONG,X,Y,Z DIMENSION RLAT(*),RLONG(*),X(*),Y(*),Z(*) INTEGER INROW C C Local variables C REAL FACTOR DATA FACTOR/0.017453293/ INTEGER LOOP C DO LOOP = 1, INROW X(LOOP) = COS(RLAT(LOOP)*FACTOR) * COS(RLONG(LOOP)*FACTOR) Y(LOOP) = COS(RLAT(LOOP)*FACTOR) * SIN(RLONG(LOOP)*FACTOR) Z(LOOP) = SIN(RLAT(LOOP)*FACTOR) ENDDO C RETURN END emoslib-000392+dfsg.1/interpolation/jmkofgg.F0000755000175000017500000000724112127406245022107 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMKOFGG( HTYPE, X KNORTH,KSOUTH,PWEST,PEAST,KNUM,KPTS,KOFSET) C C----> C**** JMKOFGG C C Purpose C _______ C C This routine builds up the offsets into the storage array for C every row in the gaussian grid. C C C Interface C _________ C C CALL JMKOFGG(HTYPE,KNORTH,KSOUTH,PWEST,PEAST,KNUM,KPTS,KOFSET) C C C Input parameters C ________________ C C HTYPE - Gaussian grid type C = 'R' for reduced, C = 'F' for full C = 'U' for user-defined reduced gaussian grid C KNORTH - Northern latitude row number C KSOUTH - Southern latitude row number C PWEST - Westernmost longitude for output field (degrees) C PEAST - Easternmost longitude for output field (degrees) C KNUM - Gaussian grid number C KPTS - Array giving the number of points in each row for the C gaussian grid C C C Output parameters C ________________ C C KOFSET - Array of offsets for storing each row of the grid C values in an output buffer C C C Common block usage C __________________ C C None C C C Method C ______ C C Build up the offsets allowing for latitudes which are not in the C requested latitude band. All offsets outside the latitude band C are set to zero. C C C Externals C _________ C C None C C C Reference C _________ C C None C C C Comments C ________ C C C C Author C ______ C C J.D.Chambers ECMWF Jan 1994 C C C Modifications C _____________ C C None C C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C C Subroutine arguments C CHARACTER*1 HTYPE INTEGER KNORTH, KSOUTH, KNUM, KPTS, KOFSET REAL PWEST, PEAST Cjdc DIMENSION KPTS(*), KOFSET(*) DIMENSION KPTS(320), KOFSET(320) C C Local variables C INTEGER LAT, NUMPTS REAL RINTVL LOGICAL LREDUCE C C _______________________________________________________ C C* Section 1. Dummy C _______________________________________________________ C 100 CONTINUE C C Is it a reduced gaussian or user defined gaussian grid. LREDUCE = ( (HTYPE .EQ. 'U') .OR. (HTYPE .EQ. 'R') ) C C _______________________________________________________ C C* Section 2. Fill in array of offsets C _______________________________________________________ C 200 CONTINUE C C Loop through all possible latitudes DO LAT = 1, 2*KNUM IF ( (LAT .LT. KNORTH) .OR. (LAT .GT. KSOUTH) ) THEN KOFSET(LAT) = 0 ELSE IF ( LAT .EQ. KNORTH ) THEN KOFSET(LAT) = 1 ELSE IF( LREDUCE ) THEN NUMPTS = KPTS(LAT -1) ELSE RINTVL = (PEAST - PWEST)*FLOAT( KPTS(LAT -1) ) / 360.0 NUMPTS = NINT( RINTVL ) + 1 ENDIF KOFSET(LAT) = KOFSET(LAT -1) + NUMPTS ENDIF ENDIF ENDDO C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/estima.F0000755000175000017500000000714612127406245021751 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION ESTIMA() C----> C**** ESTIMA C C Purpose C ------- C C Calculate size of scratch space required for output field of C interpolation. C C C Interface C --------- C C ISIZE = ESTIMA() C C C Input C ----- C C Values in common blocks "nofld.common". C C C Output C ------ C C Size as number of values (words). C Returns 0 if output type not recognised. C C C Method C ------ C C Depends on output grid type. C C C Externals C --------- C C INTLOG - Log error message C JNORSGG - Calculate gaussian latitude C C C Author C ------ C C J.D.Chambers ECMWF Feb 1995 C C----< C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Local variables C INTEGER LOOP REAL PNORTH, PWEST, PSOUTH, PEAST, GRID, TEMP C C Externals C EXTERNAL JNORSGG, NUMPTWE INTEGER JNORSGG, NUMPTWE C C Statement functions C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C ESTIMA = 0 C C -----------------------------------------------------------------| C* Section 2. Spherical harmonic field C -----------------------------------------------------------------| C 200 CONTINUE C IF( (NOREPR.EQ.JPSPHERE).OR. X (NOREPR.EQ.JPSTRSH).OR. X (NOREPR.EQ.JPSPHROT) ) THEN cs ESTIMA = (NORESO+1) * (NORESO+4) ESTIMA = (NORESO+1) * (NORESO+2) CALL INTLOG(JP_DEBUG,'ESTIMA: spherical harmonic = ',ESTIMA) GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 5. gaussian field C -----------------------------------------------------------------| C 500 CONTINUE C IF(NOGAUSS.GT.0) THEN ESTIMA = NOGAUSS * NOGAUSS * 8 CALL INTLOG(JP_DEBUG,'ESTIMA: Gaussian Number = ', NOGAUSS) CALL INTLOG(JP_DEBUG,'ESTIMA: any gaussian= ',ESTIMA) GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 3. Regular lat/long field C -----------------------------------------------------------------| C 300 CONTINUE C IF( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C cs print*,'NOGRID(1) ',NOGRID(1),' NOGRID(2) ',NOGRID(2) cs ESTIMA = NINT((JP360/NOGRID(1) + 1) * (JP180 / NOGRID(2) + 1)) ESTIMA = (JP360/NOGRID(1) + 1) * (JP180 / NOGRID(2) + 1) CALL INTLOG(JP_DEBUG,'ESTIMA: Regular lat/long = ',ESTIMA) ENDIF IF(NILOCAL.EQ.4) THEN IF(NOGRID(1).GT.0.AND.NOGRID(1).GT.0) THEN ESTIMA = (JP360/NOGRID(1) + 1) * (JP180 / NOGRID(2) + 1)*2 ELSE ESTIMA = 36099382 ENDIF CALL INTLOG(JP_DEBUG,'ESTIMA: OCEAN field = ',ESTIMA) ENDIF C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C CALL INTLOG(JP_DEBUG, X 'ESTIMA: number of points in output field = ',ESTIMA) C RETURN END emoslib-000392+dfsg.1/interpolation/igscan.F0000755000175000017500000002151712127406245021731 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGSCAN (PMAT, KNWE, KNNS, KSCAN, OINFIELD, 1 KPR, KERR) C C----> C**** *IGSCAN* C C PURPOSE C _______ C C Transform a regular field between the specified external C scanning mode and a standard internal scanning mode. C C INTERFACE C _________ C C IERR = IGSCAN (PMAT, KNWE, KNNS, KSCAN, OINFIELD, KPR, KERR) C C Input parameters C ________________ C C PMAT - The input matrix of dimension (KNWE * KNNS). C C KNWE - The number of points in the West-East direction. C C KNNS - The number of points in the North-South direction. C C KSCAN - A standard GRIB byte variable with bits 1 to 3 C separately significant. This means that the final C value is the sum of the bit settings. C C 128 , Set if points scan East to West. C 64 , Set if points scan South to North. C 32 , Set if points in the North South direction C are consecutive. C C OINFIELD - Flag variable which is TRUE for an input field and C FALSE for an output field. C This determines the order in which the C transformations are applied. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PMAT - The transposed matrix. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 7101 The scanning mode was not in the range 0 to 255. C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C ABORTX - Standard routine to kill task. C IGTRAN - Routine to transpose a rectangular matrix. C IGLREV - Routine to reverse the elements within each row or C each column of a rectangular matrix. C INTLOG - Logs messages. C C METHOD C ______ C C KSCAN = 128 is implemented by swapping elements within each C column of the matrix. C C KSCAN = 64 is implemented by reversing the order of the columns. C C KSCAN = 32 is implemented by transposing the matrix. C C An input matrix is transposed before the two reversal stages C are performed. C C An output matrix has the matrix transposition as the final step. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments C LOGICAL OINFIELD C INTEGER KNWE, KNNS, KSCAN, KPR, KERR C REAL PMAT (KNWE * KNNS) C C Local variables C LOGICAL GNSMOD, GWEMOD, GTRMOD C INTEGER ISCAN, IDIR, IERR C INTEGER JPMOVE PARAMETER (JPMOVE = (JPLAT + JPLONG) / 2) C INTEGER IMOVE (JPMOVE) C INTEGER JPROUTINE C PARAMETER (JPROUTINE = 7100) C C External functions C INTEGER IGTRAN, IGLREV C C _______________________________________________________ C C C* Section 1. Initialisation - Evaluate scan modes C _______________________________________________________ C 100 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGSCAN: Section 1.',JPQUIET) C IGSCAN = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IGSCAN: Input parameters',JPQUIET) CALL INTLOG(JP_DEBUG,'IGSCAN: Longitude points are ',KNWE) CALL INTLOG(JP_DEBUG,'IGSCAN: Latitude lines are ',KNNS) CALL INTLOG(JP_DEBUG,'IGSCAN: Scan mode is ',KSCAN) IF ( OINFIELD ) THEN CALL INTLOG(JP_DEBUG, X 'IGSCAN: Input field transformation is TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IGSCAN: Input field transformation is FALSE',JPQUIET) ENDIF ENDIF C IF (KSCAN .LT. 0 .OR. KSCAN .GE. 256) THEN IGSCAN = JPROUTINE + 1 IF (KERR .GE. 0) CALL INTLOG(JP_ERROR, X 'IGSCAN: Scan mode is not in range 0 to 255 = ',KSCAN) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IGSCAN: Interpolation fails.',IGSCAN) GO TO 900 ENDIF C C Zero KSCAN means no transformation C IF (KSCAN .EQ. 0) GO TO 900 C ISCAN = KSCAN GWEMOD = .FALSE. GNSMOD = .FALSE. C IF (ISCAN .GE. 128) THEN ISCAN = ISCAN - 128 GWEMOD = .TRUE. ENDIF C IF (ISCAN .GE. 64) THEN ISCAN = ISCAN - 64 GNSMOD = .TRUE. ENDIF C GTRMOD = ISCAN .GE. 32 C C _______________________________________________________ C C* Section 2. Input field C C Potential operations in order are C C 1 Transpose matrix C 2 Modify West East mode C 3 Modify North South mode C _______________________________________________________ C 200 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGSCAN: Section 2.',JPQUIET) C IF (OINFIELD) THEN C IF (GTRMOD) THEN C IERR = IGTRAN (PMAT, KNNS, KNWE, IMOVE, JPMOVE, KPR, KERR) C IF (IERR .NE. 0) THEN IGSCAN = IERR GO TO 900 ENDIF C ENDIF C IF (GWEMOD) THEN C IDIR = 1 C IERR = IGLREV (PMAT, KNWE, KNNS, IDIR, KPR, KERR) C IF (IERR .NE. 0) THEN IGSCAN = IERR GO TO 900 ENDIF C ENDIF C IF (GNSMOD) THEN C IDIR = 2 C IERR = IGLREV (PMAT, KNWE, KNNS, IDIR, KPR, KERR) C IF (IERR .NE. 0) THEN IGSCAN = IERR GO TO 900 ENDIF C ENDIF C ELSE C C _______________________________________________________ C C* Section 3. Output field C C Potential operations in order are C C 1 Modify West East mode C 2 Modify North South mode C 3 Transpose matrix C _______________________________________________________ C 300 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGSCAN: Section 3.',JPQUIET) C IF (GWEMOD) THEN C IDIR = 1 C IERR = IGLREV (PMAT, KNWE, KNNS, IDIR, KPR, KERR) C IF (IERR .NE. 0) THEN IGSCAN = IERR GO TO 900 ENDIF C ENDIF C IF (GNSMOD) THEN C IDIR = 2 C IERR = IGLREV (PMAT, KNWE, KNNS, IDIR, KPR, KERR) C IF (IERR .NE. 0) THEN IGSCAN = IERR GO TO 900 ENDIF C ENDIF C IF (GTRMOD) THEN C IERR = IGTRAN (PMAT, KNWE, KNNS, IMOVE, JPMOVE, KPR, KERR) C IF (IERR .NE. 0) THEN IGSCAN = IERR GO TO 900 ENDIF C ENDIF C ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGSCAN: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/makerl.F0000755000175000017500000001150212127406245021731 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION MAKERL(SHCIN,KTRUNC,SHCOUT,RANGLES) C C----> C**** MAKERL C C Purpose C ------- C C Rotates a spherical harmonic field. C C C Interface C --------- C C IRET = MAKERL(SHCIN,KTRUNC,SHCOUT,RANGLES) C C Input C ----- C C SHCIN - Input array of spherical harmonics. C KTRUNC - Truncation of the spherical harmonics. C RANGLES - Coordinates of the south pole of rotation: C latitude/longitude. C C C Output C ------ C C SHCOUT - Output array of rotated spherical harmonics. C C Function returns 0 if all OK, otherwise the rotations failed. C C C Method C ------ C C None. C C C Externals C --------- C C RPHI - Rotates spectral coefficients by longitude. #ifdef __uxp__ C JACOBIF - Rotates spectral coefficients by latitude. #else C JACOBI - Rotates spectral coefficients by latitude. #endif C INTLOG - Logs messages. C C Author C ------ C C J.D.Chambers ECMWF October, 1995. C C C----< C--------------------------------------------------------------------- C C IMPLICIT NONE #include "parim.h" #include "nofld.common" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 28300) INTEGER JPLEN, JPNM PARAMETER ( JPNM = JPSTRUNC ) PARAMETER ( JPLEN = (JPNM+1)*(JPNM+2) ) C C Function arguments. C REAL SHCIN, SHCOUT, RANGLES DIMENSION SHCIN(*), SHCOUT(*), RANGLES(*) INTEGER KTRUNC C C Local variables C REAL*8 DLON, DLAT REAL*8 WORK DIMENSION WORK(2*(JPNM+1)*(JPNM+6)) LOGICAL LOK INTEGER NBYTES, LOOP #if (defined CRAY) || (defined REAL_8) DATA NBYTES/8/ #else DATA NBYTES/4/ REAL*8 DATA DIMENSION DATA(JPLEN) #endif C C Externals C #ifdef __uxp__ LOGICAL JACOBIF EXTERNAL JACOBIF #else LOGICAL JACOBI EXTERNAL JACOBI #endif C C _______________________________________________________ C C* Section 1. Initialise. C _______________________________________________________ C 100 CONTINUE C MAKERL = 0 C C Check truncation not too big to handle. C IF( KTRUNC .GT. JPSTRUNC ) THEN CALL INTLOG(JP_FATAL,'MAKERL: Truncation max exceeded', JPQUIET) CALL INTLOG(JP_FATAL,'MAKERL: Truncation = ', KTRUNC) CALL INTLOG(JP_FATAL,'MAKERL: Allowed maximum = ', JPSTRUNC) MAKERL = JPROUTINE + 1 GOTO 900 ENDIF C C _______________________________________________________ C C* Section 2. Rotate the spectral coefficients. C _______________________________________________________ C 200 CONTINUE C #if (defined CRAY) || (defined REAL_8) DLAT = -90.0 - RANGLES(1) DLON = -RANGLES(2) C C Rotate the spectral field by longitude. C Positive DLON => frame rotated from west to east. C DO 210 LOOP = 1, (KTRUNC+1)*(KTRUNC+2) SHCOUT(LOOP) = SHCIN(LOOP) 210 CONTINUE CALL RPHI( SHCOUT, KTRUNC, WORK, DLON) C C Rotate the spectral field by latitude. C Negative DLAT => rotate counter-clockwise about new polar axis. C #if (defined __uxp__) LOK = JACOBIF( SHCOUT, KTRUNC, WORK, DLAT) #else LOK = JACOBI( SHCOUT, KTRUNC, WORK, DLAT) #endif IF(.NOT.LOK) THEN CALL INTLOG(JP_FATAL,'MAKERL: JACOBI failed.', JPQUIET) MAKERL = JPROUTINE + 2 GOTO 900 ENDIF #else DLAT = -90.0 - DBLE(RANGLES(1)) DLON = -DBLE(RANGLES(2)) C C Expand spectral coefficients to REAL*8 C DO 210 LOOP = 1, (KTRUNC+1)*(KTRUNC+2) DATA(LOOP) = DBLE(SHCIN(LOOP)) 210 CONTINUE C C Rotate the spectral field by longitude. C Positive DLON => frame rotated from west to east. C CALL RPHI( DATA, KTRUNC, WORK, DLON) C C Rotate the spectral field by latitude. C Negative DLAT => rotate counter-clockwise about new polar axis. C #if (defined __uxp__) LOK = JACOBIF( DATA, KTRUNC, WORK, DLAT) #else LOK = JACOBI( DATA, KTRUNC, WORK, DLAT) #endif IF(.NOT.LOK) THEN CALL INTLOG(JP_FATAL,'MAKERL: JACOBI failed.', JPQUIET) MAKERL = JPROUTINE + 2 GOTO 900 ENDIF C C Repack spectral coefficients to REAL*4. C DO 220 LOOP = 1, (KTRUNC+1)*(KTRUNC+2) SHCOUT(LOOP) = SNGL(DATA(LOOP)) 220 CONTINUE #endif C C _______________________________________________________ C C* Section 9. Return. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/fftchk.c0000755000175000017500000000337712127406245021773 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "fortint.h" #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define FFTCHK fftchk #else #define FFTCHK fftchk_ #endif #endif #ifdef REAL_8 fortint FFTCHK(fortint * trunc, double * longinc) #else fortint FFTCHK(fortint * trunc, float * longinc) #endif { /* Checks if the given truncation and longitude increment can be handled by the FFT routine used in the interpolation scheme. Returns 1 if it can, otherwise 0. For calculation purposes, the number of longitude points has to be greater than 2*(output truncation) to ensure that the fourier transform is exact. For more information see page 10 in: E.C.M.W.F. Research Department technical memorandum no. 56 "The forecast and analysis post-processing package" May 1982. J.Haseler. */ long nlonpts = (long) ( (360.0/(*longinc)) + 0.5 ); /* Set number of longitude points > 2*truncation */ while( nlonpts < 2*(*trunc) ) nlonpts *= 2; /* Look for allowed factors: 8, 6, 5, 4 ,3 , 2 */ /* Check 6 first */ while( nlonpts%6 == 0 ) nlonpts /= 6; /* 8 only allowed once as a factor */ if( nlonpts%8 == 0 ) nlonpts /= 8; while( nlonpts%5 == 0 ) nlonpts /= 5; while( nlonpts%4 == 0 ) nlonpts /= 4; while( nlonpts%3 == 0 ) nlonpts /= 3; while( nlonpts%2 == 0 ) nlonpts /= 2; if( nlonpts != 1) return (fortint) 0; return (fortint) 1; } emoslib-000392+dfsg.1/interpolation/intfap.F0000755000175000017500000003363612127406245021753 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTFAP(INGRIB,INLEN) C C----> C**** INTFAP C C Purpose C ------- C C Prepare to interpolate input field... C C C Interface C --------- C C IRET = INTFAP(INGRIB,INLEN) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C C C Output C ------ C C Field unpacked values are in ZNFELDI, rotated if necessary. C C Returns: 0, if OK. Otherwise, an error occured in interpolation. C C C Method C ------ C C Unpack field. C C Rotate the field values if necessary. C C Some rotation coefficients cannot be created because the C algorithm does not converge for rotations which are smaller C than a limit which depends on the spectral truncation. C C If the rotation is too small, it has to be split into three C steps (two forward and one backward). C C Current know limits are: C C Truncation Max South pole lat Minimum rotation C ---------- ------------------ ---------------- C 63 -89.5 0.5 C 106 -85 5.0 C 159 -77 13.0 C 213 -68 22.0 C 319 -51 39.0 C 511 -30.5 59.5 C C C Externals C --------- C C GRIBEX - Decode/encode GRIB product. C GRSVCK - Turn off GRIB checking C INTLOG - Log error message. C INTLOGR - Log error message. C RPHI - Rotate a spectral field by longitude. #ifdef __uxp__ C JACOBIF - Rotates spectral coefficients by latitude. #else C JACOBI - Rotates spectral coefficients by latitude. #endif C C C Author C ------ C C J.D.Chambers ECMWF Jan 1995 C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.D.Chambers ECMWF Oct 2000 C Split rotations if less than minimum for the truncation C C----< C C -----------------------------------------------------------------| C* Section 0. Variables C C IMPLICIT NONE C C Function arguments INTEGER INGRIB(*),INLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters INTEGER JPROUTINE PARAMETER (JPROUTINE = 26200 ) INTEGER JPLEN, JPNM PARAMETER ( JPNM = JPSTRUNC ) PARAMETER ( JPLEN = (JPNM+1)*(JPNM+6) ) C C Local variables C REAL POLELAT, POLELON CHARACTER*1 TYPE INTEGER NUMPTS, NGAUSS INTEGER IWORD, IERR, KPR, NBYTES, ITRUNC, LOOP, IRET INTEGER ISIZE DATA ISIZE/0/ C REAL SWORK DIMENSION SWORK(1) #ifdef POINTER_64 INTEGER*8 ISWORK #endif POINTER ( ISWORK, SWORK) C REAL*8 DWORK DIMENSION DWORK(1) #ifdef POINTER_64 INTEGER*8 IDWORK #endif POINTER ( IDWORK, DWORK) C REAL*8 DATA DIMENSION DATA(1) #ifdef POINTER_64 INTEGER*8 IDATA #endif POINTER ( IDATA, DATA) C SAVE ISIZE, ISWORK, IDWORK, IDATA C REAL*8 DLON, DLAT, LATLIM LOGICAL LOK, LSPLIT #ifdef CRAY DATA NBYTES/8/ #else DATA NBYTES/4/ #endif C C Externals INTEGER NGROTAT #ifdef __uxp__ LOGICAL JACOBIF EXTERNAL JACOBIF #else LOGICAL JACOBI EXTERNAL JACOBI #endif C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE INTFAP = 0 IERR = 0 KPR = 0 C C -----------------------------------------------------------------| C* Section 2. Decode data from the GRIB code C -----------------------------------------------------------------| C 200 CONTINUE C C Decode data from GRIB code (no checking) C IWORD = INLEN IERR = 0 CALL GRSVCK(0) IERR = 1 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X ZNFELDI, JPEXPAND, INGRIB, INLEN, IWORD, 'D',IERR) C IF( IERR.LT.0) THEN IF( (IERR.EQ.-2).OR.(IERR.EQ.-4) ) THEN CALL INTLOG(JP_DEBUG,'INTFAP: Use missing value',JPQUIET) LIMISSV = .TRUE. ELSE CALL INTLOG(JP_ERROR,'INTFAP: GRIBEX decoding fail.',IERR) INTFAP = IERR GOTO 900 ENDIF ELSE IF( IERR.GT.0 ) THEN CALL INTLOG(JP_ERROR,'INTFAP: GRIBEX decoding failed.',IERR) INTFAP = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 3. Handle spectral rotation, if necessary. C -----------------------------------------------------------------| C 300 CONTINUE C C Is the interpolation from SH with a rotation of the SH first? C IF( ((NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT)) .AND. X LNOROTA ) THEN C C Avoid rotating U or V spectral coefficients C IF( (NIPARAM.EQ.131).OR.(NIPARAM.EQ.132) ) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Unable to rotate spectral U or V:',NIPARAM) INTFAP = JPROUTINE + 6 GOTO 900 ENDIF C C Dynamically allocate memory for workspace. C C (Note the multiplication by 2 for REAL*8). C ISIZE = (2*(JPNM+1)*(JPNM+6))*2 CALL JMEMHAN( 11, IDWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFAP: memory allocation fail',IDWORK) INTFAP = JPROUTINE + 1 GOTO 900 ENDIF C C (Note the multiplication by 2 for REAL*8). C ISIZE = JPLEN*2 CALL JMEMHAN( 15, IDATA, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFAP: memory allocation fail',IDATA) INTFAP = JPROUTINE + 2 GOTO 900 ENDIF C CALL INTLOG(JP_DEBUG,'INTFAP: Rotate SH field.',JPQUIET) CALL INTLOG(JP_DEBUG,'INTFAP: South pole latitude ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'INTFAP: South pole longitude ',NOROTA(2)) IF ( NOREPR.EQ.JPSPHERE ) NOREPR = JPSPHROT IF ( NOREPR.EQ.JPREGULAR ) NOREPR = JPREGROT ITRUNC = ISEC2(2) C C Some rotation coefficients cannot be created because the C algorithm does not converge for rotations which are smaller C than a limit which depends on the spectral truncation. C IF( ITRUNC.LE.63 ) THEN LATLIM = -89.5 ELSE IF( ITRUNC.LE.106 ) THEN LATLIM = -85.0 ELSE IF( ITRUNC.LE.159 ) THEN LATLIM = -77.0 ELSE IF( ITRUNC.LE.213 ) THEN LATLIM = -68.0 ELSE IF( ITRUNC.LE.319 ) THEN LATLIM = -51.0 ELSE IF( ITRUNC.LE.511 ) THEN #ifdef __uxp__ LATLIM = -30.5 #else LATLIM = -29.5 #endif ELSE INTFAP = JPROUTINE + 7 GOTO 900 ENDIF CALL INTLOGR(JP_DEBUG, X 'INTFAP: South pole latitude limit = ',LATLIM) C POLELAT = (REAL(NOROTA(1))/JPMULT) C C If the rotation is too small, it has to be split into three C steps (two forward and one backward). C LSPLIT = POLELAT.LT.LATLIM IF( LSPLIT ) THEN DLAT = -90.0 - LATLIM CALL INTLOG(JP_DEBUG, X 'INTFAP: Rotation has been split into three steps',JPQUIET) ELSE DLAT = -90.0 - POLELAT ENDIF #if (defined CRAY) || (defined REAL_8) C C Double precision REALs C DLON = - REAL(NOROTA(2))/JPMULT C C Rotate the spectral field by longitude. CALL RPHI( ZNFELDI, ITRUNC, DWORK, DLON) C C Rotate the spectral field by latitude. C IF( LSPLIT ) THEN C C Two rotations forward .. C CALL INTLOGR(JP_DEBUG, X 'INTFAP: Twice forward through angle ', DLAT) #if (!defined __uxp__) LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF #endif C C .. and one backward C DLAT = -90.0 - ( (LATLIM*2.0) - POLELAT) DLAT= -DLAT CALL INTLOGR(JP_DEBUG, X 'INTFAP: Once backward through angle ', DLAT) ENDIF C #if (!defined __uxp__) LOK = JACOBI( ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF #endif #else C C Single precision REALs; so convert to double precision. C DLAT = -90.0 - DBLE(NOROTA(1))/JPMULT DLON = - DBLE(NOROTA(2))/JPMULT C C Expand spectral coefficients to REAL*8 C DO LOOP = 1, ISEC4(1) DATA(LOOP) = DBLE(ZNFELDI(LOOP)) ENDDO C C Rotate the spectral field by longitude. CALL RPHI( DATA, ITRUNC, DWORK, DLON) C C Rotate the spectral field by latitude. C IF( LSPLIT ) THEN C C Two rotations forward .. C CALL INTLOGR(JP_DEBUG, X 'INTFAP: Twice forward through angle ', DLAT) #if (!defined __uxp__) LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'INTFAP: Spectral rotation failed',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF #endif C C .. and one backward C DLAT = -90.0 - ( (LATLIM*2.0) - POLELAT) DLAT= -DLAT CALL INTLOGR(JP_DEBUG, X 'INTFAP: Once backward through angle ', DLAT) ENDIF C #if (!defined __uxp__) LOK = JACOBI( DATA, ITRUNC, DWORK, DLAT) #else LOK = JACOBIF(DATA, ITRUNC, DWORK, DLAT) #endif #endif C IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR,'INTFAP: Spectral rotation fail',JPQUIET) INTFAP = JPROUTINE + 3 GOTO 900 ENDIF #if (!defined CRAY) && (!defined REAL_8) C C Single precision REALs; repack spectral coefficients to REAL*4. C DO LOOP = 1, ISEC4(1) ZNFELDI(LOOP) = SNGL(DATA(LOOP)) ENDDO #endif C ENDIF C C -----------------------------------------------------------------| C* Section 4. Handle gaussian rotation, if necessary. C -----------------------------------------------------------------| C 400 CONTINUE C C Is the interpolation from gaussian with a rotation of the C gaussian first? C IF( ((NIREPR.EQ.JPGAUSSIAN).OR.(NIREPR.EQ.JPQUASI)) .AND. X LNOROTA ) THEN C CALL INTLOG(JP_DEBUG,'INTFAP: Rotate gaussian field.',JPQUIET) CALL INTLOG(JP_DEBUG,'INTFAP: South pole latitude ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'INTFAP: South pole longitude ',NOROTA(2)) C C Dynamically allocate memory for workspace. C NUMPTS = ISEC4(1) ISIZE = NUMPTS CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFAP: memory allocation fail',ISWORK) INTFAP = JPROUTINE + 4 GOTO 900 ENDIF C C Rotate the gaussian field. C POLELAT = REAL(NOROTA(1))/JPMULT POLELON = REAL(NOROTA(2))/JPMULT NGAUSS = ISEC2(3)/2 IF( NIREPR.EQ.JPGAUSSIAN ) THEN TYPE = 'F' ELSE TYPE = 'R' ENDIF IRET = NGROTAT(ZNFELDI,SWORK,NUMPTS,POLELAT,POLELON,TYPE,NGAUSS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFAP: Gaussian rotation fail',JPQUIET) INTFAP = JPROUTINE + 5 GOTO 900 ENDIF C C Move rotated field back into field original array. C DO LOOP = 1, NUMPTS ZNFELDI(LOOP) = SWORK(LOOP) ENDDO C ENDIF C C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/waveidx.F0000755000175000017500000002535112127406245022134 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WAVEIDX(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM, NUMNEW, NEWLATS, X NEWIDX, DISTNEW) C C----> C*****WAVEIDX* C C PURPOSE C ------- C C Determines which nearest-neighbour values of an input global wave C 2D-spectra grid field to use for an output global wave 2D-spectra C grid field. C C C INTERFACE C --------- C C IRET = WAVEIDX(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, C X KNEWNUM, NUMNEW, NEWLATS, C X NEWIDX, DISTNEW) C C Input arguments C --------------- C C KOLDNUM - No. of meridians from North to South pole (input field) C NUMOLD - Array giving number of points along each latitude C (empty latitudes have entry 0) C OLDLATS - input field latitudes C OLDWEST - western longitude of the input field (degrees) C OLDEAST - eastern longitude of the input field (degrees) C C KNEWNUM - No. of meridians from North to South pole (output field) C NUMNEW - Array giving number of points along each latitude C (empty latitudes have entry 0) C NEWLATS - output field latitudes C C Output arguments C ---------------- C C NEWIDX - Indices of four neighbours C DISTNEW - Distances of current 'box' edges from new point C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C The indices of the nearest four neighbouring grid points of the C input field is assigned to each point of the output grid. C The indices are zero if the output grid point is 'missing'. C C The input field can be regular or quasi-regular, and can be C global or a subarea. C The output field can be regular or quasi-regular. C C C EXTERNALS C --------- C C INTLOG - Log error message. C C C REFERENCE C --------- C C None C C C Author. C ------- C C J.D.Chambers ECMWF January 1998 C C C----< C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19410 ) INTEGER JPLLMAX PARAMETER ( JPLLMAX = 1801 ) C `--> allow upto 0.1 degree resolution. INTEGER JPNMOUT PARAMETER ( JPNMOUT = 1800 ) C `--> allow upto 0.1 degree resolution. INTEGER JPNW, JPNE, JPSW, JPSE, JPN, JPS INTEGER JPDISNW, JPDISNE, JPDISSW, JPDISSE PARAMETER (JPNW = 1) PARAMETER (JPNE = 2) PARAMETER (JPSW = 3) PARAMETER (JPSE = 4) PARAMETER (JPN = 5) PARAMETER (JPS = 6) PARAMETER (JPDISNW = 7) PARAMETER (JPDISNE = 8) PARAMETER (JPDISSW = 9) PARAMETER (JPDISSE = 10) C C Function arguments C INTEGER KOLDNUM, NUMOLD, KNEWNUM, NUMNEW DIMENSION NUMOLD(*), NUMNEW(*) REAL OLDWEST, OLDEAST, OLDLATS, NEWLATS DIMENSION OLDLATS(*), NEWLATS(*) INTEGER NEWIDX DIMENSION NEWIDX(4,*) REAL*4 DISTNEW DIMENSION DISTNEW(10,*) C C Local arguments C INTEGER K, NEWCOL, NEWROW, INCOL, LOOP, NEXT, NUMMAX INTEGER I_NW, I_SW, I_N, I_S, I_NE, I_SE REAL*8 DELONGN, DELONGS, DIFF, RESOL, DINC, DEPS REAL*8 DIST_NW, DIST_SW, DIST_NE, DIST_SE, DIST_N, DIST_S REAL*8 DISNW, DISNE, DISSW, DISSE REAL*8 ZXIN, ZXIS, LON, LAT, OWEST, OEAST DIMENSION LON(JPNMOUT*2) LOGICAL LINGNS, LINGWE INTEGER INDEXI DIMENSION INDEXI(JPLLMAX) LOGICAL LGLOBAL, LFULLG, LGWRAP DATA DEPS/0.0005/ C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WAVEIDX = 0 CALL INTLOG(JP_DEBUG, X 'WAVEIDX: Wave interpolation requested.',JPQUIET) C C Check latitude/longitude grid specification C IF( KOLDNUM.GT.JPLLMAX ) THEN CALL INTLOG(JP_ERROR, X 'WAVEIDX: Number of latitudes in input grid = ',KOLDNUM) CALL INTLOG(JP_ERROR, X 'WAVEIDX: And is greater than allowed maximum = ',JPLLMAX) WAVEIDX = JPROUTINE + 1 GOTO 900 ENDIF C C Set up INDEXI for latitude lines in input lat/lon array C INDEXI(1) = 0 DO LOOP = 2, KOLDNUM INDEXI(LOOP) = INDEXI(LOOP-1) + NUMOLD(LOOP-1) ENDDO C OEAST = OLDEAST OWEST = OLDWEST C C Check whether the input field is global or a subarea C NUMMAX = NUMOLD(1) DO LOOP = 2, KOLDNUM IF( NUMOLD(LOOP).GT.NUMMAX ) NUMMAX = NUMOLD(LOOP) ENDDO IF( NUMMAX.LE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEIDX: Input wave field has no points',JPQUIET) WAVEIDX = JPROUTINE + 2 GOTO 900 ENDIF C LGWRAP = ABS((OEAST-OWEST) - DBLE(360.0)).LT.DEPS DINC = 360.0/DBLE(NUMMAX) LFULLG = ABS((DMOD((OEAST-OWEST+DBLE(360.0)),DBLE(360.0)) X +DINC)-DBLE(360.0)).LT.DEPS C LGLOBAL = LFULLG.OR.LGWRAP C C --------------------------------------------------------------------- C* Section 2. Interpolation. C --------------------------------------------------------------------- C 200 CONTINUE C NEXT = 1 C DO 220 NEWROW = 1, KNEWNUM C C Find old latitude rows to north and south of new latitude and C set up the distance between new row and the old rows to N and S. C DO LOOP = 1, KOLDNUM -1 IF( (NEWLATS(NEWROW).LE.OLDLATS(LOOP)) .AND. X (NEWLATS(NEWROW).GT.OLDLATS(LOOP+1)) ) THEN I_N = LOOP I_S = MIN(LOOP+1,KOLDNUM) GOTO 205 ENDIF ENDDO C IF( NEWLATS(NEWROW).EQ.OLDLATS(KOLDNUM) ) THEN I_N = KOLDNUM I_S = KOLDNUM ELSE I_N = -1 I_S = -1 ENDIF C 205 CONTINUE IF( I_N.NE.I_S) THEN DIFF = OLDLATS(I_N) - OLDLATS(I_S) DIST_N = (OLDLATS(I_N) - NEWLATS(NEWROW)) / DIFF ELSE DIST_N = 1.0 ENDIF DIST_S = 1.0 - DIST_N C C Check if the new interpolated row lies between 2 old rows which C have data points C LINGNS = .FALSE. IF( I_N.GT.0 ) THEN IF( (NUMOLD(I_N).GT.0).AND.(NUMOLD(I_S).GT.0) ) THEN C C Yes, so set up the grid increments. C C Note that the grid increments are different depending on C whether or not the grid is global; global grids have an C extra interval at the end (eg between 358.5 and 0.0), while C subareas have outer limits defined by 'west' and 'east' and C a given number of points in between. C IF( LGLOBAL ) THEN DELONGN = 360.0/DBLE(NUMOLD(I_N)) DELONGS = 360.0/DBLE(NUMOLD(I_S)) ELSE DELONGN = DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X / DBLE(NUMOLD(I_N)-1) DELONGS = DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X / DBLE(NUMOLD(I_S)-1) ENDIF LINGNS = .TRUE. ENDIF C ENDIF C C Setup longitudes for the current row C INCOL = NUMNEW(NEWROW) IF( INCOL.NE.0 ) THEN RESOL = 360.0/DBLE(INCOL) DO LOOP = 1, INCOL LON(LOOP) = DBLE(LOOP-1)*RESOL ENDDO C DO 210 NEWCOL = 1, INCOL C LINGWE = (LON(NEWCOL).GT.OWEST).OR.(LON(NEWCOL).LT.OEAST) C IF( LINGNS .AND. LINGWE ) THEN C C If point to be interpolated is inside the input field , C work out distances from new point to four neighbours. C ZXIN = DMOD((LON(NEWCOL)+(DBLE(360.0)-OWEST)+DBLE(720.0)), X DBLE(360.0)) ZXIS = ZXIN ZXIN = ZXIN/DELONGN + 1.0 ZXIS = ZXIS/DELONGS + 1.0 I_NW = INT(ZXIN) I_NE = I_NW + 1 I_SW = INT(ZXIS) I_SE = I_SW + 1 C C Allow wrap-around C I_NW = MOD(I_NW,NUMOLD(I_N)) I_NE = MOD(I_NE,NUMOLD(I_N)) I_SW = MOD(I_SW,NUMOLD(I_S)) I_SE = MOD(I_SE,NUMOLD(I_S)) IF( I_NW.EQ.0 ) I_NW = NUMOLD(I_N) IF( I_SW.EQ.0 ) I_SW = NUMOLD(I_S) IF( I_NE.EQ.0 ) I_NE = NUMOLD(I_N) IF( I_SE.EQ.0 ) I_SE = NUMOLD(I_S) C C Calculate distance from interpolated point to its neighbours C DIST_NW = ZXIN - REAL(I_NW) DIST_NE = 1.0 - DIST_NW DIST_SW = ZXIS - REAL(I_SW) DIST_SE = 1.0 - DIST_SW C DISTNEW(JPDISNW,NEXT) = (DIST_NW*DIST_NW + DIST_N*DIST_N) DISTNEW(JPDISNE,NEXT) = (DIST_NE*DIST_NE + DIST_N*DIST_N) DISTNEW(JPDISSW,NEXT) = (DIST_SW*DIST_SW + DIST_S*DIST_S) DISTNEW(JPDISSE,NEXT) = (DIST_SE*DIST_SE + DIST_S*DIST_S) C DISTNEW(JPNW,NEXT) = DIST_NW DISTNEW(JPNE,NEXT) = DIST_NE DISTNEW(JPSW,NEXT) = DIST_SW DISTNEW(JPSE,NEXT) = DIST_SE DISTNEW(JPN ,NEXT) = DIST_N DISTNEW(JPS ,NEXT) = DIST_S C NEWIDX(JPNW,NEXT) = INDEXI(I_N)+I_NW NEWIDX(JPNE,NEXT) = INDEXI(I_N)+I_NE NEWIDX(JPSW,NEXT) = INDEXI(I_S)+I_SW NEWIDX(JPSE,NEXT) = INDEXI(I_S)+I_SE C C If the point to be interpolated is outside the input field, C set it to 'land'. C ELSE C DISTNEW(JPNW,NEXT) = 0 DISTNEW(JPNE,NEXT) = 0 DISTNEW(JPSW,NEXT) = 0 DISTNEW(JPSE,NEXT) = 0 DISTNEW(JPN ,NEXT) = 0 DISTNEW(JPS ,NEXT) = 0 C DISTNEW(JPDISNW,NEXT) = 0 DISTNEW(JPDISNE,NEXT) = 0 DISTNEW(JPDISSW,NEXT) = 0 DISTNEW(JPDISSE,NEXT) = 0 C NEWIDX(JPNW,NEXT) = 0 NEWIDX(JPNE,NEXT) = 0 NEWIDX(JPSW,NEXT) = 0 NEWIDX(JPSE,NEXT) = 0 C ENDIF C NEXT = NEXT + 1 C 210 CONTINUE C ENDIF C 220 CONTINUE C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE C IF( WAVEIDX.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, 'WAVEIDX: successful.',JPQUIET) ELSE CALL INTLOG(JP_ERROR, 'WAVEIDX: failed.',JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/intocnu.F0000755000175000017500000011265612127406245022151 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTOCNU(HICODE,HSCODE,RTOP,RBOTT,RRIGHT,RLEFT, * RYRES,RXRES, * INOCEAN,KLENP,KLENI,TARRAY, * XARR,YARR,NXP,NYP,PARRAY,IINTPOL,ISTAGP) C C----> C**** INTOCNU - interpolates grib ocean data C C C PURPOSE C ------- C Interpolates data to new grid, according to instructions. C Missing data is flagged with -999.9; this information is C passed to the new field. C C C Interface. C ---------- C C IRET = INTOCNU(....) C C Input parameters. C ----------------- C C HICODE Interpolation code C 'N' No interpolation C 'R' Interpolate only to make grid Regular C 'X' Interpolate in x only C 'Y' Interpolate in y only C 'F' Interpolate in x and y (Full) C HSCODE Staggered grid code C 'D' Drop every second row ('even' points) C 'X' Augment to standard grid by x interpolation C 'Y' Augment to standard grid by y interpolation C 'F' Augment to standard grid by x-y interpolation C RTOP Top of output field domain (degrees/metres/days) C RBOTT Bottom of output field domain ( " ) C RRIGHT Right of output field domain ( " ) C RLEFT Left of output field domain ( " ) C RYRES Resolution for y-interpolation ( " ) C RXRES Resolution for x-interpolation ( " ) C KSEC1 Product definition block (+ high res. grid data) C INOCEAN Input data array C KLENP Size of input array C KLENI Size of scratch array (and also output array PARRAY) C TARRAY Scratch array for use during interpolation C C Output parameters. C ------------------ C C Returns 0 if the interpolation is successful, otherwise non-zero. C C XARR x cordinates of data values, or XO,XSTEP, C 0.0 for regular spacing C YARR y cordinates of data values, or YO,YSTEP, C 0.0 for regular spacing C NXP x dimension of output field C NYP y dimension of output field C PARRAY output field array C IINTPOL Flag for interpolation done C = 0 if none, C = 1 if x only, C = 2 if y only, C = 3 if x and y. C ISTAGP Flag to show processing done for staggered grid: C = 0 if none C = 2 if every second row dropped. C = 3 if interpolated in x only. C = 4 if interpolated in y only. C = 5 if interpolated in x and y. C C C Method. C ------- C Convention is always to have output field array starting in bottom C left hand corner of the field. The positional information for the C data and for the axes is also given starting in the bottom left C hand corner. This means YARR and INOCEAN must be inverted for the C default grib scanning, which starts in the top left hand corner. C C C Externals. C ---------- C C INTLOG - Logs warning messages. C INTLOGR - Logs warning messages. C C C Reference. C ---------- C C None. C C C Author. C ------- C C T. Stockdale ECMWF 23.02.93 C C C Modifications. C -------------- C C T. Stockdale ECMWF 20.05.93 C Revised for local grib. C C J.D.Chambers ECMWF 04.10.95 C Make into a function (remove STOPs). C C T. Stockdale ECMWF 26.09.02 C Drop odd points (not even) from E grid, for better land sea mask C C T. Stockdale ECMWF 07.10.02 C New standard code (matches latest rd version) C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C C Parameters INTEGER JPROUTINE, JP_LONG PARAMETER (JPROUTINE = 33300 ) PARAMETER (JP_LONG = 3 ) C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Subroutine arguments. CHARACTER*1 HICODE,HSCODE REAL RTOP, RBOTT, RRIGHT, RLEFT, RYRES, RXRES INTEGER KLENP, KLENI, NXP, NYP, IINTPOL, ISTAGP REAL INOCEAN, TARRAY, XARR, YARR, PARRAY DIMENSION INOCEAN(*) DIMENSION XARR(*), YARR(*) DIMENSION TARRAY(KLENI), PARRAY(KLENI) C C Local variables INTEGER NX, NY, KLAT1, KLAT2, KLON1, KXINC, KYINC, ISTAG INTEGER IIRREG, JGCL, J, I, JSKIP, NXLEFT, NXRIGH, IWRAP, JI INTEGER JIP, JJ, IOFFSET, NEWPTS, JN, IPOS, IPOSM, JPOS INTEGER IPOSP1M, JMIN, JMAX, JLEFT, JJP, JJEFF INTEGER NYLEFTI, NYLEFT, NYRIGH REAL XUNIT, YUNIT, RRVAL, RLVAL, RUVAL, RDVAL, RXIRES REAL XSIGN, XRSIGN, XFPREV, XFPOSN, RPOS, RVALL, RVALR REAL XVAL, XOWEST, XORES, XPSIGN, RVAL, RYIRES, YFPREV, YFPOSN REAL YSIGN, YPSIGN, YRSIGN, RMISS, EPS REAL RVALB, RVALT, XOSOUT LOGICAL LNEAREST C C YSIGN Flag for direction of y co-ords in data: C +1 if co-ords are increasing with index of INOCEAN C -1 if decreasing. C YPSIGN Flag for direction of y co-ords in output field: C +1 if co-ords are increasing up the page, C -1 if decreasing. C YRSIGN Flag for direction of y co-ords in output field relative C to that in data: YSIGN*YPSIGN C IINTPOL Flag for interpolation: C 0 = none, C 1 = x only, C 2 = y only, C 3 = x and y C RMISS Value for missing data C EPS Tolerance on missing data flag C C EXTERNAL INTUP, INTDN, LENA, HDEGS, HMETRES INTEGER INTUP, INTDN, LENA CHARACTER*6 HDEGS, HMETRES C C Inline function - tests TRUE if A is a missing value REAL A LOGICAL MISSING MISSING(A) = ( ABS(RMISS-A) .LT. EPS ) C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C INTOCNU = 0 C C Set key variables from GRIB header blocks. C NX = NIWE NY = NINS C cs Coordinate 4 of first grid point KLAT1 = NIOCO4F cs Coordinate 4 of last grid point KLAT2 = NIOCO4L cs Coordinate 3 of first grid point KLON1 = NIOCO3F cs i-increment KXINC = NIOIINC cs j-increment KYINC = NIOJINC C cs Flag for normal or staggered grid ISTAG = NIONOST cs Flag for irregular grid coordinate list IIRREG = NIOIRGR cs 71 Number of entries in the horizontal coordinate definition cs 72 Number of entries in mixed coordinate definition cs JGCL = 74+KSEC1(71)+KSEC1(72) JGCL = 0 C cs Coordinate 3 flag (x-axis, usually longitude). IF(NIOCO3.EQ.1) THEN XUNIT = 1.0/3600.0 ELSE XUNIT = 1.0E-6 ENDIF C cs Coordinate 4 flag (y-axis, usually latitude). IF(NIOCO4.EQ.2) THEN YUNIT = 1.0E-3 ELSE IF(NIOCO4.EQ.1) THEN YUNIT = 1.0/3600.0 ELSE YUNIT = 1.0E-6 ENDIF C IINTPOL = 0 cs RMISS = 9999.0 cs set it from grib_api RMISS = RMISSGV EPS = 0.1 cs EPS = 0.01 C C ------------------------------------------------------------------ C* Section 2 . Deal with staggered grid if present. C ------------------------------------------------------------------ C 200 CONTINUE C C The approach in this section is to replace the staggered grid by C a non-staggered version, either by interpolating the data onto new C grid points or by simply dropping half of the data points. A new C version of INOCEAN is created, and parts of KSEC1 are modified. C This enables the rest of INTOCNU to treat the field in a consistent C manner, BUT it means that KSEC1 and INOCEAN will be altered on C leaving this subroutine (and presently in an inconsistent way). C C The interpolations coded in this section ignore the metric of the C staggered grid, that is they simply average neighbouring values to C find a new grid point value. The more general case can be added C later if desired. C C Note: we prefer to drop odd points and keep even points, because C the standard version of HOPE2 uses an external mask to define the C land-sea mask of its even points. The mask for odd points then has C to be interpolated, which is less accurate, so the plots look C better if the even points are kept. C C IF(ISTAG.EQ.1) THEN C C Drop odd row points ... C IF(HSCODE.EQ.'D') THEN ISTAGP = 2 NY = NY/2 KYINC = KYINC*2 DO 210 J = 1,NY DO 210 I = 1,NX INOCEAN(I+NX*(J-1)) = INOCEAN(I+NX*((J-1)*2+1)) 210 CONTINUE C C Reset the grid coordinate list. C Remove the y coordinates of the even rows, C the x coordinates of the even rows, and also the first x C coordinate of an even regular row. C cs Grid coordinate list IF(IIRREG.EQ.2) THEN KLON1 = OCCOOR(1) DO 212 J = 1,NY OCCOOR(J) = OCCOOR(1+2*J) 212 CONTINUE C ELSE IF(IIRREG.EQ.3) THEN KLON1 = OCCOOR(1) JSKIP = NX DO 214 J = 1,NY OCCOOR(JSKIP+J) = OCCOOR(JSKIP+NX+2*J) 214 CONTINUE ENDIF C C* Staggered grid: interpolation in x. C ELSE IF(HSCODE.EQ.'X') THEN ISTAGP = 3 NX = NX*2 KXINC = KXINC/2 IF(((NX*NY).GT.KLENI).OR.((NX*NY).GT.KLENP)) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENP) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENI) INTOCNU = JPROUTINE + 17 GOTO 900 ENDIF C C Expand the data into a temporary array, and then copy back C into INOCEAN. Note the treatment of the end points, which C assumes a longitude wrap-round. Remember to mask land points C so that either both points are missing or neither. C DO 220 J = 1,NY,2 RRVAL = INOCEAN(1+(J-1)*NX/2) RLVAL = INOCEAN(NX/2+(J-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(1+(J-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(2+(J-1)*NX) = INOCEAN(1+(J-1)*NX/2) DO 220 I = 2,NX/2 RRVAL = INOCEAN(I +(J-1)*NX/2) RLVAL = INOCEAN(I-1+(J-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(I*2-1+(J-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(I*2 +(J-1)*NX) = INOCEAN(I +(J-1)*NX/2) 220 CONTINUE C DO 222 J = 2,NY,2 RRVAL = INOCEAN(1+(J-1)*NX/2) RLVAL = INOCEAN(NX/2+(J-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(NX+(J-1)*NX) = (RLVAL+RRVAL)*0.5 TARRAY(NX-1+(J-1)*NX) = INOCEAN(NX/2+(J-1)*NX/2) DO 222 I = 1,NX/2-1 RRVAL = INOCEAN(I+1+(J-1)*NX/2) RLVAL = INOCEAN(I +(J-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(I*2 +(J-1)*NX) = (RLVAL+RRVAL)*0.5 TARRAY(I*2-1+(J-1)*NX) = INOCEAN(I +(J-1)*NX/2) 222 CONTINUE DO 224 J = 1,NY DO 224 I = 1,NX INOCEAN(I+(J-1)*NX) = TARRAY(I+(J-1)*NX) 224 CONTINUE C C Reset the grid coordinate list if necessary, again making C use of a temporary array. Expand the x-coordinate list, C and remove the x coordinate of the first even point if grid C is regular in x. C KLON1 = OCCOOR(1) IF((IIRREG.EQ.1).OR.(IIRREG.EQ.3)) THEN JSKIP = 0 DO 226 J = 1,NX/2 TARRAY(J*2-1) = OCCOOR(JSKIP+J) TARRAY(J*2) = OCCOOR(JSKIP+NX/2+J) 226 CONTINUE DO 227 J = 1,NX OCCOOR(JSKIP+J) = TARRAY(J) 227 CONTINUE ELSE IF((IIRREG.EQ.2)) THEN DO 228 J = 1,NY OCCOOR(J) = OCCOOR(1+J) 228 CONTINUE ENDIF C C Staggered grid: interpolation in y. C ELSE IF(HSCODE.EQ.'Y') THEN ISTAGP = 4 NX = NX*2 KXINC = KXINC/2 IF(((NX*NY).GT.KLENI).OR.((NX*NY).GT.KLENP)) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENP) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENI) INTOCNU = JPROUTINE + 18 GOTO 900 ENDIF C C Expand the data into a temporary array, and then copy back C into INOCEAN. For the polarmost rows, use X interpolation. C C First the even rows... DO 230 J = 2,NY-1,2 DO 230 I = 1,NX/2 RUVAL = INOCEAN(I+(J-2)*NX/2) RDVAL = INOCEAN(I+(J )*NX/2) IF(MISSING(RUVAL)) RDVAL = RMISS IF(MISSING(RDVAL)) RUVAL = RMISS TARRAY(I*2 +(J-1)*NX) = (RDVAL+RUVAL)*0.5 TARRAY(I*2-1+(J-1)*NX) = INOCEAN(I+(J-1)*NX/2) 230 CONTINUE RRVAL = INOCEAN(1+(NY-1)*NX/2) RLVAL = INOCEAN(NX/2+(NY-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(NX+(NY-1)*NX) = (RLVAL+RRVAL)*0.5 TARRAY(NX-1+(NY-1)*NX) = INOCEAN(NX/2+(NY-1)*NX/2) DO 231 I = 2,NX/2 RRVAL = INOCEAN(I+1+(NY-1)*NX/2) RLVAL = INOCEAN(I+(NY-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(I*2+(NY-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(I*2-1+(NY-1)*NX) = INOCEAN(I+(NY-1)*NX/2) 231 CONTINUE C C Then the odd rows DO 232 J = 3,NY-1,2 RUVAL = INOCEAN(NX/2+(J-2)*NX/2) RDVAL = INOCEAN(NX/2+(J )*NX/2) IF(MISSING(RUVAL)) RDVAL = RMISS IF(MISSING(RDVAL)) RUVAL = RMISS TARRAY(1+(J-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(2+(J-1)*NX) = INOCEAN(1+(J-1)*NX/2) DO 232 I = 1,NX/2 RUVAL = INOCEAN(I+(J-2)*NX/2) RDVAL = INOCEAN(I+(J )*NX/2) IF(MISSING(RUVAL)) RDVAL = RMISS IF(MISSING(RDVAL)) RUVAL = RMISS TARRAY(I*2-1+(J-1)*NX) = (RDVAL+RUVAL)*0.5 TARRAY(I*2 +(J-1)*NX) = INOCEAN(I+(J-1)*NX/2) 232 CONTINUE C RRVAL = INOCEAN(1+(1-1)*NX/2) RLVAL = INOCEAN(NX/2+(1-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(1+(1-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(2+(1-1)*NX) = INOCEAN(1+(1-1)*NX/2) DO 233 I = 2,NX/2 RRVAL = INOCEAN(I+(1-1)*NX/2) RLVAL = INOCEAN(I-1+(1-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(I*2-1+(1-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(I*2+(1-1)*NX) = INOCEAN(I+(1-1)*NX/2) 233 CONTINUE DO 234 J = 1,NY DO 234 I = 1,NX INOCEAN(I+(J-1)*NX) = TARRAY(I+(J-1)*NX) 234 CONTINUE C C Reset the grid coordinate list if necessary, again making C use of a temporary array. Expand the x-coordinate list, C and remove the x coordinate of the first even point if C grid is regular in x. C IF((IIRREG.EQ.1).OR.(IIRREG.EQ.3)) THEN JSKIP = 0 DO 235 J = 1,NX/2 TARRAY(J*2-1) = OCCOOR(JSKIP+J) TARRAY(J*2) = OCCOOR(JSKIP+NX/2+J) 235 CONTINUE DO 236 J = 1,NX OCCOOR(JSKIP+J) = TARRAY(J) 236 CONTINUE ELSE IF((IIRREG.EQ.2)) THEN DO 237 J = 1,NY OCCOOR(J) = OCCOOR(1+J) 237 CONTINUE ENDIF C C Staggered grid: interpolation in x and y. C ELSE IF(HSCODE.EQ.'F') THEN ISTAGP = 5 CALL INTLOG(JP_ERROR,'INTOCNU: Staggered grid opt. F',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: (interpolate x and y)',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: not yet implemented.',JPQUIET) INTOCNU = JPROUTINE + 1 GOTO 900 ELSE CALL INTLOG(JP_ERROR,'INTOCNU: Staggered grid option',JPQUIET) CALL INTLOG(JP_ERROR,HSCODE,JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: not known.',JPQUIET) INTOCNU = JPROUTINE + 2 GOTO 900 ENDIF C ISTAG = 0 C ELSE ISTAGP = 0 ENDIF C C ------------------------------------------------------------------ C* Section 3 . Set X coordinates and interpolate in X. C ------------------------------------------------------------------ C 300 CONTINUE C C The procedure is first to do the x interpolation (if any), and C copy the result into a temporary array. The y interpolation is C done in the next section. C C The one complication here is to ensure proper longitude wrap-round C where appropriate. C C Some plot systems have difficulty controlling the data within the C viewport. Because of this, and in the interests of efficiency, the C data arrays are truncated even if no interpolation is being done. C C C No interpolation in X. C IF((HICODE.EQ.'N').OR. * ((HICODE.EQ.'R').AND.((IIRREG.EQ.0).OR.(IIRREG.EQ.2))).OR. * (HICODE.EQ.'Y') ) THEN C C If x is longitude, set parameters up for wrap-round C Wrap-round activated only if longitude range of data > 350 deg. C IF((IIRREG.EQ.0).OR.(IIRREG.EQ.2)) THEN RXIRES = KXINC*XUNIT NXLEFT = INTDN((RLEFT-KLON1*XUNIT)/RXIRES+1) NXRIGH = INTUP((RRIGHT-KLON1*XUNIT)/RXIRES+1) NXP = NXRIGH-NXLEFT+1 IF(NXP.LE.1) THEN CALL INTLOG(JP_ERROR,'INTOCNU: NXP negative = ',NXP) INTOCNU = JPROUTINE + 3 GOTO 900 ENDIF XARR(1) = KLON1*XUNIT+(NXLEFT-1)*RXIRES XARR(2) = KXINC*XUNIT XARR(3) = 0.0 cs Coordinate 3 flag (x-axis, usually longitude). IF( (NIOCO3.EQ.3) .AND. (KXINC*NX*XUNIT.GT.350.0) ) THEN IWRAP = 1 ELSE IWRAP = 0 ENDIF C ELSE IF( (IIRREG.EQ.1) .OR. (IIRREG.EQ.3) ) THEN NXP = NX NXLEFT = 1 cs JSKIP = JGCL JSKIP = 0 DO 312 JI = 1,NXP XARR(JI) = OCCOOR(JSKIP+JI)*XUNIT 312 CONTINUE cs Coordinate 3 flag (x-axis, usually longitude). IF( (NIOCO3.EQ.3) .AND. (KXINC*NX*XUNIT.GT.350.0) ) THEN IWRAP = 1 INTOCNU = JPROUTINE + 4 GOTO 900 ELSE IWRAP = 0 ENDIF ENDIF C IF((NXP*NY).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENI) INTOCNU = JPROUTINE + 5 GOTO 900 ENDIF C C Copy the data into the temporary array C DO 318 JI = 1,NXP JIP = JI+NXLEFT-1 IF(IWRAP.EQ.1) THEN IF(JIP.LE.0) JIP = JIP+NX IF(JIP.GT.NX) JIP = JIP-NX ENDIF IF((JIP.GE.1).AND.(JIP.LE.NX)) THEN DO 316 JJ = 1,NY TARRAY(JI+(JJ-1)*NXP) = INOCEAN(JIP+(JJ-1)*NX) 316 CONTINUE ELSE DO 317 JJ = 1,NY TARRAY(JI+(JJ-1)*NXP) = RMISS 317 CONTINUE ENDIF 318 CONTINUE C C Interpolation from a grid irregular in X. C --------------------------------------------- C ELSE IF(((HICODE.EQ.'R').OR. * (HICODE.EQ.'X').OR. * (HICODE.EQ.'F') ).AND. * ((IIRREG.EQ.1).OR.(IIRREG.EQ.3)) ) THEN XPSIGN = SIGN(1.0,(RRIGHT-RLEFT)) NXP = NINT((RRIGHT-RLEFT)/RXRES*XPSIGN)+1 IF((NXP*NY).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENI) INTOCNU = JPROUTINE + 6 GOTO 900 ENDIF RRIGHT = RLEFT+RXRES*XPSIGN*(NXP-1) XARR(1) = RLEFT XARR(2) = RXRES*XPSIGN XARR(3) = 0.0 IINTPOL = IINTPOL+1 IOFFSET = 0 XSIGN = SIGN(1.0,((OCCOOR(IOFFSET+2)-OCCOOR(IOFFSET+1))*1.0)) XRSIGN = XSIGN*XPSIGN DO 321 JI = 1,NXP*NY TARRAY(JI) = RMISS 321 CONTINUE C C Work through the known (irregular) data points. C Calculate the position of the point as a fractional number of C points on the new regular grid C (XFPOSN). If there are any points on the new grid between this C point and the previous one (XFPREV), then set these points by C interpolation between the two known points. XFPREV= (OCCOOR(IOFFSET+1)*XUNIT-RLEFT)/RXRES*XPSIGN- 0.5*XRSIGN DO 324 JI = 1,NX XFPOSN = (OCCOOR(IOFFSET+JI)*XUNIT-RLEFT)/(RXRES*XPSIGN) NEWPTS = INTDN((XFPOSN*XRSIGN))-INTDN((XFPREV*XRSIGN)) DO 323 JN = 1,NEWPTS IPOS = (INTDN(XFPREV*XRSIGN)+JN)*XRSIGN+1 RPOS = (IPOS-1)*1.0 IF((IPOS.GE.1).AND.(IPOS.LE.NXP)) THEN DO 322 JJ = 1,NY RVALL = INOCEAN(JI-1+NX*(JJ-1)) RVALR = INOCEAN(JI+NX*(JJ-1)) IF(.NOT.MISSING(RVALL) .AND. .NOT.MISSING(RVALR) ) THEN XVAL = (XFPOSN-RPOS)/(XFPOSN-XFPREV)*RVALL * +(RPOS-XFPREV)/(XFPOSN-XFPREV)*RVALR ELSE XVAL = RMISS ENDIF TARRAY(IPOS+NXP*(JJ-1)) = XVAL 322 CONTINUE ENDIF 323 CONTINUE XFPREV = XFPOSN 324 CONTINUE C C Interpolation from a grid regular in X. C ELSE IF(((HICODE.EQ.'X').OR.(HICODE.EQ.'F')).AND. * ((IIRREG.EQ.0).OR.(IIRREG.EQ.2)) ) THEN XPSIGN = SIGN(1.0,(RRIGHT-RLEFT)) NXP = NINT((RRIGHT-RLEFT)/RXRES*XPSIGN)+1 IF((NXP*NY).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENI) INTOCNU = JPROUTINE + 7 GOTO 900 ENDIF RRIGHT = RLEFT+RXRES*XPSIGN*(NXP-1) XARR(1) = RLEFT XARR(2) = RXRES*XPSIGN XARR(3) = 0.0 IINTPOL = IINTPOL+1 C C Work through the new regular grid points. Calculate the position C of the point as a fractional number of points on the old grid. C Use this fractional number to estimate the value of the field C at the new point C C (Note that just to the right of the first point, RPOS will be C eg 1.1, not 0.1) C DO 330 JI = 1,NXP*NY TARRAY(JI) = RMISS 330 CONTINUE C XOWEST = KLON1*XUNIT XORES = KXINC*XUNIT DO 3320 JI = 1,NXP RPOS = (RLEFT+(JI-1)*RXRES-XOWEST)/XORES + 1 IPOS = INTDN(RPOS) C C Check for out of bounds, and set to zero unless x is C longitude, in which case attempt to wrap round. IF( (IPOS.GE.1) .AND. ((IPOS+1).LE.NX) ) THEN DO 3310 JJ = 1,NY RVALL = INOCEAN(IPOS+(JJ-1)*NX) RVALR = INOCEAN(IPOS+1+(JJ-1)*NX) IF(.NOT. MISSING(RVALL) .AND. .NOT. MISSING(RVALR) ) THEN RVAL = (IPOS+1-RPOS)*RVALL + (RPOS-IPOS)*RVALR C C Do not set to missing if there is good data close by. ELSEIF( (.NOT.MISSING(RVALL)) .AND. X ((IPOS+1-RPOS).GT.0.5) ) THEN RVAL = RVALL ELSEIF( (.NOT. MISSING(RVALR)).AND. X ((RPOS-IPOS).GT.0.5)) THEN RVAL = RVALR ELSE RVAL = RMISS ENDIF TARRAY(JI+(JJ-1)*NXP) = RVAL 3310 CONTINUE C ELSEIF( NIOCO3.EQ.JP_LONG ) THEN C C This works only if the longitude points are equally spaced C around the globe, ie the gap between the first and last C points is equal to the gap between any other pair of C adjacent points. C IPOSM = MOD(IPOS,NX) IPOSP1M = MOD((IPOS+1),NX) IF(IPOSM.LE.0) IPOSM = IPOSM+NX IF(IPOSP1M.LE.0) IPOSP1M = IPOSP1M+NX DO 3313 JJ = 1,NY RVALL = INOCEAN(IPOSM+(JJ-1)*NX) RVALR = INOCEAN(IPOSP1M+(JJ-1)*NX) IF(.NOT. MISSING(RVALL) .AND. .NOT. MISSING(RVALR) ) THEN RVAL = (IPOS+1-RPOS)*RVALL + (RPOS-IPOS)*RVALR C C Do not set to missing if there is good data close by. ELSEIF( (.NOT.MISSING(RVALL)) .AND. X ((IPOS+1-RPOS).GT.0.5) ) THEN RVAL = RVALL ELSEIF( (.NOT. MISSING(RVALR)).AND. X ((RPOS-IPOS).GT.0.5) ) THEN RVAL = RVALR ELSE RVAL = RMISS ENDIF IF(RVAL.GT.1E6) THEN RVAL = RMISS ENDIF TARRAY(JI+(JJ-1)*NXP) = RVAL 3313 CONTINUE ELSE DO 3316 JJ = 1,NY TARRAY(JI+(JJ-1)*NXP) = RMISS 3316 CONTINUE ENDIF 3320 CONTINUE C ELSE CALL INTLOG(JP_ERROR,'INTOCNU: Error in logic.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: HICODE = ',JPQUIET) CALL INTLOG(JP_ERROR,HICODE,JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: IIRREG = ',IIRREG) INTOCNU = JPROUTINE + 8 GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 4 . Set Y coordinates and interpolate in Y. C ------------------------------------------------------------------ C 400 CONTINUE C C The x-interpolated field in the temporary array is interpolated in C y into the final output field array. Note that the field and the C coordinate array are both inverted in the y direction during this C section. C C Some plot systems have difficulty controlling the data within the C viewport. Because of this, and in the interests of efficiency, the C data arrays are truncated even if no interpolation is being done. C C C No interpolation in Y. C IF((HICODE.EQ.'N').OR. * ((HICODE.EQ.'R').AND.((IIRREG.EQ.0).OR.(IIRREG.EQ.1))).OR. * (HICODE.EQ.'X') ) THEN C C If y is longitude, set parameters up for wrap-round C Wrap-round activated only if longitude range of data > 350 deg. C IF((IIRREG.EQ.0).OR.(IIRREG.EQ.1)) THEN C C Remember to invert calc of NYP if RYIRES -ve ... 22.04.94 RYIRES = KYINC*YUNIT IF(RYIRES.GT.0) THEN NYLEFT = INTDN((RBOTT-KLAT1*YUNIT)/RYIRES+1) NYRIGH = INTUP((RTOP-KLAT1*YUNIT)/RYIRES+1) NYP = NYRIGH-NYLEFT+1 ELSE NYRIGH = INTUP((RBOTT-KLAT1*YUNIT)/RYIRES+1) NYLEFT = INTDN((RTOP-KLAT1*YUNIT)/RYIRES+1) NYP = NYRIGH-NYLEFT+1 ENDIF IF(NYP.LE.1) THEN CALL INTLOG(JP_ERROR,'INTOCNU: NYP negative = ',NYP) INTOCNU = JPROUTINE + 9 GOTO 900 ENDIF C C Remember to invert yarr coordinates ... 06.07.93 YARR(1) = KLAT1*YUNIT+(NYRIGH-1)*RYIRES YARR(2) = -KYINC*YUNIT YARR(3) = 0.0 C C Remember NYLEFT is relative to the inverted array ... 19.01.96 C ... but be careful to do this exactly. 01.04.97 NYLEFTI=NYLEFT NYLEFT=NY+1-NYRIGH NYRIGH=NY+1-NYLEFTI C IF((NIOCO4.EQ.3) .AND. (KYINC*NY*YUNIT.GT.350.0) ) THEN IWRAP = 1 ELSE IWRAP = 0 ENDIF C ELSE IF(IIRREG.EQ.2) THEN IOFFSET = 0 YPSIGN = SIGN(1.0,(RTOP-RBOTT)) YSIGN = SIGN(1.0,((OCCOOR(IOFFSET+2)-OCCOOR(IOFFSET+1))*1.0)) YRSIGN = YSIGN*YPSIGN JMIN = 0 DO 410 JI = 1,NY YARR(JI) = OCCOOR((IOFFSET+NY+1-JI))*YUNIT IF(YRSIGN.LT.0.0) THEN IF((YARR(JI)-RBOTT)*YSIGN .GT. 0.0) JMIN = JI IF((YARR(JI)-RTOP )*YSIGN .GT. 0.0) JMAX = JI+1 ELSE IF((YARR(JI)-RTOP )*YSIGN .GT. 0.0) JMIN = JI IF((YARR(JI)-RBOTT)*YSIGN .GT. 0.0) JMAX = JI+1 ENDIF 410 CONTINUE IF(JMIN.EQ.0) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Domain out of range.',JPQUIET) CALL INTLOGR(JP_ERROR,'INTOCNU: Requested Y = ',RBOTT) CALL INTLOGR(JP_ERROR,'INTOCNU: Data limit of Y = ',YARR(1)) INTOCNU = JPROUTINE + 10 GOTO 900 ENDIF IF(JMAX.EQ.NY+1) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Domain out of range.',JPQUIET) CALL INTLOGR(JP_ERROR,'INTOCNU: Requested Y = ',RTOP) CALL INTLOGR(JP_ERROR,'INTOCNU: Data limit of Y = ',YARR(NY)) INTOCNU = JPROUTINE + 11 GOTO 900 ENDIF C NYP = (JMAX-JMIN)+1 NYLEFT = JMIN DO 411 JI = 1,NYP YARR(JI) = YARR(JI+(NYLEFT-1)) 411 CONTINUE C IF((NIOCO4.EQ.3) .AND. (KYINC*NY*YUNIT.GT.350.0) ) THEN IWRAP = 1 CALL INTLOG(JP_ERROR,'INTOCNU: Irregular wrap-round',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: not yet implemented.',JPQUIET) INTOCNU = JPROUTINE + 12 GOTO 900 ELSE IWRAP = 0 ENDIF C ELSE IF(IIRREG.EQ.3) THEN NYP = NY NYLEFT = 1 JSKIP = NX DO 412 JI = 1,NYP YARR(JI) = OCCOOR(JSKIP+(NY+1-JI))*YUNIT 412 CONTINUE IF((NIOCO4.EQ.3) .AND. (KYINC*NY*YUNIT.GT.350.0) ) THEN IWRAP = 1 CALL INTLOG(JP_ERROR,'INTOCNU: Irregular wrap-round',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: not yet implemented.',JPQUIET) INTOCNU = JPROUTINE + 13 GOTO 900 ELSE IWRAP = 0 ENDIF ENDIF C IF((NXP*NYP).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: Required = ',NXP*NYP) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENI) INTOCNU = JPROUTINE + 14 GOTO 900 ENDIF C C Copy the data into the temporary array, and invert it at C same time. C Note: NYLEFT is the starting index in the inverted data array. C c DO 416 JJ = 1,NYP c DO 414 JI = 1,NXP c PARRAY(JI+(JJ-1)*NXP) = TARRAY(JI+(NY-JJ)*NXP) c 414 CONTINUE c 416 CONTINUE C DO 418 JJ = 1,NYP cc JJP = JJ+NYLEFT-1 JLEFT = NY-(NYLEFT-1) JJP = JLEFT-JJ+1 IF(IWRAP.EQ.1) THEN IF(JJP.LE.0) JJP = JJP+NY IF(JJP.GT.NY) JJP = JJP-NY ENDIF IF((JJP.GE.1).AND.(JJP.LE.NY)) THEN DO 416 JI = 1,NXP cc PARRAY(JI+(NYP-JJ)*NXP) = TARRAY(JI+(JJP-1)*NXP) PARRAY(JI+(JJ-1)*NXP) = TARRAY(JI+(JJP-1)*NXP) 416 CONTINUE ELSE DO 417 JI = 1,NXP PARRAY(JI+(NYP-JJ)*NXP) = RMISS 417 CONTINUE ENDIF 418 CONTINUE C C Interpolation from a grid irregular in Y. C ELSE IF(((HICODE.EQ.'R').OR. * (HICODE.EQ.'Y').OR. * (HICODE.EQ.'F') ).AND. * ((IIRREG.EQ.2).OR.(IIRREG.EQ.3)) ) THEN YPSIGN = SIGN(1.0,(RTOP-RBOTT)) IF( YPSIGN.GT.0 ) THEN NYP = NINT((RTOP-RBOTT+ 0.0001)/RYRES)+1 ELSE NYP = NINT((RBOTT-RTOP + 0.0001)/RYRES)+1 ENDIF Cjdc NYP = NINT((RTOP-RBOTT)/RYRES*YPSIGN)+1 IF((NXP*NYP).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: Required = ',NXP*NYP) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENI) INTOCNU = JPROUTINE + 15 GOTO 900 ENDIF RTOP = RBOTT+RYRES*YPSIGN*(NYP-1) YARR(1) = RBOTT YARR(2) = RYRES*YPSIGN YARR(3) = 0.0 IINTPOL = IINTPOL+2 IF(IIRREG.EQ.2) THEN IOFFSET = 0 ELSE IF(IIRREG.EQ.3) THEN IOFFSET = NX ENDIF YSIGN = SIGN(1.0,((OCCOOR(IOFFSET+2)-OCCOOR(IOFFSET+1))*1.0)) YRSIGN = YSIGN*YPSIGN DO 420 JI = 1,NXP*NYP PARRAY(JI) = RMISS 420 CONTINUE C C Work through the known (irregular) data points. Calculate the C position of the point as a fractional number of points on the C new regular grid (YFPOSN). If there are any points on the new C grid between this point and the previous one (YFPREV), then set C these points by interpolation between the two known points. C Check that the points are in range. C Note that we are willing to overlap slightly at the start, but C must fiddle the array arguments to do this. C YFPREV= (OCCOOR(IOFFSET+1)*YUNIT-RBOTT)/RYRES*YPSIGN- 0.5*YRSIGN DO 428 JJ = 1,NY YFPOSN = (OCCOOR(IOFFSET+JJ)*YUNIT-RBOTT)/RYRES*YPSIGN NEWPTS = INTDN((YFPOSN*YRSIGN)) -INTDN((YFPREV*YRSIGN)) C C INT truncates toward zero; C INTDN truncates downwards in all cases C DO 426 JN = 1,NEWPTS IPOS = (INTDN(YFPREV*YRSIGN)+JN)*YRSIGN+1 RPOS = (IPOS-1)*1.0 IF((IPOS.GE.1).AND.(IPOS.LE.NYP)) THEN JJEFF = JJ IF(JJ.EQ.1) JJEFF = 2 DO 424 JI = 1,NXP RVALL = TARRAY(JI+NXP*(JJEFF-2)) RVALR = TARRAY(JI+NXP*(JJ-1)) IF(.NOT.MISSING(RVALL) .AND. .NOT.MISSING(RVALR) ) THEN XVAL = (YFPOSN-RPOS)/(YFPOSN-YFPREV)*RVALL * +(RPOS-YFPREV)/(YFPOSN-YFPREV)*RVALR ELSE XVAL = RMISS ENDIF PARRAY(JI+NXP*(IPOS-1)) = XVAL 424 CONTINUE ENDIF 426 CONTINUE YFPREV = YFPOSN 428 CONTINUE C C C C 4.3 INTERPOLATION FROM A GRID REGULAR IN Y C ------------------------------------------- C ELSEIF(((HICODE.EQ.'Y').OR.(HICODE.EQ.'F')).AND. * ((IIRREG.EQ.0).OR.(IIRREG.EQ.1)) ) THEN LNEAREST=.TRUE. YPSIGN=SIGN(1.,(RTOP-RBOTT)) NYP=NINT((RTOP-RBOTT)/RYRES*YPSIGN)+1 IF((NXP*NYP).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCNU: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: Required = ',NXP*NYP) CALL INTLOG(JP_ERROR,'INTOCNU: Available = ',KLENI) INTOCNU = JPROUTINE + 19 GOTO 900 ENDIF RTOP=RBOTT+RYRES*(NYP-1)*YPSIGN YARR(1)=RBOTT YARR(2)=RYRES*YPSIGN YARR(3)=0.0 C Work through the new regular grid points. Calculate the position of C the point as a fractional number of points on the old grid. Use this C fractional number to estimate the value of the field at the new point IINTPOL=IINTPOL+2 DO 335 JI=1,NXP*NYP PARRAY(JI)=RMISS 335 CONTINUE XOSOUT=KLAT1*YUNIT XORES =KYINC*YUNIT DO 3370 JJ=1,NYP RPOS=(RBOTT+(JJ-1)*RYRES*YPSIGN-XOSOUT)/XORES + 1 JPOS=INTDN(RPOS) C Check for out of bounds, and set to missing if this is the case IF((JPOS.GE.1).AND.(JPOS+1.LE.NY)) THEN DO 3360 JI=1,NXP RVALB = TARRAY(JI+(JPOS-1)*NXP) RVALT = TARRAY(JI+(JPOS+1-1)*NXP) IF(.NOT.MISSING(RVALB).AND. * .NOT.MISSING(RVALT) ) THEN RVAL=(JPOS+1-RPOS)*RVALB * +(RPOS-JPOS)*RVALT ELSEIF(LNEAREST) THEN IF((.NOT.MISSING(RVALB)) .AND. * ((JPOS+1-RPOS).GT.0.5) ) THEN RVAL=RVALB ELSEIF((.NOT.MISSING(RVALT)).AND. * ((RPOS-JPOS).GT.0.5) ) THEN RVAL=RVALT ELSE RVAL=RMISS ENDIF ELSE RVAL=RMISS ENDIF PARRAY(JI+(JJ-1)*NXP)=RVAL 3360 CONTINUE ELSE DO 3365 JI=1,NXP PARRAY(JI+(JJ-1)*NXP)=RMISS 3365 CONTINUE ENDIF 3370 CONTINUE C C ELSE CALL INTLOG(JP_ERROR,'INTOCNU: Error in logic.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: HICODE = ',JPQUIET) CALL INTLOG(JP_ERROR,HICODE,JPQUIET) CALL INTLOG(JP_ERROR,'INTOCNU: IIRREG = ',IIRREG) INTOCNU = JPROUTINE + 16 GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 9 . Return. C ------------------------------------------------------------------ C 900 CONTINUE C C RETURN END emoslib-000392+dfsg.1/interpolation/iscrsz.F0000755000175000017500000001262712127406245022004 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION ISCRSZ() C----> C**** ISCRSZ C C Purpose C ------- C C Calculate size of scratch space required for output field of C interpolation. C C C Interface C --------- C C ISIZE = ISCRSZ() C C C Input C ----- C C Values in common blocks "nofld.common". C C C Output C ------ C C Size as number of values (words). C Returns 0 if output type not recognised. C C C Method C ------ C C Depends on output grid type. C C C Externals C --------- C C INTLOG - Log error message C JNORSGG - Calculate gaussian latitude C NUMPTWE - Calculate number of grid pts in range from west to east C C C Author C ------ C C J.D.Chambers ECMWF Feb 1995 C C----< C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Local variables C INTEGER LOOP REAL PNORTH, PWEST, PSOUTH, PEAST, GRID, TEMP C C Externals C EXTERNAL JNORSGG, NUMPTWE INTEGER JNORSGG, NUMPTWE C C Statement functions C REAL X, Y LOGICAL SOUTHOF SOUTHOF(X,Y) = ((X) - (Y)).GT.-1E-4 C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C ISCRSZ = 0 C C -----------------------------------------------------------------| C* Section 2. Spherical harmonic field C -----------------------------------------------------------------| C 200 CONTINUE C IF( (NOREPR.EQ.JPSPHERE).OR. X (NOREPR.EQ.JPSTRSH).OR. X (NOREPR.EQ.JPSPHROT) ) THEN cs ISCRSZ = (NORESO+1) * (NORESO+4) ISCRSZ = (NORESO+1) * (NORESO+2) CALL INTLOG(JP_DEBUG,'ISCRSZ: spherical harmonic',JPQUIET) GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 3. Regular lat/long field C -----------------------------------------------------------------| C 300 CONTINUE C IF( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C TEMP = ABS(FLOAT(NOAREA(1)) - FLOAT(NOAREA(3))) NONS = NINT( TEMP / FLOAT(NOGRID(2)) ) + 1 TEMP = FLOAT(NOAREA(4)) - FLOAT(NOAREA(2)) NOWE = NINT( TEMP / FLOAT(NOGRID(1)) ) + 1 C ISCRSZ = NONS * NOWE CALL INTLOG(JP_DEBUG,'ISCRSZ: number of latitudes = ', NONS) CALL INTLOG(JP_DEBUG,'ISCRSZ: number of longitudes = ', NOWE) CALL INTLOG(JP_DEBUG,'ISCRSZ: Regular lat/long',JPQUIET) GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 4. Regular gaussian field C -----------------------------------------------------------------| C 400 CONTINUE C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN C PNORTH = FLOAT( NOAREA(1) ) / PPMULT PSOUTH = FLOAT( NOAREA(3) ) / PPMULT NO1NS = JNORSGG( PNORTH, ROGAUSS, NOGAUSS, 1) NONS = JNORSGG( PSOUTH, ROGAUSS, NOGAUSS, 1) - NO1NS + 1 TEMP = FLOAT(NOAREA(4)) - FLOAT(NOAREA(2)) TEMP = (TEMP * FLOAT(NOGAUSS) ) / FLOAT(JP90) NOWE = NINT(TEMP) + 1 CS added for grib2 IF(NONS.EQ.NOGAUSS*2.AND.NOAREA(2).EQ.0) THEN LGLOBL = .TRUE. ENDIF C ISCRSZ = NONS * NOWE CALL INTLOG(JP_DEBUG,'ISCRSZ: number of latitudes = ', NONS) CALL INTLOG(JP_DEBUG,'ISCRSZ: number of longitudes = ', NOWE) CALL INTLOG(JP_DEBUG,'ISCRSZ: regular gaussian',JPQUIET) GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 5. Reduced (quasi-regular) gaussian field C -----------------------------------------------------------------| C 500 CONTINUE C IF( (NOREPR.EQ.JPQUASI).OR.(NOREPR.EQ.JPQGGROT) ) THEN C PNORTH = FLOAT( NOAREA(1) ) / PPMULT PWEST = FLOAT( NOAREA(2) ) / PPMULT PSOUTH = FLOAT( NOAREA(3) ) / PPMULT PEAST = FLOAT( NOAREA(4) ) / PPMULT NO1NS = JNORSGG( PNORTH, ROGAUSS, NOGAUSS, 1) NONS = JNORSGG( PSOUTH, ROGAUSS, NOGAUSS, 1) - NO1NS + 1 CS added for grib2 IF(NONS.EQ.NOGAUSS*2.AND.NOAREA(2).EQ.0) THEN LGLOBL = .TRUE. ENDIF NOWE = 0 C NOPCNT = 0 DO LOOP = 1, NOGAUSS*2 IF( SOUTHOF(PNORTH,ROGAUSS(LOOP)).AND. X SOUTHOF(ROGAUSS(LOOP),PSOUTH) ) THEN GRID = 360.0 / REAL(NOLPTS(LOOP)) NOPCNT = NOPCNT + NUMPTWE(PWEST,PEAST,GRID) ENDIF ENDDO C ISCRSZ = NOPCNT CALL INTLOG(JP_DEBUG,'ISCRSZ: number of latitudes = ', NONS) CALL INTLOG(JP_DEBUG,'ISCRSZ: quasi-regular gaussian',JPQUIET) GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C CALL INTLOG(JP_DEBUG, X 'ISCRSZ: number of points in output field = ',ISCRSZ) C RETURN END emoslib-000392+dfsg.1/interpolation/0-INDEX-00000755000175000017500000004207412127406245021443 0ustar amckinstryamckinstry0-INDEX-0 mac This file! Imakefile mac To build libspecgp.a Makefile mac To build libspecgp.a areachk.F mac Fixup input/output field area definitions. auresol.F mac Returns the default truncation for given lat/long grid bitmap.h mac Header for bitmap routines. chequal.F mac Compare ASCII character strings without regard to case. chkprec.F mac Check if precipitation threshold has been redefined clear_c.F mac Clear interpolation common blocks createSharedMemoryCoefficients.c mac Creates spectral to grid interpolation coefficients in shared memory. csum.F mac Implements the BLAS routine of the same name current.h mac Info about gaussian definition currently in common. ddstyle.F mac Create regular lat/lon subgrid by selecting points. debug.h mac Debug header defaults_for_table_001 mac Parameter processing defaults for WMO table 1. defaults_for_table_128 mac Parameter processing defaults for ECMWF table 128. dssarea.F mac Fixup field area specification (dissemination style). dummy.F mac Dummy routine to satisfy make. (VECTOR.F) dummy2.F mac Dummy routine to satisfy make. (NO_OPT.F) emosPrecision.c mac Returns 64 if double-precision (64-bit) REALs in use. eulavgg.F mac Reverse the effects of ggvalue.F fft99.f mac Multiple fast real periodic fourier transform. fftchk.c mac Check truncation and longitude grid interval OK for FFT. freecf.F mac Set trigger to allow mutual memory flushing of types 6/7 fixarea.F mac Fixup area definition to correspond to grid definitions fortdefs.h mac Defines for Fortran/C interface data types funcs.F mac Fortran functions used by ocean interpolation (intocn) gb2gb.F mac Interpolate lat/lon GRIB to lat/lon: dissemination style getconf.F mac Decides how to handle legendre coefficients. ggintrp.F mac Finds value at a point by interpolation in a gaussian field. ggrotat.F mac Generates a rotated gaussian grid. ggvalue.F mac Rotates one line of latitude in a gaussian grid. gmapbit.c mac Get a bit from a given position in a bitmap. grdynam.h mac Dynamically allocated work space arrays(grid to grid). grfixed.h mac Fixed work space array definitions grspace.h mac Work space array definitions hgengg.F mac Lat/longs (before rot) for rotated gaussian grid. hgengrd.F mac Lat/longs (before rot) for rotated grid. hgengrw.F mac Lat/longs (before rot) for rotated grid for winds. hgenll.F mac Lat/longs (before rot) for rotated lat/long grid. hgenllw.F mac Calculates lat/longs (before rotation) for wind fields. hgetlsm.F mac Read old land-sea mask values from file. hirlam.F mac Rotated lat/lon from reduced gauss using 12-point interpolation. hirlamw.F mac Rotated lat/lon U/V from reduced gauss using 12-point interpolation. hirlsm.F mac As hirlam.F but using land-sea masks. hll2ll.F mac Creates rotated lat/lon from lat/lon using 12-pt interpn hll2llw.F mac Rotated U and V lat/lon from lat/lon using 12-pt interpn hll2xyz.F mac Converts array of lat/longs to (x,y,z) coordinates. hnei12.F mac Finds 12 neighbours for horizontal interpolation. hneill.F mac Finds 12 neighbours for lat/lon horizontal interpolation hntfap.F mac Prepare to interpolate packed input field. hntfaph.F mac Prepare to interpolate packed input field. hntfaps.F mac Prepare to interpolate packed input field. hntfau.F mac Prepare to interpolate unpacked input field. hntfauh.F mac Prepare to interpolate unpacked input field. hntfaus.F mac Prepare to interpolate unpacked input field. hntfbu.F mac Interpolate unpacked input field. hpshgpw.F mac Rotates grid about y-axis and calculates angle between local axes. hrg2gg.F mac Rotated gauss from reduced gauss using 12-point interpolation. hrg2ggw.F mac Rotated U and V gauss from reduced gauss using 12-point interpolation. hrg2ll.F mac Rotated lat/lon from reduced gauss using 12-point interpolation. hrg2llw.F mac Rotated lat/lon wind from a reduced gauss using 12-point interpolation. hsp2gg.F mac Finds a gaussian grid for a given spectral truncation. hwts12.F mac Interpolation weightings for horizontal interpolation. hwtsll.F mac Interpolation lat/lon weightings for horizontal interpolation. hwtslsm.F mac As hwts12.F but using land-sea masks. iafree.F mac Deallocate heap space used by grid-pt to grid-pt interpolation. iagcntl.F mac Control interpolation regular gaussian or lat/long fields. iaidef.F mac Generate input field definition from GRIB definition. iainit.F mac Initialise common decks for grid-pt to grid-pt interpolation. iaintgg.F mac Control interpolation GRIB -> gaussian iaintll.F mac Control interpolation GRIB -> regular lat/long iaogdef.F mac Set the output field definition variables. iaoldef.F mac Set the output field definition for a regular lat/long iarcntl.F mac Control interpolation of quasi regular gaussian -> gaussian or lat/long iareset.F mac Generate the output field definition. iarmem.F mac Acquires heap space for expanded REAL fields. ibasini.F mac Ensure basic interpolation setup is done. igalloc.F mac Allocates heap space. igbess.F mac Computes initial approximations to gaussian latitudes. igdins.F mac Calculate distance between points in output latitude array and its N/S neighbours in input latitude array igdiwe.F mac Calculate distance between points in output latitude array and its W/E neighbours in input latitude array igglat.F mac Compute gaussian latitudes for a given truncation. iggmem.F mac Acquires heap space. iggrid.F mac Generate lat/long points for a gaussian truncation and area. igint.F mac Calculate unnormalised interpolation wts between regular grids igintr.F mac Calculate interpolation wts for one line of lat for regular grids iglgrid.F mac Generate lat/long points for regular lat/long grid iglrev.F mac Reverses rows or columns of a rectangular matrix iglsize.F mac Evaluate array sizes for regular lat/long and area iglsm01.F mac Process one lat row from 10 minute land sea mask iglsmb.F mac Calculate effects of land-sea masks on unnormalised wts for a quasi regular input and a regular output iglsmd.F mac Generate the land sea mask file info iglsmr.F mac Calculate effects of land-sea masks for one lat on the unnormalised interpolation weights. iglsmst.F mac Process one line of latitude from standard land sea mask file ignorm.F mac Normalise the array of interpolation weights. igplsm.F mac Force an interpolated land sea mask to a real 0-1 field igpoleg.F mac Calculate values at pole of regular lat/long field when input is gaussian igpolew.F mac Calculate values at pole of regular lat/long field when input is gaussian (for a wind field). igprec.F mac Additional interpolation for precipitation igscan.F mac Transform a regular field between scanning modes igsetup.F mac Setup GRIB sections 1, 2, 4 for the new interpolation product. igsize.F mac Evaluate array sizes for a gaussian truncation and area igtog.F mac Interpolation between regular input and output igtogr.F mac interpolation for one latitude using two neighbouring lines igtran.F mac Transposes a rectangular matrix. init_cm.F mac Initialize default values in interpolation common decks insane.F mac Check consistency of interpolation options. intf.F mac Make user interpolation request. intf.h mac Header for intf, intfa, intfb and intfc. intfa.F mac Prepare to interpolate input field. intfap.F mac Prepare to interpolate packed input field. intfau.F mac Prepare to interpolate unpacked input field. intfb.F mac Interpolate input field. intfbp.F mac Interpolate packed input field. intfbu.F mac Interpolate unpacked input field. intfc.F mac Move input field to output field. intin.F mac Handle user request parameters for input data intisl.F mac Perform ISLSCP processing intisl.h mac Defines for ISLSCP processing intlog.h mac Common block for interpolation diagnostics logging. intlog.F mac Logs error messages from interpolation routines. intlogd.F mac Toggle display flag for error messages from interpolation intlogr.F mac Logs error messages containing real number intlogs.c mac Save MARS server display function pointer. intocn.F mac Interpolates ocean field. intout.F mac Handle user request parameters for output data intpnum.F mac Returns INTP_CYCLE intuvdh.F mac Encodes/decodes data into/from GRIB code. intuvf.F mac Make user interpolation request for U/V fields. intuvgh.F mac U & V reduced gaussian to rotated GRIB U & V. intuvp.F mac Interpolate packed U/V fields. intuvph.F mac Interpolate spectral vort/div or U/V to U and V. intuvs.F mac Create GRIB U/V from GRIB VO/D without interpolation. intuvu.F mac Interpolate unpacked U/V fields. intuvxh.F mac Interpolate wind component spectral field to grid point. intvect.F mac Interpolate vector fields (winds). intwave.F mac interpolates quasi-reg lat/long wave field to regular lat/long irdiwe.F mac Calculate distance between points in long array and its W/E neighbours for a quasi regular input and regular field irgmem.F mac Acquires heap space for quasi regular to regular irgrid.F mac Generate lat points and start points for a quasi regular gaussian irgtog.F mac interpolates quasi regular input to regular output irint.F mac Calculate unnormalised wts for quasi reg to reg irintr.F mac Calculate unnormalised wts for quasi reg to reg, 1 lat irlrev.F mac Reverses rows or columns of a quasi regular matrix irlsmb.F mac Calculate effects of land-sea mask on unnormalised interpolation weights for regular input and output fields. irprec.F mac Extra interpolation for precipitation when input is quasi regular irscan.F mac Transforms scanning modes for quasi regular field irsize.F mac Evaluate array sizes for a quasi reg gaussian iscrsz.F mac Calculate scratch space size for unpacking GRIBs. islproc.F mac Generates point from four neighbours using lsm types. issame.F mac Check whether input and output fields are same. jacobi.F mac Rotates spectral fields by latitude. jacobif.F mac Rotates spectral fields by latitude (Fujitsu only). jagggp.F mac Converts spectral input fields to a gaussian grid jallgp.F mac Converts spectral input fields to lat/long grid jallwn.F mac Converts spectral input fields to lat/long grid (U & V) jchmod.c mac Gives Fortran callable chmod (for Fujitsu). jdebug.F mac Checks whether the debug flag is to be turned on. jfindfn.F mac Create full pathname and open file. jfindfn3.F mac Version of jfindfn.F which calls PBxxxx3 routines jfindir.F mac Find directory name defined by an environment variable. jgetgg.F mac Reads the definition of a gaussian grid. jgglat.F mac Computes gaussian lines of latitude for given truncation jindex.c mac Returns length of a character string (+ embedded blanks) jintend.F mac Deallocates heap memoryallocated by JINTLL/JINTGG. jintgg.F mac Converts spectral input fields to gaussian. jintll.F mac Converts spectral input fields to lat/long grid. jjset99.F mac Update of set99.f which gives a return status. jmakgg.F mac Makes legendre functions for latitudes(gaussian). jmakgg3.F mac Version of jmakgg.F which calls PBxxxx3 routines jmakll.F mac Makes legendre functions for latitudes(regular lat/lon). jmakll3.F mac Version of jmakll.F which calls PBxxxx3 routines jmemhan.F mac Handles dynamic memory allocation jmkofgg.F mac Builds up offsets into storage array for gaussian grid. jmovgg.F mac Moves gausssian grid point data from array to array. jmovll.F mac Moves grid point data from array to array. jmvugg.F mac Moves gaussian grid point data from array to array. jmvull.F mac Moves grid point data from array to array. jnorsgg.F mac Determines latitude in gaussian grid N or S of given latitude jnumgg.F mac Returns number of points in each latitude of gaussian grid. jnumggq.F mac Simplified interface to JNUMGG. jopngg.F mac Finds a file of legendre polynomials for grid/truncation jopnggf.F mac Open interpolation coefficients file on Fujitsu. jopnggsm.c mac Handle file of legendre polynomials as memory mapped. jopnll.F mac Finds a file of legendre polynomials for grid/truncation jopnllf.F mac Open interpolation coefficients file on Fujitsu. jopnllsm.c mac Handle file of legendre polynomials as memory mapped. jparam2.h mac Hold trigger to allow memory flushing of types 6/7 jparams.h mac PARAMETER definitions. jsgggp.F mac Converts stretched spectral fields to a gaussian grids. jsllgp.F mac Converts stretched spectral fields to a lat/long grids. jstrll.F mac Converts stretched spectral fields to a lat/long grids. jstrwll.F mac Converts stretched spectral winds to a lat/long grids. strlat.F mac Transform stretched <-> real lats; calculate map factor jreadgg.F mac Reads legendre functions for one latitude(gaussian). jreadll.F mac Reads legendre functions for one latitude(lat/long). jsh2sh.F mac Changes resolution of a field of spectral coefficients. jspleg1.F mac Calculates the legendre functions for one latitude. jsppole.F mac Calculates fourier coefficient for U or V at pole. jsymgg.F mac Converts spectral input fields to gaussian grid. jsymll.F mac Converts spectral input fields to lat/long grid. jtimer.c mac Time task processing. juvpole.F mac Creates polar wind U or V for lat/long from U/V spectral jvod2uv.F mac Interpolate spectral vort/div to spectral U/V. jwindll.F mac Converts spectral to lat/long grid for wind U and V. jwscal.F mac Applies scale factor to all latitudes except the poles kintrg.F mac Interpolate reduced gaussian to new reduced gaussian knfrom4.F mac Generates new field point from four nearest neighbours krg2rg.F mac Interpolate field from reduced gaussian grid to another krg2rgu.F mac Interpolate unpacked reduced gaussian to reduced gaussian lgrpr4.F mac Print information from Section 4 of GRIB code ll2xyz.F mac Convert lat/long coords to (x,y,z) lrekam.F mac Reverses rotations carried out by makerl.F. lsmfld.F mac Determines whether field is for 'land-sea mask' treatment. lsm_red.F mac Lookup filename for N160 reduced gaussian lsm file. make.dep mac Header file dependencies. makemap.c mac Build a bitmap from a definition given in a file. makerl.F mac Rotates an array of spherical harmonic coefficients. memreq.h mac Memory request definitions mkbitmp.F mac Select points using a bitmap. mkframe.F mac Remove points from inside a frame boundary. my_ialloc.c mac Allocates storage for a file. newisl.F mac Interpolate field on old lsm mask to one on new lsm ngintrp.F mac Finds value at a pt by interpolation in a gaussian field ngrotat.F mac Generates a rotated gaussian grid. ngvalue.F mac Rotates one line of latitude in a gaussian grid. nifld.common mac Input field common block. nmakgg.F mac Make interpolation coeffs one lat at a time for gaussian grids nmakll.F mac Make interpolation coeffs one lat at a time for lat/long grids nofld.common mac Output field common block. nptwe32.F mac 32-bit REAL version of numptwe.F numptns.F mac Calculate number of grid points in range from north to south numptwe.F mac Calculate number of grid points in range from west to east oceanp.F mac Interpolate GRIB ocean field. options_sgimips mac Extra stuff for make(SGI) options_sun4 mac Extra stuff for make(SUN) ouspace.h mac Work space array definitions(unpacked real data) parim.h mac PARAMETER definitions pddefs.F mac Setup interpolation using parameter dependent options. ppallow.F mac Checks if the rotation coefficients can go into mrfs. precip.F mac Says if field is to have 'precipitation' treatment. qpassm.f mac One pass through data for multiple FFT analysis. rddefs.c mac Read request defaults from file rename_unlink.c mac Provide Fortran interface to rename/unlink. reset_c.F mac Reset interpolation handling options using GRIB product rgauss_*.h mac Definitions for reduced gaussian grids. rpassm.f mac One pass through data for multiple FFT synthesis. rphi.F mac Rotates spectral coefficients by longitude. set99.f mac Computes factors of n & trig functions FOR FFT99. sharedMemoryCharacteristics.c mac Determines the shared memory characteristics (size/key/number of latitudes) for a set of spectral to grid interpolation coefficients. sharedmemory.h mac Defines for shared memory interpolation coefficients. showmap.c mac Display a rectangular bitmap. smread.c mac Gets interpolation coefficients in a shared memory array soffset.c mac Find offsets of GRIB sections 0,1,... sources.xxx mac Sources for library on platform xxx (ALPHA,CRAY,.. ). sprotat.F mac Rotates a spherical harmonic GRIB field. sscal.F mac Implements the BLAS routine of the same name tatorgg.F mac Reverse the effects of ggrotat.F valpina.c mac Find real index of point in feild described by a bitmap. waveidx.F mac Find nearest-neighbours for wave field interpolation wavexxx.F mac Interpolates wave fields (except 2D spectra) w251idx.F mac Find nearest-neighbour for wave 2dsp (251) field interpolation wv2di32.F mac 32-bit REAL version of wv2didx.F wv2didx.F mac Find nearest-neighbour for wave 2dsp field interpolation wv2dint.F mac interpolation of quasi-regular lat/long wave 2D spectra fields wv2dppp.F mac Interface to WV2DINT used by dissemination program. wv2dx32.F mac 32-bit REAL version of wv2dxxx.F wv2dxxx.F mac Interpolates 2dsp fields wvqlidx.F mac Find nearest-neighbours for quasi-regular lat/long waves wvqlint.F mac Handle interpolation of quasi-regular lat/long wave fields xrotate.F mac Rotate about x-axis. xyz2ll.F mac Convert (x,y,z) coords to lat/long. yrotate.F mac Rotate about y-axis. zzz mac Directory containing 'useful' programs. emoslib-000392+dfsg.1/interpolation/irprec.F0000755000175000017500000002005212127406245021742 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRPREC (PIFELD, KSTART, KINS, POFELD, KOWE, 1 KONS, KWEIND, KNSIND, PWFACT, PMAX, PINPNT, KPR, KERR) C C----> C**** *IRPREC* C C PURPOSE C _______ C C Perform additional interpolation processes for precipitation C fields when the input field is quasi regular. C C INTERFACE C _________ C C IERR = IRPREC (PIFELD, KSTART, KINS, POFELD, KOWE, KONS, C 1 KWEIND, KNSIND, PWFACT, PMAX, PINPNT, KPR, KERR) C C Input parameters C ________________ C C PIFELD - The input field provided by the calling routine. C C KSTART - The array offset for each line of latitude within C the quasi regular field. C C KINS - The number of points in the North-South direction C in the input field. C C POFELD - The output field as previously calculated. C C KOWE - The number of points in the West-East direction in C the output field. C C KONS - The number of points in the North-South direction C in the output field. C C KWEIND - This array contains the array offsets of the West C and East points in the input array required for C interpolation. C C KNSIND - This array contains the array offsets of the North C and South points in the input array required for C interpolation. C C PWFACT - The array of interpolating weights to the four C neighbouring points for every output point. C C PMAX - Work array used to aid vectorisation. C C PINPNT - Work array used to aid vectorisation. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C POFELD - The output field as modified to allow for C precipitation. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C CHKPREC - Check if precipitation threshold has been redefined C C METHOD C ______ C C The precipitation at a point is set to zero in the following C circumstances. C C 1 The interpolated precipitation is less than a threshold value. C C 2 There is no precipitation at the neighbouring point with the C highest interpolating weight. C C NOTE that this operation is performed before the special C routines for the poles when interpolating from quasi regular C Gaussian grids to global latitude/longitude fields. The polar C values for precipitation, during such interpolations, will C always be the average value of the nearest Gaussian line with C no threshold check. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nifld.common" C C Dummy arguments INTEGER KOWE, KINS, KONS, KPR, KERR INTEGER KSTART (KINS) INTEGER KWEIND (2, KOWE, 2, KONS), KNSIND (2, KONS) REAL PIFELD (*), POFELD (KOWE, KONS) REAL PWFACT (4, KOWE, KONS) REAL PMAX (KOWE), PINPNT (KOWE) C C Local variables LOGICAL LAT_RAIN INTEGER ILAT, IDIR, ISTART INTEGER JOLAT, JOLON, JNS, JWE INTEGER JPROUTINE PARAMETER (JPROUTINE = 23500) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRPREC: Section 1.',JPQUIET) C IRPREC = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRPREC: No. of input fld lats = ',KINS) CALL INTLOG(JP_DEBUG,'IRPREC: No. of output fld lats = ',KONS) CALL INTLOG(JP_DEBUG,'IRPREC: No. of output fld longs = ',KOWE) ENDIF C C _______________________________________________________ C C* Section 2. eliminate output precipitation based on C interpolation threshhold C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRPREC: Section 2.',JPQUIET) C CALL CHKPREC() C DO 360 JOLAT = 1, KONS C LAT_RAIN = .FALSE. C DO 210 JOLON = 1, KOWE C IF (POFELD (JOLON, JOLAT) .LT. ZPRECIP) THEN POFELD (JOLON, JOLAT) = PPZERO ELSE LAT_RAIN = .TRUE. ENDIF C 210 CONTINUE C C _______________________________________________________ C C* Section 3. eliminate output precipitation based on C "nearest" point. C C Do not bother if there is no precipitation on this C line of latitude C _______________________________________________________ C 300 CONTINUE C IF (KPR .GE. 1 .AND. JOLAT .EQ. 1) X CALL INTLOG(JP_DEBUG,'IRPREC: Section 3.',JPQUIET) C C IF (LAT_RAIN) THEN C DO 310 JOLON = 1, KOWE C PMAX (JOLON) = PPZERO C 310 CONTINUE C DO 340 JNS = 1, 2 C ILAT = KNSIND (JNS, JOLAT) ISTART = KSTART (ILAT) - 1 C DO 330 JWE = 1, 2 C IDIR = (JNS - 1) * 2 + JWE C DO 320 JOLON = 1, KOWE C IF (PWFACT (IDIR, JOLON, JOLAT) .GT. 1 PMAX (JOLON) ) THEN C PMAX (JOLON) = PWFACT (IDIR, JOLON, JOLAT) C PINPNT (JOLON) = PIFELD (ISTART + 2 KWEIND (JWE, JOLON, JNS, JOLAT) ) C ENDIF C 320 CONTINUE C 330 CONTINUE C 340 CONTINUE C DO 350 JOLON = 1, KOWE C IF (PINPNT (JOLON) .LT. ZPRECIP) 1 POFELD (JOLON, JOLAT) = PPZERO C 350 CONTINUE C ENDIF C 360 CONTINUE C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRPREC: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/intfc.F0000755000175000017500000000522412127406245021565 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTFC( INGRIB,INLEN,FLDIN,OUTGRIB,OUTLEN,FLDOUT) C C----> C**** INTFC C C Purpose C ------- C C Move input field to output field. C C C Interface C --------- C C IRET = INTFC( INGRIB,INLEN,FLDIN,OUTGRIB,OUTLEN,FLDOUT) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C FLDIN - Input field (unpacked). C C C Output C ------ C C OUTGRIB - Output field (packed). C OUTLEN - Output field length (words). C FLDOUT - Output field (unpacked). C C C Method C ------ C C Move data (packed or unpacked) without special processing. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF Jan 1995 C C----< C IMPLICIT NONE C C Function arguments INTEGER INGRIB(*),OUTGRIB(*),INLEN,OUTLEN REAL FLDIN(*),FLDOUT(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Parameters INTEGER JPROUTINE PARAMETER (JPROUTINE = 26700 ) C C Local variables C INTEGER LOOP C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE INTFC = 0 C C ------------------------------------------------------------------ C* Section 2. Move data from input to output. C ------------------------------------------------------------------ C 200 CONTINUE C C If input is a GRIB product If (NIFORM .EQ. 1) THEN C C Move packed values to user array DO 210 LOOP = 1, INLEN OUTGRIB( LOOP ) = INGRIB( LOOP ) 210 CONTINUE C ELSE C C Otherwise, move unpacked values to user array DO 220 LOOP = 1, INLEN FLDOUT( LOOP ) = FLDIN( LOOP ) 220 CONTINUE C ENDIF C C Return the number of values, the unpacked array length OUTLEN = INLEN C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Clear change flags for next product processing LCHANGE = .FALSE. LSMCHNG = .FALSE. C RETURN END emoslib-000392+dfsg.1/interpolation/nptwe32.F0000755000175000017500000000523312127406245021764 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION NPTWE32(WEST,EAST,GRIDSTEP) C C----> C**** NPTWE32 C C Purpose C ------- C C Calculate number of grid points in the range from west to east. C (32-bit REALs version) C C C Interface C --------- C C IRET = NPTWE32(WEST,EAST,GRIDSTEP) C C Input C ----- C C WEST - Western boundary in degrees C EAST - Eastern boundary in degrees C GRIDSTEP - Grid interval in degrees C C C Output C ------ C C Function returns the number of grid points in the east-west C interval. C C C Method C ------ C C The grid is assumed to start at Greenwich. C C C Externals C --------- C C None. C C Author C ------ C C J.D.Chambers ECMWF Mar 1998 C C C Modifications C ------------- C C None. C C----< C IMPLICIT NONE C C Function arguments C REAL*4 EAST, WEST, GRIDSTEP C C Local variables C INTEGER NL REAL*8 DEAST, DWEST REAL*8 LEFT, RIGHT, STEP, EPS DATA EPS/1.0E-3/ C C Statement function LOGICAL EQUAL REAL*8 A, B EQUAL(A,B) = ( ABS(A-B) .LT.(ABS(A)*EPS) ) C C ------------------------------------------------------------------ C Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C C Make all longitudes positive for calculation of difference C DEAST = EAST DWEST = WEST RIGHT = DEAST + 360.0 LEFT = DWEST + 360.0 STEP = GRIDSTEP IF( RIGHT.LT.LEFT) RIGHT = RIGHT + 360.0 C C ------------------------------------------------------------------ C Section 2. Calculate the number of points in the interval C ------------------------------------------------------------------ C 200 CONTINUE C C Equal boundaries C IF( EQUAL(LEFT,RIGHT) ) THEN NPTWE32 = 1 GOTO 900 ENDIF C C Calculate offset of westernmost gridpoint C NL = INT((LEFT+EPS)/STEP) IF( .NOT. EQUAL(LEFT,(NL*STEP)) ) NL = NL + 1 C RIGHT = RIGHT - (NL*STEP) NPTWE32 = INT((RIGHT+EPS)/STEP) + 1 C C ------------------------------------------------------------------ C Section 9. Return C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/issame.F0000755000175000017500000001722112127406245021743 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION ISSAME() C C----> C**** ISSAME C C Purpose C ------- C C Check if output field will be the same as the input field. C C C Interface C --------- C C LSAME = ISSAME() C C Input C ----- C C Values in common block. C C C Output C ------ C C Returns .TRUE. if the fields will be the same. C C C Method C ------ C C Checks interpolation request flags in common blocks. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Local variables C INTEGER LOOP, IDIFF LOGICAL LDEFIN, LDEFOUT, LSUBAREA CHARACTER*12 YFLAG C C -----------------------------------------------------------------| C ISSAME = .TRUE. C C Exit if no postprocessing specified. C IF( .NOT.LINTOUT ) THEN CALL INTLOG(JP_DEBUG, X 'ISSAME: No postprocessing specified.',JPQUIET) RETURN ENDIF C C Set logicals true if default input/output areas specified. C LDEFIN = ( (NIAREA(1).EQ.0) .AND. (NIAREA(2).EQ.0) .AND. X (NIAREA(3).EQ.0) .AND. (NIAREA(4).EQ.0) ) LDEFOUT = ( (NOAREA(1).EQ.0) .AND. (NOAREA(2).EQ.0) .AND. X (NOAREA(3).EQ.0) .AND. (NOAREA(4).EQ.0) ) C C Set flag if a subarea has been requested C LSUBAREA = (.NOT.LDEFIN .AND. .NOT.LDEFOUT) .AND. X ( (NOAREA(1).LT.NIAREA(1)).OR. X (NOAREA(2).GT.NIAREA(2)).OR. X (NOAREA(3).GT.NIAREA(3)).OR. X (NOAREA(4).LT.NIAREA(4)) ) C C C Check for rotation C IF( (NOROTA(1).NE.0) .OR. (NOROTA(2).NE.0) ) ISSAME = .FALSE. C C Check for same formats, representation and bit packing accuracy. C cs IF( NIFORM.NE.NOFORM) ISSAME = .FALSE. IF( NIREPR.NE.NOREPR) ISSAME = .FALSE. cs This is used just for processing with gribex C Force repacking for different accuracy cs IF(LACCUR) THEN cs IF( NIACC .NE. NOACC) ISSAME = .FALSE. cs ENDIF C C Exit if both input and output are same (reduced or quasi) C gaussian with the same resolution and area, since no C postprocessing is required. C cs IF( (NOREPR.EQ.JPNOTYPE) .AND. (NIGAUSS.EQ.NOGAUSS) .AND. cs NOREPR.EQ.NIREPR because NOREPR is always set trough describe input field IF(NOREPR.EQ.JPQUASI) THEN IF( (NOREPR.EQ.NIREPR) .AND. (NIGAUSS.EQ.NOGAUSS)) THEN CALL INTLOG(JP_DEBUG, X 'ISSAME: Input and output are same Reduced Gaussian',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: with the same resolution;',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: no postprocessing required.',JPQUIET) ISSAME = .TRUE. RETURN ENDIF ENDIF IF(NOREPR.EQ.JPGAUSSIAN) THEN IF( (NOREPR.EQ.NIREPR) .AND. (NIGAUSS.EQ.NOGAUSS) .AND. X (.NOT.LSUBAREA)) THEN CALL INTLOG(JP_DEBUG, X 'ISSAME: Input and output are same Regular Gaussian',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: with the same resolution and area;',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: no postprocessing required.',JPQUIET) ISSAME = .TRUE. RETURN ENDIF ENDIF C C If input is quasi gaussian and output required to be the same (ie C 'gaussian' specified via CALL INTOUT('gaussian', ...) ), change C output to regular gaussian unless same resolution requested. C IF( (NOREPR.EQ.JPNOTYPE) .AND. X (NIGAUSS.NE.NOGAUSS) ) THEN CALL INTLOG(JP_DEBUG, X 'ISSAME: Input is quasi gaussian and output required',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: not the same resolution;',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: change output to regular gaussian.',JPQUIET) NOREPR = JPGAUSSIAN ENDIF C C If input is quasi gaussian and output required to be the same (ie C 'gaussian' specified via CALL INTOUT('gaussian', ...) ), change C output to regular gaussian if subarea requested. C IF( (NOREPR.EQ.JPNOTYPE) .AND. LSUBAREA ) THEN CALL INTLOG(JP_DEBUG, X 'ISSAME: Input is quasi gaussian and output required',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: has a subarea;',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: change output to regular gaussian.',JPQUIET) NOREPR = JPGAUSSIAN ENDIF C C Exit if both input and output are regular gaussian with C the same resolution and area, since no C postprocessing is required. C IF( (NIREPR.EQ.JPGAUSSIAN) .AND. X (NOREPR.EQ.JPGAUSSIAN) .AND. X (NIGAUSS.EQ.NOGAUSS) .AND. X (.NOT.LSUBAREA) ) THEN CALL INTLOG(JP_DEBUG, X 'ISSAME: Input and output are regular gaussian with',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: the same resolution and area;',JPQUIET) CALL INTLOG(JP_DEBUG, X 'ISSAME: no postprocessing is required.',JPQUIET) RETURN ENDIF C C If spherical, check for same truncation. C IF( (NIREPR.EQ.JPSPHERE) .AND. X (NOREPR.EQ.JPSPHERE) .AND. X (NIRESO.NE.NORESO) ) ISSAME = .FALSE. C C If lat.long, check for same grid intervals and area. C IF( (NIREPR.EQ.JPREGULAR) .AND. X (NOREPR.EQ.JPREGULAR) .AND. X (NOGRID(1).NE.0) ) THEN IF( NIGRID(1).NE.NOGRID(1)) ISSAME = .FALSE. IF( NIGRID(2).NE.NOGRID(2)) ISSAME = .FALSE. ENDIF IF( LSUBAREA ) ISSAME = .FALSE. C cs IF( (NIREPR.EQ.JPREDLL) .AND. cs X (NOREPR.EQ.JPREDLL) cs X (NIGRID(2).NE.NOGRID(2)) ) ISSAME = .FALSE. C C Check if areas are same unless defaults given. C IF( (.NOT.LDEFIN) .AND. (.NOT.LDEFOUT) ) THEN IF( (NOGRID(1).NE.0) .OR. (NOGRID(2).NE.0) ) THEN C IF( NIAREA(1).NE.NOAREA(1)) ISSAME = .FALSE. C IDIFF = NIAREA(2) - NOAREA(2) IF( (IDIFF.NE.0) .AND. (IDIFF.NE.JP360) ) ISSAME = .FALSE. C IF( NIAREA(3).NE.NOAREA(3) ) ISSAME = .FALSE. C IDIFF = NIAREA(4) - NOAREA(4) IF( (IDIFF.NE.0) .AND. (IDIFF.NE.JP360) ) ISSAME = .FALSE. ENDIF ENDIF C C If gaussian, check for same grid specification. C IF( (NIREPR.EQ.JPGAUSSIAN) .AND. (NOREPR.EQ.JPGAUSSIAN) ) THEN IF( NIGAUSS.NE.NOGAUSS) ISSAME = .FALSE. ENDIF IF( (NIREPR.EQ.JPQUASI) .AND. (NOREPR.EQ.JPQUASI) ) THEN IF( NIGAUSS.NE.NOGAUSS) ISSAME = .FALSE. DO LOOP = 1, NOGAUSS IF( RIGAUSS(LOOP).NE.ROGAUSS(LOOP) ) ISSAME = .FALSE. IF( MILLEN(LOOP).NE.NOLPTS(LOOP) ) ISSAME = .FALSE. ENDDO ENDIF C C Check for same scanning mode. C C Sinisa commented scanning mode checking because of UK fields c IF( NISCNM.NE.NOSCNM) ISSAME = .FALSE. C C Check for same table number, parameter number, level number and C level type. C cs IF( NITABLE.NE.NOTABLE) ISSAME = .FALSE. cs IF( NIPARAM.NE.NOPARAM) ISSAME = .FALSE. cs IF( NILEVEL.NE.NOLEVEL) ISSAME = .FALSE. cs IF( NILEVT .NE.NOLEVT ) ISSAME = .FALSE. C IF( ISSAME ) RETURN C C -----------------------------------------------------------------| C RETURN END emoslib-000392+dfsg.1/interpolation/iaidef.F0000755000175000017500000003547112127406245021712 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IAIDEF (KSEC1, KSEC2, KIAREA, KLLEN, OICHNG, 1 KPR, KERR) C C----> C**** *IAIDEF* C C PURPOSE C _______ C C Generate an input field definition from the GRIB definition. C C INTERFACE C _________ C C IERR = IAIDEF (KSEC1, KSEC2, KIAREA, KLLEN, OICHNG, KPR, KERR) C C Input parameters C ________________ C C KSEC1 - The GRIB Section 1 array for the input field. C C KSEC2 - The GRIB Section 2 array for the input field. C C KIAREA - The previous input field area used for comparison. C C KLLEN - The previous latitude line lengths for a quasi C regular Gaussian field used for comparison. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KIAREA - The area for this field. C C KLLEN - The latitude line lengths for a quasi regular C Gaussian field. C C OICHNG - A flag indicating whether the field definition has C changed since the previous call to this routine. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 21701 The data representation was not valid. C 21702 The scan mode was not valid. C C Common block usage C __________________ C C nifld.common - This file contains all the input field C definition variables. C C LSMCHNG - LSM change flag is set. C LSM - LSM usage flag is set. C LSMPAR - LSM parameter flag is set. C LPREC - Precipitation flag is set. C LWIND - Wind flag is set. C C NIGAUSS - Input field Gaussian truncation is used and set. C NIGRID - Input field grid definition (WE/NS) is used and C set. C NINS - Number of grid points in NS direction for input C field is used and set. C NIPARAM - Input field parameter number is used and set. C NIREPR - Input field representation is used and set. C NISCNM - Input field scanning mode is set. C NITABLE - Input field table number is used and set. C NIWE - Number of grid points in WE direction for input C field is used and set. C C EXTERNALS C _________ C C PRECIP - Says if field is to have 'precipitation' treatment C SETPAR - Standard routine used to generate "missing" data C values for GRIB fields. C INTLOG - Logs messages. C C METHOD C ______ C C This routine uses sections 1 and 2 of the input GRIB field to C generate the input field definition. This definition is C compared with the previous field definition to see if any C change of definition has occurred. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nifld.common" C C Subroutine arguments LOGICAL OICHNG INTEGER KPR, KERR INTEGER KSEC1 (JPGRIB_ISEC1), KSEC2 (JPGRIB_ISEC2), KIAREA (4) INTEGER KLLEN (*) C C Local variables LOGICAL GNLSM INTEGER ITEMP, IMISS, IWEST, IEAST, IERR INTEGER JSET INTEGER JPROUTINE PARAMETER (JPROUTINE = 21700) C C External functions C LOGICAL PRECIP C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAIDEF: Section 1.',JPQUIET) C IAIDEF = 0 IERR = 0 OICHNG = .FALSE. C C Get GRIB missing data value C CALL SETPAR (ITEMP, IMISS, KPR) C C _______________________________________________________ C C* Section 2. Set Grib Section 2 variables and check consistency C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAIDEF: Section 2.',JPQUIET) C C Representation C IF (KSEC2 (JPSEC2_REP) .EQ. JPGAUSSIAN .AND. 1 KSEC2 (JPSEC2_QUASI) .EQ. 1) THEN ITEMP = JPQUASI ELSE ITEMP = KSEC2 (JPSEC2_REP) ENDIF C IF (ITEMP .NE. NIREPR) THEN NIREPR = ITEMP OICHNG = .TRUE. ENDIF C C Only grid point input data allowed now C IF (NIREPR .NE. JPQUASI .AND. NIREPR .NE. JPGAUSSIAN .AND. X NIREPR .NE. JPREGULAR) THEN IAIDEF = JPROUTINE + 1 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IAIDEF: Illegal input representation = ',NIREPR) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IAIDEF: Interpolation failing.',JPQUIET) ENDIF GO TO 900 ENDIF C C scan mode C NISCNM = KSEC2 (JPSEC2_SCAN) C IF (NISCNM .NE. 0) THEN IAIDEF = JPROUTINE + 2 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR,'IAIDEF: Illegal scan mode = ',NISCNM) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IAIDEF: Interpolation failing.',JPQUIET) ENDIF GO TO 900 ENDIF C C Number of lines North-South and West-East C IF (KSEC2 (JPSEC2_NLAT) .NE. NINS) THEN NINS = KSEC2 (JPSEC2_NLAT) OICHNG = .TRUE. ENDIF C IF (NIREPR.NE.JPQUASI .AND. KSEC2(JPSEC2_NLONG).NE.NIWE) THEN NIWE = KSEC2 (JPSEC2_NLONG) OICHNG = .TRUE. ENDIF C C North, South, West and East limits C IF (KSEC2 (JPSEC2_NORTH) * 10 .NE. KIAREA (JPNORTH) ) THEN KIAREA (JPNORTH) = KSEC2 (JPSEC2_NORTH) * 10 OICHNG = .TRUE. ENDIF C IF (KSEC2 (JPSEC2_SOUTH) * 10 .NE. KIAREA (JPSOUTH) ) THEN KIAREA (JPSOUTH) = KSEC2 (JPSEC2_SOUTH) * 10 OICHNG = .TRUE. ENDIF C IWEST = KSEC2 (JPSEC2_WEST) * 10 C C Make West and East points an ordered pair C IF (NIREPR .EQ. JPQUASI) THEN IEAST = 0 ELSE IEAST = KSEC2 (JPSEC2_EAST) * 10 C IF (IEAST .LT. IWEST) THEN IF (IEAST .LE. 0) THEN IEAST = IEAST + JP360 ELSE IWEST = IWEST - JP360 ENDIF ENDIF ENDIF C IF (IEAST .NE. KIAREA (JPEAST) ) THEN KIAREA (JPEAST) = IEAST OICHNG = .TRUE. ENDIF C IF (IWEST .NE. KIAREA (JPWEST) ) THEN KIAREA (JPWEST) = IWEST OICHNG = .TRUE. ENDIF C IF (NIREPR .EQ. JPREGULAR) THEN C C Direction increments for regular grids C IF (KSEC2 (JPSEC2_DLONG) .EQ. IMISS) THEN ITEMP = (KIAREA (JPEAST) - KIAREA (JPWEST) ) / NIWE + 1 ELSE ITEMP = KSEC2 (JPSEC2_DLONG) * 10 ENDIF C IF (NIGRID (JPWESTEP) .NE. ITEMP) THEN NIGRID (JPWESTEP) = ITEMP OICHNG = .TRUE. ENDIF C IF (KSEC2 (JPSEC2_DLAT) .EQ. IMISS) THEN ITEMP = (KIAREA (JPNORTH) - KIAREA (JPSOUTH) ) / NINS + 1 ELSE ITEMP = KSEC2 (JPSEC2_DLAT) * 10 ENDIF C IF (NIGRID (JPNSSTEP) .NE. ITEMP) THEN NIGRID (JPNSSTEP) = ITEMP OICHNG = .TRUE. ENDIF C ELSE IF (NIREPR .EQ. JPGAUSSIAN) THEN C IF (NIGAUSS .NE. KSEC2 (JPSEC2_GTRUNC) ) THEN NIGAUSS = KSEC2 (JPSEC2_GTRUNC) OICHNG = .TRUE. ENDIF C ELSE IF (NIREPR .EQ. JPQUASI) THEN C IF (NIGAUSS .NE. KSEC2 (JPSEC2_GTRUNC) ) THEN NIGAUSS = KSEC2 (JPSEC2_GTRUNC) NIWE = NIGAUSS * 4 OICHNG = .TRUE. ENDIF C C Set line length definitions for Quasi regular field C DO 210 JSET = 1, NINS IF (KLLEN (JSET) .NE. KSEC2 (JPSEC2_QUDEF + JSET) ) THEN KLLEN (JSET) = KSEC2 (JPSEC2_QUDEF + JSET) OICHNG = .TRUE. ENDIF 210 CONTINUE C ENDIF C C _______________________________________________________ C C* Section 3. Set Grib Section 1 variables and flags C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAIDEF: Section 3.',JPQUIET) C NITABLE = KSEC1 (JPSEC1_TABLE) NIPARAM = KSEC1 (JPSEC1_PARAM) C C Setup ECMWF local definition number and stream if applicable C IF( KSEC1(24).EQ.1 ) THEN NILOCAL = KSEC1(37) NISTREM = KSEC1(40) ELSE NILOCAL = 0 NISTREM = 0 ENDIF C LPREC = PRECIP() C IF (NITABLE .EQ. 1) THEN C C WMO International table for meteorological parameters C LWIND = NIPARAM .EQ. JP_WMO_U .OR. NIPARAM .EQ. JP_WMO_V C LSMPAR = NIPARAM .EQ. JP_WMO_LSM C GNLSM = .NOT. (NIPARAM .EQ. JP_WMO_MSL .OR. LSMPAR) C IF (GNLSM .NEQV. LSM) THEN LSMCHNG = .TRUE. LSM = GNLSM ENDIF C ELSE IF (NITABLE .EQ. 128) THEN C C ECMWF local code table 2 for meteorological parameters C LWIND = NIPARAM .EQ. JP_U .OR. NIPARAM .EQ. JP_V .OR. X NIPARAM .EQ. JP_10U .OR. NIPARAM .EQ. JP_10V C LSMPAR = NIPARAM .EQ. JP_LSM C GNLSM = .NOT. (NIPARAM .EQ. JP_MSL .OR. LSMPAR) C IF (GNLSM .NEQV. LSM) THEN LSMCHNG = .TRUE. LSM = GNLSM ENDIF C ELSE IF (NITABLE .EQ. 129) THEN C C ECMWF local code table for gradients of parameters C LWIND = .FALSE. LSMPAR = .FALSE. C IF (.NOT. LSM) THEN LSMCHNG = .TRUE. LSM = .TRUE. ENDIF C ELSE IF (NITABLE .EQ. 130) THEN C C ECMWF local code table for ASTEX experiments C LWIND = .FALSE. LSMPAR = .FALSE. C IF (.NOT. LSM) THEN LSMCHNG = .TRUE. LSM = .TRUE. ENDIF C ELSE IF (NITABLE .EQ. 131) THEN C C ECMWF local code table for probability forecasts C LWIND = .FALSE. LSMPAR = .FALSE. C IF (.NOT. LSM) THEN LSMCHNG = .TRUE. LSM = .TRUE. ENDIF C ELSE IF (NITABLE .EQ. 140) THEN C C ECMWF local code table for wave models C LWIND = .FALSE. LSMPAR = .FALSE. C IF (.NOT. LSM) THEN LSMCHNG = .TRUE. LSM = .TRUE. ENDIF C ELSE IF (NITABLE .EQ. 150) THEN C C ECMWF local code table ocean data C LWIND = .FALSE. LSMPAR = .FALSE. C IF (.NOT. LSM) THEN LSMCHNG = .TRUE. LSM = .TRUE. ENDIF C ELSE C C Unexpected code table found C LWIND = .FALSE. LSMPAR = .FALSE. C IF (.NOT. LSM) THEN LSMCHNG = .TRUE. LSM = .TRUE. ENDIF C ENDIF C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG, X 'IAIDEF: Input field definition parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IAIDEF: Parameter value = ',NIPARAM) CALL INTLOG(JP_DEBUG,'IAIDEF: Representation = ',NIREPR) IF (NIWE .NE. 0) CALL INTLOG(JP_DEBUG, X 'IAIDEF: Number W-E = ',NIWE) IF (NINS .NE. 0) CALL INTLOG(JP_DEBUG, X 'IAIDEF: Number N-S = ',NINS) IF (NIREPR .EQ. JPGAUSSIAN .OR. NIREPR .EQ. JPQUASI) X CALL INTLOG(JP_DEBUG,'IAIDEF: Gaussian truncation = ',NIGAUSS) IF (NIREPR .EQ. JPREGULAR .AND. NIGRID (1) .NE. 0) THEN CALL INTLOG(JP_DEBUG,'IAIDEF: Grid WE = ',NIGRID (1)) CALL INTLOG(JP_DEBUG,'IAIDEF: Grid NS = ',NIGRID (2)) ENDIF IF (KIAREA (1) .NE. 0) THEN CALL INTLOG(JP_DEBUG,'IAIDEF: Area North = ',KIAREA(1)) CALL INTLOG(JP_DEBUG,'IAIDEF: Area West = ',KIAREA(2)) CALL INTLOG(JP_DEBUG,'IAIDEF: Area South = ',KIAREA(3)) CALL INTLOG(JP_DEBUG,'IAIDEF: Area East = ',KIAREA(4)) ENDIF C CALL INTLOG(JP_DEBUG,'IAIDEF: Control flag status:',JPQUIET) C IF( OICHNG ) THEN CALL INTLOG(JP_DEBUG,'IAIDEF:Input fld change TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAIDEF:Input fld change FALSE',JPQUIET) ENDIF C IF( LSMCHNG ) THEN CALL INTLOG(JP_DEBUG,'IAIDEF: LSM change TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAIDEF: LSM change FALSE',JPQUIET) ENDIF C IF( LSM ) THEN CALL INTLOG(JP_DEBUG,'IAIDEF: LSM flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAIDEF: LSM flag FALSE',JPQUIET) ENDIF C IF( LWIND ) THEN CALL INTLOG(JP_DEBUG,'IAIDEF: Wind flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAIDEF: Wind flag FALSE',JPQUIET) ENDIF C IF( LPREC ) THEN CALL INTLOG(JP_DEBUG,'IAIDEF: Precipitn flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAIDEF: Precipitn flag FALSE',JPQUIET) ENDIF C IF( LSMPAR ) THEN CALL INTLOG(JP_DEBUG,'IAIDEF: LSM param flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAIDEF: LSM param flag FALSE',JPQUIET) ENDIF ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAIDEF: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/lsmfld.F0000755000175000017500000000516612127406245021750 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION LSMFLD() C C----> C**** LSMFLD C C Purpose C ------- C C Determines whether or not the current field is to be C considered for 'land-sea mask' treatment. C C C Interface C --------- C C LLSMFLD = LSMFLD() C C Input C ----- C C None C C C Output C ------ C C Function returns .TRUE. if the field is to be treated with C land-sea mask. C C C Method C ------ C C Uses a set of hardcoded rules. C C C Externals C --------- C C INTLOG - Logs messages C C Uses common blocks nifld.common and nofld.common. C C C Author C ------ C C J.D.Chambers ECMWF April 2001 C C----< C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Local variables C LOGICAL LIKELY C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C C If 'uselsm' has been forced to 'yes' ... C IF( LSMSET ) THEN LSMFLD = LSM GOTO 900 ENDIF C C WMO International table 001 for meteorological parameters C IF ( NITABLE.EQ.1 ) THEN LIKELY = ( NIPARAM.NE.2 ) C C ECMWF local code table 128 for meteorological parameters C ELSEIF ( (NITABLE.EQ.128).OR.(NITABLE.EQ.129) ) THEN LIKELY = ( NIPARAM.NE.151 ).AND. X ( NIPARAM.NE.172 ) ELSE LIKELY = .FALSE. ENDIF C IF( .NOT.LIKELY ) THEN LSMFLD = .FALSE. GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 2. Work through the special cases C -----------------------------------------------------------------| C 200 CONTINUE C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C IF( .NOT.LSMFLD ) THEN CALL INTLOG(JP_DEBUG, X 'LSMFLD: Do not handle field with land-sea mask', JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'LSMFLD: Handle field with land-sea mask', JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/chkprec.F0000755000175000017500000000403312127406245022076 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CHKPREC() C C----> C**** CHKPREC C C Purpose C ------- C C Determines whether or not the current field is to be C considered for 'precipitation' treatment. C C C Interface C --------- C C CALL CHKPREC() C C Input C ----- C C None C C C Output C ------ C C Sets the precipitation threshold if give by environment variable C PRECIPITATION_THRESHOLD. Otherwise gives it a default value. C C C Method C ------ C C See below. C C C Externals C --------- C C INTLOG - Logs messages C C Uses common block nifld.common C C C Author C ------ C C J.D.Chambers ECMWF December 2003 C C----< C C IMPLICIT NONE C #include "parim.h" #include "nifld.common" C C Local variables C CHARACTER*20 PTHRESH INTEGER IBLANK LOGICAL LFIRST DATA LFIRST/.TRUE./ SAVE LFIRST C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C IF( LFIRST ) THEN LFIRST = .FALSE. CALL GETENV('PRECIPITATION_THRESHOLD',PTHRESH) IBLANK = INDEX(PTHRESH, ' ') IF( IBLANK.GT.1 ) THEN READ(PTHRESH,'(F15.8)') ZPRECIP ELSE ZPRECIP = 0.00005 ENDIF C CALL INTLOGR(JP_DEBUG, X 'CHKPREC: PRECIPITATION_THRESHOLD = ',ZPRECIP) ENDIF C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/makemap.c0000755000175000017500000001747412127406245022144 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #include "bitmap.h" #define BUFFLEN 50000 #define NOTSET -1 fortint MAKEMAP( char * filename, fortint *n, fortint *m, char ** mybitmap, fortint filenameLength) { /* // Builds a bitmap in memory from the definition in a file. // // Called from FORTRAN: // // STATUS = MAKEMAP(FILENAME,N,M,BITMAP) // // where: // // FILENAME is a FORTRAN CHARACTER variable containing the file name. // // Returns: // // N is the number of rows in the bitmap. // M is the number of columns in the bitmap. // BITMAP is the binary map expanded in memory. // // STATUS = 0 if the processing is successful. // */ FILE * in; char * bitmap; char buffer[BUFFLEN]; int rowCount, columnCount; int start, finish, defaultValue, size, i; int firstColumn, lastColumn, rowNumber, columnNumber; char defaultValueSetting, delimiter = '\1', previousDelimiter = '\0'; static int oldRow = NOTSET; char * fileName, *p; /* // Open and read the file containing the bitmap definition. */ fileName = (char *) malloc(filenameLength+1); if( fileName == NULL ) { perror("MAKEMAP: malloc error"); exit(1); } strncpy(fileName,filename,filenameLength); fileName[filenameLength] = '\0'; p = fileName + filenameLength - 1; while ( *p == ' ' ) *(p--) = '\0'; in = fopen(fileName,"r"); if( in == NULL ) { printf("MAKEMAP: Problem opening bitmap file: %s\n",fileName); perror("MAKEMAP: File open error"); return 1; } free(fileName); fread(buffer, 1, BUFFLEN, in); if( ! feof(in) ) { printf("MAKEMAP: Internal buffer size too small = %d bytes\n", BUFFLEN); return 2; } /* // Check for "SPEC,SIZE=" */ if( strncmp(buffer,"SPEC",4) != 0 ) { printf("MAKEMAP: Specification does not start with SPEC\n"); return 3; } start = 5; if( strncmp((buffer+start),"SIZE=",5) != 0 ) { printf("MAKEMAP: In specification, SPEC not followed by SIZE=\n"); return 4; } /* // Get count of rows and columns */ start = 1 + findCharacter(buffer,BUFFLEN,start,'='); if( start == 0 ) { printf("MAKEMAP: '=' missing in SIZE specification\n"); return 5; } finish = findCharacter(buffer,BUFFLEN,start,':'); if( finish == 0 ) { printf("MAKEMAP: ':' missing in SIZE specification\n"); return 6; } rowCount = findNumber(buffer,BUFFLEN,start,&finish,':'); *n = rowCount; start = 1 + finish; finish = findCharacter(buffer,BUFFLEN,start,','); if( finish == 0 ) { printf("MAKEMAP: ',' missing after SIZE specification\n"); return 7; } columnCount = findNumber(buffer,BUFFLEN,start,&finish,','); *m = columnCount; /* // Find default VALUE (OFF/ON) */ start = 1 + finish; if( strncmp((buffer+start),"VALUES=",7) != 0 ) { printf("MAKEMAP: In specification, SIZE not followed by VALUES=\n"); return 8; } start += 7; if( strncmp((buffer+start),"ON",2) == 0 ) { defaultValueSetting = 0xff; defaultValue = 1; } else { defaultValueSetting = 0; defaultValue = 0; } /* // Claim memory for bitmap and fill it with default setting */ size = (rowCount*columnCount+7)/8; bitmap = (char *) malloc(size); *mybitmap = bitmap; for( i = 0; i < size; i++ ) bitmap[i] = defaultValueSetting; /* // Fill in the bits */ start = findCharacter(buffer,BUFFLEN,start,'P'); if( start == 0 ) { printf("MAKEMAP: '=' POINTS missing in specification\n"); return 9; } if( strncmp((buffer+start),"POINTS=",7) != 0 ) { printf("MAKEMAP: In specification, VALUES= not followed by POINTS=\n"); return 10; } finish = start + 6; /* // Work through POINTS specification */ do { previousDelimiter = delimiter; start = 1 + finish; delimiter = findDelimiter(buffer,BUFFLEN,start); if( delimiter == 0 ) { fclose(in); return 0; } switch( delimiter ) { case '-': /* eg 03-08 */ firstColumn = findNumber(buffer,BUFFLEN,start,&finish,delimiter); start = 1 + finish; delimiter = findDelimiter(buffer,BUFFLEN,start); lastColumn = findNumber(buffer,BUFFLEN,start,&finish,delimiter); for(columnNumber=firstColumn; columnNumber<=lastColumn; columnNumber++) setBit(bitmap,defaultValue,columnCount,rowNumber,columnNumber); break; case '/': /* eg 03/04 */ columnNumber = findNumber(buffer,BUFFLEN,start,&finish,delimiter); setBit(bitmap,defaultValue,columnCount,rowNumber,columnNumber); break; case '\n': /* eg 03\n */ if( previousDelimiter == ',' ) { finish++; break; } if( previousDelimiter == '\n' ) { if( (oldRow < rowCount) && (oldRow != NOTSET) ) { int loop; for( loop = (oldRow+1); loop <= rowCount; loop++ ) copyRow(bitmap, columnCount, oldRow, loop, defaultValue); } oldRow = rowCount; fclose(in); return 0; } case ',': /* eg 03, */ columnNumber = findNumber(buffer,BUFFLEN,start,&finish,delimiter); if( columnNumber != 0 ) setBit(bitmap,defaultValue,columnCount,rowNumber,columnNumber); break; case ':': /* eg 01: */ rowNumber = findNumber(buffer,BUFFLEN,start,&finish,delimiter); if( (oldRow < rowNumber) && (oldRow != NOTSET) ) { int loop; for( loop = (oldRow+1); loop < rowNumber; loop++ ) copyRow(bitmap, columnCount, oldRow, loop, defaultValue); } oldRow = rowNumber; break; default: break; } } while( 1 ); } int findNumber(char * buffer,int length,int start,int * finish,char delimiter) { char number[20]; int end; end = findCharacter(buffer,length,start,delimiter); *finish = end; strncpy(number,(buffer+start),(end-start)); number[(end-start)] = '\0'; return atoi(number); } char findDelimiter(char * buffer, int length, int point) { int i, j; char delimiter[5] = {'-','/',',','\n',':'}; for( i = point; i < length; i++ ) for( j = 0; j < 5; j++ ) if( buffer[i] == delimiter[j] ) return buffer[i]; return (char) 0; } int findCharacter(char * buffer, int length, int point, char character) { int i; for( i = point; i < length; i++ ) if( buffer[i] == character ) return i; return 0; } void setBit(char * buffer, int value, int columnCount, int row, int column) { int bitNumber, byte, bit; char mask[8] = {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; bitNumber = (row - 1)*columnCount + (column - 1); byte = bitNumber / 8; bit = bitNumber % 8; if( value == 1 ) buffer[byte] &= (char) ~mask[bit]; else buffer[byte] |= (char) mask[bit]; return; } void copyRow(char * buffer, int columnCount, int oldRow, int newRow, int value) { int oldByte, oldBit, newByte, newBit, bitNumber; char oldValue, newValue, mask; int loop; for( loop = 0; loop < columnCount; loop++ ) { bitNumber = (oldRow - 1)*columnCount + loop; oldByte = bitNumber / 8; oldBit = bitNumber % 8; oldValue = (char) ((buffer[oldByte] >> (7-oldBit)) & 0x01); bitNumber = (newRow - 1)*columnCount + loop; newByte = bitNumber / 8; newBit = bitNumber % 8; newValue = oldValue << (7-newBit); if( value == 1 ) { mask = 1 << (7-newBit); buffer[newByte] &= (char) ~mask; buffer[newByte] |= (char) newValue; } else buffer[newByte] |= newValue; } } emoslib-000392+dfsg.1/interpolation/jstrwll.F0000755000175000017500000002305712127406245022167 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JSTRWLL( PSHUP, KTRUNC, PNLAT, PBUILD, KLONO, X PLEG, PTRIGS, KMFAX, PZFA, KRET) C C----> C**** JSTRWLL C C PURPOSE C _______ C C This routine converts stretched spectral wind fields to C standard lat/long grid fields. C C INTERFACE C _________ C C CALL JSTRWLL( PSHUP, KTRUNC, PNLAT, PBUILD, KLONO, C X PLEG, PTRIGS, KMFAX, PZFA, KRET) C C Input parameters C ________________ C C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C PNLAT - Start latitude (northernmost) for output field C PBUILD - Grid interval used to build the legendre coefficients C KLONO - Number of longitude points along the line of latitude C PLEG - Array used to hold legendre functions C PTRIGS - Initialized array of trig.functions (setup by JJSET99) C KMFAX - Initialized array of prime factors (setup by JJSET99) C C Output parameters C ________________ C C PZFA - Output grid point field; contains one latitude row. C KRET - Return status code, 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C None. C C Externals C _________ C C FFT99 - Carries out FFT C INTLOG - Output log message C INTLOGR - Output log message (with real value) C NMAKLL - Make interpolation coefficients one latitude at a time C JSPPOLE - Applies correction at North or South pole C SSCAL - Scale a vector of values C C Reference C _________ C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C Comments C ________ C C It handles transformation to a regular lat/long grid. C C It is for U and V fields (a correction is applied at latitudes C other than the poles). C C C AUTHOR C ______ C C J.D.Chambers ECMWF July 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "nifld.common" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31300 ) INTEGER JPN, JPS PARAMETER ( JPN = 1 ) PARAMETER ( JPS = 2 ) REAL DEG2RAD PARAMETER (DEG2RAD = PPI / 180.0 ) C C Subroutine arguments C COMPLEX PSHUP(*) INTEGER KTRUNC INTEGER KLONO, KRET INTEGER KMFAX(*) REAL PNLAT, PBUILD REAL PZFA(JPLONO+2,2), PLEG(*), PTRIGS(*) C C Local variables C INTEGER ILIM, IMLIM, ILN INTEGER ITAL, ITALA, ITALS, IMN, IMP INTEGER INORTH INTEGER JM, LOOP, JF INTEGER NERR C #ifdef POINTER_64 INTEGER*8 IWORK #endif REAL ZCOSI, ZF(2*JPFFT) REAL ZNLAT, MFACTOR REAL WORK DIMENSION WORK(1) POINTER ( IWORK, WORK ) COMPLEX ZDUM(JPTRNC + 1) COMPLEX ZSUMS(JPTRNC + 1), ZSUMA(JPTRNC + 1) COMPLEX*16 CHOLD C INTEGER ISIZE DATA ISIZE/0/ SAVE ISIZE, IWORK C C Statement function C LOGICAL GPOLE REAL ANGLE GPOLE(ANGLE) = ( ABS(90.0 - ABS(ANGLE) ) .LT. 1.0E-3 ) C = .TRUE. if LAT is 90.0 or -90.0 C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C C First time through, dynamically allocate memory for workspace C IF( ISIZE.EQ.0 ) THEN ISIZE = 2*JPFFT CALL JMEMHAN( 9, IWORK, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JSTRWLL: memory allocation error',IWORK) KRET = JPROUTINE + 1 GOTO 990 ENDIF ENDIF C IF( NDBG.GT.1 ) THEN CALL INTLOG(JP_DEBUG, X 'JSTRWLL: Spherical harmonic coeffs(first 20):',JPQUIET) DO NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ',PSHUP( NDBGLP )) ENDDO CALL INTLOG(JP_DEBUG,'JSTRWLL: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JSTRWLL: Spherical harmonic truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JSTRWLL: Current latitude = ', PNLAT) CALL INTLOGR(JP_DEBUG, X 'JSTRWLL: Grid lat. interval(leg. file) = ', PBUILD) CALL INTLOG(JP_DEBUG, X 'JSTRWLL: Number of long. pts per row = ', KLONO) CALL INTLOG(JP_DEBUG, X 'JSTRWLL: Trig.functions (setup by JJSET99):',JPQUIET) DO NDBGLP = 1, 10 CALL INTLOGR(JP_DEBUG,' ',PTRIGS( NDBGLP )) ENDDO CALL INTLOG(JP_DEBUG, X 'JSTRWLL: Prime factors (setup by JJSET99):',JPQUIET) DO NDBGLP = 1, 10 CALL INTLOG(JP_DEBUG,' ',KMFAX( NDBGLP )) ENDDO ENDIF C C If it is a stretched field, calculate the true latitude and C the map factor. C IF( RISTRET.NE.0 ) THEN CALL STRLAT(PNLAT, RISTRET, 1, ZNLAT, MFACTOR) ELSE ZNLAT = PNLAT MFACTOR = 1.0 ENDIF C ILIM = KTRUNC + 1 IMLIM = KTRUNC + 1 INORTH = -1 ILN = KLONO + 2 C C _______________________________________________________ C C* Section 2. Calculate fourier coefficients C _______________________________________________________ C 200 CONTINUE C C Generate the legendre coefficients 'on the fly' C IF( ZNLAT.GE.0 ) THEN CALL NMAKLL( KTRUNC, PBUILD, ZNLAT, 1, PLEG, NERR) ELSE CALL NMAKLL( KTRUNC, PBUILD, -ZNLAT, 1, PLEG, NERR) ENDIF C C Clear array. C DO JF = 1, JPLONO+2 PZFA(JF,JPN) = 0.0 PZFA(JF,JPS) = 0.0 ENDDO C C Treat the poles as a special case .. C IF( GPOLE(ZNLAT) ) THEN C IF( NDBG.GT.1 ) CALL INTLOG(JP_DEBUG, X 'JSTRWLL: Pole is special case',JPQUIET) C CALL JSPPOLE( PSHUP, 1, KTRUNC, .TRUE. , ZF) DO LOOP = 1, ILN PZFA(LOOP, JPN) = ZF(LOOP) ENDDO C CALL JSPPOLE( PSHUP, 0, KTRUNC, .TRUE. , ZF) DO LOOP = 1, ILN PZFA(LOOP, JPS) = ZF(LOOP) ENDDO C C .. otherwise not at pole C ELSE C C Fill slots which are used C IMN = 0 IMP = 0 C DO JM = 1, IMLIM ITAL = ILIM - JM + 1 DO LOOP = 1, ITAL ZDUM(LOOP) = PLEG(IMP + LOOP)*PSHUP(IMN + LOOP) ENDDO C IMP = IMP + ITAL + 1 IMN = IMN + ITAL ITALS = (ITAL + 1)/2 ITALA = ITAL/2 #ifndef CRAY CHOLD = (0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO LOOP = 1, 2*ITALS, 2 CHOLD = CHOLD + ZDUM(LOOP) ENDDO ZSUMS(JM) = CHOLD #ifndef CRAY CHOLD = (0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO LOOP = 2, 2*ITALA, 2 CHOLD = CHOLD + ZDUM(LOOP) ENDDO ZSUMA(JM) = CHOLD C ENDDO C C For the southern hemisphere row, the legendre functions are C the complex conjugates of the corresponding northern row - C hence the juggling with the signs in the next loop. C C Note that PZFA is REAL, but the coefficients being calculated C are COMPLEX. There are pairs of values for each coefficient C (real and imaginary parts) and pairs of values for each C latitude (north and south). C DO JM = 1, IMLIM PZFA(2*JM -1,JPN) = REAL(ZSUMS(JM)) + REAL(ZSUMA(JM)) PZFA(2*JM ,JPN) = AIMAG(ZSUMS(JM)) + AIMAG(ZSUMA(JM)) PZFA(2*JM -1,JPS) = REAL(ZSUMS(JM)) - REAL(ZSUMA(JM)) PZFA(2*JM ,JPS) = AIMAG(ZSUMS(JM)) - AIMAG(ZSUMA(JM)) ENDDO C ENDIF C C _______________________________________________________ C C* Section 3. Fast fourier transform C _______________________________________________________ C 300 CONTINUE C CALL FFT99(PZFA,WORK,PTRIGS,KMFAX,1,J2NFFT,KLONO,2,1) C IF( NDBG.GT.1 ) THEN CALL INTLOG(JP_DEBUG, X 'JSTRWLL: Values calculated by FFT:',JPQUIET) DO NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ', PZFA( 1, NDBGLP )) CALL INTLOGR(JP_DEBUG,' ', PZFA( 2, NDBGLP )) ENDDO ENDIF C C Move 'southern' latitude into leading part of array C IF( ZNLAT.LT.0 ) THEN DO JF = 1, JPLONO+2 PZFA(JF,JPN) = PZFA(JF,JPS) ENDDO ENDIF C _______________________________________________________ C C* Section 4. Apply scale factor (map scale factor, and C latitude correction if not pole) C _______________________________________________________ C 400 CONTINUE C IF( NDBG.GT.1 ) CALL INTLOG(JP_DEBUG, X 'JSTRWLL: Apply scale to latitude',JPQUIET) C IF( .NOT. GPOLE(ZNLAT) ) THEN ZCOSI = MFACTOR / COS( ZNLAT * DEG2RAD ) CALL SSCAL( KLONO, ZCOSI, PZFA( 2, JPN), 1) ELSE CALL SSCAL( KLONO, MFACTOR, PZFA( 2, JPN), 1) ENDIF C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C C 900 CONTINUE C KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_256.h0000755000175000017500000000455412127406245022431 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG256(256) DATA QG256/ X 18, 25, 32, 40, X 45, 50, 60, 64, X 72, 72, 75, 81, X 90, 96, 100, 108, X 120, 120, 125, 135, X 144, 150, 160, 160, X 180, 180, 180, 192, X 192, 200, 216, 216, X 216, 225, 240, 240, X 243, 250, 256, 270, X 270, 288, 288, 288, X 300, 300, 320, 320, X 320, 324, 360, 360, X 360, 360, 360, 360, X 375, 375, 384, 384, X 400, 400, 400, 432, X 432, 432, 432, 432, X 450, 450, 450, 480, X 480, 480, 480, 480, X 486, 500, 500, 500, X 512, 512, 540, 540, X 540, 540, 540, 576, X 576, 576, 576, 576, X 576, 600, 600, 600, X 600, 600, 640, 640, X 640, 640, 640, 640, X 640, 640, 648, 675, X 675, 675, 675, 675, X 675, 720, 720, 720, X 720, 720, 720, 720, X 720, 720, 729, 729, X 750, 750, 750, 750, X 750, 768, 768, 768, X 768, 800, 800, 800, X 800, 800, 800, 800, X 800, 810, 810, 864, X 864, 864, 864, 864, X 864, 864, 864, 864, X 864, 864, 864, 864, X 864, 900, 900, 900, X 900, 900, 900, 900, X 900, 900, 900, 900, X 960, 960, 960, 960, X 960, 960, 960, 960, X 960, 960, 960, 960, X 960, 960, 960, 960, X 960, 960, 960, 960, X 960, 960, 972, 972, X 972, 972, 972, 1000, X 1000, 1000, 1000, 1000, X 1000, 1000, 1000, 1000, X 1000, 1000, 1000, 1000, X 1000, 1000, 1000, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024, X 1024, 1024, 1024, 1024 / emoslib-000392+dfsg.1/interpolation/iaintgg.F0000755000175000017500000003730412127406245022110 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IAINTGG (KIFELD, KILEN, PWEST, PEAST, PNORTH, 1 PSOUTH, KGAUSS, KOFELD, KOLEN, KOBITS, KPR, KERR) C C----> C**** *IAINTGG* C C PURPOSE C _______ C C The controlling routine for interpolating between a GRIB input C field and a Gaussian output field. C C INTERFACE C _________ C C IERR = IAINTGG (KIFELD, KILEN, PWEST, PEAST, PNORTH, PSOUTH, C 1 KGAUSS, KOFELD, KOLEN, KOBITS, KPR, KERR) C C Input parameters C ________________ C C KIFELD - The input field provided by the calling routine. C C KILEN - The length of the input field. C C PWEST - The Western limit of the output field area. C C PEAST - The Eastern limit of the output field area. C C PNORTH - The Northern limit of the output field area. C C PSOUTH - The Southern limit of the output field area. C C KGAUSS - The Gaussian truncation for the output field. C C KOLEN - The length of the output field. C C KOBITS - The number of bits used for packing the output array. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KOFELD - The output field returned to the calling routine. C C KOLEN - The amount of the output array used for the packed C GRIB field. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 21501 The number of bits requested was outside the allowed C range 0 to 24. C 21502 The input data representation was not valid when the GRIB C field had been expanded. C C Common block usage C __________________ C C grfixed.h - The include file contains all the array space C for grid to grid interpolation. C C MILLEN - The array of latitude line lengths for a quasi C regular input field is used. C RIGAUSS - Real array of input field Gaussian latitudes is C used. C ROGAUSS - Real array of output field Gaussian latitudes is C used. C C ouspace.h - This file contains the work space array C definitions for the arrays to hold the unpacked C real data from GRIB fields. C C RIFELD - The expanded input field is set and used. C ROFELD - The expanded output field is set and used. C C nifld.common - This file contains all the input field C definition variables. C C LCHANGE - Process change flag is set. C C NIAREA - Input field area definition (N/W/S/E) is set. C NIGAUSS - Input field Gaussian truncation is used. C NIGRID - Input field grid definition (WE/NS) is used. C NINS - Number of grid points in NS direction for input C field is used. C NIREPR - Input field representation is used. C NIWE - Number of grid points in WE direction for input C field is used. C C nofld.common - This file contains all the output field C definition variables. C C NOACC - Number of packing bits to be used for output C GRIB field is set. C NOAREA - Output field area definition (N/W/S/E) is set. C NOGAUSS - Output field Gaussian truncation is set. C NONS - Number of grid points in NS direction for output C field is set and used. C NOWE - Number of grid points in WE direction for output C field is set and used. C C EXTERNALS C _________ C C ABORTX - Standard routine to kill task. C GRIBEX - Standard routine to unpack or pack a GRIB field. C IAGCNTL - Perform regular grid to grid point interpolation. C IARCNTL - Perform regular grid to grid point interpolation. C IAIDEF - Initialise the input field definition variables C from a GRIB definition C IAOGDEF - Initialise the output field definition variables C from the user supplied values. C IARESET - Create the output field definition in GRIB format. C IARMEM - Get space for the unpacked input and output C fields. C IGLSIZE - Evaluate the array sizes for a regular C latitude/longitude grid and area. C IGSIZE - Evaluate the array sizes for a Gaussian truncation C and area. C IRSIZE - Evaluate the array sizes for a quasi regular C Gaussian field. C INTLOG - Logs messages. C C METHOD C ______ C C This is purely a controlling routine with all the work being C performed in the external routines. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 7 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "ouspace.h" C C Function arguments C INTEGER KGAUSS, KILEN, KOLEN, KOBITS, KPR, KERR REAL PWEST, PEAST, PNORTH, PSOUTH INTEGER KIFELD (*), KOFELD (*) C C Local variables C CHARACTER*1 HFUNC LOGICAL GIWEGLOBE, GINPOLE, GISPOLE, GOWEGLOBE, GONPOLE, 1 GOSPOLE, GICHNG, GOCHNG INTEGER IILN, ITOTAL, IOLN INTEGER IIAREA (4), IOAREA (4) INTEGER JLAT, JSET INTEGER IERR INTEGER ISEC0 (JPGRIB_ISEC0), ISEC1 (JPGRIB_ISEC1) INTEGER ISEC2 (JPGRIB_ISEC2), ISEC3 (JPGRIB_ISEC3) INTEGER ISEC4 (JPGRIB_ISEC4) INTEGER ZSEC2 (JPGRIB_RSEC2), ZSEC3 (JPGRIB_RSEC3) INTEGER JPROUTINE PARAMETER (JPROUTINE = 21500) C C External functions C INTEGER IAGCNTL, IARCNTL, IAIDEF, IAOGDEF, IARESET, IARMEM, 1 IGLSIZE, IGSIZE, IRSIZE C C Transform definition variables that must be preserved C SAVE IILN, IIAREA, IOLN, IOAREA, ITOTAL SAVE GIWEGLOBE, GINPOLE, GISPOLE, GOWEGLOBE, GONPOLE, 1 GOSPOLE C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTGG: Section 1.',JPQUIET) C IAINTGG = 0 C IERR = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IAINTGG: Input parameters',JPQUIET) CALL INTLOG(JP_DEBUG,'IAINTGG: Input array length = ',KILEN) CALL INTLOG(JP_DEBUG,'IAINTGG: Output array length = ',KOLEN) CALL INTLOG(JP_DEBUG,'IAINTGG: Gaussian truncation = ',KGAUSS) CALL INTLOG(JP_DEBUG,'IAINTGG: Out field packing bits=',KOBITS) CALL INTLOGR(JP_DEBUG,'IAINTGG: Area North = ',PNORTH) CALL INTLOGR(JP_DEBUG,'IAINTGG: Area West = ',PWEST) CALL INTLOGR(JP_DEBUG,'IAINTGG: Area South = ',PSOUTH) CALL INTLOGR(JP_DEBUG,'IAINTGG: Area East = ',PEAST) ENDIF C IF (KOBITS .LT. 0 .OR. KOBITS .GT. 24) THEN IAINTGG = JPROUTINE + 1 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IAINTGG: No. bits requested = ',KOBITS) CALL INTLOG(JP_ERROR, X 'IAINTGG: Range allowed is <0 - 24>',JPQUIET) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IAINTGG: Interpolation failing.',JPQUIET) ENDIF GO TO 900 ENDIF C NOACC = KOBITS C C _______________________________________________________ C C C* Section 2. Input grid definition from GRIB file C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTGG: Section 2.',JPQUIET) C C Unpack GRIB sections 0, 1 and 2 only C IERR = KERR C C CALL GRSDBG (KPR) C CALL GRIBEX (ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X RIFELD, 1, KIFELD, KILEN, KOLEN, 'I', IERR) C IF (IERR .NE. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C IERR = IAIDEF (ISEC1, ISEC2, IIAREA, MILLEN, GICHNG, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C IF (GICHNG) THEN C DO 210 JSET = 1, 4 NIAREA (JSET) = IIAREA (JSET) 210 CONTINUE C IF (NIREPR .EQ. JPGAUSSIAN) THEN C IERR = IGSIZE (NIGAUSS, NIAREA, NIWE, NINS, IILN, RIGAUSS, 1 GIWEGLOBE, GINPOLE, GISPOLE, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C ITOTAL = NIWE * NINS C ELSE IF (NIREPR .EQ. JPQUASI) THEN C IERR = IRSIZE (NIGAUSS, NIAREA, MILLEN, NIWE, NINS, IILN, 1 ITOTAL, RIGAUSS, GIWEGLOBE, GINPOLE, GISPOLE, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C ELSE IF (NIREPR .EQ. JPREGULAR) THEN C IERR = IGLSIZE (NIGRID, NIAREA, NIWE, NINS, IILN, GIWEGLOBE, X GINPOLE, GISPOLE, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C ITOTAL = NIWE * NINS C ELSE C IAINTGG = JPROUTINE + 2 IF (KERR .GE. 0) CALL INTLOG(JP_ERROR, X 'IAINTGG: Invalid input representation = ',NIREPR) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IAINTGG: Interpolation failing.',JPQUIET) GO TO 900 C ENDIF ELSE IF (NIREPR .NE. JPQUASI) THEN ITOTAL = NIWE * NINS ELSE ITOTAL = 0 DO 220 JLAT = 1, NINS ITOTAL = ITOTAL + MILLEN (JLAT) 220 CONTINUE ENDIF ENDIF C LCHANGE = LCHANGE .OR. GICHNG C C _______________________________________________________ C C* Section 3. Output field definiton from parameters C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTGG: Section 3.',JPQUIET) C IERR = IAOGDEF (PWEST, PEAST, PNORTH, PSOUTH, KGAUSS, IOAREA, 1 GOCHNG, GIWEGLOBE, GINPOLE, GISPOLE, NIAREA, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C IF (GOCHNG) THEN C DO 310 JSET = 1, 4 NOAREA (JSET) = IOAREA (JSET) 310 CONTINUE C NOWE = 0 NONS = 0 C IERR = IGSIZE (NOGAUSS, NOAREA, NOWE, NONS, IOLN, ROGAUSS, 1 GOWEGLOBE, GONPOLE, GOSPOLE, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTGG = IERR GO TO 900 ENDIF ENDIF C LCHANGE = LCHANGE .OR. GOCHNG C C _______________________________________________________ C C* Section 4. Get space for REAL input and output arrays C _______________________________________________________ C 400 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTGG: Section 4.',JPQUIET) C IF (LCHANGE) THEN C IERR = IARMEM (ITOTAL, NOWE * NONS, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTGG = IERR GO TO 900 ENDIF ENDIF C C _______________________________________________________ C C* Section 5. Fully unpack the GRIB array C _______________________________________________________ C 500 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTGG: Section 5.',JPQUIET) C IERR = KERR C C CALL GRSDBG (KPR) C ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL GRIBEX (ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X RIFELD, ITOTAL, KIFELD, KILEN, KOLEN, 'D', IERR) C IF (IERR .NE. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C C _______________________________________________________ C C* Section 6. Basic interpolation from input to output field C _______________________________________________________ C 600 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTGG: Section 6.',JPQUIET) C IF (NIREPR .EQ. JPQUASI) THEN IERR = IARCNTL (RIFELD, ITOTAL, ROFELD, NOWE * NONS, IILN, X GIWEGLOBE, GINPOLE, GISPOLE, IOLN, GOWEGLOBE, GONPOLE, X GOSPOLE, KPR, KERR) ELSE IERR = IAGCNTL (RIFELD, ITOTAL, ROFELD, NOWE * NONS, IILN, X GIWEGLOBE, GINPOLE, GISPOLE, IOLN, GOWEGLOBE, GONPOLE, X GOSPOLE, KPR, KERR) ENDIF C IF (IERR .NE. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C C _______________________________________________________ C C C* Section 7. Repack GRIB code C _______________________________________________________ C 700 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTGG: Section 7.',JPQUIET) C IERR = IARESET (ISEC2, ISEC4, NOWE * NONS, KPR, KERR) C IF (IERR .NE. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C IERR = KERR C C CALL GRSDBG (KPR) C C PACKING specified can be second-order, simple or archive value C IF( NOHFUNC.EQ.'K' ) THEN HFUNC = 'K' ISEC4(4) = 64 ISEC4(6) = 16 ISEC4(9) = 32 ISEC4(10) = 16 ISEC4(12) = 8 ISEC4(13) = 4 ISEC4(14) = 0 ISEC4(15) = -1 ELSE IF( NOHFUNC.EQ.'S' ) THEN HFUNC = 'C' ISEC4(4) = 0 ISEC4(6) = 0 ELSE IF( NOHFUNC.EQ.'A' ) THEN IF( ISEC4(4).EQ.64 ) THEN HFUNC = 'K' ELSE HFUNC = 'C' ENDIF ENDIF C IF( LIMISSV ) THEN ISEC1(5) = 192 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV ENDIF CALL GRIBEX (ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X ROFELD, NOWE * NONS, KOFELD, KOLEN, KOLEN, HFUNC, IERR) C IF (IERR .NE. 0) THEN IAINTGG = IERR GO TO 900 ENDIF C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG, X 'IAINTGG: Output field length is ',KOLEN) C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTGG: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/hirlsm.F0000755000175000017500000007523012127406245021764 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HIRLSM(L12PNT,OLDFLD,KOUNT,KGAUSS,AREA, X POLE,GRID,NEWFLD,KSIZE,NLON,NLAT) C C----> C**** HIRLSM C C Purpose C ------- C C This routine creates a rotated regular lat/long field from a C reduced gaussian field using 12-point horizontal interpolation C and land-sea masks. C C C Interface C --------- C C IRET = HIRLSM(L12PNT,OLDFLD,KOUNT,KGAUSS,AREA, C X POLE,GRID,NEWFLD,KSIZE,NLON,NLAT) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C = .TRUE. for 12-point horizontal C = .FALSE. for 4-point C OLDFLD - Array of values from the (old) reduced gaussian field C KOUNT - Number of values in OLDFLD C KGAUSS - Gaussian number of the reduced gaussian field C AREA - Limits of output area (N/W/S/E) C POLE - Pole of rotation (lat/long) C GRID - Output lat/long grid increments (we/ns) C KSIZE - The size of the output array to fill with the regular C lat/long field C C C Output parameters C ----------------- C C NEWFLD - The array of values for the regular lat/long field C NLON - Number of longitudes in the regular lat/long field C NLAT - Number of latitudes in the regular lat/long field C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C nifld.common C nofld.common C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C JGETGG - Reads the definition of a gaussian grid C HGETLSM - Reads values for gaussian land-sea mask C HGENGRD - Calculates original lat/long (before rotation) for C a rotated grid C HNEI12 - Finds neighbours for points for interpolation C HWTS12 - Calculates weightings for points for interpolation C HWTSLSM - Calculates LSM weightings for points for interpolation C CHKPREC - Check if precipitation threshold has been redefined C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) C C Function arguments C LOGICAL L12PNT INTEGER KOUNT, KGAUSS, KSIZE, NLON, NLAT REAL AREA(4), POLE(2), GRID(2), OLDFLD(*) REAL NEWFLD(KSIZE) C C Local variables C INTEGER NEXT, LOOP, loop1, IRET, NLEN, NPREV, NBYTES, NUMBER INTEGER NEAREST, NEND, COUNT, INUM INTEGER IOSIZE, INSIZE, NJPR, NJPB INTEGER NEWSIZE REAL OLDAREA(4), OLDPOLE(2), OLDGRID(2) REAL OLDLSM(1) POINTER (IPOLDLS, OLDLSM ) C CHARACTER*12 YFLAG, Y1FLAG, Y2FLAG LOGICAL LNEW, LFIRST, LNEWSPC, LOLDNEW, LVEGGY, LSOIL LOGICAL LITAL, LVEGGY2 INTEGER KSCHEME(1),NEIGH(12,1), KLA(1), KSCHEMEN(1) REAL PWTS(12,1) REAL PWTSN(12,1) POINTER (IPKSCHE, KSCHEME) POINTER (IPKSCHEN, KSCHEMEN) POINTER (IPNEIGH, NEIGH) POINTER (IPKLA, KLA) POINTER (IPPWTS, PWTS) POINTER (IPPWTSN, PWTSN) C REAL PDLO0(1),PDLO1(1),PDLO2(1),PDLO3(1),PDLAT(1) POINTER (IPPDLO0, PDLO0) POINTER (IPPDLO1, PDLO1) POINTER (IPPDLO2, PDLO2) POINTER (IPPDLO3, PDLO3) POINTER (IPPDLAT, PDLAT) C INTEGER IGG, IGGOLD INTEGER KPTS(1) REAL GLATS(1) INTEGER IOFFS(1) POINTER (IPKPTS, KPTS) POINTER (IPIOFFS, IOFFS) POINTER (IPGLATS, GLATS) C INTEGER ILL, ILLOLD REAL RLAT(1),RLON(1) POINTER (IPRLAT, RLAT) POINTER (IPRLON, RLON) C REAL OLD(KOUNT) C REAL NEWLSM(1) POINTER (IPNEWLS, NEWLSM) C DATA OLDAREA/4*-1.0/, OLDPOLE/2*-1.0/, OLDGRID/2*-1.0/ DATA NPREV/-1/, IOSIZE/-1/, INSIZE/-1/ DATA LNEW/.FALSE./, LFIRST/.TRUE./ DATA IGGOLD/-1/, ILLOLD/-1/, IPNEWLS/-1/, IPOLDLS/-1/ DATA NUMBER/-1/ C SAVE OLDAREA, OLDPOLE, OLDGRID SAVE LNEW, LFIRST, IOSIZE, INSIZE, IPNEWLS, IPOLDLS SAVE IPKSCHE, IPNEIGH, IPKLA, IPPWTS, IPPWTSN,IPKSCHEN SAVE IPPDLO0, IPPDLO1, IPPDLO2, IPPDLO3, IPPDLAT SAVE NPREV, IGGOLD, IPKPTS, IPIOFFS, IPGLATS SAVE ILLOLD, IPRLAT, IPRLON SAVE NUMBER C C Externals C INTEGER HGETLSM, HNEI12, HGENGRD #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C Statement function C REAL A, B LOGICAL NOTEQ NOTEQ(A,B) = (ABS((A)-(B)).GT.(ABS(A)*1E-3)) C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HIRLSM = 0 C CALL JDEBUG() C IF( L12PNT ) THEN CALL INTLOG(JP_DEBUG,'HIRLSM: 12-pt interpolation',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'HIRLSM: 4-pt interpolation',JPQUIET) ENDIF C CALL CHKPREC() IF( LPREC )THEN CALL INTLOG(JP_DEBUG, X 'HIRLSM: precipitation threshold applied',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'HIRLSM: precipitation threshold not applied',JPQUIET) ENDIF C Are we handling vegetation parameter LVEGGY = (NITABLE.EQ.128).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30).OR. X (NIPARAM.EQ.43) ) C Force nearest neighbour processing with env variable CALL GETENV('NEAREST_NEIGHBOUR', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LVEGGY = .TRUE. C Force nearest neighbour processing with INTOUT parameter IF( LMETHOD ) LVEGGY = .TRUE. C special procesing for soil parameters LSOIL = .FALSE. CALL GETENV('SOIL_PARAM', Y1FLAG) CALL GETENV('NEAREST_NEIGHBOUR_NEW', Y2FLAG) C Fields with bitmap (as SST) and VEGGY Parameters are treated C with a corrected nearest neighbour method matching LSM C Force nearest neighbour for same type lsm processing c with INTOUT parameter LVEGGY2 = .FALSE. IF( Y2FLAG(1:1).EQ.'1'.OR.LNNLSM ) THEN LITAL = .TRUE. IF(LVEGGY) LVEGGY2 = .TRUE. LVEGGY = .FALSE. ELSE LITAL = .FALSE. IF( LVEGGY.AND.Y1FLAG(1:1).EQ.'1' ) THEN LSOIL = .TRUE. LVEGGY = .FALSE. ENDIF ENDIF IF( LSOIL ) CALL INTLOG(JP_DEBUG, X 'HIRLSM: nearest neighbour processing (SOIL)',JPQUIET) IF( LVEGGY ) CALL INTLOG(JP_DEBUG, X 'HIRLSM: nearest neighbour processing (vegetation)',JPQUIET) IF( LITAL ) CALL INTLOG(JP_DEBUG, X 'HIRLSM: new nearest neighbour processing',JPQUIET) C C C Dynamically allocate memory for gaussian grid information. C IGG = KGAUSS*2 C IF( IGG.GT.IGGOLD ) THEN C IF( IGGOLD.GT.0 ) CALL JFREE(IPKPTS) C NBYTES = (IGG*JPRLEN) + (2*IGG+1)*JPBYTES C IPKPTS = JMALLOC(NBYTES) #ifdef hpR64 IPKPTS = IPKPTS/(1024*1024*1024*4) #endif IF( IPKPTS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLSM: Memory allocation fail',JPQUIET) HIRLSM = 1 GOTO 900 ENDIF C IPGLATS = IPKPTS + (IGG*JPBYTES) IPIOFFS = IPGLATS + (IGG*JPRLEN) C IGGOLD = IGG NPREV = -1 C ENDIF C C Has gaussian grid changed from last time through? C LOLDNEW = (KGAUSS.NE.NPREV) C C Build up offsets to start of each latitude in the original field. C IF( LOLDNEW ) THEN CALL JGETGG(KGAUSS,'R',GLATS,KPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLSM: JGETGG failed to get gaussian data',JPQUIET) HIRLSM = 1 GOTO 900 ENDIF C IOFFS(1) = 1 DO LOOP = 2, (KGAUSS*2+1) IOFFS(LOOP) = IOFFS(LOOP-1) + KPTS(LOOP-1) ENDDO C NPREV = KGAUSS ENDIF C NUMBER = (IOFFS(KGAUSS*2+1) - 1) IF( NUMBER.NE.KOUNT ) THEN CALL INTLOG(JP_ERROR,'HIRLSM: Given number of points =',KOUNT) CALL INTLOG(JP_ERROR,'HIRLSM: Expected number of pts =',NUMBER) HIRLSM = 1 GOTO 900 ENDIF C C Preserve the input field C (in case OLDFLD and NEWFLD are the same arrays) C DO LOOP = 1, NUMBER OLD(LOOP) = OLDFLD(LOOP) ENDDO C C If old land-sea mask has changed, pick up different land-sea mask C IF( LOLDNEW ) THEN C C Allocate memory for old land-sea mask C IF( IOSIZE.LT.(NUMBER*JPRLEN) ) THEN IOSIZE = NUMBER*JPRLEN IF( IPOLDLS.GT.0 ) CALL JFREE(IPOLDLS) IPOLDLS = JMALLOC(IOSIZE) IF( IPOLDLS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLSM: Memory allocate fail',JPQUIET) HIRLSM = 1 GOTO 900 ENDIF ENDIF C C Read values for different land-sea mask in memory C NEWSIZE = NUMBER*JPRLEN IRET = HGETLSM(KGAUSS,OLDLSM,NEWSIZE) cs IRET = HGETLSM(KGAUSS,OLDLSM,IOSIZE) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLSM: HGETLSM failed to get land-sea mask data',JPQUIET) HIRLSM = 1 GOTO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C Section 2. Generate the lat/long points for the output grid C -----------------------------------------------------------------| C 200 CONTINUE C C Sinisa put nint instead int NLON = 1 + NINT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) ! SC Aug-2005 NLAT = 1 + NINT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) ! SC Aug-2005 C NLEN = NLON * NLAT NOWE = NLON NONS = NLAT C C Check that given array is big enough for the new field. C IF( NLEN.GT.KSIZE ) THEN CALL INTLOG(JP_ERROR,'HIRLSM: Given array size = ',KSIZE) CALL INTLOG(JP_ERROR,'HIRLSM: Required size = = ',NLEN) HIRLSM = 2 GOTO 900 ENDIF C C Dynamically allocate memory for lat/long arrays. C ILL = NLEN IF( ILL.GT.ILLOLD ) THEN C LNEW = .TRUE. C IF( ILLOLD.GT.0 ) CALL JFREE(IPRLON) C NBYTES = 2*ILL*JPRLEN C IPRLON = JMALLOC(NBYTES) #ifdef hpR64 IPRLON = IPRLON/(1024*1024*1024*4) #endif IF( IPRLON.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLSM: Memory allocation fail',JPQUIET) HIRLSM = 2 GOTO 900 ENDIF C IPRLAT = IPRLON + (ILL*JPRLEN) C ILLOLD = ILL C ENDIF C IRET = HGENGRD(AREA,POLE,GRID,NLON,NLAT,RLAT,RLON) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLSM: HGENGRD failed to get lat/lon grid data',JPQUIET) HIRLSM = 2 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 3. Find neighbours for each point for interpolation. C -----------------------------------------------------------------| C 300 CONTINUE C C Dynamically allocate memory for interpolation arrays. C IF( LNEW ) THEN C IF( .NOT.LFIRST ) CALL JFREE(IPPDLO0) C NJPR=17 NJPB=14 IF (LITAL.AND.L12PNT) THEN NJPR=29 NJPB=15 ENDIF NBYTES = (NJPR*JPRLEN + NJPB*JPBYTES) * ILL C IPPDLO0 = JMALLOC(NBYTES) #ifdef hpR64 IPPDLO0 = IPPDLO0/(1024*1024*1024*4) #endif IF( IPPDLO0.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLSM: Memory allocation fail',JPQUIET) HIRLSM = 3 GOTO 900 ENDIF C IPPDLO1 = IPPDLO0 + (ILL*JPRLEN) IPPDLO2 = IPPDLO1 + (ILL*JPRLEN) IPPDLO3 = IPPDLO2 + (ILL*JPRLEN) IPPDLAT = IPPDLO3 + (ILL*JPRLEN) IPPWTS = IPPDLAT + (ILL*JPRLEN) IPKSCHE = IPPWTS + (12*ILL*JPRLEN) IPKLA = IPKSCHE + (ILL*JPBYTES) IPNEIGH = IPKLA + (ILL*JPBYTES) IF (LITAL.AND.L12PNT) THEN IPPWTSN = IPNEIGH + (12*ILL*JPBYTES) IPKSCHEN = IPPWTSN + (12*ILL*JPRLEN) ENDIF C LFIRST = .FALSE. LNEW = .FALSE. C ENDIF C C -----------------------------------------------------------------| C Section 4. Create the new land-sea mask C -----------------------------------------------------------------| C 400 CONTINUE C C Create new land-sea mask if specification has changed C LNEWSPC = .FALSE. IF( AREA(1).NE.OLDAREA(1) ) LNEWSPC = .TRUE. IF( AREA(2).NE.OLDAREA(2) ) LNEWSPC = .TRUE. IF( AREA(3).NE.OLDAREA(3) ) LNEWSPC = .TRUE. IF( AREA(4).NE.OLDAREA(4) ) LNEWSPC = .TRUE. IF( GRID(1).NE.OLDGRID(1) ) LNEWSPC = .TRUE. IF( GRID(2).NE.OLDGRID(2) ) LNEWSPC = .TRUE. IF( POLE(1).NE.OLDPOLE(1) ) LNEWSPC = .TRUE. IF( POLE(2).NE.OLDPOLE(2) ) LNEWSPC = .TRUE. C IF( .NOT.LNEWSPC ) GOTO 500 C OLDAREA(1) = AREA(1) OLDAREA(2) = AREA(2) OLDAREA(3) = AREA(3) OLDAREA(4) = AREA(4) OLDGRID(1) = GRID(1) OLDGRID(2) = GRID(2) OLDPOLE(1) = POLE(1) OLDPOLE(2) = POLE(2) C C Allocate memory for new land-sea mask C IF( INSIZE.LT.(NLEN*JPRLEN) ) THEN INSIZE = NLEN*JPRLEN IF( IPNEWLS.GT.0 ) CALL JFREE(IPNEWLS) IPNEWLS = JMALLOC(INSIZE) IF( IPNEWLS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLSM: Memory allocation fail',JPQUIET) HIRLSM = 4 GOTO 900 ENDIF ENDIF C C Find neighbours. C (Note: 4-point scheme is used for land-sea mask interpolation). C IRET = HNEI12(.FALSE.,NLEN,RLAT,RLON,KGAUSS,KPTS,GLATS, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLSM: HNEI12 failed to find neighbours',JPQUIET) HIRLSM = 4 GOTO 900 ENDIF C C Perform the interpolation for the new land-sea mask. C CALL HWTS12 X (NLEN,KSCHEME,KLA,PDLAT,GLATS,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X PWTS) C C Calculate the interpolated grid point values C DO LOOP = 1, NLEN IF( KSCHEME(LOOP).EQ.JP12PT ) THEN NEWLSM(LOOP) = X OLDLSM(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDLSM(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDLSM(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDLSM(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLDLSM(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLDLSM(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLDLSM(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLDLSM(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLDLSM(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLDLSM(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLDLSM(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLDLSM(NEIGH(12,LOOP)) * PWTS(12,LOOP) C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN C NEWLSM(LOOP) = X OLDLSM(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDLSM(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDLSM(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDLSM(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) X NEWLSM(LOOP) = OLDLSM(NEIGH(NEXT,LOOP)) ENDDO C ENDIF C ENDDO C C -----------------------------------------------------------------| C Section 5. Perform the 12-point horizontal interpolation. C -----------------------------------------------------------------| C 500 CONTINUE C C Fin neighbours. C IRET = HNEI12(L12PNT,NLEN,RLAT,RLON,KGAUSS,KPTS,GLATS, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLSM: HNEI12 failed to find neighbours',JPQUIET) HIRLSM = 5 GOTO 900 ENDIF C C Setup the 12-point horizontal interpolation weights C CALL HWTSLSM X (NLEN,KSCHEME,KLA,PDLAT,GLATS,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X OLDLSM,NEWLSM,PWTS) C C Calculate the interpolated grid point values C IF (LITAL.AND.L12PNT) THEN DO LOOP = 1, NLEN IF (KSCHEME(LOOP).EQ.JP12PT) THEN KSCHEMEN(LOOP)=JP4PT ELSE KSCHEMEN(LOOP)=KSCHEME(LOOP) ENDIF ENDDO CALL HWTSLSM X (NLEN,KSCHEMEN,KLA,PDLAT,GLATS,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X OLDLSM,NEWLSM,PWTSN) ENDIF DO LOOP = 1, NLEN IF( KSCHEME(LOOP).EQ.JP12PT ) THEN C C See if any of the neighbours are missing C COUNT = 0 IF( NOTEQ(OLD(NEIGH( 1,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 2,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 3,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 4,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 5,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 6,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 7,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 8,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 9,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH(10,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH(11,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH(12,LOOP)),RMISSGV) ) COUNT = COUNT + 1 C C Interpolate using twelve neighbours if none are missing C IF( LVEGGY) THEN NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 IF( PWTS( 5,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 5 IF( PWTS( 6,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 6 IF( PWTS( 7,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 7 IF( PWTS( 8,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 8 IF( PWTS( 9,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 9 IF( PWTS(10,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =10 IF( PWTS(11,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =11 IF( PWTS(12,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =12 NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ELSE IF( LSOIL ) THEN IF(NEWLSM(LOOP).GE.0.5)THEN NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 2,LOOP)).GE.0.5 ) NEAREST = 2 ENDIF IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 3,LOOP)).GE.0.5 ) NEAREST = 3 ENDIF IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 4,LOOP)).GE.0.5 ) NEAREST = 4 ENDIF IF( PWTS( 5,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 5,LOOP)).GE.0.5 ) NEAREST = 5 ENDIF IF( PWTS( 6,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 6,LOOP)).GE.0.5 ) NEAREST = 6 ENDIF IF( PWTS( 7,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 7,LOOP)).GE.0.5 ) NEAREST = 7 ENDIF IF( PWTS( 8,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 8,LOOP)).GE.0.5 ) NEAREST = 8 ENDIF IF( PWTS( 9,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 9,LOOP)).GE.0.5 ) NEAREST = 9 ENDIF IF( PWTS( 10,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 10,LOOP)).GE.0.5 ) NEAREST = 10 ENDIF IF( PWTS( 11,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 11,LOOP)).GE.0.5 ) NEAREST = 11 ENDIF IF( PWTS( 12,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 12,LOOP)).GE.0.5 ) NEAREST = 12 ENDIF ELSE NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 2,LOOP)).LT.0.5) NEAREST = 2 ENDIF IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 3,LOOP)).LT.0.5) NEAREST = 3 ENDIF IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 4,LOOP)).LT.0.5) NEAREST = 4 ENDIF IF( PWTS( 5,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 5,LOOP)).LT.0.5) NEAREST = 5 ENDIF IF( PWTS( 6,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 6,LOOP)).LT.0.5) NEAREST = 6 ENDIF IF( PWTS( 7,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 7,LOOP)).LT.0.5) NEAREST = 7 ENDIF IF( PWTS( 8,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 8,LOOP)).LT.0.5) NEAREST = 8 ENDIF IF( PWTS( 9,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 9,LOOP)).LT.0.5) NEAREST = 9 ENDIF IF( PWTS( 10,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 10,LOOP)).LT.0.5) NEAREST = 10 ENDIF IF( PWTS( 11,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 11,LOOP)).LT.0.5) NEAREST = 11 ENDIF IF( PWTS( 12,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 12,LOOP)).LT.0.5) NEAREST = 12 ENDIF ENDIF NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ELSE IF( COUNT.EQ.12 .AND..NOT.LVEGGY2) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLD(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLD(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLD(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLD(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLD(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLD(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLD(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLD(NEIGH(12,LOOP)) * PWTS(12,LOOP) C C Set missing if all neighbours are missing C ELSE IF( COUNT.EQ.0 .AND..NOT.LVEGGY2) THEN NEWFLD(LOOP) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE IF(LITAL)THEN !land point IF(NEWLSM(LOOP).GE.0.5)THEN !land point INUM=0 DO NEXT=1,4 IF(OLDLSM(NEIGH( NEXT,LOOP)).GE.0.5)THEN INUM=INUM+1 IF( INUM.GE.2)THEN IF(PWTSN( NEXT,LOOP).GT.PWTSN(NEAREST,LOOP)) THEN NEAREST = NEXT ENDIF ELSEIF( INUM.EQ.1) THEN NEAREST = NEXT ENDIF ENDIF ENDDO ELSE !sea point INUM=0 DO NEXT=1,4 IF(OLDLSM(NEIGH( NEXT,LOOP)).LT.0.5)THEN INUM=INUM+1 IF( INUM.GE.2)THEN IF(PWTSN( NEXT,LOOP).GT.PWTSN(NEAREST,LOOP)) THEN NEAREST = NEXT ENDIF ELSEIF( INUM.EQ.1) THEN NEAREST = NEXT ENDIF ENDIF ENDDO ENDIF !end if sea/land ELSE NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 IF( PWTS( 5,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 5 IF( PWTS( 6,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 6 IF( PWTS( 7,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 7 IF( PWTS( 8,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 8 IF( PWTS( 9,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 9 IF( PWTS(10,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =10 IF( PWTS(11,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =11 IF( PWTS(12,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =12 ENDIF NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ENDIF ENDIF C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN C C See if any of the neighbours are missing C COUNT = 0 IF( NOTEQ(OLD(NEIGH( 1,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 2,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 3,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 4,LOOP)),RMISSGV) ) COUNT = COUNT + 1 C C Interpolate using four neighbours if none are missing C IF( LVEGGY) THEN NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ELSE IF( LSOIL ) THEN IF(NEWLSM(LOOP).GE.0.5)THEN NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 2,LOOP)).GE.0.5) NEAREST = 2 ENDIF IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 3,LOOP)).GE.0.5) NEAREST = 3 ENDIF IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 4,LOOP)).GE.0.5) NEAREST = 4 ENDIF ELSE NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 2,LOOP)).LT.0.5) NEAREST = 2 ENDIF IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 3,LOOP)).LT.0.5) NEAREST = 3 ENDIF IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP)) THEN IF(OLDLSM(NEIGH( 4,LOOP)).LT.0.5) NEAREST = 4 ENDIF ENDIF NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ELSE IF( COUNT.EQ.4 .AND. .NOT.LVEGGY2) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C C Set missing if all neighbours are missing C ELSE IF( COUNT.EQ.0 .AND. .NOT.LVEGGY2) THEN NEWFLD(LOOP) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE IF(LITAL)THEN !land point IF(NEWLSM(LOOP).GE.0.5)THEN !land point INUM=0 DO NEXT=1,4 IF(OLDLSM(NEIGH( NEXT,LOOP)).GE.0.5)THEN INUM=INUM+1 IF( INUM.GE.2)THEN IF(PWTS( NEXT,LOOP).GT.PWTS(NEAREST,LOOP)) THEN NEAREST = NEXT ENDIF ELSEIF( INUM.EQ.1) THEN NEAREST = NEXT ENDIF ENDIF ENDDO ELSE !sea point INUM=0 DO NEXT=1,4 IF(OLDLSM(NEIGH( NEXT,LOOP)).LT.0.5)THEN INUM=INUM+1 IF( INUM.GE.2)THEN IF(PWTS( NEXT,LOOP).GT.PWTS(NEAREST,LOOP)) THEN NEAREST = NEXT ENDIF ELSEIF( INUM.EQ.1) THEN NEAREST = NEXT ENDIF ENDIF ENDDO ENDIF !end if sea/land ELSE NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 ENDIF NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ENDIF ENDIF C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) X NEWFLD(LOOP) = OLD(NEIGH(NEXT,LOOP)) ENDDO C ENDIF C C Remove precipitation if less than a 'trace' or if nearest C neighbour is less than a trace C IF( LPREC ) THEN IF( NEWFLD(LOOP).LT.ZPRECIP ) THEN NEWFLD(LOOP) = 0.0 ELSE NEAREST = 1 NEND = 12 IF( KSCHEME(LOOP).NE.JP12PT ) NEND = 4 DO NEXT = 2, NEND IF( PWTS( NEXT,LOOP).GT.PWTS( NEAREST,LOOP) ) X NEAREST = NEXT ENDDO IF( OLD(NEIGH(NEAREST,LOOP)).LT.ZPRECIP ) NEWFLD(LOOP) = 0.0 ENDIF ENDIF C C For sea-ice cover, ensure no values are outside the range (0,1) C IF( (NIPARAM.EQ.31).AND.(NITABLE.EQ.128) ) THEN IF( NOTEQ( NEWFLD(LOOP),RMISSGV) ) THEN IF( NEWFLD(LOOP).GT.1.0 ) NEWFLD(LOOP) = 1.0 IF( NEWFLD(LOOP).LT.0.0 ) NEWFLD(LOOP) = 0.0 ENDIF ENDIF ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/intin.F0000755000175000017500000005730612127406245021613 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTIN( HPARN, INTV, REALV, CHARV) C C----> C**** INTIN C C Purpose C ------- C C Change input field parameters in common block. C C Interface C --------- C C Input C ----- C C HPARN - MARS parameter name. C INTV - MARS parameter value(s) (Integer). C REALV - MARS parameter value(s) (Real). C CHARV - MARS parameter value(s) (Character). C C C Method C ------ C C Recognise MARS paramter and reset appropriate common C variable value(s). C C Uses environment variable ISLSCP_OLD_LSM to locate old C land-sea mask GRIB product file. If the variable is not set, C uses /home/ma/emos/data/islscp_old_lsm. C C C Externals C --------- C C JDEBUG - Check if debug switched on. C IBASINI - Check basic initialisation of common blocks is done C CHEQUAL - Compare two ASCII strings without regard to case. C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C GETENV - Get value of an environment variable C C C Author C ------ C C J.D.Chambers ECMWF August 1994. C C----< C IMPLICIT NONE C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 28100) C C Function arguments C CHARACTER*(*) HPARN CHARACTER*(*) CHARV REAL REALV(*) INTEGER INTV(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "current.h" #include "intf.h" C C Local variables C INTEGER ITEMP, I, IRET, ILOOP, ILAST, IGSIZE, IASIZE, IBLANK INTEGER NEWGRIB(1), OLDGRIB(1) POINTER( NIPNGRB, NEWGRIB ) POINTER( NIPOGRB, OLDGRIB ) LOGICAL LFOUND CHARACTER*256 OLDLSM, ISLDEFL CHARACTER*3 NUMBER C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif LOGICAL CHEQUAL EXTERNAL CHEQUAL, JMALLOC C DATA ISLDEFL/'/home/ma/emos/data/islscp_old_lsm'/ SAVE ISLDEFL C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C INTIN = 0 LFOUND = .FALSE. C C Check if debug turned on CALL JDEBUG() C C Ensures basic initialisation of common blocks is done CALL IBASINI(0) C CALL INTLOG(JP_DEBUG, 'INTIN: option = ' // HPARN ,JPQUIET) C C -----------------------------------------------------------------| C* Section 2. Decode request C -----------------------------------------------------------------| C 200 CONTINUE C C Request ISLSCP processing C IF( CHEQUAL( HPARN, 1, 6, 'islscp') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: islscp = ' // CHARV ,JPQUIET) C IF( CHEQUAL( CHARV, 1, 3, 'off' ) ) THEN IF( LNIISCL ) THEN CALL JFREE(NIPOGRB) CALL JFREE(NIPNGRB) NIPOGRS = 0 NIPNGRS = 0 ENDIF LNIISCL = .FALSE. GOTO 900 ENDIF C LNIISCL = .TRUE. C C Pick up the old land-sea mask GRIB product C CALL GETENV('ISLSCP_OLD_LSM',OLDLSM) IBLANK = INDEX(OLDLSM, ' ') IF( IBLANK.LT.2 ) THEN IBLANK = INDEX(ISLDEFL, ' ') - 1 OLDLSM(1:IBLANK) = ISLDEFL(1:IBLANK) IF( INTV(1).GT.0 ) THEN OLDLSM(IBLANK+1:IBLANK+2) = '_n' WRITE(NUMBER,'(I3.3)') INTV(1) OLDLSM(IBLANK+3:IBLANK+5) = NUMBER(1:3) IBLANK = IBLANK + 5 ENDIF ENDIF CALL INTLOG(JP_DEBUG, X 'INTIN: old land-sea mask file name:',JPQUIET) CALL INTLOG(JP_DEBUG,'INTIN: ' // OLDLSM(1:IBLANK),JPQUIET) C CALL PBOPEN(NISLSCP,OLDLSM,'r',IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTIN: Problem processing islscp option',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTIN: PBOPEN fail for old land-sea mask file',IRET) CALL INTLOG(JP_ERROR,'INTIN: ' // OLDLSM(1:IBLANK),JPQUIET) INTIN = IRET GOTO 900 ENDIF C CALL PBSIZE(NISLSCP,IGSIZE) IF( IGSIZE.LE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTIN: Problem processing islscp option',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTIN: PBSIZE fail new land-sea mask GRIB product',IGSIZE) INTIN = IGSIZE GOTO 900 ENDIF C IF( NIPOGRS.LT.IGSIZE ) THEN IF( NIPOGRB.NE.0 ) CALL JFREE(NIPOGRB) NIPOGRS = IGSIZE NIPOGRB = JMALLOC(NIPOGRS) #ifdef hpR64 NIPOGRB = NIPOGRB/(1024*1024*1024*4) #endif IF( NIPOGRB.EQ.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTIN: Problem processing islscp option',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTIN: JMALLOC fail old land-sea mask GRIB',JPQUIET) INTIN = JPROUTINE + 3 GOTO 900 ENDIF ENDIF C CALL PBGRIB(NISLSCP, OLDGRIB, IGSIZE, IASIZE, IRET) IF( (IRET.NE.0).OR.(IGSIZE.NE.IASIZE) ) THEN CALL INTLOG(JP_ERROR, X 'INTIN: Problem processing islscp option',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTIN: PBREAD fail old land-sea mask GRIB',IRET) INTIN = IRET GOTO 900 ENDIF C CALL PBCLOSE(NISLSCP, IRET) C C Pick up the new land-sea mask GRIB product C IBLANK = INDEX(CHARV, ' ') - 1 CALL INTLOG(JP_DEBUG, X 'INTIN: new land-sea mask file name:',JPQUIET) CALL INTLOG(JP_DEBUG,'INTIN: ' // CHARV,JPQUIET) C CALL PBOPEN(NISLSCP,CHARV,'r',IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTIN: Problem processing islscp option',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTIN: PBOPEN fail for new land-sea mask file',IRET) CALL INTLOG(JP_ERROR,'INTIN: ' // CHARV,JPQUIET) INTIN = IRET GOTO 900 ENDIF C CALL PBSIZE(NISLSCP,IGSIZE) IF( IGSIZE.LE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTIN: Problem processing islscp option',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTIN: PBSIZE fail new land-sea mask GRIB product',IGSIZE) INTIN = IGSIZE GOTO 900 ENDIF C IF( NIPNGRS.LT.IGSIZE ) THEN IF( NIPNGRB.NE.0 ) CALL JFREE(NIPNGRB) NIPNGRS = IGSIZE NIPNGRB = JMALLOC(NIPNGRS) #ifdef hpR64 NIPNGRB = NIPNGRB/(1024*1024*1024*4) #endif IF( NIPNGRB.EQ.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTIN: Problem processing islscp option',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTIN: JMALLOC fail new land-sea mask GRIB',JPQUIET) INTIN = JPROUTINE + 3 GOTO 900 ENDIF ENDIF C CALL PBGRIB(NISLSCP, NEWGRIB, IGSIZE, IASIZE, IRET) IF( (IRET.NE.0).OR.(IGSIZE.NE.IASIZE) ) THEN CALL INTLOG(JP_ERROR, X 'INTIN: Problem processing islscp option',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTIN: PBREAD fail new land-sea mask GRIB',IRET) INTIN = IRET GOTO 900 ENDIF C CALL PBCLOSE(NISLSCP, IRET) GOTO 900 C ENDIF C C Input or reset value used for missing points in bitmapped field. C IF( CHEQUAL( HPARN, 1, 12, 'missingvalue') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG,'INTIN: missingvalue = ' // CHARV ,JPQUIET) IF( CHEQUAL( CHARV, 1, 2, 'no') ) THEN IF( LIMISSV ) LCHANGE = .TRUE. LIMISSV = .FALSE. RMISSGV = -55555.0 ELSE IF( .NOT.LIMISSV ) LCHANGE = .TRUE. LIMISSV = .TRUE. RMISSGV = REALV(1) ENDIF CALL INTLOGR(JP_DEBUG,'INTIN: missingvalue = ',RMISSGV) GOTO 900 ENDIF C missingval because can not be applied in Emos lib everywhere... C IF( CHEQUAL( HPARN, 1, 10, 'missingval') ) THEN LFOUND = .TRUE. LIMISSV = .FALSE. CALL INTLOG(JP_DEBUG,'INTIN: missingval = ' // CHARV ,JPQUIET) IF( CHEQUAL( CHARV, 1, 2, 'no') ) THEN IF( LIMISSV ) LCHANGE = .TRUE. RMISSGV = -55555.0 LIMISSA = .FALSE. ELSE IF( .NOT.LIMISSV ) LCHANGE = .TRUE. LIMISSA = .TRUE. RMISSGV = REALV(1) ENDIF CALL INTLOGR(JP_DEBUG,'INTIN: missingval = ',RMISSGV) ISEC1(5) = 192 GOTO 900 ENDIF C C Input uselsm. C IF ( CHEQUAL( HPARN, 1, 6, 'uselsm') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG,'INTIN: uselsm = ' // CHARV ,JPQUIET) IF ( CHEQUAL( CHARV, 1, 2, 'no') ) THEN IF ( LSM ) THEN LCHANGE = .TRUE. LSMCHNG = .TRUE. ENDIF LSM = .FALSE. ELSE IF ( .NOT. LSM ) THEN LCHANGE = .TRUE. LSMCHNG = .TRUE. ENDIF LSM = .TRUE. ENDIF LSMSET = .TRUE. GOTO 900 ENDIF C C Input useprecip. C IF ( CHEQUAL( HPARN, 1, 9, 'useprecip') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG,'INTIN: useprecip = ' // CHARV ,JPQUIET) IF ( CHEQUAL( CHARV, 1, 3, 'yes') ) THEN IF ( .NOT. LPREC ) LCHANGE = .TRUE. LPREC = .TRUE. ELSE IF ( LPREC ) LCHANGE = .TRUE. LPREC = .FALSE. ENDIF LPRECSET = .TRUE. GOTO 900 ENDIF C C Input usewind. C IF ( CHEQUAL( HPARN, 1, 7, 'usewind') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG,'INTIN: usewind = ' // CHARV ,JPQUIET) IF ( CHEQUAL( CHARV, 1, 3, 'yes') ) THEN IF ( .NOT. LWIND ) LCHANGE = .TRUE. LWIND = .TRUE. ELSE IF ( LWIND ) LCHANGE = .TRUE. LWIND = .FALSE. ENDIF LWINDSET = .TRUE. GOTO 900 ENDIF C C Input parameter. C IF ( CHEQUAL( HPARN, 1, 9, 'parameter') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: parameter = ',INTV(1)) IF ( NIPARAM .NE. INTV(1) ) LCHANGE = .TRUE. NIPARAM = INTV(1) GOTO 900 ENDIF C C Input truncation. C IF ( CHEQUAL( HPARN, 1, 10, 'truncation') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: truncation = ',INTV(1)) IF ( NIREPR .NE. JPSPHERE) THEN LCHANGE = .TRUE. NIGAUSS = 0 NIGRID(1) = 0 NIGRID(2) = 0 NIAREA(1) = 0 NIAREA(2) = 0 NIAREA(3) = 0 NIAREA(4) = 0 ENDIF NIREPR = JPSPHERE IF ( NIRESO .NE. INTV(1) ) LCHANGE = .TRUE. NIRESO = INTV(1) GOTO 900 ENDIF C C Input reduced. C IF ( CHEQUAL( HPARN, 1, 7, 'reduced') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: reduced = ',INTV(1)) IF ( NIGAUSS .NE. INTV(1) ) LCHANGE = .TRUE. NIGAUSS = INTV(1) LNIGAUS = .TRUE. IF ( NIREPR .NE. JPQUASI ) THEN LCHANGE = .TRUE. NIRESO = 0 NIGRID(1) = 0 NIGRID(2) = 0 ENDIF NIREPR = JPQUASI IF( (NIGAUSO.NE.NIGAUSS).OR.(HIGAUST.NE.'R') ) THEN CALL JGETGG( NIGAUSS, 'R', RIGAUSS, MILLEN, IRET) IF ( IRET .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTIN: JGETGG fail - NIGAUSS',JPQUIET) INTIN = IRET GOTO 900 ENDIF NIGAUSO = NIGAUSS HIGAUST = 'R' ENDIF C NIAREA(1) = INT( RIGAUSS(1) * PPMULT ) NIAREA(2) = 0 NIAREA(3) = INT( RIGAUSS(NIGAUSS*2) * PPMULT ) c this gives differnt result from one in the grib header NIAREA(4) = JP360 - JP360/MILLEN(NIGAUSS) C NIPCNT = 0 Nins = NIGAUSS*2 ! Added by D. Jokic Mar-2005; DO 230 ILOOP = 1, NIGAUSS*2 NIPCNT = NIPCNT + MILLEN(ILOOP) 230 CONTINUE GOTO 900 ENDIF C C Input grid. C IF ( CHEQUAL( HPARN, 1, 4, 'grid') ) THEN LFOUND = .TRUE. CALL INTLOGR(JP_DEBUG, 'INTIN: grid e-w = ',REALV(1)) CALL INTLOGR(JP_DEBUG, 'INTIN: grid n-s = ',REALV(2)) IF ( NIREPR .NE. JPREGULAR) THEN LCHANGE = .TRUE. NIGAUSS = 0 NIRESO = 0 ENDIF NIREPR = JPREGULAR DO 210 I = 1, 2 ITEMP = INT( REALV(I)*PPMULT) IF ( NIGRID(I) .NE. ITEMP ) LCHANGE = .TRUE. NIGRID(I) = ITEMP 210 CONTINUE GOTO 900 ENDIF C C Reduced lat-lon Input grid. C IF ( CHEQUAL( HPARN, 1, 7, 'redu_ll') ) THEN LFOUND = .TRUE. cs CALL INTLOGR(JP_DEBUG, 'INTIN: reduced_ll e-w = ',REALV(1)) CALL INTLOGR(JP_DEBUG, 'INTIN: reduced_ll n-s = ',REALV(2)) IF ( NIREPR .NE. JPREGULAR) THEN LCHANGE = .TRUE. NIGAUSS = 0 NIRESO = 0 ENDIF NIREPR = JPREDLL NINS = INTV(1) DO 217 I = 1, 2 ITEMP = INT( REALV(I)*PPMULT) IF ( NIGRID(I) .NE. ITEMP ) LCHANGE = .TRUE. NIGRID(I) = ITEMP 217 CONTINUE GOTO 900 ENDIF C IF ( CHEQUAL( HPARN, 1, 5, 'ocean') ) THEN LFOUND = .TRUE. LOCEAN = .TRUE. CALL INTLOGR(JP_DEBUG, 'INTIN: Ocean field',JPQUIET) NIOCO3 = INTV(1) NIOCO4 = INTV(2) NIOCO4F = INTV(3) NIOCO3F = INTV(4) NIOCO4L = INTV(5) NIOCO3L = INTV(6) NIOIINC = INTV(7) NIOJINC = INTV(8) NIOIRGR = INTV(9) NIONOST = INTV(10) NICOORN = INTV(11) NIVCDEF = INTV(12) NILOCAL = 4 GOTO 900 ENDIF IF ( CHEQUAL( HPARN, 1, 5, 'local') ) THEN LFOUND = .TRUE. NILOCAL = INTV(1) CALL INTLOGR(JP_DEBUG, 'INTIN: Local settings',NILOCAL) GOTO 900 ENDIF c IF ( CHEQUAL( HPARN, 1, 6, 'matrix') ) THEN LFOUND = .TRUE. NIMATR = INTV(1) CALL INTLOGR(JP_DEBUG, 'INTIN: Matrix values',NIMATR) GOTO 900 ENDIF C IF ( CHEQUAL( HPARN, 1, 11, 'coord_ocean') ) THEN LFOUND = .TRUE. CALL INTLOGR(JP_DEBUG, 'INTIN: Ocean field grid Coordinate' X ,JPQUIET) DO 249 ILOOP = 1, NICOORN OCCOOR(ILOOP) = INTV(ILOOP) 249 CONTINUE GOTO 900 ENDIF C IF ( CHEQUAL( HPARN, 1, 6, 'l_npts') ) THEN LFOUND = .TRUE. C DO 247 ILOOP = 1, NINS MILLEN(ILOOP) = INTV(ILOOP) 247 CONTINUE GOTO 900 ENDIF C C Input data format. C IF ( CHEQUAL( HPARN, 1, 4, 'form') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: form = ' // CHARV ,JPQUIET) IF ( CHEQUAL( CHARV, 1, 4, 'grib') ) THEN IF ( NIFORM .EQ. 0 ) LCHANGE = .TRUE. NIFORM = 1 ELSE IF ( NIFORM .EQ. 1 ) LCHANGE = .TRUE. NIFORM = 0 ENDIF GOTO 900 ENDIF C C Number of points along latitude and longitude C IF ( CHEQUAL( HPARN, 1, 4, 'npts') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: pts along latitude = ',INTV(1)) CALL INTLOG(JP_DEBUG, 'INTIN: pts along longitude = ',INTV(2)) NIWE = INTV(1) NINS = INTV(2) GOTO 900 ENDIF IF( CHEQUAL( HPARN, 1, 8, 'accuracy') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: Inpu accuracy = ',INTV(1)) NIACC = INTV(1) GOTO 900 ENDIF C C Input level. C IF ( CHEQUAL( HPARN, 1, 5, 'level') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: level = ',INTV(1)) IF ( NILEVEL .NE. INTV(1) ) LCHANGE = .TRUE. NILEVEL = INTV(1) GOTO 900 ENDIF C C Input Date. C IF ( CHEQUAL( HPARN, 1, 4, 'date') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: Date = ',INTV(1)) IF ( NIDATE .NE. INTV(1) ) LCHANGE = .TRUE. NIDATE = INTV(1) GOTO 900 ENDIF C C Input level type. C IF ( CHEQUAL( HPARN, 1, 7, 'levtype') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: levtype = ',INTV(1)) IF ( NILEVT .NE. INTV(1) ) LCHANGE = .TRUE. NILEVT = INTV(1) GOTO 900 ENDIF C C Input table. C IF ( CHEQUAL( HPARN, 1, 5, 'table') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: table = ',INTV(1)) IF ( NITABLE .NE. INTV(1) ) LCHANGE = .TRUE. NITABLE = INTV(1) GOTO 900 ENDIF C C Input regular (gaussian). C IF ( CHEQUAL( HPARN, 1, 7, 'regular') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: regular = ',INTV(1)) NIREPR = JPGAUSSIAN IF ( NIGAUSS .NE. INTV(1) ) LCHANGE = .TRUE. NIGAUSS = INTV(1) LNIGAUS = .TRUE. IF ( NIREPR .NE. JPGAUSSIAN) THEN LCHANGE = .TRUE. NIRESO = 0 NIGRID(1) = 0 NIGRID(2) = 0 ENDIF NIREPR = JPGAUSSIAN IF( (NIGAUSO.NE.NIGAUSS).OR.(HIGAUST.NE.'F') ) THEN CALL JGETGG( NIGAUSS, 'F', RIGAUSS, MILLEN, IRET) IF ( IRET .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTIN: JGETGG fail - NIGAUSS',JPQUIET) INTIN = IRET GOTO 900 ENDIF NIGAUSO = NIGAUSS HIGAUST = 'F' ENDIF C NIAREA(1) = INT( RIGAUSS(1) * PPMULT ) NIAREA(2) = 0 NIAREA(3) = INT( RIGAUSS(NIGAUSS*2) * PPMULT ) NIAREA(4) = JP360 - JP360/MILLEN(NIGAUSS) C NIPCNT = 0 DO ILOOP = 1, NIGAUSS*2 NIPCNT = NIPCNT + MILLEN(ILOOP) ENDDO GOTO 900 ENDIF C C Input area. C IF ( CHEQUAL( HPARN, 1, 4, 'area') ) THEN LFOUND = .TRUE. CALL INTLOGR(JP_DEBUG, 'INTIN: north = ',REALV(1)) CALL INTLOGR(JP_DEBUG, 'INTIN: west = ',REALV(2)) CALL INTLOGR(JP_DEBUG, 'INTIN: south = ',REALV(3)) CALL INTLOGR(JP_DEBUG, 'INTIN: east = ',REALV(4)) DO 220 I = 1, 4 ITEMP = INT( REALV(I)*PPMULT) IF ( NIAREA(I) .NE. ITEMP ) LCHANGE = .TRUE. NIAREA(I) = ITEMP 220 CONTINUE GOTO 900 ENDIF C C Input scan. C IF ( CHEQUAL( HPARN, 1, 4, 'scan') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG, 'INTIN: scan = ',INTV(1)) IF ( NISCNM .NE. INTV(1) ) LCHANGE = .TRUE. NISCNM = INTV(1) GOTO 900 ENDIF C C Input lsm_param. C IF ( CHEQUAL( HPARN, 1, 9, 'lsm_param') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG,'INTIN: lsm_param = ' // CHARV ,JPQUIET) IF ( CHEQUAL( CHARV, 1, 3, 'yes') ) THEN IF ( .NOT. LSMPAR ) LCHANGE = .TRUE. LSMPAR = .TRUE. ELSE IF ( LSMPAR ) LCHANGE = .TRUE. LSMPAR = .FALSE. ENDIF LSMPARSET = .TRUE. GOTO 900 ENDIF C C Set of LSM - merging with grib_api IF ( CHEQUAL( HPARN, 1, 6, 'lsmset') ) THEN LFOUND = .TRUE. CALL INTLOG(JP_DEBUG,'INTIN: lsmset = ' // CHARV ,JPQUIET) IF ( CHEQUAL( CHARV, 1, 2, 'no') ) THEN IF ( LSM ) THEN LCHANGE = .TRUE. LSMCHNG = .TRUE. ENDIF LSM = .FALSE. LSMSET = .TRUE. ELSE IF ( .NOT. LSM ) THEN LCHANGE = .TRUE. LSMCHNG = .TRUE. ENDIF LSM = .TRUE. LSMSET = .FALSE. ENDIF GOTO 900 ENDIF C C C Input user_regular_gaussian C C (Ignore the call if the user_regular_gaussian value = 0.) IF ( CHEQUAL( HPARN, 1, 21, 'user_regular_gaussian') ) THEN LFOUND = .TRUE. IF ( NIREPR .NE. JPGAUSSIAN) THEN LCHANGE = .TRUE. NIRESO = 0 NIGRID(1) = 0 NIGRID(2) = 0 ENDIF CALL INTLOG(JP_DEBUG,'INTIN: user_regular_gaussian = ',INTV(1)) IF ( NIGAUSS .NE. INTV(1) ) LCHANGE = .TRUE. NIGAUSS = INTV(1) NIREPR = JPGAUSSIAN C ILAST = NIGAUSS*2 DO 235 ILOOP = 1, ILAST MILLEN(ILOOP) = NOGAUSS*4 235 CONTINUE NIGAUSO = NIGAUSS HIGAUST = 'U' LIGIVEP = .TRUE. C GOTO 900 ENDIF C C Input user_reduced_gaussian C (Ignore the call if the user_reduced_gaussian value = 0.) C IF ( CHEQUAL( HPARN, 1, 21, 'user_reduced_gaussian') ) THEN LFOUND = .TRUE. IF ( NIREPR .NE. JPQUASI ) THEN LCHANGE = .TRUE. NIRESO = 0 NIGRID(1) = 0 NIGRID(2) = 0 ENDIF IF ( INTV(1) .EQ. 0 ) GOTO 900 CALL INTLOG(JP_DEBUG,'INTIN: user_reduced_gaussian = ',INTV(1)) IF ( NIGAUSS .NE. INTV(1) ) LCHANGE = .TRUE. NIGAUSS = INTV(1) NIREPR = JPQUASI NIGAUSO = NIGAUSS HIGAUST = 'U' GOTO 900 ENDIF C C Input g_pnts loading from grib_api. C IF ( CHEQUAL( HPARN, 1, 7, 'ga_pnts') ) THEN LFOUND = .TRUE. IF ( NIGAUSS .LE. 0 ) THEN IRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTIN: Impossible number of gaussian latitudes.',NIGAUSS) INTIN = IRET GOTO 900 ENDIF CALL INTLOG(JP_DEBUG, X 'INTIN: Reduced Gaussian - grib_api ',NIGAUSS) C cs ILAST = NIGAUSS*2 + 1 ILAST = NIGAUSS*2 DO 241 ILOOP = 1, ILAST MILLEN(ILOOP) = INTV(ILOOP) 241 CONTINUE C NIAREA(4) = JP360 - INT( JP360/MILLEN(NIGAUSS) ) C NIPCNT = 0 DO 251 ILOOP = 1, ILAST NIPCNT = NIPCNT + MILLEN(ILOOP) 251 CONTINUE NIGAUSO = NIGAUSS HIGAUST = 'U' LIGIVEP = .TRUE. GOTO 900 ENDIF cs end ga IF ( CHEQUAL( HPARN, 1, 6, 'g_pnts') ) THEN LFOUND = .TRUE. IF ( NIGAUSS .LE. 0 ) THEN IRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTIN: Impossible number of gaussian latitudes.',NIGAUSS) INTIN = IRET GOTO 900 ENDIF C ILAST = NIGAUSS*2 + 1 DO 240 ILOOP = 1, NIGAUSS MILLEN(ILOOP) = INTV(ILOOP) ILAST = ILAST - 1 MILLEN(ILAST) = INTV(ILOOP) 240 CONTINUE C NIAREA(4) = JP360 - INT( JP360/MILLEN(NIGAUSS) ) C NIPCNT = 0 DO 250 ILOOP = 1, NIGAUSS*2 NIPCNT = NIPCNT + MILLEN(ILOOP) 250 CONTINUE NIGAUSO = NIGAUSS HIGAUST = 'U' LIGIVEP = .TRUE. GOTO 900 ENDIF C C Input g_lats. C IF ( CHEQUAL( HPARN, 1, 6, 'g_lats') ) THEN LFOUND = .TRUE. IF ( NIGAUSS .LE. 0 ) THEN IRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTIN: Impossible number of gaussian latitudes.',NIGAUSS) INTIN = IRET GOTO 900 ENDIF C ILAST = NIGAUSS*2 + 1 DO 260 ILOOP = 1, NIGAUSS RIGAUSS(ILOOP) = REALV(ILOOP) ILAST = ILAST - 1 RIGAUSS(ILAST) = -REALV(ILOOP) 260 CONTINUE C NIAREA(1) = INT( RIGAUSS(1) * PPMULT ) NIAREA(2) = 0 NIAREA(3) = INT( RIGAUSS(NIGAUSS*2) * PPMULT ) NIAREA(4) = JP360 - JP360/MILLEN(NIGAUSS) NIGAUSO = NIGAUSS HIGAUST = 'U' LIGIVEL = .TRUE. GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE IF( .NOT. LFOUND ) THEN CALL INTLOG(JP_ERROR, 'INTIN: Unknown keyword used:', JPQUIET) CALL INTLOG(JP_ERROR, HPARN, JPQUIET) INTIN = JPROUTINE + 2 ENDIF RETURN END emoslib-000392+dfsg.1/interpolation/igdins.F0000755000175000017500000002172712127406245021745 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGDINS (KILATG, KINS, KOLATG, KONS, ONPOLE, 1 OSPOLE, KNSIND, KNSDIST, KPR, KERR) C C----> C**** *IGDINS* C C PURPOSE C _______ C C Calculate the distances between points in an output latitude C array and its North and South neighbours in the input latitude C array. C C INTERFACE C _________ C C IERR = IGDINS (KILATG, KINS, KOLATG, KONS, ONPOLE, OSPOLE, C 1 KNSIND, KNSDIST, KPR, KERR) C C Input parameters C ________________ C C KILATG - The array of input latitudes. C C KINS - The number of points in the North-South direction C in the input field. C C KOLATG - The array of output latitudes. C C KONS - The number of points in the North-South direction C in the output field. C C ONPOLE - This variable will be true if the input field C includes the most Northerly line of latitude for C the field type. This means latitude 90 North for C a regular field and the first line of a Gaussian C field. C C OSPOLE - This variable will be true if the input field C includes the most Southerly line of latitude for C the field type. This means latitude 90 South for C a regular field and the last line of a Gaussian C field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KNSIND - This array will contain the array offsets of the C North and South points in the input array required C for interpolation. C C KNSDIST - This array will contain the distances to lines C in input field from the associated lines of C latitude in the output field. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 24501 An output latitude was found that was outside the area C spanned by the input latitudes. C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C This routine will create the arrays of offsets and distance as C two arrays of length (2, Number of output latitudes). C C If an input Gaussian grid includes the "polar" line and the C output field includes a line of latitude between this "polar" C line and the pole then the position of this "polar" Gaussian C line is assumed to be at the pole for that line of latitude only. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments LOGICAL ONPOLE, OSPOLE INTEGER KINS, KONS, KPR, KERR INTEGER KILATG (KINS), KOLATG (KONS) INTEGER KNSIND (2, KONS), KNSDIST (2, KONS) C C Local variables INTEGER IBASE INTEGER JOUT, JINP INTEGER JPROUTINE PARAMETER (JPROUTINE = 24500) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGDINS: Section 1.',JPQUIET) C IGDINS = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IGDINS: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGDINS: No.input fld lines = ',KINS) CALL INTLOG(JP_DEBUG,'IGDINS: No.output fld lines = ',KONS) CALL INTLOG(JP_DEBUG,'IGDINS: Input fld spread from ',KILATG(1)) CALL INTLOG(JP_DEBUG,'IGDINS: to ', KILATG(KINS)) CALL INTLOG(JP_DEBUG,'IGDINS: Outpt fld spread from ',KOLATG(1)) CALL INTLOG(JP_DEBUG,'IGDINS: to ', KOLATG(KONS)) C IF ( ONPOLE ) THEN CALL INTLOG(JP_DEBUG,'IGDINS: N. pole in inpt field.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGDINS: N.pole NOT in inpt fld',JPQUIET) ENDIF C IF ( OSPOLE ) THEN CALL INTLOG(JP_DEBUG,'IGDINS: S. pole in inpt field.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGDINS: S.pole NOT in inpt fld',JPQUIET) ENDIF ENDIF C C _______________________________________________________ C C* Section 2. Select points along a line of meridian C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGDINS: Section 2.',JPQUIET) C C Last latitude found to be used as start of search C for next latitude C IBASE = 1 C DO 220 JOUT = 1, KONS C C Allow special code for points beyond North limit of C Gaussian grid which has all points up to pole C C Sinisa remove check for pole - already exist in iagcntl IF (IBASE .EQ. 1 .AND. KOLATG(JOUT).GT.KILATG (1) ) THEN C KNSIND (JP_I_N, JOUT) = 1 KNSIND (JP_I_S, JOUT) = 2 IBASE = 1 C KNSDIST (JP_I_N, JOUT) = JP90 - KOLATG (JOUT) KNSDIST (JP_I_S, JOUT) = KOLATG (JOUT) - KILATG (2) C GO TO 220 C ENDIF C DO 210 JINP = IBASE, KINS - 1 C C This test allows the exact match at both ends to be treated C correctly. Although the point is checked for equality at C both ends the first test will be used except for the South C Gaussian limit. C IF (KOLATG (JOUT) .LE. KILATG (JINP) .AND. X KOLATG (JOUT) .GE. KILATG (JINP + 1) ) THEN C KNSIND (JP_I_N, JOUT) = JINP KNSIND (JP_I_S, JOUT) = JINP + 1 IBASE = JINP C KNSDIST (JP_I_N, JOUT) = KILATG (JINP) - X KOLATG (JOUT) KNSDIST (JP_I_S, JOUT) = KOLATG (JOUT) - X KILATG (JINP + 1) C GO TO 220 C ENDIF C 210 CONTINUE C C Allow special code for points beyond South limit of C Gaussian grid which has all points up to pole C C Sinisa remove check for pole - already exist in iagcntl IF (KOLATG (JOUT) .LT. KILATG (KINS) ) THEN C KNSIND (JP_I_N, JOUT) = KINS - 1 KNSIND (JP_I_S, JOUT) = KINS IBASE = KINS C KNSDIST (JP_I_N, JOUT) = KILATG (KINS - 1) - X KOLATG (JOUT) KNSDIST (JP_I_S, JOUT) = KOLATG (JOUT) - JP90 C ELSE C IGDINS = JPROUTINE + 1 IF (KERR .GE. 0) THEN CALL INTLOGR(JP_ERROR, X 'IGDINS: Output lat. value ',REAL(KOLATG(JOUT))/PPMULT) CALL INTLOGR(JP_ERROR, X 'IGDINS: outside input range = ',REAL(KILATG(1))/PPMULT) CALL INTLOGR(JP_ERROR, X 'IGDINS: to ',REAL(KILATG(KINS))/PPMULT) ENDIF C IF (KERR .EQ. 0) CALL INTLOGR(JP_FATAL, X 'IGDINS: Interpolation failing.',IGDINS) C GO TO 900 C ENDIF C 220 CONTINUE C C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGDINS: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/nifld.common0000755000175000017500000002326112127406245022662 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C**** "nifld.common" C C Purpose C _______ C C This file contains all the input field definition variables. C C C Interface C _________ C C C Common block usage C __________________ C C JDCFLAGS C -------- C C LCHANGE - This flag indicates whether a change of C interpolating process has occurred. C LSMCHNG - This flag indicates whether a change of LSM flag C has occurred. C LSM - This flag indicates whether a land sea mask C should be used for interpolation. C LSMSET - This flag indicates whether the user has defined C the LSM flag. C LSMPAR - This flag indicates whether the LSM variable is C being interpolated. C LSMPARSET - This flag indicates whether the user has defined C the LSMPAR flag. C LPREC - This flag indicates whether a precipitation C variable is being interpolated. C LPRECSET - This flag indicates whether the user has defined C the LPREC flag. C LWIND - This flag indicates whether a wind variable is C being interpolated. C LWINDSET - This flag indicates whether the user has defined C the LWIND flag. C LNIGAUS - Flag to say whether or not user specified NIGAUS C LNGSPEC - Flag to say whether or not user specified NGSPEC C LIGIVEL - Flag to say whether or not user specified latitudes C for the input gaussian grid C LIGIVEP - Flag to say whether or not user specified number of C points along latitudes for the input gaussian grid C LIMISSV - Flag to say whether or not user specified input C field missing data value C LIMISSA - Flag to say whether or not user specified input C field missing data value grib_api merging C LNIISCL - Flag to say whether or not user specified islscp C processing. C LNOAREA - Flag to say whether or not user specified NOAREA C LNOGAUS - Flag to say whether or not user specified NOGAUSS C LNOREDL - Flag to say whether or not user specified NOREDLL C LOGIVEL - Flag to say whether or not user specified latitudes C for the output gaussian grid C LOGIVEP - Flag to say whether or not user specified number of C points along latitudes for the output gaussian grid C LNORESO - Flag to say whether or not user specified NORESO C LNOACC - Flag to say whether or not user specified NOACC C LNOREPR - Flag to say whether or not user specified NOREPR C LNOTABL - Flag to say whether or not user specified NOTABLE C LNOPARA - Flag to say whether or not user specified NOPARAM C LNOLEVL - Flag to say whether or not user specified NOLEVEL C LNOLEVT - Flag to say whether or not user specified NOLEVT C LNOGRID - Flag to say whether or not user specified NOGRID C LARESOL - Flag to say whether or not user specified 'Autoresol' C LNOBITMP - Flag to say whether or not user specified NOBITMP C LNOFRAME - Flag to say whether or not user specified NOFRAME C LNOSTYLE - Flag to say whether or not user specified NOSTYLE C LSTAGGL - Flag to say if is the input field staggered grid C LOCEAN - Flag to say if is the ocean input field C C JDNIFLD C ------- C C NILOCAL - Input field ECMWF local definition number C NISTREM - Input field ECMWF stream number C NIFORM - Input field data format (0-Unpacked, 1-Grib). C NIREPR - Input field representation. Supported C representations are C Spherical harmonic C Regular Gaussian grid C Reduced Gaussian grid C Latitude/longitude grid C NIGAUSS - Input field Gaussian truncation. C NGSPEC - Reduced gaussian grid specification C NIRESO - Input field spherical harmonic resolution. C NIGRID - Input field grid definition (WE/NS). C NIAREA - Input field area definition (N/W/S/E). C NINS - Number of grid points in NS direction for input C field. C NIWE - Number of grid points in WE direction for input C field. C NIPARAM - Input field parameter number C NISCNM - Input field scanning mode. C NITABLE - Input field table number. C NILEVEL - Input field level. C NILEVT - Input field level type. C NIACC - Number of packing bits to be used for input C GRIB field. C NISLSCP - Index returned from PBOPEN for islscp land-sea mask C GRIB product file C NIPOGRB - Pointer to memory allocated to hold islscp old land-sea C mask GRIB product C NIPOGRS - Size in bytes of memory allocated to hold islscp old C land-sea mask GRIB product C NIPNGRB - Pointer to memory allocated to hold islscp new land-sea C mask GRIB product C NIMATR - Number of matrix values C NIPNGRS - Size in bytes of memory allocated to hold islscp new C land-sea mask GRIB product C C PILATS - Array of reduced gaussian grid latitudes(N to S pole) C (RIGAUSS in grspace.h used instead now) C NILPTS - Array of reduced gaussian grid no.of pts. per latitude C (MILLEN in grspace.h used instead now) C NIPCNT - Total number of pts in input reduced gaussian field C NJDCDOT - 'magic number', set when basic initialisation has been C done C NIDATE - Input field date C NICOMP - Spectral truncation above which interpolation coefficients C are calculated 'on the fly' C RISTRET - Stretching factor used in the input field C RMISSGV - Input field missing data value C C JNPRECP C ------- C RPRECIP - Precipitation threshold value C C C NILOCAL - Input field ECMWF local definition number C C C Reference C _________ C C None. C C C Comments C ________ C C None. C C C AUTHOR C ______ C C J.D.Chambers ECMWF Aug 1994 C C C Modifications C _____________ C C None. C C C _______________________________________________________ C C* Section 1. Flag variables C _______________________________________________________ C LOGICAL 1 LCHANGE , LSMCHNG , LSM , LWIND , LPREC , LSMPAR , 2 LSMSET , LWINDSET, LPRECSET,LSMPARSET, LNOREDL , LNIGAUS , 3 LIGIVEL , LIGIVEP , LNOGAUS , LOGIVEL , LOGIVEP , LNORESO , 4 LNOACC , LNOREPR , LNOTABL , LNOPARA , LNOLEVL , LNOLEVT , 5 LNOGRID , LARESOL , LNOBITMP, LNOFRAME, LNOSTYLE, LNOAREA , 6 LFILEIO , LMEMORY , LSHARED , LON_FLY , LMAPPED, LNGSPEC , 7 LIFIRST , LIMISSV , LNIISCL , LSTAGGL , LOCEAN, LIMISSA , 8 LACCUR C COMMON /JDCFLAGS/ 1 LCHANGE , LSMCHNG , LSM , LWIND , LPREC , LSMPAR , 2 LSMSET , LWINDSET, LPRECSET,LSMPARSET, LNOREDL , LNIGAUS , 3 LIGIVEL , LIGIVEP , LNOGAUS , LOGIVEL , LOGIVEP , LNORESO , 4 LNOACC , LNOREPR , LNOTABL , LNOPARA , LNOLEVL , LNOLEVT , 5 LNOGRID , LARESOL , LNOBITMP, LNOFRAME, LNOSTYLE, LNOAREA , 6 LFILEIO , LMEMORY , LSHARED , LON_FLY , LMAPPED, LNGSPEC , 7 LIFIRST , LIMISSV , LNIISCL , LSTAGGL , LOCEAN, LIMISSA , 8 LACCUR C SAVE /JDCFLAGS/ C C _______________________________________________________ C C* Section 2. Field definition variables C _______________________________________________________ C INTEGER X NILOCAL, NISTREM, NGSPEC , X NIFORM , NIREPR , NIGRID , NIAREA , NIGAUSS, NIRESO , X NIWE , NINS , NISCNM , NIPARAM, NITABLE, NIACC , X NJDCDOT, NIPCNT , NILEVEL, NILEVT , NIDATE , NICOMP , X NISLSCP, NIPOGRS, NIPNGRS, NIMATR REAL RISTRET, RMISSGV DIMENSION NIGRID(2) DIMENSION NIAREA(4) C COMMON /JDNIFLD/ X RISTRET, RMISSGV, X NILOCAL, NISTREM, NGSPEC , X NIFORM , NIREPR , NIGAUSS, NIRESO , X NIWE , NINS , NISCNM , NIPARAM, NITABLE, NIACC , X NJDCDOT, NIPCNT , NILEVEL, NILEVT , NIDATE , NICOMP , X NISLSCP, NIPOGRS, NIPNGRS, NIGRID , NIAREA , NIMATR C SAVE /JDNIFLD/ C #ifdef POINTER_64 INTEGER*8 NIPOGRB, NIPNGRB #else INTEGER NIPOGRB, NIPNGRB #endif COMMON /JDNIPTR/ X NIPOGRB, NIPNGRB C SAVE /JDNIPTR/ C REAL ZPRECIP COMMON /JNPRECP/ ZPRECIP SAVE /JNPRECP/ C _______________________________________________________ C C* Section 3. Ocean C _______________________________________________________ C INTEGER X NIOCO3, NIOCO4, X NIOCO4F, NIOCO3F, NIOCO4L, NIOCO3L, X NIOIINC, NIOJINC, X NIOIRGR, NIONOST,NICOORN, X NIVCDEF INTEGER OCCOOR DIMENSION OCCOOR(1000) C COMMON /JOCEANI/ X NIOCO3, NIOCO4, X NIOCO4F, NIOCO3F, NIOCO4L, NIOCO3L, X NIOIINC, NIOJINC, X NIOIRGR, NIONOST, NICOORN, X NIVCDEF, X OCCOOR C SAVE /JOCEANI/ emoslib-000392+dfsg.1/interpolation/iglsmb.F0000755000175000017500000003530612127406245021743 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGLSMB( OISTAND, HIFILE, KIREC, KIGRID, KILINE, X OOSTAND, HOFILE, KOREC, KOGRID, KOLINE, KPR, KERR) C C----> C**** *IGLSMB* C C PURPOSE C ------- C C Calculate the effects of the land-sea masks on the unnormalised C interpolation weights for regular input and output fields. C C C INTERFACE C --------- C C IERR = IGLSMB( OISTAND, HIFILE, KIREC, KIGRID, KILINE, OOSTAND, C X HOFILE, KOREC, KOGRID, KOLINE, KPR, KERR) C C C Input parameters C ---------------- C C OISTAND - Flag indicating whether the input land-sea mask C is a pre-stored "standard" field. C C HIFILE - The filename for the input land-sea mask. C C KIREC - The length of one latitude record in the input file. C C KIGRID - An array of length 2 giving the row and column C strides in a pre-stored land sea mask file for the C input grid. C C KILINE - An array of length 2 giving the offsets of the C Northern and Western starting points in a C pre-stored land sea mask file for the input grid. C C OOSTAND - Flag indicating whether the output land-sea mask C is a prestored "standard" field. C C HOFILE - The filename for the output land-sea mask. C C KOREC - The length of one latitude record in the output file. C C KOGRID - An array of length 2 giving the row and column C strides in a pre-stored land sea mask file for the C output grid. C C KOLINE - An array of length 2 giving the offsets of the C Northern and Western starting points in a C pre-stored land sea mask file for the output grid. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C C Output parameters C ----------------- C C The common variable WFACT is modified by this routine. C C An error indicator C C 22401 An error exit was returned from the I/O routine PBOPEN. C 22402 An error exit was returned from the I/O routine PBCLOSE. C C C Common block usage C ------------------ C C nifld.common - This file contains all the input field C definition variables. C C NINS - Number of grid points in NS direction for input C field (used in grspace.h). C NIWE - Number of grid points in WE direction for input C field is used. C C nofld.common - This file contains all the output field C definition variables. C C NONS - Number of grid points in NS direction for output C field is used. C NOWE - Number of grid points in WE direction for output C field is used. C C grspace.h - This file contains all the work space array C definitions for grid point to grid point C interpolation. C C MEXPAND - Array of length JPLG01 (see parim.h) used to C expand one latitude line of the 10 minute land C sea mask file to have one word per bit for C improved efficiency. C MWORK - Array of length JPLONG (see parim.h) used to C read one latitude line of a standard land sea C mask file. C C MILATG - The input field latitudes. C MILONG - The input field longitudes. C MILSM - Work array used in calculating the effects of C the land sea mask on interpolation. C MNSIND - The latitude line numbers (array offset) of the C input field associated with each line of C latitude in the output field. C MOLATG - The output field latitudes. C MOLONG - The output field longitudes. C MOLSM - Work array used in calculating the effects of C the land sea mask on interpolation. C MWEIND - This array holds the longitude points (array C offset) from the input field associated with C each longitude point in the output field. C WFACT - The interpolation weights for each point in the C output field. C C C Externals C --------- C C ABORTX - Standard routine to kill task. C IGLSM01 - Read and process one latitude row from the 10 C minute land sea mask. C IGLSMR - Calculate the effects of the land-sea masks for one C line of latitude on the unnormalised interpolation C weights. C IGLSMST - Read and process one line of latitude from a C standard land sea mask file. C PBCLOSE - Close a land sea mask file after processing. C PBOPEN - Open a land sea mask file for processing. C INTLOG(R) - Logs messages. C JINDEX - Returns length of character string C C C Method C ------ C C All the land sea mask data is in (0-1) form. If a point in the C input field has a different land sea mask value from the C corresponding point in the output field then its interpolating C weight is multiplied by a scaling factor. This scaling factor C is currently 0.2 so that the effect of such points in the final C interpolation is reduced. C C The land-sea mask files are kept open between calls to this C routine. C C C Reference C --------- C None C C C Comments C -------- C None C C C AUTHOR C ------ C K. Fielding *ECMWF* Oct 1993 C C C Modifications C ------------- C C J.D.Chambers ECMWF Oct 1996 C Reduced number of parameters in call to IGLSMST and IGLSM01 C C----< C C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C Dummy arguments LOGICAL OISTAND, OOSTAND CHARACTER *(*) HIFILE, HOFILE INTEGER KIREC, KOREC, KPR, KERR INTEGER KIGRID(2), KILINE(2), KOGRID(2), KOLINE(2) C C Local variables INTEGER IIUNIT, IOUNIT, IIFILE, IOFILE INTEGER ILATN, ILATS, IISTRIDE, IOSTRIDE, IOFF, IPR, IERR INTEGER JOLAT CHARACTER*80 XHIFILE, XHOFILE CHARACTER*2 NEWFILE, MSKFILE INTEGER XIIUNIT, XIOUNIT, II DATA XIIUNIT/0/ DATA XIOUNIT/0/ SAVE XHIFILE, XHOFILE, XIIUNIT, XIOUNIT C C Multiplication factor for unlike land-sea masks C REAL PPLSM PARAMETER (PPLSM = 0.2E0) C INTEGER JPROUTINE PARAMETER (JPROUTINE = 22400) C C External functions INTEGER IGLSMR, IGLSMST, IGLSM01, JINDEX C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGLSMB: Section 1.',JPQUIET) C IGLSMB = 0 C IIFILE = JINDEX(HIFILE) IOFILE = JINDEX(HOFILE) C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGLSMB: Input parameters are:',JPQUIET) CALL INTLOG(JP_DEBUG,'IGLSMB: Land sea mask file name:',JPQUIET) CALL INTLOG(JP_DEBUG,HIFILE(1: IIFILE),JPQUIET) IF( OISTAND ) THEN CALL INTLOG(JP_DEBUG,'IGLSMB: Stnd fld flag = TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGLSMB: Stnd fld flag = FALSE',JPQUIET) ENDIF CALL INTLOG(JP_DEBUG,'IGLSMB: LSM file rec len = ',KIREC) CALL INTLOG(JP_DEBUG,'IGLSMB: The grid stride WE = ',KIGRID(1)) CALL INTLOG(JP_DEBUG,'IGLSMB: The grid stride NS = ',KIGRID(2)) CALL INTLOG(JP_DEBUG,'IGLSMB: The grid start N = ',KILINE(1)) CALL INTLOG(JP_DEBUG,'IGLSMB: The grid start W = ',KILINE(2)) C CALL INTLOG(JP_DEBUG,'IGLSMB: Output parameters are:',JPQUIET) CALL INTLOG(JP_DEBUG,'IGLSMB: Land sea mask file name:',JPQUIET) CALL INTLOG(JP_DEBUG,HOFILE(1: IIFILE),JPQUIET) IF( OOSTAND ) THEN CALL INTLOG(JP_DEBUG,'IGLSMB: Stnd fld flag = TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGLSMB: Stnd fld flag = FALSE',JPQUIET) ENDIF CALL INTLOG(JP_DEBUG,'IGLSMB: LSM file rec len = ',KOREC) CALL INTLOG(JP_DEBUG,'IGLSMB: The grid stride WE = ',KOGRID(1)) CALL INTLOG(JP_DEBUG,'IGLSMB: The grid stride NS = ',KOGRID(2)) CALL INTLOG(JP_DEBUG,'IGLSMB: The grid start N = ',KOLINE(1)) CALL INTLOG(JP_DEBUG,'IGLSMB: The grid start W = ',KOLINE(2)) ENDIF C IF( MILONG(2).GE.MILONG(1) ) THEN IISTRIDE = MILONG(2) - MILONG(1) ELSE IISTRIDE = MILONG(2) + JP360 - MILONG(1) ENDIF C IF( MOLONG(2).GE.MOLONG(1) ) THEN IOSTRIDE = MOLONG(2) - MOLONG(1) ELSE IOSTRIDE = MOLONG(2) + JP360 - MOLONG(1) ENDIF C C -----------------------------------------------------------------| C* Section 2. Open files for input and output land sea masks C -----------------------------------------------------------------| C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGLSMB: Section 2.',JPQUIET) C C See if first time through or input land sea mask filename has C changed since last access C II = JINDEX(HIFILE) IF( XHIFILE(1:II).NE.HIFILE(1:II) ) THEN C C Open input land sea mask file C IF( XIIUNIT.NE.0 ) CALL PBCLOSE(XIIUNIT,IERR) CALL PBOPEN(IIUNIT, HIFILE, 'r', IERR) IF( IERR.NE.0 ) THEN IGLSMB = JPROUTINE + 1 C IF( KERR.GE.0 ) THEN CALL INTLOG(JP_ERROR,'IGLSMB: PBOPEN error = ',IERR) CALL INTLOG(JP_ERROR,'IGLSMB: trying to open file:',JPQUIET) CALL INTLOG(JP_ERROR, HIFILE(1:IIFILE) ,JPQUIET) C IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IGLSMB: Interpolation failed.',JPQUIET) ENDIF GOTO 900 ENDIF XIIUNIT = IIUNIT XHIFILE(1:II) = HIFILE(1:II) NEWFILE(1:1) = 'Y' C C Just rewind if same file still in use C ELSE IIUNIT = XIIUNIT NEWFILE(1:1) = 'N' ENDIF C C See if first time through or output land sea mask filename has C changed since last access C II = JINDEX(HOFILE) IF( XHOFILE(1:II).NE.HOFILE(1:II) ) THEN C C Open output land sea mask file C IF( XIOUNIT.NE.0 ) CALL PBCLOSE(XIOUNIT,IERR) CALL PBOPEN(IOUNIT, HOFILE, 'r', IERR) IF( IERR.NE.0 ) THEN IGLSMB = JPROUTINE + 1 C IF( KERR.GE.0 ) THEN CALL INTLOG(JP_ERROR,'IGLSMB: PBOPEN error = ',IERR) CALL INTLOG(JP_ERROR,'IGLSMB: trying to open file:',JPQUIET) CALL INTLOG(JP_ERROR, HOFILE(1:IOFILE) ,JPQUIET) C IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IGLSMB: Interpolation failed.',JPQUIET) GOTO 900 ENDIF ENDIF XIOUNIT = IOUNIT XHOFILE(1:II) = HOFILE(1:II) NEWFILE(2:2) = 'Y' C C Just rewind if same file still in use C ELSE IOUNIT = XIOUNIT NEWFILE(2:2) = 'N' ENDIF C -----------------------------------------------------------------| C* Section 3. Calculate arrays of weights C -----------------------------------------------------------------| C 300 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGLSMB: Section 3.',JPQUIET) C IPR = KPR C DO JOLAT = 1, NONS C C Get line for output array C IF( OOSTAND ) THEN C IOFF = (KOLINE(JPNORTH) + (JOLAT - 1) * KOGRID(JPNSSTEP) X - 1) * KOREC C MSKFILE(2:2) = 'O' MSKFILE(1:1) = NEWFILE(2:2) IERR = IGLSMST(IOUNIT, IOFF, NOWE, KOLINE(JPWEST), X KOGRID(JPWESTEP), KOREC, MOLSM, MSKFILE) NEWFILE(2:2) = 'N' C ELSE IERR = IGLSM01(IOUNIT, NOWE, MOLONG, MOLATG(JOLAT), X MEXPAND, KOREC, MOLSM) ENDIF C IF( IERR.GT.0 ) THEN IGLSMB = IERR GOTO 900 ENDIF C ILATN = MNSIND(JP_I_N, JOLAT) ILATS = MNSIND(JP_I_S, JOLAT) C C Get lines for input array C IF( OISTAND ) THEN C IOFF = (KILINE(JPNORTH) + (ILATN - 1) * KIGRID(JPNSSTEP) X - 1) * KIREC C MSKFILE(2:2) = 'I' MSKFILE(1:1) = NEWFILE(1:1) IERR = IGLSMST(IIUNIT, IOFF, NIWE, KILINE(JPWEST), X KIGRID(JPWESTEP), KIREC, MILSM(1, JP_I_N), MSKFILE) NEWFILE(1:1) = 'N' C IF( IERR.GT.0 ) THEN IGLSMB = IERR GOTO 900 ENDIF C IOFF = (KILINE(JPNORTH) + (ILATS - 1) * KIGRID(JPNSSTEP) X - 1) * KIREC C MSKFILE(2:2) = 'I' MSKFILE(1:1) = NEWFILE(1:1) IERR = IGLSMST(IIUNIT, IOFF, NIWE, KILINE(JPWEST), X KIGRID(JPWESTEP), KIREC, MILSM(1, JP_I_S), MSKFILE) NEWFILE(1:1) = 'N' C ELSE C IERR = IGLSM01(IIUNIT, NIWE, MILONG, MILATG(ILATN), X MEXPAND, KIREC, MILSM(1, JP_I_N)) C IF( IERR.GT.0 ) THEN IGLSMB = IERR GOTO 900 ENDIF C IERR = IGLSM01(IIUNIT, NIWE, MILONG, MILATG(ILATS), X MEXPAND, KIREC, MILSM(1, JP_I_S)) C ENDIF C IF( IERR.GT.0 ) THEN IGLSMB = IERR GOTO 900 ENDIF C C Now modify the unormalised weight for land-sea mask C IERR = IGLSMR(MILSM(1, JP_I_N), MILSM(1, JP_I_S), MOLSM, X MWEIND, MWEIND, NOWE, WFACT(1,(JOLAT - 1) * NOWE + 1), X IPR, KERR) C IF( IERR.GT.0 ) THEN IGLSMB = IERR GOTO 900 ENDIF C IPR = KPR - 1 C ENDDO C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGLSMB: Section 9.',JPQUIET) C 9001 FORMAT(' IGLSMB ERROR', I6, ' - ', A, ' returned code', I6 / 1 21X, ' when ', A, 'ing file - ', A) C C RETURN END emoslib-000392+dfsg.1/interpolation/lgrpr4.F0000755000175000017500000001213212127406245021670 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE LGRPR4 (KSEC0,KLINE,KSEC4,PSEC4) C C----> C**** lgrpr4 - Print information from Section 4 of GRIB code. C C Purpose. C -------- C C Print the information in the Binary data section C Section (Section 4) of decoded GRIB data. C C** Interface. C ---------- C C CALL lgrpr4 (KSEC0,KSEC4,PSEC4) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KSEC0 - Array of decoded integers from Section 0. C C KSEC4 - Array of decoded integers from Section 4. C C PSEC4 - Array of decoded reals from Section 4. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Fields printed as integers or reals. C C Externals. C ---------- C C None. C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C See also routine GRIBEX. C C Comments. C --------- C C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 11.09.91 C C Modifications. C -------------- C C K. Fielding ecmwf 03/08/92 C Special version with reduced printout for Monthly C means and time series C C----< C ----------------------------------------------------------------- C C C C C C C C C C C* Section 0. Definition of variables. C ----------------------------------------------------------------- IMPLICIT NONE C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C *IF DEF,CRAY C IMPLICIT NONE *ENDIF C INTEGER INUM C INTEGER J210, J220 C INTEGER KSEC0 INTEGER KSEC4 INTEGER KLINE C REAL PSEC4 C DIMENSION KSEC0(*) DIMENSION KSEC4(*) C DIMENSION PSEC4(*) C C ----------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Print integer information from KSEC4. C ----------------------------------------------------------------- C 100 CONTINUE C WRITE (*,9000) WRITE (*,9001) WRITE (*,9002) C WRITE (*,9003) KSEC4(1) WRITE (*,9004) KSEC4(2) C WRITE (*,9005) KSEC4(3) C WRITE (*,9006) KSEC4(4) C WRITE (*,9007) KSEC4(5) C WRITE (*,9008) KSEC4(6) C WRITE (*,9009) KSEC4(7) C WRITE (*,9010) KSEC4(8) C C ----------------------------------------------------------------- C C C C C C C C C C C C* Section 2. Print real values from PSEC4. C ----------------------------------------------------------------- C 200 CONTINUE C WRITE (*,9000) C INUM = KSEC4(1) IF (INUM.LT.0) INUM = - INUM IF (INUM.GT.10) INUM = 10 C C Print first INUM values. C WRITE (*,9011) INUM DO 220 J220 = 0, 3 WRITE (*, *) DO 210 J210=1,INUM WRITE (*,9012) PSEC4(J220 * KLINE + J210) 210 CONTINUE 220 CONTINUE C C ----------------------------------------------------------------- C C C C C C C C* Section 9 . Format statements. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C 9000 FORMAT (1H ) 9001 FORMAT (1H ,'Section 4 - Binary Data Section.') 9002 FORMAT (1H ,'-------------------------------------') 9003 FORMAT (1H ,'Number of data values coded/decoded. ',I9) 9004 FORMAT (1H ,'Number of bits per data value. ',I9) 9005 FORMAT (1H ,'Type of data indicator. ',I9) 9006 FORMAT (1H ,'Type of packing indicator. ',I9) 9007 FORMAT (1H ,'Type of data representation. ',I9) 9008 FORMAT (1H ,'Additional flags indicator. ',I9) 9009 FORMAT (1H ,'Reserved. ',I9) 9010 FORMAT (1H ,'Number of values indicator. ',I9) 9011 FORMAT (1H ,'First ',I4,' data values.') 9012 FORMAT (1H ,F30.15) C RETURN C END emoslib-000392+dfsg.1/interpolation/hgetlsm.F0000755000175000017500000001165112127406245022126 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HGETLSM(KGAUSS,OLDLSM,KSIZE) C C----> C**** HGETLSM C C Purpose C ------- C C This routine reads a file of reduced gaussian field land-sea C mask values. C C C Interface C --------- C C IRET = HGETLSM(KGAUSS,OLDLSM,KSIZE) C C C Input parameters C ---------------- C C KGAUSS - Gaussian number of the reduced gaussian field C KSIZE - Number of bytes to read into OLDLSM C C C Output parameters C ----------------- C C OLDLSM - The array of values for the reduced gaussian field C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C None C C C Method C ------ C C Gets pathname from HIRLAM_LSM_PATH and reads land-sea mask C from a file. C C C Externals C --------- C C GETENV - Read environment variable C INTLOG - Log error message. C PBOPEN - Open land-sea mask file C PBREAD - Read land-sea mask file C PBCLOSE - Close land-sea mask file C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF March 2001 C C C Modifications C ------------- C C Replace PBOPEN, etc by PBOPEN3, etc on VPP. C J.D.Chambers ECMWF December 2001 C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Function arguments C INTEGER KGAUSS, KSIZE REAL OLDLSM(*) C C Local variables C CHARACTER*256 FILENAME CHARACTER*256 YPNORMAS,YENVBACK CHARACTER*56 YPNORMAL CHARACTER*7 VPP CHARACTER*4 YGAUSS INTEGER IOFFS, IOFFSET, IUNIT, IRET PARAMETER (YPNORMAL ='/usr/local/lib/metaps/tables/interpolation') #ifdef TABLE_PATH DATA YPNORMAS / TABLE_PATH / #else DATA YPNORMAS / '' / #endif C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HGETLSM = 0 C CALL JDEBUG() C C -----------------------------------------------------------------| C Section 2. Build the land-sea mask file pathname C -----------------------------------------------------------------| C 200 CONTINUE C C C See if the environment variable points to a directory C C FILENAME = YPNORMAL C IOFFSET = INDEX(YPNORMAS,' ') - 1 IF(IOFFSET.GT.0) THEN FILENAME = YPNORMAS(1:IOFFSET)//'/land_sea_mask/' ENDIF CALL GETENV('HIRLAM_LSM_PATH', YENVBACK) IOFFSET = INDEX(YENVBACK,' ') - 1 IF(IOFFSET.GT.0) THEN FILENAME = YENVBACK(1:IOFFSET)//'/land_sea_mask/' ENDIF C C Complete the filename C IOFFS = INDEX(FILENAME,' ') FILENAME(IOFFS:(IOFFS+7)) = '/LSM_GG_' IOFFS = INDEX(FILENAME,' ') WRITE(YGAUSS,'(I4.4)') KGAUSS FILENAME(IOFFS:(IOFFS+4)) = YGAUSS C IOFFS = INDEX(FILENAME,' ') CALL INTLOG(JP_DEBUG,'HGETLSM: land-sea mask filename',JPQUIET) CALL INTLOG(JP_DEBUG,'HGETLSM: ' // FILENAME(1:(IOFFS-1)),JPQUIET) C C -----------------------------------------------------------------| C Section 3. Read the land-sea mask values C -----------------------------------------------------------------| C 300 CONTINUE C #ifdef __uxp__ CALL PBOPEN3(IUNIT,FILENAME(1:(IOFFS-1)),'r',IRET) #else CALL PBOPEN(IUNIT,FILENAME(1:(IOFFS-1)),'r',IRET) #endif IF( IRET.NE.0 ) THEN CALL INTLOG(JP_DEBUG,'HGETLSM: PBOPEN Iret',IRET) CALL INTLOG(JP_DEBUG,'HGETLSM: PBOPEN failed',JPQUIET) HGETLSM = 3 GOTO 900 ENDIF C #ifdef __uxp__ CALL PBREAD3(IUNIT,OLDLSM,KSIZE,IRET) #else CALL PBREAD(IUNIT,OLDLSM,KSIZE,IRET) #endif IF( IRET.NE.KSIZE ) THEN CALL INTLOG(JP_DEBUG,'HGETLSM: PBREAD failed',JPQUIET) HGETLSM = 3 GOTO 900 ENDIF C #ifdef __uxp__ CALL PBCLOSE3(IUNIT,IRET) #else CALL PBCLOSE(IUNIT,IRET) #endif IF( IRET.NE.0 ) THEN CALL INTLOG(JP_DEBUG,'HGETLSM: PBCLOSE failed',JPQUIET) HGETLSM = 3 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jgglat.F0000755000175000017500000002252512127406245021735 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION JGGLAT(KLAT, PGAUSS) C C----> C**** *JGGLAT* - Routine to compute Gaussian abscissae C C PURPOSE C _______ C C This routine computes Gaussian lines of latitude for a given C truncation. C C INTERFACE C _________ C C IERR = JGGLAT(KLAT, PGAUSS) C C Input parameters C ________________ C C KLAT - This is the number of lines of latitude from pole to C pole. C C Output parameters C ________________ C C PGAUSS - The Gaussian lines of latitude for truncation C KLAT / 2. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 1 The Newton iteration failed to converge when generating C Gaussian lines of latitude. C C MARSINT problem - Please report this to Meteorological C Applications. C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C JBESS - This routine is used to generate initial C approximations to the Gaussian latitudes. C C METHOD C ______ C C JBESS is used to provide zeros of the Bessel function J0, C which are used as starting approximations to the Gaussian C latitudes. Newton iteration is used to generate the latitudes C from these approximations. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C C This routine is adapted from that in the old Marsint library. C The interface and the variable names have been modified. C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Dummy arguments INTEGER KLAT C REAL PGAUSS (*) C C Local variables C INTEGER ITRUNC, IERR C C Loop control variables C INTEGER JLAT, JITER, JLN C REAL ZRADDEG, ZCON, ZLAT, ZROOT REAL ZKM1, ZKM2, ZLN, ZFUNC, ZDERIV, ZMOVE C C Function externals C INTEGER JBESS C C _______________________________________________________ C C* Section 1. Set constants and get initial approximation. C _______________________________________________________ C 100 CONTINUE C JGGLAT = 0 C ZRADDEG = 180.0 / PPI C ZCON = (PPONE - (PPTWO / PPI) ** 2) * PPQUART C ZLAT = KLAT ITRUNC = KLAT / 2 C IERR = JBESS (ITRUNC, PGAUSS) C C _______________________________________________________ C C* Section 2. Compute abscissae C _______________________________________________________ C 200 CONTINUE C DO 240 JLAT = 1, ITRUNC C C First approximation for ZROOT C ZROOT = COS (PGAUSS (JLAT) / 1 SQRT ( (ZLAT + PPHALF) ** 2 + ZCON) ) C C Perfrom loop of Newton iterations C DO 220 JITER =1, JPMAXITER C ZKM2 = PPONE ZKM1 = ZROOT C C Compute Legendre polynomial C DO 210 JLN = 2, KLAT C ZLN = JLN C ZFUNC = ( (PPTWO * ZLN - PPONE) * ZROOT * ZKM1 - 1 (ZLN - PPONE) * ZKM2) / ZLN C ZKM2 = ZKM1 ZKM1 = ZFUNC C 210 CONTINUE C C Perform Newton iteration C C ZDERIV = (ZLAT * (ZKM2 - ZROOT * ZFUNC) ) / 1 (PPONE - ZROOT ** 2) C ZMOVE = ZFUNC / ZDERIV C ZROOT = ZROOT - ZMOVE C C If ABS (ZMOVE) < PPEPSA leave iteration loop because sufficient C accuracy has been achieved. C IF (ABS (ZMOVE) .LE. PPEPSA) GOTO 230 C 220 CONTINUE C C Routine fails if no convergence after JPMAXITER iterations. C JGGLAT = 1 GO TO 900 C 230 CONTINUE C C* Set North and South values using symmetry. C PGAUSS (JLAT) = ASIN (ZROOT) * ZRADDEG PGAUSS (KLAT + 1 - JLAT) = - PGAUSS (JLAT) C 240 CONTINUE C C IF (KLAT .NE. ITRUNC * 2) PGAUSS (ITRUNC + 1) = PPZERO C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C C RETURN END INTEGER FUNCTION JBESS (KTRUNC, PBESJ0) C C**** *JBESS* - Routine to return zeros of the J0 Bessel function. C C PURPOSE C _______ C C This routine returns up to JPLOOK zeros of the J0 Bessel function. C If more than JPLOOK zeros are required then approximate zeros are C returned after the JPLOOK-th. C C INTERFACE C _________ C C IERR = JBESS (KTRUNC, PBESJ0) C C Input parameters C ________________ C C KTRUNC - This is the number of zeros of the J0 Bessel C function required. C C Output parameters C ________________ C C PBESJ0 - The output array of zeros of the J0 Bessel function. C C Return Value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C None C C METHOD C ______ C C The first JPLOOK values are obtained from a look-up table (ZPBES). C Any additional values requested are approximated by adding C PI (3.14159...) to the previous value. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C This routine is adapted from that in the old Marsint library. C The interface and the variable names have been modified. C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "jparams.h" C C Dummy arguments C INTEGER KTRUNC C REAL PBESJ0 (*) C C Local variables C C INTEGER ILOOK INTEGER JAPPRX, JLOOK C REAL ZPBES (JPLOOK) C DATA ZPBES / 2.4048255577E0, 5.5200781103E0, 1 8.6537279129E0, 11.7915344391E0, 14.9309177086E0, 2 18.0710639679E0, 21.2116366299E0, 24.3524715308E0, 3 27.4934791320E0, 30.6346064684E0, 33.7758202136E0, 4 36.9170983537E0, 40.0584257646E0, 43.1997917132E0, 5 46.3411883717E0, 49.4826098974E0, 52.6240518411E0, 6 55.7655107550E0, 58.9069839261E0, 62.0484691902E0, 7 65.1899648002E0, 68.3314693299E0, 71.4729816036E0, 8 74.6145006437E0, 77.7560256304E0, 80.8975558711E0, 9 84.0390907769E0, 87.1806298436E0, 90.3221726372E0, A 93.4637187819E0, 96.6052679510E0, 99.7468198587E0, 1 102.8883742542E0, 106.0299309165E0, 109.1714896498E0, 2 112.3130502805E0, 115.4546126537E0, 118.5961766309E0, 3 121.7377420880E0, 124.8793089132E0, 128.0208770059E0, 4 131.1624462752E0, 134.3040166383E0, 137.4455880203E0, 5 140.5871603528E0, 143.7287335737E0, 146.8703076258E0, 6 150.0118824570E0, 153.1534580192E0, 156.2950342685E0 / C C _______________________________________________________ C C C* Section 1. Extract initial values from look up table C C _______________________________________________________ C 100 CONTINUE C JBESS = 0 C ILOOK = MIN(KTRUNC, JPLOOK) C DO 110 JLOOK = 1, ILOOK PBESJ0(JLOOK) = ZPBES(JLOOK) 110 CONTINUE C C _______________________________________________________ C C* Section 2. Approximate any extra values required C _______________________________________________________ C 200 CONTINUE C DO 210 JAPPRX = ILOOK + 1, KTRUNC PBESJ0(JAPPRX) = PBESJ0(JPLOOK) + PPI * (JAPPRX - ILOOK) 210 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/oceanp.F0000755000175000017500000003441112127406245021727 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION OCEANP( INOCEAN, INLEN, OTOCEAN, OUTLEN) C C----> C**** OCEANP C C Purpose C ------- C C Interpolate GRIB format input ocean field to GRIB format ocean C field. C C C Interface C --------- C C IRET = OCEANP( INOCEAN, INLEN, OTOCEAN, OUTLEN) C C Input C ----- C C INOCEAN - Input ocean field (GRIB format). C INLEN - Input field length (words). C C C Output C ------ C C OTOCEAN - Output ocean field (GRIB format). C OUTLEN - Output field length (words). C C C Method C ------ C C Interpolate ocean field. C C If requested X grid increment does not match input GRIB C increment, do a full interpolation in both x and y. Otherwise, C interpolate only to make grid regular. C C Externals C --------- C C JDEBUG - Tests if debug output required. C GRIBEX - GRIB decoding/encoding. C INTLOG - Log error message. C JMEMHAN - Allocate/deallocate scratch memory. C INTOCN - Carry out ocean field to field interpolation. C IGSETUP - Setup GRIB sections for the output product. C C C Author C ------ C C J.D.Chambers ECMWF May 1996 C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.D.Chambers ECMWF Mar 1997 C Allow for full or partial interpolation C (F or R option in call to INTOCN). C C----< C IMPLICIT NONE C C Function arguments C INTEGER INOCEAN, INLEN, OTOCEAN, OUTLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE, JPALLOC, JPDEALL, JPSCR3, JPSCR4 INTEGER JP_LAT, JP_LONG, JP_GUESS PARAMETER (JPROUTINE = 36900 ) PARAMETER (JPALLOC = 1) PARAMETER (JPDEALL = 0) PARAMETER (JPSCR3 = 3) PARAMETER (JPSCR4 = 4) PARAMETER (JP_LONG = 3) PARAMETER (JP_LAT = 4) PARAMETER (JP_GUESS = 18049691) cs PARAMETER (JP_GUESS = 1675245) cs PARAMETER (JP_GUESS = 1237104) cs PARAMETER (JP_GUESS = 1038240) C `---> allow for 0.25*0.25 interpolated grid C C Local variables C LOGICAL LHORIZN, LFLIP CHARACTER*1 HFUNC CHARACTER*1 HINTOPT CHARACTER*6 YFLAG INTEGER IOLDN, IOLDW, IOLDS, IOLDE, IOLDEW, IOLDNS INTEGER LOOPLAT, LOOPLON, I, J , IOS,LOOP REAL ZTEMP INTEGER IERR, KPR, IWORD, IOLDSIZ, INEWSIZ, IINTPOL, ISTAGP INTEGER NXP, NYP, INEWP, ITEMP REAL RTOP, RBOTT, RRIGHT, RLEFT, RYRES, RXRES REAL XARR, YARR DIMENSION XARR(JPGRIB_ISEC1), YARR(JPGRIB_ISEC1) #ifdef POINTER_64 INTEGER*8 INEW, IOLD #endif REAL NEW, OLD POINTER ( INEW, NEW ) POINTER ( IOLD, OLD ) DIMENSION NEW( 1 ), OLD( 1 ) C C Externals C INTEGER RESET_C, IGSETUP, INTOCN, FIXAREA C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C C Test if debug output required. C CALL JDEBUG() C CALL INTLOG(JP_DEBUG, X 'OCEANP: Trying to interpolate an ocean field.',JPQUIET) C IF( .NOT.LNOGRID ) THEN CALL INTLOG(JP_FATAL, X 'OCEANP: GRID must be specified to interpolate an ocean field' X , JPQUIET) OCEANP = JPROUTINE + 1 GOTO 960 ENDIF C OCEANP = 0 IERR = 0 KPR = 0 LFLIP = .FALSE. C C Save the original area and grid definitions C IOLDN = NOAREA(1) IOLDW = NOAREA(2) IOLDS = NOAREA(3) IOLDE = NOAREA(4) IOLDEW = NOGRID(1) IOLDNS = NOGRID(2) C C -----------------------------------------------------------------| C* Section 2. Unpack the input ocean field. C -----------------------------------------------------------------| C 200 CONTINUE C C Decode first four sections of GRIB code to find number of values C IWORD = INLEN IERR = 1 IOLDSIZ = OUTLEN CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X OLD, IOLDSIZ, INOCEAN, INLEN, IWORD, 'I',IERR) C IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'OCEANP: GRIBEX option J decoding failed.',IERR) OCEANP = IERR GOTO 950 ENDIF C C Check it is an ocean field C IF( (ISEC1(24).NE.1).OR.(ISEC1(37).NE.4) ) THEN CALL INTLOG(JP_ERROR, 'OCEANP: Not an ocean field.',JPQUIET) OCEANP = JPROUTINE + 3 GOTO 950 ENDIF C C Horizontal (lat/long) field GRIB setup different from others C LHORIZN = (ISEC1(60).EQ.JP_LONG).AND.(ISEC1(61).EQ.JP_LAT) IF( LHORIZN ) CALL INTLOG(JP_DEBUG, X 'OCEANP: Horizontal (lat/long) field interpolation.',JPQUIET) C C Get scratch memory for unpacking the input ocean field. C IOLDSIZ = ISEC2(2)*ISEC2(3) CALL JMEMHAN( JPSCR4, IOLD, IOLDSIZ, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'OCEANP: Scratch memory(4) allocation failed.',JPQUIET) OCEANP = IERR GOTO 950 ENDIF C C Decode data from GRIB code: -999.9 is a missing data value C IWORD = INLEN IERR = 1 ZSEC3(2) = -999.9 CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X OLD, IOLDSIZ, INOCEAN, INLEN, IWORD, 'D',IERR) C IF( (IERR.NE.0).AND.(IERR.NE.-2).AND.(IERR.NE.-4) ) THEN CALL INTLOG(JP_ERROR,'OCEANP: GRIBEX decoding failed.',IERR) OCEANP = IERR GOTO 940 ENDIF C C -----------------------------------------------------------------| C* Section 3. Prepare the output ocean field. C -----------------------------------------------------------------| C 300 CONTINUE C C Setup interpolation options from input GRIB characteristics. C IERR = RESET_C(ISEC1, ISEC2, ZSEC2, ISEC4) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'OCEANP: Setup interp. options from GRIB failed.',JPQUIET) OCEANP = IERR GOTO 940 ENDIF C C For horizontal field, match the desired area to the grid C IERR = FIXAREA() IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, 'OCEANP: FIXAREA failed.',JPQUIET) OCEANP = IERR GOTO 940 ENDIF C C Get scratch memory for output ocean field. C Have to guess how big the interpolated grid will be. C INEWSIZ = JP_GUESS CALL JMEMHAN(JPSCR3, INEW, INEWSIZ*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'OCEANP: Scratch memory(3) allocation failed.',JPQUIET) OCEANP = IERR GOTO 940 ENDIF INEWP = 1 ITEMP = 1 + INEWSIZ C C -----------------------------------------------------------------| C* Section 4. Interpolate ocean field. C -----------------------------------------------------------------| C 400 CONTINUE C RTOP = FLOAT( NOAREA(1) ) / PPMULT RBOTT = FLOAT( NOAREA(3) ) / PPMULT RRIGHT = FLOAT( NOAREA(4) ) / PPMULT RLEFT = FLOAT( NOAREA(2) ) / PPMULT C RYRES = FLOAT( NOGRID(2) ) / PPMULT RXRES = FLOAT( NOGRID(1) ) / PPMULT C C Select the interpolation option C (default = 'R' = interpolate only to make grid regular) C If requested X grid increment does not match input GRIB C increment, interpolate in x and y ('F' = full) C HINTOPT = 'R' IF( NOGRID(1).NE.ISEC2(9) ) HINTOPT = 'F' C IERR = INTOCN(HINTOPT,'D', X RTOP, RBOTT, RRIGHT, RLEFT, RYRES, RXRES, X ISEC1, ISEC2, OLD, IOLDSIZ, X INEWSIZ, NEW(ITEMP), XARR, YARR, NXP, NYP, X NEW(INEWP), X IINTPOL, ISTAGP) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, 'OCEANP: Interpolation failed.',JPQUIET) OCEANP = IERR GOTO 900 ENDIF C NOAREA(1) = NINT( (YARR(1) + YARR(2)*(NYP-1)) * PPMULT ) NOAREA(2) = NINT( XARR(1) * PPMULT ) NOAREA(3) = NINT( YARR(1) * PPMULT ) NOAREA(4) = NINT( (XARR(1) + XARR(2)*(NXP-1)) * PPMULT ) C NOGRID(1) = NINT( ABS(XARR(2)) * PPMULT ) NOGRID(2) = NINT( ABS(YARR(2)) * PPMULT ) NONS = NYP NOWE = NXP C C -----------------------------------------------------------------| C* Section 5. Code new field into GRIB. C -----------------------------------------------------------------| C 500 CONTINUE C C Re-order the rows from south to north to be north to south C (ECMWF convention). C IF( LHORIZN.OR.(NOAREA(1).LT.NOAREA(3)) ) THEN LFLIP = .TRUE. DO LOOPLAT = 1, NYP/2 I = (LOOPLAT - 1)*NXP J = (NYP - LOOPLAT)*NXP DO LOOPLON = 1, NXP I = I + 1 J = J + 1 ZTEMP = NEW(I) NEW(I) = NEW(J) NEW(J) = ZTEMP ENDDO ENDDO C IF( .NOT.LHORIZN ) THEN ITEMP = NOAREA(1) NOAREA(1) = NOAREA(3) NOAREA(3) = ITEMP C ITEMP = ISEC2(4) ISEC2(4) = ISEC2(7) ISEC2(7) = ITEMP ENDIF ENDIF C C Setup GRIB sections for the output product: C C Use local definition 4 in GRIB section 1 ... C ISEC1(73) = 0 ITEMP = 75 + ISEC1(71) + ISEC1(72) + ISEC1(73) + ISEC1(74) ISEC1(ITEMP) = 0 C IF( LHORIZN ) THEN ISEC1(62) = NOAREA(1)*10 ISEC1(63) = NOAREA(2)*10 ISEC1(64) = NOAREA(3)*10 ISEC1(65) = NOAREA(4)*10 ISEC1(66) = NOGRID(1)*10 ISEC1(67) = NOGRID(2)*10 IF( LFLIP ) ISEC1(67) = - ISEC1(67) ISEC1(68) = 0 ISEC1(69) = 0 C C Standard section 2 format for horizontal sections C ISEC2(1) = 0 ISEC2(2) = NXP ISEC2(3) = NYP ISEC2(4) = NOAREA(1)/100 ISEC2(5) = NOAREA(2)/100 ISEC2(6) = 128 ISEC2(7) = NOAREA(3)/100 ISEC2(8) = NOAREA(4)/100 ISEC2(9) = NOGRID(1)/100 ISEC2(10) = NOGRID(2)/100 Cjdc ISEC2(17) = 0 DO LOOPLAT = 11, 22 ISEC2(LOOPLAT) = 0 ENDDO ELSE C Tim-Correct headers for vertical sections IF( ISEC1(60).EQ.3 ) THEN ISEC1(63) = NOAREA(2)*10 ELSEIF( ISEC1(60).EQ.4 ) THEN ISEC1(63) = NOAREA(2)*10 ENDIF IF( ISEC1(61).EQ.3 ) THEN ISEC1(62) = NOAREA(1)*10 ELSEIF( ISEC1(61).EQ.4 ) THEN ISEC1(62) = NOAREA(1)*10 ENDIF C IF( ISEC1(61).EQ.1 ) THEN ISEC1(64) = ISEC1(62) + NINT((NYP-1)*RYRES*1.0) ISEC1(65) = ISEC1(63) + NINT((NXP-1)*RXRES*1000000.0) ISEC1(66) = NOGRID(1)*NINT(1000000.0/PPMULT) ISEC1(67) = NOGRID(2)/(PPMULT/1.0) ELSE ISEC1(64) = ISEC1(62) + NINT((NYP-1)*RYRES*1000.0) ISEC1(65) = ISEC1(63) + NINT((NXP-1)*RXRES*1000000.0) ISEC1(66) = NOGRID(1)*NINT(1000000.0/PPMULT) ISEC1(67) = NOGRID(2)/(PPMULT/1000.0) ENDIF C IF( LFLIP ) ISEC1(67) = - ISEC1(67) ISEC1(68) = 0 C C Special ECMWF ocean short form of GRIB section 2 C ISEC2(1) = 192 ISEC2(2) = NXP ISEC2(3) = NYP Cjdc ISEC2(4) = NOAREA(1)/100000 Cjdc ISEC2(5) = NOAREA(2)/100 Cjdc ISEC2(6) = 0 Cjdc ISEC2(7) = NOAREA(3)/100000 Cjdc ISEC2(8) = NOAREA(4)/100 Cjdc DO LOOPLAT = 9, 22 Cjdc ISEC2(LOOPLAT) = 0 Cjdc ENDDO ENDIF C C Ensure there is a section 3 in case there is missing data in the C output area C ISEC1(5) = 192 ISEC3(1) = 0 ZSEC3(2) = -999.9 C ISEC4(1) = NXP * NYP C C If grid-point output, setup for 2nd order packing if requested. C IF( (NOREPR.NE.JPSPHERE).AND.(NOREPR.NE.JPSPHROT) ) THEN HFUNC = 'C' IF( NOHFUNC.EQ.'K' ) THEN HFUNC = 'K' ISEC4(4) = 64 ISEC4(6) = 16 ISEC4(9) = 32 ISEC4(10) = 16 ISEC4(12) = 8 ISEC4(13) = 4 ISEC4(14) = 0 ISEC4(15) = -1 ELSE ISEC4(4) = 0 ISEC4(6) = 0 ENDIF ELSE HFUNC = 'C' IF( NOHFUNC.EQ.'C' ) THEN ISEC2(6) = 2 ISEC4(4) = 64 ELSE IF( NOHFUNC.EQ.'S' ) THEN ISEC2(6) = 1 ISEC4(4) = 0 ENDIF ENDIF C C Switch off GRIBEX checking (sigh) C CALL INTLOG(JP_DEBUG, X 'OCEANP: switching OFF GRIBEX checking',JPQUIET) CALL GRSVCK(0) C IERR = 1 CALL GRIBEX( ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X NEW,INEWSIZ,OTOCEAN,OUTLEN,IWORD,HFUNC,IERR) C IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'OCEANP: GRIBEX encoding failed.',IERR) OCEANP = JPROUTINE + 5 GOTO 900 ENDIF OUTLEN = IWORD C C Switch on GRIBEX checking (sigh again) C CALL INTLOG(JP_DEBUG, X 'OCEANP: switching ON GRIBEX checking',JPQUIET) CALL GRSVCK(1) C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C C Return the scratch memory. C CALL JMEMHAN( JPSCR3, INEW, INEWSIZ, JPDEALL, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'OCEANP: Scratch memory(3) reallocation failed.',JPQUIET) OCEANP = IERR ENDIF C 940 CONTINUE C CALL JMEMHAN( JPSCR4, IOLD, IOLDSIZ, JPDEALL, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'OCEANP: Scratch memory(4) reallocation failed.',JPQUIET) OCEANP = IERR ENDIF C 950 CONTINUE C C Restore the original area and grid definitions C NOAREA(1) = IOLDN NOAREA(2) = IOLDW NOAREA(3) = IOLDS NOAREA(4) = IOLDE NOGRID(1) = IOLDEW NOGRID(2) = IOLDNS C 960 CONTINUE C CALL INTLOG(JP_DEBUG, X 'OCEANP: Returning from interpolating an ocean field.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/intfb.F0000755000175000017500000011272112127406245021565 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTFB( INGRIB,INLEN,OUTGRIB,OUTLEN,FLDOUT) C C----> C**** INTFB C C Purpose C ------- C C Interpolate input field... C C C Interface C --------- C C IRET = INTFB( INGRIB,INLEN,OUTGRIB,OUTLEN,FLDOUT) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C C C Output C ------ C C OUTGRIB - Output field (packed). C OUTLEN - Output field length (words). C FLDOUT - Output field (unpacked). C C C Method C ------ C C Call interpolation routines; then repack if GRIB output. C C Currently, subareas are not supported for reduced gaussian fields. C (Works OK; but need to setup values in GRIB product for number of C points in each latitude row) C C C Externals C --------- C C IARCNTL - Control interp. quasi reg.Gauss -> Gaussian or lat/long C IAGCNTL - Control interpolation reg.Gaussian or lat/long fields. C JSH2SH - Changes resolution of a field of spectral coefficients. C JALLGP - Converts spectral fields to lat/long grid fields. C JALLWN - Converts spectral wind fields to lat/long grids. C JSLLGP - Converts strectched spectral fields to lat/long grid fields. C JAGGGP - Converts spectral fields to a gaussian grid field. C JSGGGP - Converts strectched spectral fields to a gaussian grid field. C IBASINI - Ensure basic interpolation setup is done. C GRIBEX - Decode/encode GRIB product. C GRSVCK - Turn off GRIB checking C IGSETUP - Setup GRIB sections for the output product. C JMEMHAN - Handles memory allocation. C IGLSIZE - Evaluate array sizes for reg. lat/long and area. C IGSIZE - Evaluate array sizes for a regular Gaussian. C IRSIZE - Evaluate array sizes for a quasi reg Gaussian. C FIXAREA - Fixup area definition to correspond to grid definitions C ISCRSZ - Calculate number of values in generated field. C JDEBUG - Checks environment to switch on/off debug C INTLOG - Log error message. C INTLOGR - Log error message (real value). C OCEANP - Interpolate GRIB ocean field. C MKBITMP - Apply a bitmap to a rectangular field. C MKFRAME - Create a 'frame' from a rectangular field. C DDSTYLE - Create subgrid by selecting pts from rectangular grid. C DSSAREA - Fixup field area (dissemination style). C INTISL - Interpolate a field using ISLSCP processing. C KRG2RG - Interpolate reduced gaussian to reduced gaussian (packed) C KRG2RGU - Interpolate reduced gaussian to reduced gaussian (unpacked) C KRG2RGD - Interpolate reduced gaussian to reduced gaussian c using intermediate interpolation C C C Author C ------ C C J.D.Chambers ECMWF Aug 1994 C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C IMPLICIT NONE C C Function arguments C INTEGER INGRIB(*),OUTGRIB(*),INLEN,OUTLEN REAL FLDOUT(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" #include "jparams.h" C C Parameters C INTEGER JPROUTINE INTEGER JUNPACK, JPREALB PARAMETER (JPROUTINE = 26400 ) INTEGER JPIMISS,CLASMISS,KNEWMISS PARAMETER (JPIMISS = -2147483647) PARAMETER (CLASMISS = 9999) REAL JPZMISS,NEWMISS PARAMETER (JPZMISS = -2.1474836E+09) PARAMETER (JUNPACK = 3000000) PARAMETER (JPREALB = 8) C C Local variables C INTEGER NWEPTS, NNSPTS REAL OLDS, OLDE REAL EW, NS, NORTH, SOUTH, WEST, EAST, RTEMP INTEGER IWORD, IERR, ILENF, ISIZE, IUV, IDISTEP REAL PNORTH, PSOUTH, PWEST, PEAST, PLATINC, PLONINC LOGICAL OIWEGLOBE, OINPOLE, OISPOLE LOGICAL OOWEGLOBE, OONPOLE, OOSPOLE LOGICAL LBITMP,LFRAME,LSTYLE,LGLOBAL,LSAMERS,LIQUASI LOGICAL LOLDLSP, LOLDLSM INTEGER INORTH, ISOUTH, IEAST, IWEST INTEGER HOLDEW, HOLDNS, N_NOWE, N_NONS INTEGER KILN, KITOTAL, KOLN, KOTOTAL, KPR, KERR INTEGER LOOP, LOOPI, NEXT, ISWAP, NTRUNC, NTROLD, NTROLD2 INTEGER LENMED INTEGER IOS, ILENS REAL*8 DISSRES REAL TEMP(2048) C DATA NTROLD/-1/, NTROLD2/-1/ SAVE NTROLD, NTROLD2 CHARACTER*1 HTYPE CHARACTER*1 HFUNC CHARACTER*6 YFLAG #ifdef POINTER_64 #ifndef FUJITSU INTEGER*8 IZNFLDO #endif #endif REAL ZNFLDO , RWORK DIMENSION RWORK(JUNPACK) POINTER ( IZNFLDO, ZNFLDO ) DIMENSION ZNFLDO( 1 ) INTEGER NEWLSM(1), OLDLSM(1) POINTER( NIPNGRB, NEWLSM ) POINTER( NIPOGRB, OLDLSM ) LOGICAL LFIRST DATA LFIRST/.TRUE./ SAVE LFIRST C C Externals C INTEGER IGLSIZE, IGSIZE, IRSIZE, IARCNTL, IAGCNTL, DSSAREA INTEGER IGSETUP, FIXAREA, ISCRSZ, OCEANP, AURESOL, MKBITMP INTEGER INTISL, KRG2RG, KRG2RGU,KRG2RGZ, KRG2RGD, KRG2RGY #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE INTFB = 0 IERR = 0 C C Check if debug option turned on CALL JDEBUG() KPR = NDBG C LBITMP = LNOBITMP.AND. X ((NOREPR.EQ.JPREGROT).OR.(NOREPR.EQ.JPREGULAR).OR. X (NOREPR.EQ.JPGAUSSIAN)) C LFRAME = LNOFRAME.AND. X ((NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPREGROT ).OR.(NOREPR.EQ.JPFGGROT ) ) C LSTYLE = LNOSTYLE.AND. X (NOSTYLE.EQ.JPSDISM).AND. X (NOREPR.EQ.JPREGULAR) C IF( .NOT.LWINDSET ) THEN LWIND = ( ((NOTABLE.EQ.128).OR.(NOTABLE.EQ.129)).AND. X ((NOPARAM.EQ.131).OR.(NOPARAM.EQ.132).OR. X (NOPARAM.EQ.165).OR.(NOPARAM.EQ.166)) ) ENDIF CALL INTLOG(JP_DEBUG,'INTFB: Wind flag = ', LWIND) IF( LWIND ) THEN IUV = 1 ELSE IUV = 0 ENDIF C IF(NIFORM.EQ.1) THEN ILENS = ISEC4(1) ELSE ILENS = INLEN ENDIF C C If dissemination style selection of grid points is required, C adjust the sub-area limits to the dissemination grid. C IF( LSTYLE ) THEN IDISTEP = NINT(JPDISTP*PPMULT) EW = NOGRID(1) / PPMULT NS = NOGRID(2) / PPMULT NORTH = REAL(NOAREA(1)) / PPMULT WEST = REAL(NOAREA(2)) / PPMULT SOUTH = REAL(NOAREA(3)) / PPMULT EAST = REAL(NOAREA(4)) / PPMULT C IERR = DSSAREA( EW, NS, NORTH, WEST, SOUTH, EAST) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: DSSAREA failed:',IERR) INTFB = IERR GOTO 900 ENDIF C N_NOWE = NINT((EAST-WEST)/EW) + 1 N_NONS = NINT((NORTH-SOUTH)/NS) + 1 C NOAREA(1) = NINT(NORTH * PPMULT) NOAREA(2) = NINT(WEST * PPMULT) NOAREA(3) = NINT(SOUTH * PPMULT) NOAREA(4) = NINT(EAST * PPMULT) ENDIF C C If Hirlam 12-point rotation involved, it has already been done C (in INTFAPH), so just copy values to array for packing. C IF( LUSEHIR.AND.LNOROTA ) THEN ISIZE = ISEC4(1) IF( ISIZE.EQ.0 ) ISIZE = OUTLROT CALL JMEMHAN( 3, IZNFLDO, ISIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_FATAL,'INTFB: Get scratch space fail',JPQUIET) INTFB = JPROUTINE + 1 GOTO 900 ENDIF C DO LOOP = 1, ISIZE ZNFLDO(LOOP) = ZNFELDI(LOOP) ENDDO GOTO 700 ENDIF C C -----------------------------------------------------------------| C* Section 2. Special cases! C -----------------------------------------------------------------| C 200 CONTINUE C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, ierr) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: znfeldi allocate fail',JPQUIET) INTFB = IERR GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C Is the interpolation from SH to grid point C IF( ((NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT).OR. X (NIREPR.EQ.JPSTRSH)) X .AND. X ((NOREPR.NE.JPSPHERE).AND.(NOREPR.NE.JPSPHROT)) ) THEN C NTRUNC = NORESO C C Check whether a truncation is required before interpolation C IF( .NOT.LNORESO ) THEN C C If user did not supply a truncation value, see whether or C not the 'autoresol' flag is set. If not, use the input C truncation. C IF( LARESOL ) THEN IF( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN EW = FLOAT(NOGRID(1))/PPMULT NS = FLOAT(NOGRID(2))/PPMULT ELSE EW = 90.0/FLOAT(NOGAUSS) NS = EW ENDIF NTRUNC = AURESOL(EW,NS) IF( NTRUNC.NE.NTROLD ) THEN NTROLD = NTRUNC CALL INTLOG(JP_WARN, X 'INTFB: Resolution automatically set to ', NTRUNC) ENDIF ELSE NTRUNC = NIRESO ENDIF C ELSE C C ENDIF C C Check whether the output resolution is greater than the input C IF( NTRUNC.GT.NIRESO ) THEN C C Issue warning if the output resolution was user-supplied C IF( .NOT.LARESOL ) THEN C C Revert to the input truncation C IF( NIRESO.NE.NTROLD2 ) THEN CALL INTLOG(JP_WARN, X 'INTFB: spectral -> grid point interpolation',JPQUIET) CALL INTLOG(JP_WARN, X 'INTFB: User supplied resolution = ',NTRUNC) CALL INTLOG(JP_WARN, X 'INTFB: Input field resolution = ',NIRESO) CALL INTLOG(JP_WARN, X 'INTFB: User supplied resolution ignored',JPQUIET) CALL INTLOG(JP_WARN, X 'INTFB: Input field resolution has been used',JPQUIET) NTROLD2 = NIRESO ENDIF NTRUNC = NIRESO C ELSE C C Revert to the input truncation if auto RESOL C NTRUNC = NIRESO IF( NTRUNC.NE.NTROLD2 ) THEN NTROLD2 = NTRUNC CALL INTLOG(JP_WARN, X 'INTFB: Automatic resolution selectn too high:',JPQUIET) CALL INTLOG(JP_WARN, X 'INTFB: Resolution reset to input resolution: ',NTRUNC) ENDIF ENDIF C ENDIF C C Truncate if a smaller resolution has been requested C IF( NTRUNC.LT.NIRESO ) THEN CALL INTLOG(JP_DEBUG, X 'INTFB: Spectral coefficents truncated to ', NTRUNC) C ISIZE = (NTRUNC+1)*(NTRUNC+4) CALL JMEMHAN( 3, IZNFLDO, ISIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_FATAL, X 'INTFB: Get scratch space failed',JPQUIET) INTFB = JPROUTINE + 2 GOTO 900 ENDIF C C Generate spherical harmonics with output truncation C CALL SH2SH( ZNFELDI, NIRESO, ZNFLDO, NTRUNC ) C C Move new spherical harmonics to 'input' array C DO LOOP = 1, ISIZE ZNFELDI(LOOP) = ZNFLDO(LOOP) ENDDO C NIRESO = NTRUNC C ENDIF C ENDIF C C Is it an ocean field interpolation? C c sinisa this is all done in intf c IF( (ISEC1(24).EQ.1) .AND. c X (ISEC1(37).EQ.4) .AND. c X (NIFORM.EQ.1) .AND. c X (NOFORM.EQ.1) ) THEN c IERR = OCEANP(INGRIB,INLEN,OUTGRIB,OUTLEN) c IF( IERR.NE.0 ) THEN c CALL INTLOG(JP_ERROR, c X 'INTFB: Ocean interpolation failed.',JPQUIET) c INTFB = JPROUTINE + 2 c ELSE c CALL INTLOG(JP_DEBUG, c X 'INTFB: Ocean interpolation finished successfully.',JPQUIET) c ENDIF c GOTO 900 c ENDIF C C -----------------------------------------------------------------| C* Section 3. Interpolation spherical harmonics to spherical C harmonics C -----------------------------------------------------------------| C 300 CONTINUE C IF( ((NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT)) .AND. X ((NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) ) THEN C C Get scratch space for interpolation C CALL INTLOG(JP_DEBUG,'INTFB: SH -> SH, input is ',NIRESO) CALL INTLOG(JP_DEBUG,'INTFB: output is ',NORESO) ISIZE = ISCRSZ() IF( ISIZE.LE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Get scratch space failed.',ISIZE) INTFB = JPROUTINE + 2 GOTO 900 ENDIF CALL JMEMHAN( 3, IZNFLDO, ISIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Get scratch space fail.',JPQUIET) INTFB = JPROUTINE + 2 GOTO 900 ENDIF C CALL SH2SH( ZNFELDI, NIRESO, ZNFLDO, NORESO ) C GOTO 700 C C If not spectral -> spectral transformation, make sure the input C and output area definitions have been setup. C ELSE C C Fixup area definition to correspond to grid definitions C IF( .NOT.LSTYLE ) THEN IERR = FIXAREA() IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Fixup area definition failed.',JPQUIET) INTFB = JPROUTINE + 9 GOTO 900 ENDIF ENDIF C C Setup geographical limits C PNORTH = FLOAT( NOAREA(1) ) / PPMULT PWEST = FLOAT( NOAREA(2) ) / PPMULT PSOUTH = FLOAT( NOAREA(3) ) / PPMULT PEAST = FLOAT( NOAREA(4) ) / PPMULT C ENDIF C C -----------------------------------------------------------------| C Section 4. Interpolation spherical harmonics to grid point. C -----------------------------------------------------------------| C 400 CONTINUE C IF( (NIREPR.EQ.JPSPHERE).OR. X (NIREPR.EQ.JPSTRSH) .OR. X (NIREPR.EQ.JPSPHROT) ) THEN #ifndef REAL_8 C C Check that double precision floats are in use if spectral C resolution is greater than T213 C IF( NIRESO.GT.213 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Double precision must be used',JPQUIET) CALL INTLOG(JP_ERROR,'INTFB: for spectral resolution ',NIRESO) INTFB = JPROUTINE + 2 GOTO 900 ENDIF #endif CALL INTLOG(JP_DEBUG,'INTFB: SH -> grid point',JPQUIET) C C Get scratch space for interpolation C If dissemination style, space has to be for a 0.5x0.5 grid C IF( LSTYLE ) THEN c to be consistant with product generation IF(NIRESO.EQ.1279) THEN DISSRES = 0.125 ELSEIF(NIRESO.EQ.799) THEN DISSRES = 0.25 ELSEIF(NIRESO.EQ.639) THEN DISSRES = 0.25 ELSEIF(NIRESO.EQ.511) THEN DISSRES = 0.5 ELSEIF(NIRESO.EQ.399) THEN DISSRES = 0.5 ELSEIF(NIRESO.EQ.319) THEN DISSRES = 0.5 ELSEIF(NIRESO.EQ.255) THEN DISSRES = 0.5 ELSEIF(NIRESO.EQ.155) THEN DISSRES = 1.5 ELSE DISSRES = NOGRID(1) / PPMULT CALL INTLOG(JP_WARN,'INTFB: Diss resol set to: ',NOGRID(1)) ENDIF IDISTEP = NINT(DISSRES*PPMULT) C HOLDEW = NOGRID(1) HOLDNS = NOGRID(2) NOGRID(1) = IDISTEP NOGRID(2) = IDISTEP ENDIF ISIZE = ISCRSZ() IF( ISIZE.LE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Get scratch space failed.',ISIZE) INTFB = JPROUTINE + 2 GOTO 900 ENDIF C CALL JMEMHAN( 3, IZNFLDO, ISIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Get scratch space fail.',JPQUIET) INTFB = JPROUTINE + 2 GOTO 900 ENDIF IF( LSTYLE ) THEN NOGRID(1) = HOLDEW NOGRID(2) = HOLDNS ENDIF C C -----------------------------------------------------------------| C* Section 4.1 Interpolation spherical harmonics to grid point. C -----------------------------------------------------------------| C 410 CONTINUE C IF( (NOREPR.EQ.JPREGULAR) .OR. (NOREPR.EQ.JPREGROT) ) THEN CALL INTLOG(JP_DEBUG,'INTFB: SH -> lat/long',JPQUIET) C C -> latitude/longitude grid C If dissemination style, generated grid is 0.5x0.5 C IF( LSTYLE ) THEN HOLDEW = NOGRID(1) HOLDNS = NOGRID(2) NOGRID(1) = IDISTEP NOGRID(2) = IDISTEP ENDIF PLONINC = FLOAT( NOGRID(1) ) / PPMULT PLATINC = FLOAT( NOGRID(2) ) / PPMULT C C Special handling for stretched fields C IF( RISTRET.NE.0 ) THEN CALL JSLLGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, ZNFLDO, IERR) C ELSE IF( LWIND ) THEN CALL JALLWN(ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, ZNFLDO, IERR) ELSE CALL JALLGP(ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, ZNFLDO, IERR) ENDIF ENDIF C IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Interpolation to lat/long field failed.',JPQUIET) INTFB = JPROUTINE + 3 GOTO 900 ENDIF C IF( LSTYLE ) THEN NOGRID(1) = HOLDEW NOGRID(2) = HOLDNS ENDIF C GOTO 700 C ENDIF C C IF( NOREPR.EQ.JPGAUSSIAN ) THEN C C -> regular gaussian grid C CALL INTLOG(JP_DEBUG,'INTFB: SH -> regular gaussian.',JPQUIET) C C Is it a user_regular_gaussian (or standard regular gaussian).. C IF( LOGIVEL ) THEN HTYPE = 'U' ELSE HTYPE = 'F' ENDIF C C Special handling for stretched fields C IF( RISTRET.NE.0 ) THEN CALL JSGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, HTYPE, NOLPTS, ZNFLDO, IUV, IERR) ELSE CALL JAGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, HTYPE, NOLPTS, ZNFLDO, IUV, IERR) C ENDIF IF( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Interpolation to gaussian field failed.',JPQUIET) INTFB = JPROUTINE + 4 GOTO 900 ENDIF C GOTO 700 C ENDIF C C IF( NOREPR.EQ.JPQUASI ) THEN C C -> reduced gaussian grid C CALL INTLOG(JP_DEBUG,'INTFB: SH -> quasi gaussian.',JPQUIET) C C Is it a user_reduced_gaussian (or standard reduced gaussian)? C IF( LOGIVEP ) THEN HTYPE = 'U' ELSE HTYPE = 'R' ENDIF C C Special handling for stretched fields C IF( RISTRET.NE.0 ) THEN CALL JSGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, HTYPE, NOLPTS, ZNFLDO, IUV, IERR) ELSE CALL JAGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, HTYPE, NOLPTS, ZNFLDO, IUV, IERR) ENDIF IF( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Interpolation to quasi GG field failed.',JPQUIET) INTFB = JPROUTINE + 4 GOTO 900 ENDIF C GOTO 700 C ENDIF C C Dropthrough => unrecognized output field type C IERR = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTFB: Unrecognized output field type.',NOREPR) INTFB = IERR GOTO 900 C ENDIF C C -----------------------------------------------------------------| C Section 5. Interpolate Gaussian grid to grid point. C -----------------------------------------------------------------| C 500 CONTINUE C C If Hirlam 12-point rotation involved, it has already been done C (in INTFAPH), so just copy values to array for packing. C IF( LUSEHIR.AND.LNOROTA ) THEN C ISIZE = ISCRSZ() IF( ISIZE.LE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Get scratch space fail',ISIZE) INTFB = JPROUTINE + 5 GOTO 900 ENDIF CALL JMEMHAN( 3, IZNFLDO, ISIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_FATAL, X 'INTFB: Get scratch space failed',JPQUIET) INTFB = JPROUTINE + 5 GOTO 900 ENDIF C DO LOOP = 1, ISIZE ZNFLDO(LOOP) = ZNFELDI(LOOP) ENDDO GOTO 700 ENDIF C C Handle ISLSCP processing C IF( LNIISCL ) THEN CALL INTLOG(JP_DEBUG,'INTFB: Using ISLSCP processing',JPQUIET) IERR = INTISL(OLDLSM, INGRIB, NEWLSM, OUTGRIB) IF( IERR.LT.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: ISLSCP processing fail',NIGAUSS) INTFB = JPROUTINE + 10 GOTO 900 ENDIF OUTLEN = (IERR+JPBYTES-1)/JPBYTES GOTO 900 ENDIF C C Reduced gaussian to reduced gaussian C LIQUASI = (NIREPR.EQ.JPQUASI) C IF( (LIQUASI.AND.(NOREPR.EQ.JPQUASI)) ) THEN IF( LDOUBLE ) THEN CALL INTLOG(JP_DEBUG,'INTFB: RG to RG with intermediate' X ,JPQUIET) IF(NIFORM.EQ.1) THEN IERR = KRG2RGD(INGRIB,OUTGRIB,NOMEGA,NOGAUSS) IF(IERR.LT.0) THEN CALL INTLOG(JP_ERROR, X 'INTFB: KRG2RGD processing failed',JPQUIET) INTFB = JPROUTINE + 10 ELSE OUTLEN = (IERR+JPBYTES-1)/JPBYTES ENDIF ELSE CALL INTLOG(JP_DEBUG, X 'INTF: RG to RG intermediate unpacked',JPQUIET) IERR = KRG2RGZ(INGRIB,RWORK,NIGAUSS,NOMEGA) IF(IERR.LT.0) THEN CALL INTLOG(JP_ERROR, X 'INTFB: KRG2RGZ processing failed',JPQUIET) INTFB = JPROUTINE + 10 GOTO 900 ELSE OUTLEN = IERR ENDIF C Second step LDOUBLE = .FALSE. IERR = KRG2RGZ(RWORK,FLDOUT,NOMEGA,NOGAUSS) LDOUBLE = .TRUE. IF(IERR.LT.0) THEN CALL INTLOG(JP_ERROR, X 'INTFB: KRG2RGZ processing failed',JPQUIET) INTFB = JPROUTINE + 10 GOTO 900 ELSE OUTLEN = IERR ENDIF ENDIF ELSE IF(NIFORM.EQ.1) THEN CALL INTLOG(JP_DEBUG,'INTFB: RG to RG packed',JPQUIET) IERR = KRG2RG(INGRIB,OUTGRIB,NOGAUSS) IF(IERR.LT.0) THEN CALL INTLOG(JP_ERROR, X 'INTFB: KRG2RG processing failed',JPQUIET) INTFB = JPROUTINE + 10 ELSE OUTLEN = (IERR+JPBYTES-1)/JPBYTES ENDIF ELSE CALL INTLOG(JP_DEBUG,'INTFB: RG to RG unpacked',JPQUIET) IERR = KRG2RGU(INGRIB,FLDOUT,NIGAUSS,NOGAUSS) IF(IERR.LT.0) THEN CALL INTLOG(JP_ERROR, X 'INTFB: KRG2RGU processing failed',JPQUIET) INTFB = JPROUTINE + 10 ELSE OUTLEN = IERR ENDIF ENDIF ENDIF GOTO 900 ENDIF C C Setup flags for input and output fields C CALL INTLOG(JP_DEBUG,'INTFB: grid point -> grid point.',JPQUIET) KERR = 1 IF( NIREPR .EQ. JPQUASI ) THEN CALL INTLOG(JP_DEBUG,'INTFB: quasi input ',NIGAUSS) IERR = IRSIZE( NIGAUSS, NIAREA, MILLEN, NIWE, NINS, KILN, X KITOTAL, RIGAUSS, OIWEGLOBE, OINPOLE, OISPOLE, X KPR, KERR) ELSE IF( NIREPR.EQ.JPGAUSSIAN ) THEN CALL INTLOG(JP_DEBUG,'INTFB: regular gauss input ',NIGAUSS) IERR = IGSIZE( NIGAUSS, NIAREA, NIWE, NINS, KILN, RIGAUSS, X OIWEGLOBE, OINPOLE, OISPOLE, KPR, KERR) ELSE CALL INTLOG(JP_DEBUG,'INTFB: lat/long input lat ',NIGRID(1)) CALL INTLOG(JP_DEBUG,'INTFB: lat/long input long ',NIGRID(2)) IERR = IGLSIZE( NIGRID, NIAREA, NIWE, NINS, KILN, OIWEGLOBE, X OINPOLE, OISPOLE, KPR, KERR) ENDIF C NONS = 0 NOWE = 0 IF( (NOREPR.EQ.JPQUASI).OR.(NOREPR.EQ.JPQGGROT) ) THEN CALL INTLOG(JP_DEBUG,'INTFB: quasi output ',NOGAUSS) IERR = IRSIZE( NOGAUSS, NOAREA, NOLPTS, NOWE, NONS, KOLN, X KOTOTAL, ROGAUSS, OOWEGLOBE, OONPOLE, OOSPOLE, X KPR, KERR) ELSE IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN CALL INTLOG(JP_DEBUG,'INTFB: regular gauss output ',NOGAUSS) IERR = IGSIZE( NOGAUSS, NOAREA, NOWE, NONS, KOLN, ROGAUSS, X OOWEGLOBE, OONPOLE, OOSPOLE, KPR, KERR) ELSE CALL INTLOG(JP_DEBUG,'INTFB: lat/long output lat ',NOGRID(1)) CALL INTLOG(JP_DEBUG,'INTFB: lat/long output long ',NOGRID(2)) C C If dissemination style, space has to be for a 0.5x0.5 grid C IF( LSTYLE ) THEN IF( NIREPR.EQ.JPQUASI ) THEN IF(NIGAUSS.EQ.640) THEN DISSRES = 0.125 ELSEIF(NIGAUSS.EQ.400) THEN DISSRES = 0.25 ELSEIF(NIGAUSS.EQ.320) THEN DISSRES = 0.25 ELSEIF(NIGAUSS.EQ.200) THEN DISSRES = 0.5 ELSEIF(NIGAUSS.EQ.160) THEN DISSRES = 0.5 ELSEIF(NIGAUSS.EQ.128) THEN DISSRES = 0.5 ELSEIF(NIGAUSS.EQ.80) THEN DISSRES = 1.5 ELSE DISSRES = JPDISTP CALL INTLOG(JP_WARN,'INTFB: Diss resol set to: ', X NINT(DISSRES*PPMULT)) ENDIF IDISTEP = NINT(DISSRES*PPMULT) ENDIF HOLDEW = NOGRID(1) HOLDNS = NOGRID(2) If (.Not.LNOROTA) Then ! D.Jokic; Mar-2005 NOGRID(1) = IDISTEP NOGRID(2) = IDISTEP End if ! D.Jokic; Mar-2005 ENDIF IERR = IGLSIZE( NOGRID, NOAREA, NOWE, NONS, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR, KERR) ENDIF C IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Setup of gaussian field flags failed.',IERR) INTFB = JPROUTINE + 6 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 5.1 Interpolate reduced Gaussian grid to grid point. C -----------------------------------------------------------------| C 510 CONTINUE C ISIZE = ISCRSZ() IF( ISIZE.LE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Get scratch space failed.',ISIZE) INTFB = JPROUTINE + 2 GOTO 900 ENDIF C CALL JMEMHAN( 3, IZNFLDO, ISIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Get scratch space failed.',JPQUIET) INTFB = JPROUTINE + 2 GOTO 900 ENDIF C IF( NIREPR.EQ.JPQUASI ) THEN C C If Hirlam 12-point rotation involved, it has already been done C (in INTFAPH), so just copy values to array for packing. C IF( LUSEHIR.AND.LNOROTA ) THEN DO LOOP = 1, ISIZE ZNFLDO(LOOP) = ZNFELDI(LOOP) ENDDO ELSE C Sinisa - if double interpolation involved IF( LDOUBLE ) THEN IF( NOMEGA.EQ.NIGAUSS ) THEN CALL INTLOG(JP_DEBUG, X 'INTFB: Input and Intermed. Gaussian number are same',JPQUIET) CALL INTLOG(JP_DEBUG, X 'INTFB: Double interpolation is not performed',JPQUIET) ELSE IF(NIFORM.EQ.1) THEN CALL INTLOG(JP_DEBUG, X 'INTFB: RG2RG to unpacked - double interpolation',JPQUIET) IERR = KRG2RGY(INGRIB,RWORK,NOMEGA) IF(IERR.LT.0) THEN CALL INTLOG(JP_ERROR, X 'INTFB: KRG2RGY processing failed',JPQUIET) INTFB = JPROUTINE + 10 GOTO 900 ELSE LENMED = IERR ENDIF ELSE CALL INTLOG(JP_DEBUG, X 'INTFB: RG to RG intermediate unpacked',JPQUIET) IERR = KRG2RGZ(INGRIB,RWORK,NIGAUSS,NOMEGA) IF(IERR.LT.0) THEN CALL INTLOG(JP_ERROR, X 'INTFB: KRG2RGZ processing failed',JPQUIET) INTFB = JPROUTINE + 10 GOTO 900 ELSE LENMED = IERR ENDIF ENDIF DO LOOP = 1, LENMED ZNFELDI(LOOP) = RWORK(LOOP) ENDDO IERR = FIXAREA() IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Fixup area definition failed. DI',JPQUIET) INTFB = JPROUTINE + 9 GOTO 900 ENDIF CALL INTLOG(JP_DEBUG, X 'INTFB: quasi input double interolation ',NIGAUSS) CALL JGETGG( NIGAUSS, 'R', RIGAUSS, MILLEN, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: JGETGG fail - double interpolation ',JPQUIET) INTFB = JPROUTINE + 10 GOTO 900 ENDIF IERR = IRSIZE( NIGAUSS, NIAREA, MILLEN, NIWE, NINS, KILN, X KITOTAL, RIGAUSS, OIWEGLOBE, OINPOLE, OISPOLE, X KPR, KERR) ENDIF ENDIF C C If reduced gaussian to regular gaussian of same resolution, C turn off the land-sea mask processing temporarily C LSAMERS = (NIGAUSS.EQ.NOGAUSS) LOLDLSM = LSM LOLDLSP = LSMPAR IF( (LIQUASI.AND.(NOREPR.EQ.JPGAUSSIAN).AND.LSAMERS) ) THEN CALL INTLOG(JP_DEBUG, X 'INTFB: turn off any LSM processing temporarily ', JPQUIET) LSM = .FALSE. LSMPAR = .FALSE. ENDIF IERR = IARCNTL( ZNFELDI, JPEXPAND, ZNFLDO, ISIZE, KILN, X OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR ,KERR) LSM = LOLDLSM LSMPAR = LOLDLSP IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Interpolation from quasi GG field failed',JPQUIET) INTFB = JPROUTINE + 7 GOTO 900 ENDIF C IF( LSTYLE ) THEN NOGRID(1) = HOLDEW NOGRID(2) = HOLDNS ENDIF ENDIF C GOTO 700 C ENDIF C C -----------------------------------------------------------------| C* Section 6. Interpolate regular grid point to grid point. C -----------------------------------------------------------------| C 600 CONTINUE C IERR = IAGCNTL( ZNFELDI, JPEXPAND, ZNFLDO, ISIZE, KILN, X OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR, KERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Interpolation from regular field failed.',JPQUIET) INTFB = JPROUTINE + 8 GOTO 900 ENDIF C IF( LSTYLE ) THEN NOGRID(1) = HOLDEW NOGRID(2) = HOLDNS ENDIF C -----------------------------------------------------------------| C* Section 7. Pack field into GRIB if necessary. C -----------------------------------------------------------------| C 700 CONTINUE C C If dissemination 'style' selection has been chosen, select points. C IF( LSTYLE ) THEN CALL DDSTYLE(ZNFLDO,IDISTEP,IDISTEP,NOGRID(1),NOGRID(2),IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFB: Wrong requested grid increment for dissemination style' X ,JPQUIET) INTFB = JPROUTINE + 3 GOTO 900 ENDIF NOWE = N_NOWE NONS = N_NONS cs to check if it ruin gribex packing ISIZE = NOWE*NONS ENDIF C C If a 'bitmap' has been specified, build the bitmap C IF( LFRAME.OR.LBITMP.OR.LIMISSV ) THEN ISEC1(5) = 192 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV ENDIF IF( LBITMP ) THEN IERR = MKBITMP(NOWE,NONS,ZNFLDO,RMISSGV) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Problem applying bitmap',JPQUIET) INTFB = IERR GOTO 900 ENDIF ENDIF C C If a 'frame' has been specified, build the frame C IF( LFRAME ) CALL MKFRAME(NOWE,NONS,ZNFLDO,RMISSGV,NOFRAME) C C If the output is a GRIB product C IF( NOFORM.EQ.1 ) THEN CALL INTLOG(JP_DEBUG,'INTFB: pack field for output',JPQUIET) C C Setup GRIB sections for the output product C IERR = IGSETUP( ISEC1, ISEC2, ISEC4 ) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Setup GRIB section fail',JPQUIET) INTFB = IERR GOTO 900 ENDIF C C C If there are missing values, set all values to zero C IF( NOMISS.NE.0 ) THEN DO LOOP = 1, ISEC2(2)*ISEC2(3) ZNFLDO(LOOP) = 0.0 ENDDO ENDIF C C Make adjustments for 'dissemination style' C IF( LNOSTYLE.AND.(NOSTYLE.EQ.JPSDISM) ) THEN C C Turn off use of ECMWF local definition C Cjdc ISEC1(24) = 0 C C For regular lat/long or gaussian grids, calculate the grid C i-direction increment using truncation C IF( (ISEC2(1).NE.50).AND.(ISEC2(1).NE.60).AND. X (ISEC2(1).NE.70).AND.(ISEC2(1).NE.80) ) THEN C IF( (ISEC2(1).NE.5).AND.(ISEC2(17).EQ.0) ) THEN IF( NOSTYLE.NE.JPSDISM) X ISEC2(9) = (ISEC2(8) - ISEC2(5)) / (ISEC2(2) - 1) ENDIF C ENDIF C ENDIF C C Code data into GRIB C ILENF = ISIZE IERR = 1 C C If grid-point output, setup for 2nd order packing if requested. C IF( (NOREPR.NE.JPSPHERE) .AND. (NOREPR.NE.JPSPHROT) ) THEN HFUNC = 'C' IF( NOHFUNC.EQ.'K' ) THEN HFUNC = 'K' ISEC4(4) = 64 ISEC4(6) = 16 ISEC4(9) = 32 ISEC4(10) = 16 ISEC4(12) = 8 ISEC4(13) = 4 ISEC4(14) = 0 ISEC4(15) = -1 C C IF( NOREPR.EQ.JPQUASI ) THEN C C Complex packing does not support sub-areas of reduced C gaussian grids. If output is reduced gaussian, check if C it is global to within a tolerance of 0.1 degrees. C LGLOBAL = .TRUE. INORTH = NINT( ROGAUSS(1) * PPMULT ) IF( IABS(NOAREA(1)-INORTH).GT.1000) LGLOBAL = .FALSE. ISOUTH = - INORTH IF( IABS(NOAREA(3)-ISOUTH).GT.1000) LGLOBAL = .FALSE. IF( NOAREA(2).NE.0 ) LGLOBAL = .FALSE. IEAST = JP360 - (JP90/NOGAUSS) IF( IABS(NOAREA(4)-IEAST).GT.1000) LGLOBAL = .FALSE. C C Use simple packing if not global. C IF( .NOT. LGLOBAL ) THEN HFUNC = 'C' ISEC4(4) = 0 ISEC4(6) = 0 ENDIF ENDIF C ELSE IF( NOHFUNC.EQ.'S' ) THEN ISEC4(4) = 0 ISEC4(6) = 0 ENDIF C ELSE HFUNC = 'C' IF( NOHFUNC.EQ.'C' ) THEN ISEC2(6) = 2 ISEC4(4) = 64 ELSE IF( NOHFUNC.EQ.'S' ) THEN ISEC2(6) = 1 ISEC4(4) = 0 ENDIF ENDIF C IF( LIMISSV ) THEN ISEC1(5) = 192 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV ENDIF C C For interpolated regular lat/long field, flip latitudes if C they run from south to north C (handles special case , eg KWBC SST fields) C IF( LNOGRID.AND. X (NOREPR.EQ.JPREGULAR).AND. X (NOAREA(1).LT.NOAREA(3)) ) THEN C CALL INTLOG(JP_DEBUG, X 'INTFB: Flip latitudes to run North to South', JPQUIET) DO LOOP = 1, ISEC2(3)/2 NEXT = 1 + (LOOP - 1)*ISEC2(2) ISWAP = (ISEC2(3) - LOOP)*ISEC2(2) + 1 DO LOOPI = 1, ISEC2(2) RTEMP = ZNFLDO(ISWAP) ZNFLDO(ISWAP) = ZNFLDO(NEXT) ZNFLDO(NEXT) = RTEMP NEXT = NEXT + 1 ISWAP = ISWAP + 1 ENDDO ENDDO ENDIF C CALL GRIBEX( ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X ZNFLDO,ILENF,OUTGRIB,OUTLEN,IWORD,HFUNC,IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: GRIBEX encoding failed.',IERR) INTFB = JPROUTINE + 5 GOTO 900 ENDIF OUTLEN = IWORD C C Switch off use of missing value C LIMISSV = .FALSE. C ELSE C C Otherwise, move unpacked values to user array C DO LOOP = 1, ISIZE FLDOUT( LOOP ) = ZNFLDO( LOOP ) ENDDO C C and return the number of values, the unpacked array length C OUTLEN = ISIZE ENDIF C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C RETURN END emoslib-000392+dfsg.1/interpolation/iglsmst.F0000755000175000017500000002266712127406245022156 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGLSMST (KUNIT, KOFF, KNWE, KFIRST, KSTRIDE, 1 KLEN, KLSM, NEWFILE) C C----> C**** *IGLSMST* C C PURPOSE C _______ C C Read and process one line of latitude from a standard land sea C mask file. C C INTERFACE C _________ C C IERR = IGLSMST (KUNIT, KOFF, KNWE, KFIRST, KSTRIDE, C 1 KLEN, KLSM) C C Input parameters C ________________ C C KUNIT - The unit number of the land sea mask file. C KOFF - The word offset within the file of the required C line. This is used to position the file. C KNWE - The number of points in the West-East direction C for this line of latitude. C KFIRST - The position of the first land sea mask point C required within the array. C KSTRIDE - The distance between the longitude points required. C KLEN - The length of a full latitude row of the land sea C mask file. C NEWFILE - 'YI' if the input land-sea mask file is to be C accessed and it has changed C 'NI' if the input land-sea mask file is to be C accessed and it has not changed C 'YO' if the output land-sea mask file is to be C accessed and it has not changed C 'NO' if the output land-sea mask file is to be C accessed and it has not changed C C Output parameters C ________________ C C KLSM - The array of land sea mask values for this C latitude value and set of longitude points. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 25401 Unexpected end of file found when positioning or reading C land sea mask file. C 25402 Error return code when positioning or reading land sea C mask file. C C Any error in this routine should be reported to Meteorological C Applications. C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C PBREAD - Standard library routine to read unstructured C files. C PBSEEK - Standard library routine to position an C unstructured file. C INTLOG(R) - Logs messages. C C METHOD C ______ C C A full standard latitude line is transferred to the work array C and then the required points copied into the output array. C C The land sea mask file is assumed to use one integer word for C each value even though these values can only be 0 or 1. This C gives a gain in efficiency at a cost in file size. C C To reduce system overheads involved in multiple PBSEEKS and C PBREADS, the whole file is read into an array on the first call. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Oct 1996 C The whole file is read into an array on the first call. C Number of function arguments reduced. C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.D.Chambers ECMWF June 1999 C Use bitmaps for landsea masks C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" #include "jparams.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 25400) INTEGER JPRAWSZ PARAMETER (JPRAWSZ = (JPLONG*JPLAT+(JPBITS-1))/JPBITS ) C C Function arguments C INTEGER KUNIT, KOFF, KFIRST, KSTRIDE, KLEN, KNWE INTEGER KLSM (KNWE) CHARACTER*2 NEWFILE C C Local variables C INTEGER JDCSIZE, JDCINDX, JDCPNT, JDCRET, JLSM DIMENSION JLSM(1440) C `-------> good upto 0.25 degree latitude step C INTEGER IPOINT, IERR, ISIZE DATA ISIZE/0/ INTEGER JLON INTEGER LENRAW, IFIRST, IFILE, INDEX DIMENSION LENRAW(2) DIMENSION IFILE(2) INTEGER NRAWMSK DIMENSION NRAWMSK(1) #ifdef POINTER_64 INTEGER*8 IRAWMSK #endif POINTER (IRAWMSK, NRAWMSK ) DATA IFILE/0,0/ SAVE IFILE, LENRAW, IRAWMSK, ISIZE C C Statement function C INTEGER I, J C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IGLSMST = 0 C IF( NDBG.GT.2) THEN CALL INTLOG(JP_DEBUG,'IGLSMST: Section 1.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGLSMST: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGLSMST: Word offset in file = ',KOFF) CALL INTLOG(JP_DEBUG,'IGLSMST: Input rec len(words)= ',KLEN) CALL INTLOG(JP_DEBUG,'IGLSMST: No. of longitude pts = ',KNWE) CALL INTLOG(JP_DEBUG,'IGLSMST: First point in line = ',KFIRST) CALL INTLOG(JP_DEBUG,'IGLSMST: Stride along line = ',KSTRIDE) ENDIF C C If the input or output land-sea mask file has changed, reset C the stored unit C IF( NEWFILE(2:2).EQ.'I' ) THEN IF( NEWFILE(1:1).EQ.'Y' ) THEN INDEX = 1 IFILE(INDEX) = KUNIT IFIRST = 0 CALL INTLOG(JP_DEBUG,'IGLSMST: New input LSM file.',JPQUIET) ELSE INDEX = 1 IFIRST = 1 ENDIF ENDIF C IF( NEWFILE(2:2).EQ.'O' ) THEN IF( NEWFILE(1:1).EQ.'Y' ) THEN INDEX = 2 IFILE(INDEX) = KUNIT IFIRST = 0 CALL INTLOG(JP_DEBUG,'IGLSMST: New output LSM file.',JPQUIET) ELSE INDEX = 2 IFIRST = 2 ENDIF ENDIF C C If it is the first time through, read in the whole land-sea C mask file C IF( IFIRST.EQ.0 ) THEN C C Find the file length C CALL PBSEEK (KUNIT, 0, 2, LENRAW(INDEX)) IF ( LENRAW(INDEX).LT.0 ) THEN IGLSMST = JPROUTINE + 1 CALL INTLOG(JP_FATAL, X 'IGLSMST: Error finding length of LSM file',JPQUIET) GO TO 900 ENDIF C C Rewind the file C CALL INTLOG(JP_DEBUG,'IGLSMST: Rewind the LSM file.',JPQUIET) CALL PBSEEK (KUNIT, 0, 0, IERR) IF ( IERR.NE.0 ) THEN IGLSMST = JPROUTINE + 2 CALL INTLOG(JP_FATAL, X 'IGLSMST: Error rewinding LSM file',JPQUIET) GO TO 900 ENDIF C C Allocate memory for the array (first time only) C IF( ISIZE.EQ.0 ) THEN ISIZE = JPRAWSZ*2 CALL JMEMHAN( 12, IRAWMSK, ISIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'IGLSMST: Memory allocation error.',IRAWMSK) IGLSMST = JPROUTINE + 3 GOTO 900 ENDIF ENDIF C C Read the file (ignore end-of-file). C CALL INTLOG(JP_DEBUG,'IGLSMST: Read the LSM file',LENRAW(INDEX)) CALL PBREAD(KUNIT, NRAWMSK((INDEX-1)*JPRAWSZ+1), X LENRAW(INDEX), IERR) C IF( IERR.NE.LENRAW(INDEX) ) THEN CALL INTLOG(JP_ERROR, X 'IGLSMST: Land-sea mask file read error.',JPQUIET) IGLSMST = JPROUTINE + 4 GOTO 900 ENDIF C ENDIF C C _______________________________________________________ C C Section 2. Transfer file to land sea mask array C _______________________________________________________ C 200 CONTINUE C IF( NDBG.GT.2) CALL INTLOG(JP_DEBUG,'IGLSMST: Section 2.',JPQUIET) C C Needs whole line of land sea mask with no adjustment C IF( (KLEN.EQ.KNWE).AND.(KFIRST.EQ.1) ) THEN JDCSIZE = (LENRAW(INDEX)*8+(JPBITS-1))/JPBITS JDCINDX = (INDEX-1)*JPRAWSZ+(KOFF/JPBITS) + 1 JDCPNT = MOD(KOFF,JPBITS) CALL INXBIT(NRAWMSK(JDCINDX), JDCSIZE, JDCPNT, X KLSM, KNWE, JPBITS, 1, 'D', JDCRET) IF( JDCRET.NE.0 ) THEN IGLSMST = JPROUTINE + 4 GOTO 900 ENDIF C ELSE C C Needs part of land sea mask array or different starting C point C C Unpack whole latitude C JDCSIZE = (LENRAW(INDEX)*8+(JPBITS-1))/JPBITS JDCINDX = (INDEX-1)*JPRAWSZ+(KOFF/JPBITS) + 1 JDCPNT = MOD(KOFF,JPBITS) CALL INXBIT(NRAWMSK(JDCINDX), JDCSIZE, JDCPNT, X JLSM, KLEN, JPBITS, 1, 'D', JDCRET) IF( JDCRET.NE.0 ) THEN IGLSMST = JPROUTINE + 4 GOTO 900 ENDIF C C Select required points C DO 220 JLON = 1, KNWE IPOINT = MOD(KLEN + KFIRST + KSTRIDE*(JLON-1) - 1, KLEN) + 1 KLSM(JLON) = JLSM(IPOINT) 220 CONTINUE ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF( NDBG.GT.2) CALL INTLOG(JP_DEBUG,'IGLSMST: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/request_defaults0000755000175000017500000000116112127406245023651 0ustar amckinstryamckinstryParameter Input Output --------- ----- ------ format grib grib area 0/0/0/0 0/0/0/0 scan 0 0 table 128 not_applicable uselsm parameter_dependent not_applicable usewind parameter_dependent not_applicable useprecip parameter_dependent not_applicable lsm_param parameter_dependent not_applicable emoslib-000392+dfsg.1/interpolation/jnorsgg.F0000755000175000017500000001000212127406245022121 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION JNORSGG( PLAT, PGGLAT, KNUM, KUP) C C----> C**** JNORSGG C C PURPOSE C _______ C C This routine determines which latitude row in a gaussian grid is C north or south of a given latitude. C C C INTERFACE C _________ C C I = JNORSGG( PLAT, PGGLAT, KNUM, KUP) C C C Input parameters C ________________ C C PLAT - Given latitude C PGGLAT - Array of gaussian grid latitudes (both north and south C values) C KNUM - Gaussian grid number C KUP - Indicator to say if the returned row number should be C north or south of the given latitude C = 0 for south, = 1 for north C C C Output parameters C ________________ C C Returned value is the latitude row number. C C C Common block usage C __________________ C C None C C C METHOD C ______ C C The nearest gaussian latitude row is found. C C C EXTERNALS C _________ C C None C C C REFERENCE C _________ C C None C C C COMMENTS C ________ C C All input values are assumed to be reasonable! C C C AUTHOR C ______ C C J.D.Chambers ECMWF Jan 1994 C C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Mar 1996 C Guess position to start search (an optimisation dodge) C C J.D.Chambers ECMWF Aug 1996 C Accept latitude if within 1000th of a degree of stored latitude. C C J.D.Chambers ECMWF Oct 1996 C Accept latitude if within 100th of a degree of stored latitude. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Function arguments C REAL PLAT, PGGLAT DIMENSION PGGLAT(*) INTEGER KNUM, KUP C C Local variables C INTEGER J202, NPOS, NPLAT, NGGLAT, IGUESS REAL JPFACTOR PARAMETER ( JPFACTOR = PPMULT/JPMICRO ) C REAL DELTA, OLDPLAT INTEGER IFIRST DATA IFIRST/0/, OLDPLAT/100.0/ SAVE IFIRST, DELTA, IGUESS, OLDPLAT, NPLAT C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C C Setup delta estimate between gaussian latitudes IF( IFIRST.NE. KNUM ) THEN IFIRST = KNUM DELTA = 90.0/FLOAT(KNUM-1) ENDIF C IF( OLDPLAT.NE.PLAT ) THEN OLDPLAT = PLAT IGUESS = INT( (90.0 - PLAT)/DELTA ) + 1 NPLAT = NINT(PLAT*JPFACTOR+0.5) ENDIF C _______________________________________________________ C C* Section 2. Processing. C _______________________________________________________ C 200 CONTINUE C C Check latitudes in the gaussian definition array CDIR$ NOVECTOR DO 202 J202 = IGUESS, 2*KNUM C Accept latitude if within 100th of a degree of stored latitude. NGGLAT = NINT(PGGLAT(J202)*JPFACTOR+0.5) IF ( NPLAT .GE. NGGLAT ) THEN IF ( NPLAT .EQ. NGGLAT ) THEN NPOS = J202 ELSE NPOS = J202 - KUP ENDIF GOTO 900 ENDIF 202 CONTINUE C C C On drop-through (e.g. for -90.0), use southernmost latitude NPOS = 2*KNUM C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C C Allow for latitude above northernmost in array (e.g. 90.0). IF ( NPOS .LT. 1 ) NPOS = 1 C JNORSGG = NPOS C RETURN END emoslib-000392+dfsg.1/interpolation/sources.hp0000755000175000017500000001013312127406245022362 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = \ jjset99.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/defaults_for_table_1280000755000175000017500000000104012127406245024504 0ustar amckinstryamckinstryParam lsm wind prec lsm interp ----- --- ---- ---- ---------- 131 y y n n # U 132 y y n n # V 142 y n y n # LSP 143 y n y n # CP 144 y n y n # SF 151 n n n n # MSL 165 y y n n # 10U 166 y y n n # 10V 172 n n n y # LSM 228 y n y n # TTP 239 y n y n # CSF 240 y n y n # LSF emoslib-000392+dfsg.1/interpolation/intlog.F0000755000175000017500000000713412127406245021760 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INTLOG(KLEVEL, MESSAGE, KNUM) C C----> C**** INTLOG C C PURPOSE C _______ C C This routine logs error messages. C C C INTERFACE C _________ C C CALL INTLOG(KLEVEL, MESSAGE, KNUM) C C C Input parameters C ________________ C C KLEVEL - Severity level for reported message C = 0 for debug C = 1 for information C = 2 for warning C = 3 for error C = 4 for fatal C MESSAGE - Message text C KNUM - Message number C C C Output parameters C ________________ C C None. C C C Common block usage C __________________ C C LDEBUG in /INTLOGC/ controls display of message C = 0 for no display C = 1 to display C C C Method C ______ C C Prints message and number if debug flag is 'on'. C C C Externals C _________ C C INTLOGT - sends any ERROR, FATAL or WARN message to the C MARS server. C C C Comments C ________ C C LDEBUG is toggled by a call to INTLOGD. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Jul 1995 C C C MODIFICATIONS C _____________ C C J.D.Chambers *ECMWF* March 1996 C Prepare error message for MARS server. C C C----< C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Subroutine arguments. C INTEGER KLEVEL, KNUM CHARACTER *(*) MESSAGE C #include "intlog.h" C C Local variables. C CHARACTER*79 NEWMESS INTEGER NLEV, LOOP CHARACTER*5 TITLE(JP_FATAL+1) DATA TITLE/'DEBUG', X 'INFO ', X 'WARN ', X 'ERROR', X 'FATAL'/ INTEGER IRET, ILEN C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C C Ensure valid level is used. NLEV = KLEVEL + 1 IF ( KLEVEL .GT. JP_FATAL) NLEV = JP_FATAL + 1 C DO LOOP = 1, 79 NEWMESS(LOOP:LOOP) = ' ' ENDDO C C ------------------------------------------------------------------ C* Section 2. Prepare ERROR or FATAL message for MARS server. C ------------------------------------------------------------------ C 200 CONTINUE C ILEN = LEN(MESSAGE) IF( ILEN.GT.65 ) ILEN = 65 NEWMESS(1:ILEN) = MESSAGE(1:ILEN) ILEN = ILEN + 1 IF(KNUM.NE.JPQUIET) THEN IF( ABS(KNUM).LT.1000 ) THEN WRITE(NEWMESS(ILEN:),'(I4)') KNUM ELSE IF ( ABS(KNUM).LT.100000 ) THEN WRITE(NEWMESS(ILEN:),'(I7)') KNUM ELSE IF ( ABS(KNUM).LT.100000000 ) THEN WRITE(NEWMESS(ILEN:),'(I10)') KNUM ELSE WRITE(NEWMESS(ILEN:),'(I15)') KNUM ENDIF ENDIF C C Send the message C IF( KLEVEL.GE.JP_WARN ) CALL INTLOGT(NEWMESS) C IF( LDEBUG ) WRITE(*,9001) TITLE(NLEV),NEWMESS(1:66) 9001 FORMAT('INTLOG ',A5,': ',A66) C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/irint.F0000755000175000017500000001325112127406245021606 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRINT (KWEDIST, KOWE, KNSDIST, KONS, PWFACT, 1 KPR, KERR) C C----> C**** *IRINT* C C PURPOSE C _______ C C Calculate the basic unnormalised interpolation weights when C interpolating from a quasi regular grid to a regular grid. C C INTERFACE C _________ C C IERR = IRINT (KWEDIST, KOWE, KNSDIST, KONS, PWFACT, KPR, KERR) C C Input parameters C ________________ C C KWEDIST - This array holds the distances to longitude values C in the input field from the associated longitude C values in the output field. This array is C dimensioned (2, KOWE, 2, KONS). C C KOWE - The number of points in the West-East direction in C the output field. C C KNSDIST - This array holds the distances to lines in input C field from the associated lines of latitude in the C output field. The array is dimensioned (2, KONS). C C KONS - The number of points in the North-South direction C in the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PWFACT - The unnormalised array of interpolating weights to C the four neighbouring points for every output point. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C IRINTR - Calculate the basic unnormalised interpolation C weights when interpolating from a quasi regular C grid to a regular grid for one line of latitude. C INTLOG(R) - Logs messages. C C METHOD C ______ C C The weights are formed by performing a linear fit along each C line of latitude. These two partial weights are normalised C before performing a linear fit along the line of meridian. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments INTEGER KOWE, KONS, KPR, KERR INTEGER KWEDIST (2, KOWE, 2, KONS), KNSDIST (2, KONS) REAL PWFACT (4, KOWE, KONS) C C Local variables INTEGER IPR, IERR INTEGER JOLAT INTEGER JPROUTINE PARAMETER (JPROUTINE = 23200) C C External functions INTEGER IRINTR C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRINT: Section 1.',JPQUIET) C IRINT = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRINT: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRINT: No.output longitudes = ',KOWE) CALL INTLOG(JP_DEBUG,'IRINT: No.output latitudes = ',KONS) ENDIF C C _______________________________________________________ C C* Section 2. Calculate arrays of weights C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRINT: Section 2.',JPQUIET) C C Main loop over latitudes C IPR = KPR C DO 220 JOLAT = 1, KONS C IERR = IRINTR (KWEDIST (1, 1, 1, JOLAT), KOWE, X KNSDIST (1, JOLAT), PWFACT (1, 1, JOLAT), IPR, KERR) C IF (IERR .GT. 0) THEN IRINT = IERR GO TO 900 ENDIF C IPR = KPR - 1 C 220 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRINT: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/sources.VPP50000000755000175000017500000000730412127406245022733 0ustar amckinstryamckinstryHEADERS= \ current.h \ debug.h \ grdynam.h \ grfixed.h \ grspace.h \ intf.h \ intlog.h \ jparams.h \ memreq.h \ ouspace.h \ parim.h VECTOR.F= \ intfau.F \ jacobif.F \ jagggp.F \ jallgp.F \ jsgggp.F \ jsllgp.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ jwindll.F \ rpassm.F \ sscal.F NO_OPT.F=dummy2.F SOURCES.F= \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsh2sh.F \ jspleg1.F \ jsppole.F \ juvpole.F \ jvod2uv.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ ppallow.F \ precip.F \ qpassm.F \ reset_c.F \ rphi.F \ set99.F \ sprotat.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dppp.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c= \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/freecf.F0000755000175000017500000000317712127406245021721 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE FREECF(KFLAG) C C----> C**** FREECF C C PURPOSE C _______ C C This routine sets the flag controlling handling of spectral C to grid interpolation coefficients memory. C C C INTERFACE C _________ C C CALL FREECF(KFLAG) C C Input parameters C ________________ C C KFLAG - Flag indicating whether flushing of memory is done or not C = 1 to turn on flushing C = any other value to turn off flushing (default) C C C Output parameters C ________________ C C None C C C Common block usage C __________________ C C JDCSPGP - flag LFREECF C C C Method C ______ C C Sets flags LFREECF and NFREECF C C C Externals C _________ C C None C C C Reference C _________ C C None C C C Comments C ________ C C None. C C C AUTHOR C ______ C C J.D.Chambers ECMWF March 1998 C C C MODIFICATIONS C _____________ C C None C C----< C IMPLICIT NONE C #include "jparam2.h" C C Subroutine arguments C INTEGER KFLAG C IF( KFLAG.EQ.1 ) THEN LFREECF = .TRUE. NFREECF = 11041967 ELSE LFREECF = .FALSE. NFREECF = 11041967 ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_064.h0000755000175000017500000000153012127406245022415 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG064(64) DATA QG064/ X 20, 30, 40, 48, X 54, 64, 72, 80, X 90, 90, 100, 108, X 120, 120, 128, 144, X 144, 144, 150, 160, X 160, 180, 180, 180, X 192, 192, 192, 200, X 200, 216, 216, 216, X 240, 240, 240, 240, X 240, 240, 240, 250, X 250, 250, 250, 256, X 256, 256, 256, 256, X 256, 256, 256, 256, X 256, 256, 256, 256, X 256, 256, 256, 256, X 256, 256, 256, 256 / emoslib-000392+dfsg.1/interpolation/jmvull.F0000755000175000017500000002014412127406245021771 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMVULL( PZFA, PNORTH, PSOUTH, PWEST, PLATINC, PLONINC, X PSTART,PDIFF, KROWS, KCOLS, KLON, KJPWR, POUTF) C C----> C**** JMVULL C C Purpose C _______ C C This routine moves grid point data from array PZFA to array POUTF. C It handles the case when the number of latitudes is different in C the two hemispheres. C C C Interface C _________ C C CALL JMVULL( PZFA, PNORTH, PSOUTH, PWEST, PLATINC, PLONINC, C X PSTART,PDIFF, KROWS, KCOLS, KLON, KJPWR, POUTF) C C C Input parameters C ________________ C C PZFA - Input array of grid points arranged in pairs of C north and south latitude bands C PNORTH - Northernmost latitude for field in POUTF (degrees) C PSOUTH - Southernmost latitude for field in POUTF (degrees) C PWEST - Westernmost longitude for field in POUTF (degrees) C PLATINC - Grid interval between latitudes in degrees in POUTF C PLONINC - Grid interval between longitudes in degrees in POUTF C PSTART - Current first latitude in PZFA (degrees) C PDIFF - Offset to first latitude in PZFA for moving (degrees) C KROWS - Number of latitude rows to store C KCOLS - Number of longitude points to store from latitude C KLON - Number of longitude points in generated latitude row C KJPWR - Multiplication factor applied to ensure that number C of longitude points > twice*spherical truncation C C C Output parameters C ________________ C C POUTF - output array of grid points C C C Common block usage C __________________ C C JDCNDBG C C C Method C ______ C C Moves latitude rows of points from PZFA into the correct C geographical positions in POUTF. POUTF may already be C partially full. The distribution is not symmetrical north-south. C C C Externals C _________ C C JMOVLL - Move points of symmetric grid to array C INTLOG - Logs messages C INTLOGR - Logs messages with real value. C C C Reference C _________ C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C C Comments C ________ C C POUTF is a 2-dimensional array, with first dimension = KCOLS. C C For calculation purposes, the number of longitude points C has to be greater than 2*(output truncation) to ensure that the C fourier transform is exact (see Reference, page 10). C Parameter JPLONO is set to 860 to ensure that PZFA will have C enough slots for the KLON points for all values of regular C grid intervals from N1 to N720. C C When filling the output array POUTF, the longitude points have C have to be taken selectively to avoid the intermediate generated C points, picking up values only at the required longitudes. The C magnification factor is KJPWR (a power of 2). C C PZFA has values stored: C North lat1: x, 1, x, 2, x, 3, x, ... , KLON, ... C South lat1: x, 1, x, 2, x, 3, x, ... , KLON, ... C North lat2: x, 1, x, 2, x, 3, x, ... , KLON, ... C South lat2: x, 1, x, 2, x, 3, x, ... , KLON, ... C ... for KROWS latitudes. C C The 'x' represents the extra values generated because of the C need for the number of points along a latitude line to be more C than twice the truncation of the spherical harmonics. C C C Author C ______ C C J.D.Chambers ECMWF Nov 1993 C C C Modifications C _____________ C C None C C----< C IMPLICIT NONE C C _______________________________________________________ C #include "jparams.h" #include "parim.h" C C Subroutine arguments INTEGER KROWS, KCOLS, KLON, KJPWR REAL PZFA, PNORTH, PWEST, PSOUTH, PLATINC, PLONINC, PSTART REAL PDIFF, POUTF DIMENSION PZFA( JPLONO+2, 64), POUTF( KCOLS, *) C C Parameters INTEGER JPROUTINE PARAMETER( JPROUTINE = 32100 ) C C Local variables INTEGER INROWS, NROWS, NFLAG INTEGER LATEST REAL ZTOP, ZBASE C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG,'JMVULL - Input parameters:',JPQUIET) CALL INTLOGR(JP_DEBUG, X 'JMVULL - Northern latitude for output = ', PNORTH) CALL INTLOGR(JP_DEBUG, X 'JMVULL - Southern latitude for output = ', PSOUTH) CALL INTLOGR(JP_DEBUG, X 'JMVULL - Western longitude for output = ', PWEST) CALL INTLOGR(JP_DEBUG, X 'JMVULL - Latitude grid interval (deg) = ', PLATINC) CALL INTLOGR(JP_DEBUG, X 'JMVULL - Longitude grid interval (deg) = ', PLONINC) CALL INTLOGR(JP_DEBUG, X 'JMVULL - First latitude for moving = ', PSTART) CALL INTLOGR(JP_DEBUG, X 'JMVULL - Offset to first lat. for moving = ', PDIFF) CALL INTLOG(JP_DEBUG, X 'JMVULL - Number of latitudes to store = ', KROWS) CALL INTLOG(JP_DEBUG, X 'JMVULL - Number of longitude pts per row = ', KCOLS) CALL INTLOG(JP_DEBUG, X 'JMVULL - No. long.pts per generated row = ', KLON) CALL INTLOG(JP_DEBUG, X 'JMVULL - Multiplication factor applied = ', KJPWR) ENDIF C LATEST = 1 ZTOP = PSTART ZBASE = PSTART - (KROWS - 1)*PLATINC INROWS = KROWS NROWS = INROWS C IF ( NDBG .GT. 1) THEN CALL INTLOGR(JP_DEBUG, X 'JMVULL - Current northernmost lat = ', ZTOP) CALL INTLOGR(JP_DEBUG, X 'JMVULL - Current southernmost lat = ', ZBASE) ENDIF C _______________________________________________________ C C* Section 2. Processing more North than South, or more South C than North. C _______________________________________________________ C 200 CONTINUE Cjdc IF ( ZTOP .GE. (-PSOUTH) ) THEN IF( (PNORTH.GT.(-PSOUTH)) .AND. (ZTOP .GE. (-PSOUTH)) ) THEN C C Move excess northern latitudes ... NROWS = NINT( ( ZTOP + PSOUTH )/PLATINC ) NROWS = MIN( NROWS, KROWS ) NFLAG = 1 C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVULL - Move excess north latitudes = ', NROWS) C CALL JMOVLL( PZFA, PNORTH, PWEST, PLATINC, PLONINC, ZTOP, NROWS, X KCOLS, KLON, KJPWR, POUTF, NFLAG) C ELSE C C Move excess southern latitudes ... NROWS = NINT( ( ZTOP - PNORTH )/PLATINC ) NROWS = MIN( NROWS, KROWS ) NFLAG = 2 C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVULL - Move excess south latitudes = ', NROWS) C CALL JMOVLL(PZFA, PNORTH, PWEST, PLATINC, PLONINC, PSTART, X NROWS, KCOLS, KLON, KJPWR, POUTF, NFLAG) ENDIF C ZTOP = ZTOP - (NROWS * PLATINC) LATEST = LATEST + (2 * NROWS) NROWS = INROWS - NROWS C _______________________________________________________ C C* Section 3. Processing latitudes common to both North and South. C _______________________________________________________ C 300 CONTINUE C C Move rows common to both if any left ... IF ( NROWS .GT. 0 ) THEN C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVULL - Move common latitudes(N & S) = ', NROWS) C NFLAG = 3 CALL JMOVLL( PZFA( 1, LATEST), PNORTH, PWEST, PLATINC, PLONINC, X ZTOP, NROWS, KCOLS, KLON, KJPWR, POUTF, NFLAG) ENDIF C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C C RETURN END emoslib-000392+dfsg.1/interpolation/jintll.F0000755000175000017500000002500212127406245021752 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JINTLL( KIBUFF, KLENI, PWEST, PEAST, PNORTH, PSOUTH, X PLATINC, PLONINC, KOBUFF, KLENO, KBITS, KRET) C C----> C**** JINTLL C C PURPOSE C _______ C C This routine converts spectral input fields to standard C lat/long grid fields. C C INTERFACE C _________ C C CALL JINTLL( KIBUFF, KLENI, PWEST, PEAST, PNORTH, PSOUTH, C X PLATINC, PLONINC, KOBUFF, KLENO, KBITS, KRET) C C Input parameters C ________________ C C KIBUFF - Array containing input spherical harmonic field C in GRIB format. C KLENI - Length in words of KIBUFF. C PWEST - Required area, west longitude(degrees) C PEAST - Required area, east longitude(degrees) C PNORTH - Required area, north latitude(degrees) C PSOUTH - Required area, south latitude(degrees) C PLATINC - Required latitude interval in degrees. C PLONINC - Required longitude interval in degrees. C KLENO - Length in words of KOBUFF. C KBITS - Number of bits to be used for packing values in KOBUFF. C C C Output parameters C ________________ C C KOBUFF - Array containing output spherical harmonic field C in GRIB format. C KLENO - Number of words of KOBUFF occupied by GRIB. C KRET - Return status code C 0 = OK C C C Common block usage C __________________ C C JDCNDGB C C C Method C ______ C C None. C C C Externals C _________ C C JDEBUG - Checks environment variable to switch on/off debug C GRIBEX - Decodes/encodes GRIB product C JALLGP - Transform from spherical harmonics to regular lat/long C grid. C JMEMHAN - Handles memory allocation. C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C C Reference C _________ C C None. C C C Comments C ________ C C If PWEST, PEAST, PNORTH, PSOUTH are all 0.0, then the area C defaults to global. C C If KBITS, the number of bits to be used for packing values, is C 0, the number of bits used in the input spectral field is used. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C IMPLICIT NONE #include "jparams.h" #include "parim.h" C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30300 ) C Arrays are dimensioned to accommodate spectral T639 data and C maximum resolution of (0.5 * 0.5) deg. INTEGER JPACK, JPMLAT, JPMLON PARAMETER (JPACK=420000) PARAMETER (JPMLAT=361) PARAMETER (JPMLON=720) C C Subroutine arguments INTEGER KIBUFF, KLENI, KOBUFF, KLENO, KBITS, KRET DIMENSION KIBUFF(KLENI) DIMENSION KOBUFF(*) REAL PWEST, PEAST, PNORTH, PSOUTH, PLATINC, PLONINC C C Local variables REAL NORTH, SOUTH, EAST, WEST INTEGER IPUNP, ITRUNC, NBITS INTEGER ISEC0, ISEC1, ISEC2, ISEC3, ISEC4 REAL ZSEC2, ZSEC3, ZSEC4 #ifdef POINTER_64 INTEGER*8 IZOUTBF #endif REAL ZOUTBF POINTER ( IZOUTBF, ZOUTBF ) DIMENSION ZOUTBF( 1 ) INTEGER ILAT, ILON, IWORD C C Array for integer parameters from section 0 of GRIB message. DIMENSION ISEC0(JPGRIB_ISEC0) C C Array for integer parameters from section 1 of GRIB message. DIMENSION ISEC1(JPGRIB_ISEC1) C C Array for integer parameters from section 2 of GRIB message. DIMENSION ISEC2(JPGRIB_ISEC2) C C Array for integer parameters from section 3 of GRIB message. DIMENSION ISEC3(JPGRIB_ISEC3) C C Array for integer parameters from section 4 of GRIB message. DIMENSION ISEC4(JPGRIB_ISEC4) C C Array for real parameters from section 2 of GRIB message. DIMENSION ZSEC2(JPGRIB_RSEC2) C C Array for real parameters from section 3 of GRIB message. DIMENSION ZSEC3(JPGRIB_RSEC3) C C Array for real parameters from section 4 of GRIB message. C This is the binary data section and the array to hold C the unpacked data may need to be 4 times as long as that C for the packed data. C DIMENSION ZSEC4(JPACK) C C _______________________________________________________ C C* Section 1. Unpack the input GRIB product. C _______________________________________________________ C 100 CONTINUE C CALL JDEBUG( ) C IF ( NDBG .GT. 0) THEN CALL INTLOG(JP_DEBUG,'JINTLL - Input parameters:',JPQUIET) DO 101 NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ',KIBUFF( NDBGLP )) 101 CONTINUE CALL INTLOG(JP_DEBUG, X 'JINTLL - Length(words) of input product = ', KLENI) CALL INTLOGR(JP_DEBUG, X 'JINTLL - Required area, west long(deg) = ', PWEST) CALL INTLOGR(JP_DEBUG, X 'JINTLL - Required area, east long(deg) = ', PEAST) CALL INTLOGR(JP_DEBUG, X 'JINTLL - Required area, north lat(deg) = ', PNORTH) CALL INTLOGR(JP_DEBUG, X 'JINTLL - Required area, south lat(deg) = ', PSOUTH) CALL INTLOGR(JP_DEBUG, X 'JINTLL - Latitude grid interval (deg) = ', PLATINC) CALL INTLOGR(JP_DEBUG, X 'JINTLL - Longitude grid interval (deg) = ', PLONINC) CALL INTLOG(JP_DEBUG, X 'JINTLL - Length in words of KOBUFF = ', KLENO) CALL INTLOG(JP_DEBUG, X 'JINTLL - Number of bits for packing = ', KBITS) ENDIF C #ifdef CRAY IPUNP = JPACK*8 #else IPUNP = JPACK*4 #endif C IF ( NDBG .GT. 0) CALL GRSDBG(1) C KRET = 1 CALL GRIBEX (ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, X ZSEC4,IPUNP,KIBUFF,KLENI,IWORD,'D',KRET) C IF ( NDBG .GT. 0) CALL INTLOG(JP_DEBUG, X 'JINTLL - Return from GRIBEX decoding = ', KRET) C C Check return code. IF (KRET.GT.0) GOTO 900 C C Set number of bits to same as input if user did not give a number IF ( KBITS .LE. 0 ) THEN NBITS = ISEC4(2) ELSE NBITS = KBITS ENDIF C _______________________________________________________ C C* Section 2. Interpolate to a latitude/longitude grid. C _______________________________________________________ C 200 CONTINUE C C Setup geographical limits IF ( (PWEST.EQ.0.0) .AND. (PEAST.EQ.0.0) .AND. X (PNORTH.EQ.0.0) .AND. (PSOUTH.EQ.0.0) ) THEN NORTH = 90.0 SOUTH = -90.0 WEST = 0.0 EAST = 360.0 - PLONINC ELSE WEST = PWEST EAST = PEAST NORTH = PNORTH SOUTH = PSOUTH ENDIF C C Use input truncation ITRUNC = ISEC2(2) C IF ( NDBG .GT. 0) THEN CALL INTLOG(JP_DEBUG,'JINTLL - WEST = ', WEST) CALL INTLOG(JP_DEBUG,'JINTLL - EAST = ', EAST) CALL INTLOG(JP_DEBUG,'JINTLL - NORTH = ', NORTH) CALL INTLOG(JP_DEBUG,'JINTLL - SOUTH = ', SOUTH) CALL INTLOG(JP_DEBUG,'JINTLL - ITRUNC = ', ITRUNC) ENDIF C ILAT = NINT( (EAST - WEST)/PLATINC ) + 1 ILON = NINT( (NORTH - SOUTH)/PLONINC ) + 1 IPUNP = ILAT * ILON C IF ( NDBG .GT. 0) THEN CALL INTLOG(JP_DEBUG,'JINTLL - Number of lat. points = ', ILAT) CALL INTLOG(JP_DEBUG,'JINTLL - Number of long.points = ', ILON) CALL INTLOG(JP_DEBUG,'JINTLL - Total no.of grid pnts = ', IPUNP) ENDIF C C Allocate memory for scratch array. CALL JMEMHAN( 1, IZOUTBF, IPUNP, 1, KRET) IF ( KRET .NE. 0 ) THEN KRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR,'JINTLL - Memory allocation failed',KRET) GOTO 900 ENDIF C CALL JALLGP( ZSEC4, ITRUNC, NORTH, SOUTH, WEST, EAST, X PLATINC, PLONINC, ZOUTBF, KRET) C IF ( KRET .NE. 0 ) GOTO 900 C C _______________________________________________________ C C* Section 3. Pack the output GRIB product. C _______________________________________________________ C 300 CONTINUE C C ISEC1(4) = 255 ISEC1(5) = 128 ISEC1(19) = 0 ISEC1(20) = 0 C ISEC2(1) = 0 ISEC2(2) = ILAT ISEC2(3) = ILON ISEC2(4) = ( NORTH * 1000.0 ) ISEC2(5) = ( WEST * 1000.0 ) IF ( ISEC2(5) .LT. 0 ) ISEC2(5) = 360000 + ISEC2(5) IF ( ISEC2(5) .GT. 360000 ) ISEC2(5) = ISEC2(5) - 360000 ISEC2(6) = 128 ISEC2(7) = ( SOUTH * 1000.0 ) ISEC2(8) = ( EAST * 1000.0 + 0.5 ) IF ( ISEC2(8) .LT. 0 ) ISEC2(8) = 360000 + ISEC2(8) IF ( ISEC2(8) .GT. 360000 ) ISEC2(8) = ISEC2(8) - 360000 ISEC2(9) = NINT( PLONINC * 1000.0 ) ISEC2(10) = NINT( PLATINC * 1000.0 ) ISEC2(11) = 0 ISEC2(17) = 0 C ISEC4(1) = IPUNP ISEC4(2) = NBITS ISEC4(3) = 0 ISEC4(4) = 0 ISEC4(5) = 0 ISEC4(6) = 0 ISEC4(8) = 0 ISEC4(9) = 0 ISEC4(10) = 0 ISEC4(11) = 0 C IF ( NDBG .GT. 0) CALL GRSDBG(1) C KRET = 1 CALL GRIBEX (ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, X ZOUTBF,IPUNP,KOBUFF,KLENO,KLENO,'C',KRET) C C Check return code. IF ( NDBG .GT. 0) X CALL INTLOG(JP_DEBUG,'JINTLL - status GRIBEX coding = ', KRET) C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/interpolation/jopnllf.F0000755000175000017500000002600412127406245022125 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JOPNLLF( IALEG, PINTVL, KTRUNC, KUNIT, PBUILD, KRET) C C----> C**** JOPNLLF C C Purpose C _______ C C This routine finds a file of legendre polynomials corresponding C to a given grid interval and truncation, allocates memory, reads C the coefficients into the memory and returns a unit number. C C Interface C _________ C C CALL JOPNLLF( IALEG, PINTVL, KTRUNC, KUNIT, PBUILD, KRET) C C Input parameters C ________________ C C PINTVL - Grid interval in degrees C KTRUNC - Spherical truncation C C Output parameters C _________________ C C IALEG - Pointer for memory array for legendre coefficients C KUNIT - Unit number from PBOPEN C 0 , open failed C PBUILD - Grid interval used to build the legendre C coefficients file (degrees) C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C Uses common JDCSPGP for size NISIZE6 C C Method C ______ C C Builds a file name from the truncation and grid interval and C tries to open a file of that name. C C If the file is already open (from a previous call), the C previous unit number is returned. C If a different file is already open (from a previous call), the C the existing file is closed. C C If no file can be located, a file is created. Memory is dynamically C allocted and the coefficients are read into the memory array. C C Externals C _________ C C PBOPEN3 - Open binary file and return unit number C PBREAD3 - Read binary file C PBCLOSE3 - Close binary file C JFINDIR - Find the file of legendre coefficients C JMAKLL - Makes a file of legendre coefficients C INTLOG - Output log message C JCHMOD - Change file permissions C RENAME - Rename file C C Reference C _________ C C NONE C C Comments C ________ C C The Legendre polynomials for the transforms may be held in C a ready-made file whose name is held in an environment variable: C cf_txxxx_raabbbbb Txxxx aa.bbbbb degrees C For example, C cf_t0213_r0050000 T213 0.5 degrees C cf_t0106_r0250000 T106 2.5 degrees C C On the C90, the file of polynomials may be cached in /owrk/marsint C C Otherwise the file is located in (or will be created in) the first C directory given by one of the following (in the order listed, if C they exist): C environment variable PPDIR C or C the current working directory. C C Author C ______ C C J.D.Chambers *ECMWF* Jun 1996 C C Modifications C _____________ C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" #include "jparams.h" #include "jparam2.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30910 ) C C Subroutine arguments C REAL PINTVL, PBUILD INTEGER KTRUNC, KUNIT, KRET C C Local variables C INTEGER IRET, IOFFSET, ISIZE, NPBYTES INTEGER*8 IRET1, ITEMP CHARACTER*12 YFLAG #ifdef REAL_8 DATA NPBYTES/8/ #else DATA NPBYTES/4/ #endif LOGICAL LFOUND CHARACTER*256 DIRNAME CHARACTER*256 FILENAME, FILEDUM CHARACTER*512 FULLPATH CHARACTER*20 YPFN #ifdef REAL_8 DATA YPFN/'CF_Txxxx_Raabbbbb'/ #else DATA YPFN/'cf_txxxx_raabbbbb'/ #endif INTEGER NUNIT DATA NUNIT/0/ #ifdef POINTER_64 INTEGER*8 IALEG #endif REAL ALEG DIMENSION ALEG(1) POINTER ( IALEG, ALEG ) C SAVE NUNIT C C Externals C LOGICAL JFINDIR LOGICAL JFINDFN3 INTEGER JCHMOD, RENAME C C _______________________________________________________ C C* Section 1. See if required file already in use. C _______________________________________________________ C 100 CONTINUE C C Setup the filename: cf_txxxx_raabbbbb C WRITE(YPFN(5:8),'(I4.4)') KTRUNC WRITE(YPFN(11:17),'(I7.7)') NINT(PINTVL*JPMULT) CALL INTLOG(JP_DEBUG, X 'JOPNLLF: Coefficients file to open is:', JPQUIET) CALL INTLOG(JP_DEBUG, YPFN, JPQUIET) PBUILD = PINTVL C C If file already open, return the existing unit number C IF( YPFN.EQ.YOLDLL ) THEN CALL INTLOG(JP_DEBUG,'JOPNLLF: File already open.',JPQUIET) KUNIT = NUNIT GOTO 900 ENDIF C C Otherwise, ensure existing unit is closed C IF( NUNIT.NE.0 ) THEN CALL PBCLOSE3(NUNIT, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JOPNLLF: PBCLOSE3 error',IRET) KRET = JPROUTINE + 1 GOTO 990 ENDIF NUNIT = 0 ENDIF C _______________________________________________________ C C* Section 2. See if the file has already been created. C _______________________________________________________ C 200 CONTINUE C C Set appropriate build inteval C WRITE(YPFN(11:17),'(I7.7)') NINT(PBUILD*JPMULT) C IOFFSET = INDEX(YPFN,' ') - 1 FILENAME = YPFN(1:IOFFSET) C LFOUND = JFINDIR('PPDIR', DIRNAME) IF( LFOUND ) THEN LFOUND = JFINDFN3(DIRNAME,FILENAME,IOFFSET,NUNIT) IF( LFOUND ) GOTO 500 ENDIF C C Try present working directory C IOFFSET = INDEX(YPFN, ' ') - 1 FILENAME = YPFN(1:IOFFSET) CALL PBOPEN3( NUNIT, FILENAME(1:IOFFSET), 'r', IRET) IF( IRET.EQ.0 ) GOTO 500 C _______________________________________________________ C C* Section 3. File doesn't exist, find a suitable directory for it. C _______________________________________________________ C 300 CONTINUE C LFOUND = JFINDIR('PPDIR', DIRNAME) IF ( LFOUND ) THEN IOFFSET = INDEX(DIRNAME, ' ') - 1 FULLPATH = DIRNAME(1:IOFFSET) // '/' // FILENAME IOFFSET = INDEX(FULLPATH, ' ') - 1 FILENAME(1:IOFFSET) = FULLPATH(1:IOFFSET) FILEDUM(1:IOFFSET) = FILENAME(1:IOFFSET) #ifdef REAL_8 FILEDUM(IOFFSET-16:IOFFSET-15) = 'XX' #else FILEDUM(IOFFSET-16:IOFFSET-15) = 'xx' #endif CALL PBOPEN3(NUNIT, FILEDUM(1:IOFFSET), 'w', IRET) IF( IRET.EQ.0 ) GOTO 400 ENDIF C C Try present working directory C IOFFSET = INDEX(YPFN,' ') - 1 FILENAME = YPFN(1:IOFFSET) FILEDUM(1:IOFFSET) = FILENAME(1:IOFFSET) #ifdef REAL_8 FILEDUM(IOFFSET-16:IOFFSET-15) = 'XX' #else FILEDUM(IOFFSET-16:IOFFSET-15) = 'xx' #endif CALL PBOPEN3(NUNIT, FILEDUM(1:IOFFSET), 'w', IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: PBOPEN3 error.',IRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF C _______________________________________________________ C C* Section 4. Create the coefficients file. C _______________________________________________________ C 400 CONTINUE C C Let user know that a new file is being created. C IOFFSET = INDEX(FILENAME, ' ') - 1 CALL INTLOG(JP_DEBUG,'JOPNLLF: Creating new coefficients file:', X JPQUIET) CALL INTLOG(JP_DEBUG,FILENAME(1:IOFFSET), JPQUIET) C C Change access mode to 'read only' for all users. C IRET = JCHMOD(FILEDUM(1:IOFFSET),'0444') IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: JCHMOD error.',IRET) KRET = JPROUTINE + 3 GOTO 990 ENDIF C C Allocate memory for the array used in making the file C ISIZE = (KTRUNC+1)*(KTRUNC+4)*(NINT(90.0/PBUILD)+1)/2 IF( ISIZE.GT.NISIZE6 ) THEN CALL JMEMHAN( 6, IALEG, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: memory allocation error',IALEG) KRET = JPROUTINE + 3 GOTO 990 ENDIF NISIZE6 = ISIZE ENDIF C C Make coefficients file C CALL JMAKLL3( NUNIT, KTRUNC, PBUILD, 0.0, ALEG, KRET) IF ( KRET .NE. 0 ) GOTO 990 C C De-allocate memory for the array used in making the file C CALL JMEMHAN( 6, IALEG, ISIZE, 0, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: memory dealloc error',IALEG) KRET = JPROUTINE + 4 GOTO 990 ENDIF NISIZE6 = 0 C C Close rename it, re-open for reading, leave it open. C CALL PBCLOSE3( NUNIT, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: PBCLOSE3 error.',IRET) KRET = JPROUTINE + 5 GOTO 990 ENDIF NUNIT=0 C IRET = RENAME(FILEDUM(1:IOFFSET),FILENAME(1:IOFFSET)) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: RENAME of file failed',JPQUIET) KRET = JPROUTINE + 5 GOTO 990 ENDIF C CALL PBOPEN3( NUNIT, FILENAME(1:IOFFSET), 'r', IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: PBOPEN3 error.',IRET) KRET = JPROUTINE + 6 GOTO 990 ENDIF C _______________________________________________________ C C* Section 5. File now open with read access. C _______________________________________________________ C 500 CONTINUE C C Allocate memory for the file and read it into memory C ISIZE = (KTRUNC+1)*(KTRUNC+4)*(NINT(90.0/PBUILD)+1)/2 IF( ISIZE.GT.NISIZE6 ) THEN CALL JMEMHAN2( 6, IALEG, ISIZE, 1, KRET) cs CALL JMEMHAN( 6, IALEG, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: memory allocation error',IALEG) KRET = JPROUTINE + 7 GOTO 990 ENDIF NISIZE6 = ISIZE ENDIF ITEMP = ISIZE ITEMP = ITEMP*8 C CALL GETENV('USE_PBREAD4', YFLAG) IF(YFLAG(1:1).EQ.'1') THEN CALL PBREAD4(NUNIT, ALEG, ITEMP, IRET1) ELSE print*,'PBREAD5 ',ITEMP CALL PBREAD5(NUNIT, ALEG, ITEMP, IRET1) ENDIF C IF( IRET1.NE.ITEMP ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: PBREAD5 error.',IRET1) KRET = JPROUTINE + 8 GOTO 990 ENDIF cs CALL PBREAD3(NUNIT, ALEG, (ISIZE*NPBYTES), IRET) cs IF( IRET.NE.(ISIZE*NPBYTES) ) THEN cs CALL INTLOG(JP_FATAL,'JOPNLLF: PBREAD3 error.',IRET) cs KRET = JPROUTINE + 8 cs GOTO 990 cs ENDIF C C The file is no longer required C CALL PBCLOSE3( NUNIT, IRET) IF ( IRET .NE. 0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLLF: PBCLOSE3 error.',IRET) NUNIT = 0 KRET = JPROUTINE + 9 GOTO 990 ENDIF NUNIT=0 C KUNIT = NUNIT YOLDLL = YPFN C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C KRET = 0 C 990 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/chkout.F0000755000175000017500000000150212127406245021752 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION CHKOUT() C C----> C*****CHKOUT* C C PURPOSE C ------- C check if intout has been called C LINTOUT - Flag to say whether or not intout has been called C C Function argument C #include "parim.h" #include "nofld.common" CHKOUT = 0 IF(LINTOUT) THEN CHKOUT = 1 CALL INTLOG(JP_DEBUG,'CHKOUT: INTOUT has been called' X ,JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/igdiwe.F0000755000175000017500000002450712127406245021737 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGDIWE (KILONG, KIWE, KOLONG, KOWE, OWEGLOBE, 1 KWEIND, KWEDIST, KPR, KERR) C C----> C**** *IGDIWE* C C PURPOSE C _______ C C Calculate the distances between points in an output longitude C array and its West and East neighbours in the input longitude C array. C C INTERFACE C _________ C C IERR = IGDIWE (KILONG, KIWE, KOLONG, KOWE, OWEGLOBE, KWEIND, C 1 KWEDIST, KPR, KERR) C C Input parameters C ________________ C C KILONG - The array of input longitudes. C C KIWE - The number of points in the West-East direction in C the input field. C C KOLONG - The array of output longitudes. C C KOWE - The number of points in the West-East direction in C the output field. C C OWEGLOBE - This variable will be true if the input array of C longitudes spans the globe. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KWEIND - This array will contain the array offsets of the C West and East points in the input array required C for interpolation. C C KWEDIST - This array holds the distances to longitude values C in the input field from the associated longitude C values in the output field. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 24601 An output longitude was found that was outside the range C spanned by the input longitudes. C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C This routine will create the arrays of offsets and distance C as two arrays of length (2, Number of output longitudes). C This will be used for all latitude rows when both the input C and output grids are regular. C C This routine is used to provide the values for one line of C latitude for quasi regular Gaussian input fields. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments LOGICAL OWEGLOBE INTEGER KIWE, KOWE, KPR, KERR INTEGER KILONG (KIWE + 1), KOLONG (KOWE) INTEGER KWEIND (2, KOWE), KWEDIST (2, KOWE) C C Local variables INTEGER IBASE, ILOW, IUP INTEGER JINP, JOUT INTEGER JPROUTINE PARAMETER (JPROUTINE = 24600) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGDIWE: Section 1.',JPQUIET) C IGDIWE = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IGDIWE: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGDIWE: No.input fld pts = ',KIWE) CALL INTLOG(JP_DEBUG,'IGDIWE: No.output fld pts = ',KOWE) CALL INTLOG(JP_DEBUG,'IGDIWE: Input fld spread from ',KILONG(1)) CALL INTLOG(JP_DEBUG,'IGDIWE: to ',KILONG(KIWE)) CALL INTLOG(JP_DEBUG,'IGDIWE: Output spread from ',KOLONG(1)) CALL INTLOG(JP_DEBUG,'IGDIWE: to ',KOLONG(KOWE)) IF( OWEGLOBE ) THEN CALL INTLOG(JP_DEBUG, X 'IGDIWE: Input W-E fld is global',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IGDIWE: Input W-E fld is NOT global',JPQUIET) ENDIF ENDIF C C _______________________________________________________ C C* Section 2. Select points around a line of latitude. C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGDIWE: Section 2.',JPQUIET) C IF (OWEGLOBE) THEN C DO 230 JINP = 1, KIWE C C NOTE that point number 1 is repeated as point KIWE + 1 C to simplify the wrap around case C ILOW = KILONG (JINP) IUP = KILONG (JINP + 1) C IF (IUP .GT. ILOW) THEN C C Normal case IUP > ILOW C DO 210 JOUT = 1, KOWE C IF (KOLONG(JOUT).GE.ILOW .AND. KOLONG(JOUT).LT.IUP) THEN C C Longitude point found C KWEIND (JP_I_W, JOUT) = JINP C IF (JINP .LT. KIWE) THEN KWEIND (JP_I_E, JOUT) = JINP + 1 ELSE KWEIND (JP_I_E, JOUT) = 1 ENDIF C KWEDIST (JP_I_W, JOUT) = KOLONG (JOUT) - ILOW KWEDIST (JP_I_E, JOUT) = IUP - KOLONG (JOUT) C ENDIF C 210 CONTINUE C ELSE C C Wrap around case C DO 220 JOUT = 1, KOWE C IF (KOLONG (JOUT) .GE. ILOW) THEN C C Longitude point found between ILOW and 3600000 C KWEIND (JP_I_W, JOUT) = JINP C IF (JINP .LT. KIWE) THEN KWEIND (JP_I_E, JOUT) = JINP + 1 ELSE KWEIND (JP_I_E, JOUT) = 1 ENDIF C KWEDIST (JP_I_W, JOUT) = KOLONG (JOUT) - ILOW KWEDIST (JP_I_E, JOUT) = IUP + JP360 - KOLONG (JOUT) C ENDIF C Cjdc IF (KOLONG (JOUT) .LT. IUP) THEN IF (KOLONG (JOUT) .LE. IUP) THEN C C Longitude point found between 0 and IUP C KWEIND (JP_I_W, JOUT) = JINP C IF (JINP .LT. KIWE) THEN KWEIND (JP_I_E, JOUT) = JINP + 1 ELSE KWEIND (JP_I_E, JOUT) = 1 ENDIF C KWEDIST (JP_I_W, JOUT) = KOLONG (JOUT) + JP360 - ILOW KWEDIST (JP_I_E, JOUT) = IUP - KOLONG (JOUT) C ENDIF C 220 CONTINUE C ENDIF C 230 CONTINUE C ELSE C C Pointer to last point found if input grid is not global C IBASE = 1 C DO 250 JOUT = 1, KOWE C DO 240 JINP = IBASE, KIWE - 1 C ILOW = KILONG (JINP) IUP = KILONG (JINP + 1) C C Normal case IUP > ILOW C Cjdc IF (KOLONG(JOUT).GE.ILOW .AND. KOLONG(JOUT).LT.IUP) THEN IF (KOLONG(JOUT).GE.ILOW .AND. KOLONG(JOUT).LE.IUP) THEN C C Longitude point found C KWEIND (JP_I_W, JOUT) = JINP KWEIND (JP_I_E, JOUT) = JINP + 1 IBASE = JINP C KWEDIST (JP_I_W, JOUT) = KOLONG (JOUT) - ILOW KWEDIST (JP_I_E, JOUT) = IUP - KOLONG (JOUT) C GO TO 250 C C Wrap around case C ELSE IF (IUP .LT. ILOW) THEN C IF (KOLONG (JOUT) .GE. ILOW) THEN C C Longitude point found between ILOW and 3600000 C KWEIND (JP_I_W, JOUT) = JINP KWEIND (JP_I_E, JOUT) = JINP + 1 IBASE = JINP C KWEDIST (JP_I_W, JOUT) = KOLONG (JOUT) - ILOW KWEDIST (JP_I_E, JOUT) = IUP + JP360 - KOLONG (JOUT) C GO TO 250 C ENDIF C Cjdc IF (KOLONG (JOUT) .LT. IUP) THEN IF (KOLONG (JOUT) .LE. IUP) THEN C C Longitude point found between 0 and IUP C KWEIND (JP_I_W, JOUT) = JINP KWEIND (JP_I_E, JOUT) = JINP + 1 IBASE = JINP C KWEDIST (JP_I_W, JOUT) = KOLONG (JOUT) + JP360 - ILOW KWEDIST (JP_I_E, JOUT) = IUP - KOLONG (JOUT) C GO TO 250 C ENDIF C ENDIF C 240 CONTINUE C C This statement will be reached if the output grid does not C fit within the input grid. C IGDIWE = JPROUTINE + 1 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IGDIWE: Output long. value number = ',JOUT) CALL INTLOGR(JP_ERROR, X 'IGDIWE: Output long. value ',REAL(KOLONG(JOUT))/PPMULT) CALL INTLOGR(JP_ERROR, X 'IGDIWE: outside input range = ',REAL(KILONG(1))/PPMULT) CALL INTLOGR(JP_ERROR, X 'IGDIWE: to ',REAL(KILONG(KIWE))/PPMULT) ENDIF C IF (KERR .EQ. 0) CALL INTLOGR(JP_FATAL, X 'IGDIWE: Interpolation failing.',IGDIWE) C GO TO 900 C 250 CONTINUE C ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGDIWE: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/jparams.h0000755000175000017500000000276212127406245022165 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C Parameters C INTEGER JP32, JPLONO, J2NFFT, JPFFT, JPLOOK, JPMAX, JPMAXITER INTEGER JPMXTRY, JPTRNC, JPK, JPTRP1 PARAMETER ( JP32 = 32 ) C C The following value for JPLONO (2560) will handle regular grids C from N1 to N720 derived from spectral truncations from T1 to C T639. C Cjdc PARAMETER ( JPLONO = 2560 , J2NFFT = 2 + JPLONO, JPFFT = 12000) c PARAMETER ( JPLONO = 6000 , J2NFFT = 2 + JPLONO, JPFFT = 12000) PARAMETER ( JPLONO = 8200 , J2NFFT = 2 + JPLONO, JPFFT = 12000) PARAMETER ( JPLOOK = 50) PARAMETER ( JPMAX = 2048 ) PARAMETER ( JPMAXITER = 10) PARAMETER ( JPMXTRY = 3 ) PARAMETER ( JPTRNC = 2047, JPK = (JPTRNC + 1)*(JPTRNC + 4) ) PARAMETER ( JPTRP1 = (JPTRNC + 1) ) C REAL PPEPSA, PPQUART, PPHALF, PPTWO, PP90 PARAMETER ( PPEPSA = 1.0E-6) PARAMETER ( PPQUART = 0.25E0) PARAMETER ( PPHALF = 0.5E0) PARAMETER ( PPTWO = 2.0E0) PARAMETER ( PP90 = 90.0E0) C REAL PPI PARAMETER ( PPI = 3.14159265358979 ) C C Debug parameters C INTEGER NDBG, NDBGLP COMMON /JDCNDBG/ NDBG, NDBGLP emoslib-000392+dfsg.1/interpolation/intlog.h0000755000175000017500000000073712127406245022024 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C Common block. COMMON /INTLOGC/ LDEBUG SAVE /INTLOGC/ LOGICAL LDEBUG emoslib-000392+dfsg.1/interpolation/bitmap.h0000755000175000017500000000212312127406245021773 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef BITMAP_H #define BITMAP_H #ifdef INTEGER_IS_LONG #define fortint long #else #define fortint int #endif #ifdef FORTRAN_NO_UNDERSCORE #define MAKEMAP makemap #define SHOWMAP showmap #define GMAPBIT gmapbit #else #define MAKEMAP makemap_ #define SHOWMAP showmap_ #define GMAPBIT gmapbit_ #endif int MAKEMAP(char * , int * , int * , char ** , int ); void SHOWMAP(char ** , int * , int * ); int GMAPBIT( char ** , int * , int * , int * ); int findNumber(char * , int , int , int * , char ); char findDelimiter(char * , int , int ); int findCharacter(char * , int , int , char ); void setBit(char * , int , int , int , int ); void copyRow(char * , int , int , int , int ); #endif /* End of BITMAP_H */ emoslib-000392+dfsg.1/interpolation/strlat.F0000755000175000017500000000736212127406245022000 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE STRLAT( OLDLAT, STRETCH, KFLAG, NEWLAT, MFACTOR) C C----> C**** STRLAT C C PURPOSE C _______ C C This routine transforms between stretched and real latitudes C and calculates the map factor. C C INTERFACE C _________ C C CALL STRLAT( OLDLAT, STRETCH, KFLAG, NEWLAT, MFACTOR) C C Input parameters C ________________ C C OLDLAT - Input latitude C STRETCH - Stretching factor C KFLAG - Flag to show direction of transform (real <-> stretched) C 0 = transform from real latitudes to stretched latitudes C 1 = transform from stretched latitudes to real latitudes C C Output parameters C ________________ C C NEWLAT - Input latitude C MFACTOR - Map factor C C C Common block usage C __________________ C C None C C Method C ______ C C Stretching factor S C C Map factor, m = S**2 + 1 + (S**2 -1)*mu C ----------------------- C 2*S C C where mu = sin(lat) on the real sphere C C mu = (S**2+1)*md + (S**2-1) C ---------------------- C (S**2+1) + (S**2-1)*md C C where md = sin(lat) on the stretched sphere. C C By rearrangement: C C md = (S**2+1)*mu - (S**2-1) C ---------------------- C (S**2+1) - (S**2-1)*mu C C Wind U and V components are transformed as C C vreal = m * vtransformed C C Vorticity and divergence fields are transformed as C C vreal = (m*m) * vtransformed C C C Externals C _________ C C None C C C Reference C _________ C C None C C C Comments C ________ C C None. C C C AUTHOR C ______ C C J.D.Chambers ECMWF July 1999 C C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C IMPLICIT NONE C C Subroutine arguments C REAL OLDLAT, STRETCH, NEWLAT, MFACTOR, MSCALE INTEGER KFLAG C C Parameters C INTEGER JPRL2TR PARAMETER (JPRL2TR = 0) REAL PPI, DEG2RAD, RAD2DEG PARAMETER ( PPI = 3.14159265358979 ) PARAMETER (DEG2RAD = PPI / 180.0) PARAMETER (RAD2DEG = 180.0 / PPI) C C Local variables C REAL A, B, ANGLE, MU, MUPRIME C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C A = STRETCH * STRETCH + 1 B = A - 2 ANGLE = OLDLAT * DEG2RAD C C _______________________________________________________ C C* Section 2. Work out geometry C _______________________________________________________ C 200 CONTINUE C C Transform from real latitudes to stretched latitudes C IF( KFLAG.EQ.JPRL2TR ) THEN MUPRIME = SIN(ANGLE) MU = (A*MUPRIME + B) / (A + B*MUPRIME) NEWLAT = ASIN(MU) * RAD2DEG C C Transform from stretched latitudes to real latitudes C ELSE MU = SIN(ANGLE) MUPRIME = (A*MU - B) / (A - B*MU) NEWLAT = ASIN(MUPRIME) * RAD2DEG ENDIF C C Calculate the map factor C MFACTOR = (A + B*MU) / (2*STRETCH) C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C RETURN END emoslib-000392+dfsg.1/interpolation/krg2rgd.F0000755000175000017500000001777712127406245022044 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION KRG2RGD(OLDFLD, NEWFLD, NUMME, NUMGG) C C----> C**** KRG2RG C C Purpose C ------- C C Interpolate a field based on one reduced gaussian grid to a C field based on a different reduced gaussian grid, using C intermediate interpolation C C C Interface C --------- C C IRET = KRG2RGD(OLDFLD, NEWFLD, NUMME, NUMGG) C C Input C ----- C C OLDFLD - Old field in GRIB format C NUMME - Number of the intermediate gaussian field C NUMGG - Number of the new gaussian field C C C Output C ------ C C NEWFLD - New field in GRIB format C C Function returns: C - the size in bytes of the new GRIB product if all is well C - -1, otherwise. C C C Method C ------ C C Unpack input GRIBS. C Intermediate interpolation C Create new field and pack it into GRIB format. C C C Externals C --------- C C GRIBEX - Decode and encode GRIB products. C KINTRG - Interpolate reduced gaussian field to reduced gaussian C JMALLOC - Dynamically allocate memory C INTLOG - Log messages C C C Author C ------ C C S.Curic ECMWF October 2006 C C----< C IMPLICIT NONE C C Function arguments C INTEGER NUMME, NUMGG, OLDFLD(*), NEWFLD(*) C #include "parim.h" #include "intisl.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JPACK, JUNPACK, JPINTB, JPREALB, JPMAXNG PARAMETER (JPACK = 4000000) PARAMETER (JUNPACK = 6000000) #ifdef INTEGER_8 PARAMETER (JPINTB = 8) #else PARAMETER (JPINTB = 4) #endif PARAMETER (JPMAXNG=4000) #ifdef REAL_8 PARAMETER (JPREALB = 8) #else PARAMETER (JPREALB = 8) #endif C C Local variables C INTEGER IFSEC0(JPGRIB_ISEC0),IFSEC1(JPGRIB_ISEC1), X IFSEC2(JPGRIB_ISEC2),IFSEC3(JPGRIB_ISEC3),IFSEC4(JPGRIB_ISEC4) INTEGER NFSEC0(JPGRIB_ISEC0),NFSEC1(JPGRIB_ISEC1), X NFSEC2(JPGRIB_ISEC2),NFSEC3(JPGRIB_ISEC3),NFSEC4(JPGRIB_ISEC4) INTEGER NEWGEO(2048) INTEGER ISIZE, LOOP LOGICAL LFIRST #if (!defined __uxp__) && (!defined sgi) #ifdef POINTER_64 INTEGER*8 IZFSEC4, IPFSEC4, IMEDFLD #else INTEGER IZFSEC4, IPFSEC4, IMEDFLD #endif #endif C REAL PLAT(JPMAXNG) REAL ZFSEC2(5000), ZFSEC3(2), ZFSEC4(1) REAL PFSEC3(2), PFSEC4(1), MEDFLD(1) C POINTER( IZFSEC4, ZFSEC4 ) POINTER( IPFSEC4, PFSEC4 ) POINTER( IMEDFLD, MEDFLD ) C INTEGER IRET, ILENB, IPUNP, IWORD C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif INTEGER KINTRG EXTERNAL KINTRG, JMALLOC C DATA LFIRST/.TRUE./ SAVE LFIRST, IZFSEC4, IPFSEC4, IMEDFLD C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C KRG2RGD = 0 C IF( (NUMGG*2).GT.JPMAXNG ) THEN CALL INTLOG(JP_ERROR,'KRG2RGD: Gaussian N too big = ',NUMGG) CALL INTLOG(JP_ERROR,'KRG2RGD: Maximum handled = ',(JPMAXNG/2)) KRG2RGD = -1 GOTO 900 ENDIF IF( (NUMME*2).GT.JPMAXNG ) THEN CALL INTLOG(JP_ERROR,'KRG2RGD: Intermediate Gaussian N too big= ' X ,NUMME) CALL INTLOG(JP_ERROR,'KRG2RGD: Maximum handled = ',(JPMAXNG/2)) KRG2RGD = -1 GOTO 900 ENDIF C C First time, dynamically allocate memory for the field values C IF( LFIRST ) THEN LFIRST = .FALSE. ISIZE = JUNPACK * JPREALB CALL INTLOG(JP_DEBUG,'KRG2RGD: Allocate memory = ',ISIZE) C IZFSEC4 = JMALLOC(ISIZE) #ifdef hpR64 IZFSEC4 = IZFSEC4/(1024*1024*1024*4) #endif IF( IZFSEC4.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'KRG2RGD: JMALLOC fail IZFSEC4',JPQUIET) KRG2RGD = -1 GOTO 900 ENDIF C IPFSEC4 = JMALLOC(ISIZE) IMEDFLD = JMALLOC(ISIZE) #ifdef hpR64 IPFSEC4 = IPFSEC4/(1024*1024*1024*4) #endif IF( IPFSEC4.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'KRG2RGD: JMALLOC fail IPFSEC4',JPQUIET) KRG2RGD = -1 GOTO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 2. Unpack the input GRIB C -----------------------------------------------------------------| C 200 CONTINUE C C Old field C IRET = 1 IPUNP = JUNPACK ILENB = JPACK IFSEC3(1) = 0 IFSEC3(2) = INT(RMISSGV) ZFSEC3(1) = 0.0 ZFSEC3(2) = RMISSGV CALL GRIBEX (IFSEC0,IFSEC1,IFSEC2,ZFSEC2,IFSEC3,ZFSEC3,IFSEC4, X ZFSEC4,IPUNP,OLDFLD,ILENB,IWORD,'D',IRET) IF( IRET.GT.0 ) THEN WRITE(*,*) 'KRG2RGD: Old field gribex return code = ',IRET KRG2RGD = -1 RETURN ENDIF C C -----------------------------------------------------------------| C* Section 3. Create intermediate field C -----------------------------------------------------------------| C 300 CONTINUE C DO LOOP = 1, JPMAXNG NFSEC2(LOOP) = IFSEC2(LOOP) NEWGEO(LOOP) = 0 ENDDO CALL JGETGG( NUMME, 'R', PLAT, NEWGEO(23), IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KRG2RGD: Problem calling JGETGG, status = ',IRET KRG2RGD = -1 RETURN ENDIF NEWGEO(3) = NUMME * 2 NEWGEO(4) = NINT(PLAT(1)*1000.0) NEWGEO(5) = 0 NEWGEO(7) = NINT(PLAT(NUMME*2)*1000.0) NEWGEO(8) = NINT((360.0-(360.0/REAL(NUMME*4)))*1000.0) NEWGEO(10) = NUMME C IRET = KINTRG(IFSEC2, NEWGEO, ZFSEC4, MEDFLD) IF( IRET.LE.0 ) THEN WRITE(*,*) 'KRG2RGD: New field creation failed' KRG2RGD = -1 RETURN ELSE CALL INTLOG(JP_DEBUG, X 'KRG2RGD: Intermediate gaussian field created - N',NUMME) ENDIF C C -----------------------------------------------------------------| C* Section 4. Create new field from intermediate and put in GRIB C -----------------------------------------------------------------| C CALL JGETGG( NUMGG, 'R', PLAT, NFSEC2(23), IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KRG2RGD: Problem calling JGETGG, status = ',IRET KRG2RGD = -1 RETURN ENDIF NFSEC2(3) = NUMGG * 2 NFSEC2(4) = NINT(PLAT(1)*1000.0) NFSEC2(7) = NINT(PLAT(NUMGG*2)*1000.0) NFSEC2(8) = NINT((360.0-(360.0/REAL(NUMGG*4)))*1000.0) NFSEC2(10) = NUMGG C IRET = KINTRG(NEWGEO, NFSEC2, MEDFLD, PFSEC4) IF( IRET.LE.0 ) THEN WRITE(*,*) 'KRG2RGD: New field creation failed' KRG2RGD = -1 RETURN ELSE CALL INTLOG(JP_DEBUG, X 'KRG2RGD: New gaussian field created - N',NUMGG) ENDIF IFSEC4(1) = IRET C IRET = 1 IPUNP = JUNPACK ILENB = JPACK C C If output 'accuracy' specified, use it for the new field C IF( LNOACC ) THEN IFSEC4(2) = NOACC ENDIF C C There may be 'missing' values in the new field if the old field C has 'missing' values. C IF( IFSEC1(5).EQ.192 ) THEN IFSEC1(5) = 192 NFSEC3(1) = 0 NFSEC3(2) = INT(RMISSGV) PFSEC3(1) = 0.0 PFSEC3(2) = RMISSGV ENDIF C CALL GRIBEX (IFSEC0,IFSEC1,NFSEC2,ZFSEC2,NFSEC3,PFSEC3,IFSEC4, X PFSEC4,IPUNP,NEWFLD,ILENB,IWORD,'C',IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KRG2RGD: New field gribex return code = ',IRET KRG2RGD = -1 RETURN ENDIF C KRG2RGD = IWORD * JPINTB C C -----------------------------------------------------------------| C* Section 5. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/Imakefile0000755000175000017500000000274112127406245022165 0ustar amckinstryamckinstry#define DoNormalLib YES SRCS.F = areachk.F chequal.F clear_c.F csum.F fft99.F fixarea.F iafree.F iagcntl.F iaidef.F iainit.F iaintgg.F iaintll.F iaogdef.F iaoldef.F iarcntl.F iareset.F iarmem.F ibasini.F igalloc.F igbess.F igdins.F igdiwe.F igglat.F iggmem.F iggrid.F igint.F igintr.F iglgrid.F iglrev.F iglsize.F iglsm01.F iglsmb.F iglsmd.F iglsmr.F iglsmst.F ignorm.F igplsm.F igpoleg.F igpolew.F igprec.F igscan.F igsetup.F igsize.F igtog.F igtogr.F igtran.F init_cm.F insane.F intf.F intfa.F intfap.F intfau.F intfb.F intfbp.F intfbu.F intfc.F intin.F intlog.F intlogd.F intlogr.F intout.F intuvf.F intuvp.F intuvs.F intuvu.F irdiwe.F irgmem.F irgrid.F irgtog.F irint.F irintr.F irlrev.F irlsmb.F irprec.F irscan.F irsize.F iscrsz.F issame.F jacobi.F jagggp.F jallgp.F jallwn.F jdebug.F jfindfn.F jfindir.F jgetgg.F jgglat.F jintend.F jintgg.F jintll.F jmakgg.F jmakll.F jmemhan.F jmkofgg.F jmovgg.F jmovll.F jmvugg.F jmvull.F jnorsgg.F jnumgg.F jopngg.F jopnll.F jreadgg.F jreadll.F jset99.F jsh2sh.F jspleg1.F jsppole.F jsymgg.F jsymll.F jvod2uv.F jwindll.F jwscal.F lgrpr4.F lrekam.F lsm_red.F makerl.F pddefs.F qpassm.F reset_c.F rpassm.F rphi.F set99.F sprotat.F sscal.F OBJS.F = $(SRCS.F:.F=.o) SRCS.c = jmalloc.c my_ialloc.c rddefs.c jopnggsm.c jopnllsm.c intlogs.c fftchk.c OBJS.c = $(SRCS.c:.c=.o) SRCS = $(SRCS.F) $(SRCS.c) OBJS = $(OBJS.F) $(OBJS.c) NormalFortranObjectRule() NormalLibraryObjectRule() NormalLibraryTarget(specgp,$(OBJS)) InstallLibrary(specgp,$(WHERE)) DependTarget() emoslib-000392+dfsg.1/interpolation/hntfbu.F0000755000175000017500000003047612127406245021757 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HNTFBU( FLDIN,INLEN,FLDOUT,OUTLEN) C C----> C**** HNTFBU C C Purpose C ------- C C Interpolate input field... C C C Interface C --------- C C IRET = HNTFBU( FLDIN,INLEN,FLDOUT,OUTLEN) C C Input C ----- C C FLDIN - Input field (unpacked). C INLEN - Input field length (words). C C C Output C ------ C C FLDOUT - Output field (unpacked). C OUTLEN - Output field length (words). C C C Method C ------ C C Call interpolation routines; then repack if GRIB output. C C Currently, subareas are not supported for reduced gaussian fields. C (Works OK; but need to setup values in GRIB product for number of C points in each latitude row) C C C Externals C --------- C C IARCNTL - Control interp. quasi reg.Gauss -> Gaussian or lat/long C IAGCNTL - Control interpolation reg.Gaussian or lat/long fields. C JSH2SH - Changes resolution of a field of spectral coefficients. C JALLGP - Converts spectral input fields to lat/long grid fields. C JALLWN - Converts spectral input wind fields to lat/long grids. C JAGGGP - Converts spectral input fields to a gaussian grid field. C IBASINI - Ensure basic interpolation setup is done. C RESET_C - Reset interpolation handling options using GRIB product. C JMEMHAN - Handles memory allocation. C IGLSIZE - Evaluate array sizes for reg. lat/long and area. C IGSIZE - Evaluate array sizes for a regular Gaussian. C IRSIZE - Evaluate array sizes for a quasi reg Gaussian. C FIXAREA - Fixup area definition to correspond to grid definitions C ISCRSZ - Calculate number of values in generated field. C INTLOG - Log error message. C C C Author C ------ C C J.D.Chambers ECMWF Aug 1994 C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C IMPLICIT NONE C C Function arguments INTEGER INLEN,OUTLEN REAL FLDIN(*),FLDOUT(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters INTEGER JPROUTINE INTEGER JPALLOC, JPSCR16 PARAMETER (JPROUTINE = 26600 ) PARAMETER (JPALLOC = 1 ) PARAMETER (JPSCR16 = 16 ) C C Local variables C INTEGER IERR, ISIZE, IUV REAL PNORTH, PSOUTH, PWEST, PEAST, PLATINC, PLONINC LOGICAL OIWEGLOBE, OINPOLE, OISPOLE LOGICAL OOWEGLOBE, OONPOLE, OOSPOLE INTEGER KILN, KITOTAL, KOLN, KOTOTAL, KPR, KERR INTEGER LOOP #ifdef POINTER_64 INTEGER*8 IZNFLDO #endif REAL ZNFLDO POINTER ( IZNFLDO, ZNFLDO ) DIMENSION ZNFLDO( 1 ) C C Externals INTEGER IGLSIZE, IGSIZE, IRSIZE, IARCNTL, IAGCNTL INTEGER FIXAREA, ISCRSZ C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE HNTFBU = 0 IERR = 0 KPR = 0 C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_WARN,'HNTFBU: znfeldi allocate fail',JPQUIET) HNTFBU = IERR GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C ------------------------------------------------------------------ C* Section 3. Interpolation spherical harmonics to spherical C harmonics C ------------------------------------------------------------------ C 300 CONTINUE C IF ( ((NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT)) .AND. X ((NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT)) ) THEN C C Get scratch space for interpolation C ISIZE = ISCRSZ() IF ( ISIZE .LE. 0 ) THEN CALL INTLOG(JP_ERROR,'HNTFBU: Get scratch space failed',ISIZE) HNTFBU = JPROUTINE + 2 GOTO 900 ENDIF CALL JMEMHAN( JPSCR16, IZNFLDO, ISIZE, JPALLOC, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'HNTFBU: Get scratch space fail',JPQUIET) HNTFBU = JPROUTINE + 2 GOTO 900 ENDIF C CALL SH2SH( ZNFELDI, NIRESO, ZNFLDO, NORESO ) C GOTO 700 C C If not spectral -> spectral transformation, make sure the input C and output area definitions have been setup. C ELSE C C Fixup area definition to correspond to grid definitions C IERR = FIXAREA() IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'HNTFBU: Fixup area definition failed.',JPQUIET) HNTFBU = JPROUTINE + 9 GOTO 900 ENDIF C C Setup geographical limits C PNORTH = FLOAT( NOAREA(1) ) / PPMULT PWEST = FLOAT( NOAREA(2) ) / PPMULT PSOUTH = FLOAT( NOAREA(3) ) / PPMULT PEAST = FLOAT( NOAREA(4) ) / PPMULT C ENDIF C C ------------------------------------------------------------------ C Section 4. Interpolation spherical harmonics to grid point. C ------------------------------------------------------------------ C 400 CONTINUE C IF ( (NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT) ) THEN C ISIZE = ISCRSZ() IF ( ISIZE .LE. 0 ) THEN CALL INTLOG(JP_ERROR,'HNTFBU: Get scratch space failed',ISIZE) HNTFBU = JPROUTINE + 2 GOTO 900 ENDIF C CALL JMEMHAN( JPSCR16, IZNFLDO, ISIZE, JPALLOC, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'HNTFBU: Get scratch space fail',JPQUIET) HNTFBU = JPROUTINE + 2 GOTO 900 ENDIF C C If rotation involved, it has already been done (in hntfau) C and values are in znfeldi. C IF( LNOROTA ) THEN DO LOOP = 1, ISIZE FLDOUT(LOOP) = ZNFELDI(LOOP) ENDDO OUTLEN = ISIZE GOTO 900 ENDIF C C Get scratch space for interpolation C C C Setup wind flag IF ( LWIND ) THEN IUV = 1 ELSE IUV = 0 ENDIF C C ------------------------------------------------------------------ C* Section 4.1 Interpolation spherical harmonics to grid point. C ------------------------------------------------------------------ C 410 CONTINUE C IF ( NOREPR.EQ.JPREGULAR ) THEN C C -> latitude/longitude grid C PLONINC = FLOAT( NOGRID(1) ) / PPMULT PLATINC = FLOAT( NOGRID(2) ) / PPMULT IF ( LWIND ) THEN CALL JALLWN( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, ZNFLDO, IERR) ELSE CALL JALLGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, ZNFLDO, IERR) ENDIF IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'HNTFBU: Interpolation of gaussian field failed.',JPQUIET) HNTFBU = JPROUTINE + 3 GOTO 900 ENDIF C GOTO 700 C ENDIF C C IF ( NOREPR .EQ. JPGAUSSIAN) THEN C C -> regular gaussian grid C CALL JAGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, 'U', NOLPTS, ZNFLDO, IUV, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'HNTFBU: Interpolation of gaussian field failed.',JPQUIET) HNTFBU = JPROUTINE + 4 GOTO 900 ENDIF C GOTO 700 C ENDIF C C IF ( NOREPR .EQ. JPQUASI) THEN C C -> reduced gaussian grid C CALL JAGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, 'U', NOLPTS, ZNFLDO, IUV, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'HNTFBU: Interpolation of gaussian field failed.',JPQUIET) HNTFBU = JPROUTINE + 4 GOTO 900 ENDIF C GOTO 700 C ENDIF C C Dropthrough => unrecognized output field type C IERR = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'HNTFBU: Unrecognized output field type.',NOREPR) HNTFBU = IERR GOTO 900 C ENDIF C C ------------------------------------------------------------------ C Section 5. Interpolate Gaussian grid to grid point. C ------------------------------------------------------------------ C 500 CONTINUE C C Setup flags for input and output fields C KERR = 1 IF (NIREPR .EQ. JPQUASI) THEN IERR = IRSIZE( NIGAUSS, NIAREA, MILLEN, NIWE, NINS, KILN, X KITOTAL, RIGAUSS, OIWEGLOBE, OINPOLE, OISPOLE, X KPR, KERR) ELSE IF ( NIREPR .EQ. JPGAUSSIAN ) THEN IERR = IGSIZE( NIGAUSS, NIAREA, NIWE, NINS, KILN, RIGAUSS, X OIWEGLOBE, OINPOLE, OISPOLE, KPR, KERR) ELSE IERR = IGLSIZE( NIGRID, NIAREA, NIWE, NINS, KILN, OIWEGLOBE, X OINPOLE, OISPOLE, KPR, KERR) ENDIF C NONS = 0 NOWE = 0 IF (NOREPR .EQ. JPQUASI) THEN IERR = IRSIZE( NOGAUSS, NOAREA, NOLPTS, NOWE, NONS, KOLN, X KOTOTAL, ROGAUSS, OOWEGLOBE, OONPOLE, OOSPOLE, X KPR, KERR) ELSE IF ( NOREPR .EQ. JPGAUSSIAN ) THEN IERR = IGSIZE( NOGAUSS, NOAREA, NOWE, NONS, KOLN, ROGAUSS, X OOWEGLOBE, OONPOLE, OOSPOLE, KPR, KERR) ELSE IERR = IGLSIZE( NOGRID, NOAREA, NOWE, NONS, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR, KERR) ENDIF C IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'HNTFBU: Interpolation of gaussian field failed.',IERR) HNTFBU = JPROUTINE + 6 GOTO 900 ENDIF C C C ------------------------------------------------------------------ C Section 5.1 Interpolate reduced Gaussian grid to grid point. C ------------------------------------------------------------------ C 510 CONTINUE C C ISIZE = ISCRSZ() IF ( ISIZE .LE. 0 ) THEN CALL INTLOG(JP_ERROR,'HNTFBU: Get scratch space failed.',ISIZE) HNTFBU = JPROUTINE + 2 GOTO 900 ENDIF CALL JMEMHAN( JPSCR16, IZNFLDO, ISIZE, JPALLOC, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'HNTFBU: Get scratch space fail.',JPQUIET) HNTFBU = JPROUTINE + 2 GOTO 900 ENDIF C IF (NIREPR .EQ. JPQUASI) THEN IERR = IARCNTL( ZNFELDI, JPEXPAND, ZNFLDO, ISIZE, KILN, X OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR ,KERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'HNTFBU: Interpolation of gaussian field failed.',IERR) HNTFBU = JPROUTINE + 7 GOTO 900 ENDIF C GOTO 700 C ENDIF C C ------------------------------------------------------------------ C* Section 6. Interpolate regular grid point to grid point. C ------------------------------------------------------------------ C 600 CONTINUE C IERR = IAGCNTL( ZNFELDI, JPEXPAND, ZNFLDO, ISIZE, KILN, X OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR, KERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'HNTFBU: Interpolation of gaussian field failed.',IERR) HNTFBU = JPROUTINE + 8 GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 7. Move unpacked values to user array. C ------------------------------------------------------------------ C 700 CONTINUE C DO 710 LOOP = 1, ISIZE FLDOUT( LOOP ) = ZNFLDO( LOOP ) 710 CONTINUE C C Return the number of values, the unpacked array length C OUTLEN = ISIZE C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C RETURN END emoslib-000392+dfsg.1/interpolation/sources.ibm_power40000755000175000017500000001036212127406245024026 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ createSharedMemoryCoefficients.c \ sharedll.c \ sharedgg.c \ sharedlib.c \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ rename_unlink.c \ sharedMemoryCharacteristics.c \ showmap.c \ smread.c \ soffset.c emoslib-000392+dfsg.1/interpolation/memreq.h0000755000175000017500000000325712127406245022016 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C**** "memreq.h" C C PURPOSE C _______ C C This file contains the memory request definition variables. C C INTERFACE C _________ C C #include "memreq.h" C C Common block usage C __________________ C C MEMORY C C MADDR - The base addresses of the currently allocated C memory segments. C MREQUEST - The sizes of the current memory requests. C C METHOD C ______ C C NONE C C REFERENCE C _________ C C NONE C C COMMENTS C ________ C C MREQUEST and MADDR are arrays to allow control of different C memory requests at different levels of the interpolation C software. C C Contains section 1 C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C NONE C C _______________________________________________________ C C C* Section 1. Input field description C _______________________________________________________ C C MREQUEST - The size of the current memory request. C MADDR - The base address for the current memory allocation. C #ifdef POINTER_64 INTEGER*8 MADDR(JPLEVEL) #else INTEGER MADDR(JPLEVEL) #endif INTEGER MREQUEST(JPLEVEL) C COMMON /MEMORY/ MREQUEST, MADDR C SAVE /MEMORY/ emoslib-000392+dfsg.1/interpolation/jparam2.h0000755000175000017500000000120112127406245022047 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C Handling of spectral -> grid interpolation coefficients memory C LOGICAL LFREECF INTEGER NFREECF, NISIZE6, NISIZE7 CHARACTER*15 YOLDGG CHARACTER*19 YOLDLL COMMON /JDCSPGP/ NFREECF,NISIZE6,NISIZE7,LFREECF,YOLDGG,YOLDLL emoslib-000392+dfsg.1/interpolation/wv2dxxx.F0000755000175000017500000003412212127406245022113 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WV2DXXX(ISEC2,ISEC4,NLATS,STEPNS,STEPWE, X OLDWAVE,NEWIDX,NEWWAVE,NORTH,WEST,PMISS) C C----> C*****WV2DXXX* C C PURPOSE C ------- C C Interpolates 2D wave spectra fields. C C C INTERFACE C --------- C C IRET = WV2DXXX(ISEC2,ISEC4,NLATS,STEPNS,STEPWE, C X OLDWAVE,NEWIDX,NEWWAVE,NORTH,WEST,PMISS) C C Input arguments C --------------- C C ISEC2 - Unpacked section 2 header from 2D wave spectra field C ISEC4 - Unpacked section 4 header from 2D wave spectra field C NLATS - Number of points N-S in new grid C STEPNS - Output grid north-south resolution (degrees) C STEPWE - Output grid west-east resolution (degrees) C OLDWAVE - Original wave field C NORTH - Output grid northernmost latitude (degrees) C WEST - Output grid westernmost longitude (degrees) C PMISS - Missing data value C C Output arguments C ---------------- C C NEWIDX - Indices of old grid points used for new grid points C NEWWAVE - New wave field C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C Builds the index of nearest neighbour points for the output grid. C Then works through the output grid points, checking for subarea C boundaries and looking up nearset neighbour 2D spectra values C (which may be missing data). C C C EXTERNALS C --------- C C WV2DIDX - builds the index of nearest neighbour points C NUMPTWE - Calculates number of grid points between west/east C area boundaries C VALPINA - Looks up bitmap value C ONEBITS - Counts number of 1s in a GRIB section 3 bitmap C NUMVALS - Counts the values in the secondary bitmap. C SOFFSET - Finds the section offsets in GRIB message C INTLOG - Log error message C C C REFERENCE C --------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF November 1996 C C C Modifications C ------------- C C J.D.Chambers ECMWF April 1998 C Handle parameter 251 as a simple form of wave 2D spectra. C (A field containing one direction and one frequency). C C C----< C IMPLICIT NONE C C Subroutine arguments C INTEGER ISEC2, ISEC4, NLATS DIMENSION ISEC2(*), ISEC4(*) REAL STEPNS, STEPWE, OLDWAVE, NEWWAVE, NORTH, WEST, PMISS DIMENSION OLDWAVE(*), NEWWAVE(*) INTEGER NEWIDX DIMENSION NEWIDX(*) C C Parameters C INTEGER JPROUTINE, JPMXLAT, JPNSPEC PARAMETER (JPROUTINE = 40000) PARAMETER (JPMXLAT = 1801) PARAMETER (JPNSPEC = 600) C C Local arguments C LOGICAL LSIMPLE INTEGER IEOFSET, IWOFSET, ISTART, IWEST REAL SOUTH, EAST, PTLAT, PTLONG, AWEST, OLDWEST, OLDEAST REAL REFVAL, SCALE INTEGER NPDATA, INSPT, NEXP, NMANT, NRETA, NRETB, NLENG, NBIT INTEGER NVALS INTEGER ISCALE, NSCALE, IBITS, ITEMP, NPBTMP2, IBITMAP, NUNUSED DIMENSION IBITMAP(JPNSPEC) INTEGER IRET, IS0, IS1, IS2, IS3, IS4, IEDITN INTEGER NEXT, NEXTWV, NROW, NCOL, INDEX, ILOCATE INTEGER NSPEC, MISSLAT, LOOP, NPTS, NUMLATS, NUMNEW INTEGER KOLDNUM, KNEWNUM DIMENSION NPTS(JPMXLAT), NUMNEW(JPMXLAT) REAL RLATINC, OLDLATS, NEWLATS, ROWINC DIMENSION OLDLATS(JPMXLAT), NEWLATS(JPMXLAT) C C Externals C INTEGER WV2DIDX, SOFFSET, VALPINA, NUMVALS, ONEBITS, NUMPTWE EXTERNAL WV2DIDX, SOFFSET, VALPINA, NUMVALS, ONEBITS, NUMPTWE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WV2DXXX = 0 C C Initialise the bitmap value lookup function and function C which counts the values in the secondary bitmap. C IRET = VALPINA(0,0,0) IRET = NUMVALS(0,0,0) C C Setup number of spectra at each point C IF( ISEC4(8).EQ.0 ) THEN LSIMPLE = .TRUE. NSPEC = 1 ELSE LSIMPLE = .FALSE. NSPEC = ISEC4(50)*ISEC4(51) ENDIF C IF( NSPEC.GT.JPNSPEC) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Number of wave spectra at each grid pt = ',NSPEC) CALL INTLOG(JP_ERROR, X 'WV2DXXX: And is greater than allowed maximum = ',JPNSPEC) WV2DXXX = JPROUTINE + 1 GOTO 900 ENDIF C C Calculate number of latitudes if grid had been full from C North pole to South pole C NUMLATS = (180000/ISEC2(10)) + 1 IF( NUMLATS.GT.JPMXLAT ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Number of latitudes in input grid = ',NUMLATS) CALL INTLOG(JP_ERROR, X 'WV2DXXX: And is greater than allowed maximum = ',JPMXLAT) WV2DXXX = JPROUTINE + 2 GOTO 900 ENDIF RLATINC = FLOAT(ISEC2(10))/1000 DO LOOP = 1, NUMLATS OLDLATS(LOOP) = 90.0 - (LOOP-1)*RLATINC ENDDO C C Fill an array with the number of points at each latitude for the C input field (this is a reduced latitude/longitude grid) C MISSLAT = (90000 - ISEC2(4))/ISEC2(10) DO LOOP = 1, MISSLAT NPTS(LOOP) = 0 ENDDO KOLDNUM = 1 + (90000 - ISEC2(7))/ISEC2(10) DO LOOP = 1, (KOLDNUM-MISSLAT) IF( NIREPR.EQ.JPREDLL ) THEN NPTS(LOOP+MISSLAT) = ISEC2(22+LOOP) ELSE NPTS(LOOP+MISSLAT) = ISEC2(2) ENDIF ENDDO DO LOOP = (KOLDNUM+1), NUMLATS NPTS(LOOP) = 0 ENDDO C C --------------------------------------------------------------------- C* Section 2. Setup number of points at each latitude for the C output latitude/longitude field. C --------------------------------------------------------------------- C 200 CONTINUE C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN) ) THEN C C Reduced (quasi-regular) gaussian output C KNEWNUM = NOGAUSS*2 DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROGAUSS(LOOP) ENDDO C ELSE IF( NOREPR.EQ.JPREDLL ) THEN C C Reduced (quasi-regular) lat/long output C KNEWNUM = NOREDLL DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROREDLL(LOOP) ENDDO C ELSE C C Regular output C MISSLAT = NINT((90.0 - NORTH)/STEPNS) DO LOOP = 1, MISSLAT NUMNEW(LOOP) = 0 ENDDO DO LOOP = 1, NLATS NUMNEW(LOOP+MISSLAT) = NINT(360.0/STEPWE) ENDDO C KNEWNUM = MISSLAT + NLATS DO LOOP = 1, KNEWNUM NEWLATS(LOOP) = 90.0 - (LOOP-1)*STEPNS ENDDO C ENDIF C C --------------------------------------------------------------------- C* Section 3. Get the input GRIB field characteristics. C --------------------------------------------------------------------- C 300 CONTINUE C C Calculate the indices of the input grid points to be used for C the output points C OLDWEST = FLOAT(ISEC2(5))/1000 OLDEAST = FLOAT(ISEC2(8))/1000 WV2DXXX = WV2DIDX(NUMLATS,NPTS,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM, NUMNEW, NEWLATS, NEWIDX) IF( WV2DXXX.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Unable to calculate output grid indices',JPQUIET) WV2DXXX = JPROUTINE + 3 GOTO 900 ENDIF C C Find section offsets for the GRIB product C IRET = SOFFSET(OLDWAVE, IS0, IS1, IS2, IS3, IS4, IEDITN) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Problem finding section offsets for GRIB',JPQUIET) WV2DXXX = JPROUTINE + 4 GOTO 900 ENDIF C C Get the overall length of OLDWAVE C #ifdef INTEGER_8 NBIT = 64 #else NBIT = 32 #endif INSPT = (IS0 + 4) * 8 CALL INXBIT(OLDWAVE,10,INSPT,NLENG,1,NBIT,24,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Problem extracting overall length of GRIB',JPQUIET) WV2DXXX = JPROUTINE + 5 GOTO 900 ENDIF C C Get the scale factor C INSPT = (IS4 + 4) * 8 CALL INXBIT(OLDWAVE,NLENG,INSPT,NSCALE,1,NBIT,16,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Problem extracting scale factor in GRIB',JPQUIET) WV2DXXX = JPROUTINE + 6 GOTO 900 ENDIF CALL DSGNBT(ISCALE,NSCALE,16,NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Problem setting sign of scale factor',JPQUIET) WV2DXXX = JPROUTINE + 7 GOTO 900 ENDIF SCALE = 2.0**(FLOAT(ISCALE)) C C Get the reference value C CALL INXBIT(OLDWAVE,NLENG,INSPT,NEXP,1,NBIT,8,'D',NRETA) CALL INXBIT(OLDWAVE,NLENG,INSPT,NMANT,1,NBIT,24,'D',NRETB) IF( (NRETA.NE.0) .OR. (NRETB.NE.0) ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Problem getting reference value from GRIB',JPQUIET) WV2DXXX = JPROUTINE + 8 GOTO 900 ENDIF CALL DECFP2(REFVAL,NEXP,NMANT) C C Get number of bits per packed value C CALL INXBIT(OLDWAVE,NLENG,INSPT,IBITS,1,NBIT,8,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Problem getting number of bits per word',JPQUIET) WV2DXXX = JPROUTINE + 9 GOTO 900 ENDIF C C (Pointer INSPT is currently at octet 12 in GRIB section 4) C C Set up pointers to start of secondary bitmap and start of packed C data values C #ifdef INTEGER_8 NBIT = 64 #else NBIT = 32 #endif NPBTMP2 = (IS4 + 24)*8 + (ISEC4(53)+ISEC4(55))*32 C IF( .NOT. LSIMPLE ) THEN NPDATA = NPBTMP2 + NSPEC*ONEBITS(OLDWAVE,IS3) ELSE NPDATA = NPBTMP2 ENDIF NPDATA = ((NPDATA + 7)/8)*8 C C --------------------------------------------------------------------- C* Section 4. Work through the output subarea. C --------------------------------------------------------------------- C 400 CONTINUE C C Fill in the wave spectra values C NEXT = 0 NEXTWV = 0 C SOUTH = NOAREA(3)/PPMULT EAST = NOAREA(4)/PPMULT ISTART = 0 C C Work down through latitudes from north to south. C DO NROW = 1, KNEWNUM C C If inside north-south (subarea) boundaries .. C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPQUASI) ) THEN PTLAT = ROGAUSS(NROW) ELSE PTLAT = 90.0 - (NROW-1)*STEPNS ENDIF C IF( (PTLAT.LE.NORTH).AND.(ABS(PTLAT-SOUTH).GT.-0.0005) ) THEN C C Calculate number of points between west boundary of area and C Greenwich C ROWINC = 360.0/NUMNEW(NROW) C IWEST = INT(WEST/ROWINC) IF( (WEST.GT.0.0).AND.(WEST.NE.(IWEST*ROWINC)) ) X IWEST = IWEST + 1 AWEST = IWEST * ROWINC IWOFSET = NUMPTWE(AWEST,0.0,ROWINC) IEOFSET = NUMPTWE(AWEST,EAST,ROWINC) C C Work through subarea longitudes from west to east. C DO NCOL = 1, NUMNEW(NROW) PTLONG = AWEST + (NCOL-1)*ROWINC NEXT = NUMPTWE(AWEST,PTLONG,ROWINC) IF( (NEXT.LE.IEOFSET).AND.(NEXT.GE.0) ) THEN C C .. and inside west-east (subarea) boundaries C NEXT = 1 + NEXT - IWOFSET IF( NEXT.LE.0) NEXT = NEXT + NUMNEW(NROW) NEXT = NEXT + ISTART INDEX = NEWIDX(NEXT) ILOCATE = VALPINA(OLDWAVE, IS3+6, INDEX) C IF( ILOCATE.EQ.0 ) THEN C C Nearest neighbour is a 'missing' point C DO LOOP = 1, NSPEC NEXTWV = NEXTWV + 1 NEWWAVE(NEXTWV) = PMISS ENDDO C ELSE C C Nearest neighbour has values C IF( LSIMPLE ) THEN INSPT = NPDATA + (ILOCATE - 1)*IBITS NVALS = 1 IBITMAP(1) = 1 ELSE C C Count the number of values in the secondary bitmap upto C the current point and pick up its secondary bitmap. C INSPT = NPBTMP2 + (ILOCATE - 1)*NSPEC NVALS = NUMVALS(OLDWAVE,NPBTMP2,INSPT) CALL INXBIT(OLDWAVE,NLENG,INSPT,IBITMAP,NSPEC, X NBIT,1,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Problem getting neighbours 2ndary bitmap', X JPQUIET) WV2DXXX = JPROUTINE + 10 GOTO 900 ENDIF C C Pick up the values at the current point C INSPT = NPDATA + NVALS*IBITS ENDIF C DO LOOP = 1, NSPEC NEXTWV = NEXTWV + 1 IF( IBITMAP(LOOP).EQ.0 ) THEN C C ..missing C NEWWAVE(NEXTWV) = PMISS C ELSE C C ..retrieve and recreate the packed value C CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, X NBIT,IBITS,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXXX: Problem getting nearest neighbour', X JPQUIET) WV2DXXX = JPROUTINE + 11 GOTO 900 ENDIF NEWWAVE(NEXTWV) = REFVAL + FLOAT(ITEMP)*SCALE ENDIF ENDDO C ENDIF ENDIF ENDDO C ENDIF ISTART = ISTART + NUMNEW(NROW) ENDDO C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_160.h0000755000175000017500000000313712127406245022417 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG16018(160) DATA QG16018/ X 18 , 25 , 36 , 40, X 45 , 50 , 60 , 64, X 72 , 72 , 80 , 90, X 90 , 96 , 108 , 120, X 120 , 125 , 128 , 135, X 144 , 150 , 160 , 160, X 180 , 180 , 180 , 192, X 192 , 200 , 216 , 216, X 225 , 225 , 240 , 240, X 243 , 250 , 256 , 270, X 270 , 288 , 288 , 288, X 300 , 300 , 320 , 320, X 320 , 320 , 324 , 360, X 360 , 360 , 360 , 360, X 360 , 375 , 375 , 375, X 384 , 384 , 400 , 400, X 400 , 405 , 432 , 432, X 432 , 432 , 432 , 450, X 450 , 450 , 450 , 480, X 480 , 480 , 480 , 480, X 480 , 480 , 500 , 500, X 500 , 500 , 500 , 512, X 512 , 540 , 540 , 540, X 540 , 540 , 540 , 540, X 540 , 576 , 576 , 576, X 576 , 576 , 576 , 576, X 576 , 576 , 576 , 600, X 600 , 600 , 600 , 600, X 600 , 600 , 600 , 600, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640 / emoslib-000392+dfsg.1/interpolation/soffset.c0000755000175000017500000001173212127406245022171 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include "fortint.h" /* defines for FORTRAN subroutine */ #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define SOFFSET soffset #else #define SOFFSET soffset_ #endif #endif #define ERROR(a,b) {perror(a);return b;} #define GRIB 0x47524942 #define len3oct(p) ((((long)*(p))<<16) + (((long)*(p+1))<<8) + (long)*(p+2)) #define BIT1 0x80 #define BIT2 0x40 #define BIT3 0x20 #define BIT4 0x10 #define BIT5 0x08 #define BIT6 0x04 #define BIT7 0x02 #define BIT8 0x01 static int grab(unsigned char * , unsigned char * , long ,long ,long * ); fortint soffset_( unsigned char * buffer, fortint* is0, fortint* is1, fortint* is2, fortint* is3, fortint* is4, fortint* iedition) { long s0, s1, s2, s3, s4, edition; int large = 0; int found = 0; int code = 0; long bytes_read = 0, advance; unsigned char p, edit_num, flag23; unsigned char size[3]; int section0 = 8, section1, section2, section3, section4; long total; unsigned char grp_7777[5]; /* Read bytes until "GRIB" found */ do { if( grab(buffer, &p, 1, 1, &bytes_read) != 0) return 1; code = ( (code << 8) + p ) & 0xFFFFFFFF; if (code == GRIB ) found = 1; } while ( ! found ); s0 = bytes_read - 4; bytes_read = 4; /* Now find out which edition of GRIB is present (default is 1) */ edition = 1; s1 = s0 + 8; if( (*(buffer+21-s0) == '\0') && (*(buffer+22-s0) == '\0') ) { edition = -1; /* GRIB edition -1 */ s1 = s0; section1 = 20; section0 = 4; } else { if( grab(buffer, size, 3, 1, &bytes_read) != 0) return 1; total = len3oct(size); if( total == 24 ) { /* Move past the edition number */ if( grab(buffer, &edit_num, 1, 1, &bytes_read) != 0) return 1; edition = 0; /* GRIB edition 0 */ section1 = 24; s1 = s0 + 4; section0 = 4; } } if( edition == 1 ) { /* See if it is an extra large (wave) product */ if( total > 0x800000 ) { total = (total&0x7fffff) * 120; large = 1; } /* Move past the edition number */ if( grab(buffer, &edit_num, 1, 1, &bytes_read) != 0) return 1; /* Read length of section 1 */ if( grab(buffer, size, 3, 1, &bytes_read) != 0) return 1; section1 = len3oct(size); } /* Now figure out if sections 2/3 are present */ advance = 4; bytes_read += advance; if( grab(buffer, &flag23, 1, 1, &bytes_read) != 0) return 1; section2 = flag23 & BIT1; section3 = flag23 & BIT2; /* Advance to end of section 1 */ advance = section1 - (bytes_read - section0); bytes_read += advance; /* Read section 2 length if it is given*/ if( section2 ) { s2 = s0 + bytes_read; if( grab(buffer, size, 3, 1, &bytes_read) != 0) return 1; section2 = len3oct(size); advance = section2 - (bytes_read - section0 - section1); bytes_read += advance; } else { section2 = 0; s2 = 0; } /* Read section 3 length if it is given*/ if( section3 ) { s3 = s0 + bytes_read; if( grab(buffer, size, 3, 1, &bytes_read) != 0) return 1; section3 = len3oct(size); advance = section3 - (bytes_read - section0 - section1 - section2); bytes_read += advance; } else { section3 = 0; s3 = 0; } /* Read section 4 length */ s4 = s0 + bytes_read; if( grab(buffer, size, 3, 1, &bytes_read) != 0) return 1; section4 = len3oct(size); if( large ) section4 = total + 3 - bytes_read - section4; advance = section4 - (bytes_read - section0 - section1 - section2 - section3); bytes_read += advance; /* Check 7777 group is in the expected place */ if( grab(buffer, grp_7777, 4, 1, &bytes_read) != 0) return 1; grp_7777[4] = '\0'; if( strcmp((char *)grp_7777,"7777") != 0 ) ERROR("7777 group not found", 15); /* Success! */ *is0 = (fortint) s0; *is1 = (fortint) s1; *is2 = (fortint) s2; *is3 = (fortint) s3; *is4 = (fortint) s4; *iedition = (fortint) edition; return 0; } fortint soffset( unsigned char * buffer, fortint* is0, fortint* is1, fortint* is2, fortint* is3, fortint* is4, fortint* iedition) { return soffset_(buffer,is0,is1,is2,is3,is4,iedition); } static int grab(unsigned char * buffer, unsigned char * where, long size,long cnt,long * num_bytes_read) { long number = size*cnt; memcpy(where, (buffer+(*num_bytes_read)), number); *num_bytes_read += number; return 0; } emoslib-000392+dfsg.1/interpolation/jmovgg.F0000755000175000017500000001720712127406245021757 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMOVGG( PZFA, PWEST, KGNUM, KSTART, KROWS, X KCOLS, KLON, KJPWR, KOFSET, POUTF, KFLAG) C----> C C**** JMOVGG C C Purpose C _______ C C This routine moves gausssian grid point data from array PZFA to C array POUTF. C C C Interface C _________ C C CALL JMOVGG( PZFA, PWEST, KGNUM, KSTART, KROWS, C X KCOLS, KLON, KJPWR, KOFSET, POUTF, KFLAG) C C C Input parameters C ________________ C C PZFA - Input array of grid points arranged in pairs of C north and south latitude bands C PWEST - Westernmost longitude for field in POUTF (degrees) C KGNUM - Gaussian number for field in POUTF C KSTART - Current first latitude number in PZFA for moving C KROWS - Number of latitude rows to store C KCOLS - Number of longitude points to store from latitude C KLON - Number of longitude points in generated latitude row C KJPWR - Multiplication factor applied to ensure that number C of longitude points > twice*spherical truncation C KOFSET - Array of offsets for start of each latitude row in C the output array C KFLAG - = 1 if only the North hemisphere lats. to be moved C = 2 if only the South hemisphere lats. to be moved C = 3 if both North/South hemisphere lats. to be moved C C C Output parameters C ________________ C C POUTF - Output array of grid points C C C Common block usage C __________________ C C JDCNDBG C C C Method C ______ C C Moves latitude rows of points from PZFA into the correct C geographical positions in POUTF. POUTF may already be C partially full. The distribution is symmetrical north-south. C C C Externals C _________ C C INTLOG - Logs messages C INTLOGR - Logs messages with real value. C C C Reference C _________ C C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C C Comments C ________ C C For calculation purposes, the number of longitude points C has to be greater than 2*(output truncation) to ensure that the C fourier transform is exact (see Reference, page 10). C Parameter JPLONO is set to 860 to ensure that PZFA will have C enough slots for the KLON points for all values of regular C grid intervals from N1 to N720. C C When filling the output array POUTF, the longitude points have C have to be taken selectively to avoid the intermediate generated C points, picking up values only at the required longitudes. The C magnification factor is KJPWR (a power of 2). C C PZFA has values stored: C North lat1: x, 1, x, 2, x, 3, x, ... , KLON, ... C South lat1: x, 1, x, 2, x, 3, x, ... , KLON, ... C North lat2: x, 1, x, 2, x, 3, x, ... , KLON, ... C South lat2: x, 1, x, 2, x, 3, x, ... , KLON, ... C ... for KROWS latitudes. C C The 'x' represents the extra values generated because of the C need for the number of points along a latitude line to be more C than twice the truncation of the spherical harmonics. C C C Author C ______ C C J.D.Chambers ECMWF Jan 1994 C C C Modifications C _____________ C C None C C----< C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Subroutine arguments INTEGER KSTART, KGNUM REAL PZFA, PWEST, POUTF DIMENSION PZFA( JPLONO+2, 64), POUTF(*) INTEGER KROWS, KCOLS, KLON, KJPWR, KOFSET, KFLAG DIMENSION KOFSET(*) C C Parameters INTEGER JPROUTINE PARAMETER( JPROUTINE = 31800 ) C C Local variables INTEGER IOFFN, IOFFS, NXTLAT, NXTLON, NEXTPT INTEGER LONGIT, N360, NSTART REAL PINTVL C C _______________________________________________________ C C* Section 1. Initialization C _______________________________________________________ C 100 CONTINUE C IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG,'JMOVGG - Input parameters:',JPQUIET) CALL INTLOGR(JP_DEBUG, X 'Western longitude for output = ', PWEST) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Gaussian number for field = ', KGNUM) CALL INTLOG(JP_DEBUG, X 'JMOVGG - First latitude for moving = ', KSTART) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Number of latitudes to store = ', KROWS) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Number of longitude pts per row = ', KCOLS) CALL INTLOG(JP_DEBUG, X 'JMOVGG - No. long.pts per generated row = ', KLON) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Multiplication factor applied = ', KJPWR) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Move hemisphere(1=N,2=S,3=both) = ', KFLAG) C CALL INTLOG(JP_DEBUG, X 'JMOVGG - Offsets(20) for each lat. in output array:',JPQUIET) C DO 101 NDBGLP = 1, 20 CALL INTLOG(JP_DEBUG,' ',KOFSET(NDBGLP)) 101 CONTINUE ENDIF C C Calculate which longitude point to start from in row N360 = 4*KGNUM PINTVL = 360.0/FLOAT(N360) LONGIT = NINT( (360.0 + PWEST)/PINTVL ) NSTART = MOD( LONGIT, N360)*KJPWR IF ( NDBG .GT. 1) THEN CALL INTLOGR(JP_DEBUG, X 'Longitude interval along row = ', PINTVL) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Start longitude = ', LONGIT) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Modulus for longitude 360deg. = ', N360) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Start point index = ', NSTART) ENDIF C _______________________________________________________ C C C* Section 2. Store the points for northern latitudes, southern C* latitudes or both. C _______________________________________________________ C 200 CONTINUE C C Store Northern latitudes .. C .. skipping intermediate values - see calculation of NEXTPT below C IF ( KFLAG .NE. 2 ) THEN C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Storing North latitudes',JPQUIET) C DO 222 NXTLAT = 1, KROWS*2, 2 C C Find start offset in storage array IOFFN = KOFSET(KSTART + NXTLAT/2) - 1 DO 220 NXTLON = 1, KCOLS NEXTPT = 2 + MOD( NSTART + (NXTLON-1)*KJPWR , KLON) POUTF( NXTLON + IOFFN ) = PZFA( NEXTPT, NXTLAT) 220 CONTINUE 222 CONTINUE ENDIF C C Store Southern latitudes .. C .. skipping intermediate values - see calculation of NEXTPT below C IF ( KFLAG .NE. 1 ) THEN C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMOVGG - Storing South latitudes',JPQUIET) C DO 242 NXTLAT = 2, KROWS*2, 2 C C Find start offset in storage array IOFFS = KOFSET(2*KGNUM - KSTART + 1 - NXTLAT/2 + 1) - 1 DO 240 NXTLON = 1, KCOLS NEXTPT = 2 + MOD( NSTART + (NXTLON-1)*KJPWR , KLON) POUTF( NXTLON + IOFFS ) = PZFA( NEXTPT, NXTLAT) 240 CONTINUE 242 CONTINUE C ENDIF C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_2000.h0000755000175000017500000003276512127406245022503 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG2000(2000) DATA QG2000/ X 18, 25, 32, 40, 45, 50, 60, 60, 72, 72, X 75, 81, 90, 96, 96, 108, 108, 120, 120, 120, X 125, 135, 135, 144, 144, 150, 160, 160, 180, 180, X 180, 180, 192, 192, 192, 200, 216, 216, 216, 225, X 240, 240, 243, 250, 256, 270, 270, 288, 300, 300, X 320, 320, 320, 360, 360, 360, 360, 360, 360, 375, X 375, 384, 400, 400, 400, 405, 432, 432, 432, 432, X 450, 450, 450, 480, 480, 480, 480, 486, 500, 500, X 500, 512, 512, 540, 540, 540, 540, 576, 576, 576, X 576, 576, 600, 600, 600, 600, 625, 625, 625, 625, X 640, 640, 640, 648, 675, 675, 675, 675, 720, 720, X 720, 720, 720, 720, 720, 729, 750, 750, 750, 750, X 768, 768, 768, 800, 800, 800, 800, 800, 810, 864, X 864, 864, 864, 864, 864, 864, 864, 864, 900, 900, X 900, 900, 900, 900, 960, 960, 960, 960, 960, 960, X 960, 960, 960, 972, 972, 1000, 1000, 1000, 1000, 1000, X 1024, 1024, 1024, 1080, 1080, 1080, 1080, 1080, 1080, 1080, X 1080, 1080, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1152, X 1152, 1152, 1152, 1152, 1200, 1200, 1200, 1200, 1200, 1200, X 1200, 1215, 1215, 1215, 1250, 1250, 1250, 1250, 1250, 1280, X 1280, 1280, 1280, 1280, 1296, 1296, 1296, 1350, 1350, 1350, X 1350, 1350, 1350, 1350, 1350, 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, X 1458, 1458, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1536, X 1536, 1536, 1536, 1536, 1536, 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, 1600, 1620, 1620, 1620, 1728, X 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, 1728, 1800, 1800, 1800, 1800, X 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1875, 1875, X 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, X 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1944, 1944, 1944, X 1944, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, X 2025, 2025, 2025, 2025, 2048, 2048, 2048, 2048, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, 2160, 2187, 2187, 2187, 2187, X 2187, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, X 2250, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, X 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, 2400, 2430, 2430, 2430, 2430, X 2430, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2560, 2560, 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2592, 2592, 2592, 2592, 2592, 2700, 2700, X 2700, 2700, 2700, 2700, 2700, 2700, 2700, 2700, 2700, 2700, X 2700, 2700, 2700, 2700, 2700, 2700, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880, X 2880, 2880, 2880, 2880, 2880, 2880, 2916, 2916, 2916, 2916, X 2916, 2916, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, X 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3072, 3072, 3072, X 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3125, X 3125, 3125, 3125, 3125, 3125, 3125, 3125, 3125, 3200, 3200, X 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200, X 3200, 3240, 3240, 3240, 3240, 3240, 3240, 3240, 3375, 3375, X 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, X 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, X 3375, 3456, 3456, 3456, 3456, 3456, 3456, 3456, 3456, 3456, X 3456, 3456, 3456, 3456, 3456, 3456, 3600, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, X 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, X 3600, 3645, 3645, 3645, 3645, 3645, 3645, 3645, 3645, 3750, X 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, X 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3840, 3840, X 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, X 3840, 3840, 3840, 3840, 3888, 3888, 3888, 3888, 3888, 3888, X 3888, 3888, 3888, 4000, 4000, 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, X 4000, 4000, 4000, 4050, 4050, 4050, 4050, 4050, 4050, 4050, X 4050, 4050, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, X 4096, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, X 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, X 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, X 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, 4320, X 4320, 4320, 4374, 4374, 4374, 4374, 4374, 4374, 4374, 4374, X 4374, 4374, 4500, 4500, 4500, 4500, 4500, 4500, 4500, 4500, X 4500, 4500, 4500, 4500, 4500, 4500, 4500, 4500, 4500, 4500, X 4500, 4500, 4500, 4500, 4500, 4500, 4608, 4608, 4608, 4608, X 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, X 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4800, 4800, 4800, X 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, X 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, X 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, X 4800, 4800, 4800, 4800, 4800, 4860, 4860, 4860, 4860, 4860, X 4860, 4860, 4860, 4860, 4860, 4860, 4860, 5000, 5000, 5000, X 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, X 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, X 5000, 5000, 5000, 5000, 5000, 5120, 5120, 5120, 5120, 5120, X 5120, 5120, 5120, 5120, 5120, 5120, 5120, 5120, 5120, 5120, X 5120, 5120, 5120, 5120, 5120, 5120, 5120, 5120, 5120, 5184, X 5184, 5184, 5184, 5184, 5184, 5184, 5184, 5184, 5184, 5184, X 5184, 5184, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, X 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, X 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, X 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, X 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5625, 5625, X 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, X 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, X 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, X 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, X 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5760, 5760, 5760, X 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, X 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, X 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5760, 5832, 5832, X 5832, 5832, 5832, 5832, 5832, 5832, 5832, 5832, 5832, 5832, X 5832, 5832, 5832, 5832, 6000, 6000, 6000, 6000, 6000, 6000, X 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, X 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, X 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, X 6000, 6000, 6000, 6075, 6075, 6075, 6075, 6075, 6075, 6075, X 6075, 6075, 6075, 6075, 6075, 6075, 6075, 6075, 6075, 6075, X 6075, 6075, 6144, 6144, 6144, 6144, 6144, 6144, 6144, 6144, X 6144, 6144, 6144, 6144, 6144, 6144, 6144, 6144, 6250, 6250, X 6250, 6250, 6250, 6250, 6250, 6250, 6250, 6250, 6250, 6250, X 6250, 6250, 6250, 6250, 6250, 6250, 6250, 6250, 6250, 6250, X 6250, 6250, 6250, 6250, 6250, 6400, 6400, 6400, 6400, 6400, X 6400, 6400, 6400, 6400, 6400, 6400, 6400, 6400, 6400, 6400, X 6400, 6400, 6400, 6400, 6400, 6400, 6400, 6400, 6400, 6400, X 6400, 6400, 6400, 6400, 6400, 6400, 6400, 6400, 6400, 6400, X 6400, 6400, 6400, 6400, 6480, 6480, 6480, 6480, 6480, 6480, X 6480, 6480, 6480, 6480, 6480, 6480, 6480, 6480, 6480, 6480, X 6480, 6480, 6480, 6480, 6480, 6561, 6561, 6561, 6561, 6561, X 6561, 6561, 6561, 6561, 6561, 6561, 6561, 6561, 6561, 6561, X 6561, 6561, 6561, 6561, 6561, 6561, 6561, 6750, 6750, 6750, X 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, X 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, X 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, X 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, X 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, 6750, X 6750, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, X 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, X 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, X 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, X 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, 6912, X 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, X 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, X 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, X 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, X 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, X 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, X 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, X 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, X 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, 7200, X 7200, 7200, 7200, 7200, 7200, 7200, 7290, 7290, 7290, 7290, X 7290, 7290, 7290, 7290, 7290, 7290, 7290, 7290, 7290, 7290, X 7290, 7290, 7290, 7290, 7290, 7290, 7290, 7290, 7290, 7290, X 7290, 7290, 7290, 7290, 7290, 7290, 7290, 7290, 7290, 7500, X 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, X 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, X 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, X 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, X 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, X 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, X 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, X 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, X 7500, 7500, 7500, 7500, 7500, 7500, 7680, 7680, 7680, 7680, X 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, X 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, X 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, X 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, X 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, X 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, X 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, X 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, 7680, X 7680, 7680, 7680, 7680, 7680, 7776, 7776, 7776, 7776, 7776, X 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, X 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, X 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, X 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, X 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, 7776, X 7776, 7776, 7776, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, X 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000 / emoslib-000392+dfsg.1/interpolation/iareset.F0000755000175000017500000002045212127406245022116 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IARESET (KSEC2, KSEC4, KVALUES, KPR, KERR) C C----> C**** *IARESET* C C PURPOSE C _______ C C Generate the output field definition. C C INTERFACE C _________ C C IERR = IARESET (KSEC2, KSEC4, KVALUES, KPR, KERR) C C Input parameters C ________________ C C KSEC2 - The GRIB Section 2 array for the input field. C C KSEC4 - The GRIB Section 4 array for the input field. C C KVALUES - The number of values in the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KSEC2 - The modified GRIB Section 2 array for the output C field. C C KSEC4 - The modified GRIB Section 4 array for the output C field. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C nofld.common - This file contains all the output field C definition variables. C C NOACC - Number of packing bits to be used for output C GRIB field is used. C NOAREA - Output field area definition (N/W/S/E) is used. C NOGAUSS - Output field Gaussian truncation is used. C NOGRID - Output field grid definition (WE/NS) is used. C NONS - Number of grid points in NS direction for output C field is used. C NOREPR - Output field representation is used. C NOSCNM - Output field scanning mode is used. C NOWE - Number of grid points in WE direction for output C field is used. C C EXTERNALS C _________ C C SETPAR - Standard routine used to generate "missing" data C values for GRIB fields. C INTLOG(R) - Logs messages. C C METHOD C ______ C C This routine modifies sections 2 and 4 of the GRIB definition C to match the output field. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 4 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nofld.common" C C Dummy arguments INTEGER KVALUES, KPR, KERR INTEGER KSEC2 (JPGRIB_ISEC2), KSEC4 (JPGRIB_ISEC4) C C Local variables INTEGER IWEINC, ITEMP, IMISS, IERR INTEGER JPROUTINE PARAMETER (JPROUTINE = 24200) C C External functions C C Transform definition variables that must be preserved C C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IARESET: Section 1.',JPQUIET) C IARESET = 0 IERR = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IARESET: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'IARESET: No.bits for output field packing = ',NOACC) CALL INTLOG(JP_DEBUG, X 'IARESET: No.values to be packed = ',KVALUES) IF (NOREPR .EQ. JPREGULAR) THEN CALL INTLOG(JP_DEBUG, X 'IARESET: West-East stride = ', NOGRID (JPWESTEP)) CALL INTLOG(JP_DEBUG, X 'IARESET: North-South stride = ', NOGRID (JPNSSTEP)) ELSE CALL INTLOG(JP_DEBUG, X 'IARESET: Gaussian truncation = ',NOGAUSS) ENDIF ENDIF C C Get GRIB missing data value C CALL SETPAR (ITEMP, IMISS, KPR) C C Representation C KSEC2 (JPSEC2_REP) = NOREPR KSEC2 (JPSEC2_SCAN) = NOSCNM C C _______________________________________________________ C C* Section 2. Set Grib Section 2 regular grid variables C _______________________________________________________ C 200 CONTINUE C IF (NOREPR .EQ. JPREGULAR) THEN C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IARESET: Section 2.',JPQUIET) C KSEC2 (JPSEC2_QUASI) = 0 C KSEC2 (JPSEC2_NLONG) = NOWE KSEC2 (JPSEC2_NLAT) = NONS C KSEC2 (JPSEC2_NORTH) = NOAREA (JPNORTH) / 10 KSEC2 (JPSEC2_WEST) = NOAREA (JPWEST) / 10 KSEC2 (JPSEC2_SOUTH) = NOAREA (JPSOUTH) / 10 C IF (MOD (NOAREA (JPEAST), 10) .EQ. 5) THEN KSEC2 (JPSEC2_EAST) = NOAREA (JPEAST) / 10 + 1 ELSE KSEC2 (JPSEC2_EAST) = NOAREA (JPEAST) / 10 ENDIF C IF (MOD (NOGRID (JPWESTEP), 10) .EQ. 5 .OR. X MOD (NOGRID (JPNSSTEP), 10) .EQ. 5) THEN C KSEC2 (JPSEC2_RESOL) = 0 KSEC2 (JPSEC2_DLONG) = IMISS KSEC2 (JPSEC2_DLAT) = IMISS C ELSE C KSEC2 (JPSEC2_RESOL) = 128 KSEC2 (JPSEC2_DLONG) = NOGRID (JPWESTEP) / 10 KSEC2 (JPSEC2_DLAT) = NOGRID (JPNSSTEP) / 10 C ENDIF C C _______________________________________________________ C C* Section 3. Set Grib Section 2 Gaussian values C _______________________________________________________ C 300 CONTINUE C ELSE IF (NOREPR .EQ. JPGAUSSIAN) THEN C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IARESET: Section 3.',JPQUIET) C KSEC2 (JPSEC2_QUASI) = 0 C KSEC2 (JPSEC2_GTRUNC) = NOGAUSS KSEC2 (JPSEC2_NLONG) = NOWE KSEC2 (JPSEC2_NLAT) = NONS C KSEC2 (JPSEC2_NORTH) = NOAREA (JPNORTH) / 10 KSEC2 (JPSEC2_WEST) = NOAREA (JPWEST) / 10 KSEC2 (JPSEC2_SOUTH) = NOAREA (JPSOUTH) / 10 C IF (MOD (NOAREA (JPEAST), 10) .EQ. 5) THEN KSEC2 (JPSEC2_EAST) = NOAREA (JPEAST) / 10 + 1 ELSE KSEC2 (JPSEC2_EAST) = NOAREA (JPEAST) / 10 ENDIF C IWEINC = JP90 / NOGAUSS C IF (MOD (IWEINC, 10) .EQ. 5) THEN C KSEC2 (JPSEC2_RESOL) = 0 KSEC2 (JPSEC2_DLONG) = IMISS C ELSE C KSEC2 (JPSEC2_RESOL) = 128 KSEC2 (JPSEC2_DLONG) = IWEINC / 10 C ENDIF C ENDIF C C _______________________________________________________ C C* Section 4. Set Grib Section 4 values C _______________________________________________________ C 400 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IARESET: Section 4.',JPQUIET) C KSEC4 (JPSEC4_NVALUE) = KVALUES C IF (NOACC .NE. 0) KSEC4 (JPSEC4_NBITS) = NOACC C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IARESET: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/igalloc.F0000755000175000017500000002250512127406245022075 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGALLOC (KLEVEL, KREQUEST, KADDR, KPR, KERR) C C----> C**** *IGALLOC* C C PURPOSE C _______ C C This routine allocates heap space. C C INTERFACE C _________ C C IERR = IGALLOC (KLEVEL, KREQUEST, KADDR, KPR, KERR) C C Input parameters C ________________ C C KLEVEL - The heap block number. C C KREQUEST - The amount of heap space required. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KADDR - The base address of the heap space allocated. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C Cray error codes C Cray -1 HPDEALLC block is already free (Warning only). Cray Cray 24301 HPDEALLC attempt to free block at address outside the Cray bounds of the heap. Cray 24302 HPDEALLC attempt to free block at address which was not Cray the beginning of a block. Cray 24303 HPDEALLC returning any other non zero code. Cray 24304 HPALLOC request was not greater than 0 words. Cray 24305 HPALLOC called and not enough memory was available. Cray 24306 HPALLOC The memory arena has been truncated by a user Cray ssbreak(2) call. Cray 24307 HPALLOC returning any other non zero code. Cray Cray Errors 24301, 24302 and 24304 should not occur and any occurrence Cray of one of these errors should be reported to Meteorological Cray Applications. C C Sun and SGI error codes C C 24301 MALLOC memory allocation failed. C C Common block usage C __________________ C C memreq.h - This file contains the memory request definition C variables. C C MADDR - The base addresses of the currently allocated C memory segments are modified. C MREQUEST - The sizes of the current memory requests are modified. C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C Cray externals C Cray HPALLOC - Cray library routine to allocate heap space. Cray HPDEALLC - Cray library routine to de-allocate heap space. C C Sun and SGI externals C C JFREE - Unix routine to free heap space. C JMALLOC - Unix routine to acquire heap space. C C METHOD C ______ C C The heap block number is used to indicate which heap is being C modified. Currently heap 1 is used to acquire space for C expanding GRIB arrays into real arrays and heap 2 is used for C internal space during the interpolation process. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "memreq.h" C C Function arguments C INTEGER KLEVEL, KREQUEST, KPR, KERR #if (defined POINTER_64) INTEGER*8 KADDR #else INTEGER KADDR #endif C C Local variables C INTEGER IABORT, IERROR #ifdef POINTER_64 INTEGER*8 IDUMMY #else INTEGER IDUMMY #endif DATA IDUMMY/0/ INTEGER JPROUTINE PARAMETER (JPROUTINE = 24300) C C External functions C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif EXTERNAL JMALLOC C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IGALLOC = 0 C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGALLOC: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGALLOC: Heap number = ',KLEVEL) CALL INTLOG(JP_DEBUG,'IGALLOC: Heap request = ',KREQUEST) CALL INTLOG(JP_DEBUG,'IGALLOC: Current heap =',MREQUEST(KLEVEL)) ENDIF C C -----------------------------------------------------------------| C* Section 2. Calculate arrays of weights C -----------------------------------------------------------------| C 200 CONTINUE C IABORT = 0 IERROR = 0 C IF( MREQUEST(KLEVEL).LT.KREQUEST.AND.MREQUEST(KLEVEL).GT.0) THEN C C Memory required is greater than that currently allocated C C Return any heap in use for spectral -> grid point operations C CALL JMEMHAN(1,IDUMMY,IDUMMY,0,IERROR) CALL JMEMHAN(2,IDUMMY,IDUMMY,0,IERROR) C #ifdef CRAY Cray CALL HPDEALLC(MADDR(KLEVEL),IERROR,IABORT) IF( IERROR.EQ.-4 ) THEN IGALLOC = - 1 CALL INTLOG(JP_ERROR, X 'IGALLOC: Attempt to free block already free.',JPQUIET) CALL INTLOG(JP_ERROR, X 'IGALLOC: at address = ',MADDR(KLEVEL)) Cray ELSE IF( IERROR.NE.0 ) THEN Cray IF( IERROR.EQ.-3 ) THEN Cray IGALLOC = JPROUTINE + 1 IF( KERR.GE.0 ) THEN CALL INTLOG(JP_ERROR, X 'IGALLOC: Heap dealloc fail, error = ',IERROR) CALL INTLOG(JP_ERROR, X 'IGALLOC: Block outside heap at addr = ', MADDR(KLEVEL)) ENDIF Cray ELSE IF( IERROR.EQ.-5 ) THEN Cray IGALLOC = JPROUTINE + 2 IF( KERR.GE.0 ) THEN CALL INTLOG(JP_ERROR, X 'IGALLOC: Heap dealloc fail, error = ',IERROR) CALL INTLOG(JP_ERROR, X 'IGALLOC: Addr not at start of block = ', MADDR(KLEVEL)) ENDIF Cray ELSE Cray IGALLOC = JPROUTINE + 3 IF( KERR.GE.0 ) THEN CALL INTLOG(JP_ERROR, X 'IGALLOC: Heap dealloc fail, error = ',IERROR) CALL INTLOG(JP_ERROR, X 'IGALLOC: Attempt to free block addr = ', MADDR(KLEVEL)) ENDIF Cray ENDIF Cray IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IGALLOC: Interpolation failed.',IGALLOC) GOTO 900 Cray ENDIF #else CALL JFREE (MADDR (KLEVEL) ) #endif ENDIF C C First request for memory. C IF( MREQUEST(KLEVEL).LT.KREQUEST ) THEN C C Return any heap in use for spectral -> grid point operations C CALL JMEMHAN(1,IDUMMY,IDUMMY,0,IERROR) CALL JMEMHAN(2,IDUMMY,IDUMMY,0,IERROR) C #ifdef CRAY CALL HPALLOC(MADDR(KLEVEL),KREQUEST,IERROR,IABORT) Cray IF( IERROR.NE.0 ) THEN Cray IF( IERROR.EQ.-1 ) THEN IGALLOC = JPROUTINE + 4 IF( KERR.GE.0 ) CALL INTLOG(JP_ERROR, X 'IGALLOC: Negative memory request = ',KREQUEST) Cray ELSE IF( IERROR.EQ.-2 ) THEN IGALLOC = JPROUTINE + 5 IF( KERR.GE.0 ) CALL INTLOG(JP_ERROR, X 'IGALLOC: Heap alloc failed = ',IERROR) Cray ELSE IF( IERROR.EQ.-8 ) THEN IGALLOC = JPROUTINE + 6 IF( KERR.GE.0 ) CALL INTLOG(JP_ERROR, X 'IGALLOC: Heap alloc failed = ',IERROR) Cray ELSE Cray IGALLOC = JPROUTINE + 7 IF( KERR.GE.0 ) THEN CALL INTLOG(JP_ERROR, X 'IGALLOC: Heap alloc failed = ',IERROR) CALL INTLOG(JP_ERROR, X 'IGALLOC: Memory requested = ', KREQUEST) ENDIF ENDIF Cray IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IGALLOC: Interpolation failed.',IGALLOC) Cray GOTO 900 Cray ENDIF #else MADDR(KLEVEL) = JMALLOC(KREQUEST) #ifdef hpR64 MADDR(KLEVEL) = MADDR(KLEVEL)/(1024*1024*1024*4) #endif IF( MADDR(KLEVEL).EQ.0 ) THEN C IGALLOC = JPROUTINE + 8 CALL INTLOG(JP_ERROR,'IGALLOC: Memory requested = ',KREQUEST) CALL INTLOG(JP_ERROR, X 'IGALLOC: No more memory available from system.',JPQUIET) IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IGALLOC: Interpolation failed.',IGALLOC) GOTO 900 ENDIF #endif C KADDR = MADDR(KLEVEL) MREQUEST(KLEVEL) = KREQUEST C ELSE C C Memory required is <= to that already allocated C KADDR = MADDR(KLEVEL) C ENDIF C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGALLOC: Return heap address = ',KADDR) ENDIF C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGALLOC: Section 9.',JPQUIET) RETURN END emoslib-000392+dfsg.1/interpolation/sources.linux0000755000175000017500000001051512127406245023116 0ustar amckinstryamckinstryHEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jsymgg.F \ jstrll.F \ jstrwll.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ intocnu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ gasetup.F \ outrep.F \ gettru.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ sharedll.c \ sharedgg.c \ sharedlib.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ itimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/hrg2gg.F0000755000175000017500000003642312127406245021647 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HRG2GG(L12PNT,OLDFLD,KGNOLD,AREA,POLE, X KGNNEW,HGTYPE,NEWFLD,KSIZE,NUMPTS) C C----> C**** HRG2GG C C Purpose C ------- C C This routine creates a rotated gaussian field from a reduced C gaussian field using 12-point horizontal interpolation. C C C Interface C --------- C C IRET = HRG2GG(L12PNT,OLDFLD,KGNOLD,AREA,POLE, C X KGNNEW,HGTYPE,NEWFLD,KSIZE,NUMPTS) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C OLDFLD - Array of values from the old (reduced) gaussian field C KGNOLD - Gaussian number for the old gaussian field C AREA - Limits of area (N/W/S/E) C POLE - Pole of rotation (lat/long) C KGNNEW - Gaussian number for the new gaussian field C HGTYPE - Type of new gaussian field C 'F' = full, ie regular C 'R' = reduced, ie quasi-regular C KSIZE - The size of the array to fill with the regular C lat/long field C C C Output parameters C ----------------- C C NEWFLD - The array of values for the gaussian field C NUMPTS - Number of points in the new gaussian field. C C Returns 0 if function successful, non-zero otherwise. C C C Common block usage C ------------------ C C None C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C JGETGG - Reads the definition of a gaussian grid C HGENGG - Calculates original lat/long (before rotation) for C a rotated gaussian grid C HNEI12 - Finds neighbours for points for interpolation C HWTS12 - Calculates weightings for points for interpolation C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) C C Function arguments C LOGICAL L12PNT INTEGER KGNOLD, KGNNEW, KSIZE, NUMPTS REAL AREA(4), POLE(2), OLDFLD(*), NEWFLD(KSIZE) CHARACTER*1 HGTYPE C C Local variables C INTEGER NEXT, LOOP, IRET, NLEN, NOPREV, NNPREV, NBYTES, NUMBER INTEGER NEAREST CHARACTER*1 NNTYPE C CHARACTER*12 YFLAG LOGICAL LNEW, LFIRST, LVEGGY INTEGER KSCHEME(1),NEIGH(12,1), KLA(1) REAL PWTS(12,1) POINTER (IPKSCHE, KSCHEME) POINTER (IPNEIGH, NEIGH) POINTER (IPKLA, KLA) POINTER (IPPWTS, PWTS) C REAL PDLO0(1),PDLO1(1),PDLO2(1),PDLO3(1),PDLAT(1) POINTER (IPPDLO0, PDLO0) POINTER (IPPDLO1, PDLO1) POINTER (IPPDLO2, PDLO2) POINTER (IPPDLO3, PDLO3) POINTER (IPPDLAT, PDLAT) C INTEGER IGG, IGGOLD, INN, INNOLD INTEGER KPTS(1), KNPTS(1) REAL GLATS(1), GNLATS(1) INTEGER IOFFS(1) POINTER (IPKPTS, KPTS) POINTER (IPKNPTS, KNPTS) POINTER (IPIOFFS, IOFFS) POINTER (IPGLATS, GLATS) POINTER (IPGNLATS, GNLATS) C INTEGER ILL, ILLOLD REAL RLAT(1),RLON(1) POINTER (IPRLAT, RLAT) POINTER (IPRLON, RLON) C REAL OLD(1) POINTER (IOLD, OLD) C DATA NOPREV/-1/, NNPREV/-1/, NNTYPE/' '/ DATA LNEW/.FALSE./, LFIRST/.TRUE./ DATA IGGOLD/-1/, INNOLD/-1/, ILLOLD/-1/, IOLD/-1/ C SAVE LNEW, LFIRST SAVE IPKSCHE, IPNEIGH, IPKLA, IPPWTS SAVE IPPDLO0, IPPDLO1, IPPDLO2, IPPDLO3, IPPDLAT SAVE NOPREV,NNPREV,NNTYPE SAVE IGGOLD,INNOLD,IPKPTS,IPKNPTS,IPIOFFS,IPGLATS,IPGNLATS SAVE ILLOLD, IPRLAT, IPRLON, IOLD C C Externals C INTEGER HNEI12, HGENGG #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HRG2GG = 0 C CALL JDEBUG() IF( L12PNT ) THEN CALL INTLOG(JP_DEBUG,'HRG2GG: 12-pt interpolation',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'HRG2GG: 4-pt interpolation',JPQUIET) ENDIF C CALL CHKPREC() IF( LPREC )THEN CALL INTLOG(JP_DEBUG, X 'HRG2GG: precipitation threshold applied',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'HRG2GG: precipitation threshold not applied',JPQUIET) ENDIF C Are we handling vegetation parameter LVEGGY = (NITABLE.EQ.128).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30).OR. X (NIPARAM.EQ.43) ) C Force nearest neighbour processing with env variable CALL GETENV('NEAREST_NEIGHBOUR', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LVEGGY = .TRUE. C Force nearest neighbour processing with INTOUT parameter IF( LMETHOD ) LVEGGY = .TRUE. IF( LVEGGY ) CALL INTLOG(JP_DEBUG, X 'HRG2GG: nearest neighbour processing (vegetation)',JPQUIET) C C Dynamically allocate memory for old gaussian grid information. C IGG = KGNOLD*2 C IF( IGG.GT.IGGOLD ) THEN C IF( IGGOLD.GT.0 ) CALL JFREE(IPKPTS) C NBYTES = (IGG*JPRLEN) + (2*IGG+1)*JPBYTES C IPKPTS = JMALLOC(NBYTES) #ifdef hpR64 IPKPTS = IPKPTS/(1024*1024*1024*4) #endif IF( IPKPTS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2GG: Memory allocation fail',JPQUIET) HRG2GG = 1 GOTO 900 ENDIF C IPGLATS = IPKPTS + (IGG*JPBYTES) IPIOFFS = IPGLATS + (IGG*JPRLEN) C IGGOLD = IGG NOPREV = -1 C ENDIF C C Build up offsets to start of each latitude in the original field. C IF( KGNOLD.NE.NOPREV ) THEN CALL JGETGG(KGNOLD,'R',GLATS,KPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GG: JGETGG failed to get gaussian data',JPQUIET) HRG2GG = 2 GOTO 900 ENDIF C IOFFS(1) = 1 DO LOOP = 2, (KGNOLD*2+1) IOFFS(LOOP) = IOFFS(LOOP-1) + KPTS(LOOP-1) ENDDO C C Allocate memory to hold the input field C (in case OLDFLD and NEWFLD are the same arrays) C IF( IOLD.GT.0 ) CALL JFREE(IOLD) C NUMBER = (IOFFS(KGNOLD*2+1) - 1) NBYTES = NUMBER * JPRLEN C IOLD = JMALLOC(NBYTES) #ifdef hpR64 IOLD = IOLD/(1024*1024*1024*4) #endif IF( IOLD.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2GG: Memory allocation fail',JPQUIET) HRG2GG = 3 GOTO 900 ENDIF C NOPREV = KGNOLD ENDIF C C Preserve the input field C NUMBER = (IOFFS(KGNOLD*2+1) - 1) DO LOOP = 1, NUMBER OLD(LOOP) = OLDFLD(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 2. Generate the lat/long points for the output grid C -----------------------------------------------------------------| C 200 CONTINUE C C C Dynamically allocate memory for gaussian grid information. C INN = KGNNEW*2 C IF( INN.GT.INNOLD ) THEN C IF( INNOLD.GT.0 ) CALL JFREE(IPKNPTS) C NBYTES = (INN*JPRLEN) + (INN*JPBYTES) C IPKNPTS = JMALLOC(NBYTES) #ifdef hpR64 IPKNPTS = IPKNPTS/(1024*1024*1024*4) #endif IF( IPKNPTS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2GG: Memory allocation fail',JPQUIET) HRG2GG = 1 GOTO 900 ENDIF C IPGNLATS = IPKNPTS + (INN*JPBYTES) C INNOLD = INN NNPREV = -1 ENDIF C IF( HGTYPE.EQ.'F' ) THEN IF( (KGNNEW.NE.NNPREV).OR.(HGTYPE.NE.NNTYPE) ) THEN NLEN = KGNNEW * KGNNEW * 8 CALL JGETGG(KGNNEW,'F',GNLATS,KNPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GG: JGETGG failed to get gaussian data',JPQUIET) HRG2GG = 2 GOTO 900 ENDIF NNPREV = KGNNEW NNTYPE = HGTYPE ENDIF ELSE IF( (KGNNEW.NE.NNPREV).OR.(HGTYPE.NE.NNTYPE) ) THEN CALL JGETGG(KGNNEW,'R',GNLATS,KNPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GG: JGETGG failed to get gaussian data',JPQUIET) HRG2GG = 2 GOTO 900 ENDIF C NLEN = 0 DO LOOP = 1, KGNNEW*2 NLEN = NLEN + KNPTS(LOOP) ENDDO NNPREV = KGNNEW NNTYPE = HGTYPE ENDIF ENDIF C C Check that given array is big enough for the new field. C IF( NLEN.GT.KSIZE ) THEN CALL INTLOG(JP_ERROR,'HRG2GG: Given array size = ',KSIZE) CALL INTLOG(JP_ERROR,'HRG2GG: Required size = ',NLEN) HRG2GG = 4 GOTO 900 ENDIF C C Dynamically allocate memory for lat/long arrays. C ILL = NLEN IF( ILL.GT.ILLOLD ) THEN C LNEW = .TRUE. C IF( ILLOLD.GT.0 ) CALL JFREE(IPRLON) C NBYTES = 2*ILL*JPRLEN C IPRLON = JMALLOC(NBYTES) #ifdef hpR64 IPRLON = IPRLON/(1024*1024*1024*4) #endif IF( IPRLON.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2GG: Memory allocation fail',JPQUIET) HRG2GG = 5 GOTO 900 ENDIF C IPRLAT = IPRLON + (ILL*JPRLEN) C ILLOLD = ILL C ENDIF C IRET = HGENGG(AREA,POLE,KGNNEW,HGTYPE,KNPTS,GNLATS,ILL, X RLAT,RLON,NUMPTS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GG: HGENGG failed to get lat/lon grid data',JPQUIET) HRG2GG = 6 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 3. Find neighbours for each point for interpolation. C -----------------------------------------------------------------| C 300 CONTINUE C C Dynamically allocate memory for interpolation arrays. C IF( LNEW ) THEN C IF( .NOT.LFIRST ) CALL JFREE(IPPDLO0) C NBYTES = (17*JPRLEN + 14*JPBYTES) * ILL C IPPDLO0 = JMALLOC(NBYTES) #ifdef hpR64 IPPDLO0 = IPPDLO0/(1024*1024*1024*4) #endif IF( IPPDLO0.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2GG: Memory allocation fail',JPQUIET) HRG2GG = 7 GOTO 900 ENDIF C IPPDLO1 = IPPDLO0 + (ILL*JPRLEN) IPPDLO2 = IPPDLO1 + (ILL*JPRLEN) IPPDLO3 = IPPDLO2 + (ILL*JPRLEN) IPPDLAT = IPPDLO3 + (ILL*JPRLEN) IPPWTS = IPPDLAT + (ILL*JPRLEN) IPKSCHE = IPPWTS + (12*ILL*JPRLEN) IPKLA = IPKSCHE + (ILL*JPBYTES) IPNEIGH = IPKLA + (ILL*JPBYTES) C LFIRST = .FALSE. LNEW = .FALSE. C ENDIF C C Find neighbours. C IRET = HNEI12(L12PNT,NLEN,RLAT,RLON,KGNOLD,KPTS,GLATS, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GG: HNEI12 failed to find neighbours',JPQUIET) HRG2GG = 8 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 4. Perform the 12-point horizontal interpolation. C -----------------------------------------------------------------| C 400 CONTINUE C C Setup the 12-point horizontal interpolation weights C CALL HWTS12 X (NLEN,KSCHEME,KLA,PDLAT,GLATS,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X PWTS) C C Calculate the interpolated grid point values C DO LOOP = 1, NLEN IF( LVEGGY) THEN NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 IF( PWTS( 5,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 5 IF( PWTS( 6,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 6 IF( PWTS( 7,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 7 IF( PWTS( 8,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 8 IF( PWTS( 9,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 9 IF( PWTS(10,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =10 IF( PWTS(11,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =11 IF( PWTS(12,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =12 NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ELSE IF( KSCHEME(LOOP).EQ.JP12PT ) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLD(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLD(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLD(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLD(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLD(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLD(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLD(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLD(NEIGH(12,LOOP)) * PWTS(12,LOOP) C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) X NEWFLD(LOOP) = OLD(NEIGH(NEXT,LOOP)) ENDDO C ENDIF ENDIF ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/fortdefs.h0000755000175000017500000000110612127406245022333 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef FORTDEFS_H #define FORTDEFS_H #ifdef REAL_8 #define fortreal long double #define fortint int #else #define fortreal float #define fortint int #endif #endif /* end of FORTDEFS_H */ emoslib-000392+dfsg.1/interpolation/wv2dint.F0000755000175000017500000002020412127406245022052 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WV2DINT(KNUM,NUMPTS,KE_W,KN_S,RESON,OLDWAVE, X NEWWAVE,NORTH,WEST,KNSPEC,PMISS,RNS) C C----> C*****WV2DINT* C C PURPOSE C ------- C C To interpolate a wave field quasi-regular latitude C longitude grid to a regular latitude/longitude grid. C C C INTERFACE C --------- C C IRET = WV2DINT(KNUM,NUMPTS,KE_W,KN_S,RESON,OLDWAVE, C NEWWAVE,NORTH,WEST,KNSPEC,PMISS,RNS) C C Input arguments C --------------- C C KNUM - No. of meridians from North to South pole (input field) C NUMPTS - Array giving number of points along each latitude C (empty latitudes have entry 0) C KE_W - First dimension of new array C = Number of points E-W in new grid C KN_S - Second dimension of new array C = Number of points N-S in new grid C RESON - Output grid resolution (degrees) C OLDWAVE - Original wave field C NORTH - Output grid northernmost latitude (degree) C WEST - Output grid westernmost longitude (degree) C KNSPEC - Number of 2D spectra values at each wave point C PMISS - Missing data value C RNS - Difference in degrees in NS disrection C C Output arguments C ---------------- C NEWWAVE - New wave field C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C The nearest neighbouring grid point value is assigned to C the interpolated point. C C The output (sub) is the same as the input area. C C C EXTERNALS C --------- C C INTLOG - Log error message. C C C REFERENCE C --------- C C Based on: C SUBROUTINE INTERPOLATE C Peter Janssen ECMWF September 1995 C and: C SUBROUTINE EXPOINT C Heinz Gunther ECMWF December 1989 C C C Author. C ------- C C J.D.Chambers ECMWF November 1996 C C J.D.Chambers ECMWF September 1998 C Modified to handle subarea input/output. C The output (sub) is the same as the input area. C C C----< C IMPLICIT NONE C #include "parim.h" C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19410 ) INTEGER JPLLMAX PARAMETER ( JPLLMAX = 1801 ) C `--> allow upto 0.1 degree resolution for C Mediterranean, 0.1 for Global INTEGER JPNMOUT PARAMETER ( JPNMOUT = 1800 ) C `--> allow upto 0.1 degree resolution for C Mediterranean, 0.1 for Global C C Subroutine arguments C INTEGER KNUM, NUMPTS, KE_W, KN_S, KNSPEC DIMENSION NUMPTS(*) REAL RESON, OLDWAVE, NEWWAVE, NORTH, WEST, PMISS REAL RNS DIMENSION OLDWAVE(*) DIMENSION NEWWAVE(KE_W,KN_S) C C Local arguments C INTEGER NLAT, K, I, NEWCOL, NEWROW,LOOP INTEGER I_NW, I_SW, I_N, I_S, I_NE, I_SE REAL DELONGN, DELONGS, DELAT REAL DIST_NW, DIST_SW, DIST_NE, DIST_SE, DIST_N, DIST_S REAL DISNW, DISNE, DISSW, DISSE REAL ZXIN, ZXIS, LON, LAT DIMENSION LON(JPNMOUT*2),LAT(JPNMOUT+1) LOGICAL INGRID INTEGER INDEX DIMENSION INDEX(JPLLMAX) C REAL OLDLATS(JPLLMAX), OLDEAST INTEGER NEXT, NUMNEW(JPLLMAX) INTEGER IRET, WV2DIDX,W251IDX EXTERNAL WV2DIDX, W251IDX INTEGER XKNUM,XKE_W,XKN_S DATA XKNUM/-1/,XKE_W/-1/,XKN_S/-1/ REAL XRESON,XNORTH,XWEST DATA XRESON/-999.0/,XNORTH/-999.0/,XWEST/-999.0/ INTEGER IFIRST, NEWIDX(1440*721) DATA IFIRST/0/ REAL DEPS DATA DEPS/0.00005/ C SAVE IFIRST,XKNUM,XKE_W,XKN_S,XRESON,XNORTH,XWEST,NEWIDX C C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WV2DINT = 0 CALL INTLOG(JP_DEBUG, X 'WV2DINT: Wave interpolation requested.',JPQUIET) C C Check only new-style 2D wave spectra (parameter 251) C IF( KNSPEC.GT.1 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DINT: Only single-value 2D spectra field allowed',JPQUIET) CALL INTLOG(JP_ERROR, X 'WV2DINT: Value given = ',KNSPEC) WV2DINT = JPROUTINE + 1 GOTO 900 ENDIF C C Check reduced latitude/longitude grid specification C IF( KNUM.GT.JPLLMAX ) THEN CALL INTLOG(JP_ERROR, X 'WV2DINT: Number of latitudes in input lat/long grid = ',KNUM) CALL INTLOG(JP_ERROR, X 'WV2DINT: And is greater than allowed maximum = ',JPLLMAX) WV2DINT = JPROUTINE + 2 GOTO 900 ENDIF C C Ensure working array dimensions are adequate for required output. C IF( (KE_W.GT.JPNMOUT*2).OR.(KN_S.GT.JPNMOUT+1) ) THEN CALL INTLOG(JP_ERROR, X 'WV2DINT: Internal array dimensions are too small',JPQUIET) CALL INTLOG(JP_ERROR, X 'WV2DINT: for given lat/long output field.',JPQUIET) WV2DINT = JPROUTINE + 3 GOTO 900 ENDIF C C Set up index for latitude lines in the input reduced lat/lon array C INDEX(1) = 0 DO K = 2, KNUM INDEX(K) = INDEX(K-1) + NUMPTS(K-1) ENDDO C C Calculate latitudes and longitudes of output grid points. C C DO K = 1, KN_S LAT(K) = NORTH - FLOAT(K-1)*RESON NUMNEW(K) = KE_W ! 0 ENDDO DELAT = RNS/(KNUM-1) DO k=1,KNUM OLDLATS(K) = NORTH - FLOAT(K-1)*DELAT END DO C IF( ABS((KE_W*RESON)-360.0).LT.DEPS ) THEN OLDEAST = WEST + KE_W*RESON ELSE OLDEAST = WEST + (KE_W-1)*RESON ENDIF C C Initialise all points with 'missing data' indicator C DO NEWROW = 1, KN_S DO NEWCOL = 1, KE_W NEWWAVE(NEWCOL,NEWROW) = PMISS ENDDO ENDDO C C --------------------------------------------------------------------- C* Section 2. Interpolation. C --------------------------------------------------------------------- C 200 CONTINUE C C Only calculate the indices on the first time through C IF( (IFIRST.EQ.0 ) .OR. X ( KNUM.NE.XKNUM ) .OR. X ( KE_W.NE.XKE_W ) .OR. X ( KN_S.NE.XKN_S ) .OR. X ( RESON.NE.XRESON ).OR. X ( NORTH.NE.XNORTH ).OR. X ( WEST.NE.XWEST ) ) THEN IRET = W251IDX(KNUM,NUMPTS,OLDLATS,WEST,OLDEAST, X KN_S,NUMNEW,LAT,NEWIDX) IFIRST = 1 XKNUM = KNUM XKE_W = KE_W XKN_S = KN_S XRESON = RESON XNORTH = NORTH XWEST = WEST ENDIF C C DELAT = 180.0/(KNUM-1) DELAT = RNS/(KNUM-1) NEXT = 0 C DO 220 NEWROW = 1, KN_S C C Set up the distance between new row and the old rows to N and S. C NLAT = NINT((NORTH - LAT(NEWROW))/DELAT) + 1 I_N = NLAT I_S = MIN(I_N+1,KNUM*2) DIST_N = ((NORTH - DELAT*(I_N-1)) - LAT(NEWROW)) / DELAT DIST_S = 1.0 - DIST_N C C Check if the new interpolated row lies between 2 old rows which C have data points C IF( (NUMPTS(I_N).GT.0).AND.(NUMPTS(I_S).GT.0) ) THEN C C Yes, use the calculated indices C DO 210 NEWCOL = 1, KE_W C NEXT = NEXT + 1 C NEWWAVE(NEWCOL,NEWROW) = OLDWAVE(NEWIDX(NEXT)) C 210 CONTINUE Else NEXT = NEXT + KE_W ENDIF C 220 CONTINUE C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE C IF( WV2DINT.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, X 'WV2DINT: Wave interpolation successful.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'WV2DINT: Wave interpolation failed.',JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/ppallow.F0000755000175000017500000001400012127406245022130 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION PPALLOW(NM,SLAT) C C----> C**** PPALLOW C C Purpose C ------- C C C --------- C C LFOUND = PPALLOW(NM,SLAT) C C C Input C ----- C C NM - Triangular truncation number of the field.. C SLAT - Rotation angle (degrees, REAL*8) C (degrees, negative => rotate counter-clockwise about the C new Z-axis). C C C Output C ------ C C Function returns .TRUE. if coefficients are in the list of C 'standard' rotations and allowed in mrfs. C C C Method C ------ C C Checks a configuration file to find the allowed rotations. C This file may have its pathname given by the environment variable C PP_ALLOWED_ROTATIONS or may be in a standard directory. C Only picks up configuration values on first call. C C The configuration file is read by Fortran and has format C (I4,1X,F8). Eg. C C 159 -14.0000 C 319 60.0000 C 319 -60.0000 C C Externals C --------- C C GETENV - Gets value in an environment variable. C INTLOG - Output log message. C JDEBUG - Checks environment to switch on/off debug. C C C Author C ------ C C J.D.Chambers ECMWF June 2000 C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Function arguments. C INTEGER NM REAL*8 SLAT C C Parameters. C INTEGER JPLIST, JPDEFL PARAMETER (JPLIST = 20 ) C = number of values which can be read C PARAMETER (JPDEFL = 3 ) C = number of values in default list C C Local variables. C INTEGER FILENM, LOOP, LISTLEN INTEGER NMDEF(JPDEFL), INM(JPLIST) REAL*8 SLATDEF(JPDEFL), XLAT(JPLIST) CHARACTER*256 FILENAME CHARACTER*80 STANDARD CHARACTER*16 HOST LOGICAL LDEBUG, LFOUND C C Externals C DATA NMDEF/159,319,319/, SLATDEF/-14.0,60.0,-60.0/ DATA LDEBUG/.FALSE./, LFOUND/.FALSE./ DATA FILENM/65/ C SAVE LDEBUG, LFOUND, INM, XLAT, LISTLEN C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C PPALLOW = .FALSE. C C Only pick up configuration values on first call C IF( LFOUND ) GOTO 400 C LFOUND = .TRUE. C CALL JDEBUG() LDEBUG = NDBG.GT.0 C C -----------------------------------------------------------------| C* Section 2. Open the configuration file C -----------------------------------------------------------------| C 200 CONTINUE C C If the environment variable points to a file, try to open it. C Otherwise, get the file from a standard directory. C CALL GETENV('PP_ALLOWED_ROTATIONS', FILENAME) IF( FILENAME(1:1).NE.' ' ) THEN IF( LDEBUG) CALL INTLOG(JP_DEBUG, X 'PPALLOW: Trying to open file '//FILENAME,JPQUIET) OPEN( FILENM, FILE=FILENAME, STATUS='OLD', ERR=300) C ELSE C CALL GETENV('HOST',HOST) IF( HOST(1:7).EQ.'vpp5000') THEN STANDARD = '/vpp5000/mrfs/postproc/pp_allowed_rotations' ELSE IF (HOST(1:7).EQ.'vpp700e') THEN STANDARD = '/vpp700e/mrfs/postproc/pp_allowed_rotations' ELSE IF (HOST(1:6).EQ.'vpp700') THEN STANDARD = '/vpp700/mrfs/postproc/pp_allowed_rotations' ELSE STANDARD = '/home/ma/emos/data/pp_allowed_rotations' ENDIF IF( LDEBUG) CALL INTLOG(JP_DEBUG, X 'PPALLOW: Trying to open file '//STANDARD,JPQUIET) OPEN( FILENM, FILE=STANDARD, STATUS='OLD', ERR=300) ENDIF C IF( LDEBUG) CALL INTLOG(JP_DEBUG, 'PPALLOW: Open OK.',JPQUIET) LISTLEN = 0 C 210 CONTINUE C LISTLEN = LISTLEN + 1 READ(FILENM,'(I4,1X,F8.4)',END=220) INM(LISTLEN), XLAT(LISTLEN) GOTO 210 C 220 CONTINUE CLOSE(FILENM) LISTLEN = LISTLEN - 1 C GOTO 400 C C -----------------------------------------------------------------| C* Section 3. Use the internally defined values. C -----------------------------------------------------------------| C 300 CONTINUE C IF( LDEBUG) THEN CALL INTLOG(JP_DEBUG, X 'PPALLOW: No configuration file available.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'PPALLOW: Using internally defined values.',JPQUIET) ENDIF C DO LOOP = 1, JPDEFL INM(LOOP) = NMDEF(LOOP) XLAT(LOOP) = SLATDEF(LOOP) ENDDO LISTLEN = JPDEFL C C -----------------------------------------------------------------| C* Section 4. Check the current values against the list. C -----------------------------------------------------------------| C 400 CONTINUE C DO LOOP = 1, LISTLEN IF( (NM.EQ.INM(LOOP)).AND.(SLAT.EQ.XLAT(LOOP)) ) THEN IF( LDEBUG) THEN CALL INTLOG(JP_DEBUG, X 'PPALLOW: Rotation allowed in mrfs.',JPQUIET) CALL INTLOG(JP_DEBUG, 'PPALLOW: Truncation = ',NM) CALL INTLOGR(JP_DEBUG,'PPALLOW: Rotation = ', SLAT) ENDIF PPALLOW = .TRUE. GOTO 900 ENDIF ENDDO C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'PPALLOW: Rotation NOT allowed in mrfs.',JPQUIET) CALL INTLOG(JP_DEBUG, 'PPALLOW: Truncation = ',NM) CALL INTLOGR(JP_DEBUG,'PPALLOW: Rotation = ', SLAT) ENDIF C C -----------------------------------------------------------------| C* Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jsymgg.F0000755000175000017500000002351012127406245021760 0ustar amckinstryamckinstry#ifdef IBM @PROCESS HOT(NOVECTOR) NOSTRICT #endif C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JSYMGG( PSHUP, KTRUNC, KSTART, KLUNIT, KLATO, KLONO, X PLAT, PLEG, PTRIGS, KMFAX, PZFA, KRET) C C----> C**** JSYMGG C C PURPOSE C _______ C C This routine converts spectral input fields to standard C lat/long grid fields. C C INTERFACE C _________ C C CALL JSYMGG( PSHUP, KTRUNC, KSTART, KLUNIT, KLATO, KLONO, C X PLAT, PLEG, PTRIGS, KMFAX, PZFA, KRET) C C Input parameters C ________________ C C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C KSTART - Number of start latitude row (northernmost) for output C field (must be positive - see comments below) C KLUNIT - stream number of the legendre function file C KLATO - Number of latitude rows in output field C KLONO - Number of longitude points in output field C PLAT - Array of gaussian latitudes C PLEG - Array used to hold legendre functions C PTRIGS - Initialized array of trig.functions (setup by JJSET99) C KMFAX - Initialized array of prime factors (setup by JJSET99) C C Output parameters C ________________ C C PZFA - Output grid point field; contains upto 32 each of C North and South latitude rows symmetrically. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C None. C C Externals C _________ C C JREADGG - Reads the legendre functions for a latitude C FFT99 - Carries out FFT C INTLOG - Output log message C INTLOGR - Output log message (with real value) C NMAKGG - Make interpolation coefficients one latitude at a time C C Reference C _________ C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C Comments C ________ C C This is a redesign, based on SPECGP.F C C It handles transformation to a gaussian grid. C The generated grid is symmetrical about the equator, so C KSTART must be positive. C C It is not for U and V fields (no correction is applied at the C poles). C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C _______________________________________________________ C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "nifld.common" C C Subroutine arguments COMPLEX PSHUP DIMENSION PSHUP(*) INTEGER KTRUNC INTEGER KSTART INTEGER KLUNIT, KLATO, KLONO, KMFAX, KRET REAL PLAT, PLEG, PTRIGS, PZFA DIMENSION PZFA(JPLONO + 2, 64) DIMENSION KMFAX(*), PLAT(*), PLEG(*), PTRIGS(*) C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31200 ) C C Local variables INTEGER ILIM, IMLIM, ILN INTEGER ITAL, ITALA, ITALS, IMN, IMP INTEGER INORTH, ISOUTH INTEGER JM, J, JNEXTLAT, JF INTEGER NERR INTEGER*8 IOFF INTEGER*8 JDCLOOP C #ifdef POINTER_64 INTEGER*8 IWORK #endif REAL WORK DIMENSION WORK(1) POINTER ( IWORK, WORK ) COMPLEX ZSUMS(JPTRNC + 1), ZSUMA(JPTRNC + 1) COMPLEX*16 CHOLD C INTEGER ISIZE DATA ISIZE/0/ SAVE ISIZE, IWORK C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C C First time through, dynamically allocate memory for workspace C IF( ISIZE.EQ.0 ) THEN ISIZE = 2*JPFFT*64 CALL JMEMHAN( 9, IWORK, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JSYMGG: memory allocation error.',IWORK) KRET = JPROUTINE + 1 GOTO 990 ENDIF ENDIF C IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG, X 'JSYMGG: Spherical harmonic coeffs(first 20):',JPQUIET) DO 101 NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ',PSHUP( NDBGLP )) 101 CONTINUE CALL INTLOG(JP_DEBUG,'JSYMGG: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JSYMGG: Spherical harmonic truncation = ', KTRUNC) CALL INTLOG(JP_DEBUG, X 'JSYMGG: Start latitude(northernmost) = ', KSTART) CALL INTLOG(JP_DEBUG, X 'JSYMGG: Stream number of leg. file = ', KLUNIT) CALL INTLOG(JP_DEBUG, X 'JSYMGG: Number of lat. rows in output = ', KLATO) CALL INTLOG(JP_DEBUG, X 'JSYMGG: Number of long. pts per row = ', KLONO) CALL INTLOG(JP_DEBUG, X 'JSYMGG: Trig.functions (setup by JJSET99):',JPQUIET) DO 102 NDBGLP = 1, 10 CALL INTLOGR(JP_DEBUG,' ',PTRIGS( NDBGLP )) 102 CONTINUE CALL INTLOG(JP_DEBUG, X 'JSYMGG: Prime factors (setup by JJSET99):',JPQUIET) DO 103 NDBGLP = 1, 10 CALL INTLOG(JP_DEBUG,' ',KMFAX( NDBGLP )) 103 CONTINUE ENDIF C ILIM = KTRUNC + 1 IMLIM = KTRUNC + 1 INORTH = -1 ILN = KLONO + 2 C C _______________________________________________________ C C* Section 2. Main loop through latitude rows to C* calculate fourier coefficients C _______________________________________________________ C 200 CONTINUE C C For each latitude, the north and corresponding south latitude row C are calculated at the same time from the same legendre functions. C DO 280 JNEXTLAT = KSTART, KSTART+KLATO-1 C IF ( NDBG .GT. 1) X CALL INTLOG(JP_DEBUG,'JSYMGG: Next latitude = ', JNEXTLAT) C C If required, generate the coefficients 'on the fly' C IF( LON_FLY ) THEN CALL NMAKGG( KTRUNC, JNEXTLAT, PLAT, 1, PLEG, NERR) IOFF = 0 ELSE IF( LFILEIO ) THEN CALL JREADGG( KLUNIT, KTRUNC, JNEXTLAT, PLEG, NERR) IF ( NERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'JSYMGG: JREADGG error',NERR) KRET = JPROUTINE + 2 GOTO 990 ENDIF ELSE IOFF = (JNEXTLAT-1)*(KTRUNC+1)*(KTRUNC+4)/2 ENDIF C C Clear unused slots in array. C and one for the corresponding south latitude. C INORTH = INORTH + 2 ISOUTH = INORTH + 1 DO 241 JF = 2*IMLIM + 1, ILN PZFA(JF, INORTH) = 0.0 PZFA(JF, ISOUTH) = 0.0 241 CONTINUE C C Now fill slots which are used C IMN = 0 IMP = 0 C DO JM = 1, IMLIM ITAL = ILIM - JM + 1 ITALS = (ITAL + 1)/2 ITALA = ITAL/2 #ifndef CRAY CHOLD=(0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO J = 1, 2*ITALS, 2 #ifndef __uxp__ IF( LFILEIO ) THEN CHOLD=CHOLD+PLEG(IMP+J)*PSHUP(IMN+J) ELSE JDCLOOP = IOFF + IMP + J CHOLD=CHOLD+PLEG(JDCLOOP)*PSHUP(IMN+J) ENDIF #else JDCLOOP = IOFF + IMP + J CHOLD=CHOLD+PLEG(JDCLOOP)*PSHUP(IMN+J) #endif ENDDO ZSUMS(JM)=CHOLD #ifndef CRAY CHOLD = (0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO J = 2, 2*ITALA, 2 #ifndef __uxp__ IF( LFILEIO ) THEN CHOLD=CHOLD+PLEG(IMP+J)*PSHUP(IMN+J) ELSE JDCLOOP = IOFF + IMP + J CHOLD=CHOLD+PLEG(JDCLOOP)*PSHUP(IMN+J) ENDIF #else JDCLOOP = IOFF + IMP + J CHOLD=CHOLD+PLEG(JDCLOOP)*PSHUP(IMN+J) #endif ENDDO ZSUMA(JM)=CHOLD IMP = IMP + ITAL + 1 IMN = IMN + ITAL ENDDO C C For the southern hemisphere row, the legendre functions are C the complex conjugates of the corresponding northern row - C hence the juggling with the signs in the next loop. C C Note that PZFA is REAL, but the coefficients being calculated C are COMPLEX. There are pairs of values for each coefficient C (real and imaginary parts) and pairs of values for each C latitude (north and south). C DO 246 JM = 1, IMLIM PZFA(2*JM -1, INORTH) = REAL(ZSUMS(JM)) + REAL(ZSUMA(JM)) PZFA(2*JM , INORTH) = AIMAG(ZSUMS(JM)) + AIMAG(ZSUMA(JM)) PZFA(2*JM -1, ISOUTH) = REAL(ZSUMS(JM)) - REAL(ZSUMA(JM)) PZFA(2*JM , ISOUTH) = AIMAG(ZSUMS(JM)) - AIMAG(ZSUMA(JM)) 246 CONTINUE C C* End of main loop through latitude rows. C 280 CONTINUE C C _______________________________________________________ C C* Section 3. Fast fourier transform C _______________________________________________________ C 300 CONTINUE C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JSYMGG: FFT, no.of rows (N and S) = ',ISOUTH) C CALL FFT99(PZFA,WORK,PTRIGS,KMFAX,1,J2NFFT,KLONO,ISOUTH,1) C IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG, X 'JSYMGG: Values calculated by FFT:',JPQUIET) DO 301 NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ',PZFA( 1, NDBGLP )) CALL INTLOGR(JP_DEBUG,' ',PZFA( 2, NDBGLP )) 301 CONTINUE ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C C 900 CONTINUE C KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/jindex.c0000755000175000017500000000154012127406245021775 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "fortint.h" #ifdef FORTRAN_NO_UNDERSCORE #define JINDEX jindex #else #define JINDEX jindex_ #endif fortint JINDEX(char * name, long len) { /* // Called from Fortran: // // LEN = JINDEX(NAME) // // Returns the length of the character string (including embedded // blanks). */ fortint offset = len; char next; do { offset--; next = *(name+offset); if( next != ' ' ) { return (offset+1); } } while( offset >= 0 ); return len; } emoslib-000392+dfsg.1/interpolation/lrekam.F0000755000175000017500000001164312127406245021737 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION LREKAM(SHCIN,KTRUNC,SHCOUT,RANGLES) C C----> C**** LREKAM C C Purpose C ------- C C Reverses the rotation of a spherical harmonic field done by C MAKERL. C C C Interface C --------- C C IRET = LREKAM(SHCIN,KTRUNC,SHCOUT,RANGLES) C C Input C ----- C C SHCIN - Input array of spherical harmonics. C KTRUNC - Truncation of the spherical harmonics. C RANGLES - Coordinates of the south pole of rotation: C latitude/longitude. C C C Output C ------ C C SHCOUT - Output array of rotated spherical harmonics. C C Function returns 0 if all OK, otherwise the rotations failed. C C C Method C ------ C C Calls JACOBI and RPHI in the reverse order to that done by MAKERL. C C C Externals C --------- C C RPHI - Rotates spectral coefficients by longitude. #ifdef __uxp__ C JACOBIF - Rotates spectral coefficients by latitude. #else C JACOBI - Rotates spectral coefficients by latitude. #endif C INTLOG - Logs messages. C C Author C ------ C C J.D.Chambers ECMWF October, 1995. C C C----< C--------------------------------------------------------------------- C C IMPLICIT NONE #include "parim.h" #include "nofld.common" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 28400) INTEGER JPLEN, JPNM PARAMETER ( JPNM = JPSTRUNC ) PARAMETER ( JPLEN = (JPNM+1)*(JPNM+2) ) C C Function arguments. C REAL SHCIN, SHCOUT, RANGLES DIMENSION SHCIN(*), SHCOUT(*), RANGLES(*) INTEGER KTRUNC C C Local variables C REAL*8 DLON, DLAT REAL*8 WORK DIMENSION WORK(2*(JPNM+1)*(JPNM+6)) LOGICAL LOK INTEGER NBYTES, LOOP #if (defined CRAY) || (defined REAL_8) DATA NBYTES/8/ #else DATA NBYTES/4/ REAL*8 DATA DIMENSION DATA(JPLEN) #endif C C Externals C #ifdef __uxp__ LOGICAL JACOBIF EXTERNAL JACOBIF #else LOGICAL JACOBI EXTERNAL JACOBI #endif C C _______________________________________________________ C C* Section 1. Initialise. C _______________________________________________________ C 100 CONTINUE C LREKAM = 0 C C Check truncation not too big to handle. C IF( KTRUNC .GT. JPSTRUNC ) THEN CALL INTLOG(JP_FATAL,'LREKAM: Truncation max exceeded', JPQUIET) CALL INTLOG(JP_FATAL,'LREKAM: Truncation = ', KTRUNC) CALL INTLOG(JP_FATAL,'LREKAM: Allowed maximum = ', JPSTRUNC) LREKAM = JPROUTINE + 1 GOTO 900 ENDIF C C _______________________________________________________ C C* Section 2. Rotate the spectral coefficients. C _______________________________________________________ C 200 CONTINUE C #if (defined CRAY) || (defined REAL_8) DLAT = -(-90.0 - RANGLES(1)) DLON = RANGLES(2) C C Rotate the spectral field by latitude. C Negative DLAT => rotate counter-clockwise about new polar axis. C #if (defined __uxp__) LOK = JACOBIF( SHCIN, KTRUNC, WORK, DLAT) #else LOK = JACOBI( SHCIN, KTRUNC, WORK, DLAT) #endif IF(.NOT.LOK) THEN CALL INTLOG(JP_FATAL,'LREKAM: JACOBI failed.', JPQUIET) LREKAM = JPROUTINE + 2 GOTO 900 ENDIF C C Rotate the spectral field by longitude. C Positive DLON => frame rotated from west to east. C DO 210 LOOP = 1, (KTRUNC+1)*(KTRUNC+2) SHCOUT(LOOP) = SHCIN(LOOP) 210 CONTINUE CALL RPHI( SHCOUT, KTRUNC, WORK, DLON) #else DLAT = -(-90.0 - DBLE(RANGLES(1))) DLON = DBLE(RANGLES(2)) C C Expand spectral coefficients to REAL*8 DO 210 LOOP = 1, (KTRUNC+1)*(KTRUNC+2) DATA(LOOP) = DBLE(SHCIN(LOOP)) 210 CONTINUE C C Rotate the spectral field by latitude. C Negative DLAT => rotate counter-clockwise about new polar axis. C #if (defined __uxp__) LOK = JACOBIF( DATA, KTRUNC, WORK, DLAT) #else LOK = JACOBI( DATA, KTRUNC, WORK, DLAT) #endif IF(.NOT.LOK) THEN CALL INTLOG(JP_FATAL,'LREKAM: JACOBI failed.', JPQUIET) LREKAM = JPROUTINE + 2 GOTO 900 ENDIF C C Rotate the spectral field by longitude. C Positive DLON => frame rotated from west to east. C CALL RPHI( DATA, KTRUNC, WORK, DLON) C C Repack spectral coefficients to REAL*4. DO 220 LOOP = 1, (KTRUNC+1)*(KTRUNC+2) SHCOUT(LOOP) = SNGL(DATA(LOOP)) 220 CONTINUE #endif C C _______________________________________________________ C C* Section 9. Return. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/sscal.F0000755000175000017500000001222312127406245021564 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SSCAL (KN, SA, XVEC, KNCX) C C----> C**** *SSCAL* - ROUTINE WHICH IMPLEMENTS THE BLAS ROUTINE OF THE C SAME NAME C C PURPOSE. C -------- C C SIMPLE REPLACEMENT FOR IBM C C** INTERFACE. C ---------- C C * CALL SSCAL (KN, SA, XVEC, KNCX) * C C C METHOD. C ------- C C XVEC (1 + IP * KNCX) = XVEC (1 + IP * KNCX) * SA C FOR IP = 0 TO KN - 1 C C EXTERNALS. C ---------- C C NONE C C REFERENCE. C ---------- C C NONE C C AUTHOR. C ------- C C K. FIELDING * ECMWF * FEB 1992. C C MODIFICATIONS. C -------------- C C NONE C C COMMON BLOCKS USED C ------------------- C C NONE C----< C INTEGER KN, KNCX Cjdc DOUBLE PRECISION SA Cjdc DOUBLE PRECISION XVEC (*) REAL SA REAL XVEC (*) C INTEGER IP C C 1. MAIN LOOP OF CODE C ---------------------------------------------- C 100 CONTINUE DO 110 IP = 0, KN - 1 XVEC (1 + IP * KNCX) = XVEC (1 + IP * KNCX) * SA 110 CONTINUE C C END OF ROUTINE C RETURN END emoslib-000392+dfsg.1/interpolation/intvecy.F0000755000175000017500000003431312127406245022144 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTVECY(PUFIELD,PVFIELD,KASIZE, X PUOUT,PVOUT,OUTLEN) C C----> C**** INTVECY C C Purpose C ------- C Interpolate U or V component fields to grid point. C C C Interface C --------- C IRET = INTVECY(PUFIELD,PVFIELD,KASIZE, C X KUGRIB,KVGRIB,OUTLEN) C C Input C ----- C PUFIELD - U values. C PVFIELD - V values. C KASIZE - Size of input arrays C C C Output C ------ C PUOUT - Output wind U component field C PVOUT - Output wind V component field C OUTLEN - Output U field length (words). C C C Method C ------ C None. C C C Externals C --------- C RESET_C - Reset interpolation handling options using GRIB product. C IBASINI - Ensure basic interpolation setup is done. C ISCRSZ - Calculate number of values in generated field. C INTFAU - Prepare to interpolate unpacked input field. C INTFBU - Interpolate unpacked input field. C INTLOG - Log error message. C MKFRAME - Create a 'frame' from a rectangular field. C INTUVGH - Interpolate GRIB U and V reduced gaussian to rotated GRIB C U and V. C C C Author C ------ C S.Curic ECMWF December 2006 C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "intf.h" #include "current.h" #include "intlog.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 40170 ) C C Function arguments C INTEGER KPARAM, KASIZE, OUTLEN REAL PUFIELD(KASIZE), PVFIELD(KASIZE), PUOUT(*), PVOUT(*) C C Local variables C LOGICAL LFRAME, LOLDWIND, LOMISSV INTEGER NPARAM, IRET, ILENF, NTRUNC, NGAUSS, ISIZE, NCOUNT INTEGER NUVFLAG, NLON, NLAT, NBYTES, NSIZE INTEGER IHOLD, ISAME INTEGER IN_U, IN_V INTEGER NUMPTS REAL DUMMY REAL AREA(4), GRID(2), POLE(2), EAST, WEST REAL OLDGRID(2) CHARACTER*1 HOLDTYP INTEGER LOOP C REAL RGGRID, SWORK, TWORK POINTER (IRGGRID, RGGRID(1) ) POINTER (ISWORK, SWORK(1) ) POINTER (ITWORK, TWORK(1) ) C INTEGER KPTS(JPGTRUNC*2) REAL GLATS(JPGTRUNC*2) LOGICAL LFIRST, LNEWUV, LSPECUV CHARACTER*3 EXTRA C C Externals C INTEGER FIXAREA, INTFAU, INTFBU, INTUVDH, HSP2GG, IBASINI INTEGER HIRLAMW, ISCRSZ, RESET_C, INSANE, INTUVGH INTEGER HRG2GGW, HLL2LLW C DATA IRGGRID/-1/, ISWORK/-1/, ITWORK/-1/ SAVE IRGGRID, ISWORK, ITWORK DATA LFIRST/.TRUE./, LNEWUV/.TRUE./, EXTRA/'NO '/ SAVE LFIRST, LNEWUV C C -----------------------------------------------------------------| C* Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C INTVECY = 0 IF( LFIRST ) THEN CALL GETENV('IGNORE_UV_EXTRA_MODE', EXTRA) IF((EXTRA(1:1).EQ.'Y').OR.(EXTRA(1:1).EQ.'y')) LNEWUV = .FALSE. IF( LNEWUV ) THEN CALL INTLOG(JP_DEBUG, X 'INTVECY: IGNORE_UV_EXTRA_MODE not turned on',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'INTVECY: IGNORE_UV_EXTRA_MODE turned on',JPQUIET) ENDIF LFIRST = .FALSE. ENDIF C LOLDWIND = LWINDSET C C Ensure that basic initialisation has been done C IRET = IBASINI(0) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECY: basic initialise failed',JPQUIET) INTVECY = IRET GOTO 900 ENDIF C C cs NSIZE = ISEC4(1) NSIZE = KASIZE cs NIREPR = ISEC2(1) LSPECUV = (NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT) cs IF( LSPECUV ) NIRESO = ISEC2(2) C C Setup interpolation options from input GRIB characteristics. C cs IRET = RESET_C(ISEC1, ISEC2, ZSEC2, ISEC4) cs IF( IRET.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'INTVECY: Setup interp. options from GRIB failed.',JPQUIET) cs INTVECY = IRET cs GOTO 900 cs ENDIF C C Only allowed rotations are: C - spectral to regular lat/long C - reduced gaussian to regular lat/long C IF( LNOROTA ) THEN IF( ((NOREPR.NE.JPREGROT).AND.(NOREPR.NE.JPREGULAR)).OR. X ((NIREPR.NE.JPSPHERE).AND.(NIREPR.NE.JPQUASI)) ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: For vector fields, only allowed rotations are:', X JPQUIET) CALL INTLOG(JP_ERROR, X 'INTVECY: spectral to regular lat/long, or',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTVECY: reduced gaussian to regular lat/long',JPQUIET) INTVECY = JPROUTINE + 1 GOTO 900 ENDIF ENDIF C C Check that no outrageous values given for interpolation C ISAME = INSANE() IF( (ISAME.GT.0).AND.(ISAME.NE.27261) ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: Interpolation cannot use given values.',JPQUIET) INTVECY = ISAME GOTO 900 ENDIF C LFRAME = LNOFRAME.AND. X ((NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPREGROT ).OR.(NOREPR.EQ.JPFGGROT ) ) C C Fill area limits (handles case when default 0/0/0/0 given) C IRET = FIXAREA() IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECY: area fixup failed',JPQUIET) INTVECY = JPROUTINE + 3 GOTO 900 ENDIF C AREA(1) = REAL(NOAREA(1))/PPMULT AREA(2) = REAL(NOAREA(2))/PPMULT AREA(3) = REAL(NOAREA(3))/PPMULT AREA(4) = REAL(NOAREA(4))/PPMULT C GRID(1) = REAL(NOGRID(1))/PPMULT GRID(2) = REAL(NOGRID(2))/PPMULT C IF( LNOROTA ) THEN POLE(1) = REAL(NOROTA(1))/PPMULT POLE(2) = REAL(NOROTA(2))/PPMULT CALL INTLOG(JP_DEBUG,'INTVECY: Rotate the U & V fields',JPQUIET) CALL INTLOG(JP_DEBUG,'INTVECY: South pole lat ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'INTVECY: South pole long ',NOROTA(2)) ELSE NOROTA(1) = -9000000 NOROTA(2) = 0 ENDIF C IF( .NOT. LSPECUV ) GOTO 500 C C Get some scratch memory for the U and V fields C C Unpack U field C NIFORM = 0 cs NIPARAM = IN_U LWIND = .TRUE. LOLDWIND = LWINDSET LWINDSET = .TRUE. C cs IN_U = ISEC1(6) C C Unpack V field C cs NIPARAM = IN_V cs IN_V = ISEC1(6) C IF( LNOROTA ) GOTO 300 C C -----------------------------------------------------------------| C* Section 2. Spectral to grid-point with no rotation C -----------------------------------------------------------------| C 200 CONTINUE C CALL INTLOG(JP_DEBUG, X 'INTVECY: Interpolate U & V fields with no rotation',JPQUIET) C C C Interpolate U field C IRET = INTFAU(PUFIELD, KASIZE) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: Prepare to interpolate failed.',JPQUIET) INTVECY = JPROUTINE + 2 GOTO 900 ENDIF C IRET = INTFBU(PUFIELD, KASIZE, PUOUT, OUTLEN) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECY: Interpolation failed.',JPQUIET) INTVECY = JPROUTINE + 2 GOTO 900 ENDIF C C Interpolate V field C IRET = INTFAU(PVFIELD, KASIZE) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: Prepare to interpolate failed.',JPQUIET) INTVECY = JPROUTINE + 2 GOTO 900 ENDIF C IRET = INTFBU(PVFIELD, KASIZE, PVOUT, OUTLEN) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECY: Interpolation failed.',JPQUIET) INTVECY = JPROUTINE + 2 GOTO 900 ENDIF C GOTO 700 C C -----------------------------------------------------------------| C* Section 3. Spectral to grid-point with rotation C -----------------------------------------------------------------| C 300 CONTINUE C IF( .NOT.LUSEHIR ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY : Unable to rotate spectral U or V:',JPQUIET) INTVECY = JPROUTINE + 3 GOTO 900 ENDIF C C Convert spectral to suitable global reduced gaussian C NTRUNC = NIRESO IRET = HSP2GG(NTRUNC,NGAUSS,KPTS,GLATS,ISIZE) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: problem getting data for reduced grid',NTRUNC) INTVECY = JPROUTINE + 4 GOTO 900 ENDIF C NCOUNT = ISIZE C C Dynamically allocate memory for global reduced gaussian grid C CALL JMEMHAN( 18, IRGGRID, (NCOUNT*2), 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: memory alloc for reduced grid fail',JPQUIET) INTVECY = JPROUTINE + 4 GOTO 900 ENDIF C C Set flag to show field is a wind component C NUVFLAG = 1 C C Create the reduced gaussian grid C HOLDTYP = HOGAUST WEST = 0.0 EAST = 360.0 - (360.0/(NGAUSS*4)) C C U component spectral -> reduced gaussian C CALL JAGGGP(PUFIELD,NTRUNC,GLATS(1),GLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID,NUVFLAG,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: spectral to reduced gaussian failed',JPQUIET) INTVECY = JPROUTINE + 4 GOTO 900 ENDIF C HOGAUST = HOLDTYP C C V component spectral -> reduced gaussian C CALL JAGGGP(PVFIELD,NTRUNC,GLATS(1),GLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID(1+NCOUNT),NUVFLAG,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: spectral to reduced gaussian failed',JPQUIET) INTVECY = JPROUTINE + 4 GOTO 900 ENDIF C HOGAUST = HOLDTYP C C Rotate using 12-point horizontal interpolation C C Dynamically allocate memory for rotated lat/long grid C NLON = 1 + NINT((AREA(JPEAST) - AREA(JPWEST)) / X GRID(JPWESTEP)) ! SC NLAT = 1 + NINT((AREA(JPNORTH) - AREA(JPSOUTH)) / X GRID(JPNSSTEP)) ! SC C OUTLEN = NLON * NLAT C IRET = HIRLAMW(LO12PT,RGGRID,RGGRID(1+NCOUNT),NCOUNT,NGAUSS,AREA, X POLE,GRID,PUOUT,PVOUT,OUTLEN,NLON,NLAT) C IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: HIRLAMW rotation failed',JPQUIET) INTVECY = JPROUTINE + 6 GOTO 900 ENDIF C C Set the components flag for rotated U and V coefficients C cs ISEC2(19) = 8 NOWE = NLON NONS = NLAT OUTLEN = NLAT*NLON C GOTO 700 C C -----------------------------------------------------------------| C* Section 5. Grid to grid point C -----------------------------------------------------------------| C 500 CONTINUE C* 5a. Generate interpolated lat/long U and V fields. C -----------------------------------------------------------------| C C IF( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C Dynamically allocate scrath space for rotated lat/long grid C NLON = 1 + NINT(FLOAT(NOAREA(JPEAST) - NOAREA(JPWEST)) / X NOGRID(JPWESTEP)) NLAT = 1 + NINT(FLOAT(NOAREA(JPNORTH) - NOAREA(JPSOUTH)) / X NOGRID(JPNSSTEP)) C NOWE = NLON NONS = NLAT OUTLEN = NLON * NLAT C C Rotate reduced gaussian to lat/long C IF( (NIREPR.EQ.JPGAUSSIAN).OR.(NIREPR.EQ.JPQUASI) ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'INTVECY: Rotate reduced gaussian to lat/long',JPQUIET) IRET = HIRLAMW(LO12PT, X PUFIELD,PVFIELD,KASIZE, X NIGAUSS,AREA,POLE,GRID, X PUOUT,PVOUT,OUTLEN,NLON,NLAT) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: HIRLAMW rotation failed',JPQUIET) INTUVGH = JPROUTINE + 3 GOTO 900 ENDIF C C Rotate lat/long to lat/long C ELSE IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'INTVECY: Rotate lat/long to lat/long',JPQUIET) OLDGRID(1) = REAL(NIGRID(1)) / PPMULT OLDGRID(2) = REAL(NIGRID(2)) / PPMULT IRET = HLL2LLW(LO12PT,PUFIELD,PVFIELD, X OLDGRID,AREA,POLE,GRID, X PUOUT,PVOUT,OUTLEN,NLON,NLAT) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECY: HLL2LLW rotation failed',JPQUIET) INTVECY = JPROUTINE + 3 GOTO 900 ENDIF ENDIF C ELSE C C* Section 5b. Generate interpolated gaussian U and V fields. C -----------------------------------------------------------------| C 400 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'INTVECY: Rotate gaussian to gaussian',JPQUIET) C C Dynamically allocate memory for rotated gaussian grids C NUMPTS = NOGAUSS * NOGAUSS OUTLEN = 2 * NUMPTS * 8 C cs NGAUSS = ISEC2(10) IRET = HRG2GGW(LO12PT, X PUFIELD,PVFIELD,KASIZE, X NIGAUSS,AREA,POLE,NOGAUSS,HOGAUST, X PUOUT,PVOUT,OUTLEN,NUMPTS) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'INTVECY: HRG2GGW rotation failed',JPQUIET) INTUVGH = JPROUTINE + 4 GOTO 900 ENDIF C ENDIF C C 700 CONTINUE C C Reset the input format flag C cs NIFORM = 1 C C If a 'frame' has been specified, build the frame C IF( LFRAME ) THEN LOMISSV = LIMISSV LIMISSV = .TRUE. ISEC1(5) = 192 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL MKFRAME(NLON,NLAT,PUOUT,RMISSGV,NOFRAME) CALL MKFRAME(NLON,NLAT,PVOUT,RMISSGV,NOFRAME) LIMISSV = LOMISSV ENDIF DO 910 LOOP = 1, 4 NOAAPI(LOOP) = NOAREA(LOOP) 910 CONTINUE C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/parameter_processing_defaults0000755000175000017500000000140212127406245026373 0ustar amckinstryamckinstryParam lsm wind prec lsm interp ----- --- ---- ---- ---------- 131 n y n n 132 n y n n 140 y n n n 141 y n n n 142 n n y n 143 n n y n 144 n n y n 165 n y n n 166 n y n n 170 y n n n 171 y n n n 172 n n n y 173 y n n n 182 y n n n 183 y n n n 184 y n n n 190 y n n n 191 y n n n 192 y n n n 193 y n n n 199 y n n n 200 y n n n 228 n n y n 239 n n y n 240 n n y n emoslib-000392+dfsg.1/interpolation/intlogd.F0000755000175000017500000000276412127406245022130 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INTLOGD(KONOFF) C C----> C**** INTLOGD C C PURPOSE C _______ C C This routine toggles the debug flag LDEBUG. C C C INTERFACE C _________ C C CALL INTLOG(KONOFF) C C C Input parameters C ________________ C C KONOFF - value to set in the debug flag LDEBUG. C = 0 for 'off'. C = 1 for 'on'. C C C Output parameters C ________________ C C None. C C C Common block usage C __________________ C C LDEBUG in /INTLOGC/ controls display of message C = 0 for no display C = 1 to display C C C Method C ______ C C Toggle flag. C C C Externals C _________ C C None. C C C Comments C ________ C C LDEBUG is toggled by a call to INTLOGD. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Jul 1995 C C C MODIFICATIONS C _____________ C C None. C C C----< C _______________________________________________________ C C Subroutine arguments. INTEGER KONOFF #include "intlog.h" C LDEBUG = (KONOFF.EQ.1) C RETURN END emoslib-000392+dfsg.1/interpolation/numptns.F0000755000175000017500000000422612127406245022167 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION NUMPTNS(NORTH,SOUTH,GRIDSTEP) C C----> C**** NUMPTNS C C Purpose C ------- C C Calculate number of grid points in the range from north to south. C C C Interface C --------- C C IRET = NUMPTNS(NORTH,SOUTH,GRIDSTEP) C C Input C ----- C C NORTH - Northern boundary in degrees C SOUTH - Southern boundary in degrees C GRIDSTEP - Grid interval in degrees C C C Output C ------ C C Function returns the number of grid points in the north-south C interval. C C C Method C ------ C C The grid is assumed to be centred on the Equator. C C C Externals C --------- C C None. C C Author C ------ C C J.D.Chambers ECMWF Dec 1997 C C C Modifications C ------------- C C None. C C----< C IMPLICIT NONE C C Function arguments C REAL SOUTH, NORTH, GRIDSTEP C C Local variables C INTEGER N1, N2 REAL TOP, BOTTOM C C ------------------------------------------------------------------ C Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C BOTTOM = SOUTH TOP = NORTH IF( BOTTOM.GT.TOP) THEN BOTTOM = NORTH TOP = SOUTH ENDIF C ------------------------------------------------------------------ C Section 2. Calculate the number of points in the interval C ------------------------------------------------------------------ C 200 CONTINUE C N1 = NINT(BOTTOM/GRIDSTEP) N2 = NINT(TOP/GRIDSTEP) NUMPTNS = N2 - N1 + 1 C C ------------------------------------------------------------------ C Section 9. Return C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/ignorm.F0000755000175000017500000001210012127406245021744 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGNORM (PWFACT, PSUM, KOWE, KONS, KPR, KERR) C C----> C**** *IGNORM* C C PURPOSE C _______ C C Normalise the array of interpolation weights. C C INTERFACE C _________ C C IERR = IGNORM (PWFACT, PSUM, KOWE, KONS, KPR, KERR) C C Input parameters C ________________ C C PWFACT - The array of unnormalised interpolating weights to C the four neighbouring points for every output point. C C PSUM - Work array used to aid vectorisation. C C KOWE - The number of points in the West-East direction in C the output field. C C KONS - The number of points in the North-South direction C in the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PWFACT - The normalised array of interpolating weights to C the four neighbouring points for every output point. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C The four weights for each output point are normalised to have a C sum of one. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments INTEGER KOWE, KONS, KPR, KERR REAL PWFACT (4, KOWE, KONS), PSUM (KOWE) C C Local variables INTEGER JOLAT, JOLON, JDIR INTEGER JPROUTINE PARAMETER (JPROUTINE = 25600) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGNORM: Section 1.',JPQUIET) C IGNORM = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IGNORM: No of output longitudes = ',KOWE) CALL INTLOG(JP_DEBUG,'IGALLOC: No of output lattudes = ',KONS) ENDIF C C _______________________________________________________ C C* Section 2. Calculate arrays of weights C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGNORM: Section 2.',JPQUIET) C DO 260 JOLAT = 1, KONS C DO 210 JOLON = 1, KOWE C PSUM (JOLON) = PPZERO C 210 CONTINUE C DO 230 JDIR = 1, 4 DO 220 JOLON = 1, KOWE C PSUM (JOLON) = PSUM (JOLON) + 1 PWFACT (JDIR, JOLON, JOLAT) C 220 CONTINUE 230 CONTINUE C DO 250 JDIR = 1, 4 DO 240 JOLON = 1, KOWE C PWFACT (JDIR, JOLON, JOLAT) = 1 PWFACT (JDIR, JOLON, JOLAT) / PSUM (JOLON) C 240 CONTINUE 250 CONTINUE C 260 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGNORM: Section 9.',JPQUIET) C C RETURN END emoslib-000392+dfsg.1/interpolation/jintgg.F0000755000175000017500000003002112127406245021735 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JINTGG( KIBUFF, KLENI, PWEST, PEAST, PNORTH, PSOUTH, X KNUM, HTYPE, KPTS, LUV, KOBUFF, KLENO, KBITS, X KRET) C C----> C**** JINTGG C C PURPOSE C _______ C C This routine converts spectral input fields to gaussian C grid fields. C C INTERFACE C _________ C C CALL JINTGG( KIBUFF, KLENI, PWEST, PEAST, PNORTH, PSOUTH, C X KNUM, HTYPE, KPTS, LUV, KOBUFF, KLENO, KBITS, KRET) C C Input parameters C ________________ C C KIBUFF - Array containing input spherical harmonic field C in GRIB format. C KLENI - Length in words of KIBUFF. C PWEST - Required area, west longitude(degrees) C PEAST - Required area, east longitude(degrees) C PNORTH - Required area, north latitude(degrees) C PSOUTH - Required area, south latitude(degrees) C KNUM - Gaussian grid number C HTYPE - Gaussian grid type C = 'R' for reduced, C = 'F' for full C = 'U' for user-defined reduced gaussian grid C KPTS - Array specifying number of points at each line of C latitude if HTYPE = 'U'. C (Must be big enough for both hemispheres, but only C needs to give Northern hemisphere values from pole C to latitude nearest the Equator.) C LUV - Code indicating whether or not the field is a wind C component field; C = 1 if U or V field. C KLENO - Length in words of KOBUFF. C KBITS - Number of bits to be used for packing values in KOBUFF. C C C Output parameters C ________________ C C C KPTS - Array specifying number of points at each line of C latitude; user defined values if HTYPE = 'U'. C (Must be big enough for both hemispheres) C KOBUFF - Array containing output spherical harmonic field C in GRIB format. C KLENO - Number of words of KOBUFF occupied by GRIB. C KRET - Return status code C 0 = OK C C C Common block usage C __________________ C C JDCNDGB C C C Method C ______ C C None. C C C Externals C _________ C C JDEBUG - Checks environment variable to switch on/off debug C JGETGG - Get the gaussian grid definition C GRIBEX - Decodes/encodes GRIB product C JAGGGP - Transform from spherical harmonics to gaussian grid. C JMEMHAN - Handles memory allocation C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C C Reference C _________ C C None. C C C Comments C ________ C C If PWEST, PEAST, PNORTH, PSOUTH are all 0.0, then the area C defaults to global. C C If KBITS, the number of bits to be used for packing values, is C 0, the number of bits used in the input spectral field is used. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* May 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C IMPLICIT NONE #include "jparams.h" #include "parim.h" C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30200 ) C Arrays are dimensioned to accommodate spectral T639 data and C gaussian resolution of N160 INTEGER JPACK, JPMNUM PARAMETER (JPACK=420000) PARAMETER (JPMNUM=160) C C Subroutine arguments INTEGER KIBUFF, KLENI, KNUM, KPTS, KOBUFF, KLENO, KBITS, KRET CHARACTER*1 HTYPE INTEGER LUV DIMENSION KIBUFF(KLENI) DIMENSION KPTS(*) DIMENSION KOBUFF(*) REAL PWEST, PEAST, PNORTH, PSOUTH C C Local variables REAL NORTH, SOUTH, EAST, WEST INTEGER IPUNP, ITRUNC, NBITS, JPLOOP INTEGER ISEC0, ISEC1, ISEC2, ISEC3, ISEC4 REAL ZSEC2, ZSEC3, ZSEC4 #ifdef POINTER_64 INTEGER*8 IZOUTBF #endif REAL ZOUTBF POINTER ( IZOUTBF, ZOUTBF ) DIMENSION ZOUTBF( 1 ) INTEGER IWORD REAL ZLAT DIMENSION ZLAT(2*JPMNUM) C C Array for integer parameters from section 0 of GRIB message. DIMENSION ISEC0(JPGRIB_ISEC0) C C Array for integer parameters from section 1 of GRIB message. DIMENSION ISEC1(JPGRIB_ISEC1) C C Array for integer parameters from section 2 of GRIB message. DIMENSION ISEC2(JPGRIB_ISEC2) C C Array for integer parameters from section 3 of GRIB message. DIMENSION ISEC3(JPGRIB_ISEC3) C C Array for integer parameters from section 4 of GRIB message. DIMENSION ISEC4(JPGRIB_ISEC4) C C Array for real parameters from section 2 of GRIB message. DIMENSION ZSEC2(JPGRIB_RSEC2) C C Array for real parameters from section 3 of GRIB message. DIMENSION ZSEC3(JPGRIB_RSEC3) C C Array for real parameters from section 4 of GRIB message. C This is the binary data section and the array to hold C the unpacked data may need to be 4 times as long as that C for the packed data. C DIMENSION ZSEC4(JPACK) C C _______________________________________________________ C C* Section 1. Unpack the input GRIB product. C _______________________________________________________ C 100 CONTINUE C CALL JDEBUG( ) C IF ( NDBG .GT. 0) THEN CALL INTLOG(JP_DEBUG,'JINTGG - Input parameters:', JPQUIET) DO 101 NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ',KIBUFF( NDBGLP )) 101 CONTINUE CALL INTLOG(JP_DEBUG, X 'JINTGG - Length(words) of input product = ', KLENI) CALL INTLOGR(JP_DEBUG, X 'JINTGG - Required area, west long(deg) = ', PWEST) CALL INTLOGR(JP_DEBUG, X 'JINTGG - Required area, east long(deg) = ', PEAST) CALL INTLOGR(JP_DEBUG, X 'JINTGG - Required area, north lat(deg) = ', PNORTH) CALL INTLOGR(JP_DEBUG, X 'JINTGG - Required area, south lat(deg) = ', PSOUTH) CALL INTLOG(JP_DEBUG,'JINTGG - Gaussian grid number = ', KNUM) CALL INTLOG(JP_DEBUG,'JINTGG - Gaussian grid type = ', HTYPE) CALL INTLOG(JP_DEBUG,'JINTGG - Wind field code = ', LUV) CALL INTLOG(JP_DEBUG, X 'JINTGG - Length in words of KOBUFF = ', KLENO) CALL INTLOG(JP_DEBUG, X 'JINTGG - Number of bits for packing = ', KBITS) ENDIF C #ifdef CRAY IPUNP = JPACK*8 #else IPUNP = JPACK*4 #endif KRET = 1 IF ( NDBG .GT. 0) CALL GRSDBG(1) C CALL GRIBEX (ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, X ZSEC4,IPUNP,KIBUFF,KLENI,IWORD,'D',KRET) C IF ( NDBG .GT. 0) CALL INTLOG(JP_DEBUG, X 'JINTGG - Return from GRIBEX decoding = ', KRET) C C Check return code. IF (KRET.GT.0) GOTO 900 C C Set number of bits to same as input if user did not give a number IF ( KBITS .LE. 0 ) THEN NBITS = ISEC4(2) ELSE NBITS = KBITS ENDIF C _______________________________________________________ C C* Section 2. Interpolate to a gaussian grid. C _______________________________________________________ C 200 CONTINUE C C Setup geographical limits IF ( (PWEST.EQ.0.0) .AND. (PEAST.EQ.0.0) .AND. X (PNORTH.EQ.0.0) .AND. (PSOUTH.EQ.0.0) ) THEN NORTH = 90.0 SOUTH = -90.0 WEST = 0.0 EAST = 360.0 - (360.0/FLOAT(4*KNUM)) ELSE WEST = PWEST EAST = PEAST NORTH = PNORTH SOUTH = PSOUTH ENDIF C C Use input truncation ITRUNC = ISEC2(2) C IF ( NDBG .GT. 0) THEN CALL INTLOG(JP_DEBUG,'JINTGG - WEST = ', WEST) CALL INTLOG(JP_DEBUG,'JINTGG - EAST = ', EAST) CALL INTLOG(JP_DEBUG,'JINTGG - NORTH = ', NORTH) CALL INTLOG(JP_DEBUG,'JINTGG - SOUTH = ', SOUTH) CALL INTLOG(JP_DEBUG,'JINTGG - ITRUNC = ', ITRUNC) ENDIF C C Get the gaussian grid definition CALL JGETGG( KNUM, HTYPE, ZLAT, KPTS, KRET) C C Count the points in the definition to give a memory size IPUNP = 0 DO 210 JPLOOP = 1, KNUM*2 IPUNP = IPUNP + KPTS(JPLOOP) 210 CONTINUE C IF ( NDBG .GT. 0) THEN CALL INTLOG(JP_DEBUG, X 'JINTGG - Total number of grid points = ', IPUNP) ENDIF C C Allocate memory for scratch array. CALL JMEMHAN( 2, IZOUTBF, IPUNP, 1, KRET) IF ( KRET .NE. 0 ) THEN KRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR,'JINTGG - Memory allocation failed.',KRET) GOTO 900 ENDIF C CALL JAGGGP( ZSEC4, ITRUNC, NORTH, SOUTH, WEST, EAST, X KNUM, HTYPE, KPTS, ZOUTBF, LUV, KRET) C IF ( KRET .NE. 0 ) GOTO 900 C C _______________________________________________________ C C* Section 3. Pack the output GRIB product. C _______________________________________________________ C 300 CONTINUE C C ISEC1(4) = 255 ISEC1(5) = 128 ISEC1(19) = 0 ISEC1(20) = 0 C C Build section 2 for gaussian grid ISEC2(1) = 4 IF ( HTYPE .EQ. 'F' ) THEN ISEC2(2) = KPTS(1) ELSE ISEC2(2) = 0 ENDIF ISEC2(3) = KNUM*2 ISEC2(4) = ( NORTH * 1000.0 ) ISEC2(5) = ( WEST * 1000.0 ) IF ( ISEC2(5) .LT. 0 ) ISEC2(5) = 360000 + ISEC2(5) IF ( ISEC2(5) .GT. 360000 ) ISEC2(5) = ISEC2(5) - 360000 IF ( HTYPE .EQ. 'F' ) THEN ISEC2(6) = 128 ELSE ISEC2(6) = 0 ENDIF ISEC2(7) = ( SOUTH * 1000.0 ) ISEC2(8) = ( EAST * 1000.0 + 0.5 ) IF ( ISEC2(8) .LT. 0 ) ISEC2(8) = 360000 + ISEC2(8) IF ( ISEC2(8) .GT. 360000 ) ISEC2(8) = ISEC2(8) - 360000 IF ( HTYPE .EQ. 'F' ) THEN ISEC2(9) = NINT( 360.0/FLOAT(KPTS(1)) * 1000.0 ) ELSE ISEC2(9) = 0 ENDIF ISEC2(10) = KNUM ISEC2(11) = 0 IF ( HTYPE .EQ. 'F' ) THEN ISEC2(17) = 0 ELSE ISEC2(17) = 1 ENDIF C C For reduced or quasi-regular grids, fill in number of points C along each parallel. IF ( HTYPE .NE. 'F' ) THEN DO 220 JPLOOP = 1, KNUM*2 ISEC2(22+JPLOOP) = KPTS(JPLOOP) 220 CONTINUE ENDIF C C Build section 4 for gaussian grid ISEC4(1) = IPUNP ISEC4(2) = NBITS ISEC4(3) = 0 ISEC4(4) = 0 ISEC4(5) = 0 ISEC4(6) = 0 ISEC4(8) = 0 ISEC4(9) = 0 ISEC4(10) = 0 ISEC4(11) = 0 DO 230 JPLOOP = 12, 33 ISEC4(JPLOOP) = 0 230 CONTINUE C IF ( NDBG .GT. 0) CALL GRSDBG(1) C KRET = 1 CALL GRIBEX (ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, X ZOUTBF,IPUNP,KOBUFF,KLENO,KLENO,'C',KRET) C C Check return code. IF ( NDBG .GT. 0) CALL INTLOG(JP_DEBUG, X 'JINTGG - status from GRIBEX encoding = ', KRET) C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/interpolation/wv2dx32.F0000755000175000017500000003376112127406245021710 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WV2DX32(ISEC2,ISEC4,NLATS,STEPNS,STEPWE, X OLDWAVE,NEWIDX,NEWWAVE,NORTH,WEST,PMISS) C C----> C*****WV2DX32* C C PURPOSE C ------- C C Interpolates 2D wave spectra fields. C (32-bit REALs version) C C C INTERFACE C --------- C C IRET = WV2DX32(ISEC2,ISEC4,NLATS,STEPNS,STEPWE, C X OLDWAVE,NEWIDX,NEWWAVE,NORTH,WEST,PMISS) C C Input arguments C --------------- C C ISEC2 - Unpacked section 2 header from 2D wave spectra field C ISEC4 - Unpacked section 4 header from 2D wave spectra field C NLATS - Number of points N-S in new grid C STEPNS - Output grid north-south resolution (degrees) (REAL*4) C STEPWE - Output grid west-east resolution (degrees) (REAL*4) C OLDWAVE - Original wave field (REAL*4) C NORTH - Output grid northernmost latitude (degrees) (REAL*4) C WEST - Output grid westernmost longitude (degrees) (REAL*4) C PMISS - Missing data value (REAL*4) C C Output arguments C ---------------- C C NEWIDX - Indices of old grid points used for new grid points C NEWWAVE - New wave field (REAL*4) C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C Builds the index of nearest neighbour points for the output grid. C Then works through the output grid points, checking for subarea C boundaries and looking up nearset neighbour 2D spectra values C (which may be missing data). C C C EXTERNALS C --------- C C WV2DI32 - builds the index of nearest neighbour points C NPTWE32 - Calculates number of grid points between west/east C area boundaries (32-bit REALs version) C VALPINA - Looks up bitmap value C ONEBITS - Counts number of 1s in a GRIB section 3 bitmap C NUMVALS - Counts the values in the secondary bitmap. C SOFFSET - Finds the section offsets in GRIB message C INTLOG - Log error message C C C REFERENCE C --------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF March 1998 C C C Modifications C ------------- C C J.D.Chambers ECMWF May 1998 C Handle parameter 251 as a simple form of wave 2D spectra. C (A field containing one direction and one frequency). C C C----< C IMPLICIT NONE C C Subroutine arguments C INTEGER ISEC2, ISEC4, NLATS DIMENSION ISEC2(*), ISEC4(*) REAL*4 STEPNS, STEPWE, OLDWAVE, NEWWAVE, NORTH, WEST, PMISS DIMENSION OLDWAVE(*), NEWWAVE(*) INTEGER NEWIDX DIMENSION NEWIDX(*) C C Parameters C INTEGER JPROUTINE, JPMXLAT, JPNSPEC PARAMETER (JPROUTINE = 40000) PARAMETER (JPMXLAT = 721) PARAMETER (JPNSPEC = 600) C C Local arguments C LOGICAL LSIMPLE INTEGER IEOFSET, IWOFSET, ISTART, IWEST REAL*4 SOUTH, EAST, PTLAT, PTLONG, AWEST, OLDWEST, OLDEAST REAL*4 REFVAL, SCALE INTEGER NPDATA, INSPT, NEXP, NMANT, NRETA, NRETB, NLENG, NBIT INTEGER NVALS INTEGER ISCALE, NSCALE, IBITS, ITEMP, NPBTMP2, IBITMAP, NUNUSED DIMENSION IBITMAP(JPNSPEC) INTEGER IRET, IS0, IS1, IS2, IS3, IS4, IEDITN INTEGER NEXT, NEXTWV, NROW, NCOL, INDEX, ILOCATE INTEGER NSPEC, MISSLAT, LOOP, NPTS, NUMLATS, NUMNEW INTEGER KOLDNUM, KNEWNUM DIMENSION NPTS(JPMXLAT), NUMNEW(JPMXLAT) REAL*4 RLATINC, OLDLATS, NEWLATS, ROWINC DIMENSION OLDLATS(JPMXLAT), NEWLATS(JPMXLAT) C C Externals C INTEGER WV2DI32, SOFFSET, VALPINA, NUMVALS, ONEBITS, NPTWE32 EXTERNAL WV2DI32, SOFFSET, VALPINA, NUMVALS, ONEBITS, NPTWE32 C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WV2DX32 = 0 C C Initialise the bitmap value lookup function and function C which counts the values in the secondary bitmap. C IRET = VALPINA(0,0,0) IRET = NUMVALS(0,0,0) C C Setup number of spectra at each point C IF( ISEC4(8).EQ.0 ) THEN LSIMPLE = .TRUE. NSPEC = 1 ELSE LSIMPLE = .FALSE. NSPEC = ISEC4(50)*ISEC4(51) ENDIF C IF( NSPEC.GT.JPNSPEC) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Number of wave spectra at each grid pt = ',NSPEC) CALL INTLOG(JP_ERROR, X 'WV2DX32: And is greater than allowed maximum = ',JPNSPEC) WV2DX32 = JPROUTINE + 1 GOTO 900 ENDIF C C Calculate number of latitudes if grid had been full from C North pole to South pole C NUMLATS = (180000/ISEC2(10)) + 1 IF( NUMLATS.GT.JPMXLAT ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Number of latitudes in input grid = ',NUMLATS) CALL INTLOG(JP_ERROR, X 'WV2DX32: And is greater than allowed maximum = ',JPMXLAT) WV2DX32 = JPROUTINE + 2 GOTO 900 ENDIF RLATINC = FLOAT(ISEC2(10))/1000 DO LOOP = 1, NUMLATS OLDLATS(LOOP) = 90.0 - (LOOP-1)*RLATINC ENDDO C C Fill an array with the number of points at each latitude for the C input field (this is a reduced latitude/longitude grid) C MISSLAT = (90000 - ISEC2(4))/ISEC2(10) DO LOOP = 1, MISSLAT NPTS(LOOP) = 0 ENDDO KOLDNUM = 1 + (90000 - ISEC2(7))/ISEC2(10) DO LOOP = 1, (KOLDNUM-MISSLAT) NPTS(LOOP+MISSLAT) = ISEC2(22+LOOP) ENDDO DO LOOP = (KOLDNUM+1), NUMLATS NPTS(LOOP) = 0 ENDDO C C --------------------------------------------------------------------- C* Section 2. Setup number of points at each latitude for the C output latitude/longitude field. C --------------------------------------------------------------------- C 200 CONTINUE C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN) ) THEN C C Reduced (quasi-regular) gaussian output C KNEWNUM = NOGAUSS*2 DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROGAUSS(LOOP) ENDDO C ELSE IF( NOREPR.EQ.JPREDLL ) THEN C C Reduced (quasi-regular) lat/long output C KNEWNUM = NOREDLL DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROREDLL(LOOP) ENDDO C ELSE C C Regular output C MISSLAT = NINT((90.0 - NORTH)/STEPNS) DO LOOP = 1, MISSLAT NUMNEW(LOOP) = 0 ENDDO DO LOOP = 1, NLATS NUMNEW(LOOP+MISSLAT) = NINT(360.0/STEPWE) ENDDO C KNEWNUM = MISSLAT + NLATS DO LOOP = 1, KNEWNUM NEWLATS(LOOP) = 90.0 - (LOOP-1)*STEPNS ENDDO C ENDIF C C --------------------------------------------------------------------- C* Section 3. Get the input GRIB field characteristics. C --------------------------------------------------------------------- C 300 CONTINUE C C Calculate the indices of the input grid points to be used for C the output points C OLDWEST = FLOAT(ISEC2(5))/1000 OLDEAST = FLOAT(ISEC2(8))/1000 WV2DX32 = WV2DI32(NUMLATS,NPTS,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM, NUMNEW, NEWLATS, NEWIDX) IF( WV2DX32.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Unable to calculate output grid indices',JPQUIET) WV2DX32 = JPROUTINE + 3 GOTO 900 ENDIF C C Find section offsets for the GRIB product C IRET = SOFFSET(OLDWAVE, IS0, IS1, IS2, IS3, IS4, IEDITN) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Problem finding section offsets for GRIB',JPQUIET) WV2DX32 = JPROUTINE + 4 GOTO 900 ENDIF C C Get the overall length of OLDWAVE C NBIT = 32 INSPT = (IS0 + 4) * 8 CALL INXBIT(OLDWAVE,10,INSPT,NLENG,1,NBIT,24,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Problem extracting overall length of GRIB',JPQUIET) WV2DX32 = JPROUTINE + 5 GOTO 900 ENDIF C C Get the scale factor C INSPT = (IS4 + 4) * 8 CALL INXBIT(OLDWAVE,NLENG,INSPT,NSCALE,1,NBIT,16,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Problem extracting scale factor in GRIB',JPQUIET) WV2DX32 = JPROUTINE + 6 GOTO 900 ENDIF CALL DSGNBT(ISCALE,NSCALE,16,NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Problem setting sign of scale factor',JPQUIET) WV2DX32 = JPROUTINE + 7 GOTO 900 ENDIF SCALE = 2.0**(FLOAT(ISCALE)) C C Get the reference value C CALL INXBIT(OLDWAVE,NLENG,INSPT,NEXP,1,NBIT,8,'D',NRETA) CALL INXBIT(OLDWAVE,NLENG,INSPT,NMANT,1,NBIT,24,'D',NRETB) IF( (NRETA.NE.0) .OR. (NRETB.NE.0) ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Problem getting reference value from GRIB',JPQUIET) WV2DX32 = JPROUTINE + 8 GOTO 900 ENDIF CALL DECFP2(REFVAL,NEXP,NMANT) C C Get number of bits per packed value C CALL INXBIT(OLDWAVE,NLENG,INSPT,IBITS,1,NBIT,8,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Problem getting number of bits per word',JPQUIET) WV2DX32 = JPROUTINE + 9 GOTO 900 ENDIF C C (Pointer INSPT is currently at octet 12 in GRIB section 4) C C Set up pointers to start of secondary bitmap and start of packed C data values C NPBTMP2 = (IS4 + 24)*8 + (ISEC4(53)+ISEC4(55))*32 C IF( .NOT. LSIMPLE ) THEN NPDATA = NPBTMP2 + NSPEC*ONEBITS(OLDWAVE,IS3) ELSE NPDATA = NPBTMP2 ENDIF NPDATA = ((NPDATA + 7)/8)*8 C C --------------------------------------------------------------------- C* Section 4. Work through the output subarea. C --------------------------------------------------------------------- C 400 CONTINUE C C Fill in the wave spectra values C NEXT = 0 NEXTWV = 0 C SOUTH = NOAREA(3)/PPMULT EAST = NOAREA(4)/PPMULT ISTART = 0 C C Work down through latitudes from north to south. C DO NROW = 1, KNEWNUM C C If inside north-south (subarea) boundaries .. C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPQUASI) ) THEN PTLAT = ROGAUSS(NROW) ELSE PTLAT = 90.0 - (NROW-1)*STEPNS ENDIF C IF( (PTLAT.LE.NORTH).AND.(ABS(PTLAT-SOUTH).GT.-0.0005) ) THEN C C Calculate number of points between west boundary of area and C Greenwich C ROWINC = 360.0/NUMNEW(NROW) C IWEST = INT(WEST/ROWINC) IF( (WEST.GT.0.0).AND.(WEST.NE.(IWEST*ROWINC)) ) X IWEST = IWEST + 1 AWEST = IWEST * ROWINC IWOFSET = NPTWE32(AWEST,0.0,ROWINC) IEOFSET = NPTWE32(AWEST,EAST,ROWINC) C C Work through subarea longitudes from west to east. C DO NCOL = 1, NUMNEW(NROW) PTLONG = AWEST + (NCOL-1)*ROWINC NEXT = NPTWE32(AWEST,PTLONG,ROWINC) IF( (NEXT.LE.IEOFSET).AND.(NEXT.GE.0) ) THEN C C .. and inside west-east (subarea) boundaries C NEXT = 1 + NEXT - IWOFSET IF( NEXT.LE.0) NEXT = NEXT + NUMNEW(NROW) NEXT = NEXT + ISTART INDEX = NEWIDX(NEXT) ILOCATE = VALPINA(OLDWAVE, IS3+6, INDEX) C IF( ILOCATE.EQ.0 ) THEN C C Nearest neighbour is a 'missing' point C DO LOOP = 1, NSPEC NEXTWV = NEXTWV + 1 NEWWAVE(NEXTWV) = PMISS ENDDO C ELSE C C Nearest neighbour has values C IF( LSIMPLE ) THEN INSPT = NPDATA + (ILOCATE - 1)*IBITS NVALS = 1 IBITMAP(1) = 1 ELSE C C Count the number of values in the secondary bitmap upto C the current point and pick up its secondary bitmap. C INSPT = NPBTMP2 + (ILOCATE - 1)*NSPEC NVALS = NUMVALS(OLDWAVE,NPBTMP2,INSPT) CALL INXBIT(OLDWAVE,NLENG,INSPT,IBITMAP,NSPEC, X NBIT,1,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Problem getting neighbours 2ndary bitmap', X JPQUIET) WV2DX32 = JPROUTINE + 10 GOTO 900 ENDIF C C Pick up the values at the current point C INSPT = NPDATA + NVALS*IBITS ENDIF C DO LOOP = 1, NSPEC NEXTWV = NEXTWV + 1 IF( IBITMAP(LOOP).EQ.0 ) THEN C C ..missing C NEWWAVE(NEXTWV) = PMISS C ELSE C C ..retrieve and recreate the packed value C CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, X NBIT,IBITS,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DX32: Problem getting nearest neighbour', X JPQUIET) WV2DX32 = JPROUTINE + 11 GOTO 900 ENDIF NEWWAVE(NEXTWV) = REFVAL + FLOAT(ITEMP)*SCALE ENDIF ENDDO C ENDIF ENDIF ENDDO C ENDIF ISTART = ISTART + NUMNEW(NROW) ENDDO C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/intf.h0000755000175000017500000000135612127406245021466 0ustar amckinstryamckinstryC C Parameters C INTEGER JPEXPAND cs PARAMETER (JPEXPAND = 1440 * 721 * 6) cs expanded for 0.1X0.1 resolution PARAMETER (JPEXPAND = 3600*1801) C C Local variables C INTEGER ISEC0 (JPGRIB_ISEC0), ISEC1 (JPGRIB_ISEC1) INTEGER ISEC2 (JPGRIB_ISEC2), ISEC3 (JPGRIB_ISEC3) INTEGER ISEC4 (JPGRIB_ISEC4) REAL ZSEC2 (JPGRIB_RSEC2), ZSEC3 (JPGRIB_RSEC3) INTEGER IZNJDCI LOGICAL LUSEHIR #ifdef POINTER_64 INTEGER*8 IZNFLDI #endif C POINTER ( IZNFLDI, ZNFELDI ) C C Pointer for dynamically allocated array: C C REAL ZNFELDI (JPEXPAND) C COMMON /INTFCM/ ZSEC2, ZSEC3, IZNFLDI, IZNJDCI, X ISEC0, ISEC1, ISEC2, ISEC3, ISEC4, LUSEHIR C REAL ZNFELDI(1) emoslib-000392+dfsg.1/interpolation/irgtog.F0000755000175000017500000002004312127406245021751 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRGTOG (PIFELD, KSTART, KINS, KOWE, KONS, 1 KWEIND, KNSIND, PWFACT, POFELD, KPR, KERR) C C----> C**** *IRGTOG* C C Purpose C ------- C C Perform basic interpolation between the input and output fields C for a quasi regular input field and a regular output field. C C Interface C --------- C C IERR = IRGTOG (PIFELD, KSTART, KINS, KOWE, KONS, KWEIND, C 1 KNSIND, PWFACT, POFELD, KPR, KERR) C C Input parameters C ---------------- C C PIFELD - The input field provided by the calling routine. C C KSTART - The array offset for each line of latitude within C the quasi regular field. C C KINS - The number of points in the North-South direction C in the input field. C C KOWE - The number of points in the West-East direction in C the output field. C C KONS - The number of points in the North-South direction C in the output field. C C KWEIND - This array contains the array offsets of the West C and East points in the input array required for C interpolation. C C KNSIND - This array contains the array offsets of the North C and South points in the input array required for C interpolation. C C PWFACT - The array of interpolating weights to the four C neighbouring points for every output point. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ----------------- C C POFELD - The output field returned to the calling routine. C C Return value C ------------ C C The error indicator (INTEGER). C C Error and Warning Return Values C ------------------------------- C C None C C Common block usage C ------------------ C C None C C Externals C --------- C C INTLOG(R) - Logs messages. C C Method C ------ C C This routine performs basic linear interpolation using the four C neighbouring points in the quasi regular input array to C generate the output array. C C Reference C --------- C C None C C Comments C -------- C C None C C Author C ------ C C K. Fielding *ECMWF* Nov 1993 C C Modifications C ------------- C C Allow for missing data values C J.D.Chambers ECMWF August 2000 C C Force nearest neighbour processing with env variable or C INTOUT parameter C S.Curic ECMWF September 2005 C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Function arguments C INTEGER KINS, KOWE, KONS, KPR, KERR INTEGER KSTART (KINS) INTEGER KWEIND (2, KOWE, 2, KONS), KNSIND (2, KONS) REAL PIFELD (*), POFELD (KOWE, KONS) REAL PWFACT (4, KOWE, KONS) C C Local variables C INTEGER ILATN, ILATS, INORTH, ISOUTH, JOLAT, JOLON, COUNT REAL NEAREST CHARACTER*12 YFLAG LOGICAL LVEGGY C C Statement function C REAL A, B LOGICAL NOTEQ NOTEQ(A,B) = (ABS((A)-(B)).GT.(ABS(A)*1E-3)) C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IRGTOG = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRGTOG: Section 1.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRGTOG: No. input fld lats = ',KINS) CALL INTLOG(JP_DEBUG,'IRGTOG: No.output fld lats = ',KONS) CALL INTLOG(JP_DEBUG,'IRGTOG: No.output fld longs = ',KOWE) ENDIF C LVEGGY = (NITABLE.EQ.128).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30).OR. X (NIPARAM.EQ.43) ) C Force nearest neighbour processing with env variable CALL GETENV('NEAREST_NEIGHBOUR', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LVEGGY = .TRUE. C Force nearest neighbour processing with INTOUT parameter IF( LMETHOD ) LVEGGY = .TRUE. IF( LVEGGY ) CALL INTLOG(JP_DEBUG, X 'IRGTOG: nearest neighbour processing (vegetation)',JPQUIET) C C -----------------------------------------------------------------| C* Section 2. Basic interpolation C -----------------------------------------------------------------| C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRGTOG: Section 2.',JPQUIET) C DO JOLAT = 1, KONS C ILATN = KNSIND(JP_I_N,JOLAT) ILATS = KNSIND(JP_I_S,JOLAT) C INORTH = KSTART(ILATN) - 1 ISOUTH = KSTART(ILATS) - 1 C DO JOLON = 1, KOWE C C Count non-missing data values C COUNT = 0 IF( NOTEQ(PIFELD(KWEIND(JP_I_W,JOLON,JP_I_N,JOLAT)+INORTH), X RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(PIFELD(KWEIND(JP_I_E,JOLON,JP_I_N,JOLAT)+INORTH), X RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(PIFELD(KWEIND(JP_I_W,JOLON,JP_I_S,JOLAT)+ISOUTH), X RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(PIFELD(KWEIND(JP_I_E,JOLON,JP_I_S,JOLAT)+ISOUTH), X RMISSGV) ) COUNT = COUNT + 1 C C Interpolate using four neighbours if none are missing C IF( (COUNT.EQ.4).AND.(.NOT.LVEGGY) ) THEN POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_W,JOLON,JP_I_N,JOLAT)+INORTH) * X PWFACT(JP_I_NW,JOLON,JOLAT) + X PIFELD(KWEIND(JP_I_E,JOLON,JP_I_N,JOLAT)+INORTH) * X PWFACT(JP_I_NE,JOLON,JOLAT) + X PIFELD(KWEIND(JP_I_W,JOLON,JP_I_S,JOLAT)+ISOUTH) * X PWFACT(JP_I_SW,JOLON,JOLAT) + X PIFELD(KWEIND(JP_I_E,JOLON,JP_I_S,JOLAT)+ISOUTH) * X PWFACT(JP_I_SE,JOLON,JOLAT) C C Set missing if all neighbours are missing C ELSE IF( COUNT.EQ.0 ) THEN POFELD(JOLON,JOLAT) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE NEAREST = PWFACT(JP_I_NW,JOLON,JOLAT) POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_W,JOLON,JP_I_N,JOLAT)+INORTH) C IF( PWFACT(JP_I_NE,JOLON,JOLAT).GT.NEAREST ) THEN NEAREST = PWFACT(JP_I_NE,JOLON,JOLAT) POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_E,JOLON,JP_I_N,JOLAT)+INORTH) ENDIF C IF( PWFACT(JP_I_SW,JOLON,JOLAT).GT.NEAREST ) THEN NEAREST = PWFACT(JP_I_SW,JOLON,JOLAT) POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_W,JOLON,JP_I_S,JOLAT)+ISOUTH) ENDIF C IF( PWFACT(JP_I_SE,JOLON,JOLAT).GT.NEAREST ) THEN NEAREST = PWFACT(JP_I_SE,JOLON,JOLAT) POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_E,JOLON,JP_I_S,JOLAT)+ISOUTH) ENDIF C ENDIF C ENDDO C ENDDO C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRGTOG: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/jgetgg.F0000755000175000017500000002375712127406245021744 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JGETGG( KNUM, HTYPE, PLAT, KPTS, KRET) C C----> C**** JGETGG C C PURPOSE C _______ C C This routine reads the definition of a gaussian grid. C C C INTERFACE C _________ C C CALL JGETGG( KNUM, HTYPE, PLAT, KPTS, KRET) C C C Input parameters C ________________ C C KNUM - Gaussian grid number C HTYPE - Gaussian grid type C = 'R' for reduced, C = 'F' for full C = 'U' for a user defined gaussian grid C KPTS - Array giving users definition of the number of points C at each gaussian latitude if HTYPE = 'U' C C C Output parameters C ________________ C C PLAT - Array of gaussian latitudes (both hemispheres) C KPTS - Array giving number of points at each gaussian C latitude, both hemispheres C ( unchanged from input if HTYPE = 'U' ) C KRET - Return status code C 0 = OK C C C Common block usage C __________________ C C None. C C Method C ______ C C If HTYPE = 'U', the users definition of the grid is used. C Latitudes values are calculated corresponding to KNUM. C C An array of predefined values is used. C C C Externals C _________ C C GETENV - Get value of an environment variable C INTLOG - Output log message C IGGLAT - Computes Gaussian latitude lines for given truncation. C EMOSNUM - Gives current EMOSLIB version number. C C C Reference C _________ C C None C C C Comments C ________ C C None C C C AUTHOR C ______ C C J.D.Chambers ECMWF Jan 1994 C C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Apr 1995 C Use predefined definition file for N80 and N160 to cope with C changes in the 'standard' definition. C C J.D.Chambers ECMWF Apr 1996 C Call JGGLAT if regular grid but not N80 or N160 C C J.D.Chambers ECMWF Apr 1996 C Fixup standard pathnames for VPPs. C Read array of values from file if possible (once only). C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C C Parameters C INTEGER JPROUTINE, JPMAXN PARAMETER ( JPROUTINE = 30100 ) PARAMETER ( JPMAXN = 4000 ) C `---> dimension for internal array for C gaussian grid definitions C C Subroutine arguments C INTEGER KNUM, KPTS, KRET CHARACTER*1 HTYPE DIMENSION KPTS(*) REAL PLAT DIMENSION PLAT(*) C C Local variables C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" #include "rgauss_032.h" #include "rgauss_048.h" #include "rgauss_064.h" #include "rgauss_080.h" #include "rgauss_080_19940113.h" #include "rgauss_128.h" #include "rgauss_160.h" #include "rgauss_160_19931222.h" #include "rgauss_200.h" #include "rgauss_256.h" #include "rgauss_320.h" #include "rgauss_400.h" #include "rgauss_512.h" #include "rgauss_640.h" #include "rgauss_1024.h" #include "rgauss_2000.h" C CHARACTER*6 YEMOSNM INTEGER IEMOSNM INTEGER IERR, JJPR, JJERR INTEGER LOOP, NLAT, IOFFSET INTEGER IMAGE, K1, INUM, NGOT C C Externals C INTEGER EMOSNUM, IGGLAT EXTERNAL EMOSNUM, IGGLAT C C -----------------------------------------------------------------| C* Section 1. Set up standard latitudes C -----------------------------------------------------------------| C 100 CONTINUE C IF( KNUM.GT.JPMAXN) THEN CALL INTLOG(JP_ERROR, X 'JGETGG: Grid too big for internal array dimension ',JPMAXN) GOTO 910 ENDIF C INUM = KNUM*2 C IF( (HTYPE.EQ.'U').OR.(HTYPE.EQ.'u') ) GOTO 500 IF( (HTYPE.EQ.'R').OR.(HTYPE.EQ.'r') ) GOTO 200 C C If a regular gaussian grid, calculate the gaussian latitudes C CALL INTLOG(JP_DEBUG, X 'JGETGG: Calculate the gaussian latitudes for N = ',KNUM) C JJPR = 1 JJERR = 1 IERR = IGGLAT(INUM, PLAT, JJPR, JJERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, 'JGETGG: IGGLAT call failed',IERR) KRET = IERR GOTO 990 ENDIF C C Fill in the number of points at each latitude C CALL INTLOG(JP_DEBUG,'JGETGG: Regular gaussian grid N ',KNUM) C DO LOOP = 1, INUM KPTS(LOOP) = KNUM*4 ENDDO C GOTO 930 C C -----------------------------------------------------------------| C* Section 2. Read REDUCED gaussian definitions from array C -----------------------------------------------------------------| C 200 CONTINUE C C Check that the definition is known C IF( (KNUM.NE. 32 ).AND. X (KNUM.NE. 48 ).AND. X (KNUM.NE. 64 ).AND. X (KNUM.NE. 80 ).AND. X (KNUM.NE.128 ).AND. X (KNUM.NE.160 ).AND. X (KNUM.NE.200 ).AND. X (KNUM.NE.256 ).AND. X (KNUM.NE.320 ).AND. X (KNUM.NE.400 ).AND. X (KNUM.NE.512 ).AND. X (KNUM.NE.640 ).AND. X (KNUM.NE.1024 ).AND. X (KNUM.NE.2000 ) ) THEN CALL INTLOG(JP_ERROR, X 'JGETGG: unknown reduced gaussian grid definition: ', KNUM) GOTO 910 ENDIF C C Fill in the gaussian latitudes C JJPR = 1 JJERR = 1 IERR = IGGLAT(INUM, PLAT, JJPR, JJERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, 'JGETGG: IGGLAT call failed',IERR) KRET = IERR GOTO 990 ENDIF C C Fill the array for each row in both hemispheres. C IF( KNUM.EQ. 32 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG032(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 C ELSEIF( KNUM.EQ. 48 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG048(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 ELSEIF( KNUM.EQ. 64 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG064(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 C ELSE IF( KNUM.EQ. 80 ) THEN C IF( NGSPEC.EQ.12 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG08012(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 ELSE DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG08018(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 ENDIF C ELSE IF( KNUM.EQ.128 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG128(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 C ELSE IF( KNUM.EQ.160 ) THEN IF( NGSPEC.EQ.12 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG16012(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 ELSE DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG16018(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 ENDIF C ELSE IF( KNUM.EQ.200 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG200(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 C ELSE IF( KNUM.EQ.256 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG256(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 C ELSE IF( KNUM.EQ.320 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG320(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 C ELSE IF( KNUM.EQ.400 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG400(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 C ELSE IF( KNUM.EQ.512 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG512(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 C ELSE IF( KNUM.EQ.640 ) THEN DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG640(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 C ELSE DO LOOP = 1, KNUM IMAGE = INUM - LOOP +1 KPTS(LOOP) = QG1024(LOOP) KPTS(IMAGE) = KPTS(LOOP) ENDDO GOTO 930 ENDIF C C -----------------------------------------------------------------| C* Section 5. Use User's gaussian definitions from array C -----------------------------------------------------------------| C 500 CONTINUE C CALL INTLOG(JP_DEBUG, X 'JGETGG: Read definitions from User array', JPQUIET) C C Fill the array for each row in both hemispheres. C DO LOOP = 1, INUM PLAT(LOOP) = ROGAUSS(LOOP) KPTS(LOOP) = NOLPTS(LOOP) ENDDO C GOTO 930 C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 910 CONTINUE KRET = JPROUTINE + 2 CALL INTLOG(JP_ERROR, X 'JGETGG: No suitable gaussian grid definition found.',JPQUIET) GOTO 990 C 930 CONTINUE KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/rename_unlink.c0000755000175000017500000000321012127406245023337 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #include "fortdefs.h" /* // NB. Don't need the versions without underscore, they exist in // standard libraries (?!). */ #define RENAME rename_ #define UNLINK unlink_ #define GETPID getpid_ fortint GETPID(void) { return (fortint) getpid(); } fortint RENAME( char * oldname, char * newname, int lold, int lnew) { char * old, * new; fortint status; old = (char *) malloc(lold+1); if( old == NULL ) { perror("RENAME: malloc failed for old"); return (fortint) -1; } new = (char *) malloc(lnew+1); if( new == NULL ) { perror("RENAME: malloc failed for new"); free(old); return (fortint) -1; } strncpy(old,oldname,lold); strncpy(new,newname,lnew); old[lold] = '\0'; new[lold] = '\0'; status = (fortint) rename(old,new); free(old); free(new); return status; } fortint UNLINK( char * oldname, int lold) { char * old; fortint status; old = (char *) malloc(lold+1); if( old == NULL ) { perror("UNLINK: malloc failed for old"); return (fortint) -1; } strncpy(old,oldname,lold); old[lold] = '\0'; status = (fortint) unlink(old); free(old); return status; } emoslib-000392+dfsg.1/interpolation/irgmem.F0000755000175000017500000002600412127406245021741 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRGMEM (KPR, KERR) C C----> C**** *IRGMEM* C C PURPOSE C _______ C C This routine acquires heap space for quasi regular to regular C interpolation. C C INTERFACE C _________ C C IERR = IRGMEM (KPR, KERR) C C Input parameters C ________________ C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C None C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C nifld.common - This file contains all the input field C definition variables. C C NINS - Number of grid points in NS direction for input C field (used in grspace.h). C NIWE - Number of grid points in WE direction for input C field (used in grspace.h). C C nofld.common - This file contains all the output field C definition variables. C C NONS - Number of grid points in NS direction for output C field (used in grspace.h). C NOWE - Number of grid points in WE direction for output C field (used in grspace.h). C C grspace.h - This file contains all the work space array C definitions for grid point to grid point C interpolation. C C GRID_POINT C C NILATGP - POINTER to array MILATG. C NILONGP - POINTER to array MILONG. C NILSMP - POINTER to array MILSM. C NINPNTP - POINTER to array RINPNT. C NISTRTP - POINTER to array MISTRT. C NNSDISTP - POINTER to array MNSDIST. C NNSINDP - POINTER to array MNSIND. C NMAXP - POINTER to array RMAX. C NOLATGP - POINTER to array MOLATG. C NOLONGP - POINTER to array MOLONG. C NOLSMP - POINTER to array MOLSM. C NWEDISTP - POINTER to array MWEDIST. C NWEINDP - POINTER to array MWEIND. C NWFACTP - POINTER to array WFACT. C C MILATG - Dynamic array of length (NINS) (see nifld.common) C which holds the values of the input field C latitudes. C MILONG - Dynamic array of length (NIWE + 1) (see C nifld.common) which holds the values of the C input field longitudes. C MILSM - Dynamic array of length (NIWE, 2) (see C nifld.common) used in calculating the effects of C the land sea mask on interpolation. C MISTRT - Dynamic array of length (NINS) (see nifld.common) C which holds the array offsets of the start of C each latitude line for a quasi regular Gaussian C input field. No space is assigned to this array C for a regular input field. C MNSDIST - Dynamic array of length (2, NONS) (see C nofld.common) which holds the distances to C neighbouring latitude lines of the input field C from the associated line of latitude in the C output field. C MNSIND - Dynamic array of length (2, NONS) (see C nofld.common) which holds the latitude line C numbers (array offset) of the input field C associated with each line of latitude in the C output field. C MOLATG - Dynamic array of length (NONS) (see nofld.common) C which holds the values of the output field C latitudes. C MOLONG - Dynamic array of length (NOWE) (see nofld.common) C which holds the values of the output field C longitudes. C MOLSM - Dynamic array of length (NOWE) (see nofld.common) C used in calculating the effects of the land sea C mask on interpolation. C MWEDIST - Dynamic array of length (2, NONS) (see C nofld.common) for a regular input field and of C length (2, 2 * NONS * NOWE) (see nofld.common) C for a quasi regular Gaussian input field. This C array holds the distances to neighbouring C longitude points of the input field from the C associated longitude points in the output field. C MWEIND - Dynamic array of length (2, NONS) (see C nofld.common) for a regular input field and of C length (2, 2 * NONS * NOWE) (see nofld.common) C for a quasi regular Gaussian input field. This C array holds the longitude points (array offset) C from the input field associated with each C longitude point in the output field. C RINPNT - Dynamic array of length (NOWE) (see nofld.common) C used to aid vectorisation in processing C precipitation fields. C RMAX - Dynamic array of length (NOWE) (see nofld.common) C used to aid vectorisation in processing C precipitation fields. C WFACT - Dynamic array of length (4, NOWE * NONS) (see C nofld.common) which holds the interpolation C weights for each point in the output field. C C EXTERNALS C _________ C C IGALLOC - Get a heap allocation for array space. C INTLOG(R) - Logs messages. C C METHOD C ______ C C This routine first calculates how much heap space is required. C IGALLOC is then used to acquire the required space. Finally the C POINTERs are initialised to allow use of the dynamic arrays. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C None C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C Dummy arguments C INTEGER KPR, KERR C C Local variables C #ifdef POINTER_64 INTEGER*8 IBASE #else INTEGER IBASE #endif INTEGER IREQUEST, IERR INTEGER JPROUTINE PARAMETER (JPROUTINE = 23100) C C External functions C INTEGER IGALLOC C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRGMEM: Section 1.',JPQUIET) C IRGMEM = 0 C C -----------------------------------------------------------------| C* Section 2. Calculate memory required and get heap C -----------------------------------------------------------------| C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRGMEM: Section 2.',JPQUIET) C C REAL arrays (This may change for double precision version) C IREQUEST = 4 * NOWE * NONS * JPRLEN C C Fields for precipitation calculations C IREQUEST = IREQUEST + 2 * NOWE * JPRLEN C C Fixed integer fields C IREQUEST = IREQUEST + (NIWE + 1 + NINS + NOWE + 5 * NONS) * 1 JPILEN C C Reduced Gaussian input fields (These change for regular fields) C IREQUEST = IREQUEST + (8 * NOWE * NONS + NINS) * JPILEN C C Fields for LSM calculations C IREQUEST = IREQUEST + (2 * NIWE + NOWE) * JPILEN C C Get the required memory C IERR = IGALLOC (JPINNER, IREQUEST, IBASE, KPR, KERR) C IF( IERR.GT.0 ) THEN IRGMEM = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 3. Initialise base addresses for POINTER arrays C -----------------------------------------------------------------| C 300 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRGMEM: Section 3.',JPQUIET) C C REAL arrays first to ease conversion to DOUBLE PRECISION C NWFACTP = IBASE C C Precipitation REAL arrays C NMAXP = NWFACTP + 4 * NOWE * NONS * JPRLEN NINPNTP = NMAXP + NOWE * JPRLEN C C This offset may change if DOUBLE PRECISION C NILONGP = NINPNTP + NOWE * JPRLEN C NILATGP = NILONGP + (NIWE + 1) * JPILEN NOLONGP = NILATGP + NINS * JPILEN NOLATGP = NOLONGP + NOWE * JPILEN NNSINDP = NOLATGP + NONS * JPILEN NNSDISTP = NNSINDP + 2 * NONS * JPILEN C NWEINDP = NNSDISTP + 2 * NONS * JPILEN NWEDISTP = NWEINDP + 4 * NOWE * NONS * JPILEN NISTRTP = NWEDISTP + 4 * NOWE * NONS * JPILEN C C LSM arrays C NILSMP = NISTRTP + NINS * JPILEN NOLSMP = NILSMP + 2 * NIWE * JPILEN C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IRGMEM: Output base addresses.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRGMEM: WFACT address = ',NWFACTP) CALL INTLOG(JP_DEBUG,'IRGMEM: RMAX address = ',NMAXP) CALL INTLOG(JP_DEBUG,'IRGMEM: RINPNT address = ',NINPNTP) CALL INTLOG(JP_DEBUG,'IRGMEM: Input long.address = ',NILONGP) CALL INTLOG(JP_DEBUG,'IRGMEM: Input lat.address = ',NILATGP) CALL INTLOG(JP_DEBUG,'IRGMEM: Output long.address = ',NOLONGP) CALL INTLOG(JP_DEBUG,'IRGMEM: Output lat.address = ',NOLATGP) CALL INTLOG(JP_DEBUG,'IRGMEM: NS offset address = ',NNSINDP) CALL INTLOG(JP_DEBUG,'IRGMEM: NS distance address = ',NNSDISTP) CALL INTLOG(JP_DEBUG,'IRGMEM: WE offset address = ',NWEINDP) CALL INTLOG(JP_DEBUG,'IRGMEM: WE distance address = ',NWEDISTP) CALL INTLOG(JP_DEBUG,'IRGMEM: Line start array addr.= ',NISTRTP) CALL INTLOG(JP_DEBUG,'IRGMEM: Input LSM address = ',NILSMP) CALL INTLOG(JP_DEBUG,'IRGMEM: Output LSM address = ',NOLSMP) ENDIF C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRGMEM: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/sharedMemoryCharacteristics.c0000755000175000017500000001117112127406245026210 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include extern int debugSet; #include "sharedmemory.h" #include "fortdefs.h" #define MAC 1264 int sharedMemoryCharacteristics( int type, int truncation, float grid, int * numlat, size_t * size, key_t * key ) { /* // Input: // // type - indicates the spectral to grid transformation: // SP2LL for spectral to lat/long // SP2RG for spectral to regular gaussian // SP2QG for spectral to quasi-regular (reduced) gaussian // // truncation - the spectral truncation (eg 511 for T511) // // grid - specifies the desired grid: // the grid spacing along a line of longitude for lat/long grids // the gaussian grid number for gaussian grids (eg 80.0 for N80) // // Output: // // numlat - the number of latitudes from pole to pole in the grid // // size - size in bytes of the transformation coefficients // // key - the key for the shared memory and its associated semaphore // // Function returns 0 if all OK. // // Files setup to generate shared memory and semaphore keys are held // in a desginated directory (see defaultDirectory below). This // directory can be specified using environment variable SHARED_DIRECTORY. // */ int status, gaussianNumber; char defaultDirectory[] = "./"; /* char defaultDirectory[] = "/home/ma/emos/data/BlueStorm"; */ char * directory; char filename[] = "SP2LL_Tnnnn_to_Grid_xxxxxxxxx"; char * fullFilename; key_t Key; /* // Build the name of the file which is used to define a key. // If the file does not already exist, create it. */ /* directory = getenv("SHARED_DIRECTORY"); */ directory = getenv("PPDIR"); if( directory == NULL ) directory = defaultDirectory; fullFilename = (char *) malloc(strlen(directory)+strlen(filename)); if( fullFilename == NULL ) { perror("malloc error"); exit(1); } strcpy(fullFilename, directory); strcat(fullFilename, "/"); switch( type) { case SP2LL: sprintf(filename,"SP2LL_T%04d_to_Grid_%09.6f",truncation,grid); break; case SP2RG: sprintf(filename,"SP2RG_T%04d_to_Regular_N%04.0f",truncation,grid); break; case SP2QG: sprintf(filename,"SP2QG_T%04d_to_Reduced_N%04.0f",truncation,grid); break; default: return (int) 1; } strcat(fullFilename, filename); if( DEBUG ) printf("fullFilename = %s\n", fullFilename); Key = ftok(fullFilename, MAC); /* // If file does not exist, .. */ if( Key == -1 ) { char * command = (char*) malloc(6+strlen(fullFilename)); if( command == NULL ) { perror("malloc error"); exit(1); } strcpy(command,"touch "); strcat(command,fullFilename); if( DEBUG ) printf("%s\n", command); status = system(command); if( status ) { printf("Unable to create file %s\n", fullFilename); perror("File creation problem"); exit(1); } free(command); Key = ftok(fullFilename, MAC); if( Key == -1 ) { perror("Error getting key from newly created file"); exit(1); } } free(fullFilename); *key = Key; if( DEBUG ) printf("sharedMemoryCharacteristics: Key = %0x\n", Key); /* // Calculate the file characteristics */ switch( type) { case SP2LL: *numlat = (int)(90.0/grid + 1.0); break; case SP2RG: case SP2QG: gaussianNumber = (int) grid; /* *numlat = gaussianNumber*2; */ *numlat = gaussianNumber; break; default: printf("sharedMemoryCharacteristics: Type %d not yet handled\n", type); return (int) 1; } *size = (((truncation+1)*(truncation+4))/2) * (*numlat) * sizeof(fortreal); printf("size=%ld\n",*size); /* *size = (((truncation+1)*(truncation+4))/2); printf("size=%d\n",*size); *size *= *numlat; printf("size=%d\n",*size); *size *= sizeof(fortreal); printf("-----size=%ld\n",*size); *size = 4736220160; printf("------size=%ld\n",*size); */ if( DEBUG ) printf("sharedMemoryCharacteristics: truncation = %d sizeof-fortreal %d numlat=%d\n", truncation,sizeof(fortreal),*numlat); if( DEBUG ) printf("sharedMemoryCharacteristics: Size = %ld bytes\n", *size); return (int) 0; } emoslib-000392+dfsg.1/interpolation/hpshgpw.F0000755000175000017500000001535612127406245022151 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE HPSHGPW(OLDLON,OLDLAT,NEWLON,NEWLAT, X PDIRI,NUMPTS,POLE) C C----> C**** HPSHGPW C C Purpose C ------- C C Rotates a grid of points about the y-axis and calculates the C angular change between local axes at each grid point. C C C Interface C --------- C C CALL HPSHGPW(OLDLON,OLDLAT,NEWLON,NEWLAT,PDIRI,NUMPTS,POLE) C C Input C ----- C C OLDLON - Array of longitudes to be rotated (degrees) C OLDLAT - Array of latitudes to be rotated (degrees) C NUMPTS - Number of gridpoints to be rotated C PDIRI - Array of initial orientation angles, eg wind directions C (degrees) C POLE - (Lat,long) of new south pole, measured in old grid C C C Output C ------ C C NEWLON - Array of rotated longitudes (degrees, -180 < angle <= 180 ) C NEWLAT - Array of rotated latitudes (degrees) C PDIRI - Array of modified orientation angles, changed to allow for C the angles between coordinate axes at each point before and C after rotation (degrees, -180 < angle <= 180 ) C C C Method C ------ C C Rotates a grid of points about the y-axis and calculates the C angular change to local axes at each grid point. C C The z-axis is the polar axis, increasing from south to north. C The x-axis is line from the centre of the globe through (0N, 0E), C increasing from the centre out to (0N, 0E). C The y-axis is line from the centre of the globe through (0N, 90E), C increasing from the centre out to (0N, 90E). C C The sign of the angular change between local axes at each grid point C is such that it denotes the angle of rotation to be applied to the C old coordinate system to let its axes coincide with the new one. The C angle is measured in the old coordinate system, so increments to C angles in PDIRI are positive for anti-clockwise rotation from old C x-axis to new one. C C As a consequence, if the initial values in PDIRI are wind directions C ddd in the old coordinate system (measured to conform to meteorological C use), the output values of PDIRI will be ddd in the new coordinate system C (modulo 360). C C Note that the meteorological use of ddd has effectively the opposite C sign to the mathematically usual way of defining angles. C C The angles between the coordinate axes at each point may be obtained C by calling the routine with the values in PDIRI all set to zero on input. C C C Externals C --------- C C None. C C C Author C ------ C C G.J.Cats 15 DEC 88. C C C Modified C -------- C C P.O'Sullivan 30/3/93 (wind and nonwind) C C J.D.Chambers October 1999 C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C C Parameters C REAL EPSILON PARAMETER( EPSILON = 1E-5) C `---------------> tolerance used for checking C proximity to +/-90.0 and 180.0 C C Subroutine arguments C REAL OLDLON, OLDLAT, NEWLON, NEWLAT, PDIRI, POLE(2) DIMENSION OLDLON(*), OLDLAT(*), NEWLON(*), NEWLAT(*), PDIRI(*) INTEGER NUMPTS C C Local variables C INTEGER NXTPT REAL SINTHE, COSTHE, THETA REAL ZLAT, SINLAT, COSLAT REAL ZLON, SINLON, COSLON REAL ZNEW, LATNEW, NCOSLAT, COSNEW, LONNEW, COSDEL, DELTA, ZDIV C C Statement functions C REAL A REAL RADIAN, DEGREE, NORMAL REAL LONGMOD C C Convert degrees to radians C RADIAN(A) = (A) * 0.01745329252 C C Convert radians to degrees C DEGREE(A) = (A) * 57.295779513 C C Normalise value such as sin or cos to range (-1,1) C NORMAL(A) = MAX(MIN((A),1.0),-1.0) C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C LONGMOD = -POLE(2) THETA = RADIAN(POLE(1)) SINTHE = -SIN(THETA) COSTHE = -COS(THETA) C C -----------------------------------------------------------------| C* Section 2. Handle each point separately (longitude,latitude) C -----------------------------------------------------------------| C DO NXTPT = 1, NUMPTS C ZLAT = RADIAN(OLDLAT(NXTPT)) SINLAT = SIN(ZLAT) COSLAT = COS(ZLAT) C ZLON = OLDLON(NXTPT) + LONGMOD IF( ZLON.GT.180.0 ) ZLON = ZLON - 360.0 IF( ABS(ZLON + 180.0).LT.EPSILON ) ZLON = 180.0 ZLON = RADIAN(ZLON) SINLON = SIN(ZLON) COSLON = COS(ZLON) C C Calculate z coordinate of point after rotation and hence C its latitude after rotation since: C z = sin(lat) C ZNEW = SINTHE*SINLAT+COSTHE*COSLAT*COSLON ZNEW = NORMAL(ZNEW) IF( ABS(ZNEW -1.0).LT.EPSILON ) Then LATNEW = 1.5707963268 NEWLAT(NXTPT) = 90.0 NCOSLAT = 0.0 ELSE IF( ABS(ZNEW +1.0).LT.EPSILON ) THEN LATNEW = -1.5707963268 NEWLAT(NXTPT) = -90.0 NCOSLAT = 0.0 ELSE LATNEW = ASIN(ZNEW) NEWLAT(NXTPT) = DEGREE(LATNEW) NCOSLAT = COS(LATNEW) ENDIF C C Calculate x coordinate of point after rotation and hence C its longitude after rotation since: C x = cos(lat).cos(lon) C cos(lon) = x / cos(lat) C IF( NCOSLAT.EQ.0.0 ) NCOSLAT = 1.0 ZDIV = 1.0 / NCOSLAT C COSNEW = ( (SINTHE*COSLAT*COSLON-COSTHE*SINLAT) ) * ZDIV COSNEW = NORMAL(COSNEW) LONNEW = SIGN(ACOS(COSNEW),ZLON) NEWLON(NXTPT) = DEGREE(LONNEW) C C Use cosine rule from spherical trigonometry to find angle C between the directions of the meridians before and after C rotation. C COSDEL = SINTHE*SINLON*SIN(LONNEW)+COSLON*COSNEW COSDEL = NORMAL(COSDEL) DELTA = SIGN(ACOS(COSDEL),-COSTHE*ZLON) C C Change the orientation angle (keep it in the range -180 to 180) C PDIRI(NXTPT) = PDIRI(NXTPT) - DEGREE(DELTA) IF( PDIRI(NXTPT).GT.180.0 ) PDIRI(NXTPT) = PDIRI(NXTPT) - 360.0 IF( PDIRI(NXTPT).LE.-180.0) PDIRI(NXTPT) = PDIRI(NXTPT) + 360.0 C ENDDO C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C RETURN END emoslib-000392+dfsg.1/interpolation/ngrotat.F0000755000175000017500000001415712127406245022145 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION NGROTAT(OLDFLD, NEWFLD, NUMPTS, POLELAT, POLELON, X TYPE, NGAUSS) C C----> C**** NGROTAT C C PURPOSE C _______ C C Generates a rotated gaussian grid. C C INTERFACE C _________ C C IRET = NGROTAT(OLDFLD,NEWFLD,NUMPTS,POLELAT,POLELON,TYPE,NGAUSS) C C C Input parameters C ________________ C C OLDFLD = Original gaussian grid field. C NUMPTS = Total number of points in the original field. C POLELAT = Latitude of the South Pole of rotation. C POLELON = Longitude of the South Pole of rotation. C TYPE = 'R' if the gaussian field is reduced (quasi) gaussian. C = 'F' if the gaussian field is regular (full) gaussian. C NGAUSS = Gaussian grid number (number of latitude rows between C the pole and the equator). C C Output parameters C ________________ C C NEWFLD = New gaussian grid field. C (This can be the same array as OLDFLD). C C Function returns zero if interpolation ran OK. C C C METHOD C ______ C C The nearest gaussian latitude row is found. C C Work space is dynamically allocated. It is retained for future C calls. C C EXTERNALS C _________ C C IGGLAT - Compute Gaussian latitudes for a given truncation. C NGVALUE - Calculates the interpolated value at a point of the new C gaussian grid. C INTLOG - Logs output messages C INTLOGR - Logs output messages C JMEMHAN - Dynamically allocate work array C C C REFERENCE C _________ C C None C C C COMMENTS C ________ C C The input field is assumed to be global in extent, and a known C definition, either N160 or N80 (reduced or regular). C The output field has the same type and dimensions as the input C field. C C C AUTHOR C ______ C C J.D.Chambers ECMWF April 1996 C C C MODIFICATIONS C _____________ C C None. C C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE, JPMAXGG PARAMETER( JPROUTINE = 38500 ) PARAMETER (JPMAXGG = 1280) C C Subroutine arguments C REAL OLDFLD, NEWFLD, POLELAT, POLELON INTEGER NUMPTS, NGAUSS DIMENSION OLDFLD(NUMPTS), NEWFLD(NUMPTS) CHARACTER*1 TYPE C C Local variables C REAL GLATS(JPMAXGG) INTEGER NGPTS(JPMAXGG) INTEGER OLDGAUS DATA OLDGAUS/0/ CHARACTER*1 OLDTYPE DATA OLDTYPE/' '/ SAVE GLATS, NGPTS, OLDGAUS, OLDTYPE C INTEGER NEXT, NEXLAT, INROW, LOOP, KRET REAL STEPLON, CUTOFF, RLAT, RLON DIMENSION RLON(JPMAXGG*2) C INTEGER ISIZE DATA ISIZE/0/ REAL DUMI POINTER (IDUMI, DUMI) DIMENSION DUMI(1) SAVE IDUMI, ISIZE C C Externals C INTEGER IGGLAT C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C NGROTAT = 0 C CALL INTLOG(JP_DEBUG, X 'NGROTAT: Number of pts in original field = ',NUMPTS) CALL INTLOGR(JP_DEBUG, X 'NGROTAT: Latitude of the South Pole of rotation = ',POLELAT) CALL INTLOGR(JP_DEBUG, X 'NGROTAT: Longitude of the South Pole of rotation = ',POLELON) CALL INTLOG(JP_DEBUG,'NGROTAT: Get gaussian grid type:',JPQUIET) CALL INTLOG(JP_DEBUG,TYPE,JPQUIET) CALL INTLOG(JP_DEBUG,'NGROTAT: grid number:',NGAUSS) C C Get gaussian grid definition (first time only) C IF( (OLDGAUS.NE.NGAUSS).OR.(OLDTYPE.NE.TYPE)) THEN CALL INTLOG(JP_DEBUG, X 'NGROTAT: Get definitions for gaussian grid type:',JPQUIET) CALL INTLOG(JP_DEBUG,TYPE,JPQUIET) CALL INTLOG(JP_DEBUG,'NGROTAT: grid number:',NGAUSS) C KRET = IGGLAT(NGAUSS*2, GLATS, 0, 1) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, 'NGROTAT: IGGLAT call failed',KRET) NGROTAT = JPROUTINE + 2 GOTO 900 ENDIF DO LOOP = 1, NGAUSS NGPTS(LOOP) = ISEC2(22+LOOP) NGPTS(2*NGAUSS+1-LOOP) = NGPTS(LOOP) ENDDO OLDGAUS = NGAUSS OLDTYPE = TYPE ENDIF C C Allocate work space if not already done. C IF( ISIZE.LT.NUMPTS ) THEN ISIZE = NUMPTS CALL JMEMHAN(18,IDUMI,ISIZE,1,KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'NGROTAT: Memory allocation failed: status = ',KRET) NGROTAT = JPROUTINE + 2 GOTO 900 ENDIF ENDIF C C Move the original field to the work array C DO LOOP = 1, NUMPTS DUMI(LOOP) = OLDFLD(LOOP) ENDDO C _______________________________________________________ C C* Section 2. Work through latitude lines from north to south C _______________________________________________________ C 200 CONTINUE C NEXT = 1 C DO NEXLAT = 1, NGAUSS*2 INROW = NGPTS(NEXLAT) STEPLON = 360.0/INROW RLAT = GLATS(NEXLAT) C C Fill in longitudes along current line of latitude C DO LOOP = 1, INROW RLON(LOOP) = (LOOP-1)*STEPLON ENDDO C C Rotate the current line of latitude C CALL NGVALUE(NEWFLD,NEXT,INROW,RLAT,RLON, X POLELAT,POLELON,NGAUSS,TYPE,DUMI,GLATS,NGPTS) C NEXT = NEXT + INROW C ENDDO C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C CALL INTLOG(JP_DEBUG,'NGROTAT: Return from NGROTAT:',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/sources.hpia640000755000175000017500000001021512127406245023047 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = \ jjset99.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ sharedll.c \ sharedgg.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ rename_unlink.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/irlrev.F0000755000175000017500000001403612127406245021766 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRLREV (PMAT, KLEN, KLLEN, KCOL, KDIR, KPR, 1 KERR) C C----> C**** *IRLREV* C C PURPOSE C _______ C C This routine reverses either the rows or the columns of a quasi C regular matrix. C C INTERFACE C _________ C C IERR = IRLREV (PMAT, KLEN, KLLEN, KCOL, KDIR, KPR, KERR) C C Input parameters C ________________ C C PMAT - The input matrix of dimension (KLEN). C C KLEN - The length of the array PMAT. C C KLLEN - The lengths of each column within PMAT. C C KCOL - The number of entries in KLLEN and columns in PMAT. C C KDIR - 1 Reverses the order of the rows. C West-East reversal for meteorological fields. C 2 Reverses the order of the columns. C North-South reversal for meteorological fields. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C (No longer used, kept for backward compatibility. C Used to be used as follows: C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code.) C C C Output parameters C ________________ C C PMAT - The transformed matrix. C C C Return value C ____________ C C The error indicator (INTEGER). C C 7501 A column swap has been attempted where the lengths in the C array KLLEN are not symmetric about the middle value. C C C Common block usage C __________________ C C None C C C EXTERNALS C _________ C C INTLOG - Generate log messages. C C C METHOD C ______ C C KDIR = 1 is implemented by swapping corresponding columns of C the matrix. C C KDIR = 2 is implemented by reversing the elements within each C column. C C C REFERENCE C _________ C C None C C C COMMENTS C ________ C C None. C C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Sept 1995 C C----< C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Function arguments INTEGER KLEN, KCOL, KDIR, KPR, KERR INTEGER KLLEN (KCOL) REAL PMAT (KLEN) C C Local variables INTEGER IHALF, ISTARTL, ISTARTU, ILINE INTEGER JSTEP, JMOVE REAL ZTEMP C C Parameters. INTEGER JPROUTINE PARAMETER (JPROUTINE = 7500) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRLREV: Section 1.',JPQUIET) C IRLREV = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRLREV: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRLREV: Matrix length = ',KLEN) CALL INTLOG(JP_DEBUG,'IRLREV: Number of rows = ',KCOL) CALL INTLOG(JP_DEBUG,'IRLREV: Direction value = ',KDIR) ENDIF C C _______________________________________________________ C C* Section 2. Matrix COLUMN reversal (Field row interchange - WE) C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRLREV: Section 2.',JPQUIET) C IF (KDIR .EQ. 1) THEN C ISTARTL = 0 C DO 220 JSTEP = 1, KCOL C ILINE = KLLEN (JSTEP) IHALF = ILINE / 2 C DO 210 JMOVE = 1, IHALF ZTEMP = PMAT(ISTARTL + ILINE + 1 - JMOVE) PMAT(ISTARTL + ILINE + 1 - JMOVE) = PMAT(ISTARTL + JMOVE) PMAT(ISTARTL + JMOVE) = ZTEMP 210 CONTINUE C ISTARTL = ISTARTL + ILINE C 220 CONTINUE C ELSE C C _______________________________________________________ C C* Section 3. Matrix ROW reversal (Field column interchange - NS) C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRLREV: Section 3.',JPQUIET) C IHALF = KCOL / 2 C ISTARTL = 0 ISTARTU = KLEN - KLLEN (KCOL) C DO 320 JMOVE = 1, IHALF C C The quasi regular line lengths must be symmetric for this C operation. C IF (KLLEN (JMOVE) .NE. KLLEN (KCOL + 1 - JMOVE) ) THEN IRLREV = JPROUTINE + 1 C CALL INTLOG(JP_ERROR, X 'IRLREV: Line of latitude reversal failed', JPQUIET) CALL INTLOG(JP_ERROR,'IRLREV: at lat.lines = ',JMOVE) CALL INTLOG(JP_ERROR,'IRLREV: and = ',(KCOL+1-JMOVE)) CALL INTLOG(JP_ERROR, X 'IRLREV: Lengths are not the same.', JPQUIET) CALL INTLOG(JP_ERROR,'IRLREV: 1st length = ', KLLEN (JMOVE)) CALL INTLOG(JP_ERROR, X 'IRLREV: 2nd length = ',KLLEN(KCOL+1-JMOVE)) C ENDIF C DO 310 JSTEP = 1, KLLEN (JMOVE) C ZTEMP = PMAT (ISTARTU + JSTEP) PMAT (ISTARTU + JSTEP) = PMAT (ISTARTL + JSTEP) PMAT (ISTARTL + JSTEP) = ZTEMP C 310 CONTINUE C ISTARTL = ISTARTL + KLLEN (JMOVE) ISTARTU = ISTARTU - KLLEN (KCOL - JMOVE) C 320 CONTINUE C ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRLREV: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/nofld.common0000755000175000017500000001266512127406245022676 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C**** "nofld.common" C C PURPOSE C _______ C C This file contains all the output field definition variables. C C INTERFACE C _________ C C #include "nofld.common" C C Common block usage C __________________ C C JDNOFLD C ------- C C NOFORM - Output field data format (0-Unpacked, 1-Grib). C NOREPR - Output field representation. Supported C representations are C Spherical harmonic C Regular Gaussian grid C Reduced Gaussian grid C Latitude/longitude grid C NOGAUSS - Output field Gaussian truncation. C NOMEGA - Intermediate field Gaussian truncation. C NORESO - Output field spherical harmonic resolution. C NOGRID - Output field grid definition (WE/NS). C NOAREA - Output field area definition (N/W/S/E). C NONS - Number of grid points in NS direction for output C field. C NOWE - Number of grid points in WE direction for output C field. C NO1NS - Index of first output field grid point in NS C direction of the input field. C NO1WE - Index of first output field grid point in WE C direction of the input field. C NOACC - Number of packing bits to be used for output C GRIB field. C NOPARAM - Output field parameter number C NOSCNM - Output field scanning mode. C NOTABLE - Output field table number. C NOLEVEL - Output field level. C NOLEVT - Output field level type. C POLATS - Array of reduced gaussian grid latitudes C (ROGAUSS in grspace.h used instead now) C (N to S pole) C NOLPTS - Array of reduced gaussian grid number of points C per latitude C NOPCNT - Total number of pts in input reduced gaussian field C NOROTA - Output field rotation definition (long/lat). C LNOROTA - Flag which says whether rotation has been specified C LO12PT - Flag chosing between 12-point and 4-point horixontal C interpolation for rotations C LDOUBLE - Flag chosing intermediate interpolation between C two reduced gaussian grids C LMETHOD - Flag chosing between bilinear and nearest neighbour C for interpolation method C LNNLSM - Flag using NN with same type of lsm in C hirlsm(rotated ll) C LINTOUT - Flag which says whether intout.F has been called. C NODATE - Input field date C NOMISS - Set non-zero if the output field is all missing C data because the input field was all missing data. C NOHFUNC - Used in CALL GRIBEX to force standard encoding or C 2nd-order packing for grid-point data. C NOBITMP - Name of file containing bitmap definition C NOFRAME - Width in grid points of a frame boundary. C NOSTYLE - Style to be used in generating grid point fields C (Mars [default] or dissemination). C C REFERENCE C _________ C C NONE C C COMMENTS C ________ C C Contains section 1 C C AUTHOR C ______ C C J.D.Chambers ECMWF Oct 1993 C C MODIFICATIONS C _____________ C C NONE C C C _______________________________________________________ C C C* Section 1. Field definition variables C _______________________________________________________ C C INTEGER X NOFORM , NOREPR , NOGRID , NOAREA , NOAAPI , NOREDLL, NOGAUSS, X NOMEGA, NORESO , X NOWE , NONS , NOSCNM , NOPARAM, NOTABLE, NO1WE , NO1NS , X NOACC , NOLPTS , NOPCNT , NOROTA , NOLEVEL, NOLEVT , NODATE , X NOMISS , NOFRAME, NOSTYLE, OUTLROT DIMENSION NOGRID(2) DIMENSION NOAREA(4), NOAAPI(4) DIMENSION NOLPTS( JPLAT ) DIMENSION NOROTA(2) C LOGICAL LINTOUT, LNOROTA, LO12PT,LMETHOD,LNNLSM,LDOUBLE,LUVCOMP, X LGLOBL C CHARACTER*1 NOHFUNC CHARACTER*256 NOBITMP C COMMON /JDNOFLD/ X NOFORM , NOREPR , NOGRID , NOAREA , NOAAPI , NOREDLL, NOGAUSS, X NOMEGA, NORESO , X NOWE , NONS , NOSCNM , NOPARAM, NOTABLE, NO1WE , NO1NS , X NOACC , NOLPTS , NOPCNT , NOROTA , NOLEVEL, NOLEVT , NODATE , X NOMISS , NOFRAME, NOSTYLE, OUTLROT, X LINTOUT,LNOROTA,LO12PT,LMETHOD,LNNLSM,LDOUBLE,LUVCOMP,LGLOBL, X NOHFUNC, NOBITMP C SAVE /JDNOFLD/ C _______________________________________________________ C C* Section 2. Ocean C _______________________________________________________ C INTEGER X NOOCO3, NOOCO4, X NOOCO4F, NOOCO3F, NOOCO4L, NOOCO3L, X NOOIINC, NOOJINC, X NOOIRGR, NOONOST REAL OCCOOO DIMENSION OCCOOO(1000) C COMMON /JOCEANO/ X NOOCO3, NOOCO4, X NOOCO4F, NOOCO3F, NOOCO4L, NOOCO3L, X NOOIINC, NOOJINC, X NOOIRGR, NOONOST, X OCCOOO C SAVE /JOCEANO/ emoslib-000392+dfsg.1/interpolation/iaogdef.F0000755000175000017500000002701212127406245022057 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IAOGDEF (PWEST, PEAST, PNORTH, PSOUTH, 1 KGAUSS, KAREA, OCHNG, OIWEGLOBE, OINPOLE, OISPOLE, 2 KIAREA, KPR, KERR) C C----> C**** *IAOGDEF* C C PURPOSE C _______ C C Set the output field definition variables. C C INTERFACE C _________ C C IERR = IAOGDEF (PWEST, PEAST, PNORTH, PSOUTH, KGAUSS, KAREA, C 1 OCHNG, OIWEGLOBE, OINPOLE, OISPOLE, KIAREA, KPR, KERR) C C Input parameters C ________________ C C PWEST - The Western limit of the output field area. C C PEAST - The Eastern limit of the output field area. C C PNORTH - The Northern limit of the output field area. C C PSOUTH - The Southern limit of the output field area. C C KGAUSS - The Gaussian truncation for the output field. C C KAREA - The previous output field area used for checking C for definition changes. C C OIWEGLOBE - Flag indicating whether the INPUT field spans the C globe in the West-East direction. C C OINPOLE - Flag indicating whether the INPUT field includes C the North polar line of latitude. C C OISPOLE - Flag indicating whether the INPUT field includes C the South polar line of latitude. C C KIAREA - The input field area which will be used for an C uninitialised output field area when the input C field is not global. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KAREA - The output field area if the definition has changed. C C OCHNG - A flag variable indicating whether the definition C has changed. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 21601 An illegal Gaussian truncation was requested. C 21602 The default West-East output limits for a non-global C input field did not match the increment. C 21603 Default North-South limits were specified for a C non-global input field. This is not allowed for a C Gaussian output field. C C Common block usage C __________________ C C nofld.common - This file contains all the output field C definition variables. C C NOGAUSS - Output field Gaussian truncation is set. C NOREPR - Output field representation is set. C NOSCNM - Output field scanning mode is set. C C EXTERNALS C _________ C C INTLOG - Logs messages. C C METHOD C ______ C C Check the output definition against the previous definition and C update appropriate definition variables. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nofld.common" C C Subroutine arguments C LOGICAL OCHNG, OIWEGLOBE, OINPOLE, OISPOLE INTEGER KGAUSS, KPR, KERR INTEGER KAREA (4), KIAREA (4) REAL PWEST, PEAST, PNORTH, PSOUTH C C Local variables LOGICAL GLOBE, GNS INTEGER INORTH, ISOUTH, IWEST, IEAST, IWEINC, IWETMP, ITEMP INTEGER IERR INTEGER JPROUTINE PARAMETER (JPROUTINE = 21600) C C External functions C C Transform definition variables that must be preserved C C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAOGDEF: Section 1.',JPQUIET) C IAOGDEF = 0 C IERR = 0 C OCHNG = .FALSE. C GNS = OINPOLE .AND. OISPOLE C GLOBE = OIWEGLOBE .AND. GNS C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IAOGDEF: Input parameters',JPQUIET) CALL INTLOG(JP_DEBUG,'IAOGDEF: Gaussian truncation = ',KGAUSS) CALL INTLOGR(JP_DEBUG,'IAOGDEF: Area North = ',PNORTH) CALL INTLOGR(JP_DEBUG,'IAOGDEF: Area West = ',PWEST) CALL INTLOGR(JP_DEBUG,'IAOGDEF: Area South = ',PSOUTH) CALL INTLOGR(JP_DEBUG,'IAOGDEF: Area East = ',PEAST) ENDIF C C _______________________________________________________ C C C* Section 2. Convert parameters to integer C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAOGDEF: Section 2.',JPQUIET) C C Representation C IF (NOREPR .NE. JPGAUSSIAN) THEN NOREPR = JPGAUSSIAN OCHNG = .TRUE. ENDIF C NOSCNM = 0 C C North, South, West and East limits C INORTH = NINT (PNORTH * PPMULT) ISOUTH = NINT (PSOUTH * PPMULT) IWEST = NINT (PWEST * PPMULT) IEAST = NINT (PEAST * PPMULT) C C Direction increments for regular grids C IWEINC = JP90 / KGAUSS C IF (IWEINC * KGAUSS .NE. JP90) THEN IAOGDEF = JPROUTINE + 1 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IAOGDEF: Illegal gaussian truncation = ',KGAUSS) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IAOGDEF: Interpolation failing.',JPQUIET) ENDIF GO TO 900 ENDIF C C C _______________________________________________________ C C C* Section 3. Adjust grid stride and area C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAOGDEF: Section 3.',JPQUIET) C C Global field if all area limits are 0 C IF (INORTH .EQ. 0 .AND. ISOUTH .EQ. 0 .AND. X IWEST .EQ. 0 .AND. IEAST .EQ. 0) THEN C INORTH = JP90 ISOUTH = - JP90 C IF (GLOBE) THEN C IWEST = 0 IEAST = JP360 - IWEINC C ELSE IF (GNS) THEN C IWEST = KIAREA (JPWEST) IEAST = KIAREA (JPEAST) C IF (MOD (IEAST - IWEST, IWEINC) .NE. 0) THEN IAOGDEF = JPROUTINE + 2 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IAOGDEF: West-East increment ', IWEINC) CALL INTLOG(JP_ERROR, X 'IAOGDEF: does not match the range from ',IWEST) CALL INTLOG(JP_ERROR, X 'IAOGDEF: to ',IEAST) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IAOGDEF: Interpolation failing.',JPQUIET) ENDIF GO TO 900 ENDIF ELSE IAOGDEF = JPROUTINE + 3 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IAOGDEF: Must specify a range if Gaussian',JPQUIET) CALL INTLOG(JP_ERROR, X 'IAOGDEF: output and non-global input.',JPQUIET) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IAOGDEF: Interpolation failing.',JPQUIET) ENDIF GO TO 900 ENDIF ENDIF C ELSE C C Try to produce fields representable in GRIB for 0.5625 degree C strides C IF (IEAST .LT. IWEST) THEN IF (IEAST .LE. 0) THEN IEAST = IEAST + JP360 ELSE IWEST = IWEST - JP360 ENDIF ENDIF C GLOBE = IEAST - IWEST + IWEINC .EQ. JP360 .OR. X IEAST - IWEST + IWEINC .EQ. 0 C IF (MOD (IWEINC, 10) .EQ. 5 .AND. .NOT. GLOBE) THEN IWETMP = IWEINC * 2 ELSE IWETMP = IWEINC ENDIF C IF (MOD (IEAST - IWEST, IWETMP) .NE. 0) THEN C IF (MOD (IEAST, IWETMP) .NE. 0) THEN C ITEMP = ABS (IEAST) / IWETMP C IF (IEAST .GT. 0) THEN IEAST = (ITEMP + 1) * IWETMP IF (IEAST .GT. JP360) IEAST = IEAST - IWETMP ELSE IEAST = - ITEMP * IWETMP ENDIF ENDIF C IF (MOD (IWEST, IWETMP) .NE. 0) THEN C ITEMP = ABS (IWEST) / IWETMP C IF (IWEST .LT. 0) THEN IWEST = - (ITEMP + 1) * IWETMP IF (IWEST .LT. - JP360) IWEST = IWEST + IWETMP ELSE IWEST = ITEMP * IWETMP ENDIF ENDIF ENDIF ENDIF C IF (NOGAUSS .NE. KGAUSS) THEN NOGAUSS = KGAUSS OCHNG = .TRUE. ENDIF C IF (KAREA (JPNORTH) .NE. INORTH) THEN KAREA (JPNORTH) = INORTH OCHNG = .TRUE. ENDIF C IF (KAREA (JPSOUTH) .NE. ISOUTH) THEN KAREA (JPSOUTH) = ISOUTH OCHNG = .TRUE. ENDIF C IF (IWEST .NE. KAREA (JPWEST) ) THEN KAREA (JPWEST) = IWEST OCHNG = .TRUE. ENDIF C IF (IEAST .NE. KAREA (JPEAST) ) THEN KAREA (JPEAST) = IEAST OCHNG = .TRUE. ENDIF C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG, X 'IAOGDEF: Output field definition parameters.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'IAOGDEF: Representation is ',NOREPR) CALL INTLOG(JP_DEBUG, X 'IAOGDEF: Gaussian truncation is ',NOGAUSS) CALL INTLOG(JP_DEBUG, X 'IAOGDEF: Area North is ',KAREA(1)) CALL INTLOG(JP_DEBUG, X 'IAOGDEF: Area West is ',KAREA(2)) CALL INTLOG(JP_DEBUG, X 'IAOGDEF: Area South is ',KAREA(3)) CALL INTLOG(JP_DEBUG, X 'IAOGDEF: Area East is ',KAREA(4)) IF( OCHNG ) THEN CALL INTLOG(JP_DEBUG, X 'IAOGDEF: Output field change is TRUE.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IAOGDEF: Output field change is TRUE.',JPQUIET) ENDIF C ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAOGDEF: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/fixarea.F0000755000175000017500000003543512127406245022110 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION FIXAREA( ) C C----> C**** FIXAREA C C Purpose C ------- C C Fixup input/output field area definitions. C C C Interface C --------- C C IRET = FIXAREA( ) C C Input C ----- C C None. C C C Output C ------ C C None. C C C Method C ------ C C If default (0/0/0/0) selected for input, input area is set C - to global for spherical harmonics C - to global for lat/long grid C - to global for gaussian grid C C If default (0/0/0/0) selected for output, output area is set C - to same as input area for lat/long grid C - to same as input area for regular gaussian grid C - to global for reduced gaussian grid C C (Currently, subareas are not supported for reduced gaussian fields. C Should work OK; but need to correct setup of values in GRIB C product for number of points in each latitude row) C C Output area is adjusted to fit the given grid step. C C C Externals C --------- C C AREACHK - Match input/output field area definitions according to C grid specification. C GETENV - Get value of an environment variable C INTLOG - Logs output messages C C C Author C ------ C C J.D.Chambers ECMWF Jan 1995 C C----< C IMPLICIT NONE C C Function arguments C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 19200 ) C C Local variables C INTEGER INORTH, ISOUTH, IEAST INTEGER ITEMP, IRET REAL EW, NS, NORTH, SOUTH, EAST, WEST, FACTOR3, FACTOR4 LOGICAL LDEFIN, LDEFOUT, LGLOBAL, LOVERDE CHARACTER*20 OVERIDE INTEGER IBLANK C C Externals C INTEGER AREACHK C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE FIXAREA = 0 LGLOBAL = .FALSE. C C ------------------------------------------------------------------ C* Section 2. Fixup input area if default (0/0/0/0). C ------------------------------------------------------------------ C 200 CONTINUE C C Fixup input ocean area definition C IF( NILOCAL.EQ.4 ) THEN FACTOR3 = 0.0 FACTOR4 = 0.0 C IF( NIFORM.EQ.1 ) THEN IF( ISEC1(60).EQ.1 ) FACTOR3 = 1.0 IF( ISEC1(60).EQ.2 ) THEN IF( ISEC1(47).EQ.160 ) FACTOR3 = 1000.0 ENDIF IF( ISEC1(60).EQ.3 ) FACTOR3 = 1000000.0 IF( ISEC1(60).EQ.4 ) FACTOR3 = 1000000.0 C IF( ISEC1(61).EQ.1 ) FACTOR4 = 1.0 IF( ISEC1(61).EQ.2 ) THEN IF( ISEC1(47).EQ.160 ) FACTOR4 = 1000.0 ENDIF IF( ISEC1(61).EQ.3 ) FACTOR4 = 1000000.0 IF( ISEC1(61).EQ.4 ) FACTOR4 = 1000000.0 C IF( (FACTOR3.EQ.0).OR.(FACTOR4.EQ.0) ) THEN FIXAREA = 2 GOTO 900 ENDIF NORTH = REAL(ISEC1(62))/FACTOR4 WEST = REAL(ISEC1(63))/FACTOR3 SOUTH = REAL(ISEC1(64))/FACTOR4 EAST = REAL(ISEC1(65))/FACTOR3 ELSE IF( NIOCO3.EQ.1 ) FACTOR3 = 1.0 IF( NIOCO3.EQ.2 ) THEN IF( NIVCDEF.EQ.160 ) FACTOR3 = 1000.0 ENDIF IF( NIOCO3.EQ.3 ) FACTOR3 = 1000000.0 IF( NIOCO3.EQ.4 ) FACTOR3 = 1000000.0 C IF( NIOCO4.EQ.1 ) FACTOR4 = 1.0 IF( NIOCO4.EQ.2 ) THEN IF( NIVCDEF.EQ.160 ) FACTOR4 = 1000.0 ENDIF IF( NIOCO4.EQ.3 ) FACTOR4 = 1000000.0 IF( NIOCO4.EQ.4 ) FACTOR4 = 1000000.0 C IF( (FACTOR3.EQ.0).OR.(FACTOR4.EQ.0) ) THEN FIXAREA = 2 GOTO 900 ENDIF NORTH = REAL(NIOCO4F)/FACTOR4 WEST = REAL(NIOCO3F)/FACTOR3 SOUTH = REAL(NIOCO4L)/FACTOR4 EAST = REAL(NIOCO3L)/FACTOR3 ENDIF NIAREA(1) = NINT( NORTH * PPMULT + 0.1) NIAREA(2) = NINT( WEST * PPMULT + 0.1) NIAREA(3) = NINT( SOUTH * PPMULT + 0.1) NIAREA(4) = NINT( EAST * PPMULT + 0.1) GOTO 300 ENDIF C C Sinisa bug fix for grid global fields C If input is lat/lon, check if it is global to within C a tolerance of 0.1 degrees IF ( NIREPR .EQ. JPREGULAR ) THEN IF ( NIAREA(4).GT.0 ) THEN IEAST = NIAREA(4) ELSE IEAST = JP360 + NIAREA(4) ENDIF IF(NIAREA(1).EQ.JP90.AND.NIAREA(3).EQ.-JP90.AND. X NIAREA(2).EQ.0.AND. X IABS(JP360 - IEAST - NIGRID(1)).LT.1000) THEN NIAREA(1) = 0. NIAREA(2) = 0. NIAREA(3) = 0. NIAREA(4) = 0. csinisa cs ELSEIF(IABS(JP360 - IEAST - NIGRID(1)).LT.1000) THEN cs NOAREA(1) = NIAREA(1) cs NOAREA(2) = 0 cs NOAREA(3) = NIAREA(3) cs NOAREA(4) = 36000000 ENDIF ENDIF LDEFIN = ( (NIAREA(1) .EQ. 0) .AND. (NIAREA(2) .EQ. 0) .AND. X (NIAREA(3) .EQ. 0) .AND. (NIAREA(4) .EQ. 0) ) C IF( LDEFIN ) THEN C IF ( (NIREPR.EQ.JPSPHERE) .OR. (NIREPR.EQ.JPSPHROT) ) THEN C C Spectral input .. EW = 0.0 NS = 0.0 C ELSE IF ( NIREPR .EQ. JPREGULAR ) THEN C C Regular lat/long grid .. EW = FLOAT( NIGRID(1) ) / PPMULT NS = FLOAT( NIGRID(2) ) / PPMULT C ELSE C C Gaussian grid .. EW = FLOAT( NIGAUSS ) NS = 0.0 ENDIF C NORTH = 0.0 WEST = 0.0 SOUTH = 0.0 EAST = 0.0 IRET = AREACHK( EW, NS, NORTH, WEST, SOUTH, EAST ) IF( IRET.NE.0 ) THEN FIXAREA = IRET GOTO 900 ENDIF NIAREA(1) = NINT( NORTH * PPMULT + 0.1) NIAREA(2) = NINT( WEST * PPMULT + 0.1) NIAREA(3) = NINT( SOUTH * PPMULT + 0.1) NIAREA(4) = NINT( EAST * PPMULT + 0.1) C ENDIF C C ------------------------------------------------------------------ C* Section 3. Fixup output area if default (0/0/0/0). C ------------------------------------------------------------------ C 300 CONTINUE C C See if environment variable has been specified to override C output area specification C LOVERDE = .FALSE. CALL GETENV('OVERRIDE_OUTPUT_AREA', OVERIDE) IBLANK = INDEX(OVERIDE, ' ') IF( IBLANK.GT.1 ) THEN IF( OVERIDE(1:2).EQ.'ON' ) THEN LOVERDE = .TRUE. CALL INTLOG(JP_DEBUG, X 'FIXAREA: OVERRIDE_OUTPUT_AREA is ON',JPQUIET) ENDIF ENDIF C LDEFOUT = ( (NOAREA(1) .EQ. 0) .AND. (NOAREA(2) .EQ. 0) .AND. X (NOAREA(3) .EQ. 0) .AND. (NOAREA(4) .EQ. 0) ) X .OR. LOVERDE C C Fixup output ocean area definition C IF( NILOCAL.EQ.4 ) THEN IF( LDEFOUT ) THEN IF( NIFORM.EQ.1 ) THEN SOUTH = REAL(ISEC1(64))/FACTOR4 NORTH = REAL(ISEC1(62))/FACTOR4 WEST = REAL(ISEC1(63))/FACTOR3 EAST = REAL(ISEC1(65))/FACTOR3 EW = FLOAT( NOGRID(1) ) / PPMULT NS = FLOAT( NOGRID(2) ) / PPMULT IF( ISEC1(60).EQ.3 ) THEN WEST = 0.0 EAST = 360.0 IRET = AREACHK( EW, NS, NORTH, WEST, SOUTH, EAST ) IF ( IRET .NE. 0 ) THEN FIXAREA = IRET GOTO 900 ENDIF ELSEIF( ISEC1(60).EQ.4 ) THEN WEST = -90.0 EAST = 90.0 ENDIF IF( ISEC1(61).EQ.3 ) THEN SOUTH = 0.0 NORTH = 360.0 ELSEIF( ISEC1(61).EQ.4 ) THEN SOUTH = -90.0 NORTH = 90.0 ENDIF ELSE NORTH = REAL(NIOCO4F)/FACTOR4 WEST = REAL(NIOCO3F)/FACTOR3 SOUTH = REAL(NIOCO4L)/FACTOR4 EAST = REAL(NIOCO3L)/FACTOR3 EW = FLOAT( NOGRID(1) ) / PPMULT NS = FLOAT( NOGRID(2) ) / PPMULT IF( NIOCO3.EQ.3 ) THEN WEST = 0.0 EAST = 360.0 IRET = AREACHK( EW, NS, NORTH, WEST, SOUTH, EAST ) IF ( IRET .NE. 0 ) THEN FIXAREA = IRET GOTO 900 ENDIF ELSEIF( NIOCO3.EQ.4 ) THEN WEST = -90.0 EAST = 90.0 ENDIF IF( NIOCO4.EQ.3 ) THEN SOUTH = 0.0 NORTH = 360.0 ELSEIF( NIOCO4.EQ.4 ) THEN SOUTH = -90.0 NORTH = 90.0 ENDIF ENDIF NOAREA(1) = NINT( NORTH * PPMULT + 0.1) NOAREA(2) = NINT( WEST * PPMULT + 0.1) NOAREA(3) = NINT( SOUTH * PPMULT + 0.1) NOAREA(4) = NINT( EAST * PPMULT + 0.1) ELSE NORTH = REAL(NOAREA(1)) / PPMULT WEST = REAL(NOAREA(2)) / PPMULT SOUTH = REAL(NOAREA(3)) / PPMULT EAST = REAL(NOAREA(4)) / PPMULT ENDIF GOTO 900 ENDIF C IF( LDEFOUT ) THEN C C If input is gaussian, check if it is global to within C a tolerance of 0.1 degrees. C IF ( (NIREPR.EQ.JPGAUSSIAN) .OR. (NIREPR.EQ.JPQUASI) ) THEN LGLOBAL = .TRUE. INORTH = NINT( RIGAUSS(1) * PPMULT ) IF( IABS(NIAREA(1)-INORTH).GT.1000) LGLOBAL = .FALSE. ISOUTH = - INORTH IF( IABS(NIAREA(3)-ISOUTH).GT.1000) LGLOBAL = .FALSE. IF( NIAREA(2).NE.0 ) LGLOBAL = .FALSE. C Sinisa added case east less than 0 IF ( NIAREA(4).GT.0 ) THEN IEAST = NIAREA(4) ELSE IEAST = JP360 + NIAREA(4) ENDIF IEAST = JP360 - (JP90/NIGAUSS) IF( NIREPR.EQ.JPGAUSSIAN ) THEN IF( IABS(JP360 - IEAST - (JP90/NIGAUSS)).GT.1000) X LGLOBAL = .FALSE. ENDIF ENDIF C C Spectral output .. C C .. skip section fitting output area to grid C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) GOTO 900 C C Regular lat/long grid .. C IF ( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN IF( LDEFIN .OR. LGLOBAL.OR.(NIREPR.EQ.JPREDLL) ) THEN EW = FLOAT( NOGRID(1) ) / PPMULT NS = FLOAT( NOGRID(2) ) / PPMULT NORTH = 90.0 WEST = 0.0 SOUTH = -NORTH EAST = 360.0 C C Use GRIB header values for reduced lat/long grids C (maybe 'Mediterranean' sub-area). C IF( NIREPR.EQ.JPREDLL ) THEN NORTH = REAL(NIAREA(1))/PPMULT WEST = REAL(NIAREA(2))/PPMULT SOUTH = REAL(NIAREA(3))/PPMULT EAST = REAL(NIAREA(4))/PPMULT ENDIF IRET = AREACHK( EW, NS, NORTH, WEST, SOUTH, EAST ) IF ( IRET .NE. 0 ) THEN FIXAREA = IRET GOTO 900 ENDIF NOAREA(1) = NINT( NORTH * PPMULT + 0.1) NOAREA(2) = NINT( WEST * PPMULT + 0.1) NOAREA(3) = NINT( SOUTH * PPMULT + 0.1) NOAREA(4) = NINT( EAST * PPMULT + 0.1) C ELSE NOAREA(1) = NIAREA(1) NOAREA(2) = NIAREA(2) NOAREA(3) = NIAREA(3) NOAREA(4) = NIAREA(4) ENDIF C ENDIF C C Gaussian .. C IF ( (NOREPR.EQ.JPGAUSSIAN) .OR. (NOREPR.EQ.JPQUASI) ) THEN C C Is output grid specification the same as the input? IF( NIGAUSS.EQ.NOGAUSS) THEN IF( (NOREPR.EQ.JPGAUSSIAN) .AND. LGLOBAL ) THEN NOAREA(1) = JP90 NOAREA(2) = 0 NOAREA(3) = -JP90 NOAREA(4) = JP360 - (JP90/NOGAUSS) ELSE NOAREA(1) = NIAREA(1) NOAREA(2) = NIAREA(2) NOAREA(3) = NIAREA(3) NOAREA(4) = NIAREA(4) ENDIF C C Skip section fitting output area to grid GOTO 900 C ELSE C C Different grid resolutions EW = FLOAT( NOGAUSS ) NS = 0.0 IF( (NOREPR.EQ.JPGAUSSIAN) .AND. LGLOBAL ) THEN NORTH = 90.0 WEST = 0.0 SOUTH = -90.0 EAST = 360.0 - (360.0/(EW*4.0)) ELSE NORTH = FLOAT( NIAREA(1) ) / PPMULT WEST = FLOAT( NIAREA(2) ) / PPMULT SOUTH = FLOAT( NIAREA(3) ) / PPMULT EAST = FLOAT( NIAREA(4) ) / PPMULT ENDIF IRET = AREACHK( EW, NS, NORTH, WEST, SOUTH, EAST ) IF ( IRET .NE. 0 ) THEN FIXAREA = IRET GOTO 900 ENDIF NOAREA(1) = NINT( NORTH * PPMULT + 0.1) NOAREA(2) = NINT( WEST * PPMULT + 0.1) NOAREA(3) = NINT( SOUTH * PPMULT + 0.1) NOAREA(4) = NINT( EAST * PPMULT + 0.1) C C If regular lat/long input, check if output west longitude C reachs to full globe IF (NIREPR .EQ. JPREGULAR) THEN ITEMP = NIAREA(4)+NIGRID(1) IF ( ITEMP.EQ.JP360 ) NOAREA(4) = JP360 - (JP90/NOGAUSS) ENDIF C IF (NIREPR .EQ. JPSPHERE) NOAREA(4) = JP360 - (JP90/NOGAUSS) IF (NIREPR .EQ. JPSPHROT) NOAREA(4) = JP360 - (JP90/NOGAUSS) ENDIF ENDIF C ENDIF C C ------------------------------------------------------------------ C* Section 4. Now fixup output areas to correspond to the grid. C ------------------------------------------------------------------ C 400 CONTINUE C IF ( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C Regular lat/long grid .. EW = FLOAT( NOGRID(1) ) / PPMULT NS = FLOAT( NOGRID(2) ) / PPMULT C ELSE C C Gaussian grid .. EW = FLOAT( NOGAUSS ) NS = 0.0 ENDIF C NORTH = FLOAT( NOAREA(1) ) / PPMULT WEST = FLOAT( NOAREA(2) ) / PPMULT SOUTH = FLOAT( NOAREA(3) ) / PPMULT EAST = FLOAT( NOAREA(4) ) / PPMULT IRET = AREACHK( EW, NS, NORTH, WEST, SOUTH, EAST ) IF ( IRET .NE. 0 ) THEN FIXAREA = IRET GOTO 900 ENDIF NOAREA(1) = NINT( NORTH * PPMULT + 0.1) NOAREA(2) = NINT( WEST * PPMULT + 0.1) NOAREA(3) = NINT( SOUTH * PPMULT + 0.1) NOAREA(4) = NINT( EAST * PPMULT + 0.1) C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/irdiwe.F0000755000175000017500000002031012127406245021736 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRDIWE (KLLEN, KINS, KNSIND, KONS, KILONG, 1 KIWE, KOLONG, KOWE, KWEIND, KWEDIST, KPR, KERR) C C----> C**** *IRDIWE* C C PURPOSE C _______ C C Calculate the distances between points in an output longitude C array and its West and East neighbours in the input longitude C array for a quasi regular input field and regular output field. C C INTERFACE C _________ C C IERR = IRDIWE (KLLEN, KINS, KNSIND, KONS, KILONG, KIWE, KOLONG, C 1 KOWE, KWEIND, KWEDIST, KPR, KERR) C C Input parameters C ________________ C C KLLEN - This array contains the quasi regular Gaussian C line length definition. C C KINS - The number of points in the North-South direction C in the input field. C C KNSIND - This array will contain the array offsets of the C North and South points in the input array required C for interpolation. C C KONS - The number of points in the North-South direction C in the output field. C C KILONG - The array of input longitudes. C C KIWE - The maximum number of points in the West-East C direction for this quasi regular Gaussian grid. C C KOLONG - The array of output longitudes. C C KOWE - The number of points in the West-East direction in C the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KWEIND - This array will contain the array offsets of C the West and East points in the input array C required for interpolation for all lines of C latitude. C C KWEDIST - This array holds the distances to longitude values C in the input field from the associated longitude C values in the output field. This array is C dimensioned (2, KOWE, 2, KONS). C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C IGDIWE - Calculate the distances between points in an C output longitude array and its West and East C neighbours in the input longitude array for one C line of latitude. C INTLOG(R) - Logs messages. C C METHOD C ______ C C This routine will create the arrays of offsets and distance as C two arrays of length (2, Number of output longitudes, 2, C Number of output latitudes). C C The array of offsets is copied from line to line provided the C number of points in the quasi regular lines of latitude does C not change. When the definition changes IGDIWE is used to C generate the offsets and distances for the new line definition. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments INTEGER KINS, KONS, KIWE, KOWE, KPR, KERR INTEGER KLLEN (KINS) INTEGER KNSIND (2, KONS) INTEGER KILONG (KIWE + 1), KOLONG (KOWE) INTEGER KWEIND (2, KOWE, 2, KONS), 1 KWEDIST (2, KOWE, 2, KONS) C C Local variables LOGICAL GWEGLOBE INTEGER IIPLAT, IILON, ISTRIDE, IPR, IERR INTEGER IBLON, IBNS, IBLAT INTEGER JLAT, JLON, JNS, JWE INTEGER JPROUTINE PARAMETER (JPROUTINE = 23900) C C External functions INTEGER IGDIWE C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRDIWE: Section 1.',JPQUIET) C IRDIWE = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRDIWE: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRDIWE: Max no.input longs = ',KIWE) CALL INTLOG(JP_DEBUG,'IRDIWE: No.input lats = ',KINS) CALL INTLOG(JP_DEBUG,'IRDIWE: No.output longs = ',KOWE) CALL INTLOG(JP_DEBUG,'IRDIWE: No.output lats = ',KONS) CALL INTLOG(JP_DEBUG,'IRDIWE: Output field spread = ',KOLONG(1)) CALL INTLOG(JP_DEBUG,'IRDIWE: to ',KOLONG(KOWE)) ENDIF C GWEGLOBE = .TRUE. C IBLON = 0 C IERR = 0 C C _______________________________________________________ C C* Section 2. Generate distances and points for all lines C of latitude C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRDIWE: Section 2.',JPQUIET) C IPR = KPR IBLAT = 1 IBNS = 1 C DO 250 JLAT = 1, KONS C DO 240 JNS = 1, 2 C IIPLAT = KNSIND (JNS, JLAT) IILON = KLLEN (IIPLAT) C IF (IILON .EQ. IBLON) THEN C C Same line definition as last one calculated C DO 220 JWE = 1, 2 DO 210 JLON = 1, KOWE C KWEIND (JWE, JLON, JNS, JLAT) = 1 KWEIND (JWE, JLON, IBNS, IBLAT) KWEDIST (JWE, JLON, JNS, JLAT) = 1 KWEDIST (JWE, JLON, IBNS, IBLAT) C 210 CONTINUE 220 CONTINUE C ELSE C IBLON = IILON IBNS = JNS IBLAT = JLAT C ISTRIDE = JP360 / IILON C C Generate longitude values for this line C DO 230 JLON = 1, IILON C KILONG (JLON) = (JLON - 1) * ISTRIDE C 230 CONTINUE C C Wrap around input grid to simplify routine IGDIWE C KILONG (IILON + 1) = KILONG (1) C IERR = IGDIWE (KILONG, IILON, KOLONG, KOWE, GWEGLOBE, 1 KWEIND (1, 1, JNS, JLAT), KWEDIST (1, 1, JNS, JLAT), 2 IPR, KERR) C IF (IERR .GT. 0) THEN IRDIWE = IERR GO TO 900 ENDIF C IPR = KPR - 1 C ENDIF C 240 CONTINUE C 250 CONTINUE C C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRDIWE: Section 9.',JPQUIET) C C RETURN END emoslib-000392+dfsg.1/interpolation/intfbu.F0000755000175000017500000003417412127406245021757 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTFBU( FLDIN,INLEN,FLDOUT,OUTLEN) C C----> C**** INTFBU C C Purpose C ------- C C Interpolate input field... C C C Interface C --------- C C IRET = INTFBU( FLDIN,INLEN,FLDOUT,OUTLEN) C C Input C ----- C C FLDIN - Input field (unpacked). C INLEN - Input field length (words). C C C Output C ------ C C FLDOUT - Output field (unpacked). C OUTLEN - Output field length (words). C C C Method C ------ C C Call interpolation routines; then repack if GRIB output. C C Currently, subareas are not supported for reduced gaussian fields. C (Works OK; but need to setup values in GRIB product for number of C points in each latitude row) C C C Externals C --------- C C IARCNTL - Control interp. quasi reg.Gauss -> Gaussian or lat/long C IAGCNTL - Control interpolation reg.Gaussian or lat/long fields. C JSH2SH - Changes resolution of a field of spectral coefficients. C JALLGP - Converts spectral input fields to lat/long grid fields. C JALLWN - Converts spectral input wind fields to lat/long grids. C JAGGGP - Converts spectral input fields to a gaussian grid field. C IBASINI - Ensure basic interpolation setup is done. C RESET_C - Reset interpolation handling options using GRIB product. C JMEMHAN - Handles memory allocation. C IGLSIZE - Evaluate array sizes for reg. lat/long and area. C IGSIZE - Evaluate array sizes for a regular Gaussian. C IRSIZE - Evaluate array sizes for a quasi reg Gaussian. C FIXAREA - Fixup area definition to correspond to grid definitions C ISCRSZ - Calculate number of values in generated field. C INTLOG - Log error message. C C C Author C ------ C C J.D.Chambers ECMWF Aug 1994 C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C IMPLICIT NONE C C Function arguments INTEGER INLEN,OUTLEN REAL FLDIN(*),FLDOUT(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters INTEGER JPROUTINE INTEGER JPALLOC, JPSCR16 PARAMETER (JPROUTINE = 26600 ) PARAMETER (JPALLOC = 1 ) PARAMETER (JPSCR16 = 16 ) C C Local variables C INTEGER IERR, ISIZE, IUV REAL PNORTH, PSOUTH, PWEST, PEAST, PLATINC, PLONINC REAL EW, NS, NORTH, SOUTH, WEST, EAST REAL HNORTH, HSOUTH, HWEST, HEAST LOGICAL OIWEGLOBE, OINPOLE, OISPOLE LOGICAL OOWEGLOBE, OONPOLE, OOSPOLE LOGICAL LSTYLE INTEGER KILN, KITOTAL, KOLN, KOTOTAL, KPR, KERR INTEGER LOOP INTEGER HOLDEW, HOLDNS, N_NOWE, N_NONS, IDISTEP REAL*8 DISSRES #ifdef POINTER_64 INTEGER*8 IZNFLDO #endif REAL ZNFLDO POINTER ( IZNFLDO, ZNFLDO ) DIMENSION ZNFLDO( 1 ) C C Externals INTEGER IGLSIZE, IGSIZE, IRSIZE, IARCNTL, IAGCNTL INTEGER FIXAREA, ISCRSZ C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE INTFBU = 0 IERR = 0 KPR = 0 C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_WARN,'INTFBU: znfeldi allocate fail',JPQUIET) INTFBU = IERR GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C ------------------------------------------------------------------ C* Section 3. Interpolation spherical harmonics to spherical C harmonics C ------------------------------------------------------------------ C 300 CONTINUE C IF ( ((NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT)) .AND. X ((NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT)) ) THEN C Get scratch space for interpolation C ISIZE = ISCRSZ() IF ( ISIZE .LE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBU: Get scratch space failed',ISIZE) INTFBU = JPROUTINE + 2 GOTO 900 ENDIF CALL JMEMHAN( JPSCR16, IZNFLDO, ISIZE, JPALLOC, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBU: Get scratch space fail',JPQUIET) INTFBU = JPROUTINE + 2 GOTO 900 ENDIF C CALL SH2SH( ZNFELDI, NIRESO, ZNFLDO, NORESO ) C GOTO 700 C C If not spectral -> spectral transformation, make sure the input C and output area definitions have been setup. C ELSE LSTYLE = LNOSTYLE.AND. X (NOSTYLE.EQ.JPSDISM).AND. X (NOREPR.EQ.JPREGULAR) IF( LSTYLE ) THEN c to be consistant with product generation IF(NIRESO.EQ.1279) THEN DISSRES = 0.125 ELSEIF(NIRESO.EQ.799) THEN DISSRES = 0.25 ELSEIF(NIRESO.EQ.639) THEN DISSRES = 0.25 ELSEIF(NIRESO.EQ.399) THEN DISSRES = 0.5 ELSEIF(NIRESO.EQ.319) THEN DISSRES = 0.5 ELSEIF(NIRESO.EQ.255) THEN DISSRES = 0.5 ELSEIF(NIRESO.EQ.155) THEN DISSRES = 1.5 ELSE DISSRES = NOGRID(1) / PPMULT CALL INTLOG(JP_WARN,'INTFBU: Diss resol set to: ',NOGRID(1)) ENDIF IDISTEP = NINT(DISSRES*PPMULT) HOLDEW = NOGRID(1) HOLDNS = NOGRID(2) NOGRID(1) = IDISTEP NOGRID(2) = IDISTEP ENDIF C C Setup geographical limits C PNORTH = FLOAT( NOAREA(1) ) / PPMULT PWEST = FLOAT( NOAREA(2) ) / PPMULT PSOUTH = FLOAT( NOAREA(3) ) / PPMULT PEAST = FLOAT( NOAREA(4) ) / PPMULT C ENDIF C C ------------------------------------------------------------------ C Section 4. Interpolation spherical harmonics to grid point. C ------------------------------------------------------------------ C 400 CONTINUE C IF ( (NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT) ) THEN C C Get scratch space for interpolation C ISIZE = ISCRSZ() IF ( ISIZE .LE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBU: Get scratch space failed',ISIZE) INTFBU = JPROUTINE + 2 GOTO 900 ENDIF C CALL JMEMHAN( JPSCR16, IZNFLDO, ISIZE, JPALLOC, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBU: Get scratch space fail',JPQUIET) INTFBU = JPROUTINE + 2 GOTO 900 ENDIF C C Setup wind flag C IF( .NOT.LWINDSET ) THEN LWIND = ( ( NOTABLE.EQ.128 ).AND. X ((NOPARAM.EQ.131).OR.(NOPARAM.EQ.132)) ) ENDIF CALL INTLOG(JP_DEBUG,'INTFBU: Wind flag = ', LWIND) IF ( LWIND ) THEN IUV = 1 ELSE IUV = 0 ENDIF C C ------------------------------------------------------------------ C* Section 4.1 Interpolation spherical harmonics to grid point. C ------------------------------------------------------------------ C 410 CONTINUE C IF ( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C -> latitude/longitude grid C PLONINC = FLOAT( NOGRID(1) ) / PPMULT PLATINC = FLOAT( NOGRID(2) ) / PPMULT IF ( LWIND ) THEN CALL JALLWN( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, ZNFLDO, IERR) ELSE CALL JALLGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, ZNFLDO, IERR) ENDIF IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBU: Interpolation of gaussian field failed.',JPQUIET) INTFBU = JPROUTINE + 3 GOTO 900 ENDIF C GOTO 700 C ENDIF C C IF ( NOREPR .EQ. JPGAUSSIAN) THEN C C -> regular gaussian grid C CALL JAGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, 'F', NOLPTS, ZNFLDO, IUV, IERR) cs X NOGAUSS, 'U', NOLPTS, ZNFLDO, IUV, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBU: Interpolation of gaussian field failed.',JPQUIET) INTFBU = JPROUTINE + 4 GOTO 900 ENDIF C GOTO 700 C ENDIF C C IF ( NOREPR .EQ. JPQUASI) THEN C C -> reduced gaussian grid C CALL JAGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, 'U', NOLPTS, ZNFLDO, IUV, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBU: Interpolation of gaussian field failed.',JPQUIET) INTFBU = JPROUTINE + 4 GOTO 900 ENDIF C GOTO 700 C ENDIF C C Dropthrough => unrecognized output field type C IERR = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTFBU: Unrecognized output field type.',NOREPR) INTFBU = IERR GOTO 900 C ENDIF C C ------------------------------------------------------------------ C Section 5. Interpolate Gaussian grid to grid point. C ------------------------------------------------------------------ C 500 CONTINUE C C Setup flags for input and output fields C KERR = 1 IF (NIREPR .EQ. JPQUASI) THEN IERR = IRSIZE( NIGAUSS, NIAREA, MILLEN, NIWE, NINS, KILN, X KITOTAL, RIGAUSS, OIWEGLOBE, OINPOLE, OISPOLE, X KPR, KERR) ELSE IF ( NIREPR .EQ. JPGAUSSIAN ) THEN IERR = IGSIZE( NIGAUSS, NIAREA, NIWE, NINS, KILN, RIGAUSS, X OIWEGLOBE, OINPOLE, OISPOLE, KPR, KERR) ELSE IERR = IGLSIZE( NIGRID, NIAREA, NIWE, NINS, KILN, OIWEGLOBE, X OINPOLE, OISPOLE, KPR, KERR) ENDIF C NONS = 0 NOWE = 0 IF (NOREPR .EQ. JPQUASI) THEN IERR = IRSIZE( NOGAUSS, NOAREA, NOLPTS, NOWE, NONS, KOLN, X KOTOTAL, ROGAUSS, OOWEGLOBE, OONPOLE, OOSPOLE, X KPR, KERR) ELSE IF ( NOREPR .EQ. JPGAUSSIAN ) THEN IERR = IGSIZE( NOGAUSS, NOAREA, NOWE, NONS, KOLN, ROGAUSS, X OOWEGLOBE, OONPOLE, OOSPOLE, KPR, KERR) ELSE IERR = IGLSIZE( NOGRID, NOAREA, NOWE, NONS, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR, KERR) ENDIF C IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBU: Interpolation of gaussian field failed.',IERR) INTFBU = JPROUTINE + 6 GOTO 900 ENDIF C C C ------------------------------------------------------------------ C Section 5.1 Interpolate reduced Gaussian grid to grid point. C ------------------------------------------------------------------ C 510 CONTINUE C C ISIZE = ISCRSZ() IF ( ISIZE .LE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBU: Get scratch space failed.',ISIZE) INTFBU = JPROUTINE + 2 GOTO 900 ENDIF CALL JMEMHAN( JPSCR16, IZNFLDO, ISIZE, JPALLOC, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBU: Get scratch space fail.',JPQUIET) INTFBU = JPROUTINE + 2 GOTO 900 ENDIF C IF (NIREPR .EQ. JPQUASI) THEN IERR = IARCNTL( ZNFELDI, JPEXPAND, ZNFLDO, ISIZE, KILN, X OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR ,KERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBU: Interpolation of gaussian field failed.',IERR) INTFBU = JPROUTINE + 7 GOTO 900 ENDIF C GOTO 700 C ENDIF C C ------------------------------------------------------------------ C* Section 6. Interpolate regular grid point to grid point. C ------------------------------------------------------------------ C 600 CONTINUE C IERR = IAGCNTL( ZNFELDI, JPEXPAND, ZNFLDO, ISIZE, KILN, X OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR, KERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBU: Interpolation of gaussian field failed.',IERR) INTFBU = JPROUTINE + 8 GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 7. Move unpacked values to user array. C ------------------------------------------------------------------ C 700 CONTINUE C If dissemination 'style' selection has been chosen, select points. C IF( LSTYLE ) THEN NOGRID(1) = HOLDEW NOGRID(2) = HOLDNS CALL DDSTYLE(ZNFLDO,IDISTEP,IDISTEP,NOGRID(1),NOGRID(2),IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBU: Wrong requested grid increment for dissemination style' X ,JPQUIET) INTFBU = JPROUTINE + 3 GOTO 900 ENDIF PLONINC = FLOAT( NOGRID(1) ) / PPMULT PLATINC = FLOAT( NOGRID(2) ) / PPMULT PNORTH = FLOAT( NOAREA(1) ) / PPMULT PWEST = FLOAT( NOAREA(2) ) / PPMULT PSOUTH = FLOAT( NOAREA(3) ) / PPMULT PEAST = FLOAT( NOAREA(4) ) / PPMULT N_NOWE = NINT((PEAST-PWEST)/PLONINC) + 1 N_NONS = NINT((PNORTH-PSOUTH)/PLATINC) + 1 NOWE = N_NOWE NONS = N_NONS ISIZE = NOWE*NONS ENDIF c DO 710 LOOP = 1, ISIZE FLDOUT( LOOP ) = ZNFLDO( LOOP ) 710 CONTINUE C C Return the number of values, the unpacked array length C OUTLEN = ISIZE C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C RETURN END emoslib-000392+dfsg.1/interpolation/igsize.F0000755000175000017500000003101312127406245021747 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGSIZE(KGTRUNC, KAREA, KNWE, KNNS, KLN, X PGAUSS, OWEGLOBE, ONPOLE, OSPOLE, KPR, KERR) C C----> C**** *IGSIZE* C C Purpose C ------- C Evaluate the array sizes for a Gaussian truncation and area. C C C Interface C --------- C IERR = IGSIZE(KGTRUNC, KAREA, KNWE, KNNS, KLN, C X PGAUSS, OWEGLOBE, ONPOLE, OSPOLE, KPR, KERR) C C C Input parameters C ---------------- C KGTRUNC - The Gaussian truncation. C KAREA - The field area definition (N, W, S, E) provided by C the calling routine. C KNWE - The number of points in the West-East direction in C the field. This will be zero for an output field. C KNNS - The number of points in the North-South direction C in the field. This will be zero for an output field. C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C C Output parameters C ----------------- C KAREA - The North and South values will be modified to C contain the values of the Gaussian latitudes used. C KNWE - The number of points in the West-East direction in C the field. C KNNS - The number of points in the North-South direction C in the field. C KLN - The Northern Gaussian latitude number for this area. C PGAUSS - The full list of Gaussian latitudes for this C truncation. C OWEGLOBE - This variable will be true if the array of C longitudes spans the globe. C ONPOLE - This variable will be true if the North polar line C of latitude is included in the grid. C OSPOLE - This variable will be true if the South polar line C of latitude is included in the grid. C C C Return value C ------------ C The error indicator (INTEGER). C C C Error and Warning Return Values C ------------------------------- C -1 The Eastern limit of the range did not have the expected C value. The Western value will be assumed to be correct. This C could arise because of known deficiencies in the GRIB C representation and will be treated as a WARNING error. C C 22501 The specified number of lines of latitude did not match C the Gaussian lines nearest the North and South values C provided. C C C Common block usage C ------------------ C None C C C Externals C --------- C IGGLAT - Compute Gaussian lines of latitude for a given C truncation. C INTLOG(R) - Logs messages. C C C Method C ------ C If all the elements of the array KAREA are zero then a standard C global grid is generated and all elements of the array KAREA are C rewritten with the appropriate values. Otherwise it is assumed C that the West and East limits in KAREA have been validated. If C the number of longitude points is provided a warning will be C given if the West to East range does not match the number of C longitude points times the stride. C C If the number of lines of longitude and latitude are not set on C entry then the North and South limits in KAREA will be expanded C outward to the next Gaussian latitudes. If the number of lines C of longitude and latitude are set on entry then the nearest C points to the North and South limits provided are chosen. It is C an error if these points do not provide the correct number of C latitudes. The revised North and South limits are written back C into the array KAREA. C C C Reference C --------- C None C C C Comments C -------- C None C C C Author C ------ C K. Fielding *ECMWF* Oct 1993 C C C Modifications C ------------- C Allow for unusual NCEP gaussian grids C J.D.Chambers ECMWF October 2000 C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER(JPROUTINE = 22500) C C Function arguments C LOGICAL OWEGLOBE, ONPOLE, OSPOLE INTEGER KGTRUNC, KNWE, KNNS, KLN, KPR, KERR, KAREA(4) REAL PGAUSS(*) C C Local variables C INTEGER ILNSTR, IEAST, IWEST, IREACH, ILATNUM, IGAUSS INTEGER INDIST, ISDIST, ILS, IERR, JLAT LOGICAL LPRINT C C Function externals C INTEGER IGGLAT C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IGSIZE = 0 LPRINT = KPR.GE.1 C IF( LPRINT ) THEN CALL INTLOG(JP_DEBUG,'IGSIZE: Section 1.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGSIZE: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGSIZE: Gaussian truncation = ',KGTRUNC) CALL INTLOG(JP_DEBUG,'IGSIZE: No.long pts = ',KNWE) CALL INTLOG(JP_DEBUG,'IGSIZE: No.lat. pts = ',KNNS) CALL INTLOG(JP_DEBUG,'IGSIZE: Area North = ',KAREA(1)) CALL INTLOG(JP_DEBUG,'IGSIZE: Area West = ',KAREA(2)) CALL INTLOG(JP_DEBUG,'IGSIZE: Area South = ',KAREA(3)) CALL INTLOG(JP_DEBUG,'IGSIZE: Area East = ',KAREA(4)) ENDIF C ILNSTR = JP90 / KGTRUNC ILATNUM = KGTRUNC * 2 C C -----------------------------------------------------------------| C* Section 2. If all elements of KAREA are missing generate C a global field C -----------------------------------------------------------------| C 200 CONTINUE C IF( LPRINT ) CALL INTLOG(JP_DEBUG,'IGSIZE: Section 2.',JPQUIET) C IF( (KAREA(JPEAST).EQ.0) .AND. X (KAREA(JPWEST).EQ.0) .AND. X (KAREA(JPNORTH).EQ.0).AND. X (KAREA(JPSOUTH).EQ.0) ) THEN C KAREA(JPNORTH) = JP90 KAREA(JPWEST) = 0 KAREA(JPSOUTH) = - JP90 KAREA(JPEAST) = JP360 - ILNSTR C ENDIF C C -----------------------------------------------------------------| C* Section 3. Generate points around a line of latitude. C -----------------------------------------------------------------| C 300 CONTINUE C IF( LPRINT ) CALL INTLOG(JP_DEBUG,'IGSIZE: Section 3.',JPQUIET) C C Force both KAREA(JPWEST) and KAREA(JPEAST) into standard C range (0 to JP360) C IF( KAREA(JPWEST).LT.0 ) KAREA(JPWEST) = KAREA(JPWEST) + JP360 IF( KAREA(JPEAST).LT.0 ) KAREA(JPEAST) = KAREA(JPEAST) + JP360 C C Standardise range so that EAST > WEST C IEAST = KAREA(JPEAST) IWEST = KAREA(JPWEST) C IF( IEAST.LT.IWEST ) THEN IF( IEAST.LT.0 ) THEN IEAST = IEAST + JP360 KAREA(JPEAST) = IEAST ELSE IWEST = IWEST - JP360 KAREA(JPWEST) = IWEST ENDIF ENDIF C IF( KNWE.EQ.0 ) THEN C C Is it a global grid ? C IREACH = IEAST - IWEST + ILNSTR OWEGLOBE = IREACH.GE.JP360 C C Number of points along line is C KNWE = NINT( FLOAT(IREACH) / FLOAT(ILNSTR) ) C ELSE C C Number of points is set (input field) C IF( (IWEST + (KNWE - 1)*ILNSTR).NE.IEAST ) THEN C C Warn of possible mismatch C IGSIZE = - 1 CALL INTLOG(JP_WARN, X 'IGSIZE: West-East range does not match the',JPQUIET) CALL INTLOG(JP_WARN, X 'IGSIZE: number of points and the stride.',JPQUIET) CALL INTLOGR(JP_WARN, X 'IGSIZE: West = ',REAL(KAREA(JPWEST))/PPMULT) CALL INTLOGR(JP_WARN, X 'IGSIZE: East = ',REAL(KAREA(JPEAST))/PPMULT) CALL INTLOG(JP_WARN,'IGSIZE: No. of points = ',KNWE) CALL INTLOGR(JP_WARN,'IGSIZE: Stride = ',REAL(ILNSTR)/PPMULT) ENDIF C C NCEP products for DEMETER are pseudo gaussian C (regular N48 in longitude direction, N47 in latitude direction) C OWEGLOBE = KNWE.GE.(KGTRUNC*4) C ENDIF C C -----------------------------------------------------------------| C* Section 4. Generate points along a line of meridian C -----------------------------------------------------------------| C 400 CONTINUE C IF( LPRINT ) CALL INTLOG(JP_DEBUG,'IGSIZE: Section 4.',JPQUIET) C C Generate full Gaussian latitudes for this truncation C IERR = IGGLAT(ILATNUM, PGAUSS, KPR, KERR) C IF( IERR.GT.0 ) THEN IGSIZE = IERR GOTO 900 ENDIF C C Find Gaussian lines corresponding to given North and South points C C Number of lines not set (output field) C IF( KNNS.EQ.0 ) THEN KLN = 0 ILS = ILATNUM C DO JLAT = 2, ILATNUM IGAUSS = NINT(PGAUSS(JLAT) * PPMULT) C IF( (KLN.EQ.0).AND.((KAREA(JPNORTH)-IGAUSS).GT.1000) ) THEN KLN = JLAT - 1 KAREA(JPNORTH) = NINT(PGAUSS(KLN) * PPMULT) ENDIF C IF( (ILS.EQ.ILATNUM).AND.(KAREA(JPSOUTH).GE.IGAUSS) ) THEN ILS = JLAT KAREA(JPSOUTH) = NINT(PGAUSS(ILS) * PPMULT) ENDIF ENDDO C KNNS = ILS - KLN + 1 C ELSE C C Number of lines set (input field) C KLN = 1 ILS = 1 C INDIST = ABS(NINT(PGAUSS(1) * PPMULT) - KAREA(JPNORTH) ) ISDIST = ABS(NINT(PGAUSS(1) * PPMULT) - KAREA(JPSOUTH) ) C DO JLAT = 2, ILATNUM C IF( (ABS(NINT(PGAUSS(JLAT)*PPMULT) - KAREA(JPNORTH) ) ) X .LT.INDIST) THEN KLN = JLAT INDIST = ABS(NINT(PGAUSS(JLAT) * PPMULT) - KAREA(JPNORTH) ) ENDIF C IF( (ABS(NINT(PGAUSS(JLAT)*PPMULT) - KAREA(JPSOUTH) ) ) X .LT.ISDIST) THEN ILS = JLAT ISDIST = ABS(NINT(PGAUSS(JLAT) * PPMULT) - KAREA(JPSOUTH) ) ENDIF C ENDDO C IF( KNNS.NE.(ILS - KLN + 1) ) THEN IGSIZE = JPROUTINE + 1 IF( KERR.GE.0 ) THEN CALL INTLOG(JP_ERROR, X 'IGSIZE: No.of lines specified = ',KNNS) CALL INTLOG(JP_ERROR, X 'IGSIZE: does not match the',JPQUIET) CALL INTLOG(JP_ERROR, X 'IGSIZE: Gaussian line limits = ', KLN) CALL INTLOG(JP_ERROR, X 'IGSIZE: and ',ILS) ENDIF IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'Interpolation failed.', JPQUIET) GOTO 900 ENDIF C ENDIF C ONPOLE = KLN.EQ.1 OSPOLE = ILS.EQ.ILATNUM C KAREA(JPNORTH) = NINT(PGAUSS(KLN) * PPMULT) KAREA(JPSOUTH) = NINT(PGAUSS(ILS) * PPMULT) C IF( LPRINT ) THEN CALL INTLOG(JP_DEBUG,'IGSIZE: Output parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGSIZE: No.long pts = ',KNWE) CALL INTLOG(JP_DEBUG,'IGSIZE: No.lat. pts = ',KNNS) CALL INTLOG(JP_DEBUG,'IGSIZE: Stride along lat = ',ILNSTR) CALL INTLOG(JP_DEBUG,'IGSIZE: North line number = ',KLN) CALL INTLOG(JP_DEBUG,'IGSIZE: South line number = ',ILS) IF( OWEGLOBE ) THEN CALL INTLOG(JP_DEBUG, X 'IGSIZE: Field is global West-East.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IGSIZE: Field is NOT global West-East.',JPQUIET) ENDIF IF( ONPOLE ) THEN CALL INTLOG(JP_DEBUG, X 'IGSIZE: North Pole is in field.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IGSIZE: North Pole NOT is in field.',JPQUIET) ENDIF IF( OSPOLE ) THEN CALL INTLOG(JP_DEBUG, X 'IGSIZE: South Pole is in field.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IGSIZE: South Pole NOT is in field.',JPQUIET) ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( LPRINT ) CALL INTLOG(JP_DEBUG,'IGSIZE: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/jreadgg.F0000755000175000017500000001003012127406245022054 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JREADGG( KUNIT, KTRUNC, KROW, PLEG, KRET) C C----> C**** JREADGG C C PURPOSE C _______ C C This routine reads legendre functions for one latitude. C C INTERFACE C _________ C C CALL JREADGG( KUNIT, KTRUNC, KROW, PLEG, KRET) C C Input parameters C ________________ C C KUNIT - Unit number for open file of legendre functions. C KTRUNC - Truncation. C KROW - Latitude row number in the file C C Output parameters C ________________ C C PLEG - Array of legendre functions for the latitude. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Calculate offset of the legendre functions for the latitude row C in the file, skip to the row and read the functions. C C Retries the read upto 3 times if necessary C C Externals C _________ C C PBSEEK - Position the coefficients file C PBREAD - Read the coefficients file C INTLOG - Output log message C C Reference C _________ C C None. C C Comments C ________ C C Only positive row numbers are allowed. C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C IMPLICIT NONE #include "jparams.h" #include "parim.h" C C Subroutine arguments C INTEGER KUNIT, KTRUNC, KROW, KRET REAL PLEG DIMENSION PLEG(*) C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31000 ) C C Local variables C INTEGER NTRIES INTEGER NRET, NSIZE INTEGER*8 FRET, FSIZE INTEGER*8 NEWPOS, OLDPOS DATA OLDPOS/-1/ SAVE NEWPOS, OLDPOS C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE IF ( KROW .LT. 0 ) THEN CALL INTLOG(JP_ERROR,'JREADGG: negative row number given',KROW) KRET = JPROUTINE + 1 GOTO 990 ENDIF C C Calculate the byte offset into the file where the legendre C functions for the latitude should be. #ifdef REAL_8 NSIZE = 8 * (KTRUNC+1)*(KTRUNC+4)/2 FSIZE = 8 * (KTRUNC+1)*(KTRUNC+4)/2 #else NSIZE = 4 * (KTRUNC+1)*(KTRUNC+4)/2 FSIZE = 4 * (KTRUNC+1)*(KTRUNC+4)/2 #endif cs NEWPOS = (KROW - 1) * NSIZE NEWPOS = (KROW - 1) * FSIZE C C _______________________________________________________ C C* Section 2. Processing. C _______________________________________________________ C C Position file unless the previous read left it in the correct C position already C NTRIES = 0 210 CONTINUE NTRIES = NTRIES + 1 IF ( NEWPOS .NE. OLDPOS ) THEN CALL PBSEEK64( KUNIT, NEWPOS, 0, FRET) IF ( FRET .NE. NEWPOS ) THEN CALL INTLOG(JP_ERROR,'JREADGG: PBSEEK64 error.',FRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF ENDIF C C Read the legendre coefficients CALL PBREAD( KUNIT, PLEG, NSIZE, NRET) IF ( NRET .NE. NSIZE ) THEN IF ( NTRIES .EQ. JPMXTRY ) THEN CALL INTLOG(JP_ERROR,'JREADGG: PBREAD error.',NRET) KRET = JPROUTINE + 3 GOTO 990 ELSE GOTO 210 ENDIF ENDIF C C Record the current file byte position OLDPOS = NEWPOS + NSIZE C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/sources.itanium0000755000175000017500000001043112127406245023422 0ustar amckinstryamckinstryHEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jsymgg.F \ jstrll.F \ jstrwll.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ gasetup.F \ outrep.F \ gettru.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/ggvalue.F0000755000175000017500000001032212127406245022107 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GGVALUE(NEWFLD, NEXT, INROW, RLAT, RLON, X POLELAT, POLELON, NGAUSS, TYPE, FIELD) C C----> C**** GGVALUE C C PURPOSE C _______ C C Rotates one line of latitude in a gaussian grid. C C INTERFACE C _________ C C CALL GGVALUE(NEWFLD, NEXT, INROW, RLAT, RLON, C X POLELAT, POLELON, NGAUSS, TYPE, FIELD) C C C Input parameters C ________________ C C NEWFLD - The field of values being created C NEXT - Start offset of the latitude row being created C INROW - The number of points in the latitude row C RLAT - Target point latitude in the rotated grid C RLON - Target point longitude in the rotated grid C POLELAT - Latitude of the rotated South Pole C POLELON - Longitude of the rotated South Pole C FIELD - Original unrotated gaussian field values C NGAUSS - Original unrotated gaussian field number C TYPE - Original unrotated gaussian field type C = 'F' for full (regular) gaussian field C = 'R' for reduced (quasi) gaussian field C C Output parameters C ________________ C C NEWFLD(NEXT) to NEWFLD(NEXT+INROW-1) contains the latitude row C values. C C C METHOD C ______ C C Rotates the lat/long positions of points along a latitude row in C a rotated gaussian grid back to positions in the unrotated grid C and then interpolates values from the original grid. C C C EXTERNALS C _________ C C LL2XYZ - Converts a latitude/longitude position to (x,y,z) C wrt axes through the centre of the globe. The z-axis C runs from the south to north pole. The x- and y-axes C are in the plane of the equator with the x-axis C pointing out through lat/long (0,0). C YROTATE - Rotates the globe about the new y-axis. C XYZ2LL - Converts an (x,y,z) position to a latitude/longitude. C GGINTRP - Interpolates a value from an existing grid. C C C REFERENCE C _________ C C None C C C COMMENTS C ________ C C The input field is assumed to be global in extent, and a known C definition, either N160 or N80 (reduced or regular). C C C AUTHOR C ______ C C J.D.Chambers ECMWF April 1996 C C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C C Parameters C INTEGER JPMAXGG PARAMETER( JPMAXGG = 1280 ) C C Function arguments C REAL NEWFLD, RLAT, RLON, POLELAT, POLELON, FIELD DIMENSION NEWFLD(*), RLON(*), FIELD(*) INTEGER NEXT, INROW, NGAUSS CHARACTER*1 TYPE C C Local variables C REAL X(JPMAXGG), Y(JPMAXGG), Z(JPMAXGG) REAL RX(JPMAXGG),RY(JPMAXGG),RZ(JPMAXGG) REAL OLAT(JPMAXGG),OLON(JPMAXGG) INTEGER LOOP C C Convert the rotated row points lat/longs to (x,y,z) coordinates C CALL LL2XYZ(RLAT,RLON,X,Y,Z,INROW) C C Rotate the rotated row points back through the original latitude C rotation C CALL YROTATE(-(90.0+POLELAT),X,Y,Z,RX,RY,RZ,INROW) C C Convert the rotated row points adjusted (x,y,z) coordinates to C lat/long in the original grid (after longitude rotation) C CALL XYZ2LL(RX,RY,RZ,OLAT,OLON,INROW) C C Adjust the rotated line longitudes to remove the longitude C rotation C DO LOOP = 1, INROW OLON(LOOP) = OLON(LOOP) + POLELON IF( OLON(LOOP).LT.0.0 ) OLON(LOOP) = OLON(LOOP) + 360.0 IF( OLON(LOOP).GE.360.0 ) OLON(LOOP) = OLON(LOOP) - 360.0 ENDDO C C Interpolate the original unrotated grid to the points in the C rotated line C CALL GGINTRP(NEWFLD,NEXT,INROW,OLAT,OLON,NGAUSS,TYPE,FIELD) C RETURN END emoslib-000392+dfsg.1/interpolation/w251idx.F0000755000175000017500000002367012127406245021672 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION W251IDX(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM,NUMNEW,NEWLATS,NEWIDX) C C----> C*****W251IDX* C C PURPOSE C ------- C C Determines which nearest-neighbour values of an input wave C 2D-spectra grid field to use for an output wave 2D-spectra C grid field. C C C INTERFACE C --------- C C IRET = W251IDX(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, C X KNEWNUM,NUMNEW,NEWLATS,NEWIDX) C C Input arguments C --------------- C C KOLDNUM - No. of meridians from North to South pole (input field) C NUMOLD - Array giving number of points along each latitude C (empty latitudes have entry 0) C OLDLATS - input field latitudes C OLDWEST - western longitude of the input field (degrees) C OLDEAST - eastern longitude of the input field (degrees) C C KNEWNUM - No. of meridians from North to South pole (output field) C NUMNEW - Array giving number of points along each latitude C (empty latitudes have entry 0) C NEWLATS - output field latitudes C C Output arguments C ---------------- C C NEWIDX - Indices of points to use C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C The index of the nearest neighbouring grid point value of C the input field is assigned to each point of the output C grid. C The index is zero if the output grid point is 'missing'. C C The input field can be regular or quasi-regular, and can be C global or a subarea. C The output field can be regular or quasi-regular. C C C EXTERNALS C --------- C C INTLOG - Log error message. C C C REFERENCE C --------- C C None C C C Author. C ------- C C J.D.Chambers ECMWF October 1997 C C C----< C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19410 ) INTEGER JPLLMAX PARAMETER ( JPLLMAX = 1801 ) C `--> allow upto 0.1 degree resolution. INTEGER JPNMOUT PARAMETER ( JPNMOUT = 1800 ) C `--> allow upto 0.1 degree resolution. C C Function arguments C INTEGER KOLDNUM, NUMOLD, KNEWNUM, NUMNEW DIMENSION NUMOLD(*), NUMNEW(*) REAL OLDWEST, OLDEAST, OLDLATS, NEWLATS DIMENSION OLDLATS(*), NEWLATS(*) INTEGER NEWIDX DIMENSION NEWIDX(*) C C Local arguments C INTEGER K, NEWCOL, NEWROW, INCOL, LOOP, NEXT, NUMMAX INTEGER I_NW, I_SW, I_N, I_S, I_NE, I_SE REAL*8 DELONGN, DELONGS, DIFF, RESOL, DINC, DEPS REAL*8 DIST_NW, DIST_SW, DIST_NE, DIST_SE, DIST_N, DIST_S REAL*4 DISNW, DISNE, DISSW, DISSE REAL*8 ZXIN, ZXIS, LON, LAT, OWEST, OEAST DIMENSION LON(JPNMOUT*2) LOGICAL LINGNS, LINGWE INTEGER INDEXI DIMENSION INDEXI(JPLLMAX) LOGICAL LGLOBAL, LFULLG, LGWRAP DATA DEPS/0.00005/ C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C W251IDX = 0 CALL INTLOG(JP_DEBUG, X 'W251IDX: Wave interpolation requested.',JPQUIET) C C Check latitude/longitude grid specification C IF( KOLDNUM.GT.JPLLMAX ) THEN CALL INTLOG(JP_ERROR, X 'W251IDX: Number of latitudes in input grid = ',KOLDNUM) CALL INTLOG(JP_ERROR, X 'W251IDX: And is greater than allowed maximum = ',JPLLMAX) W251IDX = JPROUTINE + 1 GOTO 900 ENDIF C C Set up INDEXI for latitude lines in input lat/lon array C INDEXI(1) = 0 DO LOOP = 2, KOLDNUM INDEXI(LOOP) = INDEXI(LOOP-1) + NUMOLD(LOOP-1) ENDDO C OEAST = OLDEAST OWEST = OLDWEST C C Check whether the input field is global or a subarea C NUMMAX = NUMOLD(1) DO LOOP = 2, KOLDNUM IF( NUMOLD(LOOP).GT.NUMMAX ) NUMMAX = NUMOLD(LOOP) ENDDO IF( NUMMAX.LE.0 ) THEN CALL INTLOG(JP_ERROR, X 'W251IDX: Input wave field has no points',JPQUIET) W251IDX = JPROUTINE + 2 GOTO 900 ENDIF C LGWRAP = ABS((OEAST-OWEST) - DBLE(360.0)).LT.DEPS DINC = 360.0/DBLE(NUMMAX) LFULLG = ABS((DMOD((OEAST-OWEST+DBLE(360.0)),DBLE(360.0)) X +DINC)-DBLE(360.0)).LT.DEPS C LGLOBAL = LFULLG.OR.LGWRAP C C --------------------------------------------------------------------- C* Section 2. Interpolation. C --------------------------------------------------------------------- C 200 CONTINUE C NEXT = 1 C DO 220 NEWROW = 1, KNEWNUM C C Find old latitude rows to north and south of new latitude and C set up the distance between new row and the old rows to N and S. C DO LOOP = 1, KOLDNUM -1 IF( (NEWLATS(NEWROW).LE.OLDLATS(LOOP)) .AND. X (NEWLATS(NEWROW).GT.OLDLATS(LOOP+1)) ) THEN I_N = LOOP I_S = MIN(LOOP+1,KOLDNUM) GOTO 205 ENDIF ENDDO C IF( NEWLATS(NEWROW).EQ.OLDLATS(KOLDNUM) ) THEN I_N = KOLDNUM I_S = KOLDNUM ELSE I_N = -1 I_S = -1 ENDIF C 205 CONTINUE IF( I_N.NE.I_S) THEN DIFF = OLDLATS(I_N) - OLDLATS(I_S) DIST_N = (OLDLATS(I_N) - NEWLATS(NEWROW)) / DIFF ELSE DIST_N = 1.0 ENDIF DIST_S = 1.0 - DIST_N C C Check if the new interpolated row lies between 2 old rows which C have data points C LINGNS = .FALSE. IF( I_N.GT.0 ) THEN IF( (NUMOLD(I_N).GT.0).AND.(NUMOLD(I_S).GT.0) ) THEN C C Yes, so set up the grid increments. C C Note that the grid increments are different depending on C whether or not the grid is global; global grids have an C extra interval at the end (eg between 358.5 and 0.0), while C subareas have outer limits defined by 'west' and 'east' and C a given number of points in between. C IF( LGLOBAL ) THEN DELONGN = 360.0/DBLE(NUMOLD(I_N)) DELONGS = 360.0/DBLE(NUMOLD(I_S)) ELSE DELONGN = DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X / DBLE(NUMOLD(I_N)-1) DELONGS = DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X / DBLE(NUMOLD(I_S)-1) ENDIF LINGNS = .TRUE. ENDIF C ENDIF C C Setup longitudes for the current row C INCOL = NUMNEW(NEWROW) IF( INCOL.NE.0 ) THEN IF( LGLOBAL ) THEN RESOL = 360.0/DBLE(INCOL) ELSE RESOL = (OEAST-OWEST)/(DBLE(INCOL)-1) ENDIF DO LOOP = 1, INCOL LON(LOOP) = OLDWEST + DBLE(LOOP-1)*RESOL ENDDO C DO 210 NEWCOL = 1, INCOL C LINGWE = (LON(NEWCOL).GT.OWEST).OR.(LON(NEWCOL).LT.OEAST) C IF( LINGNS .AND. LINGWE ) THEN C C If point to be interpolated is inside the input field , C work out distances from new point to four neighbours. C ZXIN = DMOD((LON(NEWCOL)+(DBLE(360.0)-OWEST)+DBLE(720.0)), X DBLE(360.0)) ZXIS = ZXIN ZXIN = ZXIN/DELONGN + 1.0 ZXIS = ZXIS/DELONGS + 1.0 I_NW = INT(ZXIN) I_NE = I_NW + 1 I_SW = INT(ZXIS) I_SE = I_SW + 1 C C Allow wrap-around C C I_NW = MOD(I_NW,NUMOLD(I_N)) I_NE = MOD(I_NE,NUMOLD(I_N)) I_SW = MOD(I_SW,NUMOLD(I_S)) I_SE = MOD(I_SE,NUMOLD(I_S)) IF( I_NW.EQ.0 ) I_NW = NUMOLD(I_N) IF( I_SW.EQ.0 ) I_SW = NUMOLD(I_S) IF( I_NE.EQ.0 ) I_NE = NUMOLD(I_N) IF( I_SE.EQ.0 ) I_SE = NUMOLD(I_S) C C Calculate distance from interpolated point to its neighbours C DIST_NW = ZXIN - REAL(I_NW) DIST_NE = 1.0 - DIST_NW DIST_SW = ZXIS - REAL(I_SW) DIST_SE = 1.0 - DIST_SW C C Take nearest grid point value. C DISNW = DIST_NW*DIST_NW + DIST_N*DIST_N DISNE = DIST_NE*DIST_NE + DIST_N*DIST_N DISSW = DIST_SW*DIST_SW + DIST_S*DIST_S DISSE = DIST_SE*DIST_SE + DIST_S*DIST_S C IF( (DISNW.LE.DISNE).AND.(DISNW.LE.DISSW).AND. X (DISNW.LE.DISSE) ) THEN C C Use north-west neighbour C NEWIDX(NEXT) = INDEXI(I_N)+I_NW C ELSE IF( (DISNE.LE.DISSW).AND.(DISNE.LE.DISSE) ) THEN C C Use north-east neighbour C NEWIDX(NEXT) = INDEXI(I_N)+I_NE C ELSE IF( DISSW.LE.DISSE ) THEN C C Use south-west neighbour C NEWIDX(NEXT) = INDEXI(I_S)+I_SW ELSE C C Use south-east neighbour C NEWIDX(NEXT) = INDEXI(I_S)+I_SE ENDIF C C If the point to be interpolated is outside the input field, C set it to 'land'. C ELSE NEWIDX(NEXT) = 0 ENDIF C NEXT = NEXT + 1 C 210 CONTINUE C ENDIF C 220 CONTINUE C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE C IF( W251IDX.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, 'W251IDX: successful.',JPQUIET) ELSE CALL INTLOG(JP_ERROR, 'W251IDX: failed.',JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/hgengrw.F0000755000175000017500000001546312127406245022131 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HGENGRW(AREA,POLE,GRID,NLON,NLAT, X RCLAT,RCLON,RLAT,RLON) C C----> C**** HWTS12 C C Purpose C ------- C C This routine calculates the original latitude and longitude C values (before rotation) for a rotated grid for wind fields. C C C Interface C --------- C C IRET = HGENGRW(AREA,POLE,GRID,NLON,NLAT,RCLAT,RCLON,RLAT,RLON) C C C Input parameters C ---------------- C C AREA - Limits of area (N/W/S/E) C POLE - Pole of rotation (lat/long) C GRID - Grid increments (i/j) C C C Output parameters C ----------------- C C NLON - Number of points along a parallel in the rotated grid. C NLAT - Number of points along a meridien in the rotated grid. C RCLAT - Vector of latitude values for the points in current grid. C RCLON - Vector of longitude values for the points in current grid. C RLAT - Vector of orginal latitude values for the points in C the rotated grid. C RLON - Vector of orginal longitude values for the points in C the rotated grid. C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C None. C C C Method C ------ C C The vector of points runs from West to East in rows, the rows C run from North to South. C C C Externals C --------- C C INTLOG - Log error message. C JDEBUG - Tests if debug output required. C HLL2XYZ - Converts a latitude/longitude position to (x,y,z) C wrt axes through the centre of the globe. The z-axis C runs from the south to north pole. The x- and y-axes C are in the plane of the equator with the x-axis C pointing out through lat/long (0,0). C YROTATE - Rotates the globe about the new y-axis. C XYZ2LL - Converts an (x,y,z) position to a latitude/longitude. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE #include "parim.h" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON REAL JSCALE PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) PARAMETER (JSCALE = 1000.0 ) C C Function arguments C REAL AREA(4),POLE(2),GRID(2), RCLAT(*),RCLON(*),RLAT(*),RLON(*) INTEGER NLON,NLAT C C Local variables C INTEGER NEXT, LOOP, LOOPI, LOOPO, IGRIDNI, IGRIDNJ INTEGER ISIZE, ISIZOLD, NBYTES REAL ZLAT, X(1), Y(1), Z(1) REAL RX(1), RY(1), RZ(1) POINTER( IPX, X ) POINTER( IPY, Y ) POINTER( IPZ, Z ) POINTER( IPRX, RX ) POINTER( IPRY, RY ) POINTER( IPRZ, RZ ) C DATA ISIZOLD/-1/ SAVE ISIZOLD,IPX,IPY,IPZ,IPRX,IPRY,IPRZ C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HGENGRW = 0 C CALL JDEBUG() C C -----------------------------------------------------------------| C Section 2. Calculate current grid latitudes and longitudes C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + NINT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) NLAT = 1 + NINT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) IGRIDNI = NINT(GRID(JW_E)*JSCALE) IGRIDNJ = NINT(GRID(JN_S)*JSCALE) C NEXT = 1 DO LOOPO = 1, NLAT ZLAT = AREA(JNORTH) - REAL((LOOPO-1)*IGRIDNJ)/JSCALE DO LOOPI = 1, NLON RCLON(NEXT) = AREA(JWEST) + REAL((LOOPI-1)*IGRIDNI)/JSCALE IF( RCLON(NEXT).LT.0.0 ) RCLON(NEXT) = RCLON(NEXT) + 360.0 RCLAT(NEXT) = ZLAT NEXT = NEXT + 1 ENDDO ENDDO C C -----------------------------------------------------------------| C Section 3. Get some space for rotating the lat/longs C -----------------------------------------------------------------| C 300 CONTINUE C ISIZE = NLAT *NLON IF( ISIZE.GT.ISIZOLD ) THEN C IF( ISIZOLD.GT.0 ) CALL JFREE(IPX) C NBYTES = 6*ISIZE*JPRLEN C IPX = JMALLOC(NBYTES) #ifdef hpR64 IPX = IPX/(1024*1024*1024*4) #endif IF( IPX.EQ.0 ) THEN CALL INTLOG(JP_WARN,'HGENGRW: Memory allocate fail',JPQUIET) HGENGRW = 1 GOTO 900 ENDIF C IPY = IPX + (ISIZE*JPRLEN) IPZ = IPY + (ISIZE*JPRLEN) IPRX = IPZ + (ISIZE*JPRLEN) IPRY = IPRX + (ISIZE*JPRLEN) IPRZ = IPRY + (ISIZE*JPRLEN) C ISIZOLD = ISIZE C ENDIF C C -----------------------------------------------------------------| C Section 4. Calculate the lat/longs before rotation C -----------------------------------------------------------------| C 400 CONTINUE C C Convert the rotated row points lat/longs to (x,y,z) coordinates C CALL HLL2XYZ(RCLAT,RCLON,X,Y,Z,ISIZE) C C Rotate the rotated row points back through the original latitude C rotation C CALL YROTATE(-(90.0+POLE(JLAT)),X,Y,Z,RX,RY,RZ,ISIZE) C C Convert the rotated row points adjusted (x,y,z) coordinates to C lat/long in the original grid (but still containing the C longitude rotation) C CALL XYZ2LL(RX,RY,RZ,RLAT,RLON,ISIZE) C C Adjust the rotated line longitudes to remove the longitude C rotation C DO LOOP = 1, ISIZE RLON(LOOP) = RLON(LOOP) + POLE(JLON) IF( RLON(LOOP).LT.0.0 ) RLON(LOOP) = RLON(LOOP) + 360.0 IF( RLON(LOOP).GE.360.0 ) RLON(LOOP) = RLON(LOOP) - 360.0 ENDDO C C -----------------------------------------------------------------| C Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/emosPrecision.c0000755000175000017500000000120612127406245023332 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ int emosPrecision() { /* // Returns: // 64 if double-precision (64-bit) option has been used for REALs, // 64 if compiled on CRAY, (REALs are at least 64-bit precision), // 32 otherwise. */ #ifdef REAL_8 return (64); #else return (32); #endif } emoslib-000392+dfsg.1/interpolation/rgauss_048.h0000755000175000017500000000135212127406245022421 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG048(48) DATA QG048/ X 20, 25, 36, 40, X 45, 50, 60, 60, X 72, 75, 80, 90, X 96, 100, 108, 120, X 120, 120, 128, 135, X 144, 144, 160, 160, X 160, 160, 160, 180, X 180, 180, 180, 180, X 192, 192, 192, 192, X 192, 192, 192, 192, X 192, 192, 192, 192, X 192, 192, 192, 192 / emoslib-000392+dfsg.1/interpolation/jsppole.F0000755000175000017500000000777012127406245022146 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JSPPOLE(PSHUP,KNUMB,KTRUNC,OMARS,PXF) IMPLICIT NONE C C----> C**** *JSPPOLE* - Calculates fourier coefficient for U or V at pole C C Purpose C ------- C C Calculates fourier coefficient for first harmonic only C for U and V wind component at the pole. C C Interface C --------- C C CALL JSPPOLE(PSHUP,KNUMB,KTRUNC,OMARS,PXF) C C Input parameters C ---------------- C C PSHUP - Unpacked harmonics field, unpacked C KNUMB - 1 for North Pole, otherwise South Pole C KTRUNC - Number (value) of the trucation C OMARS - .TRUE. if data is from MARS C PXF - Fourier coefficients (zero on input) C C C Output parameters C ----------------- C C PXF(2) - Single fourier coefficient calculated C C C Common block usage C ----------------- C C None. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers *ECMWF* Oct 1993 C C C Modifications C ------------- C C None. C C C Comments C -------- C C Created from SPPOLE. C Changed to provide all parameters in the call, i.e. no common C blocks are used. C C C Method C ------ C C None. C C C Reference C _________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Dummy arguments C COMPLEX PSHUP INTEGER KNUMB INTEGER KTRUNC LOGICAL OMARS COMPLEX PXF DIMENSION PSHUP(*) DIMENSION PXF(*) C C Local variables C INTEGER I1, ITIN1, ITOUT1, JN REAL Z1, Z2, ZNORM, ZP1, ZP2, ZPOL C C ----------------------------------------------------------- C C* 1. Set initial values C ------------------ C 100 CONTINUE C ITIN1 = KTRUNC + 1 ITOUT1 = KTRUNC C ZPOL = 1. IF (KNUMB .NE. 1) ZPOL = -1.0 C ZP1 = -1.0 ZP2 = -3.0 * ZPOL I1 = ITIN1 + 1 C C* 2. Change normalisation (if flagged as necessary) C -------------------- C 200 CONTINUE C IF (OMARS) THEN ZNORM = -SQRT(2.0) ELSE ZNORM = 1 ENDIF C C C* 3. Calculation C ----------- C 300 CONTINUE PXF(2) = (0.0,0.0) C C Calculate the fourier coefficient for the first harmonic only. DO 310 JN = 1,ITOUT1,2 C Z1 = SQRT( (2.0*JN + 1.0)/(2.0*JN*(JN + 1.0)) ) Z2 = SQRT( (2.0*(JN + 1.0) +1.0)/(2.0*(JN +1.0)*(JN +2.0)) ) C IF (JN .EQ. ITOUT1) Z2 = 0.0 C PXF(2) = PXF(2) +(Z1*ZP1*PSHUP(I1) +Z2*ZP2*PSHUP(I1+1))*ZNORM ZP1 = ZP1 - 2.0*(JN + 1.0) - 1.0 ZP2 = ZP2 - (2.0*(JN + 2.0) + 1.0)*ZPOL I1 = I1 + 2 C 310 CONTINUE C C ------------------------------------------------------------- C RETURN C END emoslib-000392+dfsg.1/interpolation/igtog.F0000755000175000017500000001760212127406245021576 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGTOG (PIFELD, KIWE, KINS, KOWE, KONS, KWEIND, 1 KNSIND, PWFACT, POFELD, KPR, KERR) C C----> C**** *IGTOG* C C Purpose C ------- C C Perform basic interpolation between regular input and output C fields. C C Interface C --------- C C IERR = IGTOG (PIFELD, KIWE, KINS, KOWE, KONS, KWEIND, KNSIND, C 1 PWFACT, POFELD, KPR, KERR) C C Input parameters C ---------------- C C PIFELD - The input field provided by the calling routine. C C KIWE - The number of points in the West-East direction in C the input field. C C KINS - The number of points in the North-South direction C in the input field. C C KOWE - The number of points in the West-East direction in C the output field. C C KONS - The number of points in the North-South direction C in the output field. C C KWEIND - This array contains the array offsets of the West C and East points in the input array required for C interpolation. C C KNSIND - This array contains the array offsets of the North C and South points in the input array required for C interpolation. C C PWFACT - The array of interpolating weights to the four C neighbouring points for every output point. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ----------------- C C POFELD - The output field returned to the calling routine. C C Return value C ------------ C C The error indicator (INTEGER). C C Common block usage C ------------------ C C None C C Externals C --------- C C INTLOG(R) - Logs messages. C C Method C ------ C C This routine performs basic linear interpolation using the four C neighbouring points in the input array to generate the output C array. C C Reference C --------- C C None C C Comments C -------- C C None C C Author C ------ C C K. Fielding *ECMWF* Oct 1993 C C Modifications C ------------- C C Allow for missing data values C J.D.Chambers ECMWF August 2000 C C Force nearest neighbour processing with env variable or C INTOUT parameter C S.Curic ECMWF September 2005 C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Function arguments C INTEGER KIWE, KINS, KOWE, KONS, KPR, KERR INTEGER KWEIND (2, KOWE), KNSIND (2, KONS) REAL PIFELD (KIWE, KINS), POFELD (KOWE, KONS) REAL PWFACT (4, KOWE, KONS) C C Local variables C INTEGER ILATN, ILATS, JOLAT, JOLON, COUNT CHARACTER*12 YFLAG REAL NEAREST LOGICAL LVEGGY C C External functions C INTEGER IGTOGR C C Statement function C REAL A, B LOGICAL NOTEQ NOTEQ(A,B) = (ABS((A)-(B)).GT.(ABS(A)*1E-3)) C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGTOG: Section 1.',JPQUIET) C IGTOG = 0 C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGTOG: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGTOG: No.input fld longitudes = ',KIWE) CALL INTLOG(JP_DEBUG,'IGTOG: No.input fld latitudes = ',KINS) CALL INTLOG(JP_DEBUG,'IGTOG: No.output fld longitudes = ',KOWE) CALL INTLOG(JP_DEBUG,'IGTOG: No.output fld latitudes = ',KONS) ENDIF C LVEGGY = (NITABLE.EQ.128).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30).OR. X (NIPARAM.EQ.43) ) C Force nearest neighbour processing with env variable CALL GETENV('NEAREST_NEIGHBOUR', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LVEGGY = .TRUE. C Force nearest neighbour processing with INTOUT parameter IF( LMETHOD ) LVEGGY = .TRUE. IF( LVEGGY ) CALL INTLOG(JP_DEBUG, X 'IGTOG: nearest neighbour processing (vegetation)',JPQUIET) C C -----------------------------------------------------------------| C* Section 2. Basic interpolation C -----------------------------------------------------------------| C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGTOG: Section 2.',JPQUIET) C DO JOLAT = 1, KONS C ILATN = KNSIND(JP_I_N,JOLAT) ILATS = KNSIND(JP_I_S,JOLAT) C DO JOLON = 1, KOWE C C Count non-missing data values C IF( LIMISSV ) THEN COUNT = 0 IF( NOTEQ(PIFELD(KWEIND(JP_I_W,JOLON),ILATN), RMISSGV) ) X COUNT = COUNT + 1 IF( NOTEQ(PIFELD(KWEIND(JP_I_W,JOLON),ILATS), RMISSGV) ) X COUNT = COUNT + 1 IF( NOTEQ(PIFELD(KWEIND(JP_I_E,JOLON),ILATN), RMISSGV) ) X COUNT = COUNT + 1 IF( NOTEQ(PIFELD(KWEIND(JP_I_E,JOLON),ILATS), RMISSGV) ) X COUNT = COUNT + 1 ELSE COUNT = 4 ENDIF C C Interpolate using four neighbours if none are missing C IF( (COUNT.EQ.4).AND.(.NOT.LVEGGY) ) THEN POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_W,JOLON),ILATN) * X PWFACT(JP_I_NW,JOLON,JOLAT) + X PIFELD(KWEIND(JP_I_W,JOLON),ILATS) * X PWFACT(JP_I_SW,JOLON,JOLAT) + X PIFELD(KWEIND(JP_I_E,JOLON),ILATN) * X PWFACT(JP_I_NE,JOLON,JOLAT) + X PIFELD(KWEIND(JP_I_E,JOLON),ILATS) * X PWFACT(JP_I_SE,JOLON,JOLAT) C C Set missing if all neighbours are missing C ELSE IF( COUNT.EQ.0 ) THEN POFELD(JOLON,JOLAT) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE NEAREST = PWFACT(JP_I_NW,JOLON,JOLAT) POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_W,JOLON),ILATN) C IF( PWFACT(JP_I_NE,JOLON,JOLAT).GT.NEAREST ) THEN NEAREST = PWFACT(JP_I_NE,JOLON,JOLAT) POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_E,JOLON),ILATN) ENDIF C IF( PWFACT(JP_I_SW,JOLON,JOLAT).GT.NEAREST ) THEN NEAREST = PWFACT(JP_I_SW,JOLON,JOLAT) POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_W,JOLON),ILATS) ENDIF C IF( PWFACT(JP_I_SE,JOLON,JOLAT).GT.NEAREST ) THEN NEAREST = PWFACT(JP_I_SE,JOLON,JOLAT) POFELD(JOLON,JOLAT) = X PIFELD(KWEIND(JP_I_E,JOLON),ILATS) ENDIF C ENDIF C ENDDO C ENDDO C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGTOG: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/jmemhan2.F0000755000175000017500000003416312127406245022167 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMEMHAN2( KFLAG, KZOUTBF, KSIZE, KOPT, KRET) C C----> C**** JMEMHAN2 C C PURPOSE C _______ C C This routine handles memory allocation for jintll.F and jintgg.F C C INTERFACE C _________ C C CALL JMEMHAN2( KFLAG, KZOUTBF, KSIZE, KOPT, KRET) C C Input parameters C ________________ C C KFLAG - Flag to select lat/long or gaussian allocation C = 1 for grid to grid interpolation (igalloc) C = 2 for grid to grid interpolation (igalloc) C = 3 for scratch space C = 4 for vorticity and divergence scratch space C = 5 for even more scratch space (!?) C = 6 for latitude/longitude interpolation coefficients C on Fujitsu C = 7 for gaussian interpolation coefficients on Fujitsu C = 8 unused C = 9 for FFT work space C = 10 for output (partial) grid point field workspace C = 11 for work space for rotating fields (see intfap.F) C = 12 for raw land-sea mask (see iglsmst.F) C = 13 for 10 minute land-sea mask (see iglsm01.F) C = 14 for reading legendre coefficents line by line C = 15 more work space for rotating fields (see intfap.F) C = 16 more work space intfbu.F C = 17 more work space ?? C = 18 for rotation of gaussian grids (ggrotat and tatorgg) C = 19 for dynamic allocation of znfeldi (intf) C = 20 to 22, coefficients for rotating spectral fields (jacobif) C C KSIZE - Size of memory required in words C KOPT - Memory option C = 0 to deallocate C = 1 to allocate C C C Output parameters C ________________ C C KZOUTBF - Pointer to memory (if allocating) C KRET - Return status code C 0 = OK C C C Common block usage C __________________ C C JDCNDGB C JMEMCOM C C C Method C ______ C C None. C C C Externals C _________ C C JDEBUG - Checks environment variable to switch on/off debug #ifdef CRAY C HPALLOC - Allocate heap space C HPDEALLC - Deallocate heap space #else C JMALLOC - Allocate heap space C JFREE - Deallocate heap space #endif C INTLOG - Output log message C IAFREE - Deallocate heap space used by grid-pt to grid-pt C interpolation C C C Reference C _________ C C None. C C C Comments C ________ C C None. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* May 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers *ECMWF* Jan 1995 C Add scratch for vorticity and divergence (flag = 4) C C J.D.Chambers *ECMWF* Jan 1995 C Add space for interpolation coefficents (flag = 6) C C J.D.Chambers *ECMWF* Sep 1996 C Split space for interpolation coefficents (flag = 6 and 7) C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.D.Chambers ECMWF Mar 1998 C Allow memory flushing C C----< C ------------------------------------------------------- C* Section 0. Definition of variables. C ------------------------------------------------------- C IMPLICIT NONE #include "jparams.h" #include "jparam2.h" #include "parim.h" C C Parameters C INTEGER JPROUTINE, JPOPTMX PARAMETER ( JPROUTINE = 30600 ) PARAMETER ( JPOPTMX = 22 ) C C Subroutine arguments C #ifdef POINTER_64 INTEGER*8 KZOUTBF #else INTEGER KZOUTBF #endif INTEGER KSIZE, KOPT, KRET, KFLAG C C Local variables C LOGICAL LDEBUG, LDEBUG1 INTEGER LOOP INTEGER*8 ITOTAL INTEGER*8 ITEMP #ifdef POINTER_64 INTEGER*8 IZOUTBF #else INTEGER IZOUTBF #endif INTEGER*8 IEXIST DIMENSION IEXIST(JPOPTMX) DIMENSION IZOUTBF(JPOPTMX) DATA IEXIST/ JPOPTMX * -1/ DATA IZOUTBF/ JPOPTMX * 0/ C SAVE IEXIST, IZOUTBF C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC2 #else INTEGER JMALLOC2 #endif INTEGER IAFREE EXTERNAL IAFREE, JMALLOC2 C C ------------------------------------------------------- C* Section 1. Initialisation. C ------------------------------------------------------- C 100 CONTINUE C KRET = 0 CALL JDEBUG( ) LDEBUG = ( NDBG.GT.0 ) LDEBUG1 = ( NDBG.EQ.1 ) C C Check that a valid option has been chosen C IF( ( KFLAG.LT.1 ).OR.( KFLAG.GT.JPOPTMX ) ) THEN CALL INTLOG(JP_ERROR,'JMEMHAN2: Invalid flag = ', KFLAG) KRET = JPROUTINE + 1 GOTO 900 ENDIF C C Display diagnostics if required C IF( LDEBUG ) THEN C CALL INTLOG(JP_DEBUG,'JMEMHAN2: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, 'JMEMHAN2: Memory type flag = ', KFLAG) C IF( ( KFLAG.EQ.1 ).OR.( KFLAG.EQ.2 ) ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 1 = grid to grid interpolation', JPQUIET) C IF( ( KFLAG.EQ.3 ).OR.( KFLAG.EQ.4 ).OR.( KFLAG.EQ.5 ) ) X CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 3->5 = scratch,',JPQUIET) C IF( KFLAG.EQ.6 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 6 = coeffs for spectral to lat/long interp',JPQUIET) C IF( KFLAG.EQ.7 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 7 = coefs for spectral to gaussian interp,',JPQUIET) C IF( KFLAG.EQ.8 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 8 = coefficients for rotating SH fields',JPQUIET) C IF( KFLAG.EQ.9 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 9 = FFT workspace,',JPQUIET) C IF( KFLAG.EQ.10 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 10 = output (partial) grid pt field,',JPQUIET) C IF( KFLAG.EQ.11 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 11 = work space for rotating fields,',JPQUIET) C IF( KFLAG.EQ.12 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 12 = raw land-sea mask,',JPQUIET) C IF( KFLAG.EQ.13 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 13 = 10 minute land-sea mask.',JPQUIET) C IF( KFLAG.EQ.14 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 14 = legendre coefficents line by line.',JPQUIET) C IF( KFLAG.EQ.15 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 15 = more work space for rotating fields.',JPQUIET) C IF( KFLAG.EQ.16 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 16 = more work space for intfbu.F.',JPQUIET) C IF( KFLAG.EQ.17 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 17 = more work space for ??.',JPQUIET) C IF( KFLAG.EQ.18 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 18 = space for rotating gaussian fields.',JPQUIET) C IF( KFLAG.EQ.19 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 19 = for dynamic allocation of znfeldi.',JPQUIET) C IF( KFLAG.EQ.20 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 20 = coefficients for rotating SH fields',JPQUIET) C IF( KFLAG.EQ.21 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 21 = coefficients for rotating SH fields',JPQUIET) C IF( KFLAG.EQ.22 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: 22 = coefficients for rotating SH fields',JPQUIET) C CALL INTLOG(JP_DEBUG,'JMEMHAN2: Memory reqd in words = ', KSIZE) CALL INTLOG(JP_DEBUG,'JMEMHAN2: Option (1 = allocate) = ', KOPT) ENDIF C C ------------------------------------------------------- C* Section 2. Allocate memory C ------------------------------------------------------- C 200 CONTINUE C IF( KOPT.EQ.1 ) THEN C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: Requested allocation = ', KSIZE) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: Previous allocation = ', IEXIST(KFLAG)) ENDIF C C See if more memory required than already allocated C IF( KSIZE.GT.IEXIST(KFLAG) ) THEN C C Special cases (sigh) C C If allocating memory for spectral to lat/long or gaussian C interpolation, first deallocate heap space used by grid-pt C to grid-pt interpolation. C IF( ( KFLAG.EQ.1 ).OR.( KFLAG.EQ.2 ) ) THEN IF( LDEBUG ) THEN KRET = IAFREE(1,1) ELSE KRET = IAFREE(0,-1) ENDIF ENDIF C C If allocating memory on VPP for spectral to grid interpolation C coefficients, first deallocate memory used by other type of C spectral to gaussian interpolation if this option has been C requested. C IF( LFREECF ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: Free coefficients option exercised', JPQUIET) C C Spectral -> lat/long C IF( KFLAG.EQ.6 ) THEN IF( IEXIST(7).NE.-1 ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: Free spect->gaussn coeff memory',IZOUTBF(7)) #ifdef CRAY CALL HPDEALLC( IZOUTBF(7), KRET, 0) IF( KRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN2: Memory de-allocation failed',KRET) KRET = JPROUTINE + 2 ENDIF #else CALL JFREE( IZOUTBF(7) ) #endif IZOUTBF(7) = 0 IEXIST(7) = -1 NISIZE7 = 0 YOLDGG = 'xxxxxxxxxxxxxxx' ENDIF ENDIF C C Spectral -> gaussian C IF( KFLAG.EQ.7 ) THEN IF( IEXIST(6).NE.-1 ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: Free spec->lat/lon coeff memory',IZOUTBF(6)) #ifdef CRAY CALL HPDEALLC( IZOUTBF(6), KRET, 0) IF( KRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN2: Memory de-allocation failed',KRET) KRET = JPROUTINE + 3 ENDIF #else CALL JFREE( IZOUTBF(6) ) #endif IZOUTBF(6) = 0 IEXIST(6) = -1 NISIZE6 = 0 YOLDLL = 'xxxxxxxxxxxxxxxxxxx' ENDIF ENDIF ENDIF C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: Request greater than previous allocation', KSIZE) C C If memory already allocated, deallocate existing memory C IF( IEXIST(KFLAG).GE.0 ) THEN C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: Deallocate existing memory',IEXIST(KFLAG)) #ifdef CRAY CALL HPDEALLC( IZOUTBF(KFLAG), KRET, 0) IF( KRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN2: Memory de-allocation failed',KRET) KRET = JPROUTINE + 4 ENDIF #else CALL JFREE( IZOUTBF(KFLAG) ) #endif ENDIF C C Allocate heap memory C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: Allocate new memory ',KSIZE) C IEXIST(KFLAG) = KSIZE cs print*,'IEXIST(KFLAG) ',IEXIST(KFLAG),KFLAG #ifdef CRAY CALL HPALLOC( IZOUTBF(KFLAG), IEXIST(KFLAG), KRET, 0 ) IF( KRET.LT.0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN2: Memory allocation failed',KRET) #else #if (defined REAL_8) ITEMP = IEXIST(KFLAG) * 8 cs print*,'JMEMHAN2: KSIZE* 8 ',IEXIST(KFLAG),ITEMP IZOUTBF(KFLAG) = JMALLOC2( ITEMP ) cs print*,'JMEMHAN2: after JMALLOC2 ',IZOUTBF(KFLAG),KFLAG #else IZOUTBF(KFLAG) = JMALLOC2( IEXIST(KFLAG) * 4 ) #endif #ifdef hpR64 IZOUTBF(KFLAG) = IZOUTBF(KFLAG)/(1024*1024*1024*4) #endif IF( IZOUTBF(KFLAG).EQ.0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN2: Memory allocation failed',IZOUTBF(KFLAG)) #endif IEXIST(KFLAG) = -1 KRET = JPROUTINE + 5 GOTO 900 ENDIF ENDIF C IF( LFREECF ) THEN C C Spectral -> lat/long C IF( KFLAG.EQ.6 ) NISIZE6 = IEXIST(6) C C Spectral -> gaussian C IF( KFLAG.EQ.7 ) NISIZE7 = IEXIST(7) C ENDIF C C ------------------------------------------------------- C* Section 3. Deallocate memory C ------------------------------------------------------- C 300 CONTINUE C ELSE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: Deallocate memory address = ',IZOUTBF(KFLAG)) C IF( IZOUTBF(KFLAG).GT.0 ) THEN C #ifdef CRAY CALL HPDEALLC( IZOUTBF(KFLAG), KRET, 0) IF( KRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN2: Memory deallocation failed',KRET) KRET = JPROUTINE + 6 ENDIF #else CALL JFREE( IZOUTBF(KFLAG) ) #endif IZOUTBF(KFLAG) = 0 IEXIST(KFLAG) = -1 C ELSE CALL INTLOG(JP_DEBUG,'JMEMHAN2: Deallocation ignored',JPQUIET) ENDIF ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE IF( KRET.EQ.0 ) KZOUTBF = IZOUTBF(KFLAG) C IF( LDEBUG.AND.(.NOT.LDEBUG1) ) THEN ITOTAL = 0 DO LOOP = 1, JPOPTMX cs print*,'IEXIST(LOOP) ',IEXIST(LOOP), LOOP IF( IEXIST(LOOP).GT.0 ) THEN CALL INTLOG(JP_DEBUG, 'JMEMHAN2: For type ', LOOP) #if (defined REAL_8) CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: bytes allocated = ', IEXIST(LOOP)*8 ) cs print*,'IEXIST(LOOP)*8 ',IEXIST(LOOP)*8 ITOTAL = ITOTAL + (IEXIST(LOOP) * 8) #else CALL INTLOG(JP_DEBUG, X 'JMEMHAN2: bytes allocated = ', IEXIST(LOOP)*4 ) ITOTAL = ITOTAL + (IEXIST(LOOP) * 4) #endif ENDIF ENDDO CALL INTLOG(JP_DEBUG,'JMEMHAN2: Total bytes allocated=', ITOTAL) cs print*,'Total ',ITOTAL CALL INTLOG(JP_DEBUG,'JMEMHAN2: Return status code = ', KRET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/sharedgg.c0000755000175000017500000000441012127406245022277 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #define SHAREDGG sharedgg_ #ifdef linux #ifndef __USE_LARGEFILE64 #define __USE_LARGEFILE64 #endif #include #endif #include #include #include #include #include #include #include #include "fortint.h" #include "sharedlib.h" #include #include extern int sharedlib_dbg = 0; #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define SHAREDLL sharedll #define PBOPEN pbopen #define PBCLOSE pbclose #else #define SHAREDLL sharedll_ #define PBOPEN pbopen_ #define PBCLOSE pbclose_ #endif #endif fortint SHAREDGG( JPointer* ipdum, fortint* iktrunc, fortint* knum) /* C C**** SHAREDGG C C IPDUM - Dummy array for mapping legendre function file C KNUM - Gaussian grid number C KTRUNC - Spherical truncation C KRET - Return status, 0 = OK. C */ { #if (defined hpR64) || (defined hpiaR64) long l1, l2; #else fortint l1, l2; #endif char filedum[128], filename[128]; char ypfn[13] = "CF_xxxx_nnnn"; static char yold[13] = "xxxxxxxxxxxx"; char defaultDirectory[] = "./"; int kbuild ; char * fn; static fortint fpindex; static FILE * fp; static void * result = 0; fortint kret =0; int exist = 0; int status; pid_t process_id; int ktrunc = (int) (*iktrunc); /* // Setup the filename: cf_txxxx_raabbbbb */ /* // Setup the file name */ sprintf( ypfn+3, "%04d", ktrunc); sprintf( ypfn+7, "_%04d", *knum); /* // See if the file has already been created. */ fn = getenv("PPDIR"); if(fn == NULL) fn = defaultDirectory; if( (fn != NULL) && (strlen(fn) != 0) ) { strcpy( filename, fn ); strcat( filename, "/"); strcat( filename, ypfn); l1 = strlen(filename); l2 = 1; } /* printf("gg share_file filename=%s\n",filename); */ result = (void *) share_file(filename); if (result == NULL) kret = 1; *ipdum = (JPointer) result; return kret; } emoslib-000392+dfsg.1/interpolation/hgenllw.F0000755000175000017500000001546212127406245022127 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HGENLLW(AREA,POLE,GRID,NLON,NLAT, X RCLAT,RCLON,RLAT,RLON) C C----> C**** HGENLLW C C Purpose C ------- C C This routine calculates the original latitude and longitude C values (before rotation) for a rotated grid for wind fields. C C C Interface C --------- C C IRET = HGENLLW(AREA,POLE,GRID,NLON,NLAT,RCLAT,RCLON,RLAT,RLON) C C C Input parameters C ---------------- C C AREA - Limits of area (N/W/S/E) C POLE - Pole of rotation (lat/long) C GRID - Grid increments (i/j) C C C Output parameters C ----------------- C C NLON - Number of points along a parallel in the rotated grid. C NLAT - Number of points along a meridien in the rotated grid. C RCLAT - Vector of latitude values for the points in current grid. C RCLON - Vector of longitude values for the points in current grid. C RLAT - Vector of orginal latitude values for the points in C the rotated grid. C RLON - Vector of orginal longitude values for the points in C the rotated grid. C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C None. C C C Method C ------ C C The vector of points runs from West to East in rows, the rows C run from North to South. C C C Externals C --------- C C INTLOG - Log error message. C JDEBUG - Tests if debug output required. C HLL2XYZ - Converts a latitude/longitude position to (x,y,z) C wrt axes through the centre of the globe. The z-axis C runs from the south to north pole. The x- and y-axes C are in the plane of the equator with the x-axis C pointing out through lat/long (0,0). C YROTATE - Rotates the globe about the new y-axis. C XYZ2LL - Converts an (x,y,z) position to a latitude/longitude. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE #include "parim.h" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON REAL JSCALE PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) PARAMETER (JSCALE = 1000.0 ) C C Function arguments C REAL AREA(4),POLE(2),GRID(2), RCLAT(*),RCLON(*),RLAT(*),RLON(*) INTEGER NLON,NLAT C C Local variables C INTEGER NEXT, LOOP, LOOPI, LOOPO, IGRIDNI, IGRIDNJ INTEGER ISIZE, ISIZOLD, NBYTES REAL ZLAT, X(1), Y(1), Z(1) REAL RX(1), RY(1), RZ(1) POINTER( IPX, X ) POINTER( IPY, Y ) POINTER( IPZ, Z ) POINTER( IPRX, RX ) POINTER( IPRY, RY ) POINTER( IPRZ, RZ ) C DATA ISIZOLD/-1/ SAVE ISIZOLD,IPX,IPY,IPZ,IPRX,IPRY,IPRZ C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HGENLLW = 0 C CALL JDEBUG() C C -----------------------------------------------------------------| C Section 2. Calculate current grid latitudes and longitudes C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + INT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) NLAT = 1 + INT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) IGRIDNI = NINT(GRID(JW_E)*JSCALE) IGRIDNJ = NINT(GRID(JN_S)*JSCALE) C NEXT = 1 DO LOOPO = 1, NLAT ZLAT = AREA(JNORTH) - REAL((LOOPO-1)*IGRIDNJ)/JSCALE DO LOOPI = 1, NLON RCLON(NEXT) = AREA(JWEST) + REAL((LOOPI-1)*IGRIDNI)/JSCALE IF( RCLON(NEXT).LT.0.0 ) RCLON(NEXT) = RCLON(NEXT) + 360.0 RCLAT(NEXT) = ZLAT NEXT = NEXT + 1 ENDDO ENDDO C C -----------------------------------------------------------------| C Section 3. Get some space for rotating the lat/longs C -----------------------------------------------------------------| C 300 CONTINUE C ISIZE = NLAT *NLON IF( ISIZE.GT.ISIZOLD ) THEN C IF( ISIZOLD.GT.0 ) CALL JFREE(IPX) C NBYTES = 6*ISIZE*JPRLEN C IPX = JMALLOC(NBYTES) #ifdef hpR64 IPX = IPX/(1024*1024*1024*4) #endif IF( IPX.EQ.0 ) THEN CALL INTLOG(JP_WARN,'HGENLLW: Memory allocate fail',JPQUIET) HGENLLW = 1 GOTO 900 ENDIF C IPY = IPX + (ISIZE*JPRLEN) IPZ = IPY + (ISIZE*JPRLEN) IPRX = IPZ + (ISIZE*JPRLEN) IPRY = IPRX + (ISIZE*JPRLEN) IPRZ = IPRY + (ISIZE*JPRLEN) C ISIZOLD = ISIZE C ENDIF C C -----------------------------------------------------------------| C Section 4. Calculate the lat/longs before rotation C -----------------------------------------------------------------| C 400 CONTINUE C C Convert the rotated row points lat/longs to (x,y,z) coordinates C CALL HLL2XYZ(RCLAT,RCLON,X,Y,Z,ISIZE) C C Rotate the rotated row points back through the original latitude C rotation C CALL YROTATE(-(90.0+POLE(JLAT)),X,Y,Z,RX,RY,RZ,ISIZE) C C Convert the rotated row points adjusted (x,y,z) coordinates to C lat/long in the original grid (but still containing the C longitude rotation) C CALL XYZ2LL(RX,RY,RZ,RLAT,RLON,ISIZE) C C Adjust the rotated line longitudes to remove the longitude C rotation C DO LOOP = 1, ISIZE RLON(LOOP) = RLON(LOOP) + POLE(JLON) IF( RLON(LOOP).LT.0.0 ) RLON(LOOP) = RLON(LOOP) + 360.0 IF( RLON(LOOP).GE.360.0 ) RLON(LOOP) = RLON(LOOP) - 360.0 ENDDO C C -----------------------------------------------------------------| C Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jmvugg.F0000755000175000017500000002347512127406245021771 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMVUGG(PZFA, KNORTH, KSOUTH, PWEST, KGNUM, KSTART, X KDIFF, KROWS, KCOLS, KLON, KJPWR, KOFSET, POUTF) C C----> C**** JMVUGG C C Purpose C _______ C C This routine moves gaussian grid point data from array PZFA to C array POUTF. It handles the case when the number of latitudes C is different in the two hemispheres. C C C Interface C _________ C C CALL JMVUGG(PZFA, KNORTH, KSOUTH, PWEST, KGNUM, KSTART, C X KDIFF, KROWS, KCOLS, KLON, KJPWR, KOFSET, POUTF) C C C Input parameters C ________________ C C PZFA - Input array of grid points arranged in pairs of C north and south latitude bands C KNORTH - Northernmost latitude row number for field in POUTF C KSOUTH - Southernmost latitude row number for field in POUTF C PWEST - Westernmost longitude for field in POUTF (degrees) C KGNUM - Gaussian number for field in POUTF C KSTART - Current first latitude number in PZFA C KDIFF - Offset to first latitude row in PZFA for moving C KROWS - Number of latitude rows to store C KCOLS - Number of longitude points to store from latitude C KLON - Number of longitude points in generated latitude row C KJPWR - Multiplication factor applied to ensure that number C of longitude points > twice*spherical truncation C KOFSET - Array of offsets for start of each latitude row in C the output array C C C Output parameters C ________________ C C POUTF - Output array of grid points C C C Common block usage C __________________ C C JDCNDBG C C C Method C ______ C C Moves latitude rows of points from PZFA into the correct C geographical positions in POUTF. POUTF may already be C partially full. The distribution is not symmetrical north-south. C C C Externals C _________ C C JMOVGG - Move points of symmetric grid to array C INTLOG - Logs messages C INTLOGR - Logs messages with real value. C C C Reference C _________ C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C C Comments C ________ C C For calculation purposes, the number of longitude points C has to be greater than 2*(output truncation) to ensure that the C fourier transform is exact (see Reference, page 10). C Parameter JPLONO is set to 860 to ensure that PZFA will have C enough slots for the KLON points for all values of regular C grid intervals from N1 to N720. C C When filling the output array POUTF, the longitude points have C have to be taken selectively to avoid the intermediate generated C points, picking up values only at the required longitudes. The C magnification factor is KJPWR (a power of 2). C C PZFA has values stored: C North lat1: x, 1, x, 2, x, 3, x, ... , KLON, ... C South lat1: x, 1, x, 2, x, 3, x, ... , KLON, ... C North lat2: x, 1, x, 2, x, 3, x, ... , KLON, ... C South lat2: x, 1, x, 2, x, 3, x, ... , KLON, ... C ... for KROWS latitudes. C C The 'x' represents the extra values generated because of the C need for the number of points along a latitude line to be more C than twice the truncation of the spherical harmonics. C C C Author C ______ C C J.D.Chambers ECMWF Jan 1994 C C C Modifications C _____________ C C None C C----< C IMPLICIT NONE C _______________________________________________________ C C #include "jparams.h" #include "parim.h" C C Subroutine arguments INTEGER KNORTH, KSOUTH, KGNUM, KSTART, KDIFF, POUTF INTEGER KROWS, KCOLS, KLON, KJPWR, KOFSET DIMENSION KOFSET(*) REAL PZFA, PWEST DIMENSION PZFA( JPLONO+2, 64), POUTF(*) C C Parameters INTEGER JPROUTINE PARAMETER( JPROUTINE = 32000 ) C C Local variables INTEGER INROWS, NROWS, NFLAG INTEGER LATEST INTEGER NTOP, NBASE C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG,'JMVUGG - Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Northern latitude for output = ', KNORTH) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Southern latitude for output = ', KSOUTH) CALL INTLOGR(JP_DEBUG, X 'JMVUGG - Western longitude for output = ', PWEST) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Gaussian number for field = ', KGNUM) CALL INTLOG(JP_DEBUG, X 'JMVUGG - First latitude for moving = ', KSTART) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Offset to first lat. for moving = ', KDIFF) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Number of latitudes to store = ', KROWS) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Number of longitude pts per row = ', KCOLS) CALL INTLOG(JP_DEBUG, X 'JMVUGG - No. long.pts per generated row = ', KLON) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Multiplication factor applied = ', KJPWR) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Offsets(20) of each lat. in output array:',JPQUIET) C DO 101 NDBGLP = 1, 20 CALL INTLOG(JP_DEBUG,' ',KOFSET(NDBGLP)) 101 CONTINUE ENDIF C LATEST = 1 NTOP = KSTART + KDIFF NBASE = KSTART + (KROWS - 1) INROWS = KROWS NROWS = INROWS C IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG, X 'JMVUGG - Current northernmost lat = ', NTOP) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Current southernmost lat = ', NBASE) ENDIF C _______________________________________________________ C C* Section 2. Processing more North than South, or more South C than North. C _______________________________________________________ C 200 CONTINUE C C See if overall there are more rows in Northern Hemisphere than C Southern IF ( KNORTH .LE. (2*KGNUM - KSOUTH) ) THEN C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVUGG - More rows in North Hemis. than South',JPQUIET) C C Yes, so see if there are any rows in the current batch for the C south as well as the north IF ( NBASE .LT. (2*KGNUM - KSOUTH) ) THEN C C None for south in current batch, move all rows to north. NFLAG = 1 C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVUGG - No rows for S, move rows to N = ', NROWS) C CALL JMOVGG( PZFA, PWEST, KGNUM, KSTART, NROWS, KCOLS, X KLON, KJPWR, KOFSET, POUTF, NFLAG) ELSE C C Some for south. C C Move rows for north only first. IF ( (2*KGNUM-KSOUTH) .GT. (NTOP-1) ) THEN NROWS = (2*KGNUM-KSOUTH) - NTOP + 1 NFLAG = 1 C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Move North rows only first = ', NROWS) C CALL JMOVGG( PZFA, PWEST, KGNUM, KSTART, NROWS, KCOLS, X KLON, KJPWR, KOFSET, POUTF, NFLAG) NTOP = KSTART + NROWS LATEST = LATEST + (2 * NROWS) NROWS = INROWS - NROWS ENDIF C C Then move rows for both. IF ( NROWS .GT. 0 ) THEN NFLAG = 3 C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Move common lat.(N & S) = ', NROWS) C CALL JMOVGG( PZFA( 1, LATEST), PWEST, KGNUM, NTOP, X NROWS, KCOLS, KLON, KJPWR, KOFSET, POUTF,NFLAG) ENDIF ENDIF C C Overall there are more rows in Southern Hemisphere than Northern ELSE C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVUGG - More rows in South Hemis. than North',JPQUIET) C C C So see if there are any rows in the current batch for the C north as well as the south IF ( NBASE .LT. KNORTH ) THEN C C None for north in current batch, move all rows to south. NFLAG = 2 C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVUGG - No rows for N, move rows to S = ', NROWS) C CALL JMOVGG( PZFA, PWEST, KGNUM, KSTART, NROWS, KCOLS, X KLON, KJPWR, KOFSET, POUTF, NFLAG) ELSE C C Some for north. Move rows for south only first. NROWS = KNORTH - NTOP + KDIFF IF ( NROWS .GT. 0 ) THEN C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Move South rows only first = ', NROWS) C NFLAG = 2 CALL JMOVGG( PZFA, PWEST, KGNUM, KSTART, NROWS, KCOLS, X KLON, KJPWR, KOFSET, POUTF, NFLAG) LATEST = LATEST + (2 * NROWS) NROWS = INROWS - NROWS ELSE NROWS = INROWS ENDIF C C Then move rows for both. NFLAG = 3 IF ( NROWS .GT. 0 ) THEN C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMVUGG - Move common lats(N & S) = ', NROWS) C CALL JMOVGG( PZFA( 1, LATEST), PWEST, KGNUM, NTOP, X NROWS, KCOLS, KLON, KJPWR, KOFSET, POUTF,NFLAG) ENDIF ENDIF ENDIF C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C C RETURN END emoslib-000392+dfsg.1/interpolation/rpassm.F0000755000175000017500000004651712127406245022001 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE RPASSM(A,B,C,D,TRIGS,INC1,INC2,INC3,INC4,LOT,N,IFAC, * LA,IERR) DIMENSION A(N),B(N),C(N),D(N),TRIGS(N) C----> C C SUBROUTINE 'RPASSM' - PERFORMS ONE PASS THROUGH DATA AS PART C OF MULTIPLE REAL FFT (FOURIER SYNTHESIS) ROUTINE C C A IS FIRST REAL INPUT VECTOR C EQUIVALENCE B(1) WITH A (LA*INC1+1) C C IS FIRST REAL OUTPUT VECTOR C EQUIVALENCE D(1) WITH C(IFAC*LA*INC2+1) C TRIGS IS A PRECALCULATED LIST OF SINES & COSINES C INC1 IS THE ADDRESSING INCREMENT FOR A C INC2 IS THE ADDRESSING INCREMENT FOR C C INC3 IS THE INCREMENT BETWEEN INPUT VECTORS A C INC4 IS THE INCREMENT BETWEEN OUTPUT VECTORS C C LOT IS THE NUMBER OF VECTORS C N IS THE LENGTH OF THE VECTORS C IFAC IS THE CURRENT FACTOR OF N C LA IS THE PRODUCT OF PREVIOUS FACTORS C IERR IS AN ERROR INDICATOR: C 0 - PASS COMPLETED WITHOUT ERROR C 1 - LOT GREATER THAN 64 C 2 - IFAC NOT CATERED FOR C 3 - IFAC ONLY CATERED FOR IF LA=N/IFAC C C----------------------------------------------------------------------- C----< C DIMENSION A10(64),A11(64),A20(64),A21(64), * B10(64),B11(64),B20(64),B21(64) DATA SIN36/0.587785252292473/,SIN72/0.951056516295154/, * QRT5/0.559016994374947/,SIN60/0.866025403784437/ C M=N/IFAC IINK=LA*INC1 JINK=LA*INC2 JUMP=(IFAC-1)*JINK KSTOP=(N-IFAC)/(2*IFAC) C IBAD=1 IF (LOT.GT.64) GO TO 910 IBASE=0 JBASE=0 IGO=IFAC-1 IF (IGO.EQ.7) IGO=6 IBAD=2 IF (IGO.LT.1.OR.IGO.GT.6) GO TO 910 GO TO (200,300,400,500,600,800),IGO C C CODING FOR FACTOR 2 C ------------------- 200 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 JA=1 JB=JA+JINK C IF (LA.EQ.M) GO TO 290 C DO 220 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 210 IJK=1,LOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=A(IA+I)-A(IB+I) I=I+INC3 J=J+INC4 210 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 220 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB-IINK IBASE=0 JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IA.EQ.IB) GO TO 260 DO 250 K=LA,KSTOP,LA KB=K+K C1=TRIGS(KB+1) S1=TRIGS(KB+2) IBASE=0 DO 240 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 230 IJK=1,LOT C(JA+J)=A(IA+I)+A(IB+I) D(JA+J)=B(IA+I)-B(IB+I) C(JB+J)=C1*(A(IA+I)-A(IB+I))-S1*(B(IA+I)+B(IB+I)) D(JB+J)=S1*(A(IA+I)-A(IB+I))+C1*(B(IA+I)+B(IB+I)) I=I+INC3 J=J+INC4 230 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 240 CONTINUE IA=IA+IINK IB=IB-IINK JBASE=JBASE+JUMP 250 CONTINUE IF (IA.GT.IB) GO TO 900 260 CONTINUE IBASE=0 DO 280 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 270 IJK=1,LOT C(JA+J)=A(IA+I) C(JB+J)=-B(IA+I) I=I+INC3 J=J+INC4 270 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 280 CONTINUE GO TO 900 C 290 CONTINUE DO 294 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 292 IJK=1,LOT C(JA+J)=2.0*(A(IA+I)+A(IB+I)) C(JB+J)=2.0*(A(IA+I)-A(IB+I)) I=I+INC3 J=J+INC4 292 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 294 CONTINUE GO TO 900 C C CODING FOR FACTOR 3 C ------------------- 300 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 IC=IB JA=1 JB=JA+JINK JC=JB+JINK C IF (LA.EQ.M) GO TO 390 C DO 320 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 310 IJK=1,LOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=(A(IA+I)-0.5*A(IB+I))-(SIN60*(B(IB+I))) C(JC+J)=(A(IA+I)-0.5*A(IB+I))+(SIN60*(B(IB+I))) I=I+INC3 J=J+INC4 310 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 320 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IA.EQ.IC) GO TO 360 DO 350 K=LA,KSTOP,LA KB=K+K KC=KB+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) IBASE=0 DO 340 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 330 IJK=1,LOT C(JA+J)=A(IA+I)+(A(IB+I)+A(IC+I)) D(JA+J)=B(IA+I)+(B(IB+I)-B(IC+I)) C(JB+J)= * C1*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))-(SIN60*(B(IB+I)+B(IC+I)))) * -S1*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))+(SIN60*(A(IB+I)-A(IC+I)))) D(JB+J)= * S1*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))-(SIN60*(B(IB+I)+B(IC+I)))) * +C1*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))+(SIN60*(A(IB+I)-A(IC+I)))) C(JC+J)= * C2*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))+(SIN60*(B(IB+I)+B(IC+I)))) * -S2*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))-(SIN60*(A(IB+I)-A(IC+I)))) D(JC+J)= * S2*((A(IA+I)-0.5*(A(IB+I)+A(IC+I)))+(SIN60*(B(IB+I)+B(IC+I)))) * +C2*((B(IA+I)-0.5*(B(IB+I)-B(IC+I)))-(SIN60*(A(IB+I)-A(IC+I)))) I=I+INC3 J=J+INC4 330 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 340 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC-IINK JBASE=JBASE+JUMP 350 CONTINUE IF (IA.GT.IC) GO TO 900 360 CONTINUE IBASE=0 DO 380 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 370 IJK=1,LOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=(0.5*A(IA+I)-A(IB+I))-(SIN60*B(IA+I)) C(JC+J)=-(0.5*A(IA+I)-A(IB+I))-(SIN60*B(IA+I)) I=I+INC3 J=J+INC4 370 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 380 CONTINUE GO TO 900 C 390 CONTINUE SSIN60=2.0*SIN60 DO 394 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 392 IJK=1,LOT C(JA+J)=2.0*(A(IA+I)+A(IB+I)) C(JB+J)=(2.0*A(IA+I)-A(IB+I))-(SSIN60*B(IB+I)) C(JC+J)=(2.0*A(IA+I)-A(IB+I))+(SSIN60*B(IB+I)) I=I+INC3 J=J+INC4 392 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 394 CONTINUE GO TO 900 C C CODING FOR FACTOR 4 C ------------------- 400 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 IC=IB+2*M*INC1 ID=IB JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK C IF (LA.EQ.M) GO TO 490 C DO 420 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 410 IJK=1,LOT C(JA+J)=(A(IA+I)+A(IC+I))+A(IB+I) C(JB+J)=(A(IA+I)-A(IC+I))-B(IB+I) C(JC+J)=(A(IA+I)+A(IC+I))-A(IB+I) C(JD+J)=(A(IA+I)-A(IC+I))+B(IB+I) I=I+INC3 J=J+INC4 410 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 420 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC-IINK ID=ID-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IB.EQ.IC) GO TO 460 DO 450 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) IBASE=0 DO 440 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 430 IJK=1,LOT C(JA+J)=(A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I)) D(JA+J)=(B(IA+I)-B(IC+I))+(B(IB+I)-B(ID+I)) C(JC+J)= * C2*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) * -S2*((B(IA+I)-B(IC+I))-(B(IB+I)-B(ID+I))) D(JC+J)= * S2*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) * +C2*((B(IA+I)-B(IC+I))-(B(IB+I)-B(ID+I))) C(JB+J)= * C1*((A(IA+I)-A(IC+I))-(B(IB+I)+B(ID+I))) * -S1*((B(IA+I)+B(IC+I))+(A(IB+I)-A(ID+I))) D(JB+J)= * S1*((A(IA+I)-A(IC+I))-(B(IB+I)+B(ID+I))) * +C1*((B(IA+I)+B(IC+I))+(A(IB+I)-A(ID+I))) C(JD+J)= * C3*((A(IA+I)-A(IC+I))+(B(IB+I)+B(ID+I))) * -S3*((B(IA+I)+B(IC+I))-(A(IB+I)-A(ID+I))) D(JD+J)= * S3*((A(IA+I)-A(IC+I))+(B(IB+I)+B(ID+I))) * +C3*((B(IA+I)+B(IC+I))-(A(IB+I)-A(ID+I))) I=I+INC3 J=J+INC4 430 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 440 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC-IINK ID=ID-IINK JBASE=JBASE+JUMP 450 CONTINUE IF (IB.GT.IC) GO TO 900 460 CONTINUE IBASE=0 SIN45=SQRT(0.5) DO 480 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 470 IJK=1,LOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=SIN45*((A(IA+I)-A(IB+I))-(B(IA+I)+B(IB+I))) C(JC+J)=B(IB+I)-B(IA+I) C(JD+J)=-SIN45*((A(IA+I)-A(IB+I))+(B(IA+I)+B(IB+I))) I=I+INC3 J=J+INC4 470 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 480 CONTINUE GO TO 900 C 490 CONTINUE DO 494 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 492 IJK=1,LOT C(JA+J)=2.0*((A(IA+I)+A(IC+I))+A(IB+I)) C(JB+J)=2.0*((A(IA+I)-A(IC+I))-B(IB+I)) C(JC+J)=2.0*((A(IA+I)+A(IC+I))-A(IB+I)) C(JD+J)=2.0*((A(IA+I)-A(IC+I))+B(IB+I)) I=I+INC3 J=J+INC4 492 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 494 CONTINUE GO TO 900 C C CODING FOR FACTOR 5 C ------------------- 500 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 IC=IB+2*M*INC1 ID=IC IE=IB JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK JE=JD+JINK C IF (LA.EQ.M) GO TO 590 C DO 520 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 510 IJK=1,LOT C(JA+J)=A(IA+I)+(A(IB+I)+A(IC+I)) C(JB+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))+QRT5*(A(IB+I)-A(IC+I))) * -(SIN72*B(IB+I)+SIN36*B(IC+I)) C(JC+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))-QRT5*(A(IB+I)-A(IC+I))) * -(SIN36*B(IB+I)-SIN72*B(IC+I)) C(JD+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))-QRT5*(A(IB+I)-A(IC+I))) * +(SIN36*B(IB+I)-SIN72*B(IC+I)) C(JE+J)=((A(IA+I)-0.25*(A(IB+I)+A(IC+I)))+QRT5*(A(IB+I)-A(IC+I))) * +(SIN72*B(IB+I)+SIN36*B(IC+I)) I=I+INC3 J=J+INC4 510 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 520 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IB.EQ.ID) GO TO 560 DO 550 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) IBASE=0 DO 540 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 530 IJK=1,LOT C A10(IJK)=(A(IA+I)-0.25*((A(IB+I)+A(IE+I))+(A(IC+I)+A(ID+I)))) * +QRT5*((A(IB+I)+A(IE+I))-(A(IC+I)+A(ID+I))) A20(IJK)=(A(IA+I)-0.25*((A(IB+I)+A(IE+I))+(A(IC+I)+A(ID+I)))) * -QRT5*((A(IB+I)+A(IE+I))-(A(IC+I)+A(ID+I))) B10(IJK)=(B(IA+I)-0.25*((B(IB+I)-B(IE+I))+(B(IC+I)-B(ID+I)))) * +QRT5*((B(IB+I)-B(IE+I))-(B(IC+I)-B(ID+I))) B20(IJK)=(B(IA+I)-0.25*((B(IB+I)-B(IE+I))+(B(IC+I)-B(ID+I)))) * -QRT5*((B(IB+I)-B(IE+I))-(B(IC+I)-B(ID+I))) A11(IJK)=SIN72*(B(IB+I)+B(IE+I))+SIN36*(B(IC+I)+B(ID+I)) A21(IJK)=SIN36*(B(IB+I)+B(IE+I))-SIN72*(B(IC+I)+B(ID+I)) B11(IJK)=SIN72*(A(IB+I)-A(IE+I))+SIN36*(A(IC+I)-A(ID+I)) B21(IJK)=SIN36*(A(IB+I)-A(IE+I))-SIN72*(A(IC+I)-A(ID+I)) C C(JA+J)=A(IA+I)+((A(IB+I)+A(IE+I))+(A(IC+I)+A(ID+I))) D(JA+J)=B(IA+I)+((B(IB+I)-B(IE+I))+(B(IC+I)-B(ID+I))) C(JB+J)=C1*(A10(IJK)-A11(IJK))-S1*(B10(IJK)+B11(IJK)) D(JB+J)=S1*(A10(IJK)-A11(IJK))+C1*(B10(IJK)+B11(IJK)) C(JE+J)=C4*(A10(IJK)+A11(IJK))-S4*(B10(IJK)-B11(IJK)) D(JE+J)=S4*(A10(IJK)+A11(IJK))+C4*(B10(IJK)-B11(IJK)) C(JC+J)=C2*(A20(IJK)-A21(IJK))-S2*(B20(IJK)+B21(IJK)) D(JC+J)=S2*(A20(IJK)-A21(IJK))+C2*(B20(IJK)+B21(IJK)) C(JD+J)=C3*(A20(IJK)+A21(IJK))-S3*(B20(IJK)-B21(IJK)) D(JD+J)=S3*(A20(IJK)+A21(IJK))+C3*(B20(IJK)-B21(IJK)) C I=I+INC3 J=J+INC4 530 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 540 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK JBASE=JBASE+JUMP 550 CONTINUE IF (IB.GT.ID) GO TO 900 560 CONTINUE IBASE=0 DO 580 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 570 IJK=1,LOT C(JA+J)=(A(IA+I)+A(IB+I))+A(IC+I) C(JB+J)=(QRT5*(A(IA+I)-A(IB+I))+(0.25*(A(IA+I)+A(IB+I))-A(IC+I))) * -(SIN36*B(IA+I)+SIN72*B(IB+I)) C(JE+J)=-(QRT5*(A(IA+I)-A(IB+I))+(0.25*(A(IA+I)+A(IB+I))-A(IC+I))) * -(SIN36*B(IA+I)+SIN72*B(IB+I)) C(JC+J)=(QRT5*(A(IA+I)-A(IB+I))-(0.25*(A(IA+I)+A(IB+I))-A(IC+I))) * -(SIN72*B(IA+I)-SIN36*B(IB+I)) C(JD+J)=-(QRT5*(A(IA+I)-A(IB+I))-(0.25*(A(IA+I)+A(IB+I))-A(IC+I))) * -(SIN72*B(IA+I)-SIN36*B(IB+I)) I=I+INC3 J=J+INC4 570 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 580 CONTINUE GO TO 900 C 590 CONTINUE QQRT5=2.0*QRT5 SSIN36=2.0*SIN36 SSIN72=2.0*SIN72 DO 594 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 592 IJK=1,LOT C(JA+J)=2.0*(A(IA+I)+(A(IB+I)+A(IC+I))) C(JB+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * +QQRT5*(A(IB+I)-A(IC+I)))-(SSIN72*B(IB+I)+SSIN36*B(IC+I)) C(JC+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * -QQRT5*(A(IB+I)-A(IC+I)))-(SSIN36*B(IB+I)-SSIN72*B(IC+I)) C(JD+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * -QQRT5*(A(IB+I)-A(IC+I)))+(SSIN36*B(IB+I)-SSIN72*B(IC+I)) C(JE+J)=(2.0*(A(IA+I)-0.25*(A(IB+I)+A(IC+I))) * +QQRT5*(A(IB+I)-A(IC+I)))+(SSIN72*B(IB+I)+SSIN36*B(IC+I)) I=I+INC3 J=J+INC4 592 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 594 CONTINUE GO TO 900 C C CODING FOR FACTOR 6 C ------------------- 600 CONTINUE IA=1 IB=IA+(2*M-LA)*INC1 IC=IB+2*M*INC1 ID=IC+2*M*INC1 IE=IC IF=IB JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK JE=JD+JINK JF=JE+JINK C IF (LA.EQ.M) GO TO 690 C DO 620 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 610 IJK=1,LOT C(JA+J)=(A(IA+I)+A(ID+I))+(A(IB+I)+A(IC+I)) C(JD+J)=(A(IA+I)-A(ID+I))-(A(IB+I)-A(IC+I)) C(JB+J)=((A(IA+I)-A(ID+I))+0.5*(A(IB+I)-A(IC+I))) * -(SIN60*(B(IB+I)+B(IC+I))) C(JF+J)=((A(IA+I)-A(ID+I))+0.5*(A(IB+I)-A(IC+I))) * +(SIN60*(B(IB+I)+B(IC+I))) C(JC+J)=((A(IA+I)+A(ID+I))-0.5*(A(IB+I)+A(IC+I))) * -(SIN60*(B(IB+I)-B(IC+I))) C(JE+J)=((A(IA+I)+A(ID+I))-0.5*(A(IB+I)+A(IC+I))) * +(SIN60*(B(IB+I)-B(IC+I))) I=I+INC3 J=J+INC4 610 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 620 CONTINUE IA=IA+IINK IINK=2*IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK IF=IF-IINK JBASE=JBASE+JUMP JUMP=2*JUMP+JINK IF (IC.EQ.ID) GO TO 660 DO 650 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB KF=KE+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) C5=TRIGS(KF+1) S5=TRIGS(KF+2) IBASE=0 DO 640 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 630 IJK=1,LOT C A11(IJK)= (A(IE+I)+A(IB+I))+(A(IC+I)+A(IF+I)) A20(IJK)=(A(IA+I)+A(ID+I))-0.5*A11(IJK) A21(IJK)=SIN60*((A(IE+I)+A(IB+I))-(A(IC+I)+A(IF+I))) B11(IJK)= (B(IB+I)-B(IE+I))+(B(IC+I)-B(IF+I)) B20(IJK)=(B(IA+I)-B(ID+I))-0.5*B11(IJK) B21(IJK)=SIN60*((B(IB+I)-B(IE+I))-(B(IC+I)-B(IF+I))) C C(JA+J)=(A(IA+I)+A(ID+I))+A11(IJK) D(JA+J)=(B(IA+I)-B(ID+I))+B11(IJK) C(JC+J)=C2*(A20(IJK)-B21(IJK))-S2*(B20(IJK)+A21(IJK)) D(JC+J)=S2*(A20(IJK)-B21(IJK))+C2*(B20(IJK)+A21(IJK)) C(JE+J)=C4*(A20(IJK)+B21(IJK))-S4*(B20(IJK)-A21(IJK)) D(JE+J)=S4*(A20(IJK)+B21(IJK))+C4*(B20(IJK)-A21(IJK)) C A11(IJK)=(A(IE+I)-A(IB+I))+(A(IC+I)-A(IF+I)) B11(IJK)=(B(IE+I)+B(IB+I))-(B(IC+I)+B(IF+I)) A20(IJK)=(A(IA+I)-A(ID+I))-0.5*A11(IJK) A21(IJK)=SIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) B20(IJK)=(B(IA+I)+B(ID+I))+0.5*B11(IJK) B21(IJK)=SIN60*((B(IE+I)+B(IB+I))+(B(IC+I)+B(IF+I))) C C(JD+J)= * C3*((A(IA+I)-A(ID+I))+A11(IJK))-S3*((B(IA+I)+B(ID+I))-B11(IJK)) D(JD+J)= * S3*((A(IA+I)-A(ID+I))+A11(IJK))+C3*((B(IA+I)+B(ID+I))-B11(IJK)) C(JB+J)=C1*(A20(IJK)-B21(IJK))-S1*(B20(IJK)-A21(IJK)) D(JB+J)=S1*(A20(IJK)-B21(IJK))+C1*(B20(IJK)-A21(IJK)) C(JF+J)=C5*(A20(IJK)+B21(IJK))-S5*(B20(IJK)+A21(IJK)) D(JF+J)=S5*(A20(IJK)+B21(IJK))+C5*(B20(IJK)+A21(IJK)) C I=I+INC3 J=J+INC4 630 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 640 CONTINUE IA=IA+IINK IB=IB+IINK IC=IC+IINK ID=ID-IINK IE=IE-IINK IF=IF-IINK JBASE=JBASE+JUMP 650 CONTINUE IF (IC.GT.ID) GO TO 900 660 CONTINUE IBASE=0 DO 680 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 670 IJK=1,LOT C(JA+J)=A(IB+I)+(A(IA+I)+A(IC+I)) C(JD+J)=B(IB+I)-(B(IA+I)+B(IC+I)) C(JB+J)=(SIN60*(A(IA+I)-A(IC+I)))-(0.5*(B(IA+I)+B(IC+I))+B(IB+I)) C(JF+J)=-(SIN60*(A(IA+I)-A(IC+I)))-(0.5*(B(IA+I)+B(IC+I))+B(IB+I)) C(JC+J)=SIN60*(B(IC+I)-B(IA+I))+(0.5*(A(IA+I)+A(IC+I))-A(IB+I)) C(JE+J)=SIN60*(B(IC+I)-B(IA+I))-(0.5*(A(IA+I)+A(IC+I))-A(IB+I)) I=I+INC3 J=J+INC4 670 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 680 CONTINUE GO TO 900 C 690 CONTINUE SSIN60=2.0*SIN60 DO 694 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 692 IJK=1,LOT C(JA+J)=(2.0*(A(IA+I)+A(ID+I)))+(2.0*(A(IB+I)+A(IC+I))) C(JD+J)=(2.0*(A(IA+I)-A(ID+I)))-(2.0*(A(IB+I)-A(IC+I))) C(JB+J)=(2.0*(A(IA+I)-A(ID+I))+(A(IB+I)-A(IC+I))) * -(SSIN60*(B(IB+I)+B(IC+I))) C(JF+J)=(2.0*(A(IA+I)-A(ID+I))+(A(IB+I)-A(IC+I))) * +(SSIN60*(B(IB+I)+B(IC+I))) C(JC+J)=(2.0*(A(IA+I)+A(ID+I))-(A(IB+I)+A(IC+I))) * -(SSIN60*(B(IB+I)-B(IC+I))) C(JE+J)=(2.0*(A(IA+I)+A(ID+I))-(A(IB+I)+A(IC+I))) * +(SSIN60*(B(IB+I)-B(IC+I))) I=I+INC3 J=J+INC4 692 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 694 CONTINUE GO TO 900 C C CODING FOR FACTOR 8 C ------------------- 800 CONTINUE IBAD=3 IF (LA.NE.M) GO TO 910 IA=1 IB=IA+LA*INC1 IC=IB+2*LA*INC1 ID=IC+2*LA*INC1 IE=ID+2*LA*INC1 JA=1 JB=JA+JINK JC=JB+JINK JD=JC+JINK JE=JD+JINK JF=JE+JINK JG=JF+JINK JH=JG+JINK SSIN45=SQRT(2.0) C DO 820 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 810 IJK=1,LOT C(JA+J)=2.0*(((A(IA+I)+A(IE+I))+A(IC+I))+(A(IB+I)+A(ID+I))) C(JE+J)=2.0*(((A(IA+I)+A(IE+I))+A(IC+I))-(A(IB+I)+A(ID+I))) C(JC+J)=2.0*(((A(IA+I)+A(IE+I))-A(IC+I))-(B(IB+I)-B(ID+I))) C(JG+J)=2.0*(((A(IA+I)+A(IE+I))-A(IC+I))+(B(IB+I)-B(ID+I))) C(JB+J)=2.0*((A(IA+I)-A(IE+I))-B(IC+I)) * +SSIN45*((A(IB+I)-A(ID+I))-(B(IB+I)+B(ID+I))) C(JF+J)=2.0*((A(IA+I)-A(IE+I))-B(IC+I)) * -SSIN45*((A(IB+I)-A(ID+I))-(B(IB+I)+B(ID+I))) C(JD+J)=2.0*((A(IA+I)-A(IE+I))+B(IC+I)) * -SSIN45*((A(IB+I)-A(ID+I))+(B(IB+I)+B(ID+I))) C(JH+J)=2.0*((A(IA+I)-A(IE+I))+B(IC+I)) * +SSIN45*((A(IB+I)-A(ID+I))+(B(IB+I)+B(ID+I))) I=I+INC3 J=J+INC4 810 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 820 CONTINUE C C RETURN C ------ 900 CONTINUE IBAD=0 910 CONTINUE IERR=IBAD RETURN END emoslib-000392+dfsg.1/interpolation/jmovll.F0000755000175000017500000001755012127406245021772 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMOVLL( PZFA, PNORTH, PWEST, PLATINC, PLONINC, PSTART, X KROWS, KCOLS, KLON, KJPWR, POUTF, KFLAG) C C----> C**** JMOVLL C C Purpose C _______ C C This routine moves grid point data from array PZFA to array POUTF. C C C Interface C _________ C C CALL JMOVLL( PZFA, PNORTH, PWEST,PLATINC, PLONINC, PSTART, C X KROWS, KCOLS, KLON, KJPWR, POUTF, KFLAG) C C C Input parameters C ________________ C C PZFA - Input array of grid points arranged in pairs of C north and south latitude bands C PNORTH - Northernmost latitude for field in POUTF (degrees) C PWEST - Westernmost longitude for field in POUTF (degrees) C PLATINC - Grid interval between latitudes in degrees in POUTF C PLONINC - Grid interval between longitudes in degrees in POUTF C PSTART - Current first latitude in PZFA for moving (degrees) C KROWS - Number of latitude rows to store C KCOLS - Number of longitude points to store from latitude C KLON - Number of longitude points in generated latitude row C KJPWR - Multiplication factor applied to ensure that number C of longitude points > twice*spherical truncation C KFLAG - = 1 if only the North hemisphere lats. to be moved C = 2 if only the South hemisphere lats. to be moved C = 3 if both North/South hemisphere lats. to be moved C C C Output parameters C ________________ C C POUTF - output array of grid points C C C Common block usage C __________________ C C JDCNDBG C C C Method C ______ C C Moves latitude rows of points from PZFA into the correct C geographical positions in POUTF. POUTF may already be C partially full. The distribution is symmetrical north-south. C C C Externals C _________ C C INTLOG - Logs messages C INTLOGR - Logs messages with real value. C C C Reference C _________ C C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C C Comments C ________ C C POUTF is a 2-dimensional array, with first dimension = KCOLS. C C For calculation purposes, the number of longitude points C has to be greater than 2*(output truncation) to ensure that the C fourier transform is exact (see Reference, page 10). C Parameter JPLONO is set to 860 to ensure that PZFA will have C enough slots for the KLON points for all values of regular C grid intervals from N1 to N720. C C When filling the output array POUTF, the longitude points have C have to be taken selectively to avoid the intermediate generated C points, picking up values only at the required longitudes. The C magnification factor is KJPWR (a power of 2). C C PZFA has values stored: C North lat1: x, 1, x, 2, x, 3, x, ... , KLON, ... C South lat1: x, 1, x, 2, x, 3, x, ... , KLON, ... C North lat2: x, 1, x, 2, x, 3, x, ... , KLON, ... C South lat2: x, 1, x, 2, x, 3, x, ... , KLON, ... C ... for KROWS latitudes. C C The 'x' represents the extra values generated because of the C need for the number of points along a latitude line to be more C than twice the truncation of the spherical harmonics. C C C Author C ______ C C J.D.Chambers ECMWF Nov 1993 C C C Modifications C _____________ C C None C C----< C IMPLICIT NONE C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C #include "jparams.h" #include "parim.h" C C Subroutine arguments C INTEGER KROWS, KCOLS, KLON, KJPWR, KFLAG REAL PZFA, PNORTH, PWEST, PLATINC, PLONINC, PSTART, POUTF DIMENSION PZFA( JPLONO+2, 64), POUTF(KCOLS,*) C C Parameters INTEGER JPROUTINE PARAMETER( JPROUTINE = 31900 ) C C Local variables C INTEGER IOFFN, IOFFS, LOOPRW, LOOPCL, NEXT INTEGER LONGIT, N360, NSTART C C _______________________________________________________ C C C* Section 1. Initialization C _______________________________________________________ C 100 CONTINUE IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG,'JMOVLL - Input parameters:',JPQUIET) CALL INTLOGR(JP_DEBUG, X 'JMOVLL - Northern latitude for output = ', PNORTH) CALL INTLOGR(JP_DEBUG, X 'JMOVLL - Western longitude for output = ', PWEST) CALL INTLOGR(JP_DEBUG, X 'JMOVLL - Latitude grid interval (deg) = ', PLATINC) CALL INTLOGR(JP_DEBUG, X 'JMOVLL - Longitude grid interval (deg) = ', PLONINC) CALL INTLOGR(JP_DEBUG, X 'JMOVLL - First latitude for moving = ', PSTART) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Number of latitudes to store = ', KROWS) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Number of longitude pts per row = ', KCOLS) CALL INTLOG(JP_DEBUG, X 'JMOVLL - No. long.pts per generated row = ', KLON) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Multiplication factor applied = ', KJPWR) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Move hemisphere(1=N,2=S,3=both) = ', KFLAG) C ENDIF C C Find start offset in storage array IOFFN = NINT( (PNORTH - PSTART)/PLATINC ) + 1 IOFFS = NINT( (PNORTH + PSTART)/PLATINC ) + 2 LONGIT = NINT( (360.0 + PWEST)/PLONINC ) N360 = NINT( 360.0/PLONINC ) NSTART = MOD( LONGIT, N360)*KJPWR IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG, X 'JMOVLL - Offset in storage array(north) = ', IOFFN) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Offset in storage array(south) = ', IOFFS) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Start longitude = ', LONGIT) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Modulus for longitude 360deg. = ', N360) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Start point index = ', NSTART) ENDIF C _______________________________________________________ C C C* Section 2. Store the points for northern latitudes, southern C* latitudes or both. C _______________________________________________________ C 200 CONTINUE C C Store Northern latitudes .. C .. skipping intermediate values - see calculation of NEXT below C IF ( KFLAG .NE. 2 ) THEN C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Storing North latitudes',JPQUIET) C DO 222 LOOPRW = 1, KROWS*2, 2 DO 220 LOOPCL = 1, KCOLS NEXT = 2 + MOD( NSTART + (LOOPCL-1)*KJPWR , KLON) POUTF( LOOPCL, IOFFN + LOOPRW/2 ) = PZFA( NEXT, LOOPRW) 220 CONTINUE 222 CONTINUE ENDIF C C Store Southern latitudes .. C .. skipping intermediate values - see calculation of NEXT below C IF ( KFLAG .NE. 1 ) THEN C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JMOVLL - Storing South latitudes',JPQUIET) C DO 242 LOOPRW = 2, KROWS*2, 2 DO 240 LOOPCL = 1, KCOLS NEXT = 2 + MOD( NSTART + (LOOPCL-1)*KJPWR , KLON) POUTF( LOOPCL, IOFFS - LOOPRW/2 ) = PZFA( NEXT, LOOPRW) 240 CONTINUE 242 CONTINUE C ENDIF C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C C RETURN END emoslib-000392+dfsg.1/interpolation/ll2xyz.F0000755000175000017500000000372712127406245021734 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE LL2XYZ(RLAT,RLONG,X,Y,Z,INROW) C----> C**** LL2XYZ C C Purpose C ------- C C Converts an array of latitude/longitude values to an C array of (x,y,z) coordinates. C C C Interface C --------- C C CALL LL2XYZ(RLAT,RLONG,X,Y,Z,INROW) C C Input C ----- C C RLAT - Array of latitudes. C RLONG - Array of corresponding longitudes. C INROW - Count of latitudes/longitudes. C C C Output C ------ C C (X,Y,Z) - Array of coordinates. C C C Method C ------ C C Z axis is the polar axis directed from south to north. C X and Y axes are in the equatorial plane and have origin at the C centre of the Earth. The X axis passes through (O north, 0 east). C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF C C----< C IMPLICIT NONE C C Subroutine arguments C REAL RLAT,RLONG,X,Y,Z DIMENSION RLONG(*),X(*),Y(*),Z(*) INTEGER INROW C C Parameters C INTEGER JPMAXGG PARAMETER( JPMAXGG = 1280 ) C C Local variables C REAL FACTOR, COS_LAT, SIN_LAT, COS_LON, SIN_LON DIMENSION COS_LON(JPMAXGG), SIN_LON(JPMAXGG) DATA FACTOR/0.017453293/ INTEGER LOOP REAL ALAT C ALAT = RLAT * FACTOR COS_LAT = COS(ALAT) SIN_LAT = SIN(ALAT) C DO LOOP = 1, INROW COS_LON(LOOP) = COS(RLONG(LOOP)*FACTOR) SIN_LON(LOOP) = SIN(RLONG(LOOP)*FACTOR) C X(LOOP) = COS_LAT*COS_LON(LOOP) Y(LOOP) = COS_LAT*SIN_LON(LOOP) Z(LOOP) = SIN_LAT ENDDO C RETURN END emoslib-000392+dfsg.1/interpolation/intuvp.F0000755000175000017500000005262212127406245022013 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTUVP( KVGRIB, KDGRIB, INLEN, X KUGRIBO, KVGRIBO, OUTLEN) C C----> C**** INTUVP C C Purpose C ------- C C Interpolate GRIB format input vorticity and divergence field to C GRIB format U and V fields. C C C Interface C --------- C C IRET = INTUVP(KVGRIB,KDGRIB,INLEN,KUGRIBO,KVGRIBO,OUTLEN) C C Input C ----- C C KVGRIB - Input vorticity field (spectral, GRIB format). C KDGRIB - Input divergence field (spectral, GRIB format). C INLEN - Input field length (words). C C C Output C ------ C C KUGRIBO - Output U field (GRIB format). C KVGRIBO - Output V field (GRIB format). C OUTLEN - Length of each output U and V field (words). C C C Method C ------ C C Convert spectral vorticity/divergence to spectral U/V and then C interpolate U and V to output fields. C C Note that a common block is used in intf.h to hold the U/V C fields before interpolation. C C Externals C --------- C C IBASINI - Ensure basic interpolation setup is done. C INTUVDH - Encodes/decodes data into/from GRIB code. C INTUVXH - Interpolate U and V spectral components to grid point. C JVOD2UV - Converts spectral vorticity/divergence to spectral U/V. C JMEMHAN - Allocate scratch memory. C ISCRSZ - Calculate number of values in generated field. C FIXAREA - Fixup area definition to correspond to grid definitions C INTLOG - Log error message. C RESET_C - Reset interpolation handling options using GRIB product. C INSANE - Ensure no outrageous values given for interpolation. C GRSMKP - P factor calculation switch for routine GRIBEX. C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C Rewritten to use more functions for processing. C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C C Function arguments C INTEGER KVGRIB(*), KDGRIB(*), INLEN INTEGER KUGRIBO(*), KVGRIBO(*), OUTLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE, JPALLOC, JPDEALL, JPSCR3, JPSCR4,JPSCR5 INTEGER JPVORT, JPDIVE PARAMETER (JPROUTINE = 26900 ) PARAMETER (JPALLOC = 1) PARAMETER (JPDEALL = 0) PARAMETER (JPSCR3 = 3) PARAMETER (JPSCR4 = 4) PARAMETER (JPSCR5 = 5) PARAMETER (JPVORT = 138) PARAMETER (JPDIVE = 155) C C Local variables C CHARACTER*1 HFUNC REAL EW, NS, DUMMY LOGICAL LOLDWIND, LSPECUV INTEGER IERR,KPR,ISZVD,ISZUV,IWORD,ISIZE,ILENF,ISAME,IDIVOFF INTEGER NEXT, LOOP, MTRUNC, NTRUNC, NTROLD, NTROLD2, NPARAM INTEGER NOLD, NLEN, NLENU, NLENV, HNORESO INTEGER INRESO, IHOLD LOGICAL LSTYLE REAL NORTH, SOUTH, WEST, EAST C LOGICAL LFIRST, LNEWUV CHARACTER*3 EXTRA DATA LFIRST/.TRUE./, LNEWUV/.TRUE./, EXTRA/'NO '/ SAVE LFIRST, LNEWUV C DATA NTROLD/-1/, NTROLD2/-1/ SAVE NTROLD, NTROLD2 INTEGER IPVORT, IPDIV, IP_U, IP_V #ifdef POINTER_64 INTEGER*8 IZNFLDO #endif REAL ZNFLDO POINTER ( IZNFLDO, ZNFLDO ) DIMENSION ZNFLDO( 1 ) #ifdef POINTER_64 INTEGER*8 IUV, IVD #endif REAL UV, VD POINTER ( IUV, UV ) POINTER ( IVD, VD ) DIMENSION UV( 1 ), VD( 1 ) C C Externals C INTEGER RESET_C,ISCRSZ,FIXAREA,AURESOL,DSSAREA INTEGER IBASINI, INSANE, INTUVDH, INTUVXH INTEGER INTUVPH, INTUVGH C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE INTUVP = 0 IERR = 0 KPR = 0 C IF( LFIRST ) THEN CALL GETENV('IGNORE_UV_EXTRA_MODE', EXTRA) IF((EXTRA(1:1).EQ.'Y').OR.(EXTRA(1:1).EQ.'y')) LNEWUV = .FALSE. IF( LNEWUV ) THEN CALL INTLOG(JP_DEBUG, X 'INTUVP: IGNORE_UV_EXTRA_MODE not turned on',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'INTUVP: IGNORE_UV_EXTRA_MODE turned on',JPQUIET) ENDIF LFIRST = .FALSE. ENDIF C LOLDWIND = LWINDSET cs LSPECUV = (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) C C Ensure that basic initialisation has been done C IERR = IBASINI(0) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVP: basic initialise failed',JPQUIET) INTUVP = IERR GOTO 990 ENDIF C C Establish truncation of the input vorticity and divergence: C unpack GRIB sections 1 and 2. C NPARAM = JPVORT ISZVD = 1 NLEN = INLEN IERR = INTUVDH(DUMMY,ISZVD,KVGRIB,NLEN,'I',NPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVP: GRIB header decode failed',IERR) INTUVP = IERR GOTO 990 ENDIF C C If a rotation is required, check the input fields and call the C appropriate interpolation C IF( LUSEHIR.AND.LNOROTA ) THEN cs LWIND = .TRUE. cs LWINDSET = .TRUE. cs IF( (ISEC1(6).EQ.JPVORT).AND.(ISEC2(1).EQ.JPSPHERE) ) THEN csC csC Spectral vorticity/divergence to rotated U and V csC cs NLEN = INLEN cs NLENU = OUTLEN cs NLENV = OUTLEN cs IERR = INTUVPH(KVGRIB,KDGRIB,NLEN,KUGRIBO,KVGRIBO, cs X NLENU,NLENV) C cs ELSE IF( ((ISEC1(6).EQ.JP_U).OR.(ISEC1(6).EQ.JP_10U)).AND. cs IF( ((ISEC1(6).EQ.JP_U).OR.(ISEC1(6).EQ.JP_10U)).AND. IF( (ISEC1(6).EQ.JP_10U).AND. X (ISEC2(1).EQ.JPGAUSSIAN) ) THEN C C Gaussian U and V to rotated U and V C NLEN = INLEN NLENU = OUTLEN NLENV = OUTLEN IERR = INTUVGH(KVGRIB,KDGRIB,NLEN,KUGRIBO,KVGRIBO, X NLENU,NLENV) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVP: Rotation failed',IERR) GOTO 990 ENDIF INTUVP = IERR GOTO 900 C cs ELSE cs CALL INTLOG(JP_ERROR,'INTUVP: Invalid rotation',IERR) cs IERR = JPROUTINE + 1 ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 2. Unpack the vorticity/divergence fields. C -----------------------------------------------------------------| C 200 CONTINUE C C Get scratch memory for vorticity/divergence unpacked fields. C Vorticity/divergence memory areas are adjacent. C INRESO = ISEC2(2) ISZVD = (INRESO+1)*(INRESO+4) IPVORT = 1 IPDIV = IPVORT + ISZVD CALL JMEMHAN( JPSCR4, IVD, ISZVD*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Scratch memory type 4 allocation failed.',JPQUIET) INTUVP = IERR GOTO 990 ENDIF C C Decode vorticity and divegence. C NPARAM = JPVORT NLEN = INLEN IERR = INTUVDH(VD(IPVORT),ISZVD,KVGRIB,NLEN,'D',NPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVP: Vorticity decoding failed',IERR) INTUVP = IERR GOTO 990 ENDIF C NPARAM = JPDIVE NLEN = INLEN IERR = INTUVDH(VD(IPDIV),ISZVD,KDGRIB,NLEN,'D',NPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVP: Divergence decoding failed',IERR) INTUVP = IERR GOTO 990 ENDIF C C Setup interpolation options from input GRIB characteristics. C IHOLD = NIRESO IERR = RESET_C( ISEC1, ISEC2, ZSEC2, ISEC4) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Setup interp. options from GRIB failed.',JPQUIET) INTUVP = IERR GOTO 990 ENDIF IF( IHOLD.NE.0 ) NIRESO = IHOLD C C Check that no outrageous values given for interpolation C ISAME = INSANE() IF( ISAME.GT.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Interpolation cannot use given values.',JPQUIET) INTUVP = ISAME GOTO 990 ENDIF C C -----------------------------------------------------------------| C* Section 3. Convert spectral vorticity/divergence to spectral U/V C -----------------------------------------------------------------| C 300 CONTINUE C LSPECUV = (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) IF( LSPECUV ) THEN C C Spectral U and V for Tn are to be generated from vorticity C and divergence spectral T(n-1) C IF( LARESOL.AND.LNEWUV ) THEN IF( (NOGRID(1).NE.0).AND.(NOGRID(2).NE.0) ) THEN EW = FLOAT(NOGRID(1))/PPMULT NS = FLOAT(NOGRID(2))/PPMULT NTRUNC = AURESOL(NS,EW) - 1 ELSE IF( NOGAUSS.NE.0 ) THEN EW = 90.0/FLOAT(NOGAUSS) NS = EW NTRUNC = AURESOL(NS,EW) - 1 ELSE IF( LNORESO ) THEN NTRUNC = NORESO - 1 ELSE NTRUNC = INRESO - 1 ENDIF IF( NTRUNC.GT.(INRESO-1) ) NTRUNC = INRESO - 1 C ELSE IF( LNORESO ) THEN NTRUNC = NORESO - 1 ELSE NTRUNC = INRESO - 1 ENDIF C IF( LNEWUV ) THEN MTRUNC = NTRUNC + 1 ELSE NTRUNC = NTRUNC + 1 MTRUNC = NTRUNC ENDIF C C -----------------------------------------------------------------| C Use old-style processing if IGNORE_UV_EXTRA_MODE = Y C -----------------------------------------------------------------| C IF( .NOT.LNEWUV ) THEN C NIRESO = ISEC2(2) C CALL INTLOG(JP_DEBUG,'INTUVP: vo/div truncation = ', NIRESO) C C Get scratch memory for U and V spectral fields. C U and V memory areas are adjacent. C ISZUV = MAX((NIRESO+1)*(NIRESO+4),(NORESO+1)*(NORESO+4)) IP_U = 1 IP_V = IP_U + ISZUV C ISIZE = ISZUV*2 CALL JMEMHAN( JPSCR3, IUV, ISIZE, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Scratch memory type 3 allocation failed',JPQUIET) INTUVP = IERR GOTO 900 ENDIF C C Generate U and V with same truncation as input fields. C CALL INTLOG(JP_DEBUG, X 'INTUVP: Make intermediate U/V with truncation = ', NIRESO) CALL JVOD2UV(VD(IPVORT),VD(IPDIV),NIRESO, X UV(IP_U),UV(IP_V),NIRESO) C C Do spectral truncation for spectral output C IF( LNORESO ) THEN C CALL INTLOG(JP_DEBUG, X 'INTUVP: Make U/V spectral output with truncation',NORESO) C ISIZE = (NORESO+1)*(NORESO+4) CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Scratch memory type 5 allocn failed',JPQUIET) INTUVP = JPROUTINE + 4 GOTO 900 ENDIF C CALL SH2SH( UV(IP_U), NIRESO, ZNFLDO, NORESO ) DO LOOP = 1, (NORESO+1)*(NORESO+2) UV(IP_U+LOOP-1) = ZNFLDO(LOOP) ENDDO C CALL SH2SH( UV(IP_V), NIRESO, ZNFLDO, NORESO ) IP_V = 1 + (NORESO+1)*(NORESO+4) DO LOOP = 1, (NORESO+1)*(NORESO+2) UV(IP_V+LOOP-1) = ZNFLDO(LOOP) ENDDO C NIRESO = NORESO C ENDIF C C Set GRIBEX flag to force recalculation of complex packing C factor. C CALL GRSMKP(1) C C Code U into GRIB C NPARAM = JP_U NLENU = OUTLEN IERR = INTUVDH(UV(IP_U),ISZUV,KUGRIBO,NLENU,'C',NPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: U encoding into GRIB failed.',IERR) INTUVP = JPROUTINE + 4 GOTO 380 ENDIF C C Code V into GRIB C NPARAM = JP_V NLENV = OUTLEN IERR = INTUVDH(UV(IP_V),ISZUV,KVGRIBO,NLENV,'C',NPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: V encoding into GRIB failed.',IERR) INTUVP = JPROUTINE + 4 GOTO 380 ENDIF C 380 CONTINUE C C Turn off GRIBEX flag which forces recalculation of complex C packing factor C CALL GRSMKP(0) C GOTO 900 C C -----------------------------------------------------------------| C Use new-style processing if IGNORE_UV_EXTRA_MODE not set C -----------------------------------------------------------------| C ELSE C CALL INTLOG(JP_DEBUG,'INTUVP: vo/div truncation = ', NTRUNC) CALL INTLOG(JP_DEBUG,'INTUVP: U/V truncation = ', MTRUNC) C C Truncate vorticity and divergence to correspond to U/V C ISIZE = (MTRUNC+1)*(MTRUNC+4) CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Scratch memory type 5 allocation failed',JPQUIET) INTUVP = JPROUTINE + 4 GOTO 990 ENDIF C IPVORT = 1 IPDIV = IPVORT + (INRESO+1)*(INRESO+4) IDIVOFF = 1 + (NTRUNC+1)*(NTRUNC+4) C CALL SH2SH( VD(IPVORT), INRESO, ZNFLDO, NTRUNC ) C CALL SH2SH( VD(IPDIV), INRESO, ZNFLDO(IDIVOFF), NTRUNC ) C C Get scratch memory for U and V spectral fields. C U and V memory areas are adjacent. C ISZUV = (MTRUNC+1)*(MTRUNC+4) IP_U = 1 IP_V = IP_U + ISZUV C ISIZE = ISZUV*2 CALL JMEMHAN( JPSCR3, IUV, ISIZE, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Scratch memory type 3 allocation failed',JPQUIET) INTUVP = IERR GOTO 990 ENDIF C C Generate U and V spectral fields C CALL JVOD2UV(ZNFLDO(IPVORT),ZNFLDO(IDIVOFF),NTRUNC, X UV(IP_U),UV(IP_V),MTRUNC) C C Set GRIBEX flag to force recalculation of complex packing C factor. C Preserve the original output truncation C CALL GRSMKP(1) HNORESO = NORESO C C Code U into GRIB using the new truncation C NORESO = MTRUNC NPARAM = JP_U NLENU = OUTLEN IERR = INTUVDH(UV(IP_U),ISZUV,KUGRIBO,NLENU,'C',NPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: U encoding into GRIB failed.',IERR) INTUVP = JPROUTINE + 4 GOTO 390 ENDIF C C Code V into GRIB using the new truncation C NPARAM = JP_V NLENV = OUTLEN IERR = INTUVDH(UV(IP_V),ISZUV,KVGRIBO,NLENV,'C',NPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: V encoding into GRIB failed.',IERR) INTUVP = JPROUTINE + 4 GOTO 390 ENDIF C 390 CONTINUE C C Turn off GRIBEX flag which forces recalculation of complex C packing factor C Restore the original output truncation C CALL GRSMKP(0) NORESO = HNORESO C GOTO 900 ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 4. Generate grid point GRIB format U and V fields. C -----------------------------------------------------------------| C 400 CONTINUE C C Spectral U and V for Tn are to be generated from vorticity C and divergence spectral T(n-1) C C See whether or not the 'autoresol' flag is set. C If not, use the input truncation. C IF( LARESOL ) THEN IF( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN EW = FLOAT(NOGRID(1))/PPMULT NS = FLOAT(NOGRID(2))/PPMULT ELSE EW = 90.0/FLOAT(NOGAUSS) NS = EW ENDIF NTRUNC = AURESOL(EW,NS) IF( NTRUNC.NE.NTROLD ) THEN NTROLD = NTRUNC CALL INTLOG(JP_WARN, X 'INTUVP: Resolution automatically set to ', NTRUNC) ENDIF ELSE IF( LNORESO ) THEN NTRUNC = NORESO ELSE NTRUNC = INRESO ENDIF C C Check whether the output resolution is greater than the input C IF( NTRUNC.GT.INRESO ) THEN C C Issue warning if the output resolution was user-supplied C IF( .NOT.LARESOL ) THEN C C Revert to the input truncation C IF( INRESO.NE.NTROLD2 ) THEN CALL INTLOG(JP_WARN, X 'INTUVP: spectral -> grid point interpolation',JPQUIET) CALL INTLOG(JP_WARN, X 'INTUVP: User supplied resolution = ',NTRUNC) CALL INTLOG(JP_WARN, X 'INTUVP: Input field resolution = ',INRESO) CALL INTLOG(JP_WARN, X 'INTUVP: User supplied resolution ignored',JPQUIET) CALL INTLOG(JP_WARN, X 'INTUVP: Input field resolution has been used',JPQUIET) NTROLD2 = INRESO ENDIF NTRUNC = INRESO C ELSE C C Revert to the input truncation C NTRUNC = INRESO IF( NTRUNC.NE.NTROLD2 ) THEN NTROLD2 = NTRUNC CALL INTLOG(JP_WARN, X 'INTUVP: Auto-resolution selection too high',JPQUIET) CALL INTLOG(JP_WARN, X 'INTUVP: Resolution set to input resolution: ',NTRUNC) ENDIF ENDIF ENDIF C C IF extra mode is in use, adjust the calculated truncation. C MTRUNC = NTRUNC IF( LNEWUV ) NTRUNC = MTRUNC - 1 C CALL INTLOG(JP_DEBUG,'INTUVP: vo/div truncation = ', NTRUNC) CALL INTLOG(JP_DEBUG,'INTUVP: U/V truncation = ', MTRUNC) C ISIZE = (MTRUNC+1)*(MTRUNC+4) CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Scratch memory type 5 allocation failed.',JPQUIET) INTUVP = JPROUTINE + 4 GOTO 990 ENDIF C IPVORT = 1 IPDIV = 1 + (INRESO+1)*(INRESO+4) IDIVOFF = IPVORT + (NTRUNC+1)*(NTRUNC+4) C CALL SH2SH( VD(IPDIV), INRESO, ZNFLDO(IDIVOFF), NTRUNC ) C CALL SH2SH( VD(IPVORT), INRESO, ZNFLDO, NTRUNC ) C C Get scratch memory for U and V spectral fields. C U and V memory areas are adjacent. C ISZUV = (MTRUNC+1)*(MTRUNC+4) IP_U = 1 IP_V = IP_U + ISZUV C ISIZE = ISZUV*2 CALL JMEMHAN( JPSCR3, IUV, ISIZE, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Scratch memory type 3 allocation failed.',JPQUIET) INTUVP = IERR GOTO 990 ENDIF C C Generate U and V spectral fields C CALL JVOD2UV(ZNFLDO(IPVORT),ZNFLDO(IDIVOFF),NTRUNC, X UV(IP_U),UV(IP_V),MTRUNC) C LSTYLE = LNOSTYLE.AND. X (NOSTYLE.EQ.JPSDISM).AND. X (NOREPR.EQ.JPREGULAR) C IF( LSTYLE ) THEN EW = NOGRID(1) / PPMULT NS = NOGRID(2) / PPMULT NORTH = REAL(NOAREA(1)) / PPMULT WEST = REAL(NOAREA(2)) / PPMULT SOUTH = REAL(NOAREA(3)) / PPMULT EAST = REAL(NOAREA(4)) / PPMULT C IERR = DSSAREA( EW, NS, NORTH, WEST, SOUTH, EAST) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVP: DSSAREA failed:',IERR) INTUVP = JPROUTINE + 9 GOTO 900 ENDIF C NOAREA(1) = NINT(NORTH * PPMULT) NOAREA(2) = NINT(WEST * PPMULT) NOAREA(3) = NINT(SOUTH * PPMULT) NOAREA(4) = NINT(EAST * PPMULT) ELSE C Fixup area definition to correspond to grid definitions IERR = FIXAREA() IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Fixup area definition failed.',JPQUIET) INTUVP = IERR GOTO 900 ENDIF ENDIF cs IERR = FIXAREA() cs IF( IERR.NE.0 ) THEN cs CALL INTLOG(JP_ERROR,'INTUVP: Fixarea failed.',JPQUIET) cs INTUVP = IERR cs GOTO 990 cs ENDIF C C Get scratch space for interpolation ISIZE = ISCRSZ()*2 IF( ISIZE.LE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVP: Get scratch space failed.',ISIZE) INTUVP = JPROUTINE + 5 GOTO 990 ENDIF CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Scratch memory(5) allocation failed.',JPQUIET) INTUVP = JPROUTINE + 5 GOTO 990 ENDIF C LWIND = .TRUE. LWINDSET = .TRUE. C C Interpolate U and V C NOLD = NIRESO NIRESO = MTRUNC NLENU = OUTLEN NLENV = OUTLEN IERR = INTUVXH(UV,ISZUV,ZNFLDO,KUGRIBO,KVGRIBO,NLENU,NLENV) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: U/V interpolation failed.',JPQUIET) INTUVP = JPROUTINE + 6 GOTO 990 ENDIF C NIRESO = NOLD C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C OUTLEN = NLENU C 990 CONTINUE C C Clear change flags for next product processing and reset wind flag C LCHANGE = .FALSE. LSMCHNG = .FALSE. LWINDSET = LOLDWIND LWIND = .FALSE. C RETURN END emoslib-000392+dfsg.1/interpolation/jjset99.F0000755000175000017500000001077212127406245021767 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JJSET99(TRIGS, IFAX, N, KRET) C C----> C**** JJSET99 C C PURPOSE C _______ C C Computes factors of N & sines and cosines required by FFT99 C and FFT991. C C INTERFACE C _________ C C CALL JJSET99(TRIGS, IFAX, N, KRET)) C C Input parameters C ________________ C C N - Number to factorise. C C Output parameters C ________________ C C TRIGS - Sines and cosines for angles 0 to pi in N steps C (sin,cos,sin,cos,...) C IFAX - Allowed factors of N from 8,6,5,4,3,2. C (Only one 8 allowed). C IFAX(1) = count of factors. C IFAX(2-9)= factor (or zero). C IFAX(10) = N. C KRET - 0 if factorised OK. C C Method C ______ C C Look for sixes first, store factors in order: 8,6,5,4,3,2; C then reverses the order for output. C C C Externals C _________ C C INTLOG - Log error messages. C C C Reference C _________ C C None. C C C Comments C ________ C C This is a tidy up, based on set99.F C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Nov 1996 C C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C C IMPLICIT NONE #include "jparams.h" #include "parim.h" C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31500 ) C C Subroutine arguments REAL TRIGS INTEGER IFAX, N, KRET DIMENSION TRIGS(N), IFAX(10) C C Local variables INTEGER JFAX, LFAX, LOOP, NIL, NHL, NU, I, K, L, IFAC, NFAX DIMENSION LFAX(7), JFAX(10) DATA LFAX/6,8,5,4,3,2,1/ REAL DEL, ANGLE C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C DO LOOP = 1, 10 JFAX(LOOP) = 0 ENDDO C KRET = 0 C C Generate sines and cosines for angles 0 to pi in N steps C DEL = (2.0*PPI) / FLOAT(N) NIL = 0 NHL = (N/2)-1 C DO K = NIL,NHL ANGLE = FLOAT(K)*DEL TRIGS(2*K+1) = COS(ANGLE) TRIGS(2*K+2) = SIN(ANGLE) ENDDO C C _______________________________________________________ C C Section 2. Find allowed factors of N C (8,6,5,4,3,2; only one 8 allowed) C _______________________________________________________ C 200 CONTINUE C C Look for sixes first, store factors in order: 8,6,5,4,3,2 C NU = N IFAC = 6 K = 0 L = 1 C C Loop through potential factors. C 220 CONTINUE C IF (MOD(NU,IFAC).EQ.0) THEN C C Allowed factor found K = K+1 C IF( K.GT.8) THEN CALL INTLOG(JP_ERROR,'Too many factors found factorising ',N) KRET = JPROUTINE + 1 GOTO 910 ENDIF C JFAX(K) = IFAC C C If factor is 8 .. IF (IFAC.EQ.8) THEN C C Swap 8 into first array slot instead of 6 if 6 already found IF (K.NE.1) THEN JFAX(1) = 8 JFAX(K) = 6 ENDIF ENDIF C C Factor found NU = NU/IFAC C C Exit if all factors of N have been found IF (NU.EQ.1) GOTO 900 C C Only one 8 allowed as a factor IF (IFAC.NE.8) GOTO 220 ENDIF C C Pick up next allowed factor. L = L+1 IFAC = LFAX(L) IF (IFAC.GT.1) GOTO 220 C C Problem! All allowed factors tried but some factors still left. C CALL INTLOG(JP_ERROR,'Illegal factors found factorising ',N) KRET = JPROUTINE + 2 GOTO 910 C _______________________________________________________ C C Section 9. All factors found. C _______________________________________________________ C 900 CONTINUE C C Store the factors in the reverse order in the output array. C NFAX = K IFAX(1) = NFAX DO I = 1,NFAX IFAX(NFAX+2-I) = JFAX(I) ENDDO C IFAX(10) = N C 910 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/smread.c0000755000175000017500000001334212127406245021772 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #include #include #include #include "sharedmemory.h" #include "fortdefs.h" int sharedMemoryCharacteristics( int, int , float , int * , size_t * , key_t * ); void createSharedMemoryCoefficients( fortint , fortint , fortreal , fortint , key_t , size_t ); int debugSet = 0; static char * debugLevel; fortint SMREAD( fortreal ** fortranArrayPointer, /* to be attached to shared memory */ fortint * Type, /* SP2LL, SP2QG, .. */ fortint * Truncation, /* spectral truncation */ fortreal * Grid) /* grid spacing or gaussian number */ /* // Callable from Fortran. // */ /* C C----> C**** SMREAD C C Purpose C ------- C C This routine gets interpolation coefficients in a shared memory array. C C C Interface C --------- C C ISIZE = SMREAD(KARRAY,KTYPE,KTRUNC,GRID) C C C Input parameters C ---------------- C C KTYPE - Type of spectral to grid transformation (SP2LL, SP2QG, ..) C KTRUNC - Spectral truncation (eg 511 for T511) C GRID - longitude grid spacing (for lat/long) or gaussian number C C C Output parameters C ----------------- C C KARRAY - Pointer to a shared memory array of REALs C C Function returns the size (in values) of the shared memory array C C C Common block usage C ------------------ C C None. C C C Method C ------ C C Looks for coefficients in shared memory. C Waits on semaphore for coefficients to become available. C C C Externals C --------- C C sharedMemoryCharacteristics - to get key and size for shared memory C createSharedMemoryCoefficients - creates coefficients if necessary C C C Reference C --------- C C None. C C C Comments C -------- C C Environment variable SHARED_DEBUG can be set (1, 2, ..) to give C diagnostic printout. C C C Author C ------ C C J.D.Chambers ECMWF January 2002 C C C Modifications C ------------- C C None. C C----< C */ { int type = (int) *Type; int truncation = (int) *Truncation; float grid = (float) *Grid; key_t memoryKey; size_t size; int shmflg, shmid; char * shmaddr; int status, i; fortint numberOfValues = 0; char mode[] = "00666"; int value, semaphoreId, numlat, returnCode; union semun { int val; struct semid_ds *buf; ushort *array; } semvalues; fortint Numlat; struct sembuf bufs[1]; /* // See if DEBUG switched on. */ if( ! debugSet ) { debugLevel = getenv("SHARED_DEBUG"); if( debugLevel == NULL ) debugSet = DEBUGOFF; /* off */ else { int loop; for( loop = 0; loop < strlen(debugLevel) ; loop++ ) { if( ! isdigit(debugLevel[loop]) ) { printf("Invalid number string in SHARED_DEBUG: %s\n", debugLevel); printf("SHARED_DEBUG must comprise only digits [0-9].\n"); debugSet = DEBUGOFF; } } debugSet = DEBUGOFF + atoi( debugLevel ); } if( DEBUG ) printf("SHARED_DEBUG: debug switched on\n"); } /* // Get key and size for shared memory (whole globe) */ if( DEBUG ) { printf("SMREAD: type = %d\n",type); printf("SMREAD: truncation = %d\n",truncation); printf("SMREAD: grid = %f\n",grid); } status = sharedMemoryCharacteristics( type, truncation, grid, &numlat, &size, &memoryKey); if( status ) { if( DEBUG ) printf("SMREAD: sharedMemoryCharacteristics call failed\n"); return (fortint) 0; } Numlat = numlat; /* // Wait for the shared memory array to become available */ if( DEBUG ) printf("SMREAD: call createSharedMemoryCoefficients with numlat = %d\n", numlat); createSharedMemoryCoefficients(*Type,*Truncation,*Grid,Numlat,memoryKey,size); bufs[0].sem_num = 0; bufs[0].sem_op = -READY_TO_READ; bufs[0].sem_flg = 0; semaphoreId = (int) memoryKey; if( DEBUG ) printf("SMREAD: wait for shared memory semaphore id %0x\n", semaphoreId); status = semop(semaphoreId,bufs,1); /* // Locate shared segment */ if( DEBUG ) printf("SMREAD: locate shared memory\n"); shmflg = 0666; shmid = shmget( memoryKey, (size_t)size, shmflg); if ( shmid < 0 ) { perror("shmget error"); return (fortint) 0; } /* // Attach the shared segment to the array pointer */ if( DEBUG ) printf("SMREAD: attach shared memory to array\n"); shmaddr = (char *) NULL; shmflg = 0; *fortranArrayPointer = (fortreal *) shmat( shmid, shmaddr, shmflg); if ( *fortranArrayPointer == (fortreal *) -1 ) { perror("shmat error"); return (fortint) 0; } /* // Set semaphore value to make memory readable for other readers */ if( DEBUG ) printf("SMREAD: set semaphore to make memory readable\n"); semvalues.val = READY_TO_READ; value = semctl((int)semaphoreId, (int)0, (int)SETVAL,semvalues); /* // Return the size (in values) of the shared segment */ numberOfValues = (fortint) size/sizeof(fortreal); if( DEBUG ) printf("SMREAD: number of values in shared memory = %d\n", numberOfValues); return numberOfValues; } emoslib-000392+dfsg.1/interpolation/mkbitmp.F0000755000175000017500000001123012127406245022117 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION MKBITMP(KWE,KNS,ZSEC4,ZMISS) C C----> C**** MKBITMP C C Purpose C ------- C C Remove points using a bitmap. C C C Interface C --------- C C CALL MKBITMP(KWE,KNS,ZSEC4,ZMISS) C C Input C ----- C C KWE - Number of points west-east in input field. C KNS - Number of points north-south in input field. C ZSEC4 - GRIBEX section 4 values in the field. C ZMISS - Value to be used as the missing data value.. C C C Output C ------ C C ZSEC4 - GRIBEX section 4 values with the points marked as C 'missing' by the bitmap replaced by missing data values. C C Function returns 0 if all OK. C C C Method C ------ C C The field and bitmap are rectangular. C Use NOBITMP, the name of a file describing the bitmap. C C C Externals C --------- C C INTLOG - Log error message. C INTLOGR - Log error message. C MAKEMAP - Build a bitmap from definition in a file. C GMAPBIT - Get the bit value from a given position in a bitmap. C JFREE - Frees dynamically allocated memory. C C C Author C ------ C C J.D.Chambers ECMWF April 2000. C C----< C IMPLICIT NONE C C Subroutine arguments C INTEGER KWE,KNS REAL ZSEC4(*), ZMISS C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 44000 ) C C Local variables C INTEGER IRET,BITMAP,NROWS,NCOLS,NVALUE,NEXT,IROW,ICOL,NINDEX INTEGER OLDROWS, OLDCOLS, LOOP CHARACTER*256 OLDFILE DATA OLDFILE/' '/, BITMAP/-1/ SAVE BITMAP,OLDROWS,OLDCOLS,OLDFILE C C Externals C INTEGER MAKEMAP, GMAPBIT, JINDEX EXTERNAL MAKEMAP, GMAPBIT, JINDEX C #include "parim.h" #include "jparams.h" #include "nofld.common" C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C MKBITMP = 0 C C Only build bitmap if filename has changed since last time through C NINDEX = JINDEX(NOBITMP) IF( NINDEX.LT.1 ) THEN CALL INTLOG(JP_WARN,'MKBITMP: No bitmap name given',JPQUIET) CALL INTLOG(JP_WARN,'MKBITMP: BITMAP NOT APPLIED',JPQUIET) MKBITMP = JPROUTINE + 1 GOTO 900 ENDIF C IF( OLDFILE(1:NINDEX).NE.NOBITMP(1:NINDEX) ) THEN OLDFILE(1:NINDEX) = NOBITMP(1:NINDEX) IF( NDBG.NE.0 ) X CALL INTLOG(JP_DEBUG, X 'MKBITMP: New BITMAP: '//OLDFILE(1:NINDEX),JPQUIET) C IF( BITMAP.NE.-1 ) CALL JFREE(BITMAP) C IRET = MAKEMAP(NOBITMP,NROWS,NCOLS,BITMAP) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_WARN,'MKBITMP: Failed to make bitmap',IRET) CALL INTLOG(JP_WARN,'MKBITMP: BITMAP NOT APPLIED',JPQUIET) DO LOOP = 1, 256 OLDFILE(LOOP:LOOP) = ' ' ENDDO MKBITMP = JPROUTINE + 2 GOTO 900 ENDIF OLDROWS = NROWS OLDCOLS = NCOLS ELSE NROWS = OLDROWS NCOLS = OLDCOLS ENDIF C IF( (NROWS.NE.KNS).OR.(NCOLS.NE.KWE) ) THEN CALL INTLOG(JP_WARN,'MKBITMP: Bitmap invalid for area',JPQUIET) CALL INTLOG(JP_WARN,'MKBITMP: No. of subarea rows = ',KNS) CALL INTLOG(JP_WARN,'MKBITMP: No. of subarea columns = ',KWE) CALL INTLOG(JP_WARN,'MKBITMP: No. of bitmap rows = ',NROWS) CALL INTLOG(JP_WARN,'MKBITMP: No. of bitmap columns = ',NCOLS) CALL INTLOG(JP_WARN,'MKBITMP: BITMAP NOT APPLIED',JPQUIET) MKBITMP = JPROUTINE + 3 GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 2. Use bitmap to force missing values C -----------------------------------------------------------------| C 200 CONTINUE C IF( NDBG.NE.0 ) X CALL INTLOG(JP_DEBUG,'MKBITMP: BITMAP applied',JPQUIET) C NEXT = 0 DO IROW = 1, KNS DO ICOL = 1, KWE NEXT = NEXT + 1 NVALUE = GMAPBIT(BITMAP,NCOLS,IROW,ICOL) IF( NVALUE.EQ.0 ) ZSEC4(NEXT) = ZMISS ENDDO ENDDO C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/sources.hppa0000755000175000017500000001013112127406245022701 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = \ jjset99.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/wv2dxx2.F0000755000175000017500000002325512127406245022012 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WV2DXX2(KNSPEC, NUMLATS, NPTS, X NLATS, STEPNS, STEPWE, X OLDWAVE, NEWWAVE, X NORTH,WEST,PMISS) C C----> C*****WV2DXX2* C C PURPOSE C ------- C C Interpolates 2D wave spectra fields. C C C INTERFACE C --------- C C IRET = WV2DXX2(KNSPEC, NUMLATS, NPTS, C X NLATS,STEPNS,STEPWE, C X OLDWAVE,NEWWAVE, C X NORTH,WEST,PMISS) C C Input arguments C --------------- C C KNSPEC - Number of 2D spectra values at each wave point C NUMLATS - Input lat number north-south C NPTS - Array giving number of points along each latitude C for Input field (empty latitudes have entry 0) C NLATS - Number of points N-S in new grid C STEPNS - Output grid north-south resolution (degrees) C STEPWE - Output grid west-east resolution (degrees) C OLDWAVE - Original wave field C NORTH - Output grid northernmost latitude (degrees) C WEST - Output grid westernmost longitude (degrees) C PMISS - Missing data value C C Output arguments C ---------------- C C NEWWAVE - New wave field C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C Builds the index of nearest neighbour points for the output grid. C Then works through the output grid points, checking for subarea C boundaries and looking up nearset neighbour 2D spectra values C (which may be missing data). C C C EXTERNALS C --------- C C WV2DIDX - builds the index of nearest neighbour points C NUMPTWE - Calculates number of grid points between west/east C area boundaries C VALPINA - Looks up bitmap value C ONEBITS - Counts number of 1s in a GRIB section 3 bitmap C NUMVALS - Counts the values in the secondary bitmap. C SOFFSET - Finds the section offsets in GRIB message C INTLOG - Log error message C C C REFERENCE C --------- C C None. C C C Author. C ------- C C S. Curic ECMWF Jun 2009 C C Handle parameter 251 as a simple form of wave 2D spectra. C (A field containing one direction and one frequency). C C C----< C IMPLICIT NONE C C Subroutine arguments C INTEGER NPTS,NLATS DIMENSION NPTS(*) REAL STEPNS, STEPWE, OLDWAVE, NEWWAVE, NORTH, WEST, PMISS DIMENSION OLDWAVE(*), NEWWAVE(*) INTEGER NEWIDX DIMENSION NEWIDX(2880*1442) INTEGER NUMLATS, KNSPEC C C Parameters C INTEGER JPROUTINE, JPMXLAT, JPNSPEC PARAMETER (JPROUTINE = 40000) PARAMETER (JPMXLAT = 1801) PARAMETER (JPNSPEC = 600) C C Local arguments C INTEGER IEOFSET, IWOFSET, ISTART, IWEST REAL SOUTH, EAST, PTLAT, PTLONG, AWEST, OLDWEST, OLDEAST REAL REFVAL, SCALE INTEGER NPDATA, INSPT, NEXP, NMANT, NRETA, NRETB, NLENG, NBIT INTEGER NVALS INTEGER ISCALE, NSCALE, IBITS, ITEMP, NPBTMP2, IBITMAP, NUNUSED DIMENSION IBITMAP(JPNSPEC) INTEGER IRET, IEDITN INTEGER NEXT, NEXTWV, NROW, NCOL, INDEX, ILOCATE INTEGER MISSLAT, LOOP, NUMNEW INTEGER KOLDNUM, KNEWNUM DIMENSION NUMNEW(JPMXLAT) REAL RLATINC, OLDLATS, NEWLATS, ROWINC REAL ONORTH, OSOUTH DIMENSION OLDLATS(JPMXLAT), NEWLATS(JPMXLAT) C C Externals C INTEGER WV2DIDX, NUMVALS, ONEBITS, NUMPTWE EXTERNAL WV2DIDX,NUMVALS, ONEBITS, NUMPTWE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WV2DXX2 = 0 C C Initialise the bitmap value lookup function and function C which counts the values in the secondary bitmap. C IRET = NUMVALS(0,0,0) C C Check only new-style 2D wave spectra (parameter 251) C IF( KNSPEC.GT.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXX2: Only single-value 2D spectra field allowed',JPQUIET) CALL INTLOG(JP_ERROR, X 'WV2XX2: Value given = ',KNSPEC) WV2DXX2 = JPROUTINE + 1 GOTO 900 ENDIF C C Calculate number of latitudes if grid had been full from C North pole to South pole C IF( NUMLATS.GT.JPMXLAT ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXX2: Number of latitudes in input grid = ',NUMLATS) CALL INTLOG(JP_ERROR, X 'WV2DXX2: And is greater than allowed maximum = ',JPMXLAT) WV2DXX2 = JPROUTINE + 2 GOTO 900 ENDIF ONORTH = FLOAT(NIAREA(1))/PPMULT OSOUTH = FLOAT(NIAREA(3))/PPMULT RLATINC = FLOAT(NIGRID(2))/PPMULT DO LOOP = 1, NUMLATS OLDLATS(LOOP) = 90.0 - (LOOP-1)*RLATINC ENDDO C C Fill an array with the number of points at each latitude for the C input field (this is a reduced latitude/longitude grid) C MISSLAT = (90.0 - ONORTH)/RLATINC KOLDNUM = 1 + (90.0 - OSOUTH)/RLATINC IF( NIREPR.NE.JPREDLL ) THEN DO LOOP = 1, MISSLAT NPTS(LOOP) = 0 ENDDO DO LOOP = 1, (KOLDNUM-MISSLAT) NPTS(LOOP+MISSLAT) = NIWE ENDDO DO LOOP = (KOLDNUM+1), NUMLATS NPTS(LOOP) = 0 ENDDO ENDIF C C --------------------------------------------------------------------- C* Section 2. Setup number of points at each latitude for the C output latitude/longitude field. C --------------------------------------------------------------------- C 200 CONTINUE C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN) ) THEN C C Reduced (quasi-regular) gaussian output C KNEWNUM = NOGAUSS*2 DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROGAUSS(LOOP) ENDDO C ELSE IF( NOREPR.EQ.JPREDLL ) THEN C C Reduced (quasi-regular) lat/long output C KNEWNUM = NOREDLL DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROREDLL(LOOP) ENDDO C ELSE C C Regular output C MISSLAT = NINT((90.0 - NORTH)/STEPNS) DO LOOP = 1, MISSLAT NUMNEW(LOOP) = 0 ENDDO DO LOOP = 1, NLATS NUMNEW(LOOP+MISSLAT) = NINT(360.0/STEPWE) ENDDO C KNEWNUM = MISSLAT + NLATS DO LOOP = 1, KNEWNUM NEWLATS(LOOP) = 90.0 - (LOOP-1)*STEPNS ENDDO C ENDIF C C --------------------------------------------------------------------- C* Section 3. Get the input GRIB field characteristics. C --------------------------------------------------------------------- C 300 CONTINUE C C Calculate the indices of the input grid points to be used for C the output points C OLDWEST = FLOAT(NIAREA(2))/PPMULT OLDEAST = FLOAT(NIAREA(4))/PPMULT WV2DXX2 = WV2DIDX(NUMLATS,NPTS,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM, NUMNEW, NEWLATS, NEWIDX) IF( WV2DXX2.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DXX2: Unable to calculate output grid indices',JPQUIET) WV2DXX2 = JPROUTINE + 3 GOTO 900 ENDIF C C C --------------------------------------------------------------------- C* Section 4. Work through the output subarea. C --------------------------------------------------------------------- C 400 CONTINUE C C Fill in the wave spectra values C NEXT = 0 NEXTWV = 0 C SOUTH = NOAREA(3)/PPMULT EAST = NOAREA(4)/PPMULT ISTART = 0 C C Work down through latitudes from north to south. C DO NROW = 1, KNEWNUM C C If inside north-south (subarea) boundaries .. C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPQUASI) ) THEN PTLAT = ROGAUSS(NROW) ELSE PTLAT = 90.0 - (NROW-1)*STEPNS ENDIF C IF( (PTLAT.LE.NORTH).AND.(ABS(PTLAT-SOUTH).GT.-0.0005) ) THEN C C Calculate number of points between west boundary of area and C Greenwich C ROWINC = 360.0/NUMNEW(NROW) C IWEST = INT(WEST/ROWINC) IF( (WEST.GT.0.0).AND.(WEST.NE.(IWEST*ROWINC)) ) X IWEST = IWEST + 1 AWEST = IWEST * ROWINC IWOFSET = NUMPTWE(AWEST,0.0,ROWINC) IEOFSET = NUMPTWE(AWEST,EAST,ROWINC) C C Work through subarea longitudes from west to east. C DO NCOL = 1, NUMNEW(NROW) PTLONG = AWEST + (NCOL-1)*ROWINC NEXT = NUMPTWE(AWEST,PTLONG,ROWINC) IF( (NEXT.LE.IEOFSET).AND.(NEXT.GE.0) ) THEN C C .. and inside west-east (subarea) boundaries C NEXT = 1 + NEXT - IWOFSET IF( NEXT.LE.0) NEXT = NEXT + NUMNEW(NROW) NEXT = NEXT + ISTART INDEX = NEWIDX(NEXT) NEXTWV = NEXTWV + 1 IF( OLDWAVE(INDEX).EQ.PMISS.OR.INDEX.EQ.0) THEN C C Nearest neighbour is a 'missing' point C NEWWAVE(NEXTWV) = PMISS ELSE NEWWAVE(NEXTWV) = OLDWAVE(INDEX) ENDIF ENDIF ENDDO C ENDIF ISTART = ISTART + NUMNEW(NROW) ENDDO C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/eulavgg.F0000755000175000017500000001035312127406245022113 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE EULAVGG(NEWFLD, NEXT, INROW, RLAT, RLON, X POLELAT, POLELON, FIELD, NGAUSS, TYPE) C C----> C**** EULAVGG C C PURPOSE C _______ C C Generates values along a latitude in a rotated gaussian grid. C (reverses the operations carried out by GGVALUE). C C INTERFACE C _________ C C CALL EULAVGG(NEWFLD, NEXT, INROW, RLAT, RLON, C X POLELAT, POLELON, FIELD, NGAUSS, TYPE) C C C Input parameters C ________________ C C NEWFLD - the field of values being created C NEXT - start offset of the latitude row being created C INROW - the number of points in the latitude row C RLAT = target point latitude in the rotated grid C RLON = target point longitude in the rotated grid C POLELAT = latitude of the rotated South Pole C POLELON = longitude of the rotated South Pole C FIELD = original unrotated gaussian field values C NGAUSS = original unrotated gaussian field number C TYPE = original unrotated gaussian field type C = 'F' for full (regular) gaussian field C = 'R' for reduced (quasi) gaussian field C C Output parameters C ________________ C C NEWFLD(NEXT) to NEWFLD(NEXT+INROW-1) contains the latitude row C values. C C C METHOD C ______ C C Rotates the lat/long positions of points along the latitude row C in a rotated gaussian grid back to positions in the unrotated grid C and then interpolates vsalue from the original grid. C C C EXTERNALS C _________ C C LL2XYZ - Converts a latitude/longitude position to (x,y,z) C wrt axes through the centre of the globe. The z-axis C runs from the south to north pole. The x- and y-axes C are in the plane of the equator with the x-axis C pointing out through lat/long (0,0). C YROTATE - Rotates the globe about the y-axis. C XYZ2LL - Converts an (x,y,z) position to a latitude/longitude. C GGINTRP - Interpolates a value from an existing grid. C C C REFERENCE C _________ C C None C C C COMMENTS C ________ C C The input field is assumed to be global in extent, and a known C definition, either N160 or N80 (reduced or regular). C C C AUTHOR C ______ C C J.D.Chambers ECMWF April 1996 C C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C C Function arguments REAL NEWFLD, RLAT, RLON, POLELAT, POLELON, FIELD DIMENSION NEWFLD(*), RLON(*), FIELD(*) INTEGER NEXT, INROW, NGAUSS CHARACTER*1 TYPE C C Parameters INTEGER JPMAXGG PARAMETER( JPMAXGG = 1280 ) C C Local variables REAL X(JPMAXGG), Y(JPMAXGG), Z(JPMAXGG) REAL RX(JPMAXGG),RY(JPMAXGG),RZ(JPMAXGG) REAL OLAT(JPMAXGG),OLON(JPMAXGG) INTEGER LOOP C C Adjust the target row points longitude to add back the longitude C rotation DO LOOP = 1, INROW OLON(LOOP) = RLON(LOOP) - POLELON IF( OLON(LOOP).LT.0.0 ) OLON(LOOP) = OLON(LOOP) + 360.0 IF( OLON(LOOP).GE.360.0 ) OLON(LOOP) = OLON(LOOP) - 360.0 ENDDO C C Convert the target row points lat/long to (x,y,z) coordinates CALL LL2XYZ(RLAT,OLON,X,Y,Z,INROW) C C Rotate the target row points forward through the original latitude C rotation CALL YROTATE((90.0+POLELAT),X,Y,Z,RX,RY,RZ,INROW) C C Convert the target row points adjusted (x,y,z) coordinates to C lat/long in the original grid (after longitude rotation) CALL XYZ2LL(RX,RY,RZ,OLAT,OLON,INROW) C C Interpolate the rotated grid to the target row points CALL GGINTRP(NEWFLD,NEXT,INROW,OLAT,OLON,FIELD,NGAUSS,TYPE) C RETURN END emoslib-000392+dfsg.1/interpolation/intwave.F0000755000175000017500000003620512127406245022142 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTWAVE(INGRIB,INLEN,OUTGRIB,OUTLEN) C C----> C**** INTWAVE C C Purpose C ------- C C Interpolate an ECMWF wave field wave field or a reduced C latitude-longitude field C C C Interface C --------- C C IRET = INTWAVE(INGRIB,INLEN,OUTGRIB,OUTLEN) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C C C Output C ------ C C OUTGRIB - Output field (packed). C OUTLEN - Output field length (words). C C C Method C ------ C C Call interpolation routine; then repack into GRIB format. C C C Externals C --------- C C FIXAREA - Fixup area definition to correspond to grid definitions C GRIBEX - Decode/encode GRIB product. C JMEMHAN - Handles memory allocation. C JDEBUG - Checks environment to switch on/off debug C INTLOG - Log error message. C WAVEXXX - Interpolate wave fields (except 2D spectra) C WV2DXXX - Interpolate wave 2D spectra fields C MKFRAME - Create a 'frame' from a rectangular field C MKBITMP - Apply a bitmap to a rectangular field C C C Author C ------ C C J.D.Chambers ECMWF Sep 1996 C C C Modifications C ------------- C C J.D.Chambers ECMWF Nov 1966 C Add interpolation of 2D spectra. C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.D.Chambers ECMWF April 2004 C Handle reduced lat-long fields C C S.Curic ECMWF April 2005 C Add support for frame and bitmap C C----< C IMPLICIT NONE C C Function arguments INTEGER INGRIB(*),OUTGRIB(*),INLEN,OUTLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "intf.h" #include "grfixed.h" #include "jparams.h" C C Parameters INTEGER JPROUTINE, JP2DSP, JP2DSPQ, JPMAXLT PARAMETER (JPROUTINE = 40200 ) PARAMETER (JP2DSP = 250 ) C ^---- parameter number for 2D wave spectra (whole) PARAMETER (JP2DSPQ = 251 ) C ^---- parameter number for 2D wave spectra (single) PARAMETER (JPMAXLT = 361 ) C C Local variables C CHARACTER*1 HFUNC REAL ZMISS DATA ZMISS/-9999999.0/ INTEGER IWORD, IRET, ISIZE, NSPEC, LAT1, LOOP, IERR INTEGER KNUM, NUM_E_W, NUM_N_S, NFULLNS, NFULLEW REAL GRIDWE, GRIDNS, NORTH, SOUTH, WEST, EAST INTEGER NUMPTS DIMENSION NUMPTS(JPMAXLT) #ifdef POINTER_64 INTEGER*8 INEWAVE, IDISTNW, IZ2DSP, INEWIDX #endif REAL NEWAVE POINTER ( INEWAVE, NEWAVE ) DIMENSION NEWAVE( 1 ) REAL*4 DISTNEW POINTER ( IDISTNW, DISTNEW ) DIMENSION DISTNEW( 1 ) REAL Z2DSP POINTER ( IZ2DSP, Z2DSP ) DIMENSION Z2DSP( 1 ) INTEGER NEWIDX POINTER ( INEWIDX, NEWIDX ) DIMENSION NEWIDX( 1 ) REAL RNLAT, RSLAT, STEP INTEGER NUMTABL, NUMPROD LOGICAL LCOEFFS, L98WAVE, LFRAME, LBITMP LOGICAL LDEBUG C C Externals INTEGER WAVEXXX, WV2DXXX, AREACHK, FIXAREA INTEGER NUMPTNS, NUMPTWE, JNORSGG, MKBITMP C C ------------------------------------------------------------------ C Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C INTWAVE = 0 C LCOEFFS = .FALSE. C C Check if debug option turned on CALL JDEBUG() LDEBUG = NDBG.GT.0 C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_WARN,'INTWAVE: ZNFELDI allocate fail',JPQUIET) INTWAVE= IRET GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C Unpack GRIB message headers (using ZMISS as missing data value). C IRET = 1 ISEC3(2) = NINT(ZMISS) ZSEC3(2) = ZMISS CALL GRIBEX (ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, X ZNFELDI,JPEXPAND,INGRIB,INLEN,IWORD,'J',IRET) IF( (IRET.NE.0).AND.(IRET.NE.811) ) THEN CALL INTLOG(JP_ERROR,'INTWAVE: GRIBEX decoding failed.',JPQUIET) INTWAVE = JPROUTINE + 1 GOTO 900 ENDIF C C Check that the field can be handled C NUMTABL = ISEC1(2)*1000 + ISEC1(1) NUMPROD = NUMTABL*1000 + ISEC1(6) L98WAVE = (NUMTABL.EQ.98140).OR. X (NUMPROD.EQ.98131229).OR. X (NUMPROD.EQ.98131232).OR. X (NIREPR.EQ.26) IF( .NOT.L98WAVE ) THEN CALL INTLOG(JP_WARN,'INTWAVE: Not an ECMWF wave field',JPQUIET) INTWAVE = JPROUTINE + 2 GOTO 900 ENDIF IF( ISEC2(1).NE.0 ) THEN CALL INTLOG(JP_WARN, X 'INTWAVE: Not a lat/long field',JPQUIET) INTWAVE = JPROUTINE + 3 GOTO 900 ENDIF IF( (ISEC2(6).NE.128) .OR. (ISEC2(10).LT.10) ) THEN CALL INTLOG(JP_ERROR, X 'INTWAVE: Cannot handle longitude increment',ISEC2(10)) INTWAVE = JPROUTINE + 4 GOTO 900 ENDIF C C ------------------------------------------------------------------ C Section 2. Sort out interpolation area. C ------------------------------------------------------------------ C 200 CONTINUE C NSPEC = 1 KNUM = ISEC2(3) C C Adjust (sub-)area limits to suit the grid C IRET = FIXAREA() IF ( IRET .NE. 0 ) THEN CALL INTLOG(JP_ERROR, 'INTWAVE: FIXAREA failed.',JPQUIET) INTWAVE = JPROUTINE + 5 GOTO 900 ENDIF NORTH = FLOAT(NOAREA(1))/PPMULT WEST = FLOAT(NOAREA(2))/PPMULT SOUTH = FLOAT(NOAREA(3))/PPMULT EAST = FLOAT(NOAREA(4))/PPMULT C C Calculate the number of points E-W and N-S in new grid area C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN)) THEN GRIDWE = NOGAUSS GRIDNS = 0 ELSE IF( NOREPR.EQ.JPREDLL ) THEN GRIDWE = 360.0/NOLPTS((NOREDLL/2)+1) GRIDNS = FLOAT(NOGRID(2))/PPMULT ELSE GRIDWE = FLOAT(NOGRID(1))/PPMULT GRIDNS = FLOAT(NOGRID(2))/PPMULT ENDIF C IRET = AREACHK(GRIDWE,GRIDNS,NORTH,WEST,SOUTH,EAST) IF( IRET.NE.0 ) THEN INTWAVE = JPROUTINE + 6 GOTO 900 ENDIF NOAREA(1) = NINT(NORTH*PPMULT) NOAREA(2) = NINT(WEST*PPMULT) NOAREA(3) = NINT(SOUTH*PPMULT) NOAREA(4) = NINT(EAST*PPMULT) C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN)) THEN GRIDWE = 360.0/NOLPTS(NOGAUSS) NUM_E_W = NUMPTWE(WEST,EAST,GRIDWE) NFULLEW = NUMPTWE(0.0,360.0,GRIDWE) - 1 NUM_N_S = JNORSGG(SOUTH,ROGAUSS,NOGAUSS,1) - X JNORSGG(NORTH,ROGAUSS,NOGAUSS,0) + 1 NFULLNS = NOGAUSS*2 ELSE IF( NOREPR.EQ.JPREDLL ) THEN NUM_E_W = NUMPTWE(WEST,EAST,GRIDWE) NFULLEW = NUMPTWE(0.0,360.0,GRIDWE) - 1 NUM_N_S = NUMPTNS(NORTH,SOUTH,GRIDNS) NFULLNS = NOREDLL ELSE NUM_E_W = NUMPTWE(WEST,EAST,GRIDWE) NFULLEW = NUMPTWE(0.0,360.0,GRIDWE) - 1 NUM_N_S = NUMPTNS(NORTH,SOUTH,GRIDNS) NFULLNS = NUM_N_S ENDIF C C C ------------------------------------------------------------------ C Section 3. Interpolate wave fields other than 2D spectra. C ------------------------------------------------------------------ C 300 CONTINUE C C Handle if not 2D spectra .. C IF( (ISEC1(6).NE.JP2DSP).AND.(ISEC1(6).NE.JP2DSPQ) ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'INTWAVE: Interpolate wave fields other than 2D spectra',JPQUIET) ENDIF C C Get some scratch space for the interpolated field. C ISIZE = NFULLEW * NUM_N_S CALL JMEMHAN( 3, INEWAVE, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE: Get work space fail.',JPQUIET) INTWAVE = JPROUTINE + 7 GOTO 900 ENDIF C ISIZE = NFULLEW * NFULLNS * 4 CALL JMEMHAN( 4, INEWIDX, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE: Get work space fail.',JPQUIET) INTWAVE = JPROUTINE + 8 GOTO 900 ENDIF C ISIZE = NFULLEW * NFULLNS * 10 CALL JMEMHAN( 5, IDISTNW, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE: Get work space fail.',JPQUIET) INTWAVE = JPROUTINE + 9 GOTO 900 ENDIF C Interpolate the field C IRET = WAVEXXX(ISEC2,ISEC4,NUM_N_S,GRIDNS,GRIDWE,INGRIB,NEWIDX, X DISTNEW,NEWAVE,NORTH,WEST,ZMISS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE: Interpolation failed.',JPQUIET) INTWAVE = JPROUTINE + 10 GOTO 900 ENDIF C C ------------------------------------------------------------------ C Section 4. Interpolate wave 2D spectra field. C ------------------------------------------------------------------ C ELSE C 400 CONTINUE IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'INTWAVE: Interpolate wave 2D spectra field',JPQUIET) ENDIF C C Find number of 2D spectra values at each point C IF( ISEC4(8).NE.0 ) LCOEFFS = .TRUE. IF( (ISEC4(8).NE.0).AND.(ISEC1(6).NE.JP2DSPQ) ) THEN NSPEC = ISEC4(50) * ISEC4(51) ELSE NSPEC = 1 ENDIF C C Get some scratch space for the interpolated field. C ISIZE = NSPEC * NFULLEW * NUM_N_S CALL JMEMHAN( 3, INEWAVE, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE: Get work space fail.',JPQUIET) INTWAVE = JPROUTINE + 11 GOTO 900 ENDIF C ISIZE = NFULLEW * NFULLNS CALL JMEMHAN( 4, INEWIDX, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE: Get work space fail.',JPQUIET) INTWAVE = JPROUTINE + 12 GOTO 900 ENDIF C C Interpolate the field C IRET = WV2DXXX(ISEC2,ISEC4,NUM_N_S,GRIDNS,GRIDWE, X INGRIB,NEWIDX,NEWAVE,NORTH,WEST,ZMISS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE: Interpolation failed.',JPQUIET) INTWAVE = JPROUTINE + 13 GOTO 900 ENDIF C ENDIF C C ------------------------------------------------------------------ C Section 5. Pack the interpolated field into GRIB. C ------------------------------------------------------------------ C 500 CONTINUE C If a 'bitmap' has been specified, build the bitmap C LBITMP = LNOBITMP.AND. X ((NOREPR.EQ.JPREGROT).OR.(NOREPR.EQ.JPREGULAR).OR. X (NOREPR.EQ.JPGAUSSIAN)) IF( LBITMP ) THEN CALL INTLOG(JP_DEBUG,'INTWAVE: MKBITMP is enabled',JPQUIET) IERR = MKBITMP(NUM_E_W,NUM_N_S,NEWAVE,ZMISS) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Problem applying bitmap',JPQUIET) GOTO 900 ENDIF ENDIF C If a 'frame' has been specified, build the frame C LFRAME = LNOFRAME.AND. X ((NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPREGROT ).OR.(NOREPR.EQ.JPFGGROT ) ) CALL INTLOG(JP_DEBUG,'INTWAVE: NUM_E_W ',NUM_E_W) CALL INTLOG(JP_DEBUG,'INTWAVE: NUM_N_S ',NUM_N_S) IF( LFRAME ) THEN CALL INTLOG(JP_DEBUG,'INTWAVE: MKFRAME is enabled',JPQUIET) CALL INTLOG(JP_DEBUG,'INTWAVE: NOFRAME ',NOFRAME) CALL MKFRAME(NUM_E_W,NUM_N_S,NEWAVE,ZMISS,NOFRAME) ENDIF C C GRIB sections 2 and 3 (bitmap) included C ISEC1(5) = 192 C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPREDLL) ) THEN C C Reduced gaussian or reduced lat/long with (possible) subarea C IF( NOREPR.EQ.JPQUASI ) THEN ISEC2(1) = JPGAUSSIAN ISEC2(10)= NOGAUSS ELSE ISEC2(1) = JPREGULAR ISEC2(10)= NINT(GRIDNS*1000.0) ENDIF ISEC2(2) = 255 ISEC2(3) = NUM_N_S ISEC2(5) = NINT(WEST*1000.0) ISEC2(6) = 0 ISEC2(8) = NINT(EAST*1000.0) ISEC2(17)= 1 ISEC4(1) = 0 C LAT1 = 0 510 CONTINUE LAT1 = LAT1 + 1 IF( NOREPR.EQ.JPQUASI ) THEN RNLAT = ROGAUSS(LAT1) RSLAT = ROGAUSS(LAT1+NUM_N_S-1) ELSE RNLAT = 90.0 - (LAT1-1)*GRIDNS RSLAT = 90.0 - (LAT1+NUM_N_S-2)*GRIDNS ENDIF IF( RNLAT.GT.NORTH ) GOTO 510 C ISEC2(4) = NINT(RNLAT*1000.0) ISEC2(7) = NINT(RSLAT*1000.0) C DO LOOP = LAT1, (NUM_N_S+LAT1-1) ISEC2(23+LOOP-LAT1) = NOLPTS(LOOP) ISEC4(1) = ISEC4(1) + ISEC2(23+LOOP-LAT1) ENDDO C ELSE C C Regular gaussian or lat/long with (possible) subarea C IF( NOREPR.EQ.JPGAUSSIAN ) THEN ISEC2(1) = JPGAUSSIAN ELSE ISEC2(1) = JPREGULAR ENDIF ISEC2(2) = NUM_E_W ISEC2(3) = NUM_N_S ISEC2(4) = NINT(NORTH*1000.0) ISEC2(5) = NINT(WEST*1000.0) ISEC2(6) = 128 ISEC2(7) = NINT(SOUTH*1000.0) ISEC2(8) = NINT(EAST*1000.0) ISEC2(9) = NINT(GRIDWE*1000.0) IF( NOREPR.EQ.JPGAUSSIAN ) THEN ISEC2(10) = NOGAUSS ELSE ISEC2(10) = NINT(GRIDNS*1000.0) ENDIF ISEC2(17)= 0 ISEC4(1) = NUM_E_W * NUM_N_S ENDIF C C Use -9999999 as missing data value. C ISEC3(2) = NINT(ZMISS) ZSEC3(2) = ZMISS C ISEC4(1) = ISEC4(1) * NSPEC ISEC4(2) = NOACC IF( LCOEFFS ) ISEC4(6) = 16 C `-----> wave fields have additional flags for C NC1 and NC2 coefficients (floats stored C in integer array isec4) IRET = 1 C C If grid-point output, setup for 2nd order packing if requested. C IF( (NOREPR.NE.JPSPHERE) .AND. (NOREPR.NE.JPSPHROT) ) THEN HFUNC = 'C' IF( NOHFUNC.EQ.'K' ) THEN HFUNC = 'K' ISEC4(4) = 64 ISEC4(6) = 16 ISEC4(9) = 32 ISEC4(10) = 16 ISEC4(12) = 8 ISEC4(13) = 4 ISEC4(14) = 0 ISEC4(15) = -1 ELSE ISEC4(4) = 0 ENDIF ELSE HFUNC = 'C' IF( NOHFUNC.EQ.'C' ) THEN ISEC2(6) = 2 ISEC4(4) = 64 ELSE IF( NOHFUNC.EQ.'S' ) THEN ISEC2(6) = 1 ISEC4(4) = 0 ENDIF ENDIF C CALL GRIBEX (ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, X NEWAVE,ISEC4(1),OUTGRIB,OUTLEN,IWORD,HFUNC,IRET) C IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE: GRIBEX encoding failed.',IRET) INTWAVE = JPROUTINE + 14 GOTO 900 ENDIF OUTLEN = IWORD C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C RETURN END emoslib-000392+dfsg.1/interpolation/gettru.F0000755000175000017500000000126012127406245021770 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION GETTRU() C C----> C*****GETTRU* C C PURPOSE C ------- C C Finding Corresponding Truncation C #include "parim.h" #include "nofld.common" GETTRU = NORESO CALL INTLOG(JP_DEBUG, X 'GETTRU: Corresponding Truncation',GETTRU) C RETURN END emoslib-000392+dfsg.1/interpolation/sources.ibm_power70000755000175000017500000001040112127406245024023 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ createSharedMemoryCoefficients.c \ sharedll.c \ sharedgg.c \ sharedlib.c \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ rename_unlink.c \ sharedMemoryCharacteristics.c \ showmap.c \ smread.c \ soffset.c emoslib-000392+dfsg.1/interpolation/jtimer.c0000755000175000017500000000312412127406245022006 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #ifndef CRAY #include #endif #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define JTIMER jtimer #else #define JTIMER jtimer_ #endif #endif void JTIMER(const long * param) { static struct tms before, after; static time_t utime, stime; static long startime, endtime; /* If input parameter is zero, initialise the time record */ if ( *param == 0 ) { startime = times(&before); } /* Otherwise, publish elapsed time since last initialisation */ else { endtime = times(&after); utime = after.tms_utime - before.tms_utime; stime = after.tms_stime - before.tms_stime; /* Sinisa CLOCKS_PER_SEC The value of this macro is the number of clock ticks per second measured by the clock function. int CLK_TCK is an obsolete name for CLOCKS_PER_SEC. */ printf("CPU time used in user space = %f sec\n", (float) utime/(float)CLOCKS_PER_SEC); printf("CPU time used by the system = %f sec\n", (float) stime/(float)CLOCKS_PER_SEC); printf("Wall clock time used by process = %f sec\n", (float) (endtime - startime)/(float)CLOCKS_PER_SEC); } return; } emoslib-000392+dfsg.1/interpolation/intpnum.F0000755000175000017500000000555512127406245022163 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTPNUM(KONOFF) C C----> C**** INTPNUM C C Purpose C ------- C C Returns current INTP_CYCLE version number. C C C Interface C --------- C C INUM = INTPNUM(KONOFF) C C Input C ----- C C KONOFF - switch for displayed message C = 0 if display is required on the first call C = non-zero if display is not required C C C Output C ------ C C Returns a 6-digit version number, aaabbc, where: C aaa = 3-digit major number C bb = 2-digit minor number C c = 1-digit spare number (normally 0) C C C Method C ------ C C Reads a 6-digit version number from the environment variable C INTP_CYCLE. If this does not give a 6-digit number, an internal C hard-coded default value is used. C C On the first call, the function (optionally) displays a message: C C ************************************** C * INTP_CYCLE version number = aaabbc * C ************************************** C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF May 1998 C C C----< C ------------------------------------------------------------------ C* Section 0. Variables. C ------------------------------------------------------------------ C C IMPLICIT NONE C #include "grprs.h" C C Function arguments C INTEGER KONOFF C C Local variables C INTEGER INUMBER, ICOUNT, IOFFSET SAVE INUMBER, ICOUNT CHARACTER*38 CMESS CHARACTER*20 YNUMBER C DATA INUMBER/000010/, ICOUNT/0/ DATA CMESS/'* INTP_CYCLE version number = ****** *'/ C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C IF( ICOUNT.EQ.0 ) THEN C C See if the environment variable has an override value C CALL GETENV( 'INTP_CYCLE', YNUMBER) IOFFSET = INDEX( YNUMBER, ' ') IF( IOFFSET.EQ.7 ) THEN READ(YNUMBER,'(I6.6)') INUMBER ENDIF C C First time through, display the message if required C IF( KONOFF.EQ.0 ) THEN WRITE(CMESS(31:36),'(I6.6)') INUMBER WRITE(GRPRSM,*) '**************************************' WRITE(GRPRSM,*) CMESS WRITE(GRPRSM,*) '**************************************' ENDIF ICOUNT = 1 ENDIF C INTPNUM = INUMBER C RETURN END emoslib-000392+dfsg.1/interpolation/intlogs.c0000755000175000017500000000371612127406245022202 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #ifdef CRAY #include #else #define _fcd char * #define _fcdtocp(a) a #define _fcdlen(a) strlen(a) #endif char *fcd2char(); /* fortran to c string convertion (alloc memory) */ /* defines for FORTRAN subroutine */ #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define INTLOGT intlogt #else #define INTLOGT intlogt_ #endif #endif /* Pointer to display function */ void (*g_pp_err_fn)(char * buffer) = 0; void intlogs(void (*pp_error)(char *)) { g_pp_err_fn = pp_error; return; } #define MAXMESSAGE 79 void INTLOGT(char * message, long length) { char * buffer; int messageLen; #ifndef CRAY messageLen = (length > MAXMESSAGE) ? MAXMESSAGE : length; if( g_pp_err_fn != 0 ) { buffer = (char*) malloc(messageLen+1); if( buffer == NULL) { perror("INTLOGT: malloc error"); return; } strncpy(buffer,message,messageLen); buffer[messageLen] = '\0'; { char * p; p = buffer + messageLen - 1; while(*p == ' ') { *p = '\0'; p--; } } g_pp_err_fn(buffer); free(buffer); } #else char messagebuff[256]; char * fmessage; char * p; if( g_pp_err_fn != 0 ) { if( (fmessage = fcd2char(message)) ) { p = fmessage + strlen(fmessage); while(*p == ' ') { *p = '\0'; p--; } g_pp_err_fn(fmessage); free(fmessage); } } #endif return; } void intlog2(char *msg) { INTLOGT(msg,strlen(msg)); } void intlog2ga(char *msg1, char *msg2) { INTLOGT(msg1,strlen(msg1)); INTLOGT(msg2,strlen(msg2)); } emoslib-000392+dfsg.1/interpolation/zprec.F0000755000175000017500000001120312127406245021577 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION ZPREC (POFELD, KOWE, KONS, KPR, KERR) C C----> C**** *ZPREC* C C PURPOSE C _______ C C Perform additional interpolation processes for precipitation C fields C C INTERFACE C _________ C C IERR = ZPREC ( POFELD, KOWE, KONS, KPR, KERR) C C Input parameters C ________________ C C POFELD - The output field as previously calculated. C C KOWE - The number of points in the West-East direction in C the output field. C C KONS - The number of points in the North-South direction C in the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C POFELD - The output field as modified to allow for C precipitation. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C CHKPREC - Check if precipitation threshold has been redefined C C METHOD C ______ C C The precipitation at a point is set to zero if the value is less C then threshold C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 C C AUTHOR C ______ C C S. Curic *ECMWF* Sep 2005 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nifld.common" C C Dummy arguments INTEGER KOWE, KONS, KPR, KERR REAL POFELD (KOWE, KONS) C C Local variables INTEGER JOLAT, JOLON INTEGER JPROUTINE PARAMETER (JPROUTINE = 23500) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'ZPREC: Section 1.',JPQUIET) C ZPREC = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'ZPREC: No. of output fld lats = ',KONS) CALL INTLOG(JP_DEBUG,'ZPREC: No. of output fld longs = ',KOWE) ENDIF C C _______________________________________________________ C C* Section 2. eliminate output negative precipitation C _______________________________________________________ C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRPREC: Section 2.',JPQUIET) C CALL CHKPREC() C DO 360 JOLAT = 1, KONS C DO 210 JOLON = 1, KOWE C IF (POFELD (JOLON, JOLAT) .LT. ZPRECIP) THEN POFELD (JOLON, JOLAT) = PPZERO ENDIF C 210 CONTINUE C C 360 CONTINUE C C _______________________________________________________ C C C* Section 3. Return to calling routine. Format statements C _______________________________________________________ C C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'ZPREC: Section 3.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/gb2gb.F0000755000175000017500000002472612127406245021455 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION GB2GB( X INGRIB,INSIZE,OUTGRIB,OUTSIZE,OUT_EW,OUT_NS,OUTAREA) C C----> C**** GB2GB C C Purpose C ------- C C Create a subset of an input regular latitude/longitude C gridpoint field. C C C Interface C --------- C C IRET = GB2GB(INGRIB,INSIZE,OUTGRIB,OUTSIZE,OUT_EW,OUT_NS,OUTAREA) C C Input C ----- C C INGRIB - Input regular latitude/longitude gridpoint field in GRIB C format. C INSIZE - Size in words (integers) of input GRIB product. C OUT_EW - East-west increment of output field (millidegrees). C OUT_NS - North-south increment of output field (millidegrees). C OUTAREA - Area boundaries for output field (N/W/S/E millidegrees). C C C Output C ------ C C OUTGRIB - Output regular latitude/longitude gridpoint field in GRIB C format. C OUTSIZE - Size in words (integers) of output GRIB product. C C Returns - length in words (integers) of output GRIB product if OK, C negative if error. C C C Method C ------ C C Area boundaries for output field are adjusted if necessary to fit C the grid (N/W/S/E millidegrees). C C C Externals C --------- C C GRIBEX - Unpack and pack GRIB products. C AREACHK - Fixup input/output field area according to grid C INTLOG - Logs output messages C JDEBUG - Checks whether the debug flag is to be turned on. C C C Author C ------ C C J.D.Chambers ECMWF March 1999 C C----< C IMPLICIT NONE C #include "jparams.h" #include "parim.h" #include "nofld.common" C C Function arguments C INTEGER INGRIB,INSIZE,OUTGRIB,OUTSIZE,OUT_EW,OUT_NS,OUTAREA DIMENSION INGRIB(*),OUTGRIB(OUTSIZE),OUTAREA(4) C C Local variables C INTEGER ISEC0,ISEC1,ISEC2,ISEC3,ISEC4 DIMENSION ISEC0(2),ISEC1(1024),ISEC2(1024),ISEC3(2),ISEC4(512) INTEGER ILENP,ILENG,IWORD,IRET,IPOINT C REAL PSEC2,PSEC3,PSEC4 DIMENSION PSEC2(512),PSEC3(2),PSEC4(1) C INTEGER NVALSI,NVALSO REAL ZSEC4I,ZSEC4O DIMENSION ZSEC4I(1),ZSEC4O(1) POINTER ( NPOINTI, ZSEC4I ) POINTER ( NPOINTO, ZSEC4O ) C INTEGER AREA(4) INTEGER INC_EW,INC_NS,N_EW,N_NS,I_EW,I_NS,LOOPO,LOOPI,NEXT INTEGER NWEST,NEAST,OWEST,OEAST REAL EW,NS,NORTH,WEST,SOUTH,EAST LOGICAL LDEBUG, LDUDEW CHARACTER*1 HFUNC C C Externals C INTEGER AREACHK EXTERNAL AREACHK C C ------------------------------------------------------------------ C Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C GB2GB = -1 C CALL JDEBUG( ) LDEBUG = ( NDBG.GT.0 ) C DO LOOPO = 1, 4 AREA(LOOPO) = OUTAREA(LOOPO) ENDDO C C Unpack input GRIB header. C IRET = 1 ISEC3(2) = 1E-21 PSEC3(2) = 1.0E-21 CALL GRIBEX(ISEC0,ISEC1,ISEC2,PSEC2,ISEC3,PSEC3,ISEC4, X PSEC4,ILENP,INGRIB,INSIZE,IWORD,'J',IRET) IF( IRET.GT.0 ) THEN IF( LDEBUG ) X CALL INTLOG(JP_ERROR,'GB2GB: GRIBEX "J" option error',IRET) GOTO 900 ENDIF C C Ensure that it is a regular latitude/longitude grid. C IF( ISEC2(1).NE.0 ) THEN IF( LDEBUG ) X CALL INTLOG(JP_ERROR, X 'GB2GB: Input not regular lat/long. Type =',ISEC2(1)) GOTO 900 ENDIF C C ------------------------------------------------------------------ C Section 2. Check that output grid is a subset of the input grid. C ------------------------------------------------------------------ C 200 CONTINUE C C Fixup input/output field area definitions according to grid C specification. C EW = REAL(OUT_EW) / 1000.0 NS = REAL(OUT_NS) / 1000.0 NORTH = REAL(AREA(1)) / 1000.0 WEST = REAL(AREA(2)) / 1000.0 SOUTH = REAL(AREA(3)) / 1000.0 EAST = REAL(AREA(4)) / 1000.0 IRET = AREACHK( EW, NS, NORTH, WEST, SOUTH, EAST ) IF( IRET.NE.0 ) THEN IF( LDEBUG ) X CALL INTLOG(JP_ERROR,'GB2GB: AREACHK failed:',IRET) GOTO 900 ENDIF C OUT_EW = NINT(EW * 1000.0) OUT_NS = NINT(NS * 1000.0) AREA(1) = NINT(NORTH * 1000.0) AREA(2) = NINT(WEST * 1000.0) AREA(3) = NINT(SOUTH * 1000.0) AREA(4) = NINT(EAST * 1000.0) C C Check (sub)area limits C C North and south .. C IF( (AREA(1).GT.ISEC2(4)) .OR. X (AREA(3).LT.ISEC2(7)) ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_ERROR, X 'GB2GB: North/south outside input GRIB area',JPQUIET) CALL INTLOG(JP_ERROR,'GB2GB: Requested north = ',OUTAREA(1)) CALL INTLOG(JP_ERROR,'GB2GB: Requested south = ',OUTAREA(3)) CALL INTLOG(JP_ERROR,'GB2GB: Input GRIB north = ',ISEC2(4)) CALL INTLOG(JP_ERROR,'GB2GB: Input GRIB south = ',ISEC2(7)) GOTO 900 ENDIF ENDIF C C East and west .. C NWEST = AREA(2) NEAST = AREA(4) OWEST = ISEC2(5) OEAST = ISEC2(8) C LDUDEW = X ((NWEST.LT.0).AND.(OWEST.LT.0).AND.(NWEST.LT.OWEST)).OR. X ((NWEST.GT.0).AND.(OWEST.GT.0).AND.(NWEST.LT.OWEST)).OR. X ((NWEST.LT.0).AND.(OWEST.GT.0).AND.(NWEST.LT.(OWEST-36000))).OR. X ((NWEST.GT.0).AND.(OWEST.LT.0).AND.(NWEST.LT.(OWEST+36000))).OR. X ((NEAST.LT.0).AND.(OEAST.LT.0).AND.(NEAST.GT.OEAST)).OR. X ((NEAST.GT.0).AND.(OEAST.GT.0).AND.(NEAST.GT.OEAST)).OR. X ((NEAST.LT.0).AND.(OEAST.GT.0).AND.(NEAST.GT.(OEAST-36000))).OR. X ((NEAST.GT.0).AND.(OEAST.LT.0).AND.(NEAST.GT.(OEAST+36000))) C IF( LDUDEW ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_ERROR, X 'GB2GB: East/west outside input GRIB area',JPQUIET) CALL INTLOG(JP_ERROR,'GB2GB: Requested west = ',OUTAREA(2)) CALL INTLOG(JP_ERROR,'GB2GB: Requested east = ',OUTAREA(4)) CALL INTLOG(JP_ERROR,'GB2GB: Input GRIB west = ',ISEC2(5)) CALL INTLOG(JP_ERROR,'GB2GB: Input GRIB east = ',ISEC2(8)) ENDIF GOTO 900 ENDIF C IF( NWEST.LT.0 ) NWEST = NWEST + 360000 IF( NEAST.LT.0 ) NEAST = NEAST + 360000 IF( NEAST.LT.NWEST ) NEAST = NEAST + 360000 IF( OWEST.LT.0 ) OWEST = OWEST + 360000 IF( OEAST.LT.0 ) OEAST = OEAST + 360000 IF( OEAST.LT.OWEST ) OEAST = OEAST + 360000 C C Check increments C INC_EW = OUT_EW / ISEC2(9) IF( (INC_EW*ISEC2(9)).NE.OUT_EW ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_ERROR, X 'GB2GB: East-west step not multiple of input grid',JPQUIET) CALL INTLOG(JP_ERROR,'GB2GB: Requested step = ',OUT_EW) CALL INTLOG(JP_ERROR,'GB2GB: Input GRIB step = ',ISEC2(9)) ENDIF GOTO 900 ENDIF C INC_NS = OUT_NS / ISEC2(10) IF( (INC_NS*ISEC2(10)).NE.OUT_NS ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_ERROR, X 'GB2GB: North-south step not multiple of input grid',JPQUIET) CALL INTLOG(JP_ERROR,'GB2GB: Requested step = ',OUT_NS) CALL INTLOG(JP_ERROR,'GB2GB: Input GRIB step = ',ISEC2(10)) ENDIF GOTO 900 ENDIF C C ------------------------------------------------------------------ C Section 3. Generate new grid. C ------------------------------------------------------------------ C 300 CONTINUE C C Get memory for input GRIB values. C NVALSI = ISEC2(2)*ISEC2(3) CALL JMEMHAN(3,NPOINTI,NVALSI,1,IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) X CALL INTLOG(JP_ERROR,'GB2GB: JMEMHAN failed for input',IRET) GOTO 900 ENDIF C C Get memory for output GRIB values. C N_EW = ( (NEAST - NWEST) / OUT_EW ) + 1 N_NS = ( (AREA(1) - AREA(3)) / OUT_NS ) + 1 NVALSO = N_EW * N_NS CALL JMEMHAN(4,NPOINTO,NVALSO,1,IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) X CALL INTLOG(JP_ERROR,'GB2GB: JMEMHAN failed for output',IRET) GOTO 900 ENDIF C C Unpack input GRIB values. C IRET = 1 CALL GRIBEX(ISEC0,ISEC1,ISEC2,PSEC2,ISEC3,PSEC3,ISEC4, X ZSEC4I,NVALSI,INGRIB,INSIZE,IWORD,'D',IRET) IF( IRET.GT.0 ) THEN IF( LDEBUG ) X CALL INTLOG(JP_ERROR,'GB2GB: GRIBEX "D" option error',IRET) GOTO 900 ENDIF C C Select points for new grid. C I_EW = (NWEST / ISEC2(9) ) + 1 I_NS = ((90000-AREA(1)) / ISEC2(10) ) + 1 C NEXT = 1 DO LOOPO = I_NS, (I_NS-1+N_NS*INC_NS),INC_NS DO LOOPI = I_EW, (I_EW-1+N_EW*INC_EW),INC_EW IPOINT = MOD(ISEC2(2)+LOOPI-1,ISEC2(2))+1 ZSEC4O(NEXT) = ZSEC4I((LOOPO-1)*ISEC2(2)+IPOINT) NEXT = NEXT + 1 ENDDO ENDDO C C ------------------------------------------------------------------ C Section 4. Pack new grid into GRIB. C ------------------------------------------------------------------ C 400 CONTINUE C ISEC2(2) = N_EW ISEC2(3) = N_NS ISEC2(4) = OUTAREA(1) ISEC2(5) = OUTAREA(2) ISEC2(7) = OUTAREA(3) ISEC2(8) = OUTAREA(4) ISEC2(9) = OUT_EW ISEC2(10) = OUT_NS C ISEC4(1) = N_NS * N_EW IF( (NOACC.GT.0).AND.(NOACC.LT.30) ) ISEC4(2) = NOACC C C PACKING specified can be second-order, simple or archive value C IF( NOHFUNC.EQ.'K' ) THEN HFUNC = 'K' ISEC4(4) = 64 ISEC4(6) = 16 ISEC4(9) = 32 ISEC4(10) = 16 ISEC4(12) = 8 ISEC4(13) = 4 ISEC4(14) = 0 ISEC4(15) = -1 ELSE IF( NOHFUNC.EQ.'S' ) THEN HFUNC = 'C' ISEC4(4) = 0 ISEC4(6) = 0 ELSE IF( NOHFUNC.EQ.'A' ) THEN IF( ISEC4(4).EQ.64 ) THEN HFUNC = 'K' ELSE HFUNC = 'C' ENDIF ENDIF C IRET = 1 CALL GRIBEX(ISEC0,ISEC1,ISEC2,PSEC2,ISEC3,PSEC3,ISEC4, X ZSEC4O,NVALSO,OUTGRIB,OUTSIZE,IWORD,HFUNC,IRET) IF( IRET.GT.0 ) THEN IF( LDEBUG ) X CALL INTLOG(JP_ERROR,'GB2GB: GRIBEX "C" option error',IRET) GOTO 900 ENDIF GB2GB = IWORD C C ------------------------------------------------------------------ C Section 9. Return. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/xrotate.F0000755000175000017500000000310712127406245022146 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE XROTATE(RANGLE,X,Y,Z,RX,RY,RZ,INROW) C----> C**** XROTATE C C Purpose C ------- C C Rotate an array of (x,y,z) values about the x-axis. C C C Interface C --------- C C CALL XROTATE(RANGLE,X,Y,Z,RX,RY,RZ,INROW) C C Input C ----- C C RANGLE - The angle of rotation (degrees) C (X,Y,Z) - Arrays of input (x,y,z) values. C INROW - Number of coordinate values. C C C Output C ------ C C (RX,RY,RZ) - Arrays of rotated (x,y,z) values. C C C Method C ------ C C X remains unchanged. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF C C----< C IMPLICIT NONE C C Subroutine arguments C REAL RANGLE,X,Y,Z,RX,RY,RZ DIMENSION X(*),Y(*),Z(*),RX(*),RY(*),RZ(*) INTEGER INROW C C Local variables C REAL FACTOR, ANGLE, SINA, COSA DATA FACTOR/0.017453293/ INTEGER LOOP C ANGLE = RANGLE * FACTOR SINA = SIN(ANGLE) COSA = COS(ANGLE) C DO LOOP = 1, INROW RX(LOOP) = X(LOOP) RY(LOOP) = Y(LOOP)*COSA + Z(LOOP)*SINA RZ(LOOP) = -Y(LOOP)*SINA + Z(LOOP)*COSA ENDDO C RETURN END emoslib-000392+dfsg.1/interpolation/grfixed.h0000755000175000017500000000451712127406245022160 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C**** "grfixed.h" C C PURPOSE C _______ C C This file contains all the fixed work space array definitions for C grid point to grid point interpolation. C C INTERFACE C _________ C C #include "grfixed.h" C C Common block usage C __________________ C C FIXED_INTS C C MEXPAND - Array of length JPLG01 (see parim.h) used to C expand one latitude line of the 10 minute land C sea mask file to have one word per bit for C improved efficiency. C MILLEN - Array of length JPLAT (see parim.h) containing C a quasi regular Gaussian field latitude line C length definition. This array may be provided by C the interpolation definition routines. C MWORK - Array of length JPLONG (see parim.h) used to C read one latitude line of a standard land sea C mask file. C C FIXED_REAL C C RIGAUSS - Array of length JPLAT (see parim.h) containing a C full definition of the Gaussian latitudes for an C input field Gaussian truncation. C ROGAUSS - Array of length JPLAT (see parim.h) containing a C full definition of the Gaussian latitudes for an C output field Gaussian truncation. C C Author C ______ C C K. Fielding *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF June 1996 C C C _______________________________________________________ C C* Section 1. Fixed length arrays C _______________________________________________________ C INTEGER MILLEN(JPLAT), MWORK(JPLONG), MEXPAND(JPLG01) C REAL RIGAUSS(JPLAT), ROGAUSS(JPLAT), ROREDLL(JPLAT) C COMMON /FIXED_INTS/ MWORK, MILLEN, MEXPAND C SAVE /FIXED_INTS/ C COMMON /FIXED_REAL/ RIGAUSS, ROGAUSS, ROREDLL C SAVE /FIXED_REAL/ C emoslib-000392+dfsg.1/interpolation/parim.h0000755000175000017500000004745312127406245021646 0ustar amckinstryamckinstryc C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C**** "parim.h" C C PURPOSE C _______ C C This file contains a set of constants used during interpolation. C C INTERFACE C _________ C C #include "parim.h" C C Common block usage C __________________ C C NONE C C METHOD C ______ C C NONE C C REFERENCE C _________ C C NONE C C COMMENTS C ________ C C Contains sections 1 to 8 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C Modifications C ------------- C C S.Curic ECMWF March 2005 C Changed constants JPSTRUNC=2047 JPGTRUNC=2048 C in order to allow T2047 and N1024 C Changed buffer size PGRIB_ISEC1 PGRIB_ISEC2 PGRIB_ISEC4 C C S.Curic ECMWF March 2005 C Changed constants JPDISTP=0.25 C C S.Curic ECMWF March 2011 C Changed constants JPSTRUNC=3999 JPGTRUNC=400 C in order to allow T3999 and N2000 C _______________________________________________________ C C C* Section 1. Machine definition constants C _______________________________________________________ C C JPBYTES - The number of bytes in an INTEGER word. C JPBITS - The number of bits in an INTEGER word. C JPILEN - The number of heap allocation units in an C INTEGER word. C JPRLEN - The number of heap allocation units in a REAL C word. C INTEGER JPBITS, JPBYTES, JPILEN, JPRLEN C #ifdef CRAY PARAMETER (JPBYTES = 8) PARAMETER (JPILEN = 1) PARAMETER (JPRLEN = 1) #else #ifdef INTEGER_8 PARAMETER (JPBYTES = 8) #else PARAMETER (JPBYTES = 4) #endif PARAMETER (JPILEN = JPBYTES) #ifdef REAL_8 PARAMETER (JPRLEN = 8) #else PARAMETER (JPRLEN = 4) #endif #endif PARAMETER (JPBITS = 8 * JPBYTES) C C _______________________________________________________ C C C* Section 2. Library Limit Constants C _______________________________________________________ C C JPLONG - The maximum number of points along a line of C latitude. C JPLAT - The maximum number of lines of latitude C JPGTRUNC - The maximum Gaussian truncation allowed. C JPSTRUNC - The maximum spherical harmonic truncation C allowed. C C JPML01 - 10 minute land sea mask - Number of values per C degree. C JPLG01 - 10 minute land sea mask - Number of values long C a line of latitude. C JPLT01 - 10 minute land sea mask - Number of lines of C latitude. C JPPACK - 10 minute land sea mask - Length of packed C record in words. C C PPDEGMIN - The minimum grid size C (Real (360) / REAL (JPLONG) ). C INTEGER JPLONG, JPLAT, JPGTRUNC, JPSTRUNC C PARAMETER (JPLONG = 4096) PARAMETER (JPLAT = 4000 ) PARAMETER (JPGTRUNC = 4000) PARAMETER (JPSTRUNC = 3999) C INTEGER JPLG01, JPLT01, JPPACK, JPML01 C PARAMETER (JPML01 = 6) PARAMETER (JPLG01 = 360 * JPML01) PARAMETER (JPLT01 = 180 * JPML01) #ifdef rs6000 PARAMETER (JPPACK = (JPLG01 - 1) / 32 + 1) #else PARAMETER (JPPACK = (JPLG01 - 1) / JPBITS + 1) #endif C REAL PPDEGMIN C PARAMETER (PPDEGMIN = 0.5E0) C C _______________________________________________________ C C C* Section 3. Library Interface Constants C _______________________________________________________ C C C Data representation type values: C C JPGAUSSIAN - Gaussian C JPFGGROT - Rotated full (regular) gaussian C JPQUASI - Quasi-regular gaussian C JPQGGROT - Rotated quasi-regular (reduced) gaussian C JPREDLL - Quasi-regular latitude/longitude C JPREDLROT - Rotated quasi-regular latitude/longitude C JPREGULAR - Regular latitude longitude C JPREGROT - Rotated regular latitude longitude C JPSPHERE - Spherical harmonic C JPSPHROT - Rotated spherical harmonic C JPSTRGG - Streched quasi-regular gaussian C JPSTRSH - Streched spherical harmonic C JPNOTYPE - Dummy data. C C Field parameter numbers required (All field numbers refer to C ECMWF local Code Table 2 with NITABLE .eq. 128). C C JP_U - Wind parameter U C JP_V - Wind parameter V C JP_10U - Wind parameter 10U C JP_10V - Wind parameter 10V C C JP_LSP - Large scale precipitation LSP C JP_CP - Convective precipitation CP C JP_SF - Snowfall SF C JP_TP - Total precipitation TP C C JP_MSL - Mean sea level pressure MSL C JP_LSM - Land sea mask LSM C C Field parameter numbers required (All field numbers refer to C the standard WMO parameter number with NITABLE .eq. 1) C C JP_WMO_U - Wind parameter U C JP_WMO_V - Wind parameter V C JP_WMO_10U - Wind parameter 10U C JP_WMO_10V - Wind parameter 10V C C JP_WMO_LSP - Large scale precipitation LSP C JP_WMO_CP - Convective precipitation CP C JP_WMO_SF - Snowfall SF C JP_WMO_TP - Total precipitation TP C C JP_WMO_MSL - Mean sea level pressure MSL C JP_WMO_LSM - Land sea mask LSM C INTEGER JPGAUSSIAN,JPQUASI,JPREGULAR,JPREGROT,JPSPHERE,JPSPHROT INTEGER JPFGGROT, JPQGGROT, JPSTRGG, JPSTRSH INTEGER JPREDLL, JPREDLROT INTEGER JPNOTYPE C PARAMETER (JPGAUSSIAN = 4) PARAMETER (JPFGGROT = 14) PARAMETER (JPQUASI = 25) PARAMETER (JPQGGROT = 27) PARAMETER (JPREDLL = 26) PARAMETER (JPREDLROT = 28) PARAMETER (JPREGULAR = 0) PARAMETER (JPREGROT = 10) PARAMETER (JPSPHERE = 50) PARAMETER (JPSPHROT = 60) PARAMETER (JPSTRGG = 24) PARAMETER (JPSTRSH = 70) PARAMETER (JPNOTYPE = 9999) C INTEGER JP_U, JP_V, JP_10U, JP_10V C PARAMETER (JP_U = 131) PARAMETER (JP_V = 132) PARAMETER (JP_10U = 165) PARAMETER (JP_10V = 166) C INTEGER JP_LSP, JP_CP, JP_SF, JP_TP C PARAMETER (JP_LSP = 142) PARAMETER (JP_CP = 143) PARAMETER (JP_SF = 144) PARAMETER (JP_TP = 228) C INTEGER JP_MSL, JP_LSM C PARAMETER (JP_MSL = 151) PARAMETER (JP_LSM = 172) C INTEGER JP_WMO_U, JP_WMO_V C PARAMETER (JP_WMO_U = 33) PARAMETER (JP_WMO_V = 34) C INTEGER JP_WMO_LSP, JP_WMO_CP, JP_WMO_SF, JP_WMO_TP, JP_WMO_WESF C PARAMETER (JP_WMO_TP = 61) PARAMETER (JP_WMO_LSP = 62) PARAMETER (JP_WMO_CP = 63) PARAMETER (JP_WMO_SF = 64) PARAMETER (JP_WMO_WESF = 65) C INTEGER JP_WMO_MSL, JP_WMO_LSM C PARAMETER (JP_WMO_MSL = 2) PARAMETER (JP_WMO_LSM = 81) C C C _______________________________________________________ C C C* Section 4. Library Formulation Constants C C These constants handle the fact that all latitudes and C longitudes are represented as integer values. The values of C longitude or latitude degrees are represented as C NINT (real_degree * PPMULT). C C _______________________________________________________ C C JPMULT - The integer version of the multiplier PPMULT C (currently 10000). C JP90 - The integer value (90 * JPMULT). C JP180 - The integer value (180 * JPMULT). C JP360 - The integer value (360 * JPMULT). C JP0P5 - The integer value (JPMULT / 2). C JP0P25 - The integer value (JPMULT / 4). 0.25 resol C PPEPS - Small value to force latitude rounding. C C PPMULT - The multiplying factor for all degree values C (REAL (JPMULT) ) C C JPMICRO - scale factor from micro-degrees (from GRIB) C to working scale (JPMULT). C INTEGER JPMULT, JP90, JP180, JP360, JP0P5, JP0P25, JPMIN, JPMICRO REAL PPEPS C PARAMETER (JPMULT = 100000) PARAMETER ( JP90 = 90 * JPMULT) PARAMETER (JP180 = 180 * JPMULT) PARAMETER (JP360 = 360 * JPMULT) PARAMETER (JP0P5 = JPMULT / 2) PARAMETER (JP0P25 = JPMULT / 4) PARAMETER (PPEPS = 0.9) PARAMETER (JPMIN = JP0P5) PARAMETER (JPMICRO = (JPMULT/1000) ) C REAL PPMULT C PARAMETER (PPMULT = 1.0E5) C C _______________________________________________________ C C C* Section 5. Grib Section Size Constants C C All these constants are in terms of expanded arrays after C GRIBEX has been used to unpack a field. C C _______________________________________________________ C C JPENSEMBLE - The number of ensemble forecasts (Used for C handling clusters). C JPVERTICAL - The number of model levels. C JPBASE2 - The basic size of Grib Section 2. C C JPGRIB_ISEC0 - The size of Grib integer Section 0. C JPGRIB_ISEC1 - The size of Grib integer Section 1. C JPGRIB_ISEC2 - The size of Grib integer Section 2. C JPGRIB_ISEC3 - The size of Grib integer Section 3. C JPGRIB_ISEC4 - The size of Grib integer Section 4. C C JPGRIB_RSEC2 - The size of Grib real Section 2. C JPGRIB_RSEC3 - The size of Grib real Section 3. C INTEGER JPENSEMBLE, JPVERTICAL, JPBASE2 C PARAMETER (JPENSEMBLE = 100) PARAMETER (JPVERTICAL = 128) PARAMETER (JPBASE2 = 22) C INTEGER JPGRIB_ISEC0, JPGRIB_ISEC1, JPGRIB_ISEC2, JPGRIB_ISEC3, 1 JPGRIB_ISEC4 C PARAMETER (JPGRIB_ISEC0 = 2) PARAMETER (JPGRIB_ISEC1 = 2048 ) PARAMETER (JPGRIB_ISEC2 = 5000) PARAMETER (JPGRIB_ISEC3 = 2) PARAMETER (JPGRIB_ISEC4 = 2512) C INTEGER JPGRIB_RSEC2, JPGRIB_RSEC3 C PARAMETER (JPGRIB_RSEC2 = 10 + 2 * (JPVERTICAL + 1) ) PARAMETER (JPGRIB_RSEC3 = 2) C C C _______________________________________________________ C C C* Section 6. Grib Section 1, 2 and 4 Offsets C C All these constants are used for expanded arrays after GRIBEX C has been used to unpack a field. C C has been used to unpack a field. C C _______________________________________________________ C C General offsets. C ________________ C C JPSEC1_TABLE - The offset of the version number of code table 2. C JPSEC1_PARAM - The offset of the parameter value in Section 1. C C JPSEC2_REP - The offset of the Data Representation Type in C Section 2. C JPSEC2_QUASI - The offset of the Quasi Regular Flag in C Section 2. C JPSEC2_QUDEF - The offset of the end of a standard Section 2. C This may be used to simplify access to quasi C regular Gaussian field latitude line length C definitions. C C JPSEC4_NVALUE - The offset of the number of data values in the C field. C JPSEC4_NBITS - The offset of the number of bits used for each C data value in the field. C INTEGER JPSEC1_PARAM, JPSEC1_TABLE C PARAMETER (JPSEC1_TABLE = 1) PARAMETER (JPSEC1_PARAM = 6) C INTEGER JPSEC4_NVALUE, JPSEC4_NBITS C PARAMETER (JPSEC4_NVALUE = 1) PARAMETER (JPSEC4_NBITS = 2) C INTEGER JPSEC2_REP, JPSEC2_QUASI, JPSEC2_QUDEF C PARAMETER (JPSEC2_REP = 1) PARAMETER (JPSEC2_QUASI = 17) PARAMETER (JPSEC2_QUDEF = JPBASE2) C C Offsets for Spherical Harmonic Data. C ____________________________________ C C JPSEC2_STRUNC - The offset of the Triangular truncation factor C in Section 2. C JPSEC2_JTRUNC - The offset of the J-Pentagonal resolution C parameter in Section 2. C JPSEC2_KTRUNC - The offset of the K-Pentagonal resolution C parameter in Section 2. C JPSEC2_MTRUNC - The offset of the M-Pentagonal resolution C parameter in Section 2. C JPSEC2_SHRES - The offset of the Representation Type in C Section 2. C JPSEC2_SHMODE - The offset of the Representation Mode in C Section 2. C INTEGER JPSEC2_STRUNC INTEGER JPSEC2_JTRUNC INTEGER JPSEC2_KTRUNC INTEGER JPSEC2_MTRUNC INTEGER JPSEC2_SHRES INTEGER JPSEC2_SHMODE C PARAMETER (JPSEC2_STRUNC = 2) PARAMETER (JPSEC2_JTRUNC = 2) PARAMETER (JPSEC2_KTRUNC = 3) PARAMETER (JPSEC2_MTRUNC = 4) PARAMETER (JPSEC2_SHRES = 5) PARAMETER (JPSEC2_SHMODE = 6) C C Offsets for all grid point data C _______________________________ C C JPSEC2_NLONG - The offset of the Number of points along a line C of latitude in Section 2. This value is unset C for a quasi regular Gaussian field. C JPSEC2_NLAT - The offset of the Number of lines of latitude C in Section 2. C JPSEC2_NORTH - The offset of the Northern line of latitude in C Section 2. C JPSEC2_SOUTH - The offset of the Southern line of latitude in C Section 2. C JPSEC2_WEST - The offset of the Western longitude limit in C Section 2. C JPSEC2_EAST - The offset of the Eastern longitude limit in C Section 2. This value should be ignored for a C quasi regular Gaussian field. C JPSEC2_RESOL - The offset of the Resolution flag in Section 2. C JPSEC2_DLONG - The offset of the Increment along a line of C latitude in Section 2. This value is unset for C a quasi regular Gaussian field or a field where C Grib cannot describe this value accurately C (0.5625 degrees). C JPSEC2_SCAN - The offset of the Scanning mode flag in C Section 2. C JPSEC2_VERT - The offset of the Number of vertical coordinate C parameters in Section 2. C INTEGER JPSEC2_NLONG INTEGER JPSEC2_NLAT INTEGER JPSEC2_NORTH INTEGER JPSEC2_WEST INTEGER JPSEC2_SOUTH INTEGER JPSEC2_EAST INTEGER JPSEC2_RESOL INTEGER JPSEC2_DLONG INTEGER JPSEC2_SCAN INTEGER JPSEC2_VERT C PARAMETER (JPSEC2_NLONG = 2) PARAMETER (JPSEC2_NLAT = 3) PARAMETER (JPSEC2_NORTH = 4) PARAMETER (JPSEC2_WEST = 5) PARAMETER (JPSEC2_SOUTH = 7) PARAMETER (JPSEC2_EAST = 8) PARAMETER (JPSEC2_RESOL = 6) PARAMETER (JPSEC2_DLONG = 9) PARAMETER (JPSEC2_SCAN = 11) PARAMETER (JPSEC2_VERT = 12) C C Offset for Gaussian grids only C ______________________________ C C JPSEC2_GTRUNC - The offset of Gaussian truncation value in C Section 2. This would be the number of points C between a pole and the equator for a global C grid. C INTEGER JPSEC2_GTRUNC C PARAMETER (JPSEC2_GTRUNC = 10) C C Offset for latitude longitude grids only C ________________________________________ C C JPSEC2_DLAT - The offset of the Increment along a line of C meridian in Section 2. This value is unset for C a field where Grib cannot describe this value C accurately (0.5625 degrees). C INTEGER JPSEC2_DLAT C PARAMETER (JPSEC2_DLAT = 10) C C _______________________________________________________ C C C* Section 7. Useful constants C _______________________________________________________ C C PPZERO - The constant real zero C PPONE - The constant real one C C JPABS - I/O parameter to PBSEEK causing absolute file C positioning. C JPEOF - End of file return value from PBSEEK or PBREAD. C JPERR - Error return value from PBSEEK or PBREAD. C REAL PPZERO, PPONE C PARAMETER (PPZERO = 0.0E0) PARAMETER (PPONE = 1.0E0) C INTEGER JPABS, JPEOF, JPERR C PARAMETER (JPABS = 0) PARAMETER (JPEOF = - 1) PARAMETER (JPERR = - 2) C INTEGER JPLEVEL, JPINNER, JPGRIB_SPACE C PARAMETER (JPLEVEL = 2) PARAMETER (JPINNER = JPLEVEL) PARAMETER (JPGRIB_SPACE = 1) C C _______________________________________________________ C C C* Section 8. Grid to Grid Constant Definitions C _______________________________________________________ C C JP_I_N - An array index used to access the input C latitude line North of the current output C point. C JP_I_S - An array index used to access the input C latitude line South of the current output C point. C JP_I_W - An array index used to access the input points C West of the current output point. C JP_I_E - An array index used to access the input points C East of the current output point. C C JP_I_NW - An array index used to access the weight array C for the point North-West of the current output C point. C JP_I_NE - An array index used to access the weight array C for the point North-East of the current output C point. C JP_I_SW - An array index used to access the weight array C for the point South-West of the current output C point. C JP_I_SE - An array index used to access the weight array C for the point South-East of the current output C point. C C JPNORTH - An array index used to access the Northern C value of a MARS AREA definition. C JPSOUTH - An array index used to access the Southern C value of a MARS AREA definition. C JPWEST - An array index used to access the Western C value of a MARS AREA definition. C JPEAST - An array index used to access the Eastern C value of a MARS AREA definition. C C JPWESTEP - An array index used to access the West-East C stride of a MARS GRID definition. C JPNSSTEP - An array index used to access the North-South C stride of a MARS GRID definition. C INTEGER JP_I_N, JP_I_S, JP_I_W, JP_I_E C PARAMETER (JP_I_N = 1) PARAMETER (JP_I_S = 2) PARAMETER (JP_I_W = 1) PARAMETER (JP_I_E = 2) C INTEGER JP_I_NW, JP_I_NE, JP_I_SW, JP_I_SE C PARAMETER (JP_I_NW = 1) PARAMETER (JP_I_NE = 2) PARAMETER (JP_I_SW = 3) PARAMETER (JP_I_SE = 4) C INTEGER JPNORTH, JPSOUTH, JPWEST, JPEAST C PARAMETER (JPNORTH = 1) PARAMETER (JPWEST = 2) PARAMETER (JPSOUTH = 3) PARAMETER (JPEAST = 4) C INTEGER JPWESTEP, JPNSSTEP C PARAMETER (JPWESTEP = 1) PARAMETER (JPNSSTEP = 2) C C -------------------------------------------------------------------- C Values for message logging C INTEGER JP_DEBUG, JP_INFO, JP_WARN, JP_ERROR, JP_FATAL, JPQUIET PARAMETER ( JP_DEBUG = 0 ) PARAMETER ( JP_INFO = 1 ) PARAMETER ( JP_WARN = 2 ) PARAMETER ( JP_ERROR = 3 ) PARAMETER ( JP_FATAL = 4 ) PARAMETER ( JPQUIET = -999999999 ) C C -------------------------------------------------------------------- C Values grid point generation styles C REAL*8 JPDISTP INTEGER JPSMARS, JPSDISM C C JPSMARS => Mars style, eg area checking C JPSDISM => Dissemination style, eg point selection C JPDISTP = default dissemination lat/long grid step (= 0.25 degrees) C PARAMETER ( JPSMARS = 0 ) PARAMETER ( JPSDISM = 1 ) PARAMETER ( JPDISTP = 0.25 ) emoslib-000392+dfsg.1/interpolation/set99.F0000755000175000017500000000314312127406245021435 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SET99(TRIGS,IFAX,N) DIMENSION TRIGS(N),IFAX(10),JFAX(10),LFAX(7) C----> C C SUBROUTINE 'SET99' - COMPUTES FACTORS OF N & TRIGONOMETRIC C FUNCTIONS REQUIRED BY FFT99 & FFT991 C C----< #include "jparams.h" C DATA LFAX/6,8,5,4,3,2,1/ IXXX=1 C DEL= (2.0*PPI)/FLOAT(N) NIL=0 NHL=(N/2)-1 DO 10 K=NIL,NHL ANGLE=FLOAT(K)*DEL TRIGS(2*K+1)=COS(ANGLE) TRIGS(2*K+2)=SIN(ANGLE) 10 CONTINUE C C FIND FACTORS OF N (8,6,5,4,3,2; ONLY ONE 8 ALLOWED) C LOOK FOR SIXES FIRST, STORE FACTORS IN DESCENDING ORDER NU=N IFAC=6 K=0 L=1 20 CONTINUE IF (MOD(NU,IFAC).NE.0) GO TO 30 K=K+1 JFAX(K)=IFAC IF (IFAC.NE.8) GO TO 25 IF (K.EQ.1) GO TO 25 JFAX(1)=8 JFAX(K)=6 25 CONTINUE NU=NU/IFAC IF (NU.EQ.1) GO TO 50 IF (IFAC.NE.8) GO TO 20 30 CONTINUE L=L+1 IFAC=LFAX(L) IF (IFAC.GT.1) GO TO 20 C WRITE(6,40) N 40 FORMAT(4H1N =,I4,27H - CONTAINS ILLEGAL FACTORS) RETURN C C NOW REVERSE ORDER OF FACTORS 50 CONTINUE NFAX=K IFAX(1)=NFAX DO 60 I=1,NFAX IFAX(NFAX+2-I)=JFAX(I) 60 CONTINUE IFAX(10)=N RETURN END emoslib-000392+dfsg.1/interpolation/iarmem.F0000755000175000017500000001467712127406245021750 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IARMEM (KIMEM, KOMEM, KPR, KERR) C C----> C**** *IARMEM* C C PURPOSE C _______ C C This routine acquires heap space for expanded REAL fields. C C INTERFACE C _________ C C IERR = IARMEM (KIMEM, KOMEM, KPR, KERR) C C Input parameters C ________________ C C KIMEM - Space required for input field. C C KOMEM - Space required for output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C None C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C nifld.common - This file contains all the input field C definition variables. C C NINS - Number of grid points in NS direction for input C field (used in ouspace.h). C NIWE - Number of grid points in WE direction for input C field (used in ouspace.h). C C nofld.common - This file contains all the output field C definition variables. C C NONS - Number of grid points in NS direction for output C field (used in ouspace.h). C NOWE - Number of grid points in WE direction for output C field (used in ouspace.h). C C ouspace.h - This file contains the work space array C definitions for the arrays to hold the unpacked C real data from GRIB fields. C C NIFELD - POINTER to array RIFELD. C NOFELD - POINTER to array ROFELD. C C RIFELD - Dynamic array of length (NIWE * NINS) C (see nifld.common) which holds the expanded C input field. C ROFELD - Dynamic array of length (NOWE * NONS) C (see nofld.common) which holds the expanded C output field. C C EXTERNALS C _________ C C IGALLOC - Get a heap allocation for array space. C INTLOG(R) - Logs messages. C C METHOD C ______ C C This routine calculates how much heap space is required. It C then calls IGALLOC to acquire the required space. Finally the C POINTERs to the arrays in ouspace.h are initialised to allow C the use of the dynamic arrays. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "ouspace.h" C C Dummy arguments INTEGER KIMEM, KOMEM, KPR, KERR C C Local variables INTEGER IBASE, IERR INTEGER JPROUTINE PARAMETER (JPROUTINE = 24100) C C External functions INTEGER IGALLOC C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IARMEM: Section 1.',JPQUIET) C IARMEM = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IARMEM: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IARMEM: Input fld space = ',KIMEM) CALL INTLOG(JP_DEBUG,'IARMEM: Output fld space = ',KOMEM) ENDIF C C _______________________________________________________ C C* Section 2. Calculate memory required and get heap C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IARMEM: Section 2.',JPQUIET) C C Get the required memory C IERR = IGALLOC (JPGRIB_SPACE, (KIMEM + KOMEM) * JPRLEN, IBASE, 1 KPR, KERR) C IF (IERR .GT. 0) THEN IARMEM = IERR GO TO 900 ENDIF C C _______________________________________________________ C C C* Section 3. Initialise base addresses for POINTER arrays C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IARMEM: Section 3.',JPQUIET) C NIFELD = IBASE NOFELD = NIFELD + KIMEM * JPRLEN C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IARMEM: Output base addresses.',JPQUIET) CALL INTLOG(JP_DEBUG,'IARMEM: Input fld base address = ',NIFELD) CALL INTLOG(JP_DEBUG,'IARMEM: Output fld base address= ',NOFELD) ENDIF C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IARMEM: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/getconf.F0000755000175000017500000000755612127406245022121 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETCONF( ) C C----> C**** GETCONF C C PURPOSE C _______ C C This routine looks for environment variable CONFIG_INTERP to C decide how to handle legendre coefficients. C C INTERFACE C _________ C C CALL GETCONF( ) C C Input parameters C ________________ C C None. C C Output parameters C ________________ C C Sets flags in common block JDCFLAGS (see nifld.common): C C LFILEIO, LMEMORY, LSHARED, LON_FLY, LMAPPED C C C Common block usage C __________________ C C JDCNDBG, JDCFLAGS C C C Method C ______ C C Looks for environment variable CONFIG_INTERP to decide how to C handle legendre coefficients. The variable contains entries in C the format: C C col 1 C | C v C FILEIO to read coefficents from a file one latitude at a time C MEMORY to read all coefficents from a file into memory C SHARED to read coefficents from a memory-mapped file C ON_FLY to generate coefficents for each latitude 'on the fly' C C Externals C _________ C C JDEBUG - Checks environment variable to switch on/off debug C INTLOG - Logs output messages C GETENV - Get value of an environment variable C C C Reference C _________ C C None. C C C Comments C ________ C C None. C C C AUTHOR C ______ C C J.D.Chambers ECMWF Jan 2000 C C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE #include "nifld.common" #include "parim.h" #include "jparams.h" C C Parameters C C Local variables C CHARACTER*20 CONFIG INTEGER IBLANK C LOGICAL LDEBUG SAVE LDEBUG C C -----------------------------------------------------------------| C* Section 1. Initialization. C -----------------------------------------------------------------| C 100 CONTINUE C IF( LIFIRST ) THEN C LIFIRST = .FALSE. C CALL JDEBUG( ) LDEBUG = NDBG.GT.0 C C Read the configuration information C CALL GETENV('CONFIG_INTERP', CONFIG) IBLANK = INDEX(CONFIG, ' ') IF( IBLANK.GT.6 ) THEN C IF( CONFIG(1:6).EQ.'FILEIO' ) LFILEIO = .TRUE. IF( CONFIG(1:6).EQ.'MEMORY' ) LMEMORY = .TRUE. IF( CONFIG(1:6).EQ.'SHARED' ) LSHARED = .TRUE. IF( CONFIG(1:6).EQ.'ON_FLY' ) LON_FLY = .TRUE. IF( CONFIG(1:6).EQ.'MAPPED' ) LMAPPED = .TRUE. IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'GETCONF: Legendre coefficents via: '//CONFIG(1:6),JPQUIET) ENDIF ELSE #ifdef _uxp__ IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'GETCONF: Default legendre coeff handling: MEMORY',JPQUIET) LMEMORY = .TRUE. #elif defined IBM_POWER4 IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'GETCONF: Default legendre coeff handling: MAPPED',JPQUIET) LMAPPED = .TRUE. #else IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'GETCONF: Default legendre coeff handling: FILEIO',JPQUIET) LFILEIO = .TRUE. #endif ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/krg2rgz.F0000755000175000017500000001403012127406245022045 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION KRG2RGZ(OLDFLD, NEWFLD, NUMGGO, NUMGGN) C C----> C**** KRG2RGZ C C Purpose C ------- C C Interpolate a field based on one reduced gaussian grid to a C field based on a different reduced gaussian grid. C C C Interface C --------- C C IRET = KRG2RGZ(OLDFLD, NEWFLD, NUMGGO, NUMGGN) C C Input C ----- C C OLDFLD - Old field as array of values C NUMGGO - Number of the old gaussian field C NUMGGN - Number of the new gaussian field C C C Output C ------ C C NEWFLD - New field as array of values C C Function returns: C - the size in bytes of the new GRIB product if all is well C - -1, otherwise. C C C Method C ------ C C Create new field and leave it unpacked. C C C Externals C --------- C C KINTRG - Interpolate reduced gaussian field to reduced gaussian C JMALLOC - Dynamically allocate memory C INTLOG - Log messages C C C Author C ------ C C J.D.Chambers ECMWF February 2002 C C----< C IMPLICIT NONE C C Function arguments C INTEGER NUMGGO, NUMGGN REAL OLDFLD(*), NEWFLD(*) C #include "parim.h" #include "intisl.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Parameters C INTEGER JPINTB, JPREALB, JPMAXNG INTEGER JSEC2 PARAMETER (JSEC2 = 5000) #ifdef INTEGER_8 PARAMETER (JPINTB = 8) #else PARAMETER (JPINTB = 4) #endif PARAMETER (JPMAXNG=4000) #ifdef REAL_8 PARAMETER (JPREALB = 8) #else PARAMETER (JPREALB = 8) #endif C C Local variables C INTEGER OLDGEO(JSEC2), NEWGEO(JSEC2) INTEGER LOOP C REAL PLAT(JPMAXNG) REAL PFSEC3(2) C INTEGER IRET LOGICAL LDEBUG C C Externals C INTEGER KINTRG EXTERNAL KINTRG C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C KRG2RGZ = 0 C IF( (NUMGGN*2).GT.JPMAXNG ) THEN CALL INTLOG(JP_ERROR,'KRG2RGZ: Gaussian N too big = ',NUMGGN) CALL INTLOG(JP_ERROR,'KRG2RGZ: Maximum handled = ',(JPMAXNG/2)) KRG2RGZ = -1 GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 2. Create new field. C -----------------------------------------------------------------| C 200 CONTINUE C DO LOOP = 1, JPMAXNG cs OLDGEO(LOOP) = 0 OLDGEO(LOOP+22) = MILLEN(LOOP) ENDDO cs CALL JGETGG( NUMGGO, 'R', PLAT, OLDGEO(23), IRET) cs IF( IRET.NE.0 ) THEN cs WRITE(*,*) 'KRG2RGZ: Problem calling JGETGG, status = ',IRET cs KRG2RGZ = -1 cs RETURN cs ENDIF C OLDGEO(3) = NUMGGO * 2 OLDGEO(4) = NINT(PLAT(1)*1000.0) OLDGEO(5) = 0 OLDGEO(7) = NINT(PLAT(NUMGGO*2)*1000.0) OLDGEO(8) = NINT((360.0-(360.0/REAL(NUMGGO*4)))*1000.0) OLDGEO(10) = NUMGGO C DO LOOP = 1, JPMAXNG NEWGEO(LOOP) = 0 ENDDO CALL JGETGG( NUMGGN, 'R', PLAT, NEWGEO(23), IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KRG2RGZ: Problem calling JGETGG, status = ',IRET KRG2RGZ = -1 RETURN ENDIF NEWGEO(3) = NUMGGN * 2 NEWGEO(4) = NINT(PLAT(1)*1000.0) NEWGEO(5) = 0 NEWGEO(7) = NINT(PLAT(NUMGGN*2)*1000.0) NEWGEO(8) = NINT((360.0-(360.0/REAL(NUMGGN*4)))*1000.0) NEWGEO(10) = NUMGGN C IRET = KINTRG(OLDGEO, NEWGEO, OLDFLD, NEWFLD) C IF( IRET.LE.0 ) THEN WRITE(*,*) 'KRG2RGZ: New field creation failed' KRG2RGZ = -1 RETURN ENDIF C cs KRG2RGZ = IRET * JPINTB cs this is the outlen KRG2RGZ = IRET IF( LDOUBLE ) THEN c filing of millen for double interpolation DO LOOP = 1, JPMAXNG MILLEN(LOOP) = NEWGEO(LOOP+22) ENDDO CALL INTLOG(JP_DEBUG, X 'KRG2RGZ: Set NIAREA - double interpolation',JPQUIET) NIAREA(1) = 0 NIAREA(2) = 0 NIAREA(3) = 0 NIAREA(4) = 0 NIGAUSS = NUMGGN cs DO LOOP = 1, NINS cs RIGAUSS(LOOP) = 0 cs MILLEN(LOOP) = 0 cs ENDDO NINS = NUMGGN*2 cs IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NIAREA(1) ',NIAREA(1)) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NIAREA(2) ',NIAREA(2)) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NIAREA(3) ',NIAREA(3)) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NIAREA(4) ',NIAREA(4)) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NIGAUSS ',NIGAUSS) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NINS ',NINS) cs ENDIF ELSE c sinisa for merging with grib_api NONS = 2 * NUMGGN NOWE = 0 NOAAPI(1) = NEWGEO(4)*JPMICRO NOAAPI(2) = NEWGEO(5)*JPMICRO NOAAPI(3) = NEWGEO(7)*JPMICRO NOAAPI(4) = NEWGEO(8)*JPMICRO NOAREA(1) = NEWGEO(4)*JPMICRO NOAREA(2) = NEWGEO(5)*JPMICRO NOAREA(3) = NEWGEO(7)*JPMICRO NOAREA(4) = NEWGEO(8)*JPMICRO cs IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NOAAPI(1) ',NOAAPI(1)) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NOAAPI(2) ',NOAAPI(2)) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NOAAPI(3) ',NOAAPI(3)) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NOAAPI(4) ',NOAAPI(4)) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NOGAUSS ',NOGAUSS) CALL INTLOG(JP_DEBUG, 'KRG2RGZ: NONS ',NONS) cs ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_128.h0000755000175000017500000000241212127406245022416 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG128(128) DATA QG128/ X 18, 25, 36, 40, X 45, 50, 60, 64, X 72, 72, 80, 90, X 90, 100, 108, 120, X 120, 125, 128, 144, X 144, 150, 160, 160, X 180, 180, 180, 192, X 192, 200, 216, 216, X 216, 225, 240, 240, X 240, 250, 250, 256, X 270, 270, 288, 288, X 288, 300, 300, 320, X 320, 320, 320, 324, X 360, 360, 360, 360, X 360, 360, 360, 375, X 375, 375, 375, 384, X 384, 400, 400, 400, X 400, 405, 432, 432, X 432, 432, 432, 432, X 432, 450, 450, 450, X 450, 450, 480, 480, X 480, 480, 480, 480, X 480, 480, 480, 480, X 486, 486, 486, 500, X 500, 500, 500, 500, X 500, 500, 512, 512, X 512, 512, 512, 512, X 512, 512, 512, 512, X 512, 512, 512, 512, X 512, 512, 512, 512, X 512, 512, 512, 512, X 512, 512, 512, 512 / emoslib-000392+dfsg.1/interpolation/tatorgg.F0000755000175000017500000001301512127406245022126 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION TATORGG(OLDFLD, NEWFLD, NUMPTS, POLELAT, POLELON, X TYPE, NGAUSS) C C----> C**** TATORGG C C PURPOSE C _______ C C Generates a rotated gaussian grid. C (Reverses the effects of GGROTAT). C C INTERFACE C _________ C C IRET = TATORGG(OLDFLD,NEWFLD,NUMPTS,POLELAT,POLELON,TYPE,NGAUSS) C C C Input parameters C ________________ C C OLDFLD = Original gaussian grid field. C NUMPTS = Total number of points in the original field. C POLELAT = Latitude of the South Pole of rotation. C POLELON = Longitude of the South Pole of rotation. C TYPE = 'R' if the gaussian field is reduced (quasi) gaussian. C = 'F' if the gaussian field is regular (full) gaussian. C NGAUSS = Gaussian grid number (number of latitude rows between C the pole and the equator). C C Output parameters C ________________ C C NEWFLD = New gaussian grid field. C (This can be the same array as OLDFLD). C C Function returns zero if interpolation ran OK. C C C METHOD C ______ C C The nearest gaussian latitude row is found. C C Work space is dynamically allocated. It is retained for future C calls. C C C EXTERNALS C _________ C C JGETGG - Pickup the gaussian grid definition. C EULAVGG - Calculates the interpolated value at a point of the new C gaussian grid. C INTLOG - Logs output messages C JMEMHAN - Dynamically allocate work array C C C REFERENCE C _________ C C None C C C COMMENTS C ________ C C The input field is assumed to be global in extent, and a known C definition, either N160 or N80 (reduced or regular). C The output field has the same type and dimensions as the input C field. C C C AUTHOR C ______ C C J.D.Chambers ECMWF April 1996 C C C MODIFICATIONS C _____________ C C None. C C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE, JPMAXGG PARAMETER( JPROUTINE = 38500 ) PARAMETER (JPMAXGG = 1280) C C Subroutine arguments C REAL OLDFLD, NEWFLD, POLELAT, POLELON INTEGER NUMPTS, NGAUSS DIMENSION OLDFLD(NUMPTS), NEWFLD(NUMPTS) CHARACTER*1 TYPE C C Local variables C REAL GLATS(JPMAXGG) INTEGER NGPTS(JPMAXGG) INTEGER OLDGAUS DATA OLDGAUS/0/ CHARACTER*1 OLDTYPE DATA OLDTYPE/' '/ SAVE GLATS, NGPTS, OLDGAUS, OLDTYPE C INTEGER NEXT, NEXLAT, INROW, LOOP, KRET REAL STEPLON, CUTOFF, RLAT, RLON DIMENSION RLON(JPMAXGG*2) C INTEGER ISIZE DATA ISIZE/0/ REAL WORK POINTER (IWORK, WORK) DIMENSION WORK(1) SAVE IWORK, ISIZE C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C TATORGG = 0 C C Get gaussian grid definition (first time only) C IF( (OLDGAUS.NE.NGAUSS).OR.(OLDTYPE.NE.TYPE)) THEN CALL INTLOG(JP_DEBUG, X 'TATORGG: Get definitions for gaussian grid type:',JPQUIET) CALL INTLOG(JP_DEBUG,TYPE,JPQUIET) CALL INTLOG(JP_DEBUG,'TATORGG: grid number:',NGAUSS) C CALL JGETGG(NGAUSS,TYPE,GLATS,NGPTS,KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'TATORGG: Failed to get gaussian grid definition:',JPQUIET) TATORGG = JPROUTINE + 1 GOTO 900 ENDIF OLDGAUS = NGAUSS OLDTYPE = TYPE ENDIF C C Allocate work space if not already done. C IF( ISIZE.LT.NUMPTS ) THEN ISIZE = NUMPTS CALL JMEMHAN(18,IWORK,NUMPTS,1,KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'TATORGG: Memory allocation failed: status = ',KRET) TATORGG = JPROUTINE + 2 GOTO 900 ENDIF ENDIF C C Move the original field to the work array C DO LOOP = 1, NUMPTS WORK(LOOP) = OLDFLD(LOOP) ENDDO C _______________________________________________________ C C* Section 2. Work through latitude lines from north to south C _______________________________________________________ C 200 CONTINUE C NEXT = 1 C DO NEXLAT = 1, NGAUSS*2 INROW = NGPTS(NEXLAT) STEPLON = FLOAT(3600000/INROW)/10000.0 RLAT = GLATS(NEXLAT) C C Fill in longitudes along current line of latitude C DO LOOP = 1, INROW RLON(LOOP) = (LOOP-1)*STEPLON ENDDO C C Rotate the current line of latitude C CALL EULAVGG(NEWFLD,NEXT,INROW,RLAT,RLON, X POLELAT,POLELON,WORK,NGAUSS,TYPE) C NEXT = NEXT + INROW C ENDDO C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C CALL INTLOG(JP_DEBUG,'TATORGG: Return from GGROTAT:',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/numptwe.F0000755000175000017500000000516312127406245022163 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION NUMPTWE(WEST,EAST,GRIDSTEP) C C----> C**** NUMPTWE C C Purpose C ------- C C Calculate number of grid points in the range from west to east. C C C Interface C --------- C C IRET = NUMPTWE(WEST,EAST,GRIDSTEP) C C Input C ----- C C WEST - Western boundary in degrees C EAST - Eastern boundary in degrees C GRIDSTEP - Grid interval in degrees C C C Output C ------ C C Function returns the number of grid points in the east-west C interval. C C C Method C ------ C C The grid is assumed to start at Greenwich. C C C Externals C --------- C C None. C C Author C ------ C C J.D.Chambers ECMWF Nov 1997 C C C Modifications C ------------- C C None. C C----< C IMPLICIT NONE C C Function arguments C REAL EAST, WEST, GRIDSTEP C C Local variables C INTEGER NL REAL*8 DEAST, DWEST REAL*8 LEFT, RIGHT, STEP, EPS DATA EPS/1.0E-3/ C C Statement function LOGICAL EQUAL REAL*8 A, B EQUAL(A,B) = ( ABS(A-B) .LT.EPS ) C C ------------------------------------------------------------------ C Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C C Make all longitudes positive for calculation of difference C DEAST = EAST DWEST = WEST RIGHT = DEAST + 360.0 LEFT = DWEST + 360.0 STEP = GRIDSTEP IF( RIGHT.LT.LEFT) RIGHT = RIGHT + 360.0 C C ------------------------------------------------------------------ C Section 2. Calculate the number of points in the interval C ------------------------------------------------------------------ C 200 CONTINUE C C Equal boundaries C IF( EQUAL(LEFT,RIGHT) ) THEN NUMPTWE = 1 GOTO 900 ENDIF C C Calculate offset of westernmost gridpoint C NL = INT((LEFT+EPS)/STEP) IF( .NOT. EQUAL(LEFT,(NL*STEP)) ) NL = NL + 1 C RIGHT = RIGHT - (NL*STEP) NUMPTWE = INT((RIGHT+EPS)/STEP) + 1 C C ------------------------------------------------------------------ C Section 9. Return C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jwscal.F0000755000175000017500000000752212127406245021750 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JWSCAL( PZFA, KLATS, KLONS, KFIRST, PLATS) C C----> C**** JWSCAL C C PURPOSE C _______ C C This routine applies a scale factor to all latitudes except C the poles C C INTERFACE C _________ C C CALL JWSCAL( PZFA, KLATS, KLONS, KFIRST, PLATS) C C Input parameters C ________________ C C PZFA - Array of wind field (U or V) fourier coefficients C KLATS - Number of latitude lines in PZFA C KLONS - Number of longitude points in each line of latitude C KFIRST - First latitude to process in PLATS C PLATS - Array of gaussian latitudes (degrees) C C Output parameters C ________________ C C PZFA - Modified array of fourier coefficients C C Common block usage C __________________ C C None. C C Method C ______ C C Apply latitude-dependent scale factor to all coefficients. C It is assumed that no latitude is at the North or South pole. C C Externals C _________ C C SSCAL - Apply scalar correction to row of values C C C Reference C _________ C C None C C C Comments C ________ C C PZFA contains pairs of north/south latitudes. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C IMPLICIT NONE C #include "jparams.h" C C Subroutine arguments C REAL PZFA DIMENSION PZFA(JPLONO+2, 64) INTEGER KLATS, KLONS, KFIRST REAL PLATS DIMENSION PLATS(*) C C Local variables C INTEGER JNEXTLAT, INORTH, ISOUTH REAL ZCOSI, ZLAT, ZPIBY2, ZDEGR C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE ZPIBY2 = PPI / 2.0 ZDEGR = PPI / 180.0 C C _______________________________________________________ C C* Section 2. Apply scale factor to all latitudes. C _______________________________________________________ C 200 CONTINUE INORTH = -1 DO 220 JNEXTLAT = 1, KLATS ZLAT = PLATS( KFIRST + JNEXTLAT - 1 ) INORTH = INORTH + 2 ISOUTH = INORTH + 1 ZCOSI = 1.0 / COS( ZLAT * ZDEGR ) CALL SSCAL( KLONS, ZCOSI, PZFA( 2, INORTH), 1) CALL SSCAL( KLONS, ZCOSI, PZFA( 2, ISOUTH), 1) 220 CONTINUE C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/ibasini.F0000755000175000017500000001224312127406245022077 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IBASINI(KFORCE) C C----> C**** IBASINI C C Purpose C ------- C C Ensures basic initialisation of common blocks is done C C Interface C --------- C C IRET = IBASINI(KFORCE) C C C Input parameters C ---------------- C C KFORCE = 1, to force initialisation of common blocks. C = 0, to check if initialisation of common blocks is done C already (and do it if not already done). C C C Method C ------ C C NJDCDOT in nifld.common is checked/set. C C Looks for environment variable INTERP_GEN_COEFFS which gives C the name of a file containing the cutoff spectral truncation C above which interpolation coefficients are generated 'on the C fly'. Variable NICOMP is set with this value in nifld.common. C The file contains entries for each computer architecture in C format: C C col 1 C | C v C FUJITSU 319 C sgimips 213 C hppa 213 C DEFAULT 106 C C If no matching $ARCH value, the DEFAULT value is used. C If no matching $ARCH and no DEFAULT value, a hard-code value is used. C C Looks for environment variable USE_HIRLAM_12POINT to determine C whether or not the Hiralm 12-point horizontal interpolation is C to be used for rotations. C C C Externals C --------- C C CLEAR_C - Clear common block variables C RDDEFS - Read interpolation handling default values C GETENV - Get value of an environment variable C JINDEX - Returns length of character string C C C Author C ------ C C J.D.Chambers ECMWF August 1994. C C----< C C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "intf.h" C C Function arguments C INTEGER KFORCE C C Local variables C CHARACTER*120 LINE CHARACTER*20 ARCH, USEHIR CHARACTER*256 CONFIG INTEGER IMAGIC, IRET, ICONFIG, IBLANK, LOOP DATA ICONFIG/69/ DATA IMAGIC/1952999238/ C C Externals C INTEGER RDDEFS, JINDEX C C -----------------------------------------------------------------| C Section 1. Force initialisation if requested. C -----------------------------------------------------------------| C 100 CONTINUE C IF ( KFORCE .EQ. 1 ) NJDCDOT = 0 C C See if basic initialisation has already been done or not C IF ( NJDCDOT .NE. IMAGIC ) THEN C C Clear common block variables C CALL CLEAR_C() C IRET = 1 CALL IAINIT(0,IRET) C C Set interpolation handling default values C (Replaces old call to rddefs) C NILOCAL = 0 NISTREM = 0 NIFORM = 1 NOFORM = 1 NITABLE = 128 NOTABLE = 128 NIPARAM = 0 DO LOOP = 1,4 NIAREA(LOOP) = 0 NOAREA(LOOP) = 0 ENDDO NISCNM = 0 NOSCNM = 0 C C Set default value for truncation above which interpolation C coefficients are to be computed dynamically C NICOMP = 319 C C Now see if this default value has been modified in a C configuration file C CALL GETENV('INTERP_GEN_COEFFS', CONFIG) IBLANK = JINDEX(CONFIG) IF( IBLANK.GE.1 ) THEN C C Open the configuration file C OPEN( ICONFIG, FILE=CONFIG, STATUS='OLD', ERR=200) CALL GETENV('ARCH', ARCH) IBLANK = JINDEX(ARCH) IF( IBLANK.LT.1 ) ARCH = 'DEFAULT' IBLANK = JINDEX(ARCH) C C Look for matching 'arch' C 110 CONTINUE READ( ICONFIG, '(A)', END= 200) LINE IF( ARCH(1:IBLANK).EQ.LINE(1:IBLANK) ) THEN READ(LINE(IBLANK+1:),'(1X,I3)') NICOMP GOTO 200 ENDIF C C Pickup default (will be used if no matching 'arch') C IF( (LINE(1:7).EQ.'DEFAULT').OR. X (LINE(1:7).EQ.'default') ) X READ(LINE(IBLANK+1:),'(1X,I3)') NICOMP C GOTO 110 ENDIF C C -----------------------------------------------------------------| C Section 2. See if Hirlam 12-point horizontal interpolation to be C use for rotations (default = 'yes'). C -----------------------------------------------------------------| C 200 CONTINUE C LUSEHIR = .TRUE. CALL GETENV('USE_HIRLAM_12POINT', USEHIR) IF( (USEHIR(1:3).EQ.'OFF').OR.(USEHIR(1:2).EQ.'NO') ) X LUSEHIR = .FALSE. C C -----------------------------------------------------------------| C Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C C Set 'magic number' to show basic initialisation has been done C NJDCDOT = IMAGIC C ENDIF C IBASINI = 0 C RETURN END emoslib-000392+dfsg.1/interpolation/iaintll.F0000755000175000017500000003770712127406245022131 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IAINTLL (KIFELD, KILEN, PWEST, PEAST, PNORTH, 1 PSOUTH, PNSINC, PWEINC, KOFELD, KOLEN, KOBITS, KPR, KERR) C C----> C**** *IAINTLL* C C PURPOSE C _______ C C The global controlling routine for interpolating between a GRIB C input field and a regular latitude longitude output field. C C INTERFACE C _________ C C IERR = IAINTLL (KIFELD, KILEN, PWEST, PEAST, PNORTH, PSOUTH, C 1 PNSINC, PWEINC, KOFELD, KOLEN, KOBITS, KPR, KERR) C C Input parameters C ________________ C C KIFELD - The input field provided by the calling routine. C C KILEN - The length of the input field. C C PWEST - The Western limit of the output field area. C C PEAST - The Eastern limit of the output field area. C C PNORTH - The Northern limit of the output field area. C C PSOUTH - The Southern limit of the output field area. C C PNSINC - The North-South stride for the output field. C C PWEINC - The West-East stride for the output field. C C KOLEN - The length of the output field. C C KOBITS - The number of bits used for packing the output array. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KOFELD - The output field returned to the calling routine. C C KOLEN - The amount of the output array used for the packed C GRIB field. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 21301 The number of bits requested was outside the allowed C range 0 to 24. C 21302 The input data representation was not valid when the GRIB C field had been expanded. C C Common block usage C __________________ C C grfixed.h - The include file contains all the array space C for grid to grid interpolation. C C MILLEN - The array of latitude line lengths for a quasi C regular input field is used. C RIGAUSS - Real array of input field Gaussian latitudes is C used. C C ouspace.h - This file contains the work space array C definitions for the arrays to hold the unpacked C real data from GRIB fields. C C RIFELD - The expanded input field is set and used. C ROFELD - The expanded output field is set and used. C C nifld.common - This file contains all the input field C definition variables. C C LCHANGE - Process change flag is set. C C NIAREA - Input field area definition (N/W/S/E) is set. C NIGAUSS - Input field Gaussian truncation is used. C NIGRID - Input field grid definition (WE/NS) is used. C NINS - Number of grid points in NS direction for input C field is used. C NIREPR - Input field representation is used. C NIWE - Number of grid points in WE direction for input C field is used. C C nofld.common - This file contains all the output field C definition variables. C C NOACC - Number of packing bits to be used for output C GRIB field is set. C NOAREA - Output field area definition (N/W/S/E) is set. C NOGRID - Output field grid definition (WE/NS) is used.. C NONS - Number of grid points in NS direction for output C field is set and used. C NOWE - Number of grid points in WE direction for output C field is set and used. C C EXTERNALS C _________ C C ABORTX - Standard routine to kill task. C GRIBEX - Standard routine to unpack or pack a GRIB field. C IAGCNTL - Perform regular grid to grid point interpolation. C IARCNTL - Perform regular grid to grid point interpolation. C IAIDEF - Initialise the input field definition variables C from a GRIB definition C IAOLDEF - Initialise the output field definition variables C from the user supplied values. C IARESET - Create the output field definition in GRIB format. C IARMEM - Get space for the unpacked input and output C fields. C IGLSIZE - Evaluate the array sizes for a regular C latitude/longitude grid and area. C IGSIZE - Evaluate the array sizes for a Gaussian truncation C and area. C IRSIZE - Evaluate the array sizes for a quasi regular C Gaussian field. C INTLOG - Logs messages. C C METHOD C ______ C C This is purely a controlling routine with all the work being C performed in the external routines. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 7 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "ouspace.h" C C Dummy arguments C INTEGER KILEN, KOLEN, KOBITS, KPR, KERR C REAL PWEST, PEAST, PNORTH, PSOUTH, PNSINC, PWEINC C INTEGER KIFELD (*), KOFELD (*) C C Local variables C CHARACTER*1 HFUNC LOGICAL GIWEGLOBE, GINPOLE, GISPOLE, GOWEGLOBE, GONPOLE, 1 GOSPOLE, GICHNG, GOCHNG C INTEGER IILN, ITOTAL, IOLN C INTEGER IIAREA (4), IOAREA (4) C INTEGER JLAT, JSET C INTEGER IERR C INTEGER ISEC0 (JPGRIB_ISEC0), ISEC1 (JPGRIB_ISEC1) INTEGER ISEC2 (JPGRIB_ISEC2), ISEC3 (JPGRIB_ISEC3) INTEGER ISEC4 (JPGRIB_ISEC4) C INTEGER ZSEC2 (JPGRIB_RSEC2), ZSEC3 (JPGRIB_RSEC3) C INTEGER JPROUTINE C PARAMETER (JPROUTINE = 21300) C C External functions C INTEGER IAGCNTL, IARCNTL, IAIDEF, IAOLDEF, IARESET, IARMEM, 1 IGSIZE, IGLSIZE, IRSIZE C C Transform definition variables that must be preserved C SAVE IILN, IIAREA, IOLN, IOAREA, ITOTAL SAVE GIWEGLOBE, GINPOLE, GISPOLE, GOWEGLOBE, GONPOLE, 1 GOSPOLE C C _______________________________________________________ C C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTLL: Section 1.',JPQUIET) C IAINTLL = 0 C IERR = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IAINTLL: Input parameters',JPQUIET) CALL INTLOG(JP_DEBUG,'IAINTLL: Input array length = ',KILEN) CALL INTLOG(JP_DEBUG,'IAINTLL: Output array length = ',KOLEN) CALL INTLOG(JP_DEBUG,'IAINTLL: Out field packing bits=',KOBITS) CALL INTLOGR(JP_DEBUG,'IAINTLL: W-E increment is ',PWEINC) CALL INTLOGR(JP_DEBUG,'IAINTLL: N-S increment is ',PNSINC) CALL INTLOGR(JP_DEBUG,'IAINTLL: Area North = ',PNORTH) CALL INTLOGR(JP_DEBUG,'IAINTLL: Area West = ',PWEST) CALL INTLOGR(JP_DEBUG,'IAINTLL: Area South = ',PSOUTH) CALL INTLOGR(JP_DEBUG,'IAINTLL: Area East = ',PEAST) ENDIF C IF (KOBITS .LT. 0 .OR. KOBITS .GT. 24) THEN C IAINTLL = JPROUTINE + 1 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IAINTLL: No. bits requested = ',KOBITS) CALL INTLOG(JP_ERROR, X 'IAINTLL: Range allowed is <0 - 24>',JPQUIET) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IAINTLL: Interpolation failing.',JPQUIET) ENDIF GO TO 900 C ENDIF C NOACC = KOBITS C C _______________________________________________________ C C C* Section 2. Input grid definition from GRIB file C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTLL: Section 2.',JPQUIET) C C Unpack GRIB sections 0, 1 and 2 only C IERR = KERR C C CALL GRSDBG (KPR) C CALL GRIBEX (ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, 1 RIFELD, 1, KIFELD, KILEN, KOLEN, 'I', IERR) C IF (IERR .NE. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C IERR = IAIDEF (ISEC1, ISEC2, IIAREA, MILLEN, GICHNG, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C IF (GICHNG) THEN C DO 210 JSET = 1, 4 NIAREA (JSET) = IIAREA (JSET) 210 CONTINUE C IF (NIREPR .EQ. JPGAUSSIAN) THEN C IERR = IGSIZE (NIGAUSS, NIAREA, NIWE, NINS, IILN, RIGAUSS, 1 GIWEGLOBE, GINPOLE, GISPOLE, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C ITOTAL = NIWE * NINS C ELSE IF (NIREPR .EQ. JPQUASI) THEN C IERR = IRSIZE (NIGAUSS, NIAREA, MILLEN, NIWE, NINS, IILN, 1 ITOTAL, RIGAUSS, GIWEGLOBE, GINPOLE, GISPOLE, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C ELSE IF (NIREPR .EQ. JPREGULAR) THEN C IERR = IGLSIZE (NIGRID, NIAREA, NIWE, NINS, IILN, 1 GIWEGLOBE, GINPOLE, GISPOLE, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C ITOTAL = NIWE * NINS C ELSE C IAINTLL = JPROUTINE + 2 IF (KERR .GE. 0) CALL INTLOG(JP_ERROR, X 'IAINTLL: Invalid input representation = ',NIREPR) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IAINTLL: Interpolation failing.',JPQUIET) GO TO 900 C ENDIF C ELSE IF (NIREPR .NE. JPQUASI) THEN ITOTAL = NIWE * NINS ELSE ITOTAL = 0 DO 220 JLAT = 1, NINS ITOTAL = ITOTAL + MILLEN (JLAT) 220 CONTINUE ENDIF ENDIF C LCHANGE = LCHANGE .OR. GICHNG C C _______________________________________________________ C C C* Section 3. Output field definiton from parameters C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTLL: Section 3.',JPQUIET) C IERR = IAOLDEF (PWEST, PEAST, PNORTH, PSOUTH, PNSINC, PWEINC, 1 IOAREA, GOCHNG, GIWEGLOBE, GINPOLE, GISPOLE, NIAREA, KPR, 2 KERR) C IF (IERR .GT. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C IF (GOCHNG) THEN C DO 310 JSET = 1, 4 NOAREA (JSET) = IOAREA (JSET) 310 CONTINUE C NOWE = 0 NONS = 0 C IERR = IGLSIZE (NOGRID, NOAREA, NOWE, NONS, IOLN, GOWEGLOBE, 1 GONPOLE, GOSPOLE, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTLL = IERR GO TO 900 ENDIF ENDIF C LCHANGE = LCHANGE .OR. GOCHNG C C _______________________________________________________ C C C* Section 4. Get space for REAL input and output arrays C _______________________________________________________ C 400 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTLL: Section 4.',JPQUIET) C IF (LCHANGE) THEN C IERR = IARMEM (ITOTAL, NOWE * NONS, KPR, KERR) C IF (IERR .GT. 0) THEN IAINTLL = IERR GO TO 900 ENDIF ENDIF C C _______________________________________________________ C C C* Section 5. Fully unpack the GRIB array C _______________________________________________________ C 500 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTLL: Section 5.',JPQUIET) C IERR = KERR C C CALL GRSDBG (KPR) C ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL GRIBEX (ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, 1 RIFELD, ITOTAL, KIFELD, KILEN, KOLEN, 'D', IERR) C IF (IERR .NE. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C C _______________________________________________________ C C C* Section 6. Basic interpolation from input to output field C _______________________________________________________ C 600 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTLL: Section 6.',JPQUIET) C IF (NIREPR .EQ. JPQUASI) THEN IERR = IARCNTL (RIFELD, ITOTAL, ROFELD, NOWE * NONS, IILN, 1 GIWEGLOBE, GINPOLE, GISPOLE, IOLN, GOWEGLOBE, GONPOLE, 1 GOSPOLE, KPR, KERR) ELSE IERR = IAGCNTL (RIFELD, ITOTAL, ROFELD, NOWE * NONS, IILN, 1 GIWEGLOBE, GINPOLE, GISPOLE, IOLN, GOWEGLOBE, GONPOLE, 1 GOSPOLE, KPR, KERR) ENDIF C IF (IERR .NE. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C C _______________________________________________________ C C C* Section 7. Repack GRIB code C _______________________________________________________ C 700 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTLL: Section 7.',JPQUIET) C IERR = IARESET (ISEC2, ISEC4, NOWE * NONS, KPR, KERR) C IF (IERR .NE. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C IERR = KERR C C CALL GRSDBG (KPR) C C PACKING specified can be second-order, simple or archive value C IF( NOHFUNC.EQ.'K' ) THEN HFUNC = 'K' ISEC4(4) = 64 ISEC4(6) = 16 ISEC4(9) = 32 ISEC4(10) = 16 ISEC4(12) = 8 ISEC4(13) = 4 ISEC4(14) = 0 ISEC4(15) = -1 ELSE IF( NOHFUNC.EQ.'S' ) THEN HFUNC = 'C' ISEC4(4) = 0 ISEC4(6) = 0 ELSE IF( NOHFUNC.EQ.'A' ) THEN IF( ISEC4(4).EQ.64 ) THEN HFUNC = 'K' ELSE HFUNC = 'C' ENDIF ENDIF C IF( LIMISSV ) THEN ISEC1(5) = 192 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV ENDIF CALL GRIBEX (ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, 1 ROFELD, NOWE * NONS, KOFELD, KOLEN, KOLEN, HFUNC, IERR) C IF (IERR .NE. 0) THEN IAINTLL = IERR GO TO 900 ENDIF C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG, X 'IAINTLL: Output array length = ',KOLEN) C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAINTLL: Section 9.',JPQUIET) C 9002 FORMAT (' IAINTLL ERROR', I6, ' - Input representation', I6, 1 ' is not valid') C RETURN END emoslib-000392+dfsg.1/interpolation/nmakll.F0000755000175000017500000000662112127406245021742 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE NMAKLL( KTRUNC, PINTVL, PLAT, KNUM, PLEG, KRET) C C----> C**** NMAKLL C C PURPOSE C _______ C C This routine creates legendre functions for latitude rows from C the given latitude. C C INTERFACE C _________ C C CALL NMAKLL( KTRUNC, PINTVL, PLAT, KNUM, PLEG, KRET) C C Input parameters C ________________ C C KTRUNC - Truncation. C PINTVL - Grid interval (degrees) C PLAT - Start latitude in degrees. C KNUM - Number of latitudes C C Output parameters C ________________ C C PLEG - Array of legendre functions for the latitude. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C See below. C C Externals C _________ C C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C Reference C _________ C C None. C C Comments C ________ C C None at present. C C AUTHOR C ______ C C J.D.Chambers *ECMWF* June 1999 C C MODIFICATIONS C _____________ C C None. C C----< C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30500 ) C C Subroutine arguments C INTEGER KTRUNC, KRET, KNUM REAL PLEG, PINTVL, PLAT DIMENSION PLEG(*) C C Local variables C REAL ZLAST, ZLAT, ALAT, DEG2RAD INTEGER NEXTRW, NEXT, FIRST, LAST C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C IF( NDBG.GT.1 ) THEN CALL INTLOG(JP_DEBUG,'NMAKLL: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG,'NMAKLL: Truncation = ', KTRUNC) CALL INTLOG(JP_DEBUG,'NMAKLL: Number of latitudes = ', KNUM) CALL INTLOGR(JP_DEBUG, X 'NMAKLL: Grid interval (degrees) = ', PINTVL) CALL INTLOGR(JP_DEBUG, X 'NMAKLL: Latitude in degrees = ', PLAT) ENDIF C IF( PLAT.LT.0.0 ) THEN ZLAT = 0.0 ELSE ZLAT = PLAT ENDIF C C _______________________________________________________ C C* Section 2. Processing. C _______________________________________________________ C DEG2RAD = PPI / 180.0 C ZLAST = ZLAT - (KNUM-1)*PINTVL NEXTRW = 1 FIRST = NINT(ZLAT/PINTVL) LAST = NINT(ZLAST/PINTVL) DO NEXT = FIRST, LAST, -1 ALAT = (NEXT*PINTVL) * DEG2RAD C IF( NDBG.GT.1 ) CALL INTLOGR(JP_DEBUG, X 'NMAKLL: Next latitude constructed = ', (NEXT*PINTVL)) C CALL JSPLEG1( PLEG(NEXTRW), ALAT, KTRUNC) NEXTRW = NEXTRW + (KTRUNC+1)*(KTRUNC+4)/2 ENDDO C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/init_cm.F0000755000175000017500000001754212127406245022112 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INIT_CM( KPARAM, KVAL ) C----> C**** INIT_CM C C Purpose C ------- C C Initialise common block values used by interpolation. C C C Interface C --------- C C IRET = INIT_CM( KPARAM, KVAL ) C C Input C ----- C C KPARAM - Flag indicating common block element to update. C KVAL - Value for element. C C C Output C ------ C C Common block entry updated. C C C Method C ------ C C 1 NIFORM C 2 NOFORM C 3 NITABLE C 4 NIPARAM C 5 NIRESO C 6 NORESO C 7 NOACC C 8 NIGRID(1) C 9 NIGRID(2) C 10 NOGRID(1) C 11 NOGRID(2) C 12 NIGAUSS, RIGAUSS, MILLEN, NINS, NIGAUSO, HIGAUST C 13 NOGAUSS, ROGAUSS, NOLPTS, NONS, NOGAUSO, HOGAUST C 14 NIAREA(1) C 15 NIAREA(2) C 16 NIAREA(3) C 17 NIAREA(4) C 18 NOAREA(1) C 19 NOAREA(2) C 20 NOAREA(3) C 21 NOAREA(4) C 22 NISCNM C 23 NOSCNM C 24 LSM C 25 LWIND C 26 LPREC C 27 RIGAUSS, MILLEN, NINS, NIGAUSO, HIGAUST C 28 ROGAUSS, NOLPTS, NONS, NOGAUSO, HOGAUST C 29 LSMPAR C C 99 Display current values in common block. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF C C----< C IMPLICIT NONE C C Function arguments C INTEGER KPARAM, KVAL C C Local variables C INTEGER IRET, LOOP C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "current.h" C INIT_CM = 0 C IF ( KPARAM .EQ.1 ) NIFORM = KVAL C IF ( KPARAM .EQ.2 ) NOFORM = KVAL C IF ( KPARAM .EQ.3 ) NITABLE = KVAL C IF ( KPARAM .EQ.4 ) NIPARAM = KVAL C IF ( KPARAM .EQ.5 ) NIRESO = KVAL C IF ( KPARAM .EQ.6 ) NORESO = KVAL C IF ( KPARAM .EQ.7 ) NOACC = KVAL C IF ( KPARAM .EQ.8 ) NIGRID(1) = KVAL C IF ( KPARAM .EQ.9 ) NIGRID(2) = KVAL C IF ( KPARAM .EQ.10) NOGRID(1) = KVAL C IF ( KPARAM .EQ.11) NOGRID(2) = KVAL C IF ( KPARAM .EQ.12) THEN NIGAUSS = KVAL IF( (NIGAUSO.NE.NIGAUSS).OR.(HIGAUST.NE.'F') ) THEN CALL JGETGG( NIGAUSS, 'F', RIGAUSS, MILLEN, IRET) IF ( IRET .NE. 0 ) THEN WRITE(*,*) 'INIT_CM: JGETGG failed for NIGAUSS' INIT_CM = IRET GOTO 900 ENDIF NINS = 2*NIGAUSS NIGAUSO = NIGAUSS HIGAUST = 'F' ENDIF ENDIF C IF ( KPARAM .EQ.13) THEN NOGAUSS = KVAL IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'F') ) THEN CALL JGETGG( NOGAUSS, 'F', ROGAUSS, NOLPTS, IRET) IF ( IRET .NE. 0 ) THEN WRITE(*,*) 'INIT_CM: JGETGG failed for NOGAUSS' INIT_CM = IRET GOTO 900 ENDIF NONS = 2*NOGAUSS NOGAUSO = NOGAUSS HOGAUST = 'F' ENDIF ENDIF C IF ( KPARAM .EQ.14) NIAREA(1) = KVAL C IF ( KPARAM .EQ.15) NIAREA(2) = KVAL C IF ( KPARAM .EQ.16) NIAREA(3) = KVAL C IF ( KPARAM .EQ.17) NIAREA(4) = KVAL C IF ( KPARAM .EQ.18) NOAREA(1) = KVAL C IF ( KPARAM .EQ.19) NOAREA(2) = KVAL C IF ( KPARAM .EQ.20) NOAREA(3) = KVAL C IF ( KPARAM .EQ.21) NOAREA(4) = KVAL C IF ( KPARAM .EQ.22) NISCNM = KVAL C IF ( KPARAM .EQ.23) NOSCNM = KVAL C IF ( KPARAM .EQ.24) THEN IF ( KVAL .EQ. 1) THEN LSM = .TRUE. ELSE LSM = .FALSE. ENDIF ENDIF C IF ( KPARAM .EQ.25) THEN IF ( KVAL .EQ. 1) THEN LWIND = .TRUE. ELSE LWIND = .FALSE. ENDIF ENDIF C IF ( KPARAM .EQ.26) THEN IF ( KVAL .EQ. 1) THEN LPREC = .TRUE. ELSE LPREC = .FALSE. ENDIF ENDIF C IF ( KPARAM .EQ.27) THEN IF ( KVAL .EQ. 1) THEN IF( (NIGAUSO.NE.NIGAUSS).OR.(HIGAUST.NE.'R') ) THEN CALL JGETGG( NIGAUSS, 'R', RIGAUSS, MILLEN, IRET) IF ( IRET .NE. 0 ) THEN WRITE(*,*) 'INIT_CM: JGETGG failed for NIGAUSS' INIT_CM = IRET GOTO 900 ENDIF NINS = 2*NIGAUSS NIGAUSO = NIGAUSS HIGAUST = 'R' ENDIF ELSE WRITE(*,*) 'No user input supported for reduced gaussian grid' INIT_CM = 999 GOTO 900 ENDIF ENDIF C IF ( KPARAM .EQ.28) THEN IF ( KVAL .EQ. 1) THEN IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'R') ) THEN CALL JGETGG( NOGAUSS, 'R', ROGAUSS, NOLPTS, IRET) IF ( IRET .NE. 0 ) THEN WRITE(*,*) 'INIT_CM: JGETGG failed for NIGAUSS' INIT_CM = IRET GOTO 900 ENDIF NONS = 2*NOGAUSS NOGAUSO = NOGAUSS HOGAUST = 'R' ENDIF ELSE WRITE(*,*) 'No user input supported for reduced gaussian grid' INIT_CM = 999 GOTO 900 ENDIF ENDIF C IF ( KPARAM .EQ.29) THEN IF ( KVAL .EQ. 1) THEN LSMPAR = .TRUE. ELSE LSMPAR = .FALSE. ENDIF ENDIF C IF ( KPARAM .EQ.99) THEN WRITE(*,*) ' LCHANGE = ', LCHANGE WRITE(*,*) ' LSMCHNG = ', LSMCHNG WRITE(*,*) ' LSMSET = ', LSMSET WRITE(*,*) ' LSMPARSET = ', LSMPARSET WRITE(*,*) ' LPRECSET = ', LPRECSET WRITE(*,*) ' LWINDSET = ', LWINDSET WRITE(*,*) ' NINS = ', NINS WRITE(*,*) ' NIWE = ', NIWE WRITE(*,*) ' NO1NS = ', NO1NS WRITE(*,*) ' NO1WE = ', NO1WE WRITE(*,*) ' NONS = ', NONS WRITE(*,*) ' NOWE = ', NOWE C WRITE(*,*) ' NIFORM = ', NIFORM WRITE(*,*) ' NOFORM = ', NOFORM WRITE(*,*) ' NITABLE = ', NITABLE WRITE(*,*) ' NIPARAM = ', NIPARAM WRITE(*,*) ' NIRESO = ', NIRESO WRITE(*,*) ' NORESO = ', NORESO WRITE(*,*) ' LNORESO = ', LNORESO WRITE(*,*) ' NOACC = ', NOACC WRITE(*,*) ' LNOACC = ', LNOACC WRITE(*,*) ' NIGRID(1) = ', NIGRID(1) WRITE(*,*) ' NIGRID(2) = ', NIGRID(2) WRITE(*,*) ' NOGRID(1) = ', NOGRID(1) WRITE(*,*) ' NOGRID(2) = ', NOGRID(2) WRITE(*,*) ' NIGAUSS = ', NIGAUSS WRITE(*,*) ' NOGAUSS = ', NOGAUSS WRITE(*,*) ' LNOGAUS = ', LNOGAUS WRITE(*,*) ' NIAREA(1) = ', NIAREA(1) WRITE(*,*) ' NIAREA(2) = ', NIAREA(2) WRITE(*,*) ' NIAREA(3) = ', NIAREA(3) WRITE(*,*) ' NIAREA(4) = ', NIAREA(4) WRITE(*,*) ' NOAREA(1) = ', NOAREA(1) WRITE(*,*) ' NOAREA(2) = ', NOAREA(2) WRITE(*,*) ' NOAREA(3) = ', NOAREA(3) WRITE(*,*) ' NOAREA(4) = ', NOAREA(4) WRITE(*,*) ' NISCNM = ', NISCNM WRITE(*,*) ' NOSCNM = ', NOSCNM WRITE(*,*) ' LSM = ', LSM WRITE(*,*) ' LWIND = ', LWIND WRITE(*,*) ' LPREC = ', LPREC WRITE(*,*) ' LSMPAR = ', LSMPAR ENDIF C IF ( KPARAM .GT.99) THEN DO 110 LOOP = 1, NINS WRITE(*,*) ' RIGAUSS(',LOOP,'), MILLEN(',LOOP,')=', X RIGAUSS(LOOP), MILLEN(LOOP) 110 CONTINUE DO 120 LOOP = 1, NONS WRITE(*,*) ' ROGAUSS(',LOOP,'), NOLPTS(',LOOP,')=', X ROGAUSS(LOOP), NOLPTS(LOOP) 120 CONTINUE ENDIF C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/consint.F900000755000175000017500000003434212127406245022313 0ustar amckinstryamckinstrySUBROUTINE CONSINT (KLAT_IN, KLON_IN, PLAT_IN, KIN,& & KLAT_OUT,KLON_OUT,PLAT_OUT,KOUT,& & PFLD_IN, PFLD_OUT, & & LDPAR) ! Purpose. ! -------- ! Conserving bicubic interpolation of grid field from model ! resolution to grid defined by input parameter. Assumes the ! whole field is in memory. ! Explicit arguments: ! ------------------- ! Input: ! KLAT_IN - number of latitude rows of the input grid ! KLON_IN - number of longitudes for each row of the input grid ! PLAT_IN - latitude (degrees) of each row of the input grid ! KIN - size of input array ! KLAT_OUT - number of latitude rows of the output grid ! KLON_OUT - number of longitudes for each row of the output grid ! PLAT_OUT - latitude (degrees) of each row of the output grid ! KOUT - size of output array ! PFLD_IN - array of grid values at input resolution ! Output: ! PFLD_OUT - array of interpolated values ! Optional: ! LDPAR - parity for extra-polar calculations ! .TRUE. for scalar fields ! .FASE. for vector fields ! Author. ! ------- ! E. Holm - modification of GRID_BICUBIC by Y.Tremolet ! Modifications. ! -------------- ! Original: 27/05/04 ! 20050507 Elias Holm: Introduce order and limiter in call and ! generalize code for up to quintic interpolation ! Y.Tremolet 26-Jan-2005 Added optional arguments ! 20080204 Elias Holm: Surface pressure on input/output and ! simplified ! 20081015 Elias Holm: Simplify and reorder calculations for speed ! 20101230 Elias Holm: Simplified version without pressure thickness ! weighting ! 20110125 Elias Holm: Latitude inputs in degrees ! ------------------------------------------------------------------ IMPLICIT NONE INTEGER,INTENT(IN) :: KLAT_IN INTEGER,INTENT(IN) :: KLON_IN(KLAT_IN) REAL ,INTENT(IN) :: PLAT_IN(KLAT_IN) INTEGER,INTENT(IN) :: KIN INTEGER,INTENT(IN) :: KLAT_OUT INTEGER,INTENT(IN) :: KLON_OUT(KLAT_OUT) REAL ,INTENT(IN) :: PLAT_OUT(KLAT_OUT) INTEGER,INTENT(IN) :: KOUT REAL ,INTENT(IN) :: PFLD_IN(KIN) REAL ,INTENT(OUT) :: PFLD_OUT(KOUT) LOGICAL, OPTIONAL, INTENT(IN) :: LDPAR INTEGER :: IND_IN (KLAT_IN) INTEGER :: ILON_IN (-2:KLAT_IN+3) REAL :: ZLAT_IN (-2:KLAT_IN+3) REAL :: ZLON_IN (-2:KLAT_IN+3) REAL :: ZDLAT_IN(-2:KLAT_IN+3), ZDLATI_IN(-2:KLAT_IN+3) REAL :: ZDLON_IN(-2:KLAT_IN+3), ZDLONI_IN(-2:KLAT_IN+3) REAL :: ZHLAT_IN(-2:KLAT_IN+3) REAL :: ZHLON_IN(-2:KLAT_IN+3) REAL :: ZDHLAT_IN(-2:KLAT_IN+3), ZDHLATI_IN(-2:KLAT_IN+3) REAL :: ZG_IN (-2:KLAT_IN+3) INTEGER :: ILAT_IO (0:KLAT_OUT) REAL :: ZLAT_OUT (0:KLAT_OUT), ZLON_OUT (1:KLAT_OUT) REAL :: ZDLAT_OUT(1:KLAT_OUT), ZDLON_OUT(1:KLAT_OUT) REAL :: ZHLAT_OUT(1:KLAT_OUT), ZHLON_OUT(1:KLAT_OUT) REAL :: ZG_OUT (1:KLAT_OUT) INTEGER :: J, JLAT, JLON, JNUM, JINX, JINY, JINYD, JOUTY,IRET INTEGER :: JXMAX_IN, JXMAX_OUT, JYMAX_OUT, IBL INTEGER :: JBL, IBL_OUT, JINYSTA, JINYEND, IBLATSTA_OUT(1:KLAT_OUT) INTEGER :: IBLATEND_OUT(1:KLAT_OUT), IBLON_OUT(1:KLAT_OUT) REAL :: ZSUM, ZOUT, ZX, ZY, ZY2, ZDHI REAL :: ZC(0:3), ZDC, ZDL, ZDLL, ZDR, ZDRR, ZCC2, ZCC3 REAL :: ZMINMOD, ZFRAC, ZCURVLIM, ZLIML, ZLIMR, ZLIM REAL :: ZPARITY, ZPRIMADD REAL, ALLOCATABLE :: ZPRIMX(:,:), ZPRIMY(:,:), ZPRIM(:,:), ZFLD_IN(:) REAL, ALLOCATABLE :: ZDIFX(:,:), ZDIFY(:,:), ZOUTPRE(:) REAL :: RPI, RD2R ! ------------------------------------------------------------------ ZMINMOD(ZDC)=(0.5+SIGN(0.5,ZDC))*MIN(1.,ABS(ZDC)) ZFRAC(ZDC,ZDR)=ZDC/SIGN(ABS(ZDR)+1.E-30,ZDR) ZCURVLIM(ZDL,ZDR)=SIGN(MIN(ABS(ZDL),ABS(ZDR)/3.),ZDL) ! * 0. CONSTANTS AND FUNCTIONS RPI=ACOS(-1.) RD2R=RPI/180. ZCC2=1.0/1536. ZCC3=1.0/15360. ZPARITY=1.0 IF (PRESENT(LDPAR)) THEN IF (.NOT.LDPAR) ZPARITY=-1.0 ENDIF ALLOCATE(ZFLD_IN(KIN)) DO J=1,KIN ZFLD_IN(J)=PFLD_IN(J) ENDDO ! * 1. INPUT GRID AND FIELD !* 1.1 Geometry of input grid ! Assuming lat_(j+.5) = 0.5*(lat_(j) + lat_(j+1)) ZLAT_IN(0) = SIGN(RPI/2.,RD2R*PLAT_IN(1)) ZLAT_IN(KLAT_IN)= SIGN(RPI/2.,RD2R*PLAT_IN(KLAT_IN)) JNUM=1 JXMAX_IN=0 DO JLAT=1,KLAT_IN IF (JLAT ZLAT_OUT(JLAT)) ILAT_IO(JLAT)=ILAT_IO(JLAT)+1 ENDDO ILAT_IO(JLAT)=ILAT_IO(JLAT)-1 ENDDO JXMAX_OUT=0 JYMAX_OUT=0 DO JBL=1, IBL_OUT JXMAX_OUT = MAX(JXMAX_OUT,IBLON_OUT(JBL)) JYMAX_OUT = MAX(JYMAX_OUT,IBLATEND_OUT(JBL)-IBLATSTA_OUT(JBL)+1) ENDDO !* 2.2 Interpolation of primitive function JNUM=0 ALLOCATE(ZPRIM(0:JXMAX_OUT,-3:3+KLAT_IN)) ALLOCATE(ZDIFY(1:JXMAX_OUT,-3:3+KLAT_IN)) ALLOCATE(ZPRIMY(0:JXMAX_OUT,0:JYMAX_OUT)) ALLOCATE(ZOUTPRE(0:JXMAX_OUT)) DO JBL=1, IBL_OUT ! 2.2.1 Interpolate PF of input field with respect to longitude ! to output grid-cell longitude boundaries. ! (output longitude / input latitude) JINYSTA=ILAT_IO(IBLATSTA_OUT(JBL)-1) JINYEND=ILAT_IO(IBLATEND_OUT(JBL)) JINYD=JINYEND-JINYSTA DO JLON=0,IBLON_OUT(JBL) ZPRIM(JLON,-3)=0. ZOUTPRE(JLON)=ZLON_OUT(IBLATSTA_OUT(JBL))+JLON*ZDLON_OUT(IBLATSTA_OUT(JBL)) ENDDO DO JINY=JINYSTA-2,JINYEND+3 DO JLON=0,IBLON_OUT(JBL) ZOUT = ZOUTPRE(JLON)-ZLON_IN(JINY) ZPRIMADD=0. IF (ZOUT<0.) THEN ZOUT = ZOUT+ILON_IN(JINY)*ZDLON_IN(JINY) ZPRIMADD=-ZPRIMX(ILON_IN(JINY),JINY) ENDIF IF (ZOUT>ILON_IN(JINY)*ZDLON_IN(JINY)) THEN ZOUT = ZOUT-ILON_IN(JINY)*ZDLON_IN(JINY) ZPRIMADD= ZPRIMX(ILON_IN(JINY),JINY) ENDIF JINX=INT(ZOUT*ZDLONI_IN(JINY)) ZX=-1.+2.*(ZOUT-JINX*ZDLON_IN(JINY))*ZDLONI_IN(JINY) ! 2.2.1.1 Basic coefficients ZDLL=ZDIFX(JINX-2,JINY) ZDL =ZDIFX(JINX-1,JINY) ZDC =ZDIFX(JINX ,JINY) ZDR =ZDIFX(JINX+1,JINY) ZDRR=ZDIFX(JINX+2,JINY) ZC(0) = (ZPRIMX(JINX+1,JINY)+ZPRIMX(JINX ,JINY))*.5 ZC(1) = ZDC*.5 ! 2.2.1.2 Economization of the power series (5th to 3rd order) ZC(2)=(130.*(ZDR-ZDL)-17.*(ZDRR-ZDLL))*ZCC2 ZC(3)=(452.*(ZDR-2.*ZDC+ZDL)-33.*(ZDRR-2.*ZDC+ZDLL))*ZCC3 ! 2.2.1.3 Limiting ZC(3) = ZCURVLIM(ZC(3),ZC(2)) ZLIMR = ZMINMOD( ZFRAC( (ZDR-ZDC)*.5, 2.*( ZC(2)+ZC(3) ) ) ) ZLIML = ZMINMOD( ZFRAC( (ZDL-ZDC)*.5, ZLIMR*2.*(-ZC(2)+ZC(3) ) ) ) ZLIM = ZLIMR*ZLIML ZC(2) = ZLIM*ZC(2) ZC(3) = ZLIM*ZC(3) ! 2.2.1.5 Evaluation ZPRIM(JLON,JINY-JINYSTA)= ZC(0)+ZC(1)*ZX & & +(ZX*ZX-1.)*(ZC(2)+ZC(3)*ZX) & & +ZPRIMADD ENDDO ENDDO ! 2.2.2 Differentiate wrt longitude DO JINY=-2,3+JINYD ZDHI = 1./(ZDLON_OUT(IBLATSTA_OUT(JBL))*ZHLON_IN(JINYSTA+JINY)) DO JLON=IBLON_OUT(JBL),1,-1 ZPRIM(JLON,JINY) = (ZPRIM(JLON,JINY)-ZPRIM(JLON-1,JINY))*ZDHI ENDDO ENDDO ! 2.2.3 PF wrt latitude and scalefactor*cellarea (G=h_y, dA=dy ==> G*dA) ! (output longitude / input latitude) DO JINY=-2,3+JINYD DO JLON=1, IBLON_OUT(JBL) ZPRIM(JLON,JINY)= ZPRIM(JLON,JINY-1)+ZPRIM(JLON,JINY) ENDDO ENDDO DO JINY=-2,2+JINYD DO JLON=1, IBLON_OUT(JBL) ZDIFY(JLON,JINY) = (ZPRIM(JLON,JINY+1)-ZPRIM(JLON,JINY))*ZDHLATI_IN(JINYSTA+JINY+1) ENDDO ENDDO ! 2.2.4 Interpolation PF to output latitude cell boundaries DO JOUTY = 0, IBLATEND_OUT(JBL)-IBLATSTA_OUT(JBL)+1 JLAT = JOUTY+IBLATSTA_OUT(JBL)-1 JINY = ILAT_IO(JOUTY+IBLATSTA_OUT(JBL)-1)-JINYSTA ZY=-1.+2.*(-ZLAT_OUT(JLAT)+ZLAT_IN(JINYSTA+JINY))*ZDLATI_IN(JINYSTA+JINY+1) ZY2 = (ZY*ZY-1.) DO JLON=1, IBLON_OUT(JBL) ! 2.2.4.1 Basic coefficients ZDLL=ZDIFY(JLON,JINY-2) ZDL =ZDIFY(JLON,JINY-1) ZDC =ZDIFY(JLON,JINY ) ZDR =ZDIFY(JLON,JINY+1) ZDRR=ZDIFY(JLON,JINY+2) ZC(0) = (ZPRIM(JLON,JINY+1)+ZPRIM(JLON,JINY))*.5 ZC(1) = ZDC*.5 ! 2.2.1.2 Economization of the power series (5th to 3rd order) ZC(2)=(130.*(ZDR-ZDL)-17.*(ZDRR-ZDLL))*ZCC2 ZC(3)=(452.*(ZDR-2.*ZDC+ZDL)-33.*(ZDRR-2.*ZDC+ZDLL))*ZCC3 ! 2.2.1.3 Limiting ZC(3) = ZCURVLIM(ZC(3),ZC(2)) ZLIMR = ZMINMOD( ZFRAC( (ZDR-ZDC)*.5, 2.*( ZC(2)+ZC(3) ) ) ) ZLIML = ZMINMOD( ZFRAC( (ZDL-ZDC)*.5, ZLIMR*2.*(-ZC(2)+ZC(3) ) ) ) ZLIM = ZLIMR*ZLIML ZC(2) = ZLIM*ZC(2) ZC(3) = ZLIM*ZC(3) ! 2.2.5.4 Back to real coefficients ZC(1:3) = ZDHLAT_IN(JINYSTA+JINY+1)*ZC(1:3) ! 2.2.4.5 Evaluation ZPRIMY(JLON,JOUTY)= ZC(0)+ZC(1)*ZY+ZY2*(ZC(2)+ZC(3)*ZY) ENDDO ENDDO ! 2.2.5 Take difference of primitive function to get output field ! (output longitude / output latitude) DO JOUTY = 1, IBLATEND_OUT(JBL)-IBLATSTA_OUT(JBL)+1 JLAT = JOUTY+IBLATSTA_OUT(JBL)-1 ZDHI = 1./(ZDLAT_OUT(JLAT)*ZHLAT_OUT(JLAT)) DO JLON=1, IBLON_OUT(JBL) JNUM=JNUM+1 PFLD_OUT(JNUM) = (ZPRIMY(JLON,JOUTY)-ZPRIMY(JLON,JOUTY-1))*ZDHI ENDDO ENDDO ENDDO IF (ALLOCATED(ZPRIM )) DEALLOCATE(ZPRIM ) IF (ALLOCATED(ZPRIMY)) DEALLOCATE(ZPRIMY) IF (ALLOCATED(ZDIFY)) DEALLOCATE(ZDIFY) IF (ALLOCATED(ZOUTPRE)) DEALLOCATE(ZOUTPRE) IF (ALLOCATED(ZPRIMX)) DEALLOCATE(ZPRIMX) IF (ALLOCATED(ZFLD_IN)) DEALLOCATE(ZFLD_IN) IF (ALLOCATED(ZDIFX)) DEALLOCATE(ZDIFX) END SUBROUTINE CONSINT emoslib-000392+dfsg.1/interpolation/showmap.c0000755000175000017500000000222712127406245022175 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include "bitmap.h" void SHOWMAP( char ** mybuffer, int * rowCount, int * columnCount) { /* // Displays the bits in a bitmap. // // Called from FORTRAN: // // CALL SHOWMAP(BITMAP,ROWCNT,COLCNT) // // where: // // BITMAP is an array containing the bitmap. // ROWCNT is the number of rows // COLCNT is the number of columns // */ int value, i, j, bitNumber, byte, bit; int rowTotal = *rowCount; int columnTotal = *columnCount; char * buffer; buffer = *mybuffer; for( i = 0; i < rowTotal; i++ ) { printf("\n"); for( j = 0; j < columnTotal; j++ ) { bitNumber = i*columnTotal + j; byte = bitNumber / 8; bit = bitNumber % 8; value = (buffer[byte] >> (7-bit)) & 0x01; printf("%d ", value); } } printf("\n"); } emoslib-000392+dfsg.1/interpolation/createSharedMemoryCoefficients.c0000755000175000017500000001326712127406245026632 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #include #include #include extern int debugSet; #include "sharedmemory.h" #include "fortdefs.h" void createSharedMemoryCoefficients( fortint Type, /* SP2LL, SP2QG, .. */ fortint Truncation, /* spectral truncation */ fortreal Grid, /* grid spacing or gaussian number */ fortint Numlat, /* number of latitudes in the shared memory array */ key_t memoryKey, /* shared memory key */ int size) /* size of the shared memory */ { int type = (int) Type; struct sembuf bufs[1]; union semun { int val; struct semid_ds *buf; ushort *array; } semvalues; fortreal * array; int shmflg, shmid; char * shmaddr; int status, i, oldmask; char mode[] = "00666"; fortint gaussianNumber, one = 1, first = 1, returnCode; int semaphoreId, value; fortreal northPole = 90.0; /* // If the semaphore for the shared memory already exists, // wait for it to become ready to read, and return */ if( DEBUG ) printf("createSharedMemoryCoefficients: see if shared memory semaphore exists\n"); semaphoreId = semget(memoryKey,1,0); if( semaphoreId != -1 ) { bufs[0].sem_num = 0; bufs[0].sem_op = -READY_TO_READ; bufs[0].sem_flg = 0; if( DEBUG ) printf("createSharedMemoryCoefficients: wait for shared memory semaphore\n"); status = semop(semaphoreId,bufs,(size_t)1); semvalues.val = READY_TO_READ; value = semctl((int)semaphoreId, (int)0, (int)SETVAL,semvalues); if( DEBUG ) printf("createSharedMemoryCoefficients: set shared memory semaphore readable\n"); return; } /* // Create semaphore for the shared memory array */ if( DEBUG ) { printf("createSharedMemoryCoefficients: have to create shared memory segment\n"); printf("createSharedMemoryCoefficients: so create shared memory semaphore\n"); } oldmask = umask(000); semaphoreId = semget(memoryKey,1,IPC_CREAT | 0666); if( semaphoreId == -1 ) { perror("creator: failed to create smaphore"); exit(1); } (void) umask(oldmask); /* // Create shared segment id */ if( DEBUG ) printf("createSharedMemoryCoefficients: get shared memory segment\n"); (void) umask(0); shmflg = IPC_CREAT | 0666; shmid = shmget(memoryKey, (size_t)size, shmflg); if ( shmid < 0 ) { perror("shmget error"); exit(1); } /* // Attach the shared segment */ if( DEBUG ) printf("createSharedMemoryCoefficients: attach shared memory segment\n"); shmaddr = (char *) NULL; shmflg = 0; array = (fortreal *) shmat( shmid, shmaddr, shmflg); if ( array == (fortreal *) -1 ) { perror("shmat error"); exit(1); } /* // Put some data into the shared segment */ if( DEBUG ) printf("createSharedMemoryCoefficients: put data into the shared segment\n"); returnCode = 0; JDEBUG(); switch( type ) { case SP2LL: if( DEBUG ) printf("createSharedMemoryCoefficients: call NMAKLL for SP2LL\n"); NMAKLL( &Truncation, &Grid, &northPole, &Numlat, array, &returnCode); if( returnCode ) { printf("Problem with NMAKLL, return code = %d\n", returnCode); exit(1); } break; case SP2RG: case SP2QG: /* */ { char htype[2]; fortreal * plat; fortint * kpts; gaussianNumber = (fortint) Grid; plat = (fortreal *) malloc( gaussianNumber*2*sizeof(fortreal)); if( plat == NULL ) { perror("createSharedMemoryCoefficients: plat malloc problem"); exit(1); } kpts = (fortint *) malloc( gaussianNumber*2*sizeof(fortint)); if( kpts == NULL ) { perror("createSharedMemoryCoefficients: kpts malloc problem"); exit(1); } if( type == SP2RG ) { if( DEBUG ) printf("createSharedMemoryCoefficients: handle SP2RG\n"); strcpy(htype,"F"); } else { if( DEBUG ) printf("createSharedMemoryCoefficients: handle SP2QG\n"); strcpy(htype,"R"); } if( DEBUG ) printf("createSharedMemoryCoefficients: call JGETGG\n"); JGETGG(&gaussianNumber, &htype, plat, kpts, &returnCode, one); if( returnCode ) { printf("Problem with JGETGG, return code = %d\n", returnCode); exit(1); } if( DEBUG ) printf("createSharedMemoryCoefficients: call NMAKGG\n"); NMAKGG(&Truncation, &first, plat, &Numlat, array, &returnCode); if( returnCode ) { printf("Problem with NMAKGG, return code = %d\n", returnCode); exit(1); } free(plat); free(kpts); break; } /* */ default: printf("creator: Type %d not yet handled\n", type); exit(1); } /* // Set the semaphore to make the memory readable for cooperating processes */ if( DEBUG ) printf("createSharedMemoryCoefficients: set semaphore to make memory readable\n"); semvalues.val = READY_TO_READ; value = semctl((int)semaphoreId, (int)0, (int)SETVAL,semvalues); /* // Detach the shared segment */ if( DEBUG ) printf("createSharedMemoryCoefficients: detach the shared segment\n"); status = shmdt(array); if ( status < 0 ) { perror("shmdt error"); exit(1); } return; } emoslib-000392+dfsg.1/interpolation/hntfap.F0000755000175000017500000000551312127406245021743 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HNTFAP(INGRIB,INLEN) C C----> C**** HNTFAP C C Purpose C ------- C C Prepare to interpolate input field... C C C Interface C --------- C C IRET = HNTFAP(INGRIB,INLEN) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C C C Output C ------ C C Field unpacked values are in ZNFELDI, rotated if necessary. C C Returns: 0, if OK. Otherwise, an error occured in interpolation. C C C Method C ------ C C Calls HNTFAPS to handle rotation when input and output fields C are both spectral. C C Calls HNTFAPH in all other cases. C C C Externals C --------- C C HNTFAPS - Handle rotation when input and output fields C are both spectral. C HNTFAPH - Handle rotation in all other cases. C C C Author C ------ C C J.D.Chambers ECMWF January 31, 2001 C C C----< C C -----------------------------------------------------------------| C* Section 0. Variables C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 40100 ) C C Function arguments C INTEGER INGRIB(*),INLEN C C Local variables C INTEGER IRET C C Externals C INTEGER HNTFAPS, HNTFAPH EXTERNAL HNTFAPS, HNTFAPH C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C HNTFAP = 0 C C -----------------------------------------------------------------| C* Section 2. Split handling in case there are rotations to do. C -----------------------------------------------------------------| C 200 CONTINUE C C Is the interpolation from SH to SH? C IF( ((NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT)) .AND. X ((NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT)) ) THEN C IRET = HNTFAPS(INGRIB,INLEN) C ELSE C IRET = HNTFAPH(INGRIB,INLEN) C ENDIF C IF( IRET.NE.0 ) HNTFAP = JPROUTINE C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/Makefile.in0000755000175000017500000000155512127406245022423 0ustar amckinstryamckinstry# # Makefile for libemos/interpolation # A64 = plat R64 = reals ARCH = arch LIB =depl CNAME = comp LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources.$(ARCH) # OBJECTS.F90 = $(SOURCES.F90:.F90=.o) OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) VECTOR.o = $(VECTOR.F:.F=.o) NO_OPT.o = $(NO_OPT.F:.F=.o) OBJECTS = $(OBJECTS.F90) $(OBJECTS.F) $(OBJECTS.f) $(VECTOR.o) $(NO_OPT.o) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ $(VECTOR.o): $(VECTOR.F) $(FC) $(VECTFFLAGS) -c $< $(NO_OPT.o): $(NO_OPT.F) $(FC) $(NOOPTFFLAGS) -c $< include make.dep clean: \rm -f $(OBJECTS) *.f emoslib-000392+dfsg.1/interpolation/rphi.F0000755000175000017500000000552212127406245021425 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE RPHI( DATA, NM, WORK, SLON) C C----> C**** RPHI C C Purpose C ------- C C Rotates spectral coefficients by longitude. C C C Interface C --------- C C CALL RPHI(DATA,NM,WORK,SLON) C C Input C ----- C C DATA = Input spectral field of REAL*8s of size (NM+1)*(NM+2). C NM = Triangular truncation (e.g. 106) C WORK = Work space of size at least 2*(NM+1). C SLON = Rotation angle (REAL*8). C (degrees, positive => rotate west to east). C C Output C ------ C C Transformed fields are returned in data. C C C Method C ------ C C See reference below. C C C Externals C --------- C C None. C C C Author C ------ C C R.McGrath and P.Lynch HIRLAM C C C Reference. C ---------- C C "Spectral synthesis on rotated and regular grids" C by P.Lynch and R.McGrath (Irish Meteorological Service). C C C Modifications C ------------- C C J.D.Chambers ECMWF October 1995 C Reformat and put into clearcase. C C ------------------------------------------------------------------ C----< C IMPLICIT NONE C #include "jparams.h" C C Function arguments COMPLEX*16 DATA COMPLEX*16 WORK DIMENSION DATA(*), WORK(*) REAL*8 SLON INTEGER NM C C Parameters INTEGER JPROUTINE PARAMETER (JPROUTINE = 26000 ) C C Local variables COMPLEX*16 CC INTEGER I, IPMN, NS, M, J REAL*8 RAD, XLON C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C IPMN = ((NM+1)*(NM+2))/2 RAD = 180.0/PPI XLON = -SLON/RAD C C ------------------------------------------------------------------ C* Section 2. Transform the fields. C ------------------------------------------------------------------ C 200 CONTINUE C NS = 1 CC = (1.0,0.0) C DO 215 M = 1,NM+1 DO 210 J = NS,NS+NM-M+1 WORK(J) = CC 210 CONTINUE C NS = J CC = CEXP(CMPLX(0.0,REAL(XLON*M))) 215 CONTINUE C C Transform fields in output array. DO 220 J = 1,IPMN DATA(J) = WORK(J)*DATA(J) 220 CONTINUE C C ------------------------------------------------------------------ C* Section 9. Return. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_200.h0000755000175000017500000000336012127406245022410 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG200(200) DATA QG200/ X 18, 25, 36, 40, X 45, 50, 60, 64, X 72, 72, 75, 81, X 90, 96, 100, 108, X 120, 125, 128, 135, X 144, 150, 160, 160, X 180, 180, 180, 192, X 192, 200, 216, 216, X 225, 225, 240, 240, X 243, 250, 256, 270, X 270, 288, 288, 288, X 300, 300, 320, 320, X 320, 320, 360, 360, X 360, 360, 360, 360, X 375, 375, 375, 384, X 400, 400, 400, 400, X 432, 432, 432, 432, X 432, 450, 450, 450, X 480, 480, 480, 480, X 480, 480, 486, 500, X 500, 500, 512, 512, X 512, 540, 540, 540, X 540, 540, 576, 576, X 576, 576, 576, 576, X 576, 576, 600, 600, X 600, 600, 600, 640, X 640, 640, 640, 640, X 640, 640, 640, 640, X 640, 648, 648, 675, X 675, 675, 675, 675, X 675, 675, 720, 720, X 720, 720, 720, 720, X 720, 720, 720, 720, X 720, 720, 720, 720, X 729, 729, 729, 750, X 750, 750, 750, 750, X 750, 750, 750, 768, X 768, 768, 768, 768, X 768, 768, 768, 800, X 800, 800, 800, 800, X 800, 800, 800, 800, X 800, 800, 800, 800, X 800, 800, 800, 800, X 800, 800, 800, 800, X 800, 800, 800, 800, X 800, 800, 800, 800, X 800, 800, 800, 800, X 800, 800, 800, 800, X 800, 800, 800, 800, X 800, 800, 800, 800 / emoslib-000392+dfsg.1/interpolation/lsm_red.F0000755000175000017500000001667112127406245022117 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION LSM_RED( KGAUSS, KDATE, KBITS, HPATH ) C C----> C**** LSM_RED C C PURPOSE C ------- C C Generates the land sea mask file pathname. C C C INTERFACE C --------- C C IRET = LSM_RED( KGAUSS, KDATE, KBITS, HPATH ) C C C Input C ----- C KGAUSS - The gaussian number (80 or 160) C KDATE - The data date in YYYYMMDD format. C KBITS - Number of bits per land-sea mask value (eg 32 or 64) C C Output C ------ C HPATH - The full file pathname (with gaussian number C number of bits and date). C C C Return value C ------------ C C Function returns the number of characters in the file pathname, C or zero if no match found. C C C Common block usage C ------------------ C C None C C C EXTERNALS C --------- C C GETENV - Standard routine to get environmental variable. C INDEX - Intrinsic routine to find position of substring. C LEN - Intrinsic routine to find length of string. C EMOSNUM - Gives current EMOSLIB version number. C C C METHOD C ------ C None C C C REFERENCE C --------- C C None C C COMMENTS C -------- C C None C C C AUTHOR C ------ C C J.D.Chambers *ECMWF* ??? 1996 C C C MODIFICATIONS C ------------- C C J.D.Chambers *ECMWF* July 1998 C Use dates in YYYYMMDD format to handle year 2000 etc. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C C Parameters C INTEGER JPD160, JPD80 PARAMETER (JPD160=6) PARAMETER (JPD80=2) C C Function parameters C INTEGER KGAUSS, KDATE, KBITS CHARACTER*(*) HPATH C C Local variables C CHARACTER*6 YEMOSNM INTEGER IEMOSNM, LOOP, IOFFSET C C Change dates for N160 C INTEGER DATE160(JPD160) DATA DATE160/ X 19790930, X 19910917, X 19930804, X 19940302, X 19940823, X 19950404 X / C C Change dates for N80 C INTEGER DATE80(JPD80) DATA DATE80/ X 19790930, X 19790930 X / C CHARACTER YPENVIRON*13 PARAMETER (YPENVIRON = 'MARS_LSM_PATH') CHARACTER*80 YBASE, YENVBACK INTEGER IBASELEN CHARACTER*256 HDIREC #ifdef CRAY DATA HDIREC/ '/owrk/marsint/new'/ #endif #ifdef __uxp__ DATA HDIREC/ '/mrfs/postproc'/ #endif #ifdef TABLE_PATH DATA HDIREC / TABLE_PATH / #else DATA HDIREC / '' / #endif CHARACTER*50 PATH160(JPD160) CHARACTER*50 PATH80(JPD80) C C Pathnames for N160 C DATA PATH160/ X '_19790930', X '_19910917', X '_19930804', X '_19940302', X '_19940823', X '_19950404' X / C C C Pathnames for N80 DATA PATH80/ X '_19790930', X '_19790930' X / C INTEGER INDEX C C External functions C INTEGER EMOSNUM EXTERNAL EMOSNUM C C*************************************************************** C Section 1. Initialize and check input values. C*************************************************************** C 100 CONTINUE C LSM_RED = 0 HPATH = ' ' C C Only reduced N160 gaussian fields handled. C IF( KGAUSS.NE.160 ) GOTO 900 C C Only 32 bit and 64 bit land-sea masks handled. C IF( (KBITS.NE.32).AND.(KBITS.NE.64) ) GOTO 900 C C Check environment variable for path of land sea masks. C CALL GETENV(YPENVIRON, YENVBACK) C IF( YENVBACK.EQ.' ' ) THEN #ifdef __uxp__ C C On Fujitsus, need to build different pathname for vpp300, C vpp700, vpp700e and vpp5000 C CALL GETENV ('HOST', YENVBACK) IF( YENVBACK(1:7).EQ.'vpp5000' )THEN YBASE = '/vpp5000' // HDIREC IBASELEN = LEN(HDIREC) + LEN('/vpp5000') ELSE IF( YENVBACK(1:7).EQ.'vpp700e' )THEN YBASE = '/vpp700e' // HDIREC IBASELEN = LEN(HDIREC) + LEN('/vpp700e') ELSE IF( YENVBACK(1:6).EQ.'vpp700' )THEN YBASE = '/vpp700' // HDIREC IBASELEN = LEN(HDIREC) + LEN('/vpp700') ELSE YBASE = HDIREC IBASELEN = LEN(HDIREC) ENDIF #else IOFFSET = INDEX(HDIREC,' ') - 1 IF(IOFFSET.GT.0) THEN YBASE = HDIREC(1:IOFFSET)//'/land_sea_mask/' IBASELEN = LEN(YBASE) ELSE YBASE = '/usr/local/lib/metaps/tables/interpolation' IBASELEN = 42 ENDIF #endif ELSE YBASE = YENVBACK IBASELEN = INDEX(YENVBACK,' ') - 1 IF( IBASELEN.LT.0 ) IBASELEN = LEN (YENVBACK) IF( IBASELEN.EQ.0 ) THEN #ifdef __uxp__ C C On Fujitsus, need to build different pathname for vpp300, C vpp700, vpp700e and vpp5000 C CALL GETENV ('HOST', YENVBACK) IF( YENVBACK(1:7).EQ.'vpp5000' )THEN YBASE = '/vpp5000' // HDIREC IBASELEN = LEN(HDIREC) + LEN('/vpp5000') ELSE IF( YENVBACK(1:7).EQ.'vpp700e' )THEN YBASE = '/vpp700e' // HDIREC IBASELEN = LEN(HDIREC) + LEN('/vpp700e') ELSE IF( YENVBACK(1:6).EQ.'vpp700' )THEN YBASE = '/vpp700' // HDIREC IBASELEN = LEN(HDIREC) + LEN('/vpp700') ELSE YBASE = HDIREC IBASELEN = LEN(HDIREC) ENDIF #else YBASE = HDIREC IBASELEN = LEN(HDIREC) #endif ENDIF ENDIF C C*************************************************************** C Section 2. Build pathnames. C*************************************************************** C 200 CONTINUE C C Handle N160 C IF( KGAUSS.EQ.160 ) THEN DO 210 LOOP = 1, JPD160-1 IF( (KDATE.GE.DATE160(LOOP) ) .AND. X (KDATE.LT.DATE160(LOOP+1)) ) THEN HPATH(1:) = YBASE(1:IBASELEN) // '/' // X 'r160_' // 'xx' // PATH160(LOOP) LSM_RED = INDEX(HPATH,' ') GOTO 900 ENDIF 210 CONTINUE C C Dropthrough -> take latest. C HPATH(1:) = YBASE(1:IBASELEN) // '/' // X 'r160_' // 'xx' // PATH160(JPD160) LSM_RED = INDEX(HPATH,' ') C C Handle N80 C ELSE DO 220 LOOP = 1, JPD80-1 IF( (KDATE.GE.DATE80(LOOP) ) .AND. X (KDATE.LT.DATE80(LOOP+1)) ) THEN HPATH(1:) = YBASE(1:IBASELEN) // '/' // X 'r80_' // 'xx' // PATH80(LOOP) LSM_RED = INDEX(HPATH,' ') GOTO 900 ENDIF 220 CONTINUE C C Dropthrough -> take latest. C HPATH(1:) = YBASE(1:IBASELEN) // '/' // X 'r80_' // 'xx' // PATH80(JPD80) LSM_RED = INDEX(HPATH,' ') ENDIF C C*************************************************************** C Section 9. Return. C*************************************************************** C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/hneill.F0000755000175000017500000002465712127406245021750 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HNEILL X (L12PNT,KLEN,RLAT,RLON,OLDGRID, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) C C----> C**** HNEILL C C Purpose C ------- C C This routine accepts a vector of points and finds the 12 C neighbours for each point suitable for horizontal interpolation. C C C Interface C --------- C C IRET = HNEILL(L12PNT,KLEN,RLAT,RLON,OLDGRID, C X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C = .TRUE. for 12-point horizontal C = .FALSE. for 4-point C KLEN - Number of points along the vector C RLAT - List of latitudes for points. C RLON - List of longitudes for points. C OLDGRID - Grid increments (i/j) for the global lat/long field C C C Output parameters C ----------------- C C KSCHEME - Flag showing interpolation scheme to use for point C 0 = 12-point C 1 = 4-point bilinear C 2 = nearest neighbour C PDLAT - Meridian linear weight. C PDLO0 - Zonal linear weight for the latitude of point 5. C PDLO1 - Zonal linear weight for the latitude of point 1. C PDLO2 - Zonal linear weight for the latitude of point 3. C PDLO3 - Zonal linear weight for the latitude of point 11. C KLA - Latitude number in original field of latitude north of C each point in the vector. C NEIGH - List of indices in the original field of neighbouring C point values for each point in the vector. C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C None. C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JDEBUG - Tests if debug output required. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C C C Reference C --------- C C ECMWF Meteorological Bulletin M1.6/7 C IFS Documentation C Part VI: Technical and Computational Procedures (CY21R4) C March 2000 C Section 2.3 C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE #include "parim.h" C C Parameters C INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) C C Function arguments C LOGICAL L12PNT INTEGER KLEN REAL OLDGRID(2), RLAT(KLEN), RLON(KLEN) C INTEGER KLA(KLEN), KSCHEME(KLEN) REAL PDLAT(KLEN),PDLO0(KLEN),PDLO1(KLEN),PDLO2(KLEN),PDLO3(KLEN) INTEGER NEIGH(12,*) C C Local variables C INTEGER NEXT, LOOP, NBYTES, NOLDLAT, NOLDLON INTEGER NLAT0, NLAT1, NLAT2, NLAT3, NLAT(12), NLONG(12) INTEGER NLONG1, NLONG2, NLONG5 REAL PLATINC, PLONINC INTEGER NPREV, ISIZE, ISIZOLD C DATA ISIZOLD/-1/, NPREV/-1/ SAVE ISIZOLD,NPREV C C Externals C INTEGER JNORSGG #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C Statement functions C INTEGER ILAT, NUMLAT, NUMLON REAL LAT, LON, PLATIN, LATSTEP, LONSTEP C PLATIN(ILAT,LATSTEP) = 90.0 - REAL(ILAT-1)*LATSTEP NUMLAT(LAT,LATSTEP) = 1 + NINT((90.0 - LAT)/LATSTEP) NUMLON(LON,LONSTEP) = 1 + NINT(LON/LONSTEP ) C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HNEILL = 0 C CALL JDEBUG() C PLATINC = OLDGRID(1) PLONINC = OLDGRID(2) NOLDLAT = 1 + NINT(180.0/PLATINC) NOLDLON = NINT(360.0/PLONINC) C C -----------------------------------------------------------------| C Section 2. Loop through points along the vector. C -----------------------------------------------------------------| C 200 CONTINUE C DO NEXT = 1,KLEN C C Clear current neighbour indices C DO LOOP = 1, 12 NEIGH(LOOP,NEXT) = 0 ENDDO C C -----------------------------------------------------------------| C Section 3. Find latitude numbers for neighbours. C -----------------------------------------------------------------| C 300 CONTINUE C C First find latitude numbers to north and south of the point C NLAT1 = NUMLAT(RLAT(NEXT),PLATINC) NLAT2 = NLAT1 + 1 C C Find outer latitude numbers further north and south of the point C NLAT0 = NLAT1 - 1 NLAT3 = NLAT2 + 1 C C -----------------------------------------------------------------| C Section 4. Nearest neighbour to be used. C -----------------------------------------------------------------| C 400 CONTINUE C IF( (NLAT1.LT.1).OR.(NLAT2.GT.NOLDLAT) ) THEN C C On northern/southern latitude of original field, so use C nearest neighbours (point 1 or 2) C IF( NLAT1.LT.1 ) NLAT1 = 1 C IF( NLAT2.GT.NOLDLAT ) NLAT1 = NOLDLAT C NLONG(1) = NUMLON(RLON(NEXT),PLONINC) NLONG1 = NLONG(1) IF( NLONG(1).GT.NOLDLON ) NLONG(1) = 1 NLONG(2) = NLONG(1) + 1 NLONG2 = NLONG(2) IF( NLONG(2).GT.NOLDLON ) NLONG(2) = 1 C IF( ABS((RLON(NEXT) - REAL(NLONG1-1)*PLONINC )) .LE. X ABS((RLON(NEXT) - REAL(NLONG2-1)*PLONINC )) ) THEN NEIGH(1,NEXT) = (NLAT1-1)*NOLDLON + NLONG(1) ELSE NEIGH(1,NEXT) = (NLAT1-1)*NOLDLON + NLONG(2) ENDIF KSCHEME(NEXT) = JPNEARN GOTO 700 ENDIF C C -----------------------------------------------------------------| C Section 5. 4-point bilinear to be used. C -----------------------------------------------------------------| C 500 CONTINUE C IF( (NLAT0.LT.1).OR.(NLAT3.GT.NOLDLAT).OR. X (.NOT.L12PNT) ) THEN C CALL INTLOG(JP_DEBUG, X 'HNEILL: 4-pt bilinear interpolation used for point ',NEXT) C C Between two northern latitudes or two southern latitudes of C original field, so use 4-point bilinear interpolation C (points 1, 2, 3 and 4) C C Points 1 and 2 C NLONG(1) = NUMLON(RLON(NEXT),PLONINC) NLONG1 = NLONG(1) IF( NLONG(1).GT.NOLDLON ) NLONG(1) = 1 C NEIGH(1,NEXT) = (NLAT1-1)*NOLDLON + NLONG(1) + 1 NEIGH(2,NEXT) = NEIGH(1,NEXT) + 1 C C Points 3 and 4 C NLONG( 3) = NLONG(1) C NEIGH(3,NEXT) = (NLAT2-1)*NOLDLON + NLONG(3) + 1 NEIGH(4,NEXT) = NEIGH(3,NEXT) + 1 C C Calculate zonal linear weights for the latitudes. C PDLO1(NEXT) = (RLON(NEXT)-REAL(NLONG1-1)*PLONINC) / PLONINC PDLO2(NEXT) = PDLO1(NEXT) C KLA(NEXT) = NLAT1 PDLAT(NEXT) = (PLATIN(NLAT1,PLATINC)-RLAT(NEXT)) / PLATINC C KSCHEME(NEXT) = JP4PT GOTO 700 ENDIF C C -----------------------------------------------------------------| C Section 6. 12-point interpolation to be used. C -----------------------------------------------------------------| C 600 CONTINUE C KSCHEME(NEXT) = JP12PT C KLA(NEXT) = NLAT1 PDLAT(NEXT) = (PLATIN(NLAT1,PLATINC)-RLAT(NEXT)) / PLATINC C C Northernmost C NLAT(5) = NLAT0 NLAT(6) = NLAT0 C C Northern C NLAT(7) = NLAT1 NLAT(1) = NLAT1 NLAT(2) = NLAT1 NLAT(8) = NLAT1 C C Southern C NLAT( 9) = NLAT2 NLAT( 3) = NLAT2 NLAT( 4) = NLAT2 NLAT(10) = NLAT2 C C Southernmost C NLAT(11) = NLAT3 NLAT(12) = NLAT3 C C Find longitude numbers for neighbours. C C Northernmost C NLONG(5) = NUMLON(RLON(NEXT),PLONINC) NLONG5 = NLONG(5) IF( NLONG(5).GT.NOLDLON ) NLONG(5) = 1 NLONG(6) = NLONG(5) + 1 IF( NLONG(6).GT.NOLDLON ) NLONG(6) = 1 C C Northern C NLONG(1) = NLONG(5) NLONG(7) = NLONG(1) - 1 IF( NLONG(7).LT.1 ) NLONG(7) = NOLDLON NLONG(2) = NLONG(1) + 1 IF( NLONG(2).GT.NOLDLON ) NLONG(2) = 1 NLONG(8) = NLONG(2) + 1 IF( NLONG(8).GT.NOLDLON ) NLONG(8) = 1 C C Southern C NLONG( 3) = NLONG(1) NLONG( 9) = NLONG(7) NLONG( 4) = NLONG(2) NLONG(10) = NLONG(8) C C Southernmost C NLONG(11) = NLONG(5) NLONG(12) = NLONG(11) + 1 IF( NLONG(12).GT.NOLDLON ) NLONG(12) = 1 C C Calculate zonal linear weights for the latitudes. C PDLO0(NEXT) = (RLON(NEXT)-REAL(NLONG5-1)*PLONINC) / PLONINC PDLO1(NEXT) = PDLO0(NEXT) PDLO2(NEXT) = PDLO0(NEXT) PDLO3(NEXT) = PDLO0(NEXT) C C Store indices of the neighbours. C DO LOOP = 1, 12 NEIGH(LOOP,NEXT) = NOLDLON*(NLAT(LOOP)-1) + NLONG(LOOP) ENDDO C 700 CONTINUE C ENDDO C C End of loop along vector of points. C C -----------------------------------------------------------------| C Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jallgp.F0000755000175000017500000003627612127406245021746 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JALLGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, POUTF, KRET) C C----> C**** JALLGP C C PURPOSE C _______ C C This routine converts spectral input fields to standard C lat/long grid fields. C C INTERFACE C _________ C C CALL JALLGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, C X PLATINC, PLONINC, POUTF, KRET) C C Input parameters C ________________ C C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C PNORTH - Northernmost latitude for output field (degrees) C PSOUTH - Southernmost latitude for output field (degrees) C PWEST - Westernmost longitude for output field (degrees) C PEAST - Easternmost longitude for output field (degrees) C PLATINC - Grid interval between latitudes in degrees C PLONINC - Grid interval between longitudes in degrees C C Output parameters C ________________ C C POUTF - Output grid point field C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG, JDCFLAGS C C C Method C ______ C C None. C C Externals C _________ C C JOPNLL - Opens the legendre functions file for reading line C by line. C JOPNLLF - Opens the legendre functions file and reads the whole C of it into dynamically allocated memory. C JOPNLLSM - Opens the legendre functions file and memory maps it. C C JJSET99 - Sets up FFT C JSYMLL - Generate symmetric grid from spherical harmonics C JWINDLL - Generate symmetric grid from spherical harmonics(wind) C JMOVLL - Move points of symmetric grid to array C JMVULL - Move points of unsymmetric grid to array C JDEBUG - Checks environment variable to switch on/off debug C INTLOG - Logs output messages C INTLOGR - Logs output messages C GETENV - Get value of an environment variable C GETCONF - Decides how to handle legendre coefficients #ifdef SHAREDMEMORY C SMREAD - Gets interpolation coefficients in a shared memory array #endif C C C Reference C _________ C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C C Comments C ________ C C This is a redesign, based on SPECGP.F C C It handles transformations to a regular lat/long grid assuming. C C It is not for U and V fields (no correction is applied at the C poles). C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "nifld.common" C C Parameters C INTEGER JPROUTINE REAL PEPS PARAMETER ( JPROUTINE = 30000 ) PARAMETER ( PEPS = 1E-6 ) C | C `-> value used to compare equality of calculated C latitude with area limits C C Subroutine arguments C COMPLEX PSHUP DIMENSION PSHUP(*) INTEGER KTRUNC REAL PNORTH, PSOUTH, PWEST, PEAST, PLATINC, PLONINC REAL POUTF DIMENSION POUTF(*) INTEGER KRET C C Local variables C REAL PSTART, PNORMX, PDIFF REAL ZDEGR, ZBUILD INTEGER ILON, IOLON, ITOUP1, IJPWR, ITYPE INTEGER ILUNIT, ISTART INTEGER NEXT, NCALLS, NLEFT, NROWS, NFLAG, NCASE, NUMLON C INTEGER IMFAX REAL ATRIGS DIMENSION IMFAX(10),ATRIGS(JPLONO*2) #ifdef POINTER_64 INTEGER*8 IALEG, IZFA #endif #ifdef CRAY REAL ALEG DIMENSION ALEG(JPK) REAL ZFA DIMENSION ZFA(JPLONO+2, 64) #else REAL ALEG DIMENSION ALEG(1) POINTER ( IALEG, ALEG ) REAL ZFA DIMENSION ZFA(1) POINTER ( IZFA, ZFA ) #endif C C Integer Itimer,timer1 INTEGER ISIZE, ISIZE2 DATA ISIZE/0/, ISIZE2/0/ SAVE ISIZE, ISIZE2, IZFA C SAVE ILUNIT, IMFAX, ATRIGS, IALEG C LOGICAL LDEBUG, LFIRST DATA LFIRST/.TRUE./ SAVE LDEBUG, LFIRST CHARACTER*20 CONFIG INTEGER IBLANK C C Externals C #ifdef SHAREDMEMORY INTEGER SHAREDLL EXTERNAL SHAREDLL #endif C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C CALL JDEBUG( ) LDEBUG = NDBG.GT.0 C C Decide how to handle legendre coefficients C CALL GETCONF() C #ifndef CRAY C C First time through, dynamically allocate memory for workspace C IF( LFIRST ) THEN LFIRST = .FALSE. ISIZE = (JPLONO+2)*64 CALL JMEMHAN( 10, IZFA, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JALLGP: memory allocation error.',IZFA) KRET = JPROUTINE + 1 GOTO 900 ENDIF ENDIF #endif C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JALLGP: Input parameters:', JPQUIET) CALL INTLOG(JP_DEBUG, X 'JALLGP: Spherical harmonic coeffs(first 20):', JPQUIET) DO NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ', PSHUP( NDBGLP )) ENDDO CALL INTLOG(JP_DEBUG, X 'JALLGP: Spherical harmonic truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JALLGP: Northern latitude for output = ', PNORTH) CALL INTLOGR(JP_DEBUG, X 'JALLGP: Southern latitude for output = ', PSOUTH) CALL INTLOGR(JP_DEBUG, X 'JALLGP: Western longitude for output = ', PWEST) CALL INTLOGR(JP_DEBUG, X 'JALLGP: Eastern longitude for output = ', PEAST) CALL INTLOGR(JP_DEBUG, X 'JALLGP: Latitude grid interval (deg) = ', PLATINC) CALL INTLOGR(JP_DEBUG, X 'JALLGP: Longitude grid interval (deg) = ', PLONINC) ENDIF C C Open the appropriate legendre function file. C IF( LFILEIO ) THEN ISIZE2 = JPK CALL JMEMHAN( 14, IALEG, ISIZE2, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JALLGP: memory allocate error.',IALEG) KRET = JPROUTINE + 2 GOTO 900 ENDIF CALL JOPNLL( ALEG, PLATINC, KTRUNC, ILUNIT, ZBUILD, KRET) C ELSE IF( LMEMORY ) THEN CALL JOPNLLF( IALEG, PLATINC, KTRUNC, ILUNIT, ZBUILD, KRET) C ELSE IF( LMAPPED ) THEN CALL JOPNLLSM( IALEG, PLATINC, KTRUNC, ILUNIT, ZBUILD, KRET) C #ifdef SHAREDMEMORY ELSE IF( LSHARED ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JALLGP: call SHAREDLL:', JPQUIET) ENDIF KRET=SHAREDLL(IALEG,KTRUNC,PLATINC) c print*,' jallgp.F KRET=',KRET IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'JALLGP: SHARED Failed to get legendre coeff.',KRET) KRET = JPROUTINE + 3 GOTO 900 ENDIF GOTO 102 #endif ELSE ISIZE2 = (KTRUNC+1)*(KTRUNC+2) CALL JMEMHAN( 14, IALEG, ISIZE2, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JALLGP: memory allocate error.',IALEG) KRET = JPROUTINE + 2 GOTO 900 ENDIF ENDIF C IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'JALLGP: Failed to get legendre coefficients',KRET) KRET = JPROUTINE + 3 GOTO 900 ENDIF C 102 CONTINUE C ZDEGR = PPI / 180.0 IOLON = NINT( 360.0 / PLATINC ) ILON = NINT( 360.0 / PLONINC ) ITOUP1 = KTRUNC C C For calculation purposes, ILON, the number of longitude points, C has to be greater than 2*(output truncation) to ensure that the C fourier transform is exact (see Reference, page 10). C The following loop increases ILON*IJPWR until ILON=>2*ITOUP1. C Later, when filling the output array POUTF, the longitude points C have to be taken selectively to avoid the intermediate generated C points, picking up values only at the required longitudes. C IJPWR = 1 110 CONTINUE IF( ILON.GT.2*ITOUP1 ) GOTO 120 IJPWR = IJPWR*2 ILON = ILON*2 GOTO 110 120 CONTINUE C C Initialise FFT constants C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'JALLGP: Initialise FFT constants with ', ILON) CALL INTLOG(JP_DEBUG, X 'JALLGP: longitude points.', JPQUIET) ENDIF C CALL JJSET99( ATRIGS, IMFAX, ILON, KRET) IF( KRET.NE.0 ) GOTO 900 C C _______________________________________________________ C C* Section 2. Work out geometry of the request C _______________________________________________________ C 200 CONTINUE C C Symmetrical about equator? C NCASE = 1 NFLAG = 3 PNORMX = PNORTH PDIFF = 0.0 NROWS = NINT( PNORTH/PLATINC ) + 1 IF( ( ABS((NROWS-1)*PLATINC)-PNORTH).GT.PEPS ) NROWS = NROWS - 1 C C Northern hemisphere only ? C IF( PSOUTH.GT.0.0 ) THEN NCASE = 2 NFLAG = 1 PNORMX = PNORTH PDIFF = PNORTH - PSOUTH NROWS = NINT( PDIFF/PLATINC ) + 1 IF( ( ABS((NROWS-1)*PLATINC)-PNORTH).GT.PEPS ) NROWS = NROWS - 1 IF( LDEBUG ) X CALL INTLOG(JP_DEBUG, X 'JALLGP: North hemisphere only.', JPQUIET) GOTO 300 ENDIF C C Southern hemisphere only ? C IF( PNORTH.LT.0.0 ) THEN NCASE = 3 NFLAG = 2 PNORMX = ABS(PSOUTH) PDIFF = PNORMX + PNORTH NROWS = NINT( PDIFF/PLATINC ) + 1 IF( ( ABS((NROWS-1)*PLATINC)-ABS(PSOUTH)).GT.PEPS ) X NROWS = NROWS - 1 C IF( LDEBUG ) X CALL INTLOG(JP_DEBUG, X 'JALLGP: South hemisphere only.', JPQUIET) GOTO 300 ENDIF C C Straddles equator ... C ... more north than south? C IF( PNORTH.GT.-PSOUTH ) THEN NCASE = 4 PNORMX = PNORTH PDIFF = PNORTH + PSOUTH NROWS = NINT( PNORMX/PLATINC ) + 1 C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'JALLGP: Straddles equator.', JPQUIET) CALL INTLOG(JP_DEBUG, X 'JALLGP: More north than south.', JPQUIET) ENDIF ENDIF C C ... more south than north? C IF( PNORTH.LT.-PSOUTH ) THEN NCASE = 5 PNORMX = ABS(PSOUTH) PDIFF = PNORMX - PNORTH NROWS = NINT( PNORMX/PLATINC ) + 1 IF( ( ABS((NROWS-1)*PLATINC)-PNORMX).GT.PEPS ) NROWS = NROWS - 1 C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'JALLGP: Straddles equator.', JPQUIET) CALL INTLOG(JP_DEBUG, X 'JALLGP: More south than north.', JPQUIET) ENDIF ENDIF C _______________________________________________________ C C* Section 3. Calculation. C _______________________________________________________ C 300 CONTINUE C NUMLON = NINT( (PEAST - PWEST)/PLONINC ) + 1 ZBUILD = PLATINC C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JALLGP: Number of longitudes = ', NUMLON) CALL INTLOGR(JP_DEBUG, X 'JALLGP: North latitude used for calc = ', PNORMX) CALL INTLOG(JP_DEBUG,'JALLGP: No.lats used in calc = ', NROWS) ENDIF C NCALLS = NROWS / JP32 C IF( LWIND ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JALLGP: No.of 32 rows (calls to JWINDLL) = ', NCALLS) ELSE IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JALLGP: No.of 32 rows (calls to JSYMLL) = ', NCALLS) ENDIF C _______________________________________________________ C C* Section 4. Process 32 rows at a time. C _______________________________________________________ C 400 CONTINUE C C timer1=Itimer(0) DO 420 NEXT = 1, NCALLS PSTART = PNORMX - REAL( (NEXT -1)*JP32 ) *PLATINC ISTART = INT((PSTART*1000.0)+0.5) PSTART = ISTART/1000.0 C IF( LDEBUG ) X CALL INTLOGR(JP_DEBUG, 'JALLGP: Next latitude = ', PSTART) C C Generate the next 32 rows (Northern and Southern hemisphere). C IF( LWIND ) THEN CALL JWINDLL( PSHUP, KTRUNC, PSTART, ZBUILD, PLATINC, ILUNIT, X JP32,ILON,ALEG,ATRIGS,IMFAX,ZFA,KRET) ELSE CALL JSYMLL( PSHUP, KTRUNC, PSTART, ZBUILD, PLATINC, ILUNIT, X JP32,ILON,ALEG,ATRIGS,IMFAX,ZFA,KRET) ENDIF IF( KRET.NE.0 ) GOTO 900 C C If area straddles the equator and has different number of C north/south rows, only move a selection of rows to output array. C IF( (NCASE.EQ.4).OR.(NCASE.EQ.5) ) THEN CALL JMVULL( ZFA, PNORTH, PSOUTH, PWEST, PLATINC, PLONINC, X PSTART, PDIFF, JP32, NUMLON, ILON, IJPWR, POUTF) PDIFF = PDIFF - PLATINC*JP32 IF( PDIFF.LT.0 ) NCASE = NCASE - 2 C C Otherwise, move them all C ELSE CALL JMOVLL( ZFA, PNORTH, PWEST, PLATINC, PLONINC, PSTART, X JP32, NUMLON, ILON, IJPWR, POUTF, NFLAG) ENDIF C 420 CONTINUE C timer1=Itimer(timer1) C print*,'jallgp.F legendre functions JSYMLL time:',timer1,' sec' C C _______________________________________________________ C C* Section 5. Process leftover rows nearest the equator. C _______________________________________________________ C 500 CONTINUE C NLEFT = MOD( NROWS, JP32 ) C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JALLGP: No.of leftover rows nearest equator = ', NLEFT) C C IF( NLEFT.NE.0 ) THEN PSTART = PNORMX - REAL( NCALLS*JP32 ) *PLATINC C IF( LDEBUG ) X CALL INTLOGR(JP_DEBUG, 'JALLGP: Next latitude = ',PSTART) C IF( LWIND ) THEN CALL JWINDLL( PSHUP, KTRUNC, PSTART, ZBUILD, PLATINC, ILUNIT, X NLEFT,ILON,ALEG,ATRIGS,IMFAX,ZFA,KRET) ELSE CALL JSYMLL( PSHUP, KTRUNC, PSTART, ZBUILD, PLATINC, ILUNIT, X NLEFT,ILON,ALEG,ATRIGS,IMFAX,ZFA,KRET) ENDIF IF( KRET.NE.0 ) GOTO 900 C C If area straddles the equator and has different number of C north/south rows, only move a selection of rows to output array. C IF( (NCASE.EQ.4).OR.(NCASE.EQ.5) ) THEN CALL JMVULL( ZFA, PNORTH, PSOUTH, PWEST, PLATINC, PLONINC, X PSTART, 0.0, NLEFT, NUMLON, ILON, IJPWR, POUTF) C C Otherwise, move them all C ELSE CALL JMOVLL( ZFA, PNORTH, PWEST, PLATINC, PLONINC, PSTART, X NLEFT, NUMLON, ILON, IJPWR, POUTF, NFLAG) ENDIF C ENDIF C KRET = 0 C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/hntfau.F0000755000175000017500000000572512127406245021755 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HNTFAU(INGRIB,INLEN) C C----> C**** HNTFAU C C Purpose C ------- C C Prepare to interpolate input field... C C C Interface C --------- C C IRET = HNTFAU(INGRIB,INLEN) C C Input C ----- C C INGRIB - Input field (unpacked). C INLEN - Input field length (words). C C C Output C ------ C C Field unpacked values are in ZNFELDI, rotated if necessary. C C Returns: 0, if OK. Otherwise, an error occured in interpolation. C C C Method C ------ C C Calls HNTFAUS to handle rotation when input and output fields C are both spectral. C C Calls HNTFAUH in all other cases. C C C Externals C --------- C C HNTFAUS - Handle rotation when input and output fields C are both spectral. C HNTFAUH - Handle rotation in all other cases. C C C Author C ------ C C J.D.Chambers ECMWF January 31, 2001 C C C----< C C -----------------------------------------------------------------| C* Section 0. Variables C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 40130 ) C C Function arguments C INTEGER INGRIB(*),INLEN C C Local variables C INTEGER IRET C C Externals C INTEGER HNTFAUS, HNTFAUH EXTERNAL HNTFAUS, HNTFAUH C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C HNTFAU = 0 C C -----------------------------------------------------------------| C* Section 2. Split handling in case there are rotations to do. C -----------------------------------------------------------------| C 200 CONTINUE C C Is the interpolation from SH to SH? C IF( ((NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT)) .AND. X ((NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT)) ) THEN C IRET = HNTFAUS(INGRIB,INLEN) C ELSE C IF( LIMISSA ) THEN CALL INTLOG(JP_DEBUG,'HNTFAU: Use missing value',JPQUIET) LIMISSV = .TRUE. ENDIF IRET = HNTFAUH(INGRIB,INLEN) C ENDIF C IF( IRET.NE.0 ) HNTFAU = JPROUTINE C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jopnll.F0000755000175000017500000002116712127406245021764 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JOPNLL( PLEG, PINTVL, KTRUNC, KUNIT, PBUILD, KRET) C C----> C**** JOPNLL C C Purpose C _______ C C This routine finds a file of legendre polynomials corresponding C to a given grid interval and truncation and returns a unit number. C C Interface C _________ C C CALL JOPNLL( PLEG, PINTVL, KTRUNC, KUNIT, PBUILD, KRET) C C Input parameters C ________________ C C PLEG - Array for legendre function C PINTVL - Grid interval in degrees C KTRUNC - Spherical truncation C C Output parameters C _________________ C C KUNIT - Unit number from PBOPEN C 0 , open failed C PBUILD - Grid interval used to build the legendre C coefficients file (degrees) C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C None C C Method C ______ C C Builds a file name from the truncation and grid interval and C tries to open a file of that name. C C If the file is already open (from a previous call), the C previous unit number is returned. C If a different file is already open (from a previous call), the C existing file is closed first. C C If no file can be located, a file is created. C C Externals C _________ C C PBOPEN - Open binary file and return unit number C PBCLOSE - Close binary file C JFINDIR - Find the file of legendre coefficients C JMAKLL - Makes a file of legendre coefficients C INTLOG - Output log message C JCHMOD - Change file permissions C RENAME - Rename file C C Reference C _________ C C NONE C C Comments C ________ C C The Legendre polynomials for the transforms may be held in C a ready-made file whose name is held in an environment variable: C cf_txxxx_raabbbbb Txxx aa.bbbbb degrees C For example, C cf_t0213_r0050000 T213 0.5 degrees C cf_t0106_r0250000 T106 2.5 degrees C C On the C90, the file of polynomials may be cached in /owrk/marsint C C Otherwise the file is located in (or will be created in) the first C directory given by one of the following (in the order listed, if C they exist): C environment variable PPDIR C or C the current working directory. C C Author C ______ C C J.D.Chambers *ECMWF* Nov 1993 C C Modifications C _____________ C C J.D.Chambers *ECMWF* Mar 1996 C Standardise the search order for the environment variables. C C----< C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER( JPROUTINE = 30900 ) C C Subroutine arguments C REAL PLEG, PINTVL, PBUILD DIMENSION PLEG(*) INTEGER KTRUNC, KUNIT, KRET C C Local variables C INTEGER IRET, IOFFSET LOGICAL LFOUND CHARACTER*256 DIRNAME CHARACTER*256 FILENAME, FILEDUM CHARACTER*512 FULLPATH CHARACTER*20 YPFN CHARACTER*20 YOLD #ifdef REAL_8 DATA YPFN/'CF_Txxxx_Raabbbbb'/ #else DATA YPFN/'cf_txxxx_raabbbbb'/ #endif DATA YOLD/'xxxxxxxxxxxxxxxxx'/ INTEGER NUNIT DATA NUNIT/0/ C SAVE NUNIT, YOLD C C Externals C LOGICAL JFINDIR LOGICAL JFINDFN INTEGER JCHMOD, RENAME C C _______________________________________________________ C C* Section 1. See if required file already in use. C _______________________________________________________ C 100 CONTINUE C C Setup the filename: cf_txxxx_raabbbbb C WRITE(YPFN(5:8),'(I4.4)') KTRUNC WRITE(YPFN(11:17),'(I7.7)') NINT(PINTVL*JPMULT) CALL INTLOG(JP_DEBUG, X 'JOPNLL: Coefficients file to open is:', JPQUIET) CALL INTLOG(JP_DEBUG, YPFN, JPQUIET) PBUILD = PINTVL C C If file already open, return the existing unit number C IF( YPFN.EQ.YOLD ) THEN CALL INTLOG(JP_DEBUG,'JOPNLL: File already open.',JPQUIET) KUNIT = NUNIT GOTO 900 ENDIF C C Otherwise, close the existing file C IF( NUNIT.NE.0 ) THEN CALL PBCLOSE(NUNIT, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JOPNLL: PBCLOSE error',IRET) KRET = JPROUTINE + 1 GOTO 990 ENDIF NUNIT = 0 ENDIF C _______________________________________________________ C C* Section 2. See if the file has already been created. C _______________________________________________________ C 200 CONTINUE C C Set appropriate build inteval C WRITE(YPFN(11:17),'(I7.7)') NINT(PBUILD*JPMULT) C IOFFSET = INDEX(YPFN,' ') - 1 FILENAME = YPFN(1:IOFFSET) C LFOUND = JFINDIR('PPDIR', DIRNAME) IF( LFOUND ) THEN LFOUND = JFINDFN(DIRNAME,FILENAME,IOFFSET,NUNIT) IF( LFOUND ) GOTO 500 ENDIF C C Try present working directory C IOFFSET = INDEX(YPFN, ' ') - 1 FILENAME = YPFN(1:IOFFSET) CALL PBOPEN( NUNIT, FILENAME(1:IOFFSET), 'r', IRET) IF( IRET.EQ.0 ) GOTO 500 C _______________________________________________________ C C* Section 3. File doesn't exist, find a suitable directory for it. C _______________________________________________________ C 300 CONTINUE C LFOUND = JFINDIR('PPDIR', DIRNAME) IF ( LFOUND ) THEN IOFFSET = INDEX(DIRNAME, ' ') - 1 FULLPATH = DIRNAME(1:IOFFSET) // '/' // FILENAME IOFFSET = INDEX(FULLPATH, ' ') - 1 FILENAME(1:IOFFSET) = FULLPATH(1:IOFFSET) FILEDUM(1:IOFFSET) = FILENAME(1:IOFFSET) #ifdef REAL_8 FILEDUM(IOFFSET-16:IOFFSET-15) = 'XX' #else FILEDUM(IOFFSET-16:IOFFSET-15) = 'xx' #endif CALL PBOPEN(NUNIT, FILEDUM(1:IOFFSET), 'w', IRET) IF( IRET.EQ.0 ) GOTO 400 ENDIF C C Try present working directory C IOFFSET = INDEX(YPFN,' ') - 1 FILENAME = YPFN(1:IOFFSET) FILEDUM(1:IOFFSET) = FILENAME(1:IOFFSET) #ifdef REAL_8 FILEDUM(IOFFSET-16:IOFFSET-15) = 'XX' #else FILEDUM(IOFFSET-16:IOFFSET-15) = 'xx' #endif CALL PBOPEN(NUNIT, FILEDUM(1:IOFFSET), 'w', IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLL: PBOPEN error.',IRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF C _______________________________________________________ C C* Section 4. Create the coefficients file. C _______________________________________________________ C 400 CONTINUE C C Let user know that a new file is being created. C IOFFSET = INDEX(FILENAME, ' ') - 1 CALL INTLOG(JP_DEBUG,'JOPNLL: Creating new coefficients file:', X JPQUIET) CALL INTLOG(JP_DEBUG,FILENAME(1:IOFFSET), JPQUIET) C C Change access mode to 'read only' for all users. C IRET = JCHMOD(FILEDUM(1:IOFFSET),'0444') IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLL: JCHMOD error.',IRET) KRET = JPROUTINE + 3 GOTO 990 ENDIF C C Make coefficients file C CALL JMAKLL( NUNIT, KTRUNC, PBUILD, 0.0, PLEG, KRET) IF( KRET.NE.0 ) GOTO 990 C C Close it, rename it, re-open for reading, leave it open. C CALL PBCLOSE(NUNIT, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JOPNLL: PBCLOSE error.',IRET) KRET = JPROUTINE + 4 GOTO 990 ENDIF C FILEDUM(IOFFSET+1:IOFFSET+1) = CHAR(0) FILENAME(IOFFSET+1:IOFFSET+1) = CHAR(0) IRET = RENAME(FILEDUM(1:IOFFSET),FILENAME(1:IOFFSET)) #ifndef hpR64 IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLL: RENAME of file failed',JPQUIET) KRET = JPROUTINE + 5 GOTO 990 ENDIF #endif C CALL PBOPEN(NUNIT, FILENAME(1:IOFFSET), 'r', IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNLL: PBOPEN error.',IRET) KRET = JPROUTINE + 6 GOTO 990 ENDIF C _______________________________________________________ C C* Section 5. File now open with read access. C _______________________________________________________ C 500 CONTINUE C KUNIT = NUNIT YOLD = YPFN C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C KRET = 0 C 990 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/wavexx2.F0000755000175000017500000003454412127406245022075 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WAVEXX2(NPARAM, NUMLATS, NPTS, X NLATS, STEPNS, STEPWE, X OLDWAVE, X NEWWAVE, NORTH, WEST, PMISS) C C----> C*****WAVEXX2* C C PURPOSE C ------- C C Interpolates wave fields (except 2D spectra). C C C INTERFACE C --------- C C IRET = WAVEXX2(NPARAM, NUMLATS, NLATS, STEPNS, STEPWE, C X OLDWAVE, NEWIDX, DISTNEW, C X NEWWAVE, NORTH, WEST, PMISS) C C Input arguments C --------------- C C NUMLATS - Input lat number north-south C NPTS - Array giving number of points along each latitude C (empty latitudes have entry 0) C NLATS - Number of points N-S in new grid C STEPNS - Output grid north-south resolution (degrees) C STEPWE - Output grid west-east resolution (degrees) C OLDWAVE - Original wave field C NORTH - Output grid northernmost latitude (degrees) C WEST - Output grid westernmost longitude (degrees) C PMISS - Missing data value C C Output arguments C ---------------- C C NEWWAVE - New wave field C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C Builds the index of neighbouring points for the output grid. C Then works through the output grid points, checking for subarea C boundaries and looking up neighbouring point values and weights. C (Neighbours may have missing data). C C C EXTERNALS C --------- C C WAVEIDX - determines which nearest-neighbour values to use for C interpolating to new output grid point C NUMPTWE - Calculates number of grid points between west/east C area boundaries C INTLOG - Log error message C C C REFERENCE C --------- C C None. C C C Author. C ------- C C S. Curic ECMWF Jun 2009 C C C C----< C IMPLICIT NONE C C Parameters C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" INTEGER JPROUTINE, JPMXLAT PARAMETER (JPROUTINE = 40100) PARAMETER (JPMXLAT = 1801) INTEGER JPNW, JPNE, JPSW, JPSE, JPN, JPS INTEGER JPDISNW, JPDISNE, JPDISSW, JPDISSE PARAMETER (JPNW = 1) PARAMETER (JPNE = 2) PARAMETER (JPSW = 3) PARAMETER (JPSE = 4) PARAMETER (JPN = 5) PARAMETER (JPS = 6) PARAMETER (JPDISNW = 7) PARAMETER (JPDISNE = 8) PARAMETER (JPDISSW = 9) PARAMETER (JPDISSE = 10) C C Subroutine arguments C INTEGER NPTS,NLATS DIMENSION NPTS(*) REAL STEPNS, STEPWE, OLDWAVE, NEWWAVE, NORTH, WEST, PMISS DIMENSION OLDWAVE(*), NEWWAVE(*) INTEGER NEWIDX DIMENSION NEWIDX(4,2880*1442) REAL*4 DISTNEW DIMENSION DISTNEW(10,2880*1442) INTEGER NUMLATS C C Local arguments C REAL RLATINC, RLATINC2 REAL ONORTH,OSOUTH,OWEST, OEAST INTEGER IEOFSET, IWOFSET, ISTART, IWEST REAL SOUTH, PTLAT, AWEST, EAST, PTLONG REAL REFVAL, SCALE INTEGER NSPT1, INSPT, NEXP, NMANT, NRETA, NRETB, NLENG, NBIT INTEGER NPARAM, ISCALE, NSCALE, IBITS, ITEMP INTEGER IRET, IEDITN INTEGER NEXT, NEXTWV, NROW, NCOL, INDEX INTEGER MISSLAT, LOOP, NUMNEW, KOLDNUM, KNEWNUM DIMENSION NUMNEW(JPMXLAT) REAL OLDLATS, NEWLATS, ROWINC DIMENSION OLDLATS(JPMXLAT), NEWLATS(JPMXLAT) LOGICAL LDIREC REAL*4 DISNW, DISNE, DISSW, DISSE REAL*4 NW_PT, NE_PT, SW_PT, SE_PT REAL*4 RAD DATA RAD/0.017453293/ REAL*4 DI1N, DI1S, DI2N, DI2S, DK1, DK2 REAL*4 CNW_PT, CNE_PT, CSW_PT, CSE_PT REAL*4 SNW_PT, SNE_PT, SSW_PT, SSE_PT REAL*4 U1, U2, C1, C2, S1, S2, CC, SS INTEGER INW, INE, ISW, ISE, JNW, JNE, JSW, JSE C C Externals C INTEGER WAVEIDX, NUMPTWE EXTERNAL WAVEIDX, NUMPTWE C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WAVEXX2 = 0 C Initialise the bitmap value lookup function C MISSLAT = 0 ONORTH = FLOAT(NIAREA(1))/PPMULT OSOUTH = FLOAT(NIAREA(3))/PPMULT RLATINC = FLOAT(NIGRID(2))/PPMULT C C Calculate number of latitudes if grid had been full from C North pole to South pole C IF( NUMLATS.GT.JPMXLAT ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXX2: Number of latitudes in input grid = ',NUMLATS) CALL INTLOG(JP_ERROR, X 'WAVEXX2: And is greater than allowed maximum = ',JPMXLAT) WAVEXX2 = JPROUTINE + 1 GOTO 900 ENDIF C C C Fill an array with the number of points at each latitude for the C input field. C IF(NIREPR.EQ.JPREDLL) THEN C C Input field is a reduced latitude/longitude grid C C .. but it may be 'pseudo-gaussian' in layout C (ie global, symmetric about the equator but no latitude C at the equator) C IF( (ONORTH.NE.90.0).AND.(MOD(NUMLATS,2).EQ.0) ) THEN C ONORTH = FLOAT(NIAREA(1)) OSOUTH = FLOAT(NIAREA(3)) RLATINC = FLOAT(NIGRID(2)) DO LOOP = 1, NUMLATS cs OLDLATS(LOOP) = ONORTH - (LOOP-1)*RLATINC OLDLATS(LOOP) = (ONORTH - (LOOP-1)*RLATINC)/PPMULT ENDDO C ELSE C DO LOOP = 1, NUMLATS OLDLATS(LOOP) = 90.0 - (LOOP-1)*RLATINC ENDDO cs----------------------------------------------------- cs MISSLAT = (9000000 - NIAREA(1) )/NIGRID(2) cs DO LOOP = 1, MISSLAT cs NPTS(LOOP) = 0 cs ENDDO cs KOLDNUM = 1 + (9000000 - NIAREA(3))/NIGRID(2) cs DO LOOP = 1, (KOLDNUM-MISSLAT) cs print*,LOOP+MISSLAT, NPTS(LOOP+MISSLAT) cs NPTS(LOOP+MISSLAT) = ISEC2(22+LOOP) cs ENDDO cs DO LOOP = (KOLDNUM+1), NUMLATS cs print*,'to set 0 ', loop, NPTS(LOOP) cs NPTS(LOOP) = 0 cs ENDDO cs----------------------------------------------------- C ENDIF C ELSE C C Input field is a regular latitude/longitude grid C C DO LOOP = 1, NUMLATS OLDLATS(LOOP) = 90.0 - (LOOP-1)*RLATINC ENDDO C MISSLAT = (90.0 - ONORTH)/RLATINC DO LOOP = 1, MISSLAT NPTS(LOOP) = 0 ENDDO KOLDNUM = 1 + NINT((90.0 - OSOUTH)/RLATINC) DO LOOP = 1, (KOLDNUM-MISSLAT) NPTS(LOOP+MISSLAT) = NIWE ENDDO DO LOOP = (KOLDNUM+1), NUMLATS NPTS(LOOP) = 0 ENDDO ENDIF C C --------------------------------------------------------------------- C* Section 2. Setup number of points at each latitude for the C output latitude/longitude field. C --------------------------------------------------------------------- C 200 CONTINUE C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN) ) THEN C C Reduced (quasi-regular) gaussian output C KNEWNUM = NOGAUSS*2 DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROGAUSS(LOOP) ENDDO C ELSE IF( NOREPR.EQ.JPREDLL ) THEN C C Reduced (quasi-regular) lat/long output C KNEWNUM = NOREDLL DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROREDLL(LOOP) ENDDO C ELSE C C Regular output C MISSLAT = NINT((90.0 - NORTH)/STEPNS) DO LOOP = 1, MISSLAT NUMNEW(LOOP) = 0 ENDDO DO LOOP = 1, NLATS NUMNEW(LOOP+MISSLAT) = NINT(360.0/STEPWE) ENDDO C KNEWNUM = MISSLAT + NLATS DO LOOP = 1, KNEWNUM NEWLATS(LOOP) = 90.0 - (LOOP-1)*STEPNS ENDDO C ENDIF C C --------------------------------------------------------------------- C* Section 3. Get the input GRIB field characteristics. C --------------------------------------------------------------------- C 300 CONTINUE C C Calculate the indices of the input grid points to be used for C the output points C OWEST = FLOAT(NIAREA(2))/PPMULT OEAST = FLOAT(NIAREA(4))/PPMULT WAVEXX2 = WAVEIDX(NUMLATS,NPTS,OLDLATS,OWEST,OEAST, X KNEWNUM, NUMNEW, NEWLATS, X NEWIDX, DISTNEW) IF( WAVEXX2.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXX2: Unable to calculate output grid indices',JPQUIET) WAVEXX2 = JPROUTINE + 2 GOTO 900 ENDIF C C Wave direction parameters need special handling C (MWD, MDWW, MDPS, MDWI) C LDIREC = ( (NPARAM.EQ.230) .OR. X (NPARAM.EQ.235) .OR. X (NPARAM.EQ.238) .OR. X (NPARAM.EQ.242) ) C C --------------------------------------------------------------------- C* Section 4. Work through the output subarea. C --------------------------------------------------------------------- C 400 CONTINUE C C Fill in the wave spectra values C NEXT = 0 NEXTWV = 0 C SOUTH = NOAREA(3)/PPMULT EAST = NOAREA(4)/PPMULT ISTART = 0 C C Work down through latitudes from north to south. C DO NROW = 1, KNEWNUM C C If inside north-south (subarea) boundaries .. C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPQUASI) ) THEN PTLAT = ROGAUSS(NROW) ELSE PTLAT = 90.0 - (NROW-1)*STEPNS ENDIF IF( (PTLAT.LE.NORTH).AND.(ABS(PTLAT-SOUTH).GT.-0.0005) ) THEN C C Calculate number of points between west boundary of area and C Greenwich C ROWINC = 360.0/NUMNEW(NROW) C IWEST = INT(WEST/ROWINC) IF( (WEST.GT.0.0).AND.(WEST.NE.(IWEST*ROWINC)) ) X IWEST = IWEST + 1 AWEST = IWEST * ROWINC IWOFSET = NUMPTWE(AWEST,0.0,ROWINC) IEOFSET = NUMPTWE(AWEST,EAST,ROWINC) C C Work through subarea longitudes from west to east. C DO NCOL = 1, NUMNEW(NROW) PTLONG = AWEST + (NCOL-1)*ROWINC NEXT = NUMPTWE(AWEST,PTLONG,ROWINC) IF( (NEXT.LE.IEOFSET).AND.(NEXT.GE.0) ) THEN C C .. and inside west-east (subarea) boundaries C NEXT = 1 + NEXT - IWOFSET IF( NEXT.LE.0) NEXT = NEXT + NUMNEW(NROW) NEXT = NEXT + ISTART NEXTWV = NEXTWV + 1 C INW = NEWIDX(JPNW,NEXT) INE = NEWIDX(JPNE,NEXT) ISW = NEWIDX(JPSW,NEXT) ISE = NEWIDX(JPSE,NEXT) C C Test if any of the four neighbouring points is missing. C IF( (OLDWAVE(INW).EQ.PMISS) .OR. X (OLDWAVE(ISW).EQ.PMISS) .OR. X (OLDWAVE(INE).EQ.PMISS) .OR. X (OLDWAVE(ISE).EQ.PMISS) ) THEN ENDIF IF( (INW.EQ.0) .OR. (OLDWAVE(INW).EQ.PMISS) .OR. X (ISW.EQ.0) .OR. (OLDWAVE(ISW).EQ.PMISS) .OR. X (INE.EQ.0) .OR. (OLDWAVE(INE).EQ.PMISS) .OR. X (ISE.EQ.0) .OR. (OLDWAVE(ISE).EQ.PMISS) ) THEN IF( (OLDWAVE(INW).EQ.PMISS) .AND. X (OLDWAVE(ISW).EQ.PMISS) .AND. X (OLDWAVE(INE).EQ.PMISS) .AND. X (OLDWAVE(ISE).EQ.PMISS) ) THEN ENDIF C C If so, take nearest grid point value. C DISNW = DISTNEW(JPDISNW,NEXT) DISNE = DISTNEW(JPDISNE,NEXT) DISSW = DISTNEW(JPDISSW,NEXT) DISSE = DISTNEW(JPDISSE,NEXT) C IF( (DISNW.LE.DISNE).AND. X (DISNW.LE.DISSW).AND. X (DISNW.LE.DISSE)) THEN INDEX = INW C ELSE IF( (DISNE.LE.DISSW).AND. X (DISNE.LE.DISSE) ) THEN INDEX = INE C ELSE IF( (DISSW.LE.DISSE) ) THEN INDEX = ISW C ELSE INDEX = ISE ENDIF C IF(INDEX.EQ.0.OR.(OLDWAVE(INDEX).EQ.PMISS)) THEN C C Nearest point is missing C NEWWAVE(NEXTWV) = PMISS C ELSE NEWWAVE(NEXTWV) = OLDWAVE(INDEX) ENDIF C ELSE C C Use bi-linear interpolation from four C neighbouring sea points. C C DI1N = DISTNEW(JPNW,NEXT) DI2N = DISTNEW(JPNE,NEXT) DI1S = DISTNEW(JPSW,NEXT) DI2S = DISTNEW(JPSE,NEXT) DK1 = DISTNEW(JPN,NEXT) DK2 = DISTNEW(JPS,NEXT) C NW_PT = OLDWAVE(INW) NE_PT = OLDWAVE(INE) SW_PT = OLDWAVE(ISW) SE_PT = OLDWAVE(ISE) IF( .NOT. LDIREC ) THEN U1 = NW_PT*DI2N + NE_PT*DI1N U2 = SW_PT*DI2S + SE_PT*DI1S NEWWAVE(NEXTWV) = U1*DK2 + U2*DK1 ELSE C C Fields representing a 'direction': resolve into C components and interpolate each separately. C CNW_PT = COS(NW_PT*RAD) CNE_PT = COS(NE_PT*RAD) CSW_PT = COS(SW_PT*RAD) CSE_PT = COS(SE_PT*RAD) SNW_PT = SIN(NW_PT*RAD) SNE_PT = SIN(NE_PT*RAD) SSW_PT = SIN(SW_PT*RAD) SSE_PT = SIN(SE_PT*RAD) C1 = CNW_PT*DI2N + CNE_PT*DI1N C2 = CSW_PT*DI2S + CSE_PT*DI1S CC = C1*DK2 + C2*DK1 S1 = SNW_PT*DI2N + SNE_PT*DI1N S2 = SSW_PT*DI2S + SSE_PT*DI1S SS = S1*DK2 + S2*DK1 IF( SS.LT.0.0 ) THEN NEWWAVE(NEXTWV) = ATAN2(SS,CC)/RAD + 360.0 ELSE NEWWAVE(NEXTWV) = ATAN2(SS,CC)/RAD ENDIF ENDIF ENDIF ENDIF ENDDO C ENDIF ISTART = ISTART + NUMNEW(NROW) ENDDO C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/hsp2gg.F0000755000175000017500000001056312127406245021656 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HSP2GG(KTRUNC,KGAUSS,KPTS,PLATS,KSIZE) C C----> C**** HSP2GG C C Purpose C ------- C C This routine finds a suitable gaussian grid for a given C spectral truncation. C C C Interface C --------- C C IRET = HSP2GG(KTRUNC,KGAUSS,KPTS,KSIZE) C C C Input parameters C ---------------- C C KTRUNC - The spectral truncation C C C Output parameters C ----------------- C C KGAUSS - The gaussian number C KPTS - Array giving number of points along each line of latitude C in the reduced gaussian grid (both hemispheres) C PLATS - Array giving gaussian latitudes (both hemispheres) C KSIZE - The number of points in the reduced gaussian grid C C Returns 0 if all OK, otherwise there is an error. C C C Common block usage C ------------------ C C None C C C Method C ------ C C None C C C Externals C --------- C C JGETGG - Reads the definition of a gaussian grid C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C C Modifications C ------------- C C S.Curic ECMWF March 2005 C Added checking for a automatic trancation T255, T399, T799, T2047 C and corresponding gaussian grid. C C S.Curic ECMWF April 2008 C Added checking for a automatic trancation T1279 C and corresponding gaussian grid. C C C S.Curic ECMWF Semptember 2009 C Match T255 and T213 against N128 instead of N160 C upon Alan Geer request C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" C C Function arguments C INTEGER KTRUNC, KGAUSS, KPTS(*), KSIZE REAL PLATS(*) C C Local variables C INTEGER LOOP, IRET C C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HSP2GG = 0 C IF( (KTRUNC.EQ.2047).OR.(KTRUNC.EQ.2048) ) THEN ! Mariano KGAUSS = 1024 ELSE IF( (KTRUNC.EQ.1279).OR.(KTRUNC.EQ.1280) ) THEN ! Jan Haseler KGAUSS = 640 ELSE IF( (KTRUNC.EQ.799).OR.(KTRUNC.EQ.800) ) THEN ! Oper 2005 KGAUSS = 400 ELSE IF( (KTRUNC.EQ.639).OR.(KTRUNC.EQ.640) ) THEN KGAUSS = 320 ELSE IF( (KTRUNC.EQ.511).OR.(KTRUNC.EQ.512) ) THEN ! Oper 2004 KGAUSS = 256 ELSE IF( (KTRUNC.EQ.399).OR.(KTRUNC.EQ.400) ) THEN ! Enfo 2005 KGAUSS = 200 ELSE IF( (KTRUNC.EQ.319).OR.(KTRUNC.EQ.320) ) THEN KGAUSS = 160 ELSE IF( (KTRUNC.EQ.255).OR.(KTRUNC.EQ.256) ) THEN ! Enfo 2004 KGAUSS = 128 ELSE IF( (KTRUNC.EQ.213).OR.(KTRUNC.EQ.214) ) THEN KGAUSS = 128 ELSE IF( (KTRUNC.EQ.159).OR.(KTRUNC.EQ.160) ) THEN KGAUSS = 80 ELSE IF( (KTRUNC.EQ.106).OR.(KTRUNC.EQ.107) ) THEN KGAUSS = 80 ELSE IF( (KTRUNC.EQ.95) .OR.(KTRUNC.EQ.96 ) ) THEN KGAUSS = 48 ELSE IF( (KTRUNC.EQ.63) .OR.(KTRUNC.EQ.64 ) ) THEN KGAUSS = 48 ELSE CALL INTLOG(JP_ERROR,'HSP2GG: Unmatched truncation',KTRUNC) HSP2GG = 1 GOTO 900 ENDIF C C Get the reduced gaussian grid information and count the C number of points. C CALL JGETGG(KGAUSS,'R',PLATS,KPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HSP2GG: JGETGG failed to get gaussian data',JPQUIET) HSP2GG = 2 GOTO 900 ENDIF C KSIZE = 0 DO LOOP = 1, KGAUSS*2 KSIZE = KSIZE + KPTS(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_512.h0000755000175000017500000001011212127406245022407 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG512(512) DATA QG512/ X 18, 25, 32, 40, 45, X 50, 60, 60, 72, 72, X 75, 81, 90, 96, 96, X 100, 108, 120, 125, 128, X 135, 144, 150, 160, 160, X 180, 180, 180, 192, 192, X 200, 216, 216, 225, 225, X 240, 240, 243, 250, 256, X 270, 270, 288, 288, 288, X 300, 320, 320, 320, 320, X 360, 360, 360, 360, 360, X 360, 375, 375, 384, 384, X 400, 400, 400, 432, 432, X 432, 432, 450, 450, 450, X 480, 480, 480, 480, 480, X 486, 500, 500, 512, 512, X 540, 540, 540, 540, 540, X 576, 576, 576, 576, 576, X 576, 600, 600, 600, 640, X 640, 640, 640, 640, 640, X 640, 648, 675, 675, 675, X 675, 675, 720, 720, 720, X 720, 720, 720, 720, 729, X 729, 750, 750, 750, 768, X 768, 768, 800, 800, 800, X 800, 800, 800, 810, 864, X 864, 864, 864, 864, 864, X 864, 864, 864, 864, 900, X 900, 900, 900, 900, 900, X 960, 960, 960, 960, 960, X 960, 960, 960, 960, 960, X 960, 972, 972, 1000, 1000, X 1000, 1000, 1000, 1024, 1024, X 1024, 1024, 1080, 1080, 1080, X 1080, 1080, 1080, 1080, 1080, X 1080, 1080, 1125, 1125, 1125, X 1125, 1125, 1125, 1125, 1125, X 1125, 1152, 1152, 1152, 1152, X 1152, 1200, 1200, 1200, 1200, X 1200, 1200, 1200, 1200, 1200, X 1215, 1215, 1215, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1296, 1296, 1296, 1350, X 1350, 1350, 1350, 1350, 1350, X 1350, 1350, 1350, 1350, 1350, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1458, X 1458, 1458, 1458, 1500, 1500, X 1500, 1500, 1500, 1500, 1500, X 1500, 1500, 1500, 1536, 1536, X 1536, 1536, 1536, 1536, 1536, X 1536, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1620, 1620, 1620, X 1620, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1800, 1800, 1800, 1800, X 1800, 1800, 1800, 1800, 1800, X 1800, 1800, 1800, 1800, 1800, X 1800, 1800, 1800, 1800, 1800, X 1800, 1800, 1800, 1875, 1875, X 1875, 1875, 1875, 1875, 1875, X 1875, 1875, 1875, 1875, 1875, X 1875, 1875, 1875, 1875, 1875, X 1875, 1875, 1875, 1875, 1875, X 1875, 1875, 1875, 1875, 1920, X 1920, 1920, 1920, 1920, 1920, X 1920, 1920, 1920, 1920, 1920, X 1920, 1920, 1920, 1920, 1920, X 1920, 1920, 1944, 1944, 1944, X 1944, 1944, 1944, 1944, 1944, X 1944, 1944, 1944, 2000, 2000, X 2000, 2000, 2000, 2000, 2000, X 2000, 2000, 2000, 2000, 2000, X 2000, 2000, 2000, 2000, 2000, X 2000, 2000, 2000, 2000, 2000, X 2000, 2000, 2000, 2000, 2000, X 2000, 2000, 2000, 2000, 2000, X 2025, 2025, 2025, 2025, 2025, X 2025, 2025, 2025, 2025, 2025, X 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2048, 2048, X 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, X 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, X 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, X 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, X 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, X 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, X 2048, 2048 / emoslib-000392+dfsg.1/interpolation/intvect.F0000755000175000017500000003407212127406245022141 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTVECT(PUFIELD,PVFIELD,KASIZE, X KUGRIB,KVGRIB,OUTLEN) C C----> C**** INTVECT C C Purpose C ------- C Interpolate U or V component fields to grid point. C C C Interface C --------- C IRET = INTVECT(PUFIELD,PVFIELD,KASIZE, C X KUGRIB,KVGRIB,OUTLEN) C C Input C ----- C PUFIELD - U values. C PVFIELD - V values. C KASIZE - Size of input arrays C C C Output C ------ C KUGRIB - Output wind U component field (GRIB format). C KVGRIB - Output wind V component field (GRIB format). C OUTLEN - Output U field length (words). C C C Method C ------ C None. C C C Externals C --------- C RESET_C - Reset interpolation handling options using GRIB product. C IBASINI - Ensure basic interpolation setup is done. C ISCRSZ - Calculate number of values in generated field. C INTUVDH - Encode/decode data into/from GRIB code. C INTFAU - Prepare to interpolate unpacked input field. C INTFBU - Interpolate unpacked input field. C INTLOG - Log error message. C MKFRAME - Create a 'frame' from a rectangular field. C INTUVGH - Interpolate GRIB U and V reduced gaussian to rotated GRIB C U and V. C C C Author C ------ C J.D.Chambers ECMWF September 2004 C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "intf.h" #include "current.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 40170 ) C C Function arguments C INTEGER KPARAM, KASIZE, KUGRIB(*), KVGRIB(*), OUTLEN REAL PUFIELD(KASIZE), PVFIELD(KASIZE) C C Local variables C LOGICAL LFRAME, LOLDWIND, LOMISSV INTEGER NPARAM, IRET, ILENF, NTRUNC, NGAUSS, ISIZE, NCOUNT INTEGER NUVFLAG, NLON, NLAT, NBYTES, NSIZE INTEGER ISZVD, IHOLD, ISAME INTEGER IN_U, IN_V REAL DUMMY REAL AREA(4), GRID(2), POLE(2), EAST, WEST CHARACTER*1 HOLDTYP INTEGER LOOP INTEGER OUTLENO C REAL RGGRID, SWORK, TWORK POINTER (IRGGRID, RGGRID(1) ) POINTER (ISWORK, SWORK(1) ) POINTER (ITWORK, TWORK(1) ) C INTEGER KPTS(JPGTRUNC*2) REAL GLATS(JPGTRUNC*2) LOGICAL LFIRST, LNEWUV, LSPECUV CHARACTER*3 EXTRA C C Externals C INTEGER FIXAREA, INTFAU, INTFBU, INTUVDH, HSP2GG, IBASINI INTEGER HIRLAMW, ISCRSZ, RESET_C, INSANE, INTUVGH C DATA IRGGRID/-1/, ISWORK/-1/, ITWORK/-1/ SAVE IRGGRID, ISWORK, ITWORK DATA LFIRST/.TRUE./, LNEWUV/.TRUE./, EXTRA/'NO '/ SAVE LFIRST, LNEWUV C C -----------------------------------------------------------------| C* Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C INTVECT = 0 IF( LFIRST ) THEN CALL GETENV('IGNORE_UV_EXTRA_MODE', EXTRA) IF((EXTRA(1:1).EQ.'Y').OR.(EXTRA(1:1).EQ.'y')) LNEWUV = .FALSE. IF( LNEWUV ) THEN CALL INTLOG(JP_DEBUG, X 'INTVECT: IGNORE_UV_EXTRA_MODE not turned on',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'INTVECT: IGNORE_UV_EXTRA_MODE turned on',JPQUIET) ENDIF LFIRST = .FALSE. ENDIF C LOLDWIND = LWINDSET C C Ensure that basic initialisation has been done C IRET = IBASINI(0) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECT: basic initialise failed',JPQUIET) INTVECT = IRET GOTO 900 ENDIF C C Unpack GRIB sections 1 and 2. C ISZVD = 1 IRET = INTUVDH(DUMMY,ISZVD,PUFIELD,KASIZE,'J',IN_U) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECT: GRIB header decode failed',IRET) INTVECT = IRET GOTO 900 ENDIF NSIZE = ISEC4(1) NIREPR = ISEC2(1) LSPECUV = (NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT) IF( LSPECUV ) NIRESO = ISEC2(2) C C Setup interpolation options from input GRIB characteristics. C IRET = RESET_C(ISEC1, ISEC2, ZSEC2, ISEC4) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: Setup interp. options from GRIB failed.',JPQUIET) INTVECT = IRET GOTO 900 ENDIF IF(NIREPR.EQ.JPREGROT) THEN OUTLEN = 0 IRET = 0 CALL INTLOG(JP_DEBUG, X 'INTF: Input U and V rotated lat/long fields ...',JPQUIET) CALL INTLOG(JP_DEBUG, X 'INTF: ... no interpolation has been done',JPQUIET) GOTO 900 ENDIF C C Only allowed rotations are: C - spectral to regular lat/long C - reduced gaussian to regular lat/long C IF( LNOROTA ) THEN IF( ((NOREPR.NE.JPREGROT).AND.(NOREPR.NE.JPREGULAR)).OR. X ((NIREPR.NE.JPSPHERE).AND.(NIREPR.NE.JPQUASI)) ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: For vector fields, only allowed rotations are:', X JPQUIET) CALL INTLOG(JP_ERROR, X 'INTVECT: spectral to regular lat/long, or',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTVECT: reduced gaussian to regular lat/long',JPQUIET) INTVECT = JPROUTINE + 1 GOTO 900 ENDIF ENDIF C C Check that no outrageous values given for interpolation C ISAME = INSANE() IF( (ISAME.GT.0).AND.(ISAME.NE.27261) ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: Interpolation cannot use given values.',JPQUIET) INTVECT = ISAME GOTO 900 ENDIF C LFRAME = LNOFRAME.AND. X ((NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPREGROT ).OR.(NOREPR.EQ.JPFGGROT ) ) C C Fill area limits (handles case when default 0/0/0/0 given) C IRET = FIXAREA() IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECT: area fixup failed',JPQUIET) INTVECT = JPROUTINE + 3 GOTO 900 ENDIF C AREA(1) = REAL(NOAREA(1))/PPMULT AREA(2) = REAL(NOAREA(2))/PPMULT AREA(3) = REAL(NOAREA(3))/PPMULT AREA(4) = REAL(NOAREA(4))/PPMULT C GRID(1) = REAL(NOGRID(1))/PPMULT GRID(2) = REAL(NOGRID(2))/PPMULT C IF( LNOROTA ) THEN POLE(1) = REAL(NOROTA(1))/PPMULT POLE(2) = REAL(NOROTA(2))/PPMULT CALL INTLOG(JP_DEBUG,'INTVECT: Rotate the U & V fields',JPQUIET) CALL INTLOG(JP_DEBUG,'INTVECT: South pole lat ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'INTVECT: South pole long ',NOROTA(2)) ELSE NOROTA(1) = -9000000 NOROTA(2) = 0 ENDIF C IF( .NOT. LSPECUV ) GOTO 500 C C Get some scratch memory for the U and V fields C ILENF = NSIZE ISIZE = ILENF * 2 CALL JMEMHAN( 11, ISWORK, NSIZE*2, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: memory alloc for scratch memory failed',JPQUIET) INTVECT = JPROUTINE + 2 GOTO 900 ENDIF C C Unpack U field C NIFORM = 0 NIPARAM = IN_U LWIND = .TRUE. LOLDWIND = LWINDSET LWINDSET = .TRUE. C IRET = INTUVDH(SWORK,NSIZE,PUFIELD,KASIZE,'D',NIPARAM) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECT: Vorticity decoding failed',IRET) INTVECT = IRET GOTO 900 ENDIF IN_U = ISEC1(6) C C Unpack V field C NIPARAM = IN_V C IRET = INTUVDH(SWORK(1+NSIZE),NSIZE,PVFIELD,KASIZE,'D',NIPARAM) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECT: Vorticity decoding failed',IRET) INTVECT = IRET GOTO 900 ENDIF IN_V = ISEC1(6) C IF( LNOROTA ) GOTO 300 C C -----------------------------------------------------------------| C* Section 2. Spectral to grid-point with no rotation C -----------------------------------------------------------------| C 200 CONTINUE C CALL INTLOG(JP_DEBUG, X 'INTVECT: Interpolate U & V fields with no rotation',JPQUIET) C CALL JMEMHAN( 18, ITWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: memory alloc for scratch memory failed',JPQUIET) INTVECT = JPROUTINE + 2 GOTO 900 ENDIF C C Interpolate U field C IRET = INTFAU(SWORK, NSIZE) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: Prepare to interpolate failed.',JPQUIET) INTVECT = JPROUTINE + 2 GOTO 900 ENDIF C IRET = INTFBU(SWORK, NSIZE, TWORK, ILENF) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECT: Interpolation failed.',JPQUIET) INTVECT = JPROUTINE + 2 GOTO 900 ENDIF C C Interpolate V field C IRET = INTFAU(SWORK(1+NSIZE),NSIZE) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: Prepare to interpolate failed.',JPQUIET) INTVECT = JPROUTINE + 2 GOTO 900 ENDIF C IRET = INTFBU(SWORK(1+NSIZE),NSIZE, TWORK(1+ILENF), ILENF) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTVECT: Interpolation failed.',JPQUIET) INTVECT = JPROUTINE + 2 GOTO 900 ENDIF C GOTO 700 C C -----------------------------------------------------------------| C* Section 3. Spectral to grid-point with rotation C -----------------------------------------------------------------| C 300 CONTINUE C IF( .NOT.LUSEHIR ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT : Unable to rotate spectral U or V:',JPQUIET) INTVECT = JPROUTINE + 3 GOTO 900 ENDIF C C Convert spectral to suitable global reduced gaussian C NTRUNC = NIRESO IRET = HSP2GG(NTRUNC,NGAUSS,KPTS,GLATS,ISIZE) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: problem getting data for reduced grid',NTRUNC) INTVECT = JPROUTINE + 4 GOTO 900 ENDIF NCOUNT = ISIZE C C Dynamically allocate memory for global reduced gaussian grid C CALL JMEMHAN( 18, IRGGRID, (NCOUNT*2), 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: memory alloc for reduced grid fail',JPQUIET) INTVECT = JPROUTINE + 4 GOTO 900 ENDIF C C Set flag to show field is a wind component C NUVFLAG = 1 C C Create the reduced gaussian grid C HOLDTYP = HOGAUST WEST = 0.0 EAST = 360.0 - (360.0/(NGAUSS*4)) C C U component spectral -> reduced gaussian C CALL JAGGGP(SWORK,NTRUNC,GLATS(1),GLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID,NUVFLAG,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: spectral to reduced gaussian failed',JPQUIET) INTVECT = JPROUTINE + 4 GOTO 900 ENDIF C HOGAUST = HOLDTYP C C V component spectral -> reduced gaussian C CALL JAGGGP(SWORK(1+NSIZE),NTRUNC,GLATS(1),GLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID(1+NCOUNT),NUVFLAG,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: spectral to reduced gaussian failed',JPQUIET) INTVECT = JPROUTINE + 4 GOTO 900 ENDIF C HOGAUST = HOLDTYP C C Rotate using 12-point horizontal interpolation C C Dynamically allocate memory for rotated lat/long grid C NLON = 1 + NINT((AREA(JPEAST) - AREA(JPWEST)) / X GRID(JPWESTEP)) ! SC NLAT = 1 + NINT((AREA(JPNORTH) - AREA(JPSOUTH)) / X GRID(JPNSSTEP)) ! SC C ILENF = NLON * NLAT ISIZE = ILENF * 2 CALL JMEMHAN( 17, ITWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: memory alloc for lat/long grid fail',JPQUIET) INTVECT = JPROUTINE + 6 GOTO 900 ENDIF C IRET = HIRLAMW(LO12PT,RGGRID,RGGRID(1+NCOUNT),NCOUNT,NGAUSS,AREA, X POLE,GRID,TWORK,TWORK(1+ILENF),ILENF,NLON,NLAT) C IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: HIRLAMW rotation failed',JPQUIET) INTVECT = JPROUTINE + 6 GOTO 900 ENDIF C C Set the components flag for rotated U and V coefficients C ISEC2(19) = 8 NOWE = NLON NONS = NLAT C GOTO 700 C C -----------------------------------------------------------------| C* Section 5. Reduced gaussian to grid-point C -----------------------------------------------------------------| C 500 CONTINUE C INTVECT = X INTUVGH(PUFIELD,PVFIELD,KASIZE,KUGRIB,KVGRIB,OUTLEN,OUTLEN) C GOTO 900 C C -----------------------------------------------------------------| C* Section 7. Pack the fields into GRIB format C -----------------------------------------------------------------| C 700 CONTINUE C C Reset the input format flag C NIFORM = 1 C C If a 'frame' has been specified, build the frame C IF( LFRAME ) THEN LOMISSV = LIMISSV LIMISSV = .TRUE. CALL MKFRAME(NLON,NLAT,TWORK,RMISSGV,NOFRAME) CALL MKFRAME(NLON,NLAT,TWORK(1+ILENF),RMISSGV,NOFRAME) ENDIF C OUTLENO = OUTLEN IRET = INTUVDH(TWORK,ILENF,KUGRIB,OUTLEN,'C',IN_U) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: Wind component into GRIB encoding fail',IRET) INTVECT = JPROUTINE + 7 GOTO 900 ENDIF C OUTLEN = OUTLENO IRET = INTUVDH(TWORK(1+ILENF),ILENF,KVGRIB,OUTLEN,'C',IN_V) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTVECT: Wind component into GRIB encoding fail',IRET) INTVECT = JPROUTINE + 7 GOTO 900 ENDIF C IF( LFRAME ) LIMISSV = LOMISSV C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jopnllsm.c0000755000175000017500000002714312127406245022361 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifdef linux #ifndef __USE_LARGEFILE64 #define __USE_LARGEFILE64 #endif #include #endif #include #include #include #include #include #include #include #include "fortint.h" #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define JOPNLLSM jopnllsm #define JMAKLL jmakll #define INTLOGT intlogt #define PBOPEN pbopen #define PBCLOSE pbclose #else #define JOPNLLSM jopnllsm_ #define JMAKLL jmakll_ #define INTLOGT intlogt_ #define PBOPEN pbopen_ #define PBCLOSE pbclose_ #endif #endif /* //#ifdef POINTER_64 //#define pointer long //#else //#define pointer fortint //#endif */ #ifdef linux # if !defined __off64_t_defined typedef __off64_t off64_t; #define __off64_t_defined #ifdef FOPEN64 void *mmap64(void *__addr, size_t __len, int __prot, int __flags, int __fd, __off64_t __offset); #endif #endif #endif #ifdef FOPEN64 #define OFF_T off64_t extern OFF_T ftello64(FILE *); #else #define OFF_T off_t #endif int iitimer(int *seconds) { time_t timval1; time(&timval1); if (*seconds == 0) return (int)timval1; return (int)(timval1 - (time_t)*seconds); } void INTLOGT(char * message, long length); FILE * pbfp(long); #ifdef REAL_8 void JOPNLLSM( JPointer* ipdum, double* platinc, fortint* iktrunc, fortint* kunit, double* zbuild, fortint* kret) #else void JOPNLLSM( JPointer* ipdum, float* platinc, fortint* iktrunc, fortint* kunit, float* zbuild, fortint* kret) #endif /* C C**** JOPNLLSM C C Purpose C _______ C C This routine finds a file of legendre polynomials corresponding C to a given grid interval and truncation and maps the file to an C array and returns a file descriptor. C C Interface C _________ C C CALL JOPNLLSM( IPDUM, PLATINC, KTRUNC, KUNIT, ZBUILD, KRET) C C Input parameters C ________________ C C IPDUM - Dummy array for mapping legendre function file C PLATINC - Grid interval in degrees C KTRUNC - Spherical truncation C C Output parameters C _________________ C C KUNIT - file descriptor from PBOPEN C NULL , open failed C ZBUILD - Grid interval of the lat/long grid C underlying the legendre function file C KRET - Return status, 0 = OK. C C Common block usage C __________________ C C None C C Method C ______ C C Builds a file name from the truncation and grid interval and C tries to open a file of that name. C C If the file is already open (from a previous call) the C previous unit number is returned. C If a different file is already open (from a previous call), the C existing file is closed first. C C If no file can be located, a file is created. C C Externals C _________ C C GETENV - Get value of an environment variable C JMAKLL - Makes a file of legendre coefficients C PBOPEN - Opens a file C PBCLOSE - Closes a file C C Reference C _________ C C NONE C C Comments C ________ C C The filename for the legendre polynomials has the form: C cf_txxxx_raabbbb Txxxx aa.bbbb degrees C For example, C cf_t0213_r0050000 T213 0.5 degrees C cf_t0106_r0250000 T106 2.5 degrees C C On the C90, the file of polynomials may be cached in /owrk/marsint C C Otherwise the file is located in (or will be created in) the first C directory given by one of the following (in the order listed, if C they exist): C environment variable PPDIR C or C the current working directory. C C Author C ______ C C J.D.Chambers *ECMWF* Feb 1996 C C Modifications C _____________ C C J.D.Chambers *ECMWF* Mar 1996 C Standardise the search order for the environment variables. C C J.D.Chambers *ECMWF* Sept 1999 C Use PB routines for OPEN and CLOSE (use index into table of FILE *) C */ { int time1, time2; #if (defined hpR64) || (defined hpiaR64) long l1, l2; #else fortint l1, l2; #endif char filedum[128], filename[128]; #ifdef REAL_8 char ypfn[18] = "CF_Txxxx_Raabbbb"; #else char ypfn[18] = "cf_txxxx_raabbbb"; #endif static char yold[18] = "xxxxxxxxxxxxxxxx"; static char yarray[12][18]; static int ncnt = 0; static int nunit = -1; int i; OFF_T len, len_pleg, knum; static OFF_T oldlen; int kbuild ; char * fn; static fortint fpindex; static FILE * fp; OFF_T off = 0; static void * result = 0; static void * oldresult = 0; static void * resultarray[12]; static int unitarray[12]; #ifdef REAL_8 double plat = 0.0; double * pleg; #else float plat = 0.0; float * pleg; #endif int exist = 0; char message[] = "JOPNLLSM: creating coefficients file"; int status; pid_t process_id; int ktrunc = (int) (*iktrunc); /* // Setup the filename: cf_txxxx_raabbbbb */ #ifdef REAL_8 len_pleg = sizeof(double) * (ktrunc+1) * (ktrunc+4) /2; #else len_pleg = sizeof(float) * (ktrunc+1) * (ktrunc+4) /2; #endif *zbuild = *platinc; knum = (OFF_T) ( (90.0/(*zbuild)) + 0.5) + 1; #ifdef REAL_8 len = (OFF_T)(knum * sizeof(double) * (ktrunc+1) * (ktrunc+4)/2); #else len = (OFF_T)(knum * sizeof(float) * (ktrunc+1) * (ktrunc+4)/2); #endif /* printf("################# len: %lld, knum: %lld, sizeof(double): %d, ktrunc+1: %d, ktrunc+4: %d\n",len,knum,sizeof(double),(ktrunc+1),(ktrunc+4)); */ /* // Setup the file name */ sprintf( ypfn+4, "%04d", ktrunc); kbuild = (int) (((*zbuild)*100000.0) + 0.5); #ifdef REAL_8 sprintf( ypfn+8, "_R%07d", kbuild); #else sprintf( ypfn+8, "_r%07d", kbuild); #endif /* // If file already open, return the existing unit number */ for(i=0;i= 0 ) { char *p = getenv("PPMAPADDR"); caddr_t addr = (caddr_t) (p?atol(p):0); /* time1 = 0; */ /* time2 = iitimer(&time1); */ #ifdef FOPEN64 result = (void *) mmap64(addr,(size_t) len, (PROT_READ), MAP_SHARED,(int) nunit, (OFF_T)off); #else result = (void *) mmap(addr,(size_t) len, (PROT_READ), MAP_SHARED,(int) nunit,(OFF_T) off); #endif if( (caddr_t) result == (caddr_t) -1 ) { perror("JOPNLLSM: mmap64 error"); *kret = (fortint) 992; return; } oldresult = result; oldlen = len; } *ipdum = (JPointer) result; *kunit = (fortint) nunit; strcpy( yarray[ncnt], ypfn); resultarray[ncnt] = result; unitarray[ncnt] = nunit; ncnt+=1; /* time2 = iitimer(&time1); */ /* printf("MMAP-timer %d\n",iiii_time); */ return; } emoslib-000392+dfsg.1/interpolation/hrg2ggw.F0000755000175000017500000004030412127406245022027 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HRG2GGW(L12PNT,OLDFLDU,OLDFLDV,KSIZEUV, X KGNOLD,AREA,POLE,KGNNEW,HGTYPE, X NEWFLDU,NEWFLDV,KSIZE,NUMPTS) C C----> C**** HRG2GGW C C Purpose C ------- C C This routine creates rotated gaussian U and V fields from C reduced U and V gaussian fields using 12-point horizontal C interpolation. C C C Interface C --------- C C INTEGER FUNCTION HRG2GGW(L12PNT,OLDFLDU,OLDFLDV,KSIZEUV, C X KGNOLD,AREA,POLE,KGNNEW,HGTYPE, C X NEWFLDU,NEWFLDV,KSIZE,NUMPTS) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C OLDFLDU - Array of values from the old (reduced) gaussian U field C OLDFLDV - Array of values from the old (reduced) gaussian V field C KSIZEUV - Number of values in each old (reduced) gaussian field C KGNOLD - Gaussian number for the old gaussian field C AREA - Limits of area (N/W/S/E) C POLE - Pole of rotation (lat/long) C KGNNEW - Gaussian number for the new gaussian field C HGTYPE - Type of new gaussian field C 'F' = full, ie regular C 'R' = reduced, ie quasi-regular C KSIZE - The size of the array to fill with the regular C lat/long field C C C Output parameters C ----------------- C C NEWFLDU - The array of values for the new U gaussian field C NEWFLDV - The array of values for the new V gaussian field C NUMPTS - Number of points in each new gaussian field. C C Returns 0 if function successful, non-zero otherwise. C C C Common block usage C ------------------ C C None C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C JGETGG - Reads the definition of a gaussian grid C HGENGG - Calculates original lat/long (before rotation) for C a rotated gaussian grid C HNEI12 - Finds neighbours for points for interpolation C HWTS12 - Calculates weightings for points for interpolation C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF November 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) C C Function arguments C LOGICAL L12PNT INTEGER KSIZEUV, KGNOLD, KGNNEW, KSIZE, NUMPTS REAL AREA(4), POLE(2), OLDFLDU(*), OLDFLDV(*) REAL NEWFLDU(KSIZE),NEWFLDV(KSIZE) CHARACTER*1 HGTYPE C C Local variables C INTEGER NEXT, LOOP, IRET, NLEN, NOPREV, NNPREV, NBYTES, NUMBER CHARACTER*1 NNTYPE C LOGICAL LNEW, LFIRST INTEGER KSCHEME(1),NEIGH(12,1), KLA(1) REAL PWTS(12,1) POINTER (IPKSCHE, KSCHEME) POINTER (IPNEIGH, NEIGH) POINTER (IPKLA, KLA) POINTER (IPPWTS, PWTS) C REAL PDLO0(1),PDLO1(1),PDLO2(1),PDLO3(1),PDLAT(1) POINTER (IPPDLO0, PDLO0) POINTER (IPPDLO1, PDLO1) POINTER (IPPDLO2, PDLO2) POINTER (IPPDLO3, PDLO3) POINTER (IPPDLAT, PDLAT) C INTEGER IGG, IGGOLD, INN, INNOLD INTEGER KPTS(1), KNPTS(1) REAL GLATS(1), GNLATS(1) INTEGER IOFFS(1) POINTER (IPKPTS, KPTS) POINTER (IPKNPTS, KNPTS) POINTER (IPIOFFS, IOFFS) POINTER (IPGLATS, GLATS) POINTER (IPGNLATS, GNLATS) C INTEGER ILL, ILLOLD REAL RCLAT(1),RCLON(1),RLAT(1),RLON(1),RDIR(1),C(1),S(1),U(1),V(1) POINTER (IPRCLAT, RCLAT) POINTER (IPRCLON, RCLON) POINTER (IPRLAT, RLAT) POINTER (IPRLON, RLON) POINTER (IPRDIR, RDIR) POINTER (IPC, C) POINTER (IPS, S) POINTER (IPU, U) POINTER (IPV, V) C REAL OLDU(1) POINTER (IOLDU, OLDU) REAL OLDV(1) POINTER (IOLDV, OLDV) C DATA NOPREV/-1/, NNPREV/-1/, NNTYPE/' '/ DATA LNEW/.FALSE./, LFIRST/.TRUE./ DATA IGGOLD/-1/, INNOLD/-1/, ILLOLD/-1/, IOLDU/-1/ C SAVE LNEW, LFIRST SAVE IPKSCHE, IPNEIGH, IPKLA, IPPWTS SAVE IPPDLO0, IPPDLO1, IPPDLO2, IPPDLO3, IPPDLAT SAVE NOPREV,NNPREV,NNTYPE SAVE IGGOLD,INNOLD,IPKPTS,IPKNPTS,IPIOFFS,IPGLATS,IPGNLATS SAVE ILLOLD, IPRLAT, IPRLON, IOLDU, IOLDV SAVE IPC, IPS, IPU, IPV C C Externals C INTEGER HNEI12, HGENGG #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C Statement function C REAL A, RADIAN C C Convert degrees to radians C RADIAN(A) = (A) * 0.0174532925 C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HRG2GGW = 0 C CALL JDEBUG() C C Dynamically allocate memory for old gaussian grid information. C IGG = KGNOLD*2 C IF( IGG.GT.IGGOLD ) THEN C IF( IGGOLD.GT.0 ) CALL JFREE(IPKPTS) C NBYTES = (IGG*JPRLEN) + (2*IGG+1)*JPBYTES C IPKPTS = JMALLOC(NBYTES) #ifdef hpR64 IPKPTS = IPKPTS/(1024*1024*1024*4) #endif IF( IPKPTS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2GGW: Memory allocate fail',JPQUIET) HRG2GGW = 1 GOTO 900 ENDIF C IPGLATS = IPKPTS + (IGG*JPBYTES) IPIOFFS = IPGLATS + (IGG*JPRLEN) C IGGOLD = IGG NOPREV = -1 C ENDIF C C Build up offsets to start of each latitude in the original field. C IF( KGNOLD.NE.NOPREV ) THEN CALL JGETGG(KGNOLD,'R',GLATS,KPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GGW: JGETGG failed to get gaussian data',JPQUIET) HRG2GGW = 2 GOTO 900 ENDIF C IOFFS(1) = 1 DO LOOP = 2, (KGNOLD*2+1) IOFFS(LOOP) = IOFFS(LOOP-1) + KPTS(LOOP-1) ENDDO C C Allocate memory to hold the input fields C (in case OLDFLDU/OLDFLDV and NEWFLD are the same arrays) C IF( IOLDU.GT.0 ) THEN CALL JFREE(IOLDU) CALL JFREE(IOLDV) ENDIF C NUMBER = (IOFFS(KGNOLD*2+1) - 1) NBYTES = NUMBER * JPRLEN C IOLDU = JMALLOC(NBYTES) IOLDV = JMALLOC(NBYTES) #ifdef hpR64 IOLDU = IOLDU/(1024*1024*1024*4) IOLDV = IOLDV/(1024*1024*1024*4) #endif IF( (IOLDU.EQ.0).OR.(IOLDV.EQ.0) ) THEN CALL INTLOG(JP_ERROR,'HRG2GGW: Memory allocate fail',JPQUIET) HRG2GGW = 3 GOTO 900 ENDIF C NOPREV = KGNOLD ENDIF C C Preserve the input fields C NUMBER = (IOFFS(KGNOLD*2+1) - 1) DO LOOP = 1, NUMBER OLDU(LOOP) = OLDFLDU(LOOP) OLDV(LOOP) = OLDFLDV(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 2. Generate the lat/long points for the output grid C -----------------------------------------------------------------| C 200 CONTINUE C C Dynamically allocate memory for gaussian grid information. C INN = KGNNEW*2 C IF( INN.GT.INNOLD ) THEN C IF( INNOLD.GT.0 ) CALL JFREE(IPKNPTS) C NBYTES = (INN*JPRLEN) + (INN*JPBYTES) C IPKNPTS = JMALLOC(NBYTES) #ifdef hpR64 IPKNPTS = IPKNPTS/(1024*1024*1024*4) #endif IF( IPKNPTS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2GGW: Memory allocate fail',JPQUIET) HRG2GGW = 1 GOTO 900 ENDIF C IPGNLATS = IPKNPTS + (INN*JPBYTES) C INNOLD = INN NNPREV = -1 ENDIF C IF( HGTYPE.EQ.'F' ) THEN IF( (KGNNEW.NE.NNPREV).OR.(HGTYPE.NE.NNTYPE) ) THEN NLEN = KGNNEW * KGNNEW * 8 CALL JGETGG(KGNNEW,'F',GNLATS,KNPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GGW: JGETGG failed to get gaussian data',JPQUIET) HRG2GGW = 2 GOTO 900 ENDIF NNPREV = KGNNEW NNTYPE = HGTYPE ENDIF ELSE IF( (KGNNEW.NE.NNPREV).OR.(HGTYPE.NE.NNTYPE) ) THEN CALL JGETGG(KGNNEW,'R',GNLATS,KNPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GGW: JGETGG failed to get gaussian data',JPQUIET) HRG2GGW = 2 GOTO 900 ENDIF C NLEN = 0 DO LOOP = 1, KGNNEW*2 NLEN = NLEN + KNPTS(LOOP) ENDDO NNPREV = KGNNEW NNTYPE = HGTYPE ENDIF ENDIF C C Check that given array is big enough for the new field. C IF( NLEN.GT.KSIZE ) THEN CALL INTLOG(JP_ERROR,'HRG2GGW: Given array size = ',KSIZE) CALL INTLOG(JP_ERROR,'HRG2GGW: Required size = ',NLEN) HRG2GGW = 4 GOTO 900 ENDIF C C Dynamically allocate memory for lat/long arrays. C ILL = NLEN IF( ILL.GT.ILLOLD ) THEN C LNEW = .TRUE. C IF( ILLOLD.GT.0 ) CALL JFREE(IPRLON) C NBYTES = 9*ILL*JPRLEN C IPRLON = JMALLOC(NBYTES) #ifdef hpR64 IPRLON = IPRLON/(1024*1024*1024*4) #endif IF( IPRLON.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2GGW: Memory allocate fail',JPQUIET) HRG2GGW = 5 GOTO 900 ENDIF C IPRLAT = IPRLON + (ILL*JPRLEN) IPRCLON = IPRLAT + (ILL*JPRLEN) IPRCLAT = IPRCLON + (ILL*JPRLEN) IPRDIR = IPRCLAT + (ILL*JPRLEN) IPC = IPRDIR + (ILL*JPRLEN) IPS = IPC + (ILL*JPRLEN) IPU = IPS + (ILL*JPRLEN) IPV = IPU + (ILL*JPRLEN) C ILLOLD = ILL C ENDIF C IRET = HGENGG(AREA,POLE,KGNNEW,HGTYPE,KNPTS,GNLATS,ILL, X RLAT,RLON,NUMPTS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GGW: HGENGG failed to get lat/lon grid data',JPQUIET) HRG2GGW = 6 GOTO 900 ENDIF C NLEN = NUMPTS C C -----------------------------------------------------------------| C Section 3. Find neighbours for each point for interpolation. C -----------------------------------------------------------------| C 300 CONTINUE C C Dynamically allocate memory for interpolation arrays. C IF( LNEW ) THEN C IF( .NOT.LFIRST ) CALL JFREE(IPPDLO0) C NBYTES = (17*JPRLEN + 14*JPBYTES) * ILL C IPPDLO0 = JMALLOC(NBYTES) #ifdef hpR64 IPPDLO0 = IPPDLO0/(1024*1024*1024*4) #endif IF( IPPDLO0.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2GGW: Memory allocate fail',JPQUIET) HRG2GGW = 7 GOTO 900 ENDIF C IPPDLO1 = IPPDLO0 + (ILL*JPRLEN) IPPDLO2 = IPPDLO1 + (ILL*JPRLEN) IPPDLO3 = IPPDLO2 + (ILL*JPRLEN) IPPDLAT = IPPDLO3 + (ILL*JPRLEN) IPPWTS = IPPDLAT + (ILL*JPRLEN) IPKSCHE = IPPWTS + (12*ILL*JPRLEN) IPKLA = IPKSCHE + (ILL*JPBYTES) IPNEIGH = IPKLA + (ILL*JPBYTES) C LFIRST = .FALSE. LNEW = .FALSE. C ENDIF C C Find neighbours. C IRET = HNEI12(L12PNT,NLEN,RLAT,RLON,KGNOLD,KPTS,GLATS, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2GGW: HNEI12 failed to find neighbours',JPQUIET) HRG2GGW = 8 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 4. Perform the 12-point horizontal interpolation. C -----------------------------------------------------------------| C 400 CONTINUE C C Setup the 12-point horizontal interpolation weights C CALL HWTS12 X (NLEN,KSCHEME,KLA,PDLAT,GLATS,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X PWTS) C C Calculate the interpolated grid point values C DO LOOP = 1, NLEN IF( KSCHEME(LOOP).EQ.JP12PT ) THEN U(LOOP) = X OLDU(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDU(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDU(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDU(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLDU(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLDU(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLDU(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLDU(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLDU(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLDU(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLDU(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLDU(NEIGH(12,LOOP)) * PWTS(12,LOOP) V(LOOP) = X OLDV(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDV(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDV(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDV(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLDV(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLDV(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLDV(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLDV(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLDV(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLDV(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLDV(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLDV(NEIGH(12,LOOP)) * PWTS(12,LOOP) C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN U(LOOP) = X OLDU(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDU(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDU(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDU(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) V(LOOP) = X OLDV(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDV(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDV(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDV(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) THEN U(LOOP) = OLDU(NEIGH(NEXT,LOOP)) V(LOOP) = OLDV(NEIGH(NEXT,LOOP)) ENDIF ENDDO C ENDIF ENDDO C C -----------------------------------------------------------------| C Section 5. Adjust the U and V components to new (rotated) axes C -----------------------------------------------------------------| C 500 CONTINUE C DO LOOP = 1, NLEN RDIR(LOOP) = 0.0 ENDDO C CALL HPSHGPW(RLON,RLAT,RCLON,RCLAT,RDIR,NLEN,POLE) C DO LOOP = 1, NLEN RDIR(LOOP) = -RADIAN(RDIR(LOOP)) ENDDO C DO LOOP = 1, NLEN C(LOOP) = COS(RDIR(LOOP)) S(LOOP) = SIN(RDIR(LOOP)) ENDDO C DO LOOP = 1, NLEN NEWFLDU(LOOP) = U(LOOP)*C(LOOP) - V(LOOP)*S(LOOP) NEWFLDV(LOOP) = U(LOOP)*S(LOOP) + V(LOOP)*C(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/wv2dppp.F0000755000175000017500000000736612127406245022075 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WV2DPPP(ISEC2, ISEC4, NLONS, NLATS, STEP, X OLDWAVE, NEWWAVE, NORTH, WEST, PMISS) C C----> C*****WV2DPPP* C C PURPOSE C ------- C C Interface routine to call WV2DINT using (inconsistent) C GRIB headers in 2D wave spectra fields. C C C INTERFACE C --------- C C IRET = WV2DPPP(ISEC2, ISEC4, NLONS, NLATS, STEP, C X OLDWAVE, NEWWAVE, NORTH, WEST, PMISS) C C Input arguments C --------------- C C ISEC2 - Unpacked section 2 header from 2D wave spectra field C ISEC4 - Unpacked section 4 header from 2D wave spectra field C NLONS - Number of points E-W in new grid C NLATS - Number of points N-S in new grid C STEP - Output grid resolution (degrees) C OLDWAVE - Original wave field C NORTH - Output grid northernmost latitude (degrees) C WEST - Output grid westernmost longitude (degrees) C PMISS - Missing data value C C Output arguments C ---------------- C NEWWAVE - New wave field C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C Setes up call to WV2DINT from 2D wave spectra field headers. C C C EXTERNALS C --------- C C None. C C C REFERENCE C --------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF November 1996 C C C----< C IMPLICIT NONE C C Subroutine arguments C INTEGER ISEC2, ISEC4, NLONS, NLATS DIMENSION ISEC2(*), ISEC4(*) REAL STEP, OLDWAVE, NEWWAVE, NORTH, WEST, PMISS DIMENSION OLDWAVE(*), NEWWAVE(*) C C Parameters C INTEGER JPROUTINE, JPMXLAT PARAMETER (JPROUTINE = 19420) PARAMETER (JPMXLAT = 361) C C Local arguments C INTEGER NSPEC, MISSLAT, LOOP, NPTS, NUMLATS DIMENSION NPTS(JPMXLAT) C C Externals C INTEGER WV2DINT EXTERNAL WV2DINT C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WV2DPPP = 0 C C Setup number of spectra at each point C IF( ISEC4(8).EQ.64 ) THEN NSPEC = ISEC4(50)*ISEC4(51) ELSE NSPEC = 1 ENDIF C C Calculate number of latitudes if grid had been full from C North pole to South pole C NUMLATS = (180000/ISEC2(10)) + 1 IF( NUMLATS.GT.JPMXLAT ) THEN WV2DPPP = JPROUTINE + 1 GOTO 900 ENDIF C C Fill an array with the number of points at each latitude C (this is a reduced latitude/longitude grid) C MISSLAT = (90000 - ISEC2(4))/ISEC2(10) DO LOOP = 1, MISSLAT NPTS(LOOP) = 0 ENDDO DO LOOP = 1, ISEC2(3) NPTS(LOOP+MISSLAT) = ISEC2(22+LOOP) ENDDO DO LOOP = MISSLAT+ISEC2(3), NUMLATS NPTS(LOOP) = 0 ENDDO C C --------------------------------------------------------------------- C* Section 2. Do the interpolation. C --------------------------------------------------------------------- C 200 CONTINUE C WV2DPPP = WV2DINT(NUMLATS,NPTS,NLONS,NLATS,STEP,OLDWAVE, X NEWWAVE,NORTH,WEST,NSPEC,PMISS) C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/sources.ibm_power60000755000175000017500000001040112127406245024022 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ createSharedMemoryCoefficients.c \ sharedll.c \ sharedgg.c \ sharedlib.c \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ rename_unlink.c \ sharedMemoryCharacteristics.c \ showmap.c \ smread.c \ soffset.c emoslib-000392+dfsg.1/interpolation/irgrid.F0000755000175000017500000001424612127406245021746 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRGRID (KAREA, KLLEN, KLN, PGAUSS, KSTART, 1 KLATG, KNNS, OWEGLOBE, KPR, KERR) C C----> C**** *IRGRID* C C PURPOSE C _______ C C Generate the arrays of latitude points and the starting points C of the lines of latitude for a quasi regular Gaussian grid. C C INTERFACE C _________ C C IERR = IRGRID (KAREA, KLLEN, KLN, PGAUSS, KSTART, C 1 KLATG, KNNS, OWEGLOBE, KPR, KERR) C C Input parameters C ________________ C C KAREA - The area definition (N, W, S, E) provided by the C calling routine. (Currently unused). C C KLLEN - This quasi regular Gaussian line length definition C is for the full grid and not just the North and C South limits selected. C C KLN - The Northern Gaussian latitude number for this area. C C PGAUSS - The full list of Gaussian latitudes for this C truncation. C C KNNS - The number of points in the North-South direction C in this field. C C OWEGLOBE - This variable will be true if the array of C longitudes spans the globe and it is an input grid. C (Currently unused) C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KSTART - The array offset for each line of latitude within C the quasi regular field. C C KLATG - The array of latitudes for this Gaussian C truncation and area. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C The array KLATG is generated using the information provided by C the other parameters. The array KSTART is generated using the C array KLLEN. Note that Gaussian latitudes will be stored as C NINT (PGAUSS * 1.0E4). C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" #include "nifld.common" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 23700) C C Dummy arguments C LOGICAL OWEGLOBE INTEGER KNNS, KLN, KPR, KERR INTEGER KAREA (4), KLLEN (KNNS) INTEGER KLATG (KNNS), KSTART (KNNS) REAL PGAUSS (*) C C Local variables C LOGICAL LPRINT INTEGER JLAT REAL PNLAT, ZNLAT, MFACTOR C C Function externals C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C LPRINT = KPR.NE.0 C IF( LPRINT ) CALL INTLOG(JP_DEBUG,'IRGRID: Section 1.',JPQUIET) C IRGRID = 0 C IF( LPRINT ) THEN CALL INTLOG(JP_DEBUG,'IRGRID: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRGRID: N Gaussian line = ',KLN) CALL INTLOG(JP_DEBUG,'IRGRID: No. of lat lines = ',KNNS) CALL INTLOG(JP_DEBUG,'IRGRID: Area North = ', KAREA(1)) CALL INTLOG(JP_DEBUG,'IRGRID: Area West = ', KAREA(2)) CALL INTLOG(JP_DEBUG,'IRGRID: Area South = ', KAREA(3)) CALL INTLOG(JP_DEBUG,'IRGRID: Area East = ', KAREA(4)) IF( OWEGLOBE ) THEN CALL INTLOG(JP_DEBUG, X 'IRGRID: Input W-E fld is global.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IRGRID: Input W-E fld is NOT global.',JPQUIET) ENDIF ENDIF C C _______________________________________________________ C C* Section 2. Generate start position of lines of latitude C _______________________________________________________ C 200 CONTINUE C IF( LPRINT ) CALL INTLOG(JP_DEBUG,'IRGRID: Section 2.',JPQUIET) C KSTART(1) = 1 DO JLAT = KLN, KLN + KNNS - 2 KSTART(JLAT+1) = KSTART(JLAT) + KLLEN(JLAT) ENDDO C C _______________________________________________________ C C* Section 3. Generate points along a line of meridian C _______________________________________________________ C 300 CONTINUE C IF( LPRINT ) CALL INTLOG(JP_DEBUG,'IRGRID: Section 3.',JPQUIET) C DO JLAT = KLN, KLN + KNNS - 1 C C If it is a stretched field, calculate the true latitude and C the map factor. C PNLAT = PGAUSS(JLAT) IF( RISTRET.NE.0 ) THEN CALL STRLAT(PNLAT, RISTRET, 0, ZNLAT, MFACTOR) ELSE ZNLAT = PNLAT ENDIF KLATG(JLAT-KLN+1) = NINT(ZNLAT * PPMULT) ENDDO KAREA(1) = KLATG(1) KAREA(KLN) = KLATG(KLN) IF( LPRINT ) THEN CALL INTLOG(JP_DEBUG,'IRGRID: Modified North = ', KAREA(1)) CALL INTLOG(JP_DEBUG,'IRGRID: Modified South = ', KAREA(3)) ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF( LPRINT ) CALL INTLOG(JP_DEBUG,'IRGRID: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/kintrg.F0000755000175000017500000001660412127406245021764 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION KINTRG(OLDGEO,NEWGEO,OLDFLD,NEWFLD) C C----> C**** KINTRG C C Purpose C ------- C Interpolate a reduced gaussian field a reduced gaussian field C with a different resolution. C C C Interface C --------- C IRET = KINTRG(OLDGEO,NEWGEO,OLDFLD,NEWFLD) C C Input C ----- C OLDGEO - GRIB section 2 describing grid of old field. C NEWGEO - GRIB section 2 describing grid of new field. C OLDFLD - Array of values for old field. C C C Output C ------ C NEWFLD - Array of values for new field. C C Function returns: C - number of points in the new field, if all is well C - negative, otherwise. C C C Method C ------ C Build up field offsets from input geometries. C For each point of the new field, find in the old field the four C nearest neighbours' positions and values. C Calculate new value from the neighbours. C C C Externals C --------- C IGGLAT - Compute gaussian lines of latitude. C JNORSGG - Find gaussian latitudes to north and south of latitude. C KNFROM4 - Calculate value of new field point. C INTLOG - Log messages C C C Author C ------ C J.D.Chambers ECMWF November 2000 C C Modifications C ------------- C C Force nearest neighbour processing with env variable or C INTOUT parameter C S.Curic ECMWF September 2005 C C Add fudging factor for computation of index in original field C S.Curic ECMWF October 2006 C C----< C IMPLICIT NONE C C Function arguments C INTEGER OLDGEO(*),NEWGEO(*) REAL OLDFLD(*),NEWFLD(*) C #include "intisl.h" #include "parim.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JPMAXNG PARAMETER (JPMAXNG=4000) C C Local variables C LOGICAL LVEGGY INTEGER TOTAL, NEXT, LOOP, NEWOFF(JPMAXNG), OLDOFF(JPMAXNG) INTEGER LATIT, LONG, NEWTYPE, IRET, NPTS INTEGER LAT(2), LON(4) INTEGER PT(4), TYPE(4) REAL OLAT(2), OLON(4) REAL RLATOLD(JPMAXNG), RLATNEW(JPMAXNG), RLAT, RLON CHARACTER*12 YFLAG,YFLAG1 C C Externals C INTEGER IGGLAT, JNORSGG REAL KNFROM4 EXTERNAL IGGLAT, JNORSGG, KNFROM4 C C -----------------------------------------------------------------| C* Section 1. Build working values using input geometries. C -----------------------------------------------------------------| C 100 CONTINUE C KINTRG = 0 C IF( (NEWGEO(NGAUSS)*2).GT.JPMAXNG ) THEN CALL INTLOG(JP_ERROR, X 'KINTRG: Gaussian N too big = ',NEWGEO(NGAUSS)) CALL INTLOG(JP_ERROR,'KINTRG: Maximum handled = ',(JPMAXNG/2)) KINTRG = -1 GOTO 900 ENDIF C cs set global for grib_api LGLOBL = .TRUE. cs LVEGGY = (NITABLE.EQ.128).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30).OR. X (NIPARAM.EQ.43) ) C Force nearest neighbour processing with env variable CALL GETENV('NEAREST_NEIGHBOUR', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LVEGGY = .TRUE. C Force nearest neighbour processing with INTOUT parameter IF( LMETHOD ) LVEGGY = .TRUE. IF( LVEGGY ) CALL INTLOG(JP_DEBUG, X 'KINTRG: nearest neighbour processing (vegetation)',JPQUIET) C C -----------------------------------------------------------------| C* Section 2. Calculate number of points in new field and offset C to start of each latitude in the new grid C -----------------------------------------------------------------| C 200 CONTINUE C NEWOFF(1) = 0 TOTAL = NEWGEO(NPOINTS) DO LOOP = 2, NEWGEO(NJ) NEWOFF(LOOP) = NEWOFF(LOOP-1) + NEWGEO(NPOINTS-2+LOOP) TOTAL = TOTAL + NEWGEO(NPOINTS-1+LOOP) ENDDO C C Get the gaussian latitudes for the new field C IRET = IGGLAT(NEWGEO(NGAUSS)*2,RLATNEW,0,-1) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KINTRG: Problem call igglat for new grid' KINTRG = -1 RETURN ENDIF C CALL INTLOG(JP_DEBUG,'KINTRG: No. of pts in new field = ',TOTAL) C C -----------------------------------------------------------------| C* Section 3. Get the gaussian latitudes for the old field and C setup the offsets to the start of each latitude. C -----------------------------------------------------------------| C 300 CONTINUE C OLDOFF(1) = 0 DO LOOP = 2, OLDGEO(NJ) OLDOFF(LOOP) = OLDOFF(LOOP-1) + OLDGEO(NPOINTS-2+LOOP) ENDDO C IRET = IGGLAT(OLDGEO(NGAUSS)*2,RLATOLD,0,-1) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KINTRG: Problem call igglat for old grid' KINTRG = -1 RETURN ENDIF C C -----------------------------------------------------------------| C* Section 4. Work through the points in the new field. C -----------------------------------------------------------------| C 400 CONTINUE C DO NEXT = 1, TOTAL C C Calculate lat/long C DO LOOP = 1, NEWGEO(NJ) IF( NEWOFF(LOOP).GE.NEXT ) THEN LATIT = LOOP - 1 GOTO 410 ENDIF ENDDO LATIT = NEWGEO(NJ) C 410 CONTINUE C LONG = NEXT - NEWOFF(LATIT) C RLAT = RLATNEW(LATIT) RLON = (REAL(LONG-1)*360.0)/REAL(NEWGEO(NPOINTS+LATIT-1)) C C Find four neighbours in the old field with their types C (Find NW neighbour and deduce the others). C LAT(NORTH) = JNORSGG(RLAT,RLATOLD,OLDGEO(NGAUSS),1) LAT(SOUTH) = JNORSGG(RLAT,RLATOLD,OLDGEO(NGAUSS),0) C OLAT(NORTH) = RLATOLD(LAT(NORTH)) OLAT(SOUTH) = RLATOLD(LAT(SOUTH)) C NPTS = OLDGEO(NPOINTS-1+LAT(NORTH)) LON(NWEST) = 1 + INT(RLON/(360.0/REAL(NPTS))) LON(NEAST) = LON(NWEST) + 1 IF( LON(NEAST).GT.NPTS ) LON(NEAST) = 1 C OLON(NWEST) = (REAL(LON(NWEST)-1)*360.0)/REAL(NPTS) IF( LON(NEAST).EQ.1 ) THEN OLON(NEAST) = 360.0 ELSE OLON(NEAST) = (REAL(LON(NEAST)-1)*360.0)/REAL(NPTS) ENDIF C NPTS = OLDGEO(NPOINTS-1+LAT(SOUTH)) LON(SWEST) = 1 + INT(RLON/(360.0/REAL(NPTS))) LON(SEAST) = LON(SWEST) + 1 IF( LON(SEAST).GT.NPTS ) LON(SEAST) = 1 C OLON(SWEST) = (REAL(LON(SWEST)-1)*360.0)/REAL(NPTS) IF( LON(SEAST).EQ.1 ) THEN OLON(SEAST) = 360.0 ELSE OLON(SEAST) = (REAL(LON(SEAST)-1)*360.0)/REAL(NPTS) ENDIF C PT(NWEST) = OLDOFF(LAT(NORTH)) + LON(NWEST) PT(NEAST) = OLDOFF(LAT(NORTH)) + LON(NEAST) PT(SWEST) = OLDOFF(LAT(SOUTH)) + LON(SWEST) PT(SEAST) = OLDOFF(LAT(SOUTH)) + LON(SEAST) C C Interpolate the new value C NEWFLD(NEXT) = KNFROM4(LVEGGY,RLAT,RLON,OLAT,OLON,PT,OLDFLD) C ENDDO C KINTRG = TOTAL C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/hntfaus.F0000755000175000017500000002723112127406245022134 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HNTFAUS(FLDIN,INLEN) C C----> C**** HNTFAUS C C Purpose C ------- C C Prepare to interpolate input field... C C C Interface C --------- C C IRET = HNTFAUS( FLDIN,INLEN) C C Input C ----- C C FLDIN - Input field (unpacked). C INLEN - Input field length (words). C C C Output C ------ C C Field unpacked values are in ZNFELDI, rotated if necessary. C C Returns: 0, if OK. Otherwise, an error occured in rotation. C C C Method C ------ C C Rotate the field values if necessary. C C Some rotation coefficients cannot be created because the C algorithm does not converge for rotations which are smaller C than a limit which depends on the spectral truncation. C C If the rotation is too small, it has to be split into three C steps (two forward and one backward). C C Current know limits are: C C Truncation Max South pole lat Minimum rotation C ---------- ------------------ ---------------- C 63 -89.5 0.5 C 106 -85 5.0 C 159 -77 13.0 C 213 -68 22.0 C 319 -51 39.0 C 511 -30.5 59.5 C C C Externals C --------- C C GRIBEX - Decode/encode GRIB product. C GRSVCK - Turn off GRIB checking C INTLOG - Log error message. C INTLOGR - Log error message. C RPHI - Rotate a spectral field by longitude. #ifdef __uxp__ C JACOBIF - Rotates spectral coefficients by latitude. #else C JACOBI - Rotates spectral coefficients by latitude. #endif C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C C----< C IMPLICIT NONE C C Function arguments C INTEGER INLEN REAL FLDIN(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 40140 ) INTEGER JPLEN, JPNM PARAMETER ( JPNM = JPSTRUNC ) PARAMETER ( JPLEN = (JPNM+1)*(JPNM+6) ) C C Local variables C REAL POLELAT, POLELON CHARACTER*1 TYPE INTEGER NUMPTS, NGAUSS INTEGER ISIZE, NBYTES, ITRUNC, LOOP, IRET DATA ISIZE/0/ C REAL SWORK DIMENSION SWORK(1) #ifdef POINTER_64 INTEGER*8 ISWORK #endif POINTER ( ISWORK, SWORK) C REAL*8 DWORK DIMENSION DWORK(1) #ifdef POINTER_64 INTEGER*8 IDWORK #endif POINTER ( IDWORK, DWORK ) C REAL*8 DATA DIMENSION DATA(1) #ifdef POINTER_64 INTEGER*8 IDATA #endif POINTER ( IDATA, DATA) C SAVE ISIZE, ISWORK, IDWORK, IDATA C REAL*8 DLON, DLAT, LATLIM LOGICAL LOK, LSPLIT #ifdef CRAY DATA NBYTES/8/ #else DATA NBYTES/4/ #endif C C Externals INTEGER GGROTAT #ifdef __uxp__ LOGICAL JACOBIF EXTERNAL JACOBIF #else LOGICAL JACOBI EXTERNAL JACOBI #endif C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE HNTFAUS = 0 IRET = 0 C C -----------------------------------------------------------------| C* Section 1. Store data internally. C -----------------------------------------------------------------| C 200 CONTINUE C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_WARN,'HNTFAUS: ZNFELDI allocate fail',JPQUIET) HNTFAUS = IRET GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C Move unpacked values in from user array C DO LOOP = 1, INLEN ZNFELDI( LOOP ) = FLDIN( LOOP ) ENDDO C C -----------------------------------------------------------------| C* Section 3. Handle rotation, if necessary. C -----------------------------------------------------------------| C 300 CONTINUE C C Is a rotation of the SH required? C IF( LNOROTA ) THEN C C Avoid rotating U or V spectral coefficients C IF( (NIPARAM.EQ.JP_U).OR.(NIPARAM.EQ.JP_V) ) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Unable to rotate spectral U or V:',NIPARAM) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF C C Dynamically allocate memory for workspace. C C (Note the multiplication by 2 for REAL*8). C NUMPTS = INLEN ISIZE = NUMPTS*2 CALL JMEMHAN( 11, IDWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'HNTFAUS: memory allocation fail',IDWORK) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF C C (Note the multiplication by 2 for REAL*8). C ISIZE = JPLEN*2 CALL JMEMHAN( 15, IDATA, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'HNTFAUS: memory allocation fail',IDATA) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF C CALL INTLOG(JP_DEBUG,'HNTFAUS: Rotate SH field.',JPQUIET) CALL INTLOG(JP_DEBUG,'HNTFAUS: South pole latitude ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'HNTFAUS: South pole longitude ',NOROTA(2)) IF ( NOREPR.EQ.JPSPHERE ) NOREPR = JPSPHROT IF ( NOREPR.EQ.JPREGULAR ) NOREPR = JPREGROT ITRUNC = NIRESO C C Some rotation coefficients cannot be created because the C algorithm does not converge for rotations which are smaller C than a limit which depends on the spectral truncation. C IF( ITRUNC.LE.63 ) THEN LATLIM = -89.5 ELSE IF( ITRUNC.LE.106 ) THEN LATLIM = -85.0 ELSE IF( ITRUNC.LE.159 ) THEN LATLIM = -77.0 ELSE IF( ITRUNC.LE.213 ) THEN LATLIM = -68.0 ELSE IF( ITRUNC.LE.319 ) THEN LATLIM = -51.0 ELSE IF( ITRUNC.LE.511 ) THEN #ifdef __uxp__ LATLIM = -30.5 #else LATLIM = -29.5 #endif ELSE HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF CALL INTLOGR(JP_DEBUG, X 'HNTFAUS: South pole latitude limit = ',LATLIM) C POLELAT = (REAL(NOROTA(1))/JPMULT) C C If the rotation is too small, it has to be split into three C steps (two forward and one backward). C LSPLIT = POLELAT.LT.LATLIM IF( LSPLIT ) THEN DLAT = -90.0 - LATLIM CALL INTLOG(JP_DEBUG, X 'HNTFAUS: Rotation has been split into three steps',JPQUIET) ELSE DLAT = -90.0 - POLELAT ENDIF #if (defined CRAY) || (defined REAL_8) C C Double precision REALs C DLON = - REAL(NOROTA(2))/JPMULT C C Rotate the spectral field by longitude. CALL RPHI( ZNFELDI, ITRUNC, DWORK, DLON) C C Rotate the spectral field by latitude. C IF( LSPLIT ) THEN C C Two rotations forward .. C CALL INTLOGR(JP_DEBUG, X 'HNTFAUS: Twice forward through angle ', DLAT) #if (!defined __uxp__) LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF #endif C C .. and one backward C DLAT = -90.0 - ( (LATLIM*2.0) - POLELAT) DLAT= -DLAT CALL INTLOGR(JP_DEBUG, X 'HNTFAUS: Once backward through angle ', DLAT) ENDIF C #if (!defined __uxp__) LOK = JACOBI( ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF #endif #else C C Single precision REALs; so convert to double precision. C DLAT = -90.0 - DBLE(NOROTA(1))/JPMULT DLON = - DBLE(NOROTA(2))/JPMULT C C Expand spectral coefficients to REAL*8 C DO LOOP = 1, NUMPTS DATA(LOOP) = DBLE(ZNFELDI(LOOP)) ENDDO C C Rotate the spectral field by longitude. C CALL RPHI( DATA, ITRUNC, DWORK, DLON) C C Rotate the spectral field by latitude. C IF( LSPLIT ) THEN C C Two rotations forward .. C CALL INTLOGR(JP_DEBUG, X 'HNTFAUS: Twice forward through angle ', DLAT) #if (!defined __uxp__) LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBI(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF #else LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF LOK = JACOBIF(ZNFELDI, ITRUNC, DWORK, DLAT) IF(.NOT.LOK) THEN CALL INTLOG(JP_ERROR, X 'HNTFAUS: Spectral rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF #endif C C .. and one backward C DLAT = -90.0 - ( (LATLIM*2.0) - POLELAT) DLAT= -DLAT CALL INTLOGR(JP_DEBUG, X 'HNTFAUS: Once backward through angle ', DLAT) ENDIF C #if (!defined __uxp__) LOK = JACOBI( DATA, ITRUNC, DWORK, DLAT) #else LOK = JACOBIF(DATA, ITRUNC, DWORK, DLAT) #endif #endif C IF( .NOT.LOK ) THEN CALL INTLOG(JP_ERROR,'HNTFAUS: Rotation failed',JPQUIET) HNTFAUS = JPROUTINE + 3 GOTO 900 ENDIF #if (!defined CRAY) && (!defined REAL_8) C C Single precision REALs; repack spectral coefficients to REAL*4. C DO LOOP = 1, NUMPTS ZNFELDI(LOOP) = SNGL(DATA(LOOP)) ENDDO #endif C ENDIF C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/make.dep0000755000175000017500000001750112127406245021763 0ustar amckinstryamckinstry# # Header file dependencies # # areachk.o: parim.h nifld.common nofld.common auresol.o: parim.h nifld.common nofld.common chkprec.o: parim.h nifld.common clear_c.o: parim.h nifld.common nofld.common grfixed.h current.h ddstyle.o: jparams.h parim.h nofld.common dssarea.o: parim.h nifld.common nofld.common fixarea.o: parim.h nifld.common nofld.common grfixed.h intf.h freecf.o: jparam2.h gb2gb.o: jparams.h parim.h nofld.common getconf.o: nifld.common parim.h jparams.h ggintrp.o: parim.h ggrotat.o: parim.h hgengg.o: parim.h nofld.common hgengrd.o: parim.h hgengrw.o: parim.h hgenll.o: parim.h hgenllw.o: parim.h hgetlsm.o: parim.h nifld.common nofld.common hirlam.o: parim.h nifld.common nofld.common hirlamw.o: parim.h nifld.common nofld.common jparams.h hirlsm.o: parim.h nifld.common nofld.common hll2ll.o: parim.h hll2llw.o: parim.h hnei12.o: parim.h hneill.o: parim.h hntfap.o: parim.h nifld.common nofld.common grfixed.h intf.h hntfaph.o: parim.h nifld.common nofld.common grfixed.h intf.h jparams.h hntfaph.o: current.h hntfaps.o: parim.h nifld.common nofld.common grfixed.h intf.h hntfau.o: parim.h nifld.common nofld.common grfixed.h intf.h hntfauh.o: parim.h nifld.common nofld.common grfixed.h intf.h jparams.h hntfauh.o: current.h intlog.h hntfaus.o: parim.h nifld.common nofld.common grfixed.h intf.h hntfbu.o: parim.h nifld.common nofld.common grfixed.h intf.h hrg2gg.o: parim.h hrg2ggw.o: parim.h hrg2ll.o: parim.h hrg2llw.o: parim.h nifld.common nofld.common hsp2gg.o: parim.h iafree.o: parim.h memreq.h nifld.common nofld.common iagcntl.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h iaidef.o: parim.h nifld.common iainit.o: parim.h memreq.h nifld.common nofld.common grfixed.h iaintgg.o: parim.h nifld.common nofld.common grfixed.h ouspace.h iaintll.o: parim.h nifld.common nofld.common grfixed.h ouspace.h iaogdef.o: parim.h nofld.common iaoldef.o: parim.h nofld.common iarcntl.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h iareset.o: parim.h nofld.common iarmem.o: parim.h nifld.common nofld.common ouspace.h ibasini.o: parim.h nifld.common nofld.common intf.h igalloc.o: parim.h memreq.h igbess.o: jparams.h parim.h igdins.o: parim.h igdiwe.o: parim.h igglat.o: jparams.h parim.h iggmem.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h iggrid.o: parim.h igint.o: parim.h igintr.o: parim.h iglgrid.o: parim.h iglrev.o: parim.h iglsize.o: parim.h iglsm01.o: parim.h jparams.h iglsmb.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h iglsmd.o: parim.h iglsmr.o: parim.h iglsmst.o: parim.h jparams.h ignorm.o: parim.h igplsm.o: parim.h igpoleg.o: parim.h nifld.common igpolew.o: parim.h nifld.common igprec.o: parim.h nifld.common igscan.o: parim.h igsetup.o: parim.h nifld.common nofld.common igsize.o: parim.h igtog.o: parim.h nifld.common nofld.common igtogr.o: parim.h nifld.common nofld.common igtran.o: parim.h init_cm.o: parim.h nifld.common nofld.common grfixed.h current.h insane.o: parim.h nifld.common nofld.common grfixed.h intf.o: parim.h nifld.common nofld.common grfixed.h intf.h intfa.o: parim.h nifld.common nofld.common grfixed.h intf.h intfap.o: parim.h nifld.common nofld.common grfixed.h intf.h intfau.o: parim.h nifld.common nofld.common grfixed.h intf.h intfb.o: parim.h nifld.common nofld.common grfixed.h intf.h jparams.h intfbp.o: parim.h nifld.common nofld.common grfixed.h intf.h intfbu.o: parim.h nifld.common nofld.common grfixed.h intf.h intfc.o: parim.h nifld.common nofld.common grfixed.h intin.o: parim.h nifld.common nofld.common grfixed.h current.h intisl.o: parim.h intisl.h nifld.common nofld.common intlog.o: parim.h intlog.h intlogd.o: intlog.h intlogr.o: parim.h intlog.h intocn.o: parim.h intout.o: parim.h nifld.common nofld.common grfixed.h current.h intpnum.o: grprs.h intuvdh.o: parim.h intf.h nifld.common nofld.common intuvf.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvgh.o: parim.h nifld.common nofld.common grfixed.h intf.h intlog.h intuvgh.o: current.h intuvp.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvph.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvs.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvu.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvxh.o: parim.h nifld.common nofld.common intf.h current.h intvect.o: parim.h nifld.common nofld.common intf.h current.h intwave.o: parim.h nifld.common nofld.common intf.h grfixed.h irdiwe.o: parim.h irgmem.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h irgrid.o: parim.h nifld.common irgtog.o: parim.h nifld.common nofld.common irint.o: parim.h irintr.o: parim.h irlrev.o: parim.h irlsmb.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h irprec.o: parim.h nifld.common irscan.o: parim.h irsize.o: parim.h iscrsz.o: parim.h nifld.common nofld.common grfixed.h islproc.o: intisl.h parim.h nifld.common nofld.common issame.o: parim.h nifld.common nofld.common grfixed.h jacobi.o: jparams.h parim.h jacobif.o: jparams.h parim.h jagggp.o: jparams.h parim.h current.h nifld.common nofld.common grfixed.h jallgp.o: jparams.h parim.h nifld.common jallwn.o: jparams.h parim.h nifld.common jdebug.o: jparams.h jparam2.h jgetgg.o: parim.h nifld.common nofld.common grfixed.h intf.h rgauss_032.h jgetgg.o: rgauss_048.h rgauss_080.h rgauss_080_19940113.h rgauss_128.h jgetgg.o: rgauss_160.h rgauss_160_19931222.h rgauss_200.h rgauss_256.h jgetgg.o: rgauss_320.h rgauss_400.h rgauss_512.h rgauss_1024.h jgglat.o: jparams.h parim.h jintgg.o: jparams.h parim.h jintll.o: jparams.h parim.h jjset99.o: jparams.h parim.h jmakgg.o: jparams.h parim.h jmakgg3.o: jparams.h parim.h jmakll.o: jparams.h parim.h jmakll3.o: jparams.h parim.h jmemhan.o: jparams.h jparam2.h parim.h jmovgg.o: jparams.h parim.h jmovll.o: jparams.h parim.h jmvugg.o: jparams.h parim.h jmvull.o: jparams.h parim.h jnorsgg.o: parim.h jnumgg.o: jparams.h parim.h jnumggq.o: jparams.h parim.h jopngg.o: parim.h jopnggf.o: parim.h jparams.h jparam2.h jopnll.o: parim.h jopnllf.o: parim.h jparams.h jparam2.h jreadgg.o: jparams.h parim.h jreadll.o: jparams.h parim.h jsgggp.o: jparams.h parim.h current.h nifld.common nofld.common grfixed.h jsllgp.o: jparams.h parim.h nifld.common jspleg1.o: jparams.h jstrll.o: jparams.h parim.h nifld.common jstrwll.o: jparams.h parim.h nifld.common jsymgg.o: jparams.h parim.h nifld.common jsymll.o: jparams.h parim.h nifld.common juvpole.o: jparams.h parim.h current.h nofld.common grfixed.h jwindll.o: jparams.h parim.h nifld.common jwscal.o: jparams.h kintrg.o: intisl.h parim.h nifld.common nofld.common knfrom4.o: intisl.h parim.h nifld.common krg2rg.o: parim.h intisl.h nifld.common nofld.common krg2rgu.o: parim.h intisl.h nifld.common nofld.common lrekam.o: parim.h nofld.common lsmfld.o: parim.h nifld.common nofld.common makerl.o: parim.h nofld.common mkbitmp.o: parim.h jparams.h nofld.common mkframe.o: parim.h jparams.h newisl.o: intisl.h parim.h ngintrp.o: parim.h ngrotat.o: parim.h intf.h nmakgg.o: jparams.h parim.h nmakll.o: jparams.h parim.h oceanp.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h oceanp.o: intf.h pddefs.o: parim.h nifld.common ppallow.o: jparams.h parim.h precip.o: parim.h nifld.common nofld.common reset_c.o: parim.h nifld.common nofld.common grfixed.h current.h rphi.o: jparams.h set99.o: jparams.h sprotat.o: parim.h tatorgg.o: parim.h w251idx.o: parim.h waveidx.o: parim.h wavexxx.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h wv2di32.o: parim.h wv2didx.o: parim.h wv2dint.o: parim.h wv2dx32.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h wv2dxxx.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h wvqlidx.o: parim.h wvqlint.o: parim.h zprec.o: parim.h nifld.common createSharedMemoryCoefficients.o: fortdefs.h fftchk.o: fortint.h gmapbit.o: bitmap.h makemap.o: bitmap.h sharedMemoryCharacteristics.o: fortdefs.h showmap.o: bitmap.h smread.o: fortdefs.h soffset.o: fortint.h valpina.o: fortint.h emoslib-000392+dfsg.1/interpolation/jopnggf.F0000755000175000017500000002426412127406245022121 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JOPNGGF( IPLEG, KNUM, KTRUNC, KUNIT, PLAT, KRET) C C----> C**** JOPNGGF C C Purpose C _______ C C This routine finds a file of legendre polynomials corresponding C to a given grid interval and truncation, allocates memory, reads C the coefficients into the memory and returns a unit number. C C Interface C _________ C C CALL JOPNGGF( IPLEG, KNUM, KTRUNC, KUNIT, PLAT, KRET) C C Input parameters C ________________ C C KNUM - Gaussian grid number C KTRUNC - Spherical truncation C PLAT - Array of latitudes for the gaussian grid C C Output parameters C _________________ C C IPLEG - Pointer to memory array used for legendre coefficients C KUNIT - Unit number from PBOPEN C 0 , open failed C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C Uses common JDCSPGP for size NISIZE7 C C Method C ______ C C Builds a file name from the truncation and grid interval and C tries to open a file of that name. C C If the file is already open (from a previous call) the C previous unit number is returned. C If a different file is already open (from a previous call), the C existing file is closed. C C If no file can be found, a file is created. Memory is dynamically C allocted and the coefficients are read into the memory array. C C Externals C _________ C C PBOPEN3 - Open binary file and return unit number C PBREAD3 - Read binary file C PBCLOSE3 - Close binary file C JFINDIR - Find the file of legendre coefficients C JMAKGG - Makes a file of legendre coefficients C INTLOG - Output log message C C Reference C _________ C C NONE C C Comments C ________ C C The filename for the legendre polynomials has the form: C cf_xxxx_0nnn Truncation xxx, Gaussian number yyy C For example, C cf_0213_0160 T213 N160 C cf_0106_0080 T106 N80 C C On the C90, the file of polynomials may be cached in /owrk/marsint C C Otherwise the file is located in (or will be created in) the first C directory given by one of the following (in the order listed, if C they exist): C environment variable PPDIR C or C the current working directory. C C C Author C ______ C C J.D.Chambers *ECMWF* Jun 1996 C C Modifications C _____________ C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C S.Curic *ECMWF* Apr 2005 C Change filename format because of N1048 C C----< C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" #include "jparams.h" #include "jparam2.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30810 ) C C Subroutine arguments C REAL PLAT DIMENSION PLAT(*) INTEGER KNUM, KTRUNC, KUNIT, KRET C C Local variables C INTEGER IRET, IOFFSET, NPBYTES, ISIZE INTEGER*8 ITEMP,IRET1 CHARACTER*12 YFLAG #ifdef REAL_8 DATA NPBYTES/8/ #else DATA NPBYTES/4/ #endif #ifdef POINTER_64 INTEGER*8 IRPLEG #endif REAL RPLEG(1) POINTER ( IRPLEG, RPLEG ) LOGICAL LFOUND CHARACTER*256 DIRNAME CHARACTER*256 FILENAME CHARACTER*512 FULLPATH CHARACTER*16 YPFN #ifdef REAL_8 DATA YPFN/'CF_xxxx_nnnn'/ #else DATA YPFN/'cf_xxxx_nnnn'/ #endif INTEGER NUNIT DATA NUNIT/0/ #ifdef POINTER_64 INTEGER*8 IPLEG #endif REAL ALEG DIMENSION ALEG(1) POINTER ( IPLEG, ALEG ) C SAVE NUNIT C C Externals C LOGICAL JFINDIR LOGICAL JFINDFN3 INTEGER JCHMOD, CHMOD C C _______________________________________________________ C C* Section 1. See if required file already in use. C _______________________________________________________ C 100 CONTINUE C C Setup the file name C WRITE(YPFN(4:7),'(I4.4)') KTRUNC WRITE(YPFN(9:12),'(I4.4)') KNUM CALL INTLOG(JP_DEBUG, X 'JOPNGGF: Coefficients file to open is:', JPQUIET) CALL INTLOG(JP_DEBUG, YPFN, JPQUIET) C If file already open, return the existing unit number C IF( YPFN.EQ.YOLDGG ) THEN CALL INTLOG(JP_DEBUG,'JOPNGGF: File already open.',JPQUIET) KUNIT = NUNIT GOTO 900 C ELSE C C Otherwise, ensure existing unit is closed C IF( NUNIT.NE.0 ) THEN CALL PBCLOSE3( NUNIT, IRET) NUNIT=0 ENDIF ENDIF C C _______________________________________________________ C C* Section 2. See if the file has already been created. C _______________________________________________________ C 200 CONTINUE C IOFFSET = INDEX(YPFN, ' ') - 1 FILENAME = YPFN(1:IOFFSET) C LFOUND = JFINDIR('PPDIR', DIRNAME) IF( LFOUND ) THEN LFOUND = JFINDFN3(DIRNAME,FILENAME,IOFFSET,NUNIT) IF( LFOUND ) GOTO 500 ENDIF C C Try present working directory C IOFFSET = INDEX(YPFN,' ') - 1 FILENAME = YPFN(1:IOFFSET) CALL PBOPEN3( NUNIT, FILENAME(1:IOFFSET), 'r', IRET) IF( IRET.EQ.0 ) GOTO 500 C _______________________________________________________ C C* Section 3. File doesn't exist, find a suitable directory for it. C _______________________________________________________ C 300 CONTINUE C LFOUND = JFINDIR('PPDIR', DIRNAME) IF( LFOUND ) THEN IOFFSET = INDEX(DIRNAME, ' ') - 1 FULLPATH = DIRNAME(1:IOFFSET) // '/' // FILENAME IOFFSET = INDEX(FULLPATH, ' ') - 1 FILENAME(1:IOFFSET) = FULLPATH(1:IOFFSET) CALL PBOPEN3( NUNIT, FILENAME(1:IOFFSET), 'w', IRET) IF( IRET.EQ.0 ) GOTO 400 ENDIF C C Try present working directory C IOFFSET = INDEX(YPFN,' ') - 1 FILENAME = YPFN(1:IOFFSET) CALL PBOPEN3( NUNIT, FILENAME(1:IOFFSET), 'w', IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNGGF: PBOPEN3 error.',IRET) KRET = JPROUTINE + 1 GOTO 990 ENDIF C _______________________________________________________ C C* Section 4. Create the coefficients file. C _______________________________________________________ C 400 CONTINUE C C Let user know that a new file is being created. C CALL INTLOG(JP_DEBUG,'JOPNGGF: Creating new coefficients file:', X JPQUIET) CALL INTLOG(JP_DEBUG,FILENAME(1:IOFFSET), JPQUIET) C C Change access mode to 'read only' for all users. C IRET = JCHMOD(FILENAME(1:IOFFSET),'0444') IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNGGF: JCHMOD error.',IRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF C C Allocate memory for the array used in making the file C ISIZE = (KTRUNC+1)*(KTRUNC+4)/2 IF( ISIZE.GT.NISIZE7 ) THEN CALL JMEMHAN( 7, IRPLEG, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNGGF: memory allocate error',IRPLEG) KRET = JPROUTINE + 3 GOTO 990 ENDIF NISIZE7 = ISIZE ENDIF C C Make coefficients file C CALL JMAKGG3( NUNIT, KTRUNC, KNUM, PLAT, RPLEG, KRET) IF( KRET.NE.0 ) GOTO 990 C C De-allocate memory for the array used in making the file C CALL JMEMHAN( 7, IRPLEG, ISIZE, 0, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNGGF: memory dealloc error',IRPLEG) KRET = JPROUTINE + 4 GOTO 990 ENDIF NISIZE7 = 0 C C Close coefficients file C CALL PBCLOSE3( NUNIT, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNGGF: PBCLOSE error.',IRET) KRET = JPROUTINE + 5 GOTO 990 ENDIF NUNIT=0 C C Reopen with read access C CALL PBOPEN3( NUNIT, FILENAME(1:IOFFSET), 'r', IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNGGF: PBOPEN error.',IRET) KRET = JPROUTINE + 6 GOTO 990 ENDIF C _______________________________________________________ C C* Section 5. File now open with read access. C _______________________________________________________ C 500 CONTINUE C C Allocate memory for the file and read the file into memory C ISIZE = ((KTRUNC+1)*(KTRUNC+4)/2)*KNUM IF( ISIZE.GT.NISIZE7 ) THEN CALL JMEMHAN2( 7, IPLEG, ISIZE, 1, KRET) cs CALL JMEMHAN( 7, IPLEG, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNGGF: memory allocation error',IPLEG) KRET = JPROUTINE + 7 GOTO 990 ENDIF NISIZE7 = ISIZE ENDIF C ITEMP = ISIZE cs ITEMP = ISIZE*NPBYTES ITEMP = ITEMP*8 CALL GETENV('USE_PBREAD4', YFLAG) IF(YFLAG(1:1).EQ.'1') THEN CALL PBREAD4(NUNIT, ALEG, ITEMP, IRET1) ELSE cs print*,'PBREAD5 -----------' CALL PBREAD5(NUNIT, ALEG, ITEMP, IRET1) ENDIF IF( IRET1.NE.ITEMP ) THEN CALL INTLOG(JP_FATAL,'JOPNGGF: PBREAD4 error.',IRET1) KRET = JPROUTINE + 8 GOTO 990 ENDIF cs CALL PBREAD3(NUNIT, ALEG, (ISIZE*NPBYTES), IRET) cs IF( IRET.NE.(ISIZE*NPBYTES) ) THEN cs CALL INTLOG(JP_FATAL,'JOPNGGF: PBREAD3 error.',IRET) cs KRET = JPROUTINE + 8 cs GOTO 990 cs ENDIF C C The file is no longer required C CALL PBCLOSE3( NUNIT, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNGGF: PBCLOSE3 error.',IRET) NUNIT = 0 KRET = JPROUTINE + 9 GOTO 990 ENDIF NUNIT=0 C KUNIT = NUNIT YOLDGG = YPFN C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C KRET = 0 C 990 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/sharedlib.h0000755000175000017500000000120512127406245022454 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #if defined(__STDC__) || defined(__cplusplus) # define P_(s) s #else # define P_(s) () #endif /* sharedlib.c */ void *share_file P_((const char *path)); void release_shared_file P_((void *ptr)); int remove_shared_file P_((const char *path)); #undef P_ emoslib-000392+dfsg.1/interpolation/iglrev.F0000755000175000017500000001346712127406245021762 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGLREV (PMAT, KCOL, KROW, KDIR, KPR, KERR) C C----> C**** *IGLREV* C C PURPOSE C _______ C C This routine reverses either the rows or the columns of a C rectangular matrix. C C INTERFACE C _________ C C IERR = IGLREV (PMAT, KCOL, KROW, KDIR, KPR, KERR) C C Input parameters C ________________ C C PMAT - The input matrix of dimension (KCOL, KROW). C C KCOL - The length of the first dimension of PMAT. C C KROW - The length of the second dimension of PMAT. C C KDIR - 1 Reverses the order in each column. C West-East reversal for meteorological fields. C 2 Reverses the order in each row. C North-South reversal for meteorological fields. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PMAT - The transformed matrix. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG - Logs messages. C C METHOD C ______ C C KDIR = 1 is implemented by swapping elements within each column C of the matrix. C C KDIR = 2 is implemented by reversing the order of the columns. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments C INTEGER KCOL, KROW, KDIR, KPR, KERR C REAL PMAT (KCOL, KROW) C C Local variables C INTEGER IHALF C INTEGER JSTEP, JMOVE C REAL ZTEMP C INTEGER JPROUTINE C PARAMETER (JPROUTINE = 7300) C C External functions C C C _______________________________________________________ C C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGLREV: Section 1.',JPQUIET) C IGLREV = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRSCAN: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRSCAN: First matrix dimension is ',KCOL) CALL INTLOG(JP_DEBUG,'IRSCAN: Second matrix dimension is ',KROW) CALL INTLOG(JP_DEBUG,'IRSCAN: Direction value is ',KDIR) CALL INTLOG(JP_DEBUG,'IRSCAN: Input parameters.',JPQUIET) ENDIF C C _______________________________________________________ C C C* Section 2. Matrix COLUMN reversal (Field row interchange - WE) C _______________________________________________________ C 200 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGLREV: Section 2.',JPQUIET) C IF (KDIR .EQ. 1) THEN C IHALF = KCOL / 2 C DO 220 JMOVE = 1, IHALF C DO 210 JSTEP = 1, KROW C ZTEMP = PMAT (KCOL + 1 - JMOVE, JSTEP) PMAT (KCOL + 1 - JMOVE, JSTEP) = PMAT (JMOVE, JSTEP) PMAT (JMOVE, JSTEP) = ZTEMP C 210 CONTINUE C 220 CONTINUE C ELSE C C _______________________________________________________ C C C* Section 3. Matrix ROW reversal (Field column interchange - NS) C _______________________________________________________ C 300 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGLREV: Section 3.',JPQUIET) C IHALF = KROW / 2 C DO 320 JMOVE = 1, IHALF C DO 310 JSTEP = 1, KCOL C ZTEMP = PMAT (JSTEP, KROW + 1 - JMOVE) PMAT (JSTEP, KROW + 1 - JMOVE) = PMAT (JSTEP, JMOVE) PMAT (JSTEP, JMOVE) = ZTEMP C 310 CONTINUE C 320 CONTINUE C ENDIF C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGLREV: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_032.h0000755000175000017500000000113612127406245022412 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG032(32) DATA QG032/ X 20, 27, 36, 40, 45, 50, 60, 64, 72, 75, 80, 90, X 90, 96, 100, 108, 108, 120, 120, 120, 128, 128, 128, 128, X 128, 128, 128, 128, 128, 128, 128, 128 / emoslib-000392+dfsg.1/interpolation/irintr.F0000755000175000017500000001327012127406245021771 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRINTR (KWEDIST, KOWE, KNSDIST, PWFACT, KPR, 1 KERR) C C----> C**** *IRINTR* C C PURPOSE C _______ C C Calculate the basic unnormalised interpolation weights when C interpolating from a quasi regular grid to a regular grid for C one line of latitude. C C INTERFACE C _________ C C IERR = IRINTR (KWEDIST, KOWE, KNSDIST, PWFACT, KPR, KERR) C C Input parameters C ________________ C C KWEDIST - This array holds the distances to longitude values C in the input field from the associated longitude C values in the output field. C C KOWE - The number of points in the West-East direction in C the output field. C C KNSDIST - This array of length 2 gives the distances to the C lines of latitude North and South in the input C field from the line of latitude in the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PWFACT - The unnormalised array of interpolating weights to C the four neighbouring points for every point of the C output line of latitude. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C The weights are formed by performing a linear fit along the C two lines of latitude. These two partial weights are normalised C before performing a linear fit along the line of meridian. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C NONE C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments INTEGER KOWE, KPR, KERR INTEGER KWEDIST (2, KOWE, 2), KNSDIST (2) REAL PWFACT (4, KOWE) C C Local variables REAL ZSOUTH, ZNORTH INTEGER JOLON INTEGER JPROUTINE PARAMETER (JPROUTINE = 23300) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRINTR: Section 1.',JPQUIET) C IRINTR = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRINTR: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRINTR: No.output longitudes = ',KOWE) ENDIF C C _______________________________________________________ C C* Section 2. Calculate arrays of weights C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRINTR: Section 2.',JPQUIET) C DO 210 JOLON = 1, KOWE C ZNORTH = KWEDIST (JP_I_W, JOLON, JP_I_N) + X KWEDIST (JP_I_E, JOLON, JP_I_N) C ZSOUTH = KWEDIST (JP_I_W, JOLON, JP_I_S) + X KWEDIST (JP_I_E, JOLON, JP_I_S) C PWFACT (JP_I_NW, JOLON) = X REAL (KWEDIST (JP_I_E, JOLON, JP_I_N)) * X ZSOUTH * REAL (KNSDIST (JP_I_S) ) C PWFACT (JP_I_NE, JOLON) = X REAL (KWEDIST (JP_I_W, JOLON, JP_I_N)) * X ZSOUTH * REAL (KNSDIST (JP_I_S) ) C PWFACT (JP_I_SW, JOLON) = X REAL (KWEDIST (JP_I_E, JOLON, JP_I_S)) * X ZNORTH * REAL (KNSDIST (JP_I_N) ) C PWFACT (JP_I_SE, JOLON) = X REAL (KWEDIST (JP_I_W, JOLON, JP_I_S)) * X ZNORTH * REAL (KNSDIST (JP_I_N) ) C 210 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IRINTR: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/sharedmemory.h0000755000175000017500000000167712127406245023233 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef SHAREDMEMORY_H #define SHAREDMEMORY_H #define SP2LL 0 #define SP2RG 1 #define SP2QG 2 #define READY_TO_READ 5 #define SLEEP_TIME 3 #ifdef FORTRAN_NO_UNDERSCORE #define SMREAD smread #define NMAKLL nmakll #define NMAKGG nmakgg #define JGETGG jgetgg #define JNUMGG jnumgg #define JDEBUG jdebug #else #define SMREAD smread_ #define NMAKLL nmakll_ #define NMAKGG nmakgg_ #define JGETGG jgetgg_ #define JNUMGG jnumgg_ #define JDEBUG jdebug_ #endif /* // Debug flags. */ #define DEBUGOFF 1 #define DEBUG (debugSet > DEBUGOFF ) #endif /* end of SHAREDMEMORY_H */ emoslib-000392+dfsg.1/interpolation/sharedlib.c0000755000175000017500000001727412127406245022464 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #include #include #include #include #include #include #include #include #include "sharedlib.h" int sharedlib_dbg = 0; /* 10 MB */ #define BUFFER_SIZE 10485760 #define MAGIC 1234567890 struct sembuf _lock[] = { { 0, 0, SEM_UNDO }, /* test */ { 0, 1, SEM_UNDO }, /* lock */ }; struct sembuf _unlock[] = { { 0, -1, SEM_UNDO }, /* ulck */ }; #define INFO_PATH 1024 struct info { int ready; int magic; char path[INFO_PATH]; }; void *share_file(const char* file) { char message[1024]; char path[1024]; struct stat64 s; struct stat64 s2; int fd = -1; int err = 0; void *ptr = NULL; int shmid = 0; key_t key; char *addr; struct timeval start, end, diff; double time; int sem; int loadfile = 1; int locked = 0; int page_size = getpagesize(); struct info *nfo; if(page_size < 0) { fprintf(stderr,"ERR: sharedmem:get_page_size faile\n"); return NULL; } if(strlen(file) + 1 > INFO_PATH) { fprintf(stderr,"ERR: sharedmem:path too long(%d) max is %d\n",strlen(file), INFO_PATH); return NULL; } if(strlen(file) + 1 > sizeof(path)) { fprintf(stderr,"ERR: sharedmem:path too long(%d) max is %d\n",strlen(file), sizeof(path)); return NULL; } if(realpath(file,path) == 0) { sprintf(message,"ERR: sharedmem:realpath(%s)",file); err = -1; goto error; } if (sharedlib_dbg) fprintf(stdout,"sharedmem: sharing %s\n",path); if(sizeof(s.st_size) < 8) { fprintf(stderr,"ERR: sharedmem:stat.st_size(%d) is too small for 64bits files\n",sizeof(s.st_size)); return NULL; } key = ftok(path,1); if(key == (key_t)-1) { sprintf(message,"ERR: sharedmem:ftok(%s)",path); err = -1; goto error; } if((sem = semget(key,1,IPC_CREAT|0600)) < 0) { sprintf(message,"ERR: sharedmem:semget(%s)",path); err = -1; goto error; } if (sharedlib_dbg) gettimeofday( &start, NULL ); if(semop(sem,_lock, 2 ) < 0) { sprintf(message,"ERR: sharedmem:semop:lock(%s)",path); err = -1; goto error; } locked = 1; if (sharedlib_dbg) { gettimeofday( &end, NULL ); diff.tv_sec = end.tv_sec - start.tv_sec; diff.tv_usec = end.tv_usec - start.tv_usec; if (diff.tv_usec < 0) { diff.tv_sec--; diff.tv_sec--; diff.tv_usec += 1000000; } time = (double)diff.tv_sec + ((double)diff.tv_usec / 1000000.); fprintf( stdout, "sharedmem:semop:lock wait %g secs\n", time); } if((fd = open(path,O_RDONLY | O_LARGEFILE)) < 0) { sprintf(message,"ERR: sharedmem:open(%s)",path); err = -1; goto error; } if(stat64(path,&s)) { sprintf(message,"ERR: sharedmem:stat(%s)",path); err = -1; goto error; } if((shmid = shmget(key, ((s.st_size + page_size-1)/page_size)*page_size + sizeof(struct info),IPC_CREAT|0600)) < 0) { sprintf(message,"ERR: sharedmem:shmget(%s)",path); err = -1; goto error; } #ifdef SHM_PAGESIZE { /* Use 64K pages to back the shared memory region */ size_t shm_size; struct shmid_ds shm_buf = { 0 }; psize_t psize_64k; psize_64k = 64 * 1024; shm_buf.shm_pagesize = psize_64k; if (shmctl(shmid, SHM_PAGESIZE, &shm_buf)) { /*perror("shmctl(SHM_PAGESIZE) failed");*/ } } #endif /* attach shared memory */ ptr = shmat( shmid, NULL, 0 ); if (ptr == (void*)-1) { sprintf(message,"sharedmem:shmget(%s)",path); err = -1; goto error; } addr = (char*)ptr; nfo = (struct info*)(addr + (((s.st_size + page_size-1)/page_size)*page_size)); if(nfo->ready) { loadfile = 0; if(nfo->magic != MAGIC) { sprintf(message,"ERR: sharedmem:check: bad magic %d\n",nfo->magic); err = -1; goto error; } if(strcmp(nfo->path,path) != 0) { sprintf(message,"ERR: sharedmem:check: invalid path [%s]\n",nfo->path); err = -1; goto error; } } if(loadfile) { s2.st_size = s.st_size; if (sharedlib_dbg) gettimeofday( &start, NULL ); while(s.st_size > 0) { size_t len = s.st_size > BUFFER_SIZE ? BUFFER_SIZE : s.st_size; if(read(fd, addr, len) != len) { sprintf(message,"ERR: sharedmem:read(%s)",path); err = -1; goto error; } s.st_size -= len; addr += len; } if (sharedlib_dbg) { gettimeofday( &end, NULL ); diff.tv_sec = end.tv_sec - start.tv_sec; diff.tv_usec = end.tv_usec - start.tv_usec; if (diff.tv_usec < 0) { diff.tv_sec--; diff.tv_usec += 1000000; } time = (double)diff.tv_sec + ((double)diff.tv_usec / 1000000.); fprintf( stdout, "sharedmem:read %lld bytes in %g secs\n",s2.st_size, time); } nfo->magic = MAGIC; strcpy(nfo->path,path); nfo->ready = 1; } else { if (sharedlib_dbg) fprintf( stdout, "sharedmem:read file already loaded\n"); } close(fd); error: if(fd>0) { close(fd); } if(err) { perror(message); if(ptr) shmdt(ptr); ptr = NULL; } if(locked) { if(semop(sem,_unlock,1) < 0) { sprintf(message,"ERR: sharedmem:semop:lock(%s)",path); perror(message); } } return ptr; } void release_shared_file(void *ptr) { shmdt(ptr); } int remove_shared_file(const char* file) { char message[1024]; char path[1024]; int err = 0; int shmid = 0; key_t key; int sem; if(strlen(file) + 1 > sizeof(path)) { fprintf(stderr,"ERR: sharedmem:path too long(%d) max is %d\n",strlen(file), sizeof(path)); return -1; } if(realpath(file,path) == 0) { sprintf(message,"ERR: sharedmem:realpath(%s)",file); err = -1; goto error; } key = ftok(path,1); if(key == (key_t)-1) { sprintf(message,"ERR: sharedmem:ftok(%s)",path); err = -1; goto error; } if((shmid = shmget(key,0,0600)) < 0) { sprintf(message,"ERR: sharedmem:shmget(%s)",path); err = -1; goto error; } fprintf(stdout,"sharedmem: removing shared memory for %s\n",path); if(shmctl(shmid, IPC_RMID, NULL) < 0) { sprintf(message,"ERR: sharedmem:shmctl:IPC_RMID,(%s)",path); err = -1; goto error; } if((sem = semget(key,1,0600)) <0 ) { sprintf(message,"ERR: sharedmem:semget(%s)",path); err = -1; goto error; } if(semctl(sem, 0, IPC_RMID, NULL) < 0) { sprintf(message,"ERR: sharedmem:semctl:IPC_RMID,(%s)",path); err = -1; goto error; } error: if(err) perror(message); return err; } emoslib-000392+dfsg.1/interpolation/xyz2ll.F0000755000175000017500000000372712127406245021734 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE XYZ2LL(X,Y,Z,RLAT,RLONG,INROW) C----> C**** XYZ2LL C C Purpose C ------- C C Converts an array of (x,y,z) coordinates to an C array of latitude/longitude values. C C C Interface C --------- C C CALL XYZ2LL(X,Y,Z,RLAT,RLONG,INROW) C C Input C ----- C C (X,Y,Z) - Array of coordinates. C INROW - Count of coordinates. C C C Output C ------ C C RLAT - Array of latitudes. C RLONG - Array of corresponding longitudes. C C C Method C ------ C C Z axis is the polar axis directed from south to north. C X and Y axes are in the equatorial plane and have origin at the C centre of the Earth. The X axis passes through (O north, 0 east). C Longitude values are in range (0,360). C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF C C----< C IMPLICIT NONE C C Subroutine arguments C REAL X,Y,Z,RLAT,RLONG DIMENSION X(*),Y(*),Z(*),RLAT(*),RLONG(*) INTEGER INROW C C Local variables C REAL*8 FACTOR DATA FACTOR/57.2957763671875/ INTEGER LOOP C DO LOOP = 1, INROW RLAT(LOOP) = ASIN(Z(LOOP)) * FACTOR ENDDO C DO LOOP = 1, INROW IF( ABS(X(LOOP)).GT.0.0001 ) THEN RLONG(LOOP) = ATAN2(Y(LOOP),X(LOOP)) * FACTOR ELSE IF ( Y(LOOP).GT.0.0 ) THEN RLONG(LOOP) = 90.0 ELSE RLONG(LOOP) = -90.0 ENDIF ENDDO C DO LOOP = 1, INROW IF(RLONG(LOOP).LT.0.0) RLONG(LOOP) = RLONG(LOOP) + 360.0 ENDDO C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_320.h0000755000175000017500000000505512127406245022416 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG320(320) DATA QG320/ X 18, 25, 36, 40, 45, X 50, 60, 64, 72, 72, X 75, 81, 90, 96, 100, X 108, 120, 120, 125, 135, X 144, 144, 150, 160, 180, X 180, 180, 192, 192, 200, X 216, 216, 216, 225, 240, X 240, 240, 250, 256, 270, X 270, 288, 288, 288, 300, X 300, 320, 320, 320, 324, X 360, 360, 360, 360, 360, X 360, 375, 375, 384, 384, X 400, 400, 405, 432, 432, X 432, 432, 450, 450, 450, X 480, 480, 480, 480, 480, X 486, 500, 500, 500, 512, X 512, 540, 540, 540, 540, X 540, 576, 576, 576, 576, X 576, 576, 600, 600, 600, X 600, 640, 640, 640, 640, X 640, 640, 640, 648, 648, X 675, 675, 675, 675, 720, X 720, 720, 720, 720, 720, X 720, 720, 720, 729, 750, X 750, 750, 750, 768, 768, X 768, 768, 800, 800, 800, X 800, 800, 800, 810, 810, X 864, 864, 864, 864, 864, X 864, 864, 864, 864, 864, X 864, 900, 900, 900, 900, X 900, 900, 900, 900, 960, X 960, 960, 960, 960, 960, X 960, 960, 960, 960, 960, X 960, 960, 960, 972, 972, X 1000, 1000, 1000, 1000, 1000, X 1000, 1000, 1000, 1024, 1024, X 1024, 1024, 1024, 1024, 1080, X 1080, 1080, 1080, 1080, 1080, X 1080, 1080, 1080, 1080, 1080, X 1080, 1080, 1080, 1125, 1125, X 1125, 1125, 1125, 1125, 1125, X 1125, 1125, 1125, 1125, 1125, X 1125, 1125, 1152, 1152, 1152, X 1152, 1152, 1152, 1152, 1152, X 1152, 1200, 1200, 1200, 1200, X 1200, 1200, 1200, 1200, 1200, X 1200, 1200, 1200, 1200, 1200, X 1200, 1200, 1200, 1200, 1215, X 1215, 1215, 1215, 1215, 1215, X 1215, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280/ emoslib-000392+dfsg.1/interpolation/jsllgp.F0000755000175000017500000002104412127406245021753 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JSLLGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, POUTF, KRET) C C----> C**** JSLLGP C C PURPOSE C _______ C C This routine converts stretched spectral input fields to C standard lat/long grid fields. C C INTERFACE C _________ C C CALL JSLLGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, C X PLATINC, PLONINC, POUTF, KRET) C C Input parameters C ________________ C C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C PNORTH - Northernmost latitude for output field (degrees) C PSOUTH - Southernmost latitude for output field (degrees) C PWEST - Westernmost longitude for output field (degrees) C PEAST - Easternmost longitude for output field (degrees) C PLATINC - Grid interval between latitudes in degrees C PLONINC - Grid interval between longitudes in degrees C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C Output parameters C ________________ C C POUTF - Output grid point field C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C Generates one latitude at a time. C C Externals C _________ C C JJSET99 - Sets up FFT C JSTRLL - Generate latitude line from spherical harmonics C JSTRWLL - Generate latitude line from spherical harmonics (wind) C JDEBUG - Checks environment variable to switch on/off debug C INTLOG - Logs output messages C INTLOGR - Logs output messages C C C Reference C _________ C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C C Comments C ________ C C None C C C AUTHOR C ______ C C J.D.Chambers ECMWF July 1999 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "nifld.common" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30000 ) C C Subroutine arguments C COMPLEX PSHUP DIMENSION PSHUP(*) INTEGER KTRUNC REAL PNORTH, PSOUTH, PWEST, PEAST, PLATINC, PLONINC REAL POUTF DIMENSION POUTF(*) INTEGER KRET C C Local variables C REAL PSTART, PNORMX, PDIFF REAL DEG2RAD, ZBUILD INTEGER ILON, IOLON, ITOUP1, IJPWR, NEXT, NROWS, NUMLON INTEGER IOFFN, LONGIT, N360, NSTART, INEXT, LOOPCL C INTEGER IMFAX REAL ATRIGS DIMENSION IMFAX(10),ATRIGS(JPLONO*2) #ifdef POINTER_64 INTEGER*8 IALEG, IZFA #endif #ifdef CRAY REAL ALEG DIMENSION ALEG(JPK) REAL ZFA DIMENSION ZFA(JPLONO+2) #else REAL ALEG DIMENSION ALEG(1) POINTER ( IALEG, ALEG ) REAL ZFA DIMENSION ZFA(1) POINTER ( IZFA, ZFA ) #endif C INTEGER ISIZE, ISIZE2 DATA ISIZE/0/, ISIZE2/0/ SAVE ISIZE, ISIZE2, IZFA C SAVE IMFAX, ATRIGS, IALEG C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C CALL JDEBUG( ) C C First time through, dynamically allocate memory for workspace C IF( ISIZE.EQ.0 ) THEN ISIZE = (JPLONO+2) * 2 CALL JMEMHAN( 10, IZFA, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JSLLGP: memory allocation error.',IZFA) KRET = JPROUTINE + 1 GOTO 900 ENDIF ENDIF C IF( NDBG.GT.0 ) THEN CALL INTLOG(JP_DEBUG,'JSLLGP: Input parameters:', JPQUIET) CALL INTLOG(JP_DEBUG, X 'JSLLGP: Spherical harmonic coeffs(first 20):', JPQUIET) DO 101 NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ', PSHUP( NDBGLP )) 101 CONTINUE CALL INTLOG(JP_DEBUG, X 'JSLLGP: Spherical harmonic truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JSLLGP: Northern latitude for output = ', PNORTH) CALL INTLOGR(JP_DEBUG, X 'JSLLGP: Southern latitude for output = ', PSOUTH) CALL INTLOGR(JP_DEBUG, X 'JSLLGP: Western longitude for output = ', PWEST) CALL INTLOGR(JP_DEBUG, X 'JSLLGP: Eastern longitude for output = ', PEAST) CALL INTLOGR(JP_DEBUG, X 'JSLLGP: Latitude grid interval (deg) = ', PLATINC) CALL INTLOGR(JP_DEBUG, X 'JSLLGP: Longitude grid interval (deg) = ', PLONINC) ENDIF C C Coefficients are to generated 'on the fly', C ISIZE2 = (KTRUNC+1)*(KTRUNC+2) CALL JMEMHAN( 14, IALEG, ISIZE2, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JSLLGP: memory allocate error.',IALEG) KRET = JPROUTINE + 2 GOTO 900 ENDIF C DEG2RAD = PPI / 180.0 IOLON = NINT( 360.0 / PLATINC ) ILON = NINT( 360.0 / PLONINC ) ITOUP1 = KTRUNC C C For calculation purposes, ILON, the number of longitude points, C has to be greater than 2*(output truncation) to ensure that the C fourier transform is exact (see Reference, page 10). C The following loop increases ILON*IJPWR until ILON=>2*ITOUP1. C Later, when filling the output array POUTF, the longitude points C have to be taken selectively to avoid the intermediate generated C points, picking up values only at the required longitudes. C IJPWR = 1 110 CONTINUE IF( ILON.GT.2*ITOUP1 ) GOTO 120 IJPWR = IJPWR*2 ILON = ILON*2 GOTO 110 120 CONTINUE C C Initialise FFT constants C IF( NDBG.GT.0 ) THEN CALL INTLOG(JP_DEBUG, X 'JSLLGP: Initialise FFT constants with ', ILON) CALL INTLOG(JP_DEBUG, X 'JSLLGP: longitude points.', JPQUIET) ENDIF C CALL JJSET99( ATRIGS, IMFAX, ILON, KRET) IF( KRET.NE.0 ) GOTO 900 C C _______________________________________________________ C C* Section 2. Work out geometry of the request C _______________________________________________________ C 200 CONTINUE C PNORMX = PNORTH PDIFF = PNORTH - PSOUTH NROWS = NINT( PDIFF/PLATINC ) + 1 IF( ((NROWS-1)*PLATINC).GT.PDIFF ) NROWS = NROWS - 1 C NUMLON = NINT( (PEAST - PWEST)/PLONINC ) + 1 ZBUILD = PLATINC C IF( NDBG.GT.0 ) THEN CALL INTLOG(JP_DEBUG,'JSLLGP: Number of longitudes = ', NUMLON) CALL INTLOGR(JP_DEBUG, X 'JSLLGP: North latitude used for calc = ', PNORMX) CALL INTLOG(JP_DEBUG,'JSLLGP: No.lats used in calc = ', NROWS) ENDIF C _______________________________________________________ C C* Section 4. Process one row at a time. C _______________________________________________________ C 400 CONTINUE C DO NEXT = 1, NROWS PSTART = PNORMX - REAL(NEXT-1)*PLATINC C IF( NDBG.GT.0 ) X CALL INTLOGR(JP_DEBUG, 'JSLLGP: Next latitude = ', PSTART) C C Generate the next row C IF( LWIND ) THEN CALL JSTRWLL(PSHUP, KTRUNC, PSTART, ZBUILD, ILON, X ALEG, ATRIGS, IMFAX, ZFA, KRET) ELSE CALL JSTRLL(PSHUP, KTRUNC, PSTART, ZBUILD, ILON, X ALEG, ATRIGS, IMFAX, ZFA, KRET) ENDIF IF( KRET.NE.0 ) GOTO 900 C C Find start offset in storage array C IOFFN = NINT( (PNORTH - PSTART)/PLATINC ) + 1 LONGIT = NINT( (360.0 + PWEST)/PLONINC ) N360 = NINT( 360.0/PLONINC ) NSTART = MOD( LONGIT, N360)*IJPWR C DO LOOPCL = 1, NUMLON INEXT = 2 + MOD( NSTART + (LOOPCL-1)*IJPWR , ILON) POUTF( LOOPCL + (IOFFN-1)*NUMLON ) = ZFA( INEXT) ENDDO C ENDDO C KRET = 0 C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/ngintrp.F0000755000175000017500000002010212127406245022133 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE NGINTRP(NEWFLD,NEXT,INROW,OLAT,OLON,NGAUSS,TYPE,FIELD, X GLATS, NGPTS) C C----> C**** NGINTRP C C PURPOSE C _______ C C Finds values at the points of a row by interpolation within a C gaussian field. C C INTERFACE C _________ C C CALL NGINTRP(NEWFLD,NEXT,INROW,OLAT,OLON,NGAUSS,TYPE,FIELD) C C C Input parameters C ________________ C C NEWFLD - The field of values being created C NEXT - Start offset of the latitude row being created C INROW - The number of points in the latitude row C OLAT - Latitude of target point C OLON - Longitude of target point C NGAUSS - Gaussian field number C TYPE - Original unrotated gaussian field type C = 'F' for full (regular) gaussian field C = 'R' for reduced (quasi) gaussian field C FIELD - Original gaussian field C GLATS - Gaussian latitudes for original field C NGPTS - Number of points along original field latitudes C C C Output parameters C ________________ C C NEWFLD(NEXT) to NEWFLD(NEXT+INROW-1) contains the latitude row C values. C C C METHOD C ______ C C Uses distance weighted values of 4 neighbouring points unless C within small distance of one of the neighbours, in which case C the value at that point is used. C C C EXTERNALS C _________ C C JMKOFGG - Builds offsets to start of each latitude row in the C gaussian grid. C JNORSGG - Find nearest north/south latitude in the gaussian grid. C INTLOG - Logs output messages C C C REFERENCE C _________ C C None. C C C COMMENTS C ________ C C Some loops have been split and simplified to help with C vectorisation on VPP. C C C AUTHOR C ______ C C J.D.Chambers ECMWF April 1996 C C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPFACTR, JPMAXGG PARAMETER( JPFACTR = 10000 ) PARAMETER( JPMAXGG = 1280 ) REAL JPEPS PARAMETER( JPEPS = 1E-2) C C Function arguments C REAL NEWFLD(*),OLAT(*),OLON(*),FIELD(*),GLATS(*) INTEGER NEXT,INROW,NGAUSS,NGPTS(*) CHARACTER*1 TYPE C C Local variables C INTEGER LOOP, IVALUE INTEGER NORTH, SOUTH, IWESTN, IWESTS, IEASTN, IEASTS REAL NSTEP, SSTEP DIMENSION NORTH(JPMAXGG), SOUTH(JPMAXGG) DIMENSION IWESTN(JPMAXGG), IWESTS(JPMAXGG) DIMENSION IEASTN(JPMAXGG), IEASTS(JPMAXGG) DIMENSION NSTEP(JPMAXGG), SSTEP(JPMAXGG) REAL DNORTH, DSOUTH, DWESTN, DWESTS, DEASTN, DEASTS DIMENSION DNORTH(JPMAXGG), DSOUTH(JPMAXGG) DIMENSION DWESTN(JPMAXGG), DWESTS(JPMAXGG) DIMENSION DEASTN(JPMAXGG), DEASTS(JPMAXGG) INTEGER KOFSET(JPMAXGG/2) INTEGER KRET, OLDGAUS DATA OLDGAUS/0/ CHARACTER*1 OLDTYPE DATA OLDTYPE/' '/ SAVE OLDGAUS, OLDTYPE, KOFSET #ifdef __uxp__ REAL ONW, ONE, OSW, OSE DIMENSION ONW(JPMAXGG), ONE(JPMAXGG), OSW(JPMAXGG), OSE(JPMAXGG) #endif C C Externals C INTEGER JNORSGG EXTERNAL JNORSGG #ifndef __uxp__ C C Statement function C INTEGER X, Y REAL OFIELD OFIELD(X,Y) = FIELD(KOFSET(X)+Y) #endif C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C C Fixup gaussian grid definition (first time only) C IF ( (OLDGAUS.NE.NGAUSS).OR.(OLDTYPE.NE.TYPE) ) THEN C CALL INTLOG(JP_DEBUG, X 'NGINTRP: Fixup gaussian grid definition:',JPQUIET) CALL INTLOG(JP_DEBUG,TYPE,JPQUIET) CALL INTLOG(JP_DEBUG, 'NGINTRP: grid number:',NGAUSS) C C Build array of offsets in field to start of each latitude line C CALL INTLOG(JP_DEBUG,'NGINTRP: Build row offsets',JPQUIET) IF( TYPE.EQ.'R') THEN CALL JMKOFGG(TYPE,1,NGAUSS*2,0.0,360.0,NGAUSS,NGPTS,KOFSET) ELSE CALL JMKOFGG(TYPE,1,NGAUSS*2,0.0,(360.0-(90.0/NGAUSS)), X NGAUSS,NGPTS,KOFSET) ENDIF OLDGAUS = NGAUSS OLDTYPE = TYPE ENDIF C C _______________________________________________________ C C* Section 2. Find latitudes of grid lines to north and south of C the points and calculate grid interval along lines. C _______________________________________________________ C 200 CONTINUE C DO LOOP = 1, INROW NORTH(LOOP) = JNORSGG( OLAT(LOOP), GLATS, NGAUSS, 1) ENDDO C DO LOOP = 1, INROW SOUTH(LOOP) = MIN( NORTH(LOOP)+1, NGAUSS*2) DNORTH(LOOP) = ABS(GLATS(NORTH(LOOP)) - OLAT(LOOP)) ENDDO C DO LOOP = 1, INROW DSOUTH(LOOP) = 1.0 - DNORTH(LOOP) NSTEP(LOOP) = 360.0/FLOAT(NGPTS(NORTH(LOOP))) SSTEP(LOOP) = 360.0/FLOAT(NGPTS(SOUTH(LOOP))) ENDDO C C _______________________________________________________ C C* Section 3. Find neighbouring points. C _______________________________________________________ C 300 CONTINUE C DO LOOP = 1, INROW C C Calculate normalised distance west and east to neighbouring C points on lines to north and south of the point C IWESTN(LOOP) = INT(OLON(LOOP)/NSTEP(LOOP)) IWESTS(LOOP) = INT(OLON(LOOP)/SSTEP(LOOP)) IEASTN(LOOP) = IWESTN(LOOP) + 1 IEASTS(LOOP) = IWESTS(LOOP) + 1 C DWESTN(LOOP) = X ABS((OLON(LOOP) - FLOAT(IWESTN(LOOP))*NSTEP(LOOP))/NSTEP(LOOP)) DEASTN(LOOP) = 1.0 - DWESTN(LOOP) C DWESTS(LOOP) = X ABS((OLON(LOOP) - FLOAT(IWESTS(LOOP))*SSTEP(LOOP))/SSTEP(LOOP)) DEASTS(LOOP) = 1.0 - DWESTS(LOOP) C C Adjust west and east for longitude wrap-around C IVALUE=NGPTS(NORTH(LOOP)) IF( IEASTN(LOOP).GE.IVALUE) THEN IEASTN(LOOP) = IEASTN(LOOP) - IVALUE IF( IWESTN(LOOP).GE.IVALUE) IWESTN(LOOP) = IWESTN(LOOP)-IVALUE ENDIF C IVALUE=NGPTS(SOUTH(LOOP)) IF( IEASTS(LOOP).GE.IVALUE) THEN IEASTS(LOOP) = IEASTS(LOOP) - IVALUE IF( IWESTS(LOOP).GE.IVALUE) IWESTS(LOOP) = IWESTS(LOOP)-IVALUE ENDIF C ENDDO C C _______________________________________________________ C C* Section 4. Interpolate using neighbouring points. C _______________________________________________________ C 400 CONTINUE C C Use bi-linear interpolation from four neighbouring points. C #ifdef __uxp__ DO LOOP = 1, INROW ONW(LOOP) = X FIELD(KOFSET(NORTH(LOOP))+IWESTN(LOOP)) * DEASTN(LOOP) ONE(LOOP) = X FIELD(KOFSET(NORTH(LOOP))+IEASTN(LOOP)) * DWESTN(LOOP) OSW(LOOP) = X FIELD(KOFSET(SOUTH(LOOP))+IWESTS(LOOP)) * DEASTS(LOOP) OSE(LOOP) = X FIELD(KOFSET(SOUTH(LOOP))+IEASTS(LOOP)) * DWESTS(LOOP) C ENDDO C DO LOOP = 1, INROW NEWFLD(NEXT+LOOP-1) = X (ONW(LOOP) + ONE(LOOP)) * DSOUTH(LOOP) + X (OSW(LOOP) + OSE(LOOP)) * DNORTH(LOOP) ENDDO #else DO LOOP = 1, INROW NEWFLD(NEXT+LOOP-1) = X ( ( OFIELD(NORTH(LOOP),IWESTN(LOOP)) * DEASTN(LOOP) + X OFIELD(NORTH(LOOP),IEASTN(LOOP)) * DWESTN(LOOP) ) X * DSOUTH(LOOP) + X ( OFIELD(SOUTH(LOOP),IWESTS(LOOP)) * DEASTS(LOOP) + X OFIELD(SOUTH(LOOP),IEASTS(LOOP)) * DWESTS(LOOP) ) X * DNORTH(LOOP) ) ENDDO #endif C C _______________________________________________________ C C* Section 9. Closedown. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jdebug.F0000755000175000017500000000560312127406245021723 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JDEBUG( ) C C----> C**** JDEBUG C C PURPOSE C _______ C C This routine checks whether the debug flag is to be turned on. C C C INTERFACE C _________ C C CALL JDEBUG( ) C C Input parameters C ________________ C C None C C C Output parameters C ________________ C C None C C C Common block usage C __________________ C C JDCNDBG - set flag NDBG. C JDCSPGP - set flag LFREECF, etc. C C C Method C ______ C C On first call, checks whether or not the environment C variable JDCNDBG exists. C C C Externals C _________ C C GETENV - Checks value of an environment variable. C INTLOGD - Switchs on/off the printing off interpoaltion messages C C C Reference C _________ C C None C C C Comments C ________ C C None. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Mar 1994 C C C MODIFICATIONS C _____________ C C J.D.Chambers *ECMWF* 5 Sep 1995 C Add call to intlogd. C C J.D.Chambers *ECMWF* 19 Mar 1998 C Add setting of LFREECF, etc C C----< C IMPLICIT NONE #include "jparams.h" #include "jparam2.h" C C Local variables C INTEGER NFIRST DATA NFIRST/0/ CHARACTER*12 YFLAG SAVE NFIRST C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C IF( NFIRST.EQ.0 ) THEN NFIRST = 1 C C Set debug level to control which messages are displayed C CALL GETENV('JDCNDBG', YFLAG) IF( YFLAG(1:1).EQ.' ' ) NDBG = 0 IF( YFLAG(1:1).EQ.'1' ) NDBG = 1 IF( YFLAG(1:1).EQ.'2' ) NDBG = 2 IF( YFLAG(1:1).EQ.'3' ) NDBG = 3 IF( NDBG.EQ.0 ) THEN CALL INTLOGD(0) ELSE CALL INTLOGD(1) ENDIF C C Initialise the flags controlling handling of spectral -> grid C interpolation coefficients memory unless already set by user C IF( NFREECF.NE.11041967 ) THEN LFREECF = .FALSE. NFREECF = 11041967 ENDIF C C Clear the sizes of the memory areas used for coefficients in C spectral -> grid interpolations C NISIZE6 = 0 NISIZE7 = 0 C ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/intuvf.F0000755000175000017500000002111512127406245021772 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTUVF( KVGRIB, KDGRIB, INLEN, X KUGRIBO, KVGRIBO, OUTLEN) C C----> C**** INTUVF C C Purpose C ------- C C Interpolate input vorticity and divergence field to C U and V fields. C C C Interface C --------- C C IRET = INTUVF( KVGRIB, KDGRIB, INLEN, KUGRIBO,KVGRIBO,OUTLEN) C C Input C ----- C C KVGRIB - Input vorticity field (spectral, GRIB format). C KDGRIB - Input divergence field (spectral, GRIB format). C INLEN - Input field length (words). C C C Output C ------ C C KUGRIBO - Output U field (GRIB format). C KVGRIBO - Output V field (GRIB format). C OUTLEN - Output field length (words). C C C Method C ------ C C Convert spectral vorticity/divergence to spectral U/V and then C interpolate U and V to output fields. C C C Externals C --------- C C IBASINI - Ensure basic interpolation setup is done. C JVOD2UV - Converts spectral vorticity/divergence to spectral U/V. C JMEMHAN - Allocate/deallocate scratch memory. C INTFAU - Prepare to interpolate unpacked input field. C INTFBU - Interpolate unpacked input field. C INTLOG - Log error message. C RESET_C - Reset interpolation handling options using GRIB product. C INSANE - Ensure no outrageous values given for interpolation. C C C Author C ------ C C J.D.Chambers ECMWF Jan 1995 C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C C Function arguments C INTEGER KVGRIB(*), KDGRIB(*), INLEN INTEGER KUGRIBO(*), KVGRIBO(*), OUTLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE, JPALLOC, JPDEALL, JPSCR3, JPSCR4 PARAMETER (JPROUTINE = 26800 ) PARAMETER (JPALLOC = 1) PARAMETER (JPDEALL = 0) PARAMETER (JPSCR3 = 3) PARAMETER (JPSCR4 = 4) C C Local variables C INTEGER IERR, KPR, ISZVD, ISZUV, IWORD, ISAME INTEGER IPVORT, IPDIV, IP_U, IP_V #ifdef POINTER_64 INTEGER*8 IUV INTEGER*8 IVD #endif REAL UV, VD POINTER ( IUV, UV ) POINTER ( IVD, VD ) DIMENSION UV( 1 ), VD( 1 ) C C Externals C INTEGER INTFAU, INTFBU, RESET_C INTEGER IBASINI, INSANE C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE INTUVF = 0 IERR = 0 KPR = 0 C C Ensure that basic initialisation has been done C IERR = IBASINI(0) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVF: basic initialise failed',JPQUIET) INTUVF = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 2. Unpack the vorticity/divergence fields. C -----------------------------------------------------------------| C 200 CONTINUE C C Get scratch memory for vorticity/divergence unpacked fields. C Vorticity/divergence memory areas are adjacent. C C Need to establish input truncation, so unpack GRIB sections 1 C and 2. C IERR = 1 CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X VD(IPVORT), ISZVD, KVGRIB, INLEN, IWORD, 'I',IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVF: GRIBEX decoding failed.',IERR) INTUVF = IERR GOTO 900 ENDIF C NIRESO = ISEC2(2) ISZVD = (NIRESO+1)*(NIRESO+2) IPVORT = 1 IPDIV = 1 + ISZVD CALL JMEMHAN( JPSCR4, IVD, ISZVD*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVF: Memory allocation fail.',JPQUIET) INTUVF = IERR GOTO 900 ENDIF C C Decode data from GRIB code (no checking) C Vorticity ... C IWORD = INLEN IERR = 0 CALL GRSVCK(0) IERR = 1 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X VD(IPVORT), ISZVD, KVGRIB, INLEN, IWORD, 'D',IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVF: GRIBEX decoding failed.',IERR) INTUVF = IERR GOTO 900 ENDIF C C Divergence ... C IERR = 1 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X VD(IPDIV), ISZVD, KDGRIB, INLEN, IWORD, 'D',IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVF: GRIBEX decoding failed.',IERR) INTUVF = IERR GOTO 900 ENDIF C C Setup interpolation options from input GRIB characteristics. C IERR = RESET_C( ISEC1, ISEC2, ZSEC2, ISEC4) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVF: Setup interp. options from GRIB failed.',JPQUIET) INTUVF = IERR GOTO 900 ENDIF C C Check that no outrageous values given for interpolation C ISAME = INSANE() IF( ISAME.GT.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVF: Interpolation cannot use given values.',JPQUIET) INTUVF = ISAME GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 3. Convert spectral vorticity/divergence C to spectral U/V C -----------------------------------------------------------------| C 300 CONTINUE C C Get scratch memory for U and V spectral fields. C U and V memory areas are adjacent. C ISZUV = (NIRESO+1)*(NIRESO+4) IP_U = 1 IP_V = 1 + ISZUV CALL JMEMHAN( JPSCR3, IUV, ISZUV*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVF: Memory allocation fail.',JPQUIET) INTUVF = IERR GOTO 900 ENDIF C C Generate U and V with same truncation as input fields. C CALL JVOD2UV( VD(IPVORT), VD(IPDIV), NIRESO, X UV(IP_U), UV(IP_V), NIRESO) C C -----------------------------------------------------------------| C* Section 4. Interpolate U field. C -----------------------------------------------------------------| C 400 CONTINUE C C Prepare to interpolate U field. C NIFORM = 0 IERR = INTFAU( UV(IP_U), ISZUV, KUGRIBO, OUTLEN) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVF: Prepare to interpolate failed.',IERR) INTUVF = IERR GOTO 900 ENDIF C C Interpolate U field. C IERR = INTFBU( UV(IP_U), ISZUV, KUGRIBO, OUTLEN) C IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVF: Interpolation failed.',JPQUIET) INTUVF = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 5. Interpolate V field. C -----------------------------------------------------------------| C 500 CONTINUE C C Prepare to interpolate V field. C IERR = INTFAU( UV(IP_V), ISZUV, KVGRIBO, OUTLEN) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVF: Prepare to interpolate failed.',JPQUIET) INTUVF = IERR GOTO 900 ENDIF C C Interpolate V field. C IERR = INTFBU( UV(IP_V), ISZUV, KVGRIBO, OUTLEN) C IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVF: Prepare to interpolate failed.',JPQUIET) INTUVF = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C C Return the scratch memory. C CALL JMEMHAN( JPSCR3, IUV, ISZUV*2, JPDEALL, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVF: Memory deallocation fail',JPQUIET) INTUVF = IERR ENDIF C CALL JMEMHAN( JPSCR4, IVD, ISZVD*2, JPDEALL, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVF: Memory deallocation fail',JPQUIET) INTUVF = IERR ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/jfindfn3.F0000755000175000017500000000537712127406245022174 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION JFINDFN3( DIRNAME, FILENAME, KLEN, KUNIT) C C----> C**** JFINDFN C C Purpose C _______ C C Completes the pathname given by a directory and filename, and C checks if the file exists. C C Interface C _________ C C LFOUND = JFINDFN( DIRNAME, FILENAME, KLEN, KUNIT) C C Input parameters C ________________ C C DIRNAME - the directory name. C FILENAME - the file name. C KLEN - number of characters in the name C C Output parameters C _________________ C C The function returns .TRUE. if the file is opened; in which case: C FILENAME - the full pathname. C KLEN - number of characters in the full pathname C KUNIT - the opened file descriptor (from PBOPEN). C C Otherwise it returns .FALSE. and FILENAME and KLEN are unchanged C C Common block usage C __________________ C C None. C C Externals C _________ C C PBOPEN - opens a file. C C Reference C _________ C C None. C C Comments C ________ C C None. C C Author C ______ C C J.D.Chambers *ECMWF* Mar 1996 C C----< C _______________________________________________________ C IMPLICIT NONE C C Parameters Cjdc INTEGER JPROUTINE Cjdc PARAMETER ( JPROUTINE = 30800 ) C C Subroutine arguments CHARACTER*(*) DIRNAME, FILENAME INTEGER KLEN, KUNIT C C Local variables INTEGER IBLANK, IRET CHARACTER*512 FULLPATH CHARACTER*256 SAVENAME C C _______________________________________________________ C C* Section 1. Try the full path name.. C _______________________________________________________ C 100 CONTINUE C JFINDFN3 = .TRUE. SAVENAME = FILENAME C IBLANK = INDEX(DIRNAME, ' ') - 1 FULLPATH = DIRNAME(1:IBLANK) // '/' // FILENAME(1:KLEN) IBLANK = INDEX(FULLPATH, ' ') - 1 FILENAME(1:IBLANK) = FULLPATH(1:IBLANK) C Cjdc print*,'***',FILENAME(1:IBLANK),'***' CALL PBOPEN3(KUNIT, FILENAME(1:IBLANK), 'r', IRET) IF( IRET.NE.0 ) THEN FILENAME = SAVENAME JFINDFN3 = .FALSE. ELSE KLEN = INDEX(FULLPATH, ' ') - 1 FILENAME(1:KLEN) = FULLPATH(1:KLEN) ENDIF C C _______________________________________________________ C C* Section 9. Return. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/hirlam.F0000755000175000017500000004674512127406245021753 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HIRLAM(L12PNT,OLDFLD,KOUNT,KGAUSS,AREA,POLE, X GRID,NEWFLD,KSIZE,NLON,NLAT) C C----> C**** HIRLAM C C Purpose C ------- C C This routine creates a rotated regular lat/long field from a C gaussian field using 12-point horizontal interpolation. C C C Interface C --------- C C IRET = HIRLAM(L12PNT,OLDFLD,KOUNT,KGAUSS,AREA,POLE, C X GRID,NEWFLD,KSIZE,NLON,NLAT) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C = .TRUE. for 12-point horizontal C = .FALSE. for 4-point C OLDFLD - The array of values from the gaussian field C KOUNT - Number of values in OLDFLD C KGAUSS - Gaussian number of the gaussian field C AREA - Limits of output area (N/W/S/E) C POLE - Pole of rotation (lat/long) C GRID - Output lat/long grid increments (we/ns) C KSIZE - The size of the output array to fill with the regular C lat/long field C C C Output parameters C ----------------- C C NEWFLD - The array of values for the regular lat/long field C NLON - Number of longitudes in the regular lat/long field C NLAT - Number of latitudes in the regular lat/long field C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C nifld.common C nofld.common C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C JGETGG - Reads the definition of a gaussian grid C HGENGRD - Calculates original lat/long (before rotation) for C a rotated grid C HNEI12 - Finds neighbours for points for interpolation C HWTS12 - Calculates weightings for points for interpolation C CHKPREC - Check if precipitation threshold has been redefined C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) C C Function arguments C LOGICAL L12PNT INTEGER KOUNT, KGAUSS, KSIZE, NLON, NLAT REAL AREA(4), POLE(2), GRID(2), OLDFLD(*), NEWFLD(KSIZE) C C Local variables C INTEGER NEXT,LOOP,IRET,NLEN,IOGAUSS,IOREPR,NBYTES,NUMBER INTEGER NEAREST, NEND, ITEMP, COUNT C CHARACTER*12 YFLAG LOGICAL LNEW, LFIRST, LVEGGY INTEGER KSCHEME(1),NEIGH(12,1), KLA(1) REAL PWTS(12,1) POINTER (IPKSCHE, KSCHEME) POINTER (IPNEIGH, NEIGH) POINTER (IPKLA, KLA) POINTER (IPPWTS, PWTS) C REAL PDLO0(1),PDLO1(1),PDLO2(1),PDLO3(1),PDLAT(1) POINTER (IPPDLO0, PDLO0) POINTER (IPPDLO1, PDLO1) POINTER (IPPDLO2, PDLO2) POINTER (IPPDLO3, PDLO3) POINTER (IPPDLAT, PDLAT) C INTEGER IGG, IGGOLD INTEGER KPTS(1) REAL GLATS(1) INTEGER IOFFS(1) POINTER (IPKPTS, KPTS) POINTER (IPIOFFS, IOFFS) POINTER (IPGLATS, GLATS) C INTEGER ILL, ILLOLD REAL RLAT(1),RLON(1) POINTER (IPRLAT, RLAT) POINTER (IPRLON, RLON) C REAL OLD(KOUNT) C DATA IOGAUSS/-1/,IOREPR/-1/ DATA LNEW/.FALSE./, LFIRST/.TRUE./ DATA IGGOLD/-1/, ILLOLD/-1/ DATA NUMBER/-1/ C SAVE LNEW, LFIRST SAVE IPKSCHE, IPNEIGH, IPKLA, IPPWTS SAVE IPPDLO0, IPPDLO1, IPPDLO2, IPPDLO3, IPPDLAT SAVE IOGAUSS,IOREPR, IGGOLD, IPKPTS, IPIOFFS, IPGLATS SAVE ILLOLD, IPRLAT, IPRLON SAVE NUMBER C C Externals C INTEGER HNEI12, HGENGRD #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C Statement function C REAL A, B LOGICAL NOTEQ NOTEQ(A,B) = (ABS((A)-(B)).GT.(ABS(A)*1E-3)) C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HIRLAM = 0 C CALL JDEBUG() C IF( L12PNT ) THEN CALL INTLOG(JP_DEBUG,'HIRLAM: 12-pt interpolation',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'HIRLAM: 4-pt interpolation',JPQUIET) ENDIF C CALL CHKPREC() IF( LPREC )THEN CALL INTLOG(JP_DEBUG, X 'HIRLAM: precipitation threshold applied',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'HIRLAM: precipitation threshold not applied',JPQUIET) ENDIF C Are we handling vegetation parameter LVEGGY = (NITABLE.EQ.128).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30).OR. X (NIPARAM.EQ.43) ) C Force nearest neighbour processing with env variable CALL GETENV('NEAREST_NEIGHBOUR', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LVEGGY = .TRUE. C Force nearest neighbour processing with INTOUT parameter IF( LMETHOD ) LVEGGY = .TRUE. IF( LVEGGY ) CALL INTLOG(JP_DEBUG, X 'HIRLAM: nearest neighbour processing (vegetation)',JPQUIET) C C C Dynamically allocate memory for gaussian grid information. C IGG = KGAUSS*2 C IF( IGG.GT.IGGOLD ) THEN C IF( IGGOLD.GT.0 ) CALL JFREE(IPKPTS) C NBYTES = (IGG*JPRLEN) + (2*IGG+1)*JPBYTES C IPKPTS = JMALLOC(NBYTES) #ifdef hpR64 IPKPTS = IPKPTS/(1024*1024*1024*4) #endif IF( IPKPTS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLAM: Memory allocation fail',JPQUIET) HIRLAM = 1 GOTO 900 ENDIF C IPGLATS = IPKPTS + (IGG*JPBYTES) IPIOFFS = IPGLATS + (IGG*JPRLEN) C IGGOLD = IGG IOGAUSS = -1 IOREPR = -1 C ENDIF C C Build up offsets to start of each latitude in the original field. C IF( (KGAUSS.NE.IOGAUSS).OR.(IOREPR.NE.NIREPR) ) THEN IF( NIREPR.EQ.JPGAUSSIAN ) THEN CALL INTLOG(JP_DEBUG, X 'HIRLAM: trying for regular gaussian N',KGAUSS) CALL JGETGG(KGAUSS,'F',GLATS,KPTS,IRET) ELSE CALL INTLOG(JP_DEBUG, X 'HIRLAM: trying for reduced gaussian N',KGAUSS) CALL JGETGG(KGAUSS,'R',GLATS,KPTS,IRET) ENDIF C IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLAM: JGETGG failed to get gaussian data',JPQUIET) HIRLAM = 2 GOTO 900 ENDIF C IOFFS(1) = 1 DO LOOP = 2, (KGAUSS*2+1) IOFFS(LOOP) = IOFFS(LOOP-1) + KPTS(LOOP-1) ENDDO NUMBER = (IOFFS(KGAUSS*2+1) - 1) C C Check whether number of gaussian points agrees with grid C specification. If not and grid is N80/N160, try the 12-pt C specification. C IF( NUMBER.NE.KOUNT ) THEN IF( (KGAUSS.EQ.80).OR.(KGAUSS.EQ.160) ) THEN ITEMP = NGSPEC NGSPEC = 12 IF( NIREPR.EQ.JPQUASI ) THEN CALL INTLOG(JP_DEBUG, X 'HIRLAM: trying for 12-pt reduced gaussian N',KGAUSS) CALL JGETGG(KGAUSS,'R',GLATS,KPTS,IRET) ELSE CALL INTLOG(JP_DEBUG, X 'HIRLAM: trying for 12-pt regular gaussian N',KGAUSS) CALL JGETGG(KGAUSS,'F',GLATS,KPTS,IRET) ENDIF NGSPEC = ITEMP C IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLAM: JGETGG failed to get gaussian data',JPQUIET) HIRLAM = 2 GOTO 900 ENDIF C IOFFS(1) = 1 DO LOOP = 2, (KGAUSS*2+1) IOFFS(LOOP) = IOFFS(LOOP-1) + KPTS(LOOP-1) ENDDO NUMBER = (IOFFS(KGAUSS*2+1) - 1) C IF( NUMBER.NE.KOUNT ) THEN CALL INTLOG(JP_ERROR, X 'HIRLAM: Given number of points =',KOUNT) CALL INTLOG(JP_ERROR, X 'HIRLAM: Expected number of pts =',NUMBER) HIRLAM = 4 GOTO 900 ENDIF ELSE C CALL INTLOG(JP_ERROR, X 'HIRLAM: Given number of points =',KOUNT) CALL INTLOG(JP_ERROR, X 'HIRLAM: Expected number of pts =',NUMBER) HIRLAM = 4 GOTO 900 ENDIF ENDIF C IOGAUSS = KGAUSS IOREPR = NIREPR ENDIF C C Preserve the input field C (in case OLDFLD and NEWFLD are the same arrays) C NUMBER = (IOFFS(KGAUSS*2+1) - 1) DO LOOP = 1, NUMBER OLD(LOOP) = OLDFLD(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 2. Generate the lat/long points for the output grid C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + NINT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) ! DJ Mar-05 NLAT = 1 + NINT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) ! DJ Mar-05 C NLEN = NLON * NLAT NOWE = NLON NONS = NLAT C C Check that given array is big enough for the new field. C IF( NLEN.GT.KSIZE ) THEN CALL INTLOG(JP_ERROR,'HIRLAM: Given array size = ',KSIZE) CALL INTLOG(JP_ERROR,'HIRLAM: Required size = = ',NLEN) HIRLAM = 5 GOTO 900 ENDIF C C Dynamically allocate memory for lat/long arrays. C ILL = NLEN IF( ILL.GT.ILLOLD ) THEN C LNEW = .TRUE. C IF( ILLOLD.GT.0 ) CALL JFREE(IPRLON) C NBYTES = 2*ILL*JPRLEN C IPRLON = JMALLOC(NBYTES) #ifdef hpR64 IPRLON = IPRLON/(1024*1024*1024*4) #endif IF( IPRLON.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLAM: Memory allocation fail',JPQUIET) HIRLAM = 6 GOTO 900 ENDIF C IPRLAT = IPRLON + (ILL*JPRLEN) C ILLOLD = ILL C ENDIF C IRET = HGENGRD(AREA,POLE,GRID,NLON,NLAT,RLAT,RLON) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLAM: HGENGRD failed to get lat/lon grid data',JPQUIET) HIRLAM = 7 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 3. Find neighbours for each point for interpolation. C -----------------------------------------------------------------| C 300 CONTINUE C C Dynamically allocate memory for interpolation arrays. C IF( LNEW ) THEN C IF( .NOT.LFIRST ) CALL JFREE(IPPDLO0) C NBYTES = (17*JPRLEN + 14*JPBYTES) * ILL C IPPDLO0 = JMALLOC(NBYTES) #ifdef hpR64 IPPDLO0 = IPPDLO0/(1024*1024*1024*4) #endif IF( IPPDLO0.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLAM: Memory allocation fail',JPQUIET) HIRLAM = 8 GOTO 900 ENDIF C IPPDLO1 = IPPDLO0 + (ILL*JPRLEN) IPPDLO2 = IPPDLO1 + (ILL*JPRLEN) IPPDLO3 = IPPDLO2 + (ILL*JPRLEN) IPPDLAT = IPPDLO3 + (ILL*JPRLEN) IPPWTS = IPPDLAT + (ILL*JPRLEN) IPKSCHE = IPPWTS + (12*ILL*JPRLEN) IPKLA = IPKSCHE + (ILL*JPBYTES) IPNEIGH = IPKLA + (ILL*JPBYTES) C LFIRST = .FALSE. LNEW = .FALSE. C ENDIF C C Find neighbours. C IRET = HNEI12(L12PNT,NLEN,RLAT,RLON,KGAUSS,KPTS,GLATS, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLAM: HNEI12 failed to find neighbours',JPQUIET) HIRLAM = 9 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 4. Perform the 12-point horizontal interpolation. C -----------------------------------------------------------------| C 400 CONTINUE C C Setup the 12-point horizontal interpolation weights C CALL HWTS12 X (NLEN,KSCHEME,KLA,PDLAT,GLATS,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X PWTS) C C Calculate the interpolated grid point values C DO LOOP = 1, NLEN IF( KSCHEME(LOOP).EQ.JP12PT ) THEN C C See if any of the neighbours are missing C COUNT = 0 IF( NOTEQ(OLD(NEIGH( 1,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 2,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 3,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 4,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 5,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 6,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 7,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 8,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 9,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH(10,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH(11,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH(12,LOOP)),RMISSGV) ) COUNT = COUNT + 1 C C Interpolate using twelve neighbours if none are missing C IF( LVEGGY) THEN NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 IF( PWTS( 5,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 5 IF( PWTS( 6,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 6 IF( PWTS( 7,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 7 IF( PWTS( 8,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 8 IF( PWTS( 9,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 9 IF( PWTS(10,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =10 IF( PWTS(11,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =11 IF( PWTS(12,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =12 NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ELSE IF( COUNT.EQ.12) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLD(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLD(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLD(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLD(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLD(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLD(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLD(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLD(NEIGH(12,LOOP)) * PWTS(12,LOOP) C C Set missing if all neighbours are missing C ELSE IF( COUNT.EQ.0 ) THEN NEWFLD(LOOP) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 IF( PWTS( 5,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 5 IF( PWTS( 6,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 6 IF( PWTS( 7,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 7 IF( PWTS( 8,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 8 IF( PWTS( 9,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 9 IF( PWTS(10,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =10 IF( PWTS(11,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =11 IF( PWTS(12,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =12 NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ENDIF ENDIF C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN C C See if any of the neighbours are missing C COUNT = 0 IF( NOTEQ(OLD(NEIGH( 1,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 2,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 3,LOOP)),RMISSGV) ) COUNT = COUNT + 1 IF( NOTEQ(OLD(NEIGH( 4,LOOP)),RMISSGV) ) COUNT = COUNT + 1 C C Interpolate using four neighbours if none are missing C c IF( COUNT.EQ.4.AND.LVEGGY.EQV.(.FALSE.) ) THEN IF( LVEGGY) THEN NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ELSE IF( COUNT.EQ.4) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C C Set missing if all neighbours are missing C ELSE IF( COUNT.EQ.0 ) THEN NEWFLD(LOOP) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ENDIF ENDIF C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) X NEWFLD(LOOP) = OLD(NEIGH(NEXT,LOOP)) ENDDO C ENDIF C C Remove precipitation if less than a 'trace' or if nearest C neighbour is less than a trace C IF( LPREC ) THEN IF( NEWFLD(LOOP).LT.ZPRECIP ) THEN NEWFLD(LOOP) = 0.0 ELSE NEAREST = 1 NEND = 12 IF( KSCHEME(LOOP).NE.JP12PT ) NEND = 4 DO NEXT = 2, NEND IF( PWTS( NEXT,LOOP).GT.PWTS( NEAREST,LOOP) ) X NEAREST = NEXT ENDDO IF( OLD(NEIGH(NEAREST,LOOP)).LT.ZPRECIP ) NEWFLD(LOOP) = 0.0 ENDIF ENDIF C ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/wavexx1.F0000755000175000017500000005044112127406245022066 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WAVEXX1(NPARAM, ISEC2, ISEC4, NLATS, STEPNS, X STEPWE, OLDWAVE, NEWIDX, DISTNEW, X NEWWAVE, NORTH, WEST, PMISS) C C----> C*****WAVEXX1* C C PURPOSE C ------- C C Interpolates wave fields (except 2D spectra). C C C INTERFACE C --------- C C IRET = WAVEXX1(ISEC2, ISEC4, NLATS, STEPNS, STEPWE, C X OLDWAVE, NEWIDX, DISTNEW, C X NEWWAVE, NORTH, WEST, PMISS) C C Input arguments C --------------- C C ISEC2 - Unpacked section 2 header from 2D wave spectra field C ISEC4 - Unpacked section 4 header from 2D wave spectra field C NLATS - Number of points N-S in new grid C STEPNS - Output grid north-south resolution (degrees) C STEPWE - Output grid west-east resolution (degrees) C OLDWAVE - Original wave field C NORTH - Output grid northernmost latitude (degrees) C WEST - Output grid westernmost longitude (degrees) C PMISS - Missing data value C C Output arguments C ---------------- C C NEWIDX - Indices of four neighbouring old grid points used for C new grid points C DISTNEW - Distances of surrounding box edges from new grid points C NEWWAVE - New wave field C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C Builds the index of neighbouring points for the output grid. C Then works through the output grid points, checking for subarea C boundaries and looking up neighbouring point values and weights. C (Neighbours may have missing data). C C C EXTERNALS C --------- C C WAVEIDX - determines which nearest-neighbour values to use for C interpolating to new output grid point C NUMPTWE - Calculates number of grid points between west/east C area boundaries C VALPINA - Looks up bitmap value C SOFFSET - Finds the section offsets in GRIB message C INTLOG - Log error message C C C REFERENCE C --------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF January 1998 C C C Modifications C ------------- C Handle reduced lat/long grid in 'pseudo-gaussian' layout C J.D.Chambers ECMWF November 2003 C C C----< C IMPLICIT NONE C C Parameters C INTEGER JPROUTINE, JPMXLAT PARAMETER (JPROUTINE = 40100) PARAMETER (JPMXLAT = 1801) INTEGER JPNW, JPNE, JPSW, JPSE, JPN, JPS INTEGER JPDISNW, JPDISNE, JPDISSW, JPDISSE PARAMETER (JPNW = 1) PARAMETER (JPNE = 2) PARAMETER (JPSW = 3) PARAMETER (JPSE = 4) PARAMETER (JPN = 5) PARAMETER (JPS = 6) PARAMETER (JPDISNW = 7) PARAMETER (JPDISNE = 8) PARAMETER (JPDISSW = 9) PARAMETER (JPDISSE = 10) C C Subroutine arguments C INTEGER ISEC2, ISEC4, NLATS DIMENSION ISEC2(*), ISEC4(*) REAL STEPNS, STEPWE, OLDWAVE, NEWWAVE, NORTH, WEST, PMISS REAL ONORTH DIMENSION OLDWAVE(*), NEWWAVE(*) INTEGER NEWIDX DIMENSION NEWIDX(4,*) REAL*4 DISTNEW DIMENSION DISTNEW(10,*) C C Local arguments C INTEGER IEOFSET, IWOFSET, ISTART, IWEST REAL SOUTH, PTLAT, AWEST, EAST, PTLONG, OLDWEST, OLDEAST REAL REFVAL, SCALE INTEGER NSPT1, INSPT, NEXP, NMANT, NRETA, NRETB, NLENG, NBIT INTEGER NPARAM, ISCALE, NSCALE, IBITS, ITEMP INTEGER IRET, IS0, IS1, IS2, IS3, IS4, IEDITN INTEGER NEXT, NEXTWV, NROW, NCOL, INDEX, ILOCATE INTEGER MISSLAT, LOOP, NPTS, NUMLATS, NUMNEW, KOLDNUM, KNEWNUM DIMENSION NPTS(JPMXLAT), NUMNEW(JPMXLAT) REAL RLATINC, OLDLATS, NEWLATS, ROWINC DIMENSION OLDLATS(JPMXLAT), NEWLATS(JPMXLAT) LOGICAL LDIREC REAL*4 DISNW, DISNE, DISSW, DISSE REAL*4 NW_PT, NE_PT, SW_PT, SE_PT REAL*4 RAD DATA RAD/0.017453293/ REAL*4 DI1N, DI1S, DI2N, DI2S, DK1, DK2 REAL*4 CNW_PT, CNE_PT, CSW_PT, CSE_PT REAL*4 SNW_PT, SNE_PT, SSW_PT, SSE_PT REAL*4 U1, U2, C1, C2, S1, S2, CC, SS INTEGER INW, INE, ISW, ISE, JNW, JNE, JSW, JSE C C Externals C INTEGER WAVEIDX, SOFFSET, VALPINA, NUMPTWE EXTERNAL WAVEIDX, SOFFSET, VALPINA, NUMPTWE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WAVEXX1 = 0 C C Initialise the bitmap value lookup function C IRET = VALPINA(0,0,0) C MISSLAT = 0 C C Calculate number of latitudes if grid had been full from C North pole to South pole C NUMLATS = (180000/ISEC2(10)) + 1 IF( NUMLATS.GT.JPMXLAT ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXX1: Number of latitudes in input grid = ',NUMLATS) CALL INTLOG(JP_ERROR, X 'WAVEXX1: And is greater than allowed maximum = ',JPMXLAT) WAVEXX1 = JPROUTINE + 1 GOTO 900 ENDIF C cs RLATINC = FLOAT(ISEC2(10))/1000 RLATINC = FLOAT(ISEC2(10)) C C Fill an array with the number of points at each latitude for the C input field. C IF( ISEC2(17).EQ.1 ) THEN C C Input field is a reduced latitude/longitude grid C C .. but it may be 'pseudo-gaussian' in layout C (ie global, symmetric about the equator but no latitude C at the equator) C IF( (ISEC2(4).NE.90000).AND.(MOD(ISEC2(3),2).EQ.0) ) THEN C NUMLATS = ISEC2(3) cs RLATINC = FLOAT(ISEC2(10))/1000 cs ONORTH = FLOAT(ISEC2(4))/1000 ONORTH = FLOAT(ISEC2(4)) C DO LOOP = 1, NUMLATS cs OLDLATS(LOOP) = ONORTH - (LOOP-1)*RLATINC OLDLATS(LOOP) = (ONORTH - (LOOP-1)*RLATINC)/1000 ENDDO C DO LOOP = 1, ISEC2(3) NPTS(LOOP+MISSLAT) = ISEC2(22+LOOP) ENDDO C ELSE C DO LOOP = 1, NUMLATS OLDLATS(LOOP) = (90000.0 - (LOOP-1)*RLATINC)/1000 cs OLDLATS(LOOP) = 90.0 - (LOOP-1)*RLATINC ENDDO C MISSLAT = (90000 - ISEC2(4))/ISEC2(10) DO LOOP = 1, MISSLAT NPTS(LOOP) = 0 ENDDO KOLDNUM = 1 + (90000 - ISEC2(7))/ISEC2(10) DO LOOP = 1, (KOLDNUM-MISSLAT) NPTS(LOOP+MISSLAT) = ISEC2(22+LOOP) ENDDO DO LOOP = (KOLDNUM+1), NUMLATS NPTS(LOOP) = 0 ENDDO ENDIF C ELSE C C Input field is a regular latitude/longitude grid C C DO LOOP = 1, NUMLATS cs OLDLATS(LOOP) = 90.0 - (LOOP-1)*RLATINC OLDLATS(LOOP) = (90000.0 - (LOOP-1)*RLATINC)/1000 ENDDO C MISSLAT = (90000 - ISEC2(4))/ISEC2(10) DO LOOP = 1, MISSLAT NPTS(LOOP) = 0 ENDDO KOLDNUM = 1 + (90000 - ISEC2(7))/ISEC2(10) DO LOOP = 1, (KOLDNUM-MISSLAT) NPTS(LOOP+MISSLAT) = ISEC2(2) ENDDO DO LOOP = (KOLDNUM+1), NUMLATS NPTS(LOOP) = 0 ENDDO ENDIF C C --------------------------------------------------------------------- C* Section 2. Setup number of points at each latitude for the C output latitude/longitude field. C --------------------------------------------------------------------- C 200 CONTINUE C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN) ) THEN C C Reduced (quasi-regular) gaussian output C KNEWNUM = NOGAUSS*2 DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROGAUSS(LOOP) ENDDO C ELSE IF( NOREPR.EQ.JPREDLL ) THEN C C Reduced (quasi-regular) lat/long output C KNEWNUM = NOREDLL DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROREDLL(LOOP) ENDDO C ELSE C C Regular output C MISSLAT = NINT((90.0 - NORTH)/STEPNS) DO LOOP = 1, MISSLAT NUMNEW(LOOP) = 0 ENDDO DO LOOP = 1, NLATS NUMNEW(LOOP+MISSLAT) = NINT(360.0/STEPWE) ENDDO C KNEWNUM = MISSLAT + NLATS DO LOOP = 1, KNEWNUM NEWLATS(LOOP) = 90.0 - (LOOP-1)*STEPNS ENDDO C ENDIF C C --------------------------------------------------------------------- C* Section 3. Get the input GRIB field characteristics. C --------------------------------------------------------------------- C 300 CONTINUE C C Calculate the indices of the input grid points to be used for C the output points C OLDWEST = FLOAT(NIAREA(2))/PPMULT OLDEAST = FLOAT(NIAREA(4))/PPMULT cs print*,'MARS NUMLATS ', NUMLATS,' RLATINC ',RLATINC cs print*,'MARS OLDEAST ', OLDEAST,' OLDWEST ',OLDWEST cs print*,'MARS KNEWNUM ', KNEWNUM,' STEPNS ',STEPNS cs21 format(i6) cs OPEN (UNIT=12,FILE='./mars_offset.txt',STATUS='UNKNOWN', cs & FORM='FORMATTED') cs WRITE (12,21)(NPTS(LOOP), LOOP=1,NUMLATS) WAVEXX1 = WAVEIDX(NUMLATS,NPTS,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM, NUMNEW, NEWLATS, X NEWIDX, DISTNEW) IF( WAVEXX1.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXX1: Unable to calculate output grid indices',JPQUIET) WAVEXX1 = JPROUTINE + 2 GOTO 900 ENDIF C C Find bitmap (section 3) offset the GRIB product C cs IRET = SOFFSET(OLDWAVE, IS0, IS1, IS2, IS3, IS4, IEDITN) C C Get the overall length of OLDWAVE C cs#ifdef INTEGER_8 cs NBIT = 64 cs#else cs NBIT = 32 cs#endif cs INSPT = (IS0 + 4) * 8 cs CALL INXBIT(OLDWAVE,10,INSPT,NLENG,1,NBIT,24,'D',NRETA) cs IF( NRETA.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem extracting overall length of GRIB',JPQUIET) cs WAVEXX1 = JPROUTINE + 3 cs GOTO 900 cs ENDIF C C Get parameter identifier C cs INSPT = (IS1 + 8) * 8 cs CALL INXBIT(OLDWAVE,10,INSPT,NPARAM,1,NBIT,8,'D',NRETA) cs IF( NRETA.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem getting parameter identifier',JPQUIET) cs WAVEXX1 = JPROUTINE + 4 cs GOTO 900 cs ENDIF C C Wave direction parameters need special handling C (MWD, MDWW, MDPS, MDWI) C LDIREC = ( (NPARAM.EQ.230) .OR. X (NPARAM.EQ.235) .OR. X (NPARAM.EQ.238) .OR. X (NPARAM.EQ.242) ) C C Get the scale factor C cs INSPT = (IS4 + 4) * 8 cs CALL INXBIT(OLDWAVE,NLENG,INSPT,NSCALE,1,NBIT,16,'D',NRETA) cs IF( NRETA.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem extracting scale factor in GRIB',JPQUIET) cs WAVEXX1 = JPROUTINE + 5 cs GOTO 900 cs ENDIF cs CALL DSGNBT(ISCALE,NSCALE,16,NRETA) cs IF( NRETA.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem setting sign of scale factor',JPQUIET) cs WAVEXX1 = JPROUTINE + 6 cs GOTO 900 cs ENDIF cs SCALE = 2.0**(FLOAT(ISCALE)) C C Get the reference value C cs CALL INXBIT(OLDWAVE,NLENG,INSPT,NEXP,1,NBIT,8,'D',NRETA) cs CALL INXBIT(OLDWAVE,NLENG,INSPT,NMANT,1,NBIT,24,'D',NRETB) cs IF( (NRETA.NE.0) .OR. (NRETB.NE.0) ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem getting reference value from GRIB',JPQUIET) cs WAVEXX1 = JPROUTINE + 7 cs GOTO 900 cs ENDIF cs CALL DECFP2(REFVAL,NEXP,NMANT) C C Get number of bits per packed value C cs CALL INXBIT(OLDWAVE,NLENG,INSPT,IBITS,1,NBIT,8,'D',NRETA) cs IF( NRETA.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem getting number of bits per word',JPQUIET) cs WAVEXX1 = JPROUTINE + 8 cs GOTO 900 cs ENDIF cs NSPT1 = INSPT C C --------------------------------------------------------------------- C* Section 4. Work through the output subarea. C --------------------------------------------------------------------- C 400 CONTINUE C C Fill in the wave spectra values C NEXT = 0 NEXTWV = 0 C SOUTH = NOAREA(3)/PPMULT EAST = NOAREA(4)/PPMULT ISTART = 0 C C Work down through latitudes from north to south. C OPEN (UNIT=16,FILE='./mars.txt',STATUS='UNKNOWN', & FORM='FORMATTED') c17 format(i4,1x,i4,4(1x,i6)) 17 format(i4,1x,i4,4(1x,i6),2x,4(f9.2)) 19 format(i4,1x,i4,4(1x,i6),2x,f9.2) DO NROW = 1, KNEWNUM C C If inside north-south (subarea) boundaries .. C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPQUASI) ) THEN PTLAT = ROGAUSS(NROW) ELSE PTLAT = 90.0 - (NROW-1)*STEPNS ENDIF IF( (PTLAT.LE.NORTH).AND.(ABS(PTLAT-SOUTH).GT.-0.0005) ) THEN C C Calculate number of points between west boundary of area and C Greenwich C ROWINC = 360.0/NUMNEW(NROW) C IWEST = INT(WEST/ROWINC) IF( (WEST.GT.0.0).AND.(WEST.NE.(IWEST*ROWINC)) ) X IWEST = IWEST + 1 AWEST = IWEST * ROWINC IWOFSET = NUMPTWE(AWEST,0.0,ROWINC) IEOFSET = NUMPTWE(AWEST,EAST,ROWINC) C C Work through subarea longitudes from west to east. C DO NCOL = 1, NUMNEW(NROW) PTLONG = AWEST + (NCOL-1)*ROWINC NEXT = NUMPTWE(AWEST,PTLONG,ROWINC) IF( (NEXT.LE.IEOFSET).AND.(NEXT.GE.0) ) THEN C C .. and inside west-east (subarea) boundaries C NEXT = 1 + NEXT - IWOFSET IF( NEXT.LE.0) NEXT = NEXT + NUMNEW(NROW) NEXT = NEXT + ISTART NEXTWV = NEXTWV + 1 C INW = NEWIDX(JPNW,NEXT) INE = NEWIDX(JPNE,NEXT) ISW = NEWIDX(JPSW,NEXT) ISE = NEWIDX(JPSE,NEXT) C C If there is a bitmap, ... C cs IF( IS3.NE.0 ) THEN cs IF(INW.NE.0) JNW = VALPINA(OLDWAVE, IS3+6, INW) cs IF(INE.NE.0) JNE = VALPINA(OLDWAVE, IS3+6, INE) cs IF(ISW.NE.0) JSW = VALPINA(OLDWAVE, IS3+6, ISW) cs IF(ISE.NE.0) JSE = VALPINA(OLDWAVE, IS3+6, ISE) cs ELSE cs JNW = INW cs JNE = INE cs JSW = ISW cs JSE = ISE cs ENDIF C C Test if any of the four neighbouring points is missing. C IF( (INW.EQ.0) .OR. (OLDWAVE(INW).EQ.PMISS) .OR. X (ISW.EQ.0) .OR. (OLDWAVE(ISW).EQ.PMISS) .OR. X (INE.EQ.0) .OR. (OLDWAVE(INE).EQ.PMISS) .OR. X (ISE.EQ.0) .OR. (OLDWAVE(ISE).EQ.PMISS) ) THEN cs cs WRITE (16,17)NROW,NCOL,INW,INE,ISW,ISE cs X ,OLDWAVE(INW),OLDWAVE(ISW) cs X ,OLDWAVE(INE),OLDWAVE(ISE) C C If so, take nearest grid point value. C DISNW = DISTNEW(JPDISNW,NEXT) DISNE = DISTNEW(JPDISNE,NEXT) DISSW = DISTNEW(JPDISSW,NEXT) DISSE = DISTNEW(JPDISSE,NEXT) C IF( (DISNW.LE.DISNE).AND. X (DISNW.LE.DISSW).AND. X (DISNW.LE.DISSE)) THEN INDEX = INW cs ILOCATE = JNW C ELSE IF( (DISNE.LE.DISSW).AND. X (DISNE.LE.DISSE) ) THEN INDEX = INE cs ILOCATE = JNE C ELSE IF( (DISSW.LE.DISSE) ) THEN INDEX = ISW cs ILOCATE = JSW C ELSE INDEX = ISE cs ILOCATE = JSE ENDIF C IF(INDEX.EQ.0.OR.(OLDWAVE(INDEX).EQ.PMISS)) THEN C C Nearest point is missing C NEWWAVE(NEXTWV) = PMISS C ELSE cs INSPT = NSPT1 + (ILOCATE - 1)*IBITS cs CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, cs X NBIT,IBITS,'D',NRETA) cs IF( NRETA.NE.0 ) THEN ccss CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem getting nearest neighbour value', cs X JPQUIET) cs WAVEXX1 = JPROUTINE + 9 cs GOTO 900 cs ENDIF cs NEWWAVE(NEXTWV) = REFVAL + FLOAT(ITEMP)*SCALE NEWWAVE(NEXTWV) = OLDWAVE(INDEX) WRITE (16,19)NROW,NCOL,INW,INE,ISW,ISE,NEWWAVE(NEXTWV) ENDIF C ELSE C C Use bi-linear interpolation from four C neighbouring sea points. C cs INSPT = NSPT1 + (JNW - 1)*IBITS cs CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, cs X NBIT,IBITS,'D',NRETA) cs IF( NRETA.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem getting NW neighbour value', cs X JPQUIET) cs WAVEXX1 = JPROUTINE + 10 cs GOTO 900 cs ENDIF cs NW_PT = REFVAL + FLOAT(ITEMP)*SCALE C cs INSPT = NSPT1 + (JNE - 1)*IBITS cs CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, cs X NBIT,IBITS,'D',NRETA) cs IF( NRETA.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem getting NE neighbour value', cs X JPQUIET) cs WAVEXX1 = JPROUTINE + 10 cs GOTO 900 cs ENDIF cs NE_PT = REFVAL + FLOAT(ITEMP)*SCALE C cs INSPT = NSPT1 + (JSW - 1)*IBITS cs CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, cs X NBIT,IBITS,'D',NRETA) cs IF( NRETA.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem getting SW neighbour value', cs X JPQUIET) cs WAVEXX1 = JPROUTINE + 10 cs GOTO 900 cs ENDIF cs SW_PT = REFVAL + FLOAT(ITEMP)*SCALE C cs INSPT = NSPT1 + (JSE - 1)*IBITS cs CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, cs X NBIT,IBITS,'D',NRETA) cs IF( NRETA.NE.0 ) THEN cs CALL INTLOG(JP_ERROR, cs X 'WAVEXX1: Problem getting SE neighbour value', cs X JPQUIET) cs WAVEXX1 = JPROUTINE + 10 cs GOTO 900 cs ENDIF cs SE_PT = REFVAL + FLOAT(ITEMP)*SCALE C DI1N = DISTNEW(JPNW,NEXT) DI2N = DISTNEW(JPNE,NEXT) DI1S = DISTNEW(JPSW,NEXT) DI2S = DISTNEW(JPSE,NEXT) DK1 = DISTNEW(JPN,NEXT) DK2 = DISTNEW(JPS,NEXT) C IF( .NOT. LDIREC ) THEN U1 = NW_PT*DI2N + NE_PT*DI1N U2 = SW_PT*DI2S + SE_PT*DI1S NEWWAVE(NEXTWV) = U1*DK2 + U2*DK1 ELSE C C Fields representing a 'direction': resolve into C components and interpolate each separately. C CNW_PT = COS(NW_PT*RAD) CNE_PT = COS(NE_PT*RAD) CSW_PT = COS(SW_PT*RAD) CSE_PT = COS(SE_PT*RAD) SNW_PT = SIN(NW_PT*RAD) SNE_PT = SIN(NE_PT*RAD) SSW_PT = SIN(SW_PT*RAD) SSE_PT = SIN(SE_PT*RAD) C1 = CNW_PT*DI2N + CNE_PT*DI1N C2 = CSW_PT*DI2S + CSE_PT*DI1S CC = C1*DK2 + C2*DK1 S1 = SNW_PT*DI2N + SNE_PT*DI1N S2 = SSW_PT*DI2S + SSE_PT*DI1S SS = S1*DK2 + S2*DK1 IF( SS.LT.0.0 ) THEN NEWWAVE(NEXTWV) = ATAN2(SS,CC)/RAD + 360.0 ELSE NEWWAVE(NEXTWV) = ATAN2(SS,CC)/RAD ENDIF ENDIF ENDIF ENDIF ENDDO C ENDIF ISTART = ISTART + NUMNEW(NROW) ENDDO C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/csum.F0000755000175000017500000001251212127406245021427 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C COMPLEX FUNCTION CSUM (KN, UVEC, KNCX) C C----> C**** *CSUM* - ROUTINE WHICH IMPLEMENTS THE BLAS ROUTINE OF THE C SAME NAME C C PURPOSE. C -------- C C SIMPLE REPLACEMENT FOR IBM C C** INTERFACE. C ---------- C C * CV = CSUM (KN, UVEC, KNCX) * C C C METHOD. C ------- C C CREATE COMPLEX SUM OF COMPLEX VECTOR C C EXTERNALS. C ---------- C C NONE C C REFERENCE. C ---------- C C NONE C C AUTHOR. C ------- C C K. FIELDING * ECMWF * FEB 1992. C C MODIFICATIONS. C -------------- C C NONE C C COMMON BLOCKS USED C ------------------- C C NONE C C----< INTEGER KN, KNCX COMPLEX UVEC (*) C INTEGER IP COMPLEX CHOLD C C 1. MAIN LOOP OF CODE C ---------------------------------------------- C 100 CONTINUE #ifndef CRAY CHOLD = (0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif C DO 110 IP = 0, KN - 1 CHOLD = CHOLD + UVEC (1 + IP * KNCX) 110 CONTINUE C CSUM = CHOLD C C END OF ROUTINE C RETURN END emoslib-000392+dfsg.1/interpolation/intfbp.F0000755000175000017500000003311112127406245021740 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTFBP( INGRIB,INLEN,OUTGRIB,OUTLEN) C C----> C**** INTFBP C C Purpose C ------- C C Interpolate input field... C C C Interface C --------- C C IRET = INTFBP( INGRIB,INLEN,OUTGRIB,OUTLEN) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C C C Output C ------ C C OUTGRIB - Output field (packed). C OUTLEN - Output field length (words). C C C Method C ------ C C Call interpolation routines; then repack if GRIB output. C C Currently, subareas are not supported for reduced gaussian fields. C (Works OK; but need to setup values in GRIB product for number of C points in each latitude row) C C C Externals C --------- C C IARCNTL - Control interp. quasi reg.Gauss -> Gaussian or lat/long C IAGCNTL - Control interpolation reg.Gaussian or lat/long fields. C JSH2SH - Changes resolution of a field of spectral coefficients. C JALLGP - Converts spectral input fields to lat/long grid fields. C JALLWN - Converts spectral input wind fields to lat/long grids. C JAGGGP - Converts spectral input fields to a gaussian grid field. C IBASINI - Ensure basic interpolation setup is done. C GRIBEX - Decode/encode GRIB product. C GRSVCK - Turn off GRIB checking C RESET_C - Reset interpolation handling options using GRIB product. C IGSETUP - Setup GRIB sections for the output product. C JMEMHAN - Handles memory allocation. C IGLSIZE - Evaluate array sizes for reg. lat/long and area. C IGSIZE - Evaluate array sizes for a regular Gaussian. C IRSIZE - Evaluate array sizes for a quasi reg Gaussian. C FIXAREA - Fixup area definition to correspond to grid definitions C ISCRSZ - Calculate number of values in generated field. C INTLOG - Log error message. C C C Author C ------ C C J.D.Chambers ECMWF Aug 1994 C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C IMPLICIT NONE C C Function arguments INTEGER INGRIB(*),OUTGRIB(*),INLEN,OUTLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters INTEGER JPROUTINE PARAMETER (JPROUTINE = 26500 ) C C Local variables C CHARACTER*1 HFUNC INTEGER IWORD, IERR, ILENF, ISIZE, IUV REAL PNORTH, PSOUTH, PWEST, PEAST, PLATINC, PLONINC LOGICAL OIWEGLOBE, OINPOLE, OISPOLE LOGICAL OOWEGLOBE, OONPOLE, OOSPOLE INTEGER KILN, KITOTAL, KOLN, KOTOTAL, KPR, KERR #ifdef POINTER_64 INTEGER*8 IZNFLDO #endif REAL ZNFLDO POINTER ( IZNFLDO, ZNFLDO ) DIMENSION ZNFLDO( 1 ) C C Externals C INTEGER IGLSIZE, IGSIZE, IRSIZE, IARCNTL, IAGCNTL INTEGER IGSETUP, FIXAREA, ISCRSZ C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE INTFBP = 0 IERR = 0 KPR = 0 C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_WARN,'INTFBP: ZNFELDI allocation fail',JPQUIET) INTFBP = IERR GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C ------------------------------------------------------------------ C* Section 3. Interpolation spherical harmonics to spherical C harmonics C ------------------------------------------------------------------ C 300 CONTINUE C IF ( ((NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT)) .AND. X ((NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT)) ) THEN C C Get scratch space for interpolation ISIZE = ISCRSZ() IF ( ISIZE .LE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBP: Get scratch space failed',ISIZE) INTFBP = JPROUTINE + 2 GOTO 900 ENDIF CALL JMEMHAN( 3, IZNFLDO, ISIZE, 1, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBP: Get scratch space fail',JPQUIET) INTFBP = JPROUTINE + 2 GOTO 900 ENDIF C CALL SH2SH( ZNFELDI, NIRESO, ZNFLDO, NORESO ) C GOTO 700 C C If not spectral -> spectral transformation, make sure the input C and output area definitions have been setup. C ELSE C C Fixup area definition to correspond to grid definitions IERR = FIXAREA() IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBP: Fixup area definition failed.',JPQUIET) INTFBP = JPROUTINE + 9 GOTO 900 ENDIF C C Setup geographical limits PNORTH = FLOAT( NOAREA(1) ) / PPMULT PWEST = FLOAT( NOAREA(2) ) / PPMULT PSOUTH = FLOAT( NOAREA(3) ) / PPMULT PEAST = FLOAT( NOAREA(4) ) / PPMULT C ENDIF C C ------------------------------------------------------------------ C Section 4. Interpolation spherical harmonics to grid point. C ------------------------------------------------------------------ C 400 CONTINUE C IF ( (NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT) ) THEN C C Get scratch space for interpolation C ISIZE = ISCRSZ() IF ( ISIZE .LE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBP: Get scratch space failed',ISIZE) INTFBP = JPROUTINE + 2 GOTO 900 ENDIF C CALL JMEMHAN( 3, IZNFLDO, ISIZE, 1, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBP: Get scratch space fail',JPQUIET) INTFBP = JPROUTINE + 2 GOTO 900 ENDIF C C Setup wind flag C IF( .NOT.LWINDSET ) THEN LWIND = ( ( NOTABLE.EQ.128 ).AND. X ((NOPARAM.EQ.131).OR.(NOPARAM.EQ.132)) ) ENDIF CALL INTLOG(JP_DEBUG,'INTFBP: Wind flag = ', LWIND) IF ( LWIND ) THEN IUV = 1 ELSE IUV = 0 ENDIF C C ------------------------------------------------------------------ C* Section 4.1 Interpolation spherical harmonics to grid point. C ------------------------------------------------------------------ C 410 CONTINUE C IF ( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C -> latitude/longitude grid C PLONINC = FLOAT( NOGRID(1) ) / PPMULT PLATINC = FLOAT( NOGRID(2) ) / PPMULT IF ( LWIND ) THEN CALL JALLWN( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, ZNFLDO, IERR) ELSE CALL JALLGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, ZNFLDO, IERR) ENDIF IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBP: Interpolation of gaussian field failed.',JPQUIET) INTFBP = JPROUTINE + 3 GOTO 900 ENDIF C GOTO 700 C ENDIF C C IF ( NOREPR .EQ. JPGAUSSIAN) THEN C C -> regular gaussian grid C CALL JAGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, 'U', NOLPTS, ZNFLDO, IUV, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBP: Interpolation of gaussian field failed.',JPQUIET) INTFBP = JPROUTINE + 4 GOTO 900 ENDIF C GOTO 700 C ENDIF C C IF ( NOREPR .EQ. JPQUASI) THEN C C -> reduced gaussian grid CALL JAGGGP( ZNFELDI, NIRESO, PNORTH, PSOUTH, PWEST, PEAST, X NOGAUSS, 'U', NOLPTS, ZNFLDO, IUV, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBP: Interpolation of gaussian field failed.',JPQUIET) INTFBP = JPROUTINE + 4 GOTO 900 ENDIF C GOTO 700 C ENDIF C C Dropthrough => unrecognized output field type IERR = JPROUTINE + 1 CALL INTLOG(JP_ERROR, X 'INTFBP: Unrecognized output field type.',NOREPR) INTFBP = IERR GOTO 900 C ENDIF C C ------------------------------------------------------------------ C Section 5. Interpolate Gaussian grid to grid point. C ------------------------------------------------------------------ C 500 CONTINUE C C Setup flags for input and output fields KERR = 1 IF (NIREPR .EQ. JPQUASI) THEN IERR = IRSIZE( NIGAUSS, NIAREA, MILLEN, NIWE, NINS, KILN, X KITOTAL, RIGAUSS, OIWEGLOBE, OINPOLE, OISPOLE, X KPR, KERR) ELSE IF ( NIREPR .EQ. JPGAUSSIAN ) THEN IERR = IGSIZE( NIGAUSS, NIAREA, NIWE, NINS, KILN, RIGAUSS, X OIWEGLOBE, OINPOLE, OISPOLE, KPR, KERR) ELSE IERR = IGLSIZE( NIGRID, NIAREA, NIWE, NINS, KILN, OIWEGLOBE, X OINPOLE, OISPOLE, KPR, KERR) ENDIF C NONS = 0 NOWE = 0 IF (NOREPR .EQ. JPQUASI) THEN IERR = IRSIZE( NOGAUSS, NOAREA, NOLPTS, NOWE, NONS, KOLN, X KOTOTAL, ROGAUSS, OOWEGLOBE, OONPOLE, OOSPOLE, X KPR, KERR) ELSE IF ( NOREPR .EQ. JPGAUSSIAN ) THEN IERR = IGSIZE( NOGAUSS, NOAREA, NOWE, NONS, KOLN, ROGAUSS, X OOWEGLOBE, OONPOLE, OOSPOLE, KPR, KERR) ELSE IERR = IGLSIZE( NOGRID, NOAREA, NOWE, NONS, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR, KERR) ENDIF C IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBP: Setup of gaussian field flags failed.',IERR) INTFBP = JPROUTINE + 6 GOTO 900 ENDIF C C C ------------------------------------------------------------------ C Section 5.1 Interpolate reduced Gaussian grid to grid point. C ------------------------------------------------------------------ C 510 CONTINUE C C ISIZE = ISCRSZ() IF ( ISIZE .LE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBP: Get scratch space failed.',ISIZE) INTFBP = JPROUTINE + 2 GOTO 900 ENDIF CALL JMEMHAN( 3, IZNFLDO, ISIZE, 1, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBP: Get scratch space fail.',JPQUIET) INTFBP = JPROUTINE + 2 GOTO 900 ENDIF C IF (NIREPR .EQ. JPQUASI) THEN IERR = IARCNTL( ZNFELDI, JPEXPAND, ZNFLDO, ISIZE, KILN, X OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR ,KERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBP: Interpolation of gaussian field failed.',IERR) INTFBP = JPROUTINE + 7 GOTO 900 ENDIF C GOTO 700 C ENDIF C C ------------------------------------------------------------------ C* Section 6. Interpolate regular grid point to grid point. C ------------------------------------------------------------------ C 600 CONTINUE C IERR = IAGCNTL( ZNFELDI, JPEXPAND, ZNFLDO, ISIZE, KILN, X OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, X OONPOLE, OOSPOLE, KPR, KERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTFBP: Interpolation of gaussian field failed.',IERR) INTFBP = JPROUTINE + 8 GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 7. Pack field into GRIB if necessary. C ------------------------------------------------------------------ C 700 CONTINUE C C Setup GRIB sections for the output product IERR = IGSETUP( ISEC1, ISEC2, ISEC4 ) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBP: Setup GRIB sections failed.',IERR) INTFBP = IERR GOTO 900 ENDIF C C Code data into GRIB C ILENF = ISIZE IERR = 1 C C If grid-point output, setup for 2nd order packing if requested. C IF( (NOREPR.NE.JPSPHERE) .AND. (NOREPR.NE.JPSPHROT) ) THEN HFUNC = 'C' IF( NOHFUNC.EQ.'K' ) THEN HFUNC = 'K' ISEC4(4) = 64 ISEC4(6) = 16 ISEC4(9) = 32 ISEC4(10) = 16 ISEC4(12) = 8 ISEC4(13) = 4 ISEC4(14) = 0 ISEC4(15) = -1 ELSE IF( NOHFUNC.EQ.'S' ) THEN ISEC4(4) = 0 ISEC4(6) = 0 ENDIF ELSE HFUNC = 'C' IF( NOHFUNC.EQ.'C' ) THEN ISEC2(6) = 2 ISEC4(4) = 64 ELSE IF( NOHFUNC.EQ.'S' ) THEN ISEC2(6) = 1 ISEC4(4) = 0 ENDIF ENDIF C IF( LIMISSV ) THEN ISEC1(5) = 192 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV ENDIF CALL GRIBEX( ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X ZNFLDO,ILENF,OUTGRIB,OUTLEN,IWORD,HFUNC,IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTFBP: GRIBEX encoding failed.',IERR) INTFBP = JPROUTINE + 5 GOTO 900 ENDIF OUTLEN = IWORD C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Clear change flags for next product processing LCHANGE = .FALSE. LSMCHNG = .FALSE. C RETURN END emoslib-000392+dfsg.1/interpolation/hntfauh.F0000755000175000017500000003651412127406245022125 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HNTFAUH(FLDIN,INLEN) C C----> C**** HNTFAUH C C Purpose C ------- C C Prepare to interpolate input field... C C C Interface C --------- C C IRET = HNTFAUH( FLDIN,INLEN) C C Input C ----- C C FLDIN - Input field (unpacked). C INLEN - Input field length (words). C C C Output C ------ C C Field unpacked values are in ZNFELDI, rotated if necessary. C C Returns: 0, if OK. Otherwise, an error occured in interpolation. C C C Method C ------ C C If the input is a spectral field and the output is a rotated C grid-point field, create a global reduced gaussian field and C then create the rotated grid-point field from it. C C C Externals C --------- C C INTLOG - Log error message. C INTLOGR - Log error message. C JDEBUG - Checks environment to switch on/off debug C FIXAREA - Fixup input/output field area definitions. C HSP2GG - Find suitable gaussian grid for spectral truncation C HIRLAM - Creates rotated lat/long field from reduced gaussian C HIRLSM - Creates rotated lat/long field from reduced gaussian C using a land-sea mask C HRG2GG - Creates rotated gaussian field from reduced gaussian C LSMFLD - Determines whether a field is to be interpolated using C a land-sea mask C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C----< C IMPLICIT NONE C C Function arguments C INTEGER INLEN REAL FLDIN(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" #include "jparams.h" #include "current.h" #include "intlog.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 40150 ) INTEGER JPLEN, JPNM PARAMETER ( JPNM = JPSTRUNC ) PARAMETER ( JPLEN = (JPNM+1)*(JPNM+2) ) C C Local variables C LOGICAL LUSELSM, LLATOUT, LSP2RGG INTEGER NUMPTS, NGAUSS, NLON, NLAT, NUVFLAG, NTRUNC, NCOUNT INTEGER IWORD, IERR, LOOP, IRET, ISIZE, KPTS(JPGTRUNC*2) INTEGER ITEMP,K,I,J,IM,JM INTEGER ISHIZE REAL PLATS(JPGTRUNC*2),AREA(4),GRID(2),POLE(2),WEST,EAST REAL TEMP(1440,1440) CHARACTER*1 HOLDTYP C REAL SWORK(1), RGGRID(1), ZNFLDO(1) #ifdef POINTER_64 INTEGER*8 ISWORK, IRGGRID, IZNFLDO #endif POINTER ( ISWORK, SWORK) POINTER ( IRGGRID, RGGRID) POINTER ( IZNFLDO, ZNFLDO ) C SAVE ISWORK, IRGGRID, IZNFLDO C C Externals C INTEGER HSP2GG, HIRLAM, HIRLSM, HRG2GG, FIXAREA, PDDEFS INTEGER HSP2GG2,HSP2GG3 LOGICAL LSMFLD C REAL POLELAT, POLELON CHARACTER*1 TYPE INTEGER NBYTES, ITRUNC DATA ISIZE/0/ C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C HNTFAUH = 0 IRET = 0 C NCOUNT = INLEN C C -----------------------------------------------------------------| C* Section 2. Store input data. C -----------------------------------------------------------------| C 200 CONTINUE C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_WARN,'HNTFAUH: ZNFELDI allocate fail',JPQUIET) HNTFAUH = IRET GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C Move unpacked values in from user array C DO LOOP = 1, INLEN ZNFELDI( LOOP ) = FLDIN( LOOP ) ENDDO IF (NISCNM.EQ.64) THEN CALL INTLOG(JP_DEBUG, X 'HNTFAUH: Scanning flag west-east/south-north',NISCNM) ITEMP = NIAREA(1) NIAREA(1) = NIAREA(3) NIAREA(3) = ITEMP IM = NIWE JM = NINS K=0 DO J=JM,1,-1 DO I=1,IM K=K+1 TEMP(I,J) = ZNFELDI(K) END DO END DO K=0 DO J=1,JM DO I=1,IM K=K+1 ZNFELDI(K) = TEMP(I,J) END DO END DO ENDIF C LLATOUT = (NOREPR.EQ.JPREGROT).OR.(NOREPR.EQ.JPREGULAR) C -----------------------------------------------------------------| C* Section 3. Handle rotation, if necessary. C -----------------------------------------------------------------| C 300 CONTINUE C C Is rotation required? C IF( LNOROTA ) THEN C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'HNTFAUH: Rotate field.',JPQUIET) CALL INTLOG(JP_DEBUG,'HNTFAUH: South pole lat ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'HNTFAUH: South pole long ',NOROTA(2)) ENDIF C C Fill area limits (handles case when default 0/0/0/0 given) C IRET = FIXAREA() IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: area fixup failed',JPQUIET) HNTFAUH = JPROUTINE + 3 GOTO 900 ENDIF C AREA(1) = REAL(NOAREA(1))/PPMULT AREA(2) = REAL(NOAREA(2))/PPMULT AREA(3) = REAL(NOAREA(3))/PPMULT AREA(4) = REAL(NOAREA(4))/PPMULT C GRID(1) = REAL(NOGRID(1))/PPMULT GRID(2) = REAL(NOGRID(2))/PPMULT C POLE(1) = REAL(NOROTA(1))/PPMULT POLE(2) = REAL(NOROTA(2))/PPMULT C C -----------------------------------------------------------------| C* Section 4. Spectral to rotated grid-point C -----------------------------------------------------------------| C 400 CONTINUE C LSP2RGG = .FALSE. IF( (NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT) ) THEN C C Convert spectral to suitable global reduced gaussian grid C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'HNTFAUH: Spectral to suitable reduced gaussian',JPQUIET) C NTRUNC = NIRESO c--------------------------------------------------------------------- IF(LNORESO) THEN NTRUNC = NORESO IRET = HSP2GG(NTRUNC,NGAUSS,KPTS,PLATS,ISIZE) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: problem getting data for reduced grid',NTRUNC) HNTFAUH = JPROUTINE + 4 GOTO 900 ENDIF IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'HNTFAUH: Spectral truncation:', NTRUNC) CALL INTLOG(JP_DEBUG,'HNTFAUH: Gaussian number : ',NGAUSS) ENDIF GOTO 401 ENDIF IF(LARESOL ) THEN IF(LLATOUT) THEN IRET = HSP2GG2(NTRUNC,GRID(1),GRID(2),NGAUSS,KPTS,PLATS,ISIZE) ELSE IRET = HSP2GG3(NTRUNC,NGAUSS,KPTS,PLATS,ISIZE) ENDIF IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: problem getting data for reduced grid',NTRUNC) HNTFAUH = JPROUTINE + 4 GOTO 900 ENDIF ENDIF c--------------------------------------------------------------------- cs IRET = HSP2GG(NTRUNC,NGAUSS,KPTS,PLATS,ISIZE) cs IF( IRET.NE.0 ) THEN cs IF( LDEBUG ) CALL INTLOG(JP_ERROR, cs X 'HNTFAUH: problem getting data for reduced gridl',NTRUNC) cs HNTFAUH = JPROUTINE + 4 cs GOTO 900 cs ENDIF cs NCOUNT = ISIZE c--------------------------------------------------------------------- C Truncate if a smaller resolution has been requested C 401 CONTINUE IF( NTRUNC.LT.NIRESO ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'HNTFAUH: Truncation changed from: ',NIRESO) CALL INTLOG(JP_DEBUG,'HNTFAUH: to: ',NTRUNC) CALL INTLOG(JP_DEBUG,'HNTFAUH: Gaussian number is : ',NGAUSS) ENDIF C ISHIZE = (NTRUNC+1)*(NTRUNC+4) CALL JMEMHAN( 3, IZNFLDO, ISHIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_FATAL, X 'HNTFAUH: Get scratch space failed',JPQUIET) HNTFAUH = JPROUTINE + 4 GOTO 900 ENDIF C C Generate spherical harmonics with output truncation C CALL SH2SH( ZNFELDI, NIRESO, ZNFLDO, NTRUNC ) C C Move new spherical harmonics to 'input' array C DO LOOP = 1, ISHIZE ZNFELDI(LOOP) = ZNFLDO(LOOP) ENDDO ELSE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'HNTFAUH: Spectral to suitable reduced gaussian',JPQUIET) C NTRUNC = NIRESO IRET = HSP2GG(NTRUNC,NGAUSS,KPTS,PLATS,ISIZE) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: problem getting data for reduced grid',NTRUNC) HNTFAUH = JPROUTINE + 4 GOTO 900 ENDIF IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'HNTFAUH: Spectral truncation:', NTRUNC) CALL INTLOG(JP_DEBUG,'HNTFAUH: Gaussian number : ',NGAUSS) ENDIF ENDIF c--------------------------------------------------------------------- C C Dynamically allocate memory for global reduced gaussian grid C CALL JMEMHAN( 18, IRGGRID, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: memory alloc for reduced grid fail',JPQUIET) HNTFAUH = JPROUTINE + 4 GOTO 900 ENDIF C C Set flag to show field is not a wind component C NUVFLAG = 0 C C Create the reduced gaussian grid C HOLDTYP = HOGAUST WEST = 0.0 EAST = 360.0 - (360.0/(NGAUSS*4)) CALL JAGGGP(ZNFELDI,NTRUNC,PLATS(1),PLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID,NUVFLAG,IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: spectral to reduced gaussian failed',JPQUIET) HNTFAUH = JPROUTINE + 4 GOTO 900 ENDIF HOGAUST = HOLDTYP NCOUNT = 0 DO LOOP = 1, (NGAUSS*2) NCOUNT= NCOUNT + KPTS(LOOP) ENDDO C LSP2RGG = .TRUE. C C -----------------------------------------------------------------| C* Section 5. Complete the spectral to rotated lat/long C -----------------------------------------------------------------| C 500 CONTINUE C IF( NOREPR.EQ.JPREGROT ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'HNTFAUH: Convert gaussian to rotated lat/long',JPQUIET) C GOTO 700 C ENDIF C C -----------------------------------------------------------------| C* Section 6. Complete the spectral to rotated gaussian C -----------------------------------------------------------------| C 600 CONTINUE C IF( NOREPR.EQ.JPFGGROT ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'HNTFAUH: Convert gaussian to rotated gaussian',JPQUIET) C GOTO 800 ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 7. Gaussian to rotated lat/long C -----------------------------------------------------------------| C 700 CONTINUE C IF( (LSP2RGG.AND.(NOREPR.EQ.JPREGROT)) .OR. X ( ((NIREPR.EQ.JPQUASI).OR.(NIREPR.EQ.JPGAUSSIAN)) .AND. X (NOREPR.EQ.JPREGROT) ) ) THEN IF( LDEBUG ) X CALL INTLOG(JP_DEBUG,'HNTFAUH: Gauss to lat/lon',JPQUIET) C C Dynamically allocate memory for rotated lat/long grid C NLON = 1 + NINT(FLOAT((NOAREA(JPEAST) - NOAREA(JPWEST))) / X NOGRID(JPWESTEP)) NLAT = 1 + NINT(FLOAT((NOAREA(JPNORTH) - NOAREA(JPSOUTH))) / X NOGRID(JPNSSTEP)) C NUMPTS = NLON * NLAT ISIZE = NUMPTS CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: memory alloc for lat/long grid fail',JPQUIET) HNTFAUH = JPROUTINE + 7 GOTO 900 ENDIF C LUSELSM = LSMFLD() C C If original field was spectral, ... C IF( LSP2RGG ) THEN IF( LUSELSM ) THEN IRET = HIRLSM(LO12PT,RGGRID,NCOUNT,NGAUSS,AREA,POLE,GRID, X SWORK,ISIZE,NLON,NLAT) ELSE IRET = HIRLAM(LO12PT,RGGRID,NCOUNT,NGAUSS,AREA,POLE,GRID, X SWORK,ISIZE,NLON,NLAT) ENDIF C ELSE C C If original field was gaussian, ... C IRET = PDDEFS() NGAUSS = NIGAUSS cs IF( LUSELSM ) THEN IF( LSM ) THEN IRET = HIRLSM(LO12PT,ZNFELDI,NCOUNT,NGAUSS,AREA,POLE,GRID, X SWORK,ISIZE,NLON,NLAT) ELSE IRET = HIRLAM(LO12PT,ZNFELDI,NCOUNT,NGAUSS,AREA,POLE,GRID, X SWORK,ISIZE,NLON,NLAT) ENDIF C ENDIF C cs setting size of output field OUTLROT = NLON * NLAT IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: HIRLAM rotation failed',JPQUIET) HNTFAUH = JPROUTINE + 7 GOTO 900 ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 8. Gaussian to rotated gaussian C -----------------------------------------------------------------| C 800 CONTINUE C IF( (LSP2RGG.AND.(NOREPR.EQ.JPFGGROT)) .OR. X (((NIREPR.EQ.JPQUASI).OR.(NIREPR.EQ.JPGAUSSIAN)) .AND. X (NOREPR.EQ.JPFGGROT)) ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'HNTFAUH: Gaussian to reduced gaussian',JPQUIET) C C Dynamically allocate memory for rotated lat/long grid C ISIZE = NOGAUSS * NOGAUSS * 8 CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: memory alloc for gaussian grid fail',JPQUIET) HNTFAUH = JPROUTINE + 8 GOTO 900 ENDIF C C If original field was spectral, ... C IF( LSP2RGG ) THEN IRET = HRG2GG(LO12PT,RGGRID,NGAUSS,AREA,POLE, X NOGAUSS,HOGAUST,SWORK,ISIZE,NUMPTS) C ELSE C C If original field was gaussian, ... C NGAUSS = NIGAUSS IRET = HRG2GG(LO12PT,ZNFELDI,NGAUSS,AREA,POLE, X NOGAUSS,HOGAUST,SWORK,ISIZE,NUMPTS) ENDIF cs setting size of output field OUTLROT = NUMPTS IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAUH: HRG2GG rotation failed',JPQUIET) HNTFAUH = JPROUTINE + 8 GOTO 900 ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C C Move rotated field back into field original array. C DO LOOP = 1, NUMPTS ZNFELDI(LOOP) = SWORK(LOOP) ENDDO C ENDIF C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jallwn.F0000755000175000017500000000734312127406245021755 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JALLWN( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, POUTF, KRET) C C----> C**** JALLWN C C PURPOSE C _______ C C This routine converts spectral input fields to standard C lat/long grid fields. C C INTERFACE C _________ C C CALL JALLWN( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, C X PLATINC, PLONINC, POUTF, KRET) C C Input parameters C ________________ C C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C PNORTH - Northernmost latitude for output field (degrees) C PSOUTH - Southernmost latitude for output field (degrees) C PWEST - Westernmost longitude for output field (degrees) C PEAST - Easternmost longitude for output field (degrees) C PLATINC - Grid interval between latitudes in degrees C PLONINC - Grid interval between longitudes in degrees C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C Output parameters C ________________ C C POUTF - Output grid point field C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C Generates the latitudes in bands, 32 at a time plus some C remainder. C C Externals C _________ C C JALLGP - Cnverts spectral fields to lat/long grid fields. C JSLLGP - Converts stretched spectral fields to lat/long grids C C C Reference C _________ C C None. C C C Comments C ________ C C Calls JALLGP or JSLLGP to do all the work! C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C J.D.Chambers *ECMWF* Oct 1996 C Replaced all code by a call to JALLGP. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "nifld.common" C C Subroutine arguments C COMPLEX PSHUP DIMENSION PSHUP(*) INTEGER KTRUNC REAL PNORTH, PSOUTH, PWEST, PEAST, PLATINC, PLONINC REAL POUTF DIMENSION POUTF(*) INTEGER KRET C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30000 ) C C Local variables C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE CALL JDEBUG( ) C IF( NDBG.GT.0 ) X CALL INTLOG(JP_DEBUG,'JALLWN: Calling JALLGP', JPQUIET) C IF( RISTRET.NE.0 ) THEN CALL JSLLGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, POUTF, KRET) ELSE CALL JALLGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, X PLATINC, PLONINC, POUTF, KRET) ENDIF C IF( NDBG.GT.0 ) X CALL INTLOG(JP_DEBUG,'JALLWN: Returned from JALLGP', JPQUIET) C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/valpina.c0000755000175000017500000001561412127406245022155 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include "fortint.h" #define CHARSIZE (long) (sizeof(char)*8) #define LEASTSIGBIT 0x01 long bitmapValue(unsigned char * , long ); long bitmapValueTotal(unsigned char * , long, long ); fortint valpina(unsigned char * , fortint *, fortint * ); fortint valpina_(unsigned char * , fortint *, fortint * ); long separationBetweenValues(unsigned char * , long , long ); fortint numvals(unsigned char *, fortint *, fortint *); fortint numvals_(unsigned char *, fortint *, fortint *); fortint onebits(unsigned char *, fortint *); fortint onebits_(unsigned char *, fortint *); fortint numvals_(unsigned char * grib, fortint* istart, fortint* ifinish) { /* // Returns a count of the number of 1s in a GRIB between positions // 'start' and 'finish'. // If start = 0, the static values in the function are initialised. */ long start = (long) (*istart); long finish = (long) (*ifinish); static long oldTotal; static long oldStart, oldFinish; unsigned char * bitmap = grib; static unsigned char * oldBitmap = 0; if( !start ) { oldBitmap = 0; oldTotal = 0; oldStart = oldFinish = 1; return (fortint) oldTotal; } if( oldBitmap != bitmap ) { oldBitmap = bitmap; oldStart = oldFinish = 1; oldTotal = 0; } if( start == finish ) { oldStart = oldFinish = finish; oldTotal = 0; return (fortint) oldTotal; } if( oldStart != start ) { oldTotal = bitmapValueTotal(bitmap, start+1, finish); } else { if( oldFinish < finish ) oldTotal += bitmapValueTotal(bitmap, oldFinish+1, finish); else if( oldFinish > finish ) oldTotal -= bitmapValueTotal(bitmap, finish+1, oldFinish); } oldStart = start; oldFinish = finish; return (fortint) oldTotal; } fortint numvals(unsigned char * grib, fortint* istart, fortint* ifinish) { return numvals_(grib,istart,ifinish); } fortint onebits_(unsigned char * grib, fortint* isection_3_offset) { /* // Returns a count of the number of 1s in a GRIB section 3 bitmap. */ long section_3_offset = (long) (*isection_3_offset); unsigned char * bitmap = grib + section_3_offset; long length, unused; long number_of_bits, total; length = (*bitmap)<<16 | (*(bitmap+1)<<8) | *(bitmap+2); unused = *(bitmap+3); number_of_bits = ((length-6)*CHARSIZE) - unused; total = bitmapValueTotal((bitmap+6),1,number_of_bits); return ( (fortint) total ); } fortint onebits(unsigned char * grib, fortint* isection_3_offset) { return onebits_(grib,isection_3_offset); } long bitmapValueTotal(unsigned char * bitmap, long start, long finish) { /* // Returns the count of 1 bits between start and finish in a bitmap. */ long total = 0; unsigned char * first, * last, * next; /* Lookup table to count number of 1s in a char */ static const char lookup[256] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4, 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, 4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8}; /* Masks to remove bits from left- and right-hand end of a char */ static const unsigned char bottomMask[8] = {0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01}; static const unsigned char topMask[8] = {0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80}; int bitsToAdd, bitsToSubtract; first = bitmap + (start-1)/CHARSIZE; last = bitmap + (finish-1)/CHARSIZE; bitsToAdd = (start-1)%CHARSIZE; total = lookup[(*first & bottomMask[bitsToAdd])]; for( next = (first+1); next < last ; next++ ) total += lookup[*next]; if( last > first ) total += lookup[*last]; bitsToSubtract = CHARSIZE - 1 - (finish-1)%CHARSIZE; total -= lookup[(*last & (~topMask[bitsToSubtract]))]; return total; } long bitmapValue(unsigned char * bitmap, long index) { /* // Returns the value (0,1) of the bit at position 'index' in a bitmap. */ unsigned char * next; int bitShift; next = bitmap + (index-1)/CHARSIZE; bitShift = CHARSIZE - 1 - ((index-1)%CHARSIZE); return (((*next) >> bitShift) & LEASTSIGBIT); } fortint valpina_(unsigned char * grib, fortint* ioffset, fortint* iindex) { /* // A GRIB product starts at 'grib' and contains missing/non-missing values // as described by a bitmap which is at position 'offset' in the GRIB. // // 'index' is the position of a point (missing/non-missing) in the field. // If index = 0, the static values in the function are initialised. // // Examines the bitmap and returns: // // - the actual index of a non-missing value // // - 0 for a missing value */ long offset = (long) (*ioffset); long index = (long) (*iindex); unsigned char * bitmap = (grib + offset); static unsigned char * oldBitmap; static long count = 0; static long oldIndex = 0; long value; if( !(index) ) { oldBitmap = 0; count = 0; oldIndex = 0; return (fortint) 0; } if( oldBitmap != bitmap ) { oldBitmap = bitmap; count = 0; oldIndex = 0; } value = bitmapValue(bitmap, index); if( value ) { if( (index) != oldIndex ) { count += separationBetweenValues(bitmap, oldIndex, index); oldIndex = index; } return (fortint) count; } else return (fortint) 0; } fortint valpina(unsigned char * grib, fortint* ioffset, fortint* iindex) { return valpina_(grib,ioffset,iindex); } long separationBetweenValues(unsigned char * bitmap,long oldIndex,long index) { /* // Counts the number of actual (non-missing) values between two locations // in the bitmap given by 'index' and 'oldIndex'. // // The returned count can be positive or negative depending on whether // index is after or before oldIndex. */ long start, finish, sign = 1, total = 0; if( index > oldIndex ) { start = oldIndex; finish = index; } else { start = index; finish = oldIndex; sign = -1; } total = bitmapValueTotal(bitmap, (start+1), finish); return (sign*total); } emoslib-000392+dfsg.1/interpolation/fortint.h0000755000175000017500000000115212127406245022205 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifdef INTEGER_IS_INT #define fortint int #define JPointer int * #else #if defined hpR64 || defined hpiaR64 #define fortint long long #define JPointer long long * #else #define fortint long #define JPointer long * #endif #endif emoslib-000392+dfsg.1/interpolation/hsp2gg3.F0000755000175000017500000001050212127406245021732 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HSP2GG3(KTRUNC,KGAUSS,KPTS,PLATS,KSIZE) C C----> C**** HSP2GG3 C C Purpose C ------- C C This routine finds a suitable gaussian grid for a given C spectral truncation. C C C Interface C --------- C C IRET = HSP2GG3(KTRUNC,KGAUSS,KPTS,KSIZE) C C C Input parameters C ---------------- C C KTRUNC - The spectral truncation C C C Output parameters C ----------------- C C KGAUSS - The gaussian number C KPTS - Array giving number of points along each line of latitude C in the reduced gaussian grid (both hemispheres) C PLATS - Array giving gaussian latitudes (both hemispheres) C KSIZE - The number of points in the reduced gaussian grid C C Returns 0 if all OK, otherwise there is an error. C C C Common block usage C ------------------ C C None C C C Method C ------ C C None C C C Externals C --------- C C JGETGG - Reads the definition of a gaussian grid C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C C Modifications C ------------- C C S.Curic ECMWF March 2005 C Added checking for a automatic trancation T255, T399, T799, T2047 C and corresponding gaussian grid. C C S.Curic ECMWF April 2008 C Added checking for a automatic trancation T1279 C and corresponding gaussian grid. C C C S.Curic ECMWF Semptember 2009 C Match T255 and T213 against N128 instead of N160 C upon Alan Geer request C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" C C Function arguments C INTEGER KTRUNC, KGAUSS, KPTS(*), KSIZE REAL PLATS(*) #include "jparams.h" C C Local variables C INTEGER LOOP, IRET LOGICAL LDEBUG C C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HSP2GG3 = 0 CALL JDEBUG() LDEBUG = ( NDBG.NE.0 ) C IF(KGAUSS.EQ.1024) THEN ! Mariano KTRUNC = 2047 ELSEIF(KTRUNC.EQ.640) THEN ! Jan Haseler KTRUNC = 1279 ELSEIF(KGAUSS.EQ.400) THEN ! Oper 2005 KTRUNC = 799 ELSEIF(KGAUSS.EQ.320) THEN KTRUNC = 639 ELSEIF(KGAUSS.EQ.256) THEN ! Oper 2004 KTRUNC = 511 ELSEIF(KGAUSS.EQ.200) THEN ! Enfo 2005 KTRUNC = 399 ELSEIF(KGAUSS.EQ.160) THEN KTRUNC = 319 ELSEIF(KGAUSS.EQ.128) THEN ! Enfo 2004 KTRUNC = 255 ELSEIF(KGAUSS.EQ.128) THEN KTRUNC = 213 ELSEIF(KGAUSS.EQ.80) THEN KTRUNC = 159 ELSEIF(KGAUSS.EQ.48) THEN KTRUNC = 95 ELSEIF(KGAUSS.EQ.48) THEN KTRUNC = 63 ELSE CALL INTLOG(JP_ERROR,'HSP2GG3: Unmatched truncation',KTRUNC) HSP2GG3 = 1 GOTO 900 ENDIF C C Get the reduced gaussian grid information and count the C number of points. C CALL JGETGG(KGAUSS,'R',PLATS,KPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HSP2GG3: JGETGG failed to get gaussian data',JPQUIET) HSP2GG3 = 2 GOTO 900 ENDIF C KSIZE = 0 DO LOOP = 1, KGAUSS*2 KSIZE = KSIZE + KPTS(LOOP) ENDDO IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'HSP2GG3: Output Gaussian number :',KGAUSS) CALL INTLOG(JP_DEBUG, X 'HSP2GG3: Corresponding Spectral Truncation:',KTRUNC) ENDIF C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/sprotat.F0000755000175000017500000001474512127406245022166 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION SPROTAT(INGRIB,INLEN,SLON,SLAT,OUTGRIB,OUTLEN) C C----> C**** SPROTAT C C Purpose C ------- C C Rotates a spherical harmonic field. C C C Interface C --------- C C IRET = SPROTAT(INGRIB,INLEN,SLON,SLAT,OUTGRIB,OUTLEN) C C Input C ----- C C INGRIB - Input GRIB field of spherical harmonics. C INLEN - Length in bytes of the input GRIB. C SLON - Longitude rotation required (degrees) C SLAT - Latitude rotation required (degrees) C C C Output C ------ C C OUTGRIB - Output GRIB field of rotated spherical harmonics. C OUTLEN - Length in bytes of the output GRIB. C C Function returns 0 if all OK, otherwise the rotation failed. C C C Method C ------ C C Externals C --------- C C GRIBEX - Decode/encode a GRIB product. C RPHI - Rotates spectral coefficients by longitude. #ifdef __uxp__ C JACOBIF - Rotates spectral coefficients by latitude. #else C JACOBI - Rotates spectral coefficients by latitude. #endif C INTLOG - Logs messages. C C Author C ------ C C J.D.Chambers ECMWF October, 1995. C C C--------------------------------------------------------------------- C----< C IMPLICIT NONE #include "parim.h" C C Parameters INTEGER JPROUTINE PARAMETER (JPROUTINE = 28300) INTEGER JPLEN, JPNM PARAMETER ( JPNM = JPSTRUNC ) PARAMETER ( JPLEN = (JPNM+1)*(JPNM+2) ) C C Function arguments. INTEGER INGRIB, INLEN, OUTGRIB, OUTLEN DIMENSION INGRIB(*), OUTGRIB(*) REAL SLON, SLAT C C Local variables INTEGER KSEC0, KSEC1, KSEC2, KSEC3, KSEC4, KWORD, KLENP, KLENG DIMENSION KSEC0(2),KSEC1(512),KSEC2(512),KSEC3(2),KSEC4(512) REAL PSEC4, PSEC2, PSEC3 DIMENSION PSEC2(512),PSEC3(2),PSEC4(JPLEN) REAL*8 DLON, DLAT REAL*8 WORK DIMENSION WORK(2*(JPNM+1)*(JPNM+6)) INTEGER ITRUNC, IRET, NBYTES, LOOP LOGICAL LOK REAL*8 DATA DIMENSION DATA(JPLEN) C #if (defined CRAY) DATA NBYTES/8/ #else DATA NBYTES/4/ #endif C C Externals #ifdef __uxp__ LOGICAL JACOBIF EXTERNAL JACOBIF #else LOGICAL JACOBI EXTERNAL JACOBI #endif C C _______________________________________________________ C C* Section 1. Initialise. C _______________________________________________________ C 100 CONTINUE C SPROTAT = 0 IRET = 0 #if (defined CRAY) || (defined REAL_8) DLON = SLON DLAT = -90.0 - SLAT #else DLON = DBLE(SLON) DLAT = -90.0 - DBLE(SLAT) #endif C C Decode the field. KLENP = JPLEN KLENG = (INLEN+NBYTES-1)/NBYTES IRET = 1 CALL GRIBEX(KSEC0, KSEC1, KSEC2, PSEC2, KSEC3, PSEC3, KSEC4, X PSEC4, KLENP, INGRIB, KLENG, KWORD, 'D' , IRET ) IF(IRET.NE.0)THEN CALL INTLOG(JP_FATAL,'SPROTAT: Error decoding GRIB,IRET=', IRET) SPROTAT = JPROUTINE + 1 GOTO 900 ENDIF C C Check that it really is a spherical harmonic field. IF( (KSEC2(1).NE.50) .AND. (KSEC2(1).NE.60) ) THEN CALL INTLOG(JP_FATAL,'SPROTAT: GRIB field not spectral',JPQUIET) CALL INTLOG(JP_FATAL,'SPROTAT: GRIB KSEC2(1) = ', KSEC2(1)) SPROTAT = JPROUTINE + 2 GOTO 900 ENDIF C ITRUNC = KSEC2(2) C C _______________________________________________________ C C* Section 2. Rotate the spectral coefficients. C _______________________________________________________ C 200 CONTINUE C #if (defined CRAY) || (defined REAL_8) C********************************************************************* C C (REALs are already double precision) C C Rotate the spectral field by longitude. C Positive DLON => frame rotated from west to east. C CALL RPHI( PSEC4, ITRUNC, WORK, DLON) C C Rotate the spectral field by latitude. C Negative DLAT => rotate counter-clockwise about new polar axis. C #if (defined __uxp__) LOK = JACOBIF( PSEC4, ITRUNC, WORK, DLAT) #else LOK = JACOBI ( PSEC4, ITRUNC, WORK, DLAT) #endif #else C********************************************************************* C C (REALs are single precision) C C Expand spectral coefficients to REAL*8 DO 210 LOOP = 1, KSEC4(1) DATA(LOOP) = DBLE(PSEC4(LOOP)) 210 CONTINUE C C Rotate the spectral field by longitude. C Positive DLON => frame rotated from west to east. C CALL RPHI( DATA, ITRUNC, WORK, DLON) C C Rotate the spectral field by latitude. C Negative DLAT => rotate counter-clockwise about new polar axis. C #if (defined __uxp__) LOK = JACOBIF( DATA, ITRUNC, WORK, DLAT) #else LOK = JACOBI ( DATA, ITRUNC, WORK, DLAT) #endif IF(.NOT.LOK) THEN CALL INTLOG(JP_FATAL,'SPROTAT: JACOBI failed.', JPQUIET) SPROTAT = JPROUTINE + 3 GOTO 900 ENDIF C C Repack spectral coefficients to REAL*4. DO 220 LOOP = 1, KSEC4(1) PSEC4(LOOP) = SNGL(DATA(LOOP)) 220 CONTINUE C********************************************************************* #endif C C _______________________________________________________ C C* Section 3. Repack the spectral coefficients. C _______________________________________________________ C 300 CONTINUE C C Put in details of southern pole of rotation KSEC2(13) = NINT(SLAT*1000.0) KSEC2(14) = NINT(SLON*1000.0) C C Put in indicator to show field has been rotated .. KSEC2(1) = 60 C C .. unless south pole of rotation is (0,-90). IF( (KSEC2(14).EQ.0) .AND. (KSEC2(13).EQ.-90000) ) KSEC2(1) = 50 C C Encode the field. KLENP = KSEC4(1) KLENG = (OUTLEN+NBYTES-1)/NBYTES IRET = 1 CALL GRIBEX(KSEC0, KSEC1, KSEC2, PSEC2, KSEC3, PSEC3, KSEC4, X PSEC4, KLENP, OUTGRIB, KLENG, KWORD, 'C' , IRET ) IF(IRET.NE.0)THEN CALL INTLOG(JP_FATAL,'SPROTAT: Error encoding GRIB,IRET=', IRET) SPROTAT = JPROUTINE + 4 GOTO 900 ENDIF OUTLEN = KSEC0(1) C C _______________________________________________________ C C* Section 9. Return. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_160_19931222.h0000755000175000017500000000313612127406245023412 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG16012(160) DATA QG16012/ X 12 , 16 , 20 , 24, X 30 , 40 , 45 , 50, X 60 , 64 , 72 , 75, X 80 , 90 , 96 , 100, X 108 , 120 , 120 , 128, X 135 , 144 , 144 , 150, X 160 , 160 , 180 , 180, X 180 , 192 , 192 , 200, X 216 , 216 , 216 , 225, X 240 , 240 , 240 , 256, X 256 , 256 , 288 , 288, X 288 , 288 , 288 , 300, X 300 , 300 , 320 , 320, X 320 , 324 , 360 , 360, X 360 , 360 , 360 , 360, X 360 , 375 , 375 , 375, X 384 , 400 , 400 , 400, X 400 , 405 , 432 , 432, X 432 , 432 , 432 , 450, X 450 , 450 , 450 , 480, X 480 , 480 , 480 , 480, X 480 , 480 , 500 , 500, X 500 , 500 , 500 , 512, X 512 , 512 , 540 , 540, X 540 , 540 , 540 , 540, X 540 , 540 , 576 , 576, X 576 , 576 , 576 , 576, X 576 , 576 , 576 , 576, X 576 , 576 , 600 , 600, X 600 , 600 , 600 , 600, X 600 , 600 , 600 , 600, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640, X 640 , 640 , 640 , 640 / emoslib-000392+dfsg.1/interpolation/wvqlidx.F0000755000175000017500000002543412127406245022165 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WVQLIDX(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM, NUMNEW, NEWLATS, X NEWIDX, DISTNEW) C C----> C*****WVQLIDX* C C PURPOSE C ------- C C Determines which nearest-neighbour values of an input global wave C 2D-spectra grid field to use for an output global wave 2D-spectra C grid field. C C C INTERFACE C --------- C C IRET = WVQLIDX(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, C X KNEWNUM, NUMNEW, NEWLATS, C X NEWIDX, DISTNEW) C C Input arguments C --------------- C C KOLDNUM - No. of meridians from North to South pole (input field) C NUMOLD - Array giving number of points along each latitude C (empty latitudes have entry 0) C OLDLATS - input field latitudes C OLDWEST - western longitude of the input field (degrees) C OLDEAST - eastern longitude of the input field (degrees) C C KNEWNUM - No. of meridians from North to South pole (output field) C NUMNEW - Array giving number of points along each latitude C (empty latitudes have entry 0) C NEWLATS - output field latitudes C C Output arguments C ---------------- C C NEWIDX - Indices of four neighbours C DISTNEW - Distances of current 'box' edges from new point C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C The indices of the nearest four neighbouring grid points of the C input field is assigned to each point of the output grid. C The indices are zero if the output grid point is 'missing'. C C The input field can be regular or quasi-regular, and can be C global or a subarea. C The output field can be regular or quasi-regular. C C C EXTERNALS C --------- C C INTLOG - Log error message. C C C REFERENCE C --------- C C None C C C Author. C ------- C C J.D.Chambers ECMWF January 1998 C C C----< C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19410 ) INTEGER JPLLMAX PARAMETER ( JPLLMAX = 1801 ) C `--> allow upto 0.1 degree resolution INTEGER JPNMOUT PARAMETER ( JPNMOUT = 1800 ) C `--> allow upto 0.1 degree resolution C INTEGER JPNW, JPNE, JPSW, JPSE, JPN, JPS INTEGER JPDISNW, JPDISNE, JPDISSW, JPDISSE PARAMETER (JPNW = 1) PARAMETER (JPNE = 2) PARAMETER (JPSW = 3) PARAMETER (JPSE = 4) PARAMETER (JPN = 5) PARAMETER (JPS = 6) PARAMETER (JPDISNW = 7) PARAMETER (JPDISNE = 8) PARAMETER (JPDISSW = 9) PARAMETER (JPDISSE = 10) C C Function arguments C INTEGER KOLDNUM, NUMOLD, KNEWNUM, NUMNEW DIMENSION NUMOLD(*), NUMNEW(*) REAL OLDWEST, OLDEAST, OLDLATS, NEWLATS DIMENSION OLDLATS(*), NEWLATS(*) INTEGER NEWIDX DIMENSION NEWIDX(4,*) REAL*4 DISTNEW DIMENSION DISTNEW(10,*) C C Local arguments C INTEGER K, NEWCOL, NEWROW, INCOL, LOOP, NEXT, NUMMAX INTEGER I_NW, I_SW, I_N, I_S, I_NE, I_SE REAL*8 DELONGN, DELONGS, DIFF, RESOL, DINC, DEPS REAL*8 DIST_NW, DIST_SW, DIST_NE, DIST_SE, DIST_N, DIST_S REAL*8 DISNW, DISNE, DISSW, DISSE REAL*8 ZXIN, ZXIS, LON, LAT, OWEST, OEAST DIMENSION LON(JPNMOUT*2) LOGICAL LINGNS, LINGWE INTEGER INDEXI DIMENSION INDEXI(JPLLMAX) LOGICAL LGLOBAL DATA DEPS/0.00005/ C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WVQLIDX = 0 CALL INTLOG(JP_DEBUG, X 'WVQLIDX: Wave interpolation requested.',JPQUIET) C C Check latitude/longitude grid specification C IF( KOLDNUM.GT.JPLLMAX ) THEN CALL INTLOG(JP_ERROR, X 'WVQLIDX: Number of latitudes in input grid = ',KOLDNUM) CALL INTLOG(JP_ERROR, X 'WVQLIDX: And is greater than allowed maximum = ',JPLLMAX) WVQLIDX = JPROUTINE + 1 GOTO 900 ENDIF C C Set up INDEXI for latitude lines in input lat/lon array C INDEXI(1) = 0 DO LOOP = 2, KOLDNUM INDEXI(LOOP) = INDEXI(LOOP-1) + NUMOLD(LOOP-1) ENDDO C OEAST = OLDEAST OWEST = OLDWEST C C Check whether the input field is global or a subarea C NUMMAX = NUMOLD(1) DO LOOP = 2, KOLDNUM IF( NUMOLD(LOOP).GT.NUMMAX ) NUMMAX = NUMOLD(LOOP) ENDDO IF( NUMMAX.LE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WVQLIDX: Input wave field has no points',JPQUIET) WVQLIDX = JPROUTINE + 2 GOTO 900 ENDIF C LGLOBAL = ABS((OEAST-OWEST) - DBLE(360.0)).LT.DEPS C C --------------------------------------------------------------------- C* Section 2. Interpolation. C --------------------------------------------------------------------- C 200 CONTINUE C NEXT = 1 C DO 220 NEWROW = 1, KNEWNUM C C Find old latitude rows to north and south of new latitude and C set up the distance between new row and the old rows to N and S. C DO LOOP = 1, KOLDNUM -1 IF( (NEWLATS(NEWROW).LE.OLDLATS(LOOP)) .AND. X (NEWLATS(NEWROW).GT.OLDLATS(LOOP+1)) ) THEN I_N = LOOP I_S = MIN(LOOP+1,KOLDNUM) GOTO 205 ENDIF ENDDO C IF( NEWLATS(NEWROW).EQ.OLDLATS(KOLDNUM) ) THEN I_N = KOLDNUM I_S = KOLDNUM ELSE I_N = -1 I_S = -1 ENDIF C 205 CONTINUE IF( I_N.NE.I_S) THEN DIFF = OLDLATS(I_N) - OLDLATS(I_S) DIST_N = (OLDLATS(I_N) - NEWLATS(NEWROW)) / DIFF ELSE DIST_N = 1.0 ENDIF DIST_S = 1.0 - DIST_N C C Check if the new interpolated row lies between 2 old rows which C have data points C LINGNS = .FALSE. IF( I_N.GT.0 ) THEN IF( (NUMOLD(I_N).GT.0).AND.(NUMOLD(I_S).GT.0) ) THEN C C Yes, so set up the grid increments. C C Note that the grid increments are different depending on C whether or not the grid is global; global grids have an C extra interval at the end (eg between 358.5 and 0.0), while C subareas have outer limits defined by 'west' and 'east' and C a given number of points in between. C IF( LGLOBAL ) THEN DELONGN = 360.0/DBLE(NUMOLD(I_N)) DELONGS = 360.0/DBLE(NUMOLD(I_S)) ELSE DELONGN = (OEAST-OWEST)/DBLE(NUMOLD(I_N)-1) DELONGS = (OEAST-OWEST)/DBLE(NUMOLD(I_S)-1) ENDIF LINGNS = .TRUE. ENDIF ENDIF C C Setup longitudes for the current row C INCOL = NUMNEW(NEWROW) IF( INCOL.NE.0 ) THEN IF( LGLOBAL ) THEN RESOL = 360.0/DBLE(INCOL) ELSE RESOL = (OEAST-OWEST)/(DBLE(INCOL)-1) ENDIF DO LOOP = 1, INCOL LON(LOOP) = OLDWEST + DBLE(LOOP-1)*RESOL ENDDO C DO 210 NEWCOL = 1, INCOL C LINGWE = (LON(NEWCOL).GT.OWEST).OR.(LON(NEWCOL).LT.OEAST) C IF( LINGNS .AND. LINGWE ) THEN C C If point to be interpolated is inside the input field , C work out distances from new point to four neighbours C ZXIN = DMOD((LON(NEWCOL)+(DBLE(360.0)-OWEST)+DBLE(720.0)), X DBLE(360.0)) ZXIS = ZXIN ZXIN = ZXIN/DELONGN + 1.0 ZXIS = ZXIS/DELONGS + 1.0 I_NW = INT(ZXIN) I_NE = I_NW + 1 I_SW = INT(ZXIS) I_SE = I_SW + 1 C C Allow wrap-around C I_NW = MOD(I_NW,NUMOLD(I_N)) I_NE = MOD(I_NE,NUMOLD(I_N)) I_SW = MOD(I_SW,NUMOLD(I_S)) I_SE = MOD(I_SE,NUMOLD(I_S)) IF( I_NW.EQ.0 ) I_NW = NUMOLD(I_N) IF( I_SW.EQ.0 ) I_SW = NUMOLD(I_S) IF( I_NE.EQ.0 ) I_NE = NUMOLD(I_N) IF( I_SE.EQ.0 ) I_SE = NUMOLD(I_S) C C Calculate distance from interpolated point to neighbours C DIST_NW = ZXIN - REAL(I_NW) DIST_NE = 1.0 - DIST_NW DIST_SW = ZXIS - REAL(I_SW) DIST_SE = 1.0 - DIST_SW C DISTNEW(JPDISNW,NEXT) = (DIST_NW*DIST_NW + DIST_N*DIST_N) DISTNEW(JPDISNE,NEXT) = (DIST_NE*DIST_NE + DIST_N*DIST_N) DISTNEW(JPDISSW,NEXT) = (DIST_SW*DIST_SW + DIST_S*DIST_S) DISTNEW(JPDISSE,NEXT) = (DIST_SE*DIST_SE + DIST_S*DIST_S) C DISTNEW(JPNW,NEXT) = DIST_NW DISTNEW(JPNE,NEXT) = DIST_NE DISTNEW(JPSW,NEXT) = DIST_SW DISTNEW(JPSE,NEXT) = DIST_SE DISTNEW(JPN ,NEXT) = DIST_N DISTNEW(JPS ,NEXT) = DIST_S C NEWIDX(JPNW,NEXT) = INDEXI(I_N)+I_NW NEWIDX(JPNE,NEXT) = INDEXI(I_N)+I_NE NEWIDX(JPSW,NEXT) = INDEXI(I_S)+I_SW NEWIDX(JPSE,NEXT) = INDEXI(I_S)+I_SE C C If the point to be interpolated is outside the input field, C set it to 'land'. C ELSE cs print*,'IDX LINGWE ',LINGWE cs print*,'IDX ',LON(NEWCOL),OWEST cs print*,'IDX ',LON(NEWCOL),OEAST cs print*,'IDX LINGNS ',LINGNS cs print*,'IDX ',NUMOLD(I_N),NUMOLD(I_S) C DISTNEW(JPNW,NEXT) = 0 DISTNEW(JPNE,NEXT) = 0 DISTNEW(JPSW,NEXT) = 0 DISTNEW(JPSE,NEXT) = 0 DISTNEW(JPN ,NEXT) = 0 DISTNEW(JPS ,NEXT) = 0 C DISTNEW(JPDISNW,NEXT) = 0 DISTNEW(JPDISNE,NEXT) = 0 DISTNEW(JPDISSW,NEXT) = 0 DISTNEW(JPDISSE,NEXT) = 0 C NEWIDX(JPNW,NEXT) = 0 NEWIDX(JPNE,NEXT) = 0 NEWIDX(JPSW,NEXT) = 0 NEWIDX(JPSE,NEXT) = 0 C ENDIF C NEXT = NEXT + 1 C 210 CONTINUE C ENDIF C 220 CONTINUE C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE C IF( WVQLIDX.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, 'WVQLIDX: successful.',JPQUIET) ELSE CALL INTLOG(JP_ERROR, 'WVQLIDX: failed.',JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/ddstyle.F0000755000175000017500000001167012127406245022134 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DDSTYLE(FIELD,IN_EW,IN_NS,OUT_EW,OUT_NS,KRET) C C----> C**** DDSTYLE C C Purpose C ------- C C Create a subgrid of an input regular latitude/longitude C grid by selecting points (dissemination style). C C C Interface C --------- C C CALL DDSTYLE(FIELD,IN_EW,IN_NS,OUT_EW,OUT_NS,KRET) C C Input C ----- C C FIELD - Input regular latitude/longitude gridpoint field. C IN_EW - East-west increment of input field (degrees * 10*5). C IN_NS - North-south increment of input field (degrees * 10*5). C OUT_EW - East-west increment of output field (degrees * 10*5). C OUT_NS - North-south increment of output field (degrees * 10*5). C C C Output C ------ C C FIELD - Output regular latitude/longitude gridpoint field. C KRET - Return status code C 0 = OK C C C Method C ------ C C Area boundaries for output field are adjusted (by shrinking) C if necessary to fit the grid. C C C Externals C --------- C C INTLOG - Logs output messages C JDEBUG - Checks whether the debug flag is to be turned on. C C C Author C ------ C C J.D.Chambers ECMWF May 1999 C C----< C IMPLICIT NONE C #include "jparams.h" #include "parim.h" #include "nofld.common" C C Subroutine arguments C REAL FIELD(*) INTEGER IN_EW,IN_NS,OUT_EW,OUT_NS,KRET C C Local variables C INTEGER N, INC_EW,INC_NS,N_EW,N_NS,LOOPO,LOOPI,NEXT INTEGER NWEST,NEAST, NUM_EW REAL NORTH,WEST,SOUTH,EAST LOGICAL LDEBUG C C Externals C C ------------------------------------------------------------------ C Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE KRET = 0 C CALL JDEBUG( ) LDEBUG = ( NDBG.GT.0 ) C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'DDSTYLE: input E-W increment = ', IN_EW) CALL INTLOG(JP_DEBUG,'DDSTYLE: input N-S increment = ', IN_NS) CALL INTLOG(JP_DEBUG,'DDSTYLE: output E-W increment = ', OUT_EW) CALL INTLOG(JP_DEBUG,'DDSTYLE: output N-S increment = ', OUT_NS) ENDIF C C ------------------------------------------------------------------ C Section 2. Check that output grid is a subset of the input grid. C ------------------------------------------------------------------ C 200 CONTINUE C C Fixup input/output field area definitions according to grid C specification. C NORTH = REAL(NOAREA(1)) / PPMULT WEST = REAL(NOAREA(2)) / PPMULT SOUTH = REAL(NOAREA(3)) / PPMULT EAST = REAL(NOAREA(4)) / PPMULT C NWEST = NOAREA(2) NEAST = NOAREA(4) IF( NWEST.LT.0 ) NWEST = NWEST + 36000000 IF( NEAST.LT.0 ) NEAST = NEAST + 36000000 IF( NEAST.LT.NWEST ) NEAST = NEAST + 36000000 C C Check increments C INC_EW = OUT_EW / IN_EW IF( (INC_EW*IN_EW).NE.OUT_EW ) THEN KRET = 1 IF( LDEBUG ) THEN CALL INTLOG(JP_ERROR, X 'DDSTYLE: East-west step not multiple of input',JPQUIET) CALL INTLOG(JP_ERROR,'DDSTYLE: Requested step = ',OUT_EW) CALL INTLOG(JP_ERROR,'DDSTYLE: Input GRIB step = ',IN_EW) ENDIF GOTO 900 ENDIF C INC_NS = OUT_NS / IN_NS IF( (INC_NS*IN_NS).NE.OUT_NS ) THEN KRET = 1 IF( LDEBUG ) THEN CALL INTLOG(JP_ERROR, X 'DDSTYLE: North-south step not multiple of input',JPQUIET) CALL INTLOG(JP_ERROR,'DDSTYLE: Requested step = ',OUT_NS) CALL INTLOG(JP_ERROR,'DDSTYLE: Input GRIB step = ',IN_NS) ENDIF GOTO 900 ENDIF C N_EW = ( (NEAST - NWEST) / OUT_EW ) + 1 N_NS = ( (NOAREA(1) - NOAREA(3)) / OUT_NS ) + 1 C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'DDSTYLE: No. of E_W output pts = ', N_EW) CALL INTLOG(JP_DEBUG,'DDSTYLE: No. of N-S output pts = ', N_NS) ENDIF C C ------------------------------------------------------------------ C Section 3. Generate new grid. C ------------------------------------------------------------------ C 300 CONTINUE C C Select points for new grid. C NUM_EW = NINT((EAST-WEST)*PPMULT)/IN_EW + 1 C NEXT = 1 DO LOOPO = 1, N_NS*INC_NS, INC_NS N = (LOOPO-1)*NUM_EW DO LOOPI = 1, N_EW*INC_EW, INC_EW FIELD(NEXT) = FIELD(N+LOOPI) NEXT = NEXT + 1 ENDDO ENDDO C C ------------------------------------------------------------------ C Section 9. Return. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/oceanu.F0000755000175000017500000002771112127406245021741 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION OCEANU( INOCEAN, INLEN, OUTOCEAN, OUTLEN) C C----> C**** OCEANU C C Purpose C ------- C C Interpolate input ocean field to ocean C field. C C C Interface C --------- C C IRET = OCEANU( INOCEAN, INLEN, OUTOCEAN, OUTLEN) C C Input C ----- C C INOCEAN - Input ocean field C INLEN - Input field length (words). C C C Output C ------ C C OUTOCEAN - Output ocean field C OUTLEN - Output field length (words). C C C Method C ------ C C Interpolate ocean field. C C If requested X grid increment does not match input GRIB C increment, do a full interpolation in both x and y. Otherwise, C interpolate only to make grid regular. C C Externals C --------- C C JDEBUG - Tests if debug output required. C GRIBEX - GRIB decoding/encoding. C INTLOG - Log error message. C JMEMHAN - Allocate/deallocate scratch memory. C INTOCN - Carry out ocean field to field interpolation. C C C Author C ------ C C J.D.Chambers ECMWF Mar 1997 C Allow for full or partial interpolation C (F or R option in call to INTOCN). C C----< C IMPLICIT NONE C C Function arguments C INTEGER INLEN, OUTLEN REAL INOCEAN, OUTOCEAN DIMENSION INOCEAN(*),OUTOCEAN(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE, JPALLOC, JPDEALL, JPSCR3, JPSCR4 INTEGER JP_LAT, JP_LONG, JP_GUESS PARAMETER (JPROUTINE = 36900 ) PARAMETER (JPALLOC = 1) PARAMETER (JPDEALL = 0) PARAMETER (JPSCR3 = 3) PARAMETER (JPSCR4 = 4) PARAMETER (JP_LONG = 3) PARAMETER (JP_LAT = 4) PARAMETER (JP_GUESS = 18049691) cs PARAMETER (JP_GUESS = 1675245) cs PARAMETER (JP_GUESS = 1237104) cs PARAMETER (JP_GUESS = 1038240) C `---> allow for 0.25*0.25 interpolated grid C C Local variables C LOGICAL LHORIZN, LFLIP CHARACTER*1 HFUNC CHARACTER*1 HINTOPT CHARACTER*6 YFLAG INTEGER IOLDN, IOLDW, IOLDS, IOLDE, IOLDEW, IOLDNS INTEGER LOOPLAT, LOOPLON, I, J, IOS, LOOP REAL ZTEMP INTEGER IERR, KPR, IWORD, IOLDSIZ, INEWSIZ, IINTPOL, ISTAGP INTEGER NXP, NYP, INEWP, ITEMP REAL RTOP, RBOTT, RRIGHT, RLEFT, RYRES, RXRES REAL XARR, YARR DIMENSION XARR(JPGRIB_ISEC1), YARR(JPGRIB_ISEC1) REAL NEW POINTER ( INEW, NEW ) DIMENSION NEW( 1 ) C C Externals C INTEGER RESET_C, INTOCNU, FIXAREA C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C C Test if debug output required. C CALL JDEBUG() C CALL INTLOG(JP_DEBUG, X 'OCEANU: Trying to interpolate an ocean field.',JPQUIET) C IF( .NOT.LNOGRID ) THEN CALL INTLOG(JP_FATAL, X 'OCEANU: GRID must be specified to interpolate an ocean field' X , JPQUIET) OCEANU = JPROUTINE + 1 GOTO 960 ENDIF C OCEANU = 0 IERR = 0 KPR = 0 LFLIP = .FALSE. C C Save the original area and grid definitions C NOOCO3 = NIOCO3 NOOCO4 = NIOCO4 NOOCO4F = NIOCO4F NOOCO3F = NIOCO3F NOOCO4L = NIOCO4L NOOCO3L = NIOCO3L NOOIINC = NIOIINC NOOJINC = NIOJINC NOOIRGR = NIOIRGR NOONOST = NIONOST IOLDN = NOAREA(1) IOLDW = NOAREA(2) IOLDS = NOAREA(3) IOLDE = NOAREA(4) IOLDEW = NOGRID(1) IOLDNS = NOGRID(2) C C -----------------------------------------------------------------| C* Section 2. Unpack the input ocean field. C -----------------------------------------------------------------| C 200 CONTINUE C LHORIZN = (NIOCO3.EQ.JP_LONG).AND.(NIOCO4.EQ.JP_LAT) IF( LHORIZN ) CALL INTLOG(JP_DEBUG, X 'OCEANU: Horizontal (lat/long) field interpolation.',JPQUIET) C C Get scratch memory for unpacking the input ocean field. C IOLDSIZ = NINS * NIWE C C For horizontal field, match the desired area to the grid C IERR = FIXAREA() IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, 'OCEANU: FIXAREA failed.',JPQUIET) OCEANU = IERR GOTO 940 ENDIF C C Get scratch memory for output ocean field. C Have to guess how big the interpolated grid will be. C IF(NOGRID(1).GT.0.AND.NOGRID(1).GT.0) THEN INEWSIZ = (JP360/NOGRID(1) + 1) * (JP180 / NOGRID(2) + 1)*2 ELSE INEWSIZ = JP_GUESS ENDIF cs print*,'OCEANU INEWSIZ ',INEWSIZ cs print*,'OCEANU JP_GUESS ',JP_GUESS cs print*,'OCEANU NOGRID(1): ',NOGRID(1),' NOGRID(2): ',NOGRID(2) CALL JMEMHAN(JPSCR3, INEW, INEWSIZ*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'OCEANU: Scratch memory(3) allocation failed.',JPQUIET) OCEANU = IERR GOTO 940 ENDIF INEWP = 1 ITEMP = 1 + INEWSIZ C C -----------------------------------------------------------------| C* Section 4. Interpolate ocean field. C -----------------------------------------------------------------| C 400 CONTINUE C RTOP = FLOAT( NOAREA(1) ) / PPMULT RBOTT = FLOAT( NOAREA(3) ) / PPMULT RRIGHT = FLOAT( NOAREA(4) ) / PPMULT RLEFT = FLOAT( NOAREA(2) ) / PPMULT C RYRES = FLOAT( NOGRID(2) ) / PPMULT RXRES = FLOAT( NOGRID(1) ) / PPMULT C C Select the interpolation option C (default = 'R' = interpolate only to make grid regular) C If requested X grid increment does not match input GRIB C increment, interpolate in x and y ('F' = full) C HINTOPT = 'R' IF( NOGRID(1).NE.NIGRID(1) ) HINTOPT = 'F' C IERR = INTOCNU(HINTOPT,'D', X RTOP, RBOTT, RRIGHT, RLEFT, RYRES, RXRES, X INOCEAN, IOLDSIZ, X INEWSIZ, NEW(ITEMP), XARR, YARR, NXP, NYP, X NEW(INEWP), X IINTPOL, ISTAGP) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, 'OCEANU: Interpolation failed.',JPQUIET) OCEANU = IERR GOTO 900 ENDIF C NOAREA(1) = NINT( (YARR(1) + YARR(2)*(NYP-1)) * PPMULT ) NOAREA(2) = NINT( XARR(1) * PPMULT ) NOAREA(3) = NINT( YARR(1) * PPMULT ) NOAREA(4) = NINT( (XARR(1) + XARR(2)*(NXP-1)) * PPMULT ) C NOAAPI(1) = NOAREA(1) NOAAPI(2) = NOAREA(2) NOAAPI(3) = NOAREA(3) NOAAPI(4) = NOAREA(4) NOGRID(1) = NINT( ABS(XARR(2)) * PPMULT ) NOGRID(2) = NINT( ABS(YARR(2)) * PPMULT ) NONS = NYP NOWE = NXP C C -----------------------------------------------------------------| C* Section 5. Code new field into GRIB. C -----------------------------------------------------------------| C 500 CONTINUE C C Re-order the rows from south to north to be north to south C (ECMWF convention). C IF( LHORIZN.OR.(NOAREA(1).LT.NOAREA(3)) ) THEN LFLIP = .TRUE. DO LOOPLAT = 1, NYP/2 I = (LOOPLAT - 1)*NXP J = (NYP - LOOPLAT)*NXP DO LOOPLON = 1, NXP I = I + 1 J = J + 1 ZTEMP = NEW(I) NEW(I) = NEW(J) NEW(J) = ZTEMP ENDDO ENDDO C IF( .NOT.LHORIZN ) THEN ITEMP = NOAREA(1) NOAREA(1) = NOAREA(3) NOAREA(3) = ITEMP C ITEMP = NOAAPI(1) NOAAPI(1) = NOAAPI(3) NOAAPI(3) = ITEMP ENDIF ENDIF C C Setup GRIB sections for the output product: C C IF( LHORIZN ) THEN c NOOCO4F = NOAREA(1)*10 NOOCO3F = NOAREA(2)*10 NOOCO4L = NOAREA(3)*10 NOOCO3L = NOAREA(4)*10 NOOIINC = NOGRID(1)*10 NOOJINC = NOGRID(2)*10 IF( LFLIP ) NOOJINC = - NOOJINC NOOIRGR = 0 NOONOST = 0 C C Standard section 2 format for horizontal sections C NOAAPI(1) = NOAREA(1) NOAAPI(2) = NOAREA(2) NOAAPI(3) = NOAREA(3) NOAAPI(4) = NOAREA(4) NOWE = NXP NONS = NYP ELSE C Tim-Correct headers for vertical sections IF( NIOCO3.EQ.3 ) THEN NOOCO3F = NOAREA(2)*10 ELSEIF( NIOCO3.EQ.4 ) THEN NOOCO3F = NOAREA(2)*10 ENDIF IF( NIOCO4.EQ.3 ) THEN NOOCO4F = NOAREA(1)*10 ELSEIF( NIOCO4.EQ.4 ) THEN NOOCO4F = NOAREA(1)*10 ENDIF C IF( NIOCO4.EQ.1 ) THEN NOOCO4L = NOOCO4F + NINT((NYP-1)*RYRES*1.0) NOOCO3L = NOOCO3F + NINT((NXP-1)*RXRES*1000000.0) NOOIINC = NOGRID(1)*NINT(1000000.0/PPMULT) NOOJINC = NOGRID(2)/(PPMULT/1.0) ELSE NOOCO4L = NOOCO4F + NINT((NYP-1)*RYRES*1000.0) NOOCO3L = NOOCO3F + NINT((NXP-1)*RXRES*1000000.0) NOOIINC = NOGRID(1)*NINT(1000000.0/PPMULT) NOOJINC = NOGRID(2)/(PPMULT/1000.0) ENDIF C IF( LFLIP ) NOOJINC = - NOOJINC NOOIRGR = 0 C C Special ECMWF ocean short form of GRIB section 2 C cs ISEC2(1) = 192 cs ISEC2(2) = NXP cs ISEC2(3) = NYP Cjdc ISEC2(4) = NOAREA(1)/100000 Cjdc ISEC2(5) = NOAREA(2)/100 Cjdc ISEC2(6) = 0 Cjdc ISEC2(7) = NOAREA(3)/100000 Cjdc ISEC2(8) = NOAREA(4)/100 Cjdc DO LOOPLAT = 9, 22 Cjdc ISEC2(LOOPLAT) = 0 Cjdc ENDDO ENDIF C C Ensure there is a section 3 in case there is missing data in the C output area C cs ISEC1(5) = 192 cs ISEC3(1) = 0 cs ZSEC3(2) = -999.9 C cs ISEC4(1) = NXP * NYP C C If grid-point output, setup for 2nd order packing if requested. C cs IF( (NOREPR.NE.JPSPHERE).AND.(NOREPR.NE.JPSPHROT) ) THEN cs HFUNC = 'C' cs IF( NOHFUNC.EQ.'K' ) THEN cs HFUNC = 'K' cs ISEC4(4) = 64 cs ISEC4(6) = 16 cs ISEC4(9) = 32 cs ISEC4(10) = 16 cs ISEC4(12) = 8 cs ISEC4(13) = 4 cs ISEC4(14) = 0 cs ISEC4(15) = -1 cs ELSE cs ISEC4(4) = 0 cs ISEC4(6) = 0 cs ENDIF cs ELSE cs HFUNC = 'C' cs IF( NOHFUNC.EQ.'C' ) THEN cs ISEC2(6) = 2 cs ISEC4(4) = 64 cs ELSE IF( NOHFUNC.EQ.'S' ) THEN cs ISEC2(6) = 1 cs ISEC4(4) = 0 cs ENDIF cs ENDIF C C OUTLEN = NXP*NYP DO I = 1, OUTLEN OUTOCEAN(I) = NEW(I) ENDDO CALL GETENV('DATA_CHECK', YFLAG) IF( YFLAG(1:1).EQ.'1' ) THEN OPEN (UNIT=18,FILE='./out_ocean_gribapi.dat',STATUS='UNKNOWN', & FORM='UNFORMATTED',IOSTAT=IOS) IF (IOS.EQ.0) THEN WRITE (18)(OUTOCEAN(LOOP),LOOP=1,OUTLEN) ENDIF CLOSE(18) ENDIF C C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C C Return the scratch memory. C CALL JMEMHAN( JPSCR3, INEW, INEWSIZ*2, JPDEALL, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'OCEANU: Scratch memory(3) reallocation failed.',JPQUIET) OCEANU = IERR ENDIF C 940 CONTINUE C C 950 CONTINUE C C Restore the original area and grid definitions C cs NOAREA(1) = IOLDN cs NOAREA(2) = IOLDW cs NOAREA(3) = IOLDS cs NOAREA(4) = IOLDE cs NOGRID(1) = IOLDEW cs NOGRID(2) = IOLDNS C 960 CONTINUE C CALL INTLOG(JP_DEBUG, X 'OCEANU: Returning from interpolating an ocean field.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/gmapbit.c0000755000175000017500000000203412127406245022136 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "bitmap.h" fortint GMAPBIT( char ** bitmap, fortint * columnCount, fortint * row, fortint * column) { /* // Returns the bit at position (row,column) of bitmap. // // Called from FORTRAN: // // VALUE = GMAPBIT(BITMAP,COLCNT,N,M) // // where: // // BITMAP is an array containing the bitmap. // COLCNT is the number of values per row. // N is the row number (starting from 1) // M is the column number (starting from 1) // */ int bitNumber, byte, bit; char value; bitNumber = ((*row)-1)*(*columnCount) + ((*column)-1); byte = bitNumber / 8; bit = bitNumber % 8; value = ((*bitmap)[byte] >> (7-bit)) & 0x01; return (fortint) value; } emoslib-000392+dfsg.1/interpolation/gasetup.F0000755000175000017500000004154012127406245022133 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION GASETUP( KSEC1, KSEC2, KSEC3, KSEC4, ZASEC3) C C----> C**** GASETUP C C Purpose C ------- C C Setup GRIB sections 2 and 4 for the new interpolation product. C C Added because of merging with grib_api C C Interface C --------- C C IRET GASETUP( KSEC2, KSEC4) C C Input C ----- C C KSEC1 - Section 1 values (for GRIB_API) C KSEC2 - Section 2 values (for GRIB_API) C KSEC3 - Section 3 values (for GRIB_API) C KSEC4 - Section 4 values (for GRIB_API) C C Output C ------ C C KSEC1 - Modified section 2 values (for GRI_API) C KSEC2 - Modified section 2 values (for GRI_API) C KSEC3 - Modified section 3 values (for GRI_API) C KSEC4 - Modified section 4 values (for GRI_API) C C Method C ------ C C Use common block values and existing values from the original GRIB C product used for interpolation. C C C Externals C --------- C C INTLOG - Logs messages. C C C Author C ------ C C J.D.Chambers ECMWF Aug 1994 C C----< C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "intf.h" C C Parameter(s) C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19100 ) C C Function arguments C INTEGER KSEC1, KSEC2,KSEC3, KSEC4, REPRES, NOPAAPI REAL ZASEC3 DIMENSION KSEC1(*), KSEC2(*),KSEC3(*), KSEC4(*), ZASEC3(*) C C Local variables C LOGICAL LIROTAT, LOROTAT, LFRAME, LBITMAP INTEGER ILOOP, ITEMP C C*********************************************************************** C Section 1. Startup. C*********************************************************************** C 100 CONTINUE C GASETUP = 0 C C Check a recognized data representation type is being processed REPRES = NOREPR C IF ( (NOREPR .NE.JPREGULAR ) .AND. X (NOREPR .NE.JPREGROT ) .AND. X (NOREPR .NE.JPGAUSSIAN ) .AND. X (NOREPR .NE.JPFGGROT ) .AND. X (NOREPR .NE.JPQUASI ) .AND. X (NOREPR .NE.JPQGGROT ) .AND. X (NOREPR .NE.JPSPHROT ) .AND. X (NOREPR .NE.JPREDLL ) .AND. X (NOREPR .NE.JPSPHERE ) ) GOTO 910 C C Set flags if input is rotated or if a rotation angle has been given C LIROTAT = (NIREPR.EQ.JPSPHROT).OR. X (NIREPR.EQ.JPREGROT).OR. X (NIREPR.EQ.JPFGGROT).OR. X (NIREPR.EQ.JPQGGROT) C LOROTAT = ((NOROTA(1).NE.-9000000).AND.(NOROTA(1).NE.0)).OR. X (NOROTA(2).NE.0) C C*********************************************************************** C Section 2. Setup output product section 2. C*********************************************************************** C 300 CONTINUE C C Data representation type C C Adjust output representation type if field is rotated C IF( LIROTAT.OR.LOROTAT ) THEN KSEC2(1) = NOREPR IF(NOREPR.EQ.JPREGULAR ) KSEC2(1) = JPREGROT IF(NOREPR.EQ.JPSPHERE ) KSEC2(1) = JPSPHROT IF(NOREPR.EQ.JPQUASI ) KSEC2(1) = JPFGGROT IF(NOREPR.EQ.JPQGGROT ) KSEC2(1) = JPFGGROT IF(NOREPR.EQ.JPGAUSSIAN ) KSEC2(1) = JPFGGROT C ELSE C IF( (NOREPR.EQ.JPQUASI).OR.(NOREPR.EQ.JPQGGROT) ) THEN KSEC2(1) = JPGAUSSIAN ELSE KSEC2(1) = NOREPR ENDIF ENDIF C C*********************************************************************** C Section 3.1. Setup section 2 for lat/long, equidistant C cylindrical or plate carre grids. C*********************************************************************** C 310 CONTINUE C IF ( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C For south to north grids, only global area allowed (eg KWBC SST) C cs IF( KSEC2(4).LT.KSEC2(7) ) THEN cs IF((NOAAPI(1).NE.(-NOAAPI(3))).AND.(NOAAPI(3).NE.JP90)) THEN cs CALL INTLOG(JP_ERROR, cs X 'GASETUP: Subareas not allowed interpolating',JPQUIET) cs CALL INTLOG(JP_ERROR, cs X 'GASETUP: grids running from south to north',JPQUIET) cs GASETUP = JPROUTINE + 2 cs GOTO 900 cs ENDIF cs ENDIF C C Number of points along a parallel C KSEC2(2) = NOWE C C Number of points along a meridian C KSEC2(3) = NONS C C Latitude and longitude of first grid point C IF( NOAAPI(1).GE.0 ) THEN KSEC2(4) = (NOAAPI(1)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(4) = (NOAAPI(1)-(JPMICRO/2)) / JPMICRO ENDIF IF( NOAAPI(2).GE.0 ) THEN KSEC2(5) = (NOAAPI(2)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(5) = (NOAAPI(2)-(JPMICRO/2)) / JPMICRO ENDIF C C Resolution flag, increments are given C KSEC2(6) = 128 C C Latitude and longitude of last grid point C IF( NOAAPI(3).GE.0 ) THEN KSEC2(7) = (NOAAPI(3)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(7) = (NOAAPI(3)-(JPMICRO/2)) / JPMICRO ENDIF IF( NOAAPI(4).GE.0 ) THEN KSEC2(8) = (NOAAPI(4)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(8) = (NOAAPI(4)-(JPMICRO/2)) / JPMICRO ENDIF C C Flip latitudes if they run from south to north C Set scanning mode flags C IF( KSEC2(4).LT.KSEC2(7) ) THEN IF( LNOGRID ) THEN ITEMP = KSEC2(7) KSEC2(7) = KSEC2(4) KSEC2(4) = ITEMP KSEC2(11) = 0 ELSE KSEC2(11) = 64 ENDIF ELSE KSEC2(11) = NOSCNM ENDIF C C i and j direction increments C KSEC2(9) = (NOGRID(1) + (JPMICRO/2)) / JPMICRO KSEC2(10) = (NOGRID(2) + (JPMICRO/2)) / JPMICRO C C Following left same as for input product C - no.of vertical coordinate parameters, C - lat/long of southern pole of rotation C - lat/long of pole of stretching C C If rotated, put in new lat/long of southern pole of rotation C IF( LIROTAT.OR.LOROTAT ) THEN IF( NOROTA(1).GE.0 ) THEN KSEC2(13) = (NOROTA(1) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(13) = (NOROTA(1) - (JPMICRO/2)) / JPMICRO ENDIF IF( NOROTA(2).GE.0 ) THEN KSEC2(14) = (NOROTA(2) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(14) = (NOROTA(2) - (JPMICRO/2)) / JPMICRO ENDIF ENDIF C C Regular grid flag C KSEC2(17) = 0 C C Following left same as for input product C - earth flag C - components flag C Set the components flag for rotated U and V coefficients C IF(LUVCOMP) THEN KSEC2(19) = 8 ENDIF C - reserved fields C C OCEAN IF(LOCEAN) THEN c there is always bitmap for ocean ZASEC3(2) = RMISSGV KSEC3(2) = int(RMISSGV) KSEC1(5) = 192 c------------------- KSEC1(37) = 4 KSEC1(60) = NIOCO3 KSEC1(61) = NIOCO4 KSEC1(62) = NOOCO4F KSEC1(63) = NOOCO3F KSEC1(64) = NOOCO4L KSEC1(65) = NOOCO3L KSEC1(66) = NOOIINC KSEC1(67) = NOOJINC KSEC1(68) = NOOIRGR KSEC1(69) = NOONOST KSEC1(71) = 0 KSEC1(72) = 0 KSEC1(73) = 0 KSEC1(74) = 0 ENDIF ENDIF C C*********************************************************************** C Section 3.2. Setup section 2 for gaussian grids. C*********************************************************************** C 320 CONTINUE C IF ( (NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPFGGROT).OR. X (NOREPR.EQ.JPQUASI).OR. X (NOREPR.EQ.JPQGGROT) ) THEN C C Number of points along a parallel C C For a regular gaussian grid only IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN KSEC2(2) = NOWE ELSE KSEC2(2) = 0 ENDIF C C Number of points along a meridian C KSEC2(3) = NONS C C Latitude and longitude of first grid point C IF( NOAAPI(1).GE.0 ) THEN KSEC2(4) = (NOAAPI(1)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(4) = (NOAAPI(1)-(JPMICRO/2)) / JPMICRO ENDIF IF( NOAAPI(2).GE.0 ) THEN KSEC2(5) = (NOAAPI(2)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(5) = (NOAAPI(2)-(JPMICRO/2)) / JPMICRO ENDIF C C Resolution flag C C For a regular gaussian grid only, increments are given C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN KSEC2(6) = 128 ELSE KSEC2(6) = 0 ENDIF C C Latitude and longitude of last grid point C IF( NOAAPI(3).GE.0 ) THEN KSEC2(7) = (NOAAPI(3)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(7) = (NOAAPI(3)-(JPMICRO/2)) / JPMICRO ENDIF IF( NOAAPI(4).GE.0 ) THEN KSEC2(8) = (NOAAPI(4)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(8) = (NOAAPI(4)-(JPMICRO/2)) / JPMICRO ENDIF C C i direction increment C C For a regular gaussian grid, only C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN KSEC2(9) = (((JP90)/NOGAUSS)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(9) = 0 ENDIF C C Number of parallels between a pole and the Equator C KSEC2(10) = NOGAUSS C C Scanning mode flags C KSEC2(11) = NOSCNM C C Following left same as for input product C - no.of vertical coordinate parameters, C - lat/long of southern pole of rotation C - lat/long of pole of stretching C C If rotated, put in new lat/long of southern pole of rotation C IF( LIROTAT.OR.LOROTAT ) THEN IF( NOROTA(1).GE.0 ) THEN KSEC2(13) = (NOROTA(1) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(13) = (NOROTA(1) - (JPMICRO/2)) / JPMICRO ENDIF IF( NOROTA(2).GE.0 ) THEN KSEC2(14) = (NOROTA(2) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(14) = (NOROTA(2) - (JPMICRO/2)) / JPMICRO ENDIF ENDIF C C Regular grid flag C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN KSEC2(17) = 0 ELSE KSEC2(17) = 1 ENDIF C C Following left same as for input product C - earth flag C - components flag C Set the components flag for rotated U and V coefficients C IF(LUVCOMP) THEN KSEC2(19) = 8 ENDIF C - reserved fields C C For reduced grid, move in number of points along each parallel C IF( (NOREPR.EQ.JPQUASI) .OR. X (NOREPR.EQ.JPQGGROT) ) THEN DO 325 ILOOP = 1, KSEC2(3) KSEC2(22+ILOOP) = NOLPTS(ILOOP) 325 CONTINUE ENDIF C ENDIF C C*********************************************************************** C Section 3.3. Setup section 2 for spherical harmonic coefficients. C*********************************************************************** C 330 CONTINUE C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN C C I, K, M pentagonal resolution parameters C KSEC2(2) = NORESO KSEC2(3) = NORESO KSEC2(4) = NORESO C C Representation type, associated legendre functions of the C first kind KSEC2(5) = 1 C C Representation mode, complex packing C KSEC2(6) = 2 C C Following left same as for input product C - reserved words 7-11 C - no.of vertical coordinate parameters, C - lat/long of southern pole of rotation C - lat/long of pole of stretching C - reserved words 17-22 C C If rotated, put in new lat/long of southern pole of rotation C IF( LIROTAT.OR.LOROTAT ) THEN IF( NOROTA(1).GE.0 ) THEN KSEC2(13) = (NOROTA(1) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(13) = (NOROTA(1) - (JPMICRO/2)) / JPMICRO ENDIF IF( NOROTA(2).GE.0 ) THEN KSEC2(14) = (NOROTA(2) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(14) = (NOROTA(2) - (JPMICRO/2)) / JPMICRO ENDIF ENDIF ENDIF C C*********************************************************************** C Section 3. Setup output bitmap section 3. C*********************************************************************** IF(ISEC1(5).EQ.192) THEN KSEC3(2) = NINT(RMISSGV) ZASEC3(2) = RMISSGV cs KSEC3(2) = ISEC3(2) cs ZASEC3(2) = ZSEC3(2) KSEC1(5) = 192 ISEC1(5) = 0 ENDIF C C*********************************************************************** C Section 4. Setup output product section 4. C*********************************************************************** C 400 CONTINUE C C Number of values to be packed C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN KSEC4(1) = (NORESO + 1) * (NORESO + 2) ELSE IF( (NOREPR.EQ.JPQUASI).OR.(NOREPR.EQ.JPQGGROT) ) THEN KSEC4(1) = NOPCNT ELSE KSEC4(1) = NOWE * NONS ENDIF C C If all the values are missing, set the count of values negative C IF(NOMISS.NE.0) THEN KSEC4(1) = -KSEC4(1) ENDIF C C Number of bits used for each packed value C IF(LNOACC) THEN KSEC4(2) = NOACC ELSE KSEC4(2) = NIACC ENDIF C C Type of data, spherical harmonic = 128, grid point = 0 C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN KSEC4(3) = 128 ELSE KSEC4(3) = 0 ENDIF C C Type of packing, spherical harmonic = complex C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN KSEC4(4) = 1 ELSE KSEC4(4) = 4 ENDIF C Sinisa added jpeg packing just for merging with grib_api IF( NOHFUNC.EQ.'C' ) THEN c spectral complex KSEC4(4) = 1 ELSEIF( NOHFUNC.EQ.'S'.AND.NOREPR.EQ.JPSPHERE ) THEN c spectral simple KSEC4(4) = 2 ELSEIF( NOHFUNC.EQ.'J' ) THEN c grid jpeg KSEC4(4) = 3 ELSEIF( NOHFUNC.EQ.'S' ) THEN c grid simple KSEC4(4) = 4 ELSEIF( NOHFUNC.EQ.'K' ) THEN c grid second order KSEC4(4) = 7 ENDIF C C Type of data = floating point C KSEC4(5) = 0 C C Additional flags indicator = none C KSEC4(6) = 0 C C Reserved word, set to 0 C KSEC4(7) = 0 C C Following set to simplest case C - no.of values indicator C - secondary bitmaps indicator C - values width indicator C - no.of bits for 2nd order values C KSEC4(8) = 0 KSEC4(9) = 0 KSEC4(10) = 0 KSEC4(11) = 0 C C Reserved words, set to 0 C KSEC4(12) = 0 KSEC4(13) = 0 KSEC4(14) = 0 KSEC4(15) = 0 C C If spherical harmonics, set following for complex packing C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN C C KSEC4(16), pointer to start of packed data, setup by packing C KSEC4(17), scaling factor P, unchanged from input C KSEC4(18), pentagonal resolution parameter J for packing of subset, C unchanged from input C KSEC4(19), pentagonal resolution parameter K for packing of subset, C unchanged from input C KSEC4(20), pentagonal resolution parameter M for packing of subset, C unchanged from input C ELSE DO 410 ILOOP = 16, 20 KSEC4(ILOOP) = 0 410 CONTINUE ENDIF C C Words 21-33 reserved, set to zero. C DO 420 ILOOP = 21, 33 KSEC4(ILOOP) = 0 420 CONTINUE C C*********************************************************************** C Section 9. Closedown C*********************************************************************** C 900 CONTINUE C RETURN C C Invalid data represntation type C 910 CONTINUE CALL INTLOG(JP_ERROR, X 'GASETUP: Data representation type not recognized: ',NOREPR) CALL INTLOG(JP_ERROR, X 'GASETUP: Only the following types are recognized:',JPQUIET) CALL INTLOG(JP_ERROR,'GASETUP: Lat/long grid = ', JPREGULAR) CALL INTLOG(JP_ERROR,'GASETUP: Lat/long (rotated) = ', JPREGROT) CALL INTLOG(JP_ERROR,'GASETUP: regular gaussian = ', JPGAUSSIAN) CALL INTLOG(JP_ERROR,'GASETUP: reg gauss rotated = ', JPFGGROT) CALL INTLOG(JP_ERROR,'GASETUP: reduced gaussian = ', JPQUASI) CALL INTLOG(JP_ERROR,'GASETUP: red gauss rotated = ', JPQUASI) CALL INTLOG(JP_ERROR,'GASETUP: spherical harmonic = ', JPSPHERE) CALL INTLOG(JP_ERROR,'GASETUP: spectral (rotated) = ', JPSPHROT) C GASETUP = JPROUTINE + 1 RETURN END emoslib-000392+dfsg.1/interpolation/islproc.F0000755000175000017500000002131712127406245022136 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL FUNCTION ISLPROC(RLAT,RLON,NEWTYPE,OLAT,OLON,TYPE,PT,OLDFLD) C C----> C**** ISLPROC C C Purpose C ------- C C Generates a new field point from its four nearest neighbours C taking account of matching land-sea mask types. C C C Interface C --------- C C VALUE = ISLPROC(RLAT,RLON,NEWTYPE,OLAT,OLON,TYPE,PT,OLDFLD) C C Input C ----- C C RLAT - Latitude of the new point C RLON - Longitude of the new point C NEWTYPE - Land-sea mask type of the new point (land/sea) C OLAT - Latitudes of the four neighbouring points C OLON - Longitudes of the four neighbouring points C TYPE - Land-sea mask types of the four neighbouring points C PT - Positions in old field array of the four neighbours C OLDFLD - Array of old field values C C C Output C ------ C C Function returns a value for the new field point. C C C Method C ------ C C Find which neighbours have same land-sea mask type and use C them to calculate a new value by bi-linear interpolation. C C Use all four neighbours if none of them have the same C land-sea mask type as the new point. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF August 2000 C C Modifications C ------------- C C Force nearest neighbour processing with env variable or C INTOUT parameter C S.Curic ECMWF September 2005 C C----< C IMPLICIT NONE C C Function arguments C REAL RLAT,RLON,OLAT(2),OLON(4),OLDFLD(*) INTEGER NEWTYPE,TYPE(4),PT(4) C #include "intisl.h" #include "parim.h" #include "nifld.common" #include "nofld.common" C C Local variables C LOGICAL LVEGGY CHARACTER*12 YFLAG INTEGER MCOUNT, COUNT, LOOP, NEAREST REAL WEIGHT(4), MATCH(4), NWEIGHT, SWEIGHT, NORMAL C C -----------------------------------------------------------------| C* Section 1. Find which neighbours have same land-sea mask type C -----------------------------------------------------------------| C 100 CONTINUE C COUNT = 0 DO LOOP = 1, 4 IF( TYPE(LOOP).EQ.NEWTYPE ) THEN COUNT = COUNT + 1 MATCH(LOOP) = 1.0 ELSE MATCH(LOOP) = 0.0 ENDIF ENDDO C IF( COUNT.EQ.0 ) THEN C C Use all four neighbours if none of them have the same C land-sea mask type as the new point C COUNT = 4 DO LOOP = 1, 4 MATCH(LOOP) = 1.0 ENDDO ENDIF C C -----------------------------------------------------------------| C* Section 3. Handle case when missing values are present C -----------------------------------------------------------------| C 200 CONTINUE C C Identify matching neighbours with missing values C IF( LIMISSV ) THEN MCOUNT = 0 DO LOOP = 1, 4 IF((MATCH(LOOP).EQ.1.0).AND.(OLDFLD(PT(LOOP)).EQ.RMISSGV))THEN MCOUNT = MCOUNT + 1 MATCH(LOOP) = 0.0 COUNT = COUNT - 1 ENDIF ENDDO C C Set new value to 'missing' if all neighbours are missing C IF( (MCOUNT.EQ.4).OR.(COUNT.EQ.0) ) THEN ISLPROC = RMISSGV GOTO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 3. Use neighbours that match to calculate the new value C -----------------------------------------------------------------| C 300 CONTINUE C C Calculate the north/south weighting values allowing for C southern latitude to be same as northern latitude C NWEIGHT = OLAT(NORTH) - RLAT SWEIGHT = RLAT - OLAT(SOUTH) IF( SWEIGHT.EQ.0.0 ) NWEIGHT = 1.0 C C Calculate the weighting values for each matching neighbour C WEIGHT(NWEST) = ABS((OLON(SEAST) - RLON) * SWEIGHT) WEIGHT(NEAST) = ABS((RLON - OLON(SWEST)) * SWEIGHT) WEIGHT(SWEST) = ABS((OLON(NEAST) - RLON) * NWEIGHT) WEIGHT(SEAST) = ABS((RLON - OLON(NWEST)) * NWEIGHT) C C Normalise the weights since not all neighbours necessarily used C NORMAL = ( WEIGHT(NWEST) * MATCH(NWEST) + X WEIGHT(NEAST) * MATCH(NEAST) + X WEIGHT(SWEST) * MATCH(SWEST) + X WEIGHT(SEAST) * MATCH(SEAST) ) C C Special cases when matching points have no weight C IF( NORMAL.EQ.0.0 ) THEN C C Only one matching neighbour: set its weight so that is used C IF( COUNT.EQ.1 ) THEN NORMAL = 1.0 IF( MATCH(NWEST).EQ.1.0 ) WEIGHT(NWEST) = 1.0 IF( MATCH(NEAST).EQ.1.0 ) WEIGHT(NEAST) = 1.0 IF( MATCH(SWEST).EQ.1.0 ) WEIGHT(SWEST) = 1.0 IF( MATCH(SEAST).EQ.1.0 ) WEIGHT(SEAST) = 1.0 C C Two matching neighbours: set their weights to those of the C neighbours on the opposite side of the interpolation rectangle C ELSEIF( COUNT.EQ.2 ) THEN IF( (MATCH(NWEST).EQ.1.0).AND.(MATCH(NEAST).EQ.1.0) ) THEN WEIGHT(NWEST) = WEIGHT(SWEST) WEIGHT(NEAST) = WEIGHT(SWEST) NORMAL = WEIGHT(NWEST) + WEIGHT(NEAST) ELSEIF( (MATCH(NWEST).EQ.1.0).AND.(MATCH(SWEST).EQ.1.0) ) THEN WEIGHT(NWEST) = WEIGHT(NEAST) WEIGHT(SWEST) = WEIGHT(SEAST) NORMAL = WEIGHT(NWEST) + WEIGHT(SWEST) ELSEIF( (MATCH(NEAST).EQ.1.0).AND.(MATCH(SEAST).EQ.1.0) ) THEN WEIGHT(NEAST) = WEIGHT(NWEST) WEIGHT(SEAST) = WEIGHT(SWEST) NORMAL = WEIGHT(NEAST) + WEIGHT(SEAST) ELSEIF( (MATCH(SWEST).EQ.1.0).AND.(MATCH(SEAST).EQ.1.0) ) THEN WEIGHT(SWEST) = WEIGHT(NWEST) WEIGHT(SEAST) = WEIGHT(NEAST) NORMAL = WEIGHT(SWEST) + WEIGHT(SEAST) ELSEIF( (MATCH(NWEST).EQ.1.0).AND.(MATCH(SEAST).EQ.1.0) ) THEN WEIGHT(NWEST) = WEIGHT(NEAST) WEIGHT(SEAST) = WEIGHT(SWEST) NORMAL = WEIGHT(NWEST) + WEIGHT(SEAST) ELSE WEIGHT(NEAST) = WEIGHT(SEAST) WEIGHT(SWEST) = WEIGHT(NWEST) NORMAL = WEIGHT(NEAST) + WEIGHT(SWEST) ENDIF C C Three matching neighbours with no weight, ie the interpolation C point is coincident with a grid point, but the land-sea masks C disagree about its type. Use it anyway. C ELSE IF( MATCH(NWEST).EQ.0.0 ) THEN MATCH(NWEST) = 1.0 NORMAL = WEIGHT(NWEST) ELSE IF( MATCH(NEAST).EQ.0.0 ) THEN MATCH(NEAST) = 1.0 NORMAL = WEIGHT(NEAST) ELSE IF( MATCH(SWEST).EQ.0.0 ) THEN MATCH(SWEST) = 1.0 NORMAL = WEIGHT(SWEST) ELSE MATCH(SEAST) = 1.0 NORMAL = WEIGHT(SEAST) ENDIF ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 4. Interpolate C -----------------------------------------------------------------| C 400 CONTINUE C WEIGHT(NWEST) = WEIGHT(NWEST)/NORMAL WEIGHT(NEAST) = WEIGHT(NEAST)/NORMAL WEIGHT(SWEST) = WEIGHT(SWEST)/NORMAL WEIGHT(SEAST) = WEIGHT(SEAST)/NORMAL C C Use nearest neighbour for vegetation field C LVEGGY = (NITABLE.EQ.128).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30).OR. X (NIPARAM.EQ.43) ) C Force nearest neighbour processing with env variable CALL GETENV('NEAREST_NEIGHBOUR', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LVEGGY = .TRUE. C Force nearest neighbour processing with INTOUT parameter IF( LMETHOD ) LVEGGY = .TRUE. C IF( LVEGGY ) THEN NEAREST = NWEST IF( WEIGHT(NEAST).GT.WEIGHT(NEAREST) ) NEAREST = NEAST IF( WEIGHT(SWEST).GT.WEIGHT(NEAREST) ) NEAREST = SWEST IF( WEIGHT(SEAST).GT.WEIGHT(NEAREST) ) NEAREST = SEAST ISLPROC = OLDFLD(PT(NEAREST)) C ELSE C ISLPROC = ( (OLDFLD(PT(NWEST)) * WEIGHT(NWEST) * MATCH(NWEST)) + X (OLDFLD(PT(NEAST)) * WEIGHT(NEAST) * MATCH(NEAST)) + X (OLDFLD(PT(SWEST)) * WEIGHT(SWEST) * MATCH(SWEST)) + X (OLDFLD(PT(SEAST)) * WEIGHT(SEAST) * MATCH(SEAST)) ) ENDIF C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/hnei12.F0000755000175000017500000003257612127406245021562 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HNEI12 X (L12PNT,KLEN,RLAT,RLON,KGAUSS,KPTS,PLATIN, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) C C----> C**** HNEI12 C C Purpose C ------- C C This routine accepts a vector of points and finds the 12 C neighbours for each point suitable for horizontal interpolation. C C C Interface C --------- C C IRET = HNEI12(L12PNT,KLEN,RLAT,RLON,KGAUSS,KPTS,PLATIN, C X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C = .TRUE. for 12-point horizontal C = .FALSE. for 4-point C KLEN - Number of points along the vector C RLAT - List of latitudes for points. C RLON - List of longitudes for points. C KGAUSS - Original gaussian field number. C KPTS - List giving number of points in each latitude in original C gaussian field. C PLATIN - Original gaussian field latitudes (north and south). C C C Output parameters C ----------------- C C KSCHEME - Flag showing interpolation scheme to use for point C 0 = 12-point C 1 = 4-point bilinear C 2 = nearest neighbour C PDLAT - Meridian linear weight. C PDLO0 - Zonal linear weight for the latitude of point 5. C PDLO1 - Zonal linear weight for the latitude of point 1. C PDLO2 - Zonal linear weight for the latitude of point 3. C PDLO3 - Zonal linear weight for the latitude of point 11. C KLA - Latitude number in original field of latitude north of C each point in the vector. C NEIGH - List of indices in the original field of neighbouring C point values for each point in the vector. C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C None. C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JNORSGG - Finds gaussian latitude north or south of given latitude C JDEBUG - Tests if debug output required. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C C C Reference C --------- C C ECMWF Meteorological Bulletin M1.6/7 C IFS Documentation C Part VI: Technical and Computational Procedures (CY21R4) C March 2000 C Section 2.3 C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE #include "parim.h" C C Parameters C INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) C C Function arguments C LOGICAL L12PNT INTEGER KLEN, KGAUSS, KPTS(KGAUSS*2) REAL RLAT(KLEN), RLON(KLEN), PLATIN(KGAUSS*2) C INTEGER KLA(KLEN), KSCHEME(KLEN) REAL PDLAT(KLEN),PDLO0(KLEN),PDLO1(KLEN),PDLO2(KLEN),PDLO3(KLEN) INTEGER NEIGH(12,*) C C Local variables C INTEGER NEXT, LOOP, NBYTES INTEGER NLAT0, NLAT1, NLAT2, NLAT3, NLAT(12), NLONG(12) REAL STEP0, STEP1, STEP2, STEP3 INTEGER NPREV, ISIZE, ISIZOLD, IOFFSET(1) POINTER( IPOFF, IOFFSET ) C DATA ISIZOLD/-1/, NPREV/-1/ SAVE ISIZOLD,IPOFF,NPREV C C Externals C INTEGER JNORSGG #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HNEI12 = 0 C CALL JDEBUG() C C Get memory for offset array. C ISIZE = KGAUSS*2 + 1 IF( ISIZE.GT.ISIZOLD ) THEN C IF( ISIZOLD.GT.0 ) CALL JFREE(IPOFF) C NBYTES = ISIZE * JPBYTES IPOFF = JMALLOC(NBYTES) #ifdef hpR64 IPOFF = IPOFF/(1024*1024*1024*4) #endif IF( IPOFF.EQ.0 ) THEN CALL INTLOG(JP_WARN,'HNEI12: Memory allocate fail ',JPQUIET) HNEI12 = 1 GOTO 900 ENDIF C ISIZOLD = ISIZE NPREV = -1 C ENDIF C C Build up offsets to start of each latitude in the original field. C IF( KGAUSS.NE.NPREV ) THEN IOFFSET(1) = 1 DO LOOP = 2, (KGAUSS*2+1) IOFFSET(LOOP) = IOFFSET(LOOP-1) + KPTS(LOOP-1) ENDDO NPREV = KGAUSS ENDIF C C -----------------------------------------------------------------| C Section 2. Loop through points along the vector. C -----------------------------------------------------------------| C 200 CONTINUE C DO NEXT = 1,KLEN C C Clear current neighbour indices C DO LOOP = 1, 12 NEIGH(LOOP,NEXT) = 0 ENDDO C C Find latitude numbers for neighbours. C C First find latitude numbers to north and south of the point C C -----------------------------------------------------------------| C Section 3. Nearest neighbour to be used. C -----------------------------------------------------------------| C 300 CONTINUE C IF( RLAT(NEXT).GT.PLATIN(1) ) THEN CALL INTLOG(JP_DEBUG, X 'HNEI12: Nearest neighbour to south used for point ',NEXT) C C Above northern latitude of original field, so use nearest C neighbour (point 3 or 4) C STEP2 = 360.0 / REAL(KPTS(1)) NLONG( 3) = 1 + INT(RLON(NEXT)/STEP2) IF( NLONG( 3).GT.KPTS(1) ) NLONG( 3) = 1 NLONG( 4) = NLONG(3) + 1 IF( NLONG( 4).GT.KPTS(1) ) NLONG( 4) = 1 C IF( ABS((RLON(NEXT) - REAL(NLONG(3)-1)*STEP2 )) .LE. X ABS((RLON(NEXT) - REAL(NLONG(4)-1)*STEP2 )) ) THEN NEIGH(3,NEXT) = NLONG(3) ELSE NEIGH(4,NEXT) = NLONG(4) ENDIF KSCHEME(NEXT) = JPNEARN GOTO 600 ENDIF C IF( RLAT(NEXT).LT.PLATIN(KGAUSS*2) ) THEN CALL INTLOG(JP_DEBUG, X 'HNEI12: Nearest neighbour to north used for point ',NEXT) C C Below southern latitude of original field, so use nearest C neighbour (point 1 or 2) C STEP1 = 360.0 / REAL(KPTS(KGAUSS*2)) NLONG( 1) = 1 + INT(RLON(NEXT)/STEP1) IF( NLONG( 1).GT.KPTS(KGAUSS*2) ) NLONG( 1) = 1 NLONG( 2) = NLONG(1) + 1 IF( NLONG( 2).GT.KPTS(KGAUSS*2) ) NLONG( 2) = 1 C IF( ABS((RLON(NEXT) - REAL(NLONG(1)-1)*STEP1 )) .LE. X ABS((RLON(NEXT) - REAL(NLONG(2)-1)*STEP1 )) ) THEN NEIGH(1,NEXT) = IOFFSET(KGAUSS*2) + NLONG(1) - 1 ELSE NEIGH(2,NEXT) = IOFFSET(KGAUSS*2) + NLONG(2) - 1 ENDIF KSCHEME(NEXT) = JPNEARN GOTO 600 ENDIF C NLAT1 = JNORSGG(RLAT(NEXT),PLATIN,KGAUSS,1) NLAT2 = JNORSGG(RLAT(NEXT),PLATIN,KGAUSS,0) C IF( NLAT2.EQ.NLAT1) NLAT2 = NLAT1 + 1 C C Find outer latitude numbers to north and south of the point C NLAT0 = NLAT1 - 1 NLAT3 = NLAT2 + 1 C C -----------------------------------------------------------------| C Section 4. 4-point bilinear to be used. C -----------------------------------------------------------------| C 400 CONTINUE C IF( (NLAT0.EQ.0).OR.(NLAT3.GT.KGAUSS*2).OR.(.NOT.L12PNT) ) THEN Cjdc CALL INTLOG(JP_DEBUG, Cjdc X 'HNEI12: 4-pt bilinear interpolation used for point ',NEXT) C C Between two northern latitudes or two southern latitudes of C original field, so use 4-point bilinear interpolation C (points 1, 2, 3 and 4) C C Points 1 and 2 C STEP1 = 360.0 / REAL(KPTS(NLAT1)) NLONG(1) = 1 + INT(RLON(NEXT)/STEP1) IF( NLONG(1).GT.KPTS(NLAT1) ) NLONG(1) = 1 NLONG(2) = NLONG(1) + 1 IF( NLONG(2).GT.KPTS(NLAT1) ) NLONG(2) = 1 C NEIGH(1,NEXT) = IOFFSET(NLAT1) + NLONG(1) - 1 NEIGH(2,NEXT) = IOFFSET(NLAT1) + NLONG(2) - 1 C C Points 3 and 4 C STEP2 = 360.0 / REAL(KPTS(NLAT2)) NLONG( 3) = 1 + INT(RLON(NEXT)/STEP2) IF( NLONG( 3).GT.KPTS(NLAT2) ) NLONG( 3) = 1 NLONG( 4) = NLONG(3) + 1 IF( NLONG( 4).GT.KPTS(NLAT2) ) NLONG( 4) = 1 C NEIGH(3,NEXT) = IOFFSET(NLAT2) + NLONG(3) - 1 NEIGH(4,NEXT) = IOFFSET(NLAT2) + NLONG(4) - 1 C C Calculate zonal linear weights for the latitudes. C PDLO1(NEXT) = ( RLON(NEXT) - REAL(NLONG(1)-1)*STEP1 ) / STEP1 PDLO2(NEXT) = ( RLON(NEXT) - REAL(NLONG(3)-1)*STEP2 ) / STEP2 C KLA(NEXT) = NLAT1 PDLAT(NEXT) = ( RLAT(NEXT) - PLATIN(NLAT1) ) / X ( PLATIN(NLAT2) - PLATIN(NLAT1) ) C KSCHEME(NEXT) = JP4PT GOTO 600 ENDIF C C -----------------------------------------------------------------| C Section 5. 12-point interpolation to be used. C -----------------------------------------------------------------| C 500 CONTINUE C KSCHEME(NEXT) = JP12PT C KLA(NEXT) = NLAT1 PDLAT(NEXT) = ( RLAT(NEXT) - PLATIN(NLAT1) ) / X ( PLATIN(NLAT2) - PLATIN(NLAT1) ) C C Northernmost C NLAT(5) = NLAT0 NLAT(6) = NLAT0 C C Northern C NLAT(7) = NLAT1 NLAT(1) = NLAT1 NLAT(2) = NLAT1 NLAT(8) = NLAT1 C C Southern C NLAT( 9) = NLAT2 NLAT( 3) = NLAT2 NLAT( 4) = NLAT2 NLAT(10) = NLAT2 C C Southernmost C NLAT(11) = NLAT3 NLAT(12) = NLAT3 C C -----------------------------------------------------------------| C Find longitude numbers for neighbours. C -----------------------------------------------------------------| C C Northernmost C STEP0 = 360.0 / REAL(KPTS(NLAT0)) NLONG(5) = 1 + INT(RLON(NEXT)/STEP0) IF( NLONG(5).GT.KPTS(NLAT0) ) NLONG(5) = 1 NLONG(6) = NLONG(5) + 1 IF( NLONG(6).GT.KPTS(NLAT0) ) NLONG(6) = 1 C C Northern C STEP1 = 360.0 / REAL(KPTS(NLAT1)) NLONG(1) = 1 + INT(RLON(NEXT)/STEP1) IF( NLONG(1).GT.KPTS(NLAT1) ) NLONG(1) = 1 NLONG(7) = NLONG(1) - 1 IF( NLONG(7).LT.1 ) NLONG(7) = KPTS(NLAT1) NLONG(2) = NLONG(1) + 1 IF( NLONG(2).GT.KPTS(NLAT1) ) NLONG(2) = 1 NLONG(8) = NLONG(2) + 1 IF( NLONG(8).GT.KPTS(NLAT1) ) NLONG(8) = 1 C C Southern C STEP2 = 360.0 / REAL(KPTS(NLAT2)) NLONG( 3) = 1 + INT(RLON(NEXT)/STEP2) IF( NLONG( 3).GT.KPTS(NLAT2) ) NLONG( 3) = 1 NLONG( 9) = NLONG(3) - 1 IF( NLONG( 9).LT.1 ) NLONG( 9) = KPTS(NLAT2) NLONG( 4) = NLONG(3) + 1 IF( NLONG( 4).GT.KPTS(NLAT2) ) NLONG( 4) = 1 NLONG(10) = NLONG(4) + 1 IF( NLONG(10).GT.KPTS(NLAT2) ) NLONG(10) = 1 C C Southernmost C STEP3 = 360.0 / REAL(KPTS(NLAT3)) NLONG(11) = 1 + INT(RLON(NEXT)/STEP3) IF( NLONG(11).GT.KPTS(NLAT3) ) NLONG(11) = 1 NLONG(12) = NLONG(11) + 1 IF( NLONG(12).GT.KPTS(NLAT3) ) NLONG(12) = 1 C C -----------------------------------------------------------------| C Calculate zonal linear weights for the latitudes. C -----------------------------------------------------------------| C PDLO0(NEXT) = ( RLON(NEXT) - REAL(NLONG(5)-1)*STEP0 ) / STEP0 C PDLO1(NEXT) = ( RLON(NEXT) - REAL(NLONG(1)-1)*STEP1 ) / STEP1 C PDLO2(NEXT) = ( RLON(NEXT) - REAL(NLONG(3)-1)*STEP2 ) / STEP2 C PDLO3(NEXT) = ( RLON(NEXT) - REAL(NLONG(11)-1)*STEP3 ) / STEP3 C C -----------------------------------------------------------------| C Store indices of the neighbours. C -----------------------------------------------------------------| C DO LOOP = 1, 12 NEIGH(LOOP,NEXT) = IOFFSET(NLAT(LOOP)) + NLONG(LOOP) - 1 ENDDO C C -----------------------------------------------------------------| C Section 6. End of loop along vector of points. C -----------------------------------------------------------------| C 600 CONTINUE C ENDDO C C -----------------------------------------------------------------| C Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/hgenll.F0000755000175000017500000001510412127406245021731 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HGENLL(AREA,POLE,GRID,NLON,NLAT,RLAT,RLON) C C----> C**** HGENLL C C Purpose C ------- C C This routine calculates the original latitude and longitude C values (before rotation) for a rotatedlat/long grid. C C C Interface C --------- C C IRET = HGENLL(AREA,POLE,GRID,NLON,NLAT,RLAT,RLON) C C C Input parameters C ---------------- C C AREA - Limits of area (N/W/S/E) C POLE - Pole of rotation (lat/long) C GRID - Grid increments (i/j) C C C Output parameters C ----------------- C C NLON - Number of points along a parallel in the rotated grid. C NLAT - Number of points along a meridien in the rotated grid. C RLAT - Vector of orginal latitude values for the points in C the rotated grid. C RLON - Vector of orginal longitude values for the points in C the rotated grid. C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C None. C C C Method C ------ C C The vector of points runs from West to East in rows, the rows C run from North to South. C C C Externals C --------- C C INTLOG - Log error message. C JDEBUG - Tests if debug output required. C HLL2XYZ - Converts a latitude/longitude position to (x,y,z) C wrt axes through the centre of the globe. The z-axis C runs from the south to north pole. The x- and y-axes C are in the plane of the equator with the x-axis C pointing out through lat/long (0,0). C YROTATE - Rotates the globe about the new y-axis. C XYZ2LL - Converts an (x,y,z) position to a latitude/longitude. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE #include "parim.h" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON REAL JSCALE PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) PARAMETER (JSCALE = 1000.0 ) C C Function arguments C REAL AREA(4),POLE(2),GRID(2), RLAT(*),RLON(*) INTEGER NLON,NLAT C C Local variables C INTEGER NEXT, LOOP, LOOPI, LOOPO, IGRIDNI, IGRIDNJ INTEGER ISIZE, ISIZOLD, NBYTES REAL ZLAT, X(1), Y(1), Z(1) REAL RX(1), RY(1), RZ(1) POINTER( IPX, X ) POINTER( IPY, Y ) POINTER( IPZ, Z ) POINTER( IPRX, RX ) POINTER( IPRY, RY ) POINTER( IPRZ, RZ ) C DATA ISIZOLD/-1/ SAVE ISIZOLD,IPX,IPY,IPZ,IPRX,IPRY,IPRZ C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HGENLL = 0 C CALL JDEBUG() C C -----------------------------------------------------------------| C Section 2. Calculate current grid latitudes and longitudes C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + NINT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) NLAT = 1 + NINT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) IGRIDNI = NINT(GRID(JW_E)*JSCALE) IGRIDNJ = NINT(GRID(JN_S)*JSCALE) C NEXT = 1 DO LOOPO = 1, NLAT ZLAT = AREA(JNORTH) - REAL((LOOPO-1)*IGRIDNJ)/JSCALE DO LOOPI = 1, NLON RLON(NEXT) = AREA(JWEST) + REAL((LOOPI-1)*IGRIDNI)/JSCALE IF( RLON(NEXT).LT.0.0 ) RLON(NEXT) = RLON(NEXT) + 360.0 RLAT(NEXT) = ZLAT NEXT = NEXT + 1 ENDDO ENDDO C C -----------------------------------------------------------------| C Section 3. Get some space for rotating the lat/longs C -----------------------------------------------------------------| C 300 CONTINUE C ISIZE = NLAT *NLON IF( ISIZE.GT.ISIZOLD ) THEN C IF( ISIZOLD.GT.0 ) CALL JFREE(IPX) C NBYTES = 6*ISIZE*JPRLEN C IPX = JMALLOC(NBYTES) #ifdef hpR64 IPX = IPX/(1024*1024*1024*4) #endif IF( IPX.EQ.0 ) THEN CALL INTLOG(JP_WARN,'HGENLL: Memory allocate fail',JPQUIET) HGENLL = 1 GOTO 900 ENDIF C IPY = IPX + (ISIZE*JPRLEN) IPZ = IPY + (ISIZE*JPRLEN) IPRX = IPZ + (ISIZE*JPRLEN) IPRY = IPRX + (ISIZE*JPRLEN) IPRZ = IPRY + (ISIZE*JPRLEN) C ISIZOLD = ISIZE C ENDIF C C -----------------------------------------------------------------| C Section 4. Calculate the lat/longs before rotation C -----------------------------------------------------------------| C 400 CONTINUE C C Convert the rotated row points lat/longs to (x,y,z) coordinates C CALL HLL2XYZ(RLAT,RLON,X,Y,Z,ISIZE) C C Rotate the rotated row points back through the original latitude C rotation C CALL YROTATE(-(90.0+POLE(JLAT)),X,Y,Z,RX,RY,RZ,ISIZE) C C Convert the rotated row points adjusted (x,y,z) coordinates to C lat/long in the original grid (but still containing the C longitude rotation) C CALL XYZ2LL(RX,RY,RZ,RLAT,RLON,ISIZE) C C Adjust the rotated line longitudes to remove the longitude C rotation C DO LOOP = 1, ISIZE RLON(LOOP) = RLON(LOOP) + POLE(JLON) IF( RLON(LOOP).LT.0.0 ) RLON(LOOP) = RLON(LOOP) + 360.0 IF( RLON(LOOP).GE.360.0 ) RLON(LOOP) = RLON(LOOP) - 360.0 ENDDO C C -----------------------------------------------------------------| C Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/hgengg.F0000755000175000017500000001707312127406245021726 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HGENGG(AREA,POLE,KGNNEW,HGTYPE,KNPTS,GNLATS, X IGSIZE,RLAT,RLON,NUMPTS) C C----> C**** HGENGG C C Purpose C ------- C C This routine calculates the original latitude and longitude C values (before rotation) for a rotated gaussian grid. C C C Interface C --------- C C IRET = HGENGG(AREA,POLE,KGNNEW,HGTYPE,KNPTS,IGSIZE, C X RLAT,RLON,NUMPTS) C C C Input parameters C ---------------- C C AREA - Limits of area (N/W/S/E) C POLE - Pole of rotation (lat/long) C KGNNEW - Gaussian number for field C HGTYPE - Type of new gaussian field C 'F' = full, ie regular C 'R' = reduced, ie quasi-regular C KNPTS - Array containing number of points at each latitude C GNLATS - Array containing list of gaussian latitudes C IGSIZE - The size of the array to fill with the gaussian field C NUMPTWE - Calculate number of grid pts in range from west to east C C C Output parameters C ----------------- C C RLAT - Vector of orginal latitude values for the points in C the rotated grid. C RLON - Vector of orginal longitude values for the points in C the rotated grid. C NUMPTS - Number of points in new field C C Returns 0 if function successful, non-zero otherwise. C C C Common block usage C ------------------ C C None. C C C Method C ------ C C The vector of points runs from West to East in rows, the rows C run from North to South. C C C Externals C --------- C C INTLOG - Log error message. C JDEBUG - Tests if debug output required. C HLL2XYZ - Converts a latitude/longitude position to (x,y,z) C wrt axes through the centre of the globe. The z-axis C runs from the south to north pole. The x- and y-axes C are in the plane of the equator with the x-axis C pointing out through lat/long (0,0). C YROTATE - Rotates the globe about the new y-axis. C XYZ2LL - Converts an (x,y,z) position to a latitude/longitude. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nofld.common" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON REAL JSCALE PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) PARAMETER (JSCALE = 1000.0 ) C C Function arguments C CHARACTER*1 HGTYPE INTEGER KGNNEW,KNPTS(KGNNEW*2),IGSIZE,NUMPTS REAL AREA(4),POLE(2),RLAT(*),RLON(*), GNLATS(KGNNEW*2) C C Local variables C INTEGER LOOP, LOOPI, LOOPO, IGRIDNI, NLON INTEGER ISIZE, ISIZOLD, NBYTES REAL GRID, X(1), Y(1), Z(1) REAL RX(1), RY(1), RZ(1) POINTER( IPX, X ) POINTER( IPY, Y ) POINTER( IPZ, Z ) POINTER( IPRX, RX ) POINTER( IPRY, RY ) POINTER( IPRZ, RZ ) C DATA ISIZOLD/-1/ SAVE ISIZOLD,IPX,IPY,IPZ,IPRX,IPRY,IPRZ C C Externals C INTEGER NUMPTWE #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C Statement functions C REAL A, B LOGICAL SOUTHOF SOUTHOF(A,B) = ((A) - (B)).GT.-1E-4 C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HGENGG = 0 C CALL JDEBUG() C C -----------------------------------------------------------------| C Section 2. Calculate current grid latitudes and longitudes C -----------------------------------------------------------------| C 200 CONTINUE C GRID = 360.0 / REAL(KGNNEW*4) IGRIDNI = NINT(GRID*JSCALE) C NUMPTS = 0 NOPCNT = 0 NONS = 0 NOWE = 0 NO1NS = 0 C DO LOOPO = 1, KGNNEW*2 C C Generate points inside the area only. C IF( SOUTHOF(AREA(JNORTH),GNLATS(LOOPO)).AND. X SOUTHOF(GNLATS(LOOPO),AREA(JSOUTH)) ) THEN C IF( NO1NS.EQ.0 ) NO1NS = LOOPO NONS = NONS + 1 C C Grid step varies for a reduced (quasi-regular) gaussian grid C IF( HGTYPE.EQ.'R' ) THEN GRID = 360.0 / REAL(KNPTS(LOOPO)) IGRIDNI = NINT(GRID*JSCALE) ENDIF C NLON = NUMPTWE(AREA(JWEST),AREA(JEAST),GRID) NOWE = NLON DO LOOPI = 1, NLON NUMPTS = NUMPTS + 1 RLAT(NUMPTS) = GNLATS(LOOPO) RLON(NUMPTS) = AREA(JWEST)+REAL((LOOPI-1)*IGRIDNI)/JSCALE ENDDO ENDIF ENDDO C C -----------------------------------------------------------------| C Section 3. Get some space for rotating the lat/longs C -----------------------------------------------------------------| C 300 CONTINUE C NOPCNT = NUMPTS ISIZE = NUMPTS IF( ISIZE.GT.ISIZOLD ) THEN C IF( ISIZOLD.GT.0 ) CALL JFREE(IPX) C NBYTES = 6*ISIZE*JPRLEN C IPX = JMALLOC(NBYTES) #ifdef hpR64 IPX = IPX/(1024*1024*1024*4) #endif IF( IPX.EQ.0 ) THEN CALL INTLOG(JP_WARN,'HGENGG: Memory allocate fail',JPQUIET) HGENGG = 1 GOTO 900 ENDIF C IPY = IPX + (ISIZE*JPRLEN) IPZ = IPY + (ISIZE*JPRLEN) IPRX = IPZ + (ISIZE*JPRLEN) IPRY = IPRX + (ISIZE*JPRLEN) IPRZ = IPRY + (ISIZE*JPRLEN) C ISIZOLD = ISIZE C ENDIF C C -----------------------------------------------------------------| C Section 4. Calculate the lat/longs before rotation C -----------------------------------------------------------------| C 400 CONTINUE C C Convert the rotated row points lat/longs to (x,y,z) coordinates C CALL HLL2XYZ(RLAT,RLON,X,Y,Z,ISIZE) C C Rotate the rotated row points back through the original latitude C rotation C CALL YROTATE(-(90.0+POLE(JLAT)),X,Y,Z,RX,RY,RZ,ISIZE) C C Convert the rotated row points adjusted (x,y,z) coordinates to C lat/long in the original grid (but still containing the C longitude rotation) C CALL XYZ2LL(RX,RY,RZ,RLAT,RLON,ISIZE) C C Adjust the rotated line longitudes to remove the longitude C rotation C DO LOOP = 1, ISIZE RLON(LOOP) = RLON(LOOP) + POLE(JLON) IF( RLON(LOOP).LT.0.0 ) RLON(LOOP) = RLON(LOOP) + 360.0 IF( RLON(LOOP).GE.360.0 ) RLON(LOOP) = RLON(LOOP) - 360.0 ENDDO C C -----------------------------------------------------------------| C Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/dummy2.F0000755000175000017500000000075612127406245021704 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DUMMY2() C----> C C Dummy routine to satisfy makefile. C C----< RETURN END emoslib-000392+dfsg.1/interpolation/wv2di32.F0000755000175000017500000002305712127406245021666 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WV2DI32(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM,NUMNEW,NEWLATS,NEWWAVE) C C----> C*****WV2DI32* C C PURPOSE C ------- C C Determines which nearest-neighbour values of an input global wave C 2D-spectra grid field to use for an output global wave 2D-spectra C grid field. C (32-bit REALs version) C C C INTERFACE C --------- C C IRET = WV2DI32(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, C X KNEWNUM,NUMNEW,NEWLATS,NEWWAVE) C C Input arguments C --------------- C C KOLDNUM - No. of meridians from North to South pole (input field) C NUMOLD - Array giving number of points along each latitude C (empty latitudes have entry 0) C OLDLATS - input field latitudes C OLDWEST - western longitude of the input field (degrees) C OLDEAST - eastern longitude of the input field (degrees) C C KNEWNUM - No. of meridians from North to South pole (output field) C NUMNEW - Array giving number of points along each latitude C (empty latitudes have entry 0) C NEWLATS - output field latitudes C C Output arguments C ---------------- C C NEWWAVE - Indices of points to use C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C The index of the nearest neighbouring grid point value of C the input field is assigned to each point of the output C grid. C The index is zero if the output grid point is 'missing'. C C The input field can be regular or quasi-regular, and can be C global or a subarea. C The output field can be regular or quasi-regular. C C C EXTERNALS C --------- C C INTLOG - Log error message. C C C REFERENCE C --------- C C None C C C Author. C ------- C C J.D.Chambers ECMWF October 1997 C C C----< C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19410 ) INTEGER JPLLMAX PARAMETER ( JPLLMAX = 721 ) C `--> allow upto 0.25 degree resolution INTEGER JPNMOUT PARAMETER ( JPNMOUT = 720 ) C `--> allow upto 0.25 degree resolution C C Function arguments C INTEGER KOLDNUM, NUMOLD, KNEWNUM, NUMNEW DIMENSION NUMOLD(*), NUMNEW(*) REAL*4 OLDWEST, OLDEAST, OLDLATS, NEWLATS DIMENSION OLDLATS(*), NEWLATS(*) INTEGER NEWWAVE DIMENSION NEWWAVE(*) C C Local arguments C INTEGER K, NEWCOL, NEWROW, INCOL, LOOP, NEXT INTEGER I_NW, I_SW, I_N, I_S, I_NE, I_SE REAL*8 DELONGN, DELONGS, DIFF, RESOL, DINC REAL*8 DIST_NW, DIST_SW, DIST_NE, DIST_SE, DIST_N, DIST_S REAL*4 DISNW, DISNE, DISSW, DISSE REAL*8 ZXIN, ZXIS, LON, LAT, OWEST, OEAST DIMENSION LON(JPNMOUT*2) LOGICAL LINGNS, LINGWE INTEGER INDEXI DIMENSION INDEXI(JPLLMAX) C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WV2DI32 = 0 CALL INTLOG(JP_DEBUG, X 'WV2DI32: Wave interpolation requested.',JPQUIET) C C Check latitude/longitude grid specification IF( KOLDNUM.GT.JPLLMAX ) THEN CALL INTLOG(JP_ERROR, X 'WV2DI32: Number of latitudes in input grid = ',KOLDNUM) CALL INTLOG(JP_ERROR, X 'WV2DI32: And is greater than allowed maximum = ',JPLLMAX) WV2DI32 = JPROUTINE + 1 GOTO 900 ENDIF C C Set up INDEXI for latitude lines in input lat/lon array C INDEXI(1) = 0 DO LOOP = 2, KOLDNUM INDEXI(LOOP) = INDEXI(LOOP-1) + NUMOLD(LOOP-1) ENDDO C OEAST = OLDEAST OWEST = OLDWEST C C --------------------------------------------------------------------- C* Section 2. Interpolation. C --------------------------------------------------------------------- C 200 CONTINUE C NEXT = 1 C DO 220 NEWROW = 1, KNEWNUM C C Find old latitude rows to north and south of new latitude and C set up the distance between new row and the old rows to N and S. C DO LOOP = 1, KOLDNUM -1 IF( (NEWLATS(NEWROW).LE.OLDLATS(LOOP)) .AND. X (NEWLATS(NEWROW).GT.OLDLATS(LOOP+1)) ) THEN I_N = LOOP I_S = MIN(LOOP+1,KOLDNUM) GOTO 205 ENDIF ENDDO C IF( NEWLATS(NEWROW).EQ.OLDLATS(KOLDNUM) ) THEN I_N = KOLDNUM I_S = KOLDNUM ELSE I_N = -1 I_S = -1 ENDIF C 205 CONTINUE IF( I_N.NE.I_S) THEN DIFF = OLDLATS(I_N) - OLDLATS(I_S) DIST_N = (OLDLATS(I_N) - NEWLATS(NEWROW)) / DIFF ELSE DIST_N = 1.0 ENDIF DIST_S = 1.0 - DIST_N C C Check if the new interpolated row lies between 2 old rows which C have data points C LINGNS = .FALSE. IF( I_N.GT.0 ) THEN IF( (NUMOLD(I_N).GT.0).AND.(NUMOLD(I_S).GT.0) ) THEN C C Yes, so set up the grid increments. C DINC = 360.0/DBLE(NUMOLD(I_N)) DELONGN = (DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X +DINC) / DBLE(NUMOLD(I_N)) DINC = 360.0/DBLE(NUMOLD(I_S)) DELONGS = (DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X +DINC) / DBLE(NUMOLD(I_S)) LINGNS = .TRUE. ENDIF C C The equator is given special treatment so that the northern C and southern hemispheres for the parameter 250 can (later) C be stitched together. C C If the input field finishs at the equator and the output C field has a line at the equator, use the input equator for C interpolation. C IF( NEWLATS(I_N).EQ.0.0 .AND. x ((NUMOLD(I_N).GT.0).AND.(NUMOLD(I_S).EQ.0)) ) THEN C C Yes, so set up the grid increments. C DINC = 360.0/DBLE(NUMOLD(I_N)) DELONGN = (DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X +DINC) / DBLE(NUMOLD(I_N)) DELONGS = DELONGN DIST_N = 0.0 DIST_S = 1.0 LINGNS = .TRUE. ENDIF ENDIF C C Setup longitudes for the current row C INCOL = NUMNEW(NEWROW) IF( INCOL.NE.0 ) THEN RESOL = 360.0/DBLE(INCOL) DO LOOP = 1, INCOL LON(LOOP) = DBLE(LOOP-1)*RESOL ENDDO C DO 210 NEWCOL = 1, INCOL C LINGWE = (LON(NEWCOL).GT.OWEST).OR.(LON(NEWCOL).LT.OEAST) C IF( LINGNS .AND. LINGWE ) THEN C C If point to be interpolated is inside the input field , C work out distances from new point to four neighbours. C ZXIN = DMOD( (LON(NEWCOL) + (360.0-OWEST) + DBLE(720.0)), X DBLE(360.0)) ZXIS = ZXIN ZXIN = ZXIN/DELONGN + 1.0 ZXIS = ZXIS/DELONGS + 1.0 I_NW = INT(ZXIN) I_NE = I_NW + 1 I_SW = INT(ZXIS) I_SE = I_SW + 1 C C Allow wrap-around C C I_NW = MOD(I_NW,NUMOLD(I_N)) I_NE = MOD(I_NE,NUMOLD(I_N)) I_SW = MOD(I_SW,NUMOLD(I_S)) I_SE = MOD(I_SE,NUMOLD(I_S)) IF( I_NW.EQ.0 ) I_NW = NUMOLD(I_N) IF( I_SW.EQ.0 ) I_SW = NUMOLD(I_S) IF( I_NE.EQ.0 ) I_NE = NUMOLD(I_N) IF( I_SE.EQ.0 ) I_SE = NUMOLD(I_S) C C Calculate distance from interpolated point to its neighbours C DIST_NW = ZXIN - REAL(I_NW) DIST_NE = 1.0 - DIST_NW DIST_SW = ZXIS - REAL(I_SW) DIST_SE = 1.0 - DIST_SW C C Take nearest grid point value. C DISNW = DIST_NW*DIST_NW + DIST_N*DIST_N DISNE = DIST_NE*DIST_NE + DIST_N*DIST_N DISSW = DIST_SW*DIST_SW + DIST_S*DIST_S DISSE = DIST_SE*DIST_SE + DIST_S*DIST_S C IF( (DISNW.LE.DISNE).AND.(DISNW.LE.DISSW).AND. X (DISNW.LE.DISSE) ) THEN C C Use north-west neighbour C NEWWAVE(NEXT) = INDEXI(I_N)+I_NW C ELSE IF( (DISNE.LE.DISSW).AND.(DISNE.LE.DISSE) ) THEN C C Use north-east neighbour C NEWWAVE(NEXT) = INDEXI(I_N)+I_NE C ELSE IF( DISSW.LE.DISSE ) THEN C C Use south-west neighbour C NEWWAVE(NEXT) = INDEXI(I_S)+I_SW ELSE C C Use south-east neighbour C NEWWAVE(NEXT) = INDEXI(I_S)+I_SE ENDIF C C If the point to be interpolated is outside the input field, C set it to 'land'. C ELSE NEWWAVE(NEXT) = 0 ENDIF C NEXT = NEXT + 1 C 210 CONTINUE C ENDIF C 220 CONTINUE C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE C IF( WV2DI32.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, 'WV2DI32: successful.',JPQUIET) ELSE CALL INTLOG(JP_ERROR, 'WV2DI32: failed.',JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/sources.sun40000755000175000017500000001014012127406245022642 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgz.F \ krg2rgu.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/hrg2llw.F0000755000175000017500000003443112127406245022045 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HRG2LLW(L12PNT,OLDFLDU,OLDFLDV,KGAUSS,AREA,POLE, X GRID,NEWFLDU,NEWFLDV,KSIZE,NLON,NLAT) C C----> C**** HRG2LLW C C Purpose C ------- C C This routine creates a rotated regular lat/long field from a C reduced gaussian field using 12-point horizontal interpolation. C C C Interface C --------- C C IRET = HRG2LLW(L12PNT,OLDFLDU,OLDFLDV,KGAUSS,AREA,POLE,GRID, C X NEWFLDU,NEWFLDV,KSIZE,NLON,NLAT) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C OLDFLDU - The array of values from the reduced gaussian U field C OLDFLDV - The array of values from the reduced gaussian V field C KGAUSS - Gaussian number for the reduced gaussian field C AREA - Limits of area (N/W/S/E) C POLE - Pole of rotation (lat/long) C GRID - Grid increments (i/j) C KSIZE - The size of the array to fill with the regular C lat/long field C C C Output parameters C ----------------- C C NEWFLDU - The array of values for the regular lat/long U field C NEWFLDV - The array of values for the regular lat/long V field C NLON - Number of longitudes in the regular lat/long field C NLAT - Number of latitudes in the regular lat/long field C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C nifld.common C nofld.common C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C JGETGG - Reads the definition of a gaussian grid C HGENLLW - Calculates original lat/long (before rotation) for C a rotated grid for wind fields. C HNEI12 - Finds neighbours for points for interpolation C HWTS12 - Calculates weightings for points for interpolation C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) C C Function arguments C LOGICAL L12PNT INTEGER KGAUSS, KSIZE, NLON, NLAT REAL AREA(4), POLE(2), GRID(2) REAL OLDFLDU(*), OLDFLDV(*) REAL NEWFLDU(KSIZE), NEWFLDV(KSIZE) C C Local variables C INTEGER NEXT, LOOP, IRET, NLEN, NPREV, NBYTES, NUMBER C LOGICAL LNEW, LFIRST INTEGER KSCHEME(1),NEIGH(12,1), KLA(1) REAL PWTS(12,1) POINTER (IPKSCHE, KSCHEME) POINTER (IPNEIGH, NEIGH) POINTER (IPKLA, KLA) POINTER (IPPWTS, PWTS) C REAL PDLO0(1),PDLO1(1),PDLO2(1),PDLO3(1),PDLAT(1) POINTER (IPPDLO0, PDLO0) POINTER (IPPDLO1, PDLO1) POINTER (IPPDLO2, PDLO2) POINTER (IPPDLO3, PDLO3) POINTER (IPPDLAT, PDLAT) C INTEGER IGG, IGGOLD INTEGER KPTS(1) REAL GLATS(1) INTEGER IOFFS(1) POINTER (IPKPTS, KPTS) POINTER (IPIOFFS, IOFFS) POINTER (IPGLATS, GLATS) C INTEGER ILL, ILLOLD REAL RCLAT(1),RCLON(1),RLAT(1),RLON(1),RDIR(1),C(1),S(1),U(1),V(1) POINTER (IPRCLAT, RCLAT) POINTER (IPRCLON, RCLON) POINTER (IPRLAT, RLAT) POINTER (IPRLON, RLON) POINTER (IPRDIR, RDIR) POINTER (IPC, C) POINTER (IPS, S) POINTER (IPU, U) POINTER (IPV, V) C REAL OLDU(1), OLDV(1) POINTER (IOLDU, OLDU) POINTER (IOLDV, OLDV) C DATA NPREV/-1/ DATA LNEW/.FALSE./, LFIRST/.TRUE./ DATA IGGOLD/-1/, ILLOLD/-1/, IOLDU/-1/, IOLDV/-1/ C SAVE LNEW, LFIRST SAVE IPKSCHE, IPNEIGH, IPKLA, IPPWTS SAVE IPPDLO0, IPPDLO1, IPPDLO2, IPPDLO3, IPPDLAT SAVE NPREV, IGGOLD, IPKPTS, IPIOFFS, IPGLATS SAVE ILLOLD,IPRCLAT,IPRCLON,IPRLAT,IPRLON,IPRDIR,IOLDU,IOLDV SAVE IPC, IPS, IPU, IPV C C Externals C INTEGER HNEI12, HGENLLW #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C Statement function C REAL A, RADIAN C C Convert degrees to radians C RADIAN(A) = (A) * 0.0174532925 C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HRG2LLW = 0 C CALL JDEBUG() C C Dynamically allocate memory for gaussian grid information. C IGG = KGAUSS*2 C IF( IGG.GT.IGGOLD ) THEN C IF( IGGOLD.GT.0 ) CALL JFREE(IPKPTS) C NBYTES = (IGG*JPRLEN) + (2*IGG+1)*JPBYTES C IPKPTS = JMALLOC(NBYTES) #ifdef hpR64 IPKPTS = IPKPTS/(1024*1024*1024*4) #endif IF( IPKPTS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2LLW: Memory allocate fail',JPQUIET) HRG2LLW = 1 GOTO 900 ENDIF C IPGLATS = IPKPTS + (IGG*JPBYTES) IPIOFFS = IPGLATS + (IGG*JPRLEN) C IGGOLD = IGG NPREV = -1 C ENDIF C C Build up offsets to start of each latitude in original fields. C IF( KGAUSS.NE.NPREV ) THEN CALL JGETGG(KGAUSS,'R',GLATS,KPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2LLW: JGETGG failed to get gaussian data',JPQUIET) HRG2LLW = 2 GOTO 900 ENDIF C IOFFS(1) = 1 DO LOOP = 2, (KGAUSS*2+1) IOFFS(LOOP) = IOFFS(LOOP-1) + KPTS(LOOP-1) ENDDO C C Allocate memory to preserve the input fields C (in case OLDFLDx and NEWFLDx are the same arrays) C IF( IOLDU.GT.0 ) CALL JFREE(IOLDU) C NUMBER = (IOFFS(KGAUSS*2+1) - 1) NBYTES = 2 * NUMBER * JPRLEN C IOLDU = JMALLOC(NBYTES) #ifdef hpR64 IOLDU = IOLDU/(1024*1024*1024*4) #endif IF( IOLDU.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2LLW: Memory allocate fail',JPQUIET) HRG2LLW = 3 GOTO 900 ENDIF IOLDV = IOLDU + (NUMBER * JPRLEN) C NPREV = KGAUSS ENDIF C C Preserve the input fields C DO LOOP = 1, NUMBER OLDU(LOOP) = OLDFLDU(LOOP) OLDV(LOOP) = OLDFLDV(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 2. Generate the lat/long points for the output grid C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + INT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) NLAT = 1 + INT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) C NLEN = NLON * NLAT NOWE = NLON NONS = NLAT C C Check that given array is big enough for the new field. C IF( NLEN.GT.KSIZE ) THEN CALL INTLOG(JP_ERROR,'HRG2LLW: Given array size = ',KSIZE) CALL INTLOG(JP_ERROR,'HRG2LLW: Required size = ',NLEN) HRG2LLW = 4 GOTO 900 ENDIF C C Dynamically allocate memory for lat/long arrays. C ILL = NLEN IF( ILL.GT.ILLOLD ) THEN C LNEW = .TRUE. C IF( ILLOLD.GT.0 ) CALL JFREE(IPRLON) C NBYTES = 9*ILL*JPRLEN C IPRLON = JMALLOC(NBYTES) #ifdef hpR64 IPRLON = IPRLON/(1024*1024*1024*4) #endif IF( IPRLON.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2LLW: Memory allocate fail',JPQUIET) HRG2LLW = 5 GOTO 900 ENDIF C IPRLAT = IPRLON + (ILL*JPRLEN) IPRCLON = IPRLAT + (ILL*JPRLEN) IPRCLAT = IPRCLON + (ILL*JPRLEN) IPRDIR = IPRCLAT + (ILL*JPRLEN) IPC = IPRDIR + (ILL*JPRLEN) IPS = IPC + (ILL*JPRLEN) IPU = IPS + (ILL*JPRLEN) IPV = IPU + (ILL*JPRLEN) C ILLOLD = ILL C ENDIF C IRET = HGENLLW(AREA,POLE,GRID,NLON,NLAT,RCLAT,RCLON,RLAT,RLON) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2LLW: HGENLLW failed to get lat/lon grid data',JPQUIET) HRG2LLW = 6 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 3. Find neighbours for each point for interpolation. C -----------------------------------------------------------------| C 300 CONTINUE C C Dynamically allocate memory for interpolation arrays. C IF( LNEW ) THEN C IF( .NOT.LFIRST ) CALL JFREE(IPPDLO0) C NBYTES = (17*JPRLEN + 14*JPBYTES) * ILL C IPPDLO0 = JMALLOC(NBYTES) #ifdef hpR64 IPPDLO0 = IPPDLO0/(1024*1024*1024*4) #endif IF( IPPDLO0.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2LLW: Memory allocate fail',JPQUIET) HRG2LLW = 7 GOTO 900 ENDIF C IPPDLO1 = IPPDLO0 + (ILL*JPRLEN) IPPDLO2 = IPPDLO1 + (ILL*JPRLEN) IPPDLO3 = IPPDLO2 + (ILL*JPRLEN) IPPDLAT = IPPDLO3 + (ILL*JPRLEN) IPPWTS = IPPDLAT + (ILL*JPRLEN) IPKSCHE = IPPWTS + (12*ILL*JPRLEN) IPKLA = IPKSCHE + (ILL*JPBYTES) IPNEIGH = IPKLA + (ILL*JPBYTES) C LFIRST = .FALSE. C ENDIF C C Find neighbours. C IRET = HNEI12(L12PNT,NLEN,RLAT,RLON,KGAUSS,KPTS,GLATS, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2LLW: HNEI12 failed to find neighbours',JPQUIET) HRG2LLW = 8 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 4. Perform the 12-point horizontal interpolation. C -----------------------------------------------------------------| C 400 CONTINUE C C Setup the 12-point horizontal interpolation weights C CALL HWTS12 X (NLEN,KSCHEME,KLA,PDLAT,GLATS,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X PWTS) C C Calculate the interpolated grid point values C DO LOOP = 1, NLEN IF( KSCHEME(LOOP).EQ.JP12PT ) THEN U(LOOP) = X OLDU(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDU(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDU(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDU(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLDU(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLDU(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLDU(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLDU(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLDU(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLDU(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLDU(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLDU(NEIGH(12,LOOP)) * PWTS(12,LOOP) V(LOOP) = X OLDV(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDV(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDV(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDV(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLDV(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLDV(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLDV(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLDV(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLDV(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLDV(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLDV(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLDV(NEIGH(12,LOOP)) * PWTS(12,LOOP) C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN U(LOOP) = X OLDU(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDU(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDU(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDU(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) V(LOOP) = X OLDV(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDV(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDV(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDV(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) THEN U(LOOP) = OLDU(NEIGH(NEXT,LOOP)) V(LOOP) = OLDV(NEIGH(NEXT,LOOP)) ENDIF ENDDO C ENDIF ENDDO C C -----------------------------------------------------------------| C Section 5. Adjust the U and V components to new (rotated) axes C -----------------------------------------------------------------| C 500 CONTINUE C DO LOOP = 1, NLEN RDIR(LOOP) = 0.0 ENDDO C CALL HPSHGPW(RCLON,RCLAT,RLON,RLAT,RDIR,NLEN,POLE) C DO LOOP = 1, NLEN RDIR(LOOP) = RADIAN(RDIR(LOOP)) ENDDO C DO LOOP = 1, NLEN C(LOOP) = COS(RDIR(LOOP)) S(LOOP) = SIN(RDIR(LOOP)) ENDDO C DO LOOP = 1, NLEN NEWFLDU(LOOP) = U(LOOP)*C(LOOP) - V(LOOP)*S(LOOP) NEWFLDV(LOOP) = U(LOOP)*S(LOOP) + V(LOOP)*C(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jnumgg.F0000755000175000017500000000511312127406245021746 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JNUMGG( KNUM, HTYPE, KPTS, KRET) C C----> C**** JNUMGG C C PURPOSE C _______ C C This routine returns the number of points in each latitude of C a gaussian grid. C C C INTERFACE C _________ C C CALL JNUMGG( KNUM, HTYPE, KPTS, KRET) C C C Input parameters C ________________ C C KNUM - Gaussian grid number C HTYPE - Gaussian grid type C = 'R' for reduced, = 'F' for full C C C Output parameters C ________________ C C KPTS - Array giving number of points at each gaussian latitude C (both hemispheres) C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Simplified interface to JGETGG. C C C Externals C _________ C C JGETGG - Get the gaussian grid definition. C INTLOG - Output log message C C C Reference C _________ C C None C C C Comments C ________ C C None C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Feb 1994 C C C MODIFICATIONS C _____________ C C None. C C----< C IMPLICIT NONE #include "jparams.h" #include "parim.h" C C Subroutine arguments C INTEGER KNUM, KPTS, KRET CHARACTER*1 HTYPE DIMENSION KPTS(*) C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30700 ) C C Local variables C REAL ZLAT DIMENSION ZLAT(JPMAX) C _______________________________________________________ C C* Section 1. Get the information. C _______________________________________________________ C 100 CONTINUE C KRET = 0 C C Make sure local array is big enough for return values. C IF ( KNUM .GT. (JPMAX/2) ) THEN CALL INTLOG(JP_ERROR, X 'JNUMGG - Local array too small for return values.',JPMAX/2) KRET = JPROUTINE + 1 GOTO 900 ENDIF C CALL JGETGG( KNUM, HTYPE, ZLAT, KPTS, KRET) C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jmakgg.F0000755000175000017500000001152312127406245021721 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMAKGG( KUNIT, KTRUNC, KROW, PLAT, PLEG, KRET) C C----> C**** JMAKGG C C PURPOSE C _______ C C This routine creates legendre functions for latitude rows upto C the given latitude in a gaussian grid file. C C INTERFACE C _________ C C CALL JMAKGG( KUNIT, KTRUNC, KROW, PLAT, PLEG, KRET) C C Input parameters C ________________ C C KUNIT - Unit number for open file of legendre functions. C KTRUNC - Truncation. C KROW - Latitude row number in the file C PLAT - Array of latitudes for the gaussian grid C C Output parameters C ________________ C C PLEG - Array of legendre functions for the latitude. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Determine which functions already exist for the latitude rows C in the file, skip to the end and create necessary extra functions C and add to the file. C C Externals C _________ C C PBSEEK - Position the coefficients file C PBWRITE - Write the coefficients file C INTLOG - Output log message C C Reference C _________ C C None. C C Comments C ________ C C Only positive row numbers are allowed. C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C IMPLICIT NONE #include "jparams.h" #include "parim.h" C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30400 ) C C Subroutine arguments INTEGER KUNIT, KTRUNC, KROW, KRET REAL PLAT, PLEG DIMENSION PLAT(*) DIMENSION PLEG(*) C C Local variables INTEGER NEWPOS, NSIZE, NRET, NROWCT, NLATIT REAL ALAT, PIBY2, DEG2RAD C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE IF ( KROW .LT. 0.0 ) THEN KRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR,'JMAKGG - negative row number given',KROW) GOTO 990 ENDIF C C Calculate the byte offset into the file where the legendre C functions for the latitude should be. #ifdef REAL_8 NSIZE = 8 * (KTRUNC+1)*(KTRUNC+4)/2 #else NSIZE = 4 * (KTRUNC+1)*(KTRUNC+4)/2 #endif NEWPOS = (KROW - 1) * NSIZE C C Find the current file length CALL PBSEEK( KUNIT, 0, 2, NRET) IF ( NRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR,'JMAKGG - PBSEEK error', NRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF C C Use the length to determine how many rows have already been C put into the file NROWCT = NRET/NSIZE C C _______________________________________________________ C C* Section 2. Processing. C _______________________________________________________ C C Loop through latitudes not in the file yet PIBY2 = PPI / 2.0 DEG2RAD = PPI / 180.0 C DO 210 NLATIT = NROWCT+1, KROW ALAT = PLAT(NLATIT) * DEG2RAD CALL JSPLEG1( PLEG, ALAT, KTRUNC) CALL PBWRITE( KUNIT, PLEG, NSIZE, NRET) IF ( NRET .LT. NSIZE ) THEN CALL INTLOG(JP_ERROR,'JMAKGG - PBWRITE error.', NRET) CALL INTLOG(JP_ERROR,'JMAKGG - bytes required = ', NSIZE) KRET = JPROUTINE + 3 GOTO 990 ENDIF 210 CONTINUE C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/fft99.F0000755000175000017500000002107012127406245021420 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE FFT99(A,WORK,TRIGS,IFAX,INC,JUMP,N,LOT,ISIGN) C C----> C**** FFT99 C C PURPOSE C _______ C C Multiple fast real periodic transform. C C C INTERFACE C _________ C C CALL FFT99(A,WORK,TRIGS,IFAX,INC,JUMP,N,LOT,ISIGN) C C C Input parameters C ________________ C C A - the array containing input data C WORK - an area of size (N+1)*MIN(LOT,64) C TRIGS - a previously prepared list of trig function values C IFAX - a previously prepared list of factors of N C INC - the increment within each data 'vector' C (e.g. INC=1 for consecutively stored data) C JUMP - the increment between the start of each data vector C N - the length of the data vectors C LOT - the number of data vectors C ISIGN - +1 for transform from spectral to gridpoint C - -1 for transform from gridpoint to spectral C C Output parameters C ________________ C C A - the array containing output data C C C Method C ______ C C Ordering of coefficients: C A(0),B(0),A(1),B(1),A(2),B(2),...,A(N/2),B(N/2) C where B(0) = B(N/2)=0; (N+2) locations required C C Ordering of data: C X(N-1),X(0),X(1),X(2),...,X(N-1),X(0) C i.e. explicit cyclic continuity; (N+2) locations required C C Vectorization is achieved by doing the transforms in parallel C C N must be composed of factors 2,3 & 5 but does not have to be even C C C Real transform of length N performed by removing redundant C operations from complex transform of length N C Definition of transforms: C C ISIGN = +1: C X(J) = SUM(K=0,...,N-1)(C(K)*EXP(2*I*J*K*PI/N)) C where C(K) = A(K)+I*B(K) and C(N-K) = A(K)-I*B(K) C C ISIGN = -1: C A(K) = (1/N)*SUM(J=0,...,N-1)(X(J)*COS(2*J*K*PI/N)) C B(K) = -(1/N)*SUM(J=0,...,N-1)(X(J)*SIN(2*J*K*PI/N)) C C Externals C _________ C C RPASSM - Performs one pass through data as part of multiple real C FFT (fourier analysis) routine. C QPASSM - Performs one pass through data as part of multiple real C FFT (fourier synthesis) routine. C C C Reference C _________ C C None. C C C Comments C ________ C C Tidy up of code in older version of same routine. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Nov 1996 C C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C C Subroutine arguments REAL A, WORK, TRIGS INTEGER IFAX, INC, JUMP, N, LOT, ISIGN DIMENSION A(N),WORK(N),TRIGS(N),IFAX(10) C C Local variables INTEGER NFAX, NX, NBLOX, NVEX, ISTART, NB, IA, I, J INTEGER LA, IGO, K, IFAC, IERR, IBASE, JBASE, JJ, II INTEGER IX, IZ C C ------------------------------------------------------------------ C Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C C Ensure factorization of N has been done. IF(IFAX(10).NE.N) CALL SET99(TRIGS,IFAX,N) C NFAX = IFAX(1) IF (MOD(N,2).EQ.1) THEN NX = N ELSE NX = N + 1 ENDIF C C Calculate number of blocks of 64 vectors and number of vectors C 'left over'. This remainder is transformed first. C NBLOX = 1 + (LOT-1)/64 NVEX = LOT-(NBLOX-1)*64 C IF (ISIGN.EQ.1) THEN C C ------------------------------------------------------------------ C Section 2. Spectral to gridpoint transform. C ------------------------------------------------------------------ C 200 CONTINUE C C Loop through the blocks of vectors ISTART = 1 DO 270 NB = 1,NBLOX IA = ISTART I = ISTART DO 210 J = 1,NVEX A(I+INC) = 0.5*A(I) I = I + JUMP 210 CONTINUE C IF (MOD(N,2).NE.1) THEN I = ISTART + N*INC DO 220 J = 1,NVEX A(I) = 0.5*A(I) I = I + JUMP 220 CONTINUE ENDIF C IA = ISTART + INC LA = 1 IGO = 1 C C Work through the factors DO 230 K = 1,NFAX IFAC = IFAX(K+1) IERR = -1 IF (IGO.NE.-1) THEN CALL RPASSM(A(IA),A(IA+LA*INC),WORK(1),WORK(IFAC*LA+1), X TRIGS,INC,1,JUMP,NX,NVEX,N,IFAC,LA,IERR) ELSE CALL RPASSM(WORK(1),WORK(LA+1),A(IA),A(IA+IFAC*LA*INC), X TRIGS,1,INC,NX,JUMP,NVEX,N,IFAC,LA,IERR) ENDIF C IF (IERR.NE.0) GO TO 950 C LA = IFAC*LA IGO = -IGO IA = ISTART + INC 230 CONTINUE C C If necessary, copy results back to A C IF (MOD(NFAX,2).NE.0) THEN IBASE = 1 JBASE = IA DO 250 JJ = 1,NVEX I = IBASE J = JBASE DO 240 II = 1,N A(J) = WORK(I) I = I + 1 J = J + INC 240 CONTINUE IBASE = IBASE + NX JBASE = JBASE + JUMP 250 CONTINUE ENDIF C C Fill in cyclic boundary values (ie repeat the data vector C end points at opposite end of the vector) C IX = ISTART IZ = ISTART + N*INC CDIR$ IVDEP DO 260 J = 1,NVEX A(IX) = A(IZ) A(IZ+INC) = A(IX+INC) IX = IX + JUMP IZ = IZ + JUMP 260 CONTINUE C C Adjust pointers for next block ISTART = ISTART + NVEX*JUMP NVEX = 64 270 CONTINUE C ELSE C C ------------------------------------------------------------------ C Section 3. Gridpoint to spectral transform. C ------------------------------------------------------------------ C 300 CONTINUE C C Loop through the blocks of vectors ISTART = 1 DO 390 NB = 1,NBLOX IA = ISTART + INC LA = N IGO = 1 C DO 310 K = 1,NFAX IFAC = IFAX(NFAX+2-K) LA = LA/IFAC IERR = -1 IF (IGO.NE.-1) THEN CALL QPASSM(A(IA),A(IA+IFAC*LA*INC),WORK(1),WORK(LA+1), X TRIGS,INC,1,JUMP,NX,NVEX,N,IFAC,LA,IERR) ELSE CALL QPASSM(WORK(1),WORK(IFAC*LA+1),A(IA),A(IA+LA*INC), X TRIGS,1,INC,NX,JUMP,NVEX,N,IFAC,LA,IERR) ENDIF IF (IERR.NE.0) GO TO 950 IGO = -IGO IA = ISTART + INC 310 CONTINUE C C If necessary, copy results back to A C IF (MOD(NFAX,2).NE.0) THEN IBASE = 1 JBASE = IA DO 330 JJ = 1,NVEX I = IBASE J = JBASE DO 320 II = 1,N A(J) = WORK(I) I = I + 1 J = J + INC 320 CONTINUE IBASE = IBASE + NX JBASE = JBASE + JUMP 330 CONTINUE ENDIF C C Shift A(0) and fill in zero imaginary parts C IX = ISTART DO 340 J = 1,NVEX A(IX) = A(IX+INC) A(IX+INC) = 0.0 IX = IX + JUMP 340 CONTINUE C IF (MOD(N,2).NE.1) THEN IZ = ISTART + (N+1)*INC DO 350 J = 1,NVEX A(IZ) = 0.0 IZ = IZ + JUMP 350 CONTINUE C ENDIF C C Adjust pointers for next block ISTART = ISTART + NVEX*JUMP NVEX = 64 390 CONTINUE C ENDIF C C ------------------------------------------------------------------ C Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN C C Error messages C 950 CONTINUE GO TO (960,970,980) IERR C 960 CONTINUE WRITE(*,*) 'Vector length greater than 64, = ', NVEX GO TO 900 970 CONTINUE WRITE(*,*) 'Factor not handled, =', IFAC GO TO 900 980 CONTINUE WRITE(*,*) 'Factor only handled if LA*IFAC=N. Factor = ', IFAC C END emoslib-000392+dfsg.1/interpolation/intuvph.F0000755000175000017500000003632012127406245022160 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTUVPH( KFIELD1, KFIELD2, INLEN, X KUGRIBO, KVGRIBO, X OUTLENU, OUTLENV) C C----> C**** INTUVPH C C Purpose C ------- C C Interpolate GRIB format input spectral vorticity and divergence, C or spectral U and V, fields to GRIB format U and V fields. C C C Interface C --------- C C IRET = INTUVPH(KFIELD1,KFIELD2,INLEN, C KUGRIBO,KVGRIBO,OUTLENU,OUTLENV) C C Input C ----- C C KFIELD1 - Input vorticity or U field (spectral, GRIB format). C KFIELD2 - Input divergence or V field (spectral, GRIB format). C INLEN - Input field length (words). C C C Output C ------ C C KUGRIBO - Output U field (GRIB format). C KVGRIBO - Output V field (GRIB format). C OUTLENU - Output U field length (words). C OUTLENV - Output V field length (words). C C C Method C ------ C C Convert spectral vorticity/divergence to spectral U/V and then C interpolate U and V to output fields. C C Note that a common block is used in intf.h to hold the U/V C fields before interpolation. C C Externals C --------- C C IBASINI - Ensure basic interpolation setup is done. C INTUVDH - Encodes/decodes data into/from GRIB code. C INTUVXH - Interpolate U or V component spectral field to grid point. C JVOD2UV - Converts spectral vorticity/divergence to spectral U/V. C JMEMHAN - Allocate scratch memory. C GRIBEX - GRIB decoding/encoding. C ISCRSZ - Calculate number of values in generated field. C FIXAREA - Fixup area definition to correspond to grid definitions C INTLOG - Log error message. C RESET_C - Reset interpolation handling options using GRIB product. C INSANE - Ensure no outrageous values given for interpolation. C GRSMKP - P factor calculation switch for routine GRIBEX. C C C Author C ------ C C J.D.Chambers ECMWF February 2001 C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C C Function arguments C INTEGER KFIELD1(*), KFIELD2(*), INLEN INTEGER KUGRIBO(*), KVGRIBO(*), OUTLENU, OUTLENV C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE, JPALLOC, JPDEALL, JPSCR3, JPSCR4,JPSCR5 PARAMETER (JPROUTINE = 40160 ) PARAMETER (JPALLOC = 1) PARAMETER (JPDEALL = 0) PARAMETER (JPSCR3 = 3) PARAMETER (JPSCR4 = 4) PARAMETER (JPSCR5 = 5) C C Local variables C CHARACTER*1 HFUNC REAL EW, NS LOGICAL LOLDWIND, LSPECUV INTEGER IERR,KPR,ISZVD,ISZUV,IWORD,ISIZE,ILENF,ISAME,IPARAM INTEGER NEXT, LOOP, MTRUNC, NTRUNC, NTROLD, NTROLD2, NPARAM INTEGER MIRESO, MORESO, NOLD, NLEN C LOGICAL LFIRST, LNEWUV CHARACTER*3 EXTRA DATA LFIRST/.TRUE./, LNEWUV/.TRUE./, EXTRA/'NO '/ SAVE LFIRST, LNEWUV C DATA NTROLD/-1/, NTROLD2/-1/ SAVE NTROLD, NTROLD2 INTEGER IPVORT, IPDIV, IP_U, IP_V, IDIVOFF #ifdef POINTER_64 INTEGER*8 IZNFLDO #endif REAL ZNFLDO POINTER ( IZNFLDO, ZNFLDO ) DIMENSION ZNFLDO( 1 ) #ifdef POINTER_64 INTEGER*8 IUV, IVD #endif REAL UV, VD POINTER ( IUV, UV ) POINTER ( IVD, VD ) DIMENSION UV( 1 ), VD( 1 ) C C Externals C INTEGER RESET_C,ISCRSZ,FIXAREA,AURESOL INTEGER IBASINI, INSANE, INTUVDH, INTUVXH C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C INTUVPH = 0 IERR = 0 KPR = 0 C IF( LFIRST ) THEN CALL GETENV('IGNORE_UV_EXTRA_MODE', EXTRA) IF((EXTRA(1:1).EQ.'Y').OR.(EXTRA(1:1).EQ.'y')) LNEWUV = .FALSE. IF( LNEWUV ) THEN CALL INTLOG(JP_DEBUG, X 'INTUVPH: IGNORE_UV_EXTRA_MODE not turned on',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'INTUVPH: IGNORE_UV_EXTRA_MODE turned on',JPQUIET) ENDIF LFIRST = .FALSE. ENDIF C MIRESO = NIRESO MORESO = NORESO C LOLDWIND = LWINDSET C C Ensure that basic initialisation has been done C IERR = IBASINI(0) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVPH: basic initialise failed',JPQUIET) INTUVPH = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 2. Unpack the input fields. C -----------------------------------------------------------------| C 200 CONTINUE C C Need to establish input truncation, so unpack GRIB sections 1 C and 2. C IPARAM = 0 ISZVD = 1 IERR = INTUVDH(VD(IPVORT),ISZVD,KFIELD1,INLEN,'I',IPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVPH: GRIB header decode failed',IERR) INTUVPH = IERR GOTO 900 ENDIF C C Check that the input is an ECMWF spectral field C IF( (ISEC1(1).NE.128).OR.(ISEC2(1).NE.50) ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: Input is not ECMWF spectral field.',JPQUIET) INTUVPH = JPROUTINE + 2 GOTO 900 ENDIF C C Get scratch memory for input unpacked fields. C Unpacked field memory areas are adjacent. C NIRESO = ISEC2(2) ISZVD = (NIRESO+1)*(NIRESO+2) IPVORT = 1 IPDIV = 1 + ISZVD CALL JMEMHAN( JPSCR4, IVD, ISZVD*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: Scratch memory type 4 allocation failed.',JPQUIET) INTUVPH = IERR GOTO 900 ENDIF C C Decode input fields.. C IERR = INTUVDH(VD(IPVORT),ISZVD,KFIELD1,INLEN,'D',IPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVPH: Vorticity decoding failed',IERR) INTUVPH = IERR GOTO 900 ENDIF C IERR = INTUVDH(VD(IPDIV),ISZVD,KFIELD2,INLEN,'D',IPARAM) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVPH: Divergence decoding failed',IERR) INTUVPH = IERR GOTO 900 ENDIF C C Setup interpolation options from input GRIB characteristics. C IERR = RESET_C( ISEC1, ISEC2, ZSEC2, ISEC4) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: Setup interp. options from GRIB failed.',JPQUIET) INTUVPH = IERR GOTO 900 ENDIF C C Check that no outrageous values given for interpolation C ISAME = INSANE() IF( (ISAME.GT.0).AND.(ISAME.NE.27261) ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: Interpolation cannot use given values.',JPQUIET) INTUVPH = ISAME GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 3. Convert spectral vorticity/divergence C to spectral U/V C -----------------------------------------------------------------| C 300 CONTINUE C C Spectral U and V for Tn are to be generated from vorticity C and divergence spectral T(n-1) C C Get scratch memory for U and V spectral fields. C The memory areas are adjacent. C IF( ISEC1(6).EQ.155 ) THEN C C Truncate vorticity and divergence to correspond to U/V C C IF( LARESOL.AND.LNEWUV ) THEN IF( (NOGRID(1).NE.0).AND.(NOGRID(2).NE.0) ) THEN EW = FLOAT(NOGRID(1))/PPMULT NS = FLOAT(NOGRID(2))/PPMULT NTRUNC = AURESOL(NS,EW) - 1 ELSE IF( NOGAUSS.NE.0 ) THEN EW = 90.0/FLOAT(NOGAUSS) NS = EW NTRUNC = AURESOL(NS,EW) - 1 ELSE IF( LNORESO ) THEN NTRUNC = NORESO - 1 ELSE NTRUNC = NIRESO - 1 ENDIF IF( NTRUNC.GT.(NIRESO-1) ) NTRUNC = NIRESO - 1 C ELSE IF( LNORESO ) THEN NTRUNC = NORESO - 1 ELSE NTRUNC = NIRESO - 1 ENDIF C IF( LNEWUV ) THEN MTRUNC = NTRUNC + 1 ELSE NTRUNC = NTRUNC + 1 MTRUNC = NTRUNC ENDIF C C Check whether the output resolution is greater than the input C IF( NTRUNC.GT.NIRESO ) THEN C C Issue warning if the output resolution was user-supplied C IF( .NOT.LARESOL ) THEN C C Revert to the input truncation C IF( NIRESO.NE.NTROLD2 ) THEN CALL INTLOG(JP_WARN, X 'INTUVPH: spectral -> grid point interpolation',JPQUIET) CALL INTLOG(JP_WARN, X 'INTUVPH: User supplied resolution = ',NTRUNC) CALL INTLOG(JP_WARN, X 'INTUVPH: Input field resolution = ',NIRESO) CALL INTLOG(JP_WARN, X 'INTUVPH: User supplied resolution ignored',JPQUIET) CALL INTLOG(JP_WARN, X 'INTUVPH: Input field resolution has been used',JPQUIET) NTROLD2 = NIRESO ENDIF NTRUNC = NIRESO C ELSE C C Revert to the input truncation C NTRUNC = NIRESO IF( NTRUNC.NE.NTROLD2 ) THEN NTROLD2 = NTRUNC CALL INTLOG(JP_WARN, X 'INTUVPH: Auto-resolution selection too high',JPQUIET) CALL INTLOG(JP_WARN, X 'INTUVPH: Resolution set to input resolution: ',NTRUNC) ENDIF ENDIF ENDIF C C CALL INTLOG(JP_DEBUG,'INTUVPH: vo/div truncation = ', NTRUNC) CALL INTLOG(JP_DEBUG,'INTUVPH: U/V truncation = ', MTRUNC) C ISIZE = (NTRUNC+1)*(NTRUNC+2) CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVP: Scratch memory type 5 allocation failed.',JPQUIET) INTUVPH = JPROUTINE + 4 GOTO 900 ENDIF C CALL SH2SH( VD(IPVORT), NIRESO, ZNFLDO, NTRUNC ) C IDIVOFF = IPVORT + (NTRUNC+1)*(NTRUNC+2) CALL SH2SH( VD(IPDIV), NIRESO, ZNFLDO(IDIVOFF), NTRUNC ) C NEXT = 0 DO LOOP = NTRUNC, 0, -1 NEXT = NEXT + LOOP + 1 ZNFLDO(IDIVOFF+NEXT*2-2) = 0 ZNFLDO(IDIVOFF+NEXT*2-1) = 0 ZNFLDO(IPVORT +NEXT*2-2) = 0 ZNFLDO(IPVORT +NEXT*2-1) = 0 ENDDO C ISZUV = (MTRUNC+1)*(MTRUNC+2) IP_U = 1 IP_V = 1 + ISZUV CALL JMEMHAN( JPSCR3, IUV, ISZUV*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: Scratch memory type 3 allocation failed.',JPQUIET) INTUVPH = IERR GOTO 900 ENDIF C C Generate U and V from vorticity and divergence, C CALL JVOD2UV(ZNFLDO(IPVORT),ZNFLDO(IDIVOFF),NTRUNC, X UV(IP_U),UV(IP_V),MTRUNC) C ELSE C C Get scratch memory for U and V spectral fields. C The memory areas are adjacent. C NTRUNC = NIRESO ISZUV = (NIRESO+1)*(NIRESO+2) IP_U = 1 IP_V = 1 + ISZUV CALL JMEMHAN( JPSCR3, IUV, ISZUV*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: Scratch memory type 3 allocation failed.',JPQUIET) INTUVPH = IERR GOTO 900 ENDIF C C Transfer input spectral U and V to the memory areas. C DO LOOP = 0, ISZUV-1 UV(IP_U + LOOP) = VD(IPVORT + LOOP) UV(IP_V + LOOP) = VD(IPDIV + LOOP) ENDDO C ENDIF C C -----------------------------------------------------------------| C* Section 4. Handle spectral output. C -----------------------------------------------------------------| C 400 CONTINUE C IF( (LNORESO) .AND. X ((NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT)) ) THEN C CALL INTLOG(JP_DEBUG, X 'INTUVPH: Produce spectral output with truncation',NORESO) C C Set GRIBEX flag to force recalculation of complex packing factor C CALL GRSMKP(1) C ISIZE = (NORESO+1)*(NORESO+2) CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: Scratch memory type 5 allocation failed.',JPQUIET) INTUVPH = JPROUTINE + 4 GOTO 900 ENDIF C IP_U = 1 CALL SH2SH( UV(1), NIRESO, ZNFLDO(IP_U), NORESO ) C IP_V = 1 + (NORESO+1)*(NORESO+2) CALL SH2SH( UV(1+ISZUV), NIRESO, ZNFLDO(IP_V), NORESO ) C NIRESO = NORESO C ENDIF C C Has all processing been done (ie is the output spectral)? C IF( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN C C Code U into GRIB C IERR = INTUVDH(ZNFLDO(IP_U),ISZUV,KUGRIBO,OUTLENU,'C',JP_U) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: U encoding into GRIB failed.',IERR) INTUVPH = JPROUTINE + 4 GOTO 900 ENDIF C C Code V into GRIB C IERR = INTUVDH(ZNFLDO(IP_V),ISZUV,KVGRIBO,OUTLENV,'C',JP_V) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: V encoding into GRIB failed.',IERR) INTUVPH = JPROUTINE + 4 GOTO 490 ENDIF C 490 CONTINUE C C Turn off GRIBEX flag which forces recalculation of complex C packing factor C CALL GRSMKP(0) C GOTO 900 C ENDIF C C -----------------------------------------------------------------| C* Section 6. Generate interpolated GRIB format U and V fields. C -----------------------------------------------------------------| C 600 CONTINUE C C Get scratch space for interpolation C IERR = FIXAREA() IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVPH: Fixarea failed.',JPQUIET) INTUVPH = IERR GOTO 900 ENDIF C ISIZE = ISCRSZ()*2 IF( ISIZE.LE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVPH: Get scratch space failed.',ISIZE) INTUVPH = JPROUTINE + 5 GOTO 900 ENDIF CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: Scratch memory(5) allocation failed.',JPQUIET) INTUVPH = JPROUTINE + 5 GOTO 900 ENDIF C LWIND = .TRUE. LWINDSET = .TRUE. C C Interpolate U and V C NOLD = NIRESO NIRESO = MTRUNC IERR = INTUVXH(UV,ISZUV,ZNFLDO,KUGRIBO,KVGRIBO,OUTLENU,OUTLENV) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVPH: U/V interpolation failed.',JPQUIET) INTUVPH = JPROUTINE + 6 GOTO 900 ENDIF C NIRESO = NOLD C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C C Clear change flags for next product processing and reset wind flag C LCHANGE = .FALSE. LSMCHNG = .FALSE. LWINDSET = LOLDWIND LWIND = .FALSE. C NIRESO = MIRESO NORESO = MORESO C RETURN END emoslib-000392+dfsg.1/interpolation/pddefs.F0000755000175000017500000002532212127406245021730 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION PDDEFS() C C----> C** PDDEFS C C Purpose C ------- C C Adjust the interpolation parameters according to parameter C dependent requirements. C C Interface C --------- C C IRET = PDDEFS() C C Input C ----- C C Input file format: C C Param lsm wind prec lsm interp ) First 2 lines C ----- --- ---- ---- ---------- ) are ignored C 131 n y n n ) C 132 n y n n ) C 140 y n n n ) C 141 y n n n ) I3,4(5X,A1) C 142 n n y n ) C 143 n n y n ) C 144 n n y n ) C 165 n y n n ) C : C : C C Output C ------ C C IRET = 0 if OK. C C C Method C ------ C C Values are taken from a (text) file in a directory defined C by the environment variable: C C "PARAMETER_PROCESSING_DEFAULTS" (if defined), C C or from the directory: C C /owrk/marsint/new (CRAY) C /mrfs/postproc (Fujitsu) C /usr/local/lib/metaps/tables/interpolation ( new ) C C or from an internal default array. C C The file used has name defaults_for_table_nnn, where C nnn is the 3-digit local code table number (eg 128 for C ECMWF, 001 for WMO, etc ). C C C Externals C --------- C C INTLOG - Logs messages. C GETENV - Gets environment variable information. C INDEX - Locates a character in a character variable. C EMOSNUM - Gives current EMOSLIB version number. C PRECIP - Says if field is to have 'precipitation' treatment C C C Author C ------ C C J.D.Chambers ECMWF August 1994. C C----< C IMPLICIT NONE C C Parameters C INTEGER JPROUTINE, JPNUMDF, JPND001, JPND128, JPND129 PARAMETER (JPROUTINE = 28000) PARAMETER (JPNUMDF = 100) PARAMETER (JPND001 = 9) PARAMETER (JPND128 = 13) PARAMETER (JPND129 = 12) C #include "parim.h" #include "nifld.common" C C Local variables C CHARACTER*6 YEMOSNM INTEGER IEMOSNM CHARACTER*256 FILENAME CHARACTER*80 HLINE CHARACTER*80 YENVBACK INTEGER IPARAM, INEXT, NUMDFS, LOOP, INDX, IOTABLE CHARACTER*1 HLSM, HWIND, HPREC, HLSMI LOGICAL LNLSM, LNWIND, LNPREC, LNSMPAR DATA IOTABLE/0/ C C Default array C CHARACTER*27 HDEFS(JPNUMDF) C C Specified defaults C C WMO table 1 C CHARACTER*27 TAB001(JPND001) DATA TAB001/ X '002 n n n n', X '033 y y n n', X '034 y y n n', X '061 y n y n', X '062 y n y n', X '063 y n y n', X '064 y n y n', X '065 y n y n', X '081 n n n y' X / C C ECMWF table 128 C CHARACTER*27 TAB128(JPND128) DATA TAB128/ X '131 y y n n', X '132 y y n n', X '142 y n y n', X '143 y n y n', X '144 y n y n', X '151 n n n n', X '165 y y n n', X '166 y y n n', X '169 y n n n', X '172 n n n y', X '228 y n y n', X '239 y n y n', X '240 y n y n' X / C C ECMWF table 129 C CHARACTER*27 TAB129(JPND129) DATA TAB129/ X '131 y y n n', X '132 y y n n', X '142 y n y n', X '143 y n y n', X '144 y n y n', X '151 n n n n', X '165 y y n n', X '166 y y n n', X '172 n n n y', X '228 y n y n', X '239 y n y n', X '240 y n y n' X / C SAVE HDEFS, NUMDFS, IOTABLE, FILENAME C C External functions C INTEGER EMOSNUM LOGICAL PRECIP EXTERNAL EMOSNUM, PRECIP C C Statement function C LOGICAL NOTSAME, A, B C C XOR or NE for logicals C NOTSAME(A,B) = ((A).AND.(.NOT.(B))).OR.((B).AND.(.NOT.(A))) C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C PDDEFS = 0 C C Start with the generic settings. C LNLSM = .TRUE. LNWIND = .FALSE. LNPREC = .FALSE. LNSMPAR = .FALSE. C C ------------------------------------------------------------------ C* Section 2. If parameter table has changed, treat as first time C through: open and read the file of default values. C ------------------------------------------------------------------ C 200 CONTINUE C IF( IOTABLE.NE.NITABLE ) THEN C DO LOOP = 1, 256 FILENAME(LOOP:) = ' ' ENDDO C CALL INTLOG(JP_DEBUG, X 'PDDEFS: Try to get processing defaults file.',JPQUIET) C C Get the directory name C CALL GETENV( 'PARAMETER_PROCESSING_DEFAULTS', FILENAME) IF( FILENAME(1:1).EQ.' ' ) THEN #if (defined CRAY) FILENAME = '/owrk/marsint/new/' #elif (defined __uxp__) C C On Fujitsus, need to build different pathname for vpp300, C vpp700, vpp700e and vpp5000 C CALL GETENV ('HOST', YENVBACK) IF( YENVBACK(1:7) .EQ. 'vpp5000' )THEN FILENAME = '/vpp5000/mrfs/postproc/' ELSE IF( YENVBACK(1:7) .EQ. 'vpp700e' )THEN FILENAME = '/vpp700e/mrfs/postproc/' ELSE IF( YENVBACK(1:6) .EQ. 'vpp700' )THEN FILENAME = '/vpp700/mrfs/postproc/' ELSE FILENAME = '/mrfs/postproc/' ENDIF #else FILENAME = '/usr/local/lib/metaps/tables/interpolation/' #endif ENDIF C C Build the complete file pathname C INDX = INDEX(FILENAME, ' ') FILENAME(INDX:) = 'defaults_for_table_' INDX = INDEX(FILENAME, ' ') WRITE(FILENAME(INDX:),'(I3.3)') NITABLE INDX = INDX + 2 CALL INTLOG(JP_DEBUG, FILENAME(1:INDX), JPQUIET) IOTABLE = NITABLE C OPEN( UNIT = 1, X FILE = FILENAME(1:INDX), X STATUS = 'OLD', X FORM = 'FORMATTED', X ERR = 300) C C Skip first 2 lines in the file C READ(1,'(A)', END = 900) HLINE READ(1,'(A)', END = 900) HLINE C C Read the file into the defaults array C NUMDFS = 1 DO LOOP = 1, JPNUMDF READ(1,'(A)', END = 220) HDEFS(NUMDFS) NUMDFS = NUMDFS + 1 ENDDO C 220 CONTINUE C C Close the file. C NUMDFS = NUMDFS - 1 CLOSE(1, ERR = 920) C GOTO 400 C C ------------------------------------------------------------------ C* Section 3. If file problem, use default arrays. C ------------------------------------------------------------------ C 300 CONTINUE C CALL INTLOG(JP_DEBUG, X 'PDDEFS: No parameter processing defaults file found.',JPQUIET) C C Use appropriate table C 1 = WMO table 1 C 128 = ECMWF local code table 128 C 129 = ECMWF local code table 129 C IF( NITABLE.EQ.1 ) THEN C DO LOOP = 1, JPND001 HDEFS(LOOP) = TAB001(LOOP) ENDDO NUMDFS = JPND001 C ELSE IF( NITABLE.EQ.128 ) THEN C DO LOOP = 1, JPND128 HDEFS(LOOP) = TAB128(LOOP) ENDDO NUMDFS = JPND128 C C ELSE IF( NITABLE.EQ.129 ) THEN C DO LOOP = 1, JPND129 HDEFS(LOOP) = TAB129(LOOP) ENDDO NUMDFS = JPND129 C ELSE C C .. other (unspecified) C NUMDFS = 0 C ENDIF C ENDIF C C ------------------------------------------------------------------ C* Section 4. Read lines in file to see if current parameter C is mentioned. C ------------------------------------------------------------------ C 400 CONTINUE C CALL INTLOG(JP_DEBUG,'PDDEFS: Table number = ', NITABLE) CALL INTLOG(JP_DEBUG,'PDDEFS: Number of definitions = ', NUMDFS) CALL INTLOG(JP_DEBUG,'PDDEFS: Parameter number = ', NIPARAM) INEXT = 0 C 410 CONTINUE C INEXT = INEXT + 1 IF( INEXT.GT.NUMDFS ) GOTO 900 READ(HDEFS(INEXT), 9000) IPARAM, HLSM, HWIND, HPREC, HLSMI C C If the current parameter, use the values defined in the table. C IF( IPARAM.EQ.NIPARAM ) THEN C IF( HLSM .EQ.'n' ) LNLSM = .FALSE. IF( HWIND.EQ.'y' ) LNWIND = .TRUE. IF( HPREC.EQ.'y' ) LNPREC = .TRUE. IF( HLSMI.EQ.'y' ) LNSMPAR = .TRUE. GOTO 900 C ENDIF C C Go back for next line in the array C GOTO 410 C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Only change the value if the user has not already set it. C IF( .NOT. LSMSET ) THEN IF( NOTSAME(LNLSM,LSM) ) THEN LCHANGE = .TRUE. LSMCHNG = .TRUE. LSM = LNLSM ENDIF ENDIF C IF( .NOT. LWINDSET ) THEN IF( NOTSAME(LNWIND,LWIND) ) LCHANGE = .TRUE. LWIND = LNWIND ENDIF C IF( .NOT. LPRECSET ) THEN IF( NOTSAME(LNPREC,LPREC) ) LCHANGE = .TRUE. LPREC = LNPREC ENDIF C IF( .NOT. LSMPARSET ) THEN IF( NOTSAME(LNSMPAR,LSMPAR) ) LCHANGE = .TRUE. LSMPAR = LNSMPAR ENDIF C LPREC = PRECIP() C RETURN C 920 CONTINUE C PDDEFS = JPROUTINE + 1 CALL INTLOG(JP_ERROR,'PDDEFS: Error closing file:',JPQUIET) CALL INTLOG(JP_ERROR,FILENAME,JPQUIET) RETURN C 9000 FORMAT( I3,4(5X,A1)) 9001 FORMAT( 1X,I3,4(5X,A1)) C END emoslib-000392+dfsg.1/interpolation/jsh2sh.F0000755000175000017500000001173412127406245021666 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SH2SH(UFLDIN, KRESIN, UFLDOU, KRESOU) IMPLICIT NONE C C----> C**** SH2SH C C Purpose C _______ C C This routine produces a field of spectral coefficients in UFLDOU C of truncation KRESOU from a field of spectral coeeficients in C UFLDIN of truncation KRESIN. C C C Interface C _________ C C CALL SH2SH(UFLDIN, KRESIN, UFLDOU, KRESOU) C C C Input parameters C ________________ C C UFLDIN - field of spectral coefficients C KRESIN - truncation of input field C KRESOU - truncation of output field C C C Output parameters C ________________ C C UFLDOU - field of spectral coefficients C C C Common block usage C __________________ C C None C C C Method C ______ C C If the input truncation is greater than (or equal to) the output C truncation, coefficients are transferred reduced for the output. C C If the input truncation is less than the output truncation, C all coefficients are transferred and padded with zeroes for the C output. C C C Externals C _________ C C None C C C Reference C _________ C C None C C C Comments C ________ C C Arrays for the input and output fields must be defined large C enough for the coefficients implied by the truncations. Thus C the dimension for UFLDOU must be at least: C ( KRESOU + 1) * ( KRESOU + 2 ) /2 C C C Author C ______ C C J.D.Chambers ECMWF 8th Nov 1993 C C C Modifications C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C Complex U, dummy argument C C _______________________________________________________ C C Subroutine arguments COMPLEX UFLDIN(*),UFLDOU(*) INTEGER KRESIN, KRESOU C C Local variables INTEGER ITINP1, ITOUP1, ILIM, IMLIM, IMN, IMP, IADD INTEGER JM, JN C C _______________________________________________________ C C C* Section 1. Initialization C _______________________________________________________ C 100 CONTINUE C C Initialize loop control variables C ITINP1 = KRESIN + 1 ITOUP1 = KRESOU + 1 ILIM = ITOUP1 IMLIM = ITOUP1 IMN = 1 IMP = 1 C C _______________________________________________________ C C C* Section 2. Computation. C _______________________________________________________ C 200 CONTINUE C C Check if desired output truncation greater than input ... C IADD = KRESIN - KRESOU IF ( IADD .GE. 0 ) THEN C C ... input truncation not less than desired output ... C ... move truncated lines of coefficients DO 230 JM = 1, IMLIM DO 220 JN = JM, ILIM UFLDOU(IMP) = UFLDIN(IMN) IMP = IMP + 1 IMN = IMN + 1 220 CONTINUE C Skip coefficients being truncated IMN = IMN + IADD 230 CONTINUE C C ... input truncation is less than desired output ... C ... pad each output line of coefficients with zeroes ELSE DO 250 JM = 1, IMLIM DO 240 JN = JM, ILIM IF ( JN .GT. ITINP1 .OR. JM .GT. ITINP1) THEN C At end of input coefficients in C current row, then set values to C zero in output UFLDOU(IMP) = 0.0 ELSE UFLDOU(IMP) = UFLDIN(IMN) IMN = IMN + 1 ENDIF IMP = IMP + 1 240 CONTINUE 250 CONTINUE ENDIF C C _______________________________________________________ C C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/wvqlin2.F0000755000175000017500000003367112127406245022073 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WVQLIN2(KNUM,NUMPTS,KE_W,KN_S,RESON,OLDWAVE, X NEWWAVE,NORTH,WEST,KPARAM,PMISS) C C----> C*****WVQLIN2* C C PURPOSE C ------- C C To interpolate a wave field quasi-regular latitude C longitude grid to a regular latitude/longitude grid. C C C INTERFACE C --------- C C IRET = WVQLIN2(KNUM,NUMPTS,KE_W,KN_S,RESON,OLDWAVE, C X NEWWAVE,NORTH,WEST,KPARAM,PMISS) C C Input arguments C --------------- C C KNUM - No. of meridians from North to South pole (input field) C NUMPTS - Array giving number of points along each latitude C (empty latitudes have entry 0) C KE_W - First dimension of new array C = Number of points E-W in new grid C KN_S - Second dimension of new array C = Number of points N-S in new grid C RESON - Output grid resolution (degrees) C OLDWAVE - Original wave field C NORTH - Input and output grid northernmost latitude (degree) C WEST - Input and output grid westernmost longitude (degree) C KPARAM - Field parameter code C PMISS - Missing value indicator C RNS - Difference in degrees in NS disrection C C Output arguments C ---------------- C NEWWAVE - New wave field C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C A bi-linear interpolation is only done if all four neighbouring C points are sea. C The nearest neighbouring grid point value is taken if one of the C neighbouring points is missing. C The interpolated point value is set to the 'missing' indicator C value if the point is outside the input grid. C C A field representing a 'direction' is resolved into components C each of which is interpolated separately. C C The output area is the same as the input area. C C C EXTERNALS C --------- C C WVQLID2 - Calculate the indices of neighbouring points C INTLOG - Log error message. C C C REFERENCE C --------- C C Based on: C SUBROUTINE INTERPOLATE C Peter Janssen ECMWF September 1995 C and: C SUBROUTINE EXPOINT C Heinz Gunther ECMWF December 1989 C C C Author. C ------- C C J.D.Chambers ECMWF September 1996 C C J.D.Chambers ECMWF September 1998 C Modified to handle subarea input/output. C The output area is the same as the input area. C C J.D.Chambers ECMWF November 2000 C Modified to input grid resolution to be different from the C output grid resolution. C C----< C C -----------------------------------------------------------------| C* Section 0. Arguments and variable C -----------------------------------------------------------------| C C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19400 ) INTEGER JPLLMAX PARAMETER ( JPLLMAX = 1801 ) C `--> allow upto 0.1 degree resolution INTEGER JPNMOUT PARAMETER ( JPNMOUT = 1800 ) C `--> allow upto 0.1 degree resolution C INTEGER JPNW, JPNE, JPSW, JPSE, JPN, JPS INTEGER JPDISNW, JPDISNE, JPDISSW, JPDISSE PARAMETER (JPNW = 1) PARAMETER (JPNE = 2) PARAMETER (JPSW = 3) PARAMETER (JPSE = 4) PARAMETER (JPN = 5) PARAMETER (JPS = 6) PARAMETER (JPDISNW = 7) PARAMETER (JPDISNE = 8) PARAMETER (JPDISSW = 9) PARAMETER (JPDISSE = 10) C C Subroutine arguments C INTEGER KNUM, NUMPTS, KE_W, KN_S, KPARAM DIMENSION NUMPTS(*) REAL RESON, NORTH, WEST, PMISS REAL RNS REAL OLDWAVE, NEWWAVE DIMENSION OLDWAVE(*), NEWWAVE(*) C C Local arguments C INTEGER NLAT, K, I, NEWROW, NEWCOL, I1N, I1S, I_N, I_S, I2N, I2S REAL*4 DELONGN, DELONGS, DELAT, DI1N, DI1S, DI2N, DI2S REAL*4 DIST_N, DIST_S REAL*4 DISNW, DISNE, DISSW, DISSE REAL*4 U1, U2, ZXIN, ZXIS REAL LON, LAT DIMENSION LON(JPNMOUT*2),LAT(JPNMOUT+1) LOGICAL INGRID, LDIREC INTEGER NW_PT, NE_PT, SW_PT, SE_PT REAL*4 NWVALUE, NEVALUE, SWVALUE, SEVALUE REAL*4 RAD DATA RAD/0.017453293/ REAL*4 CNW_PT, CNE_PT, CSW_PT, CSE_PT REAL*4 SNW_PT, SNE_PT, SSW_PT, SSE_PT REAL*4 C1, C2, S1, S2, CC, SS C REAL OLDLATS(JPLLMAX), OLDEAST REAL OLDNS INTEGER ISTART, IEND INTEGER LOCATE INTEGER NEXT, NUMNEW(JPLLMAX) INTEGER IRET, WVQLID2 EXTERNAL WVQLID2 INTEGER XKNUM,XKE_W,XKN_S DATA XKNUM/-1/,XKE_W/-1/,XKN_S/-1/ REAL XRESON,XNORTH,XWEST DATA XRESON/-999.0/,XNORTH/-999.0/,XWEST/-999.0/ INTEGER IFIRST, NEWIDX(4,1440*721) DATA IFIRST/0/ REAL*4 DISTNEW(10,1440*721) C INTEGER IOS INTEGER OLDKNUM DATA OLDKNUM/0/ INTEGER INDEX(JPLLMAX) REAL DEPS DATA DEPS/0.00005/ C Inline function - tests TRUE if A is a missing value C EPS Tolerance on missing data flag REAL EPS DATA EPS/0.1/ LOGICAL LSW,LSE,LNE,LNW,LTEMP C SAVE IFIRST,XKNUM,XKE_W,XKN_S,XRESON,XNORTH,XWEST,NEWIDX,DISTNEW C C -----------------------------------------------------------------| C* Section 1. Initalisation. C -----------------------------------------------------------------| C 100 CONTINUE C WVQLIN2 = 0 CALL INTLOG(JP_DEBUG, X 'WVQLIN2: Wave interpolation requested.',JPQUIET) C C Check reduced latitude/longitude grid specification C IF( KNUM.GT.JPLLMAX ) THEN CALL INTLOG(JP_ERROR, X 'WVQLIN2: Number of latitudes in input lat/long grid = ',KNUM) CALL INTLOG(JP_ERROR, X 'WVQLIN2: And is greater than allowed maximum = ',JPLLMAX) WVQLIN2 = JPROUTINE + 1 GOTO 900 ENDIF C C Ensure working array dimensions are adequate for required output. C IF( (KE_W.GT.JPNMOUT*2).OR.(KN_S.GT.JPNMOUT+1) ) THEN CALL INTLOG(JP_ERROR, X 'WVQLIN2: Internal array dimensions are too small',JPQUIET) CALL INTLOG(JP_ERROR, X 'WVQLIN2: for given lat/long output field.',JPQUIET) WVQLIN2 = JPROUTINE + 3 GOTO 900 ENDIF C C Set up index for latitude lines in the input reduced lat/lon array C INDEX(1) = 0 DO K = 2, KNUM INDEX(K) = INDEX(K-1) + NUMPTS(K-1) ENDDO DO K = 1, KN_S LAT(K) = NORTH - FLOAT(K-1)*RESON NUMNEW(K) = KE_W ENDDO C C Calculate latitudes and longitudes of output grid points. C DO I = 1,KE_W LON(I) = FLOAT(I-1)*RESON ENDDO C C Calculate latitudes for input (old) grid. C (Input and output area are same) C OLDNS = RNS/REAL(KNUM-1) DO K = 1, KNUM OLDLATS(K) = NORTH - FLOAT(K-1)*OLDNS ENDDO C C Find first and last latitudes in input grid which are not empty C ISTART = 1 DO K = 1, KNUM/2 IF( NUMPTS(K).EQ.0 ) ISTART = ISTART + 1 ENDDO C IEND = KNUM DO K = KNUM, (KNUM/2) + 1, -1 IF( NUMPTS(K).EQ.0 ) IEND = IEND - 1 ENDDO C C For the regular output grid, calculate its latitudes and fill C in the number of points along each latitude. C C C Setup East depending on whether or not there is wrap-around C IF( ABS((KE_W*RESON)-360.0).LT.DEPS ) THEN OLDEAST = WEST + KE_W*RESON ELSE OLDEAST = WEST + (KE_W-1)*RESON ENDIF C C Initialise all points with 'missing data' indicator C NEXT = 0 DO NEWROW = 1, KN_S DO NEWCOL = 1, KE_W NEXT = NEXT + 1 NEWWAVE(NEXT) = PMISS ENDDO ENDDO C C Wave direction parameters need special handling C (MWD, MDWW, MDPS, MDWI) C LDIREC = ( (KPARAM.EQ.230) .OR. X (KPARAM.EQ.235) .OR. X (KPARAM.EQ.238) .OR. X (KPARAM.EQ.242) ) C cs print*,KNUM,KE_W,KN_S,RESON,NORTH,WEST,KPARAM,PMISS,RNS C -----------------------------------------------------------------| C* Section 2. Interpolation. C -----------------------------------------------------------------| C 200 CONTINUE C C Only calculate the indices on the first time through C IF( (IFIRST.EQ.0 ) .OR. X ( KNUM.NE.XKNUM ) .OR. X ( KE_W.NE.XKE_W ) .OR. X ( KN_S.NE.XKN_S ) .OR. X ( RESON.NE.XRESON ).OR. X ( NORTH.NE.XNORTH ).OR. X ( WEST.NE.XWEST ) ) THEN C c print*,'DISS KNUM ', KNUM,' WEST ',WEST, 'KN_S ',KN_S c print*,'DISS OLDEAST ', OLDEAST IRET = WVQLID2(KNUM,NUMPTS,OLDLATS,WEST,OLDEAST, X KN_S,NUMNEW,LAT,NEWIDX,DISTNEW) IFIRST = 1 XKNUM = KNUM XKE_W = KE_W XKN_S = KN_S XRESON = RESON XNORTH = NORTH XWEST = WEST ENDIF C DELAT = OLDNS NEXT = 0 C DO 220 NEWROW = 1, KN_S C C Set up the distance between new row and the old rows to N and S. C NLAT = NINT((NORTH - LAT(NEWROW))/DELAT) + 1 I_N = NLAT I_S = MIN(I_N+1,KNUM*2) DIST_N = ((NORTH - DELAT*(I_N-1)) - LAT(NEWROW)) / DELAT DIST_S = 1.0 - DIST_N C C Check if the new interpolated row lies between 2 old rows which C have data points C IF( (NUMPTS(I_N).GT.0).AND.(NUMPTS(I_S).GT.0) ) THEN C C Yes, use the calculated indices C DO 210 NEWCOL = 1, KE_W NEXT = NEXT + 1 C NW_PT = NEWIDX(JPNW,NEXT) NE_PT = NEWIDX(JPNE,NEXT) SW_PT = NEWIDX(JPSW,NEXT) SE_PT = NEWIDX(JPSE,NEXT) NWVALUE = OLDWAVE(NW_PT) NEVALUE = OLDWAVE(NE_PT) SWVALUE = OLDWAVE(SW_PT) SEVALUE = OLDWAVE(SE_PT) C C Test if any one of the four neighbouring points is missing. C LTEMP = .FALSE. LSE = .FALSE. IF(ABS(SEVALUE-PMISS) .LT. EPS) LSE = .TRUE. LSW = .FALSE. IF(ABS(SWVALUE-PMISS) .LT. EPS) LSW = .TRUE. LNE = .FALSE. IF(ABS(NEVALUE-PMISS) .LT. EPS) LNE = .TRUE. LNW = .FALSE. IF(ABS(NWVALUE-PMISS) .LT. EPS) LNW = .TRUE. C IF( (NW_PT.EQ.0 .OR. LNW) .OR. X (NE_PT.EQ.0 .OR. LNE) .OR. X (SW_PT.EQ.0 .OR. LSW) .OR. X (SE_PT.EQ.0 .OR. LSE) ) THEN C If so, take nearest grid point value. C DISNW = DISTNEW(JPDISNW,NEXT) DISNE = DISTNEW(JPDISNE,NEXT) DISSW = DISTNEW(JPDISSW,NEXT) DISSE = DISTNEW(JPDISSE,NEXT) C IF( (DISNW.LE.DISNE).AND. X (DISNW.LE.DISSW).AND. X (DISNW.LE.DISSE) ) THEN cs NEWWAVE(NEXT) = NWVALUE LOCATE = NW_PT LTEMP = LNW C ELSE IF( (DISNE.LE.DISSW).AND. X (DISNE.LE.DISSE) ) THEN cs NEWWAVE(NEXT) = NEVALUE LOCATE = NE_PT LTEMP = LNE C ELSE IF( (DISSW.LE.DISSE) ) THEN cs NEWWAVE(NEXT) = SWVALUE LOCATE = SW_PT LTEMP = LSW C ELSE cs NEWWAVE(NEXT) = SEVALUE LOCATE = SE_PT LTEMP = LSE C ENDIF IF( .NOT.LTEMP.AND.LOCATE.NE.0) THEN c IF( LOCATE.NE.0) THEN NEWWAVE(NEXT) = OLDWAVE(LOCATE) ENDIF C ELSE C C Use bi-linear interpolation from four C neighbouring sea points. C DI1N = DISTNEW(JPNW,NEXT) DI2N = DISTNEW(JPNE,NEXT) DI1S = DISTNEW(JPSW,NEXT) DI2S = DISTNEW(JPSE,NEXT) DIST_N = DISTNEW(JPN,NEXT) DIST_S = DISTNEW(JPS,NEXT) C NW_PT = OLDWAVE(NW_PT) NE_PT = OLDWAVE(NE_PT) SW_PT = OLDWAVE(SW_PT) SE_PT = OLDWAVE(SE_PT) C IF( .NOT. LDIREC ) THEN U1 = NWVALUE*DI2N + NEVALUE*DI1N U2 = SWVALUE*DI2S + SEVALUE*DI1S NEWWAVE(NEXT) = U1*DIST_S + U2*DIST_N C ELSE C C Fields representing a 'direction': resolve into C components and interpolate each separately. C CNW_PT = COS(NWVALUE*RAD) CNE_PT = COS(NEVALUE*RAD) CSW_PT = COS(SWVALUE*RAD) CSE_PT = COS(SEVALUE*RAD) SNW_PT = SIN(NWVALUE*RAD) SNE_PT = SIN(NEVALUE*RAD) SSW_PT = SIN(SWVALUE*RAD) SSE_PT = SIN(SEVALUE*RAD) C1 = CNW_PT*DI2N + CNE_PT*DI1N C2 = CSW_PT*DI2S + CSE_PT*DI1S CC = C1*DIST_S + C2*DIST_N S1 = SNW_PT*DI2N + SNE_PT*DI1N S2 = SSW_PT*DI2S + SSE_PT*DI1S SS = S1*DIST_S + S2*DIST_N IF( SS.LT.0.0 ) THEN NEWWAVE(NEXT) = ATAN2(SS,CC)/RAD + 360.0 ELSE NEWWAVE(NEXT) = ATAN2(SS,CC)/RAD ENDIF ENDIF ENDIF 210 CONTINUE ELSE NEXT = NEXT + KE_W ENDIF C 220 CONTINUE C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C IF( WVQLIN2.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, X 'WVQLIN2: Wave interpolation successful.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'WVQLIN2: Wave interpolation failed.',JPQUIET) ENDIF c call abort() C RETURN END emoslib-000392+dfsg.1/interpolation/intlogr.F0000755000175000017500000000705112127406245022140 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INTLOGR(KLEVEL, MESSAGE, PNUM) C C----> C**** INTLOGR C C PURPOSE C _______ C C This routine logs error messages. C C C INTERFACE C _________ C C CALL INTLOGR(KLEVEL, MESSAGE, PNUM) C C C Input parameters C ________________ C C KLEVEL - Severity level for reported message C = 0 for debug C = 1 for information C = 2 for warning C = 3 for error C = 4 for fatal C MESSAGE - Message text C PNUM - Message number C C C Output parameters C ________________ C C None. C C C Common block usage C __________________ C C LDEBUG in /INTLOGC/ controls display of message C = 0 for no display C = 1 to display C C C Method C ______ C C Prints message and number if debug flag is 'on'. C C C Externals C _________ C C INTLOGT - sends any ERROR or FATAL message to the MARS server. C C C Comments C ________ C C LDEBUG is toggled by a call to INTLOGD. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Jul 1995 C C C MODIFICATIONS C _____________ C C J.D.Chambers *ECMWF* March 1996 C Prepare error message for MARS server. C C C----< C _______________________________________________________ IMPLICIT NONE C #include "parim.h" C C Subroutine arguments. C INTEGER KLEVEL REAL PNUM CHARACTER *(*) MESSAGE C #include "intlog.h" C C Local variables. C CHARACTER*79 NEWMESS INTEGER NLEV, LOOP CHARACTER*5 TITLE(JP_FATAL+1) DATA TITLE/'DEBUG', X 'INFO ', X 'WARN ', X 'ERROR', X 'FATAL'/ INTEGER IRET, ILEN C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C C Ensure valid level is used. NLEV = KLEVEL + 1 IF ( KLEVEL .GT. JP_FATAL) NLEV = JP_FATAL + 1 C DO LOOP = 1, 79 NEWMESS(LOOP:LOOP) = ' ' ENDDO C C ------------------------------------------------------------------ C* Section 2. Prepare ERROR or FATAL message for MARS server. C ------------------------------------------------------------------ C 200 CONTINUE C ILEN = LEN(MESSAGE) IF( ILEN.GT.55 ) ILEN = 55 NEWMESS(1:ILEN) = MESSAGE ILEN = ILEN + 1 IF( ABS(PNUM).LT.100000.0 ) THEN WRITE(NEWMESS(ILEN:),'(F24.15)') PNUM ELSE IF ( ABS(PNUM).LT.10000000000.0 ) THEN WRITE(NEWMESS(ILEN:),'(F24.10)') PNUM ELSE IF ( ABS(PNUM).LT.10000000000000.0 ) THEN WRITE(NEWMESS(ILEN:),'(F24.7)') PNUM ELSE WRITE(NEWMESS(ILEN:),'(F25.2)') PNUM ENDIF C C Send the message C IF( KLEVEL.GE.JP_WARN ) CALL INTLOGT(NEWMESS) C IF( LDEBUG ) WRITE(*,9001) TITLE(NLEV),NEWMESS(1:66) 9001 FORMAT('INTLOG ',A5,': ',A66) C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/areachk.F0000755000175000017500000002737612127406245022074 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION AREACHK( EW, NS, NORTH, WEST, SOUTH, EAST ) C C----> C**** AREACHK C C Purpose C ------- C C Fixup input/output field area definitions according to grid C specification. C C C Interface C --------- C C IRET = AREACHK( EW, NS, NORTH, WEST, SOUTH, EAST ) C C Input C ----- C C For latitude/longitude grids: C EW = East-west grid interval (degrees) C NS = North-south grid interval (degrees) C C For gaussian grids: C EW = gaussian grid number C NS = 0 C C NORTH = North latitude (degrees) C WEST = West longitude (degrees) C SOUTH = South latitude (degrees) C EAST = East longitude (degrees) C C For spherical harmonics: C EW = 0 C NS = 0 C NORTH = 0 C WEST = 0 C SOUTH = 0 C EAST = 0 C C C Output C ------ C C NORTH = North latitude, adjusted if necessary (degrees) C WEST = West longitude, adjusted if necessary (degrees) C SOUTH = South latitude, adjusted if necessary (degrees) C EAST = East longitude, adjusted if necessary (degrees) C C C Method C ------ C C If default (0/0/0/0) selected for input, input area is set C - to global for lat/long grid C - to global for gaussian grid C C Output area is adjusted to fit the given grid by expanding C the area if necessary. C C C Externals C --------- C C DSSAREA - Fixup input/output field area (dissemination style). C JGETGG - Reads the definition of a gaussian grid. C JNORSGG - Finds the lat row in a gauss grid N or S of given lat C INTLOG - Logs error messages. C C C Author C ------ C C J.D.Chambers ECMWF Apr 1996 C C----< C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 19200 ) REAL RRMULT #if (defined hp) && (!defined INTEGER_8) INTEGER NP90, NP360, NFACTOR PARAMETER ( NFACTOR = 10 ) #else INTEGER*8 NP90, NP360, NFACTOR PARAMETER ( NFACTOR = 1000 ) #endif PARAMETER ( NP90 = JP90*NFACTOR ) PARAMETER ( NP360 = JP360*NFACTOR ) PARAMETER ( RRMULT = (PPMULT*NFACTOR) ) C C Function arguments C REAL EW, NS, NORTH, WEST, SOUTH, EAST C C Local variables C #if (defined hp) && (!defined INTEGER_8) INTEGER INORTH, IWEST, ISOUTH, IEAST, IEW, INS INTEGER TNORTH, TWEST, TSOUTH, TEAST INTEGER NWEST, NEAST #else INTEGER*8 INORTH, IWEST, ISOUTH, IEAST, IEW, INS INTEGER*8 TNORTH, TWEST, TSOUTH, TEAST INTEGER*8 NWEST, NEAST #endif CHARACTER*12 YFLAG INTEGER NGAUSS, NOLD, IRET, KPTS DIMENSION KPTS(JPGTRUNC*2) DATA NOLD /0/ REAL RNORTH, RSOUTH LOGICAL LDEFIN, LGAUSS, LSPHERE, LSUBAR, LINSIDE REAL RGAUSS DIMENSION RGAUSS(JPGTRUNC*2) REAL*8 DEW, DNS, DNORTH, DWEST, DSOUTH, DEAST C C Externals C INTEGER JNORSGG, DSSAREA C SAVE NOLD, RGAUSS C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE AREACHK = 0 LINSIDE=.FALSE. LGAUSS = ( NS.EQ.0.0 ) LSPHERE = ( (EW.EQ.0.0).AND.(NS.EQ.0.0) ) C Force grid points inside required area CALL GETENV('MARS_INTERPOLATION_INWARDS', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LINSIDE = .TRUE. C Don't adjust area if rotation specified C IF( LNOROTA ) GOTO 900 C C If dissemination style areas required ... C IF( (LNOSTYLE.AND.(NOSTYLE.EQ.JPSDISM)).OR.LINSIDE ) THEN AREACHK = DSSAREA( EW, NS, NORTH, WEST, SOUTH, EAST ) GOTO 900 ENDIF C C If it's gaussian, pick up the gaussian grid definitions unless C they have already been retrieved. C IF( LGAUSS.AND..NOT.LSPHERE ) THEN NGAUSS = NINT( EW ) #if (defined hp) && (!defined INTEGER_8) IF( NGAUSS.GE.256 ) THEN CALL INTLOG(JP_ERROR, X 'AREACHK: unsafe to use 32-bit HP version for gaussian = ', X NGAUSS) AREACHK = JPROUTINE + 1 GOTO 900 ENDIF #endif IF( NGAUSS.GT.JPGTRUNC ) THEN CALL INTLOG(JP_ERROR, X 'AREACHK: Gaussian grid number ', NGAUSS) CALL INTLOG(JP_ERROR, X 'AREACHK: exceeds current expected maximum ', JPGTRUNC) AREACHK = JPROUTINE + 1 GOTO 900 ENDIF C IF( NGAUSS.NE.NOLD ) THEN NOLD = NGAUSS CALL JGETGG( NOLD, 'F', RGAUSS, KPTS, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'AREACHK: Failed to pick up gaussian ', JPQUIET) CALL INTLOG(JP_ERROR, X 'AREACHK: definitions for resolution = ', NOLD) AREACHK = JPROUTINE + 2 GOTO 900 ENDIF ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 2. Fixup area if default (0/0/0/0). C -----------------------------------------------------------------| C 200 CONTINUE C C Sinisa added if input area is not global C because of stagered grids LSUBAR = ( (NIAREA(1).NE.0).AND.(NIAREA(2).NE.0).AND. X (NIAREA(3).NE.0).AND.(NIAREA(4).NE.0) ) LSTAGGL = .FALSE. IF( LSUBAR ) THEN IF(IABS(JP360 - NIAREA(4) - NIAREA(2)).LT.1000) THEN LSTAGGL = .TRUE. ENDIF ENDIF LDEFIN = ( (NORTH.EQ.0).AND.(WEST.EQ.0).AND. X (SOUTH.EQ.0).AND.(EAST.EQ.0) ) C IF( LDEFIN ) THEN C IF( .NOT.LGAUSS ) THEN C C Regular lat/long grid .. C NORTH = 90.0 WEST = 0 SOUTH = -NORTH EAST = 360.0 - EW C ELSE IF( LSPHERE ) THEN C C Spherical harmonics C NORTH = 90.0 WEST = 0 SOUTH = -90.0 EAST = 360.0 C C ELSE C C Gaussian grid .. C INORTH = JNORSGG( 90.0, RGAUSS, NGAUSS, 0) NORTH = RGAUSS(INORTH) WEST = 0 ISOUTH = JNORSGG( -90.0, RGAUSS, NGAUSS, 1) SOUTH = -NORTH EAST = 360.0 - 90.0/FLOAT(NGAUSS) ENDIF ENDIF C IF( LSPHERE ) GOTO 900 C C Don't fixup area for ocean products C CTim IF( NILOCAL.EQ.4 ) GOTO 900 C C -----------------------------------------------------------------| C* Section 3. Fixup west-east area to correspond to the grid. C -----------------------------------------------------------------| C 300 CONTINUE C IF( .NOT.LGAUSS ) THEN C C Regular lat/long grid only .. C DEW = EW IEW = DNINT( DBLE(DEW * RRMULT) ) C ELSE C C Gaussian grid .. C IEW = DNINT( (DBLE(NP90) / DBLE(NGAUSS)) ) C ENDIF C C Standardise range so that WEST and EAST are >= 0, C and EAST > WEST. C IF( WEST.LT.0.0 ) THEN WEST = WEST + 360.0 EAST = EAST + 360.0 ENDIF IF( EAST.GE.WEST ) THEN DEAST = EAST ELSE DEAST = EAST + 360.0 ENDIF C DWEST = WEST IEAST = DNINT( DEAST * DBLE(RRMULT) + 0.1 ) TEAST = IEAST IWEST = DINT( DWEST * DBLE(RRMULT) + 0.1 ) TWEST = IWEST C C Round east boundary to nearest gridpoint eastwards, C and west boundary to nearest gridpoint westwards. C NEAST = (IEAST+IEW-1) / IEW IEAST = NEAST * IEW IF(.NOT.LSTAGGL.AND.LSUBAR.AND.IEAST.GT.TEAST) THEN IEAST = IEAST - IEW ENDIF NWEST = IWEST / IEW IWEST = NWEST * IEW c Sinisa to add 1 point if we have stagered global field IF(.NOT.LSTAGGL.AND.LSUBAR.AND.IWEST.LT.TWEST) THEN IWEST = IWEST + IEW ENDIF C C Try to catch special case: global west-east with wrap-around. C IF( (IEAST-IWEST).GE.NP360 ) THEN IF( LGAUSS) THEN IEAST = IWEST + (4*NGAUSS-1)*IEW ELSE IEAST = IWEST + NP360 - IEW ENDIF ENDIF C C Ensure East and West still in range (0,360) C IF( IEAST.GT.NP360 ) THEN IEAST = IEAST - NP360 IWEST = IWEST - NP360 ENDIF IF( IWEST.LT.-NP360 ) THEN IEAST = IEAST + NP360 IWEST = IWEST + NP360 ENDIF C C Ensure East-West spread is not greater than 360 C IF( (IEAST-IWEST).GT.NP360 ) THEN IF( LGAUSS) THEN IEAST = IWEST + (4*NGAUSS-1)*IEW ELSE IEAST = IWEST + NP360 - IEW ENDIF ENDIF C C Apply adjustment when east and west boundaries are the same C longitude (0/360) to give a global grid. C IF( ( (IWEST.EQ.-NP360).AND.(IEAST.EQ.0) ).OR. X ( (IWEST.EQ.0) .AND.(IEAST.EQ.NP360) ).OR. X ( (IWEST.EQ.NP360) .AND.(IEAST.EQ.NP360) ) ) THEN IWEST = 0 IF( LGAUSS) THEN IEAST = (4*NGAUSS-1)*IEW ELSE IEAST = NP360 - IEW ENDIF ENDIF C WEST = DBLE(IWEST) / RRMULT EAST = DBLE(IEAST) / RRMULT C IF( (EAST.LT.WEST).OR.(EAST.GT.360.0) ) THEN CALL INTLOG(JP_ERROR, X 'AREACHK: Faulty longitude limits', JPQUIET) CALL INTLOGR(JP_ERROR,'AREACHK: East = ', EAST) CALL INTLOGR(JP_ERROR,'AREACHK: West = ', WEST) AREACHK = JPROUTINE + 3 GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 4. Fixup north-south area to correspond to the grid. C -----------------------------------------------------------------| C 400 CONTINUE c for ocean fields, adjust ew but not ns boundaries IF( NILOCAL.EQ.4 ) GOTO 900 C IF( .NOT.LGAUSS ) THEN C C Regular lat/long grid only .. C C Round north boundary to nearest gridpoint northwards. C DNS = NS INS = DNINT( DBLE(DNS * RRMULT) ) DNORTH = NORTH INORTH = DNINT( DBLE(DNORTH * RRMULT) ) TNORTH = INORTH IF( INORTH.GE.0 ) THEN INORTH = (INORTH+INS-1) / INS ELSE INORTH = INORTH / INS ENDIF INORTH = INORTH * INS IF( INORTH.GT.NP90 ) INORTH = NP90 IF( INORTH.LT.-NP90 ) INORTH = -NP90 IF(.NOT.LSTAGGL.AND.LSUBAR.AND.INORTH.GT.TNORTH) THEN INORTH = INORTH - INS ENDIF NORTH = DBLE(INORTH) / RRMULT C C Round south boundary to nearest gridpoint southwards. C DSOUTH = SOUTH ISOUTH = DNINT( DBLE(DSOUTH * RRMULT) ) TSOUTH = ISOUTH IF( ISOUTH.GE.0 ) THEN ISOUTH = ISOUTH / INS ELSE ISOUTH = (ISOUTH-INS+1) / INS ENDIF ISOUTH = ISOUTH * INS IF( ISOUTH.GT.NP90 ) ISOUTH = NP90 IF( ISOUTH.LT.-NP90 ) ISOUTH = -NP90 IF(.NOT.LSTAGGL.AND.LSUBAR.AND.ISOUTH.LT.TSOUTH) THEN ISOUTH = ISOUTH + INS ENDIF SOUTH = DBLE(ISOUTH) / RRMULT C ELSE C C Gaussian grid .. C C Round north boundary to nearest gridpoint northwards. C RNORTH = NORTH INORTH = JNORSGG( RNORTH, RGAUSS, NGAUSS, 1) NORTH = RGAUSS(INORTH) C C Round south boundary to nearest gridpoint southwards. C RSOUTH = SOUTH ISOUTH = JNORSGG( RSOUTH, RGAUSS, NGAUSS, 0) SOUTH = RGAUSS(ISOUTH) C ENDIF C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jsgggp.F0000755000175000017500000002767312127406245021757 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JSGGGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, X KNUM, HTYPE, KPTS, POUTF, LUV, KRET) C C----> C**** JSGGGP C C PURPOSE C _______ C C This routine converts strecthed spectral fields to a gaussian C grid field. C C INTERFACE C _________ C C CALL JSGGGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, C X KNUM, HTYPE, KPTS, POUTF, LUV, KRET) C C Input parameters C ________________ C C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C PNORTH - Northernmost latitude for output field (degrees) C PSOUTH - Southernmost latitude for output field (degrees) C PWEST - Westernmost longitude for output field (degrees) C PEAST - Easternmost longitude for output field (degrees) C KNUM - Gaussian grid number C HTYPE - Gaussian grid type C = 'R' for reduced, C = 'F' for full C = 'U' for user-defined reduced gaussian grid C KPTS - Array specifying number of points at each line of C latitude if HTYPE = 'U'. C (Must be big enough for both hemispheres, but only C needs to give Northern hemisphere values from pole C to latitude nearest the Equator.) C LUV - Code indicating whether or not the field is a wind C component field; C = 1 if U or V field. C C Output parameters C ________________ C C KPTS - Array specifying number of points at each line of C latitude; user defined values if HTYPE = 'U'. C (Must be big enough for both hemispheres) C POUTF - Output grid point field C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C Converts stretched 'latitude' to real latitude and then C interpolates along the real latitude line. C C C Externals C _________ C C JGETGG - Pick up the definition of the gaussian grid. C JJSET99 - Sets up FFT C JNORSGG - Determines which latitude row in a gaussian grid is C north or south of a given latitude C JSYMGG - Generate symmetric grid from spherical harmonics C JWSCAL - Apply latitude correction to wind component field C JMVUGG - Moves grid point data to output array C JMKOFGG - Builds offsets into storage array C JDEBUG - Checks environment variable to switch on/off debug C INTLOG - Logs output messages C INTLOGR - Logs output messages C C C Reference C _________ C C None C C C Comments C ________ C C None C C C AUTHOR C ______ C C J.D.Chambers ECMWF July 1999 C C MODIFICATIONS C _____________ C C C None C C----< C _______________________________________________________ C C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "current.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Subroutine arguments C COMPLEX PSHUP DIMENSION PSHUP(*) INTEGER KTRUNC, KNUM, KPTS, KRET DIMENSION KPTS(*) CHARACTER*1 HTYPE REAL PNORTH, PSOUTH, PWEST, PEAST REAL POUTF DIMENSION POUTF(*) INTEGER LUV C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31600 ) REAL DEG2RAD PARAMETER ( DEG2RAD = PPI/180.0 ) C C Local variables C INTEGER ILON, ILONOLD, ITOUP1, IJPWR, NUMPTS DIMENSION IJPWR(JPMAX) INTEGER ILUNIT INTEGER NXTROW REAL RINTVL, ZCOSI, ZLAT REAL ZFACTOR(JPMAX) C INTEGER IMFAX REAL ATRIGS DIMENSION IMFAX(10),ATRIGS(JPLONO*2) #ifdef POINTER_64 INTEGER*8 IALEG, IZFA #endif #ifdef CRAY REAL ALEG DIMENSION ALEG(JPK) REAL ZFA DIMENSION ZFA(JPLONO+2, 64) #else REAL ALEG DIMENSION ALEG(1) POINTER ( IALEG, ALEG ) REAL ZFA DIMENSION ZFA(2) POINTER ( IZFA, ZFA ) #endif INTEGER ISIZE DATA ISIZE/0/ SAVE ISIZE, IZFA C INTEGER J108, NNORTH, NSOUTH, NFLAG INTEGER NOFSET, LOOP DIMENSION NOFSET(JPMAX) INTEGER INORTH, ISOUTH, IMAGE REAL ALAT DIMENSION ALAT(JPMAX) C SAVE ILUNIT C LOGICAL LDEBUG, LFIRST DATA LFIRST/.TRUE./ SAVE LDEBUG, LFIRST C INTEGER JNORSGG EXTERNAL JNORSGG C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C CALL JDEBUG( ) LDEBUG = NDBG.GT.0 C #ifndef CRAY C C First time through, dynamically allocate memory for workspace C IF( LFIRST ) THEN LFIRST = .FALSE. ISIZE = (JPLONO+2)*64 CALL JMEMHAN( 10, IZFA, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JSGGGP: memory allocation error.',IZFA) KRET = JPROUTINE + 1 GOTO 990 ENDIF ENDIF #endif C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JSGGGP: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JSGGGP: Spherical harmonic truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JSGGGP: Northern latitude for output = ', PNORTH) CALL INTLOGR(JP_DEBUG, X 'JSGGGP: Southern latitude for output = ', PSOUTH) CALL INTLOGR(JP_DEBUG, X 'JSGGGP: Western longitude for output = ', PWEST) CALL INTLOGR(JP_DEBUG, X 'JSGGGP: Eastern longitude for output = ', PEAST) CALL INTLOG(JP_DEBUG, X 'JSGGGP: Gaussian grid number = ', KNUM) C IF( HTYPE.EQ.'R' .OR. HTYPE.EQ.'r' ) CALL INTLOG(JP_DEBUG, X 'JSGGGP: Grid type is Reduced.',JPQUIET) IF( HTYPE.EQ.'F' .OR. HTYPE.EQ.'f' ) CALL INTLOG(JP_DEBUG, X 'JSGGGP: Grid type is Full.',JPQUIET) IF( HTYPE.EQ.'U' .OR. HTYPE.EQ.'u' ) CALL INTLOG(JP_DEBUG, X 'JSGGGP: Grid type is User.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JSGGGP: Field code( = 1 for U or V) = ', LUV) C IF( (HTYPE.EQ.'u').OR.(HTYPE.EQ.'U') ) THEN CALL INTLOG(JP_DEBUG,'JSGGGP: User-supplied values.',JPQUIET) CALL INTLOG(JP_DEBUG,'JSGGGP: No. pts at each line:',JPQUIET) DO NDBGLP = 1, 20 CALL INTLOG(JP_DEBUG,' ',KPTS( NDBGLP )) ENDDO ENDIF ENDIF C C Pick up the file containing the definition of the gaussian grid. C IF( (NOGAUSO.NE.KNUM).OR.(HOGAUST.NE.HTYPE) ) THEN CALL JGETGG( KNUM, HTYPE, ALAT, KPTS, KRET) IF( KRET.NE.0 ) GOTO 990 NOGAUSO = KNUM HOGAUST = HTYPE ELSE DO LOOP = 1, KNUM*2 ALAT(LOOP) = ROGAUSS(LOOP) KPTS(LOOP) = NOLPTS(LOOP) ENDDO ENDIF C C Calculate the true latitudes and the map factor. C DO LOOP = 1, KNUM*2 CALL STRLAT(ALAT(LOOP), RISTRET, 0, ALAT(LOOP), ZFACTOR(LOOP)) ENDDO C C Coefficients are to generated 'on the fly' C LON_FLY = .TRUE. LFILEIO = .FALSE. LMEMORY = .FALSE. LSHARED = .FALSE. LMAPPED = .FALSE. ISIZE = (KTRUNC+1)*(KTRUNC+2) CALL JMEMHAN( 14, IALEG, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JSGGGP: memory allocate error.',IALEG) KRET = JPROUTINE + 2 GOTO 990 ENDIF C IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'JSGGGP: Failed to open legendre function file',JPQUIET) KRET = JPROUTINE + 3 GOTO 990 ENDIF C NNORTH = JNORSGG( PNORTH, ALAT, KNUM, 1) NSOUTH = JNORSGG( PSOUTH, ALAT, KNUM, 0) IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'JSGGGP: Gaussian latitudes in requested area:',JPQUIET) CALL INTLOG(JP_DEBUG,'JSGGGP: NORTH = ',NNORTH) CALL INTLOG(JP_DEBUG,'JSGGGP: SOUTH = ',NSOUTH) ENDIF C C C For calculation purposes, the number of longitude points for each C latitude row has to be greater than 2*(output truncation) to C ensure the fourier transform is exact (see Reference, page 10). C C The following loop calculates the power of 2 to be used as a C multipier for each row to ensure there are enough points. C Later, when filling the output array POUTF, the longitude points C have to be taken selectively to avoid the intermediate generated C points, picking up values only at the required longitudes. C ITOUP1 = KTRUNC DO 108 J108 = 1, KNUM IMAGE = 2*KNUM - J108 + 1 ILON = KPTS(J108) IJPWR(J108) = 1 104 CONTINUE IF(ILON .GT. 2*ITOUP1) GOTO 106 IJPWR(J108) = IJPWR(J108)*2 ILON = ILON*2 GOTO 104 106 CONTINUE IJPWR(IMAGE) = IJPWR(J108) 108 CONTINUE C C _______________________________________________________ C C* Section 2. Work out geometry of the request C _______________________________________________________ C 200 CONTINUE C C Latitude rows are generated from row INORTH to ISOUTH. C Selection is carried out for actual requested rows when the C calculated values are moved to the output array. C INORTH = NNORTH ISOUTH = NSOUTH C C Setup the storage offset for the given latitude range C 220 CONTINUE C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JSGGGP: INORTH = ', INORTH) CALL INTLOG(JP_DEBUG,'JSGGGP: ISOUTH = ', ISOUTH) ENDIF CALL JMKOFGG(HTYPE,NNORTH,NSOUTH,PWEST,PEAST,KNUM,KPTS,NOFSET) C C _______________________________________________________ C C* Section 3. Process one row at a time. C _______________________________________________________ C 300 CONTINUE C IF( LDEBUG ) X CALL INTLOG(JP_DEBUG,'JSGGGP: Process latitude rows.',JPQUIET) C ILONOLD = 0 C DO NXTROW = INORTH, ISOUTH C C Initialise FFT constants for the latitude C ILON = KPTS(NXTROW) * IJPWR(NXTROW) C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'JSGGGP: Initialise FFT consts for the group.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JSGGGP: Latitude number = ', NXTROW) CALL INTLOG(JP_DEBUG, X 'JSGGGP: No. of calculated long.pts = ', ILON) ENDIF C IF( ILON.NE.ILONOLD ) THEN ILONOLD = ILON CALL JJSET99( ATRIGS, IMFAX, ILON, KRET) IF( KRET.NE.0 ) GOTO 990 ENDIF C C Calculate the points along the line of latitude C CALL JSYMGG( PSHUP, KTRUNC, NXTROW, ILUNIT, 1, ILON, X ALAT, ALEG, ATRIGS, IMFAX, ZFA, KRET) IF( KRET.NE.0 ) GOTO 990 C C If it is a wind component field, apply latitude correction C IF( LUV.EQ.1 ) THEN ZLAT = ALAT(NXTROW) ZCOSI = ZFACTOR(NXTROW) / ABS( COS(ZLAT*DEG2RAD) ) CALL SSCAL( ILON, ZCOSI, ZFA(2), 1) ENDIF C C Store away the generated latitudes C IF( (HTYPE.EQ.'U').OR.(HTYPE.EQ.'R') ) THEN NUMPTS = KPTS(NXTROW) ELSE RINTVL = (PEAST - PWEST)*FLOAT( KPTS(NXTROW) ) / 360.0 NUMPTS = NINT( RINTVL ) + 1 ENDIF C C Move latitude line to output array C NFLAG = 1 CALL JMOVGG( ZFA, PWEST, KNUM, NXTROW, 1, NUMPTS, X ILON, IJPWR(NXTROW), NOFSET, POUTF, NFLAG) C ENDDO C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C KRET = 0 C 990 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'JSGGGP: Return code = ',KRET) C RETURN END emoslib-000392+dfsg.1/interpolation/intuvgh.F0000755000175000017500000002764512127406245022161 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTUVGH(KUGRIBI, KVGRIBI, INLEN, X KUGRIBO, KVGRIBO, X OUTLENU, OUTLENV) C C----> C**** INTUVGH C C Purpose C ------- C C Interpolate GRIB format input U and V component reduced gaussian C fields to rotated GRIB format U and V fields. C C C Interface C --------- C C IRET = INTUVGH(KUGRIBI,KVGRIBI,INLEN,KUGRIBO,KVGRIBO,OUTLENU,OUTLENV) C C Input C ----- C C KUGRIBI - Input U component field (reduced gaussian, GRIB format). C KVGRIBI - Input V component field (reduced gaussian, GRIB format). C INLEN - Input field length (words). C C C Output C ------ C C KUGRIBO - Output U field (GRIB format). C KVGRIBO - Output V field (GRIB format). C OUTLENU - Output U field length (words). C OUTLENV - Output V field length (words). C C C Method C ------ C C Use HIRLAM rotation scheme. C C Note that a common block is used in intf.h to hold the U/V C fields before interpolation. C C Externals C --------- C C IBASINI - Ensure basic interpolation setup is done. C INTUVDH - Encodes/decodes data into/from GRIB code. C JMEMHAN - Allocate scratch memory. C GRIBEX - GRIB decoding/encoding. C ISCRSZ - Calculate number of values in generated field. C FIXAREA - Fixup area definition to correspond to grid definitions C INTLOG - Log error message. C MKFRAME - Create a 'frame' from a rectangular field. C RESET_C - Reset interpolation handling options using GRIB product. C INSANE - Ensure no outrageous values given for interpolation. C HRG2GGW - Creates rotated gaussian U and V from reduced gaussian C HLL2LLW - Creates rotated lat/long U and V from lat/long C C C Author C ------ C C J.D.Chambers ECMWF October 2001 C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C C Function arguments C INTEGER KUGRIBI(*), KVGRIBI(*), INLEN INTEGER KUGRIBO(*), KVGRIBO(*), OUTLENU, OUTLENV C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" #include "intlog.h" #include "current.h" C C Parameters C INTEGER JPROUTINE, JPALLOC, JPDEALL, JPSCR3, JPSCR4,JPSCR5 PARAMETER (JPROUTINE = 40170 ) PARAMETER (JPALLOC = 1) PARAMETER (JPDEALL = 0) PARAMETER (JPSCR3 = 3) PARAMETER (JPSCR4 = 4) PARAMETER (JPSCR5 = 5) C C Local variables C CHARACTER*1 HFUNC REAL OLDGRID(2), AREA(4), GRID(2), POLE(2) LOGICAL LOLDWIND, LFRAME INTEGER IRET,KPR,ISZOUV,ISIZE,ISAME,IPARAM INTEGER LOOP, NGAUSS INTEGER IPINU, IPINV, NUMPTS, NLON, NLAT, IN_U, IN_V #ifdef POINTER_64 INTEGER*8 IOLDUV, ISWORK #endif REAL OLDUV, SWORK POINTER ( IOUV, OLDUV(1) ) POINTER (ISWORK, SWORK(1) ) C C Externals C INTEGER RESET_C,ISCRSZ,FIXAREA,IBASINI,INSANE,INTUVDH,HIRLAMW INTEGER HRG2GGW, HLL2LLW C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE INTUVGH = 0 IRET = 0 KPR = 0 C LFRAME = LNOFRAME.AND. X ((NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT)) C C Ensure that basic initialisation has been done C IRET = IBASINI(0) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVGH: basic initialise failed',JPQUIET) INTUVGH = IRET GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 2. Unpack the U/V fields. C -----------------------------------------------------------------| C 200 CONTINUE C C Need to establish input characteristics, so unpack GRIB sections 1 C and 2. C IPARAM = 0 IPINU = 1 IRET = INTUVDH(OLDUV(IPINU),ISZOUV,KUGRIBI,INLEN,'I',IPARAM) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVGH: GRIB header decode failed',IRET) INTUVGH = IRET GOTO 900 ENDIF C C Check whether the input field is an ECMWF reduced gaussian or C lat/long U field C IF( (ISEC1(1).NE.128).OR. X ((ISEC1(6).NE.JP_U).AND.(ISEC1(6).NE.JP_10U)) ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: Input is not ECMWF U field.',JPQUIET) INTUVGH = JPROUTINE + 2 GOTO 900 ENDIF IF( (ISEC2(1).NE.4).AND. X ((ISEC2(17).NE.0) .OR.(ISEC2(1).NE.0)) ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: Input not gaussian or lat/long.',JPQUIET) INTUVGH = JPROUTINE + 2 GOTO 900 ENDIF C C Get scratch memory for U/V unpacked fields. C U/V memory areas are adjacent. C IF( ISEC2(17).EQ.1 ) THEN ISZOUV = 0 DO LOOP = 1, ISEC2(3) ISZOUV = ISZOUV + ISEC2(22+LOOP) ENDDO ELSE ISZOUV = ISEC2(2) * ISEC2(3) ENDIF C IPINU = 1 IPINV = 1 + ISZOUV CALL JMEMHAN( JPSCR4, IOUV, ISZOUV*2, JPALLOC, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: Scratch memory type 4 allocation failed.',JPQUIET) INTUVGH = IRET GOTO 900 ENDIF C C Decode input U and V C IRET = INTUVDH(OLDUV(IPINU),ISZOUV,KUGRIBI,INLEN,'D',IPARAM) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVGH: Vorticity decoding failed',IRET) INTUVGH = IRET GOTO 900 ENDIF IN_U = ISEC1(6) C IRET = INTUVDH(OLDUV(IPINV),ISZOUV,KVGRIBI,INLEN,'D',IPARAM) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVGH: Divergence decoding failed',IRET) INTUVGH = IRET GOTO 900 ENDIF IN_V = ISEC1(6) C C Setup interpolation options from input GRIB characteristics. C IRET = RESET_C( ISEC1, ISEC2, ZSEC2, ISEC4) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: Setup interp. options from GRIB failed.',JPQUIET) INTUVGH = IRET GOTO 900 ENDIF C C Check that no outrageous values given for interpolation C ISAME = INSANE() IF( ISAME.GT.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: Interpolation cannot use given values.',JPQUIET) INTUVGH = ISAME GOTO 900 ENDIF C IRET = FIXAREA() IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVGH: Fixarea failed.',JPQUIET) INTUVGH = IRET GOTO 900 ENDIF C LWIND = .TRUE. LOLDWIND = LWINDSET LWINDSET = .TRUE. C DO LOOP = 1, 4 AREA(LOOP) = REAL(NOAREA(LOOP))/PPMULT ENDDO DO LOOP = 1, 2 GRID(LOOP) = REAL(NOGRID(LOOP))/PPMULT POLE(LOOP) = REAL(NOROTA(LOOP))/PPMULT ENDDO C C -----------------------------------------------------------------| C* Section 3. Generate interpolated lat/long U and V fields. C -----------------------------------------------------------------| C 300 CONTINUE C IF( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C Dynamically allocate scrath space for rotated lat/long grid C NLON = 1 + NINT(FLOAT(NOAREA(JPEAST) - NOAREA(JPWEST)) / X NOGRID(JPWESTEP)) NLAT = 1 + NINT(FLOAT(NOAREA(JPNORTH) - NOAREA(JPSOUTH)) / X NOGRID(JPNSSTEP)) C NOWE = NLON NONS = NLAT NUMPTS = NLON * NLAT ISIZE = NUMPTS * 2 CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: memory alloc for lat/long grid fail',JPQUIET) INTUVGH = JPROUTINE + 3 GOTO 900 ENDIF C C Rotate reduced gaussian to lat/long C IF( (NIREPR.EQ.JPGAUSSIAN).OR.(NIREPR.EQ.JPQUASI) ) THEN IRET = HIRLAMW(LO12PT, X OLDUV(IPINU),OLDUV(IPINV),ISZOUV, X NOGAUSS,AREA,POLE,GRID, X SWORK,SWORK(1+NUMPTS),NUMPTS,NLON,NLAT) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: HIRLAMW rotation failed',JPQUIET) INTUVGH = JPROUTINE + 3 GOTO 900 ENDIF C C Rotate lat/long to lat/long C ELSE OLDGRID(1) = REAL(NIGRID(1)) / PPMULT OLDGRID(2) = REAL(NIGRID(2)) / PPMULT IRET = HLL2LLW(LO12PT,OLDUV(IPINU),OLDUV(IPINV), X OLDGRID,AREA,POLE,GRID, X SWORK,SWORK(1+NUMPTS),NUMPTS,NLON,NLAT) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: HLL2LLW rotation failed',JPQUIET) INTUVGH = JPROUTINE + 3 GOTO 900 ENDIF ENDIF C C If a 'frame' has been specified, build the frame C IF( LFRAME ) THEN LIMISSV = .TRUE. CALL MKFRAME(NLON,NLAT,SWORK,RMISSGV,NOFRAME) CALL MKFRAME(NLON,NLAT,SWORK(1+NUMPTS),RMISSGV,NOFRAME) ENDIF C ELSE C C -----------------------------------------------------------------| C* Section 4. Generate interpolated gaussian U and V fields. C -----------------------------------------------------------------| C 400 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'INTUVGH: Gaussian to gaussian',JPQUIET) C C Dynamically allocate memory for rotated gaussian grids C NUMPTS = NOGAUSS * NOGAUSS ISIZE = 2 * NUMPTS * 8 CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'INTUVGH: memory alloc for gaussian grid fail',JPQUIET) INTUVGH = JPROUTINE + 4 GOTO 900 ENDIF C NGAUSS = ISEC2(10) IRET = HRG2GGW(LO12PT, X OLDUV(IPINU),OLDUV(IPINV),ISZOUV, X NGAUSS,AREA,POLE,NOGAUSS,HOGAUST, X SWORK,SWORK(1+ISIZE/2),ISIZE,NUMPTS) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'INTUVGH: HRG2GGW rotation failed',JPQUIET) INTUVGH = JPROUTINE + 4 GOTO 900 ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 5. Pack the fields into GRIB format C -----------------------------------------------------------------| C 500 CONTINUE C IF( ((NOREPR.EQ.JPQUASI).OR. X (NOREPR.EQ.JPQGGROT).OR. X (NOREPR.EQ.JPFGGROT).OR. X (NOREPR.EQ.JPGAUSSIAN)).AND. X ( (NOROTA(1).NE.9000000).AND.(NOROTA(2).NE.0) ) ) THEN ISEC2(1) = JPFGGROT ELSE ISEC2(1) = NOREPR ENDIF C ISEC4(1) = NUMPTS C C Reset the input format flag C NIFORM = 1 C C Set the components flag for rotated U and V coefficients C ISEC2(19) = 8 C IRET = INTUVDH(SWORK,NUMPTS,KUGRIBO,OUTLENU,'C',IN_U) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: Wind component into GRIB encoding fail',IRET) INTUVGH = JPROUTINE + 4 GOTO 900 ENDIF C IRET = INTUVDH(SWORK(1+(ISIZE/2)),NUMPTS,KVGRIBO,OUTLENV,'C',IN_V) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVGH: Wind component into GRIB encoding fail',IRET) INTUVGH = JPROUTINE + 4 GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C C Clear change flags for next product processing and reset wind flag C LCHANGE = .FALSE. LSMCHNG = .FALSE. LWINDSET = LOLDWIND C RETURN END emoslib-000392+dfsg.1/interpolation/jsymll.F0000755000175000017500000002547412127406245022005 0ustar amckinstryamckinstry#ifdef IBM @PROCESS HOT(NOVECTOR) NOSTRICT #endif C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JSYMLL( PSHUP, KTRUNC, PSTART, PBUILD, PINTVL, KLUNIT, X KLATO,KLONO,PLEG,PTRIGS,KMFAX,PZFA,KRET) C C----> C**** JSYMLL C C PURPOSE C _______ C C This routine converts spectral input fields to standard C lat/long grid fields. C C INTERFACE C _________ C C CALL JSYMLL( PSHUP, KTRUNC, PSTART, PBUILD, PINTVL, KLUNIT, C X KLATO,KLONO,PLEG,PTRIGS,KMFAX,PZFA,KRET) C C Input parameters C ________________ C C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C PSTART - Start latitude (northernmost) for output field C (must be positive - see comments below) C PBUILD - Grid interval used to build the legendre coefficients C file C PINTVL - Grid interval in degrees C KLUNIT - stream number of the legendre function file C KLATO - Number of latitude points in output field C KLONO - Number of longitude points in output field C PLEG - Array used to hold legendre functions C PTRIGS - Initialized array of trig.functions (setup by JJSET99) C KMFAX - Initialized array of prime factors (setup by JJSET99) C C Output parameters C ________________ C C PZFA - Output grid point field; contains upto 32 each C of North and South latitude rows symmetrically. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C None. C C Externals C _________ C C JREADLL - Reads the legendre functions for a latitude C FFT99 - Carries out FFT C INTLOG - Output log message C INTLOGR - Output log message (with real value) C NMAKLL - Make interpolation coefficients one latitude at a time C C Reference C _________ C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C Comments C ________ C C This is a redesign, based on SPECGP.F C C It handles transformation to a regular lat/long grid. C The generated grid is symmetrical about the equator, so C PSTART must be positive. C C It is not for U and V fields (no correction is applied at the C poles). C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C _______________________________________________________ C C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "nifld.common" C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31300 ) C C Subroutine arguments COMPLEX PSHUP DIMENSION PSHUP(*) INTEGER KTRUNC REAL PSTART, PBUILD, PINTVL INTEGER KLUNIT, KLATO, KLONO, KMFAX, KRET REAL PLEG, PTRIGS, PZFA DIMENSION PZFA(JPLONO+2, 64) DIMENSION KMFAX(*), PLEG(*), PTRIGS(*) C C Local variables REAL ZLAT INTEGER ILIM, IMLIM, ILN INTEGER ITAL, ITALA, ITALS, IMN, IMP INTEGER INORTH, ISOUTH INTEGER JM, J, JNEXTLAT, JF INTEGER NERR INTEGER IOFF INTEGER JDCLOOP Integer Itimer,timer1,timer280,timerFFT Integer timer246,timer244,time C #ifdef POINTER_64 INTEGER*8 IWORK #endif REAL WORK DIMENSION WORK(1) POINTER ( IWORK, WORK ) COMPLEX ZSUMS(JPTRNC + 1), ZSUMA(JPTRNC + 1) COMPLEX*16 CHOLD INTEGER LOOP C INTEGER ISIZE DATA ISIZE/0/ SAVE ISIZE, IWORK C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE cs timer1=Itimer(0) C C First time through, dynamically allocate memory for workspace C IF( ISIZE.EQ.0 ) THEN ISIZE = 2*JPFFT*64 CALL JMEMHAN( 9, IWORK, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JSYMLL: memory allocation error.',IWORK) KRET = JPROUTINE + 1 GOTO 990 ENDIF ENDIF C IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG, X 'JSYMLL: Spherical harmonic coeffs(first 20):',JPQUIET) DO 101 NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ',PSHUP( NDBGLP )) 101 CONTINUE CALL INTLOG(JP_DEBUG,'JSYMLL: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JSYMLL: Spherical harmonic truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JSYMLL: Start latitude(northernmost) = ', PSTART) CALL INTLOGR(JP_DEBUG, X 'JSYMLL: Grid lat. interval(leg. file) = ', PBUILD) CALL INTLOGR(JP_DEBUG, X 'JSYMLL: Grid lat. interval(degrees) = ', PINTVL) CALL INTLOG(JP_DEBUG, X 'JSYMLL: Stream number of leg. file = ', KLUNIT) CALL INTLOG(JP_DEBUG, X 'JSYMLL: Number of lat. rows in output = ', KLATO) CALL INTLOG(JP_DEBUG, X 'JSYMLL: Number of long. pts per row = ', KLONO) CALL INTLOG(JP_DEBUG, X 'JSYMLL: Trig.functions (setup by JJSET99):',JPQUIET) DO 102 NDBGLP = 1, 10 CALL INTLOGR(JP_DEBUG,' ',PTRIGS( NDBGLP )) 102 CONTINUE CALL INTLOG(JP_DEBUG, X 'JSYMLL: Prime factors (setup by JJSET99):',JPQUIET) DO 103 NDBGLP = 1, 10 CALL INTLOG(JP_DEBUG,' ',KMFAX( NDBGLP )) 103 CONTINUE ENDIF ILIM = KTRUNC + 1 IMLIM = KTRUNC + 1 INORTH = -1 ILN = KLONO + 2 C C _______________________________________________________ C C* Section 2. Main loop through latitude rows to C* calculate fourier coefficients C _______________________________________________________ C 200 CONTINUE C timer280=Itimer(0) C C For each latitude, the north and corresponding south latitude row C are calculated at the same time from the same legendre functions. C DO 280 JNEXTLAT = 1, KLATO ZLAT = ( PSTART - (PINTVL * REAL(JNEXTLAT - 1)) ) C IF ( NDBG .GT. 1) X CALL INTLOGR(JP_DEBUG,'JSYMLL: Next latitude = ', ZLAT) C C If required, generate the coefficients 'on the fly' C IF( LON_FLY ) THEN CALL NMAKLL( KTRUNC, PBUILD, ZLAT, 1, PLEG, NERR) IOFF = 0 ELSE IF(LFILEIO ) THEN CALL JREADLL( KLUNIT, KTRUNC, PBUILD, ZLAT, PLEG, NERR) IF ( NERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'JSYMLL: JREADLL error',NERR) KRET = JPROUTINE + 2 GOTO 990 ENDIF ELSE IOFF = NINT( (90.0 - ZLAT)/PBUILD )*(KTRUNC+1)*(KTRUNC+4)/2 ENDIF C C Clear unused slots in array. C Note there are two slots in the array - one for north latitude C and one for the corresponding south latitude. INORTH = INORTH + 2 ISOUTH = INORTH + 1 DO 241 JF = 2*IMLIM + 1, ILN PZFA(JF, INORTH) = 0.0 PZFA(JF, ISOUTH) = 0.0 241 CONTINUE C C Now fill slots which are used IMN = 0 IMP = 0 C C timer244=Itimer(0) DO JM = 1, IMLIM ITAL = ILIM - JM + 1 ITALS = (ITAL + 1)/2 ITALA = ITAL/2 #ifndef CRAY CHOLD=(0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO J = 1, 2*ITALS, 2 #ifndef __uxp__ IF( LFILEIO ) THEN CHOLD=CHOLD+PLEG(IMP+J)*PSHUP(IMN+J) ELSE JDCLOOP = IOFF + IMP + J CHOLD=CHOLD+PLEG(JDCLOOP)*PSHUP(IMN+J) ENDIF #else JDCLOOP = IOFF + IMP + J CHOLD=CHOLD+PLEG(JDCLOOP)*PSHUP(IMN+J) #endif ENDDO ZSUMS(JM)=CHOLD #ifndef CRAY CHOLD = (0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO J = 2, 2*ITALA, 2 #ifndef __uxp__ IF( LFILEIO ) THEN CHOLD=CHOLD+PLEG(IMP+J)*PSHUP(IMN+J) ELSE JDCLOOP = IOFF + IMP + J CHOLD=CHOLD+PLEG(JDCLOOP)*PSHUP(IMN+J) ENDIF #else JDCLOOP = IOFF + IMP + J CHOLD=CHOLD+PLEG(JDCLOOP)*PSHUP(IMN+J) #endif ENDDO ZSUMA(JM)=CHOLD IMP = IMP + ITAL + 1 IMN = IMN + ITAL ENDDO C timer244=Itimer(timer244) C C For the southern hemisphere row, the legendre functions are C the complex conjugates of the corresponding northern row - C hence the juggling with the signs in the next loop. C C Note that PZFA is REAL, but the coefficients being calculated C are COMPLEX. There are pairs of values for each coefficient C (real and imaginary parts) and pairs of values for each C latitude (north and south). C C timer246=Itimer(0) DO 246 JM = 1, IMLIM PZFA(2*JM -1, INORTH) = REAL(ZSUMS(JM)) + REAL(ZSUMA(JM)) PZFA(2*JM , INORTH) = AIMAG(ZSUMS(JM)) + AIMAG(ZSUMA(JM)) PZFA(2*JM -1, ISOUTH) = REAL(ZSUMS(JM)) - REAL(ZSUMA(JM)) PZFA(2*JM , ISOUTH) = AIMAG(ZSUMS(JM)) - AIMAG(ZSUMA(JM)) 246 CONTINUE C timer246=Itimer(timer246) C C* End of main loop through latitude rows. C 280 CONTINUE C timer280=Itimer(timer280) C print*,'JSYMLL: legendre functions klat=',KLATO,' time:',timer280, C X ' seconds loop 246:',timer246,' loop 244:',timer244 C C _______________________________________________________ C C* Section 3. Fast fourier transform C _______________________________________________________ C 300 CONTINUE C timerFFT=Itimer(0) C IF ( NDBG .GT. 1) CALL INTLOG(JP_DEBUG, X 'JSYMLL: FFT, no.of rows (N and S) = ', ISOUTH) C CALL FFT99(PZFA,WORK,PTRIGS,KMFAX,1,J2NFFT,KLONO,ISOUTH,1) C IF ( NDBG .GT. 1) THEN CALL INTLOG(JP_DEBUG, X 'JSYMLL: Values calculated by FFT:',JPQUIET) DO 301 NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ', PZFA( 1, NDBGLP )) CALL INTLOGR(JP_DEBUG,' ', PZFA( 2, NDBGLP )) 301 CONTINUE ENDIF C timerFFT=Itimer(timerFFT) C timer1=Itimer(timer1) C print*,'JSYMLL: legendre functions Total:',timer1,' sec first:', C X timerMEM,' FFT99: ',timerFFT C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C C 900 CONTINUE C KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/funcs.F0000755000175000017500000000723412127406245021603 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C----> C C Functions used in ocean field interpolation. C C FUNCTION INTDN(XVAL) C C Rounds XVAL to the largest integer less than or equal to XVAL C ie truncates downwards rather than towards zero. C C FUNCTION LENA(HSTRING) C C Returns the length of a string, ignoring blank characters at end C C FUNCTION HDEGS(RVAL) C C Writes a real number into a string, in a way suitable for degs lat/long. C RVAL The real number C C FUNCTION HMETRES(RVAL) C C Writes a real number into a string, in a way suitable for metres depth. C RVAL The real number C C----< INTEGER FUNCTION INTDN(XVAL) C C Rounds XVAL to the largest integer less than or equal to XVAL C ie truncates downwards rather than towards zero. C IF((XVAL.GE.0.0).OR.(XVAL.EQ.FLOAT(INT(XVAL)))) THEN INTDN = INT(XVAL) ELSE INTDN = INT(XVAL) - 1 ENDIF RETURN END INTEGER FUNCTION INTUP(XVAL) C C Rounds XVAL to the largest integer greater than or equal to XVAL C ie truncates upwards rather than away from zero. C IF(XVAL.EQ.FLOAT(INT(XVAL))) THEN INTUP=INT(XVAL) ELSEIF(XVAL.GE.0) THEN INTUP=INT(XVAL+1) ELSE INTUP=INT(XVAL) ENDIF RETURN END INTEGER FUNCTION LENA(HSTRING) C C Returns the length of a string, ignoring blank characters at end C CHARACTER*(*) HSTRING DO 100 J=LEN(HSTRING),1,-1 IF(HSTRING(J:J).NE.' ') GOTO 150 100 CONTINUE J=0 150 CONTINUE LENA=J RETURN END FUNCTION HDEGS(RVAL) C Writes a real number into a string, in a way suitable for degs lat/long. C RVAL The real number C CHARACTER*6 HDEGS IF(RVAL.GE.0) THEN IF(RVAL.LT.10.0) THEN WRITE(HDEGS,'(F4.2)') RVAL ELSEIF(RVAL.LT.100.0) THEN WRITE(HDEGS,'(F4.1)') RVAL ELSEIF(RVAL.LT.1000.0) THEN WRITE(HDEGS,'(F5.1)') RVAL ELSE WRITE(HDEGS,'(F5.0)') RVAL ENDIF ELSE IF(RVAL.GT.-10.0) THEN WRITE(HDEGS,'(F5.2)') RVAL ELSEIF(RVAL.GT.-100.0) THEN WRITE(HDEGS,'(F5.1)') RVAL ELSEIF(RVAL.GT.-1000.0) THEN WRITE(HDEGS,'(F6.1)') RVAL ELSE WRITE(HDEGS,'(F6.0)') RVAL ENDIF ENDIF RETURN END FUNCTION HMETRES(RVAL) C Writes a real number into a string, in a way suitable for metres depth. C RVAL The real number C CHARACTER*6 HMETRES IF(RVAL.GE.0) THEN IF(RVAL.LE.9.99) THEN IF(INT(RVAL*10)*10.EQ.INT(RVAL*100)) THEN WRITE(HMETRES,'(F3.1)') RVAL ELSE WRITE(HMETRES,'(F4.2)') RVAL ENDIF ELSEIF(RVAL.LE.99.9) THEN WRITE(HMETRES,'(F4.1)') RVAL ELSEIF(RVAL.LE.999.0) THEN WRITE(HMETRES,'(F4.0)') RVAL ELSE WRITE(HMETRES,'(F5.0)') RVAL ENDIF ELSE IF(RVAL.GE.-9.99) THEN WRITE(HMETRES,'(F5.2)') RVAL ELSEIF(RVAL.GE.-99.9) THEN WRITE(HMETRES,'(F5.1)') RVAL ELSEIF(RVAL.GE.-999.0) THEN WRITE(HMETRES,'(F5.0)') RVAL ELSE WRITE(HMETRES,'(F6.0)') RVAL ENDIF ENDIF RETURN END emoslib-000392+dfsg.1/interpolation/jmakgg3.F0000755000175000017500000001152612127406245022007 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMAKGG3( KUNIT, KTRUNC, KROW, PLAT, PLEG, KRET) C C----> C**** JMAKGG C C PURPOSE C _______ C C This routine creates legendre functions for latitude rows upto C the given latitude in a gaussian grid file. C C INTERFACE C _________ C C CALL JMAKGG( KUNIT, KTRUNC, KROW, PLAT, PLEG, KRET) C C Input parameters C ________________ C C KUNIT - Unit number for open file of legendre functions. C KTRUNC - Truncation. C KROW - Latitude row number in the file C PLAT - Array of latitudes for the gaussian grid C C Output parameters C ________________ C C PLEG - Array of legendre functions for the latitude. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Determine which functions already exist for the latitude rows C in the file, skip to the end and create necessary extra functions C and add to the file. C C Externals C _________ C C PBSEEK - Position the coefficients file C PBWRITE - Write the coefficients file C INTLOG - Output log message C C Reference C _________ C C None. C C Comments C ________ C C Only positive row numbers are allowed. C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C IMPLICIT NONE #include "jparams.h" #include "parim.h" C C Parameters INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30400 ) C C Subroutine arguments INTEGER KUNIT, KTRUNC, KROW, KRET REAL PLAT, PLEG DIMENSION PLAT(*) DIMENSION PLEG(*) C C Local variables INTEGER NEWPOS, NSIZE, NRET, NROWCT, NLATIT REAL ALAT, PIBY2, DEG2RAD C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE IF ( KROW .LT. 0.0 ) THEN KRET = JPROUTINE + 1 CALL INTLOG(JP_ERROR,'JMAKGG3: negative row number given',KROW) GOTO 990 ENDIF C C Calculate the byte offset into the file where the legendre C functions for the latitude should be. #ifdef REAL_8 NSIZE = 8 * (KTRUNC+1)*(KTRUNC+4)/2 #else NSIZE = 4 * (KTRUNC+1)*(KTRUNC+4)/2 #endif NEWPOS = (KROW - 1) * NSIZE C C Find the current file length CALL PBSEEK3( KUNIT, 0, 2, NRET) IF ( NRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR,'JMAKGG3: PBSEEK error', NRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF C C Use the length to determine how many rows have already been C put into the file NROWCT = NRET/NSIZE C C _______________________________________________________ C C* Section 2. Processing. C _______________________________________________________ C C Loop through latitudes not in the file yet PIBY2 = PPI / 2.0 DEG2RAD = PPI / 180.0 C DO 210 NLATIT = NROWCT+1, KROW ALAT = PLAT(NLATIT) * DEG2RAD CALL JSPLEG1( PLEG, ALAT, KTRUNC) CALL PBWRITE3( KUNIT, PLEG, NSIZE, NRET) IF ( NRET .LT. NSIZE ) THEN CALL INTLOG(JP_ERROR,'JMAKGG3: PBWRITE error.', NRET) CALL INTLOG(JP_ERROR,'JMAKGG3: bytes required = ', NSIZE) KRET = JPROUTINE + 3 GOTO 990 ENDIF 210 CONTINUE C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_080_19980130.h0000755000175000017500000000200512127406245023407 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG08018(80) DATA QG08018/ X 18 , 25 , 36 , 40, X 45 , 54 , 60 , 64, X 72 , 72 , 80 , 90, X 96 , 100 , 108 , 120, X 120 , 128 , 135 , 144, X 144 , 150 , 160 , 160, X 180 , 180 , 180 , 192, X 192 , 200 , 200 , 216, X 216 , 216 , 225 , 225, X 240 , 240 , 240 , 256, X 256 , 256 , 256 , 288, X 288 , 288 , 288 , 288, X 288 , 288 , 288 , 288, X 300 , 300 , 300 , 300, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320 / emoslib-000392+dfsg.1/interpolation/hgengrd.F0000755000175000017500000001510212127406245022074 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HGENGRD(AREA,POLE,GRID,NLON,NLAT,RLAT,RLON) C C----> C**** HWTS12 C C Purpose C ------- C C This routine calculates the original latitude and longitude C values (before rotation) for a rotated grid. C C C Interface C --------- C C IRET = HGENGRD(AREA,POLE,GRID,NLON,NLAT,RLAT,RLON) C C C Input parameters C ---------------- C C AREA - Limits of area (N/W/S/E) C POLE - Pole of rotation (lat/long) C GRID - Grid increments (i/j) C C C Output parameters C ----------------- C C NLON - Number of points along a parallel in the rotated grid. C NLAT - Number of points along a meridien in the rotated grid. C RLAT - Vector of orginal latitude values for the points in C the rotated grid. C RLON - Vector of orginal longitude values for the points in C the rotated grid. C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C None. C C C Method C ------ C C The vector of points runs from West to East in rows, the rows C run from North to South. C C C Externals C --------- C C INTLOG - Log error message. C JDEBUG - Tests if debug output required. C HLL2XYZ - Converts a latitude/longitude position to (x,y,z) C wrt axes through the centre of the globe. The z-axis C runs from the south to north pole. The x- and y-axes C are in the plane of the equator with the x-axis C pointing out through lat/long (0,0). C YROTATE - Rotates the globe about the new y-axis. C XYZ2LL - Converts an (x,y,z) position to a latitude/longitude. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE #include "parim.h" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON REAL JSCALE PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) PARAMETER (JSCALE = 1000.0 ) C C Function arguments C REAL AREA(4),POLE(2),GRID(2), RLAT(*),RLON(*) INTEGER NLON,NLAT C C Local variables C INTEGER NEXT, LOOP, LOOPI, LOOPO, IGRIDNI, IGRIDNJ INTEGER ISIZE, ISIZOLD, NBYTES REAL ZLAT, X(1), Y(1), Z(1) REAL RX(1), RY(1), RZ(1) POINTER( IPX, X ) POINTER( IPY, Y ) POINTER( IPZ, Z ) POINTER( IPRX, RX ) POINTER( IPRY, RY ) POINTER( IPRZ, RZ ) C DATA ISIZOLD/-1/ SAVE ISIZOLD,IPX,IPY,IPZ,IPRX,IPRY,IPRZ C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HGENGRD = 0 C CALL JDEBUG() C C -----------------------------------------------------------------| C Section 2. Calculate current grid latitudes and longitudes C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + NINT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) NLAT = 1 + NINT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) IGRIDNI = NINT(GRID(JW_E)*JSCALE) IGRIDNJ = NINT(GRID(JN_S)*JSCALE) C NEXT = 1 DO LOOPO = 1, NLAT ZLAT = AREA(JNORTH) - REAL((LOOPO-1)*IGRIDNJ)/JSCALE DO LOOPI = 1, NLON RLON(NEXT) = AREA(JWEST) + REAL((LOOPI-1)*IGRIDNI)/JSCALE IF( RLON(NEXT).LT.0.0 ) RLON(NEXT) = RLON(NEXT) + 360.0 RLAT(NEXT) = ZLAT NEXT = NEXT + 1 ENDDO ENDDO C C -----------------------------------------------------------------| C Section 3. Get some space for rotating the lat/longs C -----------------------------------------------------------------| C 300 CONTINUE C ISIZE = NLAT *NLON IF( ISIZE.GT.ISIZOLD ) THEN C IF( ISIZOLD.GT.0 ) CALL JFREE(IPX) C NBYTES = 6*ISIZE*JPRLEN C IPX = JMALLOC(NBYTES) #ifdef hpR64 IPX = IPX/(1024*1024*1024*4) #endif IF( IPX.EQ.0 ) THEN CALL INTLOG(JP_WARN,'HGENGRD: Memory allocate fail',JPQUIET) HGENGRD = 1 GOTO 900 ENDIF C IPY = IPX + (ISIZE*JPRLEN) IPZ = IPY + (ISIZE*JPRLEN) IPRX = IPZ + (ISIZE*JPRLEN) IPRY = IPRX + (ISIZE*JPRLEN) IPRZ = IPRY + (ISIZE*JPRLEN) C ISIZOLD = ISIZE C ENDIF C C -----------------------------------------------------------------| C Section 4. Calculate the lat/longs before rotation C -----------------------------------------------------------------| C 400 CONTINUE C C Convert the rotated row points lat/longs to (x,y,z) coordinates C CALL HLL2XYZ(RLAT,RLON,X,Y,Z,ISIZE) C C Rotate the rotated row points back through the original latitude C rotation C CALL YROTATE(-(90.0+POLE(JLAT)),X,Y,Z,RX,RY,RZ,ISIZE) C C Convert the rotated row points adjusted (x,y,z) coordinates to C lat/long in the original grid (but still containing the C longitude rotation) C CALL XYZ2LL(RX,RY,RZ,RLAT,RLON,ISIZE) C C Adjust the rotated line longitudes to remove the longitude C rotation C DO LOOP = 1, ISIZE RLON(LOOP) = RLON(LOOP) + POLE(JLON) IF( RLON(LOOP).LT.0.0 ) RLON(LOOP) = RLON(LOOP) + 360.0 IF( RLON(LOOP).GE.360.0 ) RLON(LOOP) = RLON(LOOP) - 360.0 ENDDO C C -----------------------------------------------------------------| C Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/igpolew.F0000755000175000017500000001353112127406245022130 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGPOLEW(PIFELD, KIWE, POFELD, KOWE, KWEIND, 1 KWEDIST, KPR, KERR) C C----> C**** *IGPOLEW* C C Purpose C ------- C C Calculates the values at the pole of a regular C latitude/longitude wind field when the input is a Gaussian field. C C This routine is only used for a wind field. C C Interface C --------- C C IERR = IGPOLEW(PIFELD, KIWE, POFELD, KOWE, KWEIND, KWEDIST, C 1 KPR, KERR) C C Input parameters C ---------------- C C PIFELD - A "polar" row of the input field provided by the C calling routine. C C KIWE - The number of points in the West-East direction in C the input field. C C KOWE - The number of points in the West-East direction in C the output field. C C KWEIND - This array contains the array offsets of the West C and East points in the input array required for C interpolation. C C KWEDIST - This array holds the distances to longitude values C in the input field from the associated longitude C values in the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ----------------- C C POFELD - The corresponding "polar" row of the output field C returned to the calling routine. C C Return value C ------------ C C The error indicator (INTEGER). C C Error and Warning Return Values C C None C C Common block usage C ------------------ C C None C C Externals C --------- C C INTLOG(R) - Logs messages. C C Method C ------ C C A Gaussian field does not have a line of latitude at the pole C so this routine performs a linear interpolation of points on the C nearest Gaussian line and then puts these values into the output C array. The intention is to provide U and V values at the pole C which have a "directional" value. C C This method was originally implemented by C C K. RIDER * ECMWF * OCTOBER 1991. C C Reference C --------- C C None C C Comments C -------- C C Program contains sections 0 to 2 and 9 C C Author C ------ C C K. Fielding *ECMWF* Oct 1993 C C Modifications C ------------- C C Allow for missing data values C J.D.Chambers ECMWF August 2000 C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" C C Function arguments C INTEGER KIWE, KOWE, KPR, KERR INTEGER KWEIND(2, KOWE), KWEDIST(2, KOWE) REAL PIFELD(KIWE), POFELD(KOWE) C C Local variables C INTEGER JOLON, COUNT REAL ZLOW, ZHIGH C C Statement function C REAL A, B LOGICAL NOTEQ NOTEQ(A,B) = (ABS((A)-(B)).GT.(ABS(A)*1E-3)) C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGPOLEW: Section 1.',JPQUIET) C IGPOLEW = 0 C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGPOLEW: No.input fld longs = ',KIWE) CALL INTLOG(JP_DEBUG,'IGPOLEW: No.output fld longs = ',KOWE) ENDIF C C -----------------------------------------------------------------| C* Section 2. Interpolation code for winds C -----------------------------------------------------------------| C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGPOLEW: Section 2.',JPQUIET) C DO JOLON = 1, KOWE C C Compute weigths for west and east neighbours C ZLOW = REAL(KWEDIST(JP_I_E,JOLON)) / X REAL(KWEDIST(JP_I_E,JOLON) + KWEDIST(JP_I_W,JOLON) ) C ZHIGH = PPONE - ZLOW C C Count non-missing data values C IF( LIMISSV ) THEN COUNT = 0 IF( NOTEQ(PIFELD(KWEIND(JP_I_W,JOLON)),RMISSGV) ) X COUNT = COUNT + 1 IF( NOTEQ(PIFELD(KWEIND(JP_I_E,JOLON)),RMISSGV) ) X COUNT = COUNT + 1 ELSE COUNT = 2 ENDIF C C Interpolate using both neighbours if neither is missing C IF( COUNT.EQ.2 ) THEN POFELD(JOLON) = ZLOW * PIFELD(KWEIND(JP_I_W,JOLON)) + X ZHIGH * PIFELD(KWEIND(JP_I_E,JOLON)) C C Set missing if all neighbours are missing C ELSE IF( COUNT.EQ.0 ) THEN POFELD(JOLON) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE IF( ZLOW.GT.ZHIGH ) THEN POFELD(JOLON) = PIFELD(KWEIND(JP_I_W,JOLON)) ELSE POFELD(JOLON) = PIFELD(KWEIND(JP_I_E,JOLON)) ENDIF C ENDDO C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGPOLEW: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/dssarea.F0000755000175000017500000003321012127406245022100 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DSSAREA( EW, NS, NORTH, WEST, SOUTH, EAST ) C C----> C**** DSSAREA C C Purpose C ------- C C Fixup input/output field area definitions according to grid C specification (dissemination style). C C C Interface C --------- C C IRET = DSSAREA( EW, NS, NORTH, WEST, SOUTH, EAST ) C C Input C ----- C C For latitude/longitude grids: C EW = East-west grid interval (degrees) C NS = North-south grid interval (degrees) C C For gaussian grids: C EW = gaussian grid number C NS = 0 C C NORTH = North latitude (degrees) C WEST = West longitude (degrees) C SOUTH = South latitude (degrees) C EAST = East longitude (degrees) C C For spherical harmonics: C EW = 0 C NS = 0 C NORTH = 0 C WEST = 0 C SOUTH = 0 C EAST = 0 C C C Output C ------ C C NORTH = North latitude, adjusted if necessary (degrees) C WEST = West longitude, adjusted if necessary (degrees) C SOUTH = South latitude, adjusted if necessary (degrees) C EAST = East longitude, adjusted if necessary (degrees) C C The function returns 0 if OK. C Otherwise a non-zero is returned and the values NORTH, WEST, C SOUTH, and EAST are left unchanged. C C C Method C ------ C C If default (0/0/0/0) selected for input, input area is set C - to global for lat/long grid C - to global for gaussian grid C C Output area is adjusted: C C (1) by shrinking to fit the default dissemination 0.5x0.5 grid C on its north and west boundaries. C (2) by calculating the east boundary from the new west as an C integral number of new grid west-east increments to fit C inside the specified area. C (3) by calculating the south boundary from the new north as an C integral number of new grid north-south increments to fit C inside the specified area. C C C Externals C --------- C C JGETGG - Reads the definition of a gaussian grid. C JNORSGG - Finds the lat row in a gauss grid N or S of given lat C INTLOG - Logs error messages. C C C Author C ------ C C J.D.Chambers ECMWF May 1999 C C----< C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 19200 ) REAL*8 RRMULT #if (defined hp) && (!defined INTEGER_8) INTEGER NP90, NP360, NFACTOR PARAMETER ( NFACTOR = 10 ) #else INTEGER*8 NP90, NP360, NFACTOR PARAMETER ( NFACTOR = 1000 ) #endif INTEGER NR90 PARAMETER ( NR90 = 90 ) PARAMETER ( NP90 = JP90*NFACTOR ) PARAMETER ( NP360 = JP360*NFACTOR ) PARAMETER ( RRMULT = (PPMULT*NFACTOR) ) C C Function arguments C REAL EW, NS, NORTH, WEST, SOUTH, EAST C C Local variables C #if (defined hp) && (!defined INTEGER_8) INTEGER INORTH, IWEST, ISOUTH, IEAST, IEW, INS INTEGER NWEST, NEAST #else INTEGER*8 INORTH, IWEST, ISOUTH, IEAST, IEW, INS INTEGER*8 NWEST, NEAST #endif INTEGER NGAUSS, NOLD, IRET, KPTS, NWEPTS, NNSPTS DIMENSION KPTS(JPGTRUNC*2) DATA NOLD /0/ REAL RNORTH, RSOUTH REAL ONORTH, OWEST, OSOUTH, OEAST LOGICAL LDEFIN, LGAUSS, LSPHERE REAL RGAUSS, RESEW DIMENSION RGAUSS(JPGTRUNC*2) REAL*8 DEW, DNS, DNORTH, DWEST, DSOUTH, DEAST REAL*8 EPS C C Externals C INTEGER JNORSGG C SAVE NOLD, RGAUSS C C Statement functions C REAL*8 A REAL B REAL*8 X REAL Y C LOGICAL GREATER LOGICAL SMALLER C GREATER(A,B) = ( (A-DBLE(B)).GT.EPS ) SMALLER(X,Y) = ( (DBLE(Y)-X).GT.EPS ) C DATA EPS/1E-5/ C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C CALL INTLOGR(JP_DEBUG,'DSSAREA: input w-e = ', EW) CALL INTLOGR(JP_DEBUG,'DSSAREA: input n-s = ', NS) CALL INTLOGR(JP_DEBUG,'DSSAREA: input north = ', NORTH) CALL INTLOGR(JP_DEBUG,'DSSAREA: input south = ', SOUTH) CALL INTLOGR(JP_DEBUG,'DSSAREA: input west = ', WEST) CALL INTLOGR(JP_DEBUG,'DSSAREA: input east = ', EAST) C ONORTH = NORTH OSOUTH = SOUTH OWEST = WEST OEAST = EAST C DSSAREA = 0 LGAUSS = ( NS.EQ.0.0 ) LSPHERE = ( (EW.EQ.0.0).AND.(NS.EQ.0.0) ) C C If it's gaussian, pick up the gaussian grid definitions unless C they have already been retrieved. C IF( LGAUSS.AND..NOT.LSPHERE ) THEN NGAUSS = NINT( EW ) #if (defined hp) && (!defined INTEGER_8) IF( NGAUSS.GE.256 ) THEN CALL INTLOG(JP_ERROR, X 'DSSAREA: unsafe to use 32-bit HP version for gaussian = ', X NGAUSS) DSSAREA = JPROUTINE + 1 GOTO 900 ENDIF #endif IF( NGAUSS.GT.JPGTRUNC ) THEN CALL INTLOG(JP_ERROR, X 'DSSAREA: Gaussian grid number ', NGAUSS) CALL INTLOG(JP_ERROR, X 'DSSAREA: exceeds current expected maximum ', JPGTRUNC) DSSAREA = JPROUTINE + 1 GOTO 900 ENDIF C IF( NGAUSS.NE.NOLD ) THEN NOLD = NGAUSS CALL JGETGG( NOLD, 'F', RGAUSS, KPTS, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'DSSAREA: Failed to pick up gaussian ', JPQUIET) CALL INTLOG(JP_ERROR, X 'DSSAREA: definitions for resolution = ', NOLD) DSSAREA = JPROUTINE + 1 GOTO 900 ENDIF ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 2. Fixup area if default (0/0/0/0). C -----------------------------------------------------------------| C 200 CONTINUE C LDEFIN = ( (NORTH.EQ.0).AND.(WEST.EQ.0).AND. X (SOUTH.EQ.0).AND.(EAST.EQ.0) ) C IF( LDEFIN ) THEN C IF( .NOT.LGAUSS ) THEN C C Regular lat/long grid .. C NORTH = 90.0 WEST = 0 SOUTH = -NORTH EAST = 360.0 - EW C ELSE IF( LSPHERE ) THEN C C Spherical harmonics C NORTH = 90.0 WEST = 0 SOUTH = -90.0 EAST = 360.0 C C ELSE C C Gaussian grid .. C INORTH = JNORSGG( 90.0, RGAUSS, NGAUSS, 0) NORTH = RGAUSS(INORTH) WEST = 0 ISOUTH = JNORSGG( -90.0, RGAUSS, NGAUSS, 1) SOUTH = RGAUSS(ISOUTH) EAST = 360.0 - 90.0/REAL(NGAUSS) ENDIF C GOTO 900 ENDIF C IF( LSPHERE ) GOTO 900 C C Don't fixup area for ocean products C IF( NILOCAL.EQ.4 ) GOTO 900 C C -----------------------------------------------------------------| C* Section 3. Fixup west-east area to correspond to the grid. C -----------------------------------------------------------------| C 300 CONTINUE C IF( EAST.GT.360.0.AND.EAST.LT.361.0 ) THEN CALL INTLOGR(JP_WARN, X 'DSSAREA: Faulty East lon limits', EAST) EAST = 360.0 CALL INTLOGR(JP_WARN, X 'DSSAREA: Changed East to', EAST) ENDIF c IF( (WEST.LT.-360.0).OR.(WEST.GT.360.0).OR. X (EAST.LT.-360.0).OR.(EAST.GT.360.0) ) THEN CALL INTLOG(JP_ERROR, X 'DSSAREA: Faulty input langitude limits', JPQUIET) CALL INTLOGR(JP_ERROR,'DSSAREA: West = ', WEST) CALL INTLOGR(JP_ERROR,'DSSAREA: East = ', EAST) NORTH = ONORTH SOUTH = OSOUTH WEST = OWEST EAST = OEAST DSSAREA = JPROUTINE + 4 GOTO 900 ENDIF C IF( .NOT. LGAUSS ) THEN C C Regular lat/long grid only .. C DEW = JPDISTP * RRMULT IEW = DNINT( DBLE(DEW) ) RESEW = EW C ELSE C C Gaussian grid .. C DEW = DBLE(NP90) / DBLE(NGAUSS) IEW = DNINT( DBLE(DEW) ) RESEW = DBLE(NR90) / DBLE(NGAUSS) C ENDIF C C Ensure West < East C IF( WEST.GT.EAST ) WEST = WEST - 360.0 DWEST = WEST IWEST = DNINT( DBLE(DWEST * RRMULT) ) C C Find west boundary to nearest dissemination gridpoint eastwards. C From this value, calculate the east limit using the requested C grid increment. C IF( IWEST.GT.0 ) THEN NWEST = DINT(DBLE(IWEST + IEW - 1) / DEW) IWEST = DNINT(DBLE(NWEST) * DEW) ELSE NWEST = DINT(DBLE(-IWEST) / DEW) IWEST = DNINT(DBLE(-NWEST) * DEW) ENDIF C DWEST = DBLE(IWEST)/RRMULT C DEAST = EAST C NWEPTS = NINT( (DEAST - DWEST) / RESEW ) DEAST = DWEST + (NWEPTS*RESEW) IF( GREATER(DEAST,EAST) ) DEAST = DEAST - RESEW CALL INTLOGR(JP_DEBUG,'DSSAREA: calculated west = ', DWEST) CALL INTLOGR(JP_DEBUG,'DSSAREA: calculated east = ', DEAST) IEAST = DNINT( DBLE(DEAST * RRMULT) ) C C Try to catch special case: global west-east with wrap-around. C IF( (IEAST-IWEST).GE.NP360 ) THEN IF( LGAUSS) THEN IEAST = IWEST + (4*NGAUSS-1)*RESEW*RRMULT ELSE IEAST = IWEST + NP360 - RESEW*RRMULT ENDIF ENDIF C C Ensure East and West still in range (0,360) C IF( IEAST.GT.NP360 ) THEN IEAST = IEAST - NP360 IWEST = IWEST - NP360 ENDIF IF( IWEST.LT.-NP360 ) THEN IEAST = IEAST + NP360 IWEST = IWEST + NP360 ENDIF C C Ensure East-West spread is not greater than 360 C IF( (IEAST-IWEST).GT.NP360 ) THEN IF( LGAUSS) THEN IEAST = IWEST + (4*NGAUSS-1)*IEW ELSE IEAST = IWEST + NP360 - IEW ENDIF ENDIF C C Apply adjustment when east and west boundaries are the same C longitude (0/360) to give a global grid. C IF( ( (IWEST.EQ.-NP360).AND.(IEAST.EQ.0) ) .OR. X ( (IWEST.EQ.0) .AND.(IEAST.EQ.NP360) ) .OR. X ( (IWEST.EQ.NP360) .AND.(IEAST.EQ.NP360) ) ) THEN IWEST = 0 IF( LGAUSS) THEN IEAST = (4*NGAUSS-1)*IEW ELSE IEAST = NP360 - IEW ENDIF ENDIF C DWEST = DBLE(IWEST) / RRMULT DEAST = DBLE(IEAST) / RRMULT WEST = DBLE(IWEST) / RRMULT EAST = DBLE(IEAST) / RRMULT C IF( (EAST.LT.WEST).OR.(EAST.GT.360.0) ) THEN CALL INTLOG(JP_ERROR, X 'DSSAREA: Faulty calculated longitude limits', JPQUIET) CALL INTLOGR(JP_ERROR,'DSSAREA: East = ', EAST) CALL INTLOGR(JP_ERROR,'DSSAREA: West = ', WEST) NORTH = ONORTH SOUTH = OSOUTH WEST = OWEST EAST = OEAST DSSAREA = JPROUTINE + 3 GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 4. Fixup north-south area to correspond to the grid. C -----------------------------------------------------------------| C 400 CONTINUE C IF( NORTH.LT.SOUTH ) THEN CALL INTLOG(JP_ERROR, X 'DSSAREA: Faulty input latitude limits', JPQUIET) CALL INTLOGR(JP_ERROR,'DSSAREA: North = ', NORTH) CALL INTLOGR(JP_ERROR,'DSSAREA: South = ', SOUTH) DSSAREA = JPROUTINE + 1 GOTO 900 ENDIF cs IF( NORTH.GT.90.0 ) THEN CALL INTLOGR(JP_WARN, X 'DSSAREA: Faulty North lat limits', NORTH) NORTH = 90.0 CALL INTLOGR(JP_WARN, X 'DSSAREA: Changed North to', NORTH) ENDIF cs IF( SOUTH.LT.-90.0 ) THEN CALL INTLOGR(JP_WARN, X 'DSSAREA: Faulty South lat limits', SOUTH) SOUTH = -90.0 CALL INTLOGR(JP_WARN, X 'DSSAREA: Changed South to', SOUTH) ENDIF IF( .NOT.LGAUSS ) THEN C C Regular lat/long grid only .. C DNS = JPDISTP * RRMULT INS = DNINT( DBLE(DNS) ) C C Find north boundary to nearest dissemination gridpoint south. C From this value, calculate the south limit using the requested C grid increment. C DNORTH = NORTH INORTH = DNINT( DBLE(DNORTH * RRMULT) ) IF( INORTH.GE.0 ) THEN INORTH = INORTH / INS ELSE INORTH = (INORTH-INS+1) / INS ENDIF INORTH = INORTH * INS IF( INORTH .GT. NP90 ) INORTH = NP90 IF( INORTH .LT. -NP90 ) INORTH = -NP90 NORTH = DBLE(INORTH) / RRMULT C DNORTH = NORTH DSOUTH = SOUTH NNSPTS = NINT( (DNORTH - DSOUTH) / NS ) DSOUTH = DNORTH - (NNSPTS* NS) IF( SMALLER(DSOUTH,SOUTH) ) DSOUTH = DSOUTH + NS CALL INTLOGR(JP_DEBUG,'DSSAREA: calculated north = ', DNORTH) CALL INTLOGR(JP_DEBUG,'DSSAREA: calculated south = ', DSOUTH) ISOUTH = DNINT( DBLE(DSOUTH * RRMULT) ) IF( ISOUTH .GT. NP90 ) ISOUTH = NP90 IF( ISOUTH .LT. -NP90 ) ISOUTH = -NP90 SOUTH = DBLE(ISOUTH) / RRMULT C ELSE C C Gaussian grid .. C C Round north boundary to nearest gridpoint southwards. C RNORTH = NORTH INORTH = JNORSGG( RNORTH, RGAUSS, NGAUSS, 0) NORTH = RGAUSS(INORTH) C C Round south boundary to nearest gridpoint northwards. C RSOUTH = SOUTH ISOUTH = JNORSGG( RSOUTH, RGAUSS, NGAUSS, 1) SOUTH = RGAUSS(ISOUTH) C ENDIF C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/sources.rs60000000755000175000017500000001040112127406245022703 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgd.F \ krg2rgy.F \ krg2rgz.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ createSharedMemoryCoefficients.c \ sharedll.c \ sharedgg.c \ sharedlib.c \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ rename_unlink.c \ sharedMemoryCharacteristics.c \ showmap.c \ smread.c \ soffset.c emoslib-000392+dfsg.1/interpolation/sources.decalpha0000755000175000017500000001043112127406245023515 0ustar amckinstryamckinstryHEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgz.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/intuvu.F0000755000175000017500000006071212127406245022017 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTUVU( PVYIN, PDVIN, INLEN, X PUOUT, PVOUT, OUTLEN) C C----> C**** INTUVU C C Purpose C ------- C C Interpolate unpacked input vorticity and divergence field to C unpacked U and V fields. C C C Interface C --------- C C IERR = INTUVU( PVYIN, PDVIN, INLEN, PUOUT,PVOUT,OUTLEN) C C Input C ----- C C PVYIN - Input vorticity field (unpacked array). C PDVIN - Input divergence field (unpacked array). C INLEN - Input field length (words). C C C Output C ------ C C PUOUT - Output U field (unpacked array). C PVOUT - Output V field (unpacked array). C OUTLEN - Output field length (words). C C C Method C ------ C C Convert spectral vorticity/divergence to spectral U/V and then C interpolate U and V to output fields. C C C Externals C --------- C C JVOD2UV - Converts spectral vorticity/divergence to spectral U/V. C JMEMHAN - Allocate scratch memory. C INTFAU - Prepare to interpolate unpacked input field. C INTFBU - Interpolate unpacked input field. C INTLOG - Log error message. C C C Author C ------ C C J.D.Chambers ECMWF Feb 1995 C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C IMPLICIT NONE C C Function arguments C INTEGER INLEN, OUTLEN REAL PVYIN(INLEN), PDVIN(INLEN), PUOUT(*), PVOUT(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" #include "current.h" #include "intlog.h" C C Parameters C INTEGER JPROUTINE, JPALLOC, JPDEALL, JPSCR3, JPSCR4, JPSCR5 PARAMETER (JPROUTINE = 27000 ) PARAMETER (JPALLOC = 1) PARAMETER (JPDEALL = 0) PARAMETER (JPSCR3 = 3) PARAMETER (JPSCR4 = 4) PARAMETER (JPSCR5 = 5) C C Local variables C INTEGER IIHOLD, IOHOLD DIMENSION IIHOLD(4), IOHOLD(4) CHARACTER*1 HOLDTYP REAL EW, NS LOGICAL LOLDWIND, LSPECUV, LSPCUVI, LSFCUVI INTEGER IERR, KPR, ISZUV, ISIZE, NOLD, IDIVOFF INTEGER NEXT, LOOP, MTRUNC, NTRUNC, NTROLD, NTROLD2, IPVORT INTEGER KK, ISAME INTEGER NLON, NLAT, NUMPTS, NGAUSS, NCOUNT, NUVFLAG LOGICAL LSTYLE, LFRAME REAL NORTH, SOUTH, WEST, EAST REAL AREA(4), POLE(2), GRID(2) INTEGER KPTS(JPGTRUNC*2) REAL GLATS(JPGTRUNC*2) REAL OLDGRID(2) C LOGICAL LFIRST, LNEWUV CHARACTER*3 EXTRA DATA LFIRST/.TRUE./, LNEWUV/.TRUE./, EXTRA/'NO '/ SAVE LFIRST, LNEWUV C DATA NTROLD/-1/, NTROLD2/-1/ SAVE NTROLD, NTROLD2 INTEGER IP_U, IP_V REAL RGGRID, SWORK POINTER (IRGGRID, RGGRID(1) ) POINTER (ISWORK, SWORK(1) ) #ifdef POINTER_64 INTEGER*8 IZNFLDO #endif REAL ZNFLDO POINTER ( IZNFLDO, ZNFLDO ) DIMENSION ZNFLDO( 1 ) #ifdef POINTER_64 INTEGER*8 IUV #endif REAL UV POINTER ( IUV, UV ) DIMENSION UV( 1 ) C C Externals C INTEGER INTFAU,INTFBU,AURESOL,DSSAREA,FIXAREA INTEGER HIRLAMW,HSP2GG INTEGER INSANE INTEGER HRG2GGW, HLL2LLW C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE INTUVU = 0 IERR = 0 KPR = 0 C C C Save output area definitions C DO 110 LOOP = 1, 4 IOHOLD(LOOP) = NOAREA(LOOP) 110 CONTINUE LFRAME = LNOFRAME.AND. X ((NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPREGROT ).OR.(NOREPR.EQ.JPFGGROT ) ) IF( LFIRST ) THEN CALL GETENV('IGNORE_UV_EXTRA_MODE', EXTRA) IF((EXTRA(1:1).EQ.'Y').OR.(EXTRA(1:1).EQ.'y')) LNEWUV = .FALSE. IF( LNEWUV ) THEN CALL INTLOG(JP_DEBUG, X 'INTUVU: IGNORE_UV_EXTRA_MODE not turned on',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'INTUVU: IGNORE_UV_EXTRA_MODE turned on',JPQUIET) ENDIF LFIRST = .FALSE. ENDIF C NOLD = NIRESO C LSPECUV = (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) LSPCUVI = (NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT) LSFCUVI = (.NOT.LSPCUVI).AND.LNOROTA C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC cs Regular Gaussian has to be set here IF( NOREPR.EQ.JPNOTYPE ) THEN IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'F') ) THEN CALL JGETGG( NOGAUSS, 'F', ROGAUSS, NOLPTS, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: JGETGG failed, NOGAUSS = ',NOGAUSS) INTUVU = IERR GOTO 900 ENDIF NOGAUSO = NOGAUSS HOGAUST = 'F' ENDIF NOREPR = JPGAUSSIAN ENDIF CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C -----------------------------------------------------------------| C* Section 2. Convert spectral vorticity/divergence to spectral U/V C -----------------------------------------------------------------| C 200 CONTINUE C IF( LSPECUV ) THEN C C Spectral U and V for Tn are to be generated from vorticity C and divergence spectral T(n-1) C IF( LARESOL.AND.LNEWUV ) THEN IF( (NOGRID(1).NE.0).AND.(NOGRID(2).NE.0) ) THEN EW = FLOAT(NOGRID(1))/PPMULT NS = FLOAT(NOGRID(2))/PPMULT NTRUNC = AURESOL(NS,EW) - 1 ELSE IF( NOGAUSS.NE.0 ) THEN EW = 90.0/FLOAT(NOGAUSS) NS = EW NTRUNC = AURESOL(NS,EW) - 1 ELSE IF( LNORESO ) THEN NTRUNC = NORESO - 1 ELSE NTRUNC = NIRESO - 1 ENDIF IF( NTRUNC.GT.(NIRESO-1) ) NTRUNC = NIRESO - 1 C ELSE IF( LNORESO ) THEN NTRUNC = NORESO - 1 ELSE NTRUNC = NIRESO - 1 ENDIF C IF( LNEWUV ) THEN MTRUNC = NTRUNC + 1 ELSE NTRUNC = NTRUNC + 1 MTRUNC = NTRUNC ENDIF C C -----------------------------------------------------------------| C Use old-style processing if IGNORE_UV_EXTRA_MODE = Y C -----------------------------------------------------------------| C IF( .NOT.LNEWUV ) THEN C CALL INTLOG(JP_DEBUG,'INTUVU: vo/div truncation = ', NIRESO) C C Get scratch memory for U and V spectral fields. C U and V memory areas are adjacent. C ISZUV = (NIRESO+1)*(NIRESO+2) IP_U = 1 IP_V = 1 + ISZUV CALL JMEMHAN( JPSCR3, IUV, ISZUV*2, JPALLOC, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTUVU: Memory allocn fail',JPQUIET) INTUVU = IERR GOTO 900 ENDIF C C Generate U and V with same truncation as input fields. C CALL INTLOG(JP_DEBUG, X 'INTUVU: Make intermediate U/V with truncation = ', NIRESO) C CALL JVOD2UV(PVYIN,PDVIN,NIRESO,UV(IP_U),UV(IP_V),NIRESO) C C Is the output a truncated spectral field? C IF( LNORESO ) THEN C CALL INTLOG(JP_DEBUG, X 'INTUVU: Produce spectral output with truncation',NORESO) C ISIZE = (NORESO+1)*(NORESO+2) CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_FATAL,'INTUVU: Get scratch fail',JPQUIET) INTUVU = JPROUTINE + 2 GOTO 900 ENDIF C CALL SH2SH( UV(IP_U), NIRESO, ZNFLDO, NORESO ) DO LOOP = 1, ISIZE PUOUT(LOOP) = ZNFLDO(LOOP) ENDDO C CALL SH2SH( UV(IP_V), NIRESO, ZNFLDO, NORESO ) DO LOOP = 1, ISIZE PVOUT(LOOP) = ZNFLDO(LOOP) ENDDO C NIRESO = NORESO C OUTLEN = ISZUV GOTO 900 C ENDIF C C -----------------------------------------------------------------| C Use new-style processing if IGNORE_UV_EXTRA_MODE not set C -----------------------------------------------------------------| C ELSE C CALL INTLOG(JP_DEBUG,'INTUVU: vo/div truncation = ', NTRUNC) CALL INTLOG(JP_DEBUG,'INTUVU: U/V truncation = ', MTRUNC) C C Truncate vorticity and divergence to correspond to U/V C ISIZE = (MTRUNC+1)*(MTRUNC+2) CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: Scratch memory type 5 allocn failed.',JPQUIET) INTUVU = JPROUTINE + 4 GOTO 900 ENDIF C IPVORT = 1 CALL SH2SH( PVYIN, NIRESO, ZNFLDO, NTRUNC ) C IDIVOFF = 1 + (NTRUNC+1)*(NTRUNC+2) CALL SH2SH( PDVIN, NIRESO, ZNFLDO(IDIVOFF), NTRUNC ) C C Get scratch memory for U and V spectral fields. C U and V memory areas are adjacent. C ISZUV = (MTRUNC+1)*(MTRUNC+2) IP_U = 1 IP_V = 1 + ISZUV C ISIZE = ISZUV*2 CALL JMEMHAN( JPSCR3, IUV, ISIZE, JPALLOC, IERR) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: Scratch memory type 3 allocation failed.',JPQUIET) INTUVU = IERR GOTO 900 ENDIF C C Generate U and V spectral fields C CALL JVOD2UV(ZNFLDO(IPVORT),ZNFLDO(IDIVOFF),NTRUNC, X UV(IP_U),UV(IP_V),MTRUNC) C DO LOOP = 1, ISZUV PUOUT(LOOP) = UV(LOOP) PVOUT(LOOP) = UV(LOOP+ISZUV) ENDDO C C OUTLEN = ISZUV cs added in case of packing after conversion NORESO = MTRUNC C GOTO 900 C ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 3. Generate grid point GRIB format U and V fields. C -----------------------------------------------------------------| C 300 CONTINUE C cs this is for merging with grib_api LUVCOMP = .FALSE. C Spectral U and V for Tn are to be generated from vorticity C and divergence spectral T(n-1) C C See whether or not the 'autoresol' flag is set. C If not, use the input truncation. C IF( LARESOL ) THEN IF( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN EW = FLOAT(NOGRID(1))/PPMULT NS = FLOAT(NOGRID(2))/PPMULT ELSE EW = 90.0/FLOAT(NOGAUSS) NS = EW ENDIF NTRUNC = AURESOL(EW,NS) IF( NTRUNC.NE.NTROLD ) THEN NTROLD = NTRUNC CALL INTLOG(JP_WARN, X 'INTUVU: Resolution automatically set to ', NTRUNC) ENDIF ELSE IF( LNORESO ) THEN NTRUNC = NORESO ELSE NTRUNC = NIRESO ENDIF C C Check whether the output resolution is greater than the input C IF( NTRUNC.GT.NIRESO ) THEN C C Issue warning if the output resolution was user-supplied C IF( .NOT.LARESOL ) THEN C C Revert to the input truncation C IF( NIRESO.NE.NTROLD2 ) THEN CALL INTLOG(JP_WARN, X 'INTUVU: spectral -> grid point interpolation',JPQUIET) CALL INTLOG(JP_WARN, X 'INTUVU: User supplied resolution = ',NTRUNC) CALL INTLOG(JP_WARN, X 'INTUVU: Input field resolution = ',NIRESO) CALL INTLOG(JP_WARN, X 'INTUVU: User supplied resolution ignored',JPQUIET) CALL INTLOG(JP_WARN, X 'INTUVU: Input field resolution has been used',JPQUIET) NTROLD2 = NIRESO ENDIF NTRUNC = NIRESO C ELSE C C Revert to the input truncation C NTRUNC = NIRESO IF( NTRUNC.NE.NTROLD2 ) THEN NTROLD2 = NTRUNC CALL INTLOG(JP_WARN, X 'INTUVU: Automatic resolution selectn too high',JPQUIET) CALL INTLOG(JP_WARN, X 'INTUVU: Resolution reset to input resolution: ',NTRUNC) ENDIF C ENDIF ENDIF C C IF extra mode is in use, adjust the calculated truncation. C MTRUNC = NTRUNC IF( LNEWUV ) NTRUNC = MTRUNC - 1 C CALL INTLOG(JP_DEBUG,'INTUVU: vo/div truncation = ', NTRUNC) CALL INTLOG(JP_DEBUG,'INTUVU: U/V truncation = ', MTRUNC) C ISIZE = (MTRUNC+1)*(MTRUNC+2) CALL JMEMHAN( JPSCR5, IZNFLDO, ISIZE*2, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_FATAL, X 'INTUVU: Get scratch space failed',JPQUIET) INTUVU = JPROUTINE + 2 GOTO 900 ENDIF C C Adjust the vorticity and divergence by one wave number before C conversion to U and V C IPVORT = 1 IDIVOFF = 1 + (NTRUNC+1)*(NTRUNC+2) C CALL SH2SH( PVYIN, NIRESO, ZNFLDO, NTRUNC ) C CALL SH2SH( PDVIN, NIRESO, ZNFLDO(IDIVOFF), NTRUNC ) C C Get scratch memory for U and V spectral fields. C U and V memory areas are adjacent. C ISZUV = (MTRUNC+1)*(MTRUNC+2) IP_U = 1 IP_V = IP_U + ISZUV C ISIZE = ISZUV*2 CALL JMEMHAN( JPSCR3, IUV, ISIZE, JPALLOC, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: Scratch memory type 3 allocation failed.',JPQUIET) INTUVU = IERR GOTO 900 ENDIF C C Generate U and V spectral fields C CALL JVOD2UV(ZNFLDO(IPVORT),ZNFLDO(IDIVOFF),NTRUNC, X UV(IP_U),UV(IP_V),MTRUNC) C NIRESO = MTRUNC C C LSTYLE = LNOSTYLE.AND. X (NOSTYLE.EQ.JPSDISM).AND. X (NOREPR.EQ.JPREGULAR) C IF( LSTYLE ) THEN EW = NOGRID(1) / PPMULT NS = NOGRID(2) / PPMULT NORTH = REAL(NOAREA(1)) / PPMULT WEST = REAL(NOAREA(2)) / PPMULT SOUTH = REAL(NOAREA(3)) / PPMULT EAST = REAL(NOAREA(4)) / PPMULT C IERR = DSSAREA( EW, NS, NORTH, WEST, SOUTH, EAST) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTUVU: DSSAREA failed:',IERR) INTUVU = JPROUTINE + 9 GOTO 900 ENDIF C NOAREA(1) = NINT(NORTH * PPMULT) NOAREA(2) = NINT(WEST * PPMULT) NOAREA(3) = NINT(SOUTH * PPMULT) NOAREA(4) = NINT(EAST * PPMULT) ELSE C Fixup area definition to correspond to grid definitions IERR = FIXAREA() IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: Fixup area definition failed.',JPQUIET) INTUVU = IERR GOTO 900 ENDIF ENDIF DO KK = 1,4 NOAAPI(KK) = NOAREA(KK) ENDDO NIFORM = 0 NIPARAM = JP_U LWIND = .TRUE. LOLDWIND = LWINDSET LWINDSET = .TRUE. C IF(LSFCUVI) GOTO 850 IF( LNOROTA ) GOTO 700 C -----------------------------------------------------------------| C* Section 4. Interpolate U field. C -----------------------------------------------------------------| C 400 CONTINUE C IERR = INTFAU( UV(IP_U), ISZUV, PUOUT, OUTLEN) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: Prepare to interpolate failed.',JPQUIET) INTUVU = IERR GOTO 900 ENDIF C IERR = INTFBU( UV(IP_U), ISZUV, PUOUT, OUTLEN) C IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'INTUVU: Interpolation failed.',JPQUIET) INTUVU = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 5. Interpolate V field. C -----------------------------------------------------------------| C 500 CONTINUE C NIPARAM = JP_V IERR = INTFAU( UV(IP_V), ISZUV, PVOUT, OUTLEN) IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: Prepare to interpolate failed.',JPQUIET) INTUVU = IERR GOTO 900 ENDIF C IERR = INTFBU( UV(IP_V), ISZUV, PVOUT, OUTLEN) C IF ( IERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: INTFBU interpolate failed.',JPQUIET) INTUVU = IERR GOTO 900 ENDIF cs GOTO 900 GOTO 890 C C -----------------------------------------------------------------| C* Section 6. Initialise spectral to grid-point with rotation C -----------------------------------------------------------------| C 700 CONTINUE IF( .NOT.LUSEHIR ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU : Unable to rotate spectral U or V:',JPQUIET) INTUVU = JPROUTINE + 3 GOTO 900 ENDIF C IF( (NOREPR.NE.JPREGROT).AND.(NOREPR.NE.JPREGULAR) ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU : For U/V, only regular lat/long',JPQUIET) CALL INTLOG(JP_ERROR, X 'INTUVU : output rotated grids allowed',JPQUIET) INTUVU = JPROUTINE + 3 GOTO 900 ENDIF C cs this is for merging with grib_api LUVCOMP = .TRUE. CALL INTLOG(JP_DEBUG,'INTUVU: Rotate the U & V fields',JPQUIET) CALL INTLOG(JP_DEBUG,'INTUVU: South pole lat ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'INTUVU: South pole long ',NOROTA(2)) C C Fill area limits (handles case when default 0/0/0/0 given) C cssssssssss cs IERR = FIXAREA() cs IF( IERR.NE.0 ) THEN cs CALL INTLOG(JP_ERROR,'INTUVU: area fixup failed',JPQUIET) cs INTUVU = JPROUTINE + 3 cs GOTO 900 cs ENDIF C AREA(1) = REAL(NOAREA(1))/PPMULT AREA(2) = REAL(NOAREA(2))/PPMULT AREA(3) = REAL(NOAREA(3))/PPMULT AREA(4) = REAL(NOAREA(4))/PPMULT C GRID(1) = REAL(NOGRID(1))/PPMULT GRID(2) = REAL(NOGRID(2))/PPMULT C POLE(1) = REAL(NOROTA(1))/PPMULT POLE(2) = REAL(NOROTA(2))/PPMULT C C -----------------------------------------------------------------| C* Section 7. Convert spectral to suitable global reduced gaussian C -----------------------------------------------------------------| C 800 CONTINUE C NTRUNC = NIRESO IERR = HSP2GG(NTRUNC,NGAUSS,KPTS,GLATS,ISIZE) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: problem getting data for reduced grid',NTRUNC) INTUVU = JPROUTINE + 4 GOTO 900 ENDIF NCOUNT = ISIZE C C Dynamically allocate memory for global reduced gaussian grid C CALL JMEMHAN( 18, IRGGRID, (NCOUNT*2), 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: memory alloc for reduced grid fail',JPQUIET) INTUVU = JPROUTINE + 4 GOTO 900 ENDIF C C Set flag to show field is a wind component C NUVFLAG = 1 C C Create the reduced gaussian grid C HOLDTYP = HOGAUST WEST = 0.0 EAST = 360.0 - (360.0/(NGAUSS*4)) C C U component C CALL JAGGGP(UV(IP_U),NTRUNC,GLATS(1),GLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID,NUVFLAG,IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: spectral to reduced gaussian failed',JPQUIET) INTUVU = JPROUTINE + 4 GOTO 900 ENDIF C HOGAUST = HOLDTYP C C V component C CALL JAGGGP(UV(IP_V),NTRUNC,GLATS(1),GLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID(1+NCOUNT),NUVFLAG,IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: spectral to reduced gaussian failed',JPQUIET) INTUVU = JPROUTINE + 4 GOTO 900 ENDIF HOGAUST = HOLDTYP C -----------------------------------------------------------------| C* Section 8. Rotate using 12-point horizontal interpolation C -----------------------------------------------------------------| C 810 CONTINUE C C Dynamically allocate memory for rotated lat/long grid C NLON = 1 + NINT(FLOAT(NOAREA(JPEAST) - NOAREA(JPWEST)) / X NOGRID(JPWESTEP)) NLAT = 1 + NINT(FLOAT(NOAREA(JPNORTH) - NOAREA(JPSOUTH)) / X NOGRID(JPNSSTEP)) C NUMPTS = NLON * NLAT ISIZE = NUMPTS * 2 CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: memory alloc for lat/long grid fail',JPQUIET) INTUVU = JPROUTINE + 5 GOTO 900 ENDIF C IERR = HIRLAMW(LO12PT,RGGRID,RGGRID(1+NCOUNT),NCOUNT,NGAUSS,AREA, X POLE,GRID,SWORK,SWORK(1+NUMPTS),NUMPTS,NLON,NLAT) C IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: HIRLAMW rotation failed',JPQUIET) INTUVU = JPROUTINE + 5 GOTO 900 ENDIF c DO LOOP = 1, NUMPTS PUOUT(LOOP) = SWORK(LOOP) PVOUT(LOOP) = SWORK(LOOP+NUMPTS) ENDDO OUTLEN = NUMPTS cs GOTO 900 GOTO 890 c -----------------------------------------------------------------| C* Section 8.1 Grid to rotated grid point C -----------------------------------------------------------------| 850 CONTINUE C* 8.1a Generate interpolated lat/long U and V fields. C -----------------------------------------------------------------| C cs this is for merging with grib_api LUVCOMP = .TRUE. C IF( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C Dynamically allocate scrath space for rotated lat/long grid C NLON = 1 + NINT(FLOAT(NOAREA(JPEAST) - NOAREA(JPWEST)) / X NOGRID(JPWESTEP)) NLAT = 1 + NINT(FLOAT(NOAREA(JPNORTH) - NOAREA(JPSOUTH)) / X NOGRID(JPNSSTEP)) C NOWE = NLON NONS = NLAT OUTLEN = NLON * NLAT C C Rotate reduced gaussian to lat/long C IF( (NIREPR.EQ.JPGAUSSIAN).OR.(NIREPR.EQ.JPQUASI) ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'INTUVU: Rotate reduced gaussian to lat/long',JPQUIET) IERR = HIRLAMW(LO12PT, X PVYIN,PDVIN,INLEN, X NOGAUSS,AREA,POLE,GRID, X PUOUT,PVOUT,OUTLEN,NLON,NLAT) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: HIRLAMW rotation failed',JPQUIET) INTUVU = JPROUTINE + 3 GOTO 900 ENDIF C C Rotate lat/long to lat/long C ELSE IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'INTUVU: Rotate lat/long to lat/long',JPQUIET) OLDGRID(1) = REAL(NIGRID(1)) / PPMULT OLDGRID(2) = REAL(NIGRID(2)) / PPMULT IERR = HLL2LLW(LO12PT,PVYIN,PDVIN, X OLDGRID,AREA,POLE,GRID, X PUOUT,PVOUT,OUTLEN,NLON,NLAT) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'INTUVU: HLL2LLW rotation failed',JPQUIET) INTUVU = JPROUTINE + 3 GOTO 900 ENDIF ENDIF C ELSE * Section 8.1b Generate interpolated gaussian U and V fields. C -----------------------------------------------------------------| C C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'INTUVU: Rotate gaussian to gaussian',JPQUIET) C C Dynamically allocate memory for rotated gaussian grids C NUMPTS = NOGAUSS * NOGAUSS OUTLEN = 2 * NUMPTS * 8 C cs NGAUSS = ISEC2(10) IERR = HRG2GGW(LO12PT, X PVYIN,PDVIN,INLEN, X NIGAUSS,AREA,POLE,NOGAUSS,HOGAUST, X PUOUT,PVOUT,OUTLEN,NUMPTS) IF( IERR.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'INTUVU: HRG2GGW rotation failed',JPQUIET) INTUVU = JPROUTINE + 4 GOTO 900 ENDIF C ENDIF C 890 CONTINUE IF( LFRAME ) THEN NLON = 1 + NINT(FLOAT(NOAREA(JPEAST) - NOAREA(JPWEST)) / X NOGRID(JPWESTEP)) NLAT = 1 + NINT(FLOAT(NOAREA(JPNORTH) - NOAREA(JPSOUTH)) / X NOGRID(JPNSSTEP)) ISEC1(5) = 192 ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV LIMISSV = .TRUE. CALL MKFRAME(NLON,NLAT,PUOUT,RMISSGV,NOFRAME) CALL MKFRAME(NLON,NLAT,PVOUT,RMISSGV,NOFRAME) ENDIF C C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C C Clear change flags for next product processing LCHANGE = .FALSE. LSMCHNG = .FALSE. LWINDSET = LOLDWIND DO 910 LOOP = 1, 4 NOAREA(LOOP) = IOHOLD(LOOP) 910 CONTINUE C NIRESO = NOLD C RETURN END emoslib-000392+dfsg.1/interpolation/jfindfn.F0000755000175000017500000000537312127406245022105 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION JFINDFN( DIRNAME, FILENAME, KLEN, KUNIT) C C----> C**** JFINDFN C C Purpose C _______ C C Completes the pathname given by a directory and filename, and C checks if the file exists. C C Interface C _________ C C LFOUND = JFINDFN( DIRNAME, FILENAME, KLEN, KUNIT) C C Input parameters C ________________ C C DIRNAME - the directory name. C FILENAME - the file name. C KLEN - number of characters in the name C C Output parameters C _________________ C C The function returns .TRUE. if the file is opened; in which case: C FILENAME - the full pathname. C KLEN - number of characters in the full pathname C KUNIT - the opened file descriptor (from PBOPEN). C C Otherwise it returns .FALSE. and FILENAME and KLEN are unchanged C C Common block usage C __________________ C C None. C C Externals C _________ C C PBOPEN - opens a file. C C Reference C _________ C C None. C C Comments C ________ C C None. C C Author C ______ C C J.D.Chambers *ECMWF* Mar 1996 C C----< C _______________________________________________________ C IMPLICIT NONE C C Parameters Cjdc INTEGER JPROUTINE Cjdc PARAMETER ( JPROUTINE = 30800 ) C C Subroutine arguments CHARACTER*(*) DIRNAME, FILENAME INTEGER KLEN, KUNIT C C Local variables INTEGER IBLANK, IRET CHARACTER*512 FULLPATH CHARACTER*256 SAVENAME C C _______________________________________________________ C C* Section 1. Try the full path name.. C _______________________________________________________ C 100 CONTINUE C JFINDFN = .TRUE. SAVENAME = FILENAME C IBLANK = INDEX(DIRNAME, ' ') - 1 FULLPATH = DIRNAME(1:IBLANK) // '/' // FILENAME(1:KLEN) IBLANK = INDEX(FULLPATH, ' ') - 1 FILENAME(1:IBLANK) = FULLPATH(1:IBLANK) C Cjdc print*,'***',FILENAME(1:IBLANK),'***' CALL PBOPEN(KUNIT, FILENAME(1:IBLANK), 'r', IRET) IF( IRET.NE.0 ) THEN FILENAME = SAVENAME JFINDFN = .FALSE. ELSE KLEN = INDEX(FULLPATH, ' ') - 1 FILENAME(1:KLEN) = FULLPATH(1:KLEN) ENDIF C C _______________________________________________________ C C* Section 9. Return. C _______________________________________________________ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/wavexxx.F0000755000175000017500000004623612127406245022204 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WAVEXXX(ISEC2, ISEC4, NLATS, STEPNS, STEPWE, X OLDWAVE, NEWIDX, DISTNEW, X NEWWAVE, NORTH, WEST, PMISS) C C----> C*****WAVEXXX* C C PURPOSE C ------- C C Interpolates wave fields (except 2D spectra). C C C INTERFACE C --------- C C IRET = WAVEXXX(ISEC2, ISEC4, NLATS, STEPNS, STEPWE, C X OLDWAVE, NEWIDX, DISTNEW, C X NEWWAVE, NORTH, WEST, PMISS) C C Input arguments C --------------- C C ISEC2 - Unpacked section 2 header from 2D wave spectra field C ISEC4 - Unpacked section 4 header from 2D wave spectra field C NLATS - Number of points N-S in new grid C STEPNS - Output grid north-south resolution (degrees) C STEPWE - Output grid west-east resolution (degrees) C OLDWAVE - Original wave field C NORTH - Output grid northernmost latitude (degrees) C WEST - Output grid westernmost longitude (degrees) C PMISS - Missing data value C C Output arguments C ---------------- C C NEWIDX - Indices of four neighbouring old grid points used for C new grid points C DISTNEW - Distances of surrounding box edges from new grid points C NEWWAVE - New wave field C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C Builds the index of neighbouring points for the output grid. C Then works through the output grid points, checking for subarea C boundaries and looking up neighbouring point values and weights. C (Neighbours may have missing data). C C C EXTERNALS C --------- C C WAVEIDX - determines which nearest-neighbour values to use for C interpolating to new output grid point C NUMPTWE - Calculates number of grid points between west/east C area boundaries C VALPINA - Looks up bitmap value C SOFFSET - Finds the section offsets in GRIB message C INTLOG - Log error message C C C REFERENCE C --------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF January 1998 C C C Modifications C ------------- C Handle reduced lat/long grid in 'pseudo-gaussian' layout C J.D.Chambers ECMWF November 2003 C C C----< C IMPLICIT NONE C C Parameters C INTEGER JPROUTINE, JPMXLAT PARAMETER (JPROUTINE = 40100) PARAMETER (JPMXLAT = 1801) INTEGER JPNW, JPNE, JPSW, JPSE, JPN, JPS INTEGER JPDISNW, JPDISNE, JPDISSW, JPDISSE PARAMETER (JPNW = 1) PARAMETER (JPNE = 2) PARAMETER (JPSW = 3) PARAMETER (JPSE = 4) PARAMETER (JPN = 5) PARAMETER (JPS = 6) PARAMETER (JPDISNW = 7) PARAMETER (JPDISNE = 8) PARAMETER (JPDISSW = 9) PARAMETER (JPDISSE = 10) C C Subroutine arguments C INTEGER ISEC2, ISEC4, NLATS DIMENSION ISEC2(*), ISEC4(*) REAL STEPNS, STEPWE, OLDWAVE, NEWWAVE, NORTH, WEST, PMISS REAL ONORTH DIMENSION OLDWAVE(*), NEWWAVE(*) INTEGER NEWIDX DIMENSION NEWIDX(4,*) REAL*4 DISTNEW DIMENSION DISTNEW(10,*) C C Local arguments C INTEGER IEOFSET, IWOFSET, ISTART, IWEST REAL SOUTH, PTLAT, AWEST, EAST, PTLONG, OLDWEST, OLDEAST REAL REFVAL, SCALE INTEGER NSPT1, INSPT, NEXP, NMANT, NRETA, NRETB, NLENG, NBIT INTEGER NPARAM, ISCALE, NSCALE, IBITS, ITEMP INTEGER IRET, IS0, IS1, IS2, IS3, IS4, IEDITN INTEGER NEXT, NEXTWV, NROW, NCOL, INDEX, ILOCATE INTEGER MISSLAT, LOOP, NPTS, NUMLATS, NUMNEW, KOLDNUM, KNEWNUM DIMENSION NPTS(JPMXLAT), NUMNEW(JPMXLAT) REAL RLATINC, OLDLATS, NEWLATS, ROWINC DIMENSION OLDLATS(JPMXLAT), NEWLATS(JPMXLAT) LOGICAL LDIREC REAL*4 DISNW, DISNE, DISSW, DISSE REAL*4 NW_PT, NE_PT, SW_PT, SE_PT REAL*4 RAD DATA RAD/0.017453293/ REAL*4 DI1N, DI1S, DI2N, DI2S, DK1, DK2 REAL*4 CNW_PT, CNE_PT, CSW_PT, CSE_PT REAL*4 SNW_PT, SNE_PT, SSW_PT, SSE_PT REAL*4 U1, U2, C1, C2, S1, S2, CC, SS INTEGER INW, INE, ISW, ISE, JNW, JNE, JSW, JSE C C Externals C INTEGER WAVEIDX, SOFFSET, VALPINA, NUMPTWE EXTERNAL WAVEIDX, SOFFSET, VALPINA, NUMPTWE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WAVEXXX = 0 C C Initialise the bitmap value lookup function C IRET = VALPINA(0,0,0) C MISSLAT = 0 C C Calculate number of latitudes if grid had been full from C North pole to South pole C NUMLATS = (180000/ISEC2(10)) + 1 IF( NUMLATS.GT.JPMXLAT ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Number of latitudes in input grid = ',NUMLATS) CALL INTLOG(JP_ERROR, X 'WAVEXXX: And is greater than allowed maximum = ',JPMXLAT) WAVEXXX = JPROUTINE + 1 GOTO 900 ENDIF C RLATINC = FLOAT(ISEC2(10)) cs RLATINC = FLOAT(ISEC2(10)/1000) C C Fill an array with the number of points at each latitude for the C input field. C IF( ISEC2(17).EQ.1 ) THEN C C Input field is a reduced latitude/longitude grid C C .. but it may be 'pseudo-gaussian' in layout C (ie global, symmetric about the equator but no latitude C at the equator) C IF( (ISEC2(4).NE.90000).AND.(MOD(ISEC2(3),2).EQ.0) ) THEN C NUMLATS = ISEC2(3) cs RLATINC = FLOAT(ISEC2(10))/1000 cs ONORTH = FLOAT(ISEC2(4))/1000 ONORTH = FLOAT(ISEC2(4)) C DO LOOP = 1, NUMLATS cs OLDLATS(LOOP) = ONORTH - (LOOP-1)*RLATINC OLDLATS(LOOP) = (ONORTH - (LOOP-1)*RLATINC)/1000 ENDDO C DO LOOP = 1, ISEC2(3) NPTS(LOOP+MISSLAT) = ISEC2(22+LOOP) ENDDO C ELSE C DO LOOP = 1, NUMLATS OLDLATS(LOOP) = (90000.0 - (LOOP-1)*RLATINC)/1000 cs OLDLATS(LOOP) = 90.0 - (LOOP-1)*RLATINC ENDDO C MISSLAT = (90000 - ISEC2(4))/ISEC2(10) DO LOOP = 1, MISSLAT NPTS(LOOP) = 0 ENDDO KOLDNUM = 1 + (90000 - ISEC2(7))/ISEC2(10) DO LOOP = 1, (KOLDNUM-MISSLAT) NPTS(LOOP+MISSLAT) = ISEC2(22+LOOP) ENDDO DO LOOP = (KOLDNUM+1), NUMLATS NPTS(LOOP) = 0 ENDDO ENDIF C ELSE C C Input field is a regular latitude/longitude grid C C DO LOOP = 1, NUMLATS cs OLDLATS(LOOP) = 90.0 - (LOOP-1)*RLATINC OLDLATS(LOOP) = (90000.0 - (LOOP-1)*RLATINC)/1000 ENDDO C MISSLAT = (90000 - ISEC2(4))/ISEC2(10) DO LOOP = 1, MISSLAT NPTS(LOOP) = 0 ENDDO KOLDNUM = 1 + (90000 - ISEC2(7))/ISEC2(10) DO LOOP = 1, (KOLDNUM-MISSLAT) NPTS(LOOP+MISSLAT) = ISEC2(2) ENDDO DO LOOP = (KOLDNUM+1), NUMLATS NPTS(LOOP) = 0 ENDDO ENDIF C C --------------------------------------------------------------------- C* Section 2. Setup number of points at each latitude for the C output latitude/longitude field. C --------------------------------------------------------------------- C 200 CONTINUE C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN) ) THEN C C Reduced (quasi-regular) gaussian output C KNEWNUM = NOGAUSS*2 DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROGAUSS(LOOP) ENDDO C ELSE IF( NOREPR.EQ.JPREDLL ) THEN C C Reduced (quasi-regular) lat/long output C KNEWNUM = NOREDLL DO LOOP = 1, KNEWNUM NUMNEW(LOOP) = NOLPTS(LOOP) NEWLATS(LOOP) = ROREDLL(LOOP) ENDDO C ELSE C C Regular output C MISSLAT = NINT((90.0 - NORTH)/STEPNS) DO LOOP = 1, MISSLAT NUMNEW(LOOP) = 0 ENDDO DO LOOP = 1, NLATS NUMNEW(LOOP+MISSLAT) = NINT(360.0/STEPWE) ENDDO C KNEWNUM = MISSLAT + NLATS DO LOOP = 1, KNEWNUM NEWLATS(LOOP) = 90.0 - (LOOP-1)*STEPNS ENDDO C ENDIF C C --------------------------------------------------------------------- C* Section 3. Get the input GRIB field characteristics. C --------------------------------------------------------------------- C 300 CONTINUE C C Calculate the indices of the input grid points to be used for C the output points C OLDWEST = FLOAT(NIAREA(2))/PPMULT OLDEAST = FLOAT(NIAREA(4))/PPMULT WAVEXXX = WAVEIDX(NUMLATS,NPTS,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM, NUMNEW, NEWLATS, X NEWIDX, DISTNEW) IF( WAVEXXX.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Unable to calculate output grid indices',JPQUIET) WAVEXXX = JPROUTINE + 2 GOTO 900 ENDIF C C Find bitmap (section 3) offset the GRIB product C IRET = SOFFSET(OLDWAVE, IS0, IS1, IS2, IS3, IS4, IEDITN) C C Get the overall length of OLDWAVE C #ifdef INTEGER_8 NBIT = 64 #else NBIT = 32 #endif INSPT = (IS0 + 4) * 8 CALL INXBIT(OLDWAVE,10,INSPT,NLENG,1,NBIT,24,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem extracting overall length of GRIB',JPQUIET) WAVEXXX = JPROUTINE + 3 GOTO 900 ENDIF C C Get parameter identifier C INSPT = (IS1 + 8) * 8 CALL INXBIT(OLDWAVE,10,INSPT,NPARAM,1,NBIT,8,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem getting parameter identifier',JPQUIET) WAVEXXX = JPROUTINE + 4 GOTO 900 ENDIF C C Wave direction parameters need special handling C (MWD, MDWW, MDPS, MDWI) C LDIREC = ( (NPARAM.EQ.230) .OR. X (NPARAM.EQ.235) .OR. X (NPARAM.EQ.238) .OR. X (NPARAM.EQ.242) ) C C Get the scale factor C INSPT = (IS4 + 4) * 8 CALL INXBIT(OLDWAVE,NLENG,INSPT,NSCALE,1,NBIT,16,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem extracting scale factor in GRIB',JPQUIET) WAVEXXX = JPROUTINE + 5 GOTO 900 ENDIF CALL DSGNBT(ISCALE,NSCALE,16,NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem setting sign of scale factor',JPQUIET) WAVEXXX = JPROUTINE + 6 GOTO 900 ENDIF SCALE = 2.0**(FLOAT(ISCALE)) C C Get the reference value C CALL INXBIT(OLDWAVE,NLENG,INSPT,NEXP,1,NBIT,8,'D',NRETA) CALL INXBIT(OLDWAVE,NLENG,INSPT,NMANT,1,NBIT,24,'D',NRETB) IF( (NRETA.NE.0) .OR. (NRETB.NE.0) ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem getting reference value from GRIB',JPQUIET) WAVEXXX = JPROUTINE + 7 GOTO 900 ENDIF CALL DECFP2(REFVAL,NEXP,NMANT) C C Get number of bits per packed value C CALL INXBIT(OLDWAVE,NLENG,INSPT,IBITS,1,NBIT,8,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem getting number of bits per word',JPQUIET) WAVEXXX = JPROUTINE + 8 GOTO 900 ENDIF NSPT1 = INSPT C C --------------------------------------------------------------------- C* Section 4. Work through the output subarea. C --------------------------------------------------------------------- C 400 CONTINUE C C Fill in the wave spectra values C NEXT = 0 NEXTWV = 0 C SOUTH = NOAREA(3)/PPMULT EAST = NOAREA(4)/PPMULT ISTART = 0 C C Work down through latitudes from north to south. C DO NROW = 1, KNEWNUM C C If inside north-south (subarea) boundaries .. C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPQUASI) ) THEN PTLAT = ROGAUSS(NROW) ELSE PTLAT = 90.0 - (NROW-1)*STEPNS ENDIF IF( (PTLAT.LE.NORTH).AND.(ABS(PTLAT-SOUTH).GT.-0.0005) ) THEN C C Calculate number of points between west boundary of area and C Greenwich C ROWINC = 360.0/NUMNEW(NROW) C IWEST = INT(WEST/ROWINC) IF( (WEST.GT.0.0).AND.(WEST.NE.(IWEST*ROWINC)) ) X IWEST = IWEST + 1 AWEST = IWEST * ROWINC IWOFSET = NUMPTWE(AWEST,0.0,ROWINC) IEOFSET = NUMPTWE(AWEST,EAST,ROWINC) C C Work through subarea longitudes from west to east. C DO NCOL = 1, NUMNEW(NROW) PTLONG = AWEST + (NCOL-1)*ROWINC NEXT = NUMPTWE(AWEST,PTLONG,ROWINC) IF( (NEXT.LE.IEOFSET).AND.(NEXT.GE.0) ) THEN C C .. and inside west-east (subarea) boundaries C NEXT = 1 + NEXT - IWOFSET IF( NEXT.LE.0) NEXT = NEXT + NUMNEW(NROW) NEXT = NEXT + ISTART NEXTWV = NEXTWV + 1 C INW = NEWIDX(JPNW,NEXT) INE = NEWIDX(JPNE,NEXT) ISW = NEWIDX(JPSW,NEXT) ISE = NEWIDX(JPSE,NEXT) C C If there is a bitmap, ... C IF( IS3.NE.0 ) THEN IF(INW.NE.0) JNW = VALPINA(OLDWAVE, IS3+6, INW) IF(INE.NE.0) JNE = VALPINA(OLDWAVE, IS3+6, INE) IF(ISW.NE.0) JSW = VALPINA(OLDWAVE, IS3+6, ISW) IF(ISE.NE.0) JSE = VALPINA(OLDWAVE, IS3+6, ISE) ELSE JNW = INW JNE = INE JSW = ISW JSE = ISE ENDIF C C Test if any of the four neighbouring points is missing. C IF( (INW.EQ.0) .OR. (INE.EQ.0) .OR. X (ISW.EQ.0) .OR. (ISE.EQ.0) .OR. X (JNW.EQ.0) .OR. (JNE.EQ.0) .OR. X (JSW.EQ.0) .OR. (JSE.EQ.0) ) THEN c C C If so, take nearest grid point value. C DISNW = DISTNEW(JPDISNW,NEXT) DISNE = DISTNEW(JPDISNE,NEXT) DISSW = DISTNEW(JPDISSW,NEXT) DISSE = DISTNEW(JPDISSE,NEXT) C IF( (DISNW.LE.DISNE).AND. X (DISNW.LE.DISSW).AND. X (DISNW.LE.DISSE)) THEN INDEX = INW ILOCATE = JNW C ELSE IF( (DISNE.LE.DISSW).AND. X (DISNE.LE.DISSE) ) THEN INDEX = INE ILOCATE = JNE C ELSE IF( (DISSW.LE.DISSE) ) THEN INDEX = ISW ILOCATE = JSW C ELSE INDEX = ISE ILOCATE = JSE ENDIF C IF( (INDEX.EQ.0).OR.(ILOCATE.EQ.0) ) THEN C C Nearest point is missing C NEWWAVE(NEXTWV) = PMISS C ELSE INSPT = NSPT1 + (ILOCATE - 1)*IBITS CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, X NBIT,IBITS,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem getting nearest neighbour value', X JPQUIET) WAVEXXX = JPROUTINE + 9 GOTO 900 ENDIF NEWWAVE(NEXTWV) = REFVAL + FLOAT(ITEMP)*SCALE ENDIF C ELSE C C Use bi-linear interpolation from four C neighbouring sea points. C INSPT = NSPT1 + (JNW - 1)*IBITS CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, X NBIT,IBITS,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem getting NW neighbour value', X JPQUIET) WAVEXXX = JPROUTINE + 10 GOTO 900 ENDIF NW_PT = REFVAL + FLOAT(ITEMP)*SCALE C INSPT = NSPT1 + (JNE - 1)*IBITS CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, X NBIT,IBITS,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem getting NE neighbour value', X JPQUIET) WAVEXXX = JPROUTINE + 10 GOTO 900 ENDIF NE_PT = REFVAL + FLOAT(ITEMP)*SCALE C INSPT = NSPT1 + (JSW - 1)*IBITS CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, X NBIT,IBITS,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem getting SW neighbour value', X JPQUIET) WAVEXXX = JPROUTINE + 10 GOTO 900 ENDIF SW_PT = REFVAL + FLOAT(ITEMP)*SCALE C INSPT = NSPT1 + (JSE - 1)*IBITS CALL INXBIT(OLDWAVE,NLENG,INSPT,ITEMP,1, X NBIT,IBITS,'D',NRETA) IF( NRETA.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WAVEXXX: Problem getting SE neighbour value', X JPQUIET) WAVEXXX = JPROUTINE + 10 GOTO 900 ENDIF SE_PT = REFVAL + FLOAT(ITEMP)*SCALE C DI1N = DISTNEW(JPNW,NEXT) DI2N = DISTNEW(JPNE,NEXT) DI1S = DISTNEW(JPSW,NEXT) DI2S = DISTNEW(JPSE,NEXT) DK1 = DISTNEW(JPN,NEXT) DK2 = DISTNEW(JPS,NEXT) C IF( .NOT. LDIREC ) THEN U1 = NW_PT*DI2N + NE_PT*DI1N U2 = SW_PT*DI2S + SE_PT*DI1S NEWWAVE(NEXTWV) = U1*DK2 + U2*DK1 ELSE C C Fields representing a 'direction': resolve into C components and interpolate each separately. C CNW_PT = COS(NW_PT*RAD) CNE_PT = COS(NE_PT*RAD) CSW_PT = COS(SW_PT*RAD) CSE_PT = COS(SE_PT*RAD) SNW_PT = SIN(NW_PT*RAD) SNE_PT = SIN(NE_PT*RAD) SSW_PT = SIN(SW_PT*RAD) SSE_PT = SIN(SE_PT*RAD) C1 = CNW_PT*DI2N + CNE_PT*DI1N C2 = CSW_PT*DI2S + CSE_PT*DI1S CC = C1*DK2 + C2*DK1 S1 = SNW_PT*DI2N + SNE_PT*DI1N S2 = SSW_PT*DI2S + SSE_PT*DI1S SS = S1*DK2 + S2*DK1 IF( SS.LT.0.0 ) THEN NEWWAVE(NEXTWV) = ATAN2(SS,CC)/RAD + 360.0 ELSE NEWWAVE(NEXTWV) = ATAN2(SS,CC)/RAD ENDIF ENDIF ENDIF ENDIF ENDDO C ENDIF ISTART = ISTART + NUMNEW(NROW) ENDDO C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/irscan.F0000755000175000017500000001761612127406245021751 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRSCAN (PMAT, KLEN, KLLEN, KNNS, KSCAN, KPR, 1 KERR) C C----> C**** *IRSCAN* C C PURPOSE C _______ C C This routine transforms a field between the specified external C scanning mode and a standard internal scanning mode where the C array represents a quasi regular field. C C INTERFACE C _________ C C IERR = IRSCAN (PMAT, KLEN, KLLEN, KNNS, KSCAN, KPR, KERR) C C Input parameters C ________________ C C PMAT - The input matrix of length (KLEN). C C KLEN - The number of points in the matrix. C C KLLEN - This array contains the quasi regular Gaussian C line length definitions. C C KNNS - The number of points in the North-South direction. C C KSCAN - A standard GRIB byte variable with bits 1 to 3 C separately significant. This means that the final C value is the sum of the bit settings. C C 128 , Set if points scan East to West. C 64 , Set if points scan South to North. C 32 , Set if points in the North South direction C are consecutive. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PMAT - The transposed matrix. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 7201 The scanning mode was not in the range 0 to 255. C 7202 A scanning mode with consecutive values in the North C South direction was requested. This is not compatible C with a quasi regular Gaussian field. C 7203 The total number of points given by the array KLLEN was C not equal to KLEN. C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C IRLREV - Routine to reverse the elements within each row C or each column of a quasi regular Gaussian field. C INTLOG - Logs messages. C C METHOD C ______ C C KSCAN = 128 is implemented by swapping elements within each C column of the matrix. C C KSCAN = 64 is implemented by reversing the order of the columns. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments C INTEGER KLEN, KNNS, KSCAN, KPR, KERR C INTEGER KLLEN (KNNS) C REAL PMAT (KLEN) C C Local variables C LOGICAL GNSMOD, GWEMOD, GTRMOD C INTEGER ISCAN, IDIR, ITOTAL, IERR C INTEGER JSTEP C INTEGER JPROUTINE C PARAMETER (JPROUTINE = 7200) C C External functions C INTEGER IRLREV C C _______________________________________________________ C C C* Section 1. Initialisation - Evaluate scan modes C _______________________________________________________ C 100 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IRSCAN: Section 1.',JPQUIET) C IRSCAN = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IRSCAN: Input parameters',JPQUIET) CALL INTLOG(JP_DEBUG,'IRSCAN: Total length of matrix is ',KLEN) CALL INTLOG(JP_DEBUG,'IRSCAN: Latitude lines are ',KNNS) CALL INTLOG(JP_DEBUG,'IRSCAN: Scan mode is ',KSCAN) ENDIF C IF (KSCAN .LT. 0 .OR. KSCAN .GE. 256) THEN IRSCAN = JPROUTINE + 1 IF (KERR .GE. 0) CALL INTLOG(JP_ERROR, X 'IRSCAN: Scan mode is not in range 0 to 255 = ',KSCAN) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IRSCAN: Interpolation fails.',IRSCAN) GO TO 900 ENDIF C C Zero KSCAN means no transformation C IF (KSCAN .EQ. 0) GO TO 900 C ISCAN = KSCAN GWEMOD = .FALSE. GNSMOD = .FALSE. C IF (ISCAN .GE. 128) THEN ISCAN = ISCAN - 128 GWEMOD = .TRUE. ENDIF C IF (ISCAN .GE. 64) THEN ISCAN = ISCAN - 64 GNSMOD = .TRUE. ENDIF C GTRMOD = ISCAN .GE. 32 C IF (GTRMOD) THEN IRSCAN = JPROUTINE + 2 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IRSCAN: scan mode wants consecutive N to S points',JPQUIET) CALL INTLOG(JP_ERROR, X 'IRSCAN: Not feasible for a quasi regular grid',JPQUIET) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IRSCAN: Interpolation fails.',IRSCAN) ENDIF GO TO 900 ENDIF C ITOTAL = 0 C DO 110 JSTEP = 1, KNNS ITOTAL = ITOTAL + KLLEN (JSTEP) 110 CONTINUE C IF (ITOTAL .NE. KLEN) THEN IRSCAN = JPROUTINE + 3 IF (KERR .GE. 0) THEN CALL INTLOG(JP_ERROR, X 'IRSCAN: Array length provided = ',KLEN) CALL INTLOG(JP_ERROR, X 'IRSCAN: not equal to sum of line lengths = ',ITOTAL) IF (KERR .EQ. 0) CALL INTLOG(JP_FATAL, X 'IRSCAN: Interpolation fails.',IRSCAN) ENDIF GO TO 900 ENDIF C C _______________________________________________________ C C* Section 2. Any field as order is unimportant C C Potential operations in order are C C 1 Modify West East mode C 2 Modify North South mode C _______________________________________________________ C 200 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IRSCAN: Section 2.',JPQUIET) C IF (GWEMOD) THEN C IDIR = 1 C IERR = IRLREV (PMAT, KLEN, KLLEN, KNNS, IDIR, KPR) C IF (IERR .GT. 0) THEN IRSCAN = IERR GO TO 900 ENDIF C ENDIF C IF (GNSMOD) THEN C IDIR = 2 C IERR = IRLREV (PMAT, KLEN, KLLEN, KNNS, IDIR, KPR) C IF (IERR .GT. 0) THEN IRSCAN = IERR GO TO 900 ENDIF C ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IRSCAN: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/jnumggq.F0000755000175000017500000000422212127406245022127 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION JNUMGGQ( KNUM, KPTS) C C----> C**** JNUMGGQ C C PURPOSE C ------- C C This routine returns the number of points in each latitude of C a gaussian grid. C C C INTERFACE C --------- C C CALL JNUMGGQ( KNUM, KPTS) C C C Input parameters C ---------------- C C KNUM - Gaussian grid number C C C Output parameters C ----------------- C C KPTS - Array giving number of points at each gaussian latitude C (both hemispheres) C C Returns 0 if OK, otherwise passes the return status from JNUMGG C C C Common block usage C ------------------ C C None. C C C Method C ------ C C Simplified interface to JNUMGG. C C C Externals C --------- C C JGETGG - Get the gaussian grid definition. C C C Reference C --------- C C None C C C Comments C -------- C C None C C C Author C ------ C C J.D.Chambers *ECMWF* January 2002 C C C Modifications C ------------- C C None. C C----< C IMPLICIT NONE #include "jparams.h" #include "parim.h" C C Subroutine arguments C INTEGER KNUM, KPTS DIMENSION KPTS(KNUM*2) C C Local variables C CHARACTER*1 HTYPE INTEGER KRET C C -----------------------------------------------------------------| C* Section 1. Get the information. C -----------------------------------------------------------------| C 100 CONTINUE C HTYPE = 'R' CALL JNUMGG( KNUM, HTYPE, KPTS, KRET) C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C JNUMGGQ = KRET C RETURN END emoslib-000392+dfsg.1/interpolation/my_ialloc.c0000755000175000017500000000154112127406245022465 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #define IA_CONT 00001 #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define MY_IALLOC my_ialloc #else #define MY_IALLOC my_ialloc_ #endif #endif void MY_IALLOC( FILE ** kunit, long * isize, long * kret) { #ifdef CRAY int fdesc; int status; #endif *kret = 0; #ifdef CRAY fdesc = fileno( *kunit); status = ialloc( fdesc, *isize, IA_CONT, 0); if ( status == -1 ) *kret = 1; #endif return; } emoslib-000392+dfsg.1/interpolation/jmakll3.F0000755000175000017500000001407512127406245022023 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMAKLL3( KUNIT, KTRUNC, PINTVL, PLAT, PLEG, KRET) C C----> C**** JMAKLL C C PURPOSE C _______ C C This routine creates legendre functions for latitude rows upto C the given latitude in a 'non-standard truncation/interval' file. C C INTERFACE C _________ C C CALL JMAKLL( KUNIT, KTRUNC, PINTVL, PLAT, PLEG, KRET) C C Input parameters C ________________ C C KUNIT - Unit number for open file of legendre functions. C KTRUNC - Truncation. C PINTVL - Grid interval (degrees) C PLAT - Latitude in degrees. C C Output parameters C ________________ C C PLEG - Array of legendre functions for the latitude. C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C Determine which functions already exist for the latitude rows C in the file, skip to the end and create necessary extra functions C and add to the file. C C Externals C _________ C C PBSEEK - Position the coefficients file C PBWRITE - Write the coefficients file C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C Reference C _________ C C None. C C Comments C ________ C C Only positive latitude values are allowed. C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Dec 1993 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C IMPLICIT NONE C #include "jparams.h" #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30500 ) C C Subroutine arguments C INTEGER KUNIT, KTRUNC, KRET REAL PLEG, PINTVL, PLAT DIMENSION PLEG(*) C C Local variables C INTEGER NEWPOS, NSIZE, NRET, NROWCT, NBYTES REAL ZLATEST, ZLAT, ALAT, PIBY2, DEG2RAD INTEGER NEXT, FIRST, LAST C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C IF( NDBG.GT.1 ) THEN CALL INTLOG(JP_DEBUG,'JMAKLL3: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JMAKLL3: Unit number for leg.funcs file =', KUNIT) CALL INTLOG(JP_DEBUG,'JMAKLL3: Truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JMAKLL3: Grid interval (degrees) = ', PINTVL) CALL INTLOGR(JP_DEBUG, X 'JMAKLL3: Latitude in degrees = ', PLAT) ENDIF C IF( PLAT.LT.0.0 ) THEN ZLAT = 0.0 ELSE ZLAT = PLAT ENDIF C C Calculate the byte offset into the file where the legendre C functions for the latitude should be. C #ifdef REAL_8 NSIZE = 8 * (KTRUNC+1)*(KTRUNC+4)/2 #else NSIZE = 4 * (KTRUNC+1)*(KTRUNC+4)/2 #endif NEWPOS = NINT( (90.0 - ZLAT)/PINTVL ) * NSIZE C C Find the current file length C CALL PBSEEK3( KUNIT, 0, 2, NRET) IF( NRET.LT.0 ) THEN CALL INTLOG(JP_ERROR,'JMAKLL3: PBSEEK error',NRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF C C Use the length to determine how many rows have already been C put into the file C NROWCT = NRET/NSIZE ZLATEST = 90.0 - REAL(NROWCT) * PINTVL C IF( NDBG.GT.1 ) THen CALL INTLOG(JP_DEBUG,'JMAKLL3: File length on open = ', NRET) CALL INTLOG(JP_DEBUG, X 'JMAKLL3: Number of rows already in file = ', NROWCT) CALL INTLOGR(JP_DEBUG, X 'JMAKLL3: Next latitude to go in file = ', ZLATEST) ENDIF C C _______________________________________________________ C C* Section 2. Processing. C _______________________________________________________ C C Loop through latitudes not in the file yet C #ifdef REAL_8 NBYTES = (KTRUNC+1)*(KTRUNC+4)/2 * 8 #else NBYTES = (KTRUNC+1)*(KTRUNC+4)/2 * 4 #endif C IF( NDBG.GT.1 ) X CALL INTLOG(JP_DEBUG,'JMAKLL3: No. of bytes per row = ', NBYTES) C PIBY2 = PPI / 2.0 DEG2RAD = PPI / 180.0 C FIRST = NINT(ZLATEST/PINTVL) LAST = NINT(ZLAT/PINTVL) DO NEXT = FIRST, LAST, -1 ALAT = (NEXT*PINTVL) * DEG2RAD C IF( NDBG.GT.1 ) CALL INTLOGR(JP_DEBUG, X 'JMAKLL3: Next latitude constructed = ', (NEXT*PINTVL)) C CALL JSPLEG1( PLEG, ALAT, KTRUNC) CALL PBWRITE3( KUNIT, PLEG, NBYTES, NRET) IF( NRET.LT.NSIZE ) THEN CALL INTLOG(JP_ERROR,'JMAKLL3: PBWRITE error.', NRET) CALL INTLOG(JP_ERROR,'JMAKLL3: bytes required = ', NSIZE) KRET = JPROUTINE + 3 GOTO 990 ENDIF ENDDO C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/intwavu.F0000755000175000017500000002426412127406245022164 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTWAVU(INFLD,INLEN,OUTFLD,OUTLEN) C C----> C**** INTWAVU C C Purpose C ------- C C Interpolate an ECMWF wave field wave field or a reduced C latitude-longitude field C C C Interface C --------- C C IRET = INTWAVU(INFLD,INLEN,OUTFLD,OUTLEN) C C Input C ----- C C INFLD - Input field (packed). C INLEN - Input field length (words). C C C Output C ------ C C OUTFLD - Output field (packed). C OUTLEN - Output field length (words). C C C Method C ------ C C Call interpolation routine; then repack into GRIB format. C C C Externals C --------- C C FIXAREA - Fixup area definition to correspond to grid definitions C JMEMHAN - Handles memory allocation. C JDEBUG - Checks environment to switch on/off debug C INTLOG - Log error message. C WAVEXX2 - Interpolate wave fields (except 2D spectra) C WV2DXX2 - Interpolate wave 2D spectra fields C MKFRAME - Create a 'frame' from a rectangular field C MKBITMP - Apply a bitmap to a rectangular field C C C Author C ------ C C S.Curic ECMWF Mar 2009 C C C----< C IMPLICIT NONE C C Function arguments INTEGER INLEN,OUTLEN REAL INFLD, OUTFLD DIMENSION INFLD(*),OUTFLD(*) C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "intf.h" #include "grfixed.h" #include "jparams.h" C C Parameters INTEGER JPROUTINE, JP2DSP, JP2DSPQ, JPMAXLT PARAMETER (JPROUTINE = 40200 ) PARAMETER (JP2DSP = 250 ) C ^---- parameter number for 2D wave spectra (whole) PARAMETER (JP2DSPQ = 251 ) C ^---- parameter number for 2D wave spectra (single) PARAMETER (JPMAXLT = 1801 ) C C Local variables C CHARACTER*1 HFUNC REAL ZMISS cs DATA ZMISS/-9999999.0/ REAL RLATINC, ONORTH, OSOUTH INTEGER IWORD, IRET, ISIZE, NSPEC, LAT1, LOOP, IERR INTEGER KNUM, NUM_E_W, NUM_N_S, NFULLNS, NFULLEW REAL GRIDWE, GRIDNS, NORTH, SOUTH, WEST, EAST REAL INORTH, ISOUTH, IWEST, IEAST, RNS INTEGER NUMPTS,MISSLAT,KOLDNUM DIMENSION NUMPTS(JPMAXLT) INTEGER NUMTABL, NUMPROD INTEGER KNEWNUM LOGICAL LCOEFFS, L98WAVE, LFRAME, LBITMP LOGICAL LDEBUG C C Externals INTEGER AREACHK, FIXAREA, WAVEXX2, WV2DXX2 INTEGER NUMPTNS, NUMPTWE, JNORSGG, MKBITMP C C ------------------------------------------------------------------ C Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C INTWAVU = 0 C LCOEFFS = .FALSE. ZMISS = RMISSGV ZSEC3(2) = RMISSGV ISEC3(2) = INT(RMISSGV) ISEC1(5) = 192 C C Check if debug option turned on CALL JDEBUG() LDEBUG = NDBG.GT.0 C C OUTLEN = 0 IRET = 1 C C Check that the field can be handled C C ------------------------------------------------------------------ C Section 2. Sort out interpolation area. C ------------------------------------------------------------------ C 200 CONTINUE C NSPEC = 1 INORTH = FLOAT(NIAREA(1))/PPMULT IWEST = FLOAT(NIAREA(2))/PPMULT ISOUTH = FLOAT(NIAREA(3))/PPMULT IEAST = FLOAT(NIAREA(4))/PPMULT KNUM = NINS RNS = INORTH - ISOUTH C C Adjust (sub-)area limits to suit the grid C IRET = FIXAREA() IF ( IRET .NE. 0 ) THEN CALL INTLOG(JP_ERROR, 'INTWAVU: FIXAREA failed.',JPQUIET) INTWAVU = JPROUTINE + 5 GOTO 900 ENDIF NORTH = FLOAT(NOAREA(1))/PPMULT WEST = FLOAT(NOAREA(2))/PPMULT SOUTH = FLOAT(NOAREA(3))/PPMULT EAST = FLOAT(NOAREA(4))/PPMULT C C Calculate the number of points E-W and N-S in new grid area C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN)) THEN GRIDWE = NOGAUSS GRIDNS = 0 ELSE IF( NOREPR.EQ.JPREDLL ) THEN GRIDWE = 360.0/NOLPTS((NOREDLL/2)+1) GRIDNS = FLOAT(NOGRID(2))/PPMULT ELSE GRIDWE = FLOAT(NOGRID(1))/PPMULT GRIDNS = FLOAT(NOGRID(2))/PPMULT ENDIF C IRET = AREACHK(GRIDWE,GRIDNS,NORTH,WEST,SOUTH,EAST) IF( IRET.NE.0 ) THEN INTWAVU = JPROUTINE + 6 GOTO 900 ENDIF NOAREA(1) = NINT(NORTH*PPMULT) NOAREA(2) = NINT(WEST*PPMULT) NOAREA(3) = NINT(SOUTH*PPMULT) NOAREA(4) = NINT(EAST*PPMULT) C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN)) THEN IF(NOREPR.EQ.JPQUASI) THEN GRIDWE = 360.0/NOLPTS(NOGAUSS) ELSE GRIDWE = 360.0/(NOGAUSS*4) ENDIF NUM_E_W = NUMPTWE(WEST,EAST,GRIDWE) NFULLEW = NUMPTWE(0.0,360.0,GRIDWE) - 1 NUM_N_S = JNORSGG(SOUTH,ROGAUSS,NOGAUSS,1) - X JNORSGG(NORTH,ROGAUSS,NOGAUSS,0) + 1 NFULLNS = NOGAUSS*2 NONS = NFULLNS IF(NOREPR.EQ.JPQUASI) THEN KNEWNUM = NOGAUSS*2 DO LOOP = 1, KNEWNUM OUTLEN = OUTLEN + NOLPTS(LOOP) ENDDO NOWE = 0 ELSE NOWE = NUM_E_W OUTLEN = NOWE*NONS ENDIF ELSE IF( NOREPR.EQ.JPREDLL ) THEN NUM_E_W = NUMPTWE(WEST,EAST,GRIDWE) NFULLEW = NUMPTWE(0.0,360.0,GRIDWE) - 1 NUM_N_S = NUMPTNS(NORTH,SOUTH,GRIDNS) NFULLNS = NOREDLL CALL INTLOG(JP_ERROR,'INTWAVU: Reduced ll not posible',JPQUIET) GOTO 900 ELSE NUM_E_W = NUMPTWE(WEST,EAST,GRIDWE) NFULLEW = NUMPTWE(0.0,360.0,GRIDWE) - 1 NUM_N_S = NUMPTNS(NORTH,SOUTH,GRIDNS) NFULLNS = NUM_N_S cs calculate outlen for regular lat-lon OUTLEN = NUM_E_W*NUM_N_S NOWE = NUM_E_W NONS = NUM_N_S ENDIF C C C ------------------------------------------------------------------ C Section 3. Interpolate wave fields other than 2D spectra. C ------------------------------------------------------------------ C 300 CONTINUE C C Handle if not 2D spectra .. C IF( (NIPARAM.NE.JP2DSP).AND.(NIPARAM.NE.JP2DSPQ) ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'INTWAVU: Interpolate wave fields other than 2D spectra',JPQUIET) ENDIF C-------------------------------------------------------------------- KNUM = NINS IF(NIREPR.EQ.JPREDLL) THEN C C Input field is a reduced latitude/longitude grid C C .. but it may be 'pseudo-gaussian' in layout C (ie global, symmetric about the equator but no latitude C at the equator) MISSLAT = 0 ONORTH = FLOAT(NIAREA(1))/PPMULT OSOUTH = FLOAT(NIAREA(3))/PPMULT RLATINC = FLOAT(NIGRID(2))/PPMULT IF( ( NIAREA(1).NE.90000).AND.(MOD(KNUM,2).EQ.0) ) THEN C DO LOOP = 1, KNUM NUMPTS(LOOP) = MILLEN(LOOP) ENDDO C ELSE C cs MISSLAT = (90000 - NIAREA(1))/NIGRID(2) MISSLAT = (90.0 - ONORTH)/RLATINC DO LOOP = 1, MISSLAT NUMPTS(LOOP) = 0 ENDDO cs KOLDNUM = 1 + (90000 - NIAREA(3))/NIGRID(2) KOLDNUM = 1 + NINT((90.0 - OSOUTH)/RLATINC) DO LOOP = 1, (KOLDNUM-MISSLAT) NUMPTS(LOOP+MISSLAT) = MILLEN(LOOP) ENDDO DO LOOP = (KOLDNUM+1), KNUM NUMPTS(LOOP) = 0 ENDDO ENDIF ENDIF C-------------------------------------------------------------------- C C Interpolate the field C IRET = WAVEXX2(NIPARAM,KNUM,NUMPTS,NUM_N_S,GRIDNS,GRIDWE,INFLD, X OUTFLD,NORTH,WEST,ZMISS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVU: Interpolation failed.',JPQUIET) INTWAVU = JPROUTINE + 10 GOTO 900 ENDIF C C ------------------------------------------------------------------ C Section 4. Interpolate wave 2D spectra field. C ------------------------------------------------------------------ C ELSE C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'INTWAVU: Interpolate wave 2D spectra field',JPQUIET) ENDIF 400 CONTINUE C IRET = WV2DXX2(NIMATR,KNUM,MILLEN,NUM_N_S,GRIDNS,GRIDWE,INFLD, X OUTFLD,NORTH,WEST,ZMISS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVU: Interpolation failed.',JPQUIET) INTWAVU = JPROUTINE + 13 GOTO 900 ENDIF C ENDIF C C ------------------------------------------------------------------ C Section 5. Frame and Bitmap C ------------------------------------------------------------------ C 500 CONTINUE C If a 'bitmap' has been specified, build the bitmap C LBITMP = LNOBITMP.AND. X ((NOREPR.EQ.JPREGROT).OR.(NOREPR.EQ.JPREGULAR).OR. X (NOREPR.EQ.JPGAUSSIAN)) IF( LBITMP ) THEN CALL INTLOG(JP_DEBUG,'INTWAVU: MKBITMP is enabled',JPQUIET) IERR = MKBITMP(NUM_E_W,NUM_N_S,OUTFLD,ZMISS) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVU: Problem applying bitmap',JPQUIET) GOTO 900 ENDIF ENDIF C If a 'frame' has been specified, build the frame C LFRAME = LNOFRAME.AND. X ((NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPREGROT ).OR.(NOREPR.EQ.JPFGGROT ) ) CALL INTLOG(JP_DEBUG,'INTWAVU: NUM_E_W ',NUM_E_W) CALL INTLOG(JP_DEBUG,'INTWAVU: NUM_N_S ',NUM_N_S) IF( LFRAME ) THEN CALL INTLOG(JP_DEBUG,'INTWAVU: MKFRAME is enabled',JPQUIET) CALL INTLOG(JP_DEBUG,'INTWAVU: NOFRAME ',NOFRAME) CALL MKFRAME(NUM_E_W,NUM_N_S,OUTFLD,ZMISS,NOFRAME) ENDIF C C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C RETURN END emoslib-000392+dfsg.1/interpolation/grdynam.h0000755000175000017500000001514512127406245022170 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C**** "grdynam.h" C C PURPOSE C _______ C C This file contains all the dynamic work space array definitions C for grid point to grid point interpolation. C C INTERFACE C _________ C C #include "grdynam.h" C C Common block usage C __________________ C C GRID_POINT C C NILATGP - POINTER to array MILATG. C NILONGP - POINTER to array MILONG. C NILSMP - POINTER to array MILSM. C NINPNTP - POINTER to array RINPNT. C NISTRTP - POINTER to array MISTRT. C NNSDISTP - POINTER to array MNSDIST. C NNSINDP - POINTER to array MNSIND. C NMAXP - POINTER to array RMAX. C NOLATGP - POINTER to array MOLATG. C NOLONGP - POINTER to array MOLONG. C NOLSMP - POINTER to array MOLSM. C NWEDISTP - POINTER to array MWEDIST. C NWEINDP - POINTER to array MWEIND. C NWFACTP - POINTER to array WFACT. C C MILATG - Dynamic array of length (NINS) (see nifld.common) C which holds the values of the input field C latitudes. C MILONG - Dynamic array of length (NIWE + 1) (see C nifld.common) which holds the values of the C input field longitudes. C MILSM - Dynamic array of length (NIWE, 2) (see C nifld.common) used in calculating the effects of C the land sea mask on interpolation. C MISTRT - Dynamic array of length (NINS) (see nifld.common) C which holds the array offsets of the start of C each latitude line for a quasi regular Gaussian C input field. No space is assigned to this array C for a regular input field. C MNSDIST - Dynamic array of length (2, NONS) (see C nofld.common) which holds the distances to C neighbouring latitude lines of the input field C from the associated line of latitude in the C output field. C MNSIND - Dynamic array of length (2, NONS) (see C nofld.common) which holds the latitude line C numbers (array offset) of the input field C associated with each line of latitude in the C output field. C MOLATG - Dynamic array of length (NONS) (see nofld.common) C which holds the values of the output field C latitudes. C MOLONG - Dynamic array of length (NOWE) (see nofld.common) C which holds the values of the output field C longitudes. C MOLSM - Dynamic array of length (NOWE) (see nofld.common) C used in calculating the effects of the land sea C mask on interpolation. C MWEDIST - Dynamic array of length (2, NONS) for a regular C input field and of length (2, 2 * NONS * NOWE) C (see nofld.common) for a quasi regular Gaussian C input field. This array holds the distances to C neighbouring longitude points of the input field C from the associated longitude points in the C output field. C MWEIND - Dynamic array of length (2, NONS) for a regular C input field and of length (2, 2 * NONS * NOWE) C (see nofld.common) for a quasi regular Gaussian C input field. This array holds the longitude C points (array offset) from the input field C associated with each longitude point in the C output field. C RINPNT - Dynamic array of length (NOWE) (see nofld.common) C used to aid vectorisation in processing C precipitation fields. C RMAX - Dynamic array of length (NOWE) (see nofld.common) C used to aid vectorisation in processing C precipitation fields. C WFACT - Dynamic array of length (4, NOWE * NONS) (see C nofld.common) which holds the interpolation C weights for each point in the output field. C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF June 1996 C C C -----------------------------------------------------------------| C* Section 2. Pointer variable declaration and common C -----------------------------------------------------------------| C #ifdef POINTER_64 INTEGER*8 #else INTEGER #endif 1 NILONGP, NILATGP, NOLONGP, NOLATGP, NNSINDP, NNSDISTP, 2 NWEINDP, NWEDISTP, NISTRTP, NILSMP, NOLSMP, NWFACTP, 3 NMAXP, NINPNTP C COMMON /GRID_POINT/ 1 NILONGP, NILATGP, NOLONGP, NOLATGP, NNSINDP, NNSDISTP, 2 NWEINDP, NWEDISTP, NISTRTP, NILSMP, NOLSMP, NWFACTP, 3 NMAXP, NINPNTP C SAVE /GRID_POINT/ C C -----------------------------------------------------------------| C* Section 3. Pointer and array combination C Array dimensions are in nifld.common and C nofld.common C -----------------------------------------------------------------| C INTEGER MILONG, MOLONG, MILATG, MOLATG, MNSIND, MNSDIST, 1 MWEIND, MWEDIST, MISTRT, MILSM, MOLSM C REAL WFACT, RMAX, RINPNT C POINTER (NILONGP, MILONG (NIWE + 1) ) POINTER (NOLONGP, MOLONG (NOWE) ) POINTER (NILATGP, MILATG (NINS) ) POINTER (NOLATGP, MOLATG (NONS) ) POINTER (NNSINDP, MNSIND (2, NONS) ) POINTER (NNSDISTP, MNSDIST (2, NONS) ) C POINTER (NWFACTP, WFACT (4, NOWE * NONS) ) C These arrays are only used as (2, NOWE) for regular input C POINTER (NWEINDP, MWEIND (2, 2 * NOWE * NONS) ) POINTER (NWEDISTP, MWEDIST (2, 2 * NOWE * NONS) ) C C These arrays are not used for regular input C POINTER (NISTRTP, MISTRT (NINS) ) C C These arrays are not used unless OLSM is .TRUE. C POINTER (NILSMP, MILSM (NIWE, 2) ) POINTER (NOLSMP, MOLSM (NOWE) ) C C Works space for precipitation C POINTER (NMAXP, RMAX (NOWE) ) POINTER (NINPNTP, RINPNT (NOWE) ) emoslib-000392+dfsg.1/interpolation/iaoldef.F0000755000175000017500000003070412127406245022066 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IAOLDEF (PWEST, PEAST, PNORTH, PSOUTH, 1 PNSINC, PWEINC, KAREA, OCHNG, OIWEGLOBE, OINPOLE, OISPOLE, 2 KIAREA, KPR, KERR) C C----> C**** *IAOLDEF* C C PURPOSE C _______ C C Set the output field definition variables for a regular C latitude longitude field. C C INTERFACE C _________ C C IERR = IAOLDEF (PWEST, PEAST, PNORTH, PSOUTH, PNSINC, PWEINC, C 1 KAREA, OCHNG, OIWEGLOBE, OINPOLE, OISPOLE, KIAREA, KPR, KERR) C C Input parameters C ________________ C C PWEST - The Western limit of the output field area. C C PEAST - The Eastern limit of the output field area. C C PNORTH - The Northern limit of the output field area. C C PSOUTH - The Southern limit of the output field area. C C PNSINC - The North-South stride for the output field. C C PWEINC - The West-East stride for the output field. C C KAREA - The previous output field area used for checking C for definition changes. C C OIWEGLOBE - Flag indicating whether the INPUT field spans the C globe in the West-East direction. C C OINPOLE - Flag indicating whether the INPUT field includes C the North polar line of latitude. C C OISPOLE - Flag indicating whether the INPUT field includes C the South polar line of latitude. C C KIAREA - The input field area which will be used for an C uninitialised output field area when the input C field is not global. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KAREA - The output field area if the definition has changed. C C OCHNG - A flag variable indicating whether the definition C has changed. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C nofld.common - This file contains all the output field C definition variables. C C NOGRID - Output field grid definition (WE/NS) is set. C NOREPR - Output field representation is set. C NOSCNM - Output field scanning mode is set. C C EXTERNALS C _________ C C INTLOG - Logs messages. C C METHOD C ______ C C Check the output definition against the previous definition and C update appropriate definition variables. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nofld.common" C C Subroutine arguments LOGICAL OCHNG, OIWEGLOBE, OINPOLE, OISPOLE INTEGER KPR, KERR INTEGER KAREA (4), KIAREA (4) REAL PWEST, PEAST, PNORTH, PSOUTH, PNSINC, PWEINC C C Local variables LOGICAL GLOBE INTEGER INORTH, ISOUTH, IWEST, IEAST, IWEINC, INSINC, IWETMP, 1 INSTMP, ITEMP INTEGER IERR INTEGER JPROUTINE PARAMETER (JPROUTINE = 21400) C C External functions C C Transform definition variables that must be preserved C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAOLDEF: Section 1.',JPQUIET) C IAOLDEF = 0 C IERR = 0 C OCHNG = .FALSE. C GLOBE = OIWEGLOBE .AND. OINPOLE .AND. OISPOLE C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IAOLDEF: Input parameters.',JPQUIET) CALL INTLOGR(JP_DEBUG,'IAOLDEF: W-E increment is ',PWEINC) CALL INTLOGR(JP_DEBUG,'IAOLDEF: N-S increment is ',PNSINC) CALL INTLOGR(JP_DEBUG,'IAOLDEF: AREA North ',PNORTH) CALL INTLOGR(JP_DEBUG,'IAOLDEF: AREA West ',PWEST) CALL INTLOGR(JP_DEBUG,'IAOLDEF: AREA South ',PSOUTH) CALL INTLOGR(JP_DEBUG,'IAOLDEF: AREA East ',PEAST) ENDIF C C _______________________________________________________ C C C* Section 2. Convert parameters to integer C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAOLDEF: Section 2.',JPQUIET) C C Representation C IF (NOREPR .NE. JPREGULAR) THEN NOREPR = JPREGULAR OCHNG = .TRUE. ENDIF C NOSCNM = 0 C C North, South, West and East limits C INORTH = NINT (PNORTH * PPMULT) ISOUTH = NINT (PSOUTH * PPMULT) IWEST = NINT (PWEST * PPMULT) IEAST = NINT (PEAST * PPMULT) C C Direction increments for regular grids C IWEINC = NINT (ABS (PWEINC) * PPMULT) IWEINC = MAX (IWEINC, JPMIN) C INSINC = NINT (ABS (PNSINC) * PPMULT) INSINC = MAX (INSINC, JPMIN) C C _______________________________________________________ C C C* Section 3. Adjust grid stride and area C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAOLDEF: Section 3.',JPQUIET) C C Global field if all area limits are 0 C IF (INORTH .EQ. 0 .AND. ISOUTH .EQ. 0 .AND. 1 IWEST .EQ. 0 .AND. IEAST .EQ. 0) THEN C IF (GLOBE) THEN C 310 CONTINUE IF (MOD (JP90, IWEINC) .EQ. 0) GO TO 320 IWEINC = IWEINC - 1 GO TO 310 320 CONTINUE C IF (MOD (JP90, INSINC) .EQ. 0) GO TO 330 INSINC = INSINC - 1 GO TO 320 330 CONTINUE C INORTH = JP90 ISOUTH = - JP90 IWEST = 0 IEAST = JP360 - IWEINC C ELSE C IF (OINPOLE) THEN INORTH = JP90 ELSE INORTH = KIAREA (JPNORTH) ENDIF C IF (OISPOLE) THEN ISOUTH = - JP90 ELSE ISOUTH = KIAREA (JPSOUTH) ENDIF C IF (OIWEGLOBE) THEN C 340 CONTINUE IF (MOD (JP90, IWEINC) .EQ. 0) GO TO 350 IWEINC = IWEINC - 1 GO TO 340 350 CONTINUE C IWEST = 0 IEAST = JP360 - IWEINC ELSE IWEST = KIAREA (JPWEST) IEAST = KIAREA (JPEAST) C 360 CONTINUE IF (MOD (IEAST - IWEST, IWEINC) .EQ. 0) GO TO 370 IWEINC = IWEINC - 1 GO TO 360 370 CONTINUE C ENDIF C 380 CONTINUE IF (MOD (INORTH - ISOUTH, INSINC) .EQ. 0) GO TO 390 INSINC = INSINC - 1 GO TO 380 390 CONTINUE C ENDIF ELSE C C Try to produce fields representable in GRIB for 0.5625 degree C strides C IF (IEAST .LT. IWEST) THEN IF (IEAST .LE. 0) THEN IEAST = IEAST + JP360 ELSE IWEST = IWEST - JP360 ENDIF ENDIF C GLOBE = IEAST - IWEST + IWEINC .EQ. JP360 .OR. 1 IEAST - IWEST + IWEINC .EQ. 0 C IF (MOD (IWEINC, 10) .EQ. 5 .AND. .NOT. GLOBE) THEN IWETMP = IWEINC * 2 ELSE IWETMP = IWEINC ENDIF C IF (MOD (IEAST - IWEST, IWETMP) .NE. 0) THEN C IF (MOD (IEAST, IWETMP) .NE. 0) THEN C ITEMP = ABS (IEAST) / IWETMP C IF (IEAST .GT. 0) THEN IEAST = (ITEMP + 1) * IWETMP IF (IEAST .GT. JP360) IEAST = IEAST - IWETMP ELSE IEAST = - ITEMP * IWETMP ENDIF ENDIF C IF (MOD (IWEST, IWETMP) .NE. 0) THEN C ITEMP = ABS (IWEST) / IWETMP C IF (IWEST .LT. 0) THEN IWEST = - (ITEMP + 1) * IWETMP IF (IWEST .LT. - JP360) IWEST = IWEST + IWETMP ELSE IWEST = ITEMP * IWETMP ENDIF ENDIF ENDIF C IF (MOD (INSINC, 10) .EQ. 5) THEN INSTMP = INSINC * 2 ELSE INSTMP = INSINC ENDIF C IF (MOD (INORTH - ISOUTH, INSTMP) .NE. 0) THEN C IF (MOD (INORTH, INSTMP) .NE. 0) THEN C ITEMP = ABS (INORTH) / INSTMP C IF (INORTH .GT. 0) THEN INORTH = (ITEMP + 1) * INSTMP IF (INORTH .GT. JP90) INORTH = INORTH - INSTMP ELSE INORTH = - ITEMP * INSTMP ENDIF ENDIF C IF (MOD (ISOUTH, INSTMP) .NE. 0) THEN C ITEMP = ABS (ISOUTH) / INSTMP C IF (ISOUTH .LT. 0) THEN ISOUTH = - (ITEMP + 1) * INSTMP IF (ISOUTH .LT. - JP90) ISOUTH = ISOUTH + INSTMP ELSE ISOUTH = ITEMP * INSTMP ENDIF ENDIF ENDIF C ENDIF C IF (NOGRID (JPWESTEP) .NE. IWEINC) THEN NOGRID (JPWESTEP) = IWEINC OCHNG = .TRUE. ENDIF C IF (NOGRID (JPNSSTEP) .NE. INSINC) THEN NOGRID (JPNSSTEP) = INSINC OCHNG = .TRUE. ENDIF C IF (KAREA (JPNORTH) .NE. INORTH) THEN KAREA (JPNORTH) = INORTH OCHNG = .TRUE. ENDIF C IF (KAREA (JPSOUTH) .NE. ISOUTH) THEN KAREA (JPSOUTH) = ISOUTH OCHNG = .TRUE. ENDIF C IF (IWEST .NE. KAREA (JPWEST) ) THEN KAREA (JPWEST) = IWEST OCHNG = .TRUE. ENDIF C IF (IEAST .NE. KAREA (JPEAST) ) THEN KAREA (JPEAST) = IEAST OCHNG = .TRUE. ENDIF C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Output field definition parameters.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Representation is ',NOREPR) CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Grid W-E is ', NOGRID(1)) CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Grid N-S is ', NOGRID(2)) CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Area North is ',KAREA(1)) CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Area West is ',KAREA(2)) CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Area South is ',KAREA(3)) CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Area East is ',KAREA(4)) C IF ( OCHNG ) THEN CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Output field change is TRUE.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IAOLDEF: Output field change is FALSE.',JPQUIET) ENDIF C ENDIF C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IAOLDEF: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/intwave2.F0000755000175000017500000003753312127406245022231 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTWAVE2(INGRIB,INLEN,OUTGRIB,OUTLEN) C C----> C**** INTWAVE2 C C Purpose C ------- C C Interpolate an ECMWF wave field wave field or a reduced C latitude-longitude field C C C Interface C --------- C C IRET = INTWAVE2(INGRIB,INLEN,OUTGRIB,OUTLEN) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C C C Output C ------ C C OUTGRIB - Output field (packed). C OUTLEN - Output field length (words). C C C Method C ------ C C Call interpolation routine; then repack into GRIB format. C C C Externals C --------- C C FIXAREA - Fixup area definition to correspond to grid definitions C GRIBEX - Decode/encode GRIB product. C JMEMHAN - Handles memory allocation. C JDEBUG - Checks environment to switch on/off debug C INTLOG - Log error message. C WAVEXX1 - Interpolate wave fields (except 2D spectra) C WV2DXXX - Interpolate wave 2D spectra fields C MKFRAME - Create a 'frame' from a rectangular field C MKBITMP - Apply a bitmap to a rectangular field C C C Author C ------ C C S.Curic ECMWF Jun 2009 C C C----< C IMPLICIT NONE C C Function arguments INTEGER INGRIB(*),OUTGRIB(*),INLEN,OUTLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "intf.h" #include "grfixed.h" #include "jparams.h" C C Parameters INTEGER JPROUTINE, JP2DSP, JP2DSPQ, JPMAXLT PARAMETER (JPROUTINE = 40200 ) PARAMETER (JP2DSP = 250 ) C ^---- parameter number for 2D wave spectra (whole) PARAMETER (JP2DSPQ = 251 ) C ^---- parameter number for 2D wave spectra (single) PARAMETER (JPMAXLT = 1801 ) C C Local variables C CHARACTER*1 HFUNC REAL ZMISS DATA ZMISS/-9999999.0/ INTEGER IWORD, IRET, ISIZE, NSPEC, LAT1, LOOP, IERR INTEGER KNUM, NUM_E_W, NUM_N_S, NFULLNS, NFULLEW REAL GRIDWE, GRIDNS, NORTH, SOUTH, WEST, EAST INTEGER NUMPTS DIMENSION NUMPTS(JPMAXLT) #ifdef POINTER_64 INTEGER*8 INEWAVE, IDISTNW, IZ2DSP, INEWIDX #endif REAL NEWAVE POINTER ( INEWAVE, NEWAVE ) DIMENSION NEWAVE( 1 ) REAL*4 DISTNEW POINTER ( IDISTNW, DISTNEW ) DIMENSION DISTNEW( 1 ) REAL Z2DSP POINTER ( IZ2DSP, Z2DSP ) DIMENSION Z2DSP( 1 ) INTEGER NEWIDX POINTER ( INEWIDX, NEWIDX ) DIMENSION NEWIDX( 1 ) REAL RNLAT, RSLAT, STEP INTEGER NUMTABL, NUMPROD LOGICAL LCOEFFS, L98WAVE, LFRAME, LBITMP LOGICAL LDEBUG INTEGER NPARAM INTEGER MISSLAT, KOLDNUM C C Externals INTEGER WAVEXX2, WV2DXX2, AREACHK, FIXAREA INTEGER NUMPTNS, NUMPTWE, JNORSGG, MKBITMP C C ------------------------------------------------------------------ C Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C INTWAVE2 = 0 C LCOEFFS = .FALSE. C C Check if debug option turned on CALL JDEBUG() LDEBUG = NDBG.GT.0 C C Allocate work array ZNFELDI if not already done. C IF( IZNJDCI.NE.1952999238 ) THEN CALL JMEMHAN( 19, IZNFLDI, JPEXPAND, 1, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_WARN,'INTWAVE2: ZNFELDI allocate fail',JPQUIET) INTWAVE2= IRET GOTO 900 ENDIF IZNJDCI = 1952999238 ENDIF C C Unpack GRIB message headers (using ZMISS as missing data value). C cs IWORD = INLEN IRET = 1 ISEC3(2) = NINT(ZMISS) ZSEC3(2) = ZMISS CALL GRIBEX (ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, X ZNFELDI,JPEXPAND,INGRIB,INLEN,IWORD,'D',IRET) IF(IRET.GT.0) THEN CALL INTLOG(JP_ERROR,'INTWAVE2: GRIBEX decoding failed.',JPQUIET) INTWAVE2 = JPROUTINE + 1 GOTO 900 ENDIF NPARAM = ISEC1(6) C C Check that the field can be handled C NUMTABL = ISEC1(2)*1000 + ISEC1(1) NUMPROD = NUMTABL*1000 + ISEC1(6) L98WAVE = (NUMTABL.EQ.98140).OR. X (NUMPROD.EQ.98131229).OR. X (NUMPROD.EQ.98131232).OR. X (NIREPR.EQ.26) IF( .NOT.L98WAVE ) THEN CALL INTLOG(JP_WARN,'INTWAVE2: Not an ECMWF wave field',JPQUIET) INTWAVE2 = JPROUTINE + 2 GOTO 900 ENDIF IF( ISEC2(1).NE.0 ) THEN CALL INTLOG(JP_WARN, X 'INTWAVE2: Not a lat/long field',JPQUIET) INTWAVE2 = JPROUTINE + 3 GOTO 900 ENDIF IF( (ISEC2(6).NE.128) .OR. (ISEC2(10).LT.10) ) THEN CALL INTLOG(JP_ERROR, X 'INTWAVE2: Cannot handle longitude increment',ISEC2(10)) INTWAVE2 = JPROUTINE + 4 GOTO 900 ENDIF C C ------------------------------------------------------------------ C Section 2. Sort out interpolation area. C ------------------------------------------------------------------ C 200 CONTINUE C NSPEC = 1 KNUM = ISEC2(3) C C Adjust (sub-)area limits to suit the grid C IRET = FIXAREA() IF ( IRET .NE. 0 ) THEN CALL INTLOG(JP_ERROR, 'INTWAVE2: FIXAREA failed.',JPQUIET) INTWAVE2 = JPROUTINE + 5 GOTO 900 ENDIF NORTH = FLOAT(NOAREA(1))/PPMULT WEST = FLOAT(NOAREA(2))/PPMULT SOUTH = FLOAT(NOAREA(3))/PPMULT EAST = FLOAT(NOAREA(4))/PPMULT C C Calculate the number of points E-W and N-S in new grid area C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN)) THEN GRIDWE = NOGAUSS GRIDNS = 0 ELSE IF( NOREPR.EQ.JPREDLL ) THEN GRIDWE = 360.0/NOLPTS((NOREDLL/2)+1) GRIDNS = FLOAT(NOGRID(2))/PPMULT ELSE GRIDWE = FLOAT(NOGRID(1))/PPMULT GRIDNS = FLOAT(NOGRID(2))/PPMULT ENDIF C IRET = AREACHK(GRIDWE,GRIDNS,NORTH,WEST,SOUTH,EAST) IF( IRET.NE.0 ) THEN INTWAVE2 = JPROUTINE + 6 GOTO 900 ENDIF NOAREA(1) = NINT(NORTH*PPMULT) NOAREA(2) = NINT(WEST*PPMULT) NOAREA(3) = NINT(SOUTH*PPMULT) NOAREA(4) = NINT(EAST*PPMULT) C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPGAUSSIAN)) THEN GRIDWE = 360.0/NOLPTS(NOGAUSS) NUM_E_W = NUMPTWE(WEST,EAST,GRIDWE) NFULLEW = NUMPTWE(0.0,360.0,GRIDWE) - 1 NUM_N_S = JNORSGG(SOUTH,ROGAUSS,NOGAUSS,1) - X JNORSGG(NORTH,ROGAUSS,NOGAUSS,0) + 1 NFULLNS = NOGAUSS*2 ELSE IF( NOREPR.EQ.JPREDLL ) THEN NUM_E_W = NUMPTWE(WEST,EAST,GRIDWE) NFULLEW = NUMPTWE(0.0,360.0,GRIDWE) - 1 NUM_N_S = NUMPTNS(NORTH,SOUTH,GRIDNS) NFULLNS = NOREDLL ELSE NUM_E_W = NUMPTWE(WEST,EAST,GRIDWE) NFULLEW = NUMPTWE(0.0,360.0,GRIDWE) - 1 NUM_N_S = NUMPTNS(NORTH,SOUTH,GRIDNS) NFULLNS = NUM_N_S ENDIF C C C-------------------------------------------------------------------- KNUM = NINS cs KNUM = ISEC2(3) IF( ISEC2(17).EQ.1 ) THEN C C Input field is a reduced latitude/longitude grid C C .. but it may be 'pseudo-gaussian' in layout C (ie global, symmetric about the equator but no latitude C at the equator) C IF( (ISEC2(4).NE.90000).AND.(MOD(ISEC2(3),2).EQ.0) ) THEN C DO LOOP = 1, ISEC2(3) NUMPTS(LOOP) = ISEC2(22+LOOP) ENDDO C ELSE C MISSLAT = (90000 - ISEC2(4))/ISEC2(10) DO LOOP = 1, MISSLAT NUMPTS(LOOP) = 0 ENDDO KOLDNUM = 1 + (90000 - ISEC2(7))/ISEC2(10) DO LOOP = 1, (KOLDNUM-MISSLAT) NUMPTS(LOOP+MISSLAT) = ISEC2(22+LOOP) ENDDO DO LOOP = (KOLDNUM+1), KNUM NUMPTS(LOOP) = 0 ENDDO ENDIF ENDIF C-------------------------------------------------------------------- C ------------------------------------------------------------------ C Section 3. Interpolate wave fields other than 2D spectra. C ------------------------------------------------------------------ C 300 CONTINUE C C Handle if not 2D spectra .. C IF( (ISEC1(6).NE.JP2DSP).AND.(ISEC1(6).NE.JP2DSPQ) ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'INTWAVE2: Interpolate wave flds other than 2D spectra',JPQUIET) ENDIF C C Get some scratch space for the interpolated field. C ISIZE = NFULLEW * NUM_N_S CALL JMEMHAN( 3, INEWAVE, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE2: Get work space fail.',JPQUIET) INTWAVE2 = JPROUTINE + 7 GOTO 900 ENDIF C ISIZE = NFULLEW * NFULLNS * 4 CALL JMEMHAN( 4, INEWIDX, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE2: Get work space fail.',JPQUIET) INTWAVE2 = JPROUTINE + 8 GOTO 900 ENDIF C ISIZE = NFULLEW * NFULLNS * 10 CALL JMEMHAN( 5, IDISTNW, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE2: Get work space fail.',JPQUIET) INTWAVE2 = JPROUTINE + 9 GOTO 900 ENDIF C Interpolate the field C IRET = WAVEXX2(NPARAM,KNUM,NUMPTS,NUM_N_S,GRIDNS,GRIDWE,ZNFELDI, X NEWAVE,NORTH,WEST,ZMISS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE2: Interpolation failed.',JPQUIET) INTWAVE2 = JPROUTINE + 10 GOTO 900 ENDIF C C ------------------------------------------------------------------ C Section 4. Interpolate wave 2D spectra field. C ------------------------------------------------------------------ C ELSE C 400 CONTINUE IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'INTWAVE2: Interpolate wave 2D spectra field',JPQUIET) ENDIF C C Find number of 2D spectra values at each point C IF( ISEC4(8).NE.0 ) LCOEFFS = .TRUE. IF( (ISEC4(8).NE.0).AND.(ISEC1(6).NE.JP2DSPQ) ) THEN NSPEC = ISEC4(50) * ISEC4(51) NIMATR = 1 ELSE NSPEC = 1 NIMATR = 0 ENDIF C C Get some scratch space for the interpolated field. C ISIZE = NSPEC * NFULLEW * NUM_N_S CALL JMEMHAN( 3, INEWAVE, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE2: Get work space fail.',JPQUIET) INTWAVE2 = JPROUTINE + 11 GOTO 900 ENDIF C ISIZE = NFULLEW * NFULLNS CALL JMEMHAN( 4, INEWIDX, ISIZE, 1, IRET) IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE2: Get work space fail.',JPQUIET) INTWAVE2 = JPROUTINE + 12 GOTO 900 ENDIF C C Interpolate the field C IRET = WV2DXX2(NIMATR,KNUM,NUMPTS,NUM_N_S,GRIDNS,GRIDWE,ZNFELDI, X NEWAVE,NORTH,WEST,ZMISS) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE2: Interpolation failed.',JPQUIET) INTWAVE2 = JPROUTINE + 13 GOTO 900 ENDIF C ENDIF C C ------------------------------------------------------------------ C Section 5. Pack the interpolated field into GRIB. C ------------------------------------------------------------------ C 500 CONTINUE C If a 'bitmap' has been specified, build the bitmap C LBITMP = LNOBITMP.AND. X ((NOREPR.EQ.JPREGROT).OR.(NOREPR.EQ.JPREGULAR).OR. X (NOREPR.EQ.JPGAUSSIAN)) IF( LBITMP ) THEN CALL INTLOG(JP_DEBUG,'INTWAVE2: MKBITMP is enabled',JPQUIET) IERR = MKBITMP(NUM_E_W,NUM_N_S,NEWAVE,ZMISS) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTFB: Problem applying bitmap',JPQUIET) GOTO 900 ENDIF ENDIF C If a 'frame' has been specified, build the frame C LFRAME = LNOFRAME.AND. X ((NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPREGROT ).OR.(NOREPR.EQ.JPFGGROT ) ) CALL INTLOG(JP_DEBUG,'INTWAVE2: NUM_E_W ',NUM_E_W) CALL INTLOG(JP_DEBUG,'INTWAVE2: NUM_N_S ',NUM_N_S) IF( LFRAME ) THEN CALL INTLOG(JP_DEBUG,'INTWAVE2: MKFRAME is enabled',JPQUIET) CALL INTLOG(JP_DEBUG,'INTWAVE2: NOFRAME ',NOFRAME) CALL MKFRAME(NUM_E_W,NUM_N_S,NEWAVE,ZMISS,NOFRAME) ENDIF C C GRIB sections 2 and 3 (bitmap) included C ISEC1(5) = 192 C IF( (NOREPR.EQ.JPQUASI) .OR. (NOREPR.EQ.JPREDLL) ) THEN C C Reduced gaussian or reduced lat/long with (possible) subarea C IF( NOREPR.EQ.JPQUASI ) THEN ISEC2(1) = JPGAUSSIAN ISEC2(10)= NOGAUSS ELSE ISEC2(1) = JPREGULAR ISEC2(10)= NINT(GRIDNS*1000.0) ENDIF ISEC2(2) = 255 ISEC2(3) = NUM_N_S ISEC2(5) = NINT(WEST*1000.0) ISEC2(6) = 0 ISEC2(8) = NINT(EAST*1000.0) ISEC2(17)= 1 ISEC4(1) = 0 C LAT1 = 0 510 CONTINUE LAT1 = LAT1 + 1 IF( NOREPR.EQ.JPQUASI ) THEN RNLAT = ROGAUSS(LAT1) RSLAT = ROGAUSS(LAT1+NUM_N_S-1) ELSE RNLAT = 90.0 - (LAT1-1)*GRIDNS RSLAT = 90.0 - (LAT1+NUM_N_S-2)*GRIDNS ENDIF IF( RNLAT.GT.NORTH ) GOTO 510 C ISEC2(4) = NINT(RNLAT*1000.0) ISEC2(7) = NINT(RSLAT*1000.0) C DO LOOP = LAT1, (NUM_N_S+LAT1-1) ISEC2(23+LOOP-LAT1) = NOLPTS(LOOP) ISEC4(1) = ISEC4(1) + ISEC2(23+LOOP-LAT1) ENDDO C ELSE C C Regular gaussian or lat/long with (possible) subarea C IF( NOREPR.EQ.JPGAUSSIAN ) THEN ISEC2(1) = JPGAUSSIAN ELSE ISEC2(1) = JPREGULAR ENDIF ISEC2(2) = NUM_E_W ISEC2(3) = NUM_N_S ISEC2(4) = NINT(NORTH*1000.0) ISEC2(5) = NINT(WEST*1000.0) ISEC2(6) = 128 ISEC2(7) = NINT(SOUTH*1000.0) ISEC2(8) = NINT(EAST*1000.0) ISEC2(9) = NINT(GRIDWE*1000.0) IF( NOREPR.EQ.JPGAUSSIAN ) THEN ISEC2(10) = NOGAUSS ELSE ISEC2(10) = NINT(GRIDNS*1000.0) ENDIF ISEC2(17)= 0 ISEC4(1) = NUM_E_W * NUM_N_S ENDIF C C ISEC3(2) = NINT(ZMISS) ZSEC3(2) = ZMISS C ISEC4(1) = ISEC4(1) * NSPEC ISEC4(2) = NOACC IF( LCOEFFS ) ISEC4(6) = 16 C `-----> wave fields have additional flags for C NC1 and NC2 coefficients (floats stored C in integer array isec4) IRET = 1 C C If grid-point output, setup for 2nd order packing if requested. C IF( (NOREPR.NE.JPSPHERE) .AND. (NOREPR.NE.JPSPHROT) ) THEN HFUNC = 'C' IF( NOHFUNC.EQ.'K' ) THEN HFUNC = 'K' ISEC4(4) = 64 ISEC4(6) = 16 ISEC4(9) = 32 ISEC4(10) = 16 ISEC4(12) = 8 ISEC4(13) = 4 ISEC4(14) = 0 ISEC4(15) = -1 ELSE ISEC4(4) = 0 ENDIF ELSE HFUNC = 'C' IF( NOHFUNC.EQ.'C' ) THEN ISEC2(6) = 2 ISEC4(4) = 64 ELSE IF( NOHFUNC.EQ.'S' ) THEN ISEC2(6) = 1 ISEC4(4) = 0 ENDIF ENDIF C CALL GRIBEX (ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, X NEWAVE,ISEC4(1),OUTGRIB,OUTLEN,IWORD,HFUNC,IRET) C IF ( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'INTWAVE2: GRIBEX encoding failed.',IRET) INTWAVE2 = JPROUTINE + 14 GOTO 900 ENDIF OUTLEN = IWORD C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C C Clear change flags for next product processing C LCHANGE = .FALSE. LSMCHNG = .FALSE. C RETURN END emoslib-000392+dfsg.1/interpolation/intisl.h0000755000175000017500000000127312127406245022026 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C #ifndef INTISL_H #define INTISL_H #define MISSING (-999.0) #define NJ 3 #define NPOINTS 23 #define NGAUSS 10 #define SEA 0 #define LAND 1 #define MASTERTHRESHOLD 0.5 #define OLDLSMTHRESHOLD 0.5 #define NWEST 1 #define NEAST 2 #define SWEST 3 #define SEAST 4 #define NORTH 1 #define SOUTH 2 #endif emoslib-000392+dfsg.1/interpolation/itimer.c0000755000175000017500000000655112127406245022014 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* **************************************************************** ** Name: *func.c* ** ---- ** Products Generation c functions used by Fortran. ** ** D. Jokic, ECMWF, Oct-2009. ** ** Modifications: - ** ** Initial AIX version Oct-2009. ** ****************************************************************/ #include #include #include #include #include #include #include #include #include #include #include # define cstr2fort(a) a # define _fcd char * # define _fcdtocp(a) a # define _fcdlen(a) strlen(a) # define ITIMER itimer_ # define FTIMER ftimer_ # define RUSAGE rusage_ /* ================================================================ * Name: *ITIMER* * ---- * - double ftimer_(double *time) * Real*8 FTIMER,time in F90 * double timer = 0.0; timer=FTIMER(&timer); ... timer=FTIMER(&timer); ** ===============================================================*/ double FTIMER(double *time) { double diff; struct timeval now; gettimeofday( &now, NULL ); diff = (double)now.tv_sec + ((double)now.tv_usec / 1000000.); /* printf("%g %g\n",*time,diff); */ if (*time != 0.0) diff -= *time; /* { time_t tv_sec; * seconds * suseconds_t tv_usec; * microseconds * tv_usec = (*time%1)*1000000.; tv_sec = (time_t) ((long)(*time/1)) tv_sec -= now.tv_sec; tv_usec -= now.tv_usec; if (tv_usec < 0) { tv_sec--; tv_usec += 1000000; } diff = (double)tv_sec + ((double)tv_usec / 1000000.); } */ return diff; } int ITIMER(int *seconds) { time_t timval1; time(&timval1); if (*seconds == 0) return (int)timval1; return (int)(timval1 - (time_t)*seconds); } int RUSAGE() { struct rusage usage; int who = RUSAGE_SELF; int istat; if (getrusage(who, &usage) != 0) return 1; printf("RUSAGE user time used %d\n",usage.ru_utime.tv_sec); printf("RUSAGE system time used %d\n",usage.ru_stime.tv_sec); printf("RUSAGE maximum resident set size %d\n",usage.ru_maxrss); printf("RUSAGE integral shared memory size %d\n",usage.ru_ixrss); printf("RUSAGE integral unshared data size %d\n",usage.ru_idrss); printf("RUSAGE integral unshared stack size %d\n",usage.ru_isrss); printf("RUSAGE page reclaims %d\n",usage.ru_minflt); printf("RUSAGE page faults %d\n",usage.ru_majflt); printf("RUSAGE swaps %d\n",usage.ru_nswap); printf("RUSAGE block input operations %d\n",usage.ru_inblock); printf("RUSAGE block output operations %d\n",usage.ru_oublock); printf("RUSAGE messages sent %d\n",usage.ru_msgsnd); printf("RUSAGE messages received %d\n",usage.ru_msgrcv); printf("RUSAGE signals received %d\n",usage.ru_nsignals); printf("RUSAGE voluntary context switches %d\n",usage.ru_nvcsw); printf("RUSAGE involuntary context switches %d\n",usage.ru_nivcsw); return 0; } emoslib-000392+dfsg.1/interpolation/iainit.F0000755000175000017500000001203112127406245021731 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IAINIT (KPR, KERR) C C----> C**** *IAINIT* C C PURPOSE C _______ C C Initialise common decks for grid-pt to grid-pt interpolation. C C INTERFACE C _________ C C IERR = IAINIT (KPR, KERR) C C Input parameters C ________________ C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C None C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C grfixed.h - The include file contains all the array space C for grid to grid interpolation. C C MILLEN - The array of latitude line lengths for a quasi C regular Gaussian grid is set. C C memreq.h - This file contains the memory request C definition variables. C C MADDR - The base addresses of the currently allocated C memory segments are set. C MREQUEST - The sizes of the current memory requests are set. C C C EXTERNALS C _________ C C INTLOG - Logs messages. C C METHOD C ______ C C Initialise common decks for grid-pt to grid-pt interpolation: C - memory access arrays, C - quasi regular definition. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C None. C C AUTHOR C ______ C C K. Fielding *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Aug 1994 C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "memreq.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Dummy arguments C INTEGER KPR, KERR C C Local variables C INTEGER JSET C INTEGER JPROUTINE C PARAMETER (JPROUTINE = 21100) C C External functions C C Transform definition variables that must be preserved C C C _______________________________________________________ C C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IAINIT: Section 1.',JPQUIET) C IAINIT = 0 C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG, X 'IAINIT : Grid-pt to grid-pt common decks initialised',JPQUIET) C C _______________________________________________________ C C C* Section 2. Initialise memory access arrays. C _______________________________________________________ C 200 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IAINIT: Section 2.',JPQUIET) C DO 210 JSET = 1, JPLEVEL MREQUEST (JSET) = 0 MADDR (JSET) = 0 210 CONTINUE C C _______________________________________________________ C C C* Section 3. Initialise quasi regular definition C _______________________________________________________ C 300 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IAINIT: Section 3.',JPQUIET) C DO 310 JSET = 1, JPLAT MILLEN (JSET) = 0 310 CONTINUE C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IAINIT: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/igpoleg.F0000755000175000017500000001114512127406245022107 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGPOLEG(PIFELD, KIWE, POFELD, KOWE, KPR, KERR) C C----> C**** *IGPOLEG* C C Purpose C ------- C C Calculate the values at the pole of a regular C latitude/longitude field when the input is a Gaussian field. C C This routine is used for any field except a wind field. C C Interface C --------- C C IERR = IGPOLEG(PIFELD, KIWE, POFELD, KOWE, KPR, KERR) C C Input parameters C ---------------- C C PIFELD - A "polar" row of the input field provided by the C calling routine. C C KIWE - The number of points in the West-East direction in C the input field. C C KOWE - The number of points in the West-East direction in C the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ----------------- C C POFELD - The corresponding "polar" row of the output field C returned to the calling routine. C C Return value C ------------ C C The error indicator (INTEGER). C C C Common block usage C ------------------ C C None C C Externals C --------- C C INTLOG(R) - Logs messages. C C Method C ------ C C A Gaussian field does not have a line of latitude at the pole C so this routine forces all the values on the polar line of C latitude to the average of the values at the nearest Gaussian C line in the input field. C C This method was originally implemented by C C K. RIDER * ECMWF * OCTOBER 1991. C C Reference C --------- C C None C C Comments C -------- C C Program contains sections 0 to 2 and 9 C C Author C ------ C C K. Fielding *ECMWF* Oct 1993 C C Modifications C ------------- C C Allow for missing data values C J.D.Chambers ECMWF August 2000 C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" C C Function arguments C INTEGER KIWE, KOWE, KPR, KERR REAL PIFELD(KIWE), POFELD(KOWE) C C Local variables C INTEGER JILON, JOLON, COUNT REAL ZSUM C C Statement function C REAL A, B LOGICAL NOTEQ NOTEQ(A,B) = (ABS((A)-(B)).GT.(ABS(A)*1E-3)) C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGPOLEG: Section 1.',JPQUIET) C IGPOLEG = 0 C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGPOLEG: No. of input fld longs. = ',KIWE) CALL INTLOG(JP_DEBUG,'IGPOLEG: No.of output fld longs. = ',KOWE) ENDIF C C -----------------------------------------------------------------| C* Section 2. Use average value for non-winds C -----------------------------------------------------------------| C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGPOLEG: Section 2.',JPQUIET) C ZSUM = PPZERO COUNT = 0 C IF( LIMISSV ) THEN DO JILON = 1, KIWE IF( NOTEQ(PIFELD(JILON),RMISSGV) ) THEN ZSUM = ZSUM + PIFELD(JILON) COUNT = COUNT + 1 ENDIF ENDDO ELSE DO JILON = 1, KIWE ZSUM = ZSUM + PIFELD(JILON) COUNT = COUNT + 1 ENDDO ENDIF C IF( COUNT.GT.0 ) THEN ZSUM = ZSUM / REAL(COUNT) ELSE ZSUM = RMISSGV ENDIF C DO JOLON = 1, KOWE POFELD(JOLON) = ZSUM ENDDO C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGPOLEG: Section 9.',JPQUIET) C C RETURN END emoslib-000392+dfsg.1/interpolation/wv2didx.F0000755000175000017500000002604712127406245022057 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WV2DIDX(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, X KNEWNUM,NUMNEW,NEWLATS,NEWWAVE) C C----> C*****WV2DIDX* C C PURPOSE C ------- C C Determines which nearest-neighbour values of an input global wave C 2D-spectra grid field to use for an output global wave 2D-spectra C grid field. C C C INTERFACE C --------- C C IRET = WV2DIDX(KOLDNUM,NUMOLD,OLDLATS,OLDWEST,OLDEAST, C X KNEWNUM,NUMNEW,NEWLATS,NEWWAVE) C C Input arguments C --------------- C C KOLDNUM - No. of meridians from North to South pole (input field) C NUMOLD - Array giving number of points along each latitude C (empty latitudes have entry 0) C OLDLATS - input field latitudes C OLDWEST - western longitude of the input field (degrees) C OLDEAST - eastern longitude of the input field (degrees) C C KNEWNUM - No. of meridians from North to South pole (output field) C NUMNEW - Array giving number of points along each latitude C (empty latitudes have entry 0) C NEWLATS - output field latitudes C C Output arguments C ---------------- C C NEWWAVE - Indices of points to use C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C The index of the nearest neighbouring grid point value of C the input field is assigned to each point of the output C grid. C The index is zero if the output grid point is 'missing'. C C The input field can be regular or quasi-regular, and can be C global or a subarea. C The output field can be regular or quasi-regular. C C C EXTERNALS C --------- C C INTLOG - Log error message. C C C REFERENCE C --------- C C None C C C Author. C ------- C C J.D.Chambers ECMWF October 1997 C C C----< C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19410 ) INTEGER JPLLMAX PARAMETER ( JPLLMAX = 1801 ) C `--> allow upto 0.1 degree resolution INTEGER JPNMOUT PARAMETER ( JPNMOUT = 1800 ) C `--> allow upto 0.1 degree resolution C C Function arguments C INTEGER KOLDNUM, NUMOLD, KNEWNUM, NUMNEW DIMENSION NUMOLD(*), NUMNEW(*) REAL OLDWEST, OLDEAST, OLDLATS, NEWLATS DIMENSION OLDLATS(*), NEWLATS(*) INTEGER NEWWAVE DIMENSION NEWWAVE(*) C C Local arguments C INTEGER K, NEWCOL, NEWROW, INCOL, LOOP, NEXT, NUMMAX INTEGER I_NW, I_SW, I_N, I_S, I_NE, I_SE REAL*8 DELONGN, DELONGS, DIFF, RESOL, DINC, DEPS REAL*8 DIST_NW, DIST_SW, DIST_NE, DIST_SE, DIST_N, DIST_S REAL*4 DISNW, DISNE, DISSW, DISSE REAL*8 ZXIN, ZXIS, LON, LAT, OWEST, OEAST DIMENSION LON(JPNMOUT*2) LOGICAL LINGNS, LINGWE INTEGER INDEXI DIMENSION INDEXI(JPLLMAX) LOGICAL LGLOBAL, LFULLG, LGWRAP DATA DEPS/0.00005/ C C --------------------------------------------------------------------- C* Section 1. Initalisation. C --------------------------------------------------------------------- C 100 CONTINUE C WV2DIDX = 0 CALL INTLOG(JP_DEBUG, X 'WV2DIDX: Wave interpolation requested.',JPQUIET) C C Check latitude/longitude grid specification IF( KOLDNUM.GT.JPLLMAX ) THEN CALL INTLOG(JP_ERROR, X 'WV2DIDX: Number of latitudes in input grid = ',KOLDNUM) CALL INTLOG(JP_ERROR, X 'WV2DIDX: And is greater than allowed maximum = ',JPLLMAX) WV2DIDX = JPROUTINE + 1 GOTO 900 ENDIF C C Set up INDEXI for latitude lines in input lat/lon array C INDEXI(1) = 0 DO LOOP = 2, KOLDNUM INDEXI(LOOP) = INDEXI(LOOP-1) + NUMOLD(LOOP-1) ENDDO C OEAST = OLDEAST OWEST = OLDWEST C Check whether the input field is global or a subarea C NUMMAX = NUMOLD(1) DO LOOP = 2, KOLDNUM IF( NUMOLD(LOOP).GT.NUMMAX ) NUMMAX = NUMOLD(LOOP) ENDDO IF( NUMMAX.LE.0 ) THEN CALL INTLOG(JP_ERROR, X 'WV2DIDX: Input wave field has no points',JPQUIET) WV2DIDX = JPROUTINE + 2 GOTO 900 ENDIF C LGWRAP = ABS((OEAST-OWEST) - DBLE(360.0)).LT.DEPS DINC = 360.0/DBLE(NUMMAX) LFULLG = ABS((DMOD((OEAST-OWEST+DBLE(360.0)),DBLE(360.0)) X +DINC)-DBLE(360.0)).LT.DEPS C LGLOBAL = LFULLG.OR.LGWRAP C C --------------------------------------------------------------------- C* Section 2. Interpolation. C --------------------------------------------------------------------- C 200 CONTINUE C NEXT = 1 C DO 220 NEWROW = 1, KNEWNUM C C Find old latitude rows to north and south of new latitude and C set up the distance between new row and the old rows to N and S. C DO LOOP = 1, KOLDNUM -1 IF( (NEWLATS(NEWROW).LE.OLDLATS(LOOP)) .AND. X (NEWLATS(NEWROW).GT.OLDLATS(LOOP+1)) ) THEN I_N = LOOP I_S = MIN(LOOP+1,KOLDNUM) GOTO 205 ENDIF ENDDO C IF( NEWLATS(NEWROW).EQ.OLDLATS(KOLDNUM) ) THEN I_N = KOLDNUM I_S = KOLDNUM ELSE I_N = -1 I_S = -1 ENDIF C 205 CONTINUE IF( I_N.NE.I_S) THEN DIFF = OLDLATS(I_N) - OLDLATS(I_S) DIST_N = (OLDLATS(I_N) - NEWLATS(NEWROW)) / DIFF ELSE DIST_N = 1.0 ENDIF DIST_S = 1.0 - DIST_N C C Check if the new interpolated row lies between 2 old rows which C have data points C LINGNS = .FALSE. IF( I_N.GT.0 ) THEN IF( (NUMOLD(I_N).GT.0).AND.(NUMOLD(I_S).GT.0) ) THEN C C Yes, so set up the grid increments. C C C Note that the grid increments are different depending on C whether or not the grid is global; global grids have an C extra interval at the end (eg between 358.5 and 0.0), while C subareas have outer limits defined by 'west' and 'east' and C a given number of points in between. C IF( LGLOBAL ) THEN DELONGN = 360.0/DBLE(NUMOLD(I_N)) DELONGS = 360.0/DBLE(NUMOLD(I_S)) ELSE DINC = DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0))/ X DBLE(NUMOLD(I_N)) DELONGN = (DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X +DINC) / DBLE(NUMOLD(I_N)) DINC = DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0))/ X DBLE(NUMOLD(I_S)) DELONGS = (DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X +DINC) / DBLE(NUMOLD(I_S)) ENDIF c LINGNS = .TRUE. ENDIF C C The equator is given special treatment so that the northern C and southern hemispheres for the parameter 250 can (later) C be stitched together. C C If the input field finishs at the equator and the output C field has a line at the equator, use the input equator for C interpolation. C IF( NEWLATS(NEWROW).EQ.0.0 .AND. x ((NUMOLD(I_N).GT.0).AND.(NUMOLD(I_S).EQ.0)) ) THEN C C Yes, so set up the grid increments. C IF( LGLOBAL ) THEN DELONGN = 360.0/DBLE(NUMOLD(I_N)) ELSE DINC = DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0))/ X DBLE(NUMOLD(I_N)) DELONGN = (DMOD((OEAST-OWEST+DBLE(360.0)), DBLE(360.0)) X +DINC) / DBLE(NUMOLD(I_N)) ENDIF DELONGS = DELONGN DIST_N = 0.0 DIST_S = 1.0 I_S = I_N LINGNS = .TRUE. ENDIF ENDIF C C Setup longitudes for the current row C INCOL = NUMNEW(NEWROW) IF( INCOL.NE.0 ) THEN RESOL = 360.0/DBLE(INCOL) DO LOOP = 1, INCOL LON(LOOP) = DBLE(LOOP-1)*RESOL ENDDO C DO 210 NEWCOL = 1, INCOL C LINGWE = (LON(NEWCOL).GT.OWEST).OR.(LON(NEWCOL).LT.OEAST) C IF( LINGNS .AND. LINGWE ) THEN C C If point to be interpolated is inside the input field , C work out distances from new point to four neighbours. C ZXIN = DMOD( (LON(NEWCOL) + (360.0-OWEST) + DBLE(720.0)), X DBLE(360.0)) cs ZXIN = LON(NEWCOL) ZXIS = ZXIN ZXIN = ZXIN/DELONGN + 1.0 ZXIS = ZXIS/DELONGS + 1.0 I_NW = INT(ZXIN) I_NE = I_NW + 1 I_SW = INT(ZXIS) I_SE = I_SW + 1 C C Allow wrap-around C C I_NW = MOD(I_NW,NUMOLD(I_N)) I_NE = MOD(I_NE,NUMOLD(I_N)) I_SW = MOD(I_SW,NUMOLD(I_S)) I_SE = MOD(I_SE,NUMOLD(I_S)) IF( I_NW.EQ.0 ) I_NW = NUMOLD(I_N) IF( I_SW.EQ.0 ) I_SW = NUMOLD(I_S) IF( I_NE.EQ.0 ) I_NE = NUMOLD(I_N) IF( I_SE.EQ.0 ) I_SE = NUMOLD(I_S) C C Calculate distance from interpolated point to its neighbours C DIST_NW = ZXIN - REAL(I_NW) DIST_NE = 1.0 - DIST_NW DIST_SW = ZXIS - REAL(I_SW) DIST_SE = 1.0 - DIST_SW C C Take nearest grid point value. C DISNW = DIST_NW*DIST_NW + DIST_N*DIST_N DISNE = DIST_NE*DIST_NE + DIST_N*DIST_N DISSW = DIST_SW*DIST_SW + DIST_S*DIST_S DISSE = DIST_SE*DIST_SE + DIST_S*DIST_S C IF( (DISNW.LE.DISNE).AND.(DISNW.LE.DISSW).AND. X (DISNW.LE.DISSE) ) THEN C C Use north-west neighbour C NEWWAVE(NEXT) = INDEXI(I_N)+I_NW C ELSE IF( (DISNE.LE.DISSW).AND.(DISNE.LE.DISSE) ) THEN C C Use north-east neighbour C NEWWAVE(NEXT) = INDEXI(I_N)+I_NE C ELSE IF( DISSW.LE.DISSE ) THEN C C Use south-west neighbour C NEWWAVE(NEXT) = INDEXI(I_S)+I_SW ELSE C C Use south-east neighbour C NEWWAVE(NEXT) = INDEXI(I_S)+I_SE ENDIF C C If the point to be interpolated is outside the input field, C set it to 'land'. C ELSE NEWWAVE(NEXT) = 0 ENDIF C NEXT = NEXT + 1 C 210 CONTINUE C ENDIF C 220 CONTINUE C C --------------------------------------------------------------------- C* Section 9. Closedown. C --------------------------------------------------------------------- C 900 CONTINUE C IF( WV2DIDX.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, 'WV2DIDX: successful.',JPQUIET) ELSE CALL INTLOG(JP_ERROR, 'WV2DIDX: failed.',JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/irlsmb.F0000755000175000017500000003555312127406245021762 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IRLSMB (OISTAND, HIFILE, KIREC, KIGRID, KILINE, X OOSTAND, HOFILE, KOREC, KOGRID, KOLINE, KPR, KERR) C C----> C**** *IRLSMB* C C Purpose C ------- C C Calculate the effects of the land-sea masks on the unnormalised C interpolation weights for a quasi regular input field and a C regular output field. C C C Interface C --------- C C IERR = IRLSMB (OISTAND, HIFILE, KIREC, KIGRID, KILINE, C X OOSTAND, HOFILE, KOREC, KOGRID, KOLINE, KPR, KERR) C C C Input parameters C ---------------- C C OISTAND - Flag indicating whether the input land-sea mask C is a pre-stored "standard" field. C C HIFILE - The filename for the input land-sea mask. C C KIREC - The length of one latitude record in the input file. C C KIGRID - An array of length 2 giving the row and column C strides in a pre-stored land sea mask file for the C input grid. C C KILINE - An array of length 2 giving the offsets of the C Northern and Western starting points in a C pre-stored land sea mask file for the input grid. C C OOSTAND - Flag indicating whether the output land-sea mask C is a prestored "standard" field. C C HOFILE - The filename for the output land-sea mask. C C KOREC - The length of one latitude record in the output file. C C KOGRID - An array of length 2 giving the row and column C strides in a pre-stored land sea mask file for the C output grid. C C KOLINE - An array of length 2 giving the offsets of the C Northern and Western starting points in a C pre-stored land sea mask file for the output grid. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C C Output parameters C ----------------- C C The common variable WFACT is modified by this routine. C C An error indicator C C 23401 An error exit was returned from the I/O routine PBOPEN. C 23402 An error exit was returned from the I/O routine PBCLOSE. C C C Common block usage C ------------------ C C nifld.common - This file contains all the input field C definition variables. C C NINS - Number of grid points in NS direction for input C field (used in grspace.h). C NIWE - Number of grid points in WE direction for input C field (used in grspace.h). C C nofld.common - This file contains all the output field C definition variables. C C NONS - Number of grid points in NS direction for output C field is used. C NOWE - Number of grid points in WE direction for output C field is used. C C grspace.h - This file contains all the work space array C definitions for grid point to grid point C interpolation. C C MEXPAND - Array used to expand one latitude line of the C 10 minute land sea mask file to have one word C per bit for improved efficiency. C MILLEN - Array containing a quasi regular line length C definition. C MWORK - Array used to read one latitude line of a C standard land sea mask file. C C MILATG - The input field latitudes. C MILONG - The input field longitudes. C MILSM - Work array used in calculating the effects of C the land sea mask on interpolation. C MISTRT - The array offsets of the start of each latitude C line for a quasi regular Gaussian input field. C MNSIND - The latitude line numbers (array offset) of the C input field associated with each line of C latitude in the output field. C MOLATG - The output field latitudes. C MOLONG - The output field longitudes. C MOLSM - Work array used in calculating the effects of C the land sea mask on interpolation. C MWEIND - This array holds the longitude points (array C offset) from the input field associated with C each longitude point in the output field. C WFACT - The interpolation weights for each point in the C output field. C C C Externals C --------- C C IGLSM01 - Read and process one latitude row from the 10 C minute land sea mask. C IGLSMR - Calculate the effects of the land-sea masks for C one line of latitude on the unnormalised C interpolation weights. C IGLSMST - Read and process one line of latitude from a C standard land sea mask file. C PBCLOSE - Close a land sea mask file after processing. C PBOPEN - Open a land sea mask file for processing. C INTLOG(R) - Log messages. C JINDEX - Returns length of character string C C C Method C ------ C C All the land sea mask data is in (0-1) form. If a point in the C input field has a different land sea mask value from the C corresponding point in the output field then its interpolating C weight is multiplied by a scaling factor. This scaling factor C is currently 0.2 so that the effect of such points in the final C interpolation is reduced. C C The land-sea mask files are kept open between calls to this C routine. C C C Reference C --------- C C None C C C Comments C -------- C C None C C C Author C ------ C K. Fielding *ECMWF* Nov 1993 C C Modifications C ------------- C C J.D.Chambers ECMWF Oct 1996 C Reduced number of parameters in call to IGLSMST and IGLSM01 C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C Function arguments C LOGICAL OISTAND, OOSTAND CHARACTER *(*) HIFILE, HOFILE INTEGER KIREC, KOREC, KPR, KERR INTEGER KIGRID (2), KILINE (2), KOGRID (2), KOLINE (2) C C Local variables C INTEGER IIUNIT, IOUNIT, IIFILE, IOFILE INTEGER ILATN, ILATS, ILINEN, ILINES, ISTRIDEN, ISTRIDES INTEGER IOSTRIDE, INDEXN, INDEXS, IZERO, IOFF, IPR, IERR INTEGER JLON, JOLAT CHARACTER*80 XHIFILE, XHOFILE CHARACTER*2 NEWFILE, MSKFILE INTEGER XIIUNIT, XIOUNIT, II DATA XIIUNIT/0/ DATA XIOUNIT/0/ SAVE XHIFILE, XHOFILE, XIIUNIT, XIOUNIT C C Multiplication factor for unlike land-sea masks C REAL PPLSM PARAMETER (PPLSM = 0.2E0) C INTEGER JPROUTINE PARAMETER (JPROUTINE = 23400) C C External functions C INTEGER IGLSMR, IGLSMST, IGLSM01, JINDEX C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRLSMB: Section 1.',JPQUIET) C IRLSMB = 0 C IIFILE = JINDEX(HIFILE) IOFILE = JINDEX(HOFILE) C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IRLSMB: Input field parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IRLSMB: LSM filename is.',JPQUIET) CALL INTLOG(JP_DEBUG, HIFILE(1:IIFILE), JPQUIET) IF( OISTAND ) THEN CALL INTLOG(JP_DEBUG,'IRLSMB: Standard fld: TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IRLSMB: Standard fld: FALSE',JPQUIET) ENDIF CALL INTLOG(JP_DEBUG,'IRLSMB: LSM file rec len = ',KIREC) CALL INTLOG(JP_DEBUG,'IRLSMB: Grid stride WE = ',KIGRID(1)) CALL INTLOG(JP_DEBUG,'IRLSMB: Grid stride NS = ',KIGRID(2)) CALL INTLOG(JP_DEBUG,'IRLSMB: Grid start N = ',KILINE(1)) CALL INTLOG(JP_DEBUG,'IRLSMB: Grid start W = ',KILINE(2)) C CALL INTLOG(JP_DEBUG,'IRLSMB: Output field parameters.',JPQUIET) CALL INTLOG(JP_DEBUG, HOFILE(1:IOFILE),JPQUIET) IF( OOSTAND ) THEN CALL INTLOG(JP_DEBUG,'IRLSMB: Standard fld: TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IRLSMB: Standard fld: FALSE',JPQUIET) ENDIF CALL INTLOG(JP_DEBUG,'IRLSMB: LSM file rec len = ',KOREC) CALL INTLOG(JP_DEBUG,'IRLSMB: Grid stride WE = ',KOGRID(1)) CALL INTLOG(JP_DEBUG,'IRLSMB: Grid stride NS = ',KOGRID(2)) CALL INTLOG(JP_DEBUG,'IRLSMB: Grid start N = ',KOLINE(1)) CALL INTLOG(JP_DEBUG,'IRLSMB: Grid start W = ',KOLINE(2)) ENDIF C IF( MOLONG(2).GE.MOLONG(1) ) THEN IOSTRIDE = MOLONG(2) - MOLONG(1) ELSE IOSTRIDE = MOLONG(2) + JP360 - MOLONG(1) ENDIF C C -----------------------------------------------------------------| C* Section 2. Open files for input and output land sea masks C -----------------------------------------------------------------| C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRLSMB: Section 2.',JPQUIET) C C See if first time through or input land sea mask filename has C changed since last access C II = JINDEX(HIFILE) IF( XHIFILE(1:II).NE.HIFILE(1:II) ) THEN C C Open input land sea mask file C IF(XIIUNIT.NE.0) CALL PBCLOSE(XIIUNIT,IERR) CALL PBOPEN(IIUNIT, HIFILE, 'r', IERR) IF( IERR.NE.0 ) THEN IRLSMB = JPROUTINE + 1 C IF( KERR.GE.0 ) THEN CALL INTLOG(JP_ERROR,'IRLSMB: PBOPEN return code = ',IERR) CALL INTLOG(JP_ERROR,'IRLSMB: trying to open file',JPQUIET) CALL INTLOG(JP_ERROR, HIFILE(1:IIFILE),JPQUIET) ENDIF C IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IRLSMB: Interpolation failed.',JPQUIET) GOTO 900 ENDIF XIIUNIT = IIUNIT XHIFILE(1:II) = HIFILE(1:II) NEWFILE(1:1) = 'Y' C C Just rewind if same file still in use C ELSE IIUNIT = XIIUNIT NEWFILE(1:1) = 'N' ENDIF C C See if first time through or output land sea mask filename has C changed since last access C II = JINDEX(HOFILE) IF( XHOFILE(1:II).NE.HOFILE(1:II) ) THEN C C Open output land sea mask file C IF(XIOUNIT.NE.0) CALL PBCLOSE(XIOUNIT,IERR) CALL PBOPEN(IOUNIT, HOFILE, 'r', IERR) IF( IERR.NE.0 ) THEN IRLSMB = JPROUTINE + 1 C IF( KERR.GE.0 ) THEN CALL INTLOG(JP_ERROR,'IRLSMB: PBOPEN return code = ',IERR) CALL INTLOG(JP_ERROR,'IRLSMB: trying to open file',JPQUIET) CALL INTLOG(JP_ERROR, HOFILE(1:IOFILE),JPQUIET) ENDIF C IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IRLSMB: Interpolation failed.',JPQUIET) GOTO 900 ENDIF XIOUNIT = IOUNIT XHOFILE(1:II) = HOFILE(1:II) NEWFILE(2:2) = 'Y' C C Just rewind if same file still in use C ELSE IOUNIT = XIOUNIT NEWFILE(2:2) = 'N' ENDIF C C -----------------------------------------------------------------| C* Section 3. Calculate arrays of weights C -----------------------------------------------------------------| C 300 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRLSMB: Section 3.',JPQUIET) C IPR = KPR C DO JOLAT = 1, NONS C INDEXN = ( (JOLAT - 1) * 2 + JP_I_N - 1) * NOWE + 1 INDEXS = ( (JOLAT - 1) * 2 + JP_I_S - 1) * NOWE + 1 C C Get line for output array C IF( OOSTAND ) THEN C IOFF = (KOLINE(JPNORTH) + (JOLAT - 1) * KOGRID(JPNSSTEP) X - 1) * KOREC C MSKFILE(2:2) = 'O' MSKFILE(1:1) = NEWFILE(2:2) IERR = IGLSMST(IOUNIT, IOFF, NOWE, KOLINE(JPWEST), X KOGRID(JPWESTEP), KOREC, MOLSM, MSKFILE) NEWFILE(2:2) = 'N' C ELSE IERR = IGLSM01(IOUNIT, NOWE, MOLONG, MOLATG(JOLAT), X MEXPAND, KOREC, MOLSM) ENDIF C IF( IERR.GT.0 ) THEN IRLSMB = IERR GOTO 900 ENDIF C ILATN = MNSIND(JP_I_N, JOLAT) ILATS = MNSIND(JP_I_S, JOLAT) C ILINEN = MILLEN(ILATN) ISTRIDEN = JP360 / ILINEN C ILINES = MILLEN(ILATS) ISTRIDES = JP360 / ILINES C IZERO = 0 C C Get lines for input array C IF( OISTAND ) THEN C MSKFILE(2:2) = 'I' MSKFILE(1:1) = NEWFILE(1:1) IERR = IGLSMST(IIUNIT, MISTRT(ILATN) - 1, ILINEN, X KILINE(JPWEST), KIGRID(JPWESTEP), ILINEN, X MILSM(1, JP_I_N), MSKFILE) NEWFILE(1:1) = 'N' C IF( IERR.GT.0 ) THEN IRLSMB = IERR GOTO 900 ENDIF C MSKFILE(2:2) = 'I' MSKFILE(1:1) = NEWFILE(1:1) IERR = IGLSMST(IIUNIT, MISTRT(ILATS) - 1, ILINES, X KILINE(JPWEST), KIGRID(JPWESTEP), ILINES, X MILSM(1, JP_I_S), MSKFILE) NEWFILE(1:1) = 'N' C ELSE C DO JLON = 0, ILINEN - 1 MILONG(JLON + 1) = ISTRIDEN * JLON ENDDO C IERR = IGLSM01(IIUNIT, ILINEN, MILONG, MILATG(ILATN), X MEXPAND, KIREC, MILSM(1, JP_I_N)) C IF( IERR.GT.0 ) THEN IRLSMB = IERR GOTO 900 ENDIF C DO JLON = 0, ILINES - 1 MILONG(JLON + 1) = ISTRIDES * JLON ENDDO C IERR = IGLSM01(IIUNIT, ILINES, MILONG, MILATG(ILATS), X MEXPAND, KIREC, MILSM(1, JP_I_S)) C ENDIF C IF( IERR.GT.0 ) THEN IRLSMB = IERR GOTO 900 ENDIF C C Now modify the unormalised weight for land-sea mask C IERR = IGLSMR(MILSM(1, JP_I_N), MILSM(1, JP_I_S), X MOLSM, MWEIND(1, INDEXN), MWEIND(1, INDEXS), NOWE, X WFACT(1,(JOLAT - 1) * NOWE + 1), IPR, KERR) C IF( IERR.GT.0 ) THEN IRLSMB = IERR GOTO 900 ENDIF C IPR = KPR - 1 C ENDDO C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IRLSMB: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/iglsm01.F0000755000175000017500000002005612127406245021736 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGLSM01 (KUNIT, KNWE, KLONG, KLATV, 1 KEXPAND, KLEN, KLSM) C C----> C**** *IGLSM01* C C PURPOSE C _______ C C Read and process one latitude row from the 10 minute land sea C mask. C C INTERFACE C _________ C C IERR = IGLSM01 (KUNIT, KNWE, KLONG, KLATV, KEXPAND, C 1 KLEN, KLSM) C C Input parameters C ________________ C C KUNIT - The unit number of the land sea mask file. C KNWE - The number of points in the West-East direction C for this line of latitude. C KLONG - The array of longitude points for this line of C latitude. C KLATV - The latitude for which the land sea mask is C required. C KEXPAND - Fixed array of length JPLG01 (The number of items C in one latitude of the 10 minute land sea mask). C This is used to improve efficiency. C KLEN - The length of a full line of latitude in the file. C C Output parameters C ________________ C C KLSM - The land-sea mask for the specified longitude C points at this line of latitude. C C Return value C ____________ C C The error indicator (INTEGER). C 0 + OK C C Error and Warning Return Values C _______________________________ C C 25501 Unexpected end of file found when positioning or reading C land sea mask file. C 25502 Error return code when positioning or reading land sea C mask file. C 25503 Attempt to extract bits beyond array bounds in routine C INXBIT. C : C : C C Any error in this routine should be reported to Meteorological C Applications. C C Common block usage C __________________ C C NONE C C EXTERNALS C _________ C C INXBIT - Standard library routine to extract bits from C a packed array. C PBREAD - Standard library routine to read an unstructured C file. C PBSEEK - Standard library routine to position a file C before performing a transfer. C INTLOG(R) - Logs messages. C C METHOD C ______ C C The latitude value is used to select which line is required C from the 10 minute land sea mask file. This line is then read C into a buffer and the bit extraction routine used to expand the C line to contain one bit per word. The required words are then C extracted from this array. C C The 10 minute land sea mask file contains 1080 lines of 2160 C values with each value stored as one bit. (Each line of latitude C is packed in 68*32 = 2176 bits). Each value consists C of a 0 for sea or a 1 for land. The bits are assumed to be in C the centre of a 10 minute square (e.g. the first value is C assumed to be at 0 5' East and 89 55' North). C C To reduce system overheads involved in multiple PBSEEKS and C PBREADS, the whole file is read into an array on the first call. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Oct 1996 C The whole file is read into an array on the first call. C Number of function arguments reduced. C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" #include "jparams.h" C C Parameters INTEGER JPROUTINE PARAMETER (JPROUTINE = 25500) INTEGER JPRAWSZ PARAMETER (JPRAWSZ = 73440 ) C C Function arguments INTEGER KUNIT, KLATV, KLEN, KNWE INTEGER KLONG (KNWE), KLSM (KNWE) INTEGER KEXPAND (JPLG01) C C Local variables INTEGER ILAT, IOFF, IERR, JLON INTEGER LENRAW, RAWMASK, RAWSIZE, IFIRST INTEGER ISIZE DATA ISIZE/0/ DIMENSION RAWMASK(1) #ifdef POINTER_64 INTEGER*8 IRAWMSK #endif POINTER ( IRAWMSK, RAWMASK ) SAVE IRAWMSK, ISIZE C DATA RAWSIZE/JPRAWSZ/ C DATA IFIRST/0/ SAVE IFIRST C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IGLSM01 = 0 C IF( NDBG.GT.2 ) THEN CALL INTLOG(JP_DEBUG,'IGLSM01: Section 1.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGLSM01: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGLSM01: Latitude value = ',KLATV) CALL INTLOG(JP_DEBUG,'IGLSM01: Input rec len(words) = ',KLEN) CALL INTLOG(JP_DEBUG,'IGLSM01: No.long pts = ',KNWE) ENDIF C C If it is the first time through, read in the whole land-sea C mask file IF( IFIRST.EQ.0 ) THEN IFIRST = 10 C C Find the file length C CALL PBSEEK (KUNIT, 0, 2, LENRAW) IF ( LENRAW.LT.0 ) THEN IGLSM01 = JPROUTINE + 1 CALL INTLOG(JP_FATAL, X 'IGLSM01: Error finding length of LSM file',JPQUIET) GO TO 900 ENDIF C C Rewind the file C CALL INTLOG(JP_DEBUG,'IGLSM01: Rewind the LSM file.',JPQUIET) CALL PBSEEK (KUNIT, 0, 0, IERR) IF (IERR .NE. 0) THEN IGLSM01 = JPROUTINE + 2 CALL INTLOG(JP_FATAL, X 'IGLSM01: Error rewinding LSM file',JPQUIET) GO TO 900 ENDIF C C Allocate memory for the array (first time only) C IF( ISIZE.EQ.0 ) THEN ISIZE = ((JPRAWSZ*2+JPRLEN-1)*JPILEN)/JPRLEN CALL JMEMHAN( 13, IRAWMSK, ISIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'IGLSM01: Memory allocation error.',IRAWMSK) IGLSM01 = JPROUTINE + 4 GOTO 900 ENDIF ENDIF C C Read the file C CALL INTLOG(JP_DEBUG, X 'IGLSM01: Read the LSM file of byte size = ',LENRAW) CALL PBREAD (KUNIT, RAWMASK, LENRAW, IERR) IF (IERR .NE. LENRAW) THEN IGLSM01 = JPROUTINE + 3 CALL INTLOG(JP_FATAL,'IGLSM01: Unexpected EOF while',JPQUIET) CALL INTLOG(JP_FATAL,'IGLSM01: reading LSM file.',JPQUIET) GO TO 900 ENDIF ENDIF C _______________________________________________________ C C* Section 2. Read one line of 10 minute land-sea mask C and expand into an unpacked array C _______________________________________________________ C 200 CONTINUE C IF(NDBG.GT.2) CALL INTLOG(JP_DEBUG,'IGLSM01: Section 2.',JPQUIET) C ILAT = MIN ( ( (JP90 - KLATV) * JPML01) / JPMULT + 1, JPLT01) IOFF = (ILAT - 1)*KLEN*JPBYTES*8 C CALL INXBIT (RAWMASK, RAWSIZE, IOFF, KEXPAND, JPLG01, JPBITS, 1, X 'D', IERR) C IF (IERR .NE. 0) THEN IGLSM01 = JPROUTINE + 5 CALL INTLOG(JP_FATAL,'IGLSM01: Attempt to extract LSM',JPQUIET) CALL INTLOG(JP_FATAL,'IGLSM01: beyond array bounds.',JPQUIET) CALL INTLOG(JP_FATAL,'IGLSM01: Interpolation failed.',IGLSM01) GO TO 900 ENDIF C C Transfer expanded bitmask line to land sea mask array C DO 210 JLON = 1, KNWE IOFF = (KLONG (JLON) * JPML01) / JPMULT + 1 KLSM (JLON) = KEXPAND (IOFF) 210 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C IF(NDBG.GT.2) CALL INTLOG(JP_DEBUG,'IGLSM01: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/precip.F0000755000175000017500000000707612127406245021753 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C LOGICAL FUNCTION PRECIP() C C----> C**** PRECIP C C Purpose C ------- C C Determines whether or not the current field is to be C considered for 'precipitation' treatment. C C C Interface C --------- C C LPRECIP = PRECIP() C C Input C ----- C C None C C C Output C ------ C C Function returns .TRUE. if the field is to be treated as C precipitation. C C C Method C ------ C C Uses a set of hardcoded rules. C C C Externals C --------- C C INTLOG - Logs messages C C Uses common blocks nifld.common and nofld.common. C C C Author C ------ C C J.D.Chambers ECMWF April 2001 C C----< C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Local variables C LOGICAL LIKELY C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C C If 'useprecip' has been forced to 'yes' ... C IF( LPRECSET ) THEN PRECIP = LPREC GOTO 900 ENDIF C C WMO International table 001 for meteorological parameters C IF ( NITABLE.EQ.1 ) THEN LIKELY = ( NIPARAM.EQ.61 ).OR. X ( NIPARAM.EQ.62 ).OR. X ( NIPARAM.EQ.63 ).OR. X ( NIPARAM.EQ.64 ).OR. X ( NIPARAM.EQ.65) C C ECMWF local code table 128 for meteorological parameters C ELSEIF ( (NITABLE.EQ.128).OR.(NITABLE.EQ.129) ) THEN LIKELY = ( NIPARAM.EQ.142 ).OR. X ( NIPARAM.EQ.143 ).OR. X ( NIPARAM.EQ.144 ).OR. X ( NIPARAM.EQ.228 ).OR. X ( NIPARAM.EQ.239 ).OR. X ( NIPARAM.EQ.240 ) ELSE LIKELY = .FALSE. ENDIF C IF( .NOT.LIKELY ) THEN PRECIP = .FALSE. GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 2. Work through the special cases C -----------------------------------------------------------------| C 200 CONTINUE C C Monthly forecast means using ECMWF local definition 16 C IF( NILOCAL.EQ.16 ) THEN PRECIP = .FALSE. GOTO 900 ENDIF C C Extreme forecast index using ECMWF local definition 19 C IF( NILOCAL.EQ.19 ) THEN PRECIP = .FALSE. GOTO 900 ENDIF C C Coupled Atmospheric, Wave and Ocean models (with hindcast support) C using ECMWF local definition 23 C IF( NILOCAL.EQ.23 ) THEN PRECIP = .FALSE. GOTO 900 ENDIF C C ERA fields using code table 160 C IF( NITABLE.EQ.160 ) THEN PRECIP = .FALSE. GOTO 900 ENDIF C PRECIP = .TRUE. C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C IF( .NOT.PRECIP ) THEN CALL INTLOG(JP_DEBUG, X 'PRECIP: Do not handle field as precipitation', JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'PRECIP: Handle field as precipitation', JPQUIET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/clear_c.F0000755000175000017500000000734312127406245022056 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C #define INT_MISSING -2147483647 SUBROUTINE CLEAR_C( ) C C----> C**** CLEAR_C C C Purpose C ------- C C Sets start values for parameters in common block. C C C Interface C --------- C C CALL CLEAR_C() C C C Method C ------ C C Hard coded defaults. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF August 1994. C C----< C IMPLICIT NONE C C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "current.h" C C Local variables C INTEGER IRET, LOOP C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C C Set default processing flag settings. C LCHANGE = .TRUE. LSMCHNG = .TRUE. LSM = .TRUE. LPREC = .FALSE. LWIND = .FALSE. C C Set default area indexes. C NINS = 0 NIWE = 0 NO1NS = 0 NO1WE = 0 NONS = 0 NOWE = 0 C C Defaults for output GRIB record .. C .. ECMWF local code table 128 C .. level 500 hPa C NOPARAM = 0 NOTABLE = 128 NOLEVT = 100 NOLEVEL = 500 NOHFUNC = 'A' C C Turn off all flags indicating that user has given a value. C LSMPARSET = .FALSE. LSMSET = .FALSE. LPRECSET = .FALSE. LWINDSET = .FALSE. LNIGAUS = .FALSE. LNGSPEC = .FALSE. LIGIVEL = .FALSE. LIGIVEP = .FALSE. LOGIVEL = .FALSE. LOGIVEP = .FALSE. LNOAREA = .FALSE. LNORESO = .FALSE. LNOGAUS = .FALSE. LNOACC = .FALSE. LNOREPR = .FALSE. LNOTABL = .FALSE. LNOPARA = .FALSE. LNOLEVL = .FALSE. LNOLEVT = .FALSE. LNOGRID = .FALSE. LNOFRAME = .FALSE. LNOSTYLE = .FALSE. LARESOL = .FALSE. LINTOUT = .FALSE. LIMISSV = .FALSE. cs double interpolation LDOUBLE = .FALSE. C RMISSGV = REAL(INT_MISSING) C C Clear input and output gaussian grid definitions C NIGAUSS = 0 NOGAUSS = 0 DO 110 LOOP = 1, JPLAT RIGAUSS(LOOP) = 0.0 MILLEN(LOOP) = 0 110 CONTINUE C DO 120 LOOP = 1, JPLAT ROGAUSS(LOOP) = 0.0 NOLPTS(LOOP) = 0 120 CONTINUE C C Clear information about gaussian field definitions C NGSPEC = 0 NIGAUSO = 0 NOGAUSO = 0 HIGAUST = 'X' HOGAUST = 'X' C C Clear rotation angle values. C NOROTA(1) = 0 NOROTA(2) = 0 LNOROTA = .FALSE. LO12PT = .TRUE. LMETHOD = .FALSE. LNNLSM = .FALSE. C C Clear style and frame values C NOFRAME = 0 NOSTYLE = JPSMARS C C Clear flags showing how to deal with legendre coefficients C LFILEIO = .FALSE. LMEMORY = .FALSE. LSHARED = .FALSE. LON_FLY = .FALSE. LMAPPED = .FALSE. LIFIRST = .TRUE. C C Clear fields for ISLSCP processing C IF( LNIISCL ) THEN CALL JFREE(NIPOGRB) CALL JFREE(NIPNGRB) ENDIF LNIISCL = .FALSE. C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/setrep.F0000755000175000017500000000374712127406245021774 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C #define INT_MISSING -2147483647 INTEGER FUNCTION SETREP(OUTREP) C C----> C*****SEREP* C C PURPOSE C ------- C reset LNOREPR to original value C reset some other values in common block C LNOREPR - Flag to say whether or not user specified NOREPR C C Function argument C INTEGER OUTREP #include "parim.h" #include "nifld.common" #include "nofld.common" SETREP = 0 IF(OUTREP.EQ.1) THEN LNOREPR = .FALSE. IF(.NOT.LNOAREA) THEN NOAREA(1) = 0 NOAREA(2) = 0 NOAREA(3) = 0 NOAREA(4) = 0 CALL INTLOG(JP_DEBUG,'SETREP: AREA has been reseted' X ,JPQUIET) ENDIF CALL INTLOG(JP_DEBUG,'SETREP: LNOREPR has been reseted' X ,JPQUIET) ENDIF NIWE = 0 NINS = 0 CALL INTLOG(JP_DEBUG,'SETREP: NIWE,NINS has been reseted' X ,JPQUIET) cs NOACC = 0 cs CALL INTLOG(JP_DEBUG,'SETREP: NOACC has been reseted' cs X ,JPQUIET) NOLEVEL = 0 CALL INTLOG(JP_DEBUG,'SETREP: NOLEVEL has been reseted' X ,JPQUIET) LOCEAN = .FALSE. CALL INTLOG(JP_DEBUG,'SETREP: LOCEAN has been reseted' X ,JPQUIET) LPREC = .FALSE. CALL INTLOG(JP_DEBUG,'SETREP: LPREC has been reseted' X ,JPQUIET) LIMISSA = .FALSE. LIMISSV = .FALSE. RMISSGV = REAL(INT_MISSING) CALL INTLOG(JP_DEBUG,'SETREP: LIMISSV has been reseted' X ,JPQUIET) cs LNOROTA = .FALSE. cs CALL INTLOG(JP_DEBUG,'SETREP: LNOROTA has been reseted' cs X ,JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/wvqlint.F0000755000175000017500000003160512127406245022170 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION WVQLINT(KNUM,NUMPTS,KE_W,KN_S,RESON,OLDWAVE, X NEWWAVE,NORTH,WEST,KPARAM,PMISS,RNS) C C----> C*****WVQLINT* C C PURPOSE C ------- C C To interpolate a wave field quasi-regular latitude C longitude grid to a regular latitude/longitude grid. C C C INTERFACE C --------- C C IRET = WVQLINT(KNUM,NUMPTS,KE_W,KN_S,RESON,OLDWAVE, C X NEWWAVE,NORTH,WEST,KPARAM,PMISS) C C Input arguments C --------------- C C KNUM - No. of meridians from North to South pole (input field) C NUMPTS - Array giving number of points along each latitude C (empty latitudes have entry 0) C KE_W - First dimension of new array C = Number of points E-W in new grid C KN_S - Second dimension of new array C = Number of points N-S in new grid C RESON - Output grid resolution (degrees) C OLDWAVE - Original wave field C NORTH - Input and output grid northernmost latitude (degree) C WEST - Input and output grid westernmost longitude (degree) C KPARAM - Field parameter code C PMISS - Missing value indicator C RNS - Difference in degrees in NS disrection C C Output arguments C ---------------- C NEWWAVE - New wave field C C Function returns 0 if the interpolation was OK. C C C METHOD C ------ C C A bi-linear interpolation is only done if all four neighbouring C points are sea. C The nearest neighbouring grid point value is taken if one of the C neighbouring points is missing. C The interpolated point value is set to the 'missing' indicator C value if the point is outside the input grid. C C A field representing a 'direction' is resolved into components C each of which is interpolated separately. C C The output area is the same as the input area. C C C EXTERNALS C --------- C C WVQLIDX - Calculate the indices of neighbouring points C INTLOG - Log error message. C C C REFERENCE C --------- C C Based on: C SUBROUTINE INTERPOLATE C Peter Janssen ECMWF September 1995 C and: C SUBROUTINE EXPOINT C Heinz Gunther ECMWF December 1989 C C C Author. C ------- C C J.D.Chambers ECMWF September 1996 C C J.D.Chambers ECMWF September 1998 C Modified to handle subarea input/output. C The output area is the same as the input area. C C J.D.Chambers ECMWF November 2000 C Modified to input grid resolution to be different from the C output grid resolution. C C----< C C -----------------------------------------------------------------| C* Section 0. Arguments and variable C -----------------------------------------------------------------| C C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19400 ) INTEGER JPLLMAX PARAMETER ( JPLLMAX = 1801 ) C `--> allow upto 0.1 degree resolution INTEGER JPNMOUT PARAMETER ( JPNMOUT = 1800 ) C `--> allow upto 0.1 degree resolution C INTEGER JPNW, JPNE, JPSW, JPSE, JPN, JPS INTEGER JPDISNW, JPDISNE, JPDISSW, JPDISSE PARAMETER (JPNW = 1) PARAMETER (JPNE = 2) PARAMETER (JPSW = 3) PARAMETER (JPSE = 4) PARAMETER (JPN = 5) PARAMETER (JPS = 6) PARAMETER (JPDISNW = 7) PARAMETER (JPDISNE = 8) PARAMETER (JPDISSW = 9) PARAMETER (JPDISSE = 10) C C Subroutine arguments C INTEGER KNUM, NUMPTS, KE_W, KN_S, KPARAM DIMENSION NUMPTS(*) REAL RESON, OLDWAVE, NEWWAVE, NORTH, WEST, PMISS REAL RNS DIMENSION OLDWAVE(*) DIMENSION NEWWAVE(KE_W,KN_S) C C Local arguments C INTEGER NLAT, K, I, NEWROW, NEWCOL, I1N, I1S, I_N, I_S, I2N, I2S REAL*4 DELONGN, DELONGS, DELAT, DI1N, DI1S, DI2N, DI2S REAL*4 DIST_N, DIST_S REAL*4 DISNW, DISNE, DISSW, DISSE REAL*4 U1, U2, ZXIN, ZXIS REAL LON, LAT DIMENSION LON(JPNMOUT*2),LAT(JPNMOUT+1) LOGICAL INGRID, LDIREC INTEGER NW_PT, NE_PT, SW_PT, SE_PT REAL*4 NWVALUE, NEVALUE, SWVALUE, SEVALUE REAL*4 RAD DATA RAD/0.017453293/ REAL*4 CNW_PT, CNE_PT, CSW_PT, CSE_PT REAL*4 SNW_PT, SNE_PT, SSW_PT, SSE_PT REAL*4 C1, C2, S1, S2, CC, SS C REAL OLDLATS(JPLLMAX), OLDEAST REAL OLDNS INTEGER ISTART, IEND INTEGER NEXT, NUMNEW(JPLLMAX) INTEGER IRET, WVQLIDX EXTERNAL WVQLIDX INTEGER XKNUM,XKE_W,XKN_S DATA XKNUM/-1/,XKE_W/-1/,XKN_S/-1/ REAL XRESON,XNORTH,XWEST DATA XRESON/-999.0/,XNORTH/-999.0/,XWEST/-999.0/ INTEGER IFIRST, NEWIDX(4,1440*721) DATA IFIRST/0/ REAL*4 DISTNEW(10,1440*721) C INTEGER OLDKNUM DATA OLDKNUM/0/ INTEGER INDEX(JPLLMAX) REAL DEPS DATA DEPS/0.00005/ C SAVE IFIRST,XKNUM,XKE_W,XKN_S,XRESON,XNORTH,XWEST,NEWIDX,DISTNEW C C -----------------------------------------------------------------| C* Section 1. Initalisation. C -----------------------------------------------------------------| C 100 CONTINUE C WVQLINT = 0 CALL INTLOG(JP_DEBUG, X 'WVQLINT: Wave interpolation requested.',JPQUIET) C C Check reduced latitude/longitude grid specification C IF( KNUM.GT.JPLLMAX ) THEN CALL INTLOG(JP_ERROR, X 'WVQLINT: Number of latitudes in input lat/long grid = ',KNUM) CALL INTLOG(JP_ERROR, X 'WVQLINT: And is greater than allowed maximum = ',JPLLMAX) WVQLINT = JPROUTINE + 1 GOTO 900 ENDIF C C Ensure working array dimensions are adequate for required output. C IF( (KE_W.GT.JPNMOUT*2).OR.(KN_S.GT.JPNMOUT+1) ) THEN CALL INTLOG(JP_ERROR, X 'WVQLINT: Internal array dimensions are too small',JPQUIET) CALL INTLOG(JP_ERROR, X 'WVQLINT: for given lat/long output field.',JPQUIET) WVQLINT = JPROUTINE + 3 GOTO 900 ENDIF C C Set up index for latitude lines in the input reduced lat/lon array C INDEX(1) = 0 DO K = 2, KNUM INDEX(K) = INDEX(K-1) + NUMPTS(K-1) ENDDO DO K = 1, KN_S LAT(K) = NORTH - FLOAT(K-1)*RESON NUMNEW(K) = KE_W ENDDO C C Calculate latitudes and longitudes of output grid points. C DO I = 1,KE_W LON(I) = FLOAT(I-1)*RESON ENDDO C C Calculate latitudes for input (old) grid. C (Input and output area are same) C OLDNS = RNS/REAL(KNUM-1) DO K = 1, KNUM OLDLATS(K) = NORTH - FLOAT(K-1)*OLDNS ENDDO C C Find first and last latitudes in input grid which are not empty C ISTART = 1 DO K = 1, KNUM/2 IF( NUMPTS(K).EQ.0 ) ISTART = ISTART + 1 ENDDO C IEND = KNUM DO K = KNUM, (KNUM/2) + 1, -1 IF( NUMPTS(K).EQ.0 ) IEND = IEND - 1 ENDDO C C For the regular output grid, calculate its latitudes and fill C in the number of points along each latitude. C C C Setup East depending on whether or not there is wrap-around C IF( ABS((KE_W*RESON)-360.0).LT.DEPS ) THEN OLDEAST = WEST + KE_W*RESON ELSE OLDEAST = WEST + (KE_W-1)*RESON ENDIF C C Initialise all points with 'missing data' indicator C DO NEWROW = 1, KN_S DO NEWCOL = 1, KE_W NEWWAVE(NEWCOL,NEWROW) = PMISS ENDDO ENDDO C C Wave direction parameters need special handling C (MWD, MDWW, MDPS, MDWI) C LDIREC = ( (KPARAM.EQ.230) .OR. X (KPARAM.EQ.235) .OR. X (KPARAM.EQ.238) .OR. X (KPARAM.EQ.242) ) C C -----------------------------------------------------------------| C* Section 2. Interpolation. C -----------------------------------------------------------------| C 200 CONTINUE C C Only calculate the indices on the first time through C IF( (IFIRST.EQ.0 ) .OR. X ( KNUM.NE.XKNUM ) .OR. X ( KE_W.NE.XKE_W ) .OR. X ( KN_S.NE.XKN_S ) .OR. X ( RESON.NE.XRESON ).OR. X ( NORTH.NE.XNORTH ).OR. X ( WEST.NE.XWEST ) ) THEN C IRET = WVQLIDX(KNUM,NUMPTS,OLDLATS,WEST,OLDEAST, X KN_S,NUMNEW,LAT,NEWIDX,DISTNEW) IFIRST = 1 XKNUM = KNUM XKE_W = KE_W XKN_S = KN_S XRESON = RESON XNORTH = NORTH XWEST = WEST ENDIF C DELAT = OLDNS NEXT = 0 C DO 220 NEWROW = 1, KN_S C C Set up the distance between new row and the old rows to N and S. C NLAT = NINT((NORTH - LAT(NEWROW))/DELAT) + 1 I_N = NLAT I_S = MIN(I_N+1,KNUM*2) DIST_N = ((NORTH - DELAT*(I_N-1)) - LAT(NEWROW)) / DELAT DIST_S = 1.0 - DIST_N C C Check if the new interpolated row lies between 2 old rows which C have data points C IF( (NUMPTS(I_N).GT.0).AND.(NUMPTS(I_S).GT.0) ) THEN C C Yes, use the calculated indices C DO 210 NEWCOL = 1, KE_W C NEXT = NEXT + 1 C NW_PT = NEWIDX(JPNW,NEXT) NE_PT = NEWIDX(JPNE,NEXT) SW_PT = NEWIDX(JPSW,NEXT) SE_PT = NEWIDX(JPSE,NEXT) NWVALUE = OLDWAVE(NW_PT) NEVALUE = OLDWAVE(NE_PT) SWVALUE = OLDWAVE(SW_PT) SEVALUE = OLDWAVE(SE_PT) C C Test if any one of the four neighbouring points is missing. C IF( (NW_PT.EQ.0 .OR. NWVALUE.EQ.PMISS) .OR. X (NE_PT.EQ.0 .OR. NEVALUE.EQ.PMISS) .OR. X (SW_PT.EQ.0 .OR. SWVALUE.EQ.PMISS) .OR. X (SE_PT.EQ.0 .OR. SEVALUE.EQ.PMISS) ) THEN C C If so, take nearest grid point value. C DISNW = DISTNEW(JPDISNW,NEXT) DISNE = DISTNEW(JPDISNE,NEXT) DISSW = DISTNEW(JPDISSW,NEXT) DISSE = DISTNEW(JPDISSE,NEXT) C IF( (DISNW.LE.DISNE).AND. X (DISNW.LE.DISSW).AND. X (DISNW.LE.DISSE) ) THEN NEWWAVE(NEWCOL,NEWROW) = NWVALUE C ELSE IF( (DISNE.LE.DISSW).AND. X (DISNE.LE.DISSE) ) THEN NEWWAVE(NEWCOL,NEWROW) = NEVALUE C ELSE IF( (DISSW.LE.DISSE) ) THEN NEWWAVE(NEWCOL,NEWROW) = SWVALUE C ELSE NEWWAVE(NEWCOL,NEWROW) = SEVALUE C ENDIF C ELSE C C Use bi-linear interpolation from four C neighbouring sea points. C DI1N = DISTNEW(JPNW,NEXT) DI2N = DISTNEW(JPNE,NEXT) DI1S = DISTNEW(JPSW,NEXT) DI2S = DISTNEW(JPSE,NEXT) DIST_N = DISTNEW(JPN,NEXT) DIST_S = DISTNEW(JPS,NEXT) C NW_PT = OLDWAVE(NW_PT) NE_PT = OLDWAVE(NE_PT) SW_PT = OLDWAVE(SW_PT) SE_PT = OLDWAVE(SE_PT) C IF( .NOT. LDIREC ) THEN U1 = NWVALUE*DI2N + NEVALUE*DI1N U2 = SWVALUE*DI2S + SEVALUE*DI1S NEWWAVE(NEWCOL,NEWROW) = U1*DIST_S + U2*DIST_N C ELSE C C Fields representing a 'direction': resolve into C components and interpolate each separately. C CNW_PT = COS(NWVALUE*RAD) CNE_PT = COS(NEVALUE*RAD) CSW_PT = COS(SWVALUE*RAD) CSE_PT = COS(SEVALUE*RAD) SNW_PT = SIN(NWVALUE*RAD) SNE_PT = SIN(NEVALUE*RAD) SSW_PT = SIN(SWVALUE*RAD) SSE_PT = SIN(SEVALUE*RAD) C1 = CNW_PT*DI2N + CNE_PT*DI1N C2 = CSW_PT*DI2S + CSE_PT*DI1S CC = C1*DIST_S + C2*DIST_N S1 = SNW_PT*DI2N + SNE_PT*DI1N S2 = SSW_PT*DI2S + SSE_PT*DI1S SS = S1*DIST_S + S2*DIST_N IF( SS.LT.0.0 ) THEN NEWWAVE(NEWCOL,NEWROW) = ATAN2(SS,CC)/RAD + 360.0 ELSE NEWWAVE(NEWCOL,NEWROW) = ATAN2(SS,CC)/RAD ENDIF ENDIF ENDIF 210 CONTINUE ELSE NEXT = NEXT + KE_W ENDIF C 220 CONTINUE C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C IF( WVQLINT.EQ.0 ) THEN CALL INTLOG(JP_DEBUG, X 'WVQLINT: Wave interpolation successful.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'WVQLINT: Wave interpolation failed.',JPQUIET) ENDIF c call abort() C RETURN END emoslib-000392+dfsg.1/interpolation/ggrotat.F0000755000175000017500000001373012127406245022132 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION GGROTAT(OLDFLD, NEWFLD, NUMPTS, POLELAT, POLELON, X TYPE, NGAUSS) C C----> C**** GGROTAT C C PURPOSE C _______ C C Generates a rotated gaussian grid. C C INTERFACE C _________ C C IRET = GGROTAT(OLDFLD,NEWFLD,NUMPTS,POLELAT,POLELON,TYPE,NGAUSS) C C C Input parameters C ________________ C C OLDFLD = Original gaussian grid field. C NUMPTS = Total number of points in the original field. C POLELAT = Latitude of the South Pole of rotation. C POLELON = Longitude of the South Pole of rotation. C TYPE = 'R' if the gaussian field is reduced (quasi) gaussian. C = 'F' if the gaussian field is regular (full) gaussian. C NGAUSS = Gaussian grid number (number of latitude rows between C the pole and the equator). C C Output parameters C ________________ C C NEWFLD = New gaussian grid field. C (This can be the same array as OLDFLD). C C Function returns zero if interpolation ran OK. C C C METHOD C ______ C C The nearest gaussian latitude row is found. C C Work space is dynamically allocated. It is retained for future C calls. C C EXTERNALS C _________ C C JGETGG - Pickup the gaussian grid definition. C GGVALUE - Calculates the interpolated value at a point of the new C gaussian grid. C INTLOG - Logs output messages C INTLOGR - Logs output messages C JMEMHAN - Dynamically allocate work array C C C REFERENCE C _________ C C None C C C COMMENTS C ________ C C The input field is assumed to be global in extent, and a known C definition, either N160 or N80 (reduced or regular). C The output field has the same type and dimensions as the input C field. C C C AUTHOR C ______ C C J.D.Chambers ECMWF April 1996 C C C MODIFICATIONS C _____________ C C None. C C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE, JPMAXGG PARAMETER( JPROUTINE = 38500 ) PARAMETER (JPMAXGG = 1280) C C Subroutine arguments C REAL OLDFLD, NEWFLD, POLELAT, POLELON INTEGER NUMPTS, NGAUSS DIMENSION OLDFLD(NUMPTS), NEWFLD(NUMPTS) CHARACTER*1 TYPE C C Local variables C REAL GLATS(JPMAXGG) INTEGER NGPTS(JPMAXGG) INTEGER OLDGAUS DATA OLDGAUS/0/ CHARACTER*1 OLDTYPE DATA OLDTYPE/' '/ SAVE GLATS, NGPTS, OLDGAUS, OLDTYPE C INTEGER NEXT, NEXLAT, INROW, LOOP, KRET REAL STEPLON, CUTOFF, RLAT, RLON DIMENSION RLON(JPMAXGG*2) C INTEGER ISIZE DATA ISIZE/0/ REAL DUMI POINTER (IDUMI, DUMI) DIMENSION DUMI(1) SAVE IDUMI, ISIZE C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C GGROTAT = 0 C CALL INTLOG(JP_DEBUG, X 'GGROTAT: Number of pts in original field = ',NUMPTS) CALL INTLOGR(JP_DEBUG, X 'GGROTAT: Latitude of the South Pole of rotation = ',POLELAT) CALL INTLOGR(JP_DEBUG, X 'GGROTAT: Longitude of the South Pole of rotation = ',POLELON) CALL INTLOG(JP_DEBUG,'GGROTAT: Get gaussian grid type:',JPQUIET) CALL INTLOG(JP_DEBUG,TYPE,JPQUIET) CALL INTLOG(JP_DEBUG,'GGROTAT: grid number:',NGAUSS) C C Get gaussian grid definition (first time only) C IF( (OLDGAUS.NE.NGAUSS).OR.(OLDTYPE.NE.TYPE)) THEN CALL INTLOG(JP_DEBUG, X 'GGROTAT: Get definitions for gaussian grid type:',JPQUIET) CALL INTLOG(JP_DEBUG,TYPE,JPQUIET) CALL INTLOG(JP_DEBUG,'GGROTAT: grid number:',NGAUSS) C CALL JGETGG(NGAUSS,TYPE,GLATS,NGPTS,KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'GGROTAT: Failed to get gaussian grid definition:',JPQUIET) GGROTAT = JPROUTINE + 1 GOTO 900 ENDIF OLDGAUS = NGAUSS OLDTYPE = TYPE ENDIF C C Allocate work space if not already done. C IF( ISIZE.LT.NUMPTS ) THEN ISIZE = NUMPTS CALL JMEMHAN(18,IDUMI,ISIZE,1,KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'GGROTAT: Memory allocation failed: status = ',KRET) GGROTAT = JPROUTINE + 2 GOTO 900 ENDIF ENDIF C C Move the original field to the work array C DO LOOP = 1, NUMPTS DUMI(LOOP) = OLDFLD(LOOP) ENDDO C _______________________________________________________ C C* Section 2. Work through latitude lines from north to south C _______________________________________________________ C 200 CONTINUE C NEXT = 1 C DO NEXLAT = 1, NGAUSS*2 INROW = NGPTS(NEXLAT) STEPLON = 360.0/INROW RLAT = GLATS(NEXLAT) C C Fill in longitudes along current line of latitude C DO LOOP = 1, INROW RLON(LOOP) = (LOOP-1)*STEPLON ENDDO C C Rotate the current line of latitude C CALL GGVALUE(NEWFLD,NEXT,INROW,RLAT,RLON, X POLELAT,POLELON,NGAUSS,TYPE,DUMI) C NEXT = NEXT + INROW C ENDDO NUMPTS = NEXT C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C CALL INTLOG(JP_DEBUG,'GGROTAT: Return from GGROTAT:',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_080_19940113.h0000755000175000017500000000200512127406245023404 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG08012(80) DATA QG08012/ X 12 , 16 , 20 , 24, X 30 , 36 , 45 , 50, X 60 , 64 , 72 , 75, X 80 , 90 , 96 , 100, X 108 , 120 , 120 , 128, X 128 , 135 , 144 , 144, X 150 , 160 , 162 , 180, X 180 , 180 , 192 , 192, X 192 , 200 , 216 , 216, X 216 , 216 , 225 , 225, X 240 , 240 , 240 , 256, X 256 , 256 , 256 , 288, X 288 , 288 , 288 , 288, X 288 , 288 , 288 , 288, X 288 , 300 , 300 , 300, X 300 , 300 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320 / emoslib-000392+dfsg.1/interpolation/iglgrid.F0000755000175000017500000001560712127406245022111 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGLGRID (KSTRIDE, KAREA, KLONG, KNWE, KLATG, 1 KNNS, OWEGLOBE, KPR, KERR) C C----> C**** *IGLGRID* C C PURPOSE C _______ C C Generate the arrays of latitude and longitude points for a C regular latitude longitude grid. C C INTERFACE C _________ C C IERR = IGLGRID (KSTRIDE, KAREA, KLONG, KNWE, KLATG, KNNS, C 1 OWEGLOBE, KPR, KERR) C C Input parameters C ________________ C C KSTRIDE - The grid definition (WE, NS) provided by the C calling routine. C C KAREA - The area definition (N, W, S, E) provided by the C calling routine. C C KNWE - The number of points in the West-East direction in C this field. C C KNNS - The number of points in the North-South direction C in this field. C C OWEGLOBE - This variable will be true if the array of C longitudes spans the globe and this is an input C field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KLONG - The array of longitudes for the stride and area. C If OEWGLOBE is true the West-East field array has C element KNWE + 1 set equal to element 1 to help C with recognising where an output grid C "wraps around" the break in the input grid. C C KLATG - The array of latitudes for the stride and area. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C The arrays of longitudes and latitudes are generated using the C information provided by the other parameters. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments LOGICAL OWEGLOBE INTEGER KNWE, KNNS, KPR, KERR INTEGER KSTRIDE (2), KAREA (4) INTEGER KLONG (KNWE + 1), KLATG (KNNS) C C Local variables INTEGER IEAST, IWEST INTEGER JLONG, JLAT INTEGER JPROUTINE PARAMETER (JPROUTINE = 24900) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGLGRID: Section 1.',JPQUIET) C IGLGRID = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IGLGRID: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGLGRID: No.long.pts = ',KNWE) CALL INTLOG(JP_DEBUG,'IGLGRID: No.lat. pts = ',KNNS) CALL INTLOG(JP_DEBUG,'IGLGRID: Grid stride WE = ',KSTRIDE(1)) CALL INTLOG(JP_DEBUG,'IGLGRID: Grid stride NS = ',KSTRIDE(2)) CALL INTLOG(JP_DEBUG,'IGLGRID: Area North = ', KAREA(1)) CALL INTLOG(JP_DEBUG,'IGLGRID: Area West = ', KAREA(2)) CALL INTLOG(JP_DEBUG,'IGLGRID: Area South = ', KAREA(3)) CALL INTLOG(JP_DEBUG,'IGLGRID: Area East = ', KAREA(4)) IF( OWEGLOBE ) THEN CALL INTLOG(JP_DEBUG, X 'IGLGRID: Input W-E fld is global.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'IGLGRID: Input W-E fld is NOT global.',JPQUIET) ENDIF ENDIF C IEAST = KAREA (JPEAST) IWEST = KAREA (JPWEST) C C _______________________________________________________ C C C* Section 2. Generate points around a line of latitude. C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGLGRID: Section 2.',JPQUIET) C C Standardise range so that EAST > WEST C IF (IEAST .LT. IWEST ) THEN C IF (IEAST .LT. 0) THEN IEAST = IEAST + JP360 ELSE IWEST = IWEST - JP360 ENDIF C ENDIF C C Generate points in standardised range (0, jp360) C DO 210 JLONG = 1, KNWE C KLONG (JLONG) = IWEST + KSTRIDE (JPWESTEP) * (JLONG - 1) C IF (KLONG (JLONG) .LT. 0) 1 KLONG (JLONG) = KLONG (JLONG) + JP360 C 210 CONTINUE C C Add first point to end of list if global C IF (OWEGLOBE) 1 KLONG (KNWE + 1) = KLONG (1) C C _______________________________________________________ C C C* Section 3. Generate points along a line of meridian C _______________________________________________________ C 300 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGLGRID: Section 3.',JPQUIET) C DO 310 JLAT = 1, KNNS C KLATG (JLAT) = KAREA (JPNORTH) - 1 KSTRIDE (JPNSSTEP) * (JLAT - 1) C 310 CONTINUE C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGLGRID: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_640.h0000755000175000017500000001157312127406245022425 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG640(640) DATA QG640/ X 18, 25, 32, 40, 45, X 50, 60, 60, 72, 72, X 75, 81, 90, 90, 96, X 100, 108, 120, 120, 125, X 135, 144, 150, 160, 160, X 180, 180, 180, 192, 192, X 200, 216, 216, 216, 225, X 240, 240, 243, 250, 256, X 270, 270, 288, 288, 288, X 300, 300, 320, 320, 320, X 360, 360, 360, 360, 360, X 360, 375, 375, 384, 384, X 400, 400, 400, 432, 432, X 432, 432, 450, 450, 450, X 480, 480, 480, 480, 480, X 486, 500, 500, 512, 512, X 540, 540, 540, 540, 540, X 576, 576, 576, 576, 576, X 600, 600, 600, 600, 640, X 640, 640, 640, 640, 640, X 640, 648, 675, 675, 675, X 675, 720, 720, 720, 720, X 720, 720, 720, 720, 729, X 750, 750, 750, 750, 768, X 768, 768, 800, 800, 800, X 800, 800, 810, 810, 864, X 864, 864, 864, 864, 864, X 864, 864, 900, 900, 900, X 900, 900, 900, 960, 960, X 960, 960, 960, 960, 960, X 960, 960, 960, 960, 972, X 972, 1000, 1000, 1000, 1000, X 1000, 1024, 1024, 1024, 1024, X 1080, 1080, 1080, 1080, 1080, X 1080, 1080, 1080, 1080, 1125, X 1125, 1125, 1125, 1125, 1125, X 1125, 1125, 1152, 1152, 1152, X 1152, 1152, 1200, 1200, 1200, X 1200, 1200, 1200, 1200, 1200, X 1215, 1215, 1215, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1296, 1296, 1350, 1350, 1350, X 1350, 1350, 1350, 1350, 1350, X 1350, 1350, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1458, X 1458, 1458, 1458, 1500, 1500, X 1500, 1500, 1500, 1500, 1500, X 1500, 1536, 1536, 1536, 1536, X 1536, 1536, 1536, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1620, 1620, 1620, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1728, 1728, 1728, X 1728, 1728, 1800, 1800, 1800, X 1800, 1800, 1800, 1800, 1800, X 1800, 1800, 1800, 1800, 1800, X 1800, 1800, 1875, 1875, 1875, X 1875, 1875, 1875, 1875, 1875, X 1875, 1875, 1875, 1875, 1875, X 1875, 1875, 1875, 1875, 1920, X 1920, 1920, 1920, 1920, 1920, X 1920, 1920, 1920, 1920, 1920, X 1944, 1944, 1944, 1944, 1944, X 2000, 2000, 2000, 2000, 2000, X 2000, 2000, 2000, 2000, 2000, X 2000, 2000, 2000, 2000, 2025, X 2025, 2025, 2025, 2025, 2025, X 2048, 2048, 2048, 2048, 2048, X 2048, 2048, 2160, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, X 2160, 2160, 2160, 2160, 2160, X 2160, 2160, 2187, 2187, 2187, X 2187, 2187, 2187, 2187, 2187, X 2250, 2250, 2250, 2250, 2250, X 2250, 2250, 2250, 2250, 2250, X 2250, 2250, 2250, 2250, 2250, X 2250, 2250, 2250, 2250, 2250, X 2304, 2304, 2304, 2304, 2304, X 2304, 2304, 2304, 2304, 2304, X 2304, 2304, 2304, 2304, 2304, X 2304, 2304, 2304, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, X 2400, 2400, 2400, 2400, 2400, X 2430, 2430, 2430, 2430, 2430, X 2430, 2430, 2430, 2430, 2430, X 2430, 2430, 2430, 2430, 2500, X 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2500, 2500, X 2500, 2500, 2500, 2500, 2500, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560, X 2560, 2560, 2560, 2560, 2560 / emoslib-000392+dfsg.1/interpolation/igtran.F0000755000175000017500000002022012127406245021737 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGTRAN (PMAT, KINCOL, KINROW, KMOVE, KLEN, 1 KPR, KERR) C C----> C**** *IGTRAN* C C PURPOSE C _______ C C This routine transposes a rectangular matrix. C C INTERFACE C _________ C C IERR = IGTRAN (PMAT, KINCOL, KINROW, KMOVE, KLEN, KPR, KERR) C C Input parameters C ________________ C C PMAT - The input matrix of length KINCOL * KINROW. C C KINCOL - The length of the first dimension on entry and C second dimension on exit. C C KINROW - The length of the second dimension on entry and C first dimension on exit. C C KMOVE - Work array used to store information to speed up C the process. C C KLEN - Length of array KMOVE. The recommended length is C (KINCOL + KINROW) / 2. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C (No longer used, kept for backward compatibility. C Used to be used as follows: C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code.) C C Output parameters C ________________ C C PMAT - The transposed matrix. C C Return value C ____________ C C The error indicator (INTEGER). C C 7401 KLEN was less than 1. C 7402 A failure during transposition (should never happen). C C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG - Generate log messages. C C C METHOD C ______ C C This algorithm uses the cyclic structure of transposition to C perform a transposition in place with a minimum amount of work C storage. C C REFERENCE C _________ C C Esko G. Cate and David W. Twigg Analysis of In-Situ C Transposition C CACM Algorithm 513 C C C COMMENTS C ________ C C None. C C C AUTHOR C ______ C C K. Fielding *ECMWF* Jan 1994 C C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF Sept 1995 C C----< C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Function arguments C INTEGER KINCOL, KINROW, KLEN, KPR, KERR INTEGER KMOVE(KLEN) REAL PMAT (KINCOL * KINROW) C C Local variables INTEGER ICOUNT, IRMULC, IR0, IR1, IR2, IPOINT, IKMI, IP1, IP2, X IRMCM1, IP1C, IP2C, IROWP1, ICOLM1, ISTART INTEGER JST, JINROW, JINCOL REAL ZMIP1, ZMIP1C, ZTEMP C C Parameters INTEGER JPROUTINE PARAMETER (JPROUTINE = 7400) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGTRAN: Section 1.',JPQUIET) C IGTRAN = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_DEBUG,'IGTRAN: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGTRAN: 1st matrix dimension = ',KINCOL) CALL INTLOG(JP_DEBUG,'IGTRAN: 2nd matrix dimension = ',KINROW) CALL INTLOG(JP_DEBUG,'IGTRAN: Work array length = ',KLEN) CALL INTLOG(JP_DEBUG, X 'IGTRAN: Recommended length = ',(KINCOL + KINROW) / 2) ENDIF C IF (KINCOL .LE. 1 .OR. KINROW .LE. 1) GO TO 900 C C _______________________________________________________ C C* Section 2. Rectangular transposition setup C _______________________________________________________ C 200 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGTRAN: Section 2.',JPQUIET) C IF (KINCOL .NE. KINROW) THEN C IF (KLEN .LT. 1) THEN IGTRAN = JPROUTINE + 1 CALL INTLOG(JP_ERROR,'IGTRAN: Work array size = ',KLEN) CALL INTLOG(JP_ERROR,'IGTRAN: Must be at least 1.',JPQUIET) GO TO 900 ENDIF C ICOUNT = 2 IRMULC = KINCOL * KINROW IRMCM1 = IRMULC - 1 C DO 210 JST = 1, KLEN KMOVE (JST) = 0 210 CONTINUE C IF (KINCOL .GT. 2 .AND. KINROW .GT. 2) THEN C C Calculate the number of fixed points, Euclids algorithm C for GCD (m - 1, n - 1) C IR2 = KINCOL - 1 IR1 = KINROW - 1 C 220 CONTINUE IR0 = MOD (IR2, IR1) IR2 = IR1 IR1 = IR0 IF (IR0 .NE. 0) GO TO 220 C ICOUNT = ICOUNT + IR2 - 1 C ENDIF C C Set initial values for search C ISTART = 1 IPOINT = KINCOL C C At least one loop must be rearranged so branch into loop C GO TO 330 C C _______________________________________________________ C C* Section 3. Rectangular transposition main loop C _______________________________________________________ C 310 CONTINUE C C Search for loops to rearrange C IKMI = IRMCM1 - ISTART ISTART = ISTART + 1 C IF (ISTART .GT. IKMI) THEN IGTRAN = JPROUTINE + 2 CALL INTLOG(JP_ERROR, X 'IGTRAN: Fail during transposition.',JPQUIET) GO TO 900 ENDIF C IPOINT = IPOINT + KINCOL C IF (IPOINT .GT. IRMCM1) IPOINT = IPOINT - IRMCM1 C IP2 = IPOINT C IF (ISTART .EQ. IP2) GO TO 310 C IF (ISTART .GT. KLEN) THEN C 320 CONTINUE C C Loop exit condition C IF (IP2 .LE. ISTART .OR. IP2 .GE. IKMI) THEN IF (IP2 .NE. ISTART) THEN GO TO 310 ELSE GO TO 330 ENDIF ENDIF IP1 = IP2 IP2 = KINCOL * IP1 - IRMCM1 * (IP1 / KINROW) GO TO 320 ENDIF C IF (KMOVE (ISTART) .NE. 0) GO TO 310 C C Rearrange the elements of a loop and its companion loop C C Entry into loop on first pass C 330 CONTINUE C IP1 = ISTART IKMI = IRMCM1 - ISTART ZMIP1 = PMAT (IP1 + 1) IP1C = IKMI ZMIP1C = PMAT (IP1C + 1) C 340 CONTINUE IP2 = KINCOL * IP1 - IRMCM1 * (IP1 / KINROW) IP2C = IRMCM1 - IP2 C IF (IP1 .LE. KLEN) KMOVE (IP1) = 2 IF (IP1C .LE. KLEN) KMOVE (IP1C) = 2 C ICOUNT = ICOUNT + 2 C C Loop exit conditions C IF (IP2 .EQ. ISTART) GO TO 360 IF (IP2 .EQ. IKMI) GO TO 350 C PMAT (IP1 + 1) = PMAT(IP2 + 1) PMAT (IP1C + 1) = PMAT(IP2C + 1) IP1 = IP2 IP1C = IP2C C GO TO 340 C 350 CONTINUE C ZTEMP = ZMIP1 ZMIP1 = ZMIP1C ZMIP1C = ZTEMP C 360 CONTINUE C PMAT (IP1 + 1) = ZMIP1 PMAT (IP1C + 1) = ZMIP1C C IF (ICOUNT .LT. IRMULC) GO TO 310 C ELSE C C _______________________________________________________ C C* Section 4. Square transposition C _______________________________________________________ C 400 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGTRAN: Section 4.',JPQUIET) C C Square matrix so exchange elements a(i,j) and a(j,i) C ICOLM1 = KINCOL - 1 C DO 420 JINCOL = 1, ICOLM1 C IROWP1 = JINCOL + 1 C DO 410 JINROW = IROWP1, KINROW C IP1 = JINCOL + (JINROW - 1) * KINCOL IP2 = JINROW + (JINCOL - 1) * KINROW C ZTEMP = PMAT (IP1) PMAT (IP1) = PMAT (IP2) PMAT (IP2) = ZTEMP C 410 CONTINUE 420 CONTINUE ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR .GE. 1) CALL INTLOG(JP_DEBUG,'IGTRAN: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/intuvs.F0000755000175000017500000000645612127406245022022 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTUVS( KVGRIB, KDGRIB, INLEN, X KUGRIBO, KVGRIBO, OUTLEN) C C----> C**** INTUVS C C Purpose C ------- C C Convert GRIB format input vorticity and divergence field to C GRIB format U and V fields. C C C Interface C --------- C C IRET = INTUVS( KVGRIB, KDGRIB, INLEN, KUGRIBO,KVGRIBO,OUTLEN) C C Input C ----- C C KVGRIB - Input vorticity field (spectral, GRIB format). C KDGRIB - Input divergence field (spectral, GRIB format). C INLEN - Input field length (words). C C C Output C ------ C C KUGRIBO - Output U field (GRIB format). C KVGRIBO - Output V field (GRIB format). C OUTLEN - Output field length (words). C C C Method C ------ C C Convert spectral vorticity/divergence to spectral U/V without C subsequent interpolation. C C Note that a common block is used in intf.h to hold the U/V C fields before interpolation. C C Externals C --------- C C INTUVP - Now does all the work! C INTLOG - Log error message. C C C Author C ------ C C J.D.Chambers ECMWF Feb 1995 C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.D.Chambers ECMWF February 2001 C Replace code by a call to intuvp. C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C C Function arguments C INTEGER KVGRIB(*), KDGRIB(*), INLEN INTEGER KUGRIBO(*), KVGRIBO(*), OUTLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 26900 ) C C Local variables C INTEGER IHOLD1, IHOLD2, IHOLD3 LOGICAL LHOLD4 C C Externals C INTEGER INTUVP C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C C -----------------------------------------------------------------| C* Section 2. Unpack the vorticity/divergence fields. C -----------------------------------------------------------------| C 200 CONTINUE C C Ensure output representation says 'spectral, no rotation' C IHOLD1 = NOREPR NOREPR = JPSPHERE IHOLD2 = NOROTA(1) IHOLD3 = NOROTA(2) NOROTA(1) = -9000000 NOROTA(2) = 0.0 LHOLD4 = LNOROTA LNOROTA = .FALSE. C INTUVS = X INTUVP(KVGRIB,KDGRIB,INLEN,KUGRIBO,KVGRIBO,OUTLEN) C C Restore output representation C NOREPR = IHOLD1 NOROTA(1) = IHOLD2 NOROTA(2) = IHOLD3 LNOROTA = LHOLD4 C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jvod2uv.F0000755000175000017500000001176112127406245022064 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JVOD2UV( VOR, DIV, KTIN, U, V, KTOUT) C C----> C**** JVOD2UV C C Purpose C ------- C C Calculate spherical harmonic coefficients of U*cos(lat) and C V*cos(lat) at triangular truncation KTOUT, given the coefficients C of divergence and vorticity at truncation KTIN. C C C Interface C --------- C C CALL JVOD2UV( VOR, DIV, KTIN, U, V, KTOUT) C C Input C ----- C C VOR(KDIM1) = array of vorticity coefficients C DIV(KDIM1) = array of divergence coefficients C KTIN = triangular truncation C where KDIM1 = (KTIN+1)*(KTIN+2) C C C Output C ------ C C U(KDIM2) = output array of U*cos(lat) coefficients C V(KDIM2) = output array of V*cos(lat) coefficients C KTOUT = output triangular truncation (KTOUT.le.KTIN) C where KDIM2 = (KTOUT+1)*(KTOUT+4) C C C Method C ------ C C ?? C C C Externals C --------- C C None. C C C Author C ------ C C Jan Haseler ECMWF 5th January 1981 C C C Modifications C ------------- C C D. R. Roskilly ECMWF 5th May 1987 C Avoid calculating the extra values for U and V components so C that vorticity and divergence can be re-calculated if required. C C ?? ?? 15th February 1988 C Subroutine renamed VOD2UV from DVTOUV. C C K.Rider ECMWF 21st August 1991 C Version 2 inconsistently truncated U and V to T(ITOUT-1). C Changed so that vorticity and divergence are consistently truncated C to T105 (sic). C U and V are calculated with truncation T(ITOUT),with zero values at C the corner. C Vorticity and divergence can be recalculated if required, but only C truncated to T(ITOUT) since the higher coefficients have been lost. C C J.D.Chambers ECMWF 26th January 1995 C Cleaned up code (?!) C C----< C IMPLICIT NONE C C Subroutine arguments COMPLEX VOR(*), DIV(*), U(*), V(*) INTEGER KTIN, KTOUT C C Local variables INTEGER K, IMN, ITOUT, JM, JN, JMP, LOOP, SIZE REAL REARTH, ZM, ZN COMPLEX ZI C C Statement functions REAL DD, SS REAL PM, PN DD(PM,PN) = -SQRT((PN*PN-PM*PM)/(4.*PN*PN-1.))/PN SS(PM,PN) = -PM/(PN*(PN+1.)) C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C ZI = (0.0, 1.0) REARTH = 6.371E6 K = 1 IMN = 1 Cjdc ITOUT = MIN0(KTOUT,KTIN) ITOUT = KTOUT SIZE = (ITOUT+1)*(ITOUT+2)/2 DO LOOP = 1, SIZE U(LOOP) = 0.0 V(LOOP) = 0.0 ENDDO C C ------------------------------------------------------------------ C* Section 2. Handle coefficients for M < ITOUT; N = M C ------------------------------------------------------------------ C 200 CONTINUE C DO 255 JM = 1,ITOUT C ZM = JM - 1.0 ZN = ZM C IF ( JM.GT.1 ) THEN U(K) = (-DD(ZM,ZN+1.)*VOR(IMN+1)+ZI*SS(ZM,ZN)*DIV(IMN))*REARTH V(K) = ( DD(ZM,ZN+1.)*DIV(IMN+1)+ZI*SS(ZM,ZN)*VOR(IMN))*REARTH ELSE U(K) = (-DD(ZM,ZN+1.)*VOR(IMN+1))*REARTH V(K) = ( DD(ZM,ZN+1.)*DIV(IMN+1))*REARTH ENDIF C IMN = IMN + 1 K = K + 1 JMP = JM + 1 C C When N < ITOUT-1 C IF (JMP.LT.ITOUT) THEN DO 235 JN = JMP, ITOUT-1 ZN = JN - 1.0 U(K) = ( DD(ZM,ZN)*VOR(IMN-1)-DD(ZM,ZN+1)*VOR(IMN+1) X +ZI*SS(ZM,ZN)*DIV(IMN))*REARTH V(K) = (-DD(ZM,ZN)*DIV(IMN-1)+DD(ZM,ZN+1)*DIV(IMN+1) X +ZI*SS(ZM,ZN)*VOR(IMN))*REARTH C K = K + 1 IMN = IMN + 1 C 235 CONTINUE C C When N = ITOUT - 1 C ZN = ITOUT - 1 U(K) = ( DD(ZM,ZN)*VOR(IMN-1)+ZI*SS(ZM,ZN)*DIV(IMN))*REARTH V(K) = (-DD(ZM,ZN)*DIV(IMN-1)+ZI*SS(ZM,ZN)*VOR(IMN))*REARTH K = K + 1 IMN = IMN + 1 ENDIF C C When N = ITOUT C ZN = ITOUT U(K) = ( DD(ZM,ZN)*VOR(IMN-1))*REARTH V(K) = (-DD(ZM,ZN)*DIV(IMN-1))*REARTH K = K + 1 C C When N = ITOUT + 1 C IMN = IMN + 1 + KTIN-ITOUT C 255 CONTINUE C C ------------------------------------------------------------------ C* Section 3. Handle coefficients for M = ITOUT. C ------------------------------------------------------------------ C 300 CONTINUE C C When N = ITOUT C U(K) = 0.0 V(K) = 0.0 C C Ignore M = ITOUT; N = ITOUT + 1 C C K = K + 1 C RETURN END emoslib-000392+dfsg.1/interpolation/igprec.F0000755000175000017500000001757412127406245021746 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGPREC (PIFELD, KIWE, KINS, POFELD, KOWE, KONS, 1 KWEIND, KNSIND, PWFACT, PMAX, PINPNT, KPR, KERR) C C----> C**** *IGPREC* C C PURPOSE C _______ C C Perform additional interpolation processes for precipitation C fields. C C INTERFACE C _________ C C IERR = IGPREC (PIFELD, KIWE, KINS, POFELD, KOWE, KONS, KWEIND, C 1 KNSIND, PWFACT, PMAX, PINPNT, KPR, KERR) C C Input parameters C ________________ C C PIFELD - The input field provided by the calling routine. C C KIWE - The number of points in the West-East direction in C the input field. C C KINS - The number of points in the North-South direction C in the input field. C C POFELD - The output field as previously calculated. C C KOWE - The number of points in the West-East direction in C the output field. C C KONS - The number of points in the North-South direction C in the output field. C C KWEIND - This array contains the array offsets of the West C and East points in the input array required for C interpolation. C C KNSIND - This array contains the array offsets of the North C and South points in the input array required for C interpolation. C C PWFACT - The array of interpolating weights to the four C neighbouring points for every output point. C C PMAX - Work array used to aid vectorisation. C C PINPNT - Work array used to aid vectorisation. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C POFELD - The output field as modified to allow for C precipitation. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C CHKPREC - Check if precipitation threshold has been redefined C C C METHOD C ______ C C The precipitation at a point is set to zero in the following C circumstances. C C 1 The interpolated precipitation is less than a threshold value. C C 2 There is no precipitation at the neighbouring point with the C highest interpolating weight. C C NOTE that this operation is performed before the special C routines for the poles when interpolating from Gaussian grids C to global latitude/longitude fields. The polar values for C precipitation, during such interpolations, will always be the C average value of the nearest Gaussian line with no threshold C check. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 3 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" #include "nifld.common" C C Dummy arguments INTEGER KIWE, KOWE, KINS, KONS, KPR, KERR INTEGER KWEIND (2, KOWE), KNSIND (2, KONS) REAL PIFELD (KIWE, KINS), POFELD (KOWE, KONS) REAL PWFACT (4, KOWE, KONS) REAL PMAX (KOWE), PINPNT (KOWE) C C Local variables LOGICAL LAT_RAIN INTEGER ILAT, IDIR INTEGER JOLAT, JOLON, JNS, JWE INTEGER JPROUTINE PARAMETER (JPROUTINE = 22500) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGPREC: Section 1.',JPQUIET) C IGPREC = 0 C IF (KPR .GE. 1) THEN CALL INTLOG(JP_ERROR,'IGPREC: Input parameters.',JPQUIET) CALL INTLOG(JP_ERROR,'IGPREC: No.input fld longitudes = ',KIWE) CALL INTLOG(JP_ERROR,'IGPREC: No.input fld latitudes = ',KINS) CALL INTLOG(JP_ERROR,'IGPREC: No.output fld longitudes = ',KOWE) CALL INTLOG(JP_ERROR,'IGPREC: No.output fld latitudes = ',KONS) ENDIF C C _______________________________________________________ C C* Section 2. eliminate output precipitation based on C interpolation threshhold C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGPREC: Section 2.',JPQUIET) C CALL CHKPREC() C DO 360 JOLAT = 1, KONS C LAT_RAIN = .FALSE. C DO 210 JOLON = 1, KOWE C IF (POFELD (JOLON, JOLAT) .LT. ZPRECIP) THEN POFELD (JOLON, JOLAT) = PPZERO ELSE LAT_RAIN = .TRUE. ENDIF C 210 CONTINUE C C _______________________________________________________ C C* Section 3. eliminate output precipitation based on C "nearest" point. C C Do not bother if there is no precipitation on this C line of latitude C _______________________________________________________ C 300 CONTINUE C IF ((KPR.GE.1).AND.(JOLAT.EQ.1)) CALL INTLOG(JP_DEBUG, X 'IGPREC: Section 3.',JPQUIET) C IF (LAT_RAIN) THEN C DO 310 JOLON = 1, KOWE C PMAX (JOLON) = PPZERO C 310 CONTINUE C DO 340 JNS = 1, 2 C ILAT = KNSIND (JNS, JOLAT) C DO 330 JWE = 1, 2 C IDIR = (JNS - 1) * 2 + JWE C DO 320 JOLON = 1, KOWE C IF (PWFACT(IDIR, JOLON, JOLAT) .GT. PMAX(JOLON)) THEN PMAX (JOLON) = PWFACT (IDIR, JOLON, JOLAT) PINPNT (JOLON) = PIFELD (KWEIND (JWE, JOLON), ILAT) ENDIF C 320 CONTINUE C 330 CONTINUE C 340 CONTINUE C DO 350 JOLON = 1, KOWE IF (PINPNT(JOLON).LT.ZPRECIP) POFELD(JOLON,JOLAT) = PPZERO 350 CONTINUE C ENDIF C 360 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGPREC: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/hntfaph.F0000755000175000017500000004030712127406245022113 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HNTFAPH(INGRIB,INLEN) C C----> C**** HNTFAPH C C Purpose C ------- C C Prepare to interpolate to grid point field. C C C Interface C --------- C C IRET = HNTFAPH(INGRIB,INLEN) C C Input C ----- C C INGRIB - Input field (packed). C INLEN - Input field length (words). C C C Output C ------ C C Field unpacked values are in ZNFELDI, rotated if necessary. C C Returns: 0, if OK. Otherwise, an error occured in interpolation. C C C Method C ------ C C Unpack field. C C If the input is a spectral field and the output is a rotated C grid-point field, create a global reduced gaussian field and C then create the rotated grid-point field from it. C C C Externals C --------- C C GRIBEX - Decode/encode GRIB product. C GRSVCK - Turn off GRIB checking C INTLOG - Log error message. C INTLOGR - Log error message. C JDEBUG - Checks environment to switch on/off debug C FIXAREA - Fixup input/output field area definitions. C HSP2GG - Find suitable gaussian grid for spectral truncation C HIRLAM - Creates rotated lat/long field from reduced gaussian C HIRLSM - Creates rotated lat/long field from reduced gaussian C using land-sea mask C HRG2GG - Creates rotated gaussian field from reduced gaussian C HLL2LL - Creates rotated lat/long field from lat/long field C LSMFLD - Determines whether a field is to be interpolated using C a land-sea mask C C C Author C ------ C C J.D.Chambers ECMWF January 31, 2001 C C C----< C C -----------------------------------------------------------------| C* Section 0. Variables C -----------------------------------------------------------------| C IMPLICIT NONE C C Function arguments C INTEGER INGRIB(*),INLEN C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "intf.h" #include "jparams.h" #include "current.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 40110 ) C C Local variables C LOGICAL LUSELSM, LDEBUG, LSP2RGG, LLATOUT INTEGER NUMPTS, NGAUSS, NLON, NLAT, NUVFLAG, NTRUNC, NCOUNT INTEGER IWORD, IERR, LOOP, IRET, ISIZE, KPTS(JPGTRUNC*2) INTEGER ISHIZE INTEGER ITEMP,K,I,J,IM,JM REAL PLATS(JPGTRUNC*2),AREA(4),GRID(2),POLE(2),WEST,EAST REAL OLDGRID(2) REAL TEMP(1440,1440) CHARACTER*1 HOLDTYP C REAL SWORK(1), RGGRID(1), ZNFLDO(1) #ifdef POINTER_64 INTEGER*8 ISWORK, IRGGRID, IZNFLDO #endif POINTER ( ISWORK, SWORK) POINTER ( IRGGRID, RGGRID) POINTER ( IZNFLDO, ZNFLDO ) C SAVE IZNFLDO,ISWORK, IRGGRID C C Externals C INTEGER HSP2GG, HIRLAM, HIRLSM, HRG2GG, HLL2LL, FIXAREA,PDDEFS INTEGER HSP2GG2,HSP2GG3 LOGICAL LSMFLD C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C HNTFAPH = 0 C C Check if debug option turned on C CALL JDEBUG() LDEBUG = ( NDBG.NE.0 ) C LSP2RGG = .FALSE. C C -----------------------------------------------------------------| C* Section 2. Decode data from the GRIB code C -----------------------------------------------------------------| C 200 CONTINUE C C Decode data from GRIB code (no checking) C IERR = 0 CALL GRSVCK(0) C IERR = 1 IWORD = INLEN ISEC3(2) = NINT(RMISSGV) ZSEC3(2) = RMISSGV CALL GRIBEX(ISEC0, ISEC1, ISEC2, ZSEC2, ISEC3, ZSEC3, ISEC4, X ZNFELDI, JPEXPAND, INGRIB, INLEN, IWORD, 'D',IERR) IF (ISEC2(11).EQ.64) THEN CALL INTLOG(JP_DEBUG, X 'HNTFAPH: Scanning flag west-east/south-north',ISEC2(11)) ITEMP = NIAREA(1) NIAREA(1) = NIAREA(3) NIAREA(3) = ITEMP IM = ISEC2(2) JM = ISEC2(3) K=0 DO J=JM,1,-1 DO I=1,IM K=K+1 TEMP(I,J) = ZNFELDI(K) END DO END DO K=0 DO J=1,JM DO I=1,IM K=K+1 ZNFELDI(K) = TEMP(I,J) END DO END DO ENDIF C IF( IERR.LT.0) THEN IF( (IERR.EQ.-2).OR.(IERR.EQ.-4) ) THEN CALL INTLOG(JP_DEBUG,'HNTFAPH: Use missing value',JPQUIET) LIMISSV = .TRUE. ELSE CALL INTLOG(JP_ERROR,'HNTFAPH: GRIBEX decoding fail.',IERR) HNTFAPH = JPROUTINE + 2 GOTO 900 ENDIF ELSE IF( IERR.GT.0 ) THEN CALL INTLOG(JP_ERROR,'HNTFAPH: GRIBEX decoding failed.',IERR) HNTFAPH = JPROUTINE + 2 GOTO 900 ENDIF C NCOUNT = ISEC4(1) C LLATOUT = (NOREPR.EQ.JPREGROT).OR.(NOREPR.EQ.JPREGULAR) C IF( .NOT.LNOROTA ) GOTO 900 C C -----------------------------------------------------------------| C* Section 3. Handle rotation, if necessary. C -----------------------------------------------------------------| C 300 CONTINUE C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'HNTFAPH: Rotate field.',JPQUIET) CALL INTLOG(JP_DEBUG,'HNTFAPH: South pole lat ',NOROTA(1)) CALL INTLOG(JP_DEBUG,'HNTFAPH: South pole long ',NOROTA(2)) ENDIF C C Fill area limits (handles case when default 0/0/0/0 given) C IRET = FIXAREA() IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: area fixup failed',JPQUIET) HNTFAPH = JPROUTINE + 3 GOTO 900 ENDIF C AREA(1) = REAL(NOAREA(1))/PPMULT AREA(2) = REAL(NOAREA(2))/PPMULT AREA(3) = REAL(NOAREA(3))/PPMULT AREA(4) = REAL(NOAREA(4))/PPMULT C GRID(1) = REAL(NOGRID(1))/PPMULT GRID(2) = REAL(NOGRID(2))/PPMULT C POLE(1) = REAL(NOROTA(1))/PPMULT POLE(2) = REAL(NOROTA(2))/PPMULT C C -----------------------------------------------------------------| C* Section 4. Spectral to rotated grid-point C -----------------------------------------------------------------| C 400 CONTINUE C IF( (NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT) ) THEN C C Convert spectral to suitable global reduced gaussian grid C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'HNTFAPH: Spectral to suitable reduced gaussian',JPQUIET) C NIRESO = ISEC2(2) NTRUNC = ISEC2(2) IF(LNORESO) THEN NTRUNC = NORESO IRET = HSP2GG(NTRUNC,NGAUSS,KPTS,PLATS,ISIZE) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: problem getting data for reduced grid',NTRUNC) HNTFAPH = JPROUTINE + 4 GOTO 900 ENDIF IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'HNTFAPH: Spectral truncation:', NTRUNC) CALL INTLOG(JP_DEBUG,'HNTFAPH: Gaussian number : ',NGAUSS) ENDIF GOTO 401 ENDIF IF(LARESOL ) THEN IF(LLATOUT) THEN IRET = HSP2GG2(NTRUNC,GRID(1),GRID(2),NGAUSS,KPTS,PLATS,ISIZE) ELSE IRET = HSP2GG3(NTRUNC,NGAUSS,KPTS,PLATS,ISIZE) ENDIF IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: problem getting data for reduced grid',NTRUNC) HNTFAPH = JPROUTINE + 4 GOTO 900 ENDIF ENDIF c--------------------------------------------------------------------- C Truncate if a smaller resolution has been requested C 401 CONTINUE IF( NTRUNC.LT.NIRESO ) THEN IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'HNTFAPH: Truncation changed from: ',NIRESO) CALL INTLOG(JP_DEBUG,'HNTFAPH: to: ',NTRUNC) CALL INTLOG(JP_DEBUG,'HNTFAPH: Gaussian number is : ',NGAUSS) ENDIF C ISHIZE = (NTRUNC+1)*(NTRUNC+4) CALL JMEMHAN( 3, IZNFLDO, ISHIZE, 1, IERR) IF( IERR.NE.0 ) THEN CALL INTLOG(JP_FATAL, X 'HNTFAPH: Get scratch space failed',JPQUIET) HNTFAPH = JPROUTINE + 4 GOTO 900 ENDIF C C Generate spherical harmonics with output truncation C CALL SH2SH( ZNFELDI, NIRESO, ZNFLDO, NTRUNC ) C C Move new spherical harmonics to 'input' array C DO LOOP = 1, ISHIZE ZNFELDI(LOOP) = ZNFLDO(LOOP) ENDDO ELSE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'HNTFAPH: Spectral to suitable reduced gaussian',JPQUIET) C NTRUNC = ISEC2(2) IRET = HSP2GG(NTRUNC,NGAUSS,KPTS,PLATS,ISIZE) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: problem getting data for reduced grid',NTRUNC) HNTFAPH = JPROUTINE + 4 GOTO 900 ENDIF IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'HNTFAPH: Spectral truncation:', NTRUNC) CALL INTLOG(JP_DEBUG,'HNTFAPH: Gaussian number : ',NGAUSS) ENDIF ENDIF C C Dynamically allocate memory for global reduced gaussian grid C CALL JMEMHAN( 18, IRGGRID, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: memory alloc for reduced grid fail',JPQUIET) HNTFAPH = JPROUTINE + 4 GOTO 900 ENDIF C C Set flag to show field is not a wind component C NUVFLAG = 0 C C Create the reduced gaussian grid C HOLDTYP = HOGAUST WEST = 0.0 EAST = 360.0 - (360.0/(NGAUSS*4)) CALL JAGGGP(ZNFELDI,NTRUNC,PLATS(1),PLATS(NGAUSS*2),WEST, X EAST,NGAUSS,'R',KPTS,RGGRID,NUVFLAG,IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: spectral to reduced gaussian failed',JPQUIET) HNTFAPH = JPROUTINE + 4 GOTO 900 ENDIF HOGAUST = HOLDTYP C NCOUNT = 0 DO LOOP = 1, (NGAUSS*2) NCOUNT= NCOUNT + KPTS(LOOP) ENDDO C LSP2RGG = .TRUE. C IF( NOREPR.EQ.JPFGGROT ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'HNTFAPH: Convert gaussian to rotated gaussian',JPQUIET) C GOTO 600 C ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 5. Gaussian to rotated lat/long C -----------------------------------------------------------------| C 500 CONTINUE C IF( (LSP2RGG.AND.LLATOUT) .OR. X ( (NIREPR.EQ.JPGAUSSIAN).AND.LLATOUT) .OR. X ( (NIREPR.EQ.JPQUASI).AND.LLATOUT) ) THEN C IF( LDEBUG ) X CALL INTLOG(JP_DEBUG,'HNTFAPH: Gauss to lat/lon',JPQUIET) C C Dynamically allocate memory for rotated lat/long grid C NLON = 1 + NINT((AREA(JPEAST) - AREA(JPWEST)) / X GRID(JPWESTEP)) !SC NLAT = 1 + NINT((AREA(JPNORTH) - AREA(JPSOUTH)) / X GRID(JPNSSTEP)) !SC C NOWE = NLON NONS = NLAT C NUMPTS = NLON * NLAT ISIZE = NUMPTS CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: memory alloc for lat/long grid fail',JPQUIET) HNTFAPH = JPROUTINE + 7 GOTO 900 ENDIF C LUSELSM = LSMFLD() C C If original field was spectral, ... C IF( LSP2RGG ) THEN IF( LUSELSM ) THEN IRET = HIRLSM(LO12PT,RGGRID,NCOUNT,NGAUSS,AREA,POLE,GRID, X SWORK,ISIZE,NLON,NLAT) ELSE IRET = HIRLAM(LO12PT,RGGRID,NCOUNT,NGAUSS,AREA,POLE,GRID, X SWORK,ISIZE,NLON,NLAT) ENDIF C ELSE C C If original field was gaussian, ... C IRET = PDDEFS() NGAUSS = ISEC2(10) cs IF( LUSELSM ) THEN IF( LSM ) THEN IRET = HIRLSM(LO12PT,ZNFELDI,NCOUNT,NGAUSS,AREA,POLE,GRID, X SWORK,ISIZE,NLON,NLAT) ELSE IRET = HIRLAM(LO12PT,ZNFELDI,NCOUNT,NGAUSS,AREA,POLE,GRID, X SWORK,ISIZE,NLON,NLAT) ENDIF C ENDIF C IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: HIRLAM rotation failed',JPQUIET) HNTFAPH = JPROUTINE + 7 GOTO 900 ENDIF C ISEC2(1) = JPREGROT ISEC4(1) = NOWE * NONS C ENDIF C C -----------------------------------------------------------------| C* Section 6. Gaussian to rotated gaussian C -----------------------------------------------------------------| C 600 CONTINUE C IF( (LSP2RGG.AND.(NOREPR.EQ.JPFGGROT)) .OR. X (LSP2RGG.AND.(NOREPR.EQ.JPQGGROT)) .OR. X (((NIREPR.EQ.JPQUASI).OR.(NIREPR.EQ.JPGAUSSIAN)) .AND. X (NOREPR.EQ.JPFGGROT).OR.(NOREPR.EQ.JPQGGROT)) ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'HNTFAPH: Gaussian to reduced gaussian',JPQUIET) C C Dynamically allocate memory for rotated lat/long grid C ISIZE = NOGAUSS * NOGAUSS * 8 CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: memory alloc for gaussian grid fail',JPQUIET) HNTFAPH = JPROUTINE + 8 GOTO 900 ENDIF C C If original field was spectral, ... C IF( LSP2RGG ) THEN IRET = HRG2GG(LO12PT,RGGRID,NGAUSS,AREA,POLE, X NOGAUSS,HOGAUST,SWORK,ISIZE,NUMPTS) C ELSE C C If original field was gaussian, ... C NGAUSS = ISEC2(10) IRET = HRG2GG(LO12PT,ZNFELDI,NGAUSS,AREA,POLE, X NOGAUSS,HOGAUST,SWORK,ISIZE,NUMPTS) ENDIF IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: HRG2GG rotation failed',JPQUIET) HNTFAPH = JPROUTINE + 8 GOTO 900 ENDIF C IF( (NOREPR.EQ.JPQUASI).OR. X (NOREPR.EQ.JPQGGROT).OR. X (NOREPR.EQ.JPFGGROT).OR. X (NOREPR.EQ.JPGAUSSIAN) ) THEN ISEC2(1) = JPFGGROT ELSE ISEC2(1) = NOREPR ENDIF C ISEC4(1) = NUMPTS C ENDIF C C -----------------------------------------------------------------| C* Section 7. Lat/long to rotated lat/long C -----------------------------------------------------------------| C 700 CONTINUE C IF( (NIREPR.EQ.JPREGULAR) ) THEN C C Dynamically allocate memory for rotated lat/long grid C NLON = 1 + NINT((AREA(JPEAST) - AREA(JPWEST)) / X GRID(JPWESTEP)) NLAT = 1 + NINT((AREA(JPNORTH) - AREA(JPSOUTH)) / X GRID(JPNSSTEP)) C NOWE = NLON NONS = NLAT C NUMPTS = NLON * NLAT ISIZE = NUMPTS CALL JMEMHAN( 11, ISWORK, ISIZE, 1, IRET) IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: memory alloc for lat/long grid fail',JPQUIET) HNTFAPH = JPROUTINE + 7 GOTO 900 ENDIF C OLDGRID(1) = REAL(NIGRID(1))/100000.0 OLDGRID(2) = REAL(NIGRID(2))/100000.0 IRET = HLL2LL(LO12PT,ZNFELDI,OLDGRID,AREA,POLE,GRID,SWORK,ISIZE, X NLON,NLAT) C IF( IRET.NE.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'HNTFAPH: HLL2LL rotation failed',JPQUIET) HNTFAPH = JPROUTINE + 7 GOTO 900 ENDIF C ISEC2(1) = JPREGROT ISEC4(1) = NOWE * NONS C ENDIF C C -----------------------------------------------------------------| C* Section 8. Move rotated field back into field original array. C -----------------------------------------------------------------| C 800 CONTINUE C DO LOOP = 1, NUMPTS ZNFELDI(LOOP) = SWORK(LOOP) ENDDO C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/Makefile0000755000175000017500000002057412127406245022020 0ustar amckinstryamckinstry# # Makefile for libemos/interpolation # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources.$(ARCH) # OBJECTS.F90 = $(SOURCES.F90:.F90=.o) OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.f = $(SOURCES.f:.f=.o) OBJECTS.c = $(SOURCES.c:.c=.o) VECTOR.o = $(VECTOR.F:.F=.o) NO_OPT.o = $(NO_OPT.F:.F=.o) OBJECTS = $(OBJECTS.F90) $(OBJECTS.F) $(OBJECTS.f) $(VECTOR.o) $(NO_OPT.o) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ $(VECTOR.o): $(VECTOR.F) $(FC) $(VECTFFLAGS) -c $< $(NO_OPT.o): $(NO_OPT.F) $(FC) $(VECTFFLAGS) -c $< include make.dep clean: \rm -f $(OBJECTS) *.f # DO NOT DELETE areachk.o: parim.h nifld.common nofld.common auresol.o: parim.h nifld.common nofld.common chkprec.o: parim.h nifld.common clear_c.o: parim.h nifld.common nofld.common grfixed.h current.h ddstyle.o: jparams.h parim.h nofld.common dssarea.o: parim.h nifld.common nofld.common fixarea.o: parim.h nifld.common nofld.common grfixed.h intf.h freecf.o: jparam2.h gb2gb.o: jparams.h parim.h nofld.common getconf.o: nifld.common parim.h jparams.h ggintrp.o: parim.h ggrotat.o: parim.h hgengg.o: parim.h nofld.common hgengrd.o: parim.h hgengrw.o: parim.h hgenll.o: parim.h hgenllw.o: parim.h hgetlsm.o: parim.h nifld.common nofld.common hirlam.o: parim.h nifld.common nofld.common hirlamw.o: parim.h nifld.common nofld.common jparams.h hirlsm.o: parim.h nifld.common nofld.common hll2ll.o: parim.h hll2llw.o: parim.h hnei12.o: parim.h hneill.o: parim.h hntfap.o: parim.h nifld.common nofld.common grfixed.h intf.h hntfaph.o: parim.h nifld.common nofld.common grfixed.h intf.h jparams.h hntfaph.o: current.h hntfaps.o: parim.h nifld.common nofld.common grfixed.h intf.h hntfau.o: parim.h nifld.common nofld.common grfixed.h intf.h hntfauh.o: parim.h nifld.common nofld.common grfixed.h intf.h jparams.h hntfauh.o: current.h intlog.h hntfaus.o: parim.h nifld.common nofld.common grfixed.h intf.h hntfbu.o: parim.h nifld.common nofld.common grfixed.h intf.h hrg2gg.o: parim.h hrg2ggw.o: parim.h hrg2ll.o: parim.h hrg2llw.o: parim.h nifld.common nofld.common hsp2gg.o: parim.h iafree.o: parim.h memreq.h nifld.common nofld.common iagcntl.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h iaidef.o: parim.h nifld.common iainit.o: parim.h memreq.h nifld.common nofld.common grfixed.h iaintgg.o: parim.h nifld.common nofld.common grfixed.h ouspace.h iaintll.o: parim.h nifld.common nofld.common grfixed.h ouspace.h iaogdef.o: parim.h nofld.common iaoldef.o: parim.h nofld.common iarcntl.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h iareset.o: parim.h nofld.common iarmem.o: parim.h nifld.common nofld.common ouspace.h ibasini.o: parim.h nifld.common nofld.common intf.h igalloc.o: parim.h memreq.h igbess.o: jparams.h parim.h igdins.o: parim.h igdiwe.o: parim.h igglat.o: jparams.h parim.h iggmem.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h iggrid.o: parim.h igint.o: parim.h igintr.o: parim.h iglgrid.o: parim.h iglrev.o: parim.h iglsize.o: parim.h iglsm01.o: parim.h jparams.h iglsmb.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h iglsmd.o: parim.h iglsmr.o: parim.h iglsmst.o: parim.h jparams.h ignorm.o: parim.h igplsm.o: parim.h igpoleg.o: parim.h nifld.common igpolew.o: parim.h nifld.common igprec.o: parim.h nifld.common igscan.o: parim.h igsetup.o: parim.h nifld.common nofld.common igsize.o: parim.h igtog.o: parim.h nifld.common nofld.common igtogr.o: parim.h nifld.common nofld.common igtran.o: parim.h init_cm.o: parim.h nifld.common nofld.common grfixed.h current.h insane.o: parim.h nifld.common nofld.common grfixed.h intf.o: parim.h nifld.common nofld.common grfixed.h intf.h intfa.o: parim.h nifld.common nofld.common grfixed.h intf.h intfap.o: parim.h nifld.common nofld.common grfixed.h intf.h intfau.o: parim.h nifld.common nofld.common grfixed.h intf.h intfb.o: parim.h nifld.common nofld.common grfixed.h intf.h jparams.h intfbp.o: parim.h nifld.common nofld.common grfixed.h intf.h intfbu.o: parim.h nifld.common nofld.common grfixed.h intf.h intfc.o: parim.h nifld.common nofld.common grfixed.h intin.o: parim.h nifld.common nofld.common grfixed.h current.h intisl.o: parim.h intisl.h nifld.common nofld.common intlog.o: parim.h intlog.h intlogd.o: intlog.h intlogr.o: parim.h intlog.h intocn.o: parim.h intout.o: parim.h nifld.common nofld.common grfixed.h current.h intpnum.o: grprs.h intuvdh.o: parim.h intf.h nifld.common nofld.common intuvf.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvgh.o: parim.h nifld.common nofld.common grfixed.h intf.h intlog.h intuvgh.o: current.h intuvp.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvph.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvs.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvu.o: parim.h nifld.common nofld.common grfixed.h intf.h intuvxh.o: parim.h nifld.common nofld.common intf.h current.h intvect.o: parim.h nifld.common nofld.common intf.h current.h intwave.o: parim.h nifld.common nofld.common intf.h grfixed.h irdiwe.o: parim.h irgmem.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h irgrid.o: parim.h nifld.common irgtog.o: parim.h nifld.common nofld.common irint.o: parim.h irintr.o: parim.h irlrev.o: parim.h irlsmb.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h irprec.o: parim.h nifld.common irscan.o: parim.h irsize.o: parim.h iscrsz.o: parim.h nifld.common nofld.common grfixed.h islproc.o: intisl.h parim.h nifld.common nofld.common issame.o: parim.h nifld.common nofld.common grfixed.h jacobi.o: jparams.h parim.h jacobif.o: jparams.h parim.h jagggp.o: jparams.h parim.h current.h nifld.common nofld.common grfixed.h jallgp.o: jparams.h parim.h nifld.common jallwn.o: jparams.h parim.h nifld.common jdebug.o: jparams.h jparam2.h jgetgg.o: parim.h nifld.common nofld.common grfixed.h intf.h rgauss_032.h jgetgg.o: rgauss_048.h rgauss_080.h rgauss_080_19940113.h rgauss_128.h jgetgg.o: rgauss_160.h rgauss_160_19931222.h rgauss_200.h rgauss_256.h jgetgg.o: rgauss_320.h rgauss_400.h rgauss_512.h rgauss_1024.h jgglat.o: jparams.h parim.h jintgg.o: jparams.h parim.h jintll.o: jparams.h parim.h jjset99.o: jparams.h parim.h jmakgg.o: jparams.h parim.h jmakgg3.o: jparams.h parim.h jmakll.o: jparams.h parim.h jmakll3.o: jparams.h parim.h jmemhan.o: jparams.h jparam2.h parim.h jmovgg.o: jparams.h parim.h jmovll.o: jparams.h parim.h jmvugg.o: jparams.h parim.h jmvull.o: jparams.h parim.h jnorsgg.o: parim.h jnumgg.o: jparams.h parim.h jnumggq.o: jparams.h parim.h jopngg.o: parim.h jopnggf.o: parim.h jparams.h jparam2.h jopnll.o: parim.h jopnllf.o: parim.h jparams.h jparam2.h jreadgg.o: jparams.h parim.h jreadll.o: jparams.h parim.h jsgggp.o: jparams.h parim.h current.h nifld.common nofld.common grfixed.h jsllgp.o: jparams.h parim.h nifld.common jspleg1.o: jparams.h jstrll.o: jparams.h parim.h nifld.common jstrwll.o: jparams.h parim.h nifld.common jsymgg.o: jparams.h parim.h nifld.common jsymll.o: jparams.h parim.h nifld.common juvpole.o: jparams.h parim.h current.h nofld.common grfixed.h jwindll.o: jparams.h parim.h nifld.common jwscal.o: jparams.h kintrg.o: intisl.h parim.h nifld.common nofld.common knfrom4.o: intisl.h parim.h nifld.common krg2rg.o: parim.h intisl.h nifld.common nofld.common krg2rgu.o: parim.h intisl.h nifld.common nofld.common lrekam.o: parim.h nofld.common lsmfld.o: parim.h nifld.common nofld.common makerl.o: parim.h nofld.common mkbitmp.o: parim.h jparams.h nofld.common mkframe.o: parim.h jparams.h newisl.o: intisl.h parim.h ngintrp.o: parim.h ngrotat.o: parim.h intf.h nmakgg.o: jparams.h parim.h nmakll.o: jparams.h parim.h oceanp.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h oceanp.o: intf.h pddefs.o: parim.h nifld.common ppallow.o: jparams.h parim.h precip.o: parim.h nifld.common nofld.common reset_c.o: parim.h nifld.common nofld.common grfixed.h current.h rphi.o: jparams.h set99.o: jparams.h sprotat.o: parim.h tatorgg.o: parim.h w251idx.o: parim.h waveidx.o: parim.h wavexxx.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h wv2di32.o: parim.h wv2didx.o: parim.h wv2dint.o: parim.h wv2dx32.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h wv2dxxx.o: parim.h nifld.common nofld.common grspace.h grfixed.h grdynam.h wvqlidx.o: parim.h wvqlint.o: parim.h zprec.o: parim.h nifld.common emoslib-000392+dfsg.1/interpolation/debug.h0000755000175000017500000000427612127406245021620 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C**** "debug.h" - This include file contains a set of basic constants C interpolation C C PURPOSE C _______ C C Basic constants for the interpolation library C C INTERFACE C _________ C C #include "debug.h" C C Input parameters C ________________ C C NONE C C Common block usage C __________________ C C NONE C C EXTERNALS C _________ C C NONE C C METHOD C ______ C C NONE C C REFERENCE C _________ C C NONE C C COMMENTS C ________ C C Contains sections 0 to 4 C C AUTHOR C ______ C C K. Fielding *ECMWF* Dec 1993 C C MODIFICATIONS C _____________ C C NONE C C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C C _______________________________________________________ C C C* Section 1. Area definitions which are really local C _______________________________________________________ C COMMON /DEBUG/ IIAREA, IOAREA emoslib-000392+dfsg.1/interpolation/auresol.F0000755000175000017500000000561212127406245022135 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION AURESOL(NS,EW) C C----> C**** AURESOL C C Purpose C ------- C C Returns the default truncation for a given C latitude--longitude grid resolution. C C C Interface C --------- C C KTRUNC = AURESOL(NS,EW) C C Input C ----- C C NS = north-south grid increment in degrees C EW = east-west grid increment in degrees C C Output C ------ C C KTRUNC = Triangular truncation (e.g. 106 for T106) C C C Method C ------ C C Grid increment Truncation C -------------- ---------- C C [2.5 and greater T63 C C [1.5 to 2.5[ T106 C C [0.6 to 1.5[ T213 C C [0.4 to 0.6[ T319 C C [0.3 to 0.4[ T511 C C [0.15 to 0.3[ T799 C C [0 to 0.15[ T1023 C C C Externals C --------- C C None. C C Author C ------ C C J.D.Chambers ECMWF Mar 1998 C C C Reference. C ---------- C C None. C C Modifications C ------------- C C S.Curic ECMWF April 2005 C Add T799 and T1023 C C ------------------------------------------------------------------ C----< C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Function arguments C REAL NS, EW C C Local variables C C Function statement(s) C REAL STEP C STEP = MIN(ABS(NS),ABS(EW)) C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C C 2.5 and greater -> T63 C IF( STEP.GE.2.5 ) THEN AURESOL = 63 GOTO 900 ENDIF C C 1.5 to 2.5 -> T106 C IF( STEP.GE.1.5 ) THEN AURESOL = 106 GOTO 900 ENDIF C C 0.6 to 1.5 -> T213 C IF( STEP.GE.0.6 ) THEN AURESOL = 213 GOTO 900 ENDIF C C 0.4 to 0.6 -> T319 C IF( STEP.GE.0.4 ) THEN AURESOL = 319 GOTO 900 ENDIF C C 0.3 to 0.4 -> T511 C IF( STEP.GE.0.3 ) THEN AURESOL = 511 GOTO 900 ENDIF C C 0.15 to 0.3 -> T799 C IF( STEP.GE.0.15 ) THEN AURESOL = 799 GOTO 900 ENDIF C C 0.09 to 0.15 -> T1279 C IF( STEP.GE.0.09 ) THEN AURESOL = 1279 GOTO 900 ENDIF C C less than 0.09 -> T2047 C AURESOL = 2047 C 900 CONTINUE C END emoslib-000392+dfsg.1/interpolation/jintend.F0000755000175000017500000000421212127406245022111 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JINTEND C C----> C**** JINTEND C C PURPOSE C _______ C C This routine deallocates heap memory (if any) allocated C by JINTLL, JINTGG and/or INTF. C C INTERFACE C _________ C C CALL JINTEND( ) C C C Input parameters C ________________ C C None. C C C Output parameters C ________________ C C None. C C C Common block usage C __________________ C C None. C C C Method C ______ C C None. C C C Externals C _________ C C None. C C C Reference C _________ C C None. C C C Comments C ________ C C None. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* May 1994 C C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C C Local variables C #ifdef POINTER_64 INTEGER*8 IZERO #else INTEGER IZERO #endif INTEGER IRET DATA IZERO/0/ C C _______________________________________________________ C C* Section 1. Deallocate heap memory. C _______________________________________________________ C 100 CONTINUE C C Lat/long (JINTLL) C CALL JMEMHAN( 1, IZERO, 0, 0, IRET ) C C Gaussian (JINTGG) C CALL JMEMHAN( 2, IZERO, 0, 0, IRET ) C C Scratch (INTF) C CALL JMEMHAN( 3, IZERO, 0, 0, IRET ) CALL JMEMHAN( 4, IZERO, 0, 0, IRET ) CALL JMEMHAN( 5, IZERO, 0, 0, IRET ) C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/interpolation/iglsmd.F0000755000175000017500000003432712127406245021747 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGLSMD(KDATE,KREPR,KGRID,KGAUSS,KAREA,KLN, X HFILE, OSTAND, KOGRID, KOLINE, KNREC, KPR, KERR) C C----> C**** *IGLSMD* C C PURPOSE C _______ C C Generate the land sea mask file information. C C INTERFACE C _________ C C IERR = IGLSMD(KDATE,KREPR,KGRID,KGAUSS,KAREA,KLN, C X HFILE, OSTAND, KOGRID, KOLINE, KNREC, KPR, KERR) C C Input parameters C ________________ C C KDATE - The field date in YYMMDD format C C KREPR - The field representation. C C KGRID - The latitude/longitude field grid definition C (WE, NS) or Gaussian truncation. C C KAREA - The field area definition (N, W, S, E). C C KLN - The Northern line number. This is mainly used for C Gaussian grids. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C HFILE - The filename for the land-sea mask. C C OSTAND - Flag indicating whether the land-sea mask is C a prestored "standard" field. C C KOGRID - The grid stride (WE, NS) in a pre-stored C "standard" land sea mask file. C C KOLINE - The offsets (N, W) of the first points in a C pre-stored "standard" land sea mask file. C C KNREC - The file line length for the input array. This is C used for positioning and transfer purposes. C C Return value C ____________ C C The status indicator (INTEGER). C = 0 if OK, C = 25201 if data representation type is not valid. C = 25202 if unable to locate lsm file for reduced gaussian C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C GETENV - Standard routine to get environmental variable. C INDEX - Intrinsic routine to find position of substring. C LEN - Intrinsic routine to find length of string. C INTLOG(R) - Logs messages. C EMOSNUM - Gives current EMOSLIB version number. C C METHOD C ______ C C NOTE This routine is highly machine dependent as the path and C file names for all land sea mask files are in the text. GETENV C is used to allow the specification of an alternate directory C for the storage of land sea masks (variable MARS_LSM_PATH). C C The grid definition is compared with the definitions of the C pre-stored land sea mask files. If a match is found then the C appropriate filename is returned and the stride and offset C arrays are set to appropriate values. If no match is found then C the name of the basic 10 minute 0-1 land sea mask file is C returned. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 5 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Nov 1993 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF 7 Feb 96 C Add lookup for reduced gaussian fields C C J.D.Chambers ECMWF Nov 98 C Change default pathnames. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Function arguments C CHARACTER *(*) HFILE LOGICAL OSTAND INTEGER KDATE, KREPR, KGAUSS, KLN, KNREC, KPR, KERR INTEGER KGRID(2), KAREA(4), KOGRID(2), KOLINE(2) C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 25200) INTEGER JPFILES INTEGER JPN80, JPR160, JP0P5LL, JP0P25LL PARAMETER (JPFILES = 4) PARAMETER (JPN80 = 1) PARAMETER (JPR160 = 2) PARAMETER (JP0P5LL = 3) PARAMETER (JP0P25LL = 4) C INTEGER JPNORMAL CHARACTER YPENVIRON*13, YPNORMAL*44, YPNORMAS*256 PARAMETER (YPENVIRON = 'MARS_LSM_PATH') #ifdef CRAY PARAMETER (JPNORMAL = 30) PARAMETER (YPNORMAL = '/tmp/emos_sms/tables/lsm_64bit') #endif #ifdef __uxp__ PARAMETER (JPNORMAL = 14) PARAMETER (YPNORMAL = '/mrfs/postproc') #endif #if (!defined CRAY) && (!defined __uxp__) PARAMETER (JPNORMAL = 42) PARAMETER (YPNORMAL ='/usr/local/lib/metaps/tables/interpolation') #endif #ifdef TABLE_PATH DATA YPNORMAS / TABLE_PATH / #else DATA YPNORMAS / '' / #endif C C Local variables C CHARACTER*6 YEMOSNM,YFLAG,YFLAG1 INTEGER IEMOSNM INTEGER ILSTRIDE, IRET, IOFFSET LOGICAL LDEBUG, L10MIN, L025 C CHARACTER*80 YBASE, YENVBACK C C List of standard filenames - YFILES C File for 10 minute land sea mask - YLSM10 C CHARACTER*40 YFILES (JPFILES), YLSM10 C INTEGER IBASELEN, ILSM10LEN INTEGER IFILELEN (JPFILES) C C External functions C INTEGER EMOSNUM, LSM_RED EXTERNAL EMOSNUM, LSM_RED C DATA YLSM10 / 'lsm_xx_lsm10m01' / DATA ILSM10LEN / 15 / DATA YFILES/'lsm_xx_lsmn080','lsm_xx_lsmr160', X 'lsm_xx_lsm0p5deg', 'lsm_xx_lsm0p25deg'/ DATA IFILELEN/ 14, 14, 16, 17 / C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C L10MIN = .FALSE. C Force processing with 10min lsm with env variable CALL GETENV('LSM_10MIN', YFLAG) IF( YFLAG(1:1).EQ.'1' ) L10MIN = .TRUE. IF( L10MIN ) CALL INTLOG(JP_DEBUG, X 'IGLSMD: Forcing processing with 10 min',JPQUIET) L025 = .FALSE. C Processing with 0.25 Predefined lsm Enable CALL GETENV('LSM_025', YFLAG1) IF( YFLAG1(1:1).EQ.'1' ) L025 = .TRUE. IF( L025 ) CALL INTLOG(JP_DEBUG, X 'IGLSMD: Processing with 0.25 Predefined LSM Enabled',JPQUIET) IGLSMD = 0 LDEBUG = ( KPR.GE.1 ) C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'IGLSMD: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGLSMD: Date = ',KDATE) CALL INTLOG(JP_DEBUG,'IGLSMD: Grid representation = ',KREPR) CALL INTLOG(JP_DEBUG,'IGLSMD: N line number = ', KLN) C IF( (KREPR.EQ.JPGAUSSIAN).OR. X (KREPR.EQ.JPQUASI) .OR. X (KREPR.EQ.JPQGGROT) .OR. X (KREPR.EQ.JPFGGROT) ) THEN CALL INTLOG(JP_DEBUG,'IGLSMD: Gaussian trunc = ',KGAUSS) ELSE IF( (KREPR.EQ.JPREGULAR).OR.(KREPR.EQ.JPREGROT) ) THEN CALL INTLOG(JP_DEBUG,'IGLSMD: Grid WE = ',KGRID(1)) CALL INTLOG(JP_DEBUG,'IGLSMD: Grid NS = ',KGRID(2)) ENDIF C CALL INTLOG(JP_DEBUG,'IGLSMD: Area North = ', KAREA(1)) CALL INTLOG(JP_DEBUG,'IGLSMD: Area West = ', KAREA(2)) CALL INTLOG(JP_DEBUG,'IGLSMD: Area South = ', KAREA(3)) CALL INTLOG(JP_DEBUG,'IGLSMD: Area East = ', KAREA(4)) C ENDIF C C _______________________________________________________ C C* Section 2. Check environment variable for path of land sea masks. C C GETENV returns a blank value if the environmental C variable is not set. This is true for C90, Sun and C SGI. C _______________________________________________________ C 200 CONTINUE C IF ( LDEBUG ) CALL INTLOG(JP_DEBUG,'IGLSMD: Section 2.',JPQUIET) C CALL GETENV( YPENVIRON, YENVBACK) C IF( YENVBACK.EQ.' ' ) THEN #ifdef __uxp__ C C On Fujitsus, need to build different pathname for vpp300, C vpp700, vpp700e and vpp5000 C CALL GETENV ('HOST', YENVBACK) IF( YENVBACK(1:7).EQ.'vpp5000' )THEN YBASE = '/vpp5000' // YPNORMAL IBASELEN = JPNORMAL + LEN('/vpp5000') ELSE IF( YENVBACK(1:7).EQ.'vpp700e' )THEN YBASE = '/vpp700e' // YPNORMAL IBASELEN = JPNORMAL + LEN('/vpp700e') ELSE IF( YENVBACK(1:6).EQ.'vpp700' )THEN YBASE = '/vpp700' // YPNORMAL IBASELEN = JPNORMAL + LEN('/vpp700') ELSE YBASE = YPNORMAL IBASELEN = JPNORMAL ENDIF #else IOFFSET = INDEX(YPNORMAS,' ') - 1 IF(IOFFSET.GT.0) THEN YBASE = YPNORMAS(1:IOFFSET)//'/land_sea_mask/' cs IBASELEN = LEN(YBASE) cs big fix by Iain Russel IBASELEN = INDEX(YBASE,' ') - 1 ELSE YBASE = YPNORMAL IBASELEN = JPNORMAL ENDIF #endif ELSE YBASE = YENVBACK IBASELEN = INDEX (YENVBACK, ' ') - 1 IF( IBASELEN.LT.0 ) IBASELEN = LEN (YENVBACK) IF( IBASELEN.EQ.0 ) THEN #ifdef __uxp__ C C On Fujitsus, need to build different pathname for vpp300, C vpp700, vpp700e and vpp5000 C CALL GETENV ('HOST', YENVBACK) IF( YENVBACK(1:7).EQ.'vpp5000' )THEN YBASE = '/vpp5000' // YPNORMAL IBASELEN = JPNORMAL + LEN('/vpp5000') ELSE IF( YENVBACK(1:7).EQ.'vpp700e' )THEN YBASE = '/vpp700e' // YPNORMAL IBASELEN = JPNORMAL + LEN('/vpp700e') ELSE IF( YENVBACK(1:6).EQ.'vpp700' )THEN YBASE = '/vpp700' // YPNORMAL IBASELEN = JPNORMAL + LEN('/vpp700') ELSE YBASE = YPNORMAL IBASELEN = JPNORMAL ENDIF #else YBASE = YPNORMAL IBASELEN = JPNORMAL #endif ENDIF ENDIF C C _______________________________________________________ C C* Section 3. Standard Gaussian grids - N80 C _______________________________________________________ C 300 CONTINUE C IF( (KREPR.EQ.JPGAUSSIAN).OR. X (KREPR.EQ.JPFGGROT) ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IGLSMD: Section 3.',JPQUIET) C ILSTRIDE = JP90 / KGAUSS KOGRID (JPWESTEP) = 1 KOGRID (JPNSSTEP) = 1 KOLINE (JPWEST) = KAREA (JPWEST) / ILSTRIDE + 1 KOLINE (JPNORTH) = KLN C IF( KGAUSS.EQ.80 ) THEN C HFILE = YBASE(1:IBASELEN) // '/' // X YFILES(JPN80)(1:IFILELEN(JPN80) ) OSTAND = .TRUE. KNREC = 320 C ELSE C HFILE = YBASE(1:IBASELEN) // '/' // YLSM10(1:ILSM10LEN) OSTAND = .FALSE. KNREC = JPPACK C ENDIF C C _______________________________________________________ C C* Section 4. Standard reduced Gaussian grids - R160 C _______________________________________________________ C 400 CONTINUE C ELSE IF( KREPR.EQ.JPQUASI ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IGLSMD: Section 4.',JPQUIET) C KOGRID(JPWESTEP) = 1 KOGRID(JPNSSTEP) = 1 KOLINE(JPWEST) = 1 KOLINE(JPNORTH) = KLN C IF( KGAUSS.EQ.160 ) THEN #ifdef CRAY IRET = LSM_RED(KGAUSS,KDATE,64,HFILE) #else IRET = LSM_RED(KGAUSS,KDATE,32,HFILE) #endif IF( IRET.EQ.0 ) THEN IF( LDEBUG ) CALL INTLOG(JP_ERROR, X 'IGLSMD: LSM_RED unable to locate lsm file.',JPQUIET) IGLSMD = JPROUTINE + 2 GOTO 900 ENDIF OSTAND = .TRUE. KNREC = 0 ELSE C HFILE = YBASE(1:IBASELEN) // '/' // YLSM10(1:ILSM10LEN) OSTAND = .FALSE. KNREC = JPPACK C ENDIF C C _______________________________________________________ C C* Section 5. Latitude/longitude grids C C The standard 0.5 degree grid is used for any C grid which has a stride which is a multiple of C 0.5 and North and South limits which are a C multiple of 0.5 C _______________________________________________________ C 500 CONTINUE C ELSE IF( (KREPR.EQ.JPREGULAR).OR.(KREPR.EQ.JPREGROT) ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IGLSMD: Section 5.',JPQUIET) C IF( MOD(KGRID(JPNSSTEP),JP0P5).EQ.0 .AND. 1 MOD(KGRID(JPWESTEP),JP0P5).EQ.0 .AND. 2 MOD(KAREA(JPNORTH), JP0P5).EQ.0 .AND. 3 MOD(KAREA(JPWEST), JP0P5).EQ.0 .AND. 4 .NOT.L10MIN ) THEN C HFILE = YBASE(1:IBASELEN) // '/' // 1 YFILES(JP0P5LL) (1: IFILELEN (JP0P5LL) ) OSTAND = .TRUE. KNREC = 720 C KOGRID(JPWESTEP) = KGRID(JPWESTEP) / JP0P5 KOGRID(JPNSSTEP) = KGRID(JPNSSTEP) / JP0P5 KOLINE(JPWEST) = KAREA(JPWEST) / JP0P5 + 1 KOLINE(JPNORTH) = (JP90 - KAREA(JPNORTH) ) / JP0P5 + 1 C ELSE C HFILE = YBASE(1:IBASELEN) // '/' // YLSM10(1:ILSM10LEN) OSTAND = .FALSE. KNREC = JPPACK C KOGRID (JPWESTEP) = 1 KOGRID (JPNSSTEP) = 1 KOLINE (JPWEST) = 1 KOLINE (JPNORTH) = KLN C ENDIF ELSE IGLSMD = JPROUTINE + 1 IF( KERR.GE.0 ) CALL INTLOG(JP_ERROR, X 'IGLSMD: Invalid data representation = ',KREPR) C IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IGLSMD: Interpolation failed.',IGLSMD) C GOTO 900 ENDIF IF( L025 ) THEN IF( KGRID(JPNSSTEP).EQ.JP0P25.AND. 1 KGRID(JPWESTEP).EQ.JP0P25.AND. 2 MOD(KAREA(JPNORTH), JP0P25).EQ.0 .AND. 3 MOD(KAREA(JPWEST), JP0P25).EQ.0 .AND. 4 .NOT.L10MIN ) THEN C HFILE = YBASE(1:IBASELEN) // '/' // 1 YFILES(JP0P25LL) (1: IFILELEN (JP0P25LL) ) OSTAND = .TRUE. KNREC = 1440 C KOGRID(JPWESTEP) = 1 KOGRID(JPNSSTEP) = 1 KOLINE(JPWEST) = KAREA(JPWEST) / JP0P25 + 1 KOLINE(JPNORTH) = (JP90 - KAREA(JPNORTH) ) / JP0P25 + 1 ENDIF ENDIF C C _______________________________________________________ C C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IGLSMD: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/ixtract.c0000755000175000017500000000535012127406245022175 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifdef FORTRAN_NO_UNDERSCORE #define IINSERT iinsert #define RINSERT rinsert #define DINSERT dinsert #define IXTRACT ixtract #define RXTRACT rxtract #define DXTRACT dxtract #define RMOVEN rmoven #define JLOC jloc #else #define IINSERT iinsert_ #define RINSERT rinsert_ #define DINSERT dinsert_ #define IXTRACT ixtract_ #define RXTRACT rxtract_ #define DXTRACT dxtract_ #define RMOVEN rmoven_ #define JLOC jloc_ #endif #include #include "fortint.h" fortint IXTRACT(JPointer * array, fortint * index) { fortint * p = (fortint *) *array; /* // Extracts a Fortran integer from an array. // Note that the array pointer is given by reference. */ return (fortint) p[(*index)-1]; } fortreal RXTRACT(RPointer * array, fortint * index) { fortreal * p = (fortreal *) *array; /* // Extracts a Fortran real from an array. // Note that the array pointer is given by reference. */ return (fortreal) p[(*index)-1]; } void DXTRACT(void * target, void ** array, fortint * index) { /* // Extracts a Fortran REAL*8 from an array of doubles. // Note that the array pointer is given by reference. */ unsigned char * p = (unsigned char*)(*array) + ((*index)-1)*8; memmove(target, p, 8); return; } void IINSERT(JPointer * array, fortint * index, fortint * value) { fortint * p = (fortint *) *array; /* // Inserts a Fortran integer into an array. // Note that the array pointer is given by reference. */ p[(*index)-1] = *value; return; } void RINSERT(RPointer * array, fortint * index, fortreal * value) { fortreal * p = (fortreal *) *array; /* // Inserts a Fortran real into an array. // Note that the array pointer is given by reference. */ p[(*index)-1] = *value; return; } void DINSERT(void ** array, fortint * index, void * value) { /* // Inserts a Fortran single into a (double) array. // Note that the array pointer is given by reference. */ unsigned char * p = (unsigned char*)(*array) + ((*index)-1)*8; memmove(p,value,8); return; } void RMOVEN(RPointer * target, RPointer * source, fortint * number) { fortreal * Target = (fortreal *) *target; fortreal * Source = (fortreal *) *source; size_t N = (*number) * sizeof(fortreal); /* // Moves Fortran reals from one array to another. // Note that the array pointers are given by reference. */ memmove(Target, Source, N); } RPointer JLOC(RPointer array) { /* // Emulates the Fortran %LOC function */ return array; } emoslib-000392+dfsg.1/interpolation/ouspace.h0000755000175000017500000000364412127406245022167 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C**** "ouspace.h" C C PURPOSE C _______ C C This file contains the work space array definitions for the C arrays to hold the unpacked real data from GRIB fields. C C INTERFACE C _________ C C #include "ouspace.h" C C Common block usage C __________________ C C GRIB_SPACE C C NIFELD - POINTER to array RIFELD. C NOFELD - POINTER to array ROFELD. C C RIFELD - Dynamic array of length (NIWE * NINS) C (see nifld.common) which holds the expanded C input field. C ROFELD - Dynamic array of length (NOWE * NONS) C (see nofld.common) which holds the expanded C output field. C C METHOD C ______ C C NONE C C REFERENCE C _________ C C NONE C C COMMENTS C ________ C C Contains sections 1 C C AUTHOR C ______ C C K. Fielding *ECMWF* Apr 1994 C C MODIFICATIONS C _____________ C C NONE C C C _______________________________________________________ C C C* Section 1. Pointer and array combination C Array dimensions are in nifld.common and C nofld.common C _______________________________________________________ C COMMON /GRIB_SPACE/ 1 NIFELD, NOFELD C SAVE /GRIB_SPACE/ C REAL RIFELD, ROFELD C C RIFELD is actually only the accumulated field length for a C quasi regular input field C POINTER (NIFELD, RIFELD (NIWE * NINS) ) POINTER (NOFELD, ROFELD (NOWE * NONS) ) emoslib-000392+dfsg.1/interpolation/sources.sgimips0000755000175000017500000001012112127406245023423 0ustar amckinstryamckinstry HEADERS = \ current.h \ debug.h \ grfixed.h \ intf.h \ jparams.h \ ouspace.h \ grdynam.h \ grspace.h \ intlog.h \ memreq.h \ parim.h VECTOR.F = dummy.F NO_OPT.F = dummy2.F SOURCES.F = \ areachk.F \ estima.F \ chkout.F \ auresol.F \ chequal.F \ chkprec.F \ clear_c.F \ csum.F \ ddstyle.F \ dssarea.F \ eulavgg.F \ fft99.F \ fixarea.F \ freecf.F \ funcs.F \ gb2gb.F \ getconf.F \ ggintrp.F \ ggrotat.F \ ggvalue.F \ hgengg.F \ hgengrd.F \ hgengrw.F \ hgenll.F \ hgenllw.F \ hgetlsm.F \ hirlam.F \ hirlamw.F \ hirlsm.F \ hll2ll.F \ hll2llw.F \ hll2xyz.F \ hnei12.F \ hneill.F \ hntfap.F \ hntfaph.F \ hntfaps.F \ hntfau.F \ hntfauh.F \ hntfaus.F \ hntfbu.F \ hpshgpw.F \ hrg2gg.F \ hrg2ggw.F \ hrg2ll.F \ hrg2llw.F \ hsp2gg.F \ hsp2gg2.F \ hsp2gg3.F \ hwts12.F \ hwtsll.F \ hwtslsm.F \ iafree.F \ iagcntl.F \ iaidef.F \ iainit.F \ iaintgg.F \ iaintll.F \ iaogdef.F \ iaoldef.F \ iarcntl.F \ iareset.F \ iarmem.F \ ibasini.F \ igalloc.F \ igbess.F \ igdins.F \ igdiwe.F \ igglat.F \ iggmem.F \ iggrid.F \ igint.F \ igintr.F \ iglgrid.F \ iglrev.F \ iglsize.F \ iglsm01.F \ iglsmb.F \ iglsmd.F \ iglsmr.F \ iglsmst.F \ ignorm.F \ igplsm.F \ igpoleg.F \ igpolew.F \ igprec.F \ igscan.F \ igsetup.F \ gasetup.F \ outrep.F \ gettru.F \ igsize.F \ igtog.F \ igtogr.F \ igtran.F \ init_cm.F \ insane.F \ intf.F \ intfa.F \ intfap.F \ intfau.F \ intfb.F \ intfbp.F \ intfbu.F \ intfc.F \ intin.F \ intisl.F \ intlog.F \ intlogd.F \ intlogr.F \ intocn.F \ intocnu.F \ intout.F \ intpnum.F \ intuvdh.F \ intuvf.F \ intuvgh.F \ intuvp.F \ intuvph.F \ intuvs.F \ intuvu.F \ intuvy.F \ intuvxh.F \ intvect.F \ intvecy.F \ intwave.F \ intwave2.F \ intwavu.F \ irdiwe.F \ irgmem.F \ irgrid.F \ irgtog.F \ irint.F \ irintr.F \ irlrev.F \ irlsmb.F \ irprec.F \ irscan.F \ irsize.F \ iscrsz.F \ islproc.F \ issame.F \ jacobi.F \ jagggp.F \ jallgp.F \ jallwn.F \ jdebug.F \ jfindfn.F \ jfindfn3.F \ jfindir.F \ jgetgg.F \ jgglat.F \ jintend.F \ jintgg.F \ jintll.F \ jjset99.F \ jmakgg.F \ jmakgg3.F \ jmakll.F \ jmakll3.F \ jmemhan.F \ jmemhan2.F \ jmkofgg.F \ jmovgg.F \ jmovll.F \ jmvugg.F \ jmvull.F \ jnorsgg.F \ jnumgg.F \ jnumggq.F \ jopngg.F \ jopnggf.F \ jopnll.F \ jopnllf.F \ jreadgg.F \ jreadll.F \ jsgggp.F \ jsh2sh.F \ jsllgp.F \ jspleg1.F \ jsppole.F \ jstrll.F \ jstrwll.F \ jsymgg.F \ jsymll.F \ juvpole.F \ jvod2uv.F \ jwindll.F \ jwscal.F \ kintrg.F \ knfrom4.F \ krg2rg.F \ krg2rgu.F \ krg2rgd.F \ krg2rgy.F \ lgrpr4.F \ ll2xyz.F \ lrekam.F \ lsmfld.F \ lsm_red.F \ makerl.F \ mkbitmp.F \ mkframe.F \ newisl.F \ ngintrp.F \ ngrotat.F \ ngvalue.F \ nmakgg.F \ nmakll.F \ nptwe32.F \ numptns.F \ numptwe.F \ oceanp.F \ oceanu.F \ pddefs.F \ precip.F \ qpassm.F \ reset_c.F \ rpassm.F \ rphi.F \ set99.F \ sprotat.F \ sscal.F \ strlat.F \ tatorgg.F \ zprec.F \ w251idx.F \ waveidx.F \ wavexxx.F \ wavexx2.F \ wv2di32.F \ wv2didx.F \ wv2dint.F \ wv2dx32.F \ wv2dxxx.F \ wv2dxx2.F \ wvqlidx.F \ wvqlint.F \ wvqlin2.F \ xrotate.F \ xyz2ll.F \ outrep.F \ setrep.F \ global.F \ yrotate.F SOURCES.c = \ emosPrecision.c \ fftchk.c \ gmapbit.c \ intlogs.c \ jchmod.c \ jindex.c \ jopnggsm.c \ jopnllsm.c \ jtimer.c \ makemap.c \ my_ialloc.c \ rddefs.c \ showmap.c \ soffset.c emoslib-000392+dfsg.1/interpolation/igsetup.F0000755000175000017500000004061712127406245022147 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGSETUP( KSEC1, KSEC2, KSEC4) C C----> C**** IGSETUP C C Purpose C ------- C C Setup GRIB sections 1, 2 and 4 for the new interpolation product. C C C Interface C --------- C C IRET IGSETUP( KSEC1, KSEC2, KSEC4) C C Input C ----- C C KSEC1 - Section 1 values (for GRIBEX) C KSEC2 - Section 2 values (for GRIBEX) C KSEC3 - Section 4 values (for GRIBEX) C C Output C ------ C C KSEC1 - Modified section 1 values (for GRIBEX) C KSEC2 - Modified section 2 values (for GRIBEX) C KSEC3 - Modified section 4 values (for GRIBEX) C C Method C ------ C C Use common block values and existing values from the original GRIB C product used for interpolation. C C C Externals C --------- C C INTLOG - Logs messages. C C C Author C ------ C C J.D.Chambers ECMWF Aug 1994 C C----< C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Parameter(s) C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 19100 ) C C Function arguments C INTEGER KSEC1, KSEC2, KSEC4 DIMENSION KSEC1(*), KSEC2(*), KSEC4(*) C C Local variables C LOGICAL LIROTAT, LOROTAT INTEGER ILOOP, ITEMP C C*********************************************************************** C Section 1. Startup. C*********************************************************************** C 100 CONTINUE C IGSETUP = 0 C C Check a recognized data representation type is being processed C IF ( (NOREPR .NE.JPREGULAR ) .AND. X (NOREPR .NE.JPREGROT ) .AND. X (NOREPR .NE.JPGAUSSIAN ) .AND. X (NOREPR .NE.JPFGGROT ) .AND. X (NOREPR .NE.JPQUASI ) .AND. X (NOREPR .NE.JPQGGROT ) .AND. X (NOREPR .NE.JPSPHROT ) .AND. X (NOREPR .NE.JPSPHERE ) ) GOTO 910 C C Set flags if input is rotated or if a rotation angle has been given C LIROTAT = (NIREPR.EQ.JPSPHROT).OR. X (NIREPR.EQ.JPREGROT).OR. X (NIREPR.EQ.JPFGGROT).OR. X (NIREPR.EQ.JPQGGROT) C LOROTAT = ((NOROTA(1).NE.-9000000).AND.(NOROTA(1).NE.0)).OR. X (NOROTA(2).NE.0) C C*********************************************************************** C Section 2. Setup output product section 1. C*********************************************************************** C 200 CONTINUE C C Setup output if not given by input GRIB message C (ie input is 'unpacked'). C IF ( NIFORM .NE. 1 ) THEN C C Code table ( same as input ) C KSEC1(1) = NOTABLE C C Originating centre = ECMWF C KSEC1(2) = 98 C C Generating process ID = 255 C Grid definition = 255 C KSEC1(3) = 255 KSEC1(4) = 255 C C Parameter C KSEC1(6) = NOPARAM C C Level C KSEC1(7) = NOLEVT KSEC1(8) = NOLEVEL KSEC1(9) = 0 C C Dummy date and time ( 1 Jan 1990, 1200 ) C KSEC1(10) = 90 KSEC1(11) = 1 KSEC1(12) = 1 KSEC1(13) = 12 KSEC1(14) = 0 C C Dummy verifying time (initialised analysis) C KSEC1(15) = 1 KSEC1(16) = 0 KSEC1(17) = 0 KSEC1(18) = 1 KSEC1(19) = 0 KSEC1(20) = 0 C C Century ( = 20 ) C KSEC1(21) = 20 C C Lots of zeroes C DO 210 ILOOP = 22, 36 KSEC1(ILOOP) = 0 210 CONTINUE C C Allow for user specified output field values when input is packed C ELSE C C Code table C KSEC1(1) = NOTABLE C C Parameter C IF( LNOPARA ) KSEC1(6) = NOPARAM C C Level C IF( LNOLEVT ) KSEC1(7) = NOLEVT IF( LNOLEVL ) THEN KSEC1(8) = NOLEVEL KSEC1(9) = 0 ENDIF ENDIF C C Section 2 included, section 3 omitted C KSEC1(5) = 128 C C Rest of section 1 kept unchanged from input product C C*********************************************************************** C Section 3. Setup output product section 2. C*********************************************************************** C 300 CONTINUE C C Data representation type C C Adjust output representation type if field is rotated C IF( LIROTAT.OR.LOROTAT ) THEN KSEC2(1) = NOREPR IF(NOREPR.EQ.JPREGULAR ) KSEC2(1) = JPREGROT IF(NOREPR.EQ.JPSPHERE ) KSEC2(1) = JPSPHROT IF(NOREPR.EQ.JPQUASI ) KSEC2(1) = JPFGGROT IF(NOREPR.EQ.JPQGGROT ) KSEC2(1) = JPFGGROT IF(NOREPR.EQ.JPGAUSSIAN ) KSEC2(1) = JPFGGROT C ELSE C IF( (NOREPR.EQ.JPQUASI).OR.(NOREPR.EQ.JPQGGROT) ) THEN KSEC2(1) = JPGAUSSIAN ELSE KSEC2(1) = NOREPR ENDIF ENDIF C C*********************************************************************** C Section 3.1. Setup section 2 for lat/long, equidistant C cylindrical or plate carre grids. C*********************************************************************** C 310 CONTINUE C IF ( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C For south to north grids, only global area allowed (eg KWBC SST) C cs IF( KSEC2(4).LT.KSEC2(7) ) THEN cs IF((NOAREA(1).NE.(-NOAREA(3))).AND.(NOAREA(3).NE.JP90)) THEN cs CALL INTLOG(JP_ERROR, cs X 'IGSETUP: Subareas not allowed interpolating',JPQUIET) cs CALL INTLOG(JP_ERROR, cs X 'IGSETUP: grids running from south to north',JPQUIET) cs IGSETUP = JPROUTINE + 2 cs GOTO 900 cs ENDIF cs ENDIF C C Number of points along a parallel C KSEC2(2) = NOWE C C Number of points along a meridian C KSEC2(3) = NONS C C Latitude and longitude of first grid point C IF( NOAREA(1).GE.0 ) THEN KSEC2(4) = (NOAREA(1)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(4) = (NOAREA(1)-(JPMICRO/2)) / JPMICRO ENDIF IF( NOAREA(2).GE.0 ) THEN KSEC2(5) = (NOAREA(2)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(5) = (NOAREA(2)-(JPMICRO/2)) / JPMICRO ENDIF C C Resolution flag, increments are given C KSEC2(6) = 128 C C Latitude and longitude of last grid point C IF( NOAREA(3).GE.0 ) THEN KSEC2(7) = (NOAREA(3)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(7) = (NOAREA(3)-(JPMICRO/2)) / JPMICRO ENDIF IF( NOAREA(4).GE.0 ) THEN KSEC2(8) = (NOAREA(4)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(8) = (NOAREA(4)-(JPMICRO/2)) / JPMICRO ENDIF C C Flip latitudes if they run from south to north C Set scanning mode flags C IF( KSEC2(4).LT.KSEC2(7) ) THEN IF( LNOGRID ) THEN ITEMP = KSEC2(7) KSEC2(7) = KSEC2(4) KSEC2(4) = ITEMP KSEC2(11) = 0 ELSE KSEC2(11) = 64 ENDIF ELSE KSEC2(11) = NOSCNM ENDIF C C i and j direction increments C KSEC2(9) = (NOGRID(1) + (JPMICRO/2)) / JPMICRO KSEC2(10) = (NOGRID(2) + (JPMICRO/2)) / JPMICRO C C Following left same as for input product C - no.of vertical coordinate parameters, C - lat/long of southern pole of rotation C - lat/long of pole of stretching C C If rotated, put in new lat/long of southern pole of rotation C IF( LIROTAT.OR.LOROTAT ) THEN IF( NOROTA(1).GE.0 ) THEN KSEC2(13) = (NOROTA(1) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(13) = (NOROTA(1) - (JPMICRO/2)) / JPMICRO ENDIF IF( NOROTA(2).GE.0 ) THEN KSEC2(14) = (NOROTA(2) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(14) = (NOROTA(2) - (JPMICRO/2)) / JPMICRO ENDIF ENDIF C C Regular grid flag C KSEC2(17) = 0 C C Following left same as for input product C - earth flag C - components flag C - reserved fields C ENDIF C C*********************************************************************** C Section 3.2. Setup section 2 for gaussian grids. C*********************************************************************** C 320 CONTINUE C IF ( (NOREPR.EQ.JPGAUSSIAN).OR. X (NOREPR.EQ.JPFGGROT).OR. X (NOREPR.EQ.JPQUASI).OR. X (NOREPR.EQ.JPQGGROT) ) THEN C C Number of points along a parallel C C For a regular gaussian grid only IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN KSEC2(2) = NOWE ELSE KSEC2(2) = 0 ENDIF C C Number of points along a meridian C KSEC2(3) = NONS C C Latitude and longitude of first grid point C IF( NOAREA(1).GE.0 ) THEN KSEC2(4) = (NOAREA(1)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(4) = (NOAREA(1)-(JPMICRO/2)) / JPMICRO ENDIF IF( NOAREA(2).GE.0 ) THEN KSEC2(5) = (NOAREA(2)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(5) = (NOAREA(2)-(JPMICRO/2)) / JPMICRO ENDIF C C Resolution flag C C For a regular gaussian grid only, increments are given C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN KSEC2(6) = 128 ELSE KSEC2(6) = 0 ENDIF C C Latitude and longitude of last grid point C IF( NOAREA(3).GE.0 ) THEN KSEC2(7) = (NOAREA(3)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(7) = (NOAREA(3)-(JPMICRO/2)) / JPMICRO ENDIF IF( NOAREA(4).GE.0 ) THEN KSEC2(8) = (NOAREA(4)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(8) = (NOAREA(4)-(JPMICRO/2)) / JPMICRO ENDIF C C i direction increment C C For a regular gaussian grid, only C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN KSEC2(9) = (((JP90)/NOGAUSS)+(JPMICRO/2)) / JPMICRO ELSE KSEC2(9) = 0 ENDIF C C Number of parallels between a pole and the Equator C KSEC2(10) = NOGAUSS C C Scanning mode flags C KSEC2(11) = NOSCNM C C Following left same as for input product C - no.of vertical coordinate parameters, C - lat/long of southern pole of rotation C - lat/long of pole of stretching C C If rotated, put in new lat/long of southern pole of rotation C IF( LIROTAT.OR.LOROTAT ) THEN IF( NOROTA(1).GE.0 ) THEN KSEC2(13) = (NOROTA(1) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(13) = (NOROTA(1) - (JPMICRO/2)) / JPMICRO ENDIF IF( NOROTA(2).GE.0 ) THEN KSEC2(14) = (NOROTA(2) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(14) = (NOROTA(2) - (JPMICRO/2)) / JPMICRO ENDIF ENDIF C C Regular grid flag C IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPFGGROT) ) THEN KSEC2(17) = 0 ELSE KSEC2(17) = 1 ENDIF C C Following left same as for input product C - earth flag C - components flag C - reserved fields C C For reduced grid, move in number of points along each parallel C IF( (NOREPR.EQ.JPQUASI) .OR. X (NOREPR.EQ.JPQGGROT) ) THEN DO 325 ILOOP = 1, KSEC2(3) KSEC2(22+ILOOP) = NOLPTS(ILOOP+NO1NS-1) 325 CONTINUE ENDIF C ENDIF C C*********************************************************************** C Section 3.3. Setup section 2 for spherical harmonic coefficients. C*********************************************************************** C 330 CONTINUE C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN C C I, K, M pentagonal resolution parameters C KSEC2(2) = NORESO KSEC2(3) = NORESO KSEC2(4) = NORESO C C Representation type, associated legendre functions of the C first kind KSEC2(5) = 1 C C Representation mode, complex packing C KSEC2(6) = 2 C C Following left same as for input product C - reserved words 7-11 C - no.of vertical coordinate parameters, C - lat/long of southern pole of rotation C - lat/long of pole of stretching C - reserved words 17-22 C C If rotated, put in new lat/long of southern pole of rotation C IF( LIROTAT.OR.LOROTAT ) THEN IF( NOROTA(1).GE.0 ) THEN KSEC2(13) = (NOROTA(1) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(13) = (NOROTA(1) - (JPMICRO/2)) / JPMICRO ENDIF IF( NOROTA(2).GE.0 ) THEN KSEC2(14) = (NOROTA(2) + (JPMICRO/2)) / JPMICRO ELSE KSEC2(14) = (NOROTA(2) - (JPMICRO/2)) / JPMICRO ENDIF ENDIF ENDIF C C*********************************************************************** C Section 4. Setup output product section 4. C*********************************************************************** C 400 CONTINUE C C Number of values to be packed C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN KSEC4(1) = (NORESO + 1) * (NORESO + 2) ELSE IF( (NOREPR.EQ.JPQUASI).OR.(NOREPR.EQ.JPQGGROT) ) THEN KSEC4(1) = NOPCNT ELSE KSEC4(1) = NOWE * NONS ENDIF C C If all the values are missing, set the count of values negative C IF(NOMISS.NE.0) THEN KSEC4(1) = -KSEC4(1) ENDIF C C Number of bits used for each packed value C KSEC4(2) = NOACC C C Type of data, spherical harmonic = 128, grid point = 0 C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN KSEC4(3) = 128 ELSE KSEC4(3) = 0 ENDIF C C Type of packing, spherical harmonic = complex C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN KSEC4(4) = 64 ELSE KSEC4(4) = 0 ENDIF C C Type of data = floating point C KSEC4(5) = 0 C C Additional flags indicator = none C KSEC4(6) = 0 C C Reserved word, set to 0 C KSEC4(7) = 0 C C Following set to simplest case C - no.of values indicator C - secondary bitmaps indicator C - values width indicator C - no.of bits for 2nd order values C KSEC4(8) = 0 KSEC4(9) = 0 KSEC4(10) = 0 KSEC4(11) = 0 C C Reserved words, set to 0 C KSEC4(12) = 0 KSEC4(13) = 0 KSEC4(14) = 0 KSEC4(15) = 0 C C If spherical harmonics, set following for complex packing C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN C C KSEC4(16), pointer to start of packed data, setup by packing C KSEC4(17), scaling factor P, unchanged from input C KSEC4(18), pentagonal resolution parameter J for packing of subset, C unchanged from input C KSEC4(19), pentagonal resolution parameter K for packing of subset, C unchanged from input C KSEC4(20), pentagonal resolution parameter M for packing of subset, C unchanged from input C ELSE DO 410 ILOOP = 16, 20 KSEC4(ILOOP) = 0 410 CONTINUE ENDIF C C Words 21-33 reserved, set to zero. C DO 420 ILOOP = 21, 33 KSEC4(ILOOP) = 0 420 CONTINUE C C*********************************************************************** C Section 9. Closedown C*********************************************************************** C 900 CONTINUE C RETURN C C Invalid data represntation type C 910 CONTINUE CALL INTLOG(JP_ERROR, X 'IGSETUP: Data representation type not recognized: ',NOREPR) CALL INTLOG(JP_ERROR, X 'IGSETUP: Only the following types are recognized:',JPQUIET) CALL INTLOG(JP_ERROR,'IGSETUP: Lat/long grid = ', JPREGULAR) CALL INTLOG(JP_ERROR,'IGSETUP: Lat/long (rotated) = ', JPREGROT) CALL INTLOG(JP_ERROR,'IGSETUP: regular gaussian = ', JPGAUSSIAN) CALL INTLOG(JP_ERROR,'IGSETUP: reg gauss rotated = ', JPFGGROT) CALL INTLOG(JP_ERROR,'IGSETUP: reduced gaussian = ', JPQUASI) CALL INTLOG(JP_ERROR,'IGSETUP: red gauss rotated = ', JPQUASI) CALL INTLOG(JP_ERROR,'IGSETUP: spherical harmonic = ', JPSPHERE) CALL INTLOG(JP_ERROR,'IGSETUP: spectral (rotated) = ', JPSPHROT) C IGSETUP = JPROUTINE + 1 RETURN END emoslib-000392+dfsg.1/interpolation/hirlamw.F0000755000175000017500000004635412127406245022136 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HIRLAMW(L12PNT,OLDFLDU,OLDFLDV,KOUNT,KGAUSS,AREA, X POLE,GRID,NEWFLDU,NEWFLDV,KSIZE,NLON,NLAT) C C----> C**** HIRLAMW C C Purpose C ------- C C This routine creates a rotated regular lat/long field from a C gaussian field using 12-point horizontal interpolation. C C C Interface C --------- C C IRET = HIRLAMW(L12PNT,OLDFLDU,OLDFLDV,KOUNT,KGAUSS,AREA, C X POLE,GRID,NEWFLDU,NEWFLDV,KSIZE,NLON,NLAT) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C = .TRUE. for 12-point horizontal C = .FALSE. for 4-point C OLDFLDU - The array of values from the gaussian U field C OLDFLDV - The array of values from the gaussian V field C KOUNT - Number of values in OLDFLDU/V C KGAUSS - Gaussian number for the gaussian field C AREA - Limits of output area (N/W/S/E) C POLE - Pole of rotation (lat/long) C GRID - Output lat/long grid increments (we/ns) C KSIZE - The size of the output array to fill with the regular C lat/long field C C C Output parameters C ----------------- C C NEWFLDU - The array of values for the regular lat/long U field C NEWFLDV - The array of values for the regular lat/long V field C NLON - Number of longitudes in the regular lat/long field C NLAT - Number of latitudes in the regular lat/long field C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C nifld.common C nofld.common C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C JGETGG - Reads the definition of a gaussian grid C HGENGRW - Calculates original lat/long (before rotation) for C a rotated grid for wind fields. C HNEI12 - Finds neighbours for points for interpolation C HWTS12 - Calculates weightings for points for interpolation C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "jparams.h" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) C C Function arguments C LOGICAL L12PNT INTEGER KOUNT, KGAUSS, KSIZE, NLON, NLAT REAL AREA(4), POLE(2), GRID(2) REAL OLDFLDU(*), OLDFLDV(*) REAL NEWFLDU(KSIZE), NEWFLDV(KSIZE) C C Local variables C INTEGER NEXT, LOOP, IRET, NLEN, NPREV, NBYTES, NUMBER INTEGER COUNTU, COUNTV, NEAREST C LOGICAL LNEW, LFIRST INTEGER KSCHEME(1),NEIGH(12,1), KLA(1) REAL PWTS(12,1) POINTER (IPKSCHE, KSCHEME) POINTER (IPNEIGH, NEIGH) POINTER (IPKLA, KLA) POINTER (IPPWTS, PWTS) C REAL PDLO0(1),PDLO1(1),PDLO2(1),PDLO3(1),PDLAT(1) POINTER (IPPDLO0, PDLO0) POINTER (IPPDLO1, PDLO1) POINTER (IPPDLO2, PDLO2) POINTER (IPPDLO3, PDLO3) POINTER (IPPDLAT, PDLAT) C INTEGER IGG, IGGOLD INTEGER KPTS(1) REAL GLATS(1) INTEGER IOFFS(1) POINTER (IPKPTS, KPTS) POINTER (IPIOFFS, IOFFS) POINTER (IPGLATS, GLATS) C INTEGER ILL, ILLOLD REAL RCLAT(1),RCLON(1),RLAT(1),RLON(1),RDIR(1),C(1),S(1),U(1),V(1) POINTER (IPRCLAT, RCLAT) POINTER (IPRCLON, RCLON) POINTER (IPRLAT, RLAT) POINTER (IPRLON, RLON) POINTER (IPRDIR, RDIR) POINTER (IPC, C) POINTER (IPS, S) POINTER (IPU, U) POINTER (IPV, V) C REAL OLDU(KOUNT), OLDV(KOUNT) C DATA NPREV/-1/ DATA NUMBER/-1/ DATA LNEW/.FALSE./, LFIRST/.TRUE./ DATA IGGOLD/-1/, ILLOLD/-1/ C SAVE LNEW, LFIRST SAVE IPKSCHE, IPNEIGH, IPKLA, IPPWTS SAVE IPPDLO0, IPPDLO1, IPPDLO2, IPPDLO3, IPPDLAT SAVE NPREV, IGGOLD, IPKPTS, IPIOFFS, IPGLATS SAVE ILLOLD,IPRCLAT,IPRCLON,IPRLAT,IPRLON,IPRDIR SAVE IPC, IPS, IPU, IPV SAVE NUMBER C C Externals C INTEGER HNEI12, HGENGRW #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C Statement functions C REAL X, RADIAN REAL A, B LOGICAL NOTEQ C C Convert degrees to radians C RADIAN(X) = (X) * 0.0174532925 C C Tests that A is not (almost) equal to B C NOTEQ(A,B) = (ABS((A)-(B)).GT.(ABS(A)*1E-3)) C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HIRLAMW = 0 C CALL JDEBUG() C IF( L12PNT ) THEN CALL INTLOG(JP_DEBUG,'HIRLAMW: 12-pt interpolation',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'HIRLAMW: 4-pt interpolation',JPQUIET) ENDIF C C Dynamically allocate memory for gaussian grid information. C IGG = KGAUSS*2 C IF( IGG.GT.IGGOLD ) THEN C IF( IGGOLD.GT.0 ) CALL JFREE(IPKPTS) C NBYTES = (IGG*JPRLEN) + (2*IGG+1)*JPBYTES C IPKPTS = JMALLOC(NBYTES) #ifdef hpR64 IPKPTS = IPKPTS/(1024*1024*1024*4) #endif IF( IPKPTS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLAMW: Memory allocate fail',JPQUIET) HIRLAMW = 1 GOTO 900 ENDIF C IPGLATS = IPKPTS + (IGG*JPBYTES) IPIOFFS = IPGLATS + (IGG*JPRLEN) C IGGOLD = IGG NPREV = -1 C ENDIF C C Build up offsets to start of each latitude in original fields. C IF( KGAUSS.NE.NPREV ) THEN IF( NIREPR.EQ.JPGAUSSIAN ) THEN CALL JGETGG(KGAUSS,'F',GLATS,KPTS,IRET) ELSE CALL JGETGG(KGAUSS,'R',GLATS,KPTS,IRET) ENDIF C IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLAMW: JGETGG failed to get gaussian data',JPQUIET) HIRLAMW = 2 GOTO 900 ENDIF C IOFFS(1) = 1 DO LOOP = 2, (KGAUSS*2+1) IOFFS(LOOP) = IOFFS(LOOP-1) + KPTS(LOOP-1) ENDDO C NUMBER = (IOFFS(KGAUSS*2+1) - 1) IF( NUMBER.NE.KOUNT ) THEN CALL INTLOG(JP_ERROR,'HIRLAMW: Given no. of points =',KOUNT) CALL INTLOG(JP_ERROR,'HIRLAMW: Expected no. of pts =',NUMBER) HIRLAMW = 3 GOTO 900 ENDIF C NPREV = KGAUSS ENDIF C C Preserve the input fields C (in case OLDFLDx and NEWFLDx are the same arrays) C DO LOOP = 1, NUMBER OLDU(LOOP) = OLDFLDU(LOOP) OLDV(LOOP) = OLDFLDV(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 2. Generate the lat/long points for the output grid C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + NINT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) NLAT = 1 + NINT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) C NLEN = NLON * NLAT NOWE = NLON NONS = NLAT C C Check that given array is big enough for the new field. C IF( NLEN.GT.KSIZE ) THEN CALL INTLOG(JP_ERROR,'HIRLAMW: Given array size = ',KSIZE) CALL INTLOG(JP_ERROR,'HIRLAMW: Required size = = ',NLEN) HIRLAMW = 5 GOTO 900 ENDIF C C Dynamically allocate memory for lat/long arrays. C ILL = NLEN IF( ILL.GT.ILLOLD ) THEN C LNEW = .TRUE. C IF( ILLOLD.GT.0 ) CALL JFREE(IPRLON) C NBYTES = 9*ILL*JPRLEN C IPRLON = JMALLOC(NBYTES) #ifdef hpR64 IPRLON = IPRLON/(1024*1024*1024*4) #endif IF( IPRLON.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLAMW: Memory allocate fail',JPQUIET) HIRLAMW = 6 GOTO 900 ENDIF C IPRLAT = IPRLON + (ILL*JPRLEN) IPRCLON = IPRLAT + (ILL*JPRLEN) IPRCLAT = IPRCLON + (ILL*JPRLEN) IPRDIR = IPRCLAT + (ILL*JPRLEN) IPC = IPRDIR + (ILL*JPRLEN) IPS = IPC + (ILL*JPRLEN) IPU = IPS + (ILL*JPRLEN) IPV = IPU + (ILL*JPRLEN) C ILLOLD = ILL C ENDIF C IRET = HGENGRW(AREA,POLE,GRID,NLON,NLAT,RCLAT,RCLON,RLAT,RLON) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLAMW: HGENGRW failed to get lat/lon grid data',JPQUIET) HIRLAMW = 7 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 3. Find neighbours for each point for interpolation. C -----------------------------------------------------------------| C 300 CONTINUE C C Dynamically allocate memory for interpolation arrays. C IF( LNEW ) THEN C IF( .NOT.LFIRST ) CALL JFREE(IPPDLO0) C NBYTES = (17*JPRLEN + 14*JPBYTES) * ILL C IPPDLO0 = JMALLOC(NBYTES) #ifdef hpR64 IPPDLO0 = IPPDLO0/(1024*1024*1024*4) #endif IF( IPPDLO0.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HIRLAMW: Memory allocate fail',JPQUIET) HIRLAMW = 8 GOTO 900 ENDIF C IPPDLO1 = IPPDLO0 + (ILL*JPRLEN) IPPDLO2 = IPPDLO1 + (ILL*JPRLEN) IPPDLO3 = IPPDLO2 + (ILL*JPRLEN) IPPDLAT = IPPDLO3 + (ILL*JPRLEN) IPPWTS = IPPDLAT + (ILL*JPRLEN) IPKSCHE = IPPWTS + (12*ILL*JPRLEN) IPKLA = IPKSCHE + (ILL*JPBYTES) IPNEIGH = IPKLA + (ILL*JPBYTES) C LFIRST = .FALSE. C ENDIF C C Find neighbours. C IRET = HNEI12(L12PNT,NLEN,RLAT,RLON,KGAUSS,KPTS,GLATS, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HIRLAMW: HNEI12 failed to find neighbours',JPQUIET) HIRLAMW = 9 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 4. Perform the 12-point horizontal interpolation. C -----------------------------------------------------------------| C 400 CONTINUE C C Setup the 12-point horizontal interpolation weights C CALL HWTS12 X (NLEN,KSCHEME,KLA,PDLAT,GLATS,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X PWTS) C C Calculate the interpolated grid point values C DO LOOP = 1, NLEN IF( KSCHEME(LOOP).EQ.JP12PT ) THEN C C See if any of the neighbours are missing C COUNTU = 0 IF( NOTEQ(OLDU(NEIGH( 1,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 2,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 3,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 4,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 5,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 6,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 7,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 8,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 9,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH(10,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH(11,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH(12,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 COUNTV = 0 IF( NOTEQ(OLDV(NEIGH( 1,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 2,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 3,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 4,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 5,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 6,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 7,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 8,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 9,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH(10,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH(11,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH(12,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 C C Interpolate using twelve neighbours if none are missing C IF( (COUNTU.EQ.12).AND.(COUNTV.EQ.12) ) THEN C U(LOOP) = X OLDU(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDU(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDU(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDU(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLDU(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLDU(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLDU(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLDU(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLDU(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLDU(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLDU(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLDU(NEIGH(12,LOOP)) * PWTS(12,LOOP) V(LOOP) = X OLDV(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDV(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDV(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDV(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLDV(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLDV(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLDV(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLDV(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLDV(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLDV(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLDV(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLDV(NEIGH(12,LOOP)) * PWTS(12,LOOP) C C Set missing if all neighbours are missing C ELSE IF( (COUNTU.EQ.0).OR.(COUNTV.EQ.0) ) THEN U(LOOP) = RMISSGV V(LOOP) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 IF( PWTS( 5,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 5 IF( PWTS( 6,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 6 IF( PWTS( 7,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 7 IF( PWTS( 8,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 8 IF( PWTS( 9,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 9 IF( PWTS(10,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =10 IF( PWTS(11,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =11 IF( PWTS(12,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =12 U(LOOP) = OLDU(NEIGH( NEAREST,LOOP)) V(LOOP) = OLDV(NEIGH( NEAREST,LOOP)) ENDIF C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN C C See if any of the neighbours are missing C COUNTU = 0 IF( NOTEQ(OLDU(NEIGH( 1,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 2,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 3,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 IF( NOTEQ(OLDU(NEIGH( 4,LOOP)),RMISSGV) ) COUNTU = COUNTU + 1 COUNTV = 0 IF( NOTEQ(OLDV(NEIGH( 1,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 2,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 3,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 IF( NOTEQ(OLDV(NEIGH( 4,LOOP)),RMISSGV) ) COUNTV = COUNTV + 1 C C Interpolate using four neighbours if none are missing C IF( (COUNTU.EQ.4).AND.(COUNTV.EQ.4) ) THEN C U(LOOP) = X OLDU(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDU(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDU(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDU(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) V(LOOP) = X OLDV(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDV(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDV(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDV(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C C Set missing if all neighbours are missing C ELSE IF( (COUNTU.EQ.0).OR.(COUNTV.EQ.0) ) THEN U(LOOP) = RMISSGV V(LOOP) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 U(LOOP) = OLDU(NEIGH( NEAREST,LOOP)) V(LOOP) = OLDV(NEIGH( NEAREST,LOOP)) ENDIF C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) THEN U(LOOP) = OLDU(NEIGH(NEXT,LOOP)) V(LOOP) = OLDV(NEIGH(NEXT,LOOP)) ENDIF ENDDO C ENDIF ENDDO C C -----------------------------------------------------------------| C Section 5. Adjust the U and V components to new (rotated) axes C -----------------------------------------------------------------| C 500 CONTINUE C DO LOOP = 1, NLEN RDIR(LOOP) = 0.0 ENDDO C CALL HPSHGPW(RLON,RLAT,RCLON,RCLAT,RDIR,NLEN,POLE) C DO LOOP = 1, NLEN RDIR(LOOP) = -RADIAN(RDIR(LOOP)) ENDDO C DO LOOP = 1, NLEN C(LOOP) = COS(RDIR(LOOP)) S(LOOP) = SIN(RDIR(LOOP)) ENDDO C DO LOOP = 1, NLEN IF( NOTEQ(U(LOOP),RMISSGV).AND.NOTEQ(V(LOOP),RMISSGV) ) THEN NEWFLDU(LOOP) = U(LOOP)*C(LOOP) - V(LOOP)*S(LOOP) NEWFLDV(LOOP) = U(LOOP)*S(LOOP) + V(LOOP)*C(LOOP) ELSE NEWFLDU(LOOP) = RMISSGV NEWFLDV(LOOP) = RMISSGV ENDIF ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_080.h0000755000175000017500000000200512127406245022411 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG08018(80) DATA QG08018/ X 18 , 25 , 36 , 40, X 45 , 54 , 60 , 64, X 72 , 72 , 80 , 90, X 96 , 100 , 108 , 120, X 120 , 128 , 135 , 144, X 144 , 150 , 160 , 160, X 180 , 180 , 180 , 192, X 192 , 200 , 200 , 216, X 216 , 216 , 225 , 225, X 240 , 240 , 240 , 256, X 256 , 256 , 256 , 288, X 288 , 288 , 288 , 288, X 288 , 288 , 288 , 288, X 300 , 300 , 300 , 300, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320, X 320 , 320 , 320 , 320 / emoslib-000392+dfsg.1/interpolation/iglsmr.F0000755000175000017500000001512412127406245021757 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGLSMR (KILSMN, KILSMS, KOLSM, KNINDEX, 1 KSINDEX, KOWE, PWFACT, KPR, KERR) C C----> C**** *IGLSMR* C C PURPOSE C _______ C C Calculate the effects of the land sea masks for one line of C latitude on the unnormalised interpolation weights. C C INTERFACE C _________ C C IERR = IGLSMR (KILSMN, KILSMS, KOLSM, KNINDEX, KSINDEX, C 1 KOWE, PWFACT, KPR, KERR) C C Input parameters C ________________ C C KILSMN - The land sea mask for the line of latitude of the C input field North of the output row. C C KILSMS - The land sea mask for the line of latitude of the C input field South of the output row. C C KOLSM - The land sea mask for the current line of latitude C of the output field. C C KNINDEX - This array contains the array offsets of the West C and East points in the input line of latitude North C of the current output field line of latitude. C C KSINDEX - This array contains the array offsets of the West C and East points in the input line of latitude South C of the current output field line of latitude. C C KOWE - The number of output field points in the West-East C direction for this line of latitude. C C PWFACT - The array of interpolating weights to the four C neighbouring points for every output point in this C line of latitude. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C PWFACT - The modified array of interpolating weights to the C four neighbouring points for every output point in C this line of latitude. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C Every time that a point in the input array has a land-sea mask C value (0-1) that does not match the corresponding output point C its interpolating value is multiplied by a scaling factor C (currently 0.2). This reduces the influence of such points on C the final interpolation. C C The parameter list is designed to allow for quasi regular input C fields with different grid spacing in the Northern and Southern C lines of latitude. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments INTEGER KOWE, KPR, KERR INTEGER KNINDEX (2, KOWE), KSINDEX (2, KOWE) INTEGER KILSMN (*), KILSMS (*), KOLSM (KOWE) REAL PWFACT (4, KOWE) C C Local variables INTEGER JOLON C C Multiplication factor for unlike land-sea masks REAL PPLSM PARAMETER (PPLSM = 0.2E0) C INTEGER JPROUTINE PARAMETER (JPROUTINE = 25300) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGLSMR: Section 1.',JPQUIET) C IGLSMR = 0 C IF (KPR .GE. 1) X CALL INTLOG(JP_DEBUG,'IGLSMR: No. of output longitudes = ',KOWE) C C _______________________________________________________ C C* Section 2. Calculate arrays of weights C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGLSMR: Section 2.',JPQUIET) C C Now modify the unormalised weight for land-sea mask C DO 210 JOLON = 1, KOWE C IF (KILSMN (KNINDEX (JP_I_W, JOLON)) .NE. 1 KOLSM (JOLON) ) 2 PWFACT (JP_I_NW, JOLON) = 3 PWFACT (JP_I_NW, JOLON) * PPLSM C IF (KILSMN (KNINDEX (JP_I_E, JOLON)) .NE. 1 KOLSM (JOLON) ) 2 PWFACT (JP_I_NE, JOLON) = 3 PWFACT (JP_I_NE, JOLON) * PPLSM C IF (KILSMS (KSINDEX (JP_I_W, JOLON)) .NE. 1 KOLSM (JOLON) ) 2 PWFACT (JP_I_SW, JOLON) = 3 PWFACT (JP_I_SW, JOLON) * PPLSM C IF (KILSMS (KSINDEX (JP_I_E, JOLON)) .NE. 1 KOLSM (JOLON) ) 2 PWFACT (JP_I_SE, JOLON) = 3 PWFACT (JP_I_SE, JOLON) * PPLSM C 210 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGLSMR: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/yrotate.F0000755000175000017500000000310712127406245022147 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE YROTATE(RANGLE,X,Y,Z,RX,RY,RZ,INROW) C----> C**** YROTATE C C Purpose C ------- C C Rotate an array of (x,y,z) values about the y-axis. C C C Interface C --------- C C CALL YROTATE(RANGLE,X,Y,Z,RX,RY,RZ,INROW) C C Input C ----- C C RANGLE - The angle of rotation (degrees) C (X,Y,Z) - Arrays of input (x,y,z) values. C INROW - Number of coordinate values. C C C Output C ------ C C (RX,RY,RZ) - Arrays of rotated (x,y,z) values. C C C Method C ------ C C Y remains unchanged. C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF C C----< C IMPLICIT NONE C C Subroutine arguments C REAL RANGLE,X,Y,Z,RX,RY,RZ DIMENSION X(*),Y(*),Z(*),RX(*),RY(*),RZ(*) INTEGER INROW C C Local variables C REAL FACTOR, ANGLE, SINA, COSA DATA FACTOR/0.017453293/ INTEGER LOOP C ANGLE = RANGLE * FACTOR SINA = SIN(ANGLE) COSA = COS(ANGLE) C DO LOOP = 1, INROW RY(LOOP) = Y(LOOP) RX(LOOP) = X(LOOP)*COSA + Z(LOOP)*SINA RZ(LOOP) = -X(LOOP)*SINA + Z(LOOP)*COSA ENDDO C RETURN END emoslib-000392+dfsg.1/interpolation/mkframe.F0000755000175000017500000000522112127406245022101 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE MKFRAME(KWE,KNS,ZSEC4,ZMISS,KFRAME) C C----> C**** MKFRAME C C Purpose C ------- C C Remove points from inside a frame boundary. C C C Interface C --------- C C CALL MKFRAME(KWE,KNS,ZSEC4,ZMISS,KFRAME) C C Input C ----- C C KWE - Number of points west-east in input field. C KNS - Number of points north-south in input field. C ZSEC4 - GRIBEX section 4 values in the field. C ZMISS - Value to be used as the missing data value.. C KFRAME - Number of points across the frame. C C C Output C ------ C C ZSEC4 - GRIBEX section 4 values with the points inside the frame C replaced by missing data values. C C C Method C ------ C C The field and frame are rectangular. C C C Externals C --------- C C INTLOG - Log error message. C INTLOGR - Log error message. C C C Author C ------ C C J.D.Chambers ECMWF May 1999. C C----< C IMPLICIT NONE C C Subroutine arguments C INTEGER KWE,KNS, KFRAME REAL ZSEC4(*), ZMISS C C Local variables C INTEGER TOP, BOTTOM, LEFT, RIGHT, LOOPO, LOOPI, NEXT C #include "parim.h" #include "jparams.h" C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C IF( KFRAME.LT.1 ) GOTO 900 C TOP = KFRAME + 1 BOTTOM = KNS - KFRAME LEFT = KFRAME + 1 RIGHT = KWE - KFRAME C IF( NDBG.GT.0 ) THEN CALL INTLOG(JP_DEBUG,'MKFRAME: KFRAME = ', KFRAME) CALL INTLOG(JP_DEBUG,'MKFRAME: TOP = ', TOP) CALL INTLOG(JP_DEBUG,'MKFRAME: BOTTOM = ', BOTTOM) CALL INTLOG(JP_DEBUG,'MKFRAME: LEFT = ', LEFT) CALL INTLOG(JP_DEBUG,'MKFRAME: RIGHT = ', RIGHT) CALL INTLOGR(JP_DEBUG,'MKFRAME: ZMISS = ', ZMISS) ENDIF C DO LOOPO = TOP, BOTTOM NEXT = (LOOPO-1)*KWE + (LEFT-1) DO LOOPI = LEFT, RIGHT NEXT = NEXT + 1 ZSEC4(NEXT) = ZMISS ENDDO ENDDO C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/juvpole.F0000755000175000017500000001256112127406245022150 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JUVPOLE(PSHUP, KTRUNC, PZFA, KLONO, KRET) C C----> C**** JUVPOLE C C Purpose C ------- C This routine creates polar wind U or V components for lat/long C grid fields. C C C Interface C --------- C CALL JUVPOLE(PSHUP, KTRUNC, PZFA, KLONO, KRET) C C C Input parameters C ---------------- C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C KLONO - Number of longitude points in output field C C C Output parameters C ----------------- C PZFA - Output grid point field; contains upto 32 each of C North and South latitude rows symmetrically. C KRET - Return status code C 0 = OK C C C Common block usage C ------------------ C JDCNDBG C C C Method C ------ C For each pole, creates the reduced gaussian grid lines nearest to C the pole and does a linear interpolation to the polar longitude. C C C Externals C --------- C JAGGGP - converts spectral input to a gaussian grid C INTLOG - Output log message C INTLOGR - Output log message (with real value) C C C Reference C --------- C None. C C Comments C -------- C None. C C C Author C ------ C J.D.Chambers ECMWF October 2002 C C C Modifications C ------------- C None. C C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C #include "jparams.h" #include "parim.h" #include "current.h" #include "nofld.common" #include "grfixed.h" C C Subroutine arguments C COMPLEX PSHUP(*) REAL PZFA(JPLONO + 2, 64) INTEGER KTRUNC, KLONO, KRET C C Parameters C C Local variables C REAL EAST, WEST, LAT, POUTF(18), ALATS(320) REAL XLONG, WLEFT, XSTEP, GSTEP INTEGER KPTS(320), NUM, LOOP, NLEFT, NRIGHT C C Externals C INTEGER IGGLAT EXTERNAL IGGLAT C C -----------------------------------------------------------------| C* Section 1. Initialization. C -----------------------------------------------------------------| C 100 CONTINUE C KRET = 0 C NUM = 160 GSTEP = 360.0 / 18.0 XSTEP = 360.0 / REAL(KLONO) EAST = 360.0 - GSTEP WEST = 0.0 C C -----------------------------------------------------------------| C* Section 2. Create North pole values C -----------------------------------------------------------------| C 200 CONTINUE C C Form the N160 reduced gaussian grid latitude near the North pole C LAT = 90.0 CALL JAGGGP( PSHUP, KTRUNC, LAT, LAT, WEST, EAST, X NUM, 'R', KPTS, POUTF, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'JUVPOLE: problem forming Northern gaussian grid latitude', X JPQUIET) GOTO 900 ENDIF C C Interpolate to the lat/long northern latitude grid points C DO LOOP = 1, KLONO C C Find the gaussian neighbours on either side of lat/long point C and their weights C XLONG = XSTEP * REAL(LOOP-1) C NLEFT = 1 + INT(XLONG/GSTEP) NRIGHT = NLEFT + 1 IF( NRIGHT.GT.18 ) NRIGHT = 1 C WLEFT = 1.0 - (ABS((XLONG - (NLEFT-1)*GSTEP))/GSTEP) C PZFA(LOOP,1) = POUTF(NLEFT)*WLEFT + POUTF(NRIGHT)*(1.0-WLEFT) ENDDO C C -----------------------------------------------------------------| C* Section 3. Create South pole values C -----------------------------------------------------------------| C 300 CONTINUE C C Store latitude and point count values for the next call to JAGGGP C which uses the 'U' option (user supplied values). C NOGAUSO = NUM C KRET = IGGLAT(NUM*2, ALATS, 1, 1) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, 'JUVPOLE: IGGLAT call failed',KRET) KRET = KRET GOTO 900 ENDIF C DO LOOP = 1, NUM*2 NOLPTS(LOOP) = KPTS(LOOP) ROGAUSS(LOOP) = ALATS(LOOP) ENDDO C C Form the N160 reduced gaussian grid latitude near the South pole C LAT = -90.0 CALL JAGGGP( PSHUP, KTRUNC, LAT, LAT, WEST, EAST, X NUM, 'U', KPTS, POUTF, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'JUVPOLE: problem forming Southern gaussian grid latitude', X JPQUIET) GOTO 900 ENDIF C C Interpolate to the lat/long southern latitude grid points C DO LOOP = 1, KLONO C C Find the gaussian neighbours on either side of lat/long point C and their weights C XLONG = XSTEP * REAL(LOOP-1) C NLEFT = 1 + INT(XLONG/GSTEP) NRIGHT = NLEFT + 1 IF( NRIGHT.GT.18 ) NRIGHT = 1 C WLEFT = 1.0 - (ABS((XLONG - (NLEFT-1)*GSTEP))/GSTEP) C PZFA(LOOP,2) = POUTF(NLEFT)*WLEFT + POUTF(NRIGHT)*(1.0-WLEFT) ENDDO C C -----------------------------------------------------------------| C* Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/current.h0000755000175000017500000000274112127406245022207 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C**** "current.h" C C PURPOSE C _______ C C This file contains information about gaussian field definitions C currently held in common blocks. C C INTERFACE C _________ C C #include "current.h" C C Common block usage C __________________ C C NIGAUSO - Resolution of input gaussian field definition C currently held in RIGAUSS, MILLEN. C NOGAUSO - Resolution of output gaussian field definition C currently held in ROGAUSS, NOLPTS. C HIGAUST - Type (R,F,U) of input gaussian field definition C currently held in RIGAUSS, MILLEN. C HOGAUST - Type (R,F,U) of output gaussian field definition C currently held in ROGAUSS, NOLPTS. C HIGAUST C HOGAUST C C Author C ______ C C J.D.Chambers ECMWF Sep 1996 C C C MODIFICATIONS C _____________ C C None C C _______________________________________________________ C C COMMON /CURRENT_STATE/ NIGAUSO, NOGAUSO, HIGAUST, HOGAUST SAVE /CURRENT_STATE/ INTEGER NIGAUSO,NOGAUSO CHARACTER*1 HIGAUST, HOGAUST emoslib-000392+dfsg.1/interpolation/jagggp.F0000755000175000017500000004143512127406245021725 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JAGGGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, X KNUM, HTYPE, KPTS, POUTF, LUV, KRET) C C----> C**** JAGGGP C C PURPOSE C _______ C C This routine converts spectral input fields to a gaussian C grid field. C C INTERFACE C _________ C C CALL JAGGGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST, C X KNUM, HTYPE, KPTS, POUTF, LUV, KRET) C C Input parameters C ________________ C C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C PNORTH - Northernmost latitude for output field (degrees) C PSOUTH - Southernmost latitude for output field (degrees) C PWEST - Westernmost longitude for output field (degrees) C PEAST - Easternmost longitude for output field (degrees) C KNUM - Gaussian grid number C HTYPE - Gaussian grid type C = 'R' for reduced, C = 'F' for full C = 'U' for user-defined reduced gaussian grid C KPTS - Array specifying number of points at each line of C latitude if HTYPE = 'U'. C (Must be big enough for both hemispheres, but only C needs to give Northern hemisphere values from pole C to latitude nearest the Equator.) C LUV - Code indicating whether or not the field is a wind C component field; C = 1 if U or V field. C C Output parameters C ________________ C C KPTS - Array specifying number of points at each line of C latitude; user defined values if HTYPE = 'U'. C (Must be big enough for both hemispheres) C POUTF - Output grid point field C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C JDCNDBG, JDCFLAGS C C Method C ______ C C None. C C C Externals C _________ C C JGETGG - Pick up the definition of the gaussian grid. C JOPNGG - Opens the legendre functions file for reading line C by line. C JOPNGGF - Opens the legendre functions file and reads the whole C of it into dynamically allocated memory. C JOPNGGSM - Opens the legendre functions file and memory maps it. C JJSET99 - Sets up FFT C JNORSGG - Determines which latitude row in a gaussian grid is C north or south of a given latitude C JSYMGG - Generate symmetric grid from spherical harmonics C JWSCAL - Apply latitude correction to wind component field C JMVUGG - Moves grid point data to output array C JMKOFGG - Builds offsets into storage array C JDEBUG - Checks environment variable to switch on/off debug C INTLOG - Logs output messages C INTLOGR - Logs output messages C GETCONF - Decides how to handle legendre coefficients C GETENV - Get value of an environment variable #ifdef SHAREDMEMORY C SMREAD - Gets interpolation coefficients in a shared memory array #endif C C C Reference C _________ C C None C C C Comments C ________ C C It handles transformations to a gaussian grid. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* Jan 1994 C C MODIFICATIONS C _____________ C C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C----< C _______________________________________________________ C C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "current.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Subroutine arguments C COMPLEX PSHUP DIMENSION PSHUP(*) INTEGER KTRUNC, KNUM, KPTS, KRET DIMENSION KPTS(*) CHARACTER*1 HTYPE REAL PNORTH, PSOUTH, PWEST, PEAST REAL POUTF DIMENSION POUTF(*) INTEGER LUV C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31600 ) C C Local variables C INTEGER ILON, ITOUP1, IJPWR, NUMPTS, ITYPE DIMENSION IJPWR(JPMAX) INTEGER ILUNIT INTEGER NXTROW REAL RINTVL, GNUM C INTEGER IMFAX REAL ATRIGS DIMENSION IMFAX(10),ATRIGS(JPLONO*2) #ifdef POINTER_64 INTEGER*8 IALEG, IZFA #endif #ifdef CRAY REAL ALEG DIMENSION ALEG(JPK) REAL ZFA DIMENSION ZFA(JPLONO+2, 64) #else REAL ALEG DIMENSION ALEG(1) POINTER ( IALEG, ALEG ) REAL ZFA DIMENSION ZFA(1) POINTER ( IZFA, ZFA ) #endif INTEGER ISIZE DATA ISIZE/0/ SAVE ISIZE, IZFA C CHARACTER*10 PLAINUV C CHARACTER*8 FILENAME DATA FILENAME/'Nxxx_DEF'/ INTEGER NGROUP INTEGER FILENM, J108, NNORTH, NSOUTH, NCASE, NFLAG INTEGER NOFSET, LOOP DIMENSION NOFSET(JPMAX) INTEGER INORTH, ISOUTH, IMAGE, NFIRST, NDIFF DATA FILENM/67/ REAL ALAT DIMENSION ALAT(JPMAX) C SAVE ILUNIT, IALEG C LOGICAL LDEBUG, LFIRST, LPLAINU DATA LFIRST/.TRUE./, LPLAINU/.FALSE./ SAVE LDEBUG, LFIRST, LPLAINU CHARACTER*20 CONFIG INTEGER IBLANK C INTEGER JNORSGG EXTERNAL JNORSGG #ifdef SHAREDMEMORY INTEGER SHAREDGG EXTERNAL SHAREDGG #endif C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C CALL JDEBUG( ) LDEBUG = NDBG.GT.0 C C Decide how to handle legendre coefficients C CALL GETCONF() C IF( LFIRST ) THEN C LFIRST = .FALSE. C C Check environment variable to see if wind components are plain C U and V, or U*cos(theta) and V*cos(theta) (the default). C CALL GETENV('INTERP_PLAIN_UV', PLAINUV) IBLANK = INDEX(PLAINUV, ' ') C IF( (IBLANK.EQ.3).AND.(PLAINUV(1:2).EQ.'ON') ) LPLAINU =.TRUE. IF( (IBLANK.EQ.3).AND.(PLAINUV(1:2).EQ.'on') ) LPLAINU =.TRUE. IF( (IBLANK.EQ.4).AND.(PLAINUV(1:3).EQ.'YES') ) LPLAINU =.TRUE. IF( (IBLANK.EQ.4).AND.(PLAINUV(1:3).EQ.'yes') ) LPLAINU =.TRUE. C IF( (IBLANK.EQ.3).AND.(PLAINUV(1:2).EQ.'NO') ) LPLAINU =.FALSE. IF( (IBLANK.EQ.3).AND.(PLAINUV(1:2).EQ.'no') ) LPLAINU =.FALSE. IF( (IBLANK.EQ.4).AND.(PLAINUV(1:3).EQ.'OFF') ) LPLAINU =.FALSE. IF( (IBLANK.EQ.4).AND.(PLAINUV(1:3).EQ.'off') ) LPLAINU =.FALSE. C #ifndef CRAY C C First time through, dynamically allocate memory for workspace C ISIZE = (JPLONO+2)*64 CALL JMEMHAN( 10, IZFA, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JAGGGP: memory allocation error.',IZFA) KRET = JPROUTINE + 1 GOTO 990 ENDIF ENDIF #endif C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JAGGGP: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JAGGGP: Spherical harmonic truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JAGGGP: Northern latitude for output = ', PNORTH) CALL INTLOGR(JP_DEBUG, X 'JAGGGP: Southern latitude for output = ', PSOUTH) CALL INTLOGR(JP_DEBUG, X 'JAGGGP: Western longitude for output = ', PWEST) CALL INTLOGR(JP_DEBUG, X 'JAGGGP: Eastern longitude for output = ', PEAST) CALL INTLOG(JP_DEBUG, X 'JAGGGP: Gaussian grid number = ', KNUM) C IF( HTYPE.EQ.'R' .OR. HTYPE.EQ.'r' ) CALL INTLOG(JP_DEBUG, X 'JAGGGP: Grid type is Reduced.',JPQUIET) IF( HTYPE.EQ.'F' .OR. HTYPE.EQ.'f' ) CALL INTLOG(JP_DEBUG, X 'JAGGGP: Grid type is Full.',JPQUIET) IF( HTYPE.EQ.'U' .OR. HTYPE.EQ.'u' ) CALL INTLOG(JP_DEBUG, X 'JAGGGP: Grid type is User.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JAGGGP: Field code( = 1 for U or V) = ', LUV) C IF ( HTYPE .EQ. 'u' .OR. HTYPE .EQ. 'U' ) THEN CALL INTLOG(JP_DEBUG,'JAGGGP: User-supplied values.',JPQUIET) CALL INTLOG(JP_DEBUG,'JAGGGP: No. pts at each line:',JPQUIET) DO NDBGLP = 1, 20 CALL INTLOG(JP_DEBUG,' ',KPTS( NDBGLP )) ENDDO ENDIF ENDIF C C Pick up the file containing the definition of the gaussian grid. C IF( (NOGAUSO.NE.KNUM).OR.(HOGAUST.NE.HTYPE) ) THEN CALL JGETGG( KNUM, HTYPE, ALAT, KPTS, KRET) IF ( KRET .NE. 0 ) GOTO 990 NOGAUSO = KNUM HOGAUST = HTYPE ELSE DO LOOP = 1, KNUM*2 ALAT(LOOP) = ROGAUSS(LOOP) KPTS(LOOP) = NOLPTS(LOOP) ENDDO ENDIF C C If coefficients are not to generated 'on the fly', C open the appropriate legendre function file. C IF( LFILEIO ) THEN ISIZE = JPK CALL JMEMHAN( 14, IALEG, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JAGGGP: memory allocate error',IALEG) KRET = JPROUTINE + 2 GOTO 990 ENDIF CALL JOPNGG( ALEG, KNUM, KTRUNC, ILUNIT, ALAT, KRET) ELSE IF( LMEMORY ) THEN CALL JOPNGGF( IALEG, KNUM, KTRUNC, ILUNIT, ALAT, KRET) ELSE IF( LMAPPED ) THEN CALL JOPNGGSM( IALEG, KNUM, KTRUNC, ILUNIT, ALAT, KRET) #ifdef SHAREDMEMORY ELSE IF( LSHARED ) THEN GNUM = REAL(KNUM) IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JAGGGP: call SHAREDGG', JPQUIET) ENDIF C KRET = SHAREDGG(IALEG,KTRUNC,KNUM) C IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'JAGGGP: SHARED MEMORY Failed to get legendre coeff.',KRET) KRET = JPROUTINE + 3 GOTO 990 ENDIF GOTO 102 #endif ELSE ISIZE = (KTRUNC+1)*(KTRUNC+2) CALL JMEMHAN( 14, IALEG, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JAGGGP: memory allocate error.',IALEG) KRET = JPROUTINE + 2 GOTO 990 ENDIF ENDIF C IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'JAGGGP: Failed to get legendre coefficients',KRET) KRET = JPROUTINE + 3 GOTO 990 ENDIF C 102 CONTINUE C C Determine which latitude rows in the gaussian grid are in the C requested area C NNORTH = JNORSGG( PNORTH, ALAT, KNUM, 1) NSOUTH = JNORSGG( PSOUTH, ALAT, KNUM, 0) IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'JAGGGP: Gaussian latitudes in requested area:',JPQUIET) CALL INTLOG(JP_DEBUG,'JAGGGP: NORTH = ',NNORTH) CALL INTLOG(JP_DEBUG,'JAGGGP: SOUTH = ',NSOUTH) ENDIF C C C For calculation purposes, the number of longitude points for each C latitude row has to be greater than 2*(output truncation) to C ensure the fourier transform is exact (see Reference, page 10). C C The following loop calculates the power of 2 to be used as a C multipier for each row to ensure there are enough points. C Later, when filling the output array POUTF, the longitude points C have to be taken selectively to avoid the intermediate generated C points, picking up values only at the required longitudes. C ITOUP1 = KTRUNC DO 108 J108 = 1, KNUM IMAGE = 2*KNUM - J108 + 1 ILON = KPTS(J108) IJPWR(J108) = 1 104 CONTINUE IF(ILON .GT. 2*ITOUP1) GOTO 106 IJPWR(J108) = IJPWR(J108)*2 ILON = ILON*2 GOTO 104 106 CONTINUE IJPWR(IMAGE) = IJPWR(J108) 108 CONTINUE C C _______________________________________________________ C C* Section 2. Work out geometry of the request C _______________________________________________________ C 200 CONTINUE C C Latitude rows are generated from row INORTH to ISOUTH. C Selection is carried out for actual requested rows when the C calculated values are moved to the output array. C C Start with assumption that the area is symmetrical about equator. C NCASE = 1 NFLAG = 3 INORTH = NNORTH ISOUTH = KNUM NDIFF = 0 C C Northern hemisphere only ? C IF ( PSOUTH .GE. 0.0 ) THEN NCASE = 2 NFLAG = 1 INORTH = NNORTH ISOUTH = NSOUTH IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JAGGGP: North hemisphere only.',JPQUIET) GOTO 220 ENDIF C C Southern hemisphere only ? C IF ( PNORTH .LE. 0.0 ) THEN NCASE = 3 NFLAG = 2 INORTH = 2*KNUM - NSOUTH + 1 ISOUTH = 2*KNUM - NNORTH + 1 IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JAGGGP: South hemisphere only.',JPQUIET) GOTO 220 ENDIF C C Straddles equator ... C ... more north than south? C IF ( PNORTH .GT. -PSOUTH ) THEN NCASE = 4 INORTH = NNORTH ISOUTH = KNUM IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JAGGGP: Straddles equator.',JPQUIET) CALL INTLOG(JP_DEBUG,'JAGGGP: More north than south',JPQUIET) ENDIF GOTO 220 ENDIF C C ... more south than north? C IF ( PNORTH .LT. -PSOUTH ) THEN NCASE = 5 INORTH = 2*KNUM - NSOUTH + 1 ISOUTH = KNUM NDIFF = NNORTH - INORTH IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JAGGGP: Straddles equator.',JPQUIET) CALL INTLOG(JP_DEBUG,'JAGGGP: More south than north',JPQUIET) ENDIF ENDIF C C Setup the storage offset for the given latitude range C 220 CONTINUE C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'JAGGGP: INORTH = ', INORTH) CALL INTLOG(JP_DEBUG,'JAGGGP: ISOUTH = ', ISOUTH) ENDIF CALL JMKOFGG(HTYPE,NNORTH,NSOUTH,PWEST,PEAST,KNUM,KPTS,NOFSET) C C _______________________________________________________ C C* Section 3. Process all latitude rows C _______________________________________________________ C 300 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JAGGGP: Process latitude rows.',JPQUIET) C NGROUP = 0 C DO 320 NXTROW = INORTH, ISOUTH C C Build up a group of lines of the same length which can all C be transformed at the same time. NGROUP = NGROUP + 1 C C Initialise FFT constants for the group C IF ( NGROUP .EQ. 1 ) THEN NFIRST = NXTROW ILON = KPTS(NFIRST) * IJPWR(NFIRST) C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'JAGGGP: Initialise FFT consts for the group.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JAGGGP: Latitude number = ', NFIRST) CALL INTLOG(JP_DEBUG, X 'JAGGGP: No. of calculated long.pts = ', ILON) ENDIF C CALL JJSET99( ATRIGS, IMFAX, ILON, KRET) IF( KRET .NE. 0 ) GOTO 990 ENDIF C C If the current line is the last to be processed, C or the next line is not suitable for the current group, C or 32 lines are in the group already ... C IF ( ( NXTROW .EQ. ISOUTH) X .OR. ( KPTS(NFIRST) .NE. KPTS(NXTROW+1) ) X .OR. ( NGROUP .EQ. JP32 ) ) THEN C C Calculate the points along the line of latitude C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JAGGGP: Number in group = ', NGROUP) C CALL JSYMGG( PSHUP, KTRUNC, NFIRST, ILUNIT, NGROUP, ILON, X ALAT, ALEG, ATRIGS, IMFAX, ZFA, KRET) IF( KRET .NE. 0 ) GOTO 990 C C If it is a wind component field formed from spectral Ucos(theta) C and Vcos(theta) (ie not just spectral U and V), apply a C latitude correction C IF( (LUV.EQ.1).AND.(.NOT.LPLAINU) ) X CALL JWSCAL(ZFA, NGROUP, ILON, NFIRST, ALAT) C C Store away the generated latitudes C IF( (HTYPE .EQ. 'U') .OR. (HTYPE .EQ. 'R') ) THEN NUMPTS = KPTS(NFIRST) ELSE RINTVL = (PEAST - PWEST)*FLOAT( KPTS(NFIRST) ) / 360.0 NUMPTS = NINT( RINTVL ) + 1 ENDIF C C Is the area unequally distributed about the equator? C IF ( NCASE .EQ. 4 .OR. NCASE .EQ. 5 ) THEN CALL JMVUGG( ZFA, NNORTH, NSOUTH, PWEST, KNUM, NFIRST, X NDIFF, NGROUP, NUMPTS, ILON, X IJPWR(NFIRST), NOFSET, POUTF) NDIFF = MAX( 0, (NDIFF - NGROUP) ) C C No, it is all in one hemisphere or is symmetrical C about the equator C ELSE CALL JMOVGG( ZFA, PWEST, KNUM, NFIRST, NGROUP, NUMPTS, X ILON, IJPWR(NFIRST), NOFSET, POUTF, NFLAG) ENDIF C C Startup next group of latitudes C NGROUP = 0 ENDIF C 320 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 930 CONTINUE KRET = 0 C 990 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'JAGGGP: Return code = ', KRET) C RETURN END emoslib-000392+dfsg.1/interpolation/krg2rg.F0000755000175000017500000001471212127406245021662 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION KRG2RG(OLDFLD, NEWFLD, NUMGG) C C----> C**** KRG2RG C C Purpose C ------- C C Interpolate a field based on one reduced gaussian grid to a C field based on a different reduced gaussian grid. C C C Interface C --------- C C IRET = KRG2RG(OLDFLD, NEWFLD, NUMGG) C C Input C ----- C C OLDFLD - Old field in GRIB format C NUMGG - Number of the new gaussian field C C C Output C ------ C C NEWFLD - New field in GRIB format C C Function returns: C - the size in bytes of the new GRIB product if all is well C - -1, otherwise. C C C Method C ------ C C Unpack input GRIBS. C Create new field and pack it into GRIB format. C C C Externals C --------- C C GRIBEX - Decode and encode GRIB products. C KINTRG - Interpolate reduced gaussian field to reduced gaussian C JMALLOC - Dynamically allocate memory C INTLOG - Log messages C C C Author C ------ C C J.D.Chambers ECMWF November 2000 C C----< C IMPLICIT NONE C C Function arguments C INTEGER NUMGG, OLDFLD(*), NEWFLD(*) C #include "parim.h" #include "intisl.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JPACK, JUNPACK, JPINTB, JPREALB, JPMAXNG PARAMETER (JPACK = 4000000) PARAMETER (JUNPACK = 6000000) #ifdef INTEGER_8 PARAMETER (JPINTB = 8) #else PARAMETER (JPINTB = 4) #endif PARAMETER (JPMAXNG=4000) #ifdef REAL_8 PARAMETER (JPREALB = 8) #else PARAMETER (JPREALB = 8) #endif C C Local variables C INTEGER IFSEC0(JPGRIB_ISEC0),IFSEC1(JPGRIB_ISEC1), X IFSEC2(JPGRIB_ISEC2),IFSEC3(JPGRIB_ISEC3),IFSEC4(JPGRIB_ISEC4) INTEGER NFSEC0(JPGRIB_ISEC0),NFSEC1(JPGRIB_ISEC1), X NFSEC2(JPGRIB_ISEC2),NFSEC3(JPGRIB_ISEC3),NFSEC4(JPGRIB_ISEC4) INTEGER ISIZE, LOOP LOGICAL LFIRST #if (!defined __uxp__) && (!defined sgi) #ifdef POINTER_64 INTEGER*8 IZFSEC4, IPFSEC4 #else INTEGER IZFSEC4, IPFSEC4 #endif #endif C REAL PLAT(JPMAXNG) REAL ZFSEC2(5000), ZFSEC3(2), ZFSEC4(1) REAL PFSEC3(2), PFSEC4(1) C POINTER( IZFSEC4, ZFSEC4 ) POINTER( IPFSEC4, PFSEC4 ) C INTEGER IRET, ILENB, IPUNP, IWORD C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif INTEGER KINTRG EXTERNAL KINTRG, JMALLOC C DATA LFIRST/.TRUE./ SAVE LFIRST, IZFSEC4, IPFSEC4 C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C KRG2RG = 0 C IF( (NUMGG*2).GT.JPMAXNG ) THEN CALL INTLOG(JP_ERROR,'KRG2RG: Gaussian N too big = ',NUMGG) CALL INTLOG(JP_ERROR,'KRG2RG: Maximum handled = ',(JPMAXNG/2)) KRG2RG = -1 GOTO 900 ENDIF C C First time, dynamically allocate memory for the field values C IF( LFIRST ) THEN LFIRST = .FALSE. ISIZE = JUNPACK * JPREALB CALL INTLOG(JP_DEBUG,'KRG2RG: Allocate memory = ',ISIZE) C IZFSEC4 = JMALLOC(ISIZE) #ifdef hpR64 IZFSEC4 = IZFSEC4/(1024*1024*1024*4) #endif IF( IZFSEC4.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'KRG2RG: JMALLOC fail IZFSEC4',JPQUIET) KRG2RG = -1 GOTO 900 ENDIF C IPFSEC4 = JMALLOC(ISIZE) #ifdef hpR64 IPFSEC4 = IPFSEC4/(1024*1024*1024*4) #endif IF( IPFSEC4.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'KRG2RG: JMALLOC fail IPFSEC4',JPQUIET) KRG2RG = -1 GOTO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 2. Unpack the input GRIB C -----------------------------------------------------------------| C 200 CONTINUE C C Old field C IRET = 1 IPUNP = JUNPACK ILENB = JPACK IFSEC3(1) = 0 IFSEC3(2) = INT(RMISSGV) ZFSEC3(1) = 0.0 ZFSEC3(2) = RMISSGV CALL GRIBEX (IFSEC0,IFSEC1,IFSEC2,ZFSEC2,IFSEC3,ZFSEC3,IFSEC4, X ZFSEC4,IPUNP,OLDFLD,ILENB,IWORD,'D',IRET) IF( IRET.GT.0 ) THEN WRITE(*,*) 'KRG2RG: Old field gribex return code = ',IRET KRG2RG = -1 RETURN ENDIF C C -----------------------------------------------------------------| C* Section 3. Create new field and put in GRIB format C -----------------------------------------------------------------| C 300 CONTINUE C DO LOOP = 1, JPMAXNG NFSEC2(LOOP) = IFSEC2(LOOP) ENDDO CALL JGETGG( NUMGG, 'R', PLAT, NFSEC2(23), IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KRG2RG: Problem calling JGETGG, status = ',IRET KRG2RG = -1 RETURN ENDIF NFSEC2(3) = NUMGG * 2 NFSEC2(4) = NINT(PLAT(1)*1000.0) NFSEC2(7) = NINT(PLAT(NUMGG*2)*1000.0) NFSEC2(8) = NINT((360.0-(360.0/REAL(NUMGG*4)))*1000.0) NFSEC2(10) = NUMGG C IRET = KINTRG(IFSEC2, NFSEC2, ZFSEC4, PFSEC4) IF( IRET.LE.0 ) THEN WRITE(*,*) 'KRG2RG: New field creation failed' KRG2RG = -1 RETURN ENDIF IFSEC4(1) = IRET C IRET = 1 IPUNP = JUNPACK ILENB = JPACK C C If output 'accuracy' specified, use it for the new field C IF( LNOACC ) THEN IFSEC4(2) = NOACC ENDIF C C There may be 'missing' values in the new field if the old field C has 'missing' values. C IF( IFSEC1(5).EQ.192 ) THEN IFSEC1(5) = 192 NFSEC3(1) = 0 NFSEC3(2) = INT(RMISSGV) PFSEC3(1) = 0.0 PFSEC3(2) = RMISSGV ENDIF C CALL GRIBEX (IFSEC0,IFSEC1,NFSEC2,ZFSEC2,NFSEC3,PFSEC3,IFSEC4, X PFSEC4,IPUNP,NEWFLD,ILENB,IWORD,'C',IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KRG2RG: New field gribex return code = ',IRET KRG2RG = -1 RETURN ENDIF C KRG2RG = IWORD * JPINTB C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/krg2rgy.F0000755000175000017500000001437612127406245022061 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION KRG2RGY(OLDFLD, NEWFLD, NUMGG) C C----> C**** KRG2RGY C C Purpose C ------- C C Interpolate a field based on one reduced gaussian grid to a C field based on a different reduced gaussian grid. C C C Interface C --------- C C IRET = KRG2RGY(OLDFLD, NEWFLD, NUMGG) C C Input C ----- C C OLDFLD - Old field in GRIB format C NUMGG - Number of the new gaussian field C C C Output C ------ C C NEWFLD - New field C C Function returns: C - the size in bytes of the new GRIB product if all is well C - -1, otherwise. C C C Method C ------ C C Unpack input GRIBS. C Create new field C C C Externals C --------- C C GRIBEX - Decode and encode GRIB products. C KINTRG - Interpolate reduced gaussian field to reduced gaussian C JMALLOC - Dynamically allocate memory C INTLOG - Log messages C C C Author C ------ C C S.Curic ECMWF November 2006 C C----< C IMPLICIT NONE C C Function arguments C INTEGER NUMGG, OLDFLD(*), NEWFLD(*) C #include "parim.h" #include "intisl.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "current.h" C C Parameters C INTEGER JPACK, JUNPACK, JPINTB, JPREALB, JPMAXNG PARAMETER (JPACK = 4000000) PARAMETER (JUNPACK = 6000000) #ifdef INTEGER_8 PARAMETER (JPINTB = 8) #else PARAMETER (JPINTB = 4) #endif PARAMETER (JPMAXNG=4000) #ifdef REAL_8 PARAMETER (JPREALB = 8) #else PARAMETER (JPREALB = 8) #endif C C Local variables C INTEGER IFSEC0(JPGRIB_ISEC0),IFSEC1(JPGRIB_ISEC1), X IFSEC2(JPGRIB_ISEC2),IFSEC3(JPGRIB_ISEC3),IFSEC4(JPGRIB_ISEC4) INTEGER NFSEC0(JPGRIB_ISEC0),NFSEC1(JPGRIB_ISEC1), X NFSEC2(JPGRIB_ISEC2),NFSEC3(JPGRIB_ISEC3),NFSEC4(JPGRIB_ISEC4) INTEGER ISIZE, LOOP LOGICAL LFIRST #if (!defined __uxp__) && (!defined sgi) #ifdef POINTER_64 INTEGER*8 IZFSEC4 #else INTEGER IZFSEC4 #endif #endif C REAL PLAT(JPMAXNG) REAL ZFSEC2(5000), ZFSEC3(2), ZFSEC4(1) REAL PFSEC3(2), PFSEC4(1) C POINTER( IZFSEC4, ZFSEC4 ) C INTEGER IRET, ILENB, IPUNP, IWORD C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif INTEGER KINTRG EXTERNAL KINTRG, JMALLOC C DATA LFIRST/.TRUE./ SAVE LFIRST, IZFSEC4 C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE C KRG2RGY = 0 C IF( (NUMGG*2).GT.JPMAXNG ) THEN CALL INTLOG(JP_ERROR,'KRG2RGY: Gaussian N too big = ',NUMGG) CALL INTLOG(JP_ERROR,'KRG2RGY: Maximum handled = ',(JPMAXNG/2)) KRG2RGY = -1 GOTO 900 ENDIF C C First time, dynamically allocate memory for the field values C IF( LFIRST ) THEN LFIRST = .FALSE. ISIZE = JUNPACK * JPREALB CALL INTLOG(JP_DEBUG,'KRG2RGY: Allocate memory = ',ISIZE) C IZFSEC4 = JMALLOC(ISIZE) #ifdef hpR64 IZFSEC4 = IZFSEC4/(1024*1024*1024*4) #endif IF( IZFSEC4.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'KRG2RGY: JMALLOC fail IZFSEC4',JPQUIET) KRG2RGY = -1 GOTO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 2. Unpack the input GRIB C -----------------------------------------------------------------| C 200 CONTINUE C C Old field C IRET = 1 IPUNP = JUNPACK ILENB = JPACK IFSEC3(1) = 0 IFSEC3(2) = INT(RMISSGV) ZFSEC3(1) = 0.0 ZFSEC3(2) = RMISSGV CALL GRIBEX (IFSEC0,IFSEC1,IFSEC2,ZFSEC2,IFSEC3,ZFSEC3,IFSEC4, X ZFSEC4,IPUNP,OLDFLD,ILENB,IWORD,'D',IRET) IF( IRET.GT.0 ) THEN WRITE(*,*) 'KRG2RGY: Old field gribex return code = ',IRET KRG2RGY = -1 RETURN ENDIF C C -----------------------------------------------------------------| C* Section 3. Create new field C -----------------------------------------------------------------| C 300 CONTINUE C DO LOOP = 1, JPMAXNG NFSEC2(LOOP) = IFSEC2(LOOP) ENDDO CALL JGETGG( NUMGG, 'R', PLAT, NFSEC2(23), IRET) IF( IRET.NE.0 ) THEN WRITE(*,*) 'KRG2RGY: Problem calling JGETGG, status = ',IRET KRG2RGY = -1 RETURN ENDIF NFSEC2(3) = NUMGG * 2 NFSEC2(4) = NINT(PLAT(1)*1000.0) NFSEC2(7) = NINT(PLAT(NUMGG*2)*1000.0) NFSEC2(8) = NINT((360.0-(360.0/REAL(NUMGG*4)))*1000.0) NFSEC2(10) = NUMGG C IRET = KINTRG(IFSEC2, NFSEC2, ZFSEC4, NEWFLD) IF( IRET.LE.0 ) THEN WRITE(*,*) 'KRG2RGY: New field creation failed' KRG2RGY = -1 RETURN ENDIF IF( LDOUBLE ) THEN CALL INTLOG(JP_DEBUG, X 'KRG2RGY: Set NIAREA - double interpolation',JPQUIET) c NIAREA(1) = NFSEC2(4)*100 c NIAREA(2) = NFSEC2(5)*100 c NIAREA(3) = NFSEC2(7)*100 c NIAREA(4) = NFSEC2(8)*100 NIAREA(1) = 0 NIAREA(2) = 0 NIAREA(3) = 0 NIAREA(4) = 0 NIGAUSS = NUMGG DO LOOP = 1, NINS RIGAUSS(LOOP) = 0 MILLEN(LOOP) = 0 ENDDO NINS = NUMGG*2 CALL INTLOG(JP_DEBUG, 'KRG2RGY: NIAREA(1) ',NIAREA(1)) CALL INTLOG(JP_DEBUG, 'KRG2RGY: NIAREA(2) ',NIAREA(2)) CALL INTLOG(JP_DEBUG, 'KRG2RGY: NIAREA(3) ',NIAREA(3)) CALL INTLOG(JP_DEBUG, 'KRG2RGY: NIAREA(4) ',NIAREA(4)) CALL INTLOG(JP_DEBUG, 'KRG2RGY: NIGAUSS ',NIGAUSS) CALL INTLOG(JP_DEBUG, 'KRG2RGY: NINS ',NINS) ENDIF C KRG2RGY = IRET C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/sharedll.c0000755000175000017500000000451212127406245022314 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #define SHAREDLL sharedll_ #ifdef linux #ifndef __USE_LARGEFILE64 #define __USE_LARGEFILE64 #endif #include #endif #include #include #include #include #include #include #include #include "fortint.h" #include "sharedlib.h" #include #include extern int sharedlib_dbg = 0; #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define SHAREDLL sharedll #define PBOPEN pbopen #define PBCLOSE pbclose #else #define SHAREDLL sharedll_ #define PBOPEN pbopen_ #define PBCLOSE pbclose_ #endif #endif fortint SHAREDLL( JPointer* ipdum, fortint* iktrunc, double* platinc) /* C C**** SHAREDLL C C IPDUM - Dummy array for mapping legendre function file C PLATINC - Grid interval in degrees C KTRUNC - Spherical truncation C KRET - Return status, 0 = OK. C */ { #if (defined hpR64) || (defined hpiaR64) long l1, l2; #else fortint l1, l2; #endif char filedum[128], filename[128]; char ypfn[18] = "CF_Txxxx_Raabbbb"; static char yold[18] = "xxxxxxxxxxxxxxxx"; char defaultDirectory[] = "./"; int kbuild ; char * fn; static fortint fpindex; static FILE * fp; static void * result = 0; fortint kret = 0; int exist = 0; int status; pid_t process_id; int ktrunc = (int) (*iktrunc); /* // Setup the filename: cf_txxxx_raabbbbb */ /* // Setup the file name */ sprintf( ypfn+4, "%04d", ktrunc); kbuild = (int) (((*platinc)*100000.0) + 0.5); sprintf( ypfn+8, "_R%07d", kbuild); /* // See if the file has already been created. */ fn = getenv("PPDIR"); if(fn == NULL) fn = defaultDirectory; if( (fn != NULL) && (strlen(fn) != 0) ) { strcpy( filename, fn ); strcat( filename, "/"); strcat( filename, ypfn); l1 = strlen(filename); l2 = 1; } /* printf("ll share_file filename=%s\n",filename); */ result = (void *) share_file(filename); if (result == NULL) kret = 1; *ipdum = (JPointer) result; return kret; } emoslib-000392+dfsg.1/interpolation/grspace.h0000755000175000017500000000112112127406245022140 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C**** "grspace.h" C C PURPOSE C _______ C C This file contains all the work space array definitions for C grid point to grid point interpolation. C #include "grfixed.h" #include "grdynam.h" emoslib-000392+dfsg.1/interpolation/jmemhan.F0000755000175000017500000003331112127406245022077 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JMEMHAN( KFLAG, KZOUTBF, KSIZE, KOPT, KRET) C C----> C**** JMEMHAN C C PURPOSE C _______ C C This routine handles memory allocation for jintll.F and jintgg.F C C INTERFACE C _________ C C CALL JMEMHAN( KFLAG, KZOUTBF, KSIZE, KOPT, KRET) C C Input parameters C ________________ C C KFLAG - Flag to select lat/long or gaussian allocation C = 1 for grid to grid interpolation (igalloc) C = 2 for grid to grid interpolation (igalloc) C = 3 for scratch space C = 4 for vorticity and divergence scratch space C = 5 for even more scratch space (!?) C = 6 for latitude/longitude interpolation coefficients C on Fujitsu C = 7 for gaussian interpolation coefficients on Fujitsu C = 8 unused C = 9 for FFT work space C = 10 for output (partial) grid point field workspace C = 11 for work space for rotating fields (see intfap.F) C = 12 for raw land-sea mask (see iglsmst.F) C = 13 for 10 minute land-sea mask (see iglsm01.F) C = 14 for reading legendre coefficents line by line C = 15 more work space for rotating fields (see intfap.F) C = 16 more work space intfbu.F C = 17 more work space ?? C = 18 for rotation of gaussian grids (ggrotat and tatorgg) C = 19 for dynamic allocation of znfeldi (intf) C = 20 to 22, coefficients for rotating spectral fields (jacobif) C C KSIZE - Size of memory required in words C KOPT - Memory option C = 0 to deallocate C = 1 to allocate C C C Output parameters C ________________ C C KZOUTBF - Pointer to memory (if allocating) C KRET - Return status code C 0 = OK C C C Common block usage C __________________ C C JDCNDGB C JMEMCOM C C C Method C ______ C C None. C C C Externals C _________ C C JDEBUG - Checks environment variable to switch on/off debug #ifdef CRAY C HPALLOC - Allocate heap space C HPDEALLC - Deallocate heap space #else C JMALLOC - Allocate heap space C JFREE - Deallocate heap space #endif C INTLOG - Output log message C IAFREE - Deallocate heap space used by grid-pt to grid-pt C interpolation C C C Reference C _________ C C None. C C C Comments C ________ C C None. C C C AUTHOR C ______ C C J.D.Chambers *ECMWF* May 1994 C C MODIFICATIONS C _____________ C C J.D.Chambers *ECMWF* Jan 1995 C Add scratch for vorticity and divergence (flag = 4) C C J.D.Chambers *ECMWF* Jan 1995 C Add space for interpolation coefficents (flag = 6) C C J.D.Chambers *ECMWF* Sep 1996 C Split space for interpolation coefficents (flag = 6 and 7) C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.D.Chambers ECMWF Mar 1998 C Allow memory flushing C C----< C ------------------------------------------------------- C* Section 0. Definition of variables. C ------------------------------------------------------- C IMPLICIT NONE #include "jparams.h" #include "jparam2.h" #include "parim.h" C C Parameters C INTEGER JPROUTINE, JPOPTMX PARAMETER ( JPROUTINE = 30600 ) PARAMETER ( JPOPTMX = 22 ) C C Subroutine arguments C #ifdef POINTER_64 INTEGER*8 KZOUTBF #else INTEGER KZOUTBF #endif INTEGER KSIZE, KOPT, KRET, KFLAG C C Local variables C LOGICAL LDEBUG, LDEBUG1 INTEGER ITOTAL, LOOP #ifdef POINTER_64 INTEGER*8 IZOUTBF #else INTEGER IZOUTBF #endif INTEGER IEXIST DIMENSION IEXIST(JPOPTMX) DIMENSION IZOUTBF(JPOPTMX) DATA IEXIST/ JPOPTMX * -1/ DATA IZOUTBF/ JPOPTMX * 0/ C SAVE IEXIST, IZOUTBF C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif INTEGER IAFREE EXTERNAL JMALLOC, IAFREE C C ------------------------------------------------------- C* Section 1. Initialisation. C ------------------------------------------------------- C 100 CONTINUE C KRET = 0 CALL JDEBUG( ) LDEBUG = ( NDBG.GT.0 ) LDEBUG1 = ( NDBG.EQ.1 ) C C Check that a valid option has been chosen C IF( ( KFLAG.LT.1 ).OR.( KFLAG.GT.JPOPTMX ) ) THEN CALL INTLOG(JP_ERROR,'JMEMHAN: Invalid flag = ', KFLAG) KRET = JPROUTINE + 1 GOTO 900 ENDIF C C Display diagnostics if required C IF( LDEBUG ) THEN C CALL INTLOG(JP_DEBUG,'JMEMHAN: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, 'JMEMHAN: Memory type flag = ', KFLAG) C IF( ( KFLAG.EQ.1 ).OR.( KFLAG.EQ.2 ) ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 1 = grid to grid interpolation', JPQUIET) C IF( ( KFLAG.EQ.3 ).OR.( KFLAG.EQ.4 ).OR.( KFLAG.EQ.5 ) ) X CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 3->5 = scratch,',JPQUIET) C IF( KFLAG.EQ.6 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 6 = coeffs for spectral to lat/long interp',JPQUIET) C IF( KFLAG.EQ.7 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 7 = coefs for spectral to gaussian interp,',JPQUIET) C IF( KFLAG.EQ.8 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 8 = coefficients for rotating SH fields',JPQUIET) C IF( KFLAG.EQ.9 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 9 = FFT workspace,',JPQUIET) C IF( KFLAG.EQ.10 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 10 = output (partial) grid pt field,',JPQUIET) C IF( KFLAG.EQ.11 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 11 = work space for rotating fields,',JPQUIET) C IF( KFLAG.EQ.12 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 12 = raw land-sea mask,',JPQUIET) C IF( KFLAG.EQ.13 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 13 = 10 minute land-sea mask.',JPQUIET) C IF( KFLAG.EQ.14 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 14 = legendre coefficents line by line.',JPQUIET) C IF( KFLAG.EQ.15 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 15 = more work space for rotating fields.',JPQUIET) C IF( KFLAG.EQ.16 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 16 = more work space for intfbu.F.',JPQUIET) C IF( KFLAG.EQ.17 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 17 = more work space for ??.',JPQUIET) C IF( KFLAG.EQ.18 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 18 = space for rotating gaussian fields.',JPQUIET) C IF( KFLAG.EQ.19 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 19 = for dynamic allocation of znfeldi.',JPQUIET) C IF( KFLAG.EQ.20 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 20 = coefficients for rotating SH fields',JPQUIET) C IF( KFLAG.EQ.21 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 21 = coefficients for rotating SH fields',JPQUIET) C IF( KFLAG.EQ.22 ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: 22 = coefficients for rotating SH fields',JPQUIET) C CALL INTLOG(JP_DEBUG,'JMEMHAN: Memory reqd in words = ', KSIZE) CALL INTLOG(JP_DEBUG,'JMEMHAN: Option (1 = allocate) = ', KOPT) ENDIF C C ------------------------------------------------------- C* Section 2. Allocate memory C ------------------------------------------------------- C 200 CONTINUE C IF( KOPT.EQ.1 ) THEN C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG, X 'JMEMHAN: Requested allocation = ', KSIZE) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: Previous allocation = ', IEXIST(KFLAG)) ENDIF C C See if more memory required than already allocated C IF( KSIZE.GT.IEXIST(KFLAG) ) THEN C C Special cases (sigh) C C If allocating memory for spectral to lat/long or gaussian C interpolation, first deallocate heap space used by grid-pt C to grid-pt interpolation. C IF( ( KFLAG.EQ.1 ).OR.( KFLAG.EQ.2 ) ) THEN IF( LDEBUG ) THEN KRET = IAFREE(1,1) ELSE KRET = IAFREE(0,-1) ENDIF ENDIF C C If allocating memory on VPP for spectral to grid interpolation C coefficients, first deallocate memory used by other type of C spectral to gaussian interpolation if this option has been C requested. C IF( LFREECF ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: Free coefficients option exercised', JPQUIET) C C Spectral -> lat/long C IF( KFLAG.EQ.6 ) THEN IF( IEXIST(7).NE.-1 ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: Free spect->gaussn coeff memory',IZOUTBF(7)) #ifdef CRAY CALL HPDEALLC( IZOUTBF(7), KRET, 0) IF( KRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN: Memory de-allocation failed',KRET) KRET = JPROUTINE + 2 ENDIF #else CALL JFREE( IZOUTBF(7) ) #endif IZOUTBF(7) = 0 IEXIST(7) = -1 NISIZE7 = 0 YOLDGG = 'xxxxxxxxxxxxxxx' ENDIF ENDIF C C Spectral -> gaussian C IF( KFLAG.EQ.7 ) THEN IF( IEXIST(6).NE.-1 ) THEN IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: Free spec->lat/lon coeff memory',IZOUTBF(6)) #ifdef CRAY CALL HPDEALLC( IZOUTBF(6), KRET, 0) IF( KRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN: Memory de-allocation failed',KRET) KRET = JPROUTINE + 3 ENDIF #else CALL JFREE( IZOUTBF(6) ) #endif IZOUTBF(6) = 0 IEXIST(6) = -1 NISIZE6 = 0 YOLDLL = 'xxxxxxxxxxxxxxxxxxx' ENDIF ENDIF ENDIF C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: Request greater than previous allocation', KSIZE) C C If memory already allocated, deallocate existing memory C IF( IEXIST(KFLAG).GE.0 ) THEN C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: Deallocate existing memory',IEXIST(KFLAG)) #ifdef CRAY CALL HPDEALLC( IZOUTBF(KFLAG), KRET, 0) IF( KRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN: Memory de-allocation failed',KRET) KRET = JPROUTINE + 4 ENDIF #else CALL JFREE( IZOUTBF(KFLAG) ) #endif ENDIF C C Allocate heap memory C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: Allocate new memory ',KSIZE) C IEXIST(KFLAG) = KSIZE #ifdef CRAY CALL HPALLOC( IZOUTBF(KFLAG), IEXIST(KFLAG), KRET, 0 ) IF( KRET.LT.0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN: Memory allocation failed',KRET) #else #if (defined REAL_8) IZOUTBF(KFLAG) = JMALLOC( IEXIST(KFLAG) * 8 ) #else IZOUTBF(KFLAG) = JMALLOC( IEXIST(KFLAG) * 4 ) #endif #ifdef hpR64 IZOUTBF(KFLAG) = IZOUTBF(KFLAG)/(1024*1024*1024*4) #endif IF( IZOUTBF(KFLAG).EQ.0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN: Memory allocation failed',IZOUTBF(KFLAG)) #endif IEXIST(KFLAG) = -1 KRET = JPROUTINE + 5 GOTO 900 ENDIF ENDIF C IF( LFREECF ) THEN C C Spectral -> lat/long C IF( KFLAG.EQ.6 ) NISIZE6 = IEXIST(6) C C Spectral -> gaussian C IF( KFLAG.EQ.7 ) NISIZE7 = IEXIST(7) C ENDIF C C ------------------------------------------------------- C* Section 3. Deallocate memory C ------------------------------------------------------- C 300 CONTINUE C ELSE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: Deallocate memory address = ',IZOUTBF(KFLAG)) C IF( IZOUTBF(KFLAG).GT.0 ) THEN C #ifdef CRAY CALL HPDEALLC( IZOUTBF(KFLAG), KRET, 0) IF( KRET .LT. 0 ) THEN CALL INTLOG(JP_ERROR, X 'JMEMHAN: Memory deallocation failed',KRET) KRET = JPROUTINE + 6 ENDIF #else CALL JFREE( IZOUTBF(KFLAG) ) #endif IZOUTBF(KFLAG) = 0 IEXIST(KFLAG) = -1 C ELSE CALL INTLOG(JP_DEBUG,'JMEMHAN: Deallocation ignored',JPQUIET) ENDIF ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE IF( KRET.EQ.0 ) KZOUTBF = IZOUTBF(KFLAG) C IF( LDEBUG.AND.(.NOT.LDEBUG1) ) THEN ITOTAL = 0 DO LOOP = 1, JPOPTMX IF( IEXIST(LOOP).GT.0 ) THEN CALL INTLOG(JP_DEBUG, 'JMEMHAN: For type ', LOOP) #if (defined REAL_8) CALL INTLOG(JP_DEBUG, X 'JMEMHAN: bytes allocated = ', IEXIST(LOOP)*8 ) ITOTAL = ITOTAL + (IEXIST(LOOP) * 8) #else CALL INTLOG(JP_DEBUG, X 'JMEMHAN: bytes allocated = ', IEXIST(LOOP)*4 ) ITOTAL = ITOTAL + (IEXIST(LOOP) * 4) #endif ENDIF ENDDO CALL INTLOG(JP_DEBUG,'JMEMHAN: Total bytes allocated=', ITOTAL) CALL INTLOG(JP_DEBUG,'JMEMHAN: Return status code = ', KRET) ENDIF C RETURN END emoslib-000392+dfsg.1/interpolation/igplsm.F0000755000175000017500000001065312127406245021757 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGPLSM (POFELD, KLEN, KPR, KERR) C C----> C**** *IGPLSM* C C PURPOSE C _______ C C Force an interpolated land sea mask field back to a real 0-1 C field. C C INTERFACE C _________ C C IERR = IGPLSM (POFELD, KLEN, KPR, KERR) C C Input parameters C ________________ C C POFELD - The output field as previously calculated. C C KLEN - The length of the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C POFELD - The 0-1 land sea mask output field C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C None C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C The intrinsic routine ANINT is used to create a real array of C the nearest integer value to the interpolated field. An C additional check is that all values less than zero are forced C to zero and all values greater than one are forced to one. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 2 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Feb 1994 C C MODIFICATIONS C _____________ C C None C C----< C _______________________________________________________ C C C* Section 0. Definition of variables. C _______________________________________________________ C C* Prefix conventions for variable names C C Logical L (but not LP), global or common. C O, dummy argument C G, local variable C LP, parameter. C Character C, global or common. C H, dummy argument C Y (but not YP), local variable C YP, parameter. C Integer M and N, global or common. C K, dummy argument C I, local variable C J (but not JP), loop control C JP, parameter. C REAL A to F and Q to X, global or common. C P (but not PP), dummy argument C Z, local variable C PP, parameter. C C Implicit statement to force declarations C IMPLICIT NONE C #include "parim.h" C C Dummy arguments INTEGER KLEN, KPR, KERR REAL POFELD (KLEN) C C Local variables INTEGER JLEN INTEGER JPROUTINE PARAMETER (JPROUTINE = 25700) C C _______________________________________________________ C C* Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGPLSM: Section 1.',JPQUIET) C IGPLSM = 0 C IF (KPR .GE. 1) X CALL INTLOG(JP_DEBUG,'IGPLSM: Total fld len = ',KLEN) C C C _______________________________________________________ C C* Section 2. Force land sea mask to nearest integer (0 or 1) C _______________________________________________________ C 200 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGPLSM: Section 2.',JPQUIET) C DO 210 JLEN = 1, KLEN C POFELD (JLEN) = ANINT (POFELD (JLEN) ) C IF (POFELD (JLEN) .LT. PPZERO) POFELD (JLEN) = PPZERO IF (POFELD (JLEN) .GT. PPONE) POFELD (JLEN) = PPONE C 210 CONTINUE C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF (KPR.GE.1) CALL INTLOG(JP_DEBUG,'IGPLSM: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/iglsize.F0000755000175000017500000002711512127406245022133 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGLSIZE(KSTRIDE, KAREA, KNWE, KNNS, KLN, 1 OWEGLOBE, ONPOLE, OSPOLE, KPR, KERR) C C----> C**** *IGLSIZE* C C PURPOSE C _______ C C Evaluate the array sizes for a regular latitude/longitude grid C and area. C C INTERFACE C _________ C C IERR = IGLSIZE(KSTRIDE, KAREA, KNWE, KNNS, KLN, OWEGLOBE, C 1 ONPOLE, OSPOLE, KPR, KERR) C C Input parameters C ________________ C C KSTRIDE - The field grid definition (WE, NS). C C KAREA - The field area definition (N, W, S, E) provided by C the calling routine. C C KNWE - The number of points in the West-East direction in C the field. This will be zero for an output field. C C KNNS - The number of points in the North-South direction C in the field. This will be zero for an output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C KNWE - The number of points in the West-East direction in C the field. C C KNNS - The number of points in the North-South direction C in the field. C C KLN - The line number of the Northern latitude. This C value is used during land sea mask processing to C evaluate offsets in the "standard" files. C C OWEGLOBE - This variable will be true if the array of C longitudes spans the globe. C C ONPOLE - This variable will be true if the North polar line C of latitude is included in the grid. C C OSPOLE - This variable will be true if the South polar line C of latitude is included in the grid. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C -1 The West-East range does not match the stride and number C of points. C -2 The North-South range does not match the stride and C number of points. C C The two problems above could be caused by known deficiencies C in the GRIB representation of ranges and strides. They will be C treated as WARNING values. C C 25101 A global field is requested with an inappropriate C West-East stride. C 25102 A global field is requested with an inappropriate C North-South stride. C C Common block usage C __________________ C C None C C EXTERNALS C _________ C C INTLOG(R) - Logs messages. C C METHOD C ______ C C If all elements of array KAREA are zero then limits for the C appropriate global grid are generated. C C Otherwise it is assumed that all the limits in KAREA have been C validated and the sizes of the arrays required are calculated. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C Program contains sections 0 to 4 and 9 C C AUTHOR C ______ C C K. Fielding *ECMWF* Oct 1993 C C MODIFICATIONS C _____________ C C J.D.Chambers ECMWF March 1999 C Use tolerance when testing E-W and N-S global span. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Function arguments C LOGICAL OWEGLOBE, ONPOLE, OSPOLE INTEGER KNWE, KNNS, KLN, KPR, KERR INTEGER KSTRIDE(2), KAREA(4) C C Parameters C INTEGER JPROUTINE, JPEPSI PARAMETER (JPROUTINE = 25100) PARAMETER (JPEPSI = 50) C `---> represents 0.5 millidegree to allow for C grid step being off by upto 0.5 millidgrees C C C Local variables C INTEGER IEAST, IWEST, IREACH, INORTH, ISOUTH C C _______________________________________________________ C C Section 1. Initialisation C _______________________________________________________ C 100 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGLSIZE: Section 1.',JPQUIET) C IGLSIZE = 0 C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGLSIZE: Input parameters.',JPQUIET) IF( KNWE.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IGLSIZE: No.long pts = ',KNWE) IF( KNNS.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IGLSIZE: No.lat. pts = ',KNNS) CALL INTLOG(JP_DEBUG,'IGLSIZE: Grid WE stride = ',KSTRIDE(1)) CALL INTLOG(JP_DEBUG,'IGLSIZE: Grid NS stride = ',KSTRIDE(2)) CALL INTLOG(JP_DEBUG,'IGLSIZE: Area North = ', KAREA(1)) CALL INTLOG(JP_DEBUG,'IGLSIZE: Area West = ', KAREA(2)) CALL INTLOG(JP_DEBUG,'IGLSIZE: Area South = ', KAREA(3)) CALL INTLOG(JP_DEBUG,'IGLSIZE: Area East = ', KAREA(4)) ENDIF C C _______________________________________________________ C C Section 2. Generate global limits if no limits set C _______________________________________________________ C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGLSIZE: Section 2.',JPQUIET) C IF( (KAREA(JPEAST).EQ.0 ) .AND. X (KAREA(JPWEST).EQ.0 ) .AND. X (KAREA(JPNORTH).EQ.0 ) .AND. X (KAREA(JPSOUTH).EQ.0 ) ) THEN C IF( MOD(JP360,KSTRIDE(JPWESTEP)).NE.0 ) THEN IGLSIZE = JPROUTINE + 1 IF( KERR.GE.0 ) THEN CALL INTLOGR(JP_ERROR, X 'IGLSIZE: West-East stride for global grid = ', X REAL(KSTRIDE(JPWESTEP))/PPMULT) CALL INTLOGR(JP_ERROR, X 'IGLSIZE: This is not a factor of ', X REAL(JP360)/PPMULT) ENDIF C IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IGLSIZE: Interpolation failed.',IGLSIZE) C GO TO 900 ENDIF C IF( MOD(JP180,KSTRIDE(JPNSSTEP)).NE.0 ) THEN IGLSIZE = JPROUTINE + 2 IF( KERR.GE.0 ) THEN CALL INTLOGR(JP_ERROR, X 'IGLSIZE: North-South stride for global grid = ', X REAL(KSTRIDE(JPNSSTEP))/PPMULT) CALL INTLOGR(JP_ERROR, X 'IGLSIZE: This is not a factor of ', X REAL(JP180)/PPMULT) ENDIF C IF( KERR.EQ.0 ) CALL INTLOG(JP_FATAL, X 'IGLSIZE: Interpolation failed.',IGLSIZE) C GO TO 900 ENDIF C KAREA(JPNORTH) = JP90 KAREA(JPWEST) = 0 KAREA(JPSOUTH) = - JP90 KAREA(JPEAST) = JP360 - KSTRIDE(JPWESTEP) C ENDIF C C _______________________________________________________ C C Section 3. Standardise West-East limits and check for C West-East global fields C _______________________________________________________ C 300 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGLSIZE: Section 3.',JPQUIET) C C Force both KAREA(JPWEST) and KAREA(JPEAST) into standard C range (0 to JP360) C IF( KAREA(JPWEST).LT.0 ) KAREA(JPWEST) = KAREA(JPWEST) + JP360 C IF( KAREA(JPEAST).LT.0 ) KAREA(JPEAST) = KAREA(JPEAST) + JP360 C C Standardise range so that EAST > WEST C IEAST = KAREA(JPEAST) IWEST = KAREA(JPWEST) C IF( IEAST.LT.IWEST ) THEN C IF( IEAST.LT.0 ) THEN IEAST = IEAST + JP360 KAREA(JPEAST) = IEAST ELSE IWEST = IWEST - JP360 KAREA(JPWEST) = IWEST ENDIF C ENDIF C IF( KNWE.EQ.0 ) THEN C C Is it a global grid ? C IREACH = IEAST - IWEST + KSTRIDE(JPWESTEP) C OWEGLOBE = IREACH.GE.JP360 C C Number of points along line is C KNWE = NINT( FLOAT(IREACH) / FLOAT(KSTRIDE(JPWESTEP)) ) C ELSE C C Number of points is set (input field) C IF( ABS(IWEST+(KNWE-1)*KSTRIDE(JPWESTEP)-IEAST).GT. X ((KNWE-1)*JPEPSI) ) THEN C C WARNING of possible mismatch C IGLSIZE = - 1 CALL INTLOGR(JP_WARN, X 'IGLSIZE: West-East range = ',REAL(KAREA(JPWEST))/PPMULT) CALL INTLOGR(JP_WARN, X 'IGLSIZE: to = ',REAL(KAREA(JPEAST))/PPMULT) CALL INTLOG(JP_WARN, X 'IGLSIZE: Does not match no. of pts = ',KNWE) CALL INTLOGR(JP_WARN, X 'IGLSIZE: and stride = ',REAL(KSTRIDE(JPWESTEP))/PPMULT) C ENDIF C OWEGLOBE = ABS((KNWE * KSTRIDE(JPWESTEP))-JP360).LT. X (KNWE*JPEPSI) C ENDIF C C _______________________________________________________ C C Section 4. Generate points along a line of meridian C _______________________________________________________ C 400 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGLSIZE: Section 4.',JPQUIET) C INORTH = KAREA(JPNORTH) ISOUTH = KAREA(JPSOUTH) IF( INORTH.LT.ISOUTH ) THEN INORTH = KAREA(JPSOUTH) ISOUTH = KAREA(JPNORTH) ENDIF C IF( KNNS.EQ.0 ) THEN C C Number of lines not set (output field) C IREACH = INORTH - ISOUTH + KSTRIDE(JPNSSTEP) C KNNS = NINT( FLOAT(IREACH) / FLOAT(KSTRIDE(JPNSSTEP)) ) C ELSE C C Number of lines is set (input field) C IF( X ABS(INORTH-(KNNS-1)*KSTRIDE(JPNSSTEP)-ISOUTH) X .GT.((KNNS-1)*JPEPSI) ) THEN C C WARNING of possible mismatch C IGLSIZE = - 2 CALL INTLOGR(JP_WARN, X 'IGLSIZE: North-South range = ',REAL(INORTH)/PPMULT) CALL INTLOGR(JP_WARN, X 'IGLSIZE: to = ',REAL(ISOUTH)/PPMULT) CALL INTLOG(JP_WARN, X 'IGLSIZE: Does not match no. of pts = ',KNNS) CALL INTLOGR(JP_WARN, X 'IGLSIZE: and stride = ',REAL(KSTRIDE(JPNSSTEP))/PPMULT) C ENDIF C ENDIF C KLN = (JP90 - INORTH ) / KSTRIDE(JPNSSTEP) + 1 C C Check if North and South poles within grid C ONPOLE = INORTH.EQ.JP90 OSPOLE = ISOUTH.EQ.(- JP90) C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGLSIZE: Output parameters.',JPQUIET) IF( KNWE.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IGLSIZE: No.long pts = ',KNWE) IF( KNNS.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IGLSIZE: No.lat. pts = ',KNNS) CALL INTLOG(JP_DEBUG,'IGLSIZE: Northern line no. =',KLN) C IF( OWEGLOBE ) THEN CALL INTLOG(JP_DEBUG,'IGLSIZE: W-E fld is global',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGLSIZE: W-E fld is NOT global',JPQUIET) ENDIF C IF( ONPOLE ) THEN CALL INTLOG(JP_DEBUG,'IGLSIZE: N pole is in fld.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGLSIZE: N pole is NOT in fld.',JPQUIET) ENDIF C IF( OSPOLE ) THEN CALL INTLOG(JP_DEBUG,'IGLSIZE: S pole is in fld.',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IGLSIZE: S pole is NOT in fld.',JPQUIET) ENDIF C ENDIF C C _______________________________________________________ C C Section 9. Return to calling routine. Format statements C _______________________________________________________ C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGLSIZE: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/rddefs.c0000755000175000017500000002323212127406245021765 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include "fortint.h" #define LINESIZE 80 #define format 0x666F726D #define table 0x7461626C #define parameter 0x70617261 #define truncation 0x7472756E #define accuracy 0x61636375 #define grid 0x67726964 #define gaussian 0x67617573 #define area 0x61726561 #define scan 0x7363616E #define reduced 0x72656475 #define uselsm 0x7573656C #define usewind 0x75736577 #define useprecip 0x75736570 #define lsm_param 0x6C736D5F /* // defines for FORTRAN subroutine */ #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define CLEAR_C clear_c #define IAINIT iainit #define INIT_CM init_cm #define RDDEFS rddefs #else #define CLEAR_C clear_c_ #define IAINIT iainit_ #define INIT_CM init_cm_ #define RDDEFS rddefs_ #endif #endif #define NIFORM 1 #define NOFORM 2 #define NITABLE 3 #define NIPARAM 4 #define NIRESO 5 #define NORESO 6 #define NOACC 7 #define NIGRID1 8 #define NIGRID2 9 #define NOGRID1 10 #define NOGRID2 11 #define NIGAUSS 12 #define NOGAUSS 13 #define NIAREA1 14 #define NIAREA2 15 #define NIAREA3 16 #define NIAREA4 17 #define NOAREA1 18 #define NOAREA2 19 #define NOAREA3 20 #define NOAREA4 21 #define NISCNM 22 #define NOSCNM 23 #define LSM 24 #define LWIND 25 #define LPREC 26 #define NIREDU 27 #define NOREDU 28 #define LSMPAR 29 /* // Prototypes */ void set_format(char * inputval, char * outputval); void set_table(char * inputval, char * outputval); void set_parameter(char * inputval, char * outputval); void set_truncation(char * inputval, char * outputval); void set_accuracy(char * inputval, char * outputval); void set_grid(char * inputval, char * outputval); void set_gaussian(char * inputval, char * outputval); void set_area(char * inputval, char * outputval); void set_scan(char * inputval, char * outputval); void set_reduced(char * inputval, char * outputval); void set_uselsm(char * inputval, char * outputval); void set_usewind(char * inputval, char * outputval); void set_useprecip(char * inputval, char * outputval); void set_lsm_param(char * inputval, char * outputval); void INIT_CM( fortint *, fortint *); fortint RDDEFS() { /* // The file handling is currently not used! // // char * fallback_defaults_file = "/home/ma/mac/public/gp2gp/request_defaults"; // char * fallback_defaults_file = "/home/ma/mac/public/gp2gp/no_chance"; // char * defaults_file; */ FILE * file; int i_status; char line[LINESIZE+1]; char keyword[LINESIZE]; char inputval[LINESIZE]; char outputval[LINESIZE]; int count = 0, i; unsigned long code=0; int kpr = 0; int kerr = 1; /* // Clear the common block */ CLEAR_C(); IAINIT( &kpr, kerr); /* // The file handling is currently not used! // // Open the file defining the defaults // // defaults_file = getenv("REQUEST_DEFAULTS"); // if( defaults_file == NULL ) // defaults_file = fallback_defaults_file; // // file = fopen( defaults_file, "r"); // // // If no file, set the defaults here */ file = NULL; /* file handling currently not used! */ if( file == NULL ) { set_format("grib","grib"); set_table("128",""); set_parameter("0",""); set_area("0/0/0/0","0/0/0/0"); set_scan("0","0"); return 0; } /* // Ignore the 2 title lines, then a line at a time from the file */ while( fgets( line, LINESIZE, file) != NULL ) { count++; if ( count > 2 ) { /* // Split the line up */ i_status = sscanf( line, "%s%s%s", keyword, inputval, outputval); if ( (i_status != 3) && (i_status != EOF ) ) { perror("sscanf failed"); exit(1); } /* // Move first 4 characters of the keyword into the switch variable */ for( i = 0; i < 4; i++ ) code = ( (code << 8) + *(keyword+i) ) & 0xFFFFFFFF; /* // Handle the keywords individually */ switch( code ) { case format: set_format(inputval, outputval); break; case table: set_table(inputval, outputval); break; case parameter: set_parameter(inputval, outputval); break; case truncation: set_truncation(inputval, outputval); break; case accuracy: set_accuracy(inputval, outputval); break; case grid: set_grid(inputval, outputval); break; case gaussian: set_gaussian(inputval, outputval); break; case area: set_area(inputval, outputval); break; case scan: set_scan(inputval, outputval); break; case reduced: set_reduced(inputval, outputval); break; case uselsm: set_uselsm(inputval, outputval); break; case usewind: set_usewind(inputval, outputval); break; case useprecip: set_useprecip(inputval, outputval); break; case lsm_param: set_lsm_param(inputval, outputval); break; default: printf("Invalid code: %x\n", code); break; } } } return 0; } void set_format(char * inputval, char * outputval) { fortint p1, p_1 = 1, p_0 = 0; p1 = NIFORM; if ( strcmp( inputval, "grib") == 0 ) INIT_CM( &p1, &p_1); else INIT_CM( &p1, &p_0); p1 = NOFORM; if ( strcmp( outputval, "grib") == 0 ) INIT_CM( &p1, &p_1); else INIT_CM( &p1, &p_0); return; } void set_table(char * inputval, char * outputval) { fortint p1, p2; int q2; p1 = NITABLE; q2 = atoi( inputval ); p2 = (fortint) q2; INIT_CM( &p1, &p2); return; } void set_parameter(char * inputval, char * outputval) { fortint p1, p2; int q2; p1 = NIPARAM; q2 = atoi( inputval ); p2 = (fortint) q2; INIT_CM( &p1, &p2); return; } void set_truncation(char * inputval, char * outputval) { fortint p1, p2; int q2; p1 = NIRESO; q2 = atoi( inputval ); p2 = (fortint) q2; INIT_CM( &p1, &p2); p1 = NORESO; q2 = atoi( outputval ); p2 = (fortint) q2; INIT_CM( &p1, &p2); return; } void set_accuracy(char * inputval, char * outputval) { fortint p1, p2; int q2; p1 = NOACC; q2 = atoi( outputval ); p2 = (fortint) q2; INIT_CM( &p1, &p2); return; } void set_grid(char * inputval, char * outputval) { fortint p1,p2,p3; int q2,q3; p1 = NIGRID1; sscanf( inputval, "%d/%d", &q2, &q3); p2 = (fortint) q2; p3 = (fortint) q3; INIT_CM( &p1, &p2); p1 = NIGRID2; INIT_CM( &p1, &p3); p1 = NOGRID1; sscanf( outputval, "%d/%d", &q2, &q3); p2 = (fortint) q2; p3 = (fortint) q3; INIT_CM( &p1, &p2); p1 = NOGRID2; INIT_CM( &p1, &p3); return; } void set_gaussian(char * inputval, char * outputval) { fortint p1, p2; int q2; p1 = NIGAUSS; q2 = atoi( inputval ); p2 = (fortint) q2; INIT_CM( &p1, &p2); p1 = NOGAUSS; q2 = atoi( outputval ); p2 = (fortint) q2; INIT_CM( &p1, &p2); return; } void set_area(char * inputval, char * outputval) { fortint p1,p2,p3,p4,p5; int q2, q3, q4, q5; p1 = NIAREA1; sscanf( inputval, "%d/%d/%d/%d", &q2, &q3,&q4,&q5); p2 = (fortint) q2; p3 = (fortint) q3; p4 = (fortint) q4; p5 = (fortint) q5; INIT_CM( &p1, &p2); p1 = NIAREA2; INIT_CM( &p1, &p3); p1 = NIAREA3; INIT_CM( &p1, &p4); p1 = NIAREA4; INIT_CM( &p1, &p5); p1 = NOAREA1; sscanf( outputval, "%d/%d/%d/%d", &q2, &q3,&q4,&q5); p2 = (fortint) q2; p3 = (fortint) q3; p4 = (fortint) q4; p5 = (fortint) q5; INIT_CM( &p1, &p2); p1 = NOAREA2; INIT_CM( &p1, &p3); p1 = NOAREA3; INIT_CM( &p1, &p4); p1 = NOAREA4; INIT_CM( &p1, &p5); return; } void set_scan(char * inputval, char * outputval) { fortint p1, p2; int q2; p1 = NISCNM; q2 = atoi( inputval ); p2 = (fortint) q2; INIT_CM( &p1, &p2); p1 = NOSCNM; q2 = atoi( outputval ); p2 = (fortint) q2; INIT_CM( &p1, &p2); return; } void set_reduced(char * inputval, char * outputval) { fortint p1, p2; p1 = NIREDU; if ( strcmp( inputval, "standard" ) == 0 ) p2 = 1; else p2 = 0; INIT_CM( &p1, &p2); p1 = NOREDU; if ( strcmp( outputval, "standard" ) == 0 ) p2 = 1; else p2 = 0; INIT_CM( &p1, &p2); return; } void set_uselsm(char * inputval, char * outputval) { fortint p1, p2; p1 = LSM; if ( strcmp( inputval, "yes" ) == 0 ) p2 = 1; else p2 = 0; INIT_CM( &p1, &p2); return; } void set_usewind(char * inputval, char * outputval) { fortint p1, p2; p1 = LWIND; if ( strcmp( inputval, "yes" ) == 0 ) p2 = 1; else p2 = 0; INIT_CM( &p1, &p2); return; } void set_useprecip(char * inputval, char * outputval) { fortint p1, p2; p1 = LPREC; if ( strcmp( inputval, "yes" ) == 0 ) p2 = 1; else p2 = 0; INIT_CM( &p1, &p2); return; } void set_lsm_param(char * inputval, char * outputval) { fortint p1, p2; p1 = LSMPAR; if ( strcmp( inputval, "yes" ) == 0 ) p2 = 1; else p2 = 0; INIT_CM( &p1, &p2); return; } emoslib-000392+dfsg.1/interpolation/ngvalue.F0000755000175000017500000001062112127406245022120 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE NGVALUE(NEWFLD, NEXT, INROW, RLAT, RLON, X POLELAT, POLELON, NGAUSS, TYPE, FIELD, X GLATS, NGPTS) C C----> C**** NGVALUE C C PURPOSE C _______ C C Rotates one line of latitude in a gaussian grid. C C INTERFACE C _________ C C CALL NGVALUE(NEWFLD, NEXT, INROW, RLAT, RLON, C X POLELAT,POLELON,NGAUSS,TYPE,FIELD,GLATS,NGPTS) C C C Input parameters C ________________ C C NEWFLD - The field of values being created C NEXT - Start offset of the latitude row being created C INROW - The number of points in the latitude row C RLAT - Target point latitude in the rotated grid C RLON - Target point longitude in the rotated grid C POLELAT - Latitude of the rotated South Pole C POLELON - Longitude of the rotated South Pole C NGAUSS - Original unrotated gaussian field number C TYPE - Original unrotated gaussian field type C = 'F' for full (regular) gaussian field C = 'R' for reduced (quasi) gaussian field C FIELD - Original unrotated gaussian field values C GLATS - Gaussian latitudes for original field C NGPTS - Number of points along original field latitudes C C Output parameters C ________________ C C NEWFLD(NEXT) to NEWFLD(NEXT+INROW-1) contains the latitude row C values. C C C METHOD C ______ C C Rotates the lat/long positions of points along a latitude row in C a rotated gaussian grid back to positions in the unrotated grid C and then interpolates values from the original grid. C C C EXTERNALS C _________ C C LL2XYZ - Converts a latitude/longitude position to (x,y,z) C wrt axes through the centre of the globe. The z-axis C runs from the south to north pole. The x- and y-axes C are in the plane of the equator with the x-axis C pointing out through lat/long (0,0). C YROTATE - Rotates the globe about the new y-axis. C XYZ2LL - Converts an (x,y,z) position to a latitude/longitude. C NGINTRP - Interpolates a value from an existing grid. C C C REFERENCE C _________ C C None C C C COMMENTS C ________ C C The input field is assumed to be global in extent, and a known C definition, either N160 or N80 (reduced or regular). C C C AUTHOR C ______ C C J.D.Chambers ECMWF April 1996 C C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C* Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C C Parameters C INTEGER JPMAXGG PARAMETER( JPMAXGG = 1280 ) C C Function arguments C REAL RLAT, POLELAT, POLELON REAL NEWFLD(*), RLON(*), FIELD(*), GLATS(*) INTEGER NEXT, INROW, NGAUSS, NGPTS(*) CHARACTER*1 TYPE C C Local variables C REAL X(JPMAXGG), Y(JPMAXGG), Z(JPMAXGG) REAL RX(JPMAXGG),RY(JPMAXGG),RZ(JPMAXGG) REAL OLAT(JPMAXGG),OLON(JPMAXGG) INTEGER LOOP C C Convert the rotated row points lat/longs to (x,y,z) coordinates C CALL LL2XYZ(RLAT,RLON,X,Y,Z,INROW) C C Rotate the rotated row points back through the original latitude C rotation C CALL YROTATE(-(90.0+POLELAT),X,Y,Z,RX,RY,RZ,INROW) C C Convert the rotated row points adjusted (x,y,z) coordinates to C lat/long in the original grid (after longitude rotation) C CALL XYZ2LL(RX,RY,RZ,OLAT,OLON,INROW) C C Adjust the rotated line longitudes to remove the longitude C rotation C DO LOOP = 1, INROW OLON(LOOP) = OLON(LOOP) + POLELON IF( OLON(LOOP).LT.0.0 ) OLON(LOOP) = OLON(LOOP) + 360.0 IF( OLON(LOOP).GE.360.0 ) OLON(LOOP) = OLON(LOOP) - 360.0 ENDDO C C Interpolate the original unrotated grid to the points in the C rotated line C CALL NGINTRP(NEWFLD,NEXT,INROW,OLAT,OLON,NGAUSS,TYPE,FIELD, X GLATS,NGPTS) C RETURN END emoslib-000392+dfsg.1/interpolation/jstrll.F0000755000175000017500000002022712127406245021774 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JSTRLL( PSHUP, KTRUNC, PNLAT, PBUILD, KLONO, X PLEG, PTRIGS, KMFAX, PZFA, KRET) C C----> C**** JSTRLL C C PURPOSE C _______ C C This routine converts stretched spectral input fields to C standard lat/long grid fields. C C INTERFACE C _________ C C CALL JSTRLL( PSHUP, KTRUNC, PNLAT, PBUILD, KLONO, C X PLEG, PTRIGS, KMFAX, PZFA, KRET) C C Input parameters C ________________ C C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C PNLAT - Start latitude (northernmost) for output field C PBUILD - Grid interval used to build the legendre coefficients C KLONO - Number of longitude points along the line of latitude C PLEG - Array used to hold legendre functions C PTRIGS - Initialized array of trig.functions (setup by JJSET99) C KMFAX - Initialized array of prime factors (setup by JJSET99) C C Output parameters C ________________ C C PZFA - Output grid point field; contains one latitude row. C KRET - Return status code, 0 = OK C C Common block usage C __________________ C C JDCNDBG C C Method C ______ C C None. C C Externals C _________ C C FFT99 - Carries out FFT C INTLOG - Output log message C INTLOGR - Output log message (with real value) C NMAKLL - Make interpolation coefficients one latitude at a time C C Reference C _________ C C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C Comments C ________ C C It handles transformation to a regular lat/long grid. C C It is not for U and V fields (no correction is applied at the C poles). C C C AUTHOR C ______ C C J.D.Chambers ECMWF July 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "nifld.common" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31300 ) INTEGER JPN, JPS PARAMETER ( JPN = 1 ) PARAMETER ( JPS = 2 ) C C Subroutine arguments C COMPLEX PSHUP(*) INTEGER KTRUNC INTEGER KLONO, KRET INTEGER KMFAX(*) REAL PNLAT, PBUILD REAL PZFA(JPLONO+2), PLEG(*), PTRIGS(*) C C Local variables C INTEGER ILIM, IMLIM, ILN INTEGER ITAL, ITALA, ITALS, IMN, IMP INTEGER INORTH INTEGER JM, LOOP, JF INTEGER NERR C #ifdef POINTER_64 INTEGER*8 IWORK #endif REAL ZNLAT, MFACTOR REAL WORK DIMENSION WORK(1) POINTER ( IWORK, WORK ) COMPLEX ZDUM(JPTRNC + 1) COMPLEX ZSUMS(JPTRNC + 1), ZSUMA(JPTRNC + 1) COMPLEX*16 CHOLD C INTEGER ISIZE DATA ISIZE/0/ SAVE ISIZE, IWORK C C _______________________________________________________ C C* Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C C First time through, dynamically allocate memory for workspace C IF( ISIZE.EQ.0 ) THEN ISIZE = 2*JPFFT CALL JMEMHAN( 9, IWORK, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JSTRLL: memory allocation error.',IWORK) KRET = JPROUTINE + 1 GOTO 990 ENDIF ENDIF C IF( NDBG.GT.1 ) THEN CALL INTLOG(JP_DEBUG, X 'JSTRLL: Spherical harmonic coeffs(first 20):',JPQUIET) DO NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ',PSHUP( NDBGLP )) ENDDO CALL INTLOG(JP_DEBUG,'JSTRLL: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JSTRLL: Spherical harmonic truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JSTRLL: Current latitude = ', PNLAT) CALL INTLOGR(JP_DEBUG, X 'JSTRLL: Grid lat. interval(leg. file) = ', PBUILD) CALL INTLOG(JP_DEBUG, X 'JSTRLL: Number of long. pts per row = ', KLONO) CALL INTLOG(JP_DEBUG, X 'JSTRLL: Trig.functions (setup by JJSET99):',JPQUIET) DO NDBGLP = 1, 10 CALL INTLOGR(JP_DEBUG,' ',PTRIGS( NDBGLP )) ENDDO CALL INTLOG(JP_DEBUG, X 'JSTRLL: Prime factors (setup by JJSET99):',JPQUIET) DO NDBGLP = 1, 10 CALL INTLOG(JP_DEBUG,' ',KMFAX( NDBGLP )) ENDDO ENDIF C C If it is a stretched field, calculate the true latitude and C the map factor. C IF( RISTRET.NE.0 ) THEN CALL STRLAT(PNLAT, RISTRET, 1, ZNLAT, MFACTOR) ELSE ZNLAT = PNLAT ENDIF C ILIM = KTRUNC + 1 IMLIM = KTRUNC + 1 INORTH = -1 ILN = KLONO + 2 C C _______________________________________________________ C C* Section 2. Calculate fourier coefficients C _______________________________________________________ C 200 CONTINUE C C Generate the legendre coefficients 'on the fly' C IF( ZNLAT.GE.0 ) THEN CALL NMAKLL( KTRUNC, PBUILD, ZNLAT, 1, PLEG, NERR) ELSE CALL NMAKLL( KTRUNC, PBUILD, -ZNLAT, 1, PLEG, NERR) ENDIF C C Clear array. C DO JF = 1, JPLONO+2 PZFA(JF) = 0.0 ENDDO C C Fill slots which are used C IMN = 0 IMP = 0 C DO JM = 1, IMLIM ITAL = ILIM - JM + 1 DO LOOP = 1, ITAL ZDUM(LOOP) = PLEG(IMP + LOOP)*PSHUP(IMN + LOOP) ENDDO C IMP = IMP + ITAL + 1 IMN = IMN + ITAL ITALS = (ITAL + 1)/2 ITALA = ITAL/2 #ifndef CRAY CHOLD = (0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO LOOP = 1, 2*ITALS, 2 CHOLD = CHOLD + ZDUM(LOOP) ENDDO ZSUMS(JM) = CHOLD #ifndef CRAY CHOLD = (0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO LOOP = 2, 2*ITALA, 2 CHOLD = CHOLD + ZDUM(LOOP) ENDDO ZSUMA(JM) = CHOLD C ENDDO C C For the southern hemisphere row, the legendre functions are C the complex conjugates of the corresponding northern row - C hence the juggling with the signs in the next loop. C C Note that PZFA is REAL, but the coefficients being calculated C are COMPLEX. There are pairs of values for each coefficient C (real and imaginary parts) and pairs of values for each C latitude (north and south). C IF( ZNLAT.GE.0 ) THEN DO JM = 1, IMLIM PZFA(2*JM -1) = REAL(ZSUMS(JM)) + REAL(ZSUMA(JM)) PZFA(2*JM ) = AIMAG(ZSUMS(JM)) + AIMAG(ZSUMA(JM)) ENDDO ELSE DO JM = 1, IMLIM PZFA(2*JM -1) = REAL(ZSUMS(JM)) - REAL(ZSUMA(JM)) PZFA(2*JM ) = AIMAG(ZSUMS(JM)) - AIMAG(ZSUMA(JM)) ENDDO ENDIF C C _______________________________________________________ C C* Section 3. Fast fourier transform C _______________________________________________________ C 300 CONTINUE C CALL FFT99(PZFA,WORK,PTRIGS,KMFAX,1,J2NFFT,KLONO,1,1) C C Apply map factor (squared) to vorticity or divergence C IF( (NIPARAM.EQ.138).OR.(NIPARAM.EQ.155) ) THEN MFACTOR = MFACTOR*MFACTOR DO LOOP = 1, KLONO PZFA(LOOP) = MFACTOR*PZFA(LOOP) ENDDO ENDIF C IF( NDBG.GT.1 ) THEN CALL INTLOG(JP_DEBUG, X 'JSTRLL: Values calculated by FFT:',JPQUIET) DO NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ', PZFA( 1 + (NDBGLP-1)*2 )) CALL INTLOGR(JP_DEBUG,' ', PZFA( NDBGLP*2 )) ENDDO ENDIF C C _______________________________________________________ C C* Section 9. Return to calling routine. Format statements C _______________________________________________________ C C 900 CONTINUE C KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/intocn.F0000755000175000017500000011140512127406245021753 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INTOCN(HICODE,HSCODE,RTOP,RBOTT,RRIGHT,RLEFT, * RYRES,RXRES, * KSEC1,KSEC2,PSEC4,KLENP,KLENI,TARRAY, * XARR,YARR,NXP,NYP,PARRAY,IINTPOL,ISTAGP) C C----> C**** INTOCN - interpolates grib ocean data C C C PURPOSE C ------- C Interpolates data to new grid, according to instructions. C Missing data is flagged with -999.9; this information is C passed to the new field. C C C Interface. C ---------- C C IRET = INTOCN(....) C C Input parameters. C ----------------- C C HICODE Interpolation code C 'N' No interpolation C 'R' Interpolate only to make grid Regular C 'X' Interpolate in x only C 'Y' Interpolate in y only C 'F' Interpolate in x and y (Full) C HSCODE Staggered grid code C 'D' Drop every second row ('even' points) C 'X' Augment to standard grid by x interpolation C 'Y' Augment to standard grid by y interpolation C 'F' Augment to standard grid by x-y interpolation C RTOP Top of output field domain (degrees/metres/days) C RBOTT Bottom of output field domain ( " ) C RRIGHT Right of output field domain ( " ) C RLEFT Left of output field domain ( " ) C RYRES Resolution for y-interpolation ( " ) C RXRES Resolution for x-interpolation ( " ) C KSEC1 Product definition block (+ high res. grid data) C KSEC2 Grid description block C PSEC4 Input data array C KLENP Size of input array C KLENI Size of scratch array (and also output array PARRAY) C TARRAY Scratch array for use during interpolation C C Output parameters. C ------------------ C C Returns 0 if the interpolation is successful, otherwise non-zero. C C XARR x cordinates of data values, or XO,XSTEP, C 0.0 for regular spacing C YARR y cordinates of data values, or YO,YSTEP, C 0.0 for regular spacing C NXP x dimension of output field C NYP y dimension of output field C PARRAY output field array C IINTPOL Flag for interpolation done C = 0 if none, C = 1 if x only, C = 2 if y only, C = 3 if x and y. C ISTAGP Flag to show processing done for staggered grid: C = 0 if none C = 2 if every second row dropped. C = 3 if interpolated in x only. C = 4 if interpolated in y only. C = 5 if interpolated in x and y. C C C Method. C ------- C Convention is always to have output field array starting in bottom C left hand corner of the field. The positional information for the C data and for the axes is also given starting in the bottom left C hand corner. This means YARR and PSEC4 must be inverted for the C default grib scanning, which starts in the top left hand corner. C C C Externals. C ---------- C C INTLOG - Logs warning messages. C INTLOGR - Logs warning messages. C C C Reference. C ---------- C C None. C C C Author. C ------- C C T. Stockdale ECMWF 23.02.93 C C C Modifications. C -------------- C C T. Stockdale ECMWF 20.05.93 C Revised for local grib. C C J.D.Chambers ECMWF 04.10.95 C Make into a function (remove STOPs). C C T. Stockdale ECMWF 26.09.02 C Drop odd points (not even) from E grid, for better land sea mask C C T. Stockdale ECMWF 07.10.02 C New standard code (matches latest rd version) C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C C Parameters INTEGER JPROUTINE, JP_LONG PARAMETER (JPROUTINE = 33300 ) PARAMETER (JP_LONG = 3 ) C #include "parim.h" C C Subroutine arguments. CHARACTER*1 HICODE,HSCODE REAL RTOP, RBOTT, RRIGHT, RLEFT, RYRES, RXRES INTEGER KSEC1, KSEC2, KLENP, KLENI, NXP, NYP, IINTPOL, ISTAGP DIMENSION KSEC1(*) DIMENSION KSEC2(*) REAL PSEC4, TARRAY, XARR, YARR, PARRAY DIMENSION PSEC4(KLENP) DIMENSION XARR(*), YARR(*) DIMENSION TARRAY(KLENI), PARRAY(KLENI) C C Local variables INTEGER NX, NY, KLAT1, KLAT2, KLON1, KXINC, KYINC, ISTAG INTEGER IIRREG, JGCL, J, I, JSKIP, NXLEFT, NXRIGH, IWRAP, JI INTEGER JIP, JJ, IOFFSET, NEWPTS, JN, IPOS, IPOSM, JPOS INTEGER IPOSP1M, JMIN, JMAX, JLEFT, JJP, JJEFF INTEGER NYLEFTI, NYLEFT, NYRIGH REAL XUNIT, YUNIT, RRVAL, RLVAL, RUVAL, RDVAL, RXIRES REAL XSIGN, XRSIGN, XFPREV, XFPOSN, RPOS, RVALL, RVALR REAL XVAL, XOWEST, XORES, XPSIGN, RVAL, RYIRES, YFPREV, YFPOSN REAL YSIGN, YPSIGN, YRSIGN, RMISS, EPS REAL RVALB, RVALT, XOSOUT LOGICAL LNEAREST C C YSIGN Flag for direction of y co-ords in data: C +1 if co-ords are increasing with index of PSEC4, C -1 if decreasing. C YPSIGN Flag for direction of y co-ords in output field: C +1 if co-ords are increasing up the page, C -1 if decreasing. C YRSIGN Flag for direction of y co-ords in output field relative C to that in data: YSIGN*YPSIGN C IINTPOL Flag for interpolation: C 0 = none, C 1 = x only, C 2 = y only, C 3 = x and y C RMISS Value for missing data C EPS Tolerance on missing data flag C C EXTERNAL INTUP, INTDN, LENA, HDEGS, HMETRES INTEGER INTUP, INTDN, LENA CHARACTER*6 HDEGS, HMETRES C C Inline function - tests TRUE if A is a missing value REAL A LOGICAL MISSING MISSING(A) = ( ABS(A-RMISS) .LT. EPS ) C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C INTOCN = 0 C C Set key variables from GRIB header blocks. C NX = KSEC2(2) NY = KSEC2(3) C KLAT1 = KSEC1(62) KLAT2 = KSEC1(64) KLON1 = KSEC1(63) KXINC = KSEC1(66) KYINC = KSEC1(67) C ISTAG = KSEC1(69) IIRREG = KSEC1(68) JGCL = 74+KSEC1(71)+KSEC1(72) C IF(KSEC1(60).EQ.1) THEN XUNIT = 1.0/3600.0 ELSE XUNIT = 1.0E-6 ENDIF C IF(KSEC1(61).EQ.2) THEN YUNIT = 1.0E-3 ELSE IF(KSEC1(61).EQ.1) THEN YUNIT = 1.0/3600.0 ELSE YUNIT = 1.0E-6 ENDIF C IINTPOL = 0 RMISS = -999.9 EPS = 0.01 C C ------------------------------------------------------------------ C* Section 2 . Deal with staggered grid if present. C ------------------------------------------------------------------ C 200 CONTINUE C C The approach in this section is to replace the staggered grid by C a non-staggered version, either by interpolating the data onto new C grid points or by simply dropping half of the data points. A new C version of PSEC4 is created, and parts of KSEC1 are modified. C This enables the rest of INTOCN to treat the field in a consistent C manner, BUT it means that KSEC1 and PSEC4 will be altered on C leaving this subroutine (and presently in an inconsistent way). C C The interpolations coded in this section ignore the metric of the C staggered grid, that is they simply average neighbouring values to C find a new grid point value. The more general case can be added C later if desired. C C Note: we prefer to drop odd points and keep even points, because C the standard version of HOPE2 uses an external mask to define the C land-sea mask of its even points. The mask for odd points then has C to be interpolated, which is less accurate, so the plots look C better if the even points are kept. C C IF(ISTAG.EQ.1) THEN C C Drop odd row points ... C IF(HSCODE.EQ.'D') THEN ISTAGP = 2 NY = NY/2 KYINC = KYINC*2 DO 210 J = 1,NY DO 210 I = 1,NX PSEC4(I+NX*(J-1)) = PSEC4(I+NX*((J-1)*2+1)) 210 CONTINUE C C Reset the grid coordinate list. C Remove the y coordinates of the even rows, C the x coordinates of the even rows, and also the first x C coordinate of an even regular row. C IF(IIRREG.EQ.2) THEN KLON1=KSEC1(JGCL+1) DO 212 J = 1,NY KSEC1(JGCL+J) = KSEC1(JGCL+1+2*J) 212 CONTINUE C ELSE IF(IIRREG.EQ.3) THEN KLON1=KSEC1(JGCL+1) JSKIP = JGCL+NX DO 214 J = 1,NY KSEC1(JSKIP+J) = KSEC1(JSKIP+NX+2*J) 214 CONTINUE ENDIF C C* Staggered grid: interpolation in x. C ELSE IF(HSCODE.EQ.'X') THEN ISTAGP = 3 NX = NX*2 KXINC = KXINC/2 IF(((NX*NY).GT.KLENI).OR.((NX*NY).GT.KLENP)) THEN CALL INTLOG(JP_ERROR,'INTOCN: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENP) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENI) INTOCN = JPROUTINE + 17 GOTO 900 ENDIF C C Expand the data into a temporary array, and then copy back C into PSEC4. Note the treatment of the end points, which C assumes a longitude wrap-round. Remember to mask land points C so that either both points are missing or neither. C DO 220 J = 1,NY,2 RRVAL = PSEC4(1+(J-1)*NX/2) RLVAL = PSEC4(NX/2+(J-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(1+(J-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(2+(J-1)*NX) = PSEC4(1+(J-1)*NX/2) DO 220 I = 2,NX/2 RRVAL = PSEC4(I +(J-1)*NX/2) RLVAL = PSEC4(I-1+(J-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(I*2-1+(J-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(I*2 +(J-1)*NX) = PSEC4(I +(J-1)*NX/2) 220 CONTINUE C DO 222 J = 2,NY,2 RRVAL = PSEC4(1+(J-1)*NX/2) RLVAL = PSEC4(NX/2+(J-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(NX+(J-1)*NX) = (RLVAL+RRVAL)*0.5 TARRAY(NX-1+(J-1)*NX) = PSEC4(NX/2+(J-1)*NX/2) DO 222 I = 1,NX/2-1 RRVAL = PSEC4(I+1+(J-1)*NX/2) RLVAL = PSEC4(I +(J-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(I*2 +(J-1)*NX) = (RLVAL+RRVAL)*0.5 TARRAY(I*2-1+(J-1)*NX) = PSEC4(I +(J-1)*NX/2) 222 CONTINUE DO 224 J = 1,NY DO 224 I = 1,NX PSEC4(I+(J-1)*NX) = TARRAY(I+(J-1)*NX) 224 CONTINUE C C Reset the grid coordinate list if necessary, again making C use of a temporary array. Expand the x-coordinate list, C and remove the x coordinate of the first even point if grid C is regular in x. C KLON1 = KSEC1(JGCL+1) IF((IIRREG.EQ.1).OR.(IIRREG.EQ.3)) THEN JSKIP = JGCL DO 226 J = 1,NX/2 TARRAY(J*2-1) = KSEC1(JSKIP+J) TARRAY(J*2) = KSEC1(JSKIP+NX/2+J) 226 CONTINUE DO 227 J = 1,NX KSEC1(JSKIP+J) = TARRAY(J) 227 CONTINUE ELSE IF((IIRREG.EQ.2)) THEN DO 228 J = 1,NY KSEC1(JGCL+J) = KSEC1(JGCL+1+J) 228 CONTINUE ENDIF C C Staggered grid: interpolation in y. C ELSE IF(HSCODE.EQ.'Y') THEN ISTAGP = 4 NX = NX*2 KXINC = KXINC/2 IF(((NX*NY).GT.KLENI).OR.((NX*NY).GT.KLENP)) THEN CALL INTLOG(JP_ERROR,'INTOCN: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENP) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENI) INTOCN = JPROUTINE + 18 GOTO 900 ENDIF C C Expand the data into a temporary array, and then copy back C into PSEC4. For the polarmost rows, use X interpolation. C C First the even rows... DO 230 J = 2,NY-1,2 DO 230 I = 1,NX/2 RUVAL = PSEC4(I+(J-2)*NX/2) RDVAL = PSEC4(I+(J )*NX/2) IF(MISSING(RUVAL)) RDVAL = RMISS IF(MISSING(RDVAL)) RUVAL = RMISS TARRAY(I*2 +(J-1)*NX) = (RDVAL+RUVAL)*0.5 TARRAY(I*2-1+(J-1)*NX) = PSEC4(I+(J-1)*NX/2) 230 CONTINUE RRVAL = PSEC4(1+(NY-1)*NX/2) RLVAL = PSEC4(NX/2+(NY-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(NX+(NY-1)*NX) = (RLVAL+RRVAL)*0.5 TARRAY(NX-1+(NY-1)*NX) = PSEC4(NX/2+(NY-1)*NX/2) DO 231 I = 2,NX/2 RRVAL = PSEC4(I+1+(NY-1)*NX/2) RLVAL = PSEC4(I+(NY-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(I*2+(NY-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(I*2-1+(NY-1)*NX) = PSEC4(I+(NY-1)*NX/2) 231 CONTINUE C C Then the odd rows DO 232 J = 3,NY-1,2 RUVAL = PSEC4(NX/2+(J-2)*NX/2) RDVAL = PSEC4(NX/2+(J )*NX/2) IF(MISSING(RUVAL)) RDVAL = RMISS IF(MISSING(RDVAL)) RUVAL = RMISS TARRAY(1+(J-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(2+(J-1)*NX) = PSEC4(1+(J-1)*NX/2) DO 232 I = 1,NX/2 RUVAL = PSEC4(I+(J-2)*NX/2) RDVAL = PSEC4(I+(J )*NX/2) IF(MISSING(RUVAL)) RDVAL = RMISS IF(MISSING(RDVAL)) RUVAL = RMISS TARRAY(I*2-1+(J-1)*NX) = (RDVAL+RUVAL)*0.5 TARRAY(I*2 +(J-1)*NX) = PSEC4(I+(J-1)*NX/2) 232 CONTINUE C RRVAL = PSEC4(1+(1-1)*NX/2) RLVAL = PSEC4(NX/2+(1-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(1+(1-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(2+(1-1)*NX) = PSEC4(1+(1-1)*NX/2) DO 233 I = 2,NX/2 RRVAL = PSEC4(I+(1-1)*NX/2) RLVAL = PSEC4(I-1+(1-1)*NX/2) IF(MISSING(RRVAL)) RLVAL = RMISS IF(MISSING(RLVAL)) RRVAL = RMISS TARRAY(I*2-1+(1-1)*NX) = (RRVAL+RLVAL)*0.5 TARRAY(I*2+(1-1)*NX) = PSEC4(I+(1-1)*NX/2) 233 CONTINUE DO 234 J = 1,NY DO 234 I = 1,NX PSEC4(I+(J-1)*NX) = TARRAY(I+(J-1)*NX) 234 CONTINUE C C Reset the grid coordinate list if necessary, again making C use of a temporary array. Expand the x-coordinate list, C and remove the x coordinate of the first even point if C grid is regular in x. C IF((IIRREG.EQ.1).OR.(IIRREG.EQ.3)) THEN JSKIP = JGCL DO 235 J = 1,NX/2 TARRAY(J*2-1) = KSEC1(JSKIP+J) TARRAY(J*2) = KSEC1(JSKIP+NX/2+J) 235 CONTINUE DO 236 J = 1,NX KSEC1(JSKIP+J) = TARRAY(J) 236 CONTINUE ELSE IF((IIRREG.EQ.2)) THEN DO 237 J = 1,NY KSEC1(JGCL+J) = KSEC1(JGCL+1+J) 237 CONTINUE ENDIF C C Staggered grid: interpolation in x and y. C ELSE IF(HSCODE.EQ.'F') THEN ISTAGP = 5 CALL INTLOG(JP_ERROR,'INTOCN: Staggered grid opt. F',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: (interpolate x and y)',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: not yet implemented.',JPQUIET) INTOCN = JPROUTINE + 1 GOTO 900 ELSE CALL INTLOG(JP_ERROR,'INTOCN: Staggered grid option',JPQUIET) CALL INTLOG(JP_ERROR,HSCODE,JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: not known.',JPQUIET) INTOCN = JPROUTINE + 2 GOTO 900 ENDIF C ISTAG = 0 C ELSE ISTAGP = 0 ENDIF C C ------------------------------------------------------------------ C* Section 3 . Set X coordinates and interpolate in X. C ------------------------------------------------------------------ C 300 CONTINUE C C The procedure is first to do the x interpolation (if any), and C copy the result into a temporary array. The y interpolation is C done in the next section. C C The one complication here is to ensure proper longitude wrap-round C where appropriate. C C Some plot systems have difficulty controlling the data within the C viewport. Because of this, and in the interests of efficiency, the C data arrays are truncated even if no interpolation is being done. C C C No interpolation in X. C IF((HICODE.EQ.'N').OR. * ((HICODE.EQ.'R').AND.((IIRREG.EQ.0).OR.(IIRREG.EQ.2))).OR. * (HICODE.EQ.'Y') ) THEN C C If x is longitude, set parameters up for wrap-round C Wrap-round activated only if longitude range of data > 350 deg. C IF((IIRREG.EQ.0).OR.(IIRREG.EQ.2)) THEN RXIRES = KXINC*XUNIT NXLEFT = INTDN((RLEFT-KLON1*XUNIT)/RXIRES+1) NXRIGH = INTUP((RRIGHT-KLON1*XUNIT)/RXIRES+1) NXP = NXRIGH-NXLEFT+1 IF(NXP.LE.1) THEN CALL INTLOG(JP_ERROR,'INTOCN: NXP negative = ',NXP) INTOCN = JPROUTINE + 3 GOTO 900 ENDIF XARR(1) = KLON1*XUNIT+(NXLEFT-1)*RXIRES XARR(2) = KXINC*XUNIT XARR(3) = 0.0 IF( (KSEC1(60).EQ.3) .AND. (KXINC*NX*XUNIT.GT.350.0) ) THEN IWRAP = 1 ELSE IWRAP = 0 ENDIF C ELSE IF( (IIRREG.EQ.1) .OR. (IIRREG.EQ.3) ) THEN NXP = NX NXLEFT = 1 JSKIP = JGCL DO 312 JI = 1,NXP XARR(JI) = KSEC1(JSKIP+JI)*XUNIT 312 CONTINUE IF( (KSEC1(60).EQ.3) .AND. (KXINC*NX*XUNIT.GT.350.0) ) THEN IWRAP = 1 INTOCN = JPROUTINE + 4 GOTO 900 ELSE IWRAP = 0 ENDIF ENDIF C IF((NXP*NY).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCN: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENI) INTOCN = JPROUTINE + 5 GOTO 900 ENDIF C C Copy the data into the temporary array C DO 318 JI = 1,NXP JIP = JI+NXLEFT-1 IF(IWRAP.EQ.1) THEN IF(JIP.LE.0) JIP = JIP+NX IF(JIP.GT.NX) JIP = JIP-NX ENDIF IF((JIP.GE.1).AND.(JIP.LE.NX)) THEN DO 316 JJ = 1,NY TARRAY(JI+(JJ-1)*NXP) = PSEC4(JIP+(JJ-1)*NX) 316 CONTINUE ELSE DO 317 JJ = 1,NY TARRAY(JI+(JJ-1)*NXP) = RMISS 317 CONTINUE ENDIF 318 CONTINUE C C Interpolation from a grid irregular in X. C --------------------------------------------- C ELSE IF(((HICODE.EQ.'R').OR. * (HICODE.EQ.'X').OR. * (HICODE.EQ.'F') ).AND. * ((IIRREG.EQ.1).OR.(IIRREG.EQ.3)) ) THEN XPSIGN = SIGN(1.0,(RRIGHT-RLEFT)) NXP = NINT((RRIGHT-RLEFT)/RXRES*XPSIGN)+1 IF((NXP*NY).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCN: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENI) INTOCN = JPROUTINE + 6 GOTO 900 ENDIF RRIGHT = RLEFT+RXRES*XPSIGN*(NXP-1) XARR(1) = RLEFT XARR(2) = RXRES*XPSIGN XARR(3) = 0.0 IINTPOL = IINTPOL+1 IOFFSET = JGCL XSIGN = SIGN(1.0,((KSEC1(IOFFSET+2)-KSEC1(IOFFSET+1))*1.0)) XRSIGN = XSIGN*XPSIGN DO 321 JI = 1,NXP*NY TARRAY(JI) = RMISS 321 CONTINUE C C Work through the known (irregular) data points. C Calculate the position of the point as a fractional number of C points on the new regular grid C (XFPOSN). If there are any points on the new grid between this C point and the previous one (XFPREV), then set these points by C interpolation between the two known points. XFPREV= (KSEC1(IOFFSET+1)*XUNIT-RLEFT)/RXRES*XPSIGN - 0.5*XRSIGN DO 324 JI = 1,NX XFPOSN = (KSEC1(IOFFSET+JI)*XUNIT-RLEFT)/(RXRES*XPSIGN) NEWPTS = INTDN((XFPOSN*XRSIGN))-INTDN((XFPREV*XRSIGN)) DO 323 JN = 1,NEWPTS IPOS = (INTDN(XFPREV*XRSIGN)+JN)*XRSIGN+1 RPOS = (IPOS-1)*1.0 IF((IPOS.GE.1).AND.(IPOS.LE.NXP)) THEN DO 322 JJ = 1,NY RVALL = PSEC4(JI-1+NX*(JJ-1)) RVALR = PSEC4(JI+NX*(JJ-1)) IF(.NOT.MISSING(RVALL) .AND. .NOT.MISSING(RVALR) ) THEN XVAL = (XFPOSN-RPOS)/(XFPOSN-XFPREV)*RVALL * +(RPOS-XFPREV)/(XFPOSN-XFPREV)*RVALR ELSE XVAL = RMISS ENDIF TARRAY(IPOS+NXP*(JJ-1)) = XVAL 322 CONTINUE ENDIF 323 CONTINUE XFPREV = XFPOSN 324 CONTINUE C C Interpolation from a grid regular in X. C ELSE IF(((HICODE.EQ.'X').OR.(HICODE.EQ.'F')).AND. * ((IIRREG.EQ.0).OR.(IIRREG.EQ.2)) ) THEN XPSIGN = SIGN(1.0,(RRIGHT-RLEFT)) NXP = NINT((RRIGHT-RLEFT)/RXRES*XPSIGN)+1 IF((NXP*NY).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCN: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: Required = ',NXP*NY) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENI) INTOCN = JPROUTINE + 7 GOTO 900 ENDIF RRIGHT = RLEFT+RXRES*XPSIGN*(NXP-1) XARR(1) = RLEFT XARR(2) = RXRES*XPSIGN XARR(3) = 0.0 IINTPOL = IINTPOL+1 C C Work through the new regular grid points. Calculate the position C of the point as a fractional number of points on the old grid. C Use this fractional number to estimate the value of the field C at the new point C C (Note that just to the right of the first point, RPOS will be C eg 1.1, not 0.1) C DO 330 JI = 1,NXP*NY TARRAY(JI) = RMISS 330 CONTINUE C XOWEST = KLON1*XUNIT XORES = KXINC*XUNIT DO 3320 JI = 1,NXP RPOS = (RLEFT+(JI-1)*RXRES-XOWEST)/XORES + 1 IPOS = INTDN(RPOS) C C Check for out of bounds, and set to zero unless x is C longitude, in which case attempt to wrap round. IF( (IPOS.GE.1) .AND. ((IPOS+1).LE.NX) ) THEN DO 3310 JJ = 1,NY RVALL = PSEC4(IPOS+(JJ-1)*NX) RVALR = PSEC4(IPOS+1+(JJ-1)*NX) IF(.NOT. MISSING(RVALL) .AND. .NOT. MISSING(RVALR) ) THEN RVAL = (IPOS+1-RPOS)*RVALL + (RPOS-IPOS)*RVALR C C Do not set to missing if there is good data close by. ELSEIF( (.NOT.MISSING(RVALL)) .AND. X ((IPOS+1-RPOS).GT.0.5) ) THEN RVAL = RVALL ELSEIF( (.NOT. MISSING(RVALR)).AND. X ((RPOS-IPOS).GT.0.5)) THEN RVAL = RVALR ELSE RVAL = RMISS ENDIF TARRAY(JI+(JJ-1)*NXP) = RVAL 3310 CONTINUE C ELSEIF( KSEC1(60).EQ.JP_LONG ) THEN C C This works only if the longitude points are equally spaced C around the globe, ie the gap between the first and last C points is equal to the gap between any other pair of C adjacent points. C IPOSM = MOD(IPOS,NX) IPOSP1M = MOD((IPOS+1),NX) IF(IPOSM.LE.0) IPOSM = IPOSM+NX IF(IPOSP1M.LE.0) IPOSP1M = IPOSP1M+NX DO 3313 JJ = 1,NY RVALL = PSEC4(IPOSM+(JJ-1)*NX) RVALR = PSEC4(IPOSP1M+(JJ-1)*NX) IF(.NOT. MISSING(RVALL) .AND. .NOT. MISSING(RVALR) ) THEN RVAL = (IPOS+1-RPOS)*RVALL + (RPOS-IPOS)*RVALR C C Do not set to missing if there is good data close by. ELSEIF( (.NOT.MISSING(RVALL)) .AND. X ((IPOS+1-RPOS).GT.0.5) ) THEN RVAL = RVALL ELSEIF( (.NOT. MISSING(RVALR)).AND. X ((RPOS-IPOS).GT.0.5) ) THEN RVAL = RVALR ELSE RVAL = RMISS ENDIF IF(RVAL.GT.1E6) THEN RVAL = RMISS ENDIF TARRAY(JI+(JJ-1)*NXP) = RVAL 3313 CONTINUE ELSE DO 3316 JJ = 1,NY TARRAY(JI+(JJ-1)*NXP) = RMISS 3316 CONTINUE ENDIF 3320 CONTINUE C ELSE CALL INTLOG(JP_ERROR,'INTOCN: Error in logic.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: HICODE = ',JPQUIET) CALL INTLOG(JP_ERROR,HICODE,JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: IIRREG = ',IIRREG) INTOCN = JPROUTINE + 8 GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 4 . Set Y coordinates and interpolate in Y. C ------------------------------------------------------------------ C 400 CONTINUE C C The x-interpolated field in the temporary array is interpolated in C y into the final output field array. Note that the field and the C coordinate array are both inverted in the y direction during this C section. C C Some plot systems have difficulty controlling the data within the C viewport. Because of this, and in the interests of efficiency, the C data arrays are truncated even if no interpolation is being done. C C C No interpolation in Y. C IF((HICODE.EQ.'N').OR. * ((HICODE.EQ.'R').AND.((IIRREG.EQ.0).OR.(IIRREG.EQ.1))).OR. * (HICODE.EQ.'X') ) THEN C C If y is longitude, set parameters up for wrap-round C Wrap-round activated only if longitude range of data > 350 deg. C IF((IIRREG.EQ.0).OR.(IIRREG.EQ.1)) THEN C C Remember to invert calc of NYP if RYIRES -ve ... 22.04.94 RYIRES = KYINC*YUNIT IF(RYIRES.GT.0) THEN NYLEFT = INTDN((RBOTT-KLAT1*YUNIT)/RYIRES+1) NYRIGH = INTUP((RTOP-KLAT1*YUNIT)/RYIRES+1) NYP = NYRIGH-NYLEFT+1 ELSE NYRIGH = INTUP((RBOTT-KLAT1*YUNIT)/RYIRES+1) NYLEFT = INTDN((RTOP-KLAT1*YUNIT)/RYIRES+1) NYP = NYRIGH-NYLEFT+1 ENDIF IF(NYP.LE.1) THEN CALL INTLOG(JP_ERROR,'INTOCN: NYP negative = ',NYP) INTOCN = JPROUTINE + 9 GOTO 900 ENDIF C C Remember to invert yarr coordinates ... 06.07.93 YARR(1) = KLAT1*YUNIT+(NYRIGH-1)*RYIRES YARR(2) = -KYINC*YUNIT YARR(3) = 0.0 C C Remember NYLEFT is relative to the inverted array ... 19.01.96 C ... but be careful to do this exactly. 01.04.97 NYLEFTI=NYLEFT NYLEFT=NY+1-NYRIGH NYRIGH=NY+1-NYLEFTI C IF((KSEC1(61).EQ.3) .AND. (KYINC*NY*YUNIT.GT.350.0) ) THEN IWRAP = 1 ELSE IWRAP = 0 ENDIF C ELSE IF(IIRREG.EQ.2) THEN IOFFSET = JGCL YPSIGN = SIGN(1.0,(RTOP-RBOTT)) YSIGN = SIGN(1.0,((KSEC1(IOFFSET+2)-KSEC1(IOFFSET+1))*1.0)) YRSIGN = YSIGN*YPSIGN JMIN = 0 DO 410 JI = 1,NY YARR(JI) = KSEC1(IOFFSET+(NY+1-JI))*YUNIT IF(YRSIGN.LT.0.0) THEN IF((YARR(JI)-RBOTT)*YSIGN .GT. 0.0) JMIN = JI IF((YARR(JI)-RTOP )*YSIGN .GT. 0.0) JMAX = JI+1 ELSE IF((YARR(JI)-RTOP )*YSIGN .GT. 0.0) JMIN = JI IF((YARR(JI)-RBOTT)*YSIGN .GT. 0.0) JMAX = JI+1 ENDIF 410 CONTINUE IF(JMIN.EQ.0) THEN CALL INTLOG(JP_ERROR,'INTOCN: Domain out of range.',JPQUIET) CALL INTLOGR(JP_ERROR,'INTOCN: Requested Y = ',RBOTT) CALL INTLOGR(JP_ERROR,'INTOCN: Data limit of Y = ',YARR(1)) INTOCN = JPROUTINE + 10 GOTO 900 ENDIF IF(JMAX.EQ.NY+1) THEN CALL INTLOG(JP_ERROR,'INTOCN: Domain out of range.',JPQUIET) CALL INTLOGR(JP_ERROR,'INTOCN: Requested Y = ',RTOP) CALL INTLOGR(JP_ERROR,'INTOCN: Data limit of Y = ',YARR(NY)) INTOCN = JPROUTINE + 11 GOTO 900 ENDIF C NYP = (JMAX-JMIN)+1 NYLEFT = JMIN DO 411 JI = 1,NYP YARR(JI) = YARR(JI+(NYLEFT-1)) 411 CONTINUE C IF((KSEC1(61).EQ.3) .AND. (KYINC*NY*YUNIT.GT.350.0) ) THEN IWRAP = 1 CALL INTLOG(JP_ERROR,'INTOCN: Irregular wrap-round',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: not yet implemented.',JPQUIET) INTOCN = JPROUTINE + 12 GOTO 900 ELSE IWRAP = 0 ENDIF C ELSE IF(IIRREG.EQ.3) THEN NYP = NY NYLEFT = 1 JSKIP = JGCL+NX DO 412 JI = 1,NYP YARR(JI) = KSEC1(JSKIP+(NY+1-JI))*YUNIT 412 CONTINUE IF((KSEC1(61).EQ.3) .AND. (KYINC*NY*YUNIT.GT.350.0) ) THEN IWRAP = 1 CALL INTLOG(JP_ERROR,'INTOCN: Irregular wrap-round',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: not yet implemented.',JPQUIET) INTOCN = JPROUTINE + 13 GOTO 900 ELSE IWRAP = 0 ENDIF ENDIF C IF((NXP*NYP).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCN: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: Required = ',NXP*NYP) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENI) INTOCN = JPROUTINE + 14 GOTO 900 ENDIF C C Copy the data into the temporary array, and invert it at C same time. C Note: NYLEFT is the starting index in the inverted data array. C c DO 416 JJ = 1,NYP c DO 414 JI = 1,NXP c PARRAY(JI+(JJ-1)*NXP) = TARRAY(JI+(NY-JJ)*NXP) c 414 CONTINUE c 416 CONTINUE C DO 418 JJ = 1,NYP cc JJP = JJ+NYLEFT-1 JLEFT = NY-(NYLEFT-1) JJP = JLEFT-JJ+1 IF(IWRAP.EQ.1) THEN IF(JJP.LE.0) JJP = JJP+NY IF(JJP.GT.NY) JJP = JJP-NY ENDIF IF((JJP.GE.1).AND.(JJP.LE.NY)) THEN DO 416 JI = 1,NXP cc PARRAY(JI+(NYP-JJ)*NXP) = TARRAY(JI+(JJP-1)*NXP) PARRAY(JI+(JJ-1)*NXP) = TARRAY(JI+(JJP-1)*NXP) 416 CONTINUE ELSE DO 417 JI = 1,NXP PARRAY(JI+(NYP-JJ)*NXP) = RMISS 417 CONTINUE ENDIF 418 CONTINUE C C Interpolation from a grid irregular in Y. C ELSE IF(((HICODE.EQ.'R').OR. * (HICODE.EQ.'Y').OR. * (HICODE.EQ.'F') ).AND. * ((IIRREG.EQ.2).OR.(IIRREG.EQ.3)) ) THEN YPSIGN = SIGN(1.0,(RTOP-RBOTT)) IF( YPSIGN.GT.0 ) THEN NYP = NINT((RTOP-RBOTT+ 0.0001)/RYRES)+1 ELSE NYP = NINT((RBOTT-RTOP + 0.0001)/RYRES)+1 ENDIF Cjdc NYP = NINT((RTOP-RBOTT)/RYRES*YPSIGN)+1 IF((NXP*NYP).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCN: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: Required = ',NXP*NYP) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENI) INTOCN = JPROUTINE + 15 GOTO 900 ENDIF RTOP = RBOTT+RYRES*YPSIGN*(NYP-1) YARR(1) = RBOTT YARR(2) = RYRES*YPSIGN YARR(3) = 0.0 IINTPOL = IINTPOL+2 IF(IIRREG.EQ.2) THEN IOFFSET = JGCL ELSE IF(IIRREG.EQ.3) THEN IOFFSET = JGCL+NX ENDIF YSIGN = SIGN(1.0,((KSEC1(IOFFSET+2)-KSEC1(IOFFSET+1))*1.0)) YRSIGN = YSIGN*YPSIGN DO 420 JI = 1,NXP*NYP PARRAY(JI) = RMISS 420 CONTINUE C C Work through the known (irregular) data points. Calculate the C position of the point as a fractional number of points on the C new regular grid (YFPOSN). If there are any points on the new C grid between this point and the previous one (YFPREV), then set C these points by interpolation between the two known points. C Check that the points are in range. C Note that we are willing to overlap slightly at the start, but C must fiddle the array arguments to do this. C YFPREV= (KSEC1(IOFFSET+1)*YUNIT-RBOTT)/RYRES*YPSIGN - 0.5*YRSIGN DO 428 JJ = 1,NY YFPOSN = (KSEC1(IOFFSET+JJ)*YUNIT-RBOTT)/RYRES*YPSIGN NEWPTS = INTDN((YFPOSN*YRSIGN)) -INTDN((YFPREV*YRSIGN)) C C INT truncates toward zero; C INTDN truncates downwards in all cases C DO 426 JN = 1,NEWPTS IPOS = (INTDN(YFPREV*YRSIGN)+JN)*YRSIGN+1 RPOS = (IPOS-1)*1.0 IF((IPOS.GE.1).AND.(IPOS.LE.NYP)) THEN JJEFF = JJ IF(JJ.EQ.1) JJEFF = 2 DO 424 JI = 1,NXP RVALL = TARRAY(JI+NXP*(JJEFF-2)) RVALR = TARRAY(JI+NXP*(JJ-1)) IF(.NOT.MISSING(RVALL) .AND. .NOT.MISSING(RVALR) ) THEN XVAL = (YFPOSN-RPOS)/(YFPOSN-YFPREV)*RVALL * +(RPOS-YFPREV)/(YFPOSN-YFPREV)*RVALR ELSE XVAL = RMISS ENDIF PARRAY(JI+NXP*(IPOS-1)) = XVAL 424 CONTINUE ENDIF 426 CONTINUE YFPREV = YFPOSN 428 CONTINUE C C C C 4.3 INTERPOLATION FROM A GRID REGULAR IN Y C ------------------------------------------- C ELSEIF(((HICODE.EQ.'Y').OR.(HICODE.EQ.'F')).AND. * ((IIRREG.EQ.0).OR.(IIRREG.EQ.1)) ) THEN LNEAREST=.TRUE. YPSIGN=SIGN(1.,(RTOP-RBOTT)) NYP=NINT((RTOP-RBOTT)/RYRES*YPSIGN)+1 IF((NXP*NYP).GT.KLENI) THEN CALL INTLOG(JP_ERROR,'INTOCN: Array too small.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: Required = ',NXP*NYP) CALL INTLOG(JP_ERROR,'INTOCN: Available = ',KLENI) INTOCN = JPROUTINE + 19 GOTO 900 ENDIF RTOP=RBOTT+RYRES*(NYP-1)*YPSIGN YARR(1)=RBOTT YARR(2)=RYRES*YPSIGN YARR(3)=0.0 C Work through the new regular grid points. Calculate the position of C the point as a fractional number of points on the old grid. Use this C fractional number to estimate the value of the field at the new point IINTPOL=IINTPOL+2 DO 335 JI=1,NXP*NYP PARRAY(JI)=RMISS 335 CONTINUE XOSOUT=KLAT1*YUNIT XORES =KYINC*YUNIT DO 3370 JJ=1,NYP RPOS=(RBOTT+(JJ-1)*RYRES*YPSIGN-XOSOUT)/XORES + 1 JPOS=INTDN(RPOS) C Check for out of bounds, and set to missing if this is the case IF((JPOS.GE.1).AND.(JPOS+1.LE.NY)) THEN DO 3360 JI=1,NXP RVALB = TARRAY(JI+(JPOS-1)*NXP) RVALT = TARRAY(JI+(JPOS+1-1)*NXP) IF(.NOT.MISSING(RVALB).AND. * .NOT.MISSING(RVALT) ) THEN RVAL=(JPOS+1-RPOS)*RVALB * +(RPOS-JPOS)*RVALT ELSEIF(LNEAREST) THEN IF((.NOT.MISSING(RVALB)) .AND. * ((JPOS+1-RPOS).GT.0.5) ) THEN RVAL=RVALB ELSEIF((.NOT.MISSING(RVALT)).AND. * ((RPOS-JPOS).GT.0.5) ) THEN RVAL=RVALT ELSE RVAL=RMISS ENDIF ELSE RVAL=RMISS ENDIF PARRAY(JI+(JJ-1)*NXP)=RVAL 3360 CONTINUE ELSE DO 3365 JI=1,NXP PARRAY(JI+(JJ-1)*NXP)=RMISS 3365 CONTINUE ENDIF 3370 CONTINUE C C ELSE CALL INTLOG(JP_ERROR,'INTOCN: Error in logic.',JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: HICODE = ',JPQUIET) CALL INTLOG(JP_ERROR,HICODE,JPQUIET) CALL INTLOG(JP_ERROR,'INTOCN: IIRREG = ',IIRREG) INTOCN = JPROUTINE + 16 GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 9 . Return. C ------------------------------------------------------------------ C 900 CONTINUE C C RETURN END emoslib-000392+dfsg.1/interpolation/qpassm.F0000755000175000017500000004232012127406245021764 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE QPASSM(A,B,C,D,TRIGS,INC1,INC2,INC3,INC4,LOT,N,IFAC, * LA,IERR) DIMENSION A(N),B(N),C(N),D(N),TRIGS(N) C C----> C C SUBROUTINE 'QPASSM' - PERFORMS ONE PASS THROUGH DATA AS PART C OF MULTIPLE REAL FFT (FOURIER ANALYSIS) ROUTINE C C A IS FIRST REAL INPUT VECTOR C EQUIVALENCE B(1) WITH A(IFAC*LA*INC1+1) C C IS FIRST REAL OUTPUT VECTOR C EQUIVALENCE D(1) WITH C(LA*INC2+1) C TRIGS IS A PRECALCULATED LIST OF SINES & COSINES C INC1 IS THE ADDRESSING INCREMENT FOR A C INC2 IS THE ADDRESSING INCREMENT FOR C C INC3 IS THE INCREMENT BETWEEN INPUT VECTORS A C INC4 IS THE INCREMENT BETWEEN OUTPUT VECTORS C C LOT IS THE NUMBER OF VECTORS C N IS THE LENGTH OF THE VECTORS C IFAC IS THE CURRENT FACTOR OF N C LA = N/(PRODUCT OF FACTORS USED SO FAR) C IERR IS AN ERROR INDICATOR: C 0 - PASS COMPLETED WITHOUT ERROR C 1 - LOT GREATER THAN 64 C 2 - IFAC NOT CATERED FOR C 3 - IFAC ONLY CATERED FOR IF LA=N/IFAC C C----------------------------------------------------------------------- C----< C DATA SIN36/0.587785252292473/,SIN72/0.951056516295154/, * QRT5/0.559016994374947/,SIN60/0.866025403784437/ C M=N/IFAC IINK=LA*INC1 JINK=LA*INC2 IJUMP=(IFAC-1)*IINK KSTOP=(N-IFAC)/(2*IFAC) C IBAD=1 IF (LOT.GT.64) GO TO 910 IBASE=0 JBASE=0 IGO=IFAC-1 IF (IGO.EQ.7) IGO=6 IBAD=2 IF (IGO.LT.1.OR.IGO.GT.6) GO TO 910 GO TO (200,300,400,500,600,800),IGO C C CODING FOR FACTOR 2 C ------------------- 200 CONTINUE IA=1 IB=IA+IINK JA=1 JB=JA+(2*M-LA)*INC2 C IF (LA.EQ.M) GO TO 290 C DO 220 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 210 IJK=1,LOT C(JA+J)=A(IA+I)+A(IB+I) C(JB+J)=A(IA+I)-A(IB+I) I=I+INC3 J=J+INC4 210 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 220 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JA.EQ.JB) GO TO 260 DO 250 K=LA,KSTOP,LA KB=K+K C1=TRIGS(KB+1) S1=TRIGS(KB+2) JBASE=0 DO 240 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 230 IJK=1,LOT C(JA+J)=A(IA+I)+(C1*A(IB+I)+S1*B(IB+I)) C(JB+J)=A(IA+I)-(C1*A(IB+I)+S1*B(IB+I)) D(JA+J)=(C1*B(IB+I)-S1*A(IB+I))+B(IA+I) D(JB+J)=(C1*B(IB+I)-S1*A(IB+I))-B(IA+I) I=I+INC3 J=J+INC4 230 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 240 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB-JINK 250 CONTINUE IF (JA.GT.JB) GO TO 900 260 CONTINUE JBASE=0 DO 280 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 270 IJK=1,LOT C(JA+J)=A(IA+I) D(JA+J)=-A(IB+I) I=I+INC3 J=J+INC4 270 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 280 CONTINUE GO TO 900 C 290 CONTINUE Z=1.0/FLOAT(N) DO 294 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 292 IJK=1,LOT C(JA+J)=Z*(A(IA+I)+A(IB+I)) C(JB+J)=Z*(A(IA+I)-A(IB+I)) I=I+INC3 J=J+INC4 292 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 294 CONTINUE GO TO 900 C C CODING FOR FACTOR 3 C ------------------- 300 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK JA=1 JB=JA+(2*M-LA)*INC2 JC=JB C IF (LA.EQ.M) GO TO 390 C DO 320 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 310 IJK=1,LOT C(JA+J)=A(IA+I)+(A(IB+I)+A(IC+I)) C(JB+J)=A(IA+I)-0.5*(A(IB+I)+A(IC+I)) D(JB+J)=SIN60*(A(IC+I)-A(IB+I)) I=I+INC3 J=J+INC4 310 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 320 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JA.EQ.JC) GO TO 360 DO 350 K=LA,KSTOP,LA KB=K+K KC=KB+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) JBASE=0 DO 340 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 330 IJK=1,LOT A1=(C1*A(IB+I)+S1*B(IB+I))+(C2*A(IC+I)+S2*B(IC+I)) B1=(C1*B(IB+I)-S1*A(IB+I))+(C2*B(IC+I)-S2*A(IC+I)) A2=A(IA+I)-0.5*A1 B2=B(IA+I)-0.5*B1 A3=SIN60*((C1*A(IB+I)+S1*B(IB+I))-(C2*A(IC+I)+S2*B(IC+I))) B3=SIN60*((C1*B(IB+I)-S1*A(IB+I))-(C2*B(IC+I)-S2*A(IC+I))) C(JA+J)=A(IA+I)+A1 D(JA+J)=B(IA+I)+B1 C(JB+J)=A2+B3 D(JB+J)=B2-A3 C(JC+J)=A2-B3 D(JC+J)=-(B2+A3) I=I+INC3 J=J+INC4 330 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 340 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC-JINK 350 CONTINUE IF (JA.GT.JC) GO TO 900 360 CONTINUE JBASE=0 DO 380 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 370 IJK=1,LOT C(JA+J)=A(IA+I)+0.5*(A(IB+I)-A(IC+I)) D(JA+J)=-SIN60*(A(IB+I)+A(IC+I)) C(JB+J)=A(IA+I)-(A(IB+I)-A(IC+I)) I=I+INC3 J=J+INC4 370 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 380 CONTINUE GO TO 900 C 390 CONTINUE Z=1.0/FLOAT(N) ZSIN60=Z*SIN60 DO 394 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 392 IJK=1,LOT C(JA+J)=Z*(A(IA+I)+(A(IB+I)+A(IC+I))) C(JB+J)=Z*(A(IA+I)-0.5*(A(IB+I)+A(IC+I))) D(JB+J)=ZSIN60*(A(IC+I)-A(IB+I)) I=I+INC3 J=J+INC4 392 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 394 CONTINUE GO TO 900 C C CODING FOR FACTOR 4 C ------------------- 400 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK JA=1 JB=JA+(2*M-LA)*INC2 JC=JB+2*M*INC2 JD=JB C IF (LA.EQ.M) GO TO 490 C DO 420 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 410 IJK=1,LOT C(JA+J)=(A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I)) C(JC+J)=(A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I)) C(JB+J)=A(IA+I)-A(IC+I) D(JB+J)=A(ID+I)-A(IB+I) I=I+INC3 J=J+INC4 410 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 420 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC-JINK JD=JD-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JB.EQ.JC) GO TO 460 DO 450 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) JBASE=0 DO 440 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 430 IJK=1,LOT A0=A(IA+I)+(C2*A(IC+I)+S2*B(IC+I)) A2=A(IA+I)-(C2*A(IC+I)+S2*B(IC+I)) A1=(C1*A(IB+I)+S1*B(IB+I))+(C3*A(ID+I)+S3*B(ID+I)) A3=(C1*A(IB+I)+S1*B(IB+I))-(C3*A(ID+I)+S3*B(ID+I)) B0=B(IA+I)+(C2*B(IC+I)-S2*A(IC+I)) B2=B(IA+I)-(C2*B(IC+I)-S2*A(IC+I)) B1=(C1*B(IB+I)-S1*A(IB+I))+(C3*B(ID+I)-S3*A(ID+I)) B3=(C1*B(IB+I)-S1*A(IB+I))-(C3*B(ID+I)-S3*A(ID+I)) C(JA+J)=A0+A1 C(JC+J)=A0-A1 D(JA+J)=B0+B1 D(JC+J)=B1-B0 C(JB+J)=A2+B3 C(JD+J)=A2-B3 D(JB+J)=B2-A3 D(JD+J)=-(B2+A3) I=I+INC3 J=J+INC4 430 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 440 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC-JINK JD=JD-JINK 450 CONTINUE IF (JB.GT.JC) GO TO 900 460 CONTINUE SIN45=SQRT(0.5) JBASE=0 DO 480 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 470 IJK=1,LOT C(JA+J)=A(IA+I)+SIN45*(A(IB+I)-A(ID+I)) C(JB+J)=A(IA+I)-SIN45*(A(IB+I)-A(ID+I)) D(JA+J)=-A(IC+I)-SIN45*(A(IB+I)+A(ID+I)) D(JB+J)=A(IC+I)-SIN45*(A(IB+I)+A(ID+I)) I=I+INC3 J=J+INC4 470 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 480 CONTINUE GO TO 900 C 490 CONTINUE Z=1.0/FLOAT(N) DO 494 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 492 IJK=1,LOT C(JA+J)=Z*((A(IA+I)+A(IC+I))+(A(IB+I)+A(ID+I))) C(JC+J)=Z*((A(IA+I)+A(IC+I))-(A(IB+I)+A(ID+I))) C(JB+J)=Z*(A(IA+I)-A(IC+I)) D(JB+J)=Z*(A(ID+I)-A(IB+I)) I=I+INC3 J=J+INC4 492 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 494 CONTINUE GO TO 900 C C CODING FOR FACTOR 5 C ------------------- 500 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK IE=ID+IINK JA=1 JB=JA+(2*M-LA)*INC2 JC=JB+2*M*INC2 JD=JC JE=JB C IF (LA.EQ.M) GO TO 590 C DO 520 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 510 IJK=1,LOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=A(IA+I)-0.25*(A1+A2) A6=QRT5*(A1-A2) C(JA+J)=A(IA+I)+(A1+A2) C(JB+J)=A5+A6 C(JC+J)=A5-A6 D(JB+J)=-SIN72*A3-SIN36*A4 D(JC+J)=-SIN36*A3+SIN72*A4 I=I+INC3 J=J+INC4 510 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 520 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JB.EQ.JD) GO TO 560 DO 550 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) JBASE=0 DO 540 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 530 IJK=1,LOT A1=(C1*A(IB+I)+S1*B(IB+I))+(C4*A(IE+I)+S4*B(IE+I)) A3=(C1*A(IB+I)+S1*B(IB+I))-(C4*A(IE+I)+S4*B(IE+I)) A2=(C2*A(IC+I)+S2*B(IC+I))+(C3*A(ID+I)+S3*B(ID+I)) A4=(C2*A(IC+I)+S2*B(IC+I))-(C3*A(ID+I)+S3*B(ID+I)) B1=(C1*B(IB+I)-S1*A(IB+I))+(C4*B(IE+I)-S4*A(IE+I)) B3=(C1*B(IB+I)-S1*A(IB+I))-(C4*B(IE+I)-S4*A(IE+I)) B2=(C2*B(IC+I)-S2*A(IC+I))+(C3*B(ID+I)-S3*A(ID+I)) B4=(C2*B(IC+I)-S2*A(IC+I))-(C3*B(ID+I)-S3*A(ID+I)) A5=A(IA+I)-0.25*(A1+A2) A6=QRT5*(A1-A2) B5=B(IA+I)-0.25*(B1+B2) B6=QRT5*(B1-B2) A10=A5+A6 A20=A5-A6 B10=B5+B6 B20=B5-B6 A11=SIN72*B3+SIN36*B4 A21=SIN36*B3-SIN72*B4 B11=SIN72*A3+SIN36*A4 B21=SIN36*A3-SIN72*A4 C(JA+J)=A(IA+I)+(A1+A2) C(JB+J)=A10+A11 C(JE+J)=A10-A11 C(JC+J)=A20+A21 C(JD+J)=A20-A21 D(JA+J)=B(IA+I)+(B1+B2) D(JB+J)=B10-B11 D(JE+J)=-(B10+B11) D(JC+J)=B20-B21 D(JD+J)=-(B20+B21) I=I+INC3 J=J+INC4 530 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 540 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK 550 CONTINUE IF (JB.GT.JD) GO TO 900 560 CONTINUE JBASE=0 DO 580 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 570 IJK=1,LOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=A(IA+I)+0.25*(A3-A4) A6=QRT5*(A3+A4) C(JA+J)=A5+A6 C(JB+J)=A5-A6 C(JC+J)=A(IA+I)-(A3-A4) D(JA+J)=-SIN36*A1-SIN72*A2 D(JB+J)=-SIN72*A1+SIN36*A2 I=I+INC3 J=J+INC4 570 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 580 CONTINUE GO TO 900 C 590 CONTINUE Z=1.0/FLOAT(N) ZQRT5=Z*QRT5 ZSIN36=Z*SIN36 ZSIN72=Z*SIN72 DO 594 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 592 IJK=1,LOT A1=A(IB+I)+A(IE+I) A3=A(IB+I)-A(IE+I) A2=A(IC+I)+A(ID+I) A4=A(IC+I)-A(ID+I) A5=Z*(A(IA+I)-0.25*(A1+A2)) A6=ZQRT5*(A1-A2) C(JA+J)=Z*(A(IA+I)+(A1+A2)) C(JB+J)=A5+A6 C(JC+J)=A5-A6 D(JB+J)=-ZSIN72*A3-ZSIN36*A4 D(JC+J)=-ZSIN36*A3+ZSIN72*A4 I=I+INC3 J=J+INC4 592 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 594 CONTINUE GO TO 900 C C CODING FOR FACTOR 6 C ------------------- 600 CONTINUE IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK IE=ID+IINK IF=IE+IINK JA=1 JB=JA+(2*M-LA)*INC2 JC=JB+2*M*INC2 JD=JC+2*M*INC2 JE=JC JF=JB C IF (LA.EQ.M) GO TO 690 C DO 620 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 610 IJK=1,LOT A11=(A(IC+I)+A(IF+I))+(A(IB+I)+A(IE+I)) C(JA+J)=(A(IA+I)+A(ID+I))+A11 C(JC+J)=(A(IA+I)+A(ID+I)-0.5*A11) D(JC+J)=SIN60*((A(IC+I)+A(IF+I))-(A(IB+I)+A(IE+I))) A11=(A(IC+I)-A(IF+I))+(A(IE+I)-A(IB+I)) C(JB+J)=(A(IA+I)-A(ID+I))-0.5*A11 D(JB+J)=SIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) C(JD+J)=(A(IA+I)-A(ID+I))+A11 I=I+INC3 J=J+INC4 610 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 620 CONTINUE JA=JA+JINK JINK=2*JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK JF=JF-JINK IBASE=IBASE+IJUMP IJUMP=2*IJUMP+IINK IF (JC.EQ.JD) GO TO 660 DO 650 K=LA,KSTOP,LA KB=K+K KC=KB+KB KD=KC+KB KE=KD+KB KF=KE+KB C1=TRIGS(KB+1) S1=TRIGS(KB+2) C2=TRIGS(KC+1) S2=TRIGS(KC+2) C3=TRIGS(KD+1) S3=TRIGS(KD+2) C4=TRIGS(KE+1) S4=TRIGS(KE+2) C5=TRIGS(KF+1) S5=TRIGS(KF+2) JBASE=0 DO 640 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 630 IJK=1,LOT A1=C1*A(IB+I)+S1*B(IB+I) B1=C1*B(IB+I)-S1*A(IB+I) A2=C2*A(IC+I)+S2*B(IC+I) B2=C2*B(IC+I)-S2*A(IC+I) A3=C3*A(ID+I)+S3*B(ID+I) B3=C3*B(ID+I)-S3*A(ID+I) A4=C4*A(IE+I)+S4*B(IE+I) B4=C4*B(IE+I)-S4*A(IE+I) A5=C5*A(IF+I)+S5*B(IF+I) B5=C5*B(IF+I)-S5*A(IF+I) A11=(A2+A5)+(A1+A4) A20=(A(IA+I)+A3)-0.5*A11 A21=SIN60*((A2+A5)-(A1+A4)) B11=(B2+B5)+(B1+B4) B20=(B(IA+I)+B3)-0.5*B11 B21=SIN60*((B2+B5)-(B1+B4)) C(JA+J)=(A(IA+I)+A3)+A11 D(JA+J)=(B(IA+I)+B3)+B11 C(JC+J)=A20-B21 D(JC+J)=A21+B20 C(JE+J)=A20+B21 D(JE+J)=A21-B20 A11=(A2-A5)+(A4-A1) A20=(A(IA+I)-A3)-0.5*A11 A21=SIN60*((A4-A1)-(A2-A5)) B11=(B5-B2)-(B4-B1) B20=(B3-B(IA+I))-0.5*B11 B21=SIN60*((B5-B2)+(B4-B1)) C(JB+J)=A20-B21 D(JB+J)=A21-B20 C(JD+J)=A11+(A(IA+I)-A3) D(JD+J)=B11+(B3-B(IA+I)) C(JF+J)=A20+B21 D(JF+J)=A21+B20 I=I+INC3 J=J+INC4 630 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 640 CONTINUE IBASE=IBASE+IJUMP JA=JA+JINK JB=JB+JINK JC=JC+JINK JD=JD-JINK JE=JE-JINK JF=JF-JINK 650 CONTINUE IF (JC.GT.JD) GO TO 900 660 CONTINUE JBASE=0 DO 680 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 670 IJK=1,LOT C(JA+J)=(A(IA+I)+0.5*(A(IC+I)-A(IE+I)))+ SIN60*(A(IB+I)-A(IF+I)) D(JA+J)=-(A(ID+I)+0.5*(A(IB+I)+A(IF+I)))-SIN60*(A(IC+I)+A(IE+I)) C(JB+J)=A(IA+I)-(A(IC+I)-A(IE+I)) D(JB+J)=A(ID+I)-(A(IB+I)+A(IF+I)) C(JC+J)=(A(IA+I)+0.5*(A(IC+I)-A(IE+I)))-SIN60*(A(IB+I)-A(IF+I)) D(JC+J)=-(A(ID+I)+0.5*(A(IB+I)+A(IF+I)))+SIN60*(A(IC+I)+A(IE+I)) I=I+INC3 J=J+INC4 670 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 680 CONTINUE GO TO 900 C 690 CONTINUE Z=1.0/FLOAT(N) ZSIN60=Z*SIN60 DO 694 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 692 IJK=1,LOT A11=(A(IC+I)+A(IF+I))+(A(IB+I)+A(IE+I)) C(JA+J)=Z*((A(IA+I)+A(ID+I))+A11) C(JC+J)=Z*((A(IA+I)+A(ID+I))-0.5*A11) D(JC+J)=ZSIN60*((A(IC+I)+A(IF+I))-(A(IB+I)+A(IE+I))) A11=(A(IC+I)-A(IF+I))+(A(IE+I)-A(IB+I)) C(JB+J)=Z*((A(IA+I)-A(ID+I))-0.5*A11) D(JB+J)=ZSIN60*((A(IE+I)-A(IB+I))-(A(IC+I)-A(IF+I))) C(JD+J)=Z*((A(IA+I)-A(ID+I))+A11) I=I+INC3 J=J+INC4 692 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 694 CONTINUE GO TO 900 C C CODING FOR FACTOR 8 C ------------------- 800 CONTINUE IBAD=3 IF (LA.NE.M) GO TO 910 IA=1 IB=IA+IINK IC=IB+IINK ID=IC+IINK IE=ID+IINK IF=IE+IINK IG=IF+IINK IH=IG+IINK JA=1 JB=JA+LA*INC2 JC=JB+2*M*INC2 JD=JC+2*M*INC2 JE=JD+2*M*INC2 Z=1.0/FLOAT(N) ZSIN45=Z*SQRT(0.5) C DO 820 L=1,LA I=IBASE J=JBASE CDIR$ IVDEP DO 810 IJK=1,LOT C(JA+J)=Z*(((A(IA+I)+A(IE+I))+(A(IC+I)+A(IG+I)))+ * ((A(ID+I)+A(IH+I))+(A(IB+I)+A(IF+I)))) C(JE+J)=Z*(((A(IA+I)+A(IE+I))+(A(IC+I)+A(IG+I)))- * ((A(ID+I)+A(IH+I))+(A(IB+I)+A(IF+I)))) C(JC+J)=Z*((A(IA+I)+A(IE+I))-(A(IC+I)+A(IG+I))) D(JC+J)=Z*((A(ID+I)+A(IH+I))-(A(IB+I)+A(IF+I))) C(JB+J)=Z*(A(IA+I)-A(IE+I)) * +ZSIN45*((A(IH+I)-A(ID+I))-(A(IF+I)-A(IB+I))) C(JD+J)=Z*(A(IA+I)-A(IE+I)) * -ZSIN45*((A(IH+I)-A(ID+I))-(A(IF+I)-A(IB+I))) D(JB+J)=ZSIN45*((A(IH+I)-A(ID+I))+(A(IF+I)-A(IB+I))) * +Z*(A(IG+I)-A(IC+I)) D(JD+J)=ZSIN45*((A(IH+I)-A(ID+I))+(A(IF+I)-A(IB+I))) * -Z*(A(IG+I)-A(IC+I)) I=I+INC3 J=J+INC4 810 CONTINUE IBASE=IBASE+INC1 JBASE=JBASE+INC2 820 CONTINUE C C RETURN C ------ 900 CONTINUE IBAD=0 910 CONTINUE IERR=IBAD RETURN END emoslib-000392+dfsg.1/interpolation/rgauss_400.h0000755000175000017500000000647212127406245022421 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C REAL QG400(400) DATA QG400/ X 18, 25, 32, 40, 45, X 50, 60, 60, 72, 72, X 75, 81, 90, 96, 100, X 108, 120, 120, 125, 128, X 144, 144, 150, 160, 160, X 180, 180, 192, 192, 200, X 200, 216, 216, 225, 240, X 240, 240, 250, 250, 256, X 270, 288, 288, 288, 300, X 300, 320, 320, 320, 324, X 360, 360, 360, 360, 360, X 360, 375, 375, 384, 400, X 400, 400, 405, 432, 432, X 432, 432, 450, 450, 450, X 480, 480, 480, 480, 480, X 486, 500, 500, 512, 512, X 540, 540, 540, 540, 540, X 576, 576, 576, 576, 576, X 576, 600, 600, 600, 600, X 640, 640, 640, 640, 640, X 640, 640, 648, 675, 675, X 675, 675, 675, 720, 720, X 720, 720, 720, 720, 720, X 729, 729, 750, 750, 750, X 750, 768, 768, 768, 800, X 800, 800, 800, 800, 800, X 810, 864, 864, 864, 864, X 864, 864, 864, 864, 864, X 864, 900, 900, 900, 900, X 900, 900, 900, 960, 960, X 960, 960, 960, 960, 960, X 960, 960, 960, 960, 960, X 972, 972, 1000, 1000, 1000, X 1000, 1000, 1000, 1024, 1024, X 1024, 1024, 1024, 1080, 1080, X 1080, 1080, 1080, 1080, 1080, X 1080, 1080, 1080, 1080, 1125, X 1125, 1125, 1125, 1125, 1125, X 1125, 1125, 1125, 1152, 1152, X 1152, 1152, 1152, 1152, 1200, X 1200, 1200, 1200, 1200, 1200, X 1200, 1200, 1200, 1200, 1200, X 1215, 1215, 1215, 1215, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1280, 1280, 1280, 1280, 1280, X 1296, 1296, 1296, 1296, 1350, X 1350, 1350, 1350, 1350, 1350, X 1350, 1350, 1350, 1350, 1350, X 1350, 1350, 1350, 1350, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1440, 1440, 1440, X 1440, 1440, 1458, 1458, 1458, X 1458, 1458, 1458, 1458, 1500, X 1500, 1500, 1500, 1500, 1500, X 1500, 1500, 1500, 1500, 1500, X 1500, 1500, 1500, 1500, 1500, X 1500, 1536, 1536, 1536, 1536, X 1536, 1536, 1536, 1536, 1536, X 1536, 1536, 1536, 1536, 1536, X 1536, 1536, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600, X 1600, 1600, 1600, 1600, 1600 / emoslib-000392+dfsg.1/interpolation/hll2ll.F0000755000175000017500000003150512127406245021654 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HLL2LL(L12PNT,OLDFLD,OLDGRID,AREA,POLE,GRID, X NEWFLD,KSIZE,NLON,NLAT) C C----> C**** HLL2LL C C Purpose C ------- C C This routine creates a rotated regular lat/long field from a C global regular lat/long field using 12-point horizontal C interpolation. C C C Interface C --------- C C IRET = HLL2LL(L12PNT,OLDFLD,OLDGRID,AREA,POLE,GRID,NEWFLD,KSIZE, C X NLON,NLAT) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C OLDFLD - The array of values from the regular lat/long field C OLDGRID - Grid increments (i/j) for the global lat/long field C AREA - Limits of area (N/W/S/E) for the new lat/long field C POLE - Pole of rotation (lat/long) for the new lat/long field C GRID - Grid increments (i/j) for the new lat/long field C KSIZE - The size of the array to fill with the new C lat/long field C C C Output parameters C ----------------- C C NEWFLD - The array of values for the regular lat/long field C NLON - Number of longitudes in the regular lat/long field C NLAT - Number of latitudes in the regular lat/long field C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C HGENLL - Calculates original lat/long (before rotation) for C a rotated grid C HNEILL - Finds neighbours for points for interpolation C HWTSLL - Calculates weightings for points for interpolation C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF November 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) C C Function arguments C LOGICAL L12PNT INTEGER KSIZE, NLON, NLAT REAL OLDGRID(2),AREA(4),POLE(2),GRID(2),OLDFLD(*),NEWFLD(KSIZE) C C Local variables C integer loopx INTEGER NEXT, LOOP, IRET, NLEN, NPREV, NBYTES, NUMBER INTEGER NOLDLAT, NOLDLON, NEAREST C CHARACTER*12 YFLAG LOGICAL LNEW, LFIRST, LVEGGY INTEGER KSCHEME(1),NEIGH(12,1), KLA(1) REAL PWTS(12,1) POINTER (IPKSCHE, KSCHEME) POINTER (IPNEIGH, NEIGH) POINTER (IPKLA, KLA) POINTER (IPPWTS, PWTS) C REAL PDLO0(1),PDLO1(1),PDLO2(1),PDLO3(1),PDLAT(1) POINTER (IPPDLO0, PDLO0) POINTER (IPPDLO1, PDLO1) POINTER (IPPDLO2, PDLO2) POINTER (IPPDLO3, PDLO3) POINTER (IPPDLAT, PDLAT) C REAL PREGRID(2) INTEGER KPTS(1) REAL GLATS(1) INTEGER IOFFS(1) POINTER (IPKPTS, KPTS) POINTER (IPIOFFS, IOFFS) POINTER (IPGLATS, GLATS) C INTEGER ILL, ILLOLD REAL RLAT(1),RLON(1) POINTER (IPRLAT, RLAT) POINTER (IPRLON, RLON) C REAL OLD(1) POINTER (IOLD, OLD) C DATA NPREV/-1/ DATA LNEW/.FALSE./, LFIRST/.TRUE./ DATA ILLOLD/-1/, IOLD/-1/ DATA PREGRID/2*0.0/ C SAVE LNEW, LFIRST SAVE IPKSCHE, IPNEIGH, IPKLA, IPPWTS SAVE IPPDLO0, IPPDLO1, IPPDLO2, IPPDLO3, IPPDLAT SAVE NPREV, IPKPTS, IPIOFFS, IPGLATS SAVE ILLOLD, IPRLAT, IPRLON, IOLD SAVE PREGRID C C Externals C INTEGER HNEILL, HGENLL #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HLL2LL = 0 C CALL JDEBUG() IF( L12PNT ) THEN CALL INTLOG(JP_DEBUG,'HLL2LL: 12-pt interpolation',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'HLL2LL: 4-pt interpolation',JPQUIET) ENDIF C CALL CHKPREC() IF( LPREC )THEN CALL INTLOG(JP_DEBUG, X 'HLL2LL: precipitation threshold applied',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'HLL2LL: precipitation threshold not applied',JPQUIET) ENDIF C Are we handling vegetation parameter LVEGGY = (NITABLE.EQ.128).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30).OR. X (NIPARAM.EQ.43) ) C Force nearest neighbour processing with env variable CALL GETENV('NEAREST_NEIGHBOUR', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LVEGGY = .TRUE. C Force nearest neighbour processing with INTOUT parameter IF( LMETHOD ) LVEGGY = .TRUE. IF( LVEGGY ) CALL INTLOG(JP_DEBUG, X 'HLL2LL: nearest neighbour processing (vegetation)',JPQUIET) NOLDLAT = 1 + NINT(180.0/OLDGRID(1)) NOLDLON = NINT(360.0/OLDGRID(2)) NUMBER = NOLDLAT * NOLDLON C IF( (OLDGRID(1).NE.PREGRID(1)).OR. X (OLDGRID(2).NE.PREGRID(2)) ) THEN C C Allocate memory to hold the input field C (in case OLDFLD and NEWFLD are the same arrays) C IF( IOLD.GT.0 ) CALL JFREE(IOLD) C NBYTES = NUMBER * JPRLEN C IOLD = JMALLOC(NBYTES) #ifdef hpR64 IOLD = IOLD/(1024*1024*1024*4) #endif IF( IOLD.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HLL2LL: Memory allocation fail',JPQUIET) HLL2LL = 3 GOTO 900 ENDIF C PREGRID(1) = OLDGRID(1) PREGRID(2) = OLDGRID(2) C ENDIF C C Preserve the input field C DO LOOP = 1, NUMBER OLD(LOOP) = OLDFLD(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 2. Generate the lat/long points for the output grid C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + NINT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) ! SC NLAT = 1 + NINT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) ! SC C NLEN = NLON * NLAT NOWE = NLON NONS = NLAT C C Check that given array is big enough for the new field. C IF( NLEN.GT.KSIZE ) THEN CALL INTLOG(JP_ERROR,'HLL2LL: Given array size = ',KSIZE) CALL INTLOG(JP_ERROR,'HLL2LL: Required size = ',NLEN) HLL2LL = 4 GOTO 900 ENDIF C C Dynamically allocate memory for lat/long arrays. C ILL = NLEN IF( ILL.GT.ILLOLD ) THEN C LNEW = .TRUE. C IF( ILLOLD.GT.0 ) CALL JFREE(IPRLON) C NBYTES = 2*ILL*JPRLEN C IPRLON = JMALLOC(NBYTES) #ifdef hpR64 IPRLON = IPRLON/(1024*1024*1024*4) #endif IF( IPRLON.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HLL2LL: Memory allocation fail',JPQUIET) HLL2LL = 5 GOTO 900 ENDIF C IPRLAT = IPRLON + (ILL*JPRLEN) C ILLOLD = ILL C ENDIF C IRET = HGENLL(AREA,POLE,GRID,NLON,NLAT,RLAT,RLON) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HLL2LL: HGENLL failed to get lat/lon grid data',JPQUIET) HLL2LL = 6 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 3. Find neighbours for each point for interpolation. C -----------------------------------------------------------------| C 300 CONTINUE C C Dynamically allocate memory for interpolation arrays. C IF( LNEW ) THEN C IF( .NOT.LFIRST ) CALL JFREE(IPPDLO0) C NBYTES = (17*JPRLEN + 14*JPBYTES) * ILL C IPPDLO0 = JMALLOC(NBYTES) #ifdef hpR64 IPPDLO0 = IPPDLO0/(1024*1024*1024*4) #endif IF( IPPDLO0.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HLL2LL: Memory allocation fail',JPQUIET) HLL2LL = 7 GOTO 900 ENDIF C IPPDLO1 = IPPDLO0 + (ILL*JPRLEN) IPPDLO2 = IPPDLO1 + (ILL*JPRLEN) IPPDLO3 = IPPDLO2 + (ILL*JPRLEN) IPPDLAT = IPPDLO3 + (ILL*JPRLEN) IPPWTS = IPPDLAT + (ILL*JPRLEN) IPKSCHE = IPPWTS + (12*ILL*JPRLEN) IPKLA = IPKSCHE + (ILL*JPBYTES) IPNEIGH = IPKLA + (ILL*JPBYTES) C LFIRST = .FALSE. LNEW = .FALSE. C ENDIF C C Find neighbours. C IRET = HNEILL(L12PNT,NLEN,RLAT,RLON,OLDGRID, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HLL2LL: HNEILL failed to find neighbours',JPQUIET) HLL2LL = 8 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 4. Perform the 12-point horizontal interpolation. C -----------------------------------------------------------------| C 400 CONTINUE C C Setup the 12-point horizontal interpolation weights C CALL HWTSLL X (NLEN,KSCHEME,KLA,PDLAT,oldgrid(2),pdlo0,PDLO1,PDLO2,PDLO3, X NEIGH,PWTS) C C Calculate the interpolated grid point values C DO LOOP = 1, NLEN IF( LVEGGY) THEN NEAREST = 1 IF( PWTS( 2,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 2 IF( PWTS( 3,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 3 IF( PWTS( 4,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 4 IF( PWTS( 5,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 5 IF( PWTS( 6,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 6 IF( PWTS( 7,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 7 IF( PWTS( 8,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 8 IF( PWTS( 9,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST = 9 IF( PWTS(10,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =10 IF( PWTS(11,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =11 IF( PWTS(12,LOOP).GT.PWTS(NEAREST,LOOP) ) NEAREST =12 NEWFLD(LOOP) = OLD(NEIGH( NEAREST,LOOP)) ELSE IF( KSCHEME(LOOP).EQ.JP12PT ) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLD(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLD(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLD(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLD(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLD(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLD(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLD(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLD(NEIGH(12,LOOP)) * PWTS(12,LOOP) C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) X NEWFLD(LOOP) = OLD(NEIGH(NEXT,LOOP)) ENDDO C ENDIF ENDIF ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/newisl.F0000755000175000017500000002021712127406245021762 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION NEWISL(OLDGEO,NEWGEO,OLDLSM,OLDFLD,MASTER,NEWFLD) C C----> C**** NEWISL C C Purpose C ------- C C Interpolate a field based on an old land-sea mask to a field C based on a different land-sea mask. C C C Interface C --------- C C IRET = NEWISL(OLDGEO,NEWGEO,OLDLSM,OLDFLD,MASTER,NEWFLD) C C Input C ----- C C OLDGEO - GRIB section 2 describing grid of old field. C NEWGEO - GRIB section 2 describing grid of new field. C OLDLSM - Array of land-sea mask values for old field. C OLDFLD - Array of values for old field. C MASTER - Array of land-sea mask values for new field. C C C Output C ------ C C NEWFLD - Array of values for new field. C C Function returns: C - 0 if all is well C - 1, otherwise. C C C Method C ------ C C Build up field offsets from input geometries. C For each point of the new field, find in the old field the four C nearest neighbours' positions, values and types. C Calculate new value from the neighbours. C C C Externals C --------- C C IGGLAT - Compute gaussian lines of latitude. C JNORSGG - Find gaussian latitudes to north and south of latitude. C ISLPROC - Calculate value of new field point. C INTLOG - Log messages C C C Author C ------ C C J.D.Chambers ECMWF August 2000 C C----< C IMPLICIT NONE C C Function arguments C INTEGER OLDGEO(*),NEWGEO(*) REAL OLDLSM(*),OLDFLD(*),MASTER(*),NEWFLD(*) C #include "intisl.h" #include "parim.h" C C Parameters C INTEGER JPMAXLT, JPGAUSS, JP1000 PARAMETER (JPMAXLT=721) PARAMETER (JPGAUSS=4) PARAMETER (JP1000=1000) C C Local variables C INTEGER TOTAL, NEXT, LOOP, NEWOFF(JPMAXLT), OLDOFF(JPMAXLT) INTEGER LATIT, LONG, NEWTYPE, IRET, NPTS INTEGER LAT(2), LON(4) INTEGER PT(4), TYPE(4) REAL OLAT(2), OLON(4) REAL RLATOLD(JPMAXLT), RLATNEW(JPMAXLT), RLAT, RLON C C Externals C INTEGER IGGLAT, JNORSGG REAL ISLPROC EXTERNAL IGGLAT, JNORSGG, ISLPROC C C -----------------------------------------------------------------| C* Section 1. Build working values using input geometries. C -----------------------------------------------------------------| C 100 CONTINUE C NEWISL = 0 C C -----------------------------------------------------------------| C* Section 2. Calculate number of points in new field and offset C to start of each latitude in the new grid C -----------------------------------------------------------------| C 200 CONTINUE C IF( NEWGEO(1).EQ.JPGAUSS ) THEN C C New field is gaussian C CALL INTLOG(JP_DEBUG,'NEWISL: New field is gaussian',JPQUIET) C IF( NEWGEO(17).EQ.0 ) THEN CALL INTLOG(JP_DEBUG,'NEWISL: New field is regular',JPQUIET) TOTAL = NEWGEO(2)*NEWGEO(3) NEWOFF(1) = 0 DO LOOP = 2, NEWGEO(NJ) NEWOFF(LOOP) = NEWOFF(LOOP-1) + NEWGEO(2) ENDDO ELSE CALL INTLOG(JP_DEBUG,'NEWISL: New field is reduced',JPQUIET) NEWOFF(1) = 0 TOTAL = NEWGEO(NPOINTS) DO LOOP = 2, NEWGEO(NJ) NEWOFF(LOOP) = NEWOFF(LOOP-1) + NEWGEO(NPOINTS-2+LOOP) TOTAL = TOTAL + NEWGEO(NPOINTS-1+LOOP) ENDDO ENDIF C C Get the gaussian latitudes for the new field C IRET = IGGLAT(NEWGEO(NGAUSS)*2,RLATNEW,0,-1) IF( IRET.NE.0 ) THEN WRITE(*,*) 'NEWISL: Problem call igglat for new grid' NEWISL = 1 RETURN ENDIF C ELSE C C New field is lat/long C CALL INTLOG(JP_DEBUG,'NEWISL: New field is lat/long',JPQUIET) TOTAL = NEWGEO(2)*NEWGEO(3) DO LOOP = 1, NEWGEO(3) NEWOFF(LOOP) = NEWGEO(2)*(LOOP-1) RLATNEW(LOOP) = 90.0 - (REAL((LOOP-1)*NEWGEO(10))/JP1000) ENDDO C ENDIF C CALL INTLOG(JP_DEBUG,'NEWISL: No. of pts in new field = ',TOTAL) C C -----------------------------------------------------------------| C* Section 3. Get the gaussian latitudes for the old field and C setup the offsets to the start of each latitude. C -----------------------------------------------------------------| C 300 CONTINUE C OLDOFF(1) = 0 DO LOOP = 2, OLDGEO(NJ) OLDOFF(LOOP) = OLDOFF(LOOP-1) + OLDGEO(NPOINTS-2+LOOP) ENDDO C IRET = IGGLAT(OLDGEO(NGAUSS)*2,RLATOLD,0,-1) IF( IRET.NE.0 ) THEN WRITE(*,*) 'NEWISL: Problem call igglat for old grid' NEWISL = 1 RETURN ENDIF C C -----------------------------------------------------------------| C* Section 4. Work through the points in the new field. C -----------------------------------------------------------------| C 400 CONTINUE C DO NEXT = 1, TOTAL C C Calculate lat/long C DO LOOP = 1, NEWGEO(NJ) IF( NEWOFF(LOOP).GE.NEXT ) THEN LATIT = LOOP - 1 GOTO 410 ENDIF ENDDO LATIT = NEWGEO(NJ) C 410 CONTINUE C LONG = NEXT - NEWOFF(LATIT) C RLAT = RLATNEW(LATIT) IF( NEWGEO(1).EQ.JPGAUSS ) THEN IF( NEWGEO(17).EQ.0 ) THEN RLON = REAL((LONG-1)*NEWGEO(9))/JP1000 ELSE RLON = (REAL(LONG-1)*360.0)/REAL(NEWGEO(NPOINTS+LATIT-1)) ENDIF ELSE RLON = REAL((LONG-1)*NEWGEO(9))/JP1000 ENDIF C C Find type of point (land or sea) C IF( MASTER(NEXT).GT.MASTERTHRESHOLD ) THEN NEWTYPE = LAND ELSE NEWTYPE = SEA ENDIF C C Find four neighbours in the old field with their types C (Find NW neighbour and deduce the others). C LAT(NORTH) = JNORSGG(RLAT,RLATOLD,OLDGEO(NGAUSS),1) LAT(SOUTH) = JNORSGG(RLAT,RLATOLD,OLDGEO(NGAUSS),0) C OLAT(NORTH) = RLATOLD(LAT(NORTH)) OLAT(SOUTH) = RLATOLD(LAT(SOUTH)) C NPTS = OLDGEO(NPOINTS-1+LAT(NORTH)) LON(NWEST) = 1 + INT(RLON/(360.0/REAL(NPTS))) LON(NEAST) = LON(NWEST) + 1 IF( LON(NEAST).GT.NPTS ) LON(NEAST) = 1 C OLON(NWEST) = (REAL(LON(NWEST)-1)*360.0)/REAL(NPTS) IF( LON(NEAST).EQ.1 ) THEN OLON(NEAST) = 360.0 ELSE OLON(NEAST) = (REAL(LON(NEAST)-1)*360.0)/REAL(NPTS) ENDIF C NPTS = OLDGEO(NPOINTS-1+LAT(SOUTH)) LON(SWEST) = 1 + INT(RLON/(360.0/REAL(NPTS))) LON(SEAST) = LON(SWEST) + 1 IF( LON(SEAST).GT.NPTS ) LON(SEAST) = 1 C OLON(SWEST) = (REAL(LON(SWEST)-1)*360.0)/REAL(NPTS) IF( LON(SEAST).EQ.1 ) THEN OLON(SEAST) = 360.0 ELSE OLON(SEAST) = (REAL(LON(SEAST)-1)*360.0)/REAL(NPTS) ENDIF C PT(NWEST) = OLDOFF(LAT(NORTH)) + LON(NWEST) IF( OLDLSM(PT(NWEST)).GT.OLDLSMTHRESHOLD ) THEN TYPE(NWEST) = LAND ELSE TYPE(NWEST) = SEA ENDIF C PT(NEAST) = OLDOFF(LAT(NORTH)) + LON(NEAST) IF( OLDLSM(PT(NEAST)).GT.OLDLSMTHRESHOLD ) THEN TYPE(NEAST) = LAND ELSE TYPE(NEAST) = SEA ENDIF C PT(SWEST) = OLDOFF(LAT(SOUTH)) + LON(SWEST) IF( OLDLSM(PT(SWEST)).GT.OLDLSMTHRESHOLD ) THEN TYPE(SWEST) = LAND ELSE TYPE(SWEST) = SEA ENDIF C PT(SEAST) = OLDOFF(LAT(SOUTH)) + LON(SEAST) IF( OLDLSM(PT(SEAST)).GT.OLDLSMTHRESHOLD ) THEN TYPE(SEAST) = LAND ELSE TYPE(SEAST) = SEA ENDIF C C Interpolate the new value C NEWFLD(NEXT) = X ISLPROC(RLAT,RLON,NEWTYPE,OLAT,OLON,TYPE,PT,OLDFLD) C ENDDO C C -----------------------------------------------------------------| C* Section 9. Return C -----------------------------------------------------------------| C 900 CONTINUE C C RETURN END emoslib-000392+dfsg.1/interpolation/igtogr.F0000755000175000017500000001637212127406245021763 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IGTOGR (PIFELDN, PIFELDS, KNINDEX, KSINDEX, 1 PWFACT, KOWE, POFELD, KPR, KERR) C C----> C**** *IGTOGR* C C Purpose C ------- C C Perform basic interpolation for one line of latitude of the C output field using its two neighbouring input field lines of C latitude. C C Interface C --------- C C IERR = IGTOGR (PIFELDN, PIFELDS, KNINDEX, KSINDEX, PWFACT, C 1 KOWE, POFELD, KPR, KERR) C C Input parameters C ---------------- C C PIFELDN - The line of latitude of the input field North of C the output row. C C PIFELDS - The line of latitude of the input field South of C the output row. C C KNINDEX - This array contains the array offsets of the West C and East points in the input array North of the C output row. C C KSINDEX - This array contains the array offsets of the West C and East points in the input array South of the C output row. C C PWFACT - The array of interpolating weights to the four C neighbouring points for every output point of this C line of latitude. C C KOWE - The number of points in the West-East direction in C the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ----------------- C C POFELD - The interpolated output field line of latitude C returned to the calling routine. C C Return value C ------------ C C The error indicator (INTEGER). C C Error and Warning Return Values C ------------------------------- C C None C C Common block usage C ------------------ C C None C C Externals C --------- C C INTLOG - Logs messages. C C Method C ------ C C This routine performs basic linear interpolation using the four C neighbouring points in the input array to generate the output C array. C C The parameter list is designed to allow for quasi regular input C fields with different grid spacing in the Northern and Southern C lines of latitude. C C Reference C --------- C C None C C Comments C -------- C C Program contains sections 0 to 2 and 9 C C Author C ------ C C K. Fielding *ECMWF* Oct 1993 C C Modifications C ------------- C C Allow for missing data values C J.D.Chambers ECMWF August 2000 C C Force nearest neighbour processing with env variable or C INTOUT parameter C S.Curic ECMWF September 2005 C C----< C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" C C Function arguments C INTEGER KOWE, KPR, KERR INTEGER KNINDEX (2, KOWE), KSINDEX (2, KOWE) REAL PIFELDN (*), PIFELDS (*), POFELD (KOWE) REAL PWFACT (4, KOWE) C C Local variables C INTEGER JOLON, COUNT CHARACTER*12 YFLAG REAL NEAREST LOGICAL LVEGGY C C Statement function C REAL A, B LOGICAL NOTEQ NOTEQ(A,B) = (ABS((A)-(B)).GT.(ABS(A)*1E-3)) C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IGTOGR = 0 C IF( KPR.GE.1 ) THEN CALL INTLOG(JP_DEBUG,'IGTOGR: Section 1.',JPQUIET) CALL INTLOG(JP_DEBUG,'IGTOGR: Input parameters.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'IGTOGR: Number of output field longitudes is -',KOWE) ENDIF C LVEGGY = (NITABLE.EQ.128).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30).OR. X (NIPARAM.EQ.43) ) C Force nearest neighbour processing with env variable CALL GETENV('NEAREST_NEIGHBOUR', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LVEGGY = .TRUE. C Force nearest neighbour processing with INTOUT parameter IF( LMETHOD ) LVEGGY = .TRUE. IF( LVEGGY ) CALL INTLOG(JP_DEBUG, X 'IGTOGR: nearest neighbour processing (vegetation)',JPQUIET) C C -----------------------------------------------------------------| C* Section 2. Basic interpolation C -----------------------------------------------------------------| C 200 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGTOGR: Section 2.',JPQUIET) C DO JOLON = 1, KOWE C C Count non-missing data values C IF( LIMISSV ) THEN COUNT = 0 IF( NOTEQ(PIFELDN(KNINDEX(JP_I_W,JOLON)),RMISSGV) ) X COUNT = COUNT + 1 IF( NOTEQ(PIFELDN(KNINDEX(JP_I_E,JOLON)),RMISSGV) ) X COUNT = COUNT + 1 IF( NOTEQ(PIFELDN(KSINDEX(JP_I_W,JOLON)),RMISSGV) ) X COUNT = COUNT + 1 IF( NOTEQ(PIFELDN(KSINDEX(JP_I_E,JOLON)),RMISSGV) ) X COUNT = COUNT + 1 ELSE COUNT = 4 ENDIF C C Interpolate using four neighbours if none are missing C IF( (COUNT.EQ.4).AND.(.NOT.LVEGGY) ) THEN POFELD(JOLON) = X PIFELDN(KNINDEX(JP_I_W,JOLON)) * PWFACT(JP_I_NW,JOLON) + X PIFELDN(KNINDEX(JP_I_E,JOLON)) * PWFACT(JP_I_NE,JOLON) + X PIFELDS(KSINDEX(JP_I_W,JOLON)) * PWFACT(JP_I_SW,JOLON) + X PIFELDS(KSINDEX(JP_I_E,JOLON)) * PWFACT(JP_I_SE,JOLON) C C Set missing if all neighbours are missing C ELSE IF( COUNT.EQ.0 ) THEN POFELD(JOLON) = RMISSGV C C Otherwise, use the nearest neighbour C ELSE NEAREST = PWFACT(JP_I_NW,JOLON) POFELD(JOLON) = PIFELDN(KNINDEX(JP_I_W,JOLON)) C IF( PWFACT(JP_I_NE,JOLON).GT.NEAREST ) THEN NEAREST = PWFACT(JP_I_NE,JOLON) POFELD(JOLON) = PIFELDN(KNINDEX(JP_I_E,JOLON)) ENDIF C IF( PWFACT(JP_I_SW,JOLON).GT.NEAREST ) THEN NEAREST = PWFACT(JP_I_SW,JOLON) POFELD(JOLON) = PIFELDS(KSINDEX(JP_I_W,JOLON)) ENDIF C IF( PWFACT(JP_I_SE,JOLON).GT.NEAREST ) THEN NEAREST = PWFACT(JP_I_SE,JOLON) POFELD(JOLON) = PIFELDS(KSINDEX(JP_I_E,JOLON)) ENDIF ENDIF C ENDDO C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) CALL INTLOG(JP_DEBUG,'IGTOGR: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/jopnggsm.c0000755000175000017500000002417512127406245022351 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #include #include #include #include "fortint.h" #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define JOPNGGSM jopnggsm #define JMAKGG jmakgg #define INTLOGT intlogt #define PBOPEN pbopen #define PBCLOSE pbclose #else #define JOPNGGSM jopnggsm_ #define JMAKGG jmakgg_ #define INTLOGT intlogt_ #define PBOPEN pbopen_ #define PBCLOSE pbclose_ #endif #endif /* //#ifdef POINTER_64 //#define pointer long //#else //#define pointer fortint //#endif */ #ifdef linux # if !defined __off64_t_defined typedef __off64_t off64_t; #define __off64_t_defined #ifdef FOPEN64 void *mmap64(void *__addr, size_t __len, int __prot, int __flags, int __fd, __off64_t __offset); #endif #endif #endif #ifdef FOPEN64 #define OFF_T off64_t extern OFF_T ftello64(FILE *); #else #define OFF_T off_t #endif void INTLOGT(char * message, long length); FILE * pbfp(long); #ifdef REAL_8 void JOPNGGSM( JPointer *ipdum, fortint *knum, fortint *iktrunc, fortint *kunit, double *plat, fortint * kret) #else void JOPNGGSM( JPointer *ipdum, fortint *knum, fortint *iktrunc, fortint *kunit, float *plat, fortint * kret) #endif /* C C**** JOPNGGSM C C Purpose C _______ C C This routine finds a file of legendre polynomials corresponding C to a given grid interval and truncation and maps the file to an C array and returns a file descriptor. C C Interface C _________ C C CALL JOPNGGSM( IPDUM, KNUM, KTRUNC, KUNIT, PLAT, KRET) C C Input parameters C ________________ C C IPDUM - Dummy array for mapping legendre function file C KNUM - Gaussian grid number C KTRUNC - Spherical truncation C PLAT - Array of latitudes for the gaussian grid C C Output parameters C _________________ C C KUNIT - file descriptor from fopen C NULL , open failed C KRET - Return status, 0 = OK. C C Common block usage C __________________ C C None C C Method C ______ C C Builds a file name from the truncation and grid interval and C tries to open a file of that name. C C If the file is already open (from a previous call) the C previous unit number is returned. C If a different file is already open (from a previous call), the C existing file is closed first. C C If no file can be located, a file is created. C C Externals C _________ C C GETENV - Get value of an environment variable C JMAKGG - Makes a file of legendre coefficients C PBOPEN - Opens a file C PBCLOSE - Closes a file C C Reference C _________ C C NONE C C Comments C ________ C C The filename for the legendre polynomials has the form: C cf_xxxx_nnnn Truncation xxxx, Gaussian number yyy C For example, C cf_0213_n160 T213 N160 C cf_0106_n080 T106 N80 C C On the C90, the file of polynomials may be cached in /owrk/marsint C C Otherwise the file is located in (or will be created in) the first C directory given by one of the following (in the order listed, if C they exist): C environment variable PPDIR C or C the current working directory. C C Author C ______ C C J.D.Chambers *ECMWF* Jan 1994 C C Modifications C _____________ C C J.D.Chambers *ECMWF* Mar 1996 C Standardise the search order for the environment variables. C C J.D.Chambers *ECMWF* Sept 1999 C Use PB routines for OPEN and CLOSE (use index into table of FILE *) C */ { #if (defined hpR64) || (defined hpiaR64) long l1, l2; #else fortint l1, l2; #endif char filedum[128], filename[128]; #ifdef REAL_8 char ypfn[13] = "CF_xxxx_nnnn"; #else char ypfn[13] = "cf_xxxx_nnnn"; #endif static char yold[13] = "xxxxxxxxxxxx"; static char yarray[12][13]; static int ncnt = 0; static int nunit = -1; int i; long long len, len_pleg; static long long oldlen; char * fn; static fortint fpindex; static FILE * fp; off_t off = 0; static void * result = 0; static void * oldresult = 0; static void * resultarray[12]; static int unitarray[12]; #ifdef REAL_8 double * pleg; #else float * pleg; #endif int exist = 0; char message[] = "JOPNGGSM: creating coefficients file"; int status; pid_t process_id; int ktrunc = (int) (*iktrunc); /* // Setup the file name: cf_xxxx_nnnn */ #ifdef REAL_8 len_pleg = sizeof(double) * (ktrunc+1) * (ktrunc+4) /2; len = *knum * sizeof(double) * (ktrunc+1) * (ktrunc+4) /2; #else len_pleg = sizeof(float) * (ktrunc+1) * (ktrunc+4) /2; len = *knum * sizeof(float) * (ktrunc+1) * (ktrunc+4) /2; #endif sprintf( ypfn+3, "%04d", ktrunc); sprintf( ypfn+7, "_%04d", *knum); /* // If file already open, return the existing unit number */ for(i=0;i= 0 ) { char *p = getenv("PPMAPADDR"); caddr_t addr = (caddr_t) (p?atol(p):0); #ifdef FOPEN64 result = (void *) mmap64(addr,(size_t) len, (PROT_READ), MAP_SHARED,(int) nunit, (OFF_T)off); #else result = (void *) mmap(addr,(size_t) len, (PROT_READ), MAP_SHARED,(int) nunit,(OFF_T) off); #endif /* result = (void *) mmap(addr,(size_t) len, (PROT_READ), */ /* MAP_SHARED,(int) nunit,(off_t) off); */ if( (caddr_t) result == (caddr_t) -1 ) { perror("JOPNGGSM: mmap error"); *kret = (fortint) 992; return; } oldresult = result; oldlen = len; } *ipdum = (JPointer) result; *kunit = (fortint) nunit; strcpy( yarray[ncnt], ypfn); resultarray[ncnt] = result; unitarray[ncnt] = nunit; ncnt+=1; return; } emoslib-000392+dfsg.1/interpolation/defaults_for_table_0010000755000175000017500000000065012127406245024500 0ustar amckinstryamckinstryParam lsm wind prec lsm interp ----- --- ---- ---- ---------- 002 n n n n # MSL 033 y y n n # U 034 y y n n # V 061 y n y n # TP 062 y n y n # LSP 063 y n y n # CP 064 y n y n # SF 065 y n y n # WESF 081 n n n y # LSM emoslib-000392+dfsg.1/interpolation/iagcntl.F0000755000175000017500000005763012127406245022113 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION IAGCNTL(PIFELD, KILEN, POFELD, KOLEN, KILN, X OIWEGLOBE, OINPOLE, OISPOLE, KOLN, OOWEGLOBE, OONPOLE, X OOSPOLE, KPR, KERR) C C----> C**** *IAGCNTL* C C PURPOSE C _______ C C The global controlling routine for interpolating between C regular Gaussian or latitude/longitude fields. C C INTERFACE C _________ C C IERR = IAGCNTL(PIFELD, KILEN, POFELD, KOLEN, KILN, OIWEGLOBE, C X OINPOLE, OISPOLE, KOLN, OOWEGLOBE, OONPOLE, OOSPOLE, KPR, C X KERR) C C Input parameters C ________________ C C PIFELD - The input field provided by the calling routine. C C KILEN - The length of the input field. C C KOLEN - The length of the output field. C C KILN - The Northern line number of the input field within C its Gaussian field. C C OIWEGLOBE - A flag indicating whether the input field is C global West to East. C C OINPOLE - A flag indicating whether the North pole is C included in the input field. C C OISPOLE - A flag indicating whether the South pole is C include in the input field. C C KOLN - The Northern line number of the output field C within its Gaussian field. C C OOWEGLOBE - A flag indicating whether the output field is C global West to East. C C OONPOLE - A flag indicating whether the North pole is C include in the output field. C C OOSPOLE - A flag indicating whether the South pole is C include in the output field. C C KPR - The debug print switch. C 0 , No debugging output. C 1 , Produce debugging output. C C KERR - The error control flag. C -ve, No error message. Return error code. C 0 , Hard failure with error message. C +ve, Print error message. Return error code. C C Output parameters C ________________ C C POFELD - The output field returned to the calling routine. C C Return value C ____________ C C The error indicator (INTEGER). C C Error and Warning Return Values C _______________________________ C C 21801 The input data representation was not valid when the C grid was generated. This should not happen as the data C representation has been previously validated. C 21802 The output data representation was not valid when the C grid was generated. This should not happen as the data C representation has been previously validated. C 21803 Attempt to produce global West-East field where the input C field was not global. C 21804 Attempt to produce global North-South field where the C input field was not global. C C Common block usage C __________________ C C grspace.h - The include file contains all the array space C for grid to grid interpolation. C C RIGAUSS - Real array of input field Gaussian latitudes is C used. C ROGAUSS - Real array of output field Gaussian latitudes is C used. C C MILATG - The input field latitudes. C MILONG - The input field longitudes. C MNSDIST - The distances to neighbouring latitude lines of C the input field from the associated line of C latitude in the output field. C MNSIND - The latitude line numbers (array offset) of the C input field associated with each line of C latitude in the output field. C MOLATG - The output field latitudes. C MOLONG - The output field longitudes. C MWEDIST - This array holds the distances to neighbouring C longitude points of the input field from the C associated longitude points in the output field. C MWEIND - This array holds the longitude points (array C offset) from the input field associated with C each longitude point in the output field. C RINPNT - Array used to aid vectorisation in processing C precipitation fields. C RMAX - Array used to aid vectorisation in normalising C interpolation weights and processing C precipitation fields. C WFACT - The array of interpolation weights for each C point in the output field. C C nifld.common - This file contains all the input field C definition variables. C C LCHANGE - Process change flag is used and set. C LSMCHNG - LSM change flag is used and set. C LSM - LSM usage flag is used. C LSMPAR - LSM parameter flag is used. C LPREC - Precipitation flag is used. C LWIND - Wind flag is used. C LSTAGGL - Staggered grid flag C C NIAREA - Input field area definition (N/W/S/E) is used. C NIGAUSS - Input field Gaussian truncation is used. C NIGRID - Input field grid definition (WE/NS) is used. C NINS - Number of grid points in NS direction for input C field is used. C NIREPR - Input field representation is used. C NIWE - Number of grid points in WE direction for input C field is used. C C nofld.common - This file contains all the output field C definition variables. C C NOAREA - Output field area definition (N/W/S/E) is used. C NOGAUSS - Output field Gaussian truncation is used. C NOGRID - Output field grid definition (WE/NS) is used. C NONS - Number of grid points in NS direction for output C field is used. C NOREPR - Output field representation is used. C NOWE - Number of grid points in WE direction for output C field is used. C C EXTERNALS C _________ C C ABORTX - Standard routine to kill task. C IGDINS - Calculate the distances between points in an C output latitude array and its North and South C neighbours in the input latitude array. C IGDIWE - Calculate the distances between points in an C output longitude array and its West and East C neighbours in the input longitude array. C IGGMEM - This routine acquires heap space. C IGGRID - Generate the arrays of latitude and longitude C points for a Gaussian truncation and area. C IGINT - Calculate the basic unnormalised interpolation C weights. C IGLGRID - Generate the arrays of latitude and longitude C points for a regular latitude/longitude grid. C IGLSIZE - Evaluate the array sizes for a regular C latitude/longitude grid and area. C IGLSMB - Calculate the effects of the land-sea masks on C the unnormalised interpolation weights. C IGLSMD - Generate the land sea mask file information. C IGNORM - Normalise the array of interpolation weights. C IGPLSM - Force an interpolated land sea mask field back C to a real 0-1 field. C IGPOLEG - Calculates the values at the pole of a regular C latitude/longitude field when the input is a C Gaussian field. C IGPOLEW - Calculates the values at the pole of a regular C latitude/longitude wind field when the input is C a Gaussian field. C IGPREC - Perform additional interpolation for C precipitation fields. C ZPREC - Perform additional interpolation processes C for precipitation C IGSIZE - Evaluate the array sizes for a Gaussian C truncation and area. C IGTOG - Perform basic interpolation between regular input C and output fields. C INTLOG - Logs messages. C C METHOD C ______ C C This is purely a controlling routine with all the work being C performed in the external routines. C C REFERENCE C _________ C C None C C COMMENTS C ________ C C None C C AUTHOR C ______ C C K. Fielding *ECMWF* May 1994 C C MODIFICATIONS C _____________ C C J.Chambers ECMWF Oct 1998 C Allow field type for rotated grids. C C S.Curic ECMWF Oct 2005 C Add zprec routine that Perform checking C of precipitation C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grspace.h" C C Parameters C INTEGER JPROUTINE PARAMETER (JPROUTINE = 21800) C C Function arguments C LOGICAL OIWEGLOBE, OINPOLE, OISPOLE, OOWEGLOBE, OONPOLE, OOSPOLE INTEGER KILEN, KOLEN, KILN, KOLN, KPR, KERR REAL PIFELD(KILEN), POFELD(KOLEN) C C Local variables C LOGICAL LFAIL, LERROR, LDEBUG, LREGIN, LREGOUT LOGICAL GINSPOLE, GIGLOBE, GISTAND, GONSPOLE, GOGLOBE, GOSTAND LOGICAL GPREC,LSM_VALUES CHARACTER*120 YIFILE, YOFILE CHARACTER*12 YFLAG INTEGER IIOFF, IIREC, IOOFF, IOREC, IERR C C Working copies of area and grid arrays that may be changed C INTEGER IILGRID(2), IILLINE(2), IOLGRID(2), IOLLINE(2) C C External functions C INTEGER IGDINS, IGDIWE, IGGMEM, IGGRID, IGINT, IGLGRID, X IGLSMB, IGLSMD, IGNORM, IGPLSM, IGPOLEG, IGPOLEW, IGPREC, X IGTOG, ZPREC C C -----------------------------------------------------------------| C* Section 1. Initialisation C -----------------------------------------------------------------| C 100 CONTINUE C IAGCNTL = 0 IERR = 0 C C Set all flag variables C LDEBUG = (KPR.GE.1) LFAIL = (KERR.EQ.0) LERROR = (KERR.GE.0) LREGIN = (NIREPR.EQ.JPREGULAR).OR.(NIREPR.EQ.JPREGROT) LREGOUT = (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) C IF( LDEBUG ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: Section 1.',JPQUIET) CALL INTLOG(JP_DEBUG, X 'IAGCNTL: Input field definition parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IAGCNTL: Representation = ',NIREPR) IF( NIWE.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IAGCNTL: Number W-E = ',NIWE) IF( NINS.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IAGCNTL: Number N-S = ',NINS) IF( (NIREPR.EQ.JPGAUSSIAN).OR.(NIREPR.EQ.JPQUASI) ) X CALL INTLOG(JP_DEBUG,'IAGCNTL: Gaussian truncation= ',NIGAUSS) IF( LREGIN.AND.(NIGRID(1).NE.0) ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: Grid WE = ',NIGRID(1)) CALL INTLOG(JP_DEBUG,'IAGCNTL: Grid NS = ',NIGRID(2)) ENDIF IF( NIAREA(1).NE.0 ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: Area North = ',NIAREA(1)) CALL INTLOG(JP_DEBUG,'IAGCNTL: Area West = ',NIAREA(2)) CALL INTLOG(JP_DEBUG,'IAGCNTL: Area South = ',NIAREA(3)) CALL INTLOG(JP_DEBUG,'IAGCNTL: Area East = ',NIAREA(4)) ENDIF C CALL INTLOG(JP_DEBUG, X 'IAGCNTL: Output field definition parameters.',JPQUIET) CALL INTLOG(JP_DEBUG,'IAGCNTL: Representation = ',NOREPR) IF( NOWE.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IAGCNTL: Number W-E = ',NOWE) IF( NONS.NE.0 ) CALL INTLOG(JP_DEBUG, X 'IAGCNTL: Number N-S = ',NONS) IF( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPQUASI) ) X CALL INTLOG(JP_DEBUG,'IAGCNTL: Gaussian truncation= ',NOGAUSS) IF( LREGOUT.AND.(NOGRID(1).NE.0) ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: Grid WE = ',NOGRID(1)) CALL INTLOG(JP_DEBUG,'IAGCNTL: Grid NS = ',NOGRID(2)) ENDIF IF( NOAREA(1).NE.0 ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: Area North = ',NOAREA(1)) CALL INTLOG(JP_DEBUG,'IAGCNTL: Area West = ',NOAREA(2)) CALL INTLOG(JP_DEBUG,'IAGCNTL: Area South = ',NOAREA(3)) CALL INTLOG(JP_DEBUG,'IAGCNTL: Area East = ',NOAREA(4)) ENDIF C CALL INTLOG(JP_DEBUG,'IAGCNTL: Control flag status:',JPQUIET) C IF( LSMCHNG ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: LSM change TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAGCNTL: LSM change FALSE',JPQUIET) ENDIF C IF( LSM ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: LSM flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAGCNTL: LSM flag FALSE',JPQUIET) ENDIF C IF( LWIND ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: Wind flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAGCNTL: Wind flag FALSE',JPQUIET) ENDIF C IF( LPREC ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: Precipitn flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAGCNTL: Precipitn flag FALSE',JPQUIET) ENDIF C IF( LSMPAR ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: LSM param flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAGCNTL: LSM param flag FALSE',JPQUIET) ENDIF IF( LSTAGGL ) THEN CALL INTLOG(JP_DEBUG,'IAGCNTL: Staggered flag TRUE',JPQUIET) ELSE CALL INTLOG(JP_DEBUG,'IAGCNTL: Staggered flag FALSE',JPQUIET) ENDIF ENDIF C C The change of definition option spans sections 2 to 3 C IF( LCHANGE ) THEN C C -----------------------------------------------------------------| C* Section 2. Calculate space requirement. C -----------------------------------------------------------------| C 200 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IAGCNTL: Section 2.',JPQUIET) C C Get the required memory C IAGCNTL = IGGMEM(KPR, KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C C Input grid definition C IF( NIREPR.EQ.JPGAUSSIAN ) THEN C IAGCNTL = IGGRID(NIGAUSS, NIAREA, KILN, RIGAUSS, X MILONG,NIWE,MILATG,NINS,OIWEGLOBE,KPR,KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C ELSEIF( LREGIN ) THEN C IAGCNTL = IGLGRID(NIGRID, NIAREA, MILONG, NIWE, MILATG, X NINS,OIWEGLOBE,KPR,KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C ELSE C IAGCNTL = JPROUTINE + 1 IF( LERROR ) THEN CALL INTLOG(JP_ERROR, X 'IAGCNTL: Illegal input representation = ',NIREPR) IF( LFAIL ) CALL INTLOG(JP_FATAL, X 'IAGCNTL: Interpolation failing.',JPQUIET) ENDIF GOTO 900 C ENDIF C C Is the input field global C GINSPOLE = OINPOLE.AND.OISPOLE GIGLOBE = OIWEGLOBE.AND.GINSPOLE C C Is the output field global North South C GONSPOLE = OONPOLE.AND.OOSPOLE GOGLOBE = OOWEGLOBE.AND.GONSPOLE IF(GOGLOBE.AND.NOAREA(2).EQ.0) THEN LGLOBL = .TRUE. ELSE LGLOBL = .FALSE. ENDIF C C Output grid definition C IF( NOREPR.EQ.JPGAUSSIAN ) THEN C IAGCNTL = IGGRID(NOGAUSS, NOAREA, KOLN, ROGAUSS, X MOLONG,NOWE,MOLATG,NONS,OOWEGLOBE,KPR,KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C ELSEIF( LREGOUT ) THEN C IAGCNTL = IGLGRID(NOGRID, NOAREA, MOLONG, NOWE, MOLATG, X NONS,OOWEGLOBE,KPR,KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C ELSE C IAGCNTL = JPROUTINE + 2 IF( LERROR ) THEN CALL INTLOG(JP_ERROR, X 'IAGCNTL: Illegal output representation = ',NOREPR) IF( LFAIL ) CALL INTLOG(JP_FATAL, X 'IAGCNTL: Interpolation failing.',JPQUIET) ENDIF GOTO 900 C ENDIF C C -----------------------------------------------------------------| C* Section 3. Create output to input grid mapping and distance arrays C -----------------------------------------------------------------| C 300 CONTINUE C IF( LDEBUG ) X CALL INTLOG(JP_DEBUG,'IAGCNTL: Section 3.',JPQUIET) C C First check that the input and output fields are compatible. C IF( .NOT.GIGLOBE ) THEN C IF( .NOT.OIWEGLOBE ) THEN C C Cannot produce global output field if input not global C IF( OOWEGLOBE ) THEN IAGCNTL = JPROUTINE + 3 IF( LERROR ) THEN CALL INTLOG(JP_ERROR, X 'IAGCNTL: Cannot produce global output from',JPQUIET) CALL INTLOG(JP_ERROR, X 'IAGCNTL: non-global input. The W-E input',JPQUIET) CALL INTLOG(JP_ERROR, X 'IAGCNTL: direction was not global.',JPQUIET) IF( LFAIL ) CALL INTLOG(JP_FATAL, X 'IAGCNTL: Interpolation failing.',JPQUIET) ENDIF GOTO 900 ENDIF C ENDIF C c Sinisa added NOT.LSTAGGL just for the sake of staggered grids C IF( .NOT.GINSPOLE.AND.(.NOT.LSTAGGL) ) THEN C C Cannot produce global output field if input not global C IF( GONSPOLE ) THEN IAGCNTL = JPROUTINE + 4 IF( LERROR ) THEN CALL INTLOG(JP_ERROR, X 'IAGCNTL: Cannot produce global output from',JPQUIET) CALL INTLOG(JP_ERROR, X 'IAGCNTL: non-global input. The N-S input',JPQUIET) CALL INTLOG(JP_ERROR, X 'IAGCNTL: direction was not global.',JPQUIET) IF( LFAIL ) CALL INTLOG(JP_FATAL, X 'IAGCNTL: Interpolation failing.',JPQUIET) ENDIF GOTO 900 ENDIF C ENDIF C ENDIF C IAGCNTL = IGDINS(MILATG, NINS, MOLATG, NONS, OINPOLE, OISPOLE, X MNSIND, MNSDIST, KPR, KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C IAGCNTL = IGDIWE(MILONG, NIWE, MOLONG, NOWE, OIWEGLOBE, X MWEIND, MWEDIST, KPR, KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C C The end of primary initialisation C ENDIF C C -----------------------------------------------------------------| C* Section 4. Create normalised weight arrays C -----------------------------------------------------------------| C 400 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IAGCNTL: Section 4.',JPQUIET) C C The following code is affected by the Land Sea mask flag C IF( LCHANGE.OR.LSMCHNG ) THEN C IAGCNTL = IGINT(MWEDIST, NOWE, MNSDIST, NONS, WFACT, KPR, KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C IF( LSM ) THEN C IAGCNTL = IGLSMD(NIDATE,NIREPR,NIGRID,NIGAUSS,NIAREA,KILN, X YIFILE,GISTAND,IILGRID,IILLINE,IIREC,KPR,KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C IAGCNTL = IGLSMD(NODATE,NOREPR,NOGRID,NOGAUSS,NOAREA,KOLN, X YOFILE,GOSTAND,IOLGRID,IOLLINE,IOREC,KPR,KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C IAGCNTL = IGLSMB(GISTAND, YIFILE, IIREC, IILGRID, IILLINE, X GOSTAND,YOFILE,IOREC,IOLGRID,IOLLINE,KPR,KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C ENDIF C C Normalise the weights C IAGCNTL = IGNORM(WFACT, RMAX, NOWE, NONS, KPR, KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C C This marks the end of a change to the specification C Clear the Change flags LCHANGE and LSMCHNG C LCHANGE = .FALSE. LSMCHNG = .FALSE. C ENDIF C C -----------------------------------------------------------------| C* Section 5. Basic interpolation from input to output field C -----------------------------------------------------------------| C 500 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IAGCNTL: Section 5.',JPQUIET) C IAGCNTL = IGTOG(PIFELD, NIWE, NINS, NOWE, NONS, MWEIND, MNSIND, X WFACT, POFELD, KPR, KERR) IF( IAGCNTL.GT.0 ) GOTO 900 C C -----------------------------------------------------------------| C* Section 6. Additional interpolations from input to output field C -----------------------------------------------------------------| C 600 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IAGCNTL: Section 6.',JPQUIET) C C Precipitation field C C Force processing without neighbour check GPREC = .FALSE. CALL GETENV('PRECIPITATION_NEIGHBOUR_CHECK', YFLAG) IF( YFLAG(1:1).EQ.'0' ) GPREC = .TRUE. IF( LPREC ) THEN C IF( GPREC ) THEN IAGCNTL = ZPREC(POFELD, NOWE, NONS, KPR, KERR) ELSE IAGCNTL = IGPREC(PIFELD, NIWE, NINS, POFELD, NOWE, NONS, X MWEIND, MNSIND, WFACT, RMAX, RINPNT, KPR, KERR) ENDIF C IF( IAGCNTL.GT.0 ) GOTO 900 ENDIF C C Special code for poles if Gaussian input and regular output C C North pole C C Sinisa add pole point for staggerd lat-lon grids IF( (NIREPR.EQ.JPREGULAR.AND.LSTAGGL).AND. X LREGOUT .AND. X OINPOLE .AND. X OONPOLE ) THEN C IIOFF = 1 IOOFF = 1 C IF( LWIND ) THEN IAGCNTL = IGPOLEW(PIFELD(IIOFF), NIWE, POFELD(IOOFF), X NOWE, MWEIND, MWEDIST, KPR, KERR) ELSE IAGCNTL = IGPOLEG(PIFELD(IIOFF), NIWE, POFELD(IOOFF), X NOWE, KPR, KERR) ENDIF ENDIF IF( (NIREPR.EQ.JPGAUSSIAN).AND. X LREGOUT .AND. X OINPOLE .AND. X OONPOLE ) THEN C IIOFF = 1 IOOFF = 1 C IF( LWIND ) THEN IAGCNTL = IGPOLEW(PIFELD(IIOFF), NIWE, POFELD(IOOFF), X NOWE, MWEIND, MWEDIST, KPR, KERR) ELSE IAGCNTL = IGPOLEG(PIFELD(IIOFF), NIWE, POFELD(IOOFF), X NOWE, KPR, KERR) ENDIF IF( IAGCNTL.GT.0 ) GOTO 900 C ENDIF C C South pole C C Sinisa add south pole point for staggerd lat-lon grids IF( (NIREPR.EQ.JPREGULAR.AND.LSTAGGL).AND. X LREGOUT .AND. X OISPOLE .AND. X OOSPOLE ) THEN C IIOFF = (NINS - 1) * NIWE + 1 IOOFF = (NONS - 1) * NOWE + 1 C IF( LWIND ) THEN IAGCNTL = IGPOLEW(PIFELD(IIOFF), NIWE, POFELD(IOOFF), X NOWE, MWEIND, MWEDIST, KPR, KERR) ELSE IAGCNTL = IGPOLEG(PIFELD(IIOFF), NIWE, POFELD(IOOFF), X NOWE, KPR, KERR) C ENDIF ENDIF IF( (NIREPR.EQ.JPGAUSSIAN).AND. X LREGOUT .AND. X OISPOLE .AND. X OOSPOLE ) THEN C IIOFF = (NINS - 1) * NIWE + 1 IOOFF = (NONS - 1) * NOWE + 1 C IF( LWIND ) THEN IAGCNTL = IGPOLEW(PIFELD(IIOFF), NIWE, POFELD(IOOFF), X NOWE, MWEIND, MWEDIST, KPR, KERR) ELSE IAGCNTL = IGPOLEG(PIFELD(IIOFF), NIWE, POFELD(IOOFF), X NOWE, KPR, KERR) ENDIF IF( IAGCNTL.GT.0 ) GOTO 900 C ENDIF C C LSM field - must be 0 or 1 C C Force processing real LSM LSM_VALUES = .FALSE. CALL GETENV('LSM_VALUES', YFLAG) IF( YFLAG(1:1).EQ.'1' ) LSM_VALUES = .TRUE. IF( .NOT.LSM_VALUES.AND.LSMPAR ) THEN IAGCNTL = IGPLSM(POFELD, NOWE * NONS, KPR, KERR) IF( IAGCNTL.GT.0 ) GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C IF( LDEBUG ) CALL INTLOG(JP_DEBUG,'IAGCNTL: Section 9.',JPQUIET) C RETURN END emoslib-000392+dfsg.1/interpolation/reset_c.F0000755000175000017500000004541212127406245022111 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION RESET_C( KSEC1, KSEC2, PSEC2, KSEC4) C C----> C*** RESET_C C C Purpose C ------- C C Reset interpolation common block variables according to the C GRIB sections 1, 2 and 4 values. C C C Interface C --------- C C IRET = RESET_C( KSEC1, KSEC2, PSEC2, KSEC4) C C C Input C ----- C C KSEC1 - GRIB section 1 array (integers). C KSEC2 - GRIB section 2 array (integers). C PSEC2 - GRIB section 2 array (reals). C KSEC4 - GRIB section 4 array (integers). C C C Externals C --------- C C IGGLAT - Computes gaussian latitudes for a given truncation. C C C Modifications C ------------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF August, 1994 C C----< C IMPLICIT NONE #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" #include "current.h" C C Function arguments C INTEGER KSEC1, KSEC2, KSEC4 DIMENSION KSEC1(*), KSEC2(*), KSEC4(*) REAL PSEC2 DIMENSION PSEC2(*) C C Local variables C INTEGER JJPR, JJERR, ITEMP INTEGER I, IRET LOGICAL LSAME, LPQUASI C C Externals C INTEGER IGGLAT EXTERNAL IGGLAT C C----------------------------------------------------------------------- C Section 1. Initialise C----------------------------------------------------------------------- C 100 CONTINUE C RESET_C = 0 C LPQUASI = ( KSEC2(17).EQ.1 ) C C Section 1, Word 1 - version number of WMO code table C IF( NITABLE.NE.KSEC1(1) ) LCHANGE = .TRUE. NITABLE = KSEC1(1) IF( .NOT.LNOTABL ) NOTABLE = NITABLE C C Section 1, Word 6 - parameter indicator (Code Table 2) C NIPARAM = KSEC1(6) IF( .NOT.LNOPARA ) NOPARAM = NIPARAM C C Section 1, Word 7 - Type of level indicator (Code Table 3) C NILEVT = KSEC1(7) IF( .NOT.LNOLEVT ) NOLEVT = NILEVT C C By default, upper air level does not use land-sea mask. C (pressure level, sigma_level, model level, missing level) C IF( (NOLEVT.EQ.100) .OR. X (NOLEVT.EQ.108) .OR. X (NOLEVT.EQ.109) .OR. X (NOLEVT.EQ.255) ) THEN LSM = .FALSE. LSMSET = .TRUE. LSMCHNG = .FALSE. ELSE LSM = .TRUE. LSMSET = .FALSE. LSMCHNG = .TRUE. ENDIF C C Section 1, Word 8 - Height or pressure of level (Code Table 3) C NILEVEL = KSEC1(8) IF( .NOT.LNOLEVL ) NOLEVEL = NILEVEL C C Setup ECMWF local definition number and stream if applicable C IF( KSEC1(24).EQ.1 ) THEN NILOCAL = KSEC1(37) NISTREM = KSEC1(40) ELSE NILOCAL = 0 NISTREM = 0 ENDIF C C Section 2, Word 1 Data representation type (Code Table 6). C IF( NIREPR.NE.KSEC2(1) ) THEN LCHANGE = .TRUE. NIGAUSO = 0 HIGAUST = 'X' IF( .NOT.LNOGAUS ) THEN NOGAUSO = 0 HOGAUST = 'X' ENDIF ENDIF NIREPR = KSEC2(1) IF( .NOT.LNOREPR ) NOREPR = NIREPR C C Date of the input field (YYYYMMDD). C NIDATE = (KSEC1(21)-1)*1000000 X + KSEC1(10)*10000 + KSEC1(11)*100 + KSEC1(12) NODATE = NIDATE C C Stretching factor (if any) C IF( (NIREPR.EQ.JPSTRGG).OR.(NIREPR.EQ.JPSTRSH) ) THEN RISTRET = PSEC2(2) IF( NIREPR.EQ.NOREPR ) THEN IF( NIREPR.EQ.JPSTRGG ) NOREPR = JPGAUSSIAN IF( NIREPR.EQ.JPSTRSH ) NOREPR = JPSPHERE ENDIF IF( NIREPR.EQ.JPSTRGG ) NIREPR = JPGAUSSIAN IF( NIREPR.EQ.JPSTRSH ) NIREPR = JPSPHERE ELSE RISTRET = 0.0 ENDIF C C----------------------------------------------------------------------- C Section 2. Latitude/longitude grid or equidistant cylindrical C or Plate Carree. C----------------------------------------------------------------------- C 200 CONTINUE C IF ( (NIREPR.EQ.JPREGULAR).OR.(NIREPR.EQ.JPREGROT) ) THEN C C Check if quasi-regular lat/long C IF( LPQUASI ) NIREPR = JPREDLL IF( .NOT.LNOREPR ) NOREPR = NIREPR C NIRESO = 0 NIGAUSS = 0 C C Latitude/longitude grid or equidistant cylindrical C or Plate Carree. C C Section 2, Word 2 Ni - Number of points along a parallel. C Section 2, Word 3 Nj - Number of points along a meridian. C IF( NIREPR.EQ.JPREDLL ) THEN NIWE = 0 ELSE IF( NIWE.NE.KSEC2(2) ) LCHANGE = .TRUE. NIWE = KSEC2(2) ENDIF C IF( NINS.NE.KSEC2(3) ) LCHANGE = .TRUE. NINS = KSEC2(3) C C Section 2, Word 4 La1 - Latitude of first grid point. C Section 2, Word 5 Lo1 - Longitude of first grid point. C IF( NIAREA(1).NE.(KSEC2(4)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(1) = KSEC2(4) * JPMICRO IF( NIAREA(2).NE.(KSEC2(5)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(2) = KSEC2(5) * JPMICRO C C Section 2, Word 7 La2 - Latitude of last grid point. C Section 2, Word 8 Lo2 - Longitude of last grid point. C IF( NIAREA(3).NE.(KSEC2(7)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(3) = KSEC2(7) * JPMICRO IF( NIAREA(4).NE.(KSEC2(8)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(4) = KSEC2(8) * JPMICRO C C Section 2, Word 9 Di - i direction increment. C Section 2, Word 10 Dj - j direction increment. C IF( NIREPR.EQ.JPREDLL ) THEN NIGRID(1) = 0 ELSE IF( NIGRID(1).NE.(KSEC2(9)*JPMICRO) ) LCHANGE = .TRUE. NIGRID(1) = KSEC2(09) * JPMICRO ENDIF C IF( NIGRID(2).NE.(KSEC2(10)*JPMICRO) ) LCHANGE = .TRUE. NIGRID(2) = KSEC2(10) * JPMICRO C C Section 2, Word 11 Scanning mode flags (Code Table 8). C IF( NISCNM.NE.KSEC2(11) ) LCHANGE = .TRUE. NISCNM = KSEC2(11) C C Pick up regular gaussian grid definition if option 'gaussian' C used. C IF( NOREPR.EQ.JPNOTYPE ) THEN IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'F') ) THEN CALL JGETGG( NOGAUSS, 'F', ROGAUSS, NOLPTS, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'RESET_C: JGETGG failed, NOGAUSS = ',NOGAUSS) RESET_C = IRET GOTO 900 ENDIF NOGAUSO = NOGAUSS HOGAUST = 'F' ENDIF NOREPR = JPGAUSSIAN ENDIF C C If reduced lat/long output and no user specified grid, use C input reduced lat/long definition for number of points at C each latitude C IF( LPQUASI .AND. (.NOT.LNOREPR ) ) THEN NOREDLL = KSEC2(3) NONS = NINS DO 210 I = 1, NINS MILLEN(I) = KSEC2(22 + I) 210 CONTINUE DO 220 I = 1, NONS NOLPTS(I) = MILLEN(I) 220 CONTINUE ENDIF C C If reduced lat/long input, read input reduced lat/long definition C for number of points at each latitude and set east longitude, C unless it is a subarea (eg Mediterranean). C IF( NIREPR.EQ.JPREDLL ) THEN DO I = 1, NINS MILLEN(I) = KSEC2(22 + I) ENDDO C C Calculate east longitude if field is global. C Use southern latitude to guess if it is ... C IF( NIAREA(3).LT.0 ) THEN ITEMP = 36000000 - 36000000/MILLEN(NINS/2) IF( NIAREA(4).NE.ITEMP ) LCHANGE = .TRUE. NIAREA(4) = 36000000 - 36000000/MILLEN(NINS/2) ENDIF ENDIF C ENDIF C C----------------------------------------------------------------------- C Section 3. Spherical Harmonic Coefficients. C----------------------------------------------------------------------- C 300 CONTINUE C IF( (NIREPR.EQ.JPSPHERE).OR. X (NIREPR.EQ.JPSTRSH).OR. X (NIREPR.EQ.JPSPHROT) ) THEN C NIGAUSS = 0 NIGRID(1) = 0 NIGRID(2) = 0 C C Section 2, Word 2 J - Pentagonal resolution parameter. C IF( NIRESO.NE.KSEC2(2) ) LCHANGE = .TRUE. NIRESO = KSEC2(2) IF( .NOT.LNORESO ) THEN IF( NORESO.NE.NIRESO ) LCHANGE = .TRUE. NORESO = NIRESO ENDIF C C Pick up regular gaussian grid definition if option 'gaussian' C used. C IF( NOREPR.EQ.JPNOTYPE ) THEN IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'F') ) THEN CALL JGETGG( NOGAUSS, 'F', ROGAUSS, NOLPTS, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'RESET_C: JGETGG failed, NOGAUSS = ',NOGAUSS) RESET_C = IRET GOTO 900 ENDIF NOGAUSO = NOGAUSS HOGAUST = 'F' ENDIF NOREPR = JPGAUSSIAN ENDIF C ENDIF C C----------------------------------------------------------------------- C Section 4. Regular gaussian grid. C----------------------------------------------------------------------- C 400 CONTINUE C IF( (NIREPR.EQ.JPGAUSSIAN) .AND. (.NOT.LPQUASI) ) THEN C NIRESO = 0 NIGRID(1) = 0 NIGRID(2) = 0 C C Section 2, Word 2 Ni - Number of points along a parallel. C Section 2, Word 3 Nj - Number of points along a meridian. C IF( NIWE.NE.KSEC2(2) ) LCHANGE = .TRUE. NIWE = KSEC2(2) IF( NINS.NE.KSEC2(3) ) LCHANGE = .TRUE. NINS = KSEC2(3) C C Section 2, Word 4 La1 - Latitude of first grid point. C Section 2, Word 5 Lo1 - Longitude of first grid point. C IF( NIAREA(1).NE.(KSEC2(4)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(1) = KSEC2(4) * JPMICRO IF( NIAREA(2).NE.(KSEC2(5)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(2) = KSEC2(5) * JPMICRO C C Section 2, Word 7 La2 - Latitude of last grid point. C Section 2, Word 8 Lo2 - Longitude of last grid point. C IF( NIAREA(3).NE.(KSEC2(7)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(3) = KSEC2(7) * JPMICRO IF( NIAREA(4).NE.(KSEC2(8)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(4) = KSEC2(8) * JPMICRO C C Section 2, Word 10 N - Number of parallels between Pole and C the Equator. C IF( NIGAUSS.NE.KSEC2(10) ) LCHANGE = .TRUE. NIGAUSS = KSEC2(10) C C Pick up gaussian definitions for input grid C IF( (NIGAUSO.NE.NIGAUSS).OR.(HIGAUST.NE.'F') ) THEN CALL JGETGG( NIGAUSS, 'F', RIGAUSS, MILLEN, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'RESET_C: JGETGG failed, NIGAUSS = ',NIGAUSS) RESET_C = IRET GOTO 900 ENDIF NIGAUSO = NIGAUSS HIGAUST = 'F' ENDIF C C Use same gaussian number for output unless user has C deliberately set a value C IF( .NOT.LNOGAUS ) THEN IF( NOGAUSS.NE.NIGAUSS ) LCHANGE = .TRUE. NOGAUSS = NIGAUSS ENDIF C C Fixup output type if 'gaussian' used to describe output and C not 'reduced' or 'regular'. C LSAME = (NOREPR.EQ.JPNOTYPE) .AND. (NOGAUSS.EQ.NIGAUSS) C C Pick up regular gaussian grid definition corresponding C to the input field if option 'gaussian' used. C IF( (NOREPR.EQ.JPNOTYPE).AND.(.NOT.LSAME) ) THEN IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'F') ) THEN CALL JGETGG( NOGAUSS, 'F', ROGAUSS, NOLPTS, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'RESET_C: JGETGG failed, NOGAUSS = ',NOGAUSS) RESET_C = IRET GOTO 900 ENDIF NOGAUSO = NOGAUSS HOGAUST = 'F' ENDIF NOREPR = JPGAUSSIAN ENDIF C C Section 2, Word 11 Scanning mode flags (Code Table 8). C IF( NISCNM.NE.KSEC2(11) ) LCHANGE = .TRUE. NISCNM = KSEC2(11) C ENDIF C C----------------------------------------------------------------------- C Section 5. Quasi-regular (reduced) gaussian grid. C----------------------------------------------------------------------- C 500 CONTINUE C IF( (NIREPR.EQ.JPGAUSSIAN) .AND. LPQUASI ) THEN C NIRESO = 0 NIGRID(1) = 0 NIGRID(2) = 0 C C Set representation(s) to "quasi-regular gaussian" C NIREPR = JPQUASI IF( .NOT.LNOREPR ) NOREPR = NIREPR C C Section 2, Word 2 Ni - Number of points along a parallel. C Cannot be used for quasi-regular grids. C Section 2, Word 3 Nj - Number of points along a meridian. C IF( NIWE.NE.0 ) LCHANGE = .TRUE. NIWE = 0 IF( NINS.NE.KSEC2(3) ) LCHANGE = .TRUE. NINS = KSEC2(3) C C Section 2, Word 4 La1 - Latitude of first grid point. C Section 2, Word 5 Lo1 - Longitude of first grid point. C IF( NIAREA(1).NE.(KSEC2(4)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(1) = KSEC2(4) * JPMICRO IF( NIAREA(2).NE.(KSEC2(5)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(2) = KSEC2(5) * JPMICRO C C Section 2, Word 7 La2 - Latitude of last grid point. C Section 2, Word 8 Lo2 - Longitude of last grid point. C IF( NIAREA(3).NE.(KSEC2(7)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(3) = KSEC2(7) * JPMICRO IF( NIAREA(4).NE.(KSEC2(8)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(4) = KSEC2(8) * JPMICRO C C Section 2, Word 10 N - Number of parallels between Pole and C the Equator. C IF( NIGAUSS.NE.KSEC2(10) ) THEN LCHANGE = .TRUE. JJPR = 1 JJERR = 1 IRET = IGGLAT( KSEC2(10)*2, RIGAUSS , JJPR, JJERR) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, 'RESET_C: IGGLAT failed',JPQUIET) RESET_C = IRET GOTO 900 ENDIF ENDIF NIGAUSS = KSEC2(10) C C Fixup output type if 'gaussian' used to describe output and C not 'reduced' or 'regular'. C LSAME = (NOREPR.EQ.JPNOTYPE) .AND. (NOGAUSS.EQ.NIGAUSS) C C Pick up regular gaussian grid definition corresponding C to the output field if option 'gaussian' used. C IF( (NOREPR.EQ.JPNOTYPE).AND.(.NOT.LSAME) ) THEN IF( (NOGAUSO.NE.NOGAUSS).OR.(HOGAUST.NE.'F') ) THEN CALL JGETGG( NOGAUSS, 'F', ROGAUSS, NOLPTS, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'RESET_C: JGETGG failed, NOGAUSS = ',NOGAUSS) RESET_C = IRET GOTO 900 ENDIF NOGAUSO = NOGAUSS HOGAUST = 'F' ENDIF NOREPR = JPGAUSSIAN ENDIF C C Section 2, Word 11 Scanning mode flags (Code Table 8). C IF ( NISCNM .NE. KSEC2(11) ) LCHANGE = .TRUE. NISCNM = KSEC2(11) C C Section 2, Word 23-nn C Number of points along each parallel in a quasi-regular grid. C Number of parallels is given by Nj above. C C Pick up gaussian definitions for input grid C IF( (NIGAUSO.NE.NIGAUSS).OR.(HIGAUST.NE.'F') ) THEN CALL JGETGG( NIGAUSS, 'F', RIGAUSS, MILLEN, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'RESET_C: JGETGG failed, NIGAUSS = ',NIGAUSS) RESET_C = IRET GOTO 900 ENDIF NIGAUSO = NIGAUSS HIGAUST = 'F' ENDIF DO 510 I = 1, NINS MILLEN(I) = KSEC2(22 + I) 510 CONTINUE C C Use same grid for output, unless user requested otherwise. C IF( (.NOT.LNOGAUS) .OR. LSAME ) THEN IF( NOGAUSS.NE.NIGAUSS ) LCHANGE = .TRUE. NOGAUSS = NIGAUSS NONS = NINS DO 520 I = 1, NONS NOLPTS(I) = MILLEN(I) ROGAUSS(I) = RIGAUSS(I) 520 CONTINUE NOGAUSO = NIGAUSO HOGAUST = HIGAUST ENDIF C ENDIF C C----------------------------------------------------------------------- C Section 6. Polar Stereographic grid. C----------------------------------------------------------------------- C 600 CONTINUE C IF ( NIREPR .EQ. 5 ) THEN C NIRESO = 0 NIGAUSS = 0 C C Section 2, Word 2 Nx - Number of points along X-axis. C Section 2, Word 3 Ny - Number of points along Y-axis. C IF( NIWE.NE.0 ) LCHANGE = .TRUE. NIWE = KSEC2(2) IF( NINS.NE.KSEC2(3) ) LCHANGE = .TRUE. NINS = KSEC2(3) C C Section 2, Word 4 La1 - Latitude of first grid point. C Section 2, Word 5 Lo1 - Longitude of first grid point. C IF( NIAREA(1).NE.(KSEC2(4)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(1) = KSEC2(4) * JPMICRO IF( NIAREA(2).NE.(KSEC2(5)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(2) = KSEC2(5) * JPMICRO C C Section 2, Word 7 La2 - Latitude of last grid point. C Section 2, Word 8 Lo2 - Longitude of last grid point. C IF( NIAREA(3).NE.(KSEC2(7)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(3) = KSEC2(7) * JPMICRO IF( NIAREA(4).NE.(KSEC2(8)*JPMICRO) ) LCHANGE = .TRUE. NIAREA(4) = KSEC2(8) * JPMICRO C C Section 2, Word 9 Dx - X-direction increment. C Section 2, Word 10 Dy - Y-direction increment. C IF( NIGRID(1).NE.KSEC2(9) ) LCHANGE = .TRUE. NIGRID(1) = KSEC2(09) IF( NIGRID(2).NE.KSEC2(10) ) LCHANGE = .TRUE. NIGRID(2) = KSEC2(10) C C Section 2, Word 11 Scanning mode flags (Code Table 8). C IF( NISCNM.NE.KSEC2(11) ) LCHANGE = .TRUE. NISCNM = KSEC2(11) C ENDIF C C----------------------------------------------------------------------- C Section 7. Setup number of bits used for packing ouput. C----------------------------------------------------------------------- C 700 CONTINUE C C Section 4, Word 2 - Number of bits used for each packed value. C C Use same number of bits for packing output values for unless C user has deliberately set a value. C NIACC = KSEC4(2) IF( .NOT.LNOACC ) THEN IF( NOACC.NE.NIACC ) LCHANGE = .TRUE. NOACC = NIACC ENDIF C C If default is implied for the output grid, use the input grid C IF( ( (NIREPR.EQ.JPREGULAR).OR. X (NIREPR.EQ.JPREDLL) .OR. X (NIREPR.EQ.JPREGROT) ) .AND. X ( (NOREPR.EQ.JPREGULAR).OR. X (NOREPR.EQ.JPREDLL) .OR. X (NOREPR.EQ.JPREGROT) ) .AND. X .NOT.LNOGRID ) THEN NOGRID(1) = NIGRID(1) NOGRID(2) = NIGRID(2) ENDIF C C----------------------------------------------------------------------- C Section 9. Closedown. C----------------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/insane.F0000755000175000017500000004053112127406245021737 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION INSANE( ) C C----> C**** INSANE C C Purpose C ------- C C Check interpolate options before processing. C C C Interface C --------- C C IRET = INSANE( ) C C Input C ----- C C Common blocks nifld.common and nofld.common C C C Output C ------ C C Returns: 0 if no problems spotted. C -1 if output is same as the input C C C Method C ------ C C See below! C C C Externals C --------- C C ISSAME - Checks if input specification is same as output. C INTLOG - Logs error messages. C INTLOGR - Logs error messages. C C C Author C ------ C C J.D.Chambers ECMWF Feb 1995 C C----< C IMPLICIT NONE C C Function arguments C #include "parim.h" #include "nifld.common" #include "nofld.common" #include "grfixed.h" C C Parameters INTEGER JPROUTINE PARAMETER (JPROUTINE = 27200 ) INTEGER JPMAXRES PARAMETER (JPMAXRES = JPSTRUNC) C C Local variables C CHARACTER*12 YFLAG,YFLAG1 INTEGER IERR, MINGRID REAL GRIDINT LOGICAL LINCHECK,LNLIMIT C C Externals LOGICAL ISSAME INTEGER FFTCHK C C -----------------------------------------------------------------| C* Section 1. Initialise C -----------------------------------------------------------------| C 100 CONTINUE INSANE = 0 IERR = 0 C C Exit if output is same as input ... C IF ( ISSAME() ) THEN INSANE = -1 GOTO 900 ENDIF C C Check output packing accuracy requested (packed output only) C IF ( NOFORM .EQ. 1 ) THEN IF ( (NOACC .GT. 30) .OR. (NOACC .LT. 1) ) THEN CALL INTLOG(JP_DEBUG, X 'INSANE: Invalid output packing given ',NOACC) NOACC = 16 CALL INTLOG(JP_DEBUG, X 'INSANE: Changed to ',NOACC) cs CALL INTLOG(JP_ERROR, cs X 'Sorry!: Invalid output packing given',NOACC) cs IERR = JPROUTINE + 1 cs CALL INTLOG(JP_ERROR, cs X ' Must be between 1 and 30 bits per value.',IERR) cs INSANE = IERR cs GOTO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 2. Check valid input/output representations. C -----------------------------------------------------------------| C 200 CONTINUE C C Input C IF ( (NIREPR .NE. JPREGULAR ) .AND. X (NIREPR .NE. JPREDLL ) .AND. X (NIREPR .NE. JPSPHERE ) .AND. X (NIREPR .NE. JPSPHROT ) .AND. X (NIREPR .NE. JPGAUSSIAN) .AND. X (NIREPR .NE. JPSTRSH ) .AND. X (NIREPR .NE. JPSTRGG ) .AND. X (NIREPR .NE. JPQUASI ) ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Invalid input representation.', NIREPR) INSANE = JPROUTINE + 21 GOTO 900 ENDIF C C Output C IF ( (NOREPR .NE. JPREGULAR ) .AND. X (NOREPR .NE. JPREGROT ) .AND. X (NOREPR .NE. JPSPHERE ) .AND. X (NOREPR .NE. JPSPHROT ) .AND. X (NOREPR .NE. JPGAUSSIAN) .AND. X (NOREPR .NE. JPSTRSH ) .AND. X (NOREPR .NE. JPSTRGG ) .AND. X (NOREPR .NE. JPQUASI ) .AND. X (NOREPR .NE. JPFGGROT ) .AND. X (NOREPR .NE. JPQGGROT ) .AND. X (NOREPR .NE. JPREDLL ) ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Invalid output representation.', NOREPR) INSANE = JPROUTINE + 22 GOTO 900 ENDIF C C Input / output combination C IF ( (NOREPR.EQ.JPSPHERE).OR.(NOREPR.EQ.JPSPHROT) ) THEN IF ( (NIREPR.NE.JPSPHERE).AND.(NIREPR.NE.JPSPHROT) ) THEN C C Set flag to discontinue attempts at interpolation, ie C force output to be same as input C INSANE = -1 GOTO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 3. Check spectral to grid options. C -----------------------------------------------------------------| C 300 CONTINUE C MINGRID = JP0P5 / 5 C IF ( (NIREPR.EQ.JPSPHERE).OR.(NIREPR.EQ.JPSPHROT) ) THEN C C Check resolution not too large C IF( (NOREPR.NE.JPSPHERE).AND.(NIRESO.GT.JPMAXRES) ) THEN C C Problem unless a suitable truncation is on-the-way C IF( LARESOL.OR.LNORESO ) THEN IF( MIN(NOGRID(1),NOGRID(2)).LT.MINGRID ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Despite truncation,', JPQUIET) CALL INTLOG(JP_ERROR, X ' spectral to grid transformation', JPQUIET) CALL INTLOG(JP_ERROR, X ' cannot be done (grid too fine).', JPQUIET) CALL INTLOG(JP_ERROR, X ' Grid west-east (* 10**-5) = ', NOGRID(1)) CALL INTLOG(JP_ERROR, X ' Grid north-south (* 10**-5) = ', NOGRID(2)) CALL INTLOG(JP_ERROR, X ' Minimum allowed (* 10**-5) = ', MINGRID) IERR = JPROUTINE + 31 INSANE = IERR GOTO 900 ENDIF C ELSE C CALL INTLOG(JP_ERROR, X 'Sorry!: Spectral truncation too large for ', JPQUIET) CALL INTLOG(JP_ERROR, X ' spectral to grid transformation.', JPQUIET) CALL INTLOG(JP_ERROR, X ' Truncation given = ', NIRESO) CALL INTLOG(JP_ERROR, X ' Max. truncation handled = ', JPMAXRES) IERR = JPROUTINE + 31 INSANE = IERR GOTO 900 ENDIF C ENDIF C C Check resolution not too small C IF ( (NOREPR .NE. JPSPHERE) .AND. (NIRESO .LE. 0) ) THEN IERR = JPROUTINE + 32 CALL INTLOG(JP_ERROR, X 'Sorry!: Spectral truncation too small for ', JPQUIET) CALL INTLOG(JP_ERROR, X ' spectral to grid transformation.', JPQUIET) CALL INTLOG(JP_ERROR, X ' Truncation given = ', NIRESO) CALL INTLOG(JP_ERROR, X ' Truncation must be > ', 0) INSANE = IERR GOTO 900 ENDIF C C Check grid interval C IF ( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN C C Not too small C C if env variable 1 no check of incterval LNLIMIT = .TRUE. CALL GETENV('INCREMENT_NO_LIMIT', YFLAG) IF(YFLAG1(1:1).EQ.'1' ) LNLIMIT = .FALSE. C IF(LNLIMIT) THEN IF( (NOGRID(1).LT.MINGRID).OR.(NOGRID(2).LT.MINGRID) ) THEN IERR = JPROUTINE + 33 CALL INTLOG(JP_ERROR, X 'Sorry!: Grid interval too small for ', JPQUIET) CALL INTLOG(JP_ERROR, X ' spectral to grid transformation.', JPQUIET) CALL INTLOG(JP_ERROR, X ' Latitude interval given = ', NOGRID(1)) CALL INTLOG(JP_ERROR, X ' Longitude interval given = ', NOGRID(2)) CALL INTLOG(JP_ERROR, X ' Min. interval handled = ', MINGRID) INSANE = IERR GOTO 900 ENDIF ELSE CALL INTLOG(JP_DEBUG, X 'INSANE: Increments checking disabled',JPQUIET) ENDIF C C Not too large C IF ( (NOGRID(1).GT.JP90) .OR. (NOGRID(2).GT.JP90) ) THEN IERR = JPROUTINE + 34 CALL INTLOG(JP_ERROR, X 'Sorry!: Grid interval too large for ', JPQUIET) CALL INTLOG(JP_ERROR, X ' spectral to grid transformation.', JPQUIET) CALL INTLOG(JP_ERROR, X ' Latitude interval given = ', NOGRID(1)) CALL INTLOG(JP_ERROR, X ' Longitude interval given = ', NOGRID(2)) CALL INTLOG(JP_ERROR, X ' Max. interval handled = ', JP90) INSANE = IERR GOTO 900 ENDIF C C A multiple of 0.0005 C C if env variable 1 no check of increments LINCHECK = .FALSE. CALL GETENV('INCREMENT_CHECK', YFLAG) IF(YFLAG(1:1).EQ.'1' ) LINCHECK = .TRUE. IF( LINCHECK ) CALL INTLOG(JP_DEBUG, X 'INSANE: Increments checking disabled',JPQUIET) C IF(.NOT.LINCHECK) THEN IF ( (MOD(NOGRID(1),5).NE.0) .OR. X (MOD(NOGRID(2),5).NE.0) ) THEN IERR = JPROUTINE + 35 CALL INTLOG(JP_ERROR, X 'Sorry!: Grid must be a multiple of 0.0005 ', JPQUIET) CALL INTLOG(JP_ERROR, X ' Latitude interval given = ', NOGRID(1)) CALL INTLOG(JP_ERROR, X ' Longitude interval given = ', NOGRID(2)) INSANE = IERR GOTO 900 ENDIF ENDIF ENDIF C C Check if combination of truncation and longitude grid interval C can be handled by the FFT algorithm. C IERR = 1 GRIDINT = -1.0 C IF ( (NOREPR.EQ.JPREGULAR).OR.(NOREPR.EQ.JPREGROT) ) THEN GRIDINT = FLOAT(NOGRID(2))/FLOAT(JPMULT) IERR = FFTCHK( NIRESO, GRIDINT ) IF ( IERR.NE.1 ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Invalid combination of spectral number = ', NIRESO) CALL INTLOGR(JP_ERROR, X ' and longitude grid interval = ', GRIDINT) CALL INTLOG(JP_ERROR, X ' for FFT algorithm in use.', JPQUIET) INSANE = JPROUTINE + 36 GOTO 900 ENDIF ENDIF C IF ( (NOREPR.EQ.JPGAUSSIAN).OR.(NOREPR.EQ.JPQUASI) ) THEN GRIDINT = 360.0/FLOAT(NOGAUSS) IERR = FFTCHK( NIRESO, GRIDINT ) IF ( IERR.NE.1 ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Invalid combination of spectral number = ', NIRESO) CALL INTLOGR(JP_ERROR, X ' and longitude grid intvl = ', GRIDINT) CALL INTLOG(JP_ERROR, X ' from gaussian number = ', NOGAUSS) CALL INTLOG(JP_ERROR, X ' for FFT algorithm in use.', JPQUIET) INSANE = JPROUTINE + 37 GOTO 900 ENDIF ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 4. Check legal area definition. C -----------------------------------------------------------------| C 400 CONTINUE C C Don't check area for ocean products C IF( NILOCAL.EQ.4 ) GOTO 900 C IF ( (NOAREA(1).GT.JP90).OR.(NOAREA(1).LT.-JP90) ) THEN IERR = JPROUTINE + 41 CALL INTLOG(JP_ERROR, X 'Sorry!: Output area definition illegal',JPQUIET) CALL INTLOG(JP_ERROR, X ' Northern limit given as ', NOAREA(1)) INSANE = IERR GOTO 900 ENDIF C IF ( (NOAREA(3).GT.JP90).OR.(NOAREA(3).LT.-JP90) ) THEN IERR = JPROUTINE + 42 CALL INTLOG(JP_ERROR, X 'Sorry!: Output area definition illegal',JPQUIET) CALL INTLOG(JP_ERROR, X ' Southern limit given as ', NOAREA(3)) INSANE = IERR GOTO 900 ENDIF C IF ( (NOAREA(2).GT.JP360).OR.(NOAREA(2).LT.-JP360) ) THEN IERR = JPROUTINE + 43 CALL INTLOG(JP_ERROR, X 'Sorry!: Output area definition illegal',JPQUIET) CALL INTLOG(JP_ERROR, X ' Western limit given as ', NOAREA(2)) INSANE = IERR GOTO 900 ENDIF C IF ( (NOAREA(4).GT.JP360).OR.(NOAREA(4).LT.-JP360) ) THEN IERR = JPROUTINE + 44 CALL INTLOG(JP_ERROR, X 'Sorry!: Output area definition illegal',JPQUIET) CALL INTLOG(JP_ERROR, X ' Eastern limit given as ', NOAREA(4)) INSANE = IERR GOTO 900 ENDIF C C Subarea not supported for reduced gaussian grids C IF( LNOAREA.AND. X ((NOREPR.EQ.JPQUASI).OR. X (NOREPR.EQ.JPQGGROT).OR. X (NOREPR.EQ.JPSTRGG)) ) THEN IERR = JPROUTINE + 45 CALL INTLOG(JP_ERROR, X 'Sorry!: Subarea not supported for reduced gaussian grids', X JPQUIET) INSANE = IERR GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 5. Check legal gaussian grid definition. C -----------------------------------------------------------------| C 500 CONTINUE C C If input is quasi- regular gaussian, a grid definition must be C supplied in a GRIB record or by the caller, or the grid must be C a known definition. C IF ( (NIREPR.EQ.JPQUASI) ) THEN IF ( (.NOT. (LIGIVEL.AND.LIGIVEP)) .AND. X (.NOT. (NIFORM.EQ.1)) ) THEN IF ( x (NIGAUSS.NE.32) .AND. x (NIGAUSS.NE.48) .AND. x (NIGAUSS.NE.64) .AND. x (NIGAUSS.NE.80) .AND. x (NIGAUSS.NE.128).AND. X (NIGAUSS.NE.160).AND. X (NIGAUSS.NE.200).AND. X (NIGAUSS.NE.256).AND. X (NIGAUSS.NE.320).AND. X (NIGAUSS.NE.400).AND. X (NIGAUSS.NE.512).AND. X (NIGAUSS.NE.640).AND. X (NIGAUSS.NE.1024) ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: No definition for quasi gauss. input',NIGAUSS) INSANE = JPROUTINE + 51 GOTO 900 ENDIF ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 6. Check legal rotation definition. C -----------------------------------------------------------------| C 600 CONTINUE C C Check for rotation. C IF ( LNOROTA ) THEN C C Only allowed rotations are: C - spectral to regular lat/long C - regular gaussian to regular lat/long C - reduced gaussian to regular lat/long C IF( ((NOREPR.NE.JPREGROT).AND.(NOREPR.NE.JPREGULAR)).OR. X ((NIREPR.NE.JPSPHERE) .AND. X (NIREPR.NE.JPGAUSSIAN).AND. X (NIREPR.NE.JPQUASI)) ) THEN Cjdc CALL INTLOG(JP_ERROR, Cjdc X 'Sorry!: Only allowed rotations are:',JPQUIET) Cjdc CALL INTLOG(JP_ERROR, Cjdc X ' spectral to regular lat/long, or',JPQUIET) Cjdc CALL INTLOG(JP_ERROR, Cjdc X ' regular gaussian to regular lat/long',JPQUIET) Cjdc CALL INTLOG(JP_ERROR, Cjdc X ' reduced gaussian to regular lat/long',JPQUIET) INSANE = JPROUTINE + 61 GOTO 900 ENDIF C C Check rotation angles. C IF ( (NOROTA(1).LT.-JP360) .OR. (NOROTA(1).GT.JP360) ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Rotation longitude out of range = ',NOROTA(1)) INSANE = JPROUTINE + 62 GOTO 900 ENDIF C IF ( (NOROTA(2).LT.-JP180) .OR. (NOROTA(2).GT.JP180) ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Rotation longitude out of range = ',NOROTA(2)) INSANE = JPROUTINE + 63 GOTO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 7. Check legal definition for table, parameter, level C type. C -----------------------------------------------------------------| C 700 CONTINUE C C Table C c IF ( (NOTABLE.LT.0) .OR. (NOTABLE.GT.255) ) THEN IF (NOTABLE.LT.0) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Table definition out of range = ', NOTABLE) INSANE = JPROUTINE + 71 GOTO 900 ENDIF C C Parameter C cs IF ( (NOPARAM.LT.0) .OR. (NOPARAM.GT.255) ) THEN IF ( NOPARAM.LT.0 ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Parameter definition out of range = ', NOPARAM) INSANE = JPROUTINE + 72 GOTO 900 ENDIF C C Level type C IF ( (NOLEVT.LT.0) .OR. (NOLEVT.GT.255) ) THEN CALL INTLOG(JP_ERROR, X 'Sorry!: Level type definition out of range = ', NOLEVT) INSANE = JPROUTINE + 73 GOTO 900 ENDIF C C -----------------------------------------------------------------| C* Section 9. Closedown. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/hll2llw.F0000755000175000017500000003321512127406245022043 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HLL2LLW(L12PNT,OLDFLDU,OLDFLDV, X OLDGRID,AREA,POLE,GRID, X NEWFLDU,NEWFLDV,KSIZE,NLON,NLAT) C C----> C**** HLL2LLW C C Purpose C ------- C C This routine creates rotated U and V regular lat/long fields from C U and V global regular lat/long field using 12-point horizontal C interpolation. C C C Interface C --------- C C IRET = HLL2LLW(L12PNT,OLDFLDU,OLDFLDV, C X OLDGRID,AREA,POLE,GRID, C X NEWFLDU,NEWFLDV,KSIZE, C X NLON,NLAT) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C OLDFLDU - Array of values from the old global lat/long U field C OLDFLDV - Array of values from the old global lat/long V field C OLDGRID - Grid increments (i/j) for the old global lat/long field C AREA - Limits of area (N/W/S/E) for the new lat/long fields C POLE - Pole of rotation (lat/long) for the new lat/long fields C GRID - Grid increments (i/j) for the new lat/long fields C KSIZE - The size of the array to fill with the new C lat/long fields C C C Output parameters C ----------------- C C NEWFLDU - The array of values for the new U lat/long field C NEWFLDV - The array of values for the new V lat/long field C NLON - Number of longitudes in the regular lat/long fields C NLAT - Number of latitudes in the regular lat/long fields C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C None C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C HGENLL - Calculates original lat/long (before rotation) for C a rotated grid C HNEILL - Finds neighbours for points for interpolation C HWTSLL - Calculates weightings for points for interpolation C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF December 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nofld.common" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) C C Function arguments C LOGICAL L12PNT INTEGER KSIZE, NLON, NLAT REAL OLDGRID(2),AREA(4),POLE(2),GRID(2) REAL OLDFLDU(*),OLDFLDV(*),NEWFLDU(KSIZE),NEWFLDV(KSIZE) C C Local variables C INTEGER NEXT, LOOP, IRET, NLEN, NPREV, NBYTES, NUMBER INTEGER NOLDLAT, NOLDLON C LOGICAL LNEW, LFIRST INTEGER KSCHEME(1),NEIGH(12,1), KLA(1) REAL PWTS(12,1) POINTER (IPKSCHE, KSCHEME) POINTER (IPNEIGH, NEIGH) POINTER (IPKLA, KLA) POINTER (IPPWTS, PWTS) C REAL PDLO0(1),PDLO1(1),PDLO2(1),PDLO3(1),PDLAT(1) POINTER (IPPDLO0, PDLO0) POINTER (IPPDLO1, PDLO1) POINTER (IPPDLO2, PDLO2) POINTER (IPPDLO3, PDLO3) POINTER (IPPDLAT, PDLAT) C REAL PREGRID(2) INTEGER KPTS(1) REAL GLATS(1) INTEGER IOFFS(1) POINTER (IPKPTS, KPTS) POINTER (IPIOFFS, IOFFS) POINTER (IPGLATS, GLATS) C INTEGER ILL, ILLOLD REAL RCLAT(1),RCLON(1),RLAT(1),RLON(1),RDIR(1),C(1),S(1),U(1),V(1) POINTER (IPRCLAT, RCLAT) POINTER (IPRCLON, RCLON) POINTER (IPRLAT, RLAT) POINTER (IPRLON, RLON) POINTER (IPRDIR, RDIR) POINTER (IPC, C) POINTER (IPS, S) POINTER (IPU, U) POINTER (IPV, V) C REAL OLDU(1) POINTER (IOLDU, OLDU) REAL OLDV(1) POINTER (IOLDV, OLDV) C DATA NPREV/-1/ DATA LNEW/.FALSE./, LFIRST/.TRUE./ DATA ILLOLD/-1/, IOLDU/-1/, IOLDV/-1/ DATA PREGRID/2*0.0/ C SAVE LNEW, LFIRST SAVE IPKSCHE, IPNEIGH, IPKLA, IPPWTS SAVE IPPDLO0, IPPDLO1, IPPDLO2, IPPDLO3, IPPDLAT SAVE NPREV, IPKPTS, IPIOFFS, IPGLATS SAVE ILLOLD, IPRLAT, IPRLON, IOLDU, IOLDV SAVE IPC, IPS, IPU, IPV SAVE PREGRID C C Externals C INTEGER HNEILL, HGENLL #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C Statement function C REAL A, RADIAN C C Convert degrees to radians C RADIAN(A) = (A) * 0.0174532925 C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HLL2LLW = 0 C CALL JDEBUG() NOLDLAT = 1 + NINT(180.0/OLDGRID(1)) NOLDLON = NINT(360.0/OLDGRID(2)) NUMBER = NOLDLAT * NOLDLON C IF( (OLDGRID(1).NE.PREGRID(1)).OR. X (OLDGRID(2).NE.PREGRID(2)) ) THEN C C Allocate memory to hold the input fields C (in case OLDFLDU/OLDFLDV and NEWFLDU/NEWFLDV are the same arrays) C IF( IOLDU.GT.0 ) THEN CALL JFREE(IOLDU) CALL JFREE(IOLDV) ENDIF C NBYTES = NUMBER * JPRLEN C IOLDU = JMALLOC(NBYTES) IOLDV = JMALLOC(NBYTES) #ifdef hpR64 IOLDU = IOLDU/(1024*1024*1024*4) IOLDV = IOLDV/(1024*1024*1024*4) #endif IF( (IOLDU.EQ.0).OR.(IOLDV.EQ.0) ) THEN CALL INTLOG(JP_ERROR,'HLL2LLW: Memory allocate fail',JPQUIET) HLL2LLW = 3 GOTO 900 ENDIF C PREGRID(1) = OLDGRID(1) PREGRID(2) = OLDGRID(2) C ENDIF C C Preserve the input fields C DO LOOP = 1, NUMBER OLDU(LOOP) = OLDFLDU(LOOP) OLDV(LOOP) = OLDFLDV(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 2. Generate the lat/long points for the output grid C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + INT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) NLAT = 1 + INT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) C NLEN = NLON * NLAT NOWE = NLON NONS = NLAT C C Check that given array is big enough for the new field. C IF( NLEN.GT.KSIZE ) THEN CALL INTLOG(JP_ERROR,'HLL2LLW: Given array size = ',KSIZE) CALL INTLOG(JP_ERROR,'HLL2LLW: Required size = ',NLEN) HLL2LLW = 4 GOTO 900 ENDIF C C Dynamically allocate memory for lat/long arrays. C ILL = NLEN IF( ILL.GT.ILLOLD ) THEN C LNEW = .TRUE. C IF( ILLOLD.GT.0 ) CALL JFREE(IPRLON) C NBYTES = 9*ILL*JPRLEN C IPRLON = JMALLOC(NBYTES) #ifdef hpR64 IPRLON = IPRLON/(1024*1024*1024*4) #endif IF( IPRLON.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HLL2LLW: Memory allocate fail',JPQUIET) HLL2LLW = 5 GOTO 900 ENDIF C IPRLAT = IPRLON + (ILL*JPRLEN) IPRCLON = IPRLAT + (ILL*JPRLEN) IPRCLAT = IPRCLON + (ILL*JPRLEN) IPRDIR = IPRCLAT + (ILL*JPRLEN) IPC = IPRDIR + (ILL*JPRLEN) IPS = IPC + (ILL*JPRLEN) IPU = IPS + (ILL*JPRLEN) IPV = IPU + (ILL*JPRLEN) C ILLOLD = ILL C ENDIF C IRET = HGENLL(AREA,POLE,GRID,NLON,NLAT,RLAT,RLON) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HLL2LLW: HGENLL failed to get lat/lon grid data',JPQUIET) HLL2LLW = 6 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 3. Find neighbours for each point for interpolation. C -----------------------------------------------------------------| C 300 CONTINUE C C Dynamically allocate memory for interpolation arrays. C IF( LNEW ) THEN C IF( .NOT.LFIRST ) CALL JFREE(IPPDLO0) C NBYTES = (17*JPRLEN + 14*JPBYTES) * ILL C IPPDLO0 = JMALLOC(NBYTES) #ifdef hpR64 IPPDLO0 = IPPDLO0/(1024*1024*1024*4) #endif IF( IPPDLO0.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HLL2LLW: Memory allocate fail',JPQUIET) HLL2LLW = 7 GOTO 900 ENDIF C IPPDLO1 = IPPDLO0 + (ILL*JPRLEN) IPPDLO2 = IPPDLO1 + (ILL*JPRLEN) IPPDLO3 = IPPDLO2 + (ILL*JPRLEN) IPPDLAT = IPPDLO3 + (ILL*JPRLEN) IPPWTS = IPPDLAT + (ILL*JPRLEN) IPKSCHE = IPPWTS + (12*ILL*JPRLEN) IPKLA = IPKSCHE + (ILL*JPBYTES) IPNEIGH = IPKLA + (ILL*JPBYTES) C LFIRST = .FALSE. LNEW = .FALSE. C ENDIF C C Find neighbours. C IRET = HNEILL(L12PNT,NLEN,RLAT,RLON,OLDGRID, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HLL2LLW: HNEILL failed to find neighbours',JPQUIET) HLL2LLW = 8 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 4. Perform the 12-point horizontal interpolation. C -----------------------------------------------------------------| C 400 CONTINUE C C Setup the 12-point horizontal interpolation weights C CALL HWTSLL X (NLEN,KSCHEME,KLA,PDLAT,OLDGRID(2),PDLO0,PDLO1,PDLO2,PDLO3, X NEIGH,PWTS) C C Calculate the interpolated grid point values C DO LOOP = 1, NLEN IF( KSCHEME(LOOP).EQ.JP12PT ) THEN U(LOOP) = X OLDU(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDU(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDU(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDU(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLDU(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLDU(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLDU(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLDU(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLDU(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLDU(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLDU(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLDU(NEIGH(12,LOOP)) * PWTS(12,LOOP) V(LOOP) = X OLDV(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDV(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDV(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDV(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLDV(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLDV(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLDV(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLDV(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLDV(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLDV(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLDV(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLDV(NEIGH(12,LOOP)) * PWTS(12,LOOP) C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN U(LOOP) = X OLDU(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDU(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDU(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDU(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) V(LOOP) = X OLDV(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLDV(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLDV(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLDV(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) THEN U(LOOP) = OLDU(NEIGH(NEXT,LOOP)) V(LOOP) = OLDV(NEIGH(NEXT,LOOP)) ENDIF ENDDO C ENDIF ENDDO C C -----------------------------------------------------------------| C Section 5. Adjust the U and V components to new (rotated) axes C -----------------------------------------------------------------| C 500 CONTINUE C DO LOOP = 1, NLEN RDIR(LOOP) = 0.0 ENDDO C CALL HPSHGPW(RLON,RLAT,RCLON,RCLAT,RDIR,NLEN,POLE) C DO LOOP = 1, NLEN RDIR(LOOP) = -RADIAN(RDIR(LOOP)) ENDDO C DO LOOP = 1, NLEN C(LOOP) = COS(RDIR(LOOP)) S(LOOP) = SIN(RDIR(LOOP)) ENDDO C DO LOOP = 1, NLEN NEWFLDU(LOOP) = U(LOOP)*C(LOOP) - V(LOOP)*S(LOOP) NEWFLDV(LOOP) = U(LOOP)*S(LOOP) + V(LOOP)*C(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/dummy.F0000755000175000017500000000075512127406245021621 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DUMMY() C----> C C Dummy routine to satisfy makefile. C C----< RETURN END emoslib-000392+dfsg.1/interpolation/jwindll.F0000755000175000017500000003356312127406245022134 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JWINDLL( PSHUP, KTRUNC, PSTART, PBUILD, PINTVL, KLUNIT, X KLATO,KLONO,PLEG,PTRIGS,KMFAX,PZFA,KRET) C C----> C**** JWINDLL C C Purpose C ------- C This routine converts spectral input fields to standard C lat/long grid fields for wind components U and V. C C C Interface C --------- C CALL JWINDLL( PSHUP, KTRUNC, PSTART, PBUILD, PINTVL, KLUNIT, C X KLATO,KLONO,PLEG,PTRIGS,KMFAX,PZFA,KRET) C C C Input parameters C ---------------- C PSHUP - Spherical harmonics field, unpacked C KTRUNC - Truncation number of spherical harmonics field C PSTART - Start latitude (northernmost) for output field C (must be positive - see comments below) C PBUILD - Grid interval used to build the legendre coefficients file C PINTVL - Grid latitude interval in degrees C KLUNIT - stream number of the legendre function file C KLATO - Number of latitude points in output field C KLONO - Number of longitude points in output field C PLEG - Array used to hold legendre functions C PTRIGS - Initialized array of trig.functions (setup by JJSET99) C KMFAX - Initialized array of prime factors (setup by JJSET99) C C C Output parameters C ----------------- C PZFA - Output grid point field; contains upto 32 each of C North and South latitude rows symmetrically. C KRET - Return status code C 0 = OK C C C Common block usage C ------------------ C JDCNDBG C C C Method C ------ C None. C C C Externals C --------- C JREADLL - Reads the legendre functions for a latitude C JSPPOLE - Applies correction at North or South pole C FFT99 - Carries out FFT C INTLOG - Output log message C INTLOGR - Output log message (with real value) C GETENV - Pick up contents of an environment variable C JUVPOLE - Use gaussian grid to calculate U and V at the poles C C C Reference C --------- C E.C.M.W.F. Research Department technical memorandum no. 56 C "The forecast and analysis post-processing package" C May 1982. J.Haseler. C C C Comments C -------- C This is a redesign, based on SPECGP.F C C It handles transformation to a regular lat/long grid. C The generated grid is symmetrical about the equator, so C PSTART must be positive. C C It is only for U and V fields (correction is applied at the C poles and a scale factor is applied according to latitude). C C C Author C ------ C J.D.Chambers *ECMWF* Nov 1993 C C C Modifications C ------------- C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.D.Chambers ECMWF October 2002 C Add handling for U/V spectral (as opposed to Ucos(theta)/Vcos(theta)) C C C----< C -----------------------------------------------------------------| C C IMPLICIT NONE #include "jparams.h" #include "parim.h" #include "nifld.common" C C Subroutine arguments C COMPLEX PSHUP DIMENSION PSHUP(*) INTEGER KTRUNC REAL PSTART, PBUILD, PINTVL INTEGER KLUNIT, KLATO, KLONO, KMFAX, KRET REAL PLEG, PTRIGS, PZFA DIMENSION PZFA(JPLONO + 2, 64) DIMENSION KMFAX(*), PLEG(*), PTRIGS(*) C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 31400 ) C C Local variables C REAL ZPIBY2, ZDEGR, ZLAT INTEGER ILIM, IMLIM, ILN INTEGER ITAL, ITALA, ITALS, IMN, IMP INTEGER INORTH, ISOUTH INTEGER JM, J245, JNEXTLAT INTEGER NERR INTEGER IOFF INTEGER JDCLOOP REAL ZF REAL ZCOSI C DIMENSION ZF(2*JPFFT) C #ifdef POINTER_64 INTEGER*8 IWORK #endif REAL WORK DIMENSION WORK(1) POINTER ( IWORK, WORK ) COMPLEX ZDUM(JPTRNC + 1) COMPLEX ZSUMS(JPTRNC + 1), ZSUMA(JPTRNC + 1) COMPLEX*16 CHOLD INTEGER LOOP C LOGICAL LXFIRST, LPLAINU INTEGER ISIZE, IBLANK CHARACTER*10 PLAINUV C DATA LXFIRST/.TRUE./, LPLAINU/.FALSE./ DATA ISIZE/0/ SAVE ISIZE, IWORK, LXFIRST, LPLAINU C C Statement function C LOGICAL GPOLE REAL ANGLE GPOLE(ANGLE) = ( ABS(90.0 - ABS(ANGLE) ) .LT. 1.0E-3 ) C = .TRUE. if LAT is 90.0 or -90.0 C C -----------------------------------------------------------------| C* Section 1. Initialization. C -----------------------------------------------------------------| C 100 CONTINUE C C Check environment variable to see if wind components are plain C U and V, or U*cos(theta) and V*cos(theta) (the default). C IF( LXFIRST ) THEN C LXFIRST = .FALSE. CALL GETENV('INTERP_PLAIN_UV', PLAINUV) IBLANK = INDEX(PLAINUV, ' ') C IF( (IBLANK.EQ.3).AND.(PLAINUV(1:2).EQ.'ON') ) LPLAINU =.TRUE. IF( (IBLANK.EQ.3).AND.(PLAINUV(1:2).EQ.'on') ) LPLAINU =.TRUE. IF( (IBLANK.EQ.4).AND.(PLAINUV(1:3).EQ.'YES') ) LPLAINU =.TRUE. IF( (IBLANK.EQ.4).AND.(PLAINUV(1:3).EQ.'yes') ) LPLAINU =.TRUE. C IF( (IBLANK.EQ.3).AND.(PLAINUV(1:2).EQ.'NO') ) LPLAINU =.FALSE. IF( (IBLANK.EQ.3).AND.(PLAINUV(1:2).EQ.'no') ) LPLAINU =.FALSE. IF( (IBLANK.EQ.4).AND.(PLAINUV(1:3).EQ.'OFF') ) LPLAINU =.FALSE. IF( (IBLANK.EQ.4).AND.(PLAINUV(1:3).EQ.'off') ) LPLAINU =.FALSE. C C First time through, dynamically allocate memory for workspace C ISIZE = 2*JPFFT*64 CALL JMEMHAN( 9, IWORK, ISIZE, 1, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JWINDLL: memory allocation error',IWORK) KRET = JPROUTINE + 1 GOTO 990 ENDIF ENDIF C IF( NDBG.GT.1 ) THEN CALL INTLOG(JP_DEBUG, X 'JWINDLL: Spherical harmonic coeffs(first 20):',JPQUIET) DO NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ',PSHUP( NDBGLP )) ENDDO CALL INTLOG(JP_DEBUG, X 'JWINDLL: Input parameters:',JPQUIET) CALL INTLOG(JP_DEBUG, X 'JWINDLL: Spherical harmonic truncation = ', KTRUNC) CALL INTLOGR(JP_DEBUG, X 'JWINDLL: Start latitude(northernmost) = ', PSTART) CALL INTLOGR(JP_DEBUG, X 'JWINDLL: Grid lat. interval(leg. file) = ', PBUILD) CALL INTLOGR(JP_DEBUG, X 'JWINDLL: Grid lat. interval(degrees) = ', PINTVL) CALL INTLOG(JP_DEBUG, X 'JWINDLL: Stream number of leg. file = ', KLUNIT) CALL INTLOG(JP_DEBUG, X 'JWINDLL: Number of lat. rows in output = ', KLATO) CALL INTLOG(JP_DEBUG, X 'JWINDLL: Number of long. pts per row = ', KLONO) CALL INTLOG(JP_DEBUG, X 'JWINDLL: Trig.functions (setup by JJSET99):',JPQUIET) DO NDBGLP = 1, 10 CALL INTLOGR(JP_DEBUG,' ',PTRIGS( NDBGLP )) ENDDO CALL INTLOG(JP_DEBUG, X 'JWINDLL: Prime factors (setup by JJSET99):',JPQUIET) DO NDBGLP = 1, 10 CALL INTLOG(JP_DEBUG,' ',KMFAX( NDBGLP )) ENDDO ENDIF C ZPIBY2 = PPI / 2.0 ZDEGR = PPI / 180.0 ILIM = KTRUNC + 1 IMLIM = KTRUNC + 1 INORTH = -1 ILN = KLONO + 2 C C -----------------------------------------------------------------| C* Section 2. Main loop through latitude rows to C* calculate fourier coefficients C -----------------------------------------------------------------| C 200 CONTINUE C C For each latitude, the north and corresponding south latitude row C are calculated at the same time from the same legendre functions. C DO 280 JNEXTLAT = 1, KLATO ZLAT = ( PSTART - (PINTVL * REAL(JNEXTLAT - 1)) ) C IF( NDBG.GT.1 ) X CALL INTLOGR(JP_DEBUG, 'JWINDLL: Next latitude = ', ZLAT) C C If required, generate the coefficients 'on the fly' C IF( LON_FLY ) THEN CALL NMAKLL( KTRUNC, PBUILD, ZLAT, 1, PLEG, NERR) IOFF = 0 ELSE IF( LFILEIO ) THEN CALL JREADLL( KLUNIT, KTRUNC, PBUILD, ZLAT, PLEG, NERR) IF ( NERR .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'JWINDLL: JREADLL error',NERR) KRET = JPROUTINE + 2 GOTO 990 ENDIF ELSE IOFF = NINT( (90.0 - ZLAT)/PBUILD )*(KTRUNC+1)*(KTRUNC+4)/2 ENDIF C C Clear unused slots in array. C Note there are two slots in the array - one for north latitude C and one for the corresponding south latitude. INORTH = INORTH + 2 ISOUTH = INORTH + 1 DO LOOP = 1, ILN ZF( LOOP) = 0.0 PZFA( LOOP, INORTH) = 0.0 PZFA( LOOP, ISOUTH) = 0.0 ENDDO C C For spectral Ucos(theta), Vcos(theta), treat the poles as a C special case. C IF( GPOLE(ZLAT).AND.(.NOT.LPLAINU) ) THEN C IF( NDBG.GT.1 ) CALL INTLOG(JP_DEBUG, X 'JWINDLL: Pole special for spectral Ucos(t), Vcos(t)', X JPQUIET) C CALL JSPPOLE( PSHUP, 1, KTRUNC, .TRUE., ZF) DO LOOP = 1, ILN PZFA( LOOP, INORTH) = ZF( LOOP) ENDDO C CALL JSPPOLE( PSHUP, 0, KTRUNC, .TRUE., ZF) DO LOOP = 1, ILN PZFA( LOOP, ISOUTH) = ZF( LOOP) ENDDO C ELSE C C Otherwise not at pole, or spectral U and V C C Fill slots which are used IMN = 0 IMP = 0 C DO 247 JM = 1, IMLIM ITAL = ILIM - JM + 1 DO 245 J245 = 1, ITAL #ifndef __uxp__ IF( LFILEIO ) THEN ZDUM(J245) = PLEG(IMP + J245)*PSHUP(IMN + J245) ELSE JDCLOOP = IOFF + IMP + J245 ZDUM(J245) = PLEG(JDCLOOP)*PSHUP(IMN + J245) ENDIF #else JDCLOOP = IOFF + IMP + J245 ZDUM(J245) = PLEG(JDCLOOP)*PSHUP(IMN + J245) #endif 245 CONTINUE IMP = IMP + ITAL + 1 IMN = IMN + ITAL ITALS = (ITAL + 1)/2 ITALA = ITAL/2 #ifndef CRAY CHOLD = (0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO LOOP = 1, 2*ITALS, 2 CHOLD = CHOLD + ZDUM(LOOP) ENDDO ZSUMS(JM) = CHOLD #ifndef CRAY CHOLD = (0.0D0, 0.0D0) #else CHOLD = (0.0, 0.0) #endif DO LOOP = 2, 2*ITALA, 2 CHOLD = CHOLD + ZDUM(LOOP) ENDDO ZSUMA(JM) = CHOLD 247 CONTINUE C C For the southern hemisphere row, the legendre functions are C the complex conjugates of the corresponding northern row - C hence the juggling with the signs in the next loop. C C Note that PZFA is REAL, but the coefficients being calculated C are COMPLEX. There are pairs of values for each coefficient C (real and imaginary parts) and pairs of values for each C latitude (north and south). C DO JM = 1, IMLIM PZFA(2*JM -1, INORTH) = REAL(ZSUMS(JM)) + REAL(ZSUMA(JM)) PZFA(2*JM , INORTH) = AIMAG(ZSUMS(JM)) + AIMAG(ZSUMA(JM)) PZFA(2*JM -1, ISOUTH) = REAL(ZSUMS(JM)) - REAL(ZSUMA(JM)) PZFA(2*JM , ISOUTH) = AIMAG(ZSUMS(JM)) - AIMAG(ZSUMA(JM)) ENDDO ENDIF C C* End of main loop through latitude rows. C 280 CONTINUE C C -----------------------------------------------------------------| C* Section 3. Fast fourier transform C -----------------------------------------------------------------| C 300 CONTINUE C IF( NDBG.GT.1 ) CALL INTLOG(JP_DEBUG, X 'JWINDLL: FFT, no.of rows (N and S) = ', ISOUTH) C CALL FFT99(PZFA,WORK,PTRIGS,KMFAX,1,J2NFFT,KLONO,ISOUTH,1) C IF( NDBG.GT.1 ) THEN CALL INTLOG(JP_DEBUG, X 'JWINDLL: Values calculated by FFT:',JPQUIET) DO NDBGLP = 1, 20 CALL INTLOGR(JP_DEBUG,' ',PZFA( 1, NDBGLP )) CALL INTLOGR(JP_DEBUG,' ',PZFA( 2, NDBGLP )) ENDDO ENDIF C C For spectral U, V generate the poles from a reduced gaussian line C of latitude. C IF( GPOLE(PSTART).AND.(LPLAINU) ) THEN C IF( NDBG.GT.1 ) CALL INTLOG(JP_DEBUG, X 'JWINDLL: Poles generated from gaussian for spectral U, V', X JPQUIET) C CALL JUVPOLE(PSHUP, KTRUNC, PZFA, KLONO, KRET) IF( KRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JWINDLL: pole wind create error',IWORK) KRET = JPROUTINE + 1 GOTO 990 ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 4. For spectral Ucos(theta), Vcos(theta), apply scale C factor to all latitudes except poles. C -----------------------------------------------------------------| C 400 CONTINUE C IF( NDBG.GT.0 ) THEN IF( LPLAINU ) THEN CALL INTLOG(JP_DEBUG, X 'JWINDLL: Do not apply scale to latitudes',JPQUIET) ELSE CALL INTLOG(JP_DEBUG, X 'JWINDLL: Apply scale to latitudes',JPQUIET) ENDIF ENDIF C IF( .NOT.LPLAINU ) THEN INORTH = -1 DO JNEXTLAT = 1, KLATO ZLAT = ( PSTART - (PINTVL * REAL(JNEXTLAT - 1)) ) INORTH = INORTH + 2 ISOUTH = INORTH + 1 IF( .NOT.GPOLE(ZLAT) ) THEN ZCOSI = 1.0 / COS( ZLAT * ZDEGR ) CALL SSCAL( KLONO, ZCOSI, PZFA( 2, INORTH), 1) CALL SSCAL( KLONO, ZCOSI, PZFA( 2, ISOUTH), 1) ENDIF ENDDO C ENDIF C -----------------------------------------------------------------| C* Section 9. Return to calling routine. Format statements C -----------------------------------------------------------------| C 900 CONTINUE C KRET = 0 C 990 CONTINUE RETURN END emoslib-000392+dfsg.1/interpolation/hrg2ll.F0000755000175000017500000002715012127406245021656 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION HRG2LL(L12PNT,OLDFLD,KGAUSS,AREA,POLE,GRID, X NEWFLD,KSIZE,NLON,NLAT) C C----> C**** HRG2LL C C Purpose C ------- C C This routine creates a rotated regular lat/long field from a C reduced gaussian field using 12-point horizontal interpolation. C C C Interface C --------- C C IRET = HRG2LL(L12PNT,OLDFLD,KGAUSS,AREA,POLE,GRID,NEWFLD,KSIZE, C X NLON,NLAT) C C C Input parameters C ---------------- C C L12PNT - Chooses between 12-point and 4-point interpolation C OLDFLD - The array of values from the reduced gaussian field C KGAUSS - Gaussian number for the reduced gaussian field C AREA - Limits of area (N/W/S/E) C POLE - Pole of rotation (lat/long) C GRID - Grid increments (i/j) C KSIZE - The size of the array to fill with the regular C lat/long field C C C Output parameters C ----------------- C C NEWFLD - The array of values for the regular lat/long field C NLON - Number of longitudes in the regular lat/long field C NLAT - Number of latitudes in the regular lat/long field C C Returns 0 if function successful, non-zero otherwise. C C Common block usage C ------------------ C C C C Method C ------ C C Numbering of the points (I is the interpolation point): C C 13 5 6 14 C C 7 1 2 8 C (I) C 9 3 4 10 C C 15 11 12 16 C C The 12-point interpolation is not possible if either of the top C two rows is above the original field northern latitude. The C nearest neighbour is used if both rows are above, and a 4-pt C bilinear interpolation is used if the top row is above. C Similarily, if either of the bottom two rows is below the original C field southern latitude. C C C Externals C --------- C C INTLOG - Log error message. C JMALLOC - Dynamically allocate memory C JFREE - Free dynamically allocated memory C JGETGG - Reads the definition of a gaussian grid C HGENLL - Calculates original lat/long (before rotation) for C a rotated grid C HNEI12 - Finds neighbours for points for interpolation C HWTS12 - Calculates weightings for points for interpolation C C C Reference C --------- C C None. C C C Comments C -------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF January 2001 C C C Modifications C ------------- C C None. C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "parim.h" #include "nofld.common" C C Parameters C INTEGER JNORTH, JSOUTH, JWEST, JEAST, JW_E, JN_S, JLAT, JLON INTEGER JP12PT, JP4PT, JPNEARN PARAMETER (JP12PT = 0) PARAMETER (JP4PT = 1) PARAMETER (JPNEARN = 2) PARAMETER (JNORTH = 1 ) PARAMETER (JWEST = 2 ) PARAMETER (JSOUTH = 3 ) PARAMETER (JEAST = 4 ) PARAMETER (JW_E = 1 ) PARAMETER (JN_S = 2 ) PARAMETER (JLAT = 1 ) PARAMETER (JLON = 2 ) C C Function arguments C LOGICAL L12PNT INTEGER KGAUSS, KSIZE, NLON, NLAT REAL AREA(4), POLE(2), GRID(2), OLDFLD(*), NEWFLD(KSIZE) C C Local variables C INTEGER NEXT, LOOP, IRET, NLEN, NPREV, NBYTES, NUMBER C LOGICAL LNEW, LFIRST INTEGER KSCHEME(1),NEIGH(12,1), KLA(1) REAL PWTS(12,1) POINTER (IPKSCHE, KSCHEME) POINTER (IPNEIGH, NEIGH) POINTER (IPKLA, KLA) POINTER (IPPWTS, PWTS) C REAL PDLO0(1),PDLO1(1),PDLO2(1),PDLO3(1),PDLAT(1) POINTER (IPPDLO0, PDLO0) POINTER (IPPDLO1, PDLO1) POINTER (IPPDLO2, PDLO2) POINTER (IPPDLO3, PDLO3) POINTER (IPPDLAT, PDLAT) C INTEGER IGG, IGGOLD INTEGER KPTS(1) REAL GLATS(1) INTEGER IOFFS(1) POINTER (IPKPTS, KPTS) POINTER (IPIOFFS, IOFFS) POINTER (IPGLATS, GLATS) C INTEGER ILL, ILLOLD REAL RLAT(1),RLON(1) POINTER (IPRLAT, RLAT) POINTER (IPRLON, RLON) C REAL OLD(1) POINTER (IOLD, OLD) C DATA NPREV/-1/ DATA LNEW/.FALSE./, LFIRST/.TRUE./ DATA IGGOLD/-1/, ILLOLD/-1/, IOLD/-1/ C SAVE LNEW, LFIRST SAVE IPKSCHE, IPNEIGH, IPKLA, IPPWTS SAVE IPPDLO0, IPPDLO1, IPPDLO2, IPPDLO3, IPPDLAT SAVE NPREV, IGGOLD, IPKPTS, IPIOFFS, IPGLATS SAVE ILLOLD, IPRLAT, IPRLON, IOLD C C Externals C INTEGER HNEI12, HGENLL #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif C C -----------------------------------------------------------------| C Section 1. Initialise. C -----------------------------------------------------------------| C 100 CONTINUE C HRG2LL = 0 C CALL JDEBUG() C C Dynamically allocate memory for gaussian grid information. C IGG = KGAUSS*2 C IF( IGG.GT.IGGOLD ) THEN C IF( IGGOLD.GT.0 ) CALL JFREE(IPKPTS) C NBYTES = (IGG*JPRLEN) + (2*IGG+1)*JPBYTES C IPKPTS = JMALLOC(NBYTES) #ifdef hpR64 IPKPTS = IPKPTS/(1024*1024*1024*4) #endif IF( IPKPTS.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2LL: Memory allocation fail',JPQUIET) HRG2LL = 1 GOTO 900 ENDIF C IPGLATS = IPKPTS + (IGG*JPBYTES) IPIOFFS = IPGLATS + (IGG*JPRLEN) C IGGOLD = IGG NPREV = -1 C ENDIF C C Build up offsets to start of each latitude in the original field. C IF( KGAUSS.NE.NPREV ) THEN CALL JGETGG(KGAUSS,'R',GLATS,KPTS,IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2LL: JGETGG failed to get gaussian data',JPQUIET) HRG2LL = 2 GOTO 900 ENDIF C IOFFS(1) = 1 DO LOOP = 2, (KGAUSS*2+1) IOFFS(LOOP) = IOFFS(LOOP-1) + KPTS(LOOP-1) ENDDO C C Allocate memory to hold the input field C (in case OLDFLD and NEWFLD are the same arrays) C IF( IOLD.GT.0 ) CALL JFREE(IOLD) C NUMBER = (IOFFS(KGAUSS*2+1) - 1) NBYTES = NUMBER * JPRLEN C IOLD = JMALLOC(NBYTES) #ifdef hpR64 IOLD = IOLD/(1024*1024*1024*4) #endif IF( IOLD.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2LL: Memory allocation fail',JPQUIET) HRG2LL = 3 GOTO 900 ENDIF C NPREV = KGAUSS ENDIF C C Preserve the input field C NUMBER = (IOFFS(KGAUSS*2+1) - 1) DO LOOP = 1, NUMBER OLD(LOOP) = OLDFLD(LOOP) ENDDO C C -----------------------------------------------------------------| C Section 2. Generate the lat/long points for the output grid C -----------------------------------------------------------------| C 200 CONTINUE C NLON = 1 + NINT((AREA(JEAST) - AREA(JWEST)) / GRID(JW_E)) NLAT = 1 + NINT((AREA(JNORTH) - AREA(JSOUTH)) / GRID(JN_S)) C NLEN = NLON * NLAT NOWE = NLON NONS = NLAT C C Check that given array is big enough for the new field. C IF( NLEN.GT.KSIZE ) THEN CALL INTLOG(JP_ERROR,'HRG2LL: Given array size = ',KSIZE) CALL INTLOG(JP_ERROR,'HRG2LL: Required size = ',NLEN) HRG2LL = 4 GOTO 900 ENDIF C C Dynamically allocate memory for lat/long arrays. C ILL = NLEN IF( ILL.GT.ILLOLD ) THEN C LNEW = .TRUE. C IF( ILLOLD.GT.0 ) CALL JFREE(IPRLON) C NBYTES = 2*ILL*JPRLEN C IPRLON = JMALLOC(NBYTES) #ifdef hpR64 IPRLON = IPRLON/(1024*1024*1024*4) #endif IF( IPRLON.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2LL: Memory allocation fail',JPQUIET) HRG2LL = 5 GOTO 900 ENDIF C IPRLAT = IPRLON + (ILL*JPRLEN) C ILLOLD = ILL C ENDIF C IRET = HGENLL(AREA,POLE,GRID,NLON,NLAT,RLAT,RLON) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2LL: HGENLL failed to get lat/lon grid data',JPQUIET) HRG2LL = 6 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 3. Find neighbours for each point for interpolation. C -----------------------------------------------------------------| C 300 CONTINUE C C Dynamically allocate memory for interpolation arrays. C IF( LNEW ) THEN C IF( .NOT.LFIRST ) CALL JFREE(IPPDLO0) C NBYTES = (17*JPRLEN + 14*JPBYTES) * ILL C IPPDLO0 = JMALLOC(NBYTES) #ifdef hpR64 IPPDLO0 = IPPDLO0/(1024*1024*1024*4) #endif IF( IPPDLO0.EQ.0 ) THEN CALL INTLOG(JP_ERROR,'HRG2LL: Memory allocation fail',JPQUIET) HRG2LL = 7 GOTO 900 ENDIF C IPPDLO1 = IPPDLO0 + (ILL*JPRLEN) IPPDLO2 = IPPDLO1 + (ILL*JPRLEN) IPPDLO3 = IPPDLO2 + (ILL*JPRLEN) IPPDLAT = IPPDLO3 + (ILL*JPRLEN) IPPWTS = IPPDLAT + (ILL*JPRLEN) IPKSCHE = IPPWTS + (12*ILL*JPRLEN) IPKLA = IPKSCHE + (ILL*JPBYTES) IPNEIGH = IPKLA + (ILL*JPBYTES) C LFIRST = .FALSE. LNEW = .FALSE. C ENDIF C C Find neighbours. C IRET = HNEI12(L12PNT,NLEN,RLAT,RLON,KGAUSS,KPTS,GLATS, X KSCHEME,PDLAT,PDLO0,PDLO1,PDLO2,PDLO3,KLA,NEIGH) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR, X 'HRG2LL: HNEI12 failed to find neighbours',JPQUIET) HRG2LL = 8 GOTO 900 ENDIF C C -----------------------------------------------------------------| C Section 4. Perform the 12-point horizontal interpolation. C -----------------------------------------------------------------| C 400 CONTINUE C C Setup the 12-point horizontal interpolation weights C CALL HWTS12 X (NLEN,KSCHEME,KLA,PDLAT,GLATS,PDLO0,PDLO1,PDLO2,PDLO3,NEIGH, X PWTS) C C Calculate the interpolated grid point values C DO LOOP = 1, NLEN IF( KSCHEME(LOOP).EQ.JP12PT ) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) + X OLD(NEIGH( 5,LOOP)) * PWTS( 5,LOOP) + X OLD(NEIGH( 6,LOOP)) * PWTS( 6,LOOP) + X OLD(NEIGH( 7,LOOP)) * PWTS( 7,LOOP) + X OLD(NEIGH( 8,LOOP)) * PWTS( 8,LOOP) + X OLD(NEIGH( 9,LOOP)) * PWTS( 9,LOOP) + X OLD(NEIGH(10,LOOP)) * PWTS(10,LOOP) + X OLD(NEIGH(11,LOOP)) * PWTS(11,LOOP) + X OLD(NEIGH(12,LOOP)) * PWTS(12,LOOP) C ELSE IF( KSCHEME(LOOP).EQ.JP4PT ) THEN NEWFLD(LOOP) = X OLD(NEIGH( 1,LOOP)) * PWTS( 1,LOOP) + X OLD(NEIGH( 2,LOOP)) * PWTS( 2,LOOP) + X OLD(NEIGH( 3,LOOP)) * PWTS( 3,LOOP) + X OLD(NEIGH( 4,LOOP)) * PWTS( 4,LOOP) C ELSE DO NEXT = 1, 4 IF( NEIGH(NEXT,LOOP).NE.0 ) X NEWFLD(LOOP) = OLD(NEIGH(NEXT,LOOP)) ENDDO C ENDIF ENDDO C C -----------------------------------------------------------------| C Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/interpolation/jopngg.F0000755000175000017500000002036312127406245021747 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE JOPNGG( PLEG, KNUM, KTRUNC, KUNIT, PLAT, KRET) C C----> C**** JOPNGG C C Purpose C _______ C C This routine finds a file of legendre polynomials corresponding C to a given grid interval and truncation and returns a unit number. C C Interface C _________ C C CALL JOPNGG( PLEG, KNUM, KTRUNC, KUNIT, PLAT, KRET) C C Input parameters C ________________ C C PLEG - Array for legendre function C KNUM - Gaussian grid number C KTRUNC - Spherical truncation C PLAT - Array of latitudes for the gaussian grid C C Output parameters C _________________ C C KUNIT - Unit number from PBOPEN C 0 , open failed C KRET - Return status code C 0 = OK C C Common block usage C __________________ C C None C C Method C ______ C C Builds a file name from the truncation and grid interval and C tries to open a file of that name. C C If the file is already open (from a previous call) the C previous unit number is returned. C If a different file is already open (from a previous call), the C existing file is closed first. C C If no file can be located, a file is created. C C Externals C _________ C C PBOPEN - Open binary file and return unit number C PBCLOSE - Close binary file C JFINDIR - Find the file of legendre coefficients C JMAKGG - Makes a file of legendre coefficients C INTLOG - Output log message C JCHMOD - Change file permissions C RENAME - Rename file C C Reference C _________ C C NONE C C Comments C ________ C C The filename for the legendre polynomials has the form: C cf_xxxx_nnnn Truncation xxx, Gaussian number yyy C For example, C cf_0213_0160 T213 N160 C cf_0106_0080 T106 N80 C C On the C90, the file of polynomials may be cached in /owrk/marsint C C Otherwise the file is located in (or will be created in) the first C directory given by one of the following (in the order listed, if C they exist): C environment variable PPDIR C or C the current working directory. C C C Author C ______ C C J.D.Chambers *ECMWF* Jan 1994 C C Modifications C _____________ C C J.D.Chambers *ECMWF* Mar 1996 C Standardise the search order for the environment variables. C C S.Curic *ECMWF* Apr 2005 C Change filename format because of N1048 C C----< C _______________________________________________________ C IMPLICIT NONE C #include "parim.h" C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 30800 ) C C Subroutine arguments C REAL PLAT, PLEG DIMENSION PLAT(*) DIMENSION PLEG(*) INTEGER KNUM, KTRUNC, KUNIT, KRET C C Local variables C INTEGER IRET, IOFFSET LOGICAL LFOUND CHARACTER*256 DIRNAME CHARACTER*256 FILENAME, FILEDUM CHARACTER*512 FULLPATH CHARACTER*16 YPFN CHARACTER*16 YOLD #ifdef REAL_8 DATA YPFN/'CF_xxxx_nnnn'/ #else DATA YPFN/'cf_xxxx_nnnn'/ #endif DATA YOLD/'xxxxxxxxxxxx'/ INTEGER NUNIT DATA NUNIT/0/ C SAVE NUNIT, YOLD C C Externals C LOGICAL JFINDIR LOGICAL JFINDFN INTEGER JCHMOD, RENAME C C _______________________________________________________ C C* Section 1. See if required file already in use. C _______________________________________________________ C 100 CONTINUE C C Setup the filename: cf_xxxx_nnnn C WRITE(YPFN(4:7), '(I4.4)' ) KTRUNC WRITE(YPFN(9:12), '(I4.4)' ) KNUM C C If file already open, return the existing unit number C IF( YPFN.EQ.YOLD ) THEN KUNIT = NUNIT GOTO 900 ENDIF C C Otherwise, close the existing file C IF( NUNIT.NE.0 ) THEN CALL PBCLOSE( NUNIT, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JOPNGG: PBCLOSE error.',IRET) NUNIT = 0 KRET = JPROUTINE + 1 GOTO 990 ENDIF ENDIF C _______________________________________________________ C C* Section 2. See if the file has already been created. C _______________________________________________________ C 200 CONTINUE C IOFFSET = INDEX(YPFN,' ') - 1 FILENAME = YPFN(1:IOFFSET) C LFOUND = JFINDIR('PPDIR', DIRNAME) IF( LFOUND ) THEN LFOUND = JFINDFN(DIRNAME,FILENAME,IOFFSET,NUNIT) IF( LFOUND ) GOTO 500 ENDIF C C Try present working directory C IOFFSET = INDEX(YPFN,' ') - 1 FILENAME = YPFN(1:IOFFSET) CALL PBOPEN( NUNIT, FILENAME(1:IOFFSET), 'r', IRET) IF( IRET.EQ.0 ) GOTO 500 C _______________________________________________________ C C* Section 3. File doesn't exist, find a suitable directory for it. C _______________________________________________________ C 300 CONTINUE C LFOUND = JFINDIR('PPDIR', DIRNAME) IF( LFOUND ) THEN IOFFSET = INDEX(DIRNAME, ' ') - 1 FULLPATH = DIRNAME(1:IOFFSET) // '/' // FILENAME IOFFSET = INDEX(FULLPATH, ' ') - 1 FILENAME(1:IOFFSET) = FULLPATH(1:IOFFSET) FILEDUM(1:IOFFSET) = FILENAME(1:IOFFSET) #ifdef REAL_8 FILEDUM(IOFFSET-11:IOFFSET-10) = 'XX' #else FILEDUM(IOFFSET-11:IOFFSET-10) = 'xx' #endif CALL PBOPEN(NUNIT, FILEDUM(1:IOFFSET), 'w', IRET) IF( IRET.EQ.0 ) GOTO 400 ENDIF C C Try present working directory C IOFFSET = INDEX(YPFN,' ') - 1 FILENAME = YPFN(1:IOFFSET) FILEDUM(1:IOFFSET) = FILENAME(1:IOFFSET) #ifdef REAL_8 FILEDUM(IOFFSET-11:IOFFSET-10) = 'XX' #else FILEDUM(IOFFSET-11:IOFFSET-10) = 'xx' #endif CALL PBOPEN( NUNIT, FILEDUM(1:IOFFSET), 'w', IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JOPNGG: PBOPEN error.',IRET) KRET = JPROUTINE + 2 GOTO 990 ENDIF C _______________________________________________________ C C* Section 4. Create the coefficients file. C _______________________________________________________ C 400 CONTINUE C C Let user know that a new file is being created. C IOFFSET = INDEX(FILENAME,' ') - 1 CALL INTLOG(JP_DEBUG,'JOPNGG: Creating new coefficients file:', X JPQUIET) CALL INTLOG(JP_DEBUG,FILENAME(1:IOFFSET), JPQUIET) C C Change access mode to 'read only' for all users. C IRET = JCHMOD(FILEDUM(1:IOFFSET),'0444') IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JOPNGG: JCHMOD error.',IRET) KRET = JPROUTINE + 3 GOTO 990 ENDIF C C Make coefficients file C CALL JMAKGG( NUNIT, KTRUNC, KNUM, PLAT, PLEG, KRET) IF ( KRET .NE. 0 ) GOTO 990 C C Close it, rename it, re-open for reading, leave it open. C CALL PBCLOSE(NUNIT, IRET) IF( IRET.NE.0 ) THEN CALL INTLOG(JP_ERROR,'JOPNGG: PBCLOSE error.',IRET) KRET = JPROUTINE + 4 GOTO 990 ENDIF C FILEDUM(IOFFSET+1:IOFFSET+1) = CHAR(0) FILENAME(IOFFSET+1:IOFFSET+1) = CHAR(0) IRET = RENAME(FILEDUM(1:IOFFSET),FILENAME(1:IOFFSET)) #ifndef hpR64 IF( IRET.NE.0 ) THEN CALL INTLOG(JP_FATAL,'JOPNGG: RENAME of file failed',JPQUIET) KRET = JPROUTINE + 5 GOTO 990 ENDIF #endif C CALL PBOPEN( NUNIT, FILENAME(1:IOFFSET), 'r', IRET) IF ( IRET .NE. 0 ) THEN CALL INTLOG(JP_ERROR,'JOPNGG: PBOPEN error.',IRET) KRET = JPROUTINE + 6 GOTO 990 ENDIF C _______________________________________________________ C C* Section 5. File now open with read access. C _______________________________________________________ C 500 CONTINUE C KUNIT = NUNIT YOLD = YPFN C C _______________________________________________________ C C* Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE C KRET = 0 C 990 CONTINUE C RETURN END emoslib-000392+dfsg.1/LICENSE0000755000175000017500000002572612127406245016502 0ustar amckinstryamckinstry Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 1981-2012 European Centre for Medium-Range Weather Forecasts (ECMWF Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. emoslib-000392+dfsg.1/Makefile0000755000175000017500000000076012127406245017124 0ustar amckinstryamckinstry# Makefile for libemos # TARGETS = all clean LIBRARY = libemos$(R64).a GRIB_API_MERGING= SHELL=/bin/sh SUBDIRS = gribex interpolation bufrdc crexdc pbio fft bufrtables $(GRIB_API_MERGING) all : @for name in $(SUBDIRS); do\ ( echo "*************************"; \ echo "*** Make in $$name "; \ echo "*************************"; \ cd $$name ; make LIB=emos; ) done clean : @for name in $(SUBDIRS); do\ ( echo "*** Clean in $$name ***" ;cd $$name ; make clean ); \ done rm -f $(LIBRARY) emoslib-000392+dfsg.1/gribex/0000755000175000017500000000000012127406245016736 5ustar amckinstryamckinstryemoslib-000392+dfsg.1/gribex/sources.FUJITSU0000755000175000017500000000665612127406245021514 0ustar amckinstryamckinstry# # Sources for libemos/gribex # #EXTRAOBJ=cgsloop.o EXTRAOBJ= HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c # cgsloop.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gsbite.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/getib3.F0000755000175000017500000001041412127406245020225 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETIB3 (KLIB3,KIB3,KLENG,KARRAY,KPR,KRET) C C----> C ---------------------------------------------------------------- C C**** C C PURPOSE. C -------- C C GET BINARY VALUES FROM BLOCK 3 OF UNPACKED GRIB OR C PSEUDO-GRIB RECORDS, RETRIEVED FROM MARS. C C** INTERFACE. C ---------- C C CALL GETIB3 (KLIB3,KIB3,KLENG,KARRAY,KPR,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C INPUT PARAMETERS. C ----------------- C C KIB3 - ARRAY TO RECEIVE BLOCK 3 VALUES. C KLENG - LENGTH OF THIS ARRAY. C KARRAY - ARRAY CONTAINING UNPACKED RECORD. C KPR - DEBUG PRINT SWITCH. C 0 , NO PRINTOUT. C 1 , DEBUG PRINTOUT. C C KRET - ABORT/NO ABORT WHEN ERROR FOUND. C 0 , ABORT IF ERROR FOUND. C NON-ZERO , NO ABORT IF ERROR FOUND. C C OUTPUT PARAMETERS. C ------------------ C C KIB3 - ARRAY CONTAINING VALUES FROM BLOCK 3. C KLIB3 - NUMBER OF WORDS FILLED IN THIS ARRAY. C KRET - ERROR RETURN CODE. C 0 , NO ERROR ENCOUNTERED. C 1 , TARGET ARRAY TOO SMALL. C C METHOD. C ------- C C UNPACKED DATA IS IN SELF DEFINING RECORDS. THE REQUIRED C VALUES ARE LOCATED AND EXTRACTED. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C SEE MARS FORMAT DOCUMENTATION RE GRIB, PSEUDO-GRIB AND C UNPACKED FORMATS. C C COMMENTS. C --------- C C PROGRAM CONTAINS SECTIONS 0 TO 2 AND SECTION 9. C C AUTHOR. C ------- C C J. HENNESSY ECMWF 18:06:86. C C MODIFICATIONS C -------------- C NONE. C C --------------------------------------------------------------- C----< C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ------------------------------------ C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C DIMENSION KARRAY(*) DIMENSION KIB3(KLENG) C C C --------------------------------------------------------------- C C C C C C C C C C C C* SECTION 1 . SET INITIAL VALUES. CHECK INPUT PARAMETERS. C ------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIB3 : SECTION 1.' C IRET = KRET KRET = 0 C C -------------------------------------------------------------- C C C C C C C C C C C* SECTION 2 . EXTRACT VALUES . PRINT IF REQUIRED. C ----------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIB3 : SECTION 2.' C ILIB1 = KARRAY(2) ILIB2 = KARRAY(2+ILIB1+1) ILFB2 = KARRAY(2+ILIB1+1+ILIB2+1) KLIB3 = KARRAY(2+ILIB1+1+ILIB2+1+ILFB2+1) C IF (KLENG.LT.KLIB3) C THEN KRET = 1 WRITE (*,9001) KRET , KLIB3 GO TO 9000 ENDIF C DO 2010 J=1,KLIB3 KIB3(J) = KARRAY(J+2+ILIB1+1+ILIB2+1+ILFB2+1) 2010 CONTINUE C C C ------------------------------------------------------------------ C C C C C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE OR ABORT. FORMAT STATEMENTS. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIB3 : SECTION 9.' C IF (KRET.NE.0.AND.IRET.EQ.0) CALL ABORT C RETURN C C 9001 FORMAT (1H ,'GETIB3 : ERROR CODE = ',I3,'. TARGET ARRAY MUST BE ', C ' AT LEAST ',I5,' WORDS LONG.') C C ------------------------------------------------------------------ C C END emoslib-000392+dfsg.1/gribex/c2bitw.F0000755000175000017500000000464512127406245020253 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION C2BITW ( KVALUE, KXBITS, KPOWER, KMXPWR ) C C----> C**** C2BITW C C Purpose. C -------- C C Compute BIT Width necessary to encode a positive integer value. C C** Interface. C ---------- C C IWIDTH = C2BITW ( KVALUE, KXBITS, KPOWER, KMXPWR ) C C Function return value is the requested bit width. C C Input Parameters. C ----------------- C C KVALUE - Positive integer value. C KXBITS - MaXimum number of BITS estimated. C KPOWER - Auxilary array, containing precomputed powers of 2-1. C KMXPWR - Maximum number of bits allowed. C C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C Loop down on possible bit width values. C C C C Externals. C ---------- C C None. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C None. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - February 1998. C C C Modifications. C _____________ C C None. C C----< C C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C C Subroutine arguments C INTEGER KVALUE, KXBITS, KMXPWR INTEGER KPOWER (0:KMXPWR) C C Local variables. C INTEGER IRETFN, J C C ----------------------------------------------------------------- C* Section 1 . Direct computing. C ----------------------------------------------------------------- C 100 CONTINUE C DO 101 J=MIN (KXBITS,KMXPWR)-1,0,-1 C IF (KVALUE.GT.KPOWER(J)) THEN IRETFN=J+1 GOTO 102 ENDIF C 101 CONTINUE C IRETFN=0 C 102 CONTINUE C C ----------------------------------------------------------------- C* Section 9 . Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C C2BITW = IRETFN C C RETURN C END emoslib-000392+dfsg.1/gribex/rtb.F0000755000175000017500000000242212127406245017637 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION RTB (CHAR) C C----> C* C* NAME : RTB C* C* FUNCTION : COUNT THE NUMBER OF CHARACTERS IN A CHARACTER C* STRING, EXCLUDING TRAILING SPACES. C* C* INPUT : CHAR - CHARACTER STRING C* C* OUTPUT : RTB - NO OF CHARACTERS C* C* GENERAL : RTB CALLS ----- C* C* AUTHOR : J.HENNESSY 15.4.85 C* C --------------------------------------------------------------- C----< C CHARACTER*(*) CHAR C J = LEN (CHAR) C C No trailing blanks. C IF (CHAR(J:J).NE.' ') C THEN RTB = J RETURN ENDIF C C String with trailing blanks. C DO 100 I = J,1,-1 IF (CHAR(I:I).NE.' ') C THEN RTB = I RETURN ENDIF 100 CONTINUE C C String consists of only blanks. C RTB = 0 C RETURN END emoslib-000392+dfsg.1/gribex/gdecodeStruct.h0000755000175000017500000002362412127406245021720 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef GDECODESTRUCT_H #define GDECODESTRUCT_H typedef struct gribSection0 { unsigned char GRIB[4]; unsigned char totalGRIBlength[3]; unsigned char editionNumber[1]; } gribSection0; typedef struct ECMWFdefinition1 { unsigned char number[1]; unsigned char total[1]; unsigned char spare[1]; } ECMWFdefinition1; typedef struct ECMWFdefinition2 { unsigned char number[1]; unsigned char total[1]; unsigned char spare[1]; unsigned char method[1]; unsigned char startTimestep[2]; unsigned char endTimestep[2]; unsigned char domainNorthLatitude[3]; unsigned char domainWestLongitude[3]; unsigned char domainSouthLatitude[3]; unsigned char domainEastLongitude[3]; unsigned char operationalForecastCluster[1]; unsigned char controlForecastCluster[1]; unsigned char numberInCluster[1]; unsigned char forecastNumberList[256]; } ECMWFdefinition2; typedef struct ECMWFdefinition3 { unsigned char band[1]; unsigned char functionCode[1]; unsigned char spare[1]; } ECMWFdefinition3; typedef struct ECMWFdefinition5 { unsigned char number[1]; unsigned char total[1]; unsigned char unitsDecimalScaleFactor[1]; unsigned char thresholdIndicator[1]; unsigned char lowerThreshold[2]; unsigned char upperThreshold[2]; unsigned char spare[1]; } ECMWFdefinition5; typedef struct ICEField { unsigned char date[3]; unsigned char satelliteNumber[1]; } ICEField; typedef struct ECMWFdefinition6 { unsigned char zero[2]; unsigned char SSTFieldDate[3]; unsigned char typeOfSSTField[1]; unsigned char countOfICEFields[1]; unsigned char lowerThreshold[2]; unsigned char upperThreshold[2]; ICEField ICEFieldList[20]; } ECMWFdefinition6; typedef struct ECMWFdefinition7 { unsigned char number[1]; unsigned char totalNumberOfDiagnostics[1]; unsigned char domain[1]; unsigned char diagnosticNumber[1]; unsigned char spare[1]; } ECMWFdefinition7; typedef struct ECMWFdefinition8 { unsigned char interval[1]; unsigned char unsignedIntegers[12]; } ECMWFdefinition8; typedef struct ECMWFdefinition9 { unsigned char number[2]; unsigned char numberOfIterations[2]; unsigned char numberOfSingularVectorsComputed[2]; unsigned char initialNorm[1]; unsigned char finalNorm[1]; unsigned char multiplicationFactor[4]; unsigned char northWestLatitude[4]; unsigned char northWestLongitude[4]; unsigned char southEastLatitude[4]; unsigned char southEastLongitude[4]; unsigned char accuracy[4]; unsigned char numberOfSingularVectorsEvolved[2]; unsigned char ritzNumber1[4]; unsigned char ritzNumber2[4]; unsigned char spare[1]; } ECMWFdefinition9; typedef struct ECMWFdefinition10 { unsigned char number[1]; unsigned char total[1]; unsigned char centralClusterDefinition[1]; unsigned char parameter[1]; unsigned char levelType[1]; unsigned char domainNorth[3]; unsigned char domainWest[3]; unsigned char domainSouth[3]; unsigned char domainEast[3]; unsigned char operationalForcastTubeNumber[1]; unsigned char controlForcastTubeNumber[1]; unsigned char level[2]; unsigned char referenceStep[2]; unsigned char radiusOfCentralCluster[2]; unsigned char ensembleStandardDeviation[2]; unsigned char distanceOfExtremeToMean[2]; unsigned char numberOfForecastsInTube[1]; unsigned char ensembleForecastList[255]; } ECMWFdefinition10; typedef struct ECMWFdefinition11 { unsigned char analysisClass[1]; unsigned char analysisType[1]; unsigned char analysisStream[2]; unsigned char analysisExpver[4]; unsigned char analysisYear[1]; unsigned char analysisMonth[1]; unsigned char analysisDay[1]; unsigned char analysisHour[1]; unsigned char analysisMinute[1]; unsigned char analysisCentury[1]; unsigned char analysisOriginatingCentre[1]; unsigned char analysisSubCentre[1]; unsigned char spare[7]; } ECMWFdefinition11; typedef struct ECMWFdefinition20 { unsigned char iteration[1]; unsigned char total[1]; unsigned char spare[1]; } ECMWFdefinition20; typedef union localContent { ECMWFdefinition1 def1; ECMWFdefinition2 def2; ECMWFdefinition3 def3; ECMWFdefinition5 def5; ECMWFdefinition6 def6; ECMWFdefinition7 def7; ECMWFdefinition8 def8; ECMWFdefinition9 def9; ECMWFdefinition10 def10; ECMWFdefinition11 def11; ECMWFdefinition20 def20; } localContent; typedef struct marsHeader { unsigned char definition[1]; unsigned char ecmwfClass[1]; unsigned char type[1]; unsigned char stream[2]; unsigned char experimentVersionNumber[4]; } marsHeader; typedef struct localDefinition { marsHeader mars; localContent contents; } localDefinition; typedef struct gribSection1 { unsigned char sectionLength[3]; unsigned char tableVersionNumber[1]; unsigned char originatingCentre[1]; unsigned char generatingProcessId[1]; unsigned char gridDefinition[1]; unsigned char section2and3PresentFlag[1]; unsigned char parameter[1]; unsigned char typeOfLevel[1]; unsigned char level1[1]; unsigned char level2[1]; unsigned char year[1]; unsigned char month[1]; unsigned char day[1]; unsigned char hour[1]; unsigned char minute[1]; unsigned char unitOfTimeRange[1]; unsigned char P1[1]; unsigned char P2[1]; unsigned char timeRangeIndicator[1]; unsigned char numberInAverage[2]; unsigned char numberMissing[1]; unsigned char century[1]; unsigned char subCentreId[1]; unsigned char unitsDecimalScaleFactor[2]; unsigned char reserved[12]; localDefinition local; } gribSection1; typedef struct latitudeLongitudeGrid { unsigned char numberOfPointsAlongParallel[2]; unsigned char numberOfPointsAlongMeridian[2]; unsigned char latitudeOfFirstPoint[3]; unsigned char longitudeOfFirstPoint[3]; unsigned char resolutionAndComponentsFlag[1]; unsigned char latitudeOfLastPoint[3]; unsigned char longitudeOfLastPoint[3]; unsigned char iDirectionIncrement[2]; unsigned char jDirectionIncrement[2]; unsigned char scanningMode[1]; unsigned char setToZero[4]; unsigned char latitudeOfSouthPole[3]; unsigned char longitudeOfSouthPole[3]; unsigned char angleOfRotationOrStretchingFactor[4]; unsigned char latitudeOfPoleOfStretching[3]; unsigned char longitudeOfPoleOfStretching[3]; unsigned char stretchingFactor[4]; } latitudeLongitudeGrid; typedef struct gaussianGrid { unsigned char numberOfPointsAlongParallel[2]; unsigned char numberOfPointsAlongMeridian[2]; unsigned char latitudeOfFirstPoint[3]; unsigned char longitudeOfFirstPoint[3]; unsigned char resolutionAndComponentsFlag[1]; unsigned char latitudeOfLastPoint[3]; unsigned char longitudeOfLastPoint[3]; unsigned char iDirectionIncrement[2]; unsigned char numberOfParallelsBetweenPoleAndEquator[2]; unsigned char scanningMode[1]; unsigned char setToZero[4]; unsigned char latitudeOfSouthPole[3]; unsigned char longitudeOfSouthPole[3]; unsigned char angleOfRotationOrStretchingFactor[4]; unsigned char latitudeOfPoleOfStretching[3]; unsigned char longitudeOfPoleOfStretching[3]; unsigned char stretchingFactor[4]; } gaussianGrid; typedef struct sphericalHarmonicCoefficients { unsigned char J[2]; unsigned char K[2]; unsigned char M[2]; unsigned char representationType[1]; unsigned char representationMode[1]; unsigned char setToZero[18]; unsigned char latitudeOfSouthPole[3]; unsigned char longitudeOfSouthPole[3]; unsigned char angleOfRotationOrStretchingFactor[4]; unsigned char latitudeOfPoleOfStretching[3]; unsigned char longitudeOfPoleOfStretching[3]; unsigned char stretchingFactor[4]; } sphericalHarmonicCoefficients; typedef union gridDefinition { latitudeLongitudeGrid latlon; gaussianGrid gaussian; sphericalHarmonicCoefficients spectral; } gridDefinition; typedef struct gribSection2 { unsigned char sectionLength[3]; unsigned char NV[1]; unsigned char PV_PL[1]; unsigned char dataRepresentationType[1]; gridDefinition grid; } gribSection2; typedef struct gribSection3 { unsigned char sectionLength[3]; unsigned char numberOfUnusedBits[1]; unsigned char tableReference[2]; unsigned char bitmap; } gribSection3; typedef struct simplePackingGridPoint { unsigned char dataBits; } simplePackingGridPoint; typedef struct secondOrderPackingGridPoint { unsigned char n1[2]; unsigned char extendedFlags[1]; unsigned char n2[2]; unsigned char p1[2]; unsigned char p2[2]; unsigned char reserved[1]; unsigned char dataBits; } secondOrderPackingGridPoint; typedef struct simplePackingSpectral { unsigned char realPartOf0_0Coefficient[4]; unsigned char dataBits; } simplePackingSpectral; typedef struct complexPackingSpectral { unsigned char N[2]; unsigned char IP[2]; unsigned char J[1]; unsigned char K[1]; unsigned char M[1]; unsigned char dataBits; } complexPackingSpectral; typedef union binaryData { simplePackingGridPoint simpleGrid; secondOrderPackingGridPoint complexGrid; simplePackingSpectral simpleSpectral; complexPackingSpectral complexSpectral; } binaryData; typedef struct gribSection4 { unsigned char sectionLength[3]; unsigned char flag[1]; unsigned char scaleFactor[2]; unsigned char referenceValue[4]; unsigned char numberOfBitsPerValue[1]; binaryData data; } gribSection4; typedef struct gribSection5 { unsigned char end7777[4]; } gribSection5; typedef struct latLongValueVector { fortdouble * latitude; fortdouble * longitudeIncrement; fortdouble * gridPointValue; } latLongValueVector; typedef struct gribProduct { gribSection0 * g0; gribSection1 * g1; gribSection2 * g2; gribSection3 * g3; gribSection4 * g4; gribSection5 * g5; fortint currentPointIndex; fortint numberOfValues; unsigned char * value; unsigned char * bitStart; fortint bitsPerValue; fortint bitmapped; fortint nextValueFirstBit; fortint nextBit; fortint northSet; fortint southSet; fortint westSet; fortint eastSet; fortint northSouthIncrementSet; fortint westEastIncrementSet; fortint northSouthNumberOfPointsSet; fortint westEastNumberOfPointsSet; fortdouble scale; fortdouble minimum; fortdouble missingValue; fortint * latitudeOffsets; fortdouble * expandedValues; latLongValueVector currentPoint; } gribProduct; #endif /* End of GDECODESTRUCT_H */ emoslib-000392+dfsg.1/gribex/ecdef17.h0000755000175000017500000000635312127406245020337 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 17. C Surface temperature or sea-ice data. C ------------------------------------ C C GRIB code C KSEC1(NN) section 1 C octet(s) C --------- --------- C C 37 41 ECMWF local GRIB use definition identifier C = 17 C = surface temperature fields made from SST and C SSMI data with first-guess values inserted on C land points. C C 38 42 Class : 1 = Operations C C 39 43 Type : 2 = Analysis C C 40 44-45 Stream : 1025 = Daily archive C C 41 46-49 Expver : Version number/experiment identifier. C (4 Ascii characters, right justified) C C 42 50 Zero, for compatibility with MARS labelling. C C 43 51 Zero, for compatibility with MARS labelling. C C 44 52-54 Date of SST field used; YYYYMMDD. C (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 45 55 Type of SST field used: C 0 = climatology C 1 = 1/1 degree sst data C 2 = 2/2 degree sst data C C 46 56 Count of ICE fields used (n, say). C (NB. n maybe 0). C C 47 57-59 Date of first ICE field used; YYYYMMDD. C (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 48 60 First day satellite number (ICE data) C C 49 61-63 Date of second ICE field used ; YYYYMMDD. C (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 50 64 Second day satellite number (ICE data) C C 51 65-67 Date of third ICE field used ; YYYYMMDD. C (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 52 68 Third day satellite number (ICE data) C C C ... C C 45+(n*2) 53+(n*4) Date of nth field used; YYYYMMDD. C ->55+(n*4) (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 46+(n*2) 56+(n*4) Nth day satellite number (ICE data) C C Slots for dates are allocated 10 at a time, so some slots may be C empty (ie zero). Empty slots are not includedd in the count N. C C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/maxmn2.F0000755000175000017500000000653112127406245020257 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE MAXMN2(PARRAY,KLEN,PMISS,PMAX,PMIN) C C----> C**** MAXMN2 - Get max/minimum values, ignoring missing data value. C C Purpose. C -------- C C Get maximum and minimum values from an array of C floating point numbers, ignoring missing data value. C C** Interface. C ---------- C C CALL MAXMN2(PARRAY,KLEN,PMISS,PMAX,PMIN) C C Input Parameters. C ----------------- C C PARRAY - Array of numbers. C C KLEN - Last word of this array. C C PMISS - Value indicating missing data in array element. C C Output Parameters. C ------------------ C C PMAX - Maximum value. C PMIN - Minimum value. C C Method. C ------- C C Intrinsic functions MAX and MIN are used. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C None. C C Author. C ------- C C J. Hennessy ECMWF 18:06:91 C C Modifications. C -------------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C Exclude values from first loop in second search loop. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C IMPLICIT NONE C C Subroutine arguments C INTEGER KLEN REAL PARRAY, PMAX, PMIN, PMISS, VSMALL DIMENSION PARRAY(*) #ifndef __uxp__ C C Parameters C REAL JPSMALL #ifdef __alpha #ifdef REAL_8 PARAMETER (JPSMALL = 1E-307) #else PARAMETER (JPSMALL = 1E-37) #endif #else #ifdef REAL_8 PARAMETER (JPSMALL = 1E-308) #else PARAMETER (JPSMALL = 1E-38) #endif #endif #endif C C Local variables C INTEGER JLOOP, IOFF C C ---------------------------------------------------------------- C* Section 1 . Get maximum and minimum values. C ---------------------------------------------------------------- C 100 CONTINUE C C Set initial values to first data value which is not C a missing data indicator. C DO 110 JLOOP = 1 , KLEN IF (PARRAY(JLOOP).NE.PMISS) THEN PMAX = PARRAY(JLOOP) PMIN = PARRAY(JLOOP) IOFF = JLOOP GO TO 120 ENDIF 110 CONTINUE C 120 CONTINUE C C Extract maximum and minimum values. C DO 130 JLOOP = IOFF+1 , KLEN IF (PARRAY(JLOOP).NE.PMISS) THEN PMAX = MAX(PMAX,PARRAY(JLOOP)) PMIN = MIN(PMIN,PARRAY(JLOOP)) ENDIF 130 CONTINUE C C Adjust to an acceptable 'tiny' minimum C #ifdef __uxp__ VSMALL = TINY(PMIN) #else VSMALL = JPSMALL #endif IF( (PMIN.NE.0.0).AND.(ABS(PMIN).LT.VSMALL) ) X PMIN = SIGN(VSMALL,PMIN) C C ---------------------------------------------------------------- C* Section 9. Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/Makefile.shared0000755000175000017500000000103512127406245021645 0ustar amckinstryamckinstry# # Makefile for libemos/gribex # LIBRARY = ../lib$(LIB)$(R64).so # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # PROFILE=$(SHLIB) TARGETS = all clean # include sources.$(ARCH) # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(EXTRAOBJ) $(CC) $(DYNLINKFLAGS) $? -o $@ include make.dep clean: \rm -f $(OBJECTS) *.f emoslib-000392+dfsg.1/gribex/vod2uv.F0000755000175000017500000000731212127406245020300 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE VOD2UV(VOR,DIV,KTIN,U,V,KTOUT) C C----> C CL CALCULATE SPHERICAL HARMONIC COEFFICIENTS OF U*COS(LAT) AND CL V*COS(LAT) AT TRIANGULAR TRUNCATION KTOUT, GIVEN THE COEFFICIENTS CL OF DIVERGENCE AND VORTICITY AT TRUNCATION KTIN CL CL WHERE VOR(KDIM1)=INPUT ARRAY OF VORTICITY COEFFICIENTS CL DIV(KDIM1)=INPUT ARRAY OF DIVERGENCE COEFFICIENTS CL KTIN =INPUT TRIANGULAR TRUNCATION CL KDIM1 =(KTIN+1)*(KTIN+2) CL U(KDIM2) =OUTPUT ARRAY OF U*COS(LAT) COEFFICIENTS CL V(KDIM2) =OUTPUT ARRAY OF V*COS(LAT) COEFFICIENTS CL KTOUT =OUTPUT TRIANGULAR TRUNCATION (KTOUT.LE.KTIN) CL KDIM2 =(KTOUT+1)*(KTOUT+4) C C VERSION 1 5/1/81 JAN HASELER ECMWF C C VERSION 2 5/5/87 MODIFIED BY D. R. ROSKILLY C THIS MOD. DOES NOT CALCULATE THE EXTRA VALUES FOR C U AND V WINDS TO ALLOW VORT. AND DIV. TO BE RE-CALCULATED C IF REQUIRED. C C Version 3 15/2/88 routine renamed VOD2UV from DVTOUV. C C VERSION 4 21/8/91 MODIFIED BY K.RIDER C C THIS MOD. WAS MADE BECAUSE VERSION 2 WAS INCONSISTENTLY C TRUNCATING U AND V TO T(ITOUT-1). C NOW VORT. AND DIV. ARE CONSISTENTLY TRUNCATED TO T105 C AND U AND V ARE CALCULATED WITH TRUNCATION T(ITOUT),(WITH C ZERO VALUES AT THE CORNER. VORT. AND DIV. CAN BE RECALCULATED C IF REQUIRED, BUT ONLY TRUNCATED TO T(ITOUT) SINCE THE HIGHER C COEFFICIENTS HAVE BEEN LOST. C C----< C COMPLEX VOR(1),DIV(1),U(1),V(1),ZI C DD(PM,PN)=-SQRT((PN*PN-PM*PM)/(4.*PN*PN-1.))/PN SS(PM,PN)=-PM/(PN*(PN+1.)) C ZI=(0.,1.) REARTH=6.371E6 K=1 IMN=1 ITOUT=MIN0(KTOUT,KTIN) C CL 1.1 M C**** GBITMAP - Read bitmap from a file C C Purpose. C -------- C C Reads a bitmap from a file. C C** Interface. C ---------- C C IRET = GBITMAP(KNUM, KVALS, KNONMIS, KBTPTR, KBYTE) C C C Input Parameters. C ----------------- C C KNUM - The predetermined bitmap number (in range 0 to 999) C KBYTE - Number of bits in an INTEGER. C C Output Parameters. C ------------------ C C KVALS - The number of bits in the bitmap C KNONMIS - The number of non-missing points in the bitmap C KBTPTR - Pointer to the start of the bitmap C C Returns zero if all OK (otherwise an error). C C C Method. C ------- C C Opens a file containing the bitmap, allocates memory for the C bitmap, reads the bitmap into memory, and closes the file. C C If the bitmap number is the same as in the previous call, C the open/allocate/read sequence is skipped. C C The file pathname may be given by the environment variable C LOCAL_BITMAP_PATH, otherwise a hardcoded default pathname is used. C C C Externals. C ---------- C C PBOPEN - Opens the binary bitmap file C PBREAD - Reads the binary bitmap file C PBCLOSE - Closes the binary bitmap file C INXBIT - Extract values from bit-stream C JMALLOC - Routine to acquire memory C C C Reference. C ---------- C C None. C C C Comments. C --------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF Oct 1996 C C C Modifications. C -------------- C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.Clochard, Meteo France, for ECMWF - January 1998. C Use JMALLOC for all systems. C C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" #include "grbcom.h" C C Function arguments C INTEGER KNUM, KVALS, KNONMIS, KBYTE #ifdef POINTER_64 INTEGER*8 KBTPTR #else INTEGER*4 KBTPTR #endif C C Local variables C INTEGER IRET C C Predetermined bitmask variables C CHARACTER*256 HBTMASK INTEGER IBTMAP,IBTMASK,IBTSIZE,IBTSIZP,IBTOPEN,IBTVALS,NONMISS INTEGER IOFFSET #ifdef POINTER_64 INTEGER*8 IBTPTR #endif POINTER (IBTPTR,IBTMAP) DIMENSION IBTMAP(1) SAVE IBTPTR, IBTSIZP, IBTOPEN, IBTVALS, NONMISS C C External functions C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif EXTERNAL JMALLOC C DATA IBTSIZP/0/ DATA IBTOPEN/0/ C C ---------------------------------------------------------------- C Section 1 . Initialise. C ---------------------------------------------------------------- C 100 CONTINUE C C Clear return values KVALS = 0 KNONMIS = 0 KBTPTR = 0 C C Check the bitmap number is valid IF( (KNUM.LT.0) .OR. (KNUM.GT.999) ) THEN WRITE(GRPRSM,*) 'GBITMAP: Invalid bitmap number given = ', KNUM GBITMAP = 727 GOTO 900 ENDIF C C ---------------------------------------------------------------- C Section 2 . Open the bitmask file if first time. C ---------------------------------------------------------------- C 200 CONTINUE C IF( IBTOPEN.NE.KNUM ) THEN C C Build filename HBTMASK = ELBPATH IOFFSET = INDEX( HBTMASK, ' ') WRITE(HBTMASK(IOFFSET:IOFFSET+10),'(A8,I3.3)') X 'bitmask_', KNUM IOFFSET = INDEX( HBTMASK, ' ') C C Open the file CALL PBOPEN(IBTMASK,HBTMASK(1:IOFFSET-1),'r',IRET) IF( IRET.NE.0 ) THEN WRITE(GRPRSM,*) 'GBITMAP: Open predetermined bitmap failed' GBITMAP = 728 GOTO 900 ENDIF C C Read file size (number of bits) CALL PBREAD(IBTMASK,IBTSIZE,KBYTE,IRET) IF( IRET.NE.KBYTE ) THEN WRITE(GRPRSM,*) 'GBITMAP: Problem getting bitmap size' GBITMAP = 729 GOTO 900 ENDIF C C Get memory to read bitmask unless sufficient previously C allocated IBTVALS = IBTSIZE IBTSIZE = (IBTSIZE+8-1)/8 C C Check whether this bitmap is bigger than the previous C bitmap (if any) IF( IBTSIZE.GT.IBTSIZP ) THEN C C Return previously allocated memory (if any) IF( IBTSIZP.NE.0 ) CALL JFREE(IBTPTR) C C Get memory IBTPTR = JMALLOC(IBTSIZE) #ifdef hpR64 IBTPTR = IBTPTR/(1024*1024*1024*4) #endif IF( IBTPTR.EQ.0 ) THEN WRITE(GRPRSM,*) 'GBITMAP: Problem getting memory for bitmap' GBITMAP = 730 GOTO 900 ENDIF ENDIF C C Read number of non-missing points CALL PBREAD(IBTMASK,NONMISS,KBYTE,IRET) IF( IRET.NE.KBYTE ) THEN WRITE(GRPRSM,*) X 'GBITMAP: Problem getting no. non-missing points' GBITMAP = 731 GOTO 900 ENDIF C C Read the bitmap CALL PBREAD(IBTMASK,IBTMAP,IBTSIZE,IRET) IF( IRET.NE.IBTSIZE ) THEN WRITE(GRPRSM,*) 'GBITMAP: Problem reading bitmap' GBITMAP = 732 GOTO 900 ENDIF C C Close the bitmap file CALL PBCLOSE(IBTMASK,IRET) IF( IRET.NE.0 ) THEN WRITE(GRPRSM,*) 'GBITMAP: Problem closing bitmap file' GBITMAP = 733 GOTO 900 ENDIF C IBTOPEN = KNUM C ENDIF C C Setup return values KVALS = IBTVALS KNONMIS = NONMISS KBTPTR = IBTPTR GBITMAP = 0 C C ---------------------------------------------------------------- C Section 9 . Closedown. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN END #endif emoslib-000392+dfsg.1/gribex/ecloc1.F0000755000175000017500000001354712127406245020230 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECLOC1(HFUNC,KSEC1,KGRIB,KNSPT,KBITS,KRET) C C----> C**** ECLOC1 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use of Section 1. C C** Interface. C ---------- C C CALL ECLOC1(HFUNC,KSEC1,KGRIB,KNSPT,KBITS,KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C KSEC1 - Array containing Grib Section 1 data. C KGRIB - Array containing Grib coded data. C KNSPT - Bit number after which insertion or C extraction starts. C KBITS - Number of bits in computer word. C C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KNSPT - Number of bit after last one inserted or C extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Invalid local use definition. C 2 , Error reported by routine INXBIT. C 3 , 3d or 4d analysis not implemented. C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code. C C C Externals. C ---------- C C INXBIT - insert/extract bit data C ABORTX - abort program C CSGNBT - encode sign bit C DSGNBT - decode sign bit C ELDEFS - encode ECMWF section 1, local usage definitions C DLDEFS - decode ECMWF section 1, local usage definitions #ifdef LITTLE_ENDIAN C SWAP4 - swap order of characters in the experiment version #endif C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C None. C C C Author. C ------- C C J. Hennessy ECMWF 03:11:92. C C C Modifications. C -------------- C C J. Hennessy ECMWF 21:05:93. C Additional parameter KPLEN added. Local usage definitions C 3 and 4 added. C C J.D.Chambers ECMWF 18:10:93. C Local usage definition 5 added. C C J.D.Chambers ECMWF 12.05.94 C ECMWF local usage definition 7 added. C (Sensitivity gradient/Trajectory forecast data). C Change to use CSGNBT and DSGNBT to code and decode sign bits C C J.D.Chambers ECMWF 02.06.94 C Fix handling of local use section 1 for MARS labelling C C J.D.Chambers ECMWF 11.11.94 C Fix overwrite of constant zero C C J.D.Chambers ECMWF 18.01.95 C Use subroutine calls (ECDEF1, ... ) to handle ECMWF C section 1 local usage definitions. C C J.D.Chambers ECMWF September 2004 C Use ELDEFS and DLDEFS to handle ECMWF C section 1 local usage definitions. C C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grbcom.h" #include "grprs.h" C C Subroutine arguments C CHARACTER*(*) HFUNC INTEGER KSEC1, KGRIB, KNSPT, KBITS, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Parameter(s) C INTEGER JPBITS #ifdef INTEGER_8 PARAMETER ( JPBITS = 64 ) #else PARAMETER ( JPBITS = 32 ) #endif C C Local variables C INTEGER ILEN, LOOP, ITEMP(1000), NUMBYTS, NUMVALS, IOFFSET INTEGER NUMBER C LOGICAL LENCODE, LDEBUG C C Function(s) C INTEGER LDEFNUM C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C LDEBUG = (NDBG.GE.1) C IF( LDEBUG ) THEN WRITE(GRPRSM,*) 'ECLOC1: Section 1.' WRITE(GRPRSM,*) ' Input values used -' WRITE(GRPRSM,*) ' HFUNC = ', HFUNC WRITE(GRPRSM,*) ' KNSPT = ', KNSPT ENDIF C C Reset return code to 0. C KRET = 0 C LENCODE = ( HFUNC(1:1).EQ.'C' ) C C -----------------------------------------------------------------| C* Section 2 . Check input parameters. C -----------------------------------------------------------------| C 200 CONTINUE C IF( LDEBUG ) WRITE(GRPRSM,*) 'ECLOC1: Section 2.' C IOFFSET = 1 + (KNSPT / KBITS) C C KWBC non-ensemble products have: C ksec1( 2) = 7 (originating centre = KWBC) C ksec1(22) = 98 (subcentre = ECMWF) C For these, an ECMWF local definition applies. C IF( LENCODE ) THEN NUMBER = KSEC1(2)*1000000 + KSEC1(22)*1000 + KSEC1(37) CALL ELDEFS(NUMBER,KSEC1(37),KGRIB(IOFFSET),NUMVALS,NUMBYTS) IF( NUMBYTS.LE.0 ) THEN KRET = 1 GOTO 900 ENDIF NUMBYTS = NUMBYTS + 40 CALL ISEC1L(KGRIB,NUMBYTS) NUMBYTS = NUMBYTS - 40 ELSE NUMBER = LDEFNUM(KSEC1(2),KSEC1(22),KGRIB(IOFFSET)) CALL DLDEFS(NUMBER,KGRIB(IOFFSET),KSEC1(37),NUMVALS,NUMBYTS) IF( NUMBYTS.LE.0 ) THEN KRET = 1 GOTO 900 ENDIF ENDIF KNSPT = KNSPT + (NUMBYTS*8) C C -----------------------------------------------------------------| C* Section 9 . Abort/return to calling routine. Format statements. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/sencode1.c0000755000175000017500000000227512127406245020614 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "gdecode.h" #include "sencode.h" #include "sencode1.h" fortint IS1NUMB(gribProduct ** grib, fortint * number) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==1) ) ) return (fortint) -1; MOVE1BYTE(((g->g1)->local.contents.def1.number),number); return 0; } fortint RS1NUMB(gribProduct ** grib, fortdouble *number) { fortint Number = (fortint) *number; return IS1NUMB(grib,&Number); } fortint IS1TOTL(gribProduct ** grib, fortint * total) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==1) ) ) return (fortint) -1; MOVE1BYTE(((g->g1)->local.contents.def1.total),total); return 0; } fortint RS1TOTL(gribProduct ** grib, fortdouble *total) { fortint Total = (fortint) *total; return IS1TOTL(grib,&Total); } emoslib-000392+dfsg.1/gribex/decops.F0000755000175000017500000005046612127406245020340 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DECOPS (NAME,CHDATA,ILENCH,FPDATA,ILENFP,INDATA,ILENIN, C NBYTE,LGDATA,ILENLG,IB1PAR,IPSCOD,ILENPS, C JLENCH,JLENFP,JLENIN,JLENLG,IRSERV,NBIT,IWORD, C IERR ) C C----> C* C* NAME : DECOPS C* C* FUNCTION : DECODE PSEUDO-GRIB CODED DATA. C* C* INPUT : NBIT - NUMBER OF BITS IN COMPUTER WORD C* C* IPSCOD - INTEGER ARRAY OF DATA IN PSEUDO-GRIB CODE. C* ILENPS - LENGTH OF ARRAY IPSCOD. C* C* CHDATA - CHARACTER VARIABLE TO RECEIVE DECODED C* CHARACTER DATA. C* ILENCH - LENGTH OF THIS VARIABLE C* C* FPDATA - REAL ARRAY TO RECEIVE DECODED F.P. VALUES. C* ILENFP - LENGTH OF THIS ARRAY. C* C* INDATA - INTEGER ARRAY TO RECEIVE DECODED INTEGERS C* ILENIN - LENGTH OF THIS ARRAY. C* C* LGDATA - LOGICAL ARRAY TO RECEIVE DECODED LOGICALS C* ILENLG - LENGTH OF THIS ARRAY. C* C* IF ANY LENGTH (ILENCH,-FP,-IN,-LG) IS SET C* TO 1, ONLY BLOCK 0 AND BLOCK 1 ARE DECODED. C* C* IB1PAR - INTEGER ARRAY (DIMENSION 18) TO RECEIVE C* DATA DEFINITION INFORMATION. C* C* C* OUTPUT : PARAMETER FROM BLOCK 0 C* ---------------------- C* C* NAME - CHARACTER VARIABLE, 4 LETTERS OF CODE NAME. C* C* C* PARAMETERS FROM BLOCK 1 , PRODUCT DEFINITION BLOCK. C* -------------------------------------------------- C* C* IB1PAR - INTEGER ARRAY (DIMENSION 18) OF DATA C* DEFINITION INFORMATION. C* C* WORD CONTENTS C* ---- -------- C* 1 ORIGINATING CENTRE IDENTIFIER. C* 2 MODEL IDENTIFICATION. C* 3 GRID DEFINITION. C* 4 FLAG ( CODE TABLE 1) C* 5 PARAMETER IDENTIFIER ( CODE TABLE 2 ). C* 6 TYPE OF LEVEL (CODE TABLE 3). C* 7-8 VALUE(S) OF LEVELS (CODE TABLE 3). C* 9 YEAR OF DATA C* 10 MONTH OF DATA C* 11 DAY OF DATA C* 12 HOUR OF DATA C* 13 MINUTE OF DATA C* 14 TIME UNIT (CODE TABLE 4). C* 15 TIME RANGE ONE C* 16 TIME RANGE TWO C* 17 TIME RANGE FLAG (CODE TABLE 5). C* 18 NUMBER AVERAGED. C* C* VALUE(S) OF LEVEL CAN OCCUPY 2 WORDS.. C* FOR A LAYER THE FIRST WORD DEFINES THE TOP C* AND THE SECOND THE BOTTOM OF THE LAYER. C* FOR A SINGLE LEVEL, ONLY THE FIRST WORD IS C* USED. C* C* C* C* PARAMETERS FROM BLOCK 4 , BINARY DATA BLOCK. C* ------------------------------------------- C* C* CHDATA - UNPACKED CHARACTER DATA C* JLENCH - NUMBER OF CHARACTERS. NEGATIVE IF C* MISSING DATA CODED. C* C* FPDATA - ARRAY OF FLOATING POINT VALUES. C* JLENFP - NUMBER OF VALUES IN THIS ARRAY. C* JLENFP IS NEGATIVE IF MISSING DATA CODED C* C* INDATA - ARRAY OF INTEGER VALUES. C* JLENIN - NUMBER OF VALUES IN THIS ARRAY. C* JLENIN IS NEGATIVE IF MISSING DATA CODED C* C* LGDATA - ARRAY OF LOGICAL VALUES. C* JLENLG - NUMBER OF VALUES IN THIS ARRAY. C* JLENLG IS NEGATIVE IF MISSING DATA CODED C* C* NBYTE - NUMBER OF BYTES FOR INTEGER VALUES. C* C* IRSERV - NUMBER OF BYTES IN DATA BLOCK RESERVED C* FOR FUTURE USE. C* C* C* OTHER PARAMETERS. C* ---------------- C* C* IWORD - NUMBER OF WORDS DECODED. C* C* IERR - ERROR INDICATOR. C* C* 0, NO ERROR. C* C* -2, INPUT ARRAY HOLDS FEWER CODED VALUES C* THAN EXPECTED. C* -3, OUTPUT ARRAY/VARIABLE TOO SMALL TO HOLD C* DECODED DATA VALUES. C* -4, CURRENTLY UNDEFINED OPTION SELECTED. C* C* 1, NO BLOCK 5 FOUND. C* C* GENERAL : DECOPS CALLS GBYTE C* GBYTES C* OFFSET C* DECFP C* C* AUTHOR : J.HENNESSY 23.01.86 C* C* MODIFIED : J.HENNESSY 06.06.86 C* " 21.08.86 C* C* J.Hennessy 17.09.90 C* Lower case letters as well as the characters C* _ - . , added. C* C --------------------------------------------------------------- C----> C C PARAMETER (NCHAR=67) C C LOGICAL LGDATA CHARACTER*4 NAME CHARACTER*1 CHAR CHARACTER*(*) CHDATA C C C DIMENSION FPDATA(*),INDATA(*),LGDATA(*) DIMENSION IPSCOD(ILENPS),IBLOCK(24),IB1PAR(18) DIMENSION IASCII(NCHAR) DIMENSION CHAR(NCHAR) C C DATA IASCII /65 ,66 ,67 ,68 ,69 ,70 ,71 ,72 ,73 ,74 ,75 ,76 ,77 , C 78 ,79 ,80 ,81 ,82 ,83 ,84 ,85 ,86 ,87 ,88 ,89 ,90 , C 48 ,49 ,50 ,51 ,52 ,53 ,54 ,55 ,56 ,57 ,32 , C 97 ,98 ,99 ,100,101,102,103,104,105,106,107,108,109, C 110,111,112,113,114,115,116,117,118,119,120,121,122, C 95 ,46 ,44 , 45 / C DATA CHAR /'A','B','C','D','E','F','G','H','I','J','K','L','M', C 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z', C '0','1','2','3','4','5','6','7','8','9',' ', C 'a','b','c','d','e','f','g','h','i','j','k','l','m', C 'n','o','p','q','r','s','t','u','v','w','x','y','z', C '_','.',',','-' / C C C C C C IERR = 0 C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 0 - INDICATOR BLOCK. C* C******************************************************************** C C C EXTRACT 4 OCTETS CONTAINING ASCII NAME. C IWORD = 1 IOFF = 0 IBYTE = 8 NVAL = 4 C CALL GBYTES (IPSCOD(1),IBLOCK(1),0,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C DO 100 I=1,36 IF (IBLOCK(1).EQ.IASCII(I)) NAME(1:1) = CHAR(I) IF (IBLOCK(2).EQ.IASCII(I)) NAME(2:2) = CHAR(I) IF (IBLOCK(3).EQ.IASCII(I)) NAME(3:3) = CHAR(I) IF (IBLOCK(4).EQ.IASCII(I)) NAME(4:4) = CHAR(I) 100 CONTINUE C C C C C C C******************************************************************** C* C* BLOCK 1 - PRODUCT DEFINITION BLOCK. C* C******************************************************************** C C C EXTRACT FIRST 4 OCTETS OF BLOCK 1. C NVAL = 4 C CALL GBYTES (IPSCOD(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C IF THESE OCTETS DO NOT CONTAIN 0, 0, 24 AND 0 RESPECTIVELY C THEN THE DATA IS IN THE OLD VERSION OF THE CODE. C IF (IBLOCK(1).EQ.0.AND.IBLOCK(2).EQ.0.AND.IBLOCK(3).EQ.24. C AND.IBLOCK(4).EQ.0) C THEN ISNEW = 1 NVAL = 20 ELSE ISNEW = 0 NVAL = 16 ENDIF C C EXTRACT NEXT 16 OR 20 OCTETS OF BLOCK 1 - NUMBER DEPENDS C ON VERSION OF CODE. C CALL GBYTES (IPSCOD(IWORD),IBLOCK(5),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C TRANSFER PRODUCT DEFINITION INFORMATION TO OUTPUT ARRAY. C EXCEPT FOR NUMBER AVERAGED. C DO 200 I=1,17 IB1PAR(I) = IBLOCK(I+4*ISNEW) 200 CONTINUE C C WRITE(*,*) ' ' WRITE(*,*) ' ******************************************' WRITE(*,*) ' ******************************************' WRITE(*,*) ' ** **' WRITE(*,*) ' ** DECOPS is not Year-2000 compliant; **' WRITE(*,*) ' ** dates are returned as 2 digits. **' WRITE(*,*) ' ** **' WRITE(*,*) ' ** Please switch to using DECOPS2 which **' WRITE(*,*) ' ** returns dates as 4 digits in the **' WRITE(*,*) ' ** range 1900 upwards. **' WRITE(*,*) ' ** **' WRITE(*,*) ' ** DECOPS will be set to abort after **' WRITE(*,*) ' ** January 1999. **' WRITE(*,*) ' ** **' WRITE(*,*) ' ******************************************' WRITE(*,*) ' ******************************************' WRITE(*,*) ' ' C C C NUMBER AVERAGED OCCUPIES 2 OCTETS. C IB1PAR(18) = IBLOCK(18+4*ISNEW) * 256 + IBLOCK(19+4*ISNEW) C C C C C C*** C* DESCRIPTION OF LEVEL OR LAYER ( CODE TABLE 3 ). C*** C C CERTAIN LEVEL TYPES REQUIRE THAT THE DESCRIPTION OCCUPY C BOTH 8 BIT FIELDS. PUT SINGLE VALUE IN FIRST LEVEL WORD. C KTEMP = 32 + (ISNEW*224) IF ((IB1PAR(6).EQ. 20).OR. X (IB1PAR(6).EQ.100).OR. X (IB1PAR(6).EQ.103).OR. X (IB1PAR(6).EQ.105).OR. X (IB1PAR(6).EQ.107).OR. X (IB1PAR(6).EQ.109).OR. X (IB1PAR(6).EQ.111).OR. X (IB1PAR(6).EQ.113).OR. X (IB1PAR(6).EQ.115).OR. X (IB1PAR(6).EQ.117).OR. X (IB1PAR(6).EQ.125).OR. X (IB1PAR(6).EQ.160) ) THEN IB1PAR(7) = IB1PAR(7) * KTEMP + IB1PAR(8) IB1PAR(8) = 0 ENDIF C C C C C C C C C C*** C* TIME RANGE. C*** C C ONE TIME RANGE CAN OCCUPY TWO OCTETS. C IF (IB1PAR(17).EQ.10) C THEN IB1PAR(15) = IB1PAR(15) * KTEMP + IB1PAR(16) IB1PAR(16) = 0 ENDIF C C C C C C C C C C*** C* CHECK IF DECODING OF ONLY BLOCKS 0 AND 1 HAS BEEN REQUESTED. C*** C IF (ILENFP.EQ.1.OR.ILENIN.EQ.1.OR.ILENLG.EQ.1) RETURN IF (ILENCH.EQ.1) RETURN C C C C C C C C C C C******************************************************************** C* C* BLOCK 4 - BINARY DATA BLOCK. C* C******************************************************************** C C C C*** C* GET LENGTH OF BINARY DATA BLOCK. C*** C C IPW = IWORD IPB = IOFF C CALL GBYTE (IPSCOD(IWORD),LBIN,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C*** C* OCTET 4 IS RESERVED. C* (IT IS USED IN OLDER VERSIONS OF BUDGET VALUE RECORDS AND C* IT GIVES THE STARTING OCTET ADDRESS OF LOGICAL VALUES, A C* FIXED VALUE OF 34 OR 38) C*** C CALL GBYTE (IPSCOD(IWORD),ISTLG,IOFF,8) IOLDBV = 0 IF (ISTLG.EQ.34.OR.ISTLG.EQ.38) IOLDBV = 1 C C CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C*** C* OCTET 5 - MISSING DATA FLAG. (IN OLDER VERSIONS OF BUDGET VALUE C* RECORD IT GIVES STARTING OCTET ADDRESS OF INTEGER VALUES) C*** C CALL GBYTE (IPSCOD(IWORD),IMISS,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (IOLDBV.EQ.1) C THEN ISTIN = IMISS IMISS = 0 ENDIF C C C C C C C C*** C* OCTETS 6-7 IN OLDER VERSIONS OF BUDGET VALUE RECORDS GIVE C* STARTING BYTE ADDRESS OF FLOATING POINT VALUES SECTION. C* OCTETS 8-9 GIVING THE LENGTH OF THE FLOATING POINT DATA C* SECTION IN OCTETS. C*** C IF (IOLDBV.EQ.1) C THEN CALL GBYTE (IPSCOD(IWORD),ISTFP,IOFF,16) CALL OFFSET (IOFF,1,IWORD,16,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C CALL GBYTE (IPSCOD(IWORD),LENFP,IOFF,16) CALL OFFSET (IOFF,1,IWORD,16,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C NUMBER OF FLOATING POINT VALUES. C 4 BYTES PER FLOATING POINT NUMBER. C JLENFP = LENFP / 4 C C NUMBER OF LOGICAL VALUES. C JLENLG = ISTIN - ISTLG C C NUMBER OF INTEGER VALUES. C 2 OCTETS PER INTEGER. C NBYTE = 2 IBITS = NBYTE * 8 JLENIN = ( ISTFP - ISTIN ) / NBYTE C C NO CHARACTER DATA IN OLD FORMAT. C JLENCH = 0 C C CHECK NUMBERS OF DATA ITEMS AGAINST DIMENSIONS C OF TARGET ARRAYS. C IF (JLENFP.GT.ILENFP) C THEN IERR = -3 WRITE (*,9001) JLENFP ENDIF C IF (JLENLG.GT.ILENLG) C THEN IERR = -3 WRITE (*,9002) JLENLG ENDIF C IF (JLENIN.GT.ILENIN) C THEN IERR = -3 WRITE (*,9003) JLENIN ENDIF C IF (IERR.NE.0) RETURN C C NOW WE GO AROUND THE HOUSES AS THIS OLD DATA C HAS THE DIFFERENT DATA TYPES STORED IN A DIFFERENT C ORDER. C C LOGICAL VARIABLES FIRST. C GO TO 450 C ENDIF C C C C C C C*** C* OCTET 6 - NUMBER OF BYTES PER INTEGER. C*** C CALL GBYTE (IPSCOD(IWORD),NBYTE,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IBITS = NBYTE * 8 C C C C C C C C*** C* OCTETS 7-8 ARE RESERVED. C*** C CALL OFFSET (IOFF,2,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C*** C* OCTETS 9-11 - NUMBER OF CHARACTERS IN CHARACTER SECTION. C*** C CALL GBYTE (IPSCOD(IWORD),JLENCH,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (JLENCH.GT.ILENCH) C THEN IERR = -3 WRITE (*,9004) JLENCH RETURN ENDIF C C C C C C C C C*** C* OCTETS 12-14 , NUMBER OF FLOATING POINT VALUES. C*** C CALL GBYTE (IPSCOD(IWORD),JLENFP,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (JLENFP.GT.ILENFP) C THEN IERR = -3 WRITE (*,9001) JLENFP RETURN ENDIF C C C C C C C C C C*** C* OCTETS 15-17 , NUMBER OF INTEGER VALUES. C*** C CALL GBYTE (IPSCOD(IWORD),JLENIN,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (JLENIN.GT.ILENIN) C THEN IERR = -3 WRITE (*,9003) JLENIN RETURN ENDIF C C C C C C C C C C*** C* OCTETS 18-20 , NUMBER OF LOGICALS. C*** C CALL GBYTE (IPSCOD(IWORD),JLENLG,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (JLENLG.GT.ILENLG) C THEN IERR = -3 WRITE (*,9002) JLENLG RETURN ENDIF C C C C C C C C C C*** C* OCTETS 21-23 , NUMBER OF RESERVED OCTETS. C*** C CALL GBYTE (IPSCOD(IWORD),IRSERV,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C*** C* OCTETS 24-32 ARE RESERVED C*** C CALL OFFSET (IOFF,9,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C*** C* OCTET 33- ,GET FLOATING POINT NUMBERS AND CONVERT. C*** C 250 CONTINUE C IF (JLENFP.NE.0) C THEN C DO 300 I=1,JLENFP CALL GBYTE (IPSCOD(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IPSCOD(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN CALL DECFP (FPDATA(I),IEXP,IMANT) 300 CONTINUE C ENDIF C C NO CHARACTER DATA IN OLD BUDGET VALUE RECORDS. C IF (IOLDBV.EQ.1) GO TO 550 C C C C C C C C C C*** C* GET INTEGER VALUES. C*** C 350 CONTINUE C IF (JLENIN.NE.0) C THEN C C SET UP MASK FOR NEGATIVE NUMBERS C NEGSIN = 2 ** (IBITS-1) C C MAXIMUM SIZE INTEGER IN GIVEN FIELD WIDTH. C MAXINT = NEGSIN - 1 C DO 400 I=1,JLENIN CALL GBYTE (IPSCOD(IWORD),KTEMP,IOFF,IBITS) CALL OFFSET (IOFF,1,IWORD,IBITS,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C HANDLE NEGATIVE NUMBERS C IF (KTEMP.GT.MAXINT) C THEN KTEMP = KTEMP - NEGSIN KTEMP = - KTEMP ENDIF C INDATA(I) = KTEMP 400 CONTINUE C ENDIF C C C FOR OLDER BUDGET VALUES OUR LAST STOP IS FOR FLOATING POINT C VALUES. C IF (IOLDBV.EQ.1) GO TO 250 C C C C*** C* GET LOGICALS AND CONVERT. C*** C 450 CONTINUE C IF (JLENLG.NE.0) C THEN C DO 500 I=1,JLENLG CALL GBYTE (IPSCOD(IWORD),KTEMP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C LGDATA(I) = .FALSE. IF (KTEMP.EQ.1) LGDATA(I) = .TRUE. 500 CONTINUE C ENDIF C C C FOR OLD BUDGET VALUE VERSION WE JUMP AGAIN. C NEXT STOP ON TOUR IS FOR INTEGER VALUES. C IF (IOLDBV.EQ.1) GO TO 350 C C C C C C C C C C C C C*** C* GET CHARACTER DATA. C*** C IF (JLENCH.NE.0) C THEN DO 530 I=1,JLENCH CALL GBYTE (IPSCOD(IWORD),KTEMP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN DO 525 J=1,NCHAR IF (KTEMP.EQ.IASCII(J)) C THEN CHDATA(I:I) = CHAR(J) GO TO 530 ENDIF 525 CONTINUE IERR = -6 WRITE (*,9016) 9016 FORMAT (1H ,'DECOPS : Character data contains other ', C 'than _ - . , letters, figures or spaces.') RETURN 530 CONTINUE ENDIF C C C C C C C C*** C* RESERVED BYTES IN DATA BLOCK. C*** C CALL OFFSET (IOFF,IRSERV,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C*** C* SKIP ANY ZERO FILL AT END OF DATA BLOCK. C*** C 550 CONTINUE C L = (IWORD-IPW) * NBIT + IOFF -IPB L = LBIN * 8 - L IF (L.NE.0) C THEN CALL OFFSET (IOFF,1,IWORD,L,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN ENDIF C C C C C******************************************************************** C* C* BLOCK 5 - END BLOCK. C* C******************************************************************** C C CHECK 7 7 7 7 AT END OF CODED DATA. C C CALL GBYTES (IPSCOD(IWORD),IBLOCK(1),IOFF,8,0,4) C C 55 IS THE VALUE OF ASCII CHARACTER '7' C DO 600 I=1,4 IF (IBLOCK(I).NE.55) IERR = 1 600 CONTINUE C IF (IERR.EQ.1) WRITE (*,*) ' NO 7777 GROUP FOUND ' C C C C SET NUMBER OF VALUES NEGATIVE, IF MISSING DATA VALUES. C IF (IMISS.GE.8) C THEN JLENCH = -JLENCH IMISS = IMISS - 8 ENDIF C IF (IMISS.GE.4) C THEN JLENFP = -JLENFP IMISS = IMISS - 4 ENDIF C IF (IMISS.GE.2) C THEN JLENIN = -JLENIN IMISS = IMISS - 2 ENDIF C IF (IMISS.EQ.1) JLENLG = -JLENLG C C RETURN C 9001 FORMAT (1H ,'DECOPS : Target real array must be at least ', C I10,' words long.') C 9002 FORMAT (1H ,'DECOPS : Target logical array must be at least ', C I10,' words long.') C 9003 FORMAT (1H ,'DECOPS : Target integer array must be at least ', C I10,' words long.') C 9004 FORMAT (1H ,'DECOPS : Target character string must be at least ', C I10,' characters long.') C C END emoslib-000392+dfsg.1/gribex/grprs.h0000755000175000017500000000104312127406245020245 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C Common blocks holding default or user supplied values for printing. C LOGICAL GRPRSET INTEGER GRPRSM C COMMON /GRPRSCM/ GRPRSM, GRPRSET emoslib-000392+dfsg.1/gribex/emoslibVersion.c0000755000175000017500000000077012127406245022111 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /* // Creates a global variable which is visible using 'nm'. */ extern char * LIBEMOS_000200 = "LIBEMOS_000200"; emoslib-000392+dfsg.1/gribex/sbytes.F0000755000175000017500000000413412127406245020363 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SBYTES (D,S,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C----> C**** SBYTES - Insert a number of bit fields. Cray routine. C C REVERSES THE ACTION OF GBYTES, TAKING FIELDS FROM S AND C INSERTING THEM INTO A BIT STRING IN D. SEE GBYTES. C AUTHOR D. ROBERTSON AUG,1981 C C----< PARAMETER(NBPW=64) DIMENSION D(2) , S(NBYTES) INTEGER SH1,SH2,SH3 IGNORE = 0 #ifdef CRAY IF(NUMARG().GT.6) IGNORE = KWOFF #else IF(NUMARG(DUMMY).GT.6) IGNORE = KWOFF #endif ID=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION KNOWN, THE C DESIRED INSERTION CAN BE DONE BY C** CALL SBYTE(D(ID),S(IBYTE),ISKIP,IBSIZ) C BUT THE CODE IS SHORT ENOUGH TO GO IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 SH2 = NBPW-SH1 IF(SH2.LT.0) SH2 = NBPW-SH2 C BYTE GOES INTO 1 WORD OF D. D(ID) = SHIFT(OR(AND(SHIFT(D(ID),SH1),MASK(NBPW-IBSIZ)), 1 AND(S(IBYTE),SHIFT(MASK(IBSIZ),IBSIZ))),SH2) GO TO 65 50 CONTINUE C BYTE GOES INTO 2 WORDS OF D. SH3 = 2*NBPW-SH1 D(ID)=OR(AND(D(ID),MASK(ISKIP)), 1 AND(SHIFT(S(IBYTE),SH3),COMPL(MASK(ISKIP)))) D(ID+1)=OR(AND(D(ID+1),SHIFT(COMPL(MASK(SH1-NBPW)),NBPW-IGNORE) 1 ), 2 SHIFT(AND(S(IBYTE),COMPL(MASK(SH3))),SH3-IGNORE)) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP = ISKIP - NBPW ID = ID+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/sources.CRAY0000755000175000017500000000705112127406245021107 0ustar amckinstryamckinstry# # Sources for libemos/gribex on CRAY. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ blckcr.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ gbyte.F \ gbytes.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gsbite.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ sbyte.F \ sbytes.F \ scm0.F \ setpar.F \ sort.F \ sortf.F \ tab2fil.F \ u2l1cr.F \ unbkin.F \ unbkout.F \ unblock.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/bufrin.F0000755000175000017500000000241312127406245020335 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C subroutine bufrin(kunit,karray,kinlen,koutlen,keof,kret) C----> C C This subroutine mimics the behaviour of the original BUFRIN C but makes a call to PBBUFR to retrieve BUFR products. C C----< integer icalls data icalls/0/ C C First time through, print a warning message if (icalls .eq. 0) then icalls = icalls + 1 write(*,*) ' *********************************************' write(*,*) ' *********************************************' write(*,*) ' You are using an obsolete subroutine (BUFRIN)' write(*,*) ' for retrieving BUFR products.' write(*,*) ' Please change to using PBBUFR.' write(*,*) ' *********************************************' write(*,*) ' *********************************************' endif C call pbbufr(kunit,karray,kinlen,koutlen,kret) if ( kret .eq. -3) then write(*,*) ' Buffer not big enough for BUFR product' kret = -5 endif C return end emoslib-000392+dfsg.1/gribex/sources.decmips0000755000175000017500000000660012127406245021774 0ustar amckinstryamckinstry# # Sources for libemos/gribex for decmips. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/ecdef8.h0000755000175000017500000000172512127406245020255 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 8. C C ECMWF re-analysis data C ---------------------- C C C Word C ---- C 38 as for definition 1. C C 39 Type. C C 40 Stream. C C 41 as for definition 1. C C 42-54 Unsigned integers in range (0-255) C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/btcyber.special0000755000175000017500000004676412127406245021756 0ustar amckinstryamckinstry SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES6 C GBYTES6 C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C Cyber version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) C CHARACTER*1 HFUNC C C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES6 (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES6 (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C ABORT C C Reference. C ---------- C C None. C C Comments. C --------- C C Cyber version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL ABORT ('US',0,' ') C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C Cyber version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 64 KNEG = -9223372036854775807 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END SUBROUTINE GBYTE(SOURCE,DEST,IOFSET,IBYTSZ) C C**** GBYTE - Get a single bit field from SOURCE into DEST on Cyber. C C* INPUT : SOURCE(1)= WORD CONTAINING START OF BIT FIELD C* DEST = TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST CONTAINS FIELD RIGHT JUSTIFIED C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* C***** INTEGER SOURCE(1),DEST INTEGER SH1 NBPW=64 SH1=IOFSET+IBYTSZ-NBPW IF(SH1.GT.0) GO TO 2 C BYTES DO NOT SPAN WORDS SH1=NBPW+SH1 DEST=AND( 1 SHIFT(SOURCE(1),SH1), 2 SHIFT(MASK(IBYTSZ),IBYTSZ) 3 ) RETURN C BYTE SPANS WORDS 2 CONTINUE DEST=OR( 1 SHIFT( 2 AND(SOURCE(1),COMPL(MASK(IOFSET))) 3 ,SH1), 4 SHIFT( 5 AND(SOURCE(2),MASK(SH1)) 6 ,SH1) 7 ) RETURN END SUBROUTINE GBYTES(S,D,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C**** GBYTES - Cyber version. C C S CONTAINS A BIT STRING OF INDEFINITE LENGTH. GBYTES WILL C EXTRACT NBYTES BITSTRINGS, IBSIZ BITS LONG, AND STORE THEM C RIGHT JUSTIFIED 0 FILL, INTO SUCCESSIVE WORDS OF D. THE C SUCCESSIVE BITSTRINGS START AT BIT POSITIONS C ISKIP1+1+(IBYTE-1)*(IBSIZ+ISKIP2) C IN THE BIT STRING S. I.E. SKIP ISKIP1 BITS AT THE START, C AND ISKIP2 BITS BETWEEN THE EXTRACTED STRINGS. C BIT ISKP+1 IN A STRING IS FOUND IN WORD IS=1+ISKIP/NBPW IN S, C WHERE NBPW IS THE NUMBER OF BITS PER WORD. THE STARTING BIT C IS FOUND BY SKIPPING MOD(ISKP,NBPW) BITS IN THAT WORD. C KWOFF IS AN OPTIONAL 7TH PARAMETER, WHICH DEFAULTS TO 0 C IF PRESENT KWOFF BITS ARE TOTALLY IGNORED AT THE START OF A WORD C THUS IF A PACKED CYBER BIT STRING IS TRANSFERRED TO THE C CRAY, WITH EACH 60 BIT CYBER WORD PLACED AT THE RIGHT END OF C A 64 BIT CRAY WORD, A BYTE SEQUENCE WHICH WAS ORIGINALLY C LOCATED WITH START POINTS IN ARITHMETIC PROGRESSION ON THE C CYBER, WILL NO LONGER HAVE THIS PROPERTY ON THE CRAY. BY C USING THE ROUTINE WITH KWOFF=4, THE ELEMENTS OF THE BYTE C SEQUENCE CAN BE EXTRACTED ON THE CRAY, USING THE SAME SKIPS C AS WERE USED ON THE CYBER. DIMENSION S(2) , D(NBYTES) INTEGER SH1 ENTRY GBYTES7 (S,D,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) IGNORE = KWOFF GO TO 10 ENTRY GBYTES6 (S,D,ISKIP1,IBSIZ,ISKIP2,NBYTES) IGNORE = 0 10 CONTINUE NBPW=64 IS=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION DETERMINED, THE C DESIRED EXTRACTION CAN BE DONE BY C*** CALL GBYTE(S(IS),D(IBYTE),ISKIP,IBSIZ) C BUT SINCE THE CODE IS SHORT IT IS INSERTED IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 C BYTE COMES FROM 1 WORD OF S D(IBYTE) = AND( SHIFT(S(IS),SH1),SHIFT(MASK(IBSIZ),IBSIZ)) GO TO 65 50 CONTINUE SH1 =SH1-NBPW C BYTE COMES FROM 2 WORDS OF S. D(IBYTE) = OR(SHIFT(AND(S(IS),COMPL(MASK(ISKIP))),SH1) 1 , 2 SHIFT(AND(SHIFT(S(IS+1),IGNORE),MASK(SH1)),SH1) 3 ) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP =ISKIP-NBPW IS = IS+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END SUBROUTINE SBYTE(DEST,SOURCE,IOFSET,IBYTSZ) C C**** GBYTE - Store a single bit field from SOURCE into DEST on Cyber. C C* INPUT : SOURCE = WORD CONTAINING BIT FIELD RIGHT JUSTIFIED C* DEST(1) = 1ST TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS ; .LE.WORD SIZE ..... C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST(1) AND EVENTUALLY DEST(2) CONTAIN FIELD C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* C***** INTEGER SOURCE,DEST(1) INTEGER SH1,SH2,SH3 NBPW=64 SH1=IOFSET+IBYTSZ IF(SH1.GT.NBPW) GO TO 2 SH2=NBPW-SH1 IF(SH2.LT.0) SH2=NBPW-SH2 C BYTE DOES NOT SPAN WORDS DEST(1)=SHIFT( 1 OR( 2 AND(SHIFT(DEST(1),SH1), 3 SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ) ) 4 , 5 AND(SOURCE, 6 COMPL(SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ)) ) 7 ) 8 ,SH2) RETURN 2 CONTINUE C BYTE SPANS 2 WORDS SH3=2*NBPW-SH1 DEST(1)=OR( 1 AND(DEST(1),MASK(IOFSET)) 2 , 3 AND(SHIFT(SOURCE,SH3) , COMPL(MASK(IOFSET)) ) 4 ) DEST(2)=OR( 1 AND(DEST(2) , COMPL(MASK(SH1-NBPW)) ) 2 , 3 SHIFT( AND(SOURCE , COMPL(MASK(SH3)) ) ,SH3) 4 ) RETURN END SUBROUTINE SBYTES(D,S,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C**** SBYTES - Cyber version. C C REVERSES THE ACTION OF GBYTES, TAKING FIELDS FROM S AND C INSERTING THEM INTO A BIT STRING IN D. SEE GBYTES. C AUTHOR D. ROBERTSON AUG,1981 DIMENSION D(2) , S(NBYTES) INTEGER SH1,SH2,SH3 ENTRY SBYTES7 (D,S,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) IGNORE = KWOFF GO TO 10 ENTRY SBYTES6 (D,S,ISKIP1,IBSIZ,ISKIP2,NBYTES) IGNORE = 0 10 CONTINUE NBPW=64 ID=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION KNOWN, THE C DESIRED INSERTION CAN BE DONE BY C** CALL SBYTE(D(ID),S(IBYTE),ISKIP,IBSIZ) C BUT THE CODE IS SHORT ENOUGH TO GO IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 SH2 = NBPW-SH1 IF(SH2.LT.0) SH2 = NBPW-SH2 C BYTE GOES INTO 1 WORD OF D. D(ID) = SHIFT(OR(AND(SHIFT(D(ID),SH1),MASK(NBPW-IBSIZ)), 1 AND(S(IBYTE),SHIFT(MASK(IBSIZ),IBSIZ))),SH2) GO TO 65 50 CONTINUE C BYTE GOES INTO 2 WORDS OF D. SH3 = 2*NBPW-SH1 D(ID)=OR(AND(D(ID),MASK(ISKIP)), 1 AND(SHIFT(S(IBYTE),SH3),COMPL(MASK(ISKIP)))) D(ID+1)=OR(AND(D(ID+1),SHIFT(COMPL(MASK(SH1-NBPW)),NBPW-IGNORE) 1 ), 2 SHIFT(AND(S(IBYTE),COMPL(MASK(SH3))),SH3-IGNORE)) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP = ISKIP - NBPW ID = ID+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/btvax.special0000755000175000017500000006352512127406245021442 0ustar amckinstryamckinstry SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES C GBYTES C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C VAX version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) C CHARACTER*1 HFUNC C C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C EXIT C C Reference. C ---------- C C None. C C Comments. C --------- C C VAX version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL EXIT (-1) C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C VAX version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 32 KNEG = -2147483648 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END SUBROUTINE GBITS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C C**** GBITS - VAX routine. C DIMENSION NPACK(*),ISAM(*) PARAMETER (LENWRD=32) C C ++++++++++ C CALL GBITS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C STARTS UNPACKING BITS AT BIT OFFSET IBIT IN ARRAY C NPACK. IT TAKES NBITS AND STORES THEM IN THE LONGWORD C ARRAY STARTING AT ISAM. THEN NSKIP BITS ARE SKIPPED IN C NPACK AND THE NEXT FIELD OF NBITS IS UNPACKED INTO THE C NEXT ISAM. THIS IS DONE A TOTAL OF ITER TIMES. C C THIS ROUTINE EXTRACTS BITS FROM VAX WORDS. C IT IS SIMILAR TO NCAR'S GBYTE BUT IT WORKS WITH C THE NATURAL UNDERLYING STRUCTURE OF THE VAX. C ---------- C ISW = 1 GO TO 8 C C ENTRY SBITS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C C ++++++++++ C CALL SBITS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C THIS ROUTINE TAKES THE FIRST LONGWORD LOCATED AT C ISAM AND STORES IT INTO THE NBITS OF NPACK STARTING AT C BIT OFFSET IBIT. THEN NSKIP BITS ARE SKIPPED IN C NPACK AND THE PROCESS IS REPEATED A TOTAL OF ITER TIMES. C C THIS ROUTINE EXTRACTS BITS FROM VAX WORDS. C IT IS SIMILAR TO NCAR'S SBYTE BUT IT WORKS WITH C THE NATURAL UNDERLYING STRUCTURE OF THE VAX. C ---------- ISW = 2 GO TO 8 C C ++++++++++ ENTRY G_BYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C CALL G_BYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C STARTS UNPACKING BITS AT BIT OFFSET IBIT IN ARRAY C NPACK. IT TAKES NBITS AND STORES THEM IN THE LONGWORD C ARRAY STARTING AT ISAM. THEN NSKIP BITS ARE SKIPPED IN C NPACK AND THE NEXT FIELD OF NBITS IS UNPACKED INTO THE C NEXT ISAM. THIS IS DONE A TOTAL OF ITER TIMES. C C THIS ROUTINE DEALS WITH BITS AND BYTES IN THE ORDER C THEY ARE NUMBERED ON THE MESA (IE BIGENDIAN). C ---------- ISW = 3 GO TO 8 C C ++++++++++ ENTRY S_BYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C CALL S_BYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C THIS ROUTINE TAKES THE FIRST LONGWORD LOCATED AT C ISAM AND STORES IT INTO THE NBITS OF NPACK STARTING AT C BIT OFFSET IBIT. THEN NSKIP BITS ARE SKIPPED IN C NPACK AND THE PROCESS IS REPEATED A TOTAL OF ITER TIMES. C C C THIS ROUTINE DEALS WITH BITS AND BYTES IN THE ORDER C THEY ARE NUMBERED ON THE MESA (IE BIGENDIAN). C ---------- ISW = 4 GOTO 8 C C ++++++++++ ENTRY GBYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C THIS ROUTINE IS JUST A REPEATED CALL TO G_BYTE C WHERE SUCCESSIVE CALLS SKIP NSKIP BITS C AND THE LOOP COUNT IS ITER ISW = 5 GOTO 8 C C ++++++++++ ENTRY SBYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C THIS ROUTINE IS JUST A REPEATED CALL TO S_BYTE C WHERE SUCCESSIVE CALLS SKIP NSKIP BITS C AND THE LOOP COUNT IS ITER ISW = 6 GO TO 8 C C ++++++++++ ENTRY GBILS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C GBIL(S)/SBIL(S) ENTRIES ALLOW DIRECT MAINTENANCE OF LEFT TO RIGHT C BIT STRINGS IN DEC ENVIRONMENT (VAX). THE MODIFICATION RETAINS FUL C COMPATIBILITY WITH ORIGINAL ENTRIES, HOWEVER, VERIFICATION BEYOND C GBIL(S)/SBIL(S) WAS VIA GBITS/SBITS ONLY (NOT GBYTES/SBYTES). C C MODIFICATION PROGRAMMED BY A.D.STROUD, COMPASS SYSTEMS, INC. C NOVEMBER 1987 UNDER TOGA GRAND FUNDING DURING SOFTWARE DEVELOPMENT C FOR WMO PROPOSED STANDARD FM 94 BUFR ON THE VAX STATION II AT THE C OAG/NOS/NOAA, MONTEREY, CA. C C FOR GBIL(S)/SBIL(S) THE FOLLOWING PARAMETER USAGE APPLIES C C NPACK - LEFT MOST(HIGHEST INDEXED) LONGWORD IN PACKED BIT STRING C ARRAY SPACE INFERRED BY IBIT(IN LIEU OF LOWEST INDEX FOR C NON-DEC, NOTE - SECOND 32 BIT SUBSTRING IN BIT STRING IS C NPACK(0), THIRD 32 BIT SUBSTRING IS NPACK(-1), ETC.,...) C C ISAM - ARRAY HOLDING/TO HOLD UNPACKED ELEMENT(S) (RJZF) FOR C SBIL(S)/GBIL(S), RESPECTIVELY. C C IBIT - INITIAL LEFT TO RIGHT BIT SKIP WITHIN THE NPACK BIT STRI C (INCLUDING LEFTMOST BIT OF NPACK, INTERPRET BIT SKIP THE C SAME AS IN NON-DEC ENVIRONMENT) C C NBITS - FIXED BIT WIDTH OF EACH ELEMENT TO BE UNPACKED. C C NSKIP - FIXED LEFT TO RIGHT BIT SKIP WIDTH BETWEEN ELEMENTS. C C ITER - NUMBER OF ELEMENTS TO UNPACK(IMPLIED MINIMUM DIMENSIONAL C OF ISAM ARRAY). C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C EXAMPLE C C 1) PARAMETER (N4=1000 , NB=4000, NL=1000) C 2) INTEGER I4(N4),UNPACK(99) C 3) BYTE IB(NB) C 4) EQUIVALENCE (I4(1),IB(1)) C C 5) READ(LUI,'(4000A1)') (IB(I),I=NB,1,-1) C FORMATTED READ OF ARBITRARY BITSTRING FROM NON-DEC C SITE, OR FROM DEC FILE AS WRITTEN AT 9) BELOW. C C 6) CALL GBILS(I4(NL),UNPK,67,22,47,95) C AFTER INITIALLY SKIPPING 67 BITS TO A POINT BEYOND THE C LEFTMOST THREE BITS OF I4(NL-2), GBILS ACQUIRES 95 C SUBSTRING ELEMENTS OF THE WIDTH 22 BITS(EACH RIGHT JUST C WITH HIGH ORDER ZERO FILL) INTO THE RESPECTIVE FIRST C 95 ARRAY ELEMENTS OF UNPK. SEPARATED BY 47 BITS IN SOUR C BITSTRING ARRAY I4, THE EXTRACTED DUPLICATE SUBSTRING C ELEMENTS ARE NOW EFFECTIVELY SEPARATED FROM EACH OTHER C BY 10 ZERO BITS IN OBJECT BITSTRING ARRAY UNPK. C C 7) UNPK(J)=... (J=1,95) C C 8) CALL SBILS(I4(NL),UNPK,67,22,47,95) C AFTER INITIALLY SKIPPING 67 BITS TO A POINT BEYOND THE C LEFTMOST THREE BITS OF I4(NL-2), SBILS STORES IN SUCCES C SIVE BITS THE FIRST OF 95 MODIFIED UNPK RIGHTMOST 22 BI C WIDTH SUBSTRING ELEMENTS. AFTER SKIPPING 47 BITS BEYOND C THE RIGHTMOST OF THE FIRST 22 BITS STORED, THE SECOND 2 C BIT ELEMENT IS STORED, ETC. THE ORIGINAL SUBSTRING C ELEMENTS HAVE BEEN REPLACED BY MODIFIED SUBSRING ELEMEN C IN SITU WITHIN THE BITSTRING ARRAY I4 WITHOUT MODIFYING C ANY OTHER BITS. C C 9) WRITE(LUO,'(4000A1)') (IB(I),I=NB,1,-1) C FILE FOR NON-DEC OR FOR READ 5) ABOVE. C C C ISW = 7 GO TO 6 C C ++++++++++ ENTRY SBILS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C ISW = 8 GO TO 6 C C ++++++++++ ENTRY GBIL(NPACK,ISAM,IBIT,NBITS) C ++++++++++ C ISW = 9 GO TO 5 C C ++++++++++ ENTRY SBIL(NPACK,ISAM,IBIT,NBITS) C ++++++++++ C ISW=10 5 ITER1= 1 NSKIP1=-NBITS GO TO 7 C 6 NSKIP1=-NSKIP-NBITS C 7 JOFF=-IBIT-NBITS IF(ISW.LT.9) GO TO 9 GO TO 10 C 8 NSKIP1=NSKIP+NBITS JOFF=IBIT C 9 ITER1=ITER C C 10 DO 30 I = 1 , ITER1 C IF(JOFF.GT.0) IBASE=JOFF/LENWRD+1 IF(JOFF.LE.0) IBASE=(JOFF+1)/LENWRD+1 IOFF=MOD(JOFF,LENWRD) IF(JOFF.LE.0) IOFF=MOD(IOFF+LENWRD,LENWRD) C GO TO(11,12,13,14,15,16,11,12,11,12) ISW C 11 CALL GBIT(NPACK(IBASE),ISAM(I),IOFF,NBITS) GO TO 20 12 CALL SBIT(NPACK(IBASE),ISAM(I),IOFF,NBITS) GO TO 20 13 CALL G_BYTe(NPACK(IBASE),ISAM(I),IOFF,NBITS) GO TO 20 14 CALL S_BYTE(NPACK(IBASE),ISAM(I),IOFF,NBITS) GO TO 20 15 CALL GBYTE(NPACK(IBASE),ISAM(I),IOFF,NBITS) GOTO 20 16 CALL SBYTE(NPACK(IBASE),ISAM(I),IOFF,NBITS) GOTO 20 20 JOFF = JOFF + NSKIP1 30 CONTINUE RETURN END SUBROUTINE GBYTE(NPACK,ISAM,IBIT,NBITS) C C**** GBYTE - VAX routine. C C ++++++++++ C CALL GBYTE(NPACK,ISAM,IBIT,NBITS) C STARTS UNPACKING BITS AT BIT OFFSET IBIT IN ARRAY C NPACK. IT TAKES NBITS AND STORES THEM IN THE LONGWORD C ARRAY STARTING AT ISAM. C C THIS ROUTINE DEALS WITH BITS AND BYTES IN THE ORDER C THEY ARE NUMBERED ON THE MESA (IE BIGENDIAN). C ---------- C C GBYTE AND SBYTE ARE SPECIAL ROUTINES TO DO THE SAME C THINGS AS THEIR COUNTERPARTS ON THE MESA. C THEY DIFFER FROM THE BITS ROUTINES IN THAT BITS C ARE COUNTED FROM THE TOP OF THE WORD RATHER THAN C THE BOTTOM. THIS MEANS THAT THE BITS THEY SPECIFY JUMP AROUND C WHEN CROSSING BYTE BOUNDARIES. THERE IS NO ASSUMPTION C MADE ABOUT THE WORDSIZE OF THE MACHINE THEY WERE WRITTEN C ON. HOWEVER THE MAXIMUM NUMBER OF BITS EXTRACTED MUST BE C LESS THAN OR EQUAL TO 32. C BYTE NPACK(8) INTEGER T EXTERNAL SS$_ABORT IDBIT(I) = 7 - MOD(I,8) ISW = 3 ISAM = 0 GO TO 10 ENTRY SBYTE(NPACK,ISAM,IBIT,NBITS) C ++++++++++ C CALL SBYTE(NPACK,ISAM,IBIT,NBITS) C THIS ROUTINE TAKES THE FIRST LONGWORD LOCATED AT C ISAM AND STORES IT INTO THE NBITS OF NPACK STARTING AT C BIT OFFSET IBIT. C C C THIS ROUTINE DEALS WITH BITS AND BYTES IN THE ORDER C THEY ARE NUMBERED ON THE MESA (IE BIGENDIAN). C ---------- ISW = 4 10 IBASE = IBIT/8 C IBASE POINTS TO THE FIRST BYTE INVOLVED IOFF = IBIT - 8*IBASE C IOFF IS THE BIT OFFSET WITHIN FIRST BYTE M = (IOFF+NBITS-1)/8 + 1 C M IS THE NUMBER OF BYTES (INCLUDING PARTIALS) INVOLVED C IF(M.GT.5)THEN IF(NBITS.GT.32)THEN TYPE *,'ILLEGAL VALUE FOR NBITS IN S/GBYTE(S) CALL' CALL SYS$EXIT(SS$_ABORT) END IF NN = 0 C NN IS THE NUMBER OF BITS TRANSFERRED DO 20 I = M , 1 , -1 C LOOP ON BYTES IS = IDBIT(0) C CALC FIRST BIT WITHIN BYTE IE = IDBIT(7) C CALC LAST BIT WITHIN BYTE IF(I.EQ.1)IS = IDBIT(IOFF) C FIRST BIT VARIES FOR FIRST BYTE IF(I.EQ.M)IE = IDBIT(IOFF+NBITS-1) C LAST BIT VARIES FOR LAST BYTE N = IS - IE + 1 C CALC NUMBER OF BITS WITHIN BYTE TO XFER IF(ISW.EQ.4)GO TO 12 CALL GBIT(NPACK(IBASE+I),T,IE,N) C EXTRACT BITS FROM SOURCE CALL SBIT(ISAM,T,NN,N) C AND LOAD INTO DESTINATION GO TO 15 12 CALL GBIT(ISAM,T,NN,N) C EXTRACT BITS FROM SOURCE CALL SBIT(NPACK(IBASE+I),T,IE,N) C AND LOAD INTO DESTINATION 15 NN = NN + N C UPDATE BITS XFERRED 20 CONTINUE RETURN END SUBROUTINE G_BYTE(NPACK,ISAM,IBIT,NBITS) C C**** G_BYTE - VAX routine. C C G_BYTE AND S_BYTE ARE SPECIAL ROUTINES TO DO THE SAME C THINGS AS THEIR COUNTERPARTS ON THE MESA. C THEY DIFFER FROM THE BITS ROUTINES IN THAT BITS C ARE COUNTED FROM THE TOP OF THE WORD RATHER THAN C THE BOTTOM. THIS MEANS THAT THE BITS THEY SPECIFY JUMP AROUND C WHEN CROSSING BYTE BOUNDARIES. THERE IS NO ASSUMPTION C MADE ABOUT THE WORDSIZE OF THE MACHINE THEY WERE WRITTEN C ON. HOWEVER THE MAXIMUM NUMBER OF BITS EXTRACTED MUST BE C LESS THAN OR EQUAL TO 32. C BYTE NPACK(8) INTEGER T EXTERNAL SS$_ABORT IDBIT(I) = 7 - MOD(I,8) ISW = 3 ISAM = 0 GO TO 10 ENTRY S_BYTE(NPACK,ISAM,IBIT,NBITS) ISW = 4 10 IBASE = IBIT/8 C IBASE POINTS TO THE FIRST BYTE INVOLVED IOFF = IBIT - 8*IBASE C IOFF IS THE BIT OFFSET WITHIN FIRST BYTE M = (IOFF+NBITS-1)/8 + 1 C M IS THE NUMBER OF BYTES (INCLUDING PARTIALS) INVOLVED C IF(M.GT.5)THEN IF(NBITS.GT.32)THEN TYPE *,'ILLEGAL VALUE FOR NBITS IN S/G_BYTE(S) CALL' CALL SYS$EXIT(SS$_ABORT) END IF NN = 0 C NN IS THE NUMBER OF BITS TRANSFERRED DO 20 I = M , 1 , -1 C LOOP ON BYTES IBB = IBASE + I - 1 IBC = IBB/4 IBD = 4*IBC+3-MOD(IBB,4) + 1 C CALCULATE UNSHIFTED BYTE IS = IDBIT(0) C CALC FIRST BIT WITHIN BYTE IE = IDBIT(7) C CALC LAST BIT WITHIN BYTE IF(I.EQ.1)IS = IDBIT(IOFF) C FIRST BIT VARIES FOR FIRST BYTE IF(I.EQ.M)IE = IDBIT(IOFF+NBITS-1) C LAST BIT VARIES FOR LAST BYTE N = IS - IE + 1 C CALC NUMBER OF BITS WITHIN BYTE TO XFER IF(ISW.EQ.4)GO TO 12 C CALL GBIT(NPACK(IBASE+I),T,IE,N) CALL GBIT(NPACK(IBD),T,IE,N) C EXTRACT BITS FROM SOURCE CALL SBIT(ISAM,T,NN,N) C AND LOAD INTO DESTINATION GO TO 15 12 CALL GBIT(ISAM,T,NN,N) C EXTRACT BITS FROM SOURCE C CALL SBIT(NPACK(IBASE+I),T,IE,N) CALL SBIT(NPACK(IBD),T,IE,N) C AND LOAD INTO DESTINATION 15 NN = NN + N C UPDATE BITS XFERRED 20 CONTINUE RETURN END .TITLE SGBIT ; ++++++++++ ; CALL GBIT(NPACK,ISAM,IBIT,NBITS) ; UNPACKS THE BIT PATTERN LOCATED AT A BIT OFFSET ; OF IBIT IN NPACK OF LENGTH NBITS INTO ISAM. ; ; THIS ROUTINE EXTRACTS BITS FROM VAX WORDS. ; IT IS SIMILAR TO NCAR'S GBYTE BUT IT WORKS WITH ; THE NATURAL UNDERLYING STRUCTURE OF THE VAX. ; ---------- .PSECT MACRO_CODE PIC,USR,CON,REL,LCL,SHR,EXE,RD,NOWRT,NOVEC .ENTRY GBIT,0 EXTZV @12(AP),@16(AP),@4(AP),@8(AP) ;ISN'T THIS NEAT ? RET ; ; ; ++++++++++ ; CALL SBIT(NPACK,ISAM,IBIT,NBITS) ; PACKS THE VALUE IN ISAM INTO NPACK ; WITH NBITS OFFSET BY IBIT. ; ; THIS ROUTINE EXTRACTS BITS FROM VAX WORDS. ; IT IS SIMILAR TO NCAR'S SBYTE BUT IT WORKS WITH ; THE NATURAL UNDERLYING STRUCTURE OF THE VAX. ; ---------- .ENTRY SBIT,0 INSV @8(AP),@12(AP),@16(AP),@4(AP) ;ISN'T THIS NEAT ? RET .END emoslib-000392+dfsg.1/gribex/dsgnbt.c0000755000175000017500000000152412127406245020370 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "fortint.h" void dsgnbt_( fortint * kout, fortint * kin, fortint * kpos, fortint * kret) { fortint value = *kin; unsigned fortint sign = value & (1 << ((*kpos)-1)); unsigned fortint mask = ~(-1 << ((*kpos)-1)); fortint new = value & mask; if( sign ) *kout = -new; else *kout = new; *kret = 0; return; } void dsgnbt( fortint * kout, fortint * kin, fortint * kpos, fortint * kret) { dsgnbt_(kout,kin,kpos,kret); } emoslib-000392+dfsg.1/gribex/parval.F0000755000175000017500000002036612127406245020344 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PARVAL (KCSP,KNSP,HLINE,HPAR,KLPAR,HVAL,KLVAL) C C----> C**** PARVAL - Extract next parameter and value pair. C C Purpose. C -------- C C Get next parameter and value from line. C C** Interface. C ---------- C C CALL PARVAL (KCSP,KNSP,HLINE,HPAR,KLPAR,HVAL,KLVAL) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input Parameters. C ----------------- C C KCSP = Current search start position C HLINE = Line being examined C C Output Parameters. C ----------------- C C KNSP = Next search position (for next call) C It is set to zero if the last set of C PARAMETER=VALUE pairs is found, and C to -1 if further parameters and values C are to be read from a continuation line. C C KLPAR = Length of parameter string C C HPAR = Parameter C C KLVAL = Length of value string C C HVAL = Value C C Method. C ------- C C The separators / , = and " are found to identify C the parameters and values. C C Externals. C ---------- C C RTB C REMSP C DELSP C REPCHR C C Reference. C ---------- C C MARS User Guide for information on parameters and C value pairs. C C Comments. C --------- C C Routine contains sections 0-4 and section 9. C C Author. C ------- C C J. Hennessy 16.04.85 C C Modifications. C -------------- C C J. Hennessy 08.04.86 C C " 15.09.86 C C J. Hennessy 03.07.90 C Character variable HVAL made to agree in length with C that in calling routine. C C J. Hennessy 23.11.90 C Allow COMMENT values to include commas. C C J. Hennessy 18.02.91 C Adjust YLINE length to match HLINE. Allow for / in error C at start of list of parameters. C C J. Hennessy 15.10.92 C Check on input string length added. C C----< C --------------------------------------------------------------- C C C* Section 0 . Definition of variables. C --------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C PARAMETER (JPMAX=960) C INTEGER RTB C CHARACTER*(*) HLINE CHARACTER*8 HPAR CHARACTER*(*) HVAL CHARACTER*(JPMAX) YLINE C C --------------------------------------------------------------- C C C* Section 1 . Set initial values. C --------------------------------------------------------------- C 1000 CONTINUE C C Check length of input string. C ILEN = LEN (HLINE) IF (ILEN.GT.JPMAX) C THEN WRITE (*,9001) ILEN , JPMAX CALL ABORTX ('PARVAL') ENDIF C C Set parameter and value to 'space' and their lengths to 0. C HPAR = ' ' HVAL = ' ' KLPAR = 0 KLVAL = 0 C C C C* Section 2 . Handle request from HELP facility. C --------------------------------------------------------------- C 2000 CONTINUE C C First check if help is being requested by use of ?. C IF (HLINE(KCSP:KCSP).EQ.'?') C THEN HPAR = '?' KLPAR = 1 KNSP = KCSP + 1 GO TO 9000 ENDIF C C* Go to section 9. C C --------------------------------------------------------------- C C C C* Section 3 . Tidy up input format a little. C --------------------------------------------------------------- C 3000 CONTINUE C C Change any ' characters to " characters. C c-- CALL REPCHR (HLINE,'''','"') C C Remove any spaces before or after / separators. C c-- CALL DELSP (HLINE) C C --------------------------------------------------------------- C C C C* Section 4 . Extract next parameter and its value. C --------------------------------------------------------------- C 4000 CONTINUE C C Look for next '=' and ',' in line. Examine C the last character in the line. If this is a ',' a C continuation line will follow. Otherwise the last C PARAMETER=VALUE pair for the current command has been C read. C II = INDEX (HLINE(KCSP:),'=') IJ = INDEX (HLINE(KCSP:),',') IK = RTB(HLINE) KNSP = 0 IF (HLINE(IK:IK).EQ.',') KNSP = -1 C IF (II.EQ.0.AND.IJ.EQ.0) C C* No = or , found. Go to section 9. C C THEN C C Check that no entry with missing = has been made. C Set parameter and value to unrecognised string, C IF (IK.GT.KCSP) C THEN HPAR = HLINE(KCSP:IK) CALL REMSP (HPAR) IF (HPAR(1:1).NE.' ') C THEN HPAR = HLINE(KCSP:IK) KLPAR = IK - KCSP + 1 HVAL = HLINE(KCSP:IK) KLVAL = IK - KCSP + 1 KNSP = IK + 1 ENDIF ENDIF C GO TO 9000 ENDIF C IF (II.EQ.0.AND.IJ.NE.0) C C* , found but no = found. Check that no erroneous entry C has been made. Go to section 9. C C THEN C C Check that no erroneous entry with missing = C exists. C HPAR = HLINE(KCSP:KCSP+IJ-2) CALL REMSP (HPAR) IF (HPAR(1:1).NE.' ') C THEN KLPAR = RTB(HPAR) HVAL = HPAR KLVAL = KLPAR KNSP = KCSP + IJ- 1 ENDIF GO TO 9000 ENDIF C C Extract parameter entry and its length. C KLPAR = II - 1 HPAR = HLINE(KCSP:KCSP+KLPAR-1) C C Remove any leading/trailing spaces. C IF (HPAR(1:1).EQ.' ') THEN CALL REMSP(HPAR) KLPAR = RTB (HPAR) ENDIF C C Find end of value entry. This can be a comma, space or C a full stop. C If none is found the remaining characters are taken as C the value, and treated as the last entry for this command. C KCSP = KCSP + II C C Remove any spaces between = and value. C Remove any / put at the start of a list of values. C YLINE(1:) = HLINE(KCSP:) IF (YLINE(1:1).EQ.'/') YLINE(1:1) = ' ' CALL REMSP (YLINE) HLINE (KCSP:) = YLINE C II = INDEX(HLINE(KCSP:),',') C C If the value is a character string it may contain a ",". C Currently only the COMMENT parameter in a CREATE command C can validly have an embedded , . C CALL L2U1CR (HPAR) IF (HLINE(KCSP:KCSP).EQ.'"'.AND.HPAR(1:7).EQ.'COMMENT') C THEN ISTR = INDEX(HLINE(KCSP+1:),'"') IF (ISTR.GE.II) II = ISTR + 2 ENDIF C C Extract value entry and length C IF (II.EQ.0) C THEN II = RTB (HLINE) IF (HLINE(II:II).EQ.'.') II = II - 1 KLVAL = II - KCSP + 1 ELSE KLVAL = II - 1 ENDIF C C Handle missing value (eg date=, entered) where length is 0. C KNSP = KCSP + KLVAL + 1 C IF (KLVAL.GT.0) C THEN HVAL = HLINE(KCSP:KCSP+KLVAL-1) ELSE HVAL = ' ' KLVAL = 1 ENDIF C C --------------------------------------------------------------- C C C C* Section 9. Return to calling routine. C --------------------------------------------------------------- C 9000 CONTINUE C 9001 FORMAT (1H ,'PARVAL : String length is ',I3,'. Maximum', C ' allowed is ',I3,'.') RETURN C END emoslib-000392+dfsg.1/gribex/d2ordr.F0000755000175000017500000013244112127406245020251 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION D2ORDR ( KDATA, KLENP, KSEC1, KSEC2, KSEC3, X KSEC4, KGRIB, KLENG, KNSPT, KBITS, X HOPER, KLEN4, KNIL, PREF , PSCALE, X KBMAP, KVALS, KDEBUG ) C C----> C**** D2ORDR C C Purpose. C -------- C C Decode GRIB section 4 for complex packing of grid-point C values ("second-order packing"). C C C** Interface. C ---------- C C KRET = D2ORDR ( KDATA, KLENP, KSEC1, KSEC2, KSEC3, KSEC4, C X KGRIB, KLENG, KNSPT, KBITS, HOPER, KLEN4, C X KNIL, PREF, PSCALE, KBMAP, KVALS, KDEBUG ) C C C Input Parameters. C ----------------- C C KLENP - Length of array KDATA. C KSEC1 - Array of GRIB section 1 integer descriptors. C KSEC2 - Array of GRIB section 2 integer descriptors. C KSEC3 - Array of GRIB section 3 integer descriptors. C KSEC4 - Array of GRIB section 4 integer descriptors. C (preset to zero, and already decoded for (3:6) C KGRIB - GRIB product array. C KLENG - Length of GRIB product array. C KNSPT - Bit pointer for next value in GRIB product. C KBITS - Number of bits per computer word. C HOPER - Requested function: C 'D' or 'R' to decode the whole field, C 'X' to decode only a few gridpoints (as described C in KSEC4(34:42), C 'J' to decode only section 4 descriptors. C KLEN4 - Length (octets) of section 4. C KNIL - Unused bit count at end of section 4. C KBMAP - Bit pointer for start of explicit primary bit-map C (if any). C KVALS - Number of bits in primary bit-map. C KDEBUG - >0 for some debug printout. C C C Output Parameters. C ----------------- C C KDATA - Array of normalized values. C KSEC4 - Array of GRIB section 4 values (completed). C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product (updated). C PREF - Reference value of field. C PSCALE - Scale factor (ready to use) of field. C C C Method. C ------- C C Follows WMO Manual of Codes, and also DSECT4 structure. C C C Externals. C ---------- C C INXBIT - Extract bits from GRIB product. C DECFP2 - Decode from IBM floating point format. C PRTBIN - Print binary value in character format. C C2BITW - Computes bit width of a positive integer value. C DSGNBT - Decodes an integer value and its sign bit. C MAXMNI - Computes extrema of integer array. C D2ROSD - Rebuild original values from spatial differencing. C REVERO - Reverse order of values in even rank rows. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C On entry, KNSPT points to the first bit of section 4 C in the GRIB product. C On exit, KNSPT points to the first unused bit of section 4, C (or to the first bit of section 5, if unused bit count C is zero) in the GRIB product. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C _____________ C C J. Clochard, April 1998. C Update comments, and add more consistency with C2ORDR source code. C Inhibit REVERO call for function 'X'. C Introduce spatial differencing. C C J. Clochard, September 1998. C Optimize management of primary bit-map in row by row packing case. C Fixes behaviour for HOPER='J' (KDATA must not be used) C and HOPER='X' (KDATA minimum length is KSEC4(34), not full-length. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP15BIT, JP16SET, JPWS1O, JPXMAX, JPXPWR, JPWS2O C PARAMETER ( JP15BIT= 2**15 ) C `---> 32768 = 8000(hex) PARAMETER ( JP16SET= 2**16-1 ) C `---> 65535 = FFFF(hex) C JPWS1O ===> Size of group work arrays. C JPXMAX ===> Maximum number of points for 'X' function. C JPXPWR ===> " " " bits number per value/descriptor. C JPWS2O ===> Size of work array IWORK2 C (must be strictly bigger than JPWS1O). C C IWORK2 array is used to unpack: C -group sizes, in case of general extended packing C (JPWS1O last values); C -secondary bit-map, if any; C -primary bit-map, in case of row by row packing. C C These cases are exclusive. C #ifdef JBPW_64 PARAMETER ( JPWS1O= 5000, JPWS2O= 20000, JPXMAX= 4, JPXPWR= 47 ) #else PARAMETER ( JPWS1O= 5000, JPWS2O= 20000, JPXMAX= 4, JPXPWR= 31 ) #endif C C Subroutine arguments C INTEGER KLENP, KLENG, KNSPT, KBITS, KLEN4, KNIL, KBMAP, KVALS INTEGER KDEBUG INTEGER KDATA (KLENP), KSEC1 (*), KSEC2 (*), KSEC4 (*), KGRIB (*) INTEGER KSEC3 (*) C CHARACTER HOPER * (*) C REAL PREF, PSCALE C C Local variables. C INTEGER IRET, IRETA, IRETB, IEXP, IMANT, IFLAGX, IAUXIL, INDKS4 INTEGER IFIROV, ISECOV, ISCALE, IPTRSO, ILEN, INROWS, J, IRETFN INTEGER IPTRFO, IWIDTH, IPTRBM, ILAUXS, IPTRB0, ILNGTH, IRANG INTEGER IBITGW, IAUXIS, INBSEQ, JSEQ, IGROFF, IGRNBR, JGROUP INTEGER IREFLN, ICOUNT, IMAXVN, INPEXT, INCR, IEXTOR, IVALS INTEGER ISKIP, JEXT, IEXT, ICNEXT, INSPTA, IPTRGW, INVALS, ICOUNG INTEGER INDROW, INDCOL, IVALSC, IPTRFN, IPTRSN, IVALK4, IREFER INTEGER IPRWID, ICOUNS, ILNGTS, INDEXX, INDEXY, JROW, ISEQ #ifdef ebug2o INTEGER IMAXVC #endif INTEGER IBITGS, IPTRGS, IORDER, IWIDSD, IBIAS #ifndef wmogrp2o INTEGER IEXTRA #endif C INTEGER IWIDGR (JPWS1O), IWORK2 (JPWS2O), IFIRST (JPWS1O) INTEGER IRGEXT (JPXMAX+1), INDXOR (JPXMAX), ILENGR (JPWS1O) INTEGER IPOWER (0:JPXPWR) INTEGER IWORK (3) C CHARACTER YOPER*1 C LOGICAL LROW, LQUASI, LCTWID, LSECBI, LPRIBI, LDEBUG, L1CALL LOGICAL LGENXT, LBOUST, LPRCLN, LVECTD C INTEGER REVERO, D2ROSD EXTERNAL REVERO, D2ROSD INTEGER C2BITW EXTERNAL C2BITW C SAVE L1CALL, IPOWER C DATA L1CALL / .TRUE. / C C ----------------------------------------------------------------- C* Section 1 . Decode octets 5 to 13. C ----------------------------------------------------------------- C 100 CONTINUE C IRETFN = 0 YOPER='D' INSPTA=KNSPT LDEBUG=KDEBUG.GE.1 C IF (L1CALL) THEN C DO 111 J=0,JPXPWR-1 IPOWER(J)=2**J-1 111 CONTINUE #ifdef JBPW_64 IPOWER(JPXPWR)=140737488355327 #else IPOWER(JPXPWR)=2147483647 #endif C L1CALL=.FALSE. C ENDIF C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) HOPER(:1),KNSPT #ifndef ebug2o ENDIF #endif C KNSPT=KNSPT+4*8 C C* Octets 5 - 6 : Scale factor. C One 16 bit field. C CALL INXBIT (KGRIB,KLENG,KNSPT,ISCALE,1,KBITS, 16,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17110 WRITE(GRPRSM,FMT=9001) 'scale factor' GO TO 900 ENDIF C C Make negative if sign bit set IF ( ISCALE .GT. JP15BIT ) THEN ISCALE = ISCALE - JP15BIT ISCALE = -ISCALE ENDIF PSCALE = 2.0**ISCALE #ifdef ebug2o WRITE(GRPRSM,FMT='('' D2ORDR - Binary scale factor ='', X I20,TR1,F30.20,''.'')') ISCALE,PSCALE #endif C C* Octets 7 - 10 : Reference value. C One 8 bit and one 24 bit field. C C Extract reference value exponent and mantissa. CALL INXBIT(KGRIB,KLENG,KNSPT,IEXP,1,KBITS, 8,YOPER,IRETA) CALL INXBIT(KGRIB,KLENG,KNSPT,IMANT,1,KBITS, 24,YOPER,IRETB) IRET = IRETA + IRETB C IF (IRET.NE.0) THEN IRETFN = 17120 WRITE(GRPRSM,FMT=9001) 'reference value' GO TO 900 ENDIF C C Decode the reference value CALL DECFP2 (PREF,IEXP,IMANT) C C* Octet 11 : Number of bits containing each first-order value. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(2),1,KBITS, 8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17130 WRITE(GRPRSM,FMT=9001) 'bit number of first-order values' GO TO 900 ELSEIF (KSEC4(2).GT.JPXPWR) THEN IRETFN = 17131 WRITE(GRPRSM,FMT=9002) 'Bit number (of first-order values)', X JPXPWR GO TO 900 #ifdef ebug2o ELSE #else ELSEIF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9135) KSEC4(2) ENDIF C C Octets 12 - 13: Octet number of the start of first-order packed C data. C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,IPTRFO,1,KBITS,16,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17140 WRITE(GRPRSM,FMT=9001) 'pointer to first-order packed data' GO TO 900 #ifdef ebug2o ELSE #else ELSEIF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9150) PREF, IPTRFO, KNSPT ENDIF C C ----------------------------------------------------------------- C* Section 2 . Decode octets 14 to 21. C ----------------------------------------------------------------- C 200 CONTINUE C C Octet 14: Extended flags. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,IFLAGX,1,KBITS, 8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17210 WRITE(GRPRSM,FMT=9001) 'extended flags' GO TO 900 #ifdef ebug2o ELSE #else ELSEIF (LDEBUG) THEN #endif CALL PRTBIN (IFLAGX,8,IAUXIL,IRET) C IF (IRET.NE.0) THEN IAUXIL=IFLAGX ENDIF C WRITE(GRPRSM,FMT=9210) IAUXIL, KNSPT ENDIF C C R------- only bit 1 is reserved. C -0------ single datum at each grid point. C -1------ matrix of values at each grid point. C --0----- no secondary bit map. C --1----- secondary bit map present. C ---0---- second order values have constant width. C ---1---- second order values have different widths. C ----0--- no general extended second order packing. C ----1--- general extended second order packing used. C -----0-- standard field ordering in section 4. C -----1-- boustrophedonic ordering in section 4. C ------00 no spatial differencing used. C ------01 1st-order spatial differencing used. C ------10 2nd-order " " " . C ------11 3rd-order " " " . C IF (IFLAGX.GE.128) THEN IRETFN = 17220 WRITE(GRPRSM,FMT=9220) GO TO 900 ENDIF C IAUXIL = 64 INDKS4 = 6 C IVALK4 = 8 C DO 201 J = 2, IVALK4 C IF (J.EQ.5) THEN INDKS4 = INDKS4 + 1 ENDIF C IF (IFLAGX.GE.IAUXIL) THEN KSEC4(INDKS4+J) = IAUXIL IFLAGX = IFLAGX - IAUXIL ENDIF C IAUXIL=IAUXIL/2 201 CONTINUE C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9225) (KSEC4(J),J=3,10) #ifndef ebug2o ENDIF #endif C IF (IFLAGX.NE.0) THEN IRETFN = 17230 WRITE(GRPRSM,FMT=9230) GO TO 900 ELSEIF (KSEC4(8).NE.0) THEN IRETFN = 17240 WRITE(GRPRSM,FMT=9240) GO TO 900 ENDIF C LPRIBI=MOD (KSEC1(5),128).GE.64 LSECBI=KSEC4(9).NE.0 LROW=.NOT.LSECBI.AND.KSEC4(12).EQ.0 LGENXT=.NOT.LSECBI.AND.KSEC4(12).NE.0 LBOUST=KSEC4(13).NE.0 IORDER=KSEC4(14)+KSEC4(15) C IF (IORDER.NE.0) THEN C IF (HOPER.EQ.'X') THEN IRETFN = 17244 WRITE(GRPRSM,FMT=9244) HOPER(:1) GO TO 900 ELSEIF (.NOT.LGENXT) THEN IRETFN = 17245 WRITE(GRPRSM,FMT=9245) GO TO 900 ENDIF C ENDIF C LQUASI=KSEC2(17).EQ.1 LCTWID=KSEC4(10).EQ.0 C C Octets 15 - 20: Octet number of the start of second-order packed C data, Number of first-order packed data, C Number of second-order packed data. C Three 16-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(17),3,KBITS,16,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17250 WRITE(GRPRSM,FMT=9001) 'standard second-order descriptors' GO TO 900 ENDIF C IPTRSO=KSEC4(17) IFIROV=KSEC4(18) ISECOV=KSEC4(19) C #ifndef wmogrp2o C Octet 21: Reserved by WMO, so should be zero in standard case. C Could be used for extra bits of group number. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,IEXTRA,1,KBITS, 8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17255 WRITE(GRPRSM,FMT=9001) '21st octet of section 4' GO TO 900 ELSEIF (IEXTRA.NE.0) THEN IFIROV=IFIROV+(JP16SET+1)*IEXTRA CALL PRTBIN (IEXTRA,8,IAUXIL,IRET) C IF (IRET.NE.0) THEN IAUXIL=IEXTRA ENDIF C WRITE(GRPRSM,FMT=9255) IAUXIL, IEXTRA, IFIROV ENDIF C KSEC4(18)=IFIROV C #else C Octet 21: Reserved by WMO. C One 8-bit field. Skipped. C KNSPT = KNSPT + 8 C #endif IF (KSEC1(5).GE.128) THEN C C Cross checks between descriptors decoded above, C and section 2 descriptors previously decoded. C IF (MOD (KSEC2(11),64).LT.32) THEN INROWS=KSEC2(3) ELSE INROWS=KSEC2(2) ENDIF C IF (LROW.AND.((LPRIBI.AND.INROWS.LT.IFIROV).OR. X (.NOT.LPRIBI.AND.INROWS.NE.IFIROV))) THEN IRETFN = 17260 WRITE(GRPRSM,FMT=9260) GO TO 900 ELSEIF (LQUASI) THEN IREFLN=22 ILEN=0 C DO 211 J=1,INROWS ILEN=ILEN+KSEC2(IREFLN+J) 211 CONTINUE C ELSE ILEN=KSEC2(2)*KSEC2(3) ILNGTH=ILEN/INROWS ENDIF C IF (LPRIBI.AND.ISECOV.GT.ILEN.AND.HOPER.NE.'J') THEN IRETFN = 17265 WRITE(GRPRSM,FMT=9270) 'too big' GO TO 900 ELSEIF (.NOT.LPRIBI) THEN C IF (ILEN.LE.JP16SET.AND.(IORDER+ISECOV).NE.ILEN) THEN IRETFN = 17270 WRITE(GRPRSM,FMT=9270) 'from section 2' GO TO 900 ELSEIF (ILEN.GT.JP16SET) THEN C C Two octets not wide enough for ISECOV - adjust. C ISECOV=ILEN-IORDER KSEC4(19)=ISECOV ENDIF C ELSEIF (KVALS.NE.ILEN) THEN IRETFN = 17275 WRITE(GRPRSM,FMT=9275) GO TO 900 ENDIF C ELSE C C No section 2 in the present message. C IF (LROW) THEN IRETFN = 17277 WRITE(GRPRSM,FMT=9277) 'Row by row packing' GO TO 900 ELSEIF (HOPER.EQ.'X') THEN IRETFN = 17278 WRITE(GRPRSM,FMT=9277) 'HOPER=''X'' function' GO TO 900 ELSEIF (LBOUST) THEN IRETFN = 17279 WRITE(GRPRSM,FMT=9277) 'Boustrophedonic ordering' GO TO 900 ENDIF C ENDIF C IF (LPRIBI) THEN C IF (KSEC3(1).EQ.0) THEN C C Explicit primary bit-map included. C Computation of effective number of points. C INBSEQ=1+(KVALS-1)/JPWS2O INVALS=0 ISEQ=0 C IF (LROW.AND.HOPER.NE.'J') THEN C C In row by row case, it is also necessary for decoding field C values to compute real length of rows. Do it now, as far as C permitted through ILENGR work array size. C IAUXIS=0 ILAUXS=MIN (JPWS2O,KVALS) IPTRBM=KBMAP ISEQ=1 CALL INXBIT(KGRIB,KLENG,IPTRBM,IWORK2,ILAUXS,KBITS,1,YOPER, X IRET) C IF (IRET.NE.0) THEN IRETFN = 17280 WRITE(GRPRSM,FMT=9001) 'primary bit-map, row by row case' GO TO 900 ENDIF C DO 223 JROW=1,MIN (INROWS,JPWS1O) C C Full length of row (unmasked). C IF (LQUASI) THEN ILNGTH=KSEC2(IREFLN+JROW) ELSE ILNGTH=ILEN/INROWS ENDIF C IVALS=ILNGTH ILNGTH=0 IVALSC=IVALS C 221 CONTINUE C DO 222 J=1,MIN (IVALSC,ILAUXS-IAUXIS) ILNGTH=ILNGTH+IWORK2(IAUXIS+J) 222 CONTINUE C IF (IVALSC.LE.ILAUXS-IAUXIS) THEN C IAUXIS=IAUXIS+IVALSC C ELSEIF (IPTRBM.LT.KBMAP+KVALS) THEN C IVALSC=IVALSC-(ILAUXS-IAUXIS) ILAUXS=MIN(KBMAP+KVALS-IPTRBM,JPWS2O) IAUXIS=0 ISEQ=ISEQ+1 CALL INXBIT(KGRIB,KLENG,IPTRBM,IWORK2,ILAUXS,KBITS,1, X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17280 WRITE(GRPRSM,FMT=9001) X 'primary bit-map, row by row case' GO TO 900 ENDIF C GOTO 221 C ELSE C IRETFN = 17560 WRITE(GRPRSM,FMT=9560) GO TO 900 C ENDIF C ILENGR(JROW)=ILNGTH INVALS=INVALS+ILNGTH C 223 CONTINUE C C End-up current sequence (active only if bit-map has not C been fully processed)... C DO 224 J=IAUXIS+1,ILAUXS INVALS=INVALS+IWORK2(J) 224 CONTINUE C IAUXIL=(ISEQ-1)*JPWS2O+IAUXIS C ENDIF C C Staightforward computing. C DO 228 JSEQ=ISEQ+1,INBSEQ IAUXIS=(JSEQ-1)*JPWS2O ILAUXS=MIN (JPWS2O,KVALS-IAUXIS) IPTRBM=KBMAP+IAUXIS CALL INXBIT(KGRIB,KLENG,IPTRBM,IWORK2,ILAUXS,KBITS,1,YOPER, X IRET) C IF (IRET.NE.0) THEN IRETFN = 17280 WRITE(GRPRSM,FMT=9001) 'primary bit-map' GO TO 900 ENDIF C DO 227 J=1,ILAUXS INVALS=INVALS+IWORK2(J) 227 CONTINUE C 228 CONTINUE C IF (LROW.AND.HOPER.NE.'J') THEN C IF (INROWS.GT.JPWS1O) THEN C C ... it is necessary to (re)read primary bit-map, adjusting C pointer to start of (JPWS1O+1)th row. C IAUXIS=0 ILAUXS=MIN (JPWS2O,KVALS-IAUXIL) IPTRBM=KBMAP+IAUXIL CALL INXBIT(KGRIB,KLENG,IPTRBM,IWORK2,ILAUXS,KBITS,1, X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17280 WRITE(GRPRSM,FMT=9001) X 'primary bit-map, row by row case' GO TO 900 ENDIF C ENDIF C ENDIF C IF (INVALS.GT.JP16SET) THEN C C Two octets might be not wide enough for ISECOV. Adjust. C ISECOV=INVALS-IORDER ENDIF C ELSEIF (LROW) THEN C IRETFN = 17281 WRITE(GRPRSM,FMT=9281) 'Row by row' GO TO 900 C ELSEIF (LBOUST) THEN C IRETFN = 17282 WRITE(GRPRSM,FMT=9281) 'Boustrophedonic ordering' GO TO 900 C ENDIF C C WARNING: C ------- C Whenever an implicit primary bit-map is included, it is then C assumed that ISECOV contains the right number of grid-points C really included in section 4. This is valid only if this C effective number of points is lower than (or equal to) JP16SET. ENDIF C IF (IORDER+ISECOV.GT.KLENP.AND.HOPER.NE.'J'.AND.HOPER.NE.'X') THEN IRETFN = 17290 WRITE(GRPRSM,FMT=9290) IORDER+ISECOV,KLENP GO TO 900 ELSEIF (HOPER.EQ.'X'.AND.KLENP.LE.IORDER) THEN IRETFN = 17291 WRITE(GRPRSM,FMT=9291) IORDER+1 GO TO 900 ENDIF C C ----------------------------------------------------------------- C* Section 3 . Decode last octet(s) (22...) before loop on groups. C ----------------------------------------------------------------- C 300 CONTINUE C IF (KSEC4(12).NE.0) THEN C C General extended second-order packing used. C IF (LSECBI) THEN IRETFN = 17310 WRITE(GRPRSM,FMT=9310) 'no secondary bit-map' GO TO 900 ELSEIF (LCTWID) THEN IRETFN = 17320 WRITE(GRPRSM,FMT=9310) 'variable group widths' GO TO 900 ENDIF C C Octets 22 - 23: Width of widths, Width of lengths. C Two 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,IWORK,2,KBITS,8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17330 WRITE(GRPRSM,FMT=9001) 'general extended descriptors, widths' GO TO 900 ENDIF C IBITGW=IWORK(1) IBITGS=IWORK(2) C IF (MAX (IBITGW,IBITGS).GT.JPXPWR) THEN IRETFN = 17340 WRITE(GRPRSM,FMT=9002) X 'general extended width of (group and/or size)', X JPXPWR GO TO 900 ENDIF C KSEC4(11)=IBITGS C C Octets 24-25: Octet number of the start of group sizes (lengths). C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,IPTRGS,1,KBITS,16,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17345 WRITE(GRPRSM,FMT=9001) 'general extended group size pointer' GO TO 900 ENDIF C IPTRSN=1+(8+(KNSPT-INSPTA)+IFIROV*IBITGW-1)/8 C IF (IPTRSN.GT.JP16SET) THEN C C Two octets not wide enough for IPTRGS - adjust. C IPTRGS=IPTRSN ENDIF C IF (IORDER.NE.0.AND.HOPER.NE.'J') THEN C C Octet 26: Width of spatial differencing specific descriptors. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,IWIDSD,1,KBITS,8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17346 WRITE(GRPRSM,FMT=9001) X 'Width of spatial differencing descriptors' GO TO 900 ELSEIF (IWIDSD.NE.0) THEN C C Octet 27-onwards: first IORDER original values and diff. bias. C (IORDER+1) fields of IWIDSD bits. C IAUXIL=IORDER+1 CALL INXBIT(KGRIB,KLENG,KNSPT,KDATA,IAUXIL,KBITS,IWIDSD, X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17347 WRITE(GRPRSM,FMT=9001) X 'First field value(s) (spatial differencing case)' GO TO 900 ENDIF C C Decode bias and its sign. C CALL DSGNBT(IBIAS,KDATA(IAUXIL),IWIDSD,IRET) C IF (IRET.NE.0) THEN IRETFN = 17348 WRITE(GRPRSM,FMT=9348) IRET GO TO 900 ENDIF C C Adjust pointer to next octet boundary. C KNSPT=8*((8+KNSPT-1)/8) C ELSE C C Spatial differencing descriptors are all zero. C DO 311 J=1,IORDER KDATA(J)=0 311 CONTINUE C IBIAS=0 C ENDIF C ENDIF C ELSE C IBITGW=8 C IF (LCTWID) THEN C C Octet 22: Single value for width of second-order values. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,IWIDTH,1,KBITS,8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17350 WRITE(GRPRSM,FMT=9001) 'constant width of 2nd-order values' GO TO 900 ELSEIF (IWIDTH.GT.JPXPWR) THEN IRETFN = 17351 WRITE(GRPRSM,FMT=9002) 'Constant width', JPXPWR GO TO 900 ENDIF C KSEC4(11)=IWIDTH C ENDIF C IF (LSECBI) THEN C C Secondary bit-map present. Initialize pointer, and decode C start of secondary bit-map (if field decoding is requested). C IF (LCTWID) THEN IPTRBM=23 ELSE IPTRBM=22+IFIROV ENDIF C IPTRBM=(IPTRBM-1)*8+INSPTA IPTRB0=IPTRBM C IF (HOPER.NE.'J') THEN C ILAUXS=MIN(ISECOV,JPWS2O) IAUXIS=1 CALL INXBIT(KGRIB,KLENG,IPTRBM,IWORK2,ILAUXS,KBITS,1,YOPER, X IRET) C IF (IRET.NE.0) THEN IRETFN = 17360 WRITE(GRPRSM,FMT=9001) 'start of secondary bit-map' GO TO 900 ELSEIF (IWORK2(1).NE.1) THEN IRETFN = 17365 WRITE(GRPRSM,FMT=9365) GO TO 900 ENDIF C ENDIF C ENDIF C ENDIF C C Compute minimum values for pointers. If it leads to value(s) C not fitting in 2 octets, then assume these are the right C value(s) to use. C IPTRGW=KNSPT IPTRFN=1+(8+IPTRGW-INSPTA-1)/8 C IF (LCTWID) THEN IPTRFN=IPTRFN+(8+ISECOV-1)/8 ELSEIF (LROW) THEN IPTRFN=IPTRFN+(8+IFIROV*IBITGW-1)/8 ELSEIF (LGENXT) THEN IPTRFN=IPTRFN+(8+IFIROV*IBITGW-1)/8+(8+IFIROV*IBITGS-1)/8 ELSE IPTRFN=IPTRFN+(8+IFIROV*IBITGW-1)/8+(8+ISECOV-1)/8 ENDIF C IF (IPTRFN.GT.JP16SET) THEN IPTRFO=IPTRFN ENDIF C KSEC4(16)=IPTRFO IPTRSN=IPTRFO+(8+IFIROV*KSEC4(2)-1)/8 C IF (IPTRSN.GT.JP16SET) THEN IPTRSO=IPTRSN KSEC4(17)=IPTRSO ENDIF C #ifndef ebug2o IF (LDEBUG) THEN #endif C IF (LROW) THEN WRITE(GRPRSM,FMT=9381) 'row by row' ELSEIF (LCTWID) THEN WRITE(GRPRSM,FMT=9382) KSEC4(11) ELSEIF (LGENXT) THEN WRITE(GRPRSM,FMT=9381) 'general extended' ELSE WRITE(GRPRSM,FMT=9381) 'WMO general 2nd-order' ENDIF C IF (LBOUST) THEN WRITE(GRPRSM,FMT=9383) ENDIF C IF (IORDER.NE.0) THEN WRITE(GRPRSM,FMT=9384) IORDER, IBIAS ENDIF C WRITE(GRPRSM,FMT=9385) IFIROV, ISECOV, IPTRFO, IPTRSO #ifndef ebug2o ENDIF C #endif KSEC4(20)=IBITGW IPTRFO=(IPTRFO-1)*8+INSPTA IPTRSO=(IPTRSO-1)*8+INSPTA C C Cross checks betweens pointers. C IF (LGENXT) THEN C IPTRGS=(IPTRGS-1)*8+INSPTA C IF (IPTRGW+IFIROV*IBITGW.GT.IPTRGS) THEN IRETFN = 17391 WRITE(GRPRSM,FMT=9391) GO TO 900 ELSEIF (IPTRGS+IFIROV*IBITGS.GT.IPTRFO) THEN IRETFN = 17392 WRITE(GRPRSM,FMT=9393) X 'general extended group size/1st-order values' GO TO 900 ENDIF C ELSEIF (LSECBI) THEN C IF (IPTRB0+ISECOV.GT.IPTRFO) THEN IRETFN = 17393 WRITE(GRPRSM,FMT=9393) '2ndary bit-map/1st-order values' GO TO 900 ENDIF C ENDIF C IF (IPTRFO+IFIROV*KSEC4(2).GT.IPTRSO) THEN IRETFN = 17394 WRITE(GRPRSM,FMT=9393) 'First-order/Second-order' GO TO 900 ENDIF C C ----------------------------------------------------------------- C* Section 4 . Additional preprocessing for function 'X'. C ----------------------------------------------------------------- C 400 CONTINUE C IF (HOPER.EQ.'X') THEN C C First, perform some checks. C INDEXX=34 INDEXY=42 C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9401) INDEXX, INDEXY, X (KSEC4(J),J=INDEXX,INDEXY) #ifndef ebug2o ENDIF #endif C INPEXT=KSEC4(INDEXX) C IF (LPRIBI) THEN IRETFN = 17410 WRITE(GRPRSM,FMT=9410) 'not valid with a (primary) bit-map' GO TO 900 ELSEIF (KSEC2(1).GE.40.OR. X (MOD(KSEC2(1),10).NE.0.AND.MOD(KSEC2(1),10).NE.4)) THEN IRETFN = 17411 WRITE(GRPRSM,FMT=9410) X 'valid only with lat/long or gaussian field' GO TO 900 ELSEIF (INPEXT.LT.1.OR.INPEXT.GT.JPXMAX) THEN IRETFN = 17412 WRITE(GRPRSM,FMT=9412) JPXMAX,' points.' GO TO 900 ELSEIF (INPEXT.GT.KLENP) THEN IRETFN = 17413 WRITE(GRPRSM,FMT=9413) INPEXT GO TO 900 ENDIF C C Take into account third bit of scanning modes to know C which dimension is latitude. C C INCR=0 means that longitude is the most rapidly varying. C INCR=MOD (KSEC2(11),64)/32 C C Now compute 1-dimensional "addresses" in whole field. C DO 422 JEXT=1,INPEXT INDROW=KSEC4(INDEXX+2*JEXT-1+INCR) INDCOL=KSEC4(INDEXX+2*JEXT -INCR) C IF (INDROW.LT.1.OR.INDROW.GT.INROWS) THEN IRETFN = 17421 WRITE(GRPRSM,FMT=9421) JEXT, INCR+1, INROWS GO TO 900 ELSEIF(LQUASI) THEN ISKIP=0 C DO 421 J=1,INDROW-1 ISKIP=ISKIP+KSEC2(IREFLN+J) 421 CONTINUE C ILNGTH=KSEC2(IREFLN+INDROW) C ELSE ISKIP=(INDROW-1)*ILNGTH ENDIF C IF (INDCOL.LT.1.OR.INDCOL.GT.ILNGTH) THEN IRETFN = 17422 WRITE(GRPRSM,FMT=9421) JEXT, 2-INCR, ILNGTH GO TO 900 ENDIF C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9422) JEXT, INDROW, INDCOL, ISKIP, ILNGTH #ifndef ebug2o ENDIF C #endif IF (LBOUST.AND.MOD(INDROW,2).EQ.0) THEN INDCOL=ILNGTH+1-INDCOL ENDIF C IRGEXT(JEXT)=ISKIP+INDCOL INDXOR(JEXT)=JEXT 422 CONTINUE C C Finally, sort "addresses" in ascending order. C DO 432 JEXT=1,INPEXT-1 C DO 431 J=JEXT+1,INPEXT C IF (IRGEXT(J).LT.IRGEXT(JEXT)) THEN IAUXIL=IRGEXT(J) IRGEXT(J)=IRGEXT(JEXT) IRGEXT(JEXT)=IAUXIL IAUXIL=INDXOR(J) INDXOR(J)=INDXOR(JEXT) INDXOR(JEXT)=IAUXIL ENDIF C 431 CONTINUE C 432 CONTINUE C IRGEXT(INPEXT+1)=0 #ifndef ebug2o C IF (LDEBUG) THEN #endif PRINT *,' D2ORDR: IRGEXT = ',IRGEXT,', INDXOR = ',INDXOR,'.' #ifndef ebug2o ENDIF C #endif ELSE INPEXT=0 ENDIF C C ----------------------------------------------------------------- C* Section 5 . Decode values, group by group. C ----------------------------------------------------------------- C 500 CONTINUE C C Finished if function 'J' is requested. C IF (HOPER.EQ.'J') THEN KSEC4(1)=IORDER+ISECOV GO TO 900 ENDIF C ICOUNT=IORDER ICOUNS=IORDER ICOUNG=IORDER IEXT=1 INBSEQ=1+(IFIROV-1)/JPWS1O C IF (KSEC4(2).EQ.0) THEN C C In this case, no first-order values are provided: they are C all equal to 0 (group references equal to field reference). C DO 501 J=1,MIN (IFIROV,JPWS1O) IFIRST(J)=0 501 CONTINUE C ENDIF C IF (LCTWID.AND.HOPER.NE.'X') THEN C C Constant width packing. Second-order values will be C decoded once per sequence. C IPRWID=KSEC4(11) C DO 502 J=1,MIN (IFIROV,JPWS1O) IWIDGR(J)=IPRWID 502 CONTINUE C ENDIF C C Groups treated as sequences, as large as possible C with respect to group work arrays size (JPWS1O). C DO 591 JSEQ=1,INBSEQ C IGROFF=(JSEQ-1)*JPWS1O IGRNBR=MIN (JPWS1O,IFIROV-IGROFF) C IF (LGENXT) THEN CALL INXBIT(KGRIB,KLENG,IPTRGS,IWORK2,IGRNBR,KBITS,IBITGS,YOPER, X IRET) C IF (IRET.NE.0) THEN IRETFN = 17510 WRITE(GRPRSM,FMT=9510) 'sizes', IGROFF+1, IGROFF+IGRNBR GO TO 900 ENDIF C ENDIF C IF (.NOT.LCTWID) THEN CALL INXBIT(KGRIB,KLENG,IPTRGW,IWIDGR,IGRNBR,KBITS,IBITGW,YOPER, X IRET) C IF (IRET.NE.0) THEN IRETFN = 17520 WRITE(GRPRSM,FMT=9510) 'widths', IGROFF+1, IGROFF+IGRNBR GO TO 900 ENDIF C IPRWID=IWIDGR(1) C ENDIF C IF (KSEC4(2).NE.0) THEN C CALL INXBIT(KGRIB,KLENG,IPTRFO,IFIRST,IGRNBR,KBITS,KSEC4(2), X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17530 WRITE(GRPRSM,FMT=9510) '1st-order values', IGROFF+1, X IGROFF+IGRNBR GO TO 900 ENDIF C ENDIF C ILNGTS=0 C C Loop over groups in a given sequence. C DO 551 JGROUP=1,IGRNBR C C Define length of current group: ILNGTH. C IF (LGENXT) THEN ILNGTH=IWORK2(JGROUP) ELSEIF (LSECBI) THEN C ILNGTH=0 C 520 CONTINUE C DO 521 J=IAUXIS+1,ILAUXS C IF (IWORK2(J).EQ.1) THEN IRANG=J GOTO 522 ENDIF C 521 CONTINUE C ILNGTH=ILNGTH+ILAUXS-IAUXIS C IF (IPTRBM.LT.IPTRB0+ISECOV) THEN ILAUXS=MIN(IPTRB0+ISECOV-IPTRBM,JPWS2O) IAUXIS=0 CALL INXBIT(KGRIB,KLENG,IPTRBM,IWORK2,ILAUXS,KBITS,1,YOPER, X IRET) C IF (IRET.NE.0) THEN IRETFN = 17540 WRITE(GRPRSM,FMT=9001) 'secondary bit-map' GO TO 900 ENDIF C GOTO 520 ELSE C C It was the last group. C ILNGTH=ILNGTH+1 GOTO 523 ENDIF C 522 CONTINUE C ILNGTH=ILNGTH+IRANG-IAUXIS IAUXIS=IRANG C 523 CONTINUE C ELSE C C ... that's row by row packing... C C (re)definition of row length. C IF (LQUASI) THEN IREFLN=IREFLN+1 ILNGTH=KSEC2(IREFLN) ELSE ILNGTH=ILEN/INROWS ENDIF C IF (LPRIBI) THEN C C Row by row packing, but an explicit bit-map is included. C The number of values in current row has to be known. C IVALS=ILNGTH C IF (JSEQ.EQ.1) THEN C C Rows of first sequence has been pre-computed in Section 2. C ILNGTH=ILENGR(JGROUP) C ELSE C ILNGTH=0 IVALSC=IVALS C 530 CONTINUE C DO 531 J=1,MIN (IVALSC,ILAUXS-IAUXIS) ILNGTH=ILNGTH+IWORK2(IAUXIS+J) 531 CONTINUE C IF (IVALSC.LE.ILAUXS-IAUXIS) THEN C IAUXIS=IAUXIS+IVALSC C ELSEIF (IPTRBM.LT.KBMAP+KVALS) THEN C IVALSC=IVALSC-(ILAUXS-IAUXIS) ILAUXS=MIN(KBMAP+KVALS-IPTRBM,JPWS2O) IAUXIS=0 #ifndef ebug2o C IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9540) IGROFF+JGROUP, IPTRBM, ILAUXS #ifndef ebug2o ENDIF C #endif CALL INXBIT(KGRIB,KLENG,IPTRBM,IWORK2,ILAUXS,KBITS,1, X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17550 WRITE(GRPRSM,FMT=9001) X 'primary bit-map in row by row case' GO TO 900 ENDIF C GOTO 530 C ELSE C IRETFN = 17560 WRITE(GRPRSM,FMT=9560) GO TO 900 C ENDIF C ENDIF C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9565) IGROFF+JGROUP, ILNGTH, IVALS #ifndef ebug2o ENDIF C #endif ENDIF C ENDIF C ICNEXT=ICOUNT+ILNGTH C IF (ICNEXT.GT.(IORDER+ISECOV)) THEN IRETFN = 17570 WRITE(GRPRSM,FMT=9570) ICNEXT, ISECOV GO TO 900 ENDIF C ILENGR(JGROUP)=ILNGTH C C Go to next group if no point is included in current group. C (may only occur for masked field in row by row case) C IF (ILNGTH.EQ.0) THEN IWIDGR(JGROUP)=0 IFIRST(JGROUP)=0 GOTO 551 ENDIF C C If necessary, (re)define width of current group: IWIDTH. C IWIDTH=IWIDGR(JGROUP) C 540 CONTINUE C C All characteristics of current group are known, so proceed C with second-order data. C C Except for 'X' function, neighbour groups of same width are C "unpacked" together, at least once per sequence. C IF (HOPER.NE.'X') THEN C C All values of current group will have to be processed. C IF (IWIDTH.NE.IPRWID) THEN C C Current group may not be unpacked together with previous one(s). C #ifdef ebug2o PRINT *,'d2ordr - groups..',IGROFF+JGROUP-1, X ' IPTRSO/IPRWID/ICOUNS/ILNGTS= ', X IPTRSO, IPRWID, ICOUNS, ILNGTS #endif C IF (IPRWID.NE.0.AND.ILNGTS.NE.0) THEN C C Effective decoding of second-order values, for previous group(s). C CALL INXBIT(KGRIB,KLENG,IPTRSO,KDATA(ICOUNS+1), X ILNGTS,KBITS,IPRWID,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17580 WRITE(GRPRSM,FMT=9580) 'groups..', IGROFF+JGROUP-1 GO TO 900 ENDIF C ENDIF C ICOUNS=ICOUNT ILNGTS=0 IPRWID=IWIDTH C ENDIF C ILNGTS=ILNGTS+ILNGTH C ELSEIF (IRGEXT(IEXT).GT.ICOUNT.AND.IRGEXT(IEXT).LE.ICNEXT) THEN C C Function 'X' - Compute only a single "full" normalized value. C IEXTOR=INDXOR(IEXT) C IF (IWIDTH.NE.0) THEN IAUXIL=IPTRSO+(IRGEXT(IEXT)-ICOUNT-1)*IWIDTH CALL INXBIT(KGRIB,KLENG,IAUXIL,KDATA(IEXTOR),1,KBITS, X IWIDTH,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17580 WRITE(GRPRSM,FMT=9580) 'group', IGROFF+JGROUP GO TO 900 ENDIF C KDATA(IEXTOR)=IFIRST(JGROUP)+KDATA(IEXTOR) ELSE KDATA(IEXTOR)=IFIRST(JGROUP) ENDIF C IEXT=IEXT+1 #ifndef ebug2o C IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9585) IEXT, INPEXT #ifndef ebug2o ENDIF #endif C C Loop back, to allow for extraction of other point(s) C within the current group. C GOTO 540 C ELSE C C Function 'X', but group contains no requested grid-point. C Pointer adjusted for next group. C IPTRSO=IPTRSO+ILNGTH*IWIDTH C ENDIF C ICOUNT=ICNEXT C 551 CONTINUE C IF (HOPER.NE.'X') THEN C #ifdef ebug2o PRINT *,'d2ordr - groups..',IGROFF+IGRNBR, X ' IPTRSO/IPRWID/ICOUNS/ILNGTS= ', X IPTRSO, IPRWID, ICOUNS, ILNGTS C #endif IF (IPRWID.NE.0.AND.ILNGTS.NE.0) THEN C C Effective decoding of second-order values, for last group(s) C of the current sequence. C C In case of constant width packing it means all groups C of the current sequence. C CALL INXBIT(KGRIB,KLENG,IPTRSO,KDATA(ICOUNS+1), X ILNGTS,KBITS,IPRWID,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 17580 WRITE(GRPRSM,FMT=9580) 'groups..', IGROFF+IGRNBR GO TO 900 ENDIF C ENDIF C ICOUNS=ICOUNT C C Add first-order values to rebuild original normalized values. C DO 563 JGROUP=1,IGRNBR C #ifdef ebug2o IMAXVC=0 #endif IREFER=IFIRST(JGROUP) ILNGTH=ILENGR(JGROUP) IWIDTH=IWIDGR(JGROUP) C IF (IWIDTH.NE.0) THEN C DO 561 J=1,ILNGTH #ifdef ebug2o IMAXVC=MAX(IMAXVC,KDATA(ICOUNG+J)) #endif KDATA(ICOUNG+J)=IREFER+KDATA(ICOUNG+J) 561 CONTINUE C ELSE C C Group with a constant value: no second order value included. C DO 562 J=1,ILNGTH KDATA(ICOUNG+J)=IREFER 562 CONTINUE C ENDIF C ICOUNG=ICOUNG+ILNGTH #ifdef ebug2o PRINT *,'d2ordr - group ',IGROFF+JGROUP,ICOUNG,ILNGTH,IWIDTH, X IREFER,IMAXVC #endif C 563 CONTINUE C ENDIF C 591 CONTINUE C C ----------------------------------------------------------------- C* Section 6 . Last computations. C ----------------------------------------------------------------- C 600 CONTINUE C C From this point and for the remaining part of the routine, C ISECOV is the total number of grid-points. C ISECOV=IORDER+ISECOV C IF (IORDER.NE.0) THEN C C Rebuild original field values from spatial differences. C #if (defined CRAY) || (defined FUJITSU) LVECTD=.TRUE. #else LVECTD=.FALSE. #endif C IRETFN = D2ROSD ( KDATA, ISECOV, IORDER, IPOWER, JPXPWR, X IBIAS, LVECTD, LDEBUG ) C IF (IRETFN.NE.0) THEN GOTO 900 ENDIF C ENDIF C IF (HOPER.NE.'X') THEN C C Recompute original bit number for the whole field. C CALL MAXMNI (KDATA,ISECOV,IMAXVN,IAUXIL) C KSEC4(2) = C2BITW ( IMAXVN, JPXPWR, IPOWER, JPXPWR ) C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9601) KSEC4(2) #ifndef ebug2o ENDIF C #endif IF (ICOUNT.NE.ISECOV) THEN IRETFN = 17610 WRITE(GRPRSM,FMT=9610) ICOUNT, ISECOV GO TO 900 ELSE KSEC4(1)=ISECOV ENDIF C ELSE KSEC4(1)=MIN(IEXT,JPXMAX) ENDIF C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9602) KSEC4(1) #ifndef ebug2o ENDIF C #endif KNSPT=INSPTA+KLEN4*8-KNIL C IF (IPTRSO.NE.KNSPT) THEN IRETFN = 17620 WRITE(GRPRSM,FMT=9620) IPTRSO, KNSPT GO TO 900 ENDIF C IF (LBOUST.AND.HOPER.NE.'X') THEN C C Reverse ordering within even rank rows. C LPRCLN=.FALSE. C IRETFN = REVERO ( KDATA, KLENP, KSEC2, KGRIB, KLENG, X KBITS, KBMAP, KVALS, LPRIBI, LQUASI, X INROWS, ISECOV, IFIRST, JPWS2O, LDEBUG, X LPRCLN, IWORK2 ) ENDIF C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C D2ORDR = IRETFN #ifndef ebug2o C IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IRETFN, HOPER(:1), KNSPT #ifndef ebug2o ENDIF #endif C RETURN C 9001 FORMAT (' D2ORDR: Problem extracting ',A,'.') C 9002 FORMAT (' D2ORDR: ',A,' above',I3,'.') C 9100 FORMAT (' D2ORDR: Function start, HOPER = ',A,', KNSPT =',I10, X '.') 9135 FORMAT (' D2ORDR: Decoded number of bits (for 1st-order values)', X ' =',I3,'.') 9150 FORMAT (' D2ORDR: PREF =',F30.20,', decoded IPTRFO =',I6,'.',/, X ' D2ORDR: KNSPT at end of "Section 1" =',I10,'.') 9210 FORMAT (' D2ORDR: Extended flags =',I9.8,', KNSPT =',I10,'.') 9220 FORMAT (' D2ORDR: First extended flag (reserved) set.') 9225 FORMAT (' D2ORDR: KSEC4(3:10) =',I4,3I3,I2,3I3,'.') 9230 FORMAT (' D2ORDR: Last extended flag(s) (reserved) set.') 9240 FORMAT (' D2ORDR: Matrix of values invalid here.') 9244 FORMAT (' D2ORDR: Function HOPER = "',A1, X '" not supported for spatial differencing.') 9245 FORMAT (' D2ORDR: Spatial differencing implies general', X ' extended 2nd-order packing.') #ifndef wmogrp2o 9255 FORMAT (' D2ORDR: 21st octet of section 4 not zero:',I9.8, X '=>',I3,'.',/,TR10, X 'interpreted as extra bits for group number:',I8,'.') #endif 9260 FORMAT (' D2ORDR: Row by row packing: row/group numbers', X ' not consistent.') 9270 FORMAT (' D2ORDR: Number of second-order values ',A,'.') 9275 FORMAT (' D2ORDR: (Primary bit-map size/section 2 contents)', X ' mismatch.') 9277 FORMAT (' D2ORDR: ',A,' only supported with a section 2.') 9281 FORMAT (' D2ORDR: ',A, S '/Implicit primary bit-map: not supported.') 9290 FORMAT (' D2ORDR: Grid-point number exceeds KDATA size:',I9, X ' >',I9,'.') 9291 FORMAT (' D2ORDR: Function ''X'' - KDATA size must be at least', X I2,' for actual spatial differencing).') C 9310 FORMAT (' D2ORDR: General extended packing implies ',A,'.') 9348 FORMAT ( X' D2ORDR: Bias sign management problem, DSGNBT return is',I5,'.') 9365 FORMAT (' D2ORDR: First bit of secondary bit-map is not set.') 9381 FORMAT (' D2ORDR: Packing method is ',A,'.') 9382 FORMAT (' D2ORDR: Packing method is constant width, on',I3, X ' bits.') 9383 FORMAT (' D2ORDR: Boustrophedonic ordering used.') 9384 FORMAT (' D2ORDR: Spatial differencing used, order is',I2, X ', bias =',I9,'.') 9385 FORMAT (' D2ORDR: IFIROV, ISECOV, IPTRFO, IPTRSO =',2I8,2I10, X '.') 9391 FORMAT ( X ' D2ORDR: Bad pointer to general extended group size info.') 9393 FORMAT (' D2ORDR: (',A,')',' pointers mismatch.') C 9401 FORMAT (' D2ORDR: ''X'' Function - KSEC4(',I2,':',I2,') = ',I3, X 8I6,'.') 9410 FORMAT (' D2ORDR: Function ''X'' ',A,'.') 9412 FORMAT (' D2ORDR: Function ''X'' valid only for 1 to',I3, X ' points.') 9413 FORMAT (' D2ORDR: Function ''X'' - KDATA size insufficient for', X I2,' points requested.') 9421 FORMAT (' D2ORDR: Function ''X'', Point',I6,',',I2, X '-index not in range [1-',I6,'].') 9422 FORMAT (' D2ORDR: JEXT, INDROW, INDCOL, ISKIP, ILNGTH =', X I3,2I6,I8,I6,'.') C 9510 FORMAT (' D2ORDR: ',A,', groups',I6,'..',I6.6,'.') 9540 FORMAT (' D2ORDR: mask, row',I6,', bit-map pointer =',I10, X ', size requested=',I8,'.') 9560 FORMAT (' D2ORDR: Pointers problem for primary bit-map,', X ' row by row case.') 9565 FORMAT (' D2ORDR: mask, row',I6,', length =',I6,' out of',I6,'.') 9570 FORMAT (' D2ORDR: Grid-point number overflow:',I8,' >',I8,'.') 9580 FORMAT (' D2ORDR: second-order values, ',A,I8,'.') 9585 FORMAT (' D2ORDR: IEXT =',I3,', INPEXT =',I3,'.') C 9601 FORMAT ( X ' D2ORDR: Original number of bits -returned in KSEC4(2)-) =', X I3,'.') 9602 FORMAT (' D2ORDR: Values decoded -returned in KSEC4(1)- =', X I8,'.') 9610 FORMAT (' D2ORDR: Mismatch: sum of group lengths =',I8, X ', expected =',I8,'.') 9620 FORMAT (' D2ORDR: Final bit pointer is',I10,', expected =',I10, X '.') C 9900 FORMAT (' D2ORDR: Function return code =',I6,', HOPER = ',A, X ', KNSPT =',I10,'.') C END emoslib-000392+dfsg.1/gribex/ecdef7.h0000755000175000017500000000423112127406245020247 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 7. C C Sensitivity gradient/Trajectory C forecast and Sensitivity forecast data. C --------------------------------------- C C C Word C ---- C 38 as for definition 1. C C 39 Type : C 50 = Sensitivity gradient C 51 = Trajectory forecast C 52 = Sensitivity forecast C C 40 Stream : C 1036 = Sensitivity forecasts C C 41 as for definition 1. C C 42 Forecast number or diagnostic number: C = 0 for trajectory forecast(type 51). C = 0 for control sensitivity forecast(type 52). C = 1 J1 diagnostic(type 50). C = 2 J2 diagnostic(type 50). C = 3 J3 diagnostic(type 50). C = 4 J4 diagnostic(type 50). C = 5 J5 diagnostic(type 50). C C 43 Total number of diagnostics(type 50). C 0 for trajectory forecasts(type 51). C Number of interations in diagnostic C minimisation(type 52). C C 44 Domain C = 0 for Global C = 1 for Europe C = 2 for Northern Hemisphere C = 3 for Southern Hemisphere C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/ecdef17.F0000755000175000017500000001666312127406245020302 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF17(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KRET) C C----> C**** ECDEF17 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 17. C C** Interface. C ---------- C C CALL ECDEF17(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C KSEC1 - Array containing Grib Section 1 data. C KGRIB - Array containing Grib coded data. C KLENG - Length (words) of KGRIB. C KNSPT - Bit number after which insertion/extraction starts. C KBITS - Number of bits in computer word. C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C KGRIB - Array containing Grib coded data.(Updated) C KNSPT - Number of bit after last one inserted/extracted.(Updated) C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 17. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ecdef6.F C #include "ecdef17.h" C C Author. C ------- C C J.D.Chambers ECMWF May 2000 C C C Modifications. C -------------- C C Set space used for the list of SEA-ICE dates to a multiple of C JPPAD to stabilise the length of section 1 of the GRIB header. C (Usually the number of dates will be less than 10). C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JPPAD PARAMETER( JPPAD = 10 ) C C Subroutine arguments C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, ILOOP, LENS1, INDATE, INSPT, NSEAICE, NEXTRA INTEGER IPLEN C LOGICAL LENCODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC.EQ.'C' ) INSPT = KNSPT C C Set bit pointer to start of GRIB section 1 C IPLEN = 8*8 C C ------------------------------------------------------------------ C* Section 2 . Handle definition 6. C ------------------------------------------------------------------ C 200 CONTINUE C C Octet 50-51 :Reserved. C Should be 0 !! C IF ( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO, 1,KBITS, 16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ELSE CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),2,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ENDIF C C Octet 52-54 : YYMMDD date of the SST field used. C IF( LENCODE) THEN INDATE = KSEC1(44) IF( INDATE.GT.19000000 ) INDATE = INDATE - 19000000 ENDIF CALL INXBIT(KGRIB,KLENG,KNSPT,INDATE,1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF IF( .NOT. LENCODE) THEN IF( (INDATE.LT.19000000).AND.(INDATE.GT.100) ) X INDATE = INDATE + 19000000 KSEC1(44) = INDATE ENDIF C C Octet 55 : Type of SST field used. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45), 1,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C Octet 56 : Count of ICE fields used (n, say). C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46), 1,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C Octet 57->54+(n*4) : YYMMDD dates and satellite numbers of the C ICE fields used. C NSEAICE = KSEC1(46) DO ILOOP = 1, NSEAICE C C YYMMDD date. C IF( LENCODE) THEN INDATE = KSEC1(45+(ILOOP*2)) IF( INDATE.GT.19000000 ) INDATE = INDATE - 19000000 ENDIF CALL INXBIT(KGRIB,KLENG,KNSPT,INDATE,1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF IF( .NOT. LENCODE) THEN IF( (INDATE.LT.19000000).AND.(INDATE.GT.100) ) X INDATE = INDATE + 19000000 KSEC1(45+(ILOOP*2)) = INDATE ENDIF C C Satellite number (ICE data). C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46+(ILOOP*2)), X 1,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C ENDDO C C ------------------------------------------------------------------ C* Section 3 . Handle padding of the ICE field slots. C ------------------------------------------------------------------ C 300 CONTINUE C C If the number of ICE fields used is not a multiple of JPPAD, C pad the ICE field slots upto a multiple of JPPAD. C NEXTRA = JPPAD - MOD(NSEAICE,JPPAD) NSEAICE = NSEAICE + NEXTRA IF( LENCODE ) THEN DO ILOOP = 1, NEXTRA CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,32,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ENDDO C C If encoding, set length of section 1. C LENS1 = 56 + NSEAICE*4 CALL INXBIT(KGRIB,KLENG,IPLEN,LENS1, 1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C ELSE C C If decoding, use length of section 1 to step KNSPT pointer C past section 1, past any padding slots if any. C CALL INXBIT(KGRIB,KLENG,IPLEN,LENS1, 1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF KNSPT = INSPT - (49*8) + LENS1*8 ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C C Abort if requested to do so when an error has been encountered. C IF( (IRET.EQ.0).AND.(KRET.NE.0) ) THEN CALL ABORTX ('ECDEF17') ELSE RETURN ENDIF C 9004 FORMAT (' ECDEF17: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/ecdef18.h0000755000175000017500000000515712127406245020341 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 18. C C Multi-analysis ensemble data. C ----------------------------- C C KSEC1 C element C ------- C C 37 ECMWF local GRIB use definition identifier C 18 = Multi-analysis ensemble data C C 38 Class : 1 = Operations C 2 = Research C C 39 Type : 2 = Analysis C 9 = Forecast C 10 = Control forecast C C 40 Stream : 1037 = multi-analysis ensemble data (MAED) C 1083 = multi-analysis wave data (MAWV) C C 41 Expver : Version number/experiment identifier. C ( 4 Ascii characters, right justified) C C 42 Number : Ensemble forecast number: C = 0 for a control forecast. C Not used for analysis (set to zero). C C 43 Total : Total number of forecasts in ensemble. C (Set to 1 for analysis). C C 44 Data origin : C = WMO identifier of centre providing the analysis C = 255 for a consensus product C C 45 Model : four-character identifier of forecast used C = "ECMF" for ECMWF IFS C = WMO centre CCCC identifier otherwise C ( 4 Ascii characters, right justified) C C 46 Consensus count : indicates the composition of the starting C analysis for a product (analysis, forecast, ..) C = 0 for a product from one centre C (ie not a consensus product) C = n for a consensus product, where n is the number of C analyses used in the consensus analysis. C (nb. This allows the case n = 1.) C C 47 - 61 List : WMO centre CCCC identifiers for the analyses used, C eg "KWBC". ( 4 Ascii characters, right justified) C Unused list entries are set to four blanks. C C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/inxbit.F0000755000175000017500000001516512127406245020355 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C----> C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, KBLEN,KRET) C C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion/extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) C Vectorized Fortran version of routine. C This routine contains a call to GSBITE, a vectorising C version of GBYTE(S) and SBYTE(S). #else C Generic version of routine. #endif C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C J.D.Chambers ECMWF 21.05.96 C Defines put in for Fujtsu. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C CHARACTER*1 HFUNC INTEGER IND, INUM, IOFF, IWORD INTEGER KBIT, KBLEN, KGRIB, KLENG, KNSPT, KNUM, KPARM, KRET INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) INTEGER IMASK DIMENSION IMASK(65) C C Values in IMASK are set in the first call to routine GSBITE, and C are used in subsequent calls. C SAVE IMASK C C Force routine GSBITE to calculate bit-masks first time through. C DATA IMASK(2) /0/ #endif C C ---------------------------------------------------------------- C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C #ifdef DEBUG WRITE(GRPRSM,*) 'INXBIT: Input values used -' WRITE(GRPRSM,*) 'KLENG = ', KLENG WRITE(GRPRSM,*) 'KNSPT = ', KNSPT WRITE(GRPRSM,*) 'KBIT = ', KBIT WRITE(GRPRSM,*) 'HFUNC = ', HFUNC #endif C KRET = 0 C C ---------------------------------------------------------------- C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 #ifdef DEBUG WRITE(GRPRSM,*) 'INXBIT: Word is ',IWORD,', bit offset is ',IOFF #endif C C Insert/extract bits. C #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) IF (KNUM.GE.8) THEN C C Vectorising routine GSBITE performs the same C functions as SBYTE(S) and GBYTE(S). C CALL GSBITE (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM, X KBIT,IMASK,HFUNC) ELSE C C Scalar faster. C IF (HFUNC.EQ.'C') THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF ENDIF #elif (defined CYBER) IF (HFUNC.EQ.'C') THEN CALL SBYTES6 (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES6 (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF #elif (defined IBM) || (defined VAX) IF (HFUNC.EQ.'C') THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF #else IF (HFUNC.EQ.'C') THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF #endif C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IND = KNSPT / KBIT IF (IND.GT.KLENG) THEN KRET = 1 WRITE(GRPRSM,*) 'INXBIT : Word ', IND , X ' is outside array bounds ', KLENG ENDIF C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C #ifdef DEBUG INUM = KNUM IF( INUM.GT.360 ) THEN INUM = 360 WRITE(GRPRSM,*) 'First ', INUM,' values.' ENDIF DO 901 J901=1,INUM IF( HFUNC.EQ.'C' ) THEN WRITE(GRPRSM,*) 'Inserted value = ', KPARM(J901) ELSE WRITE(GRPRSM,'(1H ,Z)') KGRIB(IWORD) WRITE(GRPRSM,*) 'Extracted value = ', KPARM(J901) WRITE(GRPRSM,'(1H ,Z)') KPARM(J901) ENDIF 901 CONTINUE WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,*) 'KNSPT = ', KNSPT #endif C RETURN END emoslib-000392+dfsg.1/gribex/ecdef5.h0000755000175000017500000000301512127406245020244 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 5. C Forecast probability data. C ---------------------------------- C C C Words 38-41 as for definition 1. C Word 39 = 16 to indicate forecast probabilities. C C 42 Forecast probability number C C 43 Total number of forecast probabilities C C 44 Threshold units decimal scale factor: C +/- power of 10 (or zero) C top bit = 1 for negative values C C 45 Threshold indicator: C 1 = only lower threshold present C 2 = only upper threshold present C 3 = both upper and lower thresholds C present C C 46 Lower threshold value C C 47 Upper threshold value C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/local2c.c0000755000175000017500000000666112127406245020435 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #ifndef CRAY #ifdef FORTRAN_NO_UNDERSCORE #define LOCAL2C local2c #define LOCAL2KC local2kc #define EMOSNUM emosnum #else #define LOCAL2C local2c_ #define LOCAL2KC local2kc_ #define EMOSNUM emosnum_ #endif #endif #ifdef TABLE_PATH #define USER 1 #else #define USER 0 #define TABLE_PATH "/home/ma/emos/tables/gribex/nnnnnn/local_table_2_version_" #endif #define JPROUTINE 20000 #define BUFFLEN 256 int LOCAL2C(int , int , char * , char * , char * , char * ); int LOCAL2KC(int * , char * , char * , char * , char * ); int EMOSNUM(int *); int LOCAL2KC(int * ksec1, char * hfirst, char * hsecond, char * hthird, char * hfourth) { return ( LOCAL2C( ksec1[0], ksec1[5], hfirst, hsecond, hthird, hfourth) ); } int LOCAL2C(int ktable, int kparam, char * hfirst, char * hsecond, char * hthird, char * hfourth) { char yfile[256], * pyfile; FILE * in; char buffer[BUFFLEN]; int iparam; int nnnnnn, noprint = 1; char NNNNNN[7]; strcpy( hfirst, "NONE"); strcpy( hsecond, "Undefined parameter"); strcpy( hthird , "Undefined parameter"); strcpy( hfourth, "Undefined parameter"); /* Build filename */ pyfile = getenv("ECMWF_LOCAL_TABLE_PATH"); if( pyfile == NULL ) strcpy( yfile, TABLE_PATH); if(USER) strcat(yfile,"/gribtables"); else strcpy( yfile, pyfile); nnnnnn = EMOSNUM(&noprint); sprintf(NNNNNN,"%6.6d",nnnnnn); memcpy((yfile+28),NNNNNN,6); sprintf((yfile+strlen(yfile)),"%3.3d",ktable); /* Open file */ in = fopen(yfile, "r"); if ( in == NULL ) return (JPROUTINE + 2); /* Loop through file */ while(1) { fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); sscanf(buffer, "%3d", &iparam); /* Match found in table */ if( kparam == iparam ) { fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); buffer[strlen(buffer)-1] = '\0'; strcpy(hfirst,buffer); fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); buffer[strlen(buffer)-1] = '\0'; strcpy(hsecond,buffer); fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); buffer[strlen(buffer)-1] = '\0'; strcpy(hthird,buffer); fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); buffer[strlen(buffer)-1] = '\0'; strcpy(hfourth,buffer); return 0; } else { fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); fgets(buffer, BUFFLEN-1, in); if (feof(in) ) return (JPROUTINE + 1); } } } emoslib-000392+dfsg.1/gribex/ecdef50.F0000755000175000017500000001462512127406245020273 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF50(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KRET) C C----> C**** ECDEF50 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 50. C C** Interface. C ---------- C C CALL ECDEF50(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KRET) C C C Input C ----- C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C KSEC1 - Array containing Grib Section 1 data. C KGRIB - Array containing Grib coded data. C KLENG - Length (words) of KGRIB. C KNSPT - Bit number after which insertion/extraction starts. C KBITS - Number of bits in computer word. C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output C ------ C KSEC1 - Array containing Grib Section 1 data.(Updated) C KGRIB - Array containing Grib coded data.(Updated) C KNSPT - Number of bit after last one inserted/extracted. C (Updated) C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 50. C C C Externals. C ---------- C C INXBIT - insert/extract bits C ABORTX - abort the program C CSGNBT - code a signed value C DSGNBT - decode a signed value C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C #include "ecdef50.h" C C C Author. C ------- C C J.D.Chambers ECMWF December 2001 C C C Modifications. C -------------- C C None C C C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C C Subroutine arguments C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, JLOOP, ITEMP, IRETA C LOGICAL LENCODE, LDECODE C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC.EQ.'C' ) LDECODE = .NOT. LENCODE C C -----------------------------------------------------------------| C* Section 2 . Handle the local extension C -----------------------------------------------------------------| C 200 CONTINUE C C Octet 50 : Number C Octet 51 : Total C Octet 52 : Model identifier C Three 8 bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),3,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDEF50: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(*,*) ' encoding section 1, elements 42 - 44.' ELSE WRITE(*,*) ' decoding section 1, octets 50 - 52.' ENDIF GOTO 900 ENDIF C C Octets 53-56: Latitude of North-west corner of area C Octets 57-60: Longitude of North-west corner of area C Octets 61-64: Latitude of South-east corner of area C Octets 65-68: Longitude of South-east corner of area C Four 32 bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),4,KBITS,32,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDEF50: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(*,*) ' encoding section 1, elements 45 - 48.' ELSE WRITE(*,*) ' decoding section 1, octets 53 - 68.' ENDIF GOTO 900 ENDIF C C Octets 69-116 : Reserved for ECMWF additions. C Octet 69 : Original parameter number C Octet 70 : Original parameter table number C Octets 71-116 : Reserved for ECMWF additions. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(49),2,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDEF50: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(*,*) ' encoding section 1, elements 49 - 50.' ELSE WRITE(*,*) ' decoding section 1, octets 69 - 70.' ENDIF GOTO 900 ENDIF C IF( LENCODE ) THEN DO JLOOP = 71, 116 IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDEF50: Error reported by routine INXBIT:' WRITE(*,*) ' encoding section 1, octets 71 - 116' GOTO 900 ENDIF ENDDO ELSE DO JLOOP = 51, 60 KSEC1(JLOOP) = 0 ENDDO KNSPT = KNSPT + 46*8 ENDIF C C Octets 117-300 : Optional data. C Forty-six 32 bit fields. C DO JLOOP = 61, 106 CALL INXBIT( X KGRIB,KLENG,KNSPT,KSEC1(JLOOP),1,KBITS,32,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDEF50: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(*,*) ' encoding section 1, elements 61 - 106.' ELSE WRITE(*,*) ' decoding section 1, octets 117 - 300.' ENDIF GOTO 900 ENDIF ENDDO C C -----------------------------------------------------------------| C* Section 9 . Abort/return to calling routine. Format statements. C -----------------------------------------------------------------| C 900 CONTINUE C C Abort if requested to do so when an error has been encountered. C IF( (IRET.EQ.0).AND.(KRET.NE.0) ) THEN CALL ABORTX('ECDEF50') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/bt_ibm_bal.bal0000755000175000017500000003057412127406245021504 0ustar amckinstryamckinstry* * IBM Assembler version of GBYTE(S) and SBYTE(S). * * **** DOCUMENTATION **** * WRITTEN BY JORDAN HASTINGS AND DENNIS JOSEPH * NCAR, BOULDER, COLORADO * * THE FOLLOWING ROUTINES ALLOW FORTRAN ACCESS TO BIT STRINGS (BYTE * OF ARBITRARY LENGTH AND POSITION, PERHAPS CROSSING WORD BOUNDARIES, * IN THE MANNER SPECIFIED BELOW: * * CALL GBYTE (PCKD,UNPK,INOFST,NBIT) * CALL GBYTES(PCKD,UNPK,INOFST,NBIT, NSKIP,ITER) * * PCKD: THE FULLWORD IN MEMORY FROM WHICH UNPACKING IS TO * BEGIN; SUCCESSIVE FULLWORDS WILL BE FETCHED AS * REQUIRED. * UNPK: THE FULLWORD IN MEMORY INTO WHICH THE INITIAL BYTE * OF UNPACKED DATA IS TO BE STORED; SUBSEQUENT BYTES * WILL BE STORED INTO SUCCESSIVE FULLWORDS AS * REQUIRED. * INOFST: A FULLWORD INTEGER SPECIFYING THE INITAL OFFSET * IN BITS OF THE FIRST BYTE, COUNTED FROM THE * LEFTMOST BIT IN PCKD. * NBITS: A FULLWORD INTEGER SPECIFYING THE NUMBER OF BITS * IN EACH BYTE TO BE UNPACKED. LEGAL BYTE WIDTHS * ARE IN THE RANGE 1 - 32; BYTES OF WIDTH .LT. 32 * WILL BE RIGHT JUSTIFIED IN THE LOW-ORDER POSITIONS * OF THE UNPK FULLWORDS, WITH HIGH-ORDER ZERO FILL. * NSKIP: A FULLWORD INTEGER SPECIFYING THE NUMBER OF BITS * TO SKIP BETWEEN SUCCESSIVE BYTES. ALL NON-NEGATIVE * SKIP COUNTS ARE LEGAL. * ITER: A FULLWORD INTEGER SPECIFYING THE TOTAL NUMBER OF * BYTES TO BE UNPACKED, AS CONTROLLED BY INOFST, * NBIT AND NSKIP ABOVE. ALL NON-NEGATIVE ITERATION * COUNTS ARE LEGAL. * * NOTES ... * 1) A MULTIPLE-BYTE ACCESS (GBYTES) WITH ITER=0 (BUT * NOT 1) IS EXACTLY EQUIVALENT TO A SINGLE-BYTE * ACCESS (GBYTE). * 2) AN ERROR DETECTED IN THE CALLING SEQUENCE OF * EITHER GBYTE OR GBYTES SUPPRESSES BYTE ACCESS, * AND SETS THE FIRST ELEMENT OF UNPK = X'FFFFFFFF' * GBYT TITLE 'IBM S/360 VERSION OF NCAR CDC/6600 BIT MANIPULATION' * * **** REGISTER USAGE **** ZERO EQU X'0' CONSTANT ZERO PCKD EQU X'1' ADDR OF PACKED ARY ELEMENT UNPK EQU X'2' ADDR OF UNPACKED ARY ELEMENT OFST EQU X'3' INITIAL BIT OFFSET NBIT EQU X'4' BYTE LENGTH IN BITS (.LE.32) NSKP EQU X'5' ITERATIVE BIT SKIP ITER EQU X'6' ITERATION COUNT (.GE.0) BITR EQU X'7' BITS REMAINING IN HIWD BITS EQU X'8' BITS TO SHIFT (OFST OR NSKP) WORK EQU X'9' WORK REGISTER HIWD EQU X'A' HI-ORDER WORD (EVEN REGISTER LOWD EQU X'B' LO-ORDER WORD (ODD REGISTER) BYTE EQU X'C' RESULTANT BYTE * EQU X'D' SAVE AREA ADDR (NOT MODIFIED) * EQU X'E' RETURN ADDR (NOT MODIFIED) BASE EQU X'F' BASE ADDR REGISTER NBFW EQU 4 NUMBER OF BYTES/FULL WORD * * * **** CODE **** * GBYTES CSECT , PRIME ENTRY POINT ENTRY GBYTE ALTERNATE ENTRY POINT * USING GBYTES,BASE ENTRY PT ADR ESTB IN R15 BY CALLER SAVE (0,12) SAVE CALLING PROG REGISTERS (MACRO) LM NSKP,ITER,4*NBFW(1) PICK UP NSKIP, ITER PARM ADDRESSES L NSKP,0(,NSKP) PICK UP BIT SKIP COUNT L ITER,0(,ITER) PICK UP ITERATION COUNT B INIT JUMP INTO CODE PROPER * GBYTE DS 0H FORCE HALFWD ALLIGNMENT USING GBYTE,BASE ALT ENTRY ADDR ESTB IN R15 BY CALLER SAVE (0,12) SAVE CALLING PROG REGISTERS (MACRO) SR ITER,ITER MAKE ITERATION COUNT ZERO * INIT BALR BASE,0 RE-ESTABLISH ADDRESSABILITY USING *,BASE LM PCKD,NBIT,0(1) PICK UP ARY AND PARAMETER ADDRESSES L LOWD,0(,OFST) COMPUTE FIRST PCKD WORD AND OFFSET LA WORK,32 SR HIWD,HIWD DR HIWD,WORK LR OFST,HIWD SET OFFSET TO REMAINDER SLA LOWD,2 AR PCKD,LOWD INCR PCKD ADDRESS BY WHOLE WORDS L HIWD,0(,PCKD) PICK UP FIRST WORD OF PACKED ARY LH BITR,=H'32' AFTER HIWD FETCH FULL 32 BITS REMAIN L NBIT,0(,NBIT) PICK UP NO. OF BITS/BYTE TO UNPACK SR ZERO,ZERO ZERO OUT REG 0 LR WORK,BITR MAKE WORK=32 CR ITER,ZERO TEST FOR ZERO ITERATION COUNT BH INIT1 IF NOT, CONTINUE WITH INITIALIZATION INIT0 CR OFST,BITR ELSE, TEST INITIAL OFFSET IN RANGE BNL FAIL IF NOT .LT. 32, FAIL LH ITER,=H'1' FORCE EXACTLY 1 ITERATION B INIT2 INIT1 AR NSKP,NBIT ADD NBIT TO NSKP FOR MULT ACCESS INIT2 LA PCKD,NBFW(PCKD) INCR PACKED ARY POINTER L LOWD,0(,PCKD) PICK UP SECOND WD OF PACKED ARRAY SR WORK,NBIT COMPLEMENT NBITS (MODULO 32) CR WORK,ZERO TEST NBITS IN RANGE BL FAIL IF NOT,.LE.32, FAIL STH WORK,STORE+4 ELSE USE TO SET UP BYTE SHIFT COUNT * OF SRL (RX) INSTR IN STORE SEQ LR BITS,OFST MAKE BITS TO SHIFT = INITIAL OFFSET LR WORK,BITR MAKE WORK=32, AGAIN * TEST CR BITS,BITR COMPARE BITS TO SHIFT WITH REMAINING BL SHIFT IF BITS.LT.BITR, PROCEED WITH SHIFT BH SPLIT IF BITS.GT.BITR, ITER OVER SPLIT WDS * BE COPY ELSE, IF BITS.EQ.BITR, RECOPY HIWD * COPY L HIWD,0(,PCKD) RELOAD HIWD FROM MEM WITH PREV LOWD LA PCKD,NBFW(PCKD) INCR PACKED ARY POINTER L LOWD,0(,PCKD) AND PICK UP NEXT PACKED LOWD LR BITR,WORK RESET BITR TO 32 B STORE PROCEED WITH STORE OPERATIONS * SPLIT STH BITR,*+6 SET UP BITR AS SLDL SHIFT COUNT SLDL HIWD,*-* SHIFT LEFT DOUBLE LOGICAL, HIWD/LOWD SR BITS,BITR DECR BITS TO SHIFT BY SHIFTED BITR B SPLIT1 BYPASS FAST FULLWORD SKIPS LR OFST,BITS COPY BITS REMAINING TO SHIFT TO OFST * (DESTROYING INITAL OFFSET PARM) SRA OFST,5 DIVIDE BY 32 TO GET WORDS TO SHIFT * CR OFST,ZERO SIMULTANEOUSLY SETTING COND CODE * IF REMAINING SHIFT .LT. 1 WORD BNH SPLIT1 FETCH NEXT SEQUENTIAL LOWD IMMED SLA OFST,2 ELSE, MULTIPLY WDS BY 4 TO GET BYTES AR PCKD,OFST INCR PACKED ARRAY POINTER L HIWD,0(,PCKD) AND LOAD NEW HIWD SLA OFST,3 MULTIPY BYTES BY 8 TO GET BITS SR BITS,OFST AND DECR BITS REMAINING TO SHIFT SPLIT1 LA PCKD,NBFW(PCKD) INCR PACKED ARY PTR L LOWD,0(,PCKD) AND PICK UP NEXT PACKED LOWD LR BITR,WORK RESET BITR TO 32 B TEST ITERATE AS NECESSARY * SHIFT STH BITS,*+6 SET UP BITS AS SLDL SHIFT COUNT SLDL HIWD,*-* SHIFT LEFT DOUBLE LOGICAL, HIWD/LOWD SR BITR,BITS DECR BITS REMAINING BY BITS SHIFTED * STORE LR BYTE,HIWD COPY HIWD TO BYTE SRL BYTE,*-* SHIFT RIGHT(WITH HI-ORDER ZERO FILL) * *-* SHIFT COUNT SET UP AT INIT2 STORE1 ST BYTE,0(,UNPK) FILL BYTE INTO UNPACKED ARY LA UNPK,NBFW(UNPK) AND INCR UNPACKED ARY POINTER LR BITS,NSKP RESTORE BITS = (NSKP+NBIT) BCT ITER,TEST DECR ITER COUNT, CONTINUE TILL ZERO * * EXIT RETURN (0,12) RESTORE CALLING PROG REGS (MACRO) * FAIL LH BYTE,=X'FFFF' MAKE BYTE A FULL WD OF 1'S ST BYTE,0(,UNPK) AND FILL INTO UNPACKED ARRAY B EXIT * LTORG END R0 EQU X'0' R1 EQU X'1' R2 EQU X'2' R3 EQU X'3' R4 EQU X'4' R5 EQU X'5' R6 EQU X'6' R7 EQU X'7' R8 EQU X'8' R9 EQU X'9' R10 EQU X'A' R11 EQU X'B' R12 EQU X'C' R13 EQU X'D' R14 EQU X'E' R15 EQU X'F' SBYTES CSECT , * * SBYTE/SBYTES - GENERAL BIT PACKING ROUTINES. * SEE NCAR - TN/93, JANUARY 1974. * D. JOSEPH OCTOBER, 1981. * ENTRY SBYTE USING SBYTES,R15 SAVE (0,12) STM R13,R14,REG13 SAVE REGISTER 13 AND 14 LOCAL. LM R11,R12,16(R1) GET SKIP AND ITERATION COUNT. L R11,0(R11) L R12,0(R12) B START SBYTE DS 0H USING SBYTE,R15 SAVE (0,12) STM R13,R14,REG13 SAVE REGISTER 13 AND 14 LOCAL. SR R12,R12 ZERO ITERATION COUNT. START BALR R15,R0 RE-ESTABLISH ADDRESSABILITY. USING *,R15 LM R7,R10,0(R1) GET REMAINING ARG ADDRESSES. LA R1,1 SET CONSTANT ONE. L R10,0(R10) GET BYTE SIZE. LA R0,1 MAKE MASK. SLL R0,31 SR R10,R1 STH R10,MASK+2 AR R10,R1 LA R6,32 MAKE CONSTANT 32. L R14,COMP LOAD COMPLEMENT MASK. MASK SRA R0,*-* LR R13,R0 SAVE MASK. SLL R12,2 NUM OF ITERATIONS * FOUR. AR R12,R8 SET ITERATION LIMIT. L R4,0(R9) APPLY INITIAL OFFSET. LA R1,96 CR R4,R1 CHECK FOR LARGE OFFSET. BL NODIV LR R5,R4 SR R4,R4 DR R4,R6 USE DIVIDE FOR LARGE OFFSET SLL R5,2 CHANGE WORD COUNT TO BYTE COUNT. AR R7,R5 NODIV EQU * LA R5,4 LOAD CONSTANT FOUR. RELOAD CR R4,R6 FIND WORD AND OFFSET. BL ILOAD START IF OFFSET < 32. SR R4,R6 AR R7,R5 B RELOAD ILOAD L R9,0(R7) GET STORE WORD. BEGIN STH R4,PMASK+2 POSITION MASK IN DOUBLE WORD. SR R1,R1 PMASK SRDL R0,*-* L R3,0(R8) LOAD BYTE FOR STORE. LA R2,64 SR R2,R10 POSITION BYTE. SR R2,R4 STH R2,SHIFTB+2 SR R2,R2 SHIFTB SLDL R2,*-* SHIFT BYTE TO STORE. NR R2,R0 MASK ON CURRENT MASK. XR R0,R14 COMPLEMENT MASK. NR R9,R0 OPEN HOLE FOR BYTE. OR R9,R2 INSERT BYTE. AR R4,R10 ADD BYTE SIZE. CR R4,R6 BNH NOPART BRANCH IF NO PARTIAL BYTE. ST R9,0(R7) STORE CURRENT WORD. SR R4,R6 AR R7,R5 ADD FOUR TO WORD ADDRESS. L R9,0(R7) LOAD NEXT WORD. NR R3,R1 ISOLATE PARTIAL BYTE. XR R1,R14 COMPLEMENT MASK. NR R9,R1 OPEN HOLE FOR PARTIAL BYTE. OR R9,R3 INSERT PARTIAL BYTE. NOPART AR R8,R5 COUNT BYTE. CR R8,R12 CHECK IF DONE. BNL DONE AR R4,R11 ADD SKIP AMOUNT. LR R0,R13 RELOAD MASK CR R4,R6 BL BEGIN BRANCH IF IN SAME WORD. ST R9,0(R7) STORE CURRENT WORD. B RELOAD GO TO GET NEW WORD. DONE ST R9,0(R7) STORE LAST WORD. LM R13,R14,REG13 RESTORE REGISTER 13 AND 14. RETURN (0,12) HMASK DS D ARE FOR CURRENT MASK. REG13 DS F REG14 DS F COMP DC X'FFFFFFFF' COMPLEMENT MASK. LTORG END emoslib-000392+dfsg.1/gribex/bt_vax.F0000755000175000017500000006250312127406245020341 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C----> C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES C GBYTES C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C VAX version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) C CHARACTER*1 HFUNC C C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C EXIT C C Reference. C ---------- C C None. C C Comments. C --------- C C VAX version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL EXIT (-1) C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C VAX version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 32 KNEG = -2147483648 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END SUBROUTINE GBITS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C C**** GBITS - VAX routine. C DIMENSION NPACK(*),ISAM(*) PARAMETER (LENWRD=32) C C ++++++++++ C CALL GBITS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C STARTS UNPACKING BITS AT BIT OFFSET IBIT IN ARRAY C NPACK. IT TAKES NBITS AND STORES THEM IN THE LONGWORD C ARRAY STARTING AT ISAM. THEN NSKIP BITS ARE SKIPPED IN C NPACK AND THE NEXT FIELD OF NBITS IS UNPACKED INTO THE C NEXT ISAM. THIS IS DONE A TOTAL OF ITER TIMES. C C THIS ROUTINE EXTRACTS BITS FROM VAX WORDS. C IT IS SIMILAR TO NCAR'S GBYTE BUT IT WORKS WITH C THE NATURAL UNDERLYING STRUCTURE OF THE VAX. C ---------- C ISW = 1 GO TO 8 C C ENTRY SBITS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C C ++++++++++ C CALL SBITS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C THIS ROUTINE TAKES THE FIRST LONGWORD LOCATED AT C ISAM AND STORES IT INTO THE NBITS OF NPACK STARTING AT C BIT OFFSET IBIT. THEN NSKIP BITS ARE SKIPPED IN C NPACK AND THE PROCESS IS REPEATED A TOTAL OF ITER TIMES. C C THIS ROUTINE EXTRACTS BITS FROM VAX WORDS. C IT IS SIMILAR TO NCAR'S SBYTE BUT IT WORKS WITH C THE NATURAL UNDERLYING STRUCTURE OF THE VAX. C ---------- ISW = 2 GO TO 8 C C ++++++++++ ENTRY G_BYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C CALL G_BYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C STARTS UNPACKING BITS AT BIT OFFSET IBIT IN ARRAY C NPACK. IT TAKES NBITS AND STORES THEM IN THE LONGWORD C ARRAY STARTING AT ISAM. THEN NSKIP BITS ARE SKIPPED IN C NPACK AND THE NEXT FIELD OF NBITS IS UNPACKED INTO THE C NEXT ISAM. THIS IS DONE A TOTAL OF ITER TIMES. C C THIS ROUTINE DEALS WITH BITS AND BYTES IN THE ORDER C THEY ARE NUMBERED ON THE MESA (IE BIGENDIAN). C ---------- ISW = 3 GO TO 8 C C ++++++++++ ENTRY S_BYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C CALL S_BYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C THIS ROUTINE TAKES THE FIRST LONGWORD LOCATED AT C ISAM AND STORES IT INTO THE NBITS OF NPACK STARTING AT C BIT OFFSET IBIT. THEN NSKIP BITS ARE SKIPPED IN C NPACK AND THE PROCESS IS REPEATED A TOTAL OF ITER TIMES. C C C THIS ROUTINE DEALS WITH BITS AND BYTES IN THE ORDER C THEY ARE NUMBERED ON THE MESA (IE BIGENDIAN). C ---------- ISW = 4 GOTO 8 C C ++++++++++ ENTRY GBYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C THIS ROUTINE IS JUST A REPEATED CALL TO G_BYTE C WHERE SUCCESSIVE CALLS SKIP NSKIP BITS C AND THE LOOP COUNT IS ITER ISW = 5 GOTO 8 C C ++++++++++ ENTRY SBYTES(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C THIS ROUTINE IS JUST A REPEATED CALL TO S_BYTE C WHERE SUCCESSIVE CALLS SKIP NSKIP BITS C AND THE LOOP COUNT IS ITER ISW = 6 GO TO 8 C C ++++++++++ ENTRY GBILS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C GBIL(S)/SBIL(S) ENTRIES ALLOW DIRECT MAINTENANCE OF LEFT TO RIGHT C BIT STRINGS IN DEC ENVIRONMENT (VAX). THE MODIFICATION RETAINS FUL C COMPATIBILITY WITH ORIGINAL ENTRIES, HOWEVER, VERIFICATION BEYOND C GBIL(S)/SBIL(S) WAS VIA GBITS/SBITS ONLY (NOT GBYTES/SBYTES). C C MODIFICATION PROGRAMMED BY A.D.STROUD, COMPASS SYSTEMS, INC. C NOVEMBER 1987 UNDER TOGA GRAND FUNDING DURING SOFTWARE DEVELOPMENT C FOR WMO PROPOSED STANDARD FM 94 BUFR ON THE VAX STATION II AT THE C OAG/NOS/NOAA, MONTEREY, CA. C C FOR GBIL(S)/SBIL(S) THE FOLLOWING PARAMETER USAGE APPLIES C C NPACK - LEFT MOST(HIGHEST INDEXED) LONGWORD IN PACKED BIT STRING C ARRAY SPACE INFERRED BY IBIT(IN LIEU OF LOWEST INDEX FOR C NON-DEC, NOTE - SECOND 32 BIT SUBSTRING IN BIT STRING IS C NPACK(0), THIRD 32 BIT SUBSTRING IS NPACK(-1), ETC.,...) C C ISAM - ARRAY HOLDING/TO HOLD UNPACKED ELEMENT(S) (RJZF) FOR C SBIL(S)/GBIL(S), RESPECTIVELY. C C IBIT - INITIAL LEFT TO RIGHT BIT SKIP WITHIN THE NPACK BIT STRI C (INCLUDING LEFTMOST BIT OF NPACK, INTERPRET BIT SKIP THE C SAME AS IN NON-DEC ENVIRONMENT) C C NBITS - FIXED BIT WIDTH OF EACH ELEMENT TO BE UNPACKED. C C NSKIP - FIXED LEFT TO RIGHT BIT SKIP WIDTH BETWEEN ELEMENTS. C C ITER - NUMBER OF ELEMENTS TO UNPACK(IMPLIED MINIMUM DIMENSIONAL C OF ISAM ARRAY). C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C EXAMPLE C C 1) PARAMETER (N4=1000 , NB=4000, NL=1000) C 2) INTEGER I4(N4),UNPACK(99) C 3) BYTE IB(NB) C 4) EQUIVALENCE (I4(1),IB(1)) C C 5) READ(LUI,'(4000A1)') (IB(I),I=NB,1,-1) C FORMATTED READ OF ARBITRARY BITSTRING FROM NON-DEC C SITE, OR FROM DEC FILE AS WRITTEN AT 9) BELOW. C C 6) CALL GBILS(I4(NL),UNPK,67,22,47,95) C AFTER INITIALLY SKIPPING 67 BITS TO A POINT BEYOND THE C LEFTMOST THREE BITS OF I4(NL-2), GBILS ACQUIRES 95 C SUBSTRING ELEMENTS OF THE WIDTH 22 BITS(EACH RIGHT JUST C WITH HIGH ORDER ZERO FILL) INTO THE RESPECTIVE FIRST C 95 ARRAY ELEMENTS OF UNPK. SEPARATED BY 47 BITS IN SOUR C BITSTRING ARRAY I4, THE EXTRACTED DUPLICATE SUBSTRING C ELEMENTS ARE NOW EFFECTIVELY SEPARATED FROM EACH OTHER C BY 10 ZERO BITS IN OBJECT BITSTRING ARRAY UNPK. C C 7) UNPK(J)=... (J=1,95) C C 8) CALL SBILS(I4(NL),UNPK,67,22,47,95) C AFTER INITIALLY SKIPPING 67 BITS TO A POINT BEYOND THE C LEFTMOST THREE BITS OF I4(NL-2), SBILS STORES IN SUCCES C SIVE BITS THE FIRST OF 95 MODIFIED UNPK RIGHTMOST 22 BI C WIDTH SUBSTRING ELEMENTS. AFTER SKIPPING 47 BITS BEYOND C THE RIGHTMOST OF THE FIRST 22 BITS STORED, THE SECOND 2 C BIT ELEMENT IS STORED, ETC. THE ORIGINAL SUBSTRING C ELEMENTS HAVE BEEN REPLACED BY MODIFIED SUBSRING ELEMEN C IN SITU WITHIN THE BITSTRING ARRAY I4 WITHOUT MODIFYING C ANY OTHER BITS. C C 9) WRITE(LUO,'(4000A1)') (IB(I),I=NB,1,-1) C FILE FOR NON-DEC OR FOR READ 5) ABOVE. C C C ISW = 7 GO TO 6 C C ++++++++++ ENTRY SBILS(NPACK,ISAM,IBIT,NBITS,NSKIP,ITER) C ++++++++++ C C ISW = 8 GO TO 6 C C ++++++++++ ENTRY GBIL(NPACK,ISAM,IBIT,NBITS) C ++++++++++ C ISW = 9 GO TO 5 C C ++++++++++ ENTRY SBIL(NPACK,ISAM,IBIT,NBITS) C ++++++++++ C ISW=10 5 ITER1= 1 NSKIP1=-NBITS GO TO 7 C 6 NSKIP1=-NSKIP-NBITS C 7 JOFF=-IBIT-NBITS IF(ISW.LT.9) GO TO 9 GO TO 10 C 8 NSKIP1=NSKIP+NBITS JOFF=IBIT C 9 ITER1=ITER C C 10 DO 30 I = 1 , ITER1 C IF(JOFF.GT.0) IBASE=JOFF/LENWRD+1 IF(JOFF.LE.0) IBASE=(JOFF+1)/LENWRD+1 IOFF=MOD(JOFF,LENWRD) IF(JOFF.LE.0) IOFF=MOD(IOFF+LENWRD,LENWRD) C GO TO(11,12,13,14,15,16,11,12,11,12) ISW C 11 CALL GBIT(NPACK(IBASE),ISAM(I),IOFF,NBITS) GO TO 20 12 CALL SBIT(NPACK(IBASE),ISAM(I),IOFF,NBITS) GO TO 20 13 CALL G_BYTe(NPACK(IBASE),ISAM(I),IOFF,NBITS) GO TO 20 14 CALL S_BYTE(NPACK(IBASE),ISAM(I),IOFF,NBITS) GO TO 20 15 CALL GBYTE(NPACK(IBASE),ISAM(I),IOFF,NBITS) GOTO 20 16 CALL SBYTE(NPACK(IBASE),ISAM(I),IOFF,NBITS) GOTO 20 20 JOFF = JOFF + NSKIP1 30 CONTINUE RETURN END SUBROUTINE GBYTE(NPACK,ISAM,IBIT,NBITS) C C**** GBYTE - VAX routine. C C ++++++++++ C CALL GBYTE(NPACK,ISAM,IBIT,NBITS) C STARTS UNPACKING BITS AT BIT OFFSET IBIT IN ARRAY C NPACK. IT TAKES NBITS AND STORES THEM IN THE LONGWORD C ARRAY STARTING AT ISAM. C C THIS ROUTINE DEALS WITH BITS AND BYTES IN THE ORDER C THEY ARE NUMBERED ON THE MESA (IE BIGENDIAN). C ---------- C C GBYTE AND SBYTE ARE SPECIAL ROUTINES TO DO THE SAME C THINGS AS THEIR COUNTERPARTS ON THE MESA. C THEY DIFFER FROM THE BITS ROUTINES IN THAT BITS C ARE COUNTED FROM THE TOP OF THE WORD RATHER THAN C THE BOTTOM. THIS MEANS THAT THE BITS THEY SPECIFY JUMP AROUND C WHEN CROSSING BYTE BOUNDARIES. THERE IS NO ASSUMPTION C MADE ABOUT THE WORDSIZE OF THE MACHINE THEY WERE WRITTEN C ON. HOWEVER THE MAXIMUM NUMBER OF BITS EXTRACTED MUST BE C LESS THAN OR EQUAL TO 32. C BYTE NPACK(8) INTEGER T EXTERNAL SS$_ABORT IDBIT(I) = 7 - MOD(I,8) ISW = 3 ISAM = 0 GO TO 10 ENTRY SBYTE(NPACK,ISAM,IBIT,NBITS) C ++++++++++ C CALL SBYTE(NPACK,ISAM,IBIT,NBITS) C THIS ROUTINE TAKES THE FIRST LONGWORD LOCATED AT C ISAM AND STORES IT INTO THE NBITS OF NPACK STARTING AT C BIT OFFSET IBIT. C C C THIS ROUTINE DEALS WITH BITS AND BYTES IN THE ORDER C THEY ARE NUMBERED ON THE MESA (IE BIGENDIAN). C ---------- ISW = 4 10 IBASE = IBIT/8 C IBASE POINTS TO THE FIRST BYTE INVOLVED IOFF = IBIT - 8*IBASE C IOFF IS THE BIT OFFSET WITHIN FIRST BYTE M = (IOFF+NBITS-1)/8 + 1 C M IS THE NUMBER OF BYTES (INCLUDING PARTIALS) INVOLVED C IF(M.GT.5)THEN IF(NBITS.GT.32)THEN TYPE *,'ILLEGAL VALUE FOR NBITS IN S/GBYTE(S) CALL' CALL SYS$EXIT(SS$_ABORT) END IF NN = 0 C NN IS THE NUMBER OF BITS TRANSFERRED DO 20 I = M , 1 , -1 C LOOP ON BYTES IS = IDBIT(0) C CALC FIRST BIT WITHIN BYTE IE = IDBIT(7) C CALC LAST BIT WITHIN BYTE IF(I.EQ.1)IS = IDBIT(IOFF) C FIRST BIT VARIES FOR FIRST BYTE IF(I.EQ.M)IE = IDBIT(IOFF+NBITS-1) C LAST BIT VARIES FOR LAST BYTE N = IS - IE + 1 C CALC NUMBER OF BITS WITHIN BYTE TO XFER IF(ISW.EQ.4)GO TO 12 CALL GBIT(NPACK(IBASE+I),T,IE,N) C EXTRACT BITS FROM SOURCE CALL SBIT(ISAM,T,NN,N) C AND LOAD INTO DESTINATION GO TO 15 12 CALL GBIT(ISAM,T,NN,N) C EXTRACT BITS FROM SOURCE CALL SBIT(NPACK(IBASE+I),T,IE,N) C AND LOAD INTO DESTINATION 15 NN = NN + N C UPDATE BITS XFERRED 20 CONTINUE RETURN END SUBROUTINE G_BYTE(NPACK,ISAM,IBIT,NBITS) C C**** G_BYTE - VAX routine. C C G_BYTE AND S_BYTE ARE SPECIAL ROUTINES TO DO THE SAME C THINGS AS THEIR COUNTERPARTS ON THE MESA. C THEY DIFFER FROM THE BITS ROUTINES IN THAT BITS C ARE COUNTED FROM THE TOP OF THE WORD RATHER THAN C THE BOTTOM. THIS MEANS THAT THE BITS THEY SPECIFY JUMP AROUND C WHEN CROSSING BYTE BOUNDARIES. THERE IS NO ASSUMPTION C MADE ABOUT THE WORDSIZE OF THE MACHINE THEY WERE WRITTEN C ON. HOWEVER THE MAXIMUM NUMBER OF BITS EXTRACTED MUST BE C LESS THAN OR EQUAL TO 32. C BYTE NPACK(8) INTEGER T EXTERNAL SS$_ABORT IDBIT(I) = 7 - MOD(I,8) ISW = 3 ISAM = 0 GO TO 10 ENTRY S_BYTE(NPACK,ISAM,IBIT,NBITS) ISW = 4 10 IBASE = IBIT/8 C IBASE POINTS TO THE FIRST BYTE INVOLVED IOFF = IBIT - 8*IBASE C IOFF IS THE BIT OFFSET WITHIN FIRST BYTE M = (IOFF+NBITS-1)/8 + 1 C M IS THE NUMBER OF BYTES (INCLUDING PARTIALS) INVOLVED C IF(M.GT.5)THEN IF(NBITS.GT.32)THEN TYPE *,'ILLEGAL VALUE FOR NBITS IN S/G_BYTE(S) CALL' CALL SYS$EXIT(SS$_ABORT) END IF NN = 0 C NN IS THE NUMBER OF BITS TRANSFERRED DO 20 I = M , 1 , -1 C LOOP ON BYTES IBB = IBASE + I - 1 IBC = IBB/4 IBD = 4*IBC+3-MOD(IBB,4) + 1 C CALCULATE UNSHIFTED BYTE IS = IDBIT(0) C CALC FIRST BIT WITHIN BYTE IE = IDBIT(7) C CALC LAST BIT WITHIN BYTE IF(I.EQ.1)IS = IDBIT(IOFF) C FIRST BIT VARIES FOR FIRST BYTE IF(I.EQ.M)IE = IDBIT(IOFF+NBITS-1) C LAST BIT VARIES FOR LAST BYTE N = IS - IE + 1 C CALC NUMBER OF BITS WITHIN BYTE TO XFER IF(ISW.EQ.4)GO TO 12 C CALL GBIT(NPACK(IBASE+I),T,IE,N) CALL GBIT(NPACK(IBD),T,IE,N) C EXTRACT BITS FROM SOURCE CALL SBIT(ISAM,T,NN,N) C AND LOAD INTO DESTINATION GO TO 15 12 CALL GBIT(ISAM,T,NN,N) C EXTRACT BITS FROM SOURCE C CALL SBIT(NPACK(IBASE+I),T,IE,N) CALL SBIT(NPACK(IBD),T,IE,N) C AND LOAD INTO DESTINATION 15 NN = NN + N C UPDATE BITS XFERRED 20 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/confp3.F0000755000175000017500000001632112127406245020243 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CONFP3(PVAL,KEXP,KMANT,KBITS,KROUND) C C----> C**** CONFP3 - Convert floating point number to GRIB representation. C C Purpose. C -------- C C Convert floating point number from machine C representation to GRIB representation. C C** Interface. C ---------- C C CALL CONFP3(PVAL,KEXP,KMANT,KBITS,KROUND) C C C Input Parameters. C ----------------- C C PVAL - Floating point number to be converted. C KBITS - Number of bits in computer word. C KROUND - Conversion type. C 0 , Closest number in GRIB format less than C original number. C 1 , Closest number in GRIB format to the C original number (equal to, greater than or C less than original number). C 10 , as for 0 but with debug printout. C 11 , as for 1 but with debug printout. C C Output Parameters. C ----------------- C C KEXP - 8 Bit signed exponent. C KMANT - 24 Bit mantissa. C C Method. C ------- C C Floating point number represented as 8 bit signed C exponent and 24 bit mantissa in integer values. C C Externals. C ---------- C C DECFP2 C ABORTX C C Reference. C ---------- C C WMO Manual on Codes re GRIB representation. C C Comments. C --------- C C Routine aborts if an invalid conversion type parameter C is used or if a 24 bit mantissa is not produced. C C C Author. C ------- C C John Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C John Hennessy ECMWF 24.09.91 C Corrections made to descriptions of input parameter KROUND. C Changes to comments and format statements. C C J.D.Chambers ECMWF 13.09.94 C Inhibit abort if NOABORT = 1, use grbcom.h C C C J.D.Chambers ECMWF 21.11.94 C Use JNINT for VAX C C----< C ----------------------------------------------------------------- C* Section 0 . Definition of variables. Set initial values. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C #include "grbcom.h" C C Subroutine arguments C REAL PVAL INTEGER KEXP,KMANT,KBITS,KROUND C C Local variables C INTEGER IEXP, IPR, IROUND, ISIGN REAL ZEPS, ZREF, ZVAL C C ----------------------------------------------------------------- C* Section 1 . Initialise C ----------------------------------------------------------------- C 100 CONTINUE C C Debug print switch. C IF( KROUND.GE.10) THEN IPR = 1 IROUND = KROUND - 10 ELSE IPR = 0 IROUND = KROUND ENDIF C C Check conversion type parameter. C IF( IROUND.NE.0.AND.IROUND.NE.1) THEN WRITE(GRPRSM,*) 'CONFP3: Invalid conversion type = ', KROUND C IF( NOABORT.EQ.0 ) CALL ABORTX('CONFP3') C C If not aborting, arbitrarily set rounding to 'up'. C IROUND = 1 ENDIF C C ----------------------------------------------------------------- C* Section 2 . Convert value of zero. C ----------------------------------------------------------------- C 200 CONTINUE C IF( PVAL.EQ.0.0 ) THEN KEXP = 0 KMANT = 0 IEXP = 0 ISIGN = 0 GOTO 900 ENDIF C C ----------------------------------------------------------------- C* Section 3 . Convert other values. C ----------------------------------------------------------------- C 300 CONTINUE C ZEPS = 1.0E-12 IF( KBITS.EQ.32) ZEPS = 1.0E-8 ZREF = PVAL C C Sign of value. C ISIGN = 0 IF( ZREF.LT.0.) THEN ISIGN = 128 ZREF = - ZREF ENDIF C C Exponent. C #ifdef CRAY IEXP = INT(ALOG(ZREF)*(1.0/ALOG(16.0))+64.0+1.0+ZEPS) #else IEXP = INT(LOG(ZREF)*(1.0/LOG(16.0))+64.0+1.0+ZEPS) #endif C IF( IEXP.LT.0 ) IEXP = 0 IF( IEXP.GT.127) IEXP = 127 C C Mantissa. C IF( IROUND.EQ.0 ) THEN C C Closest number in GRIB format less than original number. C Truncate for positive numbers. C Round up for negative numbers. C IF( ISIGN.EQ.0 ) THEN KMANT = INT(ZREF/16.0**(IEXP-70)) ELSE #ifdef VAX KMANT = JNINT(ZREF/16.0**(IEXP-70)+0.5) #else KMANT = NINT(ZREF/16.0**(IEXP-70)+0.5) #endif ENDIF C ELSE C C Closest number in GRIB format to the original number C (equal to, greater than or less than original number). C #ifdef VAX KMANT = JNINT(ZREF/16.0**(IEXP-70)) #else KMANT = NINT(ZREF/16.0**(IEXP-70)) #endif ENDIF C C Check that mantissa value does not exceed 24 bits. C If it does, adjust the exponent upwards and recalculate C the mantissa. C (Nb. 16777215 = 2**24 - 1) C IF( KMANT.GT.16777215) THEN C 350 CONTINUE C IEXP = IEXP + 1 C C Check for exponent overflow during adjustment C IF( IEXP.GT.127 ) THEN WRITE(GRPRSM,*) 'CONFP3: Exponent overflow' WRITE(GRPRSM,9002) PVAL WRITE(GRPRSM,9003) ISIGN, IEXP, KMANT C IF( NOABORT.EQ.0 ) CALL ABORTX('CONFP3') C C If not aborting, arbitrarily set value to zero C WRITE(GRPRSM,*) 'CONFP3: Value arbitrarily set to zero.' KEXP = 0 KMANT = 0 IEXP = 0 ISIGN = 0 GOTO 900 C ENDIF C IF( IROUND.EQ.0) THEN C C Closest number in GRIB format less than original number. C Truncate for positive numbers. C Round up for negative numbers. C IF( ISIGN.EQ.0 ) THEN KMANT = INT(ZREF/16.0**(IEXP-70)) ELSE #ifdef VAX KMANT = JNINT(ZREF/16.0**(IEXP-70)+0.5) #else KMANT = NINT(ZREF/16.0**(IEXP-70)+0.5) #endif ENDIF C ELSE C C Closest number in GRIB format to the original number C (equal to, greater or less than original number). C #ifdef VAX KMANT = JNINT(ZREF/16.0**(IEXP-70)) #else KMANT = NINT(ZREF/16.0**(IEXP-70)) #endif ENDIF C C Repeat calculation (with modified exponent) if still have C mantissa overflow. C IF( KMANT.GT.16777215) GOTO 350 C ENDIF C C Add sign bit to exponent. C KEXP = IEXP + ISIGN C C ----------------------------------------------------------------- C* Section 9. Return C ----------------------------------------------------------------- C 900 CONTINUE C C Print generated values if required. C IF( IPR.EQ.1 ) THEN WRITE(GRPRSM,9006) KROUND WRITE(GRPRSM,9002) PVAL CALL DECFP2(ZVAL,KEXP,KMANT) WRITE(GRPRSM,9007) ZVAL WRITE(GRPRSM,9003) ISIGN, IEXP, KMANT ENDIF C RETURN C C 9002 FORMAT(1H ,'CONFP3: Original number = ',F30.20) 9003 FORMAT(1H ,'CONFP3: Sign = ',I3,', Exponent = ',I3, X ', Mantissa = ',I12) 9006 FORMAT(1H ,'CONFP3: Conversion type parameter = ',I4) 9007 FORMAT(1H ,'CONFP3: Converted to ',F30.20) C END emoslib-000392+dfsg.1/gribex/grsmok.F0000755000175000017500000000571412127406245020361 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSMOK ( KUM2OK ) C C----> C**** GRSMOK - controls use of Methods for GRIBEX Option 'K' C (2nd-order aggressive packing). C C Purpose. C -------- C C Exhaustive 2nd-order aggressive packing switch set on or off C for routine GRIBEX. C C C** Interface. C ---------- C C CALL GRSMOK ( KUM2OK ) C C C Input Parameter. C ---------------- C C KUM2OK - Exhaustive 2nd-order aggressive packing switch flag, C = 0 , user supplies the allowed methods (default) C = Non-zero , all applicable methods. C C (Use for HOPER='K' function) C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C The variable NUM2OK is set in the common area. All other C parameters are also set to default values, if they have C not already been set by the user. C C C Externals. C ---------- C C GRSDEF - Default setting of global variables. C C C Reference. C ---------- C C See subroutine GRIBEX. C C C Comments. C --------- C C None. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C -------------- C C J. Clochard, Meteo France, for ECMWF - June 1999. C Use a static variable to determine if initialisation of C default values has already been done for common area variables. C C C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C C Subroutine arguments. INTEGER KUM2OK C C Local variables. INTEGER IUM2OK C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C----< C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C IUM2OK = 0 IF (KUM2OK.NE.0) IUM2OK = 1 C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C Set exhaustive 2nd-order aggressive packing switch C to required value. C NUM2OK = IUM2OK C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/ecdf190.h0000755000175000017500000000411112127406245020242 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 190. C Multiple ECMWF local definitions C -------------------------------- C C Octet KSEC1(n) C ----- -------- C C 41 37 ECMWF local GRIB use definition identifier (= 190) C C 42 38 Class C C 43 39 Type C C 44-45 40 Stream C C 46-49 41 Version number/experiment identifier. C (4 Ascii characters, right justified) C C 50-51 42-43 Set to zero (For compatibility with other C ECMWF local definitions) C C 52 44 Number of ECMWF local definitions (N, say) C C 53 45 First ECMWF local definition number C C 54-55 46 Number of bytes in first ECMWF local definition C C 56 47 Second ECMWF local definition number C C 57-58 48 Number of bytes in second ECMWF local definition C C ... ... C C 50+N*3 43+N*2 Nth ECMWF local definition number C C 51+N*3-52+N*3 44+N*2 Number of bytes in Nth ECMWF local definition C C C N ECMWF local definitions follow: C C 53+N*3... 45+N*2 Stream of ECMWF local definition bytes previously C encoded/decoded via function calls. C C The ECMWF local definitions are the locally defined extensions from C byte 41 onwards. C C If definition 190 appears in the list of ECMWF local, the stream of C ECMWF local definition bytes will include its own stream of ECMWF C local definition bytes. C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/modval.F0000755000175000017500000000424712127406245020341 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE MODVAL (LENIN,LENOUT,MULT) C C----> C* * C* NAME : MODVAL * C* * C* FUNCTION : MAKES ONE VALUE A MULTIPLE OF ANOTHER. * C* * C* INPUT : LENIN = INPUT VALUE * C* MULT = MODULO VALUE * C* * C* OUTPUT : LENOUT= OUTPUT VALUE * C* * C* GENERAL : MODVAL CALLS MOD * C* ABS * C* * C* AUTHOR : B.V. GURETZKY V.E. DAY * C* * C* MODIFIED : J. HENNESSY 25.11.85 * C* * C* * C --------------------------------------------------------------- C----< C LENG = ABS (MULT) INTER = MOD (ABS(LENIN),LENG) C IF (INTER.NE.0) C THEN LENG = LENG - INTER IF (LENIN.LT.0) C THEN LENOUT = LENIN - LENG ELSE LENOUT = LENIN + LENG ENDIF ELSE LENOUT = LENIN ENDIF C C RETURN END emoslib-000392+dfsg.1/gribex/packcf.F0000755000175000017500000001704612127406245020307 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION PACKCF( PARRAY, KTRUNC, KSUBSET, KGRIB, KLENG, X KNSPT, KBITS) C C----> C**** PACKCF C C Purpose. C -------- C C Moves the unscaled values from an array of spherical harmonic C coefficients, just the first "KSUBSET" triangle of coefficients. C C** Interface. C ---------- C C IRET = PACKCF(PARRAY,KTRUNC,KSUBSET,KGRIB,KLENG,KNSPT,KBITS) C C C Input Parameters. C ----------------- C C PARRAY - Array of spherical harmonic coefficients. C KTRUNC - Truncation of the spherical harmonic coefficients. C KSUBSET - Number indicating truncation of subset to move. C KNSPT - Bit pointer for next free position in KGRIB. C C C Output Parameters. C ------------------ C C KGRIB - Array containing generated GRIB product. C KLENG - Length of KGRIB C KNSPT - Bit pointer for next free position in KGRIB(updated). C KBITS - Number of bits per computer word. C C Returns 0 if OK, otherwise prints an error message and returns C an error code. C C C Method. C ------- C | C C Given numbers: cccccccc|cccccc C cccccc|cccccc C cccc|cccccc C cc|cccccc C |cccccc C cccc C cc C C Converts and moves : cccccccc C cccccc C cccc C cc C C Externals. C ---------- C C CONFP3 - Convert floating point value to storage format #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) C GSBITE - Store bit pattern (Vectorized Fortran). #endif C SBYTES - Store bit pattern C C C Reference. C ---------- C C None. C C C Comments. C --------- C C KSUBSET must be less than or equal to KTRUNC. C C C Author. C ------- C C J.D.Chambers ECMWF 13:04:94 C C C Modifications. C -------------- C C None. C C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C IMPLICIT NONE C #include "grprs.h" C C Parameters INTEGER JPMAXT PARAMETER ( JPMAXT = 2047 + 1 ) C C Subroutine arguments C INTEGER KTRUNC, KSUBSET, KNSPT, KGRIB, KLENG, KBITS C REAL PARRAY DIMENSION PARRAY(*), KGRIB(KLENG) C C Local variables. INTEGER JCOL, JROW, INDEX, ILAST, ITRND, IEXP, IMANT, INEXT INTEGER INSPT, INEED, IWORD, IOFF DIMENSION IEXP(JPMAXT*2), IMANT(JPMAXT*2) C #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) C C Values in IMASK are set in the first call to routine GSBITE, and C are used in subsequent calls. C INTEGER IMASK DIMENSION IMASK(65) SAVE IMASK C C Force routine GSBITE to calculate bit-masks first time through. DATA IMASK(2) /0/ #endif C C ---------------------------------------------------------------- C* Section 1 . Check for valid truncation and start values. C ---------------------------------------------------------------- C 100 CONTINUE C C Check for valid truncation and subset values C PACKCF = 0 IF ( KSUBSET .GT. KTRUNC ) THEN WRITE(GRPRSM,*) 'PACKCF: Invalid subset/truncation given' WRITE(GRPRSM,*) 'PACKCF: KSUBSET, KTRUNC =', KSUBSET, KTRUNC PACKCF = 16400 GOTO 900 ENDIF C C Check that the GRIB area is big enough. INEED = ( KNSPT + (KSUBSET+1)*(KSUBSET+2)*32 ) / KBITS IF (INEED.GT.KLENG) THEN PACKCF = 16401 WRITE(GRPRSM,*) 'PACKCF: GRIB area is not big enough.' GOTO 900 ENDIF C C ---------------------------------------------------------------- C* Section 2. Convert values to IBM format exponent and mantissa. C Handle values 2 at a time (real and imaginary parts) C ---------------------------------------------------------------- C 200 CONTINUE C ITRND = 1 ILAST = KSUBSET+1 INDEX = -1 C C Loop through rows in the subset DO 490 JROW = 1 , ILAST C C Pick up columns in subset INEXT = 0 DO 210 JCOL = JROW , KTRUNC+1 INDEX = INDEX + 2 IF ( ILAST .GE. JCOL ) THEN C C Convert floating point nos. to GRIB and insert fields. C Real part .. INEXT = INEXT + 1 CALL CONFP3( PARRAY(INDEX), IEXP(INEXT), IMANT(INEXT), X KBITS, ITRND) C C Imaginary part .. INEXT = INEXT + 1 CALL CONFP3( PARRAY(INDEX+1), IEXP(INEXT), IMANT(INEXT), X KBITS, ITRND) ENDIF 210 CONTINUE C C ---------------------------------------------------------------- C* Section 3. Move exponents into bit array. C ---------------------------------------------------------------- C 300 CONTINUE C C* Calculate word pointer and offset. INSPT = KNSPT IWORD = INSPT / KBITS IOFF = INSPT - IWORD * KBITS IWORD = IWORD + 1 C #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) IF (INEXT.GE.8) THEN C C Vectorising routine GSBITE. CALL GSBITE( KGRIB(IWORD), IEXP, IOFF, 8, 24, INEXT, KBITS, X IMASK, 'C') ELSE C C Scalar faster. CALL SBYTES( KGRIB(IWORD), IEXP, IOFF, 8, 24, INEXT) ENDIF #elif (defined CYBER) CALL SBYTES6( KGRIB(IWORD), IEXP, IOFF, 8, 24, INEXT) #else CALL SBYTES( KGRIB(IWORD), IEXP, IOFF, 8, 24, INEXT) #endif C C ---------------------------------------------------------------- C* Section 4. Move mantissae into bit array. C ---------------------------------------------------------------- C 400 CONTINUE C C* Calculate word pointer and offset. INSPT = KNSPT + 8 IWORD = INSPT / KBITS IOFF = INSPT - IWORD * KBITS IWORD = IWORD + 1 C #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) IF (INEXT.GE.8) THEN C C Vectorising routine GSBITE. CALL GSBITE( KGRIB(IWORD), IMANT, IOFF, 24, 8, INEXT, KBITS, X IMASK, 'C') ELSE C C Scalar faster. CALL SBYTES( KGRIB(IWORD), IMANT, IOFF, 24, 8, INEXT) ENDIF #elif (defined CYBER) CALL SBYTES6( KGRIB(IWORD), IMANT, IOFF, 24, 8, INEXT) #else CALL SBYTES( KGRIB(IWORD), IMANT, IOFF, 24, 8, INEXT) #endif C C Update the bit pointer KNSPT = KNSPT + 32 * INEXT C 490 Continue C End of loop through rows of the subset C C C ---------------------------------------------------------------- C* Section 5. Update pointer. C ---------------------------------------------------------------- C 500 CONTINUE C C ---------------------------------------------------------------- C* Section 9. Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/local2k.F0000755000175000017500000000474212127406245020406 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION LOCAL2K(KSEC1, HFIRST, HSECOND, HTHIRD, HFOURTH) C C----> C**** LOCAL2K C C Purpose C ------- C C Looks up the description of a parameter in known table 2 versions C for WMO code FM 92-X Ext. GRIB. C C C Interface C --------- C C IRET = LOCAL2K(KSEC1, HFIRST, HSECOND, HTHIRD, HFOURTH) C C Input C ----- C C KSEC1 - Section 1 values for a GRIB product. C C C Output C ------ C C HFIRST - First line of descriptor: MARS mnemonic C HSECOND - Second line of descriptor: Parameter description C HTHIRD - Third line of descriptor: Units for the parameter C HFOURTH - Fourth line of descriptor: Description of units C C Function return value is C 0 if no error detected. C 20001 if no match found for the parameter number in C the given table. C 20002 if there is an error opening the file holding C the given table. C C C Method C ------ C C Calls LOCAL2. C C C Externals C --------- C LOCAL2 - looks up information in standard tables. C C C Author C ------ C C J.D.Chambers ECMWF Sept 1995 C C C MODIFICATIONS C _____________ C C J. Clochard, Meteo France, for ECMWF - June 1999. C Argument KCENTR added to LOCAL2 call for code tables management. C C _______________________________________________________ C----< C C IMPLICIT NONE C C Function arguments INTEGER KSEC1 DIMENSION KSEC1(*) CHARACTER*(*) HFIRST, HSECOND, HTHIRD, HFOURTH C C Externals INTEGER LOCAL2 C C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C LOCAL2K = LOCAL2(KSEC1(1), KSEC1(6), KSEC1(2), X HFIRST, HSECOND, HTHIRD, HFOURTH) C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C C Normal return. 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/ecdef16.F0000755000175000017500000001230012127406245020261 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF16(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KPR,KRET) C C----> C**** ECDEF16 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 16. C C** Interface. C ---------- C C CALL ECDEF16(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KPR,KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 16. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C None. C #include "ecdef16.h" C C Author. C ------- C C J.D.Chambers ECMWF February 2000 C C C Modifications. C -------------- C C None. C C C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C C Parameters C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, LOOP LOGICAL LENCODE C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC.EQ.'C' ) C C -----------------------------------------------------------------| C* Section 2 . Handle definition 16. C -----------------------------------------------------------------| C 200 CONTINUE C C Octet 50-51 : Ensemble member number. C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF C IF( .NOT. LENCODE ) KSEC1(43) = 0 C C Octet 52-53 : System number. C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(44),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF C C Octet 54-55 : Method number. C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF C C Octet 56-59 : Verifying month (in format YYYYMM). C One 32-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46),1,KBITS,32,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF C C Octet 60 : Averaging period (eg 6-hour, 24-hour). C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(47),1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF C C Octet 61-80 : Spare C Twenty 8-bit fields. C IZERO = 0 IF( LENCODE ) THEN DO LOOP = 1, 20 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF ENDDO ELSE KNSPT = KNSPT + 20*8 ENDIF C C -----------------------------------------------------------------| C* Section 9 . Abort/return to calling routine. Format statements. C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) WRITE(GRPRSM,*) 'ECDEF16: Output: KNSPT = ', KNSPT C C Abort if requested to do so when an error has been encountered. C IF( (IRET.EQ.0).AND.(KRET.NE.0) ) CALL ABORTX ('ECDEF16') C RETURN C 990 CONTINUE WRITE(GRPRSM,*) 'ECDEF16: Error reported by routine INXBIT.' RETURN C END emoslib-000392+dfsg.1/gribex/emoscyc.F0000755000175000017500000000742612127406245020523 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION EMOSCYC(KONOFF,KCYCLES) C C----> C**** EMOSCYC C C Purpose C ------- C C Returns current EMOS_CYCLE version number. C C C Interface C --------- C C INUM = EMOSCYC(KONOFF,KCYCLES) C C Input C ----- C C KONOFF - switch for displayed message C = 0 if display is required on the first call C = non-zero if display is not required C C C Output C ------ C C Returns a 6-digit version number, aaabbc, where: C aaa = 3-digit major number C bb = 2-digit minor number C c = 1-digit spare number (normally 0) C C KCYCLES(1) = INTP_CYCLE number C KCYCLES(2) = BUFR_CYCLE number C KCYCLES(3) = GRIB_CYCLE number C KCYCLES(4) = PBIO_CYCLE number C C C Method C ------ C C Reads a 6-digit version number from the environment variable C EMOS_CYCLE. If this does not give a 6-digit number, an internal C hard-coded default value is used. C C On the first call, the function (optionally) displays a message: C C ************************************** C * EMOS_CYCLE version number = nnnnnn * C * INTP_CYCLE = iiiiii C * BUFR_CYCLE = bbbbbb C * GRIB_CYCLE = gggggg C * PBIO_CYCLE = pppppp C ************************************** C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF May 1998 C C C----< C ------------------------------------------------------------------ C* Section 0. Variables. C ------------------------------------------------------------------ C C IMPLICIT NONE C #include "grprs.h" C C Function arguments C INTEGER KONOFF, KCYCLES(4) C C Local variables C INTEGER INUMBER, ICOUNT, IOFFSET SAVE INUMBER, ICOUNT CHARACTER*38 CMESS CHARACTER*20 YNUMBER C C Externals C INTEGER INTPNUM, BUFRNUM, GRIBNUM, PBIONUM C DATA INUMBER/100000/, ICOUNT/0/ DATA CMESS/'* EMOS_CYCLE version number = ****** *'/ C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C IF( ICOUNT.EQ.0 ) THEN C C See if the environment variable has an override value C CALL GETENV( 'EMOS_CYCLE', YNUMBER) IOFFSET = INDEX( YNUMBER, ' ') IF( IOFFSET.EQ.7 ) THEN READ(YNUMBER,'(I6.6)') INUMBER ENDIF C KCYCLES(1) = INTPNUM(1) KCYCLES(2) = BUFRNUM(1) KCYCLES(3) = GRIBNUM(1) KCYCLES(4) = PBIONUM(1) C C First time through, display the message if required C IF( KONOFF.EQ.0 ) THEN WRITE(CMESS(31:36),'(I6.6)') INUMBER WRITE(GRPRSM,*) '**************************************' WRITE(GRPRSM,*) CMESS CMESS(3:6) = 'INTP' WRITE(CMESS(31:36),'(I6.6)') KCYCLES(1) WRITE(GRPRSM,*) CMESS CMESS(3:6) = 'BUFR' WRITE(CMESS(31:36),'(I6.6)') KCYCLES(2) WRITE(GRPRSM,*) CMESS CMESS(3:6) = 'GRIB' WRITE(CMESS(31:36),'(I6.6)') KCYCLES(3) WRITE(GRPRSM,*) CMESS CMESS(3:6) = 'PBIO' WRITE(CMESS(31:36),'(I6.6)') KCYCLES(4) WRITE(GRPRSM,*) CMESS WRITE(GRPRSM,*) '**************************************' ENDIF ICOUNT = 1 ENDIF C EMOSCYC = INUMBER C RETURN END emoslib-000392+dfsg.1/gribex/setpar.F0000755000175000017500000000501212127406245020344 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C----> C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C C Input Parameters. C ----------------- C C KPR - Debug print switch. C > 0 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned according to hardware platform. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C None C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C----< C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF( KPR.GE.1 ) WRITE(GRPRSM,*) ' SETPAR : Section 1.' C #ifdef INTEGER_8 KBIT = 64 KNEG = -9223372036854775807 #elif (defined VAX) KBIT = 32 KNEG = -2147483648 #else KBIT = 32 KNEG = -2147483647 #endif C ------------------------------------------------------------------ C* Section 9 . Return to calling routine. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) ' SETPAR : Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,*) 'SETPAR: KBIT = ', KBIT WRITE(GRPRSM,*) 'SETPAR: KNEG = ', KNEG ENDIF C RETURN END emoslib-000392+dfsg.1/gribex/grchk2.F0000755000175000017500000004054112127406245020234 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRCHK2 (KSEC1,KSEC2,PSEC2,KRET) C C----> C**** GRCHK2 - Check parameters for Section 2 of GRIB Code. C C Purpose. C -------- C C Check parameters for Section 2 of GRIB code against C valid values for GRIB Edition 1. C C** Interface. C ---------- C C CALL GRCHK2 (KSEC1,KSEC2,PSEC2,KRET) C C C Input Parameters. C ----------------- C C KSEC1 - Array containing integer parameters for C section 1 of GRIB code. C C KSEC2 - Array containing integer parameters for C section 2 of GRIB code. C C PSEC2 - Array containing real parameters for C section 2 of GRIB code. C C Output Parameters. C ------------------ C C KRET - Return code. C 0 , No error encountered. C 1 , Error in GRIB Code parameter. C C Method. C ------- C C Values checked against current code/flag tables C and against maximum or minimum permitted values. C They are also checked against the current status C of the implementation of GRIBEX and ECMWF usage. C C Externals. C ---------- C C None. C C Reference. C ---------- C C WMO Manual on Codes for GRIB Code. C C Comments. C --------- C C None. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 30.08.91 C Polar stereographic representation type allowed. C C J. Hennessy ECMWF 01.10.91 C Space view or orthographic representation allowed. C Additional parameters KSEC1 and PSEC2 added. C C J.D.Chambers ECMWF 27.04.94 C Allow complex packing for spherical harmonics C C J.D.Chambers ECMWF 03.04.95 C Allow Lambert conformal. C C J.D.Chambers ECMWF July 2004 C Allow Mercator C C----< C ---------------------------------------------------------------- C Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP6, JP6X, JP8 PARAMETER (JP6=23) PARAMETER (JP6X=17) PARAMETER (JP8=8) C C Subroutine arguments C INTEGER KSEC1, KSEC2, KRET DIMENSION KSEC1(*) DIMENSION KSEC2(*) REAL PSEC2 DIMENSION PSEC2(*) C C Local variables C LOGICAL LQUASI INTEGER LOOP C INTEGER ITAB6, ITAB6X, ITAB8 DIMENSION ITAB6(JP6) DIMENSION ITAB6X(JP6X) DIMENSION ITAB8(JP8) C C Valid values given in Code Table 6. C DATA ITAB6 / 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, X 10, 13, 14, X 20, 24, 30, 34, 50, 60, 70, 80, 90, X 192 / C C Code Table 6 values currently supported by GRIBEX. C DATA ITAB6X /0,1,3,4,5,10,14,20,24,30,34,50,60,70,80,90,192/ C C Valid values given in Code Table 8. C DATA ITAB8 /0,128,64,192,32,160,96,224/ C C ---------------------------------------------------------------- C Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C C Reset return code. KRET = 0 C C ---------------------------------------------------------------- C Section 2 . Check values against code tables and extreme values. C ---------------------------------------------------------------- C 200 CONTINUE C C Number of vertical coordinate parameters. C IF (KSEC2(12).LT.0.OR.KSEC2(12).GT.255) THEN KRET = 1 WRITE(GRPRSM,9019) KSEC2(12) ENDIF C C Check Data Representation Type. C DO LOOP = 1,JP6 IF (KSEC2(1).EQ.ITAB6(LOOP)) GO TO 202 ENDDO C KRET = 1 WRITE(GRPRSM,9001) KSEC2(1) C 202 CONTINUE C C Check Data Representation Type currently supported. C DO LOOP = 1,JP6X IF (KSEC2(1).EQ.ITAB6X(LOOP)) GO TO 204 ENDDO C KRET = 1 WRITE(GRPRSM,9002) KSEC2(1) GO TO 900 C 204 CONTINUE C C Earth flag. C IF (KSEC2(18).NE.0.AND.KSEC2(18).NE.64) THEN KRET = 1 WRITE(GRPRSM,9005) KSEC2(18) ENDIF C C Check ECMWF usage.(0 except for space view perspective) C IF (KSEC2(18).NE.0.AND.KSEC1(2).EQ.98.AND.KSEC2(1).NE.90) THEN KRET = 1 WRITE(GRPRSM,9007) ENDIF C C Components flag. C IF (KSEC2(19).NE.0.AND.KSEC2(19).NE.8) THEN KRET = 1 WRITE(GRPRSM,9006) KSEC2(19) ENDIF C C Check ECMWF usage. C IF(KSEC2(19).NE.0.AND.KSEC2(19).NE.8.AND.KSEC1(2).EQ.98) THEN KRET = 1 WRITE(GRPRSM,9008) ENDIF C LQUASI = (KSEC2(17) .EQ. 1) C C ---------------------------------------------------------------- C Section 3. Checks on latitude/longitude grids. C ---------------------------------------------------------------- C 300 CONTINUE C IF ( KSEC2(1).EQ.0 .OR. KSEC2(1).EQ.10 .OR. X KSEC2(1).EQ.20 .OR. KSEC2(1).EQ.30 ) THEN C C Number of points along a parallel. C IF ( KSEC2(2).LT.1. OR. KSEC2(2).GT.65535 ) THEN IF ( .NOT. LQUASI ) THEN KRET = 1 WRITE(GRPRSM,9022) KSEC2(2) ENDIF ENDIF C C Number of points along a meridian. C IF ( KSEC2(3).LT.1 .OR. KSEC2(3).GT.65535 ) THEN IF ( .NOT. LQUASI ) THEN KRET = 1 WRITE(GRPRSM,9023) KSEC2(3) ENDIF ENDIF C C Latitude of first grid point. C IF (KSEC2(4).LT.-90000.OR.KSEC2(4).GT.90000) THEN KRET = 1 WRITE(GRPRSM,9015) KSEC2(4) ENDIF C C Longitude of first grid point. C IF (KSEC2(5).LT.-360000.OR.KSEC2(5).GT.360000) THEN KRET = 1 WRITE(GRPRSM,9016) KSEC2(5) ENDIF C C Resolution flag. C IF (KSEC2(6).NE.0.AND.KSEC2(6).NE.128) THEN KRET = 1 WRITE(GRPRSM,9003) KSEC2(6) ENDIF C C Latitude of last grid point. C IF (KSEC2(7).LT.-90000.OR.KSEC2(7).GT.90000) THEN KRET = 1 WRITE(GRPRSM,9020) KSEC2(7) ENDIF C C Longitude of last grid point. C IF (KSEC2(8).LT.-360000.OR.KSEC2(8).GT.360000) THEN KRET = 1 WRITE(GRPRSM,9021) KSEC2(8) ENDIF C C Direction increments, if included. C IF (KSEC2(6).EQ.128) THEN IF (KSEC2(9).LT.1.OR.KSEC2(9).GT.65535) THEN IF( .NOT. LQUASI ) THEN KRET = 1 WRITE(GRPRSM,9024) KSEC2(9) ENDIF ENDIF C IF (KSEC2(10).LT.1.OR.KSEC2(10).GT.65535) THEN IF( .NOT. LQUASI ) THEN KRET = 1 WRITE(GRPRSM,9025) KSEC2(10) ENDIF ENDIF ENDIF C C Scanning mode flag. C DO LOOP = 1, JP8 IF (KSEC2(11).EQ.ITAB8(LOOP)) GO TO 302 ENDDO C KRET = 1 WRITE(GRPRSM,9004) KSEC2(11) C 302 CONTINUE C C Regular / Quasi-regular grid check. C IF (KSEC2(17).NE.0.AND.KSEC2(17).NE.1) THEN KRET = 1 WRITE(GRPRSM,9009) KSEC2(17) ENDIF C GO TO 900 ENDIF C C ---------------------------------------------------------------- C Section 4. Checks on Gaussian grids. C ---------------------------------------------------------------- C 400 CONTINUE C IF ( KSEC2(1).EQ.4 .OR. KSEC2(1).EQ.14 .OR. X KSEC2(1).EQ.24 .OR. KSEC2(1).EQ.34) THEN C C Latitude of first grid point. C IF (KSEC2(4).LT.-90000.OR.KSEC2(4).GT.90000) THEN KRET = 1 WRITE(GRPRSM,9015) KSEC2(4) ENDIF C C Longitude of first grid point. C IF (KSEC2(5).LT.-360000.OR.KSEC2(5).GT.360000) THEN KRET = 1 WRITE(GRPRSM,9016) KSEC2(5) ENDIF C C Latitude of last grid point. C IF (KSEC2(7).LT.-90000.OR.KSEC2(7).GT.90000) THEN KRET = 1 WRITE(GRPRSM,9020) KSEC2(7) ENDIF C C Longitude of last grid point. C IF (KSEC2(8).LT.-360000.OR.KSEC2(8).GT.360000) THEN KRET = 1 WRITE(GRPRSM,9021) KSEC2(8) ENDIF C C i-direction increment, if included. C IF (KSEC2(6).EQ.128) THEN IF (KSEC2(9).LT.1.OR.KSEC2(9).GT.65535) THEN KRET = 1 WRITE(GRPRSM,9024) KSEC2(9) ENDIF ENDIF C C Number of parallels beween pole and equator. C IF (KSEC2(10).LT.1.OR.KSEC2(10).GT.65535) THEN KRET = 1 WRITE(GRPRSM,9026) KSEC2(10) ENDIF C C Increment flag. C IF (KSEC2(6).NE.0.AND.KSEC2(6).NE.128) THEN KRET = 1 WRITE(GRPRSM,9003) KSEC2(6) ENDIF C C Scanning mode flag. C DO LOOP = 1, JP8 IF (KSEC2(11).EQ.ITAB8(LOOP)) GO TO 402 ENDDO C KRET = 1 WRITE(GRPRSM,9004) KSEC2(11) C 402 CONTINUE C C Regular / Quasi-regular grid check. C IF (KSEC2(17).NE.0.AND.KSEC2(17).NE.1) THEN KRET = 1 WRITE(GRPRSM,9009) KSEC2(17) ENDIF C C Cross-check increments flag and quasi-regular indicator. C IF ( LQUASI .AND.KSEC2(6).EQ.128) THEN KRET = 1 WRITE(GRPRSM,9011) ENDIF C GO TO 900 ENDIF C C ---------------------------------------------------------------- C Section 5. Checks on Polar Stereographic data. C C ---------------------------------------------------------------- C 500 CONTINUE C IF (KSEC2(1).EQ.5) THEN C C Number of points along X-axis. C IF (KSEC2(2).LT.1.OR.KSEC2(2).GT.65535) THEN KRET = 1 WRITE(GRPRSM,9027) KSEC2(2) ENDIF C C Number of points along Y-axis. C IF (KSEC2(3).LT.1.OR.KSEC2(3).GT.65535) THEN KRET = 1 WRITE(GRPRSM,9028) KSEC2(3) ENDIF C C Latitude of first grid point. C IF (KSEC2(4).LT.-90000.OR.KSEC2(4).GT.90000) THEN KRET = 1 WRITE(GRPRSM,9015) KSEC2(4) ENDIF C C Longitude of first grid point. C IF (KSEC2(5).LT.-360000.OR.KSEC2(5).GT.360000) THEN KRET = 1 WRITE(GRPRSM,9016) KSEC2(5) ENDIF C C Orientation of the grid. C IF (KSEC2(7).LT.-360000.OR.KSEC2(7).GT.360000) THEN KRET = 1 WRITE(GRPRSM,9017) KSEC2(7) ENDIF C C Grid lengths. C IF (KSEC2(9).LT.1.OR.KSEC2(9).GT.16777215) THEN KRET = 1 WRITE(GRPRSM,9029) KSEC2(9) ENDIF C IF (KSEC2(10).LT.1.OR.KSEC2(10).GT.16777215) THEN KRET = 1 WRITE(GRPRSM,9030) KSEC2(10) ENDIF C C Projection centre. C C The use of 1 by the Polar Stereographic projection in this C octet is inconsistent with Lambert conformal et al C representation where bit 1 is set 1 to indicate North pole. C IF (KSEC2(13).NE.0.AND.KSEC2(13).NE.1) THEN KRET = 1 WRITE(GRPRSM,9018) KSEC2(13) ENDIF C GO TO 900 ENDIF C C ---------------------------------------------------------------- C Section 6. Checks on spherical harmonic data. C ---------------------------------------------------------------- C 600 CONTINUE C IF ( KSEC2(1).EQ.50 .OR. KSEC2(1).EQ.60 .OR. X KSEC2(1).EQ.70 .OR. KSEC2(1).EQ.80 ) THEN C C Spectral data representation type. C IF (KSEC2(5).NE.1) THEN KRET = 1 WRITE(GRPRSM,9012) KSEC2(5) ENDIF C C Spectral data representation mode. C IF (KSEC2(6).NE.1.AND.KSEC2(6).NE.2) THEN KRET = 1 WRITE(GRPRSM,9013) KSEC2(6) ENDIF C GO TO 900 ENDIF C C ---------------------------------------------------------------- C Section 7 . Checks on space view perspective. C ---------------------------------------------------------------- C 700 CONTINUE C IF (KSEC2(1).EQ.90) THEN GO TO 900 ENDIF C C ---------------------------------------------------------------- C Section 8. Checks on Lambert conformal data. C ---------------------------------------------------------------- C 800 CONTINUE C IF (KSEC2(1).EQ.3) THEN C C Number of points along X-axis. C IF (KSEC2(2).LT.1.OR.KSEC2(2).GT.65535) THEN KRET = 1 WRITE(GRPRSM,9027) KSEC2(2) ENDIF C C Number of points along Y-axis. C IF (KSEC2(3).LT.1.OR.KSEC2(3).GT.65535) THEN KRET = 1 WRITE(GRPRSM,9028) KSEC2(3) ENDIF C C Latitude of first grid point. C IF (KSEC2(4).LT.-90000.OR.KSEC2(4).GT.90000) THEN KRET = 1 WRITE(GRPRSM,9015) KSEC2(4) ENDIF C C C Longitude of first grid point. C IF (KSEC2(5).LT.-360000.OR.KSEC2(5).GT.360000) THEN KRET = 1 WRITE(GRPRSM,9016) KSEC2(5) ENDIF C C Orientation of the grid. C IF (KSEC2(7).LT.-360000.OR.KSEC2(7).GT.360000) THEN KRET = 1 WRITE(GRPRSM,9017) KSEC2(7) ENDIF C C Grid lengths. C IF (KSEC2(9).LT.1.OR.KSEC2(9).GT.16777215) THEN KRET = 1 WRITE(GRPRSM,9029) KSEC2(9) ENDIF C IF (KSEC2(10).LT.1.OR.KSEC2(10).GT.16777215) THEN KRET = 1 WRITE(GRPRSM,9030) KSEC2(10) ENDIF C C Projection centre. C IF (KSEC2(13).NE.0.AND.KSEC2(13).NE.64.AND.KSEC2(13).NE. X 128.AND.KSEC2(13).NE.192) THEN KRET = 1 WRITE(GRPRSM,9018) KSEC2(13) ENDIF C C Latitude Latin 1. C IF (KSEC2(14).LT.-90000.OR.KSEC2(14).GT.90000) THEN KRET = 1 WRITE(GRPRSM,9015) KSEC2(14) ENDIF C C Latitude Latin 2. C IF (KSEC2(15).LT.-90000.OR.KSEC2(15).GT.90000) THEN KRET = 1 WRITE(GRPRSM,9015) KSEC2(15) ENDIF C C Latitude of southern pole. C IF (KSEC2(20).LT.-90000.OR.KSEC2(20).GT.90000) THEN KRET = 1 WRITE(GRPRSM,9015) KSEC2(20) ENDIF C C Longitude of southern pole. C IF (KSEC2(21).LT.-360000.OR.KSEC2(21).GT.360000) THEN KRET = 1 WRITE(GRPRSM,9016) KSEC2(21) ENDIF C GO TO 900 ENDIF C C ---------------------------------------------------------------- C Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C 9001 FORMAT (1H ,'GRCHK2 : Invalid data representation type - ',I3) 9002 FORMAT (1H ,'GRCHK2 : Unsupported data representation type - ',I3) 9003 FORMAT (1H ,'GRCHK2 : Invalid increments flag - ',I3) 9004 FORMAT (1H ,'GRCHK2 : Invalid scanning mode flag - ',I3) 9005 FORMAT (1H ,'GRCHK2 : Invalid earth flag - ',I3) 9006 FORMAT (1H ,'GRCHK2 : Invalid components flag - ',I3) 9007 FORMAT (1H ,'GRCHK2 : Earth flag - ECMWF usage is 0.') 9008 FORMAT (1H ,'GRCHK2 : Components flag - ECMWF usage is 0.') 9009 FORMAT (1H ,'GRCHK2 : Invalid quasi / regular indicator - ',I3) 9011 FORMAT (1H ,'GRCHK2 : Quasi-regular Gaussian grid cannot have', C ' direction increments included.') 9012 FORMAT (1H ,'GRCHK2 : Invalid spectral representation type - ',I3) 9013 FORMAT (1H ,'GRCHK2 : Invalid spectral representation mode - ',I3) 9014 FORMAT (1H ,'GRCHK2 : Complex spectral representation mode ', C 'not catered for.') 9015 FORMAT (1H ,'GRCHK2 : Invalid latitude of first grid point - ', C I10) 9016 FORMAT (1H ,'GRCHK2 : Invalid longitude of first grid point - ', C I10) 9017 FORMAT (1H ,'GRCHK2 : Invalid orientation of the grid - ', C I10) 9018 FORMAT (1H ,'GRCHK2 : Invalid projection centre flag - ',I3) 9019 FORMAT (1H ,'GRCHK2 : Invalid number of vertical coordinate ', C 'parameters - ',I8) 9020 FORMAT (1H ,'GRCHK2 : Invalid latitude of last grid point - ', C I10) 9021 FORMAT (1H ,'GRCHK2 : Invalid longitude of last grid point - ', C I10) 9022 FORMAT (1H ,'GRCHK2 : Invalid number of points along a parallel', C ' - ', I10) 9023 FORMAT (1H ,'GRCHK2 : Invalid number of points along a meridian', C ' - ', I10) 9024 FORMAT (1H ,'GRCHK2 : Invalid i-direction increment - ',I10) 9025 FORMAT (1H ,'GRCHK2 : Invalid j-direction increment - ',I10) 9026 FORMAT (1H ,'GRCHK2 : Invalid number of parallels - ',I10) 9027 FORMAT (1H ,'GRCHK2 : Invalid number of points along X-axis', C ' - ', I10) 9028 FORMAT (1H ,'GRCHK2 : Invalid number of points along Y-axis', C ' - ', I10) 9029 FORMAT (1H ,'GRCHK2 : Invalid X-direction grid length - ',I10) 9030 FORMAT (1H ,'GRCHK2 : Invalid Y-direction grid length - ',I10) C RETURN C END emoslib-000392+dfsg.1/gribex/findLocalDefinitionFile.c0000755000175000017500000000574112127406245023620 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #include #include #include "fortint.h" #ifdef TABLE_PATH #define USER 1 #else #define USER 0 #define TABLE_PATH "/home/ma/emos/tables/gribex" #endif char* findLocalDefinitionFile(fortint); int fileExists(char* fileName) { struct stat buf; int status; status = stat(fileName,&buf); if( (status == 0) && S_ISREG(buf.st_mode) ) return 1; return 0; } char* findLocalDefinitionFile(fortint definitionNumber) { char * directoryPath; char * directoryName; static char fullFileName[256]; char fileName[] = "localDefinitionTemplate_ccc_sss_nnn"; char defaultDirectory[] = "/home/ma/emos/tables/gribex"; char * endString; char * startString; fortint n; int DefinitionNumber = (int) definitionNumber; int centre = DefinitionNumber/1000000; int subcentre = (DefinitionNumber/1000)%1000; int number = DefinitionNumber%1000; int defaultDirectoryChosen = 0; sprintf((fileName+24),"%03d",centre); sprintf((fileName+27),"_%03d",subcentre); sprintf((fileName+31),"_%03d",number); directoryPath = (char*) getenv("LOCAL_DEFINITION_TEMPLATES"); if( directoryPath == NULL ) { defaultDirectoryChosen = 1; if(USER){ char temp[256] = TABLE_PATH; strcat(temp,"/gribtemplates"); directoryPath = temp; } else directoryPath = TABLE_PATH; } /* // The directoryPath can have a list of directories separated by ':'. // Check each possible directory to find a suitable file. */ startString = directoryPath; while( (endString = strchr(startString,':')) != NULL ) { n = (int) (endString - startString); strncpy(fullFileName,startString,n); fullFileName[n] = '/'; strcpy(&fullFileName[n+1],fileName); if( fileExists(fullFileName) ) return fullFileName; startString += (n+1); } if( startString != directoryPath ) n = strlen(directoryPath) - (int) (startString - directoryPath); else n = strlen(directoryPath); strncpy(fullFileName,startString,n); fullFileName[n] = '/'; strcpy(&fullFileName[n+1],fileName); if( fileExists(fullFileName) ) return fullFileName; else { /*try with the center = ECMWF and subcenter = 0 printf("didnt found file name = %s\n", fullFileName);*/ sprintf((fileName+24),"%03d",subcentre); sprintf((fileName+27),"_%03d",0); sprintf((fileName+31),"_%03d",number); n = strlen(directoryPath); strncpy(fullFileName,directoryPath,n); fullFileName[n] = '/'; strcpy(&fullFileName[n+1],fileName); if( fileExists(fullFileName) ) return fullFileName; return NULL; } } emoslib-000392+dfsg.1/gribex/0-INDEX-00000755000175000017500000003711712127406245020036 0ustar amckinstryamckinstry0-INDEX-0 mac This index file Makefile mac libemos Makefile for this directory README mac Description of this directory ECMWFdefinitions.c mac Handle ECMWF local definitions in C ECMWFdefinitions.h mac Headers for ECMWFdefinitions.c abortx.F mah Terminates execution of program. analsw.F mah Gets name/content of variables in mars model record. blckcr.F mah Converts an unblocked dataset into a blocked dataset. bt_cray.F mac Bit handling routines special to CRAY bt_cyber.F mac Bit handling routines special to CYBER bt_ibm.F mac Bit handling routines special to IBM bt_ibm_bal.bal mac Bit handling routines special to IBM(BAL additions) bt_sun.F mac Bit handling routines special to SUN bt_sun_c.c mac Bit handling routines special to SUN(C additions) bt_vax.F mac Bit handling routines special to VAX bt_vax_mar.mar mac Bit handling routines special to VAX(MACRO additions) bufrin.F mac Mimics original BUFRIN, calls PBBUFR to get BUFR prods. c2bitw.F mac Computes bit width of a positive integer value. c2cwid.F mac Try/perform constant width encoding. 2nd-order packing. c2dosd.F mac Diagnose/apply order of spatial differencing. c2gene.F mac Try/perform general encoding of 2nd-order packing. c2ordr.F mac 2nd-order packing management routine for encoding. c2pack.F mac Bit string encoding for 2nd-order packing. c2pkvw.F mac 2nd-order values packing for variable width 2op methods. c2rnge.F mac Range diagnostic for spatial differencing. c2rows.F mac Try/perform row by row encoding (2nd-order packing). calcop.F mac Calculate P scale factor for complex packing. ccf1cr.F mah Create requested nodes in CFS for MARS archiving. cheknum.F mah Checks that string correctly represents a number. chktab2.F mac Checks whether parameter appears in ECMWF local table 2. cgsloop.c mac C routines to complete vectorisation on Fujitsu. cmpck.F mac Reorder subset of coeffs before packing codegb.F mah Code array of floating point values in WMO GRIB code. codegc.F mah Code array of floating point values in WMO GRIB code. codegr.F mah Code array of floats in GRIB - with ECMWF extensions. codeps.F mah Packs data into machine-independent pseudo-GRIB format comars.h mah MARS common areas containing job environment info. comcomm.h mah Definition of network communications block to MARS/IBM. comgrb.h mah Common area for values used in GRIB encoding/decoding. config.gribex.CRAY mac Configuration file for make of libemos on CRAY config.gribex.sgimips mac Configuration file for make of libemos on SGI config.gribex.sun4 mac Configuration file for make of libemos on SUN confp.F mah Convert float from machine format to GRIB format. confpa.F mac Version of confp used by codeps. confp2.F mah Convert float from machine format to GRIB format. confp3.F mah Convert float from machine format to GRIB format. csect4.F mac Code section 4 GRIB for complex packing. csgnbt.c mac Code GRIB signed value. (C version) csgnbt.F mac Code GRIB signed value. d2ordr.F mac 2nd-order packing management routine for decoding. d2rosd.F mac Rebuild field values from spatial differencing. decext.F mah Extract values from GRIB coded data. decfp.F mah Decode GRIB code format to floating point number. decfp2.F mah Convert GRIB format float to machine format. decogb.F mah Interface between oldnew DECOGB/GRIBEX GRIB decoding decogc.F mah Decode WMO GRIB coded data. decogd.F mah Decode WMO GRIB coded data. decogr.F mah Decode WMO GRIB coded data. decops.F mah Decode pseudo-GRIB coded data. decops2.F mah Decode pseudo-GRIB coded data with year as 4-digit YYYY. delsp.F mah Delete spaces around valid MARS directive separators. dggsec2.F mac Decode GRIB section 2 for gaussian grids. dlasec2.F mac Decode GRIB section 2 for lambert conformal grids. dllsec2.F mac Decode GRIB section 2 for lat/lon grids. dmesec2.F mac Decode GRIB section 2 for Mercator grids. docsec2.F mac Decode GRIB section 2 for ECMWF ocean grids. dpssec2.F mac Decode GRIB section 2 for polar stereographic grids. dshsec2.F mac Decode GRIB section 2 for spherical harmonic fields. dsvsec2.F mac Decode GRIB section 2 for space view fields. dsect4.F mac Decode section 4 GRIB for complex packing. dsect4a.F mac As dsect4 but with modified number of arguments. dsgnbt.c mac Decode GRIB signed value. (C version) dsgnbt.F mac Decode GRIB signed value. dswmrs.F mah Routine to decode a MARS model switch. ecdef1.F mac Handle ECMWF section 1 local definition 1. ecdef1.h mac Header for ECMWF section 1 local definition 1. ecdef2.F mac Handle ECMWF section 1 local definition 2. ecdef2.h mac Header for ECMWF section 1 local definition 2. ecdef3.F mac Handle ECMWF section 1 local definition 3. ecdef3.h mac Header for ECMWF section 1 local definition 3. ecdef4.F mac Handle ECMWF section 1 local definition 4. ecdef4.h mac Header for ECMWF section 1 local definition 4. ecdef5.F mac Handle ECMWF section 1 local definition 5. ecdef5.h mac Header for ECMWF section 1 local definition 5. ecdef6.F mac Handle ECMWF section 1 local definition 6. ecdef6.h mac Header for ECMWF section 1 local definition 6. ecdef7.F mac Handle ECMWF section 1 local definition 7. ecdef7.h mac Header for ECMWF section 1 local definition 7. ecdef8.F mac Handle ECMWF section 1 local definition 8. ecdef8.h mac Header for ECMWF section 1 local definition 8. ecdef9.F mac Handle ECMWF section 1 local definition 9. ecdef9.h mac Header for ECMWF section 1 local definition 9. ecdef10.F mac Handle ECMWF section 1 local definition 10. ecdef10.h mac Header for ECMWF section 1 local definition 10. ecdef11.F mac Handle ECMWF section 1 local definition 11. ecdef11.h mac Header for ECMWF section 1 local definition 11. ecdef12.F mac Handle ECMWF section 1 local definition 12. ecdef12.h mac Header for ECMWF section 1 local definition 12. ecdef13.F mac Handle ECMWF section 1 local definition 13. ecdef13.h mac Header for ECMWF section 1 local definition 13. ecdef14.h mac Header for ECMWF section 1 local definition 14. ecdef14.F mac Handle ECMWF section 1 local definition 14. ecdef15.h mac Header for ECMWF section 1 local definition 15. ecdef15.F mac Handle ECMWF section 1 local definition 15. ecdef16.h mac Header for ECMWF section 1 local definition 16. ecdef16.F mac Handle ECMWF section 1 local definition 16. ecdef17.h mac Header for ECMWF section 1 local definition 17. ecdef17.F mac Handle ECMWF section 1 local definition 17. ecdef18.h mac Header for ECMWF section 1 local definition 18. ecdef18.F mac Handle ECMWF section 1 local definition 18. ecdef19.h mac Header for ECMWF section 1 local definition 19. ecdef19.F mac Handle ECMWF section 1 local definition 19. ecdef20.h mac Header for ECMWF section 1 local definition 20. ecdef21.h mac Header for ECMWF section 1 local definition 21. ecdef50.h mac Header for ECMWF section 1 local definition 50. ecdef50.F mac Handle ECMWF section 1 local definition 50. ecdf191.h mac Header for ECMWF section 1 local definition 191. ecdf191.F mac Handle ECMWF section 1 local definition 191. ecloc1.F mah GRIB coding/decoding of ECMWF local use of Section 1. eggsec2.F mac Encode GRIB section 2 for gaussian grids. elasec2.F mac Encode GRIB section 2 for lambert conformal grids. ellsec2.F mac Encode GRIB section 2 for lat/lon grids. emesec2.F mac Encode GRIB section 2 for Mercator grids. emoslibVersion.c mac Creates a global variable which is visible using 'nm'. emoscyc.F mac Returns CYCLE for EMOS, INT, BUFR, GRIB and PBIO emosnum.F mac Returns current EMOSLIB version number. eocsec2.F mac Encode GRIB section 2 for ECMWF ocean grids. eocsec2.h mac Header describing GRIB section 2 for ECMWF ocean grids. epssec2.F mac Encode GRIB section 2 for polar stereographic grids. eshsec2.F mac Encode GRIB section 2 for spherical harmonic fields. esvsec2.F mac Encode GRIB section 2 for space view fields. exscal.F mah Vectorise calculation of values. extmap.F mah Extraction of bit maps for routine GRIBEX. findLocalDefinitionFile.c mac Find templates for local definitions fortranInterface.c mac Routines ELDEFS,DLDEFS,LDEFPRT,ISEC1L,LDEFNUM ftn1cr.F mah Gives FORTRAN unit number not currently in use. gbitmap.F mac Reads a bitmap from a file. gbyte.F mah Extract a single bit field. Cray routine. gbytes.F mah Extract a number of bit fields. Cray routine. gdecode.c mac C version of GRIB decoding gdecode.h mac Header for C version of GRIB decoding gdecode1.c mac C version of GRIB decoding local definition 1 gdecode2.c mac C version of GRIB decoding local definition 2 gdecodeStruct.h mac Structures for C version of GRIB decoding genbin.F mah Produces binary version of input decimal number gendir.F mah Generate directive lines for MARS. getchd.F mah Get characters from unpacked GRIB/pseudo-GRIB from MARS getfb2.F mah Extract real values from section 2 of GRIB code. getfpd.F mah Extract data from unpacked GRIB record. getib1.F mah Get values from section 1 of GRIB code. getib2.F mah Extract integer values from section 2 of GRIB record. getib3.F mah Get block 3 values from GRIB/pseudo-GRIB from MARS. getind.F mah Get integer data from unpacked GRIB/pseudo-GRIB data. getlgd.F mah Get logical data from record of GRIB/pseudo-GRIB data. getsys.F mah Get system info.(?) getusr.F mah Get user info.(?) getsetValues.[hc] mac User API for encoding/decoding GRIB grbcom.h mac Common holding various default or user supplied values. grchk1.F mah Check Section 1 GRIB params against GRIB Edition 1 grchk2.F mah Check Section 2 GRIB params against GRIB Edition 1. grchk3.F mah Check Section 3 GRIB params against GRIB Edition 1. grchk4.F mah Check Section 4 GRIB params against GRIB Edition 1. grib_int_t.h mac Headers for handling local definitions using templates. gribex.h mac Header comments for gribex.F gribex.F mah Coding and decoding of GRIB format data. gribin.F mac Mimics original GRIBIN, calls PBGRIB to get GRIB prods. gribnum.F mac Returns GRIB_CYCLE number groutpt.F mac Set output stream if defined by environment variable. grprs.h mac Common blocks holding values for printing. grpr190.c mac Displays internal local defb ytes in definition 190 grprs0.F mah Print information from Section 0 of GRIB code. grprs1.F mah Print information from Section 1 of GRIB code. grprs1b.F mac Simplified version of grprs1.F used by grpr190.c grprs2.F mah Print information from Section 2 of GRIB code. grprs3.F mah Print information from Section 3 of GRIB code. grprs4.F mah Print information from Section 4 of GRIB code. grprs4w.F mac Print the wave coordinate information in section 4. grsdef.F mah Default handling of GRIBEX global settings. grsdbg.F mah Debug print switch setting for routine GRIBEX. grsmax.F mah Set user defined maximum value for routine GRIBEX. grsmok.F mah Set/unset exhaustive switch for option 'K' of GRIBEX. grsmkp.F mah Set/unset flag which forces GRIBEX to calculate P factor grsn2o.F mah Set/unset use of non-local 2nd-order methods for GRIBEX. grsref.F mah Set user defined reference value for routine GRIBEX. grsrnd.F mah Set GRIB code rounding/no rounding for routine GRIBEX. grsubc.F mah Set/unset use of sub-centre for ECMWF fields encoding. grsvck.F mah Set GRIB code parameter value check for routine GRIBEX. grsx2o.F mah Set/unset use of extended 2nd-order methods for GRIBEX. gsbite.F mah Vectorising extract/insert of bits from/to bitstream. gscale.F mac Apply/remove field scaling factor for complex packing. handleLocalDefinitions.c mac Encode/decode local definitions from templates handleLocalDefinitions.h mac Encode/decode local definitions from templates inscal.F mah Vectorise calculation of increments. insmp1.F mah Insertion of primary bit map for routine GRIBEX. insmp2.F mah Insertion of secondary bit maps for routine GRIBEX. inxbit.F mah Insert/extract bits consecutively in/from a given array inxmap.F mah Bit map handling for routine GRIBEX. jabort.c mac Abort routine for HP. kwchk1.F mac Check sect 1 of Washington ensemble products. kwloc1.F mac Decode sect 1 of Washington ensemble products. kwprs1.F mac print sect 1 of Washington ensemble products. l2u1cr.F mah Convert character string to upper case. ldc1cr.F mah List nodes and files for a given research experiment. lnbfcr.F mah Calculate length of BUFR message on Cray. lngbcr.F mah Calculate or extract length of GRIB field on Cray. local2.F mac Looks up the description of a param in a local table 2 local2k.F mac Looks up the description of a param in a local table 2 local2c.c mac Looks up the description of a param in a local table 2 make.dep mac Make dependencies file. maxmin.F mah Get maximum/minimum from array of floats. maxmn2.F mah Get max/min from array of floats, ignoring missing data maxmni.F mah Get maximum/minimum from array of integers. mksign.c mac Put sign in given position to create negative value modval.F mah Makes one value a multiple of another. mvbytes.c mac Pack/unpack bytes in ECMWF local definitions mxmncr.F mah Find the maximum and minimum elements of an array. offset.F mah Calculates word/bit offset of start of next bit-field orefdat.c mac Returns ECMWF local definition 4 reference date index. packcf.F mac Reformat(IBM) and store leading subset, complex packing. parval.F mah Extract next parameter and value pair. prtbin.F mah Binary to decimal conversion. prtbk1.F mah Print product definition block (block 1) of GRIB data. prtbk2.F mah Print product definition block (block 2) of GRIB data. prtbl1.F mah Print product definition block (block 1) of GRIB data. prtbl2.F mah Print GRID definition block (block 2) of GRIB data. ptquasi.F mac Print quasi-regular grids from GRIB products. qu2reg.F mah Convert quasi-regular grid data to regular qu2reg2.F mah Convert quasi-regular grid data to regular (version 2) qu2reg3.F mah Convert quasi-regular grid data to regular (version 3) reclen.F mah Calculates record length. Gives param, level, level type ref2grb mac Code and check reference value in IBM format remsp.F mah Remove leading spaces from character string. repchr.F mah Replace one character by another. revero.F mac Reverse order of even rank rows for 2nd-order packing. rorint.F mah Converts real arrays to integer and vice versa. rowina.F mah Interpolation of row of values. rowina2.F mah Interpolation of row of values. (version 2) rowina3.F mah Interpolation of row of values.(version 3 - J.Clochard)) rtb.F mah Count characters in a string, excluding trailing spaces sbyte.F mah Insert a single bit field. Cray routine. sbytes.F mah Insert a number of bit fields. Cray routine. scm0.F mah Apply SCM0 limiter to derivative estimates. search.F mah Search for given character string. sencode.c mac C version of GRIB encoding sencode.h mac Header for C version of GRIB encoding sencode1.c mac C version of GRIB encoding local definition 1 sencode2.c mac C version of GRIB encoding local definition 2 setpar.F mac Set largest negative number and number of bits per word sfbits.h mah Statement functions to manipulate bits in 64-bit words sources.XXX mac Source files to be compiled for platform XXX. sort.F mah Sorts array in ascending field code-number & writes out sortf.F mah Sorts fields in a file in ascending order. swap4.c mac Swaps characters in experiment version (little-endian) tab2fil.F mah Builds file name for code table 2 checks/printouts. u2l1cr.F mah Convert string to all lower case. unbkin.F mah Standard read for COS unblocked or UNICOS binary files unbkout.F mah Standard write for COS files or UNICOS binary files. unblock.F mah Converts CRAY blocked dataset of GRIB to unblocked. uncmpck.F mac Reorder subset of coeffs after packing unpkcf.F mac Unformat(IBM) and move leading subset, complex packing. usesgn.c mac Use specified sign bit to make number positive/negative valpina.c mac Find real index of point in feild described by a bitmap. vod2uv.F mah Calculate U and V components from vorticity/divergence xgrdemo.F mac Sample program showing use of GRIBEX and PB routines. yyyy2cy.F mac Return WMO defined century and year from YYYY date. emoslib-000392+dfsg.1/gribex/blckcr.F0000755000175000017500000001176512127406245020322 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C #ifdef CRAY SUBROUTINE BLCKCR (UN1,UN2,BUF,IRET) C C----> C********************************************************************** C* * C* NAME : BLCKCR C* * C* FUNCTION : CONVERTS AN UNBLOCKED DATASET * C* INTO A BLOCKED DATASET * C* * C* INPUT : UN1 = INPUT LUN * C* UN2 = OUTPUT LUN * C* BUF = WORK AREA C* * C* OUTPUT : IRET = -100 BUFFER IN ERROR * C* = -200 BUFFER OUT ERROR * C* > 0 NO. OF RECORDS WRITTEN * C* < 0 ERRORS REPORTED BY SUBROUTINES * C* * C* GENERAL : BLCKCR CALLS RECLEN * C* OFFSET * C* MODVAL * C* * C* AUTHOR : B.V. GURETZKY V.E. DAY * C* * C* MODIFIED : J. HENNESSY 26.11.85 * C* " 24.06.86 C* " 19.08.86 C* * C********************************************************************** C----< C IMPLICIT INTEGER (B,U) DIMENSION BUF(*) C C NO. OF BITS PER CRAY WORD DATA NBIT /64/ C C BLOCK LENGTH FOR CRAY FILES (ICB) = 512 DATA ICB /512/ C C IRET = 0 IRES = 0 INT1 = 0 IOFF = 0 IPR = 1 C READ FIRST BLOCK AND GET LENGTH OF FIRST DATA RECORD. C BUFFER IN (UN1,0) (BUF(1),BUF(ICB)) IF (UNIT(UN1)) 100,5500,10000 C 100 CALL RECLEN (BUF(1),LEN,NBIT,ICODE,INDIC,LEVEL,KERR) IF (KERR.NE.0) C THEN IRET = KERR RETURN ENDIF C C PRINT RECORD LENGTH , IF REQUIRED. C IF (IPR.EQ.1) WRITE (*,9111) LEN 9111 FORMAT (1H ,'BLCKCR : RECORD LENGTH (BYTES) = ',I9) C MAKE LENGTH MULTIPLE OF ICB C LENW = LEN / 8 CALL MODVAL (LENW,IE,ICB) IB = ICB C DO 5000 J = 1,10000 C C READ ENOUGH BLOCKS TO INCLUDE REMAINDER OF CURRENT C DATA RECORD. C IF (IPR.EQ.1) WRITE (*,9112) IB , IE 9112 FORMAT (1H ,'BLCKCR : IB = ',I8,' IE = ',I8) IF (IB.NE.IE) C THEN BUFFER IN (UN1,0) (BUF(IB+1),BUF(IE)) IOSTAT = UNIT(UN1) IF (IPR.EQ.1) WRITE (*,7878) IOSTAT 7878 FORMAT (1H ,'IOSTAT = ',I4) IF (UNIT(UN1)) 1000,5500,10000 ENDIF C C WRITE FIELD IN UNBLOCKED FORMAT C 1000 BUFFER OUT (UN2,0) (BUF(1),BUF(LENW)) IOSTAT = UNIT(UN2) IF (IOSTAT.GT.0) GO TO 10100 IRET = IRET + 1 C C MOVE REMAINDER OF BLOCK TO FRONT OF BUFFER. C INTER = IE - LENW DO 2000 K = 1,INTER BUF(K) = BUF(LENW+K) 2000 CONTINUE IB = INTER C C READ NEXT BLOCK TO CHECK LENGTH OF NEXT RECORD C AND END-OF-FILE C IF (INTER.LT.ICB) C THEN BUFFER IN (UN1,0) (BUF(INTER+1),BUF(INTER+ICB)) IF (UNIT(UN1)) 3000,2500,10000 2500 CONTINUE BUFFER IN (UN1,0) (BUF(INTER+1),BUF(INTER+ICB)) IF (UNIT(UN1)) 3000,5500,10000 3000 CONTINUE IB = IB + ICB ENDIF C C GET LENGTH FOR NEXT RECORD. C CALL RECLEN (BUF(1),LEN,NBIT,ICODE,INDIC,LEVEL,KERR) IF (KERR.NE.0) C THEN IRET = KERR RETURN ENDIF C LENW = LEN / 8 C C MAKE LENGTH MULTIPLE OF ICB C INT = LENW - IB CALL MODVAL (INT,IE,ICB) C C READ OF SHORT RECORDS MAY BE COMPLETE. C IF (INT.LT.0) IE = 0 IE = IB + IE 5000 CONTINUE 5500 CONTINUE RETURN C 10000 CONTINUE IRET = -100 WRITE (*,*) ' BLCKCR : BUFFER IN ERROR' RETURN C 10100 CONTINUE IRET = -200 WRITE (*,*) ' BLCKCR : BUFFER OUT ERROR' RETURN C END #endif emoslib-000392+dfsg.1/gribex/qu2reg2.F0000755000175000017500000001624112127406245020343 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE QU2REG2(PFIELD,KPOINT,KLAT,KLON,KCODE,PMSVAL,KRET) C C----> C**** QU2REG - Convert quasi-regular grid data to regular. C C Purpose. C -------- C C Convert quasi-regular grid data to regular, C using either a linear or cubic interpolation. C C C** Interface. C ---------- C C CALL QU2REG2(PFIELD,KPOINT,KLAT,KLON,KCODE,PMSVAL) C C C Input Parameters. C ----------------- C C PFIELD - Array containing quasi-regular grid C data. C C KPOINT - Array containing list of the number of C points on each latitude (or longitude) of C the quasi-regular grid. C C KLAT - Number of latitude lines C C KLON - Number of longitude lines C C KCODE - Interpolation required. C 1 , linear - data quasi-regular on C latitude lines. C 3 , cubic - data quasi-regular on C latitude lines. C 11, linear - data quasi-regular on C longitude lines. C 13, cubic - data quasi-regular on C longitude lines. C C PMSVAL - Value used for missing data indicator. C C C Output Parameters. C ------------------ C C KRET - return code C 0 = OK C non-zero indicates fatal error C C C Output Parameters. C ------------------ C C PFIELD - Array containing regular grid data. C C C Method. C ------- C C Data is interpolated and expanded into a temporary array, C which is then copied back into the user's array. C Returns an error code if an invalid interpolation is requested C or field size exceeds array dimensions. C C C Externals. C ---------- C C ROWINA2 C C C Reference. C ---------- C C WMO Manual on Codes for GRIB code specifications of C quasi-regular grids. C C C Comments. C --------- C C This routine is an adaptation of QU2REG to allow missing data C values, and hence bit mapped fields. C C C Author. C ------- C C J.D.Chambers ECMWF 22.07.94 C C C Modifications. C -------------- C C J.D.Chambers ECMWF 13.09.94 C Add return code KRET and remove calls to ABORT. C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. Data statements. C ----------------------------------------------------------------- C IMPLICIT NONE C C Parameters C INTEGER JPBYTES, JPMAX #ifdef REAL_8 PARAMETER (JPBYTES = 8) #else PARAMETER (JPBYTES = 4) #endif PARAMETER (JPMAX=721) C Maximum number of latitudes (or longitudes), for which arrays C are dimensioned. C C Subroutine arguments C REAL PFIELD, PMSVAL DIMENSION PFIELD(*) INTEGER KPOINT, KLAT, KLON, KCODE, KRET DIMENSION KPOINT(*) C C Local variables. C INTEGER ICODE, ILII, ILIO, IQUANO, IREGNO INTEGER J210, J220, J225, J230, J240 C REAL ZLINE, ZWORK DIMENSION ZLINE(JPMAX*2) DIMENSION ZWORK(0:JPMAX*2+2,3) C #ifdef POINTER_64 INTEGER*8 IZTEMP #endif REAL ZTEMP DIMENSION ZTEMP(1) POINTER ( IZTEMP, ZTEMP ) INTEGER ISIZE SAVE ISIZE, IZTEMP C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif EXTERNAL JMALLOC C DATA ISIZE/0/ C C ------------------------------------------------------------------ C* Section 1. Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C KRET = 0 C C Check input parameters. C IF (KCODE.NE.1.AND.KCODE.NE.3.AND.KCODE.NE.11.AND.KCODE.NE.13) X THEN WRITE (*,9001) KCODE KRET = 1 GOTO 900 ENDIF C IF (KLAT.GT.JPMAX) THEN WRITE (*,9002) KLAT , JPMAX KRET = 2 GOTO 900 ENDIF C IF (KLON.GT.JPMAX*2) THEN WRITE (*,9003) KLAT , JPMAX*2 KRET = 3 GOTO 900 ENDIF C C Set array indices to 0. C ILII = 0 ILIO = 0 C C Establish values of loop parameters. C IF (KCODE.GT.10) THEN C C Quasi-regular along longitude lines. C IQUANO = KLON IREGNO = KLAT ICODE = KCODE - 10 ELSE C C Quasi-regular along latitude lines. C IQUANO = KLAT IREGNO = KLON ICODE = KCODE ENDIF C C Allocate memory (first time only) IF( ISIZE.EQ.0 ) THEN ISIZE = (JPMAX*JPMAX*2)*JPBYTES IZTEMP = JMALLOC(ISIZE) #ifdef hpR64 IZTEMP = IZTEMP/(1024*1024*1024*4) #endif IF( IZTEMP.EQ.0 ) THEN WRITE(*,*) 'QU2REG2: Memory allocation failed.' WRITE(*,*) 'QU2REG2: Number of bytes required = ', ISIZE KRET = 5 GOTO 900 ENDIF ENDIF C C ------------------------------------------------------------------ C* Section 2. Interpolate field from quasi to regular grid. C ------------------------------------------------------------------ C 200 CONTINUE C DO 230 J230=1,IQUANO C IF (IREGNO.NE.KPOINT(J230)) THEN C C Line contains less values than required,so C extract quasi-regular grid values for a line C DO 210 J210=1,KPOINT(J230) ILII = ILII+1 ZLINE(J210) = PFIELD(ILII) 210 CONTINUE C C and interpolate this line. C CALL ROWINA2( ZLINE, IREGNO, KPOINT(J230), ZWORK, ICODE, X PMSVAL, KRET) IF ( KRET .NE. 0 ) GOTO 900 C C Add regular grid values for this line to the temporary array. C DO 220 J220=1,IREGNO ILIO = ILIO+1 ZTEMP(ILIO) = ZLINE(J220) 220 CONTINUE C ELSE C C Line contains the required number of values, so add C this line to the temporary array. C DO 225 J225=1,IREGNO ILIO = ILIO+1 ILII = ILII+1 ZTEMP(ILIO) = PFIELD(ILII) 225 CONTINUE C ENDIF C 230 CONTINUE C C Copy temporary array to user array. C DO 240 J240=1,KLON*KLAT PFIELD(J240) = ZTEMP(J240) 240 CONTINUE C C ------------------------------------------------------------------ C* Section 9. Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN C 9001 FORMAT (1H ,'QU2REG : Invalid interpolation type code = ',I3) C 9002 FORMAT (1H ,'QU2REG : Number of latitudes is ',I4,', maximum ', C 'allowed is ',I3,'.') C 9003 FORMAT (1H ,'QU2REG : Number of longitudes is ',I4,', maximum ', C 'allowed is ',I3,'.') C END emoslib-000392+dfsg.1/gribex/cnbits.F0000755000175000017500000000534612127406245020342 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION CNBITS( VALUES, LAT, LONG ) C C----> C**** CNBITS C C Purpose. C -------- C C Calculate the number of bits needed to code a range of C field values. C C C** Interface. C ---------- C C CALL CNBITS( VALUES, LAT, LONG ) C C C Input C ----- C C VALUES - array of real numbers C LAT - first dimension of the array C (e.g. number of points along a meridian ) C LONG - second dimension of the array C (e.g. number of points along a parallel ) C C C Output C ------ C C CNBITS return value is required number of bits. C C C Method. C ------- C C Finds power of 2 required to scan the range of values. C C C Externals. C ---------- C C None. C C C Reference. C ---------- C C None. C C C Comments. C --------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF 8 Nove 1994 C C C Modifications. C -------------- C C None. C C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C C Arguments INTEGER LAT,LONG REAL VALUES( LAT, LONG) C C Local variables INTEGER ILAT,ILON REAL RMAXV, RMINV, RANGE C C ---------------------------------------------------------------- C* Section 1 . Find maximum and minimum for the given values C ---------------------------------------------------------------- C 100 CONTINUE CNBITS = 0 C C Find maximum and minimum for the given values RMINV = 0.0 RMAXV = 0.0 C DO 120 ILAT = 1, LAT DO 110 ILON = 1, LONG IF ( RMINV .GT. (VALUES( ILAT, ILON)) ) X RMINV = (VALUES( ILAT, ILON)) IF ( RMAXV .LT. (VALUES( ILAT, ILON)) ) X RMAXV = (VALUES( ILAT, ILON)) 110 CONTINUE 120 CONTINUE C RANGE = ABS( RMAXV - RMINV ) C C Calculate the number of bits needed to span the number range IF ( RANGE .EQ. 0.0 ) THEN CNBITS = 1 ELSE CNBITS = INT ( (ALOG( RANGE )/ALOG(2.0)) ) + 1 ENDIF C RETURN END emoslib-000392+dfsg.1/gribex/l2u1cr.F0000755000175000017500000000553612127406245020171 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE L2U1CR (HSTRNG) C C----> C**** L2U1CR - Convert character string to upper case. C C Purpose. C -------- C C Convert character string to all upper case. C C** Interface. C ---------- C C CALL L2U1CR (HSTRNG) C C Integer K. C Real P. C Logical O. C Character H. C C Input parameters. C ----------------- C C HSTRNG - String in upper and/or lower case. C C Output parameters. C ------------------ C C HSTRNG - Character string in all upper case. C C Method. C ------- C C Numeric values of each byte examined and altered if in the C range of lower case letters. C C Externals. C ---------- C C ICHAR C CHAR C C Reference. C ---------- C C Cray Programmer's Library Reference Manual. C C Comments. C --------- C C Routine contains sections 0 to 1 and section 9. C C Author. C ------- C C J. Hennessy ECMWF 07:04:89. C C Modifications C -------------- C C J. Hennessy ECMWF 29.01.90 C Replace null characters by blanks. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C CHARACTER*(*) HSTRNG C C ASCII representation of lower case characters a and z. C DATA IA /97/ DATA IZ /122/ C C ASCII representation of null and blank characters. C DATA INULL /0/ C C ---------------------------------------------------------------- C C C C C C C C C C* Section 1 . Change any necessary letters. C ---------------------------------------------------------------- C 1000 CONTINUE C C ILEN = LEN (HSTRNG) C DO 1100 J=1,ILEN ICH = ICHAR (HSTRNG(J:J)) IF ( (ICH.GE.IA).AND.(ICH.LE.IZ) ) HSTRNG (J:J) = CHAR (ICH-32) IF (ICH.EQ.INULL) HSTRNG (J:J) = CHAR (32) 1100 CONTINUE C C --------------------------------------------------------------- C C C C C C C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 9000 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/bt_sun_c.c0000755000175000017500000000705112127406245020704 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include /* Tools for storage/retrieval of arbitrary size bytes from 32 bit words (note - this version is not currently (6/30/88) described in the gbytes document) Modified by Arne Jorgensen 12-April-1991 (SUN routine) gbytes(p,u,q,b,s,n) gbyte (p,u,q,b) sbytes(p,u,q,b,s,n) sbyte (p,u,q,b) q >= 0 number of bits to be skipped preceding first byte in p 0 < b < sword byte size s >= 0 number of bits to be skipped between bytes n >= 0 number of bytes to be packed/unpacked gbytes unpacks n b bit bytes from p into u, starting by skipping q bits in p, then skipping s bits between bytes. gbyte unpacks one such byte. sbytes packs n b bit bytes from u into p, starting by skipping q bits in p, then skipping s bits between bytes. sbyte packs one such byte. */ #define SWORD 32 /* Word size in bits */ #define MASK 0xffffffff /* Mask of sword bits */ #define G1BYTE(p,q,b) ((b==32 ? MASK : ~(MASK<>(SWORD-(q+b)))) /* Get 1 word contained byte */ # define MASK1(q,b) (b==32 ? MASK : (~(MASK<= SWORD) { j = jq/SWORD; /* number of words offset */ jq %= SWORD; /* odd bits of offset */ } else { j=0; } qb = jq + jb; if (qb > SWORD) { qb = SWORD - jq; jb -= qb; lb = (G1BYTE(p[j],jq,qb)) << jb; jq = 0; j++; /* increment to next word */ } else lb = 0; *u = lb + (G1BYTE(p[j],jq,jb)); } sbytes_(p,u,q,b,s,n) long p[],u[],*q,*b,*s,*n; { int sbyte_(); gsbytes(p,u,q,b,s,n,sbyte_); } sbyte_(p,u,q,b) long p[],*u,*q,*b; { long qb,j,jq,jb,rb; jq = *q; jb = *b; if (jq >= SWORD) { j = jq / SWORD; /* number of words offset */ jq %= SWORD; /* odd bit offset */ } else { j = 0; } qb = jq + jb; if (qb > SWORD) { qb = SWORD - jq; jq = SWORD - jb; jb -= qb; p[j] = ((p[j] >> qb) << qb) + (G1BYTE(*u,jq,qb)); jq = 0; j++; /* point to next word */ } rb = G1BYTE(*u,SWORD-jb,jb); p[j] = (p[j] & ~MASK1(jq,jb)) + (rb << SWORD-(jb+jq)); } emoslib-000392+dfsg.1/gribex/ecdef13.F0000755000175000017500000002312612127406245020266 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF13( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPLEN, KPR, KRET) C C----> C**** ECDEF13 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 13. C C** Interface. C ---------- C C CALL ECDEF13( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPLEN - Pointer to field containing length of Section 1 C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted. C (Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 13. C C C Externals. C ---------- C C INXBIT - insert/extract bits C ABORTX - abort the program C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C #include "ecdef13.h" C C C Author. C ------- C C J.D.Chambers ECMWF April 1998 C C C Modifications. C -------------- C C Add system and method numbers C J.D.Chambers ECMWF May 2000 C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPLEN, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, JLOP, LENS1, ND, NF, IFLAG C LOGICAL LENCODE, LDECODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC .EQ. 'C' ) LDECODE = .NOT. LENCODE C C ------------------------------------------------------------------ C* Section 2 . Handle tube. C ------------------------------------------------------------------ C 200 CONTINUE C C Octet 50: As for MARS labelling (zero or ensemble forecast number) C Octet 51: As for MARS labelling (zero or total no. in ensembles) C Octet 52: Direction number C Octet 53: Frequency number C Octet 54: Total number of directions (Nd) C Octet 55: Total number of frequencies (Nf) C Six 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),6,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF13: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, elements 42 - 47.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 50 - 55.' ENDIF ENDIF C ND = KSEC1(46) NF = KSEC1(47) C C Octets 56-59: Integer scaling factor applied to directions C Octets 60-63: Integer scaling factor applied to frequencies C Two 32-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(48),2,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF13: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, elements 48 - 49.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 56 - 63.' ENDIF ENDIF C C Octet 64: Flag to indicate whether or not system C and method number are present. C 0 = not present (old style product) C 1 = present C IFLAG = 1 CALL INXBIT(KGRIB,KLENG,KNSPT,IFLAG,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF13: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, system/method flag' ELSE WRITE(GRPRSM,*) ' decoding section 1, octet 64' ENDIF ENDIF C C If the flag is set (new style product) C IF( IFLAG.EQ.1 ) THEN C C Octets 65-66: System number C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(50+ND+NF), X 1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF13: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, system number' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 65 - 66' ENDIF ENDIF C C Octets 67-68: Method number C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(51+ND+NF), X 1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF13: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, method number' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 67 - 68' ENDIF ENDIF C ELSE C C (Old style) C Octets 65-68: Spare (set to zero) C Four 8-bit fields. C IF( LENCODE ) THEN DO JLOP = 65, 68 IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) X 'ECDEF13: Error reported by routine INXBIT:' WRITE(GRPRSM,*) X ' encoding section 1, octets 69 - 100.' ENDIF ENDDO ELSE KNSPT = KNSPT + 4*8 ENDIF ENDIF C C Octets 69-100: Spare (set to zero) C Thirty-32 8-bit fields. C IF( LENCODE ) THEN DO 210 JLOP = 69, 100 IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF13: Error reported by routine INXBIT:' WRITE(GRPRSM,*) ' encoding section 1, octets 69 - 100.' ENDIF 210 CONTINUE ELSE KNSPT = KNSPT + 32*8 ENDIF C C Octet 101 onwards: List of Nd scaled directions C Nd 32-bit fields. C DO 220 JLOP = 50, (49+ND) CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(JLOP),1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF13: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) X ' encoding section 1, elements 50 onwards' ELSE WRITE(GRPRSM,*) X ' decoding section 1, octets 101 onwards.' ENDIF ENDIF 220 CONTINUE C C Octets 101+Nd*4 onwards: List of Nf scaled frequencies C Nf 32-bit fields. C DO 230 JLOP = (50+ND), (49+ND+NF) CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(JLOP),1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF13: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) X ' encoding section 1, element (50+Nd) etc.' ELSE WRITE(GRPRSM,*) X ' decoding section 1, octets (101+Nd*4)->' ENDIF ENDIF 230 CONTINUE C C C On encoding, record the length of section 1. C IF( LENCODE ) THEN LENS1 = 100 + (ND*4) + (NF*4) CALL INXBIT(KGRIB,KLENG,KPLEN,LENS1, 1,KBITS,24,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF13: Error reported by routine INXBIT:' WRITE(GRPRSM,*) ' encoding length of section 1.' ENDIF ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF13: Section 9.' WRITE(GRPRSM,*) ' Output values set, KNSPT = ', KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF13') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/tab2fil.F0000755000175000017500000000754512127406245020406 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION TAB2FIL ( KTABLE, KPARAM, KCENTR, HFILE ) C C----> C**** TAB2FIL C C Purpose C ------- C C Build name of file that should contain, if present, the GRIB code C table 2 (parameters) associated to data (with valid entries) . C C C Interface C --------- C C IRET = TAB2FIL ( KTABLE, KPARAM, KCENTR ) C C Input C ----- C C KTABLE - Local table 2 version number. C KPARAM - Parameter number. C KCENTR - Centre number. C C C Output C ------ C C HFILE - File name to look for and contact. C C Function return value is: C 0 - In all current cases . C C C Method C ------ C C Checks if environment variable ECMWF_LOCAL_TABLE_PATH exists to C define the location of the parameter tables. C C Otherwise, looks for table xxx in: C C ${ELTPATH}/wmostd/table_2_version_xxx for WMO standard entries ; C C ${ELTPATH}/nnnnnn/local_table_2_version_xxx for ECMWF home data C where nnnnnn is the current EMOSLIB version ; C C ${ELTPATH}/cenCCC/local_table_2_version_xxx for home data of C centre number CCC . C C Entry for each parameter in table has the format (without quotes): C "......................" Separator C "051" Paramter number C "MX2T24" MARS mnemonic C "Max 2m temp" Parameter description C "K" Units for the parameter C "During previous 24 hours" Further description C C There is a termination "......................" line in the file C and there may be lines of comment before the first parameter entry. C C The parameter definition file is kept open between calls. C C C Externals C --------- C EMOSNUM - Gives current EMOSLIB version number. C C C Author C ------ C C J. Clochard, Meteo France, for ECMWF - June 1999. C C C MODIFICATIONS C _____________ C C None. C C _______________________________________________________ C----< C C IMPLICIT NONE C #include "grprs.h" #include "grbcom.h" C C Function arguments C INTEGER KPARAM, KTABLE, KCENTR C CHARACTER*256 HFILE C C Local variables C INTEGER IEMOSNM, IOFFSET C C External functions C INTEGER EMOSNUM EXTERNAL EMOSNUM C C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C TAB2FIL = 0 C C Build filename C HFILE = ELTPATH IOFFSET = INDEX( HFILE, ' ') C IF( MAX( KTABLE,KPARAM) .LE. 127 ) THEN C HFILE(IOFFSET:)='wmostd/table_2_version_' IOFFSET = INDEX( HFILE, ' ') C ELSE C IF( KCENTR .EQ. 98 ) THEN C IEMOSNM = EMOSNUM(1) WRITE(HFILE(IOFFSET:IOFFSET+5),'(I6.6)') IEMOSNM C ELSE C HFILE(IOFFSET:IOFFSET+3)='cen' WRITE(HFILE(IOFFSET+3:IOFFSET+5),'(I3.3)') KCENTR C ENDIF C IOFFSET=IOFFSET+6 HFILE(IOFFSET:)='/local_table_2_version_' C ENDIF C IOFFSET = INDEX( HFILE, ' ') WRITE(HFILE(IOFFSET:IOFFSET+2),'(I3.3)') KTABLE C print *,'TAB2FIL: HFILE = "' // HFILE(:IOFFSET+2) // '"' C C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C C Drop through if not found. C RETURN C END emoslib-000392+dfsg.1/gribex/sbyte.F0000755000175000017500000000373512127406245020206 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SBYTE (DEST,SOURCE,IOFSET,IBYTSZ) C C----> C**** SBYTE - Insert a single bit field. Cray routine. C C* FUNCTION: STORE A SINGLE BIT FIELD FROM SOURCE INTO DEST C* C* INPUT : SOURCE = WORD CONTAINING BIT FIELD RIGHT JUSTIFIED C* DEST(1) = 1ST TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS ; .LE.WORD SIZE ..... C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST(1) AND EVENTUALLY DEST(2) CONTAIN FIELD C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* C----< PARAMETER(NBPW=64) INTEGER SOURCE,DEST(1) INTEGER SH1,SH2,SH3 SH1=IOFSET+IBYTSZ IF(SH1.GT.NBPW) GO TO 2 SH2=NBPW-SH1 IF(SH2.LT.0) SH2=NBPW-SH2 C BYTE DOES NOT SPAN WORDS DEST(1)=SHIFT( 1 OR( 2 AND(SHIFT(DEST(1),SH1), 3 SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ) ) 4 , 5 AND(SOURCE, 6 COMPL(SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ)) ) 7 ) 8 ,SH2) RETURN 2 CONTINUE C BYTE SPANS 2 WORDS SH3=2*NBPW-SH1 DEST(1)=OR( 1 AND(DEST(1),MASK(IOFSET)) 2 , 3 AND(SHIFT(SOURCE,SH3) , COMPL(MASK(IOFSET)) ) 4 ) DEST(2)=OR( 1 AND(DEST(2) , COMPL(MASK(SH1-NBPW)) ) 2 , 3 SHIFT( AND(SOURCE , COMPL(MASK(SH3)) ) ,SH3) 4 ) RETURN END emoslib-000392+dfsg.1/gribex/unblock.F0000755000175000017500000000675112127406245020516 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C #ifdef CRAY SUBROUTINE UNBLOCK (UN1,UN2,IRET) C C----> C********************************************************************** C* * C* NAME : UNBLOCK * C* * C* FUNCTION : CONVERTS CRAY BLOCKED DATASET OF GRIB DATA INTO AN * C* UNBLOCKED DATASET * C* * C* INPUT : UN1 = INPUT LUN * C* UN2 = OUTPUT LUN * C* * C* OUTPUT : IRET = -100 BUFFER IN ERROR * C* = -200 BUFFER OUT ERROR * C* > 0 NO. OF BLOCKS WRITTEN * C* * C* GENERAL : UNBLOCK CALLS ----- * C* * C* AUTHOR : B.V. GURETZKY V.E. DAY * C* * C* MODIFIED : J. HENNESSY 26.11.85 * C* * C********************************************************************** C----< C IMPLICIT INTEGER (B,U) PARAMETER (BLEN=25088) DIMENSION BUF(BLEN+512) C C NO OF WORDS PER BLOCK (UNBLOCKED DATASET ICB = 512 ) DATA ICB /512/ C IRET = 0 IRES = 0 C DO 5000 J = 1,10000 C C READ INPUT FILE RECORD. C BUFFER IN (UN1,0) (BUF(IRES+1),BUF(BLEN+ICB)) IUNIT = UNIT(UN1) IF (UNIT(UN1)) 1000,5500,10000 1000 CONTINUE LEN = IRES + LENGTH(UN1) K = LEN / ICB IE = K * ICB IRES = LEN - IE C IF (K.NE.0) C THEN C C WRITE FIRST CHUNK OF ICB-BLOCKS C BUFFER OUT (UN2,0) (BUF(1),BUF(IE)) IUNIT = UNIT(UN2) IF (IUNIT.GT.0) GO TO 10100 IRET = IRET + K C C MOVE REMAINDER OF BLOCK TO FRONT AND GET NEXT RECORD. C DO 4000 I = 1,IRES BUF(I) = BUF(IE+I) 4000 CONTINUE C ENDIF C 5000 CONTINUE C C C HANDLE LAST BLOCK, SETTING UNUSED WORDS OF LAST BLOCK TO 0. C 5500 IF (IRES.NE.0) C THEN IRES = IRES + 1 DO 6000 I = IRES,ICB BUF(I) = 0 6000 CONTINUE BUFFER OUT (UN2,0)(BUF(1),BUF(ICB)) IUNIT = UNIT(UN2) IF (IUNIT.GT.0) GO TO 10100 IRET = IRET + 1 ENDIF C RETURN C 10000 CONTINUE IRET = -100 WRITE (*,*) 'UNBLOCK : BUFFER IN ERROR' RETURN C 10100 CONTINUE IRET = -200 WRITE (*,*) 'UNBLOCK : BUFFER OUT ERROR' RETURN C END #endif emoslib-000392+dfsg.1/gribex/grchk1.F0000755000175000017500000006520712127406245020241 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRCHK1(KSEC1,KRET) C C----> C**** GRCHK1 - Check parameters for Section 1 of GRIB code. C C Purpose. C -------- C C Check parameters for Section 1 of GRIB code against C valid values for GRIB Code Edition 1. C C** Interface. C ---------- C C CALL GRCHK1(KSEC1,KRET) C C C Input Parameters. C ----------------- C C KSEC1 - Array containing parameters for section C 1 of GRIB code. C C Output Parameters. C ------------------ C C KRET - Return code. C 0 , No error encountered. C 1 , Error in GRIB code parameter. C C Method. C ------- C C Values checked against current code/flag tables C and against maximum or minimum permitted values. C They are also checked against the current status C of the implementation of GRIBEX and ECMWF usage. C C Externals. C ---------- C C KWCHK1 - Check Washington ensemble products local usage. C CHKTAB2 - Checks whether parameter appears in know code tables 2 C C Reference. C ---------- C C WMO Manual on Codes for GRIB code. C C Comments. C --------- C C None. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 30.08.91 C Checks for bit-map present removed. C Check for negative value for century removed. C C J. Hennessy ECMWF 02.12.91 C Changes to Table 2 and Parameter number checks. C C J. Hennessy ECMWF 22.07.92 C Missing data value (255) allowed for originating centre C and parameter number. C Additional checks for experimental space view C perspective added. C C J. Hennessy ECMWF 09.11.92 C Checks for ECMWF local use 1 and 2 added. C C J. Hennessy ECMWF 24.05.93 C Checks for ECMWF local use 3 and 4 added. C C J. Hennessy ECMWF 08.06.93 C Meteosat 3 and Goes 6 added. C C J.D.Chambers ECMWF 20.10.93 C Checks for ECMWF local use 5 added. C C J.D.Chambers ECMWF 07.02.94 C Add satellite streams 52,53 and satellite ids 121, 122 C C J.D.Chambers ECMWF 10.05.94 C Fix test of KSEC1(43) - total forecast number can be 0 C C J.D.Chambers ECMWF 12.05.94 C Checks for ECMWF local use 7 added. C C J.D.Chambers ECMWF 09.06.94 C Allow missing data indicator(255) for date/time/... C C J.D.Chambers ECMWF 17.06.94 C Add CLASS = 3 for ERA. C C J.D.Chambers ECMWF 19.09.94 C Allow single field in an average. C Remove restriction that number of fields missing from an C average should be less than the number in the average. C C J.D.Chambers ECMWF 23.11.94 C Only check for reserved fields if ECMWF local usage 1. C C J.D.Chambers ECMWF 02.02.95 C Allow types 17 and 18 (ensemble mean/standard deviations). C C J.D.Chambers ECMWF 14.02.95 C Allow type 52 (sensitivity forecast) C C J.D.Chambers ECMWF 28.03.95 C Allow parameters 127 & 128 in code table 2, ECMWF table 128 C C J.D.Chambers ECMWF 09.10.95 C Check Washington ensemble products local usage. C C J.D.Chambers ECMWF 27.02.96 C Allow for ECMWF local use definition 6. C C J.D.Chambers ECMWF 04.11.96 C Add CLASS = 4, TYPE = 21, STREAM = 2231/2232/2233 for ECSN. C C J.D.Chambers ECMWF 08.01.98 C Add TYPE = 22 (climate simulation, 360 day year) for ECSN. C C J.D.Chambers ECMWF 13.02.98 C Add EPS tubes and SSTs. C C J.D.Chambers ECMWF April 1998 C Add wave 2D spectra directions and frequencies C C J.D.Chambers ECMWF April 1998 C Update WMO valid table entries. C C J. Clochard, Meteo France, for ECMWF - June 1999. C Adapt CHKTAB2 to new calling syntax. C C J.D.Chambers ECMWF April 2000 C Add CLASS = 6 for DEMETER. C Add CLASS = 7 for PROVOST. C C J.D.Chambers ECMWF October 2002 C Add TYPE = 27 for extreme forecast index C TYPE = 28 for extreme forecast index control C C J.D.Chambers ECMWF March 2003 C Add TYPE = 33 for 4D variational increments C C J.D.Chambers ECMWF April 2003 C Add CLASS = 8 for ELDAS C Add TYPE = 34 for gridded observations C Add TYPE = 90-99 for Mars development C Add STREAM = 1061-1069 for Mars development C Add STREAM = 1100 and 1101 for ELDAS C C J.D.Chambers ECMWF April 2003 C Add type 64 - signal variance C C J.D.Chambers ECMWF February 2004 C Add monthly forecast streams, 1200 - 1211 C C J.D.Chambers ECMWF February 2004 C Add monthly forecast streams, 1220 - 1224 C C J.D.Chambers ECMWF March 2004 C Add Delayed CutOff streams, 1028 and 1029 C C J.D.Chambers ECMWF September 2004 C Add local definition 24 C C J.D.Chambers ECMWF November 2004 C Add local definition 25 C C J.D.Chambers ECMWF January 2005 C Add streams 1039 and 1084 C C S.Curic ECMWF March 2005 C Add STREAM = 1024 Daily archive hindcast C STREAM = 1034 Ensemble forecast overlap C STREAM = 1039 Ensemble forecast hindcasts (changed name) C STREAM = 1084 Ensemble wave hindcast (changed name) C STREAM = 1085 Wave hindcast C STREAM = 1086 Wave ensemble forecast overlap C STREAM = 1087 C Add TYPE = 29 Probability Boundaries C TYPE = 36 Probability Distribution C TYPE = 37 Cluster information C Add CLASS = 10 Cosmo leps C CLASS = 11 Ensembles C C S.Curic ECMWF March 2005 C Add type of level 211 Ocean wave data (ECMWF extention) C 212 Wave spectra C C S.Curic ECMWF July 2005 C Add STREAM = 1075 Monthly means of Daily forecast accumulations C Add Time range indicator = 120 Average of N Forecast. Each product C is an accumulation from forecast lenght P1 to forecast C lenght P2, with reference times at intervals P2-P1 C S.Curic ECMWF September 2005 C 211 level type has been replaced with 209 because 211 is C in use by NCEP C Add CLASS = 12 TIGGE C C S.Curic ECMWF January 2006 C Add CLASS = 14 ERA Interim C C M.Fuentes ECMWF February 2006 C Add TYPE = 65 CV (Cal/Val) C C S.Curic ECMWF March 2006 C Add STREAM = 1030 Ensemble Data Assimilation C STREAM = 1076 Monthly Means Daily climatology C STREAM = 1088 Ensemble Wave Data Assimilation C STREAM = 1089 Daily climatology wave C C S.Curic ECMWF April 2006 C Add STREAM = 1230 Multi-model Multi-annual Forecast C STREAM = 1231 Multi-model Multi-annual Forecast means C STREAM = 1232 Multi-model Multi-annual Forecast wave C STREAM = 1233 Multi-model Multi-annual Forecast wave means C C S.Curic ECMWF January 2007 C Add Satellite identifiers 56, 171 C C S.Curic ECMWF February 2007 C STREAM = 1032 efho Ensemble Forecast Hindcast Overlap C STREAM = 1033 enfh Ensemble Forecast Hindcasts C STREAM = 1078 ewho Ensemble Forecast Wave Hindcast Overlap C STREAM = 1079 enwh Ensemble Forecast Wave Hindcasts C C S.Curic ECMWF February 2007 C Add CLASS = 15 SREPS Short-Range Ensemble Prediction System C C S.Curic ECMWF July 2007 C Add TYPE = 38 Unassigned C TYPE = 39 Unassigned C C M.Fuentes ECMWF July 2007 C Add STREAM = 1040 efhm Ensemble Forecast Hindcast Means C C S.Curic ECMWF July 2007 C Add CLASS = 16 dt (Data Targeting System) C C S.Curic ECMWF July 2008 C Add TYPE = 32 Climate Distribution (CD) C TYPE = 38 Shift Of Tails (SOT) C Add STREAM = 1077 Wave Ensemble forecast Hindcast Stat (WEHS) C C S.Curic ECMWF September 2008 C Add STREAM = 1240 Eurosip C Add STREAM = 1241 EUROSIP Hindcast Monthly Means C C S.Curic ECMWF January 2010 C Add CLASS = 19 MACC Monitoring Atmos. Composition and Climate C C S.Curic ECMWF January 2010 C Add CLASS = 20 PE Permanent experiments C C C S.Curic ECMWF September 2010 C Add TYPE = 45 Cluster representative CR C C S.Curic ECMWF November 2010 C Add satellite streams 172,257 C C C S.Curic ECMWF December 2010 C Add stream 1022 fsob forecast sensitivity to observations C Add stream 1023 fsow forecast sensitivity to observations wave C Add type 47 taem time average ensemble mean C Add type 48 taes time average ensemble standard deviation C C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments C INTEGER KRET, KSEC1 DIMENSION KSEC1(*) C C Parameters C INTEGER JPAVAC, JPTYP, JPSTR, JP1, JP3, JP4, JP5, JPIDSAT PARAMETER (JPAVAC=9) PARAMETER (JP1=4) PARAMETER (JP3=40) PARAMETER (JP4=12) PARAMETER (JP5=17) PARAMETER (JPTYP=71) PARAMETER (JPSTR=126) PARAMETER (JPIDSAT = 28) C C Local variables C LOGICAL LECMWF, LKWBC C INTEGER LOOP, NRET, IDSATEL, NUMBER INTEGER IAC, IAVAC, IRET, ISTRE, ITAB1 INTEGER ITAB3, ITAB4, ITAB5, ITEMP, ITYPE C DIMENSION IDSATEL(JPIDSAT) DIMENSION ITAB1(JP1) DIMENSION ITAB3(JP3) DIMENSION ITAB4(JP4) DIMENSION ITAB5(JP5) DIMENSION IAVAC(JPAVAC) DIMENSION ITYPE(JPTYP) DIMENSION ISTRE(JPSTR) C CHARACTER*121 HFIRST, HSECOND, HTHIRD, HFOURTH C SAVE ITAB1, ITAB3, ITAB4, ITAB5, IAVAC SAVE ITYPE, ISTRE, IDSATEL C C Externals C INTEGER CHKTAB2 EXTERNAL CHKTAB2 C C Valid values given in Code Table 1. C DATA ITAB1 /0,128,64,192/ C C Valid values given in Code Table 3. C DATA ITAB3 /1,2,3,4,5,6,7,8,9,20, X 100,101,102,103,104,105,106,107,108,109, X 110,111,112,113,114,115,116,117,119, X 120,121,125,128,141,160,200,201,209,210,212/ C C Valid values given in Code Table 4. C DATA ITAB4 /0,1,2,3,4,5,6,7,10,11,12, X 254/ C C Valid values given in Code Table 5. C DATA ITAB5 /0,1,2,3,4,5, X 10, X 113,114,115,116,117,118,119, X 120,123,124/ C C Valid values given in Code Table 5, for averages and C accumulations. C DATA IAVAC /113,114,115,116,117,118,119, X 123,124/ C C Valid values for type. C DATA ITYPE / 1, 2, 3, 4, 5, 6, 7, 8, 9, X 10,11,12,13,14,15,16,17,18,19, X 20,21,22,23,24,25,26,27,28,29, X 30,31,32,33,34,35,36,37,38,39, X 40,41,42,45,47,48, X 50,51,52, X 60,61,62,63,64,65, X 70,71,72, X 80,81,82,83, X 90,91,92,93,94,95,96,97,98,99/ C C Valid values for stream. C DATA ISTRE / X 50, 51, 52, 53, 54, 55, X 119, 120, 121, 122, 130, 140, X 150, 151, 152, 201, 250, 251, 252, 253, 254, 255, 256, X 1022,1023, X 1024,1025,1026,1027,1028,1029,1030,1032,1033, X 1034,1035,1036,1037,1038,1039, X 1040,1041,1042,1043,1044,1045,1046,1047, X 1050,1051,1052,1053,1054,1055,1056, X 1060,1061,1062,1063,1064,1065,1066,1067,1068,1069, X 1070,1071,1072,1073,1074,1075,1076,1077,1078,1079, X 1080,1081,1082,1083,1084,1085,1086,1087,1088,1089, X 1090,1091,1092,1093,1094,1095,1096,1097, X 1100,1101,1110, X 1200,1201,1202,1203,1204,1205,1206,1207,1208,1209, X 1210,1211, X 1220,1221,1222,1223,1224, X 1230,1231,1232,1233, X 1240,1241, X 2231,2232,2233, X 2240,2241,2242,2243/ C C C Valid values for satellite identifiers C DATA IDSATEL/ X 50, 51, 52, 53, 54, 55, 56,119, 120, 121, 122, 130, 140, X 150, 151, 152, 171, 172, 199, 201, 250, 251, 252, 253, X 254, 255, 256, 257/ C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C C Reset return code. KRET = 0 C C -----------------------------------------------------------------| C* Section 2 . Check values against code tables and extreme values. C -----------------------------------------------------------------| C 200 CONTINUE C C* Check Parameter Table version number. C IF( (KSEC1(1).LT.1).OR.(KSEC1(1).GT.254) ) THEN WRITE(GRPRSM,9001) KSEC1(1) KRET = 1 ENDIF C C* Check Identification of centre. Code Table 0. C Currently only values 1 to 98 inclusive are used. C Missing value indicator (255) is allowed. C IF( (KSEC1(2).LT.0).OR.(KSEC1(2).GT.255) ) THEN WRITE(GRPRSM,9002) KSEC1(2) KRET = 1 ENDIF C LECMWF = ( KSEC1(2).EQ.98 ).OR. X ( (KSEC1(2).EQ.80).AND. X (KSEC1(24).EQ.1).AND. X (KSEC1(37).EQ.50) ) LKWBC = ( (KSEC1(2).EQ.7) .AND. (KSEC1(22).NE.98) ) C C* Check Generating process identification number. C IF( (KSEC1(3).LT.1).OR.(KSEC1(3).GT.255) ) THEN WRITE(GRPRSM,9003) KSEC1(3) KRET = 1 ENDIF C C* Check Grid definition. C IF( (KSEC1(4).LT.1).OR.(KSEC1(4).GT.255) ) THEN WRITE(GRPRSM,9004) KSEC1(4) KRET = 1 ENDIF C C* Check Flag. Code Table 1. C DO LOOP = 1, JP1 IF( KSEC1(5).EQ.ITAB1(LOOP) ) GOTO 215 ENDDO C WRITE(GRPRSM,9005) KSEC1(5) KRET = 1 C 215 CONTINUE C C* Cross check that, if uncatalogued grid is specified, Section C 2, Grid description section, is included. C IF( (KSEC1(4).EQ.255).AND. X ( (KSEC1(5).EQ.0).OR.(KSEC1(5).EQ.64) ) ) THEN KRET = 1 WRITE(GRPRSM,9014) ENDIF C C* Check Parameter indicator. Code Table 2. C IF( (KSEC1(6).LT.1).OR.(KSEC1(6).GT.255) ) THEN WRITE(GRPRSM,9006) KSEC1(6) KRET = 1 ENDIF C C* Check ECMWF Parameter Table Number and Parameter Indicators. C IF( LECMWF ) THEN C IRET = CHKTAB2(KSEC1,HFIRST,HSECOND,HTHIRD,HFOURTH) C IF( IRET.EQ.20001 ) THEN C IF( MIN( KSEC1(1),KSEC1(6)) .LE. 127 ) THEN WRITE(GRPRSM,*) X 'GRCHK1: WMO code table 2 version ', KSEC1(1) ELSEIF (LECMWF) THEN WRITE(GRPRSM,*) X 'GRCHK1: ECMWF local table 2 version ', KSEC1(1) ELSE WRITE(GRPRSM,*) X 'GRCHK1: originating centre local table 2 version ', KSEC1(1) ENDIF C WRITE(GRPRSM,*) X ' does not contain parameter ', KSEC1(6) C ENDIF C ENDIF C C* Check International Table useage. C IF( (KSEC1(1).LT.127).AND.(KSEC1(6).GT.127) ) THEN WRITE(GRPRSM,9024) KSEC1(6) , KSEC1(1) ENDIF C C* Check Indicator of type of level. Code Table 3. C Experimental space view uses this field as satellite C identification. C IF( (KSEC1(6).EQ.127).AND.(KSEC1(1).EQ.1) ) THEN C C Satellite identification. C NRET = 1 DO LOOP = 1, JPIDSAT IF( KSEC1(7).EQ.IDSATEL(LOOP) ) NRET = 0 ENDDO C IF( NRET.EQ.1 ) THEN WRITE(GRPRSM,*) X 'GRCHK1: Invalid satellite identifier: ',KSEC1(7) KRET = 1 ENDIF ELSE C IRET = 0 C C Type of level. C DO LOOP = 1, JP3 IF( KSEC1(7).EQ.ITAB3(LOOP) ) GOTO 225 ENDDO C IRET = 1 C 225 CONTINUE C C ECMWF uses 200 for pseudo-levels. C IF( (KSEC1(7).EQ.200).AND.LECMWF ) IRET = 0 IF( IRET.EQ.1 ) THEN WRITE(GRPRSM,9015) KSEC1(7) KRET = 1 ENDIF C C ENDIF C C For certain level types no description is necessary and C those fields should be 0. C IF( (KSEC1(7).LT.8).OR.(KSEC1(7).EQ.102) ) THEN ITEMP = KSEC1(8) + KSEC1(9) IF( ITEMP.NE.0 ) THEN KRET = 1 WRITE(GRPRSM,9023) KSEC1(7) , KSEC1(8) , KSEC1(9) ENDIF ENDIF C C* Check Year of century. C C IF( (KSEC1(10).LT.0).OR.(KSEC1(10).GT.100) ) THEN IF( KSEC1(10).NE.255 ) THEN WRITE(GRPRSM,9008) KSEC1(10) KRET = 1 ENDIF ENDIF C C* Month check. C IF( (KSEC1(11).LT.1).OR.(KSEC1(11).GT.12) ) THEN IF( KSEC1(10).NE.255 ) THEN WRITE(GRPRSM,9009) KSEC1(11) KRET = 1 ENDIF ENDIF C C* Day check. C IF( (KSEC1(12).LT.1).OR.(KSEC1(12).GT.31) ) THEN IF( KSEC1(10).NE.255 ) THEN WRITE(GRPRSM,9010) KSEC1(12) KRET = 1 ENDIF ENDIF C C* Hour check. C IF( (KSEC1(13).LT.0).OR.(KSEC1(13).GT.23) ) THEN IF( KSEC1(10).NE.255 ) THEN WRITE(GRPRSM,9011) KSEC1(13) KRET = 1 ENDIF ENDIF C C* Minute check. C IF( (KSEC1(14).LT.0).OR.(KSEC1(14).GT.59) ) THEN IF( KSEC1(10).NE.255 ) THEN WRITE(GRPRSM,9012) KSEC1(14) KRET = 1 ENDIF ENDIF C C* Indicator of unit of time check. Code Table 4. C DO LOOP = 1, JP4 IF( KSEC1(15).EQ.ITAB4(LOOP) ) GOTO 245 ENDDO C WRITE(GRPRSM,9013) KSEC1(15) KRET = 1 C 245 CONTINUE C C* Time range indicator check. Code Table 5. C DO LOOP = 1, JP5 IF( KSEC1(18).EQ.ITAB5(LOOP) ) GOTO 255 ENDDO C WRITE(GRPRSM,9019) KSEC1(18) KRET = 1 C 255 CONTINUE C C* Cross check Time range indicator and Number averaged or C accumulated. C IAC = 0 DO LOOP = 1, JPAVAC IF( KSEC1(18).EQ.IAVAC(LOOP) ) IAC = 1 ENDDO C C If average or accumulation, check for valid numbers C of included and missing values. C IF( IAC.EQ.1. ) THEN IF( KSEC1(19).LT.1 ) THEN WRITE(GRPRSM,9016) KSEC1(18) , KSEC1(19) Cjdc KRET = 1 ENDIF IF( KSEC1(20).LT.0 ) THEN WRITE(GRPRSM,9020) KSEC1(18) , KSEC1(20) Cjdc KRET = 1 ENDIF ENDIF C C* Century check. C C ECMWF data starts in 20th century. C commented to allow work Simona C cs IF( (KSEC1(21).LT.20).AND.LECMWF ) THEN cs WRITE(GRPRSM,9021) KSEC1(21) cs KRET = 1 cs ENDIF C C* Decimal scale factor check. C C At ECMWF the scale factor is always 0. C Cjdc IF( (KSEC1(23).NE.0).AND.LECMWF ) THEN Cjdc WRITE(GRPRSM,9022) KSEC1(23) Cjdc KRET = 1 Cjdc ENDIF C C* Flag field, indicating local ECMWF usage. C IF( (KSEC1(24).NE.0).AND.(KSEC1(24).NE.1) ) THEN WRITE(GRPRSM,9025) KRET = 1 ENDIF C C -----------------------------------------------------------------| C* Section 3 . Check validity of values for ECMWF local use. C -----------------------------------------------------------------| C 300 CONTINUE C IF( (KSEC1(24).EQ.1).AND.LECMWF ) THEN C C* Check reserved fields are zero. C DO LOOP = 25, 36 IF( KSEC1(LOOP).NE.0 ) WRITE(GRPRSM,9026) ENDDO C C Check local definition number. C IF( (KSEC1(37).LT.1).OR.(KSEC1(37).GT.254) ) THEN KRET = 1 WRITE(GRPRSM,9101) KSEC1(37) ENDIF C C Check Class. C 1 = operations C 2 = research C 3 = ECMWF re-analysis C 4 = European Climate Support Network (ECSN). C 5 = ERA 40 (ECMWF 40-year re-analysis) C 6 = DEMETER C 7 = PROVOST C 8 = ELDAS C 9 = TOST C 10 = COSMO C 11 = Ensembles C 12 = TIGGE C 14 = ERA Interim C 15 = SREPS C 16 = dt (Data Targeting System) C 17 = la LACE ALADIN C 18 = yt YOTC C 19 = MACC C 99 = ECMWF testing C C 1-120 = Member State C 121 = Generic Member State C IF( (KSEC1(38).LT.1).OR. X ((KSEC1(38).GT.20).AND. X (KSEC1(38).LT.99).OR.(KSEC1(38).GT.121)) ) THEN KRET = 1 WRITE(GRPRSM,9102) KSEC1(38) ENDIF C C Check Type. C DO LOOP = 1, JPTYP IF( KSEC1(39).EQ.ITYPE(LOOP) ) GOTO 325 ENDDO C WRITE(GRPRSM,9103 ) KSEC1(39) KRET = 1 C 325 CONTINUE C C Check Stream. C DO LOOP = 1, JPSTR IF( KSEC1(40).EQ.ISTRE(LOOP) ) GOTO 335 ENDDO C WRITE(GRPRSM,9104) KSEC1(40) KRET = 1 C 335 CONTINUE C C No check on the ASCII Version Number. C C C Check ECMWF local definition 1. C (MARS labelling or ensemble forecast data) C IF( KSEC1(37).EQ.1 ) THEN C C Check ensemble forecast number and total forecasts number. C (ECMWF ensemble seasonal forecasts, stream 1090, uses C 2-byte ensemble forecast number) C IF( KSEC1(40).NE.1090 ) THEN C IF( (KSEC1(42).LT.0).OR.(KSEC1(42).GT.255) ) THEN KRET = 1 WRITE(GRPRSM,9105) KSEC1(42) ENDIF C IF( (KSEC1(43).LT.0).OR.(KSEC1(43).GT.255) ) THEN KRET = 1 WRITE(GRPRSM,9106) KSEC1(43) ENDIF C ELSE C IF( (KSEC1(42).LT.0).OR.(KSEC1(42).GT.65535) ) THEN KRET = 1 WRITE(GRPRSM,9105) KSEC1(42) ENDIF C ENDIF C ENDIF C C Check ECMWF local definition 2. C (Cluster means and standard deviations) C IF( KSEC1(37).EQ.2 ) THEN C C Check cluster number. C IF( (KSEC1(42).LT.1).OR.(KSEC1(42).GT.255) ) THEN KRET = 1 WRITE(GRPRSM,9107) ENDIF C C Check total number of clusters. C IF( (KSEC1(43).LT.1).OR.(KSEC1(43).GT.255) ) THEN KRET = 1 WRITE(GRPRSM,9108) ENDIF C C Check clustering method. C IF( (KSEC1(44).LT.1).OR.(KSEC1(44).GT.3) ) THEN KRET = 1 WRITE(GRPRSM,9109) ENDIF C ENDIF C C Check ECMWF local definition 6. C (Surface temperatures) C IF( KSEC1(37).EQ.6 ) THEN C C Check type for SST field. C IF( (KSEC1(45).LT.0).OR.(KSEC1(45).GT.2) ) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK1: Invalid type for SST field = ',KSEC1(45) ENDIF C C Check count of ICE fields used. C IF( KSEC1(46).LT.0 ) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK1: Invalid count of ICE fields used = ',KSEC1(46) ENDIF C ENDIF C ENDIF C C Check ECMWF local definition 18. C (Multi-analysis ensemble data) C IF( KSEC1(37).EQ.18 ) THEN C C Check list of WMO centre identifiers C NUMBER = KSEC1(46) IF( NUMBER.LT.0 ) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK1: WMO id list count invalid = ',NUMBER ENDIF C IF( NUMBER.GT.15 ) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK1: WMO id list count greater than 15 = ',NUMBER ENDIF C ENDIF C C -----------------------------------------------------------------| C* Section 4 . Check validity of values for Washington ensemble C products local usage. C -----------------------------------------------------------------| C 400 CONTINUE C Cjdc IF( (KSEC1(24).EQ.1).AND.LKWBC ) CALL KWCHK1(KSEC1,KRET) C C -----------------------------------------------------------------| C* Section 9 . Return to calling routine. Format statements. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN C 9001 FORMAT (1H ,'GRCHK1: Invalid Parameter Table version number - ', C I5) 9002 FORMAT (1H ,'GRCHK1: Invalid Identification of Centre - ',I5) 9003 FORMAT (1H ,'GRCHK1: Invalid Generating Process - ',I5) 9004 FORMAT (1H ,'GRCHK1: Invalid Grid Definition - ',I5) 9005 FORMAT (1H ,'GRCHK1: Invalid flag field - ',I5,' decimal.') 9006 FORMAT (1H ,'GRCHK1: Invalid Indicator of parameter - ',I5) 9008 FORMAT (1H ,'GRCHK1: Invalid year of century - ',I5) 9009 FORMAT (1H ,'GRCHK1: Invalid month - ',I5) 9010 FORMAT (1H ,'GRCHK1: Invalid day - ',I5) 9011 FORMAT (1H ,'GRCHK1: Invalid hour - ',I5) 9012 FORMAT (1H ,'GRCHK1: Invalid minute - ',I5) 9013 FORMAT (1H ,'GRCHK1: Invalid Indicator of unit of time - ',I5) 9014 FORMAT (1H ,'GRCHK1: Uncatalogued grid and no Section 2.') 9015 FORMAT (1H ,'GRCHK1: Invalid indicator of type of level - ',I5) 9016 FORMAT (1H ,'GRCHK1: Inconsistent Time Range Indicator', C ' - ',I5,' and number included in averages - ',I5) 9019 FORMAT (1H ,'GRCHK1: Invalid Time Range Indicator - ',I5) 9020 FORMAT (1H ,'GRCHK1: Inconsistent Time Range Indicator', C ' - ',I5,' and number missing from averages - ',I5) 9021 FORMAT (1H ,'GRCHK1: Invalid century of reference time - ',I5) 9022 FORMAT (1H ,'GRCHK1: Invalid decimal scale factor - ',I5) 9023 FORMAT (1H ,'GRCHK1: For level type ',I3,' descriptions are', C 'invalid - ',I5,3X,I5) 9024 FORMAT (1H ,'GRCHK1: ** WARNING ** Parameter number ',I3,' is', C ' not defined in International Table number ',I3,'.') 9025 FORMAT (1H ,'GRCHK1: Local use flag KSEC1(24) should be', C ' 0 or 1.') 9026 FORMAT (1H ,'GRCHK1: Reserved fields KSEC1(25->36) should be 0 ', C 'to avoid problems with future releases.') C 9101 FORMAT (1H ,'GRCHK1: Invalid local use definition: ',I8) C 9102 FORMAT (1H ,'GRCHK1: Invalid class - ',I5) C 9103 FORMAT (1H ,'GRCHK1: Invalid type - ',I5) C 9104 FORMAT (1H ,'GRCHK1: Invalid stream - ',I5) C 9105 FORMAT (1H ,'GRCHK1: Invalid ensemble forecast number - ',I5) C 9106 FORMAT (1H ,'GRCHK1: Invalid total number of forecasts - ',I5) C 9107 FORMAT (1H ,'GRCHK1: Invalid cluster number - ',I5) C 9108 FORMAT (1H ,'GRCHK1: Invalid total number of clusters - ',I5) C 9109 FORMAT (1H ,'GRCHK1: Invalid clustering method - ',I5) C END emoslib-000392+dfsg.1/gribex/README0000755000175000017500000000034112127406245017617 0ustar amckinstryamckinstryThis directory contains a mixture of software, most of which was in the GRIB decoding and encoding update library. The software in this directory is used to make part of the libemos library. John Chambers 30th July 1993. emoslib-000392+dfsg.1/gribex/xgrdemo.F0000755000175000017500000001216212127406245020517 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C PROGRAM GRDEMO C IMPLICIT NONE C C----> C**** GRDEMO - Program to demonstrate use of GRIBEX routine. C C Purpose. C -------- C C Demonstrates use of GRIBEX routine to unpack C GRIB coded data. C C** Interface. C ---------- C C File of GRIB coded data in "datafile". C C Method. C ------- C C Prints sections 0, 1, 2, 3 and 4 of GRIB message. C C Externals. C ---------- C C GRIBEX C GRPRS0 C GRPRS1 C GRPRS2 C GRPRS3 C GRPRS4 C PBOPEN C PBGRIB C PBCLOSE C C Reference. C ---------- C C WMO Manual on Codes for GRIB definition. C WMO Publication No. 9, Volume B, for grid catalogue numbers. C C Comments. C --------- C C GRIBEX provides a number of packing/unpacking options. C See documentation for details. C C C ----------------------------------------------------------------- C----< C C Arrays are dimensioned to accommodate T213/N160 data volumes. C INTEGER JPACK PARAMETER (JPACK=70000) INTEGER ISEC0, ISEC1, ISEC2, ISEC3, ISEC4 C C Array for integer parameters from section 0 of GRIB message. C DIMENSION ISEC0(2) C C Array for integer parameters from section 1 of GRIB message. C DIMENSION ISEC1(1024) C C Array for integer parameters from section 2 of GRIB message. C DIMENSION ISEC2(1024) C C Array for integer parameters from section 3 of GRIB message. C DIMENSION ISEC3(2) C C Array for integer parameters from section 4 of GRIB message. C DIMENSION ISEC4(512) C REAL ZSEC2, ZSEC3, ZSEC4 C C Array for real parameters from section 2 of GRIB message. C DIMENSION ZSEC2(512) C C Array for real parameters from section 3 of GRIB message. C DIMENSION ZSEC3(2) C C Array for real parameters from section 4 of GRIB message. C This is the binary data section and the array to hold the unpacked C data may need to be a number of times as long as that for the C packed data. Here it is set arbitrarily to four time longer. C DIMENSION ZSEC4(JPACK*2) C C Array to read in packed data. C INTEGER INBUFF DIMENSION INBUFF(JPACK) C INTEGER FILE, JCOUNT, NUMERR, IRET, IPUNP, IWORD INTEGER LOOP, LENOUT, ILENB C C Clear counters. C NUMERR = 0 JCOUNT = 0 C C Open the data file C CALL PBOPEN( FILE, "datafile", "R", IRET) IF( IRET.NE.0 ) THEN WRITE(*, *) 'Return code from PBOPEN = ',IRET CALL PBCLOSE(FILE, IRET) STOP 'Fault in PBOPEN' ENDIF ILENB = ILENB*4 C C C Loop through GRIB products in file. C 50 CONTINUE C JCOUNT = JCOUNT + 1 C C Read packed field into INBUFF. C CALL PBSIZE(FILE, LENOUT) WRITE(*,*) 'Next GRIB field size = ', lenout C ILENB = JPACK * 4 CALL PBGRIB( FILE, INBUFF, ILENB, LENOUT, IRET ) IF( IRET.LT.0 ) THEN WRITE(*, *) 'Return code from PBGRIB = ',IRET IF( IRET.EQ.-1 ) THEN WRITE(*, *) 'End of file. Number of products = ',(JCOUNT-1) CALL PBCLOSE(FILE, IRET) WRITE(*,*) 'Number of decoding errors = ',NUMERR STOP 'EOF' ELSE WRITE(*, *) X 'Return code = ',IRET,' after ',JCOUNT,' products.' CALL PBCLOSE(FILE, IRET) STOP 'Fault in PBGRIB' ENDIF ENDIF WRITE(*, *) 'Return length from PBGRIB = ',lenout C C Decode the GRIB product. C IRET = 1 ILENB = JPACK IPUNP = JPACK * 4 CALL GRIBEX(ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, X ZSEC4,IPUNP,INBUFF,ILENB,IWORD,'D',IRET) C C Check the return code. c WRITE(*,*) 'GRIBEX return code = ',IRET IF( IRET.EQ.-6 ) WRITE(*,*) 'Pseudo-grib data found.' C C Update error count if necessary. C IF( IRET.GT.0 ) THEN NUMERR = NUMERR + 1 GOTO 50 ENDIF C C Print section 0, 1, 2 and 3 (if present) and 4. C Section 1 is the product definition section. C Section 2 is the grid definition section. C Section 3 is the bit-map section. C Section 4 is the data section. C CALL GRPRS0(ISEC0) CALL GRPRS1(ISEC0,ISEC1) C IF( (ISEC1(5).EQ.0).OR.(ISEC1(5).EQ.64) ) THEN WRITE(*,*) 'No section 2 in GRIB message.' ELSE CALL GRPRS2(ISEC0,ISEC2,ZSEC2) ENDIF C IF( (ISEC1(5).EQ.0).OR.(ISEC1(5).EQ.128) ) THEN WRITE(*,*) 'No section 3 in GRIB message.' ELSE CALL GRPRS3(ISEC0,ISEC3,ZSEC3) ENDIF C CALL GRPRS4(ISEC0,ISEC4,ZSEC4) C C Print some vales DO LOOP = 1,ISEC4(1) WRITE(*,*) 'zsec4(', loop, ') = ', zsec4(loop) ENDDO C GOTO 50 C END emoslib-000392+dfsg.1/gribex/gribin.F0000755000175000017500000000330412127406245020322 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C subroutine gribin(kunit,karray,kinlen,koutlen,keof,kret) C----> C C This subroutine mimics the behaviour of the original GRIBIN C but makes a call to PBGRIB to retrieve GRIB products. Because C MAGICS calls GRIBIN with an invalid buffer size, this mimic C version has to call PBGRIB with a phoney buffer size - dumlen, C currently 1000000. In effect this subverts the check that the C buffer is big enough for the retrieved product!!! C C----< integer icalls integer dumlen save icalls, dumlen data icalls/0/ data dumlen/1000000/ C C First time through, print a warning message if (icalls .eq. 0) then icalls = icalls + 1 write(*,*) ' *********************************************' write(*,*) ' *********************************************' write(*,*) ' You are using an obsolete subroutine (GRIBIN)' write(*,*) ' for retrieving GRIB products.' write(*,*) ' There is NO check your buffer is big enough.' write(*,*) ' Please change to using PBGRIB.' write(*,*) ' *********************************************' write(*,*) ' *********************************************' endif C C Note the use of dumlen (not kinlen) in the following call ... call pbgrib(kunit,karray,DUMLEN,koutlen,kret) if ( kret .eq. -3) then write(*,*) ' Buffer not big enough for GRIB product' kret = -5 endif C return end emoslib-000392+dfsg.1/gribex/grchk4.F0000755000175000017500000001561512127406245020242 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRCHK4 (KSEC1,KSEC4,PSEC4,KRET) C C----> C**** GRCHK4 - Check parameters for Section 4 of GRIB Code. C C Purpose. C -------- C C Check parameters for Section 4 of GRIB code against C valid values for GRIB Edition 1. C C** Interface. C ---------- C C CALL GRCHK4 (KSEC1,KSEC4,PSEC4,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KSEC1 - Array containing integer parameters for C section 1 of GRIB code. C C KSEC4 - Array containing integer parameters for C section 4 of GRIB code. C C PSEC4 - Array containing real parameters for C section 4 of GRIB code. C C Output Parameters. C ------------------ C C KRET - Return code. C 0 , No error encountered. C 1 , Error in GRIB Code parameter. C C Method. C ------- C C Values checked against current code/flag tables C and against maximum or minimum permitted values. C They are also checked against the current status C of the implementation of GRIBEX. C C Externals. C ---------- C C None. C C Reference. C ---------- C C WMO Manual on Codes for GRIB Code. C C Comments. C --------- C C Routine contains Sections 0 to 2 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 01.10.91 C Additional parameters KSEC1 and PSEC4 added. C C J. Hennessy ECMWF 17.07.92 C Additional flag and matrix of values checks added. C C J.D.Chambers ECMWF 27.04.94 C Allow complex packing for spherical harmonics C C J. Clochard, Meteo France, for ECMWF - January 1998. C Take into account second-order packing for grid-point data. C Revised printouts. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C IMPLICIT NONE C #include "grprs.h" C INTEGER KRET INTEGER KSEC1 INTEGER KSEC4 C REAL PSEC4 C DIMENSION KSEC1(*) DIMENSION KSEC4(*) C DIMENSION PSEC4(*) C C ---------------------------------------------------------------- C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C C Reset return code. KRET = 0 C C ---------------------------------------------------------------- C* Section 2 . Check values against code tables and extreme values. C ---------------------------------------------------------------- C 200 CONTINUE C C* Check number of values to be encoded. IF (KSEC4(1).EQ.0) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK4: Invalid number of data values to be encoded' X , KSEC4(1) ENDIF C C* Check number of bits per data value. IF (KSEC4(2).LT.1.OR.KSEC4(2).GT.32) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK4: Invalid number of bits for packed data values' X , KSEC4(2) ENDIF C C* Check on type of data (grid or spherical harmonics). IF ( KSEC4(3).NE.0 .AND. KSEC4(3).NE.128 ) THEN WRITE(GRPRSM,*) 'GRCHK4: Invalid type of data', KSEC4(3) ENDIF C C* Check type of packing. IF ( KSEC4(4).NE.0 .AND. KSEC4(4).NE.64 ) THEN KRET = 1 WRITE(GRPRSM,*) 'GRCHK4: Invalid type of packing', KSEC4(4) ENDIF C C* Check data representation. IF (KSEC4(5).NE.0.AND.KSEC4(5).NE.32) THEN KRET = 1 WRITE(GRPRSM,*) 'GRCHK4: Invalid data representation', KSEC4(5) ENDIF C C* Check additional flag field. IF (KSEC4(6).NE.0.AND.KSEC4(6).NE.16) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK4: Invalid additional flag field', KSEC4(6) ENDIF C C* Check reserved field. IF (KSEC4(7).NE.0) THEN WRITE(GRPRSM,*) X 'GRCHK4: Reserved field not 0. May cause trouble' WRITE(GRPRSM,*) 'GRCHK4: in future releases of GRIBEX.' ENDIF C C* Check number of values indicator. IF (KSEC4(8).NE.0.AND.KSEC4(8).NE.64) THEN KRET = 1 WRITE(GRPRSM,*) 'GRCHK4: Invalid number of fields indicator' X , KSEC4(8) ENDIF C C* Check secondary bit maps indicator. IF (KSEC4(9).NE.0.AND.KSEC4(9).NE.32) THEN KRET = 1 WRITE(GRPRSM,*) 'GRCHK4: Invalid secondary bit map indicator' X , KSEC4(9) ENDIF C C* Check value widths indicator. IF (KSEC4(6).EQ.16.AND.KSEC4(10).NE.0.AND.KSEC4(10).NE.16) THEN KRET = 1 WRITE(GRPRSM,*) 'GRCHK4: Invalid value widths', KSEC4(10) ENDIF C C* Tests specific to second-order packing. C IF (KSEC4(3).EQ.0.AND.KSEC4(4).EQ.64) THEN C C* Check constant width. IF (KSEC4(10).EQ.0.AND.(ABS(KSEC4(11)).GE.KSEC4(2))) THEN KRET = 1 WRITE(GRPRSM,9011) KSEC4(11), KSEC4(2)-1 ENDIF C C* Check general extended 2nd-order packing indicator. IF (KSEC4(12).NE.0.AND.KSEC4(12).NE.8) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK4: Invalid general extended 2n-order packing indicator' X , KSEC4(12) ENDIF C C* Check boustrophedonic ordering indicator. IF (KSEC4(13).NE.0.AND.KSEC4(13).NE.4) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK4: Invalid boustrophedonic ordering indicator' X , KSEC4(13) ENDIF C C* Check spatial differencing indicator. IF (KSEC4(14).NE.0.AND.KSEC4(14).NE.2) THEN KRET = 1 WRITE(GRPRSM,*) X 'GRCHK4: Invalid spatial differencing indicator' X , KSEC4(14) ENDIF C ENDIF C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C 9011 FORMAT (TR1,'GRCHK4 : Second-order packing with constant width ', C 'option:',/,TR10,'Constant width value',I3, C ' not in range [-/+',I2,'(=KSEC4(2)-1)].') C RETURN C END emoslib-000392+dfsg.1/gribex/dsect4a.F0000755000175000017500000003537112127406245020410 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C #if (defined IBM_POWER4) @PROCESS ALIAS(NOPTEOVRLP) #endif INTEGER FUNCTION DSECT4A( PDATA, KTRUNC, KSEC0, KSEC1, KSEC4, X KGRIB, KLENG, KNSPT, KBITS, KPACK) C C----> C**** DSECT4A C C Purpose. C -------- C C Decode GRIB section 4 for complex packing of spherical harmonics. C C C** Interface. C ---------- C C KRET = DSECT4A( PDATA, KTRUNC, KSEC0, KSEC1, KSEC4, C X KGRIB, KLENG, KNSPT, KBITS, KPACK) C C C Input Parameters. C ----------------- C C PDATA - Array of floating point values. C KTRUNC - Truncation of the spherical harmonic coefficients. C KSEC0 - Array of GRIB section 0 values C KLENG - Length of GRIB product array C KNSPT - Bit pointer for next value in GRIB product C KBITS - Number of bits per computer word. C C C Output Parameters. C ----------------- C C KSEC1 - Array of GRIB section 1 values C KSEC4 - Array of GRIB section 4 values C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product(updated) C KPACK - Number of bits per packed value. C C C Method. C ------- C C | C C Given numbers: cccccccc|cccccc C cccccc|cccccc C cccc|cccccc C cc|cccccc C |cccccc C cccc C cc C C C Externals. C ---------- C C GSCALE - Apply power scaling to values to be packed. C UNPKCF - Unpack unscaled coefficients from GRIB product. C UNCMPCK - Re-scatter the values being unpacked into array. C INXBIT - Extract bits from GRIB product. C DECFP2 - Decode from IBM floating point format. C JMALLOC - Routine to acquire memory C JFREE - Routine to release memory C C C Reference. C ---------- C C None. C C C Comments. C -------- C C On entry, KNSPT points to the first bit of section 4 in the GRIB C product. C On exit, KNSPT points to the first bit of section 5 in the GRIB C product. C C C Author. C ------- C C J.D.Chambers ECMWF 06:05:94 C C C Modifications. C _____________ C C J.D.Chambers ECMWF 13.09.95 C Put in check for 32-bit packing. C (Removed May 1996) C C J.Clochard, Meteo France, for ECMWF - January 1998. C FLOAT function replaced by REAL. C Fix comments. C Use of external JFREE instead of FREE. C C J.Clochard, Meteo France, for ECMWF - September 1998. C Fix KNSPT position at end of routine. C Enable processing of GRIB edition 0 data. C Dummy-argument KSEC0 added. C KPACK changed as output argument. C C P.J.Towers ECMWF C Optimised for IBM Power4 C -added @PROCESS ALIAS(NOPTEOVRLP) directive C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters INTEGER JP15BIT, JP87SET, JPBYTES #ifdef REAL_8 PARAMETER (JPBYTES = 8) #else PARAMETER (JPBYTES = 4) #endif PARAMETER ( JP15BIT= 2**15 ) C `---> 32768 = 8000(hex) PARAMETER ( JP87SET= 192 ) C `---> = C0(hex) C C Subroutine arguments C INTEGER KTRUNC, KSEC1, KSEC4, KGRIB, KLENG, KNSPT, KBITS, KPACK INTEGER KSEC0 REAL PDATA DIMENSION PDATA(*), KGRIB(*), KSEC0(*), KSEC1(*), KSEC4(*) C C Local variables. C INTEGER J110, NREST, NLOOPS, ILOOP, LOOP, IPOWER, ISUBSET INTEGER IRET, IRETA, IRETB, IEXP, IMANT INTEGER INSPTA, ILEN, ISCALE INTEGER ILEN4, IFLAG, ISIZE, IAUXIL, IOFF, ITEMP, J, INIL C CHARACTER *1 YFUNC C #ifndef USE_NO_POINTERS #ifdef POINTER_64 INTEGER*8 IPIVAL #endif POINTER (IPIVAL, IVAL) INTEGER IVAL(1) SAVE IPIVAL, ISIZE #else INTEGER IVAL(1000) #endif C REAL ZREF, ZSCALE C C Externals #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif INTEGER UNPKCF, GSCALE EXTERNAL UNPKCF, GSCALE, JMALLOC C DATA ISIZE/0/ C C ----------------------------------------------------------------- C* Section 1 . Decode octets 1 to 11. C ----------------------------------------------------------------- C 100 CONTINUE C DSECT4A = 0 YFUNC='D' C IF( KSEC0(2).GE.1 ) THEN IAUXIL=2 ELSE IAUXIL=1 ENDIF C ITEMP = (KTRUNC+1)*(KTRUNC+IAUXIL) #ifndef USE_NO_POINTERS C C Allocate memory (first time only) IF( ISIZE.LT.(MAX(ITEMP,4*(KTRUNC+1))*JPBYTES) ) THEN IF( ISIZE.NE.0 ) CALL JFREE(IPIVAL) ISIZE = (KTRUNC+1)*(KTRUNC+IAUXIL)*JPBYTES IPIVAL = JMALLOC(ISIZE) #ifdef hpR64 IPIVAL = IPIVAL/(1024*1024*1024*4) #endif IF( IPIVAL.EQ.0 ) THEN WRITE(GRPRSM,*) 'DSECT4A: Memory allocation failed.' WRITE(GRPRSM,*) 'DSECT4A: Number of bytes required = ', ISIZE DSECT4A = 16123 GOTO 900 ENDIF ENDIF #endif C C Preserve bit position of start of section 4. INSPTA = KNSPT C C Fill in the number of values unpacked KSEC4(1) = ITEMP C C Octets 1 - 3: Length of section. C One 24-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,ILEN4,1,KBITS,24,YFUNC,IRET) IF( IRET.NE.0 ) THEN DSECT4A = 16110 WRITE(GRPRSM,*) 'DSECT4A: Problem unpacking length of section.' GO TO 900 ENDIF C C Octet 4: C One 4-bit field -> flag, spherical harmonics/complex/float point C One 4-bit field -> number of unused bits at end of section 4. C CALL INXBIT(KGRIB,KLENG,KNSPT,IFLAG,1,KBITS,8,YFUNC,IRET) IF( IRET.NE.0 ) THEN DSECT4A = 16111 WRITE(GRPRSM,*) 'DSECT4A: Problem unpacking flag byte.' GO TO 900 ENDIF C C Check the flag IF( ( KSEC0(2) .GE. 1 .AND. (IFLAG/16) .NE. 12 ) .OR. X ( KSEC0(2) .LT. 1 .AND. (IFLAG/64) .NE. 3 ) ) THEN DSECT4A = 16112 WRITE(GRPRSM,*) 'DSECT4A: Flag wrong = ', IFLAG GO TO 900 ELSE KSEC4(3) = 128 KSEC4(4) = 64 INIL = MOD(IFLAG,16) DO 110 J110 = 5, 33 KSEC4(J110) = 0 110 CONTINUE ENDIF C C* Octets 5 - 6 : Scale factor. CIAU One 16 bit field. C C Adjust bit pointer over first 4 octets and insert scale factor. CALL INXBIT(KGRIB,KLENG,KNSPT,ISCALE,1,KBITS, 16,YFUNC,IRET) IF( IRET.NE.0) THEN DSECT4A = 16113 WRITE(GRPRSM,*) 'DSECT4A: Problem unpacking scale factor.' GO TO 900 ENDIF C C Make negative if sign bit set C IF( ISCALE .GT. JP15BIT ) THEN ISCALE = ISCALE - JP15BIT ISCALE = -ISCALE ENDIF ZSCALE = 2.0**ISCALE C C* Octets 7 - 10 : Reference value. C One 8 bit and one 24 bit field. C C Extract reference value exponent and mantissa. CALL INXBIT(KGRIB,KLENG,KNSPT,IEXP,1,KBITS, 8,YFUNC,IRETA) CALL INXBIT(KGRIB,KLENG,KNSPT,IMANT,1,KBITS, 24,YFUNC,IRETB) IRET = IRETA + IRETB IF( IRET.NE.0 ) THEN DSECT4A = 16114 WRITE(GRPRSM,*) 'DSECT4A: Problem unpacking reference value.' GO TO 900 ENDIF C C Decode the reference value C CALL DECFP2 (ZREF,IEXP,IMANT) C C* Octet 11 : Number of bits containing each packed value. C One 8 bit field. C C Extract number of bits for each packed value. CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(2),1,KBITS, 8,YFUNC,IRET) IF( IRET.NE.0 ) THEN DSECT4A = 16115 WRITE(GRPRSM,*) X 'DSECT4A: Problem unpacking number of bits/value.' GO TO 900 ENDIF C KPACK=KSEC4(2) C C ----------------------------------------------------------------- C* Section 2 . Decode octets 12 to 18. C ----------------------------------------------------------------- C 200 CONTINUE C C Octets 12 - 13: Octet number of the start of packed data C One 16-bit field. C C Extract octet number of the start of packed data. CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(16),1,KBITS,16,YFUNC,IRET) IF( IRET.NE.0 ) THEN DSECT4A = 16116 WRITE(GRPRSM,*) X 'DSECT4A: Problem unpacking start of packed data.' GO TO 900 ENDIF C C Octets 14 - 15: Scaling factor; power of Laplacian operator C applied to field before packing. C One 16-bit field. C C Extract scaling power. C CALL INXBIT(KGRIB,KLENG,KNSPT,IPOWER,1,KBITS,16,YFUNC,IRET) IF( IRET.NE.0 ) THEN DSECT4A = 16117 WRITE(GRPRSM,*) 'DSECT4A: Problem unpacking scaling power.' GO TO 900 ENDIF C C Set value negative if sign bit set. C IF( IPOWER.GT.JP15BIT ) THEN IPOWER = IPOWER - JP15BIT IPOWER = -IPOWER ENDIF C C Octets 16 - 18: Pentagonal resolution parameters J,K,M C specifying truncation of subset of data C represented unpacked. C Three 8-bit fields. C C Extract pentagonal resolution parameters. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(18),3,KBITS, 8,YFUNC,IRET) IF( IRET.NE.0 ) THEN DSECT4A = 16118 WRITE(GRPRSM,*) X 'DSECT4A: Problem unpacking pentagonal resolution params.' GO TO 900 ENDIF ISUBSET = KSEC4(18) IF( ISUBSET .GT. KTRUNC ) THEN WRITE(GRPRSM,*) 'DSECT4A: Invalid subset truncation given' WRITE(GRPRSM,*) 'DSECT4A: ISUBSET, KTRUNC =', ISUBSET, KTRUNC DSECT4A = 16122 GOTO 900 ENDIF C IF( KSEC0(2).GE.1 ) THEN KSEC4(17) = IPOWER IOFF=0 ELSE C C In edition 0, power was an unscaled integer, byte "offset" used C to be a pointer relative to start of section 4, content/ordering C also used to be different. C KSEC4(17) = 1000 * IPOWER KSEC4(16) = INSPTA/8 + KSEC4(16) - 1 IOFF=(ISUBSET+1)**2 ENDIF C C ----------------------------------------------------------------- C* Section 3. Extract and scale binary values from GRIB product. C ----------------------------------------------------------------- C 300 CONTINUE C C Adjust bit pointer to end of stored subset of coefficients and C extract binary values from GRIB product -> updates bit pointer. C KNSPT = 8*KSEC4(16) ILEN = KSEC4(1) - (ISUBSET+1)*(ISUBSET+IAUXIL) C #ifndef USE_NO_POINTERS CALL INXBIT(KGRIB,KLENG,KNSPT,IVAL,ILEN, KBITS,KPACK,YFUNC,IRET) IF( IRET.NE.0 ) THEN WRITE(GRPRSM,*) 'DSECT4A: Problem unpacking bits' DSECT4A = 16119 GOTO 900 ENDIF C Check that length in the file is consistent with the position of pointer C this might not happen for very large grib products (KLENG.ge.2097140) C Here we cannot multiply the length because the most significant bit(negative values) C is used to signify the lack of data - if not we update ILEN4 IF (KSEC0(1).GT.8388607) THEN IF (((KNSPT-INSPTA+INIL)/8).ne.ILEN4) THEN ILEN4=((KNSPT-INSPTA+INIL)/8) ENDIF ENDIF C DO LOOP = 1, ILEN PDATA(IOFF+LOOP) = ( REAL(IVAL(LOOP)) * ZSCALE ) + ZREF ENDDO #else NLOOPS = ILEN / 1000 NREST = ILEN - (NLOOPS)*1000 KNSPT = 8*KSEC4(16) C DO ILOOP = 1, NLOOPS CALL INXBIT(KGRIB,KLENG,KNSPT,IVAL,1000,KBITS,KPACK,YFUNC,IRET) IF( IRET.NE.0 ) THEN WRITE(GRPRSM,*) 'DSECT4A: Problem unpacking bits' DSECT4A = 16119 GOTO 900 ENDIF C DO LOOP = 1, 1000 PDATA(IOFF+(ILOOP-1)*1000+LOOP) = X (REAL(IVAL(LOOP))* ZSCALE)+ZREF ENDDO ENDDO C CALL INXBIT(KGRIB,KLENG,KNSPT,IVAL,NREST,KBITS,KPACK,YFUNC,IRET) IF( IRET.NE.0 ) THEN WRITE(GRPRSM,*) 'DSECT4A: Problem unpacking bits' DSECT4A = 16119 GOTO 900 ENDIF C DO LOOP = 1, NREST PDATA(IOFF+NLOOPS*1000+LOOP) = (REAL(IVAL(LOOP))* ZSCALE)+ZREF ENDDO #endif C IF( KSEC0(2).GE.1 ) THEN C C Move the coefficients to their correct (scattered) in the array. C CALL UNCMPCK( PDATA, KTRUNC, ISUBSET) ENDIF C C C ----------------------------------------------------------------- C* Section 4 . Unpack the subset of coefficients (stored IBM style). C ----------------------------------------------------------------- C 400 CONTINUE C C Adjust pointer to avoid first 18 octets. C KNSPT = INSPTA + 18*8 C IF( KSEC0(2).GE.1 ) THEN C C Move back into original locations in the array and convert from C IBM format. C IRET = UNPKCF( PDATA,KTRUNC,ISUBSET,KGRIB,KLENG,KNSPT,KBITS) IF( IRET .NE. 0 ) THEN WRITE(GRPRSM,*) 'DSECT4A: Problem unpacking subset of coeffs.' DSECT4A = 16120 GOTO 900 ENDIF C ELSE C C Direct conversion from IBM format. C C* Calculate word pointer and offset, and get all exponents and C all mantissae (split in 3 parts). C CALL INXBIT(KGRIB,KLENG,KNSPT,IVAL,IOFF*4,KBITS, 8,YFUNC,IRET) IF( IRET .NE. 0 ) THEN WRITE(GRPRSM,*) X 'DSECT4A: Problem extracting subset of coeffs.' DSECT4A = 16120 GOTO 900 ENDIF C DO 401 J = 1, IOFF C IEXP = IVAL(4*J-3) IMANT = IVAL(4*J) + 256 * ( IVAL(4*J-1) + 256 * IVAL(4*J-2) ) CALL DECFP2(PDATA(J),IEXP,IMANT) C 401 CONTINUE C ENDIF C C ----------------------------------------------------------------- C* Section 5 . Apply power scaling to field. C ----------------------------------------------------------------- C 500 CONTINUE C IF( KSEC0(2).GE.1 ) THEN C IRET = GSCALE( PDATA, KTRUNC, ISUBSET, IPOWER, 'O') IF( IRET .NE. 0 ) THEN WRITE(GRPRSM,*) 'DSECT4A: Problem applying power scaling' DSECT4A = 16121 GOTO 900 ENDIF C ENDIF C C Set bit pointer to last useful of section 4, before padding C if any (for consistency with GRIBEX). C KNSPT = INSPTA + 8*ILEN4 - INIL C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/grsubc.F0000755000175000017500000000540112127406245020335 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSUBC ( KSUBCE ) C C----> C**** GRSUBC - controls use of SUB-Centre number use for ECMWF fields. C C Purpose. C -------- C C Sub-centre use for ECMWF fields encoding switch set on or off C for routine GRIBEX. C C C** Interface. C ---------- C C CALL GRSUBC ( KSUBCE ) C C C Input Parameter. C ---------------- C C KSUBCE - Sub-centre use for ECMWF fields encoding switch flag, C = 0 , only explicit values allowed (default) C = Non-zero , all valid octet values allowed . C C (Use for encoding type functions) C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C The variable NSUBCE is set in the common area. All other C parameters are also set to default values, if they have C not already been set by the user. C C C Externals. C ---------- C C GRSDEF - Default setting of global variables. C C C Reference. C ---------- C C See subroutine GRIBEX. C C C Comments. C --------- C C None. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - June 1999. C C C Modifications. C -------------- C C None. C C C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C C Subroutine arguments. INTEGER KSUBCE C C Local variables. INTEGER ISUBCE C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C----< C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C ISUBCE = 0 IF (KSUBCE.NE.0) ISUBCE = 1 C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C Set sub-centre use for ECMWF fields encoding switch C to required value. C NSUBCE = ISUBCE C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/offset.F0000755000175000017500000000522012127406245020335 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILEN,IERR) C C C C C C----> C* C* NAME : OFFSET C: C* FUNCTION : CALCULATES THE WORD AND BIT OFFSET OF THE START C* OF THE NEXT BIT-FIELD IN AN ARRAY OF BINARY C* DATA, FOLLOWING THE INSERTION/EXTRACTION OF ONE C* OR MORE CONSECUTIVE BIT-FIELDS. C* C* INPUT : IOFF - BIT OFFSET AT WHICH LAST INSERTION OR C* EXTRACTION STARTED. C* NVAL - NUMBER OF FIELDS INSERTED OR EXTRACTED IN C* LAST OPERATION. C* IWORD - WORD NUMBER OF ARRAY AT WHICH LAST OPERATION C* STARTED. C* IBYTE - LENGTH, IN BITS, OF LAST FIELD(S) INSERTED C* OR EXTRACTED. C* NBIT - NUMBER OF BITS IN COMPUTER WORD. C* ILEN - NUMBER OF WORDS IN ARRAY. C* C* OUTPUT : IOFF - BIT OFFSET AT WHICH NEXT INSERTION OR C* EXTRACTION STARTS. C* NVAL - UNCHANGED. C* IWORD - WORD NUMBER OF ARRAY AT WHICH NEXT OPERATION C* STARTS. C* IBYTE - UNCHANGED. C* NBIT - UNCHANGED. C* ILEN - UNCHANGED. C* C* IERR - EQUAL 0 IF NO ERROR. C* EQUAL -2 IF NEXT OPERATION IS OUTSIDE ARRAY C* BOUNDS. C* C* GENERAL : OFFSET CALLS ----- C* C* AUTHOR : J.HENNESSY 15.4.85 C* C* MODIFIED : J.HENNESSY 28.11.85 C* C C --------------------------------------------------------------- C----< C C C C CLEAR ERROR INDICATOR C IERR = 0 C C C C C C C C C C C CALCULATE NEXT WORD AND BIT POSITIONS. C IBITL = NVAL * IBYTE INTER = IBITL / NBIT IOFFS = IBITL - INTER * NBIT IWORD = IWORD + INTER IOFF = IOFF + IOFFS C IF (IOFF.GE.NBIT) C THEN IWORD = IWORD + 1 IOFF = IOFF - NBIT END IF C C C C C C C C C CHECK THAT NEXT WORD TO BE ACCESSED LIES WITHIN THE ARRAY BOUNDS. C IF (IWORD.GT.ILEN) C THEN IERR = -2 WRITE (*,9001) IWORD,ILEN 9001 FORMAT (1H ,'WORD ',I8,' IS OUTSIDE ARRAY BOUNDS ',I8) ENDIF C C RETURN C END emoslib-000392+dfsg.1/gribex/confp.F0000755000175000017500000000326012127406245020156 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CONFP (FVAL,IEXP,IMANT) C C C C C C----> C******************************************************************** C* C* NAME : CONFP C* C* FUNCTION : CONVERT FLOATING POINT NUMBER FROM MACHINE C* REPRESENTATION TO GRIB REPRESENTATION. C* C* INPUT : FVAL - FLOATING POINT NUMBER TO BE CONVERTED. C* C* OUTPUT : IEXP - 8 BIT SIGNED EXPONENT C* IMANT - 24 BIT MANTISSA C* FVAL - UNCHANGED. C* C* JOHN HENNESSY , ECMWF , 15TH APRIL 1985 C* C******************************************************************** C----< C C IF (FVAL.EQ.0.0) C THEN IEXP = 128 IMANT = 0 RETURN ENDIF C C EPS = 1.0E-12 REF = FVAL C C SIGN OF VALUE C ISIGN = 0 IF (REF.LE.0.) C THEN ISIGN = 128 REF = - REF ENDIF C C C C C C EXPONENT C IF (REF.EQ.0.0) C THEN IEXP = 0 ELSE IEXP = INT(ALOG(REF)*(1.0/ALOG(16.0))+64.0+1.0+EPS) ENDIF C IF (IEXP.LT.0 ) IEXP = 0 IF (IEXP.GT.127) IEXP = 127 C C C C C C C C C C C MANTISSA C IMANT = NINT (REF/16.0**(IEXP-70)) C C ADD SIGN BIT TO EXPONENT. C IEXP = IEXP + ISIGN C C C C RETURN C END emoslib-000392+dfsg.1/gribex/qu2reg3.F0000755000175000017500000001755612127406245020356 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C #ifndef USE_NO_POINTERS SUBROUTINE QU2REG3(PFIELD,KPOINT,KLAT,KLON,KCODE,PMSVAL,KRET, X OMISNG,OPERIO,OVEGGY) C C----> C**** QU2REG3 - Convert quasi-regular grid data to regular. C C Purpose. C -------- C C Convert quasi-regular grid data to regular, C using either a linear or cubic interpolation. C C C** Interface. C ---------- C C CALL QU2REG3(PFIELD,KPOINT,KLAT,KLON,KCODE,PMSVAL,OMISNG,OPERIO, C X OVEGGY) C C C Input Parameters. C ----------------- C C PFIELD - Array containing quasi-regular grid C data. C C KPOINT - Array containing list of the number of C points on each latitude (or longitude) of C the quasi-regular grid. C C KLAT - Number of latitude lines C C KLON - Number of longitude lines C C KCODE - Interpolation required. C 1 , linear - data quasi-regular on C latitude lines. C 3 , cubic - data quasi-regular on C latitude lines. C 11, linear - data quasi-regular on C longitude lines. C 13, cubic - data quasi-regular on C longitude lines. C C PMSVAL - Value used for missing data indicator. C C OMISNG - True if missing values are present in field. C C OPERIO - True if input field is periodic. C C OVEGGY - True if 'nearest neighbour' processing must be used C for interpolation C C C Output Parameters. C ------------------ C C KRET - return code C 0 = OK C non-zero indicates fatal error C C C Output Parameters. C ------------------ C C PFIELD - Array containing regular grid data. C C C Method. C ------- C C Data is interpolated and expanded into a temporary array, C which is then copied back into the user's array. C Returns an error code if an invalid interpolation is requested C or field size exceeds array dimensions. C C C Externals. C ---------- C C ROWINA3 C C C Reference. C ---------- C C WMO Manual on Codes for GRIB code specifications of C quasi-regular grids. C C C Comments. C --------- C C This routine is an adaptation of QU2REG to allow missing data C values, and hence bit mapped fields. C C C Author. C ------- C C J.D.Chambers ECMWF 22.07.94 C C C Modifications. C -------------- C C J.D.Chambers ECMWF 13.09.94 C Add return code KRET and remove calls to ABORT. C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J. Clochard, Meteo France, for ECMWF - January 1998. C Addition of OMISNG and OPERIO arguments. C Fix message for longitude number out of bounds, and routine C name in title and formats. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. Data statements. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JPBYTES, JPMAX #ifdef REAL_8 PARAMETER (JPBYTES = 8) #else PARAMETER (JPBYTES = 4) #endif PARAMETER (JPMAX=3000) C Maximum number of latitudes (or longitudes), for which arrays C are dimensioned. C C Subroutine arguments C REAL PFIELD, PMSVAL DIMENSION PFIELD(*) INTEGER KPOINT, KLAT, KLON, KCODE, KRET DIMENSION KPOINT(*) C LOGICAL OMISNG, OPERIO, OVEGGY C C Local variables. C INTEGER ICODE, ILII, ILIO, IQUANO, IREGNO INTEGER J210, J220, J225, J230, J240 C REAL ZLINE, ZWORK DIMENSION ZLINE(JPMAX*2) DIMENSION ZWORK(0:JPMAX*2+2,3) C #ifdef POINTER_64 INTEGER*8 IZTEMP #endif REAL ZTEMP DIMENSION ZTEMP(1) POINTER ( IZTEMP, ZTEMP ) INTEGER ISIZE SAVE ISIZE, IZTEMP C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif EXTERNAL JMALLOC C DATA ISIZE/0/ C C ------------------------------------------------------------------ C* Section 1. Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C KRET = 0 C C Check input parameters. C IF (KCODE.NE.1.AND.KCODE.NE.3.AND.KCODE.NE.11.AND.KCODE.NE.13) X THEN WRITE(GRPRSM,9001) KCODE KRET = 1 GOTO 900 ELSEIF (KLAT.GT.JPMAX) THEN WRITE(GRPRSM,9002) KLAT , JPMAX KRET = 2 GOTO 900 ELSEIF (KLON.GT.JPMAX*2) THEN WRITE(GRPRSM,9003) KLON , JPMAX*2 KRET = 3 GOTO 900 ENDIF C C Set array indices to 0. C ILII = 0 ILIO = 0 C C Establish values of loop parameters. C IF (KCODE.GT.10) THEN C C Quasi-regular along longitude lines. C IQUANO = KLON IREGNO = KLAT ICODE = KCODE - 10 ELSE C C Quasi-regular along latitude lines. C IQUANO = KLAT IREGNO = KLON ICODE = KCODE ENDIF C C Allocate memory (first time only) IF( ISIZE.EQ.0 ) THEN ISIZE = (JPMAX*JPMAX*2)*JPBYTES IZTEMP = JMALLOC(ISIZE) #ifdef hpR64 IZTEMP = IZTEMP/(1024*1024*1024*4) #endif IF( IZTEMP.EQ.0 ) THEN WRITE(GRPRSM,*) 'QU2REG3: Memory allocation failed.' WRITE(GRPRSM,*) 'QU2REG3: Number of bytes required = ', ISIZE KRET = 5 GOTO 900 ENDIF ENDIF C C ------------------------------------------------------------------ C* Section 2. Interpolate field from quasi to regular grid. C ------------------------------------------------------------------ C 200 CONTINUE C DO 230 J230=1,IQUANO C IF (IREGNO.NE.KPOINT(J230)) THEN C C Line contains less values than required,so C extract quasi-regular grid values for a line C DO 210 J210=1,KPOINT(J230) ILII = ILII+1 ZLINE(J210) = PFIELD(ILII) 210 CONTINUE C C and interpolate this line. C CALL ROWINA3( ZLINE, IREGNO, KPOINT(J230), ZWORK, ICODE, X PMSVAL, KRET, OMISNG, OPERIO , OVEGGY) IF ( KRET .NE. 0 ) GOTO 900 C C Add regular grid values for this line to the temporary array. C DO 220 J220=1,IREGNO ILIO = ILIO+1 ZTEMP(ILIO) = ZLINE(J220) 220 CONTINUE C ELSE C C Line contains the required number of values, so add C this line to the temporary array. C DO 225 J225=1,IREGNO ILIO = ILIO+1 ILII = ILII+1 ZTEMP(ILIO) = PFIELD(ILII) 225 CONTINUE C ENDIF C 230 CONTINUE C C Copy temporary array to user array. C DO 240 J240=1,KLON*KLAT PFIELD(J240) = ZTEMP(J240) 240 CONTINUE C C ------------------------------------------------------------------ C* Section 9. Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN C 9001 FORMAT (1H ,'QU2REG3 : Invalid interpolation type code = ',I3) C 9002 FORMAT (1H ,'QU2REG3 : Number of latitudes is ',I4,', maximum ', C 'allowed is ',I4,'.') C 9003 FORMAT (1H ,'QU2REG3 : Number of longitudes is ',I4,', maximum ', C 'allowed is ',I4,'.') C END #endif emoslib-000392+dfsg.1/gribex/sources.linux_g770000755000175000017500000000644612127406245022203 0ustar amckinstryamckinstry# # Sources for libemos/gribex for sgimips. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ swap4.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/sort.F0000755000175000017500000001113112127406245020034 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SORT (BLOCK,NOF,UN,IRETR,NBIT) C C----> C********************************************************************** C* * C* NAME : SORT * C* * C* FUNCTION : SORTS AN ARRAY IN ASCENDING FIELD CODE-NUMBER * C* AND WRITES THE FIELD TO GIVEN UNIT NUMBER. * C* * C* INPUT : BLOCK = INPUT ARRAY CONTAINING FIELDS. * C* NOF = NO OF FIELDS * C* UN = OUTPUT FILE FOR SORTED FIELDS. * C* NBIT = NO OF BITS PER WORD * C* * C* OUTPUT : IRETR > 0 NO. OF RECORDS WRITTEN * C* < 0 ERRORS REPORTED BY SUBROUTINES * C* = -200 BUFFER OUT ERROR * C* BLOCK - RECORDS ARE ALTERED . FIELD-CODE OCTETS * C* ARE SET TO 0 !!!!! * C* * C* GENERAL : SORT CALLS RECLEN * C* SBYTE * C* * C* AUTHOR : B.V. GURETZKY V.E. DAY * C* * C* MODIFIED : J. HENNESSY 26.11.85 * C* * C********************************************************************** C----< C IMPLICIT INTEGER (B,U) DIMENSION BLOCK(*) C DATA IPR /1/ C C RETURN IF NUMBER OF FIELDS NOT MORE THAN 0. C IF (NOF.LE.0) RETURN C C ONLY 1 FIELD SUPPLIED C IF (NOF.EQ.1) C THEN CALL RECLEN (BLOCK(1),LEN,NBIT,ICODE,INDIC,LEVEL,JERR) IF (JERR.NE.0) C THEN IRETR = JERR RETURN ENDIF LEN = LEN / 8 BUFFER OUT (UN,0) (BLOCK(1),BLOCK(LEN)) IUNIT = UNIT(UN) IF (IUNIT.GT.0) GO TO 10000 IRETR = IRETR + 1 RETURN ENDIF C C C LOOP THROUGH FIELDS SUPPLIED TO FIND THE ONE WITH C THE NEXT HIGHEST FIELD CODE. C DO 2000 I = 1,NOF C IB = 0 LENEXTR = 0 IOFFEXT = 0 ICODEXT = 999 C DO 1000 J = 1,NOF C C GET LENGTH OF FIELD RECORD. C CALL RECLEN (BLOCK(IB+1),LEN,NBIT,ICODE,INDIC,LEVEL,JERR) IF (JERR.NE.0) C THEN IRETR = JERR RETURN ENDIF LEN = LEN / 8 C IF ((ICODE.LT.ICODEXT).AND.(ICODE.NE.0)) C THEN LENEXTR = LEN IOFFEXT = IB ICODEXT = ICODE ENDIF IB = IB + LEN C 1000 CONTINUE C C WRITE FIELD C LEN = IOFFEXT + LENEXTR BUFFER OUT(UN,0) (BLOCK(IOFFEXT+1),BLOCK(LEN)) CALL RECLEN (BLOCK(IOFFEXT+1),LEN,NBIT,ICODE,INDIC,LEVEL,JERR) IF (JERR.NE.0) C THEN IRETR = JERR RETURN ENDIF IUNIT = UNIT(UN) IF (IPR.EQ.1) WRITE (*,9101) LEVEL,ICODE 9101 FORMAT (1H ,'LEVEL ',I5,' FIELD ',I5) IF (ICODE.LT.127.OR.ICODE.GT.255) C THEN WRITE (*,*) 'SORT : INVALID FIELD CODE.' CALL ABORT ENDIF C IF (IUNIT.GT.0) GO TO 10000 C C SET CODE-TYPE TO ZERO TO INDICATE C THAT FIELD HAS ALREADY BEEN WRITTEN C IZERO = 0 CALL SBYTE (BLOCK(IOFFEXT+2),IZERO,32,8) IRETR = IRETR + 1 2000 CONTINUE RETURN 10000 CONTINUE IRETR = -200 WRITE (*,*) ' SORT : BUFFER OUT ERROR.' C RETURN C END emoslib-000392+dfsg.1/gribex/sources.VPP50000000755000175000017500000000665612127406245021335 0ustar amckinstryamckinstry# # Sources for libemos/gribex # #EXTRAOBJ=cgsloop.o EXTRAOBJ= HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c # cgsloop.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gsbite.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/gdecode.c0000755000175000017500000011240712127406245020504 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "gdecode.h" #define GRIB 0x47524942 #define BIT1 0x80 #define BIT2 0x40 #define DEBUGOFF 1 #define DEBUG1 (debugSet > DEBUGOFF ) #define DEBUG2 (debugSet > (DEBUGOFF + 1) ) static char * debugLevel; static int debugSet = 0; fortint findSectionOffsets( unsigned char * buffer, fortint* is0, fortint* is1, fortint* is2, fortint* is3, fortint* is4, fortint* iedition) { long section0Offset, section1Offset, section2Offset; long section3Offset, section4Offset, edition; int large = 0; int found = 0; int code = 0; unsigned char p, edit_num, flag23; int section0Length = 8, section1Length, section2Length, section3Length, section4Length; long total; unsigned char * q = buffer; /* // Read bytes until "GRIB" found */ do { code = ( (code << 8) | ((*q++)<<0) ) & 0xFFFFFFFF; if (code == GRIB ) found = 1; } while ( ! found ); section0Offset = (long) (q - buffer - 4); /* // Find out which edition of GRIB is present (default is 1) */ edition = 1; section1Offset = section0Offset + 8; if( (*(buffer+21-section0Offset) == '\0') && (*(buffer+22-section0Offset) == '\0') ) { /* // GRIB edition -1 */ edition = -1; section1Offset = section0Offset; section1Length = 20; section0Length = 4; } else { total = THREEBYTEINT(q); q += 3; if( total == 24 ) { /* // Check for edition number */ if( ONEBYTEINT(q) != 0) return 1; /* // GRIB edition 0 */ q++; edition = 0; section1Length = 24; section1Offset = section0Offset + 4; section0Length = 4; } /* // See if it is an extra large (wave) product */ if( total > 0x800000 ) { total = (total&0x7fffff) * 120; large = 1; } } if( edition == 1 ) { /* // Read length of section 1 */ q++; section1Length = THREEBYTEINT(q); q += 3; section1Offset = section0Offset + section0Length; } /* // Now figure out if sections 2/3 are present */ q += 4; flag23 = *q++; section2Length = flag23 & BIT1; section3Length = flag23 & BIT2; /* // Advance to end of section 1 */ q = buffer + section1Offset + section1Length; /* // Read section 2 length if it is present */ if( section2Length ) { section2Offset = (fortint) (q - buffer); section2Length = THREEBYTEINT(q); q+= 3; q = buffer + section2Offset + section2Length; } else { section2Length = 0; section2Offset = 0; } /* // Read section 3 length if it is present */ if( section3Length ) { section3Offset = (fortint) (q - buffer); section3Length = THREEBYTEINT(q); q+= 3; q = buffer + section3Offset + section3Length; } else { section3Length = 0; section3Offset = 0; } /* // Read section 4 length */ section4Offset = (fortint) (q - buffer); section4Length = THREEBYTEINT(q); q+= 3; if( large ){ total = total + section4Length; section4Length = total - section4Offset; } /* // Advance to end of section 4 */ q = buffer + section4Offset + section4Length; /* // Check section 5, ie 7777 group is in the expected place */ if( FOURBYTEINT(q) != 0x37373737 ) { if(!large) { printf("7777 group not found\n"); return 15; } } /* // Success! */ *is0 = (fortint) section0Offset; *is1 = (fortint) section1Offset; *is2 = (fortint) section2Offset; *is3 = (fortint) section3Offset; *is4 = (fortint) section4Offset; *iedition = (fortint) edition; return 0; } fortint prepareGrib( gribProduct ** grib, unsigned char * buffer) { fortint is0, is1, is2, is3, is4, iedition; long status; unsigned char * p; gribProduct * gp; if( *grib == NULL ) { gp = (gribProduct *) allocateMemory(sizeof(gribProduct)); *grib = gp; } else gp = *grib; status = findSectionOffsets(buffer,&is0,&is1,&is2,&is3,&is4,&iedition); if( status ) { printf("prepareGrib: Problem finding GRIB section offsets\n"); return (fortint) 1; } if( iedition != 1 ) { printf("prepareGrib: Only GRIB edition 1 allowed.\n"); return (fortint) 1; } p = (unsigned char *) (buffer + is0); gp->g0 = (gribSection0 *) p; p = (unsigned char *) (buffer + is1); gp->g1 = (gribSection1 *) p; if( is2 == 0 ) gp->g2 = NULL; else { p = (unsigned char *) (buffer + is2); gp->g2 = (gribSection2 *) p; } if( is3 == 0 ) p = NULL; else { p = (unsigned char *) (buffer + is3); gp->g3 = (gribSection3 *) p; } p = (unsigned char *) (buffer + is4); gp->g4 = (gribSection4 *) p; return (fortint) 0; } fortint convertGRIBFloatToIEEE(unsigned char * valuePointer) { fortint temp; fortint sign, exponent, mantissa, newmantissa, newexponent; /* // The GRIB float format is defined in WMO manual on codes for // FM 92 GRIB, 92.6.4: // R = (-1)^sign * 2^(-24) * mantissa * 16^(exponent-64) */ temp = FOURBYTEINT(valuePointer); if( temp == 0 ) return (fortint) 0; else { sign = temp & 0x80000000; exponent = (((temp & 0x7f000000)>>24) - 64); mantissa = (temp & 0xffffff); newmantissa = mantissa<<8; newexponent = exponent*4-1; while( !(newmantissa & 0x80000000) ) { newexponent--; newmantissa <<= 1; } newexponent += 127; return (fortint) (sign | (newexponent<<23) | ((newmantissa>>8)&0x7fffff) ); } } fortdouble realValue(unsigned char * value) { float realNumber; fortint realNumberBits; realNumberBits = convertGRIBFloatToIEEE(value); memcpy((char *)&realNumber,(char *)&realNumberBits,4); return (fortdouble) realNumber; } fortdouble referenceValue(gribProduct * grib) { return realValue(grib->g4->referenceValue); } fortdouble RGREFVL(gribProduct ** grib) { return referenceValue( (*grib) ); } fortint IGBTSPV(gribProduct ** grib) { return g4_bits( (*grib) ); } fortdouble RGDSCAL(gribProduct ** grib) { fortint value = g4_scale( (*grib) ); double two = 2.0; fortdouble scale; /* // High order bit set => negative value */ if( value & 0x8000 ) value = - (value & 0x7fff); if( value == 0 ) scale = 1.0; else scale = pow(two,(double)value); return scale; } fortint IGUNUSD(gribProduct ** grib) { return (g4_flag( (*grib) ) & 0xf); } fortint GDECODE(gribProduct ** grib, unsigned char * buffer) { fortint status; /* // See if DEBUG switched on. */ if( ! debugSet ) { debugLevel = getenv("GDECODE_DEBUG"); if( debugLevel == NULL ) debugSet = DEBUGOFF; /* off */ else { int loop; for( loop = 0; loop < strlen(debugLevel) ; loop++ ) { if( ! isdigit(debugLevel[loop]) ) { printf("Invalid number string in GDECODE_DEBUG: %s\n", debugLevel); printf("GDECODE_DEBUG must comprise only digits [0-9].\n"); debugSet = DEBUGOFF; } } debugSet = DEBUGOFF + atol( debugLevel ); } if( DEBUG1 ) printf("GDECODE: GDECODE_DEBUG switched on, level = %s\n", debugLevel); } status = prepareGrib( grib, buffer); if( DEBUG1 ) if( status ) printf("GDECODE: prepareGrib failed.\n"); else printf("GDECODE: prepareGrib ran OK\n"); return status; } fortint IGLNGTH(gribProduct ** grib) { return g0_length( (*grib) ); } fortint IGDATE(gribProduct ** grib) { fortint date; gribProduct * g = *grib; if( (g1_century(g) == 255) || (g1_year(g) == 255) || (g1_day(g) == 255) ) return (fortint) g1_month(g); date = (g1_century(g)-1)*1000000 + g1_year(g)*10000 + g1_month(g)*100 + g1_day(g); return date; } fortint IGTIME(gribProduct ** grib) { fortint time; gribProduct * g = *grib; if( (g1_hour(g) == 255) || (g1_minute(g) == 255) ) return (fortint) -1; time = g1_hour(g)*100 + g1_minute(g); return time; } fortint IGSTEP(gribProduct ** grib) { fortint timeunit, timerange, step; gribProduct * g = *grib; switch( (int) g1_timeunit(g) ) { case 2: timeunit = 24; break; case 10: timeunit = 3; break; case 11: timeunit = 6; break; case 12: timeunit = 12; break; default: timeunit = 1; break; } switch( (int) g1_timerange(g) ) { case 0: case 1: case 113: case 114: case 115: case 116: case 117: case 118: case 123: case 124: step = g1_P1(g); break; case 10: step = (g1_P1(g)<<8) | (g1_P2(g)<<0); break; default: step = g1_P2(g); break; } step *= timeunit; return step; } fortint IGSTEP1(gribProduct ** grib) { return g1_P1( (*grib) ); } fortint IGSTEP2(gribProduct ** grib) { return g1_P2( (*grib) ); } fortint IGTABLE(gribProduct ** grib) { return g1_table( (*grib) ); } fortint IGCENTR(gribProduct ** grib) { return g1_centre( (*grib) ); } fortint IGPARAM(gribProduct ** grib) { return g1_parameter( (*grib) ); } fortint IGLEVEL(gribProduct ** grib) { fortint level; gribProduct * g = *grib; switch( (int) g1_typeOfLevel(g) ) { case 20: case 100: case 103: case 105: case 107: case 109: case 111: case 113: case 115: case 117: case 119: case 125: case 127: case 160: case 210: level = (g1_level1(g)<<8) | (g1_level2(g)<<0); break; case 101: case 104: case 106: case 108: case 110: case 112: case 114: case 116: case 120: case 121: case 128: case 141: level = g1_level1(g)*1000 + g1_level2(g); break; default: level = 0; break; } return level; } fortint IGLEVL1(gribProduct ** grib) { gribProduct * g = *grib; switch( (int) g1_typeOfLevel(g) ) { case 101: case 104: case 106: case 108: case 110: case 112: case 114: case 116: case 120: case 121: case 128: case 141: return g1_level1(g); default: return IGLEVEL(grib); } } fortint IGLEVL2(gribProduct ** grib) { gribProduct * g = *grib; switch( (int) g1_typeOfLevel(g) ) { case 101: case 104: case 106: case 108: case 110: case 112: case 114: case 116: case 120: case 121: case 128: case 141: return g1_level2(g); default: return IGLEVEL(grib); } } fortint IGDEFIN(gribProduct ** grib) { if( ecmwfLocalDefinitionPresent((*grib)) ) return g1_definition( (*grib) ); if( centreUsingECMWFLocalDefinition((*grib)) ) return g1_definition( (*grib) ); else { if( DEBUG1 ) printf("IGDEFIN: no ECMWF local definition found\n"); return (fortint) -999999; } } fortint IGCLASS(gribProduct ** grib) { if( ecmwfLocalDefinitionPresent((*grib)) ) return g1_class( (*grib) ); if( centreUsingECMWFLocalDefinition((*grib)) ) return g1_class( (*grib) ); else { if( DEBUG1 ) printf("GCLASS: no ECMWF class found\n"); return (fortint) -999999; } } fortint IGTYPE(gribProduct ** grib) { if( ecmwfLocalDefinitionPresent((*grib)) ) return g1_type( (*grib) ); if( centreUsingECMWFLocalDefinition((*grib)) ) return g1_type( (*grib) ); else { if( DEBUG1 ) printf("IGTYPE: no ECMWF type found\n"); return (fortint) -999999; } } fortint IGSTREM(gribProduct ** grib) { if( ecmwfLocalDefinitionPresent((*grib)) ) return g1_stream( (*grib) ); if( centreUsingECMWFLocalDefinition((*grib)) ) return g1_stream( (*grib) ); else { if( DEBUG1 ) printf("IGSTREM: no ECMWF stream found\n"); return (fortint) -999999; } } fortint IGEXPVR(gribProduct ** grib) { if( ecmwfLocalDefinitionPresent((*grib)) ) return g1_expver( (*grib) ); if( centreUsingECMWFLocalDefinition((*grib)) ) return g1_expver( (*grib) ); else { if( DEBUG1 ) printf("IGEXPVR: no ECMWF experiment version found\n"); return (fortint) -999999; } } fortint IGREPRS(gribProduct ** grib) { return g2_datatype( (*grib) ); } fortint IGNUMPV(gribProduct ** grib) { return g2_NV( (*grib) ); } fortint GPV(gribProduct ** grib, fortdouble * list, fortint * sizeList ) { gribProduct * g = *grib; fortdouble * l = list; int loop, numberOfVerticalCoordinates; unsigned char * value; if( !(numberOfVerticalCoordinates = g2_NV(g)) ) return (fortint) 0; if( numberOfVerticalCoordinates > *sizeList ) return (fortint) -1; value = (unsigned char *)(g->g2) + g2_PV_PL(g) - 1; for( loop = 0; loop < numberOfVerticalCoordinates; loop++ ) { *(l+loop) = realValue(value); value += 4; } return (fortint) numberOfVerticalCoordinates; } fortint GPL(gribProduct ** grib, fortint * list, fortint * sizeList ) { gribProduct * g = *grib; fortint * l = list; int loop, numberOfVerticalCoordinates, numberOfRows; unsigned char * value; numberOfRows = g2_nj(g); if( numberOfRows > *sizeList ) return (fortint) -1; numberOfVerticalCoordinates = g2_NV(g); value = (unsigned char *)(g->g2) + g2_PV_PL(g) + numberOfVerticalCoordinates*4 - 1; for( loop = 0; loop < numberOfRows; loop++ ) { *(l+loop) = TWOBYTEINT(value); value += 2; } return (fortint) numberOfRows; } fortint IGNI(gribProduct ** grib) { if( generalLatLonGrid( (*grib) ) ) if( g2_ni( (*grib) ) == 65535 ) return (fortint) -1; else return g2_ni( (*grib) ); else { if( DEBUG1 ) printf("IGNI: not a lat/long grid\n"); return (fortint) -999999; } } fortint IGNJ(gribProduct ** grib) { if( generalLatLonGrid( (*grib) ) ) if( g2_nj( (*grib) ) == 65535 ) return (fortint) -1; else return g2_nj( (*grib) ); else { if( DEBUG1 ) printf("IGNJ: not a lat/long grid\n"); return (fortint) -999999; } } fortdouble RGNWLAT(gribProduct ** grib) { fortint value; if( generalLatLonGrid( (*grib) ) ) { value = g2_firstLat( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( DEBUG1 ) printf("RGNWLAT: not a lat/long grid\n"); return (fortdouble) -999999.0; } } fortdouble RGNWLON(gribProduct ** grib) { fortint value; if( generalLatLonGrid( (*grib) ) ) { value = g2_firstLon( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( DEBUG1 ) printf("RGNWLON: not a lat/long grid\n"); return (fortdouble) -999999.0; } } fortdouble RGSELAT(gribProduct ** grib) { fortint value; if( generalLatLonGrid( (*grib) ) ) { value = g2_lastLat( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( DEBUG1 ) printf("RGSELAT: not a lat/long grid\n"); return (fortdouble) -999999.0; } } fortdouble RGSELON(gribProduct ** grib) { fortint value; if( generalLatLonGrid( (*grib) ) ) { value = g2_lastLon( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( DEBUG1 ) printf("RGSELON: not a lat/long grid\n"); return (fortdouble) -999999.0; } } fortint IGRESCO(gribProduct ** grib) { if( generalLatLonGrid( (*grib) ) ) return g2_resAndComp( (*grib) ); else { if( DEBUG1 ) printf("IGRESCO: not a lat/long grid\n"); return (fortint) -999999; } } fortdouble RGDI(gribProduct ** grib) { fortint value; if( generalLatLonGrid( (*grib) ) ) { value = g2_di( (*grib) ); if( value == 65535 ) return (fortdouble) -1; else return ((fortdouble) value )/1000.0; } else { if( DEBUG1 ) printf("RGDI: not a lat/long grid\n"); return (fortdouble) -999999.0; } } fortdouble RGDJ(gribProduct ** grib) { fortint value; if( generalLatLonGrid( (*grib) ) ) { value = g2_dj( (*grib) ); if( value == 65535 ) return (fortdouble) -1; else return ((fortdouble) value )/1000.0; } else { if( DEBUG1 ) printf("RGDJ: not a lat/long grid\n"); return (fortdouble) -999999.0; } } fortint IGGAUSS(gribProduct ** grib) { if( anyGaussianGrid( (*grib) ) ) return g2_gaussNumber( (*grib) ); else { if( DEBUG1 ) printf("IGGAUSS: not a gaussian grid\n"); return (fortint) -999999; } } fortint IGSCANM(gribProduct ** grib) { if( generalLatLonGrid( (*grib) ) ) return g2_scan( (*grib) ); else { if( DEBUG1 ) printf("IGSCANM: not a lat/long grid\n"); return (fortint) -999999; } } fortint IGJ(gribProduct ** grib) { if( anySpectralField( (*grib) ) ) return g2_J( (*grib) ); else { if( DEBUG1 ) printf("IGJ: not a spectral field\n"); return (fortint) -999999; } } fortint IGK(gribProduct ** grib) { if( anySpectralField( (*grib) ) ) return g2_K( (*grib) ); else { if( DEBUG1 ) printf("IGK: not a spectral field\n"); return (fortint) -999999; } } fortint IGM(gribProduct ** grib) { if( anySpectralField( (*grib) ) ) return g2_M( (*grib) ); else { if( DEBUG1 ) printf("IGM: not a spectral field\n"); return (fortint) -999999; } } fortint IGREPMO(gribProduct ** grib) { if( anySpectralField( (*grib) ) ) return g2_repmode( (*grib) ); else { if( DEBUG1 ) printf("IGREPMO: not a spectral field\n"); return (fortint) -999999; } } fortdouble RGIP(gribProduct ** grib) { if( anySpectralField( (*grib) ) ) return ((fortdouble) g4_ip( (*grib) )/1000.0); else { if( DEBUG1 ) printf("RGIP: not a spectral field\n"); return (fortint) -999999; } } fortint IGTJ(gribProduct ** grib) { if( anySpectralField( (*grib) ) ) return g4_j( (*grib) ); else { if( DEBUG1 ) printf("IGTJ: not a spectral field\n"); return (fortint) -999999; } } fortint IGTK(gribProduct ** grib) { if( anySpectralField( (*grib) ) ) return g4_k( (*grib) ); else { if( DEBUG1 ) printf("IGTK: not a spectral field\n"); return (fortint) -999999; } } fortint IGTM(gribProduct ** grib) { if( anySpectralField( (*grib) ) ) return g4_m( (*grib) ); else { if( DEBUG1 ) printf("IGTM: not a spectral field\n"); return (fortint) -999999; } } fortdouble RGLATRP(gribProduct ** grib) { fortint value; if( generalRotatedGrid( (*grib) ) ) { value = g2_latSouthPole( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( DEBUG1 ) printf("RGLATRP: not a rotated grid\n"); return (fortint) -999999; } } fortdouble RGLONRP(gribProduct ** grib) { fortint value; if( generalRotatedGrid( (*grib) ) ) { value = g2_lonSouthPole( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( DEBUG1 ) printf("RGLONRP: not a rotated grid\n"); return (fortint) -999999; } } fortdouble RGROTAT(gribProduct ** grib) { unsigned char * rotation; if( generalRotatedGrid( (*grib) ) ) { rotation = ((*grib)->g2)->grid.latlon.angleOfRotationOrStretchingFactor; return realValue(rotation); } else { if( DEBUG1 ) printf("RGROTAT: not a rotated grid\n"); return (fortint) -999999; } } fortdouble RGLATSP(gribProduct ** grib) { fortint value; if( generalStretchedAndRotatedGrid( (*grib) ) ) { value = g2_latStretching( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( generalStretchedGrid( (*grib) ) ) { value = g2_latSouthPole( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( DEBUG1 ) printf("RGLATSP: not a stretched/rotated grid\n"); return (fortint) -999999; } } } fortdouble RGLONSP(gribProduct ** grib) { fortint value; if( generalStretchedAndRotatedGrid( (*grib) ) ) { value = g2_lonStretching( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( generalStretchedGrid( (*grib) ) ) { value = g2_lonSouthPole( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff);; return ((fortdouble) value)/1000.0; } else { if( DEBUG1 ) printf("RGLONSP: not a stretched/rotated grid\n"); return (fortint) -999999; } } } fortdouble RGSFACT(gribProduct ** grib) { unsigned char * factor; if( generalStretchedAndRotatedGrid( (*grib) ) ) { factor = ((*grib)->g2)->grid.latlon.stretchingFactor; return realValue(factor); } else if( generalStretchedGrid( (*grib) ) ) { factor = ((*grib)->g2)->grid.latlon.angleOfRotationOrStretchingFactor; return realValue(factor); } else { if( DEBUG1 ) printf("RGSFACT: not a stretched/rotated grid\n"); return (fortint) -999999; } } fortint IGLEVTY(gribProduct ** grib) { if( DEBUG2) printf("IGLEVTY\n"); return (fortint) g1_typeOfLevel((*grib)); } fortdouble RGLEVTY(gribProduct ** grib) { if( DEBUG2) printf("RGLEVTY\n"); return (fortdouble) IGLEVTY(grib); } fortint IGTUNIT(gribProduct ** grib) { if( DEBUG2) printf("IGTUNIT\n"); return (fortint) g1_timeunit((*grib)); } fortdouble RGTUNIT(gribProduct ** grib) { if( DEBUG2) printf("RGTUNIT\n"); return (fortdouble) IGTUNIT(grib); } fortint IGTRIND(gribProduct ** grib) { if( DEBUG2) printf("IGTRIND\n"); return (fortint) g1_timerange((*grib)); } fortdouble RGTRIND(gribProduct ** grib) { if( DEBUG2) printf("RGTRIND\n"); return (fortdouble) IGTRIND(grib); } fortint IGNUMAV(gribProduct ** grib) { if( DEBUG2) printf("IGNUMAV\n"); return (fortint) g1_number((*grib)); } fortdouble RGNUMAV(gribProduct ** grib) { if( DEBUG2) printf("RGNUMAV\n"); return (fortdouble) IGNUMAV(grib); } fortint IGNUMMS(gribProduct ** grib) { if( DEBUG2) printf("IGNUMMS\n"); return (fortint) g1_missing((*grib)); } fortdouble RGNUMMS(gribProduct ** grib) { if( DEBUG2) printf("RGNUMMS\n"); return (fortdouble) IGNUMMS(grib); } fortint IGSUBID(gribProduct ** grib) { if( DEBUG2) printf("IGSUBID\n"); return (fortint) g1_subcentre((*grib)); } fortdouble RGSUBID(gribProduct ** grib) { if( DEBUG2) printf("RGSUBID\n"); return (fortdouble) IGSUBID(grib); } fortint IGUDECF(gribProduct ** grib) { fortint scale; if( DEBUG2) printf("IGUDECF\n"); scale = g1_scale((*grib)); if( scale & 0x8000 ) scale = - (scale & 0x7fff); return scale; } fortdouble RGUDECF(gribProduct ** grib) { if( DEBUG2) printf("RGUDECF\n"); return (fortdouble) IGUDECF(grib); } fortint IGDUMMY(gribProduct ** grib) { if( DEBUG2) printf("IGDUMMY\n"); return 0; } fortdouble RGDUMMY(gribProduct ** grib) { if( DEBUG2) printf("RGDUMMY\n"); return 0; } fortint numberOfValuesInSection4(gribProduct * grib) { fortint loop, total = 0, count = 0; unsigned char * value; if( generalLatLonGrid(grib) ) if( directionIncrementsGiven(grib) ) return g2_ni(grib)*g2_nj(grib); else { value = (unsigned char *) (grib->g2) + 4*g2_NV(grib) + g2_PV_PL(grib) - 1; for( loop = 0; loop < g2_nj(grib); loop++ ) { total += TWOBYTEINT(value); value += 2; } return total; } else if( anySpectralField(grib) ) return (g2_J(grib)+1)*(g2_J(grib)+2); return 0; } fortint g4_offset(gribProduct * grib) { int flag = g4_flag(grib); if(gridPoint(grib) && simplePacking(grib) && floatingPoint(grib) && noAdditionalFlags(grib)) return 12; if((!gridPoint(grib))) if(simplePacking(grib)) return 12; else return 19; return 12; } fortint IGNVALU(gribProduct ** grib) { return numberOfValuesInSection4( (*grib) ); } fortint GVALUES( gribProduct ** grib, fortdouble * array, fortint * arraySize, fortint * notMissing, fortdouble * userSuppliedMissingValue ) { gribProduct * g = *grib; fortdouble * arr = array; fortint outerLoop, innerLoop, loop, numberOfValues, numberNotMissing; unsigned char * value, * bitStart; fortdouble IP; double * powerFactor; fortdouble scale, minimum, missingValue; fortint packedBits,nextValueFirstBit,bitsPerValue; fortint subsetTruncation, fieldTruncation; unsigned char * nextUnpacked, * nextPacked; unsigned char * primaryBitmap; unsigned char * secondaryBitmap; unsigned char * listOfWidths; unsigned char * firstOrderPackedValues; unsigned char * secondOrderPackedValues; fortint primaryBit, secondaryBit; fortint firstOrderValue, secondOrderValue, width; fortint nextFirstOrderValue = 0; fortint nextSecondOrderValue = 0; fortint nextWidth = 0; fortint nextPrimaryBit = 0; fortint nextSecondaryBit = 0; fortint firstOrderPackedValueSize = g4_bits(g); fortint one = 1, eight = 8; fortint primaryBitmapped = primaryBitmapPresent(g); if( !(numberOfValues = numberOfValuesInSection4(g)) ) { if( DEBUG1 ) printf("GVALUES: no values found in GRIB.\n"); return (fortint) 0; } if( numberOfValues > *arraySize ) { if( DEBUG1 ) printf("GVALUES: user array too small for field values.\n"); return (fortint) -1; } minimum = referenceValue(g), missingValue = *userSuppliedMissingValue; scale = (fortdouble) RGDSCAL(grib); value = (unsigned char *)(g->g4) + g4_offset(g) - 1; bitsPerValue = g4_bits(g); nextValueFirstBit = 0; if( anySpectralField(g) ) { numberNotMissing = numberOfValues; /* // Spectral simple packing */ if( simplePacking(g) ) { GBYTE(value,&packedBits,&nextValueFirstBit,&bitsPerValue); *arr = realValue(value); value += 4; for( loop = 1; loop < numberOfValues; loop++ ) { GBYTE(value,&packedBits,&nextValueFirstBit,&bitsPerValue); nextValueFirstBit += bitsPerValue; *(arr+loop) = minimum + ((fortdouble) packedBits) * scale; } } /* // Spectral complex packing */ else { fieldTruncation = g2_J(g)+1; subsetTruncation = g4_j(g)+1; nextUnpacked = value; nextPacked = value + (subsetTruncation*(subsetTruncation+1))*4; loop = 0; for( outerLoop = 0; outerLoop < fieldTruncation; outerLoop++ ) { if(outerLoop < subsetTruncation) { for(innerLoop=outerLoop;innerLoop= (subsetTruncation-1) ) { *(arr+loop) *= powerFactor[innerLoop-1]; *(arr+loop+1) *= powerFactor[innerLoop-1]; } loop += 2; } } for(outerLoop=(subsetTruncation-1);outerLoopg3) + 6; for( loop = 0; loop < numberOfValues; loop++ ) { if( primaryBitmapped ) { primaryBit = getSingleMapBit(primaryBitmap,nextPrimaryBit); nextPrimaryBit++; } if( primaryBit ) { GBYTE(value,&packedBits,&nextValueFirstBit,&bitsPerValue); *(arr+loop) = minimum + ((fortdouble) packedBits) * scale; nextValueFirstBit += bitsPerValue; numberNotMissing++; } else *(arr+loop) = missingValue; } } /* // Grid-point second-order packing */ else { listOfWidths = (unsigned char *)(g->g4) + g4_offset(g) + 10 - 1; GBYTE(listOfWidths,&width,&nextWidth,&eight); firstOrderPackedValues = (unsigned char *)(g->g4) + g4_n1(g) - 1; secondOrderPackedValues = (unsigned char *)(g->g4) + g4_n2(g) - 1; numberNotMissing = 0; if( primaryBitmapped ) primaryBitmap = (unsigned char*)(g->g3) + 6; if( secondaryBitmapPresent(g) ) { if( differentWidths(g) ) secondaryBitmap = (unsigned char *) listOfWidths + g4_p1(g); else secondaryBitmap = (unsigned char *) listOfWidths + 1; } for( loop = 0; loop < numberOfValues; loop++ ) { if( primaryBitmapped ) { primaryBit = getSingleMapBit(primaryBitmap,nextPrimaryBit); nextPrimaryBit++; } else primaryBit = 1; if( primaryBit ) { if( secondaryBitmapPresent(g) ) { secondaryBit = getSingleMapBit(secondaryBitmap,nextSecondaryBit); nextSecondaryBit++; } else secondaryBit = MULTIPLE(loop,g2_ni(g)) ; if( secondaryBit ) { GBYTE(firstOrderPackedValues,&firstOrderValue, &nextFirstOrderValue,&firstOrderPackedValueSize); nextFirstOrderValue += firstOrderPackedValueSize; if( differentWidths(g) ) { GBYTE(listOfWidths,&width,&nextWidth,&eight); nextWidth += 8; } } if( width ) { GBYTE(secondOrderPackedValues,&secondOrderValue, &nextSecondOrderValue,&width); nextSecondOrderValue += width; } else secondOrderValue = 0; *(arr+loop) = minimum + ((fortdouble)(firstOrderValue+secondOrderValue))*scale; numberNotMissing++; } else *(arr+loop) = missingValue; } } } *notMissing = numberNotMissing; if( DEBUG1 ) printf("GVALUES: number of field values = %d\n",numberOfValues); return (fortint) numberOfValues; } void GVEND(gribProduct ** grib) { gribProduct * g; g = *grib; if( g->currentPoint.latitude != NULL ) { freeMemory(g->currentPoint.latitude); g->currentPoint.latitude = NULL; } if( g->currentPoint.longitudeIncrement != NULL ) { freeMemory(g->currentPoint.longitudeIncrement); g->currentPoint.longitudeIncrement = NULL; } if( g->expandedValues != NULL ) { freeMemory(g->expandedValues); g->expandedValues = NULL; } if( g->latitudeOffsets != NULL ) { freeMemory(g->latitudeOffsets); g->latitudeOffsets = NULL; } return; } fortint setupIrregularLongitudeIncrements(gribProduct ** grib, fortint nj) { gribProduct * g = *grib; fortint * numberOfPointsPerLatitude; fortint nrows, loop, count; g->latitudeOffsets = (fortint *) allocateMemory((nj+1)*sizeof(fortint)); numberOfPointsPerLatitude = (fortint *) allocateMemory(nj*sizeof(fortint)); nrows = GPL(grib,numberOfPointsPerLatitude,&nj); if( nrows != nj ) return (fortint) -4; g->latitudeOffsets[0] = 0; for( loop = 0; loop < nj; loop++ ) { count = numberOfPointsPerLatitude[loop]; g->latitudeOffsets[loop+1] = g->latitudeOffsets[loop] + count; if( count != 0 ) g->currentPoint.longitudeIncrement[loop] = 360.0 / (fortdouble) numberOfPointsPerLatitude[loop]; else g->currentPoint.longitudeIncrement[loop] = 0.0; } freeMemory(numberOfPointsPerLatitude); return (fortint) 0; } fortint GVINIT(gribProduct ** grib, fortdouble * missingValue) { gribProduct * g; fortint regular, ni, nj, loop, status; fortdouble latitudeStep, longitudeStep, north; if( grib == NULL) { if( DEBUG1 ) printf("GVINIT: grib empty. Was GDECODE called?\n"); return (fortint) -1; } g = *grib; /* // Only gaussian or lat/lon grid point fields can be handled */ if( !generalLatLonGrid(g) ) { if( DEBUG1 ) printf("GVINIT: only gaussian or lat/lon grid point fields handled\n"); return (fortint) -2; } g->numberOfValues = numberOfValuesInSection4(g); g->value = (unsigned char *)(g->g4) + g4_offset(g) - 1; g->bitStart = (unsigned char *)(g->g3) + 6; g->bitsPerValue = g4_bits(g); g->bitmapped = primaryBitmapPresent(g); g->nextValueFirstBit = 0; g->nextBit = 0; g->scale = (fortdouble) RGDSCAL(grib); g->minimum = referenceValue(g); g->missingValue = *missingValue; ni = g2_ni(g); nj = g2_nj(g); g->currentPoint.latitude = (fortdouble *) allocateMemory(nj*sizeof(fortdouble)); g->currentPoint.longitudeIncrement = (fortdouble *) allocateMemory(nj*sizeof(fortdouble)); regular = directionIncrementsGiven(g); if( anyLatLonGrid(g) ) { north = RGNWLAT(grib); latitudeStep = RGDJ(grib); longitudeStep = RGDI(grib); for( loop = 0; loop < nj; loop++ ) g->currentPoint.latitude[loop] = north - (latitudeStep * (fortdouble) loop); } else { fortint zero = 0, minusOne = -1; status = IGGLAT(&nj,g->currentPoint.latitude,&zero,&minusOne); if( status != 0 ) return (fortint) -5; longitudeStep = 360.0 / (fortdouble) (2*nj); } if( regular ) for( loop = 0; loop < nj; loop++ ) g->currentPoint.longitudeIncrement[loop] = longitudeStep; else setupIrregularLongitudeIncrements(grib, nj); if( ! simplePacking(g) ) { fortint notMissing; fortint numberOfValues = g->numberOfValues; g->expandedValues = (fortdouble *) allocateMemory(numberOfValues*sizeof(fortdouble)); status = GVALUES(grib,g->expandedValues,&numberOfValues,¬Missing,missingValue); if( status != numberOfValues ) return (fortint) -6; } return (fortint) (g->currentPointIndex = 1); } fortint GVECTOR( gribProduct ** grib, fortdouble * latitude, fortdouble * longitude, fortdouble * pointValue) { gribProduct * g; fortint loop, bit, packedBits, current, ni, nj, one = 1; fortint regular, latitudeIndex, longitudeIndex, currentLatitude; if( grib == NULL) { if( DEBUG1 ) printf("GVECTOR: grib empty. Was GDECODE called?\n"); return (fortint) -1; } g = *grib; current = ((g->currentPointIndex)++ - 1); if( current >= g->numberOfValues ) { if( DEBUG1 ) printf("GVECTOR: all field values already supplied\n"); return (fortint) -2; } regular = directionIncrementsGiven(g); if( regular) { ni = g2_ni(g); nj = g2_nj(g); latitudeIndex = current/ni; longitudeIndex = current - ((current/ni)*ni); *latitude = g->currentPoint.latitude[latitudeIndex]; *longitude = g->currentPoint.longitudeIncrement[latitudeIndex]*longitudeIndex; } else { currentLatitude = -1; while( current >= g->latitudeOffsets[++currentLatitude]); latitudeIndex = currentLatitude - 1; longitudeIndex = current - g->latitudeOffsets[latitudeIndex]; *latitude = g->currentPoint.latitude[latitudeIndex]; *longitude = g->currentPoint.longitudeIncrement[latitudeIndex]*longitudeIndex; } if( ! simplePacking(g) ) { *pointValue = *(g->expandedValues + current); } else { bit = 1; if( g->bitmapped ) { bit = getSingleMapBit(g->bitStart,g->nextBit); g->nextBit++; } if( bit ) { GBYTE(g->value,&packedBits,&(g->nextValueFirstBit),&(g->bitsPerValue)); g->nextValueFirstBit += g->bitsPerValue; *pointValue = g->minimum + ((fortdouble) packedBits) * g->scale; } else *pointValue = g->missingValue; } return (current+1); } fortint getSingleMapBit(unsigned char * map, fortint bitNumber) { fortint byteOffset = (bitNumber>>3); fortint bitOffset = bitNumber - (byteOffset<<3); return (fortint) ((map[byteOffset]>>(7-bitOffset))&0x1); } void * allocateMemory(size_t size) { void * memoryPointer = (void *) malloc(size); if( DEBUG2 ) printf("allocateMemory: allocated %d memory bytes\n",size); if( memoryPointer == NULL ) { printf("allocateMemory: requested number of bytes = %d\n", size); perror("allocateMemory: memory allocation failed"); exit(1); } if( DEBUG2 ) printf("allocateMemory: allocated memory pointer = %0x\n", memoryPointer); return memoryPointer; } void freeMemory(void * memoryPointer) { if( DEBUG2 ) printf("freeMemory: freeing memory pointer = %0x\n", memoryPointer); if( memoryPointer != NULL ) free(memoryPointer); return; } emoslib-000392+dfsg.1/gribex/ecdef6.F0000755000175000017500000001523512127406245020212 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF6( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPLEN, KPR, KRET) C C----> C**** ECDEF6 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 1. C C** Interface. C ---------- C C CALL ECDEF6( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPLEN, C X KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPLEN - Pointer to field containing length of Section 1. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 1. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ECLOC1.F - simplified to handle just definition 1. #include "ecdef6.h" C C C Author. C ------- C C J.D.Chambers ECMWF 27th February 1996 C C C Modifications. C -------------- C C None. C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPLEN, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables INTEGER IRET, IZERO, ILOOP, LENS1, INDATE C LOGICAL LENCODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC .EQ. 'C' ) C C ------------------------------------------------------------------ C* Section 2 . Handle definition 1. C ------------------------------------------------------------------ C 200 CONTINUE C C Octet 50-51 :Reserved. C Should be 0 !! C IF ( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO, 1,KBITS, 16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ELSE CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),2,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ENDIF C C Octet 52-54 : YYMMDD date of the SST field used. C IF( LENCODE) THEN INDATE = KSEC1(44) IF( INDATE.GT.19000000 ) INDATE = INDATE - 19000000 ENDIF CALL INXBIT(KGRIB,KLENG,KNSPT,INDATE,1,KBITS,24,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF IF( .NOT. LENCODE) THEN IF( (INDATE.LT.19000000).AND.(INDATE.GT.100) ) X INDATE = INDATE + 19000000 KSEC1(44) = INDATE ENDIF C C Octet 55 : Type of SST field used. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45), 1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C Octet 56 : Count of ICE fields used (n, say). C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46), 1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C Octet 57->54+(n*4) : YYMMDD dates and satellite numbers of the C ICE fields used. C DO 210 ILOOP = 1, KSEC1(46) C C YYMMDD date. IF( LENCODE) THEN INDATE = KSEC1(45+(ILOOP*2)) IF( INDATE.GT.19000000 ) INDATE = INDATE - 19000000 ENDIF CALL INXBIT(KGRIB,KLENG,KNSPT,INDATE,1,KBITS,24,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF IF( .NOT. LENCODE) THEN IF( (INDATE.LT.19000000).AND.(INDATE.GT.100) ) X INDATE = INDATE + 19000000 KSEC1(45+(ILOOP*2)) = INDATE ENDIF C C Satellite number (ICE data). C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46+(ILOOP*2)), X 1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C 210 CONTINUE C C On encoding, adjust length of section 1. IF( LENCODE ) THEN LENS1 = 56 + KSEC1(46)*4 CALL INXBIT(KGRIB,KLENG,KPLEN,LENS1, 1,KBITS,24,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF6 : Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,*) ' KNSPT = ', KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF6') ELSE RETURN ENDIF C C 9004 FORMAT (' ECDEF6: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/jfree.c0000755000175000017500000000075612127406245020210 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include void jfree( int ** n) { free(*n); } void jfree_( int ** n) { free(*n); } emoslib-000392+dfsg.1/gribex/getib2.F0000755000175000017500000001037312127406245020230 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETIB2 (KLIB2,KIB2,KLENG,KARRAY,KPR,KRET) C C----> C**** GETIB2 - Extract integer values from section 2 of GRIB record. C C Purpose. C -------- C C Get integer values from section 2 of unpacked GRIB or C Pseudo-grib records, retrieved from MARS. C C** Interface. C ---------- C C CALL GETIB2 (KLIB2,KIB2,KLENG,KARRAY,KPR,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input parameters. C ----------------- C C KIB2 - Array to receive section 2 values. C KLENG - Length of this array. C KARRAY - Array containing unpacked record. C KPR - Debug print switch. C 0 , No printout. C 1 , Debug printout. C 2 , Print section 2 values. C C KRET - Abort/no abort when error found. C 0 , Abort if error found. C Non-zero , no abort if error found. C C Output parameters. C ------------------ C C KIB2 - Array containing values from section 2. C KLIB2 - Number of values in this array. C KRET - Error return code. C 0 , No error encountered. C 1 , Target array too small. C C Method. C ------- C C Unpacked data is in self defining records. The required C values are located and extracted. C C Externals. C ---------- C C PRTBK2 C C Reference. C ---------- C C See MARS format documentation re GRIB, Pseudo-grib and C unpacked formats. C C Comments. C --------- C C Routine contains sections 0 to 2 and section 9. C C Author. C ------- C C J. Hennessy ECMWF 18:06:86. C C Modifications C -------------- C C None. C C --------------------------------------------------------------- C----< C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ------------------------------------ C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C DIMENSION KARRAY(*) DIMENSION KIB2(KLENG) C C --------------------------------------------------------------- C C C C C C C C C C C C* SECTION 1 . SET INITIAL VALUES. CHECK INPUT PARAMETERS. C ------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIB2 : SECTION 1.' C IRET = KRET KRET = 0 C C -------------------------------------------------------------- C C C C C C C C C C C* SECTION 2 . EXTRACT VALUES . PRINT IF REQUIRED. C ----------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIB2 : SECTION 2.' C ILIB1 = KARRAY(2) KLIB2 = KARRAY(2+ILIB1+1) C IF (KLENG.LT.KLIB2) C THEN KRET = 1 WRITE (*,9001) KRET , KLIB2 GO TO 9000 ENDIF C DO 2010 J=1,KLIB2 KIB2(J) = KARRAY(J+2+ILIB1+1) 2010 CONTINUE C IF (KPR.GT.0) CALL PRTBK2(KIB2) C C ------------------------------------------------------------------ C C C C C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE OR ABORT. FORMAT STATEMENTS. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIB2 : SECTION 9.' C IF (KRET.NE.0.AND.IRET.EQ.0) CALL ABORT C RETURN C C 9001 FORMAT (1H ,'GETIB2 : ERROR CODE = ',I3,'. TARGET ARRAY MUST BE ', C ' AT LEAST ',I5,' WORDS LONG.') C C ------------------------------------------------------------------ C C END emoslib-000392+dfsg.1/gribex/local2.F0000755000175000017500000001376312127406245020236 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION LOCAL2(KTABLE, KPARAM, KCENTR, X HFIRST, HSECOND, HTHIRD, HFOURTH) C C----> C**** LOCAL2 C C Purpose C ------- C C Looks up the description of a parameter in known table 2 versions C for WMO code FM 92-X Ext. GRIB. C C C Interface C --------- C C IRET = LOCAL2(KTABLE, KPARAM, KCENTR, C HFIRST, HSECOND, HTHIRD, HFOURTH) C C Input C ----- C C KTABLE - Local table 2 version number. C KPARAM - Parameter number. C KCENTR - Centre number. C C C Output C ------ C C HFIRST - First line of descriptor: MARS mnemonic C HSECOND - Second line of descriptor: Parameter description C HTHIRD - Third line of descriptor: Units for the parameter C HFOURTH - Fourth line of descriptor: Description of units C C Function return value is C 0 if no error detected. C 20001 if no match found for the parameter number in C the given table. C 20002 if there is an error opening the file holding C the given table. C 20003 if there is an error finding an unused fortran unit C number for reading the table. C C C Method C ------ C C Checks if environment variable ECMWF_LOCAL_TABLE_PATH exists to C define the location of the parameter tables. C C Otherwise, looks for table xxx in: C /home/ecmwf/emos_sms/tables/gribex/nnnnnn/local_table_2_version_xxx. C where nnnnnn is the current EMOSLIB version. C C Entry for each parameter in table has the format (without quotes): C "......................" Separator C "051" Paramter number C "MX2T24" MARS mnemonic C "Max 2m temp" Parameter description C "K" Units for the parameter C "During previous 24 hours" Further description C C There is a termination "......................" line in the file C and there may be lines of comment before the first parameter entry. C C The parameter definition file is kept open between calls. C C C Externals C --------- C TAB2FIL - Builds code table 2 file name. C C C Author C ------ C C J.D.Chambers ECMWF Sept 1995 C C C MODIFICATIONS C _____________ C C J. Clochard, Meteo France, for ECMWF - June 1999. C Argument KCENTR added for code tables management. C Use TAB2FIL function for file name building. C C _______________________________________________________ C----< C C IMPLICIT NONE C C Parameters C INTEGER JPROUTINE PARAMETER ( JPROUTINE = 20000 ) C C Function arguments C INTEGER KPARAM, KTABLE, KCENTR CHARACTER*(*) HFIRST, HSECOND, HTHIRD, HFOURTH C C Local variables C INTEGER IPR, IRET, ISTATUS, IPARAM, ITABLE CHARACTER*256 YFILE, YDUMMY C INTEGER NOLDTAB, NUNIT SAVE NOLDTAB, NUNIT C C External functions C INTEGER TAB2FIL EXTERNAL TAB2FIL C DATA NOLDTAB/-1/ C C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C LOCAL2 = 0 C C Put phoney fields in return parameters C HFIRST = 'NONE' HSECOND = 'Undefined parameter' HTHIRD = 'Undefined parameter' HFOURTH = 'Undefined parameter' C C See if a new table is requested. C IF( MAX( KTABLE, KPARAM) .LE. 127 ) THEN ITABLE = KTABLE ELSE ITABLE = 1000*KCENTR + KTABLE ENDIF C IF( ITABLE.NE.NOLDTAB ) THEN IF( NOLDTAB.NE.-1 ) CLOSE(UNIT=NUNIT) NOLDTAB = ITABLE C C Find an unused fortran unit number C IPR = 0 CALL FTN1CR(NUNIT, IPR, IRET) IF( IRET.NE.0 ) THEN LOCAL2 = JPROUTINE + 3 RETURN ENDIF C C Build filename C IRET = TAB2FIL( KTABLE, KPARAM, KCENTR, YFILE ) C C Open file C OPEN(UNIT=NUNIT, FILE=YFILE, ERR=910, IOSTAT=ISTATUS, X STATUS='OLD',FORM='FORMATTED') C C Otherwise, use the existing open parameter table file. C ELSE REWIND NUNIT ENDIF C C ------------------------------------------------------------------ C* Section 2. Search for the parameter in the table. C ------------------------------------------------------------------ C 200 CONTINUE C C Skip lines until '......................' separator found C 210 CONTINUE READ(NUNIT,'(A)',END=230) YDUMMY IF( YDUMMY(1:22).EQ.'......................') GOTO 225 GOTO 210 C C Loop through file C 220 CONTINUE READ(NUNIT,'(A)',END=230) YDUMMY 225 CONTINUE READ(NUNIT,'(I3.3)',END=230) IPARAM IF ( IPARAM .EQ. KPARAM ) THEN READ(NUNIT,'(A)',END=230) HFIRST READ(NUNIT,'(A)',END=230) HSECOND READ(NUNIT,'(A)',END=230) HTHIRD READ(NUNIT,'(A)',END=230) HFOURTH LOCAL2 = 0 GOTO 900 ELSE READ(NUNIT,'(A)',END=230) YDUMMY READ(NUNIT,'(A)',END=230) YDUMMY READ(NUNIT,'(A)',END=230) YDUMMY READ(NUNIT,'(A)',END=230) YDUMMY ENDIF GOTO 220 C C Dropthrough if no match found C 230 CONTINUE LOCAL2 = JPROUTINE + 1 GOTO 900 C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C C Error opening table file C 910 CONTINUE LOCAL2 = JPROUTINE + 2 RETURN C C Normal return. C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/genbin.F0000755000175000017500000000333612127406245020317 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GENBIN (IN,NBIT,OUT,ERR) C C----> C********************************************************************** C* C* NAME : GENBIN C* C* FUNCTION : PRODUCES A BINARY NUMBER WITH ONES AND ZEROES C* CORRESPONDING TO THE ONES AND ZEROES OF THE INPUT C* DECIMAL NUMBER. C* EG INPUT NUMBER 1010 DECIMAL , OUTPUT 1010 BINARY. C* C* INPUT : IN - INTEGER VARIABLE CONTAINING DECIMAL NUMBER. C* NBIT - NUMBER OF DIGITS TO BE USED. C* C* OUTPUT : OUT - INTEGER VARIABLE CONTAINING BINARY VALUE C* WITH ONES AND ZEROES CORRESPONDING TO THOSE OF C* THE INPUT DECIMAL NUMBER. C* C* ERR - 0 IF NO ERROR, 1 IF INVALID NUMBER OF BITS. C* C* JOHN HENNESSY ECMWF, OCTOBER 1985 C* C********************************************************************** C----< C IMPLICIT INTEGER (A-Z) C OUT = 0 INN = IN C C CHECK SIZE OF INTEGER C IF (NBIT.LT.0.OR.NBIT.GT.15) C THEN ERR = 1 RETURN ELSE ERR = 0 ENDIF C DO 100 I=1,NBIT TEMP = INN / 10 DIFF = INN - (TEMP*10) K = I - 1 MASC = 2**K IF (DIFF.NE.0) OUT = OR(OUT,MASC) INN = TEMP 100 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/rowina3.F0000755000175000017500000002004012127406245020426 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ROWINA3( P, KO, KI, PW, KCODE, PMSVAL, KRET, X OMISNG, OPERIO, OVEGGY) C C----> C**** ROWINA3 - Interpolation of row of values. C C Purpose. C -------- C C Interpolate a row of values. C C C** Interface. C ---------- C C CALL ROWINA3( P, KO, KI, PW, KCODE, PMSVAL, KRET, OMISNG, OPERIO) C C C Input Parameters. C ----------------- C C P - Row of values to be interpolated. C Dimension must be at least KO. C C KO - Number of values required. C C KI - Number of values in P on input. C C PW - Working array. C Dimension must be at least (0:KO+2,3). C C KCODE - Interpolation required. C 1 , linear. C 3 , cubic. C C PMSVAL - Value used for missing data indicator. C C OMISNG - True if missing values are present in field. C C OPERIO - True if input field is periodic. C C OVEGGY - True if 'nearest neighbour' processing must be used C for interpolation C C Output Parameters. C ------------------ C C P - Now contains KO values. C KRET - Return code C 0, OK C Non-zero, error C C C Method. C ------- C C Linear or cubic interpolation performed as required. C C C Externals. C ---------- C C SCM0 C C C Reference. C ---------- C C None. C C C Comments. C --------- C C This is a version of ROWINA which allows for missing data C values and hence for bitmapped fields. C C C Author. C ------- C C J.D.Chambers ECMWF 22.07.94 C C C Modifications. C -------------- C C J.D.Chambers ECMWF 13.09.94 C Add return code KRET and remove calls to ABORT. C C J. Clochard, Meteo France, for ECMWF - January 1998. C Addition of OMISNG and OPERIO arguments. C C C ----------------------------------------------------------------- C----< C C******************************************************************* C Section 0. Declarations. C******************************************************************* C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments REAL P, PW, PMSVAL INTEGER KO,KI,KCODE, KRET DIMENSION P(KO),PW(0:KO+2,3) C C Local variables INTEGER JL, IP REAL ZRDI, ZDO, ZPOS, ZWT, ZWT1 C LOGICAL OMISNG, OPERIO, OVEGGY C C******************************************************************* C Section 1. Linear interpolation .. C******************************************************************* C 100 CONTINUE C KRET = 0 C IF( KCODE.EQ.1 ) THEN C C Move input values to work array DO 110 JL = 1, KI PW(JL,1) = P(JL) 110 CONTINUE C IF (OPERIO) THEN C C Arrange wrap-around value in work array PW(KI+1,1) = P(1) C C Set up constants to be used to figure out weighting for C values in interpolation. ZRDI = REAL(KI) ZDO = 1.0 / REAL(KO) ELSE C C Repeat last value, to cope with "implicit truncation" below PW(KI+1,1) = P(KI) C C Set up constants to be used to figure out weighting for C values in interpolation. ZRDI = REAL(KI-1) ZDO = 1.0 / REAL(KO-1) ENDIF C C Loop through the output points IF ( .NOT. OMISNG ) THEN C DO 120 JL = 1, KO C C Calculate weight from the start of row ZPOS = (JL-1) * ZDO ZWT = ZPOS * ZRDI C C Get the current array position(minus 1) from the weight - C note the implicit truncation. IP = ZWT C C Adjust the weight to range (0.0 to 1.0) ZWT = ZWT - IP C C If 'nearest neighbour' processing must be used C IF( OVEGGY ) THEN C IF( ZWT.LT.0.5 ) THEN P(JL) = PW(IP+1,1) ELSE P(JL) = PW(IP+2,1) ENDIF ELSE C C Interpolate using the weighted values on either side C of the output point position P(JL) = (1.0-ZWT) * PW(IP+1,1) + ZWT * PW(IP+2,1) C ENDIF C 120 CONTINUE C ELSE C DO 130 JL = 1, KO C C Calculate weight from the start of row ZPOS = (JL-1) * ZDO ZWT = ZPOS * ZRDI C C If 'nearest neighbour' processing must be used C IF( OVEGGY ) THEN C IF( ZWT.LT.0.5 ) THEN P(JL) = PW(IP+1,1) ELSE P(JL) = PW(IP+2,1) ENDIF ELSE C C Get the current array position(minus 1) from the weight - C note the implicit truncation. IP = ZWT C C If the left value is missing, use the right value IF ( PW(IP+1,1) .EQ. PMSVAL ) THEN P(JL) = PW(IP+2,1) C C If the right value is missing, use the left value ELSE IF ( PW(IP+2,1) .EQ. PMSVAL ) THEN P(JL) = PW(IP+1,1) C C If neither missing, interpolate ... ELSE C C Adjust the weight to range (0.0 to 1.0) ZWT = ZWT - IP C C Interpolate using the weighted values on either side C of the output point position P(JL) = (1.0-ZWT) * PW(IP+1,1) + ZWT * PW(IP+2,1) ENDIF C ENDIF C 130 CONTINUE C ENDIF C C******************************************************************* C Section 2. Cubic interpolation .. C******************************************************************* C 200 CONTINUE C ELSEIF(KCODE.EQ.3) THEN C IF ( OMISNG ) THEN WRITE(GRPRSM,*) X 'ROWINA3: Cubic interpolation not supported' WRITE(GRPRSM,*) X 'ROWINA3: for fields containing missing data.' WRITE(GRPRSM,*) ' Sorry!' KRET = 1 GOTO 900 ENDIF C DO 210 JL = 1,KI IF ( P(JL) .EQ. PMSVAL ) THEN WRITE(GRPRSM,*) X 'ROWINA3: Cubic interpolation not supported' WRITE(GRPRSM,*) X 'ROWINA3: for fields containing missing data.' WRITE(GRPRSM,*) ' Sorry!' KRET = 1 GOTO 900 ENDIF PW(JL,1) = P(JL) 210 CONTINUE PW(0,1) = P(KI) PW(KI+1,1) = P(1) PW(KI+2,1) = P(2) DO 220 JL = 1,KI PW(JL,2) = - PW(JL-1,1)/3.0 - 0.5*PW(JL,1) 1 + PW(JL+1,1) - PW(JL+2,1)/6.0 PW(JL+1,3) = PW(JL-1,1)/6.0 - PW(JL,1) 1 + 0.5*PW(JL+1,1) + PW(JL+2,1)/3.0 220 CONTINUE CALL SCM0(PW(1,2),PW(2,3),PW(1,1),PW(2,1),KI) ZRDI = REAL(KI) ZDO = 1.0/REAL(KO) DO 230 JL = 1,KO ZPOS = (JL-1)*ZDO ZWT = ZPOS*ZRDI IP = ZWT+1 ZWT = ZWT+1.0-IP ZWT1 = 1.0 - ZWT P(JL) = ((3.0-2.0*ZWT1)*PW(IP,1) + ZWT*PW(IP,2))*ZWT1*ZWT1 1 + ((3.0-2.0*ZWT) *PW(IP+1,1) - ZWT1*PW(IP+1,3))*ZWT*ZWT 230 CONTINUE C ELSE C C******************************************************************* C Section 3. Invalid interpolation code .. C******************************************************************* C 300 CONTINUE C WRITE(GRPRSM,9001) KCODE KRET = 2 ENDIF C C******************************************************************* C Section 9. Closedown. C******************************************************************* C 900 CONTINUE RETURN C 9001 FORMAT (1H ,'ROWINA3 : Invalid interpolation code = ',I4) C END emoslib-000392+dfsg.1/gribex/csect4.F0000755000175000017500000003665512127406245020254 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C #if (defined IBM_POWER4) @PROCESS ALIAS(NOPTEOVRLP) #endif INTEGER FUNCTION CSECT4( PDATA, KTRUNC, KSEC1, KSEC4, X KGRIB, KLENG, KNSPT, KBITS, KPACK) C C----> C**** CSECT4 C C Purpose. C -------- C C Code GRIB section 4 for complex packing of spherical harmonics. C C C** Interface. C ---------- C C KRET = CSECT4( PDATA, KTRUNC, KSEC1, KSEC4, C X KGRIB, KLENG, KNSPT, KBITS, KPACK) C C C Input Parameters. C ----------------- C C PDATA - Array of floating point values. C KTRUNC - Truncation of the spherical harmonic coefficients. C KSEC1 - Array of GRIB section 1 values C KSEC4 - Array of GRIB section 4 values C KLENG - Length of GRIB product array C KNSPT - Bit pointer for next value in GRIB product C KBITS - Number of bits per computer word. C KPACK - Number of bits per packed value. C C C Output Parameters. C ----------------- C C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product(updated) C C C Method. C ------- C C | C C Given numbers: cccccccc|cccccc C cccccc|cccccc C cccc|cccccc C cc|cccccc C |cccccc C cccc C cc C C C Externals. C ---------- C C GSCALE - Apply power sclaing to values to be packed. C PACKCF - Store unscaled coefficients in GRIB product. C CMPCK - Make the values to be packed contiguous in memory. C MAXMIN - Find max/min values of array. C INXBIT - Insert bits into GRIB product. C REF2GRB - Convert reference value to IBM floating point format. C CONFP3 - Convert to IBM floating point format. C DECFP - Decode from IBM floating point format. C CALCOP - Calculate the P scale factor for a field C JMALLOC - Routine to acquire memory C JFREE - Routine to release memory C C Reference. C ---------- C C None. C C C Comments. C -------- C C On entry, KNSPT points to the first bit of section 4 in the GRIB C product. C On exit, KNSPT points to the first bit of section 5 in the GRIB C product. C C C Author. C ------- C C J.D.Chambers ECMWF 06:05:94 C C C Modifications. C _____________ C C J.Clochard, Meteo France, for ECMWF - January 1998. C Use of external JFREE instead of FREE. C C P.J.Towers ECMWF 18.07.02 C Optimised for IBM Power4. C -Added @PROCESS ALIAS(NOPTEOVRLP) directive C -Replaced Nint(x) by Int(x+0.5) C -Replaced division by scale by multiplication by reciprocal C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP15BIT, JP87SET, JPBYTES #ifdef REAL_8 PARAMETER (JPBYTES = 8) #else PARAMETER (JPBYTES = 4) #endif PARAMETER ( JP15BIT= 2**15 ) C `---> 32768 = 8000(hex) PARAMETER ( JP87SET= 192 ) C `---> = C0(hex) C C Subroutine arguments C INTEGER KTRUNC, KSEC1, KSEC4, KGRIB, KLENG, KNSPT, KBITS, KPACK REAL PDATA DIMENSION PDATA(*), KGRIB(*), KSEC1(*), KSEC4(*) C C Local variables. C INTEGER J110,NREST,NLOOPS,ILOOP,LOOP,ILENF,IPOWER,ISUBSET,ISTATUS INTEGER IRET, IRETA, IRETB, IEXP, IMANT, ITEMP INTEGER INSPT1, INSPTA, INSPTB, ILEN, ISCALE, ISIGN INTEGER ILEN4, INIL, IL, IFLAG, ISIZE C #ifndef USE_NO_POINTERS #ifdef POINTER_64 INTEGER*8 IPIVAL #endif POINTER (IPIVAL, IVAL) INTEGER IVAL(1) SAVE IPIVAL, ISIZE #else INTEGER IVAL(1000) #endif C REAL ZCHANGE, ZMAX, ZREF, ZMIN, ZSCALE,ZRECIP #if defined(CRAY) || defined(IBM) || defined(CYBER) || defined(hpiaR32) REAL ZS #else DOUBLE PRECISION ZS #endif C #include "grbcom.h" C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif INTEGER PACKCF, GSCALE, CALCOP, REF2GRB EXTERNAL PACKCF, GSCALE, CALCOP, REF2GRB, JMALLOC C DATA ISIZE/0/ C C ----------------------------------------------------------------- C* Section 1 . Change units of data values , if required. C ----------------------------------------------------------------- C 100 CONTINUE C CSECT4 = 0 #ifndef USE_NO_POINTERS C C Allocate memory (first time only) C IF( ISIZE.LT.((KTRUNC+1)*(KTRUNC+2)*JPBYTES) ) THEN IF( ISIZE.NE.0 ) CALL JFREE(IPIVAL) ISIZE = (KTRUNC+1)*(KTRUNC+2)*JPBYTES IPIVAL = JMALLOC(ISIZE) #ifdef hpR64 IPIVAL = IPIVAL/(1024*1024*1024*4) #endif IF( IPIVAL.EQ.0 ) THEN WRITE(GRPRSM,*) 'CSECT4: Memory allocation failed.' WRITE(GRPRSM,*) 'CSECT4: Number of bytes required = ', ISIZE CSECT4 = 16112 GOTO 900 ENDIF ENDIF #endif C C Preserve bit position of start of section 4. INSPT1 = KNSPT C C Apply decimal scaling if required. IF (KSEC1(23).NE.0) THEN ZCHANGE = 10.0**KSEC1(23) ILENF = (KTRUNC+1) * (KTRUNC+2) DO 110 J110 = 1 , ILENF PDATA(J110) = PDATA(J110) * ZCHANGE 110 CONTINUE ENDIF C C ----------------------------------------------------------------- C* Section 2. Check given truncations. C ----------------------------------------------------------------- C 200 CONTINUE C ISUBSET = KSEC4(18) IF ( ISUBSET .GT. KTRUNC ) THEN WRITE(GRPRSM,*) 'CSECT4: Invalid subset truncation given' WRITE(GRPRSM,*) 'CSECT4: ISUBSET, KTRUNC =', ISUBSET, KTRUNC CSECT4 = 16000 GOTO 900 ENDIF C C ----------------------------------------------------------------- C* Section 3 . Apply power scaling to field. C ----------------------------------------------------------------- 300 CONTINUE C C If user supplied the P factor, use it .. IF ( NONOFF .EQ. 0 ) THEN IPOWER = KSEC4(17) C C .. otherwise calculate the P factor for the field .. ELSE IPOWER = CALCOP( PDATA, KTRUNC, ISUBSET) IF( IPOWER.LT.-10000 ) THEN CSECT4 = 16001 GOTO 900 ENDIF KSEC4(17) = IPOWER ENDIF C .. and scale the field. IRET = GSCALE( PDATA, KTRUNC, ISUBSET, IPOWER, 'I') IF ( IRET .NE. 0 ) THEN CSECT4 = 16002 GOTO 900 ENDIF C C C ----------------------------------------------------------------- C* Section 4 . Store subset of coefficients (IBM style). C ----------------------------------------------------------------- C 400 CONTINUE C C Adjust pointer to avoid first 18 octets -> filled in later. INSPTA = KNSPT KNSPT = KNSPT + 18*8 IRET = PACKCF( PDATA,KTRUNC,ISUBSET,KGRIB,KLENG,KNSPT,KBITS) IF ( IRET .NE. 0 ) THEN CSECT4 = 16003 GOTO 900 ENDIF C C Reset bit pointer to start of section 4. INSPTB = KNSPT KNSPT = INSPTA C C ----------------------------------------------------------------- C* Section 5 . Find the max and min for the values to be scaled. C ----------------------------------------------------------------- C 500 CONTINUE C C Rearrange the values to be packed so they are contiguous. CALL CMPCK( PDATA, KTRUNC, ISUBSET) C C Find the max and min for the contiguous values ILEN = (KTRUNC+1)*(KTRUNC+2) - (ISUBSET+1)*(ISUBSET+2) CALL MAXMIN( PDATA, ILEN, ZMAX, ZMIN) C C Calculate the scale and reference value ZREF = ZMIN ZS = (ZMAX-ZREF) / (2**(KSEC4(2)+1)-1) #ifdef CRAY IF (ZS.NE.0.0) ZS = ALOG(ZS) / ALOG(2.0) + 2.0 #else IF (ZS.NE.0.0) ZS = LOG(ZS) / LOG(2.0) + 2.0 #endif #if defined hpR32 || defined (__alpha) || defined hpR64 || defined hpiaR64 ISCALE = MIN (INT(ZS),INT(ZS+DSIGN(1.0D0,ZS))) #elif defined linux ISCALE = MIN (INT(ZS),INT(ZS+SIGN(1.D0,ZS))) #else ISCALE = MIN (INT(ZS),INT(ZS+SIGN(1.,ZS))) #endif ZSCALE = 2.0**ISCALE C C Set scale factor sign bit. IF (ISCALE.LT.0) THEN ISCALE = -ISCALE ISIGN = JP15BIT ISCALE = ISCALE + ISIGN ENDIF C C* Octets 5 - 6 : Scale factor. C One 16 bit field. C C Adjust bit pointer over first 4 octets and insert scale factor. KNSPT = KNSPT + 4*8 CALL INXBIT(KGRIB,KLENG,KNSPT,ISCALE,1,KBITS, 16,'C',IRET) IF (IRET.NE.0) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing scale factor.' CSECT4 = 16004 GO TO 900 ENDIF C C* Octets 7 - 10 : Reference value. C One 8 bit and one 24 bit field. C C Convert floating point to GRIB representation. ISTATUS = REF2GRB(ZREF, IEXP, IMANT, KBITS) IF( ISTATUS.NE.0 ) THEN WRITE(GRPRSM,*) 'CSECT4: REF2GRB reference value problem' WRITE(GRPRSM,*) 'CSECT4: for parameter ', KSEC1(6) WRITE(GRPRSM,*) 'CSECT4: level type ', KSEC1(7) WRITE(GRPRSM,*) 'CSECT4: level ', KSEC1(8), KSEC1(9) ENDIF C C Insert reference value exponent and mantissa. CALL INXBIT(KGRIB,KLENG,KNSPT,IEXP,1,KBITS, 8,'C',IRETA) CALL INXBIT(KGRIB,KLENG,KNSPT,IMANT,1,KBITS, 24,'C',IRETB) IRET = IRETA + IRETB IF (IRET.NE.0) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing reference value.' CSECT4 = 16005 GO TO 900 ENDIF C C ----------------------------------------------------------------- C* Section 6 . Store octets 11 to 18. C ----------------------------------------------------------------- C 600 CONTINUE C C* Octet 11 : Number of bits containing each packed value. C One 8 bit field. C C Insert number of bits for each packed value. CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(2),1,KBITS, 8,'C',IRET) IF (IRET.NE.0) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing number of bits/value.' CSECT4 = 16006 GO TO 900 ENDIF C C Octets 12 - 13: Octet number of the start of packed data C One 16-bit field. C C Insert octet number of the start of packed data. KSEC4(16) = KNSPT/8 + 7 + 4*(ISUBSET+1)*(ISUBSET+2) CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(16),1,KBITS,16,'C',IRET) IF (IRET.NE.0) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing start of packed data.' CSECT4 = 16007 GO TO 900 ENDIF C C Octets 14 - 15: Scaling factor; power of Laplacian operator C applied to field before packing. C One 16-bit field. C C Set sign bit if value is negative. IF (KSEC4(17).LT.0) THEN ITEMP = - KSEC4(17) ITEMP = ITEMP + JP15BIT ELSE ITEMP = KSEC4(17) ENDIF C C Insert scaling power. CALL INXBIT(KGRIB,KLENG,KNSPT,ITEMP,1,KBITS,16,'C',IRET) IF (IRET.NE.0) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing scaling power.' CSECT4 = 16008 GO TO 900 ENDIF C C Octets 16 - 18: Pentagonal resolution parameters J,K,M C specifying truncation of subset of data C represented unpacked. C Three 8-bit fields. C C Insert pentagonal resolution parameters. CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(18),3,KBITS, 8,'C',IRET) IF (IRET.NE.0) THEN WRITE(GRPRSM,*) X 'CSECT4: Problem packing pentagonal resolution params.' CSECT4 = 16009 GO TO 900 ENDIF C C ----------------------------------------------------------------- C* Section 7 . Adjust, scale and pack the binary values. C ----------------------------------------------------------------- C 700 CONTINUE #ifndef USE_NO_POINTERS ZRECIP=1.0/ZSCALE C DO LOOP = 1 , ILEN #ifdef VAX IVAL(LOOP) = JNINT( (PDATA(LOOP) - ZREF) / ZSCALE ) #else IVAL(LOOP) = INT( (PDATA(LOOP) - ZREF ) * ZRECIP + 0.5 ) #endif ENDDO C C Adjust bit pointer to end of stored subset of coefficients and C store packed binary values in GRIB product -> updates bit pointer. C KNSPT = INSPTB CALL INXBIT (KGRIB,KLENG,KNSPT,IVAL,ILEN, KBITS,KPACK, 'C',IRET) IF ( IRET .NE. 0 ) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing bits' CSECT4 = 16010 GOTO 900 ENDIF #else NLOOPS = ILEN / 1000 NREST = ILEN - (NLOOPS)*1000 KNSPT = INSPTB C DO ILOOP = 1, NLOOPS DO LOOP = 1 , 1000 #ifdef VAX IVAL(LOOP) = JNINT((PDATA((ILOOP-1)*1000+LOOP)-ZREF)/ZSCALE) #else IVAL(LOOP) = NINT((PDATA((ILOOP-1)*1000+LOOP)-ZREF)/ZSCALE) #endif ENDDO C C Adjust bit pointer to end of stored subset of coefficients and C store packed binary values in GRIB product -> updates bit pointer. C CALL INXBIT(KGRIB,KLENG,KNSPT,IVAL,1000,KBITS,KPACK,'C',IRET) IF( IRET.NE.0 ) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing bits' CSECT4 = 16010 GOTO 900 ENDIF ENDDO C DO LOOP = 1, NREST #ifdef VAX IVAL(LOOP) = JNINT((PDATA((NLOOPS*1000)+LOOP)-ZREF)/ZSCALE) #else IVAL(LOOP) = NINT((PDATA((NLOOPS*1000)+LOOP)-ZREF)/ZSCALE) #endif ENDDO C C Adjust bit pointer to end of stored subset of coefficients and C store packed binary values in GRIB product -> updates bit pointer. C CALL INXBIT (KGRIB,KLENG,KNSPT,IVAL,NREST,KBITS,KPACK,'C',IRET) IF( IRET.NE.0 ) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing bits' CSECT4 = 16010 GOTO 900 ENDIF #endif C C ----------------------------------------------------------------- C* Section 8 . Fill in first 4 octets of section 4. C ----------------------------------------------------------------- C 800 CONTINUE C C Adjust length of section 4 (in bits) to a multiple of 16. ILEN4 = KNSPT - INSPT1 IL = ILEN4 / 16 IL = ILEN4 - ( IL * 16 ) INIL = 0 IF (IL.NE.0) INIL = 16 - IL KNSPT = KNSPT + INIL ILEN4 = ILEN4 + INIL C C Set length of section 4 to octets. ILEN4 = ILEN4 / 8 C C Octets 1 - 3: Length of section. C One 24-bit field. C CALL INXBIT(KGRIB,KLENG,INSPT1,ILEN4,1,KBITS,24,'C',IRET) IF (IRET.NE.0) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing length of section.' CSECT4 = 16010 GO TO 900 ENDIF C C Octet 4: C One 4-bit field -> flag, spherical harmonics/complex/float point C One 4-bit field -> number of unused bits at end of section 4. C IFLAG = JP87SET + INIL CALL INXBIT(KGRIB,KLENG,INSPT1,IFLAG,1,KBITS,8,'C',IRET) IF (IRET.NE.0) THEN WRITE(GRPRSM,*) 'CSECT4: Problem packing flag.' CSECT4 = 16011 GO TO 900 ENDIF C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/grprs1.F0000755000175000017500000014355712127406245020305 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRPRS1(KSEC0,KSEC1) C C----> C**** GRPRS1 C C Purpose. C -------- C C Print the information in the Product Definition C Section (Section 1) of decoded GRIB data. C C** Interface. C ---------- C C CALL GRPRS1(KSEC0,KSEC1) C C C Input Parameters. C ----------------- C C KSEC0 - Array of decoded parameters from Section 0. C KSEC1 - Array of decoded parameters from Section 1. C C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C Flag fields are printed in binary representation. C Other fields as integers. C Fields printed depend on GRIB Edition. C C C Externals. C ---------- C C PRTBIN - Print binary value in character format. C KWPRS1 - Print Washington ensemble products. C CHKTAB2 - Looks up a parameter in a given ECMWF local table 2. C C Common block GRPRSCM. C C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C See also routine GRIBEX. C C C Comments. C --------- C C When decoding data from Experimental Edition or Edition 0, C routine GRIBEX adds the additional fields available in C Edition 1. C C Checks environment variable GRPRS_STREAM for output stream number C for printing (default is 6) C C C Author. C ------- C J. Hennessy ECMWF 18.06.91 C C C Modifications. C -------------- C J. Hennessy ECMWF 30.08.91 C Different print for GRIB Editions up to Edition 1 C removed. C C J. Hennessy ECMWF 07.01.92 C Different print for GRIB Editions up to Edition 1 C added for centres other than ECMWF. C C J. Hennessy ECMWF 27.07.92 C Print added for satellite identifiers. C C J. Hennessy ECMWF 03.11.92 C Print of local ECMWF use 1 of section 1 added. C C J. Hennessy ECMWF 03.12.92 C Version number changed to character print. C C J. Hennessy ECMWF 20.05.93 C Print of local ECMWF use 2,3 and 4 of section 1 added. C C J.D.Chambers ECMWF 18.10.93 C Print of local ECMWF use 5 of section 1 added. C C J.D.Chambers ECMWF 10.05.94 C Fix print of version number C C J.D.Chambers ECMWF 02.06.94 C Fix print of total number of forecasts and forecast number C for MARS labelling C C J.D.Chambers ECMWF 19.01.95 C Allow printing of ECMWF local use definition 8. C C J.D.Chambers ECMWF 14.02.95 C Modify printing of ECMWF local use definition 7. C C J.D.Chambers ECMWF 09.10.95 C Add handling of Washington ensemble products. C C J.D.Chambers ECMWF 27.02.96 C Allow for ECMWF local use definition 6. C C J.D.Chambers ECMWF 13.02.98 C Allow for ECMWF local use definition 10 (EPS tubes). C C J.D.Chambers ECMWF 16.02.98 C Allow for ECMWF local use definition 11 (Supplementary data C used by analysis). C C J.D.Chambers ECMWF April 1998 C Allow for ECMWF local use definition 13 C C J.D.Chambers ECMWF November 1998 C Allow for ECMWF local use definition 12 C C J. Clochard, Meteo France, for ECMWF - June 1999. C Replace LOCAL2K call by CHKTAB2 call. C C J.D.Chambers ECMWF June 2002 C Add option to set output stream number using environment variable C GRPRS_STREAM C C J.D.Chambers ECMWF October 2002 C Allow for ECMWF local use definition 19 C C J.D.Chambers ECMWF March 2003 C Allow for ECMWF local use definition 20 C C J.D.Chambers ECMWF March 2003 C Allow for ECMWF local use definition 21 C C J.D.Chambers ECMWF February 2004 C Allow for ECMWF local use definition 22 and 23 C C J.D.Chambers ECMWF September 2004 C Allow for ECMWF local use definition 24 C C J.D.Chambers ECMWF November 2004 C Allow for ECMWF local use definition 25 C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" #include "grbcom.h" C C Parameter(s) C INTEGER JPBYTES #ifdef INTEGER_8 PARAMETER (JPBYTES = 8) #else PARAMETER (JPBYTES = 4) #endif C C Subroutine arguments C INTEGER KSEC0(*) INTEGER KSEC1(*) C C Local variables C INTEGER IPREV, ICURR, ICOUNT, IOFFSET, IOFF2, IOFF3 INTEGER IBIT, IERR, IOUT, IYEAR, NBYTES INTEGER JLOOP, JILOOP REAL VALUE C CHARACTER*8 HVERSION CHARACTER*121 HFIRST, HSECOND, HTHIRD, HFOURTH C C Externals C INTEGER CHKTAB2 EXTERNAL CHKTAB2 C C -----------------------------------------------------------------| C* Section 1 . Print required information. C -----------------------------------------------------------------| C 100 CONTINUE C WRITE(GRPRSM,9000) WRITE(GRPRSM,9001) WRITE(GRPRSM,9002) C WRITE(GRPRSM,9100) KSEC1(1) WRITE(GRPRSM,9101) KSEC1(2) WRITE(GRPRSM,9102) KSEC1(3) WRITE(GRPRSM,9103) KSEC1(4) IBIT = 8 CALL PRTBIN (KSEC1(5),IBIT,IOUT,IERR) WRITE(GRPRSM,9104) IOUT WRITE(GRPRSM,9105) KSEC1(6) IERR = CHKTAB2(KSEC1,HFIRST,HSECOND,HTHIRD,HFOURTH) IF( IERR .EQ. 0 ) THEN IOFF2 = 121 DO JLOOP = 121, 1, -1 IF( HSECOND(JLOOP:JLOOP).NE.' ' ) THEN IOFF2 = JLOOP GOTO 110 ENDIF ENDDO GOTO 130 110 CONTINUE IOFF3 = 121 DO JLOOP = 121, 1, -1 IF( HTHIRD(JLOOP:JLOOP).NE.' ' ) THEN IOFF3 = JLOOP GOTO 120 ENDIF ENDDO GOTO 130 120 CONTINUE WRITE(GRPRSM,*)'('//HSECOND(1:IOFF2)//': '//HTHIRD(1:IOFF3)//')' C 130 CONTINUE ENDIF C IF (KSEC1(6).NE.127) THEN WRITE(GRPRSM,9106) KSEC1(7) WRITE(GRPRSM,9107) KSEC1(8) WRITE(GRPRSM,9108) KSEC1(9) ELSE WRITE(GRPRSM,9206) KSEC1(7) WRITE(GRPRSM,9207) KSEC1(8) ENDIF C IYEAR = KSEC1(10) IF( IYEAR.NE.255 ) THEN IYEAR = ((KSEC1(21)-1)*100 + KSEC1(10)) WRITE(GRPRSM,9109) KSEC1(10), IYEAR ELSE WRITE(GRPRSM,*) 'Year of reference time of data (=MISSING) 255' ENDIF WRITE(GRPRSM,9110) KSEC1(11) WRITE(GRPRSM,9111) KSEC1(12) WRITE(GRPRSM,9112) KSEC1(13) WRITE(GRPRSM,9113) KSEC1(14) WRITE(GRPRSM,9114) KSEC1(15) WRITE(GRPRSM,9115) KSEC1(16) WRITE(GRPRSM,9116) KSEC1(17) WRITE(GRPRSM,9117) KSEC1(18) WRITE(GRPRSM,9118) KSEC1(19) WRITE(GRPRSM,9119) KSEC1(20) C C All ECMWF data in GRIB Editions before Edition 1 is decoded C as 20th century data. Other centres are decoded as missing. C IF (KSEC0(2).LT.1.AND.KSEC1(2).NE.98) THEN WRITE(GRPRSM,9122) ELSE WRITE(GRPRSM,9120) KSEC1(21) ENDIF C C Print sub-centre WRITE(GRPRSM,9123) KSEC1(22) C C Decimal scale factor WRITE(GRPRSM,9121) KSEC1(23) C C -----------------------------------------------------------------| C* Section 2 . Print local ECMWF information. C -----------------------------------------------------------------| C 200 CONTINUE C C Regular MARS labelling, or reformatted Washington EPS products. C IF ((KSEC1(2).EQ.98.AND.KSEC1(24).EQ.1) .OR. X (KSEC1(22).EQ.98.AND.KSEC1(24).EQ.1) .OR. X (KSEC1(2).EQ. 7.AND.KSEC1(22).EQ.98)) THEN C C Parameters common to all definitions. C WRITE(GRPRSM,9301) KSEC1(37) IF(KSEC1(37).EQ.1) X WRITE(GRPRSM,*) '(Mars labelling or ensemble forecast)' IF(KSEC1(37).EQ.2) X WRITE(GRPRSM,*) '(Cluster means and standard deviations)' IF(KSEC1(37).EQ.3) X WRITE(GRPRSM,*) '(Satellite image data)' IF(KSEC1(37).EQ.4) X WRITE(GRPRSM,*) '(Ocean model data)' IF(KSEC1(37).EQ.5) X WRITE(GRPRSM,*) '(Forecast probability data)' IF(KSEC1(37).EQ.6) X WRITE(GRPRSM,*) '(Surface temperature data)' IF(KSEC1(37).EQ.7) X WRITE(GRPRSM,*) '(Sensitivity data)' IF(KSEC1(37).EQ.8) X WRITE(GRPRSM,*) '(ECMWF re-analysis data)' IF(KSEC1(37).EQ.9) X WRITE(GRPRSM,*) '(Singular vectors / ensemble perturbations)' IF(KSEC1(37).EQ.10) X WRITE(GRPRSM,*) '(EPS tubes)' IF(KSEC1(37).EQ.11) X WRITE(GRPRSM,*) '(Supplementary data used by analysis)' IF(KSEC1(37).EQ.13) X WRITE(GRPRSM,*) '(Wave 2D spectra direction and frequency)' IF(KSEC1(37).EQ.14) X WRITE(GRPRSM,*) '(Brightness temperature)' IF(KSEC1(37).EQ.15) X WRITE(GRPRSM,*) '(Ocean ensemble seasonal forecast)' IF(KSEC1(37).EQ.16) X WRITE(GRPRSM,*) '(Seasonal fc monthly mean atmosphere data)' IF(KSEC1(37).EQ.17) X WRITE(GRPRSM,*) '(Sst or sea-ice used by analysis)' IF(KSEC1(37).EQ.18) X WRITE(GRPRSM,*) '(Multi-analysis ensemble data)' IF(KSEC1(37).EQ.19) X WRITE(GRPRSM,*) '(Extreme forecast index data)' IF(KSEC1(37).EQ.20) X WRITE(GRPRSM,*) '(4D variational increments)' IF(KSEC1(37).EQ.21) X WRITE(GRPRSM,*) '(Sensitive area predictions)' IF(KSEC1(37).EQ.23) X WRITE(GRPRSM,*) X '(Coupled atmospheric, wave & ocean means (+ hindcast support))' IF(KSEC1(37).EQ.24) X WRITE(GRPRSM,*) '(Satellite image simulation)' IF(KSEC1(37).EQ.25) X WRITE(GRPRSM,*) '(4DVar model errors)' IF(KSEC1(37).EQ.50) X WRITE(GRPRSM,*) '(Member State data)' IF(KSEC1(37).EQ.190) X WRITE(GRPRSM,*) '(Multiple ECMWF local definitions)' IF(KSEC1(37).EQ.191) X WRITE(GRPRSM,*) '(Free format data descriptor)' C WRITE(GRPRSM,9302) KSEC1(38) WRITE(GRPRSM,9303) KSEC1(39) WRITE(GRPRSM,9304) KSEC1(40) WRITE(HVERSION, '(A8)' ) KSEC1(41) WRITE(GRPRSM,9305) X HVERSION(5:5), X HVERSION(6:6), X HVERSION(7:7), X HVERSION(8:8) C C ECMWF Local definition 1. C (MARS labelling or ensemble forecast data) C IF (KSEC1(37).EQ.1) THEN WRITE(GRPRSM,9310) KSEC1(42) IF( KSEC1(40).NE.1090 ) WRITE(GRPRSM,9311) KSEC1(43) GOTO 900 ENDIF C C ECMWF Local definition 2. C (Cluster means and standard deviations) C IF (KSEC1(37).EQ.2) THEN WRITE(GRPRSM,9312) KSEC1(42) WRITE(GRPRSM,9313) KSEC1(43) WRITE(GRPRSM,9314) KSEC1(44) WRITE(GRPRSM,9315) KSEC1(45) WRITE(GRPRSM,9316) KSEC1(46) WRITE(GRPRSM,9317) KSEC1(47) WRITE(GRPRSM,9318) KSEC1(48) WRITE(GRPRSM,9319) KSEC1(49) WRITE(GRPRSM,9320) KSEC1(50) WRITE(GRPRSM,9321) KSEC1(51) WRITE(GRPRSM,9324) KSEC1(52) WRITE(GRPRSM,9322) KSEC1(53) DO 210 JLOOP = 1,KSEC1(53) WRITE(GRPRSM,9323) KSEC1(JLOOP+53) 210 CONTINUE GOTO 900 ENDIF C C ECMWF Local definition 3. C (Satellite image data) C IF (KSEC1(37).EQ.3) THEN WRITE(GRPRSM,9306) KSEC1(42) WRITE(GRPRSM,9307) KSEC1(43) GOTO 900 ENDIF C C ECMWF Local definition 4. C (Ocean model data) C IF (KSEC1(37).EQ.4) THEN WRITE(GRPRSM,9310) KSEC1(42) IF( KSEC1(40).NE.1090 ) WRITE(GRPRSM,9311) KSEC1(43) WRITE(GRPRSM,9401) KSEC1(44) WRITE(GRPRSM,9402) KSEC1(45) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Coordinate structure definition.' WRITE(GRPRSM,*) '--------------------------------' WRITE(GRPRSM,9403) KSEC1(46) WRITE(GRPRSM,9404) KSEC1(47) WRITE(GRPRSM,9405) KSEC1(48) WRITE(GRPRSM,9406) KSEC1(49) WRITE(GRPRSM,9407) KSEC1(50) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Position definition.' WRITE(GRPRSM,*) '--------------------' WRITE(GRPRSM,9411) KSEC1(51) WRITE(GRPRSM,9412) KSEC1(52) WRITE(GRPRSM,9413) KSEC1(53) WRITE(GRPRSM,9414) KSEC1(54) WRITE(GRPRSM,9415) KSEC1(55) WRITE(GRPRSM,9416) KSEC1(56) WRITE(GRPRSM,9413) KSEC1(57) WRITE(GRPRSM,9414) KSEC1(58) WRITE(GRPRSM,9415) KSEC1(59) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Grid Definition.' WRITE(GRPRSM,*) '----------------' WRITE(GRPRSM,9421) KSEC1(60) WRITE(GRPRSM,9422) KSEC1(61) WRITE(GRPRSM,9423) KSEC1(62) WRITE(GRPRSM,9424) KSEC1(63) WRITE(GRPRSM,9425) KSEC1(64) WRITE(GRPRSM,9426) KSEC1(65) WRITE(GRPRSM,9427) KSEC1(66) WRITE(GRPRSM,9428) KSEC1(67) WRITE(GRPRSM,9429) KSEC1(68) WRITE(GRPRSM,9430) KSEC1(69) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Further information.' WRITE(GRPRSM,*) '--------------------' WRITE(GRPRSM,9441) KSEC1(70) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Auxiliary information.' WRITE(GRPRSM,*) '----------------------' WRITE(GRPRSM,9451) KSEC1(71) WRITE(GRPRSM,9452) KSEC1(72) WRITE(GRPRSM,9453) KSEC1(73) WRITE(GRPRSM,9454) KSEC1(74) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Horizontal coordinate supplement.' WRITE(GRPRSM,*) '---------------------------------' IF( KSEC1(71).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(71) DO JLOOP = 1,KSEC1(71) WRITE(GRPRSM,9461) KSEC1(74+JLOOP) ENDDO ENDIF C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Mixed coordinate definition.' WRITE(GRPRSM,*) '----------------------------' IF( KSEC1(72).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(72) IOFFSET = 74 + KSEC1(71) DO JLOOP = 1,KSEC1(72) WRITE(GRPRSM,9461) KSEC1(IOFFSET+JLOOP) ENDDO ENDIF C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Grid coordinate list.' WRITE(GRPRSM,*) '---------------------' IF( KSEC1(73).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(73) IOFFSET = 74 + KSEC1(71) + KSEC1(72) DO JLOOP = 1,KSEC1(73) WRITE(GRPRSM,9461) KSEC1(IOFFSET+JLOOP) ENDDO ENDIF C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Auxiliary array.' WRITE(GRPRSM,*) '----------------' IF( KSEC1(74).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(74) IOFFSET = 74 + KSEC1(71) + KSEC1(72) + KSEC1(73) DO JLOOP = 1,KSEC1(74) WRITE(GRPRSM,9461) KSEC1(IOFFSET+JLOOP) ENDDO ENDIF C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Post-auxiliary array.' WRITE(GRPRSM,*) '---------------------' IOFFSET = 74 + KSEC1(71) + KSEC1(72) + KSEC1(73) + KSEC1(74) IF( KSEC1(IOFFSET+1).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(IOFFSET+1) DO JLOOP = 2, 4 WRITE(GRPRSM,9461) KSEC1(IOFFSET+JLOOP) ENDDO IF( KSEC1(IOFFSET+1).GT.4 ) THEN WRITE(GRPRSM,9462) KSEC1(IOFFSET+5) IF( KSEC1(IOFFSET+6).NE.0 ) THEN WRITE(GRPRSM,9463) KSEC1(IOFFSET+6) WRITE(GRPRSM,9464) KSEC1(IOFFSET+7) ENDIF ENDIF ENDIF C GOTO 900 ENDIF C C ECMWF Local definition 5. C (Forecast probability data) C IF (KSEC1(37).EQ.5) THEN WRITE(GRPRSM,9500) KSEC1(42) WRITE(GRPRSM,9501) KSEC1(43) WRITE(GRPRSM,9502) KSEC1(44) WRITE(GRPRSM,9503) KSEC1(45) IF ( KSEC1(45) .NE. 2 ) WRITE(GRPRSM,9504) KSEC1(46) IF ( KSEC1(45) .NE. 1 ) WRITE(GRPRSM,9505) KSEC1(47) GOTO 900 ENDIF C C ECMWF Local definition 6. C (Surface temperature data) C IF (KSEC1(37).EQ.6) THEN C IYEAR = KSEC1(44) IF( IYEAR.GT.100 ) THEN IF( IYEAR.LT.19000000 ) IYEAR = IYEAR + 19000000 WRITE(GRPRSM,9601) IYEAR ELSE WRITE(GRPRSM,*) X 'Date of SST field used Not given' ENDIF IF(KSEC1(45).EQ.0) WRITE(GRPRSM,9602) KSEC1(45) IF(KSEC1(45).EQ.1) WRITE(GRPRSM,9603) KSEC1(45) IF(KSEC1(45).EQ.2) WRITE(GRPRSM,9604) KSEC1(45) C WRITE(GRPRSM,9605) KSEC1(46) C DO 260 JLOOP = 1, KSEC1(46) IYEAR = KSEC1(45+(JLOOP*2)) IF( IYEAR.GT.100 ) THEN IF( IYEAR.LT.19000000 ) IYEAR = IYEAR + 19000000 WRITE(GRPRSM,9606) JLOOP, IYEAR WRITE(GRPRSM,9607) JLOOP, KSEC1(46+(JLOOP*2)) ELSE WRITE(GRPRSM,*) X 'Date of SST field used Not given' ENDIF C 260 CONTINUE C GOTO 900 ENDIF C C ECMWF Local definition 7. C (Sensitivity data) C IF (KSEC1(37).EQ.7) THEN IF ( KSEC1(39) .EQ. 51 ) WRITE(GRPRSM,9700) KSEC1(42) IF ( KSEC1(39) .NE. 51 ) WRITE(GRPRSM,9701) KSEC1(42) IF ( KSEC1(39) .NE. 52 ) WRITE(GRPRSM,9702) KSEC1(43) IF ( KSEC1(39) .EQ. 52 ) WRITE(GRPRSM,9703) KSEC1(43) WRITE(GRPRSM,9704) KSEC1(44) WRITE(GRPRSM,9705) KSEC1(45) GOTO 900 ENDIF C C C ECMWF Local definition 8. C (ECMWF re-analysis data) C IF (KSEC1(37).EQ.8) THEN IF( (KSEC1(40).EQ.1043).OR. X (KSEC1(40).EQ.1070).OR. X (KSEC1(40).EQ.1071) ) THEN WRITE(GRPRSM,9801) KSEC1(42) DO JLOOP = 43, 54 JILOOP = JLOOP + 8 WRITE(GRPRSM,9800) JILOOP, KSEC1(JLOOP) ENDDO ELSE DO JLOOP = 42, 54 JILOOP = JLOOP + 8 WRITE(GRPRSM,9800) JILOOP, KSEC1(JLOOP) ENDDO ENDIF GOTO 900 ENDIF C IF (KSEC1(39).GT.4.AND.KSEC1(39).LT.9) THEN WRITE(GRPRSM,9308) KSEC1(42) WRITE(GRPRSM,9309) KSEC1(43) ENDIF C C C ECMWF Local definition 9. C (Singular vectors and ensemble perturbations) C IF (KSEC1(37).EQ.9) THEN IF(KSEC1(39).EQ.60) X WRITE(GRPRSM,9960) KSEC1(42) IF(KSEC1(39).EQ.61) X WRITE(GRPRSM,9961) KSEC1(42) IF(KSEC1(39).EQ.62) X WRITE(GRPRSM,9962) KSEC1(42) IF(KSEC1(39).EQ.62) THEN WRITE(GRPRSM,9943) KSEC1(43) WRITE(GRPRSM,9944) KSEC1(44) WRITE(GRPRSM,9945) KSEC1(45) WRITE(GRPRSM,9946) KSEC1(46) WRITE(GRPRSM,9947) KSEC1(47) WRITE(GRPRSM,9948) KSEC1(48) WRITE(GRPRSM,9949) KSEC1(49) WRITE(GRPRSM,9950) KSEC1(50) WRITE(GRPRSM,9951) KSEC1(51) WRITE(GRPRSM,9952) KSEC1(52) WRITE(GRPRSM,9953) KSEC1(53) WRITE(GRPRSM,9954) KSEC1(54) WRITE(GRPRSM,9955) KSEC1(55) ENDIF GOTO 900 ENDIF C C C ECMWF Local definition 10. C (EPS tubes) C IF (KSEC1(37).EQ.10) THEN WRITE(GRPRSM,1001) KSEC1(42) WRITE(GRPRSM,1002) KSEC1(43) WRITE(GRPRSM,1003) KSEC1(44) WRITE(GRPRSM,1004) KSEC1(45) WRITE(GRPRSM,1005) KSEC1(46) WRITE(GRPRSM,1006) KSEC1(47) WRITE(GRPRSM,1007) KSEC1(48) WRITE(GRPRSM,1008) KSEC1(49) WRITE(GRPRSM,1009) KSEC1(50) WRITE(GRPRSM,1010) KSEC1(51) WRITE(GRPRSM,1011) KSEC1(52) WRITE(GRPRSM,1012) KSEC1(53) WRITE(GRPRSM,1013) KSEC1(54) WRITE(GRPRSM,1014) KSEC1(55) WRITE(GRPRSM,1015) KSEC1(56) WRITE(GRPRSM,1016) KSEC1(57) WRITE(GRPRSM,1017) KSEC1(58) C WRITE(GRPRSM,1018) DO 280 JLOOP = 1, KSEC1(58) WRITE(GRPRSM,1019) KSEC1(58+JLOOP) 280 CONTINUE GOTO 900 ENDIF C C C ECMWF Local definition 11. C (Supplementary data used by the analysis) C IF (KSEC1(37).EQ.11) THEN WRITE(GRPRSM,1101) WRITE(GRPRSM,1103) KSEC1(42) WRITE(GRPRSM,1104) KSEC1(43) WRITE(GRPRSM,1105) KSEC1(44) WRITE(HVERSION, '(A8)' ) KSEC1(45) WRITE(GRPRSM,1106) X HVERSION(5:5), X HVERSION(6:6), X HVERSION(7:7), X HVERSION(8:8) IYEAR = KSEC1(46) IF( IYEAR.GT.40 ) THEN IYEAR = IYEAR + 1900 ELSE IYEAR = IYEAR + 2000 ENDIF WRITE(GRPRSM,1107) KSEC1(46), IYEAR WRITE(GRPRSM,1108) KSEC1(47) WRITE(GRPRSM,1109) KSEC1(48) WRITE(GRPRSM,1110) KSEC1(49) WRITE(GRPRSM,1111) KSEC1(50) WRITE(GRPRSM,1112) KSEC1(51) WRITE(GRPRSM,1113) KSEC1(52) WRITE(GRPRSM,1114) KSEC1(53) GOTO 900 ENDIF C C C ECMWF Local definition 12. C IF (KSEC1(37).EQ.12) THEN WRITE(GRPRSM,1201) WRITE(GRPRSM,1203) KSEC1(42) WRITE(GRPRSM,1204) KSEC1(43) WRITE(GRPRSM,1205) KSEC1(44) WRITE(GRPRSM,1206) KSEC1(45) WRITE(GRPRSM,1207) KSEC1(46) WRITE(GRPRSM,1208) KSEC1(47) WRITE(GRPRSM,1209) KSEC1(48) WRITE(GRPRSM,1210) KSEC1(49) WRITE(GRPRSM,1211) IPREV = KSEC1(50) ICURR = 0 ICOUNT = 0 DO JLOOP = 1, KSEC1(49) ICURR = KSEC1(49+JLOOP) IF( ICURR.NE.IPREV ) THEN IF( ICOUNT.EQ.1 ) WRITE(GRPRSM,1212) IPREV IF( ICOUNT.EQ.2 ) WRITE(GRPRSM,1213) IPREV IF( ICOUNT.GT.2 ) WRITE(GRPRSM,1214) IPREV, ICOUNT IPREV = ICURR ICOUNT = 1 ELSE ICOUNT = ICOUNT + 1 ENDIF ENDDO IF( ICOUNT.EQ.1 ) WRITE(GRPRSM,1212) IPREV IF( ICOUNT.EQ.2 ) WRITE(GRPRSM,1213) IPREV IF( ICOUNT.GT.2 ) WRITE(GRPRSM,1214) IPREV, ICOUNT GOTO 900 ENDIF C C C ECMWF Local definition 13. C (Wave 2D spectra direction and frequency) C IF (KSEC1(37).EQ.13) THEN WRITE(GRPRSM,1301) KSEC1(44) WRITE(GRPRSM,1302) KSEC1(45) WRITE(GRPRSM,1303) KSEC1(46) WRITE(GRPRSM,1304) KSEC1(47) WRITE(GRPRSM,1305) KSEC1(48) WRITE(GRPRSM,1306) KSEC1(49) WRITE(GRPRSM,1307) DO 290 JLOOP = 1, KSEC1(46) VALUE = REAL(KSEC1(49+JLOOP))/REAL(KSEC1(48)) IF( KSEC1(44).EQ.JLOOP ) THEN WRITE(GRPRSM,1308) JLOOP, VALUE ELSE WRITE(GRPRSM,1309) JLOOP, VALUE ENDIF 290 CONTINUE WRITE(GRPRSM,1310) DO 295 JLOOP = 1, KSEC1(47) VALUE = REAL(KSEC1(49+KSEC1(46)+JLOOP))/REAL(KSEC1(49)) IF( KSEC1(45).EQ.JLOOP ) THEN WRITE(GRPRSM,1308) JLOOP, VALUE ELSE WRITE(GRPRSM,1309) JLOOP, VALUE ENDIF 295 CONTINUE C IF( N13FLAG.GT.0 ) THEN WRITE(GRPRSM,1311) KSEC1(50+KSEC1(46)+KSEC1(47)) WRITE(GRPRSM,1312) KSEC1(51+KSEC1(46)+KSEC1(47)) IF( N13FLAG.GT.1 ) THEN WRITE(GRPRSM,1313) KSEC1(52+KSEC1(46)+KSEC1(47)) WRITE(GRPRSM,1314) KSEC1(53+KSEC1(46)+KSEC1(47)) WRITE(GRPRSM,1315) KSEC1(54+KSEC1(46)+KSEC1(47)) IF( N13FLAG.GT.2 ) THEN WRITE(GRPRSM,1316) KSEC1(55+KSEC1(46)+KSEC1(47)) WRITE(GRPRSM,1317) KSEC1(56+KSEC1(46)+KSEC1(47)) WRITE(GRPRSM,1318) KSEC1(57+KSEC1(46)+KSEC1(47)) WRITE(GRPRSM,1319) KSEC1(58+KSEC1(46)+KSEC1(47)) ENDIF ENDIF ENDIF GOTO 900 ENDIF C C ECMWF Local definition 14. C (Brightness temperature) C IF (KSEC1(37).EQ.14) THEN WRITE(GRPRSM,1401) KSEC1(44) WRITE(GRPRSM,1402) KSEC1(45) WRITE(GRPRSM,1403) KSEC1(46) WRITE(GRPRSM,1404) DO 296 JLOOP = 1, KSEC1(46) VALUE = REAL(KSEC1(46+JLOOP))/REAL(KSEC1(45)) IF( KSEC1(44).EQ.JLOOP ) THEN WRITE(GRPRSM,1405) JLOOP, VALUE ELSE WRITE(GRPRSM,1406) JLOOP, VALUE ENDIF 296 CONTINUE GOTO 900 ENDIF C C ECMWF Local definition 15. C (Ocean ensemble seasonal forecast) C IF (KSEC1(37).EQ.15) THEN WRITE(GRPRSM,1501) KSEC1(42) WRITE(GRPRSM,1504) KSEC1(43) WRITE(GRPRSM,1502) KSEC1(44) WRITE(GRPRSM,1503) KSEC1(45) GOTO 900 ENDIF C C ECMWF Local definition 16. C (Seasonal forecast monthly mean atmosphere data) C IF (KSEC1(37).EQ.16) THEN WRITE(GRPRSM,1501) KSEC1(42) WRITE(GRPRSM,1502) KSEC1(44) WRITE(GRPRSM,1503) KSEC1(45) WRITE(GRPRSM,1601) KSEC1(46) WRITE(GRPRSM,1602) KSEC1(47) WRITE(GRPRSM,1603) KSEC1(48) GOTO 900 ENDIF C C ECMWF Local definition 17. C (Sst or sea-ice used by analysis) C IF (KSEC1(37).EQ.17) THEN C IYEAR = KSEC1(44) IF( IYEAR.GT.100 ) THEN IF( IYEAR.LT.19000000 ) IYEAR = IYEAR + 19000000 WRITE(GRPRSM,1701) IYEAR ELSE WRITE(GRPRSM,*) X 'Date of sst/ice field used Not given' ENDIF IF(KSEC1(45).EQ.0) WRITE(GRPRSM,1702) KSEC1(45) IF(KSEC1(45).EQ.1) WRITE(GRPRSM,1703) KSEC1(45) IF(KSEC1(45).EQ.2) WRITE(GRPRSM,1704) KSEC1(45) C WRITE(GRPRSM,1705) KSEC1(46) C DO JLOOP = 1, KSEC1(46) IYEAR = KSEC1(45+(JLOOP*2)) IF( IYEAR.GT.100 ) THEN IF( IYEAR.LT.19000000 ) IYEAR = IYEAR + 19000000 WRITE(GRPRSM,1706) JLOOP, IYEAR WRITE(GRPRSM,1707) JLOOP, KSEC1(46+(JLOOP*2)) ELSE WRITE(GRPRSM,*) X 'Date of sst/ice field used Not given' ENDIF C ENDDO GOTO 900 C ENDIF C C ECMWF Local definition 18. C (Multi-analysis ensemble data) C IF (KSEC1(37).EQ.18) THEN WRITE(GRPRSM,1801) KSEC1(42) WRITE(GRPRSM,1802) KSEC1(43) WRITE(GRPRSM,1803) KSEC1(44) WRITE(HVERSION, '(A8)' ) KSEC1(45) WRITE(GRPRSM,1804) X HVERSION(5:5), X HVERSION(6:6), X HVERSION(7:7), X HVERSION(8:8) WRITE(GRPRSM,1805) KSEC1(46) WRITE(GRPRSM,*) ' WMO centre analyses used:' WRITE(GRPRSM,*) ' ------------------------' DO JLOOP = 1, KSEC1(46) WRITE(HVERSION, '(A8)' ) KSEC1(46+JLOOP) WRITE(GRPRSM,1806) X HVERSION(5:5), X HVERSION(6:6), X HVERSION(7:7), X HVERSION(8:8) ENDDO GOTO 900 ENDIF C C ECMWF Local definition 19. C (Extreme forecast index) C IF (KSEC1(37).EQ.19) THEN WRITE(GRPRSM,1901) KSEC1(42) WRITE(GRPRSM,1902) KSEC1(43) WRITE(GRPRSM,1903) KSEC1(44) WRITE(GRPRSM,1904) KSEC1(45) WRITE(GRPRSM,1905) KSEC1(46) WRITE(GRPRSM,1906) KSEC1(47) WRITE(GRPRSM,1907) KSEC1(48) WRITE(GRPRSM,1908) KSEC1(49) WRITE(GRPRSM,1909) KSEC1(50) GOTO 900 ENDIF C C ECMWF Local definition 20. C (4D variational increments) C IF (KSEC1(37).EQ.20) THEN WRITE(GRPRSM,2001) KSEC1(42) WRITE(GRPRSM,2002) KSEC1(43) GOTO 900 ENDIF C C ECMWF Local definition 21. C (Sensitive area predictions) C IF (KSEC1(37).EQ.21) THEN WRITE(GRPRSM,2101) KSEC1(42) WRITE(GRPRSM,2102) KSEC1(43) WRITE(GRPRSM,2103) KSEC1(44) WRITE(GRPRSM,2104) KSEC1(45) WRITE(GRPRSM,2105) KSEC1(46) WRITE(GRPRSM,2106) KSEC1(47) WRITE(GRPRSM,2107) KSEC1(48) WRITE(GRPRSM,2108) KSEC1(49) WRITE(GRPRSM,2109) KSEC1(50) WRITE(GRPRSM,2110) KSEC1(51) WRITE(GRPRSM,2111) KSEC1(52) WRITE(GRPRSM,2112) KSEC1(53) WRITE(GRPRSM,2113) KSEC1(54) WRITE(GRPRSM,2114) KSEC1(55) WRITE(GRPRSM,2115) KSEC1(56) WRITE(GRPRSM,2116) KSEC1(57) WRITE(HVERSION, '(A8)' ) KSEC1(58) #ifdef LITTLE_ENDIAN WRITE(GRPRSM,2117) HVERSION(5:5) #else WRITE(GRPRSM,2117) HVERSION(8:8) #endif WRITE(GRPRSM,2118) KSEC1(59) WRITE(GRPRSM,2119) KSEC1(60) WRITE(GRPRSM,2120) KSEC1(61) GOTO 900 ENDIF C C ECMWF Local definition 22. C (Couple atmospheric, wave and ocean models) C IF (KSEC1(37).EQ.22) THEN WRITE(GRPRSM,1501) KSEC1(42) WRITE(GRPRSM,1504) KSEC1(43) WRITE(GRPRSM,1502) KSEC1(44) WRITE(GRPRSM,1503) KSEC1(45) WRITE(GRPRSM,2201) KSEC1(46) WRITE(GRPRSM,2202) KSEC1(47) WRITE(GRPRSM,2203) KSEC1(48) GOTO 900 ENDIF C C ECMWF Local definition 23. C (Couple atmospheric, wave and ocean means) C IF (KSEC1(37).EQ.23) THEN WRITE(GRPRSM,1501) KSEC1(42) WRITE(GRPRSM,1504) KSEC1(43) WRITE(GRPRSM,1502) KSEC1(44) WRITE(GRPRSM,1503) KSEC1(45) WRITE(GRPRSM,1601) KSEC1(46) WRITE(GRPRSM,1602) KSEC1(47) WRITE(GRPRSM,1603) KSEC1(48) WRITE(GRPRSM,2201) KSEC1(49) WRITE(GRPRSM,2202) KSEC1(50) WRITE(GRPRSM,2203) KSEC1(51) WRITE(GRPRSM,9502) KSEC1(52) WRITE(GRPRSM,9503) KSEC1(53) IF ( KSEC1(53) .NE. 2 ) WRITE(GRPRSM,9504) KSEC1(54) IF ( KSEC1(53) .NE. 1 ) WRITE(GRPRSM,9505) KSEC1(55) C GOTO 900 ENDIF C C ECMWF Local definition 24. C (Couple atmospheric, wave and ocean means) C IF (KSEC1(37).EQ.24) THEN WRITE(GRPRSM,2401) KSEC1(42) WRITE(GRPRSM,2402) KSEC1(43) WRITE(GRPRSM,2403) KSEC1(44) WRITE(GRPRSM,2404) KSEC1(45) GOTO 900 ENDIF C C ECMWF Local definition 25. C (Couple atmospheric, wave and ocean means) C IF (KSEC1(37).EQ.25) THEN WRITE(GRPRSM,2501) KSEC1(42) WRITE(GRPRSM,2502) KSEC1(43) WRITE(GRPRSM,2503) KSEC1(44) ENDIF C C ECMWF Local definition 50. C (Member State data) C IF (KSEC1(37).EQ.50) THEN WRITE(GRPRSM,5001) KSEC1(42) WRITE(GRPRSM,5002) KSEC1(43) WRITE(GRPRSM,5003) KSEC1(44) WRITE(GRPRSM,5004) KSEC1(45) WRITE(GRPRSM,5005) KSEC1(46) WRITE(GRPRSM,5006) KSEC1(47) WRITE(GRPRSM,5007) KSEC1(48) WRITE(GRPRSM,*) ' ECMWF additions' WRITE(GRPRSM,*) ' ---------------' WRITE(GRPRSM,5008) KSEC1(49) WRITE(GRPRSM,5009) KSEC1(50) WRITE(GRPRSM,5010) (KSEC1(JLOOP),JLOOP=51,60) WRITE(GRPRSM,*) ' Optional data' WRITE(GRPRSM,*) ' -------------' WRITE(GRPRSM,5010) (KSEC1(JLOOP),JLOOP=61,106) GOTO 900 ENDIF C C ECMWF Local definition 190. C (Multiple ECMWF local definitions) C IF (KSEC1(37).EQ.190) THEN WRITE(GRPRSM,19001) KSEC1(44) NBYTES = 0 DO JLOOP = 1, KSEC1(44) WRITE(GRPRSM,19002) KSEC1(43+JLOOP*2) WRITE(GRPRSM,19003) KSEC1(44+JLOOP*2) NBYTES = NBYTES + KSEC1(44+2*JLOOP) + 8 ENDDO WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) ' Internal local definitions:' WRITE(GRPRSM,*) ' ---------------------------' CALL GRPR190(KSEC1) GOTO 900 ENDIF C C ECMWF Local definition 191. C (Free format data descriptor) C IF (KSEC1(37).EQ.191) THEN WRITE(GRPRSM,19101) KSEC1(44) WRITE(GRPRSM,19102) KSEC1(45) WRITE(GRPRSM,19103) KSEC1(46) WRITE(GRPRSM,19108) KSEC1(51) WRITE(GRPRSM,*) ' Data descriptor bytes' WRITE(GRPRSM,*) ' ---------------------' DO JLOOP = 52, (51+(KSEC1(51)+JPBYTES-1)/JPBYTES) WRITE(GRPRSM,19109) KSEC1(JLOOP) ENDDO GOTO 900 ENDIF C C ECMWF Local definition not in above selection C (eg defined using templates) C IF( NDBG.EQ.0 ) CALL LDEFPRT(GRPRSM,KSEC1) GOTO 900 C ENDIF C C -----------------------------------------------------------------| C* Section 3 . Print Washington ensemble product information. C -----------------------------------------------------------------| C 300 CONTINUE C C Washington EPS products (but not reformatted Washington EPS C products. IF ((KSEC1(2).EQ.7.AND.KSEC1(24).EQ.1).AND. X (.NOT.KSEC1(22).EQ.98) ) THEN CALL KWPRS1 (KSEC0,KSEC1) ENDIF C C C -----------------------------------------------------------------| C* Section 9 . Format statements. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN C 9000 FORMAT(' ') 9001 FORMAT(' Section 1 - Product Definition Section.') 9002 FORMAT(' ---------------------------------------') 9100 FORMAT(' Code Table 2 Version Number. ',I9) 9101 FORMAT(' Originating centre identifier. ',I9) 9102 FORMAT(' Model identification. ',I9) 9103 FORMAT(' Grid definition. ',I9) 9104 FORMAT(' Flag (Code Table 1) ',I8.8) 9105 FORMAT(' Parameter identifier (Code Table 2). ',I9) 9106 FORMAT(' Type of level (Code Table 3). ',I9) 9107 FORMAT(' Value 1 of level (Code Table 3). ',I9) 9108 FORMAT(' Value 2 of level (Code Table 3). ',I9) 9109 FORMAT(' Year of reference time of data. ',I9,' (',I4,')' ) 9110 FORMAT(' Month of reference time of data. ',I9) 9111 FORMAT(' Day of reference time of data. ',I9) 9112 FORMAT(' Hour of reference time of data. ',I9) 9113 FORMAT(' Minute of reference time of data. ',I9) 9114 FORMAT(' Time unit (Code Table 4). ',I9) 9115 FORMAT(' Time range one. ',I9) 9116 FORMAT(' Time range two. ',I9) 9117 FORMAT(' Time range indicator (Code Table 5) ',I9) 9118 FORMAT(' Number averaged. ',I9) 9119 FORMAT(' Number missing from average. ',I9) 9120 FORMAT(' Century of reference time of data. ',I9) 9121 FORMAT(' Units decimal scaling factor. ',I9) 9122 FORMAT(' Century of reference time of data. Not given') 9123 FORMAT(' Sub-centre identifier. ',I9) 9206 FORMAT(' Satellite identifier. ',I9) 9207 FORMAT(' Spectral band. ',I9) C 9301 FORMAT(' ECMWF local usage identifier. ',I9) 9302 FORMAT(' Class. ',I9) 9303 FORMAT(' Type. ',I9) 9304 FORMAT(' Stream. ',I9) 9305 FORMAT(' Version number or Experiment identifier. ',A1,A1,A1,A1) 9306 FORMAT(' Satellite spectral band. ',I9) 9307 FORMAT(' Function code. ',I9) 9308 FORMAT(' Simulation number. ',I9) 9309 FORMAT(' Total number of simulations. ',I9) 9310 FORMAT(' Forecast number. ',I9) 9311 FORMAT(' Total number of forecasts. ',I9) 9312 FORMAT(' Cluster number. ',I9) 9313 FORMAT(' Total number of clusters. ',I9) 9314 FORMAT(' Clustering method. ',I9) 9315 FORMAT(' Start time step when clustering. ',I9) 9316 FORMAT(' End time step when clustering. ',I9) 9317 FORMAT(' Northern latitude of domain. ',I9) 9318 FORMAT(' Western longitude of domain. ',I9) 9319 FORMAT(' Southern latitude of domain. ',I9) 9320 FORMAT(' Eastern longitude of domain. ',I9) 9321 FORMAT(' Operational forecast in cluster ',I9) 9322 FORMAT(' Number of forecasts in cluster. ',I9) 9323 FORMAT(' Forecast number ',I9) 9324 FORMAT(' Control forecast in cluster ',I9) C C ECMWF Local definition 4. C 9401 FORMAT(' System number. ',I9) 9402 FORMAT(' Method number. ',I9) 9403 FORMAT(' Space unit flag. ',I9) 9404 FORMAT(' Vertical coordinate definition. ',I9) 9405 FORMAT(' Horizontal coordinate definition. ',I9) 9406 FORMAT(' Time unit flag. ',I9) 9407 FORMAT(' Time coordinate definition. ',I9) 9408 FORMAT(' Method used for analysis or forecast.',I9) C 9411 FORMAT(' Mixed coordinate field flag. ',I9) 9412 FORMAT(' Coordinate 1 flag. ',I9) 9413 FORMAT(' Averaging flag. ',I9) 9414 FORMAT(' Position of level 1. ',I9) 9415 FORMAT(' Position of level 2. ',I9) 9416 FORMAT(' Coordinate 2 flag. ',I9) C 9421 FORMAT(' Coordinate 3 flag (x-axis) ',I9) 9422 FORMAT(' Coordinate 4 flag (y-axis) ',I9) 9423 FORMAT(' Coordinate 4 of first grid point. ',I10) 9424 FORMAT(' Coordinate 3 of first grid point. ',I10) 9425 FORMAT(' Coordinate 4 of last grid point. ',I10) 9426 FORMAT(' Coordinate 3 of last grid point. ',I10) 9427 FORMAT(' i - increment. ',I9) 9428 FORMAT(' j - increment. ',I9) 9429 FORMAT(' Flag for irregular grid coordinates. ',I9) 9430 FORMAT(' Flag for normal or staggered grids. ',I9) C 9441 FORMAT(' Further information flag. ',I9) C 9451 FORMAT(' No. entries in horizontal coordinate ',I9) 9452 FORMAT(' No. entries in mixed coordinate defn.',I9) 9453 FORMAT(' No. entries in grid coordinate list. ',I9) 9454 FORMAT(' No. entries in auxiliary array. ',I9) C 9461 FORMAT(' ',I12) 9462 FORMAT(' Reference date ',I9) 9463 FORMAT(' Climate date - from ',I9) 9464 FORMAT(' Climate date - to ',I9) C C ECMWF Local definition 5. C 9500 FORMAT(' Forecast probability number ',I9) 9501 FORMAT(' Total number of forecast probabilities ',I7) 9502 FORMAT(' Threshold units decimal scale factor ',I9) 9503 FORMAT(' Threshold indicator(1=lower,2=upper,3=both) ',I2) 9504 FORMAT(' Lower threshold value ',I9) 9505 FORMAT(' Upper threshold value ',I9) C C ECMWF Local definition 6. C 9601 FORMAT(' Date of SST field used ',I9) 9602 FORMAT(' Type of SST field (= climatology) ',I9) 9603 FORMAT(' Type of SST field (= 1/1 degree) ',I9) 9604 FORMAT(' Type of SST field (= 2/2 degree) ',I9) 9605 FORMAT(' Number of ICE fields used: ',I9) 9606 FORMAT(' Date of ICE field',I3,' ',I9) 9607 FORMAT(' Satellite number (ICE field',I3,') ',I9) C C ECMWF Local definition 7. C 9700 FORMAT(' Forecast number ',I9) 9701 FORMAT(' Iteration number ',I9) 9702 FORMAT(' Total number of diagnostics ',I9) 9703 FORMAT(' No.interations in diag. minimisation ',I9) 9704 FORMAT(' Domain(0=Global,1=Europe,2=N.Hem.,3=S.Hem.) ',I2) 9705 FORMAT(' Diagnostic number ',I9) C C ECMWF Local definition 8. C 9800 FORMAT(' ERA section 1 octet ',I2,'. ',I9) 9801 FORMAT(' Interval between reference times ',I9) C C ECMWF Local definition 9. C 9943 FORMAT(' Number of iterations ',I9) 9944 FORMAT(' Number of singular vectors computed ',I9) 9945 FORMAT(' Norm used at initial time ',I9) 9946 FORMAT(' Norm used at final time ',I9) 9947 FORMAT(' Multiplication factor ',I9) 9948 FORMAT(' Latitude of north-west corner ',I9) 9949 FORMAT(' Longitude of north-west corner ',I9) 9950 FORMAT(' Latitude of south-east corner ',I9) 9951 FORMAT(' Longitude of south-east corner ',I9) 9952 FORMAT(' Accuracy ',I9) 9953 FORMAT(' Number of singular vectors evolved ',I9) 9954 FORMAT(' Ritz number one ',I9) 9955 FORMAT(' Ritz number two ',I9) 9960 FORMAT(' Perturbed ensemble forecast number ',I9) 9961 FORMAT(' Initial state perturbation number ',I9) 9962 FORMAT(' Singular vector number ',I9) C C ECMWF Local definition 10. C 1001 FORMAT(' Tube number ',I9) 1002 FORMAT(' Total number of tubes ',I9) 1003 FORMAT(' Central cluster definition ',I9) 1004 FORMAT(' Parameter ',I9) 1005 FORMAT(' Type of level ',I9) 1006 FORMAT(' Northern latitude of domain of tubing',I9) 1007 FORMAT(' Western longitude of domain of tubing',I9) 1008 FORMAT(' Southern latitude of domain of tubing',I9) 1009 FORMAT(' Eastern longitude of domain of tubing',I9) 1010 FORMAT(' Tube number of operational forecast ',I9) 1011 FORMAT(' Tube number of control forecast ',I9) 1012 FORMAT(' Height/pressure of level ',I9) 1013 FORMAT(' Reference step ',I9) 1014 FORMAT(' Radius of central cluster ',I9) 1015 FORMAT(' Ensemble standard deviation ',I9) 1016 FORMAT(' Dist.of tube extreme to ensemble mean',I9) 1017 FORMAT(' Number of forecasts in the tube ',I9) 1018 FORMAT(' List of ensemble forecast numbers:') 1019 FORMAT(' ',I9) C C ECMWF Local definition 11. C 1101 FORMAT(' Details of analysis which used the supplementary data:') 1103 FORMAT(' Class ',I9) 1104 FORMAT(' Type ',I9) 1105 FORMAT(' Stream ',I9) 1106 FORMAT(' Version number/experiment identifier: ',A1,A1,A1,A1) 1107 FORMAT(' Year ',I9,' (',I4,')') 1108 FORMAT(' Month ',I9) 1109 FORMAT(' Day ',I9) 1110 FORMAT(' Hour ',I9) 1111 FORMAT(' Minute ',I9) 1112 FORMAT(' Century ',I9) 1113 FORMAT(' Originating centre ',I9) 1114 FORMAT(' Sub-centre ',I9) C C ECMWF Local definition 12. C 1201 FORMAT(' (Mean, average, etc)') 1203 FORMAT(' Start date of the period ', I8) 1204 FORMAT(' Start time of the period ', I4.4) 1205 FORMAT(' Finish date of the period ', I8) 1206 FORMAT(' Finish time of the period ', I4.4) 1207 FORMAT(' Verifying date of the period ', I8) 1208 FORMAT(' Verifying time of the period ', I4.4) 1209 FORMAT(' Code showing method ', I8) 1210 FORMAT(' Number of different time intervals used ', I5) 1211 FORMAT(' List of different time intervals used:') 1212 FORMAT(' - interval ',I5.4, ' used once') 1213 FORMAT(' - interval ',I5.4, ' used twice') 1214 FORMAT(' - interval ',I5.4, ' used ', I5, ' times') C C ECMWF Local definition 13. C 1301 FORMAT(' Direction number ',I9) 1302 FORMAT(' Frequency number ',I9) 1303 FORMAT(' Total number of directions ',I9) 1304 FORMAT(' Total number of frequencies ',I9) 1305 FORMAT(' Scale factor applied to directions ',I9) 1306 FORMAT(' Scale factor applied to frequencies ',I9) 1307 FORMAT(' List of directions:') 1308 FORMAT(' ', I2.2,':', F15.7, ' <-- this field value') 1309 FORMAT(' ', I2.2,':', F15.7) 1310 FORMAT(' List of frequencies:') 1311 FORMAT(' System number (65535 = missing) ',I9) 1312 FORMAT(' Method number (65535 = missing) ',I9) 1313 FORMAT(' Reference date ',I9) 1314 FORMAT(' Climate date (from) ',I9) 1315 FORMAT(' Climate date (to) ',I9) 1316 FORMAT(' Leg base Date ',I9) 1317 FORMAT(' Leg base Time ',I9) 1318 FORMAT(' Leg base Number ',I9) 1319 FORMAT(' Ocean Atmosphere Coupling flag ',I9) C C ECMWF Local definition 14. C 1401 FORMAT(' Channel number ',I9) 1402 FORMAT(' Scale factor applied to frequencies ',I9) 1403 FORMAT(' Total number of frequencies ',I9) 1404 FORMAT(' List of frequencies:') 1405 FORMAT(' ', I3,':', F15.9, ' <-- this channel') 1406 FORMAT(' ', I3,':', F15.9) C C ECMWF Local definition 15. C 1501 FORMAT(' Ensemble member number ',I9) 1502 FORMAT(' System number ',I9) 1503 FORMAT(' Method number ',I9) 1504 FORMAT(' Total number of ensembles ',I9) C C ECMWF Local definition 16. C 1601 FORMAT(' Verifying month ',I9) 1602 FORMAT(' Averaging period ',I9) 1603 FORMAT(' Forecast month (0 = not present) ',I9) C C ECMWF Local definition 17. C 1701 FORMAT(' Date of sst/ice field used ',I9) 1702 FORMAT(' Type of sst/ice field (= climatology)',I9) 1703 FORMAT(' Type of sst/ice field (= 1/1 degree) ',I9) 1704 FORMAT(' Type of sst/ice field (= 2/2 degree) ',I9) 1705 FORMAT(' Number of ICE fields used: ',I9) 1706 FORMAT(' Date of ICE field',I3,' ',I9) 1707 FORMAT(' Satellite number (ICE field',I3,') ',I9) C C ECMWF Local definition 18. C 1801 FORMAT(' Ensemble forecast number ',I9) 1802 FORMAT(' Number of forecasts in ensemble ',I9) 1803 FORMAT(' Data origin ',I9) 1804 FORMAT(' Model identifier of forecast used ',A1,A1,A1,A1) 1805 FORMAT(' Number of analyses in start analysis ',I9) 1806 FORMAT(' ',A1,A1,A1,A1) C C ECMWF Local definition 19. C 1901 FORMAT(' Zero, for Mars compatibility ',I9) 1902 FORMAT(' Ensemble size ',I9) 1903 FORMAT(' Power of 10 used to scale weight (F) ',I9) 1904 FORMAT(' Weight*10**F applied to climate month 1',I7) 1905 FORMAT(' First month used for climate month 1 ',I9) 1906 FORMAT(' Last month used for climate month 1 ',I9) 1907 FORMAT(' First month used for climate month 2 ',I9) 1908 FORMAT(' Last month used for climate month 2 ',I9) 1909 FORMAT(' EFI order ',I9) C C ECMWF Local definition 20. C 2001 FORMAT(' Iteration ',I9) 2002 FORMAT(' Total number of iterations ',I9) C C ECMWF Local definition 21. C 2101 FORMAT(' Forecast/sing.vector/flight number ',I9) 2102 FORMAT(' Number of iterations ',I9) 2103 FORMAT(' Number of singular vectors computed ',I9) 2104 FORMAT(' Norm used at initial time ',I9) 2105 FORMAT(' Norm used at final time ',I9) 2106 FORMAT(' Lat-lon multiplication factor ',I9) 2107 FORMAT(' Area north-west latitude ',I9) 2108 FORMAT(' Area north-west longitude ',I9) 2109 FORMAT(' Area south-east latitude ',I9) 2110 FORMAT(' Area south-east longitude ',I9) 2111 FORMAT(' Accuracy ',I9) 2112 FORMAT(' Number of singular vectors evolved ',I9) 2113 FORMAT(' Ritz number 1 ',I9) 2114 FORMAT(' Ritz number 2 ',I9) 2115 FORMAT(' Observation offset period ',I9) 2116 FORMAT(' Forecast lead time ',I9) 2117 FORMAT(' Domain ',A1) 2118 FORMAT(' Method number ',I9) 2119 FORMAT(' Total forecasts in ensemble ',I9) 2120 FORMAT(' Shape of verification region (flag) ',I9) C C ECMWF Local definition 22 and 23. C 2201 FORMAT(' Reference date ',I9) 2202 FORMAT(' Climate date (from) ',I9) 2203 FORMAT(' Climate date (to) ',I9) C C ECMWF Local definition 24 C 2401 FORMAT(' Satellite identifier (WMO table C-5)',I9) 2402 FORMAT(' Instrument identifier (WMO table C-8)',I9) 2403 FORMAT(' Channel number ',I9) 2404 FORMAT(' Function code ',I9) C C ECMWF Local definition 25 C 2501 FORMAT(' Component index ',I9) 2502 FORMAT(' Number of components ',I9) 2503 FORMAT(' Model error type ',I9) C C ECMWF Local definition 50. C 5001 FORMAT(' Number ',I9) 5002 FORMAT(' Total ',I9) 5003 FORMAT(' Model identifier ',I9) 5004 FORMAT(' Latitude of NW corner (degrees*10^6) ',I9) 5005 FORMAT(' Longitude of NW corner(degrees*10^6) ',I9) 5006 FORMAT(' Latitude of SE corner (degrees*10^6) ',I9) 5007 FORMAT(' Longitude of SE corner(degrees*10^6) ',I9) 5008 FORMAT(' Original parameter number ',I9) 5009 FORMAT(' Original parameter table number ',I9) 5010 FORMAT(10(1X,Z8.8)) C C ECMWF Local definition 190. C 19001 FORMAT(' Number of ECMWF local definitions ',I9) 19002 FORMAT(' ECMWF local definition number ',I9) 19003 FORMAT(' Number of bytes in local definition ',I9) #ifdef INTEGER_8 19004 FORMAT(3X,Z16.16) #else 19004 FORMAT(3X,Z8.8) #endif C C ECMWF Local definition 191. C 19101 FORMAT(' Format version major number ',I9) 19102 FORMAT(' Format version minor number ',I9) 19103 FORMAT(' Original sub-centre identifier ',I9) 19108 FORMAT(' Number of bytes of data descriptor ',I9) #ifdef INTEGER_8 19109 FORMAT(3X,Z16.16) #else 19109 FORMAT(3X,Z8.8) #endif C END emoslib-000392+dfsg.1/gribex/analsw.F0000755000175000017500000004054412127406245020344 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ANALSW(IBLOCKS,LOGICS,ILENGL,INTEGS,ILENGI, S REALSW,ILENGR) C----> C C G.K.SAKELLARIDES ECMWF 15/10/85. C C PURPOSE. C -------- C C TO GET AS OUTPUT THE NAME AND CONTENT OF VARIABLES WHICH C APPEAR IN THE DECODED MARS MODEL SWITCH RECORD C C** INTERFACE. C ---------- C C *CALL* *ALALSW(IBLOCKS,LOGICS,ILENGL,INTEGS,ILENGI,REALSW, C ILENGR) C WHERE: C INPUT PARAMETERS C 1.*IBLOCKS* INTEGER ARRAY OF LENGTH 29 CONTAINING C THE FOLLOWING INFORMATIONS OF BLOCK1. C 2.*LOGICS* LOGICAL ARRAY WHICH CONTAINS THE LOGICALS. C 3.*ILENGL* ACTUAL LENGTH OF LOGICALS C 4.*INSOUT* INTEGER ARRAY WHICH CONTAINS THE INTEGER C 5.*ILENGI* ACTUAL LENGTH OF INTEGER C 6.*REALSW* REAL ARRAY WHICH CONTAINS THE REALS. C 7.*ILENGR* ACTUAL LENGTH OF REALS C C EXTERNALS. C ---------- C C *NONE* C----< C CHARACTER *45,Y1(26),YL(26) CHARACTER *12,YY CHARACTER *45,YI1(6),YI2,YI3(14),YI4,YI5,YI6(10),YI7,YI8,YI9 CHARACTER *45,YR1(2),YR2,YR3(53),YR4,YR5,YR6,YR7,YR8(26) DIMENSION INTEGS(*),REALSW(*),IBLOCKS(*) LOGICAL LOGICS(*) DATA YY/' POSITION='/ DATA (Y1(I),I=1,14) D /' G =', D ' R =', D ' I =', D ' B =', D 'IDENTIFICATION OF CENTRE. =', D 'MODEL IDENTIFICATION =', D 'GRID DEFINITION =', D 'FLAG (CODE TABLE 1) =', D 'PARAM. INDICATING THE MARS MODEL SWITCH REC.=', D 'TYPE OF LEVEL (CODE TABLE 3) =', D 'VALUE 1 OF LEVEL (CODE TABLE 3) =', D 'VALUE 2 OF LEVEL (CODE TABLE 3) =', D 'YEAR OF INITIAL DATA =', D 'MONTH OF INITIAL DATA ='/ DATA (Y1(I),I=15,26) D /'DAY OF INITIAL DATA =', D 'HOUR OF INITIAL DATA =', D 'MINUTE OF INITIAL DATA =', D 'TIME UNIT (CODE TABLE 4) =', D 'TIME RANGE 1 =', D 'TIME RANGE 2 =', D 'TIME RANGE FLAG (CODE TABLE 5) =', D 'LENGTH OF DATA BLOCK (OCTET) =', D 'STARTING ADDRESS OF LOGICAL SECTION(OCTET) =', D 'STARTING ADDRESS OF INTEGER SECTION(OCTET) =', D 'STARTING ADDRESS OF REAL SECTION(OCTET) =', D 'LENGTH OF REAL SECTION(OCTET) ='/ DATA (YL(I),I=1,15) D /'LZLS LOGICAL FROM COMMON *COMDIZ* =', D 'LSIMDT LOGICAL FROM COMMON *COMDSW* =', D 'LSIMZQ LOGICAL FROM COMMON *COMDSW* =', D 'LVTMPC1 LOGICAL FROM COMMON *COMDSW* =', D 'LVTMPC2 LOGICAL FROM COMMON *COMDSW* =', D 'LLDIFF LOGICAL FROM COMMON *COMNMI* =', D 'LLROSS LOGICAL FROM COMMON *COMNMI* =', D 'LLPROJ LOGICAL FROM COMMON *COMNMI* =', D 'LLZA LOGICAL FROM COMMON *COMNMI* =', D 'LLPSRS LOGICAL FROM COMMON *COMNMI* =', D 'LLTEND LOGICAL FROM COMMON *COMNMI* =', D 'LLDIAB LOGICAL FROM COMMON *COMNMI* =', D 'LLFILT LOGICAL FROM COMMON *COMNMI* =', D 'LPHYS LOGICAL FROM COMMON *COMPSW* =', D 'LVDIFF LOGICAL FROM COMMON *COMPSW* ='/ DATA (YL(I),I=16,26) D /'LKUO LOGICAL FROM COMMON *COMPSW* =', D 'LCOND LOGICAL FROM COMMON *COMPSW* =', D 'LQNEGAT LOGICAL FROM COMMON *COMPSW* =', D 'LSURF LOGICAL FROM COMMON *COMPSW* =', D 'LSCV LOGICAL FROM COMMON *COMPSW* =', D 'LKUO0 LOGICAL FROM COMMON *COMPSW* =', D 'LESFT LOGICAL FROM COMMON *COMPSW* =', D 'LEVAP LOGICAL FROM COMMON *COMPSW* =', D 'LSNRN LOGICAL FROM COMMON *COMPSW* =', D 'LRAD LOGICAL FROM COMMON *COMRSW* =', D 'LDIUR LOGICAL FROM COMMON *COMRSW* ='/ DATA YI1/'NCYCLE INTEGER FROM COMMON *COMDOC* =', D 'NVERS INTEGER FROM COMMON *COMDOC* =', D 'NM INTEGER FROM COMMON *COMCTL* =', D 'NN INTEGER FROM COMMON *COMCTL* =', D 'NK INTEGER FROM COMMON *COMCTL* =', D 'NGL INTEGER FROM COMMON *COMCTL* ='/ DATA YI2/'NLON( ) INTEGER FROM COMMON *COMCTL* ='/ DATA YI3/'NLEV INTEGER FROM COMMON *COMCTL* =', D 'NVCLEV INTEGER FROM COMMON *COMCTL* =', D 'NUMZLS INTEGER FROM COMMON *COMDIZ* =', D 'NFRZLS INTEGER FROM COMMON *COMDIZ* =', D 'NDTSCVL INTEGER FROM COMMON *COMDIZ* =', D 'NDTSCVS INTEGER FROM COMMON *COMDIZ* =', D 'NDQSCVL INTEGER FROM COMMON *COMDIZ* =', D 'NDQSCVS INTEGER FROM COMMON *COMDIZ* =', D 'NDUSCVL INTEGER FROM COMMON *COMDIZ* =', D 'NDUSCVS INTEGER FROM COMMON *COMDIZ* =', D 'NDVSCVL INTEGER FROM COMMON *COMDIZ* =', D 'NDVSCVS INTEGER FROM COMMON *COMDIZ* =', D 'NDESCVL INTEGER FROM COMMON *COMDIZ* =', D 'NDESCVS INTEGER FROM COMMON *COMDIZ* ='/ DATA YI4/'NLANDP( ) INTEGER FROM COMMON *COMDIZ* ='/ DATA YI5/'NSEAP( ) INTEGER FROM COMMON *COMDIZ* ='/ DATA YI6/'NMASKA INTEGER FROM COMMON *COMMSK* =', D 'NMASKV INTEGER FROM COMMON *COMMSK* =', D 'NFRMSK INTEGER FROM COMMON *COMMSK* =', D 'NFRMSKP INTEGER FROM COMMON *COMMSK* =', D 'NRSLT INTEGER FROM COMMON *COMMSK* =', D 'NITNINI INTEGER FROM COMMON *COMNMI* =', D 'NDIFFST INTEGER FROM COMMON *COMNMI* =', D 'NVM INTEGER FROM COMMON *COMNMI* =', D 'NRADFR INTEGER FROM COMMON *COMRSW* =', D 'NRINT INTEGER FROM COMMON *COMRSW* ='/ DATA YI7/'NTRM( ) INTEGER FROM COMMON *COMTRU* ='/ DATA YI8/'NTRN( ) INTEGER FROM COMMON *COMTRU* ='/ DATA YI9/'NTRK( ) INTEGER FROM COMMON *COMTRU* ='/ DATA YR1/'DTIME REAL FROM COMMON *COMCTL* =', D 'EPS REAL FROM COMMON *COMCTL* ='/ DATA YR2/'VCT( ) REAL FROM COMMON *COMCTL* ='/ DATA (YR3(I),I=1,15) D /'CDIATS REAL FROM COMMON *COMDIA* =', D 'CDIATD REAL FROM COMMON *COMDIA* =', D 'CDIAWD REAL FROM COMMON *COMDIA* =', D 'GPEO REAL FROM COMMON *COMDIA* =', D 'GKEO REAL FROM COMMON *COMDIA* =', D 'GQMO REAL FROM COMMON *COMDIA* =', D 'GTSO REAL FROM COMMON *COMDIA* =', D 'GTDO REAL FROM COMMON *COMDIA* =', D 'GWSO REAL FROM COMMON *COMDIA* =', D 'GWDO REAL FROM COMMON *COMDIA* =', D 'GSNO REAL FROM COMMON *COMDIA* =', D 'DSRADO REAL FROM COMMON *COMDIA* =', D 'DTRADO REAL FROM COMMON *COMDIA* =', D 'DSRADS REAL FROM COMMON *COMDIA* =', D 'DTRADS REAL FROM COMMON *COMDIA* ='/ DATA (YR3(I),I=16,30) D /'DVDIS REAL FROM COMMON *COMDIA* =', D 'DHFS REAL FROM COMMON *COMDIA* =', D 'DEVAP REAL FROM COMMON *COMDIA* =', D 'DCVFR REAL FROM COMMON *COMDIA* =', D 'DCVQAC REAL FROM COMMON *COMDIA* =', D 'DCVMOI REAL FROM COMMON *COMDIA* =', D 'DCVGR REAL FROM COMMON *COMDIA* =', D 'DCVGS REAL FROM COMMON *COMDIA* =', D 'DCVMS REAL FROM COMMON *COMDIA* =', D 'DCVER REAL FROM COMMON *COMDIA* =', D 'DCVES REAL FROM COMMON *COMDIA* =', D 'DLSGR REAL FROM COMMON *COMDIA* =', D 'DLSGS REAL FROM COMMON *COMDIA* =', D 'DLSMS REAL FROM COMMON *COMDIA* =', D 'DLSER REAL FROM COMMON *COMDIA* ='/ DATA (YR3(I),I=31,45) D /'DLSES REAL FROM COMMON *COMDIA* =', D 'DSSRAD REAL FROM COMMON *COMDIA* =', D 'DSTRAD REAL FROM COMMON *COMDIA* =', D 'DSHFL REAL FROM COMMON *COMDIA* =', D 'DSDTFL REAL FROM COMMON *COMDIA* =', D 'DSLSR REAL FROM COMMON *COMDIA* =', D 'DSLSS REAL FROM COMMON *COMDIA* =', D 'DSCVR REAL FROM COMMON *COMDIA* =', D 'DSCVS REAL FROM COMMON *COMDIA* =', D 'DSEVW REAL FROM COMMON *COMDIA* =', D 'DSEVI REAL FROM COMMON *COMDIA* =', D 'DSDWFL REAL FROM COMMON *COMDIA* =', D 'DSSNMT REAL FROM COMMON *COMDIA* =', D 'DDCTFL REAL FROM COMMON *COMDIA* =', D 'DDCWFL REAL FROM COMMON *COMDIA* ='/ DATA (YR3(I),I=46,53) D /'DSROS REAL FROM COMMON *COMDIA* =', D 'DSROD REAL FROM COMMON *COMDIA* =', D 'DADCON REAL FROM COMMON *COMDIA* =', D 'DIFVO REAL FROM COMMON *COMHDI* =', D 'DIFD REAL FROM COMMON *COMHDI* =', D 'DIFT REAL FROM COMMON *COMHDI* =', D 'DIFQ REAL FROM COMMON *COMHDI* =', D 'CDRAG REAL FROM COMMON *COMHDI* ='/ DATA YR4/'ALATN( ) REAL FROM COMMON *COMMSK* ='/ DATA YR5/'ALATS( ) REAL FROM COMMON *COMMSK* ='/ DATA YR6/'ALONE( ) REAL FROM COMMON *COMMSK* ='/ DATA YR7/'ALONW( ) REAL FROM COMMON *COMMSK* ='/ DATA (YR8(I),I=1,15) D /'DTINIT ) REAL FROM COMMON *COMNMI* =', D 'DTDIFF ) REAL FROM COMMON *COMNMI* =', D 'PHYFIL REAL FROM COMMON *COMNMI* =', D 'WSMAX REAL FROM COMMON *COMPSW* =', D 'BETADT REAL FROM COMMON *COMSIM* =', D 'BETAZQ REAL FROM COMMON *COMSIM* =', D 'APR REAL FROM COMMON *COMSIM* =', D 'TR REAL FROM COMMON *COMSIM* =', D 'VCRIT REAL FROM COMMON *COMSIM* =', D 'HDAMP REAL FROM COMMON *COMSIM* =', D 'GVO REAL FROM COMMON *COMSTA* =', D 'GD REAL FROM COMMON *COMSTA* =', D 'GQ REAL FROM COMMON *COMSTA* =', D 'GT REAL FROM COMMON *COMSTA* =', D 'GPS REAL FROM COMMON *COMSTA* ='/ DATA (YR8(I),I=16,26) D /'GKE REAL FROM COMMON *COMSTA* =', D 'GPE REAL FROM COMMON *COMSTA* =', D 'GTE REAL FROM COMMON *COMSTA* =', D 'GLQ REAL FROM COMMON *COMSTA* =', D 'GTPE REAL FROM COMMON *COMSTA* =', D 'GQM REAL FROM COMMON *COMSTA* =', D 'GTS REAL FROM COMMON *COMSTA* =', D 'GTD REAL FROM COMMON *COMSTA* =', D 'GWS REAL FROM COMMON *COMSTA* =', D 'GWD REAL FROM COMMON *COMSTA* =', D 'GSN REAL FROM COMMON *COMSTA* ='/ C C* 1. LOCAL VARIABLES C 100 CONTINUE INGL=INTEGS(6) INVCLEV=INTEGS(6+INGL+2) INLEV=INTEGS(6+INGL+1) C INDEX FOR INTEGERS J1A=1 J1T=6 J2A=J1T+1 J2T=J2A+INGL-1 J3A=J2T+1 J3T=J3A+14-1 J4A=J3T+1 J4T=J4A+INGL-1 J5A=J4T+1 J5T=J5A+INGL-1 J6A=J5T+1 J6T=J6A+10-1 J7A=J6T+1 J7T=J7A+INLEV-1 J8A=J7T+1 J8T=J8A+INLEV-1 J9A=J8T+1 J9T=J9A+INLEV-1 C INDEX FOR REALS I1A=1 I1T=I1A+2-1 I2A=I1T+1 I2T=I2A+2*INVCLEV-1 I3A=I2T+1 I3T=I3A+53-1 I4A=I3T+1 I4T=I4A+32-1 I5A=I4T+1 I5T=I5A+32-1 I6A=I5T+1 I6T=I6A+32-1 I7A=I6T+1 I7T=I7A+32-1 I8A=I7T+1 I8T=I8A+26-1 PRINT*,' J9T=',J9T,'INTL=',ILENGI,'I8T=',I8T,'REAL=',ILENGR IF (I8T.NE.ILENGR) THEN GO TO 900 ENDIF C C* 2.BLOCK 0 AND 1 C 200 CONTINUE IMET=0 WRITE(*,1100) DO 210 I=1,29 IF (I.EQ.22.OR.I.EQ.23.OR.I.EQ.24) THEN GO TO 210 ENDIF IMET=IMET+1 WRITE(*,'(1X,A,I6,1X,A,I4)') Y1(IMET),IBLOCKS(I),YY,I 210 CONTINUE C C* 3.LOGICALS C 300 CONTINUE WRITE(*,1200) DO 310 I=1,ILENGL WRITE(*,'(1X,A,L6,1X,A,I4)') YL(I),LOGICS(I),YY,I 310 CONTINUE C C* 4.INTEGER C 400 CONTINUE WRITE(*,1300) DO 410 I=J1A,J1T WRITE(*,'(1X,A,I6,1X,A,I4)') YI1(I),INTEGS(I),YY,I 410 CONTINUE DO 420 I=J2A,J2T WRITE(*,'(1X,A,I6,1X,A,I4)') YI2,INTEGS(I),YY,I 420 CONTINUE META3=0 DO 430 I=J3A,J3T META3=META3+1 WRITE(*,'(1X,A,I6,1X,A,I4)') YI3(META3),INTEGS(I),YY,I 430 CONTINUE DO 440 I=J4A,J4T WRITE(*,'(1X,A,I6,1X,A,I4)') YI4,INTEGS(I),YY,I 440 CONTINUE DO 450 I=J5A,J5T WRITE(*,'(1X,A,I6,1X,A,I4)') YI5,INTEGS(I),YY,I 450 CONTINUE META6=0 DO 460 I=J6A,J6T META6=META6+1 WRITE(*,'(1X,A,I6,1X,A,I4)') YI6(META6),INTEGS(I),YY,I 460 CONTINUE DO 470 I=J7A,J7T WRITE(*,'(1X,A,I6,1X,A,I4)') YI7,INTEGS(I),YY,I 470 CONTINUE DO 480 I=J8A,J8T WRITE(*,'(1X,A,I6,1X,A,I4)') YI8,INTEGS(I),YY,I 480 CONTINUE DO 490 I=J9A,J9T WRITE(*,'(1X,A,I6,1X,A,I4)') YI9,INTEGS(I),YY,I 490 CONTINUE C C* 5. REALS C 500 CONTINUE WRITE(*,1400) DO 510 I=I1A,I1T WRITE(*,'(1X,A,G12.6,1X,A,I4)') YR1(I),REALSW(I),YY,I 510 CONTINUE DO 520 I=I2A,I2T WRITE(*,'(1X,A,G12.6,1X,A,I4)') YR2,REALSW(I),YY,I 520 CONTINUE METR3=0 DO 530 I=I3A,I3T METR3=METR3+1 WRITE(*,'(1X,A,G12.6,1X,A,I4)') YR3(METR3),REALSW(I),YY,I 530 CONTINUE DO 540 I=I4A,I4T WRITE(*,'(1X,A,G12.6,1X,A,I4)') YR4,REALSW(I),YY,I 540 CONTINUE DO 550 I=I5A,I5T WRITE(*,'(1X,A,G12.6,1X,A,I4)') YR5,REALSW(I),YY,I 550 CONTINUE DO 560 I=I6A,I6T WRITE(*,'(1X,A,G12.6,1X,A,I4)') YR6,REALSW(I),YY,I 560 CONTINUE DO 570 I=I7A,I7T WRITE(*,'(1X,A,G12.6,1X,A,I4)') YR7,REALSW(I),YY,I 570 CONTINUE METR8=0 DO 580 I=I8A,I8T METR8=METR8+1 WRITE(*,'(1X,A,G12.6,1X,A,I4)') YR8(METR8),REALSW(I),YY,I 580 CONTINUE C C* 6. RETURN C 600 CONTINUE C RETURN C C C* 9.ERRORS C 900 CONTINUE WRITE(*,9901) WRITE(*,'(A)') 'ERROR IN THE LENGTH OF REALS' CALL ENDRUN STOP 9901 FORMAT('ERROR IN SUBROUTINE ANALSW') C C* C 1100 FORMAT('1',20X,'VARIABLES OF BLOCK 0 AND 1') 1200 FORMAT('1',20X,'LOGICAL') 1300 FORMAT('1',20X,'INTEGER') 1400 FORMAT('1',20X,'REAL ') END emoslib-000392+dfsg.1/gribex/groutpt.F0000755000175000017500000000466012127406245020562 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GROUTPT() C C----> C**** GROUTPT C C Purpose. C -------- C Changes diagnostic output stream if defined by environment variable. C C** Interface. C ---------- C CALL GROUTPT() C C C Input Parameters. C ----------------- C None. C C C Output Parameters. C ------------------ C None. C C C Method. C ------- C Checks environment variable GRPRS_STREAM for output stream number C for printing (default is 6) C C C Externals. C ---------- C Common block GRPRSCM. C C C Reference. C ---------- C None. C C C Comments. C --------- C None. C C C Author. C ------- C C J.D.Chambers ECMWF June 2002 C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C C C Local variables C INTEGER IOFFSET CHARACTER*10 YNUMBER C C -----------------------------------------------------------------| C* Section 1 . C -----------------------------------------------------------------| C 100 CONTINUE C C See if output stream needs changing C CALL GETENV('GRPRS_STREAM', YNUMBER) IOFFSET = INDEX( YNUMBER, ' ') IF( IOFFSET.GT.1 ) THEN IF( IOFFSET.EQ.2 ) THEN READ(YNUMBER,'(I1.1)') GRPRSM ELSE IF( IOFFSET.EQ.3 ) THEN READ(YNUMBER,'(I2.2)') GRPRSM ELSE WRITE(GRPRSM,*) X 'GROUTPT: Invalid value for GRPRS_STREAM: ' // YNUMBER GRPRSM = 6 ENDIF ELSE GRPRSM = 6 ENDIF C IF( GRPRSM.LT.1 ) THEN WRITE(*,*) 'GROUTPT: Invalid number for GRPRS_STREAM: ', GRPRSM GRPRSM = 6 ENDIF C C -----------------------------------------------------------------| C* Section 9 . Format statements. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/sources.ibm_power40000755000175000017500000000661612127406245022426 0ustar amckinstryamckinstry# # Sources for libemos/gribex for rs6000. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gsbite.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/ldc1cr.F0000755000175000017500000004405112127406245020224 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE LDC1CR (HVERB,HOWN,HEXP,HTYP,HCLS,HSTR,HRUT,KPR,KRC) C C C----> C**** LDC1CR C C PURPOSE. C -------- C C LIST ALL NODES AND FILES FOR A GIVEN RESEARCH EXPERIMENT. C FILES AND NODES UNDER OPERATIONS TEST ROOT-NODE MATST CAN C ALSO BE LISTED. OPERATIONAL ARCHIVES CANNOT BE LISTED - C THE VOLUME IS FAR TOO GREAT. C C REMOVE ALL NODES AND FILES FOR A GIVEN RESEARCH EXPERIMENT. C FILES AND NODES UNDER OPERATIONS TEST ROOT-NODE MATST CAN C ALSO BE REMOVED. OPERATIONAL ARCHIVES CANNOT BE REMOVED. C C** INTERFACE. C ---------- C C CALL LDC1CR (HVERB,HOWN,HEXP,HTYP,HCLS,HSTR,HRUT,KPR,KRC) C C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C INPUT PARAMETERS. C ----------------- C C HVERB - ACTION REQUIRED. 'LIST' OR 'REMOVE' C C HOWN - OWNER'S PASSWORD. 6 CHARACTERS FOR C RESEARCH EXPERIMENT, 5 FOR OPERATIONS. C C HEXP - 4 CHARACTER EXPERIMENT IDENTIFIER. C C HSTR - ARCHIVE STREAM. C FOR RESEARCH. C DA - DAILY ARCHIVE. C FOR OPERATIONS. C DA - DAILY ARCHIVE. C CH - CHERNOBYL ARCHIVE. C TG - TOGA ARCHIVE. C MO - MONTHLY ARCHIVE. C C HTYP - DATA TYPE. C AN - ANALYSIS. C IA - INITIALISED ANALYSIS. C FG - FIRST GUESS. C FC - FORECAST. C EA - ERRORS IN ANALYSIS. C CL - CLIMATOLOGY. C ALL - ALL TYPES. C C HCLS - OD , OPERATIONS. C RD , RESEARCH. C C HRUT - ROOT NODE TO BE USED. C FOR RESEARCH. C P , PRODUCTION ROOT MARSR. C T , TEST ROOT MATSR. C FOR OPERATIONS. C P , PRODUCTION ROOT MARST. C O , OLD PRODUCTION ROOT MARSO. C T , TEST ROOT MATST. C C KPR - DEBUG PRINT SWITCH. C 0 , NO PRINTOUT. C 1 , DEBUG PRINTOUT. C C OUTPUT PARAMETERS. C ------------------ C C KRC - ERROR RETURN CODE. C 0 - NO ERROR ENCOUNTERED. C 1 - EXPERIMENT DOES NOT EXIST C 2 - EXPERIMENT IDIDENTIFIER NOT 4 CHARACTERS. C 3 - ACTION ATTEMPTED ON OPERATIONAL NODES OR C FILES. C 4 - ERROR REPORTED BY ECFILE. C 5 - OWNER PASSWORD INCORRECT LENGTH. C 6 - NO FREE FORTRAN UNIT NUMBERS. C C C METHOD. C ------- C C EXPERIMENT IDENTIFIER , DATA TYPE, CLASS AND ROOT ARE USED C TO DETERMINE NODES AND FILES, WHICH ARE THEN LISTED. C THE LIST IS USED TO DELETE NODES AND FILES IF REQUESTED. C C EXTERNALS. C ---------- C C ECFILE C L2U1CR C C REFERENCE. C ---------- C C NONE. C C COMMENTS. C --------- C C PROGRAM CONTAINS SECTIONS 0 TO 6 AND SECTION 9. C C C AUTHOR. C ------- C C J.HENNESSY ECMWF 04:07:89. C C MODIFICATIONS C -------------- C C NONE. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. SET INITIAL VALUES. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C C C C C DIMENSION YPATH(3) DIMENSION YIU(6) DIMENSION IU(6) DIMENSION IREASON(5) C CHARACTER*1 YCOMMA,YSTOP CHARACTER*2 YIU CHARACTER*5 YPATHC C CHARACTER*8 HVERB CHARACTER*6 HOWN CHARACTER*4 HEXP CHARACTER*2 HSTR CHARACTER*4 HTYP CHARACTER*2 HCLS CHARACTER*1 HRUT C CHARACTER*7 YLFNIN CHARACTER*11 YLSTNA CHARACTER*15 YNODE CHARACTER*17 YPATH CHARACTER*80 YLINE1 CHARACTER*80 YLINE2 CHARACTER*80 YPATH1 CHARACTER*80 YPATH2 C YLSTNA = 'FN=LIST,NA,' YCOMMA = ',' YSTOP = '.' C C DEFAULT VALUES FOR NODES/FILES ARE RESEARCH PRODUCTION NODES AND C FILES. C YPATHC = 'PATH=' YPATH(1) = '/MARSR ' YPATH(2) = '/CACHE/MARSR ' YPATH(3) = '/MARSBACKUP/MARSR' C C CHECK IF ACTION REQUIRED ON RESEARCH TEST ROOT. C IF (HCLS.EQ.'RD'.AND.HRUT.EQ.'T') C THEN YPATH(1) = '/MATSR ' YPATH(2) = '/CACHE/MATSR ' YPATH(3) = '/MARSBACKUP/MATSR' ENDIF C C CHECK IF ACTION REQUIRED ON OPERATIONS TEST ROOT. C IF (HCLS.EQ.'OD'.AND.HRUT.EQ.'T') C THEN YPATH(1) = '/MATST ' YPATH(2) = '/CACHE/MATST ' YPATH(3) = '/MARSBACKUP/MATST' ENDIF C C CHECK FOR ATTEMPTED ACTION ON OPERATIONS PRODUCTION ROOTS. C IF (HCLS.EQ.'OD'.AND.HRUT.NE.'T') C THEN KRC = 3 WRITE (*,9100) GO TO 9000 ENDIF C C GET 6 UNUSED FORTRAN UNIT NUMBERS. C DO 10 J10 =1,6 CALL FTN1CR (IU(J10),KPR,ISERR) IF (ISERR.NE.0) C THEN WRITE (*,9800) KRC = 6 GO TO 9000 ENDIF WRITE (YIU(J10),'(I2.2)') IU(J10) OPEN (UNIT=IU(J10),STATUS='SCRATCH') 10 CONTINUE C C C JLOOP = 0 KRC = 0 IFLAG = 0 C C C C C C C C C C C* SECTION 1 . PREPARE LIST COMMAND USING PATHNAME AND GET NODE1. C ---------------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'LDC1CR : SECTION 1' C C* GO TO SECTION 9 IF ERROR IN EXPERIMENT IDENTIFIER . C I = INDEX (HEXP,' ') IF (I.NE.0) C THEN KRC = 2 WRITE(*,9300) HEXP IFLAG = 1 GO TO 9000 ENDIF C C* IF ACTION IS 'REMOVE' CHECK PASSWORD LENGTH. C IF (HVERB.EQ.'REMOVE ') C THEN IL = INDEX (HOWN,' ') IF (IL.EQ.6) IL = 5 IF (IL.EQ.0) IL = 6 IF (IL.EQ.5.AND.HCLS.NE.'OD') KRC = 5 IF (IL.EQ.6.AND.HCLS.NE.'RD') KRC = 5 IF (KRC.NE.0) C THEN WRITE (*,9400) HOWN GO TO 9000 ENDIF ENDIF C C LOOP ROUTINE FOR EACH TYPE OF PATHNAME C C IF JLOOP = 1 LOOK FOR NODES BEGINNING WITH /MARSR C IF JLOOP = 2 LOOK FOR NODES BEGINNING WITH /CACHE/MARSR C IF JLOOP = 3 LOOK FOR NODES BEGINNING WITH /MARSBACKUP/MARSR C JLOOP = JLOOP + 1 IF (JLOOP.GT.3) GO TO 6000 C C* REWIND ALL FILES AT BEGINNING OF EACH LOOP C REWIND IU(1) REWIND IU(2) REWIND IU(3) REWIND IU(4) C YLFNIN = 'L=FT' // YIU(1) YLINE1(1:) = ' ' YLINE1(1:11) = YLSTNA YLINE1(12:17) = YLFNIN YLINE1(18:18) = YCOMMA YLINE1(19:23) = YPATHC YLINE1(24:) = YPATH(JLOOP) C IJ = INDEX(YLINE1,' ') YLINE1(IJ:IJ) = YSTOP C IF (KPR.EQ.1) WRITE (*,'(1X,A80)') YLINE1 C CALL ECFILE (IERR,IREASON,YLINE1) C C* TRAP CFS RETURN CODES FOR FILE/NODE DOES NOT EXIST. C IF (IERR .EQ. 9. C AND.IREASON(1).EQ.1. C AND.IREASON(2).EQ.1. C AND.IREASON(3).EQ.33) GO TO 1000 C C* GO TO SECTION 9 , IF ANY OTHER ERROR REPORTED. C IF (IERR.NE.0) C THEN C KRC = 4 WRITE (*,9500) IERR, IREASON WRITE (*,9600) YLINE1 GO TO 9000 ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 2 . ISSUE LIST COMMAND(S) USING PATHNAME/NODE1/EXPID. C --------------------------------------------------------------- C C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'LDC1CR : SECTION 2' C C CREATE EACH PATHNAME + NODE(S) C IF TYPE = ALL THEN LIST ALL TYPES C REWIND IU(1) C 2100 CONTINUE READ (IU(1),'(A80)',END=6000) YLINE1 CALL L2U1CR (YLINE1) IF (YLINE1(19:22).NE.'DESC') GO TO 2100 C C 2200 CONTINUE READ (IU(1),'(A80)',END=6000) YLINE1 CALL L2U1CR (YLINE1) IF (YLINE1(19:22).EQ.' ') GO TO 1000 C IF (HTYP(1:3).EQ.'ALL') GO TO 2220 IF (HTYP(1:2).NE.YLINE1(19:20)) GO TO 2200 C 2220 CONTINUE YNODE = '/' // YLINE1(19:20) // '/' // HEXP IF (JLOOP .EQ. 1) YPATH1 = YPATH(JLOOP)(1:6) // YNODE IF (JLOOP .EQ. 2) YPATH1 = YPATH(JLOOP)(1:12) // YNODE IF (JLOOP .EQ. 3) YPATH1 = YPATH(JLOOP) // YNODE C C YLFNIN = 'L=FT'//YIU(2) YLINE1(1:11) = YLSTNA YLINE1(12:17) = YLFNIN YLINE1(18:18) = YCOMMA YLINE1(19:23) = YPATHC YLINE1(24:) = YPATH1 IJ = INDEX (YLINE1,' ') YLINE1(IJ:IJ) = YSTOP IPTR = IJ IF (KPR.EQ.1) WRITE (*,'(1H ,A80)') YLINE1 C CALL ECFILE (IERR,IREASON,YLINE1) C C* TRAP CFS RETURN CODES FOR FILE/NODE DOES NOT EXIST. C IF (IERR.EQ.9. C AND.IREASON(1).EQ.1. C AND.IREASON(2).EQ.1. C AND.IREASON(3).EQ.33) GO TO 2200 C C* GO TO SECTION 9 , IF ANY OTHER ERROR REPORTED. C IF (IERR.NE.0) C THEN KRC = 4 WRITE (*,9500) IERR, IREASON WRITE (*,9600) YLINE1 GO TO 9000 ENDIF C C SET FLAG TO INDICATE NODE FOUND FOR GIVEN EXPERIMENT IDENTIFIER. C IFLAG = 1 C C ----------------------------------------------------------------- C C C C C C C C C* SECTION 3 . ISSUE LIST COMMAND USING PATHNAME/NODE1/EXPID/NODE2. C ------------------------------------------------------------------ C 3000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'LDC1CR : SECTION 3' C C CREATE PATHNAME WITH NEXT NODE. C REWIND IU(2) 3100 CONTINUE READ (IU(2),'(A80)',END=2200) YLINE1 CALL L2U1CR (YLINE1) IF (YLINE1(19:22).NE.'DESC') GO TO 3100 C IPT1 = 0 3200 CONTINUE READ (IU(2),'(A80)',END=2200) YLINE1 CALL L2U1CR (YLINE1) IF (YLINE1(19:22).EQ.' ') GO TO 2200 YNODE = '/'//YLINE1(19:22) IJ = INDEX (YPATH1,' ') IF (IPT1.EQ.0) IPT1 = IJ - 1 YPATH1 = YPATH1(1:IPT1)//YNODE C YLINE1(1:) = ' ' YLFNIN = 'L=FT'//YIU(3) YLINE1(1:11) = YLSTNA YLINE1(12:17) = YLFNIN YLINE1(18:18) = YCOMMA YLINE1(19:23) = YPATHC YLINE1(24:) = YPATH1 IJ = INDEX (YLINE1,' ') YLINE1(IJ:IJ) = YSTOP IF (KPR.EQ.1) WRITE (*,'(1H ,A80)') YLINE1 C CALL ECFILE (IERR,IREASON,YLINE1) C C* TRAP CFS RETURN CODES FOR FILE/NODE DOES NOT EXIST. C IF (IERR.EQ.9. C AND.IREASON(1).EQ.1. C AND.IREASON(2).EQ.1. C AND.IREASON(3).EQ.33) GO TO 3200 C C* GO TO SECTION 9 , IF ANY OTHER ERROR REPORTED. C IF (IERR.NE.0) C THEN KRC = 4 WRITE (*,9500) IERR, IREASON WRITE (*,9600) YLINE1 GO TO 9000 ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* SECTION 4. ISSUE LIST COMMAND PATHNAME/NODE1/EXPID/NODE2/NODE3. C ------------------------------------------------------------------ C 4000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'LDC1CR : SECTION 4' C REWIND IU(3) C 4200 CONTINUE READ (IU(3),'(A80)',END=3200) YLINE1 CALL L2U1CR (YLINE1) IF (YLINE1(19:22).NE.'DESC') GO TO 4200 C 4300 CONTINUE READ (IU(3),'(A80)',END=3200) YLINE1 CALL L2U1CR (YLINE1) IF (YLINE1(19:22).EQ.' ') GO TO 3200 YNODE = '/'//YLINE1(19:22) IJ = INDEX (YPATH1,' ') IPTR = IJ - 1 YPATH1 = YPATH1(1:IPTR)//YNODE YPATH2 = YPATH1 WRITE (*,'(1H1,''CFS PATHNAME -'')') WRITE (*,'(5X,A80)') YPATH1 C C* WRITE PATHNAME TO FILE USED IN DELETING NODES . C YLINE2='FN=REMOVE,PW='//HOWN(1:IL)//',NA,PATH='//YPATH2 IJ = INDEX (YLINE2,' ') YLINE2(IJ:) = '.' WRITE (IU(6),'(A80)') YLINE2 C C REWIND IU(4) YLINE1(1:) = ' ' YLFNIN = 'L=FT'//YIU(4) YLINE1(1:11) = YLSTNA YLINE1(12:17) = YLFNIN YLINE1(18:18) = YCOMMA YLINE1(19:23) = YPATHC YLINE1(24:) = YPATH1 IJ = INDEX (YLINE1,' ') YLINE1(IJ:IJ) = YSTOP YPATH1(IPTR+1: ) = ' ' IF (KPR.EQ.1) WRITE (*,'(1H ,A80)') YLINE1 C CALL ECFILE (IERR,IREASON,YLINE1) C C* TRAP CFS RETURN CODES FOR FILE/NODE DOES NOT EXIST. C IF (IERR.EQ.9. C AND.IREASON(1).EQ.1. C AND.IREASON(2).EQ.1. C AND.IREASON(3).EQ.33) GO TO 4300 C C* GO TO SECTION 9 , IF ANY OTHER ERROR REPORTED. C IF (IERR.NE.0) C THEN KRC = 4 WRITE (*,9500) IERR, IREASON WRITE (*,9600) YLINE1 GO TO 9000 ENDIF C C --------------------------------------------------------------- C C C C C C C C C C C* SECTION 5. PRINT OUT CFS FILE NAMES. C --------------------------------------------------------------- C 5000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'LDC1CR : SECTION 5.' C REWIND (IU(4)) C WRITE (*,'(1H ,''CFS-FILES'')') 5100 CONTINUE READ (IU(4),'(A80)',END=5300) YLINE1 CALL L2U1CR (YLINE1) IF (YLINE1(19:22).NE.'DESC') GO TO 5100 C 5200 CONTINUE READ (IU(4),'(A80)',END=5300) YLINE1 CALL L2U1CR (YLINE1) IF (YLINE1(19:22).EQ.' ') GO TO 4300 WRITE (*,'(5X,A14)') YLINE1(19:32) YLINE2='FN=DELETE,PW='//HOWN(1:IL)//',NA,PATH='//YPATH2 IJ = INDEX (YLINE2,' ') INOD = IJ YLINE2(IJ:) = '/'//YLINE1(19:32)//'.' C C* WRITE PATHNAME TO FILE USED IN DELETING FILES . C WRITE (IU(5),'(A80)') YLINE2 GO TO 5200 5300 CONTINUE WRITE (*,*) 'HOW DID I GET HERE' YLINE2 = YLINE2(1:IJ-1)//'.' WRITE (*,'(1H ,A80)') YLINE2 GO TO 4300 C C --------------------------------------------------------------- C C C C C C C C C C C* SECTION 6 . DELETE CFS FILES AND REMOVE NODES . IF REQUIRED. C ------------------------------------------------------------------ C 6000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'LDC1CR : SECTION 6.' C C* GO TO SECTION 9 IF LIST OF NODES AND FILES ONLY. C IF (HVERB.EQ.'LIST ') GO TO 9000 IERR=0 C C DELETE FILES. C REWIND IU(5) 6100 CONTINUE READ (IU(5),'(A80)',END=6200) YLINE2 C IF (KPR.EQ.1) WRITE (*,'(1H ,A80)') YLINE2 CALL ECFILE (IERR,IREASON,YLINE2) C C* GO TO SECTION 9 , IF ERROR REPORTED. C IF (IERR.NE.0) C THEN KRC = 4 WRITE (*,9700) IERR, IREASON WRITE (*,9600) YLINE2 GO TO 9000 ENDIF C GO TO 6100 C 6200 CONTINUE C C REMOVE NODES. C REWIND IU(6) 6300 CONTINUE READ (IU(6),'(A80)',END=6400) YLINE2 6350 CONTINUE IF (KPR.EQ.1) WRITE (*,'(1H ,A80)') YLINE2 CALL ECFILE (IERR,IREASON,YLINE2) C C TRAP RETURN CODES FOR NODE HAS DESCENDANTS. EXPERIMENT C IDENTIFIER NODES CAN HAVE SEVERAL DESCENDANTS, AND ARE C REMOVED WHEN ALL DESCENDANTS HAVE BEEN REMOVED. C IF (IERR.EQ.9. C AND.IREASON(1).EQ.1. C AND.IREASON(2).EQ.104. C AND.IREASON(3).EQ.0) GO TO 6300 C C* GO TO SECTION 9 , IF ERROR REPORTED. C IF (IERR.NE.0) C THEN KRC = 4 WRITE (*,9700) IERR, IREASON WRITE (*,9600) YLINE2 GO TO 9000 ENDIF C C MODIFY COMMAND AS LAST NODE HAS BEEN REMOVED. C I = INDEX (YLINE2,'.') DO 6360 J6360 = I,1,-1 IF (YLINE2(J6360:J6360).EQ.'/') C THEN YLINE2(J6360:) = '.' GO TO 6370 ENDIF 6360 CONTINUE C 6370 CONTINUE C C NODES ARE REMOVED ONLY AS FAR AS THE TYPE NODE EG AN,OR FC. C IF (YLINE2(J6360-3:J6360-3).NE.'/') GO TO 6350 C GO TO 6300 C C 6400 CONTINUE C C C C ------------------------------------------------------------------ C C C C C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE.FORMAT STATEMENTS. C ------------------------------------------------------------------ C C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'LDC1CR : SECTION 9.' C C CLOSE AND RETURN FILES. C DO 9010 J9010=1,6 CLOSE (UNIT=IU(J9010)) 9010 CONTINUE C C SEE IF THE EXPERIMENT DOES EXIST IN CFS (IE IFLAG =1) C IF (IFLAG .EQ. 0) C THEN KRC = 1 WRITE (*,9200) HEXP ENDIF RETURN C C 9100 FORMAT (' LDC1CR : ACTION ATTEMPTED ON OPERATIONAL PRODUCTION', C ' NODES OR FILES.') C 9500 FORMAT (' LDC1CR : NODE/FILE LISTING ERROR. FAILURE CODE = ',I3, C ' , REASON CODES = ',3I6,'.') C 9600 FORMAT (1H ,A) C 9700 FORMAT (' LDC1CR : NODE/FILE REMOVAL ERROR. FAILURE CODE = ',I3, C C ' , REASON CODES = ',3I6,'.') C 9800 FORMAT (' LDC1CR : NO FREE FORTRAN UNIT NUMBERS.') C 9200 FORMAT (' LDC1CR : EXPERIMENT IDENTIFIER OF ',A5,' NOT IN CFS') C 9300 FORMAT (' LDC1CR : EXPERIMENT IDENTIFIER NOT 4 CHARACTERS - ', C A) 9400 FORMAT (' LDC1CR : OWNER (PASSWORD) INVALID - ',A) C C ------------------------------------------------------------------ C C END emoslib-000392+dfsg.1/gribex/ecdef9.h0000755000175000017500000000546112127406245020257 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 9. C Singular vectors and ensemble perturbations. C --------------------------------------------- C C Octet KSEC1(n) C ----- -------- C C 42 38 Class : 1 = Operations C 2 = Research C C 43 39 Type : 60 = Perturbed analysis C 62 = Singular vector C 63 = Adjoint singular vector C C 44-45 40 Stream : 1035 = Ensemble forecasts C C 46-49 41 Expver : Version number/experiment identifier. C ( 4 Ascii characters, right justified) C C 50-51 42 If type 60, perturbed ensemble forecast number. C If type 62 or 63, singular vector number. C C C If type = 60: C C 52-92 43-55 Set to zero. C C C If type = 62 or 63: C C 52-53 43 Number of iterations. C C 54-55 44 Number of singular vectors computed. C C 56 45 Norm used at initial time. C C 57 46 Norm used at final time. C C 58-61 47 Multiplication factor to convert latitude/longitude C and accuracy from real to integer. C C 62-65 48 Latitude in degrees of north-west corner of LPO area C multiplied by KSEC1(47). C C 66-69 49 Longitude in degrees of north-west corner of LPO area C multiplied by KSEC1(47). C C 70-73 50 Latitude in degrees of south-east corner of LPO area C multiplied by KSEC1(47). C C 74-77 51 Longitude in degrees of south-east corner of LPO area C multiplied by KSEC1(47). C C 78-81 52 Accuracy multiplied by KSEC1(47). C C 82-83 53 Number of singular vectors evolved. C C 84-91 54-55 Ritz numbers. C Given ritz, then: C KSEC1(54) = NINT( LOG10(RITZ)-5 ) C KSEC1(55) = NINT( RITZ/ EXP(LOG(10.0)*KSEC1(54) ) ) C Thus: C RITZ = KSEC1(55)*EXP( LOG(10.0)*KSEC1(54) ) C C 92 Reserved. Set to zero. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/fortvalues.h0000755000175000017500000000113112127406245021300 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef FORTVALUES_H #define FORTVALUES_H #include "fortint.h" #define BYTE 0xFF & (fortint) void mvbytes(char *, fortint * , int ); void rtbytes(fortint *, char * , int ); #endif /* End of FORTVALUES_H */ emoslib-000392+dfsg.1/gribex/extmap.F0000755000175000017500000003134712127406245020356 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE EXTMAP (KGRIB,KLENG,KMAP1,KMAP2,KVALS,PSEC4,KSIZE, X KBITS,KSBMAP,PMISS,KNUM,KPR,KRET,KNOMIS) C C----> C**** EXTMAP - Extraction of bit maps for routine GRIBEX. C C Purpose. C -------- C C Extracts bit-maps (primary and secondary,if present) C from an array of GRIB coded data and inserts the C missing data value indicator in appropriate places in C the array of already unpacked data values. C C** Interface. C ---------- C C CALL EXTMAP (KGRIB,KLENG,KMAP1,KMAP2,KVALS,PSEC4,KSIZE,KBITS, C X KSBMAP,PMISS,KNUM,KPR,KRET,KNOMIS) C C C Input Parameters. C ----------------- C C KGRIB - Array from which data is being unpacked C from GRIB code. C C KLENG - Length of this array. C C KMAP1 - Bit-pointer to start of primary bit-map C (Section 3 bitmap) in array KGRIB. C C KMAP2 - Bit-pointer to start of secondary bitmap C (Section 4 bitmap) in array KGRIB. C Negative value if no secondary bit maps. C C KVALS - Number of unpacked values in PSEC4 on entry C C PSEC4 - Array of data values unpacked from GRIB code. C C KSIZE - Number of bits in the primary bit map. C C KBITS - Number of bits in computer word. C C PMISS - Value to be used to indicate missing data C in array PSEC4. C C KNUM - Number of values at each grid point. This C is normally 1 except when a matrix of value C is represented. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C Output Parameters. C ------------------ C C KSBMAP - Bit-map flag. C -2 , All bits in the bit-map set to 1. C There is no missing data. C -4 , Some points have no data. User C supplied value for missing data C indicator in appropriate places in C the array PSEC4. C C KRET - Return code. C 0 , No error encountered. C 1 , Error in routine INXBIT. C 4 , Number of values at each grid point (KNUM) C is greater than allowed (JPWORK). C C KNOMIS - Number of non-missing values in PSEC4 entry. C C C Method. C ------- C C The bit-map contains 1 where valid data exists and 0 C where data is missing. The corresponding data array C contains valid data and the missing data indicator value. C C Externals. C ---------- C C INXBIT - Extract values from bit-stream C C Reference. C ---------- C C See routine GRIBEX. C C Comments. C --------- C C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 10:07:92 C C Modifications. C -------------- C C J. Hennessy ECMWF 29:10:92 C Maximum sizes increased to allow for packing of C 2D spectra. C Number of data values 120*61*12*25 C C J.D.Chambers ECMWF 09:03:94 C Maximum size for bitmap array increased to 132000 C to allow for products 0.5 * 0.5 degrees, whole C hemisphere (N or S). C C J.D.Chambers ECMWF 18:04:94 C Fix setting of missing values according to bitmap C C J.D.Chambers ECMWF 19:07:94 C Maximum size for bitmap array increased to 140000 C for reduced gaussian n160. C C J.D.Chambers ECMWF 23.05.95 C Use dynamic allocation for secondary bitmap C Process primary bitmap in small pieces. Use PSEC4 C for expanding data using bitmaps. C C J.D.Chambers ECMWF 24.10.96 C Use fixed allocation for secondary bitmap C Process primary bitmap in small pieces. Use PSEC4 C C J. Clochard, METEO FRANCE, for ECMWF - January 1998. C Dummy-argument KNOMIS added. C Strips size (JPWORK) enlarged to 10000. C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JPWORK PARAMETER (JPWORK=10000) C C Subroutine arguments C INTEGER KBITS, KGRIB, KLENG, KMAP1, KMAP2, KNUM, KVALS, KNOMIS DIMENSION KGRIB(*) INTEGER KPR, KRET, KSBMAP, KSIZE REAL PMISS, PSEC4 DIMENSION PSEC4(*) C C Local variables C INTEGER ICURR, IPT, LENGTH INTEGER JLOOP, JLOOPI, NEXT, IMANY, NABITS, NBITS, NVALS, MYMAP1 LOGICAL LMOPT C INTEGER IMAP1 DIMENSION IMAP1(JPWORK) C C Work array. C INTEGER IMAP2 DIMENSION IMAP2(JPWORK) C C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'EXTMAP: Section 1.' WRITE(GRPRSM,*) 'EXTMAP: Input values used -' WRITE(GRPRSM,*) 'EXTMAP: KSIZE,KNUM = ', KSIZE,KNUM WRITE(GRPRSM,*) 'EXTMAP: KLENG,KMAP1,KMAP2,KBITS, PMISS = ' WRITE(GRPRSM,*) KLENG,KMAP1,KMAP2,KBITS, PMISS WRITE(GRPRSM,*) 'EXTMAP: KVALS = ', KVALS ENDIF C C Reset return code to 0. C KRET = 0 KNOMIS = 0 NBITS = 0 NABITS = 0 LENGTH = KNUM C C Check there is enough space for unpacking secondary bitmap C IF( LENGTH.GT.JPWORK ) THEN WRITE(GRPRSM,*) 'EXTMAP: Number of values at each grid point' WRITE(GRPRSM,*) X 'EXTMAP: (KNUM) is greater than allowed (JPWORK).' KRET = 4 GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 2 . Handle 'M' option case C ------------------------------------------------------------------ C 200 CONTINUE C C If the original field has been packed with the 'M' option, C have to find out how many true values there are in the field. C LENGTH = KSIZE * KNUM LMOPT = (KVALS.EQ.LENGTH) C IF( LMOPT ) THEN C C Count the number of bits in the primary bitmap C NEXT = 0 NVALS = 0 MYMAP1 = KMAP1 C 210 CONTINUE C C Unpack the primary bitmap in strips of JPWORK values C NEXT = NEXT + JPWORK IMANY = JPWORK C C Check whether end of primary bitmap reached. C Adjust if less than JPWORK values left to process C IF( NEXT.GT.KSIZE ) IMANY = KSIZE + JPWORK - NEXT C C Unpack next strip of primary bitmap values. C CALL INXBIT(KGRIB,KLENG,MYMAP1,IMAP1,IMANY,KBITS,1,'D',KRET) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) 'EXTMAP: Error reported by routine INXBIT.' KRET = 1 GO TO 900 ENDIF C C Work through the strip of primary bitmap values counting points C which are not missing. C DO 220 JLOOP = 1,IMANY IF( IMAP1(JLOOP).EQ.1 ) NVALS = NVALS + 1 220 CONTINUE C C Loop back if more strips of primary bitmap to process C IF( NEXT.LT.KSIZE ) GOTO 210 C ELSE C NVALS = KVALS C ENDIF C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'EXTMAP: NVALS = ', NVALS WRITE(GRPRSM,*) 'EXTMAP: KVALS = ', KVALS WRITE(GRPRSM,*) 'EXTMAP: LENGTH = ', LENGTH ENDIF C C Move input field to far end of input array C IF( NVALS.LT.LENGTH ) THEN ICURR = NVALS+1 !OCL NOVREC DO 230 JLOOP = LENGTH, LENGTH - NVALS + 1, -1 ICURR = ICURR - 1 PSEC4(JLOOP) = PSEC4(ICURR) 230 CONTINUE ENDIF C C ------------------------------------------------------------------ C* Section 3 . Decoding of bit-map and data. C ------------------------------------------------------------------ C 300 CONTINUE C IF( KPR.GE.1 ) WRITE(GRPRSM,*) 'EXTMAP: Section 3.' C C* Set unoccupied values in array to missing data indicator. C ICURR = LENGTH - NVALS DO 310 JLOOP = 1, ICURR PSEC4(JLOOP) = PMISS 310 CONTINUE C C* Copy data to output array or insert missing data value C in accordance with the bit map values. C ICURR = LENGTH - NVALS IPT = 1 NEXT = 0 C 320 CONTINUE C C The primary bitmap is unpacked and used in strips of JPWORK values C NEXT = NEXT + JPWORK IMANY = JPWORK C C Check whether end of primary bitmap reached. C Adjust if less than JPWORK values left to process C IF( NEXT.GT.KSIZE ) IMANY = KSIZE + JPWORK - NEXT C C Unpack next strip of primary bitmap values. C CALL INXBIT(KGRIB,KLENG,KMAP1,IMAP1,IMANY,KBITS,1,'D',KRET) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) 'EXTMAP: Error reported by routine INXBIT.' KRET = 1 GO TO 900 ENDIF C C Work through the strip of primary bitmap values. C IF(KMAP2.LE.0.AND.KNUM.EQ.1) THEN IMAP2(1) = 1 !OCL NOVREC DO 325 JLOOP = 1,IMANY IF( IMAP1(JLOOP).EQ.1 ) THEN ICURR = ICURR + 1 PSEC4(IPT) = PSEC4(ICURR) NABITS = NABITS + 1 ELSE PSEC4(IPT) = PMISS NBITS = NBITS + 1 ENDIF IPT = IPT + 1 325 CONTINUE C ELSE C DO 380 JLOOP = 1,IMANY C C If primary bitmap indicates there are values at the point .. C IF( IMAP1(JLOOP).EQ.1 ) THEN C C .. read secondary bitmap, if any. C IF( KMAP2.GT.0 ) THEN CALL INXBIT(KGRIB,KLENG,KMAP2,IMAP2,KNUM,KBITS,1,'D',KRET) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) X 'EXTMAP: Error reported by routine INXBIT.' KRET = 1 GO TO 900 ENDIF C ELSE C C* If no secondary bitmaps present, set up dummy secondary C bitmap to indicate no missing data values. C IF( KNUM.EQ.1 ) THEN IMAP2(1) = 1 ICURR = ICURR + 1 PSEC4(IPT) = PSEC4(ICURR) IPT = IPT + 1 NABITS = NABITS + 1 ELSE DO 330 JLOOPI = 1,KNUM IMAP2(JLOOPI) = 1 330 CONTINUE ENDIF C ENDIF C C Use the bitmap to put in data value or missing data indicator. C IF( KNUM.GT.1 ) THEN DO 340 JLOOPI = 1,KNUM IF( IMAP2(JLOOPI).EQ.1 ) NABITS = NABITS + 1 340 CONTINUE C DO 350 JLOOPI = 1,KNUM IF( IMAP2(JLOOPI).NE.1 ) NBITS = NBITS + 1 350 CONTINUE C DO 360 JLOOPI = 1,KNUM IF( IMAP2(JLOOPI).EQ.1 ) THEN ICURR = ICURR + 1 PSEC4(IPT+JLOOPI-1) = PSEC4(ICURR) ELSE PSEC4(IPT+JLOOPI-1) = PMISS ENDIF 360 CONTINUE IPT = IPT + KNUM C ENDIF C C If primary bitmap indicates there are no values at the point .. C ELSE IF( KNUM.EQ.1 ) THEN PSEC4(IPT) = PMISS ELSE DO 370 JLOOPI = 1,KNUM PSEC4(IPT+JLOOPI-1) = PMISS 370 CONTINUE ENDIF IPT = IPT + KNUM NBITS = NBITS + KNUM ENDIF C 380 CONTINUE C ENDIF C C Loop back if more strips of primary bitmap to process C IF( NEXT.LT.KSIZE ) GOTO 320 C C* Set bit-map flag. C IF( NBITS.GT.0 ) THEN KSBMAP = -4 ELSE KSBMAP = -2 ENDIF C C* Return effective number of non-missing values. C KNOMIS=NVALS C C ------------------------------------------------------------------ C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'EXTMAP: Section 9.' WRITE(GRPRSM,*) 'EXTMAP: NBITS = ', NBITS WRITE(GRPRSM,*) 'EXTMAP: NABITS = ', NABITS WRITE(GRPRSM,*) 'EXTMAP: NVALS = ', NVALS WRITE(GRPRSM,*) 'EXTMAP: Output values set -' WRITE(GRPRSM,*) 'EXTMAP: KNOMIS = ', KNOMIS WRITE(GRPRSM,*) 'EXTMAP: KSIZE = ', KSIZE WRITE(GRPRSM,*) 'EXTMAP: KSBMAP = ', KSBMAP ENDIF C RETURN END emoslib-000392+dfsg.1/gribex/grib_int_t.h0000755000175000017500000000130512127406245021231 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef GRIB_INT_T_H #define GRIB_INT_T_H #ifdef INTEGER_IS_INT typedef int grib_int_t; #else typedef long grib_int_t; #endif typedef long * JPointer; typedef long long grib_int_64_t; typedef double grib_real_t; typedef unsigned char grib_octet_t; typedef const char grib_string_t; #endif /* End of GRIB_INT_T_H */ emoslib-000392+dfsg.1/gribex/c2rnge.F0000755000175000017500000000745712127406245020245 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION C2RNGE ( KNPACK, KPKLEN, KXBITS, KDATA, KDIAGO, X KWIDTH, KREFER, KPOWER, KMXPWR, KPCWID, X KXCWID ) C C----> C**** C2RNGE C C Purpose. C -------- C C Utility to assist computing of range diagnostics for spatial C differencing. C C** Interface. C ---------- C C IOFF = C2RNGE ( KNPACK, KPKLEN, KXBITS, KDATA, KDIAGO, KWIDTH, C X KREFER, KPOWER, KMXPWR, KPCWID, KXCWID ) C C Function result value is the number of values processed within C KDATA during call. C C C Input Parameters. C ----------------- C C KNPACK - Number of packets to process. C KPKLEN - Length of packets. C KXBITS - MaXimum number of BITS estimated. C KDATA - Array containing values to process. C KDIAGO - Diagnostic of cumulated ranges. C KWIDTH - Width of packets. C KREFER - Reference value. C KPOWER - Auxilary array, precomputed (powers of 2)-1. C KMXPWR - Maximum number of bits per original scaled value. C KPCWID - Auxilary array, precomputed widths. C KXCWID - Maximum width associated to KPCWID. C C C Output Parameters (updates). C ------------------ C C KDIAGO - Diagnostic of cumulated ranges. C KWIDTH - Width of packets. C KREFER - Reference value. C C C Method. C ------- C C Loop on packets for range diagnostics. C C C C Externals. C ---------- C C None. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C None. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - February 1998. C C C Modifications. C _____________ C C J. Clochard, June 1999. C Use precomputed array to determine widths . Dummy-arguments C KPCWID and KXCWID added . Assumption is made that KXCWID C is at least (KMXPWR+1)/2 . C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C C Subroutine arguments C INTEGER KNPACK, KPKLEN, KXBITS, KDIAGO, KWIDTH, KREFER, KMXPWR INTEGER KXCWID INTEGER KPOWER (0:KMXPWR), KDATA (*), KPCWID (0:*) C C Local variables. C INTEGER IOFF, J, J2, IMAX, IMIN, IRANGE, IPOWER, IWIDTH, ILCWID C C ----------------------------------------------------------------- C* Section 1 . Direct computing. C ----------------------------------------------------------------- C 100 CONTINUE C IOFF = 0 ILCWID = KPOWER(KXCWID)+1 C DO 104 J2=1,KNPACK C IMAX=KDATA(IOFF+1) IMIN=KDATA(IOFF+1) C DO 101 J=2,KPKLEN IMAX=MAX (IMAX,KDATA(IOFF+J)) IMIN=MIN (IMIN,KDATA(IOFF+J)) 101 CONTINUE C IRANGE=IMAX-IMIN C IF (IRANGE.LT.ILCWID) THEN IWIDTH=KPCWID(IRANGE) ELSE IWIDTH=KXCWID+KPCWID(IRANGE/ILCWID) ENDIF C IPOWER=KPOWER(IWIDTH) C KDIAGO=KDIAGO+KPKLEN*IWIDTH KWIDTH=MAX (KWIDTH,IWIDTH) KREFER=MAX (KREFER,IMIN-(IPOWER-IRANGE)) IOFF=IOFF+KPKLEN C 104 CONTINUE C C ----------------------------------------------------------------- C* Section 9 . Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C C2RNGE = IOFF C RETURN C END emoslib-000392+dfsg.1/gribex/dswmrs.F0000755000175000017500000001621112127406245020370 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DSWMRS(IBLOSW,LOGISW,ILLGTH,INSOUT,IILGTH,RESOUT, S IRLGTH,MGRIBS,ILENSW,IBITMC,LPRINTS) C C----> C**** *DSWMRS* - ROUTINE TO DECODE A MARS MODEL SWITCH. C C G.K.SAKELLARIDES ECMWF 17/05/85. C THE STRUCTURE IS SIMILAR TO J.HENNESSY'S SUBROUTINE *DECOGR* C C PURPOSE. C -------- C C TO DECODE A MODEL SWITCH MARS RECORD FROM MARS PACKED C SWITCH RECORD AS WELL AS TO PRINT THE DECOTED RECORD C IN CASE LPRINTS=.TRUE. C C** INTERFACE. C ---------- C C *CALL* *DSWMRS(IBLOSW,LOGISW,ILLGTH,INSOUT,IILGTH,RESOUT, C IRLGTH,MGRIBS,ILENSW,IBITMC)* C WHERE: C INPUT PARAMETERS C 1.*MGRIBS* ARRAY CONTAINING THE PACKED MARS MODEL SWITCH C 2.*ILENSW* THE LENGTH OF THE ARRAY MGRIBS (750 CRAY WORD) C 3.*IBITMC* NUMBER OF BITS PER COMPUTER WORD. C 4.*LPRINTS* .TRUE. IF AN OUTPUT OF THE DECOTED MARS C MODEL SWITCH RECORD IS REQUIRED. C OUTPUT PARAMETERS C 1.*IBLOSW* INTEGER ARRAY OF LENGTH 29 CONTAINING C THE FOLLOWING INFORMATIONS OF BLOCK1. C 1.1 G C 1.2 R C 1.3 I C 1.4 B C 1.5 IDENTIFICATION OF CENTRE) C 1.6 MODEL IDENTIFICATION C 1.7 GRID DEFINITION C 1.8 FLAG (CODE TABLE 1) C 1.9 PARAM. INTICATING THE MARS MODEL SWITCH REC. C 1.10 TYPE OF LEVEL (CODE TABLE 3) C 1.11 VALUE 1 OF LEVEL (CODE TABLE 3) C 1.12 VALUE 2 OF LEVEL (CODE TABLE 3) C 1.13 YEAR OF INITIAL DATA C 1.14 MONTH OF INITIAL DATA C 1.15 DAY OF INITIAL DATA C 1.16 HOUR OF INITIAL DATA C 1.17 MINUTE OF INITIAL DATA C 1.18 TIME UNIT (CODE TABLE 4) C 1.19 TIME RANGE 1 C 1.20 TIME RANGE 2 C 1.21 TIME RANGE FLAG (CODE TABLE 5) C 1.22-24 RESERVED C 1.26 STARTING ADDRESS OF LOGICAL SECTION(OCTET) C 1.27 STARTING ADDRESS OF INTEGER SECTION(OCTET) C 1.28 STARTING ADDRESS OF REAL SECTION(OCTET) C 1.29 LENGTH OF REAL SECTION(OCTET) C 2.*LOGISW* INTEGER ARRAY OF SUFFICIENT LENGTH WHICH C CONTAINS THE LOGICALS. C 3.*ILLGTH* ACTUAL LENGTH OF LOGICALS C 4.*INSOUT* INTEGER ARRAY OF SUFFICIENT LENGTH WHICH C CONTAINS THE INTEGERS C 5.*IILGTH* ACTUAL LENGTH OF INTEGER C 6.*RESOUT* REAL ARRAY OF SUFFICIENT LENGTH WHICH C CONTAINS THE REALS C 7.*IRLGTH* ACTUAL LENGTH OF REALS C C EXTERNALS. C ---------- C C *GBYTES* EXTRACT BIT FIELD C *GBYTE * EXTRACT BIT FIELD C *OFFSET* CALCULATES THE WORD AND BIT OFFSET OF THE START C OF THE NEXT BIT FIELD. C *DECFP* DECODE GRIB CODE REPRESENTATION TO FLOATING POINT C NUMBER. C C----< C DIMENSION IBLOSW(*),INSOUT(*),RESOUT(*),MGRIBS(ILENSW) DIMENSION ILSOUT(500) DIMENSION IAA(4) LOGICAL LOGISW(*),LPRINTS C C* 1. SET LOCAL VARIABLES C 100 CONTINUE IERR=0 ILMGRIB=ILENSW IBITCR=IBITMC C C* 1.5 VARIABLES OF BLOCK 1 C IWORD=1 IBYTE=8 IVAL=24 IOFF=0 CALL GBYTES(MGRIBS(IWORD),IBLOSW(1),IOFF,IBYTE,0,IVAL) CALL OFFSET(IOFF,IVAL,IWORD,IBYTE,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0) GO TO 900 C C* LENTHG OF DATA BLOCK(OCTET) CALL GBYTE(MGRIBS(IWORD),IBLOSW(25),IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0)GO TO 900 C C* STARTING ADDRESS OF LOGICAL AND INTEGER SECTION IBYTE=8 IVAL=2 CALL GBYTES(MGRIBS(IWORD),IBLOSW(26),IOFF,IBYTE,0,IVAL) CALL OFFSET(IOFF,IVAL,IWORD,IBYTE,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0)GO TO 900 C* STARTING ADDRESS OF REAL SECTION CALL GBYTE(MGRIBS(IWORD),IBLOSW(28),IOFF,16) CALL OFFSET(IOFF,1,IWORD,16,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0)GO TO 900 C* LENGTH OF REAL SECTION CALL GBYTE(MGRIBS(IWORD),IBLOSW(29),IOFF,16) CALL OFFSET(IOFF,1,IWORD,16,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0)GO TO 900 C C* 3. BLOCK 4 DATA C ---- C 300 CONTINUE C C* 3.1 LOGICALS C DECODE LOGICALS FROM MARS FORMAT C 310 CONTINUE C* FINDS LENGTH OF LOGICALS ILLGTH=IBLOSW(27)-IBLOSW(26) IBYTE=8 IVAL=ILLGTH CALL GBYTES(MGRIBS(IWORD),ILSOUT(1),IOFF,IBYTE,0,IVAL) CALL OFFSET(IOFF,IVAL,IWORD,IBYTE,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0) GO TO 900 DO 314 I=1,ILLGTH C-- LOGISW(I)=SHIFTL(ILSOUT(I),63) IF (ILSOUT(I).EQ.1) LOGISW(I) = .TRUE. C-- 314 CONTINUE C C* 3.2 INTEGERS C C* LENGTH OF INTEGERS IILGTH=(IBLOSW(28)-IBLOSW(27))/2 IBYTE=16 IVAL=IILGTH CALL GBYTES(MGRIBS(IWORD),INSOUT(1),IOFF,IBYTE,0,IVAL) CALL OFFSET(IOFF,IVAL,IWORD,IBYTE,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0)GO TO 900 C* 3.3 REALS C C* LENGTH OF REAL SECTION IRLGTH=IBLOSW(29)/4 DO 335 J=1,IRLGTH CALL GBYTE(MGRIBS(IWORD),IEXP,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0)GO TO 900 CALL GBYTE(MGRIBS(IWORD),IMANT,IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0)GO TO 900 CALL DECFP(RESOUT(J),IEXP,IMANT) 335 CONTINUE C C C* 3.4 UNUSED WORDS C 340 CONTINUE C* USED OCTET IUSED=33+ILLGTH+IILGTH*2+IRLGTH*4 C* UNUSED OCTET IUNUSE=ILENSW*8-4-IUSED DO 345 J=1,IUNUSE CALL GBYTE(MGRIBS(IWORD),IEEE,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,IBITCR,ILMGRIB,IERR) IF (IERR.NE.0)GO TO 900 345 CONTINUE C C* 3.5 CORECT LENGTH OF INTEGER SECTION C 350 CONTINUE INGL=INSOUT(6) INLEV=INSOUT(6+INGL+1) J1A=1 J1T=6 J2A=J1T+1 J2T=J2A+INGL-1 J3A=J2T+1 J3T=J3A+14-1 J4A=J3T+1 J4T=J4A+INGL-1 J5A=J4T+1 J5T=J5A+INGL-1 J6A=J5T+1 J6T=J6A+10-1 J7A=J6T+1 J7T=J7A+INLEV-1 J8A=J7T+1 J8T=J8A+INLEV-1 J9A=J8T+1 J9T=J9A+INLEV-1 IILGTH=J9T C C* 4. BLOCK 5 C 400 CONTINUE CALL GBYTES(MGRIBS(IWORD),IAA(1),IOFF,8,0,4) C C C* 5. OUTPUT C 500 CONTINUE IF (LPRINTS) THEN C CALL ANALSW(IBLOSW,LOGISW,ILLGTH,INSOUT,IILGTH, S RESOUT,IRLGTH) C ENDIF C C* 6. RETURN C 600 CONTINUE RETURN C C* 9. ERROR HANDLING C 900 CONTINUE WRITE(*,9901) WRITE(*,'(A)') 'ERROR IN OFFSET' CALL ENDRUN STOP 9901 FORMAT('ERROR IN SUBROUTINE DSWMRS') END emoslib-000392+dfsg.1/gribex/confpa.F0000755000175000017500000000430712127406245020322 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CONFPA(FVAL,KLENFP,KOFF,KPACKED,KWORD,KLENPS,KBIT) C C----> C******************************************************************** C* C* NAME : CONFPA C* C* FUNCTION : CONVERT FLOATING POINT NUMBER FROM MACHINE C* REPRESENTATION TO GRIB REPRESENTATION. C* C* INPUT : FVAL - FLOATING POINT NUMBERS TO BE CONVERTED. C* KLENFP : LENGTH OF FVAL C* : KOFF - OFFSET IN BITS TO FIRST PACKED FIELD IN KPACKED. C* KBIT : NUMBER OF BITS IN OUTPUT WORD C* KLENPS : LENGTH OF KPACKED C* C* OUTPUT : KPACKED : PACKED OUTPUT FIELD C* C* JOHN HENNESSY , ECMWF , 15TH APRIL 1985 C* DAVID DENT , ECMWF , 18TH NOVEMBER 1997 C* C* LIMITATION of this VECTOR version: C* assumes KOFF=0 and INTEGER word length is 32 C* C******************************************************************** C----< C REAL FVAL(KLENFP) INTEGER KPACKED(KLENPS) C EPS = 1.0E-12 IOUT=1 C C convert array of real numbers C DO 210 JL=1,KLENFP IF (FVAL(JL).EQ.0.0) THEN JEXP = 128 JMANT = 0 ELSE C REF = FVAL(JL) C C SIGN OF VALUE C ISIGN = 0 IF (REF.LE.0.) THEN ISIGN = 128 REF = - REF ENDIF C C EXPONENT C IF (REF.EQ.0.0) THEN JEXP = 0 ELSE JEXP = INT(ALOG(REF)*(1.0/ALOG(16.0))+64.0+1.0+EPS) ENDIF C IF (JEXP.LT.0 ) JEXP = 0 IF (JEXP.GT.127) JEXP = 127 C C MANTISSA C JMANT = NINT (REF/16.0**(JEXP-70)) C C ADD SIGN BIT TO EXPONENT. C JEXP = JEXP + ISIGN C ENDIF C KPACKED(IOUT)=IOR(ISHFT(JEXP,24),JMANT) IOUT=IOUT+1 210 CONTINUE C KWORD=KWORD+(KLENFP*32/KBIT) C RETURN C END emoslib-000392+dfsg.1/gribex/sources.linux0000755000175000017500000000644612127406245021517 0ustar amckinstryamckinstry# # Sources for libemos/gribex for sgimips. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ swap4.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/revero.F0000755000175000017500000001456312127406245020363 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION REVERO ( KDATA, KLENP, KSEC2, KGRIB, KLENG, X KBITS, KBMAP, KVALS, OPRIBI, OQUASI, X KNROWS, KLEN, KWORK, KLWORK, ODEBUG, X OPRCLN, KLENGR ) C C----> C**** REVERO C C Purpose. C -------- C C Reverse order of even rows in a field of integer values. C This function is used for handling of boustrophedonic ordering C in extended second-order packing methods. C C C** Interface. C ---------- C C KRET = REVERO ( KDATA, KLENP, KSEC2, KGRIB, KLENG, KBITS, C X KBMAP, KVALS, OPRIBI, OQUASI, KNROWS, KLEN, C X KWORK, KLWORK, ODEBUG, OPRCLN, KLENGR ) C C Input Parameters. C ---------------- C C KDATA - Array of normalized values. C KLENP - Length of array KDATA. C KSEC2 - Array of GRIB section 2 integer descriptors. C KGRIB - Array containing GRIB product (for bit-map). C KLENG - Length of GRIB product array. C KBITS - Number of bits per computer word. C KBMAP - Bit pointer for start of explicit primary Bit-MAP C (if any). C KVALS - Number of bits in primary bit-map. C OPRIBI - True if a PRImary BIt-map is present. C OQUASI - True if the grid is QUASI-regular. C KNROWS - Number of ROWS (or lines) in the grid. C KLEN - Exact number of grid-points to handle. C KLWORK - Length of work array KWORK. C ODEBUG - True for some debug printout. C OPRCLN - True if row lengthes have been pre-computed. C C Input Parameters if OPRCLN is TRUE. C ------------------------------------ C KLENGR - Effective LENGth of Rows array. C C Output Parameters if OPRCLN is FALSE. C ------------------------------------ C C KWORK - Work array, used to unpack a primary bit-map, if any. C C Method. C ------- C C Determines effective row length(es), and swaps fields values C for rows with an even rank. C C Externals. C ---------- C C None. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C Note that arrays KLENGR and KWORK are not used in the same call, C so they may overlap. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C _____________ C C None. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C C Subroutine arguments C INTEGER KLENP, KBMAP, KVALS, KNROWS, KLEN, KLWORK, KLENG, KBITS INTEGER KDATA (KLENP), KSEC2 (*), KWORK (KLWORK), KGRIB (KLENG) INTEGER KLENGR (KNROWS) C LOGICAL OPRIBI, OQUASI, ODEBUG, OPRCLN C C Local variables. C INTEGER IREFLN, IPTRBM, IRETFN, JROW, IPTOFF, ILNGTX, INBSEQ, J INTEGER JSEQ, IPTNBR, ICOUNT, ILNGTH, ILEN, INDEX1, INDEX2, IRET INTEGER IAUXIL C CHARACTER YOPER*1 C C ----------------------------------------------------------------- C* Section 1 . Performs initial computations. C ----------------------------------------------------------------- C 100 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) OPRCLN #ifndef ebug2o ENDIF #endif C YOPER='D' C IRETFN = 0 IREFLN=22 ICOUNT=0 C IF (OPRIBI) THEN IPTRBM=KBMAP ILEN=KVALS ELSE ILEN=KLEN ENDIF C ILNGTX=ILEN/KNROWS C C ----------------------------------------------------------------- C* Section 2 . Loop on rows, wuth values swap for even rank rows. C ----------------------------------------------------------------- C 200 CONTINUE C DO 222 JROW=1,KNROWS C IF (OQUASI) THEN ILNGTX=KSEC2(IREFLN+JROW) ENDIF C IF (.NOT.OPRIBI.OR.ILNGTX.EQ.0) THEN C C Effective length of row = full length. C ILNGTH=ILNGTX C ELSEIF (OPRCLN) THEN C ILNGTH=KLENGR (JROW) C ELSE C C An (explicit) bit-map is included. C The number of values in current row has to be computed. C ILNGTH=0 INBSEQ=1+(ILNGTX-1)/KLWORK C DO 212 JSEQ=1,INBSEQ IPTOFF=(JSEQ-1)*KLWORK IPTNBR=MIN (KLWORK,ILNGTX-IPTOFF) CALL INXBIT (KGRIB,KLENG,IPTRBM,KWORK,IPTNBR,KBITS,1, X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 23210 WRITE(GRPRSM,FMT=9210) JROW, IPTOFF+1, IPTOFF+IPTNBR GOTO 900 ENDIF C DO 211 J=1,IPTNBR ILNGTH=ILNGTH+KWORK(J) 211 CONTINUE C 212 CONTINUE C ENDIF C IF (MOD (JROW,2).EQ.0.AND.ILNGTH.GT.1) THEN C C Swap field values within row. C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 221 J=1,ILNGTH/2 INDEX1=ICOUNT+J INDEX2=ICOUNT+ILNGTH+1-J IAUXIL=KDATA(INDEX1) KDATA(INDEX1)=KDATA(INDEX2) KDATA(INDEX2)=IAUXIL 221 CONTINUE C ENDIF C ICOUNT=ICOUNT+ILNGTH C 222 CONTINUE C IF (ICOUNT.NE.KLEN) THEN IRETFN = 23220 WRITE(GRPRSM,FMT=9220) ICOUNT, KLEN GOTO 900 ENDIF C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C REVERO = IRETFN #ifndef ebug2o C IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IRETFN #ifndef ebug2o ENDIF #endif C RETURN C 9100 FORMAT (' REVERO: Function start, OPRCLN = ',L1,'.') C 9210 FORMAT (' REVERO: Problem unpacking primary bit-map,row',I6, X ' points ',I8,'..',I8,'.') C 9220 FORMAT (' REVERO: Inconsistency: computed g.p. number =',I8, X ', expected =',I8,'.') C 9900 FORMAT (' REVERO: Function return code =',I6,'.') C END emoslib-000392+dfsg.1/gribex/ecdef7.F0000755000175000017500000001376212127406245020216 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF7( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPR, KRET) C C----> C**** ECDEF7 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 7. C (Extensions for sensitivity gradients/trajectory forecast). C C C** Interface. C ---------- C C CALL ECDEF7( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion or C extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 7. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ECLOC1.F - simplified to handle just definition 7. #include "ecdef7.h" C C C C Author. C ------- C C J.D.Chambers ECMWF 18th January 1995 C C C Modifications. C -------------- C C J.D.Chambers ECMWF 14th February 1995 C Modify comments (see ecdef.h also) for inclusion of Sensitivity C forecast. C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters CHARACTER*(*) HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables INTEGER IRET, IDUM C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET C C ------------------------------------------------------------------ C* Section 2 . Extensions sensitivity gradients/trajectory forecast/ C sensitivity forecasts. C ------------------------------------------------------------------ C 200 CONTINUE C C* Octet 50 : Forecast indicator or iteration number C One 8 bit field. C C Insert/extract field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(42),1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* Octet 51 : Total number of diagnostics(trajectory forecast), or C Number of iterations in diagnostic minimisation C (sensitivity forecast), or C = 0 for trajectory forecasts. C One 8 bit field. C C Insert/extract field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(43),1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* Octet 52 : Domain. C 0 = Global C 1 = Europe C 2 = Northern Hemsphere C 3 = Southern Hemsphere C One 8 bit field. C C Insert/extract fields. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(44),1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* Octet 53 : Diagnostic number C One 8 bit field. C C Insert/extract field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* Octet 54 : Dummy, set to zero. C One 8 bit field. C C Insert/extract field. C IDUM = 0 CALL INXBIT (KGRIB,KLENG,KNSPT,IDUM,1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF7 : Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,9003) KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF7') ELSE RETURN ENDIF C 9003 FORMAT (1H ,' KNSPT = ',I12) C 9004 FORMAT (' ECDEF7: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/ecdef18.F0000755000175000017500000001554612127406245020302 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF18(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KRET) C C----> C**** ECDEF18 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 18. C C** Interface. C ---------- C C CALL ECDEF18(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 18. C C C Externals. C ---------- C C INXBIT - Insert/extract bits to/from bit stream. C ABORTX - Abort processing. C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C #include "ecdef18.h" C C C Author. C ------- C C J.D.Chambers ECMWF February 2001 C C C Modifications. C -------------- C C None. C C C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C C Parameters C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, NUMBER, INUM, ILOOP, LOOP CHARACTER*4 HBLANK C LOGICAL LENCODE C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C IRET = KRET LENCODE = HFUNC.EQ.'C' C C -----------------------------------------------------------------| C* Section 2 . Handle definition 1. C -----------------------------------------------------------------| C 200 CONTINUE C C Octet 50 : Ensemble forecast number C Octet 51 : Total number of Forecasts. C Octet 52 : Data origin C Three 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),3,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF18: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, octets 50 to 52.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 50 to 52.' ENDIF ENDIF C C Octets 53 - 56 : Model identifier of forecast used C 4 Ascii characters, right justified C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF18: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, octets 53 to 56.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 53 to 56.' ENDIF ENDIF C C Octet 57 : Consensus count C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46),1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF18: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, octet 57.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octet 57.' ENDIF ENDIF C C Octets 58 to 60 : Spare (set to zero) C DO LOOP = 1, 3 IF ( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF18: Error reported by routine INXBIT:' WRITE(GRPRSM,*) X ' encoding section 1, octets 58 to 60.' ENDIF ELSE KNSPT = KNSPT + 8 ENDIF ENDDO C C Octets 61 to 120 : List of WMO centre identifiers for analyses used C Upto fifteen fields. ( Each 4 Ascii characters, right justified) C NUMBER = KSEC1(46) DO LOOP = 1, NUMBER CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46+LOOP),1, X KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF18: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) X ' encoding section 1, list of WMO ids.' ELSE WRITE(GRPRSM,*) X ' decoding section 1, list of WMO ids.' ENDIF ENDIF ENDDO C C Handle unused entries (set to blanks) C DO LOOP = NUMBER+1, 15 HBLANK = ' ' IF ( LENCODE ) THEN CALL INXBIT(KGRIB,KLENG,KNSPT,HBLANK,1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF18: Error reported by routine INXBIT:' WRITE(GRPRSM,*) ' encoding section 1, unused list.' ENDIF ELSE KSEC1(46+LOOP) = 0 DO ILOOP = 1, 4 KSEC1(46+LOOP) = KSEC1(46+LOOP)*256 + X ICHAR(HBLANK(ILOOP:ILOOP)) ENDDO KNSPT = KNSPT + 32 ENDIF ENDDO C C -----------------------------------------------------------------| C* Section 9 . Abort/return to calling routine. Format statements. C -----------------------------------------------------------------| C 900 CONTINUE C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF18') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/dmesec2.F0000755000175000017500000002107412127406245020376 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DMESEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,KBITS, X KMISNG) C C----> C**** DMESEC2 C C PURPOSE C _______ C C Decodes GRIB section 2 values for Mercator grid fields. C C INTERFACE C _________ C C IRET = DMESEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,KBITS,KMISNG) C C Input parameters C ________________ C C KGRIB - GRIB product unpacked so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product unpacked so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C KBITS - Number of bits per element in KGRIB. C KMISNG - Missing data value to be used. C C C Output parameters C ________________ C C KSEC2 - Updated GRIB section 2 description. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C /GRPRSCM/ for GRPRSM variable. C C Method C ______ C C Unpacks values given in KGRIB into KSEC2 and updates bit C pointer INSPT. C C Externals C _________ C C DSGNBT - Get the sign bit and adjust value to +/-. C INXBIT - Extract bit data. C C C AUTHOR C ______ C C J. Clochard, Meteo France, for ECMWF - October 2000. C (derived from DLLSEC2) C C MODIFICATIONS C _____________ C C J. Clochard, June 2008. C Use of GRPRSM instead of standard output in error/debug printouts. C Doctorize all dummy-arguments (K for integers, O for logicals). C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C C Parameters C INTEGER JP16SET, JP24SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) PARAMETER ( JP24SET = 2**24 - 1 ) C ^---> 16777215 = FFFFFF(hex) C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,KBITS,KMISNG DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) C C Global variables C #include "grprs.h" C C Local variables C INTEGER ILALO(2), IRET, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C DMESEC2 = 0 C C _______________________________________________________ C C Section 2. Unpack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along a parallel. C Octets 9 - 10 : Nj - number of points along a meridian. C Two 16 bit fields. C C WARNING!! C For quasi-regular grids, it is here assumed that Ni is variable, C i.e. that the number of points along a parallel is variable but C that the number of points along a meridian is fixed. C C For quasi-regular grids Ni is set to all 1 bits, as C the number of points is different on different parallels. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,KBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DMESEC2 = 1 WRITE(GRPRSM,*) 'DMESEC2: Error extracting number of pts ' WRITE(GRPRSM,*) 'DMESEC2: along parallel or meridian.' WRITE(GRPRSM,*) 'DMESEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO,2,KBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DMESEC2 = 1 WRITE(GRPRSM,*) 'DMESEC2: Error extracting' WRITE(GRPRSM,*) X 'DMESEC2: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'DMESEC2: Return code = ', IRET GOTO 900 ENDIF C CALL DSGNBT( KSEC2(4), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(5), ILALO(2), 24, IRET) C C Octet 17 : Resolution and components flag. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,KBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DMESEC2 = 1 WRITE(GRPRSM,*) 'DMESEC2: Error extracting' WRITE(GRPRSM,*) 'DMESEC2: resolution and components flag.' WRITE(GRPRSM,*) 'DMESEC2: Return code = ', IRET GOTO 900 ENDIF C C All flag fields are already set to 0, so C IF( IRESOL.EQ.0 ) GOTO 211 C C Fix up for flag which was different in Experimental edition. C IF( KSEC0(2).EQ.-1.AND.(IRESOL.EQ.1.OR.IRESOL.EQ.3)) IRESOL = 128 C C Set Resolution flag. C IF( IRESOL.GE.128) THEN KSEC2(6) = 128 IRESOL = IRESOL - 128 ENDIF C C Set earth flag. C IF( IRESOL.GE.64) THEN KSEC2(18) = 64 IRESOL = IRESOL - 64 ENDIF C C Set components flag. C KSEC2(19) = IRESOL C 211 CONTINUE C C Octets 18 - 20 : La2 - latitude of last grid point. C Octets 21 - 23 : Lo2 - longitude of last grid point. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO,2,KBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DMESEC2 = 1 WRITE(GRPRSM,*) 'DMESEC2: Error extracting' WRITE(GRPRSM,*) X 'DMESEC2: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'DMESEC2: Return code = ', IRET GOTO 900 ENDIF C CALL DSGNBT( KSEC2(7), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(8), ILALO(2), 24, IRET) C C Octets 24 - 26 : Latin - latitude(s) at which the Mercator C projection cylinder intersects the Earth. C One 24 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO,1,KBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DMESEC2 = 1 WRITE(GRPRSM,*) 'DMESEC2: Error extracting' WRITE(GRPRSM,*) 'DMESEC2: latitude of intersection.' WRITE(GRPRSM,*) 'DMESEC2: Return code = ', IRET GOTO 900 ENDIF C IF( ILALO(1).EQ.JP24SET) THEN C C Change 1 bits to missing data value. KSEC2(9) = KMISNG ELSE C C Take into account sign bit if any. CALL DSGNBT( KSEC2(9), ILALO(1), 24, IRET) ENDIF C C Octet 27 : Reserved. Set to zero. C One 8 bit field. C KSEC2(10) = 0 C C Update bit pointer. INSPT = INSPT + 8 C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,KBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DMESEC2 = 1 WRITE(GRPRSM,*) 'DMESEC2: Error extracting' WRITE(GRPRSM,*) 'DMESEC2: scanning mode flags.' WRITE(GRPRSM,*) 'DMESEC2: Return code = ', IRET GOTO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 31 : Di - i direction increment. C One 24 bit field. C C For quasi-regular grids all Di bits are set to 1, as C the increment is different on different parallels. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(13),1,KBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DMESEC2 = 1 WRITE(GRPRSM,*) 'DMESEC2: Error extracting' WRITE(GRPRSM,*) 'DMESEC2: i direction increment.' WRITE(GRPRSM,*) 'DMESEC2: Return code = ', IRET GOTO 900 ENDIF C C Change 1 bits to missing data value. C IF( KSEC2(13).EQ.JP24SET) KSEC2(13) = KMISNG C C C Octets 32 - 34 : Dj - j direction increment. C One 24 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(14),1,KBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DMESEC2 = 1 WRITE(GRPRSM,*) 'DMESEC2: Error extracting' WRITE(GRPRSM,*) 'DMESEC2: j direction increment.' WRITE(GRPRSM,*) 'DMESEC2: Return code = ', IRET GOTO 900 ENDIF C C Change 1 bits to missing data value. C IF( KSEC2(14).EQ.JP24SET) KSEC2(14) = KMISNG C C Octets 35 - 42 : Reserved. C Four 16 bit fields. C C Update bit pointer. INSPT = INSPT + 64 C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/ecdef2.F0000755000175000017500000001700212127406245020200 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF2( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPR, KRET) C C----> C**** ECDEF2 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 2. C (Extensions for clusters). C C C** Interface. C ---------- C C CALL ECDEF2( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 2. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ECLOC1.F - simplified to handle just definition 2. #include "ecdef2.h" C C C Author. C ------- C C J.D.Chambers ECMWF 18th January 1995 C C C Modifications. C -------------- C C None. C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables INTEGER IRET, IZERO, INSPT C INTEGER ILALO DIMENSION ILALO(8) C LOGICAL LENCODE, LDECODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC .EQ. 'C' ) LDECODE = .NOT. LENCODE C C ------------------------------------------------------------------ C* Section 2 . Extensions for clusters (definition 2). C ------------------------------------------------------------------ C 200 CONTINUE C IF( KPR.GE.1 ) WRITE(GRPRSM,*) 'ECDEF2 : Section 2.' C C* Octet 50 : Cluster number. C Octet 51 : Total number of clusters. C Two 8 bit fields. C C Insert/extract fields. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(42),2,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* Octet 52 : Reserved C Set to 0. C IF ( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT, IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ELSE KNSPT = KNSPT + 8 ENDIF C C* Octet 53 : Clustering method. C One 8 bit field. C C Insert/extract field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(44),1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* Octets 54-55 : Start timestep when clustering. C Octets 56-57 : End timestep when clustering. C Two 16 bit fields. C C Insert/extract fields. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(45),2,KBITS, 16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* Octets 58-60 : Northern latitude of domain of clustering C Octets 61-63 : Western longitude of domain of clustering C Octets 64-66 : Southern latitude of domain of clustering C Octets 67-69 : Eastern longitude of domain of clustering C Four 24 bit fields. C C When coding values, set sign bit to 1, if value is negative. C IF ( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC1(47), 24, KRET) CALL CSGNBT( ILALO(2), KSEC1(48), 24, KRET) CALL CSGNBT( ILALO(3), KSEC1(49), 24, KRET) CALL CSGNBT( ILALO(4), KSEC1(50), 24, KRET) ENDIF C C Insert/extract fields. C CALL INXBIT (KGRIB,KLENG,KNSPT,ILALO(1),4,KBITS, 24,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C When decoding values, if sign bit is 1, value is C negative. C IF ( LDECODE ) THEN CALL DSGNBT( KSEC1(47), ILALO(1), 24, KRET) CALL DSGNBT( KSEC1(48), ILALO(2), 24, KRET) CALL DSGNBT( KSEC1(49), ILALO(3), 24, KRET) CALL DSGNBT( KSEC1(50), ILALO(4), 24, KRET) ENDIF C C* Octet 70 : Number of cluster to which operational forecast C belongs. C Octet 71 : Number of cluster to which control forecast C belongs. C Octet 72 : Number of forecasts belonging to the cluster. C Three 8 bit fields. C C Insert/extract fields. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(51),3,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* The number of forecasts belonging to a cluster may vary, C but section 1 is kept a fixed length. C INSPT = KNSPT + 2048 C C* Octets 73-328 : List of N ensemble forecast numbers. C KSEC1(53) 8 bit fields. C C Insert/extract fields. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(54),KSEC1(53),KBITS, X 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C KNSPT = INSPT C GOTO 900 C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF2 : Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,9003) KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF2') ELSE RETURN ENDIF C 9003 FORMAT (1H ,' KNSPT = ',I12) C 9004 FORMAT (' ECDEF2: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/gribex.h0000755000175000017500000017311512127406245020402 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C**** GRIBEX - Coding and decoding of GRIB format data. C C Purpose. C -------- C C 1) Code data in FM-92 GRIB code, Edition 1. C 2) Decode data from FM-92 GRIB code. C 3) Decode only identification sections of GRIB C coded data ie Sections 0, 1 and 2. C 4) Return length of GRIB message, in bytes, and GRIB C Edition number only. C C A number of options exist when coding or decoding - C see values allowed for requested function, HOPER, below. C C Decoding functions work on Experimental Edition, C Edition 0 and Edition 1 of GRIB code. Decoded values C for Sections 0 to 2 are always in Edition 1 format. C C** Interface. C ---------- C C CALL GRIBEX (KSEC0,KSEC1,KSEC2,PSEC2,KSEC3,PSEC3,KSEC4, C X PSEC4,KLENP,KGRIB,KLENG,KWORD,HOPER,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters for all functions. C ----------------------------------- C C HOPER - Requested function. C C C 'A' To encode 8-bit data into GRIB code C C 'B' To decode 8-bit data from GRIB code C C C 'C' To code data in GRIB code, with or C without bit-maps. C C 'D' To decode data from GRIB code. If C ECMWF pseudo-Grib data is encountered, C only sections 0 and 1 are decoded and C the return code is set to -6. C C 'G' Special decoding for graphics purposes. C Reference value returned in PSEC4(1) C Binary scale factor returned in PSEC4(2 C Bit pointer to data increments in C KSEC4(34). C C 'I' To decode only identification C sections 0, 1 and 2 of GRIB or C pseudo-Grib data. C C 'J' To decode only identification C sections 0, 1, 3 and 4 of GRIB. C C 'K' Special "aggressive" coding: try all C the relevant methods of packing, C especially second-order packing, C in order to get the shortest C GRIB message. Effective only for C grid-point fields. No feedback in C KSEC4 descriptors, to preserve the C "read-only" status of this array. C C 'L' Return length of GRIB message, in C bytes, and GRIB Edition number only. C Length does not include any bytes C added to round message length to a C multiple of 120 bytes. Works also for C pseudo-Grib data. C C 'M' To code data in GRIB code and, if a C bit-map is encountered, make GRIB C message full length ie the same length C as if all data values were given. C C 'R' To decode data from GRIB code, and if C a quasi-regular Gaussian grid or a C quasi-regular latitude-longitude grid C is encountered, convert it to regular. C C 'S' To decode initialised analysis data C from GRIB code, and if data is in the C Experimental Edition of GRIB, set the C Time Range Indicator flag. In the C Experimental Edition there was no C distinction between initialised and C uninitialised analyses. C C 'X' To extract data values for up to 4 C points from a GRIB coded Gaussian or C Latitude/longitude field, without C unpacking the data at other points. C See words 34 to 42 of KSEC4 below. C C 'Z' To decode data from GRIB code. C If a bit-map is encountered, C only sections 0,1 and 2 are decoded and C the return code is set to -5. C C KLENP - Length of array PSEC4. C C KLENG - Length of array KGRIB. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Negative return codes are C informative and do not cause C an abort. C Non- zero , Return to calling routine C even if error encountered. C C C C C C Input parameters for coding function. C Output Parameters for decoding functions. C ----------------------------------------- C C KSEC1 - Integer parameters of Section 1 (Product C Definition Section) of GRIB code. C Integer array of at least 25 words. C C If Section 1 of the GRIB code contains C data for ECMWF local use, KSEC1 should C be sized accordingly eg 53 + N , where C N is the number of ensemble forecasts. C C Word Contents. C ---- --------- C 1 Version number of Code Table 2. C 2 Identification of centre (Code Table 0). C 3 Generating process identification number C ( allocated by originating centre ). C 4 Grid definition (NNN - Catalogue number C of grid used by originating centre. See C Volume B of publication WMO - No.9). C 5 Flag indication relative to Section 2 C (Grid Description Section) and Section C 3 (Bit Map Section). Code Table 1. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Sections 2 and 3 omitted. C 128 Section 2 included, Section 3 C omitted. C 64 Section 2 omitted, Section 3 C included. C 192 Sections 2 and 3 included. C C 6 Indicator of parameter (Code Table 2). C 7 Indicator of type of level (Code Table 3). C (or satellite identifier) C Satellite useage as defined by INPE/CPTEC C and used by ECMWF, pending final definition C by WMO. C 8 Height, pressure etc of level (Code Table 3). C Single level or top of layer. C (or satellite spectral band) C Satellite useage as defined by INPE/CPTEC C and used by ECMWF, pending final definition C by WMO. C 9 Height, pressure etc of level (Code Table 3). C Bottom of layer, if word 6 indicates a layer. C 10 Year of century } C 11 Month } Reference time of data - C 12 Day } Date and time of start of C 13 Hour } averaging or accumulation C 14 Minute } period. C 15 Indicator of unit of time (Code Table 4). C 16 P1 - Period of time (number of time units) C (0 for analyses or initialised analyses). C 17 P2 - Period of time (number of time units); C or time interval between successive C analyses, initialised analyses or forecasts C undergoing averaging or accumulation; C otherwise set to zero. C 18 Time range indicator (Code Table 5). C 19 Number included in average, when time range C indicator indicates an average or C accumulation; otherwise set to zero. C 20 Number missing from average, when time range C indicator indicates an average or C accumulation; otherwise set to zero. C 21 Century of reference time of data. C 22 Identification of sub-centre(Code Table C-1). C 23 Decimal scale factor. C 24 Flag field to indicate local use in C Section 1. C 0 - No local use of section 1. C 1 - Local use of section 1. C 25-36 Reserved for WMO reserved fields. Set to 0. C 37 ECMWF local usage identifier.This is a number C which indicates the contents of words 38-nn. C C 1 - ECMWF local GRIB use definition 1. C Ensemble forecast data. C 2 - ECMWF local GRIB use definition 2. C Cluster means and standard deviations. C 3 - ECMWF local GRIB use definition 3. C Satellite image data. C 4 - ECMWF local GRIB use definition 4. C Ocean model data. C 5 - ECMWF local GRIB use definition 5. C Forecast probability data. C 6 - ECMWF local GRIB use definition 6. C Surface temperature data. C 7 - ECMWF local GRIB use definition 7. C Sensitivity gradient/Trajectory C forecast and Sensitivity forecast data. C 8 - ECMWF local GRIB use definition 8. C ECMWF re-analysis data. C 9 - ECMWF local GRIB use definition 9. C Singular vectors and ensemble perturbations. C C #include "ecdef1.h" #include "ecdef2.h" #include "ecdef3.h" #include "ecdef4.h" #include "ecdef5.h" #include "ecdef6.h" #include "ecdef7.h" #include "ecdef8.h" #include "ecdef9.h" #include "ecdef10.h" #include "ecdef11.h" #include "ecdef12.h" #include "ecdef13.h" #include "ecdef14.h" C C C C C C KSEC2 - Integer parameters of Section 2 (Grid C Description Section) of GRIB code. C Integer array of at least 22 + n words, C where n is the number of parallels or C meridians in a quasi-regular (reduced) C Gaussian or latitude/longitude grid. C C Notes:- 1) Latitudes, longitudes are in C millidegrees. C 2) Latitude values in the range 0-90000. C 3) Longitude values in the range 0-360000. C 4) Southern latitudes and western C longitudes are negative. C C Word Contents for latitude/longitude grids or C equidistant cylindrical or Plate Carree. C ---- ---------------------------------------- C 1 Data representation type (Code Table 6). C 2 Ni - Number of points along a parallel. C 3 Nj - Number of points along a meridian. C 4 La1 - Latitude of first grid point. C 5 Lo1 - Longitude of first grid point. C 6 Resolution flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Direction increments not given. C Used for quasi-regular grids, but C can also be used for regular grids. C 128 Direction increments given. C Grids must be regular. C C 7 La2 - Latitude of last grid point. C 8 Lo2 - Longitude of last grid point. C 9 Di - i direction increment. C 10 Dj - j direction increment. C 11 Scanning mode flags (Code Table 8). C 12 Number of vertical coordinate parameters. C 13 Latitude of the southern pole of rotation. C 14 Longitude of the southern pole of rotation. C 15 Latitude of the the pole of stretching. C 16 Longitude of the the pole of stretching. C 17 0 , Regular grid. C 1 , Quasi-regular (reduced) grid. C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C ! C ! At the moment quasi-regular latitude/ C ! longitude grids are not properly defined. C ! The Resolution flag field indicates both C ! direction increments are given or not. C ! One increment needs to be given. Grids C ! can be irregular in one direction only. C ! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C 18 Earth flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Earth assumed spherical with C radius of 6367.47 km. C 64 Earth assumed oblate spheroidal C with size as determined by IAU in C 1965 : C (6378.160km,6356.775km,f=1/297.0) C C 19 Components flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Resolved u and v components of C vector quantities relative to C easterly and northerly directions. C C 8 Resolved u and v components of C vector quantities relative to the C defined grid in the direction of C increasing x and y (or i and j) C coordinates respectively. C C 20-22 Reserved. Set to 0. C 23-nn Number of points along each parallel C in a Quasi-regular grid. Number of parallels C is given by Nj above. C or C Number of points along each meridian C in a Quasi-regular grid. Number of meridians C is given by Ni above. C C Scanning mode flags (Code Table 8) indicate C whether points are consecutive on a meridian C or a parallel. C C Notes:- 1) Increments are in millidegrees. C C C C C C Word Contents for Gaussian grids . C ---- --------------------------------------- C 1 Data representation type (Code Table 6). C 2 Ni - Number of points along a parallel. C Cannot be used for quasi-regular grids. C 3 Nj - Number of points along a meridian. C 4 La1 - Latitude of first grid point. C 5 Lo1 - Longitude of first grid point. C 6 Resolution flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Direction increments not given. C Used for quasi-regular grids, but C can also be used for regular grids. C 128 Direction increments given. C Grids must be regular. C C 7 La2 - Latitude of last grid point. C 8 Lo2 - Longitude of last grid point. C 9 Di - i direction increment. C Cannot be used for quasi-regular grids. C 10 N - Number of parallels between a Pole and C the Equator. C 11 Scanning mode flags (Code Table 8). C 12 Number of vertical coordinate parameters. C 13 Latitude of the southern pole of rotation. C 14 Longitude of the southern pole of rotation. C 15 Latitude of the the pole of stretching. C 16 Longitude of the the pole of stretching. C 17 0 , Regular grid. C 1 , Quasi-regular (reduced) grid. C 18 Earth flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Earth assumed spherical with C radius of 6367.47 km. C 64 Earth assumed oblate spheroidal C with size as determined by IAU in C 1965 : C (6378.160km,6356.775km,f=1/297.0) C C 19 Components flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Resolved u and v components of C vector quantities relative to C easterly and northerly directions. C C 8 Resolved u and v components of C vector quantities relative to the C defined grid in the direction of C increasing x and y (or i and j) C coordinates respectively. C C 20-22 Reserved. Set to 0. C 23-nn Number of points along each parallel C in a Quasi-regular grid. Number of parallels C is given by Nj above. C C Notes:- 1) Increments are in millidegrees. C C C C C C Word Contents for Spherical Harmonic Coefficients. C ---- -------------------------------------------- C 1 Data representation type (Code Table 6). C 2 J - Pentagonal resolution parameter. C 3 K - Pentagonal resolution parameter. C 4 M - Pentagonal resolution parameter. C 5 Representation type ( Code Table 9 ). C 6 Representation mode ( Code Table 10 ). C 7-11 Reserved. Set to 0. C 12 Number of vertical coordinate parameters. C 13 Latitude of the southern pole of rotation. C 14 Longitude of the southern pole of rotation. C 15 Latitude of the the pole of stretching. C 16 Longitude of the the pole of stretching. C 17-22 Reserved. Set to 0. C C C C C C Word Contents for Polar Stereographic. C ---- -------------------------------------------- C 1 Data representation type (Code Table 6). C 2 Nx - Number of points along X-axis. C 3 Ny - Number of points along Y-axis. C 4 La1 - Latitude of first grid point. C 5 Lo1 - Longitude of first grid point. C 6 Reserved. Set to 0. Resolution flag is C not applicable to Polar stereographic. C 7 LoV - Orientation of the grid ie the C longitude of the meridian which is parallel C to the Y-axis along which latitude increases C as the Y-coordinate increases. C 8 Reserved. Set to 0. C 9 Dx - X-direction grid length. C 10 Dy - Y-direction grid length. C 11 Scanning mode flag (Code Table 8). C 12 Number of vertical coordinate parameters. C 13 Projection centre flag. C 0 , North pole is on projection plane. C 1 , South pole is on projection plane. ?????? C 128 , South pole is on projection plane. ???? C 14-16 Reserved. Set to 0. C 17 0 , Regular grid. C 1 , Quasi-regular (reduced) grid. C 18 Earth flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Earth assumed spherical with C radius of 6367.47 km. C 64 Earth assumed oblate spheroidal C with size as determined by IAU in C 1965 : C (6378.160km,6356.775km,f=1/297.0) C C 19 Components flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Resolved u and v components of C vector quantities relative to C easterly and northerly directions. C C 8 Resolved u and v components of C vector quantities relative to the C defined grid in the direction of C increasing x and y (or i and j) C coordinates respectively. C 20-22 Reserved. Set to 0. C C C Notes 1) Grid lengths are in metres, at the 60- C degree parallel nearest to the pole on C the projection plane. C C C C C C Word Contents for Mercator. C ---- --------------------------------------- C 1 Data representation type (Code Table 6). C 2 Ni - Number of points along a parallel. C 3 Nj - Number of points along a meridian. C 4 La1 - Latitude of first grid point. C 5 Lo1 - Longitude of first grid point. C 6 Resolution flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Direction increments not given. C 128 Direction increments given. C C 7 La2 - Latitude of last grid point. C 8 Lo2 - Longitude of last grid point. C 9 Latin - latitude at which the Mercator C projection cylinder intersects the earth. C 10 Reserved. set to 0. C 11 Scanning mode flags (Code Table 8). C 12 Number of vertical coordinate parameters. C 13 Di - i direction grid length. C 14 Dj - j direction grid length. C 15-16 Reserved. Set to 0. C 17 0 , Regular grid. C 1 , Quasi-regular (reduced) grid. C 18 Earth flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Earth assumed spherical with C radius of 6367.47 km. C 64 Earth assumed oblate spheroidal C with size as determined by IAU in C 1965 : C (6378.160km,6356.775km,f=1/297.0) C C 19 Components flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Resolved u and v components of C vector quantities relative to C easterly and northerly directions. C C 8 Resolved u and v components of C vector quantities relative to the C defined grid in the direction of C increasing x and y (or i and j) C coordinates respectively. C C 20-22 Reserved. Set to 0. C C Notes 1) Grid lengths are in units of metres, C at the parallel specified by Latin. C C C C C C Word Contents for Lambert conformal, secant or C tangent, conical or bi-polar (normal or C oblique) or C Albers equal-area, secant or tangent, C conical or bi-polar (normal or oblique). C ---- -------------------------------------------- C 1 Data representation type (Code Table 6). C 2 Nx - Number of points along X-axis. C 3 Ny - Number of points along Y-axis. C 4 La1 - Latitude of first grid point. C 5 Lo1 - Longitude of first grid point. C 6 Resolution flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Direction increments not given. C 128 Direction increments given. C C 7 LoV - Orientation of the grid ie the East C longitude of the meridian which is parallel C to the Y-axis along which latitude increases C as the Y-coordinate increases. C 8 Reserved. Set to 0. C 9 Dx - X-direction grid length. C 10 Dy - Y-direction grid length. C 11 Scanning mode flag (Code Table 8). C 12 Number of vertical coordinate parameters. C 13 Projection centre flag. C 0 , North pole is on projection plane. C Only one projection centre is used. C 128 , South pole is on projection plane. C Only one projection centre is used. C 64 , North pole is on projection plane. C Projection is bi-polar and symmetric. C 192 , South pole is on projection plane. C Projection is bi-polar and symmetric. C 14 Latin 1 - First latitude from the pole at C which the secant cone cuts the sphere. C 15 Latin 2 - Second latitude from the pole at C which the secant cone cuts the sphere. C 16 Reserved. Set to 0. C 17 0 , Regular grid. C 1 , Quasi-regular (reduced) grid. C 18 Earth flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Earth assumed spherical with C radius of 6367.47 km. C 64 Earth assumed oblate spheroidal C with size as determined by IAU in C 1965 : C (6378.160km,6356.775km,f=1/297.0) C C 19 Components flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Resolved u and v components of C vector quantities relative to C easterly and northerly directions. C C 8 Resolved u and v components of C vector quantities relative to the C defined grid in the direction of C increasing x and y (or i and j) C coordinates respectively. C C 20 Latitude of the southern pole. C 21 Longitude of the southern pole. C 22 Reserved. Set to 0. C C Notes 1) Grid lengths are in metres, at the 60- C degree parallel nearest to the pole on C the projection plane. C C C C C C Word Contents for Space view perspective C or orthographic. C ---- --------------------------------------- C 1 Data representation type (Code Table 6). C 2 Nx - Number of points along x-axis. C 3 Ny - Number of points along y-axis. C 4 Lap - Latitude of sub-satellite point. C 5 Lop - Longitude of sub-satellite point. C 6 Resolution flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Direction increments not given. C 128 Direction increments given. C C 7 dx - Apparent diameter of the earth in C grid lengths in the x direction. C 8 dy - Apparent diameter of the earth in C grid lengths in the y direction. C 9 Xp X-coordinate of sub-satellite point C 10 Yp Y-coordinate of sub-satellite point C 11 Scanning mode flag (Code Table 8). C 12 Number of vertical coordinate parameters. C 13 The orientation of the grid. C 14 nr - the altitude of the camera from the C earth's centre. C For orthographic view from infinite C distance 16777215. C 15 Xo - X coordinate of origin of sector C image. C 16 Yo - Y coordinate of origin of sector C image. C 17 0 , Regular grid. C 1 , Quasi-regular (reduced) grid. C 18 Earth flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Earth assumed spherical with C radius of 6367.47 km. C 64 Earth assumed oblate spheroidal C with size as determined by IAU in C 1965 : C (6378.160km,6356.775km,f=1/297.0) C C 19 Components flag. C Valid values are :- C C Decimal C value Meaning C ----- ------- C 0 Resolved u and v components of C vector quantities relative to C easterly and northerly directions. C C 8 Resolved u and v components of C vector quantities relative to the C defined grid in the direction of C increasing x and y (or i and j) C coordinates respectively. C C 20-22 Reserved. Set to 0. C C C C C C PSEC2 - Real parameters for Section 2 (Grid C Definition Section) of GRIB Code. C Real array of at least 10 + nn words, where C nn is the number of vertical coordinate C parameters. C C Word Contents. C ---- -------------------------------------------- C 1 Angle of rotation. C 2 Stretching factor. C 3-10 Reserved. Set to 0. C 11-nn Vertical coordinate parameters. C Number given in KSEC2(12) C C C C C C KSEC3 - Integer parameters for Section 3 (Bit Map C Section) of GRIB code. C Integer array of at least 2 words. C C Word Contents. C ---- -------------------------------------------- C 1 0 , Bit map included in the GRIB message. C Binary data array (PSEC4) contains the C missing data indicator at the points C where no data is given. C Non-zero, Number of predetermined bit-map. C Bit map is not included in the message. C Binary data array contains only valid C data values. C C 2 The value used to indicate missing data in C an integer binary data array is indicated C here. C This value is user supplied for both C coding and decoding, and redefined at each C call. C C On ouput, whenever a masked field is found, C the effective number of non-missing values C is returned. C C C C C PSEC3 - Real parameters for Section 3 (Bit Map C Section) of GRIB code. C Real array of at least 2 words. C C Word Contents. C ---- -------------------------------------------- C 1 Not used. C C 2 The value used to indicate missing data in C a real binary data array is indicated here. C This value is user supplied for both C coding and decoding. C C C C C C KSEC4 - Integer parameters for Section 4 (Binary C Data Section) of GRIB code. C Integer array of at least 42 words. C C Word Contents. C ---- -------------------------------------------- C 1 Number of data values in array PSEC4 to be C packed in GRIB code or which have been C unpacked from GRIB code. Where a bit-map C is used this number includes the number of C mising data values. C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C ! ! C ! If this number is NEGATIVE, it indicates ! C ! ENTIRE FIELD IS MISSING. All values in PSEC4 ! C ! are 0. This is an ECMWF convention - coded ! C ! data has scale factor, exponent and mantissa ! C ! of reference value with all bits set to 1. ! C ! ! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C 2 Number of bits used for each packed value. C 3 Type of data. Used only if Section 2 is C not included when coding data. C 0 - Grid point data. C 128 - Spherical harmonic coefficients. C 4 Type of packing. C 0 - Simple packing. C 64 - Complex or second order packing. C 5 Data representation. C 0 - Floating point data. C 32 - Integer data. C 6 Additional flags indicator. C 0 - No additional flags. C 16 - additional flags. C 7 Reserved. Set to 0. C 8 Number of values indicator. C 0 - Single datum at each grid point. C 64 - Matrix of values at each grid point. C 9 Secondary bit maps indicator. C 0 - No secondary bit maps. C 32 - Secondary bit maps present. C 10 Values width indicator. C 0 - Second order values constant width. C 16 - Second order values different widths. C 11 Number of bits for second order values, C when of constant width. C C If not zero, words 12 to 15 indicate specific use of C 2nd-order packing methods which are extensions C to current WMO standard for GRIB edition 1. C C 12 General extended 2nd-order packing indicator. C 0 - Method not used. C 8 - Method in use. C 13 Boustrophedonic ordering indicator. C 0 - Sub-method not used. C 4 - Sub-method in use. C 14 Spatial differencing 1st indicator. C 0 - Sub-method used at order KSEC4(15) if equal to 1. C 2 - Sub-method used, at order 2+KSEC4(15). C 15 Spatial differencing 2nd indicator. C 0 - Sub-method used at order KSEC4(14) if equal to 2. C 1 - Sub-method used, at order KSEC4(14)+1. C C Spatial differencing feature is used at order C KSEC4(14)+KSEC4(15), provided this sum is not 0, and the C valid entries mentioned above are used. C C Contents of words 16-20 for simple packing cases : C C 16-20 Set to 0. C C Contents of words 16-20 for complex packing of spectral data : C C 16 Pointer to the start of packed data values. C 17 Scaling factor P, stored as the integer value P*1000 C (in the range -10000 to +10000) for GRIB edition 1. C (and as P for GRIB edition 0 decoding) C 18 Pentagonal resolution parameter J for data subset C stored as 32-bit floating-point values. C 19 Pentagonal resolution parameter K for data subset. C 20 Pentagonal resolution parameter M for data subset. C C Contents of words 16-20 for complex packing of grid-point data C (second-order packing) : C C 16 Pointer (relative to section 4) to first-order values. C 17 Pointer (relative to section 4) to 2nd-order values. C 18 Number of first-order values. C 19 Number of second-order values. C 20 Group width (8 bits in standard cases). C C Words 21 to 24 are supplied back both for decoding and encoding C functions. C C 21 Number of non-missing points if masked field . C (set to 0 otherwise) C 22 Bit-map pointer to explicit bit-map if any. C (set to 0 otherwise) C 23 Full length of section 4 (octets). C 24 Unused bit count at end of section 4. C C 25-33 Reserved. Set to 0. C C Words 34 to 42 are used only for the 'X' C function. Scanning mode must be from West C to East and from North to South. C 34 Number of points (maximum 4) from which C data is to be unpacked. C 35 Number of latitude row of first value. C 36 Number of longitude point of first value. C 37 Number of latitude row of second value. C 38 Number of longitude point of second value. C 39 Number of latitude row of third value. C 40 Number of longitude point of third value. C 41 Number of latitude row of fourth value. C 42 Number of longitude point of fourth value. C C For grid point packing, with a matrix of C values at each grid point, words 50 to C 50+NC1+NC2 are used as follows. C 50 First dimension (rows) of each matrix. C 51 Second dimension (columns) of each matrix. C 52 First dimension coordinate values definition C See Code Table 12. C 53 NC1- Number of coefficients or values used to C specify first dimension coordinate function. C 54 Second dimension coordinate values definition C See Code Table 12. C 55 NC2- Number of coefficients or values used to C specify second dimension coordinate function. C 56 First dimension physical significance. See C Code Table 13. C 57 Second dimension physical significance. See C Code Table 13. C 58 - 59 Reserved. Set to 0. C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C ! ! C ! In the WMO specification the following ! C ! fields are integer values. ECMWF uses ! C ! floating point values for the wave models ! C ! so these fields contain real values on ! C ! both input and output. C ! ! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C 60 - (59+NC1) Coefficients to define first dimension C coordinate values in functional form, or the C the explicit coordinate values. C (60+NC1)-(59+NC1+NC2) Coefficients to define second dimension C coordinate values in functional form, or the C the explicit coordinate values. C C C C C C PSEC4 - Array of data values to be packed in GRIB C code or which have been unpacked. Where a C bit-map is included in the GRIB message C this array contains missing data indicator C ( value supplied by the user in PSEC3(2) C or KSEC3(2) ) at the appropriate places. C C Although declared as real in GRIBEX this C can be an array of integer data. The value C in KSEC4(5) indicates whether data is in C integer or floating point format. C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C ! ! C ! When CODING data, PSEC4 is OVERWRITTEN. ! C ! ! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C Output parameters for coding function. C Input Parameters for decoding functions. C ----------------------------------------- C C KGRIB - Array containing GRIB coded data. C C KWORD - Number of words of KGRIB occupied by C coded data. Output parameter for coding C function only. Not required as input C for decoding. C C Output Parameters for all functions. C ----------------------------------- C C KSEC0 - Word 1 contains number of octets in C GRIB message (not including padding to C a word boundary or rounding to a multiple C of 120 octets). C - Word 2 contains GRIB edition number. C C KRET - Return code. C C Informative codes for decoding functions. C C -2 , Bit-map encountered with all bits C set to 1. Array PSEC4 contains all C real data values. C -3 , Predetermined bit-map encountered. C Data has not been fully decoded ie C array PSEC4 contains only real data C values. The user must use this data C in conjunction with the defined C bit-map. C -4 , Bit-map encountered. The data has C been fully decoded ie array PSEC4 C contains real values and missing C data indicators where appropriate. C -5 , Bit-map encountered. The data has C not been decoded. This return code C is set only by the 'Z' function. C -6 , ECMWF pseudo-grib data encountered. C C Error codes. C C 0 , No error encountered. C 201 , Invalid function requested. C 202 , Number of bits per data value exceeds C word length. C 203 , Missing data indicated and data field C contains non-zero values. C 204 , Number of bits for coding value is zero C or negative. C 301 , Error in inserting/extracting C letters GRIB. C 302 , Error extracting length of GRIB C message. C 303 , Error inserting/extracting GRIB C Edition Number. C 304 , Error extracting octets 22 and 23 C Experimental Edition check. C 305 , Input data is not GRIB or pseudo- C grib. C 401 , Error inserting/extracting length of C Section 1. C 402 , Error inserting/extracting Parameter C Version Number. C 403 , Error inserting/extracting six fields C from Identification of Centre to C Indicator of type of level. C 404 , Error inserting/extracting Height, C pressure, etc of levels. C 405 , Error inserting/extracting six fields C from Year of century to Indicator C of unit of time range. C 406 , Error inserting/extracting Period of C time. C 407 , Error inserting/extracting time range C indicator. C 408 , Error inserting/extracting number C averaged. C 409 , Error inserting/extracting number C missing from averages etc. C 410 , Error inserting/extracting century of C data or reserved field. C 411 , Error inserting/extracting units C decimal scale factor. C 412 , Error inserting/extracting ECMWF C local data. C 413 , Grib Edition not catered for. C 414 , Error inserting/extracting sub-centre. C 499 , Error found when checking values for C Section 1 against valid GRIB values. C C 501 , Error inserting/extracting length of C Section 2. C 502 , Error inserting/extracting number of C Vertical coordinate parameters. C 503 , Error inserting/extracting location C of List of vertical coordinate C parameters or List of numbers of C points. C 504 , Error inserting/extracting data C representation type. C 505 , Error inserting/extracting number of C points along a parallel or meridian. C 506 , Error inserting/extracting latitude C or longitude of first grid point. C 507 , Error inserting/extracting components C flag. C 508 , Error inserting/extracting latitude C or longitude of last grid point. C 509 , Error inserting/extracting i C direction increment. C 510 , Error inserting/extracting number of C parallels between pole and Equator. C 511 , Error inserting/extracting scanning C mode flags. C 513 , Error inserting/extracting j C direction increment. C 514 , Error inserting/extracting J,K,M C pentagonal resolution parameters. C 515 , Error inserting/extracting C representation type or mode. C 517 , Error inserting/extracting latitude C or longitude of southern pole. C 518 , Error inserting/extracting angle C of rotation. C 519 , Error inserting/extracting latitude C or of pole of stretching. C 520 , Error inserting/extracting C stretching factor. C 521 , Error inserting/extracting C vertical coordinate parameters. C 522 , Error inserting/extracting list of C numbers of points. C 523 , Error inserting/extracting number of C points along X or Y axis. C 524 , Error inserting/extracting X or Y C axis grid lengths. C 525 , Error inserting/extracting Projection C centre flag. C 526 , Error inserting/extracting latitude C or longitude of sub-satellite point. C 527 , Error inserting/extracting diameter C of the earth in x or y direction. C 528 , Error inserting/extracting X or Y C coordinate of sub-satellite point. C 529 , Error inserting/extracting orientatio C of the grid or camera angle. C 530 , Error inserting/extracting X or Y C coordinates of origin of sector. C 598 , Representation type not catered for. C 599 , Error found when checking values for C Section 2 against valid GRIB values. C 601 , Error inserting/extracting length of C Section 3. C 602 , Error inserting/extracting number of C unused bits at end of section 3. C 603 , Error inserting/extracting bit-map C reference table. C 604 , Error inserting/extracting primary C Bit-map. C 605 , Cannot convert Quasi-regular C Gaussian grid with a bit-map. C 699 , Error found when checking values for C Section 3 against valid GRIB values. C 701 , Error inserting/extracting length of C Section 4. C 703 , Second-order packing implies C additional flags. C 704 , Functions 'A','B','G' invalid with C second-order packing. C 705 , Only simple packing catered for. C 706 , Error in extracting section 4 flag C field. C 707 , Error inserting/extracting scale C factor. C 708 , Error inserting/extracting reference C value. C 709 , Error inserting/extracting number of C bits per data value. C 710 , Output array too small. C 711 , Error inserting/extracting real C coefficient. C 712 , Error inserting/extracting data C values. C 713 , Error inserting/extracting flag C and unused bit field. C 714 , Function is 'X' and number of C values is illegal. C 715 , Function is 'X' and scanning mode is C not North to South and West to East. C 716 , Function is 'X' and field is not C Gaussian or Latitude/longitude grid. C 717 , Function is 'X' and a bit-map is C included. C 720 , Error inserting/extracting octet C number at which packed data begins. C 721 , Error inserting/extracting extended C extended flag field. C 722 , Error inserting/extracting first or C second dimension of matrix. C 723 , Error inserting/extracting six fields C from first dimension coordinate value C onwards. C 724 , Error inserting/ectracting first or C second dimension coefficients. C 725 , Error inserting secondary bit-maps. C 726 , Explicitly constant field not C supported without a section 2. C 727 , Explicitly constant field not C supported for spectral field. C 728 , Functions 'G' or 'B' not supported C for an explicitly constant field. C 798 , Function is 'X' and no section 2 is C included. C 799 , Error found when checking values for C Section 4 against valid GRIB values. C 801 , Error inserting/extracting 7777 group C 802 , Error inserting/extracting length of C GRIB message. C 805 , End of message 7777 group not found. C 806 , Error in extracting primary or C secondary bit maps. C 808 , Error converting quasi-regular C gaussian grid to regular. C 810 , Error inserting dummy zero. C C C Method. C ------- C C Input data packed in GRIB code in accordance with C parameters given or set by user or fully or partially C unpacked, depending on function used. C C Externals. C ---------- C C ABORTX C C2ORDR C CONFP3 C CSECT4 C CSGNBT C D2ORDR C DECFP2 C DSECT4 C DSGNBT C ECLOC1 C EXSCAL C EXTMAP C GBITMAP C GRCHK1 C GRCHK2 C GRCHK3 C GRCHK4 C GRPRS0 C GRPRS1 C GRPRS2 C GRPRS3 C GRPRS4 C INSCAL C INSMP1 C INSMP2 C INXBIT C MAXMIN C MAXMN2 C QU2REG2 C RORINT C SETPAR C C Reference. C ---------- C C WMO Manual on Codes for GRIB definition. C WMO Publication No. 9, Volume B, for grid catalogue numbers. C C Comments. C --------- C C All machine dependent code is in 3 low level routines. C Versions of these exist for the VAX, CYBER, IBM C and SUN workstation, as well as the CRAY. C INXBIT - contains calls to the routines GBYTE(S) C and SBYTE(S) or their equivalents. C SETPAR - to set number of bits in the computer word C and largest negative number. C ABORTX - to terminate execution of the job. C C This routine codes/decodes: C - regular and quasi-regular latitude/longitude grids, C - regular and quasi-regular gaussian grids, C - spherical harmonics, C - space view perspective or orthographic fields, C - polar stereographic data, C - lambert conformal grids. C Grids may be rotated, stretched, or rotated and stretched. C They may have primary and secondary bit-maps. C Only simple packing of integer data is allowed, but C real data may use simple or complex packing. C Matrices of values at grid points are supported and the C additional flag field is allowed. C C Apart from the values which can be passed to this C routine, other values are held in a common area and C are used by default, unless changed by calls to the C appropriate routines before calling GRIBEX. The C following defaults are used. They have been selected C to facilitate the most frequent usage at ECMWF and C to ease the transition to the next version of the C GRIB code. C C 1) By default debug printout is switched off. C CALL GRSDBG (I) where C I = Non-zero to switch on debug printout. C 0, to switch off debug printout. C C 2) By default the reference value used is the minimum C of the data values supplied. C CALL GRSREF (ZREF) to change the value, where ZREF C is real and the required value. C C 3) By default GRIB messages are rounded to a C multiple of 120 octets. C CALL GRSRND (I) where C I = 0, to switch off rounding. C Non-zero to switch on rounding. C C 4) By default, the values given are checked for C consistency with GRIB code values as currently C defined, when coding data. Data values are never C checked. C CALL GRSVCK (I) where C I = 0, to switch off checking. C Non-zero to switch on checking. C C C 5) By default P factor calculation switch is switched C off, i.e. the user supplies the P factor for complex C packing. C CALL GRSMKP (I) where C I = 0 , user supplies the P factor C = Non-zero , GRIBEX calculates the P C factor. C C C Ancillary print routines are available for the C various sections of the GRIB code. C C CALL GRPRS0 (KSEC0) To print section 0. C C CALL GRPRS1 (KSEC0,KSEC1) To print section 1. C C CALL GRPRS2 (KSEC0,KSEC2,PSEC2) To print section 2. C C CALL GRPRS3 (KSEC0,KSEC3,PSEC3) To print section 3. C C CALL GRPRS4 (KSEC0,KSEC4,PSEC4) To print section 4. C C Routine contains Sections 0 to 9. C C Author. C ------- C C J. Hennessy ECMWF 25.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 09.07.91 C Functions 'R' and 'L' added. C Release 1 of software. C C J. Hennessy ECMWF 14.08.91 C Functions 'S' and 'X' added. C C J. Hennessy ECMWF 23.08.91 C Bit-map handling added. C C J. Hennessy ECMWF 04.09.91 C Polar stereographic representation added. C Flag bit handling modified. Various bugs fixed. C C J. Hennessy ECMWF 11.09.91 C Function 'M' added. C C J. Hennessy ECMWF 24.09.91 C Space view perspective representation added. C C J. Hennessy ECMWF 01.10.91 C Integer data handling added. Length of GRIB message C for Experimental Edition and Edition 0 included C when function 'I' is used. C C J. Hennessy ECMWF 25.10.91 C When decoding data with bit-maps, include the number of C missing data values in the number of values decoded. C Release 2 of software. C C J. Hennessy ECMWF 30.10.91 C Check for ECMWF pseudo-grib data made specific for C parameter numbers 127 and 128. C Bug in 'X' function fixed. C C J. Hennessy ECMWF 22.11.91 C A number of machine dependent features removed. C Bug fixed in Polar Stereographic representation. C Release 3 of software. C C J. Hennessy ECMWF 23.01.92 C Handling of missing fields modified. C Print of sections 2 and 3 suppressed, if not used. C C J. Hennessy ECMWF 21.07.92 C Consistency checks moved from end to start of sections. C Secondary bit-maps and matrix of values at each grid C point and additional flag field added. C X and Y coordinates of origin of sector image added C to space view perspective representation. C Release 4 of software. C C J. Hennessy ECMWF 24.09.92 C Bugfix. KSEC4(3) set to 0 before checking type of data. C C J. Hennessy ECMWF 12.10.92 C Check for 'GRIB` added when decoding data. C Return correct error code, if 7777 group not found and C GRIB message contains bit-maps. C C J. Hennessy ECMWF 06.11.92 C ECMWF use of part of Section 1 reserved for local use. C Release 5 of software. C C J. Hennessy ECMWF 25.02.93 C Check on valid Grib Edition number added. C C J. Hennessy ECMWF 19.05.93 C ECMWF local uses 3 and 4 added. C Function 'G' added. C Release 6 of software. (NEXT VERSION on Cray and IBM only) C C J.D.Chambers ECMWF 18.10.93 C ECMWF local use 5. (Forecast probabilities). C C J.D.Chambers ECMWF 09.03.94 C Add check that given number of bits for packing is positive C C J.D.Chambers ECMWF 15.04.94 C Add options 'A' and 'B' for handling 8-bit data. C C J.D.Chambers ECMWF 09.04.04 C Add complex packing for spherical harmonics. C C J.D.Chambers ECMWF 21.06.94 C Set encode/decode flag allowing for possible use of 'L' option C C J.D.Chambers ECMWF 07.07.94 C Put zeroes in all reserved fields (don't assume arrays have C been zeroed). C Use csgnbt and dsgnbt to code/decode sign bits. C C J.D.Chambers ECMWF 13.07.94 C Replace call to QU2REG by call to QU2REG2 to allow linear C interpolation of fields with missing data values. C C J.D.Chambers ECMWF 06.09.94 C Add user option to supply the P factor for complex packing C This is switched on/off by a user call to GRSMKP. C C J.D.Chambers ECMWF 11.11.94 C Fix type of ZS for NOS/VE and assign of LENCODE/LDECODE C for 'L' option C C J.D.Chambers ECMWF 21.11.94 C Use JNINT on VAX C C J.D.Chambers ECMWF 19.01.95 C Allow for section 1 local use definition 8 (ERA) C C J.D.Chambers ECMWF 21.02.95 C Allow for quasi-regular lat/long grids (c.f.Washington SSTs) C C J.D.Chambers ECMWF 22.02.95 C Changes for sensitivity forecast. C C J.D.Chambers ECMWF 23.05.95 C Add check that output array is big enough for filling with C missing data values. C Add return warning (-7) when all data values are missing. C C J.D.Chambers ECMWF 29.06.95 C Allow for global product with wraparound, eg last longitude C repeats first in composite Washington SSTs. C C J.D.Chambers ECMWF 29.06.95 C Allow Lambert conformal. C C J.D.Chambers ECMWF 30.06.95 C Remove return warning (-7) when all data values are missing. C C J.D.Chambers ECMWF 13.09.95 C Fail decoding if number of bits per packed value = number C of bits per computer word (error 205). C C J.D.Chambers ECMWF 09.10.95 C Add decoding of Washington ensemble products local usage. C C J.D.Chambers ECMWF 11.01.96 C Use section 1 octet 26 for designated sub-centres: C = 98 for EPS products from Washington with C ECMWF extensions. C = 240 for ECMWF seasonal forecast centre. C = 241 for Meteo France. C = 242 for EDF. C = 243 for UKMO. C = 0 otherwise. C C J.D.Chambers ECMWF 09.02.96 C Add 'J' decoding option. C C J.D.Chambers ECMWF 24.10.96 C Add handling of predetermined bitmap C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J. Clochard, Meteo France, for ECMWF - January 1998. C Add coding and decoding of second-order packed grid-point data. C Function 'K' added. C Enables decoding of explicitly constant fields (0-bit number) C for grid-point fields encoded with a section 2. C Update table 3 for level/layer management. C KSEC1(22) enforced only when coding ECMWF data. C For 'R' option, secure when no primary bit-map, C and take into account periodicity (or not) of input grid. C Default setting of global variables through GRSDEF routine. C For masked fields, effective number of points returned C in KSEC3(2). C C J. Clochard, Meteo France, for ECMWF - September 1998. C Enable decoding of complex packing spectral data in GRIB edition 0 C and/or without section 2. C KSEC0 added in DSECT4 calling syntax. emoslib-000392+dfsg.1/gribex/decops2.F0000755000175000017500000004717012127406245020420 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DECOPS2(NAME,CHDATA,ILENCH,FPDATA,ILENFP,INDATA,ILENIN, C NBYTE,LGDATA,ILENLG,IB1PAR,IPSCOD,ILENPS, C JLENCH,JLENFP,JLENIN,JLENLG,IRSERV,NBIT,IWORD, C IERR ) C C----> C* C* NAME : DECOPS2 C* C* FUNCTION : DECODE PSEUDO-GRIB CODED DATA. C* C* INPUT : NBIT - NUMBER OF BITS IN COMPUTER WORD C* C* IPSCOD - INTEGER ARRAY OF DATA IN PSEUDO-GRIB CODE. C* ILENPS - LENGTH OF ARRAY IPSCOD. C* C* CHDATA - CHARACTER VARIABLE TO RECEIVE DECODED C* CHARACTER DATA. C* ILENCH - LENGTH OF THIS VARIABLE C* C* FPDATA - REAL ARRAY TO RECEIVE DECODED F.P. VALUES. C* ILENFP - LENGTH OF THIS ARRAY. C* C* INDATA - INTEGER ARRAY TO RECEIVE DECODED INTEGERS C* ILENIN - LENGTH OF THIS ARRAY. C* C* LGDATA - LOGICAL ARRAY TO RECEIVE DECODED LOGICALS C* ILENLG - LENGTH OF THIS ARRAY. C* C* IF ANY LENGTH (ILENCH,-FP,-IN,-LG) IS SET C* TO 1, ONLY BLOCK 0 AND BLOCK 1 ARE DECODED. C* C* IB1PAR - INTEGER ARRAY (DIMENSION 18) TO RECEIVE C* DATA DEFINITION INFORMATION. C* C* C* OUTPUT : PARAMETER FROM BLOCK 0 C* ---------------------- C* C* NAME - CHARACTER VARIABLE, 4 LETTERS OF CODE NAME. C* C* C* PARAMETERS FROM BLOCK 1 , PRODUCT DEFINITION BLOCK. C* -------------------------------------------------- C* C* IB1PAR - INTEGER ARRAY (DIMENSION 18) OF DATA C* DEFINITION INFORMATION. C* C* WORD CONTENTS C* ---- -------- C* 1 ORIGINATING CENTRE IDENTIFIER. C* 2 MODEL IDENTIFICATION. C* 3 GRID DEFINITION. C* 4 FLAG ( CODE TABLE 1) C* 5 PARAMETER IDENTIFIER ( CODE TABLE 2 ). C* 6 TYPE OF LEVEL (CODE TABLE 3). C* 7-8 VALUE(S) OF LEVELS (CODE TABLE 3). C* 9 YEAR OF DATA C* 10 MONTH OF DATA C* 11 DAY OF DATA C* 12 HOUR OF DATA C* 13 MINUTE OF DATA C* 14 TIME UNIT (CODE TABLE 4). C* 15 TIME RANGE ONE C* 16 TIME RANGE TWO C* 17 TIME RANGE FLAG (CODE TABLE 5). C* 18 NUMBER AVERAGED. C* C* VALUE(S) OF LEVEL CAN OCCUPY 2 WORDS.. C* FOR A LAYER THE FIRST WORD DEFINES THE TOP C* AND THE SECOND THE BOTTOM OF THE LAYER. C* FOR A SINGLE LEVEL, ONLY THE FIRST WORD IS C* USED. C* C* C* C* PARAMETERS FROM BLOCK 4 , BINARY DATA BLOCK. C* ------------------------------------------- C* C* CHDATA - UNPACKED CHARACTER DATA C* JLENCH - NUMBER OF CHARACTERS. NEGATIVE IF C* MISSING DATA CODED. C* C* FPDATA - ARRAY OF FLOATING POINT VALUES. C* JLENFP - NUMBER OF VALUES IN THIS ARRAY. C* JLENFP IS NEGATIVE IF MISSING DATA CODED C* C* INDATA - ARRAY OF INTEGER VALUES. C* JLENIN - NUMBER OF VALUES IN THIS ARRAY. C* JLENIN IS NEGATIVE IF MISSING DATA CODED C* C* LGDATA - ARRAY OF LOGICAL VALUES. C* JLENLG - NUMBER OF VALUES IN THIS ARRAY. C* JLENLG IS NEGATIVE IF MISSING DATA CODED C* C* NBYTE - NUMBER OF BYTES FOR INTEGER VALUES. C* C* IRSERV - NUMBER OF BYTES IN DATA BLOCK RESERVED C* FOR FUTURE USE. C* C* C* OTHER PARAMETERS. C* ---------------- C* C* IWORD - NUMBER OF WORDS DECODED. C* C* IERR - ERROR INDICATOR. C* C* 0, NO ERROR. C* C* -2, INPUT ARRAY HOLDS FEWER CODED VALUES C* THAN EXPECTED. C* -3, OUTPUT ARRAY/VARIABLE TOO SMALL TO HOLD C* DECODED DATA VALUES. C* -4, CURRENTLY UNDEFINED OPTION SELECTED. C* C* 1, NO BLOCK 5 FOUND. C* C* GENERAL : DECOPS2 CALLS GBYTE C* GBYTES C* OFFSET2 C* DECFP C* C* AUTHOR : J.HENNESSY 23.01.86 C* C* MODIFIED : J.HENNESSY 06.06.86 C* " 21.08.86 C* C* J.Hennessy 17.09.90 C* Lower case letters as well as the characters C* _ - . , added. C* C* J.D.Chambers September 2001 C* Change calls to OFFSET2 from OFFSET C* C --------------------------------------------------------------- C----< C #include "grprs.h" C C PARAMETER (NCHAR=67) C C LOGICAL LGDATA CHARACTER*4 NAME CHARACTER*1 CHAR CHARACTER*(*) CHDATA C C C DIMENSION FPDATA(*),INDATA(*),LGDATA(*) DIMENSION IPSCOD(ILENPS),IBLOCK(24),IB1PAR(18) DIMENSION IASCII(NCHAR) DIMENSION CHAR(NCHAR) C C DATA IASCII /65 ,66 ,67 ,68 ,69 ,70 ,71 ,72 ,73 ,74 ,75 ,76 ,77 , C 78 ,79 ,80 ,81 ,82 ,83 ,84 ,85 ,86 ,87 ,88 ,89 ,90 , C 48 ,49 ,50 ,51 ,52 ,53 ,54 ,55 ,56 ,57 ,32 , C 97 ,98 ,99 ,100,101,102,103,104,105,106,107,108,109, C 110,111,112,113,114,115,116,117,118,119,120,121,122, C 95 ,46 ,44 , 45 / C DATA CHAR /'A','B','C','D','E','F','G','H','I','J','K','L','M', C 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z', C '0','1','2','3','4','5','6','7','8','9',' ', C 'a','b','c','d','e','f','g','h','i','j','k','l','m', C 'n','o','p','q','r','s','t','u','v','w','x','y','z', C '_','.',',','-' / C C C C C C IERR = 0 C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 0 - INDICATOR BLOCK. C* C******************************************************************** C C C EXTRACT 4 OCTETS CONTAINING ASCII NAME. C IWORD = 1 IOFF = 0 IBYTE = 8 NVAL = 4 C CALL GBYTES (IPSCOD(1),IBLOCK(1),0,IBYTE,0,NVAL) CALL OFFSET2 (IOFF,32,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C DO 100 I=1,36 IF (IBLOCK(1).EQ.IASCII(I)) NAME(1:1) = CHAR(I) IF (IBLOCK(2).EQ.IASCII(I)) NAME(2:2) = CHAR(I) IF (IBLOCK(3).EQ.IASCII(I)) NAME(3:3) = CHAR(I) IF (IBLOCK(4).EQ.IASCII(I)) NAME(4:4) = CHAR(I) 100 CONTINUE C C C C C C C******************************************************************** C* C* BLOCK 1 - PRODUCT DEFINITION BLOCK. C* C******************************************************************** C C C EXTRACT FIRST 4 OCTETS OF BLOCK 1. C NVAL = 4 C CALL GBYTES (IPSCOD(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET2 (IOFF,32,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C IF THESE OCTETS DO NOT CONTAIN 0, 0, 24 AND 0 RESPECTIVELY C THEN THE DATA IS IN THE OLD VERSION OF THE CODE. C IF (IBLOCK(1).EQ.0.AND.IBLOCK(2).EQ.0.AND.IBLOCK(3).EQ.24. C AND.IBLOCK(4).EQ.0) C THEN ISNEW = 1 NVAL = 20 ELSE ISNEW = 0 NVAL = 16 ENDIF C C EXTRACT NEXT 16 OR 20 OCTETS OF BLOCK 1 - NUMBER DEPENDS C ON VERSION OF CODE. C CALL GBYTES (IPSCOD(IWORD),IBLOCK(5),IOFF,IBYTE,0,NVAL) CALL OFFSET2 (IOFF,NVAL*IBYTE,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C TRANSFER PRODUCT DEFINITION INFORMATION TO OUTPUT ARRAY. C EXCEPT FOR NUMBER AVERAGED. C DO 200 I=1,17 IB1PAR(I) = IBLOCK(I+4*ISNEW) 200 CONTINUE C C Fixup the date, allowing year in YYYY format C IB1PAR(9) = IBLOCK(13) + 1900 C C C NUMBER AVERAGED OCCUPIES 2 OCTETS. C IB1PAR(18) = IBLOCK(18+4*ISNEW) * 256 + IBLOCK(19+4*ISNEW) C C C C C C*** C* DESCRIPTION OF LEVEL OR LAYER ( CODE TABLE 3 ). C*** C C CERTAIN LEVEL TYPES REQUIRE THAT THE DESCRIPTION OCCUPY C BOTH 8 BIT FIELDS. PUT SINGLE VALUE IN FIRST LEVEL WORD. C KTEMP = 32 + (ISNEW*224) IF ((IB1PAR(6).EQ. 20).OR. X (IB1PAR(6).EQ.100).OR. X (IB1PAR(6).EQ.103).OR. X (IB1PAR(6).EQ.105).OR. X (IB1PAR(6).EQ.107).OR. X (IB1PAR(6).EQ.109).OR. X (IB1PAR(6).EQ.111).OR. X (IB1PAR(6).EQ.113).OR. X (IB1PAR(6).EQ.115).OR. X (IB1PAR(6).EQ.117).OR. X (IB1PAR(6).EQ.125).OR. X (IB1PAR(6).EQ.160) ) THEN IB1PAR(7) = IB1PAR(7) * KTEMP + IB1PAR(8) IB1PAR(8) = 0 ENDIF C C C C C C C C C C*** C* TIME RANGE. C*** C C ONE TIME RANGE CAN OCCUPY TWO OCTETS. C IF (IB1PAR(17).EQ.10) C THEN IB1PAR(15) = IB1PAR(15) * KTEMP + IB1PAR(16) IB1PAR(16) = 0 ENDIF C C C C C C C C C C*** C* CHECK IF DECODING OF ONLY BLOCKS 0 AND 1 HAS BEEN REQUESTED. C*** C IF (ILENFP.EQ.1.OR.ILENIN.EQ.1.OR.ILENLG.EQ.1) RETURN IF (ILENCH.EQ.1) RETURN C C C C C C C C C C C******************************************************************** C* C* BLOCK 4 - BINARY DATA BLOCK. C* C******************************************************************** C C C C*** C* GET LENGTH OF BINARY DATA BLOCK. C*** C C IPW = IWORD IPB = IOFF C CALL GBYTE (IPSCOD(IWORD),LBIN,IOFF,24) CALL OFFSET2 (IOFF,24,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C*** C* OCTET 4 IS RESERVED. C* (IT IS USED IN OLDER VERSIONS OF BUDGET VALUE RECORDS AND C* IT GIVES THE STARTING OCTET ADDRESS OF LOGICAL VALUES, A C* FIXED VALUE OF 34 OR 38) C*** C CALL GBYTE (IPSCOD(IWORD),ISTLG,IOFF,8) IOLDBV = 0 IF (ISTLG.EQ.34.OR.ISTLG.EQ.38) IOLDBV = 1 C C CALL OFFSET2 (IOFF,8,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C*** C* OCTET 5 - MISSING DATA FLAG. (IN OLDER VERSIONS OF BUDGET VALUE C* RECORD IT GIVES STARTING OCTET ADDRESS OF INTEGER VALUES) C*** C CALL GBYTE (IPSCOD(IWORD),IMISS,IOFF,8) CALL OFFSET2 (IOFF,8,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (IOLDBV.EQ.1) C THEN ISTIN = IMISS IMISS = 0 ENDIF C C C C C C C C*** C* OCTETS 6-7 IN OLDER VERSIONS OF BUDGET VALUE RECORDS GIVE C* STARTING BYTE ADDRESS OF FLOATING POINT VALUES SECTION. C* OCTETS 8-9 GIVING THE LENGTH OF THE FLOATING POINT DATA C* SECTION IN OCTETS. C*** C IF (IOLDBV.EQ.1) C THEN CALL GBYTE (IPSCOD(IWORD),ISTFP,IOFF,16) CALL OFFSET2 (IOFF,16,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C CALL GBYTE (IPSCOD(IWORD),LENFP,IOFF,16) CALL OFFSET2 (IOFF,16,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C NUMBER OF FLOATING POINT VALUES. C 4 BYTES PER FLOATING POINT NUMBER. C JLENFP = LENFP / 4 C C NUMBER OF LOGICAL VALUES. C JLENLG = ISTIN - ISTLG C C NUMBER OF INTEGER VALUES. C 2 OCTETS PER INTEGER. C NBYTE = 2 IBITS = NBYTE * 8 JLENIN = ( ISTFP - ISTIN ) / NBYTE C C NO CHARACTER DATA IN OLD FORMAT. C JLENCH = 0 C C CHECK NUMBERS OF DATA ITEMS AGAINST DIMENSIONS C OF TARGET ARRAYS. C IF (JLENFP.GT.ILENFP) C THEN IERR = -3 WRITE(GRPRSM,9001) JLENFP ENDIF C IF (JLENLG.GT.ILENLG) C THEN IERR = -3 WRITE(GRPRSM,9002) JLENLG ENDIF C IF (JLENIN.GT.ILENIN) C THEN IERR = -3 WRITE(GRPRSM,9003) JLENIN ENDIF C IF (IERR.NE.0) RETURN C C NOW WE GO AROUND THE HOUSES AS THIS OLD DATA C HAS THE DIFFERENT DATA TYPES STORED IN A DIFFERENT C ORDER. C C LOGICAL VARIABLES FIRST. C GO TO 450 C ENDIF C C C C C C C*** C* OCTET 6 - NUMBER OF BYTES PER INTEGER. C*** C CALL GBYTE (IPSCOD(IWORD),NBYTE,IOFF,8) CALL OFFSET2 (IOFF,8,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IBITS = NBYTE * 8 C C C C C C C C*** C* OCTETS 7-8 ARE RESERVED. C*** C CALL OFFSET2 (IOFF,16,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C*** C* OCTETS 9-11 - NUMBER OF CHARACTERS IN CHARACTER SECTION. C*** C CALL GBYTE (IPSCOD(IWORD),JLENCH,IOFF,24) CALL OFFSET2 (IOFF,24,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (JLENCH.GT.ILENCH) C THEN IERR = -3 WRITE(GRPRSM,9004) JLENCH RETURN ENDIF C C C C C C C C C*** C* OCTETS 12-14 , NUMBER OF FLOATING POINT VALUES. C*** C CALL GBYTE (IPSCOD(IWORD),JLENFP,IOFF,24) CALL OFFSET2 (IOFF,24,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (JLENFP.GT.ILENFP) C THEN IERR = -3 WRITE(GRPRSM,9001) JLENFP RETURN ENDIF C C C C C C C C C C*** C* OCTETS 15-17 , NUMBER OF INTEGER VALUES. C*** C CALL GBYTE (IPSCOD(IWORD),JLENIN,IOFF,24) CALL OFFSET2 (IOFF,24,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (JLENIN.GT.ILENIN) C THEN IERR = -3 WRITE(GRPRSM,9003) JLENIN RETURN ENDIF C C C C C C C C C C*** C* OCTETS 18-20 , NUMBER OF LOGICALS. C*** C CALL GBYTE (IPSCOD(IWORD),JLENLG,IOFF,24) CALL OFFSET2 (IOFF,24,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C IF (JLENLG.GT.ILENLG) C THEN IERR = -3 WRITE(GRPRSM,9002) JLENLG RETURN ENDIF C C C C C C C C C C*** C* OCTETS 21-23 , NUMBER OF RESERVED OCTETS. C*** C CALL GBYTE (IPSCOD(IWORD),IRSERV,IOFF,24) CALL OFFSET2 (IOFF,24,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C*** C* OCTETS 24-32 ARE RESERVED C*** C CALL OFFSET2 (IOFF,72,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C*** C* OCTET 33- ,GET FLOATING POINT NUMBERS AND CONVERT. C*** C 250 CONTINUE C IF (JLENFP.NE.0) C THEN C DO 300 I=1,JLENFP CALL GBYTE (IPSCOD(IWORD),IEXP,IOFF,8) CALL OFFSET2 (IOFF,8,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IPSCOD(IWORD),IMANT,IOFF,24) CALL OFFSET2 (IOFF,24,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN CALL DECFP (FPDATA(I),IEXP,IMANT) 300 CONTINUE C ENDIF C C NO CHARACTER DATA IN OLD BUDGET VALUE RECORDS. C IF (IOLDBV.EQ.1) GO TO 550 C C C C C C C C C C*** C* GET INTEGER VALUES. C*** C 350 CONTINUE C IF (JLENIN.NE.0) C THEN C C SET UP MASK FOR NEGATIVE NUMBERS C NEGSIN = 2 ** (IBITS-1) C C MAXIMUM SIZE INTEGER IN GIVEN FIELD WIDTH. C MAXINT = NEGSIN - 1 C DO 400 I=1,JLENIN CALL GBYTE (IPSCOD(IWORD),KTEMP,IOFF,IBITS) CALL OFFSET2 (IOFF,IBITS,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C HANDLE NEGATIVE NUMBERS C IF (KTEMP.GT.MAXINT) C THEN KTEMP = KTEMP - NEGSIN KTEMP = - KTEMP ENDIF IF (KTEMP.LT.0) THEN KTEMP=KTEMP+MAXINT KTEMP=-(KTEMP+1) ENDIF C INDATA(I) = KTEMP 400 CONTINUE C ENDIF C C C FOR OLDER BUDGET VALUES OUR LAST STOP IS FOR FLOATING POINT C VALUES. C IF (IOLDBV.EQ.1) GO TO 250 C C C C*** C* GET LOGICALS AND CONVERT. C*** C 450 CONTINUE C IF (JLENLG.NE.0) C THEN C DO 500 I=1,JLENLG CALL GBYTE (IPSCOD(IWORD),KTEMP,IOFF,8) CALL OFFSET2 (IOFF,8,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C LGDATA(I) = .FALSE. IF (KTEMP.EQ.1) LGDATA(I) = .TRUE. 500 CONTINUE C ENDIF C C C FOR OLD BUDGET VALUE VERSION WE JUMP AGAIN. C NEXT STOP ON TOUR IS FOR INTEGER VALUES. C IF (IOLDBV.EQ.1) GO TO 350 C C C C C C C C C C C C C*** C* GET CHARACTER DATA. C*** C IF (JLENCH.NE.0) C THEN DO 530 I=1,JLENCH CALL GBYTE (IPSCOD(IWORD),KTEMP,IOFF,8) CALL OFFSET2 (IOFF,8,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN DO 525 J=1,NCHAR IF (KTEMP.EQ.IASCII(J)) C THEN CHDATA(I:I) = CHAR(J) GO TO 530 ENDIF 525 CONTINUE IERR = -6 WRITE(GRPRSM,9016) 9016 FORMAT (1H ,'DECOPS2: Character data contains other ', C 'than _ - . , letters, figures or spaces.') RETURN 530 CONTINUE ENDIF C C C C C C C C*** C* RESERVED BYTES IN DATA BLOCK. C*** C CALL OFFSET2 (IOFF,IRSERV*8,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C*** C* SKIP ANY ZERO FILL AT END OF DATA BLOCK. C*** C 550 CONTINUE C L = (IWORD-IPW) * NBIT + IOFF -IPB L = LBIN * 8 - L IF (L.NE.0) C THEN CALL OFFSET2 (IOFF,L,IWORD,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN ENDIF C C C C C******************************************************************** C* C* BLOCK 5 - END BLOCK. C* C******************************************************************** C C CHECK 7 7 7 7 AT END OF CODED DATA. C C CALL GBYTES (IPSCOD(IWORD),IBLOCK(1),IOFF,8,0,4) C C 55 IS THE VALUE OF ASCII CHARACTER '7' C DO 600 I=1,4 IF (IBLOCK(I).NE.55) IERR = 1 600 CONTINUE C IF (IERR.EQ.1) WRITE(GRPRSM,*) ' NO 7777 GROUP FOUND ' C C C C SET NUMBER OF VALUES NEGATIVE, IF MISSING DATA VALUES. C IF (IMISS.GE.8) C THEN JLENCH = -JLENCH IMISS = IMISS - 8 ENDIF C IF (IMISS.GE.4) C THEN JLENFP = -JLENFP IMISS = IMISS - 4 ENDIF C IF (IMISS.GE.2) C THEN JLENIN = -JLENIN IMISS = IMISS - 2 ENDIF C IF (IMISS.EQ.1) JLENLG = -JLENLG C C RETURN C 9001 FORMAT (1H ,'DECOPS2: Target real array must be at least ', C I10,' words long.') C 9002 FORMAT (1H ,'DECOPS2: Target logical array must be at least ', C I10,' words long.') C 9003 FORMAT (1H ,'DECOPS2: Target integer array must be at least ', C I10,' words long.') C 9004 FORMAT (1H ,'DECOPS2: Target character string must be at least ', C I10,' characters long.') C C END emoslib-000392+dfsg.1/gribex/kwprs1.F0000755000175000017500000002507212127406245020305 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE KWPRS1 (KSEC0,KSEC1) C C----> C**** KWPRS1 C C Purpose. C -------- C C Print the information in the Product Definition C Section (Section 1) of decoded Washington ensemble GRIB data. C C** Interface. C ---------- C C CALL KWPRS1 (KSEC0,KSEC1) C C C Input Parameters. C ----------------- C C KSEC0 - Array of decoded parameters from Section 0. C C KSEC1 - Array of decoded parameters from Section 1. C C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C None. C C C Externals. C ---------- C C PRTBIN C C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C See also routine GRIBEX. C http://www.nco.ncep.noaa.gov/pmb/docs/on388/appendixc.html. C C C Comments. C --------- C C C Washington ensemble product usage of local part of section 1 of C GRIB: C C KSEC1(37) decoded from Octet 41. C Identifies the application: C 1 Ensemble. C C KSEC1(38) decoded from Octet 42. C Type: C 1 Unperturbed control forecast, C 2 Individual negatively perturbed forecast, C 3 Individual positively perturbed forecast, C 4 Cluster, C 5 Whole ensemble. C C KSEC1(39) decoded from Octet 43. C Identification number: C 1 If byte 42 = 1, identifies high resolution. C 2 If byte 42 = 1, identifies low resolution. C 1-5 If byte 42 = 2 or 3, number of a member of a pair C of (negative perturbation, positive perturbation) C C KSEC1(40) decoded from Octet 44. C Product identifier: C 1 Full field (individual forecast)/unweighted mean. C 2 Weighted mean. C 11 Standard deviation wrt ensemble mean. C 11 Standard deviation wrt ensemble mean, normalized. C C KSEC1(41) decoded from Octet 45. C Spatial smoothing of product (number of highest total C wavenumber included): C 255 Original resolution retained. C C Following are used only if needed. C C Probability Section C ------------------- C C KSEC1(42) decoded from Octet 46. C Probability product definition. C If octet 9 = 191 or 192, defines variable in terms of octet 9 table C C KSEC1(43) decoded from Octet 47. C Probability type C 1 = Probability of event below lower limit C 2 = Probability of event above upper limit C 3 = Probability of event between lower and upper limits C C KSEC1(44) decoded from Octets 48 - 51 C Probability lower limit (unit as in octet 9; floating point number) C C KSEC1(45) decoded from Octets 52 - 55 C Probability upper limit (unit as in octet 9; floating point number) C C Octets 56 - 60 are reserved. C C Following are used only if octet 42 = 4 or 5. C C Clustering Section C ------------------ C C KSEC1(46) decoded from Octet 61. C Ensemble size (number of members, including controls) C C KSEC1(47) decoded from Octet 62. C Cluster size (number of members) C C KSEC1(48) decoded from Octet 63. C Number of clusters C C KSEC1(49) decoded from Octet 64. C Clustering Method C 1 = AC C 2 = RMS C C KSEC1(50) decoded from Octets 65 - 67 C Northern latitude of clustering domain (in thousandths of degree) C C KSEC1(51) decoded from Octets 68 - 70 C Southern latitude of clustering domain (in thousandths of degree) C C KSEC1(52) decoded from Octets 71 - 73 C Eastern longitude of clustering domain (in thousandths of degree) C C KSEC1(53) decoded from Octets 74 - 76 C Western longitude of clustering domain (in thousandths of degree) C C KSEC1(54 - 63) decoded from Octets 77 - 86 C Cluster Membership (If octet 42 = 4) C Indicates in binary (on/off) format, which members of the ensemble C belong to the current cluster. Membership table defined by product C generators. C C C C Author. C ------- C C J.D.Chambers ECMWF 09.10.95 C C C Modifications. C -------------- C C None. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters INTEGER KSEC0 INTEGER KSEC1 DIMENSION KSEC0(*) DIMENSION KSEC1(*) C C Local variables C INTEGER LOOP INTEGER*4 ILIMIT REAL*4 RLIMIT EQUIVALENCE(ILIMIT,RLIMIT) C C ----------------------------------------------------------------- C* Section 1 . Print required information. C ----------------------------------------------------------------- C 100 CONTINUE C C ----------------------------------------------------------------- C* Section 2 . Print Washington ensemble product information. C ----------------------------------------------------------------- C 200 CONTINUE C C Application Identifier. C WRITE(GRPRSM,9000) KSEC1(37) C C Type. C IF(KSEC1(38).GT.5) WRITE(GRPRSM,9100) KSEC1(38) IF(KSEC1(38).EQ.1) WRITE(GRPRSM,9101) KSEC1(38) IF(KSEC1(38).EQ.2) WRITE(GRPRSM,9102) KSEC1(38) IF(KSEC1(38).EQ.3) WRITE(GRPRSM,9103) KSEC1(38) IF(KSEC1(38).EQ.4) WRITE(GRPRSM,9104) KSEC1(38) IF(KSEC1(38).EQ.5) WRITE(GRPRSM,9105) KSEC1(38) C C Identification number. C IF(KSEC1(38).NE.1) THEN WRITE(GRPRSM,9200) KSEC1(39) ELSE IF(KSEC1(39).EQ.1) THEN WRITE(GRPRSM,9201) KSEC1(39) ELSE IF(KSEC1(39).EQ.2) THEN WRITE(GRPRSM,9202) KSEC1(39) ELSE WRITE(GRPRSM,9200) KSEC1(39) ENDIF ENDIF C C Product. C IF(KSEC1(40).EQ.1) THEN WRITE(GRPRSM,9301) KSEC1(40) ELSE IF(KSEC1(40).EQ.2) THEN WRITE(GRPRSM,9302) KSEC1(40) ELSE IF(KSEC1(40).EQ.11) THEN WRITE(GRPRSM,9311) KSEC1(40) ELSE IF(KSEC1(40).EQ.12) THEN WRITE(GRPRSM,9312) KSEC1(40) ELSE WRITE(GRPRSM,9300) KSEC1(40) ENDIF C C Spatial smoothing of product. C IF( KSEC1(41).EQ.255) THEN WRITE(GRPRSM,9400) KSEC1(41) ELSE WRITE(GRPRSM,9401) KSEC1(41) ENDIF C C Probability Section C IF( KSEC1(42).NE.0) THEN C C Probability type C WRITE(GRPRSM,9500) KSEC1(42) IF( KSEC1(43).EQ.1 ) THEN WRITE(GRPRSM,9501) KSEC1(43) ELSE IF( KSEC1(43).EQ.2 ) THEN WRITE(GRPRSM,9502) KSEC1(43) ELSE IF( KSEC1(43).EQ.3 ) THEN WRITE(GRPRSM,9503) KSEC1(43) ELSE WRITE(GRPRSM,9504) KSEC1(43) ENDIF C C Limits C ILIMIT = KSEC1(44) WRITE(GRPRSM,9505) RLIMIT C ILIMIT = KSEC1(45) WRITE(GRPRSM,9506) RLIMIT ENDIF C C Clustering Section C IF( KSEC1(46).NE.0) THEN C C Ensemble size C WRITE(GRPRSM,9507) KSEC1(46) C IF( KSEC1(47).NE.0 ) THEN C C Cluster size C Number of clusters C Clustering Method C WRITE(GRPRSM,9508) KSEC1(47) WRITE(GRPRSM,9509) KSEC1(48) WRITE(GRPRSM,9510) KSEC1(49) C C North/South/East/West limits of clustering domain C WRITE(GRPRSM,9511) KSEC1(50) WRITE(GRPRSM,9511) KSEC1(51) WRITE(GRPRSM,9511) KSEC1(52) WRITE(GRPRSM,9511) KSEC1(53) C C Cluster Membership C IF( KSEC1(38).EQ.4 ) THEN WRITE(GRPRSM,9515) WRITE(GRPRSM,9516) DO LOOP = 1, KSEC1(46) IF( KSEC1(53+LOOP).EQ.1 ) THEN WRITE(GRPRSM,9517) LOOP ELSE WRITE(GRPRSM,9518) LOOP ENDIF ENDDO ENDIF C ENDIF C ENDIF C C ----------------------------------------------------------------- C* Section 9 . Format statements. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C RETURN C 9000 FORMAT(1H ,'Application Identifier.(1=Ensemble) ',I9) C 9100 FORMAT(1H ,'Type: ',I9) 9101 FORMAT(1H ,'Type: Unperturbed control forecast. ',I9) 9102 FORMAT(1H ,'Type: Individual -vely perturbed fc. ',I9) 9103 FORMAT(1H ,'Type: Individual +vely perturbed fc. ',I9) 9104 FORMAT(1H ,'Type: Cluster. ',I9) 9105 FORMAT(1H ,'Type: Whole ensemble. ',I9) C 9200 FORMAT(1H ,'Identification number. ',I9) 9201 FORMAT(1H ,'Identification number: (1=high res) ',I9) 9202 FORMAT(1H ,'Identification number: (2=low res) ',I9) C 9300 FORMAT(1H ,'Product. ',I9) 9301 FORMAT(1H ,'Full field/unweighted mean. ',I9) 9302 FORMAT(1H ,'Weighted mean. ',I9) 9311 FORMAT(1H ,'Standard deviation wrt ensemble mean.',I9) 9312 FORMAT(1H ,'Stand.dev. wrt ens. mean, normalized.',I9) C 9400 FORMAT(1H ,'Original spatial smoothing retained. ',I9) 9401 FORMAT(1H ,'Spatial smoothing of product: ',I9) C 9500 FORMAT(1H ,'Probability product definition ',I9) 9501 FORMAT(1H ,'Prob. of event below lower limit ',I9) 9502 FORMAT(1H ,'Prob. of event above upper limit ',I9) 9503 FORMAT(1H ,'Prob. of event between limits ',I9) 9504 FORMAT(1H ,'Unknown probability type ',I9) 9505 FORMAT(1H ,'Probability lower limit ',F15.6) 9506 FORMAT(1H ,'Probability upper limit ',F15.6) 9507 FORMAT(1H ,'Ensemble size (members + controls) ',I9) 9508 FORMAT(1H ,'Cluster size (number of members) ',I9) 9509 FORMAT(1H ,'Number of clusters ',I9) 9510 FORMAT(1H ,'Clustering Method (1 = AC, 2 = RMS) ',I9) 9511 FORMAT(1H ,'Northern latitude of domain (x1000) ',I9) 9512 FORMAT(1H ,'Southern latitude of domain (x1000) ',I9) 9513 FORMAT(1H ,'Eastern longitude of domain (x1000) ',I9) 9514 FORMAT(1H ,'Western longitude of domain (x1000) ',I9) 9515 FORMAT(1H ,'Cluster Membership') 9516 FORMAT(1H ,'------------------') 9517 FORMAT(1H ,'Ensemble member',I3,' in cluster') 9518 FORMAT(1H ,'Ensemble member',I3,' not in cluster') C END emoslib-000392+dfsg.1/gribex/ecdef10.h0000755000175000017500000000736312127406245020332 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 10. C EPS tubes C --------- C C Octet KSEC1(n) C ----- -------- C C 41 37 ECMWF local GRIB use definition identifier: C 10 = EPS tubes C C 42 38 Class C 1 = Operations C 2 = Research C C 43 39 Type C 24 = Tubes C C 44-45 40 Stream C 1035 = Ensemble forecasts C C 46-49 41 Version number/experiment identifier. C (four ASCII characters, right justified) C C 50 42 Tube number (0=central cluster) C C 51 43 Total number of tubes (excluding central cluster) C C 52 44 Central cluster definition C 1: radius = % of total variance C 2: radius = predefined value C C 53 45 Indicator of parameter considered C (see code table 2 in section 1) C C 54 46 Indicator of type of level considered C (see WMO code table 3) C C 55-57 47 Northern latitude of the domain of tubing C C 58-60 48 Western longitude of the domain of tubing C C 61-63 49 Southern latitude of the domain of tubing C C 64-66 50 Eastern longitude of the domain of tubing C C 67 51 Number of tube to which the operational C forecast belongs(*) C 0 = central cluster, C 254 = does not belong to any tube C C 68 52 Number of tube to which the control C forecast belongs(*) C 0 = central cluster, C 254 = does not belong to any tube C C 69-70 53 Height/pressure of level considered C (see WMO code table 3) C C 71-72 54 Reference step considered C (same units of time as forecast timesteps) C C 73-74 55 Radius of central cluster C (in units of parameter defined in element 45) C C 75-76 56 Ensemble standard deviation C (in units of parameter defined in element 45) C C 77-78 57 Distance of the tube extreme to the ensemble mean C (in units of parameter defined in element 45). Not C applicable if this is the central cluster, in which C case the value is set = 65535, ie a missing value. C C 79 58 Number of forecasts belonging to the tube C or central cluster, including the control C forecast (N) C C 80-(79+N) 59-(58+N) List of N ensemble forecast numbers (**) C Order is important, first on the list is C the tube extreme C C Notes: C * a forecast may belong to several tubes. In this case, the C forecast is associated with the tube whose extreme is closest. C C ** by order of decreasing distance to the ensemble mean. C C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/ecdef5.F0000755000175000017500000002002512127406245020202 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF5( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPR, KRET) C C----> C**** ECDEF5 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 5. C (Extensions for forecast probabilities). C C C** Interface. C ---------- C C CALL ECDEF5( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 1. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ECLOC1.F - simplified to handle just definition 5. #include "ecdef5.h" C C C Author. C ------- C C J.D.Chambers ECMWF 18th January 1995 C C C Modifications. C -------------- C C None. C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables INTEGER IRET, IZERO, I16BIT C INTEGER ILALO DIMENSION ILALO(8) C LOGICAL LENCODE, LDECODE C C 16-bits set to 1 DATA I16BIT/ 65535 / C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC .EQ. 'C' ) LDECODE = .NOT. LENCODE C C ------------------------------------------------------------------ C* Section 2 . Extensions Forecast probabilities (definition 5). C ------------------------------------------------------------------ C 200 CONTINUE C C* Octet 50 : Forecast probability number C One 8 bit field. C C Insert/extract field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(42),1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* Octet 51 : Total number of forecast probabilities C One 8 bit field. C C Insert/extract field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(43),1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C* Octet 52 : Threshold units decimal scale factor. C One 8 bit field. C C When coding data, set sign bit to 1 if value is negative: IF ( LENCODE ) CALL CSGNBT( ILALO(1), KSEC1(44), 8, KRET) C C Insert/extract field. C CALL INXBIT (KGRIB,KLENG,KNSPT,ILALO(1),1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C When decoding, use sign bit ( = 1 if value is negative) IF ( LDECODE ) CALL DSGNBT( KSEC1(44), ILALO(1), 8, KRET) C C Octet 53 : Threshold indicator. C One 8 bit field. C C Insert/extract field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C C* Octet 54-55 : Lower threshold. C One 16 bit field. C C Check if lower threshold is present .. IF ( KSEC1(45) .NE. 2 ) THEN C C When coding data, set sign bit to 1 if value is negative: IF ( LENCODE ) CALL CSGNBT( ILALO(1), KSEC1(46), 16, KRET) C C Insert/extract fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO(1),1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C When decoding, use sign bit ( = 1 if value is negative) IF ( LDECODE ) CALL DSGNBT( KSEC1(46), ILALO(1), 16, KRET) C C .. if not present, set value to 16 bits all set to 1 ELSE IF ( LENCODE ) THEN I16BIT = 65535 CALL INXBIT(KGRIB,KLENG,KNSPT,I16BIT,1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF ELSE I16BIT = 65535 KSEC1(46) = I16BIT KNSPT = KNSPT + 16 ENDIF ENDIF C C Octet 56-57 : Upper threshold. C One 16 bit field. C C Check if upper threshold is present .. IF ( KSEC1(45) .NE. 1 ) THEN C C When coding data, set sign bit to 1 if value is negative: IF ( LENCODE ) CALL CSGNBT( ILALO(1), KSEC1(47), 16, KRET) C C Insert/extract fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO(1),1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C When decoding, use sign bit ( = 1 if value is negative) IF ( LDECODE ) CALL DSGNBT( KSEC1(47), ILALO(1), 16, KRET) C ELSE IF ( LENCODE ) THEN I16BIT = 65535 CALL INXBIT(KGRIB,KLENG,KNSPT,I16BIT,1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF ELSE I16BIT = 65535 KSEC1(47) = I16BIT KNSPT = KNSPT + 16 ENDIF ENDIF C C C Octet 58 : Reserved - set to zero. C One 8 bit field. C C Insert/extract field. IZERO = 0 CALL INXBIT (KGRIB,KLENG,KNSPT, IZERO ,1,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) GO TO 900 ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF5 : Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,9003) KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF5') ELSE RETURN ENDIF C 9003 FORMAT (1H ,' KNSPT = ',I12) C 9004 FORMAT (' ECDEF5: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/yyyy2cy.F0000755000175000017500000000376012127406245020517 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION YYYY2CY(YYYY, CENTURY, YEAR) C C----> C**** YYYY2CY C C Purpose C ------- C C Return WMO defined century and year from YYYY date. C C C Interface C --------- C C IRET = YYYY2CY(YYYY, CENTURY, YEAR) C C Input C ----- C C YYYY = Integer date in YYYY formay (eg 1998) C C C Output C ------ C C CENTURY = Integer century in CC format (eg 20 for 1998) C YEAR = Integer year in range 1 to 100 (eg 98 for 1998) C C Returns 0 if function worked OK. C Otherwise an illegal year has been give. C C C Method C ------ C C Last year in century is year 100 C (eg year 2000 is century 20, year 100) C C C Author C ------ C C J.D.Chambers ECMWF Sept 1998 C C C ------------------------------------------------------------------ C----< C IMPLICIT NONE C C Function arguments C INTEGER YYYY, CENTURY, YEAR C C ------------------------------------------------------------------ C* Section 1. Check valid input year (0000 to 9999) C ------------------------------------------------------------------ C 100 CONTINUE C C Check valid input year (0000 to 9999) C IF( (YYYY.LT.0).OR.(YYYY.GT.9999) ) THEN YYYY2CY = 1 RETURN ENDIF C YEAR = YYYY - 1 YEAR = MOD(YEAR,100) + 1 C CENTURY = (YYYY/100 +1 ) IF( YEAR.EQ.100 ) CENTURY = CENTURY - 1 C C ------------------------------------------------------------------ C* Section 9. Return C ------------------------------------------------------------------ C 900 CONTINUE C YYYY2CY = 0 RETURN END emoslib-000392+dfsg.1/gribex/repchr.F0000755000175000017500000000667612127406245020352 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE REPCHR (HCHAR,HOLD,HNEW) C C----> C**** REPCHR - Replace one character by another. C C Purpose. C -------- C C Replace all occurrences of a given character in a C character string by another. C C** Interface. C ---------- C C CALL REPCHR (HCHAR,HOLD,HNEW) C C Integer K. C Real P. C Logical O. C Character H. C C Input parameters. C ----------------- C C HCHAR - Character string to be modified. C HOLD - Character to be replaced. C HNEW - Replacement character. C C Output parameters. C ------------------ C C HCHAR - Modified character string. C C Method. C ------- C C Characters examined in sequence and changed if necessary. C Only the first character of the strings HOLD and HNEW is C used, if these are longer than 1 character. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C Program contains sections 0 to 1 and section 9. C C Author. C ------- C C J. Hennessy ECMWF 16.01:92. C C Modifications C -------------- C C None. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C INTEGER ILEN C INTEGER J150 C CHARACTER*(*) HCHAR CHARACTER*(*) HOLD CHARACTER*(*) HNEW C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Replace required characters. C ---------------------------------------------------------------- C 100 CONTINUE C ILEN = LEN (HCHAR) C DO 150 J150=1,ILEN IF (HCHAR(J150:J150).EQ.HOLD(1:1)) HCHAR(J150:J150) = HNEW(1:1) 150 CONTINUE C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/sencode1.h0000755000175000017500000000156212127406245020617 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef SENCODE1_H #define SENCODE1_H #ifdef FORTRAN_NO_UNDERSCORE #define IS1NUMB is1numb #define RS1NUMB rs1numb #define IS1TOTL is1totl #define RS1TOTL rs1totl #else #define IS1NUMB is1numb_ #define RS1NUMB rs1numb_ #define IS1TOTL is1totl_ #define RS1TOTL rs1totl_ #endif fortint IS1NUMB(gribProduct **, fortint *); fortint RS1NUMB(gribProduct **, fortdouble *); fortint IS1TOTL(gribProduct **, fortint *); fortint RS1TOTL(gribProduct **, fortdouble *); #endif /* end of SENCODE1_H */ emoslib-000392+dfsg.1/gribex/gsbite.F0000755000175000017500000001663112127406245020334 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) || (defined rs6000) || (defined NECSX) || (defined POWERPC) SUBROUTINE GSBITE (KS,KD,KSKST,KSIZE,KSKBTW,K,KBPW,KMASK,HADIR) C C----> C**** GSBITE - Extraction/insertion of bits from/to bitstream on Cray. C C Purpose. C -------- C C Vectorising extraction/insertion of bits from/to bitstream. C C** Interface. C ---------- C C CALL GSBITE (KS,KD,KSKST,KSIZE,KSKBTW,K,KBPW,KMASK,HADIR) C C C Input Parameters. C ----------------- C C KS - If HADIR='D', input bit stream, else output bit stream. C KD - If HADIR='D', output words, else input words. C KSKST - Number of bits skipped at beginning of KS. C KSIZE - Number of bits to be extracted to one word of KD. C KSKBTW - Number of bits skipped between 2 words to be extracted. C K - Number of words to be extracted into KD. If less than C or equal to 0 only calculate KBPW and KMASK. C KBPW - Number of bits per word in KS,calculated if 0. C KMASK - Masks for bit patterns, calculated if KMASK(2) is 0. C (KMASK must have dimension KBPW+1) C HADIR - Direction of conversion: 'D' for decoding, ie C extract words KD(1...K) from bits KS(KSKST+1....) C If not 'D', encode, i.e. pack words KD(1....K) into C bits KS(KSKST+1.....KSKST+K*(KSIZE+KSKBTW)) C C C Output Parameters. C ------------------ C C KS,KD - See above. C KSKST - Updated to number of bits used, i.e. to C KSKST+K*(KSIZE+KSKBTW) C KBPW - If 0 on input, number of bits in each word of KS. C KMASK - If KMASK(2) was 0 on input, bit pattern masks. C (KMASK must have dimension KBPW+1) C C C Method. C ------- C C Vector loop is over repeatedly occurring bit patterns. C C Externals. C ---------- C C None. C C C Reference. C ---------- C C None. C C C Comments. C --------- C C This routine is for vector processors only. C C C Author. C ------- C C G.J.Cats 08 Dec 87 C C C Modifications. C -------------- C C J. Hennessy ECMWF 09.09.91 C Introductory comments changed to conform to standard. C C J.D.Chambers ECMWF 05.01.95 C Put in fixes suggested by G.Cats (Dec. 95) for: C i) "Number of words to be extracted = 0" C ii) Optimise test for encode/decode in loop by using logical. C iii) Intialise ISTS before use. C C J.D.Chambers ECMWF 22.05.96 C Defines to remove inline functions except on CRAY C (The Fujitsu doesn't need them). C C J. Clochard, Meteo France, for ECMWF - January 1998. C Use intrinsic functions on CRAY. C C C ------------------------------------------------------------------ C----< C DIMENSION KS(*),KD(*),KMASK(*) CHARACTER*1 HADIR LOGICAL LODECD C C 1. COMPLETE KBPW AND KMASK, RETURN IF 0 WORDS ARE TO BE EXTRACTED C IF(KBPW.EQ.0) THEN IS = KS(1) KS(1) = 1 1101 CONTINUE IF(KS(1).NE.0) THEN KBPW = KBPW + 1 KS(1) = ISHFT(KS(1),1) GOTO 1101 ENDIF KS(1) = IS ENDIF IF(KMASK(2).EQ.0) THEN KMASK(KBPW+1) = 0 DO 1110 J = KBPW,1,-1 KMASK(J) = IBSET(KMASK(J+1),KBPW-J) 1110 CONTINUE ENDIF IF(K.LE.0)RETURN C C 2. PRESET KD TO 0 IF KD IS OUTPUT I.E. WHEN DECODING C LODECD = HADIR .EQ. 'D' IF (LODECD) THEN DO 2101 J = 1,K KD(J) = 0 2101 CONTINUE ENDIF IF(KSIZE.LE.0) RETURN C C 3. CALCULATE SEVERAL PARAMETERS FOR LOOPING (FOR EFFICIENCY, THE C CODE OF SECTIONS 3.3 AND 3.4 FOR K=1 IS SEPARATED INTO 3.2) C C 3.1 NUMBER OF BITS USED PER WORD, INITIAL NR OF SKIPPED BITS C ISTEP = KSIZE + KSKBTW ISKWS = KSKST C C 3.2 VECTOR LOOP LENGTH AND STEP SIZE IN KD IF K=1;KS STEP IRRELVNT C IF(K.EQ.1) THEN ILL = 1 IBDL = 2 ISTD = 1 ISTS = 1 ELSE C C 3.3 STEP SIZES IN KS,KD: INVERSE OF LARGEST FACTOR OF ISTEP,KBPW C ILCF = KBPW ISHF = ISTEP 331 CONTINUE IF(ILCF.EQ.ISHF) GOTO 332 IF(ILCF.EQ.1) GOTO 332 IF(ILCF.GT.ISHF) THEN ILCF = ILCF - ISHF ELSE ISHF = ISHF - ILCF ENDIF GOTO 331 332 CONTINUE ISTD = KBPW/ILCF ISTS = ISTEP/ILCF C C 3.4 VECTOR LOOP LENGTH AND SWITCH-OVER POINT FOR SMALLER LOOP C ILL = (K-1)/ISTD + 1 IBDL = K - (ILL-1)*ISTD ENDIF C C 4. LOOP OVER FIRST ISTD WORDS OF KD (TRAILS THE VECTOR LOOP) C DO 790 JBD = 1,ISTD C C 4.1 LAST BIT IN KS TO BE TREATED C IENBS = ISKWS + KSIZE C C 4.2 NR OF WORDS OF KS TO BE SKIPPED, NR OF BITS IN THOSE AND C THIS C ISKW = ISKWS/KBPW ISTA = ISKW*KBPW ISKB = ISKWS - ISTA C C 4.3 MASK AND LEFT SHIFT FOR THE REMAINING BITS C IMASK = KMASK(ISKB+1) ISH = KSIZE + ISKB C C 4.4 POSITION OF CURRENT WORD OF KS C IBS = ISKW + 1 C C 5. LOOP OVER WORDS OF KS CONTRIBUTING TO ONE WORD OF KD C 500 CONTINUE C C 5.1 UPDATE SHIFT AND LAST BIT IN CURRENT WORD C ISH = ISH - KBPW IEND = ISTA + KBPW C C 5.2 IS LAST BIT OF CURRENT WORD OUTSIDE RANGE TO BE EXTRACTED C IF(IEND.GT.IENBS) THEN ISH = IENBS - IEND IMASK = IAND(IMASK,NOT(KMASK(KBPW+ISH+1))) ENDIF C C 5.3 INITIAL OFFSETS FOR VECTOR ELEMENTS IN VECTOR LOOP C IOS = 0 IOD = 0 C C 6. VECTOR LOOP IS OVER REPEATEDLY OCCURRING BITPATTERNS/MASKS C IF (LODECD) THEN Cjdc#ifdef CRAY CDIR$ IVDEP !cdir nodep DO 611 JI = 1,ILL KD(JBD+IOD) = X IOR(KD(JBD+IOD),ISHFT(IAND(IMASK,KS(IBS+IOS)),ISH)) IOD = IOD + ISTD IOS = IOS + ISTS 611 CONTINUE Cjdc#else !OCL NOVREC Cjdc CALL GSDECODE( KS(IBS), KD(JBD), ISTS, ISTD, ILL, IMASK, ISH ) Cjdc#endif ELSE Cjdc#ifdef CRAY CDIR$ IVDEP !OCL NOVREC !cdir nodep DO 612 JI = 1,ILL KS(IBS+IOS) = IOR( X IAND( KS(IBS+IOS), NOT(IMASK)), X IAND(ISHFT(KD(JBD+IOD),-ISH), IMASK )) IOD = IOD + ISTD IOS = IOS + ISTS 612 CONTINUE Cjdc#else Cjdc CALL GSENCODE( KD(JBD), KS(IBS), ISTD, ISTS, ILL, IMASK, ISH ) Cjdc#endif ENDIF C C 7. END LOOPS C C 7.1 PREPARE FOR END OF LOOP OVER WORDS OF KS WITIHN ONE KD WORD C ISTA = ISTA + KBPW C C 7.2 NEXT WORD OF KD IF EXTRACTION NOT COMPLETED C IF(ISTA.LT.IENBS) THEN IMASK = KMASK(1) IBS = IBS + 1 GOTO 500 ENDIF C C 7.8 PREPARE FOR END OF LOOP OVER FIRST WORDS OF KD C IF(JBD.EQ.IBDL)ILL = ILL - 1 ISKWS = ISKWS + ISTEP C C 7.9 END LOOP OVER FIRST WORDS OF KD C 790 CONTINUE C C 8. FINISHED: UPDATE KSKST AND RETURN C KSKST = KSKST + K*ISTEP C RETURN END #endif emoslib-000392+dfsg.1/gribex/grsx2o.F0000755000175000017500000000565612127406245020310 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSX2O ( KEXT2O ) C C----> C**** GRSX2O - controls use of eXTended 2nd-Order packing methods C for routine GRIBEX. C C Purpose. C -------- C C Extended 2nd-order methods switch set on or off C for routine GRIBEX. C C C** Interface. C ---------- C C CALL GRSX2O ( KEXT2O ) C C C Input Parameter. C ---------------- C C KEXT2O - Extended 2nd-order methods switch flag, C = 0 , not allowed (default) C = Non-zero , extended methods allowed. C C (Use for grid-point encoding, HOPER='C' and 'K' functions) C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C The variable NEXT2O is set in the common area. All other C parameters are also set to default values, if they have C not already been set by the user. C C C Externals. C ---------- C C GRSDEF - Default setting of global variables. C C C Reference. C ---------- C C See subroutine GRIBEX. C C C Comments. C --------- C C None. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C -------------- C C J. Clochard, Meteo France, for ECMWF - June 1999. C Use a static variable to determine if initialisation of C default values has already been done for common area variables. C C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C C Subroutine arguments. INTEGER KEXT2O C C Local variables. INTEGER IEXT2O C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C IEXT2O = 0 IF (KEXT2O.NE.0) IEXT2O = 1 C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C Set exhaustive 2nd-order aggressive packing switch C to required value. C NEXT2O = IEXT2O C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/dsgnbt.F0000755000175000017500000000327212127406245020335 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DSGNBT( KOUT, KIN, KPOS, KRET) C----> C C Get the sign bit in position KPOS of word KIN, and C set value of KOUT from the rest of bits (KPOS-1) -> C with the correct sign. C C On return, KRET = 0 if all OK. C C----< IMPLICIT NONE INTEGER KOUT, KIN, KPOS, KRET INTEGER JPBITS #ifdef INTEGER_8 PARAMETER ( JPBITS = 64 ) #else PARAMETER ( JPBITS = 32 ) #endif INTEGER ISBIT, INSPT, IRETA, IRETB #if defined (VAX) || defined (__alpha) INTEGER ITEMP, IMASK1,IMASK2 #endif C #if defined (VAX) || defined (__alpha) C C VAX bit handling using VAX specific intrinsics ITEMP = 1 IMASK1 = JISHFT( ITEMP, (KPOS-1)) ITEMP = -1 ITEMP = JISHFT( ITEMP, (KPOS-1) ) IMASK2 = JNOT( ITEMP ) ISBIT = JIAND( KIN, IMASK1) KOUT = JIAND( KIN, IMASK2) #else C C Bit handling using INXBIT INSPT = 0 CALL INXBIT( KIN, 1, INSPT, ISBIT, 1, JPBITS, X (JPBITS-KPOS+1), 'D', IRETA) CALL INXBIT( KIN, 1, INSPT, KOUT, 1, JPBITS, X (KPOS-1), 'D', IRETB) KRET = IRETA+IRETB IF ( KRET .NE. 0 ) THEN WRITE(*,*) ' DSGNBT - Problem unpacking bits in value' GOTO 900 ENDIF #endif IF ( ISBIT .NE. 0 ) KOUT = -KOUT 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/getsetValues.h0000755000175000017500000003457112127406245021577 0ustar amckinstryamckinstry#ifndef GETVALUES_H #define GETVALUES_H #include "gdecode.h" #include "gdecode1.h" #include "gdecode2.h" #include "sencode.h" #include "sencode1.h" #include "sencode2.h" #ifdef FORTRAN_NO_UNDERSCORE #define GETINT getint #define GETREAL getreal #define SETINT setint #define SETREAL setreal #else #define GETINT getint_ #define GETREAL getreal_ #define SETINT setint_ #define SETREAL setreal_ #endif fortint getIntegerValue(gribProduct**,unsigned char*); fortdouble getRealValue(gribProduct**,unsigned char*); fortint GETINT(gribProduct**,unsigned char*,long); fortdouble GETREAL(gribProduct**,unsigned char*,long); fortint setIntegerValue(gribProduct**,unsigned char*,fortint*); fortint setRealValue(gribProduct**,unsigned char*,fortdouble*); fortint SETINT(gribProduct**,unsigned char*,fortint*,long); fortint SETREAL(gribProduct**,unsigned char*,fortdouble*,long); fortint IGNWLAT(gribProduct**); fortint IGNWLON(gribProduct**); fortint IGSELAT(gribProduct**); fortint IGSELON(gribProduct**); fortint IGDI(gribProduct**); fortint IGDJ(gribProduct**); fortint IGIP(gribProduct**); fortint IGLATRP(gribProduct**); fortint IGLONRP(gribProduct**); fortint IGROTAT(gribProduct**); fortint IGLATSP(gribProduct**); fortint IGLONSP(gribProduct**); fortint IGSFACT(gribProduct**); fortint IGREFVL(gribProduct**); fortint IGDSCAL(gribProduct**); fortint IGLEVTY(gribProduct**); fortint IGTUNIT(gribProduct**); fortint IGTRIND(gribProduct**); fortint IGSTEP(gribProduct**); fortint IGSTEP1(gribProduct**); fortint IGSTEP2(gribProduct**); fortint IGNUMAV(gribProduct**); fortint IGNUMMS(gribProduct**); fortint IGSUBID(gribProduct**); fortint IGUDECF(gribProduct**); fortint IGTYPE(gribProduct**); fortint IGCLASS(gribProduct**); fortint IGSTREM(gribProduct**); fortint IGEXPVR(gribProduct**); fortint IGDEFIN(gribProduct**); fortint IGDUMMY(gribProduct**); fortdouble RGLNGTH(gribProduct**); fortdouble RGTABLE(gribProduct**); fortdouble RGCENTR(gribProduct**); fortdouble RGPARAM(gribProduct**); fortdouble RGLEVEL(gribProduct**); fortdouble RGLEVL1(gribProduct**); fortdouble RGLEVL2(gribProduct**); fortdouble RGDATE(gribProduct**); fortdouble RGTIME(gribProduct**); fortdouble RGSTEP(gribProduct**); fortdouble RGSTEP1(gribProduct**); fortdouble RGSTEP2(gribProduct**); fortdouble RGCLASS(gribProduct**); fortdouble RGTYPE(gribProduct**); fortdouble RGSTREM(gribProduct**); fortdouble RGEXPVR(gribProduct**); fortdouble RGNUMPV(gribProduct**); fortdouble RGREPRS(gribProduct**); fortdouble RGNI(gribProduct**); fortdouble RGNJ(gribProduct**); fortdouble RGRESCO(gribProduct**); fortdouble RGGAUSS(gribProduct**); fortdouble RGSCANM(gribProduct**); fortdouble RGJ(gribProduct**); fortdouble RGK(gribProduct**); fortdouble RGM(gribProduct**); fortdouble RGREPMO(gribProduct**); fortdouble RGTJ(gribProduct**); fortdouble RGTK(gribProduct**); fortdouble RGTM(gribProduct**); fortdouble RGBTSPV(gribProduct**); fortdouble RGUNUSD(gribProduct**); fortdouble RGNVALU(gribProduct**); fortdouble RGLEVTY(gribProduct**); fortdouble RGTUNIT(gribProduct**); fortdouble RGTRIND(gribProduct**); fortdouble RGNUMAV(gribProduct**); fortdouble RGNUMMS(gribProduct**); fortdouble RGSUBID(gribProduct**); fortdouble RGUDECF(gribProduct**); fortdouble RGTYPE(gribProduct**); fortdouble RGDEFIN(gribProduct**); fortdouble RGDUMMY(gribProduct**); fortint ISDUMMY(gribProduct **, fortint *); fortint RSDUMMY(gribProduct **, fortdouble *); fortint RSDATE(gribProduct **, fortdouble *); fortint ISDATE(gribProduct **, fortint *); fortint RSTIME(gribProduct **, fortdouble *); fortint ISTIME(gribProduct **, fortint *); fortint RSTABLE(gribProduct **, fortdouble *); fortint ISTABLE(gribProduct **, fortint *); fortint RSCENTR(gribProduct **, fortdouble *); fortint ISCENTR(gribProduct **, fortint *); fortint RSPARAM(gribProduct **, fortdouble *); fortint ISPARAM(gribProduct **, fortint *); fortint RSLEVTY(gribProduct **, fortdouble *); fortint ISLEVTY(gribProduct **, fortint *); fortint RSLEVEL(gribProduct **, fortdouble *); fortint ISLEVEL(gribProduct **, fortint *); fortint RSLEVEL(gribProduct **, fortdouble *); fortint ISLEVEL(gribProduct **, fortint *); fortint RSTUNIT(gribProduct **, fortdouble *); fortint ISTUNIT(gribProduct **, fortint *); fortint RSTRIND(gribProduct **, fortdouble *); fortint ISTRIND(gribProduct **, fortint *); fortint RSSTEP(gribProduct **, fortdouble *); fortint ISSTEP(gribProduct **, fortint *); fortint RSSTEP1(gribProduct **, fortdouble *); fortint ISSTEP1(gribProduct **, fortint *); fortint RSSTEP2(gribProduct **, fortdouble *); fortint ISSTEP2(gribProduct **, fortint *); fortint RSNUMAV(gribProduct **, fortdouble *); fortint ISNUMAV(gribProduct **, fortint *); fortint RSNUMMS(gribProduct **, fortdouble *); fortint ISNUMMS(gribProduct **, fortint *); fortint RSSUBID(gribProduct **, fortdouble *); fortint ISSUBID(gribProduct **, fortint *); fortint RSUDECF(gribProduct **, fortdouble *); fortint ISUDECF(gribProduct **, fortint *); fortint RSTYPE(gribProduct **, fortdouble *); fortint ISTYPE(gribProduct **, fortint *); fortint RSCLASS(gribProduct **, fortdouble *); fortint ISCLASS(gribProduct **, fortint *); fortint RSSTREM(gribProduct **, fortdouble *); fortint ISSTREM(gribProduct **, fortint *); fortint RSEXPVR(gribProduct **, fortdouble *); fortint ISEXPVR(gribProduct **, fortint *); fortint RSDEFIN(gribProduct **, fortdouble *); fortint ISDEFIN(gribProduct **, fortint *); fortint RSBTSPV(gribProduct **, fortdouble *); fortint ISBTSPV(gribProduct **, fortint *); fortint RSREPRS(gribProduct **, fortdouble *); fortint ISREPRS(gribProduct **, fortint *); fortint RSNWLAT(gribProduct **, fortdouble *); fortint ISNWLAT(gribProduct **, fortint *); fortint RSNWLON(gribProduct **, fortdouble *); fortint ISNWLON(gribProduct **, fortint *); fortint RSSELAT(gribProduct **, fortdouble *); fortint ISSELAT(gribProduct **, fortint *); fortint RSSELON(gribProduct **, fortdouble *); fortint ISSELON(gribProduct **, fortint *); fortint RSDIJ(gribProduct **, fortdouble *); fortint ISDIJ(gribProduct **, fortint *); fortint RSDI(gribProduct **, fortdouble *); fortint ISDI(gribProduct **, fortint *); fortint RSDJ(gribProduct **, fortdouble *); fortint ISDJ(gribProduct **, fortint *); fortint RSNI(gribProduct **, fortdouble *); fortint ISNI(gribProduct **, fortint *); fortint RSNJ(gribProduct **, fortdouble *); fortint ISNJ(gribProduct **, fortint *); fortint RSJ(gribProduct **, fortdouble *); fortint ISJ(gribProduct **, fortint *); fortint RSK(gribProduct **, fortdouble *); fortint ISK(gribProduct **, fortint *); fortint RSM(gribProduct **, fortdouble *); fortint ISM(gribProduct **, fortint *); fortint RSJKM(gribProduct **, fortdouble *); fortint ISJKM(gribProduct **, fortint *); fortint RSTJ(gribProduct **, fortdouble *); fortint ISTJ(gribProduct **, fortint *); fortint RSTK(gribProduct **, fortdouble *); fortint ISTK(gribProduct **, fortint *); fortint RSTM(gribProduct **, fortdouble *); fortint ISTM(gribProduct **, fortint *); fortint RSTJKM(gribProduct **, fortdouble *); fortint ISTJKM(gribProduct **, fortint *); fortint RSLATRP(gribProduct **, fortdouble *); fortint ISLATRP(gribProduct **, fortint *); fortint RSLONRP(gribProduct **, fortdouble *); fortint ISLONRP(gribProduct **, fortint *); fortint RSROTAT(gribProduct **, fortdouble *); fortint ISROTAT(gribProduct **, fortint *); fortint RSLATSP(gribProduct **, fortdouble *); fortint ISLATSP(gribProduct **, fortint *); fortint RSLONSP(gribProduct **, fortdouble *); fortint ISLONSP(gribProduct **, fortint *); fortint RSSFACT(gribProduct **, fortdouble *); fortint ISSFACT(gribProduct **, fortint *); fortint RSSETQG(gribProduct **, fortdouble *); fortint ISSETQG(gribProduct **, fortint *); fortint RSSETRG(gribProduct **, fortdouble *); fortint ISSETRG(gribProduct **, fortint *); fortint SPV(gribProduct **, fortdouble *, fortint *); typedef fortint (*geti) (gribProduct **); typedef fortdouble (*getf) (gribProduct **); typedef fortint (*seti) (gribProduct **, fortint *); typedef fortint (*setf) (gribProduct **, fortdouble *); typedef struct { const char * name; geti get; seti set; } despatchI; typedef struct { const char * name; getf get; setf set; } despatchR; despatchI despatchInteger[] = { "angleOfRotation",IGROTAT,ISROTAT, "bottomLayer",IGLEVL2,ISDUMMY, "codeTable",IGTABLE,ISTABLE, "complexPackingScalingFactor",IGIP,ISDUMMY, "dataRepresentationType",IGREPRS,ISREPRS, "date",IGDATE,ISDATE, "definition1Number",IG1NUMB,IS1NUMB, "definition1Total",IG1TOTL,IS1TOTL, "definition2ControlForecastCluster",IG2CFCL,IS2CFCL, "definition2DomainEast",IG2ELON,IS2ELON, "definition2DomainNorth",IG2NLAT,IS2NLAT, "definition2DomainSouth",IG2SLAT,IS2SLAT, "definition2DomainWest",IG2WLON,IS2WLON, "definition2EndStep",IG2END,IS2END, "definition2Method",IG2METH,IS2METH, "definition2Number",IG2NUMB,IS2NUMB, "definition2NumberInCluster",IG2NUCL,IS2NUCL, "definition2OperationalForecastCluster",IG2OPCL,IS2OPCL, "definition2StartStep",IG2STAR,IS2STAR, "definition2Total",IG2TOTL,IS2TOTL, "ecmwfClass",IGCLASS,ISCLASS, "ecmwfExperimentVersionNumber",IGEXPVR,ISEXPVR, "ecmwfLocalDefinitionNumber",IGDEFIN,ISDEFIN, "ecmwfStream",IGSTREM,ISSTREM, "ecmwfType",IGTYPE,ISTYPE, "gribLength",IGLNGTH,ISDUMMY, "iAndjHaveTheSameIncrement",IGDUMMY,ISDIJ, "iDirectionIncrement",IGDI,ISDI, "jDirectionIncrement",IGDJ,ISDJ, "jPentagonalResolution",IGJ,ISJ, "jkmHaveSamePentagonalResolution",IGDUMMY,ISJKM, "kPentagonalResolution",IGK,ISK, "latitudeOfThePoleOfStretching",IGLATSP,ISLATSP, "latitudeOfTheSouthernPoleOfRotation",IGLATRP,ISLATRP, "longitudeOfThePoleOfStretching",IGLONSP,ISLONSP, "longitudeOfTheSouthernPoleOfRotation",IGLONRP,ISLONRP, "mPentagonalResolution",IGM,ISM, "northWestLatitude",IGNWLAT,ISNWLAT, "northWestLongitude",IGNWLON,ISNWLON, "numberOfBitsPerPackedValue",IGBTSPV,ISBTSPV, "numberOfFieldValues",IGNVALU,ISDUMMY, "numberOfParallelsBetweenPoleAndEquator",IGGAUSS,ISDUMMY, "numberOfPointsAlongMeridian",IGNJ,ISNJ, "numberOfPointsAlongParallel",IGNI,ISNI, "numberOfProductsInAverage",IGNUMAV,ISNUMAV, "numberOfProductsMissingFromAverage",IGNUMMS,ISNUMMS, "numberOfUnusedBitsAtEndOfSection4",IGUNUSD,ISDUMMY, "numberOfVerticalCoordinateParameters",IGNUMPV,ISDUMMY, "originatingCentre",IGCENTR,ISCENTR, "parameter",IGPARAM,ISPARAM, "pressureLevel",IGLEVEL,ISLEVEL, "referenceValue",IGREFVL,ISDUMMY, "representationMode",IGREPMO,ISDUMMY, "resolutionAndComponentsFlag",IGRESCO,ISDUMMY, "scaleFactorUsedToPackFieldValues",IGDSCAL,ISDUMMY, "scanningModeFlag",IGSCANM,ISDUMMY, "setReducedGaussianGridNumber",IGDUMMY,ISSETQG, "setRegularGaussianGridNumber",IGDUMMY,ISSETRG, "southEastLatitude",IGSELAT,ISSELAT, "southEastLongitude",IGSELON,ISSELON, "stretchingFactor",IGSFACT,ISSFACT, "subcentreIdentifier",IGSUBID,ISSUBID, "subsetJKMHaveSamePentagonalResolution",IGDUMMY,ISTJKM, "subsetJPentagonalResolution",IGTJ,ISTJ, "subsetKPentagonalResolution",IGTK,ISTK, "subsetMPentagonalResolution",IGTM,ISTM, "time",IGTIME,ISTIME, "timeRangeIndicator",IGTRIND,ISTRIND, "timeStep",IGSTEP,ISSTEP, "timeStepP1",IGSTEP1,ISSTEP1, "timeStepP2",IGSTEP2,ISSTEP2, "timeUnit",IGTUNIT,ISTUNIT, "topLayer",IGLEVL1,ISDUMMY, "typeOfLevel",IGLEVTY,ISLEVTY, "unitsDecimalScaleFactor",IGUDECF,ISUDECF }; despatchR despatchReal[] = { "angleOfRotation",RGROTAT,RSROTAT, "bottomLayer",RGLEVL2,RSDUMMY, "codeTable",RGTABLE,RSTABLE, "complexPackingScalingFactor",RGIP,RSDUMMY, "dataRepresentationType",RGREPRS,RSREPRS, "date",RGDATE,RSDATE, "definition1Number",RG1NUMB,RS1NUMB, "definition1Total",RG1TOTL,RS1TOTL, "definition2ControlForecastCluster",RG2CFCL,RS2CFCL, "definition2DomainEast",RG2ELON,RS2ELON, "definition2DomainNorth",RG2NLAT,RS2NLAT, "definition2DomainSouth",RG2SLAT,RS2SLAT, "definition2DomainWest",RG2WLON,RS2WLON, "definition2EndStep",RG2END,RS2END, "definition2Method",RG2METH,RS2METH, "definition2Number",RG2NUMB,RS2NUMB, "definition2NumberInCluster",RG2NUCL,RS2NUCL, "definition2OperationalForecastCluster",RG2OPCL,RS2OPCL, "definition2StartStep",RG2STAR,RS2STAR, "definition2Total",RG2TOTL,RS2TOTL, "ecmwfClass",RGCLASS,RSCLASS, "ecmwfExperimentVersionNumber",RGEXPVR,RSEXPVR, "ecmwfLocalDefinitionNumber",RGDEFIN,RSDEFIN, "ecmwfStream",RGSTREM,RSSTREM, "ecmwfType",RGTYPE,RSTYPE, "gribLength",RGLNGTH,RSDUMMY, "iAndjHaveTheSameIncrement",RGDUMMY,RSDIJ, "iDirectionIncrement",RGDI,RSDI, "jDirectionIncrement",RGDJ,RSDJ, "jPentagonalResolution",RGJ,RSJ, "jkmHaveSamePentagonalResolution",RGDUMMY,RSJKM, "kPentagonalResolution",RGK,RSK, "latitudeOfThePoleOfStretching",RGLATSP,RSLATSP, "latitudeOfTheSouthernPoleOfRotation",RGLATRP,RSLATRP, "longitudeOfThePoleOfStretching",RGLONSP,RSLONSP, "longitudeOfTheSouthernPoleOfRotation",RGLONRP,RSLONRP, "mPentagonalResolution",RGM,RSM, "northWestLatitude",RGNWLAT,RSNWLAT, "northWestLongitude",RGNWLON,RSNWLON, "numberOfBitsPerPackedValue",RGBTSPV,RSBTSPV, "numberOfFieldValues",RGNVALU,RSDUMMY, "numberOfParallelsBetweenPoleAndEquator",RGGAUSS,RSDUMMY, "numberOfPointsAlongMeridian",RGNJ,RSNJ, "numberOfPointsAlongParallel",RGNI,RSNI, "numberOfProductsInAverage",RGNUMAV,RSNUMAV, "numberOfProductsMissingFromAverage",RGNUMMS,RSNUMMS, "numberOfUnusedBitsAtEndOfSection4",RGUNUSD,RSDUMMY, "numberOfVerticalCoordinateParameters",RGNUMPV,RSDUMMY, "originatingCentre",RGCENTR,RSCENTR, "parameter",RGPARAM,RSPARAM, "pressureLevel",RGLEVEL,RSLEVEL, "referenceValue",RGREFVL,RSDUMMY, "representationMode",RGREPMO,RSDUMMY, "resolutionAndComponentsFlag",RGRESCO,RSDUMMY, "scaleFactorUsedToPackFieldValues",RGDSCAL,RSDUMMY, "scanningModeFlag",RGSCANM,RSDUMMY, "setReducedGaussianGridNumber",RGDUMMY,RSSETQG, "setRegularGaussianGridNumber",RGDUMMY,RSSETRG, "southEastLatitude",RGSELAT,RSSELAT, "southEastLongitude",RGSELON,RSSELON, "stretchingFactor",RGSFACT,RSSFACT, "subcentreIdentifier",RGSUBID,RSSUBID, "subsetJKMHaveSamePentagonalResolution",RGDUMMY,RSTJKM, "subsetJPentagonalResolution",RGTJ,RSTJ, "subsetKPentagonalResolution",RGTK,RSTK, "subsetMPentagonalResolution",RGTM,RSTM, "time",RGTIME,RSTIME, "timeRangeIndicator",RGTRIND,RSTRIND, "timeStep",RGSTEP,RSSTEP, "timeStepP1",RGSTEP1,RSSTEP1, "timeStepP2",RGSTEP2,RSSTEP2, "timeUnit",RGTUNIT,RSTUNIT, "topLayer",RGLEVL1,RSDUMMY, "typeOfLevel",RGLEVTY,RSLEVTY, "unitsDecimalScaleFactor",RGUDECF,RSUDECF }; int binaryChopI(despatchI * list, int listLength, unsigned char * test); int binaryChopR(despatchR * list, int listLength, unsigned char * test); #endif /* End of GETVALUES_H */ emoslib-000392+dfsg.1/gribex/ecdef19.F0000755000175000017500000001573012127406245020276 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF19(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KRET) C C----> C**** ECDEF19 C C Purpose. C -------- C GRIB coding/decoding of ECMWF local use definition 19. C C Interface. C ---------- C CALL ECDEF19(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KRET) C C C Input Parameters. C ----------------- C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C KSEC1 - Array containing Grib Section 1 data. C KGRIB - Array containing Grib coded data. C KLENG - Length (words) of KGRIB. C KNSPT - Bit number after which insertion/extraction starts. C KBITS - Number of bits in computer word. C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C KSEC1 - Array containing Grib Section 1 data.(Updated) C KGRIB - Array containing Grib coded data.(Updated) C KNSPT - Number of bit after last one inserted/extracted.(Updated) C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 19. C C C Externals. C ---------- C INXBIT C ABORTX C C C Reference. C ---------- C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C None C C #include "ecdef19.h" C C Author. C ------- C J.D.Chambers ECMWF October 2002 C C C Modifications. C -------------- C None C C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, LENS1, INSPT, NCLIMON, NEXT INTEGER IPLEN, ILOOPO, ILOOPI, IFULL C LOGICAL LENCODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC.EQ.'C' ) INSPT = KNSPT C C Set bit pointer to start of GRIB section 1 C IPLEN = 8*8 C C ------------------------------------------------------------------ C* Section 2 . Handle fixed part of definition 19. C ------------------------------------------------------------------ C 200 CONTINUE C C Octet 50 : Zero, for compatibility with MARS labelling C IF ( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ELSE CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ENDIF C C Octet 51 : Ensemble size C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(43),1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C Octet 52 : Power of 10 used to scale climate weight = F, say C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(44),1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C Octets 53-56 : Climate weight * 10**F, stored as an integer C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS,32,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C ------------------------------------------------------------------ C* Section 3 . Handle climate month descriptions C ------------------------------------------------------------------ C 300 CONTINUE C C Octets 57-59 : First month used to build climate month 1, YYYYMM C Octets 60-62 : Last month used to build climate month 1, YYYYMM C Octets 63-65 : First month used to build climate month 2, YYYYMM C Octets 66-68 : Last month used to build climate month 2, YYYYMM C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46),1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(47),1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(48),1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(49),1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C Handle padding for unused bytes C IF( LENCODE ) THEN DO ILOOPO = 69, 80 IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ENDDO C ELSE KNSPT = KNSPT + 8*12 ENDIF C C ------------------------------------------------------------------ C* Section 4 . Handle length of section 1 C ------------------------------------------------------------------ C 400 CONTINUE C LENS1 = 80 C IF( LENCODE ) THEN CALL INXBIT(KGRIB,KLENG,IPLEN,LENS1,1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C ELSE C C If decoding, use length of section 1 to step KNSPT pointer C past section 1, past any padding slots if any. C CALL INXBIT(KGRIB,KLENG,IPLEN,LENS1,1,KBITS,24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF KNSPT = 8*8 + LENS1*8 ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C C Abort if requested to do so when an error has been encountered. C IF( (IRET.EQ.0).AND.(KRET.NE.0) ) THEN CALL ABORTX ('ECDEF19') ELSE RETURN ENDIF C 9004 FORMAT (' ECDEF19: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/gdecode2.c0000755000175000017500000001051112127406245020557 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "gdecode.h" #include "gdecode2.h" fortint IG2NUMB(gribProduct ** grib) { if( ecmwfLocalDefinition2Present((*grib)) ) return g1_2_number( (*grib) ); else return -999999; } fortdouble RG2NUMB(gribProduct ** grib) { return (fortdouble) IG2NUMB(grib); } fortint IG2TOTL(gribProduct ** grib) { if( ecmwfLocalDefinition2Present((*grib)) ) return g1_2_total( (*grib) ); else return -999999; } fortdouble RG2TOTL(gribProduct ** grib) { return (fortdouble) IG2TOTL(grib); } fortint IG2METH(gribProduct ** grib) { if( ecmwfLocalDefinition2Present((*grib)) ) return g1_2_method( (*grib) ); else return -999999; } fortdouble RG2METH(gribProduct ** grib) { return (fortdouble) IG2METH(grib); } fortint IG2CFCL(gribProduct ** grib) { if( ecmwfLocalDefinition2Present((*grib)) ) return g1_2_control( (*grib) ); else return -999999; } fortdouble RG2CFCL(gribProduct ** grib) { return (fortdouble) IG2CFCL(grib); } fortint IG2ELON(gribProduct ** grib) { fortint value; if( ecmwfLocalDefinition2Present((*grib)) ) { value = g1_2_domainE( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff); return value; } else return -999999; } fortdouble RG2ELON(gribProduct ** grib) { fortdouble value = (fortdouble) IG2ELON(grib); if( value != -999999.0 ) return (value/1000.0); else return value; } fortint IG2NLAT(gribProduct ** grib) { fortint value; if( ecmwfLocalDefinition2Present((*grib)) ) { value = g1_2_domainN( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff); return value; } else return -999999; } fortdouble RG2NLAT(gribProduct ** grib) { fortdouble value = (fortdouble) IG2NLAT(grib); if( value != -999999.0 ) return (value/1000.0); else return value; } fortint IG2SLAT(gribProduct ** grib) { fortint value; if( ecmwfLocalDefinition2Present((*grib)) ) { value = g1_2_domainS( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff); return value; } else return -999999; } fortdouble RG2SLAT(gribProduct ** grib) { fortdouble value = (fortdouble) IG2SLAT(grib); if( value != -999999.0 ) return (value/1000.0); else return value; } fortint IG2WLON(gribProduct ** grib) { fortint value; if( ecmwfLocalDefinition2Present((*grib)) ) { value = g1_2_domainW( (*grib) ); if( value & 0x800000 ) value = - (value & 0x7fffff); return value; } else return -999999; } fortdouble RG2WLON(gribProduct ** grib) { fortdouble value = (fortdouble) IG2WLON(grib); if( value != -999999.0 ) return (value/1000.0); else return value; } fortint IG2END(gribProduct ** grib) { if( ecmwfLocalDefinition2Present((*grib)) ) return g1_2_end( (*grib) ); else return -999999; } fortdouble RG2END(gribProduct ** grib) { return (fortdouble) IG2END(grib); } fortint IG2NUCL(gribProduct ** grib) { if( ecmwfLocalDefinition2Present((*grib)) ) return g1_2_count( (*grib) ); else return -999999; } fortdouble RG2NUCL(gribProduct ** grib) { return (fortdouble) IG2NUCL(grib); } fortint IG2OPCL(gribProduct ** grib) { if( ecmwfLocalDefinition2Present((*grib)) ) return g1_2_operational( (*grib) ); else return -999999; } fortdouble RG2OPCL(gribProduct ** grib) { return (fortdouble) IG2OPCL(grib); } fortint IG2STAR(gribProduct ** grib) { if( ecmwfLocalDefinition2Present((*grib)) ) return g1_2_start( (*grib) ); else return -999999; } fortdouble RG2STAR(gribProduct ** grib) { return (fortdouble) IG2STAR(grib); } fortint IG2LIST(gribProduct ** grib, fortint * array, fortint * size) { gribProduct * g = *grib; fortint loop, listLength; unsigned char * p; if( !ecmwfLocalDefinition2Present(g) ) return -1; listLength = g1_2_count(g); if( listLength > *size ) return -1; p = (unsigned char *) ((g->g1)->local.contents.def2.forecastNumberList); for( loop = 0; loop < listLength; loop++ ) { *(array+loop) = ONEBYTEINT(p); p++; } return listLength; } emoslib-000392+dfsg.1/gribex/eocsec2.F0000755000175000017500000001043612127406245020377 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION EOCSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) C C----> C**** EOCSEC2P C C PURPOSE C _______ C C Encodes GRIB section 2 values for ECMWF ocean fields. C C INTERFACE C _________ C C IRET = EOCSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product built so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product built so far. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C C C Output parameters C ________________ C C KGRIB - Updated GRIB product to end of section 2. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Packs values given in KSEC2 into KGRIB and updates bit C pointer INSPT. C #include "eocsec2.h" C C Externals C _________ C C CSGNBT - Set the sign bit. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC2,IBITS DIMENSION KGRIB(*),KSEC2(*) C C Local variables C INTEGER IRET, ILOOP C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C EOCSEC2 = 0 C C _______________________________________________________ C C Section 2. Pack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C C Octets 7 - 8 : Ni - number of points along a parallel. C Octets 9 - 10 : Nj - number of points along a meridian. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN EOCSEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: number of pts along first or second axis.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GO TO 900 ENDIF C C Octets 11 - 27 : Reserved. C C Fill reserved octets with 0. C DO ILOOP = 1,17 CALL INXBIT(KGRIB,KLENG,INSPT, 0, 1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN EOCSEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error inserting dummy zero.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GO TO 900 ENDIF ENDDO C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN EOCSEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: scanning mode flags.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GO TO 900 ENDIF C C Octets 29 - 32 : Reserved. C C Fill reserved octets with 0. C DO ILOOP = 1,4 CALL INXBIT(KGRIB,KLENG,INSPT, 0, 1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN EOCSEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error inserting dummy zero.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GO TO 900 ENDIF ENDDO C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/ccf1cr.F0000755000175000017500000003274312127406245020222 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CCF1CR (HEXP,HSTR,HDIS,HTYP,HREP,HLEV,HARE,HPER,HFIR, C HOWN,HBAK,HCLS,HFAM,HRUT,KPR,KRET) C C C----> C**** CCF1CR C C PURPOSE. C -------- C C CREATE REQUESTED NODES IN CFS FOR MARS ARCHIVING. C C** INTERFACE. C ---------- C C CALL CCF1CR (HEXP,HSTR,HDIS,HTYP,HREP,HLEV,HARE,HPER,HFIR, C C HOWN,HBAK,HCLS,HFAM,HRUT,KPR,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C INPUT PARAMETERS. C ----------------- C C HEXP - 4 CHARACTER EXPERIMENT IDENTIFIER. C C HSTR - ARCHIVE STREAM. C FOR RESEARCH. C DA - DAILY ARCHIVE. C FOR OPERATIONS. C DA - DAILY ARCHIVE. C CH - CHERNOBYL ARCHIVE. C TG - TOGA ARCHIVE. C MO - MONTHLY. C C HDIS - NEW , NEW ENTRY REQUIRED. C OLD , DELETE OLD ENTRY BEFORE MAKING C NEW ONE. C C HTYP - AN , ANALYSIS. C IA , INITIALISED ANALYSIS. C FG , FIRST GUESS. C FC , FORECAST. C EA , ERRORS IN ANALYSIS. C CL , CLIMATOLOGY. C C C HREP - SH , SPHERICAL HARMONICS. C GG , GAUSSIAN GRID. C LL , LAT/LONG GRID. C C HLEV - M , MODEL LEVELS. C P , PRESSURE LEVELS. C S , SURFACE. C C HARE - G , GLOBAL DATA. C C HPER - S , SHORT RETENTION PERIOD. C M , MEDIUM RETENTION PERIOD. C P , PERMANENT RETENTION. C C HFIR - DATE OF FIRST ARCHIVE (YYMMDD). C C HOWN - OWNER'S PASSWORD. 6 CHARACTERS FOR C RESEARCH EXPERIMENTS, 5 FOR OPERATIONS. C C HBAK - 0 , NO BACKUP NODES REQUIRED. C 1 , 1 BACKUP OF NODES REQUIRED. C C HCLS - RD , RESEARCH DEPARTMENT. C OD , OPERATIONS DEPARTMENT. C C HFAM - N, NO FAMILY ATTRIBUTE IN NODES. C Y , FAMILY ATTRIBUTES IN NODES. C C HRUT - ROOT NODE TO BE USED. C FOR RESEARCH C P , PRODUCTION ROOT MARSR. C T , TEST ROOT MATSR. C FOR OPERATIONS C P , PRODUCTION ROOT MARST. C O , OLD PRODUCTION ROOT MARSO. C T , TEST ROOT MATST. C C KPR - DEBUG PRINT SWITCH. C 0 , NO PRINTOUT. C 1 , DEBUG PRINTOUT. C C OUTPUT PARAMETERS. C ------------------ C C KRET - ERROR RETURN CODE. C 0 , NO ERROR ENCOUNTERED. C 1 , ERROR IN REMOVING OLD NODES. C 2 , ERROR IN CREATING NEW NODES. C 3 , ERROR IN ADDING VALIDATION ENTRIES. C 4 , ERROR IN ADDING FAMILY ATTRIBUTE. C 5 , ERROR IN PASSWORD. C 6 , ATTEMPT TO DELETE OPERATIONAL NODE. C 7 , EXPERIMENT IDENTIFIER NOT FOUR C CHARACTERS. C 8 , DATE OF FIRST ARCHIVE NOT 6 DIGITS. C C METHOD. C ------- C C ROOT NODES ARE ASSUMED TO EXIST. CACHE NODES CREATED C AUTOMATICALLY, BACKUP NODES IF REQUIRED. C DELETION OF OPERATIONAL NODES IS PROHIBITED. C C EXTERNALS. C ---------- C C ECFILE C C REFERENCE. C ---------- C C MARS DESIGN NOTE 30. FILE 460 24.03.88. C C COMMENTS. C --------- C C ROUTINE CONTAINS SECTIONS 0 TO 4 AND SECTION 9. C ADDITION OF FAMILY ATTRIBUTE NOT POSSIBLE IN FIRST VERSION. C C AUTHOR. C ------- C C J. HENNESSY ECMWF 28:06:89. C C MODIFICATIONS C -------------- C C NONE. C C----< C ---------------------------------------------------------------- C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C C CHARACTER*4 HEXP CHARACTER*2 HSTR CHARACTER*4 HDIS CHARACTER*4 HTYP CHARACTER*4 HREP CHARACTER*4 HLEV CHARACTER*4 HARE CHARACTER*1 HPER CHARACTER*6 HFIR CHARACTER*6 HOWN CHARACTER*1 HBAK CHARACTER*2 HCLS CHARACTER*1 HFAM CHARACTER*1 HRUT C CHARACTER*36 YLINE C CHARACTER*160 YREQ C CHARACTER*6 YNODE1 CHARACTER*3 YNODE2 CHARACTER*5 YNODE3 CHARACTER*5 YNODE4 CHARACTER*5 YNODE5 C DIMENSION IREASON(3) C DIMENSION YLINE(3) C C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 1 . SET INITIAL VALUES. CHECK PARAMETERS. C ---------------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'CCF1CR : SECTION 1.' C KRET = 0 C C* CHECK THAT EXPERIMENT OR STREAM IDENTIFIER IS 4 CHARACTERS LONG. C I = INDEX (HEXP,' ') IF (I.NE.0) C THEN KRET = 7 WRITE (*,9006) HEXP GO TO 9000 ENDIF C C* CHECK THAT FIRST ARCHIVE DATE CONSISTS OF 6 DIGITS. C I = INDEX (HFIR,' ') IF (I.NE.0) C THEN KRET = 8 WRITE (*,9007) HFIR GO TO 9000 ENDIF C C C* FOR COMPATIBILITY WITH PREVIOUS USER INTERFACE A FEW DEFAULT C VALUES HAVE TO BE SET UP, WHEN NONE ARE PROVIDED. C IF (HCLS.EQ.' ') HCLS = 'RD' IF (HFAM.EQ.' ') HFAM = 'N' IF (HCLS.EQ.'RD') HFAM = 'N' IF (HCLS.EQ.'RD') HSTR = 'DA' IF (HRUT.EQ.' ') HRUT = 'P' C C C CHECK THAT OWNER'S PASSWORD IS CORRECT LENGTH ( 5 FOR OPERATIONS C 6 FOR RESEARCH). C IL = INDEX (HOWN,' ') IF (IL.EQ.6) IL = 5 IF (IL.EQ.0) IL = 6 IF (IL.EQ.5.AND.HCLS.NE.'OD') KRET = 5 IF (IL.EQ.6.AND.HCLS.NE.'RD') KRET = 5 IF (KRET.EQ.5) C THEN WRITE (*,9008) HOWN GO TO 9000 ENDIF C C* RESEARCH ARCHIVE IS DAILY ARCHIVE ONLY. OPERATIONAL ARCHIVES C HAVE SEVERAL STREAMS, WHICH ARE USED TO MAKE UP CFS PATHNAME, C IN THE SAME NODE AS THE RESEARCH EXPERIMENT IDENTIFIER. C IF (HCLS.EQ.'OD') C THEN HEXP = 'OPER' IF (HSTR.EQ.'CH') HEXP = 'CHER' IF (HSTR.EQ.'TG') HEXP = 'TOGA' ENDIF C C* SET UP VALUES FOR FIRST 5 NODES EG MARSR/FC/EXPV/SPGS/1989. C C NODE 1. C IF (HCLS.EQ.'RD'.AND.HRUT.EQ.'P') YNODE1 = '/MARSR' IF (HCLS.EQ.'RD'.AND.HRUT.EQ.'T') YNODE1 = '/MATSR' C IF (HCLS.EQ.'OD'.AND.HRUT.EQ.'T') YNODE1 = '/MATST' IF (HCLS.EQ.'OD'.AND.HRUT.EQ.'O') YNODE1 = '/MARSO' IF (HCLS.EQ.'OD'.AND.HRUT.EQ.'P') YNODE1 = '/MARST' C C NODE 2. C YNODE2 = '/'//HTYP(1:2) C C NODE 3. C YNODE3 = '/'//HEXP C C NODE 4. C YNODE4 = '/'//HREP(1:1)//HLEV(1:1)//HARE(1:1)//HPER C C NODE 5. C YNODE5 = '/19'//HFIR(1:2) C C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 2 . REMOVE ANY EXISTING NODES AND FILES, IF REQUIRED. C ---------------------------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'CCF1CR : SECTION 2.' C IF (HDIS(1:1).EQ.'O') C THEN C C* REMOVAL OF OPERATIONAL NODES AND FILES NOT ALLOWED. C IF (HCLS.EQ.'OD'.AND.(HRUT.EQ.'P'.OR.HRUT.EQ.'O')) C THEN KRET = 6 WRITE (*,9004) GO TO 9000 ENDIF C YTEMP = 'REMOVE' CALL LDC1CR (YTEMP,HOWN(1:IL),HEXP,HTYP,HCLS,HSTR,HRUT, C KPR,IRC) C C IGNORE RETURN CODE FOR EXPERIMENT DOES NOT EXIST. C IF (IRC.GT.1) C THEN KRET = 1 WRITE (*,9005) GO TO 9000 ENDIF ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 3 . CREATE NODE (AND BACKUP NODES IF REQUIRED). C ---------------------------------------------------------------- C 3000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'CCF1CR : SECTION 3.' C DO 3900 J3900 = 1 , 4 C C* IF FIRST TIME THROUGH SET UP /ROOT/TYPE NODES. C IF (J3900.EQ.1) C THEN YLINE(1) = YNODE1//YNODE2//',' YLINE(2) = '/CACHE'//YNODE1//YNODE2//',' YLINE(3) = '/MARSBACKUP'//YNODE1//YNODE2//',' ENDIF C C* IF SECOND TIME THROUGH SET UP /ROOT/TYPE/EXPVER NODES. C IF (J3900.EQ.2) C THEN YLINE(1) = YNODE1//YNODE2//YNODE3//',' YLINE(2) = '/CACHE'//YNODE1//YNODE2//YNODE3//',' YLINE(3) = '/MARSBACKUP'//YNODE1//YNODE2//YNODE3//',' ENDIF C C* IF THIRD TIME THROUGH SET UP /ROOT/TYPE/EXPVER/DESCRIPTOR NODES. C IF (J3900.EQ.3) C THEN YLINE(1) = YNODE1//YNODE2//YNODE3//YNODE4//',' YLINE(2) = '/CACHE'//YNODE1//YNODE2//YNODE3//YNODE4//',' YLINE(3) = '/MARSBACKUP'//YNODE1//YNODE2//YNODE3//YNODE4 C //',' ENDIF C C* IF FOURTH TIME THROUGH SET UP /ROOT/TYPE/EXPVER/DESCRIPTOR/YEAR C NODES. C IF (J3900.EQ.4) C THEN YLINE(1) = YNODE1//YNODE2//YNODE3//YNODE4//YNODE5//',' YLINE(2) = '/CACHE'//YNODE1//YNODE2//YNODE3//YNODE4 C //YNODE5//',' YLINE(3) = '/MARSBACKUP'//YNODE1//YNODE2//YNODE3//YNODE4 C //YNODE5//',' ENDIF C C J = 0 C 3100 CONTINUE C J = J + 1 I = INDEX (YLINE(J),',') YREQ = 'FN=ADD,NA,PATH='//YLINE(J)(1:I)//'UVAL=UV1/WMB/' C //HOWN(1:IL)//'/S.' IF (KPR.EQ.1) WRITE (*,9003) YREQ CALL ECFILE (IERR,IREASON,YREQ) C C TRAP RETURN CODES FOR NODE ALREADY EXISTS. C IF (IERR .EQ. 9. C AND.IREASON(1).EQ.1. C AND.IREASON(2).EQ.2. C AND.IREASON(3).EQ.12) GO TO 3300 C IF (IERR.NE.0) C THEN WRITE (*,9001) IERR , IREASON WRITE (*,9003) YREQ KRET = 2 GO TO 9000 ENDIF C C ADD VALIDATION ENTRY. C YREQ = 'FN=MODIFY,PW='//HOWN(1:IL)//',NA,PATH='//YLINE(J)(1:I)// C 'AVAL=PUB/IR/-/S.' IF (KPR.EQ.1) WRITE (*,9003) YREQ CALL ECFILE (IERR,IREASON,YREQ) C C TRAP RETURN CODES FOR ENTRY ALREADY EXISTS. C IF (IERR .EQ. 9. C AND.IREASON(1).EQ.1. C AND.IREASON(2).EQ.115. C AND.IREASON(3).EQ.5) GO TO 3300 C IF (IERR.NE.0) C THEN WRITE (*,9002) IERR , IREASON WRITE (*,9003) YREQ KRET = 3 GO TO 9000 ENDIF C 3300 CONTINUE C C CREATE CACHE NODES. C IF (J.LT.2) GO TO 3100 C C CREAT BACKUP NODES IF REQUIRED. C IF (HBAK.EQ.'1'.AND.J.EQ.2) GO TO 3100 C 3900 CONTINUE C C ---------------------------------------------------------------- C C C C C C C C C C C* SECTION 4 . ADD FAMILY ATTRIBUTES. C ---------------------------------------------------------------- C 4000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'CCF1CR : SECTION 4.' C IF (HFAM.EQ.'Y') C THEN KRET = 4 WRITE (*,*) 'CCF1CR : FAMILY ATTRIBUTES NOT IMPLEMENTED.' GO TO 9000 ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE. FORMAT STATEMENTS. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'CCF1CR : SECTION 9.' C C RETURN C C 9001 FORMAT (1H ,'CCF1CR : NODE CREATION ERROR. FAILURE CODE = ',I3, C ' , REASON CODES = ',3I6,' .') C 9002 FORMAT (1H ,'CCF1CR : VALIDATION ENTRY. FAILURE CODE = ',I3, C ' , REASON CODES = ',3I6,' .') C 9003 FORMAT (1H ,A) C 9004 FORMAT (1H ,'CCF1CR : OPERATIONAL NODE DELETION ILLEGAL.') C 9005 FORMAT (1H ,'CCF1CR : DELETION OF OLD NODES/FILES FAILED.') C 9006 FORMAT (1H ,'CCF1CR : EXPERIMENT IDENTIFIER NOT 4 CHARACTERS - ', C A) C 9007 FORMAT (1H ,'CCF1CR : FIRST ARCHIVE DATE NOT 6 DIGITS - ',A) C 9008 FORMAT (1H ,'CCF1CR : OWNER (PASSWORD) INVALID - ',A) C C ------------------------------------------------------------------ C C END emoslib-000392+dfsg.1/gribex/sources.hpia640000755000175000017500000000634612127406245021452 0ustar amckinstryamckinstry# # Sources for libemos/gribex for hppa # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ jabort.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gengrib.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/cheknum.F0000755000175000017500000000333412127406245020505 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CHEKNUM (VALU,LVAL,NUM) C C----> C* C* NAME : CHEKNUM C* C* FUNCTION : CHECKS THAT A CHARACTER STRING CORRECTLY C* REPRESENTS A NUMBER. C* C* INPUT : VALU = CHARACTER STRING TO BE CHECKED C* LVAL = NUMBER OF CHARACTERS IN THIS STRING C* C* OUTPUT : NUM = 0, IF STRING REPRESENTS A NUMBER. C* 1, IF INVALID CHARACTER FOUND. C* C* JOHN HENNESSY, ECMWF, 16TH APRIL 1985 C C----< C --------------------------------------------------------------- C IMPLICIT INTEGER (A-Z) C CHARACTER*(*) VALU NUM = 0 C C CHECK ONE CHARACTER STRING FOR VALID DIGIT. C IF (VALU(1:1).LT.'0'.OR.VALU(1:1).GT.'9') NUM=1 IF (LVAL.EQ.1) RETURN C C CHECK FOR SIGN OR DECIMAL POINT AS FIRST CHARACTER IN STRING. C IF (VALU(1:1).EQ.'+') NUM = 0 IF (VALU(1:1).EQ.'-') NUM = 0 IF (VALU(1:1).EQ.'.') NUM = 0 IF (NUM.EQ.1) RETURN C TOTAL = 1 POINT = 0 IF (VALU(1:1).EQ.'.') POINT = 1 C DO 100 I=2,LVAL IF (VALU(I:I).EQ.'.') POINT = POINT + 1 IF (VALU(I:I).GE.'0'.AND.VALU(I:I).LE.'9') C TOTAL = TOTAL + 1 100 CONTINUE C TOTAL = TOTAL + POINT IF (VALU(1:1).EQ.'.') TOTAL = TOTAL - 1 IF (TOTAL.NE.LVAL) NUM = 1 IF (POINT.GT.1) NUM = 1 C RETURN END emoslib-000392+dfsg.1/gribex/epssec2.F0000755000175000017500000001526312127406245020423 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION EPSSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C----> C**** EPSSEC2P C C PURPOSE C _______ C C Encodes GRIB section 2 values for polar stereographic fields. C C INTERFACE C _________ C C IRET = EPSSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product built so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product built so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C C C Output parameters C ________________ C C KGRIB - Updated GRIB product to end of section 2. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Packs values given in KSEC2 into KGRIB and updates bit C pointer INSPT. C C Externals C _________ C C CSGNBT - Set the sign bit. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) C C Local variables C INTEGER ILALO(2), IRET, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C EPSSEC2 = 0 C C _______________________________________________________ C C Section 2. Pack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along X-axis. C Octets 9 - 10 : Nj - number of points along Y-axis. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN EPSSEC2 = 1 WRITE(GRPRSM,*) 'EPSSEC2: Error inserting' WRITE(GRPRSM,*) 'EPSSEC2: number of points along X or Y axis.' WRITE(GRPRSM,*) 'EPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C CALL CSGNBT( ILALO(1), KSEC2(4), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(5), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN EPSSEC2 = 1 WRITE(GRPRSM,*) 'EPSSEC2: Error inserting' WRITE(GRPRSM,*) X 'EPSSEC2: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'EPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 17 : Resolution and components flag. C One 8 bit field. C C Resolution flag ( KSEC2(6) ) is not applicable. C KSEC2(6) = 0 IRESOL = KSEC2(18)+KSEC2(19) C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN EPSSEC2 = 1 WRITE(GRPRSM,*) 'EPSSEC2: Error inserting' WRITE(GRPRSM,*) 'EPSSEC2: components flag.' WRITE(GRPRSM,*) 'EPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(6),1,IBITS, 8,'C',IRET) C IF( IRET.NE.0 ) THEN C EPSSEC2 = 1 C WRITE(GRPRSM,*) 'EPSSEC2: Error inserting' C WRITE(GRPRSM,*) 'EPSSEC2: components flag.' C WRITE(GRPRSM,*) 'EPSSEC2: Return code = ', IRET C GOTO 900 C ENDIF C C Octets 18 - 20 : LoV - orientation of the grid. C One 24 bit field. C C Set sign bit to 1 if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(7), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),1,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN EPSSEC2 = 1 WRITE(GRPRSM,*) 'EPSSEC2: Error inserting' WRITE(GRPRSM,*) X 'EPSSEC2: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'EPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 21 - 23 : Dx - X direction grid length. C Octets 24 - 26 : Dy - Y direction grid length. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN EPSSEC2 = 1 WRITE(GRPRSM,*) 'EPSSEC2: Error inserting' WRITE(GRPRSM,*) 'EPSSEC2: X or Y axis grid length.' WRITE(GRPRSM,*) 'EPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 27 : Projection centre flag. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(13),1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN EPSSEC2 = 1 WRITE(GRPRSM,*) 'EPSSEC2: Error inserting' WRITE(GRPRSM,*) 'EPSSEC2: Projection centre flag.' WRITE(GRPRSM,*) 'EPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN EPSSEC2 = 1 WRITE(GRPRSM,*) 'EPSSEC2: Error inserting' WRITE(GRPRSM,*) 'EPSSEC2: scanning mode flags.' WRITE(GRPRSM,*) 'EPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 32 : Reserved. C Two 16 bit fields. C C Set bits to 0. C CALL INXBIT(KGRIB,KLENG,INSPT, 0, 1,IBITS, 32,'C',IRET) IF( IRET.NE.0 ) THEN EPSSEC2 = 1 WRITE(GRPRSM,*) 'EPSSEC2: Error inserting dummy zero.' WRITE(GRPRSM,*) 'EPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/decogb.F0000755000175000017500000002754712127406245020312 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DECOGB (FPDATA,ILENF,IBITS,NBIT,IB1PAR, C IB2PAR,FVERT,ILENV,IGRIB,ILENG,IWORD, C JLENV,JLENF,IERR) C C----> C**** DECOGB - Interface using GRIBEX to decode GRIB format data. C C Purpose. C -------- C C Provides a compatible interface between the old (DECOGB) C and new (GRIBEX) GRIB decoding software. C C GRIB Code Edition Number 0 has been in use at ECMWF since C the end of 1985. GRIB Code Edition Number 1 came into use C with the introduction of the T213 model, which uses a C quasi-regular Gaussian grid for surface fields. C C This interface decodes GRIB Code Edition Number 1 in C Edition 0 format and converts the quasi-regular Gaussian C grid to a regular grid. When this conversion is done, no C West/East increment is included in IB2PAR(9). The increment C must be calculated ie ZEWINC = 360.0 / IB2PAR(2). For C Gaussian N160 data the increment is .5625 and this C cannot be accurately represented in the required units C of millidegrees for IB2PAR(9). C C** Interface. C --------- C C CALL DECOGB (FPDATA,ILENF,IBITS,NBIT,IB1PAR, C C IB2PAR,FVERT,ILENV,IGRIB,ILENG,IWORD, C C JLENV,JLENF,IERR) C C Input Parameters. C ----------------- C C NBIT - Number of bits in computer word C C IGRIB - Integer array containing data in grib code. C ILENG - Length of array IGRIB. C C FVERT - Real array to receive vertical coordinate C parameters. C ILENV - Length of array FVERT. C C FPDATA - Real array to receive decoded data values. C ILENF - Length of array FPDATA. C C !!!!! If this is 1 only C the product and grid definition sections C are decoded. !!!!! C C IB1PAR - Integer array (dimension 18) to receive C product definition information. C C IB2PAR - Integer array (dimension 11) to receive grid C definition information. C C Output Parameters. C ----------------- C C Parameters from section 1 , product definition section C ------------------------------------------------------ C C IB1PAR - Integer array (dimension 18) of product C definition information. C C Word Contents C ---- -------- C 1 Originating centre identifier. C 2 Model identification. C 3 Grid definition. C 4 Flag ( Code Table 1) C 5 Parameter identifier ( Code Table 2 ). C 6 Type of level (Code Table 3). C 7-8 Value(s) of levels (Code Table 3). C 9 Year of data C 10 Month of data C 11 Day of data C 12 Hour of data C 13 Minute of data C 14 Time unit (Code Table 4). C 15 Time range one C 16 Time range two C 17 Time range flag (Code Table 5). C 18 Number averaged. C C Value(s) of level can occupy 2 words. C For a layer the first word defines the top C and the second the bottom of the layer. C For a single level, only the first word is C used. C C Parameters from section 2 , grid definition section. C ----------------------------------------------- C C IB2PAR - Integer array (dimension 11) containing grid C definition information. C Use varies with data representation type. C C Word Latitude/longitude grid C ---- ----------------------- C 1 Data representation type (Code Table 6). C 2 Number of points along a latitude C 3 Number of points along a meridian. C 4 Latitude of origin (South is negative). C 5 Longitude of origin (West is negative). C 6 Resolution flag. (Code Table 7) C 7 Latitude of extreme point (South negative). C 8 Longitude of extreme point (West negative). C 9 West/East increment C 10 North/South increment C 11 Scanning mode flags (Code Table 8) C C Word Gaussian grid C ---- ------------- C 1-9 As for latitude/longitude grid. C 10 The number of latitude lines between a pole C and the equator. C 11 Scanning mode flags (Code Table 8) C C Word Spherical harmonics C ---- ------------------- C 1 Data representation type (Code Table 6) C 2 J - pentagonal resolution parameter C 3 K - pentagonal resolution parameter C 4 M - pentagonal resolution parameter C 5 Representation type (Code Table 9) C 6 Representation mode (Code Table 10) C 7-11 not used C C C Use for other data representation types is C C FVERT - Real array of vertical coordinate parameters C JLENV - Number of values in this array. C C Used for hybrid levels only. C C Parameters from section 3 , bit-map definition section C -------------------------------------------------- C C Not handled by this routine. C C Parameters from section 4 , binary data section. C ------------------------------------------- C C FPDATA - Array of floating point values. C JLENF - Number of values in this array. C JLENF is negative if missing data coded C C IBITS - Number of bits for coded data values. C C IWORD - Number of words decoded. C C IERR - Error indicator. C C 0, No error. C C -5, Bit-map not yet catered for. C C -6, Vertical coordinate parameter array C too small. C C Other error codes as for GRIBEX. C C Method. C ------- C C Subroutine GRIBEX, which can decode all editions of the C GRIB code, is called for the actual decoding. Sections C 1 and 2 information is then put in Edition Number 0 C format, and any quasi-regular Gaussian grid transformed C into a regular grid. C C Externals. C ---------- C C GRIBEX C QU2REG C C Reference. C ---------- C C WMO Manual on Codes for GRIB code definition. C C Comments. C --------- C C Parameter names do not conform to current programming C conventions, but are the same as in the old DECOGB routine. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C ------------- C C J. Hennessy ECMWF 19.06.91 C Fix to accommodate analysis section's incorrect C use of old DECOGB. C C J. Hennessy ECMWF 26.06.91 C Check on size of vertical coordinate parameters array C added. T213 model has 12 extra levels. C C ----------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0. Definition of variables. C ----------------------------------------------------------------- C DIMENSION ISEC0(2) DIMENSION ISEC1(32) DIMENSION ISEC2(512) DIMENSION ISEC3(2) DIMENSION ISEC4(64) C DIMENSION ZSEC2(128) DIMENSION ZSEC3(2) C CHARACTER*1 YOPER C DIMENSION FPDATA(*) DIMENSION FVERT(*) DIMENSION IGRIB(*) DIMENSION IB1PAR(18) DIMENSION IB2PAR(11) C C ----------------------------------------------------------------- C C C C C C C C C C C C C* Section 1. Decode data and convert to Edition 0 format. C ----------------------------------------------------------------- C 100 CONTINUE C IERR = 0 C C Decode sections 1 and 2 or all sections, as required. C YOPER = 'Z' C C Fix for incorrect usage of old DECOGB by analysis section, who C have always called DECOGB with ILENF equal to 0, when they C should have used 1. They got away with it with the old DECOGB C because sections 1 and 2 were decoded before the error in the C parameter was discovered, and they never checked the return code. C IF (ILENF.EQ.0) ILENF = 1 C IF (ILENF.EQ.1) YOPER = 'I' IERX = 1 CALL GRIBEX (ISEC0,ISEC1,ISEC2,ZSEC2,ISEC3,ZSEC3,ISEC4, C FPDATA,ILENF,IGRIB,ILENG,IWORD,YOPER,IERX) C IERR = IERX C C Bit map not catered for by DECOGB arguments. C IF (IERR.EQ.-5) WRITE (*,9001) C C Error encountered. C IF (IERR.GT.0) GO TO 900 C C Transfer information to DECOGB arguments. C JLENF = ISEC4(1) IBITS = ISEC4(2) JLENV = ISEC2(12) C C Section 1. C DO 110 J110 = 1,18 IB1PAR(J110) = ISEC1(J110+1) 110 CONTINUE C C Section 2. C DO 111 J111 = 1,11 IB2PAR(J111) = ISEC2(J111) 111 CONTINUE C C Go to section 9, if pseudo-GRIB data. C IF (IB1PAR(5).EQ.127.OR.IB1PAR(5).EQ.128) C THEN WRITE (*,9002) IB1PAR(5) GO TO 900 ENDIF C C Check size of vertical coordinate parameter array. C IF (JLENV.GT.ILENV) C THEN IERR = -6 WRITE (*,9003) JLENV , ILENV GO TO 900 ENDIF C C Vertical coordinate parameters, if any, C DO 112 J112 = 1,JLENV FVERT(J112) = ZSEC2(J112+10) 112 CONTINUE C C Go to section 9, if decoding of sections 1 and 2 only. C IF (YOPER.EQ.'I') C THEN IF (ISEC2(1).NE.4) GO TO 900 IF (ISEC2(17).EQ.1) IB2PAR(2) = 4 * ISEC2(10) GO TO 900 ENDIF C C If quasi-regular Gaussian grid, convert to regular and C adjust section 1 and 2 information accordingly. C IF (ISEC2(1).NE.4) GO TO 900 C IF (ISEC2(17).EQ.1) C THEN INOLAT = ISEC2(10) * 2 INOLNG = ISEC2(10) * 4 CALL QU2REG (FPDATA,ISEC2(23),INOLAT,INOLNG,1) JLENF = INOLAT * INOLNG IB2PAR(2) = 4 * ISEC2(10) ENDIF C C ----------------------------------------------------------------- C C C C C C C C C C C* Section 9. Return to calling routine. Format statements. C ----------------------------------------------------------------- C 900 CONTINUE C 9001 FORMAT (1H ,'DECOGB : Bit map not catered for.') C 9002 FORMAT (1H ,'DECOGB : Pseudo-GRIB field number ',I3) C 9003 FORMAT (1H ,'DECOGB : ',I3,' vertical coordinate parameters, ', C 'but array size is only ',I3,'.') C RETURN C END emoslib-000392+dfsg.1/gribex/ptquasi.F0000755000175000017500000000717512127406245020550 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PTQUASI (KSEC2) C C----> C**** PTQUASI C C Purpose. C -------- C C Print the qusai-regular information in the Grid Description C Section (Section 2) of decoded GRIB data. C C** Interface. C ---------- C C CALL PTQUASI (KSEC2) C C C Input Parameters. C ----------------- C C KSEC2 - Array of decoded integers from Section 2. C C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C See below. C C C Externals. C ---------- C C PRTBIN C C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C C C Comments. C --------- C C Only data representation types catered for are Gaussian C grid, latitude/longitude grid, Spherical Harmonics, C Polar stereographic and Space view perspective. C C C Author. C ------- C C J.D.Chambers ECMWF 21.02.95 C C C Modifications. C -------------- C C None. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments INTEGER KSEC2 DIMENSION KSEC2(*) C C Local variables CHARACTER*12 YOUT C INTEGER NEXTLAT, NREPEAT, LATCNT INTEGER J120 C LOGICAL NTOS C C ----------------------------------------------------------------- C* Section 1. Print quasi-grid data. C ----------------------------------------------------------------- C 100 CONTINUE C C See if scanning is north->south or south->north C WRITE(GRPRSM,*) ' Number of points along a parallel varies.' NTOS = ( MOD(KSEC2(11),128) .LT. 64 ) IF ( NTOS ) THEN WRITE(GRPRSM,*) X ' Number of points. Parallel. (North to South)' ELSE WRITE(GRPRSM,*) X ' Number of points. Parallel. (South to North)' ENDIF C C Display number of points for each latitude LATCNT = KSEC2(3) NEXTLAT = 0 YOUT = ' ' C DO 120 J120 = 1,LATCNT NEXTLAT = NEXTLAT + 1 WRITE (YOUT(1:4),'(I4)') NEXTLAT C C Finished? IF (NEXTLAT.GT.LATCNT) GO TO 900 IF (NEXTLAT.EQ.LATCNT) THEN WRITE(GRPRSM,9005) KSEC2(NEXTLAT+22) , YOUT GO TO 900 ENDIF C C Look for neighbouring latitudes with same number of points C NREPEAT = 0 110 CONTINUE C C If neighbouring latitudes have same number of points C increase the repeat count. IF (KSEC2(NEXTLAT+22+1).EQ.KSEC2(NEXTLAT+22)) THEN NREPEAT = NREPEAT + 1 NEXTLAT = NEXTLAT + 1 IF (NEXTLAT.LT.LATCNT) GO TO 110 ENDIF C C Display neighbouring latitudes with same number of points as C 'nn to mm'. IF (NREPEAT.GE.1) THEN YOUT(5:) = ' to ' WRITE (YOUT(9:12),'(I4)') NEXTLAT ENDIF WRITE(GRPRSM,9005) KSEC2(NEXTLAT+22) , YOUT YOUT = ' ' C 120 CONTINUE C C ----------------------------------------------------------------- C* Section 9 . Format statements. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C RETURN C 9005 FORMAT (1H , I5,16X,A12) C END emoslib-000392+dfsg.1/gribex/prtbin.F0000755000175000017500000001057012127406245020351 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PRTBIN (KIN,KNBIT,KOUT,KERR) C C----> C**** PRTBIN - Binary to decimal conversion. C C Purpose. C -------- C C Produces a decimal number with ones and zeroes C corresponding to the ones and zeroes of the input C binary number. C eg input number 1011 binary, output number 1011 decimal. C C** Interface. C ---------- C C CALL PRTBIN (KIN,KNBIT,KOUT,KERR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KIN - Integer variable containing binary number. C C KNBIT - Number of bits in binary number. C C Output Parameters. C ----------------- C C KOUT - Integer variable containing decimal value C with ones and zeroes corresponding to those of C the input binary number. C C KERR - 0, If no error. C 1, Number of bits in binary number exceeds C maximum allowed or is less than 1. C C Method. C ------- C C Odd numbers have a binary representation ending in 1, even C numbers end in 0. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C Replaces earlier routine of the same name, which C contained non-ANSI code. C Routine contains sections 0, 1 and section 9. C C Author. C ------- C C John Hennessy ECMWF 01.10.91 C C Modifications. C -------------- C C None. C C --------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0. Definition of variables. Check on parameters. C ----------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C IMPLICIT NONE C #include "grprs.h" C INTEGER IDEC INTEGER IK INTEGER ITEMP C INTEGER J102 C INTEGER KERR INTEGER KIN INTEGER KNBIT INTEGER KOUT C C Check length of binary number to ensure decimal number C generated will fit in the computer word - in this case will C it fit in a Cray 48 bit integer? C IF (KNBIT.LT.1.OR.KNBIT.GT.14) C THEN KERR = 1 WRITE(GRPRSM,9000) KNBIT GO TO 900 ELSE KERR = 0 ENDIF C C ----------------------------------------------------------------- C C C C C C C C C C C* Section 1. Generate required number. C ----------------------------------------------------------------- C 100 CONTINUE C KOUT = 0 IK = KIN IDEC = 1 C DO 102 J102=1,KNBIT ITEMP = IK - ( (IK/2)*2 ) KOUT = KOUT + ITEMP * IDEC IK = IK / 2 IDEC = IDEC * 10 102 CONTINUE C C ----------------------------------------------------------------- C C C C C C C C C C C* Section 9. Format statements. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C 9000 FORMAT (1H ,'PRTBIN : Error in binary number length - ',I3, C ' bits.') C RETURN END emoslib-000392+dfsg.1/gribex/getfb2.F0000755000175000017500000001057512127406245020231 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETFB2 (KLFB2,PFB2,KLENG,KARRAY,KPR,KRET) C C----> C**** GETFB2 - Extract real values from section 2 of GRIB code. C C Purpose. C -------- C C Get real values from section 2 of unpacked GRIB or C Pseudo-grib records, retrieved from MARS. C C** Interface. C ---------- C C CALL GETFB2 (KLFB2,PFB2,KLENG,KARRAY,KPR,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input parameters. C ----------------- C C PFB2 - Array to receive section 2 values. C KLENG - Length of this array. C KARRAY - Array containing unpacked record. C KPR - Debug print switch. C 0 , No printout. C 1 , Debug printout. C 2 , Print values extracted. C C KRET - Abort/no abort when error found. C 0 , abort if error found. C Non-zero , no abort if error found. C C Output parameters. C ------------------ C C PFB2 - Array containing values from section 2. C KLFB2 - Number of values in this array. C KRET - Error return code. C 0 , No error encountered. C 1 , Target array too small. C C Method. C ------- C C Unpacked data is in self defining records. The required C values are located and extracted. C C Externals. C ---------- C C None. C C Reference. C ---------- C C See MARS format documentation re GRIB, Pseudo-grib and C unpacked formats. C C Comments. C --------- C C Subroutine contains sections 0 to 2 and section 9. C C Author. C ------- C C J. Hennessy ECMWF 18:06:86. C C Modifications C -------------- C C None. C C --------------------------------------------------------------- C----< C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ------------------------------------ C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C DIMENSION KARRAY(*) DIMENSION PFB2(KLENG) C EQUIVALENCE (IVAL,ZVAL) C C --------------------------------------------------------------- C C C C C C C C C C C C* SECTION 1 . SET INITIAL VALUES. CHECK INPUT PARAMETERS. C ------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETFB2 : SECTION 1.' C IRET = KRET KRET = 0 C C -------------------------------------------------------------- C C C C C C C C C C C* SECTION 2 . EXTRACT VALUES . PRINT IF REQUIRED. C ----------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETFB2 : SECTION 2.' C ILIB1 = KARRAY(2) ILIB2 = KARRAY(2+ILIB1+1) KLFB2 = KARRAY(2+ILIB1+1+ILIB2+1) C IF (KLENG.LT.KLFB2) C THEN KRET = 1 WRITE (*,9001) KRET , KLFB2 GO TO 9000 ENDIF C DO 2010 J=1,KLFB2 IVAL = KARRAY(J+2+ILIB1+1+ILIB2+1) PFB2(J) = ZVAL IF (KPR.GT.0) WRITE (*,9501) ZVAL 2010 CONTINUE C C C ------------------------------------------------------------------ C C C C C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE OR ABORT. FORMAT STATEMENTS. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETFB2 : SECTION 9.' C IF (KRET.NE.0.AND.IRET.EQ.0) CALL ABORT C RETURN C C 9001 FORMAT (1H ,'GETFB2 : ERROR CODE = ',I3,'. TARGET ARRAY MUST BE ', C ' AT LEAST ',I5,' WORDS LONG.') C 9501 FORMAT (1H ,F30.8) C C ------------------------------------------------------------------ C C END emoslib-000392+dfsg.1/gribex/bt_cyber.F0000755000175000017500000004760412127406245020654 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C----> C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES6 C GBYTES6 C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C Cyber version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) C CHARACTER*1 HFUNC C C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES6 (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES6 (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C ABORT C C Reference. C ---------- C C None. C C Comments. C --------- C C Cyber version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL ABORT ('US',0,' ') C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C Cyber version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 64 KNEG = -9223372036854775807 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END SUBROUTINE GBYTE(SOURCE,DEST,IOFSET,IBYTSZ) C C**** GBYTE - Get a single bit field from SOURCE into DEST on Cyber. C C* INPUT : SOURCE(1)= WORD CONTAINING START OF BIT FIELD C* DEST = TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST CONTAINS FIELD RIGHT JUSTIFIED C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* C***** INTEGER SOURCE(1),DEST INTEGER SH1 NBPW=64 SH1=IOFSET+IBYTSZ-NBPW IF(SH1.GT.0) GO TO 2 C BYTES DO NOT SPAN WORDS SH1=NBPW+SH1 DEST=AND( 1 SHIFT(SOURCE(1),SH1), 2 SHIFT(MASK(IBYTSZ),IBYTSZ) 3 ) RETURN C BYTE SPANS WORDS 2 CONTINUE DEST=OR( 1 SHIFT( 2 AND(SOURCE(1),COMPL(MASK(IOFSET))) 3 ,SH1), 4 SHIFT( 5 AND(SOURCE(2),MASK(SH1)) 6 ,SH1) 7 ) RETURN END SUBROUTINE GBYTES(S,D,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C**** GBYTES - Cyber version. C C S CONTAINS A BIT STRING OF INDEFINITE LENGTH. GBYTES WILL C EXTRACT NBYTES BITSTRINGS, IBSIZ BITS LONG, AND STORE THEM C RIGHT JUSTIFIED 0 FILL, INTO SUCCESSIVE WORDS OF D. THE C SUCCESSIVE BITSTRINGS START AT BIT POSITIONS C ISKIP1+1+(IBYTE-1)*(IBSIZ+ISKIP2) C IN THE BIT STRING S. I.E. SKIP ISKIP1 BITS AT THE START, C AND ISKIP2 BITS BETWEEN THE EXTRACTED STRINGS. C BIT ISKP+1 IN A STRING IS FOUND IN WORD IS=1+ISKIP/NBPW IN S, C WHERE NBPW IS THE NUMBER OF BITS PER WORD. THE STARTING BIT C IS FOUND BY SKIPPING MOD(ISKP,NBPW) BITS IN THAT WORD. C KWOFF IS AN OPTIONAL 7TH PARAMETER, WHICH DEFAULTS TO 0 C IF PRESENT KWOFF BITS ARE TOTALLY IGNORED AT THE START OF A WORD C THUS IF A PACKED CYBER BIT STRING IS TRANSFERRED TO THE C CRAY, WITH EACH 60 BIT CYBER WORD PLACED AT THE RIGHT END OF C A 64 BIT CRAY WORD, A BYTE SEQUENCE WHICH WAS ORIGINALLY C LOCATED WITH START POINTS IN ARITHMETIC PROGRESSION ON THE C CYBER, WILL NO LONGER HAVE THIS PROPERTY ON THE CRAY. BY C USING THE ROUTINE WITH KWOFF=4, THE ELEMENTS OF THE BYTE C SEQUENCE CAN BE EXTRACTED ON THE CRAY, USING THE SAME SKIPS C AS WERE USED ON THE CYBER. DIMENSION S(2) , D(NBYTES) INTEGER SH1 ENTRY GBYTES7 (S,D,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) IGNORE = KWOFF GO TO 10 ENTRY GBYTES6 (S,D,ISKIP1,IBSIZ,ISKIP2,NBYTES) IGNORE = 0 10 CONTINUE NBPW=64 IS=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION DETERMINED, THE C DESIRED EXTRACTION CAN BE DONE BY C*** CALL GBYTE(S(IS),D(IBYTE),ISKIP,IBSIZ) C BUT SINCE THE CODE IS SHORT IT IS INSERTED IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 C BYTE COMES FROM 1 WORD OF S D(IBYTE) = AND( SHIFT(S(IS),SH1),SHIFT(MASK(IBSIZ),IBSIZ)) GO TO 65 50 CONTINUE SH1 =SH1-NBPW C BYTE COMES FROM 2 WORDS OF S. D(IBYTE) = OR(SHIFT(AND(S(IS),COMPL(MASK(ISKIP))),SH1) 1 , 2 SHIFT(AND(SHIFT(S(IS+1),IGNORE),MASK(SH1)),SH1) 3 ) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP =ISKIP-NBPW IS = IS+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END SUBROUTINE SBYTE(DEST,SOURCE,IOFSET,IBYTSZ) C C**** GBYTE - Store a single bit field from SOURCE into DEST on Cyber. C C* INPUT : SOURCE = WORD CONTAINING BIT FIELD RIGHT JUSTIFIED C* DEST(1) = 1ST TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS ; .LE.WORD SIZE ..... C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST(1) AND EVENTUALLY DEST(2) CONTAIN FIELD C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* C***** INTEGER SOURCE,DEST(1) INTEGER SH1,SH2,SH3 NBPW=64 SH1=IOFSET+IBYTSZ IF(SH1.GT.NBPW) GO TO 2 SH2=NBPW-SH1 IF(SH2.LT.0) SH2=NBPW-SH2 C BYTE DOES NOT SPAN WORDS DEST(1)=SHIFT( 1 OR( 2 AND(SHIFT(DEST(1),SH1), 3 SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ) ) 4 , 5 AND(SOURCE, 6 COMPL(SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ)) ) 7 ) 8 ,SH2) RETURN 2 CONTINUE C BYTE SPANS 2 WORDS SH3=2*NBPW-SH1 DEST(1)=OR( 1 AND(DEST(1),MASK(IOFSET)) 2 , 3 AND(SHIFT(SOURCE,SH3) , COMPL(MASK(IOFSET)) ) 4 ) DEST(2)=OR( 1 AND(DEST(2) , COMPL(MASK(SH1-NBPW)) ) 2 , 3 SHIFT( AND(SOURCE , COMPL(MASK(SH3)) ) ,SH3) 4 ) RETURN END SUBROUTINE SBYTES(D,S,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C**** SBYTES - Cyber version. C C REVERSES THE ACTION OF GBYTES, TAKING FIELDS FROM S AND C INSERTING THEM INTO A BIT STRING IN D. SEE GBYTES. C AUTHOR D. ROBERTSON AUG,1981 DIMENSION D(2) , S(NBYTES) INTEGER SH1,SH2,SH3 ENTRY SBYTES7 (D,S,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) IGNORE = KWOFF GO TO 10 ENTRY SBYTES6 (D,S,ISKIP1,IBSIZ,ISKIP2,NBYTES) IGNORE = 0 10 CONTINUE NBPW=64 ID=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION KNOWN, THE C DESIRED INSERTION CAN BE DONE BY C** CALL SBYTE(D(ID),S(IBYTE),ISKIP,IBSIZ) C BUT THE CODE IS SHORT ENOUGH TO GO IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 SH2 = NBPW-SH1 IF(SH2.LT.0) SH2 = NBPW-SH2 C BYTE GOES INTO 1 WORD OF D. D(ID) = SHIFT(OR(AND(SHIFT(D(ID),SH1),MASK(NBPW-IBSIZ)), 1 AND(S(IBYTE),SHIFT(MASK(IBSIZ),IBSIZ))),SH2) GO TO 65 50 CONTINUE C BYTE GOES INTO 2 WORDS OF D. SH3 = 2*NBPW-SH1 D(ID)=OR(AND(D(ID),MASK(ISKIP)), 1 AND(SHIFT(S(IBYTE),SH3),COMPL(MASK(ISKIP)))) D(ID+1)=OR(AND(D(ID+1),SHIFT(COMPL(MASK(SH1-NBPW)),NBPW-IGNORE) 1 ), 2 SHIFT(AND(S(IBYTE),COMPL(MASK(SH3))),SH3-IGNORE)) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP = ISKIP - NBPW ID = ID+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/ecdef3.F0000755000175000017500000001130712127406245020203 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF3( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPR, KRET) C C----> C**** ECDEF3 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 3. C (Satellite image data). C C** Interface. C ---------- C C CALL ECDEF3( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 3. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ECLOC1.F - simplified to handle just definition 3. #include "ecdef3.h" C C C Author. C ------- C C J.D.Chambers ECMWF 18th January 1995 C C C Modifications. C -------------- C C None. C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables INTEGER IRET, IZERO C LOGICAL LENCODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC .EQ. 'C' ) C C ------------------------------------------------------------------ C* Section 2 . Satellite image data, definition 3. C ------------------------------------------------------------------ C 200 CONTINUE C C Octet 50 : band number. C Octet 51 : function code. C Two 8 bit fields. C C Insert/extract fields. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(42),2,KBITS, 8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C Octet 52 : Reserved. C Set to 0. C IF ( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ELSE KNSPT = KNSPT + 8 ENDIF C C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF3 : Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,9003) KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF3') ELSE RETURN ENDIF C 9003 FORMAT (1H ,' KNSPT = ',I12) C 9004 FORMAT (' ECDEF3: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/ecdef13.h0000755000175000017500000000673512127406245020337 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 13. C Wave 2D spectra direction and frequency C --------------------------------------- C C Octet KSEC1(n) C ----- -------- C C 41 37 ECMWF local GRIB use definition identifier: C 13 = Wave 2D spectra direction and frequency C C 42 38 Class C 1 = Operations C 2 = Research C C 43 39 Type C C 44->45 40 Stream C 1045 = Wave C C 46->49 41 Version number/experiment identifier. C (four ASCII characters, right justified) C C 50 42 As for MARS labelling C (eg set to zero, or C ensemble forecast number if appropriate) C C 51 43 As for MARS labelling C (eg set to zero, or C total number in ensembles if appropriate) C C 52 44 Direction number C C 53 45 Frequency number C C 54 46 Total number of directions (Nd) C C 55 47 Total number of frequencies (Nf) C C 56->59 48 Integer scaling factor applied to directions C in following list of direction definitions C (4-byte integer) C C 60->63 49 Integer scaling factor applied to frequencies C in following list of frequency definitions C (4-byte integer) C C 64 - Flag to show whether or not system and method C number are present: C 0 = not present (old style product) C 1 = present C C 65->66 (50+Nd+Nf) System number: the "scientific version" number. C 0 = RD experiment C 1 -> 65534 = operational version number C 65535 = missing C C 67->68 (51+Nd+Nf) Method number: distinguishes scientifically C different forecast ensembles (eg different C calibration/bias correction) C 0 = control integration C (ie without data assimilation) C 1 -> 65534 = operational version number C 65535 = missing C C 69->100 Spare (set to zero) C C 101-> 50-> List of Nd scaled directions C (100+Nd*4) (49+Nd) (4-byte integers) C C (101+Nd*4)-> (50+Nd)-> List of Nf scaled frequencies C (100+Nd*4+Nf*4) (49+Nd+Nf) (4-byte integers) C C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/sources.itanium0000755000175000017500000000644612127406245022026 0ustar amckinstryamckinstry# # Sources for libemos/gribex for sgimips. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ swap4.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/d2rosd.F0000755000175000017500000001627512127406245020260 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION D2ROSD ( KDATA, KLEN, KORDER, KPOWER, KMXPWR, X KBIAS, OVECTA, ODEBUG ) C C----> C**** D2ROSD C C Purpose. C -------- C C Rebuild Original field from Spatial Differences, when using C non-local features of GRIB second-order extended packing. C C** Interface. C ---------- C C IRET = D2ROSD ( KDATA, KLEN, KPOWER, KMXPWR, OVECTA, ODEBUG ) C C Function result value is zero, except for non-valid order. C C Input Parameters. C ----------------- C C KDATA - Array of normalized values. C KLEN - Exact number of grid-points to handle. C KPOWER - Auxilary array, containing precomputed powers of 2-1. C KMXPWR - Maximum number of bits allowed. C KBIAS - BIAS of spatial differences. C OVECTA - True if vectorizing algorithm has to be used. C ODEBUG - True for some debug printout. C C C Output Parameters (effective only if function value is non zero). C ------------------ C C KDATA - Array of normalized values (transformed). C C C Method. C ------- C C For vector systems, an external loop on order of spatial C differencing is made, and inner recursive sum is made by a C or by a vectorizing algorithm (that implies an overhead of C LOG2(KLEN) in operations and memory accesses). C C For scalar systems, a single scan is performed, with contents C specific for each order. C C C Externals. C ---------- C C C2BITW - Computes bit width of a positive integer value. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C None. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - April 1998. C C C Modifications. C _____________ C C J. Clochard, September 1998. C Optimisation for scalar systems (memory access reduced). C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JPORDR C C Maximum order of spatial differencing allowed. C PARAMETER ( JPORDR=3 ) C C Subroutine arguments C INTEGER KLEN, KMXPWR, KBIAS, KORDER INTEGER KDATA (KLEN), KPOWER (0:KMXPWR) C LOGICAL OVECTA, ODEBUG C C Local variables. C INTEGER IOFF, J, J2, JORDER, ILOG2N, IORIGI, ILEN, IRETFN, I1DIFF INTEGER I2DIFF C INTEGER C2BITW EXTERNAL C2BITW C C ----------------------------------------------------------------- C* Section 1 . Performs initial checks. C ----------------------------------------------------------------- C 100 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) KLEN, KORDER, KBIAS #ifndef ebug2o ENDIF #endif C IF (KORDER.LE.0.OR.KORDER.GT.JPORDR) THEN IRETFN = 23110 WRITE(GRPRSM,FMT=9110) KORDER, JPORDR GOTO 900 ENDIF C C ----------------------------------------------------------------- C* Section 2 . Preprocessing of first values of field. C ----------------------------------------------------------------- C 200 CONTINUE C IF (OVECTA) THEN C C For higher orders, and due to iterative outer loop on order, C it is necessary that the 2nd value contains the first 1st-order C difference (between the 2 first values), and so on. C DO 202 JORDER = 2, KORDER C #ifdef CRAY CDIR$ NOVECTOR #endif #ifdef FUJITSU !OCL SCALAR #endif DO 201 J = KORDER, JORDER, -1 C KDATA(J)=KDATA(J)-KDATA(J-1) C 201 CONTINUE #ifdef CRAY CDIR$ VECTOR #endif #ifdef FUJITSU !OCL VECTOR #endif C 202 CONTINUE C ENDIF C C ----------------------------------------------------------------- C* Section 3 . Rebuild original field integer values. C ----------------------------------------------------------------- C 300 CONTINUE C IF (OVECTA) THEN C C Vectorizable algorithm. C ---------------------- C DO 315 JORDER = KORDER, 1, -1 C ILEN=KLEN-JORDER ILOG2N=C2BITW ( ILEN-1, KMXPWR, KPOWER, KMXPWR ) C IF (JORDER.EQ.KORDER) THEN C C Bias is added at first scan. C DO 312 J2 = 1, ILOG2N C IOFF=KPOWER(J2-1)+1 C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 311 J = KLEN, IOFF+JORDER, -1 C KDATA(J)=KDATA(J)+(KDATA(J-IOFF)+KBIAS) C 311 CONTINUE C 312 CONTINUE C ELSE C DO 314 J2 = 1, ILOG2N C IOFF=KPOWER(J2-1)+1 C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 313 J = KLEN, IOFF+JORDER, -1 C KDATA(J)=KDATA(J)+KDATA(J-IOFF) C 313 CONTINUE C 314 CONTINUE C ENDIF C 315 CONTINUE C ELSE C C Recurrent (scalar) algorithm. C ---------------------------- C C Only one scan, with specific code for each order. C C Initialize recursion. C IORIGI=KDATA(KORDER) C IF (KORDER.EQ.1) THEN C DO 321 J = 2, KLEN C IORIGI=IORIGI+(KDATA(J)+KBIAS) KDATA(J)=IORIGI C 321 CONTINUE C ELSEIF (KORDER.EQ.2) THEN C I1DIFF=KDATA(2)-KDATA(1) C DO 322 J = 3, KLEN C I1DIFF=I1DIFF+(KDATA(J)+KBIAS) IORIGI=IORIGI+I1DIFF KDATA(J)=IORIGI C 322 CONTINUE C ELSE C I1DIFF=KDATA(3)-KDATA(2) I2DIFF=I1DIFF-(KDATA(2)-KDATA(1)) C DO 323 J = 4, KLEN C I2DIFF=I2DIFF+(KDATA(J)+KBIAS) I1DIFF=I1DIFF+I2DIFF IORIGI=IORIGI+I1DIFF KDATA(J)=IORIGI C 323 CONTINUE C ENDIF C #ifdef ebug2o ILEN=MIN (KLEN,10) PRINT *,'d2rosd - JORDER=',JORDER,',KDATA(1:',ILEN,')=', S (KDATA(J),J=1,ILEN) C #endif ENDIF C IRETFN=0 C C ----------------------------------------------------------------- C* Section 9 . Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C D2ROSD = IRETFN C #ifndef ebug2o C IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IRETFN #ifndef ebug2o ENDIF #endif C RETURN C 9100 FORMAT (' D2ROSD: Function start, KLEN =',I8,', KORDER =',I2, X ', KBIAS=',I9,'.') C 9110 FORMAT (' D2ROSD: Order requested:',I5,', out of [1,',I1,'].') C 9312 FORMAT (' D2ROSD: Range diagnostic is ',A, X ' of spatial differences, order',I2,'.') 9331 FORMAT (' D2ROSD: Selected order:',I2,', range diagnostics:', X 4I8,'.') C 9900 FORMAT (' D2ROSD: Function return code =',I6,'.') C END emoslib-000392+dfsg.1/gribex/ecdef9.F0000755000175000017500000002365312127406245020220 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF9( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPR, KRET) C C----> C**** ECDEF9 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 9. C C** Interface. C ---------- C C CALL ECDEF9( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted. C (Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 9. C C C Externals. C ---------- C C INXBIT - insert/extract bits C ABORTX - abort the program C CSGNBT - code a signed value C DSGNBT - decode a signed value C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C #include "ecdef9.h" C C C Author. C ------- C C J.D.Chambers ECMWF June 1996 C C C Modifications. C -------------- C C None C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables INTEGER IRET, IZERO, JLOOP, ITEMP, IRETA C LOGICAL LENCODE, LDECODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC .EQ. 'C' ) LDECODE = .NOT. LENCODE C C ------------------------------------------------------------------ C* Section 2 . Handle singular vector. C ------------------------------------------------------------------ C 200 CONTINUE C IF( KSEC1(39).EQ.62 ) THEN C C Octets 50-51 : Singular vector number. C Octets 52-53 : Number of iterations. C Octets 54-55 : Number of singular vectors computed. C Three 16 bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),3,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF9: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) X ' encoding section 1, elements 42 - 44.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 50 - 55.' ENDIF ENDIF C C Octet 56 : Norm used at initial time. C Octet 57 : Norm used at final time. C Two 8 bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),2,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF9: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) X ' encoding section 1, elements 45 - 46.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 56 - 57.' ENDIF ENDIF C C Octets 58-61 : Multiplication factor. C One 32 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(47),1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF9: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 47.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 58 - 61.' ENDIF ENDIF C C Octets 62-65 : Latitude of north-west corner of LPO area. C Octets 66-69 : Longitude of north-west corner of LPO area. C Octets 70-73 : Latitude of south-east corner of LPO area. C Octets 74-77 : Longitude of south-east corner of LPO area. C Four signed 32 bit fields. C DO 210 JLOOP = 48, 51 IF ( LENCODE ) CALL CSGNBT( ITEMP, KSEC1(JLOOP), 32, IRETA) CALL INXBIT(KGRIB,KLENG,KNSPT,ITEMP,1,KBITS,32,HFUNC,KRET) IF ( LDECODE ) CALL DSGNBT( KSEC1(JLOOP), ITEMP, 32, IRETA) IF ( (IRETA.NE.0) .OR. (KRET.NE.0) ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF9: Error reported by routine INXBIT:' WRITE(GRPRSM,*) X 'encoding/decoding section 1, element ', JLOOP ENDIF 210 CONTINUE C C Octets 78-81 : Accuracy. C One 32 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(52),1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF9: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 52.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 78 - 81.' ENDIF ENDIF C C Octets 82-83 : Number of singular vectors evolved. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(53),1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF9: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 53.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 82 - 83.' ENDIF ENDIF C C Octets 84-87 : Ritz number. C Octets 88-91 : Ritz number. C Two signed 32 bit fields. C DO 220 JLOOP = 54, 55 IF ( LENCODE ) CALL CSGNBT( ITEMP, KSEC1(JLOOP), 32, IRETA) CALL INXBIT(KGRIB,KLENG,KNSPT,ITEMP,1,KBITS,32,HFUNC,KRET) IF ( LDECODE ) CALL DSGNBT( KSEC1(JLOOP), ITEMP, 32, IRETA) IF ( (IRETA.NE.0) .OR. (KRET.NE.0) ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF9: Error reported by routine INXBIT:' WRITE(GRPRSM,*) X 'encoding/decoding section 1, element ', JLOOP ENDIF 220 CONTINUE C C Octet 92 : Reserved. C Set to 0. C IF ( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF9: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) X ' encoding section 1, reserved element.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 92.' ENDIF ENDIF ELSE KNSPT = KNSPT + 8 ENDIF C C ------------------------------------------------------------------ C* Section 3 . Handle perturbation analysis or perturbation. C ------------------------------------------------------------------ C ELSE C 300 CONTINUE C C Octets 50-51 : Perturbation analysis or perturbation number. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF9: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 42.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 50 - 51.' ENDIF ENDIF C IF ( LENCODE ) THEN C C Octets 52-92 set to zero DO 310 JLOOP = 52,92 IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) X 'ECDEF9: Error reported by routine INXBIT:' WRITE(GRPRSM,*) X ' encoding section 1, element ',JLOOP ENDIF 310 CONTINUE C ELSE C C KSEC1(43-55) set to zero. DO 320 JLOOP = 43, 55 KSEC1(JLOOP) = 0 320 CONTINUE KNSPT = KNSPT + 328 KRET = 0 ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C ENDIF C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF9: Section 9.' WRITE(GRPRSM,*) ' Output values set, KNSPT = ', KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF9') ELSE RETURN ENDIF C C END emoslib-000392+dfsg.1/gribex/ecdf191.F0000755000175000017500000002374312127406245020215 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDF191(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KPLEN,KRET) C C----> C**** ECDF191 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 191. C C** Interface. C ---------- C C CALL ECDF191(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KRET) C C C Input C ----- C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C KSEC1 - Array containing Grib Section 1 data. C KGRIB - Array containing Grib coded data. C KLENG - Length (words) of KGRIB. C KNSPT - Bit number after which insertion/extraction starts. C KBITS - Number of bits in computer word. C KPLEN - Pointer to field containing length of Section 1. C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output C ------ C KSEC1 - Array containing Grib Section 1 data.(Updated) C KGRIB - Array containing Grib coded data.(Updated) C KNSPT - Number of bit after last one inserted/extracted. C (Updated) C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 191. C C C Externals. C ---------- C C INXBIT - insert/extract bits C ABORTX - abort the program C CSGNBT - code a signed value C DSGNBT - decode a signed value C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C #include "ecdf191.h" C C C Author. C ------- C C J.D.Chambers ECMWF December 2001 C C C Modifications. C -------------- C C None C C C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C C Parameter(s) C INTEGER JPBYTES C `-----> Number of bytes in an INTEGER #ifdef INTEGER_8 PARAMETER( JPBYTES = 8) #else PARAMETER( JPBYTES = 4) #endif C C Subroutine arguments C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPLEN, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, JLOOP, N, M, ILENS1, N_KNSPT, ICOUNT, IBITS C LOGICAL LENCODE, LDECODE C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC.EQ.'C' ) LDECODE = .NOT. LENCODE C N_KNSPT = KNSPT C C -----------------------------------------------------------------| C* Section 2 . Handle the local extension C -----------------------------------------------------------------| C 200 CONTINUE C C Octet 50 : Zero C Octet 51 : Zero C Two 8 bit fields. C IF( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' WRITE(*,*) ' encoding section 1, octet 50' GOTO 900 ENDIF ELSE KSEC1(42) = 0 KNSPT = KNSPT + 8 ENDIF C IF( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' WRITE(*,*) ' encoding section 1, octet 51' GOTO 900 ENDIF ELSE KSEC1(43) = 0 KNSPT = KNSPT + 8 ENDIF C C Octet 52 : Format version major number C Octet 53 : Format version minor number C Two 8 bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(44),1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(*,*) ' encoding section 1, element 44.' ELSE WRITE(*,*) ' decoding section 1, octet 52.' ENDIF GOTO 900 ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(*,*) ' encoding section 1, element 45.' ELSE WRITE(*,*) ' decoding section 1, octet 53.' ENDIF GOTO 900 ENDIF C C Octet 54 : Original sub-centre identifier C One 8 bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46),1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(*,*) ' encoding section 1, element 46.' ELSE WRITE(*,*) ' decoding section 1, octet 54.' ENDIF GOTO 900 ENDIF C C Octet 55-58 : Padding, set to zero C Four 8 bit fields. C IF( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' WRITE(*,*) ' encoding section 1, octet 55' GOTO 900 ENDIF ELSE KSEC1(47) = 0 KNSPT = KNSPT + 8 ENDIF C IF( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' WRITE(*,*) ' encoding section 1, octet 56' GOTO 900 ENDIF ELSE KSEC1(48) = 0 KNSPT = KNSPT + 8 ENDIF C IF( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' WRITE(*,*) ' encoding section 1, octet 57' GOTO 900 ENDIF ELSE KSEC1(49) = 0 KNSPT = KNSPT + 8 ENDIF C IF( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' WRITE(*,*) ' encoding section 1, octet 58' GOTO 900 ENDIF ELSE KSEC1(50) = 0 KNSPT = KNSPT + 8 ENDIF C C Octets 59-60: Number of bytes of free format data descriptor C One 16 bit field C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(51),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(*,*) ' encoding section 1, element 51.' ELSE WRITE(*,*) ' decoding section 1, octets 59 - 60.' ENDIF GOTO 900 ENDIF C C Octets 61-(60+N) : Data bytes C N values; 8 bit values packed in integer array element C N = KSEC1(51) ICOUNT = (N+JPBYTES-1)/JPBYTES IBITS = JPBYTES*8 CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(52), X ICOUNT,KBITS,IBITS,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(*,*) ' encoding section 1, elements 52 - (51+N/4).' ELSE WRITE(*,*) ' decoding section 1, octets 61 - (60+N).' ENDIF GOTO 900 ENDIF C C Octets (60+N) onwards: Padded with zeroes C The section will be padded with zeroes to make the overall length C of the section = 60 + 80*M for some M > 0. C M = 60+(((ICOUNT*JPBYTES)+79)/80)*80 C DO JLOOP = (60+ICOUNT*JPBYTES+1), M IF( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' WRITE(*,*) ' encoding section 1, octets (56+N) onwards' GOTO 900 ENDIF ELSE KNSPT = KNSPT + 8 ENDIF ENDDO C C Calculate section 1 total length using original and final bit C positions. NB packing started at octet 50. C ILENS1 = 49 + (KNSPT - N_KNSPT)/8 C C* Insert length of section 1, if coding data. C One 24-bit field. C IF( LENCODE ) THEN CALL INXBIT(KGRIB,KLENG,KPLEN,ILENS1,1,KBITS, 24,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(*,*) 'ECDF191: Error reported by routine INXBIT:' WRITE(*,*) ' encoding length of section 1' GOTO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 9 . Abort/return to calling routine. Format statements. C -----------------------------------------------------------------| C 900 CONTINUE C C Abort if requested to do so when an error has been encountered. C IF( (IRET.EQ.0).AND.(KRET.NE.0) ) THEN CALL ABORTX('ECDF191') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/cgsloop.c0000755000175000017500000000456112127406245020561 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ /************************************************************************** .TITLE ECMWF Utility .NAME GRIBEX .SECTION L .AUTHOR Otto Pesonen .DATE 05-JUN-1996 / 05-JUN-1996 / OP .VERSION 1.0 .LANGUAGE ANSI-C .FILE cgsloop.c .OS FUJITSU * * Vector loops of gsbite.f coded in C * * C has unsigned datatypes * ************************************o*************************************/ #include #pragma global noalias #pragma global novrec gsdecode_( unsigned int *in, unsigned int *out, int *ist_, int *ost_, int *len_, unsigned int *mask_, int *ish_) { int oidx = 0; int iidx = 0; int ist = *ist_; int ost = *ost_; int len = *len_; unsigned int mask = *mask_; int ish = *ish_; int factor; if( ish < 0 ) { ish = (-ish); factor = 1< C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES C GBYTES C GSBITE C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C Cray version of routine. C This routine should only be used on the Cray as it C contains a call to GSBITE, a vectorising version of C GBYTE(S) and SBYTE(S). C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C IMPLICIT NONE C INTEGER IMASK INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) DIMENSION IMASK(65) C CHARACTER*1 HFUNC C C Values in IMASK are set in the first call to routine GSBITE, and C are used in subsequent calls. C SAVE IMASK C C Force routine GSBITE to calculate bit-masks first time through. C DATA IMASK(2) /0/ C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (KNUM.GE.8) C THEN C C Cray vectorising routine GSBITE performs the same C functions as SBYTE(S) and GBYTE(S). C CALL GSBITE (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM, C KBIT,IMASK,HFUNC) ELSE C C Cray scalar faster. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C ABORT C C Reference. C ---------- C C None. C C Comments. C --------- C C Cray version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C IMPLICIT NONE C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL ABORT C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C Cray version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C IMPLICIT NONE C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 64 KNEG = -9223372036854775807 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END SUBROUTINE GSBITE (KS,KD,KSKST,KSIZE,KSKBTW,K,KBPW,KMASK,HADIR) C C**** GSBITE - Extraction/insertion of bits from/to bitstream on Cray. C C Purpose. C -------- C C Vectorising extraction/insertion of bits from/to bitstream. C C** Interface. C ---------- C C CALL GSBITE (KS,KD,KSKST,KSIZE,KSKBTW,K,KBPW,KMASK,HADIR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KS - If HADIR='D', input bit stream, else output C bit stream. C KD - If HADIR='D', output words, else input words. C KSKST - Number of bits skipped at beginning of KS. C KSIZE - Number of bits to be extracted to one word C of KD. C KSKBTW - Number of bits skipped between two words to C be extracted. C K - Number of words to be extracted into KD. If C less than or equal to 0 only calculate KBPW C and KMASK. C KBPW - Number of bits per word in KS,calculated if 0. C KMASK - Masks for bit patterns, calculated if C KMASK(2) is 0. C HADIR - Direction of conversion: 'D' for decoding, ie C extract words KD(1...K) from bits C KS(KSKST+1....) C If not 'D', encode, i.e. pack words C KD(1....K) into bits C KS(KSKST+1.....KSKST+K*(KSIZE+KSKBTW)) C C Output Parameters. C ------------------ C C KS,KD - See above. C KSKST - Updated to number of bits used, i.e. to C KSKST+K*(KSIZE+KSKBTW) C KBPW - If 0 on input, number of bits in each word C of KS. C KMASK - If KMASK(2) was 0 on input, bit pattern masks. C C Method. C ------- C C Vector loop is over repeatedly occurring bit patterns. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C This routine is for the Cray only. C Variable names do not conform to the standard. C C Author. C ------- C C G.J.Cats 08 Dec 87 C C Modifications. C -------------- C C J. Hennessy ECMWF 09.09.91 C Introductory comments changed to conform to standard. C C ------------------------------------------------------------------ C DIMENSION KS(*),KD(*),KMASK(*) CHARACTER*1 HADIR C C STATEMENT FUNCTIONS TO MANIPULATE BITS IN WORDS OF 64 BITS C C DATA ONES/7777777777777777B/ C DATA OOOS/0B/ C C 1. SINGLE BIT MANIPULATIONS C C 1.1 SET BIT KBIT IN WORD PW C IBSET(KW,KBIT)=OR(KW,SHIFT(1B,KBIT)) C C 2. WORD MANIPULATIONS, BIT BY BIT C C 2.1 ARE WORDS PW1 AND PW2 EQUAL? C C LOGICAL NLEQAL C NLEQAL(PW1,PW2)=(PW1.XOR.PW2).EQ.0B C C 2.2 BITWISE AND AND OR C IAND(K1,K2)=AND(K1,K2) IOR (K1,K2)= OR(K1,K2) C C 2.3 BITWISE NEGATION C NOT(K)=COMPL(K) C C 2.4 SHIFT (LEFT FOR KSH POSITIVE, RIGHT FOR KSH NEGATIVE C ISHFT(K,KSH)=CVMGP(SHIFTL(K,KSH),SHIFTR(K,-KSH),KSH) C C 3. SPECIAL PURPOSE C C 3.1 TAKE 4 LAST BITS OF KW, PUT THEM IN PW AT POS K*4-1 C C SETLEV(PW,KW,K)=OR(AND(PW,SHIFT(0B.EQV.17B,K*4-4)), C +SHIFT(AND(17B,KW),K*4-4)) C C 3.2 EXTRACT FIELD [K*4-1:4] FROM PW C C MGTLEV(PW,K)=AND(17B,SHIFT(PW,68-K*4)) C C 1. COMPLETE KBPW AND KMASK, RETURN IF 0 WORDS ARE TO BE EXTRACTED C IF(KBPW.EQ.0)THEN IS=KS(1) KS(1)=1 1101 CONTINUE IF(KS(1).NE.0)THEN KBPW=KBPW+1 KS(1)=ISHFT(KS(1),1) GOTO 1101 ENDIF KS(1)=IS ENDIF IF(KMASK(2).EQ.0)THEN KMASK(KBPW+1)=0 DO 1110 J=KBPW,1,-1 KMASK(J)=IBSET(KMASK(J+1),KBPW-J) 1110 CONTINUE ENDIF IF(K.LE.0)RETURN C C 2. PRESET KD TO 0 IF KD IS OUTPUT I.E. WHEN DECODING C IF(HADIR.EQ.'D')THEN DO 2101 J=1,K KD(J)=0 2101 CONTINUE ENDIF C C 3. CALCULATE SEVERAL PARAMETERS FOR LOOPING (FOR EFFICIENCY, THE C CODE OF SECTIONS 3.3 AND 3.4 FOR K=1 IS SEPARATED INTO 3.2) C C 3.1 NUMBER OF BITS USED PER WORD, INITIAL NR OF SKIPPED BITS C ISTEP=KSIZE+KSKBTW ISKWS=KSKST C C 3.2 VECTOR LOOP LENGTH AND STEP SIZE IN KD IF K=1;KS STEP IRRELVNT C IF(K.EQ.1)THEN ILL=1 IBDL=2 ISTD=1 ELSE C C 3.3 STEP SIZES IN KS,KD: INVERSE OF LARGEST FACTOR OF ISTEP,KBPW C ILCF=KBPW ISHF=ISTEP 331 CONTINUE IF(ILCF.EQ.ISHF)GOTO 332 IF(ILCF.EQ.1)GOTO 332 IF(ILCF.GT.ISHF)THEN ILCF=ILCF-ISHF ELSE ISHF=ISHF-ILCF ENDIF GOTO 331 332 CONTINUE ISTD=KBPW/ILCF ISTS=ISTEP/ILCF C C 3.4 VECTOR LOOP LENGTH AND SWITCH-OVER POINT FOR SMALLER LOOP C ILL=(K-1)/ISTD+1 IBDL=K-(ILL-1)*ISTD ENDIF C C 4. LOOP OVER FIRST ISTD WORDS OF KD (TRAILS THE VECTOR LOOP) C DO 790 JBD=1,ISTD C C 4.1 LAST BIT IN KS TO BE TREATED C IENBS=ISKWS+KSIZE C C 4.2 NR OF WORDS OF KS TO BE SKIPPED, NR OF BITS IN THOSE AND THIS C ISKW=ISKWS/KBPW ISTA=ISKW*KBPW ISKB=ISKWS-ISTA C C 4.3 MASK AND LEFT SHIFT FOR THE REMAINING BITS C IMASK=KMASK(ISKB+1) ISH=KSIZE+ISKB C C 4.4 POSITION OF CURRENT WORD OF KS C IBS=ISKW+1 C C 5. LOOP OVER WORDS OF KS CONTRIBUTING TO ONE WORD OF KD C 500 CONTINUE C C 5.1 UPDATE SHIFT AND LAST BIT IN CURRENT WORD C ISH=ISH-KBPW IEND=ISTA+KBPW C C 5.2 IS LAST BIT OF CURRENT WORD OUTSIDE RANGE TO BE EXTRACTED C IF(IEND.GT.IENBS)THEN ISH=IENBS-IEND IMASK=IAND(IMASK,NOT(KMASK(KBPW+ISH+1))) ENDIF C C 5.3 INITIAL OFFSETS FOR VECTOR ELEMENTS IN VECTOR LOOP C IOS=0 IOD=0 C C 6. VECTOR LOOP IS OVER REPEATEDLY OCCURRING BITPATTERNS/MASKS C IF(HADIR.EQ.'D')THEN CDIR$ IVDEP DO 611 JI=1,ILL KD(JBD+IOD)=IOR(KD(JBD+IOD),ISHFT(IAND(IMASK,KS(IBS+IOS)),ISH)) IOD=IOD+ISTD IOS=IOS+ISTS 611 CONTINUE ELSE CDIR$ IVDEP DO 612 JI=1,ILL KS(IBS+IOS)=IOR( + IAND( KS(IBS+IOS), NOT(IMASK)), + IAND(ISHFT(KD(JBD+IOD),-ISH), IMASK )) IOD=IOD+ISTD IOS=IOS+ISTS 612 CONTINUE ENDIF C C 7. END LOOPS C C 7.1 PREPARE FOR END OF LOOP OVER WORDS OF KS WITIHN ONE KD WORD C ISTA=ISTA+KBPW C C 7.2 NEXT WORD OF KD IF EXTRACTION NOT COMPLETED C IF(ISTA.LT.IENBS)THEN IMASK=KMASK(1) IBS=IBS+1 GOTO 500 ENDIF C C 7.8 PREPARE FOR END OF LOOP OVER FIRST WORDS OF KD C IF(JBD.EQ.IBDL)ILL=ILL-1 ISKWS=ISKWS+ISTEP C C 7.9 END LOOP OVER FIRST WORDS OF KD C 790 CONTINUE C C 8. FINISHED: UPDATE KSKST AND RETURN C KSKST=KSKST+K*ISTEP C RETURN END SUBROUTINE GBYTE (SOURCE,DEST,IOFSET,IBYTSZ) C C**** GBYTE - Extract a single bit field. Cray routine. C C* FUNCTION: GET A SINGLE BIT FIELD FROM SOURCE INTO DEST C* C* INPUT : SOURCE(1)= WORD CONTAINING START OF BIT FIELD C* DEST = TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST CONTAINS FIELD RIGHT JUSTIFIED C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* PARAMETER(NBPW=64) INTEGER SOURCE(1),DEST INTEGER SH1 SH1=IOFSET+IBYTSZ-NBPW IF(SH1.GT.0) GO TO 2 C BYTES DO NOT SPAN WORDS SH1=NBPW+SH1 DEST=AND( 1 SHIFT(SOURCE(1),SH1), 2 SHIFT(MASK(IBYTSZ),IBYTSZ) 3 ) RETURN C BYTE SPANS WORDS 2 CONTINUE DEST=OR( 1 SHIFT( 2 AND(SOURCE(1),COMPL(MASK(IOFSET))) 3 ,SH1), 4 SHIFT( 5 AND(SOURCE(2),MASK(SH1)) 6 ,SH1) 7 ) RETURN END SUBROUTINE GBYTES (S,D,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C**** GBYTES - Extract a number of bit fields. Cray routine. C C S CONTAINS A BIT STRING OF INDEFINITE LENGTH. GBYTES WILL C EXTRACT NBYTES BITSTRINGS, IBSIZ BITS LONG, AND STORE THEM C RIGHT JUSTIFIED 0 FILL, INTO SUCCESSIVE WORDS OF D. THE C SUCCESSIVE BITSTRINGS START AT BIT POSITIONS C ISKIP1+1+(IBYTE-1)*(IBSIZ+ISKIP2) C IN THE BIT STRING S. I.E. SKIP ISKIP1 BITS AT THE START, C AND ISKIP2 BITS BETWEEN THE EXTRACTED STRINGS. C BIT ISKP+1 IN A STRING IS FOUND IN WORD IS=1+ISKIP/NBPW IN S, C WHERE NBPW IS THE NUMBER OF BITS PER WORD. THE STARTING BIT C IS FOUND BY SKIPPING MOD(ISKP,NBPW) BITS IN THAT WORD. C KWOFF IS AN OPTIONAL 7TH PARAMETER, WHICH DEFAULTS TO 0 C IF PRESENT KWOFF BITS ARE TOTALLY IGNORED AT THE START OF A WORD C THUS IF A PACKED CYBER BIT STRING IS TRANSFERRED TO THE C CRAY, WITH EACH 60 BIT CYBER WORD PLACED AT THE RIGHT END OF C A 64 BIT CRAY WORD, A BYTE SEQUENCE WHICH WAS ORIGINALLY C LOCATED WITH START POINTS IN ARITHMETIC PROGRESSION ON THE C CYBER, WILL NO LONGER HAVE THIS PROPERTY ON THE CRAY. BY C USING THE ROUTINE WITH KWOFF=4, THE ELEMENTS OF THE BYTE C SEQUENCE CAN BE EXTRACTED ON THE CRAY, USING THE SAME SKIPS C AS WERE USED ON THE CYBER. C PARAMETER(NBPW=64) DIMENSION S(2) , D(NBYTES) INTEGER SH1 IGNORE = 0 IF(NUMARG().GT.6) IGNORE = KWOFF IS=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION DETERMINED, THE C DESIRED EXTRACTION CAN BE DONE BY C*** CALL GBYTE(S(IS),D(IBYTE),ISKIP,IBSIZ) C BUT SINCE THE CODE IS SHORT IT IS INSERTED IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 C BYTE COMES FROM 1 WORD OF S D(IBYTE) = AND( SHIFT(S(IS),SH1),SHIFT(MASK(IBSIZ),IBSIZ)) GO TO 65 50 CONTINUE SH1 =SH1-NBPW C BYTE COMES FROM 2 WORDS OF S. D(IBYTE) = OR(SHIFT(AND(S(IS),COMPL(MASK(ISKIP))),SH1) 1 , 2 SHIFT(AND(SHIFT(S(IS+1),IGNORE),MASK(SH1)),SH1) 3 ) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP =ISKIP-NBPW IS = IS+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END SUBROUTINE SBYTE (DEST,SOURCE,IOFSET,IBYTSZ) C C**** SBYTE - Insert a single bit field. Cray routine. C C* FUNCTION: STORE A SINGLE BIT FIELD FROM SOURCE INTO DEST C* C* INPUT : SOURCE = WORD CONTAINING BIT FIELD RIGHT JUSTIFIED C* DEST(1) = 1ST TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS ; .LE.WORD SIZE ..... C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST(1) AND EVENTUALLY DEST(2) CONTAIN FIELD C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* PARAMETER(NBPW=64) INTEGER SOURCE,DEST(1) INTEGER SH1,SH2,SH3 SH1=IOFSET+IBYTSZ IF(SH1.GT.NBPW) GO TO 2 SH2=NBPW-SH1 IF(SH2.LT.0) SH2=NBPW-SH2 C BYTE DOES NOT SPAN WORDS DEST(1)=SHIFT( 1 OR( 2 AND(SHIFT(DEST(1),SH1), 3 SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ) ) 4 , 5 AND(SOURCE, 6 COMPL(SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ)) ) 7 ) 8 ,SH2) RETURN 2 CONTINUE C BYTE SPANS 2 WORDS SH3=2*NBPW-SH1 DEST(1)=OR( 1 AND(DEST(1),MASK(IOFSET)) 2 , 3 AND(SHIFT(SOURCE,SH3) , COMPL(MASK(IOFSET)) ) 4 ) DEST(2)=OR( 1 AND(DEST(2) , COMPL(MASK(SH1-NBPW)) ) 2 , 3 SHIFT( AND(SOURCE , COMPL(MASK(SH3)) ) ,SH3) 4 ) RETURN END SUBROUTINE SBYTES (D,S,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C**** SBYTES - Insert a number of bit fields. Cray routine. C C REVERSES THE ACTION OF GBYTES, TAKING FIELDS FROM S AND C INSERTING THEM INTO A BIT STRING IN D. SEE GBYTES. C AUTHOR D. ROBERTSON AUG,1981 C PARAMETER(NBPW=64) DIMENSION D(2) , S(NBYTES) INTEGER SH1,SH2,SH3 IGNORE = 0 IF(NUMARG().GT.6) IGNORE = KWOFF ID=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION KNOWN, THE C DESIRED INSERTION CAN BE DONE BY C** CALL SBYTE(D(ID),S(IBYTE),ISKIP,IBSIZ) C BUT THE CODE IS SHORT ENOUGH TO GO IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 SH2 = NBPW-SH1 IF(SH2.LT.0) SH2 = NBPW-SH2 C BYTE GOES INTO 1 WORD OF D. D(ID) = SHIFT(OR(AND(SHIFT(D(ID),SH1),MASK(NBPW-IBSIZ)), 1 AND(S(IBYTE),SHIFT(MASK(IBSIZ),IBSIZ))),SH2) GO TO 65 50 CONTINUE C BYTE GOES INTO 2 WORDS OF D. SH3 = 2*NBPW-SH1 D(ID)=OR(AND(D(ID),MASK(ISKIP)), 1 AND(SHIFT(S(IBYTE),SH3),COMPL(MASK(ISKIP)))) D(ID+1)=OR(AND(D(ID+1),SHIFT(COMPL(MASK(SH1-NBPW)),NBPW-IGNORE) 1 ), 2 SHIFT(AND(S(IBYTE),COMPL(MASK(SH3))),SH3-IGNORE)) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP = ISKIP - NBPW ID = ID+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/bt_sun.F0000755000175000017500000003207512127406245020351 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C----> C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES C GBYTES C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C SUN version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) C CHARACTER*1 HFUNC C C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C ABORT C C Reference. C ---------- C C None. C C Comments. C --------- C C SUN version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL ABORT C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C SUN version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 32 KNEG = -2147483647 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END emoslib-000392+dfsg.1/gribex/dpssec2.F0000755000175000017500000001556712127406245020431 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DPSSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C----> C**** DPSSEC2P C C PURPOSE C _______ C C Decodes GRIB section 2 values for polar stereographic fields. C C INTERFACE C _________ C C IRET = DPSSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product unpacked so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product unpacked so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C C C Output parameters C ________________ C C KSEC2 - Updated GRIB section 2 description. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Unpacks values given in KGRIB into KSEC2 and updates bit C pointer INSPT. C C Externals C _________ C C DSGNBT - Get the sign bit and adjust value to +/-. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF March 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) C C Local variables C INTEGER ILALO(2), IRET, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C DPSSEC2 = 0 C C _______________________________________________________ C C Section 2. Unpack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along X-axis. C Octets 9 - 10 : Nj - number of points along Y-axis. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DPSSEC2 = 1 WRITE(GRPRSM,*) 'DPSSEC2: Error extracting' WRITE(GRPRSM,*) 'DPSSEC2: number of points along X or Y axis.' WRITE(GRPRSM,*) 'DPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DPSSEC2 = 1 WRITE(GRPRSM,*) 'DPSSEC2: Error extracting' WRITE(GRPRSM,*) X 'DPSSEC2: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'DPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C If sign bit is 1, value is negative. C CALL DSGNBT( KSEC2(4), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(5), ILALO(2), 24, IRET) C C Octet 17 : Resolution and components flag. C One 8 bit field. C C Resolution flag ( KSEC2(6) ) is not applicable. C KSEC2(6) = 0 C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DPSSEC2 = 1 WRITE(GRPRSM,*) 'DPSSEC2: Error extracting' WRITE(GRPRSM,*) 'DPSSEC2: components flag.' WRITE(GRPRSM,*) 'DPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C All flag fields are already set to 0, so C IF( IRESOL.EQ.0 ) GOTO 213 C C Fix up for flag which was different in Experimental edition. C IF( KSEC0(2).EQ.-1.AND.(IRESOL.EQ.1.OR.IRESOL.EQ.3)) IRESOL = 128 C C Resolution flag is not applicable. C IF( IRESOL.GE.128 ) IRESOL = IRESOL - 128 C C Set earth flag. C IF( IRESOL.GE.64 ) THEN KSEC2(18) = 64 IRESOL = IRESOL - 64 ENDIF C C Set components flag. C KSEC2(19) = IRESOL C 213 CONTINUE C C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(6),1,IBITS, 8,'D',IRET) C IF( IRET.NE.0 ) THEN C DPSSEC2 = 1 C WRITE(GRPRSM,*) 'DPSSEC2: Error extracting' C WRITE(GRPRSM,*) 'DPSSEC2: components flag.' C WRITE(GRPRSM,*) 'DPSSEC2: Return code = ', IRET C GOTO 900 C ENDIF C C Octets 18 - 20 : LoV - orientation of the grid. C One 24 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),1,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DPSSEC2 = 1 WRITE(GRPRSM,*) 'DPSSEC2: Error extracting' WRITE(GRPRSM,*) X 'DPSSEC2: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'DPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C If sign bit is 1, value is negative. C CALL DSGNBT( KSEC2(7), ILALO(1), 24, IRET) C C Octets 21 - 23 : Dx - X direction grid length. C Octets 24 - 26 : Dy - Y direction grid length. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DPSSEC2 = 1 WRITE(GRPRSM,*) 'DPSSEC2: Error extracting' WRITE(GRPRSM,*) 'DPSSEC2: X or Y axis grid length.' WRITE(GRPRSM,*) 'DPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 27 : Projection centre flag. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(13),1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DPSSEC2 = 1 WRITE(GRPRSM,*) 'DPSSEC2: Error extracting' WRITE(GRPRSM,*) 'DPSSEC2: Projection centre flag.' WRITE(GRPRSM,*) 'DPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DPSSEC2 = 1 WRITE(GRPRSM,*) 'DPSSEC2: Error extracting' WRITE(GRPRSM,*) 'DPSSEC2: scanning mode flags.' WRITE(GRPRSM,*) 'DPSSEC2: Return code = ', IRET GOTO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. C IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 32 : Reserved. C Two 16 bit fields. C C Update bit pointer. C INSPT = INSPT + 32 C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/rowina.F0000755000175000017500000000670212127406245020354 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ROWINA (P,KO,KI,PW,KCODE) C C----> C**** ROWINA - Interpolation of row of values. C C Purpose. C -------- C C Interpolate a row of values. C C** Interface. C ---------- C C CALL ROWINA (P,KO,KI,PW,KCODE) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C P - Row of values to be interpolated. C Dimension must be at least KO. C C KO - Number of values required. C C KI - Number of values in P on input. C C PW - Working array. C Dimension must be at least (0:KO+2,3). C C KCODE - Interpolation required. C 1 , linear. C 3 , cubic. C C Output Parameters. C ------------------ C C P - Now contains KO values. C C Method. C ------- C C Linear or cubic interpolation performed as required. C C Externals. C ---------- C C SCM0 C C Reference. C ---------- C C None. C C Comments. C --------- C C This is a version of ROWINT which conforms to Ansi C standards, achieved by passing the work array as a C parameter and changing lower case letters to upper case. C C Author. C ------- C C J. Hennessy ECMWF 09.10.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 07.01.92 C Call to ABORT changed to ABORTX. C C ----------------------------------------------------------------- C----< C DIMENSION P(KO),PW(0:KO+2,3) C IF(KCODE.EQ.1) THEN DO 102 JL=1,KI PW(JL,1)=P(JL) 102 CONTINUE PW(KI+1,1)=P(1) ZRDI=REAL(KI) ZDO=1./REAL(KO) C DO 105 JL=1,KO ZPOS=(JL-1)*ZDO ZWT=ZPOS*ZRDI IP=ZWT ZWT=ZWT-IP P(JL)=(1.-ZWT)*PW(IP+1,1)+ZWT*PW(IP+2,1) 105 CONTINUE C ELSEIF(KCODE.EQ.3) THEN DO 302 JL=1,KI PW(JL,1)=P(JL) 302 CONTINUE PW(0,1)=P(KI) PW(KI+1,1)=P(1) PW(KI+2,1)=P(2) DO 305 JL=1,KI PW(JL,2)= - PW(JL-1,1)/3. - 0.5*PW(JL,1) 1 + PW(JL+1,1) - PW(JL+2,1)/6. PW(JL+1,3)= PW(JL-1,1)/6. - PW(JL,1) 1 + 0.5*PW(JL+1,1) + PW(JL+2,1)/3. 305 CONTINUE CALL SCM0(PW(1,2),PW(2,3),PW(1,1),PW(2,1),KI) ZRDI=REAL(KI) ZDO=1./REAL(KO) DO 310 JL=1,KO ZPOS=(JL-1)*ZDO ZWT=ZPOS*ZRDI IP=ZWT+1 ZWT=ZWT+1.-IP ZWT1 = 1. - ZWT P(JL)=((3.-2.*ZWT1)*PW(IP,1) + ZWT*PW(IP,2))*ZWT1*ZWT1 1 + ((3.-2.*ZWT) *PW(IP+1,1) - ZWT1*PW(IP+1,3))*ZWT*ZWT 310 CONTINUE ELSE WRITE (*,9001) KCODE CALL ABORTX ('ROWINA') ENDIF C RETURN C 9001 FORMAT (1H ,'ROWINA : Invalid interpolation code = ',I4) C END emoslib-000392+dfsg.1/gribex/abortx.F0000755000175000017500000000532012127406245020347 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ABORTX (HNAME) C C----> C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C #ifdef VAX C EXIT #endif #if (defined IBM) && (!defined rs6000) C SYSABN #endif #ifdef CRAY C ABORT #endif #if defined(sun) || defined (sgi) || (defined rs6000) C ABORT #endif #ifdef CYBER C ABORT #endif #ifdef __uxp__ C ABORT #endif #ifdef __hpux C JABORT #endif C C Reference. C ---------- C C None. C C Comments. C --------- C #ifdef VAX C VAX version of routine. #endif #if (defined IBM) && (!defined rs6000) C IBM version of routine. #endif #ifdef CRAY C Cray version of routine. #endif #if defined(sun) || defined (sgi) C SUN/SGI version of routine. #endif #ifdef CYBER C Cyber version of routine. #endif #ifdef __uxp__ C Fujitsu version of routine. #endif C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C----< C IMPLICIT NONE C #include "grprs.h" C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE(GRPRSM,9001) HNAME C #ifdef VAX CALL EXIT (-1) #endif #if (defined IBM) && (!defined rs6000) CALL SYSABN (1) #endif #ifdef CRAY CALL ABORT #endif #ifdef CYBER CALL ABORT ('US',0,' ') #endif #if defined(__uxp__) CALL ABORT #endif #if defined(sun) || defined (sgi) || (defined rs6000) CALL ABORT #endif #ifdef __hpux CALL JABORT #endif C C ------------------------------------------------------------------ C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END emoslib-000392+dfsg.1/gribex/sencode.c0000755000175000017500000023135012127406245020531 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "gdecode.h" #include "sencode.h" #define DEBUGOFF 1 #define DEBUG1 (debugSet > DEBUGOFF ) #define DEBUG2 (debugSet > (DEBUGOFF + 1) ) static char * debugLevel; static int debugSet = 0; #define ABS(a) ((a)<0?-(a):(a)) #define SMALL (1E-12) #define PRACTICALLYZERO(a) (ABS((a))<(SMALL)) #define QUITESMALL (0.05) #define ALMOSTZERO(a) (ABS((a))<(QUITESMALL)) #define TRUE 1 #define FALSE 0 #define CHECK 1 #define NOCHECK 0 #define NORTH 0 #define SOUTH 1 #define WEST 2 #define EAST 3 #define W_E_INC 4 #define N_S_INC 5 #define W_E_PTS 6 #define N_S_PTS 7 fortint initialiseNewGrib(gribProduct**); fortint copyExistingGrib(gribProduct**,gribProduct**); void adjustGridAreaDefinition(gribProduct*,int); fortint SENCODE(gribProduct ** newGrib, gribProduct ** oldGrib) { fortint status; /* // See if DEBUG switched on. */ if( ! debugSet ) { debugLevel = getenv("GDECODE_DEBUG"); if( debugLevel == NULL ) debugSet = DEBUGOFF; /* off */ else { int loop; for( loop = 0; loop < strlen(debugLevel) ; loop++ ) { if( ! isdigit(debugLevel[loop]) ) { printf("Invalid number string in GDECODE_DEBUG: %s\n", debugLevel); printf("GDECODE_DEBUG must comprise only digits [0-9].\n"); debugSet = DEBUGOFF; } } debugSet = DEBUGOFF + atol( debugLevel ); } if( DEBUG1 ) printf("SENCODE: GDECODE_DEBUG switched on, level = %s\n", debugLevel); } if( *oldGrib == NULL ) { status = initialiseNewGrib(newGrib); if( DEBUG1 ) if( status ) printf("SENCODE: initialiseNewGrib failed.\n"); else printf("SENCODE: initialiseNewGrib ran OK\n"); } else { status = copyExistingGrib(newGrib,oldGrib); if( DEBUG1 ) if( status ) printf("SENCODE: copyExistingGrib failed.\n"); else printf("SENCODE: copyExistingGrib ran OK\n"); } return status; } fortint initialiseNewGrib(gribProduct** newGrib) { if( DEBUG1 ) printf("initialiseNewGrib\n"); *newGrib = (gribProduct *) allocateMemory(sizeof(gribProduct)); (*newGrib)->g0 = (gribSection0 *) allocateMemory(sizeof(gribSection0)); (*newGrib)->g1 = (gribSection1 *) allocateMemory(sizeof(gribSection1)); (*newGrib)->g2 = (gribSection2 *) allocateMemory(sizeof(gribSection2)); (*newGrib)->g3 = NULL; (*newGrib)->g4 = (gribSection4 *) allocateMemory(20); (*newGrib)->g5 = (gribSection5 *) allocateMemory(sizeof(gribSection5)); memcpy((*((*newGrib)->g5)).end7777,"7777",4); (*newGrib)->currentPointIndex = 0; (*newGrib)->numberOfValues = 0; (*newGrib)->value = NULL; (*newGrib)->bitStart = NULL; (*newGrib)->bitsPerValue = 0; (*newGrib)->bitmapped = 0; (*newGrib)->nextValueFirstBit = 0; (*newGrib)->nextBit = 0; (*newGrib)->scale = (fortdouble) 0.0; (*newGrib)->minimum = (fortdouble) 0.0; (*newGrib)->missingValue = (fortdouble) 0.0; (*newGrib)->latitudeOffsets = NULL; (*newGrib)->expandedValues = NULL; (*newGrib)->currentPoint.latitude = NULL; (*newGrib)->currentPoint.longitudeIncrement = NULL; (*newGrib)->currentPoint.gridPointValue = NULL; (*newGrib)->northSet = (*newGrib)->southSet = (*newGrib)->westSet = (*newGrib)->eastSet = (*newGrib)->northSouthIncrementSet = (*newGrib)->westEastIncrementSet = (*newGrib)->northSouthNumberOfPointsSet = (*newGrib)->westEastNumberOfPointsSet = TRUE; return (fortint) 0; } fortint copyExistingGrib(gribProduct** newGrib, gribProduct** oldGrib) { fortint lengthOfSectionToCopy; gribProduct * oldG = *oldGrib; gribProduct * newG; if( DEBUG1 ) printf("copyExistingGrib\n"); *newGrib = (gribProduct *) allocateMemory(sizeof(gribProduct)); newG = *newGrib; /* // Create section 0 */ newG->g0 = (gribSection0 *) allocateMemory(sizeof(gribSection0)); memcpy((newG->g0),(oldG->g0),sizeof(gribSection0)); /* // Copy section 1 */ lengthOfSectionToCopy = g1_length(oldG); newG->g1 = (gribSection1 *) allocateMemory(lengthOfSectionToCopy); memcpy((newG->g1),(oldG->g1),lengthOfSectionToCopy); /* // Copy section 2 */ lengthOfSectionToCopy = g2_length(oldG); newG->g2 = (gribSection2 *) allocateMemory(lengthOfSectionToCopy); memcpy((newG->g2),(oldG->g2),lengthOfSectionToCopy); /* if( anyLatLonGrid(oldG) ) { */ if( generalLatLonGrid(oldG) ) { newG->northSet = newG->southSet = newG->westSet = newG->eastSet = newG->northSouthIncrementSet = newG->westEastIncrementSet = newG->northSouthNumberOfPointsSet = newG->westEastNumberOfPointsSet = TRUE; } /* // Section 3 may or may not have to be created. */ newG->g3 = NULL; /* // Copy standard part of section 4 */ lengthOfSectionToCopy = 20; newG->g4 = (gribSection4 *) allocateMemory(lengthOfSectionToCopy); memcpy((newG->g4),(oldG->g4),lengthOfSectionToCopy); /* // Create section 5. */ newG->g5 = (gribSection5 *) allocateMemory(sizeof(gribSection5)); memcpy((*(newG->g5)).end7777,"7777",4); newG->currentPointIndex = 0; newG->numberOfValues = getIntegerValue(oldGrib,"numberOfFieldValues"); newG->value = NULL; newG->bitStart = NULL; newG->bitsPerValue = oldG->bitsPerValue; newG->bitmapped = oldG->bitmapped; newG->nextValueFirstBit = 0; newG->nextBit = 0; newG->scale = (fortdouble) oldG->scale; newG->minimum = (fortdouble) oldG->minimum; newG->missingValue = (fortdouble) oldG->missingValue; newG->latitudeOffsets = NULL; newG->currentPoint.latitude = NULL; newG->currentPoint.longitudeIncrement = NULL; newG->expandedValues = NULL; newG->currentPoint.gridPointValue = NULL; return (fortint) 0; } fortint SENPACK( gribProduct** newGrib, unsigned char * buffer, fortint * bufferLength) { fortint totalLength; gribProduct* g = *newGrib; fortint lengthOfSectionToMove, next; totalLength = 8 + g1_length(g) + g2_length(g) + g4_length(g) + 4; if( primaryBitmapPresent(g) ) totalLength += g3_length(g); if( DEBUG1 ) printf("GRIB totalLength = %d bytes\n",totalLength); if( totalLength > *bufferLength ) { if( DEBUG1 ) printf("GRIB length (%d) greater than buffer length (%d)\n", totalLength, *bufferLength ); return (fortint) -1; } else { memcpy(buffer,(g->g0),sizeof(gribSection0)); MOVE3BYTES((buffer+4),&totalLength); next = sizeof(gribSection0); lengthOfSectionToMove = g1_length(g); memcpy((buffer+next),(g->g1),lengthOfSectionToMove); next += g1_length(g); lengthOfSectionToMove = g2_length(g); memcpy((buffer+next),(g->g2),lengthOfSectionToMove); next += g2_length(g); if( primaryBitmapPresent(g) > 0 ) { lengthOfSectionToMove = g3_length(g); memcpy((buffer+next),(g->g3),lengthOfSectionToMove); next += g3_length(g); } lengthOfSectionToMove = g4_length(g); memcpy((buffer+next),(g->g4),lengthOfSectionToMove); next += g4_length(g); lengthOfSectionToMove = 4; memcpy((buffer+next),"7777",lengthOfSectionToMove); return (fortint) totalLength; } } fortint ISTIME(gribProduct ** grib, fortint * HHMM ) { gribProduct * g = *grib; fortint hhmm = (fortint) (*HHMM); fortint hh = hhmm/100; fortint mm = MOD(hhmm,100); if( DEBUG1 ) printf("ISTIME: HHMM = %d\n", *HHMM); MOVE1BYTE(((g->g1)->hour),&hh); MOVE1BYTE(((g)->g1->minute),&mm); return 0; } fortint RSTIME(gribProduct ** grib, double * HHMM ) { fortint hhmm = (fortint) (*HHMM); if( DEBUG1 ) printf("RSTIME: HHMM = %f\n", *HHMM); return ISTIME(grib,&hhmm); } fortint ISDATE(gribProduct ** grib, fortint * YYYYMMDD ) { gribProduct * g = *grib; fortint yyyymmdd = *YYYYMMDD; fortint yyyy, mmdd, year, month, day, century; if( DEBUG1 ) printf("ISDATE: YYYYMMDD = %d\n", yyyymmdd); yyyy = yyyymmdd/10000; mmdd = MOD(yyyymmdd,10000); year = MOD(yyyy,100); month = mmdd/100; day = MOD(mmdd,100); century = 1 + (yyyy/100); if( year == 0 ) century -= 1; MOVE1BYTE(((g->g1)->year),&year); MOVE1BYTE(((g)->g1->month),&month); MOVE1BYTE(((g)->g1->day),&day); MOVE1BYTE(((g)->g1->century),¢ury); return 0; } fortint RSDATE(gribProduct ** grib, double * YYYYMMDD ) { fortint yyyymmdd = (fortint) *YYYYMMDD; if( DEBUG1 ) printf("RSDATE: YYYYMMDD = %f\n", *YYYYMMDD); return ISDATE(grib,&yyyymmdd); } fortint ISTABLE(gribProduct ** grib, fortint * table) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISTABLE: table = %d\n", *table); MOVE1BYTE(((g->g1)->tableVersionNumber),table); return 0; } fortint RSTABLE(gribProduct ** grib, fortdouble * table) { gribProduct * g = *grib; fortint Table = (fortint) *table; if( DEBUG1 ) printf("RSTABLE: table = %f\n", *table); return ISTABLE(grib,&Table); } fortint ISCENTR(gribProduct ** grib, fortint * centre) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISCENTR: centre = %d\n", *centre); MOVE1BYTE(((g->g1)->originatingCentre),centre); return 0; } fortint RSCENTR(gribProduct ** grib, fortdouble * centre) { gribProduct * g = *grib; fortint Centre = (fortint) *centre; if( DEBUG1 ) printf("RSCENTR: centre = %f\n", *centre); return ISCENTR(grib,&Centre); } fortint ISPARAM(gribProduct ** grib, fortint * parameter) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISPARAM: parameter = %d\n", *parameter); MOVE1BYTE(((g->g1)->parameter),parameter); return 0; } fortint RSPARAM(gribProduct ** grib, fortdouble * parameter) { gribProduct * g = *grib; fortint Parameter = (fortint) *parameter; if( DEBUG1 ) printf("RSPARAM: parameter = %f\n", *parameter); return ISPARAM(grib,&Parameter); } fortint ISLEVTY(gribProduct ** grib, fortint * typeOfLevel) { gribProduct * g = *grib; fortint TypeOfLevel = *typeOfLevel; fortint zero =0; if( DEBUG1 ) printf("ISLEVTY: typeOfLevel = %d\n", TypeOfLevel); MOVE1BYTE(((g->g1)->typeOfLevel),typeOfLevel); if( (TypeOfLevel < 20) || ((TypeOfLevel > 20) && (TypeOfLevel < 100)) || (TypeOfLevel == 102) || (TypeOfLevel == 118) || ((TypeOfLevel > 121) && (TypeOfLevel < 125)) || (TypeOfLevel == 126) || ((TypeOfLevel > 128) && (TypeOfLevel < 141)) || ((TypeOfLevel > 141) && (TypeOfLevel < 160)) || ((TypeOfLevel > 160) && (TypeOfLevel < 200)) || ((TypeOfLevel > 201) && (TypeOfLevel < 210)) || (TypeOfLevel > 210) ) { MOVE2BYTES(((g->g1)->level1),&zero); } return 0; } fortint RSLEVTY(gribProduct ** grib, fortdouble * typeOfLevel) { gribProduct * g = *grib; fortint TypeOfLevel = (fortint) *typeOfLevel; if( DEBUG1 ) printf("RSLEVTY: typeOfLevel = %f\n", *typeOfLevel); return ISLEVTY(grib,&TypeOfLevel); } fortint ISLEVEL(gribProduct ** grib, fortint * level) { gribProduct * g = *grib; fortint zero = 0, bottomLayer, topLayer; if( DEBUG1 ) printf("ISLEVEL: level = %d\n", *level); switch( (int) g1_typeOfLevel(g) ) { case 20: case 100: case 103: case 105: case 107: case 109: case 111: case 113: case 115: case 117: case 119: case 125: case 127: case 160: case 210: if( DEBUG1 ) printf("ISLEVEL: two-byte level value\n"); MOVE2BYTES(((g->g1)->level1),level); break; case 101: case 104: case 106: case 108: case 110: case 112: case 114: case 116: case 120: case 121: case 128: case 141: if( DEBUG1 ) printf("ISLEVEL: top and bottom level values\n"); topLayer = (*level)/1000; MOVE1BYTE(((g->g1)->level1),&topLayer); bottomLayer = MOD((*level),1000); MOVE1BYTE(((g->g1)->level2),&bottomLayer); break; default: if( DEBUG1 ) printf("ISLEVEL: level value set to zero\n"); MOVE2BYTES(((g->g1)->level1),&zero); break; } return 0; } fortint RSLEVEL(gribProduct ** grib, fortdouble * level) { gribProduct * g = *grib; fortint Level = (fortint) *level; if( DEBUG1 ) printf("RSLEVEL: level = %f\n", *level); return ISLEVEL(grib,&Level); } fortint ISTUNIT(gribProduct ** grib, fortint * timeUnit) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISTUNIT: timeUnit = %d\n", *timeUnit); switch( (int) *timeUnit ) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 10: case 11: case 12: case 254: MOVE1BYTE(((g->g1)->unitOfTimeRange),timeUnit); break; return 0; default: if( DEBUG1 ) printf("ISTUNIT: invalid time unit\n"); return -1; } } fortint RSTUNIT(gribProduct ** grib, fortdouble * timeUnit) { gribProduct * g = *grib; fortint TimeUnit = (fortint) *timeUnit; if( DEBUG1 ) printf("RSTUNIT: timeUnit = %f\n", *timeUnit); return ISTUNIT(grib,&TimeUnit); } fortint ISTRIND(gribProduct ** grib, fortint * timeRangeIndicator) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISTRIND: timeRangeIndicator = %d\n",*timeRangeIndicator); MOVE1BYTE(((g->g1)->timeRangeIndicator),timeRangeIndicator); return 0; } fortint RSTRIND(gribProduct ** grib, fortdouble * timeRangeIndicator) { gribProduct * g = *grib; fortint TimeRangeIndicator = (fortint) *timeRangeIndicator; if( DEBUG1 ) printf("RSTRIND: timeRangeIndicator = %f\n",*timeRangeIndicator); return ISTRIND(grib,&TimeRangeIndicator); } fortint ISSTEP(gribProduct ** grib, fortint * timeStep) { gribProduct * g = *grib; fortint zero = 0; if( DEBUG1 ) printf("ISSTEP: timeStep = %d\n",*timeStep); switch( (int) g1_timerange(g) ) { case 0: MOVE1BYTE(((g->g1)->P1),timeStep); MOVE1BYTE(((g->g1)->P2),&zero); return 0; case 1: MOVE1BYTE(((g->g1)->P1),&zero); MOVE1BYTE(((g->g1)->P2),&zero); return 0; case 2: case 3: case 4: case 5: case 113: case 114: case 115: case 116: case 117: case 118: case 119: printf("ISSTEP: time range indicator %d requires separate values for P1 and P2\n", g1_timerange(g)); return -1; case 10: MOVE2BYTES(((g->g1)->P1),timeStep); return 0; case 123: case 124: MOVE1BYTE(((g->g1)->P1),&zero); MOVE1BYTE(((g->g1)->P2),timeStep); return 0; default: printf("ISSTEP: unable to set step for reserved time range indicator %d\n", g1_timerange(g)); return -1; } } fortint RSSTEP(gribProduct ** grib, fortdouble * timeStep) { gribProduct * g = *grib; fortint TimeStep = (fortint) *timeStep; if( DEBUG1 ) printf("RSSTEP: timeStep = %f\n",*timeStep); return ISSTEP(grib,&TimeStep); } fortint ISSTEP1(gribProduct ** grib, fortint * timeStepP1) { gribProduct * g = *grib; fortint zero = 0; if( DEBUG1 ) printf("ISSTEP1: timeStepP1 = %d\n",*timeStepP1); switch( (int) g1_timerange(g) ) { case 0: case 2: case 3: case 4: case 5: case 113: case 114: case 115: case 116: case 117: case 118: case 119: MOVE1BYTE(((g->g1)->P1),timeStepP1); return 0; case 1: case 123: case 124: MOVE1BYTE(((g->g1)->P1),&zero); return 0; case 10: MOVE2BYTES(((g->g1)->P1),timeStepP1); return 0; default: printf("ISSTEP1: unable to set P1 for reserved time range indicator %d\n", g1_timerange(g)); return -1; } } fortint RSSTEP1(gribProduct ** grib, fortdouble * timeStepP1) { gribProduct * g = *grib; fortint TimeStepP1 = (fortint) *timeStepP1; if( DEBUG1 ) printf("RSSTEP1: timeStepP1 = %f\n",*timeStepP1); return ISSTEP1(grib,&TimeStepP1); } fortint ISSTEP2(gribProduct ** grib, fortint * timeStepP2) { gribProduct * g = *grib; fortint zero = 0; if( DEBUG1 ) printf("ISSTEP2: timeStepP2 = %d\n",*timeStepP2); switch( (int) g1_timerange(g) ) { case 0: case 1: MOVE1BYTE(((g->g1)->P2),&zero); return 0; case 2: case 3: case 4: case 5: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 123: case 124: MOVE1BYTE(((g->g1)->P2),timeStepP2); return 0; case 10: printf("ISSTEP2: unable to set P2 for time range indicator %d\n", g1_timerange(g)); return -1; default: printf("ISSTEP2: unable to set P2 for reserved time range indicator %d\n", g1_timerange(g)); return -1; } } fortint RSSTEP2(gribProduct ** grib, fortdouble * timeStepP2) { gribProduct * g = *grib; fortint TimeStepP2 = (fortint) *timeStepP2; if( DEBUG1 ) printf("RSSTEP2: timeStepP2 = %f\n",*timeStepP2); return ISSTEP2(grib,&TimeStepP2); } fortint ISNUMAV(gribProduct ** grib, fortint * numberInAverage) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISNUMAV: numberInAverage = %d\n",*numberInAverage); MOVE2BYTES(((g->g1)->numberInAverage),numberInAverage); return 0; } fortint RSNUMAV(gribProduct ** grib, fortdouble * numberInAverage) { gribProduct * g = *grib; fortint NumberInAverage = (fortint) *numberInAverage; if( DEBUG1 ) printf("RSNUMAV: numberInAverage = %f\n",*numberInAverage); return ISNUMAV(grib,&NumberInAverage); } fortint ISNUMMS(gribProduct ** grib, fortint * numberMissing) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISNUMMS: numberMissing = %d\n",*numberMissing); MOVE1BYTE(((g->g1)->numberMissing),numberMissing); return 0; } fortint RSNUMMS(gribProduct ** grib, fortdouble * numberMissing) { gribProduct * g = *grib; fortint NumberMissing = (fortint) *numberMissing; if( DEBUG1 ) printf("RSNUMMS: numberMissing = %f\n",*numberMissing); return ISNUMMS(grib,&NumberMissing); } fortint ISSUBID(gribProduct ** grib, fortint * subCentreId) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISSUBID: subCentreId = %d\n",*subCentreId); MOVE1BYTE(((g->g1)->subCentreId),subCentreId); return 0; } fortint RSSUBID(gribProduct ** grib, fortdouble * subCentreId) { gribProduct * g = *grib; fortint SubCentreId = (fortint) *subCentreId; if( DEBUG1 ) printf("RSSUBID: subCentreId = %f\n",*subCentreId); return ISSUBID(grib,&SubCentreId); } fortint ISUDECF(gribProduct ** grib, fortint * decimalScale) { gribProduct * g = *grib; fortint scale = *decimalScale; if( DEBUG1 ) printf("ISUDECF: decimalScale = %d\n",*decimalScale); if( scale < 0 ) scale = (-scale) | 0x8000; MOVE2BYTES(((g->g1)->unitsDecimalScaleFactor),&scale); return 0; } fortint RSUDECF(gribProduct ** grib, fortdouble * decimalScale) { gribProduct * g = *grib; fortint DecimalScale = (fortint) *decimalScale; if( DEBUG1 ) printf("RSUDECF: decimalScale = %f\n",*decimalScale); return ISUDECF(grib,&DecimalScale); } fortint ISTYPE(gribProduct ** grib, fortint * ecmwfType) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISTYPE: ecmwfType = %d\n",*ecmwfType); if( ecmwfLocalDefinitionPresent(g) ) { MOVE1BYTE(((g->g1)->local.mars.type),ecmwfType); return 0; } if( centreUsingECMWFLocalDefinition((*grib)) ) { MOVE1BYTE(((g->g1)->local.mars.type),ecmwfType); return 0; } else { if( DEBUG1 ) printf("ISTYPE: no ECMWF local definition present\n"); return (fortint) -1; } } fortint RSTYPE(gribProduct ** grib, fortdouble * ecmwfType) { gribProduct * g = *grib; fortint EcmwfType = (fortint) *ecmwfType; if( DEBUG1 ) printf("RSTYPE: ecmwfType = %f\n",*ecmwfType); return ISTYPE(grib,&EcmwfType); } fortint ISCLASS(gribProduct ** grib, fortint * ecmwfClass) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISCLASS: ecmwfClass = %d\n",*ecmwfClass); if( ecmwfLocalDefinitionPresent(g) ) { MOVE1BYTE(((g->g1)->local.mars.ecmwfClass),ecmwfClass); return 0; } if( centreUsingECMWFLocalDefinition((*grib)) ) { MOVE1BYTE(((g->g1)->local.mars.ecmwfClass),ecmwfClass); return 0; } else { if( DEBUG1 ) printf("ISCLASS: no ECMWF local definition present\n"); return (fortint) -1; } } fortint RSCLASS(gribProduct ** grib, fortdouble * ecmwfClass) { gribProduct * g = *grib; fortint EcmwfClass = (fortint) *ecmwfClass; if( DEBUG1 ) printf("RSCLASS: ecmwfClass = %f\n",*ecmwfClass); return ISCLASS(grib,&EcmwfClass); } fortint ISSTREM(gribProduct ** grib, fortint * ecmwfStream) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISSTREM: ecmwfStream = %d\n",*ecmwfStream); if( ecmwfLocalDefinitionPresent(g) ) { MOVE2BYTES(((g->g1)->local.mars.stream),ecmwfStream); return 0; } if( centreUsingECMWFLocalDefinition((*grib)) ) { MOVE2BYTES(((g->g1)->local.mars.stream),ecmwfStream); return 0; } else { if( DEBUG1 ) printf("ISSTREM: no ECMWF local definition present\n"); return (fortint) -1; } } fortint RSSTREM(gribProduct ** grib, fortdouble * ecmwfStream) { gribProduct * g = *grib; fortint EcmwfStream = (fortint) *ecmwfStream; if( DEBUG1 ) printf("RSSTREM: ecmwfStream = %f\n",*ecmwfStream); return ISSTREM(grib,&EcmwfStream); } fortint ISEXPVR(gribProduct ** grib, fortint * ecmwfExpver) { gribProduct * g = *grib; if( DEBUG1 ) printf("ISEXPVR: ecmwfExpver = %d\n",*ecmwfExpver); if( ecmwfLocalDefinitionPresent(g) ) { MOVE4BYTES(((g->g1)->local.mars.experimentVersionNumber),ecmwfExpver); return 0; } if( centreUsingECMWFLocalDefinition((*grib)) ) { MOVE4BYTES(((g->g1)->local.mars.experimentVersionNumber),ecmwfExpver); return 0; } else { if( DEBUG1 ) printf("ISEXPVR: no ECMWF local definition present\n"); return (fortint) -1; } } fortint RSEXPVR(gribProduct ** grib, fortdouble * ecmwfExpver) { gribProduct * g = *grib; fortint EcmwfExpver = (fortint) *ecmwfExpver; gribSection1 * newG1; if( DEBUG1 ) printf("RSEXPVR: ecmwfExpver = %f\n",*ecmwfExpver); return ISEXPVR(grib,&EcmwfExpver); } fortint ISDEFIN(gribProduct ** grib, fortint * definitionNumber) { gribProduct * g = *grib; localDefinition * local; fortint length, oldCopyLength, loop; gribSection1 * newG1, * oldG1; if( DEBUG1 ) printf("ISDEFIN: definitionNumber = %d\n",*definitionNumber); if( DEBUG1 ) { if(ecmwfLocalDefinitionPresent(g) || centreUsingECMWFLocalDefinition(g)) { if( *definitionNumber == g1_definition(g) ) { printf("ISDEFIN: definitionNumber already has the given value\n"); } else { printf("ISDEFIN: changing the ECMWF local definition from %d to %d\n", g1_definition(g), *definitionNumber); } } else printf("ISDEFIN: creating a new ECMWF local definition\n"); } length = (40 + sizeof(marsHeader)); switch( (int) *definitionNumber ) { case 1: length += sizeof(ECMWFdefinition1); break; case 2: length += sizeof(ECMWFdefinition2); break; case 3: length += sizeof(ECMWFdefinition3); break; case 5: length += sizeof(ECMWFdefinition5); break; case 6: length += sizeof(ECMWFdefinition6); break; case 7: length += sizeof(ECMWFdefinition7); break; case 8: length += sizeof(ECMWFdefinition8); break; case 9: length += sizeof(ECMWFdefinition9); break; case 10: length += sizeof(ECMWFdefinition10); break; case 11: length += sizeof(ECMWFdefinition11); break; case 14: length = 1080; break; case 15: length = 60; break; case 16: length = 80; break; case 18: case 19: length = 120; break; case 20: length += sizeof(ECMWFdefinition20); break; case 50: length = 300; break; default: printf("ISDEFIN: ECMWF local definition from %d not yet handled\n", *definitionNumber); return -1; } newG1 = (gribSection1 *) allocateMemory(length); { unsigned char * p = (unsigned char * ) newG1; for( loop = 40; loop < length; loop++ ) p[loop] = '\0'; } if( ecmwfLocalDefinitionPresent(g) || centreUsingECMWFLocalDefinition(g) ) oldCopyLength = (40 + sizeof(marsHeader)); else oldCopyLength = 40; oldG1 = (gribSection1 *) (g->g1); memcpy(newG1,oldG1,oldCopyLength); /*freeMemory(oldG1);*/ freeMemory(oldG1); (g->g1) = newG1; MOVE1BYTE(((g->g1)->local.mars.definition),definitionNumber); MOVE3BYTES(((g->g1)->sectionLength),&length); return 0; } fortint RSDEFIN(gribProduct ** grib, fortdouble * definitionNumber) { gribProduct * g = *grib; fortint DefinitionNumber = (fortint) *definitionNumber; if( DEBUG1 ) printf("RSDEFIN: definitionNumber = %f\n",*definitionNumber); return ISDEFIN(grib,&DefinitionNumber); } fortint ISBTSPV(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISBTSPV: set number of bits per value to %d\n",*value); MOVE1BYTE(((g->g4)->numberOfBitsPerValue),value); return 0; } fortint RSBTSPV(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) *value; if( DEBUG2) printf("RSBTSPV\n"); return ISBTSPV(grib,&Ivalue); } fortint ISREPRS(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint Value = *value, defaultValue, loop; fortint zero = 0, ninety = 90000; unsigned char * p; if( DEBUG1) printf("ISREPRS: set data representation type to %d\n",Value); /* //if( g2_datatype(g) == Value ) { // if( DEBUG1) printf("ISREPRS: data representation type remains unchanged\n"); // return 0; //} */ MOVE1BYTE(((g->g2)->NV),&zero); defaultValue = 0xff; MOVE1BYTE(((g->g2)->PV_PL),&defaultValue); switch( (int) Value ) { case 0: case 10: case 20: case 30: if( DEBUG1) printf("ISREPRS: setup for latitude/longitude grid\n"); MOVE1BYTE(((g->g2)->dataRepresentationType),value); MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongParallel),&zero); MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongMeridian),&zero); g->northSouthNumberOfPointsSet = g->westEastNumberOfPointsSet = FALSE; MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfFirstPoint),&ninety); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfFirstPoint),&zero); defaultValue = ninety | 0x800000; MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfLastPoint),&defaultValue); defaultValue = 360000; MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfLastPoint),&defaultValue); g->northSet = g->southSet = g->westSet = g->eastSet = TRUE; defaultValue = 0x80; MOVE1BYTE(((g->g2)->grid.latlon.resolutionAndComponentsFlag),&defaultValue); MOVE2BYTES(((g->g2)->grid.latlon.iDirectionIncrement),&zero); MOVE2BYTES(((g->g2)->grid.latlon.jDirectionIncrement),&zero); g->northSouthIncrementSet = g->westEastIncrementSet = FALSE; MOVE1BYTE(((g->g2)->grid.latlon.scanningMode),&zero); MOVE4BYTES(((g->g2)->grid.latlon.setToZero),&zero); defaultValue = ninety | 0x800000; MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfSouthPole),&defaultValue); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfSouthPole),&zero); MOVE4BYTES(((g->g2)->grid.latlon.angleOfRotationOrStretchingFactor),&zero); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfPoleOfStretching),&zero); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfPoleOfStretching),&zero); MOVE4BYTES(((g->g2)->grid.latlon.stretchingFactor),&zero); break; case 50: case 60: case 70: case 80: if( DEBUG1) printf("ISREPRS: setup for spherical harmonics\n"); MOVE1BYTE(((g->g2)->dataRepresentationType),value); MOVE2BYTES(((g->g2)->grid.spectral.J),&zero); MOVE2BYTES(((g->g2)->grid.spectral.K),&zero); MOVE2BYTES(((g->g2)->grid.spectral.M),&zero); defaultValue = 1; MOVE1BYTE(((g->g2)->grid.spectral.representationType),&defaultValue); MOVE1BYTE(((g->g2)->grid.spectral.representationMode),&defaultValue); p = (unsigned char *) &((g->g2)->grid.spectral.setToZero); for( loop = 0; loop < 18; loop++ ) { MOVE1BYTE(p,&zero); p++; } defaultValue = ninety | 0x800000; MOVE3BYTES(((g->g2)->grid.spectral.latitudeOfSouthPole),&defaultValue); MOVE3BYTES(((g->g2)->grid.spectral.longitudeOfSouthPole),&zero); MOVE4BYTES(((g->g2)->grid.spectral.angleOfRotationOrStretchingFactor),&zero); MOVE3BYTES(((g->g2)->grid.spectral.latitudeOfPoleOfStretching),&zero); MOVE3BYTES(((g->g2)->grid.spectral.longitudeOfPoleOfStretching),&zero); MOVE4BYTES(((g->g2)->grid.spectral.stretchingFactor),&zero); break; case 4: case 14: case 24: case 34: if( DEBUG1) printf("ISREPRS: setup for gaussian grids\n"); MOVE1BYTE(((g->g2)->dataRepresentationType),value); MOVE2BYTES(((g->g2)->grid.gaussian.numberOfPointsAlongParallel),&zero); MOVE2BYTES(((g->g2)->grid.gaussian.numberOfPointsAlongMeridian),&zero); g->northSouthNumberOfPointsSet = g->westEastNumberOfPointsSet = FALSE; MOVE3BYTES(((g->g2)->grid.gaussian.latitudeOfFirstPoint),&ninety); MOVE3BYTES(((g->g2)->grid.gaussian.longitudeOfFirstPoint),&zero); defaultValue = ninety | 0x800000; MOVE3BYTES(((g->g2)->grid.gaussian.latitudeOfLastPoint),&defaultValue); defaultValue = 360000; MOVE3BYTES(((g->g2)->grid.gaussian.longitudeOfLastPoint),&defaultValue); g->northSet = g->southSet = g->westSet = g->eastSet = TRUE; defaultValue = 0x80; MOVE1BYTE(((g->g2)->grid.gaussian.resolutionAndComponentsFlag),&defaultValue); MOVE2BYTES(((g->g2)->grid.gaussian.iDirectionIncrement),&zero); MOVE2BYTES(((g->g2)->grid.gaussian.numberOfParallelsBetweenPoleAndEquator),&zero); g->northSouthIncrementSet = g->westEastIncrementSet = FALSE; MOVE1BYTE(((g->g2)->grid.gaussian.scanningMode),&zero); MOVE4BYTES(((g->g2)->grid.gaussian.setToZero),&zero); defaultValue = ninety | 0x800000; MOVE3BYTES(((g->g2)->grid.gaussian.latitudeOfSouthPole),&defaultValue); MOVE3BYTES(((g->g2)->grid.gaussian.longitudeOfSouthPole),&zero); MOVE4BYTES(((g->g2)->grid.gaussian.angleOfRotationOrStretchingFactor),&zero); MOVE3BYTES(((g->g2)->grid.gaussian.latitudeOfPoleOfStretching),&zero); MOVE3BYTES(((g->g2)->grid.gaussian.longitudeOfPoleOfStretching),&zero); MOVE4BYTES(((g->g2)->grid.gaussian.stretchingFactor),&zero); break; default: if( DEBUG1) printf("ISREPRS: data representation type not yet handled\n"); break; } return 0; } fortint RSREPRS(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) *value; if( DEBUG2) printf("RSREPRS\n"); return ISREPRS(grib,&Ivalue); } fortint ISNWLAT(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint Value = *value; if( DEBUG2) printf("ISNWLAT: value = %d\n", Value); if( !generalLatLonGrid(g) ) return 0; if( Value < 0 ) Value = 0x800000 | (-Value); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfFirstPoint),&Value); g->northSet = TRUE; adjustGridAreaDefinition(g,(int)NORTH); return 0; } fortint RSNWLAT(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("ISNWLAT\n"); return ISNWLAT(grib,&Ivalue); } fortint ISNWLON(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint Value = *value; if( DEBUG2) printf("ISNWLON: value = %d\n", Value); if( !generalLatLonGrid(g) ) return 0; if( Value < 0 ) Value = 0x800000 | (-Value); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfFirstPoint),&Value); g->westSet = TRUE; adjustGridAreaDefinition(g,(int)WEST); return 0; } fortint RSNWLON(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("ISNWLON\n"); return ISNWLON(grib,&Ivalue); } fortint ISSELAT(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint Value = *value; if( DEBUG2) printf("ISSELAT: value = %d\n", Value); if( !generalLatLonGrid(g) ) return 0; if( Value < 0 ) Value = 0x800000 | (-Value); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfLastPoint),&Value); g->southSet = TRUE; adjustGridAreaDefinition(g,(int)SOUTH); return 0; } fortint RSSELAT(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("ISSELAT\n"); return ISSELAT(grib,&Ivalue); } fortint ISSELON(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint Value = *value; if( DEBUG2) printf("ISSELON: value = %d\n", Value); if( !generalLatLonGrid(g) ) return 0; if( Value < 0 ) Value = 0x800000 | (-Value); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfLastPoint),&Value); g->eastSet = TRUE; adjustGridAreaDefinition(g,(int)EAST); return 0; } fortint RSSELON(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("ISSELON\n"); return ISSELON(grib,&Ivalue); } fortint ISDI(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISDI: value = %d\n", *value); if( !generalLatLonGrid(g) ) return 0; MOVE2BYTES(((g->g2)->grid.latlon.iDirectionIncrement), value); g->westEastIncrementSet = TRUE; adjustGridAreaDefinition(g,(int)W_E_INC); return 0; } fortint RSDI(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("RSDI\n"); return ISDI(grib,&Ivalue); } fortint ISDJ(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISDJ: value = %d\n", *value); if( !generalLatLonGrid(g) ) return 0; MOVE2BYTES(((g->g2)->grid.latlon.jDirectionIncrement), value); g->northSouthIncrementSet = TRUE; adjustGridAreaDefinition(g,(int)N_S_INC); return 0; } fortint RSDJ(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("RSDJ\n"); return ISDJ(grib,&Ivalue); } fortint ISDIJ(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISDIJ: value = %d\n", *value); if( !generalLatLonGrid(g) ) return 0; ISDI(grib,value); ISDJ(grib,value); return 0; } fortint RSDIJ(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("RSDIJ\n"); return ISDIJ(grib,&Ivalue); } fortint ISNJ(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISNJ: value = %d\n", *value); if( !generalLatLonGrid(g) ) return 0; MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongMeridian), value); g->northSouthNumberOfPointsSet = TRUE; adjustGridAreaDefinition(g,(int)N_S_PTS); return 0; } fortint RSNJ(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("ISNJ\n"); return ISNJ(grib,&Ivalue); } fortint ISNI(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISNI: value = %d\n", *value); if( !generalLatLonGrid(g) ) return 0; MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongParallel), value); g->westEastNumberOfPointsSet = TRUE; adjustGridAreaDefinition(g,(int)W_E_PTS); return 0; } fortint RSNI(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("ISNI\n"); return ISNI(grib,&Ivalue); } fortint ISJ(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint truncation = *value; if( DEBUG2) printf("ISJ value = %d\n", truncation); if( anySpectralField(g) ) { MOVE2BYTES(((g->g2)->grid.spectral.J),value); g->numberOfValues = (truncation+1) * (truncation+2); } return 0; } fortint RSJ(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("RSJ value = %f\n", *value); return ISJ(grib,&Ivalue); } fortint ISK(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISK value = %d\n", *value); if( anySpectralField(g) ) MOVE2BYTES(((g->g2)->grid.spectral.K),value); return 0; } fortint RSK(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("RSK value = %f\n", *value); return ISK(grib,&Ivalue); } fortint ISM(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISM value = %d\n", *value); if( anySpectralField(g) ) MOVE2BYTES(((g->g2)->grid.spectral.M),value); return 0; } fortint RSM(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("RSM value = %f\n", *value); return ISM(grib,&Ivalue); } fortint ISJKM(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISJKM value = %d\n", *value); ISJ(grib,value); ISK(grib,value); ISM(grib,value); return 0; } fortint RSJKM(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("RSJKM value = %f\n", *value); return ISJKM(grib,&Ivalue); } fortint ISTJ(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISTJ value = %d\n", *value); if( anyComplexPackedSpectralField(g) ) MOVE1BYTE(((g->g4)->data.complexSpectral.J),value); return 0; } fortint RSTJ(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("RSTJ value = %f\n", *value); return ISTJ(grib,&Ivalue); } fortint ISTK(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISTK value = %d\n", *value); if( anyComplexPackedSpectralField(g) ) MOVE1BYTE(((g->g4)->data.complexSpectral.K),value); return 0; } fortint RSTK(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("RSTK value = %f\n", *value); return ISTK(grib,&Ivalue); } fortint ISTM(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISTM value = %d\n", *value); if( anyComplexPackedSpectralField(g) ) MOVE1BYTE(((g->g4)->data.complexSpectral.M),value); return 0; } fortint RSTM(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("RSTM value = %f\n", *value); return ISTM(grib,&Ivalue); } fortint ISTJKM(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; if( DEBUG2) printf("ISTJKM value = %d\n", *value); ISTJ(grib,value); ISTK(grib,value); ISTM(grib,value); return 0; } fortint RSTJKM(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value); if( DEBUG2) printf("RSTJKM value = %f\n", *value); return ISTJKM(grib,&Ivalue); } fortint ISLATRP(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint Value = *value; if( DEBUG2) printf("ISLATRP: value = %d\n", Value); if( !generalRotatedGrid(g) ) return 0; if( Value < 0 ) Value = 0x800000 | (-Value); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfSouthPole),&Value); return 0; } fortint RSLATRP(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("RSLATRP\n"); return ISLATRP(grib,&Ivalue); } fortint ISLONRP(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint Value = *value; if( DEBUG2) printf("ISLONRP: value = %d\n", Value); if( !generalRotatedGrid(g) ) return 0; if( Value < 0 ) Value = 0x800000 | (-Value); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfSouthPole),&Value); return 0; } fortint RSLONRP(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("RSLONRP\n"); return ISLONRP(grib,&Ivalue); } fortint RSROTAT(gribProduct ** grib, fortdouble * value) { gribProduct * g = *grib; fortint valueExponent, valueMantissa, numberOfBitsPerInteger; fortint status; if( DEBUG2) printf("RSROTAT: value = %f\n", *value); if( !generalRotatedGrid(g) ) return 0; numberOfBitsPerInteger = sizeof(fortint) * 8; status = REF2GRB(value,&valueExponent, &valueMantissa,&numberOfBitsPerInteger); if( status ) { printf("RSROTAT: call to REF2GRB failed\n"); exit(1); } MOVE1BYTE(((g->g2)->grid.latlon.angleOfRotationOrStretchingFactor),&valueExponent); MOVE3BYTES((((g->g2)->grid.latlon.angleOfRotationOrStretchingFactor)+1),&valueMantissa); return 0; } fortint ISROTAT(gribProduct ** grib, fortint * value) { fortdouble Value = ((fortdouble) *value) / 1000.0; if( DEBUG2) printf("ISROTAT: value = %d\n", *value); return RSROTAT(grib,&Value); } fortint ISLATSP(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint Value = *value; if( DEBUG2) printf("ISLATSP: value = %d\n", Value); if( !generalStretchedGrid(g) ) return 0; if( Value < 0 ) Value = 0x800000 | (-Value); if( generalStretchedAndRotatedGrid(g) ) MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfPoleOfStretching),&Value); else MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfSouthPole),&Value); return 0; } fortint RSLATSP(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("RSLATSP\n"); return ISLATSP(grib,&Ivalue); } fortint ISLONSP(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint Value = *value; if( DEBUG2) printf("ISLONSP: value = %d\n", Value); if( !generalStretchedGrid(g) ) return 0; if( Value < 0 ) Value = 0x800000 | (-Value); if( generalStretchedAndRotatedGrid(g) ) MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfPoleOfStretching),&Value); else MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfSouthPole),&Value); return 0; } fortint RSLONSP(gribProduct ** grib, fortdouble * value) { fortint Ivalue = (fortint) (*value * 1000.0); if( DEBUG2) printf("RSLONSP\n"); return ISLONSP(grib,&Ivalue); } fortint RSSFACT(gribProduct ** grib, fortdouble * value) { gribProduct * g = *grib; fortint valueExponent, valueMantissa, numberOfBitsPerInteger; fortint status; if( DEBUG2) printf("RSSFACT: value = %f\n", *value); if( !generalStretchedGrid(g) ) return 0; numberOfBitsPerInteger = sizeof(fortint) * 8; status = REF2GRB(value,&valueExponent, &valueMantissa,&numberOfBitsPerInteger); if( status ) { printf("RSSFACT: call to REF2GRB failed\n"); exit(1); } if( generalStretchedAndRotatedGrid(g) ) { MOVE1BYTE(((g->g2)->grid.latlon.stretchingFactor),&valueExponent); MOVE3BYTES((((g->g2)->grid.latlon.stretchingFactor)+1),&valueMantissa); } else { MOVE1BYTE(((g->g2)->grid.latlon.angleOfRotationOrStretchingFactor),&valueExponent); MOVE3BYTES((((g->g2)->grid.latlon.angleOfRotationOrStretchingFactor)+1),&valueMantissa); } return 0; } fortint ISSFACT(gribProduct ** grib, fortint * value) { fortdouble Value = ((fortdouble) *value) / 1000.0; if( DEBUG2) printf("ISSFACT: value = %d\n", *value); return RSSFACT(grib,&Value); } fortint ISSETQG(gribProduct ** grib, fortint * value) { gribProduct * g = *grib; fortint northToSouth; fortint number = (*value), missing = 0xffff, zero = 0; fortdouble * gaussianLatitudes; fortint * countOfPointsAtLatitudes; fortint total, loop, status, one = 1, coordinate; unsigned char htype[2] = "R"; fortdouble lastLongitude; gribSection2 * newSection2; fortint newSection2Size, listOffset, count; unsigned char * p; if( DEBUG2) printf("ISSETQG: reduced gaussian number = %d\n", *value); if( !anyGaussianGrid(g) ) return 0; /* //if( number == g2_gaussNumber(g) ) return 0; */ MOVE2BYTES(((g->g2)->grid.gaussian.numberOfPointsAlongParallel),&missing); northToSouth = number * 2; MOVE2BYTES(((g->g2)->grid.gaussian.numberOfPointsAlongMeridian),&northToSouth); MOVE3BYTES(((g->g2)->grid.gaussian.longitudeOfFirstPoint),&zero); MOVE1BYTE(((g->g2)->grid.gaussian.resolutionAndComponentsFlag),&zero); MOVE2BYTES(((g->g2)->grid.gaussian.iDirectionIncrement),&missing); MOVE2BYTES(((g->g2)->grid.gaussian.numberOfParallelsBetweenPoleAndEquator), &number); MOVE1BYTE(((g->g2)->grid.gaussian.scanningMode),&zero); MOVE4BYTES(((g->g2)->grid.gaussian.setToZero),&zero); MOVE3BYTES(((g->g2)->grid.gaussian.latitudeOfSouthPole),&zero); MOVE3BYTES(((g->g2)->grid.gaussian.longitudeOfSouthPole),&zero); MOVE4BYTES(((g->g2)->grid.gaussian.angleOfRotationOrStretchingFactor),&zero); MOVE3BYTES(((g->g2)->grid.gaussian.latitudeOfPoleOfStretching),&zero); MOVE3BYTES(((g->g2)->grid.gaussian.longitudeOfPoleOfStretching),&zero); MOVE4BYTES(((g->g2)->grid.gaussian.stretchingFactor),&zero); gaussianLatitudes = (fortdouble *) allocateMemory(northToSouth*sizeof(fortdouble)); countOfPointsAtLatitudes = (fortint *) allocateMemory(northToSouth*sizeof(fortint)); JGETGG(&number,htype,gaussianLatitudes,countOfPointsAtLatitudes,&status, (long)one); if( status ) { printf("ISSETQG: JGETGG failed for gaussian number %d\n",number); exit(1); } coordinate = (fortint) ((0.0005 + gaussianLatitudes[0])*1000.0); MOVE3BYTES(((g->g2)->grid.gaussian.latitudeOfFirstPoint),&coordinate); coordinate = 0x800000 | coordinate; MOVE3BYTES(((g->g2)->grid.gaussian.latitudeOfLastPoint),&coordinate); freeMemory(gaussianLatitudes); lastLongitude = 360.0 - (360/(fortdouble)countOfPointsAtLatitudes[number-1]); coordinate = (fortint) (lastLongitude * 1000.0); if( coordinate < 0 ) coordinate = 0x800000 | (-coordinate); MOVE3BYTES(((g->g2)->grid.gaussian.longitudeOfLastPoint),&coordinate); switch( (int) g2_datatype(g) ) { case 4: listOffset = 32; break; case 14: case 24: listOffset = 42; break; case 34: listOffset = 52; break; default: printf("ISSETQG: unexpected gaussian representation type = %d\n", g2_datatype(g)); exit(1); } listOffset += g2_NV(g) * 4; newSection2Size = listOffset + (northToSouth * 2); newSection2 = (gribSection2 *) allocateMemory(newSection2Size); memcpy(newSection2,(g->g2),sizeof(gribSection2)); total = 0; p = (unsigned char *) newSection2; p += listOffset; for(loop=0;loopnumberOfValues = total; freeMemory((g->g2)); g->g2 = newSection2; MOVE3BYTES(((g->g2)->sectionLength),&newSection2Size); listOffset++; MOVE1BYTE(((g->g2)->PV_PL),&listOffset); return 0; } fortint RSSETQG(gribProduct ** grib, fortdouble * value) { fortint Value = (fortint) *value; if( DEBUG2) printf("RSSETQG\n"); return ISSETQG(grib,&Value);; } fortint ISSETRG(gribProduct ** grib, fortint * value) { if( DEBUG2) printf("ISSETRG: regular gaussian number = %d\n", *value); return 0; } fortint RSSETRG(gribProduct ** grib, fortdouble * value) { if( DEBUG2) printf("RSSETRG\n"); return 0; } fortint ISDUMMY(gribProduct ** grib, fortint * value) { if( DEBUG2) printf("ISDUMMY\n"); return 0; } fortint RSDUMMY(gribProduct ** grib, fortdouble * value) { if( DEBUG2) printf("RSDUMMY\n"); return 0; } fortint SVALUES( gribProduct ** grib, fortdouble * arrayOfUnpackedValues, fortint * arraySize, fortdouble * userSuppliedMissingValue ) { gribProduct * g = *grib; fortint loop, startValue, lengthOfSection3; fortint N, numberOfUnpackedValues, nextNonMissingValue = 0; fortint numberOfValues, numberOfMissingValues = 0; fortdouble missingValue = *userSuppliedMissingValue; fortdouble value, maximum, minimum, truncation; unsigned char * bitmap, * section3; if( DEBUG1 ) printf("SVALUES\n"); /* // Calculate the number of points from the GRIB headers */ numberOfUnpackedValues = g->numberOfValues; if( DEBUG1 ) printf("SVALUES: numberOfUnpackedValues = %d\n",numberOfUnpackedValues); if( numberOfUnpackedValues <= 0 ) { printf("SVALUES: grib headers not sufficiently configured for packing\n"); return -1; } if( numberOfUnpackedValues > *arraySize ) { printf( "SVALUES: calculated number of values (%d) greater than array size(%d)\n", numberOfUnpackedValues, *arraySize); return -1; } N = numberOfUnpackedValues; /* // For gridpoint fields, it may be necessary to create a bitmap if // there are missing data values */ if( !anySpectralField(g) ) { if( DEBUG1 ) printf("SVALUES: gridpoint field\n"); lengthOfSection3 = (6+(N+7)/8); if( MOD(lengthOfSection3,2) == 1 ) lengthOfSection3++; section3 = (unsigned char *) allocateMemory(lengthOfSection3); bitmap = section3 + 6; for( loop = 0; loop < (N+7)/8; loop++) bitmap[loop] = 0; maximum = minimum = arrayOfUnpackedValues[0]; for( loop = 0; loop < N; loop++) { value = arrayOfUnpackedValues[loop]; if( value == missingValue ) { numberOfMissingValues++; } else { setBitMap(bitmap,loop); if( (value < minimum) || (minimum == missingValue) ) { minimum = value; } if( (value > maximum) || (maximum == missingValue) ) { maximum = value; } } } /* // Create section 3 if there is a bitmap */ if( numberOfMissingValues > 0 ) { fortint numberOfUnusedBits = (lengthOfSection3-6)*8 - N; fortint zero = 0; if( DEBUG1 ) printf("SVALUES: create section 3 bitmap\n"); g->bitmapped = 1; freeMemory(g->g3); g->g3 = (gribSection3 *) section3; MOVE3BYTES((g->g3)->sectionLength,&lengthOfSection3); MOVE1BYTE((g->g3)->numberOfUnusedBits,&numberOfUnusedBits); MOVE2BYTES((g->g3)->tableReference,&zero); *((g->g1)->section2and3PresentFlag) |= 0x40; /* // Repack the input array, leaving out the missing data */ nextNonMissingValue = 0; for( loop = 0; loop < N; loop++) { if( arrayOfUnpackedValues[loop] != missingValue ) arrayOfUnpackedValues[nextNonMissingValue++] = arrayOfUnpackedValues[loop]; } } else { g->bitmapped = 0; *((g->g1)->section2and3PresentFlag) &= 0xbf; freeMemory(section3); } numberOfValues = N - numberOfMissingValues; if( simplePacking(g) ) { fortint estimatedSizeOfSection4; unsigned char * section4; fortint status, lengthOfSection4, numberOfUnusedBits; fortint referenceValueExponent, referenceValueMantissa; fortint numberOfBitsPerPackedValue, numberOfBitsPerInteger; fortint firstCoefficientExponent, firstCoefficientMantissa; fortint integerScale = 0; fortdouble range = maximum - minimum; fortdouble realScale = 1.0; fortint numberOfValuesToScale, startOfPackedValueBits; fortint * arrayOfScaledValues; if( DEBUG1 ) printf("SVALUES: gridpoint field with simple packing\n"); estimatedSizeOfSection4 = 512+(N*sizeof(fortint)*8+7)/8; section4 = (unsigned char *) allocateMemory(estimatedSizeOfSection4); numberOfBitsPerPackedValue = g4_bits(g); numberOfBitsPerInteger = sizeof(fortint) * 8; if( numberOfBitsPerPackedValue == numberOfBitsPerInteger) numberOfBitsPerPackedValue--; if( PRACTICALLYZERO(range) ) integerScale = 0; else if( (minimum != 0) && PRACTICALLYZERO(range/minimum) ){ integerScale = 0; } else if( PRACTICALLYZERO(range-1.0) ) integerScale = 1 - numberOfBitsPerPackedValue; else if( range > 1.0 ) { for( loop = 1; loop < 128; loop++ ) { realScale *= 2.0; if( realScale > (range + SMALL) ) { integerScale = loop - numberOfBitsPerPackedValue; break; } } } else { for( loop = 1; loop < 127; loop++ ) { realScale /= 2.0; if( realScale < (range - SMALL) ) { integerScale = 1 - loop - numberOfBitsPerPackedValue; break; } } } realScale = (fortdouble) pow((double)2.0,(double)integerScale); if( integerScale < 0 ) integerScale = 0x8000 | (-integerScale); MOVE2BYTES((section4+4),&integerScale); status = REF2GRB(&minimum,&referenceValueExponent, &referenceValueMantissa,&numberOfBitsPerInteger); if( status ) { printf("SVALUES: call to REF2GRB failed\n"); return -1; } MOVE1BYTE((section4+6),&referenceValueExponent); MOVE3BYTES((section4+7),&referenceValueMantissa); MOVE1BYTE((section4+10),&numberOfBitsPerPackedValue); status = REF2GRB(&arrayOfUnpackedValues[0],&firstCoefficientExponent, &firstCoefficientMantissa,&numberOfBitsPerInteger); if( status ) { printf("SVALUES: call to REF2GRB failed\n"); return -1; } MOVE1BYTE((section4+11),&firstCoefficientExponent); MOVE3BYTES((section4+12),&firstCoefficientMantissa); numberOfValuesToScale = numberOfValues; arrayOfScaledValues = (fortint *) allocateMemory(numberOfValuesToScale*sizeof(fortint)); INSCAL(&arrayOfUnpackedValues[0],arrayOfScaledValues, &numberOfValuesToScale,&minimum,&realScale, &numberOfBitsPerPackedValue); startOfPackedValueBits = 88; lengthOfSection4 = estimatedSizeOfSection4/sizeof(fortint); INXBIT((fortint*)section4,&lengthOfSection4, &startOfPackedValueBits,arrayOfScaledValues, &numberOfValuesToScale,&numberOfBitsPerInteger, &numberOfBitsPerPackedValue,"C",&status,(long)1); if( status ) { printf("SVALUES: call to INXBIT failed\n"); return -1; } freeMemory(arrayOfScaledValues); lengthOfSection4 = (startOfPackedValueBits + 7)/8; if( MOD(lengthOfSection4,2) == 1 ) lengthOfSection4++; MOVE3BYTES(section4,&lengthOfSection4); numberOfUnusedBits = lengthOfSection4*8 - startOfPackedValueBits; if( !floatingPoint(g) ) numberOfUnusedBits |= 0x20; MOVE1BYTE((section4+3),&numberOfUnusedBits); freeMemory(g->g4); g->g4 = (gribSection4 *) section4; } else { printf("Second order packing not yet handled!\n"); return -1; } return 0; } /* // Spherical harmonics */ if( anySpectralField(g) && floatingPoint(g) ) { fortint estimatedSizeOfSection4; unsigned char * section4; estimatedSizeOfSection4 = 512+(N*sizeof(fortint)*8+7)/8; section4 = (unsigned char *) allocateMemory(estimatedSizeOfSection4); if( simplePacking(g) ) startValue = 1; else startValue = 0; maximum = minimum = arrayOfUnpackedValues[startValue]; for( loop = startValue; loop < N; loop++) { value = arrayOfUnpackedValues[loop]; if( (value < minimum) || (minimum == missingValue) ) { minimum = value; } if( (value > maximum) || (maximum == missingValue) ) { maximum = value; } } /* // If complex packing required, use GRIBEX routines GRSMKP and CSECT4 */ if( !simplePacking(g) ) { fortint * ksec1, * ksec4; fortint ktrunc, kleng, knspt, status, adjustment; fortint numberOfBitsPerInteger, numberOfBitsPerPackedValue; if( DEBUG1 ) printf("SVALUES: spectral field with complex packing\n"); ksec1 = (fortint *) allocateMemory(1024*sizeof(fortint)); for( loop = 0; loop < 1024; loop++) ksec1[loop] = 0; ksec4 = (fortint *) allocateMemory(512*sizeof(fortint)); for( loop = 0; loop < 512; loop++) ksec4[loop] = 0; ksec1[22] = g1_scale(g); ksec4[ 1] = g4_bits(g); ksec4[16] = g4_ip(g); ksec4[17] = g4_j(g); ksec4[18] = g4_k(g); ksec4[19] = g4_m(g); ktrunc = g2_J(g); kleng = (estimatedSizeOfSection4+sizeof(fortint)-1)/sizeof(fortint); knspt = 0; numberOfBitsPerInteger = sizeof(fortint) * 8; numberOfBitsPerPackedValue = g4_bits(g); { fortint forceComputation = 1; GRSMKP(&forceComputation); } status = CSECT4(arrayOfUnpackedValues,&ktrunc,ksec1,ksec4, (fortint *)section4,&kleng,&knspt, &numberOfBitsPerInteger,&numberOfBitsPerPackedValue); if( status ) { printf("SVALUES: call to CSECT4 failed\n"); return -1; } /* // NB. Adjust the octet number at which first-order packed data begins // to be consistent with an ECMWF bug. */ adjustment = TWOBYTEINT(section4+11); adjustment += 8 + g1_length(g) + g2_length(g); MOVE2BYTES((section4+11),&adjustment); freeMemory(g->g4); g->g4 = (gribSection4 *) section4; } /* // Simple packing required */ else { fortint status, lengthOfSection4, numberOfUnusedBits; fortint referenceValueExponent, referenceValueMantissa; fortint numberOfBitsPerPackedValue, numberOfBitsPerInteger; fortint firstCoefficientExponent, firstCoefficientMantissa; fortint integerScale = 0; fortdouble range = maximum - minimum; fortdouble realScale = 1.0; fortint numberOfValuesToScale, startOfPackedValueBits; fortint * arrayOfScaledValues; if( DEBUG1 ) printf("SVALUES: spectral field with simple packing\n"); numberOfBitsPerPackedValue = g4_bits(g); numberOfBitsPerInteger = sizeof(fortint) * 8; if( numberOfBitsPerPackedValue == numberOfBitsPerInteger) numberOfBitsPerPackedValue--; if( PRACTICALLYZERO(range) ) integerScale = 0; else if( (minimum != 0) && PRACTICALLYZERO(range/minimum) ) integerScale = 0; else if( PRACTICALLYZERO(range-1.0) ) integerScale = 1 - numberOfBitsPerPackedValue; else if( range > 1.0 ) { for( loop = 1; loop < 128; loop++ ) { realScale *= 2.0; if( realScale > (range + SMALL) ) { integerScale = loop - numberOfBitsPerPackedValue; break; } } } else { for( loop = 1; loop < 127; loop++ ) { realScale /= 2.0; if( realScale < (range - SMALL) ) { integerScale = 1 - loop - numberOfBitsPerPackedValue; break; } } } realScale = (fortdouble) pow((double)2.0,(double)integerScale); if( integerScale < 0 ) integerScale = 0x8000 | (-integerScale); MOVE2BYTES((section4+4),&integerScale); status = REF2GRB(&minimum,&referenceValueExponent, &referenceValueMantissa,&numberOfBitsPerInteger); if( status ) { printf("SVALUES: call to REF2GRB failed\n"); return -1; } MOVE1BYTE((section4+6),&referenceValueExponent); MOVE3BYTES((section4+7),&referenceValueMantissa); MOVE1BYTE((section4+10),&numberOfBitsPerPackedValue); status = REF2GRB(&arrayOfUnpackedValues[0],&firstCoefficientExponent, &firstCoefficientMantissa,&numberOfBitsPerInteger); if( status ) { printf("SVALUES: call to REF2GRB failed\n"); return -1; } MOVE1BYTE((section4+11),&firstCoefficientExponent); MOVE3BYTES((section4+12),&firstCoefficientMantissa); numberOfValuesToScale = N - 1; arrayOfScaledValues = (fortint *) allocateMemory(numberOfValuesToScale*sizeof(fortint)); INSCAL(&arrayOfUnpackedValues[1],arrayOfScaledValues, &numberOfValuesToScale,&minimum,&realScale, &numberOfBitsPerPackedValue); startOfPackedValueBits = 120; lengthOfSection4 = estimatedSizeOfSection4/sizeof(fortint); INXBIT((fortint*)section4,&lengthOfSection4, &startOfPackedValueBits,arrayOfScaledValues, &numberOfValuesToScale,&numberOfBitsPerInteger, &numberOfBitsPerPackedValue,"C",&status,(long)1); if( status ) { printf("SVALUES: call to INXBIT failed\n"); return -1; } freeMemory(arrayOfScaledValues); lengthOfSection4 = (startOfPackedValueBits + 7)/8; if( MOD(lengthOfSection4,2) == 1 ) lengthOfSection4++; MOVE3BYTES(section4,&lengthOfSection4); numberOfUnusedBits = lengthOfSection4*8 - startOfPackedValueBits; numberOfUnusedBits |= 0x80; MOVE1BYTE((section4+3),&numberOfUnusedBits); freeMemory(g->g4); g->g4 = (gribSection4 *) section4; } } else { if( DEBUG1 ) printf("SVALUES: gridpoint field\n"); } return 0; } void setBitMap(unsigned char * bitmap, fortint bitNumber ) { fortint byteOffset = (bitNumber>>3); fortint bitOffset = bitNumber - (byteOffset<<3); bitmap[byteOffset] |= (0x80>>bitOffset); } void adjustGridAreaDefinition(gribProduct* g, int type) { fortdouble north, south, west, east, increment; fortint value, numberOfPoints ; switch( type) { case NORTH: if( DEBUG2 ) printf("adjustGridAreaDefinition: new north given\n"); north = RGNWLAT(&g); if( g->southSet ) { south = RGSELAT(&g); if( g->northSouthIncrementSet ) { increment = RGDJ(&g); numberOfPoints = (fortint) (0.5 + (north-south)/increment) + 1; MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongMeridian), &numberOfPoints); g->northSouthNumberOfPointsSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: numberOfPoints set = %d\n", numberOfPoints); } else if( g->northSouthNumberOfPointsSet ) { numberOfPoints = IGNJ(&g) - 1; increment = (north-south)/(fortdouble) numberOfPoints; value = (fortint) (increment * 1000.0); MOVE2BYTES(((g->g2)->grid.latlon.jDirectionIncrement),&value); g->northSouthIncrementSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: north-south increment set = %f\n", increment); } } else { if( g->northSouthIncrementSet && g->northSouthNumberOfPointsSet ) { increment = RGDJ(&g); numberOfPoints = IGNJ(&g) - 1; south = north - increment * (fortdouble) numberOfPoints; value = (fortint) (south * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfLastPoint),&value); g->southSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: south set = %f\n", south); } } break; case SOUTH: if( DEBUG2 ) printf("adjustGridAreaDefinition: new south given\n"); south = RGSELAT(&g); if( g->northSet ) { north = RGNWLAT(&g); if( g->northSouthIncrementSet ) { increment = RGDJ(&g); numberOfPoints = (fortint) (0.5 + (north-south)/increment) + 1; MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongMeridian), &numberOfPoints); if( DEBUG2 ) printf("adjustGridAreaDefinition: numberOfPoints set = %d\n", numberOfPoints); } else if( g->northSouthNumberOfPointsSet ) { numberOfPoints = IGNJ(&g) - 1; increment = (north-south)/(fortdouble) numberOfPoints; value = (fortint) (increment * 1000.0); MOVE2BYTES(((g->g2)->grid.latlon.jDirectionIncrement),&value); g->northSouthIncrementSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: north-south increment set = %f\n", increment); } } else { if( g->northSouthIncrementSet && g->northSouthNumberOfPointsSet ) { increment = RGDJ(&g); numberOfPoints = IGNJ(&g) - 1; north = south + increment * (fortdouble) numberOfPoints; value = (fortint) (north * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfFirstPoint),&value); g->northSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: north set = %f\n", north); } } break; case WEST: if( DEBUG2 ) printf("adjustGridAreaDefinition: new west given\n"); west = RGNWLON(&g); if( g->eastSet ) { east = RGSELON(&g); if( g->westEastIncrementSet ) { increment = RGDI(&g); if( ALMOSTZERO(east - west - 360.0) ) numberOfPoints = (fortint) (0.5 + (east-west)/increment); else numberOfPoints = (fortint) (0.5 + (east-west)/increment) + 1; MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongParallel), &numberOfPoints); g->westEastNumberOfPointsSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: numberOfPoints set = %d\n", numberOfPoints); } else if( g->westEastNumberOfPointsSet ) { numberOfPoints = IGNI(&g) - 1; /* // Test for longitude wraparound */ if( ALMOSTZERO(east - west - 360.0) ) numberOfPoints++; increment = (east-west)/(fortdouble) numberOfPoints; value = (fortint) (increment * 1000.0); MOVE2BYTES(((g->g2)->grid.latlon.iDirectionIncrement),&value); g->westEastIncrementSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: west-east increment set = %f\n", increment); } } else { if( g->westEastIncrementSet && g->westEastNumberOfPointsSet ) { increment = RGDI(&g); numberOfPoints = IGNI(&g) - 1; east = west + increment * (fortdouble) numberOfPoints; value = (fortint) (east * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfLastPoint),&value); g->eastSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: east set = %f\n", east); } } break; case EAST: if( DEBUG2 ) printf("adjustGridAreaDefinition: new east given\n"); east = RGSELON(&g); if( g->westSet ) { west = RGNWLON(&g); if( g->westEastIncrementSet ) { increment = RGDI(&g); if( ALMOSTZERO(east - west - 360.0) ) numberOfPoints = (fortint) (0.5 + (east-west)/increment); else numberOfPoints = (fortint) (0.5 + (east-west)/increment) + 1; MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongParallel), &numberOfPoints); g->westEastNumberOfPointsSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: numberOfPoints set = %d\n", numberOfPoints); } else if( g->westEastNumberOfPointsSet ) { numberOfPoints = IGNI(&g) - 1; /* // Test for longitude wraparound */ if( ALMOSTZERO(east - west - 360.0) ) numberOfPoints++; increment = (east-west)/(fortdouble) numberOfPoints; value = (fortint) (increment * 1000.0); MOVE2BYTES(((g->g2)->grid.latlon.iDirectionIncrement),&value); g->westEastIncrementSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: west-east increment set = %f\n", increment); } } else { if( g->westEastIncrementSet && g->westEastNumberOfPointsSet ) { increment = RGDI(&g); numberOfPoints = IGNI(&g); west = east - increment * (fortdouble) numberOfPoints; value = (fortint) (west * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfFirstPoint),&value); g->westSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: west set = %f\n", west); } } break; case W_E_INC: if( DEBUG2 ) printf("adjustGridAreaDefinition: new west-east increment given\n"); increment = RGDI(&g); if( g->westSet ) { west = RGNWLON(&g); if( g->eastSet ) { east = RGSELON(&g); if( ALMOSTZERO(east - west - 360.0) ) numberOfPoints = (fortint) (0.5 + (east-west)/increment); else numberOfPoints = (fortint) (0.5 + (east-west)/increment) + 1; MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongParallel), &numberOfPoints); g->westEastNumberOfPointsSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: numberOfPoints set = %d\n", numberOfPoints); } else if( g->westEastNumberOfPointsSet ) { numberOfPoints = IGNI(&g); east = west + increment *(fortdouble) numberOfPoints; value = (fortint) (east * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfLastPoint),&value); g->eastSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: east set = %f\n", east); } } else { if( g->eastSet && g->westEastNumberOfPointsSet ) { east = RGSELON(&g); numberOfPoints = IGNI(&g); west = east - increment * (fortdouble) numberOfPoints; value = (fortint) (west * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfFirstPoint),&value); g->westSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: west set = %f\n", west); } } break; case N_S_INC: if( DEBUG2 ) printf("adjustGridAreaDefinition: new north-south increment given\n"); increment = RGDJ(&g); if( g->northSet ) { north = RGNWLAT(&g); if( g->southSet ) { south = RGSELAT(&g); numberOfPoints = (fortint) (0.5 + (north-south)/increment) + 1; MOVE2BYTES(((g->g2)->grid.latlon.numberOfPointsAlongMeridian), &numberOfPoints); if( DEBUG2 ) printf("adjustGridAreaDefinition: numberOfPoints set = %d\n", numberOfPoints); } else if( g->northSouthNumberOfPointsSet ) { numberOfPoints = IGNJ(&g) - 1; south = north - increment *(fortdouble) numberOfPoints; value = (fortint) (south * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfLastPoint),&value); g->southSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: south set = %f\n", south); } } else { if( g->southSet && g->northSouthNumberOfPointsSet ) { south = RGSELAT(&g); numberOfPoints = IGNJ(&g); north = south + increment *(fortdouble) numberOfPoints; value = (fortint) (north * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfFirstPoint),&value); g->northSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: north set = %f\n", north); } } break; case W_E_PTS: if( DEBUG2 ) printf("adjustGridAreaDefinition: new west-east number of points given\n"); numberOfPoints = IGNI(&g); if( g->westSet ) { west = RGNWLON(&g); if( g->eastSet ) { east = RGSELON(&g); if( ALMOSTZERO(east - west - 360.0) ) numberOfPoints--; increment = (east-west)/(fortdouble)numberOfPoints; value = (fortint) (increment * 1000.0); MOVE2BYTES(((g->g2)->grid.latlon.iDirectionIncrement),&value); g->westEastIncrementSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: west-east increment set = %f\n", increment); } else if( g->westEastIncrementSet ) { increment = RGDI(&g); east = west + increment *(fortdouble) numberOfPoints; if( (east - west) > 360.0 ) east -= increment; value = (fortint) (east * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfLastPoint),&value); g->eastSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: east set = %f\n", east); } } else { if( g->eastSet && g->westEastIncrementSet ) { east = RGSELON(&g); increment = RGDI(&g); west = east - increment *(fortdouble) numberOfPoints; if( (east - west) > 360.0 ) east += increment; value = (fortint) (west * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.longitudeOfFirstPoint),&value); g->westSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: west set = %f\n", west); } } break; case N_S_PTS: if( DEBUG2 ) printf("adjustGridAreaDefinition: new north-south number of points given\n"); numberOfPoints = IGNJ(&g) - 1; if( g->northSet ) { north = RGNWLAT(&g); if( g->southSet ) { south = RGSELAT(&g); increment = (north-south)/(fortdouble)numberOfPoints; value = (fortint) (increment * 1000.0); MOVE2BYTES(((g->g2)->grid.latlon.jDirectionIncrement),&value); g->northSouthIncrementSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: north-south increment set = %f\n", increment); } else if( g->northSouthIncrementSet ) { increment = RGDJ(&g); south = north - increment *(fortdouble) numberOfPoints; value = (fortint) (south * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfLastPoint),&value); g->southSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: south set = %f\n", south); } } else { if( g->southSet && g->northSouthIncrementSet ) { south = RGSELAT(&g); increment = RGDJ(&g); north = south + increment *(fortdouble) numberOfPoints; value = (fortint) (north * 1000.0); if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g2)->grid.latlon.latitudeOfFirstPoint),&value); g->northSet = TRUE; if( DEBUG2 ) printf("adjustGridAreaDefinition: north set = %f\n", north); } } break; default: printf("adjustGridAreaDefinition: not yet implemented\n"); break; } g->numberOfValues = g2_ni(g) * g2_nj(g); return; } fortint SPV(gribProduct** grib, fortdouble* list, fortint* sizeList) { gribProduct * g = *grib; fortint section2Size, requiredMemory, listOffset, numberOfRows; fortint numberOfNewCoordinates = *sizeList; gribSection2 * newG2; fortint numberOfOldCoordinates, number, loop; unsigned char * nextValue, * newLocation, * newCoordinateLocation; fortint exponent, mantissa, numberOfBitsPerInteger; fortdouble nextCoordinate; /* // Ensure there is enough memory to accomodate the list of vertical coordinates */ section2Size = g2_length(g); requiredMemory = section2Size - g2_NV(g)*4 + numberOfNewCoordinates*4; if( requiredMemory > section2Size ) { newG2 = (gribSection2 *) allocateMemory(requiredMemory); memcpy(newG2,(g->g2),section2Size); freeMemory((g->g2)); (g->g2) = newG2; } MOVE3BYTES(((g->g2)->sectionLength),&requiredMemory); switch( (int) g2_datatype(g) ) { case 0: case 4: case 5: case 50: listOffset = 32; break; case 1: case 3: case 6: case 8: case 10: case 13: case 14: case 20: case 24: case 60: case 70: listOffset = 42; break; case 30: case 34: case 80: listOffset = 52; break; case 90: listOffset = 44; break; default: printf("SPV: does not handle representation type = %d\n", g2_datatype(g)); exit(1); } /* // Move the list of the number of points at each latitude if it is a // reduced grid. */ numberOfRows = g2_nj(g); if( !directionIncrementsGiven(g) && (numberOfRows != 0) ) { numberOfOldCoordinates = g2_NV(g); if( numberOfOldCoordinates < numberOfNewCoordinates ) { nextValue = numberOfRows*2 + (unsigned char*)(g->g2) + g2_PV_PL(g) + numberOfOldCoordinates*4 - 1; newLocation = numberOfRows*2 + (unsigned char*)(g->g2) + listOffset + numberOfNewCoordinates*4; for( loop = numberOfRows; loop >= 0; loop-- ) { number = TWOBYTEINT(nextValue); nextValue -= 2; MOVE2BYTES(newLocation,&number); newLocation -= 2; } } else { { fortint temp; temp = g2_PV_PL(g); printf("********************* g2_PV_PL(g) = %d\n",temp); } nextValue = (unsigned char*)(g->g2) + g2_PV_PL(g) + numberOfOldCoordinates*4 - 1; newLocation = (unsigned char*)(g->g2) + listOffset + numberOfNewCoordinates*4; for( loop = 0; loop < numberOfRows; loop++ ) { number = TWOBYTEINT(nextValue); nextValue += 2; MOVE2BYTES(newLocation,&number); newLocation += 2; } } } /* // Add the vertical coordinates */ newCoordinateLocation = (unsigned char*)(g->g2) + listOffset; numberOfBitsPerInteger = sizeof(fortint) * 8; for( loop = 0; loop < numberOfNewCoordinates; loop++) { nextCoordinate = list[loop]; if( REF2GRB(&nextCoordinate,&exponent,&mantissa,&numberOfBitsPerInteger) ) { printf("SPV: call to REF2GRB failed\n"); exit(1); } MOVE1BYTE(newCoordinateLocation,&exponent); MOVE3BYTES((newCoordinateLocation+1),&mantissa); newCoordinateLocation += 4; } MOVE1BYTE(((g->g2)->NV),&numberOfNewCoordinates); listOffset++; MOVE1BYTE(((g->g2)->PV_PL),&listOffset); } emoslib-000392+dfsg.1/gribex/sources.hppa0000755000175000017500000000634612127406245021307 0ustar amckinstryamckinstry# # Sources for libemos/gribex for hppa # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ jabort.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gengrib.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/rorint.F0000755000175000017500000000637512127406245020400 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE RORINT(PDATA,KDATA,KLEN,HDIR) C C----> C**** RORINT - Conversion of arrays between data types. C C Purpose. C -------- C C Converts real arrays to integer and vice versa. C C** Interface. C ---------- C C CALL RORINT(PDATA,KDATA,KLEN,HDIR) C C Input Parameters. C ----------------- C C KDATA - Array of integer increments C Input for 'R' function. C PDATA - Array of floating point values. C Input for 'I' function. C KLEN - Number of values to be converted. C HDIR - 'R', convert integer to real. C 'I', convert real to integer. C C Output Parameters. C ----------------- C C KDATA - Array of integer increments C Output for 'I' function. C PDATA - Array of floating point values. C Output for 'R' function. C C Method. C ------- C C Data types converted. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C -------- C C PDATA and KDATA are really the same array. This routine C is just a device to force vectorisation on the Cray, C without the necessity of using another array. C C C Author. C ------- C C J. Hennessy ECMWF 27.09.91 C C Modifications. C _____________ C C J.D.Chambers ECMWF 21.11.94 C Use JNINT on VAX C C J.D.Chambers ECMWF 23.10.97 C Use input and output arrays with same REAL and INTEGER size. C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #if (defined REAL_BIGGER_THAN_INTEGER) INTEGER*8 KDATA REAL*8 PDATA #else INTEGER KDATA REAL PDATA #endif INTEGER KLEN DIMENSION PDATA(KLEN) DIMENSION KDATA(KLEN) CHARACTER*(1) HDIR C INTEGER JLOOP C C ----------------------------------------------------------------- C* Section 1 . Conversion of data types. C ----------------------------------------------------------------- C 100 CONTINUE C C Real to integer C IF (HDIR.EQ.'I') THEN DO 110 JLOOP = 1, KLEN #ifdef VAX KDATA(JLOOP) = JNINT(PDATA(JLOOP)) #else KDATA(JLOOP) = NINT(PDATA(JLOOP)) #endif 110 CONTINUE C C Integer to real C ELSE DO 120 JLOOP = KLEN, 1, -1 #if (defined REAL_BIGGER_THAN_INTEGER) PDATA(JLOOP) = DBLE(KDATA(JLOOP)) #else PDATA(JLOOP) = REAL(KDATA(JLOOP)) #endif 120 CONTINUE ENDIF C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/bt_ibm.F0000755000175000017500000003210312127406245020303 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C----> C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES C GBYTES C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C IBM version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) C CHARACTER*1 HFUNC C C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C SYSABN C C Reference. C ---------- C C None. C C Comments. C --------- C C IBM version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL SYSABN (1) C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C IBM version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 32 KNEG = -2147483647 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END emoslib-000392+dfsg.1/gribex/eshsec2.F0000755000175000017500000001013712127406245020406 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION ESHSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C----> C**** ESHSEC2P C C PURPOSE C _______ C C Encodes GRIB section 2 values for spherical harmonic fields. C C INTERFACE C _________ C C IRET = ESHSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product built so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product built so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C C C Output parameters C ________________ C C KGRIB - Updated GRIB product to end of section 2. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Packs values given in KSEC2 into KGRIB and updates bit C pointer INSPT. C C Externals C _________ C C CSGNBT - Set the sign bit. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) C C Local variables C INTEGER IRET, ILOOP C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C ESHSEC2 = 0 C C _______________________________________________________ C C Section 2. Pack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : J pentagonal resolution parameter. C Octets 9 - 10 : K pentagonal resolution parameter. C Octets 11 - 12 : M pentagonal resolution parameter. C Three 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),3,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN ESHSEC2 = 1 WRITE(GRPRSM,*) 'ESHSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'ESHSEC2: J,K,M pentagonal resolution parameters.' WRITE(GRPRSM,*) 'ESHSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octet 13 : Representation type. C Octet 14 : Representation mode. C Two 8 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(5),2,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN ESHSEC2 = 1 WRITE(GRPRSM,*) 'ESHSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'ESHSEC2: representation type or mode.' WRITE(GRPRSM,*) 'ESHSEC2: Return code = ', IRET GO TO 900 ENDIF C C C Octets 15 - 32 : Reserved. C Nine 16 bit fields. C C Fill reserved octets with 0. C DO ILOOP = 1,9 CALL INXBIT(KGRIB,KLENG,INSPT, 0, 1,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN ESHSEC2 = 1 WRITE(GRPRSM,*) 'ESHSEC2: Error inserting dummy zero.' WRITE(GRPRSM,*) 'ESHSEC2: Return code = ', IRET GO TO 900 ENDIF ENDDO C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/gribex.F0000755000175000017500000045116112127406245020340 0ustar amckinstryamckinstry SUBROUTINE GRIBEX (KSEC0,KSEC1,KSEC2,PSEC2,KSEC3,PSEC3,KSEC4, C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C PSEC4,KLENP,KGRIB,KLENG,KWORD,HOPER,KRET) C----> #include "gribex.h" C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments C INTEGER KSEC0,KSEC1,KSEC2,KSEC3,KSEC4,KGRIB DIMENSION KGRIB(*), KSEC0(*), KSEC1(*) DIMENSION KSEC2(*), KSEC3(*), KSEC4(*) INTEGER KLENP,KLENG,KWORD, KRET REAL PSEC2, PSEC3, PSEC4 DIMENSION PSEC2(*), PSEC3(*), PSEC4(*) CHARACTER*(*) HOPER C C Local variables C INTEGER N, NP, NINC REAL JPEPSLN PARAMETER (JPEPSLN=1E-12) C `-----> tolerance used to check equality C of floating point numbers - needed C on some platforms (eg vpp700, linux) CHARACTER*1 YFUNC, YTEMP INTEGER IJDC, JLOOP, JLOOPO, ISTATUS, ISECLEN INTEGER IDUMP #ifdef REAL_BIGGER_THAN_INTEGER INTEGER IINDEX, ILOOPS, NREM, JPNSEC4, ILNGTH PARAMETER (JPNSEC4=12800) INTEGER*4 NSEC4 DIMENSION NSEC4(JPNSEC4) REAL*4 XSEC4 DIMENSION XSEC4(JPNSEC4) EQUIVALENCE (NSEC4(1), XSEC4(1)) INTEGER*8 IJDCXX REAL*8 RJDCXX #else INTEGER IJDCXX REAL RJDCXX #endif EQUIVALENCE (IJDCXX, RJDCXX) INTEGER I,IBLEN,IBITS,IBMAP,IBMAP2,IBYTEX,ICOUNT,NBYTE INTEGER IEXP, IFLAG, IFLAGX, IFPT, IL INTEGER ILEN, ILENF, ILEN1, ILEN2, ILEN3, ILEN4 INTEGER IMANT, IMISNG, IMISS, IMODAY, INC INTEGER INIL, INITAL, INOLAT, INOLNG, INSPT, INUB INTEGER INUM, IOFF, IPL, IPLEN, IPSEUD INTEGER IPVPL, IRESOL, ISBMAP, NONMISS INTEGER ISCALE, ISINT, ISKALE INTEGER ISKIP, ITEMP, ITRND, IVALS, IP7777 INTEGER IEAST, IWEST, ILOEXT, INROWS C INTEGER JPEDNO, JPLEN1 INTEGER KRETA, KRETB INTEGER ITRUNC, ISUBSET, IS3BYTE INTEGER NBPV REAL RANGE C C Wave coordinate information held in KSEC4 are 32-bit REALs, C so REAL*4 ZREAL4 must be used for encoding/decoding. C REAL*4 ZREAL4 REAL ZMAXV, ZMAX, ZMIN, ZMISNG, ZMSVAL, ZREAL, ZREF, ZVAL #if defined(CRAY) || defined(CYBER) ||((defined IBM)&&(!defined rs6000)) REAL ZS, ZAUXIL #else DOUBLE PRECISION ZS, ZAUXIL #endif REAL ZSCALE C LOGICAL LENCODE, LDECODE, LPDEBUG LOGICAL LGRDPT, LSPHERC, LCOMPLX LOGICAL LECMWF, LECLOC, LKWBCE, LSST11 LOGICAL LLARGE LOGICAL LQUASI, LSECT2, LSECT3, LPERIO LOGICAL L_IORJ LOGICAL LALLPOS LOGICAL LVEGGY LOGICAL LSATIMG INTEGER NITABLE, NICENTRE, NIPARAM C C Externals C INTEGER EGGSEC2, DGGSEC2, ELLSEC2, DLLSEC2, ESHSEC2, DSHSEC2 INTEGER EOCSEC2, DOCSEC2, ESVSEC2, DSVSEC2, EMESEC2, DMESEC2 INTEGER CSECT4, DSECT4A, GBITMAP, D2ORDR, C2ORDR, REF2GRB INTEGER ONEBITS, D13FLAG C#ifdef GRIB2 C INTEGER G2ENCOD C EXTERNAL G2ENCOD C#endif EXTERNAL CSECT4, DSECT4A, GBITMAP, D2ORDR, C2ORDR, REF2GRB EXTERNAL EGGSEC2, DGGSEC2, ELLSEC2, DLLSEC2, ESHSEC2, DSHSEC2 EXTERNAL EOCSEC2, DOCSEC2, ESVSEC2, DSVSEC2, EMESEC2, DMESEC2 EXTERNAL ONEBITS, D13FLAG C C GRIB code version number used in coding data. C PARAMETER (JPEDNO=1) C C GRIBEX version number C INTEGER IGRIBEX CHARACTER*6 YGRIBEX C C Length (in octets) used for Section 1, when coding data. C PARAMETER (JPLEN1=28) C INTEGER IPARM, ILALO, IGRIB, I7777 DIMENSION IPARM(4), ILALO(2), IGRIB(4), I7777(4) C INTEGER JP24SET, JP23SET, JP16SET, JP8SET PARAMETER ( JP24SET = 2**24 - 1 ) C ^---> 16777215 = FFFFFF(hex) PARAMETER ( JP23SET = 2**23 - 1 ) C ^---> 8388607 = 7FFFFF(hex) PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) PARAMETER ( JP8SET = 2**8 - 1 ) C ^---> 255 = FF(hex) C C Predetermined bitmask variables C #ifndef USE_NO_POINTERS INTEGER IBTMAP, IBTVALS #ifdef POINTER_64 INTEGER*8 IBTPTR #endif POINTER (IBTPTR,IBTMAP) DIMENSION IBTMAP(1) #endif C #include "grbcom.h" C C Missing data indicator for integer and real values in GRIB code C header fields. C EQUIVALENCE (IMISNG,ZMISNG) C EQUIVALENCE (ZREAL4,ISINT) C SAVE INITAL, IBITS, IMISNG, NBYTE C C Characters GRIB and 7777 in Ascii for use in Sections 0 and 5 C of GRIB code. C DATA IGRIB /71,82,73,66/ DATA I7777 /55,55,55,55/ DATA YGRIBEX/'13.040'/, IGRIBEX/13040/ C C Initialise local variables C DATA YFUNC/' '/,YTEMP/' '/ DATA IJDC/0/,JLOOP/0/,JLOOPO/0/ #ifdef REAL_BIGGER_THAN_INTEGER DATA IINDEX/0/,ILOOPS/0/,NREM/0/,ILNGTH/0/ #endif DATA IJDCXX/0/,I/0/,IBLEN/0/,IBITS/0/,IBMAP/0/,IBMAP2/0/ DATA IBYTEX/0/,ICOUNT/0/,NBYTE/0/ DATA IEXP/0/,IFLAG/0/,IFLAGX/0/,IFPT/0/,IL/0/ DATA ILEN/0/,ILENF/0/,ILEN1/0/,ILEN2/0/,ILEN3/0/,ILEN4/0/ DATA IMANT/0/,IMISNG/0/,IMISS/0/,IMODAY/0/,INC/0/ DATA INIL/0/,INITAL/0/,INOLAT/0/,INOLNG/0/,INSPT/0/,INUB/0/ DATA INUM/0/,IOFF/0/,IPL/0/,IPLEN/0/,IPSEUD/0/ DATA IPVPL/0/,IRESOL/0/,ISBMAP/0/,NONMISS/0/ DATA ISCALE/0/,ISINT/0/,ISKALE/0/ DATA ISKIP/0/,ITEMP/0/,ITRND/0/,IVALS/0/,IP7777/0/ DATA IEAST/0/,IWEST/0/,ILOEXT/0/,INROWS/0/ C DATA KRETA/0/,KRETB/0/,ITRUNC/0/,ISUBSET/0/ C DATA ZMAXV/0.0/,ZMAX/0.0/,ZMIN/0.0/,ZMSVAL/0.0/ DATA ZREF/0.0/,ZVAL/0.0/,ZS/0.0/,ZAUXIL/0.0/,ZSCALE/0.0/ C DATA LENCODE/.FALSE./,LDECODE/.FALSE./,LPDEBUG/.FALSE./ DATA LGRDPT/.FALSE./,LSPHERC/.FALSE./,LCOMPLX/.FALSE./ DATA LECMWF/.FALSE./,LECLOC/.FALSE./,LKWBCE/.FALSE./ DATA LSST11/.FALSE./,LLARGE/.FALSE./,LQUASI/.FALSE./ DATA LSECT2/.FALSE./,LSECT3/.FALSE./,LPERIO/.FALSE./ DATA L_IORJ/.FALSE./,LALLPOS/.FALSE./ C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C C Handle 'V' option - display version number C IF( HOPER(1:1).EQ.'V' ) THEN WRITE(GRPRSM,*) 'GRIBEX: Version is ',YGRIBEX KRET = IGRIBEX RETURN ENDIF C C Clear definition 13 flag C N13FLAG = -1 C C Clear flag indicating GRIB product longer than 2**23-1 bytes long. LLARGE = .FALSE. C C Initialise flag indicating 'quasi-regular grid' LQUASI = .FALSE. C C* Set number of bits per computer word,missing data indicator and C the number of bytes per computer word first time through. C Try to set default values for parameters in common area, C if not already set by user via calls to the GRS--- routines. C IF( INITAL.EQ.0) THEN CALL SETPAR (IBITS,IMISNG,NDBG) NBYTE = IBITS/8 INITAL = 1 CALL GRSDEF ENDIF C IMISS = 0 C C C Set encoding/decoding flags initially dependent on 'L' option, C since this option skips round most processing. LENCODE = ( HOPER(1:1) .NE. 'L' ) LDECODE = ( HOPER(1:1) .EQ. 'L' ) C LPDEBUG = ( NDBG.GE.1 ) C IF( LPDEBUG ) THEN WRITE(GRPRSM,*) 'GRIBEX: Version is ',YGRIBEX WRITE(GRPRSM,*) 'GRIBEX: Section 1. Input values used -' WRITE(GRPRSM,*) X 'GRIBEX: Length of GRIB array (KLENG) = ',KLENG WRITE(GRPRSM,*) X 'GRIBEX: Length of data array (KLENP) = ',KLENP WRITE(GRPRSM,*) 'GRIBEX: Operation code = ', HOPER Ce Ce Extra printout if encoding Ce IF( HOPER.EQ.'C'.OR.HOPER.EQ.'M'.OR.HOPER.EQ.'K') THEN KSEC0(2) = JPEDNO CALL GRPRS1(KSEC0,KSEC1) Ce LSECT2 = KSEC1(5).GE.128 LSECT3 = MOD(KSEC1(5),128).GE.64 Ce Ce Print section 2 if present. Ce IF( LSECT2 ) CALL GRPRS2(KSEC0,KSEC2,PSEC2) Ce Ce Print section 3 if present. Ce IF( LSECT3 ) CALL GRPRS3(KSEC0,KSEC3,PSEC3) Ce Ce Print section 4. Ce CALL GRPRS4(KSEC0,KSEC4,PSEC4) Ce Ce Special print for 2D spectra wave field real values in Ce section 4 Ce IF( (KSEC1(1).EQ.140) .AND. X (KSEC1(2).EQ. 98) .AND. X (KSEC1(24).EQ. 1) .AND. X ( (KSEC1(40).EQ.1045).OR.(KSEC1(40).EQ.1081) ) .AND. X ( (KSEC1(6) .EQ. 250).OR.(KSEC1(6) .EQ. 251) ) ) X CALL GRPRS4W(KSEC4) ENDIF ENDIF C C Reset return code to 0, retaining input value to decide C on abort / no abort, if error encountered later. C NOABORT = KRET KRET = 0 C C IPSEUD is used to indicate pseudo-GRIB data encountered, C when decoding. C ISBMAP is the bit-map section flag and indicates what decoding C has been done on bit-maps and data. C See informative return codes for KRET when decoding. C IPSEUD = 0 ISBMAP = 0 C C Reset bit-pointer to 0. C INSPT = 0 C C -----------------------------------------------------------------| C C C C C C C C C C C* Section 2 . Check input parameters. C -----------------------------------------------------------------| C 200 CONTINUE C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Section 2. Check input parameters.' C C* Check that valid function has been requested. C YFUNC = HOPER #ifdef USE_NO_POINTERS IF( YFUNC.EQ.'R' ) THEN KRET = 201 WRITE(GRPRSM,*) 'GRIBEX: Invalid function requested - ',HOPER WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF #endif L_IORJ = (HOPER.EQ.'I').OR.(HOPER.EQ.'J') IF( YFUNC.NE.'C'.AND.YFUNC.NE.'D'.AND.(.NOT.L_IORJ).AND. X YFUNC.NE.'L'.AND.YFUNC.NE.'R'.AND.YFUNC.NE.'S'.AND. X YFUNC.NE.'X'.AND.YFUNC.NE.'Z'.AND.YFUNC.NE.'M'.AND. X YFUNC.NE.'G'.AND.YFUNC.NE.'A'.AND.YFUNC.NE.'B'.AND. X YFUNC.NE.'K') THEN KRET = 201 WRITE(GRPRSM,*) 'GRIBEX: Invalid function requested - ',HOPER WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C Function 'A' encodes 8-bit data. IF( HOPER.EQ.'A') YFUNC = 'C' C C Function 'B' decodes 8-bit data. IF( HOPER.EQ.'B') YFUNC = 'D' C C* Function 'L' returns the length of the GRIB message and C GRIB Edition number only, so no array initialisation is C necessary. C IF( YFUNC.EQ.'L') GO TO 300 C C* Function 'M' is for coding data, and if a bit map is encountered C GRIB messages are made a fixed length. HOPER is passed to the C bit-map handling routine. C IF( HOPER.EQ.'M') YFUNC = 'C' C C* Function 'K' is the same as 'C', but for grid-point fields, C an "aggressive packing" is performed: all user-allowed strategies C for second-order packing are attempted, in order to make the C shortest GRIB message. C IF( HOPER.EQ.'K') YFUNC = 'C' C C* Function 'I' is for decoding of sections 0, 1 and 2 C of GRIB code only. Value of HOPER is checked at the start of C decoding section 3. C* Function 'J' is for decoding of sections 0, 1, 2, 3 and 4. C IF( L_IORJ) YFUNC = 'D' C C* Function 'R' is the same as 'D', but if a quasi-regular C Gaussian is encountered, it is converted to a regular one. C Value of HOPER is checked near end of section 8. C IF( HOPER.EQ.'R') YFUNC = 'D' C C* Function 'S' is the same as 'D', but if analysis data in C GRIB Experimental Edition is encountered, the time range C indicator flag is set to indicate initialised analysis. C Value of HOPER is checked when time range indicator has C been extracted. C IF( HOPER.EQ.'S') YFUNC = 'D' C C* Function 'X' is the same as 'D', but only the data C at the requested points is unpacked. C Value of HOPER is checked prior to unpacking data values. C IF( HOPER.EQ.'X') YFUNC = 'D' C C* Function 'G' is the same as 'D', but only the reference C value and scale factor are unpacked. A pointer to packed data C is returned. C Value of HOPER is checked prior to unpacking data values. C IF( HOPER.EQ.'G') YFUNC = 'D' C C* Function 'Z' is for decoding only the information which could C be handled by the the old decoding routine DECOGB (eg no bit C maps) and is used by the new DECOGB interface. C IF( HOPER.EQ.'Z') YFUNC = 'D' C LENCODE = ( YFUNC.EQ.'C' ) LDECODE = ( YFUNC.EQ.'D' ) Cd Cd Set up the definition 13 flag variable Cd IF( LDECODE ) N13FLAG = D13FLAG(KGRIB) C C* Preset some arrays to 0. C IF( LENCODE ) THEN Ce Ce Check number of bits per data field fits size of computer word. Ce IF( IBITS.LT.KSEC4(2)) THEN KRET = 202 WRITE(GRPRSM,*) X 'GRIBEX: Number of bits per data value = ',KSEC4(2) WRITE(GRPRSM,*) X 'GRIBEX: This exceeds word length which = ',IBITS WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Ce Ce Check number of bits is not zero or negative Ce IF( KSEC4(2) .LT. 0 ) THEN KRET = 204 WRITE(GRPRSM,*) X 'GRIBEX: Number of bits per data value = ',KSEC4(2) WRITE(GRPRSM,*) 'GRIBEX: This must be positive.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GOTO 900 ELSEIF( KSEC4(2) .EQ. 0 ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Number of bits per data value = ',KSEC4(2) KSEC4(2) = 8 WRITE(GRPRSM,*) X 'GRIBEX: This must be positive - enforced to ', X KSEC4(2) ENDIF Ce Ce Check if number of bits per packed value = number of bits per Ce computer word. Ce LALLPOS = KSEC4(2) .EQ. IBITS Ce Ce If entire field is missing, check that all data values are zero. Ce IF( KSEC4(1).LT.0) THEN IMISS = 1 ILENF = - KSEC4(1) DO 210 JLOOP = 1 , ILENF IF( PSEC4(JLOOP).NE.0.0) THEN KRET = 203 WRITE(GRPRSM,*) X 'GRIBEX: Non-zero value in missing data field.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF 210 CONTINUE ELSE IMISS = 0 ILENF = KSEC4(1) ENDIF Ce Ce If input data is integer, change it to real. Ce IF( ( KSEC4(5).EQ.32 ).AND.( HOPER.NE.'A' ) ) X CALL RORINT(PSEC4,PSEC4,ILENF,'R') Ce DO 215 JLOOP = 21,24 KSEC4(JLOOP) = 0 215 CONTINUE Ce ELSE Cd Cd Preset arrays to receive section header information to 0. Cd Routine GSBITE resets data array to 0. Cd DO 220 JLOOP = 1,25 KSEC1(JLOOP) = 0 220 CONTINUE Cd DO 230 JLOOP = 1,22 KSEC2(JLOOP) = 0 230 CONTINUE Cd DO 240 JLOOP = 1,33 KSEC4(JLOOP) = 0 240 CONTINUE Cd ENDIF C C -----------------------------------------------------------------| C C C C C C C C C C C* Section 3 . Indicator Section (Section 0) of GRIB code. C -----------------------------------------------------------------| C 300 CONTINUE C C#ifdef GRIB2 C IF( LENCODE.AND.(KSEC0(2).EQ.2) ) THEN C IF( LPDEBUG ) WRITE(GRPRSM,*) 'GRIBEX: Section 3. Handle GRIB2' C KRET = G2ENCOD(KSEC0,KSEC1,KSEC2,KSEC3,KSEC4, C X PSEC2,PSEC3,PSEC4,PSEC3(2)) C RETURN C ENDIF C#endif C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Section 3. Handle GRIB Indicator Section (Section 0)' C C* Octets 1 - 4 : The letters G R I B. C Four 8 bit fields. C IF( LENCODE ) THEN Ce Ce Insert the letters G R I B. Ce CALL INXBIT(KGRIB,KLENG,INSPT,IGRIB(1),4,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 301 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting letters GRIB' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ELSE Cd Cd When decoding data, check letters -> GRIB, BUDG or TIDE. Cd CALL INXBIT(KGRIB,KLENG,INSPT,IPARM(1),4,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 301 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting letters GRIB' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd Cd Check that 'GRIB' is found where expected. Cd IF( IPARM(1).EQ.71.AND.IPARM(2).EQ.82.AND. X IPARM(3).EQ.73.AND.IPARM(4).EQ.66) GO TO 310 Cd Cd ECMWF pseudo-grib data uses 'BUDG' and 'TIDE'. Cd IF( IPARM(1).EQ.66.AND.IPARM(2).EQ.85.AND. X IPARM(3).EQ.68.AND.IPARM(4).EQ.71) GO TO 310 Cd IF( IPARM(1).EQ.84.AND.IPARM(2).EQ.73.AND. X IPARM(3).EQ.68.AND.IPARM(4).EQ.69) GO TO 310 Cd Cd Data is not GRIB or pseudo-grib. Cd KRET = 305 WRITE(GRPRSM,*) 'GRIBEX: Input data is not GRIB or pseudo-grib.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 Cd ENDIF C 310 CONTINUE C C* Octets 5 - 7 : Length of message. C One 24 bit field. C IF( LENCODE ) THEN Ce Ce When coding data, skip field. Length is inserted Ce later, when known. Ce Update bit-pointer. Ce INSPT = INSPT + 24 ELSE Cd Cd Extract field. Cd CALL INXBIT(KGRIB,KLENG,INSPT,ITEMP,1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 302 WRITE(GRPRSM,*) X 'GRIBEX: Error extracting length of GRIB message.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd Cd When decoding, use most-significant bit as a sign bit. Cd IF( LDECODE ) CALL DSGNBT( KSEC0(1), ITEMP, 24, KRET) Cd Cd If count is negative, have to rescale by factor of -120. Cd This is a fixup to get round the restriction on product lengths Cd due to the count being only 24 bits. It is only possible because Cd the (default) rounding for GRIB products is 120 bytes. Cd IF( KSEC0(1).LT.0 ) THEN IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Special case, negative length multiplied by -120' LLARGE = .TRUE. KSEC0(1) = KSEC0(1) * (-120) ENDIF ENDIF C C* Octet 8 : GRIB Edition Number. C One 8 bit field. C IF( LENCODE ) THEN Ce Ce Set value, if coding data. Ce KSEC0(2) = JPEDNO CALL INXBIT(KGRIB,KLENG,INSPT,KSEC0(2),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 303 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting GRIB Edition Number.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Ce ELSE Cd Cd Extract field. Cd CALL INXBIT(KGRIB,KLENG,INSPT,KSEC0(2),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 303 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting GRIB Edition Number.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd Cd When decoding or calculating length, previous editions Cd of the GRIB code must be taken into account. Cd Cd In the table below, covering sections 0 and 1 of the GRIB Cd code, octet numbering is from the beginning of the GRIB Cd message; Cd * indicates that the value is not available in the code edition; Cd R indicates reserved, should be set to 0; Cd Experimental edition is considered as edition -1. Cd Cd GRIB code edition -1 has fixed length of 20 octets for Cd section 1, the length not included in the message. Cd GRIB code edition 0 has fixed length of 24 octets for Cd section 1, the length being included in the message. Cd GRIB code edition 1 can have different lengths for section Cd 1, the minimum being 28 octets, length being included in Cd the message. Cd Cd Octet numbers for code Cd editions Cd Cd Contents. -1 0 1 Cd --------- ---------------------- Cd Letters GRIB 1-4 1-4 1-4 Cd Total length of GRIB message. * * 5-7 Cd GRIB code edition number * * 8 Cd Length of Section 1. * 5-7 9-11 Cd Reserved octet (R). * 8(R) * Cd Version no. of Code Table 2. * * 12 Cd Identification of centre. 5 9 13 Cd Generating process. 6 10 14 Cd Grid definition . 7 11 15 Cd Flag (Code Table 1). 8 12 16 Cd Indicator of parameter. 9 13 17 Cd Indicator of type of level. 10 14 18 Cd Height, pressure etc of levels. 11-12 15-16 19-20 Cd Year of century. 13 17 21 Cd Month. 14 18 22 Cd Day. 15 19 23 Cd Hour. 16 20 24 Cd Minute. 17 21 25 Cd Indicator of unit of time. 18 22 26 Cd P1 - Period of time. 19 23 27 Cd P2 - Period of time 20(R) 24 28 Cd or reserved octet (R). Cd Time range indicator. 21(R) 25 29 Cd or reserved octet (R). Cd Number included in average. 22-23(R) 26-27 30-31 Cd or reserved octet (R). Cd Number missing from average. 24(R) 28(R) 32 Cd or reserved octet (R). Cd Century of data. * * 33 Cd Designates sub-centre if not 0. * * 34 Cd Decimal scale factor. * * 35-36 Cd Reserved. Set to 0. * * 37-48 Cd (Need not be present) Cd For originating centre use only. * * 49-nn Cd (Need not be present) Cd Cd Identify which GRIB code edition is being decoded. Cd Cd In GRIB edition 1, the edition number is in octet 8. Cd In GRIB edition 0, octet 8 is reserved and set to 0. Cd In GRIB edition -1, octet 8 is a flag field and can have a Cd a valid value of 0, 1, 2 or 3. Cd Cd However, GRIB edition number 0 has a fixed Cd length of 24, included in the message, for section 1, so Cd if the value extracted from octets 5-7 is 24 and that from Cd octet 8 is 0, it is safe to assume edition 0 of the code. Cd IF( KSEC0(1).EQ.24.AND.KSEC0(2).EQ.0) THEN Cd Cd Set bit-pointer back by 32 bits (4 octets). INSPT = INSPT - 32 Cd Cd Set length of GRIB message to missing data value. KSEC0(1) = IMISNG Cd GO TO 400 ENDIF Cd Cd In GRIB Edition -1, octets 22 and 23 are reserved and set Cd to 0. These octets in Edition 1 are the month and the day, Cd and must be non-zero. Cd ITEMP = 168 CALL INXBIT(KGRIB,KLENG,ITEMP,IMODAY,1,IBITS, 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 304 WRITE(GRPRSM,*) X 'GRIBEX: Error extracting octets 22 and 23 for' WRITE(GRPRSM,*) 'GRIBEX: Experimental Edition check.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd IF( IMODAY.EQ.0) THEN Cd Cd Set bit-pointer back by 32 bits (4 octets). INSPT = INSPT - 32 Cd KSEC0(2) = -1 Cd Cd Set length of GRIB message to missing data value. Cd KSEC0(1) = IMISNG Cd Cd Set length of section 1 of GRIB code to 20 octets. Cd ILEN1 = 20 Cd Cd Skip next 4 octets, as they do not exist in Cd the Experimental Edition of the code. ie Cd length of Section and Table 2 Version Number. Cd GO TO 401 ENDIF Cd ENDIF C C* If Grib Edition 1 and only length is required, go to section 9. C IF( YFUNC.EQ.'L') GO TO 900 C C -----------------------------------------------------------------| C C C C C C C C C C C* Section 4 . Product Definition Section (Section 1) of GRIB code. C ----------------------------------------------------------------- C 400 CONTINUE C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Section 4. Handle Product Definition (Section 1)' C C* Check consistency of values given, with GRIB code, if required. C IF( NVCK.EQ.1.AND. LENCODE ) THEN CALL GRCHK1(KSEC1,KRET) IF( KRET.NE.0) THEN KRET = 499 WRITE(GRPRSM,*) X 'GRIBEX: Error found when checking values for' WRITE(GRPRSM,*) 'GRIBEX: Section 1 against valid GRIB values.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ENDIF C C* Octets 1 - 3 : Length of Section. C One 24 bit field. C IF( LENCODE ) THEN Ce Ce Set value, if coding data. ILEN1 = JPLEN1 Ce Ce Extra octets if ECMWF local definition usage in section 1. Ce LECMWF = (KSEC1(2) .EQ.98) LECLOC = (KSEC1(2) .EQ.98) .OR. X (KSEC1(22).EQ.98) LSST11 = (KSEC1( 6).EQ.139) .AND. X (KSEC1( 7).EQ. 1) .AND. X (KSEC1(22).EQ. 98) LKWBCE = (KSEC1( 2).EQ. 7) .AND. X (KSEC1(22).NE. 98) Ce IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Local extension in use for...' IF( LPDEBUG.AND.LECLOC ) WRITE(GRPRSM,*) X 'GRIBEX: ECMWF data' IF( LPDEBUG.AND.LKWBCE ) WRITE(GRPRSM,*) X 'GRIBEX: KWBC ensemble data' IF( LPDEBUG.AND.LSST11 ) WRITE(GRPRSM,*) 'GRIBEX: SST data' Ce ENDIF C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,ILEN1,1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 401 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting length of Section 1.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octet 4 : Version Number of Table 2. C One 8 bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC1(1),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 402 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting Param Table Version No.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C 401 CONTINUE C C* Check Edition number. C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: GRIB Edition Number = ',KSEC0(2) IF( KSEC0(2).GT.1) THEN KRET = 413 WRITE(GRPRSM,*) 'GRIBEX: Grib Edition not catered for.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Print length of Section 1, if required. C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Length of Section 1 of GRIB = ',ILEN1,' octets.' C C* Octet 5 : Identification of centre. C Octet 6 : Generating process identification. C Octet 7 : Grid definition. C Octet 8 : Flag. C Octet 9 : Indicator of parameter. C Octet 10 : Indicator of type of level. C (or satellite identifier) C Satellite useage as defined by INPE/CPTEC C and used by ECMWF, pending final definition C by WMO. C Six 8 bit fields. C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC1(2),6,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 403 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting six fields from' WRITE(GRPRSM,*) X 'GRIBEX: Identification of Centre to Indicator of' WRITE(GRPRSM,*) 'GRIBEX: type of level.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C If decoding, fix-up for Experimental Edition and Edition 0 C of GRIB code. C IF( .NOT. LENCODE ) THEN Cd Cd Set logical flag for ECMWF data Cd LECMWF = (KSEC1(2).EQ.98) Cd Cd In GRIB Experimental Edition and Edition 0 Cd the International Table Version Number in use was 0. Cd ECMWF has always used its own local table. It is the same Cd for Experimental Edition, Edition 0 and Edition 1 and is Cd local table number 128. Cd IF( KSEC0(2).LT.1) THEN IF( LECMWF ) THEN Cd Cd ECMWF data. Local table number. KSEC1(1) = 128 ELSE Cd Cd International table number. Cd KSEC1(1) = 0 is already preset. ENDIF ENDIF Cd Cd Fix-up for flag field, which was different in Experimental Cd Edition. Cd Cd Experimental Editions 0 and 1 Cd Edition Cd Cd Sections Binary Decimal Binary Decimal Cd included value value value value Cd Cd none 00000000 0 00000000 0 Cd 2 00000001 1 10000000 128 Cd 3 00000010 2 01000000 64 Cd 2 and 3 00000011 3 11000000 192 Cd IF( KSEC0(2).EQ.-1) THEN IF( KSEC1(5).EQ.1) KSEC1(5) = 128 IF( KSEC1(5).EQ.2) KSEC1(5) = 64 IF( KSEC1(5).EQ.3) KSEC1(5) = 192 ENDIF ENDIF LSECT2 = KSEC1(5).GE.128 LSECT3 = MOD(KSEC1(5),128).GE.64 C C* Once the flag field has been extracted, no further fields C from section 1 of the GRIB code are required, when length C of GRIB or pseudo-Grib message only is required. C IF( YFUNC.EQ.'L') THEN C C Length of section 0 + section 1 is 28 octets (224 bits) C for GRIB Edition 0 and 24 octets (192 bits) for C Experimental edition. C Set bit-pointer and jump to extraction of length of section 3. C INSPT = 224 IF( KSEC0(2).EQ.-1) INSPT = 192 GO TO 500 ENDIF C C* Octets 11 - 12 : Height, pressure etc of levels or C satellite spectral band. C Satellite useage as defined by INPE/CPTEC C and used by ECMWF, pending final definition C by WMO. C One 16 bit field or two 8 bit fields. C C Satellite image if WMO table and parameter 127 C LSATIMG = ((KSEC1(1).LT.128).AND.(KSEC1(6).EQ.127)) C C For certain level types, no description is necessary, so when C decoding the fields are set to 0 regardless of bit string content. C IF( (.NOT.LENCODE).AND. X (.NOT.LSATIMG).AND. X ( ((KSEC1(7).LT.100).AND.(KSEC1(7).NE.20)).OR. X (KSEC1(7).EQ.102) .OR. X (KSEC1(7).EQ.200) .OR. X (KSEC1(7).EQ.201) ) ) THEN Cd Cd Update bit-pointer and skip extraction. KSEC1(8) = 0 KSEC1(9) = 0 INSPT = INSPT + 16 GO TO 402 ENDIF C C Certain level types require that the description occupies C both octets. C Satellite Spectral band occupies both octets. C Satellite useage as defined by INPE/CPTEC C and used by ECMWF, pending final definition by WMO. C Image data uses 2 octets. C IF( (KSEC1(7).NE. 20).AND. X (KSEC1(7).NE.100).AND. X (KSEC1(7).NE.103).AND. X (KSEC1(7).NE.105).AND. X (KSEC1(7).NE.107).AND. X (KSEC1(7).NE.109).AND. X (KSEC1(7).NE.111).AND. X (KSEC1(7).NE.113).AND. X (KSEC1(7).NE.115).AND. X (KSEC1(7).NE.117).AND. X (KSEC1(7).NE.125).AND. X (KSEC1(7).NE.127).AND. X (KSEC1(7).NE.160).AND. X (KSEC1(7).NE.210).AND. X (.NOT.LSATIMG) ) THEN C C Two 8 bit fields. INUM = 2 IBLEN = 8 ELSE C C One 16 bit field. INUM = 1 IBLEN = 16 KSEC1(9) = 0 ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC1(8),INUM,IBITS, X IBLEN,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 404 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting Height,' WRITE(GRPRSM,*) 'GRIBEX: pressure, etc of levels.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Fix-up for ECMWF upper-air data incorrectly coded in Experimental C Edition. C IF( KSEC0(2).EQ.-1.AND. LECMWF ) THEN ITEMP = INSPT - 16 INUM = 2 IBLEN = 8 CALL INXBIT(KGRIB,KLENG,ITEMP,KSEC1(8),INUM,IBITS, X IBLEN,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 404 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting Height,' WRITE(GRPRSM,*) 'GRIBEX: pressure, etc of levels.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF KSEC1(8) = KSEC1(8) * 32 + KSEC1(9) KSEC1(9) = 0 ENDIF C 402 CONTINUE C C* Octet 13 : Year of century. C Octet 14 : Month. C Octet 15 : Day. C Octet 16 : Hour. C Octet 17 : Minute. C Octet 18 : Indicator of unit of time range.. C Six 8 bit fields. C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC1(10),6,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 405 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting six fields from' WRITE(GRPRSM,*) X 'GRIBEX: Year of century to Indicator of unit of' WRITE(GRPRSM,*) 'GRIBEX: time range.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Fix-up for unit of time, which was different in Experimental C Edition. C C C Experimental Editions 0 and 1 C Edition C C Meaning Decimal Decimal C value value C C Minute 0 or 30 0 C Hour 1 or 40 1 C Day 2 or 50 2 C Month 3 or 60 3 C Year 4 or 70 4 C Decade 5 or 80 5 C Normal 6 6 C Century 7 or 90 7 C Second - 254 C IF( KSEC0(2).EQ.-1) THEN IF( KSEC1(15).EQ.90) KSEC1(15) = 7 IF( KSEC1(15).GT.10) KSEC1(15) = (KSEC1(15) / 10) - 3 ENDIF C C* Octets 19 - 20 : Period of time. C One 16 bit field or two 8 bit fields. C IF( LENCODE .AND.KSEC1(18).EQ.10) THEN Ce Ce One 16 bit field. INUM = 1 IBLEN = 16 ELSE Ce Ce Two 8 bit fields. INUM = 2 IBLEN = 8 ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC1(16),INUM,IBITS, X IBLEN,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 406 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting Period of time.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octet 21 : Time range indicator. C One 8 bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC1(18),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 407 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting time range indicator.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* When decoding, period of time field and time range C indicator may need modification. C IF( .NOT. LENCODE ) THEN Cd Cd When decoding, length of period of time field is known Cd only at this time. If a 16 bit field is indicated, put Cd the two extracted 8-bit fields together. Cd IF( KSEC1(18).EQ.10) THEN Cd Cd One 16 bit field. KSEC1(16) = KSEC1(16) * 256 + KSEC1(17) KSEC1(17) = 0 ENDIF Cd Cd If data is known to be initialised analysis and GRIB is Cd Experimental Edition, set time range indicator flag. Cd IF( KSEC1(16).EQ.0.AND.HOPER.EQ.'S'.AND.KSEC0(2).EQ.-1) X KSEC1(18) = 1 Cd ENDIF C C* Octet 22 - 23 : Number averaged. C One 16 bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC1(19),1,IBITS, 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 408 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting number averaged.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octet 24 : Number missing from averages etc. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC1(20),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 409 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting number missing' WRITE(GRPRSM,*) 'GRIBEX: from averages etc.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* This is the end of Section 1 if Edition 0 or -1 of GRIB code. C Set other fields to be compatible with Edition 1, where possible. C IF( KSEC0(2).LT.1) THEN C C Century of data. C C All ECMWF data in Edition 0 or -1 is 20th century. C Otherwise set century to missing data value. C IF( LECMWF ) THEN KSEC1(21) = 20 ELSE KSEC1(21) = IMISNG ENDIF C C Reserved field and decimal scale factor field (which C was always 0). C C KSEC1(22) and KSEC1(23) set to 0. C KSEC1(22) = 0 KSEC1(23) = 0 GO TO 499 ENDIF C C* Octet 25 : Century of data. C One 8 bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC1(21),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 410 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting century of data' WRITE(GRPRSM,*) 'GRIBEX: or reserved field.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octet 26 : Sub-centre. C ( Now used at ECMWF/Washington to designate a sub-centre C = 2 for NMC ensemble products(decoding only). C = 98 for EPS products from Washington with ECMWF extensions. C = 231 Meteo France Climate Centre (ECSN) C = 232 MPI Climate Centre (ECSN) C = 233 UKMO Climate Centre (ECSN) C = 240 for ECMWF seasonal forecast centre (PROVOST). C = 241 for Meteo France seasonal forecast centre (PROVOST). C = 242 for EDF seasonal forecast centre (PROVOST). C = 243 for UKMO seasonal forecast centre (PROVOST). C = 0 otherwise. ) C C One 8 bit field. C IF( LENCODE ) THEN Ce Ce When coding ECMWF data, sub-centre is set to 0 unless a Ce designated sub-centre or explicitly enabled by previous user Ce call to GRSUBC. Ce IF( .NOT.LECMWF .OR. NSUBCE.EQ.1 ) THEN ITEMP = KSEC1(22) Ce ELSE IF( (KSEC1(22).EQ. 98) .OR. X (KSEC1(22).EQ.231) .OR. X (KSEC1(22).EQ.232) .OR. X (KSEC1(22).EQ.233) .OR. X (KSEC1(22).EQ.240) .OR. X (KSEC1(22).EQ.241) .OR. X (KSEC1(22).EQ.242) .OR. X (KSEC1(22).EQ.243) )THEN ITEMP = KSEC1(22) Ce ELSE ITEMP = 0 ENDIF ENDIF C CALL INXBIT(KGRIB,KLENG,INSPT, ITEMP, 1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 810 WRITE(GRPRSM,*) 'GRIBEX: Error inserting dummy zero.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C Cd IF( LDECODE ) THEN Cd Cd When decoding, KSEC1(22) is set to message content. Cd KSEC1(22) = ITEMP Cd Cd Set flags for known special local extensions to section 1: Cd ECMWF data Cd Washington SST data Cd Washington ensemble data Cd LECLOC = (KSEC1(2).EQ.98) .OR. X (KSEC1(22).EQ.98) LSST11 = (KSEC1( 6).EQ.139) .AND. X (KSEC1( 7).EQ. 1) .AND. X (KSEC1(22).EQ. 98) LKWBCE = (KSEC1( 2).EQ. 7) .AND. X (KSEC1(22).NE. 98) Cd IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Local extension in use for...' IF( LPDEBUG.AND.LECLOC ) WRITE(GRPRSM,*) 'GRIBEX: ECMWF data' IF( LPDEBUG.AND.LKWBCE ) WRITE(GRPRSM,*) X 'GRIBEX: KWBC ensemble data' IF( LPDEBUG.AND.LSST11 ) WRITE(GRPRSM,*) 'GRIBEX: SST data' Cd ENDIF C C* Octets 27 - 28 : Units decimal scale factor. C One 16 bit field. C C When coding, set sign bit if value is negative. C IF( LENCODE ) CALL CSGNBT( ITEMP, KSEC1(23), 16, KRET) C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,ITEMP,1,IBITS, 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 411 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting units decimal' WRITE(GRPRSM,*) 'GRIBEX: scale factor.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C When decoding, set sign bit if value is negative. C IF( LDECODE ) CALL DSGNBT( KSEC1(23), ITEMP, 16, KRET) C IF( LENCODE ) THEN Ce Ce When coding data, the reserved octets 29-40 need not Ce be present and are not included, unless ECMWF local Ce use of octets 41 onwards is indicated. Ce IF( KSEC1(24).EQ.1.AND.((LECLOC.OR.LSST11).OR.LKWBCE)) THEN Ce Ce Fill reserved octets with 0. Ce DO 410 JLOOP = 29,40 CALL INXBIT(KGRIB,KLENG,INSPT, 0, 1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 810 WRITE(GRPRSM,*) 'GRIBEX: Error inserting dummy zero.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF 410 CONTINUE Ce Ce Have to set sectionLength for KWBC ensemble products to Ce force proper encoding Ce IF( LKWBCE ) THEN IF( KSEC1(42).NE.0) THEN IF( KSEC1(46).NE.0) THEN #ifdef linux ISECLEN = (256 + 86)*256*256 ELSE ISECLEN = (256 + 60)*256*256 ENDIF #else ISECLEN = 86*256 + 1 ELSE ISECLEN = 60*256 + 1 ENDIF #endif ENDIF KGRIB(3) = ISECLEN ENDIF Ce Ce Insert local ECMWF data. KRET = NOABORT CALL ECLOC1(YFUNC,KSEC1,KGRIB,INSPT,IBITS,KRET) IF( KRET.NE.0) THEN KRET = 412 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting ECMWF local' WRITE(GRPRSM,*) 'GRIBEX: data.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Ce ENDIF Ce ELSE Cd Cd When decoding data the reserved octets are skipped. Cd If local use is not ECMWF usage or Washington ensemble usage, Cd the local use octets are also skipped. Cd Presence is indicated by length of section > 28 octets. Cd IF( ILEN1.GT.28.AND. (LECLOC.OR.LKWBCE.OR.LSST11) ) THEN Cd Cd Set decoded values as zero and move pointer past Cd reserved octets. Cd DO 420 JLOOP = 25,36 KSEC1(JLOOP) = 0 420 CONTINUE INSPT = INSPT + 96 Cd Cd Set flag to indicate local use. KSEC1(24) = 1 Cd Cd Extract local ECMWF data. Cd .. or Washington ensemble data. Cd KRET = NOABORT IF( (LECLOC.OR.LSST11).OR.LKWBCE ) X CALL ECLOC1(YFUNC,KSEC1,KGRIB,INSPT,IBITS,KRET) IF( KRET.NE.0) THEN KRET = 412 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting ECMWF or' WRITE(GRPRSM,*) 'GRIBEX: Washington local data.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd ELSE IF( ILEN1.GT.28) INSPT = INSPT + (ILEN1-28) * 8 ENDIF Cd ENDIF C 499 CONTINUE C C* Check for ECMWF pseudo-grib data. This saves calling GRIBEX C with function 'I' to check if the data is GRIB data, and another C call with function 'D' when GRIB data is found. C IF( (.NOT.LENCODE).AND.(KSEC1(6).EQ.127.OR.KSEC1(6).EQ.128)) THEN IF( KSEC1(1).EQ.128.AND. LECMWF ) THEN Cd IPSEUD = -6 Cd Cd Change function to 'L' so that section 0 is fully decoded. YFUNC = 'L' GO TO 500 ENDIF ENDIF C C -----------------------------------------------------------------| C C C C C C C C C C C* Section 5 . Grid Description Section (Section 2) of GRIB code. C -----------------------------------------------------------------| C 500 CONTINUE C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Section 5. Handle Grid Description Section (Section 2)' C IF( .NOT.LSECT2 ) THEN C IF( LDECODE ) THEN Cd Cd If decoding data, set section 2 values to missing data indicator Cd DO 505 JLOOP=1,22 KSEC2(JLOOP) = IMISNG 505 CONTINUE ENDIF Cd Cd Go to section 6, if no grid description included. Cd GO TO 600 ENDIF C C* Check consistency of values given, with GRIB code, if required. C IF( NVCK.EQ.1.AND. LENCODE ) THEN CALL GRCHK2 (KSEC1,KSEC2,PSEC2,KRET) IF( KRET.NE.0) THEN KRET = 599 WRITE(GRPRSM,*) X 'GRIBEX: Error found when checking values for' WRITE(GRPRSM,*) X 'GRIBEX: Section 2 against valid GRIB values.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ENDIF C C* Octets 1 - 3 : Length of section. C One 24 bit field. C C Calculate length of section, if coding data. C IF( LENCODE ) THEN Ce Ce Length is normally 32 + stretched and/or rotated Ce parameters + vertical coordinate parameters + list of Ce numbers of points. Ce (Lambert conformal and Mercator are 42 octets in length, Ce while Space view is 40 for ECMWF (44 in GRIB specification) Ce Ce Ordinary Grid. Ce INC = 0 Ce Ce Space view perspective. Ce IF( KSEC2(1).EQ.90) INC = 12 Ce Ce Lambert or Mercator +10. Ce IF( KSEC2(1).EQ.3.OR.KSEC2(1).EQ.1) INC = 10 Ce Ce Ce Rotated grid. Ce (Gaussian, Latitude/longitude or Spherical Harmonics) Ce IF( KSEC2(1).EQ.10.OR.KSEC2(1).EQ.14.OR.KSEC2(1).EQ.60) INC = 10 Ce Ce Stretched grid. Ce (Gaussian, Latitude/longitude or Spherical Harmonics) Ce IF( KSEC2(1).EQ.20.OR.KSEC2(1).EQ.24.OR.KSEC2(1).EQ.70) INC = 10 Ce Ce Stretched and rotated grid. Ce (Gaussian, Latitude/longitude or Spherical Harmonics) Ce IF( KSEC2(1).EQ.30.OR.KSEC2(1).EQ.34.OR.KSEC2(1).EQ.80) INC = 20 Ce Ce Calculate data offset allowing for quasi-regular grid Ce (Polar sterographic cannot be a quasi-regular grid) Ce LQUASI = ( KSEC2(17).EQ.1 ) .AND. (KSEC2(1).NE.5) IF( LQUASI ) THEN ILEN2 = 32 + INC + (KSEC2(12)*4) + 2*KSEC2(3) ELSE ILEN2 = 32 + INC + (KSEC2(12)*4) ENDIF Ce ENDIF C C Insert / extract field. CALL INXBIT(KGRIB,KLENG,INSPT,ILEN2,1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 501 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: length of Section 2.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Print length of Section 2, if required. C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Length of Section 2 of GRIB = ',ILEN2,' octets.' C C* If only length is required, update bit-pointer and jump C to extraction of length of section 3. C IF( YFUNC.EQ.'L') THEN INSPT = INSPT -24 + ILEN2 * 8 GO TO 600 ENDIF C C* Octet 4 : NV - number of vertical coordinate parameters. C One 8 bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(12),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 502 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: number of Vertical coordinate parameters.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Fixup for Editions -1 and 0 of GRIB code, where number C of Vertical Coordinate Parameters must be calculated, C as this octet contained the number of unused bits at the C end of the section, which by definition of the section C always had to be 0. C IF( KSEC0(2).LT.1) THEN KSEC2(12) = ( ILEN2 - 32 ) / 4 ENDIF C C* Octet 5 : PV - location of list of vertical coordinate parameters, C if any, C or C PL - location of list of numbers of points, if no PV, C or C 255 - no PV or PL. C One 8 bit field. C IF( LENCODE ) THEN Ce Ce Set value, if coding data. Ce Ce Neither present is default. IPVPL = 255 Ce Ce Vertical coordinate parameters present. IF( KSEC2(12).NE.0) IPVPL = 32 + INC + 1 Ce Ce List of number of points present, if no vertical Ce coordinate parameters present and if quasi-regular grid. Ce IF( LQUASI.AND.KSEC2(12).EQ.0) IPVPL = 32 + INC + 1 Ce Ce Insert field. Ce CALL INXBIT(KGRIB,KLENG,INSPT,IPVPL,1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 503 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: location of List of vertical coordinate' WRITE(GRPRSM,*) X 'GRIBEX: parameters or List of numbers of points.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Ce ELSE Cd Cd If decoding data. Extract field. Cd CALL INXBIT(KGRIB,KLENG,INSPT,IPVPL,1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 503 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: location of List of vertical coordinate' WRITE(GRPRSM,*) X 'GRIBEX: parameters or List of numbers of points.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd Cd Experimental space view perspective data received Cd at ECMWF has all 0 bits. Cd 0 is illegal for all data types, so change it. Cd IF( IPVPL.EQ.0) IPVPL = 255 Cd Cd Neither present, so set regular grid indicator. Cd IF( IPVPL.EQ.255) THEN KSEC2(17) = 0 LQUASI = .FALSE. ENDIF Cd Cd Vertical coordinate parameters present. Cd If the length of section is greater than the Cd end of the vertical coordinate parameters, then Cd there is a list of numbers of points following, so Cd set quasi-regular grid indicator. Cd IF( KSEC2(12).NE.0) THEN IPL = 4 * KSEC2(12) + IPVPL - 1 IF( IPL.LT.ILEN2) THEN KSEC2(17) = 1 LQUASI = .TRUE. ENDIF ENDIF Cd Cd Cd List of number of points present, no vertical Cd coordinate parameters present, so set quasi-regular Cd grid indicator. Cd IF( KSEC2(12).EQ.0.AND.IPVPL.NE.255) THEN KSEC2(17) = 1 LQUASI = .TRUE. ENDIF Cd Cd Fixup for Editions -1 and 0 of GRIB code, where Cd all grids were regular. Cd IF( KSEC0(2).LT.1) THEN KSEC2(17) = 0 LQUASI = .FALSE. ENDIF Cd ENDIF C C* Octet 6 : Data representation type. C One 8 bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(1),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 504 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: data representation type.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C LSPHERC = .FALSE. LGRDPT = .TRUE. C C**** C Gaussian grid definition. C**** C IF( KSEC2(1).EQ.4. .OR. X KSEC2(1).EQ.14 .OR. X KSEC2(1).EQ.24 .OR. X KSEC2(1).EQ.34 ) THEN C IF( LENCODE ) THEN KRET = EGGSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,LQUASI) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Error encoding gaussian grid section 2' KRET = 540 GOTO 900 ENDIF ELSE KRET = DGGSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,IMISNG) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Error decoding gaussian grid section 2' KRET = 541 GOTO 900 ENDIF ENDIF C GO TO 520 ENDIF C C**** C Latitude/longitude grid definition, C Equidistant Cylindrical or Plate Carree. C**** C IF( KSEC2(1).EQ.0 .OR. X KSEC2(1).EQ.10 .OR. X KSEC2(1).EQ.20 .OR. X KSEC2(1).EQ.30 ) THEN C IF( LENCODE ) THEN KRET = ELLSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,LQUASI) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Error encoding lat/long grid section 2' KRET = 542 GOTO 900 ENDIF ELSE KRET = DLLSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,IMISNG) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Error decoding lat/long grid section 2' KRET = 543 GOTO 900 ENDIF ENDIF C GO TO 520 ENDIF C C**** C Spherical Harmonic format. C**** C IF( KSEC2(1).EQ.50 .OR. X KSEC2(1).EQ.60 .OR. X KSEC2(1).EQ.70 .OR. X KSEC2(1).EQ.80 ) THEN C LSPHERC = .TRUE. LGRDPT = .FALSE. C IF( LENCODE ) THEN KRET = ESHSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) 'GRIBEX: Error encoding spectral section 2' KRET = 544 GOTO 900 ENDIF ELSE KRET = DSHSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) 'GRIBEX: Error decoding spectral section 2' KRET = 545 GOTO 900 ENDIF ENDIF C ITRUNC = KSEC2(2) C GOTO 520 ENDIF C C**** C* Polar Stereographic. C**** C IF( KSEC2(1).EQ.5) THEN C C* Octets 7 - 8 : Ni - number of points along X-axis. C Octets 9 - 10 : Nj - number of points along Y-axis. C Two 16 bit fields. C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 523 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: number of points along X or Y axis.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C C When coding data, set sign bit to 1, if value is negative. C IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC2(4), 24, KRET) CALL CSGNBT( ILALO(2), KSEC2(5), 24, KRET) ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 506 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C When decoding data, if sign bit is 1, value is negative. C IF( LDECODE ) THEN CALL DSGNBT( KSEC2(4), ILALO(1), 24, KRET) CALL DSGNBT( KSEC2(5), ILALO(2), 24, KRET) ENDIF C C* Octet 17 : Resolution and components flag. C One 8 bit field. C C Resolution flag ( KSEC2(6) ) is not applicable. C KSEC2(6) = 0 IF( LENCODE ) IRESOL = KSEC2(18)+KSEC2(19) C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 507 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: components flag.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C IF( LDECODE ) THEN Cd Cd All flag fields are already set to 0, so IF( IRESOL.EQ.0) GO TO 513 Cd Cd Fix up for flag which was different in Experimental edition. Cd IF( KSEC0(2).EQ.-1.AND.(IRESOL.EQ.1.OR.IRESOL.EQ.3)) X IRESOL = 128 Cd Cd Resolution flag is not applicable. IF( IRESOL.GE.128) IRESOL = IRESOL - 128 Cd Cd Set earth flag. IF( IRESOL.GE.64) THEN KSEC2(18) = 64 IRESOL = IRESOL - 64 ENDIF Cd Cd Set components flag. KSEC2(19) = IRESOL Cd ENDIF C 513 CONTINUE C C Insert / extract field. C C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(6),1,IBITS, 8,YFUNC,KRET) C IF( KRET.NE.0) THEN C KRET = 507 C WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' C WRITE(GRPRSM,*) 'GRIBEX: components flag.' C WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET C GO TO 900 C ENDIF C C* Octets 18 - 20 : LoV - orientation of the grid. C One 24 bit field. C C When coding data, set sign bit to 1, if value is negative. C IF( LENCODE ) CALL CSGNBT( ILALO(1), KSEC2(7), 24, KRET) C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 508 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C When decoding data, if sign bit is 1, value is negative. C IF( LDECODE ) CALL DSGNBT( KSEC2(7), ILALO(1), 24, KRET) C C* Octets 21 - 23 : Dx - X direction grid length. C* Octets 24 - 26 : Dy - Y direction grid length. C Two 24 bit fields. C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),2,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 524 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: X or Y axis grid length.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octet 27 : Projection centre flag. C One 8-bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(13),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 525 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: Projection centre flag.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octet 28 : Scanning mode flags. C One 8 bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 511 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: scanning mode flags.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C* Octets 29 - 32 : Reserved. C Two 16 bit fields. C C If insertion, set bits to 0. IF( LENCODE ) THEN CALL INXBIT(KGRIB,KLENG,INSPT, 0, 1,IBITS, 32,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 810 WRITE(GRPRSM,*) 'GRIBEX: Error inserting dummy zero.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ELSE Cd Cd If extraction, only update bit pointer. INSPT = INSPT + 32 ENDIF C GO TO 520 ENDIF C C**** C* Space view perspective or orthographic. C**** C IF( KSEC2(1).EQ.90) THEN C IF( LENCODE ) THEN KRET = ESVSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS,ILEN2) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) 'GRIBEX: Error encoding spectral section 2' KRET = 546 GOTO 900 ENDIF ELSE KRET = DSVSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS,ILEN2) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) 'GRIBEX: Error decoding spectral section 2' KRET = 547 GOTO 900 ENDIF ENDIF C C GO TO 520 C ENDIF C C**** C* Mercator C**** C IF( KSEC2(1).EQ.1) THEN C IF( LENCODE ) THEN KRET = EMESEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,LQUASI) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) 'GRIBEX: Error encoding Mercator section 2' KRET = 546 GOTO 900 ENDIF ELSE KRET = DMESEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,IMISNG) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) 'GRIBEX: Error decoding Mercator section 2' KRET = 547 GOTO 900 ENDIF ENDIF C C GO TO 520 C ENDIF C C**** C* Lambert Conformal. C**** C IF( KSEC2(1).EQ.3) THEN C C* Octets 7 - 8 : Ni - number of points along X-axis. C Octets 9 - 10 : Nj - number of points along Y-axis. C Two 16 bit fields. C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 523 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: number of points along X or Y axis.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C Ce When coding data, set sign bit to 1, if value is negative. Ce IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC2(4), 24, KRET) CALL CSGNBT( ILALO(2), KSEC2(5), 24, KRET) ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 506 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C Cd When decoding data, if sign bit is 1, value is negative. Cd IF( LDECODE ) THEN CALL DSGNBT( KSEC2(4), ILALO(1), 24, KRET) CALL DSGNBT( KSEC2(5), ILALO(2), 24, KRET) ENDIF C C* Octet 17 : Resolution and components flag. C One 8 bit field. C C Resolution flag ( KSEC2(6) ) is not applicable. C IF( LENCODE ) IRESOL = KSEC2(18)+KSEC2(19)+KSEC2(6) C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 507 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: components flag.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C IF( LDECODE ) THEN Cd Cd If all flag fields are already set to 0, bypass. Cd IF( IRESOL.EQ.0) GO TO 515 Cd Cd Resolution flag is not applicable. Cd IF( IRESOL.GE.128) THEN KSEC2(6) = 128 IRESOL = IRESOL - 128 ENDIF Cd Cd Set earth flag. Cd IF( IRESOL.GE.64) THEN KSEC2(18) = 64 IRESOL = IRESOL - 64 ENDIF Cd Cd Set components flag. Cd KSEC2(19) = IRESOL Cd ENDIF C 515 CONTINUE C C Insert / extract field. C C* Octets 18 - 20 : LoV - orientation of the grid. C One 24 bit field. C Ce When coding data, set sign bit to 1, if value is negative. Ce IF( LENCODE ) CALL CSGNBT( ILALO(1), KSEC2(7), 24, KRET) C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 508 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C Cd When decoding data, if sign bit is 1, value is negative. Cd IF( LDECODE ) CALL DSGNBT( KSEC2(7), ILALO(1), 24, KRET) C C* Octets 21 - 23 : Dx - X direction grid length. C* Octets 24 - 26 : Dy - Y direction grid length. C Two 24 bit fields. C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),2,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 524 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: X or Y axis grid length.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octet 27 : Projection centre flag. C One 8-bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(13),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 525 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: Projection centre flag.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octet 28 : Scanning mode flags. C One 8 bit field. C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 511 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: scanning mode flags.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C Fix-up for flag which was different in Experimental C Edition. C IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C* Octets 29 - 31 : Latin 1. C* Octets 32 - 34 : Latin 2. C Two 24 bit fields. C Ce When coding data, set sign bit to 1, if value is negative. Ce IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC2(14), 24, KRET) CALL CSGNBT( ILALO(2), KSEC2(15), 24, KRET) ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 531 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: Latin1 or Latin2 of secants points.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C Cd When decoding data, if sign bit is 1, value is negative. C IF( LDECODE ) THEN CALL DSGNBT( KSEC2(14), ILALO(1), 24, KRET) CALL DSGNBT( KSEC2(15), ILALO(2), 24, KRET) ENDIF C C* Octets 35 - 37 : Latitude of the southern pole. C* Octets 38 - 40 : Longitude of the southern pole. C Two 24 bit fields. C Ce When coding data, set sign bit to 1, if value is negative. Ce IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC2(20), 24, KRET) CALL CSGNBT( ILALO(2), KSEC2(21), 24, KRET) ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 532 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude/longitude of southern pole.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C Cd When decoding data, if sign bit is 1, value is negative. Cd IF( LDECODE ) THEN CALL DSGNBT( KSEC2(20), ILALO(1), 24, KRET) CALL DSGNBT( KSEC2(21), ILALO(2), 24, KRET) ENDIF C C* Octets 41 - 42 : Reserved. C One 16 bit fields. C IF( LENCODE ) THEN C Ce All bits already set to 0. Ce No insertion, only update bit pointer. Ce INSPT = INSPT + 16 Ce ELSE Cd Cd No extraction, only update bit pointer. Cd INSPT = INSPT + 16 Cd ENDIF C GO TO 520 ENDIF C C C**** C Ocean grid definition. C**** C IF( KSEC2(1).EQ.192 ) THEN C IF( LENCODE ) THEN KRET = EOCSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Error encoding ECMWF ocean section 2' KRET = 546 GOTO 900 ENDIF ELSE KRET = DOCSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Error decoding ECMWF ocean section 2' KRET = 547 GOTO 900 ENDIF ENDIF GOTO 520 C ENDIF C C**** C* Other representation types not yet catered for. C**** C KRET = 598 WRITE(GRPRSM,*) X 'GRIBEX: Representation type not catered for:',KSEC2(1) WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 C C* Rotation parameters for rotated or stretched and rotated grids. C (Gaussian, Latitude/longitude or Spherical Harmonics) C 520 CONTINUE C IF( KSEC2(1).EQ.10.OR.KSEC2(1).EQ.30.OR. X KSEC2(1).EQ.14.OR.KSEC2(1).EQ.34.OR. X KSEC2(1).EQ.60.OR.KSEC2(1).EQ.80) THEN C C* Octets 33 - 35 : Latitude of the southern pole. C Octets 36 - 38 : Longitude of the southern pole. C Two 24 bit fields. C C When coding data, set sign bit to 1, if value is negative. C IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC2(13), 24, KRET) CALL CSGNBT( ILALO(2), KSEC2(14), 24, KRET) ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 517 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude or longitude of southern pole.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C When decoding data, if sign bit is 1, value is negative. C IF( LDECODE ) THEN CALL DSGNBT( KSEC2(13), ILALO(1), 24, KRET) CALL DSGNBT( KSEC2(14), ILALO(2), 24, KRET) ENDIF C C* Octets 39 - 42 : Angle of rotation. C One 8 bit and one 24 bit field. C IF( LENCODE ) THEN Ce Ce Convert floating point to GRIB representation. ITRND = 1 CALL CONFP3 (PSEC2(1),IEXP,IMANT,IBITS,ITRND) ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,IEXP,1,IBITS, 8,YFUNC,KRETA) CALL INXBIT(KGRIB,KLENG,INSPT,IMANT,1,IBITS, 24,YFUNC,KRETB) KRET = KRET + KRETB IF( KRET.NE.0) THEN KRET = 518 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: angle of rotation.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C IF( LDECODE ) THEN Cd Cd Convert GRIB representation to floating point. CALL DECFP2 (PSEC2(1),IEXP,IMANT) Cd ENDIF ENDIF C C* Stretching parameters for stretched grids. C (Gaussian, Latitude/longitude or Spherical Harmonics) C IF( KSEC2(1).EQ.20.OR.KSEC2(1).EQ.24.OR.KSEC2(1).EQ.70) THEN C C* Octets 33 - 35 : Latitude of pole of stretching. C Octets 36 - 38 : Longitude of pole of stretching. C Two 24 bit fields. C C When coding data, set sign bit to 1, if value is negative. C IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC2(15), 24, KRET) CALL CSGNBT( ILALO(2), KSEC2(16), 24, KRET) ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 519 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude/longitude of pole of stretching.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C When decoding data, if sign bit is 1, value is negative. C IF( LDECODE ) THEN CALL DSGNBT( KSEC2(15), ILALO(1), 24, KRET) CALL DSGNBT( KSEC2(16), ILALO(2), 24, KRET) ENDIF C C* Octets 39 - 42 : Stretching factor. C One 8 bit and one 24 bit field. C C Convert floating point to GRIB representation. ITRND = 1 IF( LENCODE ) CALL CONFP3 (PSEC2(2),IEXP,IMANT,IBITS,ITRND) C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,IEXP,1,IBITS, 8,YFUNC,KRETA) CALL INXBIT(KGRIB,KLENG,INSPT,IMANT,1,IBITS, 24,YFUNC,KRETB) KRET = KRETA + KRETB IF( KRET.NE.0) THEN KRET = 520 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: stretching factor.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C Convert GRIB representation to floating point. IF( LDECODE ) CALL DECFP2 (PSEC2(2),IEXP,IMANT) C ENDIF C C* Stretching parameters for stretched and rotated grids. C (Gaussian, Latitude/longitude or Spherical Harmonics) C IF( KSEC2(1).EQ.30.OR.KSEC2(1).EQ.34.OR.KSEC2(1).EQ.80) THEN C C* Octets 43 - 45 : Latitude of pole of stretching. C Octets 46 - 48 : Longitude of pole of stretching. C Two 24 bit fields. C C When coding data, set sign bit to 1, if value is negative. C IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC2(15), 24, KRET) CALL CSGNBT( ILALO(2), KSEC2(16), 24, KRET) ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 519 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude/longitude of pole of stretching.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C When decoding data, if sign bit is 1, value is negative. C IF( LDECODE ) THEN CALL DSGNBT( KSEC2(15), ILALO(1), 24, KRET) CALL DSGNBT( KSEC2(16), ILALO(2), 24, KRET) ENDIF C C* Octets 49 - 52 : Stretching factor. C One 8 bit and one 24 bit field. C C Convert floating point to GRIB representation. ITRND = 1 IF( LENCODE ) CALL CONFP3 (PSEC2(2),IEXP,IMANT,IBITS,ITRND) C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,IEXP,1,IBITS, 8,YFUNC,KRETA) CALL INXBIT(KGRIB,KLENG,INSPT,IMANT,1,IBITS, 24,YFUNC,KRETB) KRET = KRETA + KRETB IF( KRET.NE.0) THEN KRET = 520 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: stretching factor.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C Convert GRIB representation to floating point. C IF( LDECODE ) CALL DECFP2 (PSEC2(2),IEXP,IMANT) C ENDIF C C* Vertical coordinate parameters, if any. C IF( KSEC2(12).NE.0) THEN ITRND = 1 DO 530 JLOOP = 1 , KSEC2(12) C C One 8 bit and one 24 bit field. C Ce Convert floating point to GRIB representation. IF( LENCODE ) X CALL CONFP3 (PSEC2(JLOOP+10),IEXP,IMANT, IBITS,ITRND) C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,IEXP,1,IBITS, 8,YFUNC,KRETA) CALL INXBIT(KGRIB,KLENG,INSPT,IMANT,1,IBITS, 24,YFUNC,KRETB) KRET = KRETA + KRETB IF( KRET.NE.0) THEN KRET = 521 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: vertical coordinate parameters.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C Cd Convert GRIB representation to floating point. IF( LDECODE ) CALL DECFP2 (PSEC2(JLOOP+10),IEXP,IMANT) C 530 CONTINUE ENDIF C C* List of number of points, if any. C Number of 16 bit fields. C IF( LQUASI) THEN C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(23),KSEC2(3),IBITS, X 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 522 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: list of numbers of points.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C C C C C C C C C C C* Section 6 . Bit Map Section (section 3) of GRIB code. C -----------------------------------------------------------------| C 600 CONTINUE C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Section 6. Handle Bit Map Section (Section 3)' C C* Go to section 9, if decoding of identification sections only and C GRIB Code Edition is higher than 0. If Edition is lower the C length of the GRIB message needs to be calculated, so change C function to 'L' to complete decoding of section 0. C Number of data values decoded ( KSEC4(1) ) already set to 0. C IF( HOPER(1:1).EQ.'I') THEN IF( KSEC0(2).GT.0) THEN GO TO 900 ELSE YFUNC = 'L' ENDIF ENDIF C C* Set integer or real missing data value. C IF( KSEC4(5) .EQ. 0 ) THEN ZMSVAL = PSEC3(2) ELSE ZMSVAL = REAL(KSEC3(2)) ENDIF C C* Go to section 7, if no bit map required. C IF( .NOT.LSECT3 ) GO TO 700 C C* Set bit-map flag and attempt no decoding of bit-map, if C routine has been called by the DECOGB interface routine, C which is provided for upward compatibility with old software. C IF( HOPER.EQ.'Z') THEN ISBMAP = -5 WRITE(GRPRSM,*) 'GRIBEX: Bit-map found. No data decoded.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', ISBMAP GO TO 900 ENDIF C C* Check consistency of values given, with GRIB code, if required. C IF( NVCK.EQ.1.AND. LENCODE ) THEN CALL GRCHK3 (KSEC1,KSEC3,PSEC3,KRET) IF( KRET.NE.0) THEN KRET = 699 WRITE(GRPRSM,*) X 'GRIBEX: Error found checking values for section 3' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ENDIF C C* When coding data, calculate the length of section and number C of unused bits. C IF( LENCODE ) THEN Ce IF( KSEC3(1).NE.0) THEN Ce Ce Predetermined bit-map table included. Ce Length of section is 6 octets, number of unused bits is 0. ILEN3 = 6 INUB = 0 Cjdc KRET = GBITMAP(KSEC3(1), IBTVALS, NONMISS, IBTPTR, NBYTE) Cjdc IVALS = NONMISS Ce ELSE Ce Ce Bit-map included in section 3. Ce Length of section = 6 octets of header + length of Ce bit-map, rounded to a multiple of 2 octets. Ce Ce Set IVALS to the number of bits in the bit-map. IF( KSEC4(8).EQ.0) THEN Ce Ce Each bit in the bit-map represents a single value. IVALS = ILENF ELSE Ce Ce Each bit in the bit-map represents a matrix of values. IVALS = ILENF / (KSEC4(50)*KSEC4(51)) ENDIF Ce ITEMP = 48 + IVALS ILEN3 = ( ITEMP + 15 ) / 16 ILEN3 = ILEN3 * 2 Ce Ce Number of unused bits. INUB = ILEN3 * 8 - ITEMP Ce ENDIF Ce ENDIF C C* Octets 1 - 3 : Length of section. C One 24 bit field. C C Insert/extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,ILEN3,1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 601 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting section 3 length' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Print length of Section 3, if required. C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Length of Section 3 of GRIB = ',ILEN3,' octets.' C C If only length is required, update bit-pointer and jump C to extraction of length of section 4. C IF( YFUNC.EQ.'L') THEN INSPT = INSPT -24 + ILEN3 * 8 GO TO 700 ENDIF C C* Octet 4 : Number of unused bits at end of section. C One 8 bit field. C C Insert/extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,INUB,1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 602 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting number' WRITE(GRPRSM,*) X 'GRIBEX: unused bits at the end of Section 3.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Octets 5-6 : Bit-map table reference. C One 16 bit field. C C Insert/extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC3(1),1,IBITS, 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 603 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting bit-map reference table' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C* Set integer or real missing data value. C IF( KSEC4(5) .EQ. 0 ) THEN ZMSVAL = PSEC3(2) ELSE ZMSVAL = REAL(KSEC3(2)) ENDIF C C* Finished if a predetermined bit-map table is given. C IF( KSEC3(1).NE.0) GO TO 700 C C* Bit-map definition included. C IF( LENCODE ) THEN Ce Ce Insert primary bit-map. Set function for fixed length Ce messages if required. Ce YTEMP = YFUNC IF( HOPER.EQ.'M') YTEMP = 'M' Ce IF( KSEC4(8).EQ.64) THEN Ce Ce Matrix of values at a point. ITEMP = KSEC4(50) * KSEC4(51) ELSE Ce Ce Single value at each point. ITEMP = 1 ENDIF Ce Ce Retain pointer to bit-map location. Ce IBMAP = INSPT Ce CALL INSMP1 (KGRIB,KLENG,INSPT,KSEC4(9),PSEC4, X ILENF,IBITS,ZMSVAL,YTEMP,ITEMP,NDBG,KRET) IF( KRET.NE.0) THEN KRET = 604 WRITE(GRPRSM,*) 'GRIBEX: Error inserting primary bit map.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Ce Ce Number of data values remaining to be handled Ce is now in ILENF, which is used when finding maximum and Ce minimum values etc. When a matrix of values is present Ce PSEC4 may still contain missing data indicators for each Ce matrix. Ce Ce Effective number of points will be returned in KSEC4(21). Ce NONMISS = ILENF Ce Ce Unused bits at end of section. Ce These bits are already set to 0, so update bit-pointer only. Ce INSPT = INSPT + INUB Ce ELSE Cd Cd Retain pointer to bit-map location. Cd IBMAP = INSPT Cd Cd IVALS is the number of bits in the bit-map. It is the same Cd as the number of data values (including missing data Cd values to be decoded) when each point represents a single Cd data value. When each bit in the bit-map represents a Cd matrix of values, it is the number of matrices. Cd IVALS = (ILEN3 - 6) * 8 - INUB Cd Cd Update bit-pointer to start of section 4 of Grib message. INSPT = INSPT - 48 + ILEN3 * 8 Cd ENDIF C C -----------------------------------------------------------------| C C C C C C C C C C C* Section 7 . Binary Data Section (section 4) of GRIB code. C -----------------------------------------------------------------| C 700 CONTINUE C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Section 7. Handle Binary Data Section (Section 4)' C C* Check consistency of values given, with GRIB code, if required. C IF( NVCK.EQ.1.AND. LENCODE ) THEN CALL GRCHK4 (KSEC1,KSEC4,PSEC4,KRET) IF( KRET.NE.0) THEN KRET = 799 WRITE(GRPRSM,*) X 'GRIBEX: Error found when checking values for section 4' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ENDIF C C* Retain value of the pointer to the first bit in Section 4. C When coding data, this is needed later to insert the length C of Section 4 and the number of unused bits. C When decoding data, this is used later to calculate the C number of packed data values which have to be decoded. C IPLEN = INSPT C C* Octets 1 - 3 : Length of section. C One 24 bit field. C IF( LENCODE ) THEN Ce Ce Increment pointer. INSPT = INSPT + 24 ELSE Cd Cd Extract field. Cd CALL INXBIT(KGRIB,KLENG,INSPT,ILEN4,1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 701 WRITE(GRPRSM,*) 'GRIBEX: Error extracting section 4 length' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd Cd If a very large product, the section 4 length field holds Cd the number of bytes in the product after section 4 upto Cd the end of the padding bytes. Cd This is a fixup to get round the restriction on product lengths Cd due to the count being only 24 bits. It is only possible because Cd the (default) rounding for GRIB products is 120 bytes. Cd Cljbf in case of big fields, revert the Cljbf workaround in decoding in case we realize it Cljbf is not paked using the *120 trick Cljbf IF( LLARGE .AND. ILEN4.GT.120) THEN KSEC0(1) = KSEC0(1) / 120 KSEC0(1) = KSEC0(1) * 2 LLARGE = .FALSE. ENDIF IF( LLARGE ) ILEN4 = KSEC0(1) - (INSPT/8) - ILEN4 + 3 Cd Cd Print length of Section 4, if required. Cd IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Length of Section 4 of GRIB = ',ILEN4,' octets.' Cd Cd Set length if required, by updating bit-pointer and Cd adding length of section 5 (32 bits). Length in bytes. Cd Finished if length only required, so go to section 9. Cd IF( YFUNC.EQ.'L'.OR.HOPER.EQ.'X') THEN KSEC0(1) = (INSPT - 24 + ILEN4 * 8 + 32) / 8 IF( YFUNC.EQ.'L') GO TO 900 ENDIF Cd ENDIF C C* Octet 4 : 4 bit flag field and 4 bit unused bit count field. C One 8 bit field for insertion/extraction purposes. C IF( LENCODE ) THEN Ce Ce Type of data (spherical harmonic coefficients or grid Ce point) is taken from KSEC4(3) only if no Section 2 is Ce included.(This allows for data coded without Section 2). Ce IF( LSECT2 ) THEN Ce Ce If section 2 is present, it says if data is spherical harmonic Ce IF( LSPHERC ) THEN KSEC4(3) = 128 ELSE KSEC4(3) = 0 ENDIF Ce ELSE Ce Ce Section 4 says if it's spherical harmonic data.. Ce LSPHERC = ( KSEC4(3) .EQ. 128 ) LGRDPT = .NOT.LSPHERC ENDIF Ce Ce When coding data, field is inserted later, when Ce number of unused bits is known and added to it. Ce Ce Increment pointer. INSPT = INSPT + 8 Ce ELSE Cd Cd Decoding -> extract field. Cd CALL INXBIT(KGRIB,KLENG,INSPT,IFLAG,1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 706 WRITE(GRPRSM,*) X 'GRIBEX: Error extracting section 4 flag field.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd Cd All flags already preset to 0. Cd IF( KSEC0(2).EQ.-1) THEN Cd Cd In the Experimental Edition flag field was Cd 0000 for grid point data. Cd 0001 for spherical harmonic data. Cd ITEMP = IFLAG / 16 INIL = IFLAG - ITEMP * 16 IF( ITEMP.NE.0) KSEC4(3) = 128 GO TO 710 ENDIF Cd IF( KSEC0(2).EQ.0) THEN Cd Cd In Edition 0 flag field only 2 first bits had significance. Cd Cd 0- for grid point data. Cd 1- for spherical harmonic data. Cd -0 for simple packing. Cd -1 for complex packing (only supported for spectral data). Cd IF( IFLAG.GE.128) THEN KSEC4(3) = 128 IFLAG = IFLAG - 128 ENDIF Cd IF( IFLAG.GE.64) THEN KSEC4(4) = 64 IFLAG = IFLAG - 64 ENDIF Cd INIL = IFLAG ELSEIF( KSEC0(2).EQ.1) THEN Cd Cd In Edition 1 flag field all 4 bits have significance. Cd Cd 0--- for grid point data. Cd 1--- for spherical harmonic data. Cd -0-- for simple packing. Cd -1-- for complex or second order packing. Cd --0- for floating point values. Cd --1- for integer values. Cd ---0 for no additional flags at Octet 14. Cd ---1 for additional flags at Octet 14. Cd IF( IFLAG.GE.128) THEN KSEC4(3) = 128 IFLAG = IFLAG - 128 ENDIF Cd IF( IFLAG.GE.64) THEN KSEC4(4) = 64 IFLAG = IFLAG - 64 ENDIF Cd IF( IFLAG.GE.32) THEN KSEC4(5) = 32 IFLAG = IFLAG - 32 ENDIF Cd IF( IFLAG.GE.16) THEN KSEC4(6) = 16 IFLAG = IFLAG - 16 ENDIF Cd INIL = IFLAG ENDIF Cd 710 CONTINUE Cd Cd Type of data (spherical harmonic coefficients or grid Cd point) is taken from KSEC4(3) only if no Section 2 is Cd included.(This allows for data coded without Section 2). Cd IF( .NOT.LSECT2 ) THEN LSPHERC = ( KSEC4(3) .EQ. 128 ) LGRDPT = .NOT.LSPHERC ELSEIF( LSPHERC ) THEN KSEC4(3) = 128 ELSE KSEC4(3) = 0 ENDIF Cd Cd Print number of unused bits, if required. Cd IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Number of unused bits is ',INIL,'.' Cd ENDIF C C* Complex packing supported for spherical harmonics. LCOMPLX = (LSPHERC .AND. ( KSEC4(4).EQ.64 ) ) .OR. X (LSPHERC .AND. LSECT2 .AND. ( KSEC2(6).EQ.2 ) ) C C Check input specification is consistent IF( LCOMPLX .AND. LSECT2 ) THEN IF( ( KSEC4(4).NE.64 ) .AND. ( KSEC2(6).EQ.2 ) ) THEN WRITE(GRPRSM,*) ' COMPLEX mismatch. KSEC4(4) = ', KSEC4(4) WRITE(GRPRSM,*) ' COMPLEX mismatch. KSEC2(6) = ', KSEC2(6) KRET = 807 GOTO 900 ELSEIF( ( KSEC4(4).EQ.64 ) .AND. ( KSEC2(6).NE.2 ) ) THEN WRITE(GRPRSM,*) ' COMPLEX mismatch. KSEC4(4) = ', KSEC4(4) WRITE(GRPRSM,*) ' COMPLEX mismatch. KSEC2(6) = ', KSEC2(6) KRET = 807 GOTO 900 ENDIF ELSEIF( LCOMPLX ) THEN C C Truncation of full spectrum, which is supposed triangular, C has to be diagnosed. Define also sub-set truncation. C IF (LENCODE) THEN Ce ISUBSET = KSEC4(18) Ce Ce When encoding, use the total number of data. Ce ITEMP = KSEC4(1) ITRUNC= ( NINT ( SQRT ( REAL ( 4 * ITEMP + 1 ) ) ) - 3 ) / 2 Ce ELSE Cd Cd When decoding, use section 4 descriptors. Cd INSPT=INSPT+6*8 CALL INXBIT(KGRIB,KLENG,INSPT,KSEC4(2),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 709 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting number of' WRITE(GRPRSM,*) 'GRIBEX: bits per data value' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd CALL INXBIT(KGRIB,KLENG,INSPT,ITEMP,1,IBITS,16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 796 WRITE(GRPRSM,*) X 'GRIBEX: Error extracting pointer to packed data.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd INSPT=INSPT+16 CALL INXBIT(KGRIB,KLENG,INSPT,ISUBSET,1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 797 WRITE(GRPRSM,*) X 'GRIBEX: Error extracting sub-set truncation.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd IF (KSEC0(2).GE.1) THEN ITEMP = ILEN4 * 8 - INIL + (ITEMP-IPLEN/8) * 8 ITEMP = ( ITEMP - 32 * ( ISUBSET + 1 ) * (ISUBSET + 2 ) ) X / KSEC4(2) ITRUNC= ( NINT ( SQRT ( REAL ( 4 * ITEMP + 1 ) ) ) - 3 ) / 2 ELSE ITEMP = ILEN4 * 8 - INIL + (ITEMP-1) * 8 ITEMP = ( ITEMP - 32 * ( ISUBSET + 1 ) ** 2 ) / KSEC4(2) ITRUNC= NINT ( SQRT ( REAL ( ITEMP ) ) ) - 1 ENDIF Cd ENDIF C IF( LPDEBUG) WRITE(GRPRSM,*) X 'GRIBEX: diagnosed truncation of full spectrum is ', ITRUNC C ELSE ISUBSET = 0 ENDIF C C ******************************************* C C Handle complex packing of section 4. C (Avoid decoding of section 4 if 'I' or 'J' option) C IF( LCOMPLX.AND.(.NOT.L_IORJ) ) THEN C C Adjust bit pointer to start of section INSPT = IPLEN C IF( LENCODE) THEN C C Encoding ... KRET = CSECT4( PSEC4, ITRUNC, KSEC1, KSEC4, X KGRIB, KLENG, INSPT, IBITS, KSEC4(2)) ELSE C C Decoding ... KRET = DSECT4A( PSEC4, ITRUNC, KSEC0, KSEC1, KSEC4, X KGRIB, KLENG, INSPT, IBITS, KSEC4(2)) C C Special case when no.bits per packed value = no.bits per word IF( KRET .EQ. 16123 ) KRET = 205 ENDIF C C Give up if error reported. IF( KRET .NE. 0 ) GOTO 900 C C Got to deal with section 5 if OK. GOTO 799 ENDIF C C ******************************************* C C Complex packing ("Second order packing") for grid point. C IF( LGRDPT .AND. (KSEC4(4).NE.0.OR.HOPER.EQ.'K') ) THEN C IF( LENCODE .AND. KSEC4(6).EQ.0 ) THEN KRET = 703 WRITE(GRPRSM,*) X 'GRIBEX: Second-order packing implies additional flags' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ELSEIF( HOPER.EQ.'G'.OR.HOPER.EQ.'A'.OR.HOPER.EQ.'B' ) THEN KRET = 704 WRITE(GRPRSM,*) 'GRIBEX: Function ',HOPER,' invalid for' WRITE(GRPRSM,*) X 'GRIBEX: second-order packed field (grid-point).' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 C ELSEIF( LDECODE ) THEN Cd Cd Decoding ... Cd INSPT=IPLEN KRET = D2ORDR( PSEC4, KLENP, KSEC1, KSEC2, KSEC3, KSEC4, X KGRIB, KLENG, INSPT, IBITS, HOPER, ILEN4, X INIL, ZREF, ZSCALE, IBMAP, IVALS, NDBG ) Cd Cd Give up if error reported. IF( KRET .NE. 0 ) GOTO 900 Cd Cd At this stage, PSEC4 contains normalized INTEGER values. Cd IFPT=0 ILEN=KSEC4(1) Cd IF( L_IORJ ) THEN KSEC4(34)=INSPT Cd Cjdc IF( HOPER.EQ.'J' ) GOTO 815 GOTO 900 ELSE GOTO 796 ENDIF C ENDIF C C Encoding is performed later, once the normalization of C field values into normalized integer values is performed. C ENDIF C C* Set IFPT to the number of data values stored in floating point C rather than packed format. C For simple packing of data in spherical harmonic C format the first word contains the real (0,0) coefficient, C which is treated separately. IFPT is 1 for spherical C harmonics, 0 for other data. C IF( LGRDPT ) THEN IFPT = 0 ELSE IFPT = 1 ENDIF C C* Octets 5 - 6 : Scale factor. C One 16 bit field. C C Calculate scale factor, if coding data. C IF( LENCODE ) THEN Ce Ce Change units of data values , if required. Ce IF( KSEC1(23).NE.0) THEN DO 720 JLOOP = 1 , ILENF PSEC4(JLOOP) = PSEC4(JLOOP)*(10.0**KSEC1(23)) 720 CONTINUE ENDIF Ce Ce Find maximum and minimum values in data array, ignoring Ce any missing-data values, if secondary bit-maps are Ce indicated. Values not being packed are skipped. Ce ILEN = ILENF - IFPT Ce IF( KSEC4(8).EQ.64.AND.KSEC4(9).EQ.32) THEN Ce Ce Secondary bit maps present. Ce CALL MAXMN2 (PSEC4(IFPT+1),ILEN,ZMSVAL,ZMAX,ZMIN) Ce ELSE Ce Ce No secondary bit maps present. Ce IF( HOPER.NE.'A' ) CALL MAXMIN(PSEC4(IFPT+1),ILEN,ZMAX,ZMIN) Ce ENDIF Ce IF( LPDEBUG ) THEN WRITE(GRPRSM,*) 'GRIBEX: Maximum value calculated = ', ZMAX WRITE(GRPRSM,*) 'GRIBEX: Minimum value calculated = ', ZMIN ENDIF Ce Ce Calculate and pack scale factor. Ce Ce If user has supplied a reference value, use it. IF( NFREF.EQ.1) THEN ZREF = FREF Ce Ce If integer data being packed, ensure that Ce reference value represents an integer. IF( KSEC4(5) .EQ. 32 ) THEN #ifdef VAX ITEMP = JNINT(ZREF) #else ITEMP = NINT(ZREF) #endif ZREF = REAL(ITEMP) ENDIF Ce Ce Use user-supplied value unless it exceeds the minimum value. Ce Otherwise use the minimum value. Ce IF( ZREF.GT.ZMIN) THEN WRITE(GRPRSM,*) X 'GRIBEX: User supplied reference value ',ZREF WRITE(GRPRSM,*) 'GRIBEX: exceeds minimum value ',ZMIN WRITE(GRPRSM,*) 'GRIBEX: Minimum value used instead.' ZREF = ZMIN ENDIF Ce ELSE ZREF = ZMIN ENDIF Ce Ce If user has supplied a maximum value, use it. Ce IF( NFMAX.EQ.1) THEN ZMAXV = FMAX Ce Ce If integer data being packed, ensure that Ce maximum value represents an integer. IF( KSEC4(5) .EQ. 32 ) THEN #ifdef VAX ITEMP = JNINT(ZMAXV) #else ITEMP = NINT(ZMAXV) #endif ZMAXV = REAL(ITEMP) ENDIF Ce Ce Use user-supplied value unless it is less than the maximum Ce value. Otherwise use the maximum value. Ce IF( ZMAXV.LT.ZMAX) THEN WRITE(GRPRSM,*) X 'GRIBEX: User supplied maximum value ',ZMAXV WRITE(GRPRSM,*) 'GRIBEX: is less than maximum value ',ZMAX WRITE(GRPRSM,*) 'GRIBEX: Maximum value used instead.' ZMAXV = ZMAX ENDIF Ce ELSE ZMAXV = ZMAX ENDIF Ce IF( LPDEBUG ) THEN WRITE(GRPRSM,*) 'GRIBEX: Maximum value used = ', ZMAXV WRITE(GRPRSM,*) 'GRIBEX: Minimum value used = ', ZREF ENDIF Ce IF( (HOPER .EQ. 'A') .OR. (HOPER .EQ. 'B') ) THEN ZREF = 0.0 ZS = 0.0 ISCALE = 0 ZSCALE = 1.0 ELSE Ce Ce Before using reference value, convert floating point to GRIB Ce representation and come back with (possibly) adjusted value. Ce ISTATUS = REF2GRB(ZREF, IEXP, IMANT, IBITS) IF( ISTATUS.NE.0 ) THEN WRITE(GRPRSM,*) 'GRIBEX: REF2GRB reference value problem' WRITE(GRPRSM,*) 'GRIBEX: for parameter ', KSEC1(6) WRITE(GRPRSM,*) 'GRIBEX: level type ', KSEC1(7) WRITE(GRPRSM,*) 'GRIBEX: level ', KSEC1(8), KSEC1(9) ENDIF Ce Ce If KSEC4(2) is less than (IBITS-1), then IS is taken as the Ce largest integer that enables the following formula : Ce Ce 0 <= (ZMAXV-ZREF) / (2**IS) < 2**KSEC4(2)-0.5 Ce Ce (NINT of the ratio above is a positive integer that fits in Ce KSEC4(2) bits) ; this is equivalent to Ce Ce 2**(IS-1) <= (ZMAXV-ZREF) / (2**KSEC4(2)-0.5) < 2**IS Ce or : Ce 2**IS <= (ZMAXV-ZREF) / (2**(KSEC4(2)+1)-1) < 2**(IS+1) Ce Ce Otherwise, the 0.5 is replaced by 1. to avoid any problem Ce with the numerical representation of a signed integer . Ce Cjdc IF( LALLPOS) THEN Cjdc ZAUXIL = 1. Cjdc ZS = (ZMAXV-ZREF) / (2.**REAL(KSEC4(2))-1.) Cjdc ELSEIF( KSEC4(2).EQ.(IBITS-1) ) THEN Cjdc ZAUXIL = 1. Cjdc ZS = (ZMAXV-ZREF) / REAL(2**KSEC4(2)-1) Cjdc ELSE Cjdc ZAUXIL = 2. Cjdc ZS = (ZMAXV-ZREF) / REAL(2**(KSEC4(2)+1)-1) Cjdc ENDIF Ce #ifdef CRAY Cjdc IF( ZS.NE.0.0) ZS = ALOG(ZS) / ALOG(2.) + ZAUXIL #else Cjdc IF( ZS.NE.0.0) ZS = LOG(ZS) / LOG(2.) + ZAUXIL #endif Cjdc ISCALE = MIN (INT(ZS),INT(ZS+SIGN(1.,ZS))) Cjdc C C Adjust number of bits per value if full integer length to C avoid hitting most significant bit (sign bit). C NBPV = KSEC4(2) IF( NBPV.EQ.IBITS ) NBPV = NBPV - 1 C C Adjust the minumum value to be the scale factor in case the C scale factor coded cannot represent the minimun value (loss of precision) C This should be done before computing the range of the scale factor, as the C unpacking will be done C Using the reference value coded IF(ZMIN.NE.ZREF) THEN IF( LPDEBUG ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Minimum value rectified from ', ZMIN, ' to ', ZREF, X 'to match reference value precision' ENDIF ENDIF C C Calculate the binary scaling factor to spread the range of C values over the number of bits per value. C Limit scaling to 2**-126 to 2**127 (using IEEE 32-bit floats C as a guideline). C ZS = 1.0 RANGE = (ZMAX-ZREF) IF( ABS(ZMAX-ZMIN).LT.JPEPSLN ) THEN ISCALE = 0 ELSE IF( ABS(RANGE-1.0).LT.JPEPSLN ) THEN ISCALE = 1 - NBPV ELSE IF( RANGE.GT.1.0 ) THEN DO JLOOP = 1, 127 ZS = 2.0 * ZS IF( ZS.GT.(RANGE+JPEPSLN) ) THEN ISCALE = JLOOP - NBPV GOTO 727 ENDIF ENDDO WRITE(GRPRSM,*) C X 'GRIBEX: Problem calculating binary scale value for encode' KRET = 707 GOTO 900 C 727 CONTINUE ELSE DO JLOOP = 1, 126 ZS = ZS / 2.0 IF( ZS.LT.(RANGE-JPEPSLN) ) THEN ISCALE = 1 - JLOOP - NBPV GOTO 728 ENDIF ENDDO C WRITE(GRPRSM,*) X 'GRIBEX: Problem calculating binary scale value for encode' KRET = 707 GOTO 900 728 CONTINUE ENDIF C #if (defined VAX) || (defined rs6000) || defined (__alpha) || defined hpR64 Cjdc ISCALE = MIN (INT(ZS),INT(ZS+DSIGN(1.0D0,ZS))) #else Cjdc ISCALE = MIN (INT(ZS),INT(ZS+SIGN(1.,ZS))) #endif Ce Ce Limit scale factor to head off problems of 'rogue' fields Ce which are flat except for one pimple value Ce (Is this still needed?) Ce IF( ISCALE.LT.-99 ) THEN WRITE(GRPRSM,*) X ' GRIBEX: scaling factor changed from ', ISCALE WRITE(GRPRSM,*) X ' GRIBEX: to ', -99 ISCALE = -99 ENDIF IF( ISCALE.GT.99 ) THEN WRITE(GRPRSM,*) X ' GRIBEX: scaling factor changed from ', ISCALE WRITE(GRPRSM,*) X ' GRIBEX: to ', 99 ISCALE = 99 ENDIF Ce ZSCALE = 2.**ISCALE IF( LPDEBUG ) THEN WRITE(GRPRSM,*) 'GRIBEX: Encoding ZMAX = ', ZMAX WRITE(GRPRSM,*) 'GRIBEX: Encoding ZREF = ', ZREF WRITE(GRPRSM,*) 'GRIBEX: Encoding RANGE = ', RANGE WRITE(GRPRSM,*) X 'GRIBEX: Encoding scaling value = ', ZSCALE WRITE(GRPRSM,*) X 'GRIBEX: Encoding scaling value = 2 to power ', X ISCALE ENDIF Ce Ce Set sign bit. Ce ITEMP = ISCALE CALL CSGNBT( ISCALE, ITEMP, 16, KRET) ENDIF Ce Ce Scale factor has all bits set to 1 for missing fields. Ce (ECMWF convention only). Ce IF( IMISS.EQ.1) ISCALE = JP16SET Ce ENDIF C C Insert / extract field. C CALL INXBIT(KGRIB,KLENG,INSPT,ISCALE,1,IBITS, 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 707 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting scale factor.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd Cd If decoding, set scale factor. Cd IF( LDECODE ) THEN ISKALE = ISCALE CALL DSGNBT( ISCALE, ISKALE, 16, KRET) Cd Cd Limit scale factor to head off problems of 'rogue' fields Cd which are flat except for one pimple value IF( ISCALE .LT. -99 ) THEN WRITE(GRPRSM,*) X ' GRIBEX: scaling factor changed from ', ISCALE WRITE(GRPRSM,*) X ' GRIBEX: to ', -99 ISCALE = -99 ENDIF IF( ISCALE .GT. 99 ) THEN WRITE(GRPRSM,*) X ' GRIBEX: scaling factor changed from ', ISCALE WRITE(GRPRSM,*) X ' GRIBEX: to ', 99 ISCALE = 99 ENDIF Cd ZSCALE = 2.**ISCALE C IF( LPDEBUG ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Decoding scaling value = ', ZSCALE WRITE(GRPRSM,*) X 'GRIBEX: Decoding scaling value = 2 to power ', X ISCALE ENDIF ENDIF C C* Octets 7 - 10 : Reference value. C One 8 bit and one 24 bit field. C IF( LENCODE ) THEN Ce IF( IMISS.EQ.1) THEN Ce Ce For missing, these data fields are set to all 1 bits. IEXP = JP8SET IMANT = JP24SET ENDIF Ce ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,IEXP,1,IBITS, 8,YFUNC,KRETA) CALL INXBIT(KGRIB,KLENG,INSPT,IMANT,1,IBITS, 24,YFUNC,KRETB) KRET = KRETA + KRETB IF( KRET.NE.0) THEN KRET = 708 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting reference value' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C Conversion from GRIB format, if decoding. C IF( LDECODE ) THEN Cd Cd Set IMISS to 1 if entire field is missing, i.e. scale Cd factor, exponent and mantissa with all bits set to 1. Cd IMISS = 0 IF( ISKALE.EQ.JP16SET.AND.IEXP.EQ.JP8SET.AND.IMANT.EQ.JP24SET) X IMISS = 1 Cd Cd Convert GRIB representation to floating point. Cd IF( IMISS.EQ.0) THEN Cd Cd Field is present. CALL DECFP2 (ZREF,IEXP,IMANT) ELSE Cd Cd Field is missing. Print warning message and Cd field identification sections of Grib code, Cd forcing field data values to 0. Cd WRITE(GRPRSM,*) X 'GRIBEX: Following field is missing ***********' CALL GRPRS1 (KSEC0,KSEC1) ZREF = 0 ZSCALE = 0 ENDIF IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Decoded reference value = ',ZREF ENDIF Cd C* Octet 11 : Number of bits containing each packed value. C One 8 bit field. C C Insert / extract field. C IF( .NOT.LGRDPT.OR.KSEC4(4).EQ.0) THEN CALL INXBIT(KGRIB,KLENG,INSPT,KSEC4(2),1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 709 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting number of' WRITE(GRPRSM,*) 'GRIBEX: bits per data value' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C ELSE C C In second-order packing case, this number may differ from C the value specified for normalization process (KSEC4(2)). C Field is inserted later, within function C2ORDR or related C C2* sub-functions. C INSPT=INSPT+8 C ENDIF C IF( LDECODE ) THEN Cd Cd Check if number of bits per packed value = number of bits per Cd computer word. Cd LALLPOS = KSEC4(2) .EQ. IBITS Cd ENDIF C C* Octets 12 et sequentia can contain further header C information, depending on data representation type. C C C* For grid point data, simple packing, single value at each C grid point there is no further header information and C packed data begins in octet 12. C C* For grid point data, simple packing, with a matrix of C values at each grid point further information is added. C IF( LGRDPT .AND.KSEC4(6).EQ.16.AND.KSEC4(4).EQ.0) THEN C C Octets 12 - 13. N - octet number at which packed C data begins. C One 16 bit field. C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C ! ! C ! This is the WMO definition, but it is entirely ! C ! inadequate when secondary bit maps are present ! C ! eg 3x3 global grid with a matrix of values ! C ! 12x26 at each point. This gives a bit map with ! C ! a length of 285480 octets which cannot be given! C ! in 16 bits. ! C ! ! C ! ECMWF uses the following definition for its ! C ! wave model data. ! C ! N - Number of secondary bit maps ! C ! (ie the number of points which are 'not ! C ! missing'). ! C ! This definition will accommodate a 1x1 ! C ! degree global grid. ! C ! ! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C IF( LENCODE ) THEN Ce Ce Octet number = 25 + NC1 + NC2 Ce IBYTEX = 25 + KSEC4(53) + KSEC4(55) Ce Ce Add in length of bit-maps, if present. Ce Length in bits is the number of values Ce remaining to be packed rounded Ce up to a number of octets. Ce IF( KSEC4(9).EQ.32) IBYTEX = IBYTEX + (ILENF+7) / 8 Ce Ce ECMWF wave model usage. Ce ECMWF is centre number 98, and local code table Ce 2 used for wave models is 140. Ce IF( LECLOC .AND.KSEC1(1).EQ.140) THEN IBYTEX = ILENF / (KSEC4(50) * KSEC4(51)) ENDIF ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,IBYTEX,1,IBITS, 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 720 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting octet number' WRITE(GRPRSM,*) 'GRIBEX: at which packed data begins' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C Special fix to handle overflow of this 16-bit field when C a large wave field is being decoded C IF( LLARGE .AND. (IBYTEX.LT.2000) ) IBYTEX = IBYTEX + 65536 C C Octet 14. Extended flags. C One 8 bit field. C IF( LENCODE ) IFLAGX = KSEC4(8) + KSEC4(9) + KSEC4(10) C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,IFLAGX,1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 721 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting extended flag field' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C IF( LDECODE ) THEN Cd Cd In Edition 1 only 3 bits are used. Cd Cd -0------ for single datum at each grid point. Cd -1------ for matrix of values at each point. Cd --0----- for no secondary bit-maps. Cd --1----- for secondary bit-maps present. Cd ---0---- for second order values constant width. Cd ---1---- for second order values different widths. Cd IF( IFLAGX.GE.64) THEN KSEC4(8) = 64 IFLAGX = IFLAGX - 64 ENDIF Cd IF( IFLAGX.GE.32) THEN KSEC4(9) = 32 IFLAGX = IFLAGX - 32 ENDIF Cd IF( IFLAGX.GE.16) THEN KSEC4(10) = 16 IFLAGX = IFLAGX - 16 ENDIF ENDIF C C Octets 15 - 16. NR - first dimension (rows) of C each matrix. C Octets 17 - 18. NC - second dimension (columns) of C each matrix. C Two 16 bit fields. C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC4(50),2,IBITS, 16,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 722 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting first or' WRITE(GRPRSM,*) 'GRIBEX: second dimension of matrix' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C Octet 19. First dimension coordinate values C definition. C Octet 20. NC1 - Number of coefficients or values C used to specify first dimension coordinate function. C Octet 21. Second dimension coordinate values C definition. C Octet 22. NC2 - Number of coefficients or values C used to specify second dimension coordinate function. C Octet 23. First dimension physical significance. C Octet 24. Second dimension physical significance. C Six 8 bit fields. C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC4(52),6,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 723 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting six fields' WRITE(GRPRSM,*) X 'GRIBEX: from 1st dimension coordinate value on' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C Octets 25 - (24+NC1). C Coefficients to define first dimension coordinate C values in functional form, or the explicit C coordinate values. C Octets (25+NC1) - (24+NC1+NC2). C Coefficients to define second dimension coordinate C values in functional form, or the explicit C coordinate values. C (NC1+NC2) 8 bit fields. C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C ! ! C ! This is the WMO definition, but it is very ! C ! limited and can only accommodate small integer ! C ! fields values. ! C ! ! C ! ECMWF needs to use floating point numbers and ! C ! for the wave models the definition is NC1+NC2 ! C ! (8 bit and 24 bit) fields. C ! ! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C ITEMP = KSEC4(53) + KSEC4(55) C C ECMWF wave model usage. C ECMWF is centre number 98, and local code table C 2 used for wave models is 140. C IF( LECLOC .AND.KSEC1(1).EQ.140) THEN ITRND = 1 DO 730 JLOOP=1,ITEMP C C One 8 bit and one 24 bit field. C IF( LENCODE ) THEN Ce Ce Convert floating point to GRIB representation. ISINT = KSEC4(JLOOP+59) ZREAL = ZREAL4 CALL CONFP3 (ZREAL,IEXP,IMANT, IBITS,ITRND) ENDIF C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,IEXP,1,IBITS, 8,YFUNC,KRETA) CALL INXBIT(KGRIB,KLENG,INSPT,IMANT,1,IBITS,24,YFUNC,KRETB) KRET = KRETA + KRETB IF( KRET.NE.0) THEN KRET = 724 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting first or' WRITE(GRPRSM,*) X 'GRIBEX: second dimension coefficients' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C IF( LDECODE ) THEN Cd Cd Convert GRIB representation to floating point. CALL DECFP2 (ZREAL,IEXP,IMANT) ZREAL4 = ZREAL KSEC4(JLOOP+59) = ISINT ENDIF C 730 CONTINUE ELSE C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC4(57),ITEMP, X IBITS,8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 724 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting first or' WRITE(GRPRSM,*) 'GRIBEX: second dimension coefficients' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ENDIF C C Matrix bit-maps may follow. C IF( KSEC4(9).EQ.32) THEN ITEMP = KSEC4(50) * KSEC4(51) IF( LENCODE ) THEN CALL INSMP2 (KGRIB,KLENG,INSPT,PSEC4, X ILENF,IBITS,ZMSVAL,YFUNC, X ITEMP,NDBG,KRET) IF( KRET.NE.0) THEN KRET = 725 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting secondary bit-map' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ILEN = ILENF ELSE Cd Cd Retain pointer to bit-map location. IBMAP2 = INSPT Cd Cd Set pointer to start of packed data. Cd IF( LECLOC .AND.KSEC1(1).EQ.140) THEN ITEMP = KSEC4(50)*KSEC4(51)*IBYTEX ITEMP = (ITEMP+7) / 8 INSPT = INSPT + ITEMP * 8 ELSE INSPT = INSPT + (IBYTEX-25-KSEC4(53) -KSEC4(55)) * 8 ENDIF C ENDIF ENDIF C ENDIF C C* For spherical harmonic data (simple packing), real (0,0) C coefficient is in floating point representation in C octets 12-15. C One 8 bit and one 24 bit field. C IF( LSPHERC ) THEN C C Convert floating point to GRIB representation. ITRND = 1 IF( LENCODE ) CALL CONFP3 (PSEC4(1),IEXP,IMANT,IBITS,ITRND) C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,IEXP,1,IBITS, 8,YFUNC,KRETA) CALL INXBIT(KGRIB,KLENG,INSPT,IMANT,1,IBITS, 24,YFUNC,KRETB) KRET = KRETA + KRETB IF( KRET.NE.0) THEN KRET = 711 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting real coefficient' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C IF( LDECODE .AND. (.NOT. L_IORJ) ) THEN Cd Cd Convert GRIB representation to floating point. Cd IF( IMISS.EQ.1) THEN PSEC4(1) = 0.0 ELSE CALL DECFP2 (PSEC4(1),IEXP,IMANT) ENDIF ENDIF ENDIF C C* Octet N onwards - Packed data. C C If decoding , calculate number of data values, unless C number has been given by user for 'X' function. C IF( LDECODE ) THEN IF( HOPER.EQ.'X') THEN ILEN = KSEC4(34) Cdx Cdx Otherwise, use the byte counts ELSEIF( KSEC4(2).NE.0) THEN ILEN = (IPLEN+(ILEN4*8)-INSPT-INIL)/KSEC4(2) Cd Cd If explicitly constant field, use section 2 information Cd ELSEIF( .NOT.LSECT2 ) THEN KRET = 726 WRITE(GRPRSM,*) X 'GRIBEX: Constant (0-bit) field without section 2' WRITE(GRPRSM,*) 'GRIBEX: not supported' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ELSEIF( LSPHERC ) THEN KRET = 727 WRITE(GRPRSM,*) 'GRIBEX: Constant (0-bit) spectral field' WRITE(GRPRSM,*) 'GRIBEX: not supported' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ELSEIF( HOPER.EQ.'G'.OR.HOPER.EQ.'B') THEN KRET = 728 WRITE(GRPRSM,*) X 'GRIBEX: Constant (0-bit) field: function ',HOPER(:1) WRITE(GRPRSM,*) 'not supported' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ELSEIF( LQUASI ) THEN Cd IF( MOD(KSEC2(11),64).LT.32) THEN INROWS=KSEC2(3) ELSE INROWS=KSEC2(2) ENDIF Cd ILEN=0 Cd DO 740 JLOOP = 1 , INROWS ILEN=ILEN+KSEC2(22+JLOOP) 740 CONTINUE Cd ELSE ILEN=KSEC2(2)*KSEC2(3) ENDIF Cd Cd Total number of values = packed + unpacked. Cd IF( HOPER .EQ. 'B' ) THEN KSEC4(1) = (ILEN+NBYTE-1)/NBYTE KSEC4(21) = ILEN Cd ELSE KSEC4(1) = ILEN + IFPT ENDIF Cd Cd Check length of output array. Cd IF( (KSEC4(1).GT.KLENP) .AND. X (HOPER.NE.'G') .AND. X (HOPER.NE.'J') ) THEN KRET = 710 WRITE(GRPRSM,*) X 'GRIBEX: Output array too small. Length = ',KLENP WRITE(GRPRSM,*) 'GRIBEX: Number of values = ', KSEC4(1) WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd IF( KSEC4(2).EQ.0) THEN C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Explicitly constant field (0-bit).' C C Explicitly constant field, filled directly. C IF( HOPER.NE.'J') THEN C IF( KSEC1(23).EQ.0) THEN ZVAL = ZREF ELSE ZVAL = ZREF / 10.**KSEC1(23) ENDIF C DO 750 JLOOP = 1 , ILEN PSEC4(IFPT+JLOOP) = ZVAL 750 CONTINUE C ENDIF C Cx Option 'X', only a few points extracted. Cx IF( HOPER.EQ.'X') THEN Cx Cx Convert to integer if original data was integer. Cx IF( KSEC4(5).EQ.32 ) CALL RORINT(PSEC4,PSEC4,KSEC4(1),'I') GO TO 900 Cx ENDIF C GOTO 800 C ENDIF C ENDIF C C C* Scale and store, or extract and scale data values. C C Only a few points to be unpacked. C IF( HOPER.EQ.'X') THEN Cx Cx Check that a section 2 is present. Cx IF( .NOT.LSECT2 ) THEN KRET = 798 WRITE(GRPRSM,*) X 'GRIBEX: Function is X but no section 2 included' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cx Cx Check that no bit-map is included. Cx IF( LSECT3 ) THEN KRET = 717 WRITE(GRPRSM,*) X 'GRIBEX: Function is X and a bit-map is included' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cx Cx Check that field is Gaussian or latitude/longitude grid. Cx IF( KSEC2(1).NE.0.AND.KSEC2(1).NE.4.AND. X KSEC2(1).NE.10.AND.KSEC2(1).NE.14.AND. X KSEC2(1).NE.20.AND.KSEC2(1).NE.24.AND. X KSEC2(1).NE.30.AND.KSEC2(1).NE.34) THEN KRET = 716 WRITE(GRPRSM,*) 'GRIBEX: Function is X and field is not' WRITE(GRPRSM,*) X 'GRIBEX: Gaussian or Latitude/longitude field' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cx Cx Check that scanning mode is West to East and North to South. Cx IF( KSEC2(11).NE.0) THEN KRET = 715 WRITE(GRPRSM,*) X 'GRIBEX: Function is X and scanning mode is not' WRITE(GRPRSM,*) 'GRIBEX: North to South and West to East' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cx Cx Check that number of points required does not exceed Cx maximum or minimum allowed. Cx IF( KSEC4(34).GT.4.OR.KSEC4(34).LT.1) THEN KRET = 714 WRITE(GRPRSM,*) X 'GRIBEX: Invalid no. of values for function X = ',KSEC4(34) WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cx ITEMP = 1 Cx Cx Take into account decimal scaling factor, if any. Cx IF( KSEC1(23).NE.0) THEN ZREF = ZREF / 10.**KSEC1(23) ZSCALE = ZSCALE / 10.**KSEC1(23) ENDIF Cx Cx Skip down latitude rows. DO 770 JLOOPO = 1,KSEC4(34) Cx Cx Regular grid. IF( .NOT. LQUASI) THEN ISKIP = (KSEC4(34+ITEMP)-1) * KSEC2(2) Cx Cx Quasi-regular grid. ELSE ISKIP = 0 DO 760 JLOOP = 1,KSEC4(34+ITEMP) - 1 ISKIP = ISKIP + KSEC2(22+JLOOP) 760 CONTINUE ENDIF Cx Cx Skip any points not required on this latitude row. ISKIP = ISKIP + KSEC4(34+ITEMP+1) - 1 Cx Cx Calculate number of bits in these values and add Cx to current value of bit-pointer. ISKIP = ISKIP * KSEC4(2) + INSPT Cx Cx Extract value from 1 point. CALL INXBIT(KGRIB,KLENG,ISKIP,IJDC,1, X IBITS,KSEC4(2),YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 712 WRITE(GRPRSM,*) 'GRIBEX: Error extracting data values' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF IJDCXX = IJDC Cx IF( KSEC4(5).EQ.32 ) THEN Cx Cx Integer values Cx #if (defined REAL_BIGGER_THAN_INTEGER) PSEC4(JLOOPO) = ZREF + DBLE(IJDCXX)*ZSCALE #else PSEC4(JLOOPO) = ZREF + IJDCXX*ZSCALE #endif IJDCXX = PSEC4(JLOOPO) PSEC4(JLOOPO) = RJDCXX Cx ELSE Cx Cx Real values Cx #if (defined REAL_BIGGER_THAN_INTEGER) PSEC4(JLOOPO) = ZREF + DBLE(IJDCXX)*ZSCALE #else PSEC4(JLOOPO) = ZREF + IJDCXX*ZSCALE #endif ENDIF ITEMP = ITEMP + 2 770 CONTINUE Cx GOTO 900 ENDIF C C******************************************************************* C All data to be unpacked or packed. C******************************************************************* C C Scale the fields using the reference value and scaling factor C IF( LENCODE .AND. (HOPER .NE. 'A') ) X CALL INSCAL(PSEC4(IFPT+1),PSEC4(IFPT+1),ILEN,ZREF,ZSCALE,NBPV) C C Insert / extract fields, unless special 'G' operation or C if 'J' option in effect. C IF( LENCODE.AND.LGRDPT.AND.(KSEC4(4).NE.0.OR.HOPER.EQ.'K')) THEN Ce Ce******************************************* Ce Ce Complex packing ("second-order packing") for grid-point. Ce INSPT=INSPT-11*8 KRET = C2ORDR( PSEC4, KLENP, KSEC1, KSEC2, KSEC3, KSEC4, X KGRIB, KLENG, INSPT, IBITS, HOPER, IBMAP, X IVALS, ZREF, ZMAX, ILEN, NDBG ) Ce Ce Give up if error reported. IF( KRET .NE. 0 ) GOTO 900 Ce C ELSEIF( (HOPER.NE.'G') .AND. (.NOT.L_IORJ) ) THEN Cd #ifdef REAL_BIGGER_THAN_INTEGER IF( LDECODE .AND. (HOPER.NE.'B') ) THEN Cd Cd Split the values into groups of length 'JPNSEC4' (maximum) Cd ILOOPS = 1+(ILEN-1)/JPNSEC4 IINDEX = IFPT Cd DO 785 JLOOPO = 1, ILOOPS ILNGTH = MIN(JPNSEC4,ILEN-(JLOOPO-1)*JPNSEC4) CALL INXBIT(KGRIB,KLENG,INSPT,NSEC4,ILNGTH, X IBITS,KSEC4(2),YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 712 WRITE(GRPRSM,*) 'GRIBEX: Error extracting data values' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF DO 780 JLOOP = 1, ILNGTH PSEC4(IINDEX + JLOOP) = ZREF + NSEC4(JLOOP)*ZSCALE 780 CONTINUE IINDEX = IINDEX + ILNGTH 785 CONTINUE Cd Cd Change units of data values, if required. Cd IF( KSEC1(23).NE.0) THEN DO 790 JLOOP = 1 , KSEC4(1) PSEC4(JLOOP) = PSEC4(JLOOP)/10.0**KSEC1(23) 790 CONTINUE ENDIF GOTO 799 ENDIF Cb Cb Handle data for option 'B' Cb IF( HOPER.EQ.'B' ) THEN Cb ILOOPS = 1+(ILEN/NBYTE-1)/JPNSEC4 IINDEX = IFPT Cb DO 794 JLOOPO = 1, ILOOPS ILNGTH = MIN(JPNSEC4,ILEN-(JLOOPO-1)*JPNSEC4) CALL INXBIT(KGRIB,KLENG,INSPT,NSEC4,ILNGTH, X IBITS,KSEC4(2),YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 712 WRITE(GRPRSM,*) 'GRIBEX: Error extracting data values' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cb DO 792 JLOOP = 1, ILNGTH PSEC4(IINDEX + JLOOP) = XSEC4(JLOOP) 792 CONTINUE Cb IINDEX = IINDEX + ILNGTH 794 CONTINUE Cb GOTO 799 Cb ENDIF #endif C IF( (HOPER.NE.'A') .AND. (HOPER.NE.'B') ) THEN CALL INXBIT( KGRIB,KLENG,INSPT,PSEC4(IFPT+1),ILEN, X IBITS,KSEC4(2),YFUNC,KRET) ELSE CALL INXBIT( KGRIB,KLENG,INSPT,PSEC4(IFPT+1),ILEN/NBYTE, X IBITS,IBITS,YFUNC,KRET) ENDIF IF( KRET.NE.0) THEN KRET = 712 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting data values' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C ELSE C Cgj Option 'G' or 'J' in effect. Cgj KSEC4(34) = INSPT C IF( .NOT. L_IORJ ) THEN Cg Cg Option 'G' ... Cg Cg Return reference value, binary scale factor and Cg bit pointer to start of packed data. C PSEC4(1) = ZREF PSEC4(2) = ZSCALE ENDIF Cj IF( HOPER.EQ.'J' ) GOTO 815 Cj GO TO 900 Cd ENDIF C 796 CONTINUE C IF( LDECODE .AND. (HOPER .NE. 'B') ) THEN Cd CALL EXSCAL(PSEC4(IFPT+1),PSEC4(IFPT+1),ILEN,ZREF,ZSCALE,LALLPOS) Cd Cd Change units of data values, if required. Cd IF( KSEC1(23).NE.0) THEN DO 798 JLOOP = 1 , KSEC4(1) PSEC4(JLOOP) = PSEC4(JLOOP)/10.0**KSEC1(23) 798 CONTINUE ENDIF Cd ENDIF C 799 CONTINUE C C* Enter length of binary data section, ensuring that the C length is an even number of octets, padding with binary C zeroes as required. C One 24 bit field. C IF( YFUNC.NE.'C') GO TO 800 Ce Ce Length of section 4, in bits. Ce ILEN4 = INSPT - IPLEN IL = ILEN4 / 16 IL = ILEN4 - ( IL * 16 ) INIL = 0 IF( IL.NE.0) THEN INIL = 16 - IL Ce Ce Insert padding zeroes at end of section 4 Ce ITEMP = 0 CALL INXBIT(KGRIB,KLENG,INSPT,ITEMP,1,IBITS,INIL,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 734 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting padding zeroes at end of section 4' WRITE(GRPRSM,*) 'GRIBEX: Return code = ',KRET GO TO 900 ENDIF ILEN4 = ILEN4 + INIL ENDIF Ce ILEN4 = ILEN4 / 8 Ce Ce Because of the restriction on product lengths to 3 octets, Ce if a very large product, the section 4 length field holds Ce the number of bytes in the product after section 4 upto Ce the end of the padding bytes. Ce This is only feasible because the (default) rounding for Ce GRIB products is 120 bytes. Ce In this case, delay encoding the value until section 5 has Ce been encoded. Ce IF( ILEN4.GE.JP23SET ) THEN LLARGE = .TRUE. IPLEN = IPLEN + 24 ELSE Ce Ce Insert field. CALL INXBIT(KGRIB,KLENG,IPLEN,ILEN4,1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 701 WRITE(GRPRSM,*) 'GRIBEX: Error inserting section 4 length' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ENDIF Ce Ce Enter flag / unused bits field. Ce One 8 bit field. Ce Two 4 bit fields. Ce IFLAG = KSEC4(3) + KSEC4(4) + KSEC4(5) + KSEC4(6) IFLAG = IFLAG + INIL Ce Ce Print number of unused bits, if required. IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Number of unused bits is ',INIL,'.' Ce Ce Insert field. CALL INXBIT(KGRIB,KLENG,IPLEN,IFLAG,1,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 713 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting/extracting flag and unused bit field' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF C C -----------------------------------------------------------------| C C C C C C C C C C C* Section 8 . Code/decode End Section (Section 5) of GRIB code. C -----------------------------------------------------------------| C 800 CONTINUE C IF( LPDEBUG ) WRITE(GRPRSM,*) X 'GRIBEX: Section 8. Handle End Section (Section 5)' C C* Ascii 7 7 7 7 at end of coded data. C Four 8 bit fields. C IF( LENCODE ) THEN Ce Ce Insert field. IP7777 = INSPT CALL INXBIT(KGRIB,KLENG,INSPT,I7777(1),4,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 801 WRITE(GRPRSM,*) 'GRIBEX: Error inserting 7777 group' WRITE(GRPRSM,*) 'GRIBEX: Return code = ',KRET GO TO 900 ENDIF Ce Ce Length of GRIB message. KSEC0(1) = INSPT / 8 ITEMP = KSEC0(1) Ce Ce Because of the restriction on product lengths to 3 octets, if Ce more than 24 bits is needed, rescale by a factor of -120 to give Ce a (smaller) negative count. It is only possible because Ce the (default) rounding for GRIB products is 120 bytes. Ce IF( ITEMP.GE.JP23SET ) THEN LLARGE = .TRUE. ELSE Ce Ce When encoding, use most-significant bit as a sign bit. Ce CALL CSGNBT( KSEC0(1), ITEMP, 24, KRET) Ce Ce Insert field. ITEMP = 32 CALL INXBIT(KGRIB,KLENG,ITEMP,KSEC0(1),1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 802 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting length of GRIB message' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ENDIF Ce Cjdc ELSE ENDIF Cj Cj 'J' option jumps here for possible bitmap adjustment Cj to number of values in field section 4. Cj 815 CONTINUE C IF( LDECODE ) THEN Cj IF( L_IORJ ) GOTO 816 Cj Cd Skip padding. INSPT = INSPT + INIL Cd CALL INXBIT(KGRIB,KLENG,INSPT,IPARM(1),4,IBITS, 8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 801 WRITE(GRPRSM,*) 'GRIBEX: Error extracting 7777 group' WRITE(GRPRSM,*) 'GRIBEX: Return code = ',KRET GO TO 900 ENDIF Cd Check that length is consistent with the number of the header file Cd this will not happen for very large grib products with the *120 nightmare fix Cd in this *120 case the KSEC0(1) is updated with the value of the pointer/8 IF( LLARGE) THEN IF( KSEC0(1).NE.INSPT/8) THEN IF( LPDEBUG ) THEN WRITE(GRPRSM,*) 'GRIBEX: Large product found', KSEC0(1) ENDIF KSEC0(1) = INSPT/8 IF( LPDEBUG ) THEN WRITE(GRPRSM,*) 'GRIBEX: KSEC0(1) updated to = ', KSEC0(1) ENDIF ENDIF ENDIF Cd Cd Check that 7777 group is found where expected. ICOUNT = 0 DO 810 JLOOP = 1 , 4 IF( IPARM(JLOOP).NE.55) ICOUNT = ICOUNT + 1 810 CONTINUE IF( ICOUNT.NE.0) THEN KRET = 805 WRITE(GRPRSM,*) X 'GRIBEX: End of message 7777 group not found.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Cd Cd Final handling when bit-maps included. Cd 816 CONTINUE Cd IF( LSECT3 ) THEN Cd Cd Bit-map included in GRIB message. IF( KSEC3(1).EQ.0) THEN Cd IF( KSEC4(8).EQ.0.OR.KSEC4(9).EQ.0) THEN Cd Cd Single value at each point. Cd ITEMP = 1 Cd Cd Pointer IBMAP2 is set negative if there Cd are no matrix bit-maps. Cd IBMAP2 = -1 ITEMP = 1 ELSE Cd Cd Matrix of values at a point. Cd ITEMP = KSEC4(50) * KSEC4(51) ENDIF Cd IF( .NOT.L_IORJ ) THEN Cd Cd Check user array is big enough before using bitmap to Cd fill missing data values (not relevant for 'J' option) Cd IF( KLENP .LT. (IVALS*ITEMP) ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Output array is not big enough to' WRITE(GRPRSM,*) X 'GRIBEX: allow expansion using bitmaps' KRET = 729 GOTO 900 ENDIF Cd Cd Expand using bitmaps Cd CALL EXTMAP(KGRIB,KLENG,IBMAP,IBMAP2,KSEC4(1),PSEC4,IVALS, X IBITS,ISBMAP,ZMSVAL,ITEMP,NDBG,KRET,NONMISS) IF( KRET.NE.0) THEN KRET = 806 WRITE(GRPRSM,*) X 'GRIBEX: Error extracting primary/secondary bit map.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF KSEC4(1) = IVALS*ITEMP Cj ELSE IF( HOPER.EQ.'J' ) THEN Cj Cj Cannot handle secondary bitmaps for 'J' option counting Cj IF( IBMAP2.NE.-1 ) THEN WRITE(GRPRSM,*) X 'GRIBEX: Cannot handle 2ndary bitmaps for J option' KRET = 811 GOTO 900 Cj ELSE Cj Cj Count bits in primary bitmap only ('J' option) Cj IS3BYTE = (IBMAP/8 - 6) NONMISS = ONEBITS(KGRIB,IS3BYTE) KSEC4(21) = NONMISS KSEC4(1) = IVALS ENDIF ENDIF Cd ELSE #ifdef USE_NO_POINTERS WRITE(GRPRSM,*) X 'GRIBEX: predetermined bit-map reference not handled' KRET = 735 GOTO 900 #else Cd Cd Predetermined bit-map reference only. Cd (Secondary bitmaps not handled in this case). Cd IBMAP2 = -1 Cd Cd Single value at each point. Cd ITEMP = 1 Cd Cd Get the bitmask Cd KRET = GBITMAP(KSEC3(1), IBTVALS, NONMISS, IBTPTR, NBYTE) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,*) 'GRIBEX: Problem getting bitmap' GOTO 900 ENDIF Cd Cd Expand using bitmap Cd IBMAP = 0 Cd Cd Set integer or real missing data value. Cd IF( KSEC4(5) .EQ. 0 ) THEN ZMSVAL = PSEC3(2) ELSE ZMSVAL = REAL(KSEC3(2)) ENDIF CALL EXTMAP(IBTMAP, KLENG, IBMAP, IBMAP2, KSEC4(1), PSEC4, X IBTVALS,IBITS, ISBMAP,ZMSVAL, ITEMP, NDBG, KRET, X NONMISS) IF( KRET.NE.0) THEN KRET = 806 WRITE(GRPRSM,*) X 'GRIBEX: Error extracting primary or secondary bit map.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF KSEC4(1) = IBTVALS*ITEMP Cd #endif ENDIF ENDIF Cd #ifndef USE_NO_POINTERS Cd Cd If required, convert quasi-regular grid to regular. Cd IF( HOPER.EQ.'R'.AND.LQUASI) THEN Cr Cr Quasi-regular gaussian .. Cr IF( (KSEC2(1).EQ. 4).OR. X (KSEC2(1).EQ.14).OR. X (KSEC2(1).EQ.24).OR. X (KSEC2(1).EQ.34) ) THEN Cr Cr Gaussian grid must be global Cr INOLAT = KSEC2(10) * 2 Cr IF( KSEC2(3).NE.INOLAT ) THEN KRET = 808 WRITE(GRPRSM,*) X 'GRIBEX: Error converting quasi-regular gaussian grid' WRITE(GRPRSM,*) 'GRIBEX: to regular. Grid must be global.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ',KRET GO TO 900 ENDIF Cr INOLNG = INOLAT * 2 KSEC2(9) = NINT(360000.0/REAL(INOLNG)) LPERIO = .TRUE. C C Some ECMWF 'vegetation' parameters have to be interpolated C using 'nearest neighbour' processing C NITABLE = KSEC1(1) NICENTRE = KSEC1(2) NIPARAM = KSEC1(6) LVEGGY = (NITABLE.EQ.128).AND. X (NICENTRE.EQ.98).AND. X ((NIPARAM.EQ.27).OR. X (NIPARAM.EQ.28).OR. X (NIPARAM.EQ.29).OR. X (NIPARAM.EQ.30)) IF( LPDEBUG ) THEN IF( LVEGGY ) WRITE(GRPRSM,*) X 'GRIBEX: Nearest neighbour processing used for R option' ENDIF CALL QU2REG3(PSEC4,KSEC2(23),INOLAT,INOLNG,1,ZMSVAL,KRET, X LSECT3,LPERIO,LVEGGY) IF( KRET .NE. 0 ) THEN KRET = 808 WRITE(GRPRSM,*) X 'GRIBEX: Error converting quasi-regular gaussian grid' WRITE(GRPRSM,*) X 'GRIBEX: to regular. Return code = ',KRET GO TO 900 ENDIF Cr Cr Quasi-regular latitude-longitude .. Cr ELSE IF( (KSEC2(1).EQ. 0).OR. X (KSEC2(1).EQ.10).OR. X (KSEC2(1).EQ.20).OR. X (KSEC2(1).EQ.30) ) THEN INOLAT = IABS(KSEC2(4) - KSEC2(7)) IEAST = KSEC2(5) Cr Cr Special case: symmetrical about equator, no equator Cr Have to calculate extreme longitude Cr (Fixup for reduced lat/long grids reporting last point Cr correctly) Cr IF((MOD(KSEC2(3),2).EQ.0).AND.(KSEC2(4).EQ.(-KSEC2(7))))THEN N = KSEC2(3)/2 NP = KSEC2(22+N) NINC = 360000/NP KSEC2(8) = IEAST + NINC*(NP-1) KSEC2(9) = NINC ENDIF IWEST = KSEC2(8) IF( IWEST .LT. IEAST ) IWEST = IWEST + 360000 INOLNG = IABS(IWEST - IEAST) Cr Cr Allow for missing Di or Dj increment. Cr IF( KSEC2(9) .EQ. IMISNG ) THEN INOLAT = 1 + INOLAT/ KSEC2(10) INOLNG = 1 + INOLNG/ KSEC2(10) KSEC2(9) = KSEC2(10) ELSE INOLAT = 1 + INOLAT/ KSEC2(9) INOLNG = 1 + INOLNG/ KSEC2(9) KSEC2(10) = KSEC2(9) ENDIF Cr Cr Check if input domain is periodic. Cr ILOEXT = KSEC2(8)+(1-2*(KSEC2(11)/128))*KSEC2(9) LPERIO = MOD( IABS(ILOEXT-KSEC2(5) ), 360000) .EQ. 0 CALL QU2REG3(PSEC4,KSEC2(23),INOLAT,INOLNG,1,ZMSVAL,KRET, X LSECT3,LPERIO,LVEGGY) IF( KRET .NE. 0 ) THEN KRET = 808 WRITE(GRPRSM,*) X 'GRIBEX: Error converting quasi-regular gaussian grid' WRITE(GRPRSM,*) X 'GRIBEX: to regular. Return code = ',KRET GO TO 900 ENDIF Cr ENDIF Cr KSEC4(1) = INOLAT * INOLNG KSEC2(2) = INOLNG KSEC2(3) = INOLAT KSEC2(6) = 128 KSEC2(17) = 0 LQUASI = .FALSE. ENDIF #endif Cj IF( HOPER.EQ.'J' ) GOTO 900 Cj Cd Cd Convert to integer if original data was integer. Cd IF( ( KSEC4(5) .EQ. 32 ) .AND. (HOPER.NE.'B') ) X CALL RORINT(PSEC4,PSEC4,KSEC4(1),'I') Cd Cd Set number of values decoded negative, if missing data. Cd IF( IMISS.EQ.1) KSEC4(1) = - KSEC4(1) Cd Cd If GRIB Edition number is -1 or 0, set GRIB message Cd length for return to user. Cd IF( KSEC0(2).EQ.-1.OR.KSEC0(2).EQ.0) KSEC0(1) = INSPT / 8 Cd GO TO 900 Cd ENDIF C C* Set unused part of last word to binary zeroes. C KWORD = INSPT / IBITS ITEMP = KWORD * IBITS IOFF = INSPT - ITEMP IF( IOFF.NE.0) THEN CALL INXBIT(KGRIB,KLENG,INSPT,0,1,IBITS,(IBITS-IOFF),YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 809 WRITE(GRPRSM,*) X 'GRIBEX: Error padding unused part of GRIB to zero' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF KWORD = KWORD + 1 ENDIF C C* Round length to a multiple of 120 octets, if required, C Set any additional words to 0. C IF( (NRND.EQ.1).OR.LLARGE ) THEN I = INSPT / 960 I = I * 960 I = INSPT - I IF( I.NE.0) THEN I = (960 - I) ITEMP = MOD(I,8) CALL INXBIT(KGRIB,KLENG,INSPT,0,1,IBITS,ITEMP,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 810 WRITE(GRPRSM,*) X 'GRIBEX: Error padding GRIB to multiple of 120' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ITEMP = I/8 DO 820 JLOOP = 1, ITEMP CALL INXBIT(KGRIB,KLENG,INSPT,0,1,IBITS,8,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 810 WRITE(GRPRSM,*) X 'GRIBEX: Error padding GRIB to multiple of 120' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF 820 CONTINUE I = I / IBITS ENDIF KWORD = KWORD + I ENDIF Ce IF( LLARGE.AND.LENCODE ) THEN Ce Ce Because of the restriction on product lengths to 3 octets, if Ce more than 24 bits is needed, rescale by a factor of -120 to give Ce a (smaller) negative count. It is only possible because Ce the (default) rounding for GRIB products is 120 bytes. Ce ITEMP = (KWORD*(IBITS/8)) / (-120) Ce Ce When encoding, use most-significant bit as a sign bit. Ce CALL CSGNBT( KSEC0(1), ITEMP, 24, KRET) Ce Ce Insert product length field. ITEMP = 32 CALL INXBIT(KGRIB,KLENG,ITEMP,KSEC0(1),1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 802 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting length of GRIB message' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF Ce Ce If encoding a very large product, the section 4 length field Ce holds the number of bytes in the product after section 4 upto Ce the end of the padding bytes. In this case, the setting Ce of this field has been postponed upto this point. Ce IPLEN = IPLEN - 32 ILEN4 = KWORD*(IBITS/8) - (IP7777/8) Ce Ce Insert section 4 length. CALL INXBIT(KGRIB,KLENG,IPLEN,ILEN4,1,IBITS, 24,YFUNC,KRET) IF( KRET.NE.0) THEN KRET = 802 WRITE(GRPRSM,*) X 'GRIBEX: Error inserting length of GRIB section 4' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', KRET GO TO 900 ENDIF ENDIF C C -----------------------------------------------------------------| C C C C C C C C C C C* Section 9 . Abort/return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C IF( LPDEBUG ) THEN WRITE(GRPRSM,*) 'GRIBEX: Section 9.' WRITE(GRPRSM,*) 'GRIBEX: Output values set -' IF( LDECODE ) THEN CALL GRPRS0(KSEC0) CALL GRPRS1(KSEC0,KSEC1) Cd Cd Print section 2 if present. Cd IF( LSECT2 ) CALL GRPRS2(KSEC0,KSEC2,PSEC2) Cd Cd Print section 3 if present. Cd IF( LSECT3 ) CALL GRPRS3(KSEC0,KSEC3,PSEC3) Cd CALL GRPRS4(KSEC0,KSEC4,PSEC4) Cd Cd Special print for 2D spectra wave field real values in Cd section 4 Cd IF( (KSEC1(1).EQ.140) .AND. X (KSEC1(2).EQ. 98) .AND. X (KSEC1(24).EQ. 1) .AND. X ( (KSEC1(40).EQ.1045).OR.(KSEC1(40).EQ.1081) ) .AND. X ( (KSEC1(6) .EQ. 250).OR.(KSEC1(6) .EQ. 251) ) ) X CALL GRPRS4W(KSEC4) ENDIF ENDIF C C Effective number of points in masked field returned in KSEC4(21). C Bit-map pointer within masked field returned in KSEC4(22). C IF( LSECT3 ) THEN KSEC4(21) = NONMISS KSEC4(22) = IBMAP ENDIF C C Length of section 4 (octets) in KSEC4(23). C Unused bit count returned in KSEC4(24). C KSEC4(23) = ILEN4 KSEC4(24) = INIL C C* If no error has been encountered, set return code to informative C value, if required. C C Set pseudo-GRIB data encountered. C IF( KRET.EQ.0.AND.IPSEUD.NE.0) KRET = IPSEUD C C Set data with bit-map encountered (unless 'J' option in use). C IF( (KRET.EQ.0.AND.ISBMAP.NE.0).AND.(HOPER.NE.'J')) KRET = ISBMAP C C Dumping data values on a file if an error occurs and the environment C variable GRIBEX_DUMP_DATA_ON_ERROR is set IF (( HOPER.EQ.'C'.OR.HOPER.EQ.'M'.OR.HOPER.EQ.'K') x .AND.DUMPDATA.NE.0) THEN OPEN(IDUMP,FILE=DUMPPATH,FORM='FORMATTED',STATUS='UNKNOWN') do jloop=1,klenp write(IDUMP,'(E20.10)') PSEC4(jloop) enddo close(IDUMP) ENDIF C C* Abort if an error has been encountered and user has requested C an abort. Informative values are negative and do not cause an C abort. C IF( (NOABORT.EQ.0) .AND. (KRET.GT.0) ) THEN C C Try to print some useful information before aborting C WRITE(GRPRSM,*) 'GRIBEX: ********************************' WRITE(GRPRSM,*) 'GRIBEX: Version is ',YGRIBEX WRITE(GRPRSM,*) 'GRIBEX: KLENP = ', KLENP WRITE(GRPRSM,*) 'GRIBEX: KLENG = ', KLENG WRITE(GRPRSM,*) 'GRIBEX: HOPER = ', HOPER WRITE(GRPRSM,*) 'GRIBEX: ********************************' DO 910 JLOOP = 1, 43 WRITE(GRPRSM,*) 'GRIBEX: KSEC1(',JLOOP,') = ', KSEC1(JLOOP) 910 CONTINUE WRITE(GRPRSM,*) 'GRIBEX: ********************************' DO 920 JLOOP = 1, 22 WRITE(GRPRSM,*) 'GRIBEX: KSEC2(',JLOOP,') = ', KSEC2(JLOOP) 920 CONTINUE WRITE(GRPRSM,*) 'GRIBEX: ********************************' DO 930 JLOOP = 1, 10 WRITE(GRPRSM,*) 'GRIBEX: PSEC2(',JLOOP,') = ', PSEC2(JLOOP) 930 CONTINUE WRITE(GRPRSM,*) 'GRIBEX: ********************************' DO 940 JLOOP = 1, 2 WRITE(GRPRSM,*) 'GRIBEX: KSEC3(',JLOOP,') = ', KSEC3(JLOOP) 940 CONTINUE WRITE(GRPRSM,*) 'GRIBEX: ********************************' DO 950 JLOOP = 1, 2 WRITE(GRPRSM,*) 'GRIBEX: PSEC3(',JLOOP,') = ', PSEC3(JLOOP) 950 CONTINUE WRITE(GRPRSM,*) 'GRIBEX: ********************************' DO 960 JLOOP = 1, 20 WRITE(GRPRSM,*) 'GRIBEX: KSEC4(',JLOOP,') = ', KSEC4(JLOOP) 960 CONTINUE WRITE(GRPRSM,*) 'GRIBEX: ********************************' DO 970 JLOOP = 1, 20 WRITE(GRPRSM,*) 'GRIBEX: PSEC4(',JLOOP,') = ', PSEC4(JLOOP) 970 CONTINUE WRITE(GRPRSM,*) 'GRIBEX: ********************************' CALL ABORTX ('GRIBEX') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/gdecode2.h0000755000175000017500000000476712127406245020604 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef GDECODE2_H #define GDECODE2_H #ifdef FORTRAN_NO_UNDERSCORE #define IG2NUMB ig2numb #define RG2NUMB rg2numb #define IG2TOTL ig2totl #define RG2TOTL rg2totl #define IG2METH ig2meth #define RG2METH rg2meth #define IG2CFCL ig2cfcl #define RG2CFCL rg2cfcl #define IG2ELON ig2elon #define RG2ELON rg2elon #define IG2NLAT ig2nlat #define RG2NLAT rg2nlat #define IG2SLAT ig2slat #define RG2SLAT rg2slat #define IG2WLON ig2wlon #define RG2WLON rg2wlon #define IG2END ig2end #define RG2END rg2end #define IG2NUCL ig2nucl #define RG2NUCL rg2nucl #define IG2OPCL ig2opcl #define RG2OPCL rg2opcl #define IG2STAR ig2star #define RG2STAR rg2star #define IG2LIST ig2list #else #define IG2NUMB ig2numb_ #define RG2NUMB rg2numb_ #define IG2TOTL ig2totl_ #define RG2TOTL rg2totl_ #define IG2METH ig2meth_ #define RG2METH rg2meth_ #define IG2CFCL ig2cfcl_ #define RG2CFCL rg2cfcl_ #define IG2ELON ig2elon_ #define RG2ELON rg2elon_ #define IG2NLAT ig2nlat_ #define RG2NLAT rg2nlat_ #define IG2SLAT ig2slat_ #define RG2SLAT rg2slat_ #define IG2WLON ig2wlon_ #define RG2WLON rg2wlon_ #define IG2END ig2end_ #define RG2END rg2end_ #define IG2NUCL ig2nucl_ #define RG2NUCL rg2nucl_ #define IG2OPCL ig2opcl_ #define RG2OPCL rg2opcl_ #define IG2STAR ig2star_ #define RG2STAR rg2star_ #define IG2LIST ig2list_ #endif fortint IG2NUMB(gribProduct **); fortdouble RG2NUMB(gribProduct **); fortint IG2TOTL(gribProduct **); fortdouble RG2TOTL(gribProduct **); fortint IG2METH(gribProduct **); fortdouble RG2METH(gribProduct **); fortint IG2CFCL(gribProduct **); fortdouble RG2CFCL(gribProduct **); fortint IG2ELON(gribProduct **); fortdouble RG2ELON(gribProduct **); fortint IG2NLAT(gribProduct **); fortdouble RG2NLAT(gribProduct **); fortint IG2SLAT(gribProduct **); fortdouble RG2SLAT(gribProduct **); fortint IG2WLON(gribProduct **); fortdouble RG2WLON(gribProduct **); fortint IG2END(gribProduct **); fortdouble RG2END(gribProduct **); fortint IG2NUCL(gribProduct **); fortdouble RG2NUCL(gribProduct **); fortint IG2OPCL(gribProduct **); fortdouble RG2OPCL(gribProduct **); fortint IG2STAR(gribProduct **); fortdouble RG2STAR(gribProduct **); #endif /* end of GDECODE2_H */ emoslib-000392+dfsg.1/gribex/getib1.F0000755000175000017500000001030512127406245020222 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETIB1 (KLIB1,KIB1,KLENG,KARRAY,KPR,KRET) C C----> C**** GETIB1 - Get values from section 1 of GRIB code. C C Purpose. C -------- C C Get integer values from section 1 of unpacked GRIB or C pseudo-GRIB records, retrieved from MARS. C C** Interface. C ---------- C C CALL GETIB1 (KLIB1,KIB1,KLENG,KARRAY,KPR,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input parameters. C ----------------- C C KIB1 - Array to receive section 1 values. C KLENG - Length of this array. C KARRAY - Array containing unpacked record. C KPR - Debug print switch. C 0 , No printout. C 1 , Debug printout. C 2 , Print section 1 values. C C KRET - Abort/no abort when error found. C 0 , Abort if error found. C Non-zero , no abort when error found. C C Output parameters. C ------------------ C C KIB1 - Array containing values from section 1. C KLIB1 - Number of values in this array. C KRET - Error return code. C 0 , No error encountered. C 1 , Target array too small. C C Method. C ------- C C Unpacked data is in self defining records. The required C values are located and extracted. C C Externals. C ---------- C C PRTBK1 C C Reference. C ---------- C C See MARS format documentation re GRIB, pseudo-GRIB and C unpacked formats. C C Comments. C --------- C C Program contains sections 0 to 2 and section 9. C C Author. C ------- C C J. Hennessy ECMWF 18:06:86. C C Modifications C -------------- C C None. C C --------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------ C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C DIMENSION KARRAY(*) DIMENSION KIB1(KLENG) C C --------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. Check input parameters. C ------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIB1 : Section 1.' C IRET = KRET KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Extract values . Print if required. C ----------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIB1 : Section 2.' C KLIB1 = KARRAY(2) C IF (KLENG.LT.KLIB1) C THEN KRET = 1 WRITE (*,9001) KRET , KLIB1 GO TO 9000 ENDIF C DO 2010 J=1,KLIB1 KIB1(J) = KARRAY(J+2) 2010 CONTINUE C IF (KPR.GT.0) CALL PRTBK1(KIB1) C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 9 . Return to calling routine or abort. Format statements. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIB1 : Section 9.' C IF (KRET.NE.0.AND.IRET.EQ.0) CALL ABORT C RETURN C C 9001 FORMAT (1H ,'GETIB1 : Error code = ',I3,'. Target array must be ', C ' at least ',I5,' words long.') C C ------------------------------------------------------------------ C C END emoslib-000392+dfsg.1/gribex/sources.ibm_power70000755000175000017500000000661612127406245022431 0ustar amckinstryamckinstry# # Sources for libemos/gribex for rs6000. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gsbite.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/ECMWFdefinitions.h0000755000175000017500000002370012127406245022211 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef ECMWFDEFNS_H #define ECMWFDEFNS_H #include "fortint.h" void encodeMarsPart(fortint * inputArray, unsigned char * gribSection1); void decodeMarsPart(fortint * outputArray, unsigned char * gribSection1); fortint e_def_1(fortint * inputArray, unsigned char * gribSection1); fortint d_def_1(fortint * outputArray, unsigned char * gribSection1); fortint e_def_2(fortint * inputArray, unsigned char * gribSection1); fortint d_def_2(fortint * outputArray, unsigned char * gribSection1); fortint e_def_3(fortint * inputArray, unsigned char * gribSection1); fortint d_def_3(fortint * outputArray, unsigned char * gribSection1); fortint e_def_4( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_4( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_5(fortint * inputArray, unsigned char * gribSection1); fortint d_def_5(fortint * outputArray, unsigned char * gribSection1); fortint e_def_6( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_6( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_7(fortint * inputArray, unsigned char * gribSection1); fortint d_def_7(fortint * outputArray, unsigned char * gribSection1); fortint e_def_8(fortint * inputArray, unsigned char * gribSection1); fortint d_def_8(fortint * outputArray, unsigned char * gribSection1); fortint e_def_9(fortint * inputArray, unsigned char * gribSection1); fortint d_def_9(fortint * outputArray, unsigned char * gribSection1); fortint e_def_10( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_10( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_11(fortint * inputArray, unsigned char * gribSection1); fortint d_def_11(fortint * outputArray, unsigned char * gribSection1); fortint e_def_13( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_13( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_14(fortint * inputArray, unsigned char * gribSection1); fortint d_def_14(fortint * outputArray, unsigned char * gribSection1); fortint e_def_15(fortint * inputArray, unsigned char * gribSection1); fortint d_def_15(fortint * outputArray, unsigned char * gribSection1); fortint e_def_16(fortint * inputArray, unsigned char * gribSection1); fortint d_def_16(fortint * outputArray, unsigned char * gribSection1); fortint e_def_17( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_17( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_18(fortint * inputArray, unsigned char * gribSection1); fortint d_def_18(fortint * outputArray, unsigned char * gribSection1); fortint e_def_19(fortint * inputArray, unsigned char * gribSection1); fortint d_def_19(fortint * outputArray, unsigned char * gribSection1); fortint e_def_20(fortint * inputArray, unsigned char * gribSection1); fortint d_def_20(fortint * outputArray, unsigned char * gribSection1); fortint e_def_21(fortint * inputArray, unsigned char * gribSection1); fortint d_def_21(fortint * outputArray, unsigned char * gribSection1); fortint e_def_22(fortint * inputArray, unsigned char * gribSection1); fortint d_def_22(fortint * outputArray, unsigned char * gribSection1); fortint e_def_23( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_23( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_50(fortint * inputArray, unsigned char * gribSection1); fortint d_def_50(fortint * outputArray, unsigned char * gribSection1); fortint e_def_190( fortint * inputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes, fortint * bitPointer); fortint d_def_190( fortint * outputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes, fortint * bitPointer); fortint e_def_191( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_191( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_x( fortint * definitionNumber, fortint * outputArray, unsigned char * gribSection1 ); fortint d_def_x( fortint * definitionNumber, fortint * outputArray, unsigned char * gribSection1 ); fortint jmemove( fortint * destination, fortint * destinationOffset, fortint * source, fortint * sourceOffset, fortint * length ); fortint e_def_1_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_1_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_2_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_2_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_3_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_3_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_4_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_4_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_5_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_5_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_6_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_6_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_7_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_7_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_8_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_8_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_9_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_9_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_10_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_10_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_11_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_11_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_13_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_13_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_14_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_14_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_15_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_15_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_16_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_16_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_17_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_17_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_18_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_18_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_19_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_19_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_20_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_20_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_21_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_21_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_50_(fortint * inputArray, unsigned char * gribSection1); fortint d_def_50_(fortint * outputArray, unsigned char * gribSection1); fortint e_def_190_( fortint * inputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes, fortint * bitPointer); fortint d_def_190_( fortint * outputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes, fortint * bitPointer); fortint e_def_191_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer); fortint d_def_191_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer); fortint e_def_x( fortint * definitionNumber, fortint * outputArray, unsigned char * gribSection1 ); fortint d_def_x( fortint * definitionNumber, fortint * outputArray, unsigned char * gribSection1 ); fortint jmemove_( fortint * destination, fortint * destinationOffset, fortint * source, fortint * sourceOffset, fortint * length ); #define ONEBYTEINT(a) (fortint) ( *(a) ) #define TWOBYTEINT(a) (fortint) ( (*(a))<<8 | (*((a)+1))<<0 ) #define THREEBYTEINT(a) (fortint) (TWOBYTEINT((a))<<8 | (*((a)+2))<<0 ) #define FOURBYTEINT(a) (fortint) (THREEBYTEINT((a))<<8 | (*((a)+3))<<0 ) #define ONEBYTE(n) ((*(n)>> 0) & 0xFF) #define MOVE1BYTE(p,n) ( *(p) = ((*(n)>> 0) & 0xFF) ) #define MOVE2BYTES(p,n) ( *(p) = ((*(n)>> 8) & 0xFF) ) , \ ( *((p)+1) = ((*(n)>> 0) & 0xFF) ) #define MOVE3BYTES(p,n) ( *(p) = ((*(n)>>16) & 0xFF) ) , \ ( *((p)+1) = ((*(n)>> 8) & 0xFF) ) , \ ( *((p)+2) = ((*(n)>> 0) & 0xFF) ) #define MOVE4BYTES(p,n) ( *(p) = ((*(n)>>24) & 0xFF) ) , \ ( *((p)+1) = ((*(n)>>16) & 0xFF) ) , \ ( *((p)+2) = ((*(n)>> 8) & 0xFF) ) , \ ( *((p)+3) = ((*(n)>> 0) & 0xFF) ) #endif /* End of ECMWFDEFNS_H */ emoslib-000392+dfsg.1/gribex/ecdef12.F0000755000175000017500000002044212127406245020263 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF12( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPR, KRET) C C----> C**** ECDEF12 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 12. C C** Interface. C ---------- C C CALL ECDEF12( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted. C (Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 10. C C C Externals. C ---------- C C INXBIT - insert/extract bits C ABORTX - abort the program C CSGNBT - code a signed value C DSGNBT - decode a signed value C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C #include "ecdef12.h" C C C Author. C ------- C C J.D.Chambers ECMWF November 1998 C C C Modifications. C -------------- C C None C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, LOOP C LOGICAL LENCODE, LDECODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC.EQ.'C' ) LDECODE = .NOT.LENCODE C C ------------------------------------------------------------------ C* Section 2 . Handle data for analysis which used the SST C ------------------------------------------------------------------ C 200 CONTINUE C C Octet 50-53: Start date of the period (YYYYMMDD) C One 32-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),1,KBITS,32,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF12: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 42.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 50 - 53.' ENDIF ENDIF C C Octets 54-55: Start time of the period (HHMM) C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(43),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF12: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 43.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 54 - 55.' ENDIF ENDIF C C Octet 56-59: Finish date of the period (YYYYMMDD) C One 32-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(44),1,KBITS,32,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF12: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 44.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 56 - 59.' ENDIF ENDIF C C Octets 60-61: Finish time of the period (HHMM) C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF12: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 45.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 60 - 61.' ENDIF ENDIF C C Octet 62-65: Verifying date of the period (YYYYMMDD) C One 32-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46),1,KBITS,32,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF12: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 46.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 62 - 65.' ENDIF ENDIF C C Octets 66-67: Verifying time of the period (HHMM) C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(47),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF12: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 47.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 66 - 67.' ENDIF ENDIF C C Octet 68: Code showing method of meaning, averaging, etc C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(48),1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF12: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 48.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octet 68.' ENDIF ENDIF C C Octet 69-70: No (N) of different time intervals used to build data C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(49),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF12: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 49.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 69 - 70.' ENDIF ENDIF C C Octets 71-70+(N*4): List of time intervals used C N 32-bit fields. C DO LOOP = 1, KSEC1(49) CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(49+LOOP),1,KBITS,32, X HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF12: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) X ' encoding section 1, elements 50 onwards.' ELSE WRITE(GRPRSM,*) X ' decoding section 1, octets 71 onwards.' ENDIF ENDIF ENDDO C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF12: Section 9.' WRITE(GRPRSM,*) ' Output values set, KNSPT = ', KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF( (IRET.EQ.0).AND.(KRET.NE.0) ) THEN CALL ABORTX('ECDEF12') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/grsmkp.F0000755000175000017500000000573212127406245020362 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSMKP(KONOFF) C C----> C**** GRSMKP - P factor calculation switch setting for routine GRIBEX. C C Purpose. C -------- C C P factor calculation switch set on or off for routine GRIBEX. C C C** Interface. C ---------- C C CALL GRSMKP (KONOFF) C C C Input Parameter. C ---------------- C C KONOFF - P factor calculation switch flag, C = 0 , user supplies the P factor (default) C = Non-zero , GRIBEX calculates the P factor. C C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C The variable NONOFF is set in the common area. All other C parameters are also set to default values, if they have C not already been set by the user. C C C Externals. C ---------- C C GRSDEF - Default setting of global variables. C C C Reference. C ---------- C C See subroutine GRIBEX. C C C Comments. C --------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF 6th Sept 1994 C C C Modifications. C -------------- C C J.D.Chambers ECMWF 13.09.94 C Add NONOFF and NOABORT, use grbcom.h C C J. Clochard, Meteo France, for ECMWF - January 1998. C Use GRSDEF routine for default setting. C C J. Clochard, Meteo France, for ECMWF - June 1999. C Use a static variable to determine if initialisation of C default values has already been done for common area variables. C C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C C Subroutine arguments. INTEGER KONOFF C C Local variables. INTEGER IONOFF C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C IONOFF = 0 IF (KONOFF.NE.0) IONOFF = 1 C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C Set P factor switch to required value C NONOFF = IONOFF C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/sencode2.h0000755000175000017500000000546112127406245020622 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef SENCODE2_H #define SENCODE2_H #ifdef FORTRAN_NO_UNDERSCORE #define IS2NUMB is2numb #define RS2NUMB rs2numb #define IS2TOTL is2totl #define RS2TOTL rs2totl #define IS2METH is2meth #define RS2METH rs2meth #define IS2STAR is2star #define RS2STAR rs2star #define IS2END is2end #define RS2END rs2end #define IS2NLAT is2nlat #define RS2NLAT rs2nlat #define IS2WLON is2wlon #define RS2WLON rs2wlon #define IS2SLAT is2slat #define RS2SLAT rs2slat #define IS2ELON is2elon #define RS2ELON rs2elon #define IS2OPCL is2opcl #define RS2OPCL rs2opcl #define RS2CFCL rs2cfcl #define IS2CFCL is2cfcl #define RS2NUCL rs2nucl #define IS2NUCL is2nucl #define IS2LIST is2list #else #define IS2NUMB is2numb_ #define RS2NUMB rs2numb_ #define IS2TOTL is2totl_ #define RS2TOTL rs2totl_ #define IS2METH is2meth_ #define RS2METH rs2meth_ #define IS2STAR is2star_ #define RS2STAR rs2star_ #define IS2END is2end_ #define RS2END rs2end_ #define IS2NLAT is2nlat_ #define RS2NLAT rs2nlat_ #define IS2WLON is2wlon_ #define RS2WLON rs2wlon_ #define IS2SLAT is2slat_ #define RS2SLAT rs2slat_ #define IS2ELON is2elon_ #define RS2ELON rs2elon_ #define IS2OPCL is2opcl_ #define RS2OPCL rs2opcl_ #define RS2CFCL rs2cfcl_ #define IS2CFCL is2cfcl_ #define RS2NUCL rs2nucl_ #define IS2NUCL is2nucl_ #define IS2LIST is2list_ #endif fortint IS2NUMB(gribProduct **, fortint *); fortint RS2NUMB(gribProduct **, fortdouble *); fortint IS2TOTL(gribProduct **, fortint *); fortint RS2TOTL(gribProduct **, fortdouble *); fortint IS2METH(gribProduct **, fortint *); fortint RS2METH(gribProduct **, fortdouble *); fortint IS2STAR(gribProduct **, fortint *); fortint RS2STAR(gribProduct **, fortdouble *); fortint IS2END(gribProduct **, fortint *); fortint RS2END(gribProduct **, fortdouble *); fortint IS2NLAT(gribProduct **, fortint *); fortint RS2NLAT(gribProduct **, fortdouble *); fortint IS2WLON(gribProduct **, fortint *); fortint RS2WLON(gribProduct **, fortdouble *); fortint IS2SLAT(gribProduct **, fortint *); fortint RS2SLAT(gribProduct **, fortdouble *); fortint IS2ELON(gribProduct **, fortint *); fortint RS2ELON(gribProduct **, fortdouble *); fortint IS2OPCL(gribProduct **, fortint *); fortint RS2OPCL(gribProduct **, fortdouble *); fortint IS2CFCL(gribProduct **, fortint *); fortint RS2CFCL(gribProduct **, fortdouble *); fortint IS2NUCL(gribProduct **, fortint *); fortint RS2NUCL(gribProduct **, fortdouble *); fortint IS2LIST(gribProduct**,fortint*,fortint*); #endif /* end of SENCODE2_H */ emoslib-000392+dfsg.1/gribex/decext.F0000755000175000017500000002665112127406245020336 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DECEXT (KBIT,PDATA,KDATA,KGRIB,KLENB,KI,KJ,KERR) C C----> C***** DECEXT - Extract values from GRIB coded data. C C Purpose. C -------- C C Return unpacked values for a series of grid points from an C array of packed grib data, without unpacking all values. C C** Interface. C ---------- C C CALL DECEXT (KBIT,PDATA,KDATA,KGRIB,KLENB,KI,KJ,KERR) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input parameters. C ----------------- C C KBIT - Number of bits in computer word C C PDATA - Array to receive unpacked values. C C KDATA - Size of array PDATA (number of grid points C required). C C KGRIB - Integer array containing data in grib code. C C KLENB - Length of array KGRIB (in words). C C KI - I indices of required grid points. C (dimensioned KDATA). C C KJ - J indices of required grid points. C (dimensioned KDATA). C C C Output parameters. C ------------------ C C PDATA(N) - Value of grid point KI(N),KJ(N) C C KERR - 0 if no error. C -1 If not grid point field. C -2 If error in routine OFFSET. C C Method. C ------- C C The self defining fields of section 0 - 3 of the GRIB code C are used to step down to the data part of section 4. The C reference value and scale factor are extracted and converted C The packed increments for the required C grid points are extracted and the values calculated. C C Externals. C ---------- C C GBYTE C GBYTES C DECFP C OFFSET C C Reference. C ---------- C C MARS User Guide for details of GRIB code and fields. C C Comments. C --------- C C Subroutine contains section 0 - 2 , and section 9. C C Author. C ------- C C J. Hennessy ECMWF 09/05/88 C C Modifications. C -------------- C C None C C ------------------------------------------------------------------ C----< C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ------------------------------------------------------------------ C IMPLICIT LOGICAL ( L , O , G ) IMPLICIT CHARACTER*8 ( C , H , Y ) IMPLICIT INTEGER ( I , J , K , M , N) C DIMENSION KGRIB(KLENB) DIMENSION PDATA(KDATA) DIMENSION KI(KDATA) DIMENSION KJ(KDATA) DIMENSION IB1PAR(18) DIMENSION IB2PAR(12) DIMENSION IBLOCK(24) C EQUIVALENCE (ZGRIB,JGRIB) C C SET MAXIMUM NUMBER OF BITS PER DATA FIELD. C DATA IMAX /60/ C C C C C C C C C C C C C C C C C C C* SECTION 1 . SKIP DOWN THROUGH GRIB SECTION TO GET TO DATA SECTION. C ------------------------------------------------------------------ C 1000 CONTINUE C C BLOCK 0 - INDICATOR BLOCK. C C SKIP 4 OCTETS CONTAINING ASCII G R I B . C IWORD = 1 IOFF = 0 IBYTE = 8 IVAL = 4 C CALL OFFSET (IOFF,IVAL,IWORD,IBYTE,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C BLOCK 1 - PRODUCT DEFINITION BLOCK. C C EXTRACT FIRST 4 OCTETS OF BLOCK 1. C IVAL = 4 C CALL GBYTES (KGRIB(IWORD),IBLOCK(1),IOFF,IBYTE,0,IVAL) CALL OFFSET (IOFF,IVAL,IWORD,IBYTE,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C IF THESE OCTETS DO NOT CONTAIN 0, 0, 24 AND 0 RESPECTIVELY C THEN THE DATA IS IN THE OLD VERSION OF THE CODE. C IF (IBLOCK(1).EQ.0.AND.IBLOCK(2).EQ.0.AND.IBLOCK(3).EQ.24. C AND.IBLOCK(4).EQ.0) C THEN ISNEW = 1 IVAL = 20 ELSE ISNEW = 0 IVAL = 16 ENDIF C C EXTRACT NEXT 16 OR 20 OCTETS OF BLOCK 1 - NUMBER DEPENDS C ON VERSION OF CODE. C CALL GBYTES (KGRIB(IWORD),IBLOCK(5),IOFF,IBYTE,0,IVAL) CALL OFFSET (IOFF,IVAL,IWORD,IBYTE,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C TRANSFER PRODUCT DEFINITION INFORMATION. C DO 1100 J1100=1,17 IB1PAR(J1100) = IBLOCK(J1100+4*ISNEW) 1100 CONTINUE C C BLOCK 2 - GRID DESCRIPTION BLOCK. C C CHECK FLAG INDICATING IF BLOCK 2 IS INCLUDED IN CODE. C C INC IS SET TO 1 , IF BLOCK 2 IS INCLUDED. C INC = 0 C C IF (ISNEW.EQ.0) C THEN C OLD VERSION OF CODE C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 00000001 1 C 3 00000010 2 C 2 AND 3 00000011 3 C IF (IB1PAR(4).EQ.1.OR.IB1PAR(4).EQ.3) INC = 1 ELSE C NEW VERSION C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 10000000 128 C 3 01000000 64 C 2 AND 3 11000000 192 C IF (IB1PAR(4).EQ.128.OR.IB1PAR(4).EQ.192) INC = 1 ENDIF C IF (INC.EQ.1) C THEN C C C LENGTH OF GRID DESCRIPTION BLOCK. C CALL GBYTE (KGRIB(IWORD),IBLK2,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C ILENV = (IBLK2 - 32) / 4 C C NUMBER OF UNUSED BITS AND RESERVED BYTE SKIPPED. C CALL OFFSET (IOFF,2,IWORD,8,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C DATA REPRESENTATION TYPE. C CALL GBYTE (KGRIB(IWORD),IB2PAR(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C CHECK FOR GAUSSIAN OR LAT/LONG GRID. C IF (IB2PAR(1).NE.0.AND.IB2PAR(1).NE.4) C THEN KERR = -1 GO TO 9000 ENDIF C C NUMBER OF LATITUDE AND LONGITUDE POINTS. C CALL GBYTES (KGRIB(IWORD),IB2PAR(2),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C LAT/LONG OF ORIGIN SKIPPED. C CALL OFFSET (IOFF,2,IWORD,24,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C RESOLUTION FLAG SKIPPED. C CALL OFFSET (IOFF,1,IWORD,8,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C LAT/LONG OF EXTREME POINT SKIPPED. C CALL OFFSET (IOFF,2,IWORD,24,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C DIRECTION INCREMENTS/ NO. OF LATITUDE LINES SKIPPED. C CALL OFFSET (IOFF,2,IWORD,16,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C SCANNING MODE FLAG SKIPPED. C CALL OFFSET (IOFF,1,IWORD,8,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C 4 RESERVED OCTETS SKIPPED. C CALL OFFSET (IOFF,4,IWORD,8,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C ENDIF C C C C C BLOCK 3 - BIT MAP BLOCK. C C INC IS SET TO 1 , IF BLOCK 3 IS INCLUDED. C INC = 0 C C IF (ISNEW.EQ.0) C THEN C OLD VERSION OF CODE C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 00000001 1 C 3 00000010 2 C 2 AND 3 00000011 3 C IF (IB1PAR(4).EQ.2.OR.IB1PAR(4).EQ.3) INC = 1 ELSE C NEW VERSION C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 10000000 128 C 3 01000000 64 C 2 AND 3 11000000 192 C IF (IB1PAR(4).EQ.64.OR.IB1PAR(4).EQ.192) INC = 1 ENDIF C IF (INC.EQ.1) C THEN CALL GBYTE (KGRIB(IWORD),IBLK3,IOFF,24) CALL OFFSET (IOFF,IBLK3,IWORD,8,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 ENDIF C C C C C C C C C* SECTION 2. EXTRACT PACKED INCREMENTS AND CALCULATE VALUES. C ------------------------------------------------------------------ C 2000 CONTINUE C C BLOCK 4 - BINARY DATA BLOCK. C SKIP LENGTH OF BINARY DATA BLOCK. C CALL OFFSET (IOFF,1,IWORD,24,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C C 4 BIT FLAG / 4 BIT COUNT OF UNUSED BITS AT END OF BLOCK OCTET. C CALL OFFSET (IOFF,1,IWORD,8,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C C GET SCALE FACTOR C CALL GBYTE (KGRIB(IWORD),JSCALE,IOFF,16) CALL OFFSET (IOFF,1,IWORD,16,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C ISCALE = JSCALE IF (JSCALE.GE.32768) C THEN ISCALE = ISCALE - 32768 ISCALE = - ISCALE ENDIF C C C C C GET REFERENCE VALUE (FMIN) IN GRIB FORMAT (IEXP,IMANT) C C CALL GBYTE (KGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 CALL GBYTE (KGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C C CHECK FOR MISSING DATA INDICATORS. C IMISS = 0 IF (JSCALE.EQ.65535.AND.IEXP.EQ.255.AND.IMANT.EQ.16777215) C IMISS = 1 C C CONVERT REFERENCE VALUE AND SCALE FACTOR. C IF (IMISS.EQ.0) C THEN CALL DECFP (FMIN,IEXP,IMANT) ZSCALE = 2.**ISCALE ENDIF C C C C C GET NUMBER OF BITS IN EACH DATA VALUE. C CALL GBYTE (KGRIB(IWORD),IBITS,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 C C C CHECK NUMBER OF BITS PER DATA FIELD. C IF (IBITS.GT.KBIT.OR.IBITS.GT.IMAX) C THEN KERR = -1 WRITE (*,9001) IBITS,KBIT,IMAX GO TO 9000 ENDIF C C C C C DECODE DATA VALUES TO FLOATING POINT. C IPW = IWORD IPB = IOFF C DO 2100 J2100 = 1,KDATA IWORD = IPW IOFF = IPB ILENF = (KI(J2100)-1) * IB2PAR(2) + KJ(J2100) - 1 CALL OFFSET (IOFF,ILENF,IWORD,IBITS,KBIT,KLENB,KERR) IF (KERR.NE.0) GO TO 9000 CALL GBYTE (KGRIB(IWORD),IDATA,IOFF,IBITS) PDATA(J2100) = FMIN + IDATA * ZSCALE 2100 CONTINUE C IF (IMISS.EQ.0) GO TO 9000 C DO 2200 J2200 = 1,KDATA PDATA(J2200) = 0.0 2200 CONTINUE C C C C* SECTION 9. FORMAT STATEMENTS. RETURN. C ------------------------------------------------------------------ C 9000 CONTINUE C 9001 FORMAT (1H ,'NUMBER OF BITS PER DATA VALUE, ',I3, C 'EXCEEDS WORD LENGTH, ',I3,' OR MAXIMUM ', C ' PERMITTED VALUE, ',I3) RETURN C END emoslib-000392+dfsg.1/gribex/ecdef14.F0000755000175000017500000001703312127406245020267 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF14( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPLEN, KPR, KRET) C C----> C**** ECDEF14 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 14. C C** Interface. C ---------- C C CALL ECDEF14( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPLEN - Pointer to field containing length of Section 1 C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted. C (Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 14. C C C Externals. C ---------- C C INXBIT - insert/extract bits C ABORTX - abort the program C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C #include "ecdef14.h" C C C Author. C ------- C C J.D.Chambers ECMWF August 1998 C C C Modifications. C -------------- C C None C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPLEN, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, JLOP, LENS1, NF, NLEFT C LOGICAL LENCODE, LDECODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC.EQ.'C' ) LDECODE = .NOT. LENCODE C C ------------------------------------------------------------------ C* Section 2 . Handle brightness temperature C ------------------------------------------------------------------ C 200 CONTINUE C C Octet 50: As for MARS labelling (zero or ensemble forecast number) C Octet 51: As for MARS labelling (zero or total no. in ensembles) C Octet 52: Channel number C Three 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),3,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF14: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, elements 42 - 44.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 50 - 52.' ENDIF ENDIF C C Octets 53-56: Integer scaling factor applied to frequencies C One 32-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF14: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 45.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 53 - 56.' ENDIF ENDIF C C Octet 57: Total number of frequencies (Nf) C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46),1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF14: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 46.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 57.' ENDIF ENDIF C C Octets 58-60: Spare (set to zero) C Three 8-bit fields. C IF( LENCODE ) THEN DO 210 JLOP = 58, 60 IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF14: Error reported by routine INXBIT:' WRITE(GRPRSM,*) ' encoding section 1, octets 58 - 60.' ENDIF 210 CONTINUE ELSE KNSPT = KNSPT + 3*8 ENDIF C C Octet 61 onwards: List of Nf scaled directions C Nf 32-bit fields. C NF = KSEC1(46) DO 220 JLOP = 47, (46+NF) CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(JLOP),1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF14: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) X ' encoding section 1, elements 47 onwards' ELSE WRITE(GRPRSM,*) X ' decoding section 1, octets 61 onwards.' ENDIF ENDIF 220 CONTINUE C C Octets at end of header:Spare - set to zero. C (255-NF) 32-bit fields. C NLEFT = 255 - NF IF( LENCODE ) THEN DO 230 JLOP = 1, NLEFT IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF11: Error reported by routine INXBIT:' WRITE(GRPRSM,*) X ' encoding section 1, spare octets at end.' ENDIF 230 CONTINUE ELSE KNSPT = KNSPT + (NLEFT*32) ENDIF C C On encoding, record the length of section 1. C IF( LENCODE ) THEN LENS1 = 1080 CALL INXBIT(KGRIB,KLENG,KPLEN,LENS1, 1,KBITS,24,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF14: Error reported by routine INXBIT:' WRITE(GRPRSM,*) ' encoding length of section 1.' ENDIF ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF14: Section 9.' WRITE(GRPRSM,*) ' Output values set, KNSPT = ', KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF14') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/grsvck.F0000755000175000017500000000666312127406245020362 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSVCK (KVCK) C C----> C**** GRSVCK - Set GRIB code parameter value check for routine GRIBEX. C C Purpose. C -------- C C Switch parameter value checking on/off for routine GRIBEX. C C** Interface. C ---------- C C CALL GRSVCK (KVCK) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KVCK - Value checking switch. C 0 , No checking. C Non-zero , Values checked. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C The variable NVCK is set in the common area. All other C parameters are also set to default values, if they have C not already been set by the user. C C Externals. C ---------- C C GRSDEF - Default setting of global variables. C C Reference. C ---------- C C See subroutine GRIBEX. C C Comments. C --------- C C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 25.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 28.08.91 C Changes to some comments only. C C J. Hennessy ECMWF 14.11.91 C Chnages to common area. C C J. Hennessy ECMWF 30.01.92 C Input parameter returned unchanged. C C J.D.Chambers ECMWF 13.09.94 C Add NONOFF and NOABORT, use grbcom.h C C J. Clochard, Meteo France, for ECMWF - January 1998. C Use GRSDEF routine for default setting. C C J. Clochard, Meteo France, for ECMWF - June 1999. C Use a static variable to determine if initialisation of C default values has already been done for common area C variables. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C INTEGER KVCK C INTEGER IVCK C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C IVCK = 0 IF (KVCK.NE.0) IVCK = 1 C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C Set GRIB value checking to required value. C NVCK = IVCK C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/grprs4w.F0000755000175000017500000000556212127406245020470 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRPRS4W(KSEC4) C C----> C**** GRPRS4W C C Purpose. C -------- C C Print the wave coordinate information in the Binary data C section Section (Section 4) of decoded GRIB data. C C** Interface. C ---------- C C CALL GRPRS4W(KSEC4) C C C Input Parameters. C ----------------- C C KSEC4 - Array of decoded integers from Section 4. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Fields printed as reals. C C Externals. C ---------- C C SETPAR C INXBIT. C C Common block GRPRSCM. C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C See also routine GRIBEX. C C Comments. C --------- C C Wave coordinate information held in KSEC4 are 32-bit REALs, C hence the PTEMP and NTEMP used for printing are 4-byte variables. C C Author. C ------- C C J.D.Chambers ECMWF 28.10.97 C Add printout for ECMWF wave 2Dsp first and second dimension C coordinate values C C J.D.Chambers ECMWF June 2002 C Add option to set output stream number using environment variable C GRPRS_STREAM C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments INTEGER KSEC4 DIMENSION KSEC4(*) C C Local variables C INTEGER JLOOP REAL*4 PTEMP(100) INTEGER*4 NTEMP(100) EQUIVALENCE ( PTEMP(1),NTEMP(1) ) C C -----------------------------------------------------------------| C* Section 1 . Print integer information from KSEC4. C -----------------------------------------------------------------| C 100 CONTINUE C WRITE(GRPRSM,*) X 'Coefficients defining first dimension coordinates:' DO 110 JLOOP = 1, KSEC4(53) NTEMP(JLOOP) = KSEC4(59 + JLOOP) WRITE(GRPRSM,'(F20.10)') PTEMP(JLOOP) 110 CONTINUE C WRITE(GRPRSM,*) X 'Coefficients defining second dimension coordinates:' DO 120 JLOOP = 1, KSEC4(55) NTEMP(JLOOP) = KSEC4(59 + KSEC4(53) + JLOOP) WRITE(GRPRSM,'(F20.10)') PTEMP(JLOOP) 120 CONTINUE C C -----------------------------------------------------------------| C Section 9. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/sfbits.h0000755000175000017500000000245212127406245020407 0ustar amckinstryamckinstry C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C STATEMENT FUNCTIONS TO MANIPULATE BITS IN WORDS OF 64 BITS C C DATA ONES/7777777777777777B/ C DATA OOOS/0B/ C C 1. SINGLE BIT MANIPULATIONS C C 1.1 SET BIT KBIT IN WORD PW C IBSET(KW,KBIT)=OR(KW,SHIFT(1B,KBIT)) C C 2. WORD MANIPULATIONS, BIT BY BIT C C 2.1 ARE WORDS PW1 AND PW2 EQUAL? C C LOGICAL NLEQAL C NLEQAL(PW1,PW2)=(PW1.XOR.PW2).EQ.0B C C 2.2 BITWISE AND AND OR C IAND(K1,K2)=AND(K1,K2) IOR (K1,K2)= OR(K1,K2) C C 2.3 BITWISE NEGATION C NOT(K)=COMPL(K) C C 2.4 SHIFT (LEFT FOR KSH POSITIVE, RIGHT FOR KSH NEGATIVE) C ISHFT(K,KSH)=CVMGP(SHIFTL(K,KSH),SHIFTR(K,-KSH),KSH) C C 3. SPECIAL PURPOSE C C 3.1 TAKE 4 LAST BITS OF KW, PUT THEM IN PW AT POS K*4-1 C C SETLEV(PW,KW,K)=OR(AND(PW,SHIFT(0B.EQV.17B,K*4-4)), C +SHIFT(AND(17B,KW),K*4-4)) C C 3.2 EXTRACT FIELD K*4-1:4 FROM PW C C MGTLEV(PW,K)=AND(17B,SHIFT(PW,68-K*4)) emoslib-000392+dfsg.1/gribex/ecdf191.h0000755000175000017500000000406012127406245020246 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 191. C Free format data descriptor. C ---------------------------- C C Octet KSEC1(n) C ----- -------- C C 5 2 Originating centre (WMO identifier) C C 26 22 Sub-centre identifier (= 98) C C ** 24 Flag field to indicate local use in Section 1 (= 1) C C 41 37 ECMWF local GRIB use definition identifier (= 191) C C 42 38 Class C C 43 39 Type C C 44-45 40 Stream C C 46-49 41 Version number/experiment identifier. C (4 Ascii characters, right justified) C C 50-51 42-43 Set to zero (For compatibility with other C ECMWF local definitions) C C 52 44 Format version major number C C 53 45 Format version minor number C C 54 46 Original sub-centre identifier C C 55-58 (47-50) Set to zero C C 59-60 51 Number of bytes of free format data descriptor C (N, say) C C 61-(60+N) 52-(51+N/J) Data descriptor bytes packed in integer array C elements C (J = the number of bytes in an INTEGER = 4 or 8) C C C The section will be padded with zeroes to make the overall length C of the section = 60 + 80*M for some M > 0. C C -----------------------------------------------------------------| C C ** Not stored in GRIB message. C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/grsn2o.F0000755000175000017500000000563512127406245020273 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSN2O ( KNLOCP ) C C----> C**** GRSN2O - controls use of Non-local 2nd-Order packing methods C for routine GRIBEX. C C Purpose. C -------- C C Non-local 2nd-order methods switch set on or off C for routine GRIBEX. C C C** Interface. C ---------- C C CALL GRSN2O ( KNLOCP ) C C C Input Parameter. C ---------------- C C KNLOCP - Non-local 2nd-order methods switch flag, C = 0 , not allowed (default) C = Non-zero , non-local methods allowed. C C (Use for grid-point encoding, HOPER='C' and 'K' functions) C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C The variable NLOC2O is set in the common area. All other C parameters are also set to default values, if they have C not already been set by the user. C C C Externals. C ---------- C C GRSDEF - Default setting of global variables. C C C Reference. C ---------- C C See subroutine GRIBEX. C C C Comments. C --------- C C None. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C -------------- C C J. Clochard, Meteo France, for ECMWF - June 1999. C Use a static variable to determine if initialisation of C default values has already been done for common area variables. C C C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C C Subroutine arguments. INTEGER KNLOCP C C Local variables. INTEGER INLOCP C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C----< C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C INLOCP = 0 IF (KNLOCP.NE.0) INLOCP = 1 C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C Set non-local 2nd-order packing switchto required value. C NLOC2O = INLOCP C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/ecdef3.h0000755000175000017500000000250612127406245020246 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 3. C Satellite image data. C --------------------------------- C C Words 38-41 as for definition 1. C C 42 Band : 0 = first infrared band C 1 = second infrared band C 10 = first visible band C 20 = water vapour C 100+i = ith spectral band C C 43 Function code : Interpretation of pixel value. C 0 = value is pixel value C 1 = value is temperatures in degrees K, C and is 145 + pixel value. C 255 = translation table follows C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/grpr190.c0000755000175000017500000000405212127406245020312 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include "fortint.h" #ifdef FORTRAN_NO_UNDERSCORE #define GRPRS1B grprs1b #else #define GRPRS1B grprs1b_ #endif void GRPRS1B(fortint*); fortint dldefs_(fortint*,fortint*,fortint*,fortint*,fortint*); fortint d_def_x(fortint*,fortint*,unsigned char*); void grpr190(fortint* ksec1) { /* // Decodes the local definition bytes for the multiple local definitions // in definition 190 and displays them via calls to Fortran routine GRPRS1B. */ unsigned char* bytes; fortint numberOfDefinitions = ksec1[43]; unsigned char* startByte = (unsigned char*) &ksec1[44+2*ksec1[43]]; fortint numberOfBytes = ksec1[45]; fortint offset = 36*sizeof(fortint); fortint definitionNumber = ksec1[44]; fortint loop, status, numberOfUnpackedIntegers, numberOfPackedBytes; static int first = 1; fortint* pBytes; if( first ) { setbuf(stdout,NULL); first = 0; } for( loop = 0; loop < numberOfDefinitions; loop++ ) { bytes = (unsigned char*) malloc(numberOfBytes*sizeof(fortint)+offset); /* // Decode the bytes into INTEGERS */ /* // Code for libemos version 000264 .. // // status = dldefs(&definitionNumber,startByte,(bytes+offset), // &numberOfUnpackedIntegers,&numberOfPackedBytes); */ pBytes = (fortint*) (bytes+offset); status = d_def_x(&definitionNumber,pBytes,startByte); /* // Display the values. */ printf("\n ECMWF local definition number = %d\n",definitionNumber); GRPRS1B((fortint*)bytes); free(bytes); startByte += numberOfBytes; numberOfBytes = ksec1[47+loop*2]; definitionNumber = ksec1[46+loop*2]; } return; } void grpr190_(fortint* ksec1) { grpr190(ksec1); return; } emoslib-000392+dfsg.1/gribex/insmp2.F0000755000175000017500000002031112127406245020255 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INSMP2 (KGRIB,KLENG,KMAP2,PSEC4,KSIZE,KBITS, X PMISS,HFUNC,KNUM,KPR,KRET) C C----> C**** INSMP2 - Insertion of secondary bit maps for routine GRIBEX. C C Purpose. C -------- C C Generates secondary bit-maps (Section 4 bit-maps) and C inserts in array of GRIB coded data. C C** Interface. C ---------- C C CALL INSMP2 (KGRIB,KLENG,KMAP2,PSEC4,KSIZE,KBITS, C X PMISS,HFUNC,KNUM,KPR,KRET) C C C Input Parameters. C ----------------- C C KGRIB - Array into which data is being packed in GRIB code. C C KLENG - Length of this array. C C KMAP2 - Bit-pointer to start of secondary bit maps C (Section 4 bitmaps) in array KGRIB. C C PSEC4 - Array of data values to be packed in C GRIB code, containing missing data C indicator PMISS where appropriate. C C KSIZE - Number of values, including missing data C values, in array PSEC4. C C KBITS - Number of bits in computer word. C C PMISS - Value indicating missing data in array PSEC4. C C HFUNC - 'C' , GRIB data packed normally. C 'M' , GRIB data being packed in fixed length messages C C KNUM - Number of values at each grid point. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C Output Parameters. C ------------------ C C KSIZE - The number of data values remaining in C array PSEC4 to be packed. C C KRET - Return code. C 0 , No error encountered. C 1 , Error in routine INXBIT. #if (!defined VAX) C 2 , Memory allocation problem. C 3 , Memory deallocation problem. #else C 4 , (VAX only) Number of values at each grid point C (KNUM) is greater than allowed (JPWORK). #endif C C Method. C ------- C C The bit-map contains 1 where valid data exists and 0 C where data is missing. The corresponding data array C contains valid data and the missing data indicator value. C C Externals. C ---------- C C INXBIT C C Reference. C ---------- C C See routine GRIBEX. C C Comments. C --------- C C None. C C Author. C ------- C C J. Hennessy ECMWF 09:07:92 C C Modifications. C -------------- C C J. Hennessy ECMWF 19:10:92 C Maximum sizes increased to allow for packing of C 2D spectra. C Number of data values 120*61*12*25 C C J.D.Chambers ECMWF 09:03:94 C Maximum size for bitmap array increased to 132000 C to allow for products 0.5 * 0.5 degrees, whole C hemisphere (N or S). C C J.D.Chambers ECMWF 24:05:95 C Handle bitmap in strips to avoid problem with very large products C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J.D.Chambers ECMWF April 1998 C Remove dynamic allocation of work array C C J. Clochard, Meteo France, for ECMWF - January 1998. C Strips size (JPWORK) enlarged to 10000. C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JPWORK PARAMETER (JPWORK=10000) C C Subroutine arguments C INTEGER KBITS, KGRIB, KLENG, KMAP2, KNUM, KPR, KRET, KSIZE DIMENSION KGRIB(*) REAL PMISS, PSEC4 DIMENSION PSEC4(*) CHARACTER*(*) HFUNC C C Local variables C INTEGER NEXTIN, NXTOUT, IPT, ITEMP INTEGER JLOOP, JLOOPI INTEGER LENGTH REAL VALUE C C Work array. C INTEGER IMAP2 DIMENSION IMAP2(JPWORK) C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'INSMP2: Section 1.' WRITE(GRPRSM,*) ' Input values used -' WRITE(GRPRSM,*) ' HFUNC = ', HFUNC WRITE(GRPRSM,*) ' KSIZE = ', KSIZE WRITE(GRPRSM,*) ' KNUM = ', KNUM ENDIF C C Reset return code to KRET = 0 C C ------------------------------------------------------------------ C* Section 2 . Check input parameters. C ------------------------------------------------------------------ C 200 CONTINUE C IF( KPR.GE.1 ) WRITE(GRPRSM,*) 'INSMP2: Section 2.' C C* Check function requested. C IF( (HFUNC.NE.'C').AND.(HFUNC.NE.'M') ) THEN WRITE(GRPRSM,*) 'INSMP2: Invalid function requested - ', HFUNC KRET = 3 GO TO 900 ENDIF C LENGTH = KNUM C C Check there is enough space for packing secondary bitmap C IF( LENGTH.GT.JPWORK ) THEN WRITE(GRPRSM,*) 'INSMP2: Number of values at each grid point' WRITE(GRPRSM,*) X 'INSMP2: (KNUM) is greater than allowed (JPWORK).' KRET = 4 GOTO 900 ENDIF C C ------------------------------------------------------------------ C* Section 3 . Generation of bit-map. C ------------------------------------------------------------------- C 300 CONTINUE C IF( KPR.GE.1 ) WRITE(GRPRSM,*) 'INSMP2: Section 3.' C NEXTIN = 0 NXTOUT = 0 C C* Generate the bit-map in accordance with the missing data C values. C DO 320 JLOOP = 1, KSIZE, KNUM IPT = 0 C DO 310 JLOOPI = 1, KNUM C IF (PSEC4(JLOOPI+NEXTIN).EQ.PMISS) THEN C C If missing data indicator, set secondary bitmap flag to 0 C IMAP2(IPT+JLOOPI) = 0 C ELSE C C If not missing, set secondary bitmap flag to 1 and C move data forwards in data array. C IMAP2(IPT+JLOOPI) = 1 NXTOUT = NXTOUT + 1 PSEC4(NXTOUT) = PSEC4(NEXTIN+JLOOPI) ENDIF 310 CONTINUE IPT = IPT + KNUM C C* Insert bit-map in GRIB coded data. C CALL INXBIT(KGRIB,KLENG,KMAP2,IMAP2,KNUM,KBITS,1,'C',KRET) IF (KRET.NE.0) THEN WRITE(GRPRSM,9003) KRET = 1 GO TO 900 ENDIF C NEXTIN = NEXTIN + KNUM C 320 CONTINUE C C* Bit map must be a multiple of 8 bits. C ITEMP = (KMAP2+7) / 8 ITEMP = ITEMP * 8 IF (ITEMP.NE.KMAP2) THEN IMAP2(1) = 0 ITEMP = ITEMP - KMAP2 CALL INXBIT(KGRIB,KLENG,KMAP2,IMAP2,1,KBITS,ITEMP,'C',KRET) IF (KRET.NE.0) THEN WRITE(GRPRSM,9003) KRET = 1 GO TO 900 ENDIF ENDIF C C Is a fixed length message required, even though a bit map is used? C IF (HFUNC.EQ.'M') THEN C C The otherwise unused part of the array is set to a genuine data C value so that extraction of minimum and maximum values remain C correct. Number of data values includes these padding values. C VALUE = PSEC4(1) DO 330 JLOOP = NXTOUT+1, KSIZE PSEC4(JLOOP) = VALUE 330 CONTINUE C ELSE C C Return number of points with values (ie excluding points with C missing data values). C KSIZE = NXTOUT C ENDIF C C ------------------------------------------------------------------ C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.GE.1) THEN WRITE(GRPRSM,*) 'INSMP2: Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,*) 'INSMP2: KSIZE = ', KSIZE ENDIF C RETURN C 9003 FORMAT (1H ,'INSMP2: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/orefdat.c0000755000175000017500000000333112127406245020531 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "fortint.h" fortint orefdat_(fortint* ksec1) { /* // Fortran-callable: // // INTEGER OREFDAT // EXTERNAL OREFDAT // // INDEX = OREFDAT(KSEC1) // // where KSEC1 contains GRIB section 1 after unpacking by GRIBEX. // // Returns the index of the reference date in the post-auxiliary array in // ECMWF local definition 4 (ocean data). // // Returns -1 if // - local definition 4 is not in use, or // - the post-auxiliary array is empty, or // - the post-auxiliary array does not contain a reference date. */ fortint offset; if( ksec1[36] != 4 ) return -1; offset = 74 + ksec1[70] + ksec1[71] + ksec1[72] + ksec1[73]; if( offset == 0 ) return -1; if( ksec1[offset] < 5 ) return -1; else return (offset+5); } fortint orefdat(fortint* ksec1) { return orefdat_(ksec1); } fortint d13flag(fortint* kgrib) { /* // Fortran-callable: // // INTEGER D13FLAG // EXTERNAL D13FLAG // // FLAG = D13FLAG(KGRIB) // // where KGRIB contains GRIB 1 before unpacking by GRIBEX. // // Returns the Flag to show inclusions in the header in ECMWF GRIB section // 1 local extension 13, or -1 if definition 13 is not present. */ unsigned char* p = ((unsigned char*) kgrib) + 7; if( *(p + 41) == 13 ) return (fortint) *(p + 64); else return -1; } fortint d13flag_(fortint* kgrib) { return d13flag(kgrib); } emoslib-000392+dfsg.1/gribex/eggsec2.F0000755000175000017500000001616212127406245020375 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION EGGSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS, X LQUASI) C C----> C**** EGGSEC2P C C PURPOSE C _______ C C Encodes GRIB section 2 values for gaussian grid fields.. C C INTERFACE C _________ C C IRET = EGGSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,LQUASI)) C C Input parameters C ________________ C C KGRIB - GRIB product built so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product built so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C LQUASI - .TRUE. if gaussian grid is quasi-regular (reduced). C C C Output parameters C ________________ C C KGRIB - Updated GRIB product to end of section 2. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Packs values given in KSEC2 into KGRIB and updates bit C pointer INSPT. C C Externals C _________ C C CSGNBT - Set the sign bit. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) LOGICAL LQUASI C C Local variables C INTEGER ILALO(2), IRET, IRETA, IRETB, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C EGGSEC2 = 0 C C _______________________________________________________ C C Section 2. Pack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along a parallel. C Octets 9 - 10 : Nj - number of points along a meridian. C Two 16 bit fields. C C For quasi-regular grids Ni is set to all 1 bits, as C the number of points is different on different parallels. C IF( LQUASI ) KSEC2(2) = JP16SET C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN EGGSEC2 = 1 WRITE(GRPRSM,*) 'EGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'EGGSEC2: number of pts along parallel or meridian.' WRITE(GRPRSM,*) 'EGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C CALL CSGNBT( ILALO(1), KSEC2(4), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(5), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN EGGSEC2 = 1 WRITE(GRPRSM,*) 'EGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'EGGSEC2: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'EGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 17 : Resolution and components flag. C One 8 bit field. C IRESOL = KSEC2(6)+KSEC2(18)+KSEC2(19) C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN EGGSEC2 = 1 WRITE(GRPRSM,*) 'EGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'EGGSEC2: components flag.' WRITE(GRPRSM,*) 'EGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 18 - 20 : La2 - latitude of last grid point. C Octets 21 - 23 : Lo2 - longitude of last grid point. C Two 24 bit fields. C CALL CSGNBT( ILALO(1), KSEC2(7), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(8), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN EGGSEC2 = 1 WRITE(GRPRSM,*) 'EGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'EGGSEC2: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'EGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 24 - 25 : Di - i direction increment. C One 16 bit field. C C For quasi-regular grids all Di bits are set to 1, as C the increment is different on different parallels. C IF( LQUASI ) KSEC2(9) = JP16SET C C If increments not given, set all bits to 1. C IF( KSEC2(6).EQ.0 ) KSEC2(9) = JP16SET C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),1,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN EGGSEC2 = 1 WRITE(GRPRSM,*) 'EGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'EGGSEC2: i direction increment.' WRITE(GRPRSM,*) 'EGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 26 - 27 : N- number of parallels between a Pole C and the Equator. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(10),1,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN EGGSEC2 = 1 WRITE(GRPRSM,*) 'EGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'EGGSEC2: no. of parallels between pole and Equator' WRITE(GRPRSM,*) 'EGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN EGGSEC2 = 1 WRITE(GRPRSM,*) 'EGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'EGGSEC2: scanning mode flags.' WRITE(GRPRSM,*) 'EGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. C IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 32 : Reserved. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT, 0, 1,IBITS, 16,'C',IRETA) CALL INXBIT(KGRIB,KLENG,INSPT, 0, 1,IBITS, 16,'C',IRETB) IRET = IRETA + IRETB IF( IRET.NE.0 ) THEN IRET = 810 WRITE(GRPRSM,*) 'EGGSEC2: Error inserting dummy zero.' WRITE(GRPRSM,*) 'EGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/decfp2.F0000755000175000017500000001024512127406245020215 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DECFP2 (PVAL,KEXP,KMANT) C C----> C**** DECFP2 - GRIB representation to floating point representation. C C Purpose. C -------- C C Convert GRIB representation of a floating point C number to machine representation. C C** Interface. C ---------- C C CALL DECFP2 (PVAL,KEXP,KMANT) C C C Input Parameters. C ----------------- C C KEXP - 8 Bit signed exponent. C C KMANT - 24 Bit mantissa. C C Output Parameters. C ----------------- C C PVAL - Floating point number represented C by KEXP and KMANT. C C C Method. C ------- C C Floating point number represented as 8 bit exponent C and 24 bit mantissa in integer values converted to C machine floating point format. C C C Externals. C ---------- C C None. C C C Reference. C ---------- C C WMO Manual on Codes re GRIB representation. C C C Comments. C --------- C C Rewritten from DECFP, to conform to programming standards. C Sign bit on 0 value now ignored, if present. C If using 32 bit reals, check power of 16 is not so small as to C cause overflows (underflows!); this causes warning to be given C on Fujitsus. C C C Author. C ------- C C John Hennessy ECMWF 18.06.91 C C C Modifications. C -------------- C C J.D.Chambers ECMWF 1 Aug 1996 C Add check power that power of 16 is not so small as to cause C overflows. C C C----< C ----------------------------------------------------------------- C* Section 0 . Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C #include "grbcom.h" C C Subroutine arguments C REAL PVAL INTEGER KEXP, KMANT C C Local variables. C INTEGER IEXP, ISIGN LOGICAL LDEBUG C C ----------------------------------------------------------------- C* Section 1 . Convert value of 0.0. Ignore sign bit. C ----------------------------------------------------------------- C 100 CONTINUE C LDEBUG = (NDBG.GT.1) C IF( LDEBUG ) X WRITE(GRPRSM,*) 'DECFP2: KEXP = ',KEXP,'. KMANT = ',KMANT C Cjdc IF ( (KEXP.EQ.128.OR.KEXP.EQ.0).AND.KMANT.EQ.0) THEN IF( ((KEXP.EQ.128).OR. X (KEXP.EQ.0) .OR. X (KEXP.EQ.255) )) THEN PVAL = 0.0 GOTO 900 ENDIF C C ----------------------------------------------------------------- C* Section 2 . Convert other values. C ----------------------------------------------------------------- C 200 CONTINUE C C Sign of value. C IEXP = KEXP ISIGN = 1 C C Set sign of exponent C IF (IEXP.GE.128) THEN IEXP = IEXP - 128 ISIGN = -1 END IF C C Decode value. C #if (defined REAL_8) || (defined CRAY) PVAL = ISIGN*2.**(-24)*KMANT*16.**(IEXP-64) C --------- C `---> this matchs/compensates for (IEXP-70) C in confp3.F (instead of (IEXP-64)) #else C If using 32 bit reals, check power of 16 is not so small as to C cause overflows (underflows!); this causes warning to be given C on Fujitsus. C IF(IEXP.GT.32) THEN PVAL = ISIGN*2.**(-24)*KMANT*16.**(IEXP-64) ELSE PVAL = 0.0 ENDIF #endif IF( LDEBUG ) THEN WRITE(GRPRSM,*) 'DECFP2: Values used for final calculation' WRITE(GRPRSM,*) X 'DECFP2: IEXP=',IEXP,'.ISIGN=',ISIGN,'.KMANT=',KMANT ENDIF C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C IF( LDEBUG ) WRITE(GRPRSM,*) 'DECFP2: Returned value = ', PVAL C RETURN END emoslib-000392+dfsg.1/gribex/getValues.c0000755000175000017500000001731412127406245021052 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include "getValues.h" #ifdef FORTRAN_NO_UNDERSCORE #define GETINT getint #define GETREAL getreal #else #define GETINT getint_ #define GETREAL getreal_ #endif fortint getIntegerValue( gribProduct** grib, unsigned char* request ){ return GETINT(grib,request,strlen(request)); } void copyName( unsigned char* copy, unsigned char* original, int copyLength, int originalLength) { int length; char *p; length = (originalLength>copyLength)?copyLength:originalLength; memcpy(copy,original,length); copy[length] = '\0'; p = copy + length - 1; while( *p == ' ' ) *(p--) = '\0'; return; } fortint GETINT( gribProduct** grib, unsigned char* request, long requestLength ) { int index; int listLength = sizeof(despatchInteger)/sizeof(despatchI); unsigned char Request[80]; copyName(Request,request,(int)sizeof(Request),(int)requestLength); index = binaryChopI(despatchInteger,listLength,Request); if( index < 0 ) return -999999; else { return despatchInteger[index].get(grib); } } fortdouble getRealValue( gribProduct** grib, unsigned char* request ) { return GETREAL(grib,request,strlen(request)); } fortdouble GETREAL( gribProduct** grib, unsigned char* request, long requestLength ) { int index; int listLength = sizeof(despatchReal)/sizeof(despatchR); char Request[80]; copyName(Request,request,(int)sizeof(Request),(int)requestLength); index = binaryChopR(despatchReal,listLength,Request); if( index < 0 ) return -999999.0; else { return despatchReal[index].get(grib); } } fortint IGNWLAT(gribProduct** grib) { fortdouble value = GNWLAT(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGNWLON(gribProduct** grib) { fortdouble value = GNWLON(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGSELAT(gribProduct** grib) { fortdouble value = GSELAT(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGSELON(gribProduct** grib) { fortdouble value = GSELON(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGDI(gribProduct** grib) { fortdouble value = GDI(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGDJ(gribProduct** grib) { fortdouble value = GDJ(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGIP(gribProduct** grib) { fortdouble value = GIP(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGLATRPL(gribProduct** grib) { fortdouble value = GLATRPL(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGLONRPL(gribProduct** grib) { fortdouble value = GLONRPL(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGROTATN(gribProduct** grib) { fortdouble value = GROTATN(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGLATSPL(gribProduct** grib) { fortdouble value = GLATSPL(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGLONSPL(gribProduct** grib) { fortdouble value = GLONSPL(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGSFACTR(gribProduct** grib) { fortdouble value = GSFACTR(grib); if( value != -999999.0 ) return (fortint)(1000000.0 * value); else return -999999; } fortint IGREFVAL(gribProduct** grib) { return (fortint)(1000000.0 * GREFVAL(grib)); } fortint IGDSCALE(gribProduct** grib) { return (fortint)(1000000.0 * GDSCALE(grib)); } fortdouble RGLENGTH(gribProduct** grib) { return (fortdouble) GLENGTH(grib); } fortdouble RGTABLE(gribProduct** grib) { return (fortdouble) GTABLE(grib); } fortdouble RGCENTRE(gribProduct** grib) { return (fortdouble) GCENTRE(grib); } fortdouble RGPARAM(gribProduct** grib) { return (fortdouble) GPARAM(grib); } fortdouble RGLEVEL(gribProduct** grib) { return (fortdouble) GLEVEL(grib); } fortdouble RGLEVEL1(gribProduct** grib) { return (fortdouble) GLEVEL1(grib); } fortdouble RGLEVEL2(gribProduct** grib) { return (fortdouble) GLEVEL2(grib); } fortdouble RGDATE(gribProduct** grib) { return (fortdouble) GDATE(grib); } fortdouble RGTIME(gribProduct** grib) { return (fortdouble) GTIME(grib); } fortdouble RGSTEP(gribProduct** grib) { return (fortdouble) GSTEP(grib); } fortdouble RGDEFIN(gribProduct** grib) { return (fortdouble) GDEFIN(grib); } fortdouble RGCLASS(gribProduct** grib) { return (fortdouble) GCLASS(grib); } fortdouble RGTYPE(gribProduct** grib) { return (fortdouble) GTYPE(grib); } fortdouble RGSTREAM(gribProduct** grib) { return (fortdouble) GSTREAM(grib); } fortdouble RGEXPVER(gribProduct** grib) { return (fortdouble) GEXPVER(grib); } fortdouble RGNUMPV(gribProduct** grib) { return (fortdouble) GNUMPV(grib); } fortdouble RGREPRES(gribProduct** grib) { return (fortdouble) GREPRES(grib); } fortdouble RGNI(gribProduct** grib) { return (fortdouble) GNI(grib); } fortdouble RGNJ(gribProduct** grib) { return (fortdouble) GNJ(grib); } fortdouble RGRESCOM(gribProduct** grib) { return (fortdouble) GRESCOM(grib); } fortdouble RGNUMBER(gribProduct** grib) { return (fortdouble) GNUMBER(grib); } fortdouble RGSCAN(gribProduct** grib) { return (fortdouble) GSCAN(grib); } fortdouble RGJ(gribProduct** grib) { return (fortdouble) GJ(grib); } fortdouble RGK(gribProduct** grib) { return (fortdouble) GK(grib); } fortdouble RGM(gribProduct** grib) { return (fortdouble) GM(grib); } fortdouble RGREPMOD(gribProduct** grib) { return (fortdouble) GREPMOD(grib); } fortdouble RGTJ(gribProduct** grib) { return (fortdouble) GTJ(grib); } fortdouble RGTK(gribProduct** grib) { return (fortdouble) GTK(grib); } fortdouble RGTM(gribProduct** grib) { return (fortdouble) GTM(grib); } fortdouble RGBITSPV(gribProduct** grib) { return (fortdouble) GBITSPV(grib); } fortdouble RGUNUSED(gribProduct** grib) { return (fortdouble) GUNUSED(grib); } fortdouble RGNVALUE(gribProduct** grib) { return (fortdouble) GNVALUE(grib); } int binaryChopI(despatchI * list, int listLength, unsigned char * test) { int current, oldCurrent = -1; int direction, startRange = 0, endRange = listLength; do { current = (startRange + endRange)/2; if( current == oldCurrent) break; direction = strcmp(test,(*(list+current)).name); if( direction == 0 ) return current; if( direction < 0 ) endRange = current; else startRange = current; oldCurrent = current; } while( startRange <= endRange ); return -1; } int binaryChopR(despatchR * list, int listLength, unsigned char * test) { int current, oldCurrent = -1; int direction, startRange = 0, endRange = listLength; do { current = (startRange + endRange)/2; if( current == oldCurrent) break; direction = strcmp(test,(*(list+current)).name); if( direction == 0 ) return current; if( direction < 0 ) endRange = current; else startRange = current; oldCurrent = current; } while( startRange <= endRange ); return -1; } emoslib-000392+dfsg.1/gribex/ecdef11.F0000755000175000017500000001525612127406245020271 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF11( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPR, KRET) C C----> C**** ECDEF11 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 11. C C** Interface. C ---------- C C CALL ECDEF11( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted. C (Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 11. C C C Externals. C ---------- C C INXBIT - insert/extract bits C ABORTX - abort the program C CSGNBT - code a signed value C DSGNBT - decode a signed value C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C #include "ecdef11.h" C C C Author. C ------- C C J.D.Chambers ECMWF February 1998 C C C Modifications. C -------------- C C None C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, JLOOP C LOGICAL LENCODE, LDECODE C DATA IZERO/0/ C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC .EQ. 'C' ) LDECODE = .NOT. LENCODE C C ------------------------------------------------------------------ C* Section 2 . Handle data for analysis which used the supplementary C data C ------------------------------------------------------------------ C 200 CONTINUE C C Octet 50: Class of analysis C Octet 51: Type of analysis C Two 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),2,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF11: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, elements 42 - 43.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 50 - 51.' ENDIF ENDIF C C Octets 52-53: Stream of analysis C One 16-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(44),1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF11: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 44.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 52 - 53.' ENDIF ENDIF C C Octets 54-57: Version number/experiment identifier of analysis C One 32-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS,32,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF11: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 45.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 54 - 57.' ENDIF ENDIF C C Octet 58: Year of analysis C Octet 59: Month of analysis C Octet 60: Day of analysis C Octet 61: Hour of analysis C Octet 62: Minute of analysis C Octet 63: Century of analysis C Octet 64: Originating centre of analysis C Octet 65: Sub-centre of analysis C Eight 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(46),8,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF11: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, elements 46 - 53.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 58 - 65.' ENDIF ENDIF C C Octets 66-72: Spare - set to zero. C Seven 8-bit fields. C IF( LENCODE ) THEN DO 210 JLOOP = 1, 7 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF11: Error reported by routine INXBIT:' WRITE(GRPRSM,*) X ' encoding section 1, octets 66 - 72.' ENDIF 210 CONTINUE ELSE KNSPT = KNSPT + (7*8) ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF11: Section 9.' WRITE(GRPRSM,*) ' Output values set, KNSPT = ', KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF11') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/c2pack.F0000755000175000017500000005211312127406245020215 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION C2PACK ( KDATA, KLENP, KSEC4, KGRIB, KLENG, X KNSPT, KBITS, KLEN, KREFGR, KLENGR, X KBITGR, KWORK, KLWORK, KPOWER, KMXPWR, X KNBIFO, ODEBUG ) C C----> C**** C2PACK C C Purpose. C -------- C C Packs end of GRIB section 4 (except final padding) C for second-order packing methods, and computes some descriptors. C C C** Interface. C ---------- C C KRET = C2PACK ( KDATA, KLENP, KSEC4, KGRIB, KLENG, KNSPT, C X KBITS, KLEN, KREFGR, KLENGR, KBITGR, KWORK, C X KLWORK, KPOWER, KMXPWR, KNBIFO, ODEBUG ) C C C Input Parameters. C ---------------- C C KDATA - Array of normalized values. C KLENP - Length of array KDATA. C KSEC4 - Array of GRIB section 4 integer descriptors. C KLENG - Length of GRIB product array. C KNSPT - Bit pointer for next value in GRIB product. C KBITS - Number of bits per computer word. C KLEN - Exact number of grid-points to handle. C KREFGR - Work array, first-order values for each group. C KLENGR - Work array, effective length of each group. C KBITGR - Work array, bit number ("width") of each group. C KLWORK - Length of work arrays. C KPOWER - Auxilary array, containing precomputed powers of 2-1. C KMXPWR - Maximum number of bits per original scaled value. C KNBIFO - Number of BIts for coding First-Order values. C ODEBUG - True for some debug printout. C C C Output Parameters. C ----------------- C C KDATA - Used as work array for second-order values, C and secondary bit-map (if any). C KSEC4 - Array of GRIB section 4 integer descriptors C (completed). C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product (updated). C KREFGR - Work array, re-used for variable width methods. C KBITGR - Work array, re-used for variable width methods. C KWORK - Work array, used for variable width methods. C C C Method. C ------- C C Follows WMO Manual of Codes. C C Externals. C ---------- C C C2PKVW - Packs 2nd-order values for variable width methods. C INXBIT - Insert bits into GRIB product. C PRTBIN - Transform integer value in printable "binary" format. C CSGNBT - Codes an integer value and its sign bit. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C On entry, KNSPT points to the first bit of section 4 C in the GRIB product. C On exit, KNSPT points to the first unused bit of section 4, C (or to the first bit of section 5, if unused bit count C is zero) in the GRIB product. C C KDATA is overwritten. This is coherent with GRIBEX coding. C C Detailed use of KSEC4 as input/output argument C ---------------------------------------------- C C KSEC4(4) set to 64 to indicate complex packing. C KSEC4(6) " " 16 " " presence of extended flags. C C KSEC4(9) used to know secondary bit-map use (0=no,32=yes). C KSEC4(10) " " " constant/variable width (0=constant,16=var). C KSEC4(11) " " " for width value, if constant. C KSEC4(11) used to know width of spatial differencing descriptors. C KSEC4(11) set to width of lengths for general extended method, C for consistency with D2ORDR routine. C KSEC4(12) used to know general extended packing (0=no,8=yes). C KSEC4(13) " " " boustrophedonic ordering (0=no,4=yes). C KSEC4(14) (0 or 2) and KSEC4(15) (0 or 1) used to know spatial C differencing through their sum (0=no,1/2/3=order used). C KSEC4(16) used to know bias for spatial differencing. C KSEC4(17) " " " width of lengths for general extended C method. C KSEC4(16) set to pointer to first-order values. C KSEC4(17) " " " " 2nd-order " . C KSEC4(18) set to number of first-order values. C KSEC4(19) " " " " 2nd-order " . C KSEC4(20) used to know width of groups. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C _____________ C C J. Clochard, April 1998. C Update comments. C Introduce spatial differencing. C C J. Clochard, September 1998. C Optimisation of bit-string encoding for variable width methods, C through routine C2PKVW. C Suppress dummy-argument KSEC1, and add KWORK/KPOWER/KMXPWR C in calling syntax. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET C PARAMETER ( JP16SET= 2**16-1 ) C `---> 65535 = FFFF(hex) C C Subroutine arguments C INTEGER KLENP, KLENG, KNSPT, KBITS, KLEN, KLWORK, KNBIFO, KMXPWR INTEGER KDATA (KLENP), KSEC4 (*), KGRIB (KLENG) INTEGER KREFGR (KLWORK), KLENGR (KLWORK), KBITGR (KLWORK) INTEGER KWORK (KLWORK), KPOWER (0:KMXPWR) C LOGICAL ODEBUG C C Local variables. C INTEGER ICOUNT, ILDSTA, IZERO, JGROUP, ILNGTH, IFILL, INSPTB INTEGER IRET, J, ILVARB, IBITGW, IREFER, IFLAGX, INSPTA INTEGER IPTRFO, IPTRSO, IFIROV, ISECOV, IRETFN, IAUXIL #ifndef wmogrp2o INTEGER IEXTRA #endif INTEGER IBITGS, IPTRGS, IORDER, IWIDSD, IBIAS, ILVARX C INTEGER IWORK (3) C INTEGER C2PKVW EXTERNAL C2PKVW C CHARACTER YOPER*1 C LOGICAL LROW, LCTWID, LSECBI, LVECTP LOGICAL LGENXT C C ----------------------------------------------------------------- C* Section 1 . Initialisations. C ----------------------------------------------------------------- C 100 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) KNSPT #ifndef ebug2o ENDIF #endif C IRETFN = 0 IZERO=0 ILDSTA=21 INSPTA=KNSPT YOPER='C' LSECBI=KSEC4(9).NE.0 #if (defined CRAY) || (defined FUJITSU) LVECTP=.TRUE. #else LVECTP=.FALSE. #endif LROW=.NOT.LSECBI.AND.KSEC4(12).EQ.0 LGENXT=.NOT.LSECBI.AND.KSEC4(12).NE.0 IORDER=KSEC4(14)+KSEC4(15) LCTWID=KSEC4(10).EQ.0 IFIROV=KSEC4(18) IBITGW=KSEC4(20) C C Enforce right values for flags, for further use by GRIBEX. C KSEC4(4)=64 KSEC4(6)=16 C C Compute length of "variable-length" descriptors. C IF (LROW) THEN ILVARB=8*((8+IFIROV*IBITGW-1)/8) ELSEIF (LCTWID) THEN ILVARB=8+KLEN ELSEIF (LGENXT) THEN IBITGS=KSEC4(17) C IF (IORDER.EQ.0) THEN ILVARX=4 ELSE IWIDSD=KSEC4(11) IBIAS=KSEC4(16) ILVARX=5+(8+IWIDSD*(IORDER+1)-1)/8 ENDIF C ILVARB=8*(ILVARX+(8+IFIROV*IBITGW-1)/8)+IFIROV*IBITGS C C IBITGS stored back in KSEC4(11), for consistency with D2ORDR. C KSEC4(11)=IBITGS ELSE ILVARB=8*((8+IFIROV*IBITGW-1)/8)+KLEN ENDIF C C ----------------------------------------------------------------- C* Section 2 . Coding of fixed-length descriptors. C ----------------------------------------------------------------- C 200 CONTINUE C C The first 10 octets have already been coded in GRIBEX, or will C be in a further step of GRIBEX: C Length of section, flags+unused bit count, binary scale factor, C reference value. C C* Octet 11 : Number of bits containing each first-order value. C One 8 bit field. C KNSPT=KNSPT+10*8 CALL INXBIT(KGRIB,KLENG,KNSPT,KNBIFO,1,KBITS, 8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20210 WRITE(GRPRSM,FMT=9001) 'bit number of first-order values' GO TO 900 ENDIF C C Octets 12 - 13: Octet number of the start of first-order packed C data. C One 16-bit field. C IPTRFO=1+ILDSTA+(8+ILVARB-1)/8 KSEC4(16)=IPTRFO CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(16),1,KBITS,16,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20220 WRITE(GRPRSM,FMT=9001) 'pointer to first-order packed data' GO TO 900 ENDIF C C Octet 14: Extended flags. C One 8-bit field. C IFLAGX=KSEC4(9)+KSEC4(10)+KSEC4(12)+KSEC4(13)+KSEC4(14)+KSEC4(15) CALL INXBIT(KGRIB,KLENG,KNSPT,IFLAGX,1,KBITS, 8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20230 WRITE(GRPRSM,FMT=9001) 'extended flags' GO TO 900 ENDIF C C Octets 15 - 20: Octet number of the start of second-order packed C data, Number of first-order packed data, C Number of second-order packed data. C Three 16-bit fields. C IPTRSO=IPTRFO+(8+IFIROV*KNBIFO-1)/8 ISECOV=KLEN-IORDER C KSEC4(17)=IPTRSO KSEC4(18)=IFIROV KSEC4(19)=ISECOV CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(17),3,KBITS,16,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20240 WRITE(GRPRSM,FMT=9001) 'standard second-order descriptors' GO TO 900 ENDIF C #ifndef wmogrp2o C Octet 21: Reserved by WMO, so should be zero in standard case. C Could be used for extra bits of group number. C One 8-bit field. C IEXTRA=IFIROV/(JP16SET+1) C IF (IEXTRA.NE.0) THEN CALL PRTBIN (IEXTRA,8,IAUXIL,IRET) C IF (IRET.NE.0) THEN IAUXIL=IEXTRA ENDIF C WRITE(GRPRSM,FMT=9255) IFIROV, JP16SET, IEXTRA, IAUXIL ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,IEXTRA,1,KBITS, 8,YOPER,IRET) #else C Octet 21: Reserved by WMO. Set to zero. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS, 8,YOPER,IRET) #endif C IF (IRET.NE.0) THEN IRETFN = 20250 WRITE(GRPRSM,FMT=9001) 'reserved octet (section 4, 21st)' GO TO 900 ENDIF C C ----------------------------------------------------------------- C* Section 3. Coding of variable-length descriptors. C ----------------------------------------------------------------- C 300 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif CALL PRTBIN (IFLAGX,8,IAUXIL,IRET) C IF (IRET.NE.0) THEN IAUXIL=IFLAGX ENDIF C WRITE(GRPRSM,FMT=9300) KNBIFO, IAUXIL, IFIROV, ISECOV, IPTRFO, X IPTRSO WRITE(GRPRSM,FMT=9310) 'fixed', KNSPT #ifndef ebug2o ENDIF C #endif C IF (LCTWID) THEN C C Octet 22: Common width of groups. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(11),1,KBITS,8,YOPER,IRET) C ELSEIF (LGENXT) THEN C C Octets 22 - 23: Width of widths, Width of lengths. C Two 8-bit fields. C IWORK(1)=IBITGW IWORK(2)=IBITGS CALL INXBIT(KGRIB,KLENG,KNSPT,IWORK,2,KBITS,8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20310 WRITE(GRPRSM,FMT=9001) X 'Extended descriptors, 1st-order values' GO TO 900 ENDIF C C Octets 24-25: Octet number of the start of group sizes (lengths). C One 16-bit field. C IPTRGS = 1 + ILDSTA + ILVARX + (8+IFIROV*IBITGW-1)/8 #ifdef ebug2o PRINT *,'c2pack - IBITGW =',IBITGW,', IBITGS =',IBITGS, X ', IPTRGS =',IPTRGS #endif CALL INXBIT(KGRIB,KLENG,KNSPT,IPTRGS,1,KBITS,16,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20315 WRITE(GRPRSM,FMT=9001) 'General extended group size pointer' GO TO 900 ELSEIF (IORDER.NE.0) THEN C C Octet 26: Width of spatial differencing specific descriptors. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,IWIDSD,1,KBITS,8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20316 WRITE(GRPRSM,FMT=9001) X 'Width of spatial differencing descriptors' GO TO 900 ELSEIF (IWIDSD.NE.0) THEN C C Octet 27-onwards: first IORDER original values and diff. bias. C (IORDER+1) fields of IWIDSD bits. C C Temporarily use KDATA(IORDER+1) for bias and its sign. C IAUXIL=IORDER+1 IFILL=KDATA(IAUXIL) CALL CSGNBT(KDATA(IAUXIL),IBIAS,IWIDSD,IRET) C IF (IRET.NE.0) THEN IRETFN = 20317 WRITE(GRPRSM,FMT=9317) IRET GO TO 900 ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,KDATA,IAUXIL,KBITS,IWIDSD, X YOPER,IRET) C KDATA(IAUXIL)=IFILL C IF (IRET.NE.0) THEN IRETFN = 20318 WRITE(GRPRSM,FMT=9001) X 'First field value(s) (spatial differencing case)' GO TO 900 ELSEIF (MOD (KNSPT,8).NE.0) THEN C C Fill up with binary zeros till next octet boundary. C IFILL=8*((8+KNSPT-1)/8)-KNSPT CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,IFILL, X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20319 WRITE(GRPRSM,FMT=9001) X 'padding after spatial differencing descriptors' GO TO 900 ENDIF C ENDIF C ENDIF C ENDIF C C Octets XX - XX+(IPTRGS-1): Group widths. C IFIROV fields of IBITGW bits. C CALL INXBIT(KGRIB,KLENG,KNSPT,KBITGR,IFIROV,KBITS,IBITGW, X YOPER,IRET) ELSE C C Octets 22 - 21+IFIROV: Group widths. C IFIROV fields of IBITGW bits. C CALL INXBIT(KGRIB,KLENG,KNSPT,KBITGR,IFIROV,KBITS,IBITGW, X YOPER,IRET) ENDIF C IF (IRET.NE.0) THEN IRETFN = 20320 WRITE(GRPRSM,FMT=9001) 'inserting group width(s)' GO TO 900 ELSEIF (MOD (KNSPT,8).NE.0) THEN C C Fill up with binary zeros till next octet boundary. C IFILL=8*((8+KNSPT-1)/8)-KNSPT CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,IFILL,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20330 WRITE(GRPRSM,FMT=9001) 'padding after group width(s)' GO TO 900 ENDIF C ENDIF C IF (LSECBI) THEN C C Secondary bit-map will be inserted later, after second-order C values processing, to use KDATA as work array. Retain pointer. C INSPTB=KNSPT KNSPT=KNSPT+KLEN C IF (MOD (KNSPT,8).NE.0) THEN C C Fill up with binary zeros till next octet boundary. C IFILL=8*((8+KNSPT-1)/8)-KNSPT CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,IFILL,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20340 WRITE(GRPRSM,FMT=9001) 'padding after secondary bit-map' GO TO 900 ENDIF C ENDIF C ELSEIF (LGENXT) THEN C C Octets IPTRGS - (IPTRFO-1): General extended group sizes(lengths). C IFIROV fields of IBITGS bits. C CALL INXBIT(KGRIB,KLENG,KNSPT,KLENGR,IFIROV,KBITS,IBITGS, X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20350 WRITE(GRPRSM,FMT=9001) 'General extended group sizes' GO TO 900 ELSEIF (MOD (KNSPT,8).NE.0) THEN C C Fill up with binary zeros till next octet boundary. C IFILL=8*((8+KNSPT-1)/8)-KNSPT CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,IFILL,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20360 WRITE(GRPRSM,FMT=9001) X 'padding after General extended group sizes' GO TO 900 ENDIF C ENDIF C ENDIF C IF (KNBIFO.NE.0) THEN C C Octets IPTRFO - (IPTRSO-1): First-order values (reference values C of groups). C IFIROV fields of KNBIFO bits. C CALL INXBIT(KGRIB,KLENG,KNSPT,KREFGR,IFIROV,KBITS,KNBIFO, X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20370 WRITE(GRPRSM,FMT=9001) X 'first-order values (reference values of groups)' GO TO 900 ELSEIF (MOD (KNSPT,8).NE.0) THEN C C Fill up with binary zeros till next octet boundary. C IFILL=8*((8+KNSPT-1)/8)-KNSPT CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,IFILL,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20380 WRITE(GRPRSM,FMT=9001) 'padding after first-order values' S//' of groups.' GO TO 900 ENDIF C ENDIF C ENDIF C C ----------------------------------------------------------------- C* Section 4. Coding of data (second-order values). C ----------------------------------------------------------------- C 400 CONTINUE C C Octets IPTRSO - onwards: Second-order values (deviations from C groups references). #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9310) 'variable', KNSPT #ifndef ebug2o ENDIF C #endif ICOUNT=IORDER C IF (LCTWID) THEN C C Constant width packing. C IF (KSEC4(11).NE.0) THEN C DO 412 JGROUP=1,IFIROV C ILNGTH=KLENGR(JGROUP) IREFER=KREFGR(JGROUP) C DO 411 J=1,ILNGTH KDATA(ICOUNT+J)=KDATA(ICOUNT+J)-IREFER 411 CONTINUE C ICOUNT=ICOUNT+ILNGTH C 412 CONTINUE C C Effective coding of second-order values, once for all groups. C CALL INXBIT(KGRIB,KLENG,KNSPT,KDATA,KLEN,KBITS, X KSEC4(11),YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20410 WRITE(GRPRSM,FMT=9001) X 'second-order values (deviations from 1st-order values)' GO TO 900 ENDIF C ELSE ICOUNT=KLEN ENDIF C ELSE C C Packing method(s) with variable width. C IRETFN = C2PKVW ( KDATA, KLENP, KGRIB, KLENG, KNSPT, X KBITS, KLEN, KREFGR, KLENGR, KBITGR, X KWORK, KLWORK, IFIROV, ICOUNT, KPOWER, X KMXPWR, LROW, LVECTP, ODEBUG ) C IF (IRETFN.NE.0) THEN GOTO 900 ENDIF C ENDIF C IF (ICOUNT.NE.KLEN) THEN IRETFN = 20420 WRITE(GRPRSM,FMT=9420) ICOUNT, KLEN GO TO 900 ENDIF C C KNSPT pointer is intentionally left as is: C GRIBEX will use its value back to compute unused bit count... C ...no adjustment to nearest octet boundary here, then. C C ----------------------------------------------------------------- C* Section 5. Compute and code secondary bit-map, if any. C ----------------------------------------------------------------- C 500 CONTINUE C IF (LSECBI) THEN C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9510) 'Coding secondary bit-map', INSPTB #ifndef ebug2o ENDIF C #endif C DO 511 J=1,KLEN KDATA(J)=0 511 CONTINUE C ICOUNT=0 C DO 512 JGROUP=1,IFIROV C ILNGTH=KLENGR(JGROUP) KDATA(ICOUNT+1)=1 ICOUNT=ICOUNT+ILNGTH C 512 CONTINUE C C Effective coding of secondary bit-map, once for all groups. C CALL INXBIT(KGRIB,KLENG,INSPTB,KDATA,KLEN,KBITS, X 1,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 20510 WRITE(GRPRSM,FMT=9001) 'secondary bit-map' GO TO 900 #ifdef ebug2o ELSE #else ELSEIF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9510) 'Secondary bit-map encoded', INSPTB ENDIF C ENDIF C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C C2PACK = IRETFN #ifndef ebug2o C IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IRETFN, KNSPT #ifndef ebug2o ENDIF #endif C RETURN C 9001 FORMAT (' C2PACK: Problem inserting ',A,'.') C 9100 FORMAT (' C2PACK: Function start, KNSPT =',I10,'.') #ifndef wmogrp2o C 9255 FORMAT (' C2PACK: Group number',I8,' exceeds',I6,'.',/,TR10, X 'extra bits stored in 21st octet of section 4 (',I3, X '=>',I8.8,').') #endif C 9300 FORMAT (' C2PACK: KNBIFO =',I3,', IFLAGX =',I9.8, X ', IFIROV =',I8,', ISECOV =',I8,'.',/, X ' C2PACK: IPTRFO =',I8,', IPTRSO =',I8,'.') 9310 FORMAT (' C2PACK: KNSPT after "',A,'-length" descriptors =', X I10,'.') 9317 FORMAT ( X' C2PACK: Bias sign management problem, CSGNBT return is',I5,'.') C 9420 FORMAT (' C2PACK: Mismatch: sum of group lengths =',I8, X ', expected = ',I8,'.') C 9510 FORMAT (' C2PACK: ',A,', bit pointer =',I10,'.') C 9900 FORMAT (' C2PACK: Function return code =',I6,', KNSPT =',I10,'.') C END emoslib-000392+dfsg.1/gribex/prtbl2.F0000755000175000017500000000622412127406245020261 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PRTBL2 (IB2PAR) C C----> C* C* NAME : PRTBL2 C* C* FUNCTION : PRINT THE INFORMATION IN THE GRDI DEFINITION C* BLOCK (BLOCK 2) OF DECODED GRIB DATA. C* C* INPUT : IB2PAR - ARRAY OF DECODED PARAMETERS FROM BLOCK 2. C* C* JOHN HENNESSY ECMWF 28 MAY 1985 C* C* C --------------------------------------------------------------- C----< C DIMENSION IB2PAR(*) C WRITE (*,9000) 9000 FORMAT (1H0,'BLOCK 2 - GRID DEFINITION BLOCK',/) C WRITE (*,9001) IB2PAR(1) 9001 FORMAT (1H0,'DATA REPRESENTATION TYPE (TABLE 6) ',I9) C C SPHERICAL HARMONIC DATA C IF (IB2PAR(1).EQ.50) C THEN C WRITE (*,9002) IB2PAR(2) 9002 FORMAT (1H ,'J - PENTAGONAL RESOLUTION PARAMETER. ',I9) WRITE (*,9003) IB2PAR(3) 9003 FORMAT (1H ,'K - PENTAGONAL RESOLUTION PARAMETER. ',I9) WRITE (*,9004) IB2PAR(4) 9004 FORMAT (1H ,'M - PENTAGONAL RESOLUTION PARAMETER. ',I9) WRITE (*,9005) IB2PAR(5) 9005 FORMAT (1H ,'REPRESENTATION TYPE (TABLE 9) ',I9) WRITE (*,9006) IB2PAR(6) 9006 FORMAT (1H ,'REPRESENTATION MODE (TABLE 10). ',I9) C RETURN C ENDIF C C GAUSSIAN AND REGULAR LATITUDE / LONGITUDE GRIDS. C IF (IB2PAR(1).EQ.0.OR.IB2PAR(1).EQ.4) C THEN C WRITE (*,9102) IB2PAR(2) 9102 FORMAT (1H ,'NO. OF POINTS ALONG A LATITUDE. ',I9) WRITE (*,9103) IB2PAR(3) 9103 FORMAT (1H ,'NO. OF POINTS ALONG A MERIDIAN. ',I9) WRITE (*,9104) IB2PAR(4) 9104 FORMAT (1H ,'LATITUDE OF ORIGIN (SOUTH -IVE) ',I9) WRITE (*,9105) IB2PAR(5) 9105 FORMAT (1H ,'LONGITUDE OF ORIGIN (WEST -IVE) ',I9) WRITE (*,9106) IB2PAR(6) 9106 FORMAT (1H ,'EXTREME POINT / INCREMENTS FLAG. ',I9) WRITE (*,9107) IB2PAR(7) 9107 FORMAT (1H ,'LATITUDE OF EXTREME POINT(SOUTH -IVE)',I9) WRITE (*,9108) IB2PAR(8) 9108 FORMAT (1H ,'LONGITUDE OF EXTREME POINT(WEST -IVE)',I9) WRITE (*,9109) IB2PAR(9) 9109 FORMAT (1H ,'LATITUDE INCREMENT. ',I9) IF (IB2PAR(1).EQ.0) C THEN WRITE (*,9110) IB2PAR(10) 9110 FORMAT(1H ,'LONGITUDE INCREMENT. ', C I9) ENDIF IF (IB2PAR(1).EQ.4) C THEN WRITE (*,8110) IB2PAR(10) 8110 FORMAT(1H ,'NO. OF LATITUDE LINES POLE / EQUATOR.', C I9) ENDIF WRITE (*,9111) IB2PAR(11) 9111 FORMAT (1H ,'SCANNING MODE (CODE TABLE 8). ',I9) C RETURN C ENDIF C END emoslib-000392+dfsg.1/gribex/Makefile.in0000755000175000017500000000107712127406245021013 0ustar amckinstryamckinstry# # Makefile for gribex # A64 = plat R64 = reals ARCH = arch LIB = depl CNAME = comp LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources.$(ARCH) # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(EXTRAOBJ) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ include make.dep clean: \rm -f $(OBJECTS) *.f emoslib-000392+dfsg.1/gribex/ecdef14.h0000755000175000017500000000441012127406245020324 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 14. C Brightness temperature. C ----------------------- C C Octet KSEC1(n) C ----- -------- C C 41 37 ECMWF local GRIB use definition identifier: C 14 = Brightness temperature. C C 42 38 Class C 1 = Operations C 2 = Research C C 43 39 Type C 12 = estimate of forecast accuracy (ef) C 13 = estimate of analysis accuracy (ea) C C 44->45 40 Stream C 1025 = daily archive C C 46->49 41 Version number/experiment identifier. C (four ASCII characters, right justified) C C 50 42 As for MARS labelling C (eg set to zero, or C ensemble forecast number if appropriate) C C 51 43 As for MARS labelling C (eg set to zero, or C total number in ensembles if appropriate) C C 52 44 Channel number C C 53->56 45 Integer scaling factor applied to frequencies C in following list of frequency definitions C (4-byte integer) C C 57 46 Total number of frequencies (Nf) C C 58-60 Spare (set to zero) C C 61-> 47-> List of Nf scaled frequencies C 60+Nf*4 46+Nf (4-byte integers) C C 61+Nf*4-> Spare (set to zero) C 1080 C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/ecdef12.h0000755000175000017500000000753512127406245020335 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 12. C C Mean, average, etc. C ------------------- C C Octet KSEC1(n) C ----- -------- C C 1-3 Length of section 1 in octets (=70) C C 4 1 Version number of code table 2 C C 5 2 Identification of originating centre C (98 = ECMWF) C C 6 3 Generating process identification number C C 7 4 Grid definition C C 8 5 Flag indicating whether sections 2/3 are present C C 9 6 Parameter indicator C C 10 7 Level indicator C C 11 8 Height/pressure level C C 12 9 Height/pressure level C C 13 10 Start date - Year (YY) C C 14 11 Start date - Month (MM) C C 15 12 Start date - Day (DD) C C 16 13 Start date - Hour (HH) C C 17 14 Start date - Minute (MM) C C 18 15 Time unit indicator (see WMO code table 4) C C 19 16 Time period P1 C C 20 17 Time period P2 C C 21 18 Time range indicator (see WMO code table 5) C C 22-23 19 Number included in the mean, average, etc. C C 24 20 Number missing from mean, average, etc. C C 25 21 Century of start date C C 26 22 Sub-centre identifier C C 27-28 23 Decimal scale factor C C 24 Flag to indicate ECMWF local usage follows C in section 1 C C 29-40 25-36 Zero C C 41 37 ECMWF local GRIB use definition identifier: C 12 = Mean, average, etc. C C 42 38 Class C C 43 39 Type C C 44-45 40 Stream C C 46-49 41 Version number/experiment identifier. C (four ASCII characters, right justified) C C Description of the time period over which the mean/average/etc was C constructed: C C 50-53 42 Start date of the period (YYYYMMDD) C C 54-55 43 Start time of the period (HHMM) C C 56-59 44 Finish date of the period (YYYYMMDD) C C 60-61 45 Finish time of the period (HHMM) C C 62-65 46 Verifying date of the period (YYYYMMDD) C C 66-67 47 Verifying time of the period (HHMM) C C 68 48 Code showing method of meaning, averaging, etc: C 1 = by step of integration C 2 = by postprocessing step C 3 = monthly means of instantaneous values C 4 = monthly means of daily means C 5 = monthly means of forecast accumulations C : C 255 = not used C C 69-70 49 Number (N) of different time intervals used to C build data. C N = 1 if a constant interval has been used. C Otherwise all intervals must be given in the C following list. C C 71- 50- List of time intervals used (in order) in time C 70+(N*4) 49+N units defined in octet 18 C C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/dggsec2.F0000755000175000017500000001652312127406245020375 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DGGSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS, X IMISNG) C C----> C**** DGGSEC2P C C PURPOSE C _______ C C Decodes GRIB section 2 values for gaussian grid fields.. C C INTERFACE C _________ C C IRET = DGGSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,IMISNG) C C Input parameters C ________________ C C KGRIB - GRIB product unpacked so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product unpacked so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C IMISNG - Missing data value to be used. C C C Output parameters C ________________ C C KSEC2 - Updated GRIB section 2 description. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Unpacks values given in KGRIB into KSEC2 and updates bit C pointer INSPT. C C Externals C _________ C C DSGNBT - Get the sign bit and adjust value to +/-. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,IMISNG DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) C C Local variables C INTEGER ILALO(2), IRET, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C DGGSEC2 = 0 C C _______________________________________________________ C C Section 2. Unpack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along a parallel. C Octets 9 - 10 : Nj - number of points along a meridian. C Two 16 bit fields. C C For quasi-regular grids Ni is set to all 1 bits, as C the number of points is different on different parallels. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DGGSEC2 = IRET WRITE(GRPRSM,*) 'DGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'DGGSEC2: number of pts along parallel or meridian.' WRITE(GRPRSM,*) 'DGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Change 1 bits to missing data value. C IF( KSEC2(2).EQ.JP16SET ) KSEC2(2) = IMISNG C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DGGSEC2 = IRET WRITE(GRPRSM,*) 'DGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'DGGSEC2: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'DGGSEC2: Return code = ', IRET GOTO 900 ENDIF C CALL DSGNBT( KSEC2(4), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(5), ILALO(2), 24, IRET) C C Octet 17 : Resolution and components flag. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DGGSEC2 = IRET WRITE(GRPRSM,*) 'DGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'DGGSEC2: components flag.' WRITE(GRPRSM,*) 'DGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C All flag fields are already set to 0, so C IF( IRESOL.EQ.0 ) GOTO 210 C C Fix up for flag which was different in Experimental edition. IF( KSEC0(2).EQ.-1.AND.(IRESOL.EQ.1.OR.IRESOL.EQ.3)) X IRESOL = 128 C C Set Resolution flag. IF( IRESOL.GE.128) THEN KSEC2(6) = 128 IRESOL = IRESOL - 128 ENDIF C C Set earth flag. IF( IRESOL.GE.64) THEN KSEC2(18) = 64 IRESOL = IRESOL - 64 ENDIF C 210 CONTINUE C C Set components flag. C KSEC2(19) = IRESOL C C Octets 18 - 20 : La2 - latitude of last grid point. C Octets 21 - 23 : Lo2 - longitude of last grid point. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DGGSEC2 = IRET WRITE(GRPRSM,*) 'DGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'DGGSEC2: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'DGGSEC2: Return code = ', IRET GOTO 900 ENDIF C CALL DSGNBT( KSEC2(7), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(8), ILALO(2), 24, IRET) C C C Octets 24 - 25 : Di - i direction increment. C One 16 bit field. C C For quasi-regular grids all Di bits are set to 1, as C the increment is different on different parallels. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),1,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DGGSEC2 = IRET WRITE(GRPRSM,*) 'DGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'DGGSEC2: i direction increment.' WRITE(GRPRSM,*) 'DGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Change 1 bits to missing data value. C IF( KSEC2(9).EQ.JP16SET) KSEC2(9) = IMISNG C C Octets 26 - 27 : N- number of parallels between a Pole C and the Equator. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(10),1,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DGGSEC2 = IRET WRITE(GRPRSM,*) 'DGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'DGGSEC2: no. of parallels between pole and Equator' WRITE(GRPRSM,*) 'DGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DGGSEC2 = IRET WRITE(GRPRSM,*) 'DGGSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'DGGSEC2: scanning mode flags.' WRITE(GRPRSM,*) 'DGGSEC2: Return code = ', IRET GOTO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. C IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 32 : Reserved. C Two 16 bit fields. C C Skip the 4 octets C INSPT = INSPT + 32 C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/dsect4.F0000755000175000017500000002630412127406245020243 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DSECT4( PDATA, KTRUNC, KSEC1, KSEC4, X KGRIB, KLENG, KNSPT, KBITS, KPACK) C C----> C**** DSECT4 C C Purpose. C -------- C C Decode GRIB section 4 for complex packing of spherical harmonics. C C C** Interface. C ---------- C C KRET = DSECT4( PDATA, KTRUNC, KSEC1, KSEC4, C X KGRIB, KLENG, KNSPT, KBITS, KPACK) C C C Input Parameters. C ----------------- C C PDATA - Array of floating point values. C KTRUNC - Truncation of the spherical harmonic coefficients. C KLENG - Length of GRIB product array C KNSPT - Bit pointer for next value in GRIB product C KBITS - Number of bits per computer word. C KPACK - Number of bits per packed value. C C C Output Parameters. C ----------------- C C KSEC1 - Array of GRIB section 1 values C KSEC4 - Array of GRIB section 4 values C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product(updated) C C C Method. C ------- C C | C C Given numbers: cccccccc|cccccc C cccccc|cccccc C cccc|cccccc C cc|cccccc C |cccccc C cccc C cc C C C Externals. C ---------- C C GSCALE - Apply power scaling to values to be packed. C UNPKCF - Unpack unscaled coefficients from GRIB product. C UNCMPCK - Re-scatter the values being unpacked into array. C INXBIT - Extract bits from GRIB product. C DECFP2 - Decode from IBM floating point format. C JMALLOC - Routine to acquire memory C JFREE - Routine to release memory C C C Reference. C ---------- C C None. C C C Comments. C -------- C C On entry, KNSPT points to the first bit of section 4 in the GRIB C product. C On exit, KNSPT points to the first bit of section 5 in the GRIB C product. C C C Author. C ------- C C J.D.Chambers ECMWF 06:05:94 C C C Modifications. C _____________ C C J.D.Chambers ECMWF 13.09.95 C Put in check for 32-bit packing. C (Removed May 1996) C C J.Clochard, Meteo France, for ECMWF - January 1998. C FLOAT function replaced by REAL. C Fix comments. C Use of external JFREE instead of FREE. C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C C Parameters INTEGER JP15BIT, JP87SET, JPBYTES #ifdef REAL_8 PARAMETER (JPBYTES = 8) #else PARAMETER (JPBYTES = 4) #endif PARAMETER ( JP15BIT= 2**15 ) C `---> 32768 = 8000(hex) PARAMETER ( JP87SET= 192 ) C `---> = C0(hex) C C Subroutine arguments C INTEGER KTRUNC, KSEC1, KSEC4, KGRIB, KLENG, KNSPT, KBITS, KPACK REAL PDATA DIMENSION PDATA(*), KGRIB(*), KSEC1(*), KSEC4(*) C C Local variables. C INTEGER J110, J310, IPOWER, ISUBSET INTEGER IVAL, IRET, IRETA, IRETB, IEXP, IMANT INTEGER INSPTA, ILEN, ISCALE INTEGER ILEN4, IFLAG, ISIZE C #ifdef POINTER_64 INTEGER*8 IPIVAL #endif POINTER (IPIVAL, IVAL) DIMENSION IVAL(1) SAVE IPIVAL, ISIZE C REAL ZREF, ZSCALE C C Externals C #ifdef POINTER_64 INTEGER*8 JMALLOC #else INTEGER JMALLOC #endif INTEGER UNPKCF, GSCALE EXTERNAL UNPKCF, GSCALE, JMALLOC C DATA ISIZE/0/ C C ----------------------------------------------------------------- C* Section 1 . Decode octets 1 to 11. C ----------------------------------------------------------------- C 100 CONTINUE C DSECT4 = 0 C C Allocate memory (first time only) IF( ISIZE.LT.((KTRUNC+1)*(KTRUNC+2)*JPBYTES) ) THEN IF( ISIZE.NE.0 ) CALL JFREE(IPIVAL) ISIZE = (KTRUNC+1)*(KTRUNC+2)*JPBYTES IPIVAL = JMALLOC(ISIZE) #ifdef hpR64 IPIVAL = IPIVAL/(1024*1024*1024*4) #endif IF( IPIVAL.EQ.0 ) THEN WRITE(*,*) 'DSECT4: Memory allocation failed.' WRITE(*,*) 'DSECT4: Number of bytes required = ', ISIZE DSECT4 = 16123 GOTO 900 ENDIF ENDIF C C Preserve bit position of start of section 4. INSPTA = KNSPT C C Fill in the number of values unpacked KSEC4(1) = (KTRUNC+1)*(KTRUNC+2) C C Octets 1 - 3: Length of section. C One 24-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,ILEN4,1,KBITS,24,'D',IRET) IF (IRET.NE.0) THEN DSECT4 = 16110 WRITE(*,*) 'DSECT4: Problem unpacking length of section.' GO TO 900 ENDIF C C Octet 4: C One 4-bit field -> flag, spherical harmonics/complex/float point C One 4-bit field -> number of unused bits at end of section 4. C CALL INXBIT(KGRIB,KLENG,KNSPT,IFLAG,1,KBITS,8,'D',IRET) IF (IRET.NE.0) THEN DSECT4 = 16111 WRITE(*,*) 'DSECT4: Problem unpacking flag byte.' GO TO 900 ENDIF C C Check the flag IF ( (IFLAG/16) .NE. 12 ) THEN DSECT4 = 16112 WRITE(*,*) 'DSECT4: Flag wrong = ', IFLAG GO TO 900 ELSE KSEC4(3) = 128 KSEC4(4) = 64 DO 110 J110 = 5, 33 KSEC4(J110) = 0 110 CONTINUE ENDIF C C* Octets 5 - 6 : Scale factor. C One 16 bit field. C C Adjust bit pointer over first 4 octets and insert scale factor. CALL INXBIT(KGRIB,KLENG,KNSPT,ISCALE,1,KBITS, 16,'D',IRET) IF (IRET.NE.0) THEN DSECT4 = 16113 WRITE(*,*) 'DSECT4: Problem unpacking scale factor.' GO TO 900 ENDIF C C Make negative if sign bit set IF ( ISCALE .GT. JP15BIT ) THEN ISCALE = ISCALE - JP15BIT ISCALE = -ISCALE ENDIF ZSCALE = 2.0**ISCALE C C* Octets 7 - 10 : Reference value. C One 8 bit and one 24 bit field. C C Extract reference value exponent and mantissa. CALL INXBIT(KGRIB,KLENG,KNSPT,IEXP,1,KBITS, 8,'D',IRETA) CALL INXBIT(KGRIB,KLENG,KNSPT,IMANT,1,KBITS, 24,'D',IRETB) IRET = IRETA + IRETB IF (IRET.NE.0) THEN DSECT4 = 16114 WRITE(*,*) 'DSECT4: Problem unpacking reference value.' GO TO 900 ENDIF C C Decode the reference value CALL DECFP2 (ZREF,IEXP,IMANT) C C* Octet 11 : Number of bits containing each packed value. C One 8 bit field. C C Extract number of bits for each packed value. CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(2),1,KBITS, 8,'D',IRET) IF (IRET.NE.0) THEN DSECT4 = 16115 WRITE(*,*) 'DSECT4: Problem unpacking number of bits/value.' GO TO 900 ENDIF C C ----------------------------------------------------------------- C* Section 2 . Decode octets 12 to 18. C ----------------------------------------------------------------- C 200 CONTINUE C C Octets 12 - 13: Octet number of the start of packed data C One 16-bit field. C C Extract octet number of the start of packed data. CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(16),1,KBITS,16,'D',IRET) IF (IRET.NE.0) THEN DSECT4 = 16116 WRITE(*,*) 'DSECT4: Problem unpacking start of packed data.' GO TO 900 ENDIF C C Octets 14 - 15: Scaling factor; power of Laplacian operator C applied to field before packing. C One 16-bit field. C C Extract scaling power. CALL INXBIT(KGRIB,KLENG,KNSPT,IPOWER,1,KBITS,16,'D',IRET) IF (IRET.NE.0) THEN DSECT4 = 16117 WRITE(*,*) 'DSECT4: Problem unpacking scaling power.' GO TO 900 ENDIF C C Set value negative if sign bit set. IF (IPOWER.GT.JP15BIT) THEN IPOWER = IPOWER - JP15BIT IPOWER = -IPOWER ENDIF KSEC4(17) = IPOWER C C Octets 16 - 18: Pentagonal resolution parameters J,K,M C specifying truncation of subset of data C represented unpacked. C Three 8-bit fields. C C Extract pentagonal resolution parameters. CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(18),3,KBITS, 8,'D',IRET) IF (IRET.NE.0) THEN DSECT4 = 16118 WRITE(*,*) X 'DSECT4: Problem unpacking pentagonal resolution params.' GO TO 900 ENDIF ISUBSET = KSEC4(18) IF ( ISUBSET .GT. KTRUNC ) THEN WRITE(*,*) 'DSECT4: Invalid subset truncation given' WRITE(*,*) 'DSECT4: ISUBSET, KTRUNC =', ISUBSET, KTRUNC DSECT4 = 16122 GOTO 900 ENDIF C C ----------------------------------------------------------------- C* Section 3. Extract and scale binary values from GRIB product. C ----------------------------------------------------------------- C 300 CONTINUE C C Adjust bit pointer to end of stored subset of coefficients and C extract binary values from GRIB product -> updates bit pointer. KNSPT = 8*KSEC4(16) ILEN = (KTRUNC+1)*(KTRUNC+2) - (ISUBSET+1)*(ISUBSET+2) CALL INXBIT (KGRIB,KLENG,KNSPT,IVAL,ILEN, KBITS,KPACK, 'D',IRET) IF ( IRET .NE. 0 ) THEN WRITE(*,*) 'DSECT4: Problem unpacking bits' DSECT4 = 16119 GOTO 900 ENDIF C DO 310 J310 = 1 , ILEN PDATA(J310) = ( REAL(IVAL(J310)) * ZSCALE ) + ZREF 310 CONTINUE C C Move the coefficients to their correct (scattered) in the array. CALL UNCMPCK( PDATA, KTRUNC, ISUBSET) C C C ----------------------------------------------------------------- C* Section 4 . Unpack the subset of coefficients (stored IBM style). C ----------------------------------------------------------------- C 400 CONTINUE C C Adjust pointer to avoid first 18 octets. KNSPT = INSPTA + 18*8 C C Move back into original locations in the array and convert from C IBM format. IRET = UNPKCF( PDATA,KTRUNC,ISUBSET,KGRIB,KLENG,KNSPT,KBITS) IF ( IRET .NE. 0 ) THEN WRITE(*,*) 'DSECT4: Problem unpacking subset of coeffs.' DSECT4 = 16120 GOTO 900 ENDIF C C ----------------------------------------------------------------- C* Section 5 . Apply power scaling to field. C ----------------------------------------------------------------- C 500 CONTINUE C IRET = GSCALE( PDATA, KTRUNC, ISUBSET, IPOWER, 'O') IF ( IRET .NE. 0 ) THEN WRITE(*,*) 'DSECT4: Problem applying power scaling' DSECT4 = 16121 GOTO 900 ENDIF C C Set bit pointer on 7777 group - section 5 KNSPT = INSPTA + 8*ILEN4 C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/unpkcf.F0000755000175000017500000001635212127406245020345 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION UNPKCF( PARRAY, KTRUNC, KSUBSET, KGRIB, KLENG, X KNSPT, KBITS) C C----> C**** UNPKCF C C Purpose. C -------- C C Unpacks scaled values from a GRIB product to an array of spherical C harmonic coefficients, the first KSUBSET triangle of coefficients C C** Interface. C ---------- C C IRET = UNPKCF(PARRAY,KTRUNC,KSUBSET,KGRIB,KLENG,KNSPT,KBITS) C C C Input Parameters. C ----------------- C C KTRUNC - Truncation of the spherical harmonic coefficients. C KSUBSET - Number indicating truncation of subset. C KGRIB - Array containing generated GRIB product. C KLENG - Length of KGRIB C KNSPT - Bit pointer for next free position in KGRIB. C C C Output Parameters. C ------------------ C C PARRAY - Array of spherical harmonic coefficients. C KNSPT - Bit pointer for next free position in KGRIB(updated). C KBITS - Number of bits per computer word. C C Returns 0 if OK, otherwise prints an error message and returns C an error code. C C C Method. C ------- C | C C Given numbers: cccccccc|cccccc C cccccc|cccccc C cccc|cccccc C cc|cccccc C |cccccc C cccc C cc C C Converts and moves : cccccccc C cccccc C cccc C cc C C Externals. C ---------- C C DECFP2 - Convert to floating point value from storage format #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) C GSBITE - Extract bit pattern (Vectorized Fortran). #endif C GBYTES - Extract bit pattern C C C C Reference. C ---------- C C None. C C C Comments. C --------- C C KSUBSET must be less than or equal to KTRUNC. C C C Author. C ------- C C J.D.Chambers ECMWF 13:04:94 C C C Modifications. C -------------- C C None. C C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C IMPLICIT NONE C #include "grprs.h" C C Parameters INTEGER JPMAXT PARAMETER ( JPMAXT = 2047 + 1 ) C C Subroutine arguments C INTEGER KTRUNC, KSUBSET, KNSPT, KGRIB, KLENG, KBITS C REAL PARRAY DIMENSION PARRAY(*), KGRIB(KLENG) C C Local variables. INTEGER JCOL, JROW, INDEX, ILAST, ITRND, IEXP, IMANT INTEGER INSPT, INEXT, IWORD, IOFF DIMENSION IEXP(JPMAXT*2), IMANT(JPMAXT*2) C #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) C C Values in IMASK are set in the first call to routine GSBITE, and C are used in subsequent calls. C INTEGER IMASK DIMENSION IMASK(65) SAVE IMASK C C Force routine GSBITE to calculate bit-masks first time through. DATA IMASK(2) /0/ #endif C C ---------------------------------------------------------------- C* Section 1 . Check for valid truncation and start values. C ---------------------------------------------------------------- C 100 CONTINUE C C Check for valid truncation and start values C UNPKCF = 0 IF ( KSUBSET .GT. KTRUNC ) THEN WRITE(GRPRSM,*) ' UNPKCF - Invalid start/truncation given' WRITE(GRPRSM,*) ' UNPKCF - KSUBSET, KTRUNC =', KSUBSET, KTRUNC UNPKCF = 16500 GOTO 900 ENDIF C C ---------------------------------------------------------------- C* Section 2. Convert values from IBM format exponent and mantissa. C Handle values 2 at a time (real and imaginary parts) C ---------------------------------------------------------------- C 200 CONTINUE C ITRND = 1 ILAST = KSUBSET+1 INDEX = -1 C C Extract values in pairs and convert to floating point C C Loop through rows in the subset DO 590 JROW = 1 , ILAST INEXT = 2 * (ILAST - JROW + 1) C C ---------------------------------------------------------------- C* Section 3. Get exponents from bit array. C ---------------------------------------------------------------- C 300 CONTINUE C C* Calculate word pointer and offset. INSPT = KNSPT IWORD = INSPT / KBITS IOFF = INSPT - IWORD * KBITS IWORD = IWORD + 1 C #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) IF (INEXT.GE.8) THEN C C Vectorising routine GSBITE. CALL GSBITE( KGRIB(IWORD), IEXP, IOFF, 8, 24, INEXT, KBITS, X IMASK, 'D') ELSE C C Scalar faster. CALL GBYTES( KGRIB(IWORD), IEXP, IOFF, 8, 24, INEXT) ENDIF #elif (defined CYBER) CALL GBYTES6( KGRIB(IWORD), IEXP, IOFF, 8, 24, INEXT) #else CALL GBYTES( KGRIB(IWORD), IEXP, IOFF, 8, 24, INEXT) #endif C C C ---------------------------------------------------------------- C* Section 4. Get mantissae from bit array. C ---------------------------------------------------------------- C 400 CONTINUE C C* Calculate word pointer and offset. INSPT = KNSPT + 8 IWORD = INSPT / KBITS IOFF = INSPT - IWORD * KBITS IWORD = IWORD + 1 C #if (defined CRAY) || (defined __uxp__ ) || (defined IBM_POWER4) IF (INEXT.GE.8) THEN C C Vectorising routine GSBITE. CALL GSBITE( KGRIB(IWORD), IMANT, IOFF, 24, 8, INEXT, KBITS, X IMASK, 'D') ELSE C C Scalar faster. CALL GBYTES( KGRIB(IWORD), IMANT, IOFF, 24, 8, INEXT) ENDIF #elif (defined CYBER) CALL GBYTES6( KGRIB(IWORD), IMANT, IOFF, 24, 8, INEXT) #else CALL GBYTES( KGRIB(IWORD), IMANT, IOFF, 24, 8, INEXT) #endif C C ---------------------------------------------------------------- C* Section 5. Convert values from IBM format exponent and mantissa. C ---------------------------------------------------------------- C 500 CONTINUE C C Convert columns in subset INEXT = 0 DO 510 JCOL = JROW , KTRUNC+1 INDEX = INDEX + 2 IF ( ILAST .GE. JCOL ) THEN C C Real part .. INEXT = INEXT + 1 CALL DECFP2 (PARRAY(INDEX),IEXP(INEXT),IMANT(INEXT)) C C Imaginary part .. INEXT = INEXT + 1 CALL DECFP2 (PARRAY(INDEX+1),IEXP(INEXT),IMANT(INEXT)) ENDIF 510 CONTINUE C C Update pointer. KNSPT = KNSPT + INEXT*32 C 590 CONTINUE C C ---------------------------------------------------------------- C* Section 9. Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/c2rows.F0000755000175000017500000003172112127406245020273 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION C2ROWS ( KDATA, KLENP, KSEC2, KSEC4, KGRIB, X KLENG, KNSPT, KBITS, OCOMGR, OLONLY, X KLEN4, KBMAP, KVALS, OPRIBI, OQUASI, X KNROWS, KLEN, KREFGR, KLENGR, KBITGR, X KWORK, KLWORK, KPOWER, KMXPWR, KPCWID, X KXCWID, KNBIFO, ODEBUG ) C C----> C**** C2ROWS C C Purpose. C -------- C C Performs "row by row packing" method for section 4 of GRIB, C and/or computes only length of section 4, with/without coding, C with this method. C C C** Interface. C ---------- C C KRET = C2ROWS ( KDATA, KLENP, KSEC2, KSEC4, KGRIB, KLENG, C X KNSPT, KBITS, OCOMGR, OLONLY, KLEN4, KBMAP, C X KVALS, OPRIBI, OQUASI, KNROWS, KLEN, KREFGR, C X KLENGR, KBITGR, KWORK, KLWORK, KPOWER, KMXPWR, C X KPCWID, KXCWID, KNBIFO, ODEBUG ) C C C Input Parameters for all options. C -------------------------------- C C KDATA - Array of normalized values. C KLENP - Length of array KDATA. C KSEC2 - Array of GRIB section 2 integer descriptors. C KSEC4 - Array of GRIB section 4 integer descriptors. C KGRIB - Array containing GRIB product (for bit-map). C KLENG - Length of GRIB product array. C KNSPT - Bit pointer for next value in GRIB product. C KBITS - Number of bits per computer word. C OCOMGR - True if COMputing of GRoup arrays is requested. C OLONLY - True if Length ONLY is requested (no coding). C KBMAP - Bit pointer for start of explicit primary Bit-MAP C (if any). C KVALS - Number of bits in primary bit-map. C OPRIBI - True if a PRImary BIt-map is present. C OQUASI - True if the grid is QUASI-regular. C KNROWS - Number of ROWS (or lines) in the grid. C KLEN - Exact number of grid-points to handle. C KLWORK - Length of work array KWORK. C KPOWER - Auxilary array, containing precomputed powers of 2-1. C KMXPWR - Maximum number of bits per original scaled value. C KPCWID - Auxilary array, precomputed widths. C KXCWID - Maximum width associated to KPCWID. C ODEBUG - True for some debug printout. C C C Output Parameters for all options. C --------------------------------- C C KLEN4 - Length of section 4. C C Output Parameters when OLONLY is false. C -------------------------------------- C C KSEC4 - Array of GRIB section 4 integer descriptors. C (for second-order descriptors) C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product (updated). C KWORK - Used as work array by C2PACK. C C Output Parameters when OCOMGR is true. C ------------------------------------- C C KWORK - Work array, used to unpack a primary bit-map, if any. C C Output Parameters when OCOMGR is true, C Input Parameters when OCOMGR is false. C -------------------------------------- C C KREFGR - Work array, first-order values for each row. C KLENGR - Work array, effective length of each row. C KBITGR - Work array, bit number ("width") of each row. C KNBIFO - Number of BIts for coding First-Order values. C C Output Parameters when OCOMGR is true, C Input parameter in all cases. C -------------------------------------- C C KDATA - Used as work array by C2PACK. C C Method. C ------- C C Follows WMO Manual of Codes. C C If requested through OCOMGR, a first scan computes work arrays, C bit number for coding first-order values and length of section 4. C C If requested, coding is applied in a second scan, using C descriptors computed in the first scan, possibly in a previous C call. C C Externals. C ---------- C C INXBIT - Extract bits from GRIB product. C MAXMNI - Computes extrema of integer array. C C2BITW - Computes bit width of a positive integer value. C C2PACK - Encodes descriptors and data. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C On entry, KNSPT points to the first bit of section 4 C in the GRIB product. C On exit, KNSPT points to the first unused bit of section 4, C (or to the first bit of section 5, if unused bit count C is zero) in the GRIB product. C C KDATA is overwritten when coding is requested. C This is coherent with GRIBEX. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C _____________ C C J. Clochard, February 1998. C Use C2BITW function for bit width computations. C C J. Clochard, September 1998. C Suppress KSEC1/KSEC3 dummy-arguments. C " KSEC1, add KWORK/KPOWER/KMXPWR argument in C2PACK call. C C J. Clochard, June 1999. C Use precomputed array to determine widths . Dummy-arguments C KPCWID and KXCWID added . Assumption is made that KXCWID C is at least (KMXPWR+1)/2 . C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments C INTEGER KLENP, KLENG, KNSPT, KBITS, KBMAP, KVALS, KLEN4, KNROWS INTEGER KLEN, KLWORK, KMXPWR, KNBIFO, KXCWID INTEGER KDATA (KLENP), KSEC2 (*), KSEC4 (*), KPCWID (0:*) INTEGER KGRIB (KLENG), KREFGR (KNROWS), KLENGR (KNROWS) INTEGER KBITGR (KNROWS), KWORK (KLWORK), KPOWER (0:KMXPWR) C LOGICAL OPRIBI, OQUASI, OLONLY, OCOMGR, ODEBUG C C Local variables. C INTEGER IREFLN, ICOUNT, INBITI, INBIFO, ILENSO, ILDSTA, IZERO INTEGER ILNGTX, ILNGTH, IPTRBM, INBSEQ, JROW, JSEQ, IPTOFF INTEGER IPTNBR, IRET, J, IDMAX, IDMIN, ISOMAX, ILCWID INTEGER IRETFN, IBITGW, IFOMAX C INTEGER C2PACK, C2BITW EXTERNAL C2PACK, C2BITW C CHARACTER YOPER*1 C C ----------------------------------------------------------------- C* Section 1 . Performs initial checks. C ----------------------------------------------------------------- C 100 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) OCOMGR, OLONLY, KNSPT #ifndef ebug2o ENDIF #endif C IRETFN = 0 ILCWID = KPOWER(KXCWID)+1 IREFLN=22 ICOUNT=0 INBITI=KSEC4(2) IFOMAX=0 ILENSO=0 ILDSTA=21 IZERO=0 IBITGW=8 ILNGTX=KSEC4(1)/KNROWS C IF (OPRIBI) THEN IPTRBM=KBMAP ENDIF C IF (.NOT.OCOMGR) THEN C IF (OLONLY) THEN IRETFN = 19110 WRITE(GRPRSM,FMT=9110) GOTO 900 ELSE INBIFO=KNBIFO GOTO 300 ENDIF C ENDIF C C ----------------------------------------------------------------- C* Section 2 . Compute effective length, reference, width of rows. C ----------------------------------------------------------------- C 200 CONTINUE #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9200) #ifndef ebug2o ENDIF C #endif C YOPER='D' C DO 230 JROW=1,KNROWS C IF (OQUASI) THEN ILNGTX=KSEC2(IREFLN+JROW) ENDIF C IF (OPRIBI.AND.ILNGTX.NE.0) THEN C C Row by row packing, but an (explicit) bit-map is included. C The number of values in current row has to be computed. C ILNGTH=0 INBSEQ=1+(ILNGTX-1)/KLWORK C DO 212 JSEQ=1,INBSEQ IPTOFF=(JSEQ-1)*KLWORK IPTNBR=MIN (KLWORK,ILNGTX-IPTOFF) CALL INXBIT (KGRIB,KLENG,IPTRBM,KWORK,IPTNBR,KBITS,1, X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 19210 WRITE(GRPRSM,FMT=9210) JROW, IPTOFF+1, IPTOFF+IPTNBR GOTO 900 ENDIF C DO 211 J=1,IPTNBR ILNGTH=ILNGTH+KWORK(J) 211 CONTINUE C 212 CONTINUE C ELSE C ILNGTH=ILNGTX C ENDIF C KLENGR(JROW)=ILNGTH C IF (ILNGTH.NE.0) THEN C C Width of row (number of bits necessary to code second-order C values). C CALL MAXMNI (KDATA(ICOUNT+1),ILNGTH,IDMAX,IDMIN) C ISOMAX=IDMAX-IDMIN C IF (ISOMAX.LT.ILCWID) THEN KBITGR(JROW)=KPCWID(ISOMAX) ELSE KBITGR(JROW)=KXCWID+KPCWID(ISOMAX/ILCWID) ENDIF #ifdef row1sc2o C C Take the minimum value of row as reference value. C Consistant with Bracknell's encoder approach. C KREFGR(JROW)=IDMIN #else C C Maximum use of width for second-order values: the maximum value C of row will be encoded with the biggest value fitting in C KBITGR(JROW) bits, and keeping reference value positive or zero. C C The goal is to get the lowest reference value, thus trying to C save bit(s) to encode the first-order values. C IF (KBITGR(JROW).NE.0) THEN KREFGR(JROW)=MAX (0,IDMIN-(KPOWER(KBITGR(JROW))-ISOMAX)) ELSE KREFGR(JROW)=IDMIN ENDIF #endif C IFOMAX=MAX (IFOMAX,KREFGR(JROW)) ICOUNT=ICOUNT+ILNGTH ILENSO=ILENSO+ILNGTH*KBITGR(JROW) C ELSE C KREFGR(JROW)=0 KBITGR(JROW)=0 C ENDIF C #ifdef ebug2o PRINT *,'c2rows - group', JROW, ILNGTH, KBITGR(JROW), ' (', X KNSPT+8*(ILDSTA+(8+KNROWS*(IBITGW+KSEC4(2))-1)/8)+ILENSO, ')', X IDMIN, ISOMAX, KREFGR(JROW), ICOUNT #endif C 230 CONTINUE C IF (ICOUNT.NE.KLEN) THEN IRETFN = 19220 WRITE(GRPRSM,FMT=9220) ICOUNT, KLEN GOTO 900 ENDIF C C Number of bits necessary to code first-order values. C INBIFO = C2BITW ( IFOMAX, INBITI, KPOWER, KMXPWR ) C #ifdef row1sc2o C To obtain an equivalent to a 1-scan coding, as Bracknell C coder seems to do. Such a method is more direct, does not C require work arrays, but is less efficient: row references are C coded with the same number of bits as specified for packing. C INBIFO=KSEC4(2) #endif C C Compute length of descriptors, and of full section 4 of GRIB. C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9250) (KSEC4(J),J=1,10), INBIFO #ifndef ebug2o ENDIF C #endif KLEN4 = ILDSTA + (8+KNROWS*IBITGW-1)/8 + (8+KNROWS*INBIFO-1)/8 X + (8+ILENSO-1)/8 KLEN4=2*((2+KLEN4-1)/2) KNBIFO=INBIFO C IF (OLONLY) THEN C C Length has been computed, go back without any coding. C GOTO 900 C ENDIF C C ----------------------------------------------------------------- C* Section 3. Definition of fixed-length descriptors and coding. C ----------------------------------------------------------------- C 300 CONTINUE C C The first 10 octets have already been coded in GRIBEX, or will C be in a further step of GRIBEX: C Length of section, flags+unused bit count, binary scale factor, C reference value. C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9300) #ifndef ebug2o ENDIF C #endif C Enforce right values for extended flags. C KSEC4( 9)=0 KSEC4(10)=16 KSEC4(12)=0 KSEC4(13)=0 C C Extra descriptors. C KSEC4(18)=KNROWS KSEC4(20)=IBITGW C IRETFN = C2PACK ( KDATA, KLENP, KSEC4, KGRIB, KLENG, KNSPT, X KBITS, KLEN, KREFGR, KLENGR, KBITGR, KWORK, X KLWORK, KPOWER, KMXPWR, KNBIFO, ODEBUG ) C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C C2ROWS = IRETFN #ifndef ebug2o C IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IRETFN, OCOMGR, OLONLY, KNSPT #ifndef ebug2o ENDIF #endif C RETURN C 9100 FORMAT (' C2ROWS: Function start, OCOMGR = ',L1, X ', OLONLY = ',L1,', KNSPT =',I10,'.') C 9110 FORMAT (' C2ROWS: Routine called, but has nothing to do.') C 9200 FORMAT (' C2ROWS: Computing work arrays.') C 9210 FORMAT (' C2ROWS: Problem unpacking primary bit-map,row',I6, X ' points ',I8,'..',I8,'.') C 9220 FORMAT (' C2ROWS: Inconsistency: computed g.p. number =',I8, X ', expected =',I8,'.') C 9250 FORMAT (' C2ROWS: KSEC4(1:10) =',I9,I3,I4,3I3,I2,3I3, X ', INBIFO =',I3,'.') C 9300 FORMAT (' C2ROWS: Coding phase - calling C2PACK.') C 9900 FORMAT (' C2ROWS: Function return code =',I6,', OCOMGR= ',L1, X ', OLONLY= ',L1,', KNSPT =',I10,'.') C END emoslib-000392+dfsg.1/gribex/handleLocalDefinitions.h0000755000175000017500000000571612127406245023525 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "grib_int_t.h" #ifndef UNPACK_H #define UNPACK_H #define ONE_BYTE_INT(a) (int) ( *(a) & 0xff ) #define TWO_BYTE_INT(a) (int) ( ONE_BYTE_INT(a)<<8 | ONE_BYTE_INT(a+1)) #define THREE_BYTE_INT(a) (int) (TWO_BYTE_INT((a))<<8 | ONE_BYTE_INT(a+2)) #define FOUR_BYTE_INT(a) (int) (THREE_BYTE_INT((a))<<8 | ONE_BYTE_INT(a+3)) #define MOVE1BYTE(p,n) ( *(p) = ((*(n)>> 0) & 0xFF) ) #define MOVE2BYTES(p,n) ( *(p) = ((*(n)>> 8) & 0xFF) ) , \ ( *((p)+1) = ((*(n)>> 0) & 0xFF) ) #define MOVE3BYTES(p,n) ( *(p) = ((*(n)>>16) & 0xFF) ) , \ ( *((p)+1) = ((*(n)>> 8) & 0xFF) ) , \ ( *((p)+2) = ((*(n)>> 0) & 0xFF) ) #define MOVE4BYTES(p,n) ( *(p) = ((*(n)>>24) & 0xFF) ) , \ ( *((p)+1) = ((*(n)>>16) & 0xFF) ) , \ ( *((p)+2) = ((*(n)>> 8) & 0xFF) ) , \ ( *((p)+3) = ((*(n)>> 0) & 0xFF) ) #define NUMBER(x) (sizeof(x)/sizeof(x[0])) #define OCTETSTART 41 #define KSEC1START 37 #define NEQUAL(a,b) (strcmp((a),(b)) != 0) #define EQUAL(a,b) (strcmp((a),(b)) == 0) typedef struct action action; typedef struct buffer { grib_int_t totalPackedBytes; grib_int_t totalUnPackedValues; grib_int_t totalUnPackedBytes; grib_int_t* values; grib_int_t* startKsec1; grib_octet_t* packed; grib_octet_t* startOctets; } buffer; char* findLocalDefinitionFile(grib_int_t); void encode(action*,buffer*); void decode(action*,buffer*); typedef action* (*pack_proc)(action*,buffer*); typedef action* (*unpack_proc)(action*,buffer*); typedef int (*test_proc)(grib_int_t,grib_int_t); struct action { grib_string_t *description; grib_string_t *octet; grib_string_t *code; grib_string_t *ksec1; grib_string_t *count; struct action* next; pack_proc pack; unpack_proc unpack; grib_int_t value; test_proc test; grib_int_t sum; struct action* reference; struct action* end; } ; /*==========================================================*/ typedef void (*init_proc)(action*,action*,char*,char*,char*,char*,char*); typedef struct op_code { grib_string_t *description; init_proc init; pack_proc pack; unpack_proc unpack; test_proc test; } op_code; /*==========================================================*/ action* createLocalDefinitionHandler(grib_int_t); int encodeLocalDefinitionValues(action*,grib_int_t*,grib_octet_t*,grib_int_t*,grib_int_t*); int decodeLocalDefinitionValues(action*,grib_octet_t*,grib_int_t*,grib_int_t*,grib_int_t*); void releaseAction(action*); #endif /* End of UNPACK_H */ emoslib-000392+dfsg.1/gribex/jmalloc.c0000755000175000017500000000311312127406245020524 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include "fortint.h" #if (defined hpR64) || (defined hpiaR64) || (defined CRAY) || (defined rs6000) #define XALLOC malloc #else #define XALLOC malloc #endif #if (defined hpR64) || (defined hpiaR64) JPointer jmalloc_( fortint * n) { int number = *n; long * alloc; JPointer falloc; alloc = (long *) XALLOC(number); falloc = (JPointer) alloc; return falloc; } JPointer jmalloc( fortint * n) { return jmalloc_(n); } #elif (defined __alpha) JPointer jmalloc_( int * n) { static JPointer ret; ret = (JPointer) XALLOC(*n); return ret; } JPointer jmalloc( int * n) { return jmalloc_(n); } #elif (defined POINTER_64) JPointer jmalloc_( JPointer n) { /*size_t number_of_bytes = (size_t) (*n);*/ /*printf("======= jmalloc_ number of bytes %ld \n", *n);*/ return XALLOC(*n); } JPointer jmalloc( int * n) { return jmalloc_(n); } #else int * jmalloc_( int * n) { return (int *) XALLOC(*n); } int * jmalloc( int * n) { return jmalloc_(n); } #endif size_t* jmalloc2_( size_t * n) { /* printf("======= jmalloc2_ number of bytes %ld \n", *n);*/ return (size_t *)XALLOC(*n); } size_t* jmalloc2( size_t * n) { return (size_t *)jmalloc2_(n); } emoslib-000392+dfsg.1/gribex/sencode2.c0000755000175000017500000001467312127406245020622 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "gdecode.h" #include "sencode.h" #include "sencode2.h" fortint IS2NUMB(gribProduct ** grib, fortint * number) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; MOVE1BYTE(((g->g1)->local.contents.def2.number),number); return 0; } fortint RS2NUMB(gribProduct ** grib, fortdouble *number) { fortint Number = (fortint) *number; return IS2NUMB(grib,&Number); } fortint IS2TOTL(gribProduct ** grib, fortint * total) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; MOVE1BYTE(((g->g1)->local.contents.def2.total),total); return 0; } fortint RS2TOTL(gribProduct ** grib, fortdouble *total) { fortint Total = (fortint) *total; return IS2TOTL(grib,&Total); } fortint IS2METH(gribProduct ** grib, fortint * method) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; MOVE1BYTE(((g->g1)->local.contents.def2.method),method); return 0; } fortint RS2METH(gribProduct ** grib, fortdouble *method) { fortint Method = (fortint) *method; return IS2METH(grib,&Method); } fortint IS2STAR(gribProduct ** grib, fortint * startTimestep) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; MOVE2BYTES(((g->g1)->local.contents.def2.startTimestep),startTimestep); return 0; } fortint RS2STAR(gribProduct ** grib, fortdouble *startTimestep) { fortint StartTimestep = (fortint) *startTimestep; return IS2STAR(grib,&StartTimestep); } fortint IS2END(gribProduct ** grib, fortint * endTimestep) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; MOVE2BYTES(((g->g1)->local.contents.def2.endTimestep),endTimestep); return 0; } fortint RS2END(gribProduct ** grib, fortdouble *endTimestep) { fortint EndTimestep = (fortint) *endTimestep; return IS2END(grib,&EndTimestep); } fortint IS2NLAT(gribProduct ** grib, fortint * domainNorthLatitude) { gribProduct * g = *grib; fortint value = *domainNorthLatitude; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g1)->local.contents.def2.domainNorthLatitude),&value); return 0; } fortint RS2NLAT(gribProduct ** grib, fortdouble *domainNorthLatitude) { fortint DomainNorthLatitude = (fortint) (*domainNorthLatitude*1000.0); return IS2NLAT(grib,&DomainNorthLatitude); } fortint IS2WLON(gribProduct ** grib, fortint * domainWestLongitude) { gribProduct * g = *grib; fortint value = *domainWestLongitude; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g1)->local.contents.def2.domainWestLongitude),&value); return 0; } fortint RS2WLON(gribProduct ** grib, fortdouble *domainWestLongitude) { fortint DomainWestLongitude = (fortint) (*domainWestLongitude*1000.0); return IS2WLON(grib,&DomainWestLongitude); } fortint IS2SLAT(gribProduct ** grib, fortint * domainSouthLatitude) { gribProduct * g = *grib; fortint value = *domainSouthLatitude; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g1)->local.contents.def2.domainSouthLatitude),&value); return 0; } fortint RS2SLAT(gribProduct ** grib, fortdouble *domainSouthLatitude) { fortint DomainSouthLatitude = (fortint) (*domainSouthLatitude*1000.0); return IS2SLAT(grib,&DomainSouthLatitude); } fortint IS2ELON(gribProduct ** grib, fortint * domainEastLongitude) { gribProduct * g = *grib; fortint value = *domainEastLongitude; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(((g->g1)->local.contents.def2.domainEastLongitude),&value); return 0; } fortint RS2ELON(gribProduct ** grib, fortdouble *domainEastLongitude) { fortint DomainEastLongitude = (fortint) (*domainEastLongitude*1000.0); return IS2ELON(grib,&DomainEastLongitude); } fortint IS2OPCL(gribProduct ** grib, fortint * operationalForecastCluster) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; MOVE1BYTE(((g->g1)->local.contents.def2.operationalForecastCluster),operationalForecastCluster); return 0; } fortint RS2OPCL(gribProduct ** grib, fortdouble *operationalForecastCluster) { fortint OperationalForecastCluster = (fortint) *operationalForecastCluster; return IS2OPCL(grib,&OperationalForecastCluster); } fortint IS2CFCL(gribProduct ** grib, fortint * controlForecastCluster) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; MOVE1BYTE(((g->g1)->local.contents.def2.controlForecastCluster),controlForecastCluster); return 0; } fortint RS2CFCL(gribProduct ** grib, fortdouble *controlForecastCluster) { fortint ControlForecastCluster = (fortint) *controlForecastCluster; return IS2CFCL(grib,&ControlForecastCluster); } fortint IS2NUCL(gribProduct ** grib, fortint * numberInCluster) { gribProduct * g = *grib; if( !( ecmwfLocalDefinitionPresent(g) && (g1_definition(g)==2) ) ) return (fortint) -1; MOVE1BYTE(((g->g1)->local.contents.def2.numberInCluster),numberInCluster); return 0; } fortint RS2NUCL(gribProduct ** grib, fortdouble *numberInCluster) { fortint NumberInCluster = (fortint) *numberInCluster; return IS2NUCL(grib,&NumberInCluster); } fortint IS2LIST(gribProduct ** grib, fortint * array, fortint * size) { gribProduct * g = *grib; fortint loop, listLength; unsigned char * p; if( !ecmwfLocalDefinition2Present(g) ) return -1; listLength = g1_2_count(g); if( listLength > *size ) return -1; p = (unsigned char *) ((g->g1)->local.contents.def2.forecastNumberList); for( loop = 0; loop < listLength; loop++ ) { MOVE1BYTE(p,(array+loop)); p++; } return listLength; } emoslib-000392+dfsg.1/gribex/codegc.F0000755000175000017500000007737512127406245020317 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CODEGC (FPDATA,ILENF,IBITS,NBIT,IB1PAR,IB2PAR,IB3PAR, C IBLEN,IBMAP,FVERT,ILENV,IGRIB,ILENG,IWORD, C IROUND,IERR) C C C----> C* C* NAME : CODEGC C* C* FUNCTION : CODE ARRAY OF FLOATING POINT VALUES C* IN WMO GRIB CODE. C* C* INPUT : PARAMETERS FOR BLOCK 1 , PRODUCT DEFINITION BLOCK. C* -------------------------------------------------- C* IB1PAR - INTEGER ARRAY (DIMENSION 18) OF PRODUCT C* DEFINITION INFORMATION. C* C* WORD CONTENTS C* ---- -------- C* 1 ORIGINATING CENTRE IDENTIFIER. C* 2 MODEL IDENTIFICATION. C* 3 GRID DEFINITION. C* 4 FLAG ( CODE TABLE 1 ). C* 5 PARAMETER IDENTIFIER (CODE TABLE 2). C* 6 TYPE OF LEVEL (CODE TABLE 3). C* 7-8 VALUE(S) OF LEVEL (CODE TABLE 3). C* 9 YEAR OF DATA C* 10 MONTH OF DATA C* 11 DAY OF DATA C* 12 HOUR OF DATA C* 13 MINUTE OF DATA C* 14 TIME UNIT (CODE TABLE 4). C* 15 TIME RANGE ONE C* 16 TIME RANGE TWO C* 17 TIME RANGE FLAG (CODE TABLE 5). C* 18 NUMBER AVERAGED. C* C* VALUE(S) OF LEVEL CAN OCCUPY 2 WORDS. C* FOR A LAYER THE FIRST WORD DEFINES THE TOP C* AND THE SECOND THE BOTTOM OF THE LAYER. C* FOR A SINGLE LEVEL, ONLY THE FIRST WORD IS C* USED. C* C* PARAMETERS FOR BLOCK 2 , GRID DEFINITION BLOCK. C* ----------------------------------------------- C* IB2PAR - INTEGER ARRAY (DIMENSION 11) CONTAINING GRID C* DEFINITION INFORMATION. C* USE VARIES WITH REPRESENTATION TYPE. C* C* WORD LAT/LONG GRID C* ---- ------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6) C* 2 NO. OF POINTS ALONG A LATITUDE C* 3 NO. OF POINTS ALONG A MERIDIAN C* 4 LATITUDE OF ORIGIN (SOUTH - IVE). C* 5 LONGITUDE OF ORIGIN (WEST - IVE). C* 6 RESOLUTION FLAG. (CODE TABLE 7) C* 7 LATITUDE OF EXTREME POINT (SOUTH - IVE). C* 8 LONGITUDE OF EXTREME POINT (WEST - IVE). C* 9 LATITUDE INCREMENT C* 10 LONGITUDE INCREMENT C* 11 SCANNING MODE FLAGS (CODE TABLE 8) C* C* WORD GAUSSIAN GRID C* ---- ------------- C* 1-9 AS FOR LAT/LONGITUDE GRID. C* 10 THE NUMBER OF LATITUDE LINES BETWEEN A POLE C* AND THE EQUATOR. C* 11 SCANNING MODE FLAGS (CODE TABLE 8) C* C* WORD SPHERICAL HARMONICS C* ---- ------------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6) C* 2 J - PENTAGONAL RESOLUTION PARAMETER C* 3 K - PENTAGONAL RESOLUTION PARAMETER C* 4 M - PENTAGONAL RESOLUTION PARAMETER C* 5 REPRESENTATION TYPE (CODE TABLE 9) C* 6 REPRESENTATION MODE (CODE TABLE 10) C* 7-11 NOT USED C* C* C* USE FOR OTHER DATA REPRESENTATION TYPES IS C* TO BE DEFINED LATER. C* C* FVERT - REAL ARRAY OF VERTICAL COORDINATE PARAMETERS C* ILENV - LENGTH OF THIS ARRAY (NUMBER OF COORDINATE C* PARAMETERS). C* C* USED FOR HYBRID LEVELS ONLY. C* C* C* PARAMETERS FOR BLOCK 3 , BIT-MAP DEFINITION BLOCK. C* -------------------------------------------------- C* C* TO BE DEFINED LATER. C* C* PARAMETERS FOR BLOCK 4 , BINARY DATA BLOCK. C* ------------------------------------------- C* FPDATA - ARRAY OF FLOATING POINT VALUES. C* C* **** C* VALUES IN THIS ARRAY ARE OVERWRITTEN C* BY THE SUBROUTINE. C* **** C* C* ILENF - LENGTH OF THIS ARRAY (NUMBER OF DATA C* VALUES TO BE CODED) C* IBITS - NUMBER OF BITS FOR CODED DATA VALUES. C* C* TO INDICATE MISSING DATA VALUES, ILENF IS C* MADE NEGATIVE AND ALL DATA VALUES SET TO 0. C* C* OTHER PARAMETERS C* ---------------- C* C* NBIT - NUMBER OF BITS IN COMPUTER WORD. C* C* IGRIB - ARRAY TO RECEIVE DATA IN GRIB CODE. C* ILENG - LENGTH OF THIS ARRAY. C* C* IROUND - 0 , NO ROUNDING. C* 1 , ROUND TO NEAREST 120 OCTETS. C* C* OUTPUT : IGRIB - DATA CODED IN GRIB CODE. C* IWORD - NUMBER OF WORDS OCCUPIED BY CODED DATA. C* C* IERR - ERROR INDICATOR. C* C* 0, NO ERROR. C* C* -1, NUMBER OF BITS PER DATA VALUE EXCEEDS C* WORD LENGTH, OR MAXIMUM ALLOWED. C* -2, OUTPUT ARRAY TOO SMALL TO HOLD CODED C* DATA VALUES. C* -3, CURRENTLY UNDEFINED OPTION SELECTED. C* -4, MISSING DATA FIELD CONTAINS NON-ZERO. C* C* 1, INVALID ORIGINATING CENTRE. C* 2, INVALID MODEL IDENTIFICATION. C* 3, INVALID GRID DEFINITION. C* 4, INVALID BLOCK INDICATOR FLAG C* 5, INVALID PARAMETER IDENTIFIER. C* 6, INVALID LEVEL TYPE INDICATOR. C* 7, ERROR IN DESCRIPTION OF LEVELS. C* 8, DATE/TIME ERROR. C* 9, INVALID TIME UNIT OR RANGE. C* 10, INVALID DATA REPRESENTATION TYPE. C* 11, INVALID EXTREME POINT/INCREMENT FLAG. C* 12, INVALID SCANNING MODE FLAGS. C* C* JOHN HENNESSY , ECMWF , NOVEMBER 1985 C* C* C----< C --------------------------------------------------------------- C C C C C C DIMENSION FPDATA(ILENF),ILAT(2) DIMENSION IGRIB(ILENG),IBLOCK(24),IBMAP(IBLEN) DIMENSION FVERT(ILENV),IB1PAR(18),IB2PAR(11),IB3PAR(2) C EQUIVALENCE (ZGRIB,JGRIB) C C C SET MAXIMUM NUMBER OF BITS PER DATA FIELD. C DATA IMAX /32/ C C CLEAR ERROR INDICATOR. C IERR = 0 C C C C C C******************************************************************** C* C* CHECK FOR MISSING DATA INDICATORS. C* C******************************************************************** C C IMISS = 0 IF (ILENF.LT.0) C THEN KLENF = - ILENF IMISS = 1 DO 50 I=1,KLENF IF (FPDATA(I).NE.0.) C THEN IERR = -4 WRITE (*,9012) 9012 FORMAT (1H ,'NON-ZERO VALUE IN MISSING DATA', C ' FIELD.') RETURN ENDIF 50 CONTINUE ELSE KLENF = ILENF ENDIF C C C C C******************************************************************** C* C* CHECK NUMBER OF BITS PER DATA FIELD. C* C******************************************************************** C C IF (IBITS.GT.NBIT.OR.IBITS.GT.IMAX) C THEN IERR = -1 WRITE (*,9000) IBITS,NBIT,IMAX 9000 FORMAT (1H ,'NUMBER OF BITS PER DATA VALUE, ',I3, C 'EXCEEDS WORD LENGTH, ',I3,' OR MAXIMUM ', C ' PERMITTED VALUE, ',I3) RETURN ENDIF C C C C C C C C C C C C******************************************************************** C* C* BLOCK 0 - INDICATOR BLOCK. C* C******************************************************************** C C C C*** C* THE LETTERS G R I B ARE INSERTED IN THE C* FIRST 4 ELEMENTS OF 'IBLOCK'. C*** C IBLOCK(1) = 71 IBLOCK(2) = 82 IBLOCK(3) = 73 IBLOCK(4) = 66 C IWORD = 1 IBYTE = 8 NVAL = 4 IOFF = 0 C C PACK 4 8-BIT FIELDS IN BLOCK 0 OF CODED ARRAY. C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C******************************************************************** C* C* BLOCK 1 - PRODUCT DEFINITION BLOCK. C* C******************************************************************** C C C C*** C* LENGTH OF BLOCK 1 (IN OCTETS) IN FIRST 3 OCTETS. C*** C IBLOCK(1) = 0 IBLOCK(2) = 0 IBLOCK(3) = 24 C C C C C*** C* FOURTH OCTET RESERVED AND SET TO 0. C*** C IBLOCK(4) = 0 C C C C C C C*** C* IDENTIFICATION OF CENTRE C*** IBLOCK(5) = IB1PAR(1) IF (IB1PAR(1).LT.1.OR.IB1PAR(1).GT.98) C THEN IERR = 1 WRITE (*,9001) IB1PAR(1) 9001 FORMAT (1H ,'INVALID ORIGINATING CENTRE ',I3) RETURN ENDIF C C C C C C C C*** C* MODEL IDENTIFICATION C*** C IBLOCK(6) = IB1PAR(2) IF (IB1PAR(2).LT.1.OR.IB1PAR(2).GT.255) C THEN IERR = 2 WRITE (*,9002) IB1PAR(2) 9002 FORMAT (1H ,'INVALID MODEL IDENTIFICATION ',I4) RETURN ENDIF C C C C C C C C C*** C* GRID DEFINITION C*** C IBLOCK(7) = IB1PAR(3) IF (IB1PAR(3).LT.1.OR.IB1PAR(3).GT.255) C THEN IERR = 3 WRITE (*,9003) IB1PAR(3) 9003 FORMAT (1H ,'INVALID GRID IDENTIFICATION ',I4) RETURN ENDIF C C C C C C C C C*** C* OPTIONAL BLOCK INDICATOR FLAGS ( CODE TABLE 1 ). C*** C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 10000000 128 C 3 01000000 64 C 2 AND 3 11000000 192 C IBLOCK(8) = IB1PAR(4) C C SHIFT 2-BIT FLAG FIELD RIGHT BY 6 BITS TO FACILITATE CHECKING C KTEMP = IB1PAR(4) / 64 C IF (KTEMP.LT.0.OR.KTEMP.GT.3) IERR = 4 C C CHECK IF GRID SPECIFIED IS UNCATALOGUED. C IF (IB1PAR(3).EQ.255.AND.IB1PAR(4).EQ.0) IERR = 4 IF (IB1PAR(3).EQ.255.AND.IB1PAR(4).EQ.64) IERR = 4 C IF (IERR.NE.0) C THEN CALL PRTBIN (IB1PAR(4),8,KTEMP,ERR) WRITE (*,9004) KTEMP 9004 FORMAT (1H ,'INVALID BLOCK INDICATOR FLAG ',I8.8) RETURN ENDIF C C C C C*** C* PARAMETER IDENTIFIER ( CODE TABLE 2 ). C*** C IBLOCK(9) = IB1PAR(5) IF (IB1PAR(5).LT.0.OR.IB1PAR(5).GT.255) C THEN IERR = 5 WRITE (*,9005) IB1PAR(5) 9005 FORMAT (1H ,'INVALID PARAMETER ',I4) RETURN ENDIF C C C C C*** C* INDICATOR OF LEVEL TYPE ( CODE TABLE 3 ). C*** C IBLOCK(10) = IB1PAR(6) C C* CODE FIGURES FOR LEVEL TYPE RANGE FROM 0 - 110, WITH 200 C BEING USED FOR PSEUDO-LEVELS. C IF (IB1PAR(6).LT.0.OR.IB1PAR(6).GT.110) IERR = 6 IF (IB1PAR(6).EQ.200) IERR = 0 IF (IERR.EQ.6) C THEN WRITE (*,9006) IB1PAR(6) 9006 FORMAT (1H ,'INVALID LEVEL TYPE ',I4) RETURN ENDIF C C C C C C C C C C C C C C C C C C*** C* DESCRIPTION OF LEVEL OR LAYER ( CODE TABLE 3 ). C*** C C C C FOR CERTAIN SPECIAL LEVELS NO FURTHER DESCRIPTION IS C NECESSARY, AND THE FIELDS ARE SET TO 0. C IF (IB1PAR(6).LT.100.OR.IB1PAR(6).EQ.102) C THEN IB1PAR(7) = 0 IB1PAR(8) = 0 ENDIF C IBLOCK(11) = IB1PAR(7) IBLOCK(12) = IB1PAR(8) C C CERTAIN LEVEL TYPES REQUIRE THAT THE DESCRIPTION OCCUPY C BOTH 8 BIT FIELDS. C IF (IB1PAR(6).EQ.100.OR.IB1PAR(6).EQ.103.OR.IB1PAR(6).EQ.105. C OR.IB1PAR(6).EQ.107.OR.IB1PAR(6).EQ.109) C THEN C 8 LOW ORDER BITS IN IBLOCK(12) C HIGH ORDER BITS IN IBLOCK(11) C IBLOCK(12) = IBLOCK(11) IBLOCK(11) = IBLOCK(11) / 256 IBLOCK(12) = IBLOCK(12) - IBLOCK(11) * 256 C C CHECK MAXIMUM POSSIBLE IN 16 BITS. C IF (IB1PAR(7).GT.65535) IERR = 7 ELSE IF (IB1PAR(7).GT.255.OR.IB1PAR(8).GT.255) IERR = 7 ENDIF C IF (IERR.NE.0) C THEN WRITE (*,9007) IB1PAR(7),IB1PAR(8) 9007 FORMAT (1H ,'LEVEL DESCRIPTION ERROR ',I8,3X,I8) RETURN ENDIF C C C C C C C C C C C C C C C C C C C C C C C*** C* DATE AND TIME. CHECK VALID RANGES AND MISSING DATA VALUES. C*** C IBLOCK(13) = IB1PAR(9) IERY = 0 IF (IB1PAR(9).LT.0.OR.IB1PAR(9).GT.99) IERY = 1 IF (IB1PAR(9).EQ.255) IERY = 0 IBLOCK(14) = IB1PAR(10) IERM = 0 IF (IB1PAR(10).LT.1.OR.IB1PAR(10).GT.12) IERM = 1 IF (IB1PAR(10).EQ.255) IERM = 0 IBLOCK(15) = IB1PAR(11) IERD = 0 IF (IB1PAR(11).LT.1.OR.IB1PAR(11).GT.31) IERD = 1 IF (IB1PAR(11).EQ.255) IERD = 0 IBLOCK(16) = IB1PAR(12) IERH = 0 IF (IB1PAR(12).LT.0.OR.IB1PAR(12).GT.23) IERH = 1 IF (IB1PAR(12).EQ.255) IERH = 0 IBLOCK(17) = IB1PAR(13) IERN = 0 IF (IB1PAR(13).LT.0.OR.IB1PAR(13).GT.59) IERN = 1 IF (IB1PAR(13).EQ.255) IERN = 0 C IERR = IERY + IERM + IERD + IERH + IERN C IF (IERR.NE.0) C THEN IERR = 8 WRITE (*,9008) IB1PAR(9),IB1PAR(10),IB1PAR(11),IB1PAR(12), C IB1PAR(13) 9008 FORMAT (1H ,'INVALID DATE/TIME ',3I2,' / ',2I2) RETURN ENDIF C C C C C C C C C C C C C C C C C C C C C C C C*** C* UNIT OF TIME - ( CODE TABLE 4 ). C* TIME RANGE(S) AND TIME RANGE INDICATOR ( CODE TABLE 5 ). C*** C C TIME UNIT. C IBLOCK(18) = IB1PAR(14) IF (IB1PAR(14).LT.0.OR.IB1PAR(14).GT.7) IERR = 9 C C* TIME UNIT CODES ARE IN THE RANGE 0 - 7, WITH 254 USED FOR SECONDS. C IF (IB1PAR(14).EQ.254) IERR = 0 C C THERE CAN BE ONE OR TWO TIME RANGES, EACH IN 1 OCTECT OR C ONE TIME RANGE IN 2 OCTECTS. C IF (IB1PAR(17).EQ.0.OR.IB1PAR(17).EQ.1 C .OR.IB1PAR(17).EQ.10) IB1PAR(16) = 0 C C CROSS CHECK RANGE VALUES AND FLAG VALUES. C IF (IB1PAR(15).GT.65535.OR.IB1PAR(15).LT.0) IERR = 9 IF (IB1PAR(15).GT.255.AND.IB1PAR(17).NE.10) IERR = 9 IF (IB1PAR(16).GT.255.OR.IB1PAR(16).LT.0) IERR = 9 IF (IB1PAR(17).LT.0.OR.IB1PAR(17).GT.10) IERR = 9 IF (IERR.NE.0) C THEN WRITE (*,9009) IB1PAR(14),IB1PAR(15),IB1PAR(16),IB1PAR(17) 9009 FORMAT (1H ,'TIME UNIT/TIME 1/TIME 2/INDICATOR ERROR - ', C I8,2X,'/',I8,2X,'/',I8,2X,'/',I8) RETURN ENDIF C IBLOCK(19) = IB1PAR(15) IBLOCK(20) = IB1PAR(16) C C ONE TIME RANGE OCCUPYING BOTH OCTETS. C IF (IB1PAR(17).EQ.10) C THEN C 8 LOW ORDER BITS IN IBLOCK(20) C HIGH ORDER BITS IN IBLOCK(19) C IBLOCK(20) = IBLOCK(19) IBLOCK(19) = IBLOCK(19) / 256 IBLOCK(20) = IBLOCK(20) - IBLOCK(19) * 256 ENDIF C C TIME RANGE INDICATOR C IBLOCK(21) = IB1PAR(17) C C C C C C C C*** C* NUMBER AVERAGED. C*** C IBLOCK(22) = 0 IBLOCK(23) = 0 C C C CHECK CONSISTENCY INDICATOR AND NUMBER FIELD. C IF (IB1PAR(17).EQ.3.AND.IB1PAR(18).EQ.0) C THEN IERR = 12 WRITE (*,9013) IB1PAR(17),IB1PAR(18) 9013 FORMAT (1H ,'INDICATOR/NUMBER AVERAGED ERROR - ', C I8,2X,'/',I8) RETURN ENDIF C C VALUE IN TWO OCTETS. C IBLOCK(22) = IB1PAR(18) C C 8 LOW ORDER BITS IN IBLOCK(23) C HIGH ORDER BITS IN IBLOCK(22) C IBLOCK(23) = IBLOCK(22) IBLOCK(22) = IBLOCK(22) / 256 IBLOCK(23) = IBLOCK(23) - IBLOCK(22) * 256 C C C C C C C*** C* RESERVED ELEMENT. C*** C IBLOCK(24) = 0 C C C C C C C C*** C* C* PACK 24 8-BIT FIELDS OF BLOCK 1 IN CODED ARRAY. C* C*** C IBYTE = 8 NVAL = 24 C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 2 - GRID DESCRIPTION BLOCK. C* C******************************************************************** C C C C C*** C* SET ARRAY IBLOCK TO 0 . IT IS USED TO ZERO FILL RESERVED OCTETS. C*** C DO 100 I=1,24 IBLOCK(I) = 0 100 CONTINUE C C C C C*** C* LAT/LONGITUDE GRID, GAUSSIAN GRID AND SPHERICAL HARMONICS C* ARE THE ONLY DATA REPRESENTATIONS HANDLED. C*** C IF (IB1PAR(4).EQ.128.OR.IB1PAR(4).EQ.192) C THEN IF (IB2PAR(1).NE.0.AND.IB2PAR(1).NE.4.AND.IB2PAR(1).NE.50) C THEN WRITE (*,*)'GRID DESCRIPTION BLOCK NOT YET DEFINED' IERR = -3 RETURN ENDIF C C C C C*** C* LENGTH OF GRID DESCRIPTION BLOCK. C*** C C LENGTH IS 32 OCTETS FOR LAT/LONG, GAUSSIAN AND SPHERICAL C HARMONICS . FOR ANY DATA ON HYBRID LEVELS THE C VERTICAL COORDINATES ARE ADDED. C I = 32 IF (IB1PAR(6).GT.108) I = I + ILENV * 4 C CALL SBYTE (IGRIB(IWORD),I,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* NUMBER OF UNUSED BITS AT END OF BLOCK. C* CURRENT DEFINITION IMPLIES 0. C*** C CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C*** C* NEXT OCTET IS RESERVED. C*** C CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C*** C* DATA REPRESENTATION TYPE. C*** C IF (IB2PAR(1).LT.0.OR.IB2PAR(1).GT.4) IERR = 10 IF (IB2PAR(1).EQ.50) IERR = 0 IF (IERR.NE.0) C THEN IERR = 10 WRITE (*,9010) IB2PAR(1) 9010 FORMAT (1H ,'INVALID DATA REPRESENTATION TYPE - ',I3) RETURN ENDIF CALL SBYTE (IGRIB(IWORD),IB2PAR(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C C C C C C C C*** C* LAT/LONG OR GAUSSIAN GRID. C*** C IF (IB2PAR(1).EQ.0.OR.IB2PAR(1).EQ.4) C THEN C C NUMBER OF LAT/LONG POINTS. C CALL SBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONG OF ORIGIN. C SIGN BIT SET TO 1 IF VALUES ARE NEGATIVE. C DO 200 I=1,2 ILAT(I) = IB2PAR(I+3) ISIGN = 0 IF (ILAT(I).LT.0) C THEN ISIGN = 8388608 ILAT(I) = - ILAT(I) ENDIF ILAT(I) = ILAT(I) + ISIGN 200 CONTINUE C CALL SBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C RESOLUTION FLAG. C C INCREMENTS BINARY CODE DECIMAL VALUE C C NOT GIVEN 00000000 0 C GIVEN 10000000 128 C C C SHIFT 1 BIT FLAG FIELD TO LOW ORDER BIT C KTEMP = IB2PAR(6) / 128 C IF (KTEMP.LE.0.OR.KTEMP.GT.1) C THEN CALL PRTBIN (IB2PAR(6),8,KTEMP,ERR) WRITE (*,9011) KTEMP 9011 FORMAT (1H ,'INVALID RESOLUTION FLAG ',I8.8) IERR = 11 RETURN ENDIF C C SET TO ALL 1-BITS UNUSED INCREMENT FIELDS. C IF (IB2PAR(6).EQ.0) C THEN C 1111111111111111 BINARY = 65535 DECIMAL IB2PAR(9) = 65535 IB2PAR(10) = 65535 ENDIF C CALL SBYTE (IGRIB(IWORD),IB2PAR(6),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONG OF EXTREME POINT. C C SIGN BIT SET TO 1 IF VALUES ARE NEGATIVE. C DO 300 I=1,2 ILAT(I) = IB2PAR(I+6) ISIGN = 0 IF (ILAT(I).LT.0) C THEN ISIGN = 8388608 ILAT(I) = - ILAT(I) ENDIF ILAT(I) = ILAT(I) + ISIGN 300 CONTINUE C CALL SBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C DIRECTION INCREMENTS / NUMBER OF LATITUDE LINES. C CALL SBYTES (IGRIB(IWORD),IB2PAR(9),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C SCANNING MODE FLAGS. C C VALID VALUES VALUE / 32 C BINARY DECIMAL C C 00000000 0 C 10000000 4 C 01000000 2 C 11000000 6 C 00100000 1 C 10100000 5 C 01100000 3 C 11100000 7 C C SHIFT 3 BIT FLAG FIELD TO LOW ORDER BITS. C KTEMP = IB2PAR(11) / 32 C IF (KTEMP.LT.0.OR.KTEMP.GT.7) C THEN CALL PRTBIN (IB2PAR(11),8,KTEMP,ERR) WRITE (*,9014) KTEMP 9014 FORMAT (1H ,'INVALID SCANNING MODE FLAGS ',I8.8) IERR = 12 RETURN ENDIF C CALL SBYTE (IGRIB(IWORD),IB2PAR(11),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 4 RESERVED OCTETS. C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,4) CALL OFFSET (IOFF,4,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C C C C C C C C*** C* SPHERICAL HARMONIC DATA. C*** C IF (IB2PAR(1).EQ.50) C THEN C C PENTAGONAL RESOLUTION PARAMETERS. C CALL SBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,3) CALL OFFSET (IOFF,3,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C REPRESENTATION TYPE AND MODE. C CALL SBYTES (IGRIB(IWORD),IB2PAR(5),IOFF,8,0,2) CALL OFFSET (IOFF,2,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 18 RESERVED OCTETS. C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,18) CALL OFFSET (IOFF,18,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C*** C* ADD VERTICAL COORDINATE PARAMETERS FOR HYBRID LEVELS. C*** C IF (IB1PAR(6).GT.108) C THEN DO 400 I=1,ILENV CALL CONFP (FVERT(I),IEXP,IMANT) CALL SBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL SBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN 400 CONTINUE C ENDIF C ENDIF C C C C C C C C C C******************************************************************** C* C* BLOCK 3 (IF REQUIRED) - BIT MAP BLOCK. C* C******************************************************************** C IF (IB1PAR(4).EQ.64.OR.IB1PAR(4).EQ.192) C THEN C*** C* SET UP LENGTH OG BLOCK 3. C*** NUB=0 NGRD=IB2PAR(2)*IB2PAR(3) NOCT=NGRD/8 IBOF=NGRD-NOCT*8 C IF(IBOF.NE.0) THEN NUB=8-IBOF NOCT=NOCT+1 END IF C IF(MOD(NOCT,2).NE.0) THEN NUB=NUB+8 NOCT=NOCT+1 END IF C ILEN3=NOCT+6 C CALL SBYTE(IGRIB(IWORD),ILEN3,IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF(IERR.NE.0) RETURN C C* SET UP NUMBER OF UNUSED BITS AT THE END OF BLOCK. C CALL SBYTE(IGRIB(IWORD),NUB,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF(IERR.NE.0) RETURN C C* SET OCTET 5-6 OCTET (NUMERIC). C CALL SBYTE(IGRIB(IWORD),0,IOFF,16) CALL OFFSET(IOFF,1,IWORD,16,NBIT,ILENG,IERR) IF(IERR.NE.0) RETURN C C* SET UP BIT MAP. C DO 310 J=1,IBLEN C CALL SBYTE(IGRIB(IWORD),IBMAP(J),IOFF,1) CALL OFFSET(IOFF,1,IWORD,1,NBIT,ILENG,IERR) IF(IERR.NE.0) RETURN C 310 CONTINUE C C* SET UP UNUSED BITS. C CALL SBYTES(IGRIB(IWORD),0,IOFF,1,0,NUB) CALL OFFSET(IOFF,NUB,IWORD,1,NBIT,ILENG,IERR) IF(IERR.NE.0) RETURN ENDIF C C C C C C C C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 4 - BINARY DATA BLOCK. C* C******************************************************************** C C C*** C* RETAIN POINTERS TO WORD AND BIT POSITION OF BINARY DATA C* BLOCK LENGTH FIELD. ENTER LENGTH AS 0. C*** C IPW = IWORD IPB = IOFF C CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C*** C* 4 BIT FLAG / 4 BIT COUNT OF UNUSED BITS AT END OF BLOCK OCTET. C*** C C FLAG IS 1000 FOR SPHERICAL HARMONICS, 0000 FOR LAT/LONG C OR GAUSSIAN GRID. C IREP = 0 IF (IB2PAR(1).EQ.50) IREP = 1 C C FLAG FIELD IS IREP SHIFTED LEFT BY 7 BITS C IFLAG = IREP * 128 C CALL SBYTE (IGRIB(IWORD),IFLAG,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C*** C* FIND MAXIMUM AND MINIMUM VALUES IN DATA ARRAY. FOR C* DATA IN SPHERICAL HARMONIC FORM THE FIRST WORD CONTAINS C* THE REAL (0,0)COEFFICIENT, WHICH IS TREATED SEPARATELY. C*** C C ILEN = KLENF - IREP CALL MXMN (FPDATA(IREP+1),ILEN,FMAX,FMIN) C C C C C C C C C C C C C C C C C*** C* SCALE FACTOR. C*** C C CALCULATE SCALE FACTOR C S = (FMAX-FMIN)/(2**(IBITS+1)-1) IF (S.NE.0.) S = ALOG(S)/ALOG(2.) + 2. ISCALE = MIN(INT(S),INT(S+SIGN(1.,S))) C C C C C SET SIGN BIT (BIT 16) AND PUT SCALE FACTOR INTO REMAINING C 15 BITS OF CODED 16 BIT FIELD. C JSCALE = ISCALE ISIGN = 0 IF (JSCALE.LT.0) C THEN ISIGN = 32768 JSCALE = - JSCALE ENDIF JSCALE = JSCALE + ISIGN C ZSCALE = 2.**ISCALE C C FOR MISSING DATA SCALE FACTOR IS SET TO ALL 1-BITS. C IF (IMISS.EQ.1) JSCALE = 65535 C CALL SBYTE (IGRIB(IWORD),JSCALE,IOFF,16) CALL OFFSET (IOFF,1,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C*** C* MINIMUM (REFERENCE) VALUE. C*** C C CONVERT MINIMUM VALUE (FMIN) TO GRIB FORMAT (IEXP,IMANT) C CALL CONFP (FMIN,IEXP,IMANT) C C EXPONENT AND MANTISSA SET TO ALL 1-BITS FOR MISSING DATA. C IF (IMISS.EQ.1) C THEN IEXP = 255 IMANT = 16777215 ENDIF CALL SBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL SBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* NUMBER OF BITS IN EACH DATA VALUE. C*** C CALL SBYTE (IGRIB(IWORD),IBITS,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* IF SPHERICAL HARMONICS DATA, NEXT 4 OCTETS ARE DIFFERENT FORMAT. C*** C IF (IREP.EQ.1) C THEN C C STORE REAL (0,0) COEFFICIENT IN FLOATING C POINT FORM. C CALL CONFP (FPDATA(1),IEXP,IMANT) C CALL SBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL SBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C C C C C*** C* SCALE AND STORE DATA VALUES. C*** C DO 600 I = IREP+1 , KLENF JGRIB = NINT ( (FPDATA(I)-FMIN) / ZSCALE ) FPDATA(I) = ZGRIB 600 CONTINUE C ILENFM = KLENF - IREP CALL SBYTES (IGRIB(IWORD),FPDATA(IREP+1),IOFF,IBITS,0,ILENFM) CALL OFFSET (IOFF,ILENFM,IWORD,IBITS,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C*** C* ENTER LENGTH OF BINARY DATA BLOCK, HAVING ENSURED THAT C* THE LENGTH IS AN EVEN NUMBER OF OCTETS. C*** C C LENGTH OF BINARY DATA BLOCK IN BITS. C LBIN = (IWORD-IPW) * NBIT + IOFF - IPB C L = LBIN / 16 L = LBIN - ( L*16 ) C C FILL UNUSED PORTION OF LAST 2 OCTETS WITH BINARY ZEROES. C LNIL = 0 IF (L.NE.0) C THEN LNIL = 16 - L CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,LNIL) CALL OFFSET (IOFF,1,IWORD,LNIL,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C LBIN = (IWORD-IPW) * NBIT + IOFF - IPB C C ENTER LENGTH - IN OCTETS - OF DATA BLOCK. C LBIN = LBIN / 8 CALL SBYTE (IGRIB(IPW),LBIN,IPB,24) CALL OFFSET (IPB,1,IPW,24,NBIT,ILENG,IERR) C C ENTER NUMBER OF UNUSED BITS IN FLAG/BIT COUNT FIELD. C IFLAG = IFLAG + LNIL CALL SBYTE (IGRIB(IPW),IFLAG,IPB,8) C C C C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 5 - END BLOCK. C* C******************************************************************** C C C*** C* ADD 7 7 7 7 TO CODED DATA. C*** C IBLOCK(1) = 55 IBLOCK(2) = 55 IBLOCK(3) = 55 IBLOCK(4) = 55 C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,4) CALL OFFSET (IOFF,4,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C*** C* SET ANY UNUSED PART OF LAST WORD TO BINARY ZEROES. C*** C IF (IOFF.NE.0) C THEN KBITS = NBIT - IOFF CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,KBITS) ELSE IWORD = IWORD - 1 ENDIF C C C C*** C* ROUND TO 120 OCTETS, IF REQUIRED. C*** C IF (IROUND.EQ.1) C THEN NUMBIT = IWORD * NBIT I = NUMBIT / 960 I = I * 960 I = NUMBIT - I IF (I.NE.0) I = (960 - I) / NBIT C DO 700 J=IWORD+1,IWORD+I IGRIB(J) = 0 700 CONTINUE C IWORD = IWORD + I ENDIF C RETURN END emoslib-000392+dfsg.1/gribex/ecdef10.F0000755000175000017500000002136512127406245020266 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF10( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPLEN, KPR, KRET) C C----> C**** ECDEF10 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 10. C C** Interface. C ---------- C C CALL ECDEF10( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPLEN - Pointer to field containing length of Section 1 C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted. C (Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 10. C C C Externals. C ---------- C C INXBIT - insert/extract bits C ABORTX - abort the program C CSGNBT - code a signed value C DSGNBT - decode a signed value C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C #include "ecdef10.h" C C C Author. C ------- C C J.D.Chambers ECMWF February 1998 C C C Modifications. C -------------- C C None C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPLEN, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, LENS1, N, INSPT INTEGER ILALO DIMENSION ILALO(4) C LOGICAL LENCODE, LDECODE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC .EQ. 'C' ) LDECODE = .NOT. LENCODE C C ------------------------------------------------------------------ C* Section 2 . Handle tube. C ------------------------------------------------------------------ C 200 CONTINUE C C Octet 50: Tube number C Octet 51: Total number of tubes C Octet 52: Central cluster definition C Octet 53: Indicator of parameter considered C Octet 54: Indicator of type of level C Five 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),5,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF10: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, elements 42 - 46.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 50 - 54.' ENDIF ENDIF C C Octets 55-57: Northern latitude of the domain of tubing C Octets 58-60: Western longitude of the domain of tubing C Octets 61-63: Southern latitude of the domain of tubing C Octets 64-66: Eastern longitude of the domain of tubing C Four 24-bit fields. C C When coding values, set sign bit to 1, if value is negative. C IF ( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC1(47), 24, KRET) CALL CSGNBT( ILALO(2), KSEC1(48), 24, KRET) CALL CSGNBT( ILALO(3), KSEC1(49), 24, KRET) CALL CSGNBT( ILALO(4), KSEC1(50), 24, KRET) ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO(1),4,KBITS,24,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF10: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, elements 47 - 50.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 55 - 66.' ENDIF ENDIF C C When decoding values, if sign bit is 1, value is C negative. C IF ( LDECODE ) THEN CALL DSGNBT( KSEC1(47), ILALO(1), 24, KRET) CALL DSGNBT( KSEC1(48), ILALO(2), 24, KRET) CALL DSGNBT( KSEC1(49), ILALO(3), 24, KRET) CALL DSGNBT( KSEC1(50), ILALO(4), 24, KRET) ENDIF C C Octet 67: Number of tube to which operational forecast belongs C Octet 68: Number of tube to which control forecast belongs C Two 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(51),2,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF10: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, elements 51 - 52.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 67 - 68.' ENDIF ENDIF C C Octets 69-70: Height/pressure of level considered C Octets 71-72: Reference step considered C Octets 73-74: Radius of central cluster C Octets 75-76: Ensemble standard deviation C Octets 77-78: Distance of the tube extreme to the ensemble mean C Five 16-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(53),5,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF10: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, elements 53 - 57.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octets 69 - 78.' ENDIF ENDIF C C Octet 79: Number of forecasts belonging to the tube C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(58),1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF10: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) ' encoding section 1, element 58.' ELSE WRITE(GRPRSM,*) ' decoding section 1, octet 79.' ENDIF ENDIF C C* The number of forecasts belonging to a cluster may vary, C but section 1 is kept a fixed length. C INSPT = KNSPT + 255*8 C C Octets 80-(79+N): List of N ensemble forecast numbers C N 8-bit fields. C N = KSEC1(58) CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(59),N,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF10: Error reported by routine INXBIT:' IF( LENCODE ) THEN WRITE(GRPRSM,*) X ' encoding section 1, element 59 onwards.' ELSE WRITE(GRPRSM,*) X ' decoding section 1, octet 80 onwards.' ENDIF ENDIF C KNSPT = INSPT C C On encoding, record the length of section 1. C IF( LENCODE ) THEN LENS1 = 79 + 255 CALL INXBIT(KGRIB,KLENG,KPLEN,LENS1, 1,KBITS,24,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,*) 'ECDEF10: Error reported by routine INXBIT:' WRITE(GRPRSM,*) ' encoding length of section 1.' ENDIF ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF10: Section 9.' WRITE(GRPRSM,*) ' Output values set, KNSPT = ', KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF10') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/sources.ibm_power60000755000175000017500000000661612127406245022430 0ustar amckinstryamckinstry# # Sources for libemos/gribex for rs6000. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gsbite.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/grprs0.F0000755000175000017500000000532412127406245020271 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRPRS0(KSEC0) C C----> C**** GRPRS0 - Print information from Section 0 of GRIB code. C C Purpose. C -------- C C Print the information in the Indicator C Section (Section 0) of decoded GRIB data. C C** Interface. C ---------- C C CALL GRPRS0(KSEC0) C C C Input Parameters. C ----------------- C C KSEC0 - Array of decoded parameters from Section 0. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Fields are printed as integers. C C Externals. C ---------- C C Common block GRPRSCM. C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C See also routine GRIBEX. C C Comments. C --------- C C Checks environment variable GRPRS_STREAM for output stream number C for printing (default is 6) C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 30.08.91 C Changes to some comments only. C C J.D.Chambers ECMWF June 2002 C Add option to set output stream number using environment variable C GRPRS_STREAM C C -----------------------------------------------------------------| C----< C C -----------------------------------------------------------------| C* Section 0. Definition of variables C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C INTEGER KSEC0(*) C C -----------------------------------------------------------------| C* Section 1 . Print required information. C -----------------------------------------------------------------| C 100 CONTINUE C WRITE(GRPRSM,9000) WRITE(GRPRSM,9001) WRITE(GRPRSM,9002) WRITE(GRPRSM,9003) KSEC0(1) WRITE(GRPRSM,9004) KSEC0(2) C C -----------------------------------------------------------------| C* Section 9 . Format statements. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C 9000 FORMAT(1H ) 9001 FORMAT(1H ,'Section 0 - Indicator Section. ') 9002 FORMAT(1H ,'-------------------------------------') 9003 FORMAT(1H ,'Length of GRIB message (octets). ',I9) 9004 FORMAT(1H ,'GRIB Edition Number. ',I9) C RETURN C END emoslib-000392+dfsg.1/gribex/grprs2.F0000755000175000017500000004221512127406245020273 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRPRS2 (KSEC0,KSEC2,PSEC2) C C----> C**** GRPRS2 - Print information from Section 2 of GRIB code. C C Purpose. C -------- C C Print the information in the Grid Description C Section (Section 2) of decoded GRIB data. C C** Interface. C ---------- C C CALL GRPRS2 (KSEC0,KSEC2,PSEC2) C C C Input Parameters. C ----------------- C C KSEC0 - Array of decoded integers from Section 0. C C KSEC2 - Array of decoded integers from Section 2. C C PSEC2 - Array of decoded reals from Section 2. C C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C Flag fields are printed in binary representation C Other fields as integers or reals, as appropriate. C Fields printed depend on GRIB Edition. C C C Externals. C ---------- C C PRTBIN - Print binary representation of value. C PTQUASI - Print quasi-grid data. C C Common block GRPRSCM. C C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C C C Comments. C --------- C C Only data representation types catered for are Gaussian C grid, latitude/longitude grid, Spherical Harmonics, C Polar stereographic and Space view perspective. C C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C C Modifications. C -------------- C C J. Hennessy ECMWF 02.09.91 C Polar stereographic print added. C C J. Hennessy ECMWF 25.09.91 C Space view perspective print added. C C J.D.Chambers ECMWF 21.02.95 C Quasi-regular lat/long grids added. C C J.D.Chambers ECMWF 03.04.95 C Allow Lambert conformal. C C J.D.Chambers ECMWF June 2002 C Add option to set output stream number using environment variable C GRPRS_STREAM C C J.D.Chambers ECMWF July 2004 C Allow Mercator C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments C INTEGER KSEC0,KSEC2 DIMENSION KSEC0(*) DIMENSION KSEC2(*) REAL PSEC2 DIMENSION PSEC2(*) C C Local variables C INTEGER I, IBIT, IEDIT, IERR, IOUT, IRESOL C C C -----------------------------------------------------------------| C* Section 1 . Print GRIB Edition number. C -----------------------------------------------------------------| C 100 CONTINUE C IEDIT = KSEC0(2) WRITE(GRPRSM,9000) WRITE(GRPRSM,9001) WRITE(GRPRSM,9002) C C -----------------------------------------------------------------| C* Section 2 . Print spherical harmonic data. C -----------------------------------------------------------------| C 200 CONTINUE C IF (KSEC2(1).EQ.50 .OR. KSEC2(1).EQ.60 .OR. X KSEC2(1).EQ.70 .OR. KSEC2(1).EQ.80) THEN WRITE(GRPRSM,9111) KSEC2(1) WRITE(GRPRSM,9102) KSEC2(2) WRITE(GRPRSM,9103) KSEC2(3) WRITE(GRPRSM,9104) KSEC2(4) WRITE(GRPRSM,9105) KSEC2(5) WRITE(GRPRSM,9106) KSEC2(6) DO I = 7, 11 WRITE(GRPRSM,9107) KSEC2(I) ENDDO WRITE(GRPRSM,9212) KSEC2(12) GO TO 800 C ENDIF C C -----------------------------------------------------------------| C* Section 3 . Print Gaussian grid data. C -----------------------------------------------------------------| C 300 CONTINUE C IF (KSEC2(1).EQ.4 .OR. KSEC2(1).EQ.14 .OR. X KSEC2(1).EQ.24 .OR. KSEC2(1).EQ.34) THEN WRITE(GRPRSM,9200) WRITE(GRPRSM,9112) KSEC2(1) C C Quasi-regular grids introduced in Edition 1. C IF (KSEC2(17).EQ.0.OR.IEDIT.LT.1) THEN WRITE(GRPRSM,9201) KSEC2(2) ELSE CALL PTQUASI(KSEC2) ENDIF WRITE(GRPRSM,9202) KSEC2(3) WRITE(GRPRSM,9203) KSEC2(4) WRITE(GRPRSM,9204) KSEC2(5) IBIT = 8 IRESOL = KSEC2(6) + KSEC2(18) + KSEC2(19) CALL PRTBIN (IRESOL,IBIT,IOUT,IERR) WRITE(GRPRSM,9205) IOUT WRITE(GRPRSM,9206) KSEC2(7) WRITE(GRPRSM,9207) KSEC2(8) C C Print increment if given. C IF (KSEC2(6).EQ.128) THEN WRITE(GRPRSM,9208) KSEC2(9) ELSE WRITE(GRPRSM,9236) ENDIF WRITE(GRPRSM,9210) KSEC2(10) IBIT = 8 CALL PRTBIN (KSEC2(11),IBIT,IOUT,IERR) WRITE(GRPRSM,9211) IOUT WRITE(GRPRSM,9212) KSEC2(12) GO TO 800 C ENDIF C C -----------------------------------------------------------------| C* Section 4 . Print Latitude / longitude grid data. C -----------------------------------------------------------------| C 400 CONTINUE C IF (KSEC2(1).EQ.0 .OR. KSEC2(1).EQ.10 .OR. X KSEC2(1).EQ.20 .OR. KSEC2(1).EQ.30) THEN WRITE(GRPRSM,9200) WRITE(GRPRSM,9113) KSEC2(1) C C Quasi-regular lat/long grids also possible. C IF (KSEC2(17).EQ.0) THEN WRITE(GRPRSM,9201) KSEC2(2) ELSE CALL PTQUASI(KSEC2) ENDIF WRITE(GRPRSM,9202) KSEC2(3) WRITE(GRPRSM,9203) KSEC2(4) WRITE(GRPRSM,9204) KSEC2(5) IBIT = 8 IRESOL = KSEC2(6) + KSEC2(18) + KSEC2(19) CALL PRTBIN (IRESOL,IBIT,IOUT,IERR) WRITE(GRPRSM,9205) IOUT WRITE(GRPRSM,9206) KSEC2(7) WRITE(GRPRSM,9207) KSEC2(8) C C Print increment if given. C IF ( KSEC2(9) .LT. 0) THEN WRITE(GRPRSM,9236) ELSE WRITE(GRPRSM,9208) KSEC2(9) ENDIF IF ( KSEC2(10) .LT. 0) THEN WRITE(GRPRSM,9237) ELSE WRITE(GRPRSM,9209) KSEC2(10) ENDIF IBIT = 8 CALL PRTBIN (KSEC2(11),IBIT,IOUT,IERR) WRITE(GRPRSM,9211) IOUT WRITE(GRPRSM,9212) KSEC2(12) GO TO 800 C ENDIF C C -----------------------------------------------------------------| C* Section 5 . Print polar stereographic data. C -----------------------------------------------------------------| C 500 CONTINUE C IF (KSEC2(1).EQ.5) THEN WRITE(GRPRSM,9200) WRITE(GRPRSM,9114) KSEC2(1) WRITE(GRPRSM,9301) KSEC2(2) WRITE(GRPRSM,9302) KSEC2(3) WRITE(GRPRSM,9203) KSEC2(4) WRITE(GRPRSM,9204) KSEC2(5) IBIT = 8 IRESOL = KSEC2(18) + KSEC2(19) CALL PRTBIN (IRESOL,IBIT,IOUT,IERR) WRITE(GRPRSM,9205) IOUT WRITE(GRPRSM,9303) KSEC2(7) WRITE(GRPRSM,9304) KSEC2(9) WRITE(GRPRSM,9305) KSEC2(10) IBIT = 8 CALL PRTBIN (KSEC2(11),IBIT,IOUT,IERR) WRITE(GRPRSM,9211) IOUT WRITE(GRPRSM,9212) KSEC2(12) WRITE(GRPRSM,9306) KSEC2(13) GO TO 800 C ENDIF C C -----------------------------------------------------------------| C* Section 6 . Print Lambert conformal data. C -----------------------------------------------------------------| C 600 CONTINUE C IF (KSEC2(1).EQ.3) THEN C WRITE(GRPRSM,9200) WRITE(GRPRSM,9115) KSEC2(1) WRITE(GRPRSM,9301) KSEC2(2) WRITE(GRPRSM,9302) KSEC2(3) WRITE(GRPRSM,9203) KSEC2(4) WRITE(GRPRSM,9204) KSEC2(5) IBIT = 8 IRESOL = KSEC2(18) + KSEC2(19) + KSEC2(6) CALL PRTBIN (IRESOL,IBIT,IOUT,IERR) WRITE(GRPRSM,9205) IOUT WRITE(GRPRSM,9303) KSEC2(7) WRITE(GRPRSM,9304) KSEC2(9) WRITE(GRPRSM,9305) KSEC2(10) IBIT = 8 CALL PRTBIN (KSEC2(11),IBIT,IOUT,IERR) WRITE(GRPRSM,9211) IOUT WRITE(GRPRSM,9212) KSEC2(12) WRITE(GRPRSM,9306) KSEC2(13) WRITE(GRPRSM,9214) KSEC2(14) WRITE(GRPRSM,9215) KSEC2(15) WRITE(GRPRSM,9216) KSEC2(20) WRITE(GRPRSM,9217) KSEC2(21) GO TO 800 C ENDIF C C -----------------------------------------------------------------| C* Section 7 . Print space view perspective or orthographic data. C -----------------------------------------------------------------| C 700 CONTINUE C IF (KSEC2(1).EQ.90) THEN WRITE(GRPRSM,9200) WRITE(GRPRSM,9116) KSEC2(1) WRITE(GRPRSM,9301) KSEC2(2) WRITE(GRPRSM,9302) KSEC2(3) WRITE(GRPRSM,9310) KSEC2(4) WRITE(GRPRSM,9311) KSEC2(5) IBIT = 8 IRESOL = KSEC2(18) + KSEC2(19) WRITE(GRPRSM,9312) KSEC2(7) WRITE(GRPRSM,9313) KSEC2(8) WRITE(GRPRSM,9314) KSEC2(9) WRITE(GRPRSM,9315) KSEC2(10) IBIT = 8 CALL PRTBIN (KSEC2(11),IBIT,IOUT,IERR) WRITE(GRPRSM,9211) IOUT WRITE(GRPRSM,9212) KSEC2(12) WRITE(GRPRSM,9303) KSEC2(13) WRITE(GRPRSM,9316) KSEC2(14) WRITE(GRPRSM,9317) KSEC2(15) WRITE(GRPRSM,9318) KSEC2(16) WRITE(GRPRSM,9319) KSEC2(18) WRITE(GRPRSM,9320) KSEC2(19) GO TO 800 C ENDIF C C -----------------------------------------------------------------| C* Section 7.5 . Print ocean data C -----------------------------------------------------------------| C 750 CONTINUE C IF( KSEC2(1).EQ.192 ) THEN WRITE(GRPRSM,9117) KSEC2(1) IF( KSEC2(2).EQ. 32767 ) THEN WRITE(GRPRSM,9501) KSEC2(2) ELSE WRITE(GRPRSM,9502) KSEC2(2) ENDIF C IF( KSEC2(3).EQ. 32767 ) THEN WRITE(GRPRSM,9503) KSEC2(3) ELSE WRITE(GRPRSM,9504) KSEC2(3) ENDIF C IBIT = 8 CALL PRTBIN (KSEC2(11),IBIT,IOUT,IERR) WRITE(GRPRSM,9211) IOUT GO TO 800 ENDIF C C -----------------------------------------------------------------| C* Section 7.6 . Print mercator data C -----------------------------------------------------------------| C 760 CONTINUE C IF (KSEC2(1).EQ.1) THEN WRITE(GRPRSM,9200) WRITE(GRPRSM,9118) KSEC2(1) WRITE(GRPRSM,9201) KSEC2(2) WRITE(GRPRSM,9202) KSEC2(3) WRITE(GRPRSM,9203) KSEC2(4) WRITE(GRPRSM,9204) KSEC2(5) IBIT = 8 IRESOL = KSEC2(6) + KSEC2(18) + KSEC2(19) CALL PRTBIN (IRESOL,IBIT,IOUT,IERR) WRITE(GRPRSM,9205) IOUT WRITE(GRPRSM,9206) KSEC2(7) WRITE(GRPRSM,9207) KSEC2(8) WRITE(GRPRSM,9218) KSEC2(9) WRITE(GRPRSM,9208) KSEC2(13) WRITE(GRPRSM,9209) KSEC2(14) IBIT = 8 CALL PRTBIN (KSEC2(11),IBIT,IOUT,IERR) WRITE(GRPRSM,9211) IOUT WRITE(GRPRSM,9212) KSEC2(12) GO TO 800 ENDIF C C -----------------------------------------------------------------| C Drop through to here => representation type not catered for. C -----------------------------------------------------------------| C WRITE(GRPRSM,*) X 'GRPRS2 :Data representation type not catered for -', KSEC2(1) C GO TO 900 C C -----------------------------------------------------------------| C* Section 8 . Print vertical coordinate parameters, C rotated grid information, C stretched grid information, if any. C -----------------------------------------------------------------| C 800 CONTINUE C C Vertical coordinate parameters ... C IF (KSEC2(12).NE.0) THEN WRITE(GRPRSM,9000) WRITE(GRPRSM,9400) WRITE(GRPRSM,9401) DO I = 11, (KSEC2(12)+10) WRITE(GRPRSM,9402) PSEC2(I) ENDDO ENDIF C C Rotated and stretched grids introduced in Edition 1. C IF (IEDIT.LT.1) GO TO 900 C C* Rotated grid information ... C IF (KSEC2(1).EQ.10 .OR. KSEC2(1).EQ.30 .OR. X KSEC2(1).EQ.14 .OR. KSEC2(1).EQ.34 .OR. X KSEC2(1).EQ.60 .OR. KSEC2(1).EQ.80 .OR. X KSEC2(1).EQ.30) THEN WRITE(GRPRSM,9000) WRITE(GRPRSM,9220) KSEC2(13) WRITE(GRPRSM,9221) KSEC2(14) WRITE(GRPRSM,9222) PSEC2(1) ENDIF C C* Stretched grid information ... C IF (KSEC2(1).EQ.20 .OR. KSEC2(1).EQ.30 .OR. X KSEC2(1).EQ.24 .OR. KSEC2(1).EQ.34 .OR. X KSEC2(1).EQ.70 .OR. KSEC2(1).EQ.80) THEN WRITE(GRPRSM,9000) WRITE(GRPRSM,9230) KSEC2(15) WRITE(GRPRSM,9231) KSEC2(16) WRITE(GRPRSM,9232) PSEC2(2) ENDIF C C -----------------------------------------------------------------| C* Section 9 . Format statements. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN C 9000 FORMAT (1H ) 9001 FORMAT (1H ,'Section 2 - Grid Description Section.') 9002 FORMAT (1H ,'-------------------------------------') 9102 FORMAT (1H ,'J - Pentagonal resolution parameter. ',I9) 9103 FORMAT (1H ,'K - Pentagonal resolution parameter. ',I9) 9104 FORMAT (1H ,'M - Pentagonal resolution parameter. ',I9) 9105 FORMAT (1H ,'Representation type (Table 9) ',I9) 9106 FORMAT (1H ,'Representation mode (Table 10). ',I9) 9107 FORMAT (1H ,'Not used. ',I9) 9111 FORMAT (1H ,'Data represent type = spectral (Table 6) ',I9) 9112 FORMAT (1H ,'Data represent type = gaussian (Table 6) ',I9) 9113 FORMAT (1H ,'Data represent type = lat/long (Table 6) ',I9) 9114 FORMAT (1H ,'Data represent type = polar stereo (Table 6) ',I9) 9115 FORMAT (1H ,'Data represent type = Lambert (Table 6) ',I9) 9116 FORMAT (1H ,'Data represent type = space/ortho (Table 6) ',I9) 9117 FORMAT (1H ,'Data represent type = ECMWF ocean (Table 6) ',I9) 9118 FORMAT (1H ,'Data represent type = Mercator (Table 6) ',I9) C 9200 FORMAT (1H ,'(Southern latitudes and Western longitudes', C ' are negative.)') 9201 FORMAT (1H ,'Number of points along a parallel. ',I9) 9202 FORMAT (1H ,'Number of points along a meridian. ',I9) 9203 FORMAT (1H ,'Latitude of first grid point. ',I9) 9204 FORMAT (1H ,'Longitude of first grid point. ',I9) 9205 FORMAT (1H ,'Resolution and components flag. ',I8.8) 9206 FORMAT (1H ,'Latitude of last grid point. ',I9) 9207 FORMAT (1H ,'Longitude of last grid point. ',I9) 9208 FORMAT (1H ,'i direction (East-West) increment. ',I9) 9209 FORMAT (1H ,'j direction (North-South) increment. ',I9) 9210 FORMAT (1H ,'Number of parallels between pole and equator.',I9) 9211 FORMAT (1H ,'Scanning mode flags (Code Table 8) ',I8.8) 9212 FORMAT (1H ,'Number of vertical coordinate parameters. ',I9) C 9214 FORMAT (1H ,'Latitude intersection 1 - Latin 1 -. ',I9) 9215 FORMAT (1H ,'Latitude intersection 2 - Latin 2 -. ',I9) 9216 FORMAT (1H ,'Latitude of Southern Pole. ',I9) 9217 FORMAT (1H ,'Longitude of Southern Pole. ',I9) 9218 FORMAT (1H ,'Latitude projection intersects Earth(Latin) ',I9) C 9220 FORMAT (1H ,'Latitude of southern pole of rotation. ',I9) 9221 FORMAT (1H ,'Longitude of southern pole of rotation. ',I9) 9222 FORMAT (1H ,'Angle of rotation. ',F20.10) C 9230 FORMAT (1H ,'Latitude of pole of stretching. ',I9) 9231 FORMAT (1H ,'Longitude of pole of stretching. ',I9) 9232 FORMAT (1H ,'Stretching factor. ',F20.10) 9233 FORMAT (1H ,'Number of points along a parallel varies.') 9235 FORMAT (1H , I5,16X,A10) 9236 FORMAT (1H ,'i direction (East-West) increment', X ' Not given') 9237 FORMAT (1H ,'j direction (North-South) increment', X ' Not given') C 9301 FORMAT (1H ,'Number of points along X axis. ',I9) 9302 FORMAT (1H ,'Number of points along Y axis. ',I9) 9303 FORMAT (1H ,'Orientation of the grid. ',I9) 9304 FORMAT (1H ,'X direction increment. ',I9) 9305 FORMAT (1H ,'Y direction increment. ',I9) 9306 FORMAT (1H ,'Projection centre flag. ',I9) C 9310 FORMAT (1H ,'Latitude of sub-satellite point. ',I9) 9311 FORMAT (1H ,'Longitude of sub-satellite point. ',I9) 9312 FORMAT (1H ,'Diameter of the earth in x direction. ',I9) 9313 FORMAT (1H ,'Diameter of the earth in y direction. ',I9) 9314 FORMAT (1H ,'X coordinate of sub-satellite point. ',I9) 9315 FORMAT (1H ,'Y coordinate of sub-satellite point. ',I9) 9316 FORMAT (1H ,'Altitude of the camera. ',I9) 9317 FORMAT (1H ,'Y coordinate of origin of sector image. ',I9) 9318 FORMAT (1H ,'X coordinate of origin of sector image. ',I9) 9319 FORMAT (1H ,'Earth flag ',I9) 9320 FORMAT (1H ,'Components flag ',I9) C 9400 FORMAT (1H ,'Vertical Coordinate Parameters.') 9401 FORMAT (1H ,'-------------------------------') 9402 FORMAT (4X,F20.12,4X,F20.12) C 9501 FORMAT(' Number of points along the first axis. Not used') 9502 FORMAT (' Number of points along the first axis. ',I9) 9503 FORMAT(' Number of points along the second axis. Not used') 9504 FORMAT (' Number of points along the second axis. ',I9) C END emoslib-000392+dfsg.1/gribex/offset2.F0000755000175000017500000000501312127406245020417 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE OFFSET2(IOFF,NLAST,IWORD,NBIT,ILEN,IERR) C C----> OFFSET2 C C Purpose. C -------- C C Calculates the word and bit offset of the start of the next C bit-field in an array of binary data, following the C insertion/extraction of one or more consecutive bit-fields. C C Interface. C ---------- C C CALL OFFSET2(IOFF,NLAST,IWORD,NBIT,ILEN,IERR) C C C Input Parameters. C ----------------- C C IOFF - Bit offset at which last insertion or extraction started. C NLAST - Number of bits in fields inserted or extracted in C previous operation. C IWORD - Word number of array at which previous operation started. C NBIT - Number of bits in computer word. C ILEN - Number of words in array. C C Output Parameters. C ----------------- C C IOFF - Bit offset at which next insertion or extraction starts. C IWORD - Word number of array at which next operation starts. C C IERR - = 0 if no error. C = -2 if next operation is outside array bounds. C C C Method. C ------- C C See below. C C C Externals. C ---------- C C None. C C C Reference. C ---------- C C None. C C C Comments. C --------- C C Rewrite of offset.F to speed processing. C C C Author. C ------- C C J.D.Chambers ECMWF September 2001 C C C Modifications. C -------------- C C None. C C C --------------------------------------------------------------- C----< C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments C INTEGER IOFF,NLAST,IWORD,NBIT,ILEN,IERR C C Clear error indicator C IERR = 0 C C Calculate next word and bit positions. C IOFF = IOFF + (NLAST-(NLAST/NBIT)*NBIT) C IF( IOFF.GE.NBIT ) THEN IWORD = IWORD + (NLAST/NBIT) + 1 IOFF = IOFF - NBIT ELSE IWORD = IWORD + (NLAST/NBIT) ENDIF C C Check that next word to be accessed lies within the array bounds. C IF( IWORD.GT.ILEN ) THEN IERR = -2 WRITE(GRPRSM,*) 'Word ',IWORD,' is outside array bounds ',ILEN ENDIF C RETURN END emoslib-000392+dfsg.1/gribex/make.dep0000755000175000017500000000140612127406245020351 0ustar amckinstryamckinstry# # Header file dependencies # c2ordr.o: grbcom.h codeps.o: grbcom.h confp3.o: grbcom.h csect4.o: grbcom.h docsec2.o: eocsec2.h ecdef1.o: ecdef1.h ecdef10.o: ecdef10.h ecdef11.o: ecdef11.h ecdef13.o: ecdef13.h ecdef2.o: ecdef2.h ecdef3.o: ecdef3.h ecdef4.o: ecdef4.h ecdef5.o: ecdef5.h ecdef6.o: ecdef6.h ecdef7.o: ecdef7.h ecdef8.o: ecdef8.h ecdef9.o: ecdef9.h eocsec2.o: eocsec2.h gribex.o: gribex.h grbcom.h grsdbg.o: grbcom.h grsdef.o: grbcom.h grsmkp.o: grbcom.h grsmok.o: grbcom.h grsn2o.o: grbcom.h grsref.o: grbcom.h grsrnd.o: grbcom.h grsubc.o: grbcom.h grsvck.o: grbcom.h grsx2o.o: grbcom.h bt_sun_c.o: /usr/include/stdio.h cgsloop.o: /usr/include/stdio.h jabort.o: /usr/include/stdlib.h local2c.o: /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h emoslib-000392+dfsg.1/gribex/csgnbt.c0000755000175000017500000000154712127406245020374 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "fortint.h" void csgnbt_( fortint * kout, fortint * kin, fortint * kpos, fortint * kret) { fortint value = *kin; unsigned fortint sign = (value < 0 ) ? (1 << ((*kpos)-1)) : 0; unsigned fortint mask = ~(-1 << ((*kpos)-1)); if( value < 0 ) *kout = ((-value) & mask) | sign; else *kout = (value & mask); *kret = 0; return; } void csgnbt( fortint * kout, fortint * kin, fortint * kpos, fortint * kret) { csgnbt_(kout,kin,kpos,kret); } emoslib-000392+dfsg.1/gribex/remsp.F0000755000175000017500000000220112127406245020171 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE REMSP (STRING) C C----> C**** REMSP - Remove leading spaces from character string. C NAME : REMSP C C FUNCTION : LEFT JUSTIFY CHARACTER STRING BY REMOVING C ANY LEADING SPACES. C C INPUT : STRING = CHARACTER STRING, WITH OR WITHOUT C LEADING SPACES. C C OUTPUT : STRING = CHARACTER STRING LEFT JUSTIFIED. C C JOHN HENNESSY, ECMWF, 16TH APRIL 1985 C C --------------------------------------------------------------- C----< C CHARACTER*(*) STRING C DO 100 I=1,LEN(STRING) IF (STRING(I:I).NE.' ') GO TO 200 100 CONTINUE C C Blank line. C RETURN C C Left justify string. C 200 STRING(1:) = STRING(I:) C RETURN END emoslib-000392+dfsg.1/gribex/ecdef8.F0000755000175000017500000001053212127406245020207 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF8( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPR, KRET) C C----> C**** ECDEF8 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 8. C (ECMWF re-analysis data) C C** Interface. C ---------- C C CALL ECDEF8( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 8. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ECLOC1.F - simplified to handle just definition 8. #include "ecdef8.h" C C C Author. C ------- C C J.D.Chambers ECMWF 18th January 1995 C C C Modifications. C -------------- C C None. C C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables INTEGER IRET C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IRET = KRET C C ------------------------------------------------------------------ C* Section 2 . Handle ECMWF re-analysis data, definition 8. C ------------------------------------------------------------------ C 200 CONTINUE C C C Octet 50-62 : Unsigned integers in range (0-255) C Thirteen 8 bit fields. C C Insert/extract fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),13,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C C ------------------------------------------------------------------ C* Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'ECDEF8 : Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,9003) KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF8') ELSE RETURN ENDIF C 9003 FORMAT (1H ,' KNSPT = ',I12) C 9004 FORMAT (' ECDEF8: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/prtbk1.F0000755000175000017500000000565512127406245020266 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PRTBK1 (IB1PAR) C C----> C C NAME : PRTBK1 C C FUNCTION : PRINT THE INFORMATION IN THE PRODUCT DEFINITION C BLOCK (BLOCK 1) OF DECODED GRIB DATA. C C INPUT : IB1PAR - ARRAY OF DECODED PARAMETERS FROM BLOCK 1. C C OUTPUT : FLAG FIELDS ARE PRINTED IN BINARY REPRESENTATION. C OTHER FIELDS AS INTEGERS. C C JOHN HENNESSY ECMWF OCTOBER 1985 C C Modifications. C -------------- C J. Hennessy ECMWF 23:11:90 C Printed output changed from all upper-case. C C --------------------------------------------------------------- C----< C IMPLICIT INTEGER (A-Z) C DIMENSION IB1PAR(*) C WRITE (*,'(1H )') WRITE (*,9000) 9000 FORMAT (1H ,'Section 1 - Product definition section.') C WRITE (*,'(1H )') WRITE (*,9001) IB1PAR(1) 9001 FORMAT (1H ,'Originating centre identifier. ',I9) WRITE (*,9002) IB1PAR(2) 9002 FORMAT (1H ,'Model identification. ',I9) WRITE (*,9003) IB1PAR(3) 9003 FORMAT (1H ,'Grid definition. ',I9) NBIT = 8 CALL PRTBIN (IB1PAR(4),NBIT,OUT,ERR) WRITE (*,9004) OUT 9004 FORMAT (1H ,'Flag (Code Table 1) ',I8.8) WRITE (*,9005) IB1PAR(5) 9005 FORMAT (1H ,'Parameter identifier (Code Table 2). ',I9) WRITE (*,9006) IB1PAR(6) 9006 FORMAT (1H ,'Type of level (Code Table 3). ',I9) WRITE (*,9007) IB1PAR(7) 9007 FORMAT (1H ,'Value 1 of level (Code Table 3). ',I9) WRITE (*,9008) IB1PAR(8) 9008 FORMAT (1H ,'Value 2 of level (Code Table 3). ',I9) WRITE (*,9009) IB1PAR(9) 9009 FORMAT (1H ,'Year of reference time of data. ',I9) WRITE (*,9010) IB1PAR(10) 9010 FORMAT (1H ,'Month of reference time of data. ',I9) WRITE (*,9011) IB1PAR(11) 9011 FORMAT (1H ,'Day of reference time of data. ',I9) WRITE (*,9012) IB1PAR(12) 9012 FORMAT (1H ,'Hour of reference time of data. ',I9) WRITE (*,9013) IB1PAR(13) 9013 FORMAT (1H ,'Minute of reference time of data. ',I9) WRITE (*,9014) IB1PAR(14) 9014 FORMAT (1H ,'Time unit (Code Table 4). ',I9) WRITE (*,9015) IB1PAR(15) 9015 FORMAT (1H ,'Time range one. ',I9) WRITE (*,9016) IB1PAR(16) 9016 FORMAT (1H ,'Time range two. ',I9) WRITE (*,9017) IB1PAR(17) 9017 FORMAT (1H ,'Time range indicator (Code Table 5) ',I9) WRITE (*,9018) IB1PAR(18) 9018 FORMAT (1H ,'Number averaged. ',I9) C RETURN C END emoslib-000392+dfsg.1/gribex/codegb.F0000755000175000017500000007713212127406245020305 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CODEGB (FPDATA,ILENF,IBITS,NBIT,IB1PAR, C IB2PAR,FVERT,ILENV,IGRIB,ILENG,IWORD, C IROUND,IERR) C C----> C* C* NAME : CODEGB C* C* FUNCTION : CODE ARRAY OF FLOATING POINT VALUES C* IN WMO GRIB CODE. C* C* INPUT : PARAMETERS FOR BLOCK 1 , PRODUCT DEFINITION BLOCK. C* -------------------------------------------------- C* IB1PAR - INTEGER ARRAY (DIMENSION 18) OF PRODUCT C* DEFINITION INFORMATION. C* C* WORD CONTENTS C* ---- -------- C* 1 ORIGINATING CENTRE IDENTIFIER. C* 2 MODEL IDENTIFICATION. C* 3 GRID DEFINITION. C* 4 FLAG ( CODE TABLE 1 ). C* 5 PARAMETER IDENTIFIER (CODE TABLE 2). C* 6 TYPE OF LEVEL (CODE TABLE 3). C* 7-8 VALUE(S) OF LEVEL (CODE TABLE 3). C* 9 YEAR OF DATA C* 10 MONTH OF DATA C* 11 DAY OF DATA C* 12 HOUR OF DATA C* 13 MINUTE OF DATA C* 14 TIME UNIT (CODE TABLE 4). C* 15 TIME RANGE ONE C* 16 TIME RANGE TWO C* 17 TIME RANGE FLAG (CODE TABLE 5). C* 18 NUMBER AVERAGED. C* C* VALUE(S) OF LEVEL CAN OCCUPY 2 WORDS. C* FOR A LAYER THE FIRST WORD DEFINES THE TOP C* AND THE SECOND THE BOTTOM OF THE LAYER. C* FOR A SINGLE LEVEL, ONLY THE FIRST WORD IS C* USED. C* C* PARAMETERS FOR BLOCK 2 , GRID DEFINITION BLOCK. C* ----------------------------------------------- C* IB2PAR - INTEGER ARRAY (DIMENSION 11) CONTAINING GRID C* DEFINITION INFORMATION. C* USE VARIES WITH REPRESENTATION TYPE. C* C* WORD LAT/LONG GRID C* ---- ------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6) C* 2 NO. OF POINTS ALONG A LATITUDE C* 3 NO. OF POINTS ALONG A MERIDIAN C* 4 LATITUDE OF ORIGIN (SOUTH - IVE). C* 5 LONGITUDE OF ORIGIN (WEST - IVE). C* 6 RESOLUTION FLAG. (CODE TABLE 7) C* 7 LATITUDE OF EXTREME POINT (SOUTH - IVE). C* 8 LONGITUDE OF EXTREME POINT (WEST - IVE). C* 9 LATITUDE INCREMENT C* 10 LONGITUDE INCREMENT C* 11 SCANNING MODE FLAGS (CODE TABLE 8) C* C* WORD GAUSSIAN GRID C* ---- ------------- C* 1-9 AS FOR LAT/LONGITUDE GRID. C* 10 THE NUMBER OF LATITUDE LINES BETWEEN A POLE C* AND THE EQUATOR. C* 11 SCANNING MODE FLAGS (CODE TABLE 8) C* C* WORD SPHERICAL HARMONICS C* ---- ------------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6) C* 2 J - PENTAGONAL RESOLUTION PARAMETER C* 3 K - PENTAGONAL RESOLUTION PARAMETER C* 4 M - PENTAGONAL RESOLUTION PARAMETER C* 5 REPRESENTATION TYPE (CODE TABLE 9) C* 6 REPRESENTATION MODE (CODE TABLE 10) C* 7-11 NOT USED C* C* C* USE FOR OTHER DATA REPRESENTATION TYPES IS C* TO BE DEFINED LATER. C* C* FVERT - REAL ARRAY OF VERTICAL COORDINATE PARAMETERS C* ILENV - LENGTH OF THIS ARRAY (NUMBER OF COORDINATE C* PARAMETERS). C* C* USED FOR HYBRID LEVELS ONLY. C* C* C* PARAMETERS FOR BLOCK 3 , BIT-MAP DEFINITION BLOCK. C* -------------------------------------------------- C* C* TO BE DEFINED LATER. C* C* PARAMETERS FOR BLOCK 4 , BINARY DATA BLOCK. C* ------------------------------------------- C* FPDATA - ARRAY OF FLOATING POINT VALUES. C* C* **** C* VALUES IN THIS ARRAY ARE OVERWRITTEN C* BY THE SUBROUTINE. C* **** C* C* ILENF - LENGTH OF THIS ARRAY (NUMBER OF DATA C* VALUES TO BE CODED) C* IBITS - NUMBER OF BITS FOR CODED DATA VALUES. C* C* TO INDICATE MISSING DATA VALUES, ILENF IS C* MADE NEGATIVE AND ALL DATA VALUES SET TO 0. C* C* OTHER PARAMETERS C* ---------------- C* C* NBIT - NUMBER OF BITS IN COMPUTER WORD. C* C* IGRIB - ARRAY TO RECEIVE DATA IN GRIB CODE. C* ILENG - LENGTH OF THIS ARRAY. C* C* IROUND - 0 , NO ROUNDING. C* 1 , ROUND TO NEAREST 120 OCTETS. C* C* OUTPUT : IGRIB - DATA CODED IN GRIB CODE. C* IWORD - NUMBER OF WORDS OCCUPIED BY CODED DATA. C* C* IERR - ERROR INDICATOR. C* C* 0, NO ERROR. C* C* -1, NUMBER OF BITS PER DATA VALUE EXCEEDS C* WORD LENGTH, OR MAXIMUM ALLOWED. C* -2, OUTPUT ARRAY TOO SMALL TO HOLD CODED C* DATA VALUES. C* -3, CURRENTLY UNDEFINED OPTION SELECTED. C* -4, MISSING DATA FIELD CONTAINS NON-ZERO. C* C* 1, INVALID ORIGINATING CENTRE. C* 2, INVALID MODEL IDENTIFICATION. C* 3, INVALID GRID DEFINITION. C* 4, INVALID BLOCK INDICATOR FLAG C* 5, INVALID PARAMETER IDENTIFIER. C* 6, INVALID LEVEL TYPE INDICATOR. C* 7, ERROR IN DESCRIPTION OF LEVELS. C* 8, DATE/TIME ERROR. C* 9, INVALID TIME UNIT OR RANGE. C* 10, INVALID DATA REPRESENTATION TYPE. C* 11, INVALID EXTREME POINT/INCREMENT FLAG. C* 12, INVALID SCANNING MODE FLAGS. C* C* JOHN HENNESSY , ECMWF , NOVEMBER 1985 C* C Modifications. C ------------- C C J. Hennessy ECMWF 08:10:90 C Use temporary array IDATB to enable loop vectorisation. C Add M. Hamrud's modifications to us a vectorising version of C SBYTES. C C J. Hennessy ECMWF 29:11:90 C Pad last bytes in the word after 7777 correctly with C binary zeroes. C C J. Hennessy ECMWF 19:11:92 C Dimension of IDATB increased to 300000. C C----< C --------------------------------------------------------------- C C C C C DIMENSION FPDATA(*),ILAT(2) c-- DIMENSION IDATB(ILENF) DIMENSION IDATB(300000) DIMENSION IMASK(100) DIMENSION IGRIB(ILENG),IBLOCK(24) c-- DIMENSION FVERT(ILENV),IB1PAR(18),IB2PAR(11) DIMENSION FVERT(ILENV),IB1PAR(*),IB2PAR(*) C EQUIVALENCE (ZGRIB,JGRIB) C C C SET MAXIMUM NUMBER OF BITS PER DATA FIELD. C DATA IMAX /60/ C C CLEAR ERROR INDICATOR. C IERR = 0 C C C C C C******************************************************************** C* C* CHECK FOR MISSING DATA INDICATORS. C* C******************************************************************** C C IMISS = 0 IF (ILENF.LT.0) C THEN KLENF = - ILENF IMISS = 1 DO 50 I=1,KLENF IF (FPDATA(I).NE.0.) C THEN IERR = -4 WRITE (*,9012) 9012 FORMAT (1H ,'NON-ZERO VALUE IN MISSING DATA', C ' FIELD.') RETURN ENDIF 50 CONTINUE ELSE KLENF = ILENF ENDIF C C C C C******************************************************************** C* C* CHECK NUMBER OF BITS PER DATA FIELD. C* C******************************************************************** C C IF (IBITS.GT.NBIT.OR.IBITS.GT.IMAX) C THEN IERR = -1 WRITE (*,9000) IBITS,NBIT,IMAX 9000 FORMAT (1H ,'NUMBER OF BITS PER DATA VALUE, ',I3, C 'EXCEEDS WORD LENGTH, ',I3,' OR MAXIMUM ', C ' PERMITTED VALUE, ',I3) RETURN ENDIF C C C C C C C C C C C C******************************************************************** C* C* BLOCK 0 - INDICATOR BLOCK. C* C******************************************************************** C C C C*** C* THE LETTERS G R I B ARE INSERTED IN THE C* FIRST 4 ELEMENTS OF 'IBLOCK'. C*** C IBLOCK(1) = 71 IBLOCK(2) = 82 IBLOCK(3) = 73 IBLOCK(4) = 66 C IWORD = 1 IBYTE = 8 NVAL = 4 IOFF = 0 C C PACK 4 8-BIT FIELDS IN BLOCK 0 OF CODED ARRAY. C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C******************************************************************** C* C* BLOCK 1 - PRODUCT DEFINITION BLOCK. C* C******************************************************************** C C C C*** C* LENGTH OF BLOCK 1 (IN OCTETS) IN FIRST 3 OCTETS. C*** C IBLOCK(1) = 0 IBLOCK(2) = 0 IBLOCK(3) = 24 C C C C C*** C* FOURTH OCTET RESERVED AND SET TO 0. C*** C IBLOCK(4) = 0 C C C C C C C*** C* IDENTIFICATION OF CENTRE C*** IBLOCK(5) = IB1PAR(1) IF (IB1PAR(1).LT.1.OR.IB1PAR(1).GT.98) C THEN IERR = 1 WRITE (*,9001) IB1PAR(1) 9001 FORMAT (1H ,'INVALID ORIGINATING CENTRE ',I3) RETURN ENDIF C C C C C C C C*** C* MODEL IDENTIFICATION C*** C IBLOCK(6) = IB1PAR(2) IF (IB1PAR(2).LT.1.OR.IB1PAR(2).GT.255) C THEN IERR = 2 WRITE (*,9002) IB1PAR(2) 9002 FORMAT (1H ,'INVALID MODEL IDENTIFICATION ',I4) RETURN ENDIF C C C C C C C C C*** C* GRID DEFINITION C*** C IBLOCK(7) = IB1PAR(3) IF (IB1PAR(3).LT.1.OR.IB1PAR(3).GT.255) C THEN IERR = 3 WRITE (*,9003) IB1PAR(3) 9003 FORMAT (1H ,'INVALID GRID IDENTIFICATION ',I4) RETURN ENDIF C C C C C C C C C*** C* OPTIONAL BLOCK INDICATOR FLAGS ( CODE TABLE 1 ). C*** C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 10000000 128 C 3 01000000 64 C 2 AND 3 11000000 192 C IBLOCK(8) = IB1PAR(4) C C SHIFT 2-BIT FLAG FIELD RIGHT BY 6 BITS TO FACILITATE CHECKING C KTEMP = IB1PAR(4) / 64 C IF (KTEMP.LT.0.OR.KTEMP.GT.3) IERR = 4 C C CHECK IF GRID SPECIFIED IS UNCATALOGUED. C IF (IB1PAR(3).EQ.255.AND.IB1PAR(4).EQ.0) IERR = 4 IF (IB1PAR(3).EQ.255.AND.IB1PAR(4).EQ.64) IERR = 4 C IF (IERR.NE.0) C THEN CALL PRTBIN (IB1PAR(4),8,KTEMP,ERR) WRITE (*,9004) KTEMP 9004 FORMAT (1H ,'INVALID BLOCK INDICATOR FLAG ',I8.8) RETURN ENDIF C C C C C*** C* PARAMETER IDENTIFIER ( CODE TABLE 2 ). C*** C IBLOCK(9) = IB1PAR(5) IF (IB1PAR(5).LT.0.OR.IB1PAR(5).GT.255) C THEN IERR = 5 WRITE (*,9005) IB1PAR(5) 9005 FORMAT (1H ,'INVALID PARAMETER ',I4) RETURN ENDIF C C C C C*** C* INDICATOR OF LEVEL TYPE ( CODE TABLE 3 ). C*** C IBLOCK(10) = IB1PAR(6) C C* CODE FIGURES FOR LEVEL TYPE RANGE FROM 0 - 110, WITH 200 C BEING USED FOR PSEUDO-LEVELS. C IF (IB1PAR(6).LT.0.OR.IB1PAR(6).GT.110) IERR = 6 IF (IB1PAR(6).EQ.200) IERR = 0 IF (IERR.EQ.6) C THEN WRITE (*,9006) IB1PAR(6) 9006 FORMAT (1H ,'INVALID LEVEL TYPE ',I4) RETURN ENDIF C C C C C C C C C C C C C C C C C C*** C* DESCRIPTION OF LEVEL OR LAYER ( CODE TABLE 3 ). C*** C C C C FOR CERTAIN SPECIAL LEVELS NO FURTHER DESCRIPTION IS C NECESSARY, AND THE FIELDS ARE SET TO 0. C IF (IB1PAR(6).LT.100.OR.IB1PAR(6).EQ.102) C THEN IB1PAR(7) = 0 IB1PAR(8) = 0 ENDIF C IBLOCK(11) = IB1PAR(7) IBLOCK(12) = IB1PAR(8) C C CERTAIN LEVEL TYPES REQUIRE THAT THE DESCRIPTION OCCUPY C BOTH 8 BIT FIELDS. C IF (IB1PAR(6).EQ.100.OR.IB1PAR(6).EQ.103.OR.IB1PAR(6).EQ.105. C OR.IB1PAR(6).EQ.107.OR.IB1PAR(6).EQ.109) C THEN C 8 LOW ORDER BITS IN IBLOCK(12) C HIGH ORDER BITS IN IBLOCK(11) C IBLOCK(12) = IBLOCK(11) IBLOCK(11) = IBLOCK(11) / 256 IBLOCK(12) = IBLOCK(12) - IBLOCK(11) * 256 C C CHECK MAXIMUM POSSIBLE IN 16 BITS. C IF (IB1PAR(7).GT.65535) IERR = 7 ELSE IF (IB1PAR(7).GT.255.OR.IB1PAR(8).GT.255) IERR = 7 ENDIF C IF (IERR.NE.0) C THEN WRITE (*,9007) IB1PAR(7),IB1PAR(8) 9007 FORMAT (1H ,'LEVEL DESCRIPTION ERROR ',I8,3X,I8) RETURN ENDIF C C C C C C C C C C C C C C C C C C C C C C C*** C* DATE AND TIME. CHECK VALID RANGES AND MISSING DATA VALUES. C*** C IBLOCK(13) = IB1PAR(9) IERY = 0 IF (IB1PAR(9).LT.0.OR.IB1PAR(9).GT.99) IERY = 1 IF (IB1PAR(9).EQ.255) IERY = 0 IBLOCK(14) = IB1PAR(10) IERM = 0 IF (IB1PAR(10).LT.1.OR.IB1PAR(10).GT.12) IERM = 1 IF (IB1PAR(10).EQ.255) IERM = 0 IBLOCK(15) = IB1PAR(11) IERD = 0 IF (IB1PAR(11).LT.1.OR.IB1PAR(11).GT.31) IERD = 1 IF (IB1PAR(11).EQ.255) IERD = 0 IBLOCK(16) = IB1PAR(12) IERH = 0 IF (IB1PAR(12).LT.0.OR.IB1PAR(12).GT.23) IERH = 1 IF (IB1PAR(12).EQ.255) IERH = 0 IBLOCK(17) = IB1PAR(13) IERN = 0 IF (IB1PAR(13).LT.0.OR.IB1PAR(13).GT.59) IERN = 1 IF (IB1PAR(13).EQ.255) IERN = 0 C IERR = IERY + IERM + IERD + IERH + IERN C IF (IERR.NE.0) C THEN IERR = 8 WRITE (*,9008) IB1PAR(9),IB1PAR(10),IB1PAR(11),IB1PAR(12), C IB1PAR(13) 9008 FORMAT (1H ,'INVALID DATE/TIME ',3I2,' / ',2I2) RETURN ENDIF C C C C C C C C C C C C C C C C C C C C C C C C*** C* UNIT OF TIME - ( CODE TABLE 4 ). C* TIME RANGE(S) AND TIME RANGE INDICATOR ( CODE TABLE 5 ). C*** C C TIME UNIT. C IBLOCK(18) = IB1PAR(14) IF (IB1PAR(14).LT.0.OR.IB1PAR(14).GT.7) IERR = 9 C C* TIME UNIT CODES ARE IN THE RANGE 0 - 7, WITH 254 USED FOR SECONDS. C IF (IB1PAR(14).EQ.254) IERR = 0 C C THERE CAN BE ONE OR TWO TIME RANGES, EACH IN 1 OCTECT OR C ONE TIME RANGE IN 2 OCTECTS. C IF (IB1PAR(17).EQ.0.OR.IB1PAR(17).EQ.1 C .OR.IB1PAR(17).EQ.10) IB1PAR(16) = 0 C C CROSS CHECK RANGE VALUES AND FLAG VALUES. C IF (IB1PAR(15).GT.65535.OR.IB1PAR(15).LT.0) IERR = 9 IF (IB1PAR(15).GT.255.AND.IB1PAR(17).NE.10) IERR = 9 IF (IB1PAR(16).GT.255.OR.IB1PAR(16).LT.0) IERR = 9 IF (IB1PAR(17).LT.0.OR.IB1PAR(17).GT.10) IERR = 9 IF (IERR.NE.0) C THEN WRITE (*,9009) IB1PAR(14),IB1PAR(15),IB1PAR(16),IB1PAR(17) 9009 FORMAT (1H ,'TIME UNIT/TIME 1/TIME 2/INDICATOR ERROR - ', C I8,2X,'/',I8,2X,'/',I8,2X,'/',I8) RETURN ENDIF C IBLOCK(19) = IB1PAR(15) IBLOCK(20) = IB1PAR(16) C C ONE TIME RANGE OCCUPYING BOTH OCTETS. C IF (IB1PAR(17).EQ.10) C THEN C 8 LOW ORDER BITS IN IBLOCK(20) C HIGH ORDER BITS IN IBLOCK(19) C IBLOCK(20) = IBLOCK(19) IBLOCK(19) = IBLOCK(19) / 256 IBLOCK(20) = IBLOCK(20) - IBLOCK(19) * 256 ENDIF C C TIME RANGE INDICATOR C IBLOCK(21) = IB1PAR(17) C C C C C C C C*** C* NUMBER AVERAGED. C*** C IBLOCK(22) = 0 IBLOCK(23) = 0 C C C CHECK CONSISTENCY INDICATOR AND NUMBER FIELD. C IF (IB1PAR(17).EQ.3.AND.IB1PAR(18).EQ.0) C THEN IERR = 12 WRITE (*,9013) IB1PAR(17),IB1PAR(18) 9013 FORMAT (1H ,'INDICATOR/NUMBER AVERAGED ERROR - ', C I8,2X,'/',I8) RETURN ENDIF C C VALUE IN TWO OCTETS. C IBLOCK(22) = IB1PAR(18) C C 8 LOW ORDER BITS IN IBLOCK(23) C HIGH ORDER BITS IN IBLOCK(22) C IBLOCK(23) = IBLOCK(22) IBLOCK(22) = IBLOCK(22) / 256 IBLOCK(23) = IBLOCK(23) - IBLOCK(22) * 256 C C C C C C C*** C* RESERVED ELEMENT. C*** C IBLOCK(24) = 0 C C C C C C C C*** C* C* PACK 24 8-BIT FIELDS OF BLOCK 1 IN CODED ARRAY. C* C*** C IBYTE = 8 NVAL = 24 C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 2 - GRID DESCRIPTION BLOCK. C* C******************************************************************** C C C C C*** C* SET ARRAY IBLOCK TO 0 . IT IS USED TO ZERO FILL RESERVED OCTETS. C*** C DO 100 I=1,24 IBLOCK(I) = 0 100 CONTINUE C C C C C*** C* LAT/LONGITUDE GRID, GAUSSIAN GRID AND SPHERICAL HARMONICS C* ARE THE ONLY DATA REPRESENTATIONS HANDLED. C*** C IF (IB1PAR(4).EQ.128.OR.IB1PAR(4).EQ.192) C THEN IF (IB2PAR(1).NE.0.AND.IB2PAR(1).NE.4.AND.IB2PAR(1).NE.50) C THEN WRITE (*,*)'GRID DESCRIPTION BLOCK NOT YET DEFINED' IERR = -3 RETURN ENDIF C C C C C*** C* LENGTH OF GRID DESCRIPTION BLOCK. C*** C C LENGTH IS 32 OCTETS FOR LAT/LONG, GAUSSIAN AND SPHERICAL C HARMONICS . FOR ANY DATA ON HYBRID LEVELS THE C VERTICAL COORDINATES ARE ADDED. C I = 32 IF (IB1PAR(6).GT.108) I = I + ILENV * 4 C CALL SBYTE (IGRIB(IWORD),I,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* NUMBER OF UNUSED BITS AT END OF BLOCK. C* CURRENT DEFINITION IMPLIES 0. C*** C CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C*** C* NEXT OCTET IS RESERVED. C*** C CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C*** C* DATA REPRESENTATION TYPE. C*** C IF (IB2PAR(1).LT.0.OR.IB2PAR(1).GT.4) IERR = 10 IF (IB2PAR(1).EQ.50) IERR = 0 IF (IERR.NE.0) C THEN IERR = 10 WRITE (*,9010) IB2PAR(1) 9010 FORMAT (1H ,'INVALID DATA REPRESENTATION TYPE - ',I3) RETURN ENDIF CALL SBYTE (IGRIB(IWORD),IB2PAR(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C C C C C C C C*** C* LAT/LONG OR GAUSSIAN GRID. C*** C IF (IB2PAR(1).EQ.0.OR.IB2PAR(1).EQ.4) C THEN C C NUMBER OF LAT/LONG POINTS. C CALL SBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONG OF ORIGIN. C SIGN BIT SET TO 1 IF VALUES ARE NEGATIVE. C DO 200 I=1,2 ILAT(I) = IB2PAR(I+3) ISIGN = 0 IF (ILAT(I).LT.0) C THEN ISIGN = 8388608 ILAT(I) = - ILAT(I) ENDIF ILAT(I) = ILAT(I) + ISIGN 200 CONTINUE C CALL SBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C RESOLUTION FLAG. C C INCREMENTS BINARY CODE DECIMAL VALUE C C NOT GIVEN 00000000 0 C GIVEN 10000000 128 C C C SHIFT 1 BIT FLAG FIELD TO LOW ORDER BIT C KTEMP = IB2PAR(6) / 128 C C CHECK ON VALID RESOLUTION FLAG FIELD IS IGNORED IF C TYPE OF LEVEL IS GIVEN AS 200 - USED BY ECMWF FOR C PACKING DIAGNOSTIC FIELDS IN PSEUDO GRIB. C IF (KTEMP.LT.0.OR.KTEMP.GT.1.AND.IB1PAR(6).NE.200) C THEN CALL PRTBIN (IB2PAR(6),8,KTEMP,ERR) WRITE (*,9011) KTEMP 9011 FORMAT (1H ,'INVALID RESOLUTION FLAG ',I8.8) IERR = 11 RETURN ENDIF C C SET TO ALL 1-BITS UNUSED INCREMENT FIELDS. C IF (IB2PAR(6).EQ.0) C THEN C 1111111111111111 BINARY = 65535 DECIMAL IB2PAR(9) = 65535 IB2PAR(10) = 65535 ENDIF C CALL SBYTE (IGRIB(IWORD),IB2PAR(6),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONG OF EXTREME POINT. C C SIGN BIT SET TO 1 IF VALUES ARE NEGATIVE. C DO 300 I=1,2 ILAT(I) = IB2PAR(I+6) ISIGN = 0 IF (ILAT(I).LT.0) C THEN ISIGN = 8388608 ILAT(I) = - ILAT(I) ENDIF ILAT(I) = ILAT(I) + ISIGN 300 CONTINUE C CALL SBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C DIRECTION INCREMENTS / NUMBER OF LATITUDE LINES. C CALL SBYTES (IGRIB(IWORD),IB2PAR(9),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C SCANNING MODE FLAGS. C C VALID VALUES VALUE / 32 C BINARY DECIMAL C C 00000000 0 C 10000000 4 C 01000000 2 C 11000000 6 C 00100000 1 C 10100000 5 C 01100000 3 C 11100000 7 C C SHIFT 3 BIT FLAG FIELD TO LOW ORDER BITS. C KTEMP = IB2PAR(11) / 32 C C CHECK ON VALID SCANNING MODE FLAG FIELD IS IGNORED IF C TYPE OF LEVEL IS GIVEN AS 200 - USED BY ECMWF FOR C PACKING DIAGNOSTIC FIELDS IN PSEUDO GRIB. C IF (KTEMP.LT.0.OR.KTEMP.GT.7.AND.IB1PAR(6).NE.200) C C THEN CALL PRTBIN (IB2PAR(11),8,KTEMP,ERR) WRITE (*,9014) KTEMP 9014 FORMAT (1H ,'INVALID SCANNING MODE FLAGS ',I8.8) IERR = 12 RETURN ENDIF C CALL SBYTE (IGRIB(IWORD),IB2PAR(11),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 4 RESERVED OCTETS. C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,4) CALL OFFSET (IOFF,4,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C C C C C C C C*** C* SPHERICAL HARMONIC DATA. C*** C IF (IB2PAR(1).EQ.50) C THEN C C PENTAGONAL RESOLUTION PARAMETERS. C CALL SBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,3) CALL OFFSET (IOFF,3,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C REPRESENTATION TYPE AND MODE. C CALL SBYTES (IGRIB(IWORD),IB2PAR(5),IOFF,8,0,2) CALL OFFSET (IOFF,2,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 18 RESERVED OCTETS. C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,18) CALL OFFSET (IOFF,18,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C*** C* ADD VERTICAL COORDINATE PARAMETERS FOR HYBRID LEVELS. C*** C IF (IB1PAR(6).GT.108) C THEN DO 400 I=1,ILENV CALL CONFP (FVERT(I),IEXP,IMANT) CALL SBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL SBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN 400 CONTINUE C ENDIF C ENDIF C C C C C C C C C C******************************************************************** C* C* BLOCK 3 (IF REQUIRED) - BIT MAP BLOCK. C* C******************************************************************** C IF (IB1PAR(4).EQ.64.OR.IB1PAR(4).EQ.192) C THEN WRITE (*,*)'BIT MAP BLOCK NOT YET DEFINED' IERR = -3 RETURN ENDIF C C C C C C C C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 4 - BINARY DATA BLOCK. C* C******************************************************************** C C C*** C* RETAIN POINTERS TO WORD AND BIT POSITION OF BINARY DATA C* BLOCK LENGTH FIELD. ENTER LENGTH AS 0. C*** C IPW = IWORD IPB = IOFF C CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C*** C* 4 BIT FLAG / 4 BIT COUNT OF UNUSED BITS AT END OF BLOCK OCTET. C*** C C FLAG IS 1000 FOR SPHERICAL HARMONICS, 0000 FOR LAT/LONG C OR GAUSSIAN GRID. C IREP = 0 IF (IB2PAR(1).EQ.50) IREP = 1 C C FLAG FIELD IS IREP SHIFTED LEFT BY 7 BITS C IFLAG = IREP * 128 C CALL SBYTE (IGRIB(IWORD),IFLAG,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C*** C* FIND MAXIMUM AND MINIMUM VALUES IN DATA ARRAY. FOR C* DATA IN SPHERICAL HARMONIC FORM THE FIRST WORD CONTAINS C* THE REAL (0,0)COEFFICIENT, WHICH IS TREATED SEPARATELY. C*** C C ILEN = KLENF - IREP C-- CALL MXMN (FPDATA(IREP+1),ILEN,FMAX,FMIN) CALL MAXMIN (FPDATA(IREP+1),ILEN,FMAX,FMIN) C C C C C C C C C C C C C C C C C*** C* SCALE FACTOR. C*** C C CALCULATE SCALE FACTOR C S = (FMAX-FMIN)/(2**(IBITS+1)-1) IF (S.NE.0.) S = ALOG(S)/ALOG(2.) + 2. ISCALE = MIN(INT(S),INT(S+SIGN(1.,S))) C C C C C SET SIGN BIT (BIT 16) AND PUT SCALE FACTOR INTO REMAINING C 15 BITS OF CODED 16 BIT FIELD. C JSCALE = ISCALE ISIGN = 0 IF (JSCALE.LT.0) C THEN ISIGN = 32768 JSCALE = - JSCALE ENDIF JSCALE = JSCALE + ISIGN C ZSCALE = 2.**ISCALE C C FOR MISSING DATA SCALE FACTOR IS SET TO ALL 1-BITS. C IF (IMISS.EQ.1) JSCALE = 65535 C CALL SBYTE (IGRIB(IWORD),JSCALE,IOFF,16) CALL OFFSET (IOFF,1,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C*** C* MINIMUM (REFERENCE) VALUE. C*** C C CONVERT MINIMUM VALUE (FMIN) TO GRIB FORMAT (IEXP,IMANT) C CALL CONFP (FMIN,IEXP,IMANT) C C EXPONENT AND MANTISSA SET TO ALL 1-BITS FOR MISSING DATA. C IF (IMISS.EQ.1) C THEN IEXP = 255 IMANT = 16777215 ENDIF CALL SBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL SBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* NUMBER OF BITS IN EACH DATA VALUE. C*** C CALL SBYTE (IGRIB(IWORD),IBITS,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* IF SPHERICAL HARMONICS DATA, NEXT 4 OCTETS ARE DIFFERENT FORMAT. C*** C IF (IREP.EQ.1) C THEN C C STORE REAL (0,0) COEFFICIENT IN FLOATING C POINT FORM. C CALL CONFP (FPDATA(1),IEXP,IMANT) C CALL SBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL SBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C C C C C*** C* SCALE AND STORE DATA VALUES. C*** C DO 600 I = IREP+1 , KLENF C-- JGRIB = NINT ( (FPDATA(I)-FMIN) / ZSCALE ) C-- FPDATA(I) = ZGRIB IDATB(I) = NINT ( (FPDATA(I)-FMIN) / ZSCALE ) 600 CONTINUE C ILENFM = KLENF - IREP IMASK(2) = 0 IOFFX = IOFF CALL GSBITE (IGRIB(IWORD),IDATB(IREP+1),IOFFX,IBITS,0,ILENFM, C NBIT,IMASK,'C') C-- CALL SBYTES (IGRIB(IWORD),FPDATA(IREP+1),IOFF,IBITS,0,ILENFM) CALL OFFSET (IOFF,ILENFM,IWORD,IBITS,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C*** C* ENTER LENGTH OF BINARY DATA BLOCK, HAVING ENSURED THAT C* THE LENGTH IS AN EVEN NUMBER OF OCTETS. C*** C C LENGTH OF BINARY DATA BLOCK IN BITS. C LBIN = (IWORD-IPW) * NBIT + IOFF - IPB C L = LBIN / 16 L = LBIN - ( L*16 ) C C FILL UNUSED PORTION OF LAST 2 OCTETS WITH BINARY ZEROES. C LNIL = 0 IF (L.NE.0) C THEN LNIL = 16 - L CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,LNIL) CALL OFFSET (IOFF,1,IWORD,LNIL,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C LBIN = (IWORD-IPW) * NBIT + IOFF - IPB C C ENTER LENGTH - IN OCTETS - OF DATA BLOCK. C LBIN = LBIN / 8 CALL SBYTE (IGRIB(IPW),LBIN,IPB,24) CALL OFFSET (IPB,1,IPW,24,NBIT,ILENG,IERR) C C ENTER NUMBER OF UNUSED BITS IN FLAG/BIT COUNT FIELD. C IFLAG = IFLAG + LNIL CALL SBYTE (IGRIB(IPW),IFLAG,IPB,8) C C C C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 5 - END BLOCK. C* C******************************************************************** C C C*** C* ADD 7 7 7 7 TO CODED DATA. C*** C IBLOCK(1) = 55 IBLOCK(2) = 55 IBLOCK(3) = 55 IBLOCK(4) = 55 C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,4) CALL OFFSET (IOFF,4,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C*** C* SET ANY UNUSED PART OF LAST WORD TO BINARY ZEROES. C*** C IF (IOFF.NE.0) C THEN KBITS = NBIT - IOFF IBLOCK(1) = 0 CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,KBITS) ELSE IWORD = IWORD - 1 ENDIF C C C C*** C* ROUND TO 120 OCTETS, IF REQUIRED. C*** C IF (IROUND.EQ.1) C THEN NUMBIT = IWORD * NBIT I = NUMBIT / 960 I = I * 960 I = NUMBIT - I IF (I.NE.0) I = (960 - I) / NBIT C DO 700 J=IWORD+1,IWORD+I IGRIB(J) = 0 700 CONTINUE C IWORD = IWORD + I ENDIF C RETURN END emoslib-000392+dfsg.1/gribex/search.F0000755000175000017500000001277312127406245020327 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SEARCH (KEYS,MAXKEY,STRING,LEN,POS,IS,IF, C ISUP,IP,OP,IA,MIN) C C----> C**** SEARCH - Search for given character string. C C Purpose. C -------- C C Search for a match, in an array of character C variables, for a given character string. C C** Interface. C ---------- C C CALL SEARCH (KEYS,MAXKEY,STRING,LEN,POS,IS,IF, C C ISUP,IP,OP,IA,MIN) C C Input Parameters. C ----------------- C C KEYS = Array of character variables C C MAXKEY = Size of array C C STRING = Character string for which match is C sought C C LEN = Length of this string C C ISUP = 0 , Print turned on, when no match found. C 1 , Print suppressed C C IS = Search start position in array "KEYS" C C IF = Search end position in array KEYS. C C OP = Unit number of file output C C IP = Unit number of file input C C IA = 1 , Interactive use C 0 , Batch use. C C MIN = Minimum number of characters needed for match. C C Output Parameters. C ------------------ C C POS = 0 , Match not found C -1 , Multiple matches found C Positive value, indicates array element C which matches C C Author. C ------- C C J. Hennessy ECMWF 16.04.85 C C Modifications. C -------------- C C J. Hennessy ECMWF 07.12.93 C Code added to remove ambiguous entries when possible. C C J.D.Chambers ECMWF 13.12.93 C Increase parameter value table size 1200 -> 1500 C C ---------------------------------------------------------------- C----< C IMPLICIT INTEGER (A-Z) C PARAMETER (ASIZE=1500) C DIMENSION KEYS(MAXKEY) CHARACTER*(*) KEYS, STRING CHARACTER*1 PAGE C DIMENSION ATAB(ASIZE) C IF (MAXKEY.GT.ASIZE) C THEN WRITE (*,*) ' SEARCH : Array limits exceeded.' WRITE (*,*) ' SEARCH : MAXKEY = ', MAXKEY WRITE (*,*) ' Notify MARS group.' CALL ABORT ENDIF C SIZE = MAX (LEN,MIN) C C C C C C**************************************************************** C* C* Flag and count matching entries C* C**************************************************************** C C N = MIN 100 K = 0 DO 200 I=IS,IF ATAB(I) = 0 IF (STRING(1:N).EQ.KEYS(I)(1:N)) C THEN ATAB(I) = 1 K = K + 1 J = I ENDIF 200 CONTINUE C N = N + 1 IF (N.LE.SIZE.AND.K.GT.1) GO TO 100 C C C**************************************************************** C* C* No match found. print message (if required) and return. C* C**************************************************************** C IF (K.EQ.0) C THEN POS = 0 IF (ISUP.EQ.1) RETURN C IF (STRING(1:1).NE.'?') C THEN WRITE (OP,9000) STRING(1:SIZE) 9000 FORMAT (' Unrecognised entry - ',A) ENDIF WRITE (OP,*) 'Valid entries are :-' N = 0 DO 300 I=IS,IF N = N + 1 WRITE (OP,'(1H ,20X,A)') KEYS(I) IF (IA.EQ.1.AND.N.EQ.19) C THEN 250 WRITE(OP,*)'Type page to continue -->' N = 0 READ (IP,'(A1)') PAGE CALL L2U1CR (PAGE) IF (PAGE.NE.'P') GO TO 250 GO TO 300 ENDIF 300 CONTINUE POS = 0 RETURN END IF C C**************************************************************** C* C* Return if only 1 match found. C* C**************************************************************** C IF (K.EQ.1) THEN POS = J RETURN ENDIF C C**************************************************************** C* C* Number of entries found. Try to resolve ambiguity. C* C**************************************************************** C DO 350 I=IS,IF IF (ATAB(I).EQ.1) C THEN IJ = RTB(KEYS(I)) IF (STRING(1:LEN).EQ.KEYS(I)(1:IJ)) C THEN POS = I RETURN ENDIF ENDIF 350 CONTINUE C C**************************************************************** C* C* Ambiguous entry found. Print/display message C* C**************************************************************** C WRITE (OP,9001) STRING(1:SIZE) 9001 FORMAT (' Ambiguous entry - ',A) DO 400 I=IS,IF IF (ATAB(I).EQ.1) WRITE (OP,9002) KEYS(I) 9002 FORMAT (' ',A) 400 CONTINUE C POS = - 1 RETURN END emoslib-000392+dfsg.1/gribex/cmpck.F0000755000175000017500000000615412127406245020153 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CMPCK(PSPEC,KTRUNC,KTRUNCNP) C C----> C**** CMPCK C C Purpose. C -------- C C Puts spectral coefficients in contiguous locations. C C C** Interface. C ---------- C C CALL CMPCK(PSPEC,KTRUNC,KTRUNCNP) C C C Input Parameters. C ----------------- C C PSPEC - Array of spectral coefficients. C KTRUNC - Truncation of the spherical harmonic coefficients. C KTRUNCNP - Truncation of the subset of spherical harmonic C coefficients to be ignored. C C C Output Parameters. C ----------------- C C PSPEC - Array of spectral coefficients rearranged. C C C Method. C ------- C C | C C Given numbers: cccccccc|CCCCCC C cccccc|CCCCCC C cccc|CCCCCC C cc|CCCCCC C |CCCCCC C CCCC C CC C C Removes the subset and makes the CCCCCC...C values contiguous C in array PSPEC. C C Externals. C ---------- C C None. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C None. C C C Author. C ------- C C M.Hamrut ECMWF 09:05:94 C C C Modifications. C _____________ C C None. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C C Subroutine arguments C INTEGER KTRUNC, KTRUNCNP REAL PSPEC DIMENSION PSPEC((KTRUNC+1)*(KTRUNC+2)) C C Local variables. INTEGER IUC, IC, JM, JN, IL2, IL1, ILEN C C C ----------------------------------------------------------------- C* Section 1. Move only the required values (overwriting). C ----------------------------------------------------------------- C IUC=0 IC =0 C C Loop through rows. DO 102 JM=0,KTRUNC C C In each row calculate value to start with. C For early rows there are some value to skip (in the subset C being ignored). IL2=MAX(JM,KTRUNCNP+1) IL1=IL2-1 IUC=IUC+MAX((IL1-JM+1)*2,0) ILEN=2*(KTRUNC-IL2+1) C C Move values for the row. CDIR$ IVDEP !OCL NOVREC DO 104 JN=1,ILEN IUC = IUC+1 IC = IC+1 PSPEC(IC) = PSPEC(IUC) 104 CONTINUE 102 CONTINUE C C ----------------------------------------------------------------- C* Section 9. Return. C ----------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/unbkout.F0000755000175000017500000003141012127406245020536 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE UNBKOUT (KUNIT,KARRAY,KINLEN,KOUTLEN,KEOF,KRET) C C----> C**** UNBKOUT - Write a record to a pure binary file. C C Purpose. C -------- C C Provides standard interface to write unblocked COS C files or UNICOS pure binary files. C C** Interface. C ---------- C C CALL UNBKOUT (KUNIT,KARRAY,KINLEN,KOUTLEN,KEOF,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input parameters. C ----------------- C C KUNIT - Fortran unit number of file to be written. C 1 to 99. C C KARRAY - Array containing record to be written. C C KINLEN - Length of this array, in words. C C KOUTLEN - Length of record to be written (in words). C If this is 0 length is assumed to be in C the first word of the record. C This is the case with MARS data in unpacked C format. C C KEOF - 0, If not last write to this file. C 1, Last write to this file, so write C record and flush output buffer. C 2, Last record already written, so C flush output buffer. C C KRET - 0, Routine to abort if error encountered. C 1, Return to calling routine even if error. C C Adding 100 to KRET will add debug printout C eg values of input and output parameters. C C Valid values for KRET are thus 0, 1, 100 C or 101. C C Output parameters. C ------------------ C C KOUTLEN - Length of record written, in words. C C KRET - Return code. C 0, No error encountered. C 1, Write error. C 2, Not used. C 3, Not used. C 4, Not used. C 5, No data transferred because user's array C is smaller than the record length. C 6, Maximum number of files opened for write C by user program exceeded. C 7, Error detected in parameters. C C Method. C ------- C C Data is written in 512 word blocks. The length of each C record is taken from the first word (or input parameter) C and all full blocks are then written. Unless it is the last C write to the file, any remaining words are kept to use C as the start of the next block to be written. C C An array of Fortran numbers in use is kept, with a C corresponding array of pointers to the next part of C data to be written to each one. When the last write is C made to a file, these entries are reset to 0. C C If an error is encountered, an error message is printed. C C Externals. C ---------- C C None. C C Reference. C ---------- C C Cray CFT77 Manual. C C Comments. C --------- C C Maximum number of files which can be handled in one C program is 20 C C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 24:04:90. C C Modifications C -------------- C C J. Hennessy ECMWF 31:10:90. C Do not write empty last block, when flushing buffer. C C B. Raoult ECMWF 29:11:90 C Fix bug in zero-filling of short and last records. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C PARAMETER (JPBLOK=512) PARAMETER (JPFILS= 20) C DIMENSION KARRAY(KINLEN) DIMENSION IOBUFF(JPFILS*JPBLOK) DIMENSION ISTART(JPFILS) DIMENSION IFTNOS(JPFILS) C DATA ISTART /JPFILS*0/ DATA IFTNOS /JPFILS*0/ C SAVE IOBUFF SAVE ISTART SAVE IFTNOS C C ---------------------------------------------------------------- C C C C C C C C C C* Section 1 . Check parameters. Set initial values. C ---------------------------------------------------------------- C 1000 CONTINUE C C* Set print switch, if required. C IF (KRET.GE.100) C THEN KPR = 1 ELSE KPR = 0 ENDIF C C* Print input parameters, if required. C IF (KPR.EQ.1) C THEN WRITE (*,*) 'UNBKOUT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9904) KUNIT WRITE (*,9905) KINLEN WRITE (*,9907) KOUTLEN WRITE (*,9906) KRET WRITE (*,9908) KEOF ENDIF C C* Check input parameters. C IRET = 0 IF (KRET.GE.100) KRET = KRET - 100 C C* Invalid value given for return code. C IF (KRET.LT.0.OR.KRET.GT.1) C THEN IRET = 7 WRITE (*,9910) KRET GO TO 9000 ENDIF C C* Fortran unit numbers must be between 1 and 99 inclusive. C IF (KUNIT.LT.1.OR.KUNIT.GT.99) C THEN IRET = 7 WRITE (*,9911) KUNIT GO TO 9000 ENDIF C C* Retain last write indicator. C IF (KEOF.LT.0.OR.KEOF.GT.2) C THEN IRET = 7 WRITE (*,9916) KEOF GO TO 9000 ENDIF C IEOF = KEOF KEOF = 0 C C* Locate Fortran unit number in list of active numbers. C DO 1010 J1010=1,JPFILS IF (IFTNOS(J1010).EQ.KUNIT) C THEN IB = ISTART(J1010) IP = J1010 GO TO 1030 ENDIF 1010 CONTINUE C C* None found, so first time in. Set table entries. C DO 1020 J1020=1,JPFILS IF (IFTNOS(J1020).EQ.0) C THEN IB = 0 IP = J1020 IFTNOS(J1020) = KUNIT GO TO 1030 ENDIF 1020 CONTINUE C C* No table entry free. Maximum number of files exceeded. C IRET = 6 WRITE (*,9912) JPFILS GO TO 9000 C C* Set pointer to array holding last part of data not written. C 1030 CONTINUE C IPR = IP IP = (IP-1) * JPBLOK + 1 C C IOBUFF(IP) to IOBUFF(IP+B) are the remaining words after C last block written. C C* Flush output buffer only requested. C IF (IEOF.EQ.2) GO TO 3575 C C ---------------------------------------------------------------- C C C C C C C C C C* Section 2 . Get length of next record. C ---------------------------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) 'UNBKOUT : Section 2.' WRITE (*,9909) IPR , IP , IB ENDIF C C Get length of record. C IF (KOUTLEN.EQ.0) C THEN ILENW = KARRAY(1) ELSE ILENW = KOUTLEN ENDIF C C Ensure that user's array is large enough. C IF (KINLEN.LT.ILENW) C THEN IRET = 5 WRITE (*,9917) KINLEN , ILENW GO TO 9000 ENDIF C IF (KPR.EQ.1) WRITE (*,9902) ILENW C C ---------------------------------------------------------------- C C C C C C C C C C* Section 3 . Write complete blocks. C ---------------------------------------------------------------- C 3000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'UNBKOUT : Section 3.' C C If the record is 1 block or more in length write it to file. C Write partial last block into IOBUFF, preceding ones to file. C IF ((IB+ILENW).GE.JPBLOK) C THEN C C Copy enough words from user array to complete first block. C IF (IB.EQ.0) GO TO 3200 DO 3050 J3050 = 1,JPBLOK - IB IOBUFF(IP+J3050+IB-1) = KARRAY(J3050) 3050 CONTINUE C IC = IB IB = JPBLOK - IB C C Write first block. C BUFFER OUT (KUNIT,0) (IOBUFF(IP),IOBUFF(IP+JPBLOK-1)) IF (UNIT(KUNIT)) 3200,3700,3700 C 3200 CONTINUE C C Check if length to be written was exactly 1 block. C IF ((ILENW + IC).EQ.JPBLOK) C THEN INTER = 0 GO TO 3555 ENDIF C ILENR = ILENW - IB IDIFF = MOD (ILENR,JPBLOK) IF (IDIFF.NE.0) C THEN ILENR = ILENR - IDIFF ELSE ILENR = ILENR - JPBLOK ENDIF IE = IB + ILENR C C For a short record there may not be a full C second block. C IF (IE.EQ.IB) GO TO 3400 C C If remaining part of record to be written is a multiple C of the block size, write complete record. C IF ((ILENW-IE).EQ.JPBLOK) IE = IE + JPBLOK C BUFFER OUT (KUNIT,0) (KARRAY(IB+1),KARRAY(IE)) IF (UNIT(KUNIT)) 3400,3700,3700 C C Put end of field in IOBUFF. C 3400 CONTINUE C INTER = ILENW - IE DO 3500 J3500=1,INTER IOBUFF(IP+J3500-1) = KARRAY(IE+J3500) 3500 CONTINUE C ELSE C C Add short record to buffer. C DO 3550 J3550 = 1,ILENW IOBUFF(IP+J3550+IB-1) = KARRAY(J3550) 3550 CONTINUE INTER = IB + ILENW C ENDIF C 3555 CONTINUE C IB = INTER KOUTLEN = ILENW C C Fill unused part of buffer with zeroes. C DO 3560 J3560 = IB+1,JPBLOK IOBUFF(J3560+IP-1) = 0 3560 CONTINUE C C Write last part of last record if end of file. C Do not write empty last block, when flushing buffer. C 3575 CONTINUE C IF (IEOF.GT.0) C THEN IF (IB.EQ.0) GO TO 3600 DO 3580 J3580 = IB+1,JPBLOK IOBUFF(J3580+IP-1) = 0 3580 CONTINUE BUFFER OUT (KUNIT,0) (IOBUFF(IP),IOBUFF(IP+JPBLOK-1)) IF (UNIT(KUNIT)) 3600 , 3700 , 3700 ENDIF C 3600 CONTINUE C C Save pointer to start of next write area, unless last write. C IF (IEOF.GT.0) C THEN IFTNOS(IPR) = 0 ISTART(IPR) = 0 ELSE ISTART(IPR) = IB ENDIF C GO TO 9000 C 3700 CONTINUE C C* Write error, go to section 9. C IRET = 1 WRITE (*,9913) KUNIT C C ---------------------------------------------------------------- C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) 'UNBKOUT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9907) KOUTLEN WRITE (*,9908) KEOF WRITE (*,9906) IRET ENDIF C C IF (IRET.NE.0.AND.IRET.NE.2) C THEN WRITE (*,9903) IRET IF (KRET.EQ.0) CALL ABORT ENDIF C KRET = IRET C 9902 FORMAT (1H ,'UNBKOUT : Record length (words) = ',I8) C 9903 FORMAT (1H ,'UNBKOUT : Return code = ',I6) C 9904 FORMAT (1H ,9X,'KUNIT = ',I6) C 9905 FORMAT (1H ,9X,'KINLEN = ',I6) C 9906 FORMAT (1H ,9X,'KRET = ',I6) C 9907 FORMAT (1H ,9X,'KOUTLEN = ',I6) C 9908 FORMAT (1H ,9X,'KEOF = ',I6) C 9909 FORMAT (1H ,'IPR = ',I4,' IP = ',I8,' IB = ',I8) C 9910 FORMAT (1H ,'UNBKOUT : KRET on input is ',I4, C '. Valid values are 0,1,100 or 101.') 9911 FORMAT (1H ,'UNBKOUT : KUNIT on input is ',I4, C '. Valid values are 1 to 99.') 9912 FORMAT (1H ,'UNBKOUT : Maximum number of files (',I2, C ' exceeded.') 9913 FORMAT (1H ,'UNBKOUT : Error in writing file number ',I2) C 9916 FORMAT (1H ,'UNBKOUT : KEOF on input is ',I4, C '. Valid values are 0,1 or 2.') 9917 FORMAT (1H ,'UNBKOUT : Array length is ',I6,' words, but record', C ' length is ',I6,' words.') C RETURN C END emoslib-000392+dfsg.1/gribex/emesec2.F0000755000175000017500000002164612127406245020404 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION EMESEC2(KGRIB,KLENG,KNSPT,KSEC0,KSEC2,KBITS, X OQUASI) C C----> C**** EMESEC2 C C PURPOSE C _______ C C Encodes GRIB section 2 values for lat/long grid fields. C C INTERFACE C _________ C C IRET = EMESEC2(KGRIB,KLENG,KNSPT,KSEC0,KSEC2,KBITS,OQUASI) C C Input parameters C ________________ C C KGRIB - GRIB product built so far (upto octet 6). C KLENG - Length of KGRIB. C KNSPT - Bit position of GRIB product built so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C KBITS - Number of bits per element in KGRIB. C OQUASI - .TRUE. if gaussian grid is quasi-regular (reduced). C C C Output parameters C ________________ C C KGRIB - Updated GRIB product to end of section 2. C KNSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C /GRPRSCM/ for GRPRSM variable. C C Method C ______ C C Packs values given in KSEC2 into KGRIB and updates bit C pointer KNSPT. C C Externals C _________ C C CSGNBT - Set the sign bit. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J. Clochard, Meteo France, for ECMWF - October 2000. C (derived from ELLSEC2) C C MODIFICATIONS C _____________ C C J. Clochard, June 2008. C Use of GRPRSM instead of standard output in error/debug printouts. C Doctorize all dummy-arguments (K for integers, O for logicals). C Return-code set to 810 for errors on final padding. C Do not enforce Di/j increments to missing values when resolution C flag is off. C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C C Parameters C INTEGER JP16SET, JP24SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) PARAMETER ( JP24SET = 2**24 - 1 ) C ^---> 16777215 = FFFFFF(hex) C Function arguments C INTEGER KGRIB,KLENG,KNSPT,KSEC0,KSEC2,KBITS, JLOOP DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) LOGICAL OQUASI C C Global variables C #include "grprs.h" C C Local variables C INTEGER ILALO(2), IRET, IRESOL, IZERO SAVE IZERO DATA IZERO /0/ C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C EMESEC2 = 0 C C _______________________________________________________ C C Section 2. Pack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along a parallel. C Octets 9 - 10 : Nj - number of points along a meridian. C Two 16 bit fields. C C WARNING!! C For quasi-regular grids, it is here assumed that Ni is variable, C i.e. that the number of points along a parallel is variable but C that the number of points along a meridian is fixed. C C For quasi-regular grids Ni is set to all 1 bits, as C the number of points is different on different parallels. C C Set to all 1 bits. C IF( OQUASI ) KSEC2(2) = JP16SET C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC2(2),2,KBITS, 16,'C',IRET) IF( IRET.NE.0) THEN EMESEC2 = 1 WRITE(GRPRSM,*) 'EMESEC2: Error inserting number of pts' WRITE(GRPRSM,*) 'EMESEC2: along parallel or meridian.' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(4), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(5), 24, IRET) C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO,2,KBITS, 24,'C',IRET) IF( IRET.NE.0) THEN EMESEC2 = 1 WRITE(GRPRSM,*) 'EMESEC2: Error inserting' WRITE(GRPRSM,*) X 'EMESEC2: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C C Octet 17 : Resolution and components flag. C One 8 bit field. C IRESOL = KSEC2(6)+KSEC2(18)+KSEC2(19) C CALL INXBIT(KGRIB,KLENG,KNSPT,IRESOL,1,KBITS, 8,'C',IRET) IF( IRET.NE.0) THEN EMESEC2 = 1 WRITE(GRPRSM,*) 'EMESEC2: Error inserting' WRITE(GRPRSM,*) 'EMESEC2: components flag.' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 18 - 20 : La2 - latitude of last grid point. C Octets 21 - 23 : Lo2 - longitude of last grid point. C Two 24 bit fields. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(7), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(8), 24, IRET) C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO,2,KBITS, 24,'C',IRET) IF( IRET.NE.0) THEN EMESEC2 = 1 WRITE(GRPRSM,*) 'EMESEC2: Error inserting' WRITE(GRPRSM,*) 'EMESEC2: latitude/longitude of last grid point' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 24 - 26 : Latin - latitude(s) at which the Mercator C projection cylinder intersects the Earth. C One 24 bit field. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(9), 24, IRET) C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO,1,KBITS, 24,'C',IRET) IF( IRET.NE.0) THEN EMESEC2 = 1 WRITE(GRPRSM,*) 'EMESEC2: Error inserting' WRITE(GRPRSM,*) 'EMESEC2: latitude of intersection.' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C C Octet 27 : Reserved. Set to zero. C One 8 bit field. C Ce Set bits to 0. C CALL INXBIT(KGRIB,KLENG,KNSPT, IZERO, 1,KBITS, 8,'C',IRET) IF( IRET.NE.0) THEN EMESEC2 = 1 WRITE(GRPRSM,*) 'EMESEC2: Error inserting dummy zero.' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC2(11),1,KBITS, 8,'C',IRET) IF( IRET.NE.0) THEN EMESEC2 = 1 WRITE(GRPRSM,*) 'EMESEC2: Error inserting' WRITE(GRPRSM,*) 'EMESEC2: scanning mode flags.' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. C IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 31 : Di - i direction increment. C One 24 bit field. C C For quasi-regular grids all Di bits are set to 1, as C the increment is different on different parallels. C C If field not given, set to all bits to 1. C Ce Set to all 1 bits. IF( OQUASI) KSEC2(13) = JP24SET Ce Ce If increments not given, set all bits to 1. Ce IF( KSEC2(6).EQ.0) KSEC2(13) = JP24SET C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC2(13),1,KBITS, 24,'C',IRET) IF( IRET.NE.0) THEN EMESEC2 = 1 WRITE(GRPRSM,*) 'EMESEC2: Error inserting' WRITE(GRPRSM,*) 'EMESEC2: i direction increment.' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 32 - 34 : Dj - j direction increment. C One 24 bit field. C C If field not given, set to all bits to 1. C C IF( KSEC2(6).EQ.0) KSEC2(14) = JP24SET C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC2(14),1,KBITS, 24,'C',IRET) IF( IRET.NE.0) THEN EMESEC2 = 1 WRITE(GRPRSM,*) 'EMESEC2: Error inserting' WRITE(GRPRSM,*) 'EMESEC2: j direction increment.' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 35 - 42 : Reserved. C Eight 8 bit fields. C Ce Set bits to 0. C DO 221 JLOOP = 1, 8 C CALL INXBIT(KGRIB,KLENG,KNSPT, IZERO, 1,KBITS, 8,'C',IRET) IF( IRET.NE.0) THEN IRET = 810 EMESEC2 = IRET WRITE(GRPRSM,*) 'EMESEC2: Error inserting dummy zero.' WRITE(GRPRSM,*) 'EMESEC2: Return code = ', IRET GO TO 900 ENDIF C 221 CONTINUE C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/rowina2.F0000755000175000017500000001333712127406245020440 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ROWINA2( P, KO, KI, PW, KCODE, PMSVAL, KRET) C C----> C**** ROWINA2 - Interpolation of row of values. C C Purpose. C -------- C C Interpolate a row of values. C C C** Interface. C ---------- C C CALL ROWINA2( P, KO, KI, PW, KCODE, PMSVAL, KRET) C C C Input Parameters. C ----------------- C C P - Row of values to be interpolated. C Dimension must be at least KO. C C KO - Number of values required. C C KI - Number of values in P on input. C C PW - Working array. C Dimension must be at least (0:KO+2,3). C C KCODE - Interpolation required. C 1 , linear. C 3 , cubic. C C PMSVAL - Value used for missing data indicator. C C C Output Parameters. C ------------------ C C P - Now contains KO values. C KRET - Return code C 0, OK C Non-zero, error C C C Method. C ------- C C Linear or cubic interpolation performed as required. C C C Externals. C ---------- C C SCM0 C C C Reference. C ---------- C C None. C C C Comments. C --------- C C This is a version of ROWINA which allows for missing data C values and hence for bitmapped fields. C C C Author. C ------- C C J.D.Chambers ECMWF 22.07.94 C C C Modifications. C -------------- C C J.D.Chambers ECMWF 13.09.94 C Add return code KRET and remove calls to ABORT. C C C ----------------------------------------------------------------- C----< C C******************************************************************* C Section 0. Declarations. C******************************************************************* C IMPLICIT NONE C C Subroutine arguments REAL P, PW, PMSVAL INTEGER KO,KI,KCODE, KRET DIMENSION P(KO),PW(0:KO+2,3) C C Local variables INTEGER JL, IP REAL ZRDI, ZDO, ZPOS, ZWT, ZWT1 C C******************************************************************* C Section 1. Linear interpolation .. C******************************************************************* C 100 CONTINUE C KRET = 0 C IF( KCODE.EQ.1 ) THEN C C Move input values to work array DO 110 JL = 1, KI PW(JL,1) = P(JL) 110 CONTINUE C C Arrange wrap-around value in work array PW(KI+1,1) = P(1) C C Set up constants to be used to figure out weighting for C values in interpolation. ZRDI = FLOAT(KI) ZDO = 1.0 / FLOAT(KO) C C Loop through the output points DO 120 JL = 1, KO C C Calculate weight from the start of row ZPOS = (JL-1) * ZDO ZWT = ZPOS * ZRDI C C Get the current array position(minus 1) from the weight - C note the implicit truncation. IP = ZWT C C If the left value is missing, use the right value IF ( PW(IP+1,1) .EQ. PMSVAL ) THEN P(JL) = PW(IP+2,1) C C If the right value is missing, use the left value ELSE IF ( PW(IP+2,1) .EQ. PMSVAL ) THEN P(JL) = PW(IP+1,1) C C If neither missing, interpolate ... ELSE C C Adjust the weight to range (0.0 to 1.0) ZWT = ZWT - IP C C Interpolate using the weighted values on either side C of the output point position P(JL) = (1.0-ZWT) * PW(IP+1,1) + ZWT * PW(IP+2,1) ENDIF C 120 CONTINUE C C******************************************************************* C Section 2. Cubic interpolation .. C******************************************************************* C 200 CONTINUE C ELSEIF(KCODE.EQ.3) THEN DO 210 JL = 1,KI IF ( P(JL) .EQ. PMSVAL ) THEN WRITE(*,*) ' ROWINA2: Cubic interpolation not supported' WRITE(*,*) ' ROWINA2: for fields containing missing data.' WRITE(*,*) ' Sorry!' KRET = 1 GOTO 900 ENDIF PW(JL,1) = P(JL) 210 CONTINUE PW(0,1) = P(KI) PW(KI+1,1) = P(1) PW(KI+2,1) = P(2) DO 220 JL = 1,KI PW(JL,2) = - PW(JL-1,1)/3.0 - 0.5*PW(JL,1) 1 + PW(JL+1,1) - PW(JL+2,1)/6.0 PW(JL+1,3) = PW(JL-1,1)/6.0 - PW(JL,1) 1 + 0.5*PW(JL+1,1) + PW(JL+2,1)/3.0 220 CONTINUE CALL SCM0(PW(1,2),PW(2,3),PW(1,1),PW(2,1),KI) ZRDI = FLOAT(KI) ZDO = 1.0/FLOAT(KO) DO 230 JL = 1,KO ZPOS = (JL-1)*ZDO ZWT = ZPOS*ZRDI IP = ZWT+1 ZWT = ZWT+1.0-IP ZWT1 = 1.0 - ZWT P(JL) = ((3.0-2.0*ZWT1)*PW(IP,1) + ZWT*PW(IP,2))*ZWT1*ZWT1 1 + ((3.0-2.0*ZWT) *PW(IP+1,1) - ZWT1*PW(IP+1,3))*ZWT*ZWT 230 CONTINUE C ELSE C C******************************************************************* C Section 3. Invalid interpolation code .. C******************************************************************* C 300 CONTINUE C WRITE (*,9001) KCODE KRET = 2 ENDIF C C******************************************************************* C Section 9. Closedown. C******************************************************************* C 900 CONTINUE RETURN C 9001 FORMAT (1H ,'ROWINA2 : Invalid interpolation code = ',I4) C END emoslib-000392+dfsg.1/gribex/docsec2.F0000755000175000017500000000742712127406245020404 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DOCSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) C C----> C**** DOCSEC2P C C PURPOSE C _______ C C Decodes GRIB section 2 values for ECMWF ocean fields. C C INTERFACE C _________ C C IRET = DOCSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product unpacked so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product unpacked so far. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C C C Output parameters C ________________ C C KSEC2 - Updated GRIB section 2 description. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Unpacks values given in KGRIB into KSEC2 and updates bit C pointer INSPT. C #include "eocsec2.h" C C Externals C _________ C C DSGNBT - Get the sign bit and adjust value to +/-. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC2,IBITS DIMENSION KGRIB(*),KSEC2(*) C C Local variables C INTEGER IRET C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C DOCSEC2 = 0 C C _______________________________________________________ C C Section 2. Unpack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along a parallel. C Octets 9 - 10 : Nj - number of points along a meridian. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DOCSEC2 = 1 WRITE(GRPRSM,*) 'DOCSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'DOCSEC2: number of pts along first or second axis.' WRITE(GRPRSM,*) 'DOCSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 11 - 27 : Reserved. C C Move pointer past reserved octets. INSPT = INSPT + 8*17 C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DOCSEC2 = 1 WRITE(GRPRSM,*) 'DOCSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'DOCSEC2: scanning mode flags.' WRITE(GRPRSM,*) 'DOCSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 29 - 32 : Reserved. C C Move pointer past reserved octets. INSPT = INSPT + 8*4 C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/grbcom.h0000755000175000017500000000205212127406245020362 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C Common blocks holding default or user supplied values. C C C REALs C #ifdef REAL_8 REAL*8 FREF, FMAX #else REAL*4 FREF, FMAX #endif COMMON /GRBCOMR/ X FREF, FMAX C C INTEGERs C INTEGER NFREF, NFMAX, NRND, NDBG, NVCK, NONOFF, NOABORT INTEGER NUM2OK, NSUBCE, NEMOSLB, NEMOSET, N13FLAG,DUMPDATA COMMON /GRBCOMI/ X NFREF, NFMAX, NRND, NDBG, NVCK, NONOFF, NOABORT, NUM2OK X ,NSUBCE, NEMOSLB, NEMOSET, N13FLAG,DUMPDATA C INTEGER NEXT2O, NLOC2O COMMON /GRBCXT/ NEXT2O, NLOC2O C C CHARACTERs C CHARACTER*256 ELTPATH, ELBPATH,DUMPPATH COMMON /GRBELTP/ ELTPATH, ELBPATH,DUMPPATH emoslib-000392+dfsg.1/gribex/getind.F0000755000175000017500000001065212127406245020326 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETIND (KLND,KIND,KLEN,KARAY,KPR,KRET) C C----> C ---------------------------------------------------------------- C C**** C C PURPOSE. C -------- C C GET INTEGER DATA FROM RECORD OF UNPACKED GRIB C OR PSEUDO-GRIB DATA. C C** INTERFACE. C ---------- C C CALL GETIND (KLND,KIND,KLEN,KARAY,KPR,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C INPUT PARAMETERS. C ----------------- C C KIND - ARRAY TO RECEIVE INTEGER DATA. C KLEN - LENGTH OF THIS ARRAY. C KARAY - ARRAY CONTAINING UNPACKED RECORD. C KPR - DEBUG PRINT SWITCH. C 0 , NO PRINTOUT. C 1 , DEBUG PRINTOUT. C C KRET - ABORT/NO ABORT WHEN ERROR FOUND. C 0 , ABORT IF ERROR FOUND. C NON-ZERO , NO ABORT ON ERROR. C C OUTPUT PARAMETERS. C ------------------ C C KRET - ERROR RETURN CODE. C 0 , NO ERROR ENCOUNTERED. C 1 , TARGET ARRAY TOO SMALL. C KIND - INTEGER DATA. C KLND - NUMBER OF VALUES IN THIS ARRAY. C C METHOD. C ------- C C UNPACKED DATA IS IN SELF-DEFINING RECORDS. THE REQUIRED C VALUES ARE LOCATED AND EXTRACTED. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C SEE MARS FORMAT DOCUMENTATION RE GRIB, PSEUDO-GRIB AND C UNPACKED RECORD FORMATS. C C COMMENTS. C --------- C C PROGRAM CONTAINS SECTIONS 0 TO 2 AND SECTION 9. C C AUTHOR. C ------- C C J. HENNESSY ECMWF 18:06:86. C C MODIFICATIONS C -------------- C NONE. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ------------------------------------ C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C DIMENSION KARAY(*) DIMENSION KIND(KLEN) C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 1 . SET INITIAL VALUES. CHECK INPUT PARAMETERS. C ------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIND : SECTION 1.' C IRET = KRET KRET = 0 C C C* GO TO SECTION 9 , IF ERROR IN PARAMETERS. C IF (KRET.NE.0) GO TO 9000 C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 2 . LOCATE AND EXTRACT VALUES. C -------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIND : SECTION 2.' C ILB1 = KARAY(2) ILB2 = KARAY(2+ILB1+1) ILF2 = KARAY(2+ILB1+1+ILB2+1) ILB3 = KARAY(2+ILB1+1+ILB2+1+ILF2+1) ILCD = KARAY(2+ILB1+1+ILB2+1+ILF2+1+ILB3+1) ILFD = KARAY(2+ILB1+1+ILB2+1+ILF2+1+ILB3+1+ILCD+1) KLND = KARAY(2+ILB1+1+ILB2+1+ILF2+1+ILB3+1+ILCD+1+ILFD+1) C IF (KLEN.LT.KLND) C THEN KRET = 1 WRITE (*,9001) KRET , KLND GO TO 9000 ENDIF C DO 2010 J=1,KLND KIND(J) = KARAY(J+2+ILB1+1+ILB2+1+ILF2+1+ILB3+1+ILCD+1+ILFD+1) 2010 CONTINUE C C C ---------------------------------------------------------------- C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE OR ABORT. FORMAT STATEMENTS. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETIND : SECTION 9.' C IF (KRET.NE.0.AND.IRET.EQ.0) CALL ABORT C RETURN C C 9001 FORMAT (1H ,'GETIND : ERROR CODE = ',I3,'. TARGET ARRAY MUST ', C 'BE AT LEAST ',I5,' WORDS LONG.') C C C --------------------------------------------------------------- C C END C emoslib-000392+dfsg.1/gribex/inxmap.F0000755000175000017500000002660112127406245020351 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INXMAP (KGRIB,KLENG,KMAPT,PSEC4,KSIZE,KBITS,KSBMAP, C PMISS,HFUNC,KPR,KRET) C C----> C**** INXMAP - Bit map handling for routine GRIBEX. C C Purpose. C -------- C C 1) Extract a bit-map from an array of GRIB coded data and C insert missing data value in appropriate places in the C array of already decoded data values. C C 2) Generate a bit-map and insert in array of GRIB coded C data and remove missing data values from the array of C values being encoded in GRIB code. C C** Interface. C ---------- C C CALL INXMAP (KGRIB,KLENG,KMAPT,PSEC4,KSIZE,KBITS,KSBMAP, C C PMISS,HFUNC,KPR,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array of GRIB data being coded/decoded. C C KLENG - Length of this array. C C KMAPT - Bit-pointer to start of bit-map in C array KGRIB. C C PSEC4 - Array of data values decoded or to be C coded in GRIB. C C KSIZE - Size of bit-map ie number of values, C including missing data values, in array C PSEC4. C C KBITS - Number of bits in computer word. C C PMISS - Value indicating missing data in array C PSEC4. C C HFUNC - 'C' , GRIB data being coded. C 'M' , GRIB data being coded in fixed length C messages. C 'D' , GRIB data being decoded. C C KPR - Debug print switch. C 0 , No printout. C 1 , Debug printout. C C Output Parameters. C ------------------ C C KSBMAP - Bit-map flag. C Used only when decoding data. C -2 , All bits in the bit-map set to 1. C There is no missing data. C -4 , Some points have no data. User C supplied value for missing data C indicator in appropriate places in C the array PSEC4. C C KSIZE - When coding data, the number of real data C values in array PSEC4. Not changed when C decoding. C C KRET - Return code. C 0 , No error encountered. C 1 , Error in routine INXBIT. C 2 , Bit-map size exceeds maximum. C 3 , Invalid function requested. C C Method. C ------- C C The bit-map contains 1 where valid data exists and 0 C where data is missing. The corresponding data array C contains valid data and the missing data indicator value. C C Externals. C ---------- C C INXBIT C C Reference. C ---------- C C See routine GRIBEX. C C Comments. C --------- C C Routine contains Sections 0 to 4 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 09:09:91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08:11:91 C Parameter KMACH removed from list of input parameters. C Optional abort removed. C C940309 J.D.Chambers ECMWF 09:03:94 C940309 Maximum size for bitmap array increased to 132000 C940309 to allow for products 0.5 * 0.5 degrees, whole C940309 hemisphere (N or S). C C ------------------------------------------------------------------ C----< C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C IMPLICIT NONE C #include "grprs.h" C CHARACTER*(*) HFUNC CHARACTER*1 YFUNC C INTEGER IMAP INTEGER INEXT C INTEGER JPMAP C INTEGER J320 INTEGER J330 INTEGER J420 INTEGER J430 INTEGER J431 C INTEGER KBITS INTEGER KGRIB INTEGER KLENG INTEGER KMAPT INTEGER KPR INTEGER KRET INTEGER KSBMAP INTEGER KSIZE C REAL PMISS REAL PSEC4 C REAL ZSEC4 C C* Maximum size of bit-map which can be handled. C C940309 PARAMETER (JPMAP=41472) PARAMETER (JPMAP=132000) C DIMENSION IMAP(JPMAP) C DIMENSION PSEC4(*) DIMENSION ZSEC4(JPMAP) C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) C THEN WRITE(GRPRSM,*) 'INXMAP : Section 1.' WRITE(GRPRSM,*) ' Input values used -' WRITE(GRPRSM,9004) HFUNC WRITE(GRPRSM,9005) KSIZE ENDIF C C Reset return code to C KRET = 0 C INEXT = 0 C YFUNC = HFUNC C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 2 . Check input parameters. C ------------------------------------------------------------------ C 200 CONTINUE C IF (KPR.EQ.1) WRITE(GRPRSM,*) 'INXMAP : Section 2.' C C* Check that bit-map size does not exceed maximum permitted. C IF (JPMAP.LT.KSIZE) C THEN WRITE(GRPRSM,9001) KSIZE , JPMAP KRET = 2 GO TO 900 ENDIF C ------------------------------------------------------------------ C C C C C C C C C C C* Section 3 . Decoding of bit-map and data. C ------------------------------------------------------------------ C 300 CONTINUE C IF (KPR.EQ.1) WRITE(GRPRSM,*) 'INXMAP : Section 3.' C IF (YFUNC.EQ.'D') C THEN C C* Extract bit-map from GRIB coded data. C CALL INXBIT (KGRIB,KLENG,KMAPT,IMAP,KSIZE,KBITS,1, C YFUNC,KRET) C IF (KRET.NE.0) C THEN WRITE(GRPRSM,9003) KRET = 1 GO TO 900 ENDIF C C* Copy data to temporary array and insert missing data C indicator in temporary array, in accordance with the C bit map values. C DO 320 J320=1,KSIZE IF (IMAP(J320).EQ.0) C THEN ZSEC4(J320) = PMISS ELSE INEXT = INEXT + 1 ZSEC4(J320) = PSEC4(INEXT) ENDIF 320 CONTINUE C C* Set bit-map flag, and if missing data is indicated C transfer data to original array. C IF (INEXT.NE.KSIZE) C THEN KSBMAP = -4 DO 330 J330=1,KSIZE PSEC4(J330) = ZSEC4(J330) 330 CONTINUE ELSE KSBMAP = -2 ENDIF C GO TO 900 C ENDIF C C ------------------------------------------------------------------- C C C C C C C C C C C* Section 4 . Generation of bit-map. C ------------------------------------------------------------------- C 400 CONTINUE C IF (KPR.EQ.1) WRITE(GRPRSM,*) 'INXMAP : Section 4.' C IF (YFUNC.EQ.'C'.OR.YFUNC.EQ.'M') C THEN C C* Copy data to temporary array and remove missing data C indicator in temporary array, generating the bit-map C in accordance with the missing data values. C DO 420 J420=1,KSIZE IF (PSEC4(J420).EQ.PMISS) C THEN IMAP(J420) = 0 ELSE IMAP(J420) = 1 INEXT = INEXT + 1 ZSEC4(INEXT) = PSEC4(J420) ENDIF 420 CONTINUE C C* Insert bit-map in GRIB coded data. C CALL INXBIT (KGRIB,KLENG,KMAPT,IMAP,KSIZE,KBITS,1, C YFUNC,KRET) C IF (KRET.NE.0) C THEN WRITE(GRPRSM,9003) KRET = 1 GO TO 900 ENDIF C C* If missing data is indicated transfer data to original C array. C IF (INEXT.NE.KSIZE) C THEN DO 430 J430=1,INEXT PSEC4(J430) = ZSEC4(J430) 430 CONTINUE C IF (YFUNC.EQ.'M') C THEN C C Fixed length messages required, even though C a bit map is used. The otherwise unused part C of the array is set to a genuine data value C so that extraction of minimum and maximum C values remain correct. Number of data values C includes these padding values. C DO 431 J431=INEXT+1,KSIZE PSEC4(J431) = PSEC4(1) 431 CONTINUE ELSE C C Return number of real values (excluding C missing data values). C KSIZE = INEXT ENDIF ENDIF C GO TO 900 C ENDIF C C* Invalid function requested. C WRITE(GRPRSM,9002) YFUNC KRET = 3 C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE(GRPRSM,*) 'INXMAP : Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,9005) KSIZE WRITE(GRPRSM,9006) KSBMAP ENDIF C 9001 FORMAT (1H ,'INXMAP : Bit-map size is ',I6,', maximum allowed', C ' is ',I6,'.') C 9002 FORMAT (1H ,'INXMAP : Invalid function requested - ',A1) C 9003 FORMAT (1H ,'INXMAP : Error reported by routine INXBIT.') C 9004 FORMAT (1H ,' HFUNC = ',A1) C 9005 FORMAT (1H ,' KSIZE = ',I6) C 9006 FORMAT (1H ,' KSBMAP = ',I6) C RETURN C END emoslib-000392+dfsg.1/gribex/grprs4.F0000755000175000017500000001651612127406245020302 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRPRS4 (KSEC0,KSEC4,PSEC4) C C----> C**** GRPRS4 - Print information from Section 4 of GRIB code. C C Purpose. C -------- C C Print the information in the Binary data section C Section (Section 4) of decoded GRIB data. C C** Interface. C ---------- C C CALL GRPRS4 (KSEC0,KSEC4,PSEC4) C C C Input Parameters. C ----------------- C KSEC0 - Array of decoded integers from Section 0. C KSEC4 - Array of decoded integers from Section 4. C PSEC4 - Array of decoded reals from Section 4. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Fields printed as integers or reals. C C Externals. C ---------- C C SETPAR C INXBIT. C C Common block GRPRSCM. C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C See also routine GRIBEX. C C Comments. C --------- C C Checks environment variable GRPRS_STREAM for output stream number C for printing (default is 6) C C Author. C ------- C C J. Hennessy ECMWF 11.09.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 21.07.92 C C J.D.Chambers ECMWF 20.10.93 C Distinguish between real and integer values C in print of gridpoint values C C J.D.Chambers ECMWF 09.05.94 C Print complex packing information C C J.D.Chambers ECMWF 14.06.95 C Change format for printing missing data indicator to C allow for MAGICS value (-1.5E+21) C C J. Clochard, Meteo France, for ECMWF - January 1998. C Take into account second-order packing for grid-point data. C C J.D.Chambers ECMWF June 2002 C Add option to set output stream number using environment variable C GRPRS_STREAM C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C INTEGER KSEC0(*) INTEGER KSEC4(*) REAL PSEC4(*) C INTEGER INUM, J210, J212, IVALUE, IBIT, IDUM, INSPT, IRET C C -----------------------------------------------------------------| C* Section 1 . Print integer information from KSEC4. C -----------------------------------------------------------------| C 100 CONTINUE C WRITE(GRPRSM,9000) WRITE(GRPRSM,9001) WRITE(GRPRSM,9002) C WRITE(GRPRSM,9003) KSEC4(1) WRITE(GRPRSM,9004) KSEC4(2) WRITE(GRPRSM,9005) KSEC4(3) WRITE(GRPRSM,9006) KSEC4(4) WRITE(GRPRSM,9007) KSEC4(5) WRITE(GRPRSM,9008) KSEC4(6) WRITE(GRPRSM,9009) KSEC4(7) WRITE(GRPRSM,9010) KSEC4(8) WRITE(GRPRSM,9011) KSEC4(9) WRITE(GRPRSM,9012) KSEC4(10) C If complex packing .. IF ( KSEC4(4).EQ.64 ) THEN C IF ( KSEC4(3).EQ.128 ) THEN WRITE(GRPRSM,9116) KSEC4(16) WRITE(GRPRSM,9117) KSEC4(17) WRITE(GRPRSM,9118) KSEC4(18) WRITE(GRPRSM,9119) KSEC4(19) WRITE(GRPRSM,9120) KSEC4(20) ELSE WRITE(GRPRSM,9013) KSEC4(11) WRITE(GRPRSM,9014) KSEC4(12) WRITE(GRPRSM,9015) KSEC4(13) WRITE(GRPRSM,9016) KSEC4(14)+KSEC4(15) ENDIF C ENDIF C C Number of non-missing values C IF ( KSEC4(21).NE.0 ) WRITE(GRPRSM,9017) KSEC4(21) C C Information on matrix of values , if present. C IF (KSEC4(8).EQ.64) C THEN WRITE(GRPRSM,9020) KSEC4(50) WRITE(GRPRSM,9021) KSEC4(51) WRITE(GRPRSM,9022) KSEC4(52) WRITE(GRPRSM,9023) WRITE(GRPRSM,9024) KSEC4(53) WRITE(GRPRSM,9025) KSEC4(54) WRITE(GRPRSM,9023) WRITE(GRPRSM,9026) KSEC4(55) WRITE(GRPRSM,9027) KSEC4(56) WRITE(GRPRSM,9028) KSEC4(57) ENDIF C C -----------------------------------------------------------------| C* Section 2. Print values from PSEC4. C -----------------------------------------------------------------| C 200 CONTINUE C WRITE(GRPRSM,9000) C INUM = KSEC4(1) IF (INUM.LT.0) INUM = - INUM IF (INUM.GT.20) INUM = 20 C C Print first INUM values. C WRITE(GRPRSM,9031) INUM C IF ( KSEC4(5) .EQ. 0 ) THEN C C Print real values ... DO 210 J210=1,INUM WRITE(GRPRSM,9034) PSEC4(J210) 210 CONTINUE C ELSE C C Print integer values ... CALL SETPAR(IBIT,IDUM,IDUM) DO 212 J212=1,INUM INSPT = 0 CALL INXBIT(IVALUE,1,INSPT,PSEC4(J212),1,IBIT,IBIT,'C',IRET) WRITE(GRPRSM,9033) IVALUE 212 CONTINUE ENDIF C C -----------------------------------------------------------------| C* Section 9 . Format statements. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C 9000 FORMAT(' ') 9001 FORMAT(' Section 4 - Binary Data Section.') 9002 FORMAT(' -------------------------------------') 9003 FORMAT(' Number of data values coded/decoded. ',I9) 9004 FORMAT(' Number of bits per data value. ',I9) 9005 FORMAT(' Type of data (0=grid pt, 128=spectral).',I9) 9006 FORMAT(' Type of packing (0=simple, 64=complex). ',I9) 9007 FORMAT(' Type of data (0=float, 32=integer). ',I9) 9008 FORMAT(' Additional flags (0=none, 16=present). ',I9) 9009 FORMAT(' Reserved. ',I9) 9010 FORMAT(' Number of values (0=single, 64=matrix). ',I9) 9011 FORMAT(' Secondary bit-maps (0=none, 32=present). ',I9) 9012 FORMAT(' Values width (0=constant, 16=variable).',I9) 9013 FORMAT(' Bits number of 2nd order values (none=>0).',I9) 9014 FORMAT(' General extend. 2-order packing (0=no,8=yes).',I9) 9015 FORMAT(' Boustrophedonic ordering (0=no,4=yes).',I9) 9016 FORMAT(' Spatial differencing order (0=none).',I9) 9017 FORMAT(' Number of non-missing values ',I9) 9120 FORMAT(' Pentagonal resolution parameter M for subset.',I9) 9020 FORMAT(' First dimension (rows) of each matrix. ',I9) 9021 FORMAT(' Second dimension (columns) of each matrix. ',I9) 9022 FORMAT(' First dimension coordinate values definition.',I9) 9023 FORMAT(' (Code Table 12)') 9024 FORMAT(' NC1 - Number of coefficients for 1st dimension.',I7) 9025 FORMAT(' Second dimension coordinate values definition.',I8) 9026 FORMAT(' NC2 - Number of coefficients for 2nd dimension.',I7) 9027 FORMAT(' 1st dimension physical signifance (Table 13). ',I8) 9028 FORMAT(' 2nd dimension physical signifance (Table 13). ',I8) 9031 FORMAT(' First ',I4,' data values.') 9032 FORMAT(' ',F30.15) C C931020 9033 FORMAT(' ',I15) 9034 FORMAT(' ',G20.8) C C940509 9116 FORMAT(' Byte offset of start of packed data (N). ',I9) 9117 FORMAT(' Power (P * 1000). ',I9) 9118 FORMAT(' Pentagonal resolution parameter J for subset.',I9) 9119 FORMAT(' Pentagonal resolution parameter K for subset.',I9) RETURN C END emoslib-000392+dfsg.1/gribex/dsvsec2.F0000755000175000017500000001637512127406245020435 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DSVSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS,ILEN2) C C----> C**** DSVSEC2P C C PURPOSE C _______ C C Decodes GRIB section 2 values for space view fields. C C INTERFACE C _________ C C IRET = DSVSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product unpacked so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product unpacked so far. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C ILEN2 - Length in bytes of section 2 C C C Output parameters C ________________ C C KSEC2 - Updated GRIB section 2 description. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Unpacks values given in KGRIB into KSEC2 and updates bit C pointer INSPT. C C Externals C _________ C C DSGNBT - Get the sign bit and adjust value to +/-. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC2,IBITS,ILEN2 DIMENSION KGRIB(*),KSEC2(*) C C Local variables C INTEGER ILALO(2), IRET, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C DSVSEC2 = 0 C C _______________________________________________________ C C Section 2. Unpack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Nx - number of points along X-axis. C Octets 9 - 10 : Ny - number of points along Y-axis. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DSVSEC2 = 1 WRITE(GRPRSM,*) 'DSVSEC2: Error extracting' WRITE(GRPRSM,*) 'DSVSEC2: number of points along X or Y axis.' WRITE(GRPRSM,*) 'DSVSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 11 - 13 : Lap - latitude of sub-satellite point. C Octets 14 - 16 : Lop - longitude of sub-satellite point. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DSVSEC2 = 1 WRITE(GRPRSM,*) 'DSVSEC2: Error extracting' WRITE(GRPRSM,*) X 'DSVSEC2: latitude/longitude of sub-satellite pt.' WRITE(GRPRSM,*) 'DSVSEC2: Return code = ', IRET GO TO 900 ENDIF C C If sign bit is 1, value is negative. C CALL DSGNBT( KSEC2(4), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(5), ILALO(2), 24, IRET) C C Octet 17 : Resolution and components flag. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DSVSEC2 = 1 WRITE(GRPRSM,*) 'DSVSEC2: Error extracting' WRITE(GRPRSM,*) 'DSVSEC2: components flag.' WRITE(GRPRSM,*) 'DSVSEC2: Return code = ', IRET GO TO 900 ENDIF C C All flag fields are already set to 0, so C IF( IRESOL.EQ.0 ) GO TO 214 C C Resolution flag is not applicable. C IF( IRESOL.GE.128) IRESOL = IRESOL - 128 C C Set earth flag. C IF( IRESOL.GE.64) THEN KSEC2(18) = 64 IRESOL = IRESOL - 64 ENDIF C C Set components flag. C KSEC2(19) = IRESOL C 214 CONTINUE C C Octets 18 - 20 : dx Apparent diameter of earth in grid C lengths in x direction. C Octets 21 - 23 : dy Apparent diameter of earth in grid C lengths in y direction. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(7),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DSVSEC2 = 1 WRITE(GRPRSM,*) 'DSVSEC2: Error extracting' WRITE(GRPRSM,*) 'DSVSEC2: number of points along X or Y axis.' WRITE(GRPRSM,*) 'DSVSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 24 - 25 : Xp X-coordinate of sub-satellite point. C Octets 26 - 27 : Yp Y-coordinate of sub-satellite point. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),2,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DSVSEC2 = 1 WRITE(GRPRSM,*) 'DSVSEC2: Error extracting' WRITE(GRPRSM,*) X 'DSVSEC2: X or Y coordinate of sub-satellite point.' WRITE(GRPRSM,*) 'DSVSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DSVSEC2 = 1 WRITE(GRPRSM,*) 'DSVSEC2: Error extracting' WRITE(GRPRSM,*) 'DSVSEC2: scanning mode flags.' WRITE(GRPRSM,*) 'DSVSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 29 - 31 : The orientation of the grid. C Octets 32 - 34 : nr the altitude of the camera. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(13),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DSVSEC2 = 1 WRITE(GRPRSM,*) 'DSVSEC2: Error extracting' WRITE(GRPRSM,*) X 'DSVSEC2: orientation of the grid or camera angle.' WRITE(GRPRSM,*) 'DSVSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 35 - 36 : Xo - X coordinate of origin of sector C image. C Octets 37 - 38 : Yo - Y coordinate of origin of sector C image. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(15),2,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DSVSEC2 = 1 WRITE(GRPRSM,*) 'DSVSEC2: Error extracting' WRITE(GRPRSM,*) X 'DSVSEC2: X or Y coordinates of origin of sector.' WRITE(GRPRSM,*) 'DSVSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 39 - 40 : Reserved (ECMWF). C Octets 39 - 44 : Reserved (GRIB specification). C C Update bit pointer. C INSPT = INSPT + (ILEN2 - 38) * 8 C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/prtbl1.F0000755000175000017500000000500412127406245020253 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PRTBL1 (IB1PAR) C C----> C************************************************************** C* C* NAME : PRTBL1 C* C* FUNCTION : PRINT THE INFORMATION IN THE PRODUCT DEFINITION C* BLOCK (BLOCK 1) OF DECODED GRIB DATA. C* C* INPUT : IB1PAR - ARRAY OF DECODED PARAMETERS FROM BLOCK 1. C* C* JOHN HENNESSY ECMWF 28 MAY 1985 C* C* C************************************************************** C----< C DIMENSION IB1PAR(*) C WRITE (*,9000) 9000 FORMAT (1H0,'BLOCK 1 - PRODUCT DEFINITION BLOCK',/) C WRITE (*,9001) IB1PAR(1) 9001 FORMAT (1H0,'ORIGINATING CENTRE IDENTIFIER. ',I9) WRITE (*,9002) IB1PAR(2) 9002 FORMAT (1H ,'MODEL IDENTIFICATION. ',I9) WRITE (*,9003) IB1PAR(3) 9003 FORMAT (1H ,'GRID DEFINITION. ',I9) WRITE (*,9004) IB1PAR(4) 9004 FORMAT (1H ,'FLAG (CODE TABLE 1) ',I9) WRITE (*,9005) IB1PAR(5) 9005 FORMAT (1H ,'PARAMETER IDENTIFIER (CODE TABLE 2). ',I9) WRITE (*,9006) IB1PAR(6) 9006 FORMAT (1H ,'TYPE OF LEVEL (CODE TABLE 3). ',I9) WRITE (*,9007) IB1PAR(7) 9007 FORMAT (1H ,'VALUE 1 OF LEVEL (CODE TABLE 3). ',I9) WRITE (*,9008) IB1PAR(8) 9008 FORMAT (1H ,'VALUE 2 OF LEVEL (CODE TABLE 3). ',I9) WRITE (*,9009) IB1PAR(9) 9009 FORMAT (1H ,'YEAR OF DATA. ',I9) WRITE (*,9010) IB1PAR(10) 9010 FORMAT (1H ,'MONTH OF DATA. ',I9) WRITE (*,9011) IB1PAR(11) 9011 FORMAT (1H ,'DAY OF DATA. ',I9) WRITE (*,9012) IB1PAR(12) 9012 FORMAT (1H ,'HOUR OF DATA. ',I9) WRITE (*,9013) IB1PAR(13) 9013 FORMAT (1H ,'MINUTE OF DATA. ',I9) WRITE (*,9014) IB1PAR(14) 9014 FORMAT (1H ,'TIME UNIT (CODE TABLE 4). ',I9) WRITE (*,9015) IB1PAR(15) 9015 FORMAT (1H ,'TIME RANGE ONE. ',I9) WRITE (*,9016) IB1PAR(16) 9016 FORMAT (1H ,'TIME RANGE TWO. ',I9) WRITE (*,9017) IB1PAR(17) 9017 FORMAT (1H ,'TIME RANGE FLAG (CODE TABLE 5). ',I9) C RETURN C END emoslib-000392+dfsg.1/gribex/ecdef1.h0000755000175000017500000001205312127406245020242 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 1. C Ensemble forecast data. C ---------------------------------- C C C 38 Class : 1 = Operations C 2 = Research C C 39 Type : 1 = First Guess C 2 = Analysis C 3 = Initialised analysis C 4 = OI analysis C 5 = 3 D variational analysis C 6 = 4 D variational analysis C 7 = 3 D variational gradients C 8 = 4 D variational gradients C 9 = Forecast C 10 = Control forecast C 11 = Perturbed forecast C 12 = Errors in first guess C 13 = Errors in analysis C 14 = Cluster means C 15 = Cluster standard deviations. C 20 = Climatology C 30 = Observations C 31 = Quality control C 32 = Difference statistics C 40 = Image data C C 40 Stream : 1-1022 = Satellite data stream is the C satellite number as per BUFR C code table 0 01 007. C 50 = Meteosat 3 C 51 = Meteosat 4 C 52 = Meteosat 5 C 53 = Meteosat 6 C 201 = NOAA 9 C 250 = GOES 6 C 251 = GOES 7 C 1025 = Daily archive C 1035 = Ensemble forecasts C 1036 = Sensitivities C 1041 = TOGA C 1042 = Chernobyl C 1043 = Monthly means of daily archive C 1044 = Supplementary data C 1045 = Wave C 1046 = Ocean C 1047 = FGGE C 1050 = Bracknell (daily) C 1051 = Washington (daily) C 1052 = Offenbach (daily) C 1053 = Paris (daily) C 1054 = Tokyo (daily) C 1055 = Montreal (daily) C 1056 = Melbourne (daily) C 1060 = Test C 1070 = Monthly standard deviation and covariance C 1071 = Monthly means of daily means C 1080 = Wave monthly means of daily archive C 1081 = Wave EPS C 1090 = ECMWF ensemble seasonal forecasts C 2231 = Meteo France climate centre C 2232 = MPI climate centre C 2233 = UKMO climate centre C 2240 = ECMWF seasonal forecast C 2241 = Meteo France seasonal forecast C 2242 = EDF seasonal forecast C 2243 = UKMO seasonal forecast C C 41 Expver : Version number/experiment identifier. C ( 4 Ascii characters, right justified) C C 42 Number : Ensemble forecast number. C Control forecast is number 0, C perturbed forecasts 1-nn. C C Set to 0 if not ensemble forecast. C C 43 Total : Total number of forecasts in ensemble. C This number includes the control C forecast. C C Set to 0 if not ensemble forecast. C Set to 0 if seasonal (ocean) data C Set to 33 if ensemble mean/standard C deviation. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/valpina.c0000755000175000017500000001561412127406245020546 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include "fortint.h" #define CHARSIZE (long) (sizeof(char)*8) #define LEASTSIGBIT 0x01 long bitmapValue(unsigned char * , long ); long bitmapValueTotal(unsigned char * , long, long ); fortint valpina(unsigned char * , fortint *, fortint * ); fortint valpina_(unsigned char * , fortint *, fortint * ); long separationBetweenValues(unsigned char * , long , long ); fortint numvals(unsigned char *, fortint *, fortint *); fortint numvals_(unsigned char *, fortint *, fortint *); fortint onebits(unsigned char *, fortint *); fortint onebits_(unsigned char *, fortint *); fortint numvals_(unsigned char * grib, fortint* istart, fortint* ifinish) { /* // Returns a count of the number of 1s in a GRIB between positions // 'start' and 'finish'. // If start = 0, the static values in the function are initialised. */ long start = (long) (*istart); long finish = (long) (*ifinish); static long oldTotal; static long oldStart, oldFinish; unsigned char * bitmap = grib; static unsigned char * oldBitmap = 0; if( !start ) { oldBitmap = 0; oldTotal = 0; oldStart = oldFinish = 1; return (fortint) oldTotal; } if( oldBitmap != bitmap ) { oldBitmap = bitmap; oldStart = oldFinish = 1; oldTotal = 0; } if( start == finish ) { oldStart = oldFinish = finish; oldTotal = 0; return (fortint) oldTotal; } if( oldStart != start ) { oldTotal = bitmapValueTotal(bitmap, start+1, finish); } else { if( oldFinish < finish ) oldTotal += bitmapValueTotal(bitmap, oldFinish+1, finish); else if( oldFinish > finish ) oldTotal -= bitmapValueTotal(bitmap, finish+1, oldFinish); } oldStart = start; oldFinish = finish; return (fortint) oldTotal; } fortint numvals(unsigned char * grib, fortint* istart, fortint* ifinish) { return numvals_(grib,istart,ifinish); } fortint onebits_(unsigned char * grib, fortint* isection_3_offset) { /* // Returns a count of the number of 1s in a GRIB section 3 bitmap. */ long section_3_offset = (long) (*isection_3_offset); unsigned char * bitmap = grib + section_3_offset; long length, unused; long number_of_bits, total; length = (*bitmap)<<16 | (*(bitmap+1)<<8) | *(bitmap+2); unused = *(bitmap+3); number_of_bits = ((length-6)*CHARSIZE) - unused; total = bitmapValueTotal((bitmap+6),1,number_of_bits); return ( (fortint) total ); } fortint onebits(unsigned char * grib, fortint* isection_3_offset) { return onebits_(grib,isection_3_offset); } long bitmapValueTotal(unsigned char * bitmap, long start, long finish) { /* // Returns the count of 1 bits between start and finish in a bitmap. */ long total = 0; unsigned char * first, * last, * next; /* Lookup table to count number of 1s in a char */ static const char lookup[256] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4, 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, 4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8}; /* Masks to remove bits from left- and right-hand end of a char */ static const unsigned char bottomMask[8] = {0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01}; static const unsigned char topMask[8] = {0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80}; int bitsToAdd, bitsToSubtract; first = bitmap + (start-1)/CHARSIZE; last = bitmap + (finish-1)/CHARSIZE; bitsToAdd = (start-1)%CHARSIZE; total = lookup[(*first & bottomMask[bitsToAdd])]; for( next = (first+1); next < last ; next++ ) total += lookup[*next]; if( last > first ) total += lookup[*last]; bitsToSubtract = CHARSIZE - 1 - (finish-1)%CHARSIZE; total -= lookup[(*last & (~topMask[bitsToSubtract]))]; return total; } long bitmapValue(unsigned char * bitmap, long index) { /* // Returns the value (0,1) of the bit at position 'index' in a bitmap. */ unsigned char * next; int bitShift; next = bitmap + (index-1)/CHARSIZE; bitShift = CHARSIZE - 1 - ((index-1)%CHARSIZE); return (((*next) >> bitShift) & LEASTSIGBIT); } fortint valpina_(unsigned char * grib, fortint* ioffset, fortint* iindex) { /* // A GRIB product starts at 'grib' and contains missing/non-missing values // as described by a bitmap which is at position 'offset' in the GRIB. // // 'index' is the position of a point (missing/non-missing) in the field. // If index = 0, the static values in the function are initialised. // // Examines the bitmap and returns: // // - the actual index of a non-missing value // // - 0 for a missing value */ long offset = (long) (*ioffset); long index = (long) (*iindex); unsigned char * bitmap = (grib + offset); static unsigned char * oldBitmap; static long count = 0; static long oldIndex = 0; long value; if( !(index) ) { oldBitmap = 0; count = 0; oldIndex = 0; return (fortint) 0; } if( oldBitmap != bitmap ) { oldBitmap = bitmap; count = 0; oldIndex = 0; } value = bitmapValue(bitmap, index); if( value ) { if( (index) != oldIndex ) { count += separationBetweenValues(bitmap, oldIndex, index); oldIndex = index; } return (fortint) count; } else return (fortint) 0; } fortint valpina(unsigned char * grib, fortint* ioffset, fortint* iindex) { return valpina_(grib,ioffset,iindex); } long separationBetweenValues(unsigned char * bitmap,long oldIndex,long index) { /* // Counts the number of actual (non-missing) values between two locations // in the bitmap given by 'index' and 'oldIndex'. // // The returned count can be positive or negative depending on whether // index is after or before oldIndex. */ long start, finish, sign = 1, total = 0; if( index > oldIndex ) { start = oldIndex; finish = index; } else { start = index; finish = oldIndex; sign = -1; } total = bitmapValueTotal(bitmap, (start+1), finish); return (sign*total); } emoslib-000392+dfsg.1/gribex/fortint.h0000755000175000017500000000142412127406245020600 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef FORTINT_H #define FORTINT_H #ifdef INTEGER_IS_INT #define fortint int #define JPointer int * #else #if defined hpR64 || defined hpiaR64 #define fortint long long #define JPointer long long * #else #define fortint long #define JPointer long * #endif #endif #ifdef REAL_8 #define fortreal double #else #define fortreal float #endif #define fortdouble double #endif /* End of FORTINT_H */ emoslib-000392+dfsg.1/gribex/getsetValues.c0000755000175000017500000002201212127406245021555 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include "getsetValues.h" void copyNameLoc( unsigned char* copy, unsigned char* original, int copyLength, int originalLength) { int length; unsigned char *p; length = (originalLength>copyLength)?copyLength:originalLength; memcpy(copy,original,length); copy[length] = '\0'; p = copy + length - 1; while( *p == ' ' ) *(p--) = '\0'; return; } fortint GETINT( gribProduct** grib, unsigned char* request, long requestLength ) { int index; int listLength = sizeof(despatchInteger)/sizeof(despatchI); unsigned char Request[80]; copyNameLoc(Request,request,(int)sizeof(Request),(int)requestLength); index = binaryChopI(despatchInteger,listLength,Request); if( index < 0 ) return -999999; else { return despatchInteger[index].get(grib); } } fortint getIntegerValue( gribProduct** grib, unsigned char* request ){ return GETINT(grib,request,(long)strlen((char*)request)); } fortdouble GETREAL( gribProduct** grib, unsigned char* request, long requestLength ) { int index; int listLength = sizeof(despatchReal)/sizeof(despatchR); unsigned char Request[80]; copyNameLoc(Request,request,(int)sizeof(Request),(int)requestLength); index = binaryChopR(despatchReal,listLength,Request); if( index < 0 ) return -999999.0; else { return despatchReal[index].get(grib); } } fortdouble getRealValue( gribProduct** grib, unsigned char* request ) { return GETREAL(grib,request,(long)strlen((char*)request)); } fortint IGNWLAT(gribProduct** grib) { fortdouble value = RGNWLAT(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGNWLON(gribProduct** grib) { fortdouble value = RGNWLON(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGSELAT(gribProduct** grib) { fortdouble value = RGSELAT(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGSELON(gribProduct** grib) { fortdouble value = RGSELON(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGDI(gribProduct** grib) { fortdouble value = RGDI(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGDJ(gribProduct** grib) { fortdouble value = RGDJ(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGIP(gribProduct** grib) { fortdouble value = RGIP(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGLATRP(gribProduct** grib) { fortdouble value = RGLATRP(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGLONRP(gribProduct** grib) { fortdouble value = RGLONRP(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGROTAT(gribProduct** grib) { fortdouble value = RGROTAT(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGLATSP(gribProduct** grib) { fortdouble value = RGLATSP(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGLONSP(gribProduct** grib) { fortdouble value = RGLONSP(grib); if( value != -999999.0 ) return (fortint)(1000.0 * value); else return -999999; } fortint IGSFACT(gribProduct** grib) { fortdouble value = RGSFACT(grib); if( value != -999999.0 ) return (fortint)(1000000.0 * value); else return -999999; } fortint IGREFVL(gribProduct** grib) { return (fortint)(1000000.0 * RGREFVL(grib)); } fortint IGDSCAL(gribProduct** grib) { return (fortint)(1000000.0 * RGDSCAL(grib)); } fortdouble RGLNGTH(gribProduct** grib) { return (fortdouble) IGLNGTH(grib); } fortdouble RGTABLE(gribProduct** grib) { return (fortdouble) IGTABLE(grib); } fortdouble RGCENTR(gribProduct** grib) { return (fortdouble) IGCENTR(grib); } fortdouble RGPARAM(gribProduct** grib) { return (fortdouble) IGPARAM(grib); } fortdouble RGLEVEL(gribProduct** grib) { return (fortdouble) IGLEVEL(grib); } fortdouble RGLEVL1(gribProduct** grib) { return (fortdouble) IGLEVL1(grib); } fortdouble RGLEVL2(gribProduct** grib) { return (fortdouble) IGLEVL2(grib); } fortdouble RGDATE(gribProduct** grib) { return (fortdouble) IGDATE(grib); } fortdouble RGTIME(gribProduct** grib) { return (fortdouble) IGTIME(grib); } fortdouble RGSTEP(gribProduct** grib) { return (fortdouble) IGSTEP(grib); } fortdouble RGSTEP1(gribProduct ** grib) { return (fortdouble) IGSTEP1(grib); } fortdouble RGSTEP2(gribProduct ** grib) { return (fortdouble) IGSTEP2(grib); } fortdouble RGDEFIN(gribProduct** grib) { return (fortdouble) IGDEFIN(grib); } fortdouble RGCLASS(gribProduct** grib) { return (fortdouble) IGCLASS(grib); } fortdouble RGTYPE(gribProduct** grib) { return (fortdouble) IGTYPE(grib); } fortdouble RGSTREM(gribProduct** grib) { return (fortdouble) IGSTREM(grib); } fortdouble RGEXPVR(gribProduct** grib) { return (fortdouble) IGEXPVR(grib); } fortdouble RGNUMPV(gribProduct** grib) { return (fortdouble) IGNUMPV(grib); } fortdouble RGREPRS(gribProduct** grib) { return (fortdouble) IGREPRS(grib); } fortdouble RGNI(gribProduct** grib) { return (fortdouble) IGNI(grib); } fortdouble RGNJ(gribProduct** grib) { return (fortdouble) IGNJ(grib); } fortdouble RGRESCO(gribProduct** grib) { return (fortdouble) IGRESCO(grib); } fortdouble RGGAUSS(gribProduct** grib) { return (fortdouble) IGGAUSS(grib); } fortdouble RGSCANM(gribProduct** grib) { return (fortdouble) IGSCANM(grib); } fortdouble RGJ(gribProduct** grib) { return (fortdouble) IGJ(grib); } fortdouble RGK(gribProduct** grib) { return (fortdouble) IGK(grib); } fortdouble RGM(gribProduct** grib) { return (fortdouble) IGM(grib); } fortdouble RGREPMO(gribProduct** grib) { return (fortdouble) IGREPMO(grib); } fortdouble RGTJ(gribProduct** grib) { return (fortdouble) IGTJ(grib); } fortdouble RGTK(gribProduct** grib) { return (fortdouble) IGTK(grib); } fortdouble RGTM(gribProduct** grib) { return (fortdouble) IGTM(grib); } fortdouble RGBTSPV(gribProduct** grib) { return (fortdouble) IGBTSPV(grib); } fortdouble RGUNUSD(gribProduct** grib) { return (fortdouble) IGUNUSD(grib); } fortdouble RGNVALU(gribProduct** grib) { return (fortdouble) IGNVALU(grib); } int binaryChopI(despatchI * list, int listLength, unsigned char * test) { int current, oldCurrent = -1; int direction, startRange = 0, endRange = listLength; do { current = (startRange + endRange)/2; if( current == oldCurrent) break; direction = strcmp((char*)test,(char*)(*(list+current)).name); if( direction == 0 ) return current; if( direction < 0 ) endRange = current; else startRange = current; oldCurrent = current; } while( startRange <= endRange ); return -1; } int binaryChopR(despatchR * list, int listLength, unsigned char * test) { int current, oldCurrent = -1; int direction, startRange = 0, endRange = listLength; do { current = (startRange + endRange)/2; if( current == oldCurrent) break; direction = strcmp((char*)test,(char*)(*(list+current)).name); if( direction == 0 ) return current; if( direction < 0 ) endRange = current; else startRange = current; oldCurrent = current; } while( startRange <= endRange ); return -1; } fortint setIntegerValue( gribProduct** grib, unsigned char* request, fortint * value ) { return SETINT(grib,request,value,(long)strlen((char*)request)); } fortint SETINT( gribProduct** grib, unsigned char* request, fortint * value, long requestLength ) { int index; int listLength = sizeof(despatchInteger)/sizeof(despatchI); unsigned char Request[80]; copyNameLoc(Request,request,(int)sizeof(Request),(int)requestLength); index = binaryChopI(despatchInteger,listLength,Request); if( index < 0 ) return -999999; else { despatchInteger[index].set(grib,value); return 0; } } fortint setRealValue( gribProduct** grib, unsigned char* request, fortdouble * value ) { return SETREAL(grib,request,value,strlen((char*)request)); } fortint SETREAL( gribProduct** grib, unsigned char* request, fortdouble * value, long requestLength ) { int index; int listLength = sizeof(despatchReal)/sizeof(despatchR); unsigned char Request[80]; copyNameLoc(Request,request,(int)sizeof(Request),(int)requestLength); index = binaryChopR(despatchReal,listLength,Request); if( index < 0 ) return -999999.0; else { despatchReal[index].set(grib,value); return 0; } } emoslib-000392+dfsg.1/gribex/exscal.F0000755000175000017500000000671112127406245020334 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE EXSCAL (PDATA,KDATA,KLEN,PREF,PSCALE,LALLPOS) C C----> C**** EXSCAL - Vectorise calculation of values. C C Purpose. C -------- C C Vectorise calculation of values. C C** Interface. C ---------- C C CALL EXSCAL (PDATA,KDATA,KLEN,PREF,PSCALE,LALLPOS) C C C Input Parameters. C ----------------- C C KDATA - Array of integer increments C KLEN - Number of values to be converted. C PREF - Reference value. C PSCALE - Scale factor. C LALLPOS - .TRUE. if all packed value occupies full (integer) C word, eg 32 bits on a 32-bit integer machine. C C Output Parameters. C ----------------- C C PDATA - Array of floating point values. C C Method. C ------- C C The reference value is added to each increment, C and the result is then multiplied by the scale factor. C C Externals. C ---------- C C None. C C Reference. C ---------- C C WMO Manual on Codes re GRIB representation. C C Comments. C -------- C C PDATA and KDATA are really the same array. This routine C is just a device to force vectorisation on the Cray, C without the necessity of using another array. C C C Author. C ------- C C J. Hennessy ECMWF 25.06.91 C C C Modifications. C _____________ C C J.D.Chambers ECMWF 06.09.95 C Reverse processing in loop to run from last to first in C case reals are larger than integers. C C J.D.Chambers ECMWF 16.05.96 C Handle case when packed value occupies full word. C C----< C ----------------------------------------------------------------- C Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C C Subroutine arguments INTEGER KDATA INTEGER KLEN INTEGER LOOP REAL PDATA REAL PREF REAL PSCALE LOGICAL LALLPOS DIMENSION PDATA(KLEN) DIMENSION KDATA(KLEN) C REAL*8 BIG, RTEMP DATA BIG /4294967296.0/ C C ----------------------------------------------------------------- C* Section 1 . Calculation of values. C ----------------------------------------------------------------- C 100 CONTINUE #ifdef CRAY C DO 110 LOOP = KLEN, 1, -1 PDATA(LOOP) = PREF + KDATA(LOOP)*PSCALE 110 CONTINUE #else C IF( .NOT. LALLPOS ) THEN DO 110 LOOP = KLEN, 1, -1 PDATA(LOOP) = PREF + KDATA(LOOP)*PSCALE 110 CONTINUE C C Packed values use all bits in integer word, ie sign bit is C really a data bit. ELSE DO 120 LOOP = KLEN, 1, -1 IF( KDATA(LOOP) .GE. 0 ) THEN PDATA(LOOP) = PREF + KDATA(LOOP)*PSCALE ELSE RTEMP = BIG + DBLE(KDATA(LOOP)) PDATA(LOOP) = PREF + RTEMP*PSCALE ENDIF 120 CONTINUE ENDIF #endif C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/scm0.F0000755000175000017500000000334412127406245017716 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SCM0 (PDL,PDR,PFL,PFR,KLG) C C----> C**** SCM0 - Apply SCM0 limiter to derivative estimates. C C M. HORTAL ECMWF February 1991 closely following D. WILLIAMSON C C Apply SCM0 limiter to derivative estimates. C C output: C pdl = the limited derivative at the left edge of the interval C pdr = the limited derivative at the right edge of the interval C C inputs C pdl = the original derivative at the left edge C pdr = the original derivative at the right edge C pfl = function value at the left edge of the interval C pfr = function value at the right edge of the interval C klg = number of intervals where the derivatives are limited C C----< INTEGER KLG C REAL PDL(KLG), PDR(KLG), PFL(KLG), PFR(KLG) C INTEGER JL C REAL ZALPHA, ZBETA, ZEPS, ZFAC C 100 CONTINUE C C define constants C ZEPS=1.E-12 ZFAC=3.*(1.-ZEPS) C DO 200 JL=1,KLG IF(ABS(PFR(JL)-PFL(JL)).GT.ZEPS) THEN ZALPHA=PDL(JL)/(PFR(JL)-PFL(JL)) ZBETA =PDR(JL)/(PFR(JL)-PFL(JL)) IF(ZALPHA.LE.0.) PDL(JL)=0. IF(ZBETA .LE.0.) PDR(JL)=0. IF(ZALPHA.GT.ZFAC) PDL(JL)=ZFAC*(PFR(JL)-PFL(JL)) IF(ZBETA .GT.ZFAC) PDR(JL)=ZFAC*(PFR(JL)-PFL(JL)) ELSE PDL(JL)=0. PDR(JL)=0. ENDIF 200 CONTINUE END emoslib-000392+dfsg.1/gribex/gdecode1.h0000755000175000017500000000150612127406245020567 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef GDECODE1_H #define GDECODE1_H #ifdef FORTRAN_NO_UNDERSCORE #define IG1NUMB ig1numb #define RG1NUMB rg1numb #define IG1TOTL ig1totl #define RG1TOTL rg1totl #else #define IG1NUMB ig1numb_ #define RG1NUMB rg1numb_ #define IG1TOTL ig1totl_ #define RG1TOTL rg1totl_ #endif fortint IG1NUMB(gribProduct **); fortdouble RG1NUMB(gribProduct **); fortint IG1TOTL(gribProduct **); fortdouble RG1TOTL(gribProduct **); #endif /* end of GDECODE1_H */ emoslib-000392+dfsg.1/gribex/calcop.F0000755000175000017500000001753612127406245020325 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION CALCOP( PSPEC, KTRUNC, KSUBSP) C C----> C**** *CALCOP* - linear fit of spectrum to (n*(n+1))**P C C Purpose. C -------- C C GRIB allows for "complex packing" of spectral coeficients. C This means that a sub-spectrum is not packed and, for the rest, C a multiplying factor is applied before packing. The factor is C (n*(n+1))**p, where n is the total wave-number. C C This routine returns an optimal P based on the field itself. C C C** Interface. C ---------- C C IP = CALCOP( PSPEC, KTRUNC, KSUBSP) C C C Input arguments. C ---------------- C C PSPEC - spectral field C KTRUNC - spectral truncation of field C KSUBSP - truncation of "non-packed" sub-spectrum C C C Output arguments. C ----------------- C C The function return value is the integer value of P*1000. C The value is constrained to be in the range (-10000, +10000). C C C Method. C ------- C C Consider F(n,m) = (n*(n+1))**(-P) * G(n,m), where F(n,m) is the C original spectral field and n the total wavenumber. The aim C is to minimize G in a 1 norm with respect to P. This can only C partially be achieved. C C What we do is to to compute H(n), where C H(n) = max(F(n,m)) with respect to m. C C We then perform a least square fit for the equation C log(H(n)) = beta0+beta1*log(n*(n+1)). C C To ensure a better fit for the lower end of the spectrum, we C apply an (arbitrary) weighting function before fitting C W(n) = 1.0 / (n-KSUBSP+1) C C C Externals. C ---------- C C None. C C C Reference. C ---------- C C Seber, G.A.F. (1979). Linear Regression Analyses. C John Wiley and Sons C C ECMWF Research Department documentation of the IFS C C C Author. C ------- C C Mats Hamrud ECMWF 5th May 1994 C C C Modifications. C -------------- C C John Chambers ECMWF 6th Sept 1994 C Add original field truncation as a parameter. C Use GRIB ordering of spherical harmonic coefficients in input. C C John Chambers ECMWF 21st Nov 1994 C Use double precision intrinsics on VAX C C Lubia Vinhas ECMWF 9th Oct 1996 C Intrinsic function MAX in ALPHA platform needs C C----< C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters INTEGER JPTMAX PARAMETER ( JPTMAX = 2047 ) C C JPTMAX is current maximum truncation value for input field C C Subroutine arguments REAL PSPEC DIMENSION PSPEC(*) INTEGER KTRUNC, KSUBSP C C Local arguments INTEGER ISMIN, ISMAX, INDEX, JN, JM #ifdef CRAY REAL ZEPS, ZZ, ZXMW, ZYMW, ZWSUM, ZX, ZY, ZSUM1, ZSUM2 REAL ZP REAL ZBETA1 REAL ZW(0:(JPTMAX+1)), ZNORM(0:(JPTMAX+1)) #else DOUBLE PRECISION ZEPS, ZZ, ZXMW, ZYMW, ZWSUM, ZX, ZY, ZSUM1, ZSUM2 DOUBLE PRECISION ZP DOUBLE PRECISION ZBETA1 DOUBLE PRECISION ZW(0:(JPTMAX+1)), ZNORM(0:(JPTMAX+1)) #endif C C ------------------------------------------------------------------ C* Section 1. Do initial setup and calulate the (arbitrary) weights. C ------------------------------------------------------------------ C 100 CONTINUE C C Check internal arrays can handle the truncation C IF( KTRUNC.GT.JPTMAX ) THEN WRITE(GRPRSM,*) X 'CALCOP: Cannot use the given truncation ', KTRUNC WRITE(GRPRSM,*) 'CALCOP: Maximum handled is ', JPTMAX CALCOP = -99999 RETURN ENDIF C ISMIN = KSUBSP+1 ISMAX = KTRUNC+1 ZEPS = 1.0E-15 C C Set up the weights. #ifdef IBM ZZ = DBLE(ISMAX-ISMIN+1) #else ZZ = REAL(ISMAX-ISMIN+1) #endif DO 110 JN = ISMIN, ISMAX #ifdef IBM ZW(JN) = ZZ / DBLE(JN-ISMIN+1) #else ZW(JN) = ZZ / REAL(JN-ISMIN+1) #endif 110 CONTINUE C C ------------------------------------------------------------------ C* Section 2. Compute norms. C ------------------------------------------------------------------ C 200 CONTINUE C C Initialise array to zero. DO 210 JN = ISMIN, ISMAX ZNORM(JN) = 0.0 210 CONTINUE C C Form norms. C Handle values 2 at a time (real and imaginary parts) C C First the rows affected by the subset INDEX = -1 DO 230 JM = 0 , KSUBSP-1 DO 220 JN = JM , KTRUNC INDEX = INDEX + 2 IF ( JN .GE. KSUBSP ) THEN #if defined (VAX) || defined (IBM) || defined (__alpha) || defined hpR64 || defined hpiaR64 ZNORM(JN) = MAX(ZNORM(JN), DBLE(ABS(PSPEC(INDEX)))) ZNORM(JN) = MAX(ZNORM(JN), DBLE(ABS(PSPEC(INDEX+1)))) #else ZNORM(JN) = MAX(ZNORM(JN), ABS(PSPEC(INDEX))) ZNORM(JN) = MAX(ZNORM(JN), ABS(PSPEC(INDEX+1))) #endif ENDIF 220 CONTINUE 230 CONTINUE C C Next the rows not affected by the subset DO 250 JM = KSUBSP , KTRUNC DO 240 JN = JM , KTRUNC INDEX = INDEX + 2 #if defined (VAX) || defined (IBM) || defined (__alpha) || defined hpR64 || defined hpiaR64 ZNORM(JN) = DMAX1(ZNORM(JN), DBLE(ABS(PSPEC(INDEX)))) ZNORM(JN) = DMAX1(ZNORM(JN), DBLE(ABS(PSPEC(INDEX+1)))) #else ZNORM(JN) = MAX(ZNORM(JN), ABS(PSPEC(INDEX))) ZNORM(JN) = MAX(ZNORM(JN), ABS(PSPEC(INDEX+1))) #endif 240 CONTINUE 250 CONTINUE C C Ensure the norms have a value which is not too small in case of C problems with math functions (e.g. LOG). C DO 290 JN = ISMIN, ISMAX #if defined (VAX) || defined (IBM) || defined hpR64 || defined hpiaR64 ZNORM(JN) = DMAX1(ZNORM(JN), ZEPS) #else ZNORM(JN) = MAX(ZNORM(JN), ZEPS) #endif IF(ZNORM(JN).EQ.ZEPS) ZW(JN) = 100.*ZEPS 290 CONTINUE C C ------------------------------------------------------------------ C* Section 3. Do linear fit to find the slope (ZBETA1). C ------------------------------------------------------------------ C 300 CONTINUE C ZXMW = 0.0 ZYMW = 0.0 ZWSUM = 0.0 C C Sum the weighted X and Ys. DO 310 JN = ISMIN, ISMAX #ifdef IBM ZX = LOG(DBLE(JN*(JN+1))) #else ZX = LOG(REAL(JN*(JN+1))) #endif ZY = LOG(ZNORM(JN)) ZXMW = ZXMW+ZX*ZW(JN) ZYMW = ZYMW+ZY*ZW(JN) ZWSUM = ZWSUM+ZW(JN) 310 CONTINUE C C Form mean weighted X and Y. ZXMW = ZXMW / ZWSUM ZYMW = ZYMW / ZWSUM ZSUM1 = 0.0 ZSUM2 = 0.0 C C Perform a least square fit for the equation DO 320 JN = ISMIN, ISMAX #ifdef IBM ZX = LOG(DBLE(JN*(JN+1))) #else ZX = LOG(REAL(JN*(JN+1))) #endif ZY = LOG(ZNORM(JN)) ZSUM1 = ZSUM1+ZW(JN)*(ZY-ZYMW)*(ZX-ZXMW) ZSUM2 = ZSUM2+ZW(JN)*(ZX-ZXMW)**2 320 CONTINUE C C Calculate the slope. ZBETA1 = ZSUM1 / ZSUM2 C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C 900 CONTINUE C ZP = -ZBETA1 #ifdef CRAY ZP = MAX(-9.999, MIN(9.999, ZP)) #endif #if defined (VAX) || defined (IBM) || defined hpR64 || defined hpiaR64 ZP = DMAX1(-9.999D0, DMIN1(9.999D0, ZP)) #endif #if !defined(VAX) && !defined(CRAY) && !defined(IBM) ZP = MAX(-9.999D0, MIN(9.999D0, ZP)) #endif C #ifdef IBM CALCOP = IDINT( ZP * 1000.0 ) #else CALCOP = INT( ZP * 1000.0 ) #endif C RETURN END emoslib-000392+dfsg.1/gribex/decogr.F0000755000175000017500000004531312127406245020321 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DECOGR (FPDATA,ILENF,IBITS,NBIT,IB1PAR, C IB2PAR,FVERT,ILENV,IGRIB,ILENG,IWORD, C JLENV,JLENF,IERR) C C C----> C* C* NAME : DECOGR C* C* FUNCTION : DECODE WMO GRIB CODED DATA. C* C* INPUT : NBIT - NUMBER OF BITS IN COMPUTER WORD C* C* IGRIB - INTEGER ARRAY CONTAINING DATA IN GRIB CODE. C* ILENG - LENGTH OF ARRAY IGRIB. C* C* FVERT - REAL ARRAY TO RECEIVE VERTICAL COORDINATE C* PARAMETERS. C* ILENV - LENGTH OF ARRAY FVERT. C* C* FPDATA - REAL ARRAY TO RECEIVE DECODED DATA VALUES. C* ILENF - LENGTH OF ARRAY FPDATA C* C* IB1PAR - INTEGER ARRAY (DIMENSION 17) TO RECEIVE C* PRODUCT DEFINITION INFORMATION. C* C* IB2PAR - INTEGER ARRAY (DIMENSION 11) TO RECEIVE GRID C* DEFINITION INFORMATION. C* C* OUTPUT : PARAMETERS FROM BLOCK 1 , PRODUCT DEFINITION BLOCK. C* -------------------------------------------------- C* IB1PAR - INTEGER ARRAY (DIMENSION 17) OF PRODUCT C* DEFINITION INFORMATION. C* C* WORD CONTENTS C* ---- -------- C* 1 ORIGINATING CENTRE IDENTIFIER. C* 2 MODEL IDENTIFICATION. C* 3 GRID DEFINITION. C* 4 FLAG ( CODE TABLE 1) C* 5 PARAMETER IDENTIFIER ( CODE TABLE 2 ). C* 6 TYPE OF LEVEL (CODE TABLE 3). C* 7-8 VALUE(S) OF LEVELS (CODE TABLE 3). C* 9 YEAR OF DATA C* 10 MONTH OF DATA C* 11 DAY OF DATA C* 12 HOUR OF DATA C* 13 MINUTE OF DATA C* 14 TIME UNIT (CODE TABLE 4). C* 15 TIME RANGE ONE C* 16 TIME RANGE TWO C* 17 TIME RANGE FLAG (CODE TABLE 5). C* C* VALUE(S) OF LEVEL CAN OCCUPY 2 WORDS.. C* FOR A LAYER THE FIRST WORD DEFINES THE TOP C* AND THE SECOND THE BOTTOM OF THE LAYER. C* FOR A SINGLE LEVEL, ONLY THE FIRST WORD IS C* USED. C* C* PARAMETERS FROM BLOCK 2 , GRID DEFINITION BLOCK. C* ----------------------------------------------- C* IB2PAR - INTEGER ARRAY (DIMENSION 11) CONTAINING GRID C* DEFINITION INFORMATION. C* USE VARIES WITH DATA REPRESENTATION TYPE. C* C* WORD LAT/LONG GRID C* ---- ------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6). C* 2 NO. OF POINTS ALONG A LATITUDE C* 3 NO. OF POINTS ALONG A MERIDIAN. C* 4 LATITUDE OF ORIGIN (SOUTH - IVE). C* 5 LONGITUDE OF ORIGIN (WEST - IVE). C* 6 EXTREME POINT/INCREMENTS FLAG.(CODE TABLE 7) C* 7 LATITUDE OF EXTREME POINT (SOUTH - IVE). C* 8 LONGITUDE OF EXTREME POINT (WEST - IVE). C* 9 LATITUDE INCREMENT C* 10 LONGITUDE INCREMENT C* 11 SCANNING MODE (CODE TABLE 8) C* C* WORD GAUSSIAN GRID C* ---- ------------- C* 1-9 AS FOR LAT/LONGITUDE GRID. C* 10 THE NUMBER OF LATITUDE LINES BETWEEN A POLE C* AND THE EQUATOR. C* 11 SCANNING MODE (CODE TABLE 8) C* C* WORD SPHERICAL HARMONICS C* ---- ------------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6) C* 2 J - PENTAGONAL RESOLUTION PARAMETER C* 3 K - PENTAGONAL RESOLUTION PARAMETER C* 4 M - PENTAGONAL RESOLUTION PARAMETER C* 5 REPRESENTATION TYPE (CODE TABLE 9) C* 6 REPRESENTATION MODE (CODE TABLE 10) C* 7-11 NOT USED C* C* C* USE FOR OTHER DATA REPRESENTATION TYPES IS C* C* FVERT - REAL ARRAY OF VERTICAL COORDINATE PARAMETERS C* JLENV - NUMBER OF VALUES IN THIS ARRAY. C* C* USED FOR HYBRID LEVELS ONLY. C* C* PARAMETERS FROM BLOCK 3 , BIT-MAP DEFINITION BLOCK. C* -------------------------------------------------- C* C* TO BE DEFINED LATER. C* C* PARAMETERS FROM BLOCK 4 , BINARY DATA BLOCK. C* ------------------------------------------- C* FPDATA - ARRAY OF FLOATING POINT VALUES. C* JLENF - NUMBER OF VALUES IN THIS ARRAY. C* JLENF IS NEGATIVE IF MISSING DATA CODED C* C* IBITS - NUMBER OF BITS FOR CODED DATA VALUES. C* C* IERR - ERROR INDICATOR. C* C* 0, NO ERROR. C* C* -1, NUMBER OF BITS PER DATA VALUE EXCEEDS C* WORD LENGTH, OR MAXIMUM ALLOWED. C* -2, INPUT ARRAY HOLDS FEWER CODED VALUES C* THAN EXPECTED. C* -3, OUTPUT ARRAY TOO SMALL TO HOLD DECODED C* DATA VALUES. C* -4, CURRENTLY UNDEFINED OPTION SELECTED. C* C* 1, NO BLOCK 5 FOUND. C* C* JOHN HENNESSY , ECMWF , 15TH APRIL 1985 C* C* C --------------------------------------------------------------- C----< C C C C C C C C C DIMENSION FPDATA(ILENF),FVERT(ILENV) DIMENSION IBLOCK(24),IGRIB(ILENG) DIMENSION IB1PAR(17),IB2PAR(11),ILAT(2) C EQUIVALENCE (ZGRIB,JGRIB) C C SET MAXIMUM NUMBER OF BITS PER DATA FIELD. C DATA IMAX /60/ C IERR = 0 C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 1 - PRODUCT DEFINITION BLOCK. C* C******************************************************************** C C C EXTRACT OCTETS OF BLOCK 1. C IWORD = 1 IOFF = 0 IBYTE = 8 NVAL = 24 C CALL GBYTES (IGRIB(1),IBLOCK(1),0,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C TRANSFER PRODUCT DEFINITION INFORMATION TO OUTPUT ARRAY. C DO 100 I=1,17 IB1PAR(I) = IBLOCK(I+4) 100 CONTINUE C C C C C C*** C* DESCRIPTION OF LEVEL OR LAYER ( CODE TABLE 3 ). C*** C C CERTAIN LEVEL TYPES REQUIRE THAT THE DESCRIPTION OCCUPY C BOTH 8 BIT FIELDS. PUT SINGLE VALUE IN FIRST LEVEL WORD. C IF (IB1PAR(6).EQ.100.OR.IB1PAR(6).EQ.103.OR.IB1PAR(6).EQ.105. C OR.IB1PAR(6).EQ.107.OR.IB1PAR(6).EQ.109) C THEN IB1PAR(7) = IB1PAR(7) * 32 + IB1PAR(8) IB1PAR(8) = 0 ENDIF C C C C C C C C C C*** C* TIME RANGE. C*** C C ONE TIME RANGE CAN OCCUPY TWO OCTETS. C IF (IB1PAR(17).EQ.10) C THEN IB1PAR(15) = IB1PAR(15) * 32 + IB1PAR(16) IB1PAR(16) = 0 ENDIF C C*** C* RESERVED ELEMENTS. C*** C C C C C C******************************************************************** C* C* BLOCK 2 - GRID DESCRIPTION BLOCK. C* C******************************************************************** C C*** C* CHECK IF BLOCK 2 IS INCLUDED IN CODE. C*** C IF (IB1PAR(4).EQ.1.OR.IB1PAR(4).EQ.3) C THEN C C C*** C* LENGTH OF GRID DESCRIPTION BLOCK. C*** C CALL GBYTE (IGRIB(IWORD),LBLK,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LENGTH IS 32 OCTETS FOR LAT/LONG, GAUSSIAN AND SPHERICAL C HARMONICS . FOR ANY DATA ON HYBRID LEVELS THE C VERTICAL COORDINATES ARE ADDED. C GET NUMBER OF VERTICAL COORDINATE PARAMETERS, IF ANY. C JLENV = (LBLK - 32) / 4 IF(ILENV.LT.JLENV) C THEN IERR = -3 WRITE (*,9001) JLENV,ILENV 9001 FORMAT (1H ,'NUMBER OF VERTICAL COORDINATES - ',I4, C ', ARRAY SIZE IS - ',I4) RETURN ENDIF C C C*** C* NUMBER OF UNUSED BITS AT END OF BLOCK. C*** C CALL GBYTE (IGRIB(IWORD),LNIL,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* NEXT OCTET IS RESERVED. C*** C CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C*** C* DATA REPRESENTATION TYPE. C*** C CALL GBYTE (IGRIB(IWORD),IB2PAR(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONGITUDE GRID, GAUSSIAN GRID AND SPHERICAL HARMONICS C ARE THE ONLY DATA REPRESENTATIONS HANDLED. C IF (IB2PAR(1).NE.0.AND.IB2PAR(1).NE.4.AND.IB2PAR(1).NE.50) C THEN WRITE (*,*)'GRID DESCRIPTION BLOCK NOT YET DEFINED' IERR = -4 RETURN ENDIF C C C C C*** C* LAT/LONG OR GAUSSIAN GRID. C*** C IF (IB2PAR(1).EQ.0.OR.IB2PAR(1).EQ.4) C THEN C C NUMBER OF LAT/LONG POINTS. C CALL GBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONG OF ORIGIN. C CALL GBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C IF SIGN BIT SET TO 1 , VALUES ARE NEGATIVE. C DO 200 I=1,2 IB2PAR(I+3) = ILAT(I) IF (ILAT(I).GT.8388608) C THEN IB2PAR(I+3) = IB2PAR(I+3) - 8388608 IB2PAR(I+3) = - IB2PAR(I+3) ENDIF 200 CONTINUE C C C EXTREME POINT / INCREMENT FLAG. C CALL GBYTE (IGRIB(IWORD),IB2PAR(6),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C LAT/LONG OF EXTREME POINTS. C CALL GBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C IF SIGN BIT SET TO 1 , VALUES ARE NEGATIVE. C DO 300 I=1,2 IB2PAR(I+6) = ILAT(I) IF (ILAT(I).GT.8388608) C THEN IB2PAR(I+6) = IB2PAR(I+6) - 8388608 IB2PAR(I+6) = - IB2PAR(I+6) ENDIF 300 CONTINUE C C DIRECTION INCREMENTS / NUMBER OF LATITUDE LINES. C CALL GBYTES (IGRIB(IWORD),IB2PAR(9),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C SCANNING MODE. C CALL GBYTE (IGRIB(IWORD),IB2PAR(11),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 4 RESERVED OCTETS. C CALL OFFSET (IOFF,4,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C C C C C C C C C C C*** C* SPHERICAL HARMONIC DATA. C*** C IF (IB2PAR(1).EQ.50) C THEN C C PENTAGONAL RESOLUTION PARAMETERS. C CALL GBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,3) CALL OFFSET (IOFF,3,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C REPRESENTATION TYPE AND MODE. C CALL GBYTES (IGRIB(IWORD),IB2PAR(5),IOFF,8,0,2) CALL OFFSET (IOFF,2,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 18 RESERVED OCTETS. C CALL OFFSET (IOFF,18,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C*** C* VERTICAL COORDINATE PARAMETERS FOR HYBRID LEVELS. C*** C IF (JLENV.NE.0) C THEN DO 400 I=1,JLENV CALL GBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL DECFP (FVERT(I),IEXP,IMANT) 400 CONTINUE ENDIF C ENDIF C C C C C C C C C C C******************************************************************** C* C* BLOCK 3 - BIT MAP BLOCK. C* C******************************************************************** C IF (IB1PAR(4).EQ.2.OR.IB1PAR(4).EQ.3) C THEN WRITE (*,*)'BIT MAP BLOCK NOT YET DEFINED' IERR = -4 RETURN ENDIF C C C C C C******************************************************************** C* C* BLOCK 4 - BINARY DATA BLOCK. C* C******************************************************************** C C C C*** C* GET LENGTH OF BINARY DATA BLOCK. C*** C C IPW = IWORD IPB = IOFF C CALL GBYTE (IGRIB(IWORD),LBIN,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* 4 BIT FLAG / 4 BIT COUNT OF UNUSED BITS AT END OF BLOCK OCTET. C*** C CALL GBYTE (IGRIB(IWORD),IFLAG,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C IREP = IFLAG / 16 LNIL = IFLAG - IREP * 16 C C C C C C C C*** C* GET SCALE FACTOR C*** C CALL GBYTE (IGRIB(IWORD),JSCALE,IOFF,16) CALL OFFSET (IOFF,1,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ISCALE = JSCALE IF (JSCALE.GE.32768) C THEN ISCALE = ISCALE - 32768 ISCALE = - ISCALE ENDIF C C C C C*** C* GET REFERENCE VALUE (FMIN) IN GRIB FORMAT (IEXP,IMANT) C*** C C CALL GBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C CHECK FOR MISSING DATA INDICATORS. C IMISS = 0 IF (JSCALE.EQ.65535.AND.IEXP.EQ.255.AND.IMANT.EQ.16777215) C IMISS = 1 C C CONVERT REFERENCE VALUE AND SCALE FACTOR. C IF (IMISS.EQ.0) C THEN CALL DECFP (FMIN,IEXP,IMANT) ZSCALE = 2.**ISCALE ENDIF C C C C C*** C* GET NUMBER OF BITS IN EACH DATA VALUE. C*** C CALL GBYTE (IGRIB(IWORD),IBITS,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C CHECK NUMBER OF BITS PER DATA FIELD. C IF (IBITS.GT.NBIT.OR.IBITS.GT.IMAX) C THEN IERR = -1 WRITE (*,9002) IBITS,NBIT,IMAX 9002 FORMAT (1H ,'NUMBER OF BITS PER DATA VALUE, ',I3, C 'EXCEEDS WORD LENGTH, ',I3,' OR MAXIMUM ', C ' PERMITTED VALUE, ',I3) RETURN ENDIF C C*** C* IF DATA IS IN SPHERICAL HARMONIC FORM, NEXT 4 OCTETS C* CONTAIN THE REAL (0,0) COEFFICIENT. C*** C IF (IREP.EQ.1) C THEN C C GET REAL (0,0) COEFFICIENT IN GRIB FORMAT AND C CONVERT TO FLOATING POINT. C CALL GBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN IF (IMISS.EQ.1) C THEN FPDATA(1) = 0.0 ELSE CALL DECFP (FPDATA(1),IEXP,IMANT) ENDIF ENDIF C C C C C***** C* DECODE DATA VALUES TO FLOATING POINT AND STORE IN FPDATA. C***** C C FIRST CALCULATE THE NUMBER OF DATA VALUES. C JLENF = LBIN - 11 - IREP * 4 JLENF = (JLENF * 8 - LNIL) / IBITS C C CHECK LENGTH OF OUTPUT ARRAY. C IF (JLENF+IREP.GT.ILENF) C THEN IERR = -3 WRITE (*,9003) JLENF,ILENF 9003 FORMAT (1H ,'NUMBER OF VALUES TO BE DECODED IS - ',I7, C ', ARRAY SIZE - ',I7) RETURN ENDIF C CALL GBYTES (IGRIB(IWORD),FPDATA(IREP+1),IOFF,IBITS,0,JLENF) CALL OFFSET (IOFF,JLENF,IWORD,IBITS,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C DO 500 I= IREP+1,IREP+JLENF IF (IMISS.EQ.1) C THEN FPDATA(1) = 0.0 ELSE ZGRIB = FPDATA (I) FPDATA(I) = FMIN + JGRIB * ZSCALE ENDIF 500 CONTINUE C C INCLUDE (0,0) COEFFICIENT IN COUNT, IF SPHERICAL HARMONIC DATA. C JLENF = IREP + JLENF C C C C C*** C* SKIP ANY ZERO FILL AT END OF DATA BLOCK. C*** C L = (IWORD-IPW) * NBIT + IOFF -IPB L = LBIN * 8 - L IF (L.NE.0) C THEN CALL OFFSET (IOFF,1,IWORD,L,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C C C C C******************************************************************** C* C* BLOCK 5 - END BLOCK. C* C******************************************************************** C C CHECK 7 7 7 7 AT END OF CODED DATA. C IBLOCK(1) = 55 IBLOCK(2) = 55 IBLOCK(3) = 55 IBLOCK(4) = 55 C CALL GBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,4) C DO 600 I=1,4 IF (IBLOCK(I).NE.55) IERR = 1 600 CONTINUE C IF (IERR.EQ.1) WRITE (*,*) ' NO 7777 GROUP FOUND ' C C C C SET NUMBER OF VALUES NEGATIVE, IF MISSING DATA VALUES. C IF (IMISS.EQ.1) JLENF = - JLENF C RETURN END emoslib-000392+dfsg.1/gribex/sencode.h0000755000175000017500000000343712127406245020541 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #ifndef SENCODE_H #define SENCODE_H #include #include #include "fortint.h" /*sinisa #include "getsetValues.h" */ #ifdef FORTRAN_NO_UNDERSCORE #define SENCODE sencode #define SENPACK senpack #define RSTIME rstime #define ISTIME istime #define RSDATE rsdate #define ISDATE isdate #define SVALUES svalues #define SPV spv #define CSECT4 csect4 #define GRSMKP grsmkp #define REF2GRB ref2grb #define INSCAL inscal #define INXBIT inxbit #define JGETGG jgetgg #else #define SENCODE sencode_ #define SENPACK senpack_ #define RSTIME rstime_ #define ISTIME istime_ #define RSDATE rsdate_ #define ISDATE isdate_ #define SVALUES svalues_ #define SPV spv_ #define CSECT4 csect4_ #define GRSMKP grsmkp_ #define REF2GRB ref2grb_ #define INSCAL inscal_ #define INXBIT inxbit_ #define JGETGG jgetgg_ #endif #endif /* End of SENCODE_H */ fortint SVALUES(gribProduct**,fortdouble*,fortint*,fortdouble*); fortint CSECT4(fortdouble*,fortint*,fortint*,fortint*,fortint*,fortint*, fortint*,fortint*,fortint*); void GRSMKP(fortint*); fortint REF2GRB(fortdouble*,fortint*,fortint*,fortint*); void INSCAL(fortdouble*,fortint*,fortint*,fortdouble*,fortdouble*,fortint*); void INXBIT(fortint*,fortint*,fortint*,fortint*,fortint*,fortint*,fortint*, char*,fortint*,long); void JGETGG(fortint*,unsigned char*,fortdouble*,fortint*,fortint*,long); void setBitMap(unsigned char*,fortint); emoslib-000392+dfsg.1/gribex/gdecode1.c0000755000175000017500000000160212127406245020557 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include "gdecode.h" #include "gdecode1.h" fortint IG1NUMB(gribProduct ** grib) { if( ecmwfLocalDefinition1Present((*grib)) ) return g1_1_number( (*grib) ); else return -999999; } fortdouble RG1NUMB(gribProduct ** grib) { return (fortdouble) IG1NUMB(grib); } fortint IG1TOTL(gribProduct ** grib) { if( ecmwfLocalDefinition1Present((*grib)) ) return g1_1_total( (*grib) ); else return -999999; } fortdouble RG1TOTL(gribProduct ** grib) { return (fortdouble) IG1TOTL(grib); } emoslib-000392+dfsg.1/gribex/decogc.F0000755000175000017500000005726312127406245020311 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DECOGC (FPDATA,ILENF,IBITS,NBIT,IB1PAR,IB2PAR, C IB3PAR,FVERT,ILENV,IGRIB,ILENG,IWORD, C JLENV,JLENF,IBVAL,IBLEN,IBMAP,IERR) C C C C----> C* C* NAME : DECOGC C* C* FUNCTION : DECODE WMO GRIB CODED DATA. C* C* INPUT : NBIT - NUMBER OF BITS IN COMPUTER WORD C* C* IGRIB - INTEGER ARRAY CONTAINING DATA IN GRIB CODE. C* ILENG - LENGTH OF ARRAY IGRIB. C* C* FVERT - REAL ARRAY TO RECEIVE VERTICAL COORDINATE C* PARAMETERS. C* ILENV - LENGTH OF ARRAY FVERT. C* C* FPDATA - REAL ARRAY TO RECEIVE DECODED DATA VALUES. C* ILENF - LENGTH OF ARRAY FPDATA. C* C* ***** IF THIS IS 1 ONLY C* THE PRODUCT AND GRID DEFINITION BLOCKS C* ARE DECODED. ***** C* C* IB1PAR - INTEGER ARRAY (DIMENSION 18) TO RECEIVE C* PRODUCT DEFINITION INFORMATION. C* C* IB2PAR - INTEGER ARRAY (DIMENSION 11) TO RECEIVE GRID C* DEFINITION INFORMATION. C* C* OUTPUT : PARAMETERS FROM BLOCK 1 , PRODUCT DEFINITION BLOCK. C* -------------------------------------------------- C* IB1PAR - INTEGER ARRAY (DIMENSION 18) OF PRODUCT C* DEFINITION INFORMATION. C* C* WORD CONTENTS C* ---- -------- C* 1 ORIGINATING CENTRE IDENTIFIER. C* 2 MODEL IDENTIFICATION. C* 3 GRID DEFINITION. C* 4 FLAG ( CODE TABLE 1) C* 5 PARAMETER IDENTIFIER ( CODE TABLE 2 ). C* 6 TYPE OF LEVEL (CODE TABLE 3). C* 7-8 VALUE(S) OF LEVELS (CODE TABLE 3). C* 9 YEAR OF DATA C* 10 MONTH OF DATA C* 11 DAY OF DATA C* 12 HOUR OF DATA C* 13 MINUTE OF DATA C* 14 TIME UNIT (CODE TABLE 4). C* 15 TIME RANGE ONE C* 16 TIME RANGE TWO C* 17 TIME RANGE FLAG (CODE TABLE 5). C* 18 NUMBER AVERAGED. C* C* VALUE(S) OF LEVEL CAN OCCUPY 2 WORDS.. C* FOR A LAYER THE FIRST WORD DEFINES THE TOP C* AND THE SECOND THE BOTTOM OF THE LAYER. C* FOR A SINGLE LEVEL, ONLY THE FIRST WORD IS C* USED. C* C* PARAMETERS FROM BLOCK 2 , GRID DEFINITION BLOCK. C* ----------------------------------------------- C* IB2PAR - INTEGER ARRAY (DIMENSION 11) CONTAINING GRID C* DEFINITION INFORMATION. C* USE VARIES WITH DATA REPRESENTATION TYPE. C* C* WORD LAT/LONG GRID C* ---- ------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6). C* 2 NO. OF POINTS ALONG A LATITUDE C* 3 NO. OF POINTS ALONG A MERIDIAN. C* 4 LATITUDE OF ORIGIN (SOUTH - IVE). C* 5 LONGITUDE OF ORIGIN (WEST - IVE). C* 6 RESOLUTION FLAG. (CODE TABLE 7) C* 7 LATITUDE OF EXTREME POINT (SOUTH - IVE). C* 8 LONGITUDE OF EXTREME POINT (WEST - IVE). C* 9 LATITUDE INCREMENT C* 10 LONGITUDE INCREMENT C* 11 SCANNING MODE FLAGS (CODE TABLE 8) C* C* WORD GAUSSIAN GRID C* ---- ------------- C* 1-9 AS FOR LAT/LONGITUDE GRID. C* 10 THE NUMBER OF LATITUDE LINES BETWEEN A POLE C* AND THE EQUATOR. C* 11 SCANNING MODE FLAGS (CODE TABLE 8) C* C* WORD SPHERICAL HARMONICS C* ---- ------------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6) C* 2 J - PENTAGONAL RESOLUTION PARAMETER C* 3 K - PENTAGONAL RESOLUTION PARAMETER C* 4 M - PENTAGONAL RESOLUTION PARAMETER C* 5 REPRESENTATION TYPE (CODE TABLE 9) C* 6 REPRESENTATION MODE (CODE TABLE 10) C* 7-11 NOT USED C* C* C* USE FOR OTHER DATA REPRESENTATION TYPES IS C* C* FVERT - REAL ARRAY OF VERTICAL COORDINATE PARAMETERS C* JLENV - NUMBER OF VALUES IN THIS ARRAY. C* C* USED FOR HYBRID LEVELS ONLY. C* C* PARAMETERS FROM BLOCK 3 , BIT-MAP DEFINITION BLOCK. C* -------------------------------------------------- C* C* IBMAP - ARRAY (DIMENSION IBLEN) CONTAINING BIT MA C* IBLEN - NUMBER OF WORDS IN ARRAY IBMAP. C* IBVAL - NUMBER OF VALUES ON THIS ARRAY. C* IB3PAR(1) - CATALOG NUMBER OF BIT-MAP. C* C* C* PARAMETERS FROM BLOCK 4 , BINARY DATA BLOCK. C* ------------------------------------------- C* FPDATA - ARRAY OF FLOATING POINT VALUES. C* JLENF - NUMBER OF VALUES IN THIS ARRAY. C* JLENF IS NEGATIVE IF MISSING DATA CODED C* C* IBITS - NUMBER OF BITS FOR CODED DATA VALUES. C* C* IWORD - NUMBER OF WORDS DECODED. C* C* IERR - ERROR INDICATOR. C* C* 0, NO ERROR. C* C* -1, NUMBER OF BITS PER DATA VALUE EXCEEDS C* WORD LENGTH, OR MAXIMUM ALLOWED. C* -2, INPUT ARRAY HOLDS FEWER CODED VALUES C* THAN EXPECTED. C* -3, OUTPUT ARRAY TOO SMALL TO HOLD DECODED C* DATA VALUES. C* -4, CURRENTLY UNDEFINED OPTION SELECTED. C* C* 1, NO BLOCK 5 FOUND. C* C* GENERAL : DECOGC CALLS GBYTE C* GBYTES C* OFFSET C* DECFP C* SBYTE C* C* C --------------------------------------------------------------- C----< C C C C C C C C C DIMENSION FPDATA(ILENF),FVERT(ILENV) DIMENSION IBLOCK(24),IGRIB(ILENG) DIMENSION IB1PAR(18),IB2PAR(11),IB3PAR(2),ILAT(2) C DIMENSION IBMAP(IBLEN) C EQUIVALENCE (ZGRIB,JGRIB) C C SET MAXIMUM NUMBER OF BITS PER DATA FIELD. C DATA IMAX /64/ C IERR = 0 C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 0 - INDICATOR BLOCK. C* C******************************************************************** C C C EXTRACT 4 OCTETS CONTAINING ASCII G R I B . C IWORD = 1 IOFF = 0 IBYTE = 8 NVAL = 4 C CALL GBYTES (IGRIB(1),IBLOCK(1),0,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C******************************************************************** C* C* BLOCK 1 - PRODUCT DEFINITION BLOCK. C* C******************************************************************** C C C EXTRACT FIRST 4 OCTETS OF BLOCK 1. C NVAL = 4 C CALL GBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C IF THESE OCTETS DO NOT CONTAIN 0, 0, 24 AND 0 RESPECTIVELY C THEN THE DATA IS IN THE OLD VERSION OF THE CODE. C IF (IBLOCK(1).EQ.0.AND.IBLOCK(2).EQ.0.AND.IBLOCK(3).EQ.24. C AND.IBLOCK(4).EQ.0) C THEN ISNEW = 1 NVAL = 20 ELSE ISNEW = 0 NVAL = 16 ENDIF C C EXTRACT NEXT 16 OR 20 OCTETS OF BLOCK 1 - NUMBER DEPENDS C ON VERSION OF CODE. C CALL GBYTES (IGRIB(IWORD),IBLOCK(5),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C TRANSFER PRODUCT DEFINITION INFORMATION TO OUTPUT ARRAY. C EXCEPT FOR NUMBER AVERAGED. C DO 100 I=1,17 IB1PAR(I) = IBLOCK(I+4*ISNEW) 100 CONTINUE C C C C C NUMBER AVERAGED OCCUPIES 2 OCTETS. C IB1PAR(18) = IBLOCK(18+4*ISNEW) * 256 + IBLOCK(19+4*ISNEW) C C C C C C*** C* DESCRIPTION OF LEVEL OR LAYER ( CODE TABLE 3 ). C*** C C CERTAIN LEVEL TYPES REQUIRE THAT THE DESCRIPTION OCCUPY C BOTH 8 BIT FIELDS. PUT SINGLE VALUE IN FIRST LEVEL WORD. C KTEMP = 32 + (ISNEW*224) IF (IB1PAR(6).EQ.100.OR.IB1PAR(6).EQ.103.OR.IB1PAR(6).EQ.105. C OR.IB1PAR(6).EQ.107.OR.IB1PAR(6).EQ.109) C THEN IB1PAR(7) = IB1PAR(7) * KTEMP + IB1PAR(8) IB1PAR(8) = 0 ENDIF C C C C C C C C C C*** C* TIME RANGE. C*** C C ONE TIME RANGE CAN OCCUPY TWO OCTETS. C IF (IB1PAR(17).EQ.10) C THEN IB1PAR(15) = IB1PAR(15) * KTEMP + IB1PAR(16) IB1PAR(16) = 0 ENDIF C C C C C C C C C C C C******************************************************************** C* C* BLOCK 2 - GRID DESCRIPTION BLOCK. C* C******************************************************************** C C*** C* CHECK FLAG INDICATING IF BLOCK 2 IS INCLUDED IN CODE. C*** C C INC IS SET TO 1 , IF BLOCK 2 IS INCLUDED. C INC = 0 C C IF (ISNEW.EQ.0) C THEN C OLD VERSION OF CODE C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 00000001 1 C 3 00000010 2 C 2 AND 3 00000011 3 C IF (IB1PAR(4).EQ.1.OR.IB1PAR(4).EQ.3) INC = 1 ELSE C NEW VERSION C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 10000000 128 C 3 01000000 64 C 2 AND 3 11000000 192 C IF (IB1PAR(4).EQ.128.OR.IB1PAR(4).EQ.192) INC = 1 ENDIF C IF (INC.EQ.1) C THEN C C C*** C* LENGTH OF GRID DESCRIPTION BLOCK. C*** C CALL GBYTE (IGRIB(IWORD),LBLK,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LENGTH IS 32 OCTETS FOR LAT/LONG, GAUSSIAN AND SPHERICAL C HARMONICS . FOR ANY DATA ON HYBRID LEVELS THE C VERTICAL COORDINATES ARE ADDED. C GET NUMBER OF VERTICAL COORDINATE PARAMETERS, IF ANY. C JLENV = (LBLK - 32) / 4 IF(ILENV.LT.JLENV) C THEN IERR = -3 WRITE (*,9001) JLENV,ILENV 9001 FORMAT (1H ,'NUMBER OF VERTICAL COORDINATES - ',I4, C ', ARRAY SIZE IS - ',I4) RETURN ENDIF C C C*** C* NUMBER OF UNUSED BITS AT END OF BLOCK. C*** C CALL GBYTE (IGRIB(IWORD),LNIL,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* NEXT OCTET IS RESERVED. C*** C CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C*** C* DATA REPRESENTATION TYPE. C*** C CALL GBYTE (IGRIB(IWORD),IB2PAR(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONGITUDE GRID, GAUSSIAN GRID AND SPHERICAL HARMONICS C ARE THE ONLY DATA REPRESENTATIONS HANDLED. C IF (IB2PAR(1).NE.0.AND.IB2PAR(1).NE.4.AND.IB2PAR(1).NE.50) C THEN WRITE (*,*)'GRID DESCRIPTION BLOCK NOT YET DEFINED' IERR = -4 RETURN ENDIF C C C C C*** C* LAT/LONG OR GAUSSIAN GRID. C*** C IF (IB2PAR(1).EQ.0.OR.IB2PAR(1).EQ.4) C THEN C C NUMBER OF LAT/LONG POINTS. C CALL GBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONG OF ORIGIN. C CALL GBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C IF SIGN BIT SET TO 1 , VALUES ARE NEGATIVE. C DO 200 I=1,2 IB2PAR(I+3) = ILAT(I) IF (ILAT(I).GT.8388608) C THEN IB2PAR(I+3) = IB2PAR(I+3) - 8388608 IB2PAR(I+3) = - IB2PAR(I+3) ENDIF 200 CONTINUE C C C RESOLUTION FLAG. C CALL GBYTE (IGRIB(IWORD),IB2PAR(6),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C LAT/LONG OF EXTREME POINTS. C CALL GBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C IF SIGN BIT SET TO 1 , VALUES ARE NEGATIVE. C DO 300 I=1,2 IB2PAR(I+6) = ILAT(I) IF (ILAT(I).GT.8388608) C THEN IB2PAR(I+6) = IB2PAR(I+6) - 8388608 IB2PAR(I+6) = - IB2PAR(I+6) ENDIF 300 CONTINUE C C DIRECTION INCREMENTS / NUMBER OF LATITUDE LINES. C CALL GBYTES (IGRIB(IWORD),IB2PAR(9),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C SCANNING MODE FLAGS. C CALL GBYTE (IGRIB(IWORD),IB2PAR(11),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 4 RESERVED OCTETS. C CALL OFFSET (IOFF,4,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C C C C C C C C C C C*** C* SPHERICAL HARMONIC DATA. C*** C IF (IB2PAR(1).EQ.50) C THEN C C PENTAGONAL RESOLUTION PARAMETERS. C CALL GBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,3) CALL OFFSET (IOFF,3,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C REPRESENTATION TYPE AND MODE. C CALL GBYTES (IGRIB(IWORD),IB2PAR(5),IOFF,8,0,2) CALL OFFSET (IOFF,2,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 18 RESERVED OCTETS. C CALL OFFSET (IOFF,18,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C*** C* VERTICAL COORDINATE PARAMETERS FOR HYBRID LEVELS. C*** C IF (JLENV.NE.0) C THEN DO 400 I=1,JLENV CALL GBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL DECFP (FVERT(I),IEXP,IMANT) 400 CONTINUE ENDIF C ENDIF C C C RETURN IF ONLY PRODUCT AND GRID DEFINITION BLOCKS REQUIRED. C IF (ILENF.EQ.1) RETURN C C C C C C C C C******************************************************************** C* C* BLOCK 3 - BIT MAP BLOCK. C* C******************************************************************** C C INC IS SET TO 1 , IF BLOCK 3 IS INCLUDED. C INC = 0 C C IF (ISNEW.EQ.0) C THEN C OLD VERSION OF CODE C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 00000001 1 C 3 00000010 2 C 2 AND 3 00000011 3 C IF (IB1PAR(4).EQ.2.OR.IB1PAR(4).EQ.3) INC = 1 ELSE C NEW VERSION C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 10000000 128 C 3 01000000 64 C 2 AND 3 11000000 192 C IF (IB1PAR(4).EQ.64.OR.IB1PAR(4).EQ.192) INC = 1 ENDIF C IF (INC.EQ.1) C THEN C C C* GET LENGTH OF THE BIT MAP BLOCK C C CALL GBYTE (IGRIB(IWORD),IB3LEN,IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF( IERR.NE.0 ) RETURN C C C* GET NUMBER OF UNUSED BITS AT THE END OF THE BLOCK 3. C C CALL GBYTE(IGRIB(IWORD),INUB,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF( IERR.NE.0 ) RETURN C C* CHECK IF BIT MAP FOLLOWS C CALL GBYTE (IGRIB(IWORD),IBMF,IOFF,16) CALL OFFSET(IOFF,1,IWORD,16,NBIT,ILENG,IERR) IF( IERR.NE.0 ) RETURN C IB3PAR(1)=IBMF C IF( IBMF.EQ.0 ) 1 THEN IBVAL=(IB3LEN-6)*8-INUB IWORDA=1 IOFFA=0 IBM6=IB3LEN-6 C DO 450 J=1,IBM6 C CALL GBYTE(IGRIB(IWORD),IO,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF(IERR.NE.0) RETURN C CALL SBYTE(IBMAP(IWORDA),IO,IOFFA,8) CALL OFFSET(IOFFA,1,IWORDA,8,NBIT,IBLEN,IERR) C 450 CONTINUE C ENDIF C C C END IF C C C C******************************************************************** C* C* BLOCK 4 - BINARY DATA BLOCK. C* C******************************************************************** C C C C*** C* GET LENGTH OF BINARY DATA BLOCK. C*** C C IPW = IWORD IPB = IOFF C CALL GBYTE (IGRIB(IWORD),LBIN,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* 4 BIT FLAG / 4 BIT COUNT OF UNUSED BITS AT END OF BLOCK OCTET. C*** C CALL GBYTE (IGRIB(IWORD),IFLAG,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C IF (ISNEW.EQ.0) C THEN C OLD VERSION OF CODE C C 0000---- GRID POINT C 0001---- SPHERICAL HARMONICS C IREP = IFLAG / 16 LNIL = IFLAG - IREP * 16 C ELSE C NEW VERSION OF CODE C C 0000---- GRID POINT C 1000---- SPHERICAL HARMONICS C IREP = IFLAG / 128 LNIL = IFLAG - IREP * 128 C ENDIF C C C C C C C C C*** C* GET SCALE FACTOR C*** C CALL GBYTE (IGRIB(IWORD),JSCALE,IOFF,16) CALL OFFSET (IOFF,1,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ISCALE = JSCALE IF (JSCALE.GE.32768) C THEN ISCALE = ISCALE - 32768 ISCALE = - ISCALE ENDIF C C C C C*** C* GET REFERENCE VALUE (FMIN) IN GRIB FORMAT (IEXP,IMANT) C*** C C CALL GBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C CHECK FOR MISSING DATA INDICATORS. C IMISS = 0 IF (JSCALE.EQ.65535.AND.IEXP.EQ.255.AND.IMANT.EQ.16777215) C IMISS = 1 C C CONVERT REFERENCE VALUE AND SCALE FACTOR. C IF (IMISS.EQ.0) C THEN CALL DECFP (FMIN,IEXP,IMANT) ZSCALE = 2.**ISCALE ENDIF C C C C C*** C* GET NUMBER OF BITS IN EACH DATA VALUE. C*** C CALL GBYTE (IGRIB(IWORD),IBITS,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C CHECK NUMBER OF BITS PER DATA FIELD. C IF (IBITS.GT.NBIT.OR.IBITS.GT.IMAX) C THEN IERR = -1 WRITE (*,9002) IBITS,NBIT,IMAX 9002 FORMAT (1H ,'NUMBER OF BITS PER DATA VALUE, ',I3, C 'EXCEEDS WORD LENGTH, ',I3,' OR MAXIMUM ', C ' PERMITTED VALUE, ',I3) RETURN ENDIF C C*** C* IF DATA IS IN SPHERICAL HARMONIC FORM, NEXT 4 OCTETS C* CONTAIN THE REAL (0,0) COEFFICIENT. C*** C IF (IREP.EQ.1) C THEN C C GET REAL (0,0) COEFFICIENT IN GRIB FORMAT AND C CONVERT TO FLOATING POINT. C CALL GBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN IF (IMISS.EQ.1) C THEN FPDATA(1) = 0.0 ELSE CALL DECFP (FPDATA(1),IEXP,IMANT) ENDIF ENDIF C C C C C***** C* DECODE DATA VALUES TO FLOATING POINT AND STORE IN FPDATA. C***** C C FIRST CALCULATE THE NUMBER OF DATA VALUES. C JLENF = LBIN - 11 - IREP * 4 JLENF = (JLENF * 8 - LNIL) / IBITS C C CHECK LENGTH OF OUTPUT ARRAY. C IF (JLENF+IREP.GT.ILENF) C THEN IERR = -3 WRITE (*,9003) JLENF,ILENF 9003 FORMAT (1H ,'NUMBER OF VALUES TO BE DECODED IS - ',I7, C ', ARRAY SIZE - ',I7) RETURN ENDIF C CALL GBYTES (IGRIB(IWORD),FPDATA(IREP+1),IOFF,IBITS,0,JLENF) CALL OFFSET (IOFF,JLENF,IWORD,IBITS,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C DO 500 I= IREP+1,IREP+JLENF IF (IMISS.EQ.1) C THEN FPDATA(1) = 0.0 ELSE ZGRIB = FPDATA (I) FPDATA(I) = FMIN + JGRIB * ZSCALE ENDIF 500 CONTINUE C C INCLUDE (0,0) COEFFICIENT IN COUNT, IF SPHERICAL HARMONIC DATA. C JLENF = IREP + JLENF C C C C C*** C* SKIP ANY ZERO FILL AT END OF DATA BLOCK. C*** C L = (IWORD-IPW) * NBIT + IOFF -IPB L = LBIN * 8 - L IF (L.NE.0) C THEN CALL OFFSET (IOFF,1,IWORD,L,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C C C C C******************************************************************** C* C* BLOCK 5 - END BLOCK. C* C******************************************************************** C C CHECK 7 7 7 7 AT END OF CODED DATA. C C CALL GBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,4) C C 55 IS THE VALUE OF ASCII CHARACTER '7' C DO 600 I=1,4 IF (IBLOCK(I).NE.55) IERR = 1 600 CONTINUE C IF (IERR.EQ.1) WRITE (*,*) ' NO 7777 GROUP FOUND ' C C C C SET NUMBER OF VALUES NEGATIVE, IF MISSING DATA VALUES. C IF (IMISS.EQ.1) JLENF = - JLENF C RETURN END emoslib-000392+dfsg.1/gribex/gribnum.F0000755000175000017500000000555512127406245020525 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION GRIBNUM(KONOFF) C C----> C**** GRIBNUM C C Purpose C ------- C C Returns current GRIB_CYCLE version number. C C C Interface C --------- C C INUM = GRIBNUM(KONOFF) C C Input C ----- C C KONOFF - switch for displayed message C = 0 if display is required on the first call C = non-zero if display is not required C C C Output C ------ C C Returns a 6-digit version number, aaabbc, where: C aaa = 3-digit major number C bb = 2-digit minor number C c = 1-digit spare number (normally 0) C C C Method C ------ C C Reads a 6-digit version number from the environment variable C GRIB_CYCLE. If this does not give a 6-digit number, an internal C hard-coded default value is used. C C On the first call, the function (optionally) displays a message: C C ************************************** C * GRIB_CYCLE version number = aaabbc * C ************************************** C C C Externals C --------- C C None. C C C Author C ------ C C J.D.Chambers ECMWF May 1998 C C C----< C ------------------------------------------------------------------ C* Section 0. Variables. C ------------------------------------------------------------------ C C IMPLICIT NONE C #include "grprs.h" C C Function arguments C INTEGER KONOFF C C Local variables C INTEGER INUMBER, ICOUNT, IOFFSET SAVE INUMBER, ICOUNT CHARACTER*38 CMESS CHARACTER*20 YNUMBER C DATA INUMBER/000010/, ICOUNT/0/ DATA CMESS/'* GRIB_CYCLE version number = ****** *'/ C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C IF( ICOUNT.EQ.0 ) THEN C C See if the environment variable has an override value C CALL GETENV( 'GRIB_CYCLE', YNUMBER) IOFFSET = INDEX( YNUMBER, ' ') IF( IOFFSET.EQ.7 ) THEN READ(YNUMBER,'(I6.6)') INUMBER ENDIF C C First time through, display the message if required C IF( KONOFF.EQ.0 ) THEN WRITE(CMESS(31:36),'(I6.6)') INUMBER WRITE(GRPRSM,*) '**************************************' WRITE(GRPRSM,*) CMESS WRITE(GRPRSM,*) '**************************************' ENDIF ICOUNT = 1 ENDIF C GRIBNUM = INUMBER C RETURN END emoslib-000392+dfsg.1/gribex/grsdef.F0000755000175000017500000001674012127406245020332 0ustar amckinstryamckinstry SUBROUTINE GRSDEF C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C----> C**** GRSDEF C C Purpose. C -------- C Sets initial values for common area variables and environment C variables for the GRIBEX package, if not already done. C C C Interface. C ---------- C CALL GRSDEF C C C Input Parameters. C ----------------- C None. C C C Output Parameters. C ------------------ C None. C C C Method. C ------- C Self-explanatory. C C C Externals. C ---------- C EMOSNUM - Returns current EMOSLIB version number C C C Reference. C ---------- C See subroutine GRIBEX. C C C Comments. C --------- C None C C C Author. C ------- C J. Clochard, Meteo France, for ECMWF - March 1998. C C C Modifications. C -------------- C J. Clochard, Meteo France, for ECMWF - June 1999. C Add variable NSUBCE. C Use a static variable to determine if initialisation has already C been done. NUSER removed . C Reverse defaults for NEXT2O and NLOC2O, for consistency with C version 13.023 of software . C C J.D.Chambers ECMWF September 2002 C Read environment variables first time through. C C E. Fucile ECMWF October 2008 C added environment variable GRIBEX_DUMP_DATA_ON_ERROR C to dump data files in a file when an error occurs C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" #include "grbcom.h" C C Local variables C INTEGER IOFFSET CHARACTER*10 HNDBG, HNVCK, YNUMBER CHARACTER*256 HDEFAULT, HBTDEFT LOGICAL LFIRST SAVE LFIRST C #ifdef TABLE_PATH DATA HDEFAULT / TABLE_PATH / #else DATA HDEFAULT / '' / #endif #ifdef __uxp__ DATA HBTDEFT /'/vpp700/mrfs/postproc/'/ #else DATA HBTDEFT /'/home/ma/emos/tables/'/ #endif C DATA LFIRST / .TRUE. / C C External(s) C INTEGER EMOSNUM C C ---------------------------------------------------------------- C* Section 1 . Set values, conditionally. C ---------------------------------------------------------------- C 100 CONTINUE C IF( .NOT. LFIRST) GOTO 900 C C Mark common area values set. LFIRST = .FALSE. C C Common area variables have not been set. Set them. C C User supplied reference value. FREF = 0.0 C C Reference value supplied by user flag. Set to off. NFREF = 0 C C User supplied maximum value. FMAX = 0.0 C C Maximum value supplied by user flag. Set to off. NFMAX = 0 C C Set rounding to 120 bytes on. NRND = 1 C C Set P factor switch to default, user supplies the P factor. NONOFF = 0 C C Set abort flag to NO abort NOABORT = 1 C C Exhaustive use of all possible second-order packing methods C for HOPER='K'. Set to off. NUM2OK = 0 C C Use of extended second-order packing methods for grid-point C encoding (HOPER='C' and 'K'). Set to on. NEXT2O = 1 C C Use of non-local second-order packing methods for grid-point C encoding (HOPER='C' and 'K'). Set to on. NLOC2O = 1 C C Use of (all valid) sub-centre values for ECMWF fields encoding . C encoding. Set to off. NSUBCE = 0 C C ---------------------------------------------------------------- C* Section 2. Set up values controlled by environment variables C ---------------------------------------------------------------- C 200 CONTINUE C C Set debug print on/off. C NDBG = 0 CALL GETENV('GRIBEX_DEBUG',HNDBG) IOFFSET = INDEX( HNDBG, ' ') IF( IOFFSET.GT.1 ) THEN IF( HNDBG(1:2).EQ.'ON') THEN NDBG = 1 ELSE IF( HNDBG(1:1).EQ.'1') THEN NDBG = 1 ELSE IF( HNDBG(1:1).EQ.'2') THEN NDBG = 2 ELSE NDBG = 0 ENDIF ENDIF C C Set DUMPDATA to dump data values on error C DUMPDATA = 0 CALL GETENV('GRIBEX_DUMP_DATA_ON_ERROR',DUMPPATH) IOFFSET = INDEX( DUMPPATH, ' ') IF( IOFFSET.GT.2 ) THEN IF( DUMPPATH(1:3).EQ.'OFF') THEN DUMPDATA=0 ELSE DUMPDATA=1 ENDIF ENDIF C C Set GRIB value checking on/off. C NVCK = 1 CALL GETENV('GRIBEX_CHECK',HNVCK) IOFFSET = INDEX( HNVCK, ' ') IF( IOFFSET.GT.2 ) THEN IF( HNVCK(1:3).EQ.'OFF') THEN NVCK = 0 ELSE NVCK = 1 ENDIF ENDIF C C See if output stream needs changing C CALL GETENV('GRPRS_STREAM', YNUMBER) IOFFSET = INDEX( YNUMBER, ' ') IF( IOFFSET.GT.1 ) THEN IF( IOFFSET.EQ.2 ) THEN READ(YNUMBER,'(I1.1)') GRPRSM ELSE IF( IOFFSET.EQ.3 ) THEN READ(YNUMBER,'(I2.2)') GRPRSM ELSE WRITE(GRPRSM,*) X 'GRSDEF: Invalid value for GRPRS_STREAM: ' // YNUMBER GRPRSM = 6 ENDIF ELSE GRPRSM = 6 ENDIF C IF( GRPRSM.LT.1 ) THEN WRITE(*,*) 'GRSDEF: Invalid number for GRPRS_STREAM: ', GRPRSM GRPRSM = 6 ENDIF C C Set EMOSLIB version number C IF( (NEMOSLB.EQ.0).OR.(NEMOSET.EQ.0) ) THEN IF( NDBG.GT.0 ) THEN NEMOSLB = EMOSNUM(0) ELSE NEMOSLB = EMOSNUM(1) ENDIF NEMOSET = 1 ENDIF C C Set pathname for parameter table lookup C CALL GETENV( 'ECMWF_LOCAL_TABLE_PATH', ELTPATH) IOFFSET = INDEX( ELTPATH, ' ') IF( IOFFSET.LE.1 ) THEN IOFFSET = INDEX(HDEFAULT,' ') - 1 IF(IOFFSET.GT.0) THEN ELTPATH = HDEFAULT(1:IOFFSET)//'/gribtables/' ELSE ELTPATH = '/usr/local/lib/metaps/tables/gribex/' c ELTPATH = '/home/ma/emos/tables/gribex/' ENDIF ENDIF C C Set pathname for bitmask file C CALL GETENV( 'LOCAL_BITMAP_PATH', ELBPATH) IOFFSET = INDEX( ELBPATH, ' ') IF(IOFFSET.LE. 1) THEN ELBPATH = HBTDEFT ENDIF C C Display values if debug is ON C IF( NDBG.GT.0 ) THEN C WRITE(GRPRSM,*) 'GRSDEF: ***********************************' WRITE(GRPRSM,*) 'GRSDEF: Environment variable settings:' C WRITE(GRPRSM,*) 'GRSDEF: GRIBEX_DEBUG is ON' C IF( NVCK.GT.0 ) THEN WRITE(GRPRSM,*) 'GRSDEF: GRIBEX_CHECK is ON' ELSE WRITE(GRPRSM,*) 'GRSDEF: GRIBEX_CHECK is OFF' ENDIF C WRITE(GRPRSM,*) 'GRSDEF: GRPRS_STREAM is ', GRPRSM C WRITE(GRPRSM,9000) NEMOSLB C IOFFSET = INDEX( ELTPATH, ' ') WRITE(GRPRSM,*) X 'GRSDEF: ECMWF_LOCAL_TABLE_PATH is ' // ELTPATH(1:IOFFSET) C IOFFSET = INDEX( ELBPATH, ' ') WRITE(GRPRSM,*) X 'GRSDEF: LOCAL_BITMAP_PATH is ' // ELBPATH(1:IOFFSET) C WRITE(GRPRSM,*) 'GRSDEF: ***********************************' ENDIF C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN 9000 FORMAT(' GRSDEF: EMOSLIB version number (EMOS_CYCLE) is ',(I6.6)) C END emoslib-000392+dfsg.1/gribex/sources.sun40000755000175000017500000000657112127406245021250 0ustar amckinstryamckinstry# # Sources for libemos/gribex sun4. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/c2cwid.F0000755000175000017500000004225412127406245020232 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION C2CWID ( KDATA, KLENP, KSEC4, KGRIB, KLENG, X KNSPT, KBITS, OCOMGR, OLONLY, KLEN4, X KFIROV, KLEN, KREFGR, KLENGR, KLWORK, X KSTART, KPOWER, KMXPWR, KNBIFO, KNCMIN, X KLWORX, KIWORK, ODEBUG, OPTLEN ) C C----> C**** C2CWID C C Purpose. C -------- C C Performs "constant width packing" method for section 4 of GRIB, C and/or computes only length of section 4, with/without coding, C with this method. C C C** Interface. C ---------- C C KRET = C2CWID ( KDATA, KLENP, KSEC4, KGRIB, KLENG, KNSPT, C X KBITS, OCOMGR, OLONLY, KLEN4, KFIROV, KLEN, C X KREFGR, KLENGR, KLWORK, KSTART, KPOWER, KMXPWR, C X KNBIFO, KNCMIN, KLWORX, KIWORK, ODEBUG, OPTLEN ) C C C Input Parameters for all options. C -------------------------------- C C KDATA - Array of normalized values. C KLENP - Length of array KDATA. C KSEC4 - Array of GRIB section 4 integer descriptors. C KLENG - Length of GRIB product array. C KNSPT - Bit pointer for next value in GRIB product. C KBITS - Number of bits per computer word. C OCOMGR - True if COMputing of GRoup arrays is requested. C OLONLY - True if Length ONLY is requested (no coding). C KLEN - Exact number of grid-points to handle. C KLWORK - First dimension of work arrays. C KPOWER - Auxilary array, containing precomputed powers of 2-1. C KMXPWR - Maximum number of bits per original scaled value. C KNCMIN - Minimum increment to use when determining groups. C ODEBUG - True for some debug printout. C OPTLEN - OPTimise LENgth of section 4 (if OCOMGR is true). C C C Output Parameters for all options. C --------------------------------- C C KSEC4 - Array of GRIB section 4 integer descriptors: C KSEC4(11) when OCOMGR and OPTLEN are true; C other indexes when OLONLY is false. C KLEN4 - Length of section 4. C KLWORX - Maximum work space used. C C Output Parameters when OLONLY is false. C -------------------------------------- C C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product (updated). C C Output Parameters when OCOMGR is true, C Input Parameters when OCOMGR is false. C -------------------------------------- C C KFIROV - Number of FIrst-Order Values (and groups) determined. C KREFGR - Work array, first-order values for each group. C KLENGR - Work array, effective length of each group. C KNBIFO - Number of BIts for coding First-Order values. C KIWORK - Second index into work arrays corresponding to C optimal or computed case. C C Output Parameters when OCOMGR is true, C Input parameter in all cases. C -------------------------------------- C C KDATA - Used as work array by C2PACK. C C Input Parameter when OCOMGR is false. C ------------------------------------- C C KSTART - First index value of precomputed work arrays KREFGR C and KLENGR. C C Method. C ------- C C Follows WMO Manual of Codes. C C If requested through OCOMGR, a first scan computes work arrays, C bit number for coding first-order values and length of section 4. C C If requested, coding is applied in a second scan, using C descriptors computed in the first scan, possibly in a previous C call. C C When OPTLEN is true, an iterative process is performed in the C first scan, to choose an optimal width leading to minimum length C of message (through its section 4). C C Externals. C ---------- C C C2BITW - Computes bit width of a positive integer value. C C2PACK - Encodes descriptors and data. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C On entry, KNSPT points to the first bit of section 4 C in the GRIB product. C On exit, KNSPT points to the first unused bit of section 4, C (or to the first bit of section 5, if unused bit count C is zero) in the GRIB product. C C KDATA is overwritten when coding is requested. C This is coherent with GRIBEX. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C _____________ C C J. Clochard, April 1998. C Use C2BITW function for bit width computations, out of C the splitting algorithm itself. C When optimisation is required, use -KSEC4(11) as initial and C maximum width for iterative search of optimal width. C C J. Clochard, September 1998. C Suppress KSEC1/KSEC2/KSEC3 dummy-arguments. C " KSEC1, add KWORK/KPOWER/KMXPWR argument in C2PACK call. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments C INTEGER KLENP, KLENG, KNSPT, KBITS, KLEN4, KNCMIN, KLWORX, KIWORK INTEGER KLEN, KLWORK, KMXPWR, KNBIFO, KFIROV, KSTART INTEGER KDATA (KLENP), KSEC4 (*), KGRIB (KLENG), KREFGR (KLWORK,2) INTEGER KPOWER (0:KMXPWR), KLENGR (KLWORK,2) C LOGICAL OLONLY, OCOMGR, ODEBUG, OPTLEN C C Local variables. C INTEGER INBITN, ICOUNT, INBITX, INBIFO, ILDSTA INTEGER IGROUP, INCR, ISIZEG, INBIT, INCMIR, IPOWER, ICWORK INTEGER J, IDMAX, IDMIN, ISOMAX, ICRITR, ICRITO, INCRBI INTEGER IRETFN, IBITGW, IFOMAX, INCMIN, INBITO, IDMAXG, IDMING INTEGER INBIFX, INBICW, IOFF, IFIROV, ISTART, ILWORK C INTEGER C2PACK, C2BITW EXTERNAL C2PACK, C2BITW C INTRINSIC ABS C C ----------------------------------------------------------------- C* Section 1 . Performs initial checks. C ----------------------------------------------------------------- C 100 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) OCOMGR, OPTLEN, OLONLY, KNSPT #ifndef ebug2o ENDIF #endif C IRETFN = 0 ICOUNT=0 ILDSTA=21 IBITGW=8 INBITO=KSEC4(2) KLWORX=0 C IF (.NOT.OCOMGR) THEN C IF (OLONLY) THEN IRETFN = 21110 WRITE(GRPRSM,FMT=9110) GOTO 900 ELSE INBIFO=KNBIFO INBICW=KSEC4(11) IFIROV=KFIROV KLWORX=KFIROV ISTART=KSTART GOTO 300 ENDIF C ENDIF C C ----------------------------------------------------------------- C* Section 2 . Computing of references and lengths of groups. C ----------------------------------------------------------------- C 200 CONTINUE C IFIROV=(KLWORK+1) INBIFO=INBITO INBICW=INBITO INCMIN=MIN (MAX (KNCMIN,1),1+KLEN/2) ISIZEG=1 + INT ( SQRT ( REAL (KLEN-1) ) /5. ) ISIZEG=MAX (ISIZEG,INCMIN) ICWORK=1 ISTART=1 C C Initial value for criterion to minimize in iterative process. C Over-estimated (expressed in bits instead of octets). C ICRITO=8+IFIROV*(INBIFO+1)-1+8+(KLEN+1)*(INBICW+1)-1 C IF (OPTLEN) THEN C C In this case, no predetermined number of bits is assigned. C An iterative process will compute a number of bits leading to C a (relative) minimum length of coded message. C INBITX=ABS (KSEC4(11)) INBITN=0 INBIT=MAX (INBITX-1,INBITN) INCRBI=-MIN ( 3 , MAX (1,(INBIT-INBITN)/3) ) ELSE C C Width (number of bits for second-order values) is KSEC4(11). C INBITX=KSEC4(11) INBITN=KSEC4(11) INBIT=KSEC4(11) INCRBI=-1 ENDIF C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9200) INBITO, (KSEC4(J),J=1,13), X INCMIN, ISIZEG #ifndef ebug2o ENDIF C #endif C ----------------------------------------------------------------- C Start of iterative process. C ----------------------------------------------------------------- C 210 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9210) INBITX, INBITN, INBIT, INCRBI #ifndef ebug2o ENDIF C #endif ICOUNT=0 IGROUP=0 IFOMAX=0 IPOWER=KPOWER(INBIT) C C ----------------------------------------------------------------- C Determination of an initial group. C ----------------------------------------------------------------- C 220 CONTINUE C ISIZEG=MIN (ISIZEG,KLEN-ICOUNT) C C Extrema computed in-line for better efficiency. C IDMAX=KDATA(ICOUNT+1) IDMIN=KDATA(ICOUNT+1) C DO 221 J=2,ISIZEG IDMAX=MAX (IDMAX,KDATA(ICOUNT+J)) IDMIN=MIN (IDMIN,KDATA(ICOUNT+J)) 221 CONTINUE C ISOMAX=IDMAX-IDMIN C PRINT *,'c2cwid - ICOUNT=',ICOUNT,', ISIZEG=',ISIZEG, C S ', IDMIN=',IDMIN,', IDMAX=',IDMAX,', ISOMAX=',ISOMAX C IF (ISOMAX.GT.IPOWER) THEN C C Initial segment does not fit within INBIT bits, reduce and retry. C ISIZEG=ISIZEG/2 GOTO 220 ELSEIF (ISIZEG.LT.INCMIN.AND.IGROUP.NE.0) THEN C C Initial group size very small. Try to join previous group... C IDMAXG=MAX (IDMAX,IDMAXG) IDMING=MIN (IDMIN,IDMING) ISOMAX=IDMAXG-IDMING C IF (ISOMAX.LE.IPOWER) THEN C C ... succesfully. C KLENGR(IGROUP,ICWORK)=KLENGR(IGROUP,ICWORK)+ISIZEG ICOUNT=ICOUNT+ISIZEG GOTO 241 ENDIF C ENDIF C IDMAXG=IDMAX IDMING=IDMIN IOFF=ICOUNT+ISIZEG INCR=MIN (ISIZEG,KLEN-IOFF) C IF (INCR.EQ.0) THEN GOTO 240 ENDIF C C ----------------------------------------------------------------- C Try to add increments to initial group. C ----------------------------------------------------------------- C 230 CONTINUE C IDMAX=IDMAXG IDMIN=IDMING C #ifdef FUJITSU !OCL SCALAR #endif DO 231 J=1,INCR IDMAX=MAX (IDMAX,KDATA(IOFF+J)) IDMIN=MIN (IDMIN,KDATA(IOFF+J)) 231 CONTINUE #ifdef FUJITSU !OCL VECTOR #endif C ISOMAX=IDMAX-IDMIN C PRINT *,'c2cwid - IOFF=',IOFF,', ISIZEG=',ISIZEG, C S ', INCR=',INCR,', ISOMAX=',ISOMAX,', IGROUP+1=',IGROUP+1 C C If end of data very near, relax constraint on minimum increment. C INCMIR=MAX ( 1, MIN (KLEN-IOFF,INCMIN) ) C IF (ISOMAX.LE.IPOWER) THEN C C Incremental group added to current group. C IDMAXG=IDMAX IDMING=IDMIN IOFF=IOFF+INCR INCR=MIN (ISIZEG,KLEN-IOFF) C IF (INCR.NE.0) THEN GOTO 230 ENDIF C ELSEIF (INCR.GT.INCMIR) THEN C C Incremental group does not fit, try a smaller one. C INCR=MAX (INCR/2,INCMIR) GOTO 230 ENDIF C C ----------------------------------------------------------------- C No incremental group may be added. Current group is closed. C ----------------------------------------------------------------- C 240 CONTINUE C IGROUP=IGROUP+1 KLENGR(IGROUP,ICWORK)=IOFF-ICOUNT ICOUNT=IOFF ISOMAX=IDMAXG-IDMING C C Maximum use of width for second-order values: the maximum value C of group will be encoded with the biggest value fitting in C INBIT bits, and keeping reference value positive or zero. C C The goal is to get the lowest reference value, thus trying C (desperately) to save bit(s) to encode the first-order values. C 241 CONTINUE C KREFGR(IGROUP,ICWORK)=MAX (0,IDMING-(IPOWER-ISOMAX)) IFOMAX=MAX (IFOMAX,KREFGR(IGROUP,ICWORK)) #ifdef ebug2o C IF (.NOT.OLONLY) THEN PRINT *,'c2cwid - group',IGROUP,KLENGR(IGROUP,ICWORK),INBIT X ,' (...)',IDMING,ISOMAX,KREFGR(IGROUP,ICWORK),ICOUNT ENDIF #endif C IF (ICOUNT.EQ.KLEN) THEN GOTO 250 ELSEIF (IGROUP.LT.KLWORK) THEN ISIZEG=MAX (INCMIN,ISIZEG,KLENGR(IGROUP,ICWORK)/2) GOTO 220 ELSE C C Out of work space. A message is issued, except in iterative C process, if the estimated length is already bigger than C previously computed. C KLWORX=MAX (KLWORX,IGROUP) ICRITR=(8+(IGROUP+1)*INBIFO-1)/8+(8+KLEN*INBIT-1)/8 C IF (ICRITR.LT.ICRITO) THEN WRITE(GRPRSM,FMT=9240) KLWORK, INBIT ENDIF C IF (INBIT.LT.INBITX.AND.INBIT.GT.INBITN) THEN C C Other bit value(s) may still be tried. C ICRITR=ICRITO+1 GOTO 260 ELSEIF (INBICW.NE.INBITO) THEN C C A constant width has been successfully computed before. C It will be used as the best computable result. C GOTO 270 ELSE IRETFN = 21240 GOTO 900 ENDIF C ENDIF C 250 CONTINUE C KLWORX=MAX (KLWORX,IGROUP) C C Number of bits necessary to code first-order values. C INBIFX = C2BITW ( IFOMAX, INBITO, KPOWER, KMXPWR ) C ICRITR=(8+IGROUP*INBIFX-1)/8+(8+KLEN*INBIT-1)/8 C 260 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9260) INBIT, INBIFX, IGROUP, ICRITR #ifndef ebug2o ENDIF C #endif IF (ICRITR.LT.ICRITO) THEN C C INBIT may be retained, at least temporarily, for constant width. C INBICW=INBIT IFIROV=IGROUP INBIFO=INBIFX KIWORK=ICWORK ICWORK=1+MOD (ICWORK,2) ICRITO=ICRITR C IF (INBIT.GT.INBITN) THEN C C Decrease INBIT for next trial. C IF (INCRBI.LT.0) THEN INCRBI=MAX ( INCRBI , MIN (-1,(INBITN-INBIT)/3) ) ELSE INCRBI=MAX ( MIN (-1,1-INCRBI) , INBITN-INBIT ) ENDIF C INBITX=INBIT-1 INBIT=INBIT+INCRBI GOTO 210 ENDIF C ENDIF C IF (INBIT.LT.INBITX) THEN C C INBIT not suitable, increase it and retry. C INBITN=INBIT+1 INCRBI=MIN ( MAX (ABS(1-INCRBI),1) , INBITX-INBIT ) INBIT=INBIT+INCRBI GOTO 210 C ENDIF C C Work done, and/or no better length than previously. C 270 CONTINUE C C Compute full length of section 4 of GRIB. C KLEN4=ILDSTA + 1 + (8+KLEN-1)/8 + ICRITO KLEN4=2*((2+KLEN4-1)/2) KNBIFO=INBIFO KFIROV=IFIROV C IF (OPTLEN) THEN KSEC4(11)=INBICW ENDIF C IF (OLONLY) THEN C C Length has been computed, go back without any coding. C GOTO 900 C ENDIF C C ----------------------------------------------------------------- C* Section 3. Definition of fixed-length descriptors and coding. C ----------------------------------------------------------------- C 300 CONTINUE C C The first 10 octets have already been coded in GRIBEX, or will C be in a further step of GRIBEX: C Length of section, flags+unused bit count, binary scale factor, C reference value. C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9300) #ifndef ebug2o ENDIF C #endif C Enforce right values for extended flags. C KSEC4( 9)=32 KSEC4(10)=0 KSEC4(12)=0 C C Extra descriptors. C KSEC4(18)=KFIROV KSEC4(20)=IBITGW ILWORK=KLWORK-ISTART+1 C C KREFGR alone in call corresponds to a formal argument of function C C2PACK, which has to be there but is not used for constant width C packing. C IRETFN = C2PACK ( KDATA, KLENP, KSEC4, KGRIB, KLENG, KNSPT, X KBITS, KLEN, KREFGR(ISTART,KIWORK), X KLENGR(ISTART,KIWORK), KREFGR, X KREFGR, ILWORK, KPOWER, KMXPWR, KNBIFO, ODEBUG ) C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C C2CWID = IRETFN #ifndef ebug2o C IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IRETFN, OCOMGR, OPTLEN, OLONLY, KNSPT #ifndef ebug2o ENDIF #endif C RETURN C 9100 FORMAT (' C2CWID: Function start, OCOMGR = ',L1, X ', OPTLEN = ',L1,', OLONLY = ',L1,', KNSPT =',I10,'.') C 9110 FORMAT (' C2CWID: Routine called, but has nothing to do.') C 9200 FORMAT (' C2CWID: Computing work arrays, INBITO =',I3,'.',/, X ' C2CWID: KSEC4(1:13)=',I9,I3,I4,3I3,I2,4I3,2I2,'.',/, X ' C2CWID: INCMIN =',I3,', ISIZEG =',I6,'.') C 9210 FORMAT (' C2CWID: INBITX =',I3,', INBITN =',I3,', INBIT =',I3, X ', INCRBI =',I3,'.') C 9240 FORMAT (' C2CWID: Groups number exceeds work space (',I8, X '), giving up for INBIT =',I3,'.') C 9260 FORMAT (' C2CWID: INBIT =',I3,', INBIFX =',I3,', IGROUP =',I8, X ', ICRITR =',I9,'.') C 9300 FORMAT (' C2CWID: Coding phase - calling C2PACK.') C 9900 FORMAT (' C2CWID: Function return code=',I6, X ', OCOMGR/OPTLEN/OLONLY/KNSPT=',3L1,I10,'.') C END emoslib-000392+dfsg.1/gribex/ecdef11.h0000755000175000017500000000360412127406245020325 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 11. C Supplementary data used by the analysis C --------------------------------------- C C Octet KSEC1(n) C ----- -------- C C 41 37 ECMWF local GRIB use definition identifier: C 11 = Supplementary data used by the analysis C C 42 38 Class C C 43 39 Type C C 44-45 40 Stream C C 46-49 41 Version number/experiment identifier. C (four ASCII characters, right justified) C C Followed by details of the analysis which used the supplementary data: C C 50 42 Class of analysis C C 51 43 Type of analysis C C 52-53 44 Stream of analysis C C 54-57 45 Version number/experiment identifier of analysis C (four ASCII characters, right justified) C C 58 46 Year of analysis (YY) C C 59 47 Month of analysis (MM) C C 60 48 Day of analysis (DD) C C 61 49 Hour of analysis (HH) C C 62 50 Minute of analysis (MM) C C 63 51 Century of analysis C C 64 52 Originating centre of analysis C C 65 53 Sub-centre of analysis C C 66-72 - Spare (set to zero) C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/ref2grb.F0000755000175000017500000000766312127406245020415 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION REF2GRB(PREF, KEXP, KMANT, KBITS) C C----> C**** REF2GRB C C Purpose. C -------- C C Code and check reference value in IBM format C C C** Interface. C ---------- C C CALL REF2GRB(PREF, KEXP, KMANT, KBITS) C C C Input Parameters. C ----------------- C C PREF - Reference value C KBITS - Number of bits per computer word. C C C Output Parameters. C ----------------- C C KEXP - 8-bit exponent C KMANT - 24-bit mantissa C C Function returns 0 if no problems encountered, otherwise -1. C C C Method. C ------- C C Codes in IBM format, then decides to ensure that reference C value used for packing is not different from that stored C because of packing differences. C C C Externals. C ---------- C C CONFP3 - Encode into IBM floating point format. C DECFP - Decode from IBM floating point format. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF 17:05:94 C C C Modifications. C _____________ C C Change to function return status code. C J.D.Chambers ECMWF August, 2000 C C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C #include "grbcom.h" C C Subroutine arguments C REAL PREF INTEGER KEXP, KMANT, KBITS C C Local variables C INTEGER ITRND REAL ZTEMP LOGICAL LDEBUG C C -----------------------------------------------------------------| C* Section 1. Convert to and from IBM format. C -----------------------------------------------------------------| C 100 CONTINUE C REF2GRB = 0 C LDEBUG = (NDBG.EQ.1) C C Convert floating point reference value to IBM representation. C ITRND = 1 ZTEMP = PREF CALL CONFP3 (PREF,KEXP,KMANT,KBITS,ITRND) C C Set reference value to that actually stored in the GRIB code. C CALL DECFP2 (PREF,KEXP,KMANT) C C If the nearest number which can be represented in C GRIB format is greater than the reference value, C find the nearest number in GRIB format lower C than the reference value. C IF (ZTEMP.LT.PREF) THEN C C Convert floating point to GRIB representation C using truncation to ensure that the converted C number is smaller than the original one. C ITRND = 0 PREF = ZTEMP CALL CONFP3 (PREF,KEXP,KMANT,KBITS,ITRND) C C Set reference value to that stored in the GRIB code. C CALL DECFP2 (PREF,KEXP,KMANT) C IF (ZTEMP.LT.PREF) THEN IF( LDEBUG ) THEN WRITE(GRPRSM,*) 'REF2GRB: Reference value error.' WRITE(GRPRSM,*) 'REF2GRB: Notify Met.Applications Section.' WRITE(GRPRSM,*) 'REF2GRB: ZTEMP = ', ZTEMP #ifdef REAL_8 WRITE(GRPRSM,'(1X,Z16)') ZTEMP #else WRITE(GRPRSM,'(1X,Z8)') ZTEMP #endif WRITE(GRPRSM,*) 'REF2GRB: PREF = ', PREF #ifdef REAL_8 WRITE(GRPRSM,'(1X,Z16)') PREF #else WRITE(GRPRSM,'(1X,Z8)') PREF #endif REF2GRB = -1 ENDIF C PREF = ZTEMP ENDIF ENDIF C C -----------------------------------------------------------------| C* Section 9. Return. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/ecdef15.F0000755000175000017500000001146512127406245020273 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF15(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KPR,KRET) C C----> C**** ECDEF15 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 15. C C** Interface. C ---------- C C CALL ECDEF15(HFUNC,KSEC1,KGRIB,KLENG,KNSPT,KBITS,KPR,KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 15. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ECLOC15.F - simplified to handle just definition 15. C #include "ecdef15.h" C C Author. C ------- C C J.D.Chambers ECMWF February 2000 C C C Modifications. C -------------- C C None. C C C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C C Parameters C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, LOOP LOGICAL LENCODE C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC.EQ.'C' ) C C -----------------------------------------------------------------| C* Section 2 . Handle definition 15. C -----------------------------------------------------------------| C 200 CONTINUE C C Octet 50-51 : Ensemble member number. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF C IF( .NOT. LENCODE ) KSEC1(43) = 0 C C Octet 52-53 : System number. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(44),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF C C Octet 54-55 : Method number. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(45),1,KBITS,16,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF C C Octet 56-60 : Spare C Five 8 bit fields. C IZERO = 0 IF( LENCODE ) THEN DO LOOP = 1, 5 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) THEN KRET = 2 GOTO 990 ENDIF ENDDO ELSE KNSPT = KNSPT + 40 ENDIF C C -----------------------------------------------------------------| C* Section 9 . Abort/return to calling routine. Format statements. C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) WRITE(GRPRSM,*) 'ECDEF15: Output: KNSPT = ', KNSPT C C Abort if requested to do so when an error has been encountered. C IF( (IRET.EQ.0).AND.(KRET.NE.0) ) CALL ABORTX ('ECDEF15') C RETURN C 990 CONTINUE WRITE(GRPRSM,*) 'ECDEF15: Error reported by routine INXBIT.' RETURN C END emoslib-000392+dfsg.1/gribex/gendir.F0000755000175000017500000001157112127406245020325 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GENDIR (HPARAM,KARRAY,KLEN,HLINE,KIN,KOUT,HLAST,KRET) C C----> C**** GENDIR - Generate directive lines for MARS. C C Purpose. C -------- C C Creates mars directive line(s) in character format C from list of integers. C C** Interface. C ---------- C C CALL GENDIR (HPARAM,KARRAY,KLEN,HLINE,KIN,KOUT,HLAST,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input parameters. C ----------------- C C HPARAM - MARS parameter being used. C KARRAY - Array of required values. C KLEN - Number of values. C HLINE - Array of 80 character variables. C KIN - Dimension of array HLINE. C HLAST - Terminating character for directive line(s) C KRET - Abort/no abort when error found. C 0 , abort if error found. C Non-zero , no abort on error. C C Output parameters. C ------------------ C C LINE - MARS directive line(s) C KOUT - Number of lines generated. C KRET - Error return code. C 0 , No error encountered. C 1 , Output character array too small. C C Method. C ------- C C Integers converted to characters and packed to remove C spaces. Lines are broken at / character for MARS input. C C Externals. C ---------- C C RTB C REMSP C C Reference. C ---------- C C MARS User Guide for directive description. C C Comments. C --------- C C See also GENINT which performs the reverse function. C Program contains sections 0 to 2 and section 9. C C Author. C ------- C C J. Hennessy ECMWF 16:10:86. C C Modifications. C -------------- C C J. Hennessy ECMWF 10:07:91. C Print of error message added. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C INTEGER RTB C C CHARACTER*80 HLINE CHARACTER*10 YTEMP CHARACTER*(*) HPARAM CHARACTER*1 HLAST C DIMENSION KARRAY(*) DIMENSION HLINE(KIN) C C C ---------------------------------------------------------------- C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 1000 CONTINUE C IRET = KRET KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C* Section 2 . Convert integer data to required character format. C ---------------------------------------------------------------- C 2000 CONTINUE C KOUT = 1 HLINE(KOUT)(1:) = HPARAM(1:) ILEN = RTB (HLINE(KOUT)) ICHAR = ILEN + 1 HLINE(KOUT)(ICHAR:ICHAR) = '=' ICHAR = ICHAR + 1 C DO 2010 I=1,KLEN WRITE (YTEMP(1:10),'(I10)') KARRAY(I) CALL REMSP (YTEMP) ILEN = RTB (YTEMP) ILAST = ILEN + ICHAR IF (ILAST.GT.80) C THEN ICHAR = 1 KOUT = KOUT + 1 IF (KOUT.GT.KIN) C THEN KRET = 1 WRITE (*,9001) KIN , KOUT GO TO 9000 ENDIF ENDIF HLINE(KOUT)(ICHAR:) = YTEMP(1:ILEN) ICHAR = ICHAR + ILEN HLINE(KOUT)(ICHAR:) = '/' ICHAR = ICHAR + 1 2010 CONTINUE C ILEN = RTB (HLINE(KOUT)) HLINE(KOUT)(ILEN:ILEN) = HLAST C C ---------------------------------------------------------------- C C C C C C C C C C C C C C C C C C* Section 9 . Return to calling routine or abort. C ------------------------------------------------------------------ C 9000 CONTINUE C 9001 FORMAT (1H ,'GENDIR : Character array is dimensioned ',I3, C ' but should be at least ',I3,'.') C IF (KRET.NE.0.AND.IRET.EQ.0) CALL ABORT C RETURN C END emoslib-000392+dfsg.1/gribex/btibm.special0000755000175000017500000006205712127406245021412 0ustar amckinstryamckinstry SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES C GBYTES C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C IBM version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) C CHARACTER*1 HFUNC C C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C SYSABN C C Reference. C ---------- C C None. C C Comments. C --------- C C IBM version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL SYSABN (1) C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C IBM version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 32 KNEG = -2147483647 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END * * IBM Assembler version of GBYTE(S) and SBYTE(S). * * **** DOCUMENTATION **** * WRITTEN BY JORDAN HASTINGS AND DENNIS JOSEPH * NCAR, BOULDER, COLORADO * * THE FOLLOWING ROUTINES ALLOW FORTRAN ACCESS TO BIT STRINGS (BYTE * OF ARBITRARY LENGTH AND POSITION, PERHAPS CROSSING WORD BOUNDARIES, * IN THE MANNER SPECIFIED BELOW: * * CALL GBYTE (PCKD,UNPK,INOFST,NBIT) * CALL GBYTES(PCKD,UNPK,INOFST,NBIT, NSKIP,ITER) * * PCKD: THE FULLWORD IN MEMORY FROM WHICH UNPACKING IS TO * BEGIN; SUCCESSIVE FULLWORDS WILL BE FETCHED AS * REQUIRED. * UNPK: THE FULLWORD IN MEMORY INTO WHICH THE INITIAL BYTE * OF UNPACKED DATA IS TO BE STORED; SUBSEQUENT BYTES * WILL BE STORED INTO SUCCESSIVE FULLWORDS AS * REQUIRED. * INOFST: A FULLWORD INTEGER SPECIFYING THE INITAL OFFSET * IN BITS OF THE FIRST BYTE, COUNTED FROM THE * LEFTMOST BIT IN PCKD. * NBITS: A FULLWORD INTEGER SPECIFYING THE NUMBER OF BITS * IN EACH BYTE TO BE UNPACKED. LEGAL BYTE WIDTHS * ARE IN THE RANGE 1 - 32; BYTES OF WIDTH .LT. 32 * WILL BE RIGHT JUSTIFIED IN THE LOW-ORDER POSITIONS * OF THE UNPK FULLWORDS, WITH HIGH-ORDER ZERO FILL. * NSKIP: A FULLWORD INTEGER SPECIFYING THE NUMBER OF BITS * TO SKIP BETWEEN SUCCESSIVE BYTES. ALL NON-NEGATIVE * SKIP COUNTS ARE LEGAL. * ITER: A FULLWORD INTEGER SPECIFYING THE TOTAL NUMBER OF * BYTES TO BE UNPACKED, AS CONTROLLED BY INOFST, * NBIT AND NSKIP ABOVE. ALL NON-NEGATIVE ITERATION * COUNTS ARE LEGAL. * * NOTES ... * 1) A MULTIPLE-BYTE ACCESS (GBYTES) WITH ITER=0 (BUT * NOT 1) IS EXACTLY EQUIVALENT TO A SINGLE-BYTE * ACCESS (GBYTE). * 2) AN ERROR DETECTED IN THE CALLING SEQUENCE OF * EITHER GBYTE OR GBYTES SUPPRESSES BYTE ACCESS, * AND SETS THE FIRST ELEMENT OF UNPK = X'FFFFFFFF' * GBYT TITLE 'IBM S/360 VERSION OF NCAR CDC/6600 BIT MANIPULATION' * * **** REGISTER USAGE **** ZERO EQU X'0' CONSTANT ZERO PCKD EQU X'1' ADDR OF PACKED ARY ELEMENT UNPK EQU X'2' ADDR OF UNPACKED ARY ELEMENT OFST EQU X'3' INITIAL BIT OFFSET NBIT EQU X'4' BYTE LENGTH IN BITS (.LE.32) NSKP EQU X'5' ITERATIVE BIT SKIP ITER EQU X'6' ITERATION COUNT (.GE.0) BITR EQU X'7' BITS REMAINING IN HIWD BITS EQU X'8' BITS TO SHIFT (OFST OR NSKP) WORK EQU X'9' WORK REGISTER HIWD EQU X'A' HI-ORDER WORD (EVEN REGISTER LOWD EQU X'B' LO-ORDER WORD (ODD REGISTER) BYTE EQU X'C' RESULTANT BYTE * EQU X'D' SAVE AREA ADDR (NOT MODIFIED) * EQU X'E' RETURN ADDR (NOT MODIFIED) BASE EQU X'F' BASE ADDR REGISTER NBFW EQU 4 NUMBER OF BYTES/FULL WORD * * * **** CODE **** * GBYTES CSECT , PRIME ENTRY POINT ENTRY GBYTE ALTERNATE ENTRY POINT * USING GBYTES,BASE ENTRY PT ADR ESTB IN R15 BY CALLER SAVE (0,12) SAVE CALLING PROG REGISTERS (MACRO) LM NSKP,ITER,4*NBFW(1) PICK UP NSKIP, ITER PARM ADDRESSES L NSKP,0(,NSKP) PICK UP BIT SKIP COUNT L ITER,0(,ITER) PICK UP ITERATION COUNT B INIT JUMP INTO CODE PROPER * GBYTE DS 0H FORCE HALFWD ALLIGNMENT USING GBYTE,BASE ALT ENTRY ADDR ESTB IN R15 BY CALLER SAVE (0,12) SAVE CALLING PROG REGISTERS (MACRO) SR ITER,ITER MAKE ITERATION COUNT ZERO * INIT BALR BASE,0 RE-ESTABLISH ADDRESSABILITY USING *,BASE LM PCKD,NBIT,0(1) PICK UP ARY AND PARAMETER ADDRESSES L LOWD,0(,OFST) COMPUTE FIRST PCKD WORD AND OFFSET LA WORK,32 SR HIWD,HIWD DR HIWD,WORK LR OFST,HIWD SET OFFSET TO REMAINDER SLA LOWD,2 AR PCKD,LOWD INCR PCKD ADDRESS BY WHOLE WORDS L HIWD,0(,PCKD) PICK UP FIRST WORD OF PACKED ARY LH BITR,=H'32' AFTER HIWD FETCH FULL 32 BITS REMAIN L NBIT,0(,NBIT) PICK UP NO. OF BITS/BYTE TO UNPACK SR ZERO,ZERO ZERO OUT REG 0 LR WORK,BITR MAKE WORK=32 CR ITER,ZERO TEST FOR ZERO ITERATION COUNT BH INIT1 IF NOT, CONTINUE WITH INITIALIZATION INIT0 CR OFST,BITR ELSE, TEST INITIAL OFFSET IN RANGE BNL FAIL IF NOT .LT. 32, FAIL LH ITER,=H'1' FORCE EXACTLY 1 ITERATION B INIT2 INIT1 AR NSKP,NBIT ADD NBIT TO NSKP FOR MULT ACCESS INIT2 LA PCKD,NBFW(PCKD) INCR PACKED ARY POINTER L LOWD,0(,PCKD) PICK UP SECOND WD OF PACKED ARRAY SR WORK,NBIT COMPLEMENT NBITS (MODULO 32) CR WORK,ZERO TEST NBITS IN RANGE BL FAIL IF NOT,.LE.32, FAIL STH WORK,STORE+4 ELSE USE TO SET UP BYTE SHIFT COUNT * OF SRL (RX) INSTR IN STORE SEQ LR BITS,OFST MAKE BITS TO SHIFT = INITIAL OFFSET LR WORK,BITR MAKE WORK=32, AGAIN * TEST CR BITS,BITR COMPARE BITS TO SHIFT WITH REMAINING BL SHIFT IF BITS.LT.BITR, PROCEED WITH SHIFT BH SPLIT IF BITS.GT.BITR, ITER OVER SPLIT WDS * BE COPY ELSE, IF BITS.EQ.BITR, RECOPY HIWD * COPY L HIWD,0(,PCKD) RELOAD HIWD FROM MEM WITH PREV LOWD LA PCKD,NBFW(PCKD) INCR PACKED ARY POINTER L LOWD,0(,PCKD) AND PICK UP NEXT PACKED LOWD LR BITR,WORK RESET BITR TO 32 B STORE PROCEED WITH STORE OPERATIONS * SPLIT STH BITR,*+6 SET UP BITR AS SLDL SHIFT COUNT SLDL HIWD,*-* SHIFT LEFT DOUBLE LOGICAL, HIWD/LOWD SR BITS,BITR DECR BITS TO SHIFT BY SHIFTED BITR B SPLIT1 BYPASS FAST FULLWORD SKIPS LR OFST,BITS COPY BITS REMAINING TO SHIFT TO OFST * (DESTROYING INITAL OFFSET PARM) SRA OFST,5 DIVIDE BY 32 TO GET WORDS TO SHIFT * CR OFST,ZERO SIMULTANEOUSLY SETTING COND CODE * IF REMAINING SHIFT .LT. 1 WORD BNH SPLIT1 FETCH NEXT SEQUENTIAL LOWD IMMED SLA OFST,2 ELSE, MULTIPLY WDS BY 4 TO GET BYTES AR PCKD,OFST INCR PACKED ARRAY POINTER L HIWD,0(,PCKD) AND LOAD NEW HIWD SLA OFST,3 MULTIPY BYTES BY 8 TO GET BITS SR BITS,OFST AND DECR BITS REMAINING TO SHIFT SPLIT1 LA PCKD,NBFW(PCKD) INCR PACKED ARY PTR L LOWD,0(,PCKD) AND PICK UP NEXT PACKED LOWD LR BITR,WORK RESET BITR TO 32 B TEST ITERATE AS NECESSARY * SHIFT STH BITS,*+6 SET UP BITS AS SLDL SHIFT COUNT SLDL HIWD,*-* SHIFT LEFT DOUBLE LOGICAL, HIWD/LOWD SR BITR,BITS DECR BITS REMAINING BY BITS SHIFTED * STORE LR BYTE,HIWD COPY HIWD TO BYTE SRL BYTE,*-* SHIFT RIGHT(WITH HI-ORDER ZERO FILL) * *-* SHIFT COUNT SET UP AT INIT2 STORE1 ST BYTE,0(,UNPK) FILL BYTE INTO UNPACKED ARY LA UNPK,NBFW(UNPK) AND INCR UNPACKED ARY POINTER LR BITS,NSKP RESTORE BITS = (NSKP+NBIT) BCT ITER,TEST DECR ITER COUNT, CONTINUE TILL ZERO * * EXIT RETURN (0,12) RESTORE CALLING PROG REGS (MACRO) * FAIL LH BYTE,=X'FFFF' MAKE BYTE A FULL WD OF 1'S ST BYTE,0(,UNPK) AND FILL INTO UNPACKED ARRAY B EXIT * LTORG END R0 EQU X'0' R1 EQU X'1' R2 EQU X'2' R3 EQU X'3' R4 EQU X'4' R5 EQU X'5' R6 EQU X'6' R7 EQU X'7' R8 EQU X'8' R9 EQU X'9' R10 EQU X'A' R11 EQU X'B' R12 EQU X'C' R13 EQU X'D' R14 EQU X'E' R15 EQU X'F' SBYTES CSECT , * * SBYTE/SBYTES - GENERAL BIT PACKING ROUTINES. * SEE NCAR - TN/93, JANUARY 1974. * D. JOSEPH OCTOBER, 1981. * ENTRY SBYTE USING SBYTES,R15 SAVE (0,12) STM R13,R14,REG13 SAVE REGISTER 13 AND 14 LOCAL. LM R11,R12,16(R1) GET SKIP AND ITERATION COUNT. L R11,0(R11) L R12,0(R12) B START SBYTE DS 0H USING SBYTE,R15 SAVE (0,12) STM R13,R14,REG13 SAVE REGISTER 13 AND 14 LOCAL. SR R12,R12 ZERO ITERATION COUNT. START BALR R15,R0 RE-ESTABLISH ADDRESSABILITY. USING *,R15 LM R7,R10,0(R1) GET REMAINING ARG ADDRESSES. LA R1,1 SET CONSTANT ONE. L R10,0(R10) GET BYTE SIZE. LA R0,1 MAKE MASK. SLL R0,31 SR R10,R1 STH R10,MASK+2 AR R10,R1 LA R6,32 MAKE CONSTANT 32. L R14,COMP LOAD COMPLEMENT MASK. MASK SRA R0,*-* LR R13,R0 SAVE MASK. SLL R12,2 NUM OF ITERATIONS * FOUR. AR R12,R8 SET ITERATION LIMIT. L R4,0(R9) APPLY INITIAL OFFSET. LA R1,96 CR R4,R1 CHECK FOR LARGE OFFSET. BL NODIV LR R5,R4 SR R4,R4 DR R4,R6 USE DIVIDE FOR LARGE OFFSET SLL R5,2 CHANGE WORD COUNT TO BYTE COUNT. AR R7,R5 NODIV EQU * LA R5,4 LOAD CONSTANT FOUR. RELOAD CR R4,R6 FIND WORD AND OFFSET. BL ILOAD START IF OFFSET < 32. SR R4,R6 AR R7,R5 B RELOAD ILOAD L R9,0(R7) GET STORE WORD. BEGIN STH R4,PMASK+2 POSITION MASK IN DOUBLE WORD. SR R1,R1 PMASK SRDL R0,*-* L R3,0(R8) LOAD BYTE FOR STORE. LA R2,64 SR R2,R10 POSITION BYTE. SR R2,R4 STH R2,SHIFTB+2 SR R2,R2 SHIFTB SLDL R2,*-* SHIFT BYTE TO STORE. NR R2,R0 MASK ON CURRENT MASK. XR R0,R14 COMPLEMENT MASK. NR R9,R0 OPEN HOLE FOR BYTE. OR R9,R2 INSERT BYTE. AR R4,R10 ADD BYTE SIZE. CR R4,R6 BNH NOPART BRANCH IF NO PARTIAL BYTE. ST R9,0(R7) STORE CURRENT WORD. SR R4,R6 AR R7,R5 ADD FOUR TO WORD ADDRESS. L R9,0(R7) LOAD NEXT WORD. NR R3,R1 ISOLATE PARTIAL BYTE. XR R1,R14 COMPLEMENT MASK. NR R9,R1 OPEN HOLE FOR PARTIAL BYTE. OR R9,R3 INSERT PARTIAL BYTE. NOPART AR R8,R5 COUNT BYTE. CR R8,R12 CHECK IF DONE. BNL DONE AR R4,R11 ADD SKIP AMOUNT. LR R0,R13 RELOAD MASK CR R4,R6 BL BEGIN BRANCH IF IN SAME WORD. ST R9,0(R7) STORE CURRENT WORD. B RELOAD GO TO GET NEW WORD. DONE ST R9,0(R7) STORE LAST WORD. LM R13,R14,REG13 RESTORE REGISTER 13 AND 14. RETURN (0,12) HMASK DS D ARE FOR CURRENT MASK. REG13 DS F REG14 DS F COMP DC X'FFFFFFFF' COMPLEMENT MASK. LTORG END emoslib-000392+dfsg.1/gribex/c2dosd.F0000755000175000017500000004223712127406245020236 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION C2DOSD ( KDATA, KLENP, KSEC4, OCOMSD, KLEN, X KWORK, KLWORK, KPOWER, KMXPWR, KPCWID, X KXCWID, KMINPK, KLWORX, KBIAS, KWIDSD, X KWIDOR, OCBIAS, ODEBUG ) C C----> C**** C2DOSD C C Purpose. C -------- C C Depending on actual arguments, Diagnose Order of Spatial C Differences, and/or when requested and order is not null, C computes spatial differences for GRIB second-order extended C packing. C C** Interface. C ---------- C C IORDER = C2DOSD ( KDATA, KLENP, KSEC4, OCOMSD, KLEN, KWORK, C X KLWORK, KPOWER, KMXPWR, KPCWID, KXCWID, KMINPK, C X KLWORX, KBIAS, KWIDSD, KWIDOR, OCBIAS, ODEBUG ) C C Function result value is the order of spatial differencing C (diagnosed or imposed). C C Input Parameters. C ----------------- C C KDATA - Array of normalized values. C KLENP - Length of array KDATA. C KSEC4 - Array of GRIB section 4 integer descriptors. C OCOMSD - True for COMputing Spatial Differences. C KLEN - Exact number of grid-points to handle. C KLWORK - Length of work array KWORK. C KPOWER - Auxilary array, precomputed (powers of 2)-1. C KMXPWR - Maximum number of bits allowed. C KPCWID - Auxilary array, precomputed widths. C KXCWID - Maximum width associated to KPCWID. C KMINPK - Initial (minimum) length of groups. C KBIAS - BIAS of spatial differences (if OCBIAS is .FALSE.). C OCBIAS - True for Computation of BIAS. C ODEBUG - True for some debug printout. C C C Output Parameters (effective only if function value is non zero). C ------------------ C C KDATA - Array of normalized values (transformed). C KWORK - Work array. C KLWORX - Upper index used within KWORK array. C KBIAS - BIAS of spatial differences. C KWIDSD - WIDth of Spatial Differencing specific descriptors. C KWIDOR - WIDth of field, after possible transformation. C C C Method. C ------- C C If requested (KSEC4(14) or KSEC4(15) equal to -1), first C compute "best" order of spatial differencing (up to 3) to be C applied to KDATA. Estimation is made through comparison of C average ranges of original field and of spatial differencing, C starting from order 1. C C If requested through OCOMSD and when order is non zero, computes C spatial differences on KDATA (keeping the first IORDER values C from original field, for encoding). C C C Externals. C ---------- C C MAXMNI - Computes extrema of integer array. C C2RNGE - Computes range diagnostics. C C2BITW - Computes bit width of a positive integer value. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C Best order is considered reached when average range is found C greater than previously diagnosed. This feature is derived from C practice, and reduces CPU costs. C C Work array use when diagnostic is requested: C C -if OCOMSD is true and if KLWORK is greater than (or equal to) C (2*KLEN-3), there is no recomputation from KDATA itself; C C -if KLWORK is greater than (or equal to) (KLEN-1), then KWORK C is used recursively; C C -otherwise, KDATA has to be used in slices and computation is C more expensive. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - April 1998. C C C Modifications. C _____________ C C J. Clochard, June 1999. C Use precomputed array to determine widths . Dummy-arguments C KPCWID and KXCWID added . Assumption is made that KXCWID C is at least (KMXPWR+1)/2 . KPCWID/KXCWID added in C2RNGE calls . C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JPORDR C C Maximum order of spatial differencing allowed. C PARAMETER ( JPORDR=3 ) C C Subroutine arguments C INTEGER KLENP, KLWORX, KLEN, KLWORK, KMXPWR, KMINPK, KBIAS, KWIDOR INTEGER KWIDSD, KXCWID INTEGER KDATA (KLENP), KSEC4 (*), KPOWER (0:KMXPWR), KPCWID (0:*) INTEGER KWORK (KLWORK) C LOGICAL OCOMSD, ODEBUG, OCBIAS C C Local variables. C INTEGER IBASE, IOFFWK, IREFER, J, INPACK, IMIN, IMAX, IXORDR INTEGER INBIFO, ILEN, IMAXAB, IWIDAB, IDIAGN, IOFFWP, ILWORX INTEGER JORDER, IORDER, IAUX1, IAUX2, IAUX3, IRANGE, IBITGW INTEGER INPACW, INBSEQ, JSEQ, ILWORK, IAUXIL, INPACS, IXBITS C INTEGER IDIAGO ( 0:JPORDR ), IMINAB (JPORDR), INBIAB (JPORDR) C INTEGER C2BITW, C2RNGE EXTERNAL C2BITW, C2RNGE C INTRINSIC ABS C LOGICAL L1PASS, LCBIAS, LIBIAS C C ----------------------------------------------------------------- C* Section 1 . Performs initial checks. C ----------------------------------------------------------------- C 100 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) OCOMSD, OCBIAS #ifndef ebug2o ENDIF #endif C IXORDR=MIN (JPORDR,KLEN) IXBITS=KSEC4(2) ILWORX=0 IBASE=0 L1PASS=OCOMSD.AND.KLWORK.GE.(KLEN-1) LIBIAS=.FALSE. C IF (KSEC4(14).NE.-1.AND.KSEC4(15).NE.-1) THEN C C Order of spatial differencing explicitly specified. C IORDER=MIN ( IXORDR, KSEC4(14)+KSEC4(15) ) LCBIAS=OCBIAS L1PASS=.FALSE. GOTO 400 C ELSEIF (OCOMSD.AND.KLWORK.GE.2*KLEN-3) THEN C IBASE=KLEN-1 C ENDIF C LCBIAS=.FALSE. C C ----------------------------------------------------------------- C* Section 2 . Computes average range of original normalized values. C ----------------------------------------------------------------- C 200 CONTINUE C INPACK=KLEN/KMINPK IDIAGN=0 IWIDAB=0 IREFER=0 C IOFFWK = C2RNGE ( INPACK, KMINPK, KSEC4(2), KDATA, IDIAGN, X IWIDAB, IREFER, KPOWER, KMXPWR, KPCWID, X KXCWID ) C INBIFO = C2BITW ( IREFER, KSEC4(2), KPOWER, KMXPWR ) C IBITGW = C2BITW ( IWIDAB, KSEC4(2), KPOWER, KMXPWR ) C C IDIAGN=(IDIAGN+7)/8 IDIAGN=(IDIAGN+7)/8+(INPACK*IBITGW+7)/8+(INPACK*INBIFO+7)/8 C IDIAGN=(IDIAGN+7)/8+(INPACK*IBITGW+7)/8 IDIAGO(0)=IDIAGN IORDER=0 C #ifndef ebug2o IF (ODEBUG) THEN #endif PRINT *, 'IDIAGO(0) = ', IDIAGN, INPACK, IBITGW, INBIFO C WRITE(GRPRSM,FMT=9211) 'original values', KMINPK, IDIAGO(0) #ifndef ebug2o ENDIF C #endif C C ----------------------------------------------------------------- C* Section 3 . Computes average range of spatial differences. C ----------------------------------------------------------------- C 300 CONTINUE C IOFFWP=0 INPACW=KLWORK/KMINPK ILWORK=INPACW*KMINPK C C Loop on order of spatial differencing. C DO 329 JORDER=1,IXORDR C C Compute spatial differences. C ILEN=KLEN-JORDER INPACK=ILEN/KMINPK IDIAGO(JORDER)=0 IWIDAB=0 IREFER=-KPOWER(KMXPWR) IOFFWK=MOD (JORDER-1,2)*IBASE IXBITS=MIN(IXBITS+1,KMXPWR) C IF (L1PASS) THEN C IF (JORDER.EQ.1) THEN C DO 301 J=1,ILEN KWORK(IOFFWK+J)=KDATA(J+1)-KDATA(J) 301 CONTINUE C ELSE C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 302 J=1,ILEN KWORK(IOFFWK+J)=KWORK(IOFFWP+J+1)-KWORK(IOFFWP+J) 302 CONTINUE C ENDIF C IOFFWP=IOFFWK ILWORX = MAX ( ILWORX, IOFFWK+ILEN ) C CALL MAXMNI (KWORK(IOFFWK+1),ILEN,IMAXAB,IMINAB(JORDER)) C C Check that extrema difference would not lead to overflow. C IRANGE=IMAXAB/2-IMINAB(JORDER)/2 C IF (IRANGE.GT.KPOWER(KMXPWR-1)) THEN IORDER=JORDER-1 WRITE(GRPRSM,FMT=9301) JORDER, IORDER GOTO 330 ENDIF C IAUXIL = C2RNGE ( INPACK, KMINPK, IXBITS, KWORK(IOFFWK+1), X IDIAGO(JORDER), IWIDAB, IREFER, KPOWER, X KMXPWR, KPCWID, KXCWID ) C ELSE C C Work array too short. Data array processed into slices. C INBSEQ=1+(ILEN-1)/ILWORK IMAXAB=-KPOWER(KMXPWR) IMINAB(JORDER)=KPOWER(KMXPWR) C DO 314 JSEQ=1,INBSEQ C IAUXIL=MIN (ILWORK,ILEN-(JSEQ-1)*ILWORK) INPACS=MIN (INPACW,INPACK-(JSEQ-1)*INPACW) C IF (JORDER.EQ.1) THEN C DO 311 J=1,IAUXIL KWORK(J)=KDATA(IOFFWK+J+1)-KDATA(IOFFWK+J) 311 CONTINUE C ELSEIF (JORDER.EQ.2) THEN C DO 312 J=1,IAUXIL IAUX1=KDATA(IOFFWK+J+1)-KDATA(IOFFWK+J ) IAUX2=KDATA(IOFFWK+J+2)-KDATA(IOFFWK+J+1) KWORK(J)=IAUX2-IAUX1 312 CONTINUE C ELSE C DO 313 J=1,IAUXIL IAUX1=KDATA(IOFFWK+J+1)-KDATA(IOFFWK+J ) IAUX2=KDATA(IOFFWK+J+2)-KDATA(IOFFWK+J+1) IAUX3=KDATA(IOFFWK+J+3)-KDATA(IOFFWK+J+2) KWORK(J)=(IAUX3-IAUX2)-(IAUX2-IAUX1) 313 CONTINUE C ENDIF C ILWORX = MAX ( ILWORX, IAUXIL ) C CALL MAXMNI (KWORK,IAUXIL,IMAX,IMIN) IMAXAB=MAX (IMAXAB,IMAX) IMINAB(JORDER)=MIN (IMINAB(JORDER),IMIN) C C Check that extrema difference would not lead to overflow. C IRANGE=IMAXAB/2-IMINAB(JORDER)/2 C IF (IRANGE.GT.KPOWER(KMXPWR-1)) THEN IORDER=JORDER-1 WRITE(GRPRSM,FMT=9301) JORDER, IORDER GOTO 330 ELSEIF (INPACS.GT.0) THEN C IAUXIL = C2RNGE ( INPACS, KMINPK, IXBITS, KWORK, S IDIAGO(JORDER), IWIDAB, IREFER, S KPOWER, KMXPWR, KPCWID, KXCWID ) IOFFWK=IOFFWK+IAUXIL C ENDIF C 314 CONTINUE C ENDIF C IRANGE=IMAXAB-IMINAB(JORDER) C INBIAB(JORDER) = C2BITW ( IRANGE, KSEC4(2)+JORDER, X KPOWER, KMXPWR ) C INBIFO = C2BITW ( IREFER, IXBITS, KPOWER, KMXPWR ) C IBITGW = C2BITW ( IWIDAB, IXBITS, KPOWER, KMXPWR ) C IXBITS=INBIAB(JORDER) C C IDIAGO(JORDER)=(IDIAGO(JORDER)+7)/8 IDIAGO(JORDER)=(IDIAGO(JORDER)+7)/8+(INPACK*IBITGW+7)/8 S +(INPACK*INBIFO+7)/8 C IDIAGO(JORDER)=(IDIAGO(JORDER)+7)/8+(INPACK*IBITGW+7)/8 C #ifndef ebug2o IF (ODEBUG) THEN #endif PRINT *, 'JORDER=', JORDER, ', IDIAGO(.) = ', IDIAGO(JORDER), S INPACK, IBITGW, INBIFO C WRITE(GRPRSM,FMT=9211) 'spatial differences', KMINPK, S IDIAGO(JORDER) #ifndef ebug2o ENDIF C #endif C IF (IDIAGO(JORDER).LT.IDIAGN) THEN C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9312) 'in favour', JORDER #ifndef ebug2o ENDIF C #endif IDIAGN=IDIAGO(JORDER) IORDER=JORDER C ELSE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9312) '*NOT* in favour', JORDER #ifndef ebug2o ENDIF C #endif GOTO 330 C ENDIF C 329 CONTINUE C 330 CONTINUE C LIBIAS=.TRUE. #ifndef ebug2o C IF (ODEBUG) THEN #endif C DO 331 J=IORDER+2,JPORDR IDIAGO(J)=0 331 CONTINUE C WRITE(GRPRSM,FMT=9331) IORDER, IDIAGO #ifndef ebug2o ENDIF #endif C C ----------------------------------------------------------------- C* Section 4 . Computes spatial differences back into KDATA. C ----------------------------------------------------------------- C 400 CONTINUE C IF (IORDER.EQ.0) THEN C C Prognosis is that spatial differencing is not worth. C Nothing more to do then. C GOTO 900 C ELSEIF (.NOT.OCOMSD) THEN C C Computing of spatial differences not requested. C GOTO 500 C ELSEIF (IBASE.NE.0.OR.(IORDER.EQ.IXORDR.AND.L1PASS)) THEN C C Required data have been computed above, and are still C available. C IOFFWK=MOD(IORDER-1,2)*IBASE #ifdef ebug2o PRINT *,'c2dosd - Execution of loop 401, IORDER= ',IORDER, X ', IOFFWK= ',IOFFWK #endif C DO 401 J=1,KLEN-IORDER KDATA(IORDER+J)=KWORK(IOFFWK+J)-IMINAB(IORDER) 401 CONTINUE C ELSEIF (LCBIAS) THEN C C Spatial differences first computed without bias. C IF (IORDER.EQ.1) THEN #ifdef ebug2o C PRINT *,'c2dosd - Execution of loop 402, IORDER= ',IORDER #endif C DO 402 J=KLEN,2,-1 KDATA(J)=KDATA(J)-KDATA(J-1) 402 CONTINUE C ELSEIF (IORDER.EQ.2) THEN #ifdef ebug2o C PRINT *,'c2dosd - Execution of loop 403, IORDER= ',IORDER #endif C DO 403 J=KLEN,3,-1 IAUX1=KDATA(J-1)-KDATA(J-2) IAUX2=KDATA(J )-KDATA(J-1) KDATA(J)=IAUX2-IAUX1 403 CONTINUE C ELSE #ifdef ebug2o C PRINT *,'c2dosd - Execution of loop 404, IORDER= ',IORDER #endif C DO 404 J=KLEN,4,-1 IAUX1=KDATA(J-2)-KDATA(J-3) IAUX2=KDATA(J-1)-KDATA(J-2) IAUX3=KDATA(J )-KDATA(J-1) KDATA(J)=(IAUX3-IAUX2)-(IAUX2-IAUX1) 404 CONTINUE C ENDIF C C Now compute and remove bias. C ILEN=KLEN-IORDER CALL MAXMNI (KDATA(IORDER+1),ILEN,IMAXAB,IMINAB(IORDER)) #ifdef ebug2o C PRINT *,'c2dosd - Execution of loop 405, IORDER= ',IORDER, X ', Computed bias= ',IMINAB(IORDER) #endif C DO 405 J=IORDER+1,KLEN KDATA(J)=KDATA(J)-IMINAB(IORDER) 405 CONTINUE C C Compute width of spatial differences. C IRANGE=IMAXAB-IMINAB(IORDER) C INBIAB(IORDER) = C2BITW ( IRANGE, KSEC4(2)+IORDER, X KPOWER, KMXPWR ) C ELSEIF (IORDER.EQ.1) THEN C C Explicit computing for 1st-order spatial differences. C #ifdef ebug2o PRINT *,'c2dosd - Execution of loop 412, IORDER= ',IORDER, X ', Bias= ',KBIAS C #endif DO 412 J=KLEN,2,-1 KDATA(J)=KDATA(J)-KDATA(J-1)-KBIAS 412 CONTINUE C ELSEIF (IORDER.EQ.2) THEN C C Explicit computing for 2nd-order spatial differences. C #ifdef ebug2o PRINT *,'c2dosd - Execution of loop 413, IORDER= ',IORDER, X ', Bias= ',KBIAS C #endif DO 413 J=KLEN,3,-1 IAUX1=KDATA(J-1)-KDATA(J-2) IAUX2=KDATA(J )-KDATA(J-1) KDATA(J)=IAUX2-IAUX1-KBIAS 413 CONTINUE C ELSE C C Explicit computing for 3rd-order spatial differences. C #ifdef ebug2o PRINT *,'c2dosd - Execution of loop 414, IORDER= ',IORDER, X ', Bias= ',KBIAS C #endif DO 414 J=KLEN,4,-1 IAUX1=KDATA(J-2)-KDATA(J-3) IAUX2=KDATA(J-1)-KDATA(J-2) IAUX3=KDATA(J )-KDATA(J-1) KDATA(J)=(IAUX3-IAUX2)-(IAUX2-IAUX1)-KBIAS 414 CONTINUE C ENDIF C C Note that the IORDER first values of KDATA are kept unchanged. C These "integration constants" will be packed separately. C C ----------------------------------------------------------------- C* Section 5 . Computes additional descriptors. C ----------------------------------------------------------------- C 500 CONTINUE C IF (LCBIAS.OR.LIBIAS) THEN C KBIAS=IMINAB(IORDER) KWIDOR=INBIAB(IORDER) C C Extra descriptors specific to spatial differencing are C the IORDER first values of "original" field, the bias C of spatial differences, and the width for all of them. C CALL MAXMNI (KDATA,IORDER,IMAX,IMIN) IAUX1 = C2BITW ( IMAX, KMXPWR, KPOWER, KMXPWR ) IAUX2=IABS (KBIAS) IAUX3 = C2BITW ( IAUX2, KMXPWR, KPOWER, KMXPWR ) KWIDSD=MAX (IAUX1,1+IAUX3) C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9420) IORDER, KWIDOR, KWIDSD, X (KDATA(J),J=1,IORDER), KBIAS #ifndef ebug2o ENDIF #endif C ENDIF C C ----------------------------------------------------------------- C* Section 9 . Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C KLWORX=ILWORX C C2DOSD = IORDER C #ifndef ebug2o C IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IORDER #ifndef ebug2o ENDIF #endif C RETURN C 9100 FORMAT (' C2DOSD: Function start, OCOMSD = ',L1,', OCBIAS = ', X L1,'.') C 9211 FORMAT (' C2DOSD: Approx. s4 length, ',A,',',I3, X '-length groups:',I9,'.') C 9301 FORMAT (' C2DOSD: integer overflow for JORDER =',I2, X '. IORDER set to',I2,'.') C 9312 FORMAT (' C2DOSD: Range diagnostic is ',A, X ' of spatial differences, order',I2,'.') 9331 FORMAT (' C2DOSD: Selected order:',I2,', range diagnostics:', X 4I8,'.') C 9420 FORMAT (' C2DOSD: KWIDSD/KWIDOR/KDATA(1:',I1,')/KBIAS=',2I3,5I11) C 9900 FORMAT (' C2DOSD: Function return code =',I3,'.') C END emoslib-000392+dfsg.1/gribex/codegr.F0000755000175000017500000006505112127406245020322 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CODEGR (FPDATA,ILENF,IBITS,NBIT,IB1PAR, C IB2PAR,FVERT,ILENV,IGRIB,ILENG,IWORD, C IROUND,IERR) C C C----> C* C* NAME : CODEGR C* C* FUNCTION : CODE ARRAY OF FLOATING POINT VALUES IN WMO GRIB C* CODE - WITH ECMWF EXTENSIONS. C* C* INPUT : PARAMETERS FOR BLOCK 1 , PRODUCT DEFINITION BLOCK. C* -------------------------------------------------- C* IB1PAR - INTEGER ARRAY (DIMENSION 17) OF PRODUCT C* DEFINITION INFORMATION. C* C* WORD CONTENTS C* ---- -------- C* 1 ORIGINATING CENTRE IDENTIFIER. C* 2 MODEL IDENTIFICATION. C* 3 GRID DEFINITION. C* 4 FLAG ( CODE TABLE 1 ). C* 5 PARAMETER IDENTIFIER (CODE TABLE 2). C* 6 TYPE OF LEVEL (CODE TABLE 3). C* 7-8 VALUE(S) OF LEVEL (CODE TABLE 3). C* 9 YEAR OF DATA C* 10 MONTH OF DATA C* 11 DAY OF DATA C* 12 HOUR OF DATA C* 13 MINUTE OF DATA C* 14 TIME UNIT (CODE TABLE 4). C* 15 TIME RANGE ONE C* 16 TIME RANGE TWO C* 17 TIME RANGE FLAG (CODE TABLE 5). C* C* VALUE(S) OF LEVEL CAN OCCUPY 2 WORDS. C* FOR A LAYER THE FIRST WORD DEFINES THE TOP C* AND THE SECOND THE BOTTOM OF THE LAYER. C* FOR A SINGLE LEVEL, ONLY THE FIRST WORD IS C* USED. C* C* PARAMETERS FOR BLOCK 2 , GRID DEFINITION BLOCK. C* ----------------------------------------------- C* IB2PAR - INTEGER ARRAY (DIMENSION 11) CONTAINING GRID C* DEFINITION INFORMATION. C* USE VARIES WITH REPRESENTATION TYPE. C* C* WORD LAT/LONG GRID C* ---- ------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6) C* 2 NO. OF POINTS ALONG A LATITUDE C* 3 NO. OF POINTS ALONG A MERIDIAN C* 4 LATITUDE OF ORIGIN (SOUTH - IVE). C* 5 LONGITUDE OF ORIGIN (WEST - IVE). C* 6 EXTREME POINT/INCREMENTS FLAG.(CODE TABLE 7) C* 7 LATITUDE OF EXTREME POINT (SOUTH - IVE). C* 8 LONGITUDE OF EXTREME POINT (WEST - IVE). C* 9 LATITUDE INCREMENT C* 10 LONGITUDE INCREMENT C* 11 SCANNING MODE (CODE TABLE 8) C* C* WORD GAUSSIAN GRID C* ---- ------------- C* 1-9 AS FOR LAT/LONGITUDE GRID. C* 10 THE NUMBER OF LATITUDE LINES BETWEEN A POLE C* AND THE EQUATOR. C* 11 SCANNING MODE (CODE TABLE 8) C* C* WORD SPHERICAL HARMONICS C* ---- ------------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6) C* 2 J - PENTAGONAL RESOLUTION PARAMETER C* 3 K - PENTAGONAL RESOLUTION PARAMETER C* 4 M - PENTAGONAL RESOLUTION PARAMETER C* 5 REPRESENTATION TYPE (CODE TABLE 9) C* 6 REPRESENTATION MODE (CODE TABLE 10) C* 7-11 NOT USED C* C* C* USE FOR OTHER DATA REPRESENTATION TYPES IS C* TO BE DEFINED LATER. C* C* FVERT - REAL ARRAY OF VERTICAL COORDINATE PARAMETERS C* ILENV - LENGTH OF THIS ARRAY (NUMBER OF COORDINATE C* PARAMETERS). C* C* USED FOR HYBRID LEVELS ONLY. C* C* C* PARAMETERS FOR BLOCK 3 , BIT-MAP DEFINITION BLOCK. C* -------------------------------------------------- C* C* TO BE DEFINED LATER. C* C* PARAMETERS FOR BLOCK 4 , BINARY DATA BLOCK. C* ------------------------------------------- C* FPDATA - ARRAY OF FLOATING POINT VALUES. C* ILENF - LENGTH OF THIS ARRAY (NUMBER OF DATA C* VALUES TO BE CODED) C* IBITS - NUMBER OF BITS FOR CODED DATA VALUES. C* C* TO INDICATE MISSING DATA VALUES, ILENF IS C* MADE NEGATIVE AND ALL DATA VALUES SET TO 0. C* C* OTHER PARAMETERS C* ---------------- C* C* NBIT - NUMBER OF BITS IN COMPUTER WORD. C* C* IGRIB - ARRAY TO RECEIVE DATA IN GRIB CODE. C* ILENG - LENGTH OF THIS ARRAY. C* C* IROUND - 0 , NO ROUNDING. C* 1 , ROUND TO NEAREST 120 OCTETS. C* C* OUTPUT : IGRIB - DATA CODED IN GRIB CODE. C* IWORD - NUMBER OF WORDS OCCUPIED BY CODED DATA. C* C* IERR - ERROR INDICATOR. C* C* 0, NO ERROR. C* C* -1, NUMBER OF BITS PER DATA VALUE EXCEEDS C* WORD LENGTH, OR MAXIMUM ALLOWED. C* -2, OUTPUT ARRAY TOO SMALL TO HOLD CODED C* DATA VALUES. C* -3, CURRENTLY UNDEFINED OPTION SELECTED. C* -4, MISSING DATA FIELD CONTAINS NON-ZERO. C* C* 1, INVALID ORIGINATING CENTRE. C* 2, INVALID MODEL IDENTIFICATION. C* 3, INVALID GRID DEFINITION. C* 4, INVALID BLOCK INDICATOR FLAG C* 5, INVALID PARAMETER IDENTIFIER. C* 6, INVALID LEVEL TYPE INDICATOR. C* 7, ERROR IN DESCRIPTION OF LEVELS. C* 8, DATE/TIME ERROR. C* 9, INVALID TIME UNIT OR RANGE. C* 10, INVALID DATA REPRESENTATION TYPE. C* 11, INVALID EXTREME POINT/INCREMENT FLAG. C* C* JOHN HENNESSY , ECMWF , 15TH APRIL 1985 C* C* C----< C --------------------------------------------------------------- C C C C C C DIMENSION FPDATA(*),ILAT(2) DIMENSION IGRIB(ILENG),IBLOCK(24) DIMENSION FVERT(ILENV),IB1PAR(17),IB2PAR(11) C EQUIVALENCE (ZGRIB,JGRIB) C C C SET MAXIMUM NUMBER OF BITS PER DATA FIELD. C DATA IMAX /60/ C C CLEAR ERROR INDICATOR. C IERR = 0 C C C C C C******************************************************************** C* C* CHECK FOR MISSING DATA INDICATORS. C* C******************************************************************** C C IMISS = 0 IF (ILENF.LT.0) C THEN KLENF = - ILENF IMISS = 1 DO 50 I=1,KLENF IF (FPDATA(I).NE.0.) C THEN IERR = -4 WRITE (*,9012) 9012 FORMAT (1H ,'NON-ZERO VALUE IN MISSING DATA', C ' FIELD.') RETURN ENDIF 50 CONTINUE ELSE KLENF = ILENF ENDIF C C C C C******************************************************************** C* C* CHECK NUMBER OF BITS PER DATA FIELD. C* C******************************************************************** C C IF (IBITS.GT.NBIT.OR.IBITS.GT.IMAX) C THEN IERR = -1 WRITE (*,9000) IBITS,NBIT,IMAX 9000 FORMAT (1H ,'NUMBER OF BITS PER DATA VALUE, ',I3, C 'EXCEEDS WORD LENGTH, ',I3,' OR MAXIMUM ', C ' PERMITTED VALUE, ',I3) RETURN ENDIF C C C C C C C C C C C C******************************************************************** C* C* BLOCK 1 - PRODUCT DEFINITION BLOCK. C* C******************************************************************** C C C C*** C* THE LETTERS G R I B ARE INSERTED IN THE C* FIRST 4 ELEMENTS OF 'IBLOCK'. C*** C IBLOCK(1) = 71 IBLOCK(2) = 82 IBLOCK(3) = 73 IBLOCK(4) = 66 C C C C C C C C C*** C* IDENTIFICATION OF CENTRE C*** IBLOCK(5) = IB1PAR(1) IF (IB1PAR(1).LT.1.OR.IB1PAR(1).GT.98) C THEN IERR = 1 WRITE (*,9001) IB1PAR(1) 9001 FORMAT (1H ,'INVALID ORIGINATING CENTRE ',I3) RETURN ENDIF C C C C C C C C*** C* MODEL IDENTIFICATION C*** C IBLOCK(6) = IB1PAR(2) IF (IB1PAR(2).LT.1.OR.IB1PAR(2).GT.255) C THEN IERR = 2 WRITE (*,9002) IB1PAR(2) 9002 FORMAT (1H ,'INVALID MODEL IDENTIFICATION ',I4) RETURN ENDIF C C C C C C C C C*** C* GRID DEFINITION C*** C IBLOCK(7) = IB1PAR(3) IF (IB1PAR(3).LT.1.OR.IB1PAR(3).GT.255) C THEN IERR = 3 WRITE (*,9003) IB1PAR(3) 9003 FORMAT (1H ,'INVALID GRID IDENTIFICATION ',I4) RETURN ENDIF C C C C C C C C C*** C* OPTIONAL BLOCK INDICATOR FLAG ( CODE TABLE 1 ). C*** C IBLOCK(8) = IB1PAR(4) IF (IB1PAR(4).LT.0.OR.IB1PAR(4).GT.3) IERR = 4 C C CHECK IF GRID SPECIFIED IS UNCATALOGUED. C IF (IB1PAR(3).EQ.255.AND.IB1PAR(4).EQ.0) IERR = 4 IF (IB1PAR(3).EQ.255.AND.IB1PAR(4).EQ.2) IERR = 4 C IF (IERR.NE.0) C THEN WRITE (*,9004) IB1PAR(4) 9004 FORMAT (1H ,'INVALID BLOCK INDICATOR ',I4) RETURN ENDIF C C C C C*** C* PARAMETER IDENTIFIER ( CODE TABLE 2 ). C*** C IBLOCK(9) = IB1PAR(5) IF (IB1PAR(5).LT.0.OR.IB1PAR(5).GT.255) C THEN IERR = 5 WRITE (*,9005) IB1PAR(5) 9005 FORMAT (1H ,'INVALID PARAMETER ',I4) RETURN ENDIF C C C C C*** C* INDICATOR OF LEVEL TYPE ( CODE TABLE 3 ). C*** C IBLOCK(10) = IB1PAR(6) IF (IB1PAR(6).LT.0.OR.IB1PAR(6).GT.110) C THEN IERR = 6 WRITE (*,9006) IB1PAR(6) 9006 FORMAT (1H ,'INVALID LEVEL TYPE ',I4) RETURN ENDIF C C C C C C C C C C C C C C C C C C*** C* DESCRIPTION OF LEVEL OR LAYER ( CODE TABLE 3 ). C*** C C C C FOR CERTAIN SPECIAL LEVELS NO FURTHER DESCRIPTION IS C NECESSARY, AND THE FIELDS ARE SET TO 0. C IF (IB1PAR(6).LT.100.OR.IB1PAR(6).EQ.102) C THEN IB1PAR(7) = 0 IB1PAR(8) = 0 ENDIF C IBLOCK(11) = IB1PAR(7) IBLOCK(12) = IB1PAR(8) C C CERTAIN LEVEL TYPES REQUIRE THAT THE DESCRIPTION OCCUPY C BOTH 8 BIT FIELDS. C IF (IB1PAR(6).EQ.100.OR.IB1PAR(6).EQ.103.OR.IB1PAR(6).EQ.105. C OR.IB1PAR(6).EQ.107.OR.IB1PAR(6).EQ.109) C THEN IBLOCK(12) = IBLOCK(11) IBLOCK(11) = IBLOCK(11) / 32 IBLOCK(12) = IBLOCK(12) - IBLOCK(11) * 32 IF (IB1PAR(7).GT.65535) IERR = 7 ELSE IF (IB1PAR(7).GT.255.OR.IB1PAR(8).GT.255) IERR = 7 ENDIF C IF (IERR.NE.0) C THEN WRITE (*,9007) IB1PAR(7),IB1PAR(8) 9007 FORMAT (1H ,'LEVEL DESCRIPTION ERROR ',I8,3X,I8) RETURN ENDIF C C C C C C C C C C C C C C C C C C C C C C C*** C* DATE AND TIME C*** C IBLOCK(13) = IB1PAR(9) IF (IB1PAR(9).LT.0.OR.IB1PAR(9).GT.99) IERR = 8 IBLOCK(14) = IB1PAR(10) IF (IB1PAR(10).LT.1.OR.IB1PAR(10).GT.12) IERR = 8 IBLOCK(15) = IB1PAR(11) IF (IB1PAR(11).LT.1.OR.IB1PAR(11).GT.31) IERR = 8 IBLOCK(16) = IB1PAR(12) IF (IB1PAR(12).LT.0.OR.IB1PAR(12).GT.23) IERR = 8 IBLOCK(17) = IB1PAR(13) IF (IB1PAR(13).LT.0.OR.IB1PAR(13).GT.59) IERR = 8 C IF (IERR.NE.0) C THEN WRITE (*,9008) IB1PAR(9),IB1PAR(10),IB1PAR(11),IB1PAR(12), C IB1PAR(13) 9008 FORMAT (1H ,'INVALID DATE/TIME ',3I2,' / ',2I2) RETURN ENDIF C C C C C C C C C C C C C C C C C C C C C C C C*** C* UNIT OF TIME , TIME RANGE(S) AND TIME RANGE FLAG ( CODE TABLE 5 ). C*** C C TIME UNIT. C IBLOCK(18) = IB1PAR(14) IF (IB1PAR(14).LT.0.OR.IB1PAR(14).GT.90) IERR = 9 C C THERE CAN BE ONE OR TWO TIME RANGES, EACH IN 1 OCTECT OR C ONE TIME RANGE IN 2 OCTECTS. C IF (IB1PAR(17).EQ.0.OR.IB1PAR(17).EQ.10) IB1PAR(16) = 0 C C CROSS CHECK RANGE VALUES AND FLAG VALUES. C IF (IB1PAR(15).GT.65535.OR.IB1PAR(15).LT.0) IERR = 9 IF (IB1PAR(15).GT.255.AND.IB1PAR(17).NE.10) IERR = 9 IF (IB1PAR(16).GT.255.OR.IB1PAR(16).LT.0) IERR = 9 IF (IB1PAR(17).LT.0.OR.IB1PAR(17).GT.10) IERR = 9 IF (IERR.NE.0) C THEN WRITE (*,9009) IB1PAR(14),IB1PAR(15),IB1PAR(16),IB1PAR(17) 9009 FORMAT (1H ,'TIME UNIT/RANGE1/RANGE2/FLAG ERROR - ', C I8,2X,'/',I8,2X,'/',I8,2X,'/',I8) RETURN ENDIF C IBLOCK(19) = IB1PAR(15) IBLOCK(20) = IB1PAR(16) C C ONE TIME RANGE OCCUPYING BOTH OCTETS. C IF (IB1PAR(17).EQ.10) C THEN IBLOCK(20) = IBLOCK(19) IBLOCK(19) = IBLOCK(19) / 32 IBLOCK(20) = IBLOCK(20) - IBLOCK(19) * 32 ENDIF C C TIME RANGE FLAG C IBLOCK(21) = IB1PAR(17) C C C C C C C C C C C*** C* RESERVED ELEMENTS. C*** C IBLOCK(22) = 0 IBLOCK(23) = 0 IBLOCK(24) = 0 C C C C C C C C******************************************************************** C* C* PACK 24 8-BIT FIELDS OF BLOCK 1 IN CODED ARRAY. C* C******************************************************************** C IWORD = 1 IBYTE = 8 NVAL = 24 IOFF = 0 C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 2 - GRID DESCRIPTION BLOCK. C* C******************************************************************** C C C C C*** C* SET ARRAY IBLOCK TO 0 . IT IS USED TO ZERO FILL RESERVED OCTETS. C*** C DO 100 I=1,24 IBLOCK(I) = 0 100 CONTINUE C C C C C*** C* LAT/LONGITUDE GRID, GAUSSIAN GRID AND SPHERICAL HARMONICS C* ARE THE ONLY DATA REPRESENTATIONS HANDLED. C*** C IF (IB1PAR(4).EQ.1.OR.IB1PAR(4).EQ.3) C THEN IF (IB2PAR(1).NE.0.AND.IB2PAR(1).NE.4.AND.IB2PAR(1).NE.50) C THEN WRITE (*,*)'GRID DESCRIPTION BLOCK NOT YET DEFINED' IERR = -3 RETURN ENDIF C C C C C*** C* LENGTH OF GRID DESCRIPTION BLOCK. C*** C C LENGTH IS 32 OCTETS FOR LAT/LONG, GAUSSIAN AND SPHERICAL C HARMONICS . FOR ANY DATA ON HYBRID LEVELS THE C VERTICAL COORDINATES ARE ADDED. C I = 32 IF (IB1PAR(6).GT.108) I = I + ILENV * 4 C CALL SBYTE (IGRIB(IWORD),I,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* NUMBER OF UNUSED BITS AT END OF BLOCK. C* CURRENT DEFINITION IMPLIES 0. C*** C CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C*** C* NEXT OCTET IS RESERVED. C*** C CALL SBYTE (IGRIB(IWORD),IBLOCK(I),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C*** C* DATA REPRESENTATION TYPE. C*** C IF (IB2PAR(1).LT.0.OR.IB2PAR(1).GT.4) IERR = 10 IF (IB2PAR(1).EQ.50) IERR = 0 IF (IERR.NE.0) C THEN IERR = 10 WRITE (*,9010) IB2PAR(1) 9010 FORMAT (1H ,'INVALID DATA REPRESENTATION TYPE - ',I3) RETURN ENDIF CALL SBYTE (IGRIB(IWORD),IB2PAR(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C C C C C C C C*** C* LAT/LONG OR GAUSSIAN GRID. C*** C IF (IB2PAR(1).EQ.0.OR.IB2PAR(1).EQ.4) C THEN C C NUMBER OF LAT/LONG POINTS. C CALL SBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONG OF ORIGIN. C SIGN BIT SET TO 1 IF VALUES ARE NEGATIVE. C DO 200 I=1,2 ILAT(I) = IB2PAR(I+3) ISIGN = 0 IF (ILAT(I).LT.0) C THEN ISIGN = 8388608 ILAT(I) = - ILAT(I) ENDIF ILAT(I) = ILAT(I) + ISIGN 200 CONTINUE C CALL SBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C EXTREME POINT / INCREMENTS FLAG. C SET TO 0 UNUSED EXTREME POINT/ INCREMENT FIELDS. C IF (IB2PAR(6).LE.1.OR.IB2PAR(6).GT.3) C THEN WRITE (*,9011) IB2PAR(6) 9011 FORMAT (1H ,'INVALID EXTREME POINT / INCREMENT', C ' FLAG - ',I3) IERR = 11 RETURN ENDIF C IF (IB2PAR(6).EQ.1) C THEN IB2PAR(7) = 0 IB2PAR(8) = 0 ENDIF C IF (IB2PAR(6).EQ.2) C THEN IB2PAR(9) = 0 IB2PAR(10) = 0 ENDIF C CALL SBYTE (IGRIB(IWORD),IB2PAR(6),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONG OF EXTREME POINT. C C SIGN BIT SET TO 1 IF VALUES ARE NEGATIVE. C DO 300 I=1,2 ILAT(I) = IB2PAR(I+6) ISIGN = 0 IF (ILAT(I).LT.0) C THEN ISIGN = 8388608 ILAT(I) = - ILAT(I) ENDIF ILAT(I) = ILAT(I) + ISIGN 300 CONTINUE C CALL SBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C DIRECTION INCREMENTS / NUMBER OF LATITUDE LINES. C CALL SBYTES (IGRIB(IWORD),IB2PAR(9),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C SCANNING MODE. C CALL SBYTE (IGRIB(IWORD),IB2PAR(11),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 4 RESERVED OCTETS. C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,4) CALL OFFSET (IOFF,4,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C C C C C C C C*** C* SPHERICAL HARMONIC DATA. C*** C IF (IB2PAR(1).EQ.50) C THEN C C PENTAGONAL RESOLUTION PARAMETERS. C CALL SBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,3) CALL OFFSET (IOFF,3,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C REPRESENTATION TYPE AND MODE. C CALL SBYTES (IGRIB(IWORD),IB2PAR(5),IOFF,8,0,2) CALL OFFSET (IOFF,2,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 18 RESERVED OCTETS. C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,18) CALL OFFSET (IOFF,18,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C*** C* ADD VERTICAL COORDINATE PARAMETERS FOR HYBRID LEVELS. C*** C IF (IB1PAR(6).GT.108) C THEN DO 400 I=1,ILENV CALL CONFP (FVERT(I),IEXP,IMANT) CALL SBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL SBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN 400 CONTINUE C ENDIF C ENDIF C C C C C C C C C C******************************************************************** C* C* BLOCK 3 (IF REQUIRED) - BIT MAP BLOCK. C* C******************************************************************** C IF (IB1PAR(4).EQ.2.OR.IB1PAR(4).EQ.3) C THEN WRITE (*,*)'BIT MAP BLOCK NOT YET DEFINED' IERR = -3 RETURN ENDIF C C C C C C C C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 4 - BINARY DATA BLOCK. C* C******************************************************************** C C C*** C* RETAIN POINTERS TO WORD AND BIT POSITION OF BINARY DATA C* BLOCK LENGTH FIELD. ENTER LENGTH AS 0. C*** C IPW = IWORD IPB = IOFF C CALL SBYTE (IGRIB(IWORD),IBLOCK(1),IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C*** C* 4 BIT FLAG / 4 BIT COUNT OF UNUSED BITS AT END OF BLOCK OCTET. C*** C C FLAG IS 1 FOR SPHERICAL HARMONICS, 0 FOR LAT/LONG OR GAUSSIAN. C IREP = 0 IF (IB2PAR(1).EQ.50) IREP = 1 IFLAG = IREP * 16 C CALL SBYTE (IGRIB(IWORD),IFLAG,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C*** C* FIND MAXIMUM AND MINIMUM VALUES IN DATA ARRAY. FOR C* DATA IN SPHERICAL HARMONIC FORM THE FIRST WORD CONTAINS C* THE REAL (0,0)COEFFICIENT, WHICH IS TREATED SEPARATELY. C*** C C ILEN = KLENF - IREP CALL MXMN (FPDATA(IREP+1),ILEN,FMAX,FMIN) C C C C C C C C C C C C C C C C C*** C* SCALE FACTOR. C*** C C CALCULATE SCALE FACTOR C S = (FMAX-FMIN)/(2**(IBITS+1)-1) IF (S.NE.0.) S = ALOG(S)/ALOG(2.) + 2. ISCALE = MIN(INT(S),INT(S+SIGN(1.,S))) C C C C C SET SIGN BIT (BIT 16) AND PUT SCALE FACTOR INTO REMAINING C 15 BITS OF CODED 16 BIT FIELD. C JSCALE = ISCALE ISIGN = 0 IF (JSCALE.LT.0) C THEN ISIGN = 32768 JSCALE = - JSCALE ENDIF JSCALE = JSCALE + ISIGN C ZSCALE = 2.**ISCALE C C FOR MISSING DATA SCALE FACTOR IS SET TO ALL 1-BITS. C IF (IMISS.EQ.1) JSCALE = 65535 C CALL SBYTE (IGRIB(IWORD),JSCALE,IOFF,16) CALL OFFSET (IOFF,1,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C*** C* MINIMUM (REFERENCE) VALUE. C*** C C CONVERT MINIMUM VALUE (FMIN) TO GRIB FORMAT (IEXP,IMANT) C CALL CONFP (FMIN,IEXP,IMANT) C C EXPONENT AND MANTISSA SET TO ALL 1-BITS FOR MISSING DATA. C IF (IMISS.EQ.1) C THEN IEXP = 255 IMANT = 16777215 ENDIF CALL SBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL SBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* NUMBER OF BITS IN EACH DATA VALUE. C*** C CALL SBYTE (IGRIB(IWORD),IBITS,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* IF SPHERICAL HARMONICS DATA, NEXT 4 OCTETS ARE DIFFERENT FORMAT. C*** C IF (IREP.EQ.1) C THEN C C STORE REAL (0,0) COEFFICIENT IN FLOATING C POINT FORM. C CALL CONFP (FPDATA(1),IEXP,IMANT) C CALL SBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL SBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C C C C C*** C* SCALE AND STORE DATA VALUES. C*** C DO 600 I = IREP+1 , KLENF JGRIB = NINT ( (FPDATA(I)-FMIN) / ZSCALE ) FPDATA(I) = ZGRIB 600 CONTINUE C ILENFM = KLENF - IREP CALL SBYTES (IGRIB(IWORD),FPDATA(IREP+1),IOFF,IBITS,0,ILENFM) CALL OFFSET (IOFF,ILENFM,IWORD,IBITS,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C C C C C*** C* ENTER LENGTH OF BINARY DATA BLOCK, HAVING ENSURED THAT C* THE LENGTH IS AN EVEN NUMBER OF OCTETS. C*** C C LENGTH OF BINARY DATA BLOCK IN BITS. C LBIN = (IWORD-IPW) * NBIT + IOFF - IPB C L = LBIN / 16 L = LBIN - ( L*16 ) C C FILL UNUSED PORTION OF LAST 2 OCTETS WITH BINARY ZEROES. C LNIL = 0 IF (L.NE.0) C THEN LNIL = 16 - L CALL SBYTE (IGRIB(IWORD),IFILL,IOFF,LNIL) CALL OFFSET (IOFF,1,IWORD,LNIL,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C LBIN = (IWORD-IPW) * NBIT + IOFF - IPB C C ENTER LENGTH - IN OCTETS - OF DATA BLOCK. C LBIN = LBIN / 8 CALL SBYTE (IGRIB(IPW),LBIN,IPB,24) CALL OFFSET (IPB,1,IPW,24,NBIT,ILENG,IERR) C C ENTER NUMBER OF UNUSED BITS IN FLAG/BIT COUNT FIELD. C IFLAG = IFLAG + LNIL CALL SBYTE (IGRIB(IPW),IFLAG,IPB,8) C C C C C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 5 - END BLOCK. C* C******************************************************************** C C C*** C* ADD 7 7 7 7 TO CODED DATA. C*** C IBLOCK(1) = 55 IBLOCK(2) = 55 IBLOCK(3) = 55 IBLOCK(4) = 55 C CALL SBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,4) CALL OFFSET (IOFF,4,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C*** C* SET ANY UNUSED PART OF LAST WORD TO BINARY ZEROES. C*** C IF (IOFF.NE.0) C THEN KBITS = NBIT - IOFF CALL SBYTE (IGRIB(IWORD),IFILL,IOFF,KBITS) ELSE IWORD = IWORD - 1 ENDIF C C C C*** C* ROUND TO 120 OCTETS, IF REQUIRED. C*** C IF (IROUND.EQ.1) C THEN NUMBIT = IWORD * NBIT I = NUMBIT / 960 I = I * 960 I = NUMBIT - I IF (I.NE.0) I = (960 - I) / NBIT C DO 700 J=IWORD+1,IWORD+I IGRIB(J) = 0 700 CONTINUE C IWORD = IWORD + I ENDIF C RETURN END emoslib-000392+dfsg.1/gribex/codeps.F0000755000175000017500000006117312127406245020335 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CODEPS( NAME,CHDATA,ILENCH,FPDATA,ILENFP,INDATA,ILENIN, X NBYTE,LGDATA,ILENLG,IB1PAR,IPSCOD,ILENPS, X IRSERV,NBIT,IWORD,IROUND,IERR) C C----> C**** CODEPS - Pack pseudo-grib product. C C Purpose. C -------- C C Packs character data and arrays of floating point, integer C and logical values in machine-independent pseudo-grib format. C C** Interface. C ---------- C C CALL CODEPS( NAME,CHDATA,ILENCH,FPDATA,ILENFP,INDATA,ILENIN, C X NBYTE,LGDATA,ILENLG,IB1PAR,IPSCOD,ILENPS, C X IRSERV,NBIT,IWORD,IROUND,IERR) C C C C Input Parameters. C ----------------- C C NAME - 4 Letters (Code name for section 0). C CHDATA - Character string (letters and figures only) (section 4). C ILENCH - Length of this string (Maximum length is 600). C To indicate missing data ILENCH is made C negative and string is all spaces. C FPDATA - Array of floating point values (section 4). C ILENFP - Length of this array (number of data values to be coded) C To indicate missing data values, ILENFP is made C negative and all data values are set to 0. C INDATA - Array of integer values (section 4). C ILENIN - Length of this array (number of data values to be coded) C To indicate missing data values, ILENIN is made C negative and all data values are set to 0. C NBYTE - Number of bytes (8-bit) needed for integers. C LGDATA - Array of logical values (section 4). C ILENLG - Length of this array (number of data values to be coded) C To indicate missing data values, ILENLG is made C negative and all data values are set .false. C IB1PAR - Integer array of data definition information (section 1) C ILENPS - Length of array IPSCOD in bytes. C IRSERV - Number of bytes reserved in data section for future use. C NBIT - Number of bits per computer word. C IROUND - 0 , no rounding. C 1 , round to nearest 120 octets. C C Output Parameters. C ----------------- C C IPSCOD - Data coded in pseudo-grib code. C ILENPS - Length of this array. C IWORD - Number of words occupied by coded data. C IERR - Error indicator. C 0, no error. C -1, number of bytes per integer exceeds C word length, or maximum allowed, is 0 C or negative. C -2, output array too small to hold coded C data values. C -3, currently undefined option selected. C -4, missing data field contains non-zero. C ( space for missing character data, C and .false. for logicals.) C -5, integer larger than field width has C been encountered. C -6, character data contains other than C letters, figures or spaces. C 1, invalid originating centre. C 2, invalid model identification. C 3, invalid grid identification. C 4, invalid section indicator flag C 5, invalid parameter identifier. C 6, invalid level type. C 7, level description error. C 8, date/time error. C 9, invalid time unit or range. C 10, indicator/number averaged error. C C C Externals. C ---------- C C SBYTE C SBYTES C CONFPA C PRTBIN C OFFSET C C C Comments. C --------- C C Section 1 , data definition section (IB1PAR). C C Word Contents C ---- -------- C 1 Originating centre identifier. C 2 Model identification. C 3 Grid definition. C 4 Flag (table 1) C 5 Parameter identifier (code table 2). C 6 Type of level (code table 3). C 7-8 Value(s) of levels (code table 3). C 9 Year of data C 10 Month of data C 11 Day of data C 12 Hour of data C 13 Minute of data C 14 Time unit (code table 4). C 15 Time range one C 16 Time range two C 17 Time range flag (code table 5). C 18 Number averaged. C C Code tables are those for WMO GRIB code. C C Value(s) of level can occupy 2 words. C For a layer the first word defines the top C and the second the bottom of the layer. C For a single level, only the first word is used. C C Elements not used or inapplicable should be set to 255. C C C Author. C ------- C C J.Hennessy 05.02.86 C C C Modifications. C -------------- C C J.Hennessy 06.06.86 C 19.08.86 C 21.08.86 C C J.Hennessy 17.09.90 C Lower case letters as well as the characters C _ - . , added. C C J.D.Chambers ECMWF 13.09.94 C Inhibit abort if NOABORT = 1, use grbcom.h C C J.D.Chambers ECMWF 12.08.96 C Call CONFP3 instead of CONFP. C C J.D.Chambers ECMWF April 1998 C Call CONFPA instead of CONFP3. C (Vectorization improvement from D.Dent). C C----< C******************************************************************** C IMPLICIT NONE C C Parameters INTEGER NTYPE, NCHAR PARAMETER (NTYPE=2) PARAMETER (NCHAR=67) C C Subroutine arguments CHARACTER*4 NAME CHARACTER*(*) CHDATA INTEGER ILENCH, ILENFP, INDATA, ILENIN, NBYTE, ILENLG, IB1PAR INTEGER IPSCOD, ILENPS, IRSERV, NBIT, IWORD, IROUND, IERR REAL FPDATA LOGICAL LGDATA DIMENSION FPDATA(*), INDATA(*), LGDATA(*) DIMENSION IPSCOD(*), IB1PAR(*) C C Local variables CHARACTER*1 CHAR DIMENSION CHAR(NCHAR) INTEGER IBLOCK DIMENSION IBLOCK(24) INTEGER IASCII DIMENSION IASCII(NCHAR) CHARACTER*4 VNAME DIMENSION VNAME(NTYPE) INTEGER JPAR, JLEN DIMENSION JPAR(NTYPE),JLEN(NTYPE) C C DATA IASCII /65 ,66 ,67 ,68 ,69 ,70 ,71 ,72 ,73 ,74 ,75 ,76 ,77 , X 78 ,79 ,80 ,81 ,82 ,83 ,84 ,85 ,86 ,87 ,88 ,89 ,90 , X 48 ,49 ,50 ,51 ,52 ,53 ,54 ,55 ,56 ,57 ,32 , X 97 ,98 ,99 ,100,101,102,103,104,105,106,107,108,109, X 110,111,112,113,114,115,116,117,118,119,120,121,122, X 95 ,46 ,44 ,45 / C DATA CHAR /'A','B','C','D','E','F','G','H','I','J','K','L','M', X 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z', X '0','1','2','3','4','5','6','7','8','9',' ' , X 'a','b','c','d','e','f','g','h','i','j','k','l','m', X 'n','o','p','q','r','s','t','u','v','w','x','y','z', X '_','.',',','-' / C DATA VNAME /'BUDG','TIDE'/ C DATA JLEN / 6000 , 25320/ C DATA JPAR / 128 , 127 / C C SET MAXIMUM NUMBER OF BITS FOR INTEGER FIELDS. INTEGER ICMISS, KLENCH, I, IFMISS, KLENFP, IIMISS, KLENIN INTEGER ILMISS, KLENLG, IBITS, IBYTE, NVAL, IOFF, KTEMP INTEGER KERR, IPW, IPB, IEXP, IMANT, NEGSIN, MAXINT, ISIGN INTEGER NTRUE, J, LBIN, L, LNIL, KBITS, NUMBIT, N C #include "grbcom.h" C C C Clear error indicator. IERR = 0 C C C******************************************************************** C C Check for missing data indicators. C C******************************************************************** C C Character data. C ICMISS = 0 IF (ILENCH.LT.0) THEN KLENCH = -ILENCH ICMISS = 1 DO 50 I=1,KLENCH IF (CHDATA(I:I).NE.' ') THEN IERR = -4 WRITE(*,*) 'CODEPS: Invalid value in missing data field.' RETURN ENDIF 50 CONTINUE ELSE KLENCH = ILENCH ENDIF C C Floating point numbers. C IFMISS = 0 IF (ILENFP.LT.0) THEN KLENFP = - ILENFP IFMISS = 1 DO 100 I=1,KLENFP IF (FPDATA(I).NE.0.) THEN IERR = -4 WRITE(*,*) 'CODEPS: Invalid value in missing data field.' RETURN ENDIF 100 CONTINUE ELSE KLENFP = ILENFP ENDIF C C Integers. C IIMISS = 0 IF (ILENIN.LT.0) THEN KLENIN = - ILENIN IIMISS = 1 DO 200 I=1,KLENIN IF (INDATA(I).NE.0) THEN IERR = -4 WRITE(*,*) 'CODEPS: Invalid value in missing data field.' RETURN ENDIF 200 CONTINUE ELSE KLENIN = ILENIN ENDIF C C Logicals. C ILMISS = 0 IF (ILENLG.LT.0) THEN KLENLG = - ILENLG ILMISS = 1 DO 300 I=1,KLENLG IF (LGDATA(I).NEQV..FALSE.) THEN IERR = -4 WRITE(*,*) 'CODEPS: Invalid value in missing data field.' RETURN ENDIF 300 CONTINUE ELSE KLENLG = ILENLG ENDIF C C C C******************************************************************** C C Check number of bytes for integer numbers. C C******************************************************************** C IBITS = NBYTE * 8 C IF (IBITS.GT.NBIT) THEN WRITE(*,*) 'CODEPS: Number of bits per data value ', IBITS WRITE(*,*) ' exceeds word length ', NBIT IERR = -1 RETURN ENDIF C IF (IBITS.LE.0) THEN WRITE(*,*) 'CODEPS: Maximum permitted value ', IBITS WRITE(*,*) ' should be positive.' IERR = -1 RETURN ENDIF C C C******************************************************************** C C Section 0 - INDICATOR Section. C C******************************************************************** C C C The letters of the code name are inserted in the C first 4 elements of 'IBLOCK'. DO 400 I=1,36 IF (NAME(1:1).EQ.CHAR(I)) IBLOCK(1) = IASCII(I) IF (NAME(2:2).EQ.CHAR(I)) IBLOCK(2) = IASCII(I) IF (NAME(3:3).EQ.CHAR(I)) IBLOCK(3) = IASCII(I) IF (NAME(4:4).EQ.CHAR(I)) IBLOCK(4) = IASCII(I) 400 CONTINUE C C Pack 4 8-bit fields in section 0 of coded array. IWORD = 1 IBYTE = 8 NVAL = 4 IOFF = 0 CALL SBYTES(IPSCOD(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET(IOFF,NVAL,IWORD,IBYTE,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C C******************************************************************** C C Section 1 - PRODUCT DEFINITION Section. C C******************************************************************** C C C Length of section 1 (in octets) in first 3 octets. IBLOCK(1) = 0 IBLOCK(2) = 0 IBLOCK(3) = 24 C C Fourth octet reserved and set to 0. IBLOCK(4) = 0 C C Identification of centre IBLOCK(5) = IB1PAR(1) IF (IB1PAR(1).LT.1.OR.IB1PAR(1).GT.98) THEN IERR = 1 WRITE(*,*) 'CODEPS: Invalid originating centre ', IB1PAR(1) RETURN ENDIF C C Model identification IBLOCK(6) = IB1PAR(2) IF (IB1PAR(2).LT.1.OR.IB1PAR(2).GT.255) THEN IERR = 2 WRITE(*,*) 'CODEPS: Invalid model identification ', IB1PAR(2) RETURN ENDIF C C Grid definition IBLOCK(7) = IB1PAR(3) IF (IB1PAR(3).LT.1.OR.IB1PAR(3).GT.255) THEN IERR = 3 WRITE(*,*) 'CODEPS: Invalid grid definition ', IB1PAR(3) RETURN ENDIF C C Optional section indicator flags ( code table 1 ). C C Sections included Binary value Decimal value C C NONE 00000000 0 C 2 10000000 128 C 3 01000000 64 C 2 AND 3 11000000 192 C IBLOCK(8) = IB1PAR(4) C C Shift 2-bit flag field right by 6 bits to facilitate checking KTEMP = IB1PAR(4) / 64 IF (KTEMP.NE.0) IERR = 4 IF (IERR.NE.0) THEN CALL PRTBIN(IB1PAR(4),8,KTEMP,KERR) WRITE(*,*) 'CODEPS: Invalid section indicator flag ', KTEMP WRITE(*,*) 'CODEPS: Return code from PRTBIN = ', KERR RETURN ENDIF C C Parameter identifier ( code table 2 ). IBLOCK(9) = IB1PAR(5) IF (IB1PAR(5).LT.0.OR.IB1PAR(5).GT.255) THEN IERR = 5 WRITE(*,*) 'CODEPS: Invalid parameter ', IB1PAR(5) RETURN ENDIF C C Indicator of level type ( code table 3 ). IBLOCK(10) = IB1PAR(6) IF (IB1PAR(6).LT.0.OR.IB1PAR(6).GT.255) THEN IERR = 6 WRITE(*,*) 'CODEPS: Invalid level type ', IB1PAR(6) RETURN ENDIF C C Description of level or layer ( code table 3 ). C C For certain special levels no further description is C necessary, and the fields are set to 0. C IF (((IB1PAR(6).LT.100).AND.(IB1PAR(6).NE.20)).OR. X (IB1PAR(6).EQ.102) .OR. X (IB1PAR(6).EQ.200) .OR. X (IB1PAR(6).EQ.201)) THEN IB1PAR(7) = 0 IB1PAR(8) = 0 ENDIF C IBLOCK(11) = IB1PAR(7) IBLOCK(12) = IB1PAR(8) C C Certain level types require that the description occupy C both 8 bit fields. C IF ((IB1PAR(6).EQ. 20).OR. X (IB1PAR(6).EQ.100).OR. X (IB1PAR(6).EQ.103).OR. X (IB1PAR(6).EQ.105).OR. X (IB1PAR(6).EQ.107).OR. X (IB1PAR(6).EQ.109).OR. X (IB1PAR(6).EQ.111).OR. X (IB1PAR(6).EQ.113).OR. X (IB1PAR(6).EQ.115).OR. X (IB1PAR(6).EQ.117).OR. X (IB1PAR(6).EQ.125).OR. X (IB1PAR(6).EQ.160) ) THEN C C 8 low order bits in IBLOCK(12) C High order bits in IBLOCK(11) IBLOCK(12) = IBLOCK(11) IBLOCK(11) = IBLOCK(11) / 256 IBLOCK(12) = IBLOCK(12) - IBLOCK(11) * 256 C C Check maximum possible in 16 bits not exceeded. IF (IB1PAR(7).GT.65535) IERR = 7 ELSE IF (IB1PAR(7).GT.255.OR.IB1PAR(8).GT.255) IERR = 7 ENDIF C IF (IERR.NE.0) THEN WRITE(*,*) 'CODEPS: Level description error ', IB1PAR(7), X IB1PAR(8) RETURN ENDIF C C Date and time C (Allow: YYYY format, years 1900 upto 2154 C or YY format, years 00 upto 254) C IF( IB1PAR(9).GT.1900 ) THEN IBLOCK(13) = IB1PAR(9) - 1900 ELSE IBLOCK(13) = IB1PAR(9) ENDIF IF (IBLOCK(13).LT.0.OR.IBLOCK(13).GT.254) IERR = 8 C IBLOCK(14) = IB1PAR(10) IF (IB1PAR(10).LT.1.OR.IB1PAR(10).GT.12) IERR = 8 IBLOCK(15) = IB1PAR(11) IF (IB1PAR(11).LT.1.OR.IB1PAR(11).GT.31) IERR = 8 IBLOCK(16) = IB1PAR(12) IF (IB1PAR(12).LT.0.OR.IB1PAR(12).GT.23) IERR = 8 IBLOCK(17) = IB1PAR(13) IF (IB1PAR(13).LT.0.OR.IB1PAR(13).GT.59) IERR = 8 C IF (IERR.NE.0) THEN WRITE(*,9010) IB1PAR(9),IB1PAR(10),IB1PAR(11),IB1PAR(12), X IB1PAR(13) 9010 FORMAT('CODEPS: Invalid date/time ',I4.4,2I2.2,' / ',2I2.2) RETURN ENDIF C C Unit of time - ( code table 4 ). C Time range(s) and time range indicator ( code table 5 ). C C Time unit. IBLOCK(18) = IB1PAR(14) IF (IB1PAR(14).LT.0.OR.IB1PAR(14).GT.7) IERR = 9 C C There can be one or two time ranges, each in 1 octect or C one time range in 2 octects. IF (IB1PAR(17).EQ.0.OR. X IB1PAR(17).EQ.1.OR. X IB1PAR(17).EQ.10) IB1PAR(16) = 0 C C Cross check range values and flag values. IF (IB1PAR(15).GT.65535.OR.IB1PAR(15).LT.0) IERR = 9 IF (IB1PAR(15).GT.255.AND.IB1PAR(17).NE.10) IERR = 9 IF (IB1PAR(16).GT.255.OR.IB1PAR(16).LT.0) IERR = 9 IF (IB1PAR(17).LT.0.OR.IB1PAR(17).GT.10) IERR = 9 IF (IERR.NE.0) THEN WRITE(*,9011) IB1PAR(14),IB1PAR(15),IB1PAR(16),IB1PAR(17) 9011 FORMAT(1H ,'CODEPS: Time unit/Time 1/Time 2/indicator error - ', X I8,2X,'/',I8,2X,'/',I8,2X,'/',I8) RETURN ENDIF C IBLOCK(19) = IB1PAR(15) IBLOCK(20) = IB1PAR(16) C C One time range occupying both octets. IF (IB1PAR(17).EQ.10) THEN C C 8 low order bits in IBLOCK(20) C High order bits in IBLOCK(19) IBLOCK(20) = IBLOCK(19) IBLOCK(19) = IBLOCK(19) / 256 IBLOCK(20) = IBLOCK(20) - IBLOCK(19) * 256 ENDIF C C Time range indicator IBLOCK(21) = IB1PAR(17) C C Number averaged. IBLOCK(22) = 0 IBLOCK(23) = 0 C C Check consistency of indicator and number averaged fields. IF (IB1PAR(17).EQ.3.AND.IB1PAR(18).EQ.0) THEN IERR = 10 WRITE(*,9012) IB1PAR(17),IB1PAR(18) 9012 FORMAT(1H ,'CODEPS: Indicator/number averaged error - ', C I8,2X,'/',I8) RETURN ENDIF C C Value in two octets. IBLOCK(22) = IB1PAR(18) C C 8 low order bits in IBLOCK(23) C High order bits in IBLOCK(22) IBLOCK(23) = IBLOCK(22) IBLOCK(22) = IBLOCK(22) / 256 IBLOCK(23) = IBLOCK(23) - IBLOCK(22) * 256 C C Reserved element. IBLOCK(24) = 0 C C Pack 24 8-bit fields of section 1 in coded array. IBYTE = 8 NVAL = 24 CALL SBYTES(IPSCOD(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET(IOFF,NVAL,IWORD,IBYTE,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Set array IBLOCK to 0 . it is used to zero fill reserved octets. DO 500 I=1,24 IBLOCK(I) = 0 500 CONTINUE C C C******************************************************************** C C Section 4 - BINARY DATA Section. C C******************************************************************** C C C Octets 1-3 - length of data section (in octets). C C Retain pointers to word and bit position of binary data C section length field. enter length as 0. C IPW = IWORD IPB = IOFF CALL SBYTE(IPSCOD(IWORD),IBLOCK(1),IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octet 4 is reserved. CALL SBYTE(IPSCOD(IWORD),IBLOCK(1),IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octet 5 - missing data flag. C C 1--- missing character data C -1-- missing floating point data C --1- missing integer data C ---1 missing logical data C KTEMP = ICMISS*8 + IFMISS*4 + IIMISS*2 + ILMISS CALL SBYTE(IPSCOD(IWORD),KTEMP,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octet 6 - number of bytes per integer. CALL SBYTE(IPSCOD(IWORD),NBYTE,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octets 7-8 reserved. CALL SBYTES(IPSCOD(IWORD),IBLOCK(1),IOFF,8,0,2) CALL OFFSET(IOFF,2,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octets 9-11 - number of characters in character data. CALL SBYTE(IPSCOD(IWORD),KLENCH,IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octets 12-14 - number of floating point values CALL SBYTE(IPSCOD(IWORD),KLENFP,IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octets 15-17 - number of integer values CALL SBYTE(IPSCOD(IWORD),KLENIN,IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octets 18-20 - number of logicals CALL SBYTE(IPSCOD(IWORD),KLENLG,IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octets 21-23 - number of bytes in data section reserved. CALL SBYTE(IPSCOD(IWORD),IRSERV,IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octets 24-32 are reserved. CALL SBYTES(IPSCOD(IWORD),IBLOCK(1),IOFF,8,0,9) CALL OFFSET(IOFF,9,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Octet 33- floating point numbers. C C Convert values to pseudo-grib format (IEXP,IMANT) C IF (KLENFP.NE.0) X CALL CONFPA(FPDATA,KLENFP,IOFF,IPSCOD(IWORD),IWORD,ILENPS,NBIT) C C Integer values C IF (KLENIN.NE.0) THEN C C Set up mask for negative numbers. NEGSIN = 2 ** (IBITS-1) C C Maximum size integer in given field width. MAXINT = NEGSIN - 1 C DO 700 I=1,KLENIN KTEMP = INDATA(I) C C Handle negative numbers. ISIGN = 0 IF (KTEMP.LT.0) THEN KTEMP = - KTEMP ISIGN = NEGSIN ENDIF C C Check size of numbers. IF (KTEMP.GT.MAXINT) THEN IERR = -5 WRITE(*,*) 'CODEPS: Integer larger than field specified' RETURN ENDIF C C Include sign bit. KTEMP = KTEMP + ISIGN CALL SBYTE(IPSCOD(IWORD),KTEMP,IOFF,IBITS) CALL OFFSET(IOFF,1,IWORD,IBITS,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C 700 CONTINUE C ENDIF C C Logical values C IF (KLENLG.NE.0) THEN DO 800 I=1,KLENLG NTRUE = 0 IF (LGDATA(I).EQV..TRUE.) NTRUE = 1 CALL SBYTE(IPSCOD(IWORD),NTRUE,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN 800 CONTINUE C ENDIF C C Character data. C IF (KLENCH.NE.0) THEN DO 850 I=1,KLENCH DO 825 J=1,NCHAR IF (CHDATA(I:I).EQ.CHAR(J)) THEN KTEMP = IASCII(J) CALL SBYTE(IPSCOD(IWORD),KTEMP,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN GO TO 850 ENDIF 825 CONTINUE IERR = -6 WRITE(*,*) 'CODEPS: Character data contains other than ' WRITE(*,*) ' _ - . , letters, figures or spaces.' RETURN 850 CONTINUE ENDIF C C Reserved bytes C IF (IRSERV.NE.0) THEN DO 900 I=1,IRSERV CALL SBYTE(IPSCOD(IWORD),IBLOCK(1),IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN 900 CONTINUE C ENDIF C C Enter length of binary data section, having ensured that C the length is an even number of octets. C C Length of binary data section in bits. C LBIN = (IWORD-IPW) * NBIT + IOFF - IPB L = LBIN / 16 L = LBIN - ( L*16 ) C C Fill unused portion of last 2 octets with binary zeroes. LNIL = 0 IF (L.NE.0) THEN LNIL = 16 - L CALL SBYTE(IPSCOD(IWORD),IBLOCK(1),IOFF,LNIL) CALL OFFSET(IOFF,1,IWORD,LNIL,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN ENDIF LBIN = (IWORD-IPW) * NBIT + IOFF - IPB C C Enter length - in octets - of data section. LBIN = LBIN / 8 CALL SBYTE(IPSCOD(IPW),LBIN,IPB,24) CALL OFFSET(IPB,1,IPW,24,NBIT,ILENPS,IERR) C C******************************************************************** C C Section 5 - END Section. C C******************************************************************** C C C Add 7 7 7 7 to coded data. IBLOCK(1) = 55 IBLOCK(2) = 55 IBLOCK(3) = 55 IBLOCK(4) = 55 CALL SBYTES(IPSCOD(IWORD),IBLOCK(1),IOFF,8,0,4) CALL OFFSET(IOFF,4,IWORD,8,NBIT,ILENPS,IERR) IF (IERR.NE.0) RETURN C C Set any unused part of last word to binary zeroes. IF (IOFF.NE.0) THEN KBITS = NBIT - IOFF CALL SBYTE(IPSCOD(IWORD),IBLOCK(1),IOFF,KBITS) ELSE IWORD = IWORD - 1 ENDIF C C Round to 120 octets, if required. IF (IROUND.EQ.1) THEN NUMBIT = IWORD * NBIT I = NUMBIT / 960 I = I * 960 I = NUMBIT - I IF (I.NE.0) I = (960 - I) / NBIT DO 1000 J=IWORD+1,IWORD+I IPSCOD(J) = 0 1000 CONTINUE C IWORD = IWORD + I ENDIF C C Check consistency of record name, parameter number and C record length. C C This may cause problems in the future if old C versions of the budget value records are unpacked C and then repacked. C C Diagnostic records can have different lengths. C IF (NAME.EQ.'DIAG') GO TO 9999 C N = (NBIT * IWORD) / 8 KERR = 0 DO 1100 I=1,NTYPE IF (VNAME(I).EQ.NAME) THEN IF (N.NE.JLEN(I)) KERR = 1 IF (IB1PAR(5).NE.JPAR(I)) KERR = 1 IF (KERR.NE.0) THEN WRITE(*,9013) N , IB1PAR(5) 9013 FORMAT(1H ,'CODEPS: Illegal record length = ',I6, X ' octets, or invalid parameter no. = ', I6,'.') C IF( NOABORT .EQ. 0 ) CALL ABORT ENDIF GO TO 9999 ENDIF C 1100 CONTINUE C WRITE(*,*) 'CODEPS: Invalid record name supplied - ', NAME IF( NOABORT .EQ. 0 ) CALL ABORT C C 9999 RETURN END emoslib-000392+dfsg.1/gribex/getchd.F0000755000175000017500000001054212127406245020310 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETCHD (KLCHD,HCHD,KLENG,KARRAY,KPR,KRET) C C----> C ---------------------------------------------------------------- C C**** C C PURPOSE. C -------- C C GET CHARACTER DATA FROM UNPACKED GRIB OR C PSEUDO-GRIB RECORDS, RETRIEVED FROM MARS. C C** INTERFACE. C ---------- C C CALL GETCHD (KLCHD,HCHD,KLENG,KARRAY,KPR,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C INPUT PARAMETERS. C ----------------- C C HCHD - STRING TO RECEIVE CHARACTER DATA. C KLENG - LENGTH OF THIS STRING. C KARRAY - ARRAY CONTAINING UNPACKED RECORD. C KPR - DEBUG PRINT SWITCH. C 0 , NO PRINTOUT. C 1 , DEBUG PRINTOUT. C C KRET - ABORT/NO ABORT WHEN ERROR FOUND. C 0 , ABORT IF ERROR FOUND. C NON-ZERO , NO ABORT IF ERROR FOUND. C C OUTPUT PARAMETERS. C ------------------ C C HCHD - STRING OF CHARACTER DATA. C KLCHD - NUMBER OF CHARACTERS IN THIS STRING. C KRET - ERROR RETURN CODE. C 0 , NO ERROR ENCOUNTERED. C 1 , TARGET STRING TOO SHORT. C C METHOD. C ------- C C UNPACKED DATA IS IN SELF DEFINING RECORDS. THE REQUIRED C VALUES ARE LOCATED AND EXTRACTED. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C SEE MARS FORMAT DOCUMENTATION RE GRIB, PSEUDO-GRIB AND C UNPACKED FORMATS. C C COMMENTS. C --------- C C PROGRAM CONTAINS SECTIONS 0 TO 2 AND SECTION 9. C C AUTHOR. C ------- C C J. HENNESSY ECMWF 18:06:86. C C MODIFICATIONS C -------------- C NONE. C C --------------------------------------------------------------- C----< C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ------------------------------------ C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C DIMENSION KARRAY(*) C CHARACTER*(*) HCHD C C C --------------------------------------------------------------- C C C C C C C C C C C C* SECTION 1 . SET INITIAL VALUES. CHECK INPUT PARAMETERS. C ------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETCHD : SECTION 1.' C IRET = KRET KRET = 0 C C -------------------------------------------------------------- C C C C C C C C C C C* SECTION 2 . EXTRACT VALUES . PRINT IF REQUIRED. C ----------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETCHD : SECTION 2.' C ILIB1 = KARRAY(2) ILIB2 = KARRAY(2+ILIB1+1) ILFB2 = KARRAY(2+ILIB1+1+ILIB2+1) ILIB3 = KARRAY(2+ILIB1+1+ILIB2+1+ILFB2+1) KLCHD = KARRAY(2+ILIB1+1+ILIB2+1+ILFB2+1+ILIB3+1) C IF (KLENG.LT.KLCHD) C THEN KRET = 1 WRITE (*,9001) KRET , KLCHD GO TO 9000 ENDIF C DO 2010 J=1,KLCHD IVAL = KARRAY(J+2+ILIB1+1+ILIB2+1+ILFB2+1+ILIB3+1) READ (IVAL,'(A1)') HCHD(J:J) 2010 CONTINUE C C C ------------------------------------------------------------------ C C C C C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE OR ABORT. FORMAT STATEMENTS. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETCHD : SECTION 9.' C IF (KRET.NE.0.AND.IRET.EQ.0) CALL ABORT C RETURN C C 9001 FORMAT (1H ,'GETCHD : ERROR CODE = ',I3,'. TARGET STRING MUST BE', C ' AT LEAST ',I5,' CHARACTERS LONG.') C C ------------------------------------------------------------------ C C END emoslib-000392+dfsg.1/gribex/ecdef50.h0000755000175000017500000000501212127406245020323 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 50. C Member State data. C ------------------ C C Octet KSEC1(n) C ----- -------- C C 5 2 Originating centre (WMO identifier) C C 26 22 Sub-centre identifier (= 98) C C ** 24 Flag field to indicate local use in Section 1 (= 1) C C 41 37 ECMWF local GRIB use definition identifier (= 50) C C 42 38 Class C C 43 39 Type C C 44-45 40 Stream C C 46-49 41 Version number/experiment identifier. C (4 Ascii characters, right justified) C C 50 42 Number : Ensemble forecast number. C Control forecast is number 0, C perturbed forecasts 1-nn. C Set to 0 if not ensemble forecast. C C 51 43 Total : Total number of forecasts in ensemble. C This number includes the control forecast. C Set to 0 if not ensemble forecast. C C 52 44 Model identifier (in range 1 - 255) C C 53-56 45 Latitude of North-west corner of area (degrees*10^6) C C 57-60 46 Longitude of North-west corner of area (degrees*10^6) C C 61-64 47 Latitude of South-east corner of area (degrees*10^6) C C 65-68 48 Longitude of South-east corner of area (degrees*10^6) C C -----------------------------------------------------------------| C C 69-116 49-60 Reserved for ECMWF additions. C C 69 49 Original parameter number C C 70 50 Original parameter table number C C 71-116 51-60 Set to zero C C -----------------------------------------------------------------| C C 117-300 61-106 Optional data. C C -----------------------------------------------------------------| C C ** Not stored in GRIB message. C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/lnbfcr.F0000755000175000017500000001125312127406245020320 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE LNBFCR (KARRAY,KLENB) C C----> C**** LNBFCR - Calculate length of BUFR message on Cray. C C Purpose. C -------- C C Calculate length of BUFR message. C C** Interface. C ---------- C C CALL LNBFCR (KARRAY,KLENB) C C Integer K. C Real P. C Logical O. C Character H. C C Input parameters. C ----------------- C C KARRAY - Array containing BUFR message. C C KLENB - 0, abort if error. C 1, return to calling routine even if error, C unless array limits exceeded. C C Output parameters. C ------------------ C C KLENB - Length of BUFR message in bytes. C -1, error in calculating length. C C Method. C ------- C C The length of each BUFR message is calculated C from the BUFR header Sections. C C Externals. C ---------- C C UNPACK C C Reference. C ---------- C C WMO BUFR Code Documentation. C C Comments. C --------- C C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 20:06:90. C C Modifications. C -------------- C C J. Hennessy ECMWF 18:12:90. C Soft fail option added. C C J. Hennessy ECMWF 04:02:92. C Modified to cater for Edition 2 of BUFR code. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C PARAMETER (JPBYT=2056) C DIMENSION KARRAY(*) DIMENSION ISCATR(JPBYT) C C ---------------------------------------------------------------- C C C C C C C C C C* Section 1 . Calculate BUFR length. C ---------------------------------------------------------------- C 1000 CONTINUE C IABORT = KLENB C C Unpack first JPBYT bytes of data. C CALL UNPACK (KARRAY,8,ISCATR,JPBYT) C C BUFR Edition 2 or greater has full message length in C bytes 5-7. ( Edition number is in byte 8) C IF (ISCATR(8).GE.2) C THEN KLENB = SHIFTL(ISCATR(5),16) + SHIFTL(ISCATR(6),8) C + ISCATR(7) GO TO 9000 ENDIF C C Length not in message, so calculate. C Count of octets in Section 0. C KLENB = 4 C C Count of octets in Section 1. C KLENB = KLENB + SHIFTL(ISCATR(5),16) + SHIFTL(ISCATR(6),8) C + ISCATR(7) C C Check if optional Section 2 is present. C IFLAG = ISCATR(12) C C Check flag value. C IF (IFLAG.NE.0.AND.IFLAG.NE.128) C THEN WRITE (*,9002) IFLAG IF (IABORT.EQ.0) CALL ABORT KLENB = -1 GO TO 9000 ENDIF C IF (IFLAG.EQ.128) C KLENB = KLENB + SHIFTL(ISCATR(KLENB+1),16) + C SHIFTL(ISCATR(KLENB+2),8) + ISCATR(KLENB+3) C C Check on array length. C IF (KLENB.GT.JPBYT) C THEN WRITE (*,9001) IF (IABORT.EQ.0) CALL ABORT KLENB = -1 GO TO 9000 ENDIF C C Length of Section 3. C KLENB = KLENB + SHIFTL(ISCATR(KLENB+1),16) + C SHIFTL(ISCATR(KLENB+2),8) + ISCATR(KLENB+3) C C Check on array length. C IF ((KLENB+3).GT.JPBYT) C THEN WRITE (*,9001) IF (IABORT.EQ.0) CALL ABORT KLENB = -1 GO TO 9000 ENDIF C C Length of binary data Section 4. C KLENB = KLENB + SHIFTL(ISCATR(KLENB+1),16) + C SHIFTL(ISCATR(KLENB+2),8) + ISCATR(KLENB+3) C C Length of Section 5. C KLENB = KLENB + 4 C C ---------------------------------------------------------------- C C C C C C C C C C* Section 9 . Return to calling routine. C ------------------------------------------------------------------ C 9000 CONTINUE C 9001 FORMAT (1H ,'LNBFCR : Array ISCATR limits exceeded.') C 9002 FORMAT (1H ,'LNBFCR : Error in section 2 flag - ',I4) C RETURN C END emoslib-000392+dfsg.1/gribex/dllsec2.F0000755000175000017500000001673212127406245020411 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DLLSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS, X IMISNG) C C----> C**** DLLSEC2P C C PURPOSE C _______ C C Decodes GRIB section 2 values for lat/long grid fields. C C INTERFACE C _________ C C IRET = DLLSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,IMISNG) C C Input parameters C ________________ C C KGRIB - GRIB product unpacked so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product unpacked so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C IMISNG - Missing data value to be used. C C C Output parameters C ________________ C C KSEC2 - Updated GRIB section 2 description. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Unpacks values given in KGRIB into KSEC2 and updates bit C pointer INSPT. C C Externals C _________ C C DSGNBT - Get the sign bit and adjust value to +/-. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,IMISNG DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) C C Local variables C INTEGER ILALO(2), IRET, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C DLLSEC2 = 0 C C _______________________________________________________ C C Section 2. Unpack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along a parallel. C Octets 9 - 10 : Nj - number of points along a meridian. C Two 16 bit fields. C C WARNING!! C For quasi-regular grids, it is here assumed that Ni is variable, C i.e. that the number of points along a parallel is variable but C that the number of points along a meridian is fixed. C C For quasi-regular grids Ni is set to all 1 bits, as C the number of points is different on different parallels. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DLLSEC2 = 1 WRITE(GRPRSM,*) 'DLLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'DLLSEC2: number of pts along parallel or meridian.' WRITE(GRPRSM,*) 'DLLSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DLLSEC2 = 1 WRITE(GRPRSM,*) 'DLLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'DLLSEC2: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'DLLSEC2: Return code = ', IRET GOTO 900 ENDIF C CALL DSGNBT( KSEC2(4), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(5), ILALO(2), 24, IRET) C C Octet 17 : Resolution and components flag. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DLLSEC2 = 1 WRITE(GRPRSM,*) 'DLLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'DLLSEC2: components flag.' WRITE(GRPRSM,*) 'DLLSEC2: Return code = ', IRET GOTO 900 ENDIF C C All flag fields are already set to 0, so C IF( IRESOL.EQ.0 ) GOTO 211 C C Fix up for flag which was different in Experimental edition. C IF( KSEC0(2).EQ.-1.AND.(IRESOL.EQ.1.OR.IRESOL.EQ.3)) IRESOL = 128 C C Set Resolution flag. C IF( IRESOL.GE.128) THEN KSEC2(6) = 128 IRESOL = IRESOL - 128 ENDIF C C Set earth flag. C IF( IRESOL.GE.64) THEN KSEC2(18) = 64 IRESOL = IRESOL - 64 ENDIF C C Set components flag. C KSEC2(19) = IRESOL C 211 CONTINUE C C Octets 18 - 20 : La2 - latitude of last grid point. C Octets 21 - 23 : Lo2 - longitude of last grid point. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DLLSEC2 = 1 WRITE(GRPRSM,*) 'DLLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'DLLSEC2: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'DLLSEC2: Return code = ', IRET GOTO 900 ENDIF C CALL DSGNBT( KSEC2(7), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(8), ILALO(2), 24, IRET) C C Octets 24 - 25 : Di - i direction increment. C One 16 bit field. C C For quasi-regular grids all Di bits are set to 1, as C the increment is different on different parallels. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),1,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DLLSEC2 = 1 WRITE(GRPRSM,*) 'DLLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'DLLSEC2: i direction increment.' WRITE(GRPRSM,*) 'DLLSEC2: Return code = ', IRET GOTO 900 ENDIF C C Change 1 bits to missing data value. C IF( KSEC2(9).EQ.JP16SET) KSEC2(9) = IMISNG C C C Octets 26 - 27 : Dj - j direction increment. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(10),1,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DLLSEC2 = 1 WRITE(GRPRSM,*) 'DLLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'DLLSEC2: j direction increment.' WRITE(GRPRSM,*) 'DLLSEC2: Return code = ', IRET GOTO 900 ENDIF C C Change 1 bits to missing data value. C IF( KSEC2(10).EQ.JP16SET) KSEC2(10) = IMISNG C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DLLSEC2 = 1 WRITE(GRPRSM,*) 'DLLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'DLLSEC2: scanning mode flags.' WRITE(GRPRSM,*) 'DLLSEC2: Return code = ', IRET GOTO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 32 : Reserved. C Two 16 bit fields. C C Update bit pointer. INSPT = INSPT + 32 C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/decfp.F0000755000175000017500000000243012127406245020130 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DECFP (FVAL,IEXP,IMANT) C----> C C* C* NAME : DECFP C* C* FUNCTION : DECODE GRIB CODE REPRESENTATION TO C* FLOATING POINT NUMBER. C* C* INPUT : IEXP - 8 BIT SIGNED EXPONENT C* IMANT - 24 BIT MANTISSA C* C* OUTPUT : FVAL - FLOATING POINT NUMBER C* IEXP - UNCHANGED C* IMANT - UNCHANGED C* C* JOHN HENNESSY , ECMWF , 15TH APRIL 1985 C* C --------------------------------------------------------------- C----< C C IF (IEXP.EQ.128.AND.IMANT.EQ.0) C THEN FVAL = 0.0 RETURN ENDIF C C C C SIGN OF VALUE C JEXP = IEXP ISIGN = 1 C IF (JEXP.GE.128) C THEN JEXP = JEXP - 128 ISIGN = -1 END IF C C DECODE VALUE. C FVAL = ISIGN*2.**(-24)*IMANT*16.**(JEXP-64) C C RETURN END emoslib-000392+dfsg.1/gribex/gengrib.F0000755000175000017500000001624212127406245020472 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GENGRIB( VALUES, LAT, LONG, NBITS, GRIB, GRIBSIZE) C C----> C**** GENGRIB C C Purpose. C -------- C C Creates a generic GRIB field product. C C C** Interface. C ---------- C C CALL GENGRIB( VALUES, LAT, LONG, NBITS, GRIB, GRIBSIZE) C C C Input C ----- C C VALUES - array of real numbers C LAT - first dimension of the array C (e.g. number of points along a meridian ) C LONG - second dimension of the array C (e.g. number of points along a parallel ) C NBITS - number of bits to use for each packed value C If NBITS = 0, a value is calculated for the given C field. C GRIBSIZE - size in bytes of output array GRIB C C C Output C ------ C C GRIB - packed GRIB record C C C Method. C ------- C C Packs the matrix of real values as a 500 hPa geopotential first C guess field for 94/1/1 1200. C C C Externals. C ---------- C C GRIBEX C CNBITS C C C Reference. C ---------- C C Binary data representation - FM 92 GRIB, ECMWF, May 1992 C C C Comments. C --------- C C If number of bits for packing is not supplied by caller, calculate C the number of bits needed to code the range of field values. C Apply (arbitrary) lower limit unless the number of bits is 1 (for C bit fields for example) when the value is left as 1. C C C Author. C ------- C C J.D.Chambers ECMWF 28.07.94 C C C Modifications. C -------------- C C None. C C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C C Parameters INTEGER JPLOW PARAMETER ( JPLOW = 16 ) C C Arguments INTEGER LAT,LONG REAL VALUES( LAT, LONG) INTEGER GRIB(*), GRIBSIZE INTEGER NBITS C C Local variables INTEGER KSEC0(2), KSEC1(43), KSEC2(23), KSEC3(2), KSEC4(33) REAL PSEC2(10), PSEC3(2) INTEGER LOOP, KLENG, KLENP, KWORD, KRET C INTEGER CNBITS C C ---------------------------------------------------------------- C* Section 1 . Setup section 1. C ---------------------------------------------------------------- C 100 CONTINUE C KSEC1( 1) = 128 KSEC1( 2) = 98 KSEC1( 3) = 255 KSEC1( 4) = 255 KSEC1( 5) = 128 KSEC1( 6) = 129 KSEC1( 7) = 100 KSEC1( 8) = 500 KSEC1( 9) = 0 KSEC1(10) = 94 KSEC1(11) = 1 KSEC1(12) = 1 KSEC1(13) = 12 KSEC1(14) = 0 KSEC1(15) = 1 KSEC1(16) = 0 KSEC1(17) = 0 KSEC1(18) = 0 KSEC1(19) = 0 KSEC1(20) = 0 KSEC1(21) = 20 DO 110 LOOP = 22, 36 KSEC1(LOOP) = 0 110 CONTINUE KSEC1(24) = 1 KSEC1(37) = 1 KSEC1(38) = 1 KSEC1(39) = 1 KSEC1(40) = 1060 KSEC1(41) = 1413829460 KSEC1(42) = 0 KSEC1(43) = 0 C C ---------------------------------------------------------------- C* Section 2 . Setup section 2. C ---------------------------------------------------------------- C 200 CONTINUE C KSEC2( 1) = 0 KSEC2( 2) = LONG KSEC2( 3) = LAT KSEC2( 4) = 90000 KSEC2( 5) = 0 KSEC2( 6) = 128 KSEC2( 7) = -90000 KSEC2( 8) = 360000 - (360000/LONG) KSEC2( 9) = (360000/LONG) KSEC2(10) = (180000/(LAT-1)) KSEC2(11) = 0 KSEC2(12) = 0 KSEC2(13) = 0 KSEC2(14) = 0 KSEC2(15) = 0 KSEC2(16) = 0 KSEC2(17) = 0 KSEC2(18) = 0 KSEC2(19) = 0 KSEC2(20) = 0 KSEC2(21) = 0 KSEC2(22) = 0 KSEC2(23) = LONG DO 210 LOOP =1, 10 PSEC2(LOOP) = 0.0 210 CONTINUE C C ---------------------------------------------------------------- C* Section 3 . Setup section 3. C ---------------------------------------------------------------- C 300 CONTINUE C KSEC3( 1) = 0 KSEC3( 2) = -1000000 PSEC3( 1) = 0 PSEC3( 2) = -1000000.0 C C ---------------------------------------------------------------- C* Section 4 . Setup section 4. C ---------------------------------------------------------------- C 400 CONTINUE C KSEC4( 1) = LAT*LONG C IF ( NBITS .LE. 0 ) THEN C C If number of bits for packing not supplied by caller, calculate C the number of bits needed to code the range of field values. KSEC4( 2) = CNBITS( VALUES, LAT, LONG ) C C Apply (arbitrary) lower limit. IF ( (KSEC4( 2) .LT. JPLOW) .AND. X (KSEC4( 2) .NE. 1) ) KSEC4( 2) = JPLOW ELSE KSEC4( 2) = NBITS ENDIF DO 410 LOOP = 3, 33 KSEC4(LOOP) = 0 410 CONTINUE C C ---------------------------------------------------------------- C* Section 5 . Pack the field. C ---------------------------------------------------------------- C 500 CONTINUE C #ifdef CRAY KLENG = GRIBSIZE/8 #else KLENG = GRIBSIZE/4 #endif KLENP = LAT*LONG C Cjdc CALL GRSVCK(0) Cjdc CALL GRSDBG(1) C CALL GRIBEX( KSEC0, KSEC1, KSEC2, PSEC2, KSEC3, PSEC3, KSEC4, X VALUES, KLENP, GRIB, KLENG, KWORD, 'C', KRET) C C ---------------------------------------------------------------- C* Section 9 . End. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/ecdef4.F0000755000175000017500000003345312127406245020212 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF4( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPLEN, KPR, KRET) C C----> C**** ECDEF4 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use of definition 4. C (Ocean extensions). C C** Interface. C ---------- C C CALL ECDEF4( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPLEN, KPR, KRET) C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPLEN - Pointer to field containing length of Section 1. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 4. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ECLOC1.F - simplified to handle just definition 4. #include "ecdef4.h" C C Author. C ------- C C J.D.Chambers ECMWF 18th January 1995 C C Modifications. C -------------- C C J.D.Chambers ECMWF Jan 2000 C Allow single 2-byte ensemble number for stream 1090 (ECMWF C ensemble seasonal forecasts) C C C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C C Parameters C CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPLEN, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables C INTEGER IRET, IZERO, ILENS1, INUM, LOOP, IP1, N INTEGER ILALO DIMENSION ILALO(8) LOGICAL LENCODE, LDECODE C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC.EQ.'C' ) LDECODE = .NOT. LENCODE C C -----------------------------------------------------------------| C* Section 2 . Ocean extensions, definition 4. C -----------------------------------------------------------------| C 200 CONTINUE C IF( KSEC1(40).EQ.1090 ) THEN C C If seasonal forecast data ... C C Octet 50-51 : Forecast number. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) GOTO 910 C IF( LDECODE ) KSEC1(43) = 0 C ELSE C C Octet 50 : Ensemble forecast number C Octet 51 : Total number of forecasts in ensemble C Two 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),2,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C ENDIF C C Octet 52 : Flag showing existence of a post-auxiliary array C One 8-bit field. C IF( LENCODE ) IP1 = 1 CALL INXBIT(KGRIB,KLENG,KNSPT, IP1,1,KBITS,8,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C -----------------------------------------------------------------| C* Section 3 . Coordinate structure definition. C -----------------------------------------------------------------| C 300 CONTINUE C C Octet 53 : Fundamental spatial reference system (Planet flag) C Octet 54 : Fundamental time reference C Octet 55 : Space unit flag (applies only if lengths NOT C otherwise labelled) C Octet 56 : Vertical coordinate definition (z) C Octet 57 : Horizontal coordinate definition (x,y) C Octet 58 : Time unit flag C Octet 59 : Time coordinate definition (t) C Seven 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(44),7,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C -----------------------------------------------------------------| C* Section 4 . Mixed coordinates. C -----------------------------------------------------------------| C 400 CONTINUE C C* Position definition. C Octet 60 : Mixed coordinate field flag C Octet 61 : Coordinate 1 flag (usually time) C Octet 62 : Averaging flag C Three 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(51),3,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C Octets 63 - 66 : Position of level 1 C Octets 67 - 70 : Position of level 2 C Two 32-bit fields. C C When coding data, set sign bit to 1, if value is negative. C IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC1(54), 32, KRET) CALL CSGNBT( ILALO(2), KSEC1(55), 32, KRET) ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO(1),2,KBITS, 32,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C When decoding data, if sign bit is 1, value is negative. C IF( LDECODE ) THEN CALL DSGNBT( KSEC1(54), ILALO(1), 32, KRET) CALL DSGNBT( KSEC1(55), ILALO(2), 32, KRET) ENDIF C C Octet 71 : Coordinate 2 flag (usually z-coordinate) C Octet 72 : Averaging flag C Two 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(56),2,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C Octets 73 - 76 : Position of level 1 C Octets 77 - 80 : Position of level 2 C Two 32-bit fields. C C When coding data, set sign bit to 1, if value is negative. C IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC1(58), 32, KRET) CALL CSGNBT( ILALO(2), KSEC1(59), 32, KRET) ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO(1),2,KBITS, 32,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C When decoding data, if sign bit is 1, value is negative. C IF( LDECODE ) THEN CALL DSGNBT( KSEC1(58), ILALO(1), 32, KRET) CALL DSGNBT( KSEC1(59), ILALO(2), 32, KRET) ENDIF C C -----------------------------------------------------------------| C* Section 5 . Grid definition. C -----------------------------------------------------------------| C 500 CONTINUE C C Octets 81 : Coordinate 3 flag (x-axis, usually longitude) C Octets 82 : Coordinate 4 flag (y-axis, usually latitude) C Two 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(60),2,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C Octets 83 - 86 : Coordinate 4 of first grid point C Octets 87 - 90 : Coordinate 3 of first grid point C Octets 91 - 94 : Coordinate 4 of last grid point C Octets 95 - 98 : Coordinate 3 of last grid point C Octets 99 - 102 : i-increment C Octets 103 - 106 : j-increment C Six 32-bit fields. C C When coding data, set sign bit to 1, if value is negative. C IF( LENCODE ) THEN CALL CSGNBT( ILALO(1), KSEC1(62), 32, KRET) CALL CSGNBT( ILALO(2), KSEC1(63), 32, KRET) CALL CSGNBT( ILALO(3), KSEC1(64), 32, KRET) CALL CSGNBT( ILALO(4), KSEC1(65), 32, KRET) CALL CSGNBT( ILALO(5), KSEC1(66), 32, KRET) CALL CSGNBT( ILALO(6), KSEC1(67), 32, KRET) ENDIF C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO(1),6,KBITS, 32,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C When decoding data, if sign bit is 1, value is negative. C IF( LDECODE ) THEN CALL DSGNBT( KSEC1(62), ILALO(1), 32, KRET) CALL DSGNBT( KSEC1(63), ILALO(2), 32, KRET) CALL DSGNBT( KSEC1(64), ILALO(3), 32, KRET) CALL DSGNBT( KSEC1(65), ILALO(4), 32, KRET) CALL DSGNBT( KSEC1(66), ILALO(5), 32, KRET) CALL DSGNBT( KSEC1(67), ILALO(6), 32, KRET) ENDIF C C C Octet 107 : Flag for irregular grid coordinate list C Octet 108 : Flag for normal or staggered grid C Two 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(68),2,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C -----------------------------------------------------------------| C* Section 6 . Auxiliary information. C -----------------------------------------------------------------| C 600 CONTINUE C C Octet 109 : Flag for any further information C One 8-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(70),1,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C* Auxiliary information. C C Octet 110 : Number of entries in horizontal coordinate C definition supplement. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(71),1,KBITS, 8,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C Octets 111 - 112 : Number of entries in mixed coordinate C definition. C Octets 113 - 114 : Number of entries in grid coordinate list C Octets 115 - 116 : Number of entries in auxiliary array C Three 16-bit fields . C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(72),3,KBITS, 16,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C At this point length of Section 1 of Grib code is 116 octets. C ILENS1 = 116 INUM = 75 C C -----------------------------------------------------------------| C* Section 7 . (Optional) Supplements. C -----------------------------------------------------------------| C 700 CONTINUE C C Horizontal coordinate supplement. C DO LOOP = 1, KSEC1(71) C C KSEC1(71) 32-bit fields. C C When coding values, set sign bit to 1, if value is negative. C IF( LENCODE ) CALL CSGNBT( ILALO(1), KSEC1(INUM), 32, KRET) C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO(1),1,KBITS,32, HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C When decoding values, if sign bit is 1, value is negative. C IF( LDECODE ) CALL DSGNBT( KSEC1(INUM), ILALO(1), 32, KRET) ILENS1 = ILENS1 + 4 INUM = INUM + 1 C ENDDO C C Mixed coordinate definition. C DO LOOP = 1, KSEC1(72) C C KSEC1(72) 32-bit fields. C C When coding values, set sign bit to 1, if value is negative. C IF( LENCODE ) CALL CSGNBT( ILALO(1), KSEC1(INUM), 32, KRET) C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO(1),1,KBITS, 32,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C When decoding values, if sign bit is 1, value is negative. C IF( LDECODE ) CALL DSGNBT( KSEC1(INUM), ILALO(1), 32, KRET) ILENS1 = ILENS1 + 4 INUM = INUM + 1 C ENDDO C C Grid coordinate list. C DO LOOP = 1, KSEC1(73) C C KSEC1(73) 32-bit fields. C C When coding values, set sign bit to 1, if value is negative. C IF( LENCODE ) CALL CSGNBT( ILALO(1), KSEC1(INUM), 32, KRET) C CALL INXBIT(KGRIB,KLENG,KNSPT,ILALO(1),1,KBITS, 32,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 C C When decoding values, if sign bit is 1, value is negative. C IF( LDECODE ) CALL DSGNBT( KSEC1(INUM), ILALO(1), 32, KRET) ILENS1 = ILENS1 + 4 INUM = INUM + 1 C ENDDO C C Auxiliary array. C IF( KSEC1(74).NE.0 ) THEN C C KSEC1(74) 32-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(INUM),KSEC1(74),KBITS, X 32,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 ILENS1 = ILENS1 + 4 * KSEC1(74) INUM = INUM + KSEC1(74) ENDIF C C Post-auxiliary array. C IF( IP1.EQ.1 ) THEN C C Integer count, N say, followed by (N-1) 32-bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(INUM),1,KBITS, X 32,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 N = KSEC1(INUM) IF( N.GT.1 ) THEN INUM = INUM + 1 C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(INUM),(N-1),KBITS, X 32,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 ILENS1 = ILENS1 + 4 * N INUM = INUM + N - 1 ELSE KSEC1(INUM) = 0 ILENS1 = ILENS1 + 4 KNSPT = KNSPT + 32 ENDIF ELSE KSEC1(INUM) = 0 ENDIF C C* Insert length of section 1, if coding data. C One 24-bit field. C IF( LENCODE ) THEN CALL INXBIT(KGRIB,KLENG,KPLEN,ILENS1,1,KBITS, 24,HFUNC,KRET) IF( KRET.NE.0 ) GOTO 910 ENDIF C C -----------------------------------------------------------------| C* Section 9 . Abort/return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C IF( KPR.GE.1 ) X WRITE(GRPRSM,*) 'ECDEF4: Section 9. On output, KNSPT = ',KNSPT C RETURN C 910 CONTINUE KRET = 2 WRITE(GRPRSM,*) 'ECDEF4: Error reported by routine INXBIT.' C C Abort if requested to do so when an error has been encountered. C IF( IRET.EQ.0.AND.KRET.NE.0 ) THEN CALL ABORTX ('ECDEF4') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/maxmin.F0000755000175000017500000000557512127406245020355 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE MAXMIN(PARRAY,KLEN,PMAX,PMIN) C C----> C**** MAXMIN - Get maximum and minimum values. C C Purpose. C -------- C C Get maximum and minimum values from an array of C floating point numbers.. C C** Interface. C ---------- C C CALL MAXMIN(PARRAY,KLEN,PMAX,PMIN) C C Input Parameters. C ----------------- C C PARRAY - Array of numbers. C KLEN - Last word of this array. C C Output Parameters. C ------------------ C C PMAX - Maximum value. C PMIN - Minimum value. C C Method. C ------- C C Intrinsic functions MAX and MIN are used. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C None. C C Author. C ------- C C J. Hennessy ECMWF 18:06:91 C C Modifications. C -------------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C Start loop from index 2. C Inhibits use of DMAX1/DMIN1 on CRAY (SMP) systems. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C IMPLICIT NONE C C Subroutine arguments C INTEGER KLEN REAL PARRAY, PMAX, PMIN, VSMALL DIMENSION PARRAY(KLEN) #ifndef __uxp__ C C Parameters C REAL JPSMALL #ifdef __alpha #ifdef REAL_8 PARAMETER (JPSMALL = 1E-307) #else PARAMETER (JPSMALL = 1E-37) #endif #else PARAMETER (JPSMALL = 1E-38) #endif #endif C C Local variables C INTEGER JLOOP C C ---------------------------------------------------------------- C* Section 1 . Get maximum and minimum values. C ---------------------------------------------------------------- C 100 CONTINUE C C Set initial values. C PMAX = PARRAY(1) PMIN = PARRAY(1) C C Extract maximum and minimum values. C DO 110 JLOOP = 2 , KLEN PMAX = MAX(PMAX,PARRAY(JLOOP)) PMIN = MIN(PMIN,PARRAY(JLOOP)) 110 CONTINUE C C Adjust to an acceptable 'tiny' minimum C #ifdef __uxp__ VSMALL = TINY(PMIN) #else VSMALL = JPSMALL #endif IF( (PMIN.NE.0.0).AND.(ABS(PMIN).LT.VSMALL) ) X PMIN = SIGN(VSMALL,PMIN) C C ---------------------------------------------------------------- C* Section 9. Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/grchk3.F0000755000175000017500000001054612127406245020237 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRCHK3 (KSEC1,KSEC3,PSEC3,KRET) C C----> C**** GRCHK3 - Check parameters for Section 3 of GRIB Code. C C Purpose. C -------- C C Check parameters for Section 3 of GRIB code against C valid values for GRIB Edition 1. C C** Interface. C ---------- C C CALL GRCHK3 (KSEC1,KSEC3,PSEC3,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KSEC1 - Array containing integer parameters for C section 1 of GRIB code. C C KSEC3 - Array containing integer parameters for C section 3 of GRIB code. C C PSEC3 - Array containing real parameters for C section 3 of GRIB code. C C Output Parameters. C ------------------ C C KRET - Return code. C 0 , No error encountered. C 1 , Error in GRIB Code parameter. C C Method. C ------- C C Values checked against current code/flag tables C and against maximum or minimum permitted values. C They are also checked against the current status C of the implementation of GRIBEX and ECMWF usage. C C Externals. C ---------- C C None. C C Reference. C ---------- C C WMO Manual on Codes for GRIB Code. C C Comments. C --------- C C Routine contains Sections 0 to 5 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 16.09.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 01.10.91 C Additional parameter KSEC1 and PSEC3 added. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C IMPLICIT NONE C #include "grprs.h" C INTEGER KRET INTEGER KSEC1 INTEGER KSEC3 C REAL PSEC3 C DIMENSION KSEC1(*) DIMENSION KSEC3(*) C DIMENSION PSEC3(*) C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C C Reset return code. C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Check values. C ---------------------------------------------------------------- C 200 CONTINUE C C* Check bit-map table reference field. C IF (KSEC3(1).LT.0.OR.KSEC3(1).GT.65535) C THEN KRET = 1 WRITE(GRPRSM,9001) KSEC3(1) ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C 9001 FORMAT (1H ,'GRCHK3 : Invalid bit-map table reference - ',I9) C RETURN END emoslib-000392+dfsg.1/gribex/bt_vax_mar.mar0000755000175000017500000000164212127406245021567 0ustar amckinstryamckinstry .TITLE SGBIT ; ++++++++++ ; CALL GBIT(NPACK,ISAM,IBIT,NBITS) ; UNPACKS THE BIT PATTERN LOCATED AT A BIT OFFSET ; OF IBIT IN NPACK OF LENGTH NBITS INTO ISAM. ; ; THIS ROUTINE EXTRACTS BITS FROM VAX WORDS. ; IT IS SIMILAR TO NCAR'S GBYTE BUT IT WORKS WITH ; THE NATURAL UNDERLYING STRUCTURE OF THE VAX. ; ---------- .PSECT MACRO_CODE PIC,USR,CON,REL,LCL,SHR,EXE,RD,NOWRT,NOVEC .ENTRY GBIT,0 EXTZV @12(AP),@16(AP),@4(AP),@8(AP) ;ISN'T THIS NEAT ? RET ; ; ; ++++++++++ ; CALL SBIT(NPACK,ISAM,IBIT,NBITS) ; PACKS THE VALUE IN ISAM INTO NPACK ; WITH NBITS OFFSET BY IBIT. ; ; THIS ROUTINE EXTRACTS BITS FROM VAX WORDS. ; IT IS SIMILAR TO NCAR'S SBYTE BUT IT WORKS WITH ; THE NATURAL UNDERLYING STRUCTURE OF THE VAX. ; ---------- .ENTRY SBIT,0 INSV @8(AP),@12(AP),@16(AP),@4(AP) ;ISN'T THIS NEAT ? RET .END emoslib-000392+dfsg.1/gribex/sources.rs60000000755000175000017500000000661612127406245021311 0ustar amckinstryamckinstry# # Sources for libemos/gribex for rs6000. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gsbite.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/ECMWFdefinitions.c0000755000175000017500000030276312127406245022215 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include "ECMWFdefinitions.h" void encodeMarsPart(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes fixed part of ECMWF local definition 1 (from byte 41 onwards) // into gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition1.html */ fortint * n = inputArray; unsigned char * p = gribSection1; *p++ = ONEBYTE(n);n++; /* DEFINITION */ *p++ = ONEBYTE(n);n++; /* CLASS */ *p++ = ONEBYTE(n);n++; /* TYPE */ MOVE2BYTES(p,n); /* STREAM */ p+=2; n++; #ifdef INTEGER_8 memcpy(p,((char *)n+4),4); /* EXPVER */ #else memcpy(p,(char *)n,4); /* EXPVER */ #endif p += 4; n++; return; } void decodeMarsPart(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes fixed part of ECMWF local definition 1 (from byte 41 onwards) // from gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition1.html */ fortint * n = outputArray; unsigned char * p = gribSection1; *n++ = ONEBYTEINT(p); p++; /* DEFINITION */ *n++ = ONEBYTEINT(p); p++; /* CLASS */ *n++ = ONEBYTEINT(p); p++; /* TYPE */ *n++ = TWOBYTEINT(p); p += 2; /* STREAM */ #ifdef INTEGER_8 memcpy(((char *)n+4),p,4); /* EXPVER */ #else memcpy((char *)n,p,4); /* EXPVER */ #endif n++; p+= 4; return; } fortint e_def_1_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 1 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition1.html // // Returns the number of bytes (octets) in local definition 1 after // byte 40. */ fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = ONEBYTE(n);n++; /* TOTAL */ *p++ = (unsigned char) 0; /* UNUSED */ /* // Definition 1 has a fixed length section 1 (52 bytes) */ return (fortint) (52-40); } fortint e_def_1(fortint * inputArray, unsigned char * gribSection1) { return e_def_1_(inputArray,gribSection1); } fortint d_def_1_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 1 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition1.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = ONEBYTEINT(p);p++; /* TOTAL */ return (fortint) (n - outputArray); } fortint d_def_1(fortint * outputArray, unsigned char * gribSection1) { return d_def_1_(outputArray,gribSection1); } fortint e_def_2_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 2 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition2.html // // Returns the number of bytes (octets) in local definition 2 after // byte 40. */ int loop, N; fortint value; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = ONEBYTE(n);n++; /* TOTAL */ *p++ = (unsigned char) 0; /* UNUSED */ *p++ = ONEBYTE(n);n++; /* METHOD */ MOVE2BYTES(p,n); /* STARTSTEP */ p += 2; n++; MOVE2BYTES(p,n); /* ENDSTEP */ p += 2; n++; /* // When coding values, set sign bit to 1, if value is negative. */ value = *n++; /* NORTH */ if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(p,&value); p += 3; value = *n++; /* WEST */ if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(p,&value); p += 3; value = *n++; /* SOUTH */ if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(p,&value); p += 3; value = *n++; /* EAST */ if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(p,&value); p += 3; *p++ = ONEBYTE(n);n++; /* FORECAST */ *p++ = ONEBYTE(n);n++; /* CONTROL */ N = *n; /* NUMBERINCLUSTER */ *p++ = ONEBYTE(n++); for( loop = 0; loop < N; loop++) /* LIST */ *p++ = ONEBYTE(n++); /* // Definition 2 has a fixed length section 1 (328 bytes) */ for( loop = N; loop < (328-72); loop++) *p++ = (unsigned char) 0; return (fortint) (328-40); } fortint e_def_2(fortint * inputArray, unsigned char * gribSection1) { return e_def_2_(inputArray,gribSection1); } fortint d_def_2_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 2 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition2.html // // Returns the number of array elements inserted in outputArray */ int loop, N; fortint value; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = ONEBYTEINT(p);p++; /* TOTAL */ p++; /* UNUSED */ *n++ = ONEBYTEINT(p);p++; /* METHOD */ *n++ = TWOBYTEINT(p); /* STARTSTEP */ p += 2; *n++ = TWOBYTEINT(p); /* ENDSTEP */ p += 2; /* // When decoding values, if sign bit is 1, value is negative. */ value = THREEBYTEINT(p); /* NORTH */ p += 3; if( value & 0x800000 ) value = - (value & 0x7fffff); *n++ = value; value = THREEBYTEINT(p); /* WEST */ p += 3; if( value & 0x800000 ) value = - (value & 0x7fffff); *n++ = value; value = THREEBYTEINT(p); /* SOUTH */ p += 3; if( value & 0x800000 ) value = - (value & 0x7fffff); *n++ = value; value = THREEBYTEINT(p); /* EAST */ p += 3; if( value & 0x800000 ) value = - (value & 0x7fffff); *n++ = value; *n++ = ONEBYTEINT(p);p++; /* FORECAST */ *n++ = ONEBYTEINT(p);p++; /* CONTROL */ N = ONEBYTEINT(p); *n++ = ONEBYTEINT(p);p++; /* NUMBERINCLUSTER */ for( loop = 0; loop < N; loop++) /* LIST */ *n++ = ONEBYTEINT(p++); return (fortint) (n - outputArray); } fortint d_def_2(fortint * outputArray, unsigned char * gribSection1) { return d_def_2_(outputArray,gribSection1); } fortint e_def_3_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 3 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition3.html // // Returns the number of bytes (octets) in local definition 3 after // byte 40. */ fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* BAND */ *p++ = ONEBYTE(n);n++; /* FUNCTION */ *p++ = (unsigned char) 0; /* RESERVED */ return (fortint) (p-gribSection1); } fortint e_def_3(fortint * inputArray, unsigned char * gribSection1) { return e_def_3_(inputArray,gribSection1); } fortint d_def_3_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 3 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition3.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* BAND */ *n++ = ONEBYTEINT(p);p++; /* FUNCTION */ return (fortint) (n - outputArray); } fortint d_def_3(fortint * outputArray, unsigned char * gribSection1) { return d_def_3_(outputArray,gribSection1); } void encodeNonMarsPartOfDefinition4( fortint** nPointer, unsigned char** pPointer) { fortint* n = *nPointer; unsigned char* p = *pPointer; int loop; int N, M, I, J, K; int zero = 0; fortint value; /* // Coordinate structure definition */ *p++ = ONEBYTE(n);n++; /* SPACEUNITFLAG */ *p++ = ONEBYTE(n);n++; /* VERTCOORDDEFN */ *p++ = ONEBYTE(n);n++; /* HORIZCOORDDEFN */ *p++ = ONEBYTE(n);n++; /* TIMEUNITFLAG */ *p++ = ONEBYTE(n);n++; /* TIMECOORDDEFN */ /* // Mixed coordinates // For positions, set sign bit to 1, if value is negative */ *p++ = ONEBYTE(n);n++; /* MIXEDCOORDFLAG */ *p++ = ONEBYTE(n);n++; /* COORD1FLAG */ *p++ = ONEBYTE(n);n++; /* AVERAGINGFLAG1 */ value = *n++; /* POSITION1LEVEL1 */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* POSITION1LEVEL2 */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; *p++ = ONEBYTE(n);n++; /* COORD2FLAG */ *p++ = ONEBYTE(n);n++; /* AVERAGINGFLAG2 */ value = *n++; /* POSITION2LEVEL1 */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* POSITION2LEVEL2 */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; /* // Data grid definitions // For coordinates and increments, set sign bit to 1, if value is negative */ *p++ = ONEBYTE(n);n++; /* COORD3FLAG */ *p++ = ONEBYTE(n);n++; /* COORD4FLAG */ value = *n++; /* COORD4FIRSTPT */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* COORD3FIRSTPT */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* COORD4LASTPT */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* COORD3LASTPT */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* I_INCREMENT */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* J_INCREMENT */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; *p++ = ONEBYTE(n);n++; /* FLAGIRREGGRIDLIST */ *p++ = ONEBYTE(n);n++; /* FLAGOTHERGRIDLIST */ /* // Auxiliary information */ *p++ = ONEBYTE(n);n++; /* FLAGOTHERINFO */ N = *n; /* NUMBERHORIZCOORDS */ *p++ = ONEBYTE(n++); M = *n; /* NUMBERMIXEDCOORDS */ MOVE2BYTES(p,n); p += 2; n++; I = *n; /* NUMBERGRIDCOORDS */ MOVE2BYTES(p,n); p += 2; n++; J = *n; /* NUMBERAUXILIARY */ MOVE2BYTES(p,n); p += 2; n++; /* // Horizontal coordinate definition // For coordinates, set sign bit to 1, if value is negative */ for( loop = 0; loop < N; loop++) { /* AUXILIARY ARRAY */ value = *n++; if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; } /* // Mixed coordinate definition // For coordinates, set sign bit to 1, if value is negative */ for( loop = 0; loop < M; loop++) { value = *n++; if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; } /* // Grid coordinate list // For coordinates, set sign bit to 1, if value is negative */ for( loop = 0; loop < I; loop++) { value = *n++; if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; } /* // Auxiliary array */ for( loop = 0; loop < J; loop++) { MOVE4BYTES(p,n); p += 4; n++; } /* // Post-auxiliary array */ K = *n; MOVE4BYTES(p,n); p += 4; n++; for( loop = 1; loop < K; loop++) { MOVE4BYTES(p,n); p += 4; n++; } *nPointer = n; *pPointer = p; return; } fortint e_def_4_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Encodes ECMWF local definition 4 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition4.html // // If *bitPointer is not equal to zero, the length of the GRIB section // 1 is stored in 3 bytes starting at (gribSection1-40). // *bitPointer is updated by the number of bits in local definition 4. // // Returns the number of bytes (octets) in local definition 4 after // byte 40. */ fortint byteLength, streamNumber, zero = 0; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; streamNumber = *(n-2); if( streamNumber == 1090 ) { MOVE2BYTES(p,n); /* NUMBER in 2 bytes for stream 1090 */ p += 2; n +=2; /* ZERO */ } else { *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = zero; n++; /* ZERO */ } *p++ = (unsigned char) 1; /* POST-AUXILIARY FLAG */ *p++ = ONEBYTE(n);n++; /* SYSTEM */ *p++ = ONEBYTE(n);n++; /* METHOD */ encodeNonMarsPartOfDefinition4(&n, &p); byteLength = 40 + (fortint) (p-gribSection1); if( *bitPointer ) { MOVE3BYTES(gribSection1-40,&byteLength); *bitPointer += (byteLength-40)*8; } return (fortint) byteLength; } fortint e_def_4( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { return e_def_4_(inputArray,gribSection1,bitPointer); } void decodeNonMarsPartOfDefinition4( fortint postAuxiliaryArrayFlag, fortint** nPointer, unsigned char** pPointer) { fortint* n = *nPointer; unsigned char* p = *pPointer; int loop; int N, M, I, J, K; fortint value; /* // Coordinate structure definition */ *n++ = ONEBYTEINT(p);p++; /* SPACEUNITFLAG */ *n++ = ONEBYTEINT(p);p++; /* VERTCOORDDEFN */ *n++ = ONEBYTEINT(p);p++; /* HORIZCOORDDEFN */ *n++ = ONEBYTEINT(p);p++; /* TIMEUNITFLAG */ *n++ = ONEBYTEINT(p);p++; /* TIMECOORDDEFN */ /* // Mixed Coordinates // For positions, if sign bit is 1, value is negative */ *n++ = ONEBYTEINT(p);p++; /* MIXEDCOORDFLAG */ *n++ = ONEBYTEINT(p);p++; /* COORD1FLAG */ *n++ = ONEBYTEINT(p);p++; /* AVERAGINGFLAG1 */ value = FOURBYTEINT(p); /* POSITION1LEVEL1 */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* POSITION1LEVEL2 */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; *n++ = ONEBYTEINT(p);p++; /* COORD2FLAG */ *n++ = ONEBYTEINT(p);p++; /* AVERAGINGFLAG2 */ value = FOURBYTEINT(p); /* POSITION2LEVEL1 */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* POSITION2LEVEL2 */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; /* // Data grid definitions // For coordinates and increments, if sign bit is 1, value is negative */ *n++ = ONEBYTEINT(p);p++; /* COORD3FLAG */ *n++ = ONEBYTEINT(p);p++; /* COORD4FLAG */ value = FOURBYTEINT(p); /* COORD4FIRSTPT */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* COORD3FIRSTPT */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* COORD4LASTPT */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* COORD3LASTPT */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* I_INCREMENT */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* J_INCREMENT */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; *n++ = ONEBYTEINT(p);p++; /* FLAGIRREGGRIDLIST */ *n++ = ONEBYTEINT(p);p++; /* FLAGOTHERGRIDLIST */ /* // Auxiliary information */ *n++ = ONEBYTEINT(p);p++; /* FLAGOTHERINFO */ *n++ = ONEBYTEINT(p);p++; /* NUMBERHORIZCOORDS */ N = *(n-1); *n++ = TWOBYTEINT(p); /* NUMBERMIXEDCOORDS */ M = *(n-1); p += 2; *n++ = TWOBYTEINT(p); /* NUMBERGRIDCOORDS */ I = *(n-1); p += 2; *n++ = TWOBYTEINT(p); /* NUMBERAUXILIARY */ J = *(n-1); p += 2; /* // Horizontal coordinate definition // For coordinates, if sign bit is 1, value is negative */ for( loop = 0; loop < N; loop++) { value = FOURBYTEINT(p); p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; } /* // Mixed coordinate definition // For coordinates, if sign bit is 1, value is negative */ for( loop = 0; loop < M; loop++) { value = FOURBYTEINT(p); p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; } /* // Grid coordinate list // For coordinates, set sign bit to 1, if value is negative */ for( loop = 0; loop < I; loop++) { value = FOURBYTEINT(p); p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; } /* // Auxiliary array */ for( loop = 0; loop < J; loop++) { *n++ = FOURBYTEINT(p); p += 4; } /* // Post-auxiliary array KSEC1 element */ if( postAuxiliaryArrayFlag ) { *n++ = FOURBYTEINT(p); p += 4; K = *(n-1); for( loop = 1; loop < K; loop++) { *n++ = FOURBYTEINT(p); p += 4; } } *nPointer = n; *pPointer = p; return; } fortint d_def_4_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Decodes ECMWF local definition 4 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition4.html // // *bitPointer is updated by the number of bits in local definition 4. // // Returns the number of array elements inserted in outputArray */ fortint byteLength, streamNumber, postAuxiliaryArrayFlag; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; streamNumber = *(n-2); if( streamNumber == 1090 ) { *n++ = TWOBYTEINT(p); /* NUMBER in 2 bytes for stream 1090 */ p +=2; *n++ = 0; /* ZERO */ } else { *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = 0; p++; /* ZERO */ } postAuxiliaryArrayFlag = ONEBYTEINT(p);p++; /* FLAG */ *n++ = ONEBYTEINT(p);p++; /* SYSTEM */ *n++ = ONEBYTEINT(p);p++; /* METHOD */ decodeNonMarsPartOfDefinition4(postAuxiliaryArrayFlag, &n, &p); byteLength = 40 + (fortint) (p - gribSection1); if( *bitPointer ) *bitPointer += (byteLength-40)*8; return (fortint) (n - outputArray); } fortint d_def_4( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { return d_def_4_(outputArray,gribSection1,bitPointer); } fortint e_def_5_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 5 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition5.html // // Returns the number of bytes (octets) in local definition 5 after // byte 40. */ fortint value; fortint * n = inputArray; unsigned char * p = gribSection1; fortint indicator; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = ONEBYTE(n);n++; /* TOTAL */ /* // When decoding scale, if sign bit is 1, value is negative. */ value = *n++; /* SCALE */ if( value < 0 ) value = 0x80 | (-value); *p++ = ONEBYTE(&value); indicator = *n; *p++ = ONEBYTE(n);n++; /* INDICATOR */ /* // When decoding upper/lower thresholds, if stored value is not 0xffff, // if sign bit is 1, value is negative. */ value = *n++; /* LOWER */ if( indicator != 2 ) { if( value < 0 ) value = 0x8000 | (-value); } else value = 0xffff; MOVE2BYTES(p,&value); p += 2; value = *n++; /* UPPER */ if( indicator != 1 ) { if( value < 0 ) value = 0x8000 | (-value); } else value = 0xffff; MOVE2BYTES(p,&value); p += 2; *p++ = (unsigned char) 0; /* SPARE */ /* // Definition 5 has a fixed length section 1 (58 bytes) */ return (fortint) (58-40); } fortint e_def_5(fortint * inputArray, unsigned char * gribSection1) { return e_def_5_(inputArray,gribSection1); } fortint d_def_5_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 5 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition5.html // // Returns the number of array elements inserted in outputArray */ fortint value; fortint * n = outputArray; unsigned char * p = gribSection1; fortint indicator; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = ONEBYTEINT(p);p++; /* TOTAL */ /* // When decoding scale, if sign bit is 1, value is negative. */ value = ONEBYTEINT(p);p++; /* SCALE */ if( value & 0x80 ) value = - (value & 0x7f); *n++ = value; *n++ = ONEBYTEINT(p);p++; /* INDICATOR */ indicator = *(n-1); /* // When decoding upper/lower thresholds, if stored value is not 0xffff, // if sign bit is 1, value is negative. */ value = TWOBYTEINT(p); /* LOWER */ p += 2; if( indicator != 2 ) { if( value & 0x8000 ) value = - (value & 0x7fff); } else value = 0xffff; *n++ = value; value = TWOBYTEINT(p); /* UPPER */ p += 2; if( indicator != 1 ) { if( value & 0x8000 ) value = - (value & 0x7fff); } else value = 0xffff; *n++ = value; return (fortint) (n - outputArray); } fortint d_def_5(fortint * outputArray, unsigned char * gribSection1) { return d_def_5_(outputArray,gribSection1); } fortint e_def_6_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Encodes ECMWF local definition 6 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition6.html // // If *bitPointer is not equal to zero, the length of the GRIB section // 1 is stored in 3 bytes starting at (gribSection1-40). // *bitPointer is updated by the number of bits in local definition 6. // // Returns the number of bytes (octets) in local definition 6 after // byte 40. */ int loop, N; fortint byteLength; fortint * n = inputArray; unsigned char * p = gribSection1; fortint date; encodeMarsPart(n,p); p += 9; n += 5; *p++ = (unsigned char) 0; /* ZERO1 */ n++; *p++ = (unsigned char) 0; /* ZERO2 */ n++; date = *n++; /* DATEOFSST */ if( date > 19000000 ) date -= 19000000; MOVE3BYTES(p,&date); p += 3; *p++ = ONEBYTE(n);n++; /* TYPEOFSST */ N = *n; /* COUNTOFICE */ *p++ = ONEBYTE(n++); for( loop = 0; loop < N; loop++) { date = *n++; /* ICEDATE */ if( date > 19000000 ) date -= 19000000; MOVE3BYTES(p,&date); p += 3; *p++ = ONEBYTE(n);n++; /* SATELLITE */ } byteLength = 40 + (fortint) (p-gribSection1); if( *bitPointer ) { MOVE3BYTES(gribSection1-40,&byteLength); *bitPointer += (byteLength-40)*8; } return (fortint) byteLength; } fortint e_def_6( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { return e_def_6_(inputArray,gribSection1,bitPointer); } fortint d_def_6_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Decodes ECMWF local definition 6 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition6.html // // *bitPointer is updated by the number of bits in local definition 6. // // Returns the number of array elements inserted in outputArray */ int loop, N, byteLength; fortint * n = outputArray; unsigned char * p = gribSection1; fortint date; decodeMarsPart(n,p); p += 9; n += 5; *n++ = (fortint) 0; p++; /* ZERO1 */ *n++ = (fortint) 0; p++; /* ZERO2 */ date = THREEBYTEINT(p); /* Date of SST field used */ p += 3; if( (date < 19000000) && (date > 100 ) ) date += 19000000; *n++ = date; *n++ = ONEBYTEINT(p);p++; /* TYPEOFSST */ *n++ = ONEBYTEINT(p);p++; /* COUNTOFICE */ N = *(n-1); for( loop = 0; loop < N; loop++) { date = THREEBYTEINT(p); /* ICEDATE */ p += 3; if( (date < 19000000) && (date > 100 ) ) date += 19000000; *n++ = date; *n++ = ONEBYTEINT(p);p++; /* SATELLITE */ } byteLength = 40 + (fortint) (p - gribSection1); if( *bitPointer ) *bitPointer += (byteLength-40)*8; return (fortint) (n - outputArray); } fortint d_def_6( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { return d_def_6_(outputArray,gribSection1,bitPointer); } fortint e_def_7_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 7 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition7.html // // Returns the number of bytes (octets) in local definition 7 after // byte 40. */ fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = ONEBYTE(n);n++; /* TOTAL */ *p++ = ONEBYTE(n);n++; /* DOMAIN */ *p++ = ONEBYTE(n);n++; /* DIAGNOSTICNUMBER */ *p++ = (unsigned char) 0; /* SPARE */ /* // Definition 7 has a fixed length section 1 (54 bytes) */ return (fortint) (54-40); } fortint e_def_7(fortint * inputArray, unsigned char * gribSection1) { return e_def_7_(inputArray,gribSection1); } fortint d_def_7_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 7 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition7.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = ONEBYTEINT(p);p++; /* TOTAL */ *n++ = ONEBYTEINT(p);p++; /* DOMAIN */ *n++ = ONEBYTEINT(p);p++; /* DIAGNOSTICNUMBER */ return (fortint) (n - outputArray); } fortint d_def_7(fortint * outputArray, unsigned char * gribSection1) { return d_def_7_(outputArray,gribSection1); } fortint e_def_8_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 8 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition8.html // // Returns the number of bytes (octets) in local definition 8 after // byte 40. */ int loop; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* INTERVAL */ for( loop = 0; loop < 12; loop++) { *p++ = ONEBYTE(n); /* UNSIGNED INTEGER */ n++; } /* // Definition 8 has a fixed length section 1 (62 bytes) */ return (fortint) (62-40); } fortint e_def_8(fortint * inputArray, unsigned char * gribSection1) { return e_def_8_(inputArray,gribSection1); } fortint d_def_8_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 8 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition8.html // // Returns the number of array elements inserted in outputArray */ int loop; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* INTERVAL */ for( loop = 0; loop < 12; loop++) { *n++ = ONEBYTEINT(p); /* UNSIGNED INTEGER */ p++; } return (fortint) (n - outputArray); } fortint d_def_8(fortint * outputArray, unsigned char * gribSection1) { return d_def_8_(outputArray,gribSection1); } fortint e_def_9_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 9 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition9.html // // Returns the number of bytes (octets) in local definition 9 after // byte 40. */ fortint value; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; MOVE2BYTES(p,n); /* NUMBER */ p += 2; n++; MOVE2BYTES(p,n); /* ITERATIONCOUNT */ p += 2; n++; MOVE2BYTES(p,n); /* VECTORCOUNT */ p += 2; n++; *p++ = ONEBYTE(n);n++; /* INITIALNORM */ *p++ = ONEBYTE(n);n++; /* FINALNORM */ MOVE4BYTES(p,n); /* VECTORCOUNT */ p += 4; n++; /* // When coding values, set sign bit to 1, if value is negative. */ value = *n++; /* NORTHWESTLAT */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* NORTHWESTLON */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* SOUTHEASTLAT */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* SOUTHEASTLON */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; MOVE4BYTES(p,n); /* ACCURACY */ p += 4; n++; MOVE2BYTES(p,n); /* NUMBEREVOLVED */ p += 2; n++; value = *n++; /* RITZNUMBER1 */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* RITZNUMBER2 */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; *p++ = (unsigned char) 0; /* SPARE */ /* // Definition 9 has a fixed length section 1 (92 bytes) */ return (fortint) (92-40); } fortint e_def_9(fortint * inputArray, unsigned char * gribSection1) { return e_def_9_(inputArray,gribSection1); } fortint d_def_9_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 9 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition9.html // // Returns the number of array elements inserted in outputArray */ fortint value; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = TWOBYTEINT(p); /* NUMBER */ p += 2; *n++ = TWOBYTEINT(p); /* ITERATIONCOUNT */ p += 2; *n++ = TWOBYTEINT(p); /* VECTORCOUNT */ p += 2; *n++ = ONEBYTEINT(p);p++; /* INITIALNORM */ *n++ = ONEBYTEINT(p);p++; /* FINALNORM */ *n++ = FOURBYTEINT(p); /* FACTOR */ p += 4; /* // When decoding values, if sign bit is 1, value is negative. */ value = FOURBYTEINT(p); /* NORTHWESTLAT */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* NORTHWESTLON */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* SOUTHEASTLAT */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* SOUTHEASTLON */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; *n++ = FOURBYTEINT(p); /* ACCURACY */ p += 4; *n++ = TWOBYTEINT(p); /* NUMBEREVOLVED */ p += 2; value = FOURBYTEINT(p); /* RITZNUMBER1 */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* RITZNUMBER2 */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; return (fortint) (n - outputArray); } fortint d_def_9(fortint * outputArray, unsigned char * gribSection1) { return d_def_9_(outputArray,gribSection1); } fortint e_def_10_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Encodes ECMWF local definition 10 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition10.html // // If *bitPointer is not equal to zero, the length of the GRIB section // 1 is stored in 3 bytes starting at (gribSection1-40). // *bitPointer is updated by the number of bits in local definition 10. // // Returns the number of bytes (octets) in local definition 10 after // byte 40. */ int loop, N; fortint value, byteLength; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = ONEBYTE(n);n++; /* TOTAL */ *p++ = ONEBYTE(n);n++; /* CENTRALDEFINITION */ *p++ = ONEBYTE(n);n++; /* PARAMETER */ *p++ = ONEBYTE(n);n++; /* LEVELTYPE */ /* // When coding values, set sign bit to 1, if value is negative. */ value = *n++; /* NORTH */ if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(p,&value); p += 3; value = *n++; /* WEST */ if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(p,&value); p += 3; value = *n++; /* SOUTH */ if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(p,&value); p += 3; value = *n++; /* EAST */ if( value < 0 ) value = 0x800000 | (-value); MOVE3BYTES(p,&value); p += 3; *p++ = ONEBYTE(n);n++; /* OPERFORECASTTUBE */ *p++ = ONEBYTE(n);n++; /* CONTROLFORECASTTUBE */ MOVE2BYTES(p,n); /* HEIGHT */ p += 2; n++; MOVE2BYTES(p,n); /* STEP */ p += 2; n++; MOVE2BYTES(p,n); /* RADIUS */ p += 2; n++; MOVE2BYTES(p,n); /* ENSEMBLEDEVIATION */ p += 2; n++; MOVE2BYTES(p,n); /* DISTANCEEXTREME */ p += 2; n++; N = *n; /* NUMBERINTUBE */ *p++ = ONEBYTE(n++); for( loop = 0; loop < N; loop++) /* ENSEMBLE FORECAST NUMBERS */ *p++ = ONEBYTE(n++); /* // Definition 10 has a fixed length section 1 (334 bytes) */ for( loop = N; loop < (334-39); loop++) *p++ = (unsigned char) 0; byteLength = 334; if( *bitPointer ) { MOVE3BYTES(gribSection1-40,&byteLength); *bitPointer += (byteLength-40)*8; } return (fortint) byteLength; } fortint e_def_10( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { return e_def_10_(inputArray,gribSection1,bitPointer); } fortint d_def_10_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Decodes ECMWF local definition 10 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition10.html // // *bitPointer is updated by the number of bits in local definition 10. // // Returns the number of array elements inserted in outputArray */ int loop, N, byteLength; fortint value; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = ONEBYTEINT(p);p++; /* TOTAL */ *n++ = ONEBYTEINT(p);p++; /* CENTRALDEFINITION */ *n++ = ONEBYTEINT(p);p++; /* PARAMETER */ *n++ = ONEBYTEINT(p);p++; /* LEVELTYPE */ /* // When decoding values, if sign bit is 1, value is negative. */ value = THREEBYTEINT(p); /* NORTH */ p += 3; if( value & 0x800000 ) value = - (value & 0x7fffff); *n++ = value; value = THREEBYTEINT(p); /* WEST */ p += 3; if( value & 0x800000 ) value = - (value & 0x7fffff); *n++ = value; value = THREEBYTEINT(p); /* SOUTH */ p += 3; if( value & 0x800000 ) value = - (value & 0x7fffff); *n++ = value; value = THREEBYTEINT(p); /* EAST */ p += 3; if( value & 0x800000 ) value = - (value & 0x7fffff); *n++ = value; *n++ = ONEBYTEINT(p);p++; /* OPERFORECASTTUBE */ *n++ = ONEBYTEINT(p);p++; /* CONTROLFORECASTTUBE */ *n++ = TWOBYTEINT(p); /* HEIGHT */ p += 2; *n++ = TWOBYTEINT(p); /* STEP */ p += 2; *n++ = TWOBYTEINT(p); /* RADIUS */ p += 2; *n++ = TWOBYTEINT(p); /* ENSEMBLEDEVIATION */ p += 2; *n++ = TWOBYTEINT(p); /* DISTANCEEXTREME */ p += 2; *n++ = ONEBYTEINT(p);p++; /* NUMBERINTUBE */ N = *(n-1); for( loop = 0; loop < N; loop++) /* ENSEMBLE FORECAST NUMBERS */ *n++ = ONEBYTEINT(p++); /* // Definition 10 has a fixed length section 1 (334 bytes) */ byteLength = 334; if( *bitPointer ) *bitPointer += (byteLength-40)*8; return (fortint) (n - outputArray); } fortint d_def_10( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { return d_def_10_(outputArray,gribSection1,bitPointer); } fortint e_def_11_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 11 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition11.html // // Returns the number of bytes (octets) in local definition 11 after // byte 40. */ int loop; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* ANALYSISCLASS */ *p++ = ONEBYTE(n);n++; /* ANALYSISTYPE */ MOVE2BYTES(p,n); /* ANALYSISSTREAM */ p += 2; n++; MOVE4BYTES(p,n); /* ANALYSISEXPVER */ p += 4; n++; *p++ = ONEBYTE(n);n++; /* ANALYSIS_YY */ *p++ = ONEBYTE(n);n++; /* ANALYSIS_MM */ *p++ = ONEBYTE(n);n++; /* ANALYSIS_DD */ *p++ = ONEBYTE(n);n++; /* ANALYSIS_HH */ *p++ = ONEBYTE(n);n++; /* ANALYSIS_MIN */ *p++ = ONEBYTE(n);n++; /* ANALYSISCENTURY */ *p++ = ONEBYTE(n);n++; /* ANALYSISORIGIN */ *p++ = ONEBYTE(n);n++; /* ANALYSISSUBCENTRE */ for( loop = 0; loop < 7; loop++) /* SPARE */ *p++ = (unsigned char) 0; /* // Definition 11 has a fixed length section 1 (72 bytes) */ return (fortint) (72-40); } fortint e_def_11(fortint * inputArray, unsigned char * gribSection1) { return e_def_11_(inputArray,gribSection1); } fortint d_def_11_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 11 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition11.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* ANALYSISCLASS */ *n++ = ONEBYTEINT(p);p++; /* ANALYSISTYPE */ *n++ = TWOBYTEINT(p); /* ANALYSISSTREAM */ p += 2; *n++ = FOURBYTEINT(p); /* ANALYSISEXPVER */ p += 4; *n++ = ONEBYTEINT(p);p++; /* ANALYSIS_YY */ *n++ = ONEBYTEINT(p);p++; /* ANALYSIS_MM */ *n++ = ONEBYTEINT(p);p++; /* ANALYSIS_DD */ *n++ = ONEBYTEINT(p);p++; /* ANALYSIS_HH */ *n++ = ONEBYTEINT(p);p++; /* ANALYSIS_MIN */ *n++ = ONEBYTEINT(p);p++; /* ANALYSISCENTURY */ *n++ = ONEBYTEINT(p);p++; /* ANALYSISORIGIN */ *n++ = ONEBYTEINT(p);p++; /* ANALYSISSUBCENTRE */ return (fortint) (n - outputArray); } fortint d_def_11(fortint * outputArray, unsigned char * gribSection1) { return d_def_11_(outputArray,gribSection1); } fortint e_def_13_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Encodes ECMWF local definition 13 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition13.html // // If *bitPointer is not equal to zero, the length of the GRIB section // 1 is stored in 3 bytes starting at (gribSection1-40). // *bitPointer is updated by the number of bits in local definition 13. // // Returns the number of bytes (octets) in local definition 13 after // byte 40. */ int loop, ND, NF; fortint byteLength; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = ONEBYTE(n);n++; /* TOTAL */ *p++ = ONEBYTE(n);n++; /* DIRECTION */ *p++ = ONEBYTE(n);n++; /* FREQUENCY */ ND = *n; /* NUMBERDIRECTIONS */ *p++ = ONEBYTE(n++); NF = *n; /* NUMBERFREQUENCIES */ *p++ = ONEBYTE(n++); MOVE4BYTES(p,n); /* SCALEDIRECTIONS */ p += 4; n++; MOVE4BYTES(p,n); /* SCALEFREQUENCIES */ p += 4; n++; /* // Set flag for new style coding and include system and method // Note the offsets for system/method; n is not updated till later! // Modified flag=2 to add: // reference date // climate date from // climate date to. */ *p++ = (unsigned char) 2; /* FLAG */ MOVE2BYTES(p,(n+ND+NF)); /* SYSTEM */ p += 2; MOVE2BYTES(p,(n+ND+NF+1)); /* METHOD */ p += 2; MOVE4BYTES(p,(n+ND+NF+2)); /* REFERENCE DATE */ p += 4; MOVE4BYTES(p,(n+ND+NF+3)); /* CLIMATE DATE FROM */ p += 4; MOVE4BYTES(p,(n+ND+NF+4)); /* CLIMATE DATE TO */ p += 4; for( loop = 0; loop < 20; loop++) /* SPARE */ *p++ = (unsigned char) 0; for( loop = 0; loop < ND; loop++) { /* DIRECTIONS */ MOVE4BYTES(p,n); p += 4; n++; } for( loop = 0; loop < NF; loop++) { /* FREQUENCIES */ MOVE4BYTES(p,n); p += 4; n++; } n += 5; /* for system, method, reference date and two climate dates */ byteLength = 100 + ND*4 + NF*4; if( *bitPointer ) { MOVE3BYTES(gribSection1-40,&byteLength); *bitPointer += (byteLength-40)*8; } return (fortint) byteLength; } fortint e_def_13( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { return e_def_13_(inputArray,gribSection1,bitPointer); } fortint d_def_13_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Decodes ECMWF local definition 13 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition13.html // // *bitPointer is updated by the number of bits in local definition 13. // // Returns the number of array elements inserted in outputArray */ int loop, ND, NF, byteLength, flag; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = ONEBYTEINT(p);p++; /* TOTAL */ *n++ = ONEBYTEINT(p);p++; /* DIRECTION */ *n++ = ONEBYTEINT(p);p++; /* FREQUENCY */ *n++ = ONEBYTEINT(p);p++; /* NUMBERDIRECTIONS */ ND = *(n-1); *n++ = ONEBYTEINT(p);p++; /* NUMBERFREQUENCIES */ NF = *(n-1); *n++ = FOURBYTEINT(p); /* SCALEDIRECTIONS */ p += 4; *n++ = FOURBYTEINT(p); /* SCALEFREQUENCIES */ p += 4; /* // Handle system and method if flag = 1 or 2 // Modified flag=2 added: // reference date // climate date from // climate date to. */ flag = ONEBYTEINT(p++); /* FLAG */ if( flag == 1 ) { *(n+ND+NF) = TWOBYTEINT(p); /* SYSTEM */ p += 2; *(n+ND+NF+1) = TWOBYTEINT(p); /* METHOD */ p += 34; /* SPARE */ } else if( flag == 2 ) { *(n+ND+NF) = TWOBYTEINT(p); /* SYSTEM */ p += 2; *(n+ND+NF+1) = TWOBYTEINT(p); /* METHOD */ p += 2; *(n+ND+NF+2) = FOURBYTEINT(p); /* REFERENCE DATE */ p += 4; *(n+ND+NF+3) = FOURBYTEINT(p); /* CLIMATE DATE FROM */ p += 4; *(n+ND+NF+4) = FOURBYTEINT(p); /* CLIMATE DATE TO */ p += 24; /* SPARE */ } else p += 36; /* SPARE */ for( loop = 0; loop < ND; loop++) { /* DIRECTIONS */ *n++ = FOURBYTEINT(p); p += 4; } for( loop = 0; loop < NF; loop++) { /* FREQUENCIES */ *n++ = FOURBYTEINT(p); p += 4; } /* // Adjust for system and method if 'new-style' flag is set */ if( flag == 1 ) n += 2; if( flag == 2 ) n += 5; byteLength = 100 + ND*4 + NF*4; if( *bitPointer ) *bitPointer += (byteLength-40)*8; return (fortint) (n - outputArray); } fortint d_def_13( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { return d_def_13_(outputArray,gribSection1,bitPointer); } fortint e_def_14_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 14 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition14.html // // Returns the number of bytes (octets) in local definition 14 after // byte 40. */ int loop, N; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = ONEBYTE(n);n++; /* TOTAL */ *p++ = ONEBYTE(n);n++; /* CHANNELNUMBER */ MOVE4BYTES(p,n); /* SCALEFACTOR */ p += 4; n++; *p++ = ONEBYTE(n);n++; /* NUMBERFREQUENCIES */ N = *(n-1); for( loop = 0; loop < 3; loop++) /* SPARE */ *p++ = (unsigned char) 0; for( loop = 0; loop < N; loop++) { /* FREQUENCIES */ MOVE4BYTES(p,n); p += 4; n++; } /* // Definition 14 has a fixed length section 1 (1080 bytes) */ for( loop = 0; loop < (1080-60-N*4); loop++) *p++ = (unsigned char) 0; return (fortint) (1080-40); } fortint e_def_14(fortint * inputArray, unsigned char * gribSection1) { return e_def_14_(inputArray,gribSection1); } fortint d_def_14_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 14 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition14.html // // Returns the number of array elements inserted in outputArray */ int loop, N; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = ONEBYTEINT(p);p++; /* TOTAL */ *n++ = ONEBYTEINT(p);p++; /* CHANNELNUMBER */ *n++ = FOURBYTEINT(p); /* SCALEFACTOR */ p += 4; *n++ = ONEBYTEINT(p);p++; /* NUMBERFREQUENCIES */ N = *(n-1); p += 3; /* SPARE */ for( loop = 0; loop < N; loop++) { /* FREQUENCIES */ *n++ = FOURBYTEINT(p); p += 4; } return (fortint) (n - outputArray); } fortint d_def_14(fortint * outputArray, unsigned char * gribSection1) { return d_def_14_(outputArray,gribSection1); } fortint e_def_15_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 15 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition15.html // // Returns the number of bytes (octets) in local definition 15 after // byte 40. */ int loop; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; MOVE2BYTES(p,n); /* NUMBER */ p += 2; n++; MOVE2BYTES((p+4),n); /* TOTAL: bytes are out-of-sequence */ n++; MOVE2BYTES(p,n); /* SYSTEM */ p += 2; n++; MOVE2BYTES(p,n); /* METHOD */ p += 4; /* to skip TOTAL as well as METHOD */ n++; /* // Definition 15 has a fixed length section 1 (60 bytes) */ for( loop = 0; loop < 3; loop++) /* SPARE */ *p++ = (unsigned char) 0; return (fortint) (60-40); } fortint e_def_15(fortint * inputArray, unsigned char * gribSection1) { return e_def_15_(inputArray,gribSection1); } fortint d_def_15_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 15 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition15.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = TWOBYTEINT(p); /* NUMBER */ p += 2; *n++ = TWOBYTEINT((p+4)); /* TOTAL: bytes are out-of-sequence */ *n++ = TWOBYTEINT(p); /* SYSTEM */ p += 2; *n++ = TWOBYTEINT(p); /* METHOD */ p += 2; return (fortint) (n - outputArray); } fortint d_def_15(fortint * outputArray, unsigned char * gribSection1) { return d_def_15_(outputArray,gribSection1); } fortint e_def_16_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 16 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition16.html // // Returns the number of bytes (octets) in local definition 16 after // byte 40. */ int loop; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; MOVE2BYTES(p,n); /* NUMBER */ p += 2; n++; n++; /* ZERO */ MOVE2BYTES(p,n); /* SYSTEM */ p += 2; n++; MOVE2BYTES(p,n); /* METHOD */ p += 2; n++; MOVE4BYTES(p,n); /* MONTH */ p += 4; n++; *p++ = ONEBYTE(n);n++; /* PERIOD */ MOVE2BYTES(p,n); /* Forecast month */ p += 2; n++; for( loop = 63; loop <= 80; loop++ ) *p++ = (unsigned char) 0; return (fortint) (80); } fortint e_def_16(fortint * inputArray, unsigned char * gribSection1) { return e_def_16_(inputArray,gribSection1); } fortint d_def_16_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 16 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition16.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = TWOBYTEINT(p); /* NUMBER */ p += 2; *n++ = 0; /* ZERO */ *n++ = TWOBYTEINT(p); /* SYSTEM */ p += 2; *n++ = TWOBYTEINT(p); /* METHOD */ p += 2; *n++ = FOURBYTEINT(p); /* MONTH */ p += 4; *n++ = ONEBYTEINT(p); /* PERIOD */ p++; *n++ = TWOBYTEINT(p); /* Forecast month */ p += 2; return (fortint) (n - outputArray); } fortint d_def_16(fortint * outputArray, unsigned char * gribSection1) { return d_def_16_(outputArray,gribSection1); } fortint e_def_17_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Encodes ECMWF local definition 17 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition17.html // // If *bitPointer is not equal to zero, the length of the GRIB section // 1 is stored in 3 bytes starting at (gribSection1-40). // *bitPointer is updated by the number of bits in local definition 17. // // Returns the number of bytes (octets) in local definition 17 after // byte 40. */ int loop, N, M; fortint byteLength; fortint zero = 0; fortint date; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = (unsigned char) 0; /* ZERO1 */ n++; *p++ = (unsigned char) 0; /* ZERO2 */ n++; date = *n++; /* DATEOFSST */ if( date > 19000000 ) date -= 19000000; MOVE3BYTES(p,&date); p += 3; *p++ = ONEBYTE(n);n++; /* TYPEOFSST */ *p++ = ONEBYTE(n);n++; /* COUNTOFICE */ N = *(n-1); for( loop = 0; loop < N; loop++) { /* ICE data */ date = *n++; /* Date of ICE field */ if( date > 19000000 ) date -= 19000000; MOVE3BYTES(p,&date); p += 3; *p++ = ONEBYTE(n);n++; /* Satellite number */ } /* // The ICE data entries are padded with zeroes to make upto a multiple // of 10 slots */ M = ((N+9)/10)*10; if( M == 0 ) M = 10; for( loop = N; loop < M; loop++) { MOVE4BYTES(p,&zero); p += 4; } byteLength = 40 + 16 + M*4; if( *bitPointer ) { MOVE3BYTES(gribSection1-40,&byteLength); *bitPointer += (byteLength-40)*8; } return (fortint) byteLength; } fortint e_def_17( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { return e_def_17_(inputArray,gribSection1,bitPointer); } fortint d_def_17_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Decodes ECMWF local definition 17 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition17.html // // *bitPointer is updated by the number of bits in local definition 17. // // Returns the number of array elements inserted in outputArray */ int loop, N, M, byteLength; fortint date; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = (fortint) 0; p++; /* ZERO1 */ *n++ = (fortint) 0; p++; /* ZERO2 */ date = THREEBYTEINT(p); /* DATEOFSST */ p += 3; if( (date < 19000000) && (date > 100 ) ) date += 19000000; *n++ = date; *n++ = ONEBYTEINT(p);p++; /* TYPEOFSST */ *n++ = ONEBYTEINT(p);p++; /* COUNTOFICE */ N = *(n-1); for( loop = 0; loop < N; loop++) { /* ICE data */ date = THREEBYTEINT(p); /* Date of ICE field */ p += 3; if( (date < 19000000) && (date > 100 ) ) date += 19000000; *n++ = date; *n++ = ONEBYTEINT(p);p++; /* Satellite number */ } M = ((N+9)/10)*10; if( M == 0 ) M = 10; byteLength = 40 + 16 + M*4; if( *bitPointer ) *bitPointer += (byteLength-40)*8; return (fortint) (n - outputArray); } fortint d_def_17( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { return d_def_17_(outputArray,gribSection1,bitPointer); } fortint e_def_18_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 18 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition18.html // // Returns the number of bytes (octets) in local definition 18 after // byte 40. */ int loop, N; fortint zero = 0, fourBlanks = 0x20202020; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = ONEBYTE(n);n++; /* TOTAL */ *p++ = ONEBYTE(n);n++; /* ORIGIN */ MOVE4BYTES(p,n); /* MODEL */ p += 4; n++; *p++ = ONEBYTE(n);n++; /* CONSENSUS_COUNT */ N = *(n-1); MOVE3BYTES(p,&zero); /* SPARE */ p += 3; for( loop = 0; loop < N; loop++) { /* WMO identifiers */ MOVE4BYTES(p,n); p += 4; n++; } /* // Definition 2 has a fixed length section 1 (120 bytes) */ for( loop = 0; loop < (15-N); loop++) { /* PADDING */ MOVE4BYTES(p,&fourBlanks); p += 4; } return (fortint) (120 - 40); } fortint e_def_18(fortint * inputArray, unsigned char * gribSection1) { return e_def_18_(inputArray,gribSection1); } fortint d_def_18_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 18 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition18.html // // Returns the number of array elements inserted in outputArray */ int loop, N; unsigned char fourBlanks[5] = " "; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = ONEBYTEINT(p);p++; /* TOTAL */ *n++ = ONEBYTEINT(p);p++; /* ORIGIN */ *n++ = FOURBYTEINT(p); /* MODEL */ p += 4; *n++ = ONEBYTEINT(p);p++; /* CONSENSUS_COUNT */ N = *(n-1); p += 3; /* SPARE */ for( loop = 0; loop < N; loop++) { /* WMO identifiers */ *n++ = FOURBYTEINT(p); p += 4; } /* // Definition 2 has a fixed length section 1 (120 bytes) */ for( loop = 0; loop < (15-N); loop++) *n++ = FOURBYTEINT(fourBlanks); /* PADDING */ return (fortint) (n - outputArray); } fortint d_def_18(fortint * outputArray, unsigned char * gribSection1) { return d_def_18_(outputArray,gribSection1); } fortint e_def_19_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 19 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition19.html // // Returns the number of bytes (octets) in local definition 19 after // byte 40. */ int loop; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = (unsigned char) 0;n++; /* ZERO */ *p++ = ONEBYTE(n);n++; /* ENSEMBLESIZE */ *p++ = ONEBYTE(n);n++; /* POWEROFTEN */ MOVE4BYTES(p,n); /* WEIGHT */ p += 4; n++; MOVE3BYTES(p,n); /* FIRSTMONTH1 */ p += 3; n++; MOVE3BYTES(p,n); /* LASTMONTH1 */ p += 3; n++; MOVE3BYTES(p,n); /* FIRSTMONTH2 */ p += 3; n++; MOVE3BYTES(p,n); /* LASTMONTH2 */ p += 3; n++; *p++ = ONEBYTE(n);n++; /* EFI order */ /* // Definition 19 has a fixed length section 1 (80 bytes) */ for( loop = 0; loop < 11; loop++) *p++ = (unsigned char) 0; /* PADDING */ return (fortint) (80-40); } fortint e_def_19(fortint * inputArray, unsigned char * gribSection1) { return e_def_19_(inputArray,gribSection1); } fortint d_def_19_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 19 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition19.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = (fortint) 0; p++; /* ZERO */ *n++ = ONEBYTEINT(p);p++; /* ENSEMBLESIZE */ *n++ = ONEBYTEINT(p);p++; /* POWEROFTEN */ *n++ = FOURBYTEINT(p); /* WEIGHT */ p += 4; *n++ = THREEBYTEINT(p); /* FIRSTMONTH1 */ p += 3; *n++ = THREEBYTEINT(p); /* LASTMONTH1 */ p += 3; *n++ = THREEBYTEINT(p); /* FIRSTMONTH2 */ p += 3; *n++ = THREEBYTEINT(p); /* LASTMONTH2 */ p += 3; *n++ = ONEBYTEINT(p);p++; /* EFI order */ return (fortint) (n - outputArray); } fortint d_def_19(fortint * outputArray, unsigned char * gribSection1) { return d_def_19_(outputArray,gribSection1); } fortint e_def_20_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 20 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition20.html // // Returns the number of bytes (octets) in local definition 20 after // byte 40. */ fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* ITERATION */ *p++ = ONEBYTE(n);n++; /* TOTAL NUMBER OF ITERATIONS */ *p++ = (unsigned char) 0; /* UNUSED */ /* // Definition 20 has a fixed length section 1 (52 bytes) */ return (fortint) (52-40); } fortint e_def_20(fortint * inputArray, unsigned char * gribSection1) { return e_def_20_(inputArray,gribSection1); } fortint d_def_20_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 20 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition20.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* ITERATION */ *n++ = ONEBYTEINT(p);p++; /* TOTAL NUMBER OF ITERATIONS */ return (fortint) (n - outputArray); } fortint d_def_20(fortint * outputArray, unsigned char * gribSection1) { return d_def_20_(outputArray,gribSection1); } fortint e_def_21_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 21 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition21. html // // Returns the number of bytes (octets) in local definition 21 after // byte 40. */ fortint value; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; MOVE2BYTES(p,n); /* Forecast or singular vector number */ p += 2; n++; MOVE2BYTES(p,n); /* Number of iterations */ p += 2; n++; MOVE2BYTES(p,n); /* Number of singular vectors computed */ p += 2; n++; *p++ = ONEBYTE(n);n++; /* Norm used at initial time */ *p++ = ONEBYTE(n);n++; /* Norm used at final time */ MOVE4BYTES(p,n); /* Lat-long multiplication factor */ p += 4; n++; /* // When coding values, set sign bit to 1, if value is negative. */ value = *n++; /* North-west latitude */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* North-west longitude */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* South-east latitude */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* South-east longitude */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; MOVE4BYTES(p,n); /* Accuracy */ p += 4; n++; MOVE2BYTES(p,n); /* Number of singular vectors evolved */ p += 2; n++; value = *n++; /* Ritz number 1 */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; value = *n++; /* Ritz number 2 */ if( value < 0 ) value = 0x80000000 | (-value); MOVE4BYTES(p,&value); p += 4; *p++ = ONEBYTE(n);n++; /* Observation offset period */ *p++ = ONEBYTE(n);n++; /* Forecast lead time */ *p++ = ONEBYTE(n);n++; /* WMO id of data originating centre */ MOVE2BYTES(p,n); /* Method number */ p += 2; n++; MOVE2BYTES(p,n); /* Total number of forecasts in ensemble */ p += 2; n++; *p++ = ONEBYTE(n);n++; /* Shape of verification region */ *p++ = (unsigned char) 0; /* Reserved. Set to zero */ n++; /* // Definition 21 has a fixed length section 1 (100 bytes) */ return (fortint) (100-40); } fortint e_def_21(fortint * inputArray, unsigned char * gribSection1) { return e_def_21_(inputArray,gribSection1); } fortint d_def_21_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 21 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition21. html // // Returns the number of array elements inserted in outputArray */ fortint value; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = TWOBYTEINT(p); /* Forecast or singular vector number */ p += 2; *n++ = TWOBYTEINT(p); /* Number of iterations */ p += 2; *n++ = TWOBYTEINT(p); /* Number of singular vectors computed */ p += 2; *n++ = ONEBYTEINT(p);p++; /* Norm used at initial time */ *n++ = ONEBYTEINT(p);p++; /* Norm used at final time */ *n++ = FOURBYTEINT(p); /* Lat-long multiplication factor */ p += 4; value = FOURBYTEINT(p); /* North-west latitude */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* North-west longitude */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* South-east latitude */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* South-east longitude */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; *n++ = FOURBYTEINT(p); /* Accuracy */ p += 4; *n++ = TWOBYTEINT(p); /* Number of singular vectors evolved */ p += 2; value = FOURBYTEINT(p); /* Ritz number 1 */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; value = FOURBYTEINT(p); /* Ritz number 2 */ p += 4; if( value & 0x80000000 ) value = - (value & 0x7fffffff); *n++ = value; *n++ = ONEBYTEINT(p);p++; /* Observation offset period */ *n++ = ONEBYTEINT(p);p++; /* Forecast lead time */ *n++ = ONEBYTEINT(p);p++; /* WMO id of data originating centre */ *n++ = TWOBYTEINT(p); /* Method number */ p += 2; *n++ = TWOBYTEINT(p); /* Total number of forecasts in ensemble */ p += 2; *n++ = ONEBYTEINT(p);p++; /* Shape of verification region */ p++; /* Reserved. Set to zero */ return (fortint) (n - outputArray); } fortint d_def_21(fortint * outputArray, unsigned char * gribSection1) { return d_def_21_(outputArray,gribSection1); } fortint e_def_22_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 22 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition22.html // // Returns the number of bytes (octets) in local definition 22 after // byte 40. */ int loop; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; MOVE2BYTES(p,n); /* NUMBER */ p += 2; n++; MOVE2BYTES(p,n); /* TOTAL */ p += 2; n++; MOVE2BYTES(p,n); /* SYSTEM */ p += 2; n++; MOVE2BYTES(p,n); /* METHOD */ p += 2; n++; MOVE4BYTES(p,n); /* REFERENCE DATE */ p += 4; n++; MOVE4BYTES(p,n); /* CLIMATE DATE (FROM) */ p += 4; n++; MOVE4BYTES(p,n); /* CLIMATE DATE (TO) */ p += 4; n++; return (fortint) (69); } fortint e_def_22(fortint * inputArray, unsigned char * gribSection1) { return e_def_22_(inputArray,gribSection1); } fortint d_def_22_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 22 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition22.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = TWOBYTEINT(p); /* NUMBER */ p += 2; *n++ = TWOBYTEINT(p); /* TOTAL */ p += 2; *n++ = TWOBYTEINT(p); /* SYSTEM */ p += 2; *n++ = TWOBYTEINT(p); /* METHOD */ p += 2; *n++ = FOURBYTEINT(p); /* REFERENCE DATE */ p += 4; *n++ = FOURBYTEINT(p); /* CLIMATE DATE (FROM) */ p += 4; *n++ = FOURBYTEINT(p); /* CLIMATE DATE (TO) */ p += 4; return (fortint) (n - outputArray); } fortint d_def_22(fortint * outputArray, unsigned char * gribSection1) { return d_def_22_(outputArray,gribSection1); } fortint e_def_23_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Encodes ECMWF local definition 23 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition23.html // // If *bitPointer is not equal to zero, the length of the GRIB section // 1 is stored in 3 bytes starting at (gribSection1-40). // *bitPointer is updated by the number of bits in local definition 4. // // Returns the number of bytes (octets) in local definition 23 after // byte 40. */ fortint byteLength; int loop; fortint * n = inputArray; unsigned char * p = gribSection1; fortint zero = 0; unsigned char* total; encodeMarsPart(n,p); p += 9; n += 5; MOVE2BYTES(p,n); /* NUMBER */ p += 2; n++; total = p + 29; MOVE2BYTES(total,n); /* TOTAL */ n++; MOVE2BYTES(p,n); /* SYSTEM */ p += 2; n++; MOVE2BYTES(p,n); /* METHOD */ p += 2; n++; MOVE4BYTES(p,n); /* MONTH */ p += 4; n++; *p++ = ONEBYTE(n);n++; /* PERIOD */ MOVE2BYTES(p,n); /* FORECAST MONTH */ p += 2; n++; MOVE4BYTES(p,n); /* REFERENCE DATE */ p += 4; n++; MOVE4BYTES(p,n); /* CLIMATE DATE (FROM) */ p += 4; n++; MOVE4BYTES(p,n); /* CLIMATE DATE (TO) */ p += 4; n++; *p++ = ONEBYTE(n);n++; /* THRESHOLD UNITS */ *p++ = ONEBYTE(n);n++; /* THRESHOLD INDICATOR */ MOVE2BYTES(p,n); /* LOWER THRESHOLD VALUE */ p += 2; n++; MOVE2BYTES(p,n); /* UPPER THRESHOLD VALUE */ p += 2; n++; /* // Skip the total (already packed above) */ p +=2; MOVE2BYTES(p,&zero); /* SPARE (SET TO ZERO) */ p += 2; n += 4; byteLength = 40 + (fortint) (p-gribSection1); if( *bitPointer ) { MOVE3BYTES(gribSection1-40,&byteLength); *bitPointer += (byteLength-40)*8; } return (fortint) byteLength; } fortint e_def_23( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { return e_def_23_(inputArray,gribSection1,bitPointer); } fortint d_def_23_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Decodes ECMWF local definition 23 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition23.html // // *bitPointer is updated by the number of bits in local definition 4. // // Returns the number of array elements inserted in outputArray */ fortint byteLength; fortint * n = outputArray; unsigned char * p = gribSection1; unsigned char* total; decodeMarsPart(n,p); p += 9; n += 5; *n++ = TWOBYTEINT(p); /* NUMBER */ p += 2; total = p + 29; *n++ = TWOBYTEINT(total); /* TOTAL */ *n++ = TWOBYTEINT(p); /* SYSTEM */ p += 2; *n++ = TWOBYTEINT(p); /* METHOD */ p += 2; *n++ = FOURBYTEINT(p); /* MONTH */ p += 4; *n++ = ONEBYTEINT(p); /* PERIOD */ p++; *n++ = TWOBYTEINT(p); /* FORECAST MONTH */ p += 2; *n++ = FOURBYTEINT(p); /* REFERENCE DATE */ p += 4; *n++ = FOURBYTEINT(p); /* CLIMATE DATE (FROM) */ p += 4; *n++ = FOURBYTEINT(p); /* CLIMATE DATE (TO) */ p += 4; *n++ = ONEBYTEINT(p); /* THRESHOLD UNITS */ p++; *n++ = ONEBYTEINT(p); /* THRESHOLD INDICATOR */ p++; *n++ = TWOBYTEINT(p); /* LOWER THRESHOLD */ p += 2; *n++ = TWOBYTEINT(p); /* UPPER THRESHOLD */ p += 2; *n++ = 0; /* SPARE (SET TO ZERO) */ *n++ = 0; *n++ = 0; *n++ = 0; p += 4; byteLength = 40 + (fortint) (p - gribSection1); if( *bitPointer ) *bitPointer += (byteLength-40)*8; return (fortint) (n - outputArray); } fortint d_def_23( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { return d_def_23_(outputArray,gribSection1,bitPointer); } fortint e_def_24_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Encodes ECMWF local definition 24 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition24.html // // If *bitPointer is not equal to zero, the length of the GRIB section // 1 is stored in 3 bytes starting at (gribSection1-40). // *bitPointer is updated by the number of bits in local definition 4. // // Returns the number of bytes (octets) in local definition 24 after // byte 40. */ fortint byteLength; int loop; fortint * n = inputArray; unsigned char * p = gribSection1; fortint zero = 0; encodeMarsPart(n,p); p += 9; n += 5; MOVE2BYTES(p,n); /* Satellite identifier */ p += 2; n++; MOVE2BYTES(p,n); /* Instrument identifier */ p += 2; n++; MOVE2BYTES(p,n); /* Channel number */ p += 2; n++; *p++ = ONEBYTE(n);n++; /* Function code */ byteLength = 40 + (fortint) (p-gribSection1); if( *bitPointer ) { MOVE3BYTES(gribSection1-40,&byteLength); *bitPointer += (byteLength-40)*8; } return (fortint) byteLength; } fortint e_def_24( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { return e_def_24_(inputArray,gribSection1,bitPointer); } fortint d_def_24_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Decodes ECMWF local definition 24 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition24.html // // *bitPointer is updated by the number of bits in local definition 4. // // Returns the number of array elements inserted in outputArray */ fortint byteLength; fortint * n = outputArray; unsigned char * p = gribSection1; unsigned char* total; decodeMarsPart(n,p); p += 9; n += 5; *n++ = TWOBYTEINT(p); /* Satellite identifier */ p += 2; *n++ = TWOBYTEINT(p); /* Instrument identifier */ p += 2; *n++ = TWOBYTEINT(p); /* Channel number */ p += 2; *n++ = ONEBYTEINT(p); /* Function code */ p++; byteLength = 40 + (fortint) (p - gribSection1); if( *bitPointer ) *bitPointer += (byteLength-40)*8; return (fortint) (n - outputArray); } fortint d_def_24( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { return d_def_24_(outputArray,gribSection1,bitPointer); } fortint e_def_25_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 25 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition25.html // // Returns the number of bytes (octets) in local definition 25 after // byte 40. */ fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* component index */ *p++ = ONEBYTE(n);n++; /* number of components */ *p++ = ONEBYTE(n);n++; /* model error type */ return (fortint) (p-gribSection1); } fortint e_def_25(fortint * inputArray, unsigned char * gribSection1) { return e_def_25_(inputArray,gribSection1); } fortint d_def_25_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 25 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition25.html // // Returns the number of array elements inserted in outputArray */ fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* component index */ *n++ = ONEBYTEINT(p);p++; /* number of components */ *n++ = ONEBYTEINT(p);p++; /* model error type */ return (fortint) (n - outputArray); } fortint d_def_25(fortint * outputArray, unsigned char * gribSection1) { return d_def_25_(outputArray,gribSection1); } fortint e_def_50_(fortint * inputArray, unsigned char * gribSection1) { /* // Encodes ECMWF local definition 50 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition50.html // // Returns the number of bytes (octets) in local definition 50 after // byte 40. */ int loop; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = ONEBYTE(n);n++; /* NUMBER */ *p++ = ONEBYTE(n);n++; /* TOTAL */ *p++ = ONEBYTE(n);n++; /* MODEL */ MOVE4BYTES(p,n); /* NORTHWESTLAT */ p += 4; n++; MOVE4BYTES(p,n); /* NORTHWESTLON */ p += 4; n++; MOVE4BYTES(p,n); /* SOUTHWESTLAT */ p += 4; n++; MOVE4BYTES(p,n); /* SOUTHWESTLON */ p += 4; n++; /* // ECMWF additions */ *p++ = ONEBYTE(n);n++; /* ORIGINALPARAM */ *p++ = ONEBYTE(n);n++; /* ORIGINALTABLE */ for( loop = 70; loop < 116; loop++ ) *p++ = (unsigned char) 0; /* PADDING */ n += 10; /* // Optional data */ for( loop = 0; loop < 46; loop++) { /* Optional data */ MOVE4BYTES(p,n); p += 4; n++; } /* // Definition 50 has a fixed length section 1 (300 bytes) */ return (fortint) (300-40); } fortint e_def_50(fortint * inputArray, unsigned char * gribSection1) { return e_def_50_(inputArray,gribSection1); } fortint d_def_50_(fortint * outputArray, unsigned char * gribSection1) { /* // Decodes ECMWF local definition 50 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition50.html // // Returns the number of array elements inserted in outputArray */ int loop; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = ONEBYTEINT(p);p++; /* NUMBER */ *n++ = ONEBYTEINT(p);p++; /* TOTAL */ *n++ = ONEBYTEINT(p);p++; /* MODEL */ *n++ = FOURBYTEINT(p); /* NORTHWESTLAT */ p += 4; *n++ = FOURBYTEINT(p); /* NORTHWESTLON */ p += 4; *n++ = FOURBYTEINT(p); /* SOUTHWESTLAT */ p += 4; *n++ = FOURBYTEINT(p); /* SOUTHWESTLON */ p += 4; /* // ECMWF additions */ *n++ = ONEBYTEINT(p);p++; /* ORIGINALPARAM */ *n++ = ONEBYTEINT(p);p++; /* ORIGINALTABLE */ for( loop = 0; loop < 10; loop++ ) *n++ = 0; p += 46; /* // Optional data */ for( loop = 0; loop < 46; loop++) { *n++ = FOURBYTEINT(p); p += 4; } return (fortint) (n - outputArray); } fortint d_def_50(fortint * outputArray, unsigned char * gribSection1) { return d_def_50_(outputArray,gribSection1); } fortint e_def_190_( fortint * inputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes, fortint * bitPointer) { /* // Encodes ECMWF local definition 190 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition190.html // // collectedLocalDefinitionBytes is an array containing the ready-prepared // collected local definition bytes of the multiple ECMWF local definitions. // // If *bitPointer is not equal to zero, the length of the GRIB section // 1 is stored in 3 bytes starting at (gribSection1-40). // *bitPointer is updated by the number of bits in local definition 190. // // Returns the number of bytes (octets) in local definition 190 after // byte 40. */ int loop, N; fortint byteLength; fortint totalBytes = 0; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = (unsigned char) 0; /* ZERO1 */ n++; *p++ = (unsigned char) 0; /* ZERO2 */ n++; *p++ = ONEBYTE(n);n++; /* NUMBEROFDEFS */ N = *(n-1); for( loop = 0; loop < N; loop++) { *p++ = ONEBYTE(n);n++; /* ECMWF local definition number */ totalBytes += *n; MOVE2BYTES(p,n); /* Count of bytes */ p += 2; n++; } /* // Transfer the ready-prepared collected local definition bytes */ memcpy(p,collectedLocalDefinitionBytes,totalBytes); byteLength = 40 + 12 + N*3 + totalBytes; if( *bitPointer ) { MOVE3BYTES(gribSection1-40,&byteLength); *bitPointer += (byteLength-40)*8; } return (fortint) byteLength; } fortint e_def_190( fortint * inputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes, fortint * bitPointer) { return e_def_190_(inputArray,gribSection1,collectedLocalDefinitionBytes, bitPointer); } fortint d_def_190_( fortint * outputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes, fortint * bitPointer) { /* // Decodes ECMWF local definition 190 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition190.html // // *bitPointer is updated by the number of bits in local definition 190. // // Returns the number of array elements inserted in outputArray */ int loop, N, byteLength; fortint totalBytes = 0; fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = (fortint) 0; p++; /* ZERO1 */ *n++ = (fortint) 0; p++; /* ZERO2 */ *n++ = ONEBYTEINT(p);p++; /* NUMBEROFDEFS */ N = *(n-1); for( loop = 0; loop < N; loop++) { *n++ = ONEBYTEINT(p);p++; /* ECMWF local definition number */ *n++ = TWOBYTEINT(p); /* Count of bytes */ p += 2; totalBytes += *(n-1); } /* // Transfer the collected local definition bytes */ memcpy(collectedLocalDefinitionBytes,p,totalBytes); byteLength = 40 + 12 + N*3 + totalBytes; if( *bitPointer ) *bitPointer += (byteLength-40)*8; return (fortint) ((totalBytes+sizeof(fortint)-1)/sizeof(fortint) + n - outputArray); } fortint d_def_190( fortint * outputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes, fortint * bitPointer) { return d_def_190_(outputArray,gribSection1,collectedLocalDefinitionBytes, bitPointer); } fortint e_def_191_( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Encodes ECMWF local definition 191 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition191.html // // If *bitPointer is not equal to zero, the length of the GRIB section // 1 is stored in 3 bytes starting at (gribSection1-40). // *bitPointer is updated by the number of bits in local definition 191. // // Returns the number of bytes (octets) in local definition 191 after // byte 40. */ int loop, i, I, N, M, size = sizeof(fortint); fortint byteLength; fortint * n = inputArray; unsigned char * p = gribSection1; encodeMarsPart(n,p); p += 9; n += 5; *p++ = (unsigned char) 0; /* ZERO1 */ n++; *p++ = (unsigned char) 0; /* ZERO2 */ n++; *p++ = ONEBYTE(n);n++; /* MAJOR */ *p++ = ONEBYTE(n);n++; /* MINOR */ *p++ = ONEBYTE(n);n++; /* ORIGINALSUBCENTRE */ for( loop = 0; loop < 4; loop++) *p++ = (unsigned char) 0; n += 4; MOVE2BYTES(p,n); /* NUMBEROFBYTES */ p += 2; n++; N = *(n-1); I = (N+size-1)/size; for( loop = 0; loop < I; loop++) { /* Data descriptor bytes */ unsigned char * np = (unsigned char *) n; for( i = 0; i < size; i++ ) { *p++ = *np++; } n++; } /* // The data entries are padded with zeroes to make upto a multiple of (60+80*M) */ M = 60; do { M += 80; } while( M < (60 + N) ); for( loop = N; loop < M; loop++) *p++ = (unsigned char) 0; byteLength = M; if( *bitPointer ) { MOVE3BYTES(gribSection1-40,&byteLength); *bitPointer += (byteLength-40)*8; } return (fortint) byteLength; } fortint e_def_191( fortint * inputArray, unsigned char * gribSection1, fortint * bitPointer) { return e_def_191_(inputArray,gribSection1,bitPointer); } fortint d_def_191_( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { /* // Decodes ECMWF local definition 191 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition191.html // // *bitPointer is updated by the number of bits in local definition 191. // // Returns the number of array elements inserted in outputArray */ int loop, i, I, N, M, byteLength, size = sizeof(fortint); fortint * n = outputArray; unsigned char * p = gribSection1; decodeMarsPart(n,p); p += 9; n += 5; *n++ = (fortint) 0; p++; /* ZERO */ *n++ = (fortint) 0; p++; /* ZERO */ *n++ = ONEBYTEINT(p);p++; /* MAJOR */ *n++ = ONEBYTEINT(p);p++; /* MINOR */ *n++ = ONEBYTEINT(p);p++; /* ORIGINALSUBCENTRE */ for( loop = 0; loop < 4; loop++ ) { *n++ = (fortint) 0; p++; /* ZEROES */ } *n++ = TWOBYTEINT(p); /* NUMBEROFBYTES */ N = *(n-1); p += 2; I = (N+size-1)/size; for( loop = 0; loop < I; loop++) { /* Data descriptor bytes */ unsigned char * np = (unsigned char *) n; for( i = 0; i < size; i++ ) { *np++ = *p++; } n++; } /* // The data entries are padded with zeroes to make upto a multiple of (60+80*M) */ M = 60; do { M += 80; } while( M < (60 + N) ); byteLength = M; if( *bitPointer ) *bitPointer += (byteLength-40)*8; return (fortint) (n - outputArray); } fortint d_def_191( fortint * outputArray, unsigned char * gribSection1, fortint * bitPointer) { return d_def_191_(outputArray,gribSection1,bitPointer); } fortint e_def_x_( fortint * definitionNumber, fortint * inputArray, unsigned char * gribSection1 ) { /* // Calls the encoding routine for the ECMWF local definition. */ int number = (int) *definitionNumber; fortint zero = 0; switch( number ) { case 1: return e_def_1_(inputArray,gribSection1); case 2: return e_def_2_(inputArray,gribSection1); case 3: return e_def_3_(inputArray,gribSection1); case 4: return e_def_4_(inputArray,gribSection1,&zero) - 40; case 5: return e_def_5_(inputArray,gribSection1); case 6: return e_def_6_(inputArray,gribSection1,&zero) - 40; case 7: return e_def_7_(inputArray,gribSection1); case 8: return e_def_8_(inputArray,gribSection1); case 9: return e_def_9_(inputArray,gribSection1); case 10: return e_def_10_(inputArray,gribSection1,&zero) - 40; case 11: return e_def_11_(inputArray,gribSection1); case 13: return e_def_13_(inputArray,gribSection1,&zero) - 40; case 14: return e_def_14_(inputArray,gribSection1); case 15: return e_def_15_(inputArray,gribSection1); case 16: return e_def_16_(inputArray,gribSection1); case 17: return e_def_17_(inputArray,gribSection1,&zero) - 40; case 18: return e_def_18_(inputArray,gribSection1); case 19: return e_def_19_(inputArray,gribSection1); case 20: return e_def_20_(inputArray,gribSection1); case 21: return e_def_21_(inputArray,gribSection1); case 22: return e_def_22_(inputArray,gribSection1); case 23: return e_def_23_(inputArray,gribSection1,&zero) - 40; case 24: return e_def_24_(inputArray,gribSection1,&zero) - 40; case 50: return e_def_50_(inputArray,gribSection1); case 191: return e_def_191_(inputArray,gribSection1,&zero); default: return (fortint) -1; } } fortint e_def_x( fortint * definitionNumber, fortint * outputArray, unsigned char * gribSection1 ) { return e_def_x_(definitionNumber,outputArray,gribSection1); } fortint d_def_x_( fortint * definitionNumber, fortint * outputArray, unsigned char * gribSection1 ) { /* // Calls the encoding routine for the ECMWF local definition. */ int number = (int) *definitionNumber; fortint zero = 0; switch( number ) { case 1: return d_def_1_(outputArray,gribSection1); case 2: return d_def_2_(outputArray,gribSection1); case 3: return d_def_3_(outputArray,gribSection1); case 4: return d_def_4_(outputArray,gribSection1,&zero); case 5: return d_def_5_(outputArray,gribSection1); case 6: return d_def_6_(outputArray,gribSection1,&zero); case 7: return d_def_7_(outputArray,gribSection1); case 8: return d_def_8_(outputArray,gribSection1); case 9: return d_def_9_(outputArray,gribSection1); case 10: return d_def_10_(outputArray,gribSection1,&zero); case 11: return d_def_11_(outputArray,gribSection1); case 13: return d_def_13_(outputArray,gribSection1,&zero); case 14: return d_def_14_(outputArray,gribSection1); case 15: return d_def_15_(outputArray,gribSection1); case 16: return d_def_16_(outputArray,gribSection1); case 17: return d_def_17_(outputArray,gribSection1,&zero); case 18: return d_def_18_(outputArray,gribSection1); case 19: return d_def_19_(outputArray,gribSection1); case 20: return d_def_20_(outputArray,gribSection1); case 21: return d_def_21_(outputArray,gribSection1); case 22: return d_def_22_(outputArray,gribSection1); case 23: return d_def_23_(outputArray,gribSection1,&zero); case 24: return d_def_24_(outputArray,gribSection1,&zero); case 50: return d_def_50_(outputArray,gribSection1); case 191: return d_def_191_(outputArray,gribSection1,&zero); default: return (fortint) -1; } } fortint d_def_x( fortint * definitionNumber, fortint * outputArray, unsigned char * gribSection1 ) { return d_def_x_(definitionNumber,outputArray,gribSection1); } fortint e_190_x_( fortint * inputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes) { /* // Encodes ECMWF local definition 190 (from byte 41 onwards) into // gribSection1 using integer array values in inputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition190.html // // collectedLocalDefinitionBytes is an array containing the ready-prepared // collected local definition bytes of the multiple ECMWF local definitions. // // Returns the number of bytes (octets) in local definition 190 after // byte 40. */ fortint zero = 0; return e_def_190_(inputArray,gribSection1,collectedLocalDefinitionBytes,&zero); } fortint e_190_x( fortint * inputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes) { return e_190_x_(inputArray,gribSection1,collectedLocalDefinitionBytes); } fortint d_190_x_( fortint * outputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes) { /* // Decodes ECMWF local definition 190 (from byte 41 onwards) from // gribSection1 into integer array values in outputArray. // // inputArray[0] corresponds to KSEC1(37) in the description at // http://www.ecmwf.int/publications/manuals/libraries/gribex/localDefinition190.html // // Returns the number of array elements inserted in outputArray */ fortint zero = 0; return d_def_190_(outputArray,gribSection1,collectedLocalDefinitionBytes,&zero); } fortint d_190_x( fortint * outputArray, unsigned char * gribSection1, fortint * collectedLocalDefinitionBytes) { return d_190_x_(outputArray,gribSection1,collectedLocalDefinitionBytes); } fortint jmemove_( fortint * destination, fortint * destinationOffset, fortint * source, fortint * sourceOffset, fortint * length ) { unsigned char* Destination = (unsigned char*)destination + (*destinationOffset); unsigned char* Source = (unsigned char*)source + (*sourceOffset); size_t n = (size_t) (*length); void * result; result = memmove(Destination, Source, n); if( result == NULL ) return (fortint) -1; else return (fortint) ((*destinationOffset)+ (*length)); } fortint jmemove( fortint * destination, fortint * destinationOffset, fortint * source, fortint * sourceOffset, fortint * length ) { return jmemove_(destination,destinationOffset,source,sourceOffset,length); } emoslib-000392+dfsg.1/gribex/sources.decalpha0000755000175000017500000000660212127406245022113 0ustar amckinstryamckinstry# # Sources for libemos/gribex # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ swap4.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/comars.h0000755000175000017500000001455412127406245020407 0ustar amckinstryamckinstry C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C* MARS common areas containing job environment information, C parameter settings etc. C C NFTNOS - 12 Fortran unit numbers used by MARS. C NFTNOS(1) is MARSLOG file. Cracked MARS directives. C NFTNOS(2) is MARSPAR file. MARS directives in C network transmission format. C NFTNOS(5) is unit 5 , standard input. C NFTNOS(6) is unit 6 , standard output. C NFTNOS(7) is MARSDEF or MARSDEFNEXT, language C definition, operational or test. C Set by routine JENVXX. C NUMREQ - Total number of requests. C NUMFIL - Numbers of different files to be accessed. C NUMFIL(1) , Total number of files to accessed. C NUMFIL(2) , Number of IBM disk files to accessed. C NUMFIL(3) , Number of IBM MSS files to be accessed. C NUMFIL(4) , Number of IBM tape files to be accessed. C NUMFIL(5) , Number of worker machine files to accessed. C NCNDAY - Century day. C Set by routine JENVXX. C NJMODE - Mode in which MARS job is running. C -1, Quit issued. C 0 , Checkout directives only. C 1 , Connected mode (normal mode retains connection C with IBM at all times). C 2 , Disconnected mode (send requests to IBM and C terminate). C Not yet implemented. C NJOBSQ - Unique number identifying job or process. C Set by routine JENVXX. C NUMBIT - Number of bits in computer word. C Set by routine JENVXX. C NDBUGS - Debug print switch for IBM. C 0 , No debug printout. . C 8 , Debug print on IBM. C Set by routine JENVXX. C NDBUGL - Debug level indicator for worker machine. C 0 , No debug print. C 4 , Trace through subroutine sections and C values of parameters on entry as well as C other print statements used when actually C debugging. C Set by routine JENVXX. C NJBCAT - Category assigned to job by MARS. C 0 , Archive request. C 1 , Manage request. C 2 , Checkout request. C 3 , Costonly request. C 4 , Retrieval from online Operational database on the C worker machine. C 5 , Retrieve guaranteed online (on IBM ) data. C 6 , Retrieve online (on IBM ) data. C Not yet implemented. Treated as category 7. C 7 , Retrieve off-line (on IBM ) data. C 8 , Retrieval of research department data from C online Research database on worker machine. C NPRITY - Priority assigned to job by MARS. C 1 , High. C 2 , Normal. C 3 , Low. C NIAORB - 0 , Current job is an active mode job. C 1 , Current job is in interactive edit mode. C Set by routine JENVXX. C INTEGER NFTNOS INTEGER NCNDAY INTEGER NJMODE INTEGER NJOBSQ INTEGER NUMBIT INTEGER NDBUGS INTEGER NDBUGL INTEGER NJBCAT INTEGER NPRITY INTEGER NIAORB INTEGER NFLTYP INTEGER NUMFIL INTEGER NUMREQ C DIMENSION NFTNOS(12) DIMENSION NUMFIL(5) C COMMON /INTGCOM/ NFTNOS , NCNDAY , NJMODE , NJOBSQ , NUMBIT , C NDBUGS , NDBUGL , NJBCAT , NPRITY , NIAORB , C NFLTYP , NUMFIL , NUMREQ C C COPSYS - Name of computer operating system. C UNICOS C COS C NOS/VE C VMS C MVS/XA C Set by routine calling MARSXX. C CWMACH - Name of machine on which MARS is running. C IBM display uses only first three characters, so these C are made unique. C CRAY Cray XMP C Y16 Cray YMP 16 C Y08 Cray YMP 8 C Y04 Cray YMP 4 C CYBER C VAX C IBM C Set by routine JENVXX. C CCDATE - Date at start of job in yymmdd format. C Set by routine JENVXX. C CCTIME - Time at start of job in hhmmss format. C Set by routine JENVXX. C CJNAME - Name of job or process. C Set by routine JENVXX. C CACCNT - Account under which job is running. C CWMARS - Connect to test or operational MARS/IBM. C MATS , Test version. C MARS , Operational version. C Set by routine JENVXX. C CWLANG - Use test or operational version of MARS language. C MARSDEF - Operational version. C MATSDEF - Test version. C Set by routine JENVCO for COS version. C CWLAPA - Use test or operational version of MARS language. C .../.../marsdef - Operational version. C .../.../matsdef - Test version. C Set by routine JENVUN for UNICOS version. C CWTMDR - Temporary file directory. C Set by JENVUN. C CWUSER - User name. C Set by JENVUN. C CUSFDB - FDB Usage indicator. C NEVER , Never attempt to access FDB. C ALWAYS, Always attempt to access FDB. C DEFAULT, Analyse request before deciding usage. C Set by JENVUN. C CWEDNO - GRIB Code Edition indicator. C OFF , use current edition. C ON , use edition 0. C CHARACTER*8 COPSYS CHARACTER*8 CWMACH CHARACTER*3 CWUSER CHARACTER*6 CCDATE CHARACTER*6 CCTIME CHARACTER*4 CWMARS CHARACTER*7 CWLANG CHARACTER*7 CUSFDB CHARACTER*48 CWLAPA CHARACTER*48 CWTMDR CHARACTER*16 CJNAME CHARACTER*16 CACCNT CHARACTER*3 CWEDNO C COMMON /CHARCOM/ COPSYS , CWMACH , CCDATE , CCTIME , CJNAME , C CACCNT , CWMARS , CWLANG , CWLAPA , CWTMDR , C CWUSER , CUSFDB , CWEDNO C emoslib-000392+dfsg.1/gribex/c2ordr.F0000755000175000017500000012557712127406245020264 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION C2ORDR ( KDATA, KLENP, KSEC1, KSEC2, KSEC3, X KSEC4, KGRIB, KLENG, KNSPT, KBITS, X HOPER, KBMAP, KVALS, PREF, PMAX, X KLEN, KDEBUG ) C C----> C**** C2ORDR C C Purpose. C -------- C C Encode GRIB section 4 for complex packing of grid-point C values ("second-order packing"). C C C** Interface. C ---------- C C KRET = C2ORDR ( KDATA, KLENP, KSEC1, KSEC2, KSEC3, KSEC4, C X KGRIB, KLENG, KNSPT, KBITS, HOPER, KBMAP, C X KVALS, PREF, PMAX , KLEN, KDEBUG ) C C C Input Parameters. C ----------------- C C KDATA - Array of normalized values. C KLENP - Length of array KDATA. C KSEC1 - Array of GRIB section 1 integer descriptors. C KSEC2 - Array of GRIB section 2 integer descriptors. C KSEC3 - Array of GRIB section 3 integer descriptors. C KSEC4 - Array of GRIB section 4 integer descriptors. C KLENG - Length of GRIB product array. C KNSPT - Bit pointer for next value in GRIB product. C KBITS - Number of bits per computer word. C HOPER - Requested function: C 'C' for coding, following input descriptors, C 'K' for "aggressive pacKing" (choose a solution C that leads to minimum size). C KBMAP - Bit pointer for start of explicit primary bit-map C (if any). C KVALS - Number of bits in primary bit-map. C PREF - Reference of field. C PMAX - Maximum value of field. C KLEN - Exact number of points to handle. C KDEBUG - >0 for some debug printout. C C C Output Parameters. C ----------------- C C KDATA - Used (indirectly) as work array. C KSEC4 - Array of GRIB section 4 integer descriptors C (updated). C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product C (updated). C C C Method. C ------- C C Follows WMO Manual of Codes, and also CSECT4 structure. C C C If ordinary packing is requested (HOPER='C'), then the relevant C method described through KSEC4 descriptors is applied: C C 1) Row by row: KSEC4(9)=0, KSEC4(10)=16 and KSEC4(12)=0; C C 2) Constant width: KSEC4(9)=32, KSEC4(10)=0, KSEC4(12)=0, C width in KSEC4(11) -see "Comments" paragraph below, at the end. C C 3) General WMO 2nd-order: KSEC4(9)=32, KSEC4(10)=16, KSEC4(12)=0. C C 4) General extended " : KSEC4(9)=32, KSEC4(10)=16, KSEC4(12)=8. C C For constant width and general methods, boustrophedonic ordering C is requested by KSEC4(13)=4, provided extensions have been C alllowed (disabled by default), and is explicitly inhibited C by KSEC4(13)=0. C Boustrophedonic ordering has no interest for row by row packing. C If explicitly requested a warning message is issued and option C set to off. C C For the general extended method, a spatial differencing may be C requested through KSEC4(14) and/or KSEC4(15) different from zero: C C -explicitly: KSEC4(14)=0 or 2, KSEC4(15)=0 or 1, order being then C IORDER=KSEC4(14)+KSEC4(15) ; C C -implicitly: KSEC4(14)=-1 and/or KSEC4(15)=-1; in such a case C a diagnostic is performed to estimate which order C should lead to minimaum size. C C C If aggressive packing (HOPER='K') is selected: C C 1) in a first scan, all allowed sub-functions (see Comments C below) are called to compute the length of section 4 they C would give, but no coding occurs; C C 2) in a second phase the most efficient method is applied. C C If no "complex" method is efficient -or applicable-, then a C simple packing is performed. C C If the field is constant, a simple packing with 0 as number C of bits (and no data) is applied, without having to perform C the steps mentioned above. C C Externals. C ---------- C C INXBIT - Insert bits into GRIB product. C CONFP3 - Convert to IBM floating point format. C C C2ROWS - Row by row packing. C C2CWID - Constant width packing. C C2GENE - General WMO second-order packing. C + general extended second-order packing. C REVERO - Reverse order of even rank rows. C C2DOSD - Diagnose/compute order of spatial differencing. C D2ROSD - Rebuild original values from spatial differencing. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C On entry, KNSPT points to the first bit of section 4 C in the GRIB product. C On exit, KNSPT points to the first unused bit of section 4, C (or to the first bit of section 5, if unused bit count C is zero) in the GRIB product. C C KDATA is overwritten. This is coherent with GRIBEX coding. C C When aggressive packing is selected (HOPER='K') : C C 1) If exhaustive second-order packing is on, then all possible C methods are attempted; note this may lead to expensive CPU C cost. Constant width packing will use iterative search of C optimal width, starting from (KSEC4(2)-1), regardless of C KSEC4(11) value. C C Notes: C C -if extensions switch is not set (disabled by default), then C none of the extensions on methods will be promoted; C C -if extensions switch is on, boustrophedonic ordering is then C used in conjunction with relevant methods (all 2nd-order but C row by row), provided there is a section 2 and no implicit C primary bit-map; C C -if both extensions and non-local switches are on (both are C disabled by default), estimation of best order of spatial C differencing is activated for general extended packing. C C 2) If exhaustive second-order packing is off (default), then C only explicitly requested methods are tried. More precisely: C C -row by row packing (cheapest method, but least effective) C is always attempted, except without a section 2 C or with an implicit primary bit-map; C C -constant width packing is attempted if KSEC4(10)=0 in input; C (with iterative search of optimal width only if KSEC4(11) is C negative, using -KSEC4(11) as initial and maximum width) C C -general 2nd-order packing is attempted if KSEC4(9)=32 in C input, or if there is no section 2 or in case of an implicit C primary bit-map. C C -general extended second-order packing is attempted if C extensions switch has been set and KSEC4(12)=8 in input. C C Boustrophedonic ordering is attempted if extensions switch C has been set and if KSEC4(13)=4 in input, C systematically in conjunction with relevant selected C method(s), and provided there is a section 2. C C Spatial differencing is activated for general extended method C if this last method is selected (see above), if non-local C switch has been set, and if KSEC4(14) and/or KSEC4(15) is not C null. Tuning of order is as described earlier for HOPER='C'. C C Iterative method used in C2CWID to find an optimal width (that C minimise length of section 4) may also be used with HOPER='C', C using a negative value for KSEC4(11) in input; -KSEC4(11) is then C used as initial and maximum width. C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C _____________ C C J. Clochard, April 1998. C Update comments. C For constant width packing, interpret KSEC4(11) negative as C request for optimal width search, starting from -KSEC4(11) . C When both aggressive mode (HOPER='K') is requested and exhaustive C use of 2nd-order packing methods is set, initial width is set to C (KSEC4(2)-1) . C Fix double computing of work arrays for General WMO 2nd-order, C when General extended method is not requested. C Introduce spatial differencing. C Simplify management of boustrophedonic ordering. C C J. Clochard, August 1998. C Raise JPMXGR from 131071 to 220000 to enable proper processing C of satellite images for general method. C (i.e. METEOSAT full-disk products, 2500x2500) C C J. Clochard, September 1998. C Suppress KSEC1/KSEC2/KSEC3 arguments in C2CWID/C2GENE calls. C Suppress KSEC1/KSEC3 arguments in C2ROWS call. C Fix definition of LGENXT to be able to select both general methods C in non-exhaustive use of 2nd-order methods. C Fix to enforce re-computation of work arrays when general extended C method is not worth and spatial differencing is used. C Inhibit boustrophedonic ordering also for aggressive packing, C when there is no section 2 and/or an implicit bit-map. C If dynamical estimation of spatial differencing leads to greater C message length than general WMO 2nd-order, retry general exten- C ded method without spatial differencing. C Adjustment of granularity parameters for general methods and small C grids. C C J. Clochard, June 1999. C Simple packing method always available as backup, even in explicit C encoding cases (HOPER='C') . C Use precomputed array to determine widths . Arguments IPCWID and C JPXWID added in C2GENE/C2DOSD/C2ROWS calls . C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET, JPMXGR, JPXPWR, JPMXGF, JPMETH, JPVSE4, JPWORK INTEGER JPORDR, JPXWID, JPCWID C C Number of possible packing methods. C PARAMETER ( JPMETH=4, JPORDR=3 ) PARAMETER ( JP16SET= 2**16-1 ) C `---> 65535 = FFFF(hex) #ifdef JBPW_64 PARAMETER ( JPMXGR= 220000, JPXPWR=47, JPVSE4=20 ) #else PARAMETER ( JPMXGR= 220000, JPXPWR=31, JPVSE4=20 ) #endif PARAMETER ( JPXWID=(JPXPWR+1)/2 ) PARAMETER ( JPCWID=2**JPXWID ) C C Size of work array. Must be at least JPMXGF*4 . C PARAMETER ( JPWORK=JPMXGR*4 ) #ifndef wmogrp2o PARAMETER ( JPMXGF= JPMXGR ) #else C C Limit maximum number of groups/first-order values to WMO C standard upper limit (descriptor is 16-bit wide). C PARAMETER ( JPMXGF= X ( JPMXGR*(JP16SET/JPMXGR) + JP16SET*(JPMXGR/JP16SET) ) X / ( (JP16SET/JPMXGR) + (JPMXGR/JP16SET) ) ) #endif C C Subroutine arguments. C INTEGER KLENP, KLENG, KNSPT, KBITS, KBMAP, KVALS, KLEN, KDEBUG INTEGER KDATA (KLENP), KSEC1 (*), KSEC2 (*), KSEC3 (*), KSEC4 (*) INTEGER KGRIB (KLENG) C CHARACTER HOPER * (*) C REAL PREF, PMAX C C Global variables. C #include "grbcom.h" C C Local variables. C INTEGER IRET, INROWS, J, IROWMK, INSPTA, ILOWMK, IHIGMK, IRETFN INTEGER ILSIMP, IL4OPT, ILMETH, IZERO, ICWORK, IROWBF, ICWIMK, J2 INTEGER ICWIBF, ICWIFO, IHWM, INCMIN, IOFF, IROWL4, ICWIL4 INTEGER IGENMK, IGENBF, IGENFO, IGENL4, IMINPK, IMETHO, JMETHO INTEGER IMTROW, IMTCWI, IMTGEN, IMTMIN, IMTMAX, ILREFR C INTEGER IWORK (JPWORK), IPOWER (0:JPXPWR), ISEC4 (JPVSE4,JPMETH) INTEGER IPCWID (0:JPCWID-1) C INTEGER C2ROWS, C2CWID, C2GENE EXTERNAL C2ROWS, C2CWID, C2GENE C CHARACTER YOPER*1, YMETHO*30, YREFER*30 C LOGICAL LROW, LQUASI, LCTWID, LSECBI, LPRIBI, LAGGPK, LSIMPK LOGICAL L1CALL, LSECT2, LLONLY, LCOMGR, LFIRST, LGEN2O, LDEBUG LOGICAL LOPTLN, LGPREC LOGICAL LGENXT, LBOUST, LREVER, LPRCLN, LNLOCP, LNLOCF, LDYNOR LOGICAL LCOMSD, LCBIAS, LVECTD C INTEGER IWIDSD, INDCLN, IGXTMK, IGXTBF, IGXTFO, IGXTL4, IBOUST INTEGER IMTGXT, IORDER, ILWORX, IBIAS, IXBITS C INTEGER REVERO, C2DOSD, D2ROSD EXTERNAL REVERO, C2DOSD, D2ROSD C INTRINSIC ABS C REAL ZGAIN C SAVE L1CALL, IPOWER, IMTROW, IMTCWI, IMTGEN, IPCWID SAVE IMTGXT C C Function used to adress 4 sub-parts of array IWORK, using C first and last argument to specify sub-part. C (4 work arrays are joined together to enable use of a single big C work array) C INTEGER IXIND, IABCDE, IFGHIJ, IKLMNO C IXIND ( IABCDE, IFGHIJ, IKLMNO ) = C X IFGHIJ + JPMXGF * ( IKLMNO - 1 + 2 * ( IABCDE - 1 ) ) C DATA L1CALL / .TRUE. / DATA IMTROW / 1 / DATA IMTCWI / 2 / DATA IMTGEN / 3 / DATA IMTGXT / 4 / C C ----------------------------------------------------------------- C* Section 1 . Performs initial checks. C ----------------------------------------------------------------- C 100 CONTINUE C IF (L1CALL) THEN C DO 111 J=0,JPXPWR-1 C IPOWER(J)=2**J-1 C 111 CONTINUE #ifdef JBPW_64 IPOWER(JPXPWR)=140737488355327 #else IPOWER(JPXPWR)=2147483647 #endif C IPCWID(0)=0 IOFF=1 C DO 113 J=1,JPXWID C DO 112 J2=0,IPOWER(J-1) C IPCWID(IOFF+J2)=J C 112 CONTINUE C IOFF=IOFF+IPOWER(J-1)+1 C 113 CONTINUE C L1CALL=.FALSE. C ENDIF C IRETFN = 0 IMETHO=0 INSPTA=KNSPT LAGGPK=HOPER.EQ.'K' ILSIMP=11+(1+(KLEN*KSEC4(2)-1)/8) ILSIMP=2*(1+(ILSIMP-1)/2) IL4OPT=ILSIMP LSIMPK=LAGGPK LDEBUG=KDEBUG.GE.1 IMINPK=MIN ( 15, MAX ( 2, NINT ( SQRT ( REAL (KLEN/3) ) ) ) ) C IMINPK=12 INCMIN=MIN ( 3, 1 + KLEN/1000 ) C INCMIN=1 C LSECT2=KSEC1(5).GE.128 LPRIBI=MOD (KSEC1(5),128).GE.64 #ifndef ebug2o C IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) HOPER(:1), KNSPT, KSEC4(2), LSECT2, X LPRIBI YREFER='simple packing' #ifndef ebug2o ENDIF C #endif LSECBI=KSEC4(9).NE.0 LROW=.NOT.LSECBI.AND.KSEC4(12).EQ.0 LGENXT=(.NOT.LSECBI.OR.LAGGPK).AND.KSEC4(12).NE.0 LBOUST=KSEC4(13).NE.0 IORDER=IABS (KSEC4(14))+IABS (KSEC4(15)) LNLOCP=IORDER.NE.0 LREVER=.FALSE. LGPREC=.FALSE. #if (defined CRAY) || (defined FUJITSU) LVECTD=.TRUE. #else LVECTD=.FALSE. #endif LQUASI=KSEC2(17).EQ.1 LCTWID=KSEC4(10).EQ.0 LGEN2O=LSECBI.AND.(.NOT.LCTWID.OR.LAGGPK) C IF (KSEC4(8).NE.0) THEN IRETFN = 18110 WRITE(GRPRSM,FMT=9110) GO TO 900 ELSEIF (LROW.OR.LAGGPK) THEN C IF (.NOT.LSECT2) THEN C IF (LAGGPK) THEN LROW=.FALSE. LGEN2O=.TRUE. ELSE IRETFN = 18120 WRITE(GRPRSM,FMT=9120) 'Row by row packing' GO TO 900 ENDIF C ELSEIF (LPRIBI.AND.KSEC3(1).NE.0) THEN C IF (LAGGPK) THEN LROW=.FALSE. LGEN2O=.TRUE. ELSE IRETFN = 18130 WRITE(GRPRSM,FMT=9130) S 'Row by row', 'implicit primary bit-map' GO TO 900 ENDIF C ELSE C LROW=LROW.OR.LAGGPK C ENDIF C ENDIF C IF (LCTWID) THEN C IF (LROW.AND..NOT.LAGGPK) THEN IRETFN = 18135 WRITE(GRPRSM,FMT=9130) S 'Row by row', 'constant width' GO TO 900 ENDIF C ENDIF C LCTWID=LCTWID.OR.(LAGGPK.AND.NUM2OK.EQ.1) LGEN2O=LGEN2O.OR.(LAGGPK.AND.NUM2OK.EQ.1) C IF (KSEC4(12).NE.0.AND.NEXT2O.EQ.1.AND..NOT.LAGGPK) THEN C C General extended second-order packing explicitly requested. C IF (KSEC4(12).NE.8) THEN IRETFN = 18140 WRITE(GRPRSM,FMT=9140) 12, 8 GO TO 900 ELSEIF (LSECBI) THEN IRETFN = 18145 WRITE(GRPRSM,FMT=9150) 'no secondary bit-map' GO TO 900 ELSEIF (LCTWID) THEN IRETFN = 18150 WRITE(GRPRSM,FMT=9150) 'variable group widthes' GO TO 900 ENDIF C ENDIF C LGENXT=NEXT2O.EQ.1.AND.(LGENXT.OR.(LAGGPK.AND.NUM2OK.EQ.1)) C IF (KSEC4(13).NE.0.AND.NEXT2O.EQ.1.AND..NOT.LAGGPK) THEN C C Boustrophedonic ordering explicitly requested. C IF (KSEC4(13).NE.4) THEN IRETFN = 18151 WRITE(GRPRSM,FMT=9140) 13, 4 GO TO 900 ELSEIF (.NOT.LSECT2) THEN IRETFN = 18152 WRITE(GRPRSM,FMT=9120) 'Boustrophedonic ordering' GO TO 900 ELSEIF (LROW) THEN WRITE(GRPRSM,FMT=9153) KSEC4(13)=0 LBOUST=.FALSE. ELSEIF (LPRIBI.AND.KSEC3(1).NE.0) THEN IRETFN = 18154 WRITE(GRPRSM,FMT=9130) S 'Boustrophedonic ordering', 'implicit primary bit-map' GO TO 900 ENDIF C ENDIF C LBOUST=NEXT2O.EQ.1.AND.(LBOUST.OR.(LAGGPK.AND.NUM2OK.EQ.1)).AND. S LSECT2.AND.(.NOT.LPRIBI.OR.KSEC3(1).EQ.0) C #ifndef ebug2o IF (LDEBUG) THEN #endif PRINT *,'C2ORDR: LBOUST/LNLOCP/LAGGPK=', S LBOUST, LNLOCP, LAGGPK #ifndef ebug2o ENDIF C #endif IF (LNLOCP.AND.NEXT2O.EQ.1.AND.NLOC2O.EQ.1.AND..NOT.LAGGPK) THEN C C Spatial differencing explicitly requested. C IF (KSEC4(14).NE.2.AND.KSEC4(14).NE.0.AND.KSEC4(14).NE.-1) THEN IRETFN = 18154 WRITE(GRPRSM,FMT=9155) 14, 2 GO TO 900 ELSEIF (ABS (KSEC4(15)).NE.1.AND.KSEC4(15).NE.0) THEN IRETFN = 18155 WRITE(GRPRSM,FMT=9155) 15, 1 GO TO 900 ELSEIF (.NOT.LGENXT) THEN WRITE(GRPRSM,FMT=9156) KSEC4(14)=0 KSEC4(15)=0 IORDER=0 LNLOCP=.FALSE. ENDIF C ENDIF C LNLOCF=NEXT2O.EQ.1.AND.NLOC2O.EQ.1.AND. S (LNLOCP.OR.(LGENXT.AND.LAGGPK.AND.NUM2OK.EQ.1)) C IF (LNLOCF.AND..NOT.LNLOCP) THEN C C Spatial differencing implicitly requested. C Activation of iterative search for best order. C KSEC4(14)=-1 KSEC4(15)=-1 ENDIF C LNLOCP=LNLOCF C IF (.NOT.LNLOCP) THEN IORDER=0 ENDIF C IF (KSEC4(2).GT.JPXPWR) THEN C IRETFN = 18160 WRITE(GRPRSM,FMT=9160) KSEC4(2), JPXPWR GO TO 900 C ELSEIF (LCTWID) THEN C IF (ABS (KSEC4(11)).GE.KSEC4(2)) THEN C IF (LAGGPK) THEN KSEC4(11)=-(KSEC4(2)-1) ELSE IRETFN = 18170 WRITE(GRPRSM,FMT=9170) KSEC4(11), KSEC4(2)-1 GO TO 900 ENDIF C ENDIF C ENDIF C IF (PMAX.LE.PREF.AND.LAGGPK) THEN C C Field is constant... code it with zero as bit-number, C and nothing else! C C Enforce right values for flags. C KSEC4(4)=0 KSEC4(6)=0 C C* Octet 11 : Number of bits containing each first-order value. C One 8 bit field. C #ifndef ebug2o IF (LDEBUG) THEN C #endif WRITE(GRPRSM,FMT=9175) PMAX IL4OPT=12 YREFER='direct method' C C Switch off LSIMPK to enable printout of gain. C LSIMPK=.FALSE. #ifndef ebug2o ENDIF C #endif IZERO=0 YOPER='C' KNSPT=KNSPT+10*8 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS, 8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 18180 WRITE(GRPRSM,FMT=9001) 'bit number' ENDIF C GO TO 900 C ENDIF C IF (LSECT2) THEN C IF (MOD (KSEC2(11),64).LT.32) THEN INROWS=KSEC2(3) ELSE INROWS=KSEC2(2) ENDIF C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9180) INROWS, KLEN, LQUASI #ifndef ebug2o ENDIF C #endif IF (.NOT.LPRIBI.AND.KLEN.NE.KSEC4(1)) THEN IRETFN = 18185 WRITE(GRPRSM,FMT=9185) KLEN, KSEC4(1) GO TO 900 ELSEIF (LPRIBI.AND.(KLEN.LE.0.OR.KLEN.GT.KSEC4(1))) THEN IRETFN = 18187 WRITE(GRPRSM,FMT=9187) KLEN, KSEC4(1) GO TO 900 ELSEIF (LROW.AND.INROWS.GT.JPMXGF) THEN C IF (LAGGPK) THEN LROW=.FALSE. ELSE IRETFN = 18190 WRITE(GRPRSM,FMT=9190) INROWS, JPMXGF GO TO 900 ENDIF #ifndef wmogrp2o C ELSEIF (LPRIBI.AND.KSEC3(1).NE.0.AND.KLEN.GT.JP16SET) THEN C C Such a case would lead to no possibility to recover the right C number of grid points when decoding through D2ORDR routine. C IRETFN = 18192 WRITE(GRPRSM,FMT=9192) JP16SET GO TO 900 #endif C ENDIF C ENDIF C IF (.NOT.(LROW.OR.LCTWID.OR.LGEN2O.OR.LGENXT.OR.LSIMPK)) THEN WRITE(GRPRSM,FMT=9195) LSIMPK=.TRUE. GO TO 600 ENDIF C LLONLY=LAGGPK ILOWMK=JPMXGF+1 IHIGMK=0 IROWMK=0 ICWIMK=1 IGENMK=1 IGXTMK=1 LFIRST=.TRUE. C Copy KSEC4 for all possible methods. C IF (LROW) THEN IMTMIN=IMTROW IMTMAX=IMTROW ELSE IMTMIN=JPMETH IMTMAX=1 ENDIF C IF (LCTWID) THEN IMTMIN=MIN (IMTCWI,IMTMIN) IMTMAX=MAX (IMTCWI,IMTMAX) ENDIF C IF (LGEN2O) THEN IMTMIN=MIN (IMTGEN,IMTMIN) IMTMAX=MAX (IMTGEN,IMTMAX) ENDIF C IF (LGENXT) THEN IMTMIN=MIN (IMTGXT,IMTMIN) IMTMAX=MAX (IMTGXT,IMTMAX) ENDIF C DO 122 JMETHO=IMTMIN,IMTMAX C DO 121 J=1,JPVSE4 ISEC4(J,JMETHO)=KSEC4(J) 121 CONTINUE C 122 CONTINUE C IF (LBOUST.AND.IMTMIN.EQ.IMTROW.AND.IMTMAX.EQ.IMTROW) THEN C C This might be the case in aggressive packing mode. C WRITE(GRPRSM,FMT=9153) KSEC4(13)=0 LBOUST=.FALSE. ENDIF C IF (LBOUST) THEN C IBOUST=4 C C Reverse field ordering for even rank rows. C C This is done before trying any method or sub-method, C for better prognosis of non-local packing interest C (if requested). It allows also more simple source code. C C There is no influence on trial of row by row packing, C because work arrays computed through C2ROWS with LLONLY set C to .TRUE. do not depend on field ordering within each row. C C The only case where field ordering might have to be restored C would be in aggressive packing mode, if either row by row C or simple packing was found more efficient than all the other C 2nd-order methods selected/allowed... Probability of such a C case is low, but source code enables it. C C Apart from that, the only side effect of this anticipated call C to REVERO is, when row by row packing is enabled C (as in exhaustive mode), to compute twice the lengths of rows. C This is considered as a cheap overhead. C LPRCLN=.FALSE. C IRETFN = REVERO ( KDATA, KLENP, KSEC2, KGRIB, KLENG, X KBITS, KBMAP, KVALS, LPRIBI, LQUASI, X INROWS, KLEN, IWORK(IXIND (2,1,2)), X JPMXGF, LDEBUG, LPRCLN, IWORK(IXIND (2,1,1)) ) C IF (IRETFN.NE.0) THEN GO TO 900 ENDIF C LREVER=.TRUE. C ELSE C IBOUST=0 C ENDIF C DO 123 JMETHO=IMTMIN,IMTMAX ISEC4(13,JMETHO)=IBOUST 123 CONTINUE C LDYNOR=LNLOCP.AND.(KSEC4(14).EQ.-1.OR.KSEC4(15).EQ.-1) C IF (LDYNOR) THEN C C Estimate interest of non-local packing use, and order C associated to. C C In non-agressive mode (HOPER='C'), field is also transformed. C LCOMSD=.NOT.LAGGPK LCBIAS=.TRUE. IORDER = C2DOSD ( KDATA, KLENP, KSEC4, LCOMSD, KLEN, X IWORK, JPWORK, IPOWER, JPXPWR, IPCWID, X JPXWID, IMINPK, ILWORX, IBIAS, IWIDSD, X IXBITS, LCBIAS, LDEBUG ) LCBIAS=.FALSE. C ELSE C LCOMSD=.FALSE. LCBIAS=.TRUE. C ENDIF C C ----------------------------------------------------------------- C* Section 2 . Row by row packing method applied, or tried. C ----------------------------------------------------------------- C 200 CONTINUE C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9200) LROW, LCTWID, LGEN2O, LGENXT, LBOUST, X IORDER, LSIMPK #ifndef ebug2o ENDIF C #endif IF (LROW) THEN C C Upper part of work sub-arrays IWORK(IXIND (1,.,1)), C IWORK(IXIND (2,.,1)), IWORK(IXIND (1,.,2)) C -reference values, effective row lengths, row widths- is used; C useful for aggressive packing, if row by row packing turns C to be selected as the appropriate method to apply, and if total C work space needed by the other methods do not overlap. C IMETHO=IMTROW IROWMK=JPMXGF-INROWS+1 ILOWMK=IROWMK LCOMGR=LFIRST.OR.IROWMK.LE.IHIGMK C IF (LREVER.AND..NOT.LFIRST) THEN C C Restore initial field ordering. C LPRCLN=.NOT.LCOMGR C IRETFN = REVERO ( KDATA, KLENP, KSEC2, KGRIB, KLENG, X KBITS, KBMAP, KVALS, LPRIBI, LQUASI, X INROWS, KLEN, IWORK(IXIND (2,1,2)), X JPMXGF, LDEBUG, LPRCLN, X IWORK(IXIND (2,IROWMK,1)) ) C IF (IRETFN.NE.0) THEN GO TO 900 ENDIF C LREVER=.FALSE. C ENDIF C C Enforce no extension at all, and especially C no boustrophedonic ordering for row by row (useless). C DO 201 J=12,15 ISEC4(J,IMETHO)=0 201 CONTINUE C IRET = C2ROWS ( KDATA, KLENP, KSEC2, ISEC4(1,IMETHO),KGRIB, X KLENG, KNSPT, KBITS, LCOMGR, LLONLY, IROWL4, X KBMAP, KVALS, LPRIBI, LQUASI, INROWS, KLEN, X IWORK(IXIND (1,IROWMK,1)), X IWORK(IXIND (2,IROWMK,1)), X IWORK(IXIND (1,IROWMK,2)), X IWORK(IXIND (2,1,2)), JPMXGF, IPOWER, JPXPWR, X IPCWID, JPXWID, IROWBF, LDEBUG ) C IF (LLONLY) THEN C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9210) IRET, IROWBF, IROWL4, IL4OPT #ifndef ebug2o ENDIF C #endif IF (IRET.NE.0.OR.IROWL4.GE.IL4OPT) THEN LROW=.FALSE. C IF (IRET.NE.0.AND.LBOUST) THEN C C Reset IROWMK to avoid possible misuse of length array C in REVERO. C IROWMK=0 ENDIF C ELSE IL4OPT=IROWL4 LSIMPK=.FALSE. ENDIF C ELSEIF (IRET.NE.0) THEN C IRETFN = IRET GO TO 900 C ENDIF C #ifdef ebug2o IF (.NOT.LLONLY) THEN #else IF (LDEBUG.AND..NOT.LLONLY) THEN #endif C YMETHO='Row by row' IL4OPT=IROWL4 C ENDIF C ENDIF C C ----------------------------------------------------------------- C* Section 3 . Constant width packing method applied, or tried. C ----------------------------------------------------------------- C IF (LCTWID) THEN C IMETHO=IMTCWI ILOWMK=MIN (ICWIMK,ILOWMK) LCOMGR=LFIRST.OR.ICWIMK.LE.IHIGMK C IF (LCOMGR) THEN ICWIMK=1 ICWORK=1 ENDIF C IF (LLONLY.AND.NUM2OK.EQ.1) THEN C C Modulates width use, regardless of KSEC4(11). C IF (LGENXT) THEN C C Experience shows that the only cases where constant width packing C may compress data better than general extended method are for a C null width. C ISEC4(11,IMETHO)=0 ELSE ISEC4(11,IMETHO)=-(ISEC4(2,IMETHO)-1) ENDIF C ENDIF C LOPTLN=LFIRST.AND.ISEC4(11,IMETHO).LT.0 C C Enforce no extension flag, except boustrophedonic ordering. C ISEC4(12,IMETHO)=0 ISEC4(14,IMETHO)=0 ISEC4(15,IMETHO)=0 C IRET = C2CWID ( KDATA, KLENP, ISEC4(1,IMETHO),KGRIB, KLENG, X KNSPT, KBITS, LCOMGR, LLONLY, ICWIL4, ICWIFO, X KLEN, IWORK(IXIND(1,1,1)), X IWORK(IXIND(2,1,1)), JPMXGF, ICWIMK, IPOWER, X JPXPWR, ICWIBF, INCMIN, IHWM, ICWORK, LDEBUG, X LOPTLN ) C IF (LLONLY) THEN C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9310) IRET, ICWIBF, ICWIL4, IL4OPT, X ICWIFO, IHWM, ICWORK #ifndef ebug2o ENDIF C #endif IF (IRET.NE.0.OR.ICWIL4.GE.IL4OPT) THEN LCTWID=.FALSE. IHIGMK=MAX (IHIGMK,IHWM) ELSE C C Constant width packing better than simple packing, C and possibly row by row. C IL4OPT=ICWIL4 LSIMPK=.FALSE. LROW=.FALSE. C IF (LGEN2O.OR.LGENXT) THEN C C Push up useful work arrays, trying to keep data if further C method(s) tried are not better. C IOFF=JPMXGF-ICWIFO ICWIMK=IOFF+1 IHIGMK=0 C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 311 J=ICWIFO,1,-1 IWORK(IXIND (1,IOFF+J,ICWORK))=IWORK(IXIND (1,J,ICWORK)) IWORK(IXIND (2,IOFF+J,ICWORK))=IWORK(IXIND (2,J,ICWORK)) 311 CONTINUE C ENDIF C ENDIF C ELSEIF (IRET.NE.0) THEN C IRETFN = IRET GO TO 900 C ENDIF C #ifdef ebug2o IF (.NOT.LLONLY) THEN #else IF (LDEBUG.AND..NOT.LLONLY) THEN #endif C WRITE (UNIT=YMETHO,FMT=9320) ISEC4(11,IMETHO) IL4OPT=ICWIL4 C ENDIF C ENDIF C C ----------------------------------------------------------------- C* Section 4 . General 2nd-order packing method applied, or tried. C ----------------------------------------------------------------- C IF (LGEN2O) THEN C IMETHO=IMTGEN ILOWMK=MIN (IGENMK,ILOWMK) LCOMGR=.NOT.LGPREC C IF (LCOMGR) THEN IGENMK=1 ENDIF C C Enforce no extension flag, except boustrophedonic ordering. C ISEC4(12,IMETHO)=0 ISEC4(14,IMETHO)=0 ISEC4(15,IMETHO)=0 C IRET = C2GENE ( KDATA, KLENP, ISEC4(1,IMETHO),KGRIB, KLENG, X KNSPT, KBITS, LCOMGR, LLONLY, IGENL4, IGENFO, X KLEN, IWORK(IXIND (1,1,1)), X IWORK(IXIND (2,1,1)), IWORK(IXIND (1,1,2)), X IWORK(IXIND (2,1,2)), JPMXGF, IGENMK, IPOWER, X JPXPWR, IPCWID, JPXWID, IGENBF, INCMIN, IMINPK, X IHWM, LDEBUG ) C IF (LLONLY) THEN C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9410) IRET, IGENBF, IGENL4, IL4OPT, X IGENFO, IHWM #ifndef ebug2o ENDIF C #endif IF (IRET.NE.0.OR.IGENL4.GE.IL4OPT) THEN LGEN2O=.FALSE. ELSE C C General 2nd-order packing better than simple packing, C and possibly row by row and/or constant width. C IL4OPT=IGENL4 LSIMPK=.FALSE. LROW=.FALSE. LCTWID=.FALSE. C ENDIF C IHIGMK=MAX (IHIGMK,IHWM) LGPREC=IRET.EQ.0 C IF (LGPREC.AND.LGENXT) THEN C C Duplicate descriptors for further use by C general extended packing trial. C IGXTBF=IGENBF IGXTFO=IGENFO IGXTMK=IGENMK C ENDIF C ELSEIF (IRET.NE.0) THEN C IRETFN = IRET GO TO 900 C ENDIF C #ifdef ebug2o IF (.NOT.LLONLY) THEN #else IF (LDEBUG.AND..NOT.LLONLY) THEN #endif C YMETHO='General second-order' IL4OPT=IGENL4 C ENDIF C ENDIF C C ----------------------------------------------------------------- C* Section 5 . General extended 2nd-order packing method applied, C or tried. C ----------------------------------------------------------------- C IF (LGENXT) THEN C IMETHO=IMTGXT ILOWMK=MIN (IGXTMK,ILOWMK) LCOMGR=.NOT.LGPREC.OR.(LFIRST.AND.LNLOCP) C 510 CONTINUE C IF (LCOMGR) THEN IGXTMK=1 ELSEIF (LFIRST) THEN C C Inherit total length of second-order values from general WMO C second-order packing, performed just previously. C ISEC4(19,IMETHO)=ISEC4(19,IMTGEN) ENDIF C ISEC4(12,IMETHO)=8 ISEC4(14,IMETHO)=2*(IORDER/2) ISEC4(15,IMETHO)=MOD (IORDER,2) C IF (IORDER.NE.0.AND..NOT.LCOMSD) THEN C C Spatial differencing has to be applied to field. C LCOMSD=.TRUE. IORDER = C2DOSD ( KDATA, KLENP, ISEC4(1,IMETHO), LCOMSD, S KLEN, IWORK, JPWORK, IPOWER, JPXPWR, S IPCWID, JPXWID, IMINPK, ILWORX, IBIAS, S IWIDSD, IXBITS, LCBIAS, LDEBUG ) C C Reset ISEC4, because C2DOSD may have reset IORDER. C ISEC4(14,IMETHO)=2*(IORDER/2) ISEC4(15,IMETHO)=MOD (IORDER,2) C ENDIF C IF (IORDER.NE.0) THEN ISEC4( 2,IMETHO)=IXBITS ISEC4(11,IMETHO)=IWIDSD ISEC4(16,IMETHO)=IBIAS ENDIF C IRET = C2GENE ( KDATA, KLENP, ISEC4(1,IMETHO),KGRIB, KLENG, X KNSPT, KBITS, LCOMGR, LLONLY, IGXTL4, IGXTFO, X KLEN, IWORK(IXIND (1,1,1)), X IWORK(IXIND (2,1,1)), IWORK(IXIND (1,1,2)), X IWORK(IXIND (2,1,2)), JPMXGF, IGXTMK, IPOWER, X JPXPWR, IPCWID, JPXWID, IGXTBF, INCMIN, IMINPK, X IHWM, LDEBUG ) C IF (LLONLY) THEN C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9510) IRET, IGXTBF, IGXTL4, IL4OPT, X IGXTFO, IHWM, IORDER #ifndef ebug2o ENDIF C #endif IF (IRET.NE.0.OR.IGXTL4.GE.IL4OPT) THEN C C Current method is not successful, and has to be discarded. C LGENXT=.FALSE. C IF (IRET.NE.0.OR..NOT.LGEN2O) THEN LGPREC=.FALSE. ELSE LGPREC=IGXTFO.EQ.IGENFO.AND.IORDER.EQ.0 ENDIF C IF (LCOMSD.AND.IORDER.NE.0) THEN C C Spatial differencing has to be reversed. C IRETFN = D2ROSD ( KDATA, KLEN, IORDER, IPOWER, JPXPWR, S IBIAS, LVECTD, LDEBUG ) C IF (IRETFN.NE.0) THEN GO TO 900 ENDIF C LCOMSD=.FALSE. C IF (LGEN2O.AND.LDYNOR) THEN C C General WMO 2nd-order packing was also selected/promoted, and is C the best method. This indicates moreless wrong diagnostic for C spatial differencing order. C Retry then general extended packing without spatial differencing, C that in almost all cases behaves better than general WMO method. C #ifndef ebug2o IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9520) IORDER #ifndef ebug2o ENDIF C IORDER=0 LGENXT=.TRUE. LGPREC=.FALSE. LCOMGR=.TRUE. ISEC4(2,IMETHO)=KSEC4(2) GOTO 510 C ENDIF C ENDIF C ELSE C C General extended 2nd-order packing better than simple packing, C and possibly other methods. C IL4OPT=IGXTL4 LSIMPK=.FALSE. LROW=.FALSE. LCTWID=.FALSE. LGEN2O=.FALSE. LGPREC=.TRUE. C ENDIF C IHIGMK=MAX (IHIGMK,IHWM) C ELSEIF (IRET.NE.0) THEN C IRETFN = IRET GO TO 900 C ENDIF C #ifdef ebug2o IF (.NOT.LLONLY) THEN #else IF (LDEBUG.AND..NOT.LLONLY) THEN #endif C YMETHO='Gen.extend.2nd-order' IL4OPT=IGXTL4 C ENDIF C ENDIF #endif C C ----------------------------------------------------------------- C* Section 6 . Effective in case of aggressive packing only. C ----------------------------------------------------------------- C 600 CONTINUE C IF (LSIMPK) THEN C C Simple packing by default: complex packing not efficient, C or not applicable. C C The first 10 octets have already been coded by GRIBEX, or will C be in a further step of GRIBEX: C Length of section, flags+unused bit count, binary scale factor, C reference value. C C Enforce right values for flags. C KSEC4(4)=0 KSEC4(6)=0 IMETHO=0 YMETHO='Simple' C C* Octet 11 : Number of bits containing each first-order value. C One 8 bit field. C YOPER='C' KNSPT=KNSPT+10*8 CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC4(2),1,KBITS, 8,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 18610 WRITE(GRPRSM,FMT=9001) 'bit number' GO TO 900 ENDIF C IF (LREVER) THEN C C Restore initial field ordering. C LPRCLN=(LFIRST.AND.LROW).OR.IROWMK.GT.IHIGMK INDCLN=MAX (IROWMK,1) C IRETFN = REVERO ( KDATA, KLENP, KSEC2, KGRIB, KLENG, X KBITS, KBMAP, KVALS, LPRIBI, LQUASI, X INROWS, KLEN, IWORK(IXIND (2,1,2)), X JPMXGF, LDEBUG, LPRCLN, X IWORK(IXIND (2,INDCLN,1)) ) C IF (IRETFN.NE.0) THEN GO TO 900 ENDIF C LREVER=.NOT.LREVER ENDIF C C* Octet 12 - onwards: Data. C CALL INXBIT(KGRIB,KLENG,KNSPT,KDATA,KLEN,KBITS,KSEC4(2), X YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 18620 WRITE(GRPRSM,FMT=9001) 'normalized data' GO TO 900 ENDIF C ELSEIF (LLONLY) THEN C C Loop back to apply the most efficient second-order method, C as previously diagnosed. And hoping work arrays have not C been overwritten, to avoid computing them again. C LLONLY=.FALSE. LFIRST=.FALSE. GOTO 200 C ENDIF C C ----------------------------------------------------------------- C* Section 7 . Debugging printout. C ----------------------------------------------------------------- C 700 CONTINUE C #ifndef ebug2o IF (LDEBUG) THEN C #endif ILMETH=INDEX (YMETHO//' ',' ')-1 WRITE(GRPRSM,FMT=9710) HOPER(:1), YMETHO(:ILMETH), IL4OPT C IF (.NOT.LSIMPK) THEN C IF (LBOUST.AND..NOT.LROW) THEN WRITE(GRPRSM,FMT=9720) ENDIF C IF (LGENXT.AND.IORDER.NE.0) THEN WRITE(GRPRSM,FMT=9730) IORDER ENDIF C ZGAIN=REAL (100*(ILSIMP-IL4OPT)) / REAL (ILSIMP) ILREFR=INDEX (YREFER//' ',' ')-1 WRITE(GRPRSM,FMT=9002) YREFER(:ILREFR), ZGAIN C #ifndef ebug2o ENDIF C #endif ENDIF C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C C If second-order method was effectively and successfully used, C copy back information of section 4 descriptors to KSEC4. C IF (IRETFN.NE.0.AND.IMETHO.NE.0) THEN C DO 901 J=1,JPVSE4 KSEC4(J)=ISEC4(J,IMETHO) 901 CONTINUE C ENDIF C C2ORDR = IRETFN #ifndef ebug2o C IF (LDEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IRETFN, HOPER(:1), KNSPT #ifndef ebug2o ENDIF #endif C RETURN C 9001 FORMAT (' C2ORDR: Problem inserting ',A,'.') C 9002 FORMAT (' C2ORDR: Gain on section 4 length against ',A,':', X F5.1,' %.') C 9100 FORMAT (' C2ORDR: Function start, HOPER = ',A1,', KNSPT =',I10, X '.',/,' C2ORDR: Original number of bits =',I3,'.',/, X ' C2ORDR: Presence of sections 2 and 3 = ',L1,' and ', X L1,'.') C 9110 FORMAT (' C2ORDR: Matrix of values invalid here.') C 9120 FORMAT (' C2ORDR: ',A,' only supported with a section 2.') 9130 FORMAT (' C2ORDR: ',A,'/',A,': not supported.') 9131 FORMAT (' C2ORDR: Approx. s4 length, ',A,',',I3, X '-length groups:',I9,'.') 9132 FORMAT (' C2ORDR: Range diagnostic is ',A, X ' of spatial differences, order',I2,'.') 9133 FORMAT (' C2ORDR: Selected order:',I2,', range diagnostics:', X 4I8,'.') 9140 FORMAT (' C2ORDR: KSEC4(',I2,') must be 0 or ',I2,'.') 9150 FORMAT (' C2ORDR: General extended packing implies ',A,'.') 9153 FORMAT (' C2ORDR: Boustrophedonic ordering ignored with ', X 'row by row packing.') 9155 FORMAT (' C2ORDR: KSEC4(',I2,') must be 0, -1 or ',I2,'.') 9156 FORMAT (' C2ORDR: Spatial differencing ignored without ', X 'general extended 2nd-order packing.') 9160 FORMAT (' C2ORDR: Bits number =',I3,' - maximum allowed =',I3, X '.') 9170 FORMAT (' C2ORDR: Constant width =',I3, X ' - out of range [-/+',I2,'(=KSEC4(2)-1)].') 9175 FORMAT (' C2ORDR: Constant field, value = ',F30.20,'.') 9180 FORMAT (' C2ORDR: INROWS =',I6,', KLEN =',I9,', LQUASI = ',L1, X '.') 9185 FORMAT (' C2ORDR: Inconsistency: total g.p. number =',I9, X ' expected =',I9,'.') 9187 FORMAT (' C2ORDR: ',I9,' bits set in primary bit-map -', X ' not in range [1,KSEC4(1)=',I9,'].') 9190 FORMAT (' C2ORDR: Too much rows:',I6,' exceeds work space:',I6, X '.') #ifndef wmogrp2o 9192 FORMAT (' C2ORDR: Implicit 1ary bit-map/g.p. number >',I6, X ': unsupported.') #endif 9195 FORMAT (' C2ORDR: No packing method selected or applicable.', X ' C2ORDR: Simple packing applied as backup.') C 9200 FORMAT (' C2ORDR: LROW=',L1,', LCTWID=',L1,', LGEN2O=',L1, X ', LGENXT=',L1,', LBOUST=',L1,', IORDER=',I1, X ', LSIMPK=',L1,'.') C 9210 FORMAT (' C2ORDR: (row by row) IRET, IROWBF, IROWL4, IL4OPT=', X I6,I3,I9,I9,'.') C 9310 FORMAT (' C2ORDR: (cons.width) IRET, ICWIBF, ICWIL4, IL4OPT=', X I6,I3,I9,I9,'.',/, X ' C2ORDR: ICWIFO, IHWM, ICWORK=',2I8,I2,'.') C 9320 FORMAT ('Constant width (',I2,')') C 9410 FORMAT (' C2ORDR: (general 2o) IRET, IGENBF, IGENL4, IL4OPT=', X I6,I3,I9,I9,'.',/, X ' C2ORDR: IGENFO, IHWM=',2I8,'.') C 9510 FORMAT (' C2ORDR: (gen.extend) IRET, IGXTBF, IGXTL4, IL4OPT=', X I6,I3,I9,I9,'.',/, X ' C2ORDR: IGXTFO, IHWM, IORDER=',2I8,I2,'.') 9520 FORMAT (' C2ORDR: Non-optimal spatial differencing at order',I2, X ', general 2o is better...',/, X' C2ORDR: .. retrying gen.extend. without spatial differencing.') C 9710 FORMAT (' C2ORDR: HOPER = ',A1,' - ',A, X ' packing applied, IL4OPT =',I9,'.') 9720 FORMAT (' C2ORDR: Boustrophedonic ordering has been used.') 9730 FORMAT (' C2ORDR: Spatial differencing applied, order is',I2,'.') C 9900 FORMAT (' C2ORDR: Function return code =',I6,' HOPER = ',A, X ', KNSPT =',I10,'.') C END emoslib-000392+dfsg.1/gribex/jabort.c0000755000175000017500000000074012127406245020367 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include void jabort(void) { abort(); } void jabort_(void) { abort(); } emoslib-000392+dfsg.1/gribex/uncmpck.F0000755000175000017500000000652012127406245020513 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE UNCMPCK(PSPEC,KTRUNC,KTRUNCNP) C C----> C**** UNCMPCK C C Purpose. C -------- C C Puts spectral coefficients in contiguous locations. C C C** Interface. C ---------- C C CALL UNCMPCK(PSPEC,KTRUNC,KTRUNCNP) C C C Input Parameters. C ----------------- C C PSPEC - Array of spectral coefficients. C KTRUNC - Truncation of the spherical harmonic coefficients. C KTRUNCNP - Truncation of the subset of spherical harmonic C coefficients to be re-inserted.. C C C Output Parameters. C ----------------- C C PSPEC - Array of spectral coefficients rearranged. C C C Method. C ------- C C Given the values CCCCCC...C , contiguous in array PSPEC, C rearranges them to leave slots for the subset of spectral C coefficients to be re-inserted.. C C | C C Thus: cccccccc|CCCCCC C cccccc|CCCCCC C cccc|CCCCCC C cc|CCCCCC C |CCCCCC C CCCC C CC C C Externals. C ---------- C C None. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C None. C C C Author. C ------- C C M.Hamrut ECMWF 09:05:94 C C C Modifications. C _____________ C C None. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C C Subroutine arguments INTEGER KTRUNC,KTRUNCNP REAL PSPEC((KTRUNC+1)*(KTRUNC+2)) C C Local variables. INTEGER IMAXP, IMAXUP, IUC, IC, JM, JN, IL2, IL1, ILEN C C ----------------------------------------------------------------- C* Section 1. Rearrange the values. C ----------------------------------------------------------------- C IMAXP = (KTRUNC+1)*(KTRUNC+2) IMAXUP = (KTRUNC+1)*(KTRUNC+2)-(KTRUNCNP+1)*(KTRUNCNP+2) IUC = IMAXP+1 IC = IMAXUP+1 C C Loop through rows, starting at end and working backwards. DO 102 JM=KTRUNC,0,-1 C C In each row calculate value to start with. C For early rows, there are some values to skip to leave slots C for the subset being re-instated. IL2=MAX(JM,KTRUNCNP+1) IL1=IL2-1 ILEN=2*(KTRUNC-IL2+1) C C Move values for the row. CDIR$ IVDEP DO 104 JN=1,ILEN IUC = IUC-1 IC = IC-1 PSPEC(IUC) = PSPEC(IC) 104 CONTINUE C IUC = IUC-MAX((IL1-JM+1)*2,0) 102 CONTINUE C C ----------------------------------------------------------------- C* Section 9. Return. C ----------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/mxmncr.F0000755000175000017500000000427412127406245020363 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE MXMN(PARR,KLEN,PMAX,PMIN) C C----> C** *SUBROUTINE* *MXMN* - *FIND THE MAXIMUM AND MINIMUM ELEMENTS OF C AN ARRAY C C *JAN *HASELER *ECMWF* 6/10/82 C C PURPOSE C ------- C C *FIND THE MAXIMUM AND MINIMUM ELEMENTS OF THE ARRAY *PARR* C C INTERFACE C --------- C C *CALL* *MXMN(PARR,KLEN,PMAX,PMIN)* C C WHERE *PARR(KLEN)* = INPUT ARRAY C *PMAX* = OUTPUT MAXIMUM ELEMENT OF *PARR* C *PMIN* = OUTPUT MINIMUM ELEMENT OF *PARR* C C *MXMN* IS CALLED FROM SUBROUTINES *OUTSHC,* *OUTSHG,* *OUT2D* AND C *OUTDIA* C C RESULTS C ------- C C *THE VALUES *PMAX* AND *PMIN* ARE RETURNED C C EXTERNALS C --------- C C *ISMAX* - *CAL* FUNCTION TO FIND MAX ARRAY ELEMENT C *ISMIN* - *CAL* FUNCTION TO FIND MIN ARRAY ELEMENT C C ------------------------------------------------------------------ C----< C DIMENSION PARR(KLEN) C C----------------------------------------------------------------------- C* C 1. FIND MAX AND MIN C ---------------- C 100 CONTINUE C C* 1.1 SEARCH THROUGH 4096 ELEMENTS AT A TIME 110 CONTINUE ZMIN=PARR(1) ZMAX=PARR(1) ID=1 I1=KLEN/4096 I2=KLEN-I1*4096 C DO 115 J=1,I1 IX=ISMAX(4096,PARR(ID),1)+ID-1 IN=ISMIN(4096,PARR(ID),1)+ID-1 ZMAX=AMAX1(ZMAX,PARR(IX)) ZMIN=AMIN1(ZMIN,PARR(IN)) ID=ID+4096 115 CONTINUE C C C* 1.2 REMAINING ELEMENTS 120 CONTINUE IF (I2.GT.0) THEN IX=ISMAX(I2,PARR(ID),1)+ID-1 IN=ISMIN(I2,PARR(ID),1)+ID-1 ZMAX=AMAX1(ZMAX,PARR(IX)) ZMIN=AMIN1(ZMIN,PARR(IN)) ENDIF C PMIN=ZMIN PMAX=ZMAX C RETURN END emoslib-000392+dfsg.1/gribex/reclen.F0000755000175000017500000001432012127406245020320 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE RECLEN (BLOCK,LEN,NBIT,ICODE,INDIC,LEVEL,IERR) C C----> C* * C* NAME : RECLEN C* * C* FUNCTION : CALCULATES FROM THE GRIB (OR PSEUDO GRIB) HEADERS * C* THE TOTAL LENGTH OF THE RECORD, AND ALSO RETURNS * C* PARAMETER NUMBER, INDICATOR OF TYPE OF LEVEL AND * C* LEVEL NUMBER. * C* * C* INPUT : BLOCK = INPUT ARRAY * C* NBIT = NO OF BITS PER COMPUTER WORD * C* * C* OUTPUT : LEN = LENGTH IN OCTETS * C* ICODE = PARAMETER NUMBER * C* INDIC = LEVEL TYPE INDICATOR * C* LEVEL = LEVEL NUMBER * C* IERR = -1 , UNDEFINED BLOCK 3 INCLUDED. * C* = -2 , ERROR DETECTED BY SUBROUTINE OFFSET. * C = -3 , Section length of 0 found. C* = 0 , NO ERROR. * C* * C* GENERAL : RECLEN CALLS GBYTES * C* OFFSET * C* MODVAL * C* * C* AUTHOR : B.V. GURETZKY 03.05.85 * C* * C* MODIFIED : J. HENNESSY 25.11.85 * C J. Hennessy 11.11.91 C Checks on section lengths of 0 added. C* * C --------------------------------------------------------------- C----< C IMPLICIT INTEGER(B,U) DIMENSION BLOCK(*) DIMENSION IBLOCK(24) C C SKIP PAST LEADING 4 ASCII CHARACTERS C IWORD = 1 IOFF = 0 IBYTE = 8 NVAL = 4 ILENG = 200 IERR = 0 C CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C EXTRACT FIRST 4 OCTETS OF BLOCK 1. C CALL GBYTES (BLOCK(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C IF THESE OCTETS DO NOT CONTAIN 0, 0, 24 AND 0 RESPECTIVELY C THEN THE DATA IS IN THE OLD VERSION OF THE CODE. C IF (IBLOCK(1).EQ.0.AND.IBLOCK(2).EQ.0.AND.IBLOCK(3).EQ.24. C AND.IBLOCK(4).EQ.0) C THEN ISNEW = 1 NVAL = 20 ELSE ISNEW = 0 NVAL = 16 ENDIF C C EXTRACT NEXT 16 OR 20 OCTETS OF BLOCK 1 - NUMBER DEPENDS C ON VERSION OF CODE. C CALL GBYTES (BLOCK(IWORD),IBLOCK(5),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LENGTH OF BLOCK 0 + BLOCK 1 LEN = 24 + (ISNEW*4) C C C PARAMETER NUMBER. C ICODE = IBLOCK(5+4*ISNEW) C C LEVEL TYPE C INDIC = IBLOCK(6+4*ISNEW) C C LEVEL DESCRIPTION C KTEMP = 32 + ISNEW*224 C IF (INDIC.EQ.100.OR.INDIC.EQ.103.OR.INDIC.EQ.105. C .OR.INDIC.EQ.107.OR.INDIC.EQ.109) C THEN LEVEL = IBLOCK(7+ISNEW*4) * KTEMP + IBLOCK(8+ISNEW*4) ELSE LEVEL = IBLOCK(7+ISNEW*4) ENDIF C C CHECK FOR PRESENCE OF BLOCK 2. C IFLAG = IBLOCK(4+4*ISNEW) C INC = 0 IF (ISNEW.EQ.0) C THEN IF (IFLAG.EQ.1.OR.IFLAG.EQ.3) INC = 1 ELSE IF (IFLAG.EQ.128.OR.IFLAG.EQ.192) INC = 1 ENDIF C C LENGTH OF GRID DEFINITION BLOCK C IF (INC.EQ.1) C THEN CALL GBYTE (BLOCK(IWORD),LBLK,IOFF,24) LEN = LEN + LBLK IF (LBLK.EQ.0) C THEN IERR = -3 LEN = 0 WRITE (*,9001) RETURN ENDIF C CALL OFFSET (IOFF,LBLK,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C C CHECK FOR PRESENCE OF BLOCK 3 C INC = 0 IF (ISNEW.EQ.0) C THEN IF (IFLAG.EQ.2.OR.IFLAG.EQ.3) INC = 1 ELSE IF (IFLAG.EQ.64.OR.IFLAG.EQ.192) INC = 1 ENDIF C C C------------------------------------------ C C NMC WASHINGTON SEA SURFACE TEMPERATURE ANALYSIS IS THE ONLY C GRIB CODED FIELD WITH BLOCK 3. IT ALSO VARIES IN LENGTH SO C THE LENGTH IS FIXED FOR ARCHIVAL/RETRIEVAL PURPOSES TO C 34920 BYTES. C IF (INC.EQ.1) C THEN LEN = 34920 RETURN ENDIF C C------------------------------------------ C C IF (INC.EQ.1) C THEN IERR = -1 WRITE (*,*) ' RECLEN : BLOCK 3 OF GRIB CODE NOT DEFINED' RETURN ENDIF C C LENGTH OF BINARY DATA BLOCK C CALL GBYTE (BLOCK(IWORD),LBLK,IOFF,24) LEN = LEN + LBLK C IF (LBLK.EQ.0) C THEN IERR = -3 LEN = 0 WRITE (*,9002) RETURN ENDIF C C BLOCK 5 HAS FIXED LENGTH OF 4 OCTETS. LEN = LEN + 4 C C MAKE LENGTH MULTIPLE OF 120 OCTETS C INTER = 120 CALL MODVAL (LEN,LENB,INTER) LEN = LENB C 9001 format (1h ,'RECLEN : Length of section 2 is 0.') C 9002 format (1h ,'RECLEN : Length of section 4 is 0.') RETURN END emoslib-000392+dfsg.1/gribex/grprs1b.F0000755000175000017500000012712212127406245020435 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRPRS1B(KSEC1) C C----> C**** GRPRS1B C C Purpose. C -------- C C Print the information in the Product Definition C Section (Section 1) of decoded GRIB data. C C** Interface. C ---------- C C CALL GRPRS1B(KSEC1) C C C Input Parameters. C ----------------- C C KSEC1 - Array of decoded parameters from Section 1. C C C Output Parameters. C ------------------ C C None. C C C Method. C ------- C C Flag fields are printed in binary representation. C Other fields as integers. C Fields printed depend on GRIB Edition. C C This is a simplified version of grprs1.F called by grprs1.c C to display local definitions stored internally in ECMWF local C defienition 190. C C C Externals. C ---------- C C PRTBIN - Print binary value in character format. C CHKTAB2 - Looks up a parameter in a given ECMWF local table 2. C C Common block GRPRSCM. C C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C See also routine GRIBEX. C C C Comments. C --------- C C When decoding data from Experimental Edition or Edition 0, C routine GRIBEX adds the additional fields available in C Edition 1. C C Checks environment variable GRPRS_STREAM for output stream number C for printing (default is 6) C C C Author. C ------- C J.D.Chambers ECMWF November 2004 C C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" #include "grbcom.h" C C Parameter(s) C INTEGER JPBYTES #ifdef INTEGER_8 PARAMETER (JPBYTES = 8) #else PARAMETER (JPBYTES = 4) #endif C C Subroutine arguments C INTEGER KSEC1(*) C C Local variables C INTEGER IPREV, ICURR, ICOUNT, IOFFSET, IOFF2, IOFF3 INTEGER IBIT, IERR, IOUT, IYEAR, NBYTES, LEN INTEGER JLOOP, JILOOP REAL VALUE C CHARACTER*8 HVERSION CHARACTER*121 HFIRST, HSECOND, HTHIRD, HFOURTH C C Externals C INTEGER CHKTAB2 EXTERNAL CHKTAB2 C C -----------------------------------------------------------------| C* Section 1 . Print required information. C -----------------------------------------------------------------| C 100 CONTINUE C IF(KSEC1(37).EQ.1) X WRITE(GRPRSM,*) '(Mars labelling or ensemble forecast)' IF(KSEC1(37).EQ.2) X WRITE(GRPRSM,*) '(Cluster means and standard deviations)' IF(KSEC1(37).EQ.3) X WRITE(GRPRSM,*) '(Satellite image data)' IF(KSEC1(37).EQ.4) X WRITE(GRPRSM,*) '(Ocean model data)' IF(KSEC1(37).EQ.5) X WRITE(GRPRSM,*) '(Forecast probability data)' IF(KSEC1(37).EQ.6) X WRITE(GRPRSM,*) '(Surface temperature data)' IF(KSEC1(37).EQ.7) X WRITE(GRPRSM,*) '(Sensitivity data)' IF(KSEC1(37).EQ.8) X WRITE(GRPRSM,*) '(ECMWF re-analysis data)' IF(KSEC1(37).EQ.9) X WRITE(GRPRSM,*) '(Singular vectors / ensemble perturbations)' IF(KSEC1(37).EQ.10) X WRITE(GRPRSM,*) '(EPS tubes)' IF(KSEC1(37).EQ.11) X WRITE(GRPRSM,*) '(Supplementary data used by analysis)' IF(KSEC1(37).EQ.13) X WRITE(GRPRSM,*) '(Wave 2D spectra direction and frequency)' IF(KSEC1(37).EQ.14) X WRITE(GRPRSM,*) '(Brightness temperature)' IF(KSEC1(37).EQ.15) X WRITE(GRPRSM,*) '(Ocean ensemble seasonal forecast)' IF(KSEC1(37).EQ.16) X WRITE(GRPRSM,*) '(Seasonal fc monthly mean atmosphere data)' IF(KSEC1(37).EQ.17) X WRITE(GRPRSM,*) '(Sst or sea-ice used by analysis)' IF(KSEC1(37).EQ.18) X WRITE(GRPRSM,*) '(Multi-analysis ensemble data)' IF(KSEC1(37).EQ.19) X WRITE(GRPRSM,*) '(Extreme forecast index data)' IF(KSEC1(37).EQ.20) X WRITE(GRPRSM,*) '(4D variational increments)' IF(KSEC1(37).EQ.21) X WRITE(GRPRSM,*) '(Sensitive area predictions)' IF(KSEC1(37).EQ.23) X WRITE(GRPRSM,*) X '(Coupled atmospheric, wave & ocean means (+ hindcast support))' IF(KSEC1(37).EQ.24) X WRITE(GRPRSM,*) '(Satellite image simulation)' IF(KSEC1(37).EQ.25) X WRITE(GRPRSM,*) '(4DVar model errors)' IF(KSEC1(37).EQ.50) X WRITE(GRPRSM,*) '(Member State data)' IF(KSEC1(37).EQ.190) X WRITE(GRPRSM,*) '(Multiple ECMWF local definitions)' IF(KSEC1(37).EQ.191) X WRITE(GRPRSM,*) '(Free format data descriptor)' C WRITE(GRPRSM,9302) KSEC1(38) WRITE(GRPRSM,9303) KSEC1(39) WRITE(GRPRSM,9304) KSEC1(40) WRITE(HVERSION, '(A8)' ) KSEC1(41) WRITE(GRPRSM,9305) X HVERSION(5:5), X HVERSION(6:6), X HVERSION(7:7), X HVERSION(8:8) C C ECMWF Local definition 1. C (MARS labelling or ensemble forecast data) C IF (KSEC1(37).EQ.1) THEN WRITE(GRPRSM,9310) KSEC1(42) IF( KSEC1(40).NE.1090 ) WRITE(GRPRSM,9311) KSEC1(43) GOTO 900 ENDIF C C ECMWF Local definition 2. C (Cluster means and standard deviations) C IF (KSEC1(37).EQ.2) THEN WRITE(GRPRSM,9312) KSEC1(42) WRITE(GRPRSM,9313) KSEC1(43) WRITE(GRPRSM,9314) KSEC1(44) WRITE(GRPRSM,9315) KSEC1(45) WRITE(GRPRSM,9316) KSEC1(46) WRITE(GRPRSM,9317) KSEC1(47) WRITE(GRPRSM,9318) KSEC1(48) WRITE(GRPRSM,9319) KSEC1(49) WRITE(GRPRSM,9320) KSEC1(50) WRITE(GRPRSM,9321) KSEC1(51) WRITE(GRPRSM,9324) KSEC1(52) WRITE(GRPRSM,9322) KSEC1(53) DO 210 JLOOP = 1,KSEC1(53) WRITE(GRPRSM,9323) KSEC1(JLOOP+53) 210 CONTINUE GOTO 900 ENDIF C C ECMWF Local definition 3. C (Satellite image data) C IF (KSEC1(37).EQ.3) THEN WRITE(GRPRSM,9306) KSEC1(42) WRITE(GRPRSM,9307) KSEC1(43) GOTO 900 ENDIF C C ECMWF Local definition 4. C (Ocean model data) C IF (KSEC1(37).EQ.4) THEN WRITE(GRPRSM,9310) KSEC1(42) IF( KSEC1(40).NE.1090 ) WRITE(GRPRSM,9311) KSEC1(43) WRITE(GRPRSM,9401) KSEC1(44) WRITE(GRPRSM,9402) KSEC1(45) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Coordinate structure definition.' WRITE(GRPRSM,*) '--------------------------------' WRITE(GRPRSM,9403) KSEC1(46) WRITE(GRPRSM,9404) KSEC1(47) WRITE(GRPRSM,9405) KSEC1(48) WRITE(GRPRSM,9406) KSEC1(49) WRITE(GRPRSM,9407) KSEC1(50) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Position definition.' WRITE(GRPRSM,*) '--------------------' WRITE(GRPRSM,9411) KSEC1(51) WRITE(GRPRSM,9412) KSEC1(52) WRITE(GRPRSM,9413) KSEC1(53) WRITE(GRPRSM,9414) KSEC1(54) WRITE(GRPRSM,9415) KSEC1(55) WRITE(GRPRSM,9416) KSEC1(56) WRITE(GRPRSM,9413) KSEC1(57) WRITE(GRPRSM,9414) KSEC1(58) WRITE(GRPRSM,9415) KSEC1(59) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Grid Definition.' WRITE(GRPRSM,*) '----------------' WRITE(GRPRSM,9421) KSEC1(60) WRITE(GRPRSM,9422) KSEC1(61) WRITE(GRPRSM,9423) KSEC1(62) WRITE(GRPRSM,9424) KSEC1(63) WRITE(GRPRSM,9425) KSEC1(64) WRITE(GRPRSM,9426) KSEC1(65) WRITE(GRPRSM,9427) KSEC1(66) WRITE(GRPRSM,9428) KSEC1(67) WRITE(GRPRSM,9429) KSEC1(68) WRITE(GRPRSM,9430) KSEC1(69) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Further information.' WRITE(GRPRSM,*) '--------------------' WRITE(GRPRSM,9441) KSEC1(70) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Auxiliary information.' WRITE(GRPRSM,*) '----------------------' WRITE(GRPRSM,9451) KSEC1(71) WRITE(GRPRSM,9452) KSEC1(72) WRITE(GRPRSM,9453) KSEC1(73) WRITE(GRPRSM,9454) KSEC1(74) C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Horizontal coordinate supplement.' WRITE(GRPRSM,*) '---------------------------------' IF( KSEC1(71).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(71) DO JLOOP = 1,KSEC1(71) WRITE(GRPRSM,9461) KSEC1(74+JLOOP) ENDDO ENDIF C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Mixed coordinate definition.' WRITE(GRPRSM,*) '----------------------------' IF( KSEC1(72).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(72) IOFFSET = 74 + KSEC1(71) DO JLOOP = 1,KSEC1(72) WRITE(GRPRSM,9461) KSEC1(IOFFSET+JLOOP) ENDDO ENDIF C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Grid coordinate list.' WRITE(GRPRSM,*) '---------------------' IF( KSEC1(73).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(73) IOFFSET = 74 + KSEC1(71) + KSEC1(72) DO JLOOP = 1,KSEC1(73) WRITE(GRPRSM,9461) KSEC1(IOFFSET+JLOOP) ENDDO ENDIF C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Auxiliary array.' WRITE(GRPRSM,*) '----------------' IF( KSEC1(74).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(74) IOFFSET = 74 + KSEC1(71) + KSEC1(72) + KSEC1(73) DO JLOOP = 1,KSEC1(74) WRITE(GRPRSM,9461) KSEC1(IOFFSET+JLOOP) ENDDO ENDIF C WRITE(GRPRSM,*) ' ' WRITE(GRPRSM,*) 'Post-auxiliary array.' WRITE(GRPRSM,*) '---------------------' IOFFSET = 74 + KSEC1(71) + KSEC1(72) + KSEC1(73) + KSEC1(74) IF( KSEC1(IOFFSET+1).EQ.0 ) THEN WRITE(GRPRSM,*) '(None).' ELSE WRITE(GRPRSM,*) 'Number of items = ', KSEC1(IOFFSET+1) DO JLOOP = 2, 4 WRITE(GRPRSM,9461) KSEC1(IOFFSET+JLOOP) ENDDO IF( KSEC1(IOFFSET+1).GT.4 ) THEN WRITE(GRPRSM,9462) KSEC1(IOFFSET+5) IF( KSEC1(IOFFSET+6).NE.0 ) THEN WRITE(GRPRSM,9463) KSEC1(IOFFSET+6) WRITE(GRPRSM,9464) KSEC1(IOFFSET+7) ENDIF ENDIF ENDIF C GOTO 900 ENDIF C C ECMWF Local definition 5. C (Forecast probability data) C IF (KSEC1(37).EQ.5) THEN WRITE(GRPRSM,9500) KSEC1(42) WRITE(GRPRSM,9501) KSEC1(43) WRITE(GRPRSM,9502) KSEC1(44) WRITE(GRPRSM,9503) KSEC1(45) IF ( KSEC1(45) .NE. 2 ) WRITE(GRPRSM,9504) KSEC1(46) IF ( KSEC1(45) .NE. 1 ) WRITE(GRPRSM,9505) KSEC1(47) GOTO 900 ENDIF C C ECMWF Local definition 6. C (Surface temperature data) C IF (KSEC1(37).EQ.6) THEN C IYEAR = KSEC1(44) IF( IYEAR.GT.100 ) THEN IF( IYEAR.LT.19000000 ) IYEAR = IYEAR + 19000000 WRITE(GRPRSM,9601) IYEAR ELSE WRITE(GRPRSM,*) X 'Date of SST field used Not given' ENDIF IF(KSEC1(45).EQ.0) WRITE(GRPRSM,9602) KSEC1(45) IF(KSEC1(45).EQ.1) WRITE(GRPRSM,9603) KSEC1(45) IF(KSEC1(45).EQ.2) WRITE(GRPRSM,9604) KSEC1(45) C WRITE(GRPRSM,9605) KSEC1(46) C DO 260 JLOOP = 1, KSEC1(46) IYEAR = KSEC1(45+(JLOOP*2)) IF( IYEAR.GT.100 ) THEN IF( IYEAR.LT.19000000 ) IYEAR = IYEAR + 19000000 WRITE(GRPRSM,9606) JLOOP, IYEAR WRITE(GRPRSM,9607) JLOOP, KSEC1(46+(JLOOP*2)) ELSE WRITE(GRPRSM,*) X 'Date of SST field used Not given' ENDIF C 260 CONTINUE C GOTO 900 ENDIF C C ECMWF Local definition 7. C (Sensitivity data) C IF (KSEC1(37).EQ.7) THEN IF ( KSEC1(39) .EQ. 51 ) WRITE(GRPRSM,9700) KSEC1(42) IF ( KSEC1(39) .NE. 51 ) WRITE(GRPRSM,9701) KSEC1(42) IF ( KSEC1(39) .NE. 52 ) WRITE(GRPRSM,9702) KSEC1(43) IF ( KSEC1(39) .EQ. 52 ) WRITE(GRPRSM,9703) KSEC1(43) WRITE(GRPRSM,9704) KSEC1(44) WRITE(GRPRSM,9705) KSEC1(45) GOTO 900 ENDIF C C C ECMWF Local definition 8. C (ECMWF re-analysis data) C IF (KSEC1(37).EQ.8) THEN IF( (KSEC1(40).EQ.1043).OR. X (KSEC1(40).EQ.1070).OR. X (KSEC1(40).EQ.1071) ) THEN WRITE(GRPRSM,9801) KSEC1(42) DO JLOOP = 43, 54 JILOOP = JLOOP + 8 WRITE(GRPRSM,9800) JILOOP, KSEC1(JLOOP) ENDDO ELSE DO JLOOP = 42, 54 JILOOP = JLOOP + 8 WRITE(GRPRSM,9800) JILOOP, KSEC1(JLOOP) ENDDO ENDIF GOTO 900 ENDIF C IF (KSEC1(39).GT.4.AND.KSEC1(39).LT.9) THEN WRITE(GRPRSM,9308) KSEC1(42) WRITE(GRPRSM,9309) KSEC1(43) ENDIF C C C ECMWF Local definition 9. C (Singular vectors and ensemble perturbations) C IF (KSEC1(37).EQ.9) THEN IF(KSEC1(39).EQ.60) X WRITE(GRPRSM,9960) KSEC1(42) IF(KSEC1(39).EQ.61) X WRITE(GRPRSM,9961) KSEC1(42) IF(KSEC1(39).EQ.62) X WRITE(GRPRSM,9962) KSEC1(42) IF(KSEC1(39).EQ.62) THEN WRITE(GRPRSM,9943) KSEC1(43) WRITE(GRPRSM,9944) KSEC1(44) WRITE(GRPRSM,9945) KSEC1(45) WRITE(GRPRSM,9946) KSEC1(46) WRITE(GRPRSM,9947) KSEC1(47) WRITE(GRPRSM,9948) KSEC1(48) WRITE(GRPRSM,9949) KSEC1(49) WRITE(GRPRSM,9950) KSEC1(50) WRITE(GRPRSM,9951) KSEC1(51) WRITE(GRPRSM,9952) KSEC1(52) WRITE(GRPRSM,9953) KSEC1(53) WRITE(GRPRSM,9954) KSEC1(54) WRITE(GRPRSM,9955) KSEC1(55) ENDIF GOTO 900 ENDIF C C C ECMWF Local definition 10. C (EPS tubes) C IF (KSEC1(37).EQ.10) THEN WRITE(GRPRSM,1001) KSEC1(42) WRITE(GRPRSM,1002) KSEC1(43) WRITE(GRPRSM,1003) KSEC1(44) WRITE(GRPRSM,1004) KSEC1(45) WRITE(GRPRSM,1005) KSEC1(46) WRITE(GRPRSM,1006) KSEC1(47) WRITE(GRPRSM,1007) KSEC1(48) WRITE(GRPRSM,1008) KSEC1(49) WRITE(GRPRSM,1009) KSEC1(50) WRITE(GRPRSM,1010) KSEC1(51) WRITE(GRPRSM,1011) KSEC1(52) WRITE(GRPRSM,1012) KSEC1(53) WRITE(GRPRSM,1013) KSEC1(54) WRITE(GRPRSM,1014) KSEC1(55) WRITE(GRPRSM,1015) KSEC1(56) WRITE(GRPRSM,1016) KSEC1(57) WRITE(GRPRSM,1017) KSEC1(58) C WRITE(GRPRSM,1018) DO 280 JLOOP = 1, KSEC1(58) WRITE(GRPRSM,1019) KSEC1(58+JLOOP) 280 CONTINUE GOTO 900 ENDIF C C C ECMWF Local definition 11. C (Supplementary data used by the analysis) C IF (KSEC1(37).EQ.11) THEN WRITE(GRPRSM,1101) WRITE(GRPRSM,1103) KSEC1(42) WRITE(GRPRSM,1104) KSEC1(43) WRITE(GRPRSM,1105) KSEC1(44) WRITE(HVERSION, '(A8)' ) KSEC1(45) WRITE(GRPRSM,1106) #ifdef LITTLE_ENDIAN X HVERSION(8:8), X HVERSION(7:7), X HVERSION(6:6), X HVERSION(5:5) #else X HVERSION(5:5), X HVERSION(6:6), X HVERSION(7:7), X HVERSION(8:8) #endif IYEAR = KSEC1(46) IF( IYEAR.GT.40 ) THEN IYEAR = IYEAR + 1900 ELSE IYEAR = IYEAR + 2000 ENDIF WRITE(GRPRSM,1107) KSEC1(46), IYEAR WRITE(GRPRSM,1108) KSEC1(47) WRITE(GRPRSM,1109) KSEC1(48) WRITE(GRPRSM,1110) KSEC1(49) WRITE(GRPRSM,1111) KSEC1(50) WRITE(GRPRSM,1112) KSEC1(51) WRITE(GRPRSM,1113) KSEC1(52) WRITE(GRPRSM,1114) KSEC1(53) GOTO 900 ENDIF C C C ECMWF Local definition 12. C IF (KSEC1(37).EQ.12) THEN WRITE(GRPRSM,1201) WRITE(GRPRSM,1203) KSEC1(42) WRITE(GRPRSM,1204) KSEC1(43) WRITE(GRPRSM,1205) KSEC1(44) WRITE(GRPRSM,1206) KSEC1(45) WRITE(GRPRSM,1207) KSEC1(46) WRITE(GRPRSM,1208) KSEC1(47) WRITE(GRPRSM,1209) KSEC1(48) WRITE(GRPRSM,1210) KSEC1(49) WRITE(GRPRSM,1211) IPREV = KSEC1(50) ICURR = 0 ICOUNT = 0 DO JLOOP = 1, KSEC1(49) ICURR = KSEC1(49+JLOOP) IF( ICURR.NE.IPREV ) THEN IF( ICOUNT.EQ.1 ) WRITE(GRPRSM,1212) IPREV IF( ICOUNT.EQ.2 ) WRITE(GRPRSM,1213) IPREV IF( ICOUNT.GT.2 ) WRITE(GRPRSM,1214) IPREV, ICOUNT IPREV = ICURR ICOUNT = 1 ELSE ICOUNT = ICOUNT + 1 ENDIF ENDDO IF( ICOUNT.EQ.1 ) WRITE(GRPRSM,1212) IPREV IF( ICOUNT.EQ.2 ) WRITE(GRPRSM,1213) IPREV IF( ICOUNT.GT.2 ) WRITE(GRPRSM,1214) IPREV, ICOUNT GOTO 900 ENDIF C C C ECMWF Local definition 13. C (Wave 2D spectra direction and frequency) C IF (KSEC1(37).EQ.13) THEN WRITE(GRPRSM,1301) KSEC1(44) WRITE(GRPRSM,1302) KSEC1(45) WRITE(GRPRSM,1303) KSEC1(46) WRITE(GRPRSM,1304) KSEC1(47) WRITE(GRPRSM,1305) KSEC1(48) WRITE(GRPRSM,1306) KSEC1(49) WRITE(GRPRSM,1307) DO 290 JLOOP = 1, KSEC1(46) VALUE = REAL(KSEC1(49+JLOOP))/REAL(KSEC1(48)) IF( KSEC1(44).EQ.JLOOP ) THEN WRITE(GRPRSM,1308) JLOOP, VALUE ELSE WRITE(GRPRSM,1309) JLOOP, VALUE ENDIF 290 CONTINUE WRITE(GRPRSM,1310) DO 295 JLOOP = 1, KSEC1(47) VALUE = REAL(KSEC1(49+KSEC1(46)+JLOOP))/REAL(KSEC1(49)) IF( KSEC1(45).EQ.JLOOP ) THEN WRITE(GRPRSM,1308) JLOOP, VALUE ELSE WRITE(GRPRSM,1309) JLOOP, VALUE ENDIF 295 CONTINUE C IF( N13FLAG.GT.0 ) THEN WRITE(GRPRSM,1311) KSEC1(50+KSEC1(46)+KSEC1(47)) WRITE(GRPRSM,1312) KSEC1(51+KSEC1(46)+KSEC1(47)) IF( N13FLAG.GT.1 ) THEN WRITE(GRPRSM,1313) KSEC1(52+KSEC1(46)+KSEC1(47)) WRITE(GRPRSM,1314) KSEC1(53+KSEC1(46)+KSEC1(47)) WRITE(GRPRSM,1315) KSEC1(54+KSEC1(46)+KSEC1(47)) ENDIF ENDIF GOTO 900 ENDIF C C ECMWF Local definition 14. C (Brightness temperature) C IF (KSEC1(37).EQ.14) THEN WRITE(GRPRSM,1401) KSEC1(44) WRITE(GRPRSM,1402) KSEC1(45) WRITE(GRPRSM,1403) KSEC1(46) WRITE(GRPRSM,1404) DO 296 JLOOP = 1, KSEC1(46) VALUE = REAL(KSEC1(46+JLOOP))/REAL(KSEC1(45)) IF( KSEC1(44).EQ.JLOOP ) THEN WRITE(GRPRSM,1405) JLOOP, VALUE ELSE WRITE(GRPRSM,1406) JLOOP, VALUE ENDIF 296 CONTINUE GOTO 900 ENDIF C C ECMWF Local definition 15. C (Ocean ensemble seasonal forecast) C IF (KSEC1(37).EQ.15) THEN WRITE(GRPRSM,1501) KSEC1(42) WRITE(GRPRSM,1504) KSEC1(43) WRITE(GRPRSM,1502) KSEC1(44) WRITE(GRPRSM,1503) KSEC1(45) GOTO 900 ENDIF C C ECMWF Local definition 16. C (Seasonal forecast monthly mean atmosphere data) C IF (KSEC1(37).EQ.16) THEN WRITE(GRPRSM,1501) KSEC1(42) WRITE(GRPRSM,1502) KSEC1(44) WRITE(GRPRSM,1503) KSEC1(45) WRITE(GRPRSM,1601) KSEC1(46) WRITE(GRPRSM,1602) KSEC1(47) WRITE(GRPRSM,1603) KSEC1(48) GOTO 900 ENDIF C C ECMWF Local definition 17. C (Sst or sea-ice used by analysis) C IF (KSEC1(37).EQ.17) THEN C IYEAR = KSEC1(44) IF( IYEAR.GT.100 ) THEN IF( IYEAR.LT.19000000 ) IYEAR = IYEAR + 19000000 WRITE(GRPRSM,1701) IYEAR ELSE WRITE(GRPRSM,*) X 'Date of sst/ice field used Not given' ENDIF IF(KSEC1(45).EQ.0) WRITE(GRPRSM,1702) KSEC1(45) IF(KSEC1(45).EQ.1) WRITE(GRPRSM,1703) KSEC1(45) IF(KSEC1(45).EQ.2) WRITE(GRPRSM,1704) KSEC1(45) C WRITE(GRPRSM,1705) KSEC1(46) C DO JLOOP = 1, KSEC1(46) IYEAR = KSEC1(45+(JLOOP*2)) IF( IYEAR.GT.100 ) THEN IF( IYEAR.LT.19000000 ) IYEAR = IYEAR + 19000000 WRITE(GRPRSM,1706) JLOOP, IYEAR WRITE(GRPRSM,1707) JLOOP, KSEC1(46+(JLOOP*2)) ELSE WRITE(GRPRSM,*) X 'Date of sst/ice field used Not given' ENDIF C ENDDO GOTO 900 C ENDIF C C ECMWF Local definition 18. C (Multi-analysis ensemble data) C IF (KSEC1(37).EQ.18) THEN WRITE(GRPRSM,1801) KSEC1(42) WRITE(GRPRSM,1802) KSEC1(43) WRITE(GRPRSM,1803) KSEC1(44) WRITE(HVERSION, '(A8)' ) KSEC1(45) WRITE(GRPRSM,1804) #ifdef LITTLE_ENDIAN X HVERSION(8:8), X HVERSION(7:7), X HVERSION(6:6), X HVERSION(5:5) #else X HVERSION(5:5), X HVERSION(6:6), X HVERSION(7:7), X HVERSION(8:8) #endif WRITE(GRPRSM,1805) KSEC1(46) WRITE(GRPRSM,*) ' WMO centre analyses used:' WRITE(GRPRSM,*) ' ------------------------' DO JLOOP = 1, KSEC1(46) WRITE(HVERSION, '(A8)' ) KSEC1(46+JLOOP) WRITE(GRPRSM,1806) #ifdef LITTLE_ENDIAN X HVERSION(8:8), X HVERSION(7:7), X HVERSION(6:6), X HVERSION(5:5) #else X HVERSION(5:5), X HVERSION(6:6), X HVERSION(7:7), X HVERSION(8:8) #endif ENDDO GOTO 900 ENDIF C C ECMWF Local definition 19. C (Extreme forecast index) C IF (KSEC1(37).EQ.19) THEN WRITE(GRPRSM,1901) KSEC1(42) WRITE(GRPRSM,1902) KSEC1(43) WRITE(GRPRSM,1903) KSEC1(44) WRITE(GRPRSM,1904) KSEC1(45) WRITE(GRPRSM,1905) KSEC1(46) WRITE(GRPRSM,1906) KSEC1(47) WRITE(GRPRSM,1907) KSEC1(48) WRITE(GRPRSM,1908) KSEC1(49) WRITE(GRPRSM,1909) KSEC1(50) GOTO 900 ENDIF C C ECMWF Local definition 20. C (4D variational increments) C IF (KSEC1(37).EQ.20) THEN WRITE(GRPRSM,2001) KSEC1(42) WRITE(GRPRSM,2002) KSEC1(43) GOTO 900 ENDIF C C ECMWF Local definition 21. C (Sensitive area predictions) C IF (KSEC1(37).EQ.21) THEN WRITE(GRPRSM,2101) KSEC1(42) WRITE(GRPRSM,2102) KSEC1(43) WRITE(GRPRSM,2103) KSEC1(44) WRITE(GRPRSM,2104) KSEC1(45) WRITE(GRPRSM,2105) KSEC1(46) WRITE(GRPRSM,2106) KSEC1(47) WRITE(GRPRSM,2107) KSEC1(48) WRITE(GRPRSM,2108) KSEC1(49) WRITE(GRPRSM,2109) KSEC1(50) WRITE(GRPRSM,2110) KSEC1(51) WRITE(GRPRSM,2111) KSEC1(52) WRITE(GRPRSM,2112) KSEC1(53) WRITE(GRPRSM,2113) KSEC1(54) WRITE(GRPRSM,2114) KSEC1(55) WRITE(GRPRSM,2115) KSEC1(56) WRITE(GRPRSM,2116) KSEC1(57) WRITE(HVERSION, '(A8)' ) KSEC1(58) #ifdef LITTLE_ENDIAN WRITE(GRPRSM,2117) HVERSION(5:5) #else WRITE(GRPRSM,2117) HVERSION(8:8) #endif WRITE(GRPRSM,2118) KSEC1(59) WRITE(GRPRSM,2119) KSEC1(60) WRITE(GRPRSM,2120) KSEC1(61) GOTO 900 ENDIF C C ECMWF Local definition 22. C (Couple atmospheric, wave and ocean models) C IF (KSEC1(37).EQ.22) THEN WRITE(GRPRSM,1501) KSEC1(42) WRITE(GRPRSM,1504) KSEC1(43) WRITE(GRPRSM,1502) KSEC1(44) WRITE(GRPRSM,1503) KSEC1(45) WRITE(GRPRSM,2201) KSEC1(46) WRITE(GRPRSM,2202) KSEC1(47) WRITE(GRPRSM,2203) KSEC1(48) GOTO 900 ENDIF C C ECMWF Local definition 23. C (Couple atmospheric, wave and ocean means) C IF (KSEC1(37).EQ.23) THEN WRITE(GRPRSM,1501) KSEC1(42) WRITE(GRPRSM,1504) KSEC1(43) WRITE(GRPRSM,1502) KSEC1(44) WRITE(GRPRSM,1503) KSEC1(45) WRITE(GRPRSM,1601) KSEC1(46) WRITE(GRPRSM,1602) KSEC1(47) WRITE(GRPRSM,1603) KSEC1(48) WRITE(GRPRSM,2201) KSEC1(49) WRITE(GRPRSM,2202) KSEC1(50) WRITE(GRPRSM,2203) KSEC1(51) WRITE(GRPRSM,9502) KSEC1(52) WRITE(GRPRSM,9503) KSEC1(53) IF ( KSEC1(53) .NE. 2 ) WRITE(GRPRSM,9504) KSEC1(54) IF ( KSEC1(53) .NE. 1 ) WRITE(GRPRSM,9505) KSEC1(55) C GOTO 900 ENDIF C C ECMWF Local definition 24. C (Couple atmospheric, wave and ocean means) C IF (KSEC1(37).EQ.24) THEN WRITE(GRPRSM,2401) KSEC1(42) WRITE(GRPRSM,2402) KSEC1(43) WRITE(GRPRSM,2403) KSEC1(44) WRITE(GRPRSM,2404) KSEC1(45) GOTO 900 C C ECMWF Local definition 25. C (Couple atmospheric, wave and ocean means) C IF (KSEC1(37).EQ.25) THEN WRITE(GRPRSM,2501) KSEC1(42) WRITE(GRPRSM,2502) KSEC1(43) WRITE(GRPRSM,2503) KSEC1(44) ENDIF C ENDIF C C ECMWF Local definition 50. C (Member State data) C IF (KSEC1(37).EQ.50) THEN WRITE(GRPRSM,5001) KSEC1(42) WRITE(GRPRSM,5002) KSEC1(43) WRITE(GRPRSM,5003) KSEC1(44) WRITE(GRPRSM,5004) KSEC1(45) WRITE(GRPRSM,5005) KSEC1(46) WRITE(GRPRSM,5006) KSEC1(47) WRITE(GRPRSM,5007) KSEC1(48) WRITE(GRPRSM,*) ' ECMWF additions' WRITE(GRPRSM,*) ' ---------------' WRITE(GRPRSM,5008) KSEC1(49) WRITE(GRPRSM,5009) KSEC1(50) WRITE(GRPRSM,5010) (KSEC1(JLOOP),JLOOP=51,60) WRITE(GRPRSM,*) ' Optional data' WRITE(GRPRSM,*) ' -------------' WRITE(GRPRSM,5010) (KSEC1(JLOOP),JLOOP=61,106) GOTO 900 ENDIF C C ECMWF Local definition 191. C (Free format data descriptor) C IF (KSEC1(37).EQ.191) THEN WRITE(GRPRSM,19101) KSEC1(44) WRITE(GRPRSM,19102) KSEC1(45) WRITE(GRPRSM,19103) KSEC1(46) WRITE(GRPRSM,19108) KSEC1(51) WRITE(GRPRSM,*) ' Data descriptor bytes' WRITE(GRPRSM,*) ' ---------------------' DO JLOOP = 52, (51+(KSEC1(51)+JPBYTES-1)/JPBYTES) WRITE(GRPRSM,19109) KSEC1(JLOOP) ENDDO GOTO 900 ENDIF C C ECMWF Local definition not in above selection C (eg defined using templates) C Cjdc CALL LDEFPRT(GRPRSM,KSEC1) C C -----------------------------------------------------------------| C* Section 9 . Format statements. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN C 9000 FORMAT(' ') 9001 FORMAT(' Section 1 - Product Definition Section.') 9002 FORMAT(' ---------------------------------------') 9100 FORMAT(' Code Table 2 Version Number. ',I9) 9101 FORMAT(' Originating centre identifier. ',I9) 9102 FORMAT(' Model identification. ',I9) 9103 FORMAT(' Grid definition. ',I9) 9104 FORMAT(' Flag (Code Table 1) ',I8.8) 9105 FORMAT(' Parameter identifier (Code Table 2). ',I9) 9106 FORMAT(' Type of level (Code Table 3). ',I9) 9107 FORMAT(' Value 1 of level (Code Table 3). ',I9) 9108 FORMAT(' Value 2 of level (Code Table 3). ',I9) 9109 FORMAT(' Year of reference time of data. ',I9,' (',I4,')' ) 9110 FORMAT(' Month of reference time of data. ',I9) 9111 FORMAT(' Day of reference time of data. ',I9) 9112 FORMAT(' Hour of reference time of data. ',I9) 9113 FORMAT(' Minute of reference time of data. ',I9) 9114 FORMAT(' Time unit (Code Table 4). ',I9) 9115 FORMAT(' Time range one. ',I9) 9116 FORMAT(' Time range two. ',I9) 9117 FORMAT(' Time range indicator (Code Table 5) ',I9) 9118 FORMAT(' Number averaged. ',I9) 9119 FORMAT(' Number missing from average. ',I9) 9120 FORMAT(' Century of reference time of data. ',I9) 9121 FORMAT(' Units decimal scaling factor. ',I9) 9122 FORMAT(' Century of reference time of data. Not given') 9123 FORMAT(' Sub-centre identifier. ',I9) 9206 FORMAT(' Satellite identifier. ',I9) 9207 FORMAT(' Spectral band. ',I9) C 9301 FORMAT(' ECMWF local usage identifier. ',I9) 9302 FORMAT(' Class. ',I9) 9303 FORMAT(' Type. ',I9) 9304 FORMAT(' Stream. ',I9) 9305 FORMAT(' Version number or Experiment identifier. ',A1,A1,A1,A1) 9306 FORMAT(' Satellite spectral band. ',I9) 9307 FORMAT(' Function code. ',I9) 9308 FORMAT(' Simulation number. ',I9) 9309 FORMAT(' Total number of simulations. ',I9) 9310 FORMAT(' Forecast number. ',I9) 9311 FORMAT(' Total number of forecasts. ',I9) 9312 FORMAT(' Cluster number. ',I9) 9313 FORMAT(' Total number of clusters. ',I9) 9314 FORMAT(' Clustering method. ',I9) 9315 FORMAT(' Start time step when clustering. ',I9) 9316 FORMAT(' End time step when clustering. ',I9) 9317 FORMAT(' Northern latitude of domain. ',I9) 9318 FORMAT(' Western longitude of domain. ',I9) 9319 FORMAT(' Southern latitude of domain. ',I9) 9320 FORMAT(' Eastern longitude of domain. ',I9) 9321 FORMAT(' Operational forecast in cluster ',I9) 9322 FORMAT(' Number of forecasts in cluster. ',I9) 9323 FORMAT(' Forecast number ',I9) 9324 FORMAT(' Control forecast in cluster ',I9) C C ECMWF Local definition 4. C 9401 FORMAT(' System number. ',I9) 9402 FORMAT(' Method number. ',I9) 9403 FORMAT(' Space unit flag. ',I9) 9404 FORMAT(' Vertical coordinate definition. ',I9) 9405 FORMAT(' Horizontal coordinate definition. ',I9) 9406 FORMAT(' Time unit flag. ',I9) 9407 FORMAT(' Time coordinate definition. ',I9) 9408 FORMAT(' Method used for analysis or forecast.',I9) C 9411 FORMAT(' Mixed coordinate field flag. ',I9) 9412 FORMAT(' Coordinate 1 flag. ',I9) 9413 FORMAT(' Averaging flag. ',I9) 9414 FORMAT(' Position of level 1. ',I9) 9415 FORMAT(' Position of level 2. ',I9) 9416 FORMAT(' Coordinate 2 flag. ',I9) C 9421 FORMAT(' Coordinate 3 flag (x-axis) ',I9) 9422 FORMAT(' Coordinate 4 flag (y-axis) ',I9) 9423 FORMAT(' Coordinate 4 of first grid point. ',I10) 9424 FORMAT(' Coordinate 3 of first grid point. ',I10) 9425 FORMAT(' Coordinate 4 of last grid point. ',I10) 9426 FORMAT(' Coordinate 3 of last grid point. ',I10) 9427 FORMAT(' i - increment. ',I9) 9428 FORMAT(' j - increment. ',I9) 9429 FORMAT(' Flag for irregular grid coordinates. ',I9) 9430 FORMAT(' Flag for normal or staggered grids. ',I9) C 9441 FORMAT(' Further information flag. ',I9) C 9451 FORMAT(' No. entries in horizontal coordinate ',I9) 9452 FORMAT(' No. entries in mixed coordinate defn.',I9) 9453 FORMAT(' No. entries in grid coordinate list. ',I9) 9454 FORMAT(' No. entries in auxiliary array. ',I9) C 9461 FORMAT(' ',I12) 9462 FORMAT(' Reference date ',I9) 9463 FORMAT(' Climate date - from ',I9) 9464 FORMAT(' Climate date - to ',I9) C C ECMWF Local definition 5. C 9500 FORMAT(' Forecast probability number ',I9) 9501 FORMAT(' Total number of forecast probabilities ',I7) 9502 FORMAT(' Threshold units decimal scale factor ',I9) 9503 FORMAT(' Threshold indicator(1=lower,2=upper,3=both) ',I2) 9504 FORMAT(' Lower threshold value ',I9) 9505 FORMAT(' Upper threshold value ',I9) C C ECMWF Local definition 6. C 9601 FORMAT(' Date of SST field used ',I9) 9602 FORMAT(' Type of SST field (= climatology) ',I9) 9603 FORMAT(' Type of SST field (= 1/1 degree) ',I9) 9604 FORMAT(' Type of SST field (= 2/2 degree) ',I9) 9605 FORMAT(' Number of ICE fields used: ',I9) 9606 FORMAT(' Date of ICE field',I3,' ',I9) 9607 FORMAT(' Satellite number (ICE field',I3,') ',I9) C C ECMWF Local definition 7. C 9700 FORMAT(' Forecast number ',I9) 9701 FORMAT(' Iteration number ',I9) 9702 FORMAT(' Total number of diagnostics ',I9) 9703 FORMAT(' No.interations in diag. minimisation ',I9) 9704 FORMAT(' Domain(0=Global,1=Europe,2=N.Hem.,3=S.Hem.) ',I2) 9705 FORMAT(' Diagnostic number ',I9) C C ECMWF Local definition 8. C 9800 FORMAT(' ERA section 1 octet ',I2,'. ',I9) 9801 FORMAT(' Interval between reference times ',I9) C C ECMWF Local definition 9. C 9943 FORMAT(' Number of iterations ',I9) 9944 FORMAT(' Number of singular vectors computed ',I9) 9945 FORMAT(' Norm used at initial time ',I9) 9946 FORMAT(' Norm used at final time ',I9) 9947 FORMAT(' Multiplication factor ',I9) 9948 FORMAT(' Latitude of north-west corner ',I9) 9949 FORMAT(' Longitude of north-west corner ',I9) 9950 FORMAT(' Latitude of south-east corner ',I9) 9951 FORMAT(' Longitude of south-east corner ',I9) 9952 FORMAT(' Accuracy ',I9) 9953 FORMAT(' Number of singular vectors evolved ',I9) 9954 FORMAT(' Ritz number one ',I9) 9955 FORMAT(' Ritz number two ',I9) 9960 FORMAT(' Perturbed ensemble forecast number ',I9) 9961 FORMAT(' Initial state perturbation number ',I9) 9962 FORMAT(' Singular vector number ',I9) C C ECMWF Local definition 10. C 1001 FORMAT(' Tube number ',I9) 1002 FORMAT(' Total number of tubes ',I9) 1003 FORMAT(' Central cluster definition ',I9) 1004 FORMAT(' Parameter ',I9) 1005 FORMAT(' Type of level ',I9) 1006 FORMAT(' Northern latitude of domain of tubing',I9) 1007 FORMAT(' Western longitude of domain of tubing',I9) 1008 FORMAT(' Southern latitude of domain of tubing',I9) 1009 FORMAT(' Eastern longitude of domain of tubing',I9) 1010 FORMAT(' Tube number of operational forecast ',I9) 1011 FORMAT(' Tube number of control forecast ',I9) 1012 FORMAT(' Height/pressure of level ',I9) 1013 FORMAT(' Reference step ',I9) 1014 FORMAT(' Radius of central cluster ',I9) 1015 FORMAT(' Ensemble standard deviation ',I9) 1016 FORMAT(' Dist.of tube extreme to ensemble mean',I9) 1017 FORMAT(' Number of forecasts in the tube ',I9) 1018 FORMAT(' List of ensemble forecast numbers:') 1019 FORMAT(' ',I9) C C ECMWF Local definition 11. C 1101 FORMAT(' Details of analysis which used the supplementary data:') 1103 FORMAT(' Class ',I9) 1104 FORMAT(' Type ',I9) 1105 FORMAT(' Stream ',I9) 1106 FORMAT(' Version number/experiment identifier: ',A1,A1,A1,A1) 1107 FORMAT(' Year ',I9,' (',I4,')') 1108 FORMAT(' Month ',I9) 1109 FORMAT(' Day ',I9) 1110 FORMAT(' Hour ',I9) 1111 FORMAT(' Minute ',I9) 1112 FORMAT(' Century ',I9) 1113 FORMAT(' Originating centre ',I9) 1114 FORMAT(' Sub-centre ',I9) C C ECMWF Local definition 12. C 1201 FORMAT(' (Mean, average, etc)') 1203 FORMAT(' Start date of the period ', I8) 1204 FORMAT(' Start time of the period ', I4.4) 1205 FORMAT(' Finish date of the period ', I8) 1206 FORMAT(' Finish time of the period ', I4.4) 1207 FORMAT(' Verifying date of the period ', I8) 1208 FORMAT(' Verifying time of the period ', I4.4) 1209 FORMAT(' Code showing method ', I8) 1210 FORMAT(' Number of different time intervals used ', I5) 1211 FORMAT(' List of different time intervals used:') 1212 FORMAT(' - interval ',I5.4, ' used once') 1213 FORMAT(' - interval ',I5.4, ' used twice') 1214 FORMAT(' - interval ',I5.4, ' used ', I5, ' times') C C ECMWF Local definition 13. C 1301 FORMAT(' Direction number ',I9) 1302 FORMAT(' Frequency number ',I9) 1303 FORMAT(' Total number of directions ',I9) 1304 FORMAT(' Total number of frequencies ',I9) 1305 FORMAT(' Scale factor applied to directions ',I9) 1306 FORMAT(' Scale factor applied to frequencies ',I9) 1307 FORMAT(' List of directions:') 1308 FORMAT(' ', I2.2,':', F15.7, ' <-- this field value') 1309 FORMAT(' ', I2.2,':', F15.7) 1310 FORMAT(' List of frequencies:') 1311 FORMAT(' System number (65535 = missing) ',I9) 1312 FORMAT(' Method number (65535 = missing) ',I9) 1313 FORMAT(' Reference date ',I9) 1314 FORMAT(' Climate date (from) ',I9) 1315 FORMAT(' Climate date (to) ',I9) C C ECMWF Local definition 14. C 1401 FORMAT(' Channel number ',I9) 1402 FORMAT(' Scale factor applied to frequencies ',I9) 1403 FORMAT(' Total number of frequencies ',I9) 1404 FORMAT(' List of frequencies:') 1405 FORMAT(' ', I3,':', F15.9, ' <-- this channel') 1406 FORMAT(' ', I3,':', F15.9) C C ECMWF Local definition 15. C 1501 FORMAT(' Ensemble member number ',I9) 1502 FORMAT(' System number ',I9) 1503 FORMAT(' Method number ',I9) 1504 FORMAT(' Total number of ensembles ',I9) C C ECMWF Local definition 16. C 1601 FORMAT(' Verifying month ',I9) 1602 FORMAT(' Averaging period ',I9) 1603 FORMAT(' Forecast month (0 = not present) ',I9) C C ECMWF Local definition 17. C 1701 FORMAT(' Date of sst/ice field used ',I9) 1702 FORMAT(' Type of sst/ice field (= climatology)',I9) 1703 FORMAT(' Type of sst/ice field (= 1/1 degree) ',I9) 1704 FORMAT(' Type of sst/ice field (= 2/2 degree) ',I9) 1705 FORMAT(' Number of ICE fields used: ',I9) 1706 FORMAT(' Date of ICE field',I3,' ',I9) 1707 FORMAT(' Satellite number (ICE field',I3,') ',I9) C C ECMWF Local definition 18. C 1801 FORMAT(' Ensemble forecast number ',I9) 1802 FORMAT(' Number of forecasts in ensemble ',I9) 1803 FORMAT(' Data origin ',I9) 1804 FORMAT(' Model identifier of forecast used ',A1,A1,A1,A1) 1805 FORMAT(' Number of analyses in start analysis ',I9) 1806 FORMAT(' ',A1,A1,A1,A1) C C ECMWF Local definition 19. C 1901 FORMAT(' Zero, for Mars compatibility ',I9) 1902 FORMAT(' Ensemble size ',I9) 1903 FORMAT(' Power of 10 used to scale weight (F) ',I9) 1904 FORMAT(' Weight*10**F applied to climate month 1',I7) 1905 FORMAT(' First month used for climate month 1 ',I9) 1906 FORMAT(' Last month used for climate month 1 ',I9) 1907 FORMAT(' First month used for climate month 2 ',I9) 1908 FORMAT(' Last month used for climate month 2 ',I9) 1909 FORMAT(' EFI order ',I9) C C ECMWF Local definition 20. C 2001 FORMAT(' Iteration ',I9) 2002 FORMAT(' Total number of iterations ',I9) C C ECMWF Local definition 21. C 2101 FORMAT(' Forecast/sing.vector/flight number ',I9) 2102 FORMAT(' Number of iterations ',I9) 2103 FORMAT(' Number of singular vectors computed ',I9) 2104 FORMAT(' Norm used at initial time ',I9) 2105 FORMAT(' Norm used at final time ',I9) 2106 FORMAT(' Lat-lon multiplication factor ',I9) 2107 FORMAT(' Area north-west latitude ',I9) 2108 FORMAT(' Area north-west longitude ',I9) 2109 FORMAT(' Area south-east latitude ',I9) 2110 FORMAT(' Area south-east longitude ',I9) 2111 FORMAT(' Accuracy ',I9) 2112 FORMAT(' Number of singular vectors evolved ',I9) 2113 FORMAT(' Ritz number 1 ',I9) 2114 FORMAT(' Ritz number 2 ',I9) 2115 FORMAT(' Observation offset period ',I9) 2116 FORMAT(' Forecast lead time ',I9) 2117 FORMAT(' Domain ',A1) 2118 FORMAT(' Method number ',I9) 2119 FORMAT(' Total forecasts in ensemble ',I9) 2120 FORMAT(' Shape of verification region (flag) ',I9) C C ECMWF Local definition 22 and 23. C 2201 FORMAT(' Reference date ',I9) 2202 FORMAT(' Climate date (from) ',I9) 2203 FORMAT(' Climate date (to) ',I9) C C ECMWF Local definition 24 C 2401 FORMAT(' Satellite identifier (WMO table C-5)',I9) 2402 FORMAT(' Instrument identifier (WMO table C-8)',I9) 2403 FORMAT(' Channel number ',I9) 2404 FORMAT(' Function code ',I9) C C ECMWF Local definition 25 C 2501 FORMAT(' Component index ',I9) 2502 FORMAT(' Number of components ',I9) 2503 FORMAT(' Model error type ',I9) C C ECMWF Local definition 50. C 5001 FORMAT(' Number ',I9) 5002 FORMAT(' Total ',I9) 5003 FORMAT(' Model identifier ',I9) 5004 FORMAT(' Latitude of NW corner (degrees*10^6) ',I9) 5005 FORMAT(' Longitude of NW corner(degrees*10^6) ',I9) 5006 FORMAT(' Latitude of SE corner (degrees*10^6) ',I9) 5007 FORMAT(' Longitude of SE corner(degrees*10^6) ',I9) 5008 FORMAT(' Original parameter number ',I9) 5009 FORMAT(' Original parameter table number ',I9) 5010 FORMAT(10(1X,Z8.8)) C C ECMWF Local definition 190. C 19001 FORMAT(' Number of ECMWF local definitions ',I9) 19002 FORMAT(' ECMWF local definition number ',I9) 19003 FORMAT(' Number of bytes in local definition ',I9) #ifdef INTEGER_8 19004 FORMAT(3X,Z16.16) #else 19004 FORMAT(3X,Z8.8) #endif C C ECMWF Local definition 191. C 19101 FORMAT(' Format version major number ',I9) 19102 FORMAT(' Format version minor number ',I9) 19103 FORMAT(' Original sub-centre identifier ',I9) 19108 FORMAT(' Number of bytes of data descriptor ',I9) #ifdef INTEGER_8 19109 FORMAT(3X,Z16.16) #else 19109 FORMAT(3X,Z8.8) #endif C END emoslib-000392+dfsg.1/gribex/gbytes.F0000755000175000017500000000554412127406245020355 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GBYTES (S,D,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C----> C**** GBYTES - Extract a number of bit fields. Cray routine. C C S CONTAINS A BIT STRING OF INDEFINITE LENGTH. GBYTES WILL C EXTRACT NBYTES BITSTRINGS, IBSIZ BITS LONG, AND STORE THEM C RIGHT JUSTIFIED 0 FILL, INTO SUCCESSIVE WORDS OF D. THE C SUCCESSIVE BITSTRINGS START AT BIT POSITIONS C ISKIP1+1+(IBYTE-1)*(IBSIZ+ISKIP2) C IN THE BIT STRING S. I.E. SKIP ISKIP1 BITS AT THE START, C AND ISKIP2 BITS BETWEEN THE EXTRACTED STRINGS. C BIT ISKP+1 IN A STRING IS FOUND IN WORD IS=1+ISKIP/NBPW IN S, C WHERE NBPW IS THE NUMBER OF BITS PER WORD. THE STARTING BIT C IS FOUND BY SKIPPING MOD(ISKP,NBPW) BITS IN THAT WORD. C KWOFF IS AN OPTIONAL 7TH PARAMETER, WHICH DEFAULTS TO 0 C IF PRESENT KWOFF BITS ARE TOTALLY IGNORED AT THE START OF A WORD C THUS IF A PACKED CYBER BIT STRING IS TRANSFERRED TO THE C CRAY, WITH EACH 60 BIT CYBER WORD PLACED AT THE RIGHT END OF C A 64 BIT CRAY WORD, A BYTE SEQUENCE WHICH WAS ORIGINALLY C LOCATED WITH START POINTS IN ARITHMETIC PROGRESSION ON THE C CYBER, WILL NO LONGER HAVE THIS PROPERTY ON THE CRAY. BY C USING THE ROUTINE WITH KWOFF=4, THE ELEMENTS OF THE BYTE C SEQUENCE CAN BE EXTRACTED ON THE CRAY, USING THE SAME SKIPS C AS WERE USED ON THE CYBER. C C----< PARAMETER(NBPW=64) DIMENSION S(2) , D(NBYTES) INTEGER SH1 IGNORE = 0 #ifdef CRAY IF(NUMARG().GT.6) IGNORE = KWOFF #else IF(NUMARG(DUMMY).GT.6) IGNORE = KWOFF #endif IS=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION DETERMINED, THE C DESIRED EXTRACTION CAN BE DONE BY C*** CALL GBYTE(S(IS),D(IBYTE),ISKIP,IBSIZ) C BUT SINCE THE CODE IS SHORT IT IS INSERTED IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 C BYTE COMES FROM 1 WORD OF S D(IBYTE) = AND( SHIFT(S(IS),SH1),SHIFT(MASK(IBSIZ),IBSIZ)) GO TO 65 50 CONTINUE SH1 =SH1-NBPW C BYTE COMES FROM 2 WORDS OF S. D(IBYTE) = OR(SHIFT(AND(S(IS),COMPL(MASK(ISKIP))),SH1) 1 , 2 SHIFT(AND(SHIFT(S(IS+1),IGNORE),MASK(SH1)),SH1) 3 ) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP =ISKIP-NBPW IS = IS+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/ecdef15.h0000755000175000017500000000571212127406245020333 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 15. C C Seasonal forecast atmosphere data. C ---------------------------------- C C C 38 Class : 1 = Operations C 2 = Research C C 39 Type : 1 = First Guess C 2 = Analysis C 3 = Initialised analysis C 4 = OI analysis C 5 = 3 D variational analysis C 6 = 4 D variational analysis C 7 = 3 D variational gradients C 8 = 4 D variational gradients C 9 = Forecast C 10 = Control forecast C 11 = Perturbed forecast C 12 = Errors in first guess C 13 = Errors in analysis C 14 = Cluster means C 15 = Cluster standard deviations. C 20 = Climatology C 30 = Observations C 31 = Quality control C 32 = Difference statistics C 40 = Image data C C 40 Stream : 1090 = ECMWF seasonal forecasts C C 41 Expver : Version number/experiment identifier. C ( 4 Ascii characters, right justified) C C 42 Number : Ensemble member number. C Control forecast is number 0, C perturbed forecasts 1-nn. C C 43 Zero C C 44 System number: the "scientific version" number. C C 0 = RD experiment C 1 - 65534 = operational version number C 65535 = missing C C 45 Method number: distinguishes scientifically different C forecast ensembles (eg different C calibration/bias correction) C C 0 = control integration (ie without data assimilation) C 1 - 65534 = operational version number C 65535 = missing C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/ecdef16.h0000755000175000017500000000500712127406245020331 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 16. C C Seasonal forecast monthly mean data. C ------------------------------------ C C Octet KSEC1(n) C ----- -------- C C 41 37 16 = ECMWF seasonal forecast monthly mean data C C 42 38 Class : 1 = Operations C 2 = Research C C 43 39 Type : 80 = Forecast seasonal mean C 81 = Forecast seasonal maximum C 82 = Forecast seasonal minimum C 83 = Forecast seasonal standard C deviation C C 44-45 40 Stream : 1091 = ECMWF seasonal forecast C monthly means C C 46-49 41 Expver : Version number/experiment identifier C (4 Ascii characters, right justified) C C 50-51 42 Number : Ensemble member number. C Control forecast is number 0, C perturbed forecasts 1-nn. C C 43 Zero (for compatibity with ensemble numering) C C 52-53 44 System number: the "scientific version" number. C 0 = RD experiment C 1 - 65534 = operational version number C 65535 = missing C C 54-55 45 Method number: C distinguishes scientifically different C forecast ensembles C (eg different calibration/bias correction) C 0 = control integration (without data C assimilation) C 1 - 65534 = operational version number C 65535 = missing C C 56-59 46 Verifying month (in format YYYYMM) C C 60 47 Averaging period (eg 6-hour, 24-hour) C C 61-80 Spare (set to zero) C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/gscale.F0000755000175000017500000001447512127406245020321 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION GSCALE( PDATA, KTRUNC, KSTART, IPOWER, HOPT) C C----> C**** GSCALE C C Purpose. C -------- C C Pre- or post-scales spherical harmonic coefficents in GRIB scaling C and packing. C C C** Interface. C ---------- C C IRET = GSCALE(PDATA, KTRUNC, KSTART, IPOWER, HOPT) C C C Input Parameters. C ----------------- C C PDATA - Array of floating point values. C KTRUNC - Truncation of the spherical harmonic coefficients. C KSTART - Number indicating truncation after which to start. C IPOWER - Power to use when scaling coefficients(*1000). C HOPT - Selects pre- or post scaling C = 'I' for pre-scaling C = 'O' for post-scaling C C C Output Parameters. C ----------------- C C PDATA - Array with values changed. C C C Method. C ------- C C <-- n --> (n = 0 to m) C C | C C Given numbers: cccccccc|cccccc ^ C cccccc|cccccc | C cccc|cccccc | C cc|cccccc m (m = 0 to KTRUNC) C |cccccc | C cccc | C cc v C C C Operates on values : |cccccc C |cccccc C |cccccc C |cccccc C |cccccc C cccc C cc C C C C A scale factor is applied to the values. The factor is C C n(n+1)^^p for pre-scaling C 1 / n(n+1)^^p for post-scaling C C where p = IPOWER/1000. C C C Externals. C ---------- C C None C C C Reference. C ---------- C C None. C C C Comments. C -------- C C None. C C C Author. C ------- C C J.D.Chambers ECMWF 20:04:94 C C C Modifications. C _____________ C C J.D.Chambers ECMWF Feb 1997 C Allow for 64-bit pointers C C J. Clochard, Meteo France, for ECMWF - January 1998. C Call to FLOAT replaced by REAL. C C J.D.Chambers ECMWF July 2000 C Run loops calculating power factors in SCALAR on VPPs to C eliminate differences due to vetorisation. C C S.Curic ECMWF April 2005 C Change value of JPMXTRC in order to handle truncation T2047 C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JPBYTES, JPMXTRC #ifdef REAL_8 PARAMETER (JPBYTES = 8) #else PARAMETER (JPBYTES = 4) #endif PARAMETER (JPMXTRC = 2048) C C Subroutine arguments C INTEGER KTRUNC, KSTART, IPOWER REAL PDATA DIMENSION PDATA(*) CHARACTER*1 HOPT C C Local variables. C INTEGER N, M, INDEX REAL FACTOR, POWER DIMENSION FACTOR(JPMXTRC) C C Externals C C -----------------------------------------------------------------| C* Section 1 . Check for valid truncation and start values. C -----------------------------------------------------------------| C 100 CONTINUE C GSCALE = 0 IF( (IPOWER.LT.-10000).OR.(IPOWER.GT.10000) ) THEN WRITE(GRPRSM,*) ' GSCALE - Invalid power given = ', IPOWER GSCALE = 16600 GOTO 900 ENDIF C IF( (KTRUNC.LT.0).OR.(KTRUNC.GT.JPMXTRC) ) THEN WRITE(GRPRSM,*) ' GSCALE - cannot handle truncation = ', KTRUNC GSCALE = 16601 GOTO 900 ENDIF C IF( (HOPT.NE.'I').AND.(HOPT.NE.'O') ) THEN WRITE(GRPRSM,*) ' GSCALE - Invalid option given = ', HOPT GSCALE = 16602 GOTO 900 ENDIF C IF( KSTART.GT.KTRUNC ) THEN WRITE(GRPRSM,*) ' GSCALE - Invalid start/truncation given' WRITE(GRPRSM,*) ' GSCALE - KSTART, KTRUNC =', KSTART, KTRUNC GSCALE = 16603 GOTO 900 ENDIF C C Setup scaling factors = n(n+1)^^p, for n = 1 to KTRUNC C IF( IPOWER.EQ.0 ) GOTO 900 POWER = REAL(IPOWER) / 1000.0 FACTOR(1) = 1.0 C C 'I' option -> multiply by the factors C 'O' option -> divide by the factors C IF( HOPT.EQ.'I' ) THEN #ifdef FUJITSU !OCL SCALAR #endif DO N = 1 , KTRUNC IF( IPOWER.NE.1000 ) THEN FACTOR(N+1) = REAL(N * (N+1) )**POWER ELSE FACTOR(N+1) = REAL(N * (N + 1)) ENDIF ENDDO ELSE #ifdef FUJITSU !OCL SCALAR #endif DO N = 1 , KTRUNC IF( IPOWER.NE.1000 ) THEN FACTOR(N+1) = 1.0 / REAL(N * (N+1) )**POWER ELSE FACTOR(N+1) = 1.0 / REAL(N * (N + 1)) ENDIF ENDDO ENDIF C C -----------------------------------------------------------------| C* Section 2 . Scale the values. C -----------------------------------------------------------------| C 200 CONTINUE C C Handle values 2 at a time (real and imaginary parts) C INDEX = -1 DO M = 0 , KSTART-1 DO N = M , KTRUNC INDEX = INDEX + 2 IF( N.GE.KSTART ) THEN PDATA(INDEX) = PDATA(INDEX) * FACTOR(N+1) PDATA(INDEX+1) = PDATA(INDEX+1) * FACTOR(N+1) ENDIF ENDDO ENDDO C DO M = KSTART , KTRUNC DO N = M , KTRUNC INDEX = INDEX + 2 PDATA(INDEX) = PDATA(INDEX) * FACTOR(N+1) PDATA(INDEX+1) = PDATA(INDEX+1) * FACTOR(N+1) ENDDO ENDDO C C -----------------------------------------------------------------| C* Section 9. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/sortf.F0000755000175000017500000001414312127406245020210 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE SORTF (UN1,UN2,IRET) C C----> C********************************************************************** C* * C* NAME : SORTF * C* * C* FUNCTION : SORTS FIELDS IN A FILE IN ASCENDING ORDER * C* * C* INPUT : UN1 = INPUT LUN * C* UN2 = OUTPUT LUN * C* * C* OUTPUT : IRET = -10 INSUFFICENT BUFFER LENGTH * C* = -100 BUFFER IN ERROR * C* = -200 BUFFER OUT ERROR * C* = -300 UNRECOGNISED LEVEL TYPE. C* = -400 LEVEL SEQUENCE ERROR. C* > 0 NO. OF FIELDS WRITTEN * C* < 0 ERROR CODES FROM SUBROUTINES. * C* * C* GENERAL : SORTF CALLS RECLEN * C* SORT * C* * C* AUTHOR : B.V. GURETZKY 16.07.85 * C* * C* MOFIFIED : J. HENNESSY 26.11.85 * C J. HENNESSY 23.03.87 C* * C********************************************************************** C----< C IMPLICIT INTEGER (B,R,U) PARAMETER (BLEN=500000) DIMENSION BUF(BLEN) C C NO OF BITS PER WORD DATA NBIT /64/ C DATA IPR /1/ C C IRET = 0 IB = 0 LEN = 0 NOF = -1 RECNO = 0 ICODE = 0 INTER = 0 C SKIP TO END OF FILE AND CHECK LAST FIELD. C DO 2000 J = 1,10000 BUFFER IN (UN1,0) (BUF(1),BUF(BLEN)) IUNIT = UNIT(UN1) IF (UNIT(UN1)) 1000,2500,10000 1000 CONTINUE RECNO = RECNO + 1 2000 CONTINUE C C IF LAST FIELD IS LN SURFACE PRESSURE OR BUDGET VALUE C RECORD, WRITE TO OUTPUT FILE. C 2500 CALL RECLEN (BUF(1),LEN,NBIT,ICODE,INDIC,LEVEL,JERR) IF (JERR.NE.0) C THEN IRET = JERR RETURN ENDIF C C IDENTIFY LEVEL TYPE FOR SEQUENCE CHECKING PURPOSES. C C SURFACE DATA. C IF (INDIC.EQ.1) C THEN INTER = 0 ITYPE = 0 GO TO 2600 ENDIF C C PRESSURE LEVEL DATA. C IF (INDIC.EQ.100) C THEN INTER = 9999 ITYPE = 1 GO TO 2600 ENDIF C C MODEL LEVEL DATA. C IF (INDIC.EQ.109) C THEN INTER = 0 ITYPE = 2 GO TO 2600 ENDIF C C INVALID LEVEL TYPE. C IRET = -300 WRITE (*,9001) INDIC 9001 FORMAT (1H ,'SORTF : INVALID LEVEL TYPE - ',I3) RETURN C 2600 CONTINUE C IF (ICODE.EQ.152.OR.ICODE.EQ.128) C THEN IRET = IRET + 1 LEN = LEN / 8 RECNO = RECNO - 1 BUFFER OUT (UN2,0) (BUF(1),BUF(LEN)) IUNIT = UNIT(UN2) IF (IPR.EQ.1) WRITE (*,9101) LEVEL,ICODE 9101 FORMAT (1H ,'LEVEL ',I5,' FIELD ',I5) IF (IUNIT.GT.0) GO TO 10500 ENDIF C REWIND UN1 C C START AGAIN AT BEGINNING OF FILE FOR OTHER FIELDS. C DO 5000 J = 1,RECNO C C READ AS MANY FIELDS AS POSSIBLE INTO MEMORY. C LEVEL = INTER BUFFER IN (UN1,0) (BUF(IB+1),BUF(BLEN)) IUNIT = UNIT(UN1) IF (UNIT(UN1)) 3000,5500,10000 3000 CONTINUE NOF = NOF + 1 C C IF LEVEL CHANGES THEN SORT PREVIOUS FIELDS. C CALL RECLEN (BUF(IB+1),LEN,NBIT,ICODE,INDIC,INTER,JERR) IF (JERR.NE.0) C THEN IRET = JERR RETURN ENDIF C LEN = LENGTH(UN1) IF ((INTER.NE.LEVEL).AND.(J.GT.1)) C THEN C C FIRST CHECK THAT LEVEL SEQUENCE IS CORRECT. C IF ( (ITYPE.EQ.1.AND.INTER.GT.LEVEL) .OR. C (ITYPE.EQ.2.AND.INTER.LT.LEVEL) ) C THEN IRET = - 400 WRITE (*,9002) 9002 FORMAT (1H ,'SORTF : LEVEL SEQUENCE ERROR.') RETURN ENDIF C C SORT FIELDS C CALL SORT (BUF(1),NOF,UN2,IRET,NBIT) IF (IRET.LE.0) RETURN C C MOVE LAST FIELD TO BUFFER START C NOF = 0 DO 4000 K = 1,LEN BUF(K) = BUF(IB+K) 4000 CONTINUE IB = 0 C ENDIF C C CHECK BUFFER LIMITS C IB = IB + LEN IF (IB+LEN.GT.BLEN) C THEN IRET = -10 WRITE (*,9000) J 9000 FORMAT (' SORTF : NOT ENOUGH MEMORY FOR FIELD :',I4.4) RETURN ENDIF C C 5000 CONTINUE C C SORT LAST SET OF FIELDS. C 5500 NOF = NOF + 1 CALL SORT (BUF(1),NOF,UN2,IRET,NBIT) C RETURN C 10000 CONTINUE IRET = -100 WRITE (*,*) ' SORTF : BUFFER IN ERROR' RETURN C 10500 CONTINUE IRET = -200 WRITE (*,*) ' SORTF : BUFFER OUT ERROR' RETURN C END emoslib-000392+dfsg.1/gribex/getfpd.F0000755000175000017500000001073712127406245020331 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETFPD (KFPD,PFPD,KLEN,KARAY,KPR,KRET) C C----> C**** GETFPD - Extract data from unpacked GRIB record. C C Purpose. C -------- C C Get floating point data from record of unpacked GRIB C or Pseudo-grib data. C C** Interface. C ---------- C C CALL GETFPD (KFPD,PFPD,KLEN,KARAY,KPR,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input parameters. C ----------------- C C PFPD - Array to receive floating point data. C KLEN - Length of this array. C KARAY - Array containing unpacked record. C C C KPR - Debug print switch. C 0 , No printout. C 1 , Debug printout. C C KRET - Abort/no abort when error found. C 0 , Abort if error found. C Non-zero , no abort on error. C C Output parameters. C ------------------ C C KRET - Error return code. C 0 , No error encountered. C 1 , Target array too small. C C PFPD - Floating point data. C KFPD - Number of values in this array. C C Method. C ------- C C Unpacked data is in self-defining records. The required C values are located and extracted. C C Externals. C ---------- C C None. C C Reference. C ---------- C C See MARS format documentation re GRIB, Pseudo-grib and C unpacked record formats. C C Comments. C --------- C C Routine contains sections 0 to 2 and section 9. C C Author. C ------- C C J. Hennessy ECMWF 18:06:86. C C Modifications C -------------- C C None. C C ---------------------------------------------------------------- C----> C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C DIMENSION KARAY(*) DIMENSION PFPD(KLEN) C EQUIVALENCE (IVAL,ZVAL) C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 1 . SET INITIAL VALUES. CHECK INPUT PARAMETERS. C ---------------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETFPD : SECTION 1.' C IRET = KRET KRET = 0 C C C* GO TO SECTION 9 , IF ERROR IN PARAMETERS. C IF (KRET.NE.0) GO TO 9000 C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 2 . LOCATE AND EXTRACT VALUES. C ---------------------------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETFPD : SECTION 2.' C ILB1 = KARAY(2) ILB2 = KARAY(2+ILB1+1) ILF2 = KARAY(2+ILB1+1+ILB2+1) ILB3 = KARAY(2+ILB1+1+ILB2+1+ILF2+1) ILCD = KARAY(2+ILB1+1+ILB2+1+ILF2+1+ILB3+1) KFPD = KARAY(2+ILB1+1+ILB2+1+ILF2+1+ILB3+1+ILCD+1) C IF (KLEN.LT.KFPD) C THEN KRET = 1 WRITE (*,9001) KRET , KFPD GO TO 9000 ENDIF C DO 2010 J=1,KFPD IVAL = KARAY(J+2+ILB1+1+ILB2+1+ILF2+1+ILB3+1+ILCD+1) PFPD(J) = ZVAL 2010 CONTINUE C C C ---------------------------------------------------------------- C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE OR ABORT. FORMAT STATEMENTS. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETFPD : SECTION 9.' C IF (KRET.NE.0.AND.IRET.EQ.0) CALL ABORT C RETURN C C 9001 FORMAT (1H ,'GETFPD : ERROR CODE = ',I3,'. TARGET ARRAY MUST ', C 'BE AT LEAST ',I5,' WORDS LONG.') C C C --------------------------------------------------------------- C C END C emoslib-000392+dfsg.1/gribex/fortranInterface.c0000755000175000017500000003701012127406245022402 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include "handleLocalDefinitions.h" #include "fortint.h" #include "grib_int_t.h" typedef struct knownActions { int count; int * numbers; action ** actions; } knownActions; knownActions known = {0,NULL,NULL}; int definitionIsDefined(struct knownActions * known, fortint number) { int loop; grib_int_t Number = (grib_int_t) number; for( loop = 0; loop < known->count; loop++ ) { if( known->numbers[loop] == (int)number ) return loop; } known->count++; known->numbers = (int*) realloc(known->numbers,known->count*sizeof(int)); if( known->numbers == NULL ) return -1; known->actions = (action**) realloc(known->actions, known->count*sizeof(action*)); if( known->actions == NULL ) return -1; known->numbers[known->count-1] = (int) number; known->actions[known->count-1] = createLocalDefinitionHandler(Number); if( known->actions[known->count-1] == NULL ) return -1; return (known->count-1); } void decodeLocalDefinition( fortint localDefinitionNumber, fortint* packedValues, fortint* unpackedValues, fortint* numberOfUnpackedIntegers, fortint* numberOfPackedBytes) { int listPosition, loop; unsigned char* packedValuesBytes = (unsigned char*) packedValues; grib_int_t UnpackedValues[1024]; grib_int_t NumberOfUnpackedIntegers; grib_int_t NumberOfPackedBytes; listPosition = definitionIsDefined(&known,localDefinitionNumber); if( listPosition == -1 ) { *numberOfPackedBytes = 0; return; } decodeLocalDefinitionValues(known.actions[listPosition], packedValuesBytes,UnpackedValues, &NumberOfUnpackedIntegers, &NumberOfPackedBytes); *numberOfUnpackedIntegers = NumberOfUnpackedIntegers; *numberOfPackedBytes = NumberOfPackedBytes; for( loop = 0; loop < NumberOfUnpackedIntegers; loop++ ) *(unpackedValues+loop) = (fortint) UnpackedValues[loop]; return; } void dldefs( fortint* localDefinitionNumber, fortint* packedValues, fortint* unpackedValues, fortint* numberOfUnpackedIntegers, fortint* numberOfPackedBytes) { decodeLocalDefinition(*localDefinitionNumber,packedValues,unpackedValues, numberOfUnpackedIntegers,numberOfPackedBytes); return; } fortint dldefs_( fortint* localDefinitionNumber, fortint* packedValues, fortint* unpackedValues, fortint* numberOfUnpackedIntegers, fortint* numberOfPackedBytes) { decodeLocalDefinition(*localDefinitionNumber,packedValues,unpackedValues, numberOfUnpackedIntegers,numberOfPackedBytes); return; } void encodeLocalDefinition( fortint localDefinitionNumber, fortint* unpackedValues, fortint* packedValues, fortint* numberOfUnpackedIntegers, fortint* numberOfPackedBytes) { int listPosition, loop; unsigned char* packedValuesBytes = (unsigned char*) packedValues; grib_int_t UnpackedValues[1024]; grib_int_t NumberOfUnpackedIntegers; grib_int_t NumberOfPackedBytes; listPosition = definitionIsDefined(&known,localDefinitionNumber); if( listPosition == -1 ) { *numberOfPackedBytes = 0; return; } for( loop = 0; loop < 1024; loop++ ) UnpackedValues[loop] = (grib_int_t) *(unpackedValues+loop); encodeLocalDefinitionValues(known.actions[listPosition], UnpackedValues,packedValuesBytes, &NumberOfUnpackedIntegers, &NumberOfPackedBytes); *numberOfUnpackedIntegers = NumberOfUnpackedIntegers; *numberOfPackedBytes = NumberOfPackedBytes; return; } fortint eldefs( fortint* localDefinitionNumber, fortint* unpackedValues, fortint* packedValues, fortint* numberOfUnpackedIntegers, fortint* numberOfPackedBytes) { encodeLocalDefinition(*localDefinitionNumber,unpackedValues,packedValues, numberOfUnpackedIntegers,numberOfPackedBytes); } fortint eldefs_( fortint* localDefinitionNumber, fortint* unpackedValues, fortint* packedValues, fortint* numberOfUnpackedIntegers, fortint* numberOfPackedBytes) { encodeLocalDefinition(*localDefinitionNumber,unpackedValues,packedValues, numberOfUnpackedIntegers,numberOfPackedBytes); } void insertSection1Length(fortint* section1, fortint* length) { unsigned char* psection1 = (unsigned char*) section1; unsigned char section1Length[3] = {'\0','\0','\0'}; fortint Length = *length; section1Length[0] = (Length & 0xff0000) >> 16; section1Length[1] = (Length & 0xff00) >> 8; section1Length[2] = (Length & 0xff); memcpy((psection1+8),section1Length,3); return; } void isec1l_(fortint* section1, fortint* length) { insertSection1Length(section1,length); return; } void isec1l(fortint* section1, fortint* length) { insertSection1Length(section1,length); return; } fortint ldefnum(fortint* centre, fortint* subcentre, fortint* number) { int shift = (sizeof(fortint)-1)*8; #ifdef LITTLE_ENDIAN return ((*centre*1000000) + (*subcentre*1000) + (*number & 0xff)); #else return ((*centre*1000000) + (*subcentre*1000) + ((*number>>shift) & 0xff)); #endif } fortint ldefnum_(fortint* centre, fortint* subcentre, fortint* number) { return ldefnum(centre,subcentre,number); } void loadPrintLine( char* printLine, int printLineLength, char* contents, char* code, fortint* ksec1Value) { int loop, printLength; char value[9]; char p; fortint number; for( loop = 0; loop < printLineLength; loop++) printLine[loop] = ' '; printLength = strlen(contents); if( printLength > (printLineLength-10) ) printLength = (printLineLength-10); strncpy((printLine+1),contents,printLength); if( EQUAL(code,"A4") ) { memcpy(value,ksec1Value,4); value[4] = '\0'; sprintf((printLine+37)," %s",value); } else if( EQUAL(code,"A8") ) { memcpy(value,ksec1Value,8); value[8] = '\0'; sprintf((printLine+37)," %s",value); } else if( EQUAL(code,"BYTES") ){ sprintf(value,"%0x",*ksec1Value,8); if( strlen(value) < 8 ) { int missing = 8 - strlen(value); for( loop = 7; loop >= missing; loop-- ) value[loop] = value[loop-missing]; for( loop = 0; loop < missing; loop++ ) value[loop] = '0'; } #ifdef LITTLE_ENDIAN p = value[0]; value[0] = value[6]; value[6] = p; p = value[1]; value[1] = value[7]; value[7] = p; p = value[2]; value[2] = value[4]; value[4] = p; p = value[3]; value[3] = value[5]; value[5] = p; #endif value[8] = '\0'; sprintf((printLine+37)," %s",value); } else sprintf((printLine+37)," %9d",*ksec1Value); return; } action* createLocalDefinition(action*,grib_int_t); void displayUnpackedSection1Values( fortint fileNumber, fortint* unpackedSection1Values) { FILE * out; char fileName[] = "fort.nn"; fortint localDefinitionNumber, listPosition; action* a; int Local = 0; int valueToPrint = 41; int expverFound = 0; int printLength, loop, printableValue = 0, numberOfPrintLines; int loopCount, listCount, padCount, byteCount; int localDefinitionLengthOffset; grib_int_t first = 1, firstLocal = 1; char* loopName, *byteName; grib_int_t previousDefinitionLengthOffset = 0; grib_int_t previousDefinitionLength = 0; #define LINELENGTH 46 char printLine[LINELENGTH] = " "; if( (fileNumber < 1) || (fileNumber > 99) ) return; if( fileNumber == 6 ) { out = stdout; setbuf(out,NULL); } else { if( fileNumber < 10 ) sprintf((fileName+5),"%1d",fileNumber); else sprintf((fileName+5),"%2d",fileNumber); out = fopen(fileName,"w"); } if( out == NULL ) return; localDefinitionNumber = unpackedSection1Values[1]*1000000 + unpackedSection1Values[21]*1000 + unpackedSection1Values[36]; listPosition = definitionIsDefined(&known,localDefinitionNumber); if( listPosition == -1 ) return; else a = known.actions[listPosition]; while(a) { if( expverFound ) { /* // Abandon printing on following: */ if( EQUAL((a->code),"IF_EQ") || EQUAL((a->code),"IF_NEQ") || EQUAL((a->code),"ENDIF") || EQUAL((a->code),"PADTO") || EQUAL((a->code),"SP_TO") || EQUAL((a->code),"PADMULT") ) return; /* // Avoid straightforward printing of following: */ printableValue = ( NEQUAL((a->ksec1),"n/a") && NEQUAL((a->code),"PAD") && NEQUAL((a->code),"LP_I") && NEQUAL((a->code),"LIST") && NEQUAL((a->code),"BYTES") && NEQUAL((a->code),"F1") ); if( printableValue ) { loadPrintLine(printLine,LINELENGTH, (char*)(a->description),(char*)(a->code), &unpackedSection1Values[valueToPrint]); fprintf(out,"%s\n",printLine); } /* // Print loops: */ if( EQUAL((a->code),"LP_I") ){ loopCount = a->reference->value; loopName = strdup(a->description); for( loop = 0; loop < loopCount; loop++ ) { loadPrintLine(printLine,LINELENGTH, loopName,(char*)(a->code), &unpackedSection1Values[valueToPrint]); fprintf(out,"%s\n",printLine); valueToPrint++; } free(loopName); } /* // Print bytes: */ if( EQUAL((a->code),"BYTES") ) { byteCount = a->reference->value; byteName = strdup(a->description); for( loop = 0; loop < byteCount/4; loop++ ) { loadPrintLine(printLine,LINELENGTH, byteName,"BYTES", &unpackedSection1Values[valueToPrint]); fprintf(out,"%s\n",printLine); valueToPrint++; } free(byteName); } /* // Skip padding and only move the count if ksec1 is affected: */ if( EQUAL((a->code),"PAD") ) { if( (! stringIsNotANumber(a->count)) && NEQUAL((a->ksec1),"n/a") ) { padCount = atoi(a->count); valueToPrint += padCount; } } /* // Print lists: */ if( EQUAL((a->code),"LIST") ) { char** listName = NULL; char** listCode = NULL; action* listPointer = a->next; int separateItems = 0, nextItem = 0; int inLocal = 0; listCount = a->reference->value; listName = (char**) malloc(sizeof(char*)); while( NEQUAL((listPointer->code),"ENDLIST") ) { static grib_int_t localCount = 0; if( NEQUAL(listPointer->code,"LOCAL") && (!inLocal) && (localCount <= 1) ) { separateItems++; listName = (char**) realloc(listName,separateItems*sizeof(char*)); listName[separateItems-1] = strdup(listPointer->description); listCode = (char**) realloc(listCode,separateItems*sizeof(char*)); listCode[separateItems-1] = strdup(listPointer->code); listPointer = listPointer->next; localDefinitionLengthOffset = separateItems - 1; } else { /* // Special handling for definition 192 (LOCAL within a LIST): // // numberOfLocalDefinitions 52 I1 44 - // listOfLocalDefinitions - LIST - numberOfLocalDefinitions // localDefinitionLength - I2 - - // localDefinition - LOCAL - - // endListOfLocalDefinitions - ENDLIST - listOfLocalDefinitions */ action* local, * a; action next; grib_int_t lengthOffset; static grib_int_t length; grib_int_t localDefinitionNumber; inLocal = 1; if( first ) { first = 0; lengthOffset = valueToPrint; localCount = listCount; } else { lengthOffset = previousDefinitionLengthOffset + previousDefinitionLength + 1; } length = unpackedSection1Values[lengthOffset]; previousDefinitionLengthOffset = lengthOffset; previousDefinitionLength = length; if( !firstLocal ) { separateItems++; listName = (char**) realloc(listName,separateItems*sizeof(char*)); listName[separateItems-1] = strdup(listName[localDefinitionLengthOffset]); listCode = (char**) realloc(listCode,separateItems*sizeof(char*)); listCode[separateItems-1] = strdup(listCode[localDefinitionLengthOffset]); } else firstLocal = 0; /* // Setup ccc = 98, sss = 000, nnn = number */ localDefinitionNumber = 98000000 + unpackedSection1Values[lengthOffset+1]; a = listPointer; Local = 1; local = createLocalDefinition(a,localDefinitionNumber); local = local->next; while( local ) { if( NEQUAL(local->ksec1,"n/a") ) { separateItems++; listName = (char**) realloc(listName,separateItems*sizeof(char*)); listName[separateItems-1] = strdup(local->description); listCode = (char**) realloc(listCode,separateItems*sizeof(char*)); listCode[separateItems-1] = strdup(local->code); } else { /* // previousDefinitionLengthOffset++; */ } local = local->next; } localCount--; if( localCount == 0 ) { inLocal = 0; break; } } } if( Local ) numberOfPrintLines = separateItems; else numberOfPrintLines = listCount * separateItems; nextItem = 0; for( loop = 0; loop < numberOfPrintLines; loop++ ) { loadPrintLine(printLine,LINELENGTH, listName[nextItem],listCode[nextItem], &unpackedSection1Values[valueToPrint]); fprintf(out,"%s\n",printLine); valueToPrint++; if(EQUAL(listCode[nextItem],"A8")) valueToPrint++; nextItem++; if( nextItem == separateItems ) nextItem = 0; } for( loop = 0; loop < separateItems; loop++ ) { free(listName[loop]); free(listCode[loop]); } free(listName); free(listCode); /* // Skip to ENDLIST (which will not be displayed) // Return if a LIST of LOCAL definitions (definition 192). */ a = listPointer; if( Local ) { first = 1; firstLocal = 1; /* previousDefinitionLengthOffset = 0; previousDefinitionLength = 0; */ Local = 0; if( fileNumber != 6 ) fclose(out); return; } } } if( EQUAL("experimentVersionNumber",a->description) ) expverFound = 1; if( printableValue ) valueToPrint++; if( printableValue && EQUAL((a->code),"A8") ) valueToPrint++; a = a->next; } if( fileNumber != 6 ) fclose(out); return; } void ldefprt(fortint* fileNumber, fortint* unpackedSection1Values) { displayUnpackedSection1Values(*fileNumber,unpackedSection1Values); return; } void ldefprt_(fortint* fileNumber, fortint* unpackedSection1Values) { displayUnpackedSection1Values(*fileNumber,unpackedSection1Values); return; } emoslib-000392+dfsg.1/gribex/ecdef21.h0000755000175000017500000001046312127406245020327 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 21. C Sensitive area predictions C ----------------------------------- C C Octet KSEC1(n) C ----- -------- C C 42 38 Class C C 43 39 Type C C 44-45 40 Stream C C 46-49 41 Expver C C 50-51 42 Forecast number or singular vector number. Zero for C analysis. C C C If type = 60 (perturbed analysis): C C 52-93 43-57 Set to zero. C C C For other types, the area definition (octets 58 to 77) should always be C coded. Other octets from 53 to 93 may be coded as zeroes. C C Allowed ranges are [-90,90] for latitudes and [0,360] for longitudes. C C C 52-53 43 Number of iterations. C C 54-55 44 Number of singular vectors computed. C C 56 45 Norm used at initial time. C C 57 46 Norm used at final time. C C 58-61 47 Multiplication factor to convert latitude/longitude C and accuracy from real to integer. C C 62-65 48 Latitude in degrees of north-west corner of forecast C verification area multiplied by KSEC1(47). C C 66-69 49 Longitude in degrees of north-west corner of forecast C verification area multiplied by KSEC1(47). C C 70-73 50 Latitude in degrees of south-east corner of forecast C verification area multiplied by KSEC1(47). C C 74-77 51 Longitude in degrees of south-east corner of forecast C verification area multiplied by KSEC1(47). C C 78-81 52 Accuracy multiplied by KSEC1(47). C C 82-83 53 Number of singular vectors evolved. C C 84-91 54-55 Ritz numbers. C Given ritz, then: C KSEC1(54) = NINT( LOG10(RITZ)-5 ) C KSEC1(55) = NINT( RITZ/ EXP(LOG(10.0)*KSEC1(54) ) ) C Thus: C RITZ = KSEC1(55)*EXP( LOG(10.0)*KSEC1(54) ) C C 92 56 For all types, this is the period in hours between C the time when the targeted observations are taken C (the reference time in KSEC1(10:14)) and the forecast C verification time. C For singular vectors, this is the optimisation time. C C 93 57 Forecast lead time (hours) C For all types, this is the lead time of forecast(s) C on which sensitive area prediction is based. The lead C time is the time from the initialization of the C forecast to the reference time in KSEC1(10:14). C C 94 58 WMO identifier of the centre from which the data C originated C C 95-96 59 Method number C C 97-98 60 Total number of forecasts in ensemble (or zero if C not appropriate). C C 99 61 Shape of verification region: C 0: lat-lon box as given by KSEC1(48-51) C 1: circular region with centre at C latitude = 0.5*(KSEC1(48)+KSEC1(50))/KSEC1(47) (deg) C longitude = 0.5*(KSEC1(49)+KSEC1(51))/KSEC1(47) (deg) C and with C radius = 0.5*(KSEC1(48)-KSEC1(50))/(KSEC1(47)*111.199) C = great-circle distance in km C C This is the largest circle fitting in a lat-lon box C defined by KSEC1(48-51). C C 100 Reserved. Set to zero. C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/getsys.F0000755000175000017500000001460512127406245020374 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETSYS (HSYS) IMPLICIT LOGICAL ( L , O , G ) IMPLICIT CHARACTER*8 ( C , H , Y ) IMPLICIT INTEGER ( I , J , K , M , N ) C C----> C* MARS common areas containing job environment information, C parameter settings etc. C C NFTNOS - 12 Fortran unit numbers used by MARS. C NFTNOS(1) is MARSLOG file. Cracked MARS directives. C NFTNOS(2) is MARSPAR file. MARS directives in C network transmission format. C NFTNOS(5) is unit 5 , standard input. C NFTNOS(6) is unit 6 , standard output. C NFTNOS(7) is MARSDEF or MARSDEFNEXT, language C definition, operational or test. C Set by routine JENVXX. C NUMREQ - Total number of requests. C NUMFIL - Numbers of different files to be accessed. C NUMFIL(1) , Total number of files to accessed. C NUMFIL(2) , Number of IBM disk files to accessed. C NUMFIL(3) , Number of IBM MSS files to be accessed. C NUMFIL(4) , Number of IBM tape files to be accessed. C NUMFIL(5) , Number of worker machine files to accessed. C NCNDAY - Century day. C Set by routine JENVXX. C NJMODE - Mode in which MARS job is running. C -1, Quit issued. C 0 , Checkout directives only. C 1 , Connected mode (normal mode retains connection C with IBM at all times). C 2 , Disconnected mode (send requests to IBM and C terminate). C Not yet implemented. C NJOBSQ - Unique number identifying job or process. C Set by routine JENVXX. C NUMBIT - Number of bits in computer word. C Set by routine JENVXX. C NDBUGS - Debug print switch for IBM. C 0 , No debug printout. . C 8 , Debug print on IBM. C Set by routine JENVXX. C NDBUGL - Debug level indicator for worker machine. C 0 , No debug print. C 4 , Trace through subroutine sections and C values of parameters on entry as well as C other print statements used when actually C debugging. C Set by routine JENVXX. C NJBCAT - Category assigned to job by MARS. C 0 , Archive request. C 1 , Manage request. C 2 , Checkout request. C 3 , Costonly request. C 4 , Retrieval from online Operational database on the C worker machine. C 5 , Retrieve guaranteed online (on IBM ) data. C 6 , Retrieve online (on IBM ) data. C Not yet implemented. Treated as category 7. C 7 , Retrieve off-line (on IBM ) data. C 8 , Retrieval of research department data from C online Research database on worker machine. C NPRITY - Priority assigned to job by MARS. C 1 , High. C 2 , Normal. C 3 , Low. C NIAORB - 0 , Current job is an active mode job. C 1 , Current job is in interactive edit mode. C Set by routine JENVXX. C C----< INTEGER NFTNOS INTEGER NCNDAY INTEGER NJMODE INTEGER NJOBSQ INTEGER NUMBIT INTEGER NDBUGS INTEGER NDBUGL INTEGER NJBCAT INTEGER NPRITY INTEGER NIAORB INTEGER NFLTYP INTEGER NUMFIL INTEGER NUMREQ C DIMENSION NFTNOS(12) DIMENSION NUMFIL(5) C COMMON /INTGCOM/ NFTNOS , NCNDAY , NJMODE , NJOBSQ , NUMBIT , C NDBUGS , NDBUGL , NJBCAT , NPRITY , NIAORB , C NFLTYP , NUMFIL , NUMREQ C C COPSYS - Name of computer operating system. C UNICOS C COS C NOS/VE C VMS C MVS/XA C Set by routine calling MARSXX. C CWMACH - Name of machine on which MARS is running. C CRAY C CYBER C VAX C IBM C Set by routine JENVXX. C CCDATE - Date at start of job in yymmdd format. C Set by routine JENVXX. C CCTIME - Time at start of job in hhmmss format. C Set by routine JENVXX. C CJNAME - Name of job or process. C Set by routine JENVXX. C CACCNT - Account under which job is running. C CWMARS - Connect to test or operational MARS/IBM. C MATS , Test version. C MARS , Operational version. C Set by routine JENVXX. C CWLANG - Use test or operational version of MARS language. C MARSDEF - Operational version. C MATSDEF - Test version. C Set by routine JENVCO for COS version. C CWLAPA - Use test or operational version of MARS language. C .../.../marsdef - Operational version. C .../.../matsdef - Test version. C Set by routine JENVUN for UNICOS version. C CWTMDR - Temporary file directory. C Set by JENVUN. C CWUSER - User name. C Set by JENVUN. C CUSFDB - FDB Usage indicator. C NEVER , Never attempt to access FDB. C ALWAYS, Always attempt to access FDB. C DEFAULT, Analyse request before deciding usage. C Set by JENVUN. C CWEDNO - GRIB Code Edition indicator. C OFF , use current edition. C ON , use edition 0. C CHARACTER*8 COPSYS CHARACTER*8 CWMACH CHARACTER*3 CWUSER CHARACTER*6 CCDATE CHARACTER*6 CCTIME CHARACTER*4 CWMARS CHARACTER*7 CWLANG CHARACTER*7 CUSFDB CHARACTER*48 CWLAPA CHARACTER*48 CWTMDR CHARACTER*16 CJNAME CHARACTER*16 CACCNT CHARACTER*3 CWEDNO C COMMON /CHARCOM/ COPSYS , CWMACH , CCDATE , CCTIME , CJNAME , C CACCNT , CWMARS , CWLANG , CWLAPA , CWTMDR , C CWUSER , CUSFDB , CWEDNO C CHARACTER*6 HSYS HSYS = COPSYS RETURN END emoslib-000392+dfsg.1/gribex/insmp1.F0000755000175000017500000002657712127406245020300 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INSMP1(KGRIB,KLENG,KMAP1,KSECM,PSEC4,KSIZE,KBITS, X PMISS,HFUNC,KNUM,KPR,KRET) C C----> C**** INSMP1 - Insertion of primary bit map for routine GRIBEX. C C Purpose. C -------- C C Generates a primary bit-map (Section 3 bit-map) and C inserts in array of GRIB coded data. C C** Interface. C ---------- C C CALL INSMP1(KGRIB,KLENG,KMAP1,KSECM,PSEC4,KSIZE,KBITS, C X PMISS,HFUNC,KNUM,KPR,KRET) C C Input Parameters. C ----------------- C C KGRIB - Array into which data is being packed in GRIB code. C C KLENG - Length of this array. C C KMAP1 - Bit-pointer to start of primary bit-map C (Section 3 bitmap) in array KGRIB. C C KSECM - Indicator of use of secondary bitmap C (Section 4 bitmap) in array KGRIB. C 0 , No secondary bit-map. C 32, Secondary bit-map to be added later. C C PSEC4 - Array of data values to be packed in C GRIB code, containing missing data C indicator PMISS where appropriate. C C KSIZE - Number of values, including missing data C values, in array PSEC4. C C KBITS - Number of bits in computer word. C C PMISS - Value indicating missing data in array PSEC4. C C HFUNC - 'C' , GRIB data being packed normally. C 'M' , GRIB data being packed in fixed length messages C C KNUM - Number of values at each grid point. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C Output Parameters. C ------------------ C C PSEC4 - Array of data values to be packed in C GRIB code. Changes to contents depend C on function performed eg C C Rn = Real data value at point n. C M = Missing data indicator. C On input PSEC4 is R1 R2 M M M R6 C C Output with function 'C', single value per point: C Bit-map is 1 1 0 0 0 1 C PSEC4 is R1 R2 R6 M M M C ^ C | C KSIZE C C Output with function 'C' , matrix (2x1) of values C per point: C Bit-map is 1 0 1 C PSEC4 is R1 R2 M R6 M M M C ^ C | C KSIZE C C Output with function 'M' with no secondary bit-maps, C single value: C Bit-map is 1 1 0 0 0 1 C PSEC4 is R1 R2 R6 R1 R1 R1 C ^ C | C KSIZE C C Output with function 'M' with secondary bit-maps, C (2x1 matrix) C Bit-map is 1 1 1 C PSEC4 is R1 R2 M M M R6 C ^ C | C KSIZE C C KSIZE - The number of data values remaining in C array PSEC4 to be packed. C C KRET - Return code. C 0 , No error encountered. C 1 , Error in routine INXBIT. C C Method. C ------- C C The bit-map contains 1 where valid data exists and 0 C where data is missing. The corresponding data array C contains valid data and the missing data indicator value. C C Externals. C ---------- C C INXBIT C C Reference. C ---------- C C See routine GRIBEX. C C Comments. C --------- C C None. C C Author. C ------- C C J. Hennessy ECMWF 09:07:92 C C Modifications. C -------------- C C J. Hennessy ECMWF 19:10:92 C Maximum sizes increased to allow for packing of 2D spectra. C Number of data values 120*61*12*25 C C J.D.Chambers ECMWF 09:03:94 C Maximum size for bitmap array increased to 132000 C to allow for products 0.5 * 0.5 degrees, whole C hemisphere (N or S). C C J.D.Chambers ECMWF 13:07:94 C Maximum size for bitmap array increased to 140000 C to allow for N160 products whole globe C C J.D.Chambers ECMWF 24:05:95 C Handle bitmap in strips to avoid problem with very large products C C J. Clochard, Meteo France, for ECMWF - January 1998. C Strips size (JPWORK) enlarged to 10000. C C----< C ------------------------------------------------------------------ C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JPWORK PARAMETER (JPWORK=10000) C C Subroutine arguents C INTEGER KGRIB, KLENG, KMAP1, KSECM, KSIZE, KBITS, KNUM, KPR, KRET DIMENSION KGRIB(*) REAL PSEC4, PMISS DIMENSION PSEC4(*) CHARACTER*(*) HFUNC C C Local variables C INTEGER IMAP1, IMISS, NEXTIN, NXTOUT, INOBT, IPT DIMENSION IMAP1(JPWORK) INTEGER JLOOP, JLOOPI, NEXT, IMANY REAL VALUE C C ------------------------------------------------------------------ C* Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.GE.1) THEN WRITE(GRPRSM,*) 'INSMP1: Section 1.' WRITE(GRPRSM,*) ' Input values used -' WRITE(GRPRSM,*) ' KLENG = ', KLENG WRITE(GRPRSM,*) ' KMAP1 = ', KMAP1 WRITE(GRPRSM,*) ' KSECM = ', KSECM WRITE(GRPRSM,*) ' KSIZE = ', KSIZE WRITE(GRPRSM,*) ' KBITS = ', KBITS WRITE(GRPRSM,*) ' PMISS = ', PMISS WRITE(GRPRSM,*) ' HFUNC = ', HFUNC WRITE(GRPRSM,*) ' KNUM = ', KNUM ENDIF C C Reset return code to 0. C KRET = 0 C C Check function requested. C IF( (HFUNC.NE.'C') .AND. (HFUNC.NE.'M') ) THEN WRITE(GRPRSM,*) 'INSMP1: Invalid function requested - ', HFUNC KRET = 3 GO TO 900 ENDIF C C* Set number of bits in bitmap. C INOBT = KSIZE / KNUM C C ------------------------------------------------------------------ C* Section 2 . Handle fixed length records with secondary bit-maps. C ------------------------------------------------------------------- C 200 CONTINUE C C If fixed length records with secondary bit-maps are required, C insert a primary bit-map of all 1 bits and finish. C IF( (HFUNC.EQ.'M') .AND. (KSECM.EQ.32) ) THEN C IF( KPR.GE.1 ) WRITE(GRPRSM,*) 'INSMP1: Section 2.' C DO 210 JLOOP = 1,JPWORK IMAP1(JLOOP) = 1 210 CONTINUE C NEXT = 0 C 215 CONTINUE C C Pack the primary bitmap in strips of JPWORK values C NEXT = NEXT + JPWORK IMANY = JPWORK C C Check whether end of primary bitmap reached. C Adjust if less than JPWORK values left to process C IF( NEXT.GT.INOBT ) IMANY = INOBT + JPWORK - NEXT C C Pack next strip of primary bitmap values. C CALL INXBIT(KGRIB,KLENG,KMAP1,IMAP1,IMANY,KBITS,1,'C',KRET) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,9003) KRET = 1 GO TO 900 ENDIF C C Loop back if more strips of primary bitmap to process C IF( NEXT.LT.INOBT ) GOTO 215 C GO TO 900 ENDIF C C ------------------------------------------------------------------ C* Section 3 . Generate the primary bitmap. C ------------------------------------------------------------------- C 300 CONTINUE C IF( KPR.GE.1 ) WRITE(GRPRSM,*) 'INSMP1: Section 3.' C NEXTIN = 0 NXTOUT = 0 C NEXT = 0 C C Pack the primary bitmap in strips of JPWORK values C 305 CONTINUE C NEXT = NEXT + JPWORK IMANY = JPWORK C C Check whether the end of primary bitmap has been reached. C Adjust if less than JPWORK values left to process. C IF( NEXT.GT.INOBT ) IMANY = INOBT + JPWORK - NEXT C IF (KPR.GE.1) THEN WRITE(GRPRSM,*) 'INSMP1: NEXT = ', NEXT WRITE(GRPRSM,*) 'INSMP1: IMANY = ', IMANY WRITE(GRPRSM,*) 'INSMP1: INOBT = ', INOBT ENDIF C C* Reset bit-map to all 0 bits. C DO 310 JLOOP = 1, IMANY IMAP1(JLOOP) = 0 310 CONTINUE C C Set a bit to 1 for every KNUM values which contain at C least 1 real data value. C IPT = 0 C IF( KNUM.EQ.1 ) THEN !OCL NOVREC DO 320 JLOOP = 1, IMANY IF (PSEC4(NEXTIN+JLOOP).NE.PMISS) THEN IMAP1(IPT+JLOOP) = 1 NXTOUT = NXTOUT + 1 PSEC4(NXTOUT) = PSEC4(NEXTIN+JLOOP) ENDIF 320 CONTINUE C IPT = IPT + IMANY NEXTIN = NEXTIN + IMANY C ELSE C DO 350 JLOOP = 1, IMANY C IMISS = 0 DO 330 JLOOPI = 1, KNUM IF (PSEC4(NEXTIN+JLOOPI).EQ.PMISS) IMISS = IMISS + 1 330 CONTINUE C C If point not completely missing, move data forwards in data C array. If no real data value found, the corresponding bit is C already 0. C IF( IMISS.NE.KNUM ) THEN IMAP1(IPT+JLOOP) = 1 DO 340 JLOOPI = 1, KNUM PSEC4(NXTOUT+JLOOPI) = PSEC4(NEXTIN+JLOOPI) 340 CONTINUE NXTOUT = NXTOUT + KNUM ENDIF C NEXTIN = NEXTIN + KNUM C 350 CONTINUE IPT = IPT + IMANY C ENDIF C C Pack next strip of primary bitmap values in GRIB coded data. C CALL INXBIT(KGRIB,KLENG,KMAP1,IMAP1,IMANY,KBITS,1,'C',KRET) IF( KRET.NE.0 ) THEN WRITE(GRPRSM,9003) KRET = 1 GO TO 900 ENDIF C C Loop back if more strips of primary bitmap to process C IF( NEXT.LT.INOBT ) GOTO 305 C C Is a fixed length message required, even though a bit map is used? C IF( HFUNC.EQ.'M' ) THEN C C The otherwise unused part of the array is set to a genuine data C value so that extraction of minimum and maximum values remain C correct. Number of data values includes these padding values. C VALUE = PSEC4(1) DO 360 JLOOP = NXTOUT+1, KSIZE PSEC4(JLOOP) = VALUE 360 CONTINUE C ELSE C C Return number of points with values (ie excluding points with C missing data values). C KSIZE = NXTOUT C ENDIF C C ------------------------------------------------------------------ C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF( KPR.GE.1 ) THEN WRITE(GRPRSM,*) 'INSMP1: Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,*) 'INSMP1: KSIZE = ', KSIZE ENDIF RETURN C 9003 FORMAT (1H ,'INSMP1: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/btsun.special0000755000175000017500000003751712127406245021453 0ustar amckinstryamckinstry SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES C GBYTES C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C SUN version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) C CHARACTER*1 HFUNC C C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C ABORT C C Reference. C ---------- C C None. C C Comments. C --------- C C SUN version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL ABORT C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C SUN version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 32 KNEG = -2147483647 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END #include /* Tools for storage/retrieval of arbitrary size bytes from 32 bit words (note - this version is not currently (6/30/88) described in the gbytes document) Modified by Arne Jorgensen 12-April-1991 (SUN routine) gbytes(p,u,q,b,s,n) gbyte (p,u,q,b) sbytes(p,u,q,b,s,n) sbyte (p,u,q,b) q >= 0 number of bits to be skipped preceding first byte in p 0 < b < sword byte size s >= 0 number of bits to be skipped between bytes n >= 0 number of bytes to be packed/unpacked gbytes unpacks n b bit bytes from p into u, starting by skipping q bits in p, then skipping s bits between bytes. gbyte unpacks one such byte. sbytes packs n b bit bytes from u into p, starting by skipping q bits in p, then skipping s bits between bytes. sbyte packs one such byte. */ #define SWORD 32 /* Word size in bits */ #define MASK 0xffffffff /* Mask of sword bits */ #define G1BYTE(p,q,b) ((b==32 ? MASK : ~(MASK<>(SWORD-(q+b)))) /* Get 1 word contained byte */ # define MASK1(q,b) (b==32 ? MASK : (~(MASK<= SWORD) { j = jq/SWORD; /* number of words offset */ jq %= SWORD; /* odd bits of offset */ } else { j=0; } qb = jq + jb; if (qb > SWORD) { qb = SWORD - jq; jb -= qb; lb = (G1BYTE(p[j],jq,qb)) << jb; jq = 0; j++; /* increment to next word */ } else lb = 0; *u = lb + (G1BYTE(p[j],jq,jb)); } sbytes_(p,u,q,b,s,n) long p[],u[],*q,*b,*s,*n; { int sbyte_(); gsbytes(p,u,q,b,s,n,sbyte_); } sbyte_(p,u,q,b) long p[],*u,*q,*b; { long qb,j,jq,jb,rb; jq = *q; jb = *b; if (jq >= SWORD) { j = jq / SWORD; /* number of words offset */ jq %= SWORD; /* odd bit offset */ } else { j = 0; } qb = jq + jb; if (qb > SWORD) { qb = SWORD - jq; jq = SWORD - jb; jb -= qb; p[j] = ((p[j] >> qb) << qb) + (G1BYTE(*u,jq,qb)); jq = 0; j++; /* point to next word */ } rb = G1BYTE(*u,SWORD-jb,jb); p[j] = (p[j] & ~MASK1(jq,jb)) + (rb << SWORD-(jb+jq)); } emoslib-000392+dfsg.1/gribex/decogd.F0000755000175000017500000006240112127406245020300 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DECOGD (FPDATA,ILENF,IBITS,NBIT,IB1PAR,IB2PAR, C IB3PAR,FVERT,ILENV,IGRIB,ILENG,IWORD, C JLENV,JLENF,RMISS,IERR) C C----> C* NAME : DECOGD C* C* FUNCTION : DECODE WMO GRIB CODED DATA. C* C* INPUT : NBIT - NUMBER OF BITS IN COMPUTER WORD C* C* IGRIB - INTEGER ARRAY CONTAINING DATA IN GRIB CODE. C* ILENG - LENGTH OF ARRAY IGRIB. C* C* FVERT - REAL ARRAY TO RECEIVE VERTICAL COORDINATE C* PARAMETERS. C* ILENV - LENGTH OF ARRAY FVERT. C* C* FPDATA - REAL ARRAY TO RECEIVE DECODED DATA VALUES. C* ILENF - LENGTH OF ARRAY FPDATA. C* C* ***** IF THIS IS 1 ONLY C* THE PRODUCT AND GRID DEFINITION BLOCKS C* ARE DECODED. ***** C* C* IB1PAR - INTEGER ARRAY (DIMENSION 18) TO RECEIVE C* PRODUCT DEFINITION INFORMATION. C* C* IB2PAR - INTEGER ARRAY (DIMENSION 11) TO RECEIVE GRID C* DEFINITION INFORMATION. C* C* OUTPUT : PARAMETERS FROM BLOCK 1 , PRODUCT DEFINITION BLOCK. C* -------------------------------------------------- C* IB1PAR - INTEGER ARRAY (DIMENSION 18) OF PRODUCT C* DEFINITION INFORMATION. C* C* WORD CONTENTS C* ---- -------- C* 1 ORIGINATING CENTRE IDENTIFIER. C* 2 MODEL IDENTIFICATION. C* 3 GRID DEFINITION. C* 4 FLAG ( CODE TABLE 1) C* 5 PARAMETER IDENTIFIER ( CODE TABLE 2 ). C* 6 TYPE OF LEVEL (CODE TABLE 3). C* 7-8 VALUE(S) OF LEVELS (CODE TABLE 3). C* 9 YEAR OF DATA C* 10 MONTH OF DATA C* 11 DAY OF DATA C* 12 HOUR OF DATA C* 13 MINUTE OF DATA C* 14 TIME UNIT (CODE TABLE 4). C* 15 TIME RANGE ONE C* 16 TIME RANGE TWO C* 17 TIME RANGE FLAG (CODE TABLE 5). C* 18 NUMBER AVERAGED. C* C* VALUE(S) OF LEVEL CAN OCCUPY 2 WORDS.. C* FOR A LAYER THE FIRST WORD DEFINES THE TOP C* AND THE SECOND THE BOTTOM OF THE LAYER. C* FOR A SINGLE LEVEL, ONLY THE FIRST WORD IS C* USED. C* C* PARAMETERS FROM BLOCK 2 , GRID DEFINITION BLOCK. C* ----------------------------------------------- C* IB2PAR - INTEGER ARRAY (DIMENSION 11) CONTAINING GRID C* DEFINITION INFORMATION. C* USE VARIES WITH DATA REPRESENTATION TYPE. C* C* WORD LAT/LONG GRID C* ---- ------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6). C* 2 NO. OF POINTS ALONG A LATITUDE C* 3 NO. OF POINTS ALONG A MERIDIAN. C* 4 LATITUDE OF ORIGIN (SOUTH - IVE). C* 5 LONGITUDE OF ORIGIN (WEST - IVE). C* 6 RESOLUTION FLAG. (CODE TABLE 7) C* 7 LATITUDE OF EXTREME POINT (SOUTH - IVE). C* 8 LONGITUDE OF EXTREME POINT (WEST - IVE). C* 9 LATITUDE INCREMENT C* 10 LONGITUDE INCREMENT C* 11 SCANNING MODE FLAGS (CODE TABLE 8) C* C* WORD GAUSSIAN GRID C* ---- ------------- C* 1-9 AS FOR LAT/LONGITUDE GRID. C* 10 THE NUMBER OF LATITUDE LINES BETWEEN A POLE C* AND THE EQUATOR. C* 11 SCANNING MODE FLAGS (CODE TABLE 8) C* C* WORD SPHERICAL HARMONICS C* ---- ------------------- C* 1 DATA REPRESENTATION TYPE (CODE TABLE 6) C* 2 J - PENTAGONAL RESOLUTION PARAMETER C* 3 K - PENTAGONAL RESOLUTION PARAMETER C* 4 M - PENTAGONAL RESOLUTION PARAMETER C* 5 REPRESENTATION TYPE (CODE TABLE 9) C* 6 REPRESENTATION MODE (CODE TABLE 10) C* 7-11 NOT USED C* C* C* USE FOR OTHER DATA REPRESENTATION TYPES IS C* C* FVERT - REAL ARRAY OF VERTICAL COORDINATE PARAMETERS C* JLENV - NUMBER OF VALUES IN THIS ARRAY. C* C* USED FOR HYBRID LEVELS ONLY. C* C* PARAMETERS FROM BLOCK 3 , BIT-MAP DEFINITION BLOCK. C* -------------------------------------------------- C* C* IBMAP - ARRAY (DIMENSION IBLEN) CONTAINING BIT MA C* IBLEN - NUMBER OF WORDS IN ARRAY IBMAP. C* IBVAL - NUMBER OF VALUES ON THIS ARRAY. C* IERR - ERROR INDICATOR C* -5, MISSING PREDEFINED BIT MAP. C* C* C* PARAMETERS FROM BLOCK 4 , BINARY DATA BLOCK. C* ------------------------------------------- C* FPDATA - ARRAY OF FLOATING POINT VALUES. C* JLENF - NUMBER OF VALUES IN THIS ARRAY. C* JLENF IS NEGATIVE IF MISSING DATA CODED C* C* IBITS - NUMBER OF BITS FOR CODED DATA VALUES. C* C* IWORD - NUMBER OF WORDS DECODED. C* C* IERR - ERROR INDICATOR. C* C* 0, NO ERROR. C* C* -1, NUMBER OF BITS PER DATA VALUE EXCEEDS C* WORD LENGTH, OR MAXIMUM ALLOWED. C* -2, INPUT ARRAY HOLDS FEWER CODED VALUES C* THAN EXPECTED. C* -3, OUTPUT ARRAY TOO SMALL TO HOLD DECODED C* DATA VALUES. C* -4, CURRENTLY UNDEFINED OPTION SELECTED. C* C* 1, NO BLOCK 5 FOUND. C* C* GENERAL : DECOGD CALLS GBYTE C* GBYTES C* OFFSET C* DECFP C* SBYTE C* C* Modifications C* ------------- C C940309 J.D.Chambers ECMWF 09:03:94 C940309 Maximum size for bitmap array increased to 132000 C940309 to allow for products 0.5 * 0.5 degrees, whole C940309 hemisphere (N or S). C* C --------------------------------------------------------------- C----< C C C C C C C C C DIMENSION FPDATA(ILENF),FVERT(ILENV) DIMENSION IBLOCK(24),IGRIB(ILENG) DIMENSION IB1PAR(18),IB2PAR(11),IB3PAR(2),ILAT(2) C C940309 INTEGER*4 IBMAP(41472) INTEGER*4 IBMAP(132000) C940309 DIMENSION FPDATAG(41472) DIMENSION FPDATAG(132000) CHARACTER*20 BITMAP CHARACTER YCHAR C EQUIVALENCE (ZGRIB,JGRIB) C C SET MAXIMUM NUMBER OF BITS PER DATA FIELD. C DATA IMAX /32/ C IERR = 0 C RMISS=1.7E38 C C C C C C C C C C C C C C C C C******************************************************************** C* C* BLOCK 0 - INDICATOR BLOCK. C* C******************************************************************** C C C EXTRACT 4 OCTETS CONTAINING ASCII G R I B . C IWORD = 1 IOFF = 0 IBYTE = 8 NVAL = 4 C CALL GBYTES (IGRIB(1),IBLOCK(1),0,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C******************************************************************** C* C* BLOCK 1 - PRODUCT DEFINITION BLOCK. C* C******************************************************************** C C C EXTRACT FIRST 4 OCTETS OF BLOCK 1. C NVAL = 4 C CALL GBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C IF THESE OCTETS DO NOT CONTAIN 0, 0, 24 AND 0 RESPECTIVELY C THEN THE DATA IS IN THE OLD VERSION OF THE CODE. C IF (IBLOCK(1).EQ.0.AND.IBLOCK(2).EQ.0.AND.IBLOCK(3).EQ.24. C AND.IBLOCK(4).EQ.0) C THEN ISNEW = 1 NVAL = 20 ELSE ISNEW = 0 NVAL = 16 ENDIF C C EXTRACT NEXT 16 OR 20 OCTETS OF BLOCK 1 - NUMBER DEPENDS C ON VERSION OF CODE. C CALL GBYTES (IGRIB(IWORD),IBLOCK(5),IOFF,IBYTE,0,NVAL) CALL OFFSET (IOFF,NVAL,IWORD,IBYTE,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C TRANSFER PRODUCT DEFINITION INFORMATION TO OUTPUT ARRAY. C EXCEPT FOR NUMBER AVERAGED. C DO 100 I=1,17 IB1PAR(I) = IBLOCK(I+4*ISNEW) 100 CONTINUE C C C C C NUMBER AVERAGED OCCUPIES 2 OCTETS. C IB1PAR(18) = IBLOCK(18+4*ISNEW) * 256 + IBLOCK(19+4*ISNEW) C C C C C C*** C* DESCRIPTION OF LEVEL OR LAYER ( CODE TABLE 3 ). C*** C C CERTAIN LEVEL TYPES REQUIRE THAT THE DESCRIPTION OCCUPY C BOTH 8 BIT FIELDS. PUT SINGLE VALUE IN FIRST LEVEL WORD. C KTEMP = 32 + (ISNEW*224) IF (IB1PAR(6).EQ.100.OR.IB1PAR(6).EQ.103.OR.IB1PAR(6).EQ.105. C OR.IB1PAR(6).EQ.107.OR.IB1PAR(6).EQ.109) C THEN IB1PAR(7) = IB1PAR(7) * KTEMP + IB1PAR(8) IB1PAR(8) = 0 ENDIF C C C C C C C C C C*** C* TIME RANGE. C*** C C ONE TIME RANGE CAN OCCUPY TWO OCTETS. C IF (IB1PAR(17).EQ.10) C THEN IB1PAR(15) = IB1PAR(15) * KTEMP + IB1PAR(16) IB1PAR(16) = 0 ENDIF C C C C C C C C C C C C******************************************************************** C* C* BLOCK 2 - GRID DESCRIPTION BLOCK. C* C******************************************************************** C C*** C* CHECK FLAG INDICATING IF BLOCK 2 IS INCLUDED IN CODE. C*** C C INC IS SET TO 1 , IF BLOCK 2 IS INCLUDED. C INC = 0 C C IF (ISNEW.EQ.0) C THEN C OLD VERSION OF CODE C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 00000001 1 C 3 00000010 2 C 2 AND 3 00000011 3 C IF (IB1PAR(4).EQ.1.OR.IB1PAR(4).EQ.3) INC = 1 ELSE C NEW VERSION C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 10000000 128 C 3 01000000 64 C 2 AND 3 11000000 192 C IF (IB1PAR(4).EQ.128.OR.IB1PAR(4).EQ.192) INC = 1 ENDIF C IF (INC.EQ.1) C THEN C C C*** C* LENGTH OF GRID DESCRIPTION BLOCK. C*** C CALL GBYTE (IGRIB(IWORD),LBLK,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LENGTH IS 32 OCTETS FOR LAT/LONG, GAUSSIAN AND SPHERICAL C HARMONICS . FOR ANY DATA ON HYBRID LEVELS THE C VERTICAL COORDINATES ARE ADDED. C GET NUMBER OF VERTICAL COORDINATE PARAMETERS, IF ANY. C JLENV = (LBLK - 32) / 4 IF(ILENV.LT.JLENV) C THEN IERR = -3 WRITE (*,9001) JLENV,ILENV 9001 FORMAT (1H ,'NUMBER OF VERTICAL COORDINATES - ',I4, C ', ARRAY SIZE IS - ',I4) RETURN ENDIF C C C*** C* NUMBER OF UNUSED BITS AT END OF BLOCK. C*** C CALL GBYTE (IGRIB(IWORD),LNIL,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* NEXT OCTET IS RESERVED. C*** C CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C C C C*** C* DATA REPRESENTATION TYPE. C*** C CALL GBYTE (IGRIB(IWORD),IB2PAR(1),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONGITUDE GRID, GAUSSIAN GRID AND SPHERICAL HARMONICS C ARE THE ONLY DATA REPRESENTATIONS HANDLED. C IF (IB2PAR(1).NE.0.AND.IB2PAR(1).NE.4.AND.IB2PAR(1).NE.50) C THEN WRITE (*,*)'GRID DESCRIPTION BLOCK NOT YET DEFINED' IERR = -4 RETURN ENDIF C C C C C*** C* LAT/LONG OR GAUSSIAN GRID. C*** C IF (IB2PAR(1).EQ.0.OR.IB2PAR(1).EQ.4) C THEN C C NUMBER OF LAT/LONG POINTS. C CALL GBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C LAT/LONG OF ORIGIN. C CALL GBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C IF SIGN BIT SET TO 1 , VALUES ARE NEGATIVE. C DO 200 I=1,2 IB2PAR(I+3) = ILAT(I) IF (ILAT(I).GT.8388608) C THEN IB2PAR(I+3) = IB2PAR(I+3) - 8388608 IB2PAR(I+3) = - IB2PAR(I+3) ENDIF 200 CONTINUE C C C RESOLUTION FLAG. C CALL GBYTE (IGRIB(IWORD),IB2PAR(6),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C LAT/LONG OF EXTREME POINTS. C CALL GBYTES (IGRIB(IWORD),ILAT(1),IOFF,24,0,2) CALL OFFSET (IOFF,2,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C IF SIGN BIT SET TO 1 , VALUES ARE NEGATIVE. C DO 300 I=1,2 IB2PAR(I+6) = ILAT(I) IF (ILAT(I).GT.8388608) C THEN IB2PAR(I+6) = IB2PAR(I+6) - 8388608 IB2PAR(I+6) = - IB2PAR(I+6) ENDIF 300 CONTINUE C C DIRECTION INCREMENTS / NUMBER OF LATITUDE LINES. C CALL GBYTES (IGRIB(IWORD),IB2PAR(9),IOFF,16,0,2) CALL OFFSET (IOFF,2,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C SCANNING MODE FLAGS. C CALL GBYTE (IGRIB(IWORD),IB2PAR(11),IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 4 RESERVED OCTETS. C CALL OFFSET (IOFF,4,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C C C C C C C C C C C*** C* SPHERICAL HARMONIC DATA. C*** C IF (IB2PAR(1).EQ.50) C THEN C C PENTAGONAL RESOLUTION PARAMETERS. C CALL GBYTES (IGRIB(IWORD),IB2PAR(2),IOFF,16,0,3) CALL OFFSET (IOFF,3,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C REPRESENTATION TYPE AND MODE. C CALL GBYTES (IGRIB(IWORD),IB2PAR(5),IOFF,8,0,2) CALL OFFSET (IOFF,2,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C 18 RESERVED OCTETS. C CALL OFFSET (IOFF,18,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ENDIF C C C C C*** C* VERTICAL COORDINATE PARAMETERS FOR HYBRID LEVELS. C*** C IF (JLENV.NE.0) C THEN DO 400 I=1,JLENV CALL GBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL DECFP (FVERT(I),IEXP,IMANT) 400 CONTINUE ENDIF C ENDIF C C C RETURN IF ONLY PRODUCT AND GRID DEFINITION BLOCKS REQUIRED. C IF (ILENF.EQ.1) RETURN C C C C C C C C C******************************************************************** C* C* BLOCK 3 - BIT MAP BLOCK. C* C******************************************************************** C C INC IS SET TO 1 , IF BLOCK 3 IS INCLUDED. C INC = 0 C C IF (ISNEW.EQ.0) C THEN C OLD VERSION OF CODE C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 00000001 1 C 3 00000010 2 C 2 AND 3 00000011 3 C IF (IB1PAR(4).EQ.2.OR.IB1PAR(4).EQ.3) INC = 1 ELSE C NEW VERSION C C BLOCKS INCLUDED BINARY VALUE DECIMAL VALUE C C NONE 00000000 0 C 2 10000000 128 C 3 01000000 64 C 2 AND 3 11000000 192 C IF (IB1PAR(4).EQ.64.OR.IB1PAR(4).EQ.192) INC = 1 ENDIF C IF (INC.EQ.1) C THEN C C C* GET LENGTH OF THE BIT MAP BLOCK C C CALL GBYTE (IGRIB(IWORD),IB3LEN,IOFF,24) CALL OFFSET(IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF( IERR.NE.0 ) RETURN C C C* GET NUMBER OF UNUSED BITS AT THE END OF THE BLOCK 3. C C CALL GBYTE(IGRIB(IWORD),INUB,IOFF,8) CALL OFFSET(IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF( IERR.NE.0 ) RETURN C C* CHECK IF BIT MAP FOLLOWS C CALL GBYTE (IGRIB(IWORD),IBMF,IOFF,16) CALL OFFSET(IOFF,1,IWORD,16,NBIT,ILENG,IERR) IF( IERR.NE.0 ) RETURN C IB3PAR(1)=IBMF C IF( IBMF.EQ.0 ) 1 THEN IBVAL=(IB3LEN-6)*8-INUB C C940309 IF(IBVAL.GT.41472) THEN IF(IBVAL.GT.132000) THEN IERR=-3 WRITE(*,8888) IBVAL 8888 FORMAT(1H ,'BIT MAP ARRAY TOO SMALL - IBVAL =',I12) RETURN END IF DO 450 J=1,IBVAL C CALL GBYTE(IGRIB(IWORD),IBMAP(J),IOFF,1) CALL OFFSET(IOFF,1,IWORD,1,NBIT,ILENG,IERR) IF(IERR.NE.0) RETURN C 450 CONTINUE C CALL OFFSET(IOFF,1,IWORD,INUB,NBIT,ILENG,IERR) C ELSE C C* GET PREDEFINED BIT MAP C WRITE(YCHAR,'(I5)') IBMF C BITMAP='BIT_MAP_'//YCHAR//'.DAT' C OPEN(UNIT=10,IOSTAT=IOS,ERR=455,FILE=BITMAP, 1 FORM='UNFORMATTED',STATUS='OLD') C READ(10) IBVAL,IBLEN,(IBMAP(I),I=1,IBLEN) C CLOSE(10) C GO TO 460 C 455 CONTINUE C IERR=-5 WRITE(*,9906) IOS 9906 FORMAT(1H ,'ERROR ON UNIT 10, ERROR NO. ',I6) RETURN C 460 CONTINUE C ENDIF C C END IF C C C C******************************************************************** C* C* BLOCK 4 - BINARY DATA BLOCK. C* C******************************************************************** C C C C*** C* GET LENGTH OF BINARY DATA BLOCK. C*** C C IPW = IWORD IPB = IOFF C CALL GBYTE (IGRIB(IWORD),LBIN,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C C C*** C* 4 BIT FLAG / 4 BIT COUNT OF UNUSED BITS AT END OF BLOCK OCTET. C*** C CALL GBYTE (IGRIB(IWORD),IFLAG,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C IF (ISNEW.EQ.0) C THEN C OLD VERSION OF CODE C C 0000---- GRID POINT C 0001---- SPHERICAL HARMONICS C IREP = IFLAG / 16 LNIL = IFLAG - IREP * 16 C ELSE C NEW VERSION OF CODE C C 0000---- GRID POINT C 1000---- SPHERICAL HARMONICS C IREP = IFLAG / 128 LNIL = IFLAG - IREP * 128 C ENDIF C C C C C C C C C*** C* GET SCALE FACTOR C*** C CALL GBYTE (IGRIB(IWORD),JSCALE,IOFF,16) CALL OFFSET (IOFF,1,IWORD,16,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C ISCALE = JSCALE IF (JSCALE.GE.32768) C THEN ISCALE = ISCALE - 32768 ISCALE = - ISCALE ENDIF C C C C C*** C* GET REFERENCE VALUE (FMIN) IN GRIB FORMAT (IEXP,IMANT) C*** C C CALL GBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C CHECK FOR MISSING DATA INDICATORS. C IMISS = 0 IF (JSCALE.EQ.65535.AND.IEXP.EQ.255.AND.IMANT.EQ.16777215) C IMISS = 1 C C CONVERT REFERENCE VALUE AND SCALE FACTOR. C IF (IMISS.EQ.0) C THEN CALL DECFP (FMIN,IEXP,IMANT) ZSCALE = 2.**ISCALE ENDIF C C C C C*** C* GET NUMBER OF BITS IN EACH DATA VALUE. C*** C CALL GBYTE (IGRIB(IWORD),IBITS,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C C C CHECK NUMBER OF BITS PER DATA FIELD. C IF (IBITS.GT.NBIT.OR.IBITS.GT.IMAX) C THEN IERR = -1 WRITE (*,9002) IBITS,NBIT,IMAX 9002 FORMAT (1H ,'NUMBER OF BITS PER DATA VALUE, ',I3, C 'EXCEEDS WORD LENGTH, ',I3,' OR MAXIMUM ', C ' PERMITTED VALUE, ',I3) RETURN ENDIF C C*** C* IF DATA IS IN SPHERICAL HARMONIC FORM, NEXT 4 OCTETS C* CONTAIN THE REAL (0,0) COEFFICIENT. C*** C IF (IREP.EQ.1) C THEN C C GET REAL (0,0) COEFFICIENT IN GRIB FORMAT AND C CONVERT TO FLOATING POINT. C CALL GBYTE (IGRIB(IWORD),IEXP,IOFF,8) CALL OFFSET (IOFF,1,IWORD,8,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN CALL GBYTE (IGRIB(IWORD),IMANT,IOFF,24) CALL OFFSET (IOFF,1,IWORD,24,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN IF (IMISS.EQ.1) C THEN FPDATA(1) = 0.0 ELSE CALL DECFP (FPDATA(1),IEXP,IMANT) ENDIF ENDIF C C C C C***** C* DECODE DATA VALUES TO FLOATING POINT AND STORE IN FPDATA. C***** C C FIRST CALCULATE THE NUMBER OF DATA VALUES. C JLENF = LBIN - 11 - IREP * 4 JLENF = (JLENF * 8 - LNIL) / IBITS C C CHECK LENGTH OF OUTPUT ARRAY. C IF (JLENF+IREP.GT.ILENF) C THEN IERR = -3 WRITE (*,9003) JLENF,ILENF 9003 FORMAT (1H ,'NUMBER OF VALUES TO BE DECODED IS - ',I7, C ', ARRAY SIZE - ',I7) RETURN ENDIF C CALL GBYTES (IGRIB(IWORD),FPDATA(IREP+1),IOFF,IBITS,0,JLENF) CALL OFFSET (IOFF,JLENF,IWORD,IBITS,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN C DO 500 I= IREP+1,IREP+JLENF IF (IMISS.EQ.1) C THEN FPDATA(1) = 0.0 ELSE ZGRIB = FPDATA (I) FPDATA(I) = FMIN + JGRIB * ZSCALE ENDIF 500 CONTINUE C C INCLUDE (0,0) COEFFICIENT IN COUNT, IF SPHERICAL HARMONIC DATA. C JLENF = IREP + JLENF C C C C C*** C* SKIP ANY ZERO FILL AT END OF DATA BLOCK. C*** C L = (IWORD-IPW) * NBIT + IOFF -IPB L = LBIN * 8 - L IF (L.NE.0) C THEN CALL OFFSET (IOFF,1,IWORD,L,NBIT,ILENG,IERR) IF (IERR.NE.0) RETURN ENDIF C C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C* IF BIT MAP PRESENT FILL MISSING VALUES BY RMISS. C IF(IB1PAR(4).EQ.64.OR.IB1PAR(4).EQ.192) THEN C JI=0 DO 647 J=1,IBVAL IF(IBMAP(J).EQ.0) THEN FPDATAG(J)=RMISS ELSE JI=JI+1 FPDATAG(J)=FPDATA(JI) END IF 647 CONTINUE C JLENF = IBVAL DO 649 I=1,JLENF FPDATA(I)=FPDATAG(I) 649 CONTINUE C END IF C C******************************************************************** C* C* BLOCK 5 - END BLOCK. C* C******************************************************************** C C CHECK 7 7 7 7 AT END OF CODED DATA. C C CALL GBYTES (IGRIB(IWORD),IBLOCK(1),IOFF,8,0,4) C C 55 IS THE VALUE OF ASCII CHARACTER '7' C DO 600 I=1,4 IF (IBLOCK(I).NE.55) IERR = 1 600 CONTINUE C IF (IERR.EQ.1) WRITE (*,*) ' NO 7777 GROUP FOUND ' C C C C SET NUMBER OF VALUES NEGATIVE, IF MISSING DATA VALUES. C IF (IMISS.EQ.1) JLENF = - JLENF C RETURN END emoslib-000392+dfsg.1/gribex/gbyte.F0000755000175000017500000000304412127406245020163 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GBYTE (SOURCE,DEST,IOFSET,IBYTSZ) C C----> C**** GBYTE - Extract a single bit field. Cray routine. C C* FUNCTION: GET A SINGLE BIT FIELD FROM SOURCE INTO DEST C* C* INPUT : SOURCE(1)= WORD CONTAINING START OF BIT FIELD C* DEST = TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST CONTAINS FIELD RIGHT JUSTIFIED C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* C----< PARAMETER(NBPW=64) INTEGER SOURCE(1),DEST INTEGER SH1 SH1=IOFSET+IBYTSZ-NBPW IF(SH1.GT.0) GO TO 2 C BYTES DO NOT SPAN WORDS SH1=NBPW+SH1 DEST=AND( 1 SHIFT(SOURCE(1),SH1), 2 SHIFT(MASK(IBYTSZ),IBYTSZ) 3 ) RETURN C BYTE SPANS WORDS 2 CONTINUE DEST=OR( 1 SHIFT( 2 AND(SOURCE(1),COMPL(MASK(IOFSET))) 3 ,SH1), 4 SHIFT( 5 AND(SOURCE(2),MASK(SH1)) 6 ,SH1) 7 ) RETURN END emoslib-000392+dfsg.1/gribex/lngbcr.F0000755000175000017500000001626112127406245020325 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE LNGBCR (KARRAY,KLENB) C C----> C**** LNGBCR - Calculate or extract length of GRIB field on Cray. C C Purpose. C -------- C C Calculate or extract length of GRIB field. C C** Interface. C ---------- C C CALL LNGBCR (KARRAY,KLENB) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input parameters. C ----------------- C C KARRAY - Array containing GRIB field. C C Output parameters. C ------------------ C C KLENB - Length of GRIB field in bytes. C C Method. C ------- C C The length of each GRIB encoded field is calculated C from the GRIB header Sections for Experimental Edition C or Edition 0 of GRIB code. For GRIB Edition 1 the length C is extracted from bytes 5-7 of section 0. C C Externals. C ---------- C C UNPACK C C Reference. C ---------- C C WMO GRIB Code Documentation. C C Research Department Documentation for description of C BUDG and TIDE Pseudo-Grib messages. C C Comments. C --------- C C ECMWF Pseudo-Grib fields (BUDG and TIDE)are handled by this C routine. C C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 30:04:90. C C Modifications. C -------------- C C J. Hennessy ECMWF 31:05:90. C Increase array size to accommodate vertical level C co-ordinates of model level data. Add array size check. C C J. Hennessy ECMWF 13:11:90. C Increase array size to accommodate bit maps. C C J. Hennessy ECMWF 16:05:91. C Modified to handle GRIB Edition 1. C C J. Hennessy ECMWF 23:09:92. C Washington SST made fixed length for GRIB Edition 1. C C ---------------------------------------------------------------- C----< C C C C C C C C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C PARAMETER (JPBYT=5440) C DIMENSION KARRAY(*) DIMENSION ISCATR(JPBYT) C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Unpack the data. C ---------------------------------------------------------------- C 100 CONTINUE C C Unpack first JPBYT octets of data, 1 octet per word. C CALL UNPACK (KARRAY,8,ISCATR,JPBYT) C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Identify GRIB Edition of data. C ---------------------------------------------------------------- C 200 CONTINUE C C In the Experimental GRIB Edition, octet 8 is a flag field C and can have a valid value of 0, 1, 2 or 3. C In GRIB Edition 0, octet 8 is reserved and set to 0. C In GRIB Edition 1, the edition number is in octet 8. C C However, Edition 0 of the code has a fixed length of 24 octets, C included in the message, for section 1, so if the value C contained in octets 5-7 is 24, and that in octet 8 is 0, it C is safe to assume Edition 0 of the GRIB code. C IF (ISCATR(5).EQ.0.AND.ISCATR(6).EQ.0.AND.ISCATR(7).EQ.24. C AND.ISCATR(8).EQ.0) C THEN ISNEW = 1 GO TO 400 ENDIF C C In the Experimental GRIB Edition, octets 23 and 24 are reserved C and set to 0. These octets in Edition 1 are the month and the day, C and must be non-zero. C IF (ISCATR(22).EQ.0.AND.ISCATR(23).EQ.0) C THEN ISNEW = 0 GO TO 400 ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Extract GRIB length from Edition 1 data. C ---------------------------------------------------------------- C 300 CONTINUE C C Edition number is 1, so extract length from octets 5-7. C KLENB = SHIFTL(ISCATR(5),16) + SHIFTL(ISCATR(6),8) + ISCATR(7) IF (ISCATR(13).EQ.7.AND.ISCATR(17).EQ.139) KLENB = 34920 GO TO 900 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 4 . Calculate GRIB length. C ---------------------------------------------------------------- C 400 CONTINUE C C NMC Washington Sea Surface Temperature analysis is a global C field made in ECMWF from 8 component fields received on the GTS C and coded in GRIB using ECMWF field code 139. This field C contains a bit map and varies in length. For archiving purposes C a fixed length was used (34920) bytes. NMC has code figure 7 C as centre of origin. Experimental Edition of GRIB was never C used for this product. C IF (ISNEW.EQ.1.AND.ISCATR(9).EQ.7.AND.ISCATR(13).EQ.139) C THEN KLENB = 34920 GO TO 900 ENDIF C C Count of octets in Section 0. C KLENB = 4 C C Count of octets in Section 1 - code edition dependent. C KLENB = KLENB + 20 + (ISNEW*4) C C Check if optional Section 2 is present. C IFLAG = ISCATR(8+4*ISNEW) INC = 0 IF (ISNEW.EQ.0) C THEN IF (IFLAG.EQ.1.OR.IFLAG.EQ.3) INC = 1 ELSE IF (IFLAG.EQ.128.OR.IFLAG.EQ.192) INC = 1 ENDIF C IF (INC.EQ.1) C KLENB = KLENB + SHIFTL(ISCATR(KLENB+1),16) + C SHIFTL(ISCATR(KLENB+2),8) + ISCATR(KLENB+3) C C Check on array length. C IF (KLENB.GT.JPBYT) C THEN WRITE (*,9001) CALL ABORT ENDIF C C Check if optional Section 3 is present. C INC = 0 IF (ISNEW.EQ.0) C THEN IF (IFLAG.EQ.2.OR.IFLAG.EQ.3) INC = 1 ELSE IF (IFLAG.EQ.64.OR.IFLAG.EQ.192) INC = 1 ENDIF C IF (INC.EQ.1) C KLENB = KLENB + SHIFTL(ISCATR(KLENB+1),16) + C SHIFTL(ISCATR(KLENB+2),8) + ISCATR(KLENB+3) C C Check on array length. C IF ((KLENB+3).GT.JPBYT) C THEN WRITE (*,9001) CALL ABORT ENDIF C C Length of binary data Section 4. C KLENB = KLENB + SHIFTL(ISCATR(KLENB+1),16) + C SHIFTL(ISCATR(KLENB+2),8) + ISCATR(KLENB+3) C C Length of Section 5. C KLENB = KLENB + 4 C C ---------------------------------------------------------------- C C C C C C C C C C* Section 9 . Return to calling routine. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'LNGBCR : Array ISCATR limits exceeded.') C RETURN C END emoslib-000392+dfsg.1/gribex/chktab2.F0000755000175000017500000001527712127406245020402 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION CHKTAB2 ( KSEC1, X HFIRST, HSECOND, HTHIRD, HFOURTH) C C----> C**** CHKTAB2 C C Purpose C ------- C C Checks whether or not a parameter appears in a given code C table 2 for WMO code FM 92-X Ext. GRIB (WMO standard, ECMWF local, C or even local from another centre). C C C Interface C --------- C C IRET = CHKTAB2(KSEC1, HFIRST, HSECOND, HTHIRD, HFOURTH) C C Input C ----- C C KSEC1 - Section 1 values for a GRIB product. C C C Output C ------ C C HFIRST - First line of descriptor: MARS mnemonic C HSECOND - Second line of descriptor: Parameter description C HTHIRD - Third line of descriptor: Units for the parameter C HFOURTH - Fourth line of descriptor: Description of units C C Function return value is: C 0 - Parameter found in table C 20001 - No match found for the parameter number in the given table. C 20002 - Error opening the file holding the given table. C 20003 - Error finding an unused fortran unit number for reading table. C C C Method C ------ C C Use TAB2FIL to determine file name for code table. C C Entry for each parameter in table has the format (without quotes): C "......................" Separator C "051" Paramter number C "MX2T24" MARS mnemonic C "Max 2m temp" Parameter description C "K" Units for the parameter C "During previous 24 hours" Further description C C There is a termination "......................" line in the file C and there may be lines of comment before the first parameter entry. C C The current parameter definition file is kept open between calls. C C C Externals C --------- C TAB2FIL - Builds code table 2 file name. C C C Author C ------ C C J.D.Chambers ECMWF March 1999 C C C MODIFICATIONS C _____________ C C J. Clochard, Meteo France, for ECMWF - June 1999. C Argument KSEC1 instead of KPARAM and KTABLE for replacement of C LOCAL2K, and code tables management. C Use TAB2FIL function for file name building. C C _______________________________________________________ C----< C C IMPLICIT NONE C C Parameters C INTEGER JPROUTINE, JPMAXTB, JPDITB PARAMETER ( JPROUTINE = 20000, JPMAXTB = 10, JPDITB = 256 ) C C Function arguments C INTEGER KSEC1 (*) C CHARACTER*(*) HFIRST, HSECOND, HTHIRD, HFOURTH C C Local variables C LOGICAL LNEWTAB INTEGER TABLE2(JPDITB,JPMAXTB), INDTAB, NUMTAB, LOOP, NEXT INTEGER IPR, IRET, ISTATUS, ITABLE, IPARAM, ICENTR C CHARACTER*81 YFIRST(2:JPDITB,JPMAXTB), YSECOND(2:JPDITB,JPMAXTB) CHARACTER*81 YTHIRD(2:JPDITB,JPMAXTB), YFOURTH(2:JPDITB,JPMAXTB) CHARACTER*256 YFILE, YDUMMY C INTEGER NUNIT C SAVE NUNIT, NUMTAB, TABLE2, YFIRST, YSECOND, YTHIRD, YFOURTH C C External functions C INTEGER TAB2FIL EXTERNAL TAB2FIL C DATA NUMTAB/0/ C C C ------------------------------------------------------------------ C* Section 1. Initialise C ------------------------------------------------------------------ C 100 CONTINUE C C See if a new table is requested. C ITABLE = KSEC1(1) IF( KSEC1(22).EQ.98 ) THEN ICENTR = 98 ELSE ICENTR = KSEC1(2) ENDIF IPARAM = KSEC1(6) C IF( MAX( ITABLE, IPARAM) .GT. 127 ) THEN ITABLE = 1000*ICENTR + ITABLE ENDIF C LNEWTAB = .TRUE. C print *, 'CHKTAB2: TABLE2(1,:)=', TABLE2(1,:NUMTAB) DO LOOP = 1, NUMTAB IF( ITABLE.EQ.TABLE2(1,LOOP) ) THEN LNEWTAB = .FALSE. INDTAB = LOOP GOTO 300 ENDIF ENDDO C C Read values in the new table. C IF( LNEWTAB ) THEN NUMTAB = NUMTAB + 1 IF( NUMTAB.GT.JPMAXTB ) NUMTAB = 1 INDTAB = NUMTAB TABLE2(1,INDTAB) = ITABLE C DO LOOP = 2, JPDITB TABLE2(LOOP,INDTAB) = 0 ENDDO C C Find an unused fortran unit number C IPR = 0 CALL FTN1CR(NUNIT, IPR, IRET) IF( IRET.NE.0 ) THEN NUMTAB = NUMTAB - 1 CHKTAB2 = JPROUTINE + 3 RETURN ENDIF C C Build filename C IRET = TAB2FIL( KSEC1(1), IPARAM, ICENTR, YFILE ) C C Open file C OPEN(UNIT=NUNIT, FILE=YFILE, ERR=910, IOSTAT=ISTATUS, X STATUS='OLD',FORM='FORMATTED') REWIND(UNIT=NUNIT) C C ------------------------------------------------------------------ C* Section 2. Fill the new parameter table. C ------------------------------------------------------------------ C 200 CONTINUE NEXT = 1 C C Skip lines until '......................' separator found C 210 CONTINUE READ(NUNIT,'(A)',END=230) YDUMMY IF( YDUMMY(1:22).EQ.'......................') GOTO 225 GOTO 210 C C Loop through file C 220 CONTINUE READ(NUNIT,'(A)',END=230) YDUMMY 225 CONTINUE NEXT = NEXT + 1 READ(NUNIT,'(I3.3)',END=230) TABLE2(NEXT,INDTAB) READ(NUNIT,'(A)',END=230) YFIRST(NEXT,INDTAB) READ(NUNIT,'(A)',END=230) YSECOND(NEXT,INDTAB) READ(NUNIT,'(A)',END=230) YTHIRD(NEXT,INDTAB) READ(NUNIT,'(A)',END=230) YFOURTH(NEXT,INDTAB) GOTO 220 C 230 CONTINUE C CLOSE(UNIT=NUNIT) C ENDIF C C ------------------------------------------------------------------ C* Section 3. Search for parameter in the table. C ------------------------------------------------------------------ C 300 CONTINUE C CHKTAB2 = JPROUTINE + 1 C DO LOOP = 2,JPDITB IF( IPARAM.EQ.TABLE2(LOOP,INDTAB) ) THEN HFIRST = YFIRST(LOOP,INDTAB) HSECOND = YSECOND(LOOP,INDTAB) HTHIRD = YTHIRD(LOOP,INDTAB) HFOURTH = YFOURTH(LOOP,INDTAB) CHKTAB2 = 0 RETURN ENDIF ENDDO C C ------------------------------------------------------------------ C* Section 9. Closedown. C ------------------------------------------------------------------ C C Drop through if not found. C RETURN C C Error opening table file C 910 CONTINUE TABLE2(1,NUMTAB) = -1 NUMTAB = NUMTAB - 1 CHKTAB2 = JPROUTINE + 2 RETURN END emoslib-000392+dfsg.1/gribex/ecdef6.h0000755000175000017500000000611612127406245020252 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 6. C Surface temperature data. C ---------------------------------- C C GRIB code C KSEC1(NN) section 1 C octet(s) C --------- --------- C C 37 41 ECMWF local GRIB use definition identifier C = 6 C = surface temperature fields made from SST and C SSMI data with first-guess values inserted on C land points. C C 38 42 Class : 1 = Operations C C 39 43 Type : 2 = Analysis C C 40 44-45 Stream : 1025 = Daily archive C C 41 46-49 Expver : Version number/experiment identifier. C (4 Ascii characters, right justified) C C 42 50 Zero, for compatibility with MARS labelling. C C 43 51 Zero, for compatibility with MARS labelling. C C 44 52-54 Date of SST field used; YYYYMMDD. C (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 45 55 Type of SST field used: C 0 = climatology C 1 = 1/1 degree sst data C 2 = 2/2 degree sst data C C 46 56 Count of ICE fields used (n, say). C (NB. n maybe 0). C C 47 57-59 Date of first ICE field used; YYYYMMDD. C (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 48 60 First day satellite number (ICE data) C C 49 61-63 Date of second ICE field used ; YYYYMMDD. C (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 50 64 Second day satellite number (ICE data) C C 51 65-67 Date of third ICE field used ; YYYYMMDD. C (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 52 68 Third day satellite number (ICE data) C C C ... C C 45+(n*2) 53+(n*4) Date of nth field used; YYYYMMDD. C ->55+(n*4) (Stored in 3 bytes as YYYYMMDD-19000000. C Zero = date not given.) C C 46+(n*2) 56+(n*4) Nth day satellite number (ICE data) C C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/ftn1cr.F0000755000175000017500000000674312127406245020257 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE FTN1CR ( KNUM , KPR ,KRET ) C C----> C**** FTN1CR C C PURPOSE. C -------- C C GIVES FORTRAN UNIT NUMBER NOT CURRENTLY IN USE. C C** INTERFACE. C ---------- C C CALL FTN1CR ( KNUM , KPR ,KRET ) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C INPUT PARAMETERS. C ----------------- C C KPR - DEBUG PRINT SWITCH. C 0 , NO PRINTOUT. C 1 , DEBUG PRINTOUT. C C OUTPUT PARAMETERS. C ------------------ C C KNUM - FREE FORTRAN UNIT NUMBER. C KRET - ERROR RETURN CODE. C 0 , NO ERROR ENCOUNTERED. C 1 , NO UNIT NUMBER FREE. C C METHOD. C ------- C C INQUIRE STATEMENT ON CRAY ALIAS USED. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C NONE. C C COMMENTS. C --------- C C ROUTINE CONTAINS SECTIONS 0 , 2 AND SECTION 9. C C AUTHOR. C ------- C C J. HENNESSY ECMWF 12.07.89. C C MODIFICATIONS C -------------- C C NONE. C C----< C ---------------------------------------------------------------- C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 1 . SET INITIAL VALUES. C ---------------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'FTN1CR : SECTION 1.' C KRET = 0 C C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 2 . INQUIRE FOR FREE UNIT. C ---------------------------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'FTN1CR : SECTION 2.' C DO 2010 J2010 = 99,1,-1 IF (J2010.EQ.5) GO TO 2010 IF (J2010.EQ.6) GO TO 2010 WRITE (YALIAS,'(A,I2.2)') 'FT',J2010 INQUIRE (FILE=YALIAS,EXIST=LEX) IF (LEX) GO TO 2010 KNUM = J2010 GO TO 2050 2010 CONTINUE C C NO FREE UNIT FOUND. C KRET = 1 C WRITE (*,9001) C 2050 CONTINUE C IF (KPR.EQ.1) WRITE (*,9002) KNUM C GO TO 9000 C C C ---------------------------------------------------------------- C C C C C C C C C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE. FORMAT STATEMENTS. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'FTN1CR : SECTION 9.' C C RETURN C C 9001 FORMAT (1H ,'FTN1CR : NO FORTRAN UNIT AVAILABLE.') C 9002 FORMAT (1H ,'FTN1CR : FORTRAN UNIT ALLOCATED = ',I3) C C C ------------------------------------------------------------------ C C END emoslib-000392+dfsg.1/gribex/getlgd.F0000755000175000017500000001112712127406245020320 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETLGD (KLGD,OLND,KLEN,KARAY,KPR,KRET) C C----> C ---------------------------------------------------------------- C C**** C C PURPOSE. C -------- C C GET LOGICAL DATA FROM RECORD OF UNPACKED GRIB C OR PSEUDO-GRIB DATA. C C** INTERFACE. C ---------- C C CALL GETLGD (KLGD,OLND,KLEN,KARAY,KPR,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C INPUT PARAMETERS. C ----------------- C C OLND - ARRAY TO RECEIVE LOGICAL DATA. C KLEN - LENGTH OF THIS ARRAY. C KARAY - ARRAY CONTAINING UNPACKED RECORD. C KPR - DEBUG PRINT SWITCH. C 0 , NO PRINTOUT. C 1 , DEBUG PRINTOUT. C C KRET - ABORT/NO ABORT WHEN ERROR FOUND. C 0 , ABORT IF ERROR FOUND. C NON-ZERO , NO ABORT ON ERROR. C C OUTPUT PARAMETERS. C ------------------ C C KRET - ERROR RETURN CODE. C 0 , NO ERROR ENCOUNTERED. C 1 , TARGET ARRAY TOO SMALL. C OLND - LOGICAL DATA. C KLGD - NUMBER OF VALUES IN THIS ARRAY. C C METHOD. C ------- C C UNPACKED DATA IS IN SELF-DEFINING RECORDS. THE REQUIRED C VALUES ARE LOCATED AND EXTRACTED. C C EXTERNALS. C ---------- C C NONE. C C REFERENCE. C ---------- C C SEE MARS FORMAT DOCUMENTATION RE GRIB, PSEUDO-GRIB AND C UNPACKED RECORD FORMATS. C C COMMENTS. C --------- C C PROGRAM CONTAINS SECTIONS 0 TO 2 AND SECTION 9. C C AUTHOR. C ------- C C J. HENNESSY ECMWF 18:06:86. C C MODIFICATIONS C -------------- C NONE. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* SECTION 0 . DEFINITION OF VARIABLES. C ------------------------------------ C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C DIMENSION KARAY(*) DIMENSION OLND(KLEN) C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 1 . SET INITIAL VALUES. CHECK INPUT PARAMETERS. C ------------------------------------------------------- C 1000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETLGD : SECTION 1.' C IRET = KRET KRET = 0 C C C* GO TO SECTION 9 , IF ERROR IN PARAMETERS. C IF (KRET.NE.0) GO TO 9000 C C ---------------------------------------------------------------- C C C C C C C C C C* SECTION 2 . LOCATE AND EXTRACT VALUES. C -------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETLGD : SECTION 2.' C ILB1 = KARAY(2) ILB2 = KARAY(2+ILB1+1) ILF2 = KARAY(2+ILB1+1+ILB2+1) ILB3 = KARAY(2+ILB1+1+ILB2+1+ILF2+1) ILCD = KARAY(2+ILB1+1+ILB2+1+ILF2+1+ILB3+1) ILFD = KARAY(2+ILB1+1+ILB2+1+ILF2+1+ILB3+1+ILCD+1) ILID = KARAY(2+ILB1+1+ILB2+1+ILF2+1+ILB3+1+ILCD+1+ILFD+1) KLGD = KARAY(2+ILB1+1+ILB2+1+ILF2+1+ILB3+1+ILCD+1+ILFD+1+ILID+1) C IF (KLEN.LT.KLGD) C THEN KRET = 1 WRITE (*,9001) KRET , KLGD GO TO 9000 ENDIF C DO 2010 J=1,KLGD IVAL = KARAY(J+2+ILB1+1+ILB2+1+ILF2+1+ILB3+1+ILCD+1+ILFD+1 C +KLGD+1) OLND(J) = .FALSE. IF (IVAL.EQ.1) OLND(J) = .TRUE. 2010 CONTINUE C C C ---------------------------------------------------------------- C C C C C C C C* SECTION 9 . RETURN TO CALLING ROUTINE OR ABORT. FORMAT STATEMENTS. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'GETLGD : SECTION 9.' C IF (KRET.NE.0.AND.IRET.EQ.0) CALL ABORT C RETURN C C 9001 FORMAT (1H ,'GETLGD : ERROR CODE = ',I3,'. TARGET ARRAY MUST ', C 'BE AT LEAST ',I5,' WORDS LONG.') C C C --------------------------------------------------------------- C C END C emoslib-000392+dfsg.1/gribex/delsp.F0000755000175000017500000001277312127406245020171 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE DELSP (HCHAR) C C----> C**** DELSP - Delete spaces around valid MARS directive separators. C C Purpose. C -------- C C Removes any spaces before and after any characters C encountered in input string, which are valid separators C in a MARS command line. These are / , = " . C Any spaces between minus sign and number are also removed. C C** Interface. C ---------- C C CALL DELSP (HCHAR) C C Integer K. C Real P. C Logical O. C Character H. C C Input parameters. C ----------------- C C HCHAR - Character string to be modified. C C Output parameters. C ------------------ C C HCHAR - Modified character string. C C Method. C ------- C C Uses index function to locate any spaces to be C removed. C C Externals. C ---------- C C RTB C C Reference. C ---------- C C None. C C Comments. C --------- C C Program contains sections 0 to 2 and section 9. C C Author. C ------- C C J. Hennessy ECMWF 01.09:86. C C Modifications C -------------- C C J. Hennessy ECMWF 30.03.87 C Prevent looping when string ends with a separator. C C J. Hennessy ECMWF 18.07.91 C Other separators added. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C CHARACTER*(*) HCHAR C INTEGER I INTEGER IEND INTEGER RTB C C ---------------------------------------------------------------- C C C C C C C C C C* Section 1 . Remove any spaces before separators. C ---------------------------------------------------------------- C c-- WRITE (*,9000) c-- WRITE (*,9002) HCHAR C 100 CONTINUE C I = INDEX (HCHAR(1:),' /') C IF (I.NE.0) C THEN HCHAR(I:) = HCHAR(I+1:) GO TO 100 ENDIF C 110 CONTINUE C I = INDEX (HCHAR(1:),' ,') C IF (I.NE.0) C THEN HCHAR(I:) = HCHAR(I+1:) GO TO 110 ENDIF C 120 CONTINUE C I = INDEX (HCHAR(1:),' =') C IF (I.NE.0) C THEN HCHAR(I:) = HCHAR(I+1:) GO TO 120 ENDIF C 130 CONTINUE C I = INDEX (HCHAR(1:),' "') C IF (I.NE.0) C THEN HCHAR(I:) = HCHAR(I+1:) GO TO 130 ENDIF C 140 CONTINUE C I = INDEX (HCHAR(1:),' .') C IF (I.NE.0) C THEN HCHAR(I:) = HCHAR(I+1:) GO TO 140 ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C* Section 2 . Remove any spaces after separators. C ---------------------------------------------------------------- C iend = rtb (hchar) 200 CONTINUE C I = INDEX (HCHAR(1:),'/ ') C C* Go to section 9 if string ends '/ '. C c++ IEND = RTB (HCHAR) IF (IEND.EQ.I) GO TO 210 C IF (I.NE.0) C THEN HCHAR(I+1:) = HCHAR(I+2:) iend = iend - 1 GO TO 200 ENDIF C 210 CONTINUE C I = INDEX (HCHAR(1:),', ') C C* Go to section 9 if string ends ', '. C IEND = RTB (HCHAR) IF (IEND.EQ.I) GO TO 220 C IF (I.NE.0) C THEN HCHAR(I+1:) = HCHAR(I+2:) GO TO 210 ENDIF C 220 CONTINUE C I = INDEX (HCHAR(1:),'= ') C C* Go to section 9 if string ends '= '. C IEND = RTB (HCHAR) IF (IEND.EQ.I) GO TO 230 C IF (I.NE.0) C THEN HCHAR(I+1:) = HCHAR(I+2:) GO TO 220 ENDIF C 230 CONTINUE C I = INDEX (HCHAR(1:),'" ') C C* Go to section 9 if string ends '" '. C IEND = RTB (HCHAR) IF (IEND.EQ.I) GO TO 240 C IF (I.NE.0) C THEN HCHAR(I+1:) = HCHAR(I+2:) GO TO 230 ENDIF C 240 CONTINUE C I = INDEX (HCHAR(1:),'. ') C C* Go to section 9 if string ends '. '. C IEND = RTB (HCHAR) IF (IEND.EQ.I) GO TO 250 C IF (I.NE.0) C THEN HCHAR(I+1:) = HCHAR(I+2:) GO TO 240 ENDIF C 250 CONTINUE C I = INDEX (HCHAR(1:),'- ') C C* Go to section 9 if string ends '- '. C IEND = RTB (HCHAR) IF (IEND.EQ.I) GO TO 260 C IF (I.NE.0) C THEN HCHAR(I+1:) = HCHAR(I+2:) GO TO 250 ENDIF C 260 CONTINUE C c-- WRITE (*,9001) c-- WRITE (*,9002) HCHAR C C ---------------------------------------------------------------- C C C C C C C C C C C C C C* Section 9 . Return to calling routine. C ------------------------------------------------------------------ C 900 CONTINUE C RETURN C 9000 FORMAT (1H ,'DELSP : Input string :-') C 9001 FORMAT (1H ,'DELSP : Output string :-') C 9002 FORMAT (1H ,A) C END emoslib-000392+dfsg.1/gribex/qu2reg.F0000755000175000017500000001734112127406245020263 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE QU2REG (PFIELD,KPOINT,KLAT,KLON,KCODE) C C----> C**** QU2REG - Convert quasi-regular grid data to regular. C C Purpose. C -------- C C Convert quasi-regular grid data to regular, C using either a linear or cubic interpolation. C C** Interface. C ---------- C C CALL QU2REG (PFIELD,KPOINT,KLAT,KLON,KCODE) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C PFIELD - Array containing quasi-regular grid C data. C C KPOINT - Array containing list of the number of C points on each latitude (or longitude) of C the quasi-regular grid. C C KLAT - Number of latitude lines C C KLON - Number of longitude lines C C KCODE - Interpolation required. C 1 , linear - data quasi-regular on C latitude lines. C 3 , cubic - data quasi-regular on C latitude lines. C 11, linear - data quasi-regular on C longitude lines. C 13, cubic - data quasi-regular on C longitude lines. C C Output Parameters. C ------------------ C C PFIELD - Array containing regular grid data. C C Method. C ------- C C Data is interpolated and expanded into a temporary array, C which is then copied back into the user's array. C Routine aborts if an invalid interpolation is requested or C field size exceeds array dimensions. C C Externals. C ---------- C C ROWINA C ABORTX C C Reference. C ---------- C C WMO Manual on Codes for GRIB code specifications of C quasi-regular grids. C C Comments. C --------- C C This routine is an adaptation of INTPGRR and runs C on the Cray only. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.10.91 C Call to ROWINT changed to call to ROWINA. C ROWINA called if only number of values required is not C the same as the input number. C C J. Hennessy ECMWF 07.01.92 C Call to ABORT changed to ABORTX. C C ----------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0. Definition of variables. Data statements. C ----------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C #ifdef CRAY IMPLICIT NONE #endif C INTEGER ICODE INTEGER ILII INTEGER ILIO INTEGER IQUANO INTEGER IREGNO C INTEGER JPMAX C INTEGER J210 INTEGER J220 INTEGER J225 INTEGER J230 INTEGER J240 C INTEGER KCODE INTEGER KLAT INTEGER KLON INTEGER KPOINT C REAL PFIELD C REAL ZLINE REAL ZTEMP REAL ZWORK C C Maximum number of latitudes (or longitudes), for which arrays C are dimensioned. C PARAMETER (JPMAX=320) C DIMENSION PFIELD(*) DIMENSION ZTEMP(JPMAX*JPMAX*2) DIMENSION ZLINE(JPMAX*2) DIMENSION ZWORK(0:JPMAX*2+2,3) C DIMENSION KPOINT(*) C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1. Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C C Check input parameters. C IF (KCODE.NE.1.AND.KCODE.NE.3.AND. C KCODE.NE.11.AND.KCODE.NE.13) C THEN WRITE (*,9001) KCODE CALL ABORTX ('QU2REG') ENDIF C IF (KLAT.GT.JPMAX) C THEN WRITE (*,9002) KLAT , JPMAX CALL ABORTX ('QU2REG') ENDIF C IF (KLON.GT.JPMAX*2) C THEN WRITE (*,9003) KLAT , JPMAX*2 CALL ABORTX ('QU2REG') ENDIF C C Set array indices to 0. C ILII = 0 ILIO = 0 C C Establish values of loop parameters. C IF (KCODE.GT.10) C THEN C C Quasi-regular along longitude lines. C IQUANO = KLON IREGNO = KLAT ICODE = KCODE - 10 ELSE C C Quasi-regular along latitude lines. C IQUANO = KLAT IREGNO = KLON ICODE = KCODE ENDIF C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 2. Interpolate field from quasi to regular grid. C ------------------------------------------------------------------ C 200 CONTINUE C DO 230 J230=1,IQUANO C IF (IREGNO.NE.KPOINT(J230)) C THEN C C Line contains less values than required,so C extract quasi-regular grid values for a line C DO 210 J210=1,KPOINT(J230) ILII = ILII+1 ZLINE(J210) = PFIELD(ILII) 210 CONTINUE C C and interpolate this line. C CALL ROWINA (ZLINE,IREGNO,KPOINT(J230),ZWORK,ICODE) C C Add regular grid values for this line to the temporary C array. C DO 220 J220=1,IREGNO ILIO = ILIO+1 ZTEMP(ILIO) = ZLINE(J220) 220 CONTINUE C ELSE C C Line contains the required number of values, so add C this line to the temporary array. C DO 225 J225=1,IREGNO ILIO = ILIO+1 ILII = ILII+1 ZTEMP(ILIO) = PFIELD(ILII) 225 CONTINUE C ENDIF C 230 CONTINUE C C Copy temporary array to user array. C DO 240 J240=1,KLON*KLAT PFIELD(J240) = ZTEMP(J240) 240 CONTINUE C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 9. Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'QU2REG : Invalid interpolation type code = ',I3) C 9002 FORMAT (1H ,'QU2REG : Number of latitudes is ',I4,', maximum ', C 'allowed is ',I3,'.') C 9003 FORMAT (1H ,'QU2REG : Number of longitudes is ',I4,', maximum ', C 'allowed is ',I3,'.') C RETURN C END emoslib-000392+dfsg.1/gribex/Makefile0000755000175000017500000000102012127406245020372 0ustar amckinstryamckinstry# # Makefile for libemos/gribex # LIBRARY = ../lib$(LIB)$(R64).a # include ../config/config.$(ARCH)$(CNAME)$(R64)$(A64) # include ../options/options_$(ARCH) # TARGETS = all clean # include sources.$(ARCH) # OBJECTS.F = $(SOURCES.F:.F=.o) OBJECTS.c = $(SOURCES.c:.c=.o) OBJECTS = $(OBJECTS.F) $(OBJECTS.c) # # .PRECIOUS: $(LIBRARY) all: $(LIBRARY) $(LIBRARY): $(OBJECTS) $(EXTRAOBJ) $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ include make.dep clean: \rm -f $(OBJECTS) *.f emoslib-000392+dfsg.1/gribex/grsrnd.F0000755000175000017500000000666112127406245020360 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSRND (KRND) C C----> C**** GRSRND - Set GRIB code rounding/no rounding for routine GRIBEX. C C Purpose. C -------- C C Switch GRIB length rounding on/off for routine GRIBEX. C C** Interface. C ---------- C C CALL GRSRND (KRND) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KRND - Value checking switch. C 0 , No rounding. C Non-zero , Values rounded. C C Output Parameters. C ------------------ C C GRSDEF - Default setting of global variables. C C Method. C ------- C C The variable NRND is set in the common area. All other C parameters are also set to default values, if they have C not already been set by the user. C C Externals. C ---------- C C None. C C Reference. C ---------- C C See subroutine GRIBEX. C C Comments. C --------- C C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 25.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 28.08.91 C Changes to some comments only. C C J. Hennessy ECMWF 14.11.91 C Changes to common area. C C J. Hennessy ECMWF 07.01.92 C Input parameter returned unchanged. C C J.D.Chambers ECMWF 13.09.94 C Add NONOFF and NOABORT, use grbcom.h C C J. Clochard, Meteo France, for ECMWF - January 1998. C Use GRSDEF routine for default setting. C C J. Clochard, Meteo France, for ECMWF - June 1999. C Use a static variable to determine if initialisation of C default values has already been done for common area C variables. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C INTEGER KRND C INTEGER IRND C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C IRND = 0 IF (KRND.NE.0) IRND = 1 C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C Set rounding to 120 bytes to required value. C NRND = IRND C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/inscal.F0000755000175000017500000000761112127406245020326 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE INSCAL (PDATA,KDATA,KLEN,PREF,PSCALE,NBPV) C C----> C**** INSCAL - Vectorise calculation of increments. C C Purpose. C -------- C C Vectorise calculation of increments. C C** Interface. C ---------- C C CALL INSCAL (PDATA,KDATA,KLEN,PREF,PSCALE,NBPV) C C C Input Parameters. C ----------------- C C PDATA - Array of floating point values. C KLEN - Number of values to be converted. C PREF - Reference value. C PSCALE - Scale factor. C NBPV - Number of bits per packed value C C Output Parameters. C ----------------- C C KDATA - Array of integer increments C C Method. C ------- C C The reference value is subtracted from each value, C and the result is then divided by the scale factor. C C Externals. C ---------- C C None. C C Reference. C ---------- C C WMO Manual on Codes re GRIB representation. C C Comments. C -------- C C PDATA and KDATA are really the same array. This routine C is just a device to force vectorisation on the Cray, C without the necessity of using another array. C C C Author. C ------- C C J. Hennessy ECMWF 25.06.91 C C Modifications. C _____________ C C J.D.Chambers ECMWF 21.11.94 C Use JNINT on VAX C C J.D.Chambers ECMWF 21.11.94 C Check number of bits per value is not exceeded C C P.J.Towers ECMWF 18.07.02 C Optimised for IBM Power4. C -Merged loops C -Replaced Nint(x) by Int(x+0.5) C -Replaced division by scale by multiplication by reciprocal C C R. El Khatib / D. Paradis METEO-FRANCE 06.02.08 C - (No conversion if the value exceeds the number of bits for C integers C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C #ifdef CRAY IMPLICIT NONE #endif #include "grbcom.h" #include "grprs.h" C INTEGER KDATA(KLEN), NBPV, LOOP, MAXNBPV INTEGER INTEMAX C REAL PDATA(KLEN), PREF, PSCALE REAL ZRECIP REAL ZI LOGICAL LPDEBUG C C ----------------------------------------------------------------- C* Section 1 . Calculation of increments. C ----------------------------------------------------------------- C 100 CONTINUE C LPDEBUG = ( NDBG.GE.1 ) MAXNBPV = 2**NBPV ZRECIP = 1.0 / PSCALE IF( LPDEBUG ) THEN WRITE(GRPRSM,*) 'INSCAL: MAXNBPV = ', MAXNBPV WRITE(GRPRSM,*) 'INSCAL: PSCALE = ', PSCALE WRITE(GRPRSM,*) 'INSCAL: ZRECIP = ', ZRECIP WRITE(GRPRSM,*) 'INSCAL: PREF = ', PREF WRITE(GRPRSM,*) 'INSCAL: KLEN = ', KLEN ENDIF #ifdef JBPW_64 INTEMAX = 140737488355327 #else INTEMAX = 2147483647 #endif DO LOOP = 1,KLEN #ifdef VAX KDATA(LOOP) = JNINT ( (PDATA(LOOP) - PREF) / PSCALE ) #else ZI = (PDATA(LOOP) - PREF) * ZRECIP + 0.5 IF (ABS(ZI) .GE. INTEMAX) THEN KDATA(LOOP) = MAXNBPV - 1 ELSE KDATA(LOOP) = INT ( ZI ) ENDIF #endif IF( KDATA(LOOP).GE.MAXNBPV ) KDATA(LOOP) = MAXNBPV - 1 IF( KDATA(LOOP).LT.0 ) KDATA(LOOP) = 0 ENDDO C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/swap4.c0000755000175000017500000000141612127406245020145 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include void swap4_(char * version) { /* // Swaps the order of characters in experiment version (for little-endian) // // Called from FORTRAN: // // CALL SWAP4(KSEC1(41)) */ char copy[4]; memcpy(copy,version,4); version[0] = copy[3]; version[1] = copy[2]; version[2] = copy[1]; version[3] = copy[0]; return; } void swap4(char * version) { swap4_(version); } emoslib-000392+dfsg.1/gribex/ellsec2.F0000755000175000017500000001700312127406245020402 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION ELLSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS, X LQUASI) C C----> C**** ELLSEC2P C C PURPOSE C _______ C C Encodes GRIB section 2 values for lat/long grid fields. C C INTERFACE C _________ C C IRET = ELLSEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS,LQUASI)) C C Input parameters C ________________ C C KGRIB - GRIB product built so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product built so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C LQUASI - .TRUE. if gaussian grid is quasi-regular (reduced). C C C Output parameters C ________________ C C KGRIB - Updated GRIB product to end of section 2. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Packs values given in KSEC2 into KGRIB and updates bit C pointer INSPT. C C Externals C _________ C C CSGNBT - Set the sign bit. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) LOGICAL LQUASI C C Local variables C INTEGER ILALO(2), IRET, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C ELLSEC2 = 0 C C _______________________________________________________ C C Section 2. Pack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along a parallel. C Octets 9 - 10 : Nj - number of points along a meridian. C Two 16 bit fields. C C WARNING!! C For quasi-regular grids, it is here assumed that Ni is variable, C i.e. that the number of points along a parallel is variable but C that the number of points along a meridian is fixed. C C For quasi-regular grids Ni is set to all 1 bits, as C the number of points is different on different parallels. C C Set to all 1 bits. C IF( LQUASI ) KSEC2(2) = JP16SET C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'C',IRET) IF( IRET.NE.0) THEN ELLSEC2 = 1 WRITE(GRPRSM,*) 'ELLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'ELLSEC2: number of pts along parallel or meridian.' WRITE(GRPRSM,*) 'ELLSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(4), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(5), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'C',IRET) IF( IRET.NE.0) THEN ELLSEC2 = 1 WRITE(GRPRSM,*) 'ELLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'ELLSEC2: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'ELLSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octet 17 : Resolution and components flag. C One 8 bit field. C IRESOL = KSEC2(6)+KSEC2(18)+KSEC2(19) C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'C',IRET) IF( IRET.NE.0) THEN ELLSEC2 = 1 WRITE(GRPRSM,*) 'ELLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'ELLSEC2: components flag.' WRITE(GRPRSM,*) 'ELLSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 18 - 20 : La2 - latitude of last grid point. C Octets 21 - 23 : Lo2 - longitude of last grid point. C Two 24 bit fields. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(7), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(8), 24, IRET) C C Insert / extract fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'C',IRET) IF( IRET.NE.0) THEN ELLSEC2 = 1 WRITE(GRPRSM,*) 'ELLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) X 'ELLSEC2: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'ELLSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 24 - 25 : Di - i direction increment. C One 16 bit field. C C For quasi-regular grids all Di bits are set to 1, as C the increment is different on different parallels. C C If field not given, set to all bits to 1. C Ce Set to all 1 bits. IF( LQUASI) KSEC2(9) = JP16SET Ce Ce If increments not given, set all bits to 1. IF( KSEC2(6).EQ.0) KSEC2(9) = JP16SET C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),1,IBITS, 16,'C',IRET) IF( IRET.NE.0) THEN ELLSEC2 = 1 WRITE(GRPRSM,*) 'ELLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'ELLSEC2: i direction increment.' WRITE(GRPRSM,*) 'ELLSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octets 26 - 27 : Dj - j direction increment. C One 16 bit field. C C If field not given, set to all bits to 1. C IF( KSEC2(6).EQ.0) KSEC2(10) = JP16SET C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(10),1,IBITS, 16,'C',IRET) IF( IRET.NE.0) THEN ELLSEC2 = 1 WRITE(GRPRSM,*) 'ELLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'ELLSEC2: j direction increment.' WRITE(GRPRSM,*) 'ELLSEC2: Return code = ', IRET GO TO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'C',IRET) IF( IRET.NE.0) THEN ELLSEC2 = 1 WRITE(GRPRSM,*) 'ELLSEC2: Error inserting/extracting' WRITE(GRPRSM,*) 'ELLSEC2: scanning mode flags.' WRITE(GRPRSM,*) 'ELLSEC2: Return code = ', IRET GO TO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. C IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 32 : Reserved. C Two 16 bit fields. C Ce Set bits to 0. C CALL INXBIT(KGRIB,KLENG,INSPT, 0, 1,IBITS, 32,'C',IRET) IF( IRET.NE.0) THEN ELLSEC2 = 1 WRITE(GRPRSM,*) 'ELLSEC2: Error inserting dummy zero.' WRITE(GRPRSM,*) 'ELLSEC2: Return code = ', IRET GO TO 900 ENDIF C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/getValues.h0000755000175000017500000001274512127406245021062 0ustar amckinstryamckinstry#ifndef GETVALUES_H #define GETVALUES_H #include "gdecode.h" #ifdef FORTRAN_NO_UNDERSCORE #define GETINT getint #define GETREAL getreal #else #define GETINT getint_ #define GETREAL getreal_ #endif fortint getIntegerValue(gribProduct**,unsigned char*); fortdouble getRealValue(gribProduct**,unsigned char*); fortint GETINT(gribProduct**,unsigned char*,long); fortdouble GETREAL(gribProduct**,unsigned char*,long); fortint IGNWLAT(gribProduct**); fortint IGNWLON(gribProduct**); fortint IGSELAT(gribProduct**); fortint IGSELON(gribProduct**); fortint IGDI(gribProduct**); fortint IGDJ(gribProduct**); fortint IGIP(gribProduct**); fortint IGLATRPL(gribProduct**); fortint IGLONRPL(gribProduct**); fortint IGROTATN(gribProduct**); fortint IGLATSPL(gribProduct**); fortint IGLONSPL(gribProduct**); fortint IGSFACTR(gribProduct**); fortint IGREFVAL(gribProduct**); fortint IGDSCALE(gribProduct**); fortdouble RGLENGTH(gribProduct**); fortdouble RGTABLE(gribProduct**); fortdouble RGCENTRE(gribProduct**); fortdouble RGPARAM(gribProduct**); fortdouble RGLEVEL(gribProduct**); fortdouble RGLEVEL1(gribProduct**); fortdouble RGLEVEL2(gribProduct**); fortdouble RGDATE(gribProduct**); fortdouble RGTIME(gribProduct**); fortdouble RGSTEP(gribProduct**); fortdouble RGDEFIN(gribProduct**); fortdouble RGCLASS(gribProduct**); fortdouble RGTYPE(gribProduct**); fortdouble RGSTREAM(gribProduct**); fortdouble RGEXPVER(gribProduct**); fortdouble RGNUMPV(gribProduct**); fortdouble RGREPRES(gribProduct**); fortdouble RGNI(gribProduct**); fortdouble RGNJ(gribProduct**); fortdouble RGRESCOM(gribProduct**); fortdouble RGNUMBER(gribProduct**); fortdouble RGSCAN(gribProduct**); fortdouble RGJ(gribProduct**); fortdouble RGK(gribProduct**); fortdouble RGM(gribProduct**); fortdouble RGREPMOD(gribProduct**); fortdouble RGTJ(gribProduct**); fortdouble RGTK(gribProduct**); fortdouble RGTM(gribProduct**); fortdouble RGBITSPV(gribProduct**); fortdouble RGUNUSED(gribProduct**); fortdouble RGNVALUE(gribProduct**); typedef fortint (*geti) (gribProduct **); typedef fortdouble (*getf) (gribProduct **); typedef struct { unsigned char * name; geti get; } despatchI; typedef struct { unsigned char * name; getf get; } despatchR; despatchI despatchInteger[] = { "angleOfRotation",IGROTATN, "bottomLayer",GLEVEL2, "codeTable",GTABLE, "complexPackingScalingFactor",IGIP, "dataRepresentationType",GREPRES, "date",GDATE, "ecmwfClass",GCLASS, "ecmwfExperimentVersionNumber",GEXPVER, "ecmwfLocalDefinitionNumber",GDEFIN, "ecmwfStream",GSTREAM, "ecmwfType",GTYPE, "gribLength",GLENGTH, "iDirectionIncrement",IGDI, "jDirectionIncrement",IGDJ, "jPentagonalResolution",GJ, "kPentagonalResolution",GK, "latitudeOfThePoleOfStretching",IGLATSPL, "latitudeOfTheSouthernPoleOfRotation",IGLATRPL, "longitudeOfThePoleOfStretching",IGLONSPL, "longitudeOfTheSouthernPoleOfRotation",IGLONRPL, "mPentagonalResolution",GM, "northWestLatitude",IGNWLAT, "northWestLongitude",IGNWLON, "numberOfBitsPerPackedValue",GBITSPV, "numberOfFieldValues",GNVALUE, "numberOfParallelsBetweenPoleAndEquator",GNUMBER, "numberOfPointsAlongMeridian",GNJ, "numberOfPointsAlongParallel",GNI, "numberOfUnusedBitsAtEndOfSection4",GUNUSED, "numberOfVerticalCoordinateParameters",GNUMPV, "originatingCentre",GCENTRE, "parameter", GPARAM, "pressureLevel",GLEVEL, "referenceValue",IGREFVAL, "representationMode",GREPMOD, "resolutionAndComponentsFlag",GRESCOM, "scaleFactorUsedToPackFieldValues",IGDSCALE, "scanningModeFlag",GSCAN, "southEastLatitude",IGSELAT, "southEastLongitude",IGSELON, "stretchingFactor",IGSFACTR, "subsetJPentagonalResolution",GTJ, "subsetKPentagonalResolution",GTK, "subsetMPentagonalResolution",GTM, "time",GTIME, "timestep",GSTEP, "topLayer",GLEVEL1 }; despatchR despatchReal[] = { "angleOfRotation",GROTATN, "bottomLayer",RGLEVEL2, "codeTable",RGTABLE, "complexPackingScalingFactor",GIP, "dataRepresentationType",RGREPRES, "date",RGDATE, "ecmwfClass",RGCLASS, "ecmwfExperimentVersionNumber",RGEXPVER, "ecmwfLocalDefinitionNumber",RGDEFIN, "ecmwfStream",RGSTREAM, "ecmwfType",RGTYPE, "gribLength",RGLENGTH, "iDirectionIncrement",GDI, "jDirectionIncrement",GDJ, "jPentagonalResolution",RGJ, "kPentagonalResolution",RGK, "latitudeOfThePoleOfStretching",GLATSPL, "latitudeOfTheSouthernPoleOfRotation",GLATRPL, "longitudeOfThePoleOfStretching",GLONSPL, "longitudeOfTheSouthernPoleOfRotation",GLONRPL, "mPentagonalResolution",RGM, "northWestLatitude",GNWLAT, "northWestLongitude",GNWLON, "numberOfBitsPerPackedValue",RGBITSPV, "numberOfFieldValues",RGNVALUE, "numberOfParallelsBetweenPoleAndEquator",RGNUMBER, "numberOfPointsAlongMeridian",RGNJ, "numberOfPointsAlongParallel",RGNI, "numberOfUnusedBitsAtEndOfSection4",RGUNUSED, "numberOfVerticalCoordinateParameters",RGNUMPV, "originatingCentre",RGCENTRE, "parameter",RGPARAM, "pressureLevel",RGLEVEL, "referenceValue",GREFVAL, "representationMode",RGREPMOD, "resolutionAndComponentsFlag",RGRESCOM, "scaleFactorUsedToPackFieldValues",GDSCALE, "scanningModeFlag",RGSCAN, "southEastLatitude",GSELAT, "southEastLongitude",GSELON, "stretchingFactor",GSFACTR, "subsetJPentagonalResolution",RGTJ, "subsetKPentagonalResolution",RGTK, "subsetMPentagonalResolution",RGTM, "time",RGTIME, "timestep",RGSTEP, "topLayer",RGLEVEL1 }; int binaryChopI(despatchI * list, int listLength, unsigned char * test); int binaryChopR(despatchR * list, int listLength, unsigned char * test); #endif /* End of GETVALUES_H */ emoslib-000392+dfsg.1/gribex/sources.sgimips0000755000175000017500000000660012127406245022023 0ustar amckinstryamckinstry# # Sources for libemos/gribex for sgimips. # HEADERS = \ comars.h \ comcomm.h \ comgrb.h \ ecdef1.h \ ecdef2.h \ ecdef3.h \ ecdef4.h \ ecdef5.h \ ecdef6.h \ ecdef7.h \ ecdef8.h \ ecdef9.h \ ecdef10.h \ ecdef11.h \ ecdef12.h \ ecdef13.h \ ecdef14.h \ ecdef15.h \ ecdef16.h \ ecdef17.h \ ecdef18.h \ ecdef19.h \ ecdf190.h \ ecdf191.h \ ECMWFdefinitions.h \ gdecode.h \ gdecode1.h \ gdecode2.h \ gdecodeStruct.h \ getsetValues.h \ grbcom.h \ gribex.h \ handleLocalDefinitions.h \ sencode.h \ sencode1.h \ sencode2.h \ sfbits.h SOURCES.c = \ csgnbt.c \ dsgnbt.c \ ECMWFdefinitions.c \ findLocalDefinitionFile.c \ fortranInterface.c \ gdecode.c \ gdecode1.c \ gdecode2.c \ getsetValues.c \ grpr190.c \ handleLocalDefinitions.c \ jmalloc.c \ jfree.c \ orefdat.c \ sencode.c \ sencode1.c \ sencode2.c \ valpina.c SOURCES.f = SOURCES.F = \ abortx.F \ bufrin.F \ c2bitw.F \ c2cwid.F \ c2dosd.F \ c2gene.F \ c2ordr.F \ c2pack.F \ c2pkvw.F \ c2rnge.F \ c2rows.F \ calcop.F \ cheknum.F \ chktab2.F \ cmpck.F \ codegb.F \ codegc.F \ codegr.F \ codeps.F \ confp.F \ confp2.F \ confp3.F \ confpa.F \ csect4.F \ d2ordr.F \ d2rosd.F \ decext.F \ decfp.F \ decfp2.F \ decogb.F \ decogc.F \ decogd.F \ decogr.F \ decops.F \ decops2.F \ dggsec2.F \ dlasec2.F \ dllsec2.F \ dmesec2.F \ docsec2.F \ dpssec2.F \ dshsec2.F \ dsvsec2.F \ dsect4a.F \ ecdef1.F \ ecdef10.F \ ecdef11.F \ ecdef12.F \ ecdef13.F \ ecdef14.F \ ecdef15.F \ ecdef16.F \ ecdef17.F \ ecdef18.F \ ecdef19.F \ ecdef50.F \ ecdf191.F \ ecdef2.F \ ecdef3.F \ ecdef4.F \ ecdef5.F \ ecdef6.F \ ecdef7.F \ ecdef8.F \ ecdef9.F \ ecloc1.F \ eggsec2.F \ elasec2.F \ ellsec2.F \ emesec2.F \ eocsec2.F \ epssec2.F \ eshsec2.F \ esvsec2.F \ emoscyc.F \ exscal.F \ extmap.F \ ftn1cr.F \ gbitmap.F \ genbin.F \ gendir.F \ gengrib.F \ getchd.F \ getfb2.F \ getfpd.F \ getib1.F \ getib2.F \ getib3.F \ getind.F \ getlgd.F \ getsys.F \ getusr.F \ grchk1.F \ grchk2.F \ grchk3.F \ grchk4.F \ gribex.F \ gribin.F \ gribnum.F \ grprs0.F \ grprs1.F \ grprs1b.F \ grprs2.F \ grprs3.F \ grprs4.F \ grprs4w.F \ grsdbg.F \ grsdef.F \ grsmax.F \ grsmkp.F \ grsmok.F \ grsn2o.F \ grsref.F \ grsrnd.F \ grsubc.F \ grsvck.F \ grsx2o.F \ gscale.F \ inscal.F \ insmp1.F \ insmp2.F \ inxbit.F \ inxmap.F \ kwchk1.F \ kwloc1.F \ kwprs1.F \ lnbfcr.F \ lngbcr.F \ maxmin.F \ maxmn2.F \ maxmni.F \ modval.F \ mxmncr.F \ offset.F \ offset2.F \ packcf.F \ prtbin.F \ prtbk1.F \ prtbk2.F \ prtbl1.F \ prtbl2.F \ ptquasi.F \ qu2reg.F \ qu2reg3.F \ reclen.F \ ref2grb.F \ remsp.F \ repchr.F \ revero.F \ rorint.F \ rowina.F \ rowina2.F \ rowina3.F \ rtb.F \ scm0.F \ setpar.F \ tab2fil.F \ u2l1cr.F \ uncmpck.F \ unpkcf.F \ vod2uv.F \ yyyy2cy.F emoslib-000392+dfsg.1/gribex/comcomm.h0000755000175000017500000000517412127406245020553 0ustar amckinstryamckinstry C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C C Definition of network communications block used when C talking to MARS/IBM. C PARAMETER (JPPHLN=80) PARAMETER (JPSHLN=30) PARAMETER (JPMXTR=99) PARAMETER (JPALEN=400) PARAMETER (JPCLEN=80) PARAMETER (JPDLEN=1520) c---- PARAMETER (JPDLEN=960) PARAMETER (JPMAXV=30) C CHARACTER*(JPCLEN) YBLOCK CHARACTER*(JPDLEN) YBUFF CHARACTER*(JPDLEN) YTEMP C CHARACTER*1 YSTATU CHARACTER*1 YACTCL CHARACTER*1 YACMOD CHARACTER*1 YDEBUG CHARACTER*1 YNOTRY CHARACTER*5 YREQNO CHARACTER*2 YHDRLN CHARACTER*2 YNOHDR CHARACTER*2 YNSHDR CHARACTER*2 YSUBER CHARACTER*2 YVERSN CHARACTER*4 YUSEID CHARACTER*4 YCOMID CHARACTER*4 YREASN CHARACTER*4 YRETCD CHARACTER*5 YMESLN CHARACTER*6 YSBTIM CHARACTER*6 YSBDAT CHARACTER*6 YRCTIM CHARACTER*6 YJOBSQ CHARACTER*7 YSENID CHARACTER*7 YRECID CHARACTER*7 YUSJOB CHARACTER*8 YUSACC CHARACTER*8 YACTON CHARACTER*10 YINT CHARACTER*10 YRESRV CHARACTER*96 YNAMWK CHARACTER*8 YFIDWK CHARACTER*96 YNMIBM C DIMENSION YBLOCK(JPALEN) C EQUIVALENCE (YBLOCK(1)( 1:2 ) , YHDRLN) EQUIVALENCE (YBLOCK(1)( 3:6 ) , YUSEID) EQUIVALENCE (YBLOCK(1)( 7:10) , YCOMID) EQUIVALENCE (YBLOCK(1)(11:17) , YSENID) EQUIVALENCE (YBLOCK(1)(18:24) , YRECID) EQUIVALENCE (YBLOCK(1)(25:30) , YSBDAT) EQUIVALENCE (YBLOCK(1)(31:36) , YSBTIM) EQUIVALENCE (YBLOCK(1)(37:42) , YJOBSQ) EQUIVALENCE (YBLOCK(1)(43:48) , YRCTIM) EQUIVALENCE (YBLOCK(1)(49:50) , YNOHDR) EQUIVALENCE (YBLOCK(1)(51:52) , YNSHDR) EQUIVALENCE (YBLOCK(1)(53:54) , YSUBER) EQUIVALENCE (YBLOCK(1)(55:55) , YSTATU) EQUIVALENCE (YBLOCK(1)(56:56) , YACTCL) EQUIVALENCE (YBLOCK(1)(57:61) , YMESLN) EQUIVALENCE (YBLOCK(1)(62:62) , YACMOD) EQUIVALENCE (YBLOCK(1)(63:70) , YUSACC) EQUIVALENCE (YBLOCK(1)(71:77) , YUSJOB) EQUIVALENCE (YBLOCK(1)(78:78) , YDEBUG) EQUIVALENCE (YBLOCK(1)(79:80) , YVERSN) C EQUIVALENCE (YBLOCK(2)( 3:10) , YACTON) EQUIVALENCE (YBLOCK(2)(21:24) , YRETCD) EQUIVALENCE (YBLOCK(2)(25:28) , YREASN) C emoslib-000392+dfsg.1/gribex/kwloc1.F0000755000175000017500000001710612127406245020255 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE KWLOC1(KSEC1,KGRIB,KLENG,KNSPT,KBITS,KPLEN,KPR,KRET) C C----> C**** KWLOC1 C C Purpose. C -------- C C GRIB coding/decoding of Washington ensemble product local use of C Section 1. C C Interface. C ---------- C C CALL KWLOC1 (KSEC1,KGRIB,KLENG,KNSPT,KBITS, KPLEN,KPR,KRET) C C C Input Parameters. C ----------------- C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion or C extraction starts. C C KBITS - Number of bits in computer word. C C KPLEN - Pointer to field containing length of Section 1. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KNSPT - Number of bit after last one inserted or C extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Error reported by routine INXBIT. C C Method. C ------- C C Input data packed/unpacked in accordance with Washington ensemble C product usage of local part of section 1 of Grib code. C C C Externals. C ---------- C C INXBIT - insert/extract bit data C ABORTX - abort program C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Washington ensemble product usage of local part of section 1 of C GRIB: C C Octet 41 : Identifies the application: C 1 Ensemble. C C Octet 42 : Type: C 1 Unperturbed control forecast, C 2 Individual negatively perturbed forecast, C 3 Individual positively perturbed forecast, C 4 Cluster, C 5 Whole ensemble. C C Octet 43 : Identification number: C 1 If byte 42=1, identifies high resolution. C 2 If byte 42=1, identifies low resolution. C 3 Etc.(!?). C (1 to 5 for perturbed 00Z forecast.) C (1 to 2 for perturbed 12Z forecast.) C C Octet 44 : Products: C 1 Full field (individual forecast)/unweighted mean. C 2 Weighted mean. C 11 Standard deviation wrt ensemble mean. C 12 Standard deviation wrt ensemble mean, normalized. C C Octet 45 : Spatial smoothing of product (number of highest total C wavenumber included): C 255 Original resolution retained. C Cjdc Octet 46 : Dummy. (Not being used!) C C C Author. C ------- C C J.D.Chambers ECMWF 09.10.95 C C C Modifications. C -------------- C C None. C C----< C ------------------------------------------------------------------ C Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C IMPLICIT NONE C #include "grprs.h" C C Parameters INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPLEN, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables INTEGER IRET CHARACTER*1 YFUNC C C ------------------------------------------------------------------ C Section 1 . Set initial values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.GE.1) THEN WRITE(GRPRSM,*) 'KWLOC1 : Section 1.' WRITE(GRPRSM,*) 'KWLOC1 : On input, KNSPT = ',KNSPT ENDIF C C Reset return code to 0, retaining input value to decide C on abort / no abort, if error encountered later. C IRET = KRET KRET = 0 YFUNC = 'D' C C ------------------------------------------------------------------ C Section 2 . Washington ensemble product local use of Grib C Section 1. C ------------------------------------------------------------------ C 200 CONTINUE C IF (KPR.GE.1) WRITE(GRPRSM,*) 'ECLOC1 : Section 2.' C C Extract fields. C C C Octet 41 : Identifies the application: C 1 Ensemble. C One 8 bit field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(37),1,KBITS, 8,YFUNC,KRET) IF (KRET.NE.0) THEN WRITE(GRPRSM,*) 'KWLOC1: INXBIT error reported = ',KRET KRET = 1 GO TO 900 ENDIF C C Octet 42 : Type: C 1 Unperturbed control forecast, C 2 Individual negatively perturbed forecast, C 3 Individual positively perturbed forecast, C 4 Cluster, C 5 Whole ensemble. C One 8 bit field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(38),1,KBITS, 8,YFUNC,KRET) IF (KRET.NE.0) THEN WRITE(GRPRSM,*) 'KWLOC1: INXBIT error reported = ',KRET KRET = 1 GO TO 900 ENDIF C C Octet 43 : Identification number: C 1 If byte 42=1, identifies high resolution. C 2 If byte 42=1, identifies low resolution. C 3 Etc.(!?) C One 8 bit field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(39),1,KBITS, 8,YFUNC,KRET) IF (KRET.NE.0) THEN WRITE(GRPRSM,*) 'KWLOC1: INXBIT error reported = ',KRET KRET = 1 GO TO 900 ENDIF C C Octet 44 : Products: C 1 Full field (individual forecast)/unweighted mean. C 2 Weighted mean. C 11 Standard deviation wrt ensemble mean. C 11 Standard deviation wrt ensemble mean, normalized. C One 8 bit field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(40),1,KBITS, 8,YFUNC,KRET) IF (KRET.NE.0) THEN WRITE(GRPRSM,*) 'KWLOC1: INXBIT error reported = ',KRET KRET = 1 GO TO 900 ENDIF C C Octet 45 : Spatial smoothing of product (number of highest total C wavenumber included): C 255 Original resolution retained. C One 8 bit field. C CALL INXBIT (KGRIB,KLENG,KNSPT,KSEC1(41),1,KBITS, 8,YFUNC,KRET) IF (KRET.NE.0) THEN WRITE(GRPRSM,*) 'KWLOC1: INXBIT error reported = ',KRET KRET = 1 GO TO 900 ENDIF C C Octet 46 : Dummy. C One 8 bit field. C Cjdc KNSPT = KNSPT + 8 C C ------------------------------------------------------------------ C Section 9 . Abort/return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.GE.1) THEN WRITE(GRPRSM,*) 'KWLOC1 : Section 9.' WRITE(GRPRSM,*) 'KWLOC1 : On output, KNSPT = ',KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF ( (IRET.EQ.0) .AND. (KRET.NE.0) ) THEN CALL ABORTX ('KWLOC1') ELSE RETURN ENDIF C END emoslib-000392+dfsg.1/gribex/ecdef1.F0000755000175000017500000001412612127406245020203 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE ECDEF1( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, X KPR, KRET) C C----> C**** ECDEF1 C C Purpose. C -------- C C GRIB coding/decoding of ECMWF local use definition 1. C C** Interface. C ---------- C C CALL ECDEF1( HFUNC, KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET) C C C Input Parameters. C ----------------- C C HFUNC - Requested function. C 'C' to code data. C 'D' to decode data. C C KSEC1 - Array containing Grib Section 1 data. C C KGRIB - Array containing Grib coded data. C C KLENG - Length (words) of KGRIB. C C KNSPT - Bit number after which insertion/extraction starts. C C KBITS - Number of bits in computer word. C C KPR - Debug print switch. C 0 , No printout. C >0 , Debug printout. C C KRET - Response to error indicator. C 0 , Abort if error encountered. C Non-zero , Return to calling routine C even if error encountered. C C Output Parameters. C ------------------ C C KSEC1 - Array containing Grib Section 1 data.(Updated) C C KGRIB - Array containing Grib coded data.(Updated) C C KNSPT - Number of bit after last one inserted/extracted.(Updated) C C KRET - Return code. C 0 , No error encountered. C 2 , Error reported by routine INXBIT. C C C Method. C ------- C C Input data packed/unpacked in accordance with ECMWF usage of C local part of section 1 of Grib code, definition 1. C C C Externals. C ---------- C C INXBIT C ABORTX C CSGNBT C DSGNBT C C C Reference. C ---------- C C WMO Manual On Codes for Grib Code. C C C Comments. C --------- C C Adapted from ECLOC1.F - simplified to handle just definition 1. #include "ecdef1.h" C C C Author. C ------- C C J.D.Chambers ECMWF 18th January 1995 C C C Modifications. C -------------- C C J.D.Chambers ECMWF 2nd February 1995 C Add ensemble mean/standard deviation usage of definition 1. C C J.D.Chambers ECMWF Jan 2000 C Allow single 2-byte ensemble number for stream 1090 (ECMWF C ensemble seasonal forecasts) C C C----< C -----------------------------------------------------------------| C* Section 0 . Definition of variables. Data statements. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C C Parameters CHARACTER*1 HFUNC INTEGER KSEC1, KGRIB, KLENG, KNSPT, KBITS, KPR, KRET DIMENSION KGRIB(*) DIMENSION KSEC1(*) C C Local variables INTEGER IRET, IZERO C LOGICAL LENCODE C C -----------------------------------------------------------------| C* Section 1 . Set initial values. C -----------------------------------------------------------------| C 100 CONTINUE C IRET = KRET LENCODE = ( HFUNC .EQ. 'C' ) C C -----------------------------------------------------------------| C* Section 2 . Handle definition 1. C -----------------------------------------------------------------| C 200 CONTINUE C IF( KSEC1(40).EQ.1090 ) THEN C C If seasonal forecast data ... C C Octet 50-51 : Forecast number. C One 16 bit field. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C IF( .NOT. LENCODE ) KSEC1(43) = 0 C ELSE IF (KSEC1(39).EQ.10.OR. X KSEC1(39).EQ.11.OR. X KSEC1(39).EQ.17.OR. X KSEC1(39).EQ.18.OR. X KSEC1(39).EQ.23) THEN C C If type = C 10 = Control forecast C 11 = Perturbed forecast C 17 = Ensemble means C 18 = Ensemble standard deviations C 23 = Empirical distribution C C Octet 50 : Forecast number. C Octet 51 : Total number of Forecasts. C Two 8 bit fields. C CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),2,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF C ELSE C C Octet 50-51 : Reserved. C Should be 0 !! C IF ( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,16,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ELSE CALL INXBIT(KGRIB,KLENG,KNSPT,KSEC1(42),2,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ENDIF ENDIF C C Octet 52 : Reserved. C Set to 0. C IF ( LENCODE ) THEN IZERO = 0 CALL INXBIT(KGRIB,KLENG,KNSPT,IZERO,1,KBITS,8,HFUNC,KRET) IF (KRET.NE.0) THEN KRET = 2 WRITE(GRPRSM,9004) ENDIF ELSE KNSPT = KNSPT + 8 ENDIF C C -----------------------------------------------------------------| C* Section 9 . Abort/return to calling routine. Format statements. C -----------------------------------------------------------------| C 900 CONTINUE C IF (KPR.GE.1) THEN WRITE(GRPRSM,*) 'ECDEF1 : Section 9.' WRITE(GRPRSM,*) ' Output values set -' WRITE(GRPRSM,9003) KNSPT ENDIF C C Abort if requested to do so when an error has been encountered. C IF (IRET.EQ.0.AND.KRET.NE.0) THEN CALL ABORTX ('ECDEF1') ELSE RETURN ENDIF C 9003 FORMAT (1H ,' KNSPT = ',I12) C 9004 FORMAT (' ECDEF1: Error reported by routine INXBIT.') C END emoslib-000392+dfsg.1/gribex/ecdef4.h0000755000175000017500000002407512127406245020254 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 4. C Ocean model data. C ---------------------------------- C C For use in storing ocean model data within the GRIB framework. C T.Stockdale, 17 May 1993 C C Numbers given are words of KSEC1 C C C Standard ECMWF supplementary data (as per local use definition 1) C for words 38-41 ie C C 38 Class (ops/research) C 39 Type (analysis/forecast/etc) C 40 Stream C 41 Expver (expt identifier) C C 42 Ensemble forecast number C 43 Total number of forecasts in ensemble C C If stream = 1090 (ECMWF ensemble seasonal forecasts), C 42 Ensemble forecast number C 43 0 C C Data specific to ocean model requirements C C ** A separate version of code table 2 is used for ocean data C ECMWF local Code Table 2, Version Number 150 for FM92-VIII C C ** Note that all coordinates in this local use GRIB definition are C given as 4-byte integers in the following units: C C Latitudes/longitudes: microdegrees C Distance (general): metres (default: can be changed) C Time: seconds (default: can be changed) C C Depth below sea level: millimetres (positive downwards) C Isopycnic level: (potential density - 1000)*1.0E6 C C ** Permitted range of values is -2.147E9 < i < 2.147E9 approx. C C ** At several points in the definition, there is a potential need C for a variable amount of supplementary data. This is indicated C with '(+INFO)', and in such cases a supplementary data block is C specified at the end of the local use section. C C C 1. Coordinate structure definition C C The physical meaning of the (x,y,z,t) coordinate system is C defined here. C C 44 Fundamental spatial reference system (Planet flag) C 0 = Earth (centre/north pole/Greenwich) C 200 = Geocentric RA/dec C 201 = Heliocentric coordinates C 255 = Unspecified C C 45 Fundamental time reference C 0 = Reference time given in standard GRIB header C (use for forecasts to indicate start of prediction) C 1 = C.E. (ie 0 AD) C 2 = Julian Day number = 0.0 C 100 = Zero at start of arbitrary expt C 255 = Unspecified C C 46 Space unit flag (applies only if lengths NOT otherwise C labelled) C 0 = metres C i<128 = 10**i metres C i>128 = 10**(i-256) metres C C 47 Vertical coordinate definition (z) C 0 = z above origin C 1 = R from origin C 2 = h above mean sea level geopotential C 3 = h above ground surface C 160 = geopotential depth below mean sea level (mm) C 161 = ocean isopycnic surface (pot. dens.: see above) C C 48 Horizontal coordinate definition (x,y) C 0 = latitude/longitude (microdegrees) C 1 = cartesian (fundamental origin) C 2 = cartesian (shifted,rotated origin) (+INFO) C 3 = regular gaussian grid (microdegrees) (+INFO) C 4 = polar stereographic (+INFO) C 5 = spherical harmonic coefficients (integers) (+INFO) C C 49 Time unit flag C 0 = seconds C 1 = minutes C 2 = hours C 3 = days C 4 = years C 5128 = 10**(i-256) seconds C C 50 Time coordinate definition (t) C 0 = real earth time (UTC) C 1 = ideal earth time (360 * 86400s days per year) C C 2. Position definition C C A 2-dimensional field located in 4-dimensional space-time needs C 2 coordinates to define where the field is located, and 2 C coordinates internal to the field. The locating coordinates are C specified first. Each coordinate is identified according to the C following table, and should be in this order where possible: C C 1 t C 2 z C 3 x C 4 y C C It is possible to specify mixed coordinates, to allow sections C at angles to the coordinate system. C C 51 Mixed coordinate field flag C 0 = No mixed coordinates C 1 = x,y coordinates mixed (+INFO) C 2 = x,z coordinates mixed (+INFO) C 3 = y,z coordinates mixed (+INFO) C 4 = x,t coordinates mixed (+INFO) C 5 = y,t coordinates mixed (+INFO) C 6 = z,t coordinates mixed (+INFO) C C C Now define the location of the 2-dimensional field: C C 52 Coordinate 1 flag (usually time) C 53 Averaging flag C 0 = no averaging (data on/at level 1) C 1 = inclusive average between level 1 and 2 C 2 = exclusive average between level 1 and 2 C 54 Position of level 1 (4 byte integer) C 55 Position of level 2 (4 byte integer) (or zero if not used) C C 56 Coordinate 2 flag (usually z-coordinate) C 57 Averaging flag C 0 = no averaging (data on/at level 1) C 1 = inclusive average between level 1 and 2 C 2 = exclusive average between level 1 and 2 C 58 Position of level 1 (4 byte integer) C 59 Position of level 2 (4 byte integer) (or zero if not used) C C An inclusive average discards land points when calculating the C average, and will produce a value where there is at least one C valid ocean point. An exclusive average will only produce a C value if all of the points being averaged are valid. C C C 3. Grid definition C C 60 Coordinate 3 flag (x-axis, usually longitude) C 61 Coordinate 4 flag (y-axis, usually latitude) C C 62 Coordinate 4 of first grid point (4-byte integer) C 63 Coordinate 3 of first grid point (4-byte integer) C 64 Coordinate 4 of last grid point (4-byte integer) C 65 Coordinate 3 of last grid point (4-byte integer) C 66 i-increment (also stored as a 4-byte integer) C 67 j-increment (also stored as a 4-byte integer) C C C 68 Flag for irregular grid coordinate list C 0 = none C 1 = x-axis values (typically longitude) C 2 = y-axis values (typically latitude) C 3 = First x-axis, then y-axis values given C 69 Flag for normal or staggered grid C 0 = normal grid (all rows have same x-coordinate system) C 1 = staggered grid (odd and even rows have different C x-coordinate systems, eg Arakawa E grid) C C 4. Further information C C 70 Flag for any further information C 0 = none C 1 = auxiliary array contains x-axis topographic C depths/heights C C 5. Auxiliary information C C 71 Number of entries in horizontal coordinate definition C supplement (1 byte only) C 72 Number of entries in mixed coordinate definition (2 bytes) C 73 Number of entries in grid coordinate list (2 bytes) C 74 Number of entries in auxiliary array (2 bytes) C C [ 64 bytes fixed ] C C A. Horizontal coordinate supplement (4-byte integers) C C A1-nn Not yet defined C C B. Mixed coordinate definition (4-byte integers) C C [ For the linear case, assume a transformation of the form C x' = alpha * (x - x0) + (1-alpha) * (y - y0) ] C C B1 Flag for regularity of x-y coordinate mixing C 0 = Mixing is regular and linear C 1 = Mixing is irregular, code given C For regular, linear mixing: C B2 Alpha (*1E9) C B3 X0 C B4 Y0 C Irregular mixing with code given: C B2 ) C B3 ) Locally defined codes to define section C B4 ) C C C. Grid coordinate list (4-byte integers) C C C1-nn Coordinates of irregular x and y-axes. The x-axis is C given first, then the second x-axis (if staggered grid), C and then the y-axis. If the x-axis is regular but C staggered, then the longitude of the first point of the C second row should be specified as the first entry of this C list. C C D. Auxiliary array (4-byte integers) C C D1-nn Auxiliary array values C C E. Post-auxiliary array (4-byte integers) C C P0-n Post-auxiliary array values C C P0 - Count of items in post-auxiliary array C ( = n+1, including the count) C P1 - First item. C P2 - Second item. C " - " C Pn - nth item. C C C Comments on the setting of other GRIB parameters: C C The time and time-range data should be set properly in the main C section, if possible. C C The indicator of type of level should be set to 160 (depth below C sea level) for all oceanographic data. The depth in metres C should be set to the appropriate value if the field is a C horizontal section, and to zero in all other cases. C C It is assumed that the grid description section of the GRIB code C is set for a latitude/longitude grid, with correct values for C the number of points along parallels/meridians and the C coordinates of the first and last data points in millidegrees C (or the appropriate units from this section, divided by 1000). C The coordinate increments should be given to the extent that C the field is regular. C C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/dshsec2.F0000755000175000017500000000742412127406245020412 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DSHSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) C C----> C**** DSHSEC2P C C PURPOSE C _______ C C Decodes GRIB section 2 values for spherical harmonic fields. C C INTERFACE C _________ C C IRET = DSHSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product unpacked so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product unpacked so far. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C C C Output parameters C ________________ C C KSEC2 - Updated GRIB section 2 description. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Unpacks values given in KGRIB into KSEC2 and updates bit C pointer INSPT. C C Externals C _________ C C DSGNBT - Get the sign bit and adjust value to +/-. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C INTEGER JP16SET PARAMETER ( JP16SET = 2**16 - 1 ) C ^---> 65535 = FFFF(hex) C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC2,IBITS DIMENSION KGRIB(*),KSEC2(*) C C Local variables C INTEGER IRET C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C DSHSEC2 = 0 C C _______________________________________________________ C C Section 2. Unpack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : J pentagonal resolution parameter. C Octets 9 - 10 : K pentagonal resolution parameter. C Octets 11 - 12 : M pentagonal resolution parameter. C Three 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),3,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DSHSEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) X 'GRIBEX: J,K,M pentagonal resolution parameters.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GO TO 900 ENDIF C C Octet 13 : Representation type. C Octet 14 : Representation mode. C Two 8 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(5),2,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DSHSEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error inserting/extracting' WRITE(GRPRSM,*) 'GRIBEX: representation type or mode.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GO TO 900 ENDIF C C C Octets 15 - 32 : Reserved. C Nine 16 bit fields. C C Move pointer past reserved octets. INSPT = INSPT + 144 C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/eocsec2.h0000755000175000017500000000255512127406245020444 0ustar amckinstryamckinstryC!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C C ECMWF ocean data GRIB section 2 C ------------------------------- C C Octet KSEC2(n) C ----- -------- C C 1-3 - Length of section C C 4 - Not used: set to zero C C 5 - 255 (all bits set to 1) C C 6 1 Data representation type = 192 = ECMWF ocean grid C C 7-8 2 Ni - number of points along the first axis C (32767 = not used) C C 9-10 3 Nj - number of points along the second axis C (32767 = not used) C C 11-27 - Not used: set to zero C C - 4-10 Reserved. Set to 0. C C 28 11 Scanning mode flags (see WMO code table 8) C C 29-32 - Not used: set to zero C C - 12-22 Reserved. Set to 0. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! emoslib-000392+dfsg.1/gribex/comgrb.h0000755000175000017500000000071712127406245020370 0ustar amckinstryamckinstry C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C* Common area to hold values used in GRIB encoding C and decoding. C emoslib-000392+dfsg.1/gribex/c2gene.F0000755000175000017500000006162212127406245020222 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION C2GENE ( KDATA, KLENP, KSEC4, KGRIB, KLENG, X KNSPT, KBITS, OCOMGR, OLONLY, KLEN4, X KFIROV, KLEN, KREFGR, KLENGR, KBITGR, X KWORK, KLWORK, KSTART, KPOWER, KMXPWR, X KPCWID, KXCWID, KNBIFO, KNCMIN, KMINPK, X KLWORX, ODEBUG ) C C----> C**** C2GENE C C Purpose. C -------- C C Performs a general second-order packing method for section 4 C of GRIB, and/or computes only length of section 4, with/without C coding, with this method. C C "General" means with explicit descriptors to describe groups C position and width (not row-by-row, nor constant-width). C C When extended 2nd-order packing is enabled, then KSEC4(12:15) C values determin if extensions are concerned. Extensions are: C C - general extended 2nd-order packing, which is the same as WMO C except for documentation of descriptors (held more economically); C C - boustrophedonic ordering, which is held outside of the routine C (field re-ordering, swapping values in even rank rows). C C - spatial differencing, which is held mostly outside of the C routine (apply general extended 2nd-order compression algorithm, C with or without boustrophedonic ordering, to values obtained C through computation of differences between adjacent values, C repeated to order wished). C C** Interface. C ---------- C C KRET = C2GENE ( KDATA, KLENP, KSEC4, KGRIB, KLENG, KNSPT, C X KBITS, OCOMGR, OLONLY, KLEN4, KFIROV, KLEN, C X KREFGR, KLENGR, KBITGR, KWORK, KLWORK, KSTART, C X KPOWER, KMXPWR, KPCWID, KXCWID, KNBIFO, KNCMIN, C X KMINPK, KLWORX, ODEBUG ) C C C Input Parameters for all options. C -------------------------------- C C KDATA - Array of normalized values. C KLENP - Length of array KDATA. C KSEC4 - Array of GRIB section 4 integer descriptors. C KSEC4(12) indicates type of general 2nd-order packing C (applies only to descriptors): C 0 => standard WMO descriptors C 8 => extended descriptors C KSEC4(13) indicates if boustrophedonic ordering C (values swapped in rows of even rank) is selected: C 0 => standard ordering C 4 => boustrophedonic ordering C KSEC4(14:15) indicates if spatial differencing is on: C 0:0 => no spatial differencing C 0:1,2:0,2:1 => spatial differencing applied at order C equal to KSEC4(14)+KSEC4(15) C KLENG - Length of GRIB product array. C KNSPT - Bit pointer for next value in GRIB product. C KBITS - Number of bits per computer word. C OCOMGR - True if COMputing of GRoup arrays is requested. C OLONLY - True if Length ONLY is requested (no coding). C KLEN - Exact number of grid-points to handle. C KLWORK - Length of work arrays. C KPOWER - Auxilary array, precomputed (powers of 2)-1. C KMXPWR - Maximum number of bits per original scaled value. C KPCWID - Auxilary array, precomputed widths. C KXCWID - Maximum width associated to KPCWID. C KNCMIN - Minimum increment to use when determining groups. C KMINPK - Initial (minimum) length of groups. C ODEBUG - True for some debug printout. C C C Output Parameters for all options. C --------------------------------- C C KSEC4 - Array of GRIB section 4 integer descriptors. C (updated, except when both OCOMGR is false C and OLONLY it true) C KLEN4 - Length of section 4. C KLWORX - Maximum work space used. C C Output Parameters when OLONLY is false. C -------------------------------------- C C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product (updated). C KWORK - Used as work array by C2PACK. C C Output Parameters when OCOMGR is true, C Input Parameters when OCOMGR is false. C -------------------------------------- C C KREFGR - Work array, first-order values for each row. C KLENGR - Work array, effective length of each row. C KBITGR - Work array, bit number ("width") of each row. C KNBIFO - Number of BIts for coding First-Order values. C C Output Parameters when OCOMGR is true, C Input parameter in all cases. C -------------------------------------- C C KDATA - Used as work array by C2PACK. C C Input Parameter when OCOMGR is false. C ------------------------------------- C C KSTART - First index value of precomputed work arrays KREFGR, C KLENGR and KBITGR. C C Method. C ------- C C Follows WMO Manual of Codes. C C If requested through OCOMGR, a first scan computes work arrays, C bit number for coding first-order values and length of section 4. C C If requested, coding is applied in a second scan, using C descriptors computed in the first scan, possibly in a previous C call. C C Algorithm used to determine groups is derived from Harry R. Glahn C (U.S. Met Service), from a working paper submitted to WMO SGDR&C C in 1995. C C If extended 2nd-order packing is enabled, then call with OCOMGR C to .FALSE. and OLONLY to .TRUE. is enabled, to support aggressive C packing without having to recompute work arrays, which would be C the same for general WMO and extended packings (for the same C option of field ordering: either both boustrophedonic C or both not). C C Externals. C ---------- C C MAXMNI - Computes extrema of integer array. C C2BITW - Computes bit width of a positive integer value. C C2PACK - Encodes descriptors and data. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C On entry, KNSPT points to the first bit of section 4 C in the GRIB product. C On exit, KNSPT points to the first unused bit of section 4, C (or to the first bit of section 5, if unused bit count C is zero) in the GRIB product. C C KDATA is overwritten when coding is requested. C This is coherent with GRIBEX. C C Boustrophedonic ordering, if selected, is formally transparent to C the current routine. Pre-processing is held at calling routine C level (C2ORDR), coding at C2PACK level. C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C C Modifications. C _____________ C C J. Clochard, April 1998. C Use C2BITW function for bit width computations, out of C the splitting algorithm itself. C Introduce spatial differencing. C C J. Clochard, July 1998. C Set KLWORX to KLWORK when out of work space in direct algorithm. C C J. Clochard, September 1998. C Update comments. C Adjust KLWORX within splitting algorithm. C Limit index range used in KWORK for "small" initial groups number. C Suppress KSEC1/KSEC2/KSEC3 dummy-arguments. C " KSEC1, add KWORK/KPOWER/KMXPWR argument in C2PACK call. C C J. Clochard, June 1999. C Use precomputed array to determine widths . Dummy-arguments C KPCWID and KXCWID added . Assumption is made that KXCWID C is at least (KMXPWR+1)/2 . C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments C INTEGER KLENP, KLENG, KNSPT, KBITS, KLEN4, KNCMIN, KLWORX, KXCWID INTEGER KLEN, KLWORK, KMXPWR, KNBIFO, KFIROV, KMINPK, KSTART C INTEGER KDATA (KLENP), KSEC4 (*), KPCWID (0:*) INTEGER KGRIB (KLENG), KREFGR (KLWORK), KLENGR (KLWORK) INTEGER KBITGR (KLWORK), KPOWER (0:KMXPWR), KWORK (KLWORK) C LOGICAL OLONLY, OCOMGR, ODEBUG C C Local variables. C INTEGER IRETFN, ICOUNT, INBIFO, ILDSTA, IDMAX, IDMIN, IXLDST INTEGER IGROUP, ISIZEG, IPOWER, INBITO, ILENSO, IXLEN4, IXGRBD INTEGER IOFF, J, IFIROV, INCMIN, IBITGW, IMAXAB, IMINAB, IMINPK INTEGER IMAXA, IMINA, ISOMAX, INBITA, IMAXC, IMINC, IXBIGW, ILCWID INTEGER IMAXAC, IMINAC, IMAXB, IMINB, ISIZEA, ISIZEB, ISIZEC INTEGER IXFIRO, ISTART, ILWORK, ILEN INTEGER IBITGS, ILENGS, ILDSTG, INDNEW, ILEN4O, IORDER, IWIDSD INTEGER IBIAS INTEGER IAUXIL, IGRADD, ILEN4S, IGROUS, J2, ILASTG, INGRAD, IPOSGR C INTEGER C2PACK, C2BITW EXTERNAL C2PACK, C2BITW C LOGICAL LB2A LOGICAL LGENXT C REAL ZGAIN C C Function computing lenth of section 4 (in octets), using as C arguments length of static descriptors, number of 1st-order C values, width of widthes, and length (bits) of descriptors C for groups bounds. C C Length must always be an even number of octets. C IXLEN4 ( IXLDST, IXFIRO, IXBIGW, IXGRBD ) = 2 * ( ( X IXLDST + (8+IXFIRO*IXBIGW-1)/8 + (8+IXGRBD-1)/8 X + (8+IXFIRO*INBIFO-1)/8 + (8+ILENSO-1)/8 X +1 ) / 2 ) C C C ----------------------------------------------------------------- C* Section 1 . Performs initial checks. C ----------------------------------------------------------------- C 100 CONTINUE C LGENXT=KSEC4(12).NE.0 #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) OCOMGR, OLONLY, KNSPT C IF (LGENXT) THEN WRITE(GRPRSM,FMT=9101) 'general extended' ELSE WRITE(GRPRSM,FMT=9101) 'general WMO standard' ENDIF C #ifndef ebug2o ENDIF #endif C IRETFN = 0 ILCWID = KPOWER(KXCWID)+1 IORDER=KSEC4(14)+KSEC4(15) ICOUNT=IORDER ILEN=KLEN-IORDER IWIDSD=KSEC4(11) IBIAS=KSEC4(16) ILDSTA=21 INBITO=KSEC4(2) KLWORX=0 C IF (.NOT.OCOMGR) THEN C INBIFO=KNBIFO IFIROV=KFIROV KLWORX=KFIROV ISTART=KSTART IBITGW=KSEC4(20) C IF (LGENXT) THEN IBITGS=KSEC4(17) ENDIF C IF (OLONLY) THEN ILENSO=KSEC4(19) GOTO 260 ENDIF GOTO 300 C ENDIF C C ----------------------------------------------------------------- C* Section 2 . Computing of group characteristics. C ----------------------------------------------------------------- C 200 CONTINUE C IGROUP=0 INCMIN=MIN (MAX (KNCMIN,1),1+ILEN/4) IMINPK=MIN (MAX (KMINPK,2*INCMIN),1+ILEN/2) ISIZEG=IMINPK ISTART=1 C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9200) INBITO, (KSEC4(J),J=1,15), X INCMIN, ISIZEG #ifndef ebug2o ENDIF C #endif C C ----------------------------------------------------------------- C Determination of an "initial" group, called A. C ----------------------------------------------------------------- C 210 CONTINUE C ISIZEA=MIN (ISIZEG,KLEN-ICOUNT) C C Extrema computed in-line for better efficiency. C IMAXA=KDATA(ICOUNT+1) IMINA=KDATA(ICOUNT+1) C DO 211 J=2,ISIZEA IMAXA=MAX (IMAXA,KDATA(ICOUNT+J)) IMINA=MIN (IMINA,KDATA(ICOUNT+J)) 211 CONTINUE C 212 CONTINUE C LB2A=.FALSE. ISOMAX=IMAXA-IMINA C IF (ISOMAX.LT.ILCWID) THEN INBITA=KPCWID(ISOMAX) ELSE INBITA=KXCWID+KPCWID(ISOMAX/ILCWID) ENDIF C IPOWER=KPOWER(INBITA) C IOFF=ICOUNT+ISIZEA #ifdef ebug2o PRINT *,'c2gene - ICOUNT/ISIZEA/IMINA/IMAXA/INBITA/IPOWER=', X ICOUNT,ISIZEA,IMINA,IMAXA,INBITA,IPOWER #endif C IF (IOFF.EQ.KLEN) THEN C C Just finished. Group A is closed. C GOTO 240 C ENDIF C C ----------------------------------------------------------------- C Try to add an increment C to initial group A. C ----------------------------------------------------------------- C 220 CONTINUE C IF (KLEN-(IOFF+INCMIN).LE.ISIZEG/2) THEN C C Avoid too small group at the end. C INCMIN=KLEN-IOFF ENDIF C IMAXC=KDATA(IOFF+1) IMINC=KDATA(IOFF+1) C #ifdef CRAY CDIR$ NOVECTOR #endif #ifdef FUJITSU !OCL SCALAR #endif DO 221 J=2,INCMIN IMAXC=MAX (IMAXC,KDATA(IOFF+J)) IMINC=MIN (IMINC,KDATA(IOFF+J)) 221 CONTINUE #ifdef CRAY CDIR$ VECTOR #endif #ifdef FUJITSU !OCL VECTOR #endif C IMAXAC=MAX (IMAXA,IMAXC) IMINAC=MIN (IMINA,IMINC) ISOMAX=IMAXAC-IMINAC #ifdef ebug2o PRINT *,'c2gene - IOFF/INCMIN/IMINC/IMAXC/IMINAC/IMAXAC=', X IOFF,INCMIN,IMINC,IMAXC,IMINAC,IMAXAC #endif C IF (ISOMAX.GT.IPOWER) THEN C C Added to A, increment C would not fit in same width as A. C Group A is closed. C GOTO 240 C ELSEIF ((IOFF+INCMIN).EQ.KLEN) THEN C C Group C is added to group A. Finished. C ISIZEA=ISIZEA+INCMIN IMAXA=IMAXAC IMINA=IMINAC GOTO 240 C ENDIF C C Increment C would fit, if added to A. C C See width of group B, following group A, with its length C determined in the same way as A. C ISIZEB=MIN (ISIZEG,KLEN-IOFF) IMAXB=IMAXC IMINB=IMINC C DO 222 J=INCMIN+1,ISIZEB IMAXB=MAX (IMAXB,KDATA(IOFF+J)) IMINB=MIN (IMINB,KDATA(IOFF+J)) 222 CONTINUE C ISOMAX=IMAXB-IMINB IMAXAB=MAX (IMAXA,IMAXB) IMINAB=MIN (IMINA,IMINB) #ifdef ebug2o PRINT *,'c2gene - IMINB/IMAXB/IMINAB/IMAXAB=', X IMINB,IMAXB,IMINAB,IMAXAB #endif C IF (ISOMAX.LE.IPOWER/2.AND.IPOWER.GT.0) THEN C C Group B has a smaller width than A. C C Group A is closed, B replaces A, reminds that new initial group C characteristics (with the exception of width) have already been C computed. C LB2A=.TRUE. GOTO 240 C ELSEIF ((IMAXAB-IMINAB).LE.IPOWER) THEN C C Group B just fits with A, and is added to A as an extended C C group. C ISIZEC=ISIZEB IMAXAC=IMAXAB IMINAC=IMINAB C ELSE C C Group B has a width at least equal to A, and would not fit C if added to A. C C Group C is added to group A, and another C-type group C has to be checked. C ISIZEC=INCMIN C ENDIF C C Incremental group (C or B) added to A. C ISIZEA=ISIZEA+ISIZEC IMAXA=IMAXAC IMINA=IMINAC IOFF=IOFF+ISIZEC C IF (IOFF.LT.KLEN) THEN C C Another C-type group has to be checked... C GOTO 220 C ENDIF C C ...otherwise, finished. C C ----------------------------------------------------------------- C No incremental group may be added. Current A group is closed. C ----------------------------------------------------------------- C 240 CONTINUE C IGROUP=IGROUP+1 KLENGR(IGROUP)=ISIZEA ICOUNT=ICOUNT+ISIZEA KBITGR(IGROUP)=INBITA ISOMAX=IMAXA-IMINA C C Maximum use of width for second-order values: the maximum value C of group will be encoded with the biggest value fitting within C INBITA bits, and keeping reference value positive or zero. C C The goal is to get the lowest reference value, thus trying C (desperately) to save bit(s) to encode the first-order values. C KREFGR(IGROUP)=MAX (0,IMINA-(IPOWER-ISOMAX)) #ifdef ebug2o PRINT *,'c2gene - IGROUP/ISIZEA/INBITA/IMINA/IMAXA/refer=', X IGROUP,ISIZEA,INBITA,IMINA,IMAXA,KREFGR(IGROUP) #endif C IF (ICOUNT.EQ.KLEN) THEN C C Work finished. C GOTO 250 C ELSEIF (IGROUP.GE.KLWORK) THEN C C Out of work space. C IRETFN = 21240 WRITE(GRPRSM,FMT=9240) KLWORK KLWORX=KLWORK GOTO 900 C ELSEIF (LB2A) THEN C C Transforms B group into A group. C ISIZEA=ISIZEB IMAXA=IMAXB IMINA=IMINB C C Go back, starting by width computing. C GOTO 212 C ELSE C C Another A group must be determined. C GOTO 210 C ENDIF C C ----------------------------------------------------------------- C Groups have been determined. Computes associated descriptors. C ----------------------------------------------------------------- C 250 CONTINUE C KLWORX=IGROUP IFIROV=IGROUP C C Number of bits necessary to code first-order values. C CALL MAXMNI (KREFGR,IFIROV,IDMAX,IDMIN) INBIFO = C2BITW ( IDMAX, INBITO, KPOWER, KMXPWR ) C C Length (bits) of second-order values. C ILENSO=0 C DO 253 J=1,IFIROV ILENSO=ILENSO+KLENGR(J)*KBITGR(J) 253 CONTINUE C C ----------------------------------------------------------------- C Descriptors that are computed even if OCOMGR is false. C ----------------------------------------------------------------- C 260 CONTINUE C IF (LGENXT) THEN C C Compute group width (width of widths), that may be here C different than 8. C CALL MAXMNI (KBITGR,IFIROV,ISOMAX,IAUXIL) IBITGW = C2BITW ( ISOMAX, INBITO, KPOWER, KMXPWR ) C C Compute width of lengths. C CALL MAXMNI (KLENGR,IFIROV,IDMAX,IDMIN) IBITGS = C2BITW ( IDMAX, KMXPWR, KPOWER, KMXPWR ) C KSEC4(17)=IBITGS C IF (IORDER.EQ.0) THEN ILDSTG=ILDSTA+4 ELSE ILDSTG=ILDSTA+5+(8+IWIDSD*(IORDER+1)-1)/8 ENDIF C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9260) IAUXIL, ISOMAX, IBITGW, IDMIN, IDMAX, X IBITGS #ifndef ebug2o ENDIF C #endif ELSE C C Define group width (width of widths). C IBITGW=8 C ENDIF C KSEC4(20)=IBITGW C IF (OCOMGR) THEN C KSEC4(19)=ILENSO KNBIFO=INBIFO KFIROV=IFIROV C ENDIF C C ----------------------------------------------------------------- C Compute full length of section 4 of GRIB. C ----------------------------------------------------------------- C IF (LGENXT) THEN C ILENGS=IFIROV*IBITGS KLEN4=IXLEN4 ( ILDSTG, IFIROV, IBITGW, ILENGS ) C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9270) KLEN4 ILEN4O=KLEN4 #ifndef ebug2o ENDIF C #endif C ----------------------------------------------------------------- C Try to reduce size of lengthes descriptors, splitting groups C that require exactly IBITGS bits for their lengthes. C ----------------------------------------------------------------- C IAUXIL=MIN (KLWORK/2,IFIROV) C 270 CONTINUE C IGROUP=0 IGRADD=0 IDMAX=KPOWER(IBITGS-1)+1 C DO 271 J=1,IFIROV C IF (KLENGR(J).GE.IDMAX) THEN C IF (IGROUP.GE.IAUXIL) THEN C C Out of work space. No (further) splitting performed. C KLWORX=MAX (KLWORX,IAUXIL+IGROUP) GOTO 280 C ELSE C C Compute number of sub-groups that would replace current C group, with a length requiring one bit less for encoding. C (2, except when original length=2**IBITGS-1, where 3 C sub-groups are necessary) C C IGROUP=IGROUP+1 KWORK(IGROUP)=J KWORK(IAUXIL+IGROUP)=1+(KLENGR(J)+1)/IDMAX IGRADD=IGRADD+KWORK(IAUXIL+IGROUP) C ENDIF C ENDIF C 271 CONTINUE C IGRADD=IGRADD-IGROUP IGROUS=IFIROV+IGRADD ILENGS=IGROUS*(IBITGS-1) ILEN4S=IXLEN4 ( ILDSTG, IGROUS, IBITGW, ILENGS ) KLWORX=MAX (KLWORX,IAUXIL+IGROUP) C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9271) IFIROV, IGRADD, ILEN4S #ifndef ebug2o ENDIF C #endif IF (IGROUS.LE.KLWORK.AND.ILEN4S.LT.KLEN4) THEN C C Splitting performed, leading to better compression ratio C with some shorter groups. C ILASTG=IFIROV C DO 275 J=IGROUP,1,-1 C IPOSGR=KWORK(J) INGRAD=KWORK(IAUXIL+J) C C Push up groups above current group to split. C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 273 J2=ILASTG,IPOSGR+1,-1 C KREFGR(J2+IGRADD)=KREFGR(J2) KBITGR(J2+IGRADD)=KBITGR(J2) KLENGR(J2+IGRADD)=KLENGR(J2) C 273 CONTINUE C #ifdef ebug2o PRINT *,'c2gene - after loop 273: ',IPOSGR+1+IGRADD #endif C C Split current group. C #ifdef CRAY CDIR$ NOVECTOR #endif #ifdef FUJITSU !OCL SCALAR #endif DO 274 J2=INGRAD,1,-1 C INDNEW=J2-INGRAD+IGRADD+IPOSGR #ifdef ebug2o PRINT *,INDNEW #endif KREFGR(INDNEW)=KREFGR(IPOSGR) KBITGR(INDNEW)=KBITGR(IPOSGR) KLENGR(INDNEW)=(KLENGR(IPOSGR)+INGRAD-J2)/INGRAD C 274 CONTINUE #ifdef CRAY CDIR$ VECTOR #endif #ifdef FUJITSU !OCL VECTOR #endif C #ifdef ebug2o PRINT *,'c2gene - J/IPOSGR/INGRAD/ILASTG/IGRADD/len=', X J, IPOSGR, INGRAD, ILASTG, IGRADD, X (KLENGR(J2-INGRAD+IGRADD+IPOSGR),J2=1,INGRAD) #endif C IGRADD=IGRADD-(INGRAD-1) ILASTG=IPOSGR-1 C 275 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9272) IGROUS, IBITGS-1 #ifndef ebug2o ENDIF C #endif C C Update descriptors. C IBITGS=IBITGS-1 IFIROV=IGROUS KLWORX=MAX (KLWORX,IGROUS) KSEC4(17)=IBITGS KFIROV=IFIROV KLEN4=ILEN4S C C Loop back to try another splitting. C GOTO 270 C ELSEIF (KLEN4.NE.ILEN4O) THEN C #ifndef ebug2o IF (ODEBUG) THEN #endif ZGAIN=REAL (100*(ILEN4O-KLEN4)) / REAL (ILEN4O) WRITE(GRPRSM,FMT=9273) ZGAIN #ifndef ebug2o ENDIF C #endif ENDIF C ELSE C KLEN4=IXLEN4 ( ILDSTA, IFIROV, IBITGW, KLEN ) C ENDIF C 280 CONTINUE C IF (OLONLY) THEN C C Length has been computed, go back without any coding. C GOTO 900 C ENDIF C C ----------------------------------------------------------------- C* Section 3. Definition of fixed-length descriptors, and coding. C ----------------------------------------------------------------- C 300 CONTINUE C C The first 10 octets have already been coded in GRIBEX, or will C be in a further step of GRIBEX: C Length of section, flags+unused bit count, binary scale factor, C reference value. C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9300) #ifndef ebug2o ENDIF C #endif C Enforce right values for extended flags. C IF (LGENXT) THEN KSEC4( 9)=0 KSEC4(12)=8 ELSE KSEC4( 9)=32 KSEC4(12)=0 ENDIF C KSEC4(10)=16 C C Extra descriptors. C KSEC4(18)=KFIROV KSEC4(20)=IBITGW ILWORK=KLWORK-ISTART+1 C IRETFN = C2PACK ( KDATA, KLENP, KSEC4, KGRIB, KLENG, KNSPT, X KBITS, KLEN, KREFGR(ISTART), KLENGR(ISTART), X KBITGR(ISTART), KWORK, ILWORK, KPOWER, KMXPWR, X KNBIFO, ODEBUG ) C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C C2GENE = IRETFN #ifndef ebug2o C IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IRETFN, OCOMGR, OLONLY, KNSPT #ifndef ebug2o ENDIF #endif C RETURN C 9100 FORMAT (' C2GENE: Function start, OCOMGR = ',L1, X ', OLONLY = ',L1,', KNSPT =',I10,'.') 9101 FORMAT (' C2GENE: Type of 2nd order packing requested: ',A,'.') C 9200 FORMAT (' C2GENE: Computing work arrays, INBITO =',I3,'.',/, X ' C2GENE: KSEC4(1:15)=',I9,I3,I4,3I3,I2,4I3,4I2,'.',/, X ' C2GENE: INCMIN =',I3,', ISIZEG =',I6,'.') C 9240 FORMAT (' C2GENE: Groups number exceeds work space (',I8,') .') C 9260 FORMAT (' C2GENE: Min, Max, Width of widths/lengths =',2(I3,','), X I2,' /',2(I8,','),I3,'.') C 9270 FORMAT (' C2GENE: Length of section 4 for general extended case:' X ,I9,'.') 9271 FORMAT (' C2GENE: Group splitting test, from',I8,' groups',SP, X I7,SS,', s4 length',I9,'.') 9272 FORMAT (' C2GENE: Group splitting performed,',I8, X ' groups, new width of lengths =',I3,'.') 9273 FORMAT (' C2GENE: Relative gain of group splitting on section 4 ', X 'length:',F5.1,' %.') C 9300 FORMAT (' C2GENE: Coding phase - calling C2PACK.') C 9900 FORMAT (' C2GENE: Function return code=',I6, X ', OCOMGR/OLONLY/KNSPT=',2L1,I10,'.') C END emoslib-000392+dfsg.1/gribex/getusr.F0000755000175000017500000001460512127406245020367 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GETUSR (HNAM) IMPLICIT LOGICAL ( L , O , G ) IMPLICIT CHARACTER*8 ( C , H , Y ) IMPLICIT INTEGER ( I , J , K , M , N ) C----> C C* MARS common areas containing job environment information, C parameter settings etc. C C NFTNOS - 12 Fortran unit numbers used by MARS. C NFTNOS(1) is MARSLOG file. Cracked MARS directives. C NFTNOS(2) is MARSPAR file. MARS directives in C network transmission format. C NFTNOS(5) is unit 5 , standard input. C NFTNOS(6) is unit 6 , standard output. C NFTNOS(7) is MARSDEF or MARSDEFNEXT, language C definition, operational or test. C Set by routine JENVXX. C NUMREQ - Total number of requests. C NUMFIL - Numbers of different files to be accessed. C NUMFIL(1) , Total number of files to accessed. C NUMFIL(2) , Number of IBM disk files to accessed. C NUMFIL(3) , Number of IBM MSS files to be accessed. C NUMFIL(4) , Number of IBM tape files to be accessed. C NUMFIL(5) , Number of worker machine files to accessed. C NCNDAY - Century day. C Set by routine JENVXX. C NJMODE - Mode in which MARS job is running. C -1, Quit issued. C 0 , Checkout directives only. C 1 , Connected mode (normal mode retains connection C with IBM at all times). C 2 , Disconnected mode (send requests to IBM and C terminate). C Not yet implemented. C NJOBSQ - Unique number identifying job or process. C Set by routine JENVXX. C NUMBIT - Number of bits in computer word. C Set by routine JENVXX. C NDBUGS - Debug print switch for IBM. C 0 , No debug printout. . C 8 , Debug print on IBM. C Set by routine JENVXX. C NDBUGL - Debug level indicator for worker machine. C 0 , No debug print. C 4 , Trace through subroutine sections and C values of parameters on entry as well as C other print statements used when actually C debugging. C Set by routine JENVXX. C NJBCAT - Category assigned to job by MARS. C 0 , Archive request. C 1 , Manage request. C 2 , Checkout request. C 3 , Costonly request. C 4 , Retrieval from online Operational database on the C worker machine. C 5 , Retrieve guaranteed online (on IBM ) data. C 6 , Retrieve online (on IBM ) data. C Not yet implemented. Treated as category 7. C 7 , Retrieve off-line (on IBM ) data. C 8 , Retrieval of research department data from C online Research database on worker machine. C NPRITY - Priority assigned to job by MARS. C 1 , High. C 2 , Normal. C 3 , Low. C NIAORB - 0 , Current job is an active mode job. C 1 , Current job is in interactive edit mode. C Set by routine JENVXX. C C----> INTEGER NFTNOS INTEGER NCNDAY INTEGER NJMODE INTEGER NJOBSQ INTEGER NUMBIT INTEGER NDBUGS INTEGER NDBUGL INTEGER NJBCAT INTEGER NPRITY INTEGER NIAORB INTEGER NFLTYP INTEGER NUMFIL INTEGER NUMREQ C DIMENSION NFTNOS(12) DIMENSION NUMFIL(5) C COMMON /INTGCOM/ NFTNOS , NCNDAY , NJMODE , NJOBSQ , NUMBIT , C NDBUGS , NDBUGL , NJBCAT , NPRITY , NIAORB , C NFLTYP , NUMFIL , NUMREQ C C COPSYS - Name of computer operating system. C UNICOS C COS C NOS/VE C VMS C MVS/XA C Set by routine calling MARSXX. C CWMACH - Name of machine on which MARS is running. C CRAY C CYBER C VAX C IBM C Set by routine JENVXX. C CCDATE - Date at start of job in yymmdd format. C Set by routine JENVXX. C CCTIME - Time at start of job in hhmmss format. C Set by routine JENVXX. C CJNAME - Name of job or process. C Set by routine JENVXX. C CACCNT - Account under which job is running. C CWMARS - Connect to test or operational MARS/IBM. C MATS , Test version. C MARS , Operational version. C Set by routine JENVXX. C CWLANG - Use test or operational version of MARS language. C MARSDEF - Operational version. C MATSDEF - Test version. C Set by routine JENVCO for COS version. C CWLAPA - Use test or operational version of MARS language. C .../.../marsdef - Operational version. C .../.../matsdef - Test version. C Set by routine JENVUN for UNICOS version. C CWTMDR - Temporary file directory. C Set by JENVUN. C CWUSER - User name. C Set by JENVUN. C CUSFDB - FDB Usage indicator. C NEVER , Never attempt to access FDB. C ALWAYS, Always attempt to access FDB. C DEFAULT, Analyse request before deciding usage. C Set by JENVUN. C CWEDNO - GRIB Code Edition indicator. C OFF , use current edition. C ON , use edition 0. C CHARACTER*8 COPSYS CHARACTER*8 CWMACH CHARACTER*3 CWUSER CHARACTER*6 CCDATE CHARACTER*6 CCTIME CHARACTER*4 CWMARS CHARACTER*7 CWLANG CHARACTER*7 CUSFDB CHARACTER*48 CWLAPA CHARACTER*48 CWTMDR CHARACTER*16 CJNAME CHARACTER*16 CACCNT CHARACTER*3 CWEDNO C COMMON /CHARCOM/ COPSYS , CWMACH , CCDATE , CCTIME , CJNAME , C CACCNT , CWMARS , CWLANG , CWLAPA , CWTMDR , C CWUSER , CUSFDB , CWEDNO C CHARACTER*3 HNAM HNAM = CWUSER RETURN END emoslib-000392+dfsg.1/gribex/csgnbt.F0000755000175000017500000000304512127406245020332 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CSGNBT( KOUT, KIN, KPOS, KRET) C----> C C Set the sign bit in position KPOS of word KOUT, and C set the rest of bits (KPOS-1) -> using +ve value of C KIN. C C On return, KRET = 0 if all OK. C C----< IMPLICIT NONE INTEGER KOUT, KIN, KPOS, KRET INTEGER JPBITS #ifdef INTEGER_8 PARAMETER ( JPBITS = 64 ) #else PARAMETER ( JPBITS = 32 ) #endif INTEGER ISBIT, IVALUE, INSPT, IRETA, IRETB IF ( KIN .LT. 0 ) THEN IVALUE = -KIN ISBIT = 1 ELSE IVALUE = KIN ISBIT = 0 ENDIF #if defined (VAX) || defined (__alpha) C C VAX bit handling with VAX specific intrinsics KOUT = JISHFT( ISBIT, KPOS-1) KOUT = KOUT + IVALUE #else C C Bit handling using INXBIT INSPT = 0 CALL INXBIT( KOUT, 1, INSPT, ISBIT, 1, JPBITS, X (JPBITS-KPOS+1), 'C', IRETA) CALL INXBIT( KOUT, 1, INSPT, IVALUE, 1, JPBITS, X (KPOS-1), 'C', IRETB) KRET = IRETA+IRETB IF ( KRET .NE. 0 ) THEN WRITE(*,*) ' CSGNBT - Problem packing bits in value' GOTO 900 ENDIF #endif 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/confp2.F0000755000175000017500000000675212127406245020251 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE CONFP2 (PVAL,KEXP,KMANT,KBITS) C C----> C**** CONFP2 - Convert floating point number to GRIb representation. C C Purpose. C -------- C C Convert floating point number from machine C representation to GRIB representation. C C** Interface. C ---------- C C CALL CONFP2 (PVAL,KEXP,KMANT,KBITS) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input Parameters. C ----------------- C C PVAL - Floating point number to be converted. C C KBITS - Number of bits in computer word. C C Output Parameters. C ----------------- C C KEXP - 8 Bit signed exponent. C C KMANT - 24 Bit mantissa. C C Method. C ------- C C Floating point number represented as 8 bit exponent C and 24 bit mantissa in integer values. C C Externals. C ---------- C C None. C C Reference. C ---------- C C WMO Manual on Codes re GRIB representation. C C Comments. C --------- C C Rewritten from CONFP, to include number of bits per C computer word, to unite slightly different versions of C CONFP. C C Routine contains sections 0 to 2 and section 9. C C Author. C ------- C C John Hennessy ECMWF 19.03.91 C C Modifications. C -------------- C C None. C C ----------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ----------------------------------------------------------------- C IMPLICIT LOGICAL ( L , O , G ) IMPLICIT CHARACTER*8 ( C , H , Y ) IMPLICIT INTEGER ( I , J , K , M , N ) C C ----------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Convert value of 0.0. C ----------------------------------------------------------------- C 100 CONTINUE C IF (PVAL.EQ.0.0) C THEN KEXP = 0 KMANT = 0 GO TO 900 ENDIF C C ----------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Convert other values. C ----------------------------------------------------------------- C 200 CONTINUE C ZEPS = 1.0E-12 IF (KBITS.EQ.32) ZEPS = 1.0E-8 ZREF = PVAL C C Sign of value. C ISIGN = 0 IF (ZREF.LT.0.) C THEN ISIGN = 128 ZREF = - ZREF ENDIF C C Exponent. C KEXP = INT(ALOG(ZREF)*(1.0/ALOG(16.0))+64.0+1.0+ZEPS) C IF (KEXP.LT.0 ) KEXP = 0 IF (KEXP.GT.127) KEXP = 127 C C Mantissa. C KMANT = INT (ZREF/16.0**(KEXP-70)) C C Add sign bit to exponent. C KEXP = KEXP + ISIGN C C ----------------------------------------------------------------- C C C C C C C C C C C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/maxmni.F0000755000175000017500000000453312127406245020346 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE MAXMNI(KARRAY,KLEN,KMAX,KMIN) C C----> C**** MAXMNI - Get maximum and minimum values. C C Purpose. C -------- C C Get maximum and minimum values from an array of integer numbers. C C** Interface. C ---------- C C CALL MAXMNI (KARRAY,KLEN,KMAX,KMIN) C C Input Parameters. C ----------------- C C KARRAY - Array of numbers. C KLEN - Last word of this array. C C Output Parameters. C ------------------ C C KMAX - Maximum value. C KMIN - Minimum value. C C Method. C ------- C C Intrinsic functions MAX and MIN are used. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - January 1998. C C Modifications. C -------------- C C None. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C IMPLICIT NONE C C Subroutine arguments C INTEGER KARRAY, KLEN, KMAX, KMIN DIMENSION KARRAY(*) C C Local variables C INTEGER JLOOP C C ---------------------------------------------------------------- C* Section 1 . Get maximum and minimum values. C ---------------------------------------------------------------- C 100 CONTINUE C C Set initial values. C KMAX = KARRAY(1) KMIN = KARRAY(1) C C Extract maximum and minimum values. C DO 110 JLOOP = 2 , KLEN KMAX = MAX(KMAX,KARRAY(JLOOP)) KMIN = MIN(KMIN,KARRAY(JLOOP)) 110 CONTINUE C C ---------------------------------------------------------------- C* Section 9. Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/elasec2.F0000755000175000017500000001633712127406245020400 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION ELASEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C----> C**** ELASEC2P C C PURPOSE C _______ C C Encodes GRIB section 2 values for lambert conformal fields. C C INTERFACE C _________ C C IRET = ELASEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product built so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product built so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C C C Output parameters C ________________ C C KGRIB - Updated GRIB product to end of section 2. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Packs values given in KSEC2 into KGRIB and updates bit C pointer INSPT. C C Externals C _________ C C CSGNBT - Set the sign bit. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) C C Local variables C INTEGER ILALO(2), IRET, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C ELASEC2 = 0 C C _______________________________________________________ C C Section 2. Pack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along X-axis. C Octets 9 - 10 : Nj - number of points along Y-axis. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN ELASEC2 = 1 WRITE(GRPRSM,*) 'ELASEC2 Error inserting' WRITE(GRPRSM,*) 'ELASEC2 number of points along X or Y axis.' WRITE(GRPRSM,*) 'ELASEC2 Return code = ', IRET GOTO 900 ENDIF C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(4), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(5), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN ELASEC2 = 1 WRITE(GRPRSM,*) 'ELASEC2 Error inserting' WRITE(GRPRSM,*) X 'ELASEC2 latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'ELASEC2 Return code = ', IRET GOTO 900 ENDIF C C Octet 17 : Resolution and components flag. C One 8 bit field. C C Resolution flag ( KSEC2(6) ) is not applicable. C IRESOL = KSEC2(18)+KSEC2(19)+KSEC2(6) C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN ELASEC2 = 1 WRITE(GRPRSM,*) 'ELASEC2 Error inserting' WRITE(GRPRSM,*) 'ELASEC2 components flag.' WRITE(GRPRSM,*) 'ELASEC2 Return code = ', IRET GOTO 900 ENDIF C C Octets 18 - 20 : LoV - orientation of the grid. C One 24 bit field. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(7), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),1,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN ELASEC2 = 1 WRITE(GRPRSM,*) 'ELASEC2 Error inserting' WRITE(GRPRSM,*) X 'ELASEC2 latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'ELASEC2 Return code = ', IRET GOTO 900 ENDIF C C Octets 21 - 23 : Dx - X direction grid length. C Octets 24 - 26 : Dy - Y direction grid length. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN ELASEC2 = 1 WRITE(GRPRSM,*) 'ELASEC2 Error inserting' WRITE(GRPRSM,*) 'ELASEC2 X or Y axis grid length.' WRITE(GRPRSM,*) 'ELASEC2 Return code = ', IRET GOTO 900 ENDIF C C Octet 27 : Projection centre flag. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(13),1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN ELASEC2 = 1 WRITE(GRPRSM,*) 'ELASEC2 Error inserting' WRITE(GRPRSM,*) 'ELASEC2 Projection centre flag.' WRITE(GRPRSM,*) 'ELASEC2 Return code = ', IRET GOTO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN ELASEC2 = 1 WRITE(GRPRSM,*) 'ELASEC2 Error inserting' WRITE(GRPRSM,*) 'ELASEC2 scanning mode flags.' WRITE(GRPRSM,*) 'ELASEC2 Return code = ', IRET GOTO 900 ENDIF C C Fix-up for flag which was different in Experimental Edition. C IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 31 : Latin 1. C Octets 32 - 34 : Latin 2. C Two 24 bit fields. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(14), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(15), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN ELASEC2 = 1 WRITE(GRPRSM,*) 'ELASEC2 Error inserting' WRITE(GRPRSM,*) 'ELASEC2 Latin1 or Latin2 of secants points.' WRITE(GRPRSM,*) 'ELASEC2 Return code = ', IRET GOTO 900 ENDIF C C Octets 35 - 37 : Latitude of the southern pole. C Octets 38 - 40 : Longitude of the southern pole. C Two 24 bit fields. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(20), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(21), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN ELASEC2 = 1 WRITE(GRPRSM,*) 'ELASEC2 Error inserting' WRITE(GRPRSM,*) 'ELASEC2 latitude/longitude of southern pole.' WRITE(GRPRSM,*) 'ELASEC2 Return code = ', IRET GOTO 900 ENDIF C C Octets 41 - 42 : Reserved. C One 16 bit fields. C C All bits already set to 0. C Update bit pointer. C INSPT = INSPT + 16 C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/unbkin.F0000755000175000017500000004002112127406245020333 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE UNBKIN (KUNIT,KARRAY,KINLEN,KOUTLEN,KEOF,KRET) C C----> C**** UNBKIN - Read a record from a pure binary file. C C Purpose. C -------- C C Provides standard interface to read unblocked COS C files or UNICOS pure binary files. C C Read next record from a pure binary file C and return in given array to calling routine. C C** Interface. C ---------- C C CALL UNBKIN (KUNIT,KARRAY,KINLEN,KOUTLEN,KEOF,KRET) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input parameters. C ----------------- C C KUNIT - Fortran unit number of file to be read. C 1 to 99. C C KARRAY - Array to receive record. C C KINLEN - Length of this array, in words. C C KOUTLEN - Length of record to be read (in words) C If this is 0 the length of the record is C assumed to be in the first word of the C record. This is the case for MARS data C in unpacked format. C C KEOF - 0, If not last read from this file. C 1, Last read to be made from this file. C C Normally this will be 0, but if the C same unit number is used later for C another file, and end-of-file was not C reached on the first one, a misread C will occur, unless KEOF is set to 1 on C the last read from the first file. C C KRET - 0, Routine to abort if error encountered. C 1, Return to calling routine even if error. C C Adding 100 to KRET will add debug printout C eg values of input and output parameters. C C Valid values for KRET are thus 0, 1, 100 C or 101. C C Output parameters. C ------------------ C C KOUTLEN - Length of record read, in words. C C KEOF - 0, If no end of file detected. C 1, End of file detected. C C KRET - Return code. C 0, No error encountered. C 1, Read error. C 2, Not used. C 3, Not used. C 4, Not used. C 5, No data transferred because user's array C is smaller than the record length. C 6, Maximum number of files opened for read C by user program exceeded. C 7, Error detected in parameters. C 8, Not used. C 9, Not used. C 10, End of file encountered before end of C record. C C Method. C ------- C C Data is read in 512 word blocks. The length of each C record is given in the first word (or as input parameter) C and enough blocks then read to complete the record, which C is returned to the user. Any remaining words are kept to C use as the start of the next record on the next read. C C An array of Fortran numbers in use is kept, with a C corresponding array of pointers to the last part of C data read from each one. A similar array keeps end of file C status for each file. When the last read has been C made from a file, these entries are reset to 0. C C If an error is encountered, an error message is printed. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C Maximum number of files which can be handled in one C program is 20. C C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 25:06:90. C C Modifications C -------------- C C None. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C PARAMETER (JPBLOK=512) PARAMETER (JPFILS= 20) C DIMENSION KARRAY(KINLEN) DIMENSION INBUFF(JPFILS*JPBLOK) DIMENSION ISTART(JPFILS) DIMENSION IFTNOS(JPFILS) DIMENSION IATEOF(JPFILS) C DATA ISTART /JPFILS*0/ DATA IFTNOS /JPFILS*0/ DATA IATEOF /JPFILS*0/ C SAVE INBUFF SAVE ISTART SAVE IFTNOS SAVE IATEOF C C ---------------------------------------------------------------- C C C C C C C C C C* Section 1 . Check parameters. Set initial values. C ---------------------------------------------------------------- C 1000 CONTINUE C C Set print switch, if required. C IF (KRET.GE.100) C THEN KPR = 1 ELSE KPR = 0 ENDIF C C Print input parameters, if required. C IF (KPR.EQ.1) C THEN WRITE (*,*) 'UNBKIN : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9904) KUNIT WRITE (*,9905) KINLEN WRITE (*,9906) KRET WRITE (*,9908) KEOF ENDIF C C Check input parameters. C IRET = 0 IF (KRET.GE.100) KRET = KRET - 100 C C Invalid value given for return code. C IF (KRET.LT.0.OR.KRET.GT.1) C THEN IRET = 7 WRITE (*,9910) KRET GO TO 9000 ENDIF C C Fortran unit numbers must be between 1 and 99 inclusive. C IF (KUNIT.LT.1.OR.KUNIT.GT.99) C THEN IRET = 7 WRITE (*,9911) KUNIT GO TO 9000 ENDIF C C Keep last read indicator. C IEOF = KEOF KEOF = 0 C C Locate Fortran unit number in list of active numbers. C DO 1010 J1010=1,JPFILS IF (IFTNOS(J1010).EQ.KUNIT) C THEN IB = ISTART(J1010) IZ = IATEOF(J1010) IP = J1010 GO TO 1030 ENDIF 1010 CONTINUE C C None found, so first time in. Set table entries. C DO 1020 J1020=1,JPFILS IF (IFTNOS(J1020).EQ.0) C THEN IB = 0 IZ = 0 IP = J1020 IFTNOS(J1020) = KUNIT GO TO 1030 ENDIF 1020 CONTINUE C C No table entry free. Maximum number of files exceeded. C IRET = 6 WRITE (*,9912) JPFILS GO TO 9000 C C Set pointer to array holding last part of data read. C 1030 CONTINUE C IPR = IP IP = (IP-1) * JPBLOK + 1 C C INBUFF(IP) to INBUFF(IP+IB) are the remaining words of the C last block read. C C ---------------------------------------------------------------- C C C C C C C C C C* Section 2 . Ensure enough data is read to include a full record. C ---------------------------------------------------------------- C 2000 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) 'UNBKIN : Section 2.' WRITE (*,9909) IPR , IP , IB ENDIF C C Copy remainder of last block read to user array. C C KARRAY 1 IB C ! ! C ========= C DO 2025 J2025 = 1,IB KARRAY(J2025) = INBUFF(IP+J2025-1) 2025 CONTINUE C C Fill remainder of array with zeroes. C DO 2050 J2050 = IB+1,KINLEN KARRAY(J2050) = 0 2050 CONTINUE C C C* Get length of record to be read. . C IF (KOUTLEN.NE.0) C THEN ILENW = KOUTLEN ELSE ILENW = KARRAY(1) ENDIF C C Force a block to be read if no data remains from previous C read. C IF (IB.EQ.0) ILENW = JPBLOK + 1 C C Force a block to be read if data length is 0 to check for C end-of-file. C IF (ILENW.EQ.0) ILENW = JPBLOK + 1 C C Force a block to be read if the record Length is C greater than the length of data already read. C IF (ILENW.GT.IB) ILENW = JPBLOK + 1 C C No data is read if full record has already been read. C C No data is read if an end-of-file has been C encountered on previous read. Even if end-of-file has been C reached there may be short record(s) remaining in the C last block read. C C KARRAY 1 IB IE C ! ! ! C ======================= C C Read next block if necessary to get full record. C IF (IZ.EQ.0.AND.ILENW.GT.JPBLOK) C THEN IE = IB + JPBLOK BUFFER IN (KUNIT,0) (KARRAY(IB+1),KARRAY(IE)) IF (UNIT(KUNIT)) 2300,2200,2100 ELSE IE = IB GO TO 2300 ENDIF C 2100 CONTINUE C C Read error, go to section 9. C IRET = 1 WRITE (*,9913) KUNIT GO TO 9000 C 2200 CONTINUE C C End of file read, so set flag. Last block read may still C contain short records. C IZ = 1 IATEOF(IPR) = IZ C 2300 CONTINUE C C* Get length of record. C IF (KOUTLEN.NE.0) C THEN ILENW = KOUTLEN C C If the record length has been set by user, and C end-of-file has been encountered, force end-of-file C processing if record length is greater than remaining C contents of the buffer. C IF(IZ.EQ.1.AND.ILENW.GT.IB) ILENW = 0 C ELSE ILENW = KARRAY(1) ENDIF C C If end-of-file has been encountered and record C length is 0 no further record remains in the buffer. C IF (IZ.EQ.1.AND.ILENW.EQ.0) C THEN KEOF = 1 IFTNOS(IPR) = 0 ISTART(IPR) = 0 IATEOF(IPR) = 0 GO TO 9000 ENDIF C IF (KPR.EQ.1) WRITE (*,9902) ILENW C C Ensure that user's array is large enough. C IF (KINLEN.LT.ILENW) C THEN WRITE (*,9917) KINLEN , ILENW IRET = 5 GO TO 9000 ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C* Section 3 . Read enough blocks to complete current record. C ---------------------------------------------------------------- C 3000 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) 'UNBKIN : Section 3.' C C C If data already read does not contain a full record, C read enough blocks to include the next full record. C Read last block into INBUFF, preceding ones into user's array. C IF (IE.LT.ILENW) C THEN C C KARRAY 1 IB IE ILENW C ! ! ! ! C ============================================== C ! C ILENR IB = IE ILENR = ILENW - IE C C If second block is last block, do not read into user array. C IF (ILENR.LE.JPBLOK) GO TO 3010 C IDIFF = MOD (ILENR,JPBLOK) IF (IDIFF.NE.0) C THEN ILENR = ILENR - IDIFF ELSE ILENR = ILENR - JPBLOK ENDIF IE = IE + ILENR BUFFER IN (KUNIT,0) (KARRAY(IB+1),KARRAY(IE)) IF (UNIT(KUNIT)) 3010,3700,2100 C 3010 CONTINUE C BUFFER IN (KUNIT,0) (INBUFF(IP),INBUFF(IP+JPBLOK-1)) IF (UNIT(KUNIT)) 3100,3700,2100 C C Put end of field in user's array. C 3100 CONTINUE C IEND = ILENW - IE DO 3200 J3200=1,IEND KARRAY(IE+J3200) = INBUFF(IP+J3200-1) 3200 CONTINUE C C Move remainder of block to front of buffer. C INTER = JPBLOK - IEND DO 3300 J3300=1,INTER INBUFF(IP+J3300-1) = INBUFF(IP+J3300-1+IEND) 3300 CONTINUE C C ELSE C C Check for premature end-of-file ie record C longer than data already read. C C KARRAY 1 IB ILENW C ! ! EOF ! C =========== C C=== IF (IZ.EQ.1.AND.ILENW.GT.IB) GO TO 3700 C RE-implement above line and remove next IF clause C when ECFILE clears its buffers before use. C IF (IZ.EQ.1.AND.ILENW.GT.IB) C THEN KEOF = 1 IFTNOS(IPR) = 0 ISTART(IPR) = 0 IATEOF(IPR) = 0 KOUTLEN = 0 GO TO 9000 ENDIF C C KARRAY 1 ILENW IE C ! ! ! C ======================= C INTER = IE - ILENW DO 3400 J3400=1,INTER INBUFF(IP+J3400-1) = KARRAY(ILENW+J3400) 3400 CONTINUE ENDIF C KOUTLEN = ILENW IB = INTER C 3600 CONTINUE C C Save pointer to start of next read area, unless last read. C IF (IEOF.EQ.1) C THEN IFTNOS(IPR) = 0 ISTART(IPR) = 0 IATEOF(IPR) = 0 ELSE ISTART(IPR) = IB IATEOF(IPR) = IZ ENDIF C GO TO 9000 C C End-of-file before end of record. C 3700 CONTINUE C IRET = 10 WRITE (*,9918) C C ---------------------------------------------------------------- C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 9000 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) 'UNBKIN : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9907) KOUTLEN WRITE (*,9908) KEOF WRITE (*,9906) IRET ENDIF C C Error encountered. Clear table entries, if any exist. C Abort if requested. C IF (IRET.NE.0.AND.IRET.NE.2) C THEN IF (IRET.NE.6) C THEN IFTNOS(IPR) = 0 IATEOF(IPR) = 0 ISTART(IPR) = 0 ENDIF WRITE (*,9903) IRET IF (KRET.EQ.0) CALL ABORT ENDIF C KRET = IRET C RETURN C C 9902 FORMAT (1H ,'UNBKIN : Record length (words) = ',I8) C 9903 FORMAT (1H ,'UNBKIN : Return code = ',I6) C 9904 FORMAT (1H ,9X,'KUNIT = ',I6) C 9905 FORMAT (1H ,9X,'KINLEN = ',I6) C 9906 FORMAT (1H ,9X,'KRET = ',I6) C 9907 FORMAT (1H ,9X,'KOUTLEN = ',I6) C 9908 FORMAT (1H ,9X,'KEOF = ',I6) C 9909 FORMAT (1H ,'IPR = ',I4,' IP = ',I8,' IB = ',I8) C 9910 FORMAT (1H ,'UNBKIN : KRET on input is ',I4, C '. Valid values are 0,1,10,11,100,110,101 or 111.') 9911 FORMAT (1H ,'UNBKIN : KUNIT on input is ',I4, C '. Valid values are 1 to 99.') 9912 FORMAT (1H ,'UNBKIN : Maximum number of files (',I2,') exceeded.') C 9913 FORMAT (1H ,'UNBKIN : Error in reading file number ',I3) C 9917 FORMAT (1H ,'UNBKIN : Array length is ',I6, 'words, but record ', C 'length is ',I6,' words.') 9918 FORMAT (1H ,'UNBKIN : End-of-file reached before end of record.') C C END emoslib-000392+dfsg.1/gribex/prtbk2.F0000755000175000017500000000764612127406245020271 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE PRTBK2 (IB2PAR) C C----> C C NAME : PRTBK2 C C FUNCTION : PRINT THE INFORMATION IN THE GRDI DEFINITION C BLOCK (BLOCK 2) OF DECODED GRIB DATA. C C INPUT : IB2PAR - ARRAY OF DECODED PARAMETERS FROM BLOCK 2. C C OUTPUT : FLAG FIELDS ARE PRINTED IN BINARY REPRESENTATION. C OTHER FIELDS AS INTEGERS. C C JOHN HENNESSY ECMWF OCTOBER 1985 C C Modifications. C -------------- C C J. Hennessy ECMWF 23:11:90 C Output changed from all upper-case. C C --------------------------------------------------------------- C----< C IMPLICIT INTEGER (A-Z) C DIMENSION IB2PAR(*) C WRITE (*,'(1H )') WRITE (*,9000) 9000 FORMAT (1H ,'Section 2 - Grid definition section.') C WRITE (*,'(1H )') WRITE (*,9001) IB2PAR(1) 9001 FORMAT (1H ,'Data representation type (Table 6) ',I9) C C SPHERICAL HARMONIC DATA C IF (IB2PAR(1).EQ.50) C THEN C WRITE (*,9002) IB2PAR(2) 9002 FORMAT (1H ,'J - Pentagonal resolution parameter. ',I9) WRITE (*,9003) IB2PAR(3) 9003 FORMAT (1H ,'K - Pentagonal resolution parameter. ',I9) WRITE (*,9004) IB2PAR(4) 9004 FORMAT (1H ,'M - Pentagonal resolution parameter. ',I9) WRITE (*,9005) IB2PAR(5) 9005 FORMAT (1H ,'Representation type (Table 9) ',I9) WRITE (*,9006) IB2PAR(6) 9006 FORMAT (1H ,'Representation mode (Table 10). ',I9) WRITE (*,9007) (IB2PAR(I),I=7,11) 9007 FORMAT (1H ,'Not used. ',I9) C RETURN C ENDIF C C GAUSSIAN AND REGULAR LATITUDE / LONGITUDE GRIDS. C IF (IB2PAR(1).EQ.0.OR.IB2PAR(1).EQ.4) C THEN C WRITE (*,9102) IB2PAR(2) 9102 FORMAT (1H ,'No. of points along a latitude. ',I9) WRITE (*,9103) IB2PAR(3) 9103 FORMAT (1H ,'No. of points along a meridian. ',I9) WRITE (*,9104) IB2PAR(4) 9104 FORMAT (1H ,'Latitude of origin. ',I9) WRITE (*,9200) 9200 FORMAT (1H ,'(Southern latitudes are negative.)') WRITE (*,9105) IB2PAR(5) 9105 FORMAT (1H ,'Longitude of origin. ',I9) WRITE (*,9201) 9201 FORMAT (1H ,'(Western longitudes are negative.)') NBIT = 8 CALL PRTBIN (IB2PAR(6),NBIT,OUT,ERR) WRITE (*,9106) OUT 9106 FORMAT (1H ,'Resolution flag. ',I8.8) WRITE (*,9107) IB2PAR(7) 9107 FORMAT (1H ,'Latitude of extreme point. ',I9) WRITE (*,9200) WRITE (*,9108) IB2PAR(8) 9108 FORMAT (1H ,'Longitude of extreme point. ',I9) WRITE (*,9201) WRITE (*,9109) IB2PAR(9) 9109 FORMAT (1H ,'East-West increment. ',I9) IF (IB2PAR(1).EQ.0) C THEN WRITE (*,9110) IB2PAR(10) 9110 FORMAT (1H ,'North-South increment. ', C I9) ENDIF IF (IB2PAR(1).EQ.4) C THEN WRITE (*,8110) IB2PAR(10) 8110 FORMAT(1H ,'No. of latitude lines pole / equator.', C I9) ENDIF NBIT = 8 CALL PRTBIN (IB2PAR(11),NBIT,OUT,ERR) WRITE (*,9111) OUT 9111 FORMAT (1H ,'Scanning mode flags (Code Table 8) ',I8.8) C RETURN C ENDIF C END emoslib-000392+dfsg.1/gribex/dlasec2.F0000755000175000017500000001705412127406245020374 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION DLASEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C----> C**** DLASEC2P C C PURPOSE C _______ C C Decodes GRIB section 2 values for lambert conformal fields. C C INTERFACE C _________ C C IRET = DLASEC2(KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product unpacked so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product unpacked so far. C KSEC0 - GRIB section 0 description. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C C C Output parameters C ________________ C C KSEC2 - Updated GRIB section 2 description. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Unpacks values given in KGRIB into KSEC2 and updates bit C pointer INSPT. C C Externals C _________ C C DSGNBT - Get the sign bit and adjust value to +/-. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC0,KSEC2,IBITS DIMENSION KGRIB(*),KSEC0(*),KSEC2(*) C C Local variables C INTEGER ILALO(2), IRET, IRESOL C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C DLASEC2 = 0 C C _______________________________________________________ C C Section 2. Unpack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Ni - number of points along X-axis. C Octets 9 - 10 : Nj - number of points along Y-axis. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'D',IRET) IF( IRET.NE.0 ) THEN DLASEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error extracting' WRITE(GRPRSM,*) 'GRIBEX: number of points along X or Y axis.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GOTO 900 ENDIF C C Octets 11 - 13 : La1 - latitude of first grid point. C Octets 14 - 16 : Lo1 - longitude of first grid point. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DLASEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude or longitude of first grid pt.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GOTO 900 ENDIF C C If sign bit is 1, value is negative. C CALL DSGNBT( KSEC2(4), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(5), ILALO(2), 24, IRET) C C Octet 17 : Resolution and components flag. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DLASEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error extracting' WRITE(GRPRSM,*) 'GRIBEX: components flag.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GOTO 900 ENDIF C C If all flag fields are already set to 0, bypass. C IF( IRESOL.EQ.0 ) GOTO 515 C C Resolution flag is not applicable. C IF( IRESOL.GE.128) THEN KSEC2(6) = 128 IRESOL = IRESOL - 128 ENDIF C C Set earth flag. C IF( IRESOL.GE.64) THEN KSEC2(18) = 64 IRESOL = IRESOL - 64 ENDIF C C Set components flag. C KSEC2(19) = IRESOL C 515 CONTINUE C C Octets 18 - 20 : LoV - orientation of the grid. C One 24 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),1,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DLASEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error extracting' WRITE(GRPRSM,*) X 'GRIBEX: latitude or longitude of last grid point.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GOTO 900 ENDIF C C If sign bit is 1, value is negative. C CALL DSGNBT( KSEC2(7), ILALO(1), 24, IRET) C C Octets 21 - 23 : Dx - X direction grid length. C Octets 24 - 26 : Dy - Y direction grid length. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DLASEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error extracting' WRITE(GRPRSM,*) 'GRIBEX: X or Y axis grid length.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GOTO 900 ENDIF C C Octet 27 : Projection centre flag. C One 8-bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(13),1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DLASEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error extracting' WRITE(GRPRSM,*) 'GRIBEX: Projection centre flag.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GOTO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'D',IRET) IF( IRET.NE.0 ) THEN DLASEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error extracting' WRITE(GRPRSM,*) 'GRIBEX: scanning mode flags.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GOTO 900 ENDIF C C Fix-up for flag which was different in Experimental C Edition. C IF( KSEC0(2).EQ.-1.AND.KSEC2(11).EQ.1) KSEC2(11) = 0 C C Octets 29 - 31 : Latin 1. C Octets 32 - 34 : Latin 2. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DLASEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error extracting' WRITE(GRPRSM,*) 'GRIBEX: Latin1 or Latin2 of secants points.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GOTO 900 ENDIF C C If sign bit is 1, value is negative. C CALL DSGNBT( KSEC2(14), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(15), ILALO(2), 24, IRET) C C Octets 35 - 37 : Latitude of the southern pole. C Octets 38 - 40 : Longitude of the southern pole. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'D',IRET) IF( IRET.NE.0 ) THEN DLASEC2 = 1 WRITE(GRPRSM,*) 'GRIBEX: Error extracting' WRITE(GRPRSM,*) 'GRIBEX: latitude/longitude of southern pole.' WRITE(GRPRSM,*) 'GRIBEX: Return code = ', IRET GOTO 900 ENDIF C C If sign bit is 1, value is negative. C CALL DSGNBT( KSEC2(20), ILALO(1), 24, IRET) CALL DSGNBT( KSEC2(21), ILALO(2), 24, IRET) C C Octets 41 - 42 : Reserved. C One 16 bit fields. C C Update bit pointer. C INSPT = INSPT + 16 C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/grsdbg.F0000755000175000017500000000575312127406245020332 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSDBG (KDBG) C C----> C**** GRSDBG - Debug print switch setting for routine GRIBEX. C C Purpose. C -------- C C Switch debug printout on or off for routine GRIBEX. C C** Interface. C ---------- C C CALL GRSDBG (KDBG) C C Input Parameters. C ----------------- C C KDGB - Debug print switch. C 0 , No printout. C Non-zero , Debug printout. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C The variable NDBG is set in the common area. All other C parameters are also set to default values, if they have C not already been set by the user. C C Externals. C ---------- C C GRSDEF - Default setting of global variables. C C Reference. C ---------- C C See subroutine GRIBEX. C C Comments. C --------- C C None C C Author. C ------- C C J. Hennessy ECMWF 25.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 25.06.91 C Changes to some comments only. C C J. Hennessy ECMWF 14.11.91 C Common areas changed. C C J. Hennessy ECMWF 07.01.92 C Input parameter returned unchanged. C C J.D.Chambers ECMWF 13.09.94 C Add NONOFF and NOABORT, use grbcom.h C C J. Clochard, Meteo France, for ECMWF - January 1998. C Use GRSDEF routine for default setting. C C J. Clochard, Meteo France, for ECMWF - June 1999. C Use a static variable to determine if initialisation of C default values has already been done for common area C variables. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C INTEGER KDBG C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C Set debug print to required value. C NDBG = KDBG C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/ecdef2.h0000755000175000017500000000414412127406245020245 0ustar amckinstryamckinstryC C Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C ECMWF local GRIB use definition 2. C Cluster means and standard deviations. C ---------------------------------- C C Words 38-41 as for definition 1. C C 42 Number : Cluster number. C C 43 Total : Total number of clusters. C C 44 Clustering method :- C 1 - Maximum linkage method C 2 - Mixed method C 3 - Small linkage method C C 45 Start time step considered when clustering C (Same units of time as forecast timesteps) C C 46 End time step considered when clustering C (Same units of time as forecast timesteps) C C 47 Northern latitude of domain of clustering C 48 Western longitude of domain of clustering C 49 Southern latitude of domain of clustering C 50 Eastern longitude of domain of clustering C (See Notes 1-4 below) C C 51 : Number of cluster to which operational C forecast belongs. C C 52 : Number of cluster to which control C forecast belongs. C C 53 N : Number of forecasts belonging to C the cluster , including the C control forecast. C C 54-53+N : List of N ensemble forecast numbers. C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C emoslib-000392+dfsg.1/gribex/kwchk1.F0000755000175000017500000001066512127406245020250 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE KWCHK1(KSEC1,KRET) C C----> C**** KWCHK1 C C Purpose. C -------- C C Check parameters for Washington ensemble products Section 1 C of GRIB code against valid values for GRIB Code Edition 1. C C** Interface. C ---------- C C CALL KWCHK1(KSEC1,KRET) C C C Input Parameters. C ----------------- C C KSEC1 - Array containing parameters for section C 1 of GRIB code. C C Output Parameters. C ------------------ C C KRET - Return code. C 0 , No error encountered. C 1 , Error in GRIB code parameter. C C Method. C ------- C C Values checked against Washington ensemble product usage. C C C Externals. C ---------- C C None. C C C Reference. C ---------- C C WMO Manual on Codes for GRIB code. C C C Comments. C --------- C C Routine contains Sections 0 to 2 and Section 9. C C C Author. C ------- C C J.D.Chambers ECMWF 09.10.95 C C Modifications. C -------------- C C None. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments INTEGER KSEC1, KRET DIMENSION KSEC1(*) C C Local variables C #ifdef CRAY INTEGER MMASK #endif INTEGER IVERSN, IV0001, IV0011 DATA IV0001/808464433/, IV0011/808464689/ C C IV0001 = right-justified ascii '0001' C IV0011 = right-justified ascii '0011' C C ---------------------------------------------------------------- C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C C Reset return code. KRET = 0 C C ---------------------------------------------------------------- C* Section 2 . Check usage. C ---------------------------------------------------------------- C 200 CONTINUE C C Ensemble forecast data IF(KSEC1(37).NE.1) THEN WRITE(GRPRSM,*) X 'KWCHK1: Invalid Ensemble f/c data flag = ',KSEC1(37) KRET = 1 GOTO 900 ENDIF C C Class. IF( KSEC1(38).NE.1 ) THEN WRITE(GRPRSM,*) 'KWCHK1: Invalid class code = ',KSEC1(38) KRET = 1 GOTO 900 ENDIF C C Type. IF( (KSEC1(39).NE.10) .AND. (KSEC1(39).NE.11) ) THEN WRITE(GRPRSM,*) 'KWCHK1: Invalid type code = ',KSEC1(39) KRET = 1 GOTO 900 ENDIF C C Stream. IF( KSEC1(40).NE.1051 ) THEN WRITE(GRPRSM,*) 'KWCHK1: Invalid stream code = ',KSEC1(40) KRET = 1 GOTO 900 ENDIF C C Version number. IVERSN = KSEC1(41) #if (!defined rs6000) #ifdef CRAY C C Mask least significant 32 bits for integer comparison MMASK = MASK(96) IVERSN = AND( IVERSN, MMASK) #endif IF( (IVERSN.NE.IV0001) .AND. (IVERSN.NE.IV0011) ) THEN WRITE(GRPRSM,*) 'KWCHK1: Invalid version number = ', IVERSN KRET = 1 GOTO 900 ENDIF #endif C C Number of perturbed forecast. IF( KSEC1(39).EQ.10 ) THEN IF( KSEC1(42).NE.0 ) THEN WRITE(GRPRSM,*) X 'KWCHK1: Invalid control f/c number = ',KSEC1(42) KRET = 1 GOTO 900 ENDIF C ELSE IF( (KSEC1(42).LT.0) .OR. (KSEC1(42).GT.11) ) THEN WRITE(GRPRSM,*) X 'KWCHK1: Invalid perturbed f/c number = ',KSEC1(42) KRET = 1 GOTO 900 ENDIF ENDIF C C Total number of forecasts in ensemble. IF( (KSEC1(43).LT.0) .OR. (KSEC1(43).GT.11) ) THEN WRITE(GRPRSM,*) X 'KWCHK1: Invalid total f/cs in ensemble = ',KSEC1(43) KRET = 1 GOTO 900 ENDIF C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN END emoslib-000392+dfsg.1/gribex/handleLocalDefinitions.c0000755000175000017500000011343712127406245023520 0ustar amckinstryamckinstry/** * Copyright 1981-2012 ECMWF. * * This software is licensed under the terms of the Apache Licence * Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities * granted to it by virtue of its status as an intergovernmental organisation * nor does it submit to any jurisdiction. */ #include #include #include #include #include "handleLocalDefinitions.h" #include "grib_int_t.h" #define FREE_NOT_NULL(a) if((a)!=NULL) free((a)) void releaseAction(action* a) { action* current = a; action* previous; while (current != NULL) { FREE_NOT_NULL((char*)current->description); FREE_NOT_NULL((char*)current->octet); FREE_NOT_NULL((char*)current->code); FREE_NOT_NULL((char*)current->ksec1); FREE_NOT_NULL((char*)current->count); previous = current; current = current->next; FREE_NOT_NULL(previous); } return; } void init( action* first, action* a, char* description, char* octet, char* code, char* ksec1, char* count) { /* // Copies the text fields describing the action */ memset(a,0,sizeof(*a)); a->description = strdup(description); if( (a->description) == NULL ) { perror("init: strdup failed"); exit(1); } a->octet = strdup(octet); if( (a->octet) == NULL ) { perror("init: strdup failed"); exit(1); } a->code = strdup(code); if( (a->code) == NULL ) { perror("init: strdup failed"); exit(1); } a->ksec1 = strdup(ksec1); if( (a->ksec1) == NULL ) { perror("init: strdup failed"); exit(1); } a->count = strdup(count); if( (a->count) == NULL ) { perror("init: strdup failed"); exit(1); } return; } action* packNOOP(action* a,buffer *b) { return a->next; } action* unpackNOOP(action* a,buffer *b) { return a->next; } grib_int_t stringIsNotANumber(const char * count) { grib_int_t loop; for( loop = 0; loop < strlen(count); loop++ ) if( ! isdigit(*(count+loop)) ) return 1; return 0; } /*==========================================================*/ void updateOffsets(action* a,buffer* b,grib_int_t* numberOfValues) { /* // Updates current values of packed byte offset and unpacked // integer value offset and count when the local definition // description has a value in the appropriate column. */ unsigned char* octetValue; grib_int_t* ksec1Value; if( ! stringIsNotANumber(a->count) ) *numberOfValues = atol(a->count); if( ! stringIsNotANumber(a->octet) ) { octetValue = (b->startOctets)+atol(a->octet)-OCTETSTART; (b->packed) = octetValue; } if( ! stringIsNotANumber(a->ksec1) ) { ksec1Value = (b->startKsec1)+atol(a->ksec1)-KSEC1START; (b->values) = ksec1Value; } return; } action* packPADMULT(action* a,buffer *b) { /* // Pad buffer with zeroes upto a multiple of 'count' bytes */ grib_int_t count, loop; grib_int_t multiple = atol(a->count); grib_int_t startOctet = atol(a->octet); count = (int)((b->packed)-(b->startOctets)) -(startOctet-OCTETSTART); count = ((count + multiple - 1)/multiple)*multiple - count; if( count == 0 ) count = multiple; for( loop = 0; loop < count; loop++ ) *(b->packed)++ = 0; b->totalPackedBytes += count; b->packed += count; b->totalUnPackedBytes += count; return a->next; } action* unpackPADMULT(action* a,buffer *b) { grib_int_t count, loop; grib_int_t multiple = atol(a->count); grib_int_t startOctet = atol(a->octet); count = (int)((b->packed)-(b->startOctets)) -(startOctet-OCTETSTART); count = ((count + multiple - 1)/multiple)*multiple - count; if( count == 0 ) count = multiple; b->totalUnPackedBytes += count; b->packed += count; return a->next; } action* packPADFROM(action* a,buffer *b) { /* // Pad buffer with zeroes upto a multiple of 'count' bytes // starting from byte 'octet' */ grib_int_t count, loop; grib_int_t multiple = atol(a->count); grib_int_t startByte = atol(a->octet); count = (int)((b->packed)-(b->startOctets)+OCTETSTART-1-startByte); count = ((count + multiple - 1)/multiple)*multiple - count; for( loop = 0; loop < count; loop++ ) *(b->packed)++ = 0; b->totalPackedBytes += count; return a->next; } action* unpackPADFROM(action* a,buffer *b) { /* // Skip padding in buffer upto a multiple of 'count' bytes // starting from byte 'octet' */ grib_int_t count; grib_int_t multiple = atol(a->count); grib_int_t startByte = atol(a->octet); count = (grib_int_t)((b->packed)-(b->startOctets)) + OCTETSTART - 1 -startByte; while( count > 0 ) { count -= multiple; } count = -count; b->totalUnPackedBytes += count; (b->packed) += count; return a->next; } action* packUP_TO(action* a,buffer *b, unsigned char character) { /* // Pad buffer with 'characters's upto given byte */ grib_int_t count = 0, loop; updateOffsets(a,b,&count); if( count != 0 ) { count = atoi(a->count) - (int)((b->packed)-(b->startOctets)+OCTETSTART-1); for( loop = 0; loop < count; loop++ ) *(b->packed)++ = character; b->totalPackedBytes += count; } return a->next; } action* packSP_TO(action* a,buffer *b) { /* // Pad buffer with spaces upto given byte */ return packUP_TO(a,b,' '); } action* unpackSP_TO(action* a,buffer *b) { grib_int_t count = 0, loop; updateOffsets(a,b,&count); b->totalUnPackedBytes = count + 1 - OCTETSTART; b->packed = b->startOctets + count + 1 - OCTETSTART; return a->next; } action* packPADTO(action* a,buffer *b) { /* // Pad buffer with zeroes upto given byte */ return packUP_TO(a,b,'\0'); } action* unpackPADTO(action* a,buffer *b) { grib_int_t count = 0, loop; updateOffsets(a,b,&count); b->totalUnPackedBytes = count + 1 - OCTETSTART; b->packed = b->startOctets + count + 1 - OCTETSTART; return a->next; } action* packBYTES(action* a,buffer *b) { /* // Fill buffer with a string of bytes */ grib_int_t count, numberOfBytes, numberOfValues; if( stringIsNotANumber(a->count) ) numberOfBytes = (a->reference->value); else numberOfBytes = atoi(a->count); numberOfValues = (numberOfBytes+sizeof(grib_int_t)-1) / sizeof(grib_int_t); updateOffsets(a,b,&count); memcpy((b->packed),(b->values),numberOfBytes); (b->packed) += numberOfBytes; (b->values) += numberOfValues; b->totalPackedBytes += numberOfBytes; return a->next; } action* unpackBYTES(action* a,buffer *b) { /* // Unpack a string of bytes from buffer */ grib_int_t count, numberOfBytes, numberOfValues; if( stringIsNotANumber(a->count) ) numberOfBytes = (a->reference->value); else numberOfBytes = atoi(a->count); numberOfValues = (numberOfBytes+sizeof(grib_int_t)-1) / sizeof(grib_int_t); updateOffsets(a,b,&count); memcpy((b->values),(b->packed),numberOfBytes); (b->packed) += numberOfBytes; (b->values) += numberOfValues; b->totalUnPackedBytes += numberOfBytes; b->totalUnPackedValues += numberOfValues; return a->next; } action* packF1(action* a,buffer *b) { /* // Pack a flag (=1) into buffer */ grib_int_t count; grib_int_t* flag; flag = (grib_int_t*) malloc(sizeof(grib_int_t)); if( flag == NULL ) { perror("packF1: malloc failed in packF1"); exit(1); } *flag = atol(a->count); (a->value) = *flag; updateOffsets(a,b,&count); MOVE1BYTE((b->packed),flag); (b->packed)++; b->totalPackedBytes++; return a->next; } action* packD3(action* a,buffer *b) { /* // Pack a 3-byte date modified by 19000000 if necessary // (see definitions 6 and 17) */ grib_int_t numberOfValues = 1, loop; grib_int_t date; updateOffsets(a,b,&numberOfValues); /* // Save values which may be loop count and/or a running summation in a list */ (a->value) = *(b->values); /* //(a->sum) += *(b->values); */ for( loop = 0; loop < numberOfValues; loop++ ) { date = *(b->values)++; if( date > 19000000 ) date -= 19000000; MOVE3BYTES((b->packed),&date); (b->packed) += 3; } b->totalPackedBytes += numberOfValues*3; return a->next; } action* unpackD3(action* a,buffer *b) { /* // Unpack a 3-byte date modified by 19000000 if necessary // (see definitions 6 and 17) */ grib_int_t numberOfValues = 1, loop; grib_int_t date; updateOffsets(a,b,&numberOfValues); for( loop = 0; loop < numberOfValues; loop++ ) { date = THREE_BYTE_INT((b->packed)); if( (date < 19000000) && (date > 100 ) ) date += 19000000; *(b->values) = date; (b->packed) += 3; b->totalUnPackedBytes += 3; (b->values)++; } /* // Save value which is a loop count */ if( numberOfValues > 1 ) (a->value) = numberOfValues; else (a->value) = date; (a->sum) += *(b->values); b->totalUnPackedValues += numberOfValues; return a->next; } action* packSn(action* a,buffer *b, grib_int_t n) { /* // Pack a signed n-byte value // Negative values are stored as a positive value with the most significant // bit set to 1 */ grib_int_t numberOfValues = 1, loop; grib_int_t value; updateOffsets(a,b,&numberOfValues); for( loop = 0; loop < numberOfValues; loop++ ) { value = *(b->values)++; switch( (int) n ) { case 1: if( value < 0 ) value = - (value & 0x7f); MOVE1BYTE((b->packed),&value); break; case 2: if( value < 0 ) value = - (value & 0x7fff); MOVE2BYTES((b->packed),&value); break; case 3: if( value < 0 ) value = - (value & 0x7fffff); MOVE3BYTES((b->packed),&value); break; case 4: if( value < 0 ) value = - (value & 0x7fffffff); MOVE4BYTES((b->packed),&value); break; default: fprintf(stderr,"packSn: %d not yet handled\n",n); exit(1); } (b->packed) += n; } b->totalPackedBytes += numberOfValues*n; return a->next; } action* packS1(action* a,buffer *b) { return packSn(a,b,1); } action* packS2(action* a,buffer *b) { return packSn(a,b,2); } action* packS3(action* a,buffer *b) { return packSn(a,b,3); } action* packS4(action* a,buffer *b) { return packSn(a,b,4); } action* unpackSn(action* a,buffer *b, grib_int_t n) { /* // Unpack a signed n-byte value // Negative values are stored as a positive value with the most significant // bit set to 1 */ grib_int_t numberOfValues = 1, loop; grib_int_t value; updateOffsets(a,b,&numberOfValues); for( loop = 0; loop < numberOfValues; loop++ ) { switch( (int) n ) { case 1: value = ONE_BYTE_INT((b->packed)); if( value & 0x80 ) value = - (value & 0x7f); *(b->values) = value; break; case 2: value = TWO_BYTE_INT((b->packed)); if( value & 0x8000 ) value = - (value & 0x7fff); *(b->values) = value; break; case 3: value = THREE_BYTE_INT((b->packed)); if( value & 0x800000 ) value = - (value & 0x7fffff); *(b->values) = value; break; case 4: value = FOUR_BYTE_INT((b->packed)); if( value & 0x80000000 ) value = - (value & 0x7fffffff); *(b->values) = value; break; default: fprintf(stderr,"unpackSn: %d not yet handled\n",n); exit(1); } (b->packed) += n; (b->values)++; } if( numberOfValues > 1 ) (a->value) = numberOfValues; else (a->value) = value; b->totalUnPackedBytes += numberOfValues * n; b->totalUnPackedValues += numberOfValues; return a->next; } action* unpackS1(action* a,buffer *b) { return unpackSn(a,b,1); } action* unpackS2(action* a,buffer *b) { return unpackSn(a,b,2); } action* unpackS3(action* a,buffer *b) { return unpackSn(a,b,3); } action* unpackS4(action* a,buffer *b) { return unpackSn(a,b,4); } action* packIn(action* a,buffer *b, grib_int_t n) { /* // Pack an n-byte value */ grib_int_t numberOfValues = 1, loop; updateOffsets(a,b,&numberOfValues); for( loop = 0; loop < numberOfValues; loop++ ) { switch( (int) n ) { case 1: MOVE1BYTE((b->packed),(b->values)); break; case 2: MOVE2BYTES((b->packed),(b->values)); break; case 3: MOVE3BYTES((b->packed),(b->values)); break; case 4: MOVE4BYTES((b->packed),(b->values)); break; default: fprintf(stderr,"packIn: %d not yet handled\n",n); exit(1); } (b->packed) += n; (b->values)++; } b->totalPackedBytes += numberOfValues*n; return a->next; } action* packI1(action* a,buffer *b) { /* // Save values which may be loop count and/or a running summation in a list */ (a->value) = *(b->values); /* //(a->sum) += *(b->values); */ return packIn(a,b,1); } action* packI2(action* a,buffer *b) { /* // Save values which may be loop count and/or a running summation in a list */ (a->value) = *(b->values); /* //(a->sum) += *(b->values); */ return packIn(a,b,2); } action* packI3(action* a,buffer *b) { /* // Save values which may be loop count and/or a running summation in a list */ (a->value) = *(b->values); /* //(a->sum) += *(b->values); */ return packIn(a,b,3); } action* packI4(action* a,buffer *b) { /* // Save values which may be loop count and/or a running summation in a list */ (a->value) = *(b->values); /* //(a->sum) += *(b->values); */ return packIn(a,b,4); } action* packA4(action* a,buffer *b) { /* // Pack an 4-byte ASCII value // // Note: assumes that only one A4 value is being handled (count is -) */ memcpy((b->packed),(b->values),4); (b->packed) +=4; (b->values)++; b->totalPackedBytes += 4; return a->next; } action* packA8(action* a,buffer *b) { /* // Pack an 8-byte ASCII value // // Note: assumes that only one A8 value is being handled (count is -) */ memcpy((b->packed),(b->values),8); (b->packed) +=8; (b->values)++; (b->values)++; b->totalPackedBytes += 8; return a->next; } action* packA1(action* a,buffer *b) { /* // Pack an 1-byte ASCII value */ return packIn(a,b,1); } action* packPAD(action* a,buffer *b) { /* // Pack buffer with zeroes */ grib_int_t zero = 0, loop, numberOfZeroes = atoi((a->count)); updateOffsets(a,b,&numberOfZeroes); if( NEQUAL(a->octet,"n/a") ) { for( loop = 0; loop < numberOfZeroes; loop++ ) { MOVE1BYTE((b->packed),&zero); (b->packed)++; } b->totalPackedBytes += numberOfZeroes; } if( NEQUAL(a->ksec1,"n/a") ) (b->values) += numberOfZeroes; return a->next; } action* packLP_In(action* a,buffer *b, grib_int_t n) { /* // Packs a list of single n-byte values in buffer */ action* relatedAction; grib_int_t count, numberOfValues, loop; grib_int_t N = (n < 0) ? -n : n; relatedAction = a->reference; if( relatedAction == NULL ) { fprintf(stderr,"packLP_In: relatedAction '%s' not found for '%s'\n", (a->count), (a->description)); exit(1); } numberOfValues = (relatedAction->value); if((numberOfValues>0)&&( n < 0 )) numberOfValues--; updateOffsets(a,b,&count); for( loop = 0; loop < numberOfValues; loop++ ) { switch( (int) N ) { case 1: MOVE1BYTE((b->packed),(b->values)); break; case 2: MOVE2BYTES((b->packed),(b->values)); break; case 3: MOVE3BYTES((b->packed),(b->values)); break; case 4: MOVE4BYTES((b->packed),(b->values)); break; default: fprintf(stderr,"packLP_In: %d not yet handled\n",N); exit(1); } (b->packed) += N; (b->values)++; } b->totalPackedBytes += (numberOfValues*N); return a->next; } action* packLP_I1(action* a,buffer *b) { return packLP_In(a,b,1); } action* packLP_I2(action* a,buffer *b) { return packLP_In(a,b,2); } action* packLP_I3(action* a,buffer *b) { return packLP_In(a,b,3); } action* packLP_I4(action* a,buffer *b) { return packLP_In(a,b,4); } action* packLP_I4M1(action* a,buffer *b) { return packLP_In(a,b,-4); } /*=======================================*/ action* packLP_Sn(action* a,buffer *b, grib_int_t n) { /* // Packs a list of single n-byte values in buffer */ action* relatedAction; grib_int_t count, numberOfValues, loop; grib_int_t N = (n < 0) ? -n : n; grib_int_t value; relatedAction = a->reference; if( relatedAction == NULL ) { fprintf(stderr,"packLP_Sn: relatedAction '%s' not found for '%s'\n", (a->count), (a->description)); exit(1); } numberOfValues = (relatedAction->value); if((numberOfValues>0)&&( n < 0 )) numberOfValues--; updateOffsets(a,b,&count); for( loop = 0; loop < numberOfValues; loop++ ) { value = *(b->values)++; switch( (int) N ) { case 1: if( value < 0 ) value = - (value & 0x7f); MOVE1BYTE((b->packed),&value); break; case 2: if( value < 0 ) value = - (value & 0x7fff); MOVE2BYTES((b->packed),&value); break; case 3: if( value < 0 ) value = - (value & 0x7fffff); MOVE3BYTES((b->packed),&value); break; case 4: if( value < 0 ) value = - (value & 0x7fffffff); MOVE4BYTES((b->packed),&value); break; default: fprintf(stderr,"packLP_Sn: %d not yet handled\n",N); exit(1); } (b->packed) += N; } b->totalPackedBytes += (numberOfValues*N); return a->next; } action* packLP_S1(action* a,buffer *b) { return packLP_Sn(a,b,1); } action* packLP_S2(action* a,buffer *b) { return packLP_Sn(a,b,2); } action* packLP_S3(action* a,buffer *b) { return packLP_Sn(a,b,3); } action* packLP_S4(action* a,buffer *b) { return packLP_Sn(a,b,4); } /*=======================================*/ action* unpackF1(action* a,buffer *b) { /* // Skips a flag in buffer */ (a->value) = *(b->packed); (b->packed)++; b->totalUnPackedBytes++; return a->next; } action* packL3(action* a,buffer *b) { /* // Does (almost) nothing */ return a->next; } action* unpackL3(action* a,buffer *b) { /* // Unpack a 3-byte value without disturbing the buffer counts */ *(b->values) = THREE_BYTE_INT((b->packed)); (a->value) = *(b->values); return a->next; } action* unpackIn(action* a,buffer *b, grib_int_t n) { /* // Unpack an n-byte value */ grib_int_t numberOfValues = 1, loop; updateOffsets(a,b,&numberOfValues); if((numberOfValues>0)&&( n < 0 )) numberOfValues--; for( loop = 0; loop < numberOfValues; loop++ ) { switch( (int) n ) { case 1: *(b->values) = ONE_BYTE_INT((b->packed)); break; case 2: *(b->values) = TWO_BYTE_INT((b->packed)); break; case 3: *(b->values) = THREE_BYTE_INT((b->packed)); break; case 4: *(b->values) = FOUR_BYTE_INT((b->packed)); break; default: fprintf(stderr,"unpackIn: %d not yet handled\n",n); exit(1); } /* // Save value which may be loop count */ (a->value) = *(b->values); (a->sum) += *(b->values); (b->packed) += n; (b->values)++; } b->totalUnPackedBytes += numberOfValues * n; b->totalUnPackedValues += numberOfValues; return a->next; } action* unpackI1(action* a,buffer *b) { return unpackIn(a,b,1); } action* unpackI2(action* a,buffer *b) { return unpackIn(a,b,2); } action* unpackI3(action* a,buffer *b) { return unpackIn(a,b,3); } action* unpackI4(action* a,buffer *b) { return unpackIn(a,b,4); } action* unpackA4(action* a,buffer *b) { /* // Unpacks a 4-byte ASCII value // // Note: assumes that only one A4 value is being handled (count is -) */ memcpy((b->values),(b->packed),4); (a->value) = *(b->values); (b->packed) += 4; (b->values)++; b->totalUnPackedBytes += 4; b->totalUnPackedValues ++; return a->next; } action* unpackA8(action* a,buffer *b) { /* // Unpacks a 8-byte ASCII value // // Note: assumes that only one A8 value is being handled (count is -) */ memcpy((b->values),(b->packed),8); (a->value) = *(b->values); (b->packed) += 8; (b->values) ++; (b->values) ++; b->totalUnPackedBytes += 8; b->totalUnPackedValues ++; b->totalUnPackedValues ++; return a->next; } action* unpackA1(action* a,buffer *b) { return unpackIn(a,b,1); } action* unpackPAD(action* a,buffer *b) { /* // Unpack zeroes from buffer */ grib_int_t loop, numberOfZeroes = atoi((a->count)), zero = 0; if( NEQUAL(a->octet,"n/a") ) { if( NEQUAL(a->octet,"-") ) (b->packed) = (b->startOctets)+atoi(a->octet)-OCTETSTART; (b->packed) += numberOfZeroes; (b->totalUnPackedBytes) += numberOfZeroes; } if( NEQUAL(a->ksec1,"n/a") ) { if( NEQUAL(a->ksec1,"-") ) (b->values) = (b->startKsec1)+atoi(a->ksec1)-KSEC1START; for( loop = 0; loop < numberOfZeroes; loop++ ) *(b->values)++ = 0; b->totalUnPackedValues += numberOfZeroes; } return a->next; } action* unpackLP_In(action* a,buffer *b, grib_int_t n) { /* // Unpacks a list of single n-byte values from buffer */ action* relatedAction; grib_int_t count, numberOfValues, loop; grib_int_t N = (n < 0) ? -n : n; updateOffsets(a,b,&count); relatedAction = a->reference; if( relatedAction == NULL ) { fprintf(stderr,"unpackLP_In: relatedAction '%s' not found for '%s'\n", (a->count), (a->description)); exit(1); } numberOfValues = (relatedAction->value); if((numberOfValues>0)&&( n < 0 )) numberOfValues--; for( loop = 0; loop < numberOfValues; loop++ ) { switch( (int) N ) { case 1: *(b->values) = ONE_BYTE_INT((b->packed)); (b->packed) += 1; b->totalUnPackedBytes += 1; break; case 2: *(b->values) = TWO_BYTE_INT((b->packed)); (b->packed) += 2; b->totalUnPackedBytes += 2; break; case 3: *(b->values) = THREE_BYTE_INT((b->packed)); (b->packed) += 3; b->totalUnPackedBytes += 3; break; case 4: *(b->values) = FOUR_BYTE_INT((b->packed)); (b->packed) += 4; b->totalUnPackedBytes += 4; break; default: fprintf(stderr,"unpackLP_In: %d not yet handled\n",N); exit(1); } (b->values)++; } b->totalUnPackedValues += numberOfValues; return a->next; } action* unpackLP_I1(action* a,buffer *b) { return unpackLP_In(a,b,1); } action* unpackLP_I2(action* a,buffer *b) { return unpackLP_In(a,b,2); } action* unpackLP_I3(action* a,buffer *b) { return unpackLP_In(a,b,3); } action* unpackLP_I4(action* a,buffer *b) { return unpackLP_In(a,b,4); } action* unpackLP_I4M1(action* a,buffer *b) { return unpackLP_In(a,b,-4); } /*==========================================================*/ action* unpackLP_Sn(action* a,buffer *b, grib_int_t n) { /* // Unpacks a list of single n-byte values from buffer */ action* relatedAction; grib_int_t count, numberOfValues, loop; grib_int_t N = (n < 0) ? -n : n; grib_int_t value; updateOffsets(a,b,&count); relatedAction = a->reference; if( relatedAction == NULL ) { fprintf(stderr,"unpackLP_Sn: relatedAction '%s' not found for '%s'\n", (a->count), (a->description)); exit(1); } numberOfValues = (relatedAction->value); if((numberOfValues>0)&&( n < 0 )) numberOfValues--; for( loop = 0; loop < numberOfValues; loop++ ) { switch( (int) N ) { case 1: value = ONE_BYTE_INT((b->packed)); if( value & 0x80 ) value = - (value & 0x7f); *(b->values) = value; (b->packed) += 1; b->totalUnPackedBytes += 1; break; case 2: value = TWO_BYTE_INT((b->packed)); if( value & 0x8000 ) value = - (value & 0x7fff); *(b->values) = value; (b->packed) += 2; b->totalUnPackedBytes += 2; break; case 3: value = THREE_BYTE_INT((b->packed)); if( value & 0x800000 ) value = - (value & 0x7fffff); *(b->values) = value; (b->packed) += 3; b->totalUnPackedBytes += 3; break; case 4: value = FOUR_BYTE_INT((b->packed)); if( value & 0x80000000 ) value = - (value & 0x7fffffff); *(b->values) = value; (b->packed) += 4; b->totalUnPackedBytes += 4; break; default: fprintf(stderr,"unpackLP_Sn: %d not yet handled\n",N); exit(1); } (b->values)++; } b->totalUnPackedValues += numberOfValues; return a->next; } action* unpackLP_S1(action* a,buffer *b) { return unpackLP_Sn(a,b,1); } action* unpackLP_S2(action* a,buffer *b) { return unpackLP_Sn(a,b,2); } action* unpackLP_S3(action* a,buffer *b) { return unpackLP_Sn(a,b,3); } action* unpackLP_S4(action* a,buffer *b) { return unpackLP_Sn(a,b,4); } /*==========================================================*/ action* packLIST(action* a,buffer *b) { /* // Packs a list of several values into buffer */ grib_int_t count = a->reference->value; grib_int_t i; (a->sum) = 0; for(i = 0; i < count; i++) { encode(a->next,b); } return a->end->next; } action* unpackLIST(action* a,buffer *b) { /* // Unpacks a list of several values from buffer */ grib_int_t count = a->reference->value; grib_int_t i; for(i = 0; i < count; i++) { decode(a->next,b); } return a->end->next; } /*==========================================================*/ void init_reference( action* first, action* a, char* description, char* octet, char* ksec1, char* count) { /* // Finds a reference from a 'count' field to a previous action // which stores the count value */ if( NEQUAL(count,"-") ) { while(first) { if( EQUAL(first->description,count) ) { a->reference = first; return; } first = first->next; } } a->reference = NULL; } /*==========================================================*/ action* packENDLIST(action* a,buffer *b) { return 0; } action* unpackENDLIST(action* a,buffer *b) { return 0; } action* packENDIF(action* a,buffer *b) { return 0; } action* unpackENDIF(action* a,buffer *b) { return 0; } void initENDLIST( action* first, action* a, char* description, char* octet, char* code, char* ksec1, char* count) { /* // Finds the start action described in a 'count' field */ init(first,a,description,octet,code,ksec1,count); while(first) { if( EQUAL(first->description,count) ) { first->end = a; return; } first = first->next; } fprintf(stderr,"initENDLIST: Cannot find end loop (%s)",count); exit(1); } void initENDIF( action* first, action* a, char* description, char* octet, char* code, char* ksec1, char* count) { /* // Finds the start action described in a 'ksec1' field */ init(first,a,description,octet,code,ksec1,count); while(first) { if( EQUAL(first->description,ksec1) ) { first->end = a; return; } first = first->next; } fprintf(stderr,"initENDIF: Cannot find end loop (%s)",ksec1); exit(1); } /*==========================================================*/ int test_eq(grib_int_t a,grib_int_t b) { return a == b; } int test_ne(grib_int_t a,grib_int_t b) { return a != b; } int test_ge(grib_int_t a,grib_int_t b) { return a >= b; } int test_gt(grib_int_t a,grib_int_t b) { return a > b; } int test_le(grib_int_t a,grib_int_t b) { return a <= b; } int test_lt(grib_int_t a,grib_int_t b) { return a < b; } int test_bit(grib_int_t a,grib_int_t b) { return (a & (1 << b)) != 0; } /*==========================================================*/ action* pack_if(action* a,buffer *b) { grib_int_t val1 = a->reference->value; grib_int_t val2 = atol(a->ksec1); if(a->test(val1,val2)) encode(a->next,b); return a->end->next; } action* unpack_if(action* a,buffer *b) { grib_int_t val1 = a->reference->value; grib_int_t val2 = atol(a->ksec1); if(a->test(val1,val2)) decode(a->next,b); return a->end->next; } action* createLocalDefinition(action*,grib_int_t); action* packLOCAL(action* a,buffer *b) { grib_int_t localDefinitionNumber; grib_int_t length; action* local; action next; grib_int_t* lengthValue = (b->values) - 1; grib_octet_t* packedLengthValue = (b->packed) - 2; /* // Setup ccc = 98, sss = 000, nnn = number */ localDefinitionNumber = *(b->values); localDefinitionNumber += 98000000; local = createLocalDefinition(a,localDefinitionNumber); local = local->next; while( local ) { memmove(&next,local,sizeof(action)); next.next = NULL; encode(&next,b); local = local->next; } length = (b->values) - lengthValue - 1; *lengthValue = length; MOVE2BYTES(packedLengthValue,&length); return NULL; } action* unpackLOCAL(action* a,buffer *b) { grib_int_t localDefinitionNumber; action* local; action next; grib_int_t* lengthValue = (b->values) - 1; grib_octet_t* packedLengthValue = (b->packed) - 2; *lengthValue = TWO_BYTE_INT(packedLengthValue); /* // Setup ccc = 98, sss = 000, nnn = number */ localDefinitionNumber = ONE_BYTE_INT((b->packed)); localDefinitionNumber += 98000000; local = createLocalDefinition(a,localDefinitionNumber); local = local->next; while( local ) { memmove(&next,local,sizeof(action)); next.next = NULL; decode(&next,b); local = local->next; } return NULL; } /*==========================================================*/ static op_code codes[] = { { "IF_EQ", init, pack_if, unpack_if, test_eq }, { "IF_NEQ", init, pack_if, unpack_if, test_ne}, { "IF_GT", init, pack_if, unpack_if, test_gt}, { "ENDIF", initENDIF, packENDIF, unpackENDIF, }, { "F1", init, packF1, unpackF1, }, { "SP_TO", init, packSP_TO, unpackSP_TO, }, { "PAD", init, packPAD, unpackPAD, }, { "PADTO", init, packPADTO, unpackPADTO, }, { "PADMULT", init, packPADMULT, unpackPADMULT, }, { "PADFROM", init, packPADFROM, unpackPADFROM, }, { "BYTES", init, packBYTES, unpackBYTES, }, { "D3", init, packD3, unpackD3, }, { "S1", init, packS1, unpackS1, }, { "S2", init, packS2, unpackS2, }, { "S3", init, packS3, unpackS3, }, { "S4", init, packS4, unpackS4, }, { "L3", init, packL3, unpackL3, }, { "I1", init, packI1, unpackI1, }, { "I2", init, packI2, unpackI2, }, { "I3", init, packI3, unpackI3, }, { "I4", init, packI4, unpackI4, }, { "A4", init, packA4, unpackA4, }, { "A8", init, packA8, unpackA8, }, { "A1", init, packA1, unpackA1, }, { "LOCAL", init, packLOCAL, unpackLOCAL, }, { "LP_I1", init, packLP_I1, unpackLP_I1, }, { "LP_I2", init, packLP_I2, unpackLP_I2, }, { "LP_I3", init, packLP_I3, unpackLP_I3, }, { "LP_I4", init, packLP_I4, unpackLP_I4, }, { "LP_I4M1", init, packLP_I4M1, unpackLP_I4M1, }, { "LP_S1", init, packLP_S1, unpackLP_S1, }, { "LP_S2", init, packLP_S2, unpackLP_S2, }, { "LP_S3", init, packLP_S3, unpackLP_S3, }, { "LP_S4", init, packLP_S4, unpackLP_S4, }, { "LIST", init, packLIST, unpackLIST, }, { "ENDLIST", initENDLIST, packENDLIST, unpackENDLIST, }, }; action* createLocalDefinitionHandler(grib_int_t definitionNumber) { /* // Creates a handler from a text description of a local definition. // // The file name is localDefinitionTemplate_mmm_nnn for definition nnn // of a centre with WMO identifier mmm (eg ECMWF = 098). // The directory containing the text definition can be specified // by environment variable LOCAL_DEFINITION_TEMPLATES. */ static char * fullPathName; FILE* file; char line[1024]; grib_int_t i; action* first = 0; action* last = 0; int useInternalDefinition = 0, number; char* definition; char* next = NULL; fullPathName = findLocalDefinitionFile(definitionNumber); if( fullPathName == NULL) { useInternalDefinition = 1; number = definitionNumber % 1000; switch( (int) number ) { default: { int DefinitionNumber = (int) definitionNumber; int centre = DefinitionNumber/1000000; int subcentre = (DefinitionNumber/1000)%1000; int number = DefinitionNumber%1000; printf("createLocalDefinitionHandler: no local definition found for:\n"); printf("createLocalDefinitionHandler: - centre %d\n",centre); printf("createLocalDefinitionHandler: - subcentre %d\n",subcentre); printf("createLocalDefinitionHandler: - definition %d\n",number); return NULL; } } } if( ! useInternalDefinition ) { file = fopen(fullPathName,"r"); if( file == NULL) { perror("createLocalDefinitionHandler: Error opening template file"); return NULL; } } do { char description[40]; char octet[40]; char code[40]; char ksec1[40]; char count[40]; action* a = 0; if( useInternalDefinition ) { int count; next = strchr(definition,'\n'); if( next == NULL ) strcpy(line,definition); else { count = next - definition; memcpy(line,definition,count); line[count] = '\0'; definition += (count+1); } } else { next = fgets(line,sizeof(line)-1,file); if( next == NULL ) continue; } if( line[0] == '!') continue; sscanf(line,"%s %s %s %s %s",description,octet,code,ksec1,count); for(i = 0; i < NUMBER(codes); i++ ) { if( EQUAL(code,codes[i].description) ) { a = (action*)malloc(sizeof(action)); if( a == NULL ) { fprintf(stderr,"createLocalDefinitionHandler: out of memory"); exit(1); } codes[i].init(first,a,description,octet,code,ksec1,count); a->pack = codes[i].pack; a->unpack = codes[i].unpack; a->test = codes[i].test; a->sum = 0; init_reference(first,a,description,octet,ksec1,count); if(!first) first = last = a; else last->next = a; last = a; break; } } if(!a) { fprintf(stderr,"createLocalDefinitionHandler: Invalid opcode(%s)",code); return NULL; } } while( next != NULL ); if(file) fclose(file); return first; } void encode(action* a,buffer* b) { while(a) { a = a->pack(a,b); } return; } int encodeLocalDefinitionValues( action* a, grib_int_t* values, unsigned char* packed, grib_int_t * numberOfValues, grib_int_t * numberOfBytes) { /* // Builds packed bytes in 'buffer' from integer 'values'. // // Returns the number of bytes packed in buffer. */ buffer b; b.totalPackedBytes = 0; b.totalUnPackedBytes = 0; b.values = values; b.startKsec1 = values; b.packed = packed; b.startOctets = packed; encode(a,&b); *numberOfValues = (b.values - b.startKsec1); *numberOfBytes = b.totalPackedBytes; return 0; } void decode(action* a,buffer* b) { while(a) { a = a->unpack(a,b); } return; } int decodeLocalDefinitionValues( action* a, unsigned char* packed, grib_int_t* values, grib_int_t * numberOfValues, grib_int_t * numberOfBytes) { /* // Builds integer 'values' from packed bytes in 'buffer'. // // Returns the number of values unpacked. */ buffer b; b.totalUnPackedValues = 0; b.totalUnPackedBytes = 0; b.values = values; b.startKsec1 = values; b.packed = packed; b.startOctets = packed; decode(a,&b); *numberOfValues = b.totalUnPackedValues; *numberOfBytes = b.totalUnPackedBytes; return 0; } action* createLocalDefinition(action* actionSoFar,grib_int_t definitionNumber) { /* // Creates a handler from a text description of a local definition. // // The file name is localDefinitionTemplate_mmm_nnn for definition nnn // of a centre with WMO identifier mmm (eg ECMWF = 098). // The directory containing the text definition can be specified // by environment variable LOCAL_DEFINITION_TEMPLATES. */ static char * fullPathName; FILE* file; char line[1024]; grib_int_t i; action* latest = actionSoFar; int useInternalDefinition = 0, number; char* definition; char* next = NULL; fullPathName = findLocalDefinitionFile(definitionNumber); if( fullPathName == NULL) { useInternalDefinition = 1; number = definitionNumber % 1000; switch( (int) number ) { default: { int DefinitionNumber = (int) definitionNumber; int centre = DefinitionNumber/1000000; int subcentre = (DefinitionNumber/1000)%1000; int number = DefinitionNumber%1000; printf("createLocalDefinition: no local definition found for:\n"); printf("createLocalDefinition: - centre %d\n",centre); printf("createLocalDefinition: - subcentre %d\n",subcentre); printf("createLocalDefinition: - definition %d\n",number); exit(1); } } } if( ! useInternalDefinition ) { file = fopen(fullPathName,"r"); if( file == NULL) { perror("createLocalDefinition: Error opening template file"); return NULL; } } do { char description[40]; char octet[40]; char code[40]; char ksec1[40]; char count[40]; action* a = 0; if( useInternalDefinition ) { int count; next = strchr(definition,'\n'); if( next == NULL ) strcpy(line,definition); else { count = next - definition; memcpy(line,definition,count); line[count] = '\0'; definition += (count+1); } } else { next = fgets(line,sizeof(line)-1,file); if( next == NULL ) continue; } if( line[0] == '!') continue; sscanf(line,"%s %s %s %s %s",description,octet,code,ksec1,count); for(i = 0; i < NUMBER(codes); i++ ) { if( EQUAL(code,codes[i].description) ) { a = (action*)malloc(sizeof(action)); if( a == NULL ) { fprintf(stderr,"createLocalDefinition: out of memory"); exit(1); } if( NEQUAL(octet,"n/a") ) strcpy(octet,"-"); if( NEQUAL(ksec1,"n/a") ) strcpy(ksec1,"-"); codes[i].init(actionSoFar,a,description,octet,code,ksec1,count); a->pack = codes[i].pack; a->unpack = codes[i].unpack; a->test = codes[i].test; a->sum = 0; init_reference(actionSoFar,a,description,octet,ksec1,count); latest->next = a; latest = a; break; } } if(!a) { fprintf(stderr,"createLocalDefinition: Invalid opcode(%s)",code); return NULL; } } while( next != NULL ); if(file) fclose(file); return actionSoFar; } emoslib-000392+dfsg.1/gribex/grprs3.F0000755000175000017500000000640412127406245020274 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRPRS3 (KSEC0,KSEC3,PSEC3) C C----> C**** GRPRS3 - Print information from Section 3 of GRIB code. C C Purpose. C -------- C C Print the information in the Bit-map section C Section (Section 3) of decoded GRIB data. C C** Interface. C ---------- C C CALL GRPRS3 (KSEC0,KSEC3,PSEC3) C C Input Parameters. C ----------------- C C KSEC0 - Array of decoded integers from Section 0. C KSEC3 - Array of decoded integers from Section 3. C C PSEC3 - Array of decoded reals from Section 3. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Fields printed as integers or reals. C C Externals. C ---------- C C Common block GRPRSCM. C C Reference. C ---------- C C WMO Manual on Codes re GRIB Code. C See also routine GRIBEX. C C Comments. C --------- C C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 11.09.91 C C Modifications. C -------------- C C J.D.Chambers ECMWF 20.07.94 C Change format for printing missing data indicator to C allow largest negative (32-bit) number C C J.D.Chambers ECMWF 14.06.95 C Change format for printing missing data indicator to C allow for MAGICS value (-1.5E+21) C C J.D.Chambers ECMWF June 2002 C Add option to set output stream number using environment variable C GRPRS_STREAM C C----< C -----------------------------------------------------------------| C* Section 0. Definition of variables. C -----------------------------------------------------------------| C IMPLICIT NONE C #include "grprs.h" C INTEGER KSEC0(*) INTEGER KSEC3(*) REAL PSEC3(*) C C -----------------------------------------------------------------| C* Section 1 . Print required information. C -----------------------------------------------------------------| C 100 CONTINUE C WRITE(GRPRSM,9000) WRITE(GRPRSM,9001) WRITE(GRPRSM,9002) C IF( KSEC3(1).NE.0 ) THEN WRITE(GRPRSM,9003) KSEC3(1) ELSE WRITE(GRPRSM,9004) ENDIF WRITE(GRPRSM,9005) KSEC3(2) C WRITE(GRPRSM,*) X 'Missing data value for real data. ', PSEC3(2) C C -----------------------------------------------------------------| C* Section 9 . Format statements. Return to calling routine. C -----------------------------------------------------------------| C 900 CONTINUE C 9000 FORMAT (1H ) 9001 FORMAT (1H ,'Section 3 - Bit-map Section.') 9002 FORMAT (1H ,'-------------------------------------') 9003 FORMAT (1H ,'Predetermined bit-map number. ',I9) 9004 FORMAT (1H ,'No predetermined bit-map.') 9005 FORMAT (1H ,'Missing data value for integer data. ',I14) 9006 FORMAT (1H ,'Missing data value for real data. ',F20.6) C RETURN C END emoslib-000392+dfsg.1/gribex/gdecode.h0000755000175000017500000004163212127406245020512 0ustar amckinstryamckinstry#ifndef GDECODE_H #define GDECODE_H #include #include #include "fortint.h" #include #include #include "gdecodeStruct.h" #include "sencode1.h" #ifdef FORTRAN_NO_UNDERSCORE #define IGGLAT igglat #define GBYTE gbyte #define GDECODE gdecode #define IGLNGTH iglngth #define IGTABLE igtable #define IGCENTR igcentr #define IGPARAM igparam #define IGLEVEL iglevel #define IGLEVL1 iglevl1 #define IGLEVL2 iglevl2 #define IGDATE igdate #define IGTIME igtime #define IGSTEP igstep #define IGSTEP1 igstep1 #define IGSTEP2 igstep2 #define IGDEFIN igdefin #define IGCLASS igclass #define IGTYPE igtype #define IGSTREM igstrem #define IGEXPVR igexpvr #define IGNUMPV ignumpv #define GPV gpv #define GPL gpl #define IGREPRS igreprs #define IGNI igni #define IGNJ ignj #define RGNWLAT rgnwlat #define RGNWLON rgnwlon #define IGRESCO igresco #define RGSELAT rgselat #define RGSELON rgselon #define RGDI rgdi #define RGDJ rgdj #define IGGAUSS iggauss #define IGSCANM igscanm #define IGJ igj #define IGK igk #define IGM igm #define IGREPMO igrepmo #define RGIP rgip #define IGTJ igtj #define IGTK igtk #define IGTM igtm #define RGLATRP rglatrp #define RGLONRP rglonrp #define RGROTAT rgrotat #define RGLATSP rglatsp #define RGLONSP rglonsp #define RGSFACT rgsfact #define RGREFVL rgrefvl #define IGBTSPV igbtspv #define RGDSCAL rgdscal #define IGUNUSD igunusd #define IGNVALU ignvalu #define GVALUES gvalues #define GVINIT gvinit #define GVECTOR gvector #define GVEND gvend #define IGLEVTY iglevty #define RGLEVTY rglevty #define IGNUMAV ignumav #define RGNUMAV rgnumav #define IGNUMMS ignumms #define RGNUMMS rgnumms #define IGSUBID igsubid #define RGSUBID rgsubid #else #define IGGLAT igglat_ #define GBYTE gbyte_ #define GDECODE gdecode_ #define IGLNGTH iglngth_ #define IGTABLE igtable_ #define IGCENTR igcentr_ #define IGPARAM igparam_ #define IGLEVEL iglevel #define IGLEVL1 iglevl1 #define IGLEVL2 iglevl2 #define IGDATE igdate_ #define IGTIME igtime_ #define IGSTEP igstep_ #define IGSTEP1 igstep1_ #define IGSTEP2 igstep2_ #define IGDEFIN igdefin_ #define IGCLASS igclass_ #define IGTYPE igtype_ #define IGSTREM igstrem_ #define IGEXPVR igexpvr_ #define IGNUMPV ignumpv_ #define GPV gpv_ #define GPL gpl_ #define IGREPRS igreprs_ #define IGNI igni_ #define IGNJ ignj_ #define RGNWLAT rgnwlat_ #define RGNWLON rgnwlon_ #define IGRESCO igresco_ #define RGSELAT rgselat_ #define RGSELON rgselon_ #define RGDI rgdi_ #define RGDJ rgdj_ #define IGGAUSS iggauss_ #define IGSCANM igscanm_ #define IGJ igj_ #define IGK igk_ #define IGM igm_ #define IGREPMO igrepmo_ #define RGIP rgip_ #define IGTJ igtj_ #define IGTK igtk_ #define IGTM igtm_ #define RGLATRP rglatrp_ #define RGLONRP rglonrp_ #define RGROTAT rgrotat_ #define RGLATSP rglatsp_ #define RGLONSP rglonsp_ #define RGSFACT rgsfact_ #define RGREFVL rgrefvl_ #define IGBTSPV igbtspv_ #define RGDSCAL rgdscal_ #define IGUNUSD igunusd_ #define IGNVALU ignvalu_ #define GVALUES gvalues_ #define GVINIT gvinit_ #define GVECTOR gvector_ #define GVEND gvend_ #define IGLEVTY iglevty_ #define RGLEVTY rglevty_ #define IGNUMAV ignumav_ #define RGNUMAV rgnumav_ #define IGNUMMS ignumms_ #define RGNUMMS rgnumms_ #define IGSUBID igsubid_ #define RGSUBID rgsubid_ #endif #define MOVE1BYTE(p,n) ( *(p) = ((*(n)>> 0) & 0xFF) ) #define MOVE2BYTES(p,n) ( *(p) = ((*(n)>> 8) & 0xFF) ) , \ ( *((p)+1) = ((*(n)>> 0) & 0xFF) ) #define MOVE3BYTES(p,n) ( *(p) = ((*(n)>>16) & 0xFF) ) , \ ( *((p)+1) = ((*(n)>> 8) & 0xFF) ) , \ ( *((p)+2) = ((*(n)>> 0) & 0xFF) ) #define MOVE4BYTES(p,n) ( *(p) = ((*(n)>>24) & 0xFF) ) , \ ( *((p)+1) = ((*(n)>>16) & 0xFF) ) , \ ( *((p)+2) = ((*(n)>> 8) & 0xFF) ) , \ ( *((p)+3) = ((*(n)>> 0) & 0xFF) ) #define MOD(a,b) ((a) - ((a)/(b))*(b)) #define MULTIPLE(a,b) ( MOD(a,b) == 0 ) #define ONEBYTEINT(a) (fortint) ( *(a) ) #define TWOBYTEINT(a) (fortint) ( (*(a))<<8 | (*((a)+1))<<0 ) #define THREEBYTEINT(a) (fortint) (TWOBYTEINT((a))<<8 | (*((a)+2))<<0 ) #define FOURBYTEINT(a) (fortint) (THREEBYTEINT((a))<<8 | (*((a)+3))<<0 ) /* // Section 0 */ #define g0_length(a) THREEBYTEINT((a->g0)->totalGRIBlength) #define g0_edition(a) ONEBYTEINT((a->g0)->editionNumber) /* // Section 1 */ #define g1_length(a) THREEBYTEINT((a->g1)->sectionLength) #define g1_table(a) ONEBYTEINT((a->g1)->tableVersionNumber) #define g1_centre(a) ONEBYTEINT((a->g1)->originatingCentre) #define g1_process(a) ONEBYTEINT((a->g1)->generatingProcessId) #define g1_grid(a) ONEBYTEINT((a->g1)->gridDefinition) #define g1_flag(a) ONEBYTEINT((a->g1)->section2and3PresentFlag) #define g1_parameter(a) ONEBYTEINT((a->g1)->parameter) #define g1_typeOfLevel(a) ONEBYTEINT((a->g1)->typeOfLevel) #define g1_level1(a) ONEBYTEINT((a->g1)->level1) #define g1_level2(a) ONEBYTEINT((a->g1)->level2) #define g1_year(a) ONEBYTEINT((a->g1)->year) #define g1_month(a) ONEBYTEINT((a->g1)->month) #define g1_day(a) ONEBYTEINT((a->g1)->day) #define g1_hour(a) ONEBYTEINT((a->g1)->hour) #define g1_minute(a) ONEBYTEINT((a->g1)->minute) #define g1_timeunit(a) ONEBYTEINT((a->g1)->unitOfTimeRange) #define g1_P1(a) ONEBYTEINT((a->g1)->P1) #define g1_P2(a) ONEBYTEINT((a->g1)->P2) #define g1_timerange(a) ONEBYTEINT((a->g1)->timeRangeIndicator) #define g1_number(a) TWOBYTEINT((a->g1)->numberInAverage) #define g1_missing(a) ONEBYTEINT((a->g1)->numberMissing) #define g1_century(a) ONEBYTEINT((a->g1)->century) #define g1_subcentre(a) ONEBYTEINT((a->g1)->subCentreId) #define g1_scale(a) TWOBYTEINT((a->g1)->unitsDecimalScaleFactor) #define g1_definition(a) ONEBYTEINT((a->g1)->local.mars.definition) #define g1_class(a) ONEBYTEINT((a->g1)->local.mars.ecmwfClass) #define g1_type(a) ONEBYTEINT((a->g1)->local.mars.type) #define g1_stream(a) TWOBYTEINT((a->g1)->local.mars.stream) #define g1_expver(a) FOURBYTEINT((a->g1)->local.mars.experimentVersionNumber) #define centreUsingECMWFLocalDefinition(a) \ ((g1_subcentre(a)==98)&&(g1_length(a)>=40)) #define ecmwfLocalDefinitionPresent(a) ((g1_centre(a)==98)&&(g1_length(a)>=40)) #define ecmwfLocalDefinition1Present(a) \ ( ecmwfLocalDefinitionPresent(a) && (g1_definition(a)==1) ) #define ecmwfLocalDefinition2Present(a) \ ( ecmwfLocalDefinitionPresent(a) && (g1_definition(a)==2) ) #define g1_1_number(a) ONEBYTEINT((a->g1)->local.contents.def1.number) #define g1_1_total(a) ONEBYTEINT((a->g1)->local.contents.def1.total) #define g1_2_number(a) ONEBYTEINT((a->g1)->local.contents.def2.number) #define g1_2_total(a) ONEBYTEINT((a->g1)->local.contents.def2.total) #define g1_2_method(a) ONEBYTEINT((a->g1)->local.contents.def2.method) #define g1_2_start(a) TWOBYTEINT((a->g1)->local.contents.def2.startTimestep) #define g1_2_end(a) TWOBYTEINT((a->g1)->local.contents.def2.endTimestep) #define g1_2_control(a) ONEBYTEINT((a->g1)->local.contents.def2.controlForecastCluster) #define g1_2_operational(a) ONEBYTEINT((a->g1)->local.contents.def2.operationalForecastCluster) #define g1_2_count(a) ONEBYTEINT((a->g1)->local.contents.def2.numberInCluster) #define g1_2_domainN(a) THREEBYTEINT((a->g1)->local.contents.def2.domainNorthLatitude) #define g1_2_domainW(a) THREEBYTEINT((a->g1)->local.contents.def2.domainWestLongitude) #define g1_2_domainS(a) THREEBYTEINT((a->g1)->local.contents.def2.domainSouthLatitude) #define g1_2_domainE(a) THREEBYTEINT((a->g1)->local.contents.def2.domainEastLongitude) /* // Section 2 */ #define g2_length(a) THREEBYTEINT((a->g2)->sectionLength) #define g2_NV(a) ONEBYTEINT((a->g2)->NV) #define g2_PV_PL(a) ONEBYTEINT((a->g2)->PV_PL) #define g2_datatype(a) ONEBYTEINT((a->g2)->dataRepresentationType) #define g2_ni(a) TWOBYTEINT((a->g2)->grid.latlon.numberOfPointsAlongParallel) #define g2_nj(a) TWOBYTEINT((a->g2)->grid.latlon.numberOfPointsAlongMeridian) #define g2_firstLat(a) THREEBYTEINT((a->g2)->grid.latlon.latitudeOfFirstPoint) #define g2_firstLon(a) THREEBYTEINT((a->g2)->grid.latlon.longitudeOfFirstPoint) #define g2_lastLat(a) THREEBYTEINT((a->g2)->grid.latlon.latitudeOfLastPoint) #define g2_lastLon(a) THREEBYTEINT((a->g2)->grid.latlon.longitudeOfLastPoint) #define g2_resAndComp(a) ONEBYTEINT((a->g2)->grid.latlon.resolutionAndComponentsFlag) #define g2_scan(a) ONEBYTEINT((a->g2)->grid.latlon.scanningMode) #define g2_di(a) TWOBYTEINT((a->g2)->grid.latlon.iDirectionIncrement) #define g2_dj(a) TWOBYTEINT((a->g2)->grid.latlon.jDirectionIncrement) #define g2_gaussNumber(a) TWOBYTEINT((a->g2)->grid.gaussian.numberOfParallelsBetweenPoleAndEquator) #define g2_latSouthPole(a) THREEBYTEINT((a->g2)->grid.latlon.latitudeOfSouthPole) #define g2_lonSouthPole(a) THREEBYTEINT((a->g2)->grid.latlon.longitudeOfSouthPole) #define g2_rotOrStretch(a) FOURBYTEINT((a->g2)->grid.latlon.angleOfRotationOrStretchingFactor) #define g2_latStretching(a) THREEBYTEINT((a->g2)->grid.latlon.latitudeOfPoleOfStretching) #define g2_lonStretching(a) THREEBYTEINT((a->g2)->grid.latlon.longitudeOfPoleOfStretching) #define g2_stretchingFactor(a) FOURBYTEINT((a->g2)->grid.latlon.stretchingFactor) #define g2_J(a) TWOBYTEINT((a->g2)->grid.spectral.J) #define g2_K(a) TWOBYTEINT((a->g2)->grid.spectral.K) #define g2_M(a) TWOBYTEINT((a->g2)->grid.spectral.M) #define g2_repmode(a) ONEBYTEINT((a->g2)->grid.spectral.representationMode) #define basicSpectralField(a) (g2_datatype(a)==50) #define rotatedSpectralField(a) (g2_datatype(a)==60) #define stretchedSpectralField(a) (g2_datatype(a)==70) #define rotatedAndStretchedSpectralField(a) (g2_datatype(a)==80) #define anySpectralField(a) (basicSpectralField(a)||\ rotatedSpectralField(a)||\ stretchedSpectralField(a)||\ rotatedAndStretchedSpectralField(a)) #define basicGaussianGrid(a) (g2_datatype(a)== 4) #define rotatedGaussianGrid(a) (g2_datatype(a)==14) #define stretchedGaussianGrid(a) (g2_datatype(a)==24) #define rotatedAndStretchedGaussianGrid(a) (g2_datatype(a)==34) #define anyGaussianGrid(a) (basicGaussianGrid(a)||\ rotatedGaussianGrid(a)||\ stretchedGaussianGrid(a)||\ rotatedAndStretchedGaussianGrid(a)) #define basicLatLonGrid(a) (g2_datatype(a)== 0) #define rotatedLatLonGrid(a) (g2_datatype(a)==10) #define stretchedLatLonGrid(a) (g2_datatype(a)==20) #define rotatedAndStretchedLatLonGrid(a) (g2_datatype(a)==30) #define anyLatLonGrid(a) (basicLatLonGrid(a)||\ rotatedLatLonGrid(a)||\ stretchedLatLonGrid(a)||\ rotatedAndStretchedLatLonGrid(a)) #define generalLatLonGrid(a) (anyGaussianGrid(a)||anyLatLonGrid(a)) #define generalRotatedGrid(a) (rotatedLatLonGrid(a)||\ rotatedAndStretchedLatLonGrid(a)||\ rotatedGaussianGrid(a)||\ rotatedAndStretchedGaussianGrid(a)||\ rotatedSpectralField(a)||\ rotatedAndStretchedSpectralField(a)) #define generalStretchedGrid(a) (stretchedLatLonGrid(a)||\ rotatedAndStretchedLatLonGrid(a)||\ stretchedGaussianGrid(a)||\ rotatedAndStretchedSpectralField(a)||\ stretchedSpectralField(a)||\ rotatedAndStretchedGaussianGrid(a)) #define generalStretchedAndRotatedGrid(a) (rotatedAndStretchedLatLonGrid(a)||\ rotatedAndStretchedGaussianGrid(a)) #define directionIncrementsGiven(a) ((g2_resAndComp(a)&0x80)&&(g2_di(a)!=0xffff)) /* // Section 3 */ #define g3_length(a) THREEBYTEINT((a->g3)->sectionLength) #define g3_table(a) ONEEBYTEINT((a->g3)->tableReference) #define primaryBitmapPresent(a) ( g1_flag(a) & 0x40 ) /* // Section 4 */ #define g4_length(a) THREEBYTEINT((a->g4)->sectionLength) #define g4_flag(a) ONEBYTEINT((a->g4)->flag) #define g4_scale(a) TWOBYTEINT((a->g4)->scaleFactor) #define g4_reference(a) FOURBYTEINT((a->g4)->referenceValue) #define g4_bits(a) ONEBYTEINT((a->g4)->numberOfBitsPerValue) #define g4_n(a) TWOBYTEINT((a->g4)->data.complexSpectral.N) #define g4_ip(a) TWOBYTEINT((a->g4)->data.complexSpectral.IP) #define g4_j(a) ONEBYTEINT((a->g4)->data.complexSpectral.J) #define g4_k(a) ONEBYTEINT((a->g4)->data.complexSpectral.K) #define g4_m(a) ONEBYTEINT((a->g4)->data.complexSpectral.M) #define g4_n1(a) TWOBYTEINT((a->g4)->data.complexGrid.n1) #define g4_extendedFlags(a) ONEBYTEINT((a->g4)->data.complexGrid.extendedFlags) #define g4_n2(a) TWOBYTEINT((a->g4)->data.complexGrid.n2) #define g4_p1(a) TWOBYTEINT((a->g4)->data.complexGrid.p1) #define g4_p2(a) TWOBYTEINT((a->g4)->data.complexGrid.p2) #define gridPoint(a) ( (g4_flag(a)&0x80) == 0 ) #define simplePacking(a) ( (g4_flag(a)&0x40) == 0 ) #define floatingPoint(a) ( (g4_flag(a)&0x20) == 0 ) #define noAdditionalFlags(a) ( (g4_flag(a)&0x10) == 0 ) #define matrixAtGridPoint(a) (g4_extendedFlags(a)&0x40) #define secondaryBitmapPresent(a) (g4_extendedFlags(a)&0x20) #define differentWidths(a) (g4_extendedFlags(a)&0x10) #define generalExtendedSecondOrder(a) (g4_extendedFlags(a)&0x08) #define boustrophedonicOrdering(a) (g4_extendedFlags(a)&0x04) #define firstOrderSpatialDifferencing(a) ( (g4_extendedFlags(a)&0x03) == 1 ) #define secondOrderSpatialDifferencing(a) ( (g4_extendedFlags(a)&0x03) == 2 ) #define thirdOrderSpatialDifferencing(a) ( (g4_extendedFlags(a)&0x03) == 3 ) #define anyComplexPackedSpectralField(a) \ (anySpectralField(a) && !simplePacking(a)) #ifdef __cplusplus extern "C" { #endif /* // Function prototypes */ void GBYTE(void*,void*,fortint*,fortint*); fortint IGGLAT(fortint*,fortdouble*,fortint*,fortint*); double pow(double,double); void *memcpy(void*,const void*,size_t); fortint findSectionOffsets(unsigned char*,fortint*,fortint*,fortint*,fortint*,fortint*,fortint*); fortint prepareGrib(gribProduct**,unsigned char*); fortint convertGRIBFloatToIEEE(unsigned char*); fortdouble realValue(unsigned char*); fortdouble referenceValue(gribProduct*); fortdouble RGREFVL(gribProduct**); fortint IGBTSPV(gribProduct**); fortdouble RGDSCAL(gribProduct**); fortint IGUNUSD(gribProduct**); fortint GDECODE(gribProduct**,unsigned char*); fortint IGLNGTH(gribProduct**); fortint IGDATE(gribProduct**); fortint IGTIME(gribProduct**); fortint GSTEP(gribProduct**); fortint IGTABLE(gribProduct**); fortint IGCENTR(gribProduct**); fortint IGPARAM(gribProduct**); fortint IGLEVEL(gribProduct**); fortint IGLEVL1(gribProduct**); fortint IGLEVL2(gribProduct**); fortint IGDEFIN(gribProduct**); fortint IGCLASS(gribProduct**); fortint IGTYPE(gribProduct**); fortint IGSTREM(gribProduct**); fortint IGEXPVR(gribProduct**); fortint IGREPRS(gribProduct**); fortint IGNUMPV(gribProduct**); fortint GPV(gribProduct**,fortdouble*,fortint*); fortint GPL(gribProduct**,fortint*,fortint*); fortint IGNI(gribProduct**); fortint IGNJ(gribProduct**); fortdouble RGNWLAT(gribProduct**); fortdouble RGNWLON(gribProduct**); fortdouble RGSELAT(gribProduct**); fortdouble RGSELON(gribProduct**); fortint IGRESCO(gribProduct**); fortdouble RGDI(gribProduct**); fortdouble RGDJ(gribProduct**); fortint IGGAUSS(gribProduct**); fortint IGSCANM(gribProduct**); fortint IGJ(gribProduct**); fortint IGK(gribProduct**); fortint IGM(gribProduct**); fortint IGREPMO(gribProduct**); fortdouble RGIP(gribProduct**); fortint IGTJ(gribProduct**); fortint IGTK(gribProduct**); fortint IGTM(gribProduct**); fortdouble RGLATRP(gribProduct**); fortdouble RGLONRP(gribProduct**); fortdouble RGROTAT(gribProduct**); fortdouble RGLATSP(gribProduct**); fortdouble RGLONSP(gribProduct**); fortdouble RGSFACT(gribProduct**); fortint numberOfValuesInSection4(gribProduct*); fortint g4_offset(gribProduct*); fortint IGNVALU(gribProduct**); fortint GVALUES( gribProduct**,fortdouble*,fortint*,fortint*,fortdouble*); void GVEND(gribProduct**); fortint setupIrregularLongitudeIncrements(gribProduct**,fortint); fortint GVINIT(gribProduct**,fortdouble*); fortint GVECTOR( gribProduct**,fortdouble*,fortdouble*,fortdouble*); fortint getSingleMapBit(unsigned char*,fortint); void * allocateMemory(size_t); void freeMemory(void*); #ifdef __cplusplus } #endif #endif /* End of GDECODE_H */ emoslib-000392+dfsg.1/gribex/c2pkvw.F0000755000175000017500000003604012127406245020267 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION C2PKVW ( KDATA, KLENP, KGRIB, KLENG, KNSPT, X KBITS, KLEN, KREFGR, KLENGR, KBITGR, X KWORK, KLWORK, KFIROV, KCOUNT, KPOWER, X KMXPWR, OROW, OVECTA, ODEBUG ) C C----> C**** C2PKVW C C Purpose. C -------- C C Computes and packs second-order values for variable width methods C of second-order packing. C C C** Interface. C ---------- C C KRET = C2PKVW ( KDATA, KLENP, KGRIB, KLENG, KNSPT, KBITS, C X KLEN, KREFGR, KLENGR, KBITGR, KWORK, KLWORK, C X KGRIB, KCOUNT, KPOWER, KMXPWR, OROW, OVECTA, C X ODEBUG ) C C C Input Parameters. C ---------------- C C KDATA - Array of normalized values. C KLENP - Length of array KDATA. C KLENG - Length of GRIB product array. C KNSPT - Bit pointer for next value in GRIB product. C KBITS - Number of bits per computer word. C KLEN - Exact number of grid-points to handle. C KREFGR - Work array, first-order values for each group. C KLENGR - Work array, effective length of each group. C KBITGR - Work array, bit number ("width") of each group. C KLWORK - Length of work arrays. C KFIROV - Number of FIRst-Order Values. C KCOUNT - Initial index into KDATA. C KPOWER - Auxilary array, containing precomputed powers of 2-1. C KMXPWR - Maximum number of bits per original scaled value. C OROW - True if row by row packing is active packing method. C OVECTA - True if vector-oriented algorithm has to be used. C ODEBUG - True for some debug printout. C C C Output Parameters. C ----------------- C C KDATA - Used as work array for second-order values. C KGRIB - Array containing GRIB product. C KNSPT - Bit pointer for next value in GRIB product (updated). C KREFGR - Work array, re-used internally. C KBITGR - Work array, re-used internally. C KWORK - Work array. C KCOUNT - Final index into KDATA. C C C Method. C ------- C C Follows WMO Manual of Codes. C C Externals. C ---------- C C INXBIT - Insert bits into GRIB product. C C C Reference. C ---------- C C None. C C C Comments. C -------- C C C KDATA is overwritten. This is coherent with GRIBEX coding. C C C Author. C ------- C C J. Clochard, Meteo France, for ECMWF - September 1998. C C C Modifications. C _____________ C C None. C C C----< C ----------------------------------------------------------------- C* Section 0. Definition of variables. C ----------------------------------------------------------------- C IMPLICIT NONE C #include "grprs.h" C C Subroutine arguments C INTEGER KLENP, KLENG, KNSPT, KBITS, KLEN, KLWORK, KFIROV, KCOUNT INTEGER KMXPWR INTEGER KDATA (KLENP), KGRIB (KLENG), KPOWER (0:KMXPWR) INTEGER KREFGR (KLWORK), KLENGR (KLWORK), KBITGR (KLWORK) INTEGER KWORK (KLWORK) C LOGICAL OROW, OVECTA, ODEBUG C C Local variables. C INTEGER ICOUNT, JGROUP, ILNGTH, IRET, J, IWIDTH, IREFER, IOFF INTEGER IRETFN, IPRWID, JTIMES, ILNGTS, IDATA, ICOUNB, IBLOCK INTEGER JBLOCK, IFIRST, ILBITS, IBIT, IWIDPR, INTERM, IPOWER C CHARACTER YOPER*1 C C ----------------------------------------------------------------- C* Section 1 . Initialisations. C ----------------------------------------------------------------- C 100 CONTINUE C #ifndef ebug2o IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9100) KNSPT #ifndef ebug2o ENDIF #endif C IRETFN=0 YOPER='C' ICOUNT=KCOUNT C C ----------------------------------------------------------------- C* Section 2. Blocks groups of same width, compute 2nd-order values. C ----------------------------------------------------------------- C 200 CONTINUE C C Determin blocks of neighbour groups of same width to be C "packed" together for coding, and compute 2nd-order values. C C In both cases any constant groups are not taken into account. C ILNGTS=0 ICOUNB=0 IBLOCK=0 C C Find first non-constant group. C DO 201 J=1,KFIROV C IF (KBITGR(J).NE.0) THEN IFIRST=J GOTO 202 ENDIF C ICOUNT=ICOUNT+KLENGR(J) C 201 CONTINUE C C All groups are constant (constant field, at least piecewise). C In such a case there are no second-order values to code. C IFIRST=KFIROV+1 ICOUNT=KLEN C 202 CONTINUE C IPRWID=KBITGR(MIN (IFIRST,KFIROV)) C DO 204 JGROUP=IFIRST,KFIROV C IWIDTH=KBITGR(JGROUP) ILNGTH=KLENGR(JGROUP) IREFER=KREFGR(JGROUP) C IF (IWIDTH.NE.0) THEN C C Compute second-order values for current group. C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 203 J=1,ILNGTH C KDATA(ICOUNB+J)=KDATA(ICOUNT+J)-IREFER C 203 CONTINUE C IF (IWIDTH.NE.IPRWID) THEN C C Current group may not be blocked with previous one(s). C IF (ILNGTS.NE.0) THEN C C Closes current block. C IBLOCK=IBLOCK+1 KBITGR(IBLOCK)=IPRWID KWORK(IBLOCK)=ILNGTS ILNGTS=0 C ENDIF C IPRWID=IWIDTH C ENDIF C ICOUNB=ICOUNB+ILNGTH ILNGTS=ILNGTS+ILNGTH C ENDIF C ICOUNT=ICOUNT+ILNGTH C 204 CONTINUE C IF (IPRWID.NE.0.AND.ILNGTS.NE.0) THEN C C Closing last block of group(s). C IBLOCK=IBLOCK+1 KBITGR(IBLOCK)=IPRWID KWORK(IBLOCK)=ILNGTS C ENDIF C C ----------------------------------------------------------------- C* Section 3. Packs second-order values. C ----------------------------------------------------------------- C 300 CONTINUE C ILBITS=0 ICOUNB=0 ILNGTS=0 C IF (OROW.OR..NOT.OVECTA) THEN C C For such a case, granularity is large enough to make one C INXBIT call per block of group(s). C DO 311 JBLOCK=1,IBLOCK C ILNGTH=KWORK(JBLOCK) IWIDTH=KBITGR(JBLOCK) #ifdef ebug2o PRINT *,'c2pkvw - block',JBLOCK, X ' KNSPT/IWIDTH/ICOUNB/ILNGTH = ', X KNSPT, IWIDTH, ICOUNB, ILNGTH #endif CALL INXBIT(KGRIB,KLENG,KNSPT,KDATA(ICOUNB+1),ILNGTH,KBITS, X IWIDTH,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 24310 WRITE(GRPRSM,FMT=9310) 'block', JBLOCK, ILNGTH, IWIDTH GO TO 900 ENDIF C ICOUNB=ICOUNB+ILNGTH C 311 CONTINUE C ELSE C C Granularity is generally small. Except for very big groups, C split 2nd-order values into individual bits, blocked into C KREFGR work array, that is flushed when full. C C DO 399 JBLOCK=1,IBLOCK C ILNGTH=KWORK(JBLOCK) IWIDTH=KBITGR(JBLOCK) C IF ((ILBITS+ILNGTH*IWIDTH).GT.KLWORK.AND.ILBITS.NE.0) THEN C C Work array of split bits has to be flushed. Pack it. C #ifdef ebug2o PRINT *,'c2pkvw - blocks..',JBLOCK-1, X ' KNSPT/ILBITS = ', X KNSPT, ILBITS #endif CALL INXBIT(KGRIB,KLENG,KNSPT,KREFGR,ILBITS,KBITS, X 1,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 24320 WRITE(GRPRSM,FMT=9320) JBLOCK-1, ILBITS GO TO 900 ENDIF C ILBITS=0 C ENDIF C IF ((ILNGTH*IWIDTH).GT.KLWORK) THEN C C Current block is too large to fit into KREFGR. C Pack it straightforward, without intermediate splitting. C #ifdef ebug2o PRINT *,'c2pkvw - BLOCK',JBLOCK, X ' KNSPT/IWIDTH/ICOUNB/ILNGTH = ', X KNSPT, IWIDTH, ICOUNB, ILNGTH #endif CALL INXBIT(KGRIB,KLENG,KNSPT,KDATA(ICOUNB+1),ILNGTH,KBITS, X IWIDTH,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 24320 WRITE(GRPRSM,FMT=9310) 'BLOCK', JBLOCK, ILNGTH, IWIDTH GO TO 900 ENDIF C ELSE C C Split current block into individual bits, stored into C array KREFGR (one bit per index value). C C Start processing by "full" packets of 7-bit wide. C (even if 7-bit wide, last packet is processed separately). C INTERM=(IWIDTH-1)/7 IWIDPR=0 C DO 322 JTIMES=1,INTERM C IOFF=ILBITS+IWIDPR IWIDPR=IWIDPR+7 IPOWER=KPOWER(IWIDTH-IWIDPR)+1 C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 321 J=1,ILNGTH C IDATA=KDATA(ICOUNB+J)/IPOWER KDATA(ICOUNB+J)=KDATA(ICOUNB+J)-IPOWER*IDATA IBIT=IDATA/64 KREFGR(IOFF+1)=IBIT IDATA=IDATA-64*IBIT IBIT=IDATA/32 KREFGR(IOFF+2)=IBIT IDATA=IDATA-32*IBIT IBIT=IDATA/16 KREFGR(IOFF+3)=IBIT IDATA=IDATA-16*IBIT IBIT=IDATA/8 KREFGR(IOFF+4)=IBIT IDATA=IDATA-8*IBIT IBIT=IDATA/4 KREFGR(IOFF+5)=IBIT IDATA=IDATA-4*IBIT IBIT=IDATA/2 KREFGR(IOFF+6)=IBIT KREFGR(IOFF+7)=IDATA-2*IBIT IOFF=IOFF+IWIDTH C 321 CONTINUE C 322 CONTINUE C C Now process last packet of bits (least significant ones). C No more use to restore KDATA. C IOFF=ILBITS+IWIDPR IPRWID=IWIDTH-IWIDPR C IF (IPRWID.EQ.7) THEN C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 323 J=1,ILNGTH C IBIT=KDATA(ICOUNB+J)/64 KREFGR(IOFF+1)=IBIT IDATA=KDATA(ICOUNB+J)-64*IBIT IBIT=IDATA/32 KREFGR(IOFF+2)=IBIT IDATA=IDATA-32*IBIT IBIT=IDATA/16 KREFGR(IOFF+3)=IBIT IDATA=IDATA-16*IBIT IBIT=IDATA/8 KREFGR(IOFF+4)=IBIT IDATA=IDATA-8*IBIT IBIT=IDATA/4 KREFGR(IOFF+5)=IBIT IDATA=IDATA-4*IBIT IBIT=IDATA/2 KREFGR(IOFF+6)=IBIT KREFGR(IOFF+7)=IDATA-2*IBIT IOFF=IOFF+IWIDTH C 323 CONTINUE C ELSEIF (IPRWID.EQ.6) THEN C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 324 J=1,ILNGTH C IBIT=KDATA(ICOUNB+J)/32 KREFGR(IOFF+1)=IBIT IDATA=KDATA(ICOUNB+J)-32*IBIT IBIT=IDATA/16 KREFGR(IOFF+2)=IBIT IDATA=IDATA-16*IBIT IBIT=IDATA/8 KREFGR(IOFF+3)=IBIT IDATA=IDATA-8*IBIT IBIT=IDATA/4 KREFGR(IOFF+4)=IBIT IDATA=IDATA-4*IBIT IBIT=IDATA/2 KREFGR(IOFF+5)=IBIT KREFGR(IOFF+6)=IDATA-2*IBIT IOFF=IOFF+IWIDTH C 324 CONTINUE C ELSEIF (IPRWID.EQ.5) THEN C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 325 J=1,ILNGTH C IBIT=KDATA(ICOUNB+J)/16 KREFGR(IOFF+1)=IBIT IDATA=KDATA(ICOUNB+J)-16*IBIT IBIT=IDATA/8 KREFGR(IOFF+2)=IBIT IDATA=IDATA-8*IBIT IBIT=IDATA/4 KREFGR(IOFF+3)=IBIT IDATA=IDATA-4*IBIT IBIT=IDATA/2 KREFGR(IOFF+4)=IBIT KREFGR(IOFF+5)=IDATA-2*IBIT IOFF=IOFF+IWIDTH C 325 CONTINUE C ELSEIF (IPRWID.EQ.4) THEN C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 326 J=1,ILNGTH C IBIT=KDATA(ICOUNB+J)/8 KREFGR(IOFF+1)=IBIT IDATA=KDATA(ICOUNB+J)-8*IBIT IBIT=IDATA/4 KREFGR(IOFF+2)=IBIT IDATA=IDATA-4*IBIT IBIT=IDATA/2 KREFGR(IOFF+3)=IBIT KREFGR(IOFF+4)=IDATA-2*IBIT IOFF=IOFF+IWIDTH C 326 CONTINUE C ELSEIF (IPRWID.EQ.3) THEN C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 327 J=1,ILNGTH C IBIT=KDATA(ICOUNB+J)/4 KREFGR(IOFF+1)=IBIT IDATA=KDATA(ICOUNB+J)-4*IBIT IBIT=IDATA/2 KREFGR(IOFF+2)=IBIT KREFGR(IOFF+3)=IDATA-2*IBIT IOFF=IOFF+IWIDTH C 327 CONTINUE C ELSEIF (IPRWID.EQ.2) THEN C #ifdef CRAY CDIR$ IVDEP #endif #ifdef FUJITSU !OCL NOVREC #endif DO 328 J=1,ILNGTH C IBIT=KDATA(ICOUNB+J)/2 KREFGR(IOFF+1)=IBIT KREFGR(IOFF+2)=KDATA(ICOUNB+J)-2*IBIT IOFF=IOFF+IWIDTH C 328 CONTINUE C ELSE C DO 329 J=1,ILNGTH C KREFGR(IOFF+1)=KDATA(ICOUNB+J) IOFF=IOFF+IWIDTH C 329 CONTINUE C ENDIF C ILBITS=ILBITS+ILNGTH*IWIDTH C ENDIF C ICOUNB=ICOUNB+ILNGTH C 399 CONTINUE C IF (ILBITS.NE.0) THEN C C Last flush for work array of split bits. Pack it. C #ifdef ebug2o PRINT *,'c2pkvw - blocks..',IBLOCK, X ' KNSPT/ILBITS = ', X KNSPT, ILBITS #endif CALL INXBIT(KGRIB,KLENG,KNSPT,KREFGR,ILBITS,KBITS, X 1,YOPER,IRET) C IF (IRET.NE.0) THEN IRETFN = 24320 WRITE(GRPRSM,FMT=9320) IBLOCK, ILBITS GO TO 900 ENDIF C ENDIF C ENDIF C C C ----------------------------------------------------------------- C* Section 9. Return to calling routine. C ----------------------------------------------------------------- C 900 CONTINUE C KCOUNT=ICOUNT C2PKVW = IRETFN #ifndef ebug2o C IF (ODEBUG) THEN #endif WRITE(GRPRSM,FMT=9900) IRETFN, KNSPT #ifndef ebug2o ENDIF #endif C RETURN C 9100 FORMAT (' C2PKVW: Function start, KNSPT =',I10,'.') C 9310 FORMAT (' C2PKVW: Problem inserting 2nd-order values, ',A,I7, S ',',I6,'*',I2,' bits.') C 9320 FORMAT (' C2PKVW: Problem inserting 2nd-order values, blocks..', S I7,',',I9,' bits.') C 9900 FORMAT (' C2PKVW: Function return code =',I6,', KNSPT =',I10,'.') C END emoslib-000392+dfsg.1/gribex/btcray.special0000755000175000017500000006671412127406245021605 0ustar amckinstryamckinstry SUBROUTINE INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C KBLEN,HFUNC,KRET) C C**** INXBIT - Insert/extract bits consecutively in/from a given array C C Purpose. C -------- C C Take rightmost KBLEN bits from KNUM words of KPARM C and insert them consecutively in KGRIB, starting at C bit after KNSPT or vice versa. C C** Interface. C ---------- C C CALL INXBIT (KGRIB,KLENG,KNSPT,KPARM,KNUM,KBIT, C C KBLEN,KRET) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KGRIB - Array containing bitstream. C KLENG - Length (words) of this array. C KNSPT - Bit number after which insertion or C extraction starts. C KPARM - Array from which bits are taken for C insertion in the bitstream or to which C bits are extracted from the bitstream. C KBIT - Number of bits in computer word. C KNUM - Number of bit fields inserted/extracted. C KBLEN - Number of bits per bit field. C HFUNC - Requested function. C 'C' to insert bits in bitstream, C 'D' to extract bits from bitstream. C C Output Parameters. C ------------------ C C KNSPT - Bit number of last bit inserted/extracted. C C KRET - Return code. C 0 , No error encountered. C 1 , Insertion/extraction exceeded C array boundary. C C Method. C ------- C C Word and offset pointer calculated before calling C insertion/extraction routines. C C Externals. C ---------- C C SBYTES C GBYTES C GSBITE C C Reference. C ---------- C C ECLIB documentation on SBYTES and GBYTES. C C Comments. C --------- C C Cray version of routine. C This routine should only be used on the Cray as it C contains a call to GSBITE, a vectorising version of C GBYTE(S) and SBYTE(S). C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 18.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 08.11.91 C Parameter KMACH removed from list of input parameters. C C J. Hennessy ECMWF 12.10.92 C Dimension of IMASK changed from 64 to 65. C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ---------------------------------------------------------------- C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C IMPLICIT NONE C INTEGER IMASK INTEGER IND INTEGER INUM INTEGER IOFF INTEGER IPR INTEGER IWORD C INTEGER KBIT INTEGER KBLEN INTEGER KGRIB INTEGER KLENG INTEGER KNSPT INTEGER KNUM INTEGER KPARM INTEGER KRET C INTEGER J901 C DIMENSION KGRIB(KLENG) DIMENSION KPARM(*) DIMENSION IMASK(65) C CHARACTER*1 HFUNC C C Values in IMASK are set in the first call to routine GSBITE, and C are used in subsequent calls. C SAVE IMASK C C Force routine GSBITE to calculate bit-masks first time through. C DATA IMASK(2) /0/ C C Debug print switch. C DATA IPR /0/ C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 1 . Set initial values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (IPR.EQ.1) C THEN WRITE (*,*) 'INXBIT : Section 1.' WRITE (*,*) ' Input values used -' WRITE (*,9009) KLENG WRITE (*,9002) KNSPT WRITE (*,9004) KBIT WRITE (*,9005) HFUNC ENDIF C KRET = 0 C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 2 . Bit insertion/extraction. C ---------------------------------------------------------------- C 200 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 2.' C C* Calculate word pointer and offset. C IWORD = KNSPT / KBIT IOFF = KNSPT - IWORD * KBIT IWORD = IWORD + 1 IF (IPR.EQ.1) WRITE (*,9003) IWORD , IOFF C C Insert/extract bits. C IF (KNUM.GE.8) C THEN C C Cray vectorising routine GSBITE performs the same C functions as SBYTE(S) and GBYTE(S). C CALL GSBITE (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM, C KBIT,IMASK,HFUNC) ELSE C C Cray scalar faster. C IF (HFUNC.EQ.'C') C THEN CALL SBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ELSE CALL GBYTES (KGRIB(IWORD),KPARM,IOFF,KBLEN,0,KNUM) ENDIF ENDIF C C Update pointer. C KNSPT = KNSPT + KBLEN * KNUM C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 3 . Check out of range. C ----------------------------------------------------------------- C 300 CONTINUE C IF (IPR.EQ.1) WRITE (*,*) 'INXBIT : Section 3.' C IND = KNSPT / KBIT IF (IND.GT.KLENG) C THEN KRET = 1 WRITE (*,9001) IND , KLENG ENDIF C C ---------------------------------------------------------------- C C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ---------------------------------------------------------------- C 900 CONTINUE C IF (IPR.EQ.1) C THEN INUM = KNUM IF (INUM.GT.360) C THEN INUM = 360 WRITE (*,9007) INUM ENDIF DO 901 J901=1,INUM IF (HFUNC.EQ.'C') C THEN WRITE (*,9006) KPARM(J901) ELSE WRITE (*,9008) KPARM(J901) ENDIF 901 CONTINUE WRITE (*,*) 'INXBIT : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9002) KNSPT ENDIF C C 9001 FORMAT (1H ,'INXBIT : Word ',I8,' is outside array bounds ',I8) C 9002 FORMAT (1H ,' KNSPT = ',I8) C 9003 FORMAT (1H ,'INXBIT : Word is',I8,', bit offset is ',I2) C 9004 FORMAT (1H ,' KBIT = ',I8) C 9005 FORMAT (1H ,' HFUNC = ',A) C 9006 FORMAT (1H ,' Inserted value = ',I20) C 9007 FORMAT (1H ,' First ',I9,' values.') C 9008 FORMAT (1H ,' Extracted value = ',I20) C 9009 FORMAT (1H ,' KLENG = ',I20) C RETURN C END SUBROUTINE ABORTX (HNAME) C C**** ABORTX - Terminates execution of program. C C Purpose. C -------- C C Terminates execution of program. C C** Interface. C ---------- C C CALL ABORTX (HNAME) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C HNAME - Name of calling routine. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C Prints message and terminates. C C Externals. C ---------- C C ABORT C C Reference. C ---------- C C None. C C Comments. C --------- C C Cray version of routine. C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 13.11.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C IMPLICIT NONE C CHARACTER*(*) HNAME C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Print message and terminate. C ------------------------------------------------------------------ C 100 CONTINUE C WRITE (*,9001) HNAME C CALL ABORT C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C 9001 FORMAT (1H ,'ABORTX : Routine ',A,' has requested program', C ' termination.') C RETURN C END SUBROUTINE SETPAR (KBIT,KNEG,KPR) C C**** SETPAR - Set number of bits in word. Set maximum negative integer. C C Purpose. C -------- C C Set number of bits in word. Set maximum negative integer. C C** Interface. C ---------- C C CALL SETPAR (KBIT,KNEG,KPR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KPR - Debug print switch. C 1 , print out. C 0 , No print out. C C Output Parameters. C ------------------ C C KBIT - Number of bits in computer word. C C KNEG - Maximum negative integer. C C Method. C ------- C C Values are assigned. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C Cray version of routine. C Routine contains Sections 0 to 3 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 28.10.91 C C Modifications. C -------------- C C None. C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 0 . Definition of variables. Data statements. C ------------------------------------------------------------------ C C* Prefix conventions for variable names. C C Logical L (but not LP), global or common. C O, dummy arguments. C G, local variable. C LP, parameter. C Character C, Global or common. C H, dummy arguments. C Y (but not YP), local variables. C YP, parameter. C Integer M and N, global or common. C K, dummy arguments. C I, local variables. C J (but not JP), loop control. C JP, parameter. C Real A to F and Q to X, global or common. C P (but not PP), dummy arguments. C Z, local variables. C PP, parameter. C IMPLICIT NONE C INTEGER KBIT INTEGER KNEG INTEGER KPR C C ------------------------------------------------------------------ C C C C C C C C C C C* Section 1 . Assign values. C ------------------------------------------------------------------ C 100 CONTINUE C IF (KPR.EQ.1) WRITE (*,*) ' SETPAR : Section 1.' C KBIT = 64 KNEG = -9223372036854775807 C C ------------------------------------------------------------------ C C C C C C C C C C* Section 9 . Return to calling routine. Format statements. C ------------------------------------------------------------------ C 900 CONTINUE C IF (KPR.EQ.1) C THEN WRITE (*,*) ' SETPAR : Section 9.' WRITE (*,*) ' Output values set -' WRITE (*,9001) KBIT WRITE (*,9002) KNEG ENDIF C 9001 FORMAT (1H ,' KBIT = ',I3) C 9002 FORMAT (1H ,' KNEG = ',I22) C RETURN C END SUBROUTINE GSBITE (KS,KD,KSKST,KSIZE,KSKBTW,K,KBPW,KMASK,HADIR) C C**** GSBITE - Extraction/insertion of bits from/to bitstream on Cray. C C Purpose. C -------- C C Vectorising extraction/insertion of bits from/to bitstream. C C** Interface. C ---------- C C CALL GSBITE (KS,KD,KSKST,KSIZE,KSKBTW,K,KBPW,KMASK,HADIR) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C KS - If HADIR='D', input bit stream, else output C bit stream. C KD - If HADIR='D', output words, else input words. C KSKST - Number of bits skipped at beginning of KS. C KSIZE - Number of bits to be extracted to one word C of KD. C KSKBTW - Number of bits skipped between two words to C be extracted. C K - Number of words to be extracted into KD. If C less than or equal to 0 only calculate KBPW C and KMASK. C KBPW - Number of bits per word in KS,calculated if 0. C KMASK - Masks for bit patterns, calculated if C KMASK(2) is 0. C HADIR - Direction of conversion: 'D' for decoding, ie C extract words KD(1...K) from bits C KS(KSKST+1....) C If not 'D', encode, i.e. pack words C KD(1....K) into bits C KS(KSKST+1.....KSKST+K*(KSIZE+KSKBTW)) C C Output Parameters. C ------------------ C C KS,KD - See above. C KSKST - Updated to number of bits used, i.e. to C KSKST+K*(KSIZE+KSKBTW) C KBPW - If 0 on input, number of bits in each word C of KS. C KMASK - If KMASK(2) was 0 on input, bit pattern masks. C C Method. C ------- C C Vector loop is over repeatedly occurring bit patterns. C C Externals. C ---------- C C None. C C Reference. C ---------- C C None. C C Comments. C --------- C C This routine is for the Cray only. C Variable names do not conform to the standard. C C Author. C ------- C C G.J.Cats 08 Dec 87 C C Modifications. C -------------- C C J. Hennessy ECMWF 09.09.91 C Introductory comments changed to conform to standard. C C ------------------------------------------------------------------ C DIMENSION KS(*),KD(*),KMASK(*) CHARACTER*1 HADIR C C STATEMENT FUNCTIONS TO MANIPULATE BITS IN WORDS OF 64 BITS C C DATA ONES/7777777777777777B/ C DATA OOOS/0B/ C C 1. SINGLE BIT MANIPULATIONS C C 1.1 SET BIT KBIT IN WORD PW C IBSET(KW,KBIT)=OR(KW,SHIFT(1B,KBIT)) C C 2. WORD MANIPULATIONS, BIT BY BIT C C 2.1 ARE WORDS PW1 AND PW2 EQUAL? C C LOGICAL NLEQAL C NLEQAL(PW1,PW2)=(PW1.XOR.PW2).EQ.0B C C 2.2 BITWISE AND AND OR C IAND(K1,K2)=AND(K1,K2) IOR (K1,K2)= OR(K1,K2) C C 2.3 BITWISE NEGATION C NOT(K)=COMPL(K) C C 2.4 SHIFT (LEFT FOR KSH POSITIVE, RIGHT FOR KSH NEGATIVE C ISHFT(K,KSH)=CVMGP(SHIFTL(K,KSH),SHIFTR(K,-KSH),KSH) C C 3. SPECIAL PURPOSE C C 3.1 TAKE 4 LAST BITS OF KW, PUT THEM IN PW AT POS K*4-1 C C SETLEV(PW,KW,K)=OR(AND(PW,SHIFT(0B.EQV.17B,K*4-4)), C +SHIFT(AND(17B,KW),K*4-4)) C C 3.2 EXTRACT FIELD [K*4-1:4] FROM PW C C MGTLEV(PW,K)=AND(17B,SHIFT(PW,68-K*4)) C C 1. COMPLETE KBPW AND KMASK, RETURN IF 0 WORDS ARE TO BE EXTRACTED C IF(KBPW.EQ.0)THEN IS=KS(1) KS(1)=1 1101 CONTINUE IF(KS(1).NE.0)THEN KBPW=KBPW+1 KS(1)=ISHFT(KS(1),1) GOTO 1101 ENDIF KS(1)=IS ENDIF IF(KMASK(2).EQ.0)THEN KMASK(KBPW+1)=0 DO 1110 J=KBPW,1,-1 KMASK(J)=IBSET(KMASK(J+1),KBPW-J) 1110 CONTINUE ENDIF IF(K.LE.0)RETURN C C 2. PRESET KD TO 0 IF KD IS OUTPUT I.E. WHEN DECODING C IF(HADIR.EQ.'D')THEN DO 2101 J=1,K KD(J)=0 2101 CONTINUE ENDIF C C 3. CALCULATE SEVERAL PARAMETERS FOR LOOPING (FOR EFFICIENCY, THE C CODE OF SECTIONS 3.3 AND 3.4 FOR K=1 IS SEPARATED INTO 3.2) C C 3.1 NUMBER OF BITS USED PER WORD, INITIAL NR OF SKIPPED BITS C ISTEP=KSIZE+KSKBTW ISKWS=KSKST C C 3.2 VECTOR LOOP LENGTH AND STEP SIZE IN KD IF K=1;KS STEP IRRELVNT C IF(K.EQ.1)THEN ILL=1 IBDL=2 ISTD=1 ELSE C C 3.3 STEP SIZES IN KS,KD: INVERSE OF LARGEST FACTOR OF ISTEP,KBPW C ILCF=KBPW ISHF=ISTEP 331 CONTINUE IF(ILCF.EQ.ISHF)GOTO 332 IF(ILCF.EQ.1)GOTO 332 IF(ILCF.GT.ISHF)THEN ILCF=ILCF-ISHF ELSE ISHF=ISHF-ILCF ENDIF GOTO 331 332 CONTINUE ISTD=KBPW/ILCF ISTS=ISTEP/ILCF C C 3.4 VECTOR LOOP LENGTH AND SWITCH-OVER POINT FOR SMALLER LOOP C ILL=(K-1)/ISTD+1 IBDL=K-(ILL-1)*ISTD ENDIF C C 4. LOOP OVER FIRST ISTD WORDS OF KD (TRAILS THE VECTOR LOOP) C DO 790 JBD=1,ISTD C C 4.1 LAST BIT IN KS TO BE TREATED C IENBS=ISKWS+KSIZE C C 4.2 NR OF WORDS OF KS TO BE SKIPPED, NR OF BITS IN THOSE AND THIS C ISKW=ISKWS/KBPW ISTA=ISKW*KBPW ISKB=ISKWS-ISTA C C 4.3 MASK AND LEFT SHIFT FOR THE REMAINING BITS C IMASK=KMASK(ISKB+1) ISH=KSIZE+ISKB C C 4.4 POSITION OF CURRENT WORD OF KS C IBS=ISKW+1 C C 5. LOOP OVER WORDS OF KS CONTRIBUTING TO ONE WORD OF KD C 500 CONTINUE C C 5.1 UPDATE SHIFT AND LAST BIT IN CURRENT WORD C ISH=ISH-KBPW IEND=ISTA+KBPW C C 5.2 IS LAST BIT OF CURRENT WORD OUTSIDE RANGE TO BE EXTRACTED C IF(IEND.GT.IENBS)THEN ISH=IENBS-IEND IMASK=IAND(IMASK,NOT(KMASK(KBPW+ISH+1))) ENDIF C C 5.3 INITIAL OFFSETS FOR VECTOR ELEMENTS IN VECTOR LOOP C IOS=0 IOD=0 C C 6. VECTOR LOOP IS OVER REPEATEDLY OCCURRING BITPATTERNS/MASKS C IF(HADIR.EQ.'D')THEN CDIR$ IVDEP DO 611 JI=1,ILL KD(JBD+IOD)=IOR(KD(JBD+IOD),ISHFT(IAND(IMASK,KS(IBS+IOS)),ISH)) IOD=IOD+ISTD IOS=IOS+ISTS 611 CONTINUE ELSE CDIR$ IVDEP DO 612 JI=1,ILL KS(IBS+IOS)=IOR( + IAND( KS(IBS+IOS), NOT(IMASK)), + IAND(ISHFT(KD(JBD+IOD),-ISH), IMASK )) IOD=IOD+ISTD IOS=IOS+ISTS 612 CONTINUE ENDIF C C 7. END LOOPS C C 7.1 PREPARE FOR END OF LOOP OVER WORDS OF KS WITIHN ONE KD WORD C ISTA=ISTA+KBPW C C 7.2 NEXT WORD OF KD IF EXTRACTION NOT COMPLETED C IF(ISTA.LT.IENBS)THEN IMASK=KMASK(1) IBS=IBS+1 GOTO 500 ENDIF C C 7.8 PREPARE FOR END OF LOOP OVER FIRST WORDS OF KD C IF(JBD.EQ.IBDL)ILL=ILL-1 ISKWS=ISKWS+ISTEP C C 7.9 END LOOP OVER FIRST WORDS OF KD C 790 CONTINUE C C 8. FINISHED: UPDATE KSKST AND RETURN C KSKST=KSKST+K*ISTEP C RETURN END SUBROUTINE GBYTE (SOURCE,DEST,IOFSET,IBYTSZ) C C**** GBYTE - Extract a single bit field. Cray routine. C C* FUNCTION: GET A SINGLE BIT FIELD FROM SOURCE INTO DEST C* C* INPUT : SOURCE(1)= WORD CONTAINING START OF BIT FIELD C* DEST = TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST CONTAINS FIELD RIGHT JUSTIFIED C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* PARAMETER(NBPW=64) INTEGER SOURCE(1),DEST INTEGER SH1 SH1=IOFSET+IBYTSZ-NBPW IF(SH1.GT.0) GO TO 2 C BYTES DO NOT SPAN WORDS SH1=NBPW+SH1 DEST=AND( 1 SHIFT(SOURCE(1),SH1), 2 SHIFT(MASK(IBYTSZ),IBYTSZ) 3 ) RETURN C BYTE SPANS WORDS 2 CONTINUE DEST=OR( 1 SHIFT( 2 AND(SOURCE(1),COMPL(MASK(IOFSET))) 3 ,SH1), 4 SHIFT( 5 AND(SOURCE(2),MASK(SH1)) 6 ,SH1) 7 ) RETURN END SUBROUTINE GBYTES (S,D,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C**** GBYTES - Extract a number of bit fields. Cray routine. C C S CONTAINS A BIT STRING OF INDEFINITE LENGTH. GBYTES WILL C EXTRACT NBYTES BITSTRINGS, IBSIZ BITS LONG, AND STORE THEM C RIGHT JUSTIFIED 0 FILL, INTO SUCCESSIVE WORDS OF D. THE C SUCCESSIVE BITSTRINGS START AT BIT POSITIONS C ISKIP1+1+(IBYTE-1)*(IBSIZ+ISKIP2) C IN THE BIT STRING S. I.E. SKIP ISKIP1 BITS AT THE START, C AND ISKIP2 BITS BETWEEN THE EXTRACTED STRINGS. C BIT ISKP+1 IN A STRING IS FOUND IN WORD IS=1+ISKIP/NBPW IN S, C WHERE NBPW IS THE NUMBER OF BITS PER WORD. THE STARTING BIT C IS FOUND BY SKIPPING MOD(ISKP,NBPW) BITS IN THAT WORD. C KWOFF IS AN OPTIONAL 7TH PARAMETER, WHICH DEFAULTS TO 0 C IF PRESENT KWOFF BITS ARE TOTALLY IGNORED AT THE START OF A WORD C THUS IF A PACKED CYBER BIT STRING IS TRANSFERRED TO THE C CRAY, WITH EACH 60 BIT CYBER WORD PLACED AT THE RIGHT END OF C A 64 BIT CRAY WORD, A BYTE SEQUENCE WHICH WAS ORIGINALLY C LOCATED WITH START POINTS IN ARITHMETIC PROGRESSION ON THE C CYBER, WILL NO LONGER HAVE THIS PROPERTY ON THE CRAY. BY C USING THE ROUTINE WITH KWOFF=4, THE ELEMENTS OF THE BYTE C SEQUENCE CAN BE EXTRACTED ON THE CRAY, USING THE SAME SKIPS C AS WERE USED ON THE CYBER. C PARAMETER(NBPW=64) DIMENSION S(2) , D(NBYTES) INTEGER SH1 IGNORE = 0 IF(NUMARG().GT.6) IGNORE = KWOFF IS=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION DETERMINED, THE C DESIRED EXTRACTION CAN BE DONE BY C*** CALL GBYTE(S(IS),D(IBYTE),ISKIP,IBSIZ) C BUT SINCE THE CODE IS SHORT IT IS INSERTED IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 C BYTE COMES FROM 1 WORD OF S D(IBYTE) = AND( SHIFT(S(IS),SH1),SHIFT(MASK(IBSIZ),IBSIZ)) GO TO 65 50 CONTINUE SH1 =SH1-NBPW C BYTE COMES FROM 2 WORDS OF S. D(IBYTE) = OR(SHIFT(AND(S(IS),COMPL(MASK(ISKIP))),SH1) 1 , 2 SHIFT(AND(SHIFT(S(IS+1),IGNORE),MASK(SH1)),SH1) 3 ) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP =ISKIP-NBPW IS = IS+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END SUBROUTINE SBYTE (DEST,SOURCE,IOFSET,IBYTSZ) C C**** SBYTE - Insert a single bit field. Cray routine. C C* FUNCTION: STORE A SINGLE BIT FIELD FROM SOURCE INTO DEST C* C* INPUT : SOURCE = WORD CONTAINING BIT FIELD RIGHT JUSTIFIED C* DEST(1) = 1ST TARGET WORD C* IOFSET = OFFSET IN BITS FOR START OF THE FIELD C* IBYTSZ = LENGTH OF FIELD IN BITS ; .LE.WORD SIZE ..... C* C* OUTPUT : SOURCE,IOFSET,IBYTSZ UNCHANGED C* DEST(1) AND EVENTUALLY DEST(2) CONTAIN FIELD C* C* AUTHOR : M.MIQUEU 08/1981 (REWRITTEN FROM J.MARTELLET'S) C* PARAMETER(NBPW=64) INTEGER SOURCE,DEST(1) INTEGER SH1,SH2,SH3 SH1=IOFSET+IBYTSZ IF(SH1.GT.NBPW) GO TO 2 SH2=NBPW-SH1 IF(SH2.LT.0) SH2=NBPW-SH2 C BYTE DOES NOT SPAN WORDS DEST(1)=SHIFT( 1 OR( 2 AND(SHIFT(DEST(1),SH1), 3 SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ) ) 4 , 5 AND(SOURCE, 6 COMPL(SHIFT(COMPL(MASK(IBYTSZ)),IBYTSZ)) ) 7 ) 8 ,SH2) RETURN 2 CONTINUE C BYTE SPANS 2 WORDS SH3=2*NBPW-SH1 DEST(1)=OR( 1 AND(DEST(1),MASK(IOFSET)) 2 , 3 AND(SHIFT(SOURCE,SH3) , COMPL(MASK(IOFSET)) ) 4 ) DEST(2)=OR( 1 AND(DEST(2) , COMPL(MASK(SH1-NBPW)) ) 2 , 3 SHIFT( AND(SOURCE , COMPL(MASK(SH3)) ) ,SH3) 4 ) RETURN END SUBROUTINE SBYTES (D,S,ISKIP1,IBSIZ,ISKIP2,NBYTES,KWOFF) C C**** SBYTES - Insert a number of bit fields. Cray routine. C C REVERSES THE ACTION OF GBYTES, TAKING FIELDS FROM S AND C INSERTING THEM INTO A BIT STRING IN D. SEE GBYTES. C AUTHOR D. ROBERTSON AUG,1981 C PARAMETER(NBPW=64) DIMENSION D(2) , S(NBYTES) INTEGER SH1,SH2,SH3 IGNORE = 0 IF(NUMARG().GT.6) IGNORE = KWOFF ID=1+ISKIP1/(NBPW-IGNORE) ISKIP = MOD(ISKIP1,NBPW-IGNORE) + IGNORE ISTEP = ISKIP2+IBSIZ DO 75 IBYTE = 1 , NBYTES C WITH THE STARTING WORD AND BIT POSITION KNOWN, THE C DESIRED INSERTION CAN BE DONE BY C** CALL SBYTE(D(ID),S(IBYTE),ISKIP,IBSIZ) C BUT THE CODE IS SHORT ENOUGH TO GO IN-LINE. SH1 = ISKIP+IBSIZ IF(SH1.GT.NBPW) GO TO 50 SH2 = NBPW-SH1 IF(SH2.LT.0) SH2 = NBPW-SH2 C BYTE GOES INTO 1 WORD OF D. D(ID) = SHIFT(OR(AND(SHIFT(D(ID),SH1),MASK(NBPW-IBSIZ)), 1 AND(S(IBYTE),SHIFT(MASK(IBSIZ),IBSIZ))),SH2) GO TO 65 50 CONTINUE C BYTE GOES INTO 2 WORDS OF D. SH3 = 2*NBPW-SH1 D(ID)=OR(AND(D(ID),MASK(ISKIP)), 1 AND(SHIFT(S(IBYTE),SH3),COMPL(MASK(ISKIP)))) D(ID+1)=OR(AND(D(ID+1),SHIFT(COMPL(MASK(SH1-NBPW)),NBPW-IGNORE) 1 ), 2 SHIFT(AND(S(IBYTE),COMPL(MASK(SH3))),SH3-IGNORE)) 65 CONTINUE C UPDATE STARTING WORD AND BIT POSITION ISKIP = ISKIP+ISTEP IF(ISKIP.LT.NBPW) GO TO 75 ISKIP = ISKIP - NBPW ID = ID+1+ISKIP/(NBPW-IGNORE) ISKIP = MOD(ISKIP,NBPW-IGNORE) + IGNORE 75 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/grsref.F0000755000175000017500000000702512127406245020344 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSREF (PREF) C C----> C**** GRSREF - Set user defined reference value for routine GRIBEX. C C Purpose. C -------- C C Set user defined reference value for GRIB code for C routine GRIBEX. C C** Interface. C ---------- C C CALL GRSREF (PREF) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C PREF - Reference value required. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C The flag variable NFREF is set to indicate that the C user has supplied a reference value and the variable C FREF is set to the required reference value. These C variables are in the common area. All other parameters C are also set to default values, if they have not already C been set by the user. C C Externals. C ---------- C C GRSDEF - Default setting of global variables. C C Reference. C ---------- C C See subroutine GRIBEX. C C Comments. C --------- C C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 25.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 28.08.91 C Changes to some comments only. C C J. Hennessy ECMWF 14.11.91 C Changes to common area. C C J.D.Chambers ECMWF 13.09.94 C Add NONOFF and NOABORT, use grbcom.h C C J. Clochard, Meteo France, for ECMWF - January 1998. C Use GRSDEF routine for default setting. C C J. Clochard, Meteo France, for ECMWF - June 1999. C Use a static variable to determine if initialisation of C default values has already been done for common area C variables. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C REAL PREF C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C C If common area variables have not been set, start by C setting default values. C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C C Set reference value to required value. C FREF = PREF C C Reference value supplied by user flag. Set to on. C NFREF = 1 C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/grsmax.F0000755000175000017500000000660012127406245020353 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE GRSMAX (PMAX) C C----> C**** GRSMAX - Set user defined maximum value for routine GRIBEX. C C Purpose. C -------- C C Set user defined maximum value for GRIB code for C routine GRIBEX. C C** Interface. C ---------- C C CALL GRSMAX (PMAX) C C Integer K. C Real P. C Logical O. C Character H. C C Input Parameters. C ----------------- C C PMAX - Maximum value required. C C Output Parameters. C ------------------ C C None. C C Method. C ------- C C The flag variable NFMAX is set to indicate that the C user has supplied a maximum value and the variable C FMAX is set to the required maximum value. These C variables are in the common area. All other parameters C are also set to default values, if they have not already C been set by the user. C C Externals. C ---------- C C None. C C Reference. C ---------- C C See subroutine GRIBEX. C C Comments. C --------- C C Routine contains Sections 0 to 1 and Section 9. C C Author. C ------- C C J. Hennessy ECMWF 25.06.91 C C Modifications. C -------------- C C J. Hennessy ECMWF 28.08.91 C Changes to some comments only. C C J. Hennessy ECMWF 14.11.91 C Changes to common area. C C J.D.Chambers ECMWF 13.09.94 C Add NONOFF and NOABORT, use grbcom.h C C J. Clochard, Meteo France, for ECMWF - March 1998. C Use GRSDEF routine for default setting. C C J. Clochard, Meteo France, for ECMWF - June 1999. C Use a static variable to determine if initialisation of C default values has already been done for common area C variables. C C----< C ---------------------------------------------------------------- C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT NONE C #include "grbcom.h" C REAL PMAX C LOGICAL LFIRST SAVE LFIRST C DATA LFIRST / .TRUE. / C C ---------------------------------------------------------------- C* Section 1 . Set values. C ---------------------------------------------------------------- C 100 CONTINUE C IF (LFIRST) THEN C C Common area variables may have not been set, so start by C trying to set default values. C CALL GRSDEF LFIRST=.FALSE. C ENDIF C C Set maximum value to required value. C FMAX = PMAX C C Maximum value supplied by user flag. Set to on. C NFMAX = 1 C C ---------------------------------------------------------------- C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 900 CONTINUE C RETURN C END emoslib-000392+dfsg.1/gribex/esvsec2.F0000755000175000017500000001600712127406245020426 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C INTEGER FUNCTION ESVSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS,ILEN2) C C----> C**** ESVSEC2 C C PURPOSE C _______ C C Encodes GRIB section 2 values for space view perspective or C orthographic grid fields. C C INTERFACE C _________ C C IRET = ESVSEC2(KGRIB,KLENG,INSPT,KSEC2,IBITS) C C Input parameters C ________________ C C KGRIB - GRIB product built so far (upto octet 6). C KLENG - Length of KGRIB. C INSPT - Bit position of GRIB product built so far. C KSEC2 - GRIB section 2 description. C IBITS - Number of bits per element in KGRIB. C ILEN2 - Length in bytes of section 2 C C C Output parameters C ________________ C C KGRIB - Updated GRIB product to end of section 2. C INSPT - Updated bit position of GRIB product built so far. C IRET - Function return status code, 0 = OK C C Common block usage C __________________ C C None. C C Method C ______ C C Packs values given in KSEC2 into KGRIB and updates bit C pointer INSPT. C C Externals C _________ C C CSGNBT - Set the sign bit. C INXBIT - Insert bit data. C C C AUTHOR C ______ C C J.D.Chambers ECMWF February 1999 C C MODIFICATIONS C _____________ C C None. C C----< C _______________________________________________________ C C Section 0. Definition of variables. C _______________________________________________________ C IMPLICIT NONE C #include "grprs.h" C C Parameters C C C Function arguments C INTEGER KGRIB,KLENG,INSPT,KSEC2,IBITS,ILEN2 DIMENSION KGRIB(*),KSEC2(*) C C Local variables C INTEGER ILALO(2), IRET, IRESOL, IZERO, LOOP DATA IZERO/0/ C C _______________________________________________________ C C Section 1. Initialization. C _______________________________________________________ C 100 CONTINUE C ESVSEC2 = 0 C C _______________________________________________________ C C Section 2. Pack section 2 octets. C _______________________________________________________ C 200 CONTINUE C C Octets 7 - 8 : Nx - number of points along X-axis. C Octets 9 - 10 : Ny - number of points along Y-axis. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(2),2,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN ESVSEC2 = 1 WRITE(GRPRSM,*) 'ESVSEC2: Error inserting' WRITE(GRPRSM,*) 'ESVSEC2: number of points along X or Y axis.' WRITE(GRPRSM,*) 'ESVSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 11 - 13 : Lap - latitude of sub-satellite point. C Octets 14 - 16 : Lop - longitude of sub-satellite point. C Two 24 bit fields. C C Set sign bit to 1, if value is negative. C CALL CSGNBT( ILALO(1), KSEC2(4), 24, IRET) CALL CSGNBT( ILALO(2), KSEC2(5), 24, IRET) C CALL INXBIT(KGRIB,KLENG,INSPT,ILALO(1),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN ESVSEC2 = 1 WRITE(GRPRSM,*) 'ESVSEC2: Error inserting' WRITE(GRPRSM,*) X 'ESVSEC2: latitude/longitude of sub-satellite pt.' WRITE(GRPRSM,*) 'ESVSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 17 : Resolution and components flag. C One 8 bit field. C C Resolution flag ( KSEC2(6) ) is not applicable. C IRESOL = KSEC2(18)+KSEC2(19) C CALL INXBIT(KGRIB,KLENG,INSPT,IRESOL,1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN ESVSEC2 = 1 WRITE(GRPRSM,*) 'ESVSEC2: Error inserting' WRITE(GRPRSM,*) 'ESVSEC2: components flag.' WRITE(GRPRSM,*) 'ESVSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 18 - 20 : dx Apparent diameter of earth in grid C lengths in x direction. C Octets 21 - 23 : dy Apparent diameter of earth in grid C lengths in y direction. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(7),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN ESVSEC2 = 1 WRITE(GRPRSM,*) 'ESVSEC2: Error inserting' WRITE(GRPRSM,*) 'ESVSEC2: number of points along X or Y axis.' WRITE(GRPRSM,*) 'ESVSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 24 - 25 : Xp X-coordinate of sub-satellite point. C Octets 26 - 27 : Yp Y-coordinate of sub-satellite point. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(9),2,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN ESVSEC2 = 1 WRITE(GRPRSM,*) 'ESVSEC2: Error inserting' WRITE(GRPRSM,*) X 'ESVSEC2: X or Y coordinate of sub-satellite point.' WRITE(GRPRSM,*) 'ESVSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octet 28 : Scanning mode flags. C One 8 bit field. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(11),1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN ESVSEC2 = 1 WRITE(GRPRSM,*) 'ESVSEC2: Error inserting' WRITE(GRPRSM,*) 'ESVSEC2: scanning mode flags.' WRITE(GRPRSM,*) 'ESVSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 29 - 31 : The orientation of the grid. C Octets 32 - 34 : nr the altitude of the camera. C Two 24 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(13),2,IBITS, 24,'C',IRET) IF( IRET.NE.0 ) THEN ESVSEC2 = 1 WRITE(GRPRSM,*) 'ESVSEC2: Error inserting' WRITE(GRPRSM,*) X 'ESVSEC2: orientation of the grid or camera angle.' WRITE(GRPRSM,*) 'ESVSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 35 - 36 : Xo - X coordinate of origin of sector image. C Octets 37 - 38 : Yo - Y coordinate of origin of sector image. C Two 16 bit fields. C CALL INXBIT(KGRIB,KLENG,INSPT,KSEC2(15),2,IBITS, 16,'C',IRET) IF( IRET.NE.0 ) THEN ESVSEC2 = 1 WRITE(GRPRSM,*) 'ESVSEC2: Error inserting' WRITE(GRPRSM,*) X 'ESVSEC2: X or Y coordinates of origin of sector.' WRITE(GRPRSM,*) 'ESVSEC2: Return code = ', IRET GOTO 900 ENDIF C C Octets 39 - 40 : Reserved (ECMWF). C Octets 39 - 44 : Reserved (GRIB specification). C C Fill reserved octets with 0. C DO LOOP = 1, (ILEN2 - 38) CALL INXBIT(KGRIB,KLENG,INSPT, IZERO, 1,IBITS, 8,'C',IRET) IF( IRET.NE.0 ) THEN IRET = 810 WRITE(GRPRSM,*) 'ESVSEC2: Error inserting dummy zero.' WRITE(GRPRSM,*) 'ESVSEC2: Return code = ', IRET GOTO 900 ENDIF ENDDO C C _______________________________________________________ C C Section 9. Return to calling routine. C _______________________________________________________ C 900 CONTINUE RETURN END emoslib-000392+dfsg.1/gribex/u2l1cr.F0000755000175000017500000000542412127406245020165 0ustar amckinstryamckinstryC Copyright 1981-2012 ECMWF. C C This software is licensed under the terms of the Apache Licence C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. C C In applying this licence, ECMWF does not waive the privileges and immunities C granted to it by virtue of its status as an intergovernmental organisation C nor does it submit to any jurisdiction. C SUBROUTINE U2L1CR (HSTRNG) C C----> C**** U2L1CR - Convert Upper case letters to Lower case. C C Purpose. C -------- C C Convert character string to all lower case. C C** Interface. C ---------- C C CALL U2L1CR (HSTRNG) C C INTEGER K. C REAL P. C LOGICAL O. C CHARACTER H. C C Input parameters. C ----------------- C C HSTRNG - String in upper and/or lower case. C C Output parameters. C ------------------ C C HSTRNG - Character string in all lower case. C C Method. C ------- C C Numeric values of each byte examined and altered if in the C range of lower case letters. C C Externals. C ---------- C C ICHAR C CHAR C C Reference. C ---------- C C Cray Programmer's Library Reference Manual. C C Comments. C --------- C C Routine contains sections 0 to 1 and section 9. C C Author. C ------- C C J. Hennessy ECMWF 09:08:90. C C Modifications C -------------- C C None. C C ---------------------------------------------------------------- C----< C C C C C C C C C C C* Section 0 . Definition of variables. C ---------------------------------------------------------------- C IMPLICIT LOGICAL ( L, O, G ) IMPLICIT CHARACTER*8 ( C, H, Y ) IMPLICIT INTEGER ( I, J, K, M, N ) C CHARACTER*(*) HSTRNG C C ASCII Representation of upper case characters A and Z. C DATA IA /65/ DATA IZ /90/ C C ASCII Representation of NULL and BLANK characters. C DATA INULL /0/ C C ---------------------------------------------------------------- C C C C C C C C C C* Section 1 . Change any necessary letters. C ---------------------------------------------------------------- C 1000 CONTINUE C C ILEN = LEN (HSTRNG) C DO 1100 J=1,ILEN ICH = ICHAR (HSTRNG(J:J)) IF ( (ICH.GE.IA).AND.(ICH.LE.IZ) ) HSTRNG (J:J) = CHAR (ICH+32) IF (ICH.EQ.INULL) HSTRNG (J:J) = CHAR (32) 1100 CONTINUE C C ---------------------------------------------------------------- C C C c C C C C* Section 9 . Return to calling routine. C ---------------------------------------------------------------- C 9000 CONTINUE C RETURN END

\\[õ[é[é[×[¯[~[D[ZØZ•Z8Y¾Y2XXW€W V£VBUêU™UcUUUeU­V VbWXXùYÐZ[<[Ú\o] ]©^ƒ_†`D`Òajbb‚bücpcÕd1d„dæeQeÓfjgg–h"h¨iioiÃjjwjÔk4k™kðlHlÁm?m½n4n©o,o¿p1pqq’qürUr rØss)sMsus¤sÊsõttBtatt¯tÊtÛtêtätÕtÖtÐtÆtºt«t t”t‰t|tptht]tRtKtFtDt>t.tsàs¢sjs1r÷r¼rŠrUrqØq‘qMq pÁpyp:poÐo—o_o"nçn£n]nmÎm‡mY±Y#XŽWùWdVÖVUUèUUEUTÐT—TVTSÝS²SœSœS©SÎSñTTMTŽTßU@U©VV‚V×WæY;Z#Z¸Zú[$[Y[Æ\w\¹\’\ì]‰^?^Â^ä^â__·`oaa›bbYb¿cIcødµesf.fãg‘h/hÃiIiÏjMjÍkHkÈlKlÉmOm×nZn×oSoÓpcpûqr!r¶sOsÿtâu×vŒww§xxtxÈyyXy¡yÝzzkzzÓ{{O{{Í| |E|†|¿|ò}}3}E}N}S}Y}^}]}X}?}|ñ|Ô|¦|d|%{Ñ{l{H{zèzÇzŠzlzUzy¿y~÷~Ï~§~~R~%}ù}Æ}£}‚}]}.|î|¨|i|6{ü{»{y{8zìz‘zVz#yêy³yyymñm¢mNlülµlkl%kçkªkpk5jøjºjuj4iöi¼i|i=hüh¸hvh8gûg¿gŠgSg'fÿfÚf¶f•frfRf8feýeãeÅe¢eeceFe/edüdßdÄd§d„dedGd+dcðcÆc•cXcbÍbyba¾aW`è`w`_‘_.^Õ^Š^K^ ]É]“]m];\ÿ\Ó\¢\Y\[Ê[‰[P[ZéZµZ†ZRZYßY¬YxYCYXØX«X{XLXWâWÂW W…WsWaWSW:W/W:WQWrWœWÓXX^X¢XêY5YƒYÏZZdZ¯Zû[R[¶\\~\È] ]K]]Ì^^D^^´^ç_4_†_¸_Ø_æ_é_å_ß_×_Ì_º_¦_‰_b_8_^Û^ ^g^9^]ï]Ã]„]8\Ó\X[Ð[=ZªZY€XíXVWºW V†UõUpTþTœTRT!SôSÁS„SKS#SRóRòSS1SZS‡S²SðT?TTüUqUáVSWyX°Y|ZZPZ“Zâ[e\\F\I\á]’^E^¯^»^Ö_2_Û`†a#a¨bbobÌcJcõd±erf2fêg hChÛihiòjpjðkpkòlvlým†nnŒo oŠppªq?qÏrOrËs?sžt‰vw wÕxYxÂyyQy•yÛzz\zšzÇzë{{N{Š{Å{þ|?|…|Æ|þ}+}M}i}v}}‡}Ž}‘}}†}\}.}|ð|³|y|I| {±{…{M{zöz¸z¡zz5y×ybxûxÁx~xw³w_vùv‚vu¸uCtÔtŽtJsæs{rÿrrqàqKp¼p&o•nünhmÌm.lšlkbjÂj,ihÏhg€fãfReÈe9dÛd®dic¹bU`D`aaiaaža„apa4`Ø_ð^Û^j]À]R\¾[úZúZYXWV UTSR>Q‹P°O©NMŠLuK_J\IeHwGšFäFnF8F]FÒGzHH®IAIÝJKK¦L%L˜MM‹N N OO™PP…PÝQ+QpQ¯QíR/RvRªRßSSSSSÌTTATtT¥TÖTÿU)UJUkU–UÉUîVV9VlV–VÁVÖVÏVÚVÝV×VÓVÖVáVóW WW WW VüVíVæVåVèVíVðVóVïVëVßVÒVÃVµV¤VV{VjVdVaVkV€VžVÇVøW5WuW³WÿXGXXÕYYaY§YòZGZ¢Zú[S[¤\\^\º]]i]·]ý^<^}^É__u_²_Õ_ï``\`Áa4aÊbŒc‰d·eâg hhÔiŽjRkkl9mmÔn…o o·pzq#q©r5rØs‚t#tÁu\uüvžw=wËxOxÎyAy¬zzŒzð{[{Á|4|¤}}{}Ö~$~m~µ~ò)V…¬ÇÚòýþüóâÒÆ®˜uP-~Ú~­~~Y~%}ô}Ñ}­}}I}|Ò|“|X|{Ù{“{P{ z¿z…zHzyÔyŠyOyx¢xRx w¶wewvÅvhv u×u›uZut¿tt:sèsºsƒs9ròr¡r\rq·q€qa¤bbPbub™bÎccLc¢dd„dðe4eUehe‡eÀffsfÛg=ggÌgïh'hlhÆiiqi½iüjCjjêk8k~kªkÐkül$lHlfl…l—l¡l¤l lšl“llltl`lDl#këk¸kwkDk!kkjîjÎjƒjOj0jièiÒi·i‹iMihh-gæg¾g³g³g gdgfŸf&e ed‡côc^bÁb$a…`á`C_£_^d]Â]$\[þ[nZÞZTYÑYkYXÑX“XVX!WíW¾W“WiWGW;W;WFW]W†W¹WáXX^XªXùYHYŽYÎZZbZ½[[|[Õ\&\o\º]]g]Á^^Ž_._Ì`T`Êadaÿb³c—dlee´fzyºycyx”x%wÁwSvýv¶vpv$uÔu‡u.tÕt}t(sÏsrsr¶rWqðq—qEpúp§pUpo¿oyo!n¶nPmñmšmIlîl†lkkjªjHiçiphíhdgÒg4f—f eÁeae&dõd¶d€d3cÎcRbÌbFa»a!`€_ã_A^¦^]‰]\z[ø[|[ZÃZ”Z†ZpZMZRZFZY×Y™YgY.XåXXWrVØVSUÛUwUTÊTT\[ã[¦[X[Z¿ZzZYXÑXžXjX/W÷WÇWšWlW9WVØV®V‚V\V6V!VUêUþVV2VQVV¾VÿWFW•WêXCXXÞY'YrY½ZZcZÆ[1[•[ñ\J\š\Ö]]>]{]¿]û^:^w^œ^À^ù_*_:_4_,_'__^â^»^•^k^9^]½]€]P]*]\Î\ˆ\*[³[,Z“YöYXX¼X#WŠVêVKU§U T}TS©SaS2S RáR®RR`RPRLRTRnR•R¿RïSSUS˜SóTQTÄU9UÚWXX´Y1Y˜YìZPZó[˜[×[ÿ\¥]|^J^£^Ÿ^Ï_L_ú` a7a¹b-b‰båcXcòd©eof4fôg­hVhôi‡jj˜kkšll¤m-mµn:n½o?oÈpYpðqzq÷rkrÐs$sCtu¥w,x\yy]y‡yy›yÅyþz^zÇ{{'{T{ˆ{Â{ú|1|p|´|õ}-}X}x}Ž}š}©}µ}¿}Ã}¿}¡}p}Y}?}|È||d|G|{´{y{@{ zÉz¥zvz)yÎyayxÀx}xwÃwtvèvvvu|utªtvt=sÐsXrÖrKq¹q)p p o{nßnFm«mlwkÔk?j¢iûiKh­gùgXf¿fJe³e0dâd¼d„cèb[_Ý_v`]`Ãaaaa`¼`&_Ë_'^]<\£[ÆZÚYñXÿXWVU SæRÖQýQDPzOŽN‹MtLbKPJFIOHaGŠFÉF:EðEüFhGGÉH[HáInJJ¨KCKÏLKLÏMXMÜNiNâO`OÔP>PžPûQMQ‰QÄRR_RŸRÝSSGSŒSÒTTDT|T´TâUU@U[U|U¥UÕUûV#VCVrVžVÅVØVÖVÙVÉVÇVÉVËVÖVèWWW VþVîVÞVÏVÌVÊVÉVÊVËVËVÅVÂV·V°V¤VšVV}VmV^VZVXV\VfVyV”V¼VðW,WnW¹XXKX•XÛY#YnYÃZ!Z‚Zß[2[{[Õ\3\Ž\å]>]]Ø^^W^©__[_—_º_Ö``i`ÜaQaôbÙcíefgh3i iÐj˜k[kòl†m@n nÁoPoíp£qGqÒr_ss«tStôuv2vÔwtxxŒyyryàzOzÁ{*{—|||ý}l}Ä~~p~»~ù2f—¾Õêý€€4€?€5€'€€ üëׯ‰]5 ~à~´~Š~\~.}ÿ}Ó}¡}k}7|ù|¾|z|<{ý{º{v{0zêz§zcz.yîy¡yZyxÀxcxwÄwvw.vÜvv>uïu²uautÅtt@sósÀsƒs>rðr¢r\rq½qvq4pöpÀpŒpEoûo¼oso>n÷n³nwn3mîmmFlóll2kÑkajýj’j-iÆiXh÷hšhDgøg«gpg1f÷f¼f‰fZf%e÷eÃe–eee9e dèdÉd¬ddndId"dcÜc¬c€cmcSc;cbýbÜb²bŠb\b*aìa¯aŽawaeaWa4a`ä`²`‡`U`#_ò_Â_Ÿ_€_e_J_/_^Ý^¡^h^*]î]¦]Z]\Ì\‹\T\(\\#\[É[‘[f[f[”[Ý\9\\ä]-]x]Ã^^X^Š^ð_M_¿`1``Yaa¶a¸aªa®`_Ÿ_B^z^'^]4\—\‚\[7Z­ZY¬Y`YX¬XWnVÒVÎW+WaW2WW-W[W°XX\XØY=Y‘YÝZ%Z|ZÃZþ[([?[Y[s[[©[»[Ú\\7\o\¨\Ü\ü]"]9]I]U]W]Z]U]N]G]A]I]Z]t]˜]·]×]ï^ ^ ^;^g^¥_ _…` `t`Ía8a˜añbbb>bjb§býc]cÐd?d„d¢d°dée'eweÞfMf¾ggTgg¿hhUh¦hõi9ioi¬iójCjj×kk6klkškÃkßkýllll l kýkùkîkÚkËk°k’k[k!jòjºjj{jljPj ièiÅi¬iiniPi!hìh±hnh gšg\g@g3g2gfÓfpeþezdõdhcÙc>bŸaþaU`ª`_Z^¶^]v\Ñ\0[”[ZoYßYWXÑXhXWÌWŽWOWVßV­V†V_VDV2V(V1VEVuV«VáWWIWWÜX8XŠXÒYYjYÇZ*ZZï[F[œ[ð\K\¡]]j]á^„_+_¾`T`èayb9c'cÿd£e7eÎfXfÓgEg­hhphÑi2i¡j(jÉk~lFmmÝn…oo¤pMpãqyr r¤sFsöt¨uJuÛv^vÖwFw¹x'xŽxïyDy‘yÔzz:zcz…z¤z¾zÏzÕzÖzÎzÀz®z•zuzKzyÈyny x˜xwœw%v¥vFv uÕu“uVutÂtqtsÎsusrÇrwr!q¾qfqpÏp‚p#oÎozo,nÔngmýmœmHml¶lJkÊkBjÍjgji¦i2h¯h'g’füfceÚeqe dÁdˆdLdcÄcgbôbsaéa\`Ç`"_}^à^J]³]\„[í[gZôZ‰Z1YöYÖY½YY‚YƒYWYX×X›XdX$WÇWPVÉV;UµU>TÚT…T:SçS˜SkSzS¬SþT[TŠU6VWWIX1YY±ZSZþ[¼\r]*^_U`baa¡bbžcccñdhdÝeMeÄfPfègŽh>hÕiSi¹jj€jðkXk³kþlIl«mmxmÐnQnßo`oÔpBp¸q0q“qØrr9rZrurr­rßssUs‹s¼sètt,t@tJtmðm›mBlîl”l9käk™kUkjàj«jkj+iéiªiri;hþh½h{hy§zzzñ{]{Ï|M|Ó}L}¶~~l~½5mžÈèû€€€D€^€d€\€X€K€>€'€€ êÄ—o<~ß~°~…~W~'}ú}Â}Š}V}|ß|›|]|{Û{“{K{ zÃzxz:yüy·ylyxËxpx wÍww.vÛvvJvu³uiu tÑt†tBtsÀs|s9rär©r[rqÉqtq1pçp°p€pDoûo³omo0nèn n^nmám¡mUml²lYkükšk6jÑjrj i­iEháh…h0gãg˜gTgfÖffjf:feße°eveJed÷dÓd²d–dkdHd"dcßcÁc«cclcFccbèbÁb£b~bXbaÆašagaEaGa1a`ë`¿`”`b`6` _á_È_¯_”_€_m_R_2^ÿ^Ò^ž^i^3]ã]›]W]\Ø\Ÿ\€\†\—\‰\Y\\\\\L\…\Ì]]R]]Î^^>^^ú_]_­_»_ó`¶a7`ð`Ù`æ` _;^ˆ^c^ˆ]í\Þ\€\3[€ZéZ™Z1YòYÀY¹Y‹X¡W¬WWW~W¼WžW{W‰W®WóXEX›X÷Y@YvYµYùZ>Z‚Z¹ZØZð[ [+[Q[l[[³[ã\%\d\\Í\ð]]]]] \õ\ê\Ü\Ç\Ä\½\Æ\Ü\í] ]*]D]^]s]’]º]ú^Q^¼_6_¯``]`¾aaUaua“aÈbbTb§cchc¢cÀcßd5ddÏe1effhf²føgFgˆgÐhh^h©häiiTi›iÞjj\j›jÖk k0kQkjk{kk~kwkqklkckZkDk1kjÿjÓj j}jYj3jiïiÅiiwi`iJi,ihÎh—hch,gëg‰g fÐfÃf²f®ff9eÔeZd×dOcÀc,bŽaéa>`ˆ_Î_^r]Î]+\…[Þ[9ZšZYpXâX[WÜWnWVÕVšV_V UëU¸UUmUQU@U0U1U=UbU›UëVQ¦Q+PÐP—PyPdPMP,POðOóP P2PfP§PäQQDQtQ°QíRGR¾SvT{UNUºV)VÇWGWÔXˆYdZDZå[£\g\ü]Š]ð^A^Ë_€`<`ìab bbêcBcžddÉe’f^g'gçh›iAißjrkk†l lŽmm¤n1nÄoVoïp‚qq›rr€rås.sdsfs+s9sïu vîxexÕxñxÇxFx6yYzAzÖ{{U{­{ë|4|t|¸|ö}0}c}Œ}±}Ù}ÿ~~/~/~#}û}Í}²}Ž}P}|à|­|k|"{ä{°{y{3zíz¢zZz y¼ypyxËxtx#wÝwwCvâvpuôuyu t¢t1s¿sJrÏrMqÉqCp¼p/o¡on~måmKl©kükWj°iÿiLh¹h g†fôf{fe…e4edÌc‰bIaka@`æ`B`D_J^Ð_ö`â`ê`j_â^Û]Ó\Ö\[:ZJYbX€WªVÃUÕTÕSÍRµQªP³OÒNãMÙLÇKÄJÔIäH÷HG0FPE‘EDáE1EÛF•G)GHDI I·JbJôKL L›M"MN NsNÛOHO¾P4P¬PÿQDQ”QêRDRRÍSSaS¯SøT3TjTžTËTõU"UMUkUŠU¼UßVV9VjV‹V«VÍVîWWWWWW WW VýVæVÏV¹V¢VŽV~VtVqVuVzV}VVV€V‚V…V†V‡V…V~VvVmVdVZVQVKVKVUVnV”VÅWWJW’WÚX"X|XÞY?Y›YúZkZÐ[([†[à\=\—\ì]:]]À^^o^Ö_-_s_§_Þ`H`éaªbObäc£dzeGf g(h=iGjAk+kùlžmAmònµop1pÍqcqìrnrüs›tCtåu}vv±wYwúx—y%y£zz€zé{V{Ð|T|Õ}O}¾~-~˜~ñ9q¢Õ€€$€4€@€Q€…€ª€¬€±€¨€­€¶€±€ž€‡€g€?€å³ˆ]%~ø~Á~“~c~4~}Æ}Š}K} |Ë|‰|I| {Ã{„{A{z¹zezyÎywy!xÏxnxw»wyw@v×vvUvuÀunutÔt~t7sðs§s\srÐrrJrqºqmqp¶pˆpLp oÖo™oQonÃn{n6môm°mlm.lùl»lvl,kÛkŠk2jÚjj,iÑiuihÀh\hg·gegfÔf™f[f&eóe½ee\e1edØd°d‹dedAdcúcÛcÊc»c¨cŠc^c?cbàbÈb´b©b‰b_baÚa«a†a_a&a`ð`Á`™`~```9``_ð_Ý_Æ_´_™_x_d_I_)_ ^ç^º^‹^`^2^]×]¬]ˆ]q]‚]Ž]s]K]5]7]L]m]Œ]¶]Þ^^+^N^g^€^’^Ë__F_…`+`©`—`Ô`é_¼^n\q\\M[Á[Í[Ã[€ZƒZYôXÙXX”X0XW£WVáWW3W$W WDW‘WÓXXSX™XÛYYLYwY«YäZZRZ‡Z¯ZÛ[[![<[Q[q[£[á\$\^\„\“\—\\}\j\G\$\[à[È[¯[©[¨[®[½[Ê[Ý[ò\\\3\U\‹\È] ]K]]æ^)^V^^÷_X_¾` `W`ªaaRa‹a²aÜb6b‹bÜc5c‘d!d»e e$eoeÍffCf€fÙg>g—gÕh hCh‚h¿hþiCii¼iéj j(j;jBjhgåg²g…gMg fÆfUeûeâeÏe¹e­esed¢d$cc braËa`f_©^é^#]d\¦[ì[7Z„YÒY%X{WáWQVÇVAUÆU`UTÙT§TyTBTSÕS¥S~S`SLS@S9S;SKSvSÉT8T±UUmU™UµUåV*V‚VãWSWÁX2X©YYYûZaZÌ[A[Ë\q]/]æ^¤_x`Ea7b`cacôdWd¾eEeìf›g>gÄh/h{h¹hÿipjjÜkÀl¯mnVoo¿p‹qTrrÑs‚t.tÞuŒv(v®w%w‹wéx@xxÜyyVy‰y·yäzz,zHz\zfzezazXzEz/z yáy¥yYyx¤x:wÇwUvâvqvu‘utªt3s´s4rÙrr0qÒqq}n}¡}Ð~~!~:~?~/~ }Ó}°}|}5|þ|Á|€|@|{Ó{{J{z³zxz*yÁyzy#xÈxjxw©w]wv£vZYÏYÍXàX8X7W4VïWVëVÅVÊV¹VsVzVÓWEWµXXQX XãYYPY€Y±YæZZSZŠZ¿Zå[[[-[Y[—[ê\!\J\[\T\J\0\[ç[º[Ž[\[7[ [[[[#[5[D[R[j[u[š[¼[ò\+\b\‘\µ\ñ]*]]ð^x^ê_6_€_Í`/`z`µ`äa&aƒaébMb²c7c¼ddNd¨dìePe£eèfFf´g gLgˆgÁhhBh‡hÊi i>iciƒiŽi—i–i–i”iii~iwi`iMi3ihùhÖhÀh¢hˆhohAhgÓg¶g‡gKgfÕf•fHe×ee}ebeJe)d×dgcæcZbÃb an`´_ì_!^P]{\©[Õ[Z8YrX¬WõW;V—UÿUtTñT|TSÔS¡SjS6RüR¿R‹R_RCR+R$R%R-RIR{RÛSWSÛTPT®TëUU.UyUâVUVÏWQWÔX]XÙYOY¾Z5Z¼[_\#\ó]µ^›_u`Uazb¢cƒdd“ee¼fzg0gÄh7h‡hÌi(i¸jukXlNm@n nõoÂp¦qwr?rùs¨tQtûu¢v?vÇw>w£wûxIxxÓyyJyyyžyÇyëz z'z8zAzCzCzEz;z&z yÞy¢yZyx¡x7wÇwRvÙvduëurtôtrsîserærƒr)qÀqaq pÇppAoùo¶okon¨n1mÅmsm,lölÄll$kÏkpj÷j{jiŸi/h¸h4g¨gfve×e/dc÷cebäbb+aàa‰a`³`9_¦_^]]¶]\`[¯ZúZEY–XòXQW¾WHVöV³VyVNV/UÿUºUuU6TöT´TsTS¼SBRÇR[RQ²Q]PôP|PFPrPÀQ=Q¶RRûSíTãUðV÷WûXîYÔZ£[~\^ _Z`D`õa™b,b¹c;c¶d3d¿eWeõf”g6gÝhziiyiÜj9j¨kkŒkýlrlÝmCmœmñn]nÁo'o“ppdpÄqqkq´qðr&rXr‰r¼rêss0sDsOs]sgsrs~sŽs›s¥s¥sŸs‘s†sosLsMsGsNsZsRs;s&srÖr¡rdrqÁq_püpºp«p—plp5oúoÆoˆoConÕn‡nJn mÊm‚m-lÖll+kÛk…k2jçjŸj\jiái©iii%háh’h>gýg»gxg7fûfÅff^f1feÞe¸e’eoeLe(edÔd¤dsd?dcËccScbàb¨bqb=baÖa£asa@a `Í`‰`8_Þ_}_^¾^^]ú]›]8\Æ\M[Ê[QZÜZmYþY”Y(XÅXlXWÃWxW2VãVŽV9UðU£UQUT·TxT:TSÑS£SvSDS RÊR’R^R,QôQµQ|QRQ(PýP¿P‰PLPPP;PSzR±QâQPaO¾ODNûNÕN¼NªN’NpN[NdN‰NÅOOOO‰OÃPP0PJP€PöQÀRŸS9S¨TT¨U[V;W:XZYjZ6[![ó\©])]~^^Í_ª`ya@aéb€büc_c¹d(dÂeˆfbg;hhÈi{j%jÃkWkålvmm™n2nÒowpp¸qSqÞr^rÏs9s sßtsísšrðrÒsGsõt»v=wtw×xSysz9z¨{{{{Ù|*|t|¼|þ}9}n}¤}×~ ~,~@~F~0}ü}Ã}š}^}|Õ||^|3|{È{{:zìz z^zy³ymyx³xTwöw‰w'vÒvuvu›u*t®t(s–s rrq~pépMo·o+n‹múmZl³lkuj¼jiAh€gçgafÉfOeòe“ePe d”cnbÜb]c d dÅdÕcaìaÂa`T_{^…]§\Ì[î[ Z"Y%X"W2V=UNTPSFR'QPOMèL¶K—JœIHžG¶FÎEçDþDWDD\EZFFGDHHãI‘J"J«K>KÚLqL÷MuMåNXNËONOÏPQPÃQQhQÄR R=RnRÎS&S^S¶TTJTŒTÎU U1UaU©UáUúUõV0VqV™VÊVõWWW%W$WW*W$WVóVÏV°VVrVZVLVJVRV[VdVkVpVsVxV‚V…VŠVŒV‡VzVlV^VSVJVFVLV\VsV“V¾VñW6WWáXNX½Y YYõZbZÞ[F[ª\ \i\Á]]X]£]ü^a^É_._Š_Þ`I`èa˜bRccïdáeßf‘g=h8iSjdkUl(lãm—nXo.pqq¯r4r°s1sÉtouu³vNvðw›xFxåy{z z‹{{z{õ|v|ö}s}÷~y~á9¾õ€+€_€€®€Æ€Ú€ê€ô $€ÿ€á€»€’€d€2þÈV~ê~°~w~G~}Ò}„}@|ô|±|o|.{â{£{[{zÄzwzyÅygyxŸxKwûw“w1vÐv‰v=uçu…uDtðtŽtSts³sisr×r…rAqüq¸qnq*páp¡pBoço›oJonÎnnGmøm³m`mlÒl’lZlkßkžkUk j¹jjjiÅisihÃhfh g´g[g f½frf,eëe«eje/dódËdšdodBdcûcÛc¼ccŽcycgcOc;cbúbébÎb¸b}b"aøaßaÃa¥a’ataAa`Ù`Â`–`m`M`2`_ù_å_Ï_¸_¢_Œ_r_N_/_^÷^á^Ô^Ô^Ê^¹^^„^`^G^-^^^(^@^o^ ^Í^ñ___^Ù^ì__8_|_ˆ``n`¯`o_^:\z\ \ZåZæ[Z‚YÅY¯Y6X0WÛW-VòVùV½VzVZV7UúVVPVÇWXWÒXXhX¼XþY1Y]YŠY¾YöZ3ZhZ‘Z¸ZÓZä[[8[}[Ã[÷\\\[ý[æ[¾[“[\[ZâZ²Z’Z€Z|ZZ†ZZZ©ZºZÈZâZú[[G[t[›[±[Ñ\\d\è]z]ö^J^…^Ì__u_½_ò`0`ˆ`èaOaÆbl­mmqmÄn,nŽnðoVo¾p$ppîqFq“qÕr r8rcr‹r²rÑrìrüs s"s:sLsVs_sisssqspsds[sWsKs?s#s,s:s6s#srâr­rsr7qøq¬q[qpÒp§p~pJpoêo¶owo3nön¢nDmùm¸mxm.lÝl‘lAkókŸkBjñj jOjiÅi”idi/hðh®hdhgÃgtg.fêf¨fnf9feØe­eŠejeNe0edéd¼d‹dVdcçc±cyc@cbÆbŠbSbaåa­ava>a`Å`‚`:_ï_“_1^Ï^o^]®]N\î\Š\[¤[)Z²ZR¢SS`SÄT0TU UzUìV`VÙWMWºXXXX„X¿Y$YYÐYäYèYéYìYêYûZ(Z5ZYÈYZXèXXcXYX_X'W¿W7V”U×UT9SoR§QÝQ P@O€NÜNhN(NMñMßMÈM§MžM´MÝNNcN¶NøOOBOgO€OÁP^Q,QÆRDRÌSGSàT¨U¨VÕXY)ZZæ[Ê\\ï]G]Ù^»_¢`waHaûbšcc~cØdEdÞeŸfsgPhhÝi”jAjßkxll—m)m¾nYnüoŸpBpáqwrr‚rúsbsÀtt)t*sÖsrÚsAt tçu–v±w€xQytzz†{{i{Ì||l|µ|í}1}k}¥}å~~2~<~>~}Þ}°}}}4|å|¦|{|]|,{ô{´{l{zÑz–zDyôy¡ySyx£x9wÙwuw v§vMuåuqtút‚s÷serãrdqàqSp»potnÞnsEsCs:s8s9s8s-s/s(ssrârµrrDr qÌqqOqpãp²pƒpPpoåo­oro/nèn™n4mÈmrm.lålšlMkük²k`k j°jNiøi®iki>ihìh·hqh(gÚgˆg5fåf”fHfeËe˜ege2edþd÷dâdÀd–dbd,còc½c‡cOcbáb¥bkb1aùa¾a†aJa `Î``H_û_¦_K^æ^^!]Â]d\ü\™\?[ß[qZúZ‚ZY˜Y'X¶XMWâWnWV§V;UÍUmU TºTtT SÕS„S,RÜR”RRR QÓQQcQ/PýPÑP£PlP;POÏO•ObO5O N×N¦N~NdNTNFN3NQ²R#R‚RêS\SÐT@T³U U‘V V‰VóW8WoW¤WóX^XÆYYYYYY%YPYjYGXþX”X,WäW§W•WšWjWV{UÏU T=SlR¢QÔQP4OgNªN MœMcMBM.MM LìLæLýM"M^M®M÷N/NRNkNŠN³OO¬PIPÊQ`QøR„S9T"U=VW¹XÞYÆZ[€\9\‘\Ç]€^œ_”`xaIbb¬c/c™cõdddøe¹f”gnh5hòi§jRjõk‘l%l·mKmåno"oÄpeqq“rrsstsÍtt@tHõI~IóJ›KHKëLuLöMsMçNPNÈODOÉPMPÀQQ{Q²QîR1R‹RìS@S˜SÜTT3TZT·UU@UžUØUêUòVVJVˆVÏWW%W;WHWLWTWOW>W!VùVÐV®VVfVCV-V'V,V:VHVTV^VhVrVzV‚V‰V‹V‰V}VkV\VPVMVPVVV_VuV”V³VÜWWqWèX]XËYL`LL¦LíM/McM„M˜M²MïN^NÞOgPPÉQnR,ST>U†VÆWÙXÄY«Z§[ˆ\\-\¨]Ú_ ``õaÂb{ccŽcìdVdáe™fogKhhÖij?jèk‰l&l¿mUmïno,oÍpnq q¢r*r¥ss|sÒttLtYt,s£sqtt¹uvvqéqžqTqpÑp„p*o×oŸoYonÒn„nBmâm™m/lÞlŸlXl,kðk¤kYkjÊjƒjYj&iéi¤igi%hßh›hMhg¬gYg f¼fxf)eße“eMedÄddPdcåc³c†c`cEc0cccbýbòbÜbÀb¥bbpbTbNb;b*bañaØaÁa°axaOa0a`Ù`¿`¦`‚`N`_è_Ä_¢_–___m_[_N_C_9_6_;_C_K_C_9_/_ ____7_R_w_–_¸_Ñ_®_¼_¹_ö_á_Û`gaea˜`¿_4]W[ ZiZÊZSYŽY‡XåXÄYX7W[V‚UÝUšU”UŸUÌVV4VVV$VBV’WW”X XnX½YYAYwY°YëZ3ZpZZ¼ZÜZö[[![$['[[[ [ZèZÈZšZXZY°Y\YXåXÅX·X¨XŸX–XŽXX‰X™XŸX®XºXÆXÛXðY/Y—Z#ZžZÛ[[>[n[¤[ø\C\‰\Ó]-]›]ý^r^ö__ý`^`´`ôa a}bbªcDc½dd[d”dÓeeYe¦eåf)f\fŠf¦fÄfÙfêgg gg#g+g)ggfûfâfÁf ffdfQf;f*f eÚeœeqeRedâdŒd.cøcÇc¤cvc+bºb/a˜`ï`A_‚^½]å]\[ZYXWV6UGTYSsR¤QñQ`PäPdOöO›OJNÿNµNmNMÉM|MEM&MM'M4MVMMçNLNÆOiP4PÝQKQ{QšQïRlRõS†T*TÓU~VV§W2WÏX‰YlZQ[6\ ]]ì^Á_»abbc„d'dœeGffßgh/hÄiLiÓjxk>lmnnûoðpäqÅr“sCsÖt]tìu~vv¦w+w£x x]xœxÊx÷y'y[y’yÄyñzz=z^z~z˜z¢zšz‚zQzyÂyjyx•xw–w v~uðuct×tJsÀs8r¸rCqÍqMpÐp]oöo–o.nØn˜nRmöm†m5ml×lœlTlkËk¡kdkj¨jDiÙioi hŸh(g¦gfŠeèeAdŽcÓcbfa¾a`ˆ_ø_h^ø^±^X]á]N\®\[XZ¡YáY&XfW¢VæV4U‡TáTBSÃSfSRÃRxR7QñQ«QgQ(PìP©PWOóO…ONÆNpN M–ML¡L§M MNDOOûPåQ÷S&TYU…V W´XÃYÔZæ\]=^‡_¦`a_bb°c+c¥d0dÒeˆfJggÉhsi iiØjj]j¡jòk\kÙlXlØmJm¯nnsnÔo.ooðpWp¸qq\q‘q¬q¶qÈqÛqôrr@rgr†ršr®r¹r¸r¸rÃrÒrÞrärìrõrþssrÿròrÖrªrwr;qùq²q{qPq/qpøpÄpŠpTpoÍo…o9nén–n>mám‹m3lßll;kækŒk1jÙj~jiÁipi(håh®h€hTh+gëg¢gXgf©fMeñeŽe@dÿd¼dxd#cçcàddcôc¾c†cMcbÝb¥bpb4aüaÂaˆaJa`Ð``K`_´_`^ÿ^˜^.]Æ]^\ï\ˆ\ [±[DZèZ’Z0YÄYQXÝXiWíWkVðVnUíUlTõT„TS£S;RÝRR.QçQ•QBPòP©PiP/OõO¹O{O;ONÖN¤NnNlØmrn n¥oDoâpƒq!q³r9r±sss×ttZtt–tgtttÍueuív–w}xxy3y©zz¤{3{¨||@|w|Æ}}b} }Ä}í~~}Ö}‡}O}|Ø|Ž|P|*| {Þ{ª{m{$zâz›zOyôy“y:xâx…x+wÄwbvüvŒvuªuEtàtjsæsnrïrcqÒqHpÊp:o‘nënfmÖm2l‹kÜkMjžiïi5h†gÒgf|f e†dùe d4deif1fe®d˜d8cçcYUXcWtV|U‹T}S]R7QOôNíMáLÉK†JTI(H0G6F2ED CB®C4DDÎEYEòF®GuH H½I9IÐJK%KÆLiLóMhMÑN>N°O9OÄPJPÂQ'QvQÏR+R‚RÜSGS«SâTTJT\ThT¶U!UzU·UÛUûV(VWV•VÛW W0WJWiWzW}WpWTW/VÿV×V±V‰V]V6VVVVV)V:VIVVVbVmVyVVƒV‚V}VtVoVoVxV„V–V·VéW-WfW—WÕX XXýY`YÜZOZÃ[%[…[á\7\…\Ì] ]R]Ÿ]ù^^^Î_<_ª`!`®adb>bÿc°dŠe{fwg[h6iiûjãkÏl¬m…nio-oípÈq²r†s9sÕtgtûu‘v)v¿wYwõx•y5yÒzo{{| |‰}}|}ü~u~Ý;‘ã€*€n€¦€Ò€ý!8Pj{‘™e6%€Ü€¹€€d€-î¬o0~ä~¤~a~!}Ú}Œ}C|í|ž|M|{¿{q{"zÏz€z.yÔy{y xÌxpxw±w>vÍvˆv1uÁu[tëtŠt9sÝs‹s%rÖrƒr6qÿq¹qnqpÖp‘pOoùo£o^o#nänœnUnmÂmjmlÐlzlkãkµkhk"jÔjxj:j iÞi±iri6hûh¾h~h9gñg¢g\g fÁfwf0eêeœeZedØd•d[dcÚc¦cocLc"cbñbábØbÐbÌb½b«bb‡blbXbRb?bb aýaæaÒa¹a‹adaIa(`ø`á`È`¥`ƒ`N`'_ø_½_£_—_Š_€_s_e_S_J_6_,_>_I_L_T___a_____`_s_”_¾_ã_ú`_ü``&`5```øaáa÷`ß^®][Z)Z’ZˆY'X>WùXWõW#VtUÍU‚UbUdUU°UôV(V*V3VFVuVÃW8W«XXzXÇYY7YiYœYÝZ.ZrZ¢Z·Zá[[[ZíZÚZÉZ¸Z§Z–Z~ZaZ.YêY›Y?XñX£XjX9XX WøWêWÖWËWÁWÄWÈWÕWâWîWøXX?X¥YYwYªYåZ"ZfZ¥Zð[=[…[Ì\*\–] ]Œ^ ^–__}_Ø`D`£`öaMaàbnbåc;c‚cÄddRd•dæe'ene¤eÐeöff1fKfefwf‰f“f—fœf’f„fnfRf.feîeÒeÂe¬eže†ehe9edÞd¢dYdc¯c}cXc1bÿb¯b6a¦a`Z_¨^æ^];\K[PZHYAX6W.V.U;TSS\RtQœPæPSOÔO]NåN†N6MëMšMELîL–LBKýK×KÊKÞKüL!LJL–LÿM‚N!NåO±PCP„P¨QQ‚RR©STTTºU[UöV…W,WðXÓY»Z¯[®\¦] ^Z_E`œb c:dde[Ù[rZÿZŽZ-YÖYyYX¢X1W¾WGV½V5U¨U#TTSžS&R½RVQõQ‹Q2PíP™PGOöOªOhO-NùN¾NN?N MÛMªM{MLMLòLÂL”LRLKðKºK‘K{KvK‚KŸK±KÀKÝLLL)LrLÛM`MÑN'N€NÖO?O·P:P»Q;Q®RRSS¢TTRT²UU`U³VVqVŽV•V VÄVòVìVªVJUøUºUxU[UZU-T¿T+SwR±QâQP@OqNŸMËM L\KÑKvKDK#KK KKK K/KMKTKiK“KÁKàKèKèLLnMMáN­OoP3Q#R@S”TëUëVÇW»XÐYû[[ž[Ú\^]r^¸_Þ`Õa¯bsccžd d…eeÚfªgyh:hõi©j\k k²lUlòm‰n#nºoSoòp’q+qºr@r¶s"ssÖtt^t¡tÝtøtàt£t¹uTv€‚€¶€å ,LmŽ¡±³ŸŒrL/ €î€Ì€¡€p€9ú¸|:~î~¦~[~}Æ}u},|Ý|“|B{ð{£{\{ z¸zgzy¸y[yx§xPwûw–w:vÍvpvu²uStÖtgts®sTrør¬r[qýq¤qpq5pïp§pRpoÄoxo nán™n[nmÌm‰m7lïl¡lTkøk¡kek#jájŒj7iñiµiviOi/høhÀh…hHh gÉg‰gCfùf¸fqf3eêe¤e^ed×d“d\dcÜc¡cec6cbçbÅbµb¤bžbb˜bŠbŠbˆblbXbBb7bba÷aãaÖa¿a¥a…agaGa`ú`Û`¹`”`q`G`_ê_½_¡__ƒ_u_l_d_Z_L_=_1_1_<_<_K_g_r_}__«_Å_á``8`U`[`}`Ž`m`?`eaaÃa›`Ž]ÿ\^Z…YáZ YìY/W‘W‚W^VÒVdV UžUyUeUcU`UmU¯UýVVSüT¦UGUàV‰W]X>Y+Z4[?\b]q^^ì`La³bäcÍd‚eEf f»gdh h·iZiúj¦kqlRm@n5o#ppöqÆrˆs1sÇtStÝuluþvŒww†wñx?xˆxÔyy\y yãzzNz{zžz¹zÍzÑzÊz¬zyz5yæy”y:x×xhwèw[vÅv.uut‰tsrýr~qþqzpüp‹poœo"nÎn~n3mûm¦mPlÿl¤l_l/kçkªkok+jðjj.iÉibhÿh—h-g¼g@f¶fedÞd4c‡bÔb-a‹`ê`I_¨_ ^^]ª],\ \[cZºZYLXŒWÃVûV3UqT¶SþSLR¦RQ’Q P®PQPOÕO•OTONÈN{NM¢M5LÔLwLKªK+J²J‰JÐKlL@M!MûN÷PQHRuS›T¾UÖVëX Y:Z^[y\ƒ]|^_Ä`åaÇbsc c›d(dÀetf?ggàhƒhþi]i¯i÷j6juj¹kkˆl l‹m m‡møn_n¸ooioÅppsp½põqq'q@qcqq¤qÈqçrrr,r=rFrGrSrfr}r”r©r³r¿rÃrºr±r–rqrDrqÛq¢qdq/qqpôpÙp¯psp.oåo˜oFnònžnCmãm‡m/lßll@këk’k7jÖjtji·iki*h÷hÁh†hDhg¿grg'fÜfƒf(eÌemed¾dnd%cëc´cucWc[cSc;c bÔb£bkb5aûaÆa‹aOa`×`š`Y`_º_`^ù^Œ^!]µ]G\Ý\~\ [[-ZÂZTYèY{YX³XMWØWiWVŒVU{TêT\SÏS?R·RCQÝQqQ PžP:OìOžONNùN¥NdN,M÷M¿M…MFM LÛLªLyLJL!KÿKÚKªK`K)JýJÒJ°J’J‡JŒJ¢J»JÖJðK K)K?KtKÏL@L¢LäM-M~MßNTNÛOfOîPoPàQLQÉR^RêS_SÅTTdT«UUkU¥U¸UÆUåVVUÞUU3TùT¹T¥T ThSòS[RªQâQPCOyN©MÚM LMK§K)JÖJ¡J}JfJ_JjJmJzJ˜J¶JÆJÒJæJÿKKK)K[KÎLMRN'NïO½P½QêSQT¢U‹ViW|XŸY»Z½[j[É\`]k^œ_¿`½aœbecc ddŸe@eüfÊg˜hTii¹jnkkÄljm m¡n:nÎogpp¢q8qÆrGr»s%ssÓttdtªtòu0ugucuuyv¼w}wøxnxçyMyÖz|{{—{õ|F||Ð}}H}o}–}¸}´}ž}c}*}|ð|Ä|ƒ|={û{¾{‚{G{z¯zZz yÊybyx§xHwéw‹w1vÎvivu•u"tÂtatsr÷rsqäqJp½pCoÌo+n™nm{lÕl(kwjÆjidh°gÿglfèfVeÍdædàg g´g/geÔdådUcëcgcb­aîa+`m_±^ù^3]f\ž[ÂZäZYXlïl¨lRl kµkdkjâj•j?iõi¤ihi#hèhÂhhqh7hgÎg“gRgfÚf˜fZfeÛe™eTedÏd’dTdcÒc’c\c'böbÊb¥bŽb{bzbxbzblbfbcbSbCb.bb baøaðaÛaÍa·aa‚aVa6a `ä`Ä`š`v`L`#_÷_Ì_°_Ž_‚_s_b_a_^_Y_G_:_@_B_>_J_[_h_y_Ž_©_Ë``(`J`a`€`”`¨`¤`u`a¾aoaN_Þ]f[µZ)Y¹Y'X–XrW?VóVÄVLV UàUªUŽUdUNU8U5U€UôUþV0VVíW]WÆXXfX¥XÝYYEYgYˆYµYïZ)ZSòT–U>UñVÍW±XŸYžZ©[Û]]É^¿`ahbŠcjd5e)f fÄggh h·iejjÌk›lymcnLo1ppôqÄrs+sÆtStÚucuóv€wwˆwõxNxŸxóy@y‹y×zzUzˆz¯zÌzßzìzèzÐzªzoz&yÕyƒy*xÈxXwÙwGvªvuƒut‚tsŒsr‹rqypóp|po’o7nänšnQmüm«mXlñl—lIlk·kzkDjÿj¶jPiëiƒih¼hVgègvfûfpeàeFd¥dc\b²baz`Û`3_^í^X]Ù]W\É\9[£[Z\Y°XúX@W}V²UæUTWS‘R×R"QzPàPTOÕOgONßN¡N]NMÆMrM L•LKºKYJþJœJ(I´I}IµJYK:L)MNO1PPQuR–S±TÇUçWXEYmZƒ[’\•]£^Ñ`aaébcBcÎdWdùe½f’gdhh—hýiQi¡iìj,jkj³kk†l l•mm“mÿndn¿ooooÃpp^p•pÁpåq q1qPqqqŽq°qÉqÝqùrrr$r0rDr_ryr“r¥r®r­rœr€rar9r qÚq¥qrqCq"qqpìpÊp›pXp o¾oqo%nÐnxnmÄmlmlÅlolkÂkfkjŸj@iàiiFhÿhÊh—hYhgÒgƒg6fâf•f@eÞe€e%dÍdwd+céc²c}cKc-ccbâb»bb[b"aæa¬ata5`ø`¼`~`<_ï__>^Ò^_]ê]~]\§\<[Ó[dZëZZ-Y»YAXÅXPWÝWxW V™V/U½U;T®T%S–SRtQåQnPýPŠPO³OMNíN¡N[NM¼MqM2L÷L¿L‚LILKÝK­KKTK0K JáJ®JhJ,I÷IàIÓI¹I­I¯I·IÃIÝIøJJ0JSJ‚JÉKKXK‹KÍLL}LõMyN NO$O¢PP‡QQµRLR¹S STS—SíTeT´TÕTéUU>UDU TµTmT6SùSñSäS›S!R†QÓQPGON¶MéMLIK’JøJ€J1IÿIØIÀI¼IÏIÜIïJ J$J7JDJPJcJwJ~J JêKjL&MMÑNO`PgQ£STRUzè{Š||‰|ÿ}s}é~U~¹rÄ€€Z€™€Ò=oÈç÷óêÙ£U0€Ì€©€x€D€Ê‡B~ô~—~7}è}Ÿ}J|î|Œ|@{ú{«{^{ z±zQyöy§yUyx«xIwÐwow*vÛvŠv&uÃuctÿtt2sås|sr¦r@qáq}q.pÒp€p9oòo¿o€o:nðn¥nWn mÇmwm0làl˜lKlk·kck j×j—jPji°i^i&hÙh…hFh'hgÜg¥gogZ)ZYðY×Y¶Y›YuYLYXÜX–X>WçWW?VôV¬VuV:VUäUÁU—UmUCU!U UU UU3UUU…U³UèV%V|VÑW!WlW»X X\X¼Y3YÃZ:Z¹[S[Ù\C\œ]]Z]²^K^Ü_U_Â``i`ÈaaaÚb6b‰bßc,cjcªcÜdd;ded€d˜d©dµd¹d¶d«dŸdŠdqdVd@d*ddcïcÝcÊc³c’ckc7bëbÂb¡bwbUb$ba»aI`¶`_d^¨]Ö\ù\ [ZXñWÙV¶U—TySaRTQTPkO”N¼MïMELÄLLKîK‹K?JåJxI÷IbHÎHCGÚG‡GcG^GeG§H,H¬I0I±JIKKÊL‰M/M´N1NÈOsP)PëQ»R„S@SíT¡UiVCW#XY Z[5\f]i^|_âa-b9bïcµdÜeïf¾gmhhÂivj3jõkÇl¢m…ndoFppôq¼rxs&s¾tKtÒu\uëvww“xxlxÃyytyÅzzUzŒz»zÞzõ{{zózÏz z_zyÈywyx½xJwÃw1v”vu|utts«s-r©rq“q p‹po±o^o n½nimÿm·mlml§lBkÛkkgk0jãjjiºiNhçhƒh g°g8f¹f-eœeddcÆc-b“aüa]`Á`_o^Ç^)]“\ÿ\i[Ð[8ZœY÷YNXWæW*V`U‘TÁSøS)RbQ¢PèP7O•O NŽN,MæM£M]ML³LZKñKxJùJJ4I×IxIH«HpH‰IJ KLM"N6OPPrQ‹R¤SÂTçVWLXuY…Z’[¤\³]Ñ_ `Aa=bbËcfcïd€e2ffÔg„hh„hæi>i’iÙjjTj©kkˆll•mm‘mün[n¸oo]oªoôp4pjpžpÍpúq#qHqiq„q–q¨qÃqàqúrr'rUÊUWTßT_SÚSZRÎR;Q¬Q#P¬P+O­O6NÄNaNM¯MeM LÒLƒL?LKÉK‰KQK JðJÁJ–JhJ?JIìIÀIŒITIHóHëHåHéHêHáHÝHóII"I:I`IIÃIýJ"JFJ†JÏK K’LL¦MBMÓNZNÕOHOÍPkQQ—QïR;R‹RÞSKS´SðT T#TZThT4SæS¤SpS9S4SRÊRJQ­PüP|{Í{‰{=zêz}zy¥yAxÛxsx w¬wMvðvv5uìu£u2t½tAsÀsvsr‡rqcpÌpKoÈoQnËn*mŒlülPk¬k jTi¢hÜhgf›eüf gg-fAferddd*dddc“bÁbaN`™_ç_5^€]Á\ú\4[oZ˜Y»XåXW1VTUmTxSmRSQ&PNëMÇL¦KqJ>I GêFÐEœD]BåA¡ArAëBkCqD‰EJèKˆL L…LòM`MÊN9N¿OMOÔPQPÖQLQ¼RRhR¾SSkS¼TT3TQTyTÒUUIU‘UÍVVVV”V¾VáVõWWW(W(W$WW VøVâVÆV¢V|VOV%UüUÞUËUËUÚUñVVV1VGVXVmV€VVžV±VÊVíWW>WqW›WÙX%X{XÉXâY YŽYõZ`Z»[[][ª[ü\Q\Ÿ\á]#]l]½^ ^b^Ð_Z_ë`m`ôa¯bcTd/dìe¯f”g€hrikjWk8llØmÈn¿o¡piq$qìrÅs¤tnuu²v9vÄwOwãxzyy¸zd{ {¢|*|¦}}‘}ý~f~Ç#}΀€f€©€å'd‡©æ‚‚ ‚ þîÖ·”i; €à€¶€x€?€Î†@~ê~~/}â}˜}=|Ø|j|{Ç{Œ{Dzéz†zy°ySy xÆxmxw©wAvÞv„v2uÜuŒu2tÅtQsès¡sKrïr„rq¸qNq p¢pBoýošoBnÿnÈn‡nLnm¼mjm lÓl~l7kåk kVkjÂj|j_1_4_4_<_=_A_K_O_W_d_q_€__—_¤_¾_à` `-`W```µ`ÅaUa²a`ù_<\¬\ZêYÝY¦Y'X”WÆW0WVÜV”V^VVUµU[UJUTÿUŒU¢UÃVVsVàWTWÍXXQXvX³XêY&YKYtYY¾YéZZZYñYÑY±Y“YYcYAYXæXµXlXWÅWiWV¹VqV#UãU¡UmU;UTÞTªT}TMT(T T TT-TTT|T«TßUUqU½VVhV¶W WYWµXX•Y Y“ZFZÏ[F[¶\,\x\Ï]i]õ^n^Ë_$_q_Ô`5`ŸaaeaÃbbfb«bðc*cac’c¶cÒcæcõdddcúcñcÝcÊc³cŸc‹cycecScDc.ccbâb¾bˆbUb2baÿaÔa§aK`Ð`3_ˆ^Ï^]3\H[VZUYFX0W UèT¿S–RnQVPQOcN–MÈMLUKÐK]KJ«JWIóIyHÞH3G…FâFcFEØE¦EˆEØFƒG*GÔHuIIÎJ•KWLL²MDMæN˜O]P%PüQËRSLTTáU»V˜WŒX”Y­Z³[Ù\ó^_`÷aùb§cad‹e¹f§gsh(hÛiŒjIkkïlÆm¢nyoRp&pøq¶rpss¶tGtÎu_uõvw#wªx$xxîyQy­zzJz‰z»zâzÿ{{{z÷zÍzšzXzyÃyvyx·x>w²wv‹uÿuut¨tEsÛs^rÚrVqÊqCp¾pOoèoŠo1nÞn…n$mÍmtml¾lUkèk£k[kjÂjXiòii$h¹hLgÞgkfîfkeâeSd¼d#cbùbhaÚa?`_ô_I^—]ê]@\œ[ü[\Z¾Z"YXØX,WyV¿UøU,TVSR­QáQPQO–NéNIMºMFLîL—LBKéK‹K*J¼JAIÅIRHôH£HJGîG“G\GkGíHÖIõKL&M6NMOjP…Q¡RÀSëU"V[WXYZ«[Ä\á^_[`~aybJböc‡dd­egf/fäg€gýhkhÍi)i|iÁiþjDj›k k‹l l‘mmmínOn£nño9o~oÃppIpƒpºpíqq=q]quqŒq¡q½qÚqór r)rArWrhrprqrfrMr'qõqÄq—qnqGq&qqpûpãpÁppEoøo¯o`onÇn|n.mÝmŒm6lÞl€l"kÀkakj£jBiæiŒi3hêh®hhh&gâg…g0fáffFe÷eœe=dÛd‚d,cØc”c[c.cbÊb›bwbYb>baöaÀa‚a@`þ`¹`x`6_ò_£_L^ì^ˆ^]”])\Á\T[æ[qZýZˆZY§Y@XåXX WƒVùVƒVUˆUT˜T S}RøR}RQuPáPUOÖOQNÏNWMæM~MLÅLL@KõKŸKMKJÒJ”J]J+JIÒI§I~ITI'HüHÓH§HyH>HH H HHHH HH.H?HJH`HŠHºHìII#III“IÙJ4J¶KBKÛLuM M’NN‘O&OÑPhPÎQQQÙR=R¹SS&SDSuSSRSRÙR¤RzRyRUQ÷QpPÒP#OfN§MèM$LXKŠJÄJI‡I%HáHµH‘H{HHŸH¿HÑHìII9I\II¢IÌIýJ@J§KBLLÇMXMåNÎPQRØSÉTÀUëVâWÑXÌY«Z•[‚\Z]Y^_…`naLb båc—d;dÛefVg!gæhžiVjjºklllÈmimþn”o#o²pIpÚqfqærXr¿ssqs¾ttEtˆtËuunuÓv8v ww’xx€xây]yõzŠ{{…{é|>|‰|À|î} }-}G}R}R}|ò|Ø|È|­|v|>|{Û{¨{h{zÐzz!y·y@xÌxfwøwƒw v£vDuæu›uXtêtssúsus&r¿rEqÈq:p—po¢onmýmalµlkxjºji\hgfeOf€hhf eZdºc…cDcêd/dHdc–cbka´a `V_¤^ð^>]‚\¿[ÿ[2ZfY“X¹WäWV3USTdSjRYQ8PNöMÔL¯K€JPIGñFÎE©D[BÓA‘A2ABCD7DéE„F FÖGH#HÁIcIýJ­KKKÊLIL½M*M•MýN~O O“PP QQŽQöROR§RüSRSœSâTT:TpTÄTøU:UƒUÃVV@VsVžVÁVÓVëVüWWWVþVõVæVÔV»V›VyVOV&UûUÙUÀU»UÅUÝUöVV(V>VRVgV}VV§VÀVàWW1WbW™WÍX XDX„XÅXûYEYªZZpZÇ[[`[ª[ö\E\–\Þ]']n]¿^^m^Ö_V_ç`p`úa¶bcod\e+eåf¾gªhšiŠjukSllémÐnÅo§p~qHrrîsÆt•uFuÚvavåwjwúxy5yÝz‡{({¿|F|Â}5}¦~~v~Ô.Ï€'€q€¹€ú9f€´‚‚‚‚‚÷ݾ˜sH€å€´€€F€Ì‚9~ß~ˆ~/}Ü}„}(|Æ|j|{È{ƒ{0zØznzyœy9xìx•x7wØw|wv¶vNuäu‰u:tùt“ts—sOsr­rEqÎq†q8pãpwp oÂo]nän”nVnmâm£mdmlÃlpl!kÌkzk4jéj­j^jiÑiiKhùhÁhuh/gégªghgfèfÁf›fbf3feÚe²e‚e\e3edËd‘dZd#cêc¶c‚cRcbòb½b”bdb8bbañaÁaÄaÉaÊaÆaÉaÔaÈa®a«a¼a¤a‘ayafaTa8a!a`ç`¾`›`o`C`_ô_Ð_§_†_f_M_:_______-_3_B_Q___m_€_“_¡_±_´_Ç_ì``F`X`h`ƒ`»aga¶aS` _]’\Ö[7YÊYéZ|ZXnXWØWWWV­VYVUªUUU#TÝT´UU1UHUšUòV`VÔWUWªWìXXdX¦XÞYY8Y\Y{Y›YµYÂY¹YŸYuYUY;YY XçX¿XˆXDWÿW©WPVèVV6UéU–ULUTÅT‰TMTSàS¬SuSGS#SSS(SHSvS¢SØTTmTÁU UgU¿VVoVÂWWpWåXiYY¤ZKZÕ[L[º\\•] ]z]Ù^8^‰^æ_N_µ`+`’`ôaGažaìb/bxb°bàccc.c?cKcJcNcLcGc:c*ccbïbÜbÉb»b§b—b†bwbkbYb7baâaÄa²aˆaB`×`J_­^ü^=]n\Œ[œZ¡YŸX‹WrVGUSâR¬Q€PYONN]M’LÔLKmJåJxJIÎIrIH€GÓGFREŸED”D:CÛCéDgEE¦F]GGäH¢IfJ/JûK®LTMMÇN˜OgPAQQéR«SzTUU,V W X(Y[b\]Í_U`¹a¼b|cHdje˜f‘gwh?høi¤jck5l lÛm³n‰oWp,pñqªrZss­tHt×uqv v§w@wËxEx³y!yŒyéz=z‚z¶zßzý{{){/{zúzÊz“zOz yÆyyyx²x0w£wv†vuu*tËtjts—sr’rq…qpŽp"o¾oaonn;mÙmvml°l\lk¶kak j§j;iÕiihûhŒhg§g0f¯f%e•edncÚcJb¿b6a§a`p_Ä_^_]¦\î\?[–ZïZNYªYX[W¬V÷V>UvT¡SÍRôRQJP|O³NïN8MŒLðL`KìK„KJ²JNIéIwHôHsHG¨GYG F¸FmF?FKFÅGªHÌIùKL,MAN^O€PœQ½RðT,UlVW±X¶YÐZò\]S^”_¼`Åa¯bvcc¦d:dÜeŽf>fágngêhUh·iibi©iìj9j—kk„ll„lûmjmÏn'nrn¶ooOo›oäp*pip§pÙqq'qHqfqzq’q¬qÆqÝqørr$r5r:r2r&rqïqÁqq_q:qqpùpèpÙp¾p“pUp o·omo$nÜn—nNnm·mcm l¯lLkçk†k(jÐjzjiÄimihÈh„hdÛd€d(cÒcc;cbÞb·b‡bTb'baêaÄa˜a_a `×`Ž`H`_Ã_u_^Ä^b]û]Ž]\¥\:[Ë[XZÝZ^YåYnYXœX>WØW`VÝVPUÐUTTØTTSËSDR´R&Q¡Q&P¢PO‡ONMüMyML LJKõK¥K\KJ¾JgJ(IèI IhI7IHïHÅH–HiHCHGòGÃG˜GtGOG5G1G5GG?GMGVG^G_GcG}G¦GÏGóH H$HgH­HõI\IâJ{KK±LDLÐMVMçNŒO-O§OþPhPØQCQ¶R R6R\RŽR“RgR2R QØQ¹Q¼Q‰Q!P”OòOENŽMÔMLIK„J½IöIGHÀHgH/H GéGÖGãHH(H=HXH‡H¾HøI0IaI˜IßJ;J·KSL L¸M1MÃNÓP=QšR¿ST•UÍV·W•X‰Y{Z‘[˜\p]X^z_y`Na+bbÕc†d1dàežflg9gþh¸injjÒkˆl>lëm‹n&n¹oGoÕpfpôq|qõrerÊs%sxs¿ttFt…tÉuunuÔv>v°w%w˜xx®yy–z z¤{{{Ú|0|||º|ñ}}5}B}F}2|ù|Ï|°|œ|‡|e|,{ê{¯{p{0záz“z>yáy€yx¼xrxwtvÑvUuöu”u9tét•t!s£s$rËrrqþq†qpcoôo€nõnnmám2l}kèk8j‰iÊhñh"fÿfug>g2g:g emd–dc5bìc¾d céc•c5b¹bae`·` _]^¯]þ]G\…[¾ZùZ1Y\XŒW¼VâVU0TJS]RTQAP"OMÝL±KƒJNI&GþFÏE²DjBãA–AA\AîBßCæDšE@EíF£GQGèHŠI)I¿JiKKŠLL‰LûMdMËNCNÈONOÐP\PàQWQÉR-RŠRÞS/SvS¾SöT'TaT«TûU:UoU°UðVVFVzVV²VÅV×VìVòVôVêVàVÓVÀV©VVqVKV%UùUÔU¹U°U³UÈUæV V'VAVSVdV{V‘V­VËVïWWMW€W¿WÿX9XnX¦XáY$YrYÉZ$Z{ZÎ[[][£[í\;\‹\Ö]#]r]Å^^v^Ü_Y_ç`xaaÊb›c€dveZf fùgëhÝi½j›kzlBmmÝnÀo p„qbrBssót¿unvv†wwˆxx©yOyüz§{G{Ø|Z|×}J}µ~~~~Ú2t»€€a€¸7d’Çý‚‚‚ ‚ ‚ãÅ™qG€ã€µ€‚€G€ Ê}-~Ò~v~}Á}c} |¿|x|2{ä{”{1zÑzeyýy—y0xÙx{xw¯wVvýv›v-u·uPtâttHsÃsYsrÅrerqœq?pèp‡p/oÌoonùnŠnFmûm¶mym5lél›lQlk¿kkkjÉjj9iêi¨iZihÑhhKhgÈg‡gKfÿf³fuf@feàe¿ee`e3dñd¶dd‰dldEdcÚc¬ctcFcbîbÇb–bub@baâaÄaŸaga|aƒa‹a‹aa‡a†a|a}a‰aqaZa=a.a`þ`å`Ê`±`Ž`r`C`"_ò_Ð_®_‰_m_H_4___^ê^é^ï^ù___*_8_O_h_}__Ÿ_±_¿_Ø_ë```.`8`R`—`Óaa}`S_@^k\àZÓY–YÛZ¸ZaXX"XVïVfVEV UÈUoU#TÍTlSôT$T{TžTïUWUËV@V¼WWbW·XX[X˜XÍXòY YY.YGYWYSY?Y$XýXâXÃX¬XX^X'WÚW“W5VÛVtVU¶UYUT°TdTSÒS‘SSSR×RœRgR:RRR$RBRjR”RÌSSmSÌTTvTÐU.U“UßV1V€VîWVWßX–YRYÞZMZÍ[.[¦\\\ü]P]ª^^k^Õ_N_½`!`€`×a-awaÁaøb#bGb`btb„bbšb¢b¥b¢b™bbxbgbRbHb6b(bbbaöaòaåaËa¨a‰ana[a*`Ñ`\_É_'^k]¤\Ð[âZõYðXìWÖV¶U‚TASQÃPObNRM_L“KàK:J—J I¢IJHøHH)G”FÜFEBD‚CÎCBBÕBqBƒBíCqDDãEºFGtH@IIåJ®KpL-LüMÕN²O”PoQFRRæS»T™U‚V‘W¯XÂYÑZö\3]_`~a‹b]cGdre¤f¦g•hji&iÄjxkEllìm¼nobp.pèq›rJss¼t`tùu”v-vÑwkwõxoxåyZyÇz'zsz°zÚzú{{,{?{={'zþzËz•zVzyÖyˆy&x¶x.w¢wvvuªuGtît˜t5sÏsSrÕrTqÓqRpÔp^oñoˆonµnBmÖmsm l¡lOlk²kWjøjj!i±iBhÑh]gègmfífceÖeEd±dccbtaîac`Ê`+_„^Ò^]]\Ÿ[æ[4ZƒYÖY)XzWÇWV`U£TÜTS)ROQqPšOÅN÷N+MkL³L KiJÙJXIßIhH÷H‹HGšGFFHFE¼EtE8EE/EšFoG’HËIøKL3MWN|OšPºQïS4T€UÂVêXY ZL[{\­]ã_`aaêbžc5cÀdQdòe›f>fÕg[gÐh=h¦iiOi’iÚj1j•kk|k÷lplâmFmžmìn5n€nÍo!oroÅppMp…p¶päq q,qAqUqhq~q˜q¯qÇqÝqéqòqðqãqÊq­qˆqZq-qpìpÛpÏpÁp®p‡pRp o»ojo'nên®non*mâmm8lØlvl k£kFjîj•jDiøi£iIhñhŸhShg¢gEféfwfeÒeƒe1dÑdqdc½cmc%bâb³bŽbdb5baÖa°aada4`ù`µ`d`_Ï__O^ý^ž^9]Ñ]h\ý\\[¤[2Z¹Z@YÆYRXÜXhWûWŽWVœVU‡U T™TSRþRtQèQ[PÔPNOÅO8N¶N9MµM5L³L7KËKpKJÈJƒJAIôI™INI HºH~HOH(H GàG°G…GeGBGFëFºF›F‚FjF^F[F[FaFlF~F‰F‰F†F‡FF¡F½FÔFéFþG"GfGÉH)H›I,IÂJ]J÷KL"LµMRMøNNãOVOÒP=P›PÿQNQxQ£Q QzQYQ7Q PúPýP¹PFOµONjM´LüL9KrJ¦IÞIHtGíGšGnGQG:G-G>GnG˜G¯GÈGþHGH‘HÚIIfIÂJ+J³K\LL«M,MãOPLQzR“S‡TƒU¬V—WXuYqZ¡[²\‡][^m__`,aaìb½ctd(dàe¨f{gHh hÅiyj-jék¤lZm m°nInØoeoópq qŽrrvrÙs3s…sÊttQtŽtÐuuyußvLvÄw=w·xExàyayÕzLzÁ{'{}{Ð|#|s|¸|ì}}#}"}"}|Ë|¢|ƒ|e|M|5| {Í{z{*zæz›zKyðy“y/xÍx€xAwÜwPv£vu£uBtàt{t/sÆsMrÈr]rq¬q?p²p oºoAnºn2m™lêlIk·kj*iShŒglfÏg¡h¤fÝf‚f ecác2b´bÀc‘c¼ccGbâbUa¹a`h_Ã_^g]¶]\K[„ZÀYôY,XdWV»UãUT+SBREQ>P#OMßL·K…JMIGúFÏE¬DyCA­AAWAïBÆC«DeEEÐFG!GµHTHïI‚J+J¾KJKÑLQLÊM2MœNNOOŒPP§QQŽQ÷R`R·SSNS—SÞTTIT—UUEUoU¨UÕUïV#VgVˆVšV¯VÀVÔVàVçVáVÒV¿VªV“VzV`V@VUòUÐU³UžUŸU·UÛV V)VFVWVcVvVŽV®VÑVûW'W\W–WßX(XiX XÔY YJY—YéZ7Z…ZÏ[[[[›[á\+\w\Ç]]l]Å^#^€^â_Z_æ`‚a(aÞb­c‹duebf@g-h"iiójÃkžlfm%mïnÁo›p†qxrksJttãu•v)v©w)w£x(x½yfzz¿{]{ð|t|í}Z}Å~'~‡~Ý.pµ€€K€¶7d¦Ôéú‚ þ‚‚â¾’nD€ä€¹€€D€¾o~Ä~`}ú}™}I}|Â|Š|H{ü{¡{?zÜzuzyžy6xÎxjwÿw–w6vÓvxv ušu2t¹tRs÷s‰s%rÒrr q³q]qp£p?oèoŠo$n³nfn$mÊmsmlÈlglkÏkyk*jßjœjPj iÄii1héh¥hWhgÉgg7fûf¿f}fHfeÍe€eZe&dódÊd›ded:dcöcàcÄc¡cycPc#bùbÎb¨b…b\bYÆZYôW\W©W¾V´VU UNU)TÜT—T-S¨SS+S¬SûT`TàU`UÜVCV¢VøW_W¶XXJXvX–X X¥X²XËXßXðXÞXÈX¨XXvXRX:XWÉW{W(VËVlVUžU>TØTzTSÃSoSRÔRŒRIRQÂQ‡QUQ3QQ"Q?QaQ–QÌRRqRÌS'SSßTIT·UU`U»V*V’W W¯XIXÚYMYÂZ3Z¬[,[ª\\{\Ù]+]’^^u^î_T_¹``k`»`ÿa7aaa…a a¶aÉaÛaíaõaüaþaöaíaÙaÌa¾a¶a¦a˜a’a‡a‚a{avafaDa.aa `ô`À`^_Ú_E^—]Ý]\2[AZKYEX=W#UõTµShR%PàO¢NpMYLcK›JóJ[IÈI@HÕH€H,GÑGXF¸EøE*DNCxB²BA¡AKA6ArAèB”CqDdEUF?GHHãI·JŒKYL9MMÿNêOÐP«Q€RXS1TUVW0XEY]Z‡[Ö]L^Û`Macb;c8due¸fÎgÄh¤i^iêjkYl&lòmÇn˜ofp,pÙqrPss×t„u u¿v]wwŸx+xªy$y™zz^z¢zÔzõ{{,{A{I{B{+{zÏz—z[z"yày“y+x·x4wªw"v£v3uÌuqut¾t\sôss rrqŽqp˜p%o²o=nÈnRmámrml lNkþk«kMjãjvji—i%h­h3g¸g8f´f&e‘dùddcÑc>b°b%a—a`o_Î_,^€]Ê] \Q[•ZÙZY_X¥WëW/VsUºT÷T(SPRrQ“P³O×NþN*MULˆKÂKJVI¹I HH GŒGF¥F%EŸE,DÔDDVDCïCàCüDbE*FGGH¿IöKLHMtN™O¶PèR9STæV)W\X†Y¯ZÚ\]7^U_m`qaNbb³cCcÎd]d÷e™f7fÉgHg»h)h’hëi:i€iÐj.j”kkrkãlQl¶m m\m¨m÷nJn¤nüoPo oèp%pZp‰p²pÓpçpöq q!q:qXqpq†q”qqœqq|qbqBqpûpÕp»p°pŸp‚pap2oüo¹oqo+nïn¹n‚nFnmºmemlŸl6kÇkdkjœjUjiÈi{i!hÆhphgºg`gf«f>eÙe…ed¼d^dc¨cTcbÈb‚bUb4b aßa´aŠa[a0`ÿ`È`Œ`I_þ_°_f_"^×^€^]­]D\Ú\o[ý[…[ZœZY Y'X¯X:WÂWLVÔV`UàUVTÎTSSáS[RÉR6Q¨Q#P˜P ONòNjMêMmLéLlKíKrKJ£JMIýI±IhIHÌHH:GòG¯G{GLG'FÿFÑF¢FxFRF-FEÛE¹E¤EEvEhEgEnE‚EœE±E¼E¾E¿EÂEÈEÆEÅEÓEëF F=FFúGYGàHsI I¬JNJëK…L LÌMiMÜNRNÏO5O†OèPSP‘P®P©PPPcP=P@P:OèOoNÛN9MŽLÚLKUJˆI½HôH4GG F¾FF“F‰F…FšFËFøGG5GpGÅH"H‚HÏI&I–JJ¬KYLL¥M=NO7PUQbRuSTU›V‘WƒXpYsZª[´\“]h^Y_<` `ðaÍbžc]ddÞe³f…gRhhÐiˆj@j÷k¶lqm"mÈn_nño|p p™q!q¤rr‹rósLs—såt&tbt¥tíu;u™vvxvõwswòxƒyy¢zz~zÝ{0{}{È||b|ž|Ô|ò|ö|û|ÿ|ä|«|y|Q|/|{ð{Í{›{Gzèz”zGy÷yyExäx€x(wÜwwviuÐuStåtts¾s_rñrdqíq¨qKpápeoõo‰n÷nhmÕm;l£lkzjËiËhégægÊgêg—gñf®e2eleedËbóbNbêc:cScBbábmaúac`¿`_r^Ã^]o\Á\ [GZ‚Y¼XùX1WfV•UºTäTSR0Q.P#O MäL½K‹J[I'HFåE¹D’C-AÕAA7AËB¢CrD0DóE¬FVFôG‡HH¼IOIíJK K‘LLLüMmMèNcNØOOO×PaPÚQPQ¹R$R}RÑS!SmS¾TTATTðU8U~UºUåVV*VMVnV†VšV­V»VÊVÎVÈV½V«V•V}VeVKV.VUìUÊU©UUU¦UÍUøVVAVSV_VrVŽV¯VÕWW.WeW¤WòXAX‡XÁXóY)YeY©YõZ@Z…ZÉ[ [Q[’[Ó\\a\°]]^]¾^"^„^è_]_ã`~a"aÝbµcŠdheVfAg:h4i1jjìk¿l‹mHn nÑo pŒq‰r‡sntCuu±v@vÄwBw»x?xÒy{z(zÔ{u||†|ý}j}Ó~0~Š~Þ+n²ö€E€·ClªÔê‚‚‚‚ÿݰ[7€â€²€x€<ô°]~«~H}ê}}K} |Ó|š|Q|{ž{q@q9q)qpÿpãpÂp¢pŠpspYp5p oÚo¢odo*nònÁnn[nmØm‡m,lÎlhlk—k8jÏjUjiÛi•iFhéh‹h'g¿gZfÿf¤fEeÝemed§dLcíc—cDbøb·bjb"aøaÛa¹a“afaM¼N6N£OOœPP—Q QrQÙR:R”RéS>S–SîT9T|TÇUUfU£UØV V/V@V_VuV}VVžV¨VªV¨V V‘V|VdVKV2VUúUÝUÀU¡U…UxUŒU¹UåV V2VEVVVkVŠV«VÑWW0WeW¢WòXIX”XÑYY6YnY¯YôZ>Z~Z¾[[G[‡[Á\\I\“\ç]E]¬^^}^æ_X_Ú`saaÐb¥cxdReBf2g#h$i-j'kkÜl¬mkn,nìo³p™q™rŸsŒt]uuÅvYvßwYwÑxSxåy‹z7zà{|||–}}z}Ü~<~“~â+j®õ€H€¯Iw°Íê‚ ‚#‚#‚õÒœdI. €Ü€©€i€*â™@~ç~—~=}ä}˜}V}|á|›|I{î{Š{&zÁz[yøyy"x®x=wÊw`vïvvu¸uZtòt“t"s¼sSrír™r:qÜqwqp«pOoôo”o3nØnnmøm’m3lÔlfkÿk­kZkj¦jBiìi˜iHhêhhIgýg g`_É_b^Ñ^4]|\¸[àZùZYXVæU·ToSQÎPyO)MÜL K{J€I¼I!H£H/GÇGjGF¾FVE×E7D{C™B™A˜@½@?Ž?+>ë>í?J?÷@ÛAëCDEFG HHíIØJÎKÈLÁM·N¦O‹PtQURdeeéfÑg h[i!iéj·k„lOm mºnYnðoƒpp«q?qÇrHrÂs+s‹sßt'totºu uduËv@vÃwPwÛxaxïyxyîzUz°{{E{z{º{û|/|Q|`|s|†|’|“|†|a|'{Þ{¬{~{K{zÒz€z y¿y[xøx–x4wÑwtwv“v1u¦ut}t s¤s=rÜr[qØqnq p¥p>oÛotnþnlmàm^lÐl/k„jõjoiÅi!g£hh™hÞh²fweedc4b"b‘bµb…bib2a³a&`¢_ÿ_U^ª]ü]K\Ÿ[é[-ZkY¢XÚXWWV‡U±TÔSøS RQ'P'OMûLÑK¢JnIKH6GEÐD¬CnA¿@íA(AÕB½C™DqE%EãFƒG!G¸HOHêIƒJJ£K*K¼L4L­M9M¿N9N¨O!OžP$P¢QQ}QÚR7R“RùScSÉTT]T¤TôU?UŒUÍVV+V1VIVWV`VwV„V…V…V}VqVaVJV1VVUäUÇU¬UŽUsUiU|U«U×VV+VCVTVmVV¹VçWWKW‰WØX2XŠXÑY Y?YtY¯YôZ=ZZÅ[ [P[‘[Î\\V\¨]]l]Þ^Q^Ä_9_½`Q`øa³b‘cudWeQfRgNhaiujzknlUm.mûnÄo†p^q\rmsktOuuÌvdvïwswñxuyy½zm{{¶|N|Ñ}M}¼~~z~Í k±ý€R€·SŠÂÛò‚‚‚‚äµuM8€ä€­€l€%Þ’:~â~Ž~?}è} }X}|Ð|{|{²{Jzàz}zy¬y;xÉxTwßwjvõv|v u u7tÑtlts—s+rÀr_qÿq”q5pÒplp o£o3nÅnlmûm‹ml¬l:k¾kWjòj—j*i¿ikihÀhahg¬gFfÜf}f+eée¥eoeOe)död”dLd cñcÊc¤crc"bÅbŒb„bgbBbaûaÓaµa–aayaWa^D^=^I^=^\^S^b^q^†^Ÿ^³^Ý^û__B_Q_f_…__r_)___¡_ ^V]É\¢[yZKYKXÌXvXiXV}ViUûURTùTpTSZSR¼R“RR©RëSTSàTZTéU\U¹UôV(V\VšVØWW6WUWmW‹W·WËWàWÞWáWÐWÆWªWŒWdW5VøV¦VRUïU’U%T°T1S§SRŠRQQP³PWOÿO¦O[ONÆNNsNfNvNœNÓOO]OµP PwPÙQRQÝR{SSxSÓT*T™UU£V*V¢WW—X+XØYZZ›Zð[4[‹\\‹] ]w]Ô^(^o^²^ê__<_b_‹_©_Ì_â_õ_ü`_ü_ö_ï_é_ê_æ_é_ã_á_Ö_Ð_É_Î_Õ_Õ_Õ_Ä__,^­^ ]X\Ž[µZËYÑXÐWºVUOSöR•Q0OÉNbMK¶J„I{H´HG¬GHFïFšFDEÝEbDÒD*CUBFA,@7?n>Ò>^> =þ>R??÷A B?CdDwE‰F—GHžI§J±K»LÄMÃNºO³P¬Q«R²S±TÀUÞWXEY©[>] ^Ã`7aTbfc·e,fœgýii²j"j¸k}lGmmÝn¦oip+q#q÷rËsšt^uuâv™wLwóx•y/y¹z.zŠzÐzû{{#{/{7{A{E{C{){ záz²zvz.yØyvy xx wwvµvVuúužu>t×tis÷s‚s r“rq–qpo÷omnån\mÝmhlül—l-k¿kHjÐjQiÌiJhÆhCg¿g5f fegdËd)cŒbíbEaž`ò`H_œ^ñ^B]‘\Û\[RZ~Y¤XÉWíWV+ULTpS”R²QÂPÌOÓNÕMÖLÛKèJñIðHðGîFõF E0DZC‰BÉB$A“A@©@G@?Ü?¿?¯?»?ô@^A AçBüDNE²GHqIÆKLWM¤OP{QèSWTÂVWhX£Yã[)\i]˜^¡_{`6`áa‰b(bºcTcñdŽe,e½fKfÑgKg¿h&h„hèiOi¹jjjÞk:k”kél>l“lómTm´nnXn˜nÕoozÿzÁz~z7yéy‘y*x¿xWwêwuwv£v3u¼uDt¼t1sËsor÷rrqƒqp¡p?oïo”onnm™ml“køk]jýji·ig£g¶gÞh)h¢g}f2fEdCbýb‚bbkbFbaÌaS`Ö`=_¥_^]]®]\P[œZâZ!Y`XWãW.VkU‘TµSÞRöRQ#P+O'NMKäJ³I‘H‹GmF6E$DBAKA&AÔB·C|DOEE»F_FõG†H"H¸IRIäJnJøK†LL}M M“NNNðOdOãP_PÙQFQ¦RRbRÍS5SœSûTFTŠTÐUU`UžUÐUíUóVV1V@VXVdVcVcV\VOVí>C=¸=\=M=>I?5@;AfB’C±DÊEÞFðHIJ+K{@{){ zäz°zoz%yËyexõxywûwwvªvMuòu—u3tÈtXsåssrþrƒrq‰qpzoñoenÛnOmÄmGlÒlekþk’kj¢ji—ihh gƒfôfaeÇe(d‰cècCb¢aûaP`Ÿ_ò_@^Ž]Ü],\t[°ZßZY'XCW\VqUŒT§SÃR×QçPòOôNñMéLãKäJáIÝHÐG»FªEDžCªB¾AÞA @K?«?+>Ã>n><>->'>&>C>•??Ð@¼AØC#D‡EçGIH§IûKPL©N OsPØR>S¦U V`W¬X÷ZE[“\Í]Û^´_k``Âaeaþb˜c:cÜdwdÿef"fªg'g—hhkhÔi=i¡jjbj·kkikÂll{lÖm6m‹mÑnnKn‚n¯nÕnüoobbñcådïeæfÇg˜h^i+jjØkªlum/mÝnzo ožp1pÅq[qírurðs`sÃt tttÇuu{uæv^vàwhwêxkxåyXyÈz'z{zÓ{{G{l{‘{­{Å{Ý{ï|||%|$|| {ô{µ{u{'zÇzuz$yÛyy;xßx„x#w­w,v¶v@uÑuWtätgsïs‡sršrqœq$p²pNoÙojonªn%mµmIlËlWkÕkPkjÑj!i"hVhHg°gg«g8fžfdcbÀbob5aÙa¨aa`ê`c_Ó_O^«^ ]d\²\[PZ”YÔYX\W¯WVEUxTœSÀRäRQP4O?NFM;L'K IõH÷GæF¶EŸDÆC‘BApAáB³C{D.DéE–F8FÒG_GþH—I0I½JHJËKNKÎLQLÜMiMåNVNÄO:OµP-P£QQzQÖR6RŸSSmSÔT'TlT¬TëU'U^UŠU©UÉUîVV)V:VV>V6V+VVUîUÚUÂUªU‘U{UdUKUc/d"efgh+iDjYkhlmmWn.ooÊp‰qirjsitQu uÙvxw w‘xxšy1yÖz{"{À|U|ã}Z}Ê~4~~é>–Ö€€j€ÃS…§ÂÉÝþüëÈ—oU,€ò€³€w€;€ ÊI~û~¥~N}ú}ª}Y}|¥|;{É{Yzøz›zEyày~y x¢x*w¹wLvávrvuŒutœt(s·sEràrvrq¦q:pÔpnpožo7nºnOmîm‹m"l¶lJkÎkMjÍj^iói‡i%hÃhQgÚgrgfÀfaeúe‡ed¤ded4cèc¹ccac(bíb¼bbKaæažafa6aaa `ë`Î`­`Œ`p`\`B`/``_ä_Ø_·_ _Ž_~_p___V_K_:_._ ___^ÿ^ñ^ê^Ö^Ð^¼^¼^¡^^‚^t^\^I^+^]ú]Ü]È]®]¦]‹]œ]‘]³]º]Ü]ã]ô]ì]ì^^^=^O^…^ ^Æ^õ__N_>^Ð^Þ__ ^À]q\+[–[Y»XèXUW¨WXW/VRU~UITÃTMS\RŽR¶RlR`RbR•R´RýS[SÈTATªTÿUAUrU™UÃUèV'VVV˜V¶VÞVîWWWW(W5W=W9W4WVðV¼V}V*UÖUUT¦T!SŒRïRBQœPëPVOÄOONâN…N(MÓM„M6MLáLàLåMM™=î=W<õ<æ=1=Ñ>¥?Ÿ@¹A×CD#E?F[GyHšI²JÆKÊLÐMÚNéOÿQRST7UXVWìYr[\Ô^‹`aOb”d#e¸gJhÆiÑjGj‚jòkœlgm6nnÜo¯p€q|rHssçt³urv)vçw©xfyyºz?z£zé{{/{8{7{/{({0{:{:{'{ zàz¬zfzy³yLxÖxXwÖw]vëvvu¼uZtòt†ts¬s=rÌrSqÜq`pàpVoÉo7n¥nmlólmkùk”k1jËjUiÎiGh¾h6g®g$f‘eüeadÃd$cbíbHa`î`9_ˆ^Û^*]|\Ç\ [GZuYX§WºVÈUÚTîSüSRQPONLüKæJÛIÍH³G˜FuEVD8C"BA@?1>`=±=%<Â<†”?@²A÷C[DÁF'GˆHéJMK¨MN\OµQR…SíUCV—WêYGZ¡[ê] ]ï^£_J_ó`—a?aÞb}c"c¹d^ç^†^*]Å]Z\ã\O[½[7ZµZ7YÃYKXÑXYWÎWCV¯VU†TãTPSÜS[RÌRpÌp^oúoynónŸn1m°m8lÏlolk™k-jÜj×ji4hYhNgØg'f†eëe\d½c™bïb·bmaèa^aJ`ý``_{^ä^L]Á]\k[º[ZJY‹XÐXWlVÂVU[TS§RØRQ%P?ORNiMpLoKhJ^IdH_GBF%EQDzC7B`BLBÉC—D8DÞE„FF±GGGäHII¢J'J KKŸL$L®M8M´N,NšOO†OúPrPßQJQªRRlRÚS>S¤SüTIT‰TÁTøU!UHUzU®UÑUíVVVVVVVUòUÞUÇU³UU‡UoU[UDU1U+U1UUUyU¢UÈUèVV(VIVsV¤VÒWW@WWçXAXŽXÑY YKYƒYÃZZNZ™Zã["[d[¢[Ù\ \K\›\ú]h]ß^_^á_c_í`‹a=b bücõdìeïföh i#jRnR‰R©RÉRùSAS–SøTPTšTÏUU*UlU—UÛVV=VbV|VVžVµVÏVïWWWWVæV¿V…VFUþU­UOTæTjSâSDRQßQ-PmOÅO,N¦N4MÈMqMLËLLUL2L5LBLjLœLØMMdMÁN.N½ODOÓPIPÃQ8Q›QúRgRÞSPSÊT=T›UUÀVdWW›X2X®YYZZ“[[h[Ë\%\w\¿\û]5]i]ž]È]ô^^*^4^;^7^1^)^ ^^^&^&^*^^^ ^^.^O^g^l^W^ ]—\ü\K[ˆZ¼YîYXWUÓT“S@QßPxO M—L"J°ITHFùF!E‰E,DìD¶D~D6CÓCYBËB7A›@ê@?9>j=¹="<Â<®<ô=ˆ>L?5@:ALBpC–D¾EãGH!I9JTKaLoM‚NOµPÐQÛRêT U0VtWãYn[ \Ç^“`0afb©dEeÞgmhèjjj¸kkšldm>nnûoÕp¨q›rosCt tÇu}v8wwÒx˜yUyøztzÐ{ {2{?{<{0{!{{%{5{7{#{zÒz•zJyðy‰yxxw™wv¥v/u»uMtÞtntsœs4rËr`qíq{qp’po‚nínQm°mlqkØkXjïjŒj(iÃiThÔhIgÀg0ffepdÑdT=I<];¡;:Ä:‘:‘:¬:Î:ý;N;Ï<{=S>V?@ÊB+C—EFmGÑI7J™KïMANšPQpRÜT4UVÐX5YZö\&]]Ý^†_-_Õ`a&aÍbfbîcndd¡eAeáf]fÂg8g¯hh‹hñiOi¤iÿjajÃk)kŠkèl>lˆlÃlôm+m^m•mÏnn8nenŒn¬nÉnànðnùnônônònñnïnænæn×nÁnŸnwnNn)nmÞmµm†mJmlÂl€l>kúk°k[kj§jIiêi‹i/hÒhqh gg/fÈfXeéexedŸd1c¼c1bÊb†b@baÃa†aGa`Ä``j`H` _÷_Ê_”_Y_^Õ^x^]ª]=\Ñ\_[Ð[V¯VUTßT+S‰SR”QþQqPàPROÕOIN©MøMWLÁL%KˆJùJlIÎI+H‹GúGrFòF}FE«EHDôD¨D\D C½CmC&BñBÅB™BgBFB%BAôAÝA¶A„AFA @Û@¯@„@]@A@-@&@@?þ@@@,@0@@?î?Ö?È?¾?¹?Â@ @ˆA)BCCõD®E`F(FîG¬HOHéIƒJ JbJ JÙK%K_KpKoK’K©KlJóJ_I¾IHqG±FàFED-CVBœB A¥AoAcAA¿BBoBÞCWCÊD=DÂE^FFÖGžHŒIbJ+K]5]a]R]—]‹]Æ]è^^8^S^Ï^ú^ï^v^¤^Ä^=\þ[bY›XX!XAW„V;U¥UhU1TšTSÏRýRÈRWRRQþR-RiRsR–R¹RñS6SŒSÏTTGT•TÇUUGUˆUÂUêV VV=V[V‚V¦VÇVÝVçVåVÔV±VˆVVVUÑUƒU$T¿T9S­SRRQPÂOýO?N N M“MLÂL`LKÖK¯K˜K™K²KÕL LBLLÐM*M‘N NOO–PPŠPðQ`QÏR?R­S S’SþTwTûU“V-VÒW€XX‰XôY`YÖZZZË[7[”[è\5\x\½\ñ]+]X]…]]°]³]¯]ª]¢]œ]‘]]Œ]”]’]]…]|]{]‡]¦]Ë]î]ú]Û]‰]\p[µZèZYTX{WƒVjU;SüR©QGOàNsLúK‚J H¦GZFCE_DÀDbD&CûCÈCŠC-B¼B5A£A@Ž?ç?>J=”= <±<œ<Þ=a>>ñ?Þ@âAûC%DDE^FG¬HÎIíKLM8NTOqPœQ¸RÉSæUVdWçY[D] ^Ã`EaƒbÖdofg‰hûj(jÌjïkk¥llmPn9ooûpÈq¿ršsettÌuƒvPw(wþxËy‡z$zœzï{{;{@{5{ {{{{-{*{zïz»zszy¼yNxØxUwÍwHvÊvKuÎuPtÞtlsùs“s-rÇrZqïqŠqp¦p0o­on„mémLl±lkŠkjŠj iƒi h¥h4g¯g"f€eåePd³dc€bÙb:a±a `„_Ö_$^n]º]\h[¿[Z\Y‘X¶WÊVÑUÓTÍS½R±Q«P O’NMfLFKIôHÎG›FhE.CðB«Ae@#>å=«J?•@øBlCåEWF¾H!I„JÕL(M‰NúPuQáS2TsUÀW%X”Yù[9\>]]À^g__À`naa¬b/b²c?cÚd}eeeúfƒgg|gðhXhµi ijiÑj9j£k kik½ll:lil–lÎm mKm†m¼mñnn>nXnnn€n…n~nxntnsnqnfnbnYnCn"mûmÚmºm—mpmBmlÑl’lKkÿk¹ktk0jäjŽj3i×iwih¸hZgùgg'f·fMeßeped—d0cÎckbôb€b3aða¨aoa=a `Ó`š`^`'_÷_Â_–_b_$^ç^¥^_^]]\°\G[Ò[HZºZ!YYXªX2W¬W.V°VUŒTëT6SŠRéRSQÄQ(PžP"OžONƒMãM2L‡KèKPJ±JIHîHMG®GFFEE3DÒDsDCÒC‹C@BùB­B]B&BAßA²A™AwAXACA"@ÿ@Ñ@•@_@.?ñ?¾?•?s?U?H?9?$???.?A?@?7?"? >ì>Ò>»>¯>«>è?f?ë@ÖAÖB»C•D_E)EæFšGFGåH†III¿IìJ0JzJŸJ§JÓJåJœJIƒHæHIGžFÞF E"D6CJBpAºA/@Ù@¨@@£@åACA¦B#B¯C6C»DHDíE¬F}GXHQI8JK/LyM N¬O²P¾Q½RqRìS¨TÇUÓV·W¯X¦YŸZ’[‚\‹]r^6^û_Ñ`´a¶bÁcÄdÈe¼f¤gwhJiiújàkÀlmKmínoo¦p=pÙqvr r›s"sŸttƒtéuEu£vvovæw^wÞx[xÌy7y”yèz1z‚zÁzá{{*{8{E{G{O{U{V{X{V{K{;{"{zëzÁzŒzMyþy§yExØx`wìw„wv·vFuÓuZtåtvsöscrçrxqôqjpúp—p2oÁoIRHRGJFfEÉE1D?C‹CyCÕDaDÚELEÖFlGGœH/HÂITIÙJTJÈK=K¾LALÌMIMÀN0N¡OOPP{PéQGQ¥RRpRÚS7S‰SØTT\T“TÊT÷U#UNUpUU©UºUÃUÆUÇUÁU¶U¦UŒUrU]ULU=U+UU TöTøTÿUUö>5=Ž=<Í<«<Ô=B=ë>´?›@™A§BÃCÒDïFG8HhIJ¯KÌLõNO0PgQ•R«SÁTþVaW÷YÌ[©]^^é`Wa­cd³f;g²ijIjÿk&kDkÃl‰mnn\o>ppäqär´sst#tÞu¬vŽwrxSy$yÚzizÐ{{2{:{1{{zú{{{{zßz¢zWyúy–y(xªx%wžwv—vužu't´t=sÉs^rúrŒrq¨q@pËpFoÃo5n¥nm{lèlSk¹k0j¤j!i’ih€gúgnfÚf7edõdPc³cb^aš`÷`^_Ò_0^y]¸\î\7[ZúZ^Y®XíXW0V9U/TRùQÒP´O—NvMRL!JïI¸H|Gv?êApBúDyEçGNH¶JK~LõN|OýQkRÁTUlVàXSY±Zæ[â\±]f^^Ê_†`:`Þaeaâbebîcrcëdze&eÓfVfÑgHg´hhuhÙiFiºj'j“jõkKkkÂkïl l\l›lÜmm]m”m¿màmøn nnnmûmömîmímìmàmÇm«m†memHm"lølÍll]lkÆkuk*jÞj—jOiýi¡i>hÙhvhg¶gSfìf€fe”e)d¿dOcêcc*bÕbyba³aNa`ô`Ä`ž`m`._á_¡_e_*^ï^²^q^#]Ô]n\ú\Œ\'[³[+Z—ZYcXÑX_WâWWVÉVGUºU(T†SÓS)R‚QÖQ.PšPO’O NtMÒM$LpK¾KJyI×I9H¦HG^F¹F"EœE)D´DDCâC‡C5BëB¢B\BAÈA‡AWA3A@ç@Í@¯@“@o@L@#?ò?Ç?—?R?>é>½>˜>‚>y>h>\>P>N>S>G>;>1>!=ý=à=À=«= =ë>_>æ?é@èAÞBáCÂD„E7EìF›GDGïHoHÃH÷I"IbI³IàJJ*IÝIYH¼H!GƒFÔF E+D:CFBTAw@È@N@?Ò?Ã?Þ@#@†@ùAB5BÕCoDDËE¤FGŠH‹IuJƒKÞM/NEOEPNQBQäRnSIT|U•VxWgXbY`Zb[r\‚]f^%^ç_À`²aÆbÚcîdøeêfÏg­h‰idjLk5llØmŠn*nÃoYoöp˜q=qÛrrss…sÿtrtØu=užvvtvëwewàx[xÐy9y“yçz0zzºz×zö{{{{{{{ {zþzêzÕz±zŒzcz8zy¿ytyx¼xSwéw„wv¹vIuØu_tåthsæsZrÚr_qÚqZpÝpboâoZnÅnEmËmQlÆlEk°k/jßj‚iýiži;hÃh?g£gfAeºeAdÒd=c„bùbdaêan`ö`Œ`_²_F^Ï^N]¿]3\ \[~ZÜZ!YhXªWðW8VUÑU!TpSÈS RiQ¤PÔOýO)NZMˆL³KÐJíJ I%HG%FfEüElDˆCêCôDND«E*E¯FAFÛGnHH•I+I·J9JµK0K¬L5L·M4M©NN‘OO„OúPvPäQFQ£RRmRÔS+S~SÈTTQTŒT¾TëUU5UVUtU‰U—U¡U¡U›UU{UbUIU1U"UUTùTæTÖTßTìU U%Ua=·=G=<û==F=À>p?T@ZAkBC¥DßEøG H5IhJ›KÊMN8OiP QÊRíT#UˆW!Y [ \Ù^W_¿aÃ@LAÞC`DÎF2G›IJoKíMyNþPuQàS@T¡V WzXÕZ[ [å\]P^ ^Ì_…`3`Áa5a¨b)b»cHcæd…eešff—g gpgÒh:h§ii”jjhj¼kk]ú]¢]G\ä\€\[®[0Z©ZY†XíX\WãWUV¼V0UªUTˆSÜS3RQàQ1P‡OòO[NÂN2M¡MLPK–JàJ9IšHöHPG³GF}EÞEKDÈDQCâCtCB·B^BAÌAŽAKA@Í@—@k@P@-@?ñ?Ð?«?…?[?/?>Ü>­>z>D>=ô=Ý=Ñ=¾=¤=Ž=t=^=V=M=?=6=<ô<Ê<¨<‹<Ä=J=Ð>°?»@ÆAÓBºC€D4DèEœFIFðGGáHHEH}HÝI)IkImIH‚GæGNF¯FE/DKCZBdAr@?ð?{?1?>ó??F?«@'@ÌA‰B8BÞCŠDOE1F'G&H)I%J8K“LúNOOüPÖQqRS TXUuV^W?X3Y5ZJ[j\s]M^^½_•`a¦b¿cÒd×eÍf¸g–hqiVj=k%llÃmunn²oLoípq4qÓrjrôsxsôtgtÎu6u—vvvvìwgwÝxUxÀy$y‚yÓzzezz¼zÕzìzûz÷zçzÐz¿z³z¨zžz‡znzOz#yîy¹y‚yGyx¹x`xw§wFvÖvnvu¡u1t¹t=s¾s=r¾r>q½q>p°p$o™on€mømwlïl\kÔkNsM¬LéLKAJ`I…H–G FÔFREñE[D¤DXD^D†EE•F"F¬G;GÉH[HîI|JJ…KK‚LLLÿMqMàNPNÆODO¾P6P§QQjQÇR%RŠRèS>S‹SØTTZTŒT¹TßUU!U@U\UpU{U~UuUeUUU:U UT÷TîTçTÜTÐTÂTÈTÚTðUUU(U;UPUcUŠUÂUýV9V„VÖW%WwWÎX(XxX¾YYSY£YíZ.ZkZ¨Zâ[[F[z[º\\a\È]@]Æ^N^Ú_b_ø`±aŠb€c‘d¸eågh&iCjak€lšm¥n“op_q3rräsÌt©utv3váwƒxx­yJyíz{*{¿|O|Ì}@}¯~~‚~Ï5Ô€€f€¹€û+aˆ£¬—wYW2€ê€Ï€¹€Ÿ€€i€2è•8~Ø~y~}ª}=|×||%{¿{^zõzxzy~xÿxx"w¾wuwvzvuu.tät¢tCMBŸB)AêAºAA=@õ@¤@X@?À?t?>q=Ü=o=A=B=T=‡=á>w?C@;ADB[CDÊEãFãGôIJRKLÓN OAPuQœRÉTU WWYG[5\å^]_Ðalc d¢f/g°i(j_kkFkvkûl¶m–nyo]pCq&qâr“sNt"uuêvÓw¹xžylzz‰zÞ{ { {{zãzÎzÈzÏzÎzÂz£zoz/yáyy/xÂxDwÄwFvÐvauöuut¨t4sÆsVrèrvqüq€qpƒoýotnén]mÌm=lªlkujÑj7i®i!hgügbfÊf(eƒdêdBcˆbÌaÿa@`”_ø_D^}]¿]\K[ˆZºYÝY XMW²W!V…UÍTóTRúQÔP¤OhN#LãK£JjI&G×F~EC¬B6@»?>=¸<,:š97c5Ë4`3N2»2Œ2¼2á3>4 4¯5m6O7C8W9z:»å>¸>‰>]>5>=ð=Ç=˜=d=2==<ô<Ø<¹<—¬?¿@¾AŸBkC(CâD™EEEëFˆFûG >Y>2>>.>n>Ï?Q@@ÎA‘BGBûCÈDµE¶F¹G¿HÊIÝK&L•M½N O‚PUQQéRýT2UAV+WXY,ZJ[k\m]6]à^_s`ia~b˜c¬dµe±fšg{h\iCj*kkæl£mSmønžo?oßp„q+qÉr]résosçtZtÅu+u‘uúvnvèw`wÓxBx¥y yey³yýz=zpzz§zºzÅz»z¦z†zjzUz@z.zzyÛy¬yzyByx½xlx#wÙww8vÚvov u¯uOtätrtsŠsr–r!q qpƒoíoQn¾n,mŸml‰kîkdjÏj:iÅi\ih¢huÈuPtÒtot(sÚsirêrbqÞqXpÑpNoÇoFnÇnOmÍmRlÙlfkìkpjõjj ii&h¯h5g¦gfƒeòejdêdtcùc‹c bÁbfba«aG`é`’`:_á_ƒ_'^è^´^ˆ^c^8]ñ]’]7\ë\µ\µ\\;[ö[«[y[H[ZÔZËZçZéZåZãZìZåZéZÛZßZÉZÎZ±Z½Z¸ZÄZ¿Z§ZžZ¦ZÁZÍZåZÜZÿ[[3[!["[4[N[Q[_[][b[Q[X[>[G[9[T[C[f[{[²[Ö\\-\h\\µ]]][]=]á^^b³VXY.YDWWURS¦S(S†SHRÙRÛRPõP«PzP$POÄO›OtOÔPDPÔQ1Q~Q«QÎQóRå>}>=ž=o=u=—=Ø>6>»?j@IAEBWCwD˜E¾FÀGÃHçJK`L¥MÞO PBQzRºT#U×W¤Yx[G\ì^}`a¸cPd×fXgÑi7j`kkHkllÌm§nŠoypcq/qÈr‚sSt=u,vvúwÝx½yzzˆzÎzô{zñzØz³zžz™zz–z‡znzBzyÆy|y"x¸xbpa¬`ú`2_v^Ê^]F\y[Ä[ZYYˆX¢W¡V´UêUQTÌT&SGRKQ6PNÆMqL!JÔIŽHBFêE~DBˆA?|=í ?®A0B DEwFèH[IßKtMNœPQ„RêTUU¶WX9YRZF[[Ð\]V^ ^Û_x_ê`M`»a>aÒbeb÷cˆdd e%e¢ffŒfûgugêhchÖií>Á>š>}>e>A>$=ù=Á=‘=f=A=<ÿ<Ü<¯<€ ?©@ŒAaB*BâCœDKDëE‡FFdFŸFëGWGÈH GÞGjFÖFÜ>9=Æ=w=O=?=Q=‘=ö>?;@@âA¦BiC@D1E6F9G@HTImJ¦LM:N NøOÕP¸Q½RÔSóTûUíVèWøYZG[h\a] ]Å^{_Q`La\bqc…dŽe†fqgWh;i%jjõkÅl‚m1mÛn„o*oÒpuqq²rLrÛsdsÜtJt³uu}uävXvÓwKwÀx+xŠxèy;yŒyÏzz/zHzfz}zˆz{zYz0z yíyÔy¹y¡y†y`y4yxÈx„x8wâw“wAvívžvXvu›u4t×t…t%s·s@rÐrVqÜq]p×pAo¥ongmÑm;l®l)kœkjiiÕiPh×hxhg¸ghfÞfPeçe>d—d cwbêb\aÏaO`Ì`>_¯_.^Ÿ^]j]\Ñ\x\[wZñZcYÌY;X£WõW@VUÞU%TSÚS2R‘QùQ`PÆP"OdN¤MéM7L„KÂJôJ$I[HG¬FþFFE±E5DÆD”DŸDãErF(FÌGYGßHoIIJJ’KKŒLL}LóMfMÙNLNÁO8O«PPˆPîQIQ¥QþRWR³SSTS›SÝTTHTrT•T¶TØTøUU&U2U1U#U TíTÊT®T¢T›TœTšT˜T–TšT¨T³TÁTÓTßTõU U)UYU¦UîV*V‚VâW2WrWŸWÛX'XqXÂYYmY¯YäZZJZuZ¢ZÓ[[Q[ \\r\î]p]ó^y__œ`[a=b:cJdoežfÉgãij)kOljmvnmoXp:qqâr¼s—tmu9uóv¦wNwóx“y7y×zt{{¥|2|µ},}–}ó~I~¢~ÿJ›õ€R€“€Á€ö!IP8)1€Ñ€·€©€”€s€5÷ă,~Î~k~ }¥}L|ó|›|6{Ü{lzóz‘zy¢yJxÖx^wñw‰wv§v1u¿uKtÑtQsÜs}s r—rqŽqpoøosnõnumømvlùlxlkkj‰jii$hµhBgÂg1f§fe‡dðdlcñczcbŸb;aàaa:`ß`w`#_Ë_w_^·^\^]è]½]…]4\×\€\C\[Ý[¢[e[?[ ZÏZ”Z\ZYúZQZ[Z YñYæYíYïYíYöYðYøYßYéYÛYíYØYÜYÕYçYóZZZ$ZPZZZZsZ{ZvZ¤Z³ZÐZËZØZÔZÛZÏZÛZÍZÚZÜ[[[K[z[ª[è\\I\v\Ê\Ì]I]&]›^<]ñ_W‰X¢YnXÿVˆUàTÃTFS‚SLR\QºQ£QkP_POÌOwOOfOJOOQOÆP.PcP¤PØQ'QhQÖR.R™RÚS'SUSšSÊTTPTžTéU+UhU’U¾UÒUóUíUòUÓUÂUŒUZUT»TVSìSmRÚR&QOPkOpN…MšLÍL KvJöJ–JFJIßIÌIØIïJJMJŒJÙK+K†KáL5LuL°LôM]MÒN^NîO_OÁPLPêQmQ÷R›SPT TàU«ViV±VÆWW‰XX¢Y7Y¸Z#Z|ZÏ[[Q[}[ž[¥[–[[f[Q[>[-[ZÿZêZÕZÂZ´Z­Z¸Zà[[X[[§[•[VZíZfYÆYXjW¤VÝVUSàR±QvP*NÍMlLJŒIG¶F\DþC©BAÁA+@À@s@1?ó?»?Š?\?0?>Ö>£>_>=Ì=¬=­=Ò>>ƒ>þ?Ÿ@eAPBTCTD^E„FŒGHºIöKk©kjiåiEh¤h gjfÊf0e’dùd_c¶cbCa`Ë`_+^[]¡\à\[EZ—YßYXAWNVGU3THSSRyQ“PˆO_NLÇKcJH¶G_EúDƒCAs?ã>N<«:ü9A7|5­3Ù2 0p/D.µ.¶//¨0Z11þ2ä3Ü4í67T8¦:;‰=>ž@ABúDmEêGbHäJxLM¸O4PRSiTËVWEXsYuZP[[Ú\¥]q^)^Å_B_¤` `Šaa«b8bÂcScßdedëeheæf_fÛgTgÇh6hŸiiYi£iâjjXj—jÕk k@knk–k·kÍkàkïkûllllkýkñkïkækÖk¹kšksk=k jÓj›jfj&iÞi„ih¿hnh%gÔgogfŸf×> >t>B>=õ=Ò=µ=¡=‚=d=:=<Ó< œ?Š@rAFAìBCXDD§E-EŠEÚF8F¤GGDG FEüEgDÌD#CgBA¨@°?¸>Ë>=c<ë<™q?K@*@þAÍB­C¥D¯E´F¸GÍHêJK\LœM“NmO`PjQ‹R¢S¨TžU˜V¢WÃYZB[i\Z]]ª^Y_/`*a8bMcadge^fIg.hiiöjÖk¡l\m mºngoo·pWp÷q›r;rÎsSsÉt4tšuuduÎvCv½w3w£x xfx¿yy`y˜yÉyîz z(z>zDz,zyÝy²y‹ykyNy0y xâx¶x„xQxwÇwuw&vÏvnvuÁuou t¥tUtsÇsfrîrxrq„pþpsoÞoBn§n mtlÙlEk¹k-jji‚hôhrgög}gf±fAe¥e&d¯d.cžc b„aûar`æ`R_Â_:^¥]û]j\ß\‰\N[í[[ZšZYlXÜXGWªWVQU¢TöTKS©SRfQÌQ5P¯P#OsNµNMSLªKüK:JtI³HûH&G_FÖFpFE±EDDßD¬D¹EE¹FcFûGŠH!HºIJIÔJVJÕKLKÃL7L±M"M™N N~NòObOÔP=P¦QQaQºRRiR½S SUS—SÓTT5T]T|TTÀTÞTõUU UTëTÉT¤T†TtTpTtTxTyT~T‡TT—T©T·TÁTÜTöUURU¥UìV)VyVÒWWUW~W¼XXZX¹YYVYY½YâZZ8ZeZ˜ZÒ[[e[Ë\G\Å]B]½^A^Ð_w`>a!bc2dXeƒf©gÈhìjk6lOm\nSoCp$pýqÏr¥stNuuÓv†w1wÙx}y%yÄz_z÷{||¢}}}á~+~Š~Û r×€0€m€œ€Ð€þ €ô€ç€¦€‹€†€m€:ñ±Ž]~ÿ~¦~?}â}…}!|Æ|l| {²{Kzàzyyþyœy8xÇxWwäwpvüv‹vuªu4t¹t6s¯s7rÀrDqÂqCp»p2oªo%n¡nmml˜lk˜kj—ji®i-h°h7gÈgMfÃf3eœedtcóclböb|ba´a]a`µ`f` _¸_[_ ^«^^^]¯]a]!\Ü\Ž\>[í[¨[f[,ZïZ¾ZŠZaZ&YòYÁY€YPY]YPYYXùXóXåXäXìXþYXùXûXðXþXðY YY#Y&Y7Y;YRYoY‡Y²Y¿YàYÈYðYüZ/Z2ZQZHZZZSZ\Z[ZbZlZZ²Zß[[F[Œ[°\\&\|\§\î]]v^]Ö\[ZZÂZòZFVGUSTcT2SïSêS3R¯RpR?Q;P¹P]POëO»O€O4OO4OOO¿OîPmPÔQkQÐRGRŒR×SS5S\S™SäT3TŒTÑU#UQU‰UœUÀUÇUÙUÅU³U…UOU T¼T[SïSzRâR7QkP›O¶NÖMñM&LkKËKMJçJ™JUJ%JIþJ J"JLJ‚JÍKKhK´LLML—LÞM2M”NN›OOlOìP•Q.QÉRrS,SïTÔUºVjV¹VÐVôWOWÕXbXùYmYÕZ,Z{ZÁ[ [B[\[X[>[&[ZöZßZÍZ³Z˜Z~ZbZGZ.Z)Z;ZoZ­Zë[[)[ZËZdYâYJX¨XWCVtU™TœS€RUQOÖNM)KÆJWHêG‹F;DæCŒBXAo@Ì@P?î?¥?e?/?>æ>Æ>£>€>T>,> =ë=ß=è>>]>À?7?Õ@AdBEC$DE%F;GYH‘IÒKLYMŸNæP1QsRÑTŠVwXAYø[­]j_(`Ðb[cÕeIfŸgçijj½kÇ= ;q9´7â5þ42;0\.¤-l,ê,ü-r..õ/Ø0¼1«2º3Ø56N7¢9 :ƒ< =“?@AÿCsDñFoGîI€K(LÐN[OÕQDR©TUj iÓi–iPhûh–h,gÐgxg%fÁfWeøeŸeRed¶dkdcÊctc#bÌbyb'aÍaxa`³`b`_±_]_^ã^§^k^(]Ø]…]4\Þ\ˆ\0[Ý[ƒ[Z¾Z_YöY‡YXWÿWjVÏVBU¸U/T¯T.S©SRrQÁQ POO‹NÀMôM&LWK‘JØJ#IoH½H G\FªEþEKDŸCûCgBâB^AÜAa@ê@|@?µ?d?>É>…>H> =Í=–=d=A=$= <ô<Ú<¼<˜;;:ã:À:¡:‡:o:U:9::9à9¸9‘9]9"8ñ8¼8´9:9ç:€;c<‚=¥>ª?ž@e@ûA¨BkC)CÈDQDÅE!E‡EþFgFƒF6E¹E)DCóCJBA·@Ï?Ø>à=ô=.<”<;À;Š;;;åŠ?m@MA*BCDE$F"G3HZI…J»KóMM÷NýPQOReSVTh¸h3g²g9f¸f6e°e#d’cúcubçbsaýaša8`ã``@_í_š_D^ë^™^>]ó] ]R\û\°\W\ [³[b[ZØZ›ZZZ!YßY¬YkY;YXéXºX…XSXEXEX XWÛWÍWÑWåWêXXWýXXX X(XMXJXcXdX„XŽX²XÒXðYYY>YKYˆY‰Y·Y®YÒYÌYáYãYêYÿZZHZ^Z±ZÎ[%[Y[®[Ý\7\d\¡\ð]A]l]\¼\’\[;ZeYEX™VU[UT×TT7S¤RþQÄQ'PŽP†P/OöO÷OÓO€OO'O)O_OPP”Q*QRRKR’R»RàSS-SsS¹T"TrTÒU UJUlU—U§U´U²U§U„UKUT¶TeSùS„RðRSQ—PØP O4NaMžLóLVKÙKkKJÝJ«JJvJoJjJ‚J¡JÜKKmK³KôL1LvLÊMMzMèN[NÀOBOÏPlQQ³RnS6TTßU·VQVV±VÓW)W©X1X¹Y$Y†YØZ,Z‚ZÑ[[[ZâZÂZªZZ†ZvZ\Z;ZYóYÐY¯Y©YÂZZAZzZ Z«ZŒZFYâYlXßX;W—VÞVU2T=S+RPÏO‹NCLñKšJ3HÊGuF+DáCŒBHAB@‚?ó?†?+>ã>¯>>t>\>B>=ø=à=Ô=Û=ì>>S>>ä?R?ë@§AuBBBúCÉDÆEôG,HnI·KLMMœNêP3Q‡STÞVÁXZ.[ê]µ_ua b‘devf¶gêiiój¬k?kÈlgm+no oÓpoq qærÒsÊt¹u¤v‰wgx9xìy~yêz3zWz`zVzEz6z,z/z2z6z6z8z/zyîy´y\xôx€x w–w#v²v@uÊuNtÔtXsåsmrûrqöqgpÕp9oœonqmÞmNlÅl7k¨kjiêiYhÊh4g“fífFe¥edecÁcbna·a`K_’^Ï^]&\A[HZTYwX­W÷WCVuU€TuSYR0Q"PdOÓO MøLÄKeIõHGE©D3B­A?e=»< :Q8}6š4©2²0¿.×-+É+K+u, ,Î-¯.–/Š0Ž1£2É45H6 89;<‹>?‹ABCÿE}F÷H†J/KØMnNûPrQÐS%TjU—VµW¯XYiZG[&[ò\ª]D]Æ^7^¤__¡`&`¬aÓ>>4=ò=´=r=3<ö<Å<ž<‚Ê?„@@´AxB>BåC‚D DlDÝEYE±E¶EbDåDUC¾C BuA´@Û?ó>þ>=!<];Ä;L:ï:¸:ª:É;;—<.<æ=¿>§?’@}AlBoCDŒEŒFšG½HåJKULwMˆN¦OÕQR*SSíUV9WŒY ZH[U\:\Ý]h^^å_Ý`êbcdeeòfßgËh¸i¨j‰kWllËm|n(nÎorpp²q`rr”sss÷tVt¹u uŒuûvkvÚwGwªxxTx§xïyyt tÐu†v>vìw™x?xçyŠz(z»{L{Ó|Q|É}0}}î~E~~à;›à€€I€o€Š€€Œ€ž€¹€¹€£€n€?€3€€Øª‚P~ª~U~}¤}J|ð|”|5{Ù{‚{z£z9yÒyoy x§x5wÅwKvÒvVuÚuYtÚtUsÍsLrÇrIqÇqDp¼p2o¨onnmwlçl]kÎkIjÍjIiÃiAhÃh=g·g0fªf%e¥ed—dcbóbmaöa~a`²`c`_Æ_u_$^Ê^w^"]Î]]4\ð\˜\K[í[¤[JZùZ¬ZiZ#YâYžYZYXÎX‘XNX WåW·WWW|W_W+VäVÍVÞVíVáVÿWWWWW)WFWiWuW‰W…W¡W­WÚWîXX=X\XX·XêXäYYY?Y=Y^Y\YrY†YœYÒYíZAZcZÀZû[P[›[Þ\\„\ª\Æ]\Í\\q[öZ›YÛYˆXHVŽVUîU˜UMUTUS:QøQIPPpP(P PVP\P%O´O“O€O·OêP_P¯QQeQÄRRDRpR‡R«RÆS SES±TTyTÄUU2UZUyUUœU’UuU>UTºTkTS‘SRkQÅQPbONáN+MLûLyL K¹KƒK\KGK(KJêJäJõK*KeK§KÚLL'LTL¥LöM^MÅN9N®OHO×PaQQÊRSjT:TÿU¶V,VbVzV¶WW€W÷XmXÙY8Y“YïZQZœZÂZÂZ§ZZdZKZ9Z&ZYöYÕY®Y‚YVY3Y/YTY˜YÝZZ0Z5ZYÊYnYX~WÜW5V~U²TÕSëRåQ¿PŒOTNLÎKJ$HÄGyF1DñC£B[AB@i?Á?A>Ö>„>K>'>=ù=å=Å=¢=‰=‰=£=Ç>>T>—>ð?Y?å@–AaB0BÝCŸD—EÌGH]I°KLRMœNçPLJ¼ICGÆFKD×CZAÉ@&>r<¹:ú9<7e5s3t1p/u-ƒ+µ*e)ë*"*Â+”,‚-y.w/‚0Ÿ1Ï3 4T5©7 8€:;Œ=>š@ACDŠEÿGƒI JËL`MïOxPîRUSžT¼UÄV³W‘XrY[ZK[#[Ú\p\ð]f]Ý^\^Ø_]_ä`sa a¡b=bÚckcôdudïegeÓf=f£ggXg¢gãh#hahœhÖi i6iZiti…i—iªi¾iÒiçiùjj j j j jiôiÚiÀiœiqi@ihÏh™h_hgÎgefåffeõe“e³>P=ö=¤=X=<Ø<–>Ë?U?Þ@AUB BµCOCÃD;D«DôDíD™DC„BïBUAª@å@?>)=9Ô?Ç@¼AÄBÚCëDëEõGHMIJ¹KæMNSO‚PºQÞRÏSµTÖV#WŽYZ7[>\\¶]A]é^¸_¬`¸aÎbÜcßdÙeÆf¸g©h”iƒjek5k÷l¯mann¨oCoápŽq9qÛrjrìsesÑt3t”tùubuÏv5v˜v÷wYw¾xxVxx°xÛyyy5yP±PCOÞOfNÔN+M‚LèLTKÁK#J}IÑI'HŠGóGkG FÅFzF&EÀEeE!EEIE»FTFÿG¥H9HÎIUIÙJbJåK]KÐL?L­MMMþNrNçOSOºP"P†PáQ6QˆQÛR(RuR¼SS7SjS•SÄSðTT=TXTmT~T‹T…TsTPT.TSàSØSôT T T/T5TOToT„TžT·TÎTòU"UhU¯UõV-VlV«VìW6W€WËXX_XtXšXÈXúY Y:Y^YYÆYÿZHZ°[[Œ\ \–]*]Ã^l_5`abcd:eWfvgh§i¸jÊkÙlßmÚnÎoµp•qorJssétªu_vvÄwtxxÇygzz–{!{§| ||ñ}[}¾~~d~½p­æ€€3€8€0€@€p€†€{€a€5€€÷Ü»šu6~ì~Œ~-}×}|}"|È|j|{´{WzòzŠzy°yTxóxŽxw°w4vºv5u±u+t¢ts‰sr„rq…qpvoëo\nÕnIm¹m,l˜lkwjîjmiêi\hÐhEg½g7fµf#e•ed‘dcc byaòaza `™`1_ß__J^õ^¨^K]ø]£]Z]\È\\2[é[“[GZòZ¥ZOZ YÀY€Y.XâX—XPX W¾WW4VüVÂV³VšVŠVVVUøVV#VUùUúVVVV&VSVoV†VˆV›V»VÓWWWHW_W“WºWõXXBXeXmX•X§XÍXÔXùXûYYJY†Y¿ZZHZ“Zò['[[ë\4\J\q\w\«\3[VZ+Y‰YŒX÷W²VÀVJVVU¾UVT0R÷R1Q{PÁPyP*P.P‡P‡PnP.P OöPPDP‘PÁQQ´>S> =ß=Á=¨=‹=j=Q===A=V==À> >\>À?4?¿@hA&AóBµC‘D—EÇGHdIÀKLnM¶NõP]R SÖU–WAXöZÆ\Ÿ^Y_ðaxbód]e¬fágþiiíjªkRkÿlÍmµn’oGoÞpyq9rQsAt,uu÷vÈwŠx4xÄy9y‹yÃyáyéyïyõyýzz z zzzzyáy yBxËxLwÎwWvævzvu©ul´l*k¢kjƒiëiWhÃh$g†fèfGeŸdþd]c¸c bfa¼a`f_³^ý^<]t\ž[ÃZÛYëXîWñWVFUyT¡S®RšQ`P'NýNMRL…K_J H”GEŒD BŠ@õ?M=‘;Ò: 8@6d4n2l0].[,i*“)8(¾))¯*…+t,t-y.ˆ/«0Þ23b4´67‹9 :–<=£?$@¡BCŽEF€HI¸KULãNwPQ{R¼SÕTÍU®VW~XzYuZNZü[\\] ]^^’__­`G`áa|bb°c@cÈdAd´ee‡eëfHfŸfëg'gfg¦gãhhChmh”h±hÃhÚhëhÿii i/i6i;i:i«>@=Õ=p=<Ä<~>Ž??¿@A@AëBC CDDBD*CÉCJB¸B$AŽ@ã@?5>C=T? @AB.CIDQETFpG©HèJ'K`LMäOPLQ{RƒS†T´VW„XöZ$[%[ó\]]¼^ˆ_{`€abšcœdžešfgƒhpi\j?kkÒl‰m7mØnvoo²p_q q®r=r½s6s¦t tqtÖu8u˜uövRv¯wwmw´wéxxHxrx‘x´xÌxÉxÀx·x¦xx^x4x wÜw­w{wOw,wvÅv‹vLvuÄuuut¬tAsÜstsrìr§r:qÂq8p§popnðnmmím`lÀlkmjÒjAi¡hñh‡h4g»g)f”fexdòdbcßcabÜbTaÒaR`Õ`X_Ö_S^Ö^]]Û]P\»\'[“[Z›Z)YXÝXXPWêW€W)V°V(U£U!T™TSlRØRFQ³QP…POžODNÌN1M‰LëL[KÓKJJ²JIiHÉHAG¼GPG FÇFyFEµE\E5E7EnEÖFcG G»H_HñIxI÷JrJèKcKÙLML¿M4M¥NN’NþOiOÎP1PPãQ4Q†QÙR*RsRºR÷S/SYSŠS¸SãTT!T9TPTeTiT[T9TSçSÀS±SÂSÞSôTTT6TVTpTT«TÃTéUUVU‘UÓVVUV•VØWWWWœWìX0XPXqX™X½XÏXéYYNY„Y¼ZZuZá[P[Î\\\ø]Ÿ^]_0``ÿaÿcd.eKfdgvh„i“jŸk¦l­m¦n˜o…pjqJr r÷sÂt‚u6uæv™wMwúx¢yDyàzqzú{}{÷|c|Æ}4}’}å~<~›~ø>~·ÝðçÜ€€>€I€4€ðæéаŽmE~¯~W~}§}Q|ó|“|8{à{‹{3zÐzgzy y=x×xnxw‘wv”vuktät]sÒsMrÄr@q¾qUU-UN¬N2M½M_MLÌLœL‰LuLL’L™L©LÔMMDMGMJMZMoM¥MØN2NœO O P?P¾Q=QÜRS4SåTœU3UœUÑUõV!V\V©W W~WõXkXÚYHY£YìZ ZYýYÜY½Y›YƒYgYHY+YXÛX±XƒXXXFX^XœXãY"YFYXYSY2XøX¨XIWÏW9V“UÚU TBSkRwQ]P;OMêL¶KxJ5HñG·F|EED BØA¼@Ñ@ ?b>Ï>W>=Æ=˜=p=L=(=== ==;=m=¹>>x>ô?€@&@ÜAªB‹C†D¡EÙG%H…IêKDL“MèO4PšRZT0UõW²Y{[V]^²`=aºc(d†eÈfíhiiåj©kbl1mmðn±oRoìpšqjr‰s~tou[v5výw¬xHxÄy&yly™y¶yÇyÕyáyéyíyìyñyõyòyày­yVxàxWwËwEvÆvMuÞu…u!t³tAsÈsJrÉrGqÀq*p…oäoJn²nm„lòl^kÆk7j¥j inhÓh.gˆfäf:e’dçd:cŽbÛbai`·`_S^”]Ê\ü\$[LZgYwX{W}V‡UžT»SÍRÆQšP=NìM¼L»KûJýI©H,FDùC[AÀ@>Y<„:§8Ê6æ4í2à0Ä.Ÿ,Š*Š(Ó'â'á(s)J*@+L,c-ƒ.®/î172Œ3é5Y6Ý8p: ;¦=9>Ä@HAÌCKDÉFdHIÖK~MN»PKQ¤RÉSÄTµUªVªW¼X¾Y•Z;ZÉ[P[ã\o\ø]‚^ ^¤_?_å`Œa2aÖbkbùc}cödidÑe3e”eêf½>>=Ð=g<û<“<8;ç;Ÿ;];:á:°:„:W:2:: 9ý9å9¸9’9o9M9*98ä8Ç8¦8‰8i8E8)8 7ê7É7¨7†7`716õ6¡6@5ð5Ã5€5505½6m7Q8696:u;©<ž=V=é>…?;@@ÓA}B-BÁC1C|CwC"B£BA@ê@5?[>p=w<€;:¶:9w8ÿ8®88£8æ9K9È:h;*<=>?@)ARBCœDªEÌGHuIÈKLcM·NûP=QyR£SÝU)V›X0Y‰Z©[Ž\?\Ö]‚^I_1`1aAbVcadse‰fŽghŠixjZk/kõl®mZmúnœoIoüp«qTqêrzrúsksÛtFt©uuZu¸vvyvÔw!wWw„w¹wêxx1xHxQxSxQx3x wíwÊwœwhw3vÿvÌv’vYvuÖu‘uRut¼t_sûssrÂr€r5qÄq=p oöoTnÈnXmãm\lÀlkdjÆj)i‘hÙh*gÑgjfÜfFe­ed‰cöcpbÞbCa©a`†`_†_^‰^]Ÿ]\‰[ï[PZÁZ5Y²Y@X¶XEWæWvW V¯VTFTVzV·VøW:WWËXX)X?XVXbX~X²XðY3YpYÂZ%Z–[[”\(\Ð]^c_K`}ž~~e~¼Btž­¨¾ô€ €éƵ¿ÀžxO"~Ú~Ž~<}ì}Œ}/|Ê|`| {·{Yzøz•z.yÊycxüx•xwžwvŒuúu\t½t0s¦s!r¡rq™qproÜoMn»n)m’lúl\kËk-j˜j i~héhRg´gf„eóegdÚdMc¯c b’ba}`ù`{`_Œ_"^´^U^]»]w].\Ð\\4[ñ[ª[g[ZØZ’ZEZY«Y[XöXX6WßW~W5VÛVœVCUõUšUVUTÒT˜TvT@T'TT.T4T(TTT:TIT]TeT”T¨TÝTÿUEUOU‰U’UÔUàV)V@V˜V½W WWHWcW“WÄWÙXX2X™XÄY5YcYçZZ¦ZÏ[œ[_[À[¦\õ^‰XÐTóUyVóWUdSGSÌS‹T+SÛR»R1Q–QPÑPªP˜PÅP½PÊP­P¡P|PPyP¤P®PÙPÝPýPúQ PÿQ QQCQxQÆRR›S#S TTGT{T¢TÈTáTüTûTöTÎT¦T[T SšS(R R*QŸQ P”P O|NüN„N$MÌM‰M]MÄ>L=î=ª=o=>=<ý<÷<ù===F==ç>Y>Ý?v@)@ùAêBûD(EqFÒH@I­KL€MêO[PÔR›T‚V`XIZC\-]Õ_e`ðbocÚe&fSgmhxinjVk4lmmén o@oìp³q™rÃs­t”utvü>e=Ü=`<ð<Œ<);Ã;g;:Ô:•:Y:9å9¸9Ž9n9U9B9198ó8Î8®8‹8e8A8#8 7ó7Ý7Æ7§7‰7n7N7,76Ý6±6€6@5æ55'4î4¢4M4o4ð5œ6Š78‘9Æ:ê;Ô<=7=Ù>”?k@.@áA•BB~BÄB¬BMAÓAO@Æ@*?k>=¢<§;´:É9÷9N8Ë8_87ÿ88Y8´9-9Ç:€;RY?z@¦AÞCDE4FGéIKJ•KãM3NOÕQRPS‘TÜVDWËY-Za[W\\¹]c^ ^ö_ã`èaúcd(eAfMgRhOi=jjïk´ljmm¶neooÂppqq²r>r¼s.s—sþt[t³uuguÃvvcv¢vÖw wCwvw«wÎwÚwßwÞwàwÆwžw{wQw%vôv¾v„vKv uÐuuOu tÄt{t&sÊsls rªrWrq§q/pŸpognËnLmÝmilÞlDkšjójVi´i hxg¾gGfÔfEe¹e%dcùckbäbPaµa`|_ë_\^Ô^L]Í]V\ã\i[â[SZÅZ7Y±Y!X§X9WÂWIVàV{V U¨U`3a.b;cWd€e¥f¼gÌhàiðjükølömñnæoÔp¾q¦r‰sct,täu™vXwwÎxzy&yÂz[zå{k{à|H|­} }u}Ü~:~…~Ê0QJV’ÃÕÓ¹•ƒoK~æ~›~[~ }¯}M|ñ|š|;{à{†{%zÃzfzy¡y:xÑx[wÙwUvÏvIu»u*t’sùsarÕr\qâq_pÏp2o™onrmàmEl«lkyjàjMi·i+h˜hgjfÌf.e¢ed…cìcQb¸b%a—a`ˆ`__^¡^)]¿]n]/\ì\³\X\ [»[|[7Z÷Z±ZpZ+YåYšYEXîX‰X&WÁWhWV³VSV U¶UhUTÀTnT/SÚS©SmSGSSSSSSS"SMSgSnSŠSŸSâTTLTgT§T³TþU UQUUU¬UÎV4VQV›V V×WW?WqW¦WðX=X­XÝYfYZ&Z[[BZÛ[ø[J]w_˜WÝSZRFT+T@R­QÿRîR/R3QôQ[QP–PhPsP¹PÝPòPÇPÃP“PœPsP’P†P¶P³PÜPÌPÜP¾PºP˜P•P’P¾QQ_QÈRHRÕSMS°SïT'TETwTŽTµT¸TÁT¦T‹TGTS™S7RÄRUQÚQoPúP‡P O™O.NÌN|N=NMðMÞMÌMÌM×N NPN²NïOOOBOoO¹PPePØQKQÉR'RS SŽTT´U8U‹U²UÅUÙVVEVªW W¡XX‚XÙY YKY\YRY9Y%Y XéX¾XŽX[X!WòWÃW˜WW~W WÝX"XWXX—XšXˆX_X!WÏW\VÎV&UxT·S÷S7RXQPP9OMëL¼K†JRI GôFÀEŒD]C;B-AH@?Ê?%>ž>1=Ý=—=`=4=====)=Q=‹=Û>K>Ì?g@#A BC4DrEÁG"H‡IôK`LãN^OÍQTSUVëXÞZÎ\¥^D_ÉaMb¼deEfYgfhqimjgkflamHnn®oMp péqØrósÙt±uƒv>væw{wþxoxÊy y?yayzyŒy’y”y“y’y–y”y‡yay xšxwšwvvu¥u;tßtts¬s5r¹r4q©qp„oìoPn°nmnlÎl,k“jûjeiÆi(h‚gÛg9f’eéeFd›cæc3bva°`ì`&_b^ ]æ].\h[¤ZèZ!YNXzWšV¼UÓTäSèRáQÊP˜OKMòL”KZJ{I”HUFâEFC¡Aõ@N>£<å;9/7J5e3z1ƒ/w-U+:)C'‘&&[&Ý'±( )±*Í+ï-.P/“0ß243¡56®8E9×;f<æ>b?ÜA[BæD‹FJHIÊKfLêNRO—P´Q¼RÂSÒTðVVæW£XEXÞYZ$ZÅ[Z[ç\v]]¥^F^ì_–`7`ÒadaëbmbæcXc¼ddzdÓe'eveÀeÿf1f`ff°fÅfÖfáfîføggggfùfîféfèfçfãfÚfÆf¨f‹f]f6eøeíeµeÎdûb´c4c]c bòbÆbibaÀa^`ü``A_ç__8^ã^‰^5]ã]š]N] \Ä\~\:[ø[©[[ZþZ•Z)YÄYNXÚXkWöW‚WVŸV-UºU>T½T8S¬S&R·R8Q¡QP…OâO2N|M»LéLKJIH%G.F@EdD€C¢BÇAïA.@‡?é?I>©>=ˆ=<Ž<;½;_:ý:¢:W:9Ó9“9X9!8ï8Æ8¥88|8h8M8,8 7ç7É7¦7ˆ7j7R7?717 7 6ð6Õ6·6”6k6=6 5Ð5‹524Î4j4 3Ï33¿474å5à6è7ú9!:7;;×<”=L>>Þ?•@?@éAtA×BAßA€A @@?f>§=É<Û;æ:ò: 9@8¤8,7Ê777œ7à8:8¦919à:°;œ<š=ª>Ì?ÿA8BkCŽD´FGlH×JKcL¹NOlP´QîSs¨tt^t¸uu\u¥uävvSv†vÃvþw3wUwewhwawXw@wvývÜv´vzvDvuÆu‡uHutÃt€tYüYµYlYXÉXiXW¢W@VèVˆV2UÔUU#TÒTlT#SÈSS*RðR¦R|RDR,RRRRRRWWþX]XÔYY§Y¾ZÐZ[œZ|]ƒ^gZ‰Q‘Q S\RÅRªQ˜QœPãP˜PoP#P$P6P[PŸQQQP¸P¥PhPtPUP†P‚PºP®PÈP¢P™PcPNP*P(P+PaP±QQ†R R›SSkS›SÕSõT)T?TgTnTƒTrTaT(SïS—SCRßR€RQ¶QPPôP”P4OÛOO4NðNÀN˜NNiNkNtN¤NäOAO…O¾OÖOûP2PŽPòQ^Q»RRWR®SSTTUUeU¤U»UÉUÞV VTVºW2WªXXlX¯XáXüYXøXêXÙX¼X–X`X(WçW«WsW>WWW+WaW¡WßXX/XCXFX-XWÏWxWVyUÕU*ToS¿S R8Q@P1OMøLÒK¦J‚IaHAGEúDØC¿B¶AÎ@þ@E?™? >’>2=ç=°=…=m=\=V=Z=h==À> >y>ý?¢@mA]BrC¡DãF-GˆHèJPKÀMIN×PVQñSÁU²W§Yƒ[K] ^°`/a¨cd?eXfagkhrizj’k¦lmnnn»ofp:q$r ssót¾u€v0vÏw^wÞxIx£xåyy5yNyZyZyUyUyYy`y\yAy x¶xIwÍwQvÙvduëu}ut´tJsßskrïrjqâqVpÄp1oœnþn[mºmlqkÊk'jióiLh¨hgZf¬feYd³cÿcGbaÕa`^_–^É]þ]A\‰[ÊZþZY8XsWÇWV/UUTkStRhQ@PNÁMlL J¶I¼HÝG®FBD§BûAR?©=ûò@wBC¥E`G"HÕJqKöM]N¤OÁPÇQÒRëTUUãV–WAWäXYBYìZŒ[[°\@\Ù]u^^¸_^_û`aa¤b"bšccmcÍd'dƒdØe(ekeeÎeùff2fEfQf[fafkfnfkfcf^fQfHfCfe=Î=C<¼<>;Ì;`:õ::19Ý9˜9V98Ö8›8b8*7ù7Ò7¿7©7’7w7Y7<76ÿ6à6Ç6±6¡66†6z6i6T6>6#65Ø5¦5n5+4Ü4€43¼3k32à33¬4k5h6m7t8ˆ9Œ:c;);ô<µ=w>A>ü?¨@C@ÈA"A6A @´@F?Î?H>¦=å=<;):69N8Š7ù7‘7D77 7/7o7Ä818·9Y::ý;ù=>%?\@™A×CDDEFûHbI¨JìL=M”NúPCQxRÆT2UºWIX–Y¨Z½[ª\k]%]Û^Œ_H`0a:bYczd—e§f«g±h£i‚jSkkºlcmmÔnˆo9oâpƒqq‹rrxrésSs±t t\t­tñu3uru±uävvEv‚v°vËvÙvÝvÜvÏvºv£v‰vdv9vuÂu…uDtýt¸tvt0sðsªs\srÀrmrqÁqlqp•p oŽonšnmƒlõlfkêkbjÆj'iqhÒh6g›gfneÈe%d{cÏcQîQ»Q|Q[Q3Q*QQQ!Q'Q6QbQ…Q¨QØQÿRARkRªRÒSSBS€SSÛSÿTgT“TûU UfUnUÍUàVHVyVÞWLWÍX3XeYY0Z7Yë[&Z]N]=\äQCQYS3RR*PÏPaO¯O_OfO•PPUP¼PÿQJQPæP•P‹PVPaPNP€PƒP°PšPPgPPPPOôOöPP3PƒPæQdQâRkRÕS:SWS‹S¬SÞS÷T!T*T=T1T)SýSËSS:RìR RIQóQ¦QYQ P¹PqP&OæOžOkO9OOOOOPO‹OÙPPTP}P¨PâQ1QQêR=R€RÂSS[S¶T(T•UU[U—U´UÌUêV!VpVÓWBWªXXFXyX™X©X¬X«X¤X–X|XNXWÑW„WEWVÔVºVÁVìW&WbWšWÇWêWúWõWÚW®WyW!V¬V UˆTßT-SRâRQ2P+ONLöKÛJ¾I«HšG†FpE^DRCQBfA‘@Ñ@"?Œ? >«>`>&=ú=à=Î=Å=Å=Ø=ý>7>‡>û?„@'@þAñC D5EsFºH InJÏL@MÉOdQ RÃT’VyX\Z[É]w_`aøc@ddeofrgyhŒi¯j×kålÉm†n+nÕo–ptq]rCs>ttÆu|v$v¾wDwÁx&xwxµxàyyyyyyy#y%yxùx¶x]wøw‡wv¡v0uÀuUtët‚ts¢s(r§r q’qpsoÞoJn±nmjl¾lkdj¾j"ixhÄhgxfËf"eydÈdc]bŸaîa1`{_½^ø^/]f\¥[ì[.ZaY_X=WTV·V)UyT°SÛRéQãPµOtN+LÙK~JI H1G E¤DBb@³? =d;ª9Û7ø6422X0{.“,Š*t(w&Ê%¬%W%³&g'H(N)f*Š+°,ß./\0¯2 3€56”89Ÿ;<“>?•AB®D\FGÌImJ÷LcM¯NÛOëPôQûSS÷TÈU~V0VèW¥XaYYºZUZç[v\\ ]@]ã^Š_'_À`Q`ÝaeaâbWbÀc$c†cæd?d’d×e e8eee‰e£e³eÀeÍeÒeÜeÛeÜeÕeÊe»e®e¢e™e‘eeieQe3e dâd©d¦dxdÈd9b¬bÌbpaÚaÖaŠa`¼`J_Ý_s_ ^­^U^]´]j]\Ì\{\5[ó[¶[i[#ZßZ’Z>YáY~YX¹X[WóW‡WV£V6UÄUPTÕTVSÙSZRØR`QëQsPòPhOÉONoMÍMLQK{JIŸH GŽFwEsD|CŽB£AÉ@ù@/?r>Æ>'=<ö^??µ@'@j@q@G?ô?Œ?>=ë=*¼?ÿAMB™CÞE-F“GóI=JzKÁMN„OÃPíR2S›U+VæX]YcZf[^\*\ê]­^`_ _×`Öaöcd2eDfMgOhFi)iøj·kdl lÉm~n0nßoƒpp¦q,q«r&r–rûs\s±sútCt„t½týuBu{u¦uÅuëvv6vKvWvWvNv8v%vuæu»uuJut¼ttt2sñs«sis#rÞršrJq÷qœqEpîpˆpopnòn‚n mŒm lukÜkWjÖjFi©ihhg»g!f„eÛe3d’cñcEb¡aûaa`Æ`7_®_#^œ^]~\ø\t[â[GZÁZBYËYYXãXtXWƒWVVU‰U#T½TPSòS˜S4RÒRkR Q®Q@PÊPLOÓOWNÛNdMçM|M9LøL‹LKyJüJ‡JI©I3HÁHWGñG‰G*FáF°F{F/EÝE±EÀEôF9F‹FæGNG¹H*H¥I&IŸJJ”KK›LL–MMMôNkNÛO@O“OåPwçx€yy¡z0z´{&{–| ||á}9}€}¿}ù~)~K~l~›~Ë~ë~ø~ð~Ï~»~Æ~Í~Ã~ª~ƒ~X~%}é}œ}N|þ|®|[|{°{PzìzŒz-yÍyex÷xŠxw w%vŸvu~tëtWsÌs,r–rqzpúpŒpoŠnðnRmºm lƒkèkPj´j$ih÷h`gÆg,f•fegdÑd5c”bñbPa­a`v_å_\^Ø^Y]Û]Y\Ì\Y[÷[š[V[ZÆZyZ2YöY´YrY&XÜXXEWéWŽW4VâVV'UÌUqUTµTZSúSŸS:RÞR~R+QÍQ‡Q;QP¼P’P_PKP2P3P/P4P)P9PnP²PçQQ@QfQœQÆRRDR†RŸRæSSxS¤T T/T–T®UUU{U«V%V{VíW{W¿XQX”YžYoZ¯Yt\]"Y°R¸R RZQ9Q+P/P OAONüO3O¹P P£PáQPÐP¿PƒPƒPYPoPaP‹PŒP£P„PwPIP6PPOòOùP P8PPÙQPQºR1R“RéSSHSjSS²SÒSÚSìSçSâSÂSšS`S&RéR­RmR&QåQ¦QkQ%PêP©PyP?POÞOÂOªO±OÈOóP!P\PP¸PÚQQ>Q‹QåR:RŒRÒSSFS…SÒT-T‹TïU@UU®U×VVBVŒVèWCW˜WÝXX8XLXTX[XcXcX\XBXWÖWŽWBVúVµV‰VpVƒV¯VæW WTW…W§W³W§W‰W\W!VËVTUÅU6T˜SøSeRÁRQ"P,O,N(MLKIýHúG÷FîEéDêCïCB+Ah@¹@!??8>ä>«>„>m>]>V>Z>k>“>ã?G?À@L@îAÁB°CÅDæFGcH´JKuLòN‚P*QåS£UcW3XýZ¡\B]ã_p`åb;codƒe‡fgœhÅiøkllâm”n?nûoÎp³q“rksSttÅupvv¦w*wŸwýxGx~x¦xÂxÑxÓxÌxÌxÞxðxõxáx¥xVwúw—w0vÁvXuìu{ut¢t7sÅsOrÒrQqÍq>p©poƒnìnSm±m l^k«jòj>i—hóh9g„fÛf2e‰dÚd ckb§aäa;`Š_Æ_^N]\Ê\[JZ…Y¹XÁW‰VfUUT|SÐS+RYQUP+NæML@JäIHuG‘FpEC}AÔ@$>z<Ô;"9V7p53´1â0 ./,7*+(,&€%i$ÿ%:%×&«'¤(¶)Ú+,+-`./ë1J2¹455µ788³:);¤='>«@(A¬CUEFËHnIùKkLÀMøO PQ RRâSªTlU*UíV³WyX7XçY‹Z"Z°[@[Ò\k]]µ^X^õ_…``¥a(a¦bb}bàcBccéd+dfdœdÊdëeee*e8e>eFeEeDe‹=ß=E<¹<*;¦;-:©:?9Þ9w98²8^87Ñ7Ž7P76Ô6”6\6/65õ5×5¹5 5‹5s5a5U5L5H5C5:545*5554ð4Õ4­4}4:3ì33'2À2k2&1Ú1Á22¶3{4U5F6F7M8L99È:’;k}??†?¼?¹??>>Ö>`=Û=:6_6 6ø7`7ß8|94: :ö;ó=>1?v@ËB&C|DÏF-G‰HÔJKRL¦NO=PQQRÝTnV5WÒYZ[[å\¦]o^*^Ñ_`{ab°cÎdáeêfågÜhÈijZkk±lkmmÑn}oo¬pAp×q[qÑrL±MM‹N N~NàOkRl2lõm¯nho-ppãqºr‰sYttÄuhuþvŒw wxwÌxx=xcxzx…x‡xƒxŽx¨x»xÁx xOwîwˆw(vËvduþu–u)t·tFsÛshrñrpqêqbp×pJoºo!n†mæmAl•käk*jfi¥hóhOg–fÙf+eŠdÚdckb«aæa#`u_Í_^R]“\Ó\[[ZYÄXþXVóUØTèT(StRÂRIQ¶PÄOžNXM K¯JKHûGåFùE×D‚BõAK?œ=ö\=Ÿ=<{;ì;^:Ü:d9å9z98³8L7ò7¥7Y76Ë6‹6G65Æ55c5=54û4ã4Ì4º4¥4•4444‹4†44w4k4d4]4M4743ä3¡3P2ì221Í1‹1F1F1¢2,2Þ3²4¤5¥6§7š8g99Ï:¦;‚>è?? >ß>‹>'=¶=2<Œ;Ñ:û:9"807M6—6"5æ5È5¾5Ò5ù6;66ü7z88Ò9£:‰;<Ž=·?@\A½CDpEÍG*HzI»JõL8MˆN°O¶PÓR(S³UdW XwY®Z½[•\W]']î^™_F`$a,bIcgdyefxgnhXi0iõj¨kUll»min n£o>oÙpppõqmqÚrCr£rís.sis¨sìt8tst¢tÒtátôuu1uFuUuUuTu[uXu3tõt¯tit7sós¡sds3r÷r²rlr#q×qq=pÞp€p)oÅoPnÆn+m–ml¾lOkÍkCj­ji‡hùhkgÔg5fŠeòeRd—cècOb°bak`Â`_`^¦^]†]\š\[“[Z‘YõYYXÁX:WÄWWVëVV4UÇUMTÊTTSßSvSR·RaR Q¯QXQP«PePO¨O2NºNFMÓMfLúL™LSLKÑK`JàJkJI£IIHãHHGÃGlGFÏFžFvF=EùEÅEÀEÝFFfFÌG2G¤HHƒHÿIwIïJmJíKiKäLVLÈM6M®NN}NãO6O‚OØP0PŒPåQ9Q„QÂQûR8RrR¨RÒRòS S(SESQS?SRåR»R±R¾RÞSS2SWS}S SÀSæTTCTqTŸTÁTâU U*U@UQUXU`UgUwU—UËVVrVÕW=W¢XXjXÞYfYùZ¤[g\>]*^*__ý`þbcd!e.f@gVhmijkklHm mùnÖo½p¬q”rms8sút¶unv#vÏwlxx˜y)y³zAzÅ{5{{ù|R|›|ß}}S}‰}¹}è~~8~L~W~W~V~?~~!~,~!~ }ì}¿}}Y}|Ø|’|E{õ{§{Mz÷z“z,yÉyixúxtwÿw‘wv£vu“utlsÊs,rŽqýqopêpkoæo{o n…móm_lÇl,k—jþjki×iEh°hg|fßfIe±edrcÑc&bwaÈa `y_Ú_C^²^+]›]\£\"[Œ[Z¢ZXYþYYBY XÐX‚X2WèWœWIVðV—VDUðUUGTòT‘T7SÔSuSR¯RKQéQ…Q!PÂPgPOÆOƒO=O NÔN°N†NtNWNTNKNSN\NN¨NØNøOOPOŽOáPPtP¥PöQ&QzQ­RRCRªRðSQS¨SûT=TrTÌU U¡V V§W"W«X X“XéYEZíRÕSIR!Q9QaQÅQxQP{PAP=PPP~PâP÷P÷PÀP¨PxPP€PŸP”P°P£P¬PˆPqPLP9P-P#P&P'P@P_P›PàQ3Q~QÌR RHRvR©RÌRïSSS+S=S>S?S+SRóRÑR¶R•RqRGR QðQÉQ Q‚Q[Q=QQPéPÞPÝPèPõQQQ'Q>QNQ^QrQ—QÇRRORžRèS&SZSˆS¸S÷TDT–TèU3U{UÄV VTVVäW+WbW‡W WªW³W½WÌWßWèWâWÈWžWiW5VîVŸVWV$VVV:VnV©VæWW.W+WVòVÂVV!U¨UT•TSSRQáQP5ORNfM|LK¡J·IÓHîGøGFE2DQCBÁBAx@ö@@A@ ?ç?Ø?Ï?Í?à@@<@‹AAŽBBÄC‘D‚E|F‹G­HÞJ8K¤MN P3QÎS€U2VÙXyZ [£]8^¿`.a|b©cÂdÎeßfþh2icjzkplAm mÌn“o]p0qq×rœs^tt¸uPuâvivÜwBwwÍwüxx2x8xQ?çA ClE!F¹H8I«KL`=x<½<,;¢;:˜:!9¨9/8¾8U7ñ7746é6Ÿ6U6 5¿5v544ú4Ç4ž4~4_4>443ñ3ß3Í3Æ3É3Ë3Í3Í3Å3º3²3¬3§3¡3’3t3F32¯2L1ã1‚160ü0Ç0Æ112<3 3û4û5ø6ç7·8]99Õ:»;°<š=c=ù>P>j>^>,=Þ=~= <Ž;î;4:Y9o87‘6­5ý5“5`5M5P5j5”5Ö6-6—77´8n9>:;<)=S>œ?ùA[B»DExFÑH#InJ¨KàMNO P(QqS T¿VgWñYRZq[C\\Û]§^X__Ð`ÉaàbÿdefggïhÅiŽjFjôk¦lTlÿm£noÙo~on«n-m›lÿlokÿkškj™jihähJg»g&fˆeáeAdŸcîc?b–a÷a\`¼`_g^ž]Ø]=\Ó\e[Ø[NZÇZIYÅY5X¥XWW V™V*UÉUpU TœT(S»SCRÉRaRQ¼QhQPÂPrP'OæO OGNÚNdMíMƒML¬LJKöKÀKŠK:JÊJWIìII7HÛH€HGËGwG%FÛF¢FwFNFEâEÂEÃEàFF}FèGYGÆH6H¬I IšJJK K„KøLjLÚMJM¶NN~NÓO%OwOÍP(PPÖQQaQ¢QÞRRRR„R«RÈRêSSSRõRËR¤RRRªRÍR÷S!SGSgS†S©SÔTT1TXTtTT´TÏTäTñTõTýUUU7UpU¾VVvVÖW4W•WþX€YY¿Z|[F\+] ^_ _ú`õaøcd ef+gBhSiZjVkAllùmÕn³o™pƒqerQNQ\QiQzQ‹Q¤Q¼QÚQÿR+RaR RäSSSSS®SâTTiT·UUWU£UðVv©wwKw…w³wÑwáwêwñx x#x6x8x%wîw|wvŸvDuèuˆu"t°tCsÚsmrÿrŒrqˆpøphoÖoGnÅn9m—lîl7k€jÀiûi7hvg¿g fFe~dÈdcib¼baA`~_Ç_^a]§\ç\[SZ‹YÍYXNW}V¯UÚTæSîRþRQ+PœPNO˜NˆMRLJ©I=GèFÀEÆD´ClA÷@[>µ= ;a9°7õ6"4C2r0².õ-7+t)'Æ&$ä$J$A$%%Â&´'Ñ(ô*+K,|-º/0d1Ì364¡6 78ò:e;ì=}?@¿BD6EÔGVHÈJ+KiLMoNDOOÜP¨QyRNS)TTÒU¡VeW"WÎXhXöY†ZZÀ[c\\­]K]à^i^ê_e_Ú`G`¯aagaµaûb1b_b†b¨bÌbçccc.c;cCcFcCc7c(cbübâbÅb¢b~bXb&aöaÁaŠaKa`À`q`_Å_p_^¼^_]ÿ]˜]0\É\c[þ[[AZäZŠZ2YáY’YNYXÑX’XSXWÇW~W.VåV‘V+UÀUOTßTwTSSR¬RKlJµIýI$H\G„F—EŸD”C~BjAg@y?†>‰=Ž<§;í;X:Î:P9×9[8ä8q7ÿ7‘7-6Ï6x6&5Û5Œ5:4ï4©4i4743ð3Î3ª3ˆ3d3J30332ù2ý33332ù2ö2ø2ô2ð2â2Å2˜2Z21«1H0ë0Ÿ0e0<0=0‚0ô1š2m3Y4T5K626ý7¢8N9: ;< <Ò=\=«=Ã=²=~=3<×D?¢ABmCÓE.FGËIJiK¨L¼M°N‹OcP¬RbT:UõW†XêZ Zè[µ\]a^^Å_†`qa}b—c¬dµe±f¡g‡h`i-iêj˜kFkñlšm;mÏnfnÿo’pp…púqbq¹r r\r®rýs6s`ssÀsäsïttt-tDtOtAt=tBt.süsÃs†s=rör±r~r\r(qâq—qIpüp«pQoóo•o/nÔn{nm’m lukâk[jçjjiæiahÔhAg¨gfmeÌe2dŒcÜc(b}aÓa.`“_ë_G^¨]ä]\n\ [«[ZYÿYoXâX^WâWaVáV[UÚUgUT°TVSèSrSR“RQ®QQPøP°PhP OàO¡O]ONÓNnNM’M#LºLZKøK K]K"JìJ›J5IËIkIHÄHpHG½GjG"FâF¦FxFRF,FEÔE¾EÂEÚF(F”GGmGÝHPHÅI>IµJ/J¨KK”LL|LèMPM¶NNrNÈOOmOÄPPnPºQQ@Q}Q½QøR.RZR€R£RÆRßRÞRÊR­RŽRvRmRxR“RºRåS S.SLSjSS¾SíTT,T;T]TzTŒT”T›T¦T­TÄTçU"UjU¶VVRV©WWzX X¹Y|ZK[!\\ý]ó^í_í`æaçbícøefg/h5i1j%k kîlËm§n†olpUq5r rÐstBtùu¦vLvéwxx§y7y·z0z—zö{P{£{í|-|h||Õ}}3}Y}{}“}ž}¦}¤}œ}}„}~}s}\}9}|è|¹|†|I|{½{w{'zÑzyzy¼yQxæxtwýw‚w v…uüuptâtOs»s&r‹qñqPpÄpCoÄoBnánˆnm›mlwkÜkDj²j&i“ihhgÉg)fŽeõe[dÃd!c|bÏb"ao`»`_o^Ç^$]‡\ò\d[Û[YZÉZIYÛYpY X¬X^XWÔW~W%VÅVeVU§UNTùT¤TSSýSS9RÙRuRQ²QSPéPPOºOWN÷N—N=MñM¥MhM+MLßLÊL¬L£LŒL‡LLL¡L­L°L¾MMqMÃMÿNRNNÜOOjO¶PPOPœQQaQÆR!R‡RÞS>S£SêTUT®UJUáUÑV¹W_WÁWŸVJQÑR¹SQÌQP¡P~PsP¢PËPëPäPûQ!QQPïP×P¼P·P¯P¶P¸PÍPÌPÕPÆP¼PšP€P\PMPIP`P†P®PïQ*Q]Q„Q¬Q»QÊQÑQéQûRR,RARURfRnRnRgRVRER1RRRQéQÜQÇQ¶Q¤Q—Q‰QwQjQ\QSQNQLQPQZQeQuQƒQ”Q¬QÆQæR R,RLRoR›RÔSSLSyS¥SÕT TGTŠTØU#UoU»VVKVŒV¾VàVöVýWW WW-W>WKWJW5WVùVÌVVAUøUËU¼UÍUðVVOVvV™V¡V›V‰VfV7UëU„UT‡TS£S@RÛRaQÁQPQO€N°MßMLJK‚JÂIúI!H:GXFƒE·DñD=C›CBƒB!AàA°A“AˆA‹AŒA•AÄBB‚BüCzCÿD¦EnFKGFH`IJÕL0MNûPxRS—U)V¯X6Yº[G\Ð^H_¡`âbc'd?eZfg¤hÅiÒjÄk¢lvmInnÚo¢pkq2qör®s\sùt‹uušv vnv¾ww9wcwƒwww­wÊwàwíwÞw»wrvøvv3uØu~ut§t*s¾sbrýr’rq—qp|oðodn×nOmÇm%ltk¸kjBiuh¬gçg f`e¤dÞdcQb¢aùaI`_Í_^U]¥\ê\([cZ—YÒYXRWVºUèUT$S4RAQdP‰OåO˜ONLÕK‹J0H¿GZF!E$D"BéA†?ø>Q<¥;9S7›5Ò3ú2+0g.²-+N)‡'Ã& $Ú$%$$L$¾%U& '#(>)g*–+Ì- .W/«1 2t3Ô566Ÿ89Ž;<¬>3?ÉAwC)DËF_GâILJK§L”McN*NúOÎP§QRZS0TTÑUšV^WW«X:XÉYeZZ§[J[ë\†]]¦^$^œ_ _y_ã`A`™`æa-abaaµaÖaûbb;bWbkbzb‡b‘b“b‹b}bhbNb.b aça¸aŽa]a,`ò`±`o`._ê_¡_T^ÿ^¨^P]ò]Œ],\Å\`[û[—[6ZÓZsZY¾YeYXÂXyX7WùWºW€WÈ=Ä<Å;Ü;:‡9þ9‚9 8š8.7µ7>6Ó6m65»5f54¼4l4*3î3¶3…3\3632ð2Ó2¯2Œ2h2B2*2 2!2(20222625272<2:242&21ã1©1[10¨0Q0 /Ö/²/´/ó0^0ÿ1Ò2»3²4¥56C6ï7©89s:v;l<4<º===<Ô<’<:;Ô;Z:Ä: 9-8@7P6g54ï4’4q4s4…4¦4Ø55n5Û6Z6ø7³8ƒ9f:e;{<­=ó?M@³B%C’DàFG[H»J)K„L•M|N8NýP9QÕS¾U”W+XˆYžZ‚[W\;]]Ü^‹_D` ab4cMdUeQf@g&hhÏiŒj8jâkŽl4lÖmlmünoožpp}pÜq;q“qérBr…r·råss1sas…s‹s˜s¤s«s´s¨ssŽs†sWsrír¬rfr qîqÌq‘qEpøpªpWoþo¢o>nÝn‚n+mÓmflòlwkík\jÍjBi½i8h°h"gfòfOe¨edhcÂcbca³a `k_á_5^w]Ú]\Z[Â[LZÒZMYÎY@XœWïWaVþV˜VUœUTžT3SÙS‹S)R·RFQ×QdPïP‘PHPO¸O{O7NúNÊN‹NCMôMšM.L½LVK÷KŸKOJùJ«JyJHIþI¢IEHïHHOGþG©GZGFÛF¥FwFOF,FEéEÅE®E«EÓF*F™G GwGëHcHÛISIÉJ@J»K3K¦LL†LíMLM®NNgN¾OOfO¸PPRP™PÜQQYQ˜QÒRR/RQRxR–RžR™R…RmRZRLRJR[R{R¥RÏRôSS0SSS}S§SÏSçSðTT/T9T?TITVTdT{T¡T×UUMU€U·VVeVåW‰XRY-ZZø[Þ\Ó]Ó^Ï_Ó`ÓaÓb×cådófghiiëjÑk¸lœm{n\o@p&qqÑrsMtt·ubvv¤w9wÍxXxäy`yØzCz¢zø{H{“{Ï| |=|t|›|Ê|÷}}1}>}G}F}@}8}0}&}|þ|ß|º||d|0{ø{½{w{*zÕzz,yÒylyx—x!w®w3vºv6u®ut‰sös_rÉr6qžpùpkoìonnín–nNmämjlÛlGk¯kj‹iÿilhÓh5g˜füfaeÈe2d—côcNb¦aöaD`–_é_?^‘]î]L\­\[{ZòZiYíY‚YX›X:WáW‘W=VãVˆV&U¿UaUT©TQSøS¢SLRíR‡R"Q»Q[PøP–P-OÊO`NûN˜N:MÜM{M(LÚLšL^L4L K÷KÝKÎK¶K«K©K«K«K«K½KâLÑ@sB'CËE_FëHdI·JÑK¹L‰MSN'OOáPÀQ™RtSETT×UšVLVìW}XXªYHYìZŒ[*[Æ\U\Ú]W]Ì^A^­__s_É``W``¹`àaa*aParaa¨a½aÐaÛaäaÞaÍa»aŸa}aUa(`û`Ë`“`]`!_ß_›_U_^Ë^€^1]Ü]] \¾\\[õ[Ž['ZÁZ]YûYYCXìX•X@WïW¤W^WVÙVšVXVUÌUU+TÑTzTS±S;RÅRFQÔQhPùPšP4OÂOJNÓNTM½M5LÙLsKèKCJ‰IÇIHSG–FÁEçEDCBA?õ>ó=û<ù;ö;:M9·938½8L7Ø7e6í6|65·5Z54§4P3ú3³3s362ø2½22g2B21õ1Ó1­1‰1c1G1<1@1H1O1S1[1c1n1y1z1v1h1O1&0ï0§0S0/²/o/A/!//W/Æ0l1:2%3 44á5ž6X7#7ÿ8ï9ë:Û;ž<<\e™d÷dSc«cb\a®a`b_»_)^{]Á]\_[¥[ ZtYáYaXîXlWÑW VzVU«UNTØTMSÒSeSR®RTQêQyQ P—P-OÚO—OUONÖNžN[NMÝMžMbMLÁLWKîKK=JïJ–J7IîIÐI¦I`I H¸HjHGÒGƒG6FôFÅF˜FjFCF#F EêEÈE£EE”EÊF(F•G GGøHqHéI_IÕJMJÇK>K´L'LŠLåMEM¥NN]N®NÿOQO¡OéP2PvPµPøQ7QtQ«QÕQúR%RER\RdRZRGR7R*R#R&R;RbRŽR¶RÖRõSS=ShS‹S¥S¶SÑSæSðSøTTT"T;TcT‘T»TÜTôUUTU¸VDWWëXßYÒZÅ[¶\º]É^¾_·`¾aÅbÇcÒdÝeéfègÚhÁi¨j”k|lgmJn,ooõpÌq•rPss½tkuu»vWvçwxxx…yy|yèzCz›zë{2{k{¦{ß||?|l||¨|Ç|Ö|â|ä|â|Û|Ò|Ç|¹|£|„|_|5| {Û{¤{f{#zÕz€z'yÑyyx³xDwÏwZvåvkuçu`tÏt:sŸsrhqÔqFp¬po’onºninm³m7l«lkjíj_iÑiRZR~R©RÕSS)SSS}S±SíT/TsT¹TþUGUŒUÉU÷VV%V.V6VBVVVlV…V”VœV™VŒVyVYV-UöU¾U“U„U‹U£U¿UÚUðUúVVVUíU³U_TóT{TS”S7RáRR/Q¸Q$PqO¶N÷NCM’LêLJK¯K JUI‡H«GÜG FsEÑE?D¯D1CÏC‹ChC]CeCjCqC„C®CôD^DîExFFµGuHLIEJcKšLçNAO§QRrSÙU@V¯X'Y£[\]ï_9`na™b·cÏdçeþgh#i'jjûkÔl¤mgn)nòo¼p…qEqþr­s>sÏt_tÞuSu±vvIv…v³vÑvãvüww.w7w/w vÕv‡vu£uBtét„ts‹sr¢rBqÑqQpÉp6o¦on„mñmUl­kôk4jfihËgùgf8eXdcªbæb.a{`µ_ä_^H]}\º\[GZ‚YÀXòXW9VXUzT›SÂRëRQFPUOKNN6MªL¢KdJ HŸG$E°DlCkBSA?{=Ó<:`8£6ä53,1A/k-­+ò*A(€&Í%M$9#¬#¯$$·%^&#'(2)c*µ,-m.Î071¤34Š679+:Ï<^=ô?¦AjC$DÊFfGíIDJbKILLýMñNäOÓP¾Q¤RSXT*TõU­VKVßW~X&XÏYxZZ»[V[æ\q\ì]c]Ö^C^¦^û_K_Œ_Ã_í``A`g`‘`µ`Ù`÷aa%a.a-aa `é`Ä`›`k`4_ú_¹_v_,^â^^Z^]Å]p]\¶\P[å[y[Z¢Z5YÉYaXüXœX>WàW‡W0VÝVVDU÷U±UjUTÏT€T+SÏStSR¨R/Q©Q$P¹PUOïOvNõNrMäMXLÐLTKñKnJÃJI#=<:õ:9C8¯827¿7K6Ï6P5Ù5q5 4¥4D3ç33=2ó2¢2\21â1ª1v1G10ï0Æ0 0|0a0S0R0X0a0n0€0“0¢0°0³0­0š0{0M0 /½/h/.Û.¯.—.œ.Ð/K00í1÷2ÿ3ê4½5„6W7@8<9<:1:ú;z;·;Å;¶;;U:ü:‘: 9X8ƒ7™6 5«4Ë4%3Î3³3½3Þ44J4‘4ñ5n66´7‡8t9y:–;Ð=!>ƒ?ûAzBðDPE™FÚH:I¸K&LM³NŸO±PçRlT7UçWVX‚YƒZy[w\u]_^)^ð_Ì`Ìaàbúd ef fùgÚh¨iejjÉktll¯m@mÆnInÈo4o˜ppxpãq8q]qœqÝrr3r8rer’rr²r»r¦r†rbrIr/rqÏq’qGpþpÉp•pKo÷o oFnèn‰nm«mGløl˜l&k¯k0j°j(i—ihogÜgKf²fetdÉdcpbÆba^`¥_î_=^]Ü]#\k[«ZíZ3Y€XáXSWÖWMV¬VU`TÍTbTS“SR¡R7QÒQvQP¤P8O¿OXNõN NdN/N M×M‚M:LùL½L‡LHKâKzKJ»JoJI·I_I?I"HêH™HGGõG¬GbGFÏF¡FzFTF*FEíEÕEºE“EpEmE¡EùFsFñGgGäHdHæIgIàJaJàK]KØLFL¨M MnMÏN(NN×O)OrO½PPKP“PÚQQYQˆQ³QÞRR%R,R"RRQøQôQþRRGRxRRÁRäS S3SVSmSSS¥S³SÂSÑSáSûT"THTcTkTpT‹TËUEUüVôXYZ[,\L]o^y_~`a¨b»cÒdäeôfôgéhÑiÃjÀkÅlºm¨n—o†phq3qör³srt'tÜu‚v$v¹wLwØxcxæy^yÂz ztz½zÿ{>{y{±{à| |(|J|f|v||€|~|u|m|]|G|*|{ß{µ{€{H{zºzfzy¶y\xúx’x#w­w0vµv6u¯u#t†sêsBrŸqüqapËp/o¡on­ndnm¬m1l¡lkjjÎj9iŸhühWgµgfqeÒe,dŠcÜc-bzaËa`i_°^û^G]˜\é\=[’ZçZ@Y£Y X€WüW{VýV‰VU­UETØToTS©SDRàRzRQ®QHPÜPtPO¡O7NÓNgMÿM”M+LÁLVKìKŒK-JåJ­JŠJnJRJ.J IòIäIÚIÓIÍIÇIÍIðJPJJÝKKwKÃLLjL¾MMwMÐN*N~NàOVO§P.P’QQ}QøR_RüS•S¥T"U9T†PWQ[QvQWQQ'PõPãP²PPzP]P\PjPbPcPQPRbRˆR­RÕRüS-SiS¨SðT5T}TÆU UQU†U¨U½UÈUÖUçUýVV2VBVIVFV8V VUÛU¬UUkUbUlUU”U£U¬UµU¾U»UŽUCTØT^SçSpSR»RjRQžQPcO¨NôNFM™LúL`KÑK+JnI—H»GóGGF¬FEED¬DhDLDEDOD_DzD¦DÜE-E«FLFøG³HIdJcKŒLÑN+OŽPþRiSÖULVÅXIYÏ[R\Ä^&_s`´aëcd6eUfwghŸi jŽkolDmmãnµopcq)qçr›s!s°t8t±uuuuÃvv=vbv~v’v­vÆv×vÓvÅvœv`vu²u@tÏtrts¢s"r r1qÊqPpÒpKo¿o/n˜mûmalÂlk[j™i¾hçhgHfne”d­cÊbùb8a„`Õ`_N^]¾\ø\5[rZ®YîY(XQWwV¡UÄTêTSR>QqP¢OÁNÉMýM”MLJâIŠH*FºELDCAð@¥?2=–;ä:/8z6¿4ø315/Q-“+ã*>(&Ü%[$;#”#n#¾$_%%Ê&'Ÿ(¹)÷+N,ª. /l0Ü2X3å5i6Ò8J9ç;‚=>Ö@™BHCèE}GHbI„JtKTL:M/N)OPPýQÚR¯S{T=TìU…VV¸W`X X³Y[Y÷Z[[ \#\ž]]y]Ø^.^{^»^é__?_p_š_Ä_í``;`V`j`r`q`h`R`6`_å_¸_|_A^ú^«^_^]Ê]„]9\î\œ\A[Þ[u[ Z Z5YÆYVXæX|XW»W]WV¨VRUÿU¬U]U TÀTtT*SÛSˆS5RÞRƒR!Q³QDPÔPaOëOON NMŽML‚L KJöJkIÇI HTG¢FáFE1D=CnB¼AÓ@Í?°>‹=n<^;P:B9M8†7ö7x6ÿ6Š65•5%4¼4R3è3Š332â22;1â1’1Q10Û0¢0h0-/þ/Ö/µ/–/y/f/a/g/u/‡/ž/¹/Ë/ß/í/ì/Ý/Á/˜/]/.È.~.B....D.³/j0U1c2n3\414ÿ5Ý6Ê7Ä8½9¥:a:Ó; ;!;:ÿ:Í:x:9Š8Ý8 7 6/5@4f3È3}3f3z3 3Õ44^4À5>5Õ6Š7a8P9V:t;¨<ú>_?ÐADB±DEfF­GïIKJ®LMINkOŽP¿R$SÂUgVÒXYZ [\]]ß^¬_†`~a‰b™c¨d±e±f¢g…hXiiÎj{kk¶lGlÐmSmÕnKn²oo–ppXp·qqAqzq°qØqör+rDr>rErYuXªWúW[VËV@U²U TƒSáSWRöR£RBQÇQNPáP‡P5OÏO_NíN‹N)MÌM’MiMmém|lùlmkÎk2jšjidhÆh$gfáf@e dôdNcbìbSS¿TTKT’TÑUU/UHU\UoU„UšU³UÏUáUìUîUåUÔUÀU¦U†U`UDU3U,U/U=UKUZUfUrUmUGTþT˜T&S­S?RÝR‰R:QëQQPoOÄON~MãMNLÂLBK­KJAInH©HG{FüF}EÿE¡E^E=E9EIEbEˆE¾EñF:F§GBGþHÉIŸJˆK‰L¤MÕOPnQÎS2TŸVW‰YZ|[ë]K^š_Ûab@c_de—f®gºhÁi·j›kslFmmênÁo“p`q"qßr‡rþs„ttvtØu1uu½uñvv/vGv`vnvnvgvXv-uìužuEtÝtisûs”s r©r6q¼qGpÍpIo¼o,n–múm\lµl k^j¤iÝih'gZf’e»dädcbMa`Ú`/_v^´]ò]0\k[§ZåZ YVX†W¯VÕVU1TRSiRtQ|PµOÿO5NKMsLþLKœJmIG»FZDøCªBžA”@R>æ=^;»:8U6¦4ó31?ÂAqCDžFGH¨IžJ†KvLrMtNtOlPWQ6R RÚS“T2T¾UNUìV•WBWèX‰Y)YÄZWZá[b[Û\K\±]]e]ª]è^^?^r^¤^Ò^þ_._V__š_­_¹_´_§__w_[_2_^Ë^‰^=]è]“]D\ø\²\m\[Å[e[Z–Z+Y½YQXãXwXWšW4VÕVwVU¾UiUTÂTmTSÊSyS+RÙR†R6QâQ‡Q#P¸PQOðO†O N–N$M¯M1LšKÿKKJJ IaH·HGuFºE÷E1DKCDBrAÙA@ >ø=Ý<Ã;¸:­9¥8®7æ7F6½6E5Ò5[4ë4|43”3)2Í2z2+1Õ1y1#0Ò0ˆ0D0/Æ/‹/U/!.ï.Ã.¢.‰.x.q.r..–.µ.Ö.ì//#/(//.ç.´.t.--é-·-ž-—-§-Ð.+.Ñ/¸0Å1Ñ2È3«45a6O7G8<99½:%:`:}:…:v:K9þ9™98d7˜6¹5É4Ø43r303$3?3k3¥3ð4>4ž55¹6p7M8B9H:c;™<é>E?¯AB†CàE/FuGªHêJ7KLÇNO=PmQºS;TÙVKWŠX¡Y¦Zª[«\¨]^c_B`4a3b?cLdXeZfPg7h hÐiƒj+jÈk]kæljlëmmmÜnCn¯o(o¢oìpJp°pøq8qpq™q®qÎqáqÚqÕq¿q¥q‰qcq2pöp¿p‹pAoõo®ooo9nïnšnGÕGlFúFœFdFJFHFYFyF£FÛGG`GÂHSIIÛJ¼K§L¢M®NÏOüQBRšSýUjVÙXGY±[\r]Â_`?anbŽcªd¿eÓfägæhÜiÅj¥kxlMm"m÷nËo–p^qqÌrlrÙs\sÑtoµo"nmòmOl©lkMjšiÞihJgwfŸeÒed+cJbsa¤`ë`8_‹^Ú^ ]a\š[Ô[ ZCYyX«WÔVúV(UWT‰S°RÑQÏPÏPObNM¹LÝLeLKIíHžGREúD C]BCA2?ÿ>¦=(;”9é8B6—4í3+1O/j-¢+ý*j(Ð'.%•$O#„#(#'#Ž$?%%ß&Ÿ'x(z)½+,-ê/V0Ô2\3ç5V6±89¶;p=*>å@”B7CÌEIF¤GÒHØIÇJ¼K¼LÂMÉNÂO«PQpR;RäSuSýT‰U$UÉVrWWÀXgYY–Z%Z¨["[Ž[ó\J\\á]]G]v]¨]Û^^B^s^^Å^á^ó^ø^î^â^Ð^¶^—^s^G^]Ê]z]'\Ï\~\1[â[“[@ZéZ…ZY±YDXØXjWúWˆWV¬VEUãUƒU%TÊTsT!SÊSpSRÆRuR$QÒQQ-PÜPPO·OYNõNNMŽML—LK‰JñJ{JI—HýHMG°GFEÑEDWCZBCA{@ñ@:?A>7='<;9ÿ8û8 7M6±6(5¬554º4@3Å3N2Ü2o21¸1b1 0²0T/ý/¯/h/%.å.§.k.0-ÿ-Ô-°-”-„-~-…-”-¨-Ç-ï..3.X.g.c.R.3.-Í--U-+---4-Z-¬.H/'0+152033ý4â5Ò6Æ7­8u99x9¼9ä9ú9õ9Ó9‹9&8¥7ú766\5s4…3¶3)2î2ò33E3…3Ñ4*4‘55²6g7G8@9H:e;š<á>6?›ABgCÀEF5G^HŠI¾JýLOM›NÊOðQ8R§T2U¨VóXY2Z>[G\G]9^__í`äaèbîcùeeúfàg¹h†i?iåj{kk‡l l‚lümqmßnNn¹o8o¦pp]p«pèqq@qFqXqaqUqGq-q pêpÇp˜pXpoÙo˜oLnün¼n…n7mÝm‚m"lºlLkØkejøj“j%i²i>hÁh=g²g%f˜ferdÚd@c¤cbaa¿a`s_Ì_^k]²\õ\C[‘ZßZ1Y„XÓXWBVhUŠT¾T SoRñRoQØQMPßPuP%OÕOhNýN‘N7MàM€MLËL„L7K÷KËKšKgK:KJãJ§J~JQJ0IÿI­IMHôH©HbHGÎGGmGYG0FøF·F{FAFEáEÆE¹E¬E™EyE]EJECEzrzzÃzé{{#{5{@{A{?{<{2{#{zözÓz¬z€zJz yÇy{y&xÑx{x$wÂw[vñv~v u–utsûs]r¿r qƒpípUoÆoInÌnSnmæmmlŒkök]jÈj0i“hòhUg¶gfseÑe'dzcÌcbla¾a`Z_¯_^[]±] \\[®Z÷ZBY‰XÖXWjV½VUxTàTOSÃS8R¯R4QÉQXPÞPgOóOŠON±NAMÙMwM(LÏLxLKºKNJäJtJI”I5HÝHHEH GÝG¼G°G™G‹GvGkGLG>G%G)G1GaG›GÎH HEH‰HØI:IˆIçJ;J“JôKPKÁLL}LÚMGMºN"N˜NÚO³P*PGPµQhQ OƒOO¿OÂO…OŠO‰ObOPONO6O NäNÜNÌN½N¢NŸN«N¸NÆNÐNÖNÛNèNïOOO:OKOhOO“O¡O®OÂOÙOÜOÉO³O¬O£OŸO®O½OÍOÖOÓOÕO×OßOßOÞOÒOÀO­O O‘O‰O†O†OˆO‘O›O«O½OÒOæOòPPP*PBP^PxP”P­PÄPÖPåPòQQQ1QKQgQ…Q¢QÀQéRRPRRÈRþS5SlS£SÙT T6TXTyT’T¬TÇTâTôUUUUTüT÷TìTßTÆT«T˜T‹TT˜T©T»TÌTÌT°TxT S·SJRâR„R.QâQ©Q_QPƒOõOhNåNlMóM„ML¦LK…JÔJIrHôH—H?GíGGgGYGcG{GGÈGþHCH•HóIoJJÙK¸L¦M¡N¦O¹PßRSpTÑV6WœXÿZZ[®\÷^9_o`žaÄbÜcðefgh hôiÒj¬k‚lVm,mýnÍo–pRqq¯rIr²s.sttZt¥tèu!uMunuŒu¥u·u¾uµuœuou1tìtœtHsïs’s.r¹rCqÅq?p½p.oon~mçmEl™kìk:j~iÄihDgzf²eæedDcsbžaÒa `R_Ÿ^î^<]|\º[ñ['ZbY˜XÅWðWVCUpT¤SÖSR)Q8PMON¿MôMLGKÌKuJ™I{H0FéEžDBBùAÝ@Õ?©>b<÷;t9Ô816”4ò3B1w/™-Ë,*–)'l%Ï$k### #L#Û$£%‚&Z'7()"*a+·- .•01ª3*4œ67Ž9 :¥?ÃAdBõDsEÔGHIJK LMN NúOæPÓQ¤RIRÊSBSÈT_UU«VOVóW•X=XÞYsY÷ZmZÒ[1[…[×\\L\{\«\Þ]]I]~]¯]Ý^^!^1^1^'^]ÿ]ê]Ï]®]ƒ]J]\¸\e\[¹[h[ZÅZlZ Y¥Y9XÇXVWåWsWVšV+U½UVTóTŽT*SÊSqSR¿RdRQ»QfQPÁPpPOÇOlON¡NDMÝMeLëLpKôKrJíJtIôII HuGÙG:F¤FEsD×D,CkBnAS@š@?Z>p=r(?|@ÚB>C—DÙEûG H%IHJsK½MN2OcP³RS‰TýVVW’XµYËZÙ[ß\Þ]Î^º_¨`—ab“cšdže™fƒg_h-hêi•j,j¸k7k²l"lm m{mçnSnÏoKo°ppNp…p¸pÔpÓpÚpÒpÅp®ppnpBpoëo¬o_o#nén£nRnmËmsml¼l^køkkjŸj)iÀiWháhegägbf×fEe³edcècNb±bam`Ì`)_…^ß^3]€\Ë\[]Z§YõYEX”WàW*VsU¨TËSÞSR]QÙQWP¼P,OÁO[N÷N N@MàM‡M0LØL…L.KÝK•KRKJèJ¼JJjJ>JIõIÏIžIIcI!HÌHtH"GÞG¢G]GFàFËF³F‡FNFEâEºEEpEcE[EPE:E"EDýDúDýDëDÐDÍDÿEXEÐFHFÂGBGÅHEHÉISIÕJUJÎK@K¤L LkLËMMhM¬MðN6N€NÈOO]O¥OðP6PsP«PßQQ"Q*Q)QQQQQ Q/QfQ¢Q×R R3RXRqRƒR–R®R½RÓR÷S%SXSS’S˜SšS¨SÖT-T¸UsV[WiX…YŸZË[ô] ^5_3`9aKb]chdoeofdgKh*i iújñkàlÃmntoNppÝq’r<¥;&9‹7ß6<42ï1!/?-n+Å*@(¯' %m$#B"þ##`#ô$Ê%Ä&Ë'µ(„)€*´,-’/0¡283Ï5d6û8…:;¥=^?@¾BXCÜE?F|G›HŸI¡J¦K¯L«M¤N OžP—Q^QðR`RÙSiTT©UKUøVŸWJWõX•Y#Y ZZkZÁ[ [K[~[¬[Ü\\H\\¶\ë]]C]]]h]b]S]C]/]\õ\Ð\ž\Z\[Ç[w[#ZËZqZY¸YPXâXpWùWƒW V—V$U°U?TÑTeSúS”S-RÁRaRQ£QEPíP˜PEOòOOFNìNŽN3MÍMcLøL‚LKˆKJ}I÷I|IH˜HG›GFmEÚE9DŽCáCIB¨AÌ@µ?Þ?N>=Ÿ<£;:‘9Š8‹76»65z4Þ4T3Ò3D2²2%1ª120Å0[/õ/‰/.¸.\.-©-T- ,Ç,Œ,U,"+ï+À+š+~+y+‡+ž+¿+è,,M,…,»,Ý,ç,Þ,Ä,ž,q,D,(,, ,3,W,Š,å-ˆ.k/k0w1}2v3d4W5J6+6ò7—88v8Â8ô9 98É8n7ñ7O6œ5Ø4ù4392¶2‹2¦2â3,3„3â4P4Í5U5ó6¹7¨8®9È:ó<*=h>¶@ AeBÈDEQFgGwH‰I—JÂLMENOìQTR¿T.U˜VìX#YLZi[\Ž]‘^‹_`paebgcndtenfZgK¸LMLúMÇN¬O¦P´QÐRûT1UxVÅXYtZÂ\]@^t_ `Éaãbúd efggýhâi¾j–kll>mmän²oqp(p×qzr rZrÅs(s‡sÖttVt…t«tËtíu uutät­tht sÔs‡s4r×rmqúqupãpQo¼o'n“m÷mXl­kúk>jxi¶h÷h0gif¦eÚedCcub¬aía2`{_Ä_^D]~\´[ä[ZAYrXžW¾VìVU>TdS‹R·QåQP1OFNtMÊML KGJ“JGI´H°G„F?DúCŸB;A@ >ù=Ê<;9„7å6B4¯31a/ˆ-´,*…) 'w%Ü$g#d"ø##C#¶$n%k&{'j(D).*J+˜-.˜01¡3K4ý6’89„;<«>V?ðAˆCD}EÀFçGõH÷IòJìKéLêMîNöOùPÑQgQÑR>RÉS`SýTœU:UÞVŠW9WÞXnXëYYY´ZZJZ„Z²ZÞ[[E[z[²[ç\\Q\w\Ž\”\’\…\s\_\F\%[ù[Å[‰[AZöZ¬Z[ZY¨YGXàXpWüW‚WVŠVU›U%T¶THSÕSjRÿR—R)Q¶QKPéP‹P2OÚOƒO.NÜN…N'MÇMbMLœL3KÂKGJÈJHIÍIOHÒHSGçG}FüFˆE÷E`DÒD&CnB¼BFA¾@ý@?7>„=¹<Í;Ù:Ù9Ï8Î7Ü6ï6$54ç4L3º3/2š21n0ë0o0/œ/#.¨.9-Î-k-,£,G+ú+³+y+H+ *ò*À*˜*{*w*†*Ÿ*Å*ö+,+h+¥+Þ, ,",%,+ó+Î+©+—+•+Ÿ+µ+ß,,l,û-Ñ.Ï/Û0â1Ú2Í3Â4¯5‡6O6÷7~7ë8D8‚8 88n87š76b5©4Ó3ã32Œ2e2‡2Ð3$3‹3÷4n4ñ5w66Õ7¸8º9Ï:î<=Y>›?ÝA)B‚CØEF*G8H0IJ%KPLMÿOiPÍR(STõVNWXÁYâ[\]+^,_"`aaübücødíeÛf½g˜haii¿jKjÃk-k‘kÿlilØmOmÁn5n¨ooPoo˜oªo·oÃo½oªoofo-nøn½nvn:n m×mŠm:lìlŸlGkçk„k"j¿jSiâifhãhbgâgbfçffeÔe9d¥dcgbÆb$a‚`Û`7_^ì^I]¨]\X[¦ZðZ2YoX¬WçW(ViU«TîT8SRÉQôQ P,OsNÏNFMÙMnM L•LK»KmK"JêJ£JXJIÙIœINIHÌH“HvHKHOHCH,HHGóGÚG¢GVGF¹F~FIFEÔEªEEvELE"DýDÜD»D¢D“D”D—DŽDvDaDZDaDjDqD`DKDUDšEEEþFG G–H#H®I6I·J1J¡K KtKÝL=L•LäM0MuM¾NNON—NäO,OuOµOóP#PKPhP~PP’PŒPPwP‚P¦PÝQQWQQ¼QëRR2ROR_RuRRÛS%S_S€S˜SÀSöTMTËUrV;W#X"Y/Z>[K\a]y^€_‰`˜a¨b¹cÆdÐeÉf·gŸh…ikjVk>l&mmÜn®oyp4pæqŒr'rÃs\sõt‹uu¦v v‰væw:w’wåx5x€xÂyy0yTyyy—y·yÐyéyþz zzyñyÖyºy–yly>yxÁxqxwÎwvwv´vLuÝuqtût‰ts‡rûrfqÏqBp¶p&ožon¨n.m m6lþlàlšlkjðjZi¼ihxg×g-f€eÍedjc¹c bXa¥`ù`N_ ^õ^F]“\Ý\ []Z›YÓYX@WyV­UçU#TgS³S RdQËQ0PœPOsNÞNJM³M!L“LK™K2JÏJnJIÒI’IIHöHžH=GÑGhGF¢FNFEÑE¢ErEQE7E'EEDìDÖDÍDÅDÒDÖDæDîEEFE†EËF FbF§FùGcGÞH@H©IIjIÌJ5JžKKqKÚL&L¦MM›N%M›M@MHMLûMLäLßLÑL”LŒL„L{LzLLˆL‡LŽLL„L–L›L±LÆLØLêLýMM9MdMŽM»MáNNN N,N@NTNoN†NžN´NÅNÍNÐNÐNÏNÍNÁN¶N¦NN‹N{NeNUNGN=N6N7N8N@NJN\NrNŠN¢N¶NÇNØNëNýOO1ONOiO„OO¹OÏOìPP%PEPeP†P°PÖQQ.QYQQ¤QÈQîRRBRsRRÄRãRüSS!S/S4S7S=S@SESISWSiSyS~S}SuSwS|SŠS—S¢S S‰SQSR±R]RQÐQˆQ@PùP­P]O÷O˜O7NçNNbN$MÖMtML{KâKQJÕJ„JPJ:J2J`”_ã_(^b]•\Ì\[1ZaYX½WæW V7UbTŒS²RÓQúQ(P^O„N£MÕM&LoKJ´IðI„IH0GEÞDŸC]Aÿ@³?¨>ª=‰GPHGI9J/K.L5M@NSOZP?PáQQQ»Rw=½<ï<; : 98 76A5…4ä4G3²32†1ç1I0³0./¼/O.Ó.N-Ð-W,Û,h+÷+Œ+(*Õ**R*&*)à)Â)Ÿ))x)…)¤)Ñ**:*|*Ã++9+X+b+]+E+#+*ü+++,+Z+˜+ê,r-A.8/A0H1@233$44í5µ6a6ñ7k7Ï88A8F87Ê7Z6Ñ685‰4½3×32w2G2m2Å3%3“4455ª6J6þ7Ó8Æ9Ò:é<=D>y?½A BMCDÏEþGGóHºI®JÓL"M†NìPDQ–RòTNU§VìX!YHZm[Ž\¥]±^±_£`“a‡bzcqdeeQf2ggßh¢iNiÞjXjÀkk„kïlblÕmKmÀn&n|nÀnöoo)o=oCo8o%onÍn”nYnmÚmŸmjm5lòl¦lTkøk™k=jÙjpji’ihœhg‘g f…eúemdØd8c›cbnaÐa.`…_Ü_5^”]ø]U\³\[fZ²YöY4XpW§VÞVUUT—SØSRdQ±PîPO?NoM¾M.L¸LNKñKJúJ J_JIÐIIOIHãH­HfHGáG®G•G{GkG[GSG=G1G!GFôF²FgFEÜE¤EwEDEDùDäDÇD¦D‚DdDKD9D&D!D'D&DD CýDDDD"DDD"DlDÚEXEÝFhFöG†HHI"IœJJ~JêKYKÀL!LxLÉMM\M¢MéN.NvN¼OOBO‚O³OáPP$Pg–fçf;e…dÍdcab®baW`¨_ù_M^£]ò]>\ƒ[ÁZüZ4YeXWÎWV=UtT¨SìS9RQèQHP©PO{NÜN7M—LóLYK¿K,J¤J9IÚIzI%HßH§HhH(GØG…G$FÀFVEøE¥EaEDðDÂDDDgDRD>D1DDCÿDDDDD%DMDyDÁEEEEŽEçFMF¸GGƒGåHDH¤IItIÛJAJ£JþKoK½LQM.MLLBL`KýL KøKÚKÓKÍKÅK²KŒK†KŸK›K›K™K™KŸK K§KÃK×KõLL.LJLmLšLËLþM*MNMdM{MM¤M»MÜMüNN4NENONVNZNYNSNONHNK}KÂKýL;LŽLþM~NNžODOûPÆQ­R¯S»TÎUæWX0YdZœ[Ñ\û^"_=`Xanb}cƒd|ejf\gSh6iièj¼kŠlSm$mìnªo\ppºqHq¾q÷rWr²ssPssÁsçt t)t=tKt@t&sös¼sus+rÛrƒr*qÅqOpÉp8ožo nnmËm)lkÏkjai hàhgQf‘eÍedCc|b·aöaE`£`_Q^Š]»\å\[JZY±XáXW4V_UŒT´SßS R3QZP†O·NàN MAL„KÓJüJINHÃHiGªF®EDLCAÍ@v?L>Q=L<':ê9Š8 6s4ê3o1ã09.s,¼+4)Ú(y&ù%w$)#L"ü# #U#à$§%’&‹'¨(Ý*+Z,¡-õ/g0á2y456÷8a9à;i<ô>{@ A–C D_EF¡G™HŠI~J~KŒLM´NÁO°PcPØQ=QµR=RÄSOSÝTyU UËVjVüW~WëXGX‘XÈXøY%YUY…Y»YîZZRZ„Z®ZÈZ×ZÞZÞZÚZÎZºZ¢ZzZKZYÚY™YRYX¶X]WöWŠWV›VU“UT•TS¤S2RÈRQRQ]P¦P—P0O­O?NÏNpNM¸M^ML©LGKÞKoJþJJI¥I&H£H'G²GFFÛFfEñEEDŸD.CµC&BµB5A†@î@q?â?->Z=ª<ò<;7:?9>8;7G6b5–4á4A3¥3 2r1Ö140˜0/ˆ/.”.-~,ó,i+â+Y*Ö*c)þ)¤)Z) (÷(Ý(Ç(µ(œ(†(z(Š(«(Ø))Q)˜)ã*+*c*‰*›*›*Ž*s*[*Y*d*}*¡*Õ++i+å,¤-˜.¡/¥0œ1“2Š3u4O55Õ6h6ä7U7¯7ç7ô7Ñ7…7"6¤65s4´3Û32l242U2±3"3œ44¯5D5ã6ƒ7288è9à:á;ö=">Y?ž@ÝBCQD–E×FðGÀHuI_JƒKÏM-N…OÑQRaS¹UVPW†X­YÌZë\ ]^%_ `aaùbîcÛd¾ežfxgKhhÍifiåjPj­kkykílcl×mAmšmÚnn\n‹n§n·n¸n°n˜non;müm·mwm:mlÎl‘lMlk·kVjój’j'i¹iGhÍhMgÊg>f®f'eedzcàcBb¡ba{`Ù`4_Œ^ã^9]š]\f[Ä[ZlY¹XøX2WjVžUÏUT=S|RÁRQJPŽOÐONFMtL¸LKŒKJ¹JLIÔIlI(HöH´HzHD²E/E»FLFÜGoGüH‚IIxIìJ]JËK9K¢LL^L­LøM?M…MÉNNSN–NÒOOGOzO£OÉOèOüPOÿOóOìOüP$P_P¡PÞQQ[Q”QÇQíR R#RMRRèSAS‚SµS÷TGT¯U5UÚVšWuX`YTZL[K\N]F^@_D`Oa\bpcd‡ezf_g@h"hÿiÞj¿k¡lumEnnÑo†p/pÏqjrr•s"s®t6t¯u uƒußv8v‘våw6w€wÇwÿx,xVx|x›xµxËxàxýyy%y"yxðxÊx¨x‚xSxwÌw|w,vØv|vu±uEt×tgsõs{rür{qðqipâp\oØoTnÎncnmšml¨lslJl kœk jsi×i9h˜gõgKfeëe3d}cÂcb]a¨`ò`B_‘^à^5]‹\Ø\[RZ†Y¿XóX%WYV‹U¿TýT4SuR¿RQfPÆP!OˆNðNKM›LóLGK¢KJ]I¿IC:C=C:CKCMCaC}C¦CîDBD™DôEGEEøFVF»G&G‚GáHDH°IIkIÍJAJ{JûKÊKèKJøK JêK?JýJõK'KJíJÅJ†JrJ‘J~JJšJ¡J«J¨J·JÀJÙJýKKEKfKKºKòL*L]LŒL­LÅLÜLûMMBMgMŒM¨M¿MÍMÖMØMÚMÔMÐMÂM¸M©MšMŒM|MsMgMcMZM\M\MeMnM|MˆMšMªM¼MÏMàMòN NN/NIN`NxNN§NÂNäOO#OAOfOŠO²OÝPP-PSPuP˜P·PÖPøQQ;Q]QwQ‹Q›Q¨Q¹Q¾QÉQÐQ×QßQêQöR R$RKRmR…RR’R—R¢R±RÁRÊRÊR¶RRYRQàQ¤QhQPÕPˆP@OþOºO~O@ONãNÌN®NwN'MÁMRLÜLkLKÜKÊKÐKðLLYL LâM(M…MùN~OO³PYQ QÒR²S¥T¤U¨V°WÂXÛYü['\L]h^_”`¬a¿bÌcÊd¼e›fkg]hKi'iÿjÎkœlcm*mín£oToÿpšqqŽq¾rryrÊssIsws›s·sÌsÛsßsÌs«sus6rír rLqðq’q,p·p1o›nûn\m¹mlhk·jÿjGiŒhÍh gMf‹eËedKcˆbÄba\`¼`_s^³]Ü]\+[`Z˜YÒYX5W_V„U±TÜT S6RfQ›PÆOéONOMtLžKÙK'JYI†H¬G÷G¢GF1E'CþBÅA’@I?=ú= ;ÿ:×9Ž86›53Ÿ2$0”.ä-0+ *J)'œ&!$Ä#º#5#!#K#µ$W%)&'';(m)¯*õ,>-Ž.ô0g1í3q4ò6k7Ý9T:Ôç>)=[<Ö<(;P:j9l8l7p65œ4á473”2û2e1Í1,0‡/í/a.á.b-Ù-G,®, +f*Å**)¡)&(¼(b('ß'¶' '–'•'”'''•'»'é(((k(¸))S))²)Æ)Ë)Æ)µ)¨)®)À)ß* *E*‹*â+[,-./00ù1ð2Ý3½45K5æ6j6ç7P77¤7‘7O6î6~5þ5g4³3ç32t2-2C2¤3#3¨444Ë5i66»7m8399ü:í;ó=>;?v@­AÛC DSEFµG…HO–NõNTM­LþLRK¦JûJQI£HöHZGÝGyG3FðF¸FŒFnFAFEÈEwEDÆD{D.CíC®C‚CWC3CBþBàBÈB³BžBB{BvBmBwB~B‚B˜B°BíCFCœCçD-DvDÊE.EŒEäFKF³GGtGÔH7H‡HáI$I’J JJJ/IüJ6J—JIºJ/JbIÚI¯I»IuIDI~I…II§I´IºIºI¹I¼IÛIôJJEJpJ¡JÎK KIKˆK»KéL L/LPLwL¡LÊLòMM,M8MDMEMGM?M=M6M,MMMLøLóLìLëLêLïLïLøMMMM&M6MJM[MmM~MM£M¹MÌMâMøNN-NCNdNN¡NÀNâOO,OSOzOžOÁOâPP$PHPdP‚PŸPºPÏPÝPëPðPüQQQQ#Q(Q5QIQdQ„Q£QÉQìRRRR(R8RGR[RbR[RGR)QøQÄQ‘QXQPÏP~P5OöOÁO”OdO8OONùNÜN¨NXMùM“M/LÕL›L‡LL­LáM MfMµNNlNáOkPP¤QPRRÉS¡T‹UVwWsXxY‡Zœ[²\Ç]Ø^æ_ôabcdeeÝf’gmhZi8jjâk­lpm1mén•oCoâpopêqYqqÝr6r‚rÁròssÖ=·<Å;Ð:½9886Ä5G3Ø2m0ö/^-¶, *Å)”(M&æ%$W#˜#X#q#¿$;$î%ß&å'ÿ)2*o+¾-.ƒ/ñ1g2à4`5à7]8Ö:K;º=/>²@/A¦CD?ETFOGAHAIKJWKhLxMˆN}OFOÑP?P¶Q/Q¤RR—S+SÈTfUUV VrVËWWQWƒW¬WÔXX2XaXX¸XßXûYYYYYYY XîXÇX›XdX+WðW§WQVóVŒVU¤U'T£T S¢S&RªR7QÁQNPæPjP3O«NèN™N M£M4LÁLZKðKŽK'JÂJWIçIxIHHG—G F{EõE~ED¶DJCßCwC B£BEAãAsA@¯@V?¼?>~=ê=&)?P@vAšBÂDE8FDGGêHïJ&KiL¤MÛOPGQ†RÐTUdV“W²XÈYÚZê[ý]^!_&`a aóbÖc®d~eQf)føg¹hahïidiÊj0j˜kkpkÜl3l}lÌmm*mHm]m}m’mˆmhm>mlÀll?lkÂkzk4jéj—jDiïiŒih h#g¤gf•f ezdâdGc·c$baöa``¿`"_–^ÿ^V]ª\û\Q[¦ZüZ^YÁYXlW¸V÷V-UZTS£RÉQõQ*PlO¯N÷N=M‹LÒLKhJ§IêI:H©H/GÄG[FýF»F…FRF,FEÊE E’ExECDøDÁD¬D¤D«D¦DD}D„D„DxDmD^DFDCÝC£CuCPC;C$C BòBéBÞBÓBÄB·B°B­B°B¹BËBãBïBñB÷CCC,C@CBC9CNCCñDjDøEF F²GAGÇHJHÆI;I¯J!J”KKaKÀLLjL·LýMEM‰MÆNN9NqN¨NÝOO:O[OiOqOmOdOaOyO¨OäP%PhPµPÿQDQzQ©QÑQþR:R”SSnSÅTTvTæUlV VÀW‰XdYDZ/[\ \ÿ]ò^ê_é`ìaãbÛcédèeÓf¶g“hfi=jjïkÀl…mInn¶o_oýp“q q¦r'r©s$s›t tstØu2u‡uÕv"vmv´víwwLwpwŽw¦w½wÔwëx x#x"xwíwÊw«w†wSwvÍv€v0uÖuvu t t2sÅsYråriqìqjpíppoîounònsnm»mJl×lrl!kÜkkQjùjpiÚi>h›gûgZf®eúeBdˆcÌcb_aŸ`ß`_M^Š]Ð]&\“[ð[:ZtY©XÝX W=ViUœTÓT SHR‹QÊQPbOºON`M³M L\K±K JZI¦HëH2GFìFtF'EíE¿E˜E…EkEBEDÍDƒD4CîC£CdC)BöBÀB•BnBNB5BB AíAàAÌA¼A´A±A·A¼AÉAÜBBLBŠB¿BþC@C‘CëD?D–EEmEÚF?FFôGOG³GùH‘I IYI…IšIõIþI;H†IDI$HHíHîHƒHPHxHˆH˜H¬H¸H¾H¹H³H·HÅHáI I2IhI IØJJ^J«JêK$KQK}K¥KÒKüL&LPLqLŽLL©L©L©L¥L¡L˜LL†L~LvLpLmLoLrLwL|LLŽL–LŸL«L¾LÌLßLðMMM"M3MDMUMlM‚M˜M³MÌMêNN$N@N^NN¢NÁNçOO*OKOnOO¬OÉOçPPP+P/P7P?PFPFPRP[PdPnP€P—P·PÛQQ&QIQoQ‹QœQ©Q»QËQâQñQúQôQæQÉQ¢QvQHQPÏP„P5OîOÂO¢OƒOeOCO2O/O-ONâN–N=MæM”MYM8M@M_M•MÙN&N|NÜOHO½PGPÛQ€R-RåS¨TzU\VHW4X*Y)Z/[4\7]=^D_O`Ya]b^c^dNe0eÿf¾gŽhhiGj'jøkÀl}m8mänŠo-oÁpDpµq!q=q™qër3rgr—r½rÝrðrøròrÛr±ryr5qçq™qDpìpŽp&o§onrmÁml[k¡jäj'ieh¦gïg1fwe»edIcbÜb(a~`Þ`>_^Ì]ò\ÿ\[:ZfY›XÑXW4VeU•T¼SâRýRQ9PhO”N¾MèMLIKjJ„IºHùH-GjFŽEàE€DíDBõAÊ@¨?y>1= <%;/:8ç7Ž64—3)1¿0E.®- +Ž*W)+'×&q%&$/#µ#®#î$b%%Ú&Ó'á) *L+¨-.“01‹3 4˜6!7¥9:–<=†?@‚AïCGÆGEFÁF1E ED›D%C·CABÎBgB A®AD@á@|@ ?º?…? >P=¾=% ?)@EA\ByC¦DÏEÙFÆGÏHòJ1KwL®MáOPbQ³S T^UŸVÏWðYZ[.\G]c^z_`ra]b?ccêd¼e™fqg9gåhshêiViÂj.j™jük`k·kÿlBlxl£lÁlÔlélìlÖl¬lxl9kòk³krk&jÚj‰j5iÝi}ih¾hFgÀgAf¾f4e¦ed~cãc=b›aÿae`Ì`2_‘^ó^T]³] \Z[¨ZóZ2YsXÊX5WŠVÓVU=TbS}R‘Q«PÇOðO'NaM©LôLAK‹J×J IcH¡GéG@FÀFQEçE”E[E0E DãD¹DDrDjDMD CÑC­C˜C¦C¬C§CžC•C›C˜CƒCzCnCNCBçB¶B˜BBlBXBIBAB>B9B/B(B%B)B/BAB\B|B–B¥B®BºBÈBØBçBíBùC'CwCëDsEE–F,FÁGMGÑHSHÐIJIÃJ9J¦K KkKÈL!LqL¿M MNM‰MÄMýN6NmN¦N×OOO!O%O OO.OYO’OÓPPmP¿QQOQƒQ¹QòR5R–S S†SíTOT¼U@UÖV„WEXX÷YÚZÄ[¸\¯]­^¯_´`®ažb c±dµe£f…gbh9iiñjÉk•lYmmÖn‡o1oÎpbpïqtqõrsrês`sÑt:tštïu?uŽu×vv[v’v¿våww#w=wUwlww wšw~wUw8wvìv±vlv!uÒuvut¨t8sÈs[rêruqöqwp÷pwoûoxnónwnmªmKlÓl`lkÅktkjÌjniãiEh¤hg`f±eþeEd…cÄcb5ai`¡_Ó_^<]‚\Ç\,[‰ZÐZ Y:XfWV¬UÕUT5SfRQÜQPbO£NîN5M~LÅLKaJ¬IðI5HpG­FíF3E’E(DòDÓD²D›D’D}DUDCäCCYCBÖB–BbB,AøAÄAšA†AqA^AD¨E EfEÀF F}FÐGlGèHNH)H!HHHG§GõHHHHHG½G„GƒGŽG¤GªGªG§G¡GœG˜G§GËGðHH[H™HäI1I‡IÚJ&JkJ¥JÛKK5K`KK·KØKïKüLLLLKúKøKóKêKâKáKäKëKòKûLLLL'L4LCLTLdLzLŒLŸL¬L¾LËLÞLïMMM4MIMeM€M¡M¿MàMÿN N8NWNuN–N²NÔNôOO1OJOiO~OŽOŒO|OtOOˆOO›O©O»OÐOóPPHPvP–PÁPéQ QQ1QEQ^QzQŽQœQQQwQWQ0QPÌP„P3OçO¶O¡OOzOeOROWOfOcODON»NhN#MðMÛMðN%NjN¾OO‡OûPuPýQ’R;RèS£TkUBV$WXXøYùZû[÷\÷]ù_`ab bùcódße¶f‚gUh'iiðjÉk—lSm m·n[nøo†ppzpàpöqJqqÏqÿr(rJriryr|rlrJrqàq˜qKpûp¢pHoçownòn^m®løl@kjÃjiDh‹gËgf`eªdødBc“bçbAaa`h_¸^÷^!]:\H[[Z‚Y¯XâXW@V{U¶TðTS9RWQrP…O°NßN M5LfK—JÊIîIHXGŠFÃEïE)D­DBC}B‰Az@Y?;><á;é;:8é7¬6J4×3o20³/6-¥,(*æ)Ö(©'[&$û$M$$@$©%;%í&Ç'½(Í)ü+J,².+/§1(2¤4'5¯758©:;ˆ=>y?äA@B…C¯DÂEÕFêHIJ-K?LDM8NN±O@OÁP/P—QQˆRRªSASÑTQTºUUdU¤UÛVV4V`V‹V¸VáWW W6WKW[WdWbW_W[WMW6WVâV«ViVUÉUgTúT…TSƒRþRyQüQ~QP‰PO—ON§N:MÅMJLÂL6K­K$J¦J2I¼IBHÞHpGÿGŒGF˜FEŠDôDiCêCzCB‹BA—A8@Þ@~@?Æ?g?>½>>=d<Þ? @+A)B.CBDZEhFpG‰H¬IèK(L]MNÆP Q^R¶T UOV}WžXµYÆZØ[ï] ^"_'``ýaÚb¬cwdIe#e÷fºgagíhehÓi@i¨j jjjÆkkpk¼kùl!l:l9l9lBl5l kÎkkIkjºjlji¿igihŸh1gÉgZfÛf_eÛeSdÄd.c•bübYa²a`x_à_G^¯^]m\È\Z¦YëY0XbW˜VúVhUºTöTS7ROQ`PvON¶MÔLûLQK³KJXI©HøH;G}FÌFE•ED®DSDCòCÎC¢CvC[C>C4C%B÷B¿BšBˆBœB¤BžB–BBŸB§BŸB’B‰BBbB3BAßAÆAµA§A›A–A˜AšA™A˜A˜AA¨A¹AÑAöBB?BTBbBoBtB}BB¢BÈC CkCåDnDüEˆFF­G6G½H=H¹I7I­JJ‚JèKHK¢KûLOLLåM$M\M”MÐNNANwNŸNµNÆNØNÜNÙNåO O;OtO»PPiP¿Q QPQQÊR ReRÛS_S×TCT¶U=UÑV|W_u^­]ã],\t[Ê[ZaY™XÉWðWV9U`TSÀRóR'QbP›OÛONeM¨LñL3K~JÆJ IMHˆG½FòF,E]D¢D%CïCÝCÍC¹CµC®C›CpC?CBÆBBIBAáA¨AiA6@þ@Ý@À@©@•@~@j@U@I@:@+@,@5@J@f@‡@­@ÞAAcA¬BB}BãC'CCÒD&D‰DßE>EšEäF{G F´FPG4G/G9GRGaG˜G?FËFÎF¶F¯F§FF¢F¦F˜F‹FFzF‰F£FËGGBGŒGßH6HœH÷IOI›IßJJLJ}J®JÞK K'KCKUK]K`K_K\KXKUKOKQKQKTKWKaKoK~K‹K™K¥K²K¿KÏKãKøL LL4LDLRL`LsL„L–L¥L½LÑLêMMM>McM~MŸM»MÖMîN N*NGNbN€NŸNÃNþNýNáNÏNÍN¸N N±NÁNÊNàNøOOBOqO¢OØPP1P[PP˜P°PÅPàQQQ4QAQDQT{SŸRÃQàPýPO.N[M†L°KÙK JIIwHˆG´FÞFEODCëCBïBA@>ï=Ë<®;¨:Ã9×8Ò7©6V4é3ƒ200á/z-ú,ƒ+?*B)3'ý&¿%¶$þ$°$Í%2%Ä&t'G(4)9*b+¯-.ˆ01ƒ34‰67„8ù:o;ç=b>Ð@,AnBšC½DÛEûGH2IAJNKQLJM'MäNƒOOOêPXPÑQXQçR|SSSîTHT’TÒU U7UfU˜UÆUñVV;VXVeVpV~VV…V„VzVkVNV&UòU¶UrU$TËTaSïSsRîRdQÞQ\PáPiOñOpNíNmMðMwML’LK‡JùJjIåIbHáHZGöG–GF©F'EšED‚CàC]BâBjAñAe@Ø@g@)?è?–?7>×>m> =Ê=…=.<¦<;–:å:;9¼9867N6U5O4G3Y2›1ú1a0Ç0+/‰.ë.[-Þ-h,ß,'+>*))'á&è&+%”%$Ÿ$3#×#“#h#T#W#q#•#Â#ê$$<$u$¶$õ%2%q%¨%Ò%ð&& &8&R&{&¸''R'›'ð(M(¼)F* +,-.&/D0X1_2M3!3â4—5:5Ï6;6u6Œ6~6P65¾5O4È43i2Ó22z2É3`44Ï5‡6J77í8Ì9ª:‘;}[?Z@UAMBCC@DSEqFŠG¢HÔJKOL†M¶NøPIQ¤RüTJUŠV»WßXöZ['\@]Z^e_[`Ea%aübÍc£dxeGf fµg@g»h)h”hüi_i¾jjkj¼k kJkxkŸk©k k—k†kbk$jÜj”jFi÷i¢iGhéh‡hg«g7fÆfPeØecdâdXcÁc)b“aúaW`°` _h^Í^2]’\ì\F[”Z×ZY_X¨WåWVU‚TðT1SYRqQˆP™O¬NÂMÝLùLK3J”IôILH£GõGBF†EÓE#DDC•C#BÖB³BŽBcB0BB A÷AßAÎA£AˆAwAtAyA|A|A‚A•A¡A­A¢AœAŸA’AsAIA"A@ù@ï@è@ã@è@ñ@ýAA A AA0APAxA¦AÓAöB BBB"B3BPB~BÂC$C D&D¬E9EÆFWFåGmGðHrHïIgIÓJUÙVˆWKXX÷YÍZš[s\k]~^‡_ƒ`tadb[cVdRe:ffïgÉhŸiqj;jýk¸lkmmÂngoo–pp qq™rrŒrûsas¼t tXtŸtÞuuOuu´ußvvv2v`v|vvrvYvAv'vuØu u^ut¿t`súsˆsr¨r?qÏqTpÖpUoÖo]nÞn\mÝmmmlÅl^køk™kKjúj¡jE(E EÝFF6F•F3FKF;EÙEßEÚEîEÌEšE¨E«E“E~EjEiEnE…E±EéF.F‚FÕG6G¡HHgH¸IIII‹I¾I÷J+JXJxJ”J¥J®J¶J¶J²J¯J°J¯J´J´J¾JÉJÜJêJýK K K0KAKRKdKxKK¢K¸KÇKÛKîLLL$L1LDLSLgLL•L±LÎLòMM0MIMhM‚M M¹MÔMðNN>N“N¸N«N-MµMØMÞMÎMíNNN4N_NŽNÁNúO9OyOªOÕOùPP,PGPgPŠP®PÌPâPòPõPíPÝPÄP£PnP,OåO®OO‡OŒO‹O‡O‚OœOÆOäOãOÀO”OYO)OO!OXO±P!P•QQ’R R´SVSúT®UkV8W WêXÎY¼Z­[œ\]~^~_€`‚aib4bþcèdéeÒfgTh,iiöjÇk„l=lëmn n¥oo‰oðpNpMp”pÏpúq#qDqbqrquqcq?qpÔp’pHoóo™o;nÎnSmÊm2l‰kÓkjRihÇh gVf£eóeDdcøcQb«b aw`ç`P_ž^Ù^]\8[LZ`YqX‘W¸VåVURTƒS²RÒQøQP¤=”W?£@ßBC)DHEjF„G˜H¦I®J®K¢L~M;MÝNcN×O?O®P(P¬Q7QÃRGR¿S&S{SÃTT;ToT¢TÓUU2U[UwUŠU•U¤U±U°U©U¤U™UˆUlUDUTØTT:SÜStSRRQ{PúPPO‹O NŒN M…ML…LKKJ—J I}HòHeGÜGbFóFxEûEˆEDsCðCaBÅBMAÕAM@Ç@8?¢?5>ñ>¯>u>=Á=r=<Ã$m$™$½$Ö$é%%%@%j%§%ö&N&¥&ö'I'§((¥)l*_+e,v-”.µ/Ò0á1Ï2¥3l4)4Ó5p5å6)6L6Q6965È5i4ó4[3²32¼2£2Ú3Z4 4É5‡6I77ó8Ñ9µ:œ;†Q?E@7A&BC D EF3GUHˆIÅJüL0MdN£OîQBRœSðU6VkWX§Y½ZÓ[é\÷]ü^ò_Þ`¾a—bmcCddÛef.f·g1g¡hhihÈi"iri¾j jOj’jÊjïkk jöjÛj­jjj!iÒii-hÓhvhg¨gH¡GöGRF­FELDC÷CfBÓBUAØAANA@ó@â@È@¶@¨@’@‰@o@d@X@Z@]@X@]@y@@­@¶@°@­@´@Ä@²@Œ@m@P@B@:@1@.@1@=@R@d@q@w@„@›@¿@èAAJA|AžA´AÃAÊAÙAöBBWB®CC—DD•EE¯FBFÑGZGÞH]HØIHIµJJ€JàK?K–KãL*LlL©LäM$M`M˜MÇMìNNN6NFNQNfNˆN¶NñOEO¦P PsPÎQ(QvQ½R RtRõST T’U U»VjW+W÷XÎY®Z‹[p\b]Z^L_4`!abbøcìdÕe°fˆg`h4iiÄjƒk_m^›]Í]\?[Z»YìYX?WhV‡U§TÉSîSRBQmP™OÌON6MuL»LK=JxI´HëH#GRF~E¤DÏCêCB\BAíAöAýBBBBA÷AÇAŠAYA @ñ@º@Š@\@?ë?´?„?V?/?? >ü>ì>Ø>¾>´>¯>­>º>Ý??7?d?™?Í@ @h@ÈA%AdA¨AóBVB¿CCOCˆCÇCúDJD¤EE­EóEE“E½EÅE…EEDóDñDìD¹D¤D|DUDRD\DrDDßE3EƒEÚF9F¡GGsGÈH$HtH¾HþI@IpI IÁIßIóJJJJIÿJJJ JJ)J4JGJYJqJ…J›J°JÇJÛJñK K K3KHKWKlK|KK¥K¸KÄKÕKãKôLLL6LQLpLŠL§LÂLÝLúMM-MKMfM‹M°MëN(N›NaL÷L¾M MM1MLMeM‚M®MàNNVN¡NìO#OQOsO“O«OÉOîPP9P\P{PŽPœP¦P¥PšP„P\P#OåO¬O…OuOyOŠO“OO˜OÅOþP!P'POñOÌO°O³OØP)PšQQ“RR­SFSçTŒU=UõVºW†X^Y;Z"[ [ð\Ø]Å^»_¶`«aŠbUc*deeôf¡g]h8i#iûjÃkzl,lÑmmmõnonÛoCo¢oúoòp0pcpŒp°pÍpæpìpçpÏp§pqp6oðoŸoJnîn„nm‹lùl\k­jôj;iyh·gûg?feåeAd¡cýc[b¶bav`ç`S_®^ò^$]K\j[ƒZžY¹XÑWòWVEUmT—S¼RãR Q3P\O}N€M¡LÕLK7JjI HÛH"GUFwE‰D¹DC@ByAÕAo@î@-?K>L=K¤>4=Ì=m==<þ<´<~<+;Ð;ƒ;+:Ì:]9Ì9)8«8C76·5Ý4ï3ë2é2 1Z0»0/†.ë.S-Ù-v-,¤+ø+*(Ù'¨&%®%$$#¨#@"å" "p"W"U"b""§"Ñ"ù#!#I#r#“#«#¼#È#Ð#Ù#ì$$:${$Ð%/%“%î&?&‘&ò'j((Ð)È*Î+ã-.-/R0b1Y232û3¾4o55“5á66%6%65Ø5Ž5+4¥4 3|32ç33i44¿5‚6I77ë8Å9¨:;x;?'@AA÷BêCßDâEõGHHI}J¯KÞMNJO•PìRESšTàVWBX_YrZƒ[’\™]œ^‘_|`Za7bbåc±diee«f,f¡g gqgÐh(h~hÉiiXi™i×j j2j=j9j+j iØižiYih±h\hgžg9fÍf^eíe|ed…dc€cbba~`å`I_§_^W]­\ù\K[›ZÞZ+YˆXâX-WnV¬UåUT3SXRŒQ¶PÏOäNûNM7LWK}JžI²HÆGüGQF¤EúEQD°D CbBËB@A®A%@¤@5?í?´?Œ?€?d?N?P?Q?N???:?2?7?6?C?S?d?†?§?º?¼?Ã?Ë?ä?è?Ò?²?”?†?}?v?s?x?„?š?²?Ì?Ý?î@@(@W@‰@¼@ôA AEA_AqA…A AÊAûB>B–CCwCðDxEEœF2F¾GFGÈHGH½I+I“IûJ\J»KKaK¬KïL2LqL²LíM&MZMƒM M¼MÖMëMüNN3N\NŽNÞOCO¯PP†PéQCQQÜR=R¶SCS×TbTñU‘VAVþWÃX”YwZl[j\V]1^ ^ã_Ã`¨a–bˆcvdaeAffógÁh‹iNj j¾kmll¬mBmÕnenóowoõpnpäqVqÃr,rrãs0sws³sêttRt„t²tßuu)uCuMuDu3u"utûtÛt°t~tCs÷sžs?rÎr\qñq‰qp¢p*o¬o/nµn7m¼mDlÓl‚l7kök£k?jâj’j@iâi~ih¦h&g–fûfUe´e dac¼cbea«`ç`_7^a]‹\¸[ð["Z]YŠX±W×VúVU1TUSwRžQÆPîPOKNM·LîL0KnJ©IâIHHGwFªEØDÿD"C9BZA˜A(AAA3AAATA\A`AKA&@÷@Í@œ@g@+?ñ?Ä?‹?R?>í>Ã>‘>r>c>P>=>0>>>>>>>,>U>…>¶>ñ?(?k?¯?ÿ@F@•@îAPA­AíB%B\B›BÌCCvD?D¾DùE#E=DøDÄDvCÐDDDCDcCñCC‘CC‚C—C¬CÚDD^D¢DúEKE°FF€FáG?GGñH9H}H±HäII#I5IAIHILILIMISI]IhIqI…I˜I°IÈIâIùJJ,JGJ`J|J–J®JÃJÖJåJøK KK0KCKTKcKrK„K™K¯KÄKÚKõL L%Lm·n'nnðoLo¤oˆoÀoípp7pRpbpbpXp:poØo˜oMnþn¡n:mÈmJl½l"k}jÏji[h¢gåg/f}e×e=d¤dccbÁba{`ã`P_±^þ^8]h\‘[±ZÍYíY X.WQVkUˆT¦SÂRæR Q1PYO„N¥M¾LçLKEJzI¬HëH.GwF¾EîED(C\BˆA¼A@‹@6?›>Ï=î<û< ;:9Z8š7Ã6Ë5­4m3.20ß/´.v-7,+J*—)Î(÷(;'¶'a'D'n'Ú(|)@*+, -3.z/Ñ1+23ö5Z6·89u:Ò<#=j>¥?Ô@úBC4DDETFcGoHwIyJeK1KßLtLñMhMÜNSNÑOSOÔPTPÉQ1QQàR'RdR¢RÛSSNS~S¬SÏSåSöTTT TSþSôSéSÙS»SSaS%RÖRvRQ¥Q-P²P9OÅOQNÝNjMîMnLèL_KÖKLJÆJHIËIMHÈH@G±GF…FE†E DŽD C‹CB›B"A§A$@‹?î?R>º>,=£=8<ç<<[<;È;Œ;P;:¸:i:9x8â8a7ü7Ž6Ö65-4<362<1f0¹0/‚.í.T-Í-p-,Ä,K+–*»)µ(Ž'c&V%$Þ$Z#à#m# "·"q"?" """("C"a"ƒ"¦"Ê"â"ç"â"Ñ"¾"°"±"Æ"ó#2#Š#ó$a$Î%.%„%Ù&=&»'_(.)%*.+K,v-¦.Ñ/á0Ý1¿2Š3U44¸5<5–5Ó5ó665é5®5_4ò4o3é3t383?3‰44¼5~6E7 7á8»9—:z;_>ÿ?î@ßAÖBÑCÆD¹E½FÝH Ió>ž>`>.>>=ø=î=í=ö>> >>=ö>>)>A>d>€>¦>Â>×>è???>õ>Ù>Ã>»>·>³>¹>Á>Õ>ú?"?9?M?h?Œ?¾?ô@+@c@–@Æ@íAA+AKAsAAÎBBtBÛCMCËD\DóE‹FF¬G2G²H+HœIInIÕJ5JŽJßK*KsK·KøL:LyL±LäMM9MTMmM‹M¤M¹MÙMÿN/NqNÕOIO¹P+P˜QQZQªRRtRýS•T)T½U`VVÇW…XSY.Z[\ \æ]²^€_V`1abbñcâdÌe°f‰gZhhÜi•jGjðkl*l¼mJmÕn^não`oÖpKp¹q&qqïrIrœrâssUsŒs½sìttEtmttŸt¢tt“t…tvtdtEtsïs­ses r£r3qËq`pñp{poˆon”nm¤m.l¹lVlkÓkŽk?jÜjƒj5iÞiihµhHgÈg.f’eëeCdœcüc_b¾baa`›_Ë^ô^]?\g[˜ZÃYõYXCWbV€U–T¶SÝRÿR#QGPoO›NÎMÿM4LgK§JßJICHzG§FÑFE0DQCsBA°@è@f@;@N@j@{@”@¢@«@¡@†@f@>@?ß?ª?o?->ó>·>|>B>=í=Ê=°=›=Ž=‚=|=o=l=f=b=h=u==³=ã>>S>‘>Ð? ?F?‡?á@L@’@Æ@ùA#AZAŽAÔBB|BÐCoC¬CÊCùC¢C%BuBðC)CCCBÌBÅBíBîCCFClCC¶CãD"DqDÝE7E‡EÿFtFÐG#GqG·GðHHBHbHwH…HŠHŽHH•HžH¬H½HÍHäHûII1IPIkIˆI¢IÂIàJJJ;JRJgJxJ‡J–J§J¸JÆJÖJçJøK K K6KJK^KsKˆKK±KÉKÝKøLL+LGLgLˆL¹LëLíM-M‹L¥KçLbL’L¢L©L¬L·LÎLöM2M{MÆNN5N_N}NžN¾NæOOBOqO•OµOÓOóPPPPO÷OÌOœOsOQODOTOmO|OŒO«OçP/PiP–P³PÀPÊPÑPéQQnQÝRYRäSwTT¯UQUúV®WgX-XøYÉZŸ[v\U]3^!_ _í`¼a—b~c{dƒe^ffžgghJi(iñj£kHkèlylþmpmÚn:n™nôoFooIoqo›o¿oØoâoÛoÇo£oto7nõn¥nRmòm†ml‚kïkPj¦ióiBh‹gÞg-feÛeAdªdcsbÕb9aš`û`[_´_^E]w\£[ËZîZY1XPWrV–U¯TÀSÙRòRQ/PQOyNM·LßLKJJ~I±HéH,GtF¼F EBD`CzB›A¿@ü@??®?g>ù>E=€<¨;Ä:Ú9æ9!8s7µ6Ù5Ø4´3€2\1C0./-á,Á+Ý+;*¢)ô)K(È(v(M([(¤)()Ñ*™+y,t-Š.µ/þ1T2°45_6¯7û9D:‹;Ñ= >7?]@~A•B¬C¼DÊEÕFàGíHëIÌJˆK&K®L,L­M)M¦N"N OO•PPiPÂQ QSQ‘QÏRRJR†R¹RäSSS&S-S0S1S,S*S%S SRðRÅR“RSRQœQ1PÆPQOÜOjNüNNM­M2L¬L$K˜K J€IúIxHõHpGæG\FÍF8E¨E-D°D5CµC4BÅBSAàAh@æ@X?¾?>b=½=,<¦<=;ð;µ;n;&:ü:Ò:’:>:9©9#8x7Ú7†7F6Ø6 5T4y3‰2…1“0Ç0/v.Ü.J-À-V- ,Ç,w+ü+H*})('k&a%$Î$>#¿#M"ê"—"O"!ó!à!×!Ý!ú""8"T"j"p"Z"!!Ð!Ž!j!n!‘!É""‹##ˆ#ü$b$»%%~&&·'’(Œ)š*»+ì-.N/i0f1O2$2ï3ª4S4æ5N5’5¾5ã5ý5û5Ù55D4Ø4b3ò3§3•3Â4-4É5|6?7 7×8ª9ƒ:`;@<"==ë>Ø?È@¾A½B½C­D˜EœF·GÝIJ,KQL{MµNüPPQ©RþTIUƒV±WËXØYãZí[õ\ù]ô^Ü_¶`‰a\b bØc€dd¢eeŽeófOfŸfïg8gzgµgðh+hfh“h²hÅh¼hœhrh6gêggKföf›fAeàezed¨d>cÌcWbØbYaÓaI`Ç`>_´_(^…]Ô] \l[©ZßZ&Y€XàX=W–VêV1UnT¥SÜSR9QGPLOUN\M_LrKJ¨IÐHþH4GdF—EÁDåDCRB¥BAh@Ë@3?¬?->¡>= =><ú<Ð<­<–<‰<ˆ<Œ<˜<®<´<Á<Ä<Ç<î===3=I=z=®=È=â> >/>5>+>=ý=õ=ñ=õ=ÿ>>>3>c>Š>§>Ç>î??[?˜?Ó@ @?@o@›@Ç@òAAEAiA¨AüBVB³CC®DEDÜEtFF–GG”H HxHàIII©JJVJ¤JñK7K{K¼KúL9LpL¡LËLìMM$MAM^M~MŸMËN NhN×OLOÊPFPºQQuQÊR4R´SESãTU&UÔV‹WAXXÙY¸ZŸ[ˆ\n]B^^à_º`—a|bgcXdHe/f fßgªheiiÊjpkk¨l6lÁmImÎnOnÊoAo²p p‰pðqUq±rrKrŒrÄrûs)sSs{s sÂsÛsñsùsùsïsêsâsËs¯s…sQsrÊror q¢q9pÉpWoÝocnênpmùmm lŸl8kãk«kmk+jßj{j%iØizi!hÀhSgägdfÆf$e{dÍdc~bÜbä> >c>#=â=¦=q===<þ<â<Ò<Â<Á<½<¹<µ<º<Á<Ò<â<÷==F=}=´=ð>*>d>Ÿ>Þ?(?e??Ô@@7@m@¡@áA)AB+BGBÜCBoB1A A©AÂAŽA§AÏAÇAÝB'BZB‰B¬BÆBÖBñCCTC¦DDODE E¢EÿFYF©FîG'GWG€G›G²GÀGÇGÒGÙGãGðHHH(H?HZH{H›H½HÛHýII7IYIIŸI¿I×IîJJJ#J/J:JEJTJaJpJ‡JœJ°JÆJÛJíJýKK%K8KOKgK}K—K³KÔK÷LLHL{LqL„L@KüLBLdLmLoLqLwL€L”L¿LûM7MmMšMÅMçN N)NQNN·NíOO@ObOŠO­OÇOÖOÑOÈO¯OŠOcOFO2O/OEO]OuO•OÊPP^P¤P×PÿQQ:Q^Q‹QÓR5R­S3SÃT_TúUVCVóW«XlY4YþZÒ[ª\ˆ]m^Y_:` `ÎaªbcždeSeíf–gjhGiiÐjykk±l:l´mm€mân@n“nÞnnÊnöo o?oSoXoHo+onÕn•nQmþm¤m;lÉlEkºkjwiÍihqgËg%fƒeäeHdµdc„båbMa²a`t_É_^Q]„\­[ÙZþZ%YNXuW˜V¼UÖTìS÷SRQ7PNOnNM°LÕLK?JvI°HèH%GfF°EîE@D…C”B©AÕ@ú@=?•>ù>š>I=¾=ú@AB-C=DOE^FlGsH`I&IÐJeJîKpKóLqLòMsMîNeNÔO>O›OñP9PzPºPûQRJRXR^R^R\R]R[RVRBR'QþQÈQƒQ,PÈP\OñOƒON«NFMÜMmLôLwKôKgJ×JKI¾I2H¯H*GŸGFƒEøEnDçDmCîCyCB†BA¥A0@°@)?“>î>8=x<É<3;¬;E:é:–:j:K:'9ç9¯9{9E8Û8G7–76×6¢6)5q4¥3Ê2Ü1×0ë0*/}.Ù.C-·-<,ê,¯,|,0+¸+*k)—(§'ž&›%¾%$[#Õ#m#"¿"r"6" !î!ã!ë" "*"G"`"g"N"!… ß R   = ™! !‰"" ##Œ#ë$L$Æ%U&&î'ê(ÿ*%+^,œ-Ë.ê/ì0Ø1°2‚3E3õ455P5„5»5ò6 5ü5Ô5“5A4à4{4&3ü44[4Û5~6;77Î8ž9r:L;'<<à=Æ>µ?«@£A BšCŽD}ExFG´HÙIûKL?MtNºP Q^R±SþU=VjW„X’YZ§[®\­]£^Š_f`3`þa»bjc c›dd—eehe¿f fPffËfþg6gng gÌgègúgõgÐgšgUgfºfefe¼e`dÿd›d6cÐcgbùbba„`ù`o_ã_U^Å^,]‡\×\[aZžYÛY,X‡WÞW0VyU¿TýT=S~RµQíQP ONM*L6K?JPIfH‡G·FôF0EmDŸCÊBòB$Al@¿@?w>Þ>S=Ë=E<¾<5;¹;q;U;:;%;;;;);>;E;[;q;ƒ;®;×;æ;þ<>O>~>µ>÷?8?w?±?í@"@T@‡@¸@åA A;AzAËB.BŸC CžD/DÇE]EðFvFöGnGáHLH¶IIwIÏJJjJ³JúK=KzK¶KòL(L[L‚L L¾LÝLýMMBMkM§MûNdNàOcOèPiPÙQ7Q‹QíRgRõS’T4TãUVAV÷W·XYRZ*[ [ê\Å]ž^t_Q`%`þaábËc·d e€fTggÝh•iBièj†kk­l7l¹m:m½n6n¬oo‹oòpVp»qqlq³qôr/rdr‘r¶rÙrùss3sGsPsXsVsQsIs1srèrµr{r.qÓqsq p p-o´o8n¾nEmÐm[lêl|lkÂkykGk jÆjwjiÄiwi"hÄh\gðg}f÷fWe°edPc”bâb4a”`ó`@_^Ù^]B\b[ƒZªYÈXîXW=VYUvTŒS¡R¾QâQ P3ObNMÃL÷L0KaJ•IÄHúH-GZF{EšDËCïCB-AR@†?Ë?3>â>Í>ä??.?K?Z?a?Y?F?%>ù>Ð>—>Y>=Ï=Š=I= <Ñ<™0>m>˜>¾>ñ?"?T?}?±?ã@@p@§AˆA·AAd@è@®A@ç@ùAA'AcA¥AÈAñBB;BSBeBwB£BåC>C“CÕDMDÉE(EŒEÚF%FaF’F»FÙFóGG GG%G5GIG^GqGˆG¥GÃGãHH)HKHlHŠH©HÑHôII7ISIkI{IŒIšI©I±I»IÅIÎIÜIìIþJJ+JOTOsOªOóPLPžPâQQPQQ°QèR+R‚RóStTT£UDUèVW>WöX³YvZ:[ [á\º]œ^‚_[`%`ùaßbÌc·d…e6eÔf‘gdh4húi¥jGjçktkòlclÈm-m‹mân.non#nRn~n¥nÁnËnÁn¬n‹n^n*mìm¤mLlìl|lk|jçjHi¤hùhVg´gf†eðe]dÆd-cbøbZaÆa0`–_é_3^m]\Æ[ê[Z6Y`X‰W±VÎUïUTS#R3QBPXOlN…M L¼KèK JaIžHäH(GkF®EûE2DvC²BºAÐA@.?z>â>L=â=’=$<„;×;:Q9€8¬87n6Æ6543 21 0/".-+,j+ò+•+/*Ë*‹*w*Œ*»+ +‰,+,ó-Ë.³/±0Æ1é34D5x6°7ç9:B;g<„=>³?À@ÇAÐBáCñDüEþFïGÄHyII¦J0J´K:K¾L>L½M4M¦NN}NÕO!OdO¡OâP'PhP¬PèQQBQ]QqQ{Q†QŒQQ”Q–Q“Q‹QzQ`Q1PùP±PUOñOO)NÂN^MüM™M+LºL?K¼K6J©JIŒHþHuGíG_FÒFEE½E9D»D=CÃCEBÊBYAèArA@Š@?r>Ó>)=i< ;Ú;@:µ:Q9ë9w9M9Q9F98Ò8·8{8 7w6Ë6Q685û5u4½3õ32*100Q/.â.B-¨-!,¿,‹,e,:+ó+‡+*k)²(Ý'ð'&2%r$Õ$`$#«#W# "Ð"¢"…"v"x"Š"¡"¯"ª"Š"P!é!4 +!†×Wâ w!!¦"-"¦##‚$$%e&R'T(l)˜*Ó,-L.n/s0f1G22ß3•4;4¹55V5—5ß66%65ê5«5`54Á4ˆ4z4¤55•6@6û7Æ8•9f:<;;í<Î=´>Ÿ?’@‡AByClD^E`FxG“H®IÉJåLM:N}OÈQRlS¸TøV'WDXUY`Zi[j\a]V^:__Ù`›aOaùb“cc›ddzdÍeece¥eÜffAfsf¨fÓfõgggfèf³fsf%eÔeˆe8dàd…d&cÂc]bûb’b a¨a+`¢`_Š^ø^g]Ê]+\‰[Ö[ZZY›XàX-W‚VÎVURTŽSËS RMQP¸OÖNËMÊLÜKìJÿJ IH,GHFrE©DíD.CkB¡AÈ@ö@/?s>È>#=‘= >K>’>Ú??_?›?Ô@@F@w@¦@ÒAAMA©BB˜CC‡DDªE?EÌFPFÌGAG¯HHƒHãIUóV£WZX"XîY¼Z’[n\J]"]ú^Ø_¯`…a`b@ccýdØe®f|g>g÷h£iJiéj~kkœl$l¤m"m™nn„nïoVoºppwpÍqqZq”qÄqðrr8rRrqrŒr¡r¯r¹r¿r»r­r‘rorKrqÜq‘q>pßpupoŽon–nm£m3lÂlTkîk”kKkjäj§jbji²iaihÂhghggfƒeÝe5d‡cÍc bKa`ç`=_r^´^ ]i\¦[ÍZêZ Y3X]W‰V¯UÈTåSúS R%QJPrO¡NÙNM/LdK¥JÞJIHHsG¡FÃEãE D=C`BxA@µ?ó?C>«>F> >,>[>†>©>Å>Î>Ì>´>”>r>D>=È=ƒ=?<ù<¯>*>O>r>”>³>×??P?Ç?Ë?¥@!?û?å@8@Q@d@e@ƒ@ÈA A6AdAŒA¸AãBBB(BQBBßC9C›CýDcDÄEE^E—EÉEñFF)FÉ>4==,<á<†;ù;[:±9ý9@8q7À776¨6594T3X2]1m0ˆ/¨.À-Ø- ,,4+ó+¯+€+v+Ž+Ã,,€--Ã.‘/p0[1R2W3`4k5…6®7á9:0;J<^=p>ƒ?Ž@AB–CD¡E–FoG(GÈH_HìIxJJKK†LL{LðM\MºN NPNNÐOORO—OÙPPEPkP†PœP¯P½PÅPÎPÕPÖPÓPÆP³P•PgP-OÜO|ON¿NeN M®MLLëL~LK‡KJ}IïIaHÔHHG¼G3FªF"EžEDD"CŸCB£B2AÂAR@Ú@_?Ý?W>Â>=c<›;Ñ;:Z9Ì9b8ñ8ƒ8e8b8n8M8%7÷7¨7;6¨65¨5˜5P4Å43G2m10/·.ý.S-´-,¤,Y,7,+ú+¼+c*ú*€)Ü) (R'~&Á&% %@$ì$ž$I#ü#Á#–#v#^#P#C#4#"ï"¾"}" !2âcb(~¿g ¦!5!·"6"·#E#ð$¿%±&º'Ó)*M+”,Î-ð.ó/î0Ú1³2}3?3ê4p4×5.5z5Á66A6H6:65à5¤5a5'55 5J5º6R77Æ89a:2; ;â<¿=£>?€@rAfBYCLDHEOF]GpHŠI¢JºKÝM NMO™PèR7SƒTÀUìWXYZ#[\]]å^¹_€`9`äa‚bb”cc‚cád4d}d½dõe eLe~e°eÜeÿff1f;f3feÜe—eJdýd¯d\dc©cFbèb‚ba­a;`Á`<_²_$^•^]k\È\'[ZÍZYMXWÚW#VkU²TòT,ScRQÕQP;OhN…M“L K¢J£I±HÆGÛFîFE;DlC¨BæB$A]@‹?·>ä>=j<Ç<0;¡;:y9é9B8¢8Y828 7ú7ò7ü8828I8t8µ8á8þ9#9G9†9É9ç::2:r:½;;B;z; ;²;µ;§;Ÿ; ;²;Ä;Ù;ì<<9+>z>Å? ?L?‡?À?ù@/@[@@ÎAA„AøBeB×C^CòD„EEšFF“GGzGäHKH©IIRIIêJ-JjJ©JèK*KiKŸKÅKâLL)LOLuL¡LÝM'MƒMöNwNûO†PP”PýQWQ¿R9RÎSsTTÙU’VJVüW¸XYLZZï[É\¡]v^L_%_þ`×a°b‡c^d1eeËfŒgEgóh›i;iÓjejïkykûl|lømmmánQn¹oo|oÚp,ptp²péqqJqmq“qµqÔqíqþrrrrr qðqÓq®q€qEpúp¤pEoÛodnënpmñmxml’l&k¿kdkjâj´j‚jBiýi¨iKhûh²hahg g)f£feYd¯cúcAbƒaÄa `\_¦^Ú^]b\¼\[2ZVYqXžWÏVðVU3TKSZRjQŠP°OØO NJM{LªKáK'JdI•HÃGôGF7E[DƒC®BÑAå@÷@?Y>¯>%=¹=‹=Œ=¬=ã>>B>H>A>*>=à=¨=f=%<å<£>R>ƒ>¹>Ú??Q?z?Œ?š?½@@Z@¤@ÜAA)ASA„A¬AÄAãBBBB‘BæCCC¢CøDIDDÐEE+EIEcE}E’EªEÄEÜEùFF*FHFkFŒF­FÑFðGG0GNGnGG²GÐGìHHH(H4HBHQHYHdHmHxHƒHH H®HÂH×HïIII2III`IyII­IÌIïJJ+JKJfJwJ†JJ“J¦JÄJßJôJþKKKK*KKKrK˜K»KÖKóLL?LjL›L×MMeM©MêN!NSNN«NÓNìNÿOO O ONîNìOO'O>ObO°PPyPÕQ+Q~QËRReR³S SsSêTpUU¬VZWWÂX}Y>YÿZÂ[†\P]]å^¬_y`YaIb8ccºdNdçeœfag#gÝh…i,iÅjVjÒkCk´llzlÌmmFmwm$mRmvmŒmm†mpmPm.mlÏl‹l:kÛkijëj`iÉi5h›h g~föfneíehdádJcªcbraÜaA`¨`_a^ª]ä] \/[JZiYŒX®WÔVôVU)T>SHRRQYPiOuNƒM’L¥KÄJáJIUHŸGìG?j>½>=<îh?s@{AxBmC`DGEEØF‚GG¬H;HÉIXIÕJPJÔKSKÊL6LžLýMIM‹MÄNN@N‚NÃOO9OkO—O¾OÛOïOüP PPPPP OôOÑOœOYON©NIMúM®MYLüL˜L3KÄKNJÐJLIÅIª>=h<°;á;:E9‘8ñ887¶7¢7”77y7f7=6æ6v5ß5N554¢4 3X2š1Á0×/ì/.i-¿-$,“,*+ù+ë+å+Ë+–+N*û*’*)g(¶'þ'\&×&v&&%Ø%…%,$à$¤$q$H$#ü#Û#¸#Ž#[#"Ã"I!q YóXxþ¯`¤ 7 Å!U!é"†#@$!%&,'N(ƒ)Ê+,Q-t./0t1R2"2é3œ4-44þ5T5©6 6S6|6…6u6V646 5Û5±5Ÿ5¼6 6†7 7Ó8”9^:-;;Þ<½=¢>‹?w@eAWBKCDDAEDFMG^HmIJ›KÀLòN/OtPÁR SKT„U°VËW×XÚYÔZÌ[À\«]^__ _Î`paaŠbb|bâc;c†cÅdd8d`dŒd·dâee"e;eGeHeCe&dìd©dhdcÉc{c&bËbkbaa3`Â`K_Ì_E^½^.]]\g[Ä[ZnYÂXÿX;WwV½VUJT‘SËSR3QgP–OÃNïNML6KGJBIMHcG}F›E¸DÙCÿC+B_A›@Ø@?=>g=•<Î<;f:Ç:89°98„7×76®6š66w6Q6O6~6¬6Õ77E7{7ž7Ì7ú898y8›8À8ú9L9£9î:+:e:™:Ê:ã:Ý:Ú:Ú:ê:û;;*;B;q;¬;÷<8>f>°>ó?2?n?¨?â@@M@Ž@êAOA²BB¡C2CÄDSDßEeEáF[FÐG?G«H HiHÂIIYIžIÝJJZJ JâK KLKmKK±KÛLL5LoL¹MM}MîNeNïO‰PP˜PüQ]QÑR`RþS¬TgU UÞV•WLX XÐYœZm[@\\ä]¹^_d`:aaãb¯cxdEe eÍf†g8gàh€ii¬j;jÅkMkÌlJlÁm8m¨nnvnÕo1oƒoÊpp9plp˜pÄpïqq0qOqcqnqxq}q{qkqQq6qpãpªp_po®o=nÇnLmÎmPlÙlgkûk’k0jâj¨j{jVj%iãi˜iHhñhžhPgýg©g;f·f&e‚dÖd!ceb®aüaL`’_Ñ_^f]§\Û\ [fZ¤Y×X÷XWJV`U{TžS±RÆQãQPO5NpM¹LñL&K^J›I×I HÊ>==/<ÿ<þ==e=¦=É=Å=²=˜=r=>=<Ç<|<1;ñ;³;p;,:ð:¼:…:V:-: 9ê9Ö9×9á9î9ò9õ9ÿ::.:K:f:‚: :À:ã;;';E;k;”;¿;í<<6'>p>­>ä??5?t?Ì@(@f@Œ@¯@åAAFAhA‹A¾AúBCB”BæC9C‚CÆDD5DZDyD”D°DÎDîE E*EGE`E€E¡EÂEßEÿF"FBFaF|F›F¸FÖFôGG,G>GRGbGlGsGG‹G•G G¬G»GÊGÕGçGûHH$H>HXHrHH¢H¼HÔHðII-IQIrII¨I¾IÊIÒIÙIêJJ,JJJXJ_JcJdJoJ†J¬JÖJÿK#K>K]K…K¸KéL'LlL¹M MVM˜MÐNN0N[N„N¡N·NÌNÖNâNÛNÐNáOO*ONOOñPgPÑQ5QQãR9R‘RïSPSºT-TªU9UÙV‡W;WïX«YgZ+Zí[±\{]@^^Ë_‰`YaAb*bùcœd(dÁeyf8fïgšh?hÛidiöjxjékSk¹llXl’lÆlöl›lÂlØlâlÞlÓl¾l£llWlkÛkkj£jiŽhùhegÛgXf×fZeáeedÜdLc³cbzaÜaD`¥`_Z^«]ì]&\M[nZY¬XÎWíWV!U7TESRRYQ`PfOqN|MŒLžK³JÑIöI+HjG¸GFTE¨D÷DIC—BãB%A=@V?†>¸>=]<Æ<=;¼;X:þ:¢:79²9 8ˆ7ê7@6·6H5Ë5;4Ž3Ë2ñ21T0/Ê/ .M-¦-?-- ---7-u-Ð.:.³/F/÷0·1ƒ2Z36455ñ6ð89:1;GY?c@pAfBDCCæDžECEÞFsG GŸH.H·I:IµJ2JªKKƒKâL:L€L½LøM3MpM¬MéN'N`N–NÇNîOO2OEOWOdOkOhO^OOO2O NÕNŽN=MâMŠMCLûL§LHKåK}K JšJ!I£I$H HG‘GFŠFEˆE D‘DCŽCBzAõAvA@@?›?>‹=÷=\<±;ü;5:e9š8Ü8,7°7M6ù6Ð6»6´6¥6Ÿ66$5¤54ª4Œ4`3ö3`2¬1î101/I.-Ó-4,¢,+Æ+¬+®+«+“+p+C+*©*1)¦) (r'é'~'1&ê&œ&D%ì%œ%Y% $ñ$¾$$g$5#ÿ#Ã#w#"Œ!³ hÐOV4Ão¶Qç €!$!Õ"Ÿ#Š$Ž%&Ä'þ)G*•+Ô,ú. /0 0ó1É2–3R3é4b4Ì5)5‰5î6O6£6È6Ë6Ä6º6¨6Š6j6S6U6„6ä7f88®9l:5;;â<Á=£>?{@jAYBKCDD@ECFIGRH`IrJŽK²LåN!O]PžQàSTNUtV…W†X€YxZr[h\R]0]ú^·_]_ñ`w`òagaÕb5bˆbÒccFcsc—c¼cßdd!d@dSd\dXdKd0dcÁcvc&bÙbŒb7aáaa`±`B_Í_S^Ñ^H]º],\™[ü[XZ®YûYHXWÊWVXU¢TâTSbRŸQÒPûP+OXN†M¨L«K´JÙIòHóGýGF5EVDyC›BºAßA@H?…>¸=Þ= <6;g:©9û9Q8µ847¦765â5=4ó4ã4Î4Ã4µ4Å4ô5-5t5¹5ü666l6©6ì7)7`7—7ß8)8{8×99Y9•9Õ::::::/:K:h:‡:¦:Ö;;l;µ;î<+>K>>Ò??Q??Ê@@M@@ôA]AÝBnCCDD¢E$E¦F!F™GGpGÏH(HxHÆI IIIˆIÉJJXJ›JËJóKK9KdKK¿KøLFLžMMfMÖNaNýO”PPPøQiQìR„S-SãT¢UaVV×W’XQYYãZ³[\L]]í^¿_`^a.aùb¿c‡dLe eÂfvg!gÇheh÷iˆjj™kk–ll‰lúmbmÊn*nƒnÏooJo€o´oåppDppp’p­pÂpÎpÑpÐpÎpÆp±p”pspFp oÂono n¢n.m¯m/l´l:kÊkfkj«jkj>ji÷iÀi}i3híh£hSgüg¡gIfÒfDe§düdEc†bÑb as`Î`_Y^¡]õ]9\i[šZØZYVX~WŸVÁUÕTìT SR6QXP{ONÀM÷M3LdK—JÔJ ICH}G¹FîFECDfCB»AÝ@é?ü?>B==<¬<…<–<Ç= =F=T=H=2=<á<¢<`<;Õ;‡;::ñ:¬:v:C:9ß9¹9‘9c9D9+9999-9:9G9\9p9‡9 9¼9Ú9õ::0:S:p:‘:³:Ö:õ;;/;J;j;‚;•;¢;Ÿ;¡;©;¶;Î;û<*3>m>Ç?.?‹?Ó?þ@(@Z@˜@Ì@ýA+A_A AæB,BoB³B÷C2CbC‹C§CÇCåDD)DFDiD‡D©DÈDçE E'EEE`E|E—E°EËEçFF"F=FUFjF|F‡FŽF–FœF¤F­F»FÈFÖFçFøG GG1GHGbGG™G¶GÑGíH H HAHeHH¥HÄHßHõII III6IZI{I—I£I¨I°I¹IÃIÛJJ,JZJ|J™J½JóK,KnK¶LL]L¯LýM?M{M¬M×NN6N]NN›N³NÂNÂNÃNâOOLOOÞPXPÎQ>Q¡RR]R»S%SŽSþTrTìUvV V¶WdXXÓY‹ZK[ [Í\”]^^$^ß_’`Sa(b bÝczddŸeKeýf°gUgõh‰ii—jjˆjòkTk¡kßllClpll"l0l5l.l'llkÝk²krk jÂjNiÒiHh»h2g°g5f¼fGeÙecdßdQc»c b„aåaD`£_ÿ_W^¨]ð],\_[‰Z¬YÑXôXW(V=UJTRSWRYQ[PaOdNnM}LK£J»IÚIH=G|FÅFEbD²D CbB·BAY@†?¬>æ>=T<¡<;:ø:‘:39Ö9ƒ98ž87Ž6û6s65•543å3(2e1¨0ï0:/Š.á.=-À--{-”-µ-ã.!.z.ç/c/è0~1-1í2¸3‹4m5`6R7?879=:J;X\?]@bAQBBÑCvDD¦EAEÛFrGG–H H¥II’JJeJÅKKpK·KîL"LZL”LÐMMMM‡MÂMþN0NZNwN“N­N¹N»N±N£N•NwNIN MÉM~M*LÝL™LOKöK“K-JÄJ\IðI~I H”HG‘G F†FE‚EDˆD CˆBÿBwAëAe@ä@j?í?l>é>a=Ò=?<«< ;^:›9Ì8ÿ8876ö6—6Q6(65ú5ÿ5ú5Ì5k4â4[44 3Ê3P2°1ü1C0p/‹.«-í-B,¦,+©+i+[+i+s+m+\+@+*É*Y)Û)W(Û(j('È''3&Ø&~&,%ê%±%%N%$ì$¶$~$8#Ý#i"Ó" â~U@µK郻 d!#""ú$%&K'‹(Ö*+Z,„-ž.¯/«0•1r2D33­40455u5ä6Q6À777*777>787&777&7h7Í8N8å9:K;;ò<Ñ=´>ž?ˆ@uAfBZCWDTERFSG\HeIoJˆK¯LÙN OBPyQ´RéTU)V4W2X*Y%Z[ [ò\Ë]^:^Ô_`_Þ`O`¹aayaÊbbFbvb¡bÄbÞbÿc c;cVccchc\cHc/cbÆbzb0aßaaC`é`Œ`+_¿_J^Õ^Y]Ò]I\¼\*[ŠZèZ?YXàX(WmV±UóU4TxS¸RòR.QjPOÇNóNMDLeKeJsIH¡G®F¼EÔDòD C'BDA`@~?®>ç>=O<{;©:Ö:9B87ë7F6±6'5š543Ú3i3033)363&3J3€3Æ44k4¾55F5…5Í66d6¾77D7¥7ñ8M8Ÿ8ß99>9N9S9Y9f9ƒ9 9À9Ý::=:‰:Û; ;g;©;ú'>l>±>ö?­=Ø=-<©9ú9Å9Ž9`9798ï8Ê8§8†8m8b8^8f8{8Š8–8¡8­8Â8Ú8õ9919J9a9~9 9À9ä::":6:D:R:a:n:}:‹:”:Ÿ::£:½:â;;^;½<*<Ž<Ö= =?=Ž=ó>j>Ô??X?‡?¾?ý@@@w@­@åA$AcA¢AæB BVB„B«BÍBôCC;C`CƒC¦CÀCãDD"DADZDsDŒD¨D¿D×DêEEE;EUEjE€EŽEšE¡E¥E©E±E¹EÃEÑEâEõF F"F6FLFbF}F—F´FÕFòG G*GIGcG„G§GÊGèH H!H2Hb=<Ê<;`:È:D9Ú9t9 8Ã8v87—76ž65²5T4ð4{3ï3O2¡1ò1F0Ÿ/ù/b.Í.D-ð-Û-õ.(.h.¯//l/á0d0î1‹2>33×4¿5´6®7£8•9Š:;z[?N@8AAÊBhBüCˆDD­EEEàFqFýGˆH H€HèINI¬JJQJ™JÙKKCK{K´KôL5LwL¸LøM3MhM˜MÁMâMùNN NMòMÛM¹MˆMNMLÉL€L9KóK KAJàJJI¸IWHòH†HG”GF‰FE€EDCþCBúBmAáAQ@È@A?¾?;>µ>*=š=<Œ<;d:½:9@8n7¥6í6Z5ö5£5u5T595H5I5 4›43´3’3z3%2¦2 1\0Ÿ/É.ä.-Z,µ,#+§+J+ +#+6+@+D+D+;+!*ê*’*%)¯)B(Þ(‡(D('°'X'&±&n&4&%Õ%¡%l%0$ì$$B#Ò#E"ƒ!y B +–Tc½GÚpÄ !w"{#‡$¡%×'(h)±*ð,-6.I/J0711õ2À3o3ý4r4Ý5X5Ø6Q6É7*7_7†7ª7À7Ì7Ñ7Ô7Õ7ã88^8Ç9D9Ö:};<< <ä=Ç>°?@A~BpCiDfEgFhGjHmIyJK«LÎM÷O#PVQŠR¶S×TåUäVÞWØXÐYÄZ±[Š\T] ]­^@^Å_=_«``Z`¸a aGa|aªaÍaíbb b==p<¦;Ü; :=9o8¡7Û7"6|5Ù5;4ª4#3œ32z2 1Û1®1§1¨1Ÿ1Â1þ2=2‘2í3E3˜3Û44s4Ó5#5’5é6$6„6æ7L7§7í8.8j8ˆ88“8Ÿ8º8Ó8ó9919^9¡9ö:D:Ž:×;,;;Ü<0<‚<×='=r=¹>>M>˜>ß? ?^?³@@~@ëAdAêBsCC–D%D®E4E°FF‚FåG>G‹GÔHHYH›HåI2I|I¸IêJJ8JcJ‘JÇJÿKIKŸKüL]LÛMwNN¤OO•PP~P÷QRRÊS„TBUUÊV‰WEXXÃY‹ZT[[å\¬]s^9^ÿ_Â`ˆaJb bÍcŽdLee·f`gg—h'h³i5i³j*j§kkkúlalÁmmXm“mÌnn=nxn²nêoo7oSohovoyouomogo[oDo$nùn¾nwn,mÔmklñlvkûk„kjªjHiôi´iiwiZi2húh¸hzh?güg¢gAfÜfVeÉe?džcíc*boa»a`a_Á_"^w]·\ù\5[fZ™YÉXùX2WkV‘U¯TÉSæSRQ7PZO†N´MâM L1K`JIÃHüH6GuF¶EûE;DpC’BÂAöA@1?C>`=”<ø<ˆ<;<>_>˜>Ò??S?“?Ò@ @J@…@ÂAA4AoAœAÈAñBBHAHNHeH‘H¿HëIIGI‰IÔJ#JwJÖK­>=O<†;¦:Ô:"9ž9/8Ä8I7ò7´7X6ä6j5í5v54Ì4l3÷3o2Ó2.1ƒ0Þ0J?;@@ßAŒBB©C5CÐDnEE¬FCFØG\GÓH;H™HðI?IŽIÚJJLJƒJÂKKOK›KáL,LvL¶LêMM5MGMRMQMAM(M LØLŸL_LKÛKŽK6JÖJwJI°IRHõHŒHG›GFFEsDäDZCÑCDB®BA|@Þ@A?¨?>{=æ=T<Å)? @ABC"D-EÁ=Ò<ß;î;:B9j8”7¼6å65\4©43\2Â251«1 0w0Q0N0-00000ô1^1À2 2o2Å363«4 4|4Ú5#5Ž66}6æ777ƒ7¹7Ê7Ö7ß7î88%8G8p8ž8ä9<9’9ì:H:¦; ;k;É<#<|<Î=!=p=Ä>>d>®>ý?W?½@)@œAA¨BHBèC‰DD­E1E¬FF|FÖG'GpGºHHQH¡HóI9IqIIÇIøJ/JlJµKKuKßL`MM±NNNËOFOÅPCPÈQ_RRÃST`U3VVÑWšXaY.ZZØ[ª\~]M^^ê_»`ŠaXb%bðc¼d€e=eìf˜g6gÍhWhßi_ißj[jÔkEk¬llcl­lêm*mim­mîn%nWn~n›n³n¿nÁn½n¶n°nŸn†n]n(måmmGlßlckßk]jãjqjiªi]i5i ihÜh¡h]h%gég’g/fÎfKe¯edncÁc bEa‡`Â_ÿ_T^µ^]+\O[Z©YÒXùX#WHVfUT‰SšR°QºPÊOÙNëNM!L=KXJzIHÅGîG$F^E–DËDC"BIAq@†?¥>À=î=?<À2>|>Ã??K?Œ?Ï@@H@@®@àA A@AmAšAÃAíBB5BUBsBŽB¨B¸BÏBåBøCCC*C@CPC`CsC€C‹CCšC C¨C°C¾CÊCÞCöDD)DFD`D‚D¢DÇDèE E.EUEwEœEÀEäF F0FPFmF†F˜F¦F´FÈFÝFÿGG@GXGjGtG~G‹G¬GÚHHCHwH½IInIÍJ8J°KKKØL"LmL±LõMEM“MØN$NdNžNÍO OWOµPP“QQ•RRŠSSˆTT—U&U±VAVÓWnXXÓY’ZQ[[Õ\¤]r^=__Ã`aà>I=©= >î?¹@iAA–BB¢C4CÎDkEEœF'F¥GGyGÎHHiH²HùI5IoI¬IðJ7JJÑK KkK²KõL.LXLvL‰L”LœL‘LxL_L*KóK¶KyK7JâJ‡J+IÓII+HÍHmHGŠG F†EÿEqDàDSCÅC4BAÿA_@º@?m>Ë>/=–=^?N@BAAB@CDDNEYFhGyHŒIŸJ»KÞMN/ObP”QÂRâSûU VWXYYáZ­[f\\¨]0]¤^ ^p^Ð_%_e_š_Æ_é` `%`>`W`q`„```„`j`B`_Ê_‚_6^Ð^u^#]²]H\ã\s[þ[ˆZÿZfYÄYXUW—V×VUUTSÈRýR(QQP€O¤NÇMåML$K7J@INHhGrF‹EDjCVBUAR@Y?g>~=‰<;•:•9®8Õ7ú7'6W5†4¸3ù3H2ž1ú1[0Å0>/»/'.È.».©.‘.z.˜//w/Ù0L0Á1!11û2l2Õ3B3¥44w4ï5o5ì6S6¥6å6ü777#737L7t7œ7È88X8©99j9Ô:?:¡;;d;Ã< >\>°??f?á@b@ÓA_BB®CNCæDnDðEdEÎF)FzFÈGG_G¯HHSH HàIIBIqI¨IæJ/JˆJîK\K×LiMMÉNNNÆOLOÎPJP×Q{R0RñSÃTŸUwVBWW¿X‚YJZ!Zõ[È\–]h^;_ _Ú`¥arb;ccÇd†e7eàfgg¤h(h¦i(i¢jj€jêkLkžkìl1ltl»lým;mum mÄmãmúnnmÿmúmömémÒmªmsm5lól¥l@kÇkHjÉjPiâi~i-hóhÖh¿h¢huh=ä=P<Û<Ž<`7>{>»>ü?5?n?ª?à@@J@x@©@Ñ@ûA AFAgA€A™A²AÊAÚAèAùBBB"B0B@BQBZBeBpBxB|BBB˜B¤B³BÈBÛBõCC*CHCkCC´CÛDD&DPDuDDÆDëEE7E\E{E—E°EÇEÙEéEüFF0FQFkFˆF›F¨F¹FÕFúG/G`G–GÛH1HŒHïIYIÒJRJÀK(K…KÕLLiL¼MMoMÇNNpN¹NþOJO¤PPzPöQwQ÷RxRýS„T T™U%UµVDVÐWgX X»YoZ,Zé[¯\w]@^ ^Ê_Š`G`ýa«bQbðc‰d#dÁefff”gg£h"h˜húiGi~i§iÄiÞi÷i\ipi€ii–ii€iWih¿hSgßgefôf‘f9eße~ed•d cybäbKa®a `a_±^÷^4]f\[®ZËYèXüXWVUTRûQåPÉO¯N“MwL]KMJ>I9H@GKFXEhDwCB¬AÏ@û@9?ˆ>ß>K=º=(<˜<;L:†9¡8Ò8B7æ7|7 6µ6`6%5ä5“5B4ñ4“4A4 3ß3Ÿ3K2á2i1é1d0Ý0[/ê//7.ö.í//d/Ï0K0Ë1N1Ö2i33Ò4¶5­6®7¬8¢9Š:e;=<<è=¼>ˆ?A?é@{AA~BB”C'C½DXDëElEåFOF®GGQGœGäH'HfH¦HåI'IrIÀJJ]J¯JýKBKwKœKµKÈK×KãKæKÚKÀKŽKVKJÓJŠJ6IäI“IEH÷H¢HDGÞGlFòFqEîEhDÚDGC²CBƒAáA4@€?Ñ?,>Œ=î=R<¸<);¡;:¨::9Ã9<8ª7ÿ7F6x5¨4õ4c43Ö3°3~3K2ù2„21Ï1ñ1ë1…0î0G/“.È-ñ-,V+À+0**P*T*v*˜*¹*ä+ +#+.+%+*Å*|*0)ê)¢)W)(±(`('Ð'˜'j'6&ù&´&a&%’%$r#Æ# "9!U €Ü_àP¸OJ¬K è é"#=$%ã'9(‡)Ï+ ,@-g.x/y0y1o2U33Ä4Y4é5…6)6É7N7Ó8R8·99^9œ9Ö::I:Œ:Õ;#;~;ò<€=(=é>¹?š@‡A}BvC|D†EFšG¥H·IËJÞKøMN>O`P‚QŸR¸SËTÔUÖVÓWÄX¡YtZ4Zß[}\ \…\ó]`]Å^^Z^“^¿^å___;_V_o_‰_ž_©_¥_”_t_F_^Ä^s^"]É]x]!\¶\M[ã[sZüZyYéYNX¥WóW7VuU¹TöT5SmR£QÏPûP#OENfM„L KÂJÝIôI HG(F:EFD8CAÿA@?$>==Q<`;Z:[9d8r7„6œ5Å4ñ4&3e2§1ö1I0¢/ü/_.Ï.S-Þ-r->- ,µ,˜,ù-–.#.Š.é/`/Û0Q0Ä111§2&2…2ð3\3Í4a4é5W5´66)636C6R6b6{6¡6È6÷7*7r7¿88‰8õ9g9Ñ:8:ž;;^;¸< <_<³= =b=·> >[>°?? @@…AAÎBtCC§D0D¤EEpEÈFFjF½G G^G­GÿHHHƒH·HéI I`I«JJhJÖKKKÓL~M+M»N=NÆOPOÒPYPïQœRYS*TTáU¨V[W WÄX‹Y]Z2[ [Ü\­]€^Q_ _é`³a}bEc cÆdveeÄf[fégpgîhhhÝiKi·jj}jÙk,kykÁl lNl…lºlãmm#m3m>m?m?m>m>m0mlîl¼lƒlEkøkšk*j®j7iÊi[hühºhhwh_h:h gÒg›gbgf©fGeÝeDd±d cYb²b as`½_÷_8^u]Â\õ\[1Z_Y˜XÎW÷W)VSUlT…SŽRQ³PÑOêNùNMLK*JGIiH”GÂFíFE_DŸCáC"BfAš@Ë@?<>†=á=a<ö<¥>T>>Ë? ?D?|?ª?Ó?ý@@@@a@{@•@®@Ä@Ó@æ@øAA AA"A(A1A:AEAHALATA\AeAqAAA¤A¹AÓAéBB(BLBqB™BÁBîCC?CiC”C»CäD D5D[DD£D½DÚDðEEE0EGE_EzEšE³EÉEÜEøFFGFwF²FòGJG«H H}HôIxIúJlJÔK3KKÏL"L„LîMSM·N N‚NÚO4O‹OëPSPÄQDQÊRTRàSmSöTƒUU¥V7VËWaWÿX YCY÷Z®[s\4\÷]Á^Š_O``©aJaëbc.cÊdhee–f$f«g1g®hhth¹héii i3iGh¬h¾hÖhähéhähÍh¡h]hgœg,fÂfbfe»e]dôd|cûcobábOa»a!`}_Ï_^V]Ž\µ[×ZôZ Y$X6W?V@U>T2S#RPûOàNÆM¥LŽKtJ_IPHIGGFMETDaCkBrAƒ@?Å>÷>C=œ=>²?S?ã@i@éAjAôB…CC§D2D²E%EEðFJF•FÛG G`GœGÜH"HmH¹IIWI§IùJEJ…JµJÙJöK K(Kã>K=¶=$<’;ÿ;s:ò:n9ê9q98†7ù7]6¯5ï5'4x3í3z3>32ã2™241Ì1‚1k11`0ê0L/©.û.8-b,‡+È+<*´*3***G*g*‘*Å*ï++(+++*â*«*l*))ç)¢)\)(Ä((C( 'Ú' ']'&±&@%¼%*$•$#a"š!À! !µ@¹&ÁËJé Ù!ì#$U% &î(8)y*±+à-./0122Ö3Œ4,4Ê5k6 6´7N7Ü8f8à9N9µ: :X:¥:ð;?;’;éz?9@ @ñAßBÕCÓDÓEÙFäGðHüJKL+MÞ>=!<1;7:39.857@6J5W4r3—2É2 1Q0¡/û/M.œ-ÿ-s,í,x,+Ò+ª+†+†+æ,`,Î-+-l-Ò.c.è/y/ô0f0ë1]1á2S2Ç3]3í4m4Ë55K5b5p5‚5š5°5Ê5ò6$6R66Ø727œ8 8‡8÷9c9Ñ:;: :þ;V;¬;þN>É?M?¹@:@äA˜BABØCgCæDXD¶EEcE¸FFbF´GGWG©GïH'H_H™HßI+I{IßJMJÀK?KÓLwMM¯N?NÑOYOÞPjQ QÁR‹S_T.TëU›VKW WØX¤YwZH[[õ\È]™^f_1_÷`»abAbüc±dZdþe–f%f«g)g£hhƒhëiQi³jjfj¼k kPk“kÌkül$lEl^lnlulyl€lƒl}lsl[l4lkÌkŽkDjëjjiži6hÑh‚hIh)hgÿgÛg¨gkg2føf f1eÊeZdÌd;c–bÛb2a“`÷`L_‰^×^]T\x[ŽZ«YåYXLWwV¢UÔTûTSR0QEPcO}NŽM˜L¢KŸJ¨IÃHßHG3F]EDÛD'CqB¸AÿAA@}?Á? >`=Ò=Y<ï<™2>i>–>Å>ë? ?-?L?i?ƒ?›?°?Ä?Ó?ß?í?ö?þ@@@@@@@"@"@'@1@>@J@[@t@‡@Ÿ@·@×@úA AEArAŸAÉAõB#BQB{B©B×CC.CZCC¤CÅCâCýDD,DGD_DsDŠD§DÁDÛDóEE3E^EŒEÅFF\FÆG+G™HH˜I I¥JJ„J×K#K€KìL[LÐMCM¶N)N–NÿOdOÉP*P“QQ‰RR¬S@SÍT]TîU€VVµWPWíX…YYÂZp[+[æ\¡]f^;__¬`A`àa‚b#bÈcfdd•e&e¯f3fµg/g–gçh#hKhdhvh…h˜gýhh)h^~]°\Þ\[Z8YOX`WkVkUcT[SJR7Q%PNöMàLÁK¦JŠIsHaGZFRERDXC[B_Aa@h?o>=¸<ü->Å?Q?Ð@O@ÑAVAáBoBúCCüDnDÖE6E‹E×FF]F›FÙGGeG­GüHKHHôIHIIÎIüJJ;JYJJ£J±J¦JJPJIÐI‹IFIH´H^GýG›GCGF¬F;E¼E9D²DC…BâB@A’@Ù@?b>¹>!==<†;õ;g:Ü:T9Â988À8J7Ñ7I6¶6 5S4˜3î3l32±2p2+1à1x131110Ú0X/·/.d-¥,Ô,+G*·*:)Þ)É)å**4*f*¢*Ü++!+(+*ð*Ç*˜*b*()ä)¢)`)(ä(«(t(@('º'a&ù&~%ð%a$Ø$N#©"ë":!µ!L é † ¨*§W}  ò!ù#$9%v&µ'ñ))*V+|,š-®.µ/¼0¹1ª2†3L3ÿ4¦5M5ð6™7?7×8i8ù9x9ð:b:Ê;*;„;Ý<8<–==u=ø>ˆ?+?ä@«A„BiCVDKEFFFGDHEIHJJKRLXMZNaOkPnQpRuStTjUVV7W WÏX‚Y$Y½ZEZÁ[1[”[ð\;\\³\Ü\ÿ]]2]P]n]Š]§]¾]Ë]Ë]À]£]y]D]\º\k\[Ã[t[Z»ZSYâYfXÜXPW²W V]U¤TíT1StRµQòQ%PQOzN¡MÂLÞKôKJ,IFHeG}F’E¡D¦C§BªA²@Ç?¿>£=¹<Û;ô;:9876543'2L1…0Ä0/O.¨-ý-N,¦,+˜++*Ô*ƒ*V*B*N*¤*þ+R+É,?,²-;-¾.>.ª/+/±0-0À1S1è2j2ð3s3Ú4.4t4’4ž4´4Ê4Þ4÷55O55²5ù6Q6³7$7š888õ9i9Ü:C:Ÿ:ø;O;©<<[<¯==G==ñ>t>í?e@@³AiB BžCCŽCóDLD£DÿEZE±FFTF©FþGKGŽGËH HWH«HüIXIÃJ8J°K3KËLkM MªNMNÜObOëP…Q,QäR¥SdT TäU·VŒWSX XÎY™Zn[>\ \Ý]§^q_5_ú`¸aub-bâc‹d.dÇeXeßf[f×gKg¹hh†hçiJiªiÿjNj–jÐkk7k^kzk‘k¢k¬k·k¼kÃkÀk²k˜kukFkj×j’j>iÕikih£hKh gågÒg¸gœgvgAgfÑf‹f'e½eSdßdYcÁcbpa¿a`w_Î_^l]²\Ù[÷[Z6YtX©WÏVòVURT‰S¯RÈQÚPèPONM%L+K,J3IDHXG~F©EÐDúDJC©BöBKAž@ç@-?|>Ö>:=·=;<É >+>I>a>y>> >¯>¿>Ê>Ó>Ü>Þ>ã>ä>ê>ì>í>ï>î>ð>ô>ÿ? ?!?4?K?f?? ?Â?ì@@B@p@Ÿ@Ì@üA*A[AA¼AíBBMBzB£BÈBäCCC;CWClC†CšC³CËCåDD$DEDoDŸDÕEEmEÖFIFºG2G¶HBHÒITIÆJ(J}JÜKIK¹L4L´M4M°N)N¡OOˆOñPYPÅQAQÉR]RóS‡TT®UCUÝVyWW»XUXôY‘Z8Zæ[\T]]Þ^˜_E_à`yaa±bTbõc‘dd©e-e´f3f¦ggMg‚g¡gµgÆgÔgãgMghg~gg’g…ghg1fëf–f9eäe›eOdüdžd8cÄcHbÆb>a¸a/` `_Z^Ÿ]Ø]\$[CZeYwXˆW“V‘U‹T}SnR^QMP:O*NLýKàJÃI¤H‘G}FqEkDcCdBfAg@]?Y>U=].>»?G’GçHIbIŠI¹IéJ JJ IæI®ItI:HúH¼HrHGÁG]FïFˆFOFE¤E!D˜DChBÅBAm@¾@?i>Ë>>=±=(<š<;‚:ì:P9¼9"8Ž87—76”65]4©3ù3Y2×2v2!1Ò1Š120Ë0™00œ0›0J/Ç/(.ƒ-Û- ,S+ƒ*É*<)Ð)Š)‰)±)à**7*{*¼*í+++*ý*á*½**\*$)í)´)})H)(Û(Ÿ(X('ª';&½&2%§%!$˜#ø#R"È"_"!¤!: Õ x ´P!c ! "#$+%M&z'¨(Ò)ô+,)-:.D/M0Q1G2-33¿4q5#5Ö6|7#7Æ8f9 9˜::›;;;ý!>¤?8?Ù@ŠAKB!BýCßDÊE¸F«G¢H™IJ‡KLzMtNkOdP`QXRNSDT*UU×V”WFWðXŠYYœZZ{ZÚ[,[q[¨[Õ[û\\-\J\l\\©\Â\Ô\Ý\Ö\Ã\£\v\=[÷[ª[^[ZÂZoZY±YPXÚXYWÏW8V˜UëU4T|SÅSRLQŠPÁOóO NFMgL‡K£J¾I×HðHG'F=EQDMCLBPA[@o?†>£=¦<¦;­:¿9Ó8Ù7Ù6×5Ù4Þ3ß2Ý1â109/q.­-ú-S,§+÷+S*¹*8)Ð)ˆ)D))))M)‘)ì*e*ù+‚,,--~-ê.d.ù/¦0S0ñ1m1ù2y2î3I3•3Á3Õ3é3ú44%4H4n4Ÿ4Ó55i5Í656Ÿ77“8 8‰99t9Û:::”:í;G;£;ô >x??Ó@‹A9AÏBRB¾C!C~CÜD=DDøEKE EõFOF FêG.GyGËH HtHÌI6I©J!JžK(K¾LdMM¼NSNãOkOýP›Q@QéR–SbTNUFV VÚW‚X5X÷YÅZ[Z\%\ï]¹^x_5_í`¬aabb¸c\côdƒe eŒff€fògZgÀh"hƒhâi=i‹iÒj jDjrj”j°jÄjÒjÜjêjòjûjújñjÛj»jŽj\j i×i…i%hÅhihgÆg–g|glgZgBgfÝf£fdfe©e>dÚdlcçcRb¯baT`«_û_G^—]ì],\W[wZ“YÂYX7WXVuU TÜTSIRjQ|PO‰N˜M¤L®K³J´I¶HÇGÕFòF'EUDyCÂC'B}A×A1@…?Ù?.>–>=~= <—<(;Â;e; :¬:E9Ø9h8ý8’87œ7%6¿6\65§5U54°4e43à3©3|3\3<32ÿ2î2Ú2Ë2»2«2¦2®2º2½2²2Ÿ2š2Ÿ2¥2­2¸2Æ2Õ2ß2ç2ì2ï2ë2á2Û2Ú2Ú2Ô2Õ2Ø2Ú2ã2ö33D3†3Ù4J4Ï5P5Â6-6–77{7è8N8¨8÷9?9‡9Ð::\: :å;);m;¯;ê< >5>X>>©>Ø??2?d?”?È?û@0@c@˜@ÐAA8AiA™AÀAàBBB8BWBrB’B©BÂBÖBðCC/CVC{C­CæD(D}DåEZEÙFOFËG^GôH‚IIoIÎJ0JKK’LL¢M%M¨N*NªO'O¢PP€P÷QuRR•S0SÊTaTøUŽV+VÎWtXX¹YYYÿZ£[J[ö\±]n^!^Ô_x``¤a?aÚbwc c›d&dªe0e¬ffpf³fãfþg gg&g7f¡f¾fØfãfçf×f´f{f4eäe•eNe d»dedc™c&b®b1a°a-`¤`_p^»]÷]'\J[oZ‹Y©XºW½V¼U´T¥S”R†QtPeOTNBM,LJøIßHÃG²F¨E›D–CBAˆ@?l>V=E<>;F:k9°98‘837Ì7C6¼6K5Ï584—43‘3<3 2ù2í2Ø2¼2œ22k2V2B2G2X2a2Y2;21Ø1’1F0ó0¤0k0J0<070;0X0—0ú1x223<3é4˜5H66¿78D99Ã:|;);Ñ>›??”@@‹A AŽBBŠBùC\C´DDHD‡DÆEEIEEÖF&FwFÎG*G‡GÛH&H`HŽHÁHôI*I[IzI€ImIIIHÞH¬HsH7GïG™G;FÚF{FEÆEvED{CåCHB§AþAO@ª@?ˆ>÷>i=Þ=O<Â<1; ;:e9¹98r7á7_6â6a5×5@43ñ3G2°251Û1Š130Þ0€0,0000!/Ì/G.¥-ÿ-S,š+Ñ+*Q)Ì)m)8)E)t)¢)Ê**O*™*Ø*þ+++*ð*Ú*¼*–*g*6*)Ð)Ÿ)m)0(í(¢(J'ç'z'&~%ú%t$á$C#¶#I"ñ"™"9!Ø!}!' × • X  `!"# $&%4&I'd(z)* +°,Ã-Ñ.Ù/ß0Ý1Í2¨3u4;4õ5¯6_7 7±8]9 9¥:9:È;S;Ö7>¸?B?×@xA&AåB±C†DaE@F&GGøHâIËJµK¤L‘M{NkO[PIQ3RSSÙT¤UbVV¸WQWâXfXâYRY¶ZZ\ZœZÍZî[ [&[B[_[‡[¬[Ê[á[ì[ê[Ü[Â[›[f[)ZâZ›ZVZ Y½YhY X«X@WÌWJV¸VUxTÇTSZRžQáQPXO‘N¿MèML/KKJbI|H’G®FÌEèDþDBöAüA@?9>U=m<…;Š:‰9–87¢6¨5¥4£3«2¹1µ0¯/¿.ð.%-b,°,+L*’)é)O(Ó(q(-'å'©'”''Ä(+(Æ)L)Ð*^*à+e+ü,d,»-$-³.b/'/á0l0ý1|1ú2[2ª2é3 3"3/3D3P3k3‹3¸3ë4&4x4Ú5?5«6%6›77 8"8›9 9r9Î:*:…:à;/;u;µ;ý*>í?¨@^@óAyAèBIB©CCtCÖD5DDçE;E—EîF?F‰FØG1G’GíH@H¦II’JJK'KÍLyM"M½NQNãOwP PŸQ;QåR½S·T´U‰V>VðW¦X]YYÚZ¡[g\.\ò]¯^l_#_Ú`‹a;aâbcc°d7d¸e8e´f%ffùg]g¿hhwhÅi iCiuiŸiÃiÞiíiüjjj"j1j4j3jiøiÒi¢ieihÒhyh"gÍg}gFg(ggf÷fÙf®fuf8eúeŸe3dÈd^côcubäbDa`ó`L_œ^â^&]j\ [ÂZãZ Y@X†WÄVéVU1TjS§RÚQùQPONM#L*K-J0I6HFGUFoE¨DàDCVB«BA^@À@?€>â>H=¼=@<Ë9€9Ã::D:„:Ä:ý;0;[;;Ÿ;º;Ñ;ç;þ< <<*<3<;%>V>>Ä>û?3?l?£?à@@O@@¬@Ò@òAA1AQAtA•A²AÍAâAûBB8B^B‡B·BóC8C†CóDkDïEqEåFrGG§H1H¨IIuIæJ^JàKmKÿLMMN'N®O2O±P(PžQQ£R/RÉScTT™U0UÐVpWWÃXoYY·ZZZü[ \U]]°^___¥`9`Îa`aób€ccšd#d©e e†eÕff>fVfdflfufŠeùff,f7f4feìe®efedÝd™dOcôcc#b³b:a½a=`¸`'_…^Ò^]9\X[nZˆY–XžW›VŽUsT[S?R%Q OîNÓM¹L™KwJVI7HGE÷DäCÖBÂA°@“?n>B=;ë:Ô9Ò8ê8)7ž796Ú6j5ÿ5°5H4³4 3e2Ü2ƒ2T2C272&221ñ1â1Ø1Û1ô22'2'21å1­1j1"0Ú0•0l0`0k0v0Œ0¿11‡22¯3V44¸5k6"6Ü7–8T9 9Å:r;;µe>ä?d?ä@g@íAnAèBZB¾CC]CŸCàD$DgD­D÷EIE¥F FlFÊG(GyG¼G÷H7HzH¶HÜHîHçHËH¤HuHFHGÞG–G=FÝFxFE¼ETDæDfCÐC+B€AÔA-@‹?ñ?d>Ú>L=º=(<’;õ;U:ª9ò9487×7:6¤65˜54i3¿32{1í1x10É0l0/Ä/˜/•/ª/³/l.í.I-—,æ,.+`*‡)Ó)U) (ô))K){)®)ò*@*’*Î*ð++ +*ý*ë*Ï*ª*…*[*-)ý)Ã)€)0(×(v('š'&’&%t$Ú$K#Ï#o#"É"r"!Ã!„!T!-! ÷!!t"G#H$T%\&i'z(Œ)ž*²+Ê,á-÷/ 01 22ö3Ó4¥5t696ñ7¥8]99¿:d;;–<.<È=S=à>l>÷?Š@%@ÌA~B=C CàD½EœFGcHJI4JKKôLáMÎNºO§PQsROS"SéT¢UQUóVŒW!W¨X$X“XõYEY}Y³YâZZ%ZKZoZ—Z¿ZßZóZùZùZêZÊZŸZhZ'YáY˜YSY X»X`XW•WV›VUgT¿T SUR–QÏQP@OnN›MÀLàKþKJ*I:HJGVFhEvD†CBoAk@o?t>|=—<±;¿:Ï9Ò8Ï7È6¸5«4§3¡2•1’0„/v.r-‹,´+ê+&*f)¦(ð(H'·'?&ê&©&n&8& &b' '¼(U(Ò)Z)Õ*N*Å++£,&,--.//´0L0Ä191’1ä2'2R2d2s2…22¸2Ù3343„3ç4Q4Å5?5Æ6N6×7b7ä8^8Ç9-9Ž9ñ:J:“:Ð;;e;Á >Ì?Œ@*@°AA‰AîB]BÎC;CCþD^D¾EEtEÉFF|FãGJGªHHƒIIJJ­K\LL²MWMúN”O-OÄP]QQÓRÁS°T‘UbV/VóW§X^Y%YòZÃ[\T]]Õ^’_L``®aWa÷bc#c²dÃ>*=š=<›<;¢;*:±:;9Æ9P8Û8f7ê7j6ñ6‡6 5¼5]54£4G3ë3‰3(2Ì2s2#1Ý1¡1q1I1.110ë0Ü0Í0¿0´0±0­0©0¦0¦0¨0«0ª0¬0³0¹0Á0Æ0Í0Ë0Ç0À0·0«0Ÿ0›0 0ž0§0Ã0ö1@1¤22œ33Ÿ4&4¢55ƒ5ê6F6ž6í787‚7Ð88f8¬8ô989u9°9à::=:a:|:‘:¨:¼:Ê:Õ:Ù:á:ä:ã:ä:é:é:ã:ß:Ü:Ý:Ý:è:ö:ý;;;;);>;V;t;š;Æ;÷<.>E>†>É??E?u?¦?Ð?ò@@2@Y@€@¨@È@éAA"AFAgA”AÄBBPB¢CCžD3D´E+EËFyGG¤H"HŒHüIJJ¢KCKßLwM MŸN2NÄOTOÛP^PâQlQÿRSASäT‡U)UÏV~W2WëX¡YOY÷Z¡[G[÷\§]R]ÿ^²_X_ø`Žaa¥b4bÆcUcãdddÓe&eie”e®e·eÂeÇeÜeSepe„eŽeeee7dödµdwd=cüc²cTbóbŠba©a3`µ`*_’^é^,]^\z[“Z«Y¾XÊWÊVºUªTŽSsRZQ@P(OMñLØKÁJ¢I‹HxGjF`EWDGC5B@þ?Ù>©=q>¸?O?î@’A=AîB«CtDBEEêFÃGžH{ISJ2KKøLÜM¾NžO~PTQ#QðR¶SkTTÁU^UóV{VúWrW×X0XzX«XØXÿY(YPYsY™YÀYÞYøZZYÿYæYÃY–Y\YXÕXŽXIXW´W[VöV‡V U}TêTFS–RáR(QiP§OàO N>MdLˆKªJÈIßHðGýG FE"D4C=B,A!@-?6>9=C<[;{:‘9¡8ª7¡6š5Š4v3r2o1`0P/>.0-%,2+Y*”)Ê)(G'•&ó&a%è%•%C% $Ô$œ%,&&¸'M'Â(B(µ)0)¦)ë*~+ +˜,I-*-ì./F/Ö0H0 0ð1E1w1—1¬1Ã1á1ú2 2)2M2‚2â3T3É4A4Ê5V5é6u6ü7z7ê8U8º9 9s9·9ð:.:‚:Þ;:;<:= =Þ>œ?=?È@8@¨AAŠAûBiBÓC9CCþDaD¼EEfEÊF;FªGGsGâHaHåIqJJ­KWLL¯MXMøN•O-OÉPsQ5R RáSµTUgV,VâW›X^Y+YùZÁ[†\F]]¼^r_&_Ï`vaa¬b@bÏc_cédpdëe^eËf.fˆfßg+glg£gØhhh/h?hMhah|h–h§h¢hhrhMh"gég¥gbgfÖf•fcfMfNfKfCf0f eÎeeHdèd~dcŸc8b¿b'a‡`â`<_¡^í^]=\X[nZYµXÖXWAV‚U´TÐSÝRîQùP÷OÙN¸M L´KíKJ/I-H.G7FGE`D’CÓCB@A}@É@?}>ã>O=À==<¿7ƒ7É8 8H8…8¶8å9 9(9E9`9q9}9ˆ99‹9ˆ9„9†9ƒ9}9q9n9d9Y9Y9_9k9v9…9–9£9¯9À9Ö9í: :3:a:“:Í; ;G;„;¿;ÿ<=<‚<Æ= =O=—=Û>>T>†>µ>Ü>þ?!?G?o??Ç?í@ @*@N@v@›@ÍAAPA®BBŸC4C¹DBDâEˆF.FÈGOGÅH4H¹IKIãJˆK+KÍLnMM¢N:NÍO_OîPsPüQR,RÔSxTTÁUiVVÍW‰X@XõYžZFZì[•\?\ä]Œ^>^é_`!`­a.a¶b@bÎcYcÖd=ddËdíeeee e8d­dÈdÓd×dÇd§dwd?dcÒc£cfcbÁbaa÷a‹a`¦` _“^ñ^B]y\ž[µZÆYØXæWçVÞUÏT¹S¡R‹QwPcOON8M'LJÿIîHãGäFàE×DËCµB–Aw@Q?=í<½;—:98Ž7µ6õ6Q5Î5w5J5 4§4;3­2þ2U1Ì1s1H17121+1'1111161X1y1š1±1µ1¦11W1'0ð0¸0Š0p0q0‹0º0ì1#1n1Ô2R2Þ3{44Æ5m66²7U7ø8•9.9À:K:Ò;W;Û<[<Ü=_=â>g>î?q?ð@f@ÒA1A†AÏBBQBBÑCCkCÈD5D¤EE†EìFLF¡FõGGGˆG²GÌGÛGàGßGÐG´GŒGXGFÈFsFE²EGDÔDXCÔCDBªBAa@¾@?‡>î>U=·=)<œ;ü;R:ª9ú9:8q7›6Ý665¥5*4©4!3Š2í2W1Ã130±0E/ï/¤/T/.ë.Ï.ß.ñ.Ë.u-õ-X,¥+ò+8*e)†(á((l(€(²(í)')d)¥)ò*E*Š*¾*æ*ÿ++#+,+(++ *ù*Ó*ž*`*)¾)c(ý(Ž('‰&ù&c%Ï%@$·$:#Ã#\#"ã"µ"ƒ"U"6"#")">"X"p"¤#*#ü$ó%ì&ã'Ù(Ñ)Ñ*×+á,ñ./0#1#2 344æ5Â6’7[88Ú9‘:G:ó;”<:<å=–>?>å?Š@1@ÛA‹BBBþCÂDŠEUF"FóGÅH”IdJ:KKéLÆMŸNrO?PPÊQ‡R=RîS”T3TÉUVUÚVWVÂWWjW­WàX X6XeXX±XÒXïYYYYXúXàX¼X‰XPXWÍWˆWAV÷VªVRUìUtTðT^SÁSRmQ´PøP:OsN«MÛML+KSJqIH¨G»FÆEÐDÞCêB÷Aï@Ð?Ê>Þ=ð<ó<;%:A9Y8k7{6s5g4Y3P2L1>0$/-ð,Ó+Ã*Î)ö)=(x'¶&ÿ&T%µ%$•$3#à#³#¢#–$$ß%¡&I&Ã'>'¨((•(÷)*:*À+V,,À-d.4.Ø/Q/²00]0œ0Ç0Ý0ú1171E1Y1r1™1â2J2Ç3C3Í4^4ô5‚6 6‹77s7ß8D8–8Ö9 9B9’9í:N:Ë;]<<â=¤>J>Ù?P?Ä@6@¯A$A”BBlB×C=CŸCûDVD­EE†EýFjFÍGHÍIaIÿJ¨KXLL«MSMùN–O6OÞP–QZRRæSµT†ULVVÏW‘X[Y%YíZ°[m\'\à]’^A^ì_‘`/`Æa\aìb~c c‘ddŠd÷e\e¸f fQf•fÍgg(gFgWgegzg–g¶gÏgØgÔg¾ggygLgfßf¦flf.eûeáeÛeåeèeÝeÈe§ehe%dØdwdc¡c9bÏbLa¬a``_Ç_"^\]ˆ\´[ÝZýZ YMXW¨VÓV U*TASBRDQGP=O(NLÿKÿK1JaI–H¨G­F»EÍDíDC^B˜AÕA@M?ž>û>g=Ù=J<Ë8E8A8=87808)8887ù7æ7Þ7×7Ù7â7ê7ý88"848I8[8u8™8½8ë9%9`9¡9â:":b:¤:é;.;w;Ä<>0>]>‹>½>ç??6?U?‚?¨?Ö@@S@®AA£B7BÈC_CøD–E?EãFtFôGlGñH…I#IÇJpKKÀLeMM§NGNßOpOûP†Q Q¾ReSS·T\UUµVjW%WÛXY6YÜZ~[)[Í\o]]Ç^q__¯`9`»aAaÄbJbÐcJcªcõd.dOdddodwdd˜ddd dd cìc¿cŽc[c2cbÌb„b.aÌaja`Ž`_Œ^ù^P]“\¼[ÖZçY÷YX WUøTëSÖRÅQµPªOœN‘M€LuKgJ\IYH[G]FWEID-CAí@Ã?™>l==<;:%9>8e7™6å6I5¿5V5 4¯4@3»3%2Œ1ô1|1!0æ0Ë0Ä0Â0½0¸0²0³0Ã0Ü0û11A1_1n1l1W131 0ß0±0„0e0_0s0œ0Ø11Z1¬22Œ33®4I4è5…6$6¿7X7í899™::›;;¢<$<ª=0=³>;>½?;?¬@@l@½AADA…AÅB BVB´CCDDDúEiEËF'F…FÒG G0GQGpG…G‹GGdG9GF½FnFE´ELDÝDfCæC[BÃBAx@Ó@,?>ø>W=¹=<‚;ú;U:š9Ù9#8p7®6Ý6%5Š4û4…4 3{2ß2E1¶1%0Ÿ0'/Â/k/.Ñ..|.t.~.….U.-,à,)+q*¼)í) (h(/(((J(ƒ(Ä))F)†)Î*#*r*°*Ý*ú++5+H+R+R+M+:+*á*£*W*)Ÿ)6(Á(;'­'&…%í%^$Ô$Q#Ö#c#"À"Ÿ""}"c"T"_"|"£"Ï"û#H#Ö$¥%”&‹'z(k)a*_+g,p-}.‡/“0Ÿ1¥2£3š4‰5n6J77ê8±9r:,:Ú;<*<×=Š><>ð?£@RAA¾BvC5CüDÁE‡FJGGÞH¥IjJ1JøKÆL—MhN0NôOµPkQQÐRySS¯T@TÃU:U¥VV[V VßWWGWyW¨WËWéXXX$X#X!XWöWØW®W|WEWVÄV€V8UíUUATÚT`SÔS=RQôQDPŠOÍO NAMwL¥KÑJúJ IFHhGzF‰E’D›C£B©A°@©?Œ>ˆ=—<¦;¹:Ì9ê98)7;6E5>4:322&10.ö-Ó,´+‘*)ƒ(¢'ã'-&z%Ã%$y#à#O"æ"£"’"Ð#(##ô$¥%L%Ñ&:&©''|'Ò(O)")¼*A*ì+Ž,A- -Ç.^.Ë//q/¿/ô0 0)0H0e0}0“0¢0¾0ð1J1Á2=2Í3c3ü455¡66Ž77b7³7ë88J8•8ï9]9ï:r;;á<¥=R=æ>j>á?W?Ì@C@µA&A—BBuBÚC9C“CìDXDÌEGE¿F)F–GG˜H"H±IPIûJ©KWLL¯MUMúN¡OCOõP°QlR*RëS¯TrU8UûV½W‚XGY YÍZ‹[C[ø\®]Y^^¨_I_á`{aaœb(b¬c1c¯d!d…dáe3eze¹eîf!fGfcff•f®fÐfîggfüfãfÇf¡fvfHfeìe»eege_ejexeeyebe=dÿd¹dedcc@bÚb`aÑa'`z_Ø_B^™]Í]\=[dZŠYºXìX(W_V„U’T’SžR”QšP¥OªN³MµL K{J”IÊHüHG1FEE\D}C­BéB AX@œ?ß?#>€=ñ=j<Þ9†9Ï::i:À;;k;·;ö<1 >8>a>‰>³>Þ??W?®@@žA/AÊBmC C©DLD÷E˜FFžG%G·HWII®JZKK´L^MM¬NONåOyP P¥QHQôR¡SJSõT¢UPVV¹WoXXÇYpZZ¹[X[ø\ž]G]ï^”_3_Â`I`ÊaCaÃbFbºcccc“c¶cÈcÏc×cßcócUcbcec]cFc,cbÚb®b“bnbâ=½<§;©:Æ9õ98T7›6ð6[5Ï5M4Ð4P3È362¡2110É00n0Z0T0Q0P0P0Y0g00 0È0é11110û0Û0º0š0x0Z0F0P0q0¨0è1,1v1È222¨3-3½4T4î5‡66¶7I7Ô8W8Ù9a9æ:j:ð;w;ý<ƒ= =‹>>|>æ?I?£?ó@9@y@¸@ûAKA BB}BýC‚DDyDèEPE³F FPF‰FÁFüG*GDGHG6GFåF¨FfFE¼EXDìD|DCuBÜB8A@ã@??¡?>a=¿=)<Š;õ;g:¶9ñ9,8m7´6þ6B5•54~43t2Û2@1¦10†0/–/9.ð.«.a.. . ..-Ú-‚-,e+®*ù*A)z(§( 'Ù'å((a(©(ï)8)u)²)ý*R*œ*Õ++(+C+^+w++‚+s+T+!*á*”*:)Ó)c(æ(`'Ò'9&¡&%q$á$\#Õ#V"â"…"P"G"R"^"h"o"ˆ"º"÷#4#v#Ò$e%*&''ø(í)â*â+ç,ï-÷/0123455è6Å7¡8u9=9û:´;`< <¼=w>/>é?¤@ZAAËBˆCIDDÒE˜F\GGâH¢I\JJÕK—L^M'MêN¥O\P P¹Q`QüR–S%S¥TT‰TëUBUUÒVVMV†V·VãWW#W5W:W;W5W(WVôVÏV§VzV@VUÇU€U8TêT•T6SÊSKR¼R!QPÓP OhN©MßMLEKoJIÈHòHG7FMEVDYCbBmAx@p?a>O=Qv>ç?[?Í@E@½A3A¤B BpBÐC,C–DDEE„EóFfFêGyH H¡IJIüJ®K[L LµMZNN«OSPP¾QvR0RéS¤TcU(UêV¬WlX.XîY«Zf[[Ì\v]!]Å^f__ž`1`¾aKaÐbPbÊc?c§ddSd›dÙee=ebeƒe eÀeãfff)f)f f eñeÎe¨eeXe3edçdÖdÞdòee edúdÎdŽdKcîcc9bÜboaõaY`£_ü_f^Ð^]B\|[ÅZøZ%Y\X–WÒWV0U-TSQóPüPO"N8MNLFKJI7HSG†F­EÐDñDC@ByA¶@ð@.?n>¨>=u<õ5"54ê4Ú4Ï4Ç4Æ4Î4Û4í55"5:5^55±5æ6)6n6°6õ7:7€7É88a8´99^9½::m:¸:ø;/;b;“;Â;í<>W>«??@!@ÄAvBBºC`D D°ECEÌFVFéG‹H:HëI—JHJúKªL]M M¹NXNïOˆP&PÌQ{R,RÚSŠT7TäU–VJVûW©XPX÷Y£ZJZç[\\¼]f^^°_B_Ê`G`¿a>a¼b,b…bÓcc'c4c6c8c>cGbœb¥b¤bžbŽbubPb-baøaÕa©aja`Æ``_ø_~^ô^\]³\ë\[(Z8Y@XGWKVNUOTPSSRQQUPROWN\M]L]K]JWIRHLG>F)E CãB½A›@u?W>7=!<';U:‘9Ó9 8E7’6ë6M5´543é3Q2¹2"1˜10¶0c0*0/í/à/Þ/à/ç/ø00!0B0d00œ0³0¿0¿0­0˜0€0k0N080)0(0<0j0¬0ð1=1‡1Ý2A2¶373À4R4å5z6 6—7 7©8/8¯919¹:@:É;N;Ñ!>|>Ñ??g?®?ø@E@ŸAA{AûB‚C CDDwDàE@E‘EßF2F†FÌF÷GGFæF¾FFXFE¾EbED–D#CCBPAž@õ@Q?±?>ƒ=ò=\<½<#;ƒ:Ó:9O8’7Û7(6z5Ê5'4“4 3~2æ2H1§1 0p/â/f.ÿ.ª.n.7-ê-Ÿ-‘-™-¥- -g- ,‡+ä+.*~)È)(9'²'š'¶'ð(>((Ý)&)c)¡)å*:**Ò++/+V+{+™+§+ª+–+w+C+*»*])ô))('ò']&Á& %$Û$<#¦#!"§"=!ë!È!Ú""."P"w"§"ë#8#ˆ#Ù$C$Ö%ž&…'p(d)X*Q+S,Y-\.d/p0€12–3“4‡5u6\7C8!8ú9Ì:;=;ê<œ=S>>Ï?Ž@KAAÅB€C=DDÉEFPGGÍHŠIAIõJ¦KaLL×M‘NDNòOœP?PÝQtRR…RþSnSÍT$TuT¿U UJUˆUÂUöVVSñS—S2RÀR?Q¯QPlOÀO NMMŠLÁKðKJHIqHœGÉFðF ED"C&B,A,@/?$>=<;:928P7r6‘5®4¾3½2Á1Ì0Ô/×.Õ-È,²+”*i)C(,'/&H%$Ä$ #Y"ª"!` ß “ ’ Ý!N!Â"$"¦#C#¾$7$œ$â%8%%Ö&8&ü'º(C(à)„*(*ñ+Ñ,{,ø-W-­. .H.o.‡.§.Ì.ç.ÿ/ ////b/º080Ê1g22ž373Á4C4¼5.5Š5Í5ì666_6µ7,7¿8J95::Ð;€<<Ÿ==‘=ý>s>ç?b?Ý@Y@ÐAF=¤=<—<;z:ù:|9ü9}98Ž8$7Â7Z6ó6‘6*5»5N4Û4`3ä3j2ï2p1õ1t0ö0x/þ//+.Ú.’.L.-Â--),Í,v,(+ò+Ñ+¸+£+“+†+x+o+h+j+n+i+o+|+Œ+¢+´+Å+Ó+Ì+³+‘+q+O+0+&+>+t+Å,2,²-@-Õ.e.å/^/È00h0­0è1(1m1¸22E22Ñ33P3‡3¸3ä4444T4q4…4‘4–4•4Š4{4k4V4>43û3Ö3¬3‰3n3V3B363/3*313@3X3p3‹3²3Ü44O4˜4Þ5&5m5³5þ6K66î7B7—7ó8V8»99k9³9ò:.:c:‘:Ä:ñ;&;c;¡;è<" >~??À@yA&AÊBoCCÂD^DïE~FF¼GnH"HÕI†J:JìK£L^MM¿N_NúOšPDPõQ®RdSS¿TnUUÏV~W0WÚX‚Y0YÓZn[[›\8\ß]‡^'^º_=_º`5`³a(a–aõb=bsb’bœb™b’b”b”aßaâaåaâaÕa½aša~aka^aCa`é`¢`I_ã_o^ë^Z]´\þ\)[GZZYdXnWvV|U‹T™S¥R±QµP»OÁNÄMÈLÌKÊJÈI¿H´G¦F’EtDQC*B@ä?Å>©=<›;Ã;:a9§8ä8'7u6Ê6%5~4Û413‰2å2L1º120·0K/ù/Á/–/y/n/l/r/}//ž/·/Ø/÷00)0<0J0T0N0B010)00/ý/ú00"0\0 0ê161ˆ1ã2H2º363º4E4Ñ5`5ì6r6ô7w7ý8ƒ9 9‘::ž;;œ<<‡<ñ=X=³>>X>¦>ó?G?¤@ @~AA‘BB¥C#CšDDgDÌE6E¡FF`F¡FÃFÈFµF–FnF@FEÂEsED¹DJCÇC,BAÉA@~?â?I>¸>%=’<ú9‚8Ñ8#7p6º6 5d4Ç4*3”2ö2O1¢0ü0g/Ò/F.È.d.-ê-º-n-4-1-8-F-6,ó,’,+e*³*)R(”'Ò'`']'Š'Î('((Î))W)“)Ñ*&*ƒ*Ð++G+u+˜+·+Å+Ç+·+š+e+%*×*s*)Š)(Š'þ'i&Æ&%v$Å$#f"Å"4!Á!l!6!.!\!«!÷"5"n"º##o#Ì$-$š%*%ð&Ñ'Â(¶)¯*¯+³,¹-Ã.Ï/Û0ë1û2þ3÷4î5ß6Í7·89w:G; ;Ĭ?l@-@ìA§B^CCÙD›E^F FßGšHQIIµJeKKÄLwM&MÓNxOO±PEPÒQTQÒRCR©SS[S°SÿTBT„TÆTúU(UJUbUnUmUdUQU?U)U TëTÊT¦T|TNTSÛS™SLRûRŸR5Q¾Q9P¤POaN®MõM4LpK¥JÔIÿI'HPG{FE¾DÙCàBçAê@ê?ë>è=â<Ï;Ã:Ç9Ê8Ý7û7645J4f3q2|1‹0Ÿ/´.À-É,Æ+·*Ÿ)|(['F&O%g$›#Ü#"l!±! k   6 ’! !x!Ñ"B"Ä#.#y#Å$$p$Ã%%g&&À'M'î( )J**Û+|,,z,Õ-/-n-•-µ-Ó-ô..+.A.R.X.y.Á/3/É0o1 1§2?2Î3X3Ð4B4™4Ï4Û4ß4é55t6 6Ë7Š8‚9W: :°;?;Â<7<ª==Ž>>ƒ???÷@i@ÓA=A¥BB’CC¨D1D«EE—FF°GKGéH–IYJJ¼KbLL¼MiNN»OePPÆQvR-RáS–TPUUÒVWEW÷X­YcZZÏ[{\#\Ã]\]ò^‚_ _“``Žaaxaßb:bˆbÐcc8cjc’c¸câdd/dHdXdbdfd`dTdCd)dcõcØc¼c§c§c¹cÕc÷dd%d$dcÛc¢cXcbµbaba`þ`Z_·_^†]â]\M[•ZèZ3YxX¾WñWV?UQTHS0RQPON:MXLQKSJTIBH@G_FE¾DðD"CLBzA¹@÷@6?z>·=ù=b<Ó,Î-b-æ.[.½//S/’/Ê00I00Õ1!1o1´1ó2,2`2‹2·2ß33+3D3X3`3_3W3K38332á2º2‘2f2?21ð1Ò1º1¡1Œ11~1ˆ1š1°1Ï1ò2 2^2¢2ì373Š3Ó4 4p4¾55s5Ë6&6„6å7N7´88e8¯8ì9*9_9’9Æ9ø:9::Ç; ;D;v;ª;Ý<>µ?v@+@ÚAyB&BÒCrDD¥EBEîF¤GWHHÂIvJ,JçK¨LiM"MÊNiO OºPlQ%QáR—SBSîTœUMUþV¯W[XX±YNYèZ~[[¯\N\î]‹^!^¦_'_ž``‘`øaVa aÖaõaûaöaèaáaÝaa!a%a%aa `ê`Ö`Ï`Æ`³`‘`^`_Ã_Z^ß^U]º]\E[lZ‚YŽX›W¨V¹UÒTîTSRQ(P*O-N4M1L-K(J$IH FõEßD¿C˜BuAW@8?>=<(;s:Ï:$9r8¹87L6–5æ5143Ë32x1Þ1O0Ë0M/â/‘/U/*/ //// //,/C/^/z//£/º/Ê/Ö/Ù/Ú/Ó/È/Á/¾/¼/º/Â/×00H0”0â141ˆ1ä2L2¹303±424·5>5Ä6L6Ð7V7Ý8c8æ9i9è:e:ß;T;Æ<3<—<ð=G=œ=ó>N>°??˜@@©A7AÂBEB¼C+CšDD”EEŽEöFCFqF‚F|FiFHFEõEÀEE2D×DpCöCfB»BAY@½@)?Ž>ò>]=Ä=(<Š;ç;6:}9É98f7¸7 6Z5­54[3¶32d1³10_/É/3.®.;-ß- -p-<,ý,Ý,æ,î,ö,Ü,“,)+•*é*8)‘(Ü('j''-'g'²( (j(½) )J)‹)Ô*+*‰*Û+"+a+–+Â+ä+ó+÷+æ+À+ˆ+G*ô**)¤)#(š( 'h&¾& %U$–#Ò# "L!¥! ¯ y m ß!I!µ""d"À#,#›$$t$æ%z&5'((þ)þ+, -.(/:0K1V2]3\4V5P6H7=8*99÷:Ê;?C@@¿A|B5BêC£D`EEÚF“GLHH²I`J J´K`L L®MQMïN…OO P(PªQQŠQñRIRšRéS7S€SÀSùT'TOTjTzTTvTfTPT=T&T SõS×SµSŠSYS'RïRªR`R Q«Q?P¿P7O£NþNQM›LÞLKTJ†I¶HâH G0FQEqD†C•BœA¡@ ?>›=<‡;t:p9…8–7±6Ì5æ4û43'281L0h/.±-Î,å+í*ì)á(Ï'Á&»%Ç$ã$#M"‰!Æ! † ó  M ™ ð!E!†!å"U"­"Ö# #b#¶$$U$¼%F%ß&u''Æ(ƒ)D)õ*˜++”,,X,š,Ä,à--!-?-\-v-„-ˆ-™-Ó.@.Ï/q00±1L1à2k2ê3Y3¤3Ñ3Ï3Ä3¾3Ü4;4ò5è6Ú7Ò8¤9R9ì:s:í;\;É<6<®=)=¨>#>¤?$?—@@u@âASAÕBaBôC†D DDóEqFFšG6GåH©IdJJ¸KdLLÆMpNN¼OePPÇQ{R-RáS™TVUU¾VaWWÐX˜YUZZ¶[W[ô\‰]]¨^.^±_._¬`!``öaQažaßbbIbwb¤bÕcc(cIcccqczc€c}cxclcVcAc'ccbþcc+cRcxcc¯c¦c…cZc%bÜb‹b?aìa†a `€_ß_=^¤^]d\—[Þ[.Z…YÞY(XhWV±UÌTÖSÂR­QŸP•OŸN³MÐLäKàJäIæHÚGßGF0EbD”CÄB÷B*Af@¨?î?:>€=È=-<˜<;…:ô:q9õ9‚9 8ž867Ë7c6ó6ƒ65‘54‘43t2æ2U1¿1,0•/ý/l.Ú.D-»-?,Ì,x,H,/,+ç+­+b+*¼*i*#)ú)á)Ç)±))’)„)t)p)v){)‰) )Æ)ì*** )ó)Ë))l)A)()8)n)Ä*C*Ö+f+ò,v,ô-p-Ï..O.‚.¶.ñ/2/t/¾00N00Ï1 1>1m1š1Â1ç222&2%2#221í1Ñ1²1‡1_1310×0ª0„0]070/ý/è/×/Ô/Ý/ì00+0a0ž0ä111ƒ1Û202„2Ó3.3‹3é4M4ª5 5p5Ù6D6±77c7©7ê8%8Z8”8Í9 9T9¡9é:-:f:›:Ó;;K;’;æ<\<ð=¢>m?0?ã@‡A6AÜBC$CÂDiEEÒF‹GIHH²IfJ%JéK±LtM(MÒNwO#OÖP‘QLRR¸SdTT¼UoV"VÕWX&XÄY\YïZ‚[[«\F\â]w]ý^€^ü_t_ç`N`¦`ña$aCaKaDa7a'a`]```d`f```O`;`.`/`,``_Ô_“_:^É^I]·]\[[‰Z§Y¾XËWÜVöVU8T[SsR…QŽP–O˜N˜M—L’KJˆIƒHtGdFOE5DB÷AÖ@³?—>v=j<„;Ç;#:‡9Ý9187Ë76S5–4Ó43Y2¨21i0Þ0a/ë/…/2.ï.À.¡.•..“.œ.¨.µ.É.á.ù///-/;/L/S/U/[/[/[/\/a/i/m/|/Ÿ/Ü0'0w0Ì1"1~1Ú2=2©3 3š4455 6%6ª707·888·989´:+:; ;u;Û<;<›<ü=^=Á>3>±?8?Ê@^@ïAqAéB\BÖC_CùD‘EEƒEÚFF5F>F6F!FEßE³E}EADùD D-CžBýBMA A @}?é?O>®> =h<Ä<;o:Ä:9a8´87Y6§5ñ5@43å382„1Ì10b/¼//.§.)-½-g-.-,Ï,£,’,š,¦,¢,w,(+·+*t)Ã)!(t'²'&è''E'™'ÿ(^(³))H))Û*6*˜*ò+@+Š+Ç+÷,,8,<,',+Ì+„+)*Ã*V)Þ)\(Í(3'‡&Ì& %H$}#¤"Ä!ã! MɆƒ¨ù r ø!q!ã"W"Ì#G#À$2$£%%µ&z'[(J)F*J+T,d-x.ˆ/–0£1«2°3²4±5­6©7¢8—9„:f;>< <Õ=™>Z??Ñ@ŒAEAúB®CaDDÌEƒFC=><9;-:$9.8D7X6u5‘4¬3È2æ21#0F/r.¨-Û-,)+C*P)T(V'\&i%‚$¨#Ý#"W!¢! £ [ F I ] p œ ï!L>Ç?>?±@@”AA¦BCuBªAèA(@j?´? >^=±= (>â?“@E@íA•B9BÝCDBEEÀF~G7GíH¢IcJ)JôK½L}M0M×N†O7OòP¯QjR RÍSxT%TÔUƒV8VåWŒX+XÀYPYáZs[[”\(\º]G]É^I^À_,_•_ì`5`f`„`’`‹`}`k`a_œ_ž_¥_©_£_–__‹_‘_”_‡_j_A^û^ž^.]©]\h[©ZÑYïYXW4V]U‹T³S×RéQùQP O N MKýJøIêHãGÕFÂE®D•CvBYA>@>÷=ß<å<;o:Ó:89˜8î8D7’6Ï6574e3š2Ô21u0â0\/æ/|/.Ò.‘.^.;.*.#.#.%...8.F.[.l.}.‰.—.¢.®.¾.Ç.Ê.Ë.Ò.Ú.ä.õ/////h/´0 0`0¶11g1Æ2)2•33{3ú4}55†6 6Ž778 8ˆ8ÿ9u9ê:Y:Æ;1;š<c>÷?@ @¡AA B'BÁCjDDŸEEwE¾EêEüEýEóEßEÂE¢E{ENEDÇD_CÜCHB¥BAd@Ò@C?°?>f=Ã=>Ý?œ@VA A¾BmCCËD}E0EàF‘GCGðH›IAIãJ…K#KÀLVLèMyMþN|N÷OhOÒP3P‹PàQ*QoQ¯QåRR@R_RxRŠRR‘RR|RdRPRIRä=å<ã;å:á9Ð8Ô7ð7645W4x3œ2Å1î10w>ì?^?Ú@\@îA‡B)BÈCLCÄD;D¿EKEæFŽG?GòH IWJ JÈK}L,LÐMrNN¼OfPPÍQ‚R6RäS‹T6TæU®VrWW¾XcYY£Z=ZÒ[b[æ\e\è]e]Þ^M^µ__o_¹_û`4`h`Ÿ`Öa a8a]a€a›a«a·aÀaÄaÂa¾a³aŸaaŠa“a®aÜbbKb‚b£b¬bœb~b[b aÕaaD`ì`‡`_†^é^H]´] \{[Í[%Z€YàY/XsW®V²U¹TÚSÞRÒQÇP¼O¼NÍMæLñKùKJI HGF5ExDºCõC1BkA­@î@/?|>Ô>)=}<Ø<7;«;5:Æ:X9å9j8ï8u7÷77665‹4þ4g3Ç32p1Á10X/Ÿ.í.M-¹-%,,+ +&*£*K*9*.* )Ú)Ÿ)_)(Ú(‹(S(4(('ó'æ'Ú'×'Õ'×'Ø'á((%(G(b(p(t(f(:'ý'È'§' '¿( (‰) )‰**”*þ+c+¿, ,J,|,¯,ã--\-˜-Ø..V.’.Ë//4/`/‡/«/Æ/Ú/ã/ä/í/ñ/è/Ô/º//q/C/.Û. .b.(-è-²-w-<-,å,¹,v,c,f,g,…,´,ñ-<-‘-ò.\.Á/&/ˆ/è0P0¿1+1›2 2t2ä3Y3Ð4I4°5 5^5£5ç6)6n6½7 7U7¥7ñ828q8ª8è9(9l9Á:.:Á;v—?I?ù@¦AOAûBªCfD'DëE±FlG%GÝHœIbJ.JùKÀLM2MáNOFPP¿QwR&RÒS{T)TÖU†V5VàW‚XX©Y4YÁZLZÛ[k[ö\‚]]„]û^g^Ë__b_•_¶_Æ_Ç_¼_«_¢^Ù^Þ^ä^è^à^Ù^Ü^ë^ó^ò^Ý^µ^s^]˜]\a[ŸZÆYÜXìWôWV3UWTnSyR}Q~P~OxNgMPL:K#JHëGÏF®E‰D\C3B@Ò? >h=Dp? ?¤@4@ÇAlBBÑCD DªEEoE£EÁEËEÅEµEœEE]E0DîD”DC€BÞB4A˜A@k?Í?">k=µ<ú<:;z:¶9ò9/8k7¥6Û6 5C4z3·2÷281w0µ/ù/F.ž. -˜-1,Ö,,Y,/,,,, +Þ+“+**§* )](¨'û'M&½&&¶&ü'Z'Í(?(¤))_)¿*'*“*ú+^+·, ,U,’,²,»,ª,z,=+ï+—+7*É*M)¾)#(p'«&×%ó$þ#ó"Ã! 8ûýoe¶=Ùƒ 2 â!"/"Ë#g#ý$Œ%%²&q'[(`)s*+«,Ê-è/0!1=2W3v45¤6¼7Ò8Ý9á:Ý;Ð<¹=˜>o?@@ @ÐABFBýC´DmE)EãFGTHH¹IfJJ·KXK÷L‹MMžNN‘NüO`O»P PRP—PÔQQ2QSQoQ…Q“QšQ¦QªQœQƒQ|QtQbQKQ"P÷PÄP“PLOóOON’MÿMYL«KñK.JgI˜HÂGåGFECîBÝAÍ@É?Â>¶=°<©;¢:›9Œ8z7}6‘5­4Ó3ø3281Z0€/©.Ò.-B,y+¨*Ó)õ)(4'W&„%²$è$#K"!í!f! ² _ èø 1 i ¤ Þ!!A!d! !ö"H"¥###³$U$Ù%h&&Ê'{((–))‰)í*4*f**´*Å*Ö*ë*þ++++\+ß,„-9-ê.™/B/Ø0[0Æ1 1g1«1¼1‚1‰2E3{4Ÿ5™6}7B7Ý8T8º99‡::‰;;<<£=2=»>:>»???Ñ@xAAÐBzC CŒDD§EIEñF£G\HHàI¦JkK*KáL‘M;MçNšOSPPÐQRDRôS§T]U!UéVžWMWõX›YCYâZu[[\\˜]]„]ê^K^£^ë_0_p_­_ê` `T`|`Ÿ`½`Ð`á`é`í`í`æ`Û`Í`Ç`ßa aKa‘aÓb b*b%b aìa¸ara(`Ù``__^Z]»]&\€[Ñ[-Z„YÓYXLW|VxUhTrSgRZQJP.ONM6L+KJ HöG÷GF$EPDCªBÜBAP@~?·>û>B=‡<Í<,;;&:Á:V9Ý9T8Ä857­7,6¨65‰4ë493}2¸1ï1!0J/j.“-Ø-6,£,+’+*¦*))´)p)I)(â(¤(f('Ü'£'v'T'C'2'#'''''"'3'P's'–'­'½'´'‹'X'&'&þ'-'„(()))ü*o*Ò++V+“+Õ,,L,‰,Å--J-ˆ-Ä-ú.).[.‹.·.Ü.÷/ //!///.Ý.±.|.B-þ-¹-n-$,Ø,‰,7+è+ž+}+2*«*•*š*–*¸*é+3+›, ,ƒ--r-Þ.O.Â/;/»060±1)1¤2*2¯313 44Z4¦4÷5G5œ5ú6M6¡6ó7;7{7¹7þ8D8›9 9¨:i;N<4= =Ù>š?]@@ÐABZC,DDÔEžFgG/GþHÒI¬J…K_L.LíMªNjO*OòP´QqR-RáS•TGTüUµVfWW²XKXßYrZZ˜[/[»\G\Ê]B]°^^c^£^Ó^ð^ú^÷^ê^Þ^^^"^%^ ^$^2^H^S^P^:^ ]À]W\Ø\C[ZÂYàXñX W%VIUmT†SŠRŒQP’OŠN€MoLWK:JH÷GÚF¸E“DiC9B @Ý?¢>g=>š?1?Ï@}A:AûB³C^CûD~DåE7EsEšE¦EœEŽE|EfELEDÜDuCéCMB¶BA@ã@M?©>ø>>={<º;ó;$:R9„8®7Ô6ý6$5K4u3¦2ã2#1i0°/ù/I.£. -„-,¶,d,&+û+æ+å+á+Ê+—+H*ã*f)×)7(Š'Ú'/&¢&f&ƒ&Ç'!'‘((s(Þ)G)±*"*’*ÿ+h+È,",m,­,Ü,è,Ó,§,l,%+Ø+€+*š* )p(Á'ú'"&:%=$"Þ!ƒ ¿‰»½Gí a $ Þ!—"N"ü#£$B$×%n&&õ'ö)*%+D,_-~./¹0×1û3 4E5f6€7œ8¯9¼:½;µ<§=Š>g?@@@ÚAžB[CCËD„E=EõF¯GeHHÂImJJµKPKàLiLëMbMÐN6N–NéO,OqO¯OâPPk>ú? @SAA¸B\BìCyDD±EYFF·GsH6HÿIÄJ„K=KñLœMJMüN·OxP3PòQ©R_SSÉTƒUAUñV¢WMWóX•Y0YÀZKZÓ[W[Ô\H\»]!]|]Î^^\^ ^á__Q_†_²_Ó_ì_þ` ```````%`\`¨`ôa?aaœaža‹ama?`ù`³`j` _§_4^¢]õ]W\À\'[‡ZÝZ/YvX±WãW V TýSøRðQéPßOÈN¦M˜L´K·J²I”HyGŠF¨EÊDêDCLBA´@ç@?N>‰=Ð=(ü(Ù(·(Ã(î)>)¬*.*¼+D+Ä,>,°-%-. .¥/(/ª0(0µ1B1Ì2K2µ33p3Ä44v4Ò5+55Õ6 6d6¤6æ767˜88¼9Š:|;m¬?m@/@üAÐB­CˆDZE+EøFÇGšHpIKJ(KKØL MbN#NæOªPlQ)QãR—SHSùT¬U\V V´WUWïXYYªZ>ZÍ[W[×\Q\½]]q]¶]ì^^!^$^ ^]O]X]]]a]a]j]‚]ž]²]°]™]g]\±\1[”ZÝZ Y+XHWlV–U½T×SßRãQéPìOñNôMîLßKÆJ¨IHmGPF3E CâB»A@^?&=ê<Ç;Ú;:9ç9R8µ8 7N6l5l4V3821 0(/w.ë.z.#-Ú-“-R-,ñ,Ñ,»,©,ž,˜,’,,‘,”,,,‘,’,”,Ÿ,«,µ,Ã,Õ,ê- -1-^-™-à.<.Ÿ//f/Â00x0â1V1Î2N2Ù3g3ø4…55¢6.6´7?7È8N8Û9k::¢;E;ê<=3=Ï>l??Ñ@•AXBBËCmCùDhDÇEEHEoE}EyErEgETE:ED·D@CµC"BAóAX@½@"?‚>Ó>=I»?“@dA,AìB§CaDDÒEF@FðGHJHóI”J0JÃKMKÌL?L­MMoMÀN NNNŒNÁN÷O%OJOjOŒO²OÙOúPPP PO÷OîOáOÇOŸOlO3NßNvNMŠM LxKØK(JhI£HÙHG(F@EBD2CB@ç?Ò>Æ=¾<»;¼:Æ9Ú8ð87685_4‰3´2å21@0f/”.Ã-÷-4,s+´*ð*')]('Ã&ø&0%o$³#ý#Q"«"!…! ¤ Gð uneƒÌø   P ª!!~""‹##²$-$³%Y%ú&¢'J'Ø(<(y(±(Þ))) )%)0)?)E)J)b)Á*O*ú+½,y-+-Ð.g.é/l/ò0p0Õ0ì0ó1O2"3$44õ5¹6V6Î7,7…7ê8e8ï9|::Œ;;˜<*<´=5=º>M>ï?¤@ZAA»BWBîC†D*D×E„F+FßG—HZIIØJ”KJKõLŸMPNNÇO‰PHPøQ¯RaSSÍT…U3UßVW"W¹XKXÝYhYïZqZí[b[Ê\+\‡\Ù]+]v]¾]ý^<^s^¦^Ñ^÷__(_8_A_D_D_B_A_R_}_¿``i`¶`ëaa `û`â`²`q`2_ç_Š_'^°^!]\â\O[»[ZrYÆY XDWrV—UŸTSRŽQˆPƒOtNeMFLRK]JEI8HBGYFvEDºCãCBLA„@·?è?>g=¾=…?K@@úAÙB³CD^E,EûFÊG¢HyIWJ4K KÛL£MfN'NåO§PdQQÐR~S'SÏT{U$UËVkW WžX2XÈYZYéZrZî[c[Ë\+\}\Å\þ]&]A]M]O]M\†\‘\™\œ\¦\¶\Ú\ù]]\õ\½\i\[‚ZàZ&YVX~W¬V×VU*T9SBRIQNPXO^NdMaLSK?J#IGêFÍE¬D‹C`B9A?á>©=v0¯1.1¶2A2Ï3d3ö4ˆ55£6/6¿7Q7â8~9!9È:u;";Ép?*?ï@¹AB9BâCuCñD[D¯DòE%EIEYEXESEME=EDáDDC{BëB[AÆA*@‘?õ?P>™=Ó=<*;I:_9s8†7“6›5¢4«3¼2Ü21E0™/ù/\.Â./-ª-8,Ü,ˆ,=,+Ø+¹+Ÿ+|+H*ú**1)¶)3(§('n&È&D& &#&k&º''—((†(ú)w)ô*e*Ù+N+»,,y,È--#-)- ,Ý,­,y,3+Ý+v*ñ*Z)¹) (C'f&x%w$X#!« 5ÀoX¢p°6Þžj<  è!¾"†#C#ó$•%7%é&µ'¦(­)¾*Ô+ì- .&/C0g1‘2º3ã5 6(7C8]9j:m;j<]=C>&??×@¢AiB(BâCœDUE EºFgGG»H^HúIŽJJ™KK|KáL:L“LâM'MhM£MÚN N3NcN”NÈNþO,OHOSOUOPOIOBO=O)ONØN—NJMåMvML„LKtJÔJI\H”GÅFóFEDCAð@Ü?Ì>¼=²<´;»:É9â8þ8!7E6c54¸3è32M1‚0º/ì/ .W-”,Ñ,+S*’)Ð) (A'w&¬%á%%$l#Â#"t!ä!W Û p ¹g#  S~’–²û V Ð!M!Ê"k"ú#v#þ$–%M& &¬'3'‹'¸'ã( (0(@(=(9(I(W(e(q((ê)x*)*ð+©,_--.).¶/K/Û0G0{0º1+1ô2ß3©4f55·6-6†6Û7C7Ã8O8Ú9d9å:d:ê;{<<==¥>I??º@jAAÅBaBùCDGDýE©FVGG¸HpI+IçJ¡KNKùL¨M]NNÖO’PEP÷Q¦RZS SÁToUUµVIVÚWiWóX|YYˆZZxZá[>[—[ë\?\Œ\×]]]]”]Ì]û^^:^S^e^m^u^x^x^‡^£^Û_,_ƒ_à`,`]`v`v`j`U`#_è_¬_d_^¢^/]©] \k[Ü[MZ²ZYfX£WÔVþV#U8T7S6R6Q3P0O$NLúKøJôIßHñH G#FCEqD”C¹BÞBAO@?½>ÿ>T=¶= <];ª:û:M9Õ9¯9]8Ú8L7·7*6“5ð5:4y3 2®1­0/Y."-,+f*Ö*])ñ)Œ)+(Ë(e('£'H&ð&“&6%ê%¡%c%0%$ä$Ù$Ù$Ü$í$ú%%%#%:%V%s%–%®%Á%É%À%²%›%%¦%Ú&(&†&ë'H'¢((G(…(à)=))á*5*“*ì+=+’+á,(,j,¦,Þ- -)-I-Y-8-R-E--,Þ,¤,d,+Õ+‚+&*É*c)ù)‡)(›('›'&€%ë%y%+%%$%„&&´'[(()%)©**–++¢,0,½-L-Ö.f.ù/€/ÿ0q0Ø1<1™1ö2T2®33V3£3ï4644Ö5C5Ô6…7a8]9f:a;E<<Ô=—>e?;@@ÿAÝB½CD_E,EúFÌG H}IVJ/KKÓL—M\NNÕO‘PKPýQ¨RNRóS—T7TÙUvVV«W?WÔXiXöY|Y÷ZjZÏ[,[[È\\9\W\m\x\~[·[Â[Ð[Ô[å\\.\T\l\n\R\[Ã[TZÏZ,YmX£W×WVLUzT’SœR Q¦P¯O½NÈMÒLÒKÆJ³IœHGeFNE.D BçAÂ@›?p>6=;ô;:q9ß9X8Ð8=7‘6Å5Ï4¹3†290ã/¢.Ÿ-ò-u-,Ï,,O,+å+¹+–+z+d+R+G+7+/+$+++ +*û*ú*þ+++(+C+m++Õ,,_,²- -o-Ð...….Ø/6/Ÿ00”11¬2A2Ö3h3û4‘5*5Á6X6ö7œ8D8õ9¬:[;;´‘?W@@æA¦BRBîCuCæDED’DÓEEE-E6E:E3EDêDŸD;CÃC\=‘<´;Í:á9í8ô7ö6ø5ó4ç3à2ê2110s/Í/=.´.*-£-0,Ò,,;,+Ò+«+„+Y+"*Ö*z*)›)(”('o&Ï&@%å%Û&&m&Â'''£( (œ))**++q+á,F,¤,ô-,-C->-$-,Ø,¢,c,+ +*Š)ã)4(n'&¥%§$Ž#Q!ñ y¦|ž$v¿ŠcC %!!à"±#l$$Å%s&.&ÿ'ñ(ø* + ,7-Q.r/˜0½1è34:5a67š8«9¸:¹;®<›=‚>\?3@@ÊAŒBKCC½DqE!EÈFmGG­HEHÐIRIËJ>J£KKYK«KøL@L‚L½LôM)MiM«MêN,N]N|NŒN’NœNŸNœN•N‡NmN@NMµM\LöLŠLK”K JrIÈIHTGŒFÂEêEDCAÿ@ú?ï>ã=Û<ß;æ:õ:9.8U7|6£5Ï4û4*3b2˜1Ò1 0F/„.À-þ-B,„+Ê+ *E)(µ'ï'$&[%•$Ü$,#ˆ"è"N!µ!& § 7Öu!ÚËRbZC16c´ . °!)!¹"9"Æ#Z#û$Ë%Š& &}&Ö&þ''7'Y'i']'K'V'h''—'Á((¢)U*!*Ý+•,>,Õ-k..¢/4/²00y0í1ž2t3 3À4t55‹5é6D6®707Â8J8Ì9F9À:A:Í;Z;êd??Ð@‚A6AÜBuCC¹DkEEÌFtGGÊHI9IðJ¢KPKÿL®MgN!NÛOŒP;PçQ–RGRøS¤TFTÜUhUòVW W–XXšYY‹YóZNZ¨[[T[¦[ô\>\ƒ\¿\õ]!]I]j]…]–]¢]§]°]¼]Ô^^E^œ^ý_U_™_È_Ý_å_ß_Ä_—_`_ ^Ü^„^]«]+\Ÿ\ [uZâZLY²YXKWkVŽU±TÑSäRâQäPêOîNåMÉL K‹JI‘H¦G«FÌEöE-DXCxBœA×A@[?¢>ø>Z=À=3V2T1-/Ü.u-,+-*•*()À)c)(¦(V('¹']'&¬&E%Ù%k%$¯$a$/$$$ $$5$G$^$o$~$—$³$Ð$ì%%%!%&%!%%%2%_%°&&U&­' 'T'™((„(î)R)Â*,*‘*ë+A+˜+ß,,E,o,‘,¯,Ä,Ï,Î,¾,¼,›,l,T,+Ù+“+D*ö*š*9)Ô)e(ö(~('€&ù&m%Þ%F$ž$#˜#c#w#Ù$j%%Æ&m''£(%(ž))ž*%*¹+N+Û,o,ø-Š..›//…/ë0O0®1 1e1»22R2š2ä343“4 4¦5i6R7W8e9i:U;(;ë<®=|>Y?@@*AAíBÄC’D\E+EõFÅGœHpIHJJóK½LƒMDMþN¸OjPPÇQmR RªSHSáT|UU¦V=VÐWcWñXxXòYdYÌZ(Z}ZÊ[ [B[h[‰[™[ªZàZð[[[)[Q[…[¯[Ë[Å[§[j[Z£ZYoX·WüWCV‰UÀTåSøSRQP$O3NCMNLKKCJ1IHFçEÍDµC‘BkAM@">ø=À<•;‘:À:9“98’87U6†5‹4r3=1ä0„/;.+-{,ö,‹,7+î+¬+o+>+*ê*È*¯*œ**{*l*]*V*M*?*5*-*)*)*2*A*[*€*´*ñ+3+{+Ê, ,z,Ú-9--ã.:.•.þ/y00‘1%1¼2W2ò3‰4&4Ã5b6 6»7p8(8á9˜:L:þ;²>Ð?—@\AAÅBfBöCrCÚD4D€D½DãDþEEEEDçD­DXCïCzBöBkAÖAA@±@?y>È>=0†?V@#@èA§B_CCÄDkEE²FNFâGpGöHtHéIUI¸JJpJÀKK[KžKßL$LoLÂMM]M•M¹MÎMßMéMíMîMïMäMËM§MnM'LÒLsL KžK$J¡JIpHÄHGVF—EÕDüDC B)A1@3?6>7=8å÷=‘  “!!‰"$"Ê#„$I$è%\%Ë&&?&W&y&Ž&ˆ&s&Z&`&{&œ&¾&í'H'Ü(‹)S**Ï+},,¶-R-ó.ƒ//00˜171ä2|33Ò4|4ö5V5·6,6­7<7Æ8H8¼939­:0:Â;V;ê<Š=.=Ô>…?9?ï@¡APAñB’C-CÓD‚E7EåF‰G,GÒHI3IèJšKLKøL¦M^NNÊO{P'PÐQwRRÆSeSöTƒUU›V%V®W1W©XX•YYaYÁZZpZÄ[[a[­[í\"\P\x\—\³\Ä\Ó\Ù\é]](]f]·^^^Õ__=_N_W_M_4_ ^Ð^–^Q]û]Ÿ].\¶\8[¬["Z”YþYcX»WñW V"UDTkS…RŠQ’P¢O®N£MLVK÷>d=Ì=%,O,S,V,N,8,+í+»+†+D*ú*¬*]*)©)D(×(i'ð'l&ç&^%Õ%F$¸$##€"×"P" ""_"ô#š$I$ó%”&(&©'+'¢("(³)@)Û*n++”,%,·-A-À.5.¢//d/À00i0¶0û1811Ô2<2Ä3p4J5A6Q7j8s9c:7:þ;Å<•=w>c?O@;AAöBÆCŽDUEEåF³G…HXI,IÿJÍK•LYMMÎN€O0OÚP}Q Q¹RURçSzTT U0UÂVTVáWgWäXYXÁY!YuYÅZ ZFZtZšZ³ZÍZZZ.ZEZfZ›ZØ[[![ZúZ¿ZeYòYdX¹XWZV®UúU,TMS[RdQpP€O”N®MÀLÊKÉJ½I«H•GzFfEOD2CA÷@Ú?¶>Š=VE??Ö@A@AâBuBøClCÐD$DhDžDÈDáDíDöDòDÚDªDcD C C-B¥BAƒ@÷@d?Ë?+>t=«<Î;ã:ð9ý97ù6ê5Ì4¥3ƒ2h1]0f/Š.Í.3-´-J,ó,¤,[, +Á++I+*ç*¯*r*')È)\(æ(l'à'B&¤&%³%…%%Í&!&s&Ñ'C'Ë(O(Ð)W)Ý*`*Ø+Q+Ê,8,›,ò-6-`-s-r-b-L--,÷,²,^+ô+x*ò*X)¦(â( ' &%#Ü"’!.Ä[Ì×H-|×¶ª£š ‹!{"^#,#è$‘%9%ó&¿'ž(’)–*£+¸,Ò-ó/0=1j2˜3Á4ç678-98:8;-<<ø=Î>?k@.@íA¦BYCC«DKDãExF FGG‹GüHjHÏI.I†IÛJ(JsJÃK K…KêLGL•LÔLøMM-M>MEMIMOMHM1MLÛL˜LJKëKK$J·J?I²IHlGÄGFqE½D÷D#CBBWAk@|?Œ>™= <©;¸:È9Û8ö87=6i54Ö43[2Ÿ1â1 0a/«.î.6-€,Ë,+Q*†)»(ð( 'P&Š%Å% $a#»#%"•"!t ç `éxÙÉä&çͽÊån ’!!§"C##¼$N$¾%$%h%…%œ%´%³%™%%k%n%Œ%¸%æ&&y''Ã(Ž)S**À+b,,§-@-Ï.a.ë/|0"0Õ1o1ý2š3K3ê4g4Ð585²686É7Q7Õ8J8º9(9¤:1:Ë;l< <«=N=ú>¤?\@@ÆApBB¬CECëD™EGEïFG(GÇHlIIÓJ‚K.KâL˜MMNN¶O`PP«QMQëR†SS£T,T¹UEUÈVGV¿W2W¥XXxXÕY6Y”YêZ=ZŽZÙ[[N[}[¦[Æ[å[ø\\\-\Q\\Þ];]£^^Q^^¸^È^Ç^º^¥^x^?^]Å]u]\¯\=[È[KZÌZþ>l=Î= z?k@RA*A÷BÀCƒDFE EÏF™GdH5IIÎJ—K\LLÏM„N1NÜO}P!P¹QPQèRySS–T$T²UAUÏVUVÓWKW²XXpXÃY YIYY©YÍYéYY=YZY}Y±YõZ6ZbZtZcZ0YäYwXìXJW VþVTUšTÄS×RáQêPôPON&M*L(KIûHÕGµFEoDOC)B@Û?°>}=A< :ý:)9…98ˆ8 7z6Ì5÷4ø3Ý2›1?/ò.Ï-á-,[+¹+**®*H)÷)³)y)H)$) (õ(â(Î(»(§((~(q(c(f(w(“(À(ú)<)‡)Ú*3**ê+G+£+û,Q,¦--l-í.//¼0c11À2v303ë4°5z6G77â8«9s:E;;ÿ<Ý=»>?Z@@ÖA~BB£C!CŽCçD5DuD¥DÃDÒD×DÊD©DsD)CÍC\BÚBMAºA!@‘@?_>ª=Ü<ü<;:986ú5Ç4‹3M20ï/×.à.-p,ð,Œ,C,+Ê+‹+J+*Ñ*”*[*)É)l(ü('ù'e&¹&%•%O%L%w%Ã&#&€&é'j'ü(„) )™*'*±+0+¯,*,œ,ö-;-n-‰-•-‘--^-',ß,…,+Ÿ+*r)À(ï( '&$ß#ž"@ Ð\ãu&%±Ã?ìóù !""ê#®$^%%Ó&¢'(t)|*+­,Ô-þ/20j1£2Ú4 556Z7y89›:Ÿ;’3??Í@ŽAFAûB¦CGCæDEE•FF•G G}GæHLH¬II^IÍJDJÄK;K¡KîL(LVLvLŒLŸL­L³L«L“LuLGL K½KdKJœJ/I¹I(H†GÝG;FžEöEAD~C±BÑAìA@?>(=/<8;<:D9S8h76¥5Ð54H3‰2É21C0…/Ã/.D-…,Æ+þ+4*b)(¶'Ý'&1%g$¯$#_"Ç"8!©! ’ ¢DèìñõëÙ¶›’—¢Ç1º 4 Ç!`" "Å#e#ð$[$©$Ä$Ú$ð$ë$Ã$™$~$}$Ÿ$Ø%%U%¾&]'&'û(Å)*E*ö+£,G,á-n..­/]0#0Ù1t22¹3V3Ú4P4È5H5Ô6r77Ž88u8ä9l::§;R;û<•=<=î>¨?b@@ÔA}BB¼C[DD·EdFFªGFGéHœIXJ J¹KnL(LëM©NbOO¶P]QQ£RAR×SgSðTvTûUxUõVnVáWPW½X%X‹XéYHYYïZ6ZsZ¤ZÒZù[[&[:[S[[½\\w\å]O]«]ô^ ^9^8^.^]ó]Ã]†]E\ú\Ÿ\@[Ð[UZÛZXYÄYXeW¬VäVUTS/RDQDP@OHNIM9L"KJHîGéFìFE%DXC|B¬AùAF@Ÿ?ù?a>É>&=r<¼;ý;C:9ä9X8ê8{7ö7i6Ò6)5p43«214/-~+r*5)Á)€)F),)*)()(ù(Î((@'Ý'_&È&%g$¦#è#1"”"'!æ!Þ!þ")"W"""»"Ô"ß"ë"ë"ò"ï"ó# #0#n#¸$$†%%Ç&‹';'Ú(r(ð)T)¾*)*s*¬*Ý++:+i++s+Š+œ+ˆ+l+I+*ú*Á**D*)¶)g)(œ("''&|%æ%L$±$##"!ý! ù z äÿ j!!¡"C"Û#p#ö$‚%%ª&E&Ü'q((­)N)î*ˆ++›,,,ç-F-—-Ý..=.l.­//¹0‘1“2¹3ñ5)6R7Y8D9#9ú:Ù;Ç<Ã=Å>Â?²@•AfB4BúC½DEHFFàG³HƒIOJJàKL[MMÃNnOO»PZPóQRR±SDSØTjTüU…VVzVåWJW¦W÷X=XyXªXØXÿX:X]XX¬XîY<Ü;¬:¡9Ð918¯857º7265Ã4Ï3Á21F0/.-J,„+È+*ƒ)ù)…)(Ê(‚(K( ('ò'Ý'Ã'¬'•'}'r'n'{'˜'È((I(”(æ)>)›)÷*U*±+ +c+´,,o,ì-y..µ/`00Ä12?3 3×4©56R7%7ú8Ï9¦:†;i>Ô?™@Q@ûA›B+B²C&C‹CáD%D\D‰D¥D°D¨D“DlD-CÙCsCBAïA\@Î@D?¬?>H=|<›;¨:°9½8À7±65R42Ñ1œ0j/A.9-a,´,4+Ö+”+_+0+*Ì*”*[*)Ü)Ž)=(Ý(c'Ú'E&«& %|%"% %*%j%¾&)&•''†(( )()»*L*Ñ+K+Ì,L,¹--`-”-²-Ã-Â-­-‹-Y- ,²,J+Ñ+H*«)ø))(K'[&W%9$"¸!IÐLÊa(e;£]@EYlt {!"q#D#ÿ$¬%a&&&ú'Ú(Í)Ó*æ,-3.c/•0Ï2374e5Œ6©7Ä8Ö9Ø:Ñ;¼<™=q>B? ?Ç@ƒA2AÙB}CC¥D0D¶E3E¯F%F–FÿGeGÇH9HºIGIÖJ_JÏK'KmK¢KÆKâKþLLLKüKÝKºK}K9JâJ‡J*IÃIPHÉH.GŽFïF[EÅE&DtC±BåBA6@T?n>€=<;¦:°9¿8Ï7é7695w4¹43E2„1Á0ý08/y.Â.->,€+³*ã*)0(Y'ƒ&®%Ù%$[#¬#"‰"!| ÷ z ŸNë×Ñ˾¤]EJ^€ÒGÍ m ÿ!™"+"½#W#¿#ú$$"$-$#í#½#œ#›#½#ù$;$‘%%£&j'>((Õ)”*P++«,?,È-a..Ë/0N0û1¢2D2Ò3[3Þ4Z4ß5m6 6¨757¶8'899 :E:ê;‹<<¾=n>)>á?•@L@õA•B0BÉCeD DµEcFF£G>GáHIAIîJKTLLËM„N7NéOP7PÞQRR£S)S¥T!TœUUŽVVpVÛWIW¶XXyXÏY!YfY¡Y×ZZ'ZCZYZvZžZà[1[”\\u\Ü]3]t]]´]®]]‰]d]1\ñ\¶\l\[¶[MZÝZ_YÛYEX¢WîW6V}U¨T®S©R½QÔPÙOÍNÊMÕLØKÒJÈIÃHÁGÆFÕEýE"DbCšBÌBAc@µ@ ?l>È>=h<±;ò;9:„9â9T8Ö8`7Þ7M6³65Z4321%/-v+Z*4)ð)¼)œ)¬)¹)²)™)w)E(ÿ(±(M'Ð'=&’%Ø%$M#Œ"Ô"3!Æ!’!ƒ!ž!È!ë""9"K"W"Y"P"L"F"O"t"Ç#:#¸$I$ä%Ÿ&c''Ä(a(Ü)>)£)ü*&*Y*–*½*ß*ñ++1+/+8++*ò*Û*Ä*¢*o*7)õ)¯)U(ë(r'é'P&¯&%_$¸$#s"Ú"I!Æ!N Ù q ¬\+4kÕ X Û!b!ô"’#"#¾$]$î%ƒ&&«'I'ò(—)6)Ç*M*È+>+¢,,M,‡,¬,Ã,æ-#-.R/I0g1¡2ç4*5[6m7`8E9#::õ;ò<ö=ù>é?Í@ AkB.BëC¨DdE&EçF¯GuH:HþIÀJ{K6KëLMLMóN•O:OÖPrQQžR1RÆSZSæTpTðUlUÝVEV£V÷WBW~W´WæXWTW~W©WßX0XŠX×Y YYXËXwXWVôVlUÖU.ThSRµQÒPêPON$M2L0K(JHðGÍF§EˆDoCSB7A?ó>Ï=¦R??Ó@AA·BAB¿C*C„CÕDDJDqDƒD‚DqDQDCÚCƒCBœBA’A@€?ó?V>ª=å=<*;?:N9_8g7W6.4ò3±2|1K0.ä-Ð,ç,%+”+4*ð*·*‰*e*<* )Ò)“)L)(®(B'Ç'8&˜&%†%($ô$ö%%c%¿&/&¢''¤(2(¼)J)Ý*i*î+p+ñ,q,ß-<-‚-³-Ø-í-î-Ý-·-{-1,Ú,t,+‚*è*6)o(•'ª&²%¤$~#:!Õ _ØFÀ^Wè#и¿Îàõ !!þ"Ø#š$K%%¾&‚'U(6)/*7+N,q-ž.Ò0 1;2l3˜4¾5ß6õ89 : :÷;Ú<µ=…>M? ?¿@kAA­B@BÐCWCÔDPDÊE?E±FF”GG²HRHñIƒIûJ\J¨JãKK9KbK}K†K‡KvKVK(JõJ¼JwJ&IËI`HéHbGËG-F‘FE‚DøD\C«BìB%A[@‰?¬>Í=å<ù<;:!928I7n65Ø5 4i3°2ø261w0¼/ü/B.…-Å,þ,0+[*ƒ)¥(Ç'ì'&I%$¾$ #d"Ì"C!Ä!J Ó dû¡R峦“vM%ïþ3vÐTë {!!€""À###J#V#e#j#R#&"ñ"Ç"Ã"ä# #m#Ñ$L$ñ%¶&'_('(ï)¬*e++§,5,Í-v.1.û/Â0x1(1Ê2V2ç3{3ü4y55­6P6ë7x7é8M8Æ9M9æ:†; ;³_??»@bAAšB1BÈCeDD°EbFF”G)GÆHlIIÇJxK2KëL¨M_NN¾OhP P±QTQäRgRâSSSÅT>T¶U*U—VVuVäWKW¨XXQX™X×Y Y7YXYvY‘Y¹YöZGZ­[[”\\i\¼\ü] ]/])]\ô\Õ\©\q\/[å[›[:ZÔZfYèYfXÏX1W„VËVUDTFSARHQ]PnOaN\MjL~K‹JI™H›G²FÝFEUDŸCÜCBEA@Ì@?j>»> =\<¤;ë;4:…9ã9S8Õ8R7È786 65I4ƒ3š2†1?/¿-õ,!+* *v*g*g*_*F*#)ö)¿)z)!(»(A'°'&c%¯$ò$3#v"Å",!Ã!“!†!’!Á!ü"("N"^"d"m"m"~"©"ö#p#ô$Š%$%È&v''¸(S(À)$)})µ)å*$*`*k*ƒ*”*‰*¦*¾*Ç*¼*§*´*Ë*Î*·**U* )¸)V(Þ(R'°&þ&F%$Ó$#s"Ì"'!Š û u šCü¶†hmÍ,  Œ!(!Á"a"ÿ#$$³%K%í&š'B'ê(~) )…)ü*e*¿++-+?+D+X+–,,ï./@01Ø3"4i5Š6…7o8Q96:#;'<+=->"??Ý@¥AcBBÎC‚D9DîE¬FeG!GÜH•IQJJ¶KiLLÀMeN N«OJOäP€QQ«RBRÒS\SÝTZTÐU:UUðV;V€V¼VòW#VkVŸVÔWW~WàX0X\XcXCXW¥W,V¬V,U TüTBSxR¤QÄPÛOêNùNM L JüIåHÀG™FtEHD*C Aî@Í?§>|=O<:ï9å98u7ò7~7 65÷584T3S2810/%.S-Œ,Ä,+H*)Þ)7(™('ƒ'&À&ˆ&_&=&%ò%Ë%¯%¤%³%ß&'&z&Ø'6'›((o(Õ):)—)î*E*£++²,U--¼.|/?0 0Ü1¶2™3z4a5M6=7(89 9þ:î;Ý<Å=Ÿ>q?7?ï@˜A6AÈBQBÇC)CyCÀCþD,DFDKD@D&CýCÅCsCB‘BAA @‰?ý?b>¯=é=<9;J:^9o8s7`654ù3¿2”1o06.ù-Ë,¿+Ü+(*­*_*&)ô)Å)œ)m)6(ø(°(_'û'…&ø&h%î%ˆ%D%$%%%?%’&&€&õ'‚((£)5)Ñ*h*ç+e+ê,p,é-G-–-Ù...-ú-Õ- -X-, ,2+§+ *V)Š(±'Í&Ð%Ã$ #]!ü yÞ:Ÿ20×:õ*: D!R"B##Ò$„%;%û&È'¡(Œ)Œ* +Â,ö.,/g0¤1Ú3 455V6q7‡89Ž:…;lŸ?S?ú@™A2AÂBIBÌCNCËD@D»EEEâF’GIG÷H“IIIàJ.JqJ§JÑJ÷KKJõJÎJžJcJ'IßI‹I3HÆHHGºG$F…EæEaDæDiCØC.BwA¸@ð@?C>f={<Œ;“:Ÿ9¬8½7Þ76:5}4Æ43U2—1Ù10R/‘.Ò.-G,n+*©)¾(Ö'î'&<%k$¬#ô#M"´"-!«!2 Ç ` ­_æ¹—~fFîÆ¢Ò_ÓZú ’!1!ã"^"“""Ÿ"¥"™"x"I"!ö!ý"/"~"á#_$$Á%˜&s'I((Ü)ž*U*ý+,(,Ø-’._/0/ó0©1O1ò2”3.3º4=4Ñ5v6!6Ê7_7Ð858´9>9Ê:`:û;‘<3<ä=’>A>ñ?˜@:@×AmBB˜C1CÙDŒE8EÏF]FóG–HAHïI¤J`KKÝL›MUN N¸O`PPªQFQÎRIR¹S+S¡TTŒTüUnUÞVMV²WWgW³WøX/X`X†X¥XÍYYMY²Z%ZŸ[[‹[í\>\y\š\«\Ÿ\…\j\O\)[÷[º[p[Z·ZNYØYXXÃX&W{VÇV UDTTSFR—=ä=)I??é@«AaBBÅCwD(DÛEFCFøG®H`IIÁJsKKÎLzM!MÈNoOO®PPPìQ„RR¢S(S¨TT„TãU3U~U¿UûV7U‡UÁVVZVÇW/W€W­W­W‹WGVèVwVUUTcS­RíR Q@PXOgNuMƒLŠK‹JIaHCGEñDÐC°BAw@X?7> <à;·:9‰8³87’7#6º6H5½5 433C2<1.01/M.-¿-,B+…*Í*)m(Å(#'’'&±&a&*%õ%º%t%%$Û$°$¶$ê%>%£&&€&ò'g'Ú(E(¦(ÿ)X)¿*9*È+m, ,á-¤.i/50 0í1Ñ2¸3¤4”5ˆ6ƒ7z8r9i:_;R<<==õ>¿?z@+@ÏAcAêBhBÓC+CqC¯CáD DDC÷CÖC¬CkCB¢B*A¯A7@½@>?­? >R=‹<³;Ô:ñ: 98%75ê4¼3›2‡1l0:.ü-Ñ,´+±*ã*N)ë)¦)l)<)(á(©(i('Ä']&ã&i& %Á%%c%h%b%S%`%§&&”''¡(3(Ä)Y)ð**÷+{, ,‘--e-¸-ø..0...-ó-¾-w-*,Ñ,f+é+T*¢)à) (+'<&B%2$"º!M¹nã°'äÎÄÆÏÞê è!Ù"³#o$"$Ù%”&W'&((õ)ÿ+,F-{.¶/ì12M3s4”5°6½7Å8É9Â:­;‘?1?Ï@c@ìAtAõBnBîCzDDÒE–F\GG±H9H¬IItIÆJJIJoJ†J‰JtJNJ%IêI¢ISHþH¦H>GÅGEF³FEzDñD‚DC˜C BgA»A@D?y>ž=¾<Õ;æ:ó:9857Z65Ð54h3¶32A1„0Ã0/K.‹-Å,ë,+*)$(0'G&i%–$Ò$#q"Õ"D!Ä!L á  %Ö‡@ÿÉ›pP0æ¶Šj[n˜Ì&ÃŽ K ô!z!Ì!ñ!ñ!å!Ý!Ç!¨!!J!*!+!\!µ"$"¨#U$$õ%Ó&ª'w(>))º*h++œ,F,þ-Ð.¥/m0,0Ø1Š2;2Ú3h3î4{55Ê6s77’88z8ý9::œ;4;Îf? ?¦@?@ÒAeAöB‡C$CÎDvEE£F9FÍGeHHÈIJAJÿK¼LyM1MÙN€O+OÓPxQ Q‡QõReRÚSLSÁT3T¢UU~UåVAV–VæW(WfW•W½WæXX\X»Y1Y«Z*Z£[[k[»[ò\\\[ÿ[ì[×[³[„[J[Z³Z[YòY~YXqWáW/VkU£TÖSêRÛQØPäOùONM'L8KHJZIuHšGÊG FSE–DÍCþC+B`A”@Ë@ ?I>=Ù=E??·@`@ýAŠBBvBØC+CgC˜C¼CÖCÛCËC²CC\CB«B>AËAW@è@t?ò?[>³=ù=1p??@@™AA®BPC CÒD£EkF&FÌG\GßHUH»IIrIµIâIþJIìIÐI IeIHÔH}HGµG?F¿F1EœEDDC¬CGBÐB?A @þ@W?—>È=í=<$;5:M9e8ƒ7ª6Û65c4´4 3]2¬1ó1;0~/¿.ú.,-V,n+w*n)h(j'j&y%$²#ò#="§"+!°!> Ö w !ÔŠEÇ•f;øÕ«‚Rûý#TµmH  í!)!D!D!5! ! × ¨ } ` b “ í!k!þ"³#$Y%4& &Ü'£(d)!)Ð*l+ +·,q-C.#.ï/®0j1+1â2‡33§404É5n66µ7<7¿8B8¾979·:?:Ð;e<<Ÿ=>=Þ>~??«@<@ÇARAáBpC C¯DDDÞEsFF”G=GïH¤I_JJßK™LQMM¦NPNÿO£P9P¿Q3QžRRƒRõShS×TET®UUrUÄVVVV•VÉVøW+WmWÆX5X¯Y/Y°Z%ZŒZá[#[W[x[‰[Œ[€[q[_[:[ZÒZZDYäY~YXŒXW„VØV U9TiS~RQ…P›O»NÚMóMLK(JBIeH•GÈG FOEŠD¿CïC$B]A”@Ñ@ ?G>‹=Ì=<^;¥:ú:W9¾9/8Ÿ87i6Í6/5•4õ4G3u2y1}0/¨.¿-ø-c,õ,œ,H+þ+º+x+/*×*s*)”)( (/'¹'E&Ä&F%Ô%v%7%$í$Þ$Þ$Ø$ä%%-%h%œ%Â%ø&7&|&Ð'''Œ'÷(X(´(ð)3)U)v)™)Ž))›)l)2)I)^)$)`)î*«+­+”+°,*ò*)¤(ö('';&K%G$@#?">!H ]„¸hç(è˜Käç5h³÷B˜ï_âmÿŒ  ³!K!ü"º#…$D$ï%…& &}&Û'''&Ð&Ò'!'Ò(ä*5+ª-..«012Ì3ì4î5â6Ó7Ò8á9ï:õ;é<Ê=ž>f?%?Ú@†A+AÌBgCC›D9DÔEsF F¬GNGòH•I?IèJŽK:KâLM:MãNˆO+OÄPZPìQvQóRfRÍS+S€SÎTTcSÂTTbTØUTUÇVV:V7VUÒUU*TÊTVSÎS9R’QÚQ P,ODNYMmLuK‚JƒIwHdGCFDûCØB¾A§@?y>Y=3<:ñ9Ø8Ï7ð7G6Ì6j65­5:4§3ï3271J0a/‡.À. -Y,£+ë+4*)Ð)$(z'Ý'P&Ö&q& %–$÷$)#?"ƒ">"m"è#$$±%>%Â&?&²''‰'÷()#)Ô*’+Z,(,ø-Î.¥/€0e1R2D3B4E5K6Q7U8V9R:K;:< ==Ö>–?H?ó@A$AªB!B‡BßC$CVC{C”C¤C¡CCoCFCB´BMAßAyA@§@+?¡?>]=¢<Ú< ;<:`98”7˜65ƒ4~3„2“1”0/g.O-:,-++*Y)º)J(ø(²(o()'Ü'‡'5&â& &s&T&7&&&&&&& & &]&Ë'N'Ý(q))–*)*¥++¯,D,È-7-™-ð...M.Z.X.F."-ø-Ä-ˆ-A,é,x+ò+V*›)Ô)()'Q&r%z$f#)!Á B³$¸»52èÒ¡}eX B!!ë"¦#S$$Å%&B' 'è(Û)ê+ ,5-d.–/Á0å2 3$4?5Q6Y7]8Z9G:&:ø;¹5>À?L?Þ@†A?BBàC¸D„EAEîFŽG$G©HHƒHÛIIFIcIeIZI>IHÜH–HFGéG„GF¬F-E¦EDŠDC”C8BãBƒBA{@â@B? >ã>=2„??¡@,@±A8AÂBNBäC{DD¥E7EÌFhGGÆH~I;IúJ¶KlLLÌMzN'NÏOiOëPbPÒQ?Q·R*RœSSsSÛT;T”TèU9UƒUÀUýV7VxVÌW3W¬X-X°Y,YZZOZ‘ZÄZçZý[ZüZöZèZÄZ—Z_ZYÍYjYX“X#W«W#V{U§TÑTSR0QDPlO’N¬MÍLãK÷KJ0IPH€G¹FùF6EsDªCàCBMA‰@Ä?ý?;>|=Ä= i??Ä@c@þA•B'BµCICÓDaDòE„FF¹GXGøHžIDIìJ—KDKóL MKMñN”O1OÅPWP×QRQ¾R!RRÖS.SzRãS6SžT#T©UU^UwUqUHU T¿TmTS†RüRbQ¯PæPON/M>LKKLJII9HFüEÒD£C~BZA<@"?=Þ<¸;‘:o9U8H7f6¿6K5í5–584Å403w2¦1Ã0Ù/û//.m-¶-,L+‘*Ú*%)y(È('…&þ&&%k$Ž#j",!_![!Ð"u#"#Ê$g$õ%x%õ&m&ì'|((Ô)–*j+B,,ú-Ø.¹/Ÿ0Š1†2ˆ3’4§5¹6Æ7Ó8Ý9Ý:Ô;Å<±=…>K? ?µ@W@îAwAñB\B³BûC/CNC_CkCfCYC:CBÊBkB A«AJ@ã@s?ñ?^>º> =U<;¾:ê:9!8"76543/2B1K0C/:.2-.,-+=*n)Ë)M(á(„(-'Ü'‰'='&×&¸&¡&“&&‡&&|&&&€&&¾'' (1(Â)X)î*x*û+‹,#,©--Ž-è.-.Y.p.n.Y.<.-ó-Å-„-1,Ë,G+ª*ø*/)\(‹'º&æ%þ$û#Ê"j óyùœª#ªxLñÌ §!r")"×#‰$B%%Ì&–'p(a)o*–+Å,û.-/]0ˆ1¬2Ð3õ56!7&899á:§;`<<ª=H=ä>Œ?K@@ûAåBÊC¡DmE,EÙFtGG€GèHò>/=T6>Å?N?Ø@]@ÞAfAóB„CC·DSDëE‰F,FÖGHPIIÏJKFKÿL¶MhNNªO2O¬P!P“QQyQðR^RÅS-S‰SâT6T‡TÓUUdU±VV„W W‘XX–Y YnY¸YüZ2ZVZuZ}ZzZqZaZBZYÙY’Yí>(=l<±;ü;F:š9ø9i8â8R7´76b5Ã5.4˜3ì3251k0º0 /^.¹.--³-R,ú,®,],+£+5*¿*L)æ)ƒ)7(ì(Ÿ(W('¬'^'"&ù&×&Ê&Ó&á&ô''/'P'z'¢'ã(&(d(£(Ù))>)T)q)m)f)O)Q)U)2)%('ÿ(-(ˆ)l- -ò,c+¼+x*ú*8)C(&Þ%$l#?" ößÔÝñMðXõ¥woR=Y“éG¡÷>ˆÚ9®0ÄVé‡K (!!ã"œ#<#Ë$@$‹$§$Ž$c$T$œ%U&g'¹)?*Þ,ˆ./ˆ0Ú2 34#5*6;7S8n9z:l;P< <é=§>^? ?©@G@ÚAkAòBzBýC~DDEE¸FXFöGHDHïIŸJVK K¿LrMMËNpOOŸP%PžQ QxQÚR=R–RReRÞSiSïTZTŸT¹T³T‘T]TSÊSdRóRoQ×Q$P]O†NM·LÈKÖJÜIÔHÁG¦FEVD*CAâ@É?°>=q¡?S?ô@AAœBBnB¶BðCC,C:C@C:C'BÿBÂBsBAÃAeA @©@3?ª?>r=Ì=s?W@=A.BB÷CËDŽEò>6=e<„; :Ç9ö978y7¬6ã6#5q4Ì4*3Š2æ231|0»/ò/.*-&,+)÷(Þ'Á&%l$:#!à Ü eÿÌ·¡…kM3ä»–ybS=!øµ]3ž«:su[@ñ¿‰NòþKÖ @!!ý"ä#Ã$š%m&;''À(m))Î*+d,P-D.$.ù/Ó0¦1b1ÿ2‹33»4Y4õ5‘6"6­767·888»989»:E:Ñ;\;ë<}==Ÿ>/>¶?8?½@:@»A@AÎB^BõC’D-DÊEhF F·GnH.HéI¦JdK KØLŠM-MÁNMNÊOBO·P*PœQ QyQÜR@RžRöSRS©SþTPT¥UUoUðVzWWŽX X|XàY0YpY£YÊYðYùYðYíYàYÅY™YhY'XÚXX8WÁWÑ>=R<¢;ñ;9:9ë9[8Ø8U7À76l5È574ª43M21¼1 0l/Ð/=.®.5-Ò-u- ,Í,w,+œ+(*¸*Z*)À)‚)Q)(Ô(Ž(B( 'ë'Ô'Æ'¿'¿'Ñ'ä'ÿ('(=(j(›(Ç) )7)U)u)†))ˆ)q)`)9)5))T(é((( *". .š.…+Œ(¦)Ä*K)C(0&Ü%Œ$@"ü!Á ˜wfer˜¿B—÷x#ûøc¾-’â,k±hÞq“<ïÝ ½!w"!"³#$#q#‡#s#R#W#Á$”%¶'(*++Ô-i.Ý0/1b2y3†4•5§6Å7à8è9×:±;~V>ð?ˆ@@¢A!AšBBŠCC€DDŠEEºFYFýGªHXIIÂJxK/KâL’M@MâN|O OŒPPvPèQPQ²Q.QšR"RµS;S£SãSûSöSÙS«SoS"R½RQQËQ-PtO§NÊMáL÷LKJHýGÝF¾E”DiC:B@ÿ?å>Ë=¬<†;[:4987 6=5®5L4ý4¹4m43o2Æ1ÿ1*0X/.Ñ.-i,¼, +V*¦)ù)G(›'ø'[&Ç&7%‘$¬#v"7!~!‡!ù"‚##®$C$Ø%q&&¥'T((Û)¯*Š+g,K-...ú/é0Ý1Ý2å3ô5 67/889=:;;,<<ñ=½>~?.?Ö@s@ÿAAíBFBBÅBîCCCCBõBÎB”BMAüA§AUA@š@"?œ?>s=Ñ=)? ?ø@êAÖB´CˆD?DäExEöF`F¶FøG(GJGYG^GUG:GFÓF}FE­ECÀC:B¹BHAîA®AzA<@ë@@ ?Š>ÿ>U=<³;Ô:û:+9w8É87N6Š5Ñ5&4‰3æ3A21Þ1*0a/‡.-‰,y+r*x)z(f'@& $É#v" ϧ´ ¬•ªÅÍǾ²®œƒaI3øß°l%ýE½.¼@·ñéÈžwFàPn³z \!D"/##ô$Î% &g'#'Ý(”)G**ê+Ø,Ë-©.†/c0<0ÿ1ž202Å3l44¤5:5È6Q6Ô7Y7Ú8_8ç9m9ö:~;;”< <²===Æ>N>Ð?M?Ë@J@ÍAWAæBCC¿D[DùEFIFüG·HuI0IíJ«KZLL¢M0M¹N;N´O$O—PPrPÚQ:Q›QûRZR¸SSvSÙTDTÀULUÝVqV÷WuWîXOXXßYYEYmYvYkYdYYYBYXóXÊX˜XNWÛWMV¿V"UnTœS½RðR(QhPOÇNëNM&L>KYJyI–H½GêGFCEnDžCÎBúB,A`@?Õ? >H=‹<Ö<$;q:»:9r8ì8u7è7E6™5ó5a4Ö4K3¡2à21q0Ô0E/Á/9.½.L-ë-’-9,à,~,+™+$*½*y*B*)ì)Á))N)(á(Æ(²(›(((“(£(Ç(Û(ý)!)6)n)”)¨)½)¿)Ç)®))})P)p)j*t)Î(ž'x)ñ.»0¯/º0[1D+þ((å(n'2%ú$—#T" ئ•€‹•¶ÝUšëO㥔©¾Òñ9œ {ÎMŒÏ+Ÿ(ºZìáÖ¼ „!0!¼","l"}"p"c"˜#>$<%z&è(v*+½-L.´/ÿ122U3n4‡5§6É7Ù8Ô9µ:†;L< <Â=m>>¤?0?³@1@¦AAƒAñB_BÐCKCËDZDñE”F9FêGŸHXIIÌJ‰K>KõL¥MKMåNrNøOvOöPiPÏPZPÕQiRR„RéS&S@SAS(RÿRÇR„R-QÁQAP¤OòO(NJMhLyKŒJ™I—H‰GjFCECíBÃA¨@?y>b=<<:ë9À8¨7œ6¥5×5I4ë4£4i4&3Ä3A2Ÿ1é1#0U/•.Ù.'-},Ò,)+€*Î*)u(Ñ(0'’&ý&p%Þ%$$4#="“"p"²#%#­$9$É%[%ö&š'F'ú(½)*b+9,,ô-Õ.¾/§0™1’2”3Ÿ4°5Â6Ñ7Û8ß9Õ:Å;®<Š=X>>Ö?‚@ @°A4A§BBQBŒB¸B×BéBïBîBÞBÀB’BQB AÃAwA+@Ñ@j?ö?q>â>W=¾=.-ã--",‘+è+3*v)Ã)(n'»&û&*%0$2#@"+! <”0îÏã-° G Ù!s""º#a$$Æ%„&`'Z(h)*»+ç-.9/a0‰1°2Õ3é4ù5þ788ÿ9ö:è;Ö<Á=²>ž?‹@xAZB0BôC¨DHDÙEQE³FFDFsF‘F F¡FœFˆFbF'E×EwE D“DCžCB£B0AÍA{A@A@Ö@Ž@2?È?W>Ô>;=ƒ<¶;á;:Y9¢8þ8Z7¬6ð645ˆ4æ4E3›2ó2H1”0Ì/ó/ .-(,A+Y*i)j(['7&$³#I!Í _ó¢wŽÃì" ùéÖ¿¢}H ßvìƒp‡b.ûÊcËq3E±YñÏ »!­"“#s$M%%æ&«'h((Î)ž*z+i,P-,..ê/Â0‡1/1È2_33¡4;4Ë5R5Û6]6ß7`7ç8o8÷9€::‹;;›<#<­=1=´>3>²?,?¥@'@¨A0AÄB\BùCšD7DÔE€F-FàG–HNIIºJhK K©L;LÉMJMÉNBN°OOOçPIP«QQuQÛRBR­SS–TT±UHUÜViVêW_WÄXXVX–XÎXêXêXåXÞX×XÇX¶X®X–XXWñWqVêV\U¶TþT.S]RQàQ$PZOŒNµM×LüL!KJJfI„H­GÖFþF,E^DŽC»BæBAE@y?®>ì>*=w<È<;[:¨:9e8Ù8d7à7H65ø5h4Þ4V3»32Z1±10•0/ /).´.O-ò-Ÿ-D,ç,w+ù+‡+ *Ú*®*“*w*e*>* )Ù)«))u)_)P)E)K)\)p)Œ)­)¾)ã)þ* *#***)ä)Ì)€))‡**©*)E,¯11T2-0÷/Ñ/Ì,Ù)ª(d' %Ç$–#C" ÞЫ¨¥©²ÃèP’âEÇ}ar‹«Þ#wÎ?p¤ó[Ý.ô×Ñ˳€ - Á!1!r!“!”!Ÿ!ì"¢#®$ñ&d'ñ)‘++,¨. /U0Œ1Á2å45$6E7U8J9*9ô:´;p<+<Ö=y> >? ?~?ç@N@±AAqAÖB@B±C0C½DZDûE§F[GGÐHIKJJÄK{L'LÉM_MñN|OO…OñOPP´QKQÉR*RgR‚RˆRwRWR-QîQQ4P¸POkN§MÈLäKûK JIHFèEÁD™CqBPA:@(?=ø<Ô;©:x9O877/6;5n4ã4†4F43à3†3 2v1Ì10M/”.ß.4-Ž,í,J+¨*ÿ*M)¦) (q'Û'P&Í&R%Ë%&$u#ç#¯#Ì$$’%%˜&*&Â'a( (À)ƒ*L+ +÷,Ñ-¯./r0a1V2U3]4j5y6„7Š8„9~:r;Z<9= =Í>†?4?Ö@k@óAiAÆBBSB~B¡B¼BÌBÌB½B¤BBOBAÓA”ASA@¯@K?Ò?U>Ñ>K=½=*Ü+y,,±-:-®..`.˜.º.Ã.¿.­.•.‚.}.~.y.h.>-ò-‘- ,k+»+*Q)²)!(‰'î'1&D%\$¥#ã#")!„!! × ƒ 4  9 } æ!o!ö"‹#-#Õ$‡%M&3'+(B)j*œ+Ð,ü.$/N01°2à4 516L7`8k9u:z;sK?.@@äA­BlCC«D4D£EEPE‹E³EÏEÞEãEãE×E·E€E.DÎDeCñCCBšB*AËAsA@Ü@«@u@1?Ý??>ž>=g<¨;ã;*:z9Í908š7ý7N6—5í5N4¥3û3V2ª1ú1;0n/”.³-â-,W+*’)’(~'W&$Ä#X!Ó =½kmÕŒ”Äý6\xŠ˜£©¨¤•‡hJ* kÏcö% Ó˜e9ÿ±Vê€Lx¹[L =!/""ï#Ç$–%c&,&í'¤(a)4**ö+Õ,¯-‰.g/=00¹1^1ü2˜323Ç4V4Þ5`5ã6c6ß7g7ð8€9 9’::˜; ; >??|?û@A A£BÐ>=g<±;ÿ;F:•9ô9R8Æ8J7Ñ7@6œ5û5k4ì4e3Ó3/2‚1å1V0Ø0e/ò/}/.¨.E-ð-–-:,Ò,c+é+€+>++*ü*ñ*Ö*¶*ˆ*`*@* *)ï)è)é)ð**'*1*E*b*f*w*n*[*Q*%*)Ø)¶)„*µ*ˆ*I+ .Þ22¦2U1›/ó.v-q+Æ)Ä'Ø&,$Ë#Ž"G!3  ûôëíõ"P”çLÊtNPu–ΉÿrÍ 9^ŽÎ.¶_÷ÝÒÓÀŽBÒ C “ Á Ø ü!]"#2$%ó'|)*¥,-e.®/î1+2Y3~4¢5Á6Ð7Ä8¢9g:#:Ù;’>x>ß?¬=Ž(ì)ž*`+%+ð,¿-.i/M041+2)3+465B6H7K8L9?:*;;é<·=>A>ô?š@2@¼A/A‘AáBBMBuBB¡B¨B¤BŽBoBFBAÛA¦AmA.@è@’@0?¿?M>Ó>Q=È=.<ƒ;¸:Ð9Û8ß7í7 6+5S4v3¢2Ò2 1L0”/í/S.Ç.J-Ô-X,Ù,S+Ò+W*â*x*)Ú)¤)|)Y)7)(í(Í(²(˜(ƒ(p(e(r(§(ï)Q)ß*+)+Ò,t- -“..r.±.×.è.å.Ð.©...—. .«.¦.ˆ.Y.-Š,÷,H+”*è*K)Ã)D(Ã(''[&%×%A$¢#÷#j#"Õ"Š"(!Ó!—!“!¹""f"ä#p$$Ã%‹&p'v(™)Â*ý,9-q.°/ì1(2b3š4Æ5æ789':2;)< = =í>Í?¥@qA.AâBC C†CñDMD—DÉDðEE!E,E,EEDÌD…D2CÒCkCB›B-AÉAnA@Ñ@“@\@?Ï??+>Ë>\=Ø=<<;á;6:9ð9b8ã8R7®76U5°54j3º32^1¯0ì0 /^.©.-a,£+Æ*Ð)Ë(²'ˆ&K$ø#Ž" {ër?q÷ÑäZ˜Ìë .BRPOD743>e²‹ÒÈŽHâ¸qö‡pÅd'ðËÎË ¸!Ÿ"z#M$$é%´&r'2'÷(Ã) *+R,---à.´/‚0?0ô1Ÿ252Ë3\3ä4j4é5i5ê6e6ç7n7þ899£:":Ÿ; ;›<<‹==x=î>f>Ù?R?Ð@W@åA{BBªCFCêD•EBE÷F¤GNGøH˜I3IÈJUJÜKhKêLbL×MBMªNNsNÞOJOºP,P¤Q"Q¨R;RØS{TT¾ULUÍVDV¨VýWOW›WÉWçWúX XX$X-X#XWÐW|W V‰UþUhTÊTS\R¨QÿQWP¢OéONGMqLœKÐJýJ-IRHvG FÆEöE)D[C‹BºAêA@F?}>»>=J<’;Ý;):9Û9A8³837¿766Ÿ5ÿ5l4í4l3â3B2¤21Š1 0•0'/¹/N.é.‘.7-Ü-ƒ-,¹,K+ï+£+k+_+`+\+S+=+*ÿ*Ñ*²*–*€*y*v*‡*—*§*½*Ó*Ò*Ù*Ó*º*µ*…*F*)Ó)â)®* *H,_13ð3‘2[1~0.Ö-t+Í*6(¥&ÿ%‡$1"ì!Á «—ˆzjXM;70B^™çSÝ{SHfŽÍ!Ž ‡ç#MhÈ%­\' ûõóà®côlÆ  ; u è!³"Å$%}'(™*+,Ã. /Q0Ž1Å2ð4536B7:88×9Œ:B:÷;¯<\<÷=~=ì>I>>ç?.?w?½@@X@¯AABB•C8CçD£E\F"FâG©HoI4IðJŸKOKôL—M5MÃNAN N®OVOèPaP¶PðQQ#Q&QPòP¼PpPO¢ONdM›LÆKãJöJ IHGFD×C°B’A~@q?_>I=+;ü:Å98[7D6@5X443Ð3«3Š3Y32•21|0Ü0-/‡.ß.@-®-,ˆ+÷+[*¸*)‹)(Ž('¶'`'&ß& &h&J&I&o&°' '{'û(†))Ä*s+(+ä,§-v.O/)01 234567899ì:Ò;«<‚=Q>>Å?m@@’AAgA¸A÷B!BCB_BqBB€BqBTB+AÿAÑA¡ApAEA@Ð@@"?½?L>Ú>j=ê=P<ž;Ø:÷:987?6X5x4 3Î2þ291‚0Ö03/•/ .’.&-¼-K,Õ,\+æ+v+*Á*y*?*)å)¼)“)m)D)(ö(Ö(³((¬(ä)/)—*$*Ë+,T,ÿ-–.$.“.á//:/H/:/.Ò.Ÿ.z.‡.·.à.ë.Ú.¸.|.-‡,Ô,+l*Ö*i*)”)(]'y&Ú&v&% % $Ø$³$$K#þ#®#q#\#w#·$$p%%¶&'ƒ(‹)¥*Ö,-V.•/Í1 2O3Œ4À5Þ6ó7ý8þ9÷:ê;Ø<¾=’>h?7?ù@®ASAêBlBßC@ð@£@Z@?Á?s?'>Ó>|>=¥=5>¬?#?¨@2@¿AUAëBƒC!CÊDsE%EÔF~G%GÂHZHåIoI÷JvJöKoKãLULÂM+M“MúNgNßOYOÝPgPûQ˜R=RèSŒT/TÁUGU¿V&V‹VÛWWQWuWW¤W¶W»WµW¤W‡WTVÿV‘V UxTäTJS¨RöROQ³QPhO²NæNM7LeK—JÄIóIHGGrFŸEÑDþD3CeB˜AÈ@û@0?d>¤=â='>F>ƒ>¾>ø?8?v?Ã@@{@ðAvBB¼CuD2D÷E½F†GOHHàI›JRKK³LXLìMuMYNN¬O>O¯PP>PiPPPqPQP OÝO‚ON„MÜMLDKdJ}I‘H¡G¯F©E’DoCMB1A @?=í<Ç;:S97à6Æ5Â4æ463Å33p3R32Â2S1×1N0·0/}.ß.C-µ-/,¦,+„*ó*_)Ò)T(ç(…(+'æ'¯'‡'k'X'W'c''»( (i(Ý)b)÷*“+?+ò,¬-q.A/"0 0û1ò2ï3ó4õ5ó6ï7á8Ï9½:Ÿ;y?H?ë@r@æAEA–AÕAÿBB6BIBPBUBRB=BAîAÂA•AqAJA!@ñ@µ@r@?µ?V>ö>ˆ>=q<¿;÷;&:B9N8]7v6—5½4ä43F2€1Ä10|/ç/^.Ý.m.-œ-/,½,R+ï+”+F+*È*˜*n*B*)á)®)~)K)(õ(Ø(å))~)þ*£+l,B- -².;.µ//j/›/²/°/“/T.ù.¥.k.q.¬.æ/ //.ë..-u,¸,+j*ö*£*Z)õ)X(‡'Û'u'.&ß&œ&Œ&¡&³&‹&E%ñ%§%‡%ƒ%™%Ñ&&&›'K())*+.,R-~.±/ð1,2x3»4ò67899ð:Ï;­<‚=I>>Ì?€@/@ÑA\AÕB:B†BÃBþC+CPCtCC¦C»C·C£CŠC^C*BîB®BlB)A×A„A/@Ð@{@'?Í?y?&>Ô>‡>1=Ù=n<í<[;Ê;E:¹:89Á9U8æ8a7É7%6‚5à5=43â3F2°21w0Û0[/ß/X.¹.-B,g+z*u)_(8'%Â$k#!‰ $ÖÈ»ž²í/q§Ôü.\‚§Æî4`•Òþð´xS4ÚƒáャwR3òÞ Á!œ"p#=$ $Ö%š&Z''ì(¾)Ž*^+/,,á-¼./h010Ú1€22 3!3œ44Ž55}5ô6t6ù78#8±979´:-:; ;y;ã>~>ø?|@ @˜A)AÂBWBõC¡DNDüE§FKFèG}H HŽIIŽJ J‚JöKjKØLCL­MMˆNNŽOO³PRPùQ¢RSRÿS T6TÀU@U¯VVbV£VÕWW$W8WCWBW7W$WVÌVxVUTþTlSÎS,R‰QîQdPÐP)OsN­MÓLùL+KYJ‚I«H×HG2FhE˜DÐDC;BwA«@Ú@?G>=½=9¢98{7ÿ7‡76‹5ü5q4è4l3à3Q2Ç2@1¿1<0É0Y/ì/Š/0.Ù.ˆ.8-à-”-9,Þ,˜,^,2,+ö+î+ï+î+è+Ö+»+Ÿ+†+„+x+€+z+}+‰+‡+‹+v+_+E+H++*¸*()Ò)ˆ)¾+J/µ2e2Ø2ì20Ü/‰.,³+M)È(='%Ý$›#y"G!"øÙ´•{T<ùÕ¾³¹ëCÉw='>n·—#´,~ªÊí%‚±†somT#Ùuõb¾$¡ 6 û"#1$Š%ÿ'~(ø*S+ ,â.$/c0—1Å2í4 566î7¦8K8ó9¡:Z; ;°<><³==g=§=Ü>>;>q>¨>å?/?…?ó@m@þAŸBTCCØD¥EqF>GGÕH›I\JJÐK{LL¯L«M^NNNûORO“O¼O×OÛOÓOºOŠOPNùN‰NMWL”K¿JÞIøIH%G1F.EDBäAÑ@Ê?¿>±=—m?%?Æ@R@ÈA*ArA­AãB BBB#B&B BAûAÐA¤A}AVA3A@÷@Ö@£@c@?¿?c?>¦>/=”<â<";_:†9Ÿ8¶7Í6ç6504a3’2Í21r0Ø0I/¼/:.Æ.\-ú-“-(,À,b,+Ë++W+#*ð*¿*‹*V*)å)¯)€)[)I)j)Ã*A*Õ+‹,W--¾.V.Î/2/‰/Æ/î00$/õ/Ž/.­.i.-.Y.å/s??Â@Z@ÛAKA¤AâB B.BRB}B§BÈBñCCC&CBøBÕB®BƒBYBAØAŒA3@Õ@z@?¯?I>è>Œ>:=ð= =D<Ï9±:":Œ:ô;];Â<&<‘<ø=a=Ø>S>Ñ?S?Ý@j@ûA•B.BÐCyD DÅEhFF™G(G¬H+H«I#I™JJ~JîK_KÆL3LªM1MÃN[OO§PXQQÂRsSS·TCTÁU1UUáV!VXV†V§VÁVÊVÂV°VV|VGUùU‹U T{SêSOR´RQ‡Q P„OßO/NkM’L¹KÞKJ2I[HG¿FöF*E[D“CÉC BIA…@¼?ì?#>X=•<Ö<;l:Á: 9†8í8Y7Ø7h6õ6p5ð5k4è4c3Ô3M2Á2<1¼1E0Ò0_/ü/™/@.ê.—.L.-³-X- ,Ï,™,l,F,+,,,,$,",+ÿ+ó+ë+ç+æ+Õ+Ü+×+Ð+¿+—+’+†+|+i+P+ *Ð*A)Á)À-b1€2ˆ2Ä2S1o0.Ì-h+ù*{)'ù&¹%v$V#/!ü Ë¥sR0 幋a?ùìú?­QC“û¼B¬ë;xÚUÜÖÏɾ£v0Ñ\Ð1ª;å °!ª"Í$%&ô(g)Ã+,S-–.Ð0132W3u4‚5s6D6ù7›8@8ë9¢:U:÷;†<>Q>ž>þ?p?ù@—AFBBÍC›DlE>FFÜG«HvI:IúJ¬KRKøLLÉMrMüNgN½NÿO$O;O:O+ONÊNxNMqLÀKôKJ%I2H>GFF?E&CûBÕA¶@ž?…>f=7;ð:’9-7Ð6‹5o43Ê3[3'32è22>1Ê1O0Ï0G/¸/).‘-û-p,ç,f+è+d*æ*e)î)Š):(ý(Ï(µ(¤(ª(Ä(ë)")d)¶**‹++±,_-!-ô.Î/µ0«1ª2¬3¨4¬5¯6®7£89u:W;5<<í=±>w?7?õ@A ALAˆAÂAöBBBBAëAÜAÄA¡AwAEA$A@é@Í@ª@@I@?§?L>ð>ˆ=ò=<H>í? @8@°AAJAnAA¨AÐB BKBsB—B®B¾BÂBµB›BxBTB-BAÂAe@û@@?•?>¨>:=í=¥=O<ì0§0/Z.Ÿ-Ó,ï+ï*Ó)¥(j' %Å$W"Þ!_ÛOÆHæèlYŽá6ŠèHƒ´ãFv¥ÑõüãÅ®®š~E÷Q.*å5Êœ|lfe_U 9!!ý"Ï#§$‹%d&0''Õ(³)*n+P,0-..á/²0v1,1Ð2Z2Ð3N3Ú4Z4Ó5O5É6P6à7r7þ8Œ99{9í:Z:Ã;.;˜<Y>Ý?o@@šA9AßB‹C6CãD‡E,EÉF\FéGtGøH}HûItIéJ[JÏKIKÏLgMM½N{O;PPÍQ”RNRýSžT(T¢U UbU¦UáVV0VCVCV:V$VUÏU‚UT—TSmRÌR0Q›Q PŽOõOANxM™L³KÌJäIýIH?GeF”E»DéDCIB†A°@á@?'>I=z<­;ð;7:†9á9?8¡87Ž76ˆ65v4ñ4e3Ð3>2§2 1›1 0 03/Ê/g/.º.e.-Ç-v-),ä,«,†,c,<,.,6,I,O,K,K,J,F,L,=,/,0,",+æ+Þ+Á+µ+±+£+•+˜*û*1,°23ž3u2»1‚0.Ù-˜+ú*‘).'ß&~%T$"¿!Ž =½„9þ­hØš[52 Ý Ô è1”&Ë„9Ë&a˜ä]ò¸±ÀÈÌʲ6ÎVÏ[Ò ¼!×#$|%ù'w(î*R+ª-.O/—0Ó23-4:5&5î6¡7O8 8É9„:,:À;F;º<>w>û?Ÿ@XA AöBÖC½D E…FhGFH HöI¾JyK@KiL&LÎMUMÂNNXN„NžN¤N•NwN=MëMLëL9KmJI¢HµGÂFÌEÈD³C‘BuAb@T?A>%<ô;¥:A8Ö7z6654:3˜3332ã2­2c21•1!0©0-/¢/.‰-ö-q,ø,, +”+*©*=)á)—)h)H)5)4)A)^)Š)É**{*æ+a+þ,«-e.,.ü/Þ0Ð1Ç2À3»4¶5¯6¥78|9c:/:ý;Æ<†=4>>ç?œ@L@äAEA†A¸AÕAýB$BBAÖA±AŽAuAQA/A@Ù@½@¬@œ@~@a@9@?²?W?>Ÿ>=[<–;â;:L9r8†76š5¹4ç4!3[2¤1ý1g0Ù0S/Ö/c/.§.N-ô-œ-I- ,Ï,–,X,+á+¦+u+I+'++0+q+Î,F,Å-F-ú.«/-/ /ÿ0L0h0e0m0~0s0/p.².E.5.A.š.¾.¢.Õ/e/t/.¢.8-Î-`,ç,—,_,+§+-*„)*(A(¡*‚- .r.Ž.-@,€,+ê+ü,@,-.-ã.°/Œ0‘12¾3ì5.6p7¢8Ý:;/<<›==[=¤> >–?.?Ò@[@»@Ó@ãAA=A€AÊBBJBeB_BuB‚BBzBqBUB=B AêA”A@¯@C?Í?O>Ä>C=Þ=‘=A<é<ƒ;ù;u;:•:39ß9‰98¥87v6Ö6E5»5/4ª483Ã3\3 2¶2F1Á120’/ç/0.g-‚,‡+u*T)'Ú&ƒ% #µ"9 ¸,špÿ¸Ü2™üdÇ @r£Ñÿ.O]f\LGOZO+è›äç÷H£U0 üã ¿!ž"h#5$"%%Ò&¥'w(P)3**ù+Û,¾-—.v/B/ý0½1n22‹33Ž4 4…4û5y5ø6z77ˆ888ó9_9Ì:6:;;f;Î<9<´=*=¬>2>¹?F?Ü@wAA¸BWBüCžD:DÔEhEùF†G G‘HH‰HþIsIíJiJ÷K•LFMMÊN›OlP;QQÉR}SS¨T!T†TßU+UbUU´UÆUÉUÀU¥U}UCTöTŽT S{RéRQQÅQ>P¾P?O¤NòN/MZLlK~J’I©HÌGóG!FREDªCÜCBKA‡@¯?Ñ>ñ>=E<|;Ä;:c9¾98†7ý7u6è6b5Þ5]4Û4N3Á3*221Œ100//Â/i/.Á.q.'-Ø-‰-B,ô,·,–,z,c,S,N,f,o,ƒ,‡,‘,“,,},y,e,M,',+ù+Ø+ä+»+º+Š+Ž+-K46 53Ø2¿1[/â.‘-,+±*K(é'œ&t% #É"Š!Fï¸g#Ò‰1߈:ò¬xTP x ê š ¢ ç I ׈PÍNª÷LÆg-"*1=8"ö´Oãiø™h [!y"´$%&ñ(a)Â+,q-À/091i2‚3‰4n515ë6¢7b88Ì9j9ÿ::ù;^;­;ç<<->´?l@4AAïBØCÁD­E“FyG]H4IIÏJ¢JÕKL3LµM!MxM·MèNN NMåM±M_LðL`K°JèJI-HDGWFcEbDSCD?T@K@ýAbA¯AÐA¶AÒAëBBBAµA~AKA/A @è@Æ@Ÿ@Ž@x@i@P@4@?ô?¸?a? >±>+=n<±<;O:9Æ8è7ù7 635e4Ÿ3æ352‘1ü1s0õ00 /§/R/.µ.e.-Ó-›-i-8-,Ð, ,u,\,T,V,a,Œ,Ü-;-§.3.ê/‰00…00Â0å0Ø0À0Ù0i/Ò/§/.F. -î-à-´-À/ 0t/ü.‘.|.Š.H.-´-u-.,Þ,u+ù+w*L)®+©.§0Ú21}0Š/¯.Ö.S..".\.¸/A/Ò0•1s2c3_4h5€6±7Æ8Ý9õ:ù< ==¦=Ú>>=>>»??—@@c@D@8@tA[A‡AžA×B BBBGBVBvBvBuBVBBAÚAl@ï@Š@#?ž?>w>=®=[= <£<*;™;:£:B9ó9§9H8Õ8[7Í7>6»6G5Ó5Y4ç4‚4'3Û3˜3:2Æ2L1³10{/È/.(-8,-+)Ü( 'Z&$œ#,!® %“ì>TD˜zêMšÐ5e²ÑÛÝÚÛèýàžIŸåVEt¦>àÛÎé‹ q!K""ï#Î$¦%z&G''ï(Ö)Ê*®+‹,i-7. .Õ/“0T11¬2A2Ó3S3Í4C4±5&5Ÿ667 77í8Y8Ã9.9–9ÿ:f:Î;6;™< <‚<ü=€>>??°@I@äABB°CDCÖDjDûE‹FFœGGšHH‡IIJ'JÏK„LMM MøNÐO«PzQ@QùR™S(S¡T TeT°TëUU¶=Ý=’?]@7AB BøCäDÑE¸F¡G~HVI.JJGJÿK›LL„LÞMMQMrM~MxMXM$L×LkKÛK+JcIŽH±GÌFáEíDðCèBÜAÛ@ß?á>Ø=¾<‡;-9¿8Q6ó5º4À3þ3v3#2å2«2g21µ1O0á0p/ô/y/.†.-¸-X,ô,–,6+Ò+k+*¯*j*8*&***D*s*®*õ+P+Ë,V,å-„.6.ú/È0š1w2]3L495$66û7á8·9Š:b;1;êü@@ëAAðBB:BAéAüBB BA§A\A@á@Â@¤@ƒ@\@N@?@2@@?ö?Ý?°?f?>¸>:=†<Í<&;…:Õ:9I8n7„6ž5Ò54p3É322©2)1¯180Í0g0/Á/y/-.è.¤.x.S.#-ø-Ê-§-ˆ--†-•-©-³-¢-§..Ó/v/ö0ž0¹0’0Ü1 0º00u/ô/ï0/Š.-ã-F,Ý,÷-¥02=1«/e/ã0{/ /5.ï.w. -½-],®+ë+$*¿-m0‘2Ä4˜3¾2e1´10c0"00_0´11§2T33ê4ß5é6ï7Ç8£99ó:\>ˆ>‚>’>Á>©>’>£??z?I? ?ÍA_A;@º@ÐA5AGAdAñB7BdBzByBnBGBAÒA4@–@F?û?>ä>_=ê=•=8<Ç_>ì?€@@¢A4AÄBSBåCtDDŽEEŸF#F GG¡H)H¿IYJ JËKžL{M\N=OOóP¿QvRR¨S!SSéT;T{T«TËTÛTÚTÄTTfT)SÚStR÷RsQïQqPúPŽP&ONúNKMLÀKÕJßIðIH0G`F˜EÑEDPC…B½A÷A)@M?c>~=«<ß<';t:Ç:$9Ž98m7Ö756 65—54”43z2í2X1Ú1_0é0}0/È/k/.¼.g."-Õ-•-E-,Ã,™,Š,‡,‹,œ,¶,Á,Ñ,Ì,â,Ô,ß,Í,Ä,¤,‡,g,F,+ç+Û+Ò+Ê+v+Q.ž466Ï5Û4P2ü1n/þ.u,ì+‡*(Ì'\&$Ì#v" á“7íƒ&½Së~¨Gï ³ › ¥ Õ @ ù  F ­ @ ð à ® r ¤Q 05, Ñy®IÞ’{ ™!ß#0$ˆ%ê'N(´* +\,¢-Ù/01*233Ò4š5b6"6Í7]7ä8i8ð9l9Ü:5:u:¢:À:Ø:ñ;;>;‡;ìš?w@aANB>C/D#EEûFßG¹HžIxIÄJyK KŠKòLKL‘LÁLãLñLèLÎL™LHKÜKNJ¥IåIHBGbF{EŒD“C“B•A @­?·>³=™*ù*Ì*¶*Á*ì+0+{+Ý,S,×-o..Ç/0?11ð2Ñ3´4™5|6`7I8.99ð:·;b<#<æ=I=%<Ò=_?@@AAèBB}B5B`B˜BqB$AþA²ATA @¼@@h@W@D@1@@?í?Ò?½?µ?Ÿ?_?>¹>==…<ß1p1ã2þ2¾2?12/ý/W.³.-Ÿ,ø,^+û.24A65·4Ž4382\2#2(2^22õ3k3ð4Ÿ5o666û7¶8_989ß9¢9à<Ì>Ü? >ÿ>á>è>ý>¥>,>&>÷?œ?=??Ì@­@[?ø@‰@°@‘@ÂA9AcAšAÅAÇA¹A²A~AJ@É@Z@"?µ?8>§>4=Ð=m<ö..¾/u0&0Ø1~22¨3.3§44ƒ4â5=5—5ú6T6²7 7g7Ê808™99{9á:K:³; ;‘<<==›> >­?8?Ä@O@ÙAbAïBxC CDDŸE!E¦F)F·GKGëH—ITJJøKÜLÃM¬NŽOkP:PóQ•R(RªSStSÈT TK=€<»< ;T:¯:9†8ô8]7Ä7#6‰5ó5o4è4o3Ü3L2Î2A1Ã1K0ã0{0/¸/V.ú.œ.N. -Â-‚-:,þ,´,,‹,•,®,Í,é,í,ì,ä,ï,ä,ó,Ü,Ù,·,ž,€,Y,.+ð+ø+³+å+Í/{5Œ7}7 6e5”462¹1g/è.t,ø+ƒ*(»'Z&$–#U" Êp!¾Kämû…’ž5 ï Á ¼ Ò #²›Õ H æ   ~ l ypBæ|Æ›€…—±Á¿¦m¾Xö‹1 &!a"ª#ü%V&½(/)‹*×,-E.g/z0}1m2R3#3ô4¹5n66Ÿ7%7£8$8 99p9µ9é:::3:Q:|:Â;*;³Ë?·@¥AšBŒC~DrE]FFG.HH÷IJIüJK KzKÏLLDLaLgLTL,KéKˆKJ_IŸHÓGýGF,E7Dh=E;û:97¦6V5E4r3Û3e32µ2\21›130Ë0^0/µ/h/$.×.‰.4-à-Š-8,Û,x,+È++r++¨+ó,W,É-K-é.—/R00á1¶23g4D5(677â8Ï9Â:¯;Ž<-<·=Ž>U>‰>=¤>x?@?`@$@ûBBÁB®C)BÄB6AéAÎA‹A*@³@d@G@?@.@@?ò?Ô?µ?œ??„?U? >ª> =t<áû?>Å>W>²?·@‘?Ï?¯@X@¿@úAeAÀAŒAHA9A@Ê@ª@|@p@µ@Å@¤?Ê>æ>®>P>l>q>=º=?<¼<3;¨;+:£9ì9`98Þ8›8M87º7o7,6é66Y65Ô55F4ü4¤4G3Ý3e2Ì2!1n0­/Û.ê-ê,á+Ä*‰)?'ë&Š% #‡" ŒõB|·+= zîB‡¾é T{—­Éâû2<:%üÇ{:1O„ ³`·xJ'  ã!¸"˜#o$J%%ï&×'Ò(Ð)¿*¤+x,B- -Ö.•/Q00¹1V1õ2‰333ø4P4¨4ø5N5¥5ü6S6²77w7ç8T8Ç9?9±:#:˜;;< <”==ª>1>¿?E?Õ@c@óABB—C!C§D4DÆE\FF­GbH&HüIäJÖKÍLÅM¹N¬OˆPOQQœR%RœSSWSœSÌSäSêSÔS¬SxS:RðR’RQ¥Q1P¿PXOûO“ONaMµL÷LK6J@IMH\G}F²EîE4D|C³BÜB A9@T?V>p=œ<Ð<;\:¼:9†8á8M7¯76\5Â544§4$3‹32z211 0›0-/Ä/R.í.’.@-ù-·-v-.,ñ,·,œ,›,À,å----- ,þ,ö,ç,Û,Í,ª,–,Q,6+ç,+à+Ä-:4Ö8U8ª7½6„5:3¶2T0Ú/G-Ä,5*Â)<'À&I$î#¥"@ 刌‡}èbÀ'  ¬ j EL.9›G   9 ae7ëžjRJdˆ°Îж7܃À‹Ž Å"#}$à&L'Ô)G*–+Ü- .-/A0A1522í3º4v5#5¼6L6Ð7U7Ö8I8¬8ù949U9k9}9ž9Ò:):¤;@;ý<Õ=¿>°?­@ªAªB¨C©D¦E¡FžGŽHyH×I†JJ“JýKPK’KÁKÛKÞKÉK•KIJßJXI±HøH4G\F{EŠD“C B°AÉ@æ?ü?=ô<Ä;r:8˜765ý5 4U3Ë3X2ô2”241Ô1w10Å0‚0F0/Ò/‰/=.ï. .Q.-ª-P,ó,£,g,N,Z,ˆ,Ý-B-Ã.O.û/²0y1I22ð3Í4µ5¦6‹7t8S9(9ö:Á;ß<Ý=d=­>>Ú?X?|@@»@ËAMB×D"DïDD1CZB)AXA`ApAlA@‚@W@]@N@:@@?ò?À??g?_?V? >Ñ>a=¼=)<¹<;;ž:ï:=9w8¢7Å6ù6@5˜54®4E3ä3Š382à2…211è1«1n10’0\0e0U0:000…0¿0f/Ô/ü0¾1D1¹1è2V3—444O4G3Ô3I3–3k3N3m7+8#2`02+33ð4¾5¦5Ð5é6 6z6®6l5‘4²43…3`3Ã4E4}56¨7á8¬8U7|6‘5`4º4ù5†5à5ñ5ï666º6ó6î7ž9 9Å9Í9é:â=6?@0?‚>ò???‘?>º?ž@µA‘@µ@£AAA“BBpB¦BŠB5AÇAeA@ÕA&BBlAÂA!?æ?>Ø>?>X>0=Ô=l<íkžÓþ ?\u“¹ÔìùöæÌ­u}žÓvíšHå”R)  Ü!¶"•#n$I%&&ù'î(à)Ï*­+,D--Ù.—/J/û0 1<1Õ2d2ê3[3±3ü4G44Ü5,5‚5Õ616‘6ú7o7Þ8U8Ð9E9À:9:±;/;²<3<¾=@=Í>T>ã?k?ö@†AAŸB(B±CACÚD…E?EüFÃG–H‚IuJnKnLnMmN_OBPP·QUQÝRNR°SS9S_SmScS?SRÒRRAQÚQfPòPŒP-OÒOoNéNLM¡LãLK2JLI^HrGŽF¹EôE3DzC¶BßB A7@Y?V>k=—<Ì< ;]:Á:9‚8ä8S7´76Z5¶5!4‘432ø2j1ï1l0ö0}0 /˜/2.Ê.p.#-á- -]-,à,º,¥,Â,÷--5-:-9--,ô,í,ß,ç,Ê,Á,s,b,,f,¢,—-³47c8m7Ñ755¨4H2î1g/ñ.d,Ó+M)¯()&°%R#ø"˜!LÌNÑC­"õ_±U Ä E Ù‰guÔ³ ¿ªº ã " k ˜Œ\) ü)Z‹¬®›m*Þ‹,Øœ¥ Ý"E#Â%&Œ( )f*®+ã- .(/.0)11ï2¹3|4)4Ë5f5ó6z6û7q7Ü838t8Ÿ8¶8Æ8ã99f9á:€;G?@ A BCDE!F%GH HoIIžJJ|JÑKK@KZKVK;K J¾JTIÏI+HyG¶FàEþED%C?B`Aˆ@µ?Ú>ð=í<Ç;„:,8Î7„6V5b4ª43”3%2Á2b2 1Ä1‚1L1"0ö0¾0y06/ì/¤/`/.Ã.o.-Ç-ˆ-Y-J-Z-“-ó.[.ã/|0.0ï1Ã2Š3W42566æ7»8¬9†:ˆ;;S<Å>>k>>Œ>ã?\?Ò@ÇAyBC4D”E[E¢ED}C A@Ú@à@ÎA@±@#@@>@@@1@?Ó?Ú?Á?’?v?c?K? >¿>V=¹==<ì£@!@é@O?¿@Š@Ï?ÿ?à@ÐAÈBwAÖA‘A°A¢AœBB½C)BÚB%A§A=AAqBýDHD,BÓA^AzAÜ@Y>í>==0<Öq>ý?‡@@œA!A°BFBêC¢DkE8F FíGÚHÔIÝJÞKæLîMãNÊO’PFPâQhQÜR;RŒR¾RáRêRÛRµR„RORQ¼QWPèP~P#OÏOONˆMëMAL†K¸JÙIöIH.GZFƒE¹DùD>CxB¤AÍA@*?0>H=q<§;ï;O:°:9y8ã8H7œ6û6P5¹54Œ3ÿ3u2í2g1à1`0é0n/þ/…/.´.c.-Û-™-Z-,ë,Ï,Î,ñ-"-P-Z-S-A-,ý,Þ,á,ä,ñ,Ô,µ,^,/,n,Ž-p.«1“67c7ç7Á7 5Ÿ4b2ó1ˆ0.},ñ+M)¯(*&¾%g$"Ã!JÔ^ÕA¹(ŠþP£ä7 ˜  ˆ*êÊÛWx C… Û H — ¼¶•~“»ó#HSF!ò¬cЙ— º"#€$Ü&='¡(ñ*3+a,„-š.›/–0z1T22×34#4º5N5Þ6\6Ñ767Ž7Ì7÷8 8 898q8Ç9H9ñ:¼;Ÿ<=>Ž?˜@›A¢B«C¹DÆEÍFÇG¦H H¥I/I¥JJWJ•JÀJÕJÑJ°JwJ&I½I;H GøG;FoE’D­CÌBôB$AZ@“?Ä>â=æ<Ò;:a97ç6Ì5Û54…43”332â2 2d282 1ß1­1q120ï0«0i0$/Û/‘/@.õ.¶.Œ.p.k.‡.¾//‹00¨1f2*2ì3§4|5L6&789::;› ?E?p>Ü>×?j@QAªBrB½CC D D-D8DB_@ÙA1@Þ@‚@Æ@Ñ?î?£?ù@?ä?À?¤?­?t?J?Q?S?/>Ó>}>=”=;=<¦<#;r:Á:9K8p7š6é6F5°5E4ò4œ4S43Ô3Š3<2ü2¬2N1æ1e1ª2 3(3Q3[3Õ4q4@3N2 3?4I4Ì5%5’6!6Æ6Ï6¬78+9K9þ:W9³;†?"<£8A7Ü76,6…6×757†7Ç88_8¨98ø8£8³8º8Z828“8ñ99‚9Â9“9*8°867å808¥8Ã8¦8@7á7ù8Q8Â9A9Ï:²;¶ ?x@âAØAóAèBjBMAjA ABqBÍBqB+AÇA»AxA¬BkC9CBTAÝAnA1AçDF F¨DŽB.B¯C)@ì>=r<Ë~? ?”@"@±AKAûB¿C˜DwEYFGG0=Z<”;à;=:ž:9x8á8B7ž6ù6P5µ54ˆ3ø3t2ä2^1Ø1Z0Ý0c/ï/}/.­.b.-Ü-›-_- ,õ,ß,õ-#-X-y-x-k-8-,Ò,Ë,á,ú- ,é,©,^,--?-.31ù7a7'7(7Œ6œ5¥4e2ù1¤0#.ž,ü+J)Å(G&ë%—$1"×!`ÿnènÕE­`±ä@ ’ ý  Ï•t€.–—Ò2™  ‘ äûý#QÃíøöÚµ|C Õ²¯ Ç!ô#?$”%é'@(…)µ*ã+ü- . .þ/ä0º12:2à344³5?5¼626–6í7'7R7g7~7›7Ø868¿9t:E;3<"=#>(?3@8AEBRC`DsEzFrGOG©HAHÄI1I–IåJ!JHJSJFJ"IëIšI3H±HGrFºEïED5C_B•A×A@c?¢>Ö=ë<ë;Ï:©9…8i7d6€5Ä5&4¢473á3“3\3032Ó2¤2n231û1¼1‚1B0ÿ0¼0k0"/î/É/±/ª/°/È00O0¾1@1å2’3H4 4Ï5…6"77í8Ñ9Î:¤; <0=c=a>?.@–@è?Ø?n?ë@ôBLCCBíBáCqD˜ErE+BåA A®A³BB„BkA%@-?ñ?ª?!?.?¬?—????#?@>í>&=¾==5=K=A<Ý??À@ïAm=ò:®:8q7@7*7š8k8Þ9+9C99-9·:-:U:€:¯:¾:º:®:±:‰:Œ:¿:·::+9Ü9Å9ð:':J:9©9o9c9p9Û:ž;7;µ<ÿ<á<¼Ma†¿MŒÖ(|àD®;ÊcÚ ­!z"Q#;$% %ô&Þ'Å(­)Ž*d+2+ï,¤-J-ë.//£0#0«1+1Œ1Ü22Y2”2Ê3 3H33Þ4*4|4×5<5¢66‰77x7ð8m8ä9_9Û:V:Ó;T;Ö<`<ê=u=ÿ>ˆ??±@YAAæBÊCºD°E¤F›G¤HµIÓJìKüLüMãN´O`OúPzPíQMQ’QÂQÛQÞQÊQ§Q{QFQP·PYOüO©O_ONÄNSM¼MLwK¼JóJ&IOHxG¨FÚFEDDtC­BêBAL@?´>ä>=I<‚;Í;-:™:9p8Ú8:7˜6î6Q5®54ˆ3ò3n2ß2Y1Ô1W0Ù0g/ì/}/.­.[.-ß--f-!-,ö-#-V-ˆ-Ÿ-›-r-$,í,¿,Ó,ð--,ô,ž,{,G,ä-µ-û-¡2<6ö6â6Ê7(6v5¦4B3 1µ0.. ,ó+g)å('%Æ$c# !™ ›#—wÔ3ˆÏ f ³ ( ¥=âŒP$\X+kß\ô † JgtŒ¹ï1h“ £tKóÒÂÇ Ö!è#$T%¢&ä()D*l+~,‡-‚.n/O0$0ê1 2J2ë3ˆ44ª5+5ž5þ6N6‰6¶6Ê6â77I7²8D99Ý:Î;Ä<Ê=Ô>à?î@ýBC$D8E=F+FûGOGáH_HÐI0IwI­IËIÐI¼I”IXIH—HG‰FëFÎ=õ=<:÷9í8ì7ø7'6{5æ5l54®4j403ü3Ë3œ3h3:32Î2˜2_2%1ì1¦1Z1 0í0Ý0å0ó1 1"1N1˜2233­4q55¹6h7#7Ê88×:>;w<;=×??³?–@ÚBqAô@@zA5AæB\BÇBÿCC CE9G#FBC7B,BnBtB³CsC”B‰AØA}A!@O@@C@ ?Ê?M>¡>z>=7=<ä<Ø=>=P="<’;í;4:9Å8ç87]6¹635·5M4é4‚4G43’3m3Ù4(43Ö3É405 6#6ð7Á8e87­6e66š7%7Ü8Ÿ9%98î9n:w<=>)?îA>B(BúB´A#>ä<ï;T9Ô8Î8(8ß9ó:b:È:õ:Ò:h:X:ã;x< <<Ó<é<Û<¦ê@2A°C[DòEÏE»E-D”C°BÎB]BŒBÈC%CƒCžCªCŸC×CuBèB,B8C-D0DDUE¼EÆFE‘D—D C{A!>5=Ö?f? =;ó;U:¡::9Ì9u928ó8 8e8d8e8V8?8"7ò7¾77=6ø6¶6t6#5Ø5544Ú4v43¥3'2ž1ý140L/J.,-+Î*w)'Ä&}%5#í"©!i #ß¡j7 ù wXˆÀÞø8Zzœ½Ýø5_¥í<ŽØ,‚Ö4– ’Ƈ P!!ô"Û#Æ$°%—&'j(N)+)ü*Å+},*,Ò-t..–//œ0$0˜0ì171{1°1ë2 2W2“2Ì3 3Y3§3ú4Y4´5"5Ž5ÿ6v6ë7c7Û8S8Ì9H9Ä:D:Å;I;Ò<_<í=‚>>µ?h@-ABC D E F GH5IYJ{K“LMqN?NêO€OþPtPÏQQ>QTQZQFQ$PöPÄP‰P=OæOŒO=ON¸N_MðMTLµL KVJ˜IÉHþH/G_F“EÊDûD0CbB˜AÒA@:?w>±=ë='ž?²@ÇAÝBñCþEEãF¦FùG‚GþHnHÈII>IPIKI/IHÆHrHG‰FþFdE´DñD(CdB¬AýAZ@¹@?x>Ç>=-Û>¡>d>>"=×=†=a={=r<Ü<';e:Ÿ9Ö9 8@7x6é6h5î5{4ü4€43í4P55¼5÷5â5ž5K56_717ì8»9I9g8É7È7u7Ò8\9%9þ:d:z:œ;e<º>3?§ABNCCjCAöA@>·=<;¡:÷;¢<&B>§>Å>˜>B=ã==<== =,=9=G=L=Z=U=<‰< ;ä<<ª=K=ú>¿?Ã@ÜAòBäDEÄG$G†GFhE¸DÚDCªC·CúD/DCòDHEEC²A©@êA¹CÖDëD÷EêEóEÑEnE&DDBW?¤?¾@®?Æ=h;«:ß:S: 9½9‚9{9]98—8o8f8]8B8+7þ7Ä7Œ7G6ü6¦6[65Ä5524Ù4†403Ø3{32|1Ö10/ -ì,¶+q*%(Ú'“&R%#Í"“!X $毆\2p1F¨ÂÜø?cŒªÊõ%lÁf¾c¸ lÓL×s-ç ³!š"#c$L%9&#' 'æ(¿)‘*P++·,^,û-†..™/ /—/÷0N0“0Õ11A1u1§1×2 2E2€2É33i3Æ4'44ü5k5à6T6Ê7@7¶818¬9-9°:7:Â;P;Þ?W@FAFB_CmDuE|F’G¿HðJK+L&M MÉNoOO€OóPGP‹P¸PÐPÏP¹P¡P{POP OÁOnONÓN•NOMòM~LíLRK¨JøJ9IrHªGÜGFEE|D°CçCBKA…@Á?þ?>>=À=q?Š@§A»BÐCÙDÏE¦F]F¦G-G¥HHjH¢HÂHÏHÆH¤HtH*GÓGgFîFiE×E4D|CÃCBeA¾A$@“@?l>Î>=Q<;¤:Î9ñ9 8l7á7t76¦6Q65Æ55[5*54Ü4¶4‹4]4643é3¬3I2é2Ô2Ç2ò3x3â4484ƒ4Ö575©66‰77’7Ö8"8Ý9Š:ô=f>ô@aAúC CrC§D.D…C±BÞBÒBÝC"CCCvCæDqEIFíH7F D^CåC¢CCˆC¼D CÕCB¯BöBýB±AñA-@ª@K?®?s?v?A?>Þ>Ÿ>3>=È=<^;‚:´9å9!8a7¸7;6¥625±5&4¿4ä5H6Q717¤7×7¥706Ä6Ç7"7½8h9,9±9È9j8î8Ô95:;;ï<<*?i@:ABKCœDƒD¤DEC³C B3A?k=š<¢<~<ñ=à>µ?#>è>p>=¥=¬=ê>`??¼@@@?¯?>"=ƒ=b=•=ÿ>b>~>†>b>=½=c=a=Ã>D>È?{@GA€?‚@–A»BØCèDûF%G]H’IºJÇK¾L–MTM÷N…OOpOÅPP/PGPJP;P$OþOØO˜ORNÿN®NlN*MëMŽMLˆKéKEJœIãI&H\GFÈE÷E,D`C˜BÏBA:@x?¼?>Q=˜<æ<8;; :y9æ9T8Æ887Ÿ76k5Â5'4ž432ø2l1í1p0ñ0…0/¥/2.Ï.v.2-÷-Ä--Q-A-_-£-Î-ÿ.-÷-Á--`-N-s--¿-Ç-ö-û.6..+.-Ó-“24^4Ñ585ì5þ5·4µ3i20/G-Þ,v+)’(5&ä%$("°!5¿,¢~Ñ+Ý= í W Ú XË'vÝkqA™],î ¯ V ÐPŠÕ j ¿Ìꦔyjac p!}"…#$¬%É&ã'ô))þ*ô+á,¿-•.]//×0‹1-1Ì2]2è3c3Ö4>4Ž4Î4ó5585u5Ö6f7&88ù9ú; <=3>Q?t@‘A¦BµC´D™EcFFZFäG`GÌHHDHTHHH&GõG¬GUFèFoEåEGD›CÝC)BwAÑA2@ @?>ÿ>]=£<á<;A:g9™8ë8g87ª7N6ù6¯6c6)5õ5Ì5¤5‡5\5754ó4×4Ž432ô3L4Ì5’5²5Ã6 6h6Ü7:7Ž7Ï7÷8e8Œ9];æ=œ>©?Â@ÀBGC¤D@DßE~E‹DäDFCèCÙCžCDD«EEpF&F3E-D—DgD`DˆDrDŸDHCxC7CÛD§DnCA¥@Ë@W@@m@~@B@?‰? >®>>=y<‡;:œ9±8â857›7 6Á6Z5Î5h5ë6¸7Î8‘8Ý8ù8«87Ò7õ8G8Ã9S9Õ:/:K:=:‚;C<‹=²>p>¸?3@7AuBŽC{D›EìG$G´GyF°EÌD¿C.A>Þ=›=û?4@YA.A@J?j>Ä>Ÿ>É???Þ@¥A+AHA?@ñ?×>\=u=b=ã>Š??^?S?M?&??D?‚?Î@MAB C8DYEQEðF®HOJGK|K4IVGKEñEKD»D\D†EnFÝIDK J)FÒDCADlF6GGSGmF®EðFPF¬FÐDv@›?%?U>N706è6‰6>5ã5›5f5-54á4¥4w4A43É3y3"2Æ2S1»0ì/é.Æ-—,V+)È('8%ä$•#Q" Î’OÖµ˜‹¢Þý'Nk‘ºâB€Ì{Ý3•íJ¤ ~ú’Eð á!Ì"¼#°$£%™&}'b(A))Ö*„+/+Õ,h,ü-ˆ-ø.e.Ã//V/Ž/Á/ð0040Z0€0±0ã1%1q1Æ2%2Š2ö3k3ß4W4Ñ5O5Ï6T6á7n88ž9@9ã:”;U<9=7>L?€@¿AúC)DaE®GHTI‡JK”LkM%MÂNONÅO)OpO¥OÂOÆO¼O§O‡OZONÂNlN#MÞMšMALÊL>K¤JüJGI†HºGéGF1ESDyC¡BÎAøA'@X?‘>Ð>=a<®<;j:Ì:19™8ÿ8i7Ò736’5å594¢43z2æ2Y1Ò1N0Ó0S/à/b.ô.’.A.-Ó-›-k-d-Œ-Ì-þ.". . -Ö-­-Ž-¸-É-æ-ü.P.@.X.?.!-Õ-Ñ/è3è4·55¬5à5¤4½3t20¶/S-Ð,N*Á)M'Ü&t$ý#s!Ú ;“ýPœà)^¦å$ p È /Êï V0ýÂÊó ‡ 6 «ü?œÿ\¤Óéô÷õôðö !;"V#q$”%¶&Ù'ï)**ý+æ,Ì-¡.t/7/ô0¢1I1â2u2ø3t3Ù4$4\44«4í5\66Þ7Ú8ì:;/<`=˜>Ô@A0BQCYDMEEÅFFŸGGtG°GÐGÑGÀG˜G\G FªFAEÉEFDµDCoBÎB/A—A@y?ü?‰?>q=Ê=<`;¥:ß:9x98ª8a87Ê7‚756ñ6²6„6^6E65þ5Ú5¿5­5‚53ñ2À4R6ô7G7 747{7Ð8K8µ998{8£:!;Ý=u>i?b@œA›B¾DDÂEyFNFÌFnE®E#DÃD$DDÔE_EVEKEBDñDïE9E(DýEE DüD‹CüCïE F‰FÆEFBÎAX@þA4A³AD@q?à?µ?a>ð>e=„<š;˜:~9¡8á8=7Ã7i76„6'5ÿ6°7¯8‡99j9µ9 9\9_9ª: :G:z:Ã:û;S;°‰>ä?x@TA¶CVD×F7GqH«IÅJMJIyH§G‚EêC×A¾@«@¾AIB$BÚBÜB6A#@?z?p?¯@$AAÿBeB€BÛBr@>È>+>Z?@@¡@õA@î@¹@u@f@¬ARB$BëCºD¡EiFF<ø<;o;ˆ<;ƒ9Û8¬8I7è7E6µ6h5Ù594Æ4€4V4B444"443Ù3¹3•3z3R32Î2€21w0¤/•.o-N,*Ü)œ(\'%Â$w#<" Ã…G ÝÆ¹¯Æ »¿ä&Mz¥àeÂzÓ3åF­$¦4æ¶› Ž!x"f#T$?%.&&ò'Î(›)W**©+D+ß,k,ë-\-¿..a. .Ø//$/A/S/o/Œ/±/Þ00^0¬11k1Õ2D2¸3/3¥4#4§505½6O6è7†8.8Ú9œ:p;_á@0AxB³DEbFºHI2J@K0LL¸MXMáNLN¬NðO%O?OKOCO,ONâN¦NRNMÀM}M9LßLmKÝKIJ§IùI?HsGFÁEãED%CLBwA¤@Ô@?A>„=Ï=)<‚;á;N:¹:%9‰8ü8l7Ö7C6£65}4Æ4&32÷2p1ã1`0ä0f/ñ/q/.œ.R.-ã-­-ƒ-{-¡-à..8.C./.-ì-Ý-ë-Ý-ú-k.C.„.|.x.C-ã.;/33»4Y4Â5O5u4Í3µ2‡1Y/Ý.j,á+V)õ({'%’$"p ÛG¥ÿV¡Þ-r«ý? š  f¬Ñæ·2Ñ—œ– `  ‚Î^³ZЍµ·¸µ¸¾ÌÝ ó" # $9%O&m'{(‚)}*p+W,7--×.š/Y00«1C1Ó2a2Ý3J3›3Ó3ù4+4{4þ5º6£7°8Ê9ò;Ô@ A1BHCAD!DßE…EÚF_FÄGGKG^GVG:GF¸FfFE£E0D²D#CŠBñB[AÎAE@¹@B?Ù?y?>Œ=ý=]<¶< ;^:²:9œ9F8ý8¿8y817ç7£7d7276ê6Í6­6Œ6v6_6O6 4á3Q4¦7Î8p8x8Æ8á939­9õ:A:<9X9/;]=.>k>÷?îA}B˜C3DCEJFþ>P=v<ƒ;m:c9}8¡8)7Õ7g7 6z6#6‚77ù8Ï9]9ú::÷; ;R;¥;å<<3<`l?@&A{C DñFšH I4J`K~LKÉKbJ³I¬HdFüEÅDÊDCÚCðDD+CÌBøAË@¿@J@(@fAB0BöC[D@DÓCŒAJ@ ?Ð@"@¼APA¶A´AA?@ó@ïAA—BB“C}DtEsF¡GÂI JÃLgMHLJhH‚GØHH—HÚI•KUOLST‚R_O†L¾JGÄG5Iº=d="=K<×;o9÷9%8`76¡5È5=4t3Ú3½3œ3S333/303-32ô2é2å2í2á2¦2Z2 1 0û0'/!.-+Ø*¨)n(@'%«$Z#"!í ­k3üÖÌÇÒâ­‘ŸÆç>r¸ýT¯ f¾rÖFº@ÒƒW@ 0!$""ù#Þ$À%¦&ƒ'X($(Û)„*%*¹+L+Ô,G,²--`-­-ç..D.U.i.r.~.‘.ª.Ï.þ/\?®@÷BKCµE"FGÀHæIðJÙK¤LWLöMwMßN5NzN°NÆNÒNÌNºNNmN1MáM˜MXMLÕLzL K‰JýJ^IµHóH)GVFyE—D­CÎBïBAD@v?®>è>+=y<Ò<:;°;-:: 9z8ì8^7Ó7E6¯6!5–4ç4<3¦3 2€1ù1u0ñ0w/û/€/ .¤.Z.-é-º-š-”-¾-ó.'.G._.V.D.-... . -®/Ý.c.ˆ._.e-é...0A0Ú2 3j4M4×4Š43%20‹.þ-‚, *«)4'É&?$¿#'!˜ýfÖ'|Î^«ô< ™ ú nË;qô$Oª©±¤ c  yÀó3}ÏIcsxxsx‚¡ ¬!½"Ë#Ý$ï&'( (ù)è*È+¤,u-@..½/k00¬1=1Ñ2R2Ã33C3s3±44§5z6v7“8»9î;"ë@ A=BEC2DDµEPE§F#FFÅFáFéFÒF£FbFE²ERDíDD CŒC BŠBA—A@¢@7?Û?ˆ?'>°>.=Ÿ=â>=K#>i>u>U>2>l?@#AfBÍDZEÒG H'IDJmK¾LãM}MsML¢L%K±KJJxHüGFXEžEVE:DýDŽC¥BkAU@¾@ÚAªBüDDÒE¸F™F,DZBôBvB,A÷AÞAÂA¸A¼A¹AÌA¾A¬AàBdCgD^EFG GúHôJ#KqLL—K»J¨JYJŸK.KÝLðN‚Q_TþVü=^=r>=·;×:b9q8f7w6g5;4U2ó1Õ2œ3 2.1 1Þ292a2R2)1ø1Õ1×1ø262[2F21¿1P0¤/¼.Â-Ò,¸+™*x)B(&Ö%‰$<"ù!Ä ‡CßÀ¼ÀÕèŸkv“±á O˜à=íFü^ÓNØl$úãÞ Õ!Á"¥#‚$\%9&&å'¦(Z(ü)˜*2*¸+:+¬,,b,­,ð-0-[-~---‹-‰--¡-¹-ß..Z.±//w/ä0W0Í1J1Î2W2é3~44»5i66ç7É8È9ç;)<ƒ=Þ?9@ŒBCDóFKG‚H IJ†KPLLMM‚MÑNNDN_NcN[NGN&MýMÀM{M8LøL»LxL(KºK@JµJInH³GëGF0EGD^CwBŽA±@×@?>>{=Ã=DÝD{DC¥C)B´BÍ>d=ë=U<À<-;Ÿ;':¿:h:9Õ99D8û8·8x8C87ô7Ý7Â7¦7˜7‡7d7)5Å4·79:™:Ü:b:¼;=;ˆ;ý;Ã;Œ;’<Í>S?ª@A@¥A­BðCýE FFøGHHG¨FðF(EéF¦FôFhFFFšFûGG G'GF´FuF¨FyE`DäF:HH§G‰DÕC\C¯CœBw@ª?g???H>ê>C=S>©???œ@=@ÁA AAbBˆD*EÉG/HzI’J`KKÌL½MÐNyN¬N¥NNqNcNTMÊL…JçI5GÐFÒFRF"E²DÄCvB&ARA1AïC?DÝFbG¥HNGœFAEbD÷DCáC#BÆBÔCAC‘C›CÆD@E/EáF FœGHõJJËK…LUM3NNM‚MMaNÑPmQúSÀU~UyS‰POM}MNPMbM)N¦NGLéLþLÄK~IæGñFdEBv?n>=ò>v>)<:ì9ž8W75403:1±0â1”0ý0s0ä1.1k1Œ1D0ú0±0§0Ñ1)1Œ1Ï1¶1y160º/ì/.)-+â*º)‹(L'%¶$f#!Ñ Š?ø´}ƒ”£ÞgCXr¤Ò MœõK¬iÓLÏgʶ¬· ¹!®"#d$G%$%ý&Í'ˆ(:(Ú)v**„*ï+N+¢+ò,3,v,¡,¶,Á,³,£,–,‘,–,¨,Ð- -S-­..‡.ý/~/ÿ0‡11¶2Z33²4n5:67'8R9¢;<Š=ò?^@éB“D)E—FØHIJJÙK—L:L»M MsM¸MÞMòMðMêMÕM²MM?LûL¸LLAKùK™K)J£J ISHŽGÁFßEùDþDBþB A@=?h>‘=É= <\;Ä;G:Û:n9ñ9i8æ8a7Ý7W6Ì6=5¦54j3Å3&2–21v0ë0f/å/a.æ.….7.-Ô-º-Ÿ-¼-î.#.U.r.Š.€.~.V.f.4.,ô. .È.B.d.y.3-ò.:.L/ 042K4Ò76¢5=31í0R.ß-},*‡(î'd%Ð$B"ž! nØ3wÓ_¬üBŸ  Œ ¦?üØjÌx    Yˆ­Ó[›Ää÷þ,CX d!p"}#‰$%”&Œ'„(q)W*4+ +Ô,¡-^..À/i0 0©141 1í2#2m2Ý3‰4v5œ6Ú8'9w:Ï<2=>Ú@ A!BBúC·D\DôEFE®EïFFEÙEžEODíDD C¶CLBïBŽB7AçAA[A @¹@s@*?Ú?…?'>×>Z=Ã=5<±<;;Ì;f;:É:†:89î9Ÿ9N9 8Ô8­8Š8k8Q85887î7Å6É5­7:e:ì:e;—C‰D¦E’FSFëGQG’G›GlF×F¾GCGµG>F²FóGSGzG•GËHH0GåG\GHGaF}E¹F¤H4HÖGæE„D\DsC“A´?Ø?\?K?<>¤=ö=<6;9…8Y8$8*7À7>8<9:":À;;J;ò<À=Z=†=º>>²?„@PA2AºBšC´DÊE‡FRGUHmIiJPKSLFMMƒMþN€OOaObOROXOeOO€O NXM4KâJtIFHpGžFÜEëD¯CB–BAöB:CDDÇFªH;H¦G¤F@E¢EqEXED«DªEE‚F$FþGøHnGáGfGÈI*JãL0MNN$NÏO€P%P3O MßNOºRTQUeU2S’Q$M™JPKNŸP³P’PsP$O¦OˆN†LLJ~H£F¤EBË@ ?c>¾>C=¦<ë;Á:>8”6Í5-32Š1š10Æ/“/T0 0j0¨0Û0g/Î/O/%/_/ë011ƒ1n130ß0N/}.´-Æ,Ÿ+m*J)!'í&•%F$"¿!‹ Dù¥Y3)HY›'.O€¯ï1Õ4•õ^àe¸‰qcs y!^":##ä$»%&S' '®(T(å)g)ç*K*«*÷+?++²+Ü+ì+ä+Î+°+˜+…+{+‰+©+ß,),ƒ,ç-Y-Ð.N.Ö/g/ý0ž1F1ò2¬3r4U5U6w7Â91:¯<(=’?@ÂB{DEtF°GÉHÐIÀJ•KUKïLkLÎMMPMsM…MˆM€MlMOMLäLŸLiL:LKÃK`JóJiIÏIHYG‡F¤E´D²C°B©A­@³?É>ê>=E<„;ß;I:Ô:}: 9¶9A8Æ8L7Ñ7R6È6;5¬5 4q3Õ382¡2 1~0ô0q/ì/k.î.†.@.-ä-¸-¡-±-Û..P.r.‘.¤.œ.s.y.d.-~,Ì.. .h.-÷-ª-ü.L.Ï0†3D5n7C6Û5Í4O2£1 /­.e,î+e)Ï(D&¸%/#˜" vÞ=¥ÿO­]¸‡ & Ê “ li¨J‰] ‘ ß / o¥ÀÎÞ <y¢½ÍÔÖãú! &!0"1#2$-%'&''ê(Ì)¢*s+=,,Á-w.$.Í/r00˜0ý1K1Œ1ê2s3H4^5ž6ñ8L9®;DÊEE`EŽE™E€ELDÿDªDICÜCkC B¥BPB AÄAŠA\A3A @Ô@¨@k@*?Û?r?2>È>G=¼=9<ß<€<;Â;n;':×::59ê9¢9l9F998Û8»8›8™88{7á7P8:\;ž;þ=|>>Ù>¶=Ÿ=1>œ?Ž@XAAB8B½CPD…E—F:FÃGEG‚GªGÊGÞH HxH‘HG1GG›GÐGÂGúHWH¾I@I`HùH†H‹GÜGGVH¨IqHºGVFyE¢C”@??C?@>ñ>c=²<Ú<":ú9-7/747ƒ8S9 9ª:h;%;›;ö*>?2@@ãA¦B™CmD¦F@GóI'IïJpJðK‚L8MMåNŠNüOcOÍP5PVPIP%PPP+P×=™<×;ù:x8€6£532V1a0ã0./.‡/‰0 0U0f/À.Â.%..a.Ò/€00¬0ý10Ý0y/Û/7._-R,-+)È(•'V%ö$½#‹"X!"Ú‰-ẤÁÝüBãàû(SŒÏvÖ7žˆ¼‚T712 ,!!æ"²#x$R%"%Ó&‰'3'Ë(V(Í)A)¢)ø*J*‰*¿*ô+++*â*´*Œ*m*\*g*†*¾++a+Æ,7,²-2-¸.K.æ/Š090í1µ23†4¥5ê7N8Ù:h;Ù=A>Ý@§BgCøEMFG–HœI†JYKK¦LLtL¾LîMMM%M%MLôLÈLLJL%LKÐK‹K.JÂJ:IžHçHGGFfEtDsCeBWAN@Q?_>p=“<»;ó;D:¹:N:9Ã9p9 8œ8*7·7=6Ä6>5¨54v3Ô372¡21…0û0{/ö/u.ø..A. -é-·-«-§-Î..:.l.‚.Ÿ.œ.Ÿ.†..C.X-¤-.C....-,Ð.G/Õ1ù3 57 7'6Z4ê3Q1ä0“/C-Î,K*²)0'²&,$¤#!{ödÑ5£aÔB¹3Í „ v w ®  · Ä ) ï Ú ä ò@l‰Ÿ¥®®¶Éàëì ð!è"ã#Ò$Â%¤&‰'h(F))ä*ª+l,),Ý-‘.9.á/{/ú0[0©0ø1l2%3%4[5´7 8Š9ø;n<Õ>)?]@pAhBABöC’D&D©DÝEE2E$D÷D¼DpDC°CABÖB]AõA²A†AbAJAAA@A>A@õ@Å@@%?¤?‘?I>¨=÷=Ê=œ=/<Ä)?o@€A@]?Ú@@šAvB€C¶DYDõFFíGGmHHjH«II}IÑI—HÓHG´HCHjHGÞHHI„JFJ™JNIÆIÑIcHâHÅI…JIßIGÒFqCj?=Ú>A>u>+=î=u<£<:ò8×6Ò8-9K:¯;;D;w;ï1>|>ã?_@@¤AGAúBõDsF]HRJKK^K±L LrL÷M˜N9NÞOƒPP‘P÷Q#Q%Q PýQQ!Q7Q\Q¤QüRQ^P7OMÁK÷IÿHDFõF EDiD¹F}H}IMIHŒGªF¹FBFcF¼G1GjG GGqGÞH/H4GðHJIJJ’K¬L°MÌNaN·N¼N°NÆN´NfNN9OuR T©TíR_OsMàM™MULöNUQ7S&S‚SBRøRgPçN‰LTJoHŠFûE‹CßB@þ@`?V>=;­9—7x5g3ì2„1°1i0|/‹.¹/S/Ø/ð/Ö.Ü-®-O-m-°..¤/_00ª0Ì0Æ0™0/›.ì-é,¿+ *i)'Ü&•%S$."ý!Ô ˜?ï‹N"DcŠÝ˜¥Ð=‡Þ6šûiã^ó¢f2ùæ Æ!š"^###ê$«%b&&±'9'½(3(˜(ÿ)O)˜)Ô**1*A*:*)â)©)x)U)C)K)l)¦)ð*M*±+!+™,,¤-9-Û.}/-/ì0Ã1¼2Ü45z6ÿ8œ:(;= >Ì@¨B\CÜE'FWGkHnITJ'JÔKaKÒL%LjL’L³LÄLÍLÈL¾L¡LvLDLKøKÕK«K`KJŽJIiH´GñGF.E-D.CBA?ï>à=á<÷<;W:¦:9½99X9!8Õ8z87¥706³635§54u3Ø372¢2 1ƒ10ƒ0/€/.—.K.-î-º-§-Ÿ-Æ-ì.*.d.r.Ÿ.ž.¿. .§.~.9-Æ-.l-÷..,œ,ý/ä1Ô3H44è6£765q42Â1j0!.´-.+¤*,(±'6%±$-"¤!” †öbÜWÕhó‘VH g ¼ 5 ç Í ù j þ Á”|lYGCUq‹™–¡œ¨¯µµ °!¢"“#v$[%5&&ë'À()Y**Þ+˜,M,ÿ-¥.K.×/Q/®/ü0h11ð34s5è7d8æ:g;ã=G>‹?«@¯A‘BPBñC„D D}DšDÂDÆD²D‰D@CüC­C?BÈBWAÖAbA@ú@ê@á@òAA3AA @þ@É@M@@ ?¿? >k>¥>y=ò=_<ž<ï<ï< ;Ú;À;L:ô:¨:r:E:9ã9¾::´;+;z;ÚU?jA)BhC0CŽCJ±JÌJ°J/IfHÓH¨I IyHíGúG{G¬H”JK KŠK\KJøJªJ¨JJÈJÿJ£IGzEîBª>|\>§>ü?‰?ù@qAAìC3DàFÝHáJœKüL¬L½L»LÀLÝM+MšNÌ@«BSCÂE F7GIHII,IôJ˜KKˆKÜLLAL]LoL{LwLjLLL%KùKâKÌK©KK4JÝJeIàI>HŠG¿FÞEóDòCóBÚAÅ@ª?>r=[d=Ã==¤=©<‘<›<Ã<8;Ê;Y; :÷:ò:ï;%;ì<·=!=b=©=ö> >Q?@4ABzCèDÈE]E¥E E­F;GvH’H´HZH3GÿGöHÎJ=KiKÐKVJXIzII9I–JIîI GÐGGtH°JŸKèLUL\LLLK´KñLLILJóH§FÎE B”@j>‘>$>A>+=´=0|>Á>ú?a?Ó@}A A£B›DKF‡HÕJ—KíLïMsMœMdLõL†LˆMM¼N^NûO„P P©Q7Q¬RRvRàS8SuSSÃSýTgU?UîVU¤T‡R¬P3MžK•IðH GæGéHÕJŠLÝNêO¼N÷M2LKÐK©KJHþHIH2HtH£I3I÷JjJ®JÇJëK KKLLžLéLÓLÖL³L¡L®M O RÒTRkR0SZT\UVU×U T§U¦V(UÀTÒSéRÛQ#O2M‚L^JÝHhF}DËBéAÁ@é?Ó>£=Ø<Ã;-9‰75š4 2P0g/Y/.¿/q0/Ö/s.¢,ì-æ-².-Ð.,.ë/W/Ê030~0o0?/Æ.Ú-Î,œ+@* (Æ'ˆ&W%$"Â!ƒ 6Ú•B ÙÔ<u¼dvªïH yéeíp­aã·j ì@¹BLC²DñFG0H+I IÂJ`JâKGK“KËKõLL$L,L(LKøKÒK´K°KªKK_KJ³J9I·IHdG•F±E½D³C«B™A€@P?=á<±;˜:¬9ç9I8Û88|8{8†8h8(7Ô7k76”6#5™54u3Ù362œ21~10‡0/Œ/.Ÿ.T.-ÿ-Ý-½-´-¶-Ý..I.}.¢.Ã.Ô.á.Ý.¦.r."-?-Ô-²./-í-Û-¨.ö1,2—3«4Ü67h7°75æ4”3(1Ñ0j/-Š,&*½)P'é&y%#’"& ¬EÐTÜ}'ËŒJWÍi.'c­ ¬MØÆ¾Á½»¹­¥’†€vc N!." "á#³$ƒ%N&&ã'¨(i)$)Ø*Š+4+×,t,ý-{-â.F.É/„0˜1î3v56Ê8v:;°=5>~?@zA9AàBoBòCoCÒD%DD(DCßC„CBÂB;A¼A“AŒAD@Å@@«@öADAjAJA0A@Æ@±@Ÿ@v@?È?­?½?O>É>X=ò>i=ü=z=Ð=<ä>ª? ?U?³@@D@¨A²BÓC¹DõFF–FËG@H6IVJIúI[IHÞHµISJ‡K JìJI I%I©J6JbJIeHFGcG–HµJàL‡LÃM!MyLèL›MMPM}LôK3HÓGDðBûA'?½?,>ˆ=£=<1:t837æ9¶;*;ÀÊ??n<í:µ8 5¾41ß/¾/ô.ã.í/ë/—/h.4,ƒ-í-F-µ-‰.$.4.Ò/Í0l0r0_0/&-Ý,­+6)ó(…'6%í$ #c!𠌹^ÖÄá(mņ­õJ¤”›"´WÅ€H%ýÜ §!x"="õ#¡$5$Â%:%±&&z&Õ'#'c''Í'Ú'Â'Š';&æ&&i&U&c&…&Â''t'á(U(Ñ)T)Ý*y+,,-.D/Ÿ1"2Ã4‰6\89Ž;F=F?JAB¥DE^F’G¢HI[JJJûKLK…KªKÅKÝKâKÕKºK”K€KŒKKuKAJóJ“JI‹HÚHG)F.ED BÝA¢@N?=°‡?½@‘AHAßBiBâC_C¹CñCöCôCÀCKB×B”B“BjBAÿB AòA{@û@ðA.AYA‘A‰AF@à@·@´@‡@@?Ú?¶?¿?Ð?»? ?m? ?>õ>Õ>¥>O>=Ë=—=å>H>½?Y?î@e@ÑA7A¾BDB^B„CD)EtFËGïHaHQH“IJJŸJ IÚJEJFJJrK.JøIñHïHÏIÃJmJÄJˆIàIH5HH«IñKûMSM:MÒN‘MÛMmMÝMùMïMLXJ{HœF CB@Ï?h?>S=n<Ë;ë9§7±8Ê:†;¨<*=>>ˆ?\?•?±?ó@P@üAŸBiC;DãGgJLaMåN«NËN_M¸ML¬MHNIO:O½PPOóPPLPâQ—RJRóS©TdUUÌVuWW‡WþXYY,XZV«TpQÆO0Mú<ƒ9Í715È3q11.M-Ü0˜/Æ/d.B-q-w-ë-Û--5-ß.Ú/¤00r0°0,/d.C-3+¼*R(õ'}&3$Õ#–"* ©4Ï|2õÝùJ¬%ÃÎ#tÏ1©,±7Å]¸q+ýÕ² !;!ï"‰# #¥$&$¡% %v%Ø&.&{&º&ñ''&ù&µ&_& %È%¡%š%§%Ï&&c&È'2'¦((™)&)Ç*+‚,¤-ý/t12Ï4 6a7ú9˜;|=ƒ?kA#B¨DEYFG‹HrI0IÒJZJ¿KK;KdK€KŠKK‚KcKVK\KqKrKZK$JÓJnIøIhH¼GñGFDëCÌBœAe@>•=;·:„9“8×8F7æ7¾7Ñ88#8 7Ê7_6õ665–54o3Ì32{1Ù1M0Ì0M/Ç/<.¾.Z.!-þ-ø-ä-ß-Ï-Ø-ñ.:.|.º.æ/ /.Õ.U-Ð-•-y-æ-ý-Õ.)-ó.™/j2H5Ï7U7·8æ9@7í604£351Ã0].å-},*·)@'ß&h$þ#"& »BÐs#ΓfC6JuÕRÝØø,†ýJðëâÕÀ°®¡”{ b!=""ç#º$„%Q&&Ð'€(1(Ú)y**±+>+³,0,Ì-¶.ö0›2m4€7+9A:H;W=*?1@(@¿A”BB‡CCVC­CàCèC¼C^CB·BÌC BñB—BvBžBòBÌBAšAºA»AŒAtAJAdA‘@÷@Ä>=4u?š@,@@+@šAAªBRC?E)G÷JvL5L×LæLƒL%KåKÔLœMÜO-P'PÂPúQPóPÊP—PŽPäQˆRDSSõTÍU VdWW»X„YY†YÑYÿY¶X½VûT¾R™PñOýOJN–NMÄMÔM¸M5LFK}KŽLZMEM)L1KYKJ×JzIìIkIJIKItIÔJJ2JbJÏK|KñLKåL LõNQO”P,QhSÔW Y:Y¯XöW¹WVŸV UuTuRÆQfPŽOøOL¬IØGÊEºCÂBDA @‘@¼@·?ª=G:k7}6 43.3>0Ò0—2'0¦/„.ï-¶..ß.;- ,D,',ñ.õ0!0A00 /Ø.Ô-Ÿ,@*£)O'É&U$ù#£"H Á?Ëm$ì×ìGÂ^ YªûWÁ=ÂEËOþ­eÞ´x = à!|" "##$ $z$á%=%Ž%Ö&&F&h&e&;%õ% %V%%$ÿ%%I%%ã&G&¶')' ((¬)_*>+R,•-þ/ˆ1834Î6w89Ï;Ã=¾?”A7B´DE\F{GvHPI I£JJ~JÃJ÷KK-K3<Þ;:R9d8¥87Â7¥7Â7ó87ú7²7O6à6s6 5“54o3Ô3&2ƒ1à1V0Ò0W/Ò/B.Æ.Y."-ý-ú-í-ð-ç-ç-û.9.„.Ø//A/,.ã./-Ð-¹-»-Ö.-Î.I.3-Ð-Ö1÷6½9+:1:”:8³75n42¥1@/×.€-+É*q)'­&X$ø#¥"@ Ö€$Ú•h3 Rœ T25W›õs·ƒQ6åÕ¬“p O!!ì"²#$D%%·&g' '£(;(Ó)j)÷*x*ò+,l-©/31 2Ð4Ô8#:‹;O;Ã=B?m@L@¬AÆBLB’CC;C¨CêCÒC™CC|C:C>CRC0BõBÁBïC‰C”BàBiBwBhAöA“AÆBXByAf@ž?Ý?…@5@ª@«@_?ô?’?>°>Î?:?·@b@ïAˆAøAÑAƒAÒBnBÔC%C`C–CñD/D=D C×D²FÛHºIÆJPJ”KK¿LGLuL°L¬L6KÉL M LµJ I I4IæJ/JPJ†JqJ'IÅItIGJ5KËM™N¿NÇPwPÓN¤MýNpNÛNLeJêHóFÌECjAË@f? =ç<©;Â:t8N8¸:ˆ;È<=ã?±@r@p@<@ŸA;AÜB]CdE7GêJ6JØJ‹I¼IHÐI¸K€MNvO^PP»QAQœQÂQÌQ¼QsQ9Q#Q†R?ÍA_B×D/EbFyGhH6HäIxIëJAJ|J®JÏJÝJçJàJÒJ×JøK!K;K0KJÒJ„J&I¶I.HƒG¸FËEÀD›CnB5@ê?‘>¼?µ@>BB^BJBeBìCÝDC›CˆCŒC¡C_CB±B}B½CAC¿D–DšC¡CLCfBóAÐ@Ô@ÍA“ApA$Ah@7?·A&BBA“@»?Ä?&>…>a??³?ø@„B CÓDCC¥D3DƒDˆD£DÂEE?E3DñD™EAGXITJ€KlL@MMÈNMN[MÙLçKøKäL‘MLJCI–JJ€JƒJÒKBKfKEKJ£J|K†MdOlOúPDQüQJNÌN8N¹O/N"KøJ+HE«CÏB_A4@.?=ž<5:Ö9v8¢9…;P<;=>õ@j@ß@’@A=AÒBtCFE4GßIºI¦GÁF+F¡HWJFLÃNüP OÛO}OåPÙQ›RRgR‘R‹R4QêQ´QèRhS*T*U$VVäW«XhY'YçZ²[q[ë[Ô[Y¬XV÷V USËRdQPeP P­QÁRPR%QtPOCMóMLwKîKJ9I¹I•I¥I²IµIÏJEJÆK€L=LÏM M$M†M²MÃNcO¿QÕTEVìYkZÈZ¼YNWžVBUoU3TÜTWS’SR^P²NLKˆIRGEÄD2BåBArAbA¡A´A7@>Ec@AšCDMEtFxGZH HÀIII²JJ9J]J{JJ‘JŒJŠJ¦JÜKKKJÜJœJQJI–IHeG™F°E§D…CFB@¾?j=ç;à: 9"8ë8È8Ž8<88887ì7¡756Æ6a6 5 5)4ž43`2¹2 1r0õ0}0/†/.Ž.6-ý-í-ä-ð-ô...J.–.ù///(//.Á.M-ð-ü. . .w/Î24À7g9=9Ñ:˜;H;9ï8b6î5«4\31Á0v/)-ï,¯+u*7(ø'À&€%B$"Á!Œ Y$àǼÊé&…ù‘8ìö*yåcïŽ7ð²yFáªp - ê!¢"X# #±$Q$Û%f%è&i&ê'm'ë(v))õ++,¬.f0=23m5Œ9;Õ= =M=€=é>—@#BYBwB#B®D3D¥DOCUBËB²BBtBLA{A@BBCŽDëE¡DaCSC¾C¹BŽA#@Ã@Ì?ô@¹AA? ?SAÅB°BcA·@â@E?€>ª?,@ ?¶@BêE.EŠEþFKFŽFvFF8FáG4GFåF¡GHµJKjKÕL LoMMÊN!MëMpMOM¨MQL.KJØKFKpKcK¬KíLL$LKòLvN6P½Q—QmRÅRfOËN°ONOÂN·L4IåGÓEAC6Aä@Ë?é>m<®:9/8ý9õ;›ç<Â: 8Ã7<4Ö4‘4L1Ã/h. - ,é0~3Ù5²6(1ã1,3Ÿ42ì1v0:.?,*º)'s%¾$"i ¹õJ™¦o~𬥥Õ-¸9»;­4±@Ú…#Æj /Å U ï!„""Œ"þ#Z#§#ñ$1$h$‹$”$|$S$.$$$/$P$†$Ì%$%‰&&†''Ê(…)k*r+­-.›0?1é3Š5.6ð8ç:ë<å>¿@jAöCbD¤E¾F¶G‹HFHÝIPIœIØJJJ-J6J5JOJ…JÇJíJõJÚJ JYJI¬I3H¡GáFýEéD¹CsB @³?r>=õ<æ;G:9w8¢8%8983818 7Á7U6Ý6t6#5Å5P4Ç423|2½21l0à0i/ö/p.í.y.#-ö-ë-ù-û. .0.c.Ž.Ö/ /-/3/*/.É.S..P.K.¡/Ê2ˆ4ù7U919¿:ƒ:ó:¤9ã8…7 5Î4Ž3/1á0ˆ/8-õ,´+u*6(ý'º&€%@$ "Ì!– m=îôZº5Ë„N@S’õkø‰3ãœ^å¥f  Û!"?"Û#u#þ$€%%|%ÿ&' '©(Œ)¼+H- .î0Ü2„3ô6…:<4=2=¯> >?GAŠBJBzD`FE8D3BßAÖA÷AÎAyAL@êA.B£CêDÜEHD[C÷CôC~BªAÂA=@Š?ƒ@d@€>3>ABdBsBAûAÆ@¼?º@–AŒ@æBE8FÒGFH€HÞHâH¦G£G‰H¯IHØHÀH§I1JŽL'MMLªL{L·MM¾N‹O ON½MÐLÃL9L!L9LKLKLTLnLŸLÉMMbN…PÞRÍR¬RÑS£RPMOeP POALiJEHbEçCÊBNAx@@> <; :n9á:Ô<<Ú> @HA˜APAMB)BÿC´D\EëGÀG E‰E“HÍK³LâMôPCRRÜR\QàRRS‹TLTgTSTSÃS8RÊRwRrRÁSzTuUyVfW^XeYƒZ°[ê\Ï](\á\+[ Y¤X5V³U,SœR0PæPO£OÊPPOØO4NdM´LóKþK4JÒJ²J§J\JIâJJhKKàL¬M‡N;NÂNÝOtPP…QqT6X*YøYÂX´WˆUšS¡S>SÉT`T‹TTT*SÏQ6LSHEDCBŠBsB¼BôBèCBàBšAÉ@K=Ñ:Â8Ü7A6,6{5œ2 .Â,,‡/%2Þ5r5µ7o65Í3X3\3v20š.¹,ú+")u'¹%ç$,"c ¤ÎT°"̰ç!\´>Ø`úrþ{ Dãmý‹"»Wó Ž!"!¬"#"Œ"à#&#f#¦#á$$ $#ò#í#ñ$ $0$a$¨$÷%Z%Å&H&â'“(R)"*+8,‡-ñ/w0û2‰45Ã7¤9š;“=t?0@ÌBMC¤DÐEÓFºG}H%H©IIZI„I£I¿IÏIâIöJ(JlJ¨JÌJÊJ§JfJIÓI…IH„GÈFëEãD±CcAñ@‘?R>”>)=<À;ï;C:6928á8´88*7Ì7^6ì66?5é5„54r3Ë32^1¦10“0/Ÿ/".«.R.. ..!.6.?.‚.À.ñ//;/9/.ø.Ô.”.€..ˆ.ä/ð1;246¯8(9þ;{;]:i9*7ä6›5m4!2Ñ1‡0B/-Í,+g*8)'ç&·%‘$g#G"!æË¾ÂßiÔaüµ‚žÚ6«-Ã]®\¾r  Â!Z!ò"w"ý#w#ð$c$Ù%[%à&Ž'e(¢*&+æ-Å/©1w2þ4]6Ç9Ì;Ø=!=Ï>]>È@ AOAÎCFLGDÂCeBIAiAØB&BA×AöB½DcDÒD¨DaD+DACÃC3BˆBAQ@N?Ø@? >B?¯A©BÛBÚCsDZCA@ÒA!@ºB¤EÿGÖH·J!K KJ’I.H¦IýJÍJæJ£JJZKLëM¯MÞMÙNNMNƒNÎOON­NMMOML÷LéLñMM2MKMqMðNÜP¤S-TS‚SáT R£PÅPVQ Q+ODL¡KIFÌDgC'BO?U<ƒ<È>=„<ü<þ==š?\AYAŠAeBCDfE-FÂGáF/DJFI^JpK7M‚PMQ®Q¾QPÞQÜS“TùU¡U¶U‘U-TSÏSBRüS STLUWVgWdXYÄ[\N] ]<\Ù\ZƒX©VæU\S´QíP€O¡ONÛN¶N–N˜N1M®M5L£KØK8JýJíJÚJ–JZJJJjKLMQN,O&OÏOèOõP P0PèTOWÌXõXBW}UéS£RxR­S•TT^T'T2RtMÃIBEÏCwB{B8B›C$CGC@CBÎB¦BBAE?< :a9 8W7m51Ô.r-—1×5Ó846á5±7š8E6‚4Î4,2¡1k/¡-¬+Æ)ú(&&;$^"s •¯Îï2xü­FˆåJÞŠ!ÄOâaªEÐVåzÁc  ˜!$!Ÿ""U"™"Ú#!#a#Š# #¤#¨#Á#ë$$Z$Ÿ$ó%Q%Á&B&â'¤(q)I*@+Y,¦. /‚0û2y45¿7¢9›;›=w?9@ÙBOCD¶E¶F‘GPGóHoHÄHúI#I@IaI|I IÏJJbJ—J¯J JwJ-IßI‘I?HÍH8GuFwEUDB³A2?–>W=Ç=ð¾±¾õB³3Ä]÷—7×w œ!!!¤""‘##x#í$r% %Ò&Ø(;)ë+Å-²/†1F34y68‚:}<5=P=û>ù@AWAQCFyG$D"BÔBHAÞB©CCOBöBöC¦EDEºE~E0DÁD`DCþCCB&Ag@µ@K?Ä?X?ÀABóD=EªFµE‰CDAÌAkBC‚EŽG^HžJ…L²M/L%J»JtKLL°L?KƒKLWMDMíNNN;NQNxN³NêNåN­NQN-NM¼M™M™M¼MþNl=2?²@{A#A‹A¤A¿A@£AA/AÏCDDùF%G$EõCB©EƒGzHŒK5NdOùO0MÍM{NSPR:TV<³:7á6N4j2î1ã2ò7¸:f7þ7@9 9R7 5’4Œ3 1Ý/÷.+õ*(C&\$i"| ¥®äfé kÔ>¹?ø Iå| ®Tàiêy²^ž 6 ¼!,!ˆ!Ð""V"§"ë#!#>#V##µ#õ$:$$á%@%®&+&Ç'(R)8* +,J-/0g1Ñ3Q4î6º8˜:‡<]>?ÎA:B›CãDþEæF¤GAGÇH*HwH¡HÇHæIIFIxI¼JJPJyJŒJuJDIÿI»ItI$H½H GhFzEdDB¹As@FAeAøD9FÞFçE.CÆC`B•C:C†DDDFE4FnF°F–FEvDÙD`CïC™CBtAúAŸA\A@À@ºA»C½EÿGäHàHªF¹DD²FGG™HrJ¹MšNžM¯LL‹L×LëLËL˜L•LÙLúLÿMFMMßN5N”NùOOÿPO½O8N´NVNIN\NN©NïO OTPIR…UUÅU3UüV T°STR±S®SûQÖNþL¡JƒHDBøA_> > A‹AsB#CfD„E²E^C?AUA"BFC†DžEmFÍEÓB0@ÊC…FHŠK™NqOBMÃK¹K¥MJOPÐSU›WcXUXdWÔVËU½TúT£T™T©U*VW{XÓZ [[º\)\¶]]1\šZ´WËT¶QäOîNðN)MhLáLÇLñMMM—M´MžMGMLÕL´LuLK¸K†KaKK K¬MrO'P>Q0QdQ®RÃS0RÅS1VX4XBW0U»TnSLRòSDSëTT1S±QL,GbD#C!CCHCC?CBÛB¬BƒB¤BAU@P?”>:|7X6K6Þ7331ü8ó<;;¶;ü9Å7 5”42œ0Ñ.Î,œ*’(¦&¦$¤"“ xsYuº>9³?ÃPé©Z ¶a³CÏ]ëˆ+Ô~° 7 ¦!!O!—!ã"="‘"Í"ø#.#t#Æ$'$†$è%S%É&U&ù'¸(ž)š*¢+ª,Ó./ƒ0í2b3ù5ª7z9R;9<ÿ>Á@CA°CD1E1F FÄGDG±GøH0HVHŒH¾HûI9IƒIÖJJRJhJcJ8IþI±IsI+HÑHKG™F­EšDTBñA~@>l<;|;:‘9ß9<9 8ü8õ8×8‚847ô7”7-76Š65ï5g4•3¼32†1ý1Z0í0o/ý/Œ// /™/¤/!.Ú//W/\//ˆ/p/L/6//3/m/Þ0Í2.4/6Î9r;A<$<Ü= BÂDEÈGµIWI‘GÏFYGzIHùHÂJLCNNNúNµNVMãMuMjM¬MñMÑM!LSLFLÕM’NyOwPHPçQjQ“P×O—N®NeNˆNžNÅO'OËP+PeQ`SžUãVEVNWsVèU¢TÞT£TáRÍO€MÌL-JÂGèDIB‘?Q<@ÜA¬@ûA A¯BNB»BÛAÿAPAæC]DÆEOF‚FëBØ@*BÃFrIL[NîOÖON7N±PLQèSTUUÀW*X\Y.YDXµW®V¬UÍU^U.UNU®V°X!YÎ[,[ï\\H\å]/],\7Y»VMS#QOÜNßMèM)L©L¬MJMîN]N˜NµN¥NMMãMlM L¼L’LbL#KñLkN2OÓP—Q>QWRvT×UÛT£T1V{XWÙVÈUíTëTS©SÎSÚSùSàR·O©JôFuD6C÷C¾CóC’C8BÃB‹B°C B­AìAZ@ý@t>Š8¢4€6j8‘9Â7=8É=é>X>=:­8=6=431K/#- *ê(å&Ë$Ð"¥ žoW3::e¹­•¦7Ëo0æŸZÄcú„±NøžDßiä J   é!A!£" "U"˜"æ#@#­$$‹%%~&&œ'T($)*#+7,X-ƒ.Í011¥3-4Í6…8N:;â=‡?5@ŠAôBÿCßE[FH=}<*:ß9¹8«7ˆ6Z5-42×1³0‡/l.I-5,%+%*")-(;'K&W%d$j#f"s! ½ VÃ@Ïo äÆºËë"jÂ(Œÿiá N Í!N!ã"–#‡$·&').*À-F0µ2c34E5Q5ñ6Í82:;n< <¯>B@æC³DÕC”CEÞG÷GÐD C÷EOFF¬GG[GÀHGÈGVFûF˜EÓDäD C„COC_C{CHBÚB›CC”CóDqEdFxG0GiHIÄK/K=JÁJÞLJN;OO5O@NéN•NÃNùN›M¥LcK£K¿L$L~MMÚN±ONOkO@N½N9NNLN±O OUOæPÕQ—QâR¤T¿V¯WWèY WÃVŸVQVkUäQ×M—LÒLHKCIïG@CM=å<-@+@?Ž?Í@ƒ@ðAsAäB B2B»D¸FFG²G|BÌA‚EHgK{NìQR9RrR’SSÒTÒUÂV¥WoX6XÒYRY_YXpWµVðV)UuUU;UßWY[\—\õ\ü]®^p^\]=[fX÷V}T^RŽPÊOMíMlM½N­O–P PNP‚=Ï=P=`<—;:C7ù64×31N/&-++)&Ü$Ö"°  mN56:U¬opœ8ØMÏ“>ß~§Cá…)ÆXÞZÁ  u Ü!N!¹""q"Ð#C#Â$D$Ï%Y%ä&†';( (ù*+,M-{.´01n2ñ4ˆ6.7à9’;E<õ>}@A(ByCCEDaEñFóGiGGÆHHHH‹HÏI IUI”IÓIüJJJIÛI§IsI=IHºHDGF¨E DhCA¥@S?=¾<Í;ç;+:@99*8ñ8¨8.7#78È8ž7‘6ö66”6U5Í4«43Ø32×2¡21X/Ÿ.š/ä0_/Ø/™/%.Ö/2/~//¢/“/–/¿/½/Æ0d1¦3Ç43š6†:oN><Ô;k:N9Z8G7&6 4ê3Ï2²1š0ƒ/l.`-N,P+V*j)‚(¡'À&Þ%ñ%$#0"`!Ÿ í P¿DÍeФ’‘¨ÊD–óXÍ D Ò!l"1#$F%–&ó(T)­*Ç,¾0¨2Ñ3¡4”5¿6Y6ý8Q:;w<Á=ª?6AÆCÔDCÈDEH¯I•FEpEþFÚGÄH H"H'H#GôGðGáG©FåFE4D}D DDED"C‡BÓBÓC'CACCLCñDùF =3> >Ù>î?†@äA°BšBüC.CDD FfGsG»I¢H—4p49&²=p=<´;ª:G86~4½2ÿ1F/-$+)#&ï$ì"½ ¡v^KK^l¿gÓ÷x  Eóªm7õ¤Rí‰%ÂdŸ9ÐVÕ@Ÿ  }!!y!ç"U"Ò#]#ë$‡%%¸&j'$'ù(ê)û+,J-~.¸01f2ã4u6 7¥9B:å<‡>?u@ËAÀBÑC[C¾=H”>í>O=+;ë:å9ö8ï7à6Ñ5Å4»3¬2£1–0ˆ/.y-{,…+›*·)á)(6'`&‡%¨$Ï#ø#,"}!Ó!? ¾ AÐdÁŠkag„¯î:   !@""ñ#ÿ%9&'Ð))ò*n+.,Â/%1Æ3™5&6*78Ž:€<{>X?Ü@£A—BOBSCE„FÈIKJZHŠFùFôGÛH¤HéHÑH“HYHBH~H H‡GøG,F;E`DÅDƒD“DDCjBóBÉB‘BHB~BîC§DÊF GHIîL9NOPæQ PyOÿOœNÚM¬L LWLCKôKØKÙKûL0LnLªLéMM7M•N/NïOIOPO{P7Q(RRÄTTéU*VŠW¶Xô[[-X§X"XWûWˆU PÝNÁNÞNmMZIC¶AgAO?…>Ô>ó?ÑAáBçC=CåDŸD·FTHÙItIóK=IFGŽI¤K×P@T_V W¢W W!V`V*V¥W)WÁX“YQYµYùY¦XýX;W´WAVÍV'U[TÅTžUPV°Y[¥]€^e^º_6```^ø]•[}XØVS­RTQÑQÏQÂQ›QQ‘QRPÍP"OsNÙNRNNN:N¦NÖOeP‰Q–RpS®T`UAV´VˆV+WWíX-X WLVSUèUeTTT3TUSóRFNtJ0G*EìFG=HGÐG,F^EÅFFiE5CÕBBA³AÅ@i9l8D<‹>q?€>r=‘<°;Û:Ï9š86Z4Å31.ø-)+7)+'$ô"È ¯†nps…šæ³œŽ´_Õ”Q²Vöš9×v¦@ÈF»(ª 9 Ë!Q!Ô"\"ê#‡$0$Û%‡&F''ê(å)÷+,I-….Ð01o2Þ4g5÷7‡9:¥<5=¹?,@cA‘BtC4CÇCîDE%FôGÏGøH"HsHõIEI‡IÆIÏIÒIôIÿIóIÏI»IËI¥IaI:IHÇH\GÑGF>ECÅBX@í?å>Ð=h<8;:L:p:-9’99@:k? ?T>Å=¤ Î l Ê“k^e{«ð T Í!k""ù#ø%&E'x(®)Ü*Ã+5+À,Ø.ê1}3€56c7«9d;­=Ë?Ä@úA@¨@i@ðCEýGùIÀJ¢J HÝHII~IºI‚HÿH˜H˜II}I‚IHG FWE²EDÀD“D,C`B‡AîA¨A¼BPCC¸DbEJF4FéGÃI•L?N°P‰Q&P©OÝNöN MiMFMxMkLñL€LwLÂLÕL¹LŸL³LèMUNNñOÓP9P[P™Q2RSSàU.V V)VøWÊYˆ[ø[ŠXµX´YjXyX+UïQªO¾OùO¿NºK@F,D-D,B@˜?Ì@ÀBcCŸD‚E¢EíEåH­KdKªLLûLK×L²K–L¿QÚUþW£XNXoWçVãVXVlV¥W7WýX¬Y9Y¡YžY"X6WfVÇVBUÖU†U5TáUUêWÒZb\‘]á^ˆ^Á_$_×_â_ƒ^Û]T[X„V1TZS_RêReRRR3RCRQ†PºOÆNúNuN=NvNôOtPQÝRæTUšVpVØWWW!VÐW WÀX2X#W…VœUóU„TçTSÕSÿSÌRÐO˜KG†EèEßFˆGGØHˆHGGGE{?Ë>Ó><>N=Ÿ<Å;ä:“987¼64¢2Ó0ó/-++6),' $ö"Ú ¹¡‘•§´È˜¬_– .Íy/âžRý«Qù=Ùw¬>ÄAÀY   !;!Ó"t##Ó$%I&&ø'â(å)ô+,S-”.Ö01q2Ü4U5Ü7s9 :< =|>Ù@4ANBCC(CÈD`DÕE$E§FˆG‘HH/H?H¡IHIÁJJJJCJ=JJ IðIàIÈIiI$IH½H_GîGgF¢EœDXBîA…@j?A>+=#;^:B; ;Ï< <–=á?X?¯>ÿ=‘<ü=Ö>H=¸<ú7?^?…?=ö<¾;ß;:/9<8L7_6m54’3Ÿ2®1·0Ä/Î.ã-õ-,B+y*»)÷)@(ƒ'Å' &P%—$ì$I#°#1"´"K!ä!†!9 ô Æ © £ ³ Þ!%!Š" "«#g$I%B&_'(¬)ê+#,o-g.u01†34›6M7¼9$:ÿ<Ô=ú?d@ ?Ú?C>ü@ÁC¼EýG¥InIJXJfJ4JKJJiIÜI;HõIUIâJ$IÒHÆGÖGgF»EÎED€CÊBáB7BBlBÉC)CCíD¬E¬F‚G$HVJƒMOOWN0M:MMwMñMåM¨MŠMMMXÑX™W‰V6UgUIVVýWŽWôXJX‹XuXWqV¥UÌUYUZUZUIUzVmX‚[\ž]«^c^–^^‰^¨^¤]¦[¥Y`VìTÝSžSRÚRðSSGSRqQCPO&N€NmNöO³PûRÃT4U÷WµXIXiXdXWÌWÆX X-W»W VfUÔU/TES¹SˆS(RXO„K6G‚EŠEZE^FGžGÔGTHGºEBCdC BãB2C@AÄ@>A…@ó>Á=Ó=%‹?ÑAIB‘CkD,D¹ETEùF{FñG“H6H{H—HÍIsIõJ3JZJSJYJ?IÿJ(JJIåIpI6HîHˆHG¤GFD¬C5Aµ@=?$>Â=²ž?v@@ÇA/@Î@$?±?§?§?O>Ó>~>d>‚>}>`>^>:=Ë>>ñ?U?=Ó;Ž:§9C4080à11¨1¥1;0µ0¸0³0©1d5e9¤<Ÿ>€?Ž@f@H?w>5=<1;g:}98˜7¨6±5¿4Î3Ü2ä1î0ò/ù/.->,l+¦*â*$)j(²'û'G&‘%Ü%9$£$#¯#H"÷"¥"k">"+"3"S"›##’$:% %ü'()8*†+É-.‹/á1[2ã4L5Æ758©:7<Á> >#>¦>>>N@BCKEF}HGâIDJXÑX˜XpX?X W°W8VžUôUVTŸSØS_RÛRPHLÓHÊEõEBE4EFWF¹GGíGlEØD¬DµD2BuC€C@šA@n>í=²<Ð;Þ:Å9œ86½583¦1Ñ/î.,)Ì'¦%d#3!Ï«›Š}œ6Mô só(Èt(å£g%êœV³cÀyR- ß!¹"”#u$e%Z&_'p(—)Ã*÷,D-¢/0p1Î3/4‹6 7¤9-;3=>û?ëAB‡CáD}DñETEìF¿GXG·HHŽH×I(IƒIúJIJLJbJQJOJIÇIæJJ&JIÎIIH£H:GæGbF™EtDB²A[@]?Â>á>+>Ñ@ AAØB@Æ?Ð>|=V<¥;ð; :09I8i7„6œ5²4Ê3ß2÷2 10,/@.f-™,Ñ,+]*¯*)\(µ('l&É&,%¦%1$Ì${$6$#Ö#È#Î#û$K$º%J%ù&Å'›(ˆ)*’+£,–-È/`0â2c45|6€7t9«;]–@þCdDËEÖF¾FãH/I¥JâK“K”JøJ,I—IJJJ¡IóI#H÷HûHG»FÓEýEUDÚDmDZDxDDqDKDUDŽD×DåDãDñEsG0JELíMSL¨LQLPLML˜MGMÁMÅM)L_KêKÎL LDL>f=k<†;I:.8â7œ6f4ø3‘1¹/õ.,)Ø'¨%s#F!ïÓÇÌÄ·Î[[ãÊgâs­XПa,ìªgØ•iSPG ;!." #$%&$'A(h) *é,--t.Ò0?1œ2ú4†67s8#8ê<6?¦@#@[A·CvD¸E?EšEÞF6FúG¸HHiHÖI$IrI»JJ*JJ5JIßIžIxIÄIÿJJ JIéI”IHkHGÄG{A¡BgAóA@>´=µ=âAÓ=à<Ó;À:w9L7å6«5=3ý2]0¯.,€*T(%×#˜!SòÜÓ±‘¬EOÛ¶Ø$‘²UÑŸxO#öË~p{—»Ù î"# $%=&j'¤(î*U+¾-.‡01Z2¢3÷5c6Ú8`949æ=Ú@–@@sC*EEŒE¶EôF FPGGºHHƒHÑHîHÚH¢H¶I.I£I‹IAII7I¶IöJJ IÔI¢I^HèHmH&GÇG EíDçD8C£CB@i@TBC8CôD?DWD9DCèCªC-B¤B£BÉCID6EE@EsETE$DéD¼DïEDùD¡CûB•=+6N4·4Ñ1Ê/¢.ê.,.«2…8˜=ŒA;BÏBØBA6@>Ù>=o<Å< ;::s9£8É7ï7 6-5M4p32«1Â0â0 /D.„-Ð- ,x+à+N*Á*8)³)%(œ('¬'R'&ð&à&ß''M'É(d))Ù*Œ+J, ,Â-N./001Ã3}4¢5d6z6å809²:Ï;œ<¢=m=®>¼@šBtCÍDÁE¤FÍH9I¡JÔK;JðJtIýI¯JJÔKqKKJ¸J®J}IÚHþHGiG FóF†EÿEwD¶DC®CªCÓD6DÒEpEÛF$FùH@IGJJ¡JÎKKK5KJÑJ¬J¯J»J³J³J¶JîKjLM N»PLR SÍUKVHWWÏXXœY9YXYBY§ZoZØZ¢ZAZY/WTERPÖPOÙPAP‡O*L,I`HƒJpNQpQ|N†K\JKÒMñOtQÂUWÝY}ZYVŒS^Q0PyPTP PP¬QnRˆSvT.TITBT@SíRçR-R¦S¿TUcV²X(Y9XÎW€V´V³WW„W€V4TƒSžSmSÈTTT¨TºTtTS‹SR§R=RQîR¶UDW…X¥YWYvY~YkY3XõXÙX®X^X WýW®VÒVUyTuRÚQ¢Q†Q¦PYMàKyJPIGÿF¦DÞEÈFèF1E&D©C¹BUB)BAä@9? >V=X6°8ø;…<`=¸?º@ @ÝCÒE™E¥EEäFF3F»GSGªGÛGåGÁGXF­F\G=H‰IHþHýIJJ IÔIÀIIjIWIH©HHGÆG*FbEðEÙE_D±CÑB9ì::]74X21-4-9=v@ÈB½C#BÎB'AO@0?%>k=â=@<’;á;":W9‘8¼7ê76:5a4‡3°2Ñ1û1&0_/§.þ.S-°-,‹, +Ž+*›*%)¡)/(Ï(†(Y(E(R(u(Ã)7)Ó*”+J,,²-a-þ.2.r/©123e4%45Ô6×89„:’;„<·=Ê>n?U@xAãCcD{EFÕHVI˜J}JÈJËJJIËJ1KKßL>L6KöKÃK†JúJBIhH¹HnHMGìGGFTE'DOCüCëCüDQDÞE·F‡G G:G1GBG˜HHUH‡HÖIf=Í<û;å:›9c86ó5Þ4ï42Å0ê.¨,˜*c(N&#ù!Éš‹‚„bC`þáÑì5›$¾wD"=wÀY Ý"#%$M%€&Â( )c*Ð,V-à/w0Ï2œ4¢4ÿ4y5]7­:;= >S>ÿ@S@ÏAYCÔE¦E/DÆETEÆEüFAFžFëGG,FøF—FE–FGNH\H¸HÊI¤J.IÉIIyIúJrJI¸I(HiG²GJGFýF÷FuEÚEEDdDeE3E£EøFl=Ý=:Ý8ƒ6«6Ö:}?AuB…C!C,B½BAC@[?„>Þ>P=¶=8?b@^AAíC5DEE]FÔH@ItJ|>=©=)ð|,õÚÖèK˜çGŸø @!{"¡#Ç$ñ&,'(Ó*0+-.¬/¿0ˆ366m6R4ý669x;z=>Û??Ž?ú@ËC[EfDžCCóD¨EE.E‘EÜEúF F%F3FEõF&F¸GlGöH2IIÚIdIJI™JJJeJ IfH‚GÅGuG…GqGcG.FæF•F@FKF—FÙG G+G+G GF÷F©F3FF~G G†HHGÒGjG!G&GOGwG)F™FECBQA6?Ì> <7;:~9É9¡<‡A CSC×C¯C_BÓBAI@‹?à?]>Ê>0=›<ü<];±:ý:E9Š8Ã7ý716h5˜4È3ý322s1¼1%0”0/r.ë.s.-£-D,é,Š,%+¿+f+*î*ã*þ+:+}+î,œ-Š.x//©0£1¾2Q2u2ä3ž44C4’56Ê8ž9ª:à;þ=!>Â@gA°BZBëC§D}EŠGEHVIgJBJ¬J¨JvJEJXK8L]MMiMŸM¸MxMLoKàK^K JôJ¯IãHE°DDVDLD‹DøE™F*F|F~FJFË>=^<é;p=v>N>h?Y@#@§BšDÍD]BáBzBéC C:CQC#C*C¾DÅE´FFÆFóFÇFÝHJLJÃHäH1HõJ+J‘J=II'HËH0GÙG¥GÌGâGÑG¤G¢G³GÏGÚGÝG×GËG«G^GFýGnGüH‚IIZH÷HoGãGGÙHHG¦FÂE7CCAZ?b=:®9A9B;·>@¢ChDjDHCÆC.BAÂA@y@?y>Û>>=š<õ4f32Ü26110€/ö/y/ .ª.S-ý-¢-H,å,~,5, , ,,, -É/?0B0Æ1^2ˆ3È4‡4ì5G5c5a5I5ú7Ö9t:§;ç=>§@†BVC…DQD©DüFGÄH¯I€JAJ•JrJ=JQªSwS×RÐQÞPëPZP¥Q€RbS©TËU/UIU\U_UrUŠU¦VV¨WUW¥WWEW?WoWÑXoY@YãZ ZYˆYYYnYhYX¶XIWÑW‘WSWVÊVÂVŒVoVlVTÊRÄQ9PJOlMÎK&I,HGßHšHF7EC©AÃ@?O? >’>5=><¶ œ!å#&$W%—&ä(>)­+c,Z+©,¢0¥3U5ˆ7º7×78@:“< ;î< =ž>ß?D@®CBC¢B$A@Ò@‚@??>„>Ç@èC˜ETF„G_HHJIVJþLvJÅG1FÒISK K,JôJÉJ¾IëHÈH6HAH¡HÜHÆH¦H™H}HgHVH\HEH.HGõH+HŸII¿JCJSIøIyIH9GÛH HTHQGŽFFDÊC @Ò>”=…=@=æAACÑDÐDîDDCœC BaA¯A"@¼@J?Ó?I>©>=[<µ<;T: 9â9!8[7ˆ6µ5Ý5 4H3’2ë2W1Ê1B0Å0N/è//=.ö.¥.I-ó-œ-C,ù,Í,¶-M.Ì0\1ƒ232Ù3³4£5˜6W6Ä6è6”6m7<8¬:;@<‡=Þ?nAABúDEEsEÄE‘FjHILIÔJ"JOJ#IòJJ¤K°LÜMÍNaNœNïO[OHN¤M¾MLËLÆL¬KôJG0EFE-EEuEwELDÿDµD§EEFAF°GGG6GgGÔHGHÊI]JJÈKKKK²LLOMNÛP³Q×RÏSÆU_WÖY³Z|ZJYgXçYXÿX÷Y@YÈZ|['[â\µ]]]Î^9^¥__[__'^‰]ì] [î[4[Š\Y[ÂX&SP OýPTOÀNÄNŒOoPP"P1OïO…ORObO¹PëRöSåS+RWQ”PØPŸQ9QËR_S,SïT”UU1UqUÇVV˜W`=Ç<‰A BA[@X?>»=´<Ç—=í=G<Ÿ;ø;L:—9å9&8c7•6Á5ô504}3Ñ362¦2*1³1@0Û0†0>/ú/´/n/".³.4-½-Ž./L0œ1°2¯3|414Þ5ƒ6/6Õ7S7v7;7r8y9”:¶;ø=H>¶@>AÐCDvEúF…FF‰HŠIæJ2JJJ IðJ J¹KâM MþN—NÈO OÊP OÍNÝMúMRMLûLaJóHŸF»FBF{FNEùEkDÕD£DÄEE’F,FFªFƒF€FÃGZH6II¨JHKK|K±KóLALeM N£OäP“QqRUSáVÃXÏYƒZYóYrY.YXôYYFYýZÞ[s[ä\f\þ]µ^d^û_z_Þ``_±^j\Ñ\\[¿Y˜TÌOÚNWOYP O NîO OÁPP)P5OõO¢O‚O£OïPÂRŒSÅSfR›QèQNPãQ Q¬R6R„S SêTðUŒU×V6V•WWÇX“XÙXµX›XÕYIYõZá[¼\[ŠZyYkXýXïXÆXNW¦WV©VHVUÉU±UºUØVVU[SëR‹QTP.NÑLìJ¤H„GÿHH˜G™FDuBÆA©@‘?B>$<ñ<¥<$;ì;Ù;A9¬7‘5Â4ø5`5º5o4/2z0‡.r,Q*3(%ö#Ä!‡uP)áØÐKß }‡¨êZùÒÌéc»6µ 5!˜"æ$ %%&9'Z(‡)u)ó*>*ü++„.'0î3 67¡77Î8,8L88-9;š=>I?î@Ç@¯?Ü?K>ô>=p=Š>@AïBACXE±HIŒJ J¿L“MkMM]M„L¹L=L L›L$KBJfIØIfI6II(I HùHÓH¹H»HÚHòHýIIgIßJeJôKZK†KfK7KJÔJ2H¶GFšGƒ=Ý=5<;æ;D:ž9ð998r7¦6Ü65W4¦43r2ö2~21¸1`10Ô0 0`0 /™/ .´/02181÷2¤3G3å4ˆ565æ6ƒ77“7¿7è8w9@:;L<ª>?i@®BCDoF%GFÜGIˆJ…J^IõJJ%J1J}KoLMÐNN€N›ObPYIYY Y\YÆZ_ZÑ[ZèZpYØY8XÓXrWñW7V˜VUŸU[U U#UnUÅUðUfTR×QÈP±OtMªK\HûGG|H GyF1DzCB@…?&>$<à<‰<&< ;Õ:Ø8¡6t4±45Z5g4ž3D1f/\->+(ó&¥$o"!í±h<:©5èºÀî*ŽÝÊâ aÔf !Ê#}%&M'f(l)}*+ˆ,],¯,·+Ö+j-Ì14"6A6Þ77}7¬7Œ7Ô9:ûw?u?¡?k@:@*>€=`<î<À=Ø?GóGÿGóGÝGÂGlGFnEãEMDÁD`CñC˜C@BâB’BKAøA›A:@Ô@^?Ô?D> =ô=L<¦<;`:º: 9G8|7®6Þ6 5J4™43~3 2©2L1þ1½1ˆ1C0ë0‡00 0Ø1™2?2Ï3K3Ð4n55È6u7 7†7ä8V8å9f9ä:Ù